diff --git a/.github/workflows/gosec.yml b/.github/workflows/gosec.yml index d0fed221..681fd61d 100644 --- a/.github/workflows/gosec.yml +++ b/.github/workflows/gosec.yml @@ -7,10 +7,19 @@ jobs: SOLC_SWITCH_GITHUB_TOKEN: ${{ secrets.SOLC_SWITCH_GITHUB_TOKEN }} FULL_NODE_TEST_URL: ${{ secrets.FULL_NODE_TEST_URL }} ARCHIVE_NODE_TEST_URL: ${{ secrets.ARCHIVE_NODE_TEST_URL }} + # Initialize SOLGO_ANVIL_PATH, will be set after installing Foundry + SOLGO_ANVIL_PATH: '' steps: - name: Checkout Source uses: actions/checkout@v3 + # Install Foundry and Anvil + - name: Install Foundry and Anvil + run: | + curl -L https://foundry.paradigm.xyz | bash + foundryup + echo "SOLGO_ANVIL_PATH=$(which anvil)" >> $GITHUB_ENV + # Install solc-select - name: Install solc-select run: | diff --git a/.github/workflows/goveralls.yml b/.github/workflows/goveralls.yml index 812d5452..e964097b 100644 --- a/.github/workflows/goveralls.yml +++ b/.github/workflows/goveralls.yml @@ -7,6 +7,8 @@ jobs: SOLC_SWITCH_GITHUB_TOKEN: ${{ secrets.SOLC_SWITCH_GITHUB_TOKEN }} FULL_NODE_TEST_URL: ${{ secrets.FULL_NODE_TEST_URL }} ARCHIVE_NODE_TEST_URL: ${{ secrets.ARCHIVE_NODE_TEST_URL }} + # Initialize SOLGO_ANVIL_PATH, will be set after installing Foundry + SOLGO_ANVIL_PATH: '' strategy: fail-fast: false matrix: @@ -20,6 +22,13 @@ jobs: - uses: actions/checkout@v3 - run: make submodules + # Install Foundry and Anvil + - name: Install Foundry and Anvil + run: | + curl -L https://foundry.paradigm.xyz | bash + foundryup + echo "SOLGO_ANVIL_PATH=$(which anvil)" >> $GITHUB_ENV + # Install solc-select - name: Install solc-select run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8e1615bf..d053356a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,6 +7,7 @@ jobs: SOLC_SWITCH_GITHUB_TOKEN: ${{ secrets.SOLC_SWITCH_GITHUB_TOKEN }} FULL_NODE_TEST_URL: ${{ secrets.FULL_NODE_TEST_URL }} ARCHIVE_NODE_TEST_URL: ${{ secrets.ARCHIVE_NODE_TEST_URL }} + SOLGO_ANVIL_PATH: '' steps: - name: Checkout Source uses: actions/checkout@v3 @@ -19,6 +20,12 @@ jobs: - name: Checkout submodules run: make submodules + - name: Install Foundry and Anvil + run: | + curl -L https://foundry.paradigm.xyz | bash + foundryup + echo "SOLGO_ANVIL_PATH=$(which anvil)" >> $GITHUB_ENV + - name: Install solc-select run: | python3 -m venv solgoenv @@ -35,6 +42,4 @@ jobs: - name: Run Tests run: | source solgoenv/bin/activate - solc-select install 0.8.19 - solc-select use 0.8.19 make test \ No newline at end of file diff --git a/.gitignore b/.gitignore index 20d273c3..6246389b 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ go.work solgo playground/* bin/* +exchanges_old/* \ No newline at end of file diff --git a/README.md b/README.md index 00125841..7dbe7388 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ Once I am confident that the project is fully ready for production, this disclai The SolGo basic documentation is hosted on GitHub, ensuring it's always up-to-date with the latest changes and features. You can access the full documentation [here](https://github.com/unpackdev/solgo/wiki). +**NOTE: Statement above is not true yet (lazy to change it)... Documentation is still being written.** + ## Getting Started Detailed examples of how to install and use this package can be found in the [Usage](https://github.com/unpackdev/solgo/wiki/Getting-Started) section. diff --git a/abi/builder.go b/abi/builder.go index 13a47fa5..e9d8b931 100644 --- a/abi/builder.go +++ b/abi/builder.go @@ -36,7 +36,8 @@ func NewBuilderFromSources(ctx context.Context, sources *solgo.Sources) (*Builde parser: parser, astBuilder: parser.GetAstBuilder(), resolver: &TypeResolver{ - parser: parser, + parser: parser, + processedTypes: make(map[string]bool), }, }, nil } @@ -124,9 +125,11 @@ func (b *Builder) Parse() (errs []error) { } // Build constructs the ABIs from the sources. -func (b *Builder) Build() error { +func (b *Builder) Build() (err error) { if root := b.GetParser().GetRoot(); root != nil { - b.root = b.processRoot(root) + if b.root, err = b.processRoot(root); err != nil { + return err + } } return nil } diff --git a/abi/constructor.go b/abi/constructor.go index 8421b3ce..a0568c79 100644 --- a/abi/constructor.go +++ b/abi/constructor.go @@ -1,10 +1,14 @@ package abi -import "github.com/unpackdev/solgo/ir" +import ( + "fmt" + + "github.com/unpackdev/solgo/ir" +) // processConstructor processes an IR constructor and returns a Method representation of it. // It extracts the input and output parameters of the constructor and normalizes its state mutability. -func (b *Builder) processConstructor(unit *ir.Constructor) *Method { +func (b *Builder) processConstructor(unit *ir.Constructor) (*Method, error) { // Initialize a new Method structure for the constructor. toReturn := &Method{ Name: "", // Constructors in Ethereum don't have a name. @@ -15,6 +19,10 @@ func (b *Builder) processConstructor(unit *ir.Constructor) *Method { } for _, parameter := range unit.GetParameters() { + if parameter.GetTypeDescription() == nil { + return nil, fmt.Errorf("nil type description for constructor parameter %s", parameter.GetName()) + } + methodIo := MethodIO{ Name: parameter.GetName(), } @@ -24,17 +32,5 @@ func (b *Builder) processConstructor(unit *ir.Constructor) *Method { ) } - // Process return statements of the constructor. - // Note: In Ethereum, constructors don't return values. This might be specific to the IR representation. - /* for _, parameter := range unit.GetReturnStatements() { - methodIo := MethodIO{ - Name: parameter.GetName(), - } - toReturn.Outputs = append( - toReturn.Outputs, - b.buildMethodIO(methodIo, parameter.GetTypeDescription()), - ) - } */ - - return toReturn + return toReturn, nil } diff --git a/abi/constructor_test.go b/abi/constructor_test.go index b1e7c058..b1832a1d 100644 --- a/abi/constructor_test.go +++ b/abi/constructor_test.go @@ -47,7 +47,8 @@ func TestProcessConstructor(t *testing.T) { } builder := &Builder{} - result := builder.processConstructor(mockConstructor) + result, err := builder.processConstructor(mockConstructor) + assert.NoError(t, err) // Assert that the returned Method object has the expected properties assert.Equal(t, "constructor", result.Type) diff --git a/abi/contract.go b/abi/contract.go index f05734c1..4d0dac67 100644 --- a/abi/contract.go +++ b/abi/contract.go @@ -2,6 +2,7 @@ package abi import ( abi_pb "github.com/unpackdev/protos/dist/go/abi" + ast_pb "github.com/unpackdev/protos/dist/go/ast" "github.com/unpackdev/solgo/ast" "github.com/unpackdev/solgo/ir" ) @@ -44,39 +45,56 @@ func (c *Contract) ToProto() *abi_pb.Contract { // processContract processes an IR contract and returns a Contract representation of it. // It extracts state variables, events, errors, constructor, functions, fallback, and receive methods. -func (b *Builder) processContract(contract *ir.Contract) *Contract { +func (b *Builder) processContract(contract *ir.Contract) (*Contract, error) { toReturn := Contract{} // Process state variables. for _, stateVar := range contract.GetStateVariables() { + //fmt.Println("StateVar:", stateVar.GetName()) method := b.processStateVariable(stateVar) toReturn = append(toReturn, method) } // Process events. for _, event := range contract.GetEvents() { - method := b.processEvent(event) + method, err := b.processEvent(event) + if err != nil { + return nil, err + } + toReturn = append(toReturn, method) } // Process errors. for _, errorNode := range contract.GetErrors() { - method := b.processError(errorNode) + method, err := b.processError(errorNode) + if err != nil { + return nil, err + } + toReturn = append(toReturn, method) } // Process constructor. if contract.GetConstructor() != nil { - toReturn = append( - toReturn, - b.processConstructor(contract.GetConstructor()), - ) + method, err := b.processConstructor(contract.GetConstructor()) + if err != nil { + return nil, err + } + + toReturn = append(toReturn, method) } // Process functions. for _, function := range contract.GetFunctions() { - method := b.processFunction(function) - toReturn = append(toReturn, method) + if function.GetVisibility() == ast_pb.Visibility_PUBLIC && function.GetVisibility() == ast_pb.Visibility_EXTERNAL { + method, err := b.processFunction(function) + if err != nil { + return nil, err + } + + toReturn = append(toReturn, method) + } } // Process fallback. @@ -89,13 +107,15 @@ func (b *Builder) processContract(contract *ir.Contract) *Contract { // Process receive. if contract.GetReceive() != nil { - toReturn = append( - toReturn, - b.processReceive(contract.GetReceive()), - ) + method, err := b.processReceive(contract.GetReceive()) + if err != nil { + return nil, err + } + + toReturn = append(toReturn, method) } - return &toReturn + return &toReturn, nil } // buildMethodIO constructs a MethodIO object based on the provided method and type description. diff --git a/abi/error.go b/abi/error.go index fa097349..89368d5e 100644 --- a/abi/error.go +++ b/abi/error.go @@ -1,12 +1,15 @@ package abi import ( + "fmt" + "github.com/unpackdev/solgo/ir" + "github.com/unpackdev/solgo/utils" ) // processError processes an IR error and returns a Method representation of it. // It extracts the name and parameters of the error and sets its type to "error" and state mutability to "view". -func (b *Builder) processError(unit *ir.Error) *Method { +func (b *Builder) processError(unit *ir.Error) (*Method, error) { toReturn := &Method{ Name: unit.GetName(), Inputs: make([]MethodIO, 0), @@ -16,13 +19,21 @@ func (b *Builder) processError(unit *ir.Error) *Method { } for _, parameter := range unit.GetParameters() { - toReturn.Inputs = append(toReturn.Inputs, MethodIO{ - Name: parameter.GetName(), - Type: normalizeTypeName(parameter.GetTypeDescription().GetString()), - InternalType: parameter.GetTypeDescription().GetString(), - Indexed: true, // Parameters for errors are indexed by default. - }) + if parameter.GetTypeDescription() == nil { + fmt.Println("PROCESS ERROR ABI") + utils.DumpNodeNoExit(parameter) + return nil, fmt.Errorf("nil type description for error parameter %s", parameter.GetName()) + } + + methodIo := MethodIO{ + Name: parameter.GetName(), + Indexed: parameter.IsIndexed(), + } + toReturn.Inputs = append( + toReturn.Inputs, + b.buildMethodIO(methodIo, parameter.GetTypeDescription()), + ) } - return toReturn + return toReturn, nil } diff --git a/abi/error_test.go b/abi/error_test.go index befecd24..12fc5351 100644 --- a/abi/error_test.go +++ b/abi/error_test.go @@ -36,7 +36,7 @@ func TestProcessError(t *testing.T) { Name: "param1", Type: "uint256", InternalType: "uint256", - Indexed: true, + Indexed: false, }, }, Outputs: []MethodIO{}, @@ -52,12 +52,14 @@ func TestProcessError(t *testing.T) { TypeDescription: &ast.TypeDescription{ TypeString: "uint256", }, + Indexed: true, }, { Name: "param2", TypeDescription: &ast.TypeDescription{ TypeString: "address", }, + Indexed: true, }, }, }, @@ -88,7 +90,8 @@ func TestProcessError(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result := builder.processError(tt.input) + result, err := builder.processError(tt.input) + assert.NoError(t, err) assert.Equal(t, tt.expected, result) }) } diff --git a/abi/event.go b/abi/event.go index 339d13b2..c80c48df 100644 --- a/abi/event.go +++ b/abi/event.go @@ -1,12 +1,14 @@ package abi import ( + "fmt" + "github.com/unpackdev/solgo/ir" ) // processEvent processes an IR event and returns a Method representation of it. // It extracts the name and parameters of the event and sets its type to "event" and state mutability to "view". -func (b *Builder) processEvent(unit *ir.Event) *Method { +func (b *Builder) processEvent(unit *ir.Event) (*Method, error) { toReturn := &Method{ Name: unit.GetName(), Inputs: make([]MethodIO, 0), @@ -18,13 +20,28 @@ func (b *Builder) processEvent(unit *ir.Event) *Method { // Process parameters of the event. // Note: In Ethereum, event parameters are considered as outputs. for _, parameter := range unit.GetParameters() { - toReturn.Outputs = append(toReturn.Outputs, MethodIO{ - Name: parameter.GetName(), - Type: parameter.GetTypeDescription().TypeString, - InternalType: parameter.GetTypeDescription().TypeString, - Indexed: true, // Parameters for events can be indexed. - }) + if parameter.GetTypeDescription() == nil { + return nil, fmt.Errorf("nil type description for event parameter %s", parameter.GetName()) + } + + methodIo := MethodIO{ + Name: parameter.GetName(), + Indexed: parameter.IsIndexed(), + } + toReturn.Inputs = append( + toReturn.Inputs, + b.buildMethodIO(methodIo, parameter.GetTypeDescription()), + ) + } + + return toReturn, nil +} + +func (b *Builder) GetEventAsAbi(unit *ir.Event) ([]*Method, error) { + method, err := b.processEvent(unit) + if err != nil { + return nil, err } - return toReturn + return []*Method{method}, nil } diff --git a/abi/event_test.go b/abi/event_test.go index 575784ff..adbb496a 100644 --- a/abi/event_test.go +++ b/abi/event_test.go @@ -29,6 +29,7 @@ func TestProcessEvent(t *testing.T) { TypeString: "uint256", TypeIdentifier: "t_uint256", }, + Indexed: true, }, }, }, @@ -40,7 +41,8 @@ func TestProcessEvent(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - result := builder.processEvent(tc.input) + result, err := builder.processEvent(tc.input) + assert.NoError(t, err) assert.Equal(t, tc.expectedType, result.Type) assert.Equal(t, tc.expectedName, result.Name) assert.Equal(t, tc.expectedOutputs, len(result.Outputs)) diff --git a/abi/fallback.go b/abi/fallback.go index 6d5d2cc2..aab5ff4e 100644 --- a/abi/fallback.go +++ b/abi/fallback.go @@ -1,7 +1,9 @@ // Package abi provides tools for building and parsing Ethereum ABI (Application Binary Interface) data. package abi -import "github.com/unpackdev/solgo/ir" +import ( + "github.com/unpackdev/solgo/ir" +) // processFallback processes an IR fallback function and returns a Method representation of it. // It extracts the input and output parameters of the fallback function and normalizes its state mutability. @@ -14,27 +16,5 @@ func (b *Builder) processFallback(unit *ir.Fallback) *Method { StateMutability: b.normalizeStateMutability(unit.GetStateMutability()), } - for _, parameter := range unit.GetParameters() { - methodIo := MethodIO{ - Name: parameter.GetName(), - } - toReturn.Inputs = append( - toReturn.Inputs, - b.buildMethodIO(methodIo, parameter.GetTypeDescription()), - ) - } - - // Process return statements of the fallback function. - // Note: In Ethereum, fallback functions can have return values. - /* for _, parameter := range unit.GetReturnStatements() { - methodIo := MethodIO{ - Name: parameter.GetName(), - } - toReturn.Outputs = append( - toReturn.Outputs, - b.buildMethodIO(methodIo, parameter.GetTypeDescription()), - ) - } */ - return toReturn } diff --git a/abi/fallback_test.go b/abi/fallback_test.go index 9efec1bd..6f16830a 100644 --- a/abi/fallback_test.go +++ b/abi/fallback_test.go @@ -53,12 +53,6 @@ func TestProcessFallback(t *testing.T) { assert.Equal(t, "fallback", result.Type) assert.Equal(t, builder.normalizeStateMutability(mockFallback.GetStateMutability()), result.StateMutability) assert.Equal(t, "", result.Name) - assert.Equal(t, 2, len(result.Inputs)) - assert.Equal(t, "inputParam1", result.Inputs[0].Name) - assert.Equal(t, "inputParam2", result.Inputs[1].Name) - assert.Equal(t, "uint256", result.Inputs[0].Type) - assert.Equal(t, "uint256", result.Inputs[1].Type) - assert.Equal(t, "uint256", result.Inputs[0].InternalType) - assert.Equal(t, "uint256", result.Inputs[1].InternalType) + assert.Equal(t, 0, len(result.Inputs)) assert.Equal(t, 0, len(result.Outputs)) } diff --git a/abi/function.go b/abi/function.go index 67b97ae6..a78a08a6 100644 --- a/abi/function.go +++ b/abi/function.go @@ -2,13 +2,15 @@ package abi import ( + "fmt" + "github.com/unpackdev/solgo/ir" ) // processFunction processes an IR function and returns a Method representation of it. // It extracts the name, input, and output parameters of the function, sets its type to "function", // and normalizes its state mutability. -func (b *Builder) processFunction(unit *ir.Function) *Method { +func (b *Builder) processFunction(unit *ir.Function) (*Method, error) { toReturn := &Method{ Name: unit.GetName(), Inputs: make([]MethodIO, 0), @@ -18,6 +20,10 @@ func (b *Builder) processFunction(unit *ir.Function) *Method { } for _, parameter := range unit.GetParameters() { + if parameter.GetTypeDescription() == nil { + return nil, fmt.Errorf("nil type description for function parameter %s", parameter.GetName()) + } + methodIo := MethodIO{ Name: parameter.GetName(), } @@ -28,6 +34,10 @@ func (b *Builder) processFunction(unit *ir.Function) *Method { } for _, parameter := range unit.GetReturnStatements() { + if parameter.GetTypeDescription() == nil { + return nil, fmt.Errorf("nil type description for function return parameter %s", parameter.GetName()) + } + methodIo := MethodIO{ Name: parameter.GetName(), } @@ -38,5 +48,14 @@ func (b *Builder) processFunction(unit *ir.Function) *Method { } - return toReturn + return toReturn, nil +} + +func (b *Builder) GetFunctionAsABI(unit *ir.Function) ([]*Method, error) { + method, err := b.processFunction(unit) + if err != nil { + return nil, err + } + + return []*Method{method}, nil } diff --git a/abi/function_test.go b/abi/function_test.go index 1a4d5085..e4ceab35 100644 --- a/abi/function_test.go +++ b/abi/function_test.go @@ -60,7 +60,8 @@ func TestProcessFunction(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - result := builder.processFunction(tc.input) + result, err := builder.processFunction(tc.input) + assert.NoError(t, err) assert.Equal(t, tc.expectedType, result.Type) assert.Equal(t, tc.expectedName, result.Name) assert.Equal(t, tc.expectedInputs, len(result.Inputs)) diff --git a/abi/helpers.go b/abi/helpers.go index ff85c730..46440707 100644 --- a/abi/helpers.go +++ b/abi/helpers.go @@ -38,6 +38,11 @@ func isEnumType(name string) bool { return strings.Contains(name, "enum") } +// isStructType checks if the given type name represents a enum type in Solidity. +func isStructType(name string) bool { + return strings.Contains(name, "struct") +} + // parseMappingType parses a Solidity ABI mapping type. // It returns a boolean indicating success, a slice of key types, and a slice of value types. func parseMappingType(typeName string) (bool, []string, []string) { diff --git a/abi/method.go b/abi/method.go index 82c29ee1..fd5b9166 100644 --- a/abi/method.go +++ b/abi/method.go @@ -1,7 +1,10 @@ package abi import ( + "encoding/json" + abi_pb "github.com/unpackdev/protos/dist/go/abi" + "github.com/unpackdev/solgo/utils" ) // MethodIO represents an input or output parameter of a contract method or event. @@ -54,6 +57,10 @@ type Method struct { StateMutability string `json:"stateMutability"` // State mutability of the function (e.g., pure, view, nonpayable, payable). } +func (m *Method) ToJSON() (json.RawMessage, error) { + return utils.ToJSON(m) +} + // ToProto converts the Method to its protobuf representation. func (m *Method) ToProto() *abi_pb.Method { toReturn := &abi_pb.Method{ diff --git a/abi/receive.go b/abi/receive.go index 174fbb8b..78ddf5a2 100644 --- a/abi/receive.go +++ b/abi/receive.go @@ -1,10 +1,14 @@ package abi -import "github.com/unpackdev/solgo/ir" +import ( + "fmt" + + "github.com/unpackdev/solgo/ir" +) // processReceive processes the provided Receive unit from the IR and returns a Method representation. // The returned Method will always have its Type set to "receive" and StateMutability set to "payable". -func (b *Builder) processReceive(unit *ir.Receive) *Method { +func (b *Builder) processReceive(unit *ir.Receive) (*Method, error) { toReturn := &Method{ Name: "", // Name is left empty for receive type Inputs: make([]MethodIO, 0), @@ -14,6 +18,10 @@ func (b *Builder) processReceive(unit *ir.Receive) *Method { } for _, parameter := range unit.GetParameters() { + if parameter.GetTypeDescription() == nil { + return nil, fmt.Errorf("nil type description for receive parameter %s", parameter.GetName()) + } + methodIo := MethodIO{ Name: parameter.GetName(), } @@ -23,5 +31,5 @@ func (b *Builder) processReceive(unit *ir.Receive) *Method { ) } - return toReturn + return toReturn, nil } diff --git a/abi/receive_test.go b/abi/receive_test.go index 2a135b3d..04294ff8 100644 --- a/abi/receive_test.go +++ b/abi/receive_test.go @@ -30,7 +30,8 @@ func TestProcessReceive(t *testing.T) { } builder := &Builder{} - result := builder.processReceive(mockReceive) + result, err := builder.processReceive(mockReceive) + assert.NoError(t, err) // Assert that the returned Method object has the expected properties assert.Equal(t, "receive", result.Type) diff --git a/abi/root.go b/abi/root.go index 6b280ff8..41a7cd4e 100644 --- a/abi/root.go +++ b/abi/root.go @@ -82,7 +82,7 @@ func (r *Root) ToProto() *abi_pb.Root { } // processRoot processes the provided RootSourceUnit from the IR and constructs a Root structure. -func (b *Builder) processRoot(root *ir.RootSourceUnit) *Root { +func (b *Builder) processRoot(root *ir.RootSourceUnit) (*Root, error) { rootNode := &Root{ unit: root, ContractsCount: int32(root.GetContractsCount()), @@ -90,15 +90,20 @@ func (b *Builder) processRoot(root *ir.RootSourceUnit) *Root { } if !root.HasContracts() { - return rootNode + return rootNode, nil } rootNode.EntryContractId = root.GetEntryId() rootNode.EntryContractName = root.GetEntryName() for _, contract := range root.GetContracts() { - rootNode.Contracts[contract.Name] = b.processContract(contract) + pc, err := b.processContract(contract) + if err != nil { + return nil, err + } + + rootNode.Contracts[contract.Name] = pc } - return rootNode + return rootNode, nil } diff --git a/abi/state_variable.go b/abi/state_variable.go index b804290d..49b4a967 100644 --- a/abi/state_variable.go +++ b/abi/state_variable.go @@ -2,7 +2,6 @@ package abi import ( "github.com/unpackdev/solgo/ir" - "github.com/unpackdev/solgo/utils" ) // processStateVariable processes the provided StateVariable from the IR and constructs a Method representation. @@ -17,10 +16,6 @@ func (b *Builder) processStateVariable(stateVar *ir.StateVariable) *Method { StateMutability: b.normalizeStateMutability(stateVar.GetStateMutability()), } - if stateVar.GetTypeDescription() == nil { - utils.DumpNodeWithExit(stateVar) - } - typeName := b.resolver.ResolveType(stateVar.GetTypeDescription()) switch typeName { @@ -53,5 +48,9 @@ func (b *Builder) processStateVariable(stateVar *ir.StateVariable) *Method { }) } + /* if stateVar.GetName() == "_checkpoints" { + utils.DumpNodeWithExit(toReturn) + } */ + return toReturn } diff --git a/abi/type.go b/abi/type.go index 92738a7f..d293c771 100644 --- a/abi/type.go +++ b/abi/type.go @@ -14,11 +14,13 @@ type Type struct { Type string InternalType string Outputs []Type + Components []MethodIO } // TypeResolver provides methods to resolve and discover types within the ABI. type TypeResolver struct { - parser *ir.Builder + parser *ir.Builder + processedTypes map[string]bool } // ResolveType determines the type of a given typeName based on its identifier. @@ -105,7 +107,6 @@ func (t *TypeResolver) ResolveStructType(typeName *ast.TypeDescription) MethodIO for _, structVar := range contract.GetStructs() { if structVar.GetName() == toReturn.Name { for _, member := range structVar.GetMembers() { - // Mapping types are not supported in structs if isMappingType(member.GetTypeDescription().GetString()) { continue @@ -150,12 +151,24 @@ func (t *TypeResolver) ResolveStructType(typeName *ast.TypeDescription) MethodIO // Returns a Type representation of the discovered type. // @WARN: This function will probably need more work to handle more complex types. func (t *TypeResolver) discoverType(typeName string) Type { + // Check if type has already been processed to avoid recursion + if _, exists := t.processedTypes[typeName]; exists { + return Type{} // Return an empty Type to break recursion + } + + // Mark this type as processed + t.processedTypes[typeName] = true + + defer func() { + // Before returning, mark this type as not processed for future calls + delete(t.processedTypes, typeName) + }() + toReturn := Type{ Outputs: make([]Type, 0), } normalization := utils.NewNormalizeType().Normalize(typeName) - if normalization.Normalized { toReturn.Type = normalization.TypeName toReturn.InternalType = normalization.TypeName @@ -169,12 +182,31 @@ func (t *TypeResolver) discoverType(typeName string) Type { } for _, contract := range t.parser.GetRoot().GetContracts() { + if contract.GetName() == typeName { + toReturn.Outputs = append(toReturn.Outputs, Type{ + Name: contract.GetName(), + Type: "address", + InternalType: contract.GetName(), + }) + return toReturn + } + + for _, enumVar := range contract.GetEnums() { + if enumVar.GetName() == typeName { + toReturn.Outputs = append(toReturn.Outputs, Type{ + Name: enumVar.GetName(), + Type: "uint8", + InternalType: enumVar.GetAST().GetTypeDescription().GetString(), + }) + return toReturn + } + } + for _, structVar := range contract.GetStructs() { if structVar.GetName() == typeName { for _, member := range structVar.GetMembers() { if isMappingType(member.GetTypeDescription().GetString()) { in, out := t.ResolveMappingType(member.GetTypeDescription()) - for _, in := range in { toReturn.Outputs = append(toReturn.Outputs, Type{ Name: in.Name, @@ -204,6 +236,28 @@ func (t *TypeResolver) discoverType(typeName string) Type { continue } + if isStructType(member.GetTypeDescription().GetString()) { + // Recursively resolve the nested struct + nestedStructType := t.ResolveStructType(member.GetTypeDescription()) + toReturn.Outputs = append(toReturn.Outputs, Type{ + Name: member.GetName(), + Type: "tuple", + InternalType: member.GetTypeDescription().GetString(), + Components: nestedStructType.Components, + }) + + continue + } + + if isEnumType(member.GetTypeDescription().GetString()) { + toReturn.Outputs = append(toReturn.Outputs, Type{ + Name: member.GetName(), + Type: "uint8", + InternalType: member.GetTypeDescription().GetString(), + }) + continue + } + toReturn.Outputs = append(toReturn.Outputs, Type{ Name: member.GetName(), Type: normalizeTypeName(member.GetTypeDescription().GetString()), @@ -217,6 +271,15 @@ func (t *TypeResolver) discoverType(typeName string) Type { for _, node := range t.parser.GetRoot().GetAST().GetGlobalNodes() { switch nodeCtx := node.(type) { + case *ast.EnumDefinition: + if nodeCtx.GetName() == typeName { + toReturn.Outputs = append(toReturn.Outputs, Type{ + Name: nodeCtx.GetName(), + Type: "uint8", + InternalType: nodeCtx.GetTypeDescription().GetString(), + }) + return toReturn + } case *ast.StructDefinition: if nodeCtx.GetName() == typeName { for _, member := range nodeCtx.GetMembers() { @@ -252,6 +315,28 @@ func (t *TypeResolver) discoverType(typeName string) Type { continue } + if isStructType(member.GetTypeDescription().GetString()) { + // Recursively resolve the nested struct + nestedStructType := t.ResolveStructType(member.GetTypeDescription()) + toReturn.Outputs = append(toReturn.Outputs, Type{ + Name: member.GetName(), + Type: "tuple", + InternalType: member.GetTypeDescription().GetString(), + Components: nestedStructType.Components, + }) + + continue + } + + if isEnumType(member.GetTypeDescription().GetString()) { + toReturn.Outputs = append(toReturn.Outputs, Type{ + Name: member.GetName(), + Type: "uint8", + InternalType: member.GetTypeDescription().GetString(), + }) + continue + } + toReturn.Outputs = append(toReturn.Outputs, Type{ Name: member.GetName(), Type: normalizeTypeName(member.GetTypeDescription().GetString()), diff --git a/accounts/account.go b/accounts/account.go index e97209e8..cab7fd75 100644 --- a/accounts/account.go +++ b/accounts/account.go @@ -21,7 +21,7 @@ import ( ) const ( - DEFAULT_GAS_LIMIT = uint64(90000) + DEFAULT_GAS_LIMIT = uint64(1000000) ) // Account represents an Ethereum account with extended functionalities. @@ -33,7 +33,9 @@ type Account struct { Address common.Address `json:"address" yaml:"address"` // Ethereum address of the account Type utils.AccountType `json:"type" yaml:"type"` // Account type PrivateKey string `json:"private_key" yaml:"private_key"` // Private key of the account + PrivateKeyBytes []byte `json:"-" yaml:"-"` // Private key of the account in bytes PublicKey string `json:"public_key" yaml:"public_key"` // Public key of the account + PublicKeyBytes []byte `json:"-" yaml:"-"` // Public key of the account in bytes KeystoreAccount account.Account `json:"account" yaml:"account"` // Ethereum account information Password string `json:"password" yaml:"password"` // Account's password Network utils.Network `json:"network" yaml:"network"` // Network information @@ -79,7 +81,7 @@ func (a *Account) GetClient() *clients.Client { // It does not affect the real balance on the Ethereum network. func (a *Account) SetAccountBalance(ctx context.Context, amount *big.Int) error { amountHex := common.Bytes2Hex(amount.Bytes()) - return a.client.GetRpcClient().Call(nil, "anvil_setBalance", a.GetAddress(), amountHex) + return a.client.GetRpcClient().CallContext(ctx, nil, "anvil_setBalance", a.GetAddress(), amountHex) } // Balance retrieves the account's balance from the Ethereum network at a specified block number. diff --git a/accounts/manager.go b/accounts/manager.go index 9c4f10e4..02a8338b 100644 --- a/accounts/manager.go +++ b/accounts/manager.go @@ -5,9 +5,11 @@ import ( "crypto/ecdsa" "encoding/base64" "fmt" + "math/rand" "os" "path" "strings" + "time" "github.com/ethereum/go-ethereum/accounts/keystore" "github.com/ethereum/go-ethereum/common" @@ -120,6 +122,51 @@ func (m *Manager) GetKeystore(network utils.Network) (*keystore.KeyStore, error) return m.ks[network], nil } +// CreateOneTimeAccount creates a one time use account for a given network with a specified password and optional tags. +// It does not save the account to the keystore and does not add it to the accounts map. +// Useful for simulations and testing. +func (m *Manager) CreateOneTimeAccount(network utils.Network, password string, tags ...string) (*Account, error) { + ks, err := m.GetKeystore(network) + if err != nil { + return nil, err + } + + // Generate a new private key + privateKey, err := crypto.GenerateKey() + if err != nil { + return nil, fmt.Errorf("failed to generate private key: %s", err) + } + + privateKeyBytes := crypto.FromECDSA(privateKey) + + publicKey := privateKey.Public() + ecdsaPublicKey, ok := publicKey.(*ecdsa.PublicKey) + if !ok { + return nil, fmt.Errorf("failed to cast public key to *ecdsa.PublicKey") + } + + publicKeyBytes := crypto.FromECDSAPub(ecdsaPublicKey) + + // Obtain the address from the public key + address := crypto.PubkeyToAddress(*ecdsaPublicKey) + + acc := &Account{ + KeyStore: ks, + Address: address, + Type: utils.SimpleAccountType, + PrivateKey: fmt.Sprintf("%x", privateKey.D), + PrivateKeyBytes: privateKeyBytes, + PublicKey: fmt.Sprintf("%x", crypto.FromECDSAPub(ecdsaPublicKey)), + PublicKeyBytes: publicKeyBytes, + Password: base64.StdEncoding.EncodeToString([]byte(password)), + Network: network, + Tags: tags, + } + + acc.SetClient(m.client.GetClientByGroup(network.String())) + return acc, nil +} + // Create creates a new account for a given network with a specified password and optional tags. // It saves the account to the network's keystore path and adds it to the accounts map. func (m *Manager) Create(network utils.Network, password string, pin bool, tags ...string) (*Account, error) { @@ -236,6 +283,30 @@ func (m *Manager) Get(network utils.Network, address common.Address) (*Account, return nil, fmt.Errorf("account for network: %s not found: %s", network.String(), address.Hex()) } +// GetRandomAccount returns a random account from all the available accounts across networks. +// Returns an error if there are no accounts available. +func (m *Manager) GetRandomAccount(network utils.Network) (*Account, error) { + var allAccounts []*Account + + // Collect all accounts from all networks + for accNetwork, accs := range m.accounts { + if accNetwork == network { + allAccounts = append(allAccounts, accs...) + } + } + + if len(allAccounts) == 0 { + return nil, fmt.Errorf("no accounts available") + } + + // Seed the random number generator to ensure different results on each call + rand.Seed(time.Now().UnixNano()) + + // Select a random account + randomIndex := rand.Intn(len(allAccounts)) + return allAccounts[randomIndex], nil +} + // Delete removes an account for a given network by its address. // It deletes the account from both the keystore and the Manager's accounts map. // Returns an error if the account is not found or if there's an issue with deletion. diff --git a/ast/assignment.go b/ast/assignment.go index 4bbd3da4..3420b542 100644 --- a/ast/assignment.go +++ b/ast/assignment.go @@ -23,6 +23,7 @@ type Assignment struct { RightExpression Node[NodeType] `json:"right_expression,omitempty"` // Right-hand side expression. ReferencedDeclaration int64 `json:"referenced_declaration,omitempty"` // Referenced declaration identifier (if used). TypeDescription *TypeDescription `json:"type_description,omitempty"` // Type description associated with the Assignment node. + Text string `json:"text,omitempty"` // Text of the Assignment node. } // NewAssignment creates a new Assignment node with a given ASTBuilder. @@ -252,6 +253,11 @@ func (a *Assignment) ToProto() NodeType { return NewTypedStruct(&proto, "Assignment") } +// ToString returns the string representation of the Assignment node. +func (a *Assignment) ToString() string { + return a.Text +} + // SetReferenceDescriptor sets the reference descriptions of the Assignment node. func (a *Assignment) SetReferenceDescriptor(refId int64, refDesc *TypeDescription) bool { a.ReferencedDeclaration = refId @@ -296,6 +302,8 @@ func (a *Assignment) ParseStatement( ParentIndex: parentNodeId, } + a.Text = eCtx.GetText() + // Parsing the expression and setting the type description. expression := NewExpression(a.ASTBuilder) a.Expression = expression.Parse(unit, contractNode, fnNode, bodyNode, nil, a, a.GetId(), ctx) diff --git a/ast/base_contract.go b/ast/base_contract.go index 26409e9b..4a92de84 100644 --- a/ast/base_contract.go +++ b/ast/base_contract.go @@ -60,8 +60,10 @@ type BaseContractName struct { Src SrcNode `json:"src"` // Name is the name of the base contract. Name string `json:"name"` - // ReferencedDeclaration is the unique identifier of the contract declaration that this name references. + // ReferencedDeclaration is the unique identifier of the source unit declaration that this name references. ReferencedDeclaration int64 `json:"referenced_declaration"` + // ContractReferencedDeclaration is the unique identifier of the source unit contract declaration that this name references. + ContractReferencedDeclaration int64 `json:"contract_referenced_declaration"` } // GetId returns the unique identifier of the base contract name. @@ -90,6 +92,11 @@ func (b *BaseContractName) GetReferencedDeclaration() int64 { return b.ReferencedDeclaration } +// GetContractReferencedDeclaration returns the unique identifier of the source unit contract declaration that this name references. +func (b *BaseContractName) GetContractReferencedDeclaration() int64 { + return b.ContractReferencedDeclaration +} + // ToProto returns the protobuf representation of the base contract name. func (b *BaseContractName) ToProto() *ast_pb.BaseContractName { return &ast_pb.BaseContractName{ diff --git a/ast/body.go b/ast/body.go index 85da74f4..64e2298a 100644 --- a/ast/body.go +++ b/ast/body.go @@ -320,6 +320,10 @@ func (b *BodyNode) ParseUncheckedBlock( return b } +func (b *BodyNode) ToString() string { + return "" +} + // parseStatements is a helper function for the ParseBlock and ParseUncheckedBlock methods. // It takes a source unit, a contract node, a function node, and a child context as arguments. // It checks the type of the child context and based on its type, it creates a new node of the corresponding type and parses it. diff --git a/ast/builder.go b/ast/builder.go index d06827c7..3349a867 100644 --- a/ast/builder.go +++ b/ast/builder.go @@ -142,4 +142,6 @@ func (b *ASTBuilder) GarbageCollect() { b.globalDefinitions = nil b.currentImports = nil b.currentUserDefinedVariables = nil + b.comments = nil + b.commentsParsed = false } diff --git a/ast/fallback.go b/ast/fallback.go index ee67ea7a..812395d2 100644 --- a/ast/fallback.go +++ b/ast/fallback.go @@ -60,7 +60,13 @@ func (f *Fallback) GetType() ast_pb.NodeType { // GetNodes returns a slice of child nodes within the body of the fallback function. func (f *Fallback) GetNodes() []Node[NodeType] { - return f.Body.Statements + toReturn := []Node[NodeType]{} + + if f.Body != nil { + toReturn = append(toReturn, f.Body.Statements...) + } + + return toReturn } // GetTypeDescription returns the type description associated with the Fallback node. diff --git a/ast/function.go b/ast/function.go index eef895f5..7a56728c 100644 --- a/ast/function.go +++ b/ast/function.go @@ -38,6 +38,7 @@ type Function struct { Scope int64 `json:"scope"` ReferencedDeclaration int64 `json:"referenced_declaration,omitempty"` TypeDescription *TypeDescription `json:"type_description"` + Text string `json:"text,omitempty"` } // NewFunction creates and initializes a new Function node. @@ -157,7 +158,7 @@ func (f *Function) ComputeSignature() { []string{ f.GetName(), "(", - strings.Join(params, ", "), + strings.Join(params, ","), ")", }, "", ) @@ -198,6 +199,10 @@ func (f *Function) GetNodes() []Node[NodeType] { return toReturn } +func (f *Function) ToString() string { + return f.Text +} + // GetReferencedDeclaration returns the referenced declaration identifier associated with the Function node. func (f *Function) GetReferencedDeclaration() int64 { return f.ReferencedDeclaration @@ -384,6 +389,7 @@ func (f *Function) Parse( ctx *parser.FunctionDefinitionContext, ) Node[NodeType] { // Initialize basic properties. + f.Text = ctx.GetText() f.Id = f.GetNextID() f.Scope = contractNode.GetId() if ctx.Identifier() != nil { diff --git a/ast/imports.go b/ast/imports.go index ff42f0fb..48f4fafe 100644 --- a/ast/imports.go +++ b/ast/imports.go @@ -180,13 +180,16 @@ func parseImportPathsForSourceUnit( ParentIndex: unit.Id, }, AbsolutePath: func() string { - toReturn := filepath.Base(importCtx.Path().GetText()) + path := filepath.Clean(importCtx.Path().GetText()) + toReturn := filepath.Base(path) toReturn = strings.ReplaceAll(toReturn, "\"", "") + toReturn = strings.ReplaceAll(toReturn, "'", "") return toReturn }(), File: func() string { - toReturn := importCtx.Path().GetText() + toReturn := filepath.Clean(importCtx.Path().GetText()) toReturn = strings.ReplaceAll(toReturn, "\"", "") + toReturn = strings.ReplaceAll(toReturn, "'", "") return toReturn }(), Scope: unit.Id, @@ -223,33 +226,37 @@ func parseImportPathsForSourceUnit( // Find the source unit that corresponds to the import path // and add the exported symbols to the current source unit exported symbols. // @TODO: Perhaps too much of iterations? - for _, unitCtx := range b.sourceUnits { + /* for _, unitCtx := range b.sourceUnits { for _, source := range b.sources.SourceUnits { absolutePath := filepath.Base(source.Path) + fmt.Println("ABS Path:", absolutePath) if importNode.AbsolutePath == absolutePath { importNode.SourceUnit = unitCtx.Id } } - } + } */ imports = append(imports, importNode) } } filteredImports := make([]Node[NodeType], 0) + exportedSymbolMap := make(map[string]struct{}) // To track already added symbols for i := len(imports) - 1; i >= 0; i-- { importNode := imports[i] - if int64(contractLine)-importNode.Src.Line <= 20 && int64(contractLine)-importNode.Src.Line >= -1 { + if int64(contractLine)-importNode.Src.Line <= 50 && int64(contractLine)-importNode.Src.Line >= -1 { importNode.Src.ParentIndex = unit.Id for _, unitCtx := range b.sourceUnits { for _, symbol := range unitCtx.ExportedSymbols { if symbol.AbsolutePath == importNode.AbsolutePath { - unit.ExportedSymbols = append( - unit.ExportedSymbols, - NewSymbol(symbol.Id, symbol.Name, symbol.AbsolutePath), - ) - + if _, exists := exportedSymbolMap[symbol.AbsolutePath]; !exists { + unit.ExportedSymbols = append( + unit.ExportedSymbols, + NewSymbol(symbol.Id, symbol.Name, symbol.AbsolutePath), + ) + exportedSymbolMap[symbol.AbsolutePath] = struct{}{} + } } } } @@ -258,6 +265,5 @@ func parseImportPathsForSourceUnit( } b.currentImports = append(b.currentImports, filteredImports...) - return filteredImports } diff --git a/ast/member_access.go b/ast/member_access.go index b8f32a7d..b17960df 100644 --- a/ast/member_access.go +++ b/ast/member_access.go @@ -26,6 +26,7 @@ type MemberAccessExpression struct { ArgumentTypes []*TypeDescription `json:"argument_types"` ReferencedDeclaration int64 `json:"referenced_declaration,omitempty"` TypeDescription *TypeDescription `json:"type_description"` + Text string `json:"text"` } // NewMemberAccessExpression creates a new MemberAccessExpression instance with initial values. @@ -42,6 +43,13 @@ func NewMemberAccessExpression(b *ASTBuilder) *MemberAccessExpression { func (m *MemberAccessExpression) SetReferenceDescriptor(refId int64, refDesc *TypeDescription) bool { m.ReferencedDeclaration = refId m.TypeDescription = refDesc + + // We have to now go one layer in parent to ensure that the type description is set everywhere... + if m.GetSrc().ParentIndex != 0 { + if parent := m.tree.GetById(m.GetSrc().ParentIndex); parent != nil { + parent.SetReferenceDescriptor(refId, refDesc) + } + } return true } @@ -244,6 +252,10 @@ func (m *MemberAccessExpression) ToProto() NodeType { return NewTypedStruct(&proto, "MemberAccess") } +func (m *MemberAccessExpression) ToText() string { + return m.Text +} + // Parse populates the MemberAccessExpression node based on the provided context and other information. func (m *MemberAccessExpression) Parse( unit *SourceUnit[Node[ast_pb.SourceUnit]], @@ -254,6 +266,7 @@ func (m *MemberAccessExpression) Parse( expNode Node[NodeType], ctx *parser.MemberAccessContext, ) Node[NodeType] { + m.Text = ctx.GetText() m.Src = SrcNode{ Line: int64(ctx.GetStart().GetLine()), Column: int64(ctx.GetStart().GetColumn()), @@ -269,7 +282,11 @@ func (m *MemberAccessExpression) Parse( return expNode.GetId() } - return bodyNode.GetId() + if bodyNode != nil { + return bodyNode.GetId() + } + + return 0 // Should fix this in the future... }(), } m.NodeType = ast_pb.NodeType_MEMBER_ACCESS diff --git a/ast/parameter.go b/ast/parameter.go index 693f9ef1..ac17f4d8 100644 --- a/ast/parameter.go +++ b/ast/parameter.go @@ -5,7 +5,6 @@ import ( ast_pb "github.com/unpackdev/protos/dist/go/ast" "github.com/unpackdev/solgo/parser" - "github.com/unpackdev/solgo/utils" ) // Parameter represents a parameter node in the abstract syntax tree. @@ -40,11 +39,6 @@ func NewParameter(b *ASTBuilder) *Parameter { // SetReferenceDescriptor sets the reference descriptors of the Parameter node. func (p *Parameter) SetReferenceDescriptor(refId int64, refDesc *TypeDescription) bool { - - if p.GetName() == "L" { - utils.DumpNodeWithExit(p) - } - return false } @@ -329,6 +323,14 @@ func (p *Parameter) ParseEventParameter(unit *SourceUnit[Node[ast_pb.SourceUnit] p.TypeName = typeName p.TypeDescription = typeName.GetTypeDescription() p.currentVariables = append(p.currentVariables, p) + + if p.TypeDescription == nil { + if refId, refTypeDescription := p.GetResolver().ResolveByNode(typeName, typeName.Name); refTypeDescription != nil { + typeName.ReferencedDeclaration = refId + typeName.TypeDescription = refTypeDescription + p.TypeDescription = typeName.GetTypeDescription() + } + } } // ParseStructParameter parses the struct parameter context and populates the Parameter fields for struct members. @@ -368,6 +370,13 @@ func (p *Parameter) ParseStructParameter(unit *SourceUnit[Node[ast_pb.SourceUnit p.TypeDescription = typeName.GetTypeDescription() p.currentVariables = append(p.currentVariables, p) + if p.TypeDescription == nil { + if refId, refTypeDescription := p.GetResolver().ResolveByNode(typeName, typeName.Name); refTypeDescription != nil { + typeName.ReferencedDeclaration = refId + typeName.TypeDescription = refTypeDescription + p.TypeDescription = typeName.GetTypeDescription() + } + } } // ParseErrorParameter parses the error parameter context and populates the Parameter fields for error definitions. @@ -405,6 +414,14 @@ func (p *Parameter) ParseErrorParameter(unit *SourceUnit[Node[ast_pb.SourceUnit] p.TypeName = typeName p.TypeDescription = typeName.GetTypeDescription() p.currentVariables = append(p.currentVariables, p) + + if p.TypeDescription == nil { + if refId, refTypeDescription := p.GetResolver().ResolveByNode(typeName, typeName.Name); refTypeDescription != nil { + typeName.ReferencedDeclaration = refId + typeName.TypeDescription = refTypeDescription + p.TypeDescription = typeName.GetTypeDescription() + } + } } // getStorageLocationFromCtx extracts the storage location information from the parameter declaration context. diff --git a/ast/payable_conversion.go b/ast/payable_conversion.go index e9eb6378..dab59be3 100644 --- a/ast/payable_conversion.go +++ b/ast/payable_conversion.go @@ -37,11 +37,39 @@ func NewPayableConversionExpression(b *ASTBuilder) *PayableConversion { // SetReferenceDescriptor sets the reference descriptions of the PayableConversion node. func (p *PayableConversion) SetReferenceDescriptor(refId int64, refDesc *TypeDescription) bool { - p.ReferencedDeclaration = refId - p.TypeDescription = refDesc + p.RebuildDescriptions() return false } +// RebuildDescriptions rebuilds the type descriptions of the FunctionCall node. It is called after the AST is built. +func (p *PayableConversion) RebuildDescriptions() { + var newArgs []*TypeDescription + typeStrings := []string{} + typeIdentifiers := []string{} + + for _, arg := range p.GetArguments() { + newArgs = append(newArgs, arg.GetTypeDescription()) + typeStrings = append(typeStrings, arg.GetTypeDescription().GetString()) + typeIdentifiers = append(typeIdentifiers, arg.GetTypeDescription().GetIdentifier()) + } + p.ArgumentTypes = newArgs + + p.TypeDescription = &TypeDescription{ + TypeString: func() string { + return fmt.Sprintf( + "function(%s) payable", + strings.Join(typeStrings, ","), + ) + }(), + TypeIdentifier: func() string { + return fmt.Sprintf( + "t_function_payable$_%s$", + strings.Join(typeIdentifiers, "$_"), + ) + }(), + } +} + // GetId returns the ID of the PayableConversion node. func (p *PayableConversion) GetId() int64 { return p.Id @@ -230,13 +258,15 @@ func (p *PayableConversion) Parse( expr, ) - typeStrings = append(typeStrings, expr.GetTypeDescription().TypeString) - typeIdentifiers = append(typeIdentifiers, expr.GetTypeDescription().TypeIdentifier) + if expr.GetTypeDescription() != nil { + typeStrings = append(typeStrings, expr.GetTypeDescription().TypeString) + typeIdentifiers = append(typeIdentifiers, expr.GetTypeDescription().TypeIdentifier) - p.ArgumentTypes = append( - p.ArgumentTypes, - expr.GetTypeDescription(), - ) + p.ArgumentTypes = append( + p.ArgumentTypes, + expr.GetTypeDescription(), + ) + } } } diff --git a/ast/primary_expression.go b/ast/primary_expression.go index 3e248514..f9cb8d84 100644 --- a/ast/primary_expression.go +++ b/ast/primary_expression.go @@ -28,6 +28,7 @@ type PrimaryExpression struct { ReferencedDeclaration int64 `json:"referenced_declaration"` // Referenced declaration of the node. Pure bool `json:"is_pure"` // Indicates if the node is pure. ArgumentTypes []*TypeDescription `json:"argument_types,omitempty"` // Argument types of the node. + Text string `json:"text,omitempty"` // Text of the node. } // NewPrimaryExpression creates a new PrimaryExpression node with a given ASTBuilder. @@ -195,6 +196,7 @@ func (p *PrimaryExpression) Parse( parentNodeId int64, ctx *parser.PrimaryExpressionContext, ) Node[NodeType] { + p.Text = ctx.GetText() p.Src = SrcNode{ Line: int64(ctx.GetStart().GetLine()), Column: int64(ctx.GetStart().GetColumn()), @@ -359,7 +361,7 @@ func (p *PrimaryExpression) Parse( if bodyNode != nil { for _, statement := range bodyNode.GetStatements() { - if statement.GetType() == ast_pb.NodeType_VARIABLE_DECLARATION { + if statement != nil && statement.GetType() == ast_pb.NodeType_VARIABLE_DECLARATION { vDeclar := statement.(*VariableDeclaration) for _, declaration := range vDeclar.GetDeclarations() { if declaration.GetName() == p.Name { @@ -373,9 +375,6 @@ func (p *PrimaryExpression) Parse( } if p.TypeDescription == nil { - /* if p.GetId() == 4186 { - utils.DumpNodeWithExit(p) - } */ if refId, refTypeDescription := p.GetResolver().ResolveByNode(p, p.Name); refTypeDescription != nil { p.ReferencedDeclaration = refId p.TypeDescription = refTypeDescription diff --git a/ast/reference.go b/ast/reference.go index 2b8e3052..31f6348b 100644 --- a/ast/reference.go +++ b/ast/reference.go @@ -155,11 +155,6 @@ func (r *Resolver) Resolve() []error { if updated := r.tree.UpdateNodeReferenceById(nodeId, rNodeId, rNodeType); updated { delete(r.UnprocessedNodes, nodeId) } else { - /* if node.Name == "M" { - parentNode := r.tree.GetById(node.Node.GetSrc().GetParentIndex()) - utils.DumpNodeNoExit(parentNode) - utils.DumpNodeWithExit(node) - } */ uNode := r.UnprocessedNodes[nodeId] uNode.ErrUpdateRef = true r.UnprocessedNodes[nodeId] = uNode @@ -204,15 +199,15 @@ func (r *Resolver) Resolve() []error { // resolveImportDirectives resolves import directives in the AST. func (r *Resolver) resolveImportDirectives() { for _, sourceNode := range r.sourceUnits { - // In case any imports are available and they are not exported - // we are going to append them to the exported symbols. + nodeLookup: for _, node := range sourceNode.GetNodes() { if node.GetType() == ast_pb.NodeType_IMPORT_DIRECTIVE { importNode := node.(*Import) if importNode.GetSourceUnit() == 0 { - for _, sourceNode := range r.sourceUnits { - if sourceNode.GetAbsolutePath() == importNode.GetAbsolutePath() { - node.SetReferenceDescriptor(sourceNode.GetId(), nil) + for _, matchNode := range r.sourceUnits { + if importNode.GetAbsolutePath() == matchNode.GetAbsolutePath() { + node.SetReferenceDescriptor(matchNode.GetId(), nil) + continue nodeLookup } } } @@ -224,12 +219,15 @@ func (r *Resolver) resolveImportDirectives() { // resolveBaseContracts resolves base contracts in the AST. func (r *Resolver) resolveBaseContracts() { for _, sourceNode := range r.sourceUnits { + looper: for _, baseContract := range sourceNode.GetBaseContracts() { if baseContract.GetBaseName() != nil { if baseContract.GetBaseName().GetReferencedDeclaration() == 0 { for _, sourceNode := range r.sourceUnits { if sourceNode.GetName() == baseContract.GetBaseName().GetName() { baseContract.BaseName.ReferencedDeclaration = sourceNode.GetId() + baseContract.BaseName.ContractReferencedDeclaration = sourceNode.GetContract().GetId() + continue looper } } } diff --git a/ast/simple.go b/ast/simple.go index be6d6398..582e7121 100644 --- a/ast/simple.go +++ b/ast/simple.go @@ -48,7 +48,7 @@ func (s *SimpleStatement) Parse( unit, contractNode, fnNode, bodyNode, parentNode, parentNodeId, childCtx, ) case *antlr.ErrorNodeImpl: - zap.L().Warn( + zap.L().Debug( "Older contract parsing error @ SimpleStatement.Parse", zap.String("child", fmt.Sprintf("%T", childCtx)), zap.String("statement_text", childCtx.GetText()), diff --git a/ast/source_unit.go b/ast/source_unit.go index 40e6d83c..7f2f666d 100644 --- a/ast/source_unit.go +++ b/ast/source_unit.go @@ -3,11 +3,14 @@ package ast import ( "encoding/json" "fmt" + "path/filepath" + "regexp" v3 "github.com/cncf/xds/go/xds/type/v3" ast_pb "github.com/unpackdev/protos/dist/go/ast" "github.com/unpackdev/solgo" "github.com/unpackdev/solgo/parser" + "go.uber.org/zap" ) // SourceUnit represents a source unit in the abstract syntax tree. @@ -41,10 +44,36 @@ func NewSourceUnit[T any](builder *ASTBuilder, name string, license string) *Sou // SetAbsolutePathFromSources sets the absolute path of the source unit from the provided sources. func (s *SourceUnit[T]) SetAbsolutePathFromSources(sources *solgo.Sources) { + // Compile the regex outside the loop to improve efficiency. + pattern := fmt.Sprintf(`(?m)^\s*(abstract\s+)?(library|interface|contract)\s+%s\s*(is\s+[\w\s,]+)?\s*{?`, regexp.QuoteMeta(s.Name)) + regex, err := regexp.Compile(pattern) + if err != nil { + zap.L().Error("Regex compilation error", zap.Error(err)) + return + } + + found := false for _, unit := range sources.SourceUnits { if unit.Name == s.Name { - s.AbsolutePath = unit.Path + s.AbsolutePath = filepath.Base(filepath.Clean(unit.Path)) + found = true + break } + + // Use the compiled regex for matching. + if !found && regex.MatchString(unit.GetContent()) { + s.AbsolutePath = filepath.Base(filepath.Clean(unit.Path)) + found = true + break + } + } + + if !found { + zap.L().Warn( + "Could not set absolute path from sources as source unit was not found in sources", + zap.String("name", s.Name), + zap.String("pattern", pattern), + ) } } @@ -90,7 +119,9 @@ func (s *SourceUnit[T]) GetExportedSymbols() []Symbol { // GetAbsolutePath returns the absolute path of the source unit. func (s *SourceUnit[T]) GetAbsolutePath() string { - return s.AbsolutePath + toReturn := filepath.Clean(s.AbsolutePath) + toReturn = filepath.Base(toReturn) + return toReturn } // GetContract returns the contract associated with the source unit. @@ -98,6 +129,11 @@ func (s *SourceUnit[T]) GetContract() Node[NodeType] { return s.Contract } +// SetContract sets the contract associated with the source unit. +func (s *SourceUnit[T]) SetContract(contract Node[NodeType]) { + s.Contract = contract +} + // GetBaseContracts returns the base contracts of the source unit. func (s *SourceUnit[T]) GetBaseContracts() []*BaseContract { return s.BaseContracts diff --git a/ast/state_variable.go b/ast/state_variable.go index d8f8ef2a..40f2f3d1 100644 --- a/ast/state_variable.go +++ b/ast/state_variable.go @@ -182,7 +182,10 @@ func (v *StateVariableDeclaration) Parse( bodyCtx parser.IContractBodyElementContext, ctx *parser.StateVariableDeclarationContext, ) { - v.Name = ctx.Identifier().GetText() + if ctx.Identifier() != nil { + v.Name = ctx.Identifier().GetText() + } + v.Src = SrcNode{ Line: int64(ctx.GetStart().GetLine()), Column: int64(ctx.GetStart().GetColumn()), @@ -205,6 +208,7 @@ func (v *StateVariableDeclaration) Parse( } typeName := NewTypeName(v.ASTBuilder) + typeName.Parse(unit, nil, v.Id, ctx.GetType_()) v.TypeName = typeName v.TypeDescription = typeName.TypeDescription @@ -238,7 +242,14 @@ func (v *StateVariableDeclaration) Parse( func (v *StateVariableDeclaration) ParseGlobal( ctx *parser.StateVariableDeclarationContext, ) { - v.Name = ctx.Identifier().GetText() + + // Nil can be fallback in older parsing... + // @TODO SHOULD FIX THIS SHIT - UPGRADE AST SUPPORT TO v0.5+ + // Thankfully it's only fallback... + if ctx.Identifier() != nil { + v.Name = ctx.Identifier().GetText() + } + v.Src = SrcNode{ Line: int64(ctx.GetStart().GetLine()), Column: int64(ctx.GetStart().GetColumn()), @@ -277,7 +288,10 @@ func (v *StateVariableDeclaration) ParseGlobal( func (v *StateVariableDeclaration) ParseGlobalConstant( ctx *parser.ConstantVariableDeclarationContext, ) { - v.Name = ctx.Identifier().GetText() + if ctx.Identifier() != nil { + v.Name = ctx.Identifier().GetText() + } + v.Src = SrcNode{ Line: int64(ctx.GetStart().GetLine()), Column: int64(ctx.GetStart().GetColumn()), diff --git a/ast/type_name.go b/ast/type_name.go index 41a506bd..382648ce 100644 --- a/ast/type_name.go +++ b/ast/type_name.go @@ -3,6 +3,8 @@ package ast import ( "encoding/json" "fmt" + "strconv" + "strings" "github.com/antlr4-go/antlr/v4" v3 "github.com/cncf/xds/go/xds/type/v3" @@ -348,6 +350,13 @@ func (t *TypeName) parseTypeName(unit *SourceUnit[Node[ast_pb.SourceUnit]], pare } else if ctx.IdentifierPath() != nil { pathCtx := ctx.IdentifierPath() + if strings.Contains(pathCtx.GetText(), ".") { + identifierParts := strings.Split(pathCtx.GetText(), ".") + if len(identifierParts) > 1 { + t.Name = identifierParts[len(identifierParts)-1] + } + } + // It seems to be a user-defined type but that does not exist as a type in the parser... t.NodeType = ast_pb.NodeType_USER_DEFINED_PATH_NAME @@ -367,7 +376,7 @@ func (t *TypeName) parseTypeName(unit *SourceUnit[Node[ast_pb.SourceUnit]], pare } normalizedTypeName, normalizedTypeIdentifier, found := normalizeTypeDescriptionWithStatus( - pathCtx.GetText(), + t.Name, ) switch normalizedTypeIdentifier { @@ -383,7 +392,7 @@ func (t *TypeName) parseTypeName(unit *SourceUnit[Node[ast_pb.SourceUnit]], pare TypeString: normalizedTypeName, } } else { - if refId, refTypeDescription := t.GetResolver().ResolveByNode(t, pathCtx.GetText()); refTypeDescription != nil { + if refId, refTypeDescription := t.GetResolver().ResolveByNode(t, t.Name); refTypeDescription != nil { if t.PathNode != nil { t.PathNode.ReferencedDeclaration = refId } @@ -395,7 +404,7 @@ func (t *TypeName) parseTypeName(unit *SourceUnit[Node[ast_pb.SourceUnit]], pare } else if ctx.TypeName() != nil { t.generateTypeName(unit, ctx.TypeName(), t, t) } else { - normalizedTypeName, normalizedTypeIdentifier := normalizeTypeDescription( + normalizedTypeName, normalizedTypeIdentifier, found := normalizeTypeDescriptionWithStatus( t.Name, ) @@ -406,10 +415,20 @@ func (t *TypeName) parseTypeName(unit *SourceUnit[Node[ast_pb.SourceUnit]], pare t.StateMutability = ast_pb.Mutability_PAYABLE } - if len(normalizedTypeName) > 0 { - t.TypeDescription = &TypeDescription{ - TypeIdentifier: normalizedTypeIdentifier, - TypeString: normalizedTypeName, + if found { + if len(normalizedTypeName) > 0 { + t.TypeDescription = &TypeDescription{ + TypeIdentifier: normalizedTypeIdentifier, + TypeString: normalizedTypeName, + } + } else { + if refId, refTypeDescription := t.GetResolver().ResolveByNode(t, t.Name); refTypeDescription != nil { + if t.PathNode != nil { + t.PathNode.ReferencedDeclaration = refId + } + t.ReferencedDeclaration = refId + t.TypeDescription = refTypeDescription + } } } else { if refId, refTypeDescription := t.GetResolver().ResolveByNode(t, t.Name); refTypeDescription != nil { @@ -420,6 +439,7 @@ func (t *TypeName) parseTypeName(unit *SourceUnit[Node[ast_pb.SourceUnit]], pare t.TypeDescription = refTypeDescription } } + } } @@ -428,7 +448,7 @@ func (t *TypeName) parseElementaryTypeName(unit *SourceUnit[Node[ast_pb.SourceUn t.Name = ctx.GetText() t.NodeType = ast_pb.NodeType_ELEMENTARY_TYPE_NAME - normalizedTypeName, normalizedTypeIdentifier := normalizeTypeDescription( + normalizedTypeName, normalizedTypeIdentifier, found := normalizeTypeDescriptionWithStatus( ctx.GetText(), ) @@ -439,9 +459,19 @@ func (t *TypeName) parseElementaryTypeName(unit *SourceUnit[Node[ast_pb.SourceUn t.StateMutability = ast_pb.Mutability_PAYABLE } - t.TypeDescription = &TypeDescription{ - TypeIdentifier: normalizedTypeIdentifier, - TypeString: normalizedTypeName, + if found { + t.TypeDescription = &TypeDescription{ + TypeIdentifier: normalizedTypeIdentifier, + TypeString: normalizedTypeName, + } + } else { + if refId, refTypeDescription := t.GetResolver().ResolveByNode(t, t.Name); refTypeDescription != nil { + if t.PathNode != nil { + t.PathNode.ReferencedDeclaration = refId + } + t.ReferencedDeclaration = refId + t.TypeDescription = refTypeDescription + } } } @@ -503,9 +533,9 @@ func (t *TypeName) parseIdentifierPath(unit *SourceUnit[Node[ast_pb.SourceUnit]] func (t *TypeName) parseMappingTypeName(unit *SourceUnit[Node[ast_pb.SourceUnit]], parentNodeId int64, ctx *parser.MappingTypeContext) { keyCtx := ctx.GetKey() valueCtx := ctx.GetValue() + t.NodeType = ast_pb.NodeType_MAPPING_TYPE_NAME t.KeyType = t.generateTypeName(unit, keyCtx, t, t) - if keyCtx.GetStart().GetLine() > 0 { t.KeyNameLocation = &SrcNode{ Line: int64(keyCtx.GetStart().GetLine()), @@ -516,6 +546,7 @@ func (t *TypeName) parseMappingTypeName(unit *SourceUnit[Node[ast_pb.SourceUnit] ParentIndex: t.GetId(), } } + t.ValueType = t.generateTypeName(unit, valueCtx, t, t) if valueCtx.GetStart().GetLine() > 0 { t.ValueNameLocation = &SrcNode{ @@ -560,7 +591,6 @@ func (t *TypeName) parseMappingTypeName(unit *SourceUnit[Node[ast_pb.SourceUnit] t.ValueType.TypeDescription.TypeIdentifier, ), } - } // generateTypeName generates the TypeName based on the given context. @@ -623,13 +653,24 @@ func (t *TypeName) generateTypeName(sourceUnit *SourceUnit[Node[ast_pb.SourceUni } } + var keyTypeDescriptionName string + var valueTypeDescriptionName string + + if typeNameNode.KeyType.TypeDescription == nil { + keyTypeDescriptionName = fmt.Sprintf("unknown_%d", typeNameNode.KeyType.GetId()) + } else { + keyTypeDescriptionName = typeNameNode.KeyType.TypeDescription.TypeIdentifier + } + + if typeNameNode.ValueType.TypeDescription == nil { + valueTypeDescriptionName = fmt.Sprintf("unknown_%d", typeNameNode.ValueType.GetId()) + } else { + valueTypeDescriptionName = typeNameNode.ValueType.TypeDescription.TypeIdentifier + } + typeNameNode.TypeDescription = &TypeDescription{ - TypeString: fmt.Sprintf("mapping(%s=>%s)", typeNameNode.KeyType.Name, typeNameNode.ValueType.Name), - TypeIdentifier: fmt.Sprintf( - "t_mapping_$%s_$%s", - typeNameNode.KeyType.TypeDescription.TypeIdentifier, - typeNameNode.ValueType.TypeDescription.TypeIdentifier, - ), + TypeString: fmt.Sprintf("mapping(%s=>%s)", typeNameNode.KeyType.Name, typeNameNode.ValueType.Name), + TypeIdentifier: fmt.Sprintf("t_mapping_$%s_$%s", keyTypeDescriptionName, valueTypeDescriptionName), } parentNode.TypeDescription = t.TypeDescription typeName = typeNameNode @@ -659,7 +700,11 @@ func (t *TypeName) generateTypeName(sourceUnit *SourceUnit[Node[ast_pb.SourceUni t.generateTypeName(sourceUnit, specificCtx.MappingType(), parentNode, typeName) } else if specificCtx.FunctionTypeName() != nil { t.parseFunctionTypeName(sourceUnit, parentNode.GetId(), specificCtx.FunctionTypeName().(*parser.FunctionTypeNameContext)) + } else if specificCtx.IdentifierPath() != nil { + typeName.NodeType = ast_pb.NodeType_USER_DEFINED_PATH_NAME + t.parseIdentifierPath(sourceUnit, parentNode.GetId(), specificCtx.IdentifierPath().(*parser.IdentifierPathContext)) } else { + normalizedTypeName, normalizedTypeIdentifier := normalizeTypeDescription( typeName.Name, ) @@ -916,3 +961,102 @@ func (td TypeDescription) ToProto() *ast_pb.TypeDescription { TypeIdentifier: td.TypeIdentifier, } } + +func (t *TypeName) StorageSize() (int64, bool) { + switch t.NodeType { + case ast_pb.NodeType_ELEMENTARY_TYPE_NAME: + // Handle elementary types (int, uint, etc.) + return elementaryTypeSizeInBits(t.Name) + + case ast_pb.NodeType_MAPPING_TYPE_NAME: + // Mappings in Solidity are implemented as a hash table. + // Since they don't occupy a fixed amount of space in a contract's storage, + // it's not straightforward to define their size in bits. + // This might be represented as a pointer size. + return 256, true + + case ast_pb.NodeType_FUNCTION_TYPE_NAME: + // Function types in Solidity represent external function pointers and typically take up 24 bytes. + // Converting this size into bits. + return 24 * 8, true + + case ast_pb.NodeType_USER_DEFINED_PATH_NAME: + if size, found := elementaryTypeSizeInBits(t.Name); found { + return size, true + } + + return 256, true + + case ast_pb.NodeType_IDENTIFIER: + if size, found := elementaryTypeSizeInBits(t.Name); found { + return size, true + } + + if identifier, ok := t.Expression.(*PrimaryExpression); ok { + if len(identifier.GetValue()) > 0 { + return 256, true + } + } + + // For now this is a major hack... + if strings.Contains(t.GetTypeDescription().GetString(), "struct") { + return 256, true + } + + return 0, false + + // Add cases for other node types like struct, enum, etc., as needed. + default: + panic(fmt.Sprintf("Unhandled node type @ StorageSize: %s", t.NodeType)) + return 0, false // Type not recognized or not handled yet. + } +} + +func elementaryTypeSizeInBits(typeName string) (int64, bool) { + size, found := getTypeSizeInBits(typeName) + if !found { + return 0, false // Type not recognized + } + + return size, true +} + +func getTypeSizeInBits(typeName string) (int64, bool) { + switch { + case typeName == "bool": + return 8, true + case typeName == "address" || typeName == "addresspayable" || strings.HasPrefix("contract", typeName): + return 160, true + case strings.HasPrefix(typeName, "int") || strings.HasPrefix(typeName, "uint"): + if typeName == "uint" || typeName == "int" { + return 256, true + } + + bitSizeStr := strings.TrimPrefix(typeName, "int") + bitSizeStr = strings.TrimPrefix(bitSizeStr, "uint") + bitSize, err := strconv.Atoi(bitSizeStr) + + if err != nil || bitSize < 8 || bitSize > 256 || bitSize%8 != 0 { + return 0, false // Invalid size + } + + return int64(bitSize), true + + case strings.HasPrefix(typeName, "bytes"): + byteSizeStr := strings.TrimPrefix(typeName, "bytes") + byteSize, err := strconv.Atoi(byteSizeStr) + if err != nil || byteSize < 1 || byteSize > 32 { + return 0, false + } + return int64(byteSize) * 8, true + + case typeName == "string", typeName == "bytes": + // Dynamic-size types; the size depends on the actual content. + // It's hard to determine the exact size in bits without the content. + // Returning a default size for the pointer. + return 256, true + + default: + return 0, false // Type not recognized + } +} diff --git a/ast/visitor.go b/ast/visitor.go new file mode 100644 index 00000000..9b2cd10e --- /dev/null +++ b/ast/visitor.go @@ -0,0 +1,109 @@ +package ast + +import ( + ast_pb "github.com/unpackdev/protos/dist/go/ast" +) + +type NodeVisitor struct { + Visit func(node Node[NodeType]) bool + TypeVisit map[ast_pb.NodeType][]func(node Node[NodeType]) (bool, error) +} + +// RegisterTypeVisit allows registering multiple visitation functions for a specific node type. +func (nv *NodeVisitor) RegisterTypeVisit(nodeType ast_pb.NodeType, visitFunc func(node Node[NodeType]) (bool, error)) { + if nv.TypeVisit == nil { + nv.TypeVisit = make(map[ast_pb.NodeType][]func(node Node[NodeType]) (bool, error)) + } + nv.TypeVisit[nodeType] = append(nv.TypeVisit[nodeType], visitFunc) +} + +// Walk traverses the AST nodes starting from the initial set of nodes in the root. +func (t *Tree) Walk(visitor *NodeVisitor) error { + return t.WalkNodes(t.astRoot.GetNodes(), visitor) +} + +// Update WalkNode and WalkNodes to handle return values from walkRecursive +func (t *Tree) WalkNode(startNode Node[NodeType], visitor *NodeVisitor) error { + _, err := t.walkRecursive(startNode, visitor) + return err +} + +func (t *Tree) WalkNodes(startNodes []Node[NodeType], visitor *NodeVisitor) error { + for _, node := range startNodes { + _, err := t.walkRecursive(node, visitor) + if err != nil { + return err + } + } + return nil +} + +func (t *Tree) ExecuteTypeVisit(nodeType ast_pb.NodeType, visitFunc func(node Node[NodeType]) (bool, error)) (bool, error) { + return t.executeTypeVisitRecursive(t.astRoot.GetNodes(), nodeType, visitFunc) +} + +func (t *Tree) ExecuteCustomTypeVisit(nodes []Node[NodeType], nodeType ast_pb.NodeType, visitFunc func(node Node[NodeType]) (bool, error)) (bool, error) { + return t.executeTypeVisitRecursive(nodes, nodeType, visitFunc) +} + +func (t *Tree) executeTypeVisitRecursive(nodes []Node[NodeType], nodeType ast_pb.NodeType, visitFunc func(node Node[NodeType]) (bool, error)) (bool, error) { + for _, node := range nodes { + if node == nil { + continue + } + + // Execute the visit function if the node type matches + if node.GetType() == nodeType { + if status, err := visitFunc(node); err != nil { + return status, err + } else if !status { + return status, err + } + } + + // Recursively call this function for all child nodes + status, err := t.executeTypeVisitRecursive(node.GetNodes(), nodeType, visitFunc) + if err != nil { + return status, err + } + } + + return false, nil +} + +func (t *Tree) walkRecursive(node Node[NodeType], visitor *NodeVisitor) (bool, error) { + if node == nil { + return true, nil + } + + // Execute all registered functions sequentially for this node type + if visitFuncs, ok := visitor.TypeVisit[node.GetType()]; ok { + for _, visitFunc := range visitFuncs { + status, err := visitFunc(node) + if err != nil { + return status, err + } + if !status { + return status, nil + } + } + } else if visitor.Visit != nil { + status := visitor.Visit(node) + if !status { + return status, nil + } + } + + // Recursively call this function for all child nodes + for _, child := range node.GetNodes() { + status, err := t.walkRecursive(child, visitor) + if err != nil { + return status, err + } + if !status { + return status, nil + } + } + + return true, nil +} diff --git a/ast/while.go b/ast/while.go index 71b04eee..73de873a 100644 --- a/ast/while.go +++ b/ast/while.go @@ -76,7 +76,9 @@ func (w *WhileStatement) GetTypeDescription() *TypeDescription { func (w *WhileStatement) GetNodes() []Node[NodeType] { toReturn := make([]Node[NodeType], 0) toReturn = append(toReturn, w.Condition) - toReturn = append(toReturn, w.Body.GetNodes()...) + if w.Body != nil { + toReturn = append(toReturn, w.Body.GetNodes()...) + } return toReturn } @@ -168,11 +170,12 @@ func (w *WhileStatement) Parse( expression := NewExpression(w.ASTBuilder) w.Condition = expression.Parse(unit, contractNode, fnNode, bodyNode, nil, w, w.GetId(), ctx.Expression()) + bn := NewBodyNode(w.ASTBuilder, false) + w.Body = bn + // Parsing the body of the while loop. if ctx.Statement() != nil && ctx.Statement().Block() != nil && !ctx.Statement().Block().IsEmpty() { - bodyNode := NewBodyNode(w.ASTBuilder, false) - bodyNode.ParseBlock(unit, contractNode, w, ctx.Statement().Block()) - w.Body = bodyNode + w.Body.ParseBlock(unit, contractNode, w, ctx.Statement().Block()) // Parsing unchecked blocks within the body. if ctx.Statement().Block() != nil && ctx.Statement().Block().AllUncheckedBlock() != nil { diff --git a/audit/report.go b/audit/report.go index 13bce862..c1db72d0 100644 --- a/audit/report.go +++ b/audit/report.go @@ -1,6 +1,9 @@ package audit -import "encoding/json" +import ( + "encoding/json" + "strings" +) // ImpactLevel represents the severity of a detected issue in the audit results. type ImpactLevel string @@ -104,7 +107,7 @@ func (r *Report) CountByImpactLevel() map[ImpactLevel]int { func (r *Report) HighConfidenceDetectors() []Detector { var detectors []Detector for _, detector := range r.Results.Detectors { - if detector.Confidence == "High" { + if strings.ToLower(detector.Confidence) == "high" { detectors = append(detectors, detector) } } diff --git a/bindings/binding.go b/bindings/binding.go new file mode 100644 index 00000000..64db2503 --- /dev/null +++ b/bindings/binding.go @@ -0,0 +1,70 @@ +package bindings + +import ( + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +type Binding struct { + network utils.Network + networkID utils.NetworkID + Type BindingType + Address common.Address + RawABI string + ABI *abi.ABI +} + +func (b *Binding) GetNetwork() utils.Network { + return b.network +} + +func (b *Binding) GetNetworkID() utils.NetworkID { + return b.networkID +} + +func (b *Binding) GetType() BindingType { + return b.Type +} + +func (b *Binding) GetAddress() common.Address { + return b.Address +} + +func (b *Binding) GetRawABI() string { + return b.RawABI +} + +func (b *Binding) GetABI() *abi.ABI { + return b.ABI +} + +// GetAllMethods returns all the method names in the contract ABI. +func (b *Binding) GetAllMethods() []string { + var methods []string + for name := range b.ABI.Methods { + methods = append(methods, name) + } + return methods +} + +// MethodExist checks if a method exists in the contract ABI. +func (b *Binding) MethodExist(methodName string) bool { + _, exists := b.ABI.Methods[methodName] + return exists +} + +// GetAllEvents returns all the event names in the contract ABI. +func (b *Binding) GetAllEvents() []string { + var events []string + for name := range b.ABI.Events { + events = append(events, name) + } + return events +} + +// EventExist checks if an event exists in the contract ABI. +func (b *Binding) EventExist(eventName string) bool { + _, exists := b.ABI.Events[eventName] + return exists +} diff --git a/bindings/camelotpool/camelotpool.go b/bindings/camelotpool/camelotpool.go new file mode 100644 index 00000000..a84be4b2 --- /dev/null +++ b/bindings/camelotpool/camelotpool.go @@ -0,0 +1,2880 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package camelotpool + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// CamelotPoolMetaData contains all meta data concerning the CamelotPool contract. +var CamelotPoolMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"DrainWrongToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"token0FeePercent\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"token1FeePercent\",\"type\":\"uint16\"}],\"name\":\"FeePercentUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"SetPairTypeImmutable\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"prevStableSwap\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"stableSwap\",\"type\":\"bool\"}],\"name\":\"SetStableSwap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Skim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"}],\"name\":\"Sync\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"FEE_DENOMINATOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_FEE_PERCENT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MINIMUM_LIQUIDITY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"drainWrongToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"}],\"name\":\"getAmountOut\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"_reserve0\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"_reserve1\",\"type\":\"uint112\"},{\"internalType\":\"uint16\",\"name\":\"_token0FeePercent\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"_token1FeePercent\",\"type\":\"uint16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token1\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"pairTypeImmutable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"precisionMultiplier0\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"precisionMultiplier1\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"newToken0FeePercent\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"newToken1FeePercent\",\"type\":\"uint16\"}],\"name\":\"setFeePercent\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"setPairTypeImmutable\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bool\",\"name\":\"stable\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"expectedReserve0\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"expectedReserve1\",\"type\":\"uint112\"}],\"name\":\"setStableSwap\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"skim\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"stableSwap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"}],\"name\":\"swap\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"sync\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token0FeePercent\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token1FeePercent\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", +} + +// CamelotPoolABI is the input ABI used to generate the binding from. +// Deprecated: Use CamelotPoolMetaData.ABI instead. +var CamelotPoolABI = CamelotPoolMetaData.ABI + +// CamelotPool is an auto generated Go binding around an Ethereum contract. +type CamelotPool struct { + CamelotPoolCaller // Read-only binding to the contract + CamelotPoolTransactor // Write-only binding to the contract + CamelotPoolFilterer // Log filterer for contract events +} + +// CamelotPoolCaller is an auto generated read-only Go binding around an Ethereum contract. +type CamelotPoolCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// CamelotPoolTransactor is an auto generated write-only Go binding around an Ethereum contract. +type CamelotPoolTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// CamelotPoolFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type CamelotPoolFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// CamelotPoolSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type CamelotPoolSession struct { + Contract *CamelotPool // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// CamelotPoolCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type CamelotPoolCallerSession struct { + Contract *CamelotPoolCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// CamelotPoolTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type CamelotPoolTransactorSession struct { + Contract *CamelotPoolTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// CamelotPoolRaw is an auto generated low-level Go binding around an Ethereum contract. +type CamelotPoolRaw struct { + Contract *CamelotPool // Generic contract binding to access the raw methods on +} + +// CamelotPoolCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type CamelotPoolCallerRaw struct { + Contract *CamelotPoolCaller // Generic read-only contract binding to access the raw methods on +} + +// CamelotPoolTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type CamelotPoolTransactorRaw struct { + Contract *CamelotPoolTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewCamelotPool creates a new instance of CamelotPool, bound to a specific deployed contract. +func NewCamelotPool(address common.Address, backend bind.ContractBackend) (*CamelotPool, error) { + contract, err := bindCamelotPool(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &CamelotPool{CamelotPoolCaller: CamelotPoolCaller{contract: contract}, CamelotPoolTransactor: CamelotPoolTransactor{contract: contract}, CamelotPoolFilterer: CamelotPoolFilterer{contract: contract}}, nil +} + +// NewCamelotPoolCaller creates a new read-only instance of CamelotPool, bound to a specific deployed contract. +func NewCamelotPoolCaller(address common.Address, caller bind.ContractCaller) (*CamelotPoolCaller, error) { + contract, err := bindCamelotPool(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &CamelotPoolCaller{contract: contract}, nil +} + +// NewCamelotPoolTransactor creates a new write-only instance of CamelotPool, bound to a specific deployed contract. +func NewCamelotPoolTransactor(address common.Address, transactor bind.ContractTransactor) (*CamelotPoolTransactor, error) { + contract, err := bindCamelotPool(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &CamelotPoolTransactor{contract: contract}, nil +} + +// NewCamelotPoolFilterer creates a new log filterer instance of CamelotPool, bound to a specific deployed contract. +func NewCamelotPoolFilterer(address common.Address, filterer bind.ContractFilterer) (*CamelotPoolFilterer, error) { + contract, err := bindCamelotPool(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &CamelotPoolFilterer{contract: contract}, nil +} + +// bindCamelotPool binds a generic wrapper to an already deployed contract. +func bindCamelotPool(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(CamelotPoolABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_CamelotPool *CamelotPoolRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _CamelotPool.Contract.CamelotPoolCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_CamelotPool *CamelotPoolRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _CamelotPool.Contract.CamelotPoolTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_CamelotPool *CamelotPoolRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _CamelotPool.Contract.CamelotPoolTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_CamelotPool *CamelotPoolCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _CamelotPool.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_CamelotPool *CamelotPoolTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _CamelotPool.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_CamelotPool *CamelotPoolTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _CamelotPool.Contract.contract.Transact(opts, method, params...) +} + +// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. +// +// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) +func (_CamelotPool *CamelotPoolCaller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "DOMAIN_SEPARATOR") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. +// +// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) +func (_CamelotPool *CamelotPoolSession) DOMAINSEPARATOR() ([32]byte, error) { + return _CamelotPool.Contract.DOMAINSEPARATOR(&_CamelotPool.CallOpts) +} + +// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. +// +// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) +func (_CamelotPool *CamelotPoolCallerSession) DOMAINSEPARATOR() ([32]byte, error) { + return _CamelotPool.Contract.DOMAINSEPARATOR(&_CamelotPool.CallOpts) +} + +// FEEDENOMINATOR is a free data retrieval call binding the contract method 0xd73792a9. +// +// Solidity: function FEE_DENOMINATOR() view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) FEEDENOMINATOR(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "FEE_DENOMINATOR") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// FEEDENOMINATOR is a free data retrieval call binding the contract method 0xd73792a9. +// +// Solidity: function FEE_DENOMINATOR() view returns(uint256) +func (_CamelotPool *CamelotPoolSession) FEEDENOMINATOR() (*big.Int, error) { + return _CamelotPool.Contract.FEEDENOMINATOR(&_CamelotPool.CallOpts) +} + +// FEEDENOMINATOR is a free data retrieval call binding the contract method 0xd73792a9. +// +// Solidity: function FEE_DENOMINATOR() view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) FEEDENOMINATOR() (*big.Int, error) { + return _CamelotPool.Contract.FEEDENOMINATOR(&_CamelotPool.CallOpts) +} + +// MAXFEEPERCENT is a free data retrieval call binding the contract method 0x67d81740. +// +// Solidity: function MAX_FEE_PERCENT() view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) MAXFEEPERCENT(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "MAX_FEE_PERCENT") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// MAXFEEPERCENT is a free data retrieval call binding the contract method 0x67d81740. +// +// Solidity: function MAX_FEE_PERCENT() view returns(uint256) +func (_CamelotPool *CamelotPoolSession) MAXFEEPERCENT() (*big.Int, error) { + return _CamelotPool.Contract.MAXFEEPERCENT(&_CamelotPool.CallOpts) +} + +// MAXFEEPERCENT is a free data retrieval call binding the contract method 0x67d81740. +// +// Solidity: function MAX_FEE_PERCENT() view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) MAXFEEPERCENT() (*big.Int, error) { + return _CamelotPool.Contract.MAXFEEPERCENT(&_CamelotPool.CallOpts) +} + +// MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. +// +// Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) MINIMUMLIQUIDITY(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "MINIMUM_LIQUIDITY") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. +// +// Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) +func (_CamelotPool *CamelotPoolSession) MINIMUMLIQUIDITY() (*big.Int, error) { + return _CamelotPool.Contract.MINIMUMLIQUIDITY(&_CamelotPool.CallOpts) +} + +// MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. +// +// Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) MINIMUMLIQUIDITY() (*big.Int, error) { + return _CamelotPool.Contract.MINIMUMLIQUIDITY(&_CamelotPool.CallOpts) +} + +// PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. +// +// Solidity: function PERMIT_TYPEHASH() view returns(bytes32) +func (_CamelotPool *CamelotPoolCaller) PERMITTYPEHASH(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "PERMIT_TYPEHASH") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. +// +// Solidity: function PERMIT_TYPEHASH() view returns(bytes32) +func (_CamelotPool *CamelotPoolSession) PERMITTYPEHASH() ([32]byte, error) { + return _CamelotPool.Contract.PERMITTYPEHASH(&_CamelotPool.CallOpts) +} + +// PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. +// +// Solidity: function PERMIT_TYPEHASH() view returns(bytes32) +func (_CamelotPool *CamelotPoolCallerSession) PERMITTYPEHASH() ([32]byte, error) { + return _CamelotPool.Contract.PERMITTYPEHASH(&_CamelotPool.CallOpts) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address , address ) view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "allowance", arg0, arg1) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address , address ) view returns(uint256) +func (_CamelotPool *CamelotPoolSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _CamelotPool.Contract.Allowance(&_CamelotPool.CallOpts, arg0, arg1) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address , address ) view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _CamelotPool.Contract.Allowance(&_CamelotPool.CallOpts, arg0, arg1) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address ) view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "balanceOf", arg0) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address ) view returns(uint256) +func (_CamelotPool *CamelotPoolSession) BalanceOf(arg0 common.Address) (*big.Int, error) { + return _CamelotPool.Contract.BalanceOf(&_CamelotPool.CallOpts, arg0) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address ) view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) BalanceOf(arg0 common.Address) (*big.Int, error) { + return _CamelotPool.Contract.BalanceOf(&_CamelotPool.CallOpts, arg0) +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_CamelotPool *CamelotPoolCaller) Decimals(opts *bind.CallOpts) (uint8, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "decimals") + + if err != nil { + return *new(uint8), err + } + + out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) + + return out0, err + +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_CamelotPool *CamelotPoolSession) Decimals() (uint8, error) { + return _CamelotPool.Contract.Decimals(&_CamelotPool.CallOpts) +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_CamelotPool *CamelotPoolCallerSession) Decimals() (uint8, error) { + return _CamelotPool.Contract.Decimals(&_CamelotPool.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_CamelotPool *CamelotPoolCaller) Factory(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "factory") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_CamelotPool *CamelotPoolSession) Factory() (common.Address, error) { + return _CamelotPool.Contract.Factory(&_CamelotPool.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_CamelotPool *CamelotPoolCallerSession) Factory() (common.Address, error) { + return _CamelotPool.Contract.Factory(&_CamelotPool.CallOpts) +} + +// GetAmountOut is a free data retrieval call binding the contract method 0xf140a35a. +// +// Solidity: function getAmountOut(uint256 amountIn, address tokenIn) view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) GetAmountOut(opts *bind.CallOpts, amountIn *big.Int, tokenIn common.Address) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "getAmountOut", amountIn, tokenIn) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// GetAmountOut is a free data retrieval call binding the contract method 0xf140a35a. +// +// Solidity: function getAmountOut(uint256 amountIn, address tokenIn) view returns(uint256) +func (_CamelotPool *CamelotPoolSession) GetAmountOut(amountIn *big.Int, tokenIn common.Address) (*big.Int, error) { + return _CamelotPool.Contract.GetAmountOut(&_CamelotPool.CallOpts, amountIn, tokenIn) +} + +// GetAmountOut is a free data retrieval call binding the contract method 0xf140a35a. +// +// Solidity: function getAmountOut(uint256 amountIn, address tokenIn) view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) GetAmountOut(amountIn *big.Int, tokenIn common.Address) (*big.Int, error) { + return _CamelotPool.Contract.GetAmountOut(&_CamelotPool.CallOpts, amountIn, tokenIn) +} + +// GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. +// +// Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint16 _token0FeePercent, uint16 _token1FeePercent) +func (_CamelotPool *CamelotPoolCaller) GetReserves(opts *bind.CallOpts) (struct { + Reserve0 *big.Int + Reserve1 *big.Int + Token0FeePercent uint16 + Token1FeePercent uint16 +}, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "getReserves") + + outstruct := new(struct { + Reserve0 *big.Int + Reserve1 *big.Int + Token0FeePercent uint16 + Token1FeePercent uint16 + }) + if err != nil { + return *outstruct, err + } + + outstruct.Reserve0 = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + outstruct.Reserve1 = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.Token0FeePercent = *abi.ConvertType(out[2], new(uint16)).(*uint16) + outstruct.Token1FeePercent = *abi.ConvertType(out[3], new(uint16)).(*uint16) + + return *outstruct, err + +} + +// GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. +// +// Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint16 _token0FeePercent, uint16 _token1FeePercent) +func (_CamelotPool *CamelotPoolSession) GetReserves() (struct { + Reserve0 *big.Int + Reserve1 *big.Int + Token0FeePercent uint16 + Token1FeePercent uint16 +}, error) { + return _CamelotPool.Contract.GetReserves(&_CamelotPool.CallOpts) +} + +// GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. +// +// Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint16 _token0FeePercent, uint16 _token1FeePercent) +func (_CamelotPool *CamelotPoolCallerSession) GetReserves() (struct { + Reserve0 *big.Int + Reserve1 *big.Int + Token0FeePercent uint16 + Token1FeePercent uint16 +}, error) { + return _CamelotPool.Contract.GetReserves(&_CamelotPool.CallOpts) +} + +// Initialized is a free data retrieval call binding the contract method 0x158ef93e. +// +// Solidity: function initialized() view returns(bool) +func (_CamelotPool *CamelotPoolCaller) Initialized(opts *bind.CallOpts) (bool, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "initialized") + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// Initialized is a free data retrieval call binding the contract method 0x158ef93e. +// +// Solidity: function initialized() view returns(bool) +func (_CamelotPool *CamelotPoolSession) Initialized() (bool, error) { + return _CamelotPool.Contract.Initialized(&_CamelotPool.CallOpts) +} + +// Initialized is a free data retrieval call binding the contract method 0x158ef93e. +// +// Solidity: function initialized() view returns(bool) +func (_CamelotPool *CamelotPoolCallerSession) Initialized() (bool, error) { + return _CamelotPool.Contract.Initialized(&_CamelotPool.CallOpts) +} + +// KLast is a free data retrieval call binding the contract method 0x7464fc3d. +// +// Solidity: function kLast() view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) KLast(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "kLast") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// KLast is a free data retrieval call binding the contract method 0x7464fc3d. +// +// Solidity: function kLast() view returns(uint256) +func (_CamelotPool *CamelotPoolSession) KLast() (*big.Int, error) { + return _CamelotPool.Contract.KLast(&_CamelotPool.CallOpts) +} + +// KLast is a free data retrieval call binding the contract method 0x7464fc3d. +// +// Solidity: function kLast() view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) KLast() (*big.Int, error) { + return _CamelotPool.Contract.KLast(&_CamelotPool.CallOpts) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_CamelotPool *CamelotPoolCaller) Name(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "name") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_CamelotPool *CamelotPoolSession) Name() (string, error) { + return _CamelotPool.Contract.Name(&_CamelotPool.CallOpts) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_CamelotPool *CamelotPoolCallerSession) Name() (string, error) { + return _CamelotPool.Contract.Name(&_CamelotPool.CallOpts) +} + +// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. +// +// Solidity: function nonces(address ) view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) Nonces(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "nonces", arg0) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. +// +// Solidity: function nonces(address ) view returns(uint256) +func (_CamelotPool *CamelotPoolSession) Nonces(arg0 common.Address) (*big.Int, error) { + return _CamelotPool.Contract.Nonces(&_CamelotPool.CallOpts, arg0) +} + +// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. +// +// Solidity: function nonces(address ) view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) Nonces(arg0 common.Address) (*big.Int, error) { + return _CamelotPool.Contract.Nonces(&_CamelotPool.CallOpts, arg0) +} + +// PairTypeImmutable is a free data retrieval call binding the contract method 0xb6200b07. +// +// Solidity: function pairTypeImmutable() view returns(bool) +func (_CamelotPool *CamelotPoolCaller) PairTypeImmutable(opts *bind.CallOpts) (bool, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "pairTypeImmutable") + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// PairTypeImmutable is a free data retrieval call binding the contract method 0xb6200b07. +// +// Solidity: function pairTypeImmutable() view returns(bool) +func (_CamelotPool *CamelotPoolSession) PairTypeImmutable() (bool, error) { + return _CamelotPool.Contract.PairTypeImmutable(&_CamelotPool.CallOpts) +} + +// PairTypeImmutable is a free data retrieval call binding the contract method 0xb6200b07. +// +// Solidity: function pairTypeImmutable() view returns(bool) +func (_CamelotPool *CamelotPoolCallerSession) PairTypeImmutable() (bool, error) { + return _CamelotPool.Contract.PairTypeImmutable(&_CamelotPool.CallOpts) +} + +// PrecisionMultiplier0 is a free data retrieval call binding the contract method 0x3b9f1dc0. +// +// Solidity: function precisionMultiplier0() view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) PrecisionMultiplier0(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "precisionMultiplier0") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// PrecisionMultiplier0 is a free data retrieval call binding the contract method 0x3b9f1dc0. +// +// Solidity: function precisionMultiplier0() view returns(uint256) +func (_CamelotPool *CamelotPoolSession) PrecisionMultiplier0() (*big.Int, error) { + return _CamelotPool.Contract.PrecisionMultiplier0(&_CamelotPool.CallOpts) +} + +// PrecisionMultiplier0 is a free data retrieval call binding the contract method 0x3b9f1dc0. +// +// Solidity: function precisionMultiplier0() view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) PrecisionMultiplier0() (*big.Int, error) { + return _CamelotPool.Contract.PrecisionMultiplier0(&_CamelotPool.CallOpts) +} + +// PrecisionMultiplier1 is a free data retrieval call binding the contract method 0x288e5d02. +// +// Solidity: function precisionMultiplier1() view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) PrecisionMultiplier1(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "precisionMultiplier1") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// PrecisionMultiplier1 is a free data retrieval call binding the contract method 0x288e5d02. +// +// Solidity: function precisionMultiplier1() view returns(uint256) +func (_CamelotPool *CamelotPoolSession) PrecisionMultiplier1() (*big.Int, error) { + return _CamelotPool.Contract.PrecisionMultiplier1(&_CamelotPool.CallOpts) +} + +// PrecisionMultiplier1 is a free data retrieval call binding the contract method 0x288e5d02. +// +// Solidity: function precisionMultiplier1() view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) PrecisionMultiplier1() (*big.Int, error) { + return _CamelotPool.Contract.PrecisionMultiplier1(&_CamelotPool.CallOpts) +} + +// StableSwap is a free data retrieval call binding the contract method 0x9e548b7f. +// +// Solidity: function stableSwap() view returns(bool) +func (_CamelotPool *CamelotPoolCaller) StableSwap(opts *bind.CallOpts) (bool, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "stableSwap") + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// StableSwap is a free data retrieval call binding the contract method 0x9e548b7f. +// +// Solidity: function stableSwap() view returns(bool) +func (_CamelotPool *CamelotPoolSession) StableSwap() (bool, error) { + return _CamelotPool.Contract.StableSwap(&_CamelotPool.CallOpts) +} + +// StableSwap is a free data retrieval call binding the contract method 0x9e548b7f. +// +// Solidity: function stableSwap() view returns(bool) +func (_CamelotPool *CamelotPoolCallerSession) StableSwap() (bool, error) { + return _CamelotPool.Contract.StableSwap(&_CamelotPool.CallOpts) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_CamelotPool *CamelotPoolCaller) Symbol(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "symbol") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_CamelotPool *CamelotPoolSession) Symbol() (string, error) { + return _CamelotPool.Contract.Symbol(&_CamelotPool.CallOpts) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_CamelotPool *CamelotPoolCallerSession) Symbol() (string, error) { + return _CamelotPool.Contract.Symbol(&_CamelotPool.CallOpts) +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_CamelotPool *CamelotPoolCaller) Token0(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "token0") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_CamelotPool *CamelotPoolSession) Token0() (common.Address, error) { + return _CamelotPool.Contract.Token0(&_CamelotPool.CallOpts) +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_CamelotPool *CamelotPoolCallerSession) Token0() (common.Address, error) { + return _CamelotPool.Contract.Token0(&_CamelotPool.CallOpts) +} + +// Token0FeePercent is a free data retrieval call binding the contract method 0x62ecec03. +// +// Solidity: function token0FeePercent() view returns(uint16) +func (_CamelotPool *CamelotPoolCaller) Token0FeePercent(opts *bind.CallOpts) (uint16, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "token0FeePercent") + + if err != nil { + return *new(uint16), err + } + + out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16) + + return out0, err + +} + +// Token0FeePercent is a free data retrieval call binding the contract method 0x62ecec03. +// +// Solidity: function token0FeePercent() view returns(uint16) +func (_CamelotPool *CamelotPoolSession) Token0FeePercent() (uint16, error) { + return _CamelotPool.Contract.Token0FeePercent(&_CamelotPool.CallOpts) +} + +// Token0FeePercent is a free data retrieval call binding the contract method 0x62ecec03. +// +// Solidity: function token0FeePercent() view returns(uint16) +func (_CamelotPool *CamelotPoolCallerSession) Token0FeePercent() (uint16, error) { + return _CamelotPool.Contract.Token0FeePercent(&_CamelotPool.CallOpts) +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_CamelotPool *CamelotPoolCaller) Token1(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "token1") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_CamelotPool *CamelotPoolSession) Token1() (common.Address, error) { + return _CamelotPool.Contract.Token1(&_CamelotPool.CallOpts) +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_CamelotPool *CamelotPoolCallerSession) Token1() (common.Address, error) { + return _CamelotPool.Contract.Token1(&_CamelotPool.CallOpts) +} + +// Token1FeePercent is a free data retrieval call binding the contract method 0x2fcd1692. +// +// Solidity: function token1FeePercent() view returns(uint16) +func (_CamelotPool *CamelotPoolCaller) Token1FeePercent(opts *bind.CallOpts) (uint16, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "token1FeePercent") + + if err != nil { + return *new(uint16), err + } + + out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16) + + return out0, err + +} + +// Token1FeePercent is a free data retrieval call binding the contract method 0x2fcd1692. +// +// Solidity: function token1FeePercent() view returns(uint16) +func (_CamelotPool *CamelotPoolSession) Token1FeePercent() (uint16, error) { + return _CamelotPool.Contract.Token1FeePercent(&_CamelotPool.CallOpts) +} + +// Token1FeePercent is a free data retrieval call binding the contract method 0x2fcd1692. +// +// Solidity: function token1FeePercent() view returns(uint16) +func (_CamelotPool *CamelotPoolCallerSession) Token1FeePercent() (uint16, error) { + return _CamelotPool.Contract.Token1FeePercent(&_CamelotPool.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_CamelotPool *CamelotPoolCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _CamelotPool.contract.Call(opts, &out, "totalSupply") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_CamelotPool *CamelotPoolSession) TotalSupply() (*big.Int, error) { + return _CamelotPool.Contract.TotalSupply(&_CamelotPool.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_CamelotPool *CamelotPoolCallerSession) TotalSupply() (*big.Int, error) { + return _CamelotPool.Contract.TotalSupply(&_CamelotPool.CallOpts) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address spender, uint256 value) returns(bool) +func (_CamelotPool *CamelotPoolTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "approve", spender, value) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address spender, uint256 value) returns(bool) +func (_CamelotPool *CamelotPoolSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { + return _CamelotPool.Contract.Approve(&_CamelotPool.TransactOpts, spender, value) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address spender, uint256 value) returns(bool) +func (_CamelotPool *CamelotPoolTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { + return _CamelotPool.Contract.Approve(&_CamelotPool.TransactOpts, spender, value) +} + +// Burn is a paid mutator transaction binding the contract method 0x89afcb44. +// +// Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) +func (_CamelotPool *CamelotPoolTransactor) Burn(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "burn", to) +} + +// Burn is a paid mutator transaction binding the contract method 0x89afcb44. +// +// Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) +func (_CamelotPool *CamelotPoolSession) Burn(to common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Burn(&_CamelotPool.TransactOpts, to) +} + +// Burn is a paid mutator transaction binding the contract method 0x89afcb44. +// +// Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) +func (_CamelotPool *CamelotPoolTransactorSession) Burn(to common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Burn(&_CamelotPool.TransactOpts, to) +} + +// DrainWrongToken is a paid mutator transaction binding the contract method 0xf39ac11f. +// +// Solidity: function drainWrongToken(address token, address to) returns() +func (_CamelotPool *CamelotPoolTransactor) DrainWrongToken(opts *bind.TransactOpts, token common.Address, to common.Address) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "drainWrongToken", token, to) +} + +// DrainWrongToken is a paid mutator transaction binding the contract method 0xf39ac11f. +// +// Solidity: function drainWrongToken(address token, address to) returns() +func (_CamelotPool *CamelotPoolSession) DrainWrongToken(token common.Address, to common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.DrainWrongToken(&_CamelotPool.TransactOpts, token, to) +} + +// DrainWrongToken is a paid mutator transaction binding the contract method 0xf39ac11f. +// +// Solidity: function drainWrongToken(address token, address to) returns() +func (_CamelotPool *CamelotPoolTransactorSession) DrainWrongToken(token common.Address, to common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.DrainWrongToken(&_CamelotPool.TransactOpts, token, to) +} + +// Initialize is a paid mutator transaction binding the contract method 0x485cc955. +// +// Solidity: function initialize(address _token0, address _token1) returns() +func (_CamelotPool *CamelotPoolTransactor) Initialize(opts *bind.TransactOpts, _token0 common.Address, _token1 common.Address) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "initialize", _token0, _token1) +} + +// Initialize is a paid mutator transaction binding the contract method 0x485cc955. +// +// Solidity: function initialize(address _token0, address _token1) returns() +func (_CamelotPool *CamelotPoolSession) Initialize(_token0 common.Address, _token1 common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Initialize(&_CamelotPool.TransactOpts, _token0, _token1) +} + +// Initialize is a paid mutator transaction binding the contract method 0x485cc955. +// +// Solidity: function initialize(address _token0, address _token1) returns() +func (_CamelotPool *CamelotPoolTransactorSession) Initialize(_token0 common.Address, _token1 common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Initialize(&_CamelotPool.TransactOpts, _token0, _token1) +} + +// Mint is a paid mutator transaction binding the contract method 0x6a627842. +// +// Solidity: function mint(address to) returns(uint256 liquidity) +func (_CamelotPool *CamelotPoolTransactor) Mint(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "mint", to) +} + +// Mint is a paid mutator transaction binding the contract method 0x6a627842. +// +// Solidity: function mint(address to) returns(uint256 liquidity) +func (_CamelotPool *CamelotPoolSession) Mint(to common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Mint(&_CamelotPool.TransactOpts, to) +} + +// Mint is a paid mutator transaction binding the contract method 0x6a627842. +// +// Solidity: function mint(address to) returns(uint256 liquidity) +func (_CamelotPool *CamelotPoolTransactorSession) Mint(to common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Mint(&_CamelotPool.TransactOpts, to) +} + +// Permit is a paid mutator transaction binding the contract method 0xd505accf. +// +// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() +func (_CamelotPool *CamelotPoolTransactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "permit", owner, spender, value, deadline, v, r, s) +} + +// Permit is a paid mutator transaction binding the contract method 0xd505accf. +// +// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() +func (_CamelotPool *CamelotPoolSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _CamelotPool.Contract.Permit(&_CamelotPool.TransactOpts, owner, spender, value, deadline, v, r, s) +} + +// Permit is a paid mutator transaction binding the contract method 0xd505accf. +// +// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() +func (_CamelotPool *CamelotPoolTransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _CamelotPool.Contract.Permit(&_CamelotPool.TransactOpts, owner, spender, value, deadline, v, r, s) +} + +// SetFeePercent is a paid mutator transaction binding the contract method 0x48e5d260. +// +// Solidity: function setFeePercent(uint16 newToken0FeePercent, uint16 newToken1FeePercent) returns() +func (_CamelotPool *CamelotPoolTransactor) SetFeePercent(opts *bind.TransactOpts, newToken0FeePercent uint16, newToken1FeePercent uint16) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "setFeePercent", newToken0FeePercent, newToken1FeePercent) +} + +// SetFeePercent is a paid mutator transaction binding the contract method 0x48e5d260. +// +// Solidity: function setFeePercent(uint16 newToken0FeePercent, uint16 newToken1FeePercent) returns() +func (_CamelotPool *CamelotPoolSession) SetFeePercent(newToken0FeePercent uint16, newToken1FeePercent uint16) (*types.Transaction, error) { + return _CamelotPool.Contract.SetFeePercent(&_CamelotPool.TransactOpts, newToken0FeePercent, newToken1FeePercent) +} + +// SetFeePercent is a paid mutator transaction binding the contract method 0x48e5d260. +// +// Solidity: function setFeePercent(uint16 newToken0FeePercent, uint16 newToken1FeePercent) returns() +func (_CamelotPool *CamelotPoolTransactorSession) SetFeePercent(newToken0FeePercent uint16, newToken1FeePercent uint16) (*types.Transaction, error) { + return _CamelotPool.Contract.SetFeePercent(&_CamelotPool.TransactOpts, newToken0FeePercent, newToken1FeePercent) +} + +// SetPairTypeImmutable is a paid mutator transaction binding the contract method 0x3ba17077. +// +// Solidity: function setPairTypeImmutable() returns() +func (_CamelotPool *CamelotPoolTransactor) SetPairTypeImmutable(opts *bind.TransactOpts) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "setPairTypeImmutable") +} + +// SetPairTypeImmutable is a paid mutator transaction binding the contract method 0x3ba17077. +// +// Solidity: function setPairTypeImmutable() returns() +func (_CamelotPool *CamelotPoolSession) SetPairTypeImmutable() (*types.Transaction, error) { + return _CamelotPool.Contract.SetPairTypeImmutable(&_CamelotPool.TransactOpts) +} + +// SetPairTypeImmutable is a paid mutator transaction binding the contract method 0x3ba17077. +// +// Solidity: function setPairTypeImmutable() returns() +func (_CamelotPool *CamelotPoolTransactorSession) SetPairTypeImmutable() (*types.Transaction, error) { + return _CamelotPool.Contract.SetPairTypeImmutable(&_CamelotPool.TransactOpts) +} + +// SetStableSwap is a paid mutator transaction binding the contract method 0x3029e5d4. +// +// Solidity: function setStableSwap(bool stable, uint112 expectedReserve0, uint112 expectedReserve1) returns() +func (_CamelotPool *CamelotPoolTransactor) SetStableSwap(opts *bind.TransactOpts, stable bool, expectedReserve0 *big.Int, expectedReserve1 *big.Int) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "setStableSwap", stable, expectedReserve0, expectedReserve1) +} + +// SetStableSwap is a paid mutator transaction binding the contract method 0x3029e5d4. +// +// Solidity: function setStableSwap(bool stable, uint112 expectedReserve0, uint112 expectedReserve1) returns() +func (_CamelotPool *CamelotPoolSession) SetStableSwap(stable bool, expectedReserve0 *big.Int, expectedReserve1 *big.Int) (*types.Transaction, error) { + return _CamelotPool.Contract.SetStableSwap(&_CamelotPool.TransactOpts, stable, expectedReserve0, expectedReserve1) +} + +// SetStableSwap is a paid mutator transaction binding the contract method 0x3029e5d4. +// +// Solidity: function setStableSwap(bool stable, uint112 expectedReserve0, uint112 expectedReserve1) returns() +func (_CamelotPool *CamelotPoolTransactorSession) SetStableSwap(stable bool, expectedReserve0 *big.Int, expectedReserve1 *big.Int) (*types.Transaction, error) { + return _CamelotPool.Contract.SetStableSwap(&_CamelotPool.TransactOpts, stable, expectedReserve0, expectedReserve1) +} + +// Skim is a paid mutator transaction binding the contract method 0xbc25cf77. +// +// Solidity: function skim(address to) returns() +func (_CamelotPool *CamelotPoolTransactor) Skim(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "skim", to) +} + +// Skim is a paid mutator transaction binding the contract method 0xbc25cf77. +// +// Solidity: function skim(address to) returns() +func (_CamelotPool *CamelotPoolSession) Skim(to common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Skim(&_CamelotPool.TransactOpts, to) +} + +// Skim is a paid mutator transaction binding the contract method 0xbc25cf77. +// +// Solidity: function skim(address to) returns() +func (_CamelotPool *CamelotPoolTransactorSession) Skim(to common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Skim(&_CamelotPool.TransactOpts, to) +} + +// Swap is a paid mutator transaction binding the contract method 0x022c0d9f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() +func (_CamelotPool *CamelotPoolTransactor) Swap(opts *bind.TransactOpts, amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "swap", amount0Out, amount1Out, to, data) +} + +// Swap is a paid mutator transaction binding the contract method 0x022c0d9f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() +func (_CamelotPool *CamelotPoolSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { + return _CamelotPool.Contract.Swap(&_CamelotPool.TransactOpts, amount0Out, amount1Out, to, data) +} + +// Swap is a paid mutator transaction binding the contract method 0x022c0d9f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() +func (_CamelotPool *CamelotPoolTransactorSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { + return _CamelotPool.Contract.Swap(&_CamelotPool.TransactOpts, amount0Out, amount1Out, to, data) +} + +// Swap0 is a paid mutator transaction binding the contract method 0x6e1fdd7f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data, address referrer) returns() +func (_CamelotPool *CamelotPoolTransactor) Swap0(opts *bind.TransactOpts, amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte, referrer common.Address) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "swap0", amount0Out, amount1Out, to, data, referrer) +} + +// Swap0 is a paid mutator transaction binding the contract method 0x6e1fdd7f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data, address referrer) returns() +func (_CamelotPool *CamelotPoolSession) Swap0(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte, referrer common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Swap0(&_CamelotPool.TransactOpts, amount0Out, amount1Out, to, data, referrer) +} + +// Swap0 is a paid mutator transaction binding the contract method 0x6e1fdd7f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data, address referrer) returns() +func (_CamelotPool *CamelotPoolTransactorSession) Swap0(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte, referrer common.Address) (*types.Transaction, error) { + return _CamelotPool.Contract.Swap0(&_CamelotPool.TransactOpts, amount0Out, amount1Out, to, data, referrer) +} + +// Sync is a paid mutator transaction binding the contract method 0xfff6cae9. +// +// Solidity: function sync() returns() +func (_CamelotPool *CamelotPoolTransactor) Sync(opts *bind.TransactOpts) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "sync") +} + +// Sync is a paid mutator transaction binding the contract method 0xfff6cae9. +// +// Solidity: function sync() returns() +func (_CamelotPool *CamelotPoolSession) Sync() (*types.Transaction, error) { + return _CamelotPool.Contract.Sync(&_CamelotPool.TransactOpts) +} + +// Sync is a paid mutator transaction binding the contract method 0xfff6cae9. +// +// Solidity: function sync() returns() +func (_CamelotPool *CamelotPoolTransactorSession) Sync() (*types.Transaction, error) { + return _CamelotPool.Contract.Sync(&_CamelotPool.TransactOpts) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address to, uint256 value) returns(bool) +func (_CamelotPool *CamelotPoolTransactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "transfer", to, value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address to, uint256 value) returns(bool) +func (_CamelotPool *CamelotPoolSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { + return _CamelotPool.Contract.Transfer(&_CamelotPool.TransactOpts, to, value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address to, uint256 value) returns(bool) +func (_CamelotPool *CamelotPoolTransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { + return _CamelotPool.Contract.Transfer(&_CamelotPool.TransactOpts, to, value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) +func (_CamelotPool *CamelotPoolTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { + return _CamelotPool.contract.Transact(opts, "transferFrom", from, to, value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) +func (_CamelotPool *CamelotPoolSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { + return _CamelotPool.Contract.TransferFrom(&_CamelotPool.TransactOpts, from, to, value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) +func (_CamelotPool *CamelotPoolTransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { + return _CamelotPool.Contract.TransferFrom(&_CamelotPool.TransactOpts, from, to, value) +} + +// CamelotPoolApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the CamelotPool contract. +type CamelotPoolApprovalIterator struct { + Event *CamelotPoolApproval // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolApprovalIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolApproval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolApproval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolApprovalIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolApprovalIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolApproval represents a Approval event raised by the CamelotPool contract. +type CamelotPoolApproval struct { + Owner common.Address + Spender common.Address + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_CamelotPool *CamelotPoolFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*CamelotPoolApprovalIterator, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var spenderRule []interface{} + for _, spenderItem := range spender { + spenderRule = append(spenderRule, spenderItem) + } + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) + if err != nil { + return nil, err + } + return &CamelotPoolApprovalIterator{contract: _CamelotPool.contract, event: "Approval", logs: logs, sub: sub}, nil +} + +// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_CamelotPool *CamelotPoolFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *CamelotPoolApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var spenderRule []interface{} + for _, spenderItem := range spender { + spenderRule = append(spenderRule, spenderItem) + } + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolApproval) + if err := _CamelotPool.contract.UnpackLog(event, "Approval", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_CamelotPool *CamelotPoolFilterer) ParseApproval(log types.Log) (*CamelotPoolApproval, error) { + event := new(CamelotPoolApproval) + if err := _CamelotPool.contract.UnpackLog(event, "Approval", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolBurnIterator is returned from FilterBurn and is used to iterate over the raw logs and unpacked data for Burn events raised by the CamelotPool contract. +type CamelotPoolBurnIterator struct { + Event *CamelotPoolBurn // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolBurnIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolBurn) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolBurn) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolBurnIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolBurnIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolBurn represents a Burn event raised by the CamelotPool contract. +type CamelotPoolBurn struct { + Sender common.Address + Amount0 *big.Int + Amount1 *big.Int + To common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterBurn is a free log retrieval operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. +// +// Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) +func (_CamelotPool *CamelotPoolFilterer) FilterBurn(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*CamelotPoolBurnIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "Burn", senderRule, toRule) + if err != nil { + return nil, err + } + return &CamelotPoolBurnIterator{contract: _CamelotPool.contract, event: "Burn", logs: logs, sub: sub}, nil +} + +// WatchBurn is a free log subscription operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. +// +// Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) +func (_CamelotPool *CamelotPoolFilterer) WatchBurn(opts *bind.WatchOpts, sink chan<- *CamelotPoolBurn, sender []common.Address, to []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "Burn", senderRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolBurn) + if err := _CamelotPool.contract.UnpackLog(event, "Burn", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseBurn is a log parse operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. +// +// Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) +func (_CamelotPool *CamelotPoolFilterer) ParseBurn(log types.Log) (*CamelotPoolBurn, error) { + event := new(CamelotPoolBurn) + if err := _CamelotPool.contract.UnpackLog(event, "Burn", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolDrainWrongTokenIterator is returned from FilterDrainWrongToken and is used to iterate over the raw logs and unpacked data for DrainWrongToken events raised by the CamelotPool contract. +type CamelotPoolDrainWrongTokenIterator struct { + Event *CamelotPoolDrainWrongToken // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolDrainWrongTokenIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolDrainWrongToken) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolDrainWrongToken) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolDrainWrongTokenIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolDrainWrongTokenIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolDrainWrongToken represents a DrainWrongToken event raised by the CamelotPool contract. +type CamelotPoolDrainWrongToken struct { + Token common.Address + To common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterDrainWrongToken is a free log retrieval operation binding the contract event 0x368a9dc863ecb94b5ba32a682e26295b10d9c2666fad7d785ebdf262c3c52413. +// +// Solidity: event DrainWrongToken(address indexed token, address to) +func (_CamelotPool *CamelotPoolFilterer) FilterDrainWrongToken(opts *bind.FilterOpts, token []common.Address) (*CamelotPoolDrainWrongTokenIterator, error) { + + var tokenRule []interface{} + for _, tokenItem := range token { + tokenRule = append(tokenRule, tokenItem) + } + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "DrainWrongToken", tokenRule) + if err != nil { + return nil, err + } + return &CamelotPoolDrainWrongTokenIterator{contract: _CamelotPool.contract, event: "DrainWrongToken", logs: logs, sub: sub}, nil +} + +// WatchDrainWrongToken is a free log subscription operation binding the contract event 0x368a9dc863ecb94b5ba32a682e26295b10d9c2666fad7d785ebdf262c3c52413. +// +// Solidity: event DrainWrongToken(address indexed token, address to) +func (_CamelotPool *CamelotPoolFilterer) WatchDrainWrongToken(opts *bind.WatchOpts, sink chan<- *CamelotPoolDrainWrongToken, token []common.Address) (event.Subscription, error) { + + var tokenRule []interface{} + for _, tokenItem := range token { + tokenRule = append(tokenRule, tokenItem) + } + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "DrainWrongToken", tokenRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolDrainWrongToken) + if err := _CamelotPool.contract.UnpackLog(event, "DrainWrongToken", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseDrainWrongToken is a log parse operation binding the contract event 0x368a9dc863ecb94b5ba32a682e26295b10d9c2666fad7d785ebdf262c3c52413. +// +// Solidity: event DrainWrongToken(address indexed token, address to) +func (_CamelotPool *CamelotPoolFilterer) ParseDrainWrongToken(log types.Log) (*CamelotPoolDrainWrongToken, error) { + event := new(CamelotPoolDrainWrongToken) + if err := _CamelotPool.contract.UnpackLog(event, "DrainWrongToken", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolFeePercentUpdatedIterator is returned from FilterFeePercentUpdated and is used to iterate over the raw logs and unpacked data for FeePercentUpdated events raised by the CamelotPool contract. +type CamelotPoolFeePercentUpdatedIterator struct { + Event *CamelotPoolFeePercentUpdated // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolFeePercentUpdatedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolFeePercentUpdated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolFeePercentUpdated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolFeePercentUpdatedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolFeePercentUpdatedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolFeePercentUpdated represents a FeePercentUpdated event raised by the CamelotPool contract. +type CamelotPoolFeePercentUpdated struct { + Token0FeePercent uint16 + Token1FeePercent uint16 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterFeePercentUpdated is a free log retrieval operation binding the contract event 0xa4877b8ecb5a00ba277e4bceeeb187a669e7113649774dfbea05c259ce27f17b. +// +// Solidity: event FeePercentUpdated(uint16 token0FeePercent, uint16 token1FeePercent) +func (_CamelotPool *CamelotPoolFilterer) FilterFeePercentUpdated(opts *bind.FilterOpts) (*CamelotPoolFeePercentUpdatedIterator, error) { + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "FeePercentUpdated") + if err != nil { + return nil, err + } + return &CamelotPoolFeePercentUpdatedIterator{contract: _CamelotPool.contract, event: "FeePercentUpdated", logs: logs, sub: sub}, nil +} + +// WatchFeePercentUpdated is a free log subscription operation binding the contract event 0xa4877b8ecb5a00ba277e4bceeeb187a669e7113649774dfbea05c259ce27f17b. +// +// Solidity: event FeePercentUpdated(uint16 token0FeePercent, uint16 token1FeePercent) +func (_CamelotPool *CamelotPoolFilterer) WatchFeePercentUpdated(opts *bind.WatchOpts, sink chan<- *CamelotPoolFeePercentUpdated) (event.Subscription, error) { + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "FeePercentUpdated") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolFeePercentUpdated) + if err := _CamelotPool.contract.UnpackLog(event, "FeePercentUpdated", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseFeePercentUpdated is a log parse operation binding the contract event 0xa4877b8ecb5a00ba277e4bceeeb187a669e7113649774dfbea05c259ce27f17b. +// +// Solidity: event FeePercentUpdated(uint16 token0FeePercent, uint16 token1FeePercent) +func (_CamelotPool *CamelotPoolFilterer) ParseFeePercentUpdated(log types.Log) (*CamelotPoolFeePercentUpdated, error) { + event := new(CamelotPoolFeePercentUpdated) + if err := _CamelotPool.contract.UnpackLog(event, "FeePercentUpdated", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolMintIterator is returned from FilterMint and is used to iterate over the raw logs and unpacked data for Mint events raised by the CamelotPool contract. +type CamelotPoolMintIterator struct { + Event *CamelotPoolMint // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolMintIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolMint) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolMint) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolMintIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolMintIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolMint represents a Mint event raised by the CamelotPool contract. +type CamelotPoolMint struct { + Sender common.Address + Amount0 *big.Int + Amount1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterMint is a free log retrieval operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. +// +// Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) +func (_CamelotPool *CamelotPoolFilterer) FilterMint(opts *bind.FilterOpts, sender []common.Address) (*CamelotPoolMintIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "Mint", senderRule) + if err != nil { + return nil, err + } + return &CamelotPoolMintIterator{contract: _CamelotPool.contract, event: "Mint", logs: logs, sub: sub}, nil +} + +// WatchMint is a free log subscription operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. +// +// Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) +func (_CamelotPool *CamelotPoolFilterer) WatchMint(opts *bind.WatchOpts, sink chan<- *CamelotPoolMint, sender []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "Mint", senderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolMint) + if err := _CamelotPool.contract.UnpackLog(event, "Mint", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseMint is a log parse operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. +// +// Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) +func (_CamelotPool *CamelotPoolFilterer) ParseMint(log types.Log) (*CamelotPoolMint, error) { + event := new(CamelotPoolMint) + if err := _CamelotPool.contract.UnpackLog(event, "Mint", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolSetPairTypeImmutableIterator is returned from FilterSetPairTypeImmutable and is used to iterate over the raw logs and unpacked data for SetPairTypeImmutable events raised by the CamelotPool contract. +type CamelotPoolSetPairTypeImmutableIterator struct { + Event *CamelotPoolSetPairTypeImmutable // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolSetPairTypeImmutableIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSetPairTypeImmutable) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSetPairTypeImmutable) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolSetPairTypeImmutableIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolSetPairTypeImmutableIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolSetPairTypeImmutable represents a SetPairTypeImmutable event raised by the CamelotPool contract. +type CamelotPoolSetPairTypeImmutable struct { + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetPairTypeImmutable is a free log retrieval operation binding the contract event 0x09122c41ae733a4d7740324d50e35fbd6ee85be3c1312a45596d8045150ab2f2. +// +// Solidity: event SetPairTypeImmutable() +func (_CamelotPool *CamelotPoolFilterer) FilterSetPairTypeImmutable(opts *bind.FilterOpts) (*CamelotPoolSetPairTypeImmutableIterator, error) { + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "SetPairTypeImmutable") + if err != nil { + return nil, err + } + return &CamelotPoolSetPairTypeImmutableIterator{contract: _CamelotPool.contract, event: "SetPairTypeImmutable", logs: logs, sub: sub}, nil +} + +// WatchSetPairTypeImmutable is a free log subscription operation binding the contract event 0x09122c41ae733a4d7740324d50e35fbd6ee85be3c1312a45596d8045150ab2f2. +// +// Solidity: event SetPairTypeImmutable() +func (_CamelotPool *CamelotPoolFilterer) WatchSetPairTypeImmutable(opts *bind.WatchOpts, sink chan<- *CamelotPoolSetPairTypeImmutable) (event.Subscription, error) { + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "SetPairTypeImmutable") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolSetPairTypeImmutable) + if err := _CamelotPool.contract.UnpackLog(event, "SetPairTypeImmutable", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSetPairTypeImmutable is a log parse operation binding the contract event 0x09122c41ae733a4d7740324d50e35fbd6ee85be3c1312a45596d8045150ab2f2. +// +// Solidity: event SetPairTypeImmutable() +func (_CamelotPool *CamelotPoolFilterer) ParseSetPairTypeImmutable(log types.Log) (*CamelotPoolSetPairTypeImmutable, error) { + event := new(CamelotPoolSetPairTypeImmutable) + if err := _CamelotPool.contract.UnpackLog(event, "SetPairTypeImmutable", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolSetStableSwapIterator is returned from FilterSetStableSwap and is used to iterate over the raw logs and unpacked data for SetStableSwap events raised by the CamelotPool contract. +type CamelotPoolSetStableSwapIterator struct { + Event *CamelotPoolSetStableSwap // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolSetStableSwapIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSetStableSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSetStableSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolSetStableSwapIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolSetStableSwapIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolSetStableSwap represents a SetStableSwap event raised by the CamelotPool contract. +type CamelotPoolSetStableSwap struct { + PrevStableSwap bool + StableSwap bool + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetStableSwap is a free log retrieval operation binding the contract event 0xb6a86710bde53aa7fb1b3856279e2af5b476d53e2dd0902cf17a0911b5a43a8b. +// +// Solidity: event SetStableSwap(bool prevStableSwap, bool stableSwap) +func (_CamelotPool *CamelotPoolFilterer) FilterSetStableSwap(opts *bind.FilterOpts) (*CamelotPoolSetStableSwapIterator, error) { + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "SetStableSwap") + if err != nil { + return nil, err + } + return &CamelotPoolSetStableSwapIterator{contract: _CamelotPool.contract, event: "SetStableSwap", logs: logs, sub: sub}, nil +} + +// WatchSetStableSwap is a free log subscription operation binding the contract event 0xb6a86710bde53aa7fb1b3856279e2af5b476d53e2dd0902cf17a0911b5a43a8b. +// +// Solidity: event SetStableSwap(bool prevStableSwap, bool stableSwap) +func (_CamelotPool *CamelotPoolFilterer) WatchSetStableSwap(opts *bind.WatchOpts, sink chan<- *CamelotPoolSetStableSwap) (event.Subscription, error) { + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "SetStableSwap") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolSetStableSwap) + if err := _CamelotPool.contract.UnpackLog(event, "SetStableSwap", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSetStableSwap is a log parse operation binding the contract event 0xb6a86710bde53aa7fb1b3856279e2af5b476d53e2dd0902cf17a0911b5a43a8b. +// +// Solidity: event SetStableSwap(bool prevStableSwap, bool stableSwap) +func (_CamelotPool *CamelotPoolFilterer) ParseSetStableSwap(log types.Log) (*CamelotPoolSetStableSwap, error) { + event := new(CamelotPoolSetStableSwap) + if err := _CamelotPool.contract.UnpackLog(event, "SetStableSwap", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolSkimIterator is returned from FilterSkim and is used to iterate over the raw logs and unpacked data for Skim events raised by the CamelotPool contract. +type CamelotPoolSkimIterator struct { + Event *CamelotPoolSkim // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolSkimIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSkim) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSkim) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolSkimIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolSkimIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolSkim represents a Skim event raised by the CamelotPool contract. +type CamelotPoolSkim struct { + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSkim is a free log retrieval operation binding the contract event 0x21ad22495c9c75cd1c94756f91824e779c0c8a8e168b267c790df464fe056b79. +// +// Solidity: event Skim() +func (_CamelotPool *CamelotPoolFilterer) FilterSkim(opts *bind.FilterOpts) (*CamelotPoolSkimIterator, error) { + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "Skim") + if err != nil { + return nil, err + } + return &CamelotPoolSkimIterator{contract: _CamelotPool.contract, event: "Skim", logs: logs, sub: sub}, nil +} + +// WatchSkim is a free log subscription operation binding the contract event 0x21ad22495c9c75cd1c94756f91824e779c0c8a8e168b267c790df464fe056b79. +// +// Solidity: event Skim() +func (_CamelotPool *CamelotPoolFilterer) WatchSkim(opts *bind.WatchOpts, sink chan<- *CamelotPoolSkim) (event.Subscription, error) { + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "Skim") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolSkim) + if err := _CamelotPool.contract.UnpackLog(event, "Skim", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSkim is a log parse operation binding the contract event 0x21ad22495c9c75cd1c94756f91824e779c0c8a8e168b267c790df464fe056b79. +// +// Solidity: event Skim() +func (_CamelotPool *CamelotPoolFilterer) ParseSkim(log types.Log) (*CamelotPoolSkim, error) { + event := new(CamelotPoolSkim) + if err := _CamelotPool.contract.UnpackLog(event, "Skim", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolSwapIterator is returned from FilterSwap and is used to iterate over the raw logs and unpacked data for Swap events raised by the CamelotPool contract. +type CamelotPoolSwapIterator struct { + Event *CamelotPoolSwap // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolSwapIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolSwapIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolSwapIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolSwap represents a Swap event raised by the CamelotPool contract. +type CamelotPoolSwap struct { + Sender common.Address + Amount0In *big.Int + Amount1In *big.Int + Amount0Out *big.Int + Amount1Out *big.Int + To common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSwap is a free log retrieval operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. +// +// Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) +func (_CamelotPool *CamelotPoolFilterer) FilterSwap(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*CamelotPoolSwapIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "Swap", senderRule, toRule) + if err != nil { + return nil, err + } + return &CamelotPoolSwapIterator{contract: _CamelotPool.contract, event: "Swap", logs: logs, sub: sub}, nil +} + +// WatchSwap is a free log subscription operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. +// +// Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) +func (_CamelotPool *CamelotPoolFilterer) WatchSwap(opts *bind.WatchOpts, sink chan<- *CamelotPoolSwap, sender []common.Address, to []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "Swap", senderRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolSwap) + if err := _CamelotPool.contract.UnpackLog(event, "Swap", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSwap is a log parse operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. +// +// Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) +func (_CamelotPool *CamelotPoolFilterer) ParseSwap(log types.Log) (*CamelotPoolSwap, error) { + event := new(CamelotPoolSwap) + if err := _CamelotPool.contract.UnpackLog(event, "Swap", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolSyncIterator is returned from FilterSync and is used to iterate over the raw logs and unpacked data for Sync events raised by the CamelotPool contract. +type CamelotPoolSyncIterator struct { + Event *CamelotPoolSync // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolSyncIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSync) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolSync) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolSyncIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolSyncIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolSync represents a Sync event raised by the CamelotPool contract. +type CamelotPoolSync struct { + Reserve0 *big.Int + Reserve1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSync is a free log retrieval operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. +// +// Solidity: event Sync(uint112 reserve0, uint112 reserve1) +func (_CamelotPool *CamelotPoolFilterer) FilterSync(opts *bind.FilterOpts) (*CamelotPoolSyncIterator, error) { + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "Sync") + if err != nil { + return nil, err + } + return &CamelotPoolSyncIterator{contract: _CamelotPool.contract, event: "Sync", logs: logs, sub: sub}, nil +} + +// WatchSync is a free log subscription operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. +// +// Solidity: event Sync(uint112 reserve0, uint112 reserve1) +func (_CamelotPool *CamelotPoolFilterer) WatchSync(opts *bind.WatchOpts, sink chan<- *CamelotPoolSync) (event.Subscription, error) { + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "Sync") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolSync) + if err := _CamelotPool.contract.UnpackLog(event, "Sync", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSync is a log parse operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. +// +// Solidity: event Sync(uint112 reserve0, uint112 reserve1) +func (_CamelotPool *CamelotPoolFilterer) ParseSync(log types.Log) (*CamelotPoolSync, error) { + event := new(CamelotPoolSync) + if err := _CamelotPool.contract.UnpackLog(event, "Sync", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// CamelotPoolTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the CamelotPool contract. +type CamelotPoolTransferIterator struct { + Event *CamelotPoolTransfer // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *CamelotPoolTransferIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(CamelotPoolTransfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(CamelotPoolTransfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *CamelotPoolTransferIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *CamelotPoolTransferIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// CamelotPoolTransfer represents a Transfer event raised by the CamelotPool contract. +type CamelotPoolTransfer struct { + From common.Address + To common.Address + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_CamelotPool *CamelotPoolFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*CamelotPoolTransferIterator, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _CamelotPool.contract.FilterLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return &CamelotPoolTransferIterator{contract: _CamelotPool.contract, event: "Transfer", logs: logs, sub: sub}, nil +} + +// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_CamelotPool *CamelotPoolFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *CamelotPoolTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _CamelotPool.contract.WatchLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(CamelotPoolTransfer) + if err := _CamelotPool.contract.UnpackLog(event, "Transfer", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_CamelotPool *CamelotPoolFilterer) ParseTransfer(log types.Log) (*CamelotPoolTransfer, error) { + event := new(CamelotPoolTransfer) + if err := _CamelotPool.contract.UnpackLog(event, "Transfer", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/erc1155/erc1155.go b/bindings/erc1155/erc1155.go new file mode 100644 index 00000000..d3339f93 --- /dev/null +++ b/bindings/erc1155/erc1155.go @@ -0,0 +1,1025 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package erc1155 + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// ERC1155MetaData contains all meta data concerning the ERC1155 contract. +var ERC1155MetaData = &bind.MetaData{ + ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", +} + +// ERC1155ABI is the input ABI used to generate the binding from. +// Deprecated: Use ERC1155MetaData.ABI instead. +var ERC1155ABI = ERC1155MetaData.ABI + +// ERC1155 is an auto generated Go binding around an Ethereum contract. +type ERC1155 struct { + ERC1155Caller // Read-only binding to the contract + ERC1155Transactor // Write-only binding to the contract + ERC1155Filterer // Log filterer for contract events +} + +// ERC1155Caller is an auto generated read-only Go binding around an Ethereum contract. +type ERC1155Caller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1155Transactor is an auto generated write-only Go binding around an Ethereum contract. +type ERC1155Transactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1155Filterer is an auto generated log filtering Go binding around an Ethereum contract events. +type ERC1155Filterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1155Session is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type ERC1155Session struct { + Contract *ERC1155 // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC1155CallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type ERC1155CallerSession struct { + Contract *ERC1155Caller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// ERC1155TransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type ERC1155TransactorSession struct { + Contract *ERC1155Transactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC1155Raw is an auto generated low-level Go binding around an Ethereum contract. +type ERC1155Raw struct { + Contract *ERC1155 // Generic contract binding to access the raw methods on +} + +// ERC1155CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type ERC1155CallerRaw struct { + Contract *ERC1155Caller // Generic read-only contract binding to access the raw methods on +} + +// ERC1155TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type ERC1155TransactorRaw struct { + Contract *ERC1155Transactor // Generic write-only contract binding to access the raw methods on +} + +// NewERC1155 creates a new instance of ERC1155, bound to a specific deployed contract. +func NewERC1155(address common.Address, backend bind.ContractBackend) (*ERC1155, error) { + contract, err := bindERC1155(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &ERC1155{ERC1155Caller: ERC1155Caller{contract: contract}, ERC1155Transactor: ERC1155Transactor{contract: contract}, ERC1155Filterer: ERC1155Filterer{contract: contract}}, nil +} + +// NewERC1155Caller creates a new read-only instance of ERC1155, bound to a specific deployed contract. +func NewERC1155Caller(address common.Address, caller bind.ContractCaller) (*ERC1155Caller, error) { + contract, err := bindERC1155(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &ERC1155Caller{contract: contract}, nil +} + +// NewERC1155Transactor creates a new write-only instance of ERC1155, bound to a specific deployed contract. +func NewERC1155Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC1155Transactor, error) { + contract, err := bindERC1155(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &ERC1155Transactor{contract: contract}, nil +} + +// NewERC1155Filterer creates a new log filterer instance of ERC1155, bound to a specific deployed contract. +func NewERC1155Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC1155Filterer, error) { + contract, err := bindERC1155(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &ERC1155Filterer{contract: contract}, nil +} + +// bindERC1155 binds a generic wrapper to an already deployed contract. +func bindERC1155(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(ERC1155ABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC1155 *ERC1155Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC1155.Contract.ERC1155Caller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC1155 *ERC1155Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC1155.Contract.ERC1155Transactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC1155 *ERC1155Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC1155.Contract.ERC1155Transactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC1155 *ERC1155CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC1155.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC1155 *ERC1155TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC1155.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC1155 *ERC1155TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC1155.Contract.contract.Transact(opts, method, params...) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. +// +// Solidity: function balanceOf(address account, uint256 id) view returns(uint256) +func (_ERC1155 *ERC1155Caller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) { + var out []interface{} + err := _ERC1155.contract.Call(opts, &out, "balanceOf", account, id) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. +// +// Solidity: function balanceOf(address account, uint256 id) view returns(uint256) +func (_ERC1155 *ERC1155Session) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { + return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, account, id) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e. +// +// Solidity: function balanceOf(address account, uint256 id) view returns(uint256) +func (_ERC1155 *ERC1155CallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) { + return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, account, id) +} + +// BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. +// +// Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) +func (_ERC1155 *ERC1155Caller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { + var out []interface{} + err := _ERC1155.contract.Call(opts, &out, "balanceOfBatch", accounts, ids) + + if err != nil { + return *new([]*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) + + return out0, err + +} + +// BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. +// +// Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) +func (_ERC1155 *ERC1155Session) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { + return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, accounts, ids) +} + +// BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4. +// +// Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[]) +func (_ERC1155 *ERC1155CallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) { + return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, accounts, ids) +} + +// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. +// +// Solidity: function isApprovedForAll(address account, address operator) view returns(bool) +func (_ERC1155 *ERC1155Caller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) { + var out []interface{} + err := _ERC1155.contract.Call(opts, &out, "isApprovedForAll", account, operator) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. +// +// Solidity: function isApprovedForAll(address account, address operator) view returns(bool) +func (_ERC1155 *ERC1155Session) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) { + return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, account, operator) +} + +// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. +// +// Solidity: function isApprovedForAll(address account, address operator) view returns(bool) +func (_ERC1155 *ERC1155CallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) { + return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, account, operator) +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) +func (_ERC1155 *ERC1155Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { + var out []interface{} + err := _ERC1155.contract.Call(opts, &out, "supportsInterface", interfaceId) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) +func (_ERC1155 *ERC1155Session) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _ERC1155.Contract.SupportsInterface(&_ERC1155.CallOpts, interfaceId) +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) +func (_ERC1155 *ERC1155CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _ERC1155.Contract.SupportsInterface(&_ERC1155.CallOpts, interfaceId) +} + +// Uri is a free data retrieval call binding the contract method 0x0e89341c. +// +// Solidity: function uri(uint256 id) view returns(string) +func (_ERC1155 *ERC1155Caller) Uri(opts *bind.CallOpts, id *big.Int) (string, error) { + var out []interface{} + err := _ERC1155.contract.Call(opts, &out, "uri", id) + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Uri is a free data retrieval call binding the contract method 0x0e89341c. +// +// Solidity: function uri(uint256 id) view returns(string) +func (_ERC1155 *ERC1155Session) Uri(id *big.Int) (string, error) { + return _ERC1155.Contract.Uri(&_ERC1155.CallOpts, id) +} + +// Uri is a free data retrieval call binding the contract method 0x0e89341c. +// +// Solidity: function uri(uint256 id) view returns(string) +func (_ERC1155 *ERC1155CallerSession) Uri(id *big.Int) (string, error) { + return _ERC1155.Contract.Uri(&_ERC1155.CallOpts, id) +} + +// SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. +// +// Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() +func (_ERC1155 *ERC1155Transactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { + return _ERC1155.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data) +} + +// SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. +// +// Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() +func (_ERC1155 *ERC1155Session) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { + return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, from, to, ids, amounts, data) +} + +// SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6. +// +// Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns() +func (_ERC1155 *ERC1155TransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) { + return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, from, to, ids, amounts, data) +} + +// SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. +// +// Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() +func (_ERC1155 *ERC1155Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { + return _ERC1155.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data) +} + +// SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. +// +// Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() +func (_ERC1155 *ERC1155Session) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { + return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, from, to, id, amount, data) +} + +// SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a. +// +// Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns() +func (_ERC1155 *ERC1155TransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { + return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, from, to, id, amount, data) +} + +// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. +// +// Solidity: function setApprovalForAll(address operator, bool approved) returns() +func (_ERC1155 *ERC1155Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { + return _ERC1155.contract.Transact(opts, "setApprovalForAll", operator, approved) +} + +// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. +// +// Solidity: function setApprovalForAll(address operator, bool approved) returns() +func (_ERC1155 *ERC1155Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { + return _ERC1155.Contract.SetApprovalForAll(&_ERC1155.TransactOpts, operator, approved) +} + +// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. +// +// Solidity: function setApprovalForAll(address operator, bool approved) returns() +func (_ERC1155 *ERC1155TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { + return _ERC1155.Contract.SetApprovalForAll(&_ERC1155.TransactOpts, operator, approved) +} + +// ERC1155ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC1155 contract. +type ERC1155ApprovalForAllIterator struct { + Event *ERC1155ApprovalForAll // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1155ApprovalForAllIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1155ApprovalForAll) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1155ApprovalForAll) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1155ApprovalForAllIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1155ApprovalForAllIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1155ApprovalForAll represents a ApprovalForAll event raised by the ERC1155 contract. +type ERC1155ApprovalForAll struct { + Account common.Address + Operator common.Address + Approved bool + Raw types.Log // Blockchain specific contextual infos +} + +// FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. +// +// Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved) +func (_ERC1155 *ERC1155Filterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*ERC1155ApprovalForAllIterator, error) { + + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var operatorRule []interface{} + for _, operatorItem := range operator { + operatorRule = append(operatorRule, operatorItem) + } + + logs, sub, err := _ERC1155.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule) + if err != nil { + return nil, err + } + return &ERC1155ApprovalForAllIterator{contract: _ERC1155.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil +} + +// WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. +// +// Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved) +func (_ERC1155 *ERC1155Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC1155ApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) { + + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var operatorRule []interface{} + for _, operatorItem := range operator { + operatorRule = append(operatorRule, operatorItem) + } + + logs, sub, err := _ERC1155.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1155ApprovalForAll) + if err := _ERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. +// +// Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved) +func (_ERC1155 *ERC1155Filterer) ParseApprovalForAll(log types.Log) (*ERC1155ApprovalForAll, error) { + event := new(ERC1155ApprovalForAll) + if err := _ERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ERC1155TransferBatchIterator is returned from FilterTransferBatch and is used to iterate over the raw logs and unpacked data for TransferBatch events raised by the ERC1155 contract. +type ERC1155TransferBatchIterator struct { + Event *ERC1155TransferBatch // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1155TransferBatchIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1155TransferBatch) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1155TransferBatch) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1155TransferBatchIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1155TransferBatchIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1155TransferBatch represents a TransferBatch event raised by the ERC1155 contract. +type ERC1155TransferBatch struct { + Operator common.Address + From common.Address + To common.Address + Ids []*big.Int + Values []*big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb. +// +// Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values) +func (_ERC1155 *ERC1155Filterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*ERC1155TransferBatchIterator, error) { + + var operatorRule []interface{} + for _, operatorItem := range operator { + operatorRule = append(operatorRule, operatorItem) + } + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _ERC1155.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule) + if err != nil { + return nil, err + } + return &ERC1155TransferBatchIterator{contract: _ERC1155.contract, event: "TransferBatch", logs: logs, sub: sub}, nil +} + +// WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb. +// +// Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values) +func (_ERC1155 *ERC1155Filterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *ERC1155TransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) { + + var operatorRule []interface{} + for _, operatorItem := range operator { + operatorRule = append(operatorRule, operatorItem) + } + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _ERC1155.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1155TransferBatch) + if err := _ERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb. +// +// Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values) +func (_ERC1155 *ERC1155Filterer) ParseTransferBatch(log types.Log) (*ERC1155TransferBatch, error) { + event := new(ERC1155TransferBatch) + if err := _ERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ERC1155TransferSingleIterator is returned from FilterTransferSingle and is used to iterate over the raw logs and unpacked data for TransferSingle events raised by the ERC1155 contract. +type ERC1155TransferSingleIterator struct { + Event *ERC1155TransferSingle // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1155TransferSingleIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1155TransferSingle) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1155TransferSingle) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1155TransferSingleIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1155TransferSingleIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1155TransferSingle represents a TransferSingle event raised by the ERC1155 contract. +type ERC1155TransferSingle struct { + Operator common.Address + From common.Address + To common.Address + Id *big.Int + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62. +// +// Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value) +func (_ERC1155 *ERC1155Filterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*ERC1155TransferSingleIterator, error) { + + var operatorRule []interface{} + for _, operatorItem := range operator { + operatorRule = append(operatorRule, operatorItem) + } + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _ERC1155.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule) + if err != nil { + return nil, err + } + return &ERC1155TransferSingleIterator{contract: _ERC1155.contract, event: "TransferSingle", logs: logs, sub: sub}, nil +} + +// WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62. +// +// Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value) +func (_ERC1155 *ERC1155Filterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *ERC1155TransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) { + + var operatorRule []interface{} + for _, operatorItem := range operator { + operatorRule = append(operatorRule, operatorItem) + } + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _ERC1155.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1155TransferSingle) + if err := _ERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62. +// +// Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value) +func (_ERC1155 *ERC1155Filterer) ParseTransferSingle(log types.Log) (*ERC1155TransferSingle, error) { + event := new(ERC1155TransferSingle) + if err := _ERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ERC1155URIIterator is returned from FilterURI and is used to iterate over the raw logs and unpacked data for URI events raised by the ERC1155 contract. +type ERC1155URIIterator struct { + Event *ERC1155URI // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1155URIIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1155URI) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1155URI) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1155URIIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1155URIIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1155URI represents a URI event raised by the ERC1155 contract. +type ERC1155URI struct { + Value string + Id *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b. +// +// Solidity: event URI(string value, uint256 indexed id) +func (_ERC1155 *ERC1155Filterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*ERC1155URIIterator, error) { + + var idRule []interface{} + for _, idItem := range id { + idRule = append(idRule, idItem) + } + + logs, sub, err := _ERC1155.contract.FilterLogs(opts, "URI", idRule) + if err != nil { + return nil, err + } + return &ERC1155URIIterator{contract: _ERC1155.contract, event: "URI", logs: logs, sub: sub}, nil +} + +// WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b. +// +// Solidity: event URI(string value, uint256 indexed id) +func (_ERC1155 *ERC1155Filterer) WatchURI(opts *bind.WatchOpts, sink chan<- *ERC1155URI, id []*big.Int) (event.Subscription, error) { + + var idRule []interface{} + for _, idItem := range id { + idRule = append(idRule, idItem) + } + + logs, sub, err := _ERC1155.contract.WatchLogs(opts, "URI", idRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1155URI) + if err := _ERC1155.contract.UnpackLog(event, "URI", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b. +// +// Solidity: event URI(string value, uint256 indexed id) +func (_ERC1155 *ERC1155Filterer) ParseURI(log types.Log) (*ERC1155URI, error) { + event := new(ERC1155URI) + if err := _ERC1155.contract.UnpackLog(event, "URI", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/erc1820/erc1820.go b/bindings/erc1820/erc1820.go new file mode 100644 index 00000000..431508d8 --- /dev/null +++ b/bindings/erc1820/erc1820.go @@ -0,0 +1,620 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package erc1820 + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// ERC1820MetaData contains all meta data concerning the ERC1820 contract. +var ERC1820MetaData = &bind.MetaData{ + ABI: "[{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"},{\"name\":\"interfaceHash\",\"type\":\"bytes32\"}],\"name\":\"getInterfaceImplementer\",\"outputs\":[{\"name\":\"implementer\",\"type\":\"address\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"interfaceHash\",\"type\":\"bytes32\"},{\"name\":\"implementer\",\"type\":\"address\"}],\"name\":\"setInterfaceImplementer\",\"outputs\":[],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"setManager\",\"outputs\":[],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getManager\",\"outputs\":[{\"name\":\"manager\",\"type\":\"address\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"setInterfaceImplementer\",\"outputs\":[],\"type\":\"function\"},{\"inputs\":[],\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"interfaceHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"implementer\",\"type\":\"address\"}],\"name\":\"InterfaceImplementerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ManagerChanged\",\"type\":\"event\"}]", +} + +// ERC1820ABI is the input ABI used to generate the binding from. +// Deprecated: Use ERC1820MetaData.ABI instead. +var ERC1820ABI = ERC1820MetaData.ABI + +// ERC1820 is an auto generated Go binding around an Ethereum contract. +type ERC1820 struct { + ERC1820Caller // Read-only binding to the contract + ERC1820Transactor // Write-only binding to the contract + ERC1820Filterer // Log filterer for contract events +} + +// ERC1820Caller is an auto generated read-only Go binding around an Ethereum contract. +type ERC1820Caller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1820Transactor is an auto generated write-only Go binding around an Ethereum contract. +type ERC1820Transactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1820Filterer is an auto generated log filtering Go binding around an Ethereum contract events. +type ERC1820Filterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1820Session is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type ERC1820Session struct { + Contract *ERC1820 // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC1820CallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type ERC1820CallerSession struct { + Contract *ERC1820Caller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// ERC1820TransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type ERC1820TransactorSession struct { + Contract *ERC1820Transactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC1820Raw is an auto generated low-level Go binding around an Ethereum contract. +type ERC1820Raw struct { + Contract *ERC1820 // Generic contract binding to access the raw methods on +} + +// ERC1820CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type ERC1820CallerRaw struct { + Contract *ERC1820Caller // Generic read-only contract binding to access the raw methods on +} + +// ERC1820TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type ERC1820TransactorRaw struct { + Contract *ERC1820Transactor // Generic write-only contract binding to access the raw methods on +} + +// NewERC1820 creates a new instance of ERC1820, bound to a specific deployed contract. +func NewERC1820(address common.Address, backend bind.ContractBackend) (*ERC1820, error) { + contract, err := bindERC1820(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &ERC1820{ERC1820Caller: ERC1820Caller{contract: contract}, ERC1820Transactor: ERC1820Transactor{contract: contract}, ERC1820Filterer: ERC1820Filterer{contract: contract}}, nil +} + +// NewERC1820Caller creates a new read-only instance of ERC1820, bound to a specific deployed contract. +func NewERC1820Caller(address common.Address, caller bind.ContractCaller) (*ERC1820Caller, error) { + contract, err := bindERC1820(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &ERC1820Caller{contract: contract}, nil +} + +// NewERC1820Transactor creates a new write-only instance of ERC1820, bound to a specific deployed contract. +func NewERC1820Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC1820Transactor, error) { + contract, err := bindERC1820(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &ERC1820Transactor{contract: contract}, nil +} + +// NewERC1820Filterer creates a new log filterer instance of ERC1820, bound to a specific deployed contract. +func NewERC1820Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC1820Filterer, error) { + contract, err := bindERC1820(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &ERC1820Filterer{contract: contract}, nil +} + +// bindERC1820 binds a generic wrapper to an already deployed contract. +func bindERC1820(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(ERC1820ABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC1820 *ERC1820Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC1820.Contract.ERC1820Caller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC1820 *ERC1820Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC1820.Contract.ERC1820Transactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC1820 *ERC1820Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC1820.Contract.ERC1820Transactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC1820 *ERC1820CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC1820.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC1820 *ERC1820TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC1820.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC1820 *ERC1820TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC1820.Contract.contract.Transact(opts, method, params...) +} + +// GetInterfaceImplementer is a free data retrieval call binding the contract method 0xaabbb8ca. +// +// Solidity: function getInterfaceImplementer(address account, bytes32 interfaceHash) returns(address implementer) +func (_ERC1820 *ERC1820Caller) GetInterfaceImplementer(opts *bind.CallOpts, account common.Address, interfaceHash [32]byte) (common.Address, error) { + var out []interface{} + err := _ERC1820.contract.Call(opts, &out, "getInterfaceImplementer", account, interfaceHash) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GetInterfaceImplementer is a free data retrieval call binding the contract method 0xaabbb8ca. +// +// Solidity: function getInterfaceImplementer(address account, bytes32 interfaceHash) returns(address implementer) +func (_ERC1820 *ERC1820Session) GetInterfaceImplementer(account common.Address, interfaceHash [32]byte) (common.Address, error) { + return _ERC1820.Contract.GetInterfaceImplementer(&_ERC1820.CallOpts, account, interfaceHash) +} + +// GetInterfaceImplementer is a free data retrieval call binding the contract method 0xaabbb8ca. +// +// Solidity: function getInterfaceImplementer(address account, bytes32 interfaceHash) returns(address implementer) +func (_ERC1820 *ERC1820CallerSession) GetInterfaceImplementer(account common.Address, interfaceHash [32]byte) (common.Address, error) { + return _ERC1820.Contract.GetInterfaceImplementer(&_ERC1820.CallOpts, account, interfaceHash) +} + +// GetManager is a free data retrieval call binding the contract method 0x3d584063. +// +// Solidity: function getManager(address account) returns(address manager) +func (_ERC1820 *ERC1820Caller) GetManager(opts *bind.CallOpts, account common.Address) (common.Address, error) { + var out []interface{} + err := _ERC1820.contract.Call(opts, &out, "getManager", account) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GetManager is a free data retrieval call binding the contract method 0x3d584063. +// +// Solidity: function getManager(address account) returns(address manager) +func (_ERC1820 *ERC1820Session) GetManager(account common.Address) (common.Address, error) { + return _ERC1820.Contract.GetManager(&_ERC1820.CallOpts, account) +} + +// GetManager is a free data retrieval call binding the contract method 0x3d584063. +// +// Solidity: function getManager(address account) returns(address manager) +func (_ERC1820 *ERC1820CallerSession) GetManager(account common.Address) (common.Address, error) { + return _ERC1820.Contract.GetManager(&_ERC1820.CallOpts, account) +} + +// SetInterfaceImplementer is a paid mutator transaction binding the contract method 0x989f4baf. +// +// Solidity: function setInterfaceImplementer(bytes32 interfaceHash, address implementer) returns() +func (_ERC1820 *ERC1820Transactor) SetInterfaceImplementer(opts *bind.TransactOpts, interfaceHash [32]byte, implementer common.Address) (*types.Transaction, error) { + return _ERC1820.contract.Transact(opts, "setInterfaceImplementer", interfaceHash, implementer) +} + +// SetInterfaceImplementer is a paid mutator transaction binding the contract method 0x989f4baf. +// +// Solidity: function setInterfaceImplementer(bytes32 interfaceHash, address implementer) returns() +func (_ERC1820 *ERC1820Session) SetInterfaceImplementer(interfaceHash [32]byte, implementer common.Address) (*types.Transaction, error) { + return _ERC1820.Contract.SetInterfaceImplementer(&_ERC1820.TransactOpts, interfaceHash, implementer) +} + +// SetInterfaceImplementer is a paid mutator transaction binding the contract method 0x989f4baf. +// +// Solidity: function setInterfaceImplementer(bytes32 interfaceHash, address implementer) returns() +func (_ERC1820 *ERC1820TransactorSession) SetInterfaceImplementer(interfaceHash [32]byte, implementer common.Address) (*types.Transaction, error) { + return _ERC1820.Contract.SetInterfaceImplementer(&_ERC1820.TransactOpts, interfaceHash, implementer) +} + +// SetInterfaceImplementer0 is a paid mutator transaction binding the contract method 0x73922911. +// +// Solidity: function setInterfaceImplementer(address account) returns() +func (_ERC1820 *ERC1820Transactor) SetInterfaceImplementer0(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { + return _ERC1820.contract.Transact(opts, "setInterfaceImplementer0", account) +} + +// SetInterfaceImplementer0 is a paid mutator transaction binding the contract method 0x73922911. +// +// Solidity: function setInterfaceImplementer(address account) returns() +func (_ERC1820 *ERC1820Session) SetInterfaceImplementer0(account common.Address) (*types.Transaction, error) { + return _ERC1820.Contract.SetInterfaceImplementer0(&_ERC1820.TransactOpts, account) +} + +// SetInterfaceImplementer0 is a paid mutator transaction binding the contract method 0x73922911. +// +// Solidity: function setInterfaceImplementer(address account) returns() +func (_ERC1820 *ERC1820TransactorSession) SetInterfaceImplementer0(account common.Address) (*types.Transaction, error) { + return _ERC1820.Contract.SetInterfaceImplementer0(&_ERC1820.TransactOpts, account) +} + +// SetManager is a paid mutator transaction binding the contract method 0xd0ebdbe7. +// +// Solidity: function setManager(address newManager) returns() +func (_ERC1820 *ERC1820Transactor) SetManager(opts *bind.TransactOpts, newManager common.Address) (*types.Transaction, error) { + return _ERC1820.contract.Transact(opts, "setManager", newManager) +} + +// SetManager is a paid mutator transaction binding the contract method 0xd0ebdbe7. +// +// Solidity: function setManager(address newManager) returns() +func (_ERC1820 *ERC1820Session) SetManager(newManager common.Address) (*types.Transaction, error) { + return _ERC1820.Contract.SetManager(&_ERC1820.TransactOpts, newManager) +} + +// SetManager is a paid mutator transaction binding the contract method 0xd0ebdbe7. +// +// Solidity: function setManager(address newManager) returns() +func (_ERC1820 *ERC1820TransactorSession) SetManager(newManager common.Address) (*types.Transaction, error) { + return _ERC1820.Contract.SetManager(&_ERC1820.TransactOpts, newManager) +} + +// ERC1820InterfaceImplementerSetIterator is returned from FilterInterfaceImplementerSet and is used to iterate over the raw logs and unpacked data for InterfaceImplementerSet events raised by the ERC1820 contract. +type ERC1820InterfaceImplementerSetIterator struct { + Event *ERC1820InterfaceImplementerSet // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1820InterfaceImplementerSetIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1820InterfaceImplementerSet) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1820InterfaceImplementerSet) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1820InterfaceImplementerSetIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1820InterfaceImplementerSetIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1820InterfaceImplementerSet represents a InterfaceImplementerSet event raised by the ERC1820 contract. +type ERC1820InterfaceImplementerSet struct { + Account common.Address + InterfaceHash [32]byte + Implementer common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterInterfaceImplementerSet is a free log retrieval operation binding the contract event 0x93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db153. +// +// Solidity: event InterfaceImplementerSet(address indexed account, bytes32 indexed interfaceHash, address indexed implementer) +func (_ERC1820 *ERC1820Filterer) FilterInterfaceImplementerSet(opts *bind.FilterOpts, account []common.Address, interfaceHash [][32]byte, implementer []common.Address) (*ERC1820InterfaceImplementerSetIterator, error) { + + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var interfaceHashRule []interface{} + for _, interfaceHashItem := range interfaceHash { + interfaceHashRule = append(interfaceHashRule, interfaceHashItem) + } + var implementerRule []interface{} + for _, implementerItem := range implementer { + implementerRule = append(implementerRule, implementerItem) + } + + logs, sub, err := _ERC1820.contract.FilterLogs(opts, "InterfaceImplementerSet", accountRule, interfaceHashRule, implementerRule) + if err != nil { + return nil, err + } + return &ERC1820InterfaceImplementerSetIterator{contract: _ERC1820.contract, event: "InterfaceImplementerSet", logs: logs, sub: sub}, nil +} + +// WatchInterfaceImplementerSet is a free log subscription operation binding the contract event 0x93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db153. +// +// Solidity: event InterfaceImplementerSet(address indexed account, bytes32 indexed interfaceHash, address indexed implementer) +func (_ERC1820 *ERC1820Filterer) WatchInterfaceImplementerSet(opts *bind.WatchOpts, sink chan<- *ERC1820InterfaceImplementerSet, account []common.Address, interfaceHash [][32]byte, implementer []common.Address) (event.Subscription, error) { + + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var interfaceHashRule []interface{} + for _, interfaceHashItem := range interfaceHash { + interfaceHashRule = append(interfaceHashRule, interfaceHashItem) + } + var implementerRule []interface{} + for _, implementerItem := range implementer { + implementerRule = append(implementerRule, implementerItem) + } + + logs, sub, err := _ERC1820.contract.WatchLogs(opts, "InterfaceImplementerSet", accountRule, interfaceHashRule, implementerRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1820InterfaceImplementerSet) + if err := _ERC1820.contract.UnpackLog(event, "InterfaceImplementerSet", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseInterfaceImplementerSet is a log parse operation binding the contract event 0x93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db153. +// +// Solidity: event InterfaceImplementerSet(address indexed account, bytes32 indexed interfaceHash, address indexed implementer) +func (_ERC1820 *ERC1820Filterer) ParseInterfaceImplementerSet(log types.Log) (*ERC1820InterfaceImplementerSet, error) { + event := new(ERC1820InterfaceImplementerSet) + if err := _ERC1820.contract.UnpackLog(event, "InterfaceImplementerSet", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ERC1820ManagerChangedIterator is returned from FilterManagerChanged and is used to iterate over the raw logs and unpacked data for ManagerChanged events raised by the ERC1820 contract. +type ERC1820ManagerChangedIterator struct { + Event *ERC1820ManagerChanged // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1820ManagerChangedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1820ManagerChanged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1820ManagerChanged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1820ManagerChangedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1820ManagerChangedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1820ManagerChanged represents a ManagerChanged event raised by the ERC1820 contract. +type ERC1820ManagerChanged struct { + Account common.Address + NewManager common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterManagerChanged is a free log retrieval operation binding the contract event 0x605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a4350. +// +// Solidity: event ManagerChanged(address indexed account, address indexed newManager) +func (_ERC1820 *ERC1820Filterer) FilterManagerChanged(opts *bind.FilterOpts, account []common.Address, newManager []common.Address) (*ERC1820ManagerChangedIterator, error) { + + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var newManagerRule []interface{} + for _, newManagerItem := range newManager { + newManagerRule = append(newManagerRule, newManagerItem) + } + + logs, sub, err := _ERC1820.contract.FilterLogs(opts, "ManagerChanged", accountRule, newManagerRule) + if err != nil { + return nil, err + } + return &ERC1820ManagerChangedIterator{contract: _ERC1820.contract, event: "ManagerChanged", logs: logs, sub: sub}, nil +} + +// WatchManagerChanged is a free log subscription operation binding the contract event 0x605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a4350. +// +// Solidity: event ManagerChanged(address indexed account, address indexed newManager) +func (_ERC1820 *ERC1820Filterer) WatchManagerChanged(opts *bind.WatchOpts, sink chan<- *ERC1820ManagerChanged, account []common.Address, newManager []common.Address) (event.Subscription, error) { + + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var newManagerRule []interface{} + for _, newManagerItem := range newManager { + newManagerRule = append(newManagerRule, newManagerItem) + } + + logs, sub, err := _ERC1820.contract.WatchLogs(opts, "ManagerChanged", accountRule, newManagerRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1820ManagerChanged) + if err := _ERC1820.contract.UnpackLog(event, "ManagerChanged", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseManagerChanged is a log parse operation binding the contract event 0x605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a4350. +// +// Solidity: event ManagerChanged(address indexed account, address indexed newManager) +func (_ERC1820 *ERC1820Filterer) ParseManagerChanged(log types.Log) (*ERC1820ManagerChanged, error) { + event := new(ERC1820ManagerChanged) + if err := _ERC1820.contract.UnpackLog(event, "ManagerChanged", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/erc1822/erc1822.go b/bindings/erc1822/erc1822.go new file mode 100644 index 00000000..082247da --- /dev/null +++ b/bindings/erc1822/erc1822.go @@ -0,0 +1,571 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package erc1822 + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// ERC1822MetaData contains all meta data concerning the ERC1822 contract. +var ERC1822MetaData = &bind.MetaData{ + ABI: "[{\"constant\":true,\"inputs\":[],\"name\":\"getImplementation\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"string\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"setProxyOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"\",\"type\":\"address\"}],\"name\":\"ProxyOwnershipTransferred\",\"type\":\"event\"}]", +} + +// ERC1822ABI is the input ABI used to generate the binding from. +// Deprecated: Use ERC1822MetaData.ABI instead. +var ERC1822ABI = ERC1822MetaData.ABI + +// ERC1822 is an auto generated Go binding around an Ethereum contract. +type ERC1822 struct { + ERC1822Caller // Read-only binding to the contract + ERC1822Transactor // Write-only binding to the contract + ERC1822Filterer // Log filterer for contract events +} + +// ERC1822Caller is an auto generated read-only Go binding around an Ethereum contract. +type ERC1822Caller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1822Transactor is an auto generated write-only Go binding around an Ethereum contract. +type ERC1822Transactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1822Filterer is an auto generated log filtering Go binding around an Ethereum contract events. +type ERC1822Filterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1822Session is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type ERC1822Session struct { + Contract *ERC1822 // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC1822CallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type ERC1822CallerSession struct { + Contract *ERC1822Caller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// ERC1822TransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type ERC1822TransactorSession struct { + Contract *ERC1822Transactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC1822Raw is an auto generated low-level Go binding around an Ethereum contract. +type ERC1822Raw struct { + Contract *ERC1822 // Generic contract binding to access the raw methods on +} + +// ERC1822CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type ERC1822CallerRaw struct { + Contract *ERC1822Caller // Generic read-only contract binding to access the raw methods on +} + +// ERC1822TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type ERC1822TransactorRaw struct { + Contract *ERC1822Transactor // Generic write-only contract binding to access the raw methods on +} + +// NewERC1822 creates a new instance of ERC1822, bound to a specific deployed contract. +func NewERC1822(address common.Address, backend bind.ContractBackend) (*ERC1822, error) { + contract, err := bindERC1822(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &ERC1822{ERC1822Caller: ERC1822Caller{contract: contract}, ERC1822Transactor: ERC1822Transactor{contract: contract}, ERC1822Filterer: ERC1822Filterer{contract: contract}}, nil +} + +// NewERC1822Caller creates a new read-only instance of ERC1822, bound to a specific deployed contract. +func NewERC1822Caller(address common.Address, caller bind.ContractCaller) (*ERC1822Caller, error) { + contract, err := bindERC1822(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &ERC1822Caller{contract: contract}, nil +} + +// NewERC1822Transactor creates a new write-only instance of ERC1822, bound to a specific deployed contract. +func NewERC1822Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC1822Transactor, error) { + contract, err := bindERC1822(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &ERC1822Transactor{contract: contract}, nil +} + +// NewERC1822Filterer creates a new log filterer instance of ERC1822, bound to a specific deployed contract. +func NewERC1822Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC1822Filterer, error) { + contract, err := bindERC1822(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &ERC1822Filterer{contract: contract}, nil +} + +// bindERC1822 binds a generic wrapper to an already deployed contract. +func bindERC1822(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(ERC1822ABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC1822 *ERC1822Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC1822.Contract.ERC1822Caller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC1822 *ERC1822Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC1822.Contract.ERC1822Transactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC1822 *ERC1822Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC1822.Contract.ERC1822Transactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC1822 *ERC1822CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC1822.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC1822 *ERC1822TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC1822.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC1822 *ERC1822TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC1822.Contract.contract.Transact(opts, method, params...) +} + +// GetImplementation is a free data retrieval call binding the contract method 0xaaf10f42. +// +// Solidity: function getImplementation() view returns(address) +func (_ERC1822 *ERC1822Caller) GetImplementation(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _ERC1822.contract.Call(opts, &out, "getImplementation") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GetImplementation is a free data retrieval call binding the contract method 0xaaf10f42. +// +// Solidity: function getImplementation() view returns(address) +func (_ERC1822 *ERC1822Session) GetImplementation() (common.Address, error) { + return _ERC1822.Contract.GetImplementation(&_ERC1822.CallOpts) +} + +// GetImplementation is a free data retrieval call binding the contract method 0xaaf10f42. +// +// Solidity: function getImplementation() view returns(address) +func (_ERC1822 *ERC1822CallerSession) GetImplementation() (common.Address, error) { + return _ERC1822.Contract.GetImplementation(&_ERC1822.CallOpts) +} + +// SetProxyOwner is a paid mutator transaction binding the contract method 0xcaaee91c. +// +// Solidity: function setProxyOwner(address ) returns() +func (_ERC1822 *ERC1822Transactor) SetProxyOwner(opts *bind.TransactOpts, arg0 common.Address) (*types.Transaction, error) { + return _ERC1822.contract.Transact(opts, "setProxyOwner", arg0) +} + +// SetProxyOwner is a paid mutator transaction binding the contract method 0xcaaee91c. +// +// Solidity: function setProxyOwner(address ) returns() +func (_ERC1822 *ERC1822Session) SetProxyOwner(arg0 common.Address) (*types.Transaction, error) { + return _ERC1822.Contract.SetProxyOwner(&_ERC1822.TransactOpts, arg0) +} + +// SetProxyOwner is a paid mutator transaction binding the contract method 0xcaaee91c. +// +// Solidity: function setProxyOwner(address ) returns() +func (_ERC1822 *ERC1822TransactorSession) SetProxyOwner(arg0 common.Address) (*types.Transaction, error) { + return _ERC1822.Contract.SetProxyOwner(&_ERC1822.TransactOpts, arg0) +} + +// UpgradeTo is a paid mutator transaction binding the contract method 0x3659cfe6. +// +// Solidity: function upgradeTo(address ) returns() +func (_ERC1822 *ERC1822Transactor) UpgradeTo(opts *bind.TransactOpts, arg0 common.Address) (*types.Transaction, error) { + return _ERC1822.contract.Transact(opts, "upgradeTo", arg0) +} + +// UpgradeTo is a paid mutator transaction binding the contract method 0x3659cfe6. +// +// Solidity: function upgradeTo(address ) returns() +func (_ERC1822 *ERC1822Session) UpgradeTo(arg0 common.Address) (*types.Transaction, error) { + return _ERC1822.Contract.UpgradeTo(&_ERC1822.TransactOpts, arg0) +} + +// UpgradeTo is a paid mutator transaction binding the contract method 0x3659cfe6. +// +// Solidity: function upgradeTo(address ) returns() +func (_ERC1822 *ERC1822TransactorSession) UpgradeTo(arg0 common.Address) (*types.Transaction, error) { + return _ERC1822.Contract.UpgradeTo(&_ERC1822.TransactOpts, arg0) +} + +// UpgradeToAndCall is a paid mutator transaction binding the contract method 0x57975c29. +// +// Solidity: function upgradeToAndCall(address , string ) returns() +func (_ERC1822 *ERC1822Transactor) UpgradeToAndCall(opts *bind.TransactOpts, arg0 common.Address, arg1 string) (*types.Transaction, error) { + return _ERC1822.contract.Transact(opts, "upgradeToAndCall", arg0, arg1) +} + +// UpgradeToAndCall is a paid mutator transaction binding the contract method 0x57975c29. +// +// Solidity: function upgradeToAndCall(address , string ) returns() +func (_ERC1822 *ERC1822Session) UpgradeToAndCall(arg0 common.Address, arg1 string) (*types.Transaction, error) { + return _ERC1822.Contract.UpgradeToAndCall(&_ERC1822.TransactOpts, arg0, arg1) +} + +// UpgradeToAndCall is a paid mutator transaction binding the contract method 0x57975c29. +// +// Solidity: function upgradeToAndCall(address , string ) returns() +func (_ERC1822 *ERC1822TransactorSession) UpgradeToAndCall(arg0 common.Address, arg1 string) (*types.Transaction, error) { + return _ERC1822.Contract.UpgradeToAndCall(&_ERC1822.TransactOpts, arg0, arg1) +} + +// ERC1822ProxyOwnershipTransferredIterator is returned from FilterProxyOwnershipTransferred and is used to iterate over the raw logs and unpacked data for ProxyOwnershipTransferred events raised by the ERC1822 contract. +type ERC1822ProxyOwnershipTransferredIterator struct { + Event *ERC1822ProxyOwnershipTransferred // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1822ProxyOwnershipTransferredIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1822ProxyOwnershipTransferred) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1822ProxyOwnershipTransferred) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1822ProxyOwnershipTransferredIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1822ProxyOwnershipTransferredIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1822ProxyOwnershipTransferred represents a ProxyOwnershipTransferred event raised by the ERC1822 contract. +type ERC1822ProxyOwnershipTransferred struct { + Arg0 common.Address + Arg1 common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterProxyOwnershipTransferred is a free log retrieval operation binding the contract event 0x5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd9. +// +// Solidity: event ProxyOwnershipTransferred(address indexed arg0, address indexed arg1) +func (_ERC1822 *ERC1822Filterer) FilterProxyOwnershipTransferred(opts *bind.FilterOpts, arg0 []common.Address, arg1 []common.Address) (*ERC1822ProxyOwnershipTransferredIterator, error) { + + var arg0Rule []interface{} + for _, arg0Item := range arg0 { + arg0Rule = append(arg0Rule, arg0Item) + } + var arg1Rule []interface{} + for _, arg1Item := range arg1 { + arg1Rule = append(arg1Rule, arg1Item) + } + + logs, sub, err := _ERC1822.contract.FilterLogs(opts, "ProxyOwnershipTransferred", arg0Rule, arg1Rule) + if err != nil { + return nil, err + } + return &ERC1822ProxyOwnershipTransferredIterator{contract: _ERC1822.contract, event: "ProxyOwnershipTransferred", logs: logs, sub: sub}, nil +} + +// WatchProxyOwnershipTransferred is a free log subscription operation binding the contract event 0x5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd9. +// +// Solidity: event ProxyOwnershipTransferred(address indexed arg0, address indexed arg1) +func (_ERC1822 *ERC1822Filterer) WatchProxyOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ERC1822ProxyOwnershipTransferred, arg0 []common.Address, arg1 []common.Address) (event.Subscription, error) { + + var arg0Rule []interface{} + for _, arg0Item := range arg0 { + arg0Rule = append(arg0Rule, arg0Item) + } + var arg1Rule []interface{} + for _, arg1Item := range arg1 { + arg1Rule = append(arg1Rule, arg1Item) + } + + logs, sub, err := _ERC1822.contract.WatchLogs(opts, "ProxyOwnershipTransferred", arg0Rule, arg1Rule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1822ProxyOwnershipTransferred) + if err := _ERC1822.contract.UnpackLog(event, "ProxyOwnershipTransferred", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseProxyOwnershipTransferred is a log parse operation binding the contract event 0x5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd9. +// +// Solidity: event ProxyOwnershipTransferred(address indexed arg0, address indexed arg1) +func (_ERC1822 *ERC1822Filterer) ParseProxyOwnershipTransferred(log types.Log) (*ERC1822ProxyOwnershipTransferred, error) { + event := new(ERC1822ProxyOwnershipTransferred) + if err := _ERC1822.contract.UnpackLog(event, "ProxyOwnershipTransferred", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ERC1822UpgradedIterator is returned from FilterUpgraded and is used to iterate over the raw logs and unpacked data for Upgraded events raised by the ERC1822 contract. +type ERC1822UpgradedIterator struct { + Event *ERC1822Upgraded // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1822UpgradedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1822Upgraded) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1822Upgraded) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1822UpgradedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1822UpgradedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1822Upgraded represents a Upgraded event raised by the ERC1822 contract. +type ERC1822Upgraded struct { + Arg0 common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterUpgraded is a free log retrieval operation binding the contract event 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b. +// +// Solidity: event Upgraded(address indexed arg0) +func (_ERC1822 *ERC1822Filterer) FilterUpgraded(opts *bind.FilterOpts, arg0 []common.Address) (*ERC1822UpgradedIterator, error) { + + var arg0Rule []interface{} + for _, arg0Item := range arg0 { + arg0Rule = append(arg0Rule, arg0Item) + } + + logs, sub, err := _ERC1822.contract.FilterLogs(opts, "Upgraded", arg0Rule) + if err != nil { + return nil, err + } + return &ERC1822UpgradedIterator{contract: _ERC1822.contract, event: "Upgraded", logs: logs, sub: sub}, nil +} + +// WatchUpgraded is a free log subscription operation binding the contract event 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b. +// +// Solidity: event Upgraded(address indexed arg0) +func (_ERC1822 *ERC1822Filterer) WatchUpgraded(opts *bind.WatchOpts, sink chan<- *ERC1822Upgraded, arg0 []common.Address) (event.Subscription, error) { + + var arg0Rule []interface{} + for _, arg0Item := range arg0 { + arg0Rule = append(arg0Rule, arg0Item) + } + + logs, sub, err := _ERC1822.contract.WatchLogs(opts, "Upgraded", arg0Rule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1822Upgraded) + if err := _ERC1822.contract.UnpackLog(event, "Upgraded", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseUpgraded is a log parse operation binding the contract event 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b. +// +// Solidity: event Upgraded(address indexed arg0) +func (_ERC1822 *ERC1822Filterer) ParseUpgraded(log types.Log) (*ERC1822Upgraded, error) { + event := new(ERC1822Upgraded) + if err := _ERC1822.contract.UnpackLog(event, "Upgraded", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/erc1967/erc1967.go b/bindings/erc1967/erc1967.go new file mode 100644 index 00000000..54c3c150 --- /dev/null +++ b/bindings/erc1967/erc1967.go @@ -0,0 +1,661 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package erc1967 + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// ERC1967MetaData contains all meta data concerning the ERC1967 contract. +var ERC1967MetaData = &bind.MetaData{ + ABI: "[{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"setInterfaceImplementer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"getInterfaceImplementer\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"string\"}],\"name\":\"interfaceHash\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"updateERC165Cache\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"implementsERC165InterfaceNoCache\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"implementsERC165Interface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"\",\"type\":\"address\"}],\"name\":\"InterfaceImplementerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"}]", +} + +// ERC1967ABI is the input ABI used to generate the binding from. +// Deprecated: Use ERC1967MetaData.ABI instead. +var ERC1967ABI = ERC1967MetaData.ABI + +// ERC1967 is an auto generated Go binding around an Ethereum contract. +type ERC1967 struct { + ERC1967Caller // Read-only binding to the contract + ERC1967Transactor // Write-only binding to the contract + ERC1967Filterer // Log filterer for contract events +} + +// ERC1967Caller is an auto generated read-only Go binding around an Ethereum contract. +type ERC1967Caller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1967Transactor is an auto generated write-only Go binding around an Ethereum contract. +type ERC1967Transactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1967Filterer is an auto generated log filtering Go binding around an Ethereum contract events. +type ERC1967Filterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC1967Session is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type ERC1967Session struct { + Contract *ERC1967 // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC1967CallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type ERC1967CallerSession struct { + Contract *ERC1967Caller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// ERC1967TransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type ERC1967TransactorSession struct { + Contract *ERC1967Transactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC1967Raw is an auto generated low-level Go binding around an Ethereum contract. +type ERC1967Raw struct { + Contract *ERC1967 // Generic contract binding to access the raw methods on +} + +// ERC1967CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type ERC1967CallerRaw struct { + Contract *ERC1967Caller // Generic read-only contract binding to access the raw methods on +} + +// ERC1967TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type ERC1967TransactorRaw struct { + Contract *ERC1967Transactor // Generic write-only contract binding to access the raw methods on +} + +// NewERC1967 creates a new instance of ERC1967, bound to a specific deployed contract. +func NewERC1967(address common.Address, backend bind.ContractBackend) (*ERC1967, error) { + contract, err := bindERC1967(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &ERC1967{ERC1967Caller: ERC1967Caller{contract: contract}, ERC1967Transactor: ERC1967Transactor{contract: contract}, ERC1967Filterer: ERC1967Filterer{contract: contract}}, nil +} + +// NewERC1967Caller creates a new read-only instance of ERC1967, bound to a specific deployed contract. +func NewERC1967Caller(address common.Address, caller bind.ContractCaller) (*ERC1967Caller, error) { + contract, err := bindERC1967(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &ERC1967Caller{contract: contract}, nil +} + +// NewERC1967Transactor creates a new write-only instance of ERC1967, bound to a specific deployed contract. +func NewERC1967Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC1967Transactor, error) { + contract, err := bindERC1967(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &ERC1967Transactor{contract: contract}, nil +} + +// NewERC1967Filterer creates a new log filterer instance of ERC1967, bound to a specific deployed contract. +func NewERC1967Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC1967Filterer, error) { + contract, err := bindERC1967(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &ERC1967Filterer{contract: contract}, nil +} + +// bindERC1967 binds a generic wrapper to an already deployed contract. +func bindERC1967(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(ERC1967ABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC1967 *ERC1967Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC1967.Contract.ERC1967Caller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC1967 *ERC1967Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC1967.Contract.ERC1967Transactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC1967 *ERC1967Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC1967.Contract.ERC1967Transactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC1967 *ERC1967CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC1967.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC1967 *ERC1967TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC1967.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC1967 *ERC1967TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC1967.Contract.contract.Transact(opts, method, params...) +} + +// GetInterfaceImplementer is a free data retrieval call binding the contract method 0xaabbb8ca. +// +// Solidity: function getInterfaceImplementer(address , bytes32 ) view returns(address) +func (_ERC1967 *ERC1967Caller) GetInterfaceImplementer(opts *bind.CallOpts, arg0 common.Address, arg1 [32]byte) (common.Address, error) { + var out []interface{} + err := _ERC1967.contract.Call(opts, &out, "getInterfaceImplementer", arg0, arg1) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GetInterfaceImplementer is a free data retrieval call binding the contract method 0xaabbb8ca. +// +// Solidity: function getInterfaceImplementer(address , bytes32 ) view returns(address) +func (_ERC1967 *ERC1967Session) GetInterfaceImplementer(arg0 common.Address, arg1 [32]byte) (common.Address, error) { + return _ERC1967.Contract.GetInterfaceImplementer(&_ERC1967.CallOpts, arg0, arg1) +} + +// GetInterfaceImplementer is a free data retrieval call binding the contract method 0xaabbb8ca. +// +// Solidity: function getInterfaceImplementer(address , bytes32 ) view returns(address) +func (_ERC1967 *ERC1967CallerSession) GetInterfaceImplementer(arg0 common.Address, arg1 [32]byte) (common.Address, error) { + return _ERC1967.Contract.GetInterfaceImplementer(&_ERC1967.CallOpts, arg0, arg1) +} + +// ImplementsERC165Interface is a free data retrieval call binding the contract method 0xc03c5d2e. +// +// Solidity: function implementsERC165Interface(address , bytes32 ) view returns(bool) +func (_ERC1967 *ERC1967Caller) ImplementsERC165Interface(opts *bind.CallOpts, arg0 common.Address, arg1 [32]byte) (bool, error) { + var out []interface{} + err := _ERC1967.contract.Call(opts, &out, "implementsERC165Interface", arg0, arg1) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// ImplementsERC165Interface is a free data retrieval call binding the contract method 0xc03c5d2e. +// +// Solidity: function implementsERC165Interface(address , bytes32 ) view returns(bool) +func (_ERC1967 *ERC1967Session) ImplementsERC165Interface(arg0 common.Address, arg1 [32]byte) (bool, error) { + return _ERC1967.Contract.ImplementsERC165Interface(&_ERC1967.CallOpts, arg0, arg1) +} + +// ImplementsERC165Interface is a free data retrieval call binding the contract method 0xc03c5d2e. +// +// Solidity: function implementsERC165Interface(address , bytes32 ) view returns(bool) +func (_ERC1967 *ERC1967CallerSession) ImplementsERC165Interface(arg0 common.Address, arg1 [32]byte) (bool, error) { + return _ERC1967.Contract.ImplementsERC165Interface(&_ERC1967.CallOpts, arg0, arg1) +} + +// ImplementsERC165InterfaceNoCache is a free data retrieval call binding the contract method 0x49aa8eba. +// +// Solidity: function implementsERC165InterfaceNoCache(address , bytes32 ) view returns(bool) +func (_ERC1967 *ERC1967Caller) ImplementsERC165InterfaceNoCache(opts *bind.CallOpts, arg0 common.Address, arg1 [32]byte) (bool, error) { + var out []interface{} + err := _ERC1967.contract.Call(opts, &out, "implementsERC165InterfaceNoCache", arg0, arg1) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// ImplementsERC165InterfaceNoCache is a free data retrieval call binding the contract method 0x49aa8eba. +// +// Solidity: function implementsERC165InterfaceNoCache(address , bytes32 ) view returns(bool) +func (_ERC1967 *ERC1967Session) ImplementsERC165InterfaceNoCache(arg0 common.Address, arg1 [32]byte) (bool, error) { + return _ERC1967.Contract.ImplementsERC165InterfaceNoCache(&_ERC1967.CallOpts, arg0, arg1) +} + +// ImplementsERC165InterfaceNoCache is a free data retrieval call binding the contract method 0x49aa8eba. +// +// Solidity: function implementsERC165InterfaceNoCache(address , bytes32 ) view returns(bool) +func (_ERC1967 *ERC1967CallerSession) ImplementsERC165InterfaceNoCache(arg0 common.Address, arg1 [32]byte) (bool, error) { + return _ERC1967.Contract.ImplementsERC165InterfaceNoCache(&_ERC1967.CallOpts, arg0, arg1) +} + +// InterfaceHash is a free data retrieval call binding the contract method 0x65ba36c1. +// +// Solidity: function interfaceHash(string ) view returns(bytes32) +func (_ERC1967 *ERC1967Caller) InterfaceHash(opts *bind.CallOpts, arg0 string) ([32]byte, error) { + var out []interface{} + err := _ERC1967.contract.Call(opts, &out, "interfaceHash", arg0) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// InterfaceHash is a free data retrieval call binding the contract method 0x65ba36c1. +// +// Solidity: function interfaceHash(string ) view returns(bytes32) +func (_ERC1967 *ERC1967Session) InterfaceHash(arg0 string) ([32]byte, error) { + return _ERC1967.Contract.InterfaceHash(&_ERC1967.CallOpts, arg0) +} + +// InterfaceHash is a free data retrieval call binding the contract method 0x65ba36c1. +// +// Solidity: function interfaceHash(string ) view returns(bytes32) +func (_ERC1967 *ERC1967CallerSession) InterfaceHash(arg0 string) ([32]byte, error) { + return _ERC1967.Contract.InterfaceHash(&_ERC1967.CallOpts, arg0) +} + +// SetInterfaceImplementer is a paid mutator transaction binding the contract method 0x29965a1d. +// +// Solidity: function setInterfaceImplementer(address , bytes32 , address ) returns() +func (_ERC1967 *ERC1967Transactor) SetInterfaceImplementer(opts *bind.TransactOpts, arg0 common.Address, arg1 [32]byte, arg2 common.Address) (*types.Transaction, error) { + return _ERC1967.contract.Transact(opts, "setInterfaceImplementer", arg0, arg1, arg2) +} + +// SetInterfaceImplementer is a paid mutator transaction binding the contract method 0x29965a1d. +// +// Solidity: function setInterfaceImplementer(address , bytes32 , address ) returns() +func (_ERC1967 *ERC1967Session) SetInterfaceImplementer(arg0 common.Address, arg1 [32]byte, arg2 common.Address) (*types.Transaction, error) { + return _ERC1967.Contract.SetInterfaceImplementer(&_ERC1967.TransactOpts, arg0, arg1, arg2) +} + +// SetInterfaceImplementer is a paid mutator transaction binding the contract method 0x29965a1d. +// +// Solidity: function setInterfaceImplementer(address , bytes32 , address ) returns() +func (_ERC1967 *ERC1967TransactorSession) SetInterfaceImplementer(arg0 common.Address, arg1 [32]byte, arg2 common.Address) (*types.Transaction, error) { + return _ERC1967.Contract.SetInterfaceImplementer(&_ERC1967.TransactOpts, arg0, arg1, arg2) +} + +// UpdateERC165Cache is a paid mutator transaction binding the contract method 0x6a73781d. +// +// Solidity: function updateERC165Cache(address , bytes32 ) returns() +func (_ERC1967 *ERC1967Transactor) UpdateERC165Cache(opts *bind.TransactOpts, arg0 common.Address, arg1 [32]byte) (*types.Transaction, error) { + return _ERC1967.contract.Transact(opts, "updateERC165Cache", arg0, arg1) +} + +// UpdateERC165Cache is a paid mutator transaction binding the contract method 0x6a73781d. +// +// Solidity: function updateERC165Cache(address , bytes32 ) returns() +func (_ERC1967 *ERC1967Session) UpdateERC165Cache(arg0 common.Address, arg1 [32]byte) (*types.Transaction, error) { + return _ERC1967.Contract.UpdateERC165Cache(&_ERC1967.TransactOpts, arg0, arg1) +} + +// UpdateERC165Cache is a paid mutator transaction binding the contract method 0x6a73781d. +// +// Solidity: function updateERC165Cache(address , bytes32 ) returns() +func (_ERC1967 *ERC1967TransactorSession) UpdateERC165Cache(arg0 common.Address, arg1 [32]byte) (*types.Transaction, error) { + return _ERC1967.Contract.UpdateERC165Cache(&_ERC1967.TransactOpts, arg0, arg1) +} + +// ERC1967AdminChangedIterator is returned from FilterAdminChanged and is used to iterate over the raw logs and unpacked data for AdminChanged events raised by the ERC1967 contract. +type ERC1967AdminChangedIterator struct { + Event *ERC1967AdminChanged // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1967AdminChangedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1967AdminChanged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1967AdminChanged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1967AdminChangedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1967AdminChangedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1967AdminChanged represents a AdminChanged event raised by the ERC1967 contract. +type ERC1967AdminChanged struct { + Arg0 common.Address + Arg1 common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterAdminChanged is a free log retrieval operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. +// +// Solidity: event AdminChanged(address indexed arg0, address indexed arg1) +func (_ERC1967 *ERC1967Filterer) FilterAdminChanged(opts *bind.FilterOpts, arg0 []common.Address, arg1 []common.Address) (*ERC1967AdminChangedIterator, error) { + + var arg0Rule []interface{} + for _, arg0Item := range arg0 { + arg0Rule = append(arg0Rule, arg0Item) + } + var arg1Rule []interface{} + for _, arg1Item := range arg1 { + arg1Rule = append(arg1Rule, arg1Item) + } + + logs, sub, err := _ERC1967.contract.FilterLogs(opts, "AdminChanged", arg0Rule, arg1Rule) + if err != nil { + return nil, err + } + return &ERC1967AdminChangedIterator{contract: _ERC1967.contract, event: "AdminChanged", logs: logs, sub: sub}, nil +} + +// WatchAdminChanged is a free log subscription operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. +// +// Solidity: event AdminChanged(address indexed arg0, address indexed arg1) +func (_ERC1967 *ERC1967Filterer) WatchAdminChanged(opts *bind.WatchOpts, sink chan<- *ERC1967AdminChanged, arg0 []common.Address, arg1 []common.Address) (event.Subscription, error) { + + var arg0Rule []interface{} + for _, arg0Item := range arg0 { + arg0Rule = append(arg0Rule, arg0Item) + } + var arg1Rule []interface{} + for _, arg1Item := range arg1 { + arg1Rule = append(arg1Rule, arg1Item) + } + + logs, sub, err := _ERC1967.contract.WatchLogs(opts, "AdminChanged", arg0Rule, arg1Rule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1967AdminChanged) + if err := _ERC1967.contract.UnpackLog(event, "AdminChanged", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseAdminChanged is a log parse operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. +// +// Solidity: event AdminChanged(address indexed arg0, address indexed arg1) +func (_ERC1967 *ERC1967Filterer) ParseAdminChanged(log types.Log) (*ERC1967AdminChanged, error) { + event := new(ERC1967AdminChanged) + if err := _ERC1967.contract.UnpackLog(event, "AdminChanged", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ERC1967InterfaceImplementerSetIterator is returned from FilterInterfaceImplementerSet and is used to iterate over the raw logs and unpacked data for InterfaceImplementerSet events raised by the ERC1967 contract. +type ERC1967InterfaceImplementerSetIterator struct { + Event *ERC1967InterfaceImplementerSet // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC1967InterfaceImplementerSetIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC1967InterfaceImplementerSet) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC1967InterfaceImplementerSet) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC1967InterfaceImplementerSetIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC1967InterfaceImplementerSetIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC1967InterfaceImplementerSet represents a InterfaceImplementerSet event raised by the ERC1967 contract. +type ERC1967InterfaceImplementerSet struct { + Arg0 common.Address + Arg1 [32]byte + Arg2 common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterInterfaceImplementerSet is a free log retrieval operation binding the contract event 0x93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db153. +// +// Solidity: event InterfaceImplementerSet(address indexed arg0, bytes32 indexed arg1, address indexed arg2) +func (_ERC1967 *ERC1967Filterer) FilterInterfaceImplementerSet(opts *bind.FilterOpts, arg0 []common.Address, arg1 [][32]byte, arg2 []common.Address) (*ERC1967InterfaceImplementerSetIterator, error) { + + var arg0Rule []interface{} + for _, arg0Item := range arg0 { + arg0Rule = append(arg0Rule, arg0Item) + } + var arg1Rule []interface{} + for _, arg1Item := range arg1 { + arg1Rule = append(arg1Rule, arg1Item) + } + var arg2Rule []interface{} + for _, arg2Item := range arg2 { + arg2Rule = append(arg2Rule, arg2Item) + } + + logs, sub, err := _ERC1967.contract.FilterLogs(opts, "InterfaceImplementerSet", arg0Rule, arg1Rule, arg2Rule) + if err != nil { + return nil, err + } + return &ERC1967InterfaceImplementerSetIterator{contract: _ERC1967.contract, event: "InterfaceImplementerSet", logs: logs, sub: sub}, nil +} + +// WatchInterfaceImplementerSet is a free log subscription operation binding the contract event 0x93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db153. +// +// Solidity: event InterfaceImplementerSet(address indexed arg0, bytes32 indexed arg1, address indexed arg2) +func (_ERC1967 *ERC1967Filterer) WatchInterfaceImplementerSet(opts *bind.WatchOpts, sink chan<- *ERC1967InterfaceImplementerSet, arg0 []common.Address, arg1 [][32]byte, arg2 []common.Address) (event.Subscription, error) { + + var arg0Rule []interface{} + for _, arg0Item := range arg0 { + arg0Rule = append(arg0Rule, arg0Item) + } + var arg1Rule []interface{} + for _, arg1Item := range arg1 { + arg1Rule = append(arg1Rule, arg1Item) + } + var arg2Rule []interface{} + for _, arg2Item := range arg2 { + arg2Rule = append(arg2Rule, arg2Item) + } + + logs, sub, err := _ERC1967.contract.WatchLogs(opts, "InterfaceImplementerSet", arg0Rule, arg1Rule, arg2Rule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC1967InterfaceImplementerSet) + if err := _ERC1967.contract.UnpackLog(event, "InterfaceImplementerSet", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseInterfaceImplementerSet is a log parse operation binding the contract event 0x93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db153. +// +// Solidity: event InterfaceImplementerSet(address indexed arg0, bytes32 indexed arg1, address indexed arg2) +func (_ERC1967 *ERC1967Filterer) ParseInterfaceImplementerSet(log types.Log) (*ERC1967InterfaceImplementerSet, error) { + event := new(ERC1967InterfaceImplementerSet) + if err := _ERC1967.contract.UnpackLog(event, "InterfaceImplementerSet", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/erc20/erc20.go b/bindings/erc20/erc20.go new file mode 100644 index 00000000..fbabb299 --- /dev/null +++ b/bindings/erc20/erc20.go @@ -0,0 +1,758 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package erc20 + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// ERC20MetaData contains all meta data concerning the ERC20 contract. +var ERC20MetaData = &bind.MetaData{ + ABI: "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", +} + +// ERC20ABI is the input ABI used to generate the binding from. +// Deprecated: Use ERC20MetaData.ABI instead. +var ERC20ABI = ERC20MetaData.ABI + +// ERC20 is an auto generated Go binding around an Ethereum contract. +type ERC20 struct { + ERC20Caller // Read-only binding to the contract + ERC20Transactor // Write-only binding to the contract + ERC20Filterer // Log filterer for contract events +} + +// ERC20Caller is an auto generated read-only Go binding around an Ethereum contract. +type ERC20Caller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. +type ERC20Transactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. +type ERC20Filterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC20Session is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type ERC20Session struct { + Contract *ERC20 // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type ERC20CallerSession struct { + Contract *ERC20Caller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// ERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type ERC20TransactorSession struct { + Contract *ERC20Transactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC20Raw is an auto generated low-level Go binding around an Ethereum contract. +type ERC20Raw struct { + Contract *ERC20 // Generic contract binding to access the raw methods on +} + +// ERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type ERC20CallerRaw struct { + Contract *ERC20Caller // Generic read-only contract binding to access the raw methods on +} + +// ERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type ERC20TransactorRaw struct { + Contract *ERC20Transactor // Generic write-only contract binding to access the raw methods on +} + +// NewERC20 creates a new instance of ERC20, bound to a specific deployed contract. +func NewERC20(address common.Address, backend bind.ContractBackend) (*ERC20, error) { + contract, err := bindERC20(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &ERC20{ERC20Caller: ERC20Caller{contract: contract}, ERC20Transactor: ERC20Transactor{contract: contract}, ERC20Filterer: ERC20Filterer{contract: contract}}, nil +} + +// NewERC20Caller creates a new read-only instance of ERC20, bound to a specific deployed contract. +func NewERC20Caller(address common.Address, caller bind.ContractCaller) (*ERC20Caller, error) { + contract, err := bindERC20(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &ERC20Caller{contract: contract}, nil +} + +// NewERC20Transactor creates a new write-only instance of ERC20, bound to a specific deployed contract. +func NewERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC20Transactor, error) { + contract, err := bindERC20(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &ERC20Transactor{contract: contract}, nil +} + +// NewERC20Filterer creates a new log filterer instance of ERC20, bound to a specific deployed contract. +func NewERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC20Filterer, error) { + contract, err := bindERC20(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &ERC20Filterer{contract: contract}, nil +} + +// bindERC20 binds a generic wrapper to an already deployed contract. +func bindERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(ERC20ABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC20 *ERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC20.Contract.ERC20Caller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC20 *ERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC20.Contract.ERC20Transactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC20 *ERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC20.Contract.ERC20Transactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC20 *ERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC20.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC20 *ERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC20.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC20 *ERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC20.Contract.contract.Transact(opts, method, params...) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address _owner, address _spender) view returns(uint256) +func (_ERC20 *ERC20Caller) Allowance(opts *bind.CallOpts, _owner common.Address, _spender common.Address) (*big.Int, error) { + var out []interface{} + err := _ERC20.contract.Call(opts, &out, "allowance", _owner, _spender) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address _owner, address _spender) view returns(uint256) +func (_ERC20 *ERC20Session) Allowance(_owner common.Address, _spender common.Address) (*big.Int, error) { + return _ERC20.Contract.Allowance(&_ERC20.CallOpts, _owner, _spender) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address _owner, address _spender) view returns(uint256) +func (_ERC20 *ERC20CallerSession) Allowance(_owner common.Address, _spender common.Address) (*big.Int, error) { + return _ERC20.Contract.Allowance(&_ERC20.CallOpts, _owner, _spender) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address _owner) view returns(uint256 balance) +func (_ERC20 *ERC20Caller) BalanceOf(opts *bind.CallOpts, _owner common.Address) (*big.Int, error) { + var out []interface{} + err := _ERC20.contract.Call(opts, &out, "balanceOf", _owner) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address _owner) view returns(uint256 balance) +func (_ERC20 *ERC20Session) BalanceOf(_owner common.Address) (*big.Int, error) { + return _ERC20.Contract.BalanceOf(&_ERC20.CallOpts, _owner) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address _owner) view returns(uint256 balance) +func (_ERC20 *ERC20CallerSession) BalanceOf(_owner common.Address) (*big.Int, error) { + return _ERC20.Contract.BalanceOf(&_ERC20.CallOpts, _owner) +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_ERC20 *ERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error) { + var out []interface{} + err := _ERC20.contract.Call(opts, &out, "decimals") + + if err != nil { + return *new(uint8), err + } + + out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) + + return out0, err + +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_ERC20 *ERC20Session) Decimals() (uint8, error) { + return _ERC20.Contract.Decimals(&_ERC20.CallOpts) +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_ERC20 *ERC20CallerSession) Decimals() (uint8, error) { + return _ERC20.Contract.Decimals(&_ERC20.CallOpts) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_ERC20 *ERC20Caller) Name(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _ERC20.contract.Call(opts, &out, "name") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_ERC20 *ERC20Session) Name() (string, error) { + return _ERC20.Contract.Name(&_ERC20.CallOpts) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_ERC20 *ERC20CallerSession) Name() (string, error) { + return _ERC20.Contract.Name(&_ERC20.CallOpts) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_ERC20 *ERC20Caller) Symbol(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _ERC20.contract.Call(opts, &out, "symbol") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_ERC20 *ERC20Session) Symbol() (string, error) { + return _ERC20.Contract.Symbol(&_ERC20.CallOpts) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_ERC20 *ERC20CallerSession) Symbol() (string, error) { + return _ERC20.Contract.Symbol(&_ERC20.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_ERC20 *ERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _ERC20.contract.Call(opts, &out, "totalSupply") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_ERC20 *ERC20Session) TotalSupply() (*big.Int, error) { + return _ERC20.Contract.TotalSupply(&_ERC20.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_ERC20 *ERC20CallerSession) TotalSupply() (*big.Int, error) { + return _ERC20.Contract.TotalSupply(&_ERC20.CallOpts) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address _spender, uint256 _value) returns(bool) +func (_ERC20 *ERC20Transactor) Approve(opts *bind.TransactOpts, _spender common.Address, _value *big.Int) (*types.Transaction, error) { + return _ERC20.contract.Transact(opts, "approve", _spender, _value) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address _spender, uint256 _value) returns(bool) +func (_ERC20 *ERC20Session) Approve(_spender common.Address, _value *big.Int) (*types.Transaction, error) { + return _ERC20.Contract.Approve(&_ERC20.TransactOpts, _spender, _value) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address _spender, uint256 _value) returns(bool) +func (_ERC20 *ERC20TransactorSession) Approve(_spender common.Address, _value *big.Int) (*types.Transaction, error) { + return _ERC20.Contract.Approve(&_ERC20.TransactOpts, _spender, _value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address _to, uint256 _value) returns(bool) +func (_ERC20 *ERC20Transactor) Transfer(opts *bind.TransactOpts, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _ERC20.contract.Transact(opts, "transfer", _to, _value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address _to, uint256 _value) returns(bool) +func (_ERC20 *ERC20Session) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) { + return _ERC20.Contract.Transfer(&_ERC20.TransactOpts, _to, _value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address _to, uint256 _value) returns(bool) +func (_ERC20 *ERC20TransactorSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) { + return _ERC20.Contract.Transfer(&_ERC20.TransactOpts, _to, _value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool) +func (_ERC20 *ERC20Transactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _ERC20.contract.Transact(opts, "transferFrom", _from, _to, _value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool) +func (_ERC20 *ERC20Session) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _ERC20.Contract.TransferFrom(&_ERC20.TransactOpts, _from, _to, _value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool) +func (_ERC20 *ERC20TransactorSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _ERC20.Contract.TransferFrom(&_ERC20.TransactOpts, _from, _to, _value) +} + +// Fallback is a paid mutator transaction binding the contract fallback function. +// +// Solidity: fallback() payable returns() +func (_ERC20 *ERC20Transactor) Fallback(opts *bind.TransactOpts, calldata []byte) (*types.Transaction, error) { + return _ERC20.contract.RawTransact(opts, calldata) +} + +// Fallback is a paid mutator transaction binding the contract fallback function. +// +// Solidity: fallback() payable returns() +func (_ERC20 *ERC20Session) Fallback(calldata []byte) (*types.Transaction, error) { + return _ERC20.Contract.Fallback(&_ERC20.TransactOpts, calldata) +} + +// Fallback is a paid mutator transaction binding the contract fallback function. +// +// Solidity: fallback() payable returns() +func (_ERC20 *ERC20TransactorSession) Fallback(calldata []byte) (*types.Transaction, error) { + return _ERC20.Contract.Fallback(&_ERC20.TransactOpts, calldata) +} + +// ERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC20 contract. +type ERC20ApprovalIterator struct { + Event *ERC20Approval // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC20ApprovalIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC20Approval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC20Approval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC20ApprovalIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC20ApprovalIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC20Approval represents a Approval event raised by the ERC20 contract. +type ERC20Approval struct { + Owner common.Address + Spender common.Address + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_ERC20 *ERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20ApprovalIterator, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var spenderRule []interface{} + for _, spenderItem := range spender { + spenderRule = append(spenderRule, spenderItem) + } + + logs, sub, err := _ERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) + if err != nil { + return nil, err + } + return &ERC20ApprovalIterator{contract: _ERC20.contract, event: "Approval", logs: logs, sub: sub}, nil +} + +// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_ERC20 *ERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var spenderRule []interface{} + for _, spenderItem := range spender { + spenderRule = append(spenderRule, spenderItem) + } + + logs, sub, err := _ERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC20Approval) + if err := _ERC20.contract.UnpackLog(event, "Approval", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_ERC20 *ERC20Filterer) ParseApproval(log types.Log) (*ERC20Approval, error) { + event := new(ERC20Approval) + if err := _ERC20.contract.UnpackLog(event, "Approval", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC20 contract. +type ERC20TransferIterator struct { + Event *ERC20Transfer // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC20TransferIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC20Transfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC20Transfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC20TransferIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC20TransferIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC20Transfer represents a Transfer event raised by the ERC20 contract. +type ERC20Transfer struct { + From common.Address + To common.Address + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_ERC20 *ERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20TransferIterator, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _ERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return &ERC20TransferIterator{contract: _ERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil +} + +// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_ERC20 *ERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _ERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC20Transfer) + if err := _ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_ERC20 *ERC20Filterer) ParseTransfer(log types.Log) (*ERC20Transfer, error) { + event := new(ERC20Transfer) + if err := _ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/erc721/erc721.go b/bindings/erc721/erc721.go new file mode 100644 index 00000000..a9439f15 --- /dev/null +++ b/bindings/erc721/erc721.go @@ -0,0 +1,1042 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package erc721 + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// ERC721MetaData contains all meta data concerning the ERC721 contract. +var ERC721MetaData = &bind.MetaData{ + ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", +} + +// ERC721ABI is the input ABI used to generate the binding from. +// Deprecated: Use ERC721MetaData.ABI instead. +var ERC721ABI = ERC721MetaData.ABI + +// ERC721 is an auto generated Go binding around an Ethereum contract. +type ERC721 struct { + ERC721Caller // Read-only binding to the contract + ERC721Transactor // Write-only binding to the contract + ERC721Filterer // Log filterer for contract events +} + +// ERC721Caller is an auto generated read-only Go binding around an Ethereum contract. +type ERC721Caller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. +type ERC721Transactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. +type ERC721Filterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ERC721Session is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type ERC721Session struct { + Contract *ERC721 // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type ERC721CallerSession struct { + Contract *ERC721Caller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// ERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type ERC721TransactorSession struct { + Contract *ERC721Transactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ERC721Raw is an auto generated low-level Go binding around an Ethereum contract. +type ERC721Raw struct { + Contract *ERC721 // Generic contract binding to access the raw methods on +} + +// ERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type ERC721CallerRaw struct { + Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on +} + +// ERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type ERC721TransactorRaw struct { + Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on +} + +// NewERC721 creates a new instance of ERC721, bound to a specific deployed contract. +func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) { + contract, err := bindERC721(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil +} + +// NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract. +func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) { + contract, err := bindERC721(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &ERC721Caller{contract: contract}, nil +} + +// NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract. +func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) { + contract, err := bindERC721(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &ERC721Transactor{contract: contract}, nil +} + +// NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract. +func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) { + contract, err := bindERC721(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &ERC721Filterer{contract: contract}, nil +} + +// bindERC721 binds a generic wrapper to an already deployed contract. +func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ERC721.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ERC721.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ERC721.Contract.contract.Transact(opts, method, params...) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address owner) view returns(uint256 balance) +func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { + var out []interface{} + err := _ERC721.contract.Call(opts, &out, "balanceOf", owner) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address owner) view returns(uint256 balance) +func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { + return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address owner) view returns(uint256 balance) +func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { + return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) +} + +// GetApproved is a free data retrieval call binding the contract method 0x081812fc. +// +// Solidity: function getApproved(uint256 tokenId) view returns(address operator) +func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { + var out []interface{} + err := _ERC721.contract.Call(opts, &out, "getApproved", tokenId) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GetApproved is a free data retrieval call binding the contract method 0x081812fc. +// +// Solidity: function getApproved(uint256 tokenId) view returns(address operator) +func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { + return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) +} + +// GetApproved is a free data retrieval call binding the contract method 0x081812fc. +// +// Solidity: function getApproved(uint256 tokenId) view returns(address operator) +func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { + return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) +} + +// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. +// +// Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) +func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { + var out []interface{} + err := _ERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. +// +// Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) +func (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { + return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) +} + +// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. +// +// Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) +func (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { + return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_ERC721 *ERC721Caller) Name(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _ERC721.contract.Call(opts, &out, "name") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_ERC721 *ERC721Session) Name() (string, error) { + return _ERC721.Contract.Name(&_ERC721.CallOpts) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_ERC721 *ERC721CallerSession) Name() (string, error) { + return _ERC721.Contract.Name(&_ERC721.CallOpts) +} + +// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. +// +// Solidity: function ownerOf(uint256 tokenId) view returns(address owner) +func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { + var out []interface{} + err := _ERC721.contract.Call(opts, &out, "ownerOf", tokenId) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. +// +// Solidity: function ownerOf(uint256 tokenId) view returns(address owner) +func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { + return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) +} + +// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. +// +// Solidity: function ownerOf(uint256 tokenId) view returns(address owner) +func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { + return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) +func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { + var out []interface{} + err := _ERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) +func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) +func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_ERC721 *ERC721Caller) Symbol(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _ERC721.contract.Call(opts, &out, "symbol") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_ERC721 *ERC721Session) Symbol() (string, error) { + return _ERC721.Contract.Symbol(&_ERC721.CallOpts) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_ERC721 *ERC721CallerSession) Symbol() (string, error) { + return _ERC721.Contract.Symbol(&_ERC721.CallOpts) +} + +// TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. +// +// Solidity: function tokenURI(uint256 tokenId) view returns(string) +func (_ERC721 *ERC721Caller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { + var out []interface{} + err := _ERC721.contract.Call(opts, &out, "tokenURI", tokenId) + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. +// +// Solidity: function tokenURI(uint256 tokenId) view returns(string) +func (_ERC721 *ERC721Session) TokenURI(tokenId *big.Int) (string, error) { + return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId) +} + +// TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. +// +// Solidity: function tokenURI(uint256 tokenId) view returns(string) +func (_ERC721 *ERC721CallerSession) TokenURI(tokenId *big.Int) (string, error) { + return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_ERC721 *ERC721Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _ERC721.contract.Call(opts, &out, "totalSupply") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_ERC721 *ERC721Session) TotalSupply() (*big.Int, error) { + return _ERC721.Contract.TotalSupply(&_ERC721.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_ERC721 *ERC721CallerSession) TotalSupply() (*big.Int, error) { + return _ERC721.Contract.TotalSupply(&_ERC721.CallOpts) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address to, uint256 tokenId) returns() +func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { + return _ERC721.contract.Transact(opts, "approve", to, tokenId) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address to, uint256 tokenId) returns() +func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { + return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address to, uint256 tokenId) returns() +func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { + return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) +} + +// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. +// +// Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() +func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { + return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId) +} + +// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. +// +// Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() +func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { + return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) +} + +// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. +// +// Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns() +func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { + return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId) +} + +// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. +// +// Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() +func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { + return _ERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data) +} + +// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. +// +// Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() +func (_ERC721 *ERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { + return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, data) +} + +// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. +// +// Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns() +func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { + return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, data) +} + +// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. +// +// Solidity: function setApprovalForAll(address operator, bool _approved) returns() +func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { + return _ERC721.contract.Transact(opts, "setApprovalForAll", operator, _approved) +} + +// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. +// +// Solidity: function setApprovalForAll(address operator, bool _approved) returns() +func (_ERC721 *ERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { + return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, _approved) +} + +// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. +// +// Solidity: function setApprovalForAll(address operator, bool _approved) returns() +func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { + return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, _approved) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() +func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { + return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() +func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { + return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 tokenId) returns() +func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { + return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) +} + +// ERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721 contract. +type ERC721ApprovalIterator struct { + Event *ERC721Approval // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC721ApprovalIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC721Approval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC721Approval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC721ApprovalIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC721ApprovalIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC721Approval represents a Approval event raised by the ERC721 contract. +type ERC721Approval struct { + Owner common.Address + Approved common.Address + TokenId *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) +func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var approvedRule []interface{} + for _, approvedItem := range approved { + approvedRule = append(approvedRule, approvedItem) + } + var tokenIdRule []interface{} + for _, tokenIdItem := range tokenId { + tokenIdRule = append(tokenIdRule, tokenIdItem) + } + + logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) + if err != nil { + return nil, err + } + return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil +} + +// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) +func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var approvedRule []interface{} + for _, approvedItem := range approved { + approvedRule = append(approvedRule, approvedItem) + } + var tokenIdRule []interface{} + for _, tokenIdItem := range tokenId { + tokenIdRule = append(tokenIdRule, tokenIdItem) + } + + logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC721Approval) + if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId) +func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) { + event := new(ERC721Approval) + if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721 contract. +type ERC721ApprovalForAllIterator struct { + Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC721ApprovalForAllIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC721ApprovalForAll) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC721ApprovalForAll) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC721ApprovalForAllIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC721ApprovalForAllIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract. +type ERC721ApprovalForAll struct { + Owner common.Address + Operator common.Address + Approved bool + Raw types.Log // Blockchain specific contextual infos +} + +// FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. +// +// Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) +func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var operatorRule []interface{} + for _, operatorItem := range operator { + operatorRule = append(operatorRule, operatorItem) + } + + logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) + if err != nil { + return nil, err + } + return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil +} + +// WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. +// +// Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) +func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var operatorRule []interface{} + for _, operatorItem := range operator { + operatorRule = append(operatorRule, operatorItem) + } + + logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC721ApprovalForAll) + if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. +// +// Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved) +func (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) { + event := new(ERC721ApprovalForAll) + if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721 contract. +type ERC721TransferIterator struct { + Event *ERC721Transfer // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ERC721TransferIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ERC721Transfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ERC721Transfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ERC721TransferIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ERC721TransferIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ERC721Transfer represents a Transfer event raised by the ERC721 contract. +type ERC721Transfer struct { + From common.Address + To common.Address + TokenId *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) +func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + var tokenIdRule []interface{} + for _, tokenIdItem := range tokenId { + tokenIdRule = append(tokenIdRule, tokenIdItem) + } + + logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) + if err != nil { + return nil, err + } + return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil +} + +// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) +func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + var tokenIdRule []interface{} + for _, tokenIdItem := range tokenId { + tokenIdRule = append(tokenIdRule, tokenIdItem) + } + + logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ERC721Transfer) + if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) +func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) { + event := new(ERC721Transfer) + if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/fiats.go b/bindings/fiats.go new file mode 100644 index 00000000..c81da418 --- /dev/null +++ b/bindings/fiats.go @@ -0,0 +1,67 @@ +package bindings + +import ( + "context" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +const ( + USDC BindingType = "USDC" +) + +type Fiat struct { + *Manager + ctx context.Context + opts []*BindOptions +} + +func NewFiat(ctx context.Context, manager *Manager, opts []*BindOptions) (*Fiat, error) { + if opts == nil { + opts = DefaultPinksaleBindOptions() + } + + for _, opt := range opts { + if err := opt.Validate(); err != nil { + return nil, err + } + } + + // Now lets register all the bindings with the manager + for _, opt := range opts { + for _, network := range opt.Networks { + if _, err := manager.RegisterBinding(network, opt.NetworkID, opt.Type, opt.Address, opt.ABI); err != nil { + return nil, err + } + } + } + + return &Fiat{ + Manager: manager, + ctx: ctx, + opts: opts, + }, nil +} + +// WatchLockEvents starts watching for Lock events. +func (ps *Fiat) WatchLockEvents(ctx context.Context) error { + return nil +} + +// WatchUnlockEvents starts watching for Unlock events. +func (ps *Fiat) WatchUnlockEvents(ctx context.Context) error { + return nil +} + +func DefaultFiatBindOptions() []*BindOptions { + return []*BindOptions{ + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + NetworkID: utils.EthereumNetworkID, + Type: USDC, + Address: common.HexToAddress("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"), + ABI: `[{"constant":false,"inputs":[{"name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newImplementation","type":"address"},{"name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_implementation","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousAdmin","type":"address"},{"indexed":false,"name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"implementation","type":"address"}],"name":"Upgraded","type":"event"}]`, + }, + } +} diff --git a/bindings/manager.go b/bindings/manager.go new file mode 100644 index 00000000..8009bd29 --- /dev/null +++ b/bindings/manager.go @@ -0,0 +1,263 @@ +package bindings + +import ( + "context" + "fmt" + "math/big" + "strings" + "sync" + + "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind/backends" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/standards" + "github.com/unpackdev/solgo/utils" +) + +type PairDetails struct { + Address common.Address // Address of the Uniswap pair contract + Token0 common.Address // Address of the first token in the pair + Token1 common.Address // Address of the second token in the pair + Reserve0 *big.Int // Reserve amount of the first token + Reserve1 *big.Int // Reserve amount of the second token +} + +type Manager struct { + ctx context.Context + clientPool *clients.ClientPool + simulatedClient *backends.SimulatedBackend + bindings map[utils.Network]map[BindingType]*Binding + mu sync.RWMutex // Mutex for thread-safe operations +} + +func NewManager(ctx context.Context, clientPool *clients.ClientPool) (*Manager, error) { + if !standards.StandardsLoaded() { + if err := standards.LoadStandards(); err != nil { + return nil, fmt.Errorf("failed to load standards: %w", err) + } + } + + return &Manager{ + ctx: ctx, + clientPool: clientPool, + bindings: make(map[utils.Network]map[BindingType]*Binding), + }, nil +} + +func NewSimulatedManager(ctx context.Context, clientPool *backends.SimulatedBackend) (*Manager, error) { + if !standards.StandardsLoaded() { + if err := standards.LoadStandards(); err != nil { + return nil, fmt.Errorf("failed to load standards: %w", err) + } + } + + return &Manager{ + ctx: ctx, + simulatedClient: clientPool, + bindings: make(map[utils.Network]map[BindingType]*Binding), + }, nil +} + +func (m *Manager) RegisterBinding(network utils.Network, networkID utils.NetworkID, name BindingType, address common.Address, rawABI string) (*Binding, error) { + parsedABI, err := abi.JSON(strings.NewReader(rawABI)) + if err != nil { + return nil, err + } + + binding := &Binding{ + network: network, + networkID: networkID, + Type: name, + Address: address, + RawABI: rawABI, + ABI: &parsedABI, + } + + m.mu.RLock() + if _, ok := m.bindings[network]; !ok { + m.bindings[network] = make(map[BindingType]*Binding) + } + m.mu.RUnlock() + + // We don't want to overwrite existing bindings and we don't want to register the same binding twice + if !m.BindingExist(network, name) { + m.bindings[network][name] = binding + } + + return binding, nil +} + +func (m *Manager) GetClient() *clients.ClientPool { + return m.clientPool +} + +func (m *Manager) GetBinding(network utils.Network, name BindingType) (*Binding, error) { + m.mu.RLock() + defer m.mu.RUnlock() + if networkBindings, ok := m.bindings[network]; ok { + if binding, ok := networkBindings[name]; ok { + return binding, nil + } + } + return nil, fmt.Errorf("binding %s not found", name) +} + +func (m *Manager) GetBindings(network utils.Network) map[BindingType]*Binding { + m.mu.RLock() + defer m.mu.RUnlock() + return m.bindings[network] +} + +func (m *Manager) BindingExist(network utils.Network, name BindingType) bool { + m.mu.RLock() + defer m.mu.RUnlock() + if networkBindings, ok := m.bindings[network]; ok { + if _, ok := networkBindings[name]; ok { + return true + } + } + return false +} + +// WatchEvents sets up a subscription to watch events from a specific contract. +func (m *Manager) WatchEvents(network utils.Network, bindingType BindingType, eventName string, ch chan<- types.Log) (ethereum.Subscription, error) { + m.mu.RLock() + defer m.mu.RUnlock() + binding, ok := m.bindings[network][bindingType] + if !ok { + return nil, fmt.Errorf("binding %s not found for network %s", bindingType, network) + } + + query := ethereum.FilterQuery{ + Addresses: []common.Address{binding.GetAddress()}, + } + + event, ok := binding.ABI.Events[eventName] + if !ok { + return nil, fmt.Errorf("event %s not found in ABI", eventName) + } + + query.Topics = [][]common.Hash{{event.ID}} + + if m.simulatedClient != nil { + return m.simulatedClient.SubscribeFilterLogs(context.Background(), query, ch) + } + + client := m.clientPool.GetClientByGroup(network.String()) + if client == nil { + return nil, fmt.Errorf("client not found for network %s", network) + } + + return client.SubscribeFilterLogs(context.Background(), query, ch) +} + +// CallContractMethod calls a method on a registered contract. +func (m *Manager) CallContractMethod(ctx context.Context, network utils.Network, bindingType BindingType, toAddr common.Address, methodName string, params ...interface{}) (any, error) { + m.mu.RLock() + defer m.mu.RUnlock() + + binding, ok := m.bindings[network][bindingType] + if !ok { + return nil, fmt.Errorf("binding %s not found for network %s", bindingType, network) + } + + method, ok := binding.ABI.Methods[methodName] + if !ok { + return nil, fmt.Errorf("binding %s method %s not found in ABI", bindingType, methodName) + } + + data, err := method.Inputs.Pack(params...) + if err != nil { + return nil, err + } + + destinationAddr := toAddr + if destinationAddr == utils.ZeroAddress { + destinationAddr = binding.Address + } + + callMsg := ethereum.CallMsg{ + To: &destinationAddr, + Data: append(method.ID, data...), + } + + var result []byte + + client := m.clientPool.GetClientByGroup(network.String()) + if client == nil { + return nil, fmt.Errorf("client not found for network %s", network) + } + + result, err = client.CallContract(context.Background(), callMsg, nil) + if err != nil { + return nil, fmt.Errorf("failed to call contract: %w", err) + } + + var unpackedResults any + err = binding.ABI.UnpackIntoInterface(&unpackedResults, methodName, result) + if err != nil { + return nil, fmt.Errorf("failed to unpack results: %w", err) + } + + return unpackedResults, nil +} + +func (m *Manager) CallContractMethodUnpackMap(ctx context.Context, network utils.Network, bindingType BindingType, toAddr common.Address, methodName string, params ...interface{}) (map[string]any, error) { + m.mu.RLock() + defer m.mu.RUnlock() + + binding, ok := m.bindings[network][bindingType] + if !ok { + return nil, fmt.Errorf("binding %s not found for network %s", bindingType, network) + } + + method, ok := binding.ABI.Methods[methodName] + if !ok { + return nil, fmt.Errorf("binding %s method %s not found in ABI", bindingType, methodName) + } + + data, err := method.Inputs.Pack(params...) + if err != nil { + return nil, err + } + + destinationAddr := toAddr + if destinationAddr == utils.ZeroAddress { + destinationAddr = binding.Address + } + + callMsg := ethereum.CallMsg{ + To: &destinationAddr, + Data: append(method.ID, data...), + } + + var result []byte + + if m.simulatedClient != nil { + result, err = m.simulatedClient.CallContract(context.Background(), callMsg, nil) + if err != nil { + return nil, fmt.Errorf("failed to simulate call contract: %w", err) + } + } else { + client := m.clientPool.GetClientByGroup(network.String()) + if client == nil { + return nil, fmt.Errorf("client not found for network %s", network) + } + + result, err = client.CallContract(context.Background(), callMsg, nil) + if err != nil { + return nil, fmt.Errorf("failed to call contract: %w", err) + } + } + + unpackedResults := map[string]any{} + err = binding.ABI.UnpackIntoMap(unpackedResults, methodName, result) + if err != nil { + return nil, fmt.Errorf("failed to unpack results: %w", err) + } + + return unpackedResults, nil +} diff --git a/bindings/options.go b/bindings/options.go new file mode 100644 index 00000000..ba891f1a --- /dev/null +++ b/bindings/options.go @@ -0,0 +1,36 @@ +package bindings + +import ( + "fmt" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +type BindOptions struct { + Networks []utils.Network + NetworkID utils.NetworkID + Name string + Type BindingType + Address common.Address + ABI string +} + +func (b *BindOptions) Validate() error { + if len(b.Networks) == 0 { + return fmt.Errorf("missing network") + } + if b.NetworkID == 0 { + return fmt.Errorf("missing network id") + } + if b.Type == "" { + return fmt.Errorf("missing binding type") + } + if b.Address == utils.ZeroAddress { + return fmt.Errorf("missing address") + } + if b.ABI == "" { + return fmt.Errorf("missing abi") + } + return nil +} diff --git a/bindings/otterscan.go b/bindings/otterscan.go new file mode 100644 index 00000000..49db438c --- /dev/null +++ b/bindings/otterscan.go @@ -0,0 +1,30 @@ +package bindings + +import ( + "context" + "fmt" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +type CreatorInformation struct { + ContractCreator common.Address `json:"creator"` + CreationHash common.Hash `json:"hash"` +} + +func (m *Manager) GetContractCreator(ctx context.Context, network utils.Network, contract common.Address) (*CreatorInformation, error) { + client := m.clientPool.GetClientByGroup(string(network)) + if client == nil { + return nil, fmt.Errorf("client not found for network %s", network) + } + + rpcClient := client.GetRpcClient() + var result *CreatorInformation + + if err := rpcClient.CallContext(ctx, &result, "ots_getContractCreator", contract.Hex()); err != nil { + return nil, fmt.Errorf("failed to fetch otterscan creator information: %v", err) + } + + return result, nil +} diff --git a/bindings/pinksale.go b/bindings/pinksale.go new file mode 100644 index 00000000..6ca3fff4 --- /dev/null +++ b/bindings/pinksale.go @@ -0,0 +1,114 @@ +package bindings + +import ( + "context" + "fmt" + "log" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/unpackdev/solgo/utils" +) + +const ( + PinkSaleLockV2Type BindingType = "PinkSaleLockV2" +) + +type PinkSale struct { + *Manager + ctx context.Context + opts []*BindOptions +} + +func NewPinkSale(ctx context.Context, manager *Manager, opts []*BindOptions) (*PinkSale, error) { + if opts == nil { + opts = DefaultPinksaleBindOptions() + } + + for _, opt := range opts { + if err := opt.Validate(); err != nil { + return nil, err + } + } + + // Now lets register all the bindings with the manager + for _, opt := range opts { + for _, network := range opt.Networks { + if _, err := manager.RegisterBinding(network, opt.NetworkID, opt.Type, opt.Address, opt.ABI); err != nil { + return nil, err + } + } + } + + return &PinkSale{ + Manager: manager, + ctx: ctx, + opts: opts, + }, nil +} + +// WatchLockEvents starts watching for Lock events. +func (ps *PinkSale) WatchLockEvents(ctx context.Context) error { + ch := make(chan types.Log) + sub, err := ps.WatchEvents(utils.Ethereum, PinkSaleLockV2Type, "LockAdded", ch) + if err != nil { + return fmt.Errorf("failed to subscribe to Lock events: %w", err) + } + defer sub.Unsubscribe() + + for { + select { + case err := <-sub.Err(): + log.Printf("Subscription error: %v", err) + case log := <-ch: + ps.handleLockEvent(log) + case <-ctx.Done(): + return nil + } + } +} + +// WatchUnlockEvents starts watching for Unlock events. +func (ps *PinkSale) WatchUnlockEvents(ctx context.Context) error { + ch := make(chan types.Log) + sub, err := ps.WatchEvents(utils.Ethereum, PinkSaleLockV2Type, "LockRemoved", ch) + if err != nil { + return fmt.Errorf("failed to subscribe to Unlock events: %w", err) + } + defer sub.Unsubscribe() + + for { + select { + case err := <-sub.Err(): + log.Printf("Subscription error: %v", err) + case log := <-ch: + ps.handleUnlockEvent(log) + case <-ctx.Done(): + return nil + } + } +} + +// handleLockEvent handles the received Lock event log. +func (ps *PinkSale) handleLockEvent(log types.Log) { + fmt.Printf("Lock Event: %+v\n", log) + // Additional processing can be done here +} + +// handleUnlockEvent handles the received Unlock event log. +func (ps *PinkSale) handleUnlockEvent(log types.Log) { + fmt.Printf("Unlock Event: %+v\n", log) + // Additional processing can be done here +} + +func DefaultPinksaleBindOptions() []*BindOptions { + return []*BindOptions{ + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + NetworkID: utils.EthereumNetworkID, + Type: PinkSaleLockV2Type, + Address: common.HexToAddress("0x71B5759d73262FBb223956913ecF4ecC51057641"), + ABI: `[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockDate","type":"uint256"}],"name":"LockAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"lockId","type":"uint256"}],"name":"LockDescriptionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"lockId","type":"uint256"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"LockOwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockedAt","type":"uint256"}],"name":"LockRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newUnlockDate","type":"uint256"}],"name":"LockUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"remaining","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"LockVested","type":"event"},{"inputs":[],"name":"allLpTokenLockedCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allNormalTokenLockedCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"cumulativeLockInfo","outputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"factory","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockId","type":"uint256"},{"internalType":"uint256","name":"newAmount","type":"uint256"},{"internalType":"uint256","name":"newUnlockDate","type":"uint256"}],"name":"editLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockId","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"name":"editLockDescription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"getCumulativeLpTokenLockInfo","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"factory","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct PinkLock02.CumulativeLockInfo[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getCumulativeLpTokenLockInfoAt","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"factory","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct PinkLock02.CumulativeLockInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"getCumulativeNormalTokenLockInfo","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"factory","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct PinkLock02.CumulativeLockInfo[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getCumulativeNormalTokenLockInfoAt","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"factory","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct PinkLock02.CumulativeLockInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getLockAt","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockDate","type":"uint256"},{"internalType":"uint256","name":"tgeDate","type":"uint256"},{"internalType":"uint256","name":"tgeBps","type":"uint256"},{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"uint256","name":"cycleBps","type":"uint256"},{"internalType":"uint256","name":"unlockedAmount","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct PinkLock02.Lock","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockId","type":"uint256"}],"name":"getLockById","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockDate","type":"uint256"},{"internalType":"uint256","name":"tgeDate","type":"uint256"},{"internalType":"uint256","name":"tgeBps","type":"uint256"},{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"uint256","name":"cycleBps","type":"uint256"},{"internalType":"uint256","name":"unlockedAmount","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct PinkLock02.Lock","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"getLocksForToken","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockDate","type":"uint256"},{"internalType":"uint256","name":"tgeDate","type":"uint256"},{"internalType":"uint256","name":"tgeBps","type":"uint256"},{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"uint256","name":"cycleBps","type":"uint256"},{"internalType":"uint256","name":"unlockedAmount","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct PinkLock02.Lock[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalLockCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"bool","name":"isLpToken","type":"bool"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"unlockDate","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"name":"lock","outputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"lpLockCountForUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"lpLockForUserAtIndex","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockDate","type":"uint256"},{"internalType":"uint256","name":"tgeDate","type":"uint256"},{"internalType":"uint256","name":"tgeBps","type":"uint256"},{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"uint256","name":"cycleBps","type":"uint256"},{"internalType":"uint256","name":"unlockedAmount","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct PinkLock02.Lock","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"lpLocksForUser","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockDate","type":"uint256"},{"internalType":"uint256","name":"tgeDate","type":"uint256"},{"internalType":"uint256","name":"tgeBps","type":"uint256"},{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"uint256","name":"cycleBps","type":"uint256"},{"internalType":"uint256","name":"unlockedAmount","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct PinkLock02.Lock[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"owners","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"address","name":"token","type":"address"},{"internalType":"bool","name":"isLpToken","type":"bool"},{"internalType":"uint256","name":"tgeDate","type":"uint256"},{"internalType":"uint256","name":"tgeBps","type":"uint256"},{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"uint256","name":"cycleBps","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"name":"multipleVestingLock","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"normalLockCountForUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"normalLockForUserAtIndex","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockDate","type":"uint256"},{"internalType":"uint256","name":"tgeDate","type":"uint256"},{"internalType":"uint256","name":"tgeBps","type":"uint256"},{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"uint256","name":"cycleBps","type":"uint256"},{"internalType":"uint256","name":"unlockedAmount","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct PinkLock02.Lock","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"normalLocksForUser","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockDate","type":"uint256"},{"internalType":"uint256","name":"tgeDate","type":"uint256"},{"internalType":"uint256","name":"tgeBps","type":"uint256"},{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"uint256","name":"cycleBps","type":"uint256"},{"internalType":"uint256","name":"unlockedAmount","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct PinkLock02.Lock[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockId","type":"uint256"}],"name":"renounceLockOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"totalLockCountForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"totalLockCountForUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokenLockedCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockId","type":"uint256"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferLockOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockId","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"bool","name":"isLpToken","type":"bool"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"tgeDate","type":"uint256"},{"internalType":"uint256","name":"tgeBps","type":"uint256"},{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"uint256","name":"cycleBps","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"name":"vestingLock","outputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockId","type":"uint256"}],"name":"withdrawableTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]`, + }, + } +} diff --git a/bindings/simulator.go b/bindings/simulator.go new file mode 100644 index 00000000..e0da12af --- /dev/null +++ b/bindings/simulator.go @@ -0,0 +1,66 @@ +package bindings + +import ( + "fmt" + + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/hexutil" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" +) + +type JSONRPCRequest struct { + JSONRPC string `json:"jsonrpc"` + Method string `json:"method"` + Params []interface{} `json:"params"` + ID int `json:"id"` +} + +func (m *Manager) ImpersonateAccount(network utils.Network, contract common.Address) (common.Address, error) { + client := m.clientPool.GetClientByGroup(string(network)) + if client == nil { + return contract, fmt.Errorf("client not found for network %s", network) + } + + rpcClient := client.GetRpcClient() + if err := rpcClient.Call(nil, "anvil_impersonateAccount", contract.Hex()); err != nil { + return contract, fmt.Errorf("failed to impersonate account: %v", err) + } + + return contract, nil +} + +func (m *Manager) StopImpersonateAccount(network utils.Network, contract common.Address) (common.Address, error) { + client := m.clientPool.GetClientByGroup(string(network)) + if client == nil { + return contract, fmt.Errorf("client not found for network %s", network) + } + + rpcClient := client.GetRpcClient() + if err := rpcClient.Call(nil, "anvil_stopImpersonatingAccount", contract.Hex()); err != nil { + return contract, fmt.Errorf("failed to stop impersonating account: %v", err) + } + + return contract, nil +} + +func (m *Manager) SendSimulatedTransaction(opts *bind.TransactOpts, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, contract *common.Address, method abi.Method, input []byte) (*common.Hash, error) { + txArgs := map[string]interface{}{ + "from": opts.From.Hex(), + "to": contract.Hex(), + "data": hexutil.Encode(input), // method + arguments... + } + + if opts.Value != nil { + txArgs["value"] = hexutil.EncodeBig(opts.Value) + } + + var txHash common.Hash + if err := client.GetRpcClient().Call(&txHash, "eth_sendTransaction", txArgs); err != nil { + return nil, fmt.Errorf("failed to send transaction: %v - contract: %v - args: %v", err, contract.Hex(), txArgs) + } + + return &txHash, nil +} diff --git a/bindings/sushiswapv2pool/sushiswapv2pool.go b/bindings/sushiswapv2pool/sushiswapv2pool.go new file mode 100644 index 00000000..b05ea1c1 --- /dev/null +++ b/bindings/sushiswapv2pool/sushiswapv2pool.go @@ -0,0 +1,1841 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package sushiswapv2pool + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// SushiSwapV2PoolMetaData contains all meta data concerning the SushiSwapV2Pool contract. +var SushiSwapV2PoolMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"}],\"name\":\"Sync\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_LIQUIDITY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"_reserve0\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"_reserve1\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"_blockTimestampLast\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token1\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price0CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price1CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"skim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sync\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", +} + +// SushiSwapV2PoolABI is the input ABI used to generate the binding from. +// Deprecated: Use SushiSwapV2PoolMetaData.ABI instead. +var SushiSwapV2PoolABI = SushiSwapV2PoolMetaData.ABI + +// SushiSwapV2Pool is an auto generated Go binding around an Ethereum contract. +type SushiSwapV2Pool struct { + SushiSwapV2PoolCaller // Read-only binding to the contract + SushiSwapV2PoolTransactor // Write-only binding to the contract + SushiSwapV2PoolFilterer // Log filterer for contract events +} + +// SushiSwapV2PoolCaller is an auto generated read-only Go binding around an Ethereum contract. +type SushiSwapV2PoolCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// SushiSwapV2PoolTransactor is an auto generated write-only Go binding around an Ethereum contract. +type SushiSwapV2PoolTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// SushiSwapV2PoolFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type SushiSwapV2PoolFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// SushiSwapV2PoolSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type SushiSwapV2PoolSession struct { + Contract *SushiSwapV2Pool // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// SushiSwapV2PoolCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type SushiSwapV2PoolCallerSession struct { + Contract *SushiSwapV2PoolCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// SushiSwapV2PoolTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type SushiSwapV2PoolTransactorSession struct { + Contract *SushiSwapV2PoolTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// SushiSwapV2PoolRaw is an auto generated low-level Go binding around an Ethereum contract. +type SushiSwapV2PoolRaw struct { + Contract *SushiSwapV2Pool // Generic contract binding to access the raw methods on +} + +// SushiSwapV2PoolCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type SushiSwapV2PoolCallerRaw struct { + Contract *SushiSwapV2PoolCaller // Generic read-only contract binding to access the raw methods on +} + +// SushiSwapV2PoolTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type SushiSwapV2PoolTransactorRaw struct { + Contract *SushiSwapV2PoolTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewSushiSwapV2Pool creates a new instance of SushiSwapV2Pool, bound to a specific deployed contract. +func NewSushiSwapV2Pool(address common.Address, backend bind.ContractBackend) (*SushiSwapV2Pool, error) { + contract, err := bindSushiSwapV2Pool(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &SushiSwapV2Pool{SushiSwapV2PoolCaller: SushiSwapV2PoolCaller{contract: contract}, SushiSwapV2PoolTransactor: SushiSwapV2PoolTransactor{contract: contract}, SushiSwapV2PoolFilterer: SushiSwapV2PoolFilterer{contract: contract}}, nil +} + +// NewSushiSwapV2PoolCaller creates a new read-only instance of SushiSwapV2Pool, bound to a specific deployed contract. +func NewSushiSwapV2PoolCaller(address common.Address, caller bind.ContractCaller) (*SushiSwapV2PoolCaller, error) { + contract, err := bindSushiSwapV2Pool(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &SushiSwapV2PoolCaller{contract: contract}, nil +} + +// NewSushiSwapV2PoolTransactor creates a new write-only instance of SushiSwapV2Pool, bound to a specific deployed contract. +func NewSushiSwapV2PoolTransactor(address common.Address, transactor bind.ContractTransactor) (*SushiSwapV2PoolTransactor, error) { + contract, err := bindSushiSwapV2Pool(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &SushiSwapV2PoolTransactor{contract: contract}, nil +} + +// NewSushiSwapV2PoolFilterer creates a new log filterer instance of SushiSwapV2Pool, bound to a specific deployed contract. +func NewSushiSwapV2PoolFilterer(address common.Address, filterer bind.ContractFilterer) (*SushiSwapV2PoolFilterer, error) { + contract, err := bindSushiSwapV2Pool(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &SushiSwapV2PoolFilterer{contract: contract}, nil +} + +// bindSushiSwapV2Pool binds a generic wrapper to an already deployed contract. +func bindSushiSwapV2Pool(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(SushiSwapV2PoolABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_SushiSwapV2Pool *SushiSwapV2PoolRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _SushiSwapV2Pool.Contract.SushiSwapV2PoolCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_SushiSwapV2Pool *SushiSwapV2PoolRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.SushiSwapV2PoolTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_SushiSwapV2Pool *SushiSwapV2PoolRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.SushiSwapV2PoolTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _SushiSwapV2Pool.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.contract.Transact(opts, method, params...) +} + +// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. +// +// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "DOMAIN_SEPARATOR") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. +// +// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) DOMAINSEPARATOR() ([32]byte, error) { + return _SushiSwapV2Pool.Contract.DOMAINSEPARATOR(&_SushiSwapV2Pool.CallOpts) +} + +// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. +// +// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) DOMAINSEPARATOR() ([32]byte, error) { + return _SushiSwapV2Pool.Contract.DOMAINSEPARATOR(&_SushiSwapV2Pool.CallOpts) +} + +// MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. +// +// Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) MINIMUMLIQUIDITY(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "MINIMUM_LIQUIDITY") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. +// +// Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) MINIMUMLIQUIDITY() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.MINIMUMLIQUIDITY(&_SushiSwapV2Pool.CallOpts) +} + +// MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. +// +// Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) MINIMUMLIQUIDITY() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.MINIMUMLIQUIDITY(&_SushiSwapV2Pool.CallOpts) +} + +// PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. +// +// Solidity: function PERMIT_TYPEHASH() view returns(bytes32) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) PERMITTYPEHASH(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "PERMIT_TYPEHASH") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. +// +// Solidity: function PERMIT_TYPEHASH() view returns(bytes32) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) PERMITTYPEHASH() ([32]byte, error) { + return _SushiSwapV2Pool.Contract.PERMITTYPEHASH(&_SushiSwapV2Pool.CallOpts) +} + +// PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. +// +// Solidity: function PERMIT_TYPEHASH() view returns(bytes32) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) PERMITTYPEHASH() ([32]byte, error) { + return _SushiSwapV2Pool.Contract.PERMITTYPEHASH(&_SushiSwapV2Pool.CallOpts) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address , address ) view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "allowance", arg0, arg1) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address , address ) view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _SushiSwapV2Pool.Contract.Allowance(&_SushiSwapV2Pool.CallOpts, arg0, arg1) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address , address ) view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _SushiSwapV2Pool.Contract.Allowance(&_SushiSwapV2Pool.CallOpts, arg0, arg1) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address ) view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "balanceOf", arg0) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address ) view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) BalanceOf(arg0 common.Address) (*big.Int, error) { + return _SushiSwapV2Pool.Contract.BalanceOf(&_SushiSwapV2Pool.CallOpts, arg0) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address ) view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) BalanceOf(arg0 common.Address) (*big.Int, error) { + return _SushiSwapV2Pool.Contract.BalanceOf(&_SushiSwapV2Pool.CallOpts, arg0) +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Decimals(opts *bind.CallOpts) (uint8, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "decimals") + + if err != nil { + return *new(uint8), err + } + + out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) + + return out0, err + +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Decimals() (uint8, error) { + return _SushiSwapV2Pool.Contract.Decimals(&_SushiSwapV2Pool.CallOpts) +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Decimals() (uint8, error) { + return _SushiSwapV2Pool.Contract.Decimals(&_SushiSwapV2Pool.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Factory(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "factory") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Factory() (common.Address, error) { + return _SushiSwapV2Pool.Contract.Factory(&_SushiSwapV2Pool.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Factory() (common.Address, error) { + return _SushiSwapV2Pool.Contract.Factory(&_SushiSwapV2Pool.CallOpts) +} + +// GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. +// +// Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) GetReserves(opts *bind.CallOpts) (struct { + Reserve0 *big.Int + Reserve1 *big.Int + BlockTimestampLast uint32 +}, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "getReserves") + + outstruct := new(struct { + Reserve0 *big.Int + Reserve1 *big.Int + BlockTimestampLast uint32 + }) + if err != nil { + return *outstruct, err + } + + outstruct.Reserve0 = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + outstruct.Reserve1 = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.BlockTimestampLast = *abi.ConvertType(out[2], new(uint32)).(*uint32) + + return *outstruct, err + +} + +// GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. +// +// Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) GetReserves() (struct { + Reserve0 *big.Int + Reserve1 *big.Int + BlockTimestampLast uint32 +}, error) { + return _SushiSwapV2Pool.Contract.GetReserves(&_SushiSwapV2Pool.CallOpts) +} + +// GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. +// +// Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) GetReserves() (struct { + Reserve0 *big.Int + Reserve1 *big.Int + BlockTimestampLast uint32 +}, error) { + return _SushiSwapV2Pool.Contract.GetReserves(&_SushiSwapV2Pool.CallOpts) +} + +// KLast is a free data retrieval call binding the contract method 0x7464fc3d. +// +// Solidity: function kLast() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) KLast(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "kLast") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// KLast is a free data retrieval call binding the contract method 0x7464fc3d. +// +// Solidity: function kLast() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) KLast() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.KLast(&_SushiSwapV2Pool.CallOpts) +} + +// KLast is a free data retrieval call binding the contract method 0x7464fc3d. +// +// Solidity: function kLast() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) KLast() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.KLast(&_SushiSwapV2Pool.CallOpts) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Name(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "name") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Name() (string, error) { + return _SushiSwapV2Pool.Contract.Name(&_SushiSwapV2Pool.CallOpts) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Name() (string, error) { + return _SushiSwapV2Pool.Contract.Name(&_SushiSwapV2Pool.CallOpts) +} + +// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. +// +// Solidity: function nonces(address ) view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Nonces(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "nonces", arg0) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. +// +// Solidity: function nonces(address ) view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Nonces(arg0 common.Address) (*big.Int, error) { + return _SushiSwapV2Pool.Contract.Nonces(&_SushiSwapV2Pool.CallOpts, arg0) +} + +// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. +// +// Solidity: function nonces(address ) view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Nonces(arg0 common.Address) (*big.Int, error) { + return _SushiSwapV2Pool.Contract.Nonces(&_SushiSwapV2Pool.CallOpts, arg0) +} + +// Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. +// +// Solidity: function price0CumulativeLast() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Price0CumulativeLast(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "price0CumulativeLast") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. +// +// Solidity: function price0CumulativeLast() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Price0CumulativeLast() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.Price0CumulativeLast(&_SushiSwapV2Pool.CallOpts) +} + +// Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. +// +// Solidity: function price0CumulativeLast() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Price0CumulativeLast() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.Price0CumulativeLast(&_SushiSwapV2Pool.CallOpts) +} + +// Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. +// +// Solidity: function price1CumulativeLast() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Price1CumulativeLast(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "price1CumulativeLast") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. +// +// Solidity: function price1CumulativeLast() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Price1CumulativeLast() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.Price1CumulativeLast(&_SushiSwapV2Pool.CallOpts) +} + +// Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. +// +// Solidity: function price1CumulativeLast() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Price1CumulativeLast() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.Price1CumulativeLast(&_SushiSwapV2Pool.CallOpts) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Symbol(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "symbol") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Symbol() (string, error) { + return _SushiSwapV2Pool.Contract.Symbol(&_SushiSwapV2Pool.CallOpts) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Symbol() (string, error) { + return _SushiSwapV2Pool.Contract.Symbol(&_SushiSwapV2Pool.CallOpts) +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Token0(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "token0") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Token0() (common.Address, error) { + return _SushiSwapV2Pool.Contract.Token0(&_SushiSwapV2Pool.CallOpts) +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Token0() (common.Address, error) { + return _SushiSwapV2Pool.Contract.Token0(&_SushiSwapV2Pool.CallOpts) +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) Token1(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "token1") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Token1() (common.Address, error) { + return _SushiSwapV2Pool.Contract.Token1(&_SushiSwapV2Pool.CallOpts) +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) Token1() (common.Address, error) { + return _SushiSwapV2Pool.Contract.Token1(&_SushiSwapV2Pool.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _SushiSwapV2Pool.contract.Call(opts, &out, "totalSupply") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) TotalSupply() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.TotalSupply(&_SushiSwapV2Pool.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_SushiSwapV2Pool *SushiSwapV2PoolCallerSession) TotalSupply() (*big.Int, error) { + return _SushiSwapV2Pool.Contract.TotalSupply(&_SushiSwapV2Pool.CallOpts) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address spender, uint256 value) returns(bool) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "approve", spender, value) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address spender, uint256 value) returns(bool) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Approve(&_SushiSwapV2Pool.TransactOpts, spender, value) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address spender, uint256 value) returns(bool) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Approve(&_SushiSwapV2Pool.TransactOpts, spender, value) +} + +// Burn is a paid mutator transaction binding the contract method 0x89afcb44. +// +// Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) Burn(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "burn", to) +} + +// Burn is a paid mutator transaction binding the contract method 0x89afcb44. +// +// Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Burn(to common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Burn(&_SushiSwapV2Pool.TransactOpts, to) +} + +// Burn is a paid mutator transaction binding the contract method 0x89afcb44. +// +// Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) Burn(to common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Burn(&_SushiSwapV2Pool.TransactOpts, to) +} + +// Initialize is a paid mutator transaction binding the contract method 0x485cc955. +// +// Solidity: function initialize(address _token0, address _token1) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) Initialize(opts *bind.TransactOpts, _token0 common.Address, _token1 common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "initialize", _token0, _token1) +} + +// Initialize is a paid mutator transaction binding the contract method 0x485cc955. +// +// Solidity: function initialize(address _token0, address _token1) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Initialize(_token0 common.Address, _token1 common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Initialize(&_SushiSwapV2Pool.TransactOpts, _token0, _token1) +} + +// Initialize is a paid mutator transaction binding the contract method 0x485cc955. +// +// Solidity: function initialize(address _token0, address _token1) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) Initialize(_token0 common.Address, _token1 common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Initialize(&_SushiSwapV2Pool.TransactOpts, _token0, _token1) +} + +// Mint is a paid mutator transaction binding the contract method 0x6a627842. +// +// Solidity: function mint(address to) returns(uint256 liquidity) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) Mint(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "mint", to) +} + +// Mint is a paid mutator transaction binding the contract method 0x6a627842. +// +// Solidity: function mint(address to) returns(uint256 liquidity) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Mint(to common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Mint(&_SushiSwapV2Pool.TransactOpts, to) +} + +// Mint is a paid mutator transaction binding the contract method 0x6a627842. +// +// Solidity: function mint(address to) returns(uint256 liquidity) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) Mint(to common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Mint(&_SushiSwapV2Pool.TransactOpts, to) +} + +// Permit is a paid mutator transaction binding the contract method 0xd505accf. +// +// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "permit", owner, spender, value, deadline, v, r, s) +} + +// Permit is a paid mutator transaction binding the contract method 0xd505accf. +// +// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Permit(&_SushiSwapV2Pool.TransactOpts, owner, spender, value, deadline, v, r, s) +} + +// Permit is a paid mutator transaction binding the contract method 0xd505accf. +// +// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Permit(&_SushiSwapV2Pool.TransactOpts, owner, spender, value, deadline, v, r, s) +} + +// Skim is a paid mutator transaction binding the contract method 0xbc25cf77. +// +// Solidity: function skim(address to) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) Skim(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "skim", to) +} + +// Skim is a paid mutator transaction binding the contract method 0xbc25cf77. +// +// Solidity: function skim(address to) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Skim(to common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Skim(&_SushiSwapV2Pool.TransactOpts, to) +} + +// Skim is a paid mutator transaction binding the contract method 0xbc25cf77. +// +// Solidity: function skim(address to) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) Skim(to common.Address) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Skim(&_SushiSwapV2Pool.TransactOpts, to) +} + +// Swap is a paid mutator transaction binding the contract method 0x022c0d9f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) Swap(opts *bind.TransactOpts, amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "swap", amount0Out, amount1Out, to, data) +} + +// Swap is a paid mutator transaction binding the contract method 0x022c0d9f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Swap(&_SushiSwapV2Pool.TransactOpts, amount0Out, amount1Out, to, data) +} + +// Swap is a paid mutator transaction binding the contract method 0x022c0d9f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Swap(&_SushiSwapV2Pool.TransactOpts, amount0Out, amount1Out, to, data) +} + +// Sync is a paid mutator transaction binding the contract method 0xfff6cae9. +// +// Solidity: function sync() returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) Sync(opts *bind.TransactOpts) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "sync") +} + +// Sync is a paid mutator transaction binding the contract method 0xfff6cae9. +// +// Solidity: function sync() returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Sync() (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Sync(&_SushiSwapV2Pool.TransactOpts) +} + +// Sync is a paid mutator transaction binding the contract method 0xfff6cae9. +// +// Solidity: function sync() returns() +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) Sync() (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Sync(&_SushiSwapV2Pool.TransactOpts) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address to, uint256 value) returns(bool) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "transfer", to, value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address to, uint256 value) returns(bool) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Transfer(&_SushiSwapV2Pool.TransactOpts, to, value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address to, uint256 value) returns(bool) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.Transfer(&_SushiSwapV2Pool.TransactOpts, to, value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { + return _SushiSwapV2Pool.contract.Transact(opts, "transferFrom", from, to, value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) +func (_SushiSwapV2Pool *SushiSwapV2PoolSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.TransferFrom(&_SushiSwapV2Pool.TransactOpts, from, to, value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) +func (_SushiSwapV2Pool *SushiSwapV2PoolTransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { + return _SushiSwapV2Pool.Contract.TransferFrom(&_SushiSwapV2Pool.TransactOpts, from, to, value) +} + +// SushiSwapV2PoolApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolApprovalIterator struct { + Event *SushiSwapV2PoolApproval // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *SushiSwapV2PoolApprovalIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolApproval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolApproval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *SushiSwapV2PoolApprovalIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SushiSwapV2PoolApprovalIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SushiSwapV2PoolApproval represents a Approval event raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolApproval struct { + Owner common.Address + Spender common.Address + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*SushiSwapV2PoolApprovalIterator, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var spenderRule []interface{} + for _, spenderItem := range spender { + spenderRule = append(spenderRule, spenderItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) + if err != nil { + return nil, err + } + return &SushiSwapV2PoolApprovalIterator{contract: _SushiSwapV2Pool.contract, event: "Approval", logs: logs, sub: sub}, nil +} + +// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *SushiSwapV2PoolApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var spenderRule []interface{} + for _, spenderItem := range spender { + spenderRule = append(spenderRule, spenderItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(SushiSwapV2PoolApproval) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Approval", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) ParseApproval(log types.Log) (*SushiSwapV2PoolApproval, error) { + event := new(SushiSwapV2PoolApproval) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Approval", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SushiSwapV2PoolBurnIterator is returned from FilterBurn and is used to iterate over the raw logs and unpacked data for Burn events raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolBurnIterator struct { + Event *SushiSwapV2PoolBurn // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *SushiSwapV2PoolBurnIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolBurn) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolBurn) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *SushiSwapV2PoolBurnIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SushiSwapV2PoolBurnIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SushiSwapV2PoolBurn represents a Burn event raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolBurn struct { + Sender common.Address + Amount0 *big.Int + Amount1 *big.Int + To common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterBurn is a free log retrieval operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. +// +// Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) FilterBurn(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*SushiSwapV2PoolBurnIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.FilterLogs(opts, "Burn", senderRule, toRule) + if err != nil { + return nil, err + } + return &SushiSwapV2PoolBurnIterator{contract: _SushiSwapV2Pool.contract, event: "Burn", logs: logs, sub: sub}, nil +} + +// WatchBurn is a free log subscription operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. +// +// Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) WatchBurn(opts *bind.WatchOpts, sink chan<- *SushiSwapV2PoolBurn, sender []common.Address, to []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.WatchLogs(opts, "Burn", senderRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(SushiSwapV2PoolBurn) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Burn", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseBurn is a log parse operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. +// +// Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) ParseBurn(log types.Log) (*SushiSwapV2PoolBurn, error) { + event := new(SushiSwapV2PoolBurn) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Burn", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SushiSwapV2PoolMintIterator is returned from FilterMint and is used to iterate over the raw logs and unpacked data for Mint events raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolMintIterator struct { + Event *SushiSwapV2PoolMint // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *SushiSwapV2PoolMintIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolMint) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolMint) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *SushiSwapV2PoolMintIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SushiSwapV2PoolMintIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SushiSwapV2PoolMint represents a Mint event raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolMint struct { + Sender common.Address + Amount0 *big.Int + Amount1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterMint is a free log retrieval operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. +// +// Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) FilterMint(opts *bind.FilterOpts, sender []common.Address) (*SushiSwapV2PoolMintIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.FilterLogs(opts, "Mint", senderRule) + if err != nil { + return nil, err + } + return &SushiSwapV2PoolMintIterator{contract: _SushiSwapV2Pool.contract, event: "Mint", logs: logs, sub: sub}, nil +} + +// WatchMint is a free log subscription operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. +// +// Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) WatchMint(opts *bind.WatchOpts, sink chan<- *SushiSwapV2PoolMint, sender []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.WatchLogs(opts, "Mint", senderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(SushiSwapV2PoolMint) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Mint", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseMint is a log parse operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. +// +// Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) ParseMint(log types.Log) (*SushiSwapV2PoolMint, error) { + event := new(SushiSwapV2PoolMint) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Mint", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SushiSwapV2PoolSwapIterator is returned from FilterSwap and is used to iterate over the raw logs and unpacked data for Swap events raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolSwapIterator struct { + Event *SushiSwapV2PoolSwap // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *SushiSwapV2PoolSwapIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *SushiSwapV2PoolSwapIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SushiSwapV2PoolSwapIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SushiSwapV2PoolSwap represents a Swap event raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolSwap struct { + Sender common.Address + Amount0In *big.Int + Amount1In *big.Int + Amount0Out *big.Int + Amount1Out *big.Int + To common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSwap is a free log retrieval operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. +// +// Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) FilterSwap(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*SushiSwapV2PoolSwapIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.FilterLogs(opts, "Swap", senderRule, toRule) + if err != nil { + return nil, err + } + return &SushiSwapV2PoolSwapIterator{contract: _SushiSwapV2Pool.contract, event: "Swap", logs: logs, sub: sub}, nil +} + +// WatchSwap is a free log subscription operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. +// +// Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) WatchSwap(opts *bind.WatchOpts, sink chan<- *SushiSwapV2PoolSwap, sender []common.Address, to []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.WatchLogs(opts, "Swap", senderRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(SushiSwapV2PoolSwap) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Swap", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSwap is a log parse operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. +// +// Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) ParseSwap(log types.Log) (*SushiSwapV2PoolSwap, error) { + event := new(SushiSwapV2PoolSwap) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Swap", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SushiSwapV2PoolSyncIterator is returned from FilterSync and is used to iterate over the raw logs and unpacked data for Sync events raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolSyncIterator struct { + Event *SushiSwapV2PoolSync // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *SushiSwapV2PoolSyncIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolSync) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolSync) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *SushiSwapV2PoolSyncIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SushiSwapV2PoolSyncIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SushiSwapV2PoolSync represents a Sync event raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolSync struct { + Reserve0 *big.Int + Reserve1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSync is a free log retrieval operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. +// +// Solidity: event Sync(uint112 reserve0, uint112 reserve1) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) FilterSync(opts *bind.FilterOpts) (*SushiSwapV2PoolSyncIterator, error) { + + logs, sub, err := _SushiSwapV2Pool.contract.FilterLogs(opts, "Sync") + if err != nil { + return nil, err + } + return &SushiSwapV2PoolSyncIterator{contract: _SushiSwapV2Pool.contract, event: "Sync", logs: logs, sub: sub}, nil +} + +// WatchSync is a free log subscription operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. +// +// Solidity: event Sync(uint112 reserve0, uint112 reserve1) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) WatchSync(opts *bind.WatchOpts, sink chan<- *SushiSwapV2PoolSync) (event.Subscription, error) { + + logs, sub, err := _SushiSwapV2Pool.contract.WatchLogs(opts, "Sync") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(SushiSwapV2PoolSync) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Sync", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSync is a log parse operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. +// +// Solidity: event Sync(uint112 reserve0, uint112 reserve1) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) ParseSync(log types.Log) (*SushiSwapV2PoolSync, error) { + event := new(SushiSwapV2PoolSync) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Sync", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SushiSwapV2PoolTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolTransferIterator struct { + Event *SushiSwapV2PoolTransfer // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *SushiSwapV2PoolTransferIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolTransfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(SushiSwapV2PoolTransfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *SushiSwapV2PoolTransferIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SushiSwapV2PoolTransferIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SushiSwapV2PoolTransfer represents a Transfer event raised by the SushiSwapV2Pool contract. +type SushiSwapV2PoolTransfer struct { + From common.Address + To common.Address + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*SushiSwapV2PoolTransferIterator, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.FilterLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return &SushiSwapV2PoolTransferIterator{contract: _SushiSwapV2Pool.contract, event: "Transfer", logs: logs, sub: sub}, nil +} + +// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *SushiSwapV2PoolTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _SushiSwapV2Pool.contract.WatchLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(SushiSwapV2PoolTransfer) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Transfer", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_SushiSwapV2Pool *SushiSwapV2PoolFilterer) ParseTransfer(log types.Log) (*SushiSwapV2PoolTransfer, error) { + event := new(SushiSwapV2PoolTransfer) + if err := _SushiSwapV2Pool.contract.UnpackLog(event, "Transfer", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/token.go b/bindings/token.go new file mode 100644 index 00000000..0d90b034 --- /dev/null +++ b/bindings/token.go @@ -0,0 +1,330 @@ +package bindings + +import ( + "context" + "errors" + "fmt" + "math/big" + + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/standards" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" +) + +const ( + Erc20 BindingType = "ERC20" + Erc20Ownable BindingType = "ERC20Ownable" +) + +type Token struct { + *Manager + network utils.Network + ctx context.Context + opts []*BindOptions +} + +func NewToken(ctx context.Context, network utils.Network, manager *Manager, opts []*BindOptions) (*Token, error) { + if opts == nil { + return nil, fmt.Errorf("no binding options provided for new token") + } + + for _, opt := range opts { + if err := opt.Validate(); err != nil { + return nil, err + } + } + + // Now lets register all the bindings with the manager + for _, opt := range opts { + for _, network := range opt.Networks { + if _, err := manager.RegisterBinding(network, opt.NetworkID, opt.Type, opt.Address, opt.ABI); err != nil { + return nil, err + } + } + } + + return &Token{ + Manager: manager, + network: network, + ctx: ctx, + opts: opts, + }, nil +} + +func NewSimpleToken(ctx context.Context, network utils.Network, manager *Manager, opts []*BindOptions) (*Token, error) { + if opts == nil { + return nil, fmt.Errorf("no binding options provided for new token") + } + + for _, opt := range opts { + if err := opt.Validate(); err != nil { + return nil, err + } + } + + return &Token{ + Manager: manager, + network: network, + ctx: ctx, + opts: opts, + }, nil +} + +func (t *Token) GetAddress() common.Address { + return t.opts[0].Address +} + +func (t *Token) GetBinding(network utils.Network, bindingType BindingType) (*Binding, error) { + return t.Manager.GetBinding(network, bindingType) +} + +func (t *Token) Owner(ctx context.Context, from common.Address) (common.Address, error) { + result, err := t.Manager.CallContractMethod(ctx, t.network, Erc20Ownable, from, "owner") + if err != nil { + return utils.ZeroAddress, err + } + + addr, ok := result.(common.Address) + if !ok { + return utils.ZeroAddress, fmt.Errorf("failed to assert result as common.address - owner") + } + + return addr, nil +} + +// GetName calls the name() function in the ERC-20 contract. +func (t *Token) GetName(ctx context.Context, from common.Address) (string, error) { + result, err := t.Manager.CallContractMethod(ctx, t.network, Erc20, from, "name") + if err != nil { + return "", err + } + + name, ok := result.(string) + if !ok { + return "", fmt.Errorf("failed to assert result as string - name") + } + + return name, nil +} + +// GetSymbol calls the symbol() function in the ERC-20 contract. +func (t *Token) GetSymbol(ctx context.Context, from common.Address) (string, error) { + result, err := t.Manager.CallContractMethod(ctx, t.network, Erc20, from, "symbol") + if err != nil { + return "", err + } + + symbol, ok := result.(string) + if !ok { + return "", fmt.Errorf("failed to assert result as string - symbol") + } + + return symbol, nil +} + +// GetDecimals calls the decimals() function in the ERC-20 contract. +func (t *Token) GetDecimals(ctx context.Context, from common.Address) (uint8, error) { + result, err := t.Manager.CallContractMethod(ctx, t.network, Erc20, from, "decimals") + if err != nil { + return 0, err + } + + decimals, ok := result.(uint8) + if !ok { + return 0, fmt.Errorf("failed to assert result as uint8 - decimals") + } + + return decimals, nil +} + +// GetTotalSupply calls the totalSupply() function in the ERC-20 contract. +func (t *Token) GetTotalSupply(ctx context.Context, from common.Address) (*big.Int, error) { + result, err := t.Manager.CallContractMethod(ctx, t.network, Erc20, from, "totalSupply") + if err != nil { + return nil, err + } + + totalSupply, ok := result.(*big.Int) + if !ok { + return nil, fmt.Errorf("failed to assert result as *big.Int - totalSupply") + } + + return totalSupply, nil +} + +func (t *Token) BalanceOf(ctx context.Context, from common.Address, address common.Address) (*big.Int, error) { + result, err := t.Manager.CallContractMethod(ctx, t.network, Erc20, from, "balanceOf", address) + if err != nil { + return nil, err + } + + balance, ok := result.(*big.Int) + if !ok { + return nil, fmt.Errorf("failed to assert result as *big.Int - balanceOf") + } + + return balance, nil +} + +func (t *Token) Allowance(ctx context.Context, owner, from common.Address, spender common.Address) (*big.Int, error) { + result, err := t.Manager.CallContractMethod(ctx, t.network, Erc20, from, "allowance", owner, spender) + if err != nil { + return nil, err + } + + allowance, ok := result.(*big.Int) + if !ok { + return nil, fmt.Errorf("failed to assert result as *big.Int - allowance") + } + + return allowance, nil +} + +func (t *Token) Transfer(ctx context.Context, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, opts *bind.TransactOpts, to common.Address, amount *big.Int, atBlock *big.Int) (*types.Transaction, *types.Receipt, error) { + binding, err := t.GetBinding(utils.Ethereum, Erc20) + if err != nil { + return nil, nil, err + } + bindingAbi := binding.GetABI() + + method, exists := bindingAbi.Methods["transfer"] + if !exists { + return nil, nil, errors.New("transfer method not found") + } + + select { + case <-ctx.Done(): + return nil, nil, ctx.Err() + default: + input, err := bindingAbi.Pack(method.Name, to, amount) + if err != nil { + return nil, nil, err + } + + tx, err := t.Manager.SendTransaction(opts, t.network, simulatorType, client, &binding.Address, input) + if err != nil { + return nil, nil, fmt.Errorf("failed to send transfer transaction: %w", err) + } + + receipt, err := t.Manager.WaitForReceipt(t.ctx, network, simulatorType, client, tx.Hash()) + if err != nil { + return nil, nil, fmt.Errorf("failed to get transfer transaction receipt: %w", err) + } + + return tx, receipt, nil + } +} + +func (t *Token) Approve(ctx context.Context, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, opts *bind.TransactOpts, from common.Address, spender common.Address, amount *big.Int, atBlock *big.Int) (*types.Transaction, *types.Receipt, error) { + binding, err := t.GetBinding(utils.Ethereum, Erc20) + if err != nil { + return nil, nil, err + } + bindingAbi := binding.GetABI() + + method, exists := bindingAbi.Methods["approve"] + if !exists { + return nil, nil, errors.New("approve method not found") + } + + input, err := bindingAbi.Pack(method.Name, spender, amount) + if err != nil { + return nil, nil, err + } + + select { + case <-ctx.Done(): + return nil, nil, ctx.Err() + default: + tx, err := t.Manager.SendTransaction(opts, t.network, simulatorType, client, &from, input) + if err != nil { + return nil, nil, fmt.Errorf("failed to send approve transaction: %w", err) + } + + receipt, err := t.Manager.WaitForReceipt(t.ctx, network, simulatorType, client, tx.Hash()) + if err != nil { + return nil, nil, fmt.Errorf("failed to get approve transaction receipt: %w", err) + } + + zap.L().Debug( + "Approve transaction sent and receipt received", + zap.String("tx_hash", tx.Hash().Hex()), + zap.String("tx_from", spender.Hex()), + zap.String("tx_to", tx.To().Hex()), + zap.String("tx_nonce", fmt.Sprintf("%d", tx.Nonce())), + zap.String("tx_gas_price", tx.GasPrice().String()), + zap.String("tx_gas", fmt.Sprintf("%d", tx.Gas())), + ) + + return tx, receipt, nil + } +} + +func (t *Token) TransferFrom(ctx context.Context, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, opts *bind.TransactOpts, from, to common.Address, amount *big.Int, atBlock *big.Int) (*types.Transaction, *types.Receipt, error) { + binding, err := t.GetBinding(utils.Ethereum, Erc20) + if err != nil { + return nil, nil, err + } + bindingAbi := binding.GetABI() + + method, exists := bindingAbi.Methods["transferFrom"] + if !exists { + return nil, nil, errors.New("transfer method not found") + } + + input, err := bindingAbi.Pack(method.Name, from, to, amount) + if err != nil { + return nil, nil, err + } + + select { + case <-ctx.Done(): + return nil, nil, ctx.Err() + default: + tx, err := t.Manager.SendTransaction(opts, t.network, simulatorType, client, &binding.Address, input) + if err != nil { + return nil, nil, fmt.Errorf("failed to send transfer transaction: %w", err) + } + + receipt, err := t.Manager.WaitForReceipt(t.ctx, network, simulatorType, client, tx.Hash()) + if err != nil { + return nil, nil, fmt.Errorf("failed to get transfer transaction receipt: %w", err) + } + + return tx, receipt, nil + } +} + +func (t *Token) GetOptionsByNetwork(network utils.Network) *BindOptions { + for _, opt := range t.opts { + if t.network == network { + return opt + } + } + return nil +} + +func DefaultTokenBindOptions(address common.Address) []*BindOptions { + eip, _ := standards.GetStandard(standards.ERC20) + eipOwnable, _ := standards.GetStandard(standards.OZOWNABLE) + return []*BindOptions{ + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + NetworkID: utils.EthereumNetworkID, + Type: Erc20, + Address: address, + ABI: eip.GetStandard().ABI, + }, + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + NetworkID: utils.EthereumNetworkID, + Type: Erc20Ownable, + Address: address, + ABI: eipOwnable.GetStandard().ABI, + }, + } +} diff --git a/bindings/trace.go b/bindings/trace.go new file mode 100644 index 00000000..9527facf --- /dev/null +++ b/bindings/trace.go @@ -0,0 +1,32 @@ +package bindings + +import ( + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/hexutil" +) + +type TraceResult struct { + Action Action `json:"action"` + BlockHash common.Hash `json:"blockHash"` + BlockNumber uint64 `json:"blockNumber"` + Result Result `json:"result"` + Subtraces int `json:"subtraces"` + TraceAddress []int `json:"traceAddress"` + TransactionHash common.Hash `json:"transactionHash"` + TransactionPos int `json:"transactionPosition"` + Type string `json:"type"` +} + +type Action struct { + CallType string `json:"callType"` + From common.Address `json:"from"` + Gas hexutil.Uint64 `json:"gas"` + Input string `json:"input"` + To common.Address `json:"to"` + Value hexutil.Big `json:"value"` +} + +type Result struct { + GasUsed hexutil.Uint64 `json:"gasUsed"` + Output string `json:"output"` +} diff --git a/bindings/transactor.go b/bindings/transactor.go new file mode 100644 index 00000000..142931f5 --- /dev/null +++ b/bindings/transactor.go @@ -0,0 +1,138 @@ +package bindings + +import ( + "context" + "errors" + "fmt" + "math/big" + "time" + + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" +) + +var ( + // These values should be set based on current network conditions. + // 2 Gwei is often a reasonable default for priority fee. + defaultMaxPriorityFeePerGas = big.NewInt(2e9) // 2 Gwei + +) + +func (m *Manager) GetTransactionByHash(ctx context.Context, network utils.Network, txHash common.Hash) (*types.Transaction, bool, error) { + client := m.clientPool.GetClientByGroup(string(network)) + if client == nil { + return nil, false, fmt.Errorf("client not found for network %s", network) + } + + return client.TransactionByHash(ctx, txHash) +} + +func (m *Manager) WaitForReceipt(ctx context.Context, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, txHash common.Hash) (*types.Receipt, error) { + // TODO: This should be configurable per network... (this: 60 seconds) + ctxWait, cancel := context.WithTimeout(ctx, 60*time.Second) + defer cancel() + + for { + select { + case <-ctx.Done(): + return nil, fmt.Errorf("context cancelled while waiting to get transaction receipt: %s", txHash.Hex()) + default: + receipt, err := client.TransactionReceipt(ctxWait, txHash) + if err != nil { + if errors.Is(err, context.DeadlineExceeded) { + return nil, fmt.Errorf("timeout waiting to get transaction receipt: %s", txHash.Hex()) + } + // Transaction not yet mined + time.Sleep(500 * time.Millisecond) // Configurable delay + continue + } + + return receipt, nil + } + } +} + +func (m *Manager) SendTransaction(opts *bind.TransactOpts, network utils.Network, simulateType utils.SimulatorType, client *clients.Client, contract *common.Address, input []byte) (*types.Transaction, error) { + var rawTx *types.Transaction + var err error + if opts.GasPrice != nil { + rawTx, err = createLegacyTx(opts, contract, input) + } else { + var head *types.Header + var errHead error + + head, errHead = client.HeaderByNumber(opts.Context, nil) + if errHead != nil { + return nil, errHead + } + + if head.BaseFee != nil { + rawTx, err = createDynamicTx(opts, contract, input, head) + } else { + rawTx, err = createLegacyTx(opts, contract, input) + } + } + if err != nil { + return nil, err + } + + if opts.Signer == nil { + return nil, fmt.Errorf( + "no signer to authorize the transaction with, network: %s, simulate_type: %s, contract: %s", + network, simulateType, contract.Hex(), + ) + } + + signedTx, err := opts.Signer(opts.From, rawTx) + if err != nil { + return nil, err + } + + if opts.NoSend { + return signedTx, nil + } + + if err := client.SendTransaction(opts.Context, signedTx); err != nil { + return nil, err + } + + return signedTx, nil +} + +func createLegacyTx(opts *bind.TransactOpts, contract *common.Address, input []byte) (*types.Transaction, error) { + // Create a legacy transaction + tx := types.NewTransaction(opts.Nonce.Uint64(), *contract, opts.Value, opts.GasLimit, opts.GasPrice, input) + return tx, nil +} + +func createDynamicTx(opts *bind.TransactOpts, contract *common.Address, input []byte, head *types.Header) (*types.Transaction, error) { + // Calculate the effective gas fee cap and tip cap + gasFeeCap := opts.GasFeeCap + gasTipCap := opts.GasTipCap + + if gasFeeCap == nil { + // Set default max fee per gas if not provided + gasFeeCap = new(big.Int).Add(head.BaseFee, defaultMaxPriorityFeePerGas) + } + + if gasTipCap == nil { + // Set default priority fee if not provided + gasTipCap = defaultMaxPriorityFeePerGas + } + + // Create a dynamic fee transaction (EIP-1559) + tx := types.NewTx(&types.DynamicFeeTx{ + ChainID: big.NewInt(int64(utils.EthereumNetworkID)), + Nonce: opts.Nonce.Uint64(), + GasTipCap: gasTipCap, + GasFeeCap: gasFeeCap, + Gas: opts.GasLimit, + To: contract, + Value: opts.Value, + Data: input, + }) + return tx, nil +} diff --git a/bindings/types.go b/bindings/types.go new file mode 100644 index 00000000..ff4d05eb --- /dev/null +++ b/bindings/types.go @@ -0,0 +1,7 @@ +package bindings + +type BindingType string + +func (b BindingType) String() string { + return string(b) +} diff --git a/bindings/uniswap_v2.go b/bindings/uniswap_v2.go new file mode 100644 index 00000000..1840aa4a --- /dev/null +++ b/bindings/uniswap_v2.go @@ -0,0 +1,220 @@ +package bindings + +import ( + "context" + "errors" + "fmt" + "math/big" + + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" +) + +const ( + UniswapV2Factory BindingType = "UniswapV2Factory" + UniswapV2Pair BindingType = "UniswapV2Pair" + UniswapV2Router BindingType = "UniswapV2Router" +) + +type UniswapV2Reserves struct { + Reserve0 *big.Int + Reserve1 *big.Int + BlockTimestampLast uint32 +} + +type Uniswap struct { + *Manager + network utils.Network + ctx context.Context + opts []*BindOptions +} + +func NewUniswapV2(ctx context.Context, network utils.Network, manager *Manager, opts []*BindOptions) (*Uniswap, error) { + if opts == nil { + opts = DefaultUniswapBindOptions() + } + + for _, opt := range opts { + if err := opt.Validate(); err != nil { + return nil, err + } + } + + // Now lets register all the bindings with the manager + for _, opt := range opts { + for _, network := range opt.Networks { + if _, err := manager.RegisterBinding(network, opt.NetworkID, opt.Type, opt.Address, opt.ABI); err != nil { + return nil, err + } + } + } + + return &Uniswap{ + network: network, + Manager: manager, + ctx: ctx, + opts: opts, + }, nil +} + +func (u *Uniswap) GetAddress(ctx context.Context, bindingType BindingType) (common.Address, error) { + for _, opt := range u.opts { + if opt.Type == bindingType { + return opt.Address, nil + } + } + + return common.Address{}, fmt.Errorf("binding not found for type %s", bindingType) +} + +func (u *Uniswap) WETH(ctx context.Context) (common.Address, error) { + result, err := u.Manager.CallContractMethod(ctx, u.network, UniswapV2Router, utils.ZeroAddress, "WETH") + if err != nil { + return common.Address{}, fmt.Errorf("failed to get WETH address: %w", err) + } + + return result.(common.Address), nil +} + +func (u *Uniswap) GetPair(ctx context.Context, tokenA, tokenB common.Address) (common.Address, error) { + result, err := u.Manager.CallContractMethod(ctx, u.network, UniswapV2Factory, utils.ZeroAddress, "getPair", tokenA, tokenB) + if err != nil { + return common.Address{}, fmt.Errorf("failed to get pair: %w", err) + } + + pairAddress, ok := result.(common.Address) + if !ok { + return common.Address{}, fmt.Errorf("failed to assert result as common.Address - pair address") + } + + return pairAddress, nil +} + +func (u *Uniswap) GetReserves(ctx context.Context, pairAddr common.Address) (*UniswapV2Reserves, error) { + result, err := u.Manager.CallContractMethodUnpackMap(ctx, u.network, UniswapV2Pair, pairAddr, "getReserves") + if err != nil { + return nil, fmt.Errorf("failed to get pair reserves: %w", err) + } + + return &UniswapV2Reserves{ + Reserve0: result["_reserve0"].(*big.Int), + Reserve1: result["_reserve1"].(*big.Int), + BlockTimestampLast: result["_blockTimestampLast"].(uint32), + }, nil +} + +func (u *Uniswap) GetAmountOut(ctx context.Context, amountIn *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) { + result, err := u.Manager.CallContractMethod(ctx, u.network, UniswapV2Router, utils.ZeroAddress, "getAmountOut", amountIn, reserveIn, reserveOut) + if err != nil { + return nil, fmt.Errorf("failed to get amounts out: %w", err) + } + + amountOut, ok := result.(*big.Int) + if !ok { + return nil, fmt.Errorf("failed to assert amount result as []*big.Int: %v", result) + } + + return amountOut, nil +} + +func (u *Uniswap) Buy(opts *bind.TransactOpts, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, *types.Receipt, error) { + bind, err := u.GetBinding(utils.Ethereum, UniswapV2Router) + if err != nil { + return nil, nil, err + } + bindAbi := bind.GetABI() + + method, exists := bindAbi.Methods["swapExactETHForTokens"] + if !exists { + return nil, nil, errors.New("swapExactETHForTokens method not found") + } + + input, err := bindAbi.Pack(method.Name, amountOutMin, path, to, deadline) + if err != nil { + return nil, nil, err + } + + tx, err := u.Manager.SendTransaction(opts, u.network, simulatorType, client, &bind.Address, input) + if err != nil { + return nil, nil, fmt.Errorf("failed to send swapExactETHForTokens transaction: %w", err) + } + + receipt, err := u.Manager.WaitForReceipt(u.ctx, network, simulatorType, client, tx.Hash()) + if err != nil { + return nil, nil, fmt.Errorf("failed to get swapExactETHForTokens transaction receipt: %w", err) + } + + return tx, receipt, nil +} + +func (u *Uniswap) Sell(opts *bind.TransactOpts, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, *types.Receipt, error) { + bind, err := u.GetBinding(utils.Ethereum, UniswapV2Router) + if err != nil { + return nil, nil, err + } + + bindAbi := bind.GetABI() + + method, exists := bindAbi.Methods["swapExactTokensForETHSupportingFeeOnTransferTokens"] + if !exists { + return nil, nil, errors.New("swapExactTokensForETH method not found") + } + + input, err := bindAbi.Pack(method.Name, amountIn, amountOutMin, path, to, deadline) + if err != nil { + return nil, nil, err + } + + tx, err := u.Manager.SendTransaction(opts, u.network, simulatorType, client, &bind.Address, input) + if err != nil { + return nil, nil, fmt.Errorf("failed to send swapExactTokensForETH transaction: %w", err) + } + + receipt, err := u.Manager.WaitForReceipt(u.ctx, network, simulatorType, client, tx.Hash()) + if err != nil { + return nil, nil, fmt.Errorf("failed to get swapExactTokensForETH transaction receipt: %w", err) + } + + return tx, receipt, nil +} + +func DefaultUniswapBindOptions() []*BindOptions { + return []*BindOptions{ + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + NetworkID: utils.EthereumNetworkID, + Name: "UniswapV2: Router", + Type: UniswapV2Router, + Address: common.HexToAddress("0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D"), + ABI: `[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_WETH","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"amountADesired","type":"uint256"},{"internalType":"uint256","name":"amountBDesired","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidity","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amountTokenDesired","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidityETH","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountIn","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsIn","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsOut","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"reserveA","type":"uint256"},{"internalType":"uint256","name":"reserveB","type":"uint256"}],"name":"quote","outputs":[{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidity","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETH","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETHSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermit","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityWithPermit","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapETHForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETHSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]`, + }, + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + NetworkID: utils.EthereumNetworkID, + Name: "UniswapV2: Factory Contract", + Type: UniswapV2Factory, + Address: common.HexToAddress("0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f"), + ABI: `[{"inputs":[{"internalType":"address","name":"_feeToSetter","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token0","type":"address"},{"indexed":true,"internalType":"address","name":"token1","type":"address"},{"indexed":false,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"PairCreated","type":"event"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allPairsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"}],"name":"createPair","outputs":[{"internalType":"address","name":"pair","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeTo","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeToSetter","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_feeTo","type":"address"}],"name":"setFeeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_feeToSetter","type":"address"}],"name":"setFeeToSetter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]`, + }, + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + NetworkID: utils.EthereumNetworkID, + Name: "UniswapV2: Pair", + Type: UniswapV2Pair, + Address: common.HexToAddress("0x3356c9a8f40f8e9c1d192a4347a76d18243fabc5"), + ABI: `[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM_LIQUIDITY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint32","name":"_blockTimestampLast","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token0","type":"address"},{"internalType":"address","name":"_token1","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price0CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price1CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"skim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount0Out","type":"uint256"},{"internalType":"uint256","name":"amount1Out","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sync","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]`, + }, + } +} + +func GetBindByType(opts []*BindOptions, t BindingType) *BindOptions { + for _, opt := range opts { + if opt.Type == t { + return opt + } + } + return nil +} diff --git a/bindings/uniswap_v3.go b/bindings/uniswap_v3.go new file mode 100644 index 00000000..f0cf63e2 --- /dev/null +++ b/bindings/uniswap_v3.go @@ -0,0 +1,66 @@ +package bindings + +import ( + "context" + + "github.com/unpackdev/solgo/utils" +) + +const ( + UniswapV3Pool BindingType = "UniswapV3Pool" +) + +type UniswapV3 struct { + *Manager + ctx context.Context + opts []*BindOptions +} + +func NewUniswapV3(ctx context.Context, manager *Manager, opts []*BindOptions) (*UniswapV3, error) { + if opts == nil { + opts = DefaultPinksaleBindOptions() + } + + /* for _, opt := range opts { + if err := opt.Validate(); err != nil { + return nil, err + } + } */ + + // Now lets register all the bindings with the manager + for _, opt := range opts { + for _, network := range opt.Networks { + if _, err := manager.RegisterBinding(network, opt.NetworkID, opt.Type, opt.Address, opt.ABI); err != nil { + return nil, err + } + } + } + + return &UniswapV3{ + Manager: manager, + ctx: ctx, + opts: opts, + }, nil +} + +// WatchLockEvents starts watching for Lock events. +func (ps *UniswapV3) WatchLockEvents(ctx context.Context) error { + return nil +} + +// WatchUnlockEvents starts watching for Unlock events. +func (ps *UniswapV3) WatchUnlockEvents(ctx context.Context) error { + return nil +} + +func DefaultUniswapV3BindOptions() []*BindOptions { + return []*BindOptions{ + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + NetworkID: utils.EthereumNetworkID, + Type: UniswapV3Pool, + Address: utils.ZeroAddress, + ABI: `[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":true,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":true,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"uint128","name":"amount0","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"amount1","type":"uint128"}],"name":"Collect","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint128","name":"amount0","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"amount1","type":"uint128"}],"name":"CollectProtocol","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"paid0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"paid1","type":"uint256"}],"name":"Flash","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"observationCardinalityNextOld","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"observationCardinalityNextNew","type":"uint16"}],"name":"IncreaseObservationCardinalityNext","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"}],"name":"Initialize","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":true,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"feeProtocol0Old","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"feeProtocol1Old","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"feeProtocol0New","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"feeProtocol1New","type":"uint8"}],"name":"SetFeeProtocol","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"int256","name":"amount0","type":"int256"},{"indexed":false,"internalType":"int256","name":"amount1","type":"int256"},{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"uint128","name":"liquidity","type":"uint128"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"}],"name":"Swap","type":"event"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"uint128","name":"amount0Requested","type":"uint128"},{"internalType":"uint128","name":"amount1Requested","type":"uint128"}],"name":"collect","outputs":[{"internalType":"uint128","name":"amount0","type":"uint128"},{"internalType":"uint128","name":"amount1","type":"uint128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint128","name":"amount0Requested","type":"uint128"},{"internalType":"uint128","name":"amount1Requested","type":"uint128"}],"name":"collectProtocol","outputs":[{"internalType":"uint128","name":"amount0","type":"uint128"},{"internalType":"uint128","name":"amount1","type":"uint128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeGrowthGlobal0X128","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeGrowthGlobal1X128","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"flash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"observationCardinalityNext","type":"uint16"}],"name":"increaseObservationCardinalityNext","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidity","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxLiquidityPerTick","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mint","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"observations","outputs":[{"internalType":"uint32","name":"blockTimestamp","type":"uint32"},{"internalType":"int56","name":"tickCumulative","type":"int56"},{"internalType":"uint160","name":"secondsPerLiquidityCumulativeX128","type":"uint160"},{"internalType":"bool","name":"initialized","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"secondsAgos","type":"uint32[]"}],"name":"observe","outputs":[{"internalType":"int56[]","name":"tickCumulatives","type":"int56[]"},{"internalType":"uint160[]","name":"secondsPerLiquidityCumulativeX128s","type":"uint160[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"positions","outputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"uint256","name":"feeGrowthInside0LastX128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthInside1LastX128","type":"uint256"},{"internalType":"uint128","name":"tokensOwed0","type":"uint128"},{"internalType":"uint128","name":"tokensOwed1","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFees","outputs":[{"internalType":"uint128","name":"token0","type":"uint128"},{"internalType":"uint128","name":"token1","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"feeProtocol0","type":"uint8"},{"internalType":"uint8","name":"feeProtocol1","type":"uint8"}],"name":"setFeeProtocol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"slot0","outputs":[{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"int24","name":"tick","type":"int24"},{"internalType":"uint16","name":"observationIndex","type":"uint16"},{"internalType":"uint16","name":"observationCardinality","type":"uint16"},{"internalType":"uint16","name":"observationCardinalityNext","type":"uint16"},{"internalType":"uint8","name":"feeProtocol","type":"uint8"},{"internalType":"bool","name":"unlocked","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"}],"name":"snapshotCumulativesInside","outputs":[{"internalType":"int56","name":"tickCumulativeInside","type":"int56"},{"internalType":"uint160","name":"secondsPerLiquidityInsideX128","type":"uint160"},{"internalType":"uint32","name":"secondsInside","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[{"internalType":"int256","name":"amount0","type":"int256"},{"internalType":"int256","name":"amount1","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int16","name":"","type":"int16"}],"name":"tickBitmap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tickSpacing","outputs":[{"internalType":"int24","name":"","type":"int24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int24","name":"","type":"int24"}],"name":"ticks","outputs":[{"internalType":"uint128","name":"liquidityGross","type":"uint128"},{"internalType":"int128","name":"liquidityNet","type":"int128"},{"internalType":"uint256","name":"feeGrowthOutside0X128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthOutside1X128","type":"uint256"},{"internalType":"int56","name":"tickCumulativeOutside","type":"int56"},{"internalType":"uint160","name":"secondsPerLiquidityOutsideX128","type":"uint160"},{"internalType":"uint32","name":"secondsOutside","type":"uint32"},{"internalType":"bool","name":"initialized","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]`, + }, + } +} diff --git a/bindings/uniswapuniversalrouter/uniswapuniversalrouter.go b/bindings/uniswapuniversalrouter/uniswapuniversalrouter.go new file mode 100644 index 00000000..dde2e9da --- /dev/null +++ b/bindings/uniswapuniversalrouter/uniswapuniversalrouter.go @@ -0,0 +1,564 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapuniversalrouter + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// RouterParameters is an auto generated low-level Go binding around an user-defined struct. +type RouterParameters struct { + Permit2 common.Address + Weth9 common.Address + Seaport common.Address + NftxZap common.Address + X2y2 common.Address + Foundation common.Address + Sudoswap common.Address + Nft20Zap common.Address + Cryptopunks common.Address + LooksRare common.Address + RouterRewardsDistributor common.Address + LooksRareRewardsDistributor common.Address + LooksRareToken common.Address + V2Factory common.Address + V3Factory common.Address + PairInitCodeHash [32]byte + PoolInitCodeHash [32]byte +} + +// UniswapUniversalRouterMetaData contains all meta data concerning the UniswapUniversalRouter contract. +var UniswapUniversalRouterMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"permit2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"weth9\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"seaport\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nftxZap\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"x2y2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"foundation\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sudoswap\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nft20Zap\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"cryptopunks\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"looksRare\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"routerRewardsDistributor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"looksRareRewardsDistributor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"looksRareToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"v2Factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"v3Factory\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"pairInitCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"poolInitCodeHash\",\"type\":\"bytes32\"}],\"internalType\":\"structRouterParameters\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ContractLocked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ETHNotAccepted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commandIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"ExecutionFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FromAddressIsNotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientETH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidBips\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commandType\",\"type\":\"uint256\"}],\"name\":\"InvalidCommandType\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwnerERC1155\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwnerERC721\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPath\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReserves\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LengthMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoSlice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SliceOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SliceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ToAddressOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ToAddressOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ToUint24OutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ToUint24Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransactionDeadlinePassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnableToClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsafeCast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V2InvalidPath\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V2TooLittleReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V2TooMuchRequested\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3InvalidAmountOut\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3InvalidCaller\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3InvalidSwap\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3TooLittleReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3TooMuchRequested\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RewardsSent\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"looksRareClaim\",\"type\":\"bytes\"}],\"name\":\"collectRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"commands\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"commands\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"amount0Delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1Delta\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"uniswapV3SwapCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", +} + +// UniswapUniversalRouterABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapUniversalRouterMetaData.ABI instead. +var UniswapUniversalRouterABI = UniswapUniversalRouterMetaData.ABI + +// UniswapUniversalRouter is an auto generated Go binding around an Ethereum contract. +type UniswapUniversalRouter struct { + UniswapUniversalRouterCaller // Read-only binding to the contract + UniswapUniversalRouterTransactor // Write-only binding to the contract + UniswapUniversalRouterFilterer // Log filterer for contract events +} + +// UniswapUniversalRouterCaller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapUniversalRouterCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapUniversalRouterTransactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapUniversalRouterTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapUniversalRouterFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapUniversalRouterFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapUniversalRouterSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapUniversalRouterSession struct { + Contract *UniswapUniversalRouter // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapUniversalRouterCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapUniversalRouterCallerSession struct { + Contract *UniswapUniversalRouterCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapUniversalRouterTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapUniversalRouterTransactorSession struct { + Contract *UniswapUniversalRouterTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapUniversalRouterRaw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapUniversalRouterRaw struct { + Contract *UniswapUniversalRouter // Generic contract binding to access the raw methods on +} + +// UniswapUniversalRouterCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapUniversalRouterCallerRaw struct { + Contract *UniswapUniversalRouterCaller // Generic read-only contract binding to access the raw methods on +} + +// UniswapUniversalRouterTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapUniversalRouterTransactorRaw struct { + Contract *UniswapUniversalRouterTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapUniversalRouter creates a new instance of UniswapUniversalRouter, bound to a specific deployed contract. +func NewUniswapUniversalRouter(address common.Address, backend bind.ContractBackend) (*UniswapUniversalRouter, error) { + contract, err := bindUniswapUniversalRouter(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapUniversalRouter{UniswapUniversalRouterCaller: UniswapUniversalRouterCaller{contract: contract}, UniswapUniversalRouterTransactor: UniswapUniversalRouterTransactor{contract: contract}, UniswapUniversalRouterFilterer: UniswapUniversalRouterFilterer{contract: contract}}, nil +} + +// NewUniswapUniversalRouterCaller creates a new read-only instance of UniswapUniversalRouter, bound to a specific deployed contract. +func NewUniswapUniversalRouterCaller(address common.Address, caller bind.ContractCaller) (*UniswapUniversalRouterCaller, error) { + contract, err := bindUniswapUniversalRouter(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapUniversalRouterCaller{contract: contract}, nil +} + +// NewUniswapUniversalRouterTransactor creates a new write-only instance of UniswapUniversalRouter, bound to a specific deployed contract. +func NewUniswapUniversalRouterTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswapUniversalRouterTransactor, error) { + contract, err := bindUniswapUniversalRouter(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapUniversalRouterTransactor{contract: contract}, nil +} + +// NewUniswapUniversalRouterFilterer creates a new log filterer instance of UniswapUniversalRouter, bound to a specific deployed contract. +func NewUniswapUniversalRouterFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswapUniversalRouterFilterer, error) { + contract, err := bindUniswapUniversalRouter(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapUniversalRouterFilterer{contract: contract}, nil +} + +// bindUniswapUniversalRouter binds a generic wrapper to an already deployed contract. +func bindUniswapUniversalRouter(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapUniversalRouterABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapUniversalRouter *UniswapUniversalRouterRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapUniversalRouter.Contract.UniswapUniversalRouterCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapUniversalRouter *UniswapUniversalRouterRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.UniswapUniversalRouterTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapUniversalRouter *UniswapUniversalRouterRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.UniswapUniversalRouterTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapUniversalRouter *UniswapUniversalRouterCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapUniversalRouter.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.contract.Transact(opts, method, params...) +} + +// OnERC1155BatchReceived is a free data retrieval call binding the contract method 0xbc197c81. +// +// Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouter *UniswapUniversalRouterCaller) OnERC1155BatchReceived(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) ([4]byte, error) { + var out []interface{} + err := _UniswapUniversalRouter.contract.Call(opts, &out, "onERC1155BatchReceived", arg0, arg1, arg2, arg3, arg4) + + if err != nil { + return *new([4]byte), err + } + + out0 := *abi.ConvertType(out[0], new([4]byte)).(*[4]byte) + + return out0, err + +} + +// OnERC1155BatchReceived is a free data retrieval call binding the contract method 0xbc197c81. +// +// Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouter *UniswapUniversalRouterSession) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) ([4]byte, error) { + return _UniswapUniversalRouter.Contract.OnERC1155BatchReceived(&_UniswapUniversalRouter.CallOpts, arg0, arg1, arg2, arg3, arg4) +} + +// OnERC1155BatchReceived is a free data retrieval call binding the contract method 0xbc197c81. +// +// Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouter *UniswapUniversalRouterCallerSession) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) ([4]byte, error) { + return _UniswapUniversalRouter.Contract.OnERC1155BatchReceived(&_UniswapUniversalRouter.CallOpts, arg0, arg1, arg2, arg3, arg4) +} + +// OnERC1155Received is a free data retrieval call binding the contract method 0xf23a6e61. +// +// Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouter *UniswapUniversalRouterCaller) OnERC1155Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) ([4]byte, error) { + var out []interface{} + err := _UniswapUniversalRouter.contract.Call(opts, &out, "onERC1155Received", arg0, arg1, arg2, arg3, arg4) + + if err != nil { + return *new([4]byte), err + } + + out0 := *abi.ConvertType(out[0], new([4]byte)).(*[4]byte) + + return out0, err + +} + +// OnERC1155Received is a free data retrieval call binding the contract method 0xf23a6e61. +// +// Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouter *UniswapUniversalRouterSession) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) ([4]byte, error) { + return _UniswapUniversalRouter.Contract.OnERC1155Received(&_UniswapUniversalRouter.CallOpts, arg0, arg1, arg2, arg3, arg4) +} + +// OnERC1155Received is a free data retrieval call binding the contract method 0xf23a6e61. +// +// Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouter *UniswapUniversalRouterCallerSession) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) ([4]byte, error) { + return _UniswapUniversalRouter.Contract.OnERC1155Received(&_UniswapUniversalRouter.CallOpts, arg0, arg1, arg2, arg3, arg4) +} + +// OnERC721Received is a free data retrieval call binding the contract method 0x150b7a02. +// +// Solidity: function onERC721Received(address , address , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouter *UniswapUniversalRouterCaller) OnERC721Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error) { + var out []interface{} + err := _UniswapUniversalRouter.contract.Call(opts, &out, "onERC721Received", arg0, arg1, arg2, arg3) + + if err != nil { + return *new([4]byte), err + } + + out0 := *abi.ConvertType(out[0], new([4]byte)).(*[4]byte) + + return out0, err + +} + +// OnERC721Received is a free data retrieval call binding the contract method 0x150b7a02. +// +// Solidity: function onERC721Received(address , address , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouter *UniswapUniversalRouterSession) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error) { + return _UniswapUniversalRouter.Contract.OnERC721Received(&_UniswapUniversalRouter.CallOpts, arg0, arg1, arg2, arg3) +} + +// OnERC721Received is a free data retrieval call binding the contract method 0x150b7a02. +// +// Solidity: function onERC721Received(address , address , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouter *UniswapUniversalRouterCallerSession) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error) { + return _UniswapUniversalRouter.Contract.OnERC721Received(&_UniswapUniversalRouter.CallOpts, arg0, arg1, arg2, arg3) +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) pure returns(bool) +func (_UniswapUniversalRouter *UniswapUniversalRouterCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { + var out []interface{} + err := _UniswapUniversalRouter.contract.Call(opts, &out, "supportsInterface", interfaceId) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) pure returns(bool) +func (_UniswapUniversalRouter *UniswapUniversalRouterSession) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _UniswapUniversalRouter.Contract.SupportsInterface(&_UniswapUniversalRouter.CallOpts, interfaceId) +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) pure returns(bool) +func (_UniswapUniversalRouter *UniswapUniversalRouterCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _UniswapUniversalRouter.Contract.SupportsInterface(&_UniswapUniversalRouter.CallOpts, interfaceId) +} + +// CollectRewards is a paid mutator transaction binding the contract method 0x709a1cc2. +// +// Solidity: function collectRewards(bytes looksRareClaim) returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactor) CollectRewards(opts *bind.TransactOpts, looksRareClaim []byte) (*types.Transaction, error) { + return _UniswapUniversalRouter.contract.Transact(opts, "collectRewards", looksRareClaim) +} + +// CollectRewards is a paid mutator transaction binding the contract method 0x709a1cc2. +// +// Solidity: function collectRewards(bytes looksRareClaim) returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterSession) CollectRewards(looksRareClaim []byte) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.CollectRewards(&_UniswapUniversalRouter.TransactOpts, looksRareClaim) +} + +// CollectRewards is a paid mutator transaction binding the contract method 0x709a1cc2. +// +// Solidity: function collectRewards(bytes looksRareClaim) returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactorSession) CollectRewards(looksRareClaim []byte) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.CollectRewards(&_UniswapUniversalRouter.TransactOpts, looksRareClaim) +} + +// Execute is a paid mutator transaction binding the contract method 0x24856bc3. +// +// Solidity: function execute(bytes commands, bytes[] inputs) payable returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactor) Execute(opts *bind.TransactOpts, commands []byte, inputs [][]byte) (*types.Transaction, error) { + return _UniswapUniversalRouter.contract.Transact(opts, "execute", commands, inputs) +} + +// Execute is a paid mutator transaction binding the contract method 0x24856bc3. +// +// Solidity: function execute(bytes commands, bytes[] inputs) payable returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterSession) Execute(commands []byte, inputs [][]byte) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.Execute(&_UniswapUniversalRouter.TransactOpts, commands, inputs) +} + +// Execute is a paid mutator transaction binding the contract method 0x24856bc3. +// +// Solidity: function execute(bytes commands, bytes[] inputs) payable returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactorSession) Execute(commands []byte, inputs [][]byte) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.Execute(&_UniswapUniversalRouter.TransactOpts, commands, inputs) +} + +// Execute0 is a paid mutator transaction binding the contract method 0x3593564c. +// +// Solidity: function execute(bytes commands, bytes[] inputs, uint256 deadline) payable returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactor) Execute0(opts *bind.TransactOpts, commands []byte, inputs [][]byte, deadline *big.Int) (*types.Transaction, error) { + return _UniswapUniversalRouter.contract.Transact(opts, "execute0", commands, inputs, deadline) +} + +// Execute0 is a paid mutator transaction binding the contract method 0x3593564c. +// +// Solidity: function execute(bytes commands, bytes[] inputs, uint256 deadline) payable returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterSession) Execute0(commands []byte, inputs [][]byte, deadline *big.Int) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.Execute0(&_UniswapUniversalRouter.TransactOpts, commands, inputs, deadline) +} + +// Execute0 is a paid mutator transaction binding the contract method 0x3593564c. +// +// Solidity: function execute(bytes commands, bytes[] inputs, uint256 deadline) payable returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactorSession) Execute0(commands []byte, inputs [][]byte, deadline *big.Int) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.Execute0(&_UniswapUniversalRouter.TransactOpts, commands, inputs, deadline) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data) returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactor) UniswapV3SwapCallback(opts *bind.TransactOpts, amount0Delta *big.Int, amount1Delta *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapUniversalRouter.contract.Transact(opts, "uniswapV3SwapCallback", amount0Delta, amount1Delta, data) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data) returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterSession) UniswapV3SwapCallback(amount0Delta *big.Int, amount1Delta *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.UniswapV3SwapCallback(&_UniswapUniversalRouter.TransactOpts, amount0Delta, amount1Delta, data) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data) returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactorSession) UniswapV3SwapCallback(amount0Delta *big.Int, amount1Delta *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.UniswapV3SwapCallback(&_UniswapUniversalRouter.TransactOpts, amount0Delta, amount1Delta, data) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapUniversalRouter.contract.RawTransact(opts, nil) // calldata is disallowed for receive function +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterSession) Receive() (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.Receive(&_UniswapUniversalRouter.TransactOpts) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapUniversalRouter *UniswapUniversalRouterTransactorSession) Receive() (*types.Transaction, error) { + return _UniswapUniversalRouter.Contract.Receive(&_UniswapUniversalRouter.TransactOpts) +} + +// UniswapUniversalRouterRewardsSentIterator is returned from FilterRewardsSent and is used to iterate over the raw logs and unpacked data for RewardsSent events raised by the UniswapUniversalRouter contract. +type UniswapUniversalRouterRewardsSentIterator struct { + Event *UniswapUniversalRouterRewardsSent // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapUniversalRouterRewardsSentIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapUniversalRouterRewardsSent) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapUniversalRouterRewardsSent) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapUniversalRouterRewardsSentIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapUniversalRouterRewardsSentIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapUniversalRouterRewardsSent represents a RewardsSent event raised by the UniswapUniversalRouter contract. +type UniswapUniversalRouterRewardsSent struct { + Amount *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterRewardsSent is a free log retrieval operation binding the contract event 0x1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c. +// +// Solidity: event RewardsSent(uint256 amount) +func (_UniswapUniversalRouter *UniswapUniversalRouterFilterer) FilterRewardsSent(opts *bind.FilterOpts) (*UniswapUniversalRouterRewardsSentIterator, error) { + + logs, sub, err := _UniswapUniversalRouter.contract.FilterLogs(opts, "RewardsSent") + if err != nil { + return nil, err + } + return &UniswapUniversalRouterRewardsSentIterator{contract: _UniswapUniversalRouter.contract, event: "RewardsSent", logs: logs, sub: sub}, nil +} + +// WatchRewardsSent is a free log subscription operation binding the contract event 0x1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c. +// +// Solidity: event RewardsSent(uint256 amount) +func (_UniswapUniversalRouter *UniswapUniversalRouterFilterer) WatchRewardsSent(opts *bind.WatchOpts, sink chan<- *UniswapUniversalRouterRewardsSent) (event.Subscription, error) { + + logs, sub, err := _UniswapUniversalRouter.contract.WatchLogs(opts, "RewardsSent") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapUniversalRouterRewardsSent) + if err := _UniswapUniversalRouter.contract.UnpackLog(event, "RewardsSent", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseRewardsSent is a log parse operation binding the contract event 0x1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c. +// +// Solidity: event RewardsSent(uint256 amount) +func (_UniswapUniversalRouter *UniswapUniversalRouterFilterer) ParseRewardsSent(log types.Log) (*UniswapUniversalRouterRewardsSent, error) { + event := new(UniswapUniversalRouterRewardsSent) + if err := _UniswapUniversalRouter.contract.UnpackLog(event, "RewardsSent", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/uniswapuniversalrouterv2/uniswapuniversalrouterv2.go b/bindings/uniswapuniversalrouterv2/uniswapuniversalrouterv2.go new file mode 100644 index 00000000..3ec070fa --- /dev/null +++ b/bindings/uniswapuniversalrouterv2/uniswapuniversalrouterv2.go @@ -0,0 +1,567 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapuniversalrouterv2 + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// RouterParameters is an auto generated low-level Go binding around an user-defined struct. +type RouterParameters struct { + Permit2 common.Address + Weth9 common.Address + SeaportV15 common.Address + SeaportV14 common.Address + OpenseaConduit common.Address + NftxZap common.Address + X2y2 common.Address + Foundation common.Address + Sudoswap common.Address + ElementMarket common.Address + Nft20Zap common.Address + Cryptopunks common.Address + LooksRareV2 common.Address + RouterRewardsDistributor common.Address + LooksRareRewardsDistributor common.Address + LooksRareToken common.Address + V2Factory common.Address + V3Factory common.Address + PairInitCodeHash [32]byte + PoolInitCodeHash [32]byte +} + +// UniswapUniversalRouterV2MetaData contains all meta data concerning the UniswapUniversalRouterV2 contract. +var UniswapUniversalRouterV2MetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"permit2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"weth9\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"seaportV1_5\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"seaportV1_4\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"openseaConduit\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nftxZap\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"x2y2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"foundation\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sudoswap\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"elementMarket\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nft20Zap\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"cryptopunks\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"looksRareV2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"routerRewardsDistributor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"looksRareRewardsDistributor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"looksRareToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"v2Factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"v3Factory\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"pairInitCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"poolInitCodeHash\",\"type\":\"bytes32\"}],\"internalType\":\"structRouterParameters\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"BalanceTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BuyPunkFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractLocked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ETHNotAccepted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commandIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"ExecutionFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FromAddressIsNotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientETH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidBips\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commandType\",\"type\":\"uint256\"}],\"name\":\"InvalidCommandType\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwnerERC1155\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwnerERC721\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPath\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReserves\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LengthMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SliceOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransactionDeadlinePassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnableToClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsafeCast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V2InvalidPath\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V2TooLittleReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V2TooMuchRequested\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3InvalidAmountOut\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3InvalidCaller\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3InvalidSwap\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3TooLittleReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3TooMuchRequested\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RewardsSent\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"looksRareClaim\",\"type\":\"bytes\"}],\"name\":\"collectRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"commands\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"commands\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"amount0Delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1Delta\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"uniswapV3SwapCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", +} + +// UniswapUniversalRouterV2ABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapUniversalRouterV2MetaData.ABI instead. +var UniswapUniversalRouterV2ABI = UniswapUniversalRouterV2MetaData.ABI + +// UniswapUniversalRouterV2 is an auto generated Go binding around an Ethereum contract. +type UniswapUniversalRouterV2 struct { + UniswapUniversalRouterV2Caller // Read-only binding to the contract + UniswapUniversalRouterV2Transactor // Write-only binding to the contract + UniswapUniversalRouterV2Filterer // Log filterer for contract events +} + +// UniswapUniversalRouterV2Caller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapUniversalRouterV2Caller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapUniversalRouterV2Transactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapUniversalRouterV2Transactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapUniversalRouterV2Filterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapUniversalRouterV2Filterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapUniversalRouterV2Session is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapUniversalRouterV2Session struct { + Contract *UniswapUniversalRouterV2 // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapUniversalRouterV2CallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapUniversalRouterV2CallerSession struct { + Contract *UniswapUniversalRouterV2Caller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapUniversalRouterV2TransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapUniversalRouterV2TransactorSession struct { + Contract *UniswapUniversalRouterV2Transactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapUniversalRouterV2Raw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapUniversalRouterV2Raw struct { + Contract *UniswapUniversalRouterV2 // Generic contract binding to access the raw methods on +} + +// UniswapUniversalRouterV2CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapUniversalRouterV2CallerRaw struct { + Contract *UniswapUniversalRouterV2Caller // Generic read-only contract binding to access the raw methods on +} + +// UniswapUniversalRouterV2TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapUniversalRouterV2TransactorRaw struct { + Contract *UniswapUniversalRouterV2Transactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapUniversalRouterV2 creates a new instance of UniswapUniversalRouterV2, bound to a specific deployed contract. +func NewUniswapUniversalRouterV2(address common.Address, backend bind.ContractBackend) (*UniswapUniversalRouterV2, error) { + contract, err := bindUniswapUniversalRouterV2(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapUniversalRouterV2{UniswapUniversalRouterV2Caller: UniswapUniversalRouterV2Caller{contract: contract}, UniswapUniversalRouterV2Transactor: UniswapUniversalRouterV2Transactor{contract: contract}, UniswapUniversalRouterV2Filterer: UniswapUniversalRouterV2Filterer{contract: contract}}, nil +} + +// NewUniswapUniversalRouterV2Caller creates a new read-only instance of UniswapUniversalRouterV2, bound to a specific deployed contract. +func NewUniswapUniversalRouterV2Caller(address common.Address, caller bind.ContractCaller) (*UniswapUniversalRouterV2Caller, error) { + contract, err := bindUniswapUniversalRouterV2(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapUniversalRouterV2Caller{contract: contract}, nil +} + +// NewUniswapUniversalRouterV2Transactor creates a new write-only instance of UniswapUniversalRouterV2, bound to a specific deployed contract. +func NewUniswapUniversalRouterV2Transactor(address common.Address, transactor bind.ContractTransactor) (*UniswapUniversalRouterV2Transactor, error) { + contract, err := bindUniswapUniversalRouterV2(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapUniversalRouterV2Transactor{contract: contract}, nil +} + +// NewUniswapUniversalRouterV2Filterer creates a new log filterer instance of UniswapUniversalRouterV2, bound to a specific deployed contract. +func NewUniswapUniversalRouterV2Filterer(address common.Address, filterer bind.ContractFilterer) (*UniswapUniversalRouterV2Filterer, error) { + contract, err := bindUniswapUniversalRouterV2(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapUniversalRouterV2Filterer{contract: contract}, nil +} + +// bindUniswapUniversalRouterV2 binds a generic wrapper to an already deployed contract. +func bindUniswapUniversalRouterV2(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapUniversalRouterV2ABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapUniversalRouterV2.Contract.UniswapUniversalRouterV2Caller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.UniswapUniversalRouterV2Transactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.UniswapUniversalRouterV2Transactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapUniversalRouterV2.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.contract.Transact(opts, method, params...) +} + +// OnERC1155BatchReceived is a free data retrieval call binding the contract method 0xbc197c81. +// +// Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Caller) OnERC1155BatchReceived(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) ([4]byte, error) { + var out []interface{} + err := _UniswapUniversalRouterV2.contract.Call(opts, &out, "onERC1155BatchReceived", arg0, arg1, arg2, arg3, arg4) + + if err != nil { + return *new([4]byte), err + } + + out0 := *abi.ConvertType(out[0], new([4]byte)).(*[4]byte) + + return out0, err + +} + +// OnERC1155BatchReceived is a free data retrieval call binding the contract method 0xbc197c81. +// +// Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Session) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) ([4]byte, error) { + return _UniswapUniversalRouterV2.Contract.OnERC1155BatchReceived(&_UniswapUniversalRouterV2.CallOpts, arg0, arg1, arg2, arg3, arg4) +} + +// OnERC1155BatchReceived is a free data retrieval call binding the contract method 0xbc197c81. +// +// Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2CallerSession) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) ([4]byte, error) { + return _UniswapUniversalRouterV2.Contract.OnERC1155BatchReceived(&_UniswapUniversalRouterV2.CallOpts, arg0, arg1, arg2, arg3, arg4) +} + +// OnERC1155Received is a free data retrieval call binding the contract method 0xf23a6e61. +// +// Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Caller) OnERC1155Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) ([4]byte, error) { + var out []interface{} + err := _UniswapUniversalRouterV2.contract.Call(opts, &out, "onERC1155Received", arg0, arg1, arg2, arg3, arg4) + + if err != nil { + return *new([4]byte), err + } + + out0 := *abi.ConvertType(out[0], new([4]byte)).(*[4]byte) + + return out0, err + +} + +// OnERC1155Received is a free data retrieval call binding the contract method 0xf23a6e61. +// +// Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Session) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) ([4]byte, error) { + return _UniswapUniversalRouterV2.Contract.OnERC1155Received(&_UniswapUniversalRouterV2.CallOpts, arg0, arg1, arg2, arg3, arg4) +} + +// OnERC1155Received is a free data retrieval call binding the contract method 0xf23a6e61. +// +// Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2CallerSession) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) ([4]byte, error) { + return _UniswapUniversalRouterV2.Contract.OnERC1155Received(&_UniswapUniversalRouterV2.CallOpts, arg0, arg1, arg2, arg3, arg4) +} + +// OnERC721Received is a free data retrieval call binding the contract method 0x150b7a02. +// +// Solidity: function onERC721Received(address , address , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Caller) OnERC721Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error) { + var out []interface{} + err := _UniswapUniversalRouterV2.contract.Call(opts, &out, "onERC721Received", arg0, arg1, arg2, arg3) + + if err != nil { + return *new([4]byte), err + } + + out0 := *abi.ConvertType(out[0], new([4]byte)).(*[4]byte) + + return out0, err + +} + +// OnERC721Received is a free data retrieval call binding the contract method 0x150b7a02. +// +// Solidity: function onERC721Received(address , address , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Session) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error) { + return _UniswapUniversalRouterV2.Contract.OnERC721Received(&_UniswapUniversalRouterV2.CallOpts, arg0, arg1, arg2, arg3) +} + +// OnERC721Received is a free data retrieval call binding the contract method 0x150b7a02. +// +// Solidity: function onERC721Received(address , address , uint256 , bytes ) pure returns(bytes4) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2CallerSession) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error) { + return _UniswapUniversalRouterV2.Contract.OnERC721Received(&_UniswapUniversalRouterV2.CallOpts, arg0, arg1, arg2, arg3) +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) pure returns(bool) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { + var out []interface{} + err := _UniswapUniversalRouterV2.contract.Call(opts, &out, "supportsInterface", interfaceId) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) pure returns(bool) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Session) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _UniswapUniversalRouterV2.Contract.SupportsInterface(&_UniswapUniversalRouterV2.CallOpts, interfaceId) +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) pure returns(bool) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _UniswapUniversalRouterV2.Contract.SupportsInterface(&_UniswapUniversalRouterV2.CallOpts, interfaceId) +} + +// CollectRewards is a paid mutator transaction binding the contract method 0x709a1cc2. +// +// Solidity: function collectRewards(bytes looksRareClaim) returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Transactor) CollectRewards(opts *bind.TransactOpts, looksRareClaim []byte) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.contract.Transact(opts, "collectRewards", looksRareClaim) +} + +// CollectRewards is a paid mutator transaction binding the contract method 0x709a1cc2. +// +// Solidity: function collectRewards(bytes looksRareClaim) returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Session) CollectRewards(looksRareClaim []byte) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.CollectRewards(&_UniswapUniversalRouterV2.TransactOpts, looksRareClaim) +} + +// CollectRewards is a paid mutator transaction binding the contract method 0x709a1cc2. +// +// Solidity: function collectRewards(bytes looksRareClaim) returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2TransactorSession) CollectRewards(looksRareClaim []byte) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.CollectRewards(&_UniswapUniversalRouterV2.TransactOpts, looksRareClaim) +} + +// Execute is a paid mutator transaction binding the contract method 0x24856bc3. +// +// Solidity: function execute(bytes commands, bytes[] inputs) payable returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Transactor) Execute(opts *bind.TransactOpts, commands []byte, inputs [][]byte) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.contract.Transact(opts, "execute", commands, inputs) +} + +// Execute is a paid mutator transaction binding the contract method 0x24856bc3. +// +// Solidity: function execute(bytes commands, bytes[] inputs) payable returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Session) Execute(commands []byte, inputs [][]byte) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.Execute(&_UniswapUniversalRouterV2.TransactOpts, commands, inputs) +} + +// Execute is a paid mutator transaction binding the contract method 0x24856bc3. +// +// Solidity: function execute(bytes commands, bytes[] inputs) payable returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2TransactorSession) Execute(commands []byte, inputs [][]byte) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.Execute(&_UniswapUniversalRouterV2.TransactOpts, commands, inputs) +} + +// Execute0 is a paid mutator transaction binding the contract method 0x3593564c. +// +// Solidity: function execute(bytes commands, bytes[] inputs, uint256 deadline) payable returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Transactor) Execute0(opts *bind.TransactOpts, commands []byte, inputs [][]byte, deadline *big.Int) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.contract.Transact(opts, "execute0", commands, inputs, deadline) +} + +// Execute0 is a paid mutator transaction binding the contract method 0x3593564c. +// +// Solidity: function execute(bytes commands, bytes[] inputs, uint256 deadline) payable returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Session) Execute0(commands []byte, inputs [][]byte, deadline *big.Int) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.Execute0(&_UniswapUniversalRouterV2.TransactOpts, commands, inputs, deadline) +} + +// Execute0 is a paid mutator transaction binding the contract method 0x3593564c. +// +// Solidity: function execute(bytes commands, bytes[] inputs, uint256 deadline) payable returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2TransactorSession) Execute0(commands []byte, inputs [][]byte, deadline *big.Int) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.Execute0(&_UniswapUniversalRouterV2.TransactOpts, commands, inputs, deadline) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data) returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Transactor) UniswapV3SwapCallback(opts *bind.TransactOpts, amount0Delta *big.Int, amount1Delta *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.contract.Transact(opts, "uniswapV3SwapCallback", amount0Delta, amount1Delta, data) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data) returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Session) UniswapV3SwapCallback(amount0Delta *big.Int, amount1Delta *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.UniswapV3SwapCallback(&_UniswapUniversalRouterV2.TransactOpts, amount0Delta, amount1Delta, data) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data) returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2TransactorSession) UniswapV3SwapCallback(amount0Delta *big.Int, amount1Delta *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.UniswapV3SwapCallback(&_UniswapUniversalRouterV2.TransactOpts, amount0Delta, amount1Delta, data) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Transactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapUniversalRouterV2.contract.RawTransact(opts, nil) // calldata is disallowed for receive function +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Session) Receive() (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.Receive(&_UniswapUniversalRouterV2.TransactOpts) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2TransactorSession) Receive() (*types.Transaction, error) { + return _UniswapUniversalRouterV2.Contract.Receive(&_UniswapUniversalRouterV2.TransactOpts) +} + +// UniswapUniversalRouterV2RewardsSentIterator is returned from FilterRewardsSent and is used to iterate over the raw logs and unpacked data for RewardsSent events raised by the UniswapUniversalRouterV2 contract. +type UniswapUniversalRouterV2RewardsSentIterator struct { + Event *UniswapUniversalRouterV2RewardsSent // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapUniversalRouterV2RewardsSentIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapUniversalRouterV2RewardsSent) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapUniversalRouterV2RewardsSent) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapUniversalRouterV2RewardsSentIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapUniversalRouterV2RewardsSentIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapUniversalRouterV2RewardsSent represents a RewardsSent event raised by the UniswapUniversalRouterV2 contract. +type UniswapUniversalRouterV2RewardsSent struct { + Amount *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterRewardsSent is a free log retrieval operation binding the contract event 0x1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c. +// +// Solidity: event RewardsSent(uint256 amount) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Filterer) FilterRewardsSent(opts *bind.FilterOpts) (*UniswapUniversalRouterV2RewardsSentIterator, error) { + + logs, sub, err := _UniswapUniversalRouterV2.contract.FilterLogs(opts, "RewardsSent") + if err != nil { + return nil, err + } + return &UniswapUniversalRouterV2RewardsSentIterator{contract: _UniswapUniversalRouterV2.contract, event: "RewardsSent", logs: logs, sub: sub}, nil +} + +// WatchRewardsSent is a free log subscription operation binding the contract event 0x1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c. +// +// Solidity: event RewardsSent(uint256 amount) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Filterer) WatchRewardsSent(opts *bind.WatchOpts, sink chan<- *UniswapUniversalRouterV2RewardsSent) (event.Subscription, error) { + + logs, sub, err := _UniswapUniversalRouterV2.contract.WatchLogs(opts, "RewardsSent") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapUniversalRouterV2RewardsSent) + if err := _UniswapUniversalRouterV2.contract.UnpackLog(event, "RewardsSent", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseRewardsSent is a log parse operation binding the contract event 0x1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c. +// +// Solidity: event RewardsSent(uint256 amount) +func (_UniswapUniversalRouterV2 *UniswapUniversalRouterV2Filterer) ParseRewardsSent(log types.Log) (*UniswapUniversalRouterV2RewardsSent, error) { + event := new(UniswapUniversalRouterV2RewardsSent) + if err := _UniswapUniversalRouterV2.contract.UnpackLog(event, "RewardsSent", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/uniswapv2factory/uniswapv2factory.go b/bindings/uniswapv2factory/uniswapv2factory.go new file mode 100644 index 00000000..d9d388be --- /dev/null +++ b/bindings/uniswapv2factory/uniswapv2factory.go @@ -0,0 +1,553 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapv2factory + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// UniswapV2FactoryMetaData contains all meta data concerning the UniswapV2Factory contract. +var UniswapV2FactoryMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToSetter\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"PairCreated\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allPairs\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"allPairsLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"createPair\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeToSetter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getPair\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeTo\",\"type\":\"address\"}],\"name\":\"setFeeTo\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToSetter\",\"type\":\"address\"}],\"name\":\"setFeeToSetter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", +} + +// UniswapV2FactoryABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapV2FactoryMetaData.ABI instead. +var UniswapV2FactoryABI = UniswapV2FactoryMetaData.ABI + +// UniswapV2Factory is an auto generated Go binding around an Ethereum contract. +type UniswapV2Factory struct { + UniswapV2FactoryCaller // Read-only binding to the contract + UniswapV2FactoryTransactor // Write-only binding to the contract + UniswapV2FactoryFilterer // Log filterer for contract events +} + +// UniswapV2FactoryCaller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapV2FactoryCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV2FactoryTransactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapV2FactoryTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV2FactoryFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapV2FactoryFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV2FactorySession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapV2FactorySession struct { + Contract *UniswapV2Factory // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV2FactoryCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapV2FactoryCallerSession struct { + Contract *UniswapV2FactoryCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapV2FactoryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapV2FactoryTransactorSession struct { + Contract *UniswapV2FactoryTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV2FactoryRaw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapV2FactoryRaw struct { + Contract *UniswapV2Factory // Generic contract binding to access the raw methods on +} + +// UniswapV2FactoryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapV2FactoryCallerRaw struct { + Contract *UniswapV2FactoryCaller // Generic read-only contract binding to access the raw methods on +} + +// UniswapV2FactoryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapV2FactoryTransactorRaw struct { + Contract *UniswapV2FactoryTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapV2Factory creates a new instance of UniswapV2Factory, bound to a specific deployed contract. +func NewUniswapV2Factory(address common.Address, backend bind.ContractBackend) (*UniswapV2Factory, error) { + contract, err := bindUniswapV2Factory(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapV2Factory{UniswapV2FactoryCaller: UniswapV2FactoryCaller{contract: contract}, UniswapV2FactoryTransactor: UniswapV2FactoryTransactor{contract: contract}, UniswapV2FactoryFilterer: UniswapV2FactoryFilterer{contract: contract}}, nil +} + +// NewUniswapV2FactoryCaller creates a new read-only instance of UniswapV2Factory, bound to a specific deployed contract. +func NewUniswapV2FactoryCaller(address common.Address, caller bind.ContractCaller) (*UniswapV2FactoryCaller, error) { + contract, err := bindUniswapV2Factory(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapV2FactoryCaller{contract: contract}, nil +} + +// NewUniswapV2FactoryTransactor creates a new write-only instance of UniswapV2Factory, bound to a specific deployed contract. +func NewUniswapV2FactoryTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV2FactoryTransactor, error) { + contract, err := bindUniswapV2Factory(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapV2FactoryTransactor{contract: contract}, nil +} + +// NewUniswapV2FactoryFilterer creates a new log filterer instance of UniswapV2Factory, bound to a specific deployed contract. +func NewUniswapV2FactoryFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV2FactoryFilterer, error) { + contract, err := bindUniswapV2Factory(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapV2FactoryFilterer{contract: contract}, nil +} + +// bindUniswapV2Factory binds a generic wrapper to an already deployed contract. +func bindUniswapV2Factory(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapV2FactoryABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV2Factory *UniswapV2FactoryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV2Factory.Contract.UniswapV2FactoryCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV2Factory *UniswapV2FactoryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.UniswapV2FactoryTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV2Factory *UniswapV2FactoryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.UniswapV2FactoryTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV2Factory *UniswapV2FactoryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV2Factory.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV2Factory *UniswapV2FactoryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV2Factory *UniswapV2FactoryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.contract.Transact(opts, method, params...) +} + +// AllPairs is a free data retrieval call binding the contract method 0x1e3dd18b. +// +// Solidity: function allPairs(uint256 ) view returns(address) +func (_UniswapV2Factory *UniswapV2FactoryCaller) AllPairs(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { + var out []interface{} + err := _UniswapV2Factory.contract.Call(opts, &out, "allPairs", arg0) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// AllPairs is a free data retrieval call binding the contract method 0x1e3dd18b. +// +// Solidity: function allPairs(uint256 ) view returns(address) +func (_UniswapV2Factory *UniswapV2FactorySession) AllPairs(arg0 *big.Int) (common.Address, error) { + return _UniswapV2Factory.Contract.AllPairs(&_UniswapV2Factory.CallOpts, arg0) +} + +// AllPairs is a free data retrieval call binding the contract method 0x1e3dd18b. +// +// Solidity: function allPairs(uint256 ) view returns(address) +func (_UniswapV2Factory *UniswapV2FactoryCallerSession) AllPairs(arg0 *big.Int) (common.Address, error) { + return _UniswapV2Factory.Contract.AllPairs(&_UniswapV2Factory.CallOpts, arg0) +} + +// AllPairsLength is a free data retrieval call binding the contract method 0x574f2ba3. +// +// Solidity: function allPairsLength() view returns(uint256) +func (_UniswapV2Factory *UniswapV2FactoryCaller) AllPairsLength(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Factory.contract.Call(opts, &out, "allPairsLength") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// AllPairsLength is a free data retrieval call binding the contract method 0x574f2ba3. +// +// Solidity: function allPairsLength() view returns(uint256) +func (_UniswapV2Factory *UniswapV2FactorySession) AllPairsLength() (*big.Int, error) { + return _UniswapV2Factory.Contract.AllPairsLength(&_UniswapV2Factory.CallOpts) +} + +// AllPairsLength is a free data retrieval call binding the contract method 0x574f2ba3. +// +// Solidity: function allPairsLength() view returns(uint256) +func (_UniswapV2Factory *UniswapV2FactoryCallerSession) AllPairsLength() (*big.Int, error) { + return _UniswapV2Factory.Contract.AllPairsLength(&_UniswapV2Factory.CallOpts) +} + +// FeeTo is a free data retrieval call binding the contract method 0x017e7e58. +// +// Solidity: function feeTo() view returns(address) +func (_UniswapV2Factory *UniswapV2FactoryCaller) FeeTo(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV2Factory.contract.Call(opts, &out, "feeTo") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// FeeTo is a free data retrieval call binding the contract method 0x017e7e58. +// +// Solidity: function feeTo() view returns(address) +func (_UniswapV2Factory *UniswapV2FactorySession) FeeTo() (common.Address, error) { + return _UniswapV2Factory.Contract.FeeTo(&_UniswapV2Factory.CallOpts) +} + +// FeeTo is a free data retrieval call binding the contract method 0x017e7e58. +// +// Solidity: function feeTo() view returns(address) +func (_UniswapV2Factory *UniswapV2FactoryCallerSession) FeeTo() (common.Address, error) { + return _UniswapV2Factory.Contract.FeeTo(&_UniswapV2Factory.CallOpts) +} + +// FeeToSetter is a free data retrieval call binding the contract method 0x094b7415. +// +// Solidity: function feeToSetter() view returns(address) +func (_UniswapV2Factory *UniswapV2FactoryCaller) FeeToSetter(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV2Factory.contract.Call(opts, &out, "feeToSetter") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// FeeToSetter is a free data retrieval call binding the contract method 0x094b7415. +// +// Solidity: function feeToSetter() view returns(address) +func (_UniswapV2Factory *UniswapV2FactorySession) FeeToSetter() (common.Address, error) { + return _UniswapV2Factory.Contract.FeeToSetter(&_UniswapV2Factory.CallOpts) +} + +// FeeToSetter is a free data retrieval call binding the contract method 0x094b7415. +// +// Solidity: function feeToSetter() view returns(address) +func (_UniswapV2Factory *UniswapV2FactoryCallerSession) FeeToSetter() (common.Address, error) { + return _UniswapV2Factory.Contract.FeeToSetter(&_UniswapV2Factory.CallOpts) +} + +// GetPair is a free data retrieval call binding the contract method 0xe6a43905. +// +// Solidity: function getPair(address , address ) view returns(address) +func (_UniswapV2Factory *UniswapV2FactoryCaller) GetPair(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (common.Address, error) { + var out []interface{} + err := _UniswapV2Factory.contract.Call(opts, &out, "getPair", arg0, arg1) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GetPair is a free data retrieval call binding the contract method 0xe6a43905. +// +// Solidity: function getPair(address , address ) view returns(address) +func (_UniswapV2Factory *UniswapV2FactorySession) GetPair(arg0 common.Address, arg1 common.Address) (common.Address, error) { + return _UniswapV2Factory.Contract.GetPair(&_UniswapV2Factory.CallOpts, arg0, arg1) +} + +// GetPair is a free data retrieval call binding the contract method 0xe6a43905. +// +// Solidity: function getPair(address , address ) view returns(address) +func (_UniswapV2Factory *UniswapV2FactoryCallerSession) GetPair(arg0 common.Address, arg1 common.Address) (common.Address, error) { + return _UniswapV2Factory.Contract.GetPair(&_UniswapV2Factory.CallOpts, arg0, arg1) +} + +// CreatePair is a paid mutator transaction binding the contract method 0xc9c65396. +// +// Solidity: function createPair(address tokenA, address tokenB) returns(address pair) +func (_UniswapV2Factory *UniswapV2FactoryTransactor) CreatePair(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address) (*types.Transaction, error) { + return _UniswapV2Factory.contract.Transact(opts, "createPair", tokenA, tokenB) +} + +// CreatePair is a paid mutator transaction binding the contract method 0xc9c65396. +// +// Solidity: function createPair(address tokenA, address tokenB) returns(address pair) +func (_UniswapV2Factory *UniswapV2FactorySession) CreatePair(tokenA common.Address, tokenB common.Address) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.CreatePair(&_UniswapV2Factory.TransactOpts, tokenA, tokenB) +} + +// CreatePair is a paid mutator transaction binding the contract method 0xc9c65396. +// +// Solidity: function createPair(address tokenA, address tokenB) returns(address pair) +func (_UniswapV2Factory *UniswapV2FactoryTransactorSession) CreatePair(tokenA common.Address, tokenB common.Address) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.CreatePair(&_UniswapV2Factory.TransactOpts, tokenA, tokenB) +} + +// SetFeeTo is a paid mutator transaction binding the contract method 0xf46901ed. +// +// Solidity: function setFeeTo(address _feeTo) returns() +func (_UniswapV2Factory *UniswapV2FactoryTransactor) SetFeeTo(opts *bind.TransactOpts, _feeTo common.Address) (*types.Transaction, error) { + return _UniswapV2Factory.contract.Transact(opts, "setFeeTo", _feeTo) +} + +// SetFeeTo is a paid mutator transaction binding the contract method 0xf46901ed. +// +// Solidity: function setFeeTo(address _feeTo) returns() +func (_UniswapV2Factory *UniswapV2FactorySession) SetFeeTo(_feeTo common.Address) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.SetFeeTo(&_UniswapV2Factory.TransactOpts, _feeTo) +} + +// SetFeeTo is a paid mutator transaction binding the contract method 0xf46901ed. +// +// Solidity: function setFeeTo(address _feeTo) returns() +func (_UniswapV2Factory *UniswapV2FactoryTransactorSession) SetFeeTo(_feeTo common.Address) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.SetFeeTo(&_UniswapV2Factory.TransactOpts, _feeTo) +} + +// SetFeeToSetter is a paid mutator transaction binding the contract method 0xa2e74af6. +// +// Solidity: function setFeeToSetter(address _feeToSetter) returns() +func (_UniswapV2Factory *UniswapV2FactoryTransactor) SetFeeToSetter(opts *bind.TransactOpts, _feeToSetter common.Address) (*types.Transaction, error) { + return _UniswapV2Factory.contract.Transact(opts, "setFeeToSetter", _feeToSetter) +} + +// SetFeeToSetter is a paid mutator transaction binding the contract method 0xa2e74af6. +// +// Solidity: function setFeeToSetter(address _feeToSetter) returns() +func (_UniswapV2Factory *UniswapV2FactorySession) SetFeeToSetter(_feeToSetter common.Address) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.SetFeeToSetter(&_UniswapV2Factory.TransactOpts, _feeToSetter) +} + +// SetFeeToSetter is a paid mutator transaction binding the contract method 0xa2e74af6. +// +// Solidity: function setFeeToSetter(address _feeToSetter) returns() +func (_UniswapV2Factory *UniswapV2FactoryTransactorSession) SetFeeToSetter(_feeToSetter common.Address) (*types.Transaction, error) { + return _UniswapV2Factory.Contract.SetFeeToSetter(&_UniswapV2Factory.TransactOpts, _feeToSetter) +} + +// UniswapV2FactoryPairCreatedIterator is returned from FilterPairCreated and is used to iterate over the raw logs and unpacked data for PairCreated events raised by the UniswapV2Factory contract. +type UniswapV2FactoryPairCreatedIterator struct { + Event *UniswapV2FactoryPairCreated // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV2FactoryPairCreatedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV2FactoryPairCreated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV2FactoryPairCreated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV2FactoryPairCreatedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV2FactoryPairCreatedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV2FactoryPairCreated represents a PairCreated event raised by the UniswapV2Factory contract. +type UniswapV2FactoryPairCreated struct { + Token0 common.Address + Token1 common.Address + Pair common.Address + Arg3 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterPairCreated is a free log retrieval operation binding the contract event 0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9. +// +// Solidity: event PairCreated(address indexed token0, address indexed token1, address pair, uint256 arg3) +func (_UniswapV2Factory *UniswapV2FactoryFilterer) FilterPairCreated(opts *bind.FilterOpts, token0 []common.Address, token1 []common.Address) (*UniswapV2FactoryPairCreatedIterator, error) { + + var token0Rule []interface{} + for _, token0Item := range token0 { + token0Rule = append(token0Rule, token0Item) + } + var token1Rule []interface{} + for _, token1Item := range token1 { + token1Rule = append(token1Rule, token1Item) + } + + logs, sub, err := _UniswapV2Factory.contract.FilterLogs(opts, "PairCreated", token0Rule, token1Rule) + if err != nil { + return nil, err + } + return &UniswapV2FactoryPairCreatedIterator{contract: _UniswapV2Factory.contract, event: "PairCreated", logs: logs, sub: sub}, nil +} + +// WatchPairCreated is a free log subscription operation binding the contract event 0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9. +// +// Solidity: event PairCreated(address indexed token0, address indexed token1, address pair, uint256 arg3) +func (_UniswapV2Factory *UniswapV2FactoryFilterer) WatchPairCreated(opts *bind.WatchOpts, sink chan<- *UniswapV2FactoryPairCreated, token0 []common.Address, token1 []common.Address) (event.Subscription, error) { + + var token0Rule []interface{} + for _, token0Item := range token0 { + token0Rule = append(token0Rule, token0Item) + } + var token1Rule []interface{} + for _, token1Item := range token1 { + token1Rule = append(token1Rule, token1Item) + } + + logs, sub, err := _UniswapV2Factory.contract.WatchLogs(opts, "PairCreated", token0Rule, token1Rule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV2FactoryPairCreated) + if err := _UniswapV2Factory.contract.UnpackLog(event, "PairCreated", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParsePairCreated is a log parse operation binding the contract event 0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9. +// +// Solidity: event PairCreated(address indexed token0, address indexed token1, address pair, uint256 arg3) +func (_UniswapV2Factory *UniswapV2FactoryFilterer) ParsePairCreated(log types.Log) (*UniswapV2FactoryPairCreated, error) { + event := new(UniswapV2FactoryPairCreated) + if err := _UniswapV2Factory.contract.UnpackLog(event, "PairCreated", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/uniswapv2pool/uniswapv2pool.go b/bindings/uniswapv2pool/uniswapv2pool.go new file mode 100644 index 00000000..a9d5e2a0 --- /dev/null +++ b/bindings/uniswapv2pool/uniswapv2pool.go @@ -0,0 +1,1841 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapv2pool + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// UniswapV2PoolMetaData contains all meta data concerning the UniswapV2Pool contract. +var UniswapV2PoolMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"}],\"name\":\"Sync\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_LIQUIDITY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"_reserve0\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"_reserve1\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"_blockTimestampLast\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token1\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price0CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price1CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"skim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sync\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", +} + +// UniswapV2PoolABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapV2PoolMetaData.ABI instead. +var UniswapV2PoolABI = UniswapV2PoolMetaData.ABI + +// UniswapV2Pool is an auto generated Go binding around an Ethereum contract. +type UniswapV2Pool struct { + UniswapV2PoolCaller // Read-only binding to the contract + UniswapV2PoolTransactor // Write-only binding to the contract + UniswapV2PoolFilterer // Log filterer for contract events +} + +// UniswapV2PoolCaller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapV2PoolCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV2PoolTransactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapV2PoolTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV2PoolFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapV2PoolFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV2PoolSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapV2PoolSession struct { + Contract *UniswapV2Pool // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV2PoolCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapV2PoolCallerSession struct { + Contract *UniswapV2PoolCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapV2PoolTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapV2PoolTransactorSession struct { + Contract *UniswapV2PoolTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV2PoolRaw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapV2PoolRaw struct { + Contract *UniswapV2Pool // Generic contract binding to access the raw methods on +} + +// UniswapV2PoolCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapV2PoolCallerRaw struct { + Contract *UniswapV2PoolCaller // Generic read-only contract binding to access the raw methods on +} + +// UniswapV2PoolTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapV2PoolTransactorRaw struct { + Contract *UniswapV2PoolTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapV2Pool creates a new instance of UniswapV2Pool, bound to a specific deployed contract. +func NewUniswapV2Pool(address common.Address, backend bind.ContractBackend) (*UniswapV2Pool, error) { + contract, err := bindUniswapV2Pool(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapV2Pool{UniswapV2PoolCaller: UniswapV2PoolCaller{contract: contract}, UniswapV2PoolTransactor: UniswapV2PoolTransactor{contract: contract}, UniswapV2PoolFilterer: UniswapV2PoolFilterer{contract: contract}}, nil +} + +// NewUniswapV2PoolCaller creates a new read-only instance of UniswapV2Pool, bound to a specific deployed contract. +func NewUniswapV2PoolCaller(address common.Address, caller bind.ContractCaller) (*UniswapV2PoolCaller, error) { + contract, err := bindUniswapV2Pool(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapV2PoolCaller{contract: contract}, nil +} + +// NewUniswapV2PoolTransactor creates a new write-only instance of UniswapV2Pool, bound to a specific deployed contract. +func NewUniswapV2PoolTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV2PoolTransactor, error) { + contract, err := bindUniswapV2Pool(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapV2PoolTransactor{contract: contract}, nil +} + +// NewUniswapV2PoolFilterer creates a new log filterer instance of UniswapV2Pool, bound to a specific deployed contract. +func NewUniswapV2PoolFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV2PoolFilterer, error) { + contract, err := bindUniswapV2Pool(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapV2PoolFilterer{contract: contract}, nil +} + +// bindUniswapV2Pool binds a generic wrapper to an already deployed contract. +func bindUniswapV2Pool(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapV2PoolABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV2Pool *UniswapV2PoolRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV2Pool.Contract.UniswapV2PoolCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV2Pool *UniswapV2PoolRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.UniswapV2PoolTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV2Pool *UniswapV2PoolRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.UniswapV2PoolTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV2Pool *UniswapV2PoolCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV2Pool.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV2Pool *UniswapV2PoolTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV2Pool *UniswapV2PoolTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.contract.Transact(opts, method, params...) +} + +// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. +// +// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) +func (_UniswapV2Pool *UniswapV2PoolCaller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "DOMAIN_SEPARATOR") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. +// +// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) +func (_UniswapV2Pool *UniswapV2PoolSession) DOMAINSEPARATOR() ([32]byte, error) { + return _UniswapV2Pool.Contract.DOMAINSEPARATOR(&_UniswapV2Pool.CallOpts) +} + +// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. +// +// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) DOMAINSEPARATOR() ([32]byte, error) { + return _UniswapV2Pool.Contract.DOMAINSEPARATOR(&_UniswapV2Pool.CallOpts) +} + +// MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. +// +// Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCaller) MINIMUMLIQUIDITY(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "MINIMUM_LIQUIDITY") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. +// +// Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolSession) MINIMUMLIQUIDITY() (*big.Int, error) { + return _UniswapV2Pool.Contract.MINIMUMLIQUIDITY(&_UniswapV2Pool.CallOpts) +} + +// MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. +// +// Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) MINIMUMLIQUIDITY() (*big.Int, error) { + return _UniswapV2Pool.Contract.MINIMUMLIQUIDITY(&_UniswapV2Pool.CallOpts) +} + +// PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. +// +// Solidity: function PERMIT_TYPEHASH() view returns(bytes32) +func (_UniswapV2Pool *UniswapV2PoolCaller) PERMITTYPEHASH(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "PERMIT_TYPEHASH") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. +// +// Solidity: function PERMIT_TYPEHASH() view returns(bytes32) +func (_UniswapV2Pool *UniswapV2PoolSession) PERMITTYPEHASH() ([32]byte, error) { + return _UniswapV2Pool.Contract.PERMITTYPEHASH(&_UniswapV2Pool.CallOpts) +} + +// PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. +// +// Solidity: function PERMIT_TYPEHASH() view returns(bytes32) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) PERMITTYPEHASH() ([32]byte, error) { + return _UniswapV2Pool.Contract.PERMITTYPEHASH(&_UniswapV2Pool.CallOpts) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address , address ) view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCaller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "allowance", arg0, arg1) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address , address ) view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _UniswapV2Pool.Contract.Allowance(&_UniswapV2Pool.CallOpts, arg0, arg1) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(address , address ) view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _UniswapV2Pool.Contract.Allowance(&_UniswapV2Pool.CallOpts, arg0, arg1) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address ) view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCaller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "balanceOf", arg0) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address ) view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolSession) BalanceOf(arg0 common.Address) (*big.Int, error) { + return _UniswapV2Pool.Contract.BalanceOf(&_UniswapV2Pool.CallOpts, arg0) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(address ) view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) BalanceOf(arg0 common.Address) (*big.Int, error) { + return _UniswapV2Pool.Contract.BalanceOf(&_UniswapV2Pool.CallOpts, arg0) +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_UniswapV2Pool *UniswapV2PoolCaller) Decimals(opts *bind.CallOpts) (uint8, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "decimals") + + if err != nil { + return *new(uint8), err + } + + out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) + + return out0, err + +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_UniswapV2Pool *UniswapV2PoolSession) Decimals() (uint8, error) { + return _UniswapV2Pool.Contract.Decimals(&_UniswapV2Pool.CallOpts) +} + +// Decimals is a free data retrieval call binding the contract method 0x313ce567. +// +// Solidity: function decimals() view returns(uint8) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Decimals() (uint8, error) { + return _UniswapV2Pool.Contract.Decimals(&_UniswapV2Pool.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV2Pool *UniswapV2PoolCaller) Factory(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "factory") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV2Pool *UniswapV2PoolSession) Factory() (common.Address, error) { + return _UniswapV2Pool.Contract.Factory(&_UniswapV2Pool.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Factory() (common.Address, error) { + return _UniswapV2Pool.Contract.Factory(&_UniswapV2Pool.CallOpts) +} + +// GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. +// +// Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) +func (_UniswapV2Pool *UniswapV2PoolCaller) GetReserves(opts *bind.CallOpts) (struct { + Reserve0 *big.Int + Reserve1 *big.Int + BlockTimestampLast uint32 +}, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "getReserves") + + outstruct := new(struct { + Reserve0 *big.Int + Reserve1 *big.Int + BlockTimestampLast uint32 + }) + if err != nil { + return *outstruct, err + } + + outstruct.Reserve0 = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + outstruct.Reserve1 = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.BlockTimestampLast = *abi.ConvertType(out[2], new(uint32)).(*uint32) + + return *outstruct, err + +} + +// GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. +// +// Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) +func (_UniswapV2Pool *UniswapV2PoolSession) GetReserves() (struct { + Reserve0 *big.Int + Reserve1 *big.Int + BlockTimestampLast uint32 +}, error) { + return _UniswapV2Pool.Contract.GetReserves(&_UniswapV2Pool.CallOpts) +} + +// GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. +// +// Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) GetReserves() (struct { + Reserve0 *big.Int + Reserve1 *big.Int + BlockTimestampLast uint32 +}, error) { + return _UniswapV2Pool.Contract.GetReserves(&_UniswapV2Pool.CallOpts) +} + +// KLast is a free data retrieval call binding the contract method 0x7464fc3d. +// +// Solidity: function kLast() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCaller) KLast(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "kLast") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// KLast is a free data retrieval call binding the contract method 0x7464fc3d. +// +// Solidity: function kLast() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolSession) KLast() (*big.Int, error) { + return _UniswapV2Pool.Contract.KLast(&_UniswapV2Pool.CallOpts) +} + +// KLast is a free data retrieval call binding the contract method 0x7464fc3d. +// +// Solidity: function kLast() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) KLast() (*big.Int, error) { + return _UniswapV2Pool.Contract.KLast(&_UniswapV2Pool.CallOpts) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_UniswapV2Pool *UniswapV2PoolCaller) Name(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "name") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_UniswapV2Pool *UniswapV2PoolSession) Name() (string, error) { + return _UniswapV2Pool.Contract.Name(&_UniswapV2Pool.CallOpts) +} + +// Name is a free data retrieval call binding the contract method 0x06fdde03. +// +// Solidity: function name() view returns(string) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Name() (string, error) { + return _UniswapV2Pool.Contract.Name(&_UniswapV2Pool.CallOpts) +} + +// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. +// +// Solidity: function nonces(address ) view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCaller) Nonces(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "nonces", arg0) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. +// +// Solidity: function nonces(address ) view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolSession) Nonces(arg0 common.Address) (*big.Int, error) { + return _UniswapV2Pool.Contract.Nonces(&_UniswapV2Pool.CallOpts, arg0) +} + +// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. +// +// Solidity: function nonces(address ) view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Nonces(arg0 common.Address) (*big.Int, error) { + return _UniswapV2Pool.Contract.Nonces(&_UniswapV2Pool.CallOpts, arg0) +} + +// Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. +// +// Solidity: function price0CumulativeLast() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCaller) Price0CumulativeLast(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "price0CumulativeLast") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. +// +// Solidity: function price0CumulativeLast() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolSession) Price0CumulativeLast() (*big.Int, error) { + return _UniswapV2Pool.Contract.Price0CumulativeLast(&_UniswapV2Pool.CallOpts) +} + +// Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. +// +// Solidity: function price0CumulativeLast() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Price0CumulativeLast() (*big.Int, error) { + return _UniswapV2Pool.Contract.Price0CumulativeLast(&_UniswapV2Pool.CallOpts) +} + +// Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. +// +// Solidity: function price1CumulativeLast() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCaller) Price1CumulativeLast(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "price1CumulativeLast") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. +// +// Solidity: function price1CumulativeLast() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolSession) Price1CumulativeLast() (*big.Int, error) { + return _UniswapV2Pool.Contract.Price1CumulativeLast(&_UniswapV2Pool.CallOpts) +} + +// Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. +// +// Solidity: function price1CumulativeLast() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Price1CumulativeLast() (*big.Int, error) { + return _UniswapV2Pool.Contract.Price1CumulativeLast(&_UniswapV2Pool.CallOpts) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_UniswapV2Pool *UniswapV2PoolCaller) Symbol(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "symbol") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_UniswapV2Pool *UniswapV2PoolSession) Symbol() (string, error) { + return _UniswapV2Pool.Contract.Symbol(&_UniswapV2Pool.CallOpts) +} + +// Symbol is a free data retrieval call binding the contract method 0x95d89b41. +// +// Solidity: function symbol() view returns(string) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Symbol() (string, error) { + return _UniswapV2Pool.Contract.Symbol(&_UniswapV2Pool.CallOpts) +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_UniswapV2Pool *UniswapV2PoolCaller) Token0(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "token0") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_UniswapV2Pool *UniswapV2PoolSession) Token0() (common.Address, error) { + return _UniswapV2Pool.Contract.Token0(&_UniswapV2Pool.CallOpts) +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Token0() (common.Address, error) { + return _UniswapV2Pool.Contract.Token0(&_UniswapV2Pool.CallOpts) +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_UniswapV2Pool *UniswapV2PoolCaller) Token1(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "token1") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_UniswapV2Pool *UniswapV2PoolSession) Token1() (common.Address, error) { + return _UniswapV2Pool.Contract.Token1(&_UniswapV2Pool.CallOpts) +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) Token1() (common.Address, error) { + return _UniswapV2Pool.Contract.Token1(&_UniswapV2Pool.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Pool.contract.Call(opts, &out, "totalSupply") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolSession) TotalSupply() (*big.Int, error) { + return _UniswapV2Pool.Contract.TotalSupply(&_UniswapV2Pool.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() view returns(uint256) +func (_UniswapV2Pool *UniswapV2PoolCallerSession) TotalSupply() (*big.Int, error) { + return _UniswapV2Pool.Contract.TotalSupply(&_UniswapV2Pool.CallOpts) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address spender, uint256 value) returns(bool) +func (_UniswapV2Pool *UniswapV2PoolTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "approve", spender, value) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address spender, uint256 value) returns(bool) +func (_UniswapV2Pool *UniswapV2PoolSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Approve(&_UniswapV2Pool.TransactOpts, spender, value) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(address spender, uint256 value) returns(bool) +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Approve(&_UniswapV2Pool.TransactOpts, spender, value) +} + +// Burn is a paid mutator transaction binding the contract method 0x89afcb44. +// +// Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) +func (_UniswapV2Pool *UniswapV2PoolTransactor) Burn(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "burn", to) +} + +// Burn is a paid mutator transaction binding the contract method 0x89afcb44. +// +// Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) +func (_UniswapV2Pool *UniswapV2PoolSession) Burn(to common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Burn(&_UniswapV2Pool.TransactOpts, to) +} + +// Burn is a paid mutator transaction binding the contract method 0x89afcb44. +// +// Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) Burn(to common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Burn(&_UniswapV2Pool.TransactOpts, to) +} + +// Initialize is a paid mutator transaction binding the contract method 0x485cc955. +// +// Solidity: function initialize(address _token0, address _token1) returns() +func (_UniswapV2Pool *UniswapV2PoolTransactor) Initialize(opts *bind.TransactOpts, _token0 common.Address, _token1 common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "initialize", _token0, _token1) +} + +// Initialize is a paid mutator transaction binding the contract method 0x485cc955. +// +// Solidity: function initialize(address _token0, address _token1) returns() +func (_UniswapV2Pool *UniswapV2PoolSession) Initialize(_token0 common.Address, _token1 common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Initialize(&_UniswapV2Pool.TransactOpts, _token0, _token1) +} + +// Initialize is a paid mutator transaction binding the contract method 0x485cc955. +// +// Solidity: function initialize(address _token0, address _token1) returns() +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) Initialize(_token0 common.Address, _token1 common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Initialize(&_UniswapV2Pool.TransactOpts, _token0, _token1) +} + +// Mint is a paid mutator transaction binding the contract method 0x6a627842. +// +// Solidity: function mint(address to) returns(uint256 liquidity) +func (_UniswapV2Pool *UniswapV2PoolTransactor) Mint(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "mint", to) +} + +// Mint is a paid mutator transaction binding the contract method 0x6a627842. +// +// Solidity: function mint(address to) returns(uint256 liquidity) +func (_UniswapV2Pool *UniswapV2PoolSession) Mint(to common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Mint(&_UniswapV2Pool.TransactOpts, to) +} + +// Mint is a paid mutator transaction binding the contract method 0x6a627842. +// +// Solidity: function mint(address to) returns(uint256 liquidity) +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) Mint(to common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Mint(&_UniswapV2Pool.TransactOpts, to) +} + +// Permit is a paid mutator transaction binding the contract method 0xd505accf. +// +// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() +func (_UniswapV2Pool *UniswapV2PoolTransactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "permit", owner, spender, value, deadline, v, r, s) +} + +// Permit is a paid mutator transaction binding the contract method 0xd505accf. +// +// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() +func (_UniswapV2Pool *UniswapV2PoolSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Permit(&_UniswapV2Pool.TransactOpts, owner, spender, value, deadline, v, r, s) +} + +// Permit is a paid mutator transaction binding the contract method 0xd505accf. +// +// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Permit(&_UniswapV2Pool.TransactOpts, owner, spender, value, deadline, v, r, s) +} + +// Skim is a paid mutator transaction binding the contract method 0xbc25cf77. +// +// Solidity: function skim(address to) returns() +func (_UniswapV2Pool *UniswapV2PoolTransactor) Skim(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "skim", to) +} + +// Skim is a paid mutator transaction binding the contract method 0xbc25cf77. +// +// Solidity: function skim(address to) returns() +func (_UniswapV2Pool *UniswapV2PoolSession) Skim(to common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Skim(&_UniswapV2Pool.TransactOpts, to) +} + +// Skim is a paid mutator transaction binding the contract method 0xbc25cf77. +// +// Solidity: function skim(address to) returns() +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) Skim(to common.Address) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Skim(&_UniswapV2Pool.TransactOpts, to) +} + +// Swap is a paid mutator transaction binding the contract method 0x022c0d9f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() +func (_UniswapV2Pool *UniswapV2PoolTransactor) Swap(opts *bind.TransactOpts, amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "swap", amount0Out, amount1Out, to, data) +} + +// Swap is a paid mutator transaction binding the contract method 0x022c0d9f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() +func (_UniswapV2Pool *UniswapV2PoolSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Swap(&_UniswapV2Pool.TransactOpts, amount0Out, amount1Out, to, data) +} + +// Swap is a paid mutator transaction binding the contract method 0x022c0d9f. +// +// Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Swap(&_UniswapV2Pool.TransactOpts, amount0Out, amount1Out, to, data) +} + +// Sync is a paid mutator transaction binding the contract method 0xfff6cae9. +// +// Solidity: function sync() returns() +func (_UniswapV2Pool *UniswapV2PoolTransactor) Sync(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "sync") +} + +// Sync is a paid mutator transaction binding the contract method 0xfff6cae9. +// +// Solidity: function sync() returns() +func (_UniswapV2Pool *UniswapV2PoolSession) Sync() (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Sync(&_UniswapV2Pool.TransactOpts) +} + +// Sync is a paid mutator transaction binding the contract method 0xfff6cae9. +// +// Solidity: function sync() returns() +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) Sync() (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Sync(&_UniswapV2Pool.TransactOpts) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address to, uint256 value) returns(bool) +func (_UniswapV2Pool *UniswapV2PoolTransactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "transfer", to, value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address to, uint256 value) returns(bool) +func (_UniswapV2Pool *UniswapV2PoolSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Transfer(&_UniswapV2Pool.TransactOpts, to, value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(address to, uint256 value) returns(bool) +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.Transfer(&_UniswapV2Pool.TransactOpts, to, value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) +func (_UniswapV2Pool *UniswapV2PoolTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV2Pool.contract.Transact(opts, "transferFrom", from, to, value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) +func (_UniswapV2Pool *UniswapV2PoolSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.TransferFrom(&_UniswapV2Pool.TransactOpts, from, to, value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) +func (_UniswapV2Pool *UniswapV2PoolTransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV2Pool.Contract.TransferFrom(&_UniswapV2Pool.TransactOpts, from, to, value) +} + +// UniswapV2PoolApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the UniswapV2Pool contract. +type UniswapV2PoolApprovalIterator struct { + Event *UniswapV2PoolApproval // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV2PoolApprovalIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolApproval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolApproval) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV2PoolApprovalIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV2PoolApprovalIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV2PoolApproval represents a Approval event raised by the UniswapV2Pool contract. +type UniswapV2PoolApproval struct { + Owner common.Address + Spender common.Address + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_UniswapV2Pool *UniswapV2PoolFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*UniswapV2PoolApprovalIterator, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var spenderRule []interface{} + for _, spenderItem := range spender { + spenderRule = append(spenderRule, spenderItem) + } + + logs, sub, err := _UniswapV2Pool.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) + if err != nil { + return nil, err + } + return &UniswapV2PoolApprovalIterator{contract: _UniswapV2Pool.contract, event: "Approval", logs: logs, sub: sub}, nil +} + +// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_UniswapV2Pool *UniswapV2PoolFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *UniswapV2PoolApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var spenderRule []interface{} + for _, spenderItem := range spender { + spenderRule = append(spenderRule, spenderItem) + } + + logs, sub, err := _UniswapV2Pool.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV2PoolApproval) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Approval", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. +// +// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) +func (_UniswapV2Pool *UniswapV2PoolFilterer) ParseApproval(log types.Log) (*UniswapV2PoolApproval, error) { + event := new(UniswapV2PoolApproval) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Approval", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV2PoolBurnIterator is returned from FilterBurn and is used to iterate over the raw logs and unpacked data for Burn events raised by the UniswapV2Pool contract. +type UniswapV2PoolBurnIterator struct { + Event *UniswapV2PoolBurn // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV2PoolBurnIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolBurn) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolBurn) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV2PoolBurnIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV2PoolBurnIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV2PoolBurn represents a Burn event raised by the UniswapV2Pool contract. +type UniswapV2PoolBurn struct { + Sender common.Address + Amount0 *big.Int + Amount1 *big.Int + To common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterBurn is a free log retrieval operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. +// +// Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) +func (_UniswapV2Pool *UniswapV2PoolFilterer) FilterBurn(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*UniswapV2PoolBurnIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _UniswapV2Pool.contract.FilterLogs(opts, "Burn", senderRule, toRule) + if err != nil { + return nil, err + } + return &UniswapV2PoolBurnIterator{contract: _UniswapV2Pool.contract, event: "Burn", logs: logs, sub: sub}, nil +} + +// WatchBurn is a free log subscription operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. +// +// Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) +func (_UniswapV2Pool *UniswapV2PoolFilterer) WatchBurn(opts *bind.WatchOpts, sink chan<- *UniswapV2PoolBurn, sender []common.Address, to []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _UniswapV2Pool.contract.WatchLogs(opts, "Burn", senderRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV2PoolBurn) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Burn", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseBurn is a log parse operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. +// +// Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) +func (_UniswapV2Pool *UniswapV2PoolFilterer) ParseBurn(log types.Log) (*UniswapV2PoolBurn, error) { + event := new(UniswapV2PoolBurn) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Burn", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV2PoolMintIterator is returned from FilterMint and is used to iterate over the raw logs and unpacked data for Mint events raised by the UniswapV2Pool contract. +type UniswapV2PoolMintIterator struct { + Event *UniswapV2PoolMint // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV2PoolMintIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolMint) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolMint) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV2PoolMintIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV2PoolMintIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV2PoolMint represents a Mint event raised by the UniswapV2Pool contract. +type UniswapV2PoolMint struct { + Sender common.Address + Amount0 *big.Int + Amount1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterMint is a free log retrieval operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. +// +// Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) +func (_UniswapV2Pool *UniswapV2PoolFilterer) FilterMint(opts *bind.FilterOpts, sender []common.Address) (*UniswapV2PoolMintIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _UniswapV2Pool.contract.FilterLogs(opts, "Mint", senderRule) + if err != nil { + return nil, err + } + return &UniswapV2PoolMintIterator{contract: _UniswapV2Pool.contract, event: "Mint", logs: logs, sub: sub}, nil +} + +// WatchMint is a free log subscription operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. +// +// Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) +func (_UniswapV2Pool *UniswapV2PoolFilterer) WatchMint(opts *bind.WatchOpts, sink chan<- *UniswapV2PoolMint, sender []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _UniswapV2Pool.contract.WatchLogs(opts, "Mint", senderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV2PoolMint) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Mint", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseMint is a log parse operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. +// +// Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) +func (_UniswapV2Pool *UniswapV2PoolFilterer) ParseMint(log types.Log) (*UniswapV2PoolMint, error) { + event := new(UniswapV2PoolMint) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Mint", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV2PoolSwapIterator is returned from FilterSwap and is used to iterate over the raw logs and unpacked data for Swap events raised by the UniswapV2Pool contract. +type UniswapV2PoolSwapIterator struct { + Event *UniswapV2PoolSwap // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV2PoolSwapIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV2PoolSwapIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV2PoolSwapIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV2PoolSwap represents a Swap event raised by the UniswapV2Pool contract. +type UniswapV2PoolSwap struct { + Sender common.Address + Amount0In *big.Int + Amount1In *big.Int + Amount0Out *big.Int + Amount1Out *big.Int + To common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSwap is a free log retrieval operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. +// +// Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) +func (_UniswapV2Pool *UniswapV2PoolFilterer) FilterSwap(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*UniswapV2PoolSwapIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _UniswapV2Pool.contract.FilterLogs(opts, "Swap", senderRule, toRule) + if err != nil { + return nil, err + } + return &UniswapV2PoolSwapIterator{contract: _UniswapV2Pool.contract, event: "Swap", logs: logs, sub: sub}, nil +} + +// WatchSwap is a free log subscription operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. +// +// Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) +func (_UniswapV2Pool *UniswapV2PoolFilterer) WatchSwap(opts *bind.WatchOpts, sink chan<- *UniswapV2PoolSwap, sender []common.Address, to []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _UniswapV2Pool.contract.WatchLogs(opts, "Swap", senderRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV2PoolSwap) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Swap", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSwap is a log parse operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. +// +// Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) +func (_UniswapV2Pool *UniswapV2PoolFilterer) ParseSwap(log types.Log) (*UniswapV2PoolSwap, error) { + event := new(UniswapV2PoolSwap) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Swap", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV2PoolSyncIterator is returned from FilterSync and is used to iterate over the raw logs and unpacked data for Sync events raised by the UniswapV2Pool contract. +type UniswapV2PoolSyncIterator struct { + Event *UniswapV2PoolSync // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV2PoolSyncIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolSync) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolSync) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV2PoolSyncIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV2PoolSyncIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV2PoolSync represents a Sync event raised by the UniswapV2Pool contract. +type UniswapV2PoolSync struct { + Reserve0 *big.Int + Reserve1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSync is a free log retrieval operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. +// +// Solidity: event Sync(uint112 reserve0, uint112 reserve1) +func (_UniswapV2Pool *UniswapV2PoolFilterer) FilterSync(opts *bind.FilterOpts) (*UniswapV2PoolSyncIterator, error) { + + logs, sub, err := _UniswapV2Pool.contract.FilterLogs(opts, "Sync") + if err != nil { + return nil, err + } + return &UniswapV2PoolSyncIterator{contract: _UniswapV2Pool.contract, event: "Sync", logs: logs, sub: sub}, nil +} + +// WatchSync is a free log subscription operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. +// +// Solidity: event Sync(uint112 reserve0, uint112 reserve1) +func (_UniswapV2Pool *UniswapV2PoolFilterer) WatchSync(opts *bind.WatchOpts, sink chan<- *UniswapV2PoolSync) (event.Subscription, error) { + + logs, sub, err := _UniswapV2Pool.contract.WatchLogs(opts, "Sync") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV2PoolSync) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Sync", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSync is a log parse operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. +// +// Solidity: event Sync(uint112 reserve0, uint112 reserve1) +func (_UniswapV2Pool *UniswapV2PoolFilterer) ParseSync(log types.Log) (*UniswapV2PoolSync, error) { + event := new(UniswapV2PoolSync) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Sync", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV2PoolTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the UniswapV2Pool contract. +type UniswapV2PoolTransferIterator struct { + Event *UniswapV2PoolTransfer // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV2PoolTransferIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolTransfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV2PoolTransfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV2PoolTransferIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV2PoolTransferIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV2PoolTransfer represents a Transfer event raised by the UniswapV2Pool contract. +type UniswapV2PoolTransfer struct { + From common.Address + To common.Address + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_UniswapV2Pool *UniswapV2PoolFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*UniswapV2PoolTransferIterator, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _UniswapV2Pool.contract.FilterLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return &UniswapV2PoolTransferIterator{contract: _UniswapV2Pool.contract, event: "Transfer", logs: logs, sub: sub}, nil +} + +// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_UniswapV2Pool *UniswapV2PoolFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *UniswapV2PoolTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _UniswapV2Pool.contract.WatchLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV2PoolTransfer) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Transfer", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_UniswapV2Pool *UniswapV2PoolFilterer) ParseTransfer(log types.Log) (*UniswapV2PoolTransfer, error) { + event := new(UniswapV2PoolTransfer) + if err := _UniswapV2Pool.contract.UnpackLog(event, "Transfer", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/uniswapv2router/uniswapv2router.go b/bindings/uniswapv2router/uniswapv2router.go new file mode 100644 index 00000000..a5ca8cde --- /dev/null +++ b/bindings/uniswapv2router/uniswapv2router.go @@ -0,0 +1,775 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapv2router + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// UniswapV2RouterMetaData contains all meta data concerning the UniswapV2Router contract. +var UniswapV2RouterMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_WETH\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"WETH\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountADesired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBDesired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountAMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"addLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenDesired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"addLiquidityETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveOut\",\"type\":\"uint256\"}],\"name\":\"getAmountIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveOut\",\"type\":\"uint256\"}],\"name\":\"getAmountOut\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"}],\"name\":\"getAmountsIn\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"}],\"name\":\"getAmountsOut\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveB\",\"type\":\"uint256\"}],\"name\":\"quote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountAMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"removeLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"removeLiquidityETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"removeLiquidityETHSupportingFeeOnTransferTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"approveMax\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"removeLiquidityETHWithPermit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"approveMax\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountAMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"approveMax\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"removeLiquidityWithPermit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapETHForExactTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactETHForTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactETHForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForETH\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForETHSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMax\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapTokensForExactETH\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMax\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapTokensForExactTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", +} + +// UniswapV2RouterABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapV2RouterMetaData.ABI instead. +var UniswapV2RouterABI = UniswapV2RouterMetaData.ABI + +// UniswapV2Router is an auto generated Go binding around an Ethereum contract. +type UniswapV2Router struct { + UniswapV2RouterCaller // Read-only binding to the contract + UniswapV2RouterTransactor // Write-only binding to the contract + UniswapV2RouterFilterer // Log filterer for contract events +} + +// UniswapV2RouterCaller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapV2RouterCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV2RouterTransactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapV2RouterTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV2RouterFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapV2RouterFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV2RouterSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapV2RouterSession struct { + Contract *UniswapV2Router // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV2RouterCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapV2RouterCallerSession struct { + Contract *UniswapV2RouterCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapV2RouterTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapV2RouterTransactorSession struct { + Contract *UniswapV2RouterTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV2RouterRaw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapV2RouterRaw struct { + Contract *UniswapV2Router // Generic contract binding to access the raw methods on +} + +// UniswapV2RouterCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapV2RouterCallerRaw struct { + Contract *UniswapV2RouterCaller // Generic read-only contract binding to access the raw methods on +} + +// UniswapV2RouterTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapV2RouterTransactorRaw struct { + Contract *UniswapV2RouterTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapV2Router creates a new instance of UniswapV2Router, bound to a specific deployed contract. +func NewUniswapV2Router(address common.Address, backend bind.ContractBackend) (*UniswapV2Router, error) { + contract, err := bindUniswapV2Router(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapV2Router{UniswapV2RouterCaller: UniswapV2RouterCaller{contract: contract}, UniswapV2RouterTransactor: UniswapV2RouterTransactor{contract: contract}, UniswapV2RouterFilterer: UniswapV2RouterFilterer{contract: contract}}, nil +} + +// NewUniswapV2RouterCaller creates a new read-only instance of UniswapV2Router, bound to a specific deployed contract. +func NewUniswapV2RouterCaller(address common.Address, caller bind.ContractCaller) (*UniswapV2RouterCaller, error) { + contract, err := bindUniswapV2Router(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapV2RouterCaller{contract: contract}, nil +} + +// NewUniswapV2RouterTransactor creates a new write-only instance of UniswapV2Router, bound to a specific deployed contract. +func NewUniswapV2RouterTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV2RouterTransactor, error) { + contract, err := bindUniswapV2Router(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapV2RouterTransactor{contract: contract}, nil +} + +// NewUniswapV2RouterFilterer creates a new log filterer instance of UniswapV2Router, bound to a specific deployed contract. +func NewUniswapV2RouterFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV2RouterFilterer, error) { + contract, err := bindUniswapV2Router(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapV2RouterFilterer{contract: contract}, nil +} + +// bindUniswapV2Router binds a generic wrapper to an already deployed contract. +func bindUniswapV2Router(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapV2RouterABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV2Router *UniswapV2RouterRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV2Router.Contract.UniswapV2RouterCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV2Router *UniswapV2RouterRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV2Router.Contract.UniswapV2RouterTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV2Router *UniswapV2RouterRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV2Router.Contract.UniswapV2RouterTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV2Router *UniswapV2RouterCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV2Router.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV2Router *UniswapV2RouterTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV2Router.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV2Router *UniswapV2RouterTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV2Router.Contract.contract.Transact(opts, method, params...) +} + +// WETH is a free data retrieval call binding the contract method 0xad5c4648. +// +// Solidity: function WETH() view returns(address) +func (_UniswapV2Router *UniswapV2RouterCaller) WETH(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV2Router.contract.Call(opts, &out, "WETH") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// WETH is a free data retrieval call binding the contract method 0xad5c4648. +// +// Solidity: function WETH() view returns(address) +func (_UniswapV2Router *UniswapV2RouterSession) WETH() (common.Address, error) { + return _UniswapV2Router.Contract.WETH(&_UniswapV2Router.CallOpts) +} + +// WETH is a free data retrieval call binding the contract method 0xad5c4648. +// +// Solidity: function WETH() view returns(address) +func (_UniswapV2Router *UniswapV2RouterCallerSession) WETH() (common.Address, error) { + return _UniswapV2Router.Contract.WETH(&_UniswapV2Router.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV2Router *UniswapV2RouterCaller) Factory(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV2Router.contract.Call(opts, &out, "factory") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV2Router *UniswapV2RouterSession) Factory() (common.Address, error) { + return _UniswapV2Router.Contract.Factory(&_UniswapV2Router.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV2Router *UniswapV2RouterCallerSession) Factory() (common.Address, error) { + return _UniswapV2Router.Contract.Factory(&_UniswapV2Router.CallOpts) +} + +// GetAmountIn is a free data retrieval call binding the contract method 0x85f8c259. +// +// Solidity: function getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountIn) +func (_UniswapV2Router *UniswapV2RouterCaller) GetAmountIn(opts *bind.CallOpts, amountOut *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Router.contract.Call(opts, &out, "getAmountIn", amountOut, reserveIn, reserveOut) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// GetAmountIn is a free data retrieval call binding the contract method 0x85f8c259. +// +// Solidity: function getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountIn) +func (_UniswapV2Router *UniswapV2RouterSession) GetAmountIn(amountOut *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) { + return _UniswapV2Router.Contract.GetAmountIn(&_UniswapV2Router.CallOpts, amountOut, reserveIn, reserveOut) +} + +// GetAmountIn is a free data retrieval call binding the contract method 0x85f8c259. +// +// Solidity: function getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountIn) +func (_UniswapV2Router *UniswapV2RouterCallerSession) GetAmountIn(amountOut *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) { + return _UniswapV2Router.Contract.GetAmountIn(&_UniswapV2Router.CallOpts, amountOut, reserveIn, reserveOut) +} + +// GetAmountOut is a free data retrieval call binding the contract method 0x054d50d4. +// +// Solidity: function getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountOut) +func (_UniswapV2Router *UniswapV2RouterCaller) GetAmountOut(opts *bind.CallOpts, amountIn *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Router.contract.Call(opts, &out, "getAmountOut", amountIn, reserveIn, reserveOut) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// GetAmountOut is a free data retrieval call binding the contract method 0x054d50d4. +// +// Solidity: function getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountOut) +func (_UniswapV2Router *UniswapV2RouterSession) GetAmountOut(amountIn *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) { + return _UniswapV2Router.Contract.GetAmountOut(&_UniswapV2Router.CallOpts, amountIn, reserveIn, reserveOut) +} + +// GetAmountOut is a free data retrieval call binding the contract method 0x054d50d4. +// +// Solidity: function getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountOut) +func (_UniswapV2Router *UniswapV2RouterCallerSession) GetAmountOut(amountIn *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) { + return _UniswapV2Router.Contract.GetAmountOut(&_UniswapV2Router.CallOpts, amountIn, reserveIn, reserveOut) +} + +// GetAmountsIn is a free data retrieval call binding the contract method 0x1f00ca74. +// +// Solidity: function getAmountsIn(uint256 amountOut, address[] path) view returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterCaller) GetAmountsIn(opts *bind.CallOpts, amountOut *big.Int, path []common.Address) ([]*big.Int, error) { + var out []interface{} + err := _UniswapV2Router.contract.Call(opts, &out, "getAmountsIn", amountOut, path) + + if err != nil { + return *new([]*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) + + return out0, err + +} + +// GetAmountsIn is a free data retrieval call binding the contract method 0x1f00ca74. +// +// Solidity: function getAmountsIn(uint256 amountOut, address[] path) view returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterSession) GetAmountsIn(amountOut *big.Int, path []common.Address) ([]*big.Int, error) { + return _UniswapV2Router.Contract.GetAmountsIn(&_UniswapV2Router.CallOpts, amountOut, path) +} + +// GetAmountsIn is a free data retrieval call binding the contract method 0x1f00ca74. +// +// Solidity: function getAmountsIn(uint256 amountOut, address[] path) view returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterCallerSession) GetAmountsIn(amountOut *big.Int, path []common.Address) ([]*big.Int, error) { + return _UniswapV2Router.Contract.GetAmountsIn(&_UniswapV2Router.CallOpts, amountOut, path) +} + +// GetAmountsOut is a free data retrieval call binding the contract method 0xd06ca61f. +// +// Solidity: function getAmountsOut(uint256 amountIn, address[] path) view returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterCaller) GetAmountsOut(opts *bind.CallOpts, amountIn *big.Int, path []common.Address) ([]*big.Int, error) { + var out []interface{} + err := _UniswapV2Router.contract.Call(opts, &out, "getAmountsOut", amountIn, path) + + if err != nil { + return *new([]*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) + + return out0, err + +} + +// GetAmountsOut is a free data retrieval call binding the contract method 0xd06ca61f. +// +// Solidity: function getAmountsOut(uint256 amountIn, address[] path) view returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterSession) GetAmountsOut(amountIn *big.Int, path []common.Address) ([]*big.Int, error) { + return _UniswapV2Router.Contract.GetAmountsOut(&_UniswapV2Router.CallOpts, amountIn, path) +} + +// GetAmountsOut is a free data retrieval call binding the contract method 0xd06ca61f. +// +// Solidity: function getAmountsOut(uint256 amountIn, address[] path) view returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterCallerSession) GetAmountsOut(amountIn *big.Int, path []common.Address) ([]*big.Int, error) { + return _UniswapV2Router.Contract.GetAmountsOut(&_UniswapV2Router.CallOpts, amountIn, path) +} + +// Quote is a free data retrieval call binding the contract method 0xad615dec. +// +// Solidity: function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) pure returns(uint256 amountB) +func (_UniswapV2Router *UniswapV2RouterCaller) Quote(opts *bind.CallOpts, amountA *big.Int, reserveA *big.Int, reserveB *big.Int) (*big.Int, error) { + var out []interface{} + err := _UniswapV2Router.contract.Call(opts, &out, "quote", amountA, reserveA, reserveB) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Quote is a free data retrieval call binding the contract method 0xad615dec. +// +// Solidity: function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) pure returns(uint256 amountB) +func (_UniswapV2Router *UniswapV2RouterSession) Quote(amountA *big.Int, reserveA *big.Int, reserveB *big.Int) (*big.Int, error) { + return _UniswapV2Router.Contract.Quote(&_UniswapV2Router.CallOpts, amountA, reserveA, reserveB) +} + +// Quote is a free data retrieval call binding the contract method 0xad615dec. +// +// Solidity: function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) pure returns(uint256 amountB) +func (_UniswapV2Router *UniswapV2RouterCallerSession) Quote(amountA *big.Int, reserveA *big.Int, reserveB *big.Int) (*big.Int, error) { + return _UniswapV2Router.Contract.Quote(&_UniswapV2Router.CallOpts, amountA, reserveA, reserveB) +} + +// AddLiquidity is a paid mutator transaction binding the contract method 0xe8e33700. +// +// Solidity: function addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB, uint256 liquidity) +func (_UniswapV2Router *UniswapV2RouterTransactor) AddLiquidity(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address, amountADesired *big.Int, amountBDesired *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "addLiquidity", tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, to, deadline) +} + +// AddLiquidity is a paid mutator transaction binding the contract method 0xe8e33700. +// +// Solidity: function addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB, uint256 liquidity) +func (_UniswapV2Router *UniswapV2RouterSession) AddLiquidity(tokenA common.Address, tokenB common.Address, amountADesired *big.Int, amountBDesired *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.AddLiquidity(&_UniswapV2Router.TransactOpts, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, to, deadline) +} + +// AddLiquidity is a paid mutator transaction binding the contract method 0xe8e33700. +// +// Solidity: function addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB, uint256 liquidity) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) AddLiquidity(tokenA common.Address, tokenB common.Address, amountADesired *big.Int, amountBDesired *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.AddLiquidity(&_UniswapV2Router.TransactOpts, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, to, deadline) +} + +// AddLiquidityETH is a paid mutator transaction binding the contract method 0xf305d719. +// +// Solidity: function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) payable returns(uint256 amountToken, uint256 amountETH, uint256 liquidity) +func (_UniswapV2Router *UniswapV2RouterTransactor) AddLiquidityETH(opts *bind.TransactOpts, token common.Address, amountTokenDesired *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "addLiquidityETH", token, amountTokenDesired, amountTokenMin, amountETHMin, to, deadline) +} + +// AddLiquidityETH is a paid mutator transaction binding the contract method 0xf305d719. +// +// Solidity: function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) payable returns(uint256 amountToken, uint256 amountETH, uint256 liquidity) +func (_UniswapV2Router *UniswapV2RouterSession) AddLiquidityETH(token common.Address, amountTokenDesired *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.AddLiquidityETH(&_UniswapV2Router.TransactOpts, token, amountTokenDesired, amountTokenMin, amountETHMin, to, deadline) +} + +// AddLiquidityETH is a paid mutator transaction binding the contract method 0xf305d719. +// +// Solidity: function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) payable returns(uint256 amountToken, uint256 amountETH, uint256 liquidity) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) AddLiquidityETH(token common.Address, amountTokenDesired *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.AddLiquidityETH(&_UniswapV2Router.TransactOpts, token, amountTokenDesired, amountTokenMin, amountETHMin, to, deadline) +} + +// RemoveLiquidity is a paid mutator transaction binding the contract method 0xbaa2abde. +// +// Solidity: function removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB) +func (_UniswapV2Router *UniswapV2RouterTransactor) RemoveLiquidity(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "removeLiquidity", tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline) +} + +// RemoveLiquidity is a paid mutator transaction binding the contract method 0xbaa2abde. +// +// Solidity: function removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB) +func (_UniswapV2Router *UniswapV2RouterSession) RemoveLiquidity(tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidity(&_UniswapV2Router.TransactOpts, tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline) +} + +// RemoveLiquidity is a paid mutator transaction binding the contract method 0xbaa2abde. +// +// Solidity: function removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) RemoveLiquidity(tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidity(&_UniswapV2Router.TransactOpts, tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline) +} + +// RemoveLiquidityETH is a paid mutator transaction binding the contract method 0x02751cec. +// +// Solidity: function removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountToken, uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterTransactor) RemoveLiquidityETH(opts *bind.TransactOpts, token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "removeLiquidityETH", token, liquidity, amountTokenMin, amountETHMin, to, deadline) +} + +// RemoveLiquidityETH is a paid mutator transaction binding the contract method 0x02751cec. +// +// Solidity: function removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountToken, uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterSession) RemoveLiquidityETH(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityETH(&_UniswapV2Router.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline) +} + +// RemoveLiquidityETH is a paid mutator transaction binding the contract method 0x02751cec. +// +// Solidity: function removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountToken, uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) RemoveLiquidityETH(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityETH(&_UniswapV2Router.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline) +} + +// RemoveLiquidityETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xaf2979eb. +// +// Solidity: function removeLiquidityETHSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterTransactor) RemoveLiquidityETHSupportingFeeOnTransferTokens(opts *bind.TransactOpts, token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "removeLiquidityETHSupportingFeeOnTransferTokens", token, liquidity, amountTokenMin, amountETHMin, to, deadline) +} + +// RemoveLiquidityETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xaf2979eb. +// +// Solidity: function removeLiquidityETHSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterSession) RemoveLiquidityETHSupportingFeeOnTransferTokens(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityETHSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline) +} + +// RemoveLiquidityETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xaf2979eb. +// +// Solidity: function removeLiquidityETHSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) RemoveLiquidityETHSupportingFeeOnTransferTokens(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityETHSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline) +} + +// RemoveLiquidityETHWithPermit is a paid mutator transaction binding the contract method 0xded9382a. +// +// Solidity: function removeLiquidityETHWithPermit(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountToken, uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterTransactor) RemoveLiquidityETHWithPermit(opts *bind.TransactOpts, token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "removeLiquidityETHWithPermit", token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s) +} + +// RemoveLiquidityETHWithPermit is a paid mutator transaction binding the contract method 0xded9382a. +// +// Solidity: function removeLiquidityETHWithPermit(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountToken, uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterSession) RemoveLiquidityETHWithPermit(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityETHWithPermit(&_UniswapV2Router.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s) +} + +// RemoveLiquidityETHWithPermit is a paid mutator transaction binding the contract method 0xded9382a. +// +// Solidity: function removeLiquidityETHWithPermit(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountToken, uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) RemoveLiquidityETHWithPermit(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityETHWithPermit(&_UniswapV2Router.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s) +} + +// RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5b0d5984. +// +// Solidity: function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterTransactor) RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(opts *bind.TransactOpts, token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s) +} + +// RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5b0d5984. +// +// Solidity: function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterSession) RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s) +} + +// RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5b0d5984. +// +// Solidity: function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountETH) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s) +} + +// RemoveLiquidityWithPermit is a paid mutator transaction binding the contract method 0x2195995c. +// +// Solidity: function removeLiquidityWithPermit(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountA, uint256 amountB) +func (_UniswapV2Router *UniswapV2RouterTransactor) RemoveLiquidityWithPermit(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "removeLiquidityWithPermit", tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline, approveMax, v, r, s) +} + +// RemoveLiquidityWithPermit is a paid mutator transaction binding the contract method 0x2195995c. +// +// Solidity: function removeLiquidityWithPermit(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountA, uint256 amountB) +func (_UniswapV2Router *UniswapV2RouterSession) RemoveLiquidityWithPermit(tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityWithPermit(&_UniswapV2Router.TransactOpts, tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline, approveMax, v, r, s) +} + +// RemoveLiquidityWithPermit is a paid mutator transaction binding the contract method 0x2195995c. +// +// Solidity: function removeLiquidityWithPermit(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountA, uint256 amountB) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) RemoveLiquidityWithPermit(tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV2Router.Contract.RemoveLiquidityWithPermit(&_UniswapV2Router.TransactOpts, tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline, approveMax, v, r, s) +} + +// SwapETHForExactTokens is a paid mutator transaction binding the contract method 0xfb3bdb41. +// +// Solidity: function swapETHForExactTokens(uint256 amountOut, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactor) SwapETHForExactTokens(opts *bind.TransactOpts, amountOut *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "swapETHForExactTokens", amountOut, path, to, deadline) +} + +// SwapETHForExactTokens is a paid mutator transaction binding the contract method 0xfb3bdb41. +// +// Solidity: function swapETHForExactTokens(uint256 amountOut, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterSession) SwapETHForExactTokens(amountOut *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapETHForExactTokens(&_UniswapV2Router.TransactOpts, amountOut, path, to, deadline) +} + +// SwapETHForExactTokens is a paid mutator transaction binding the contract method 0xfb3bdb41. +// +// Solidity: function swapETHForExactTokens(uint256 amountOut, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) SwapETHForExactTokens(amountOut *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapETHForExactTokens(&_UniswapV2Router.TransactOpts, amountOut, path, to, deadline) +} + +// SwapExactETHForTokens is a paid mutator transaction binding the contract method 0x7ff36ab5. +// +// Solidity: function swapExactETHForTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactor) SwapExactETHForTokens(opts *bind.TransactOpts, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "swapExactETHForTokens", amountOutMin, path, to, deadline) +} + +// SwapExactETHForTokens is a paid mutator transaction binding the contract method 0x7ff36ab5. +// +// Solidity: function swapExactETHForTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterSession) SwapExactETHForTokens(amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactETHForTokens(&_UniswapV2Router.TransactOpts, amountOutMin, path, to, deadline) +} + +// SwapExactETHForTokens is a paid mutator transaction binding the contract method 0x7ff36ab5. +// +// Solidity: function swapExactETHForTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) SwapExactETHForTokens(amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactETHForTokens(&_UniswapV2Router.TransactOpts, amountOutMin, path, to, deadline) +} + +// SwapExactETHForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xb6f9de95. +// +// Solidity: function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns() +func (_UniswapV2Router *UniswapV2RouterTransactor) SwapExactETHForTokensSupportingFeeOnTransferTokens(opts *bind.TransactOpts, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "swapExactETHForTokensSupportingFeeOnTransferTokens", amountOutMin, path, to, deadline) +} + +// SwapExactETHForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xb6f9de95. +// +// Solidity: function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns() +func (_UniswapV2Router *UniswapV2RouterSession) SwapExactETHForTokensSupportingFeeOnTransferTokens(amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactETHForTokensSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, amountOutMin, path, to, deadline) +} + +// SwapExactETHForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xb6f9de95. +// +// Solidity: function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns() +func (_UniswapV2Router *UniswapV2RouterTransactorSession) SwapExactETHForTokensSupportingFeeOnTransferTokens(amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactETHForTokensSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForETH is a paid mutator transaction binding the contract method 0x18cbafe5. +// +// Solidity: function swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactor) SwapExactTokensForETH(opts *bind.TransactOpts, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "swapExactTokensForETH", amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForETH is a paid mutator transaction binding the contract method 0x18cbafe5. +// +// Solidity: function swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterSession) SwapExactTokensForETH(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactTokensForETH(&_UniswapV2Router.TransactOpts, amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForETH is a paid mutator transaction binding the contract method 0x18cbafe5. +// +// Solidity: function swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) SwapExactTokensForETH(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactTokensForETH(&_UniswapV2Router.TransactOpts, amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x791ac947. +// +// Solidity: function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns() +func (_UniswapV2Router *UniswapV2RouterTransactor) SwapExactTokensForETHSupportingFeeOnTransferTokens(opts *bind.TransactOpts, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "swapExactTokensForETHSupportingFeeOnTransferTokens", amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x791ac947. +// +// Solidity: function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns() +func (_UniswapV2Router *UniswapV2RouterSession) SwapExactTokensForETHSupportingFeeOnTransferTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactTokensForETHSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x791ac947. +// +// Solidity: function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns() +func (_UniswapV2Router *UniswapV2RouterTransactorSession) SwapExactTokensForETHSupportingFeeOnTransferTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactTokensForETHSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForTokens is a paid mutator transaction binding the contract method 0x38ed1739. +// +// Solidity: function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactor) SwapExactTokensForTokens(opts *bind.TransactOpts, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "swapExactTokensForTokens", amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForTokens is a paid mutator transaction binding the contract method 0x38ed1739. +// +// Solidity: function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterSession) SwapExactTokensForTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactTokensForTokens(&_UniswapV2Router.TransactOpts, amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForTokens is a paid mutator transaction binding the contract method 0x38ed1739. +// +// Solidity: function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) SwapExactTokensForTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactTokensForTokens(&_UniswapV2Router.TransactOpts, amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5c11d795. +// +// Solidity: function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns() +func (_UniswapV2Router *UniswapV2RouterTransactor) SwapExactTokensForTokensSupportingFeeOnTransferTokens(opts *bind.TransactOpts, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "swapExactTokensForTokensSupportingFeeOnTransferTokens", amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5c11d795. +// +// Solidity: function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns() +func (_UniswapV2Router *UniswapV2RouterSession) SwapExactTokensForTokensSupportingFeeOnTransferTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactTokensForTokensSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, amountIn, amountOutMin, path, to, deadline) +} + +// SwapExactTokensForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5c11d795. +// +// Solidity: function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns() +func (_UniswapV2Router *UniswapV2RouterTransactorSession) SwapExactTokensForTokensSupportingFeeOnTransferTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapExactTokensForTokensSupportingFeeOnTransferTokens(&_UniswapV2Router.TransactOpts, amountIn, amountOutMin, path, to, deadline) +} + +// SwapTokensForExactETH is a paid mutator transaction binding the contract method 0x4a25d94a. +// +// Solidity: function swapTokensForExactETH(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactor) SwapTokensForExactETH(opts *bind.TransactOpts, amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "swapTokensForExactETH", amountOut, amountInMax, path, to, deadline) +} + +// SwapTokensForExactETH is a paid mutator transaction binding the contract method 0x4a25d94a. +// +// Solidity: function swapTokensForExactETH(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterSession) SwapTokensForExactETH(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapTokensForExactETH(&_UniswapV2Router.TransactOpts, amountOut, amountInMax, path, to, deadline) +} + +// SwapTokensForExactETH is a paid mutator transaction binding the contract method 0x4a25d94a. +// +// Solidity: function swapTokensForExactETH(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) SwapTokensForExactETH(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapTokensForExactETH(&_UniswapV2Router.TransactOpts, amountOut, amountInMax, path, to, deadline) +} + +// SwapTokensForExactTokens is a paid mutator transaction binding the contract method 0x8803dbee. +// +// Solidity: function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactor) SwapTokensForExactTokens(opts *bind.TransactOpts, amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.contract.Transact(opts, "swapTokensForExactTokens", amountOut, amountInMax, path, to, deadline) +} + +// SwapTokensForExactTokens is a paid mutator transaction binding the contract method 0x8803dbee. +// +// Solidity: function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterSession) SwapTokensForExactTokens(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapTokensForExactTokens(&_UniswapV2Router.TransactOpts, amountOut, amountInMax, path, to, deadline) +} + +// SwapTokensForExactTokens is a paid mutator transaction binding the contract method 0x8803dbee. +// +// Solidity: function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts) +func (_UniswapV2Router *UniswapV2RouterTransactorSession) SwapTokensForExactTokens(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) { + return _UniswapV2Router.Contract.SwapTokensForExactTokens(&_UniswapV2Router.TransactOpts, amountOut, amountInMax, path, to, deadline) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapV2Router *UniswapV2RouterTransactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV2Router.contract.RawTransact(opts, nil) // calldata is disallowed for receive function +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapV2Router *UniswapV2RouterSession) Receive() (*types.Transaction, error) { + return _UniswapV2Router.Contract.Receive(&_UniswapV2Router.TransactOpts) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapV2Router *UniswapV2RouterTransactorSession) Receive() (*types.Transaction, error) { + return _UniswapV2Router.Contract.Receive(&_UniswapV2Router.TransactOpts) +} diff --git a/bindings/uniswapv3factory/uniswapv3factory.go b/bindings/uniswapv3factory/uniswapv3factory.go new file mode 100644 index 00000000..041bc14b --- /dev/null +++ b/bindings/uniswapv3factory/uniswapv3factory.go @@ -0,0 +1,866 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapv3factory + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// UniswapV3FactoryMetaData contains all meta data concerning the UniswapV3Factory contract. +var UniswapV3FactoryMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"name\":\"FeeAmountEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"name\":\"enableFeeAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"name\":\"feeAmountTickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"name\":\"getPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"parameters\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", +} + +// UniswapV3FactoryABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapV3FactoryMetaData.ABI instead. +var UniswapV3FactoryABI = UniswapV3FactoryMetaData.ABI + +// UniswapV3Factory is an auto generated Go binding around an Ethereum contract. +type UniswapV3Factory struct { + UniswapV3FactoryCaller // Read-only binding to the contract + UniswapV3FactoryTransactor // Write-only binding to the contract + UniswapV3FactoryFilterer // Log filterer for contract events +} + +// UniswapV3FactoryCaller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapV3FactoryCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3FactoryTransactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapV3FactoryTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3FactoryFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapV3FactoryFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3FactorySession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapV3FactorySession struct { + Contract *UniswapV3Factory // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3FactoryCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapV3FactoryCallerSession struct { + Contract *UniswapV3FactoryCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapV3FactoryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapV3FactoryTransactorSession struct { + Contract *UniswapV3FactoryTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3FactoryRaw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapV3FactoryRaw struct { + Contract *UniswapV3Factory // Generic contract binding to access the raw methods on +} + +// UniswapV3FactoryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapV3FactoryCallerRaw struct { + Contract *UniswapV3FactoryCaller // Generic read-only contract binding to access the raw methods on +} + +// UniswapV3FactoryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapV3FactoryTransactorRaw struct { + Contract *UniswapV3FactoryTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapV3Factory creates a new instance of UniswapV3Factory, bound to a specific deployed contract. +func NewUniswapV3Factory(address common.Address, backend bind.ContractBackend) (*UniswapV3Factory, error) { + contract, err := bindUniswapV3Factory(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapV3Factory{UniswapV3FactoryCaller: UniswapV3FactoryCaller{contract: contract}, UniswapV3FactoryTransactor: UniswapV3FactoryTransactor{contract: contract}, UniswapV3FactoryFilterer: UniswapV3FactoryFilterer{contract: contract}}, nil +} + +// NewUniswapV3FactoryCaller creates a new read-only instance of UniswapV3Factory, bound to a specific deployed contract. +func NewUniswapV3FactoryCaller(address common.Address, caller bind.ContractCaller) (*UniswapV3FactoryCaller, error) { + contract, err := bindUniswapV3Factory(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapV3FactoryCaller{contract: contract}, nil +} + +// NewUniswapV3FactoryTransactor creates a new write-only instance of UniswapV3Factory, bound to a specific deployed contract. +func NewUniswapV3FactoryTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV3FactoryTransactor, error) { + contract, err := bindUniswapV3Factory(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapV3FactoryTransactor{contract: contract}, nil +} + +// NewUniswapV3FactoryFilterer creates a new log filterer instance of UniswapV3Factory, bound to a specific deployed contract. +func NewUniswapV3FactoryFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV3FactoryFilterer, error) { + contract, err := bindUniswapV3Factory(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapV3FactoryFilterer{contract: contract}, nil +} + +// bindUniswapV3Factory binds a generic wrapper to an already deployed contract. +func bindUniswapV3Factory(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapV3FactoryABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Factory *UniswapV3FactoryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Factory.Contract.UniswapV3FactoryCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Factory *UniswapV3FactoryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.UniswapV3FactoryTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Factory *UniswapV3FactoryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.UniswapV3FactoryTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Factory *UniswapV3FactoryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Factory.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Factory *UniswapV3FactoryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Factory *UniswapV3FactoryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.contract.Transact(opts, method, params...) +} + +// FeeAmountTickSpacing is a free data retrieval call binding the contract method 0x22afcccb. +// +// Solidity: function feeAmountTickSpacing(uint24 ) view returns(int24) +func (_UniswapV3Factory *UniswapV3FactoryCaller) FeeAmountTickSpacing(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { + var out []interface{} + err := _UniswapV3Factory.contract.Call(opts, &out, "feeAmountTickSpacing", arg0) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// FeeAmountTickSpacing is a free data retrieval call binding the contract method 0x22afcccb. +// +// Solidity: function feeAmountTickSpacing(uint24 ) view returns(int24) +func (_UniswapV3Factory *UniswapV3FactorySession) FeeAmountTickSpacing(arg0 *big.Int) (*big.Int, error) { + return _UniswapV3Factory.Contract.FeeAmountTickSpacing(&_UniswapV3Factory.CallOpts, arg0) +} + +// FeeAmountTickSpacing is a free data retrieval call binding the contract method 0x22afcccb. +// +// Solidity: function feeAmountTickSpacing(uint24 ) view returns(int24) +func (_UniswapV3Factory *UniswapV3FactoryCallerSession) FeeAmountTickSpacing(arg0 *big.Int) (*big.Int, error) { + return _UniswapV3Factory.Contract.FeeAmountTickSpacing(&_UniswapV3Factory.CallOpts, arg0) +} + +// GetPool is a free data retrieval call binding the contract method 0x1698ee82. +// +// Solidity: function getPool(address , address , uint24 ) view returns(address) +func (_UniswapV3Factory *UniswapV3FactoryCaller) GetPool(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int) (common.Address, error) { + var out []interface{} + err := _UniswapV3Factory.contract.Call(opts, &out, "getPool", arg0, arg1, arg2) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GetPool is a free data retrieval call binding the contract method 0x1698ee82. +// +// Solidity: function getPool(address , address , uint24 ) view returns(address) +func (_UniswapV3Factory *UniswapV3FactorySession) GetPool(arg0 common.Address, arg1 common.Address, arg2 *big.Int) (common.Address, error) { + return _UniswapV3Factory.Contract.GetPool(&_UniswapV3Factory.CallOpts, arg0, arg1, arg2) +} + +// GetPool is a free data retrieval call binding the contract method 0x1698ee82. +// +// Solidity: function getPool(address , address , uint24 ) view returns(address) +func (_UniswapV3Factory *UniswapV3FactoryCallerSession) GetPool(arg0 common.Address, arg1 common.Address, arg2 *big.Int) (common.Address, error) { + return _UniswapV3Factory.Contract.GetPool(&_UniswapV3Factory.CallOpts, arg0, arg1, arg2) +} + +// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. +// +// Solidity: function owner() view returns(address) +func (_UniswapV3Factory *UniswapV3FactoryCaller) Owner(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Factory.contract.Call(opts, &out, "owner") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. +// +// Solidity: function owner() view returns(address) +func (_UniswapV3Factory *UniswapV3FactorySession) Owner() (common.Address, error) { + return _UniswapV3Factory.Contract.Owner(&_UniswapV3Factory.CallOpts) +} + +// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. +// +// Solidity: function owner() view returns(address) +func (_UniswapV3Factory *UniswapV3FactoryCallerSession) Owner() (common.Address, error) { + return _UniswapV3Factory.Contract.Owner(&_UniswapV3Factory.CallOpts) +} + +// Parameters is a free data retrieval call binding the contract method 0x89035730. +// +// Solidity: function parameters() view returns(address factory, address token0, address token1, uint24 fee, int24 tickSpacing) +func (_UniswapV3Factory *UniswapV3FactoryCaller) Parameters(opts *bind.CallOpts) (struct { + Factory common.Address + Token0 common.Address + Token1 common.Address + Fee *big.Int + TickSpacing *big.Int +}, error) { + var out []interface{} + err := _UniswapV3Factory.contract.Call(opts, &out, "parameters") + + outstruct := new(struct { + Factory common.Address + Token0 common.Address + Token1 common.Address + Fee *big.Int + TickSpacing *big.Int + }) + if err != nil { + return *outstruct, err + } + + outstruct.Factory = *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + outstruct.Token0 = *abi.ConvertType(out[1], new(common.Address)).(*common.Address) + outstruct.Token1 = *abi.ConvertType(out[2], new(common.Address)).(*common.Address) + outstruct.Fee = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) + outstruct.TickSpacing = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) + + return *outstruct, err + +} + +// Parameters is a free data retrieval call binding the contract method 0x89035730. +// +// Solidity: function parameters() view returns(address factory, address token0, address token1, uint24 fee, int24 tickSpacing) +func (_UniswapV3Factory *UniswapV3FactorySession) Parameters() (struct { + Factory common.Address + Token0 common.Address + Token1 common.Address + Fee *big.Int + TickSpacing *big.Int +}, error) { + return _UniswapV3Factory.Contract.Parameters(&_UniswapV3Factory.CallOpts) +} + +// Parameters is a free data retrieval call binding the contract method 0x89035730. +// +// Solidity: function parameters() view returns(address factory, address token0, address token1, uint24 fee, int24 tickSpacing) +func (_UniswapV3Factory *UniswapV3FactoryCallerSession) Parameters() (struct { + Factory common.Address + Token0 common.Address + Token1 common.Address + Fee *big.Int + TickSpacing *big.Int +}, error) { + return _UniswapV3Factory.Contract.Parameters(&_UniswapV3Factory.CallOpts) +} + +// CreatePool is a paid mutator transaction binding the contract method 0xa1671295. +// +// Solidity: function createPool(address tokenA, address tokenB, uint24 fee) returns(address pool) +func (_UniswapV3Factory *UniswapV3FactoryTransactor) CreatePool(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address, fee *big.Int) (*types.Transaction, error) { + return _UniswapV3Factory.contract.Transact(opts, "createPool", tokenA, tokenB, fee) +} + +// CreatePool is a paid mutator transaction binding the contract method 0xa1671295. +// +// Solidity: function createPool(address tokenA, address tokenB, uint24 fee) returns(address pool) +func (_UniswapV3Factory *UniswapV3FactorySession) CreatePool(tokenA common.Address, tokenB common.Address, fee *big.Int) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.CreatePool(&_UniswapV3Factory.TransactOpts, tokenA, tokenB, fee) +} + +// CreatePool is a paid mutator transaction binding the contract method 0xa1671295. +// +// Solidity: function createPool(address tokenA, address tokenB, uint24 fee) returns(address pool) +func (_UniswapV3Factory *UniswapV3FactoryTransactorSession) CreatePool(tokenA common.Address, tokenB common.Address, fee *big.Int) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.CreatePool(&_UniswapV3Factory.TransactOpts, tokenA, tokenB, fee) +} + +// EnableFeeAmount is a paid mutator transaction binding the contract method 0x8a7c195f. +// +// Solidity: function enableFeeAmount(uint24 fee, int24 tickSpacing) returns() +func (_UniswapV3Factory *UniswapV3FactoryTransactor) EnableFeeAmount(opts *bind.TransactOpts, fee *big.Int, tickSpacing *big.Int) (*types.Transaction, error) { + return _UniswapV3Factory.contract.Transact(opts, "enableFeeAmount", fee, tickSpacing) +} + +// EnableFeeAmount is a paid mutator transaction binding the contract method 0x8a7c195f. +// +// Solidity: function enableFeeAmount(uint24 fee, int24 tickSpacing) returns() +func (_UniswapV3Factory *UniswapV3FactorySession) EnableFeeAmount(fee *big.Int, tickSpacing *big.Int) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.EnableFeeAmount(&_UniswapV3Factory.TransactOpts, fee, tickSpacing) +} + +// EnableFeeAmount is a paid mutator transaction binding the contract method 0x8a7c195f. +// +// Solidity: function enableFeeAmount(uint24 fee, int24 tickSpacing) returns() +func (_UniswapV3Factory *UniswapV3FactoryTransactorSession) EnableFeeAmount(fee *big.Int, tickSpacing *big.Int) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.EnableFeeAmount(&_UniswapV3Factory.TransactOpts, fee, tickSpacing) +} + +// SetOwner is a paid mutator transaction binding the contract method 0x13af4035. +// +// Solidity: function setOwner(address _owner) returns() +func (_UniswapV3Factory *UniswapV3FactoryTransactor) SetOwner(opts *bind.TransactOpts, _owner common.Address) (*types.Transaction, error) { + return _UniswapV3Factory.contract.Transact(opts, "setOwner", _owner) +} + +// SetOwner is a paid mutator transaction binding the contract method 0x13af4035. +// +// Solidity: function setOwner(address _owner) returns() +func (_UniswapV3Factory *UniswapV3FactorySession) SetOwner(_owner common.Address) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.SetOwner(&_UniswapV3Factory.TransactOpts, _owner) +} + +// SetOwner is a paid mutator transaction binding the contract method 0x13af4035. +// +// Solidity: function setOwner(address _owner) returns() +func (_UniswapV3Factory *UniswapV3FactoryTransactorSession) SetOwner(_owner common.Address) (*types.Transaction, error) { + return _UniswapV3Factory.Contract.SetOwner(&_UniswapV3Factory.TransactOpts, _owner) +} + +// UniswapV3FactoryFeeAmountEnabledIterator is returned from FilterFeeAmountEnabled and is used to iterate over the raw logs and unpacked data for FeeAmountEnabled events raised by the UniswapV3Factory contract. +type UniswapV3FactoryFeeAmountEnabledIterator struct { + Event *UniswapV3FactoryFeeAmountEnabled // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3FactoryFeeAmountEnabledIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3FactoryFeeAmountEnabled) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3FactoryFeeAmountEnabled) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3FactoryFeeAmountEnabledIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3FactoryFeeAmountEnabledIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3FactoryFeeAmountEnabled represents a FeeAmountEnabled event raised by the UniswapV3Factory contract. +type UniswapV3FactoryFeeAmountEnabled struct { + Fee *big.Int + TickSpacing *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterFeeAmountEnabled is a free log retrieval operation binding the contract event 0xc66a3fdf07232cdd185febcc6579d408c241b47ae2f9907d84be655141eeaecc. +// +// Solidity: event FeeAmountEnabled(uint24 indexed fee, int24 indexed tickSpacing) +func (_UniswapV3Factory *UniswapV3FactoryFilterer) FilterFeeAmountEnabled(opts *bind.FilterOpts, fee []*big.Int, tickSpacing []*big.Int) (*UniswapV3FactoryFeeAmountEnabledIterator, error) { + + var feeRule []interface{} + for _, feeItem := range fee { + feeRule = append(feeRule, feeItem) + } + var tickSpacingRule []interface{} + for _, tickSpacingItem := range tickSpacing { + tickSpacingRule = append(tickSpacingRule, tickSpacingItem) + } + + logs, sub, err := _UniswapV3Factory.contract.FilterLogs(opts, "FeeAmountEnabled", feeRule, tickSpacingRule) + if err != nil { + return nil, err + } + return &UniswapV3FactoryFeeAmountEnabledIterator{contract: _UniswapV3Factory.contract, event: "FeeAmountEnabled", logs: logs, sub: sub}, nil +} + +// WatchFeeAmountEnabled is a free log subscription operation binding the contract event 0xc66a3fdf07232cdd185febcc6579d408c241b47ae2f9907d84be655141eeaecc. +// +// Solidity: event FeeAmountEnabled(uint24 indexed fee, int24 indexed tickSpacing) +func (_UniswapV3Factory *UniswapV3FactoryFilterer) WatchFeeAmountEnabled(opts *bind.WatchOpts, sink chan<- *UniswapV3FactoryFeeAmountEnabled, fee []*big.Int, tickSpacing []*big.Int) (event.Subscription, error) { + + var feeRule []interface{} + for _, feeItem := range fee { + feeRule = append(feeRule, feeItem) + } + var tickSpacingRule []interface{} + for _, tickSpacingItem := range tickSpacing { + tickSpacingRule = append(tickSpacingRule, tickSpacingItem) + } + + logs, sub, err := _UniswapV3Factory.contract.WatchLogs(opts, "FeeAmountEnabled", feeRule, tickSpacingRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3FactoryFeeAmountEnabled) + if err := _UniswapV3Factory.contract.UnpackLog(event, "FeeAmountEnabled", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseFeeAmountEnabled is a log parse operation binding the contract event 0xc66a3fdf07232cdd185febcc6579d408c241b47ae2f9907d84be655141eeaecc. +// +// Solidity: event FeeAmountEnabled(uint24 indexed fee, int24 indexed tickSpacing) +func (_UniswapV3Factory *UniswapV3FactoryFilterer) ParseFeeAmountEnabled(log types.Log) (*UniswapV3FactoryFeeAmountEnabled, error) { + event := new(UniswapV3FactoryFeeAmountEnabled) + if err := _UniswapV3Factory.contract.UnpackLog(event, "FeeAmountEnabled", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3FactoryOwnerChangedIterator is returned from FilterOwnerChanged and is used to iterate over the raw logs and unpacked data for OwnerChanged events raised by the UniswapV3Factory contract. +type UniswapV3FactoryOwnerChangedIterator struct { + Event *UniswapV3FactoryOwnerChanged // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3FactoryOwnerChangedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3FactoryOwnerChanged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3FactoryOwnerChanged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3FactoryOwnerChangedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3FactoryOwnerChangedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3FactoryOwnerChanged represents a OwnerChanged event raised by the UniswapV3Factory contract. +type UniswapV3FactoryOwnerChanged struct { + OldOwner common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOwnerChanged is a free log retrieval operation binding the contract event 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c. +// +// Solidity: event OwnerChanged(address indexed oldOwner, address indexed newOwner) +func (_UniswapV3Factory *UniswapV3FactoryFilterer) FilterOwnerChanged(opts *bind.FilterOpts, oldOwner []common.Address, newOwner []common.Address) (*UniswapV3FactoryOwnerChangedIterator, error) { + + var oldOwnerRule []interface{} + for _, oldOwnerItem := range oldOwner { + oldOwnerRule = append(oldOwnerRule, oldOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _UniswapV3Factory.contract.FilterLogs(opts, "OwnerChanged", oldOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return &UniswapV3FactoryOwnerChangedIterator{contract: _UniswapV3Factory.contract, event: "OwnerChanged", logs: logs, sub: sub}, nil +} + +// WatchOwnerChanged is a free log subscription operation binding the contract event 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c. +// +// Solidity: event OwnerChanged(address indexed oldOwner, address indexed newOwner) +func (_UniswapV3Factory *UniswapV3FactoryFilterer) WatchOwnerChanged(opts *bind.WatchOpts, sink chan<- *UniswapV3FactoryOwnerChanged, oldOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { + + var oldOwnerRule []interface{} + for _, oldOwnerItem := range oldOwner { + oldOwnerRule = append(oldOwnerRule, oldOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _UniswapV3Factory.contract.WatchLogs(opts, "OwnerChanged", oldOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3FactoryOwnerChanged) + if err := _UniswapV3Factory.contract.UnpackLog(event, "OwnerChanged", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseOwnerChanged is a log parse operation binding the contract event 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c. +// +// Solidity: event OwnerChanged(address indexed oldOwner, address indexed newOwner) +func (_UniswapV3Factory *UniswapV3FactoryFilterer) ParseOwnerChanged(log types.Log) (*UniswapV3FactoryOwnerChanged, error) { + event := new(UniswapV3FactoryOwnerChanged) + if err := _UniswapV3Factory.contract.UnpackLog(event, "OwnerChanged", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3FactoryPoolCreatedIterator is returned from FilterPoolCreated and is used to iterate over the raw logs and unpacked data for PoolCreated events raised by the UniswapV3Factory contract. +type UniswapV3FactoryPoolCreatedIterator struct { + Event *UniswapV3FactoryPoolCreated // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3FactoryPoolCreatedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3FactoryPoolCreated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3FactoryPoolCreated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3FactoryPoolCreatedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3FactoryPoolCreatedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3FactoryPoolCreated represents a PoolCreated event raised by the UniswapV3Factory contract. +type UniswapV3FactoryPoolCreated struct { + Token0 common.Address + Token1 common.Address + Fee *big.Int + TickSpacing *big.Int + Pool common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterPoolCreated is a free log retrieval operation binding the contract event 0x783cca1c0412dd0d695e784568c96da2e9c22ff989357a2e8b1d9b2b4e6b7118. +// +// Solidity: event PoolCreated(address indexed token0, address indexed token1, uint24 indexed fee, int24 tickSpacing, address pool) +func (_UniswapV3Factory *UniswapV3FactoryFilterer) FilterPoolCreated(opts *bind.FilterOpts, token0 []common.Address, token1 []common.Address, fee []*big.Int) (*UniswapV3FactoryPoolCreatedIterator, error) { + + var token0Rule []interface{} + for _, token0Item := range token0 { + token0Rule = append(token0Rule, token0Item) + } + var token1Rule []interface{} + for _, token1Item := range token1 { + token1Rule = append(token1Rule, token1Item) + } + var feeRule []interface{} + for _, feeItem := range fee { + feeRule = append(feeRule, feeItem) + } + + logs, sub, err := _UniswapV3Factory.contract.FilterLogs(opts, "PoolCreated", token0Rule, token1Rule, feeRule) + if err != nil { + return nil, err + } + return &UniswapV3FactoryPoolCreatedIterator{contract: _UniswapV3Factory.contract, event: "PoolCreated", logs: logs, sub: sub}, nil +} + +// WatchPoolCreated is a free log subscription operation binding the contract event 0x783cca1c0412dd0d695e784568c96da2e9c22ff989357a2e8b1d9b2b4e6b7118. +// +// Solidity: event PoolCreated(address indexed token0, address indexed token1, uint24 indexed fee, int24 tickSpacing, address pool) +func (_UniswapV3Factory *UniswapV3FactoryFilterer) WatchPoolCreated(opts *bind.WatchOpts, sink chan<- *UniswapV3FactoryPoolCreated, token0 []common.Address, token1 []common.Address, fee []*big.Int) (event.Subscription, error) { + + var token0Rule []interface{} + for _, token0Item := range token0 { + token0Rule = append(token0Rule, token0Item) + } + var token1Rule []interface{} + for _, token1Item := range token1 { + token1Rule = append(token1Rule, token1Item) + } + var feeRule []interface{} + for _, feeItem := range fee { + feeRule = append(feeRule, feeItem) + } + + logs, sub, err := _UniswapV3Factory.contract.WatchLogs(opts, "PoolCreated", token0Rule, token1Rule, feeRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3FactoryPoolCreated) + if err := _UniswapV3Factory.contract.UnpackLog(event, "PoolCreated", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParsePoolCreated is a log parse operation binding the contract event 0x783cca1c0412dd0d695e784568c96da2e9c22ff989357a2e8b1d9b2b4e6b7118. +// +// Solidity: event PoolCreated(address indexed token0, address indexed token1, uint24 indexed fee, int24 tickSpacing, address pool) +func (_UniswapV3Factory *UniswapV3FactoryFilterer) ParsePoolCreated(log types.Log) (*UniswapV3FactoryPoolCreated, error) { + event := new(UniswapV3FactoryPoolCreated) + if err := _UniswapV3Factory.contract.UnpackLog(event, "PoolCreated", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/uniswapv3pool/uniswapv3pool.go b/bindings/uniswapv3pool/uniswapv3pool.go new file mode 100644 index 00000000..c4e5eaec --- /dev/null +++ b/bindings/uniswapv3pool/uniswapv3pool.go @@ -0,0 +1,2454 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapv3pool + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// UniswapV3PoolMetaData contains all meta data concerning the UniswapV3Pool contract. +var UniswapV3PoolMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"Collect\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"CollectProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid1\",\"type\":\"uint256\"}],\"name\":\"Flash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextOld\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextNew\",\"type\":\"uint16\"}],\"name\":\"IncreaseObservationCardinalityNext\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Initialize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0New\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1New\",\"type\":\"uint8\"}],\"name\":\"SetFeeProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collect\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collectProtocol\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal0X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal1X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"}],\"name\":\"increaseObservationCardinalityNext\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxLiquidityPerTick\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"observations\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"blockTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"int56\",\"name\":\"tickCumulative\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityCumulativeX128\",\"type\":\"uint160\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"secondsAgos\",\"type\":\"uint32[]\"}],\"name\":\"observe\",\"outputs\":[{\"internalType\":\"int56[]\",\"name\":\"tickCumulatives\",\"type\":\"int56[]\"},{\"internalType\":\"uint160[]\",\"name\":\"secondsPerLiquidityCumulativeX128s\",\"type\":\"uint160[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFees\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"token0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"token1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"feeProtocol0\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol1\",\"type\":\"uint8\"}],\"name\":\"setFeeProtocol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slot0\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"observationIndex\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinality\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"unlocked\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"snapshotCumulativesInside\",\"outputs\":[{\"internalType\":\"int56\",\"name\":\"tickCumulativeInside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityInsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsInside\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"amountSpecified\",\"type\":\"int256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"name\":\"tickBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"name\":\"ticks\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidityGross\",\"type\":\"uint128\"},{\"internalType\":\"int128\",\"name\":\"liquidityNet\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside0X128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside1X128\",\"type\":\"uint256\"},{\"internalType\":\"int56\",\"name\":\"tickCumulativeOutside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityOutsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsOutside\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", +} + +// UniswapV3PoolABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapV3PoolMetaData.ABI instead. +var UniswapV3PoolABI = UniswapV3PoolMetaData.ABI + +// UniswapV3Pool is an auto generated Go binding around an Ethereum contract. +type UniswapV3Pool struct { + UniswapV3PoolCaller // Read-only binding to the contract + UniswapV3PoolTransactor // Write-only binding to the contract + UniswapV3PoolFilterer // Log filterer for contract events +} + +// UniswapV3PoolCaller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapV3PoolCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3PoolTransactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapV3PoolTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3PoolFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapV3PoolFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3PoolSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapV3PoolSession struct { + Contract *UniswapV3Pool // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3PoolCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapV3PoolCallerSession struct { + Contract *UniswapV3PoolCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapV3PoolTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapV3PoolTransactorSession struct { + Contract *UniswapV3PoolTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3PoolRaw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapV3PoolRaw struct { + Contract *UniswapV3Pool // Generic contract binding to access the raw methods on +} + +// UniswapV3PoolCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapV3PoolCallerRaw struct { + Contract *UniswapV3PoolCaller // Generic read-only contract binding to access the raw methods on +} + +// UniswapV3PoolTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapV3PoolTransactorRaw struct { + Contract *UniswapV3PoolTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapV3Pool creates a new instance of UniswapV3Pool, bound to a specific deployed contract. +func NewUniswapV3Pool(address common.Address, backend bind.ContractBackend) (*UniswapV3Pool, error) { + contract, err := bindUniswapV3Pool(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapV3Pool{UniswapV3PoolCaller: UniswapV3PoolCaller{contract: contract}, UniswapV3PoolTransactor: UniswapV3PoolTransactor{contract: contract}, UniswapV3PoolFilterer: UniswapV3PoolFilterer{contract: contract}}, nil +} + +// NewUniswapV3PoolCaller creates a new read-only instance of UniswapV3Pool, bound to a specific deployed contract. +func NewUniswapV3PoolCaller(address common.Address, caller bind.ContractCaller) (*UniswapV3PoolCaller, error) { + contract, err := bindUniswapV3Pool(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapV3PoolCaller{contract: contract}, nil +} + +// NewUniswapV3PoolTransactor creates a new write-only instance of UniswapV3Pool, bound to a specific deployed contract. +func NewUniswapV3PoolTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV3PoolTransactor, error) { + contract, err := bindUniswapV3Pool(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapV3PoolTransactor{contract: contract}, nil +} + +// NewUniswapV3PoolFilterer creates a new log filterer instance of UniswapV3Pool, bound to a specific deployed contract. +func NewUniswapV3PoolFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV3PoolFilterer, error) { + contract, err := bindUniswapV3Pool(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapV3PoolFilterer{contract: contract}, nil +} + +// bindUniswapV3Pool binds a generic wrapper to an already deployed contract. +func bindUniswapV3Pool(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapV3PoolABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Pool *UniswapV3PoolRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Pool.Contract.UniswapV3PoolCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Pool *UniswapV3PoolRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.UniswapV3PoolTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Pool *UniswapV3PoolRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.UniswapV3PoolTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Pool *UniswapV3PoolCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Pool.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Pool *UniswapV3PoolTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Pool *UniswapV3PoolTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.contract.Transact(opts, method, params...) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV3Pool *UniswapV3PoolCaller) Factory(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "factory") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV3Pool *UniswapV3PoolSession) Factory() (common.Address, error) { + return _UniswapV3Pool.Contract.Factory(&_UniswapV3Pool.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Factory() (common.Address, error) { + return _UniswapV3Pool.Contract.Factory(&_UniswapV3Pool.CallOpts) +} + +// Fee is a free data retrieval call binding the contract method 0xddca3f43. +// +// Solidity: function fee() view returns(uint24) +func (_UniswapV3Pool *UniswapV3PoolCaller) Fee(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "fee") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Fee is a free data retrieval call binding the contract method 0xddca3f43. +// +// Solidity: function fee() view returns(uint24) +func (_UniswapV3Pool *UniswapV3PoolSession) Fee() (*big.Int, error) { + return _UniswapV3Pool.Contract.Fee(&_UniswapV3Pool.CallOpts) +} + +// Fee is a free data retrieval call binding the contract method 0xddca3f43. +// +// Solidity: function fee() view returns(uint24) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Fee() (*big.Int, error) { + return _UniswapV3Pool.Contract.Fee(&_UniswapV3Pool.CallOpts) +} + +// FeeGrowthGlobal0X128 is a free data retrieval call binding the contract method 0xf3058399. +// +// Solidity: function feeGrowthGlobal0X128() view returns(uint256) +func (_UniswapV3Pool *UniswapV3PoolCaller) FeeGrowthGlobal0X128(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "feeGrowthGlobal0X128") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// FeeGrowthGlobal0X128 is a free data retrieval call binding the contract method 0xf3058399. +// +// Solidity: function feeGrowthGlobal0X128() view returns(uint256) +func (_UniswapV3Pool *UniswapV3PoolSession) FeeGrowthGlobal0X128() (*big.Int, error) { + return _UniswapV3Pool.Contract.FeeGrowthGlobal0X128(&_UniswapV3Pool.CallOpts) +} + +// FeeGrowthGlobal0X128 is a free data retrieval call binding the contract method 0xf3058399. +// +// Solidity: function feeGrowthGlobal0X128() view returns(uint256) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) FeeGrowthGlobal0X128() (*big.Int, error) { + return _UniswapV3Pool.Contract.FeeGrowthGlobal0X128(&_UniswapV3Pool.CallOpts) +} + +// FeeGrowthGlobal1X128 is a free data retrieval call binding the contract method 0x46141319. +// +// Solidity: function feeGrowthGlobal1X128() view returns(uint256) +func (_UniswapV3Pool *UniswapV3PoolCaller) FeeGrowthGlobal1X128(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "feeGrowthGlobal1X128") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// FeeGrowthGlobal1X128 is a free data retrieval call binding the contract method 0x46141319. +// +// Solidity: function feeGrowthGlobal1X128() view returns(uint256) +func (_UniswapV3Pool *UniswapV3PoolSession) FeeGrowthGlobal1X128() (*big.Int, error) { + return _UniswapV3Pool.Contract.FeeGrowthGlobal1X128(&_UniswapV3Pool.CallOpts) +} + +// FeeGrowthGlobal1X128 is a free data retrieval call binding the contract method 0x46141319. +// +// Solidity: function feeGrowthGlobal1X128() view returns(uint256) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) FeeGrowthGlobal1X128() (*big.Int, error) { + return _UniswapV3Pool.Contract.FeeGrowthGlobal1X128(&_UniswapV3Pool.CallOpts) +} + +// Liquidity is a free data retrieval call binding the contract method 0x1a686502. +// +// Solidity: function liquidity() view returns(uint128) +func (_UniswapV3Pool *UniswapV3PoolCaller) Liquidity(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "liquidity") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Liquidity is a free data retrieval call binding the contract method 0x1a686502. +// +// Solidity: function liquidity() view returns(uint128) +func (_UniswapV3Pool *UniswapV3PoolSession) Liquidity() (*big.Int, error) { + return _UniswapV3Pool.Contract.Liquidity(&_UniswapV3Pool.CallOpts) +} + +// Liquidity is a free data retrieval call binding the contract method 0x1a686502. +// +// Solidity: function liquidity() view returns(uint128) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Liquidity() (*big.Int, error) { + return _UniswapV3Pool.Contract.Liquidity(&_UniswapV3Pool.CallOpts) +} + +// MaxLiquidityPerTick is a free data retrieval call binding the contract method 0x70cf754a. +// +// Solidity: function maxLiquidityPerTick() view returns(uint128) +func (_UniswapV3Pool *UniswapV3PoolCaller) MaxLiquidityPerTick(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "maxLiquidityPerTick") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// MaxLiquidityPerTick is a free data retrieval call binding the contract method 0x70cf754a. +// +// Solidity: function maxLiquidityPerTick() view returns(uint128) +func (_UniswapV3Pool *UniswapV3PoolSession) MaxLiquidityPerTick() (*big.Int, error) { + return _UniswapV3Pool.Contract.MaxLiquidityPerTick(&_UniswapV3Pool.CallOpts) +} + +// MaxLiquidityPerTick is a free data retrieval call binding the contract method 0x70cf754a. +// +// Solidity: function maxLiquidityPerTick() view returns(uint128) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) MaxLiquidityPerTick() (*big.Int, error) { + return _UniswapV3Pool.Contract.MaxLiquidityPerTick(&_UniswapV3Pool.CallOpts) +} + +// Observations is a free data retrieval call binding the contract method 0x252c09d7. +// +// Solidity: function observations(uint256 ) view returns(uint32 blockTimestamp, int56 tickCumulative, uint160 secondsPerLiquidityCumulativeX128, bool initialized) +func (_UniswapV3Pool *UniswapV3PoolCaller) Observations(opts *bind.CallOpts, arg0 *big.Int) (struct { + BlockTimestamp uint32 + TickCumulative *big.Int + SecondsPerLiquidityCumulativeX128 *big.Int + Initialized bool +}, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "observations", arg0) + + outstruct := new(struct { + BlockTimestamp uint32 + TickCumulative *big.Int + SecondsPerLiquidityCumulativeX128 *big.Int + Initialized bool + }) + if err != nil { + return *outstruct, err + } + + outstruct.BlockTimestamp = *abi.ConvertType(out[0], new(uint32)).(*uint32) + outstruct.TickCumulative = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.SecondsPerLiquidityCumulativeX128 = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) + outstruct.Initialized = *abi.ConvertType(out[3], new(bool)).(*bool) + + return *outstruct, err + +} + +// Observations is a free data retrieval call binding the contract method 0x252c09d7. +// +// Solidity: function observations(uint256 ) view returns(uint32 blockTimestamp, int56 tickCumulative, uint160 secondsPerLiquidityCumulativeX128, bool initialized) +func (_UniswapV3Pool *UniswapV3PoolSession) Observations(arg0 *big.Int) (struct { + BlockTimestamp uint32 + TickCumulative *big.Int + SecondsPerLiquidityCumulativeX128 *big.Int + Initialized bool +}, error) { + return _UniswapV3Pool.Contract.Observations(&_UniswapV3Pool.CallOpts, arg0) +} + +// Observations is a free data retrieval call binding the contract method 0x252c09d7. +// +// Solidity: function observations(uint256 ) view returns(uint32 blockTimestamp, int56 tickCumulative, uint160 secondsPerLiquidityCumulativeX128, bool initialized) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Observations(arg0 *big.Int) (struct { + BlockTimestamp uint32 + TickCumulative *big.Int + SecondsPerLiquidityCumulativeX128 *big.Int + Initialized bool +}, error) { + return _UniswapV3Pool.Contract.Observations(&_UniswapV3Pool.CallOpts, arg0) +} + +// Observe is a free data retrieval call binding the contract method 0x883bdbfd. +// +// Solidity: function observe(uint32[] secondsAgos) view returns(int56[] tickCumulatives, uint160[] secondsPerLiquidityCumulativeX128s) +func (_UniswapV3Pool *UniswapV3PoolCaller) Observe(opts *bind.CallOpts, secondsAgos []uint32) (struct { + TickCumulatives []*big.Int + SecondsPerLiquidityCumulativeX128s []*big.Int +}, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "observe", secondsAgos) + + outstruct := new(struct { + TickCumulatives []*big.Int + SecondsPerLiquidityCumulativeX128s []*big.Int + }) + if err != nil { + return *outstruct, err + } + + outstruct.TickCumulatives = *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) + outstruct.SecondsPerLiquidityCumulativeX128s = *abi.ConvertType(out[1], new([]*big.Int)).(*[]*big.Int) + + return *outstruct, err + +} + +// Observe is a free data retrieval call binding the contract method 0x883bdbfd. +// +// Solidity: function observe(uint32[] secondsAgos) view returns(int56[] tickCumulatives, uint160[] secondsPerLiquidityCumulativeX128s) +func (_UniswapV3Pool *UniswapV3PoolSession) Observe(secondsAgos []uint32) (struct { + TickCumulatives []*big.Int + SecondsPerLiquidityCumulativeX128s []*big.Int +}, error) { + return _UniswapV3Pool.Contract.Observe(&_UniswapV3Pool.CallOpts, secondsAgos) +} + +// Observe is a free data retrieval call binding the contract method 0x883bdbfd. +// +// Solidity: function observe(uint32[] secondsAgos) view returns(int56[] tickCumulatives, uint160[] secondsPerLiquidityCumulativeX128s) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Observe(secondsAgos []uint32) (struct { + TickCumulatives []*big.Int + SecondsPerLiquidityCumulativeX128s []*big.Int +}, error) { + return _UniswapV3Pool.Contract.Observe(&_UniswapV3Pool.CallOpts, secondsAgos) +} + +// Positions is a free data retrieval call binding the contract method 0x514ea4bf. +// +// Solidity: function positions(bytes32 ) view returns(uint128 liquidity, uint256 feeGrowthInside0LastX128, uint256 feeGrowthInside1LastX128, uint128 tokensOwed0, uint128 tokensOwed1) +func (_UniswapV3Pool *UniswapV3PoolCaller) Positions(opts *bind.CallOpts, arg0 [32]byte) (struct { + Liquidity *big.Int + FeeGrowthInside0LastX128 *big.Int + FeeGrowthInside1LastX128 *big.Int + TokensOwed0 *big.Int + TokensOwed1 *big.Int +}, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "positions", arg0) + + outstruct := new(struct { + Liquidity *big.Int + FeeGrowthInside0LastX128 *big.Int + FeeGrowthInside1LastX128 *big.Int + TokensOwed0 *big.Int + TokensOwed1 *big.Int + }) + if err != nil { + return *outstruct, err + } + + outstruct.Liquidity = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + outstruct.FeeGrowthInside0LastX128 = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.FeeGrowthInside1LastX128 = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) + outstruct.TokensOwed0 = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) + outstruct.TokensOwed1 = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) + + return *outstruct, err + +} + +// Positions is a free data retrieval call binding the contract method 0x514ea4bf. +// +// Solidity: function positions(bytes32 ) view returns(uint128 liquidity, uint256 feeGrowthInside0LastX128, uint256 feeGrowthInside1LastX128, uint128 tokensOwed0, uint128 tokensOwed1) +func (_UniswapV3Pool *UniswapV3PoolSession) Positions(arg0 [32]byte) (struct { + Liquidity *big.Int + FeeGrowthInside0LastX128 *big.Int + FeeGrowthInside1LastX128 *big.Int + TokensOwed0 *big.Int + TokensOwed1 *big.Int +}, error) { + return _UniswapV3Pool.Contract.Positions(&_UniswapV3Pool.CallOpts, arg0) +} + +// Positions is a free data retrieval call binding the contract method 0x514ea4bf. +// +// Solidity: function positions(bytes32 ) view returns(uint128 liquidity, uint256 feeGrowthInside0LastX128, uint256 feeGrowthInside1LastX128, uint128 tokensOwed0, uint128 tokensOwed1) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Positions(arg0 [32]byte) (struct { + Liquidity *big.Int + FeeGrowthInside0LastX128 *big.Int + FeeGrowthInside1LastX128 *big.Int + TokensOwed0 *big.Int + TokensOwed1 *big.Int +}, error) { + return _UniswapV3Pool.Contract.Positions(&_UniswapV3Pool.CallOpts, arg0) +} + +// ProtocolFees is a free data retrieval call binding the contract method 0x1ad8b03b. +// +// Solidity: function protocolFees() view returns(uint128 token0, uint128 token1) +func (_UniswapV3Pool *UniswapV3PoolCaller) ProtocolFees(opts *bind.CallOpts) (struct { + Token0 *big.Int + Token1 *big.Int +}, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "protocolFees") + + outstruct := new(struct { + Token0 *big.Int + Token1 *big.Int + }) + if err != nil { + return *outstruct, err + } + + outstruct.Token0 = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + outstruct.Token1 = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + + return *outstruct, err + +} + +// ProtocolFees is a free data retrieval call binding the contract method 0x1ad8b03b. +// +// Solidity: function protocolFees() view returns(uint128 token0, uint128 token1) +func (_UniswapV3Pool *UniswapV3PoolSession) ProtocolFees() (struct { + Token0 *big.Int + Token1 *big.Int +}, error) { + return _UniswapV3Pool.Contract.ProtocolFees(&_UniswapV3Pool.CallOpts) +} + +// ProtocolFees is a free data retrieval call binding the contract method 0x1ad8b03b. +// +// Solidity: function protocolFees() view returns(uint128 token0, uint128 token1) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) ProtocolFees() (struct { + Token0 *big.Int + Token1 *big.Int +}, error) { + return _UniswapV3Pool.Contract.ProtocolFees(&_UniswapV3Pool.CallOpts) +} + +// Slot0 is a free data retrieval call binding the contract method 0x3850c7bd. +// +// Solidity: function slot0() view returns(uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked) +func (_UniswapV3Pool *UniswapV3PoolCaller) Slot0(opts *bind.CallOpts) (struct { + SqrtPriceX96 *big.Int + Tick *big.Int + ObservationIndex uint16 + ObservationCardinality uint16 + ObservationCardinalityNext uint16 + FeeProtocol uint8 + Unlocked bool +}, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "slot0") + + outstruct := new(struct { + SqrtPriceX96 *big.Int + Tick *big.Int + ObservationIndex uint16 + ObservationCardinality uint16 + ObservationCardinalityNext uint16 + FeeProtocol uint8 + Unlocked bool + }) + if err != nil { + return *outstruct, err + } + + outstruct.SqrtPriceX96 = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + outstruct.Tick = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.ObservationIndex = *abi.ConvertType(out[2], new(uint16)).(*uint16) + outstruct.ObservationCardinality = *abi.ConvertType(out[3], new(uint16)).(*uint16) + outstruct.ObservationCardinalityNext = *abi.ConvertType(out[4], new(uint16)).(*uint16) + outstruct.FeeProtocol = *abi.ConvertType(out[5], new(uint8)).(*uint8) + outstruct.Unlocked = *abi.ConvertType(out[6], new(bool)).(*bool) + + return *outstruct, err + +} + +// Slot0 is a free data retrieval call binding the contract method 0x3850c7bd. +// +// Solidity: function slot0() view returns(uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked) +func (_UniswapV3Pool *UniswapV3PoolSession) Slot0() (struct { + SqrtPriceX96 *big.Int + Tick *big.Int + ObservationIndex uint16 + ObservationCardinality uint16 + ObservationCardinalityNext uint16 + FeeProtocol uint8 + Unlocked bool +}, error) { + return _UniswapV3Pool.Contract.Slot0(&_UniswapV3Pool.CallOpts) +} + +// Slot0 is a free data retrieval call binding the contract method 0x3850c7bd. +// +// Solidity: function slot0() view returns(uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Slot0() (struct { + SqrtPriceX96 *big.Int + Tick *big.Int + ObservationIndex uint16 + ObservationCardinality uint16 + ObservationCardinalityNext uint16 + FeeProtocol uint8 + Unlocked bool +}, error) { + return _UniswapV3Pool.Contract.Slot0(&_UniswapV3Pool.CallOpts) +} + +// SnapshotCumulativesInside is a free data retrieval call binding the contract method 0xa38807f2. +// +// Solidity: function snapshotCumulativesInside(int24 tickLower, int24 tickUpper) view returns(int56 tickCumulativeInside, uint160 secondsPerLiquidityInsideX128, uint32 secondsInside) +func (_UniswapV3Pool *UniswapV3PoolCaller) SnapshotCumulativesInside(opts *bind.CallOpts, tickLower *big.Int, tickUpper *big.Int) (struct { + TickCumulativeInside *big.Int + SecondsPerLiquidityInsideX128 *big.Int + SecondsInside uint32 +}, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "snapshotCumulativesInside", tickLower, tickUpper) + + outstruct := new(struct { + TickCumulativeInside *big.Int + SecondsPerLiquidityInsideX128 *big.Int + SecondsInside uint32 + }) + if err != nil { + return *outstruct, err + } + + outstruct.TickCumulativeInside = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + outstruct.SecondsPerLiquidityInsideX128 = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.SecondsInside = *abi.ConvertType(out[2], new(uint32)).(*uint32) + + return *outstruct, err + +} + +// SnapshotCumulativesInside is a free data retrieval call binding the contract method 0xa38807f2. +// +// Solidity: function snapshotCumulativesInside(int24 tickLower, int24 tickUpper) view returns(int56 tickCumulativeInside, uint160 secondsPerLiquidityInsideX128, uint32 secondsInside) +func (_UniswapV3Pool *UniswapV3PoolSession) SnapshotCumulativesInside(tickLower *big.Int, tickUpper *big.Int) (struct { + TickCumulativeInside *big.Int + SecondsPerLiquidityInsideX128 *big.Int + SecondsInside uint32 +}, error) { + return _UniswapV3Pool.Contract.SnapshotCumulativesInside(&_UniswapV3Pool.CallOpts, tickLower, tickUpper) +} + +// SnapshotCumulativesInside is a free data retrieval call binding the contract method 0xa38807f2. +// +// Solidity: function snapshotCumulativesInside(int24 tickLower, int24 tickUpper) view returns(int56 tickCumulativeInside, uint160 secondsPerLiquidityInsideX128, uint32 secondsInside) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) SnapshotCumulativesInside(tickLower *big.Int, tickUpper *big.Int) (struct { + TickCumulativeInside *big.Int + SecondsPerLiquidityInsideX128 *big.Int + SecondsInside uint32 +}, error) { + return _UniswapV3Pool.Contract.SnapshotCumulativesInside(&_UniswapV3Pool.CallOpts, tickLower, tickUpper) +} + +// TickBitmap is a free data retrieval call binding the contract method 0x5339c296. +// +// Solidity: function tickBitmap(int16 ) view returns(uint256) +func (_UniswapV3Pool *UniswapV3PoolCaller) TickBitmap(opts *bind.CallOpts, arg0 int16) (*big.Int, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "tickBitmap", arg0) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// TickBitmap is a free data retrieval call binding the contract method 0x5339c296. +// +// Solidity: function tickBitmap(int16 ) view returns(uint256) +func (_UniswapV3Pool *UniswapV3PoolSession) TickBitmap(arg0 int16) (*big.Int, error) { + return _UniswapV3Pool.Contract.TickBitmap(&_UniswapV3Pool.CallOpts, arg0) +} + +// TickBitmap is a free data retrieval call binding the contract method 0x5339c296. +// +// Solidity: function tickBitmap(int16 ) view returns(uint256) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) TickBitmap(arg0 int16) (*big.Int, error) { + return _UniswapV3Pool.Contract.TickBitmap(&_UniswapV3Pool.CallOpts, arg0) +} + +// TickSpacing is a free data retrieval call binding the contract method 0xd0c93a7c. +// +// Solidity: function tickSpacing() view returns(int24) +func (_UniswapV3Pool *UniswapV3PoolCaller) TickSpacing(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "tickSpacing") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// TickSpacing is a free data retrieval call binding the contract method 0xd0c93a7c. +// +// Solidity: function tickSpacing() view returns(int24) +func (_UniswapV3Pool *UniswapV3PoolSession) TickSpacing() (*big.Int, error) { + return _UniswapV3Pool.Contract.TickSpacing(&_UniswapV3Pool.CallOpts) +} + +// TickSpacing is a free data retrieval call binding the contract method 0xd0c93a7c. +// +// Solidity: function tickSpacing() view returns(int24) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) TickSpacing() (*big.Int, error) { + return _UniswapV3Pool.Contract.TickSpacing(&_UniswapV3Pool.CallOpts) +} + +// Ticks is a free data retrieval call binding the contract method 0xf30dba93. +// +// Solidity: function ticks(int24 ) view returns(uint128 liquidityGross, int128 liquidityNet, uint256 feeGrowthOutside0X128, uint256 feeGrowthOutside1X128, int56 tickCumulativeOutside, uint160 secondsPerLiquidityOutsideX128, uint32 secondsOutside, bool initialized) +func (_UniswapV3Pool *UniswapV3PoolCaller) Ticks(opts *bind.CallOpts, arg0 *big.Int) (struct { + LiquidityGross *big.Int + LiquidityNet *big.Int + FeeGrowthOutside0X128 *big.Int + FeeGrowthOutside1X128 *big.Int + TickCumulativeOutside *big.Int + SecondsPerLiquidityOutsideX128 *big.Int + SecondsOutside uint32 + Initialized bool +}, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "ticks", arg0) + + outstruct := new(struct { + LiquidityGross *big.Int + LiquidityNet *big.Int + FeeGrowthOutside0X128 *big.Int + FeeGrowthOutside1X128 *big.Int + TickCumulativeOutside *big.Int + SecondsPerLiquidityOutsideX128 *big.Int + SecondsOutside uint32 + Initialized bool + }) + if err != nil { + return *outstruct, err + } + + outstruct.LiquidityGross = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + outstruct.LiquidityNet = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.FeeGrowthOutside0X128 = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) + outstruct.FeeGrowthOutside1X128 = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) + outstruct.TickCumulativeOutside = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) + outstruct.SecondsPerLiquidityOutsideX128 = *abi.ConvertType(out[5], new(*big.Int)).(**big.Int) + outstruct.SecondsOutside = *abi.ConvertType(out[6], new(uint32)).(*uint32) + outstruct.Initialized = *abi.ConvertType(out[7], new(bool)).(*bool) + + return *outstruct, err + +} + +// Ticks is a free data retrieval call binding the contract method 0xf30dba93. +// +// Solidity: function ticks(int24 ) view returns(uint128 liquidityGross, int128 liquidityNet, uint256 feeGrowthOutside0X128, uint256 feeGrowthOutside1X128, int56 tickCumulativeOutside, uint160 secondsPerLiquidityOutsideX128, uint32 secondsOutside, bool initialized) +func (_UniswapV3Pool *UniswapV3PoolSession) Ticks(arg0 *big.Int) (struct { + LiquidityGross *big.Int + LiquidityNet *big.Int + FeeGrowthOutside0X128 *big.Int + FeeGrowthOutside1X128 *big.Int + TickCumulativeOutside *big.Int + SecondsPerLiquidityOutsideX128 *big.Int + SecondsOutside uint32 + Initialized bool +}, error) { + return _UniswapV3Pool.Contract.Ticks(&_UniswapV3Pool.CallOpts, arg0) +} + +// Ticks is a free data retrieval call binding the contract method 0xf30dba93. +// +// Solidity: function ticks(int24 ) view returns(uint128 liquidityGross, int128 liquidityNet, uint256 feeGrowthOutside0X128, uint256 feeGrowthOutside1X128, int56 tickCumulativeOutside, uint160 secondsPerLiquidityOutsideX128, uint32 secondsOutside, bool initialized) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Ticks(arg0 *big.Int) (struct { + LiquidityGross *big.Int + LiquidityNet *big.Int + FeeGrowthOutside0X128 *big.Int + FeeGrowthOutside1X128 *big.Int + TickCumulativeOutside *big.Int + SecondsPerLiquidityOutsideX128 *big.Int + SecondsOutside uint32 + Initialized bool +}, error) { + return _UniswapV3Pool.Contract.Ticks(&_UniswapV3Pool.CallOpts, arg0) +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_UniswapV3Pool *UniswapV3PoolCaller) Token0(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "token0") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_UniswapV3Pool *UniswapV3PoolSession) Token0() (common.Address, error) { + return _UniswapV3Pool.Contract.Token0(&_UniswapV3Pool.CallOpts) +} + +// Token0 is a free data retrieval call binding the contract method 0x0dfe1681. +// +// Solidity: function token0() view returns(address) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Token0() (common.Address, error) { + return _UniswapV3Pool.Contract.Token0(&_UniswapV3Pool.CallOpts) +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_UniswapV3Pool *UniswapV3PoolCaller) Token1(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Pool.contract.Call(opts, &out, "token1") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_UniswapV3Pool *UniswapV3PoolSession) Token1() (common.Address, error) { + return _UniswapV3Pool.Contract.Token1(&_UniswapV3Pool.CallOpts) +} + +// Token1 is a free data retrieval call binding the contract method 0xd21220a7. +// +// Solidity: function token1() view returns(address) +func (_UniswapV3Pool *UniswapV3PoolCallerSession) Token1() (common.Address, error) { + return _UniswapV3Pool.Contract.Token1(&_UniswapV3Pool.CallOpts) +} + +// Burn is a paid mutator transaction binding the contract method 0xa34123a7. +// +// Solidity: function burn(int24 tickLower, int24 tickUpper, uint128 amount) returns(uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactor) Burn(opts *bind.TransactOpts, tickLower *big.Int, tickUpper *big.Int, amount *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.contract.Transact(opts, "burn", tickLower, tickUpper, amount) +} + +// Burn is a paid mutator transaction binding the contract method 0xa34123a7. +// +// Solidity: function burn(int24 tickLower, int24 tickUpper, uint128 amount) returns(uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolSession) Burn(tickLower *big.Int, tickUpper *big.Int, amount *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Burn(&_UniswapV3Pool.TransactOpts, tickLower, tickUpper, amount) +} + +// Burn is a paid mutator transaction binding the contract method 0xa34123a7. +// +// Solidity: function burn(int24 tickLower, int24 tickUpper, uint128 amount) returns(uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactorSession) Burn(tickLower *big.Int, tickUpper *big.Int, amount *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Burn(&_UniswapV3Pool.TransactOpts, tickLower, tickUpper, amount) +} + +// Collect is a paid mutator transaction binding the contract method 0x4f1eb3d8. +// +// Solidity: function collect(address recipient, int24 tickLower, int24 tickUpper, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactor) Collect(opts *bind.TransactOpts, recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.contract.Transact(opts, "collect", recipient, tickLower, tickUpper, amount0Requested, amount1Requested) +} + +// Collect is a paid mutator transaction binding the contract method 0x4f1eb3d8. +// +// Solidity: function collect(address recipient, int24 tickLower, int24 tickUpper, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolSession) Collect(recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Collect(&_UniswapV3Pool.TransactOpts, recipient, tickLower, tickUpper, amount0Requested, amount1Requested) +} + +// Collect is a paid mutator transaction binding the contract method 0x4f1eb3d8. +// +// Solidity: function collect(address recipient, int24 tickLower, int24 tickUpper, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactorSession) Collect(recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Collect(&_UniswapV3Pool.TransactOpts, recipient, tickLower, tickUpper, amount0Requested, amount1Requested) +} + +// CollectProtocol is a paid mutator transaction binding the contract method 0x85b66729. +// +// Solidity: function collectProtocol(address recipient, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactor) CollectProtocol(opts *bind.TransactOpts, recipient common.Address, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.contract.Transact(opts, "collectProtocol", recipient, amount0Requested, amount1Requested) +} + +// CollectProtocol is a paid mutator transaction binding the contract method 0x85b66729. +// +// Solidity: function collectProtocol(address recipient, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolSession) CollectProtocol(recipient common.Address, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.CollectProtocol(&_UniswapV3Pool.TransactOpts, recipient, amount0Requested, amount1Requested) +} + +// CollectProtocol is a paid mutator transaction binding the contract method 0x85b66729. +// +// Solidity: function collectProtocol(address recipient, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactorSession) CollectProtocol(recipient common.Address, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.CollectProtocol(&_UniswapV3Pool.TransactOpts, recipient, amount0Requested, amount1Requested) +} + +// Flash is a paid mutator transaction binding the contract method 0x490e6cbc. +// +// Solidity: function flash(address recipient, uint256 amount0, uint256 amount1, bytes data) returns() +func (_UniswapV3Pool *UniswapV3PoolTransactor) Flash(opts *bind.TransactOpts, recipient common.Address, amount0 *big.Int, amount1 *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapV3Pool.contract.Transact(opts, "flash", recipient, amount0, amount1, data) +} + +// Flash is a paid mutator transaction binding the contract method 0x490e6cbc. +// +// Solidity: function flash(address recipient, uint256 amount0, uint256 amount1, bytes data) returns() +func (_UniswapV3Pool *UniswapV3PoolSession) Flash(recipient common.Address, amount0 *big.Int, amount1 *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Flash(&_UniswapV3Pool.TransactOpts, recipient, amount0, amount1, data) +} + +// Flash is a paid mutator transaction binding the contract method 0x490e6cbc. +// +// Solidity: function flash(address recipient, uint256 amount0, uint256 amount1, bytes data) returns() +func (_UniswapV3Pool *UniswapV3PoolTransactorSession) Flash(recipient common.Address, amount0 *big.Int, amount1 *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Flash(&_UniswapV3Pool.TransactOpts, recipient, amount0, amount1, data) +} + +// IncreaseObservationCardinalityNext is a paid mutator transaction binding the contract method 0x32148f67. +// +// Solidity: function increaseObservationCardinalityNext(uint16 observationCardinalityNext) returns() +func (_UniswapV3Pool *UniswapV3PoolTransactor) IncreaseObservationCardinalityNext(opts *bind.TransactOpts, observationCardinalityNext uint16) (*types.Transaction, error) { + return _UniswapV3Pool.contract.Transact(opts, "increaseObservationCardinalityNext", observationCardinalityNext) +} + +// IncreaseObservationCardinalityNext is a paid mutator transaction binding the contract method 0x32148f67. +// +// Solidity: function increaseObservationCardinalityNext(uint16 observationCardinalityNext) returns() +func (_UniswapV3Pool *UniswapV3PoolSession) IncreaseObservationCardinalityNext(observationCardinalityNext uint16) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.IncreaseObservationCardinalityNext(&_UniswapV3Pool.TransactOpts, observationCardinalityNext) +} + +// IncreaseObservationCardinalityNext is a paid mutator transaction binding the contract method 0x32148f67. +// +// Solidity: function increaseObservationCardinalityNext(uint16 observationCardinalityNext) returns() +func (_UniswapV3Pool *UniswapV3PoolTransactorSession) IncreaseObservationCardinalityNext(observationCardinalityNext uint16) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.IncreaseObservationCardinalityNext(&_UniswapV3Pool.TransactOpts, observationCardinalityNext) +} + +// Initialize is a paid mutator transaction binding the contract method 0xf637731d. +// +// Solidity: function initialize(uint160 sqrtPriceX96) returns() +func (_UniswapV3Pool *UniswapV3PoolTransactor) Initialize(opts *bind.TransactOpts, sqrtPriceX96 *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.contract.Transact(opts, "initialize", sqrtPriceX96) +} + +// Initialize is a paid mutator transaction binding the contract method 0xf637731d. +// +// Solidity: function initialize(uint160 sqrtPriceX96) returns() +func (_UniswapV3Pool *UniswapV3PoolSession) Initialize(sqrtPriceX96 *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Initialize(&_UniswapV3Pool.TransactOpts, sqrtPriceX96) +} + +// Initialize is a paid mutator transaction binding the contract method 0xf637731d. +// +// Solidity: function initialize(uint160 sqrtPriceX96) returns() +func (_UniswapV3Pool *UniswapV3PoolTransactorSession) Initialize(sqrtPriceX96 *big.Int) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Initialize(&_UniswapV3Pool.TransactOpts, sqrtPriceX96) +} + +// Mint is a paid mutator transaction binding the contract method 0x3c8a7d8d. +// +// Solidity: function mint(address recipient, int24 tickLower, int24 tickUpper, uint128 amount, bytes data) returns(uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactor) Mint(opts *bind.TransactOpts, recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapV3Pool.contract.Transact(opts, "mint", recipient, tickLower, tickUpper, amount, data) +} + +// Mint is a paid mutator transaction binding the contract method 0x3c8a7d8d. +// +// Solidity: function mint(address recipient, int24 tickLower, int24 tickUpper, uint128 amount, bytes data) returns(uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolSession) Mint(recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Mint(&_UniswapV3Pool.TransactOpts, recipient, tickLower, tickUpper, amount, data) +} + +// Mint is a paid mutator transaction binding the contract method 0x3c8a7d8d. +// +// Solidity: function mint(address recipient, int24 tickLower, int24 tickUpper, uint128 amount, bytes data) returns(uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactorSession) Mint(recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Mint(&_UniswapV3Pool.TransactOpts, recipient, tickLower, tickUpper, amount, data) +} + +// SetFeeProtocol is a paid mutator transaction binding the contract method 0x8206a4d1. +// +// Solidity: function setFeeProtocol(uint8 feeProtocol0, uint8 feeProtocol1) returns() +func (_UniswapV3Pool *UniswapV3PoolTransactor) SetFeeProtocol(opts *bind.TransactOpts, feeProtocol0 uint8, feeProtocol1 uint8) (*types.Transaction, error) { + return _UniswapV3Pool.contract.Transact(opts, "setFeeProtocol", feeProtocol0, feeProtocol1) +} + +// SetFeeProtocol is a paid mutator transaction binding the contract method 0x8206a4d1. +// +// Solidity: function setFeeProtocol(uint8 feeProtocol0, uint8 feeProtocol1) returns() +func (_UniswapV3Pool *UniswapV3PoolSession) SetFeeProtocol(feeProtocol0 uint8, feeProtocol1 uint8) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.SetFeeProtocol(&_UniswapV3Pool.TransactOpts, feeProtocol0, feeProtocol1) +} + +// SetFeeProtocol is a paid mutator transaction binding the contract method 0x8206a4d1. +// +// Solidity: function setFeeProtocol(uint8 feeProtocol0, uint8 feeProtocol1) returns() +func (_UniswapV3Pool *UniswapV3PoolTransactorSession) SetFeeProtocol(feeProtocol0 uint8, feeProtocol1 uint8) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.SetFeeProtocol(&_UniswapV3Pool.TransactOpts, feeProtocol0, feeProtocol1) +} + +// Swap is a paid mutator transaction binding the contract method 0x128acb08. +// +// Solidity: function swap(address recipient, bool zeroForOne, int256 amountSpecified, uint160 sqrtPriceLimitX96, bytes data) returns(int256 amount0, int256 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactor) Swap(opts *bind.TransactOpts, recipient common.Address, zeroForOne bool, amountSpecified *big.Int, sqrtPriceLimitX96 *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapV3Pool.contract.Transact(opts, "swap", recipient, zeroForOne, amountSpecified, sqrtPriceLimitX96, data) +} + +// Swap is a paid mutator transaction binding the contract method 0x128acb08. +// +// Solidity: function swap(address recipient, bool zeroForOne, int256 amountSpecified, uint160 sqrtPriceLimitX96, bytes data) returns(int256 amount0, int256 amount1) +func (_UniswapV3Pool *UniswapV3PoolSession) Swap(recipient common.Address, zeroForOne bool, amountSpecified *big.Int, sqrtPriceLimitX96 *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Swap(&_UniswapV3Pool.TransactOpts, recipient, zeroForOne, amountSpecified, sqrtPriceLimitX96, data) +} + +// Swap is a paid mutator transaction binding the contract method 0x128acb08. +// +// Solidity: function swap(address recipient, bool zeroForOne, int256 amountSpecified, uint160 sqrtPriceLimitX96, bytes data) returns(int256 amount0, int256 amount1) +func (_UniswapV3Pool *UniswapV3PoolTransactorSession) Swap(recipient common.Address, zeroForOne bool, amountSpecified *big.Int, sqrtPriceLimitX96 *big.Int, data []byte) (*types.Transaction, error) { + return _UniswapV3Pool.Contract.Swap(&_UniswapV3Pool.TransactOpts, recipient, zeroForOne, amountSpecified, sqrtPriceLimitX96, data) +} + +// UniswapV3PoolBurnIterator is returned from FilterBurn and is used to iterate over the raw logs and unpacked data for Burn events raised by the UniswapV3Pool contract. +type UniswapV3PoolBurnIterator struct { + Event *UniswapV3PoolBurn // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3PoolBurnIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolBurn) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolBurn) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3PoolBurnIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3PoolBurnIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3PoolBurn represents a Burn event raised by the UniswapV3Pool contract. +type UniswapV3PoolBurn struct { + Owner common.Address + TickLower *big.Int + TickUpper *big.Int + Amount *big.Int + Amount0 *big.Int + Amount1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterBurn is a free log retrieval operation binding the contract event 0x0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c. +// +// Solidity: event Burn(address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) FilterBurn(opts *bind.FilterOpts, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (*UniswapV3PoolBurnIterator, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var tickLowerRule []interface{} + for _, tickLowerItem := range tickLower { + tickLowerRule = append(tickLowerRule, tickLowerItem) + } + var tickUpperRule []interface{} + for _, tickUpperItem := range tickUpper { + tickUpperRule = append(tickUpperRule, tickUpperItem) + } + + logs, sub, err := _UniswapV3Pool.contract.FilterLogs(opts, "Burn", ownerRule, tickLowerRule, tickUpperRule) + if err != nil { + return nil, err + } + return &UniswapV3PoolBurnIterator{contract: _UniswapV3Pool.contract, event: "Burn", logs: logs, sub: sub}, nil +} + +// WatchBurn is a free log subscription operation binding the contract event 0x0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c. +// +// Solidity: event Burn(address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) WatchBurn(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolBurn, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (event.Subscription, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var tickLowerRule []interface{} + for _, tickLowerItem := range tickLower { + tickLowerRule = append(tickLowerRule, tickLowerItem) + } + var tickUpperRule []interface{} + for _, tickUpperItem := range tickUpper { + tickUpperRule = append(tickUpperRule, tickUpperItem) + } + + logs, sub, err := _UniswapV3Pool.contract.WatchLogs(opts, "Burn", ownerRule, tickLowerRule, tickUpperRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3PoolBurn) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Burn", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseBurn is a log parse operation binding the contract event 0x0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c. +// +// Solidity: event Burn(address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) ParseBurn(log types.Log) (*UniswapV3PoolBurn, error) { + event := new(UniswapV3PoolBurn) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Burn", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3PoolCollectIterator is returned from FilterCollect and is used to iterate over the raw logs and unpacked data for Collect events raised by the UniswapV3Pool contract. +type UniswapV3PoolCollectIterator struct { + Event *UniswapV3PoolCollect // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3PoolCollectIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolCollect) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolCollect) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3PoolCollectIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3PoolCollectIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3PoolCollect represents a Collect event raised by the UniswapV3Pool contract. +type UniswapV3PoolCollect struct { + Owner common.Address + Recipient common.Address + TickLower *big.Int + TickUpper *big.Int + Amount0 *big.Int + Amount1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterCollect is a free log retrieval operation binding the contract event 0x70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0. +// +// Solidity: event Collect(address indexed owner, address recipient, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) FilterCollect(opts *bind.FilterOpts, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (*UniswapV3PoolCollectIterator, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + + var tickLowerRule []interface{} + for _, tickLowerItem := range tickLower { + tickLowerRule = append(tickLowerRule, tickLowerItem) + } + var tickUpperRule []interface{} + for _, tickUpperItem := range tickUpper { + tickUpperRule = append(tickUpperRule, tickUpperItem) + } + + logs, sub, err := _UniswapV3Pool.contract.FilterLogs(opts, "Collect", ownerRule, tickLowerRule, tickUpperRule) + if err != nil { + return nil, err + } + return &UniswapV3PoolCollectIterator{contract: _UniswapV3Pool.contract, event: "Collect", logs: logs, sub: sub}, nil +} + +// WatchCollect is a free log subscription operation binding the contract event 0x70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0. +// +// Solidity: event Collect(address indexed owner, address recipient, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) WatchCollect(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolCollect, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (event.Subscription, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + + var tickLowerRule []interface{} + for _, tickLowerItem := range tickLower { + tickLowerRule = append(tickLowerRule, tickLowerItem) + } + var tickUpperRule []interface{} + for _, tickUpperItem := range tickUpper { + tickUpperRule = append(tickUpperRule, tickUpperItem) + } + + logs, sub, err := _UniswapV3Pool.contract.WatchLogs(opts, "Collect", ownerRule, tickLowerRule, tickUpperRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3PoolCollect) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Collect", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseCollect is a log parse operation binding the contract event 0x70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0. +// +// Solidity: event Collect(address indexed owner, address recipient, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) ParseCollect(log types.Log) (*UniswapV3PoolCollect, error) { + event := new(UniswapV3PoolCollect) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Collect", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3PoolCollectProtocolIterator is returned from FilterCollectProtocol and is used to iterate over the raw logs and unpacked data for CollectProtocol events raised by the UniswapV3Pool contract. +type UniswapV3PoolCollectProtocolIterator struct { + Event *UniswapV3PoolCollectProtocol // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3PoolCollectProtocolIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolCollectProtocol) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolCollectProtocol) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3PoolCollectProtocolIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3PoolCollectProtocolIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3PoolCollectProtocol represents a CollectProtocol event raised by the UniswapV3Pool contract. +type UniswapV3PoolCollectProtocol struct { + Sender common.Address + Recipient common.Address + Amount0 *big.Int + Amount1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterCollectProtocol is a free log retrieval operation binding the contract event 0x596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151. +// +// Solidity: event CollectProtocol(address indexed sender, address indexed recipient, uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) FilterCollectProtocol(opts *bind.FilterOpts, sender []common.Address, recipient []common.Address) (*UniswapV3PoolCollectProtocolIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + var recipientRule []interface{} + for _, recipientItem := range recipient { + recipientRule = append(recipientRule, recipientItem) + } + + logs, sub, err := _UniswapV3Pool.contract.FilterLogs(opts, "CollectProtocol", senderRule, recipientRule) + if err != nil { + return nil, err + } + return &UniswapV3PoolCollectProtocolIterator{contract: _UniswapV3Pool.contract, event: "CollectProtocol", logs: logs, sub: sub}, nil +} + +// WatchCollectProtocol is a free log subscription operation binding the contract event 0x596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151. +// +// Solidity: event CollectProtocol(address indexed sender, address indexed recipient, uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) WatchCollectProtocol(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolCollectProtocol, sender []common.Address, recipient []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + var recipientRule []interface{} + for _, recipientItem := range recipient { + recipientRule = append(recipientRule, recipientItem) + } + + logs, sub, err := _UniswapV3Pool.contract.WatchLogs(opts, "CollectProtocol", senderRule, recipientRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3PoolCollectProtocol) + if err := _UniswapV3Pool.contract.UnpackLog(event, "CollectProtocol", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseCollectProtocol is a log parse operation binding the contract event 0x596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151. +// +// Solidity: event CollectProtocol(address indexed sender, address indexed recipient, uint128 amount0, uint128 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) ParseCollectProtocol(log types.Log) (*UniswapV3PoolCollectProtocol, error) { + event := new(UniswapV3PoolCollectProtocol) + if err := _UniswapV3Pool.contract.UnpackLog(event, "CollectProtocol", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3PoolFlashIterator is returned from FilterFlash and is used to iterate over the raw logs and unpacked data for Flash events raised by the UniswapV3Pool contract. +type UniswapV3PoolFlashIterator struct { + Event *UniswapV3PoolFlash // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3PoolFlashIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolFlash) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolFlash) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3PoolFlashIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3PoolFlashIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3PoolFlash represents a Flash event raised by the UniswapV3Pool contract. +type UniswapV3PoolFlash struct { + Sender common.Address + Recipient common.Address + Amount0 *big.Int + Amount1 *big.Int + Paid0 *big.Int + Paid1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterFlash is a free log retrieval operation binding the contract event 0xbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca633. +// +// Solidity: event Flash(address indexed sender, address indexed recipient, uint256 amount0, uint256 amount1, uint256 paid0, uint256 paid1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) FilterFlash(opts *bind.FilterOpts, sender []common.Address, recipient []common.Address) (*UniswapV3PoolFlashIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + var recipientRule []interface{} + for _, recipientItem := range recipient { + recipientRule = append(recipientRule, recipientItem) + } + + logs, sub, err := _UniswapV3Pool.contract.FilterLogs(opts, "Flash", senderRule, recipientRule) + if err != nil { + return nil, err + } + return &UniswapV3PoolFlashIterator{contract: _UniswapV3Pool.contract, event: "Flash", logs: logs, sub: sub}, nil +} + +// WatchFlash is a free log subscription operation binding the contract event 0xbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca633. +// +// Solidity: event Flash(address indexed sender, address indexed recipient, uint256 amount0, uint256 amount1, uint256 paid0, uint256 paid1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) WatchFlash(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolFlash, sender []common.Address, recipient []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + var recipientRule []interface{} + for _, recipientItem := range recipient { + recipientRule = append(recipientRule, recipientItem) + } + + logs, sub, err := _UniswapV3Pool.contract.WatchLogs(opts, "Flash", senderRule, recipientRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3PoolFlash) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Flash", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseFlash is a log parse operation binding the contract event 0xbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca633. +// +// Solidity: event Flash(address indexed sender, address indexed recipient, uint256 amount0, uint256 amount1, uint256 paid0, uint256 paid1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) ParseFlash(log types.Log) (*UniswapV3PoolFlash, error) { + event := new(UniswapV3PoolFlash) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Flash", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3PoolIncreaseObservationCardinalityNextIterator is returned from FilterIncreaseObservationCardinalityNext and is used to iterate over the raw logs and unpacked data for IncreaseObservationCardinalityNext events raised by the UniswapV3Pool contract. +type UniswapV3PoolIncreaseObservationCardinalityNextIterator struct { + Event *UniswapV3PoolIncreaseObservationCardinalityNext // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3PoolIncreaseObservationCardinalityNextIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolIncreaseObservationCardinalityNext) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolIncreaseObservationCardinalityNext) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3PoolIncreaseObservationCardinalityNextIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3PoolIncreaseObservationCardinalityNextIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3PoolIncreaseObservationCardinalityNext represents a IncreaseObservationCardinalityNext event raised by the UniswapV3Pool contract. +type UniswapV3PoolIncreaseObservationCardinalityNext struct { + ObservationCardinalityNextOld uint16 + ObservationCardinalityNextNew uint16 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterIncreaseObservationCardinalityNext is a free log retrieval operation binding the contract event 0xac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a. +// +// Solidity: event IncreaseObservationCardinalityNext(uint16 observationCardinalityNextOld, uint16 observationCardinalityNextNew) +func (_UniswapV3Pool *UniswapV3PoolFilterer) FilterIncreaseObservationCardinalityNext(opts *bind.FilterOpts) (*UniswapV3PoolIncreaseObservationCardinalityNextIterator, error) { + + logs, sub, err := _UniswapV3Pool.contract.FilterLogs(opts, "IncreaseObservationCardinalityNext") + if err != nil { + return nil, err + } + return &UniswapV3PoolIncreaseObservationCardinalityNextIterator{contract: _UniswapV3Pool.contract, event: "IncreaseObservationCardinalityNext", logs: logs, sub: sub}, nil +} + +// WatchIncreaseObservationCardinalityNext is a free log subscription operation binding the contract event 0xac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a. +// +// Solidity: event IncreaseObservationCardinalityNext(uint16 observationCardinalityNextOld, uint16 observationCardinalityNextNew) +func (_UniswapV3Pool *UniswapV3PoolFilterer) WatchIncreaseObservationCardinalityNext(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolIncreaseObservationCardinalityNext) (event.Subscription, error) { + + logs, sub, err := _UniswapV3Pool.contract.WatchLogs(opts, "IncreaseObservationCardinalityNext") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3PoolIncreaseObservationCardinalityNext) + if err := _UniswapV3Pool.contract.UnpackLog(event, "IncreaseObservationCardinalityNext", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseIncreaseObservationCardinalityNext is a log parse operation binding the contract event 0xac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a. +// +// Solidity: event IncreaseObservationCardinalityNext(uint16 observationCardinalityNextOld, uint16 observationCardinalityNextNew) +func (_UniswapV3Pool *UniswapV3PoolFilterer) ParseIncreaseObservationCardinalityNext(log types.Log) (*UniswapV3PoolIncreaseObservationCardinalityNext, error) { + event := new(UniswapV3PoolIncreaseObservationCardinalityNext) + if err := _UniswapV3Pool.contract.UnpackLog(event, "IncreaseObservationCardinalityNext", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3PoolInitializeIterator is returned from FilterInitialize and is used to iterate over the raw logs and unpacked data for Initialize events raised by the UniswapV3Pool contract. +type UniswapV3PoolInitializeIterator struct { + Event *UniswapV3PoolInitialize // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3PoolInitializeIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolInitialize) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolInitialize) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3PoolInitializeIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3PoolInitializeIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3PoolInitialize represents a Initialize event raised by the UniswapV3Pool contract. +type UniswapV3PoolInitialize struct { + SqrtPriceX96 *big.Int + Tick *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterInitialize is a free log retrieval operation binding the contract event 0x98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95. +// +// Solidity: event Initialize(uint160 sqrtPriceX96, int24 tick) +func (_UniswapV3Pool *UniswapV3PoolFilterer) FilterInitialize(opts *bind.FilterOpts) (*UniswapV3PoolInitializeIterator, error) { + + logs, sub, err := _UniswapV3Pool.contract.FilterLogs(opts, "Initialize") + if err != nil { + return nil, err + } + return &UniswapV3PoolInitializeIterator{contract: _UniswapV3Pool.contract, event: "Initialize", logs: logs, sub: sub}, nil +} + +// WatchInitialize is a free log subscription operation binding the contract event 0x98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95. +// +// Solidity: event Initialize(uint160 sqrtPriceX96, int24 tick) +func (_UniswapV3Pool *UniswapV3PoolFilterer) WatchInitialize(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolInitialize) (event.Subscription, error) { + + logs, sub, err := _UniswapV3Pool.contract.WatchLogs(opts, "Initialize") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3PoolInitialize) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Initialize", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseInitialize is a log parse operation binding the contract event 0x98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95. +// +// Solidity: event Initialize(uint160 sqrtPriceX96, int24 tick) +func (_UniswapV3Pool *UniswapV3PoolFilterer) ParseInitialize(log types.Log) (*UniswapV3PoolInitialize, error) { + event := new(UniswapV3PoolInitialize) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Initialize", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3PoolMintIterator is returned from FilterMint and is used to iterate over the raw logs and unpacked data for Mint events raised by the UniswapV3Pool contract. +type UniswapV3PoolMintIterator struct { + Event *UniswapV3PoolMint // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3PoolMintIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolMint) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolMint) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3PoolMintIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3PoolMintIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3PoolMint represents a Mint event raised by the UniswapV3Pool contract. +type UniswapV3PoolMint struct { + Sender common.Address + Owner common.Address + TickLower *big.Int + TickUpper *big.Int + Amount *big.Int + Amount0 *big.Int + Amount1 *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterMint is a free log retrieval operation binding the contract event 0x7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde. +// +// Solidity: event Mint(address sender, address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) FilterMint(opts *bind.FilterOpts, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (*UniswapV3PoolMintIterator, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var tickLowerRule []interface{} + for _, tickLowerItem := range tickLower { + tickLowerRule = append(tickLowerRule, tickLowerItem) + } + var tickUpperRule []interface{} + for _, tickUpperItem := range tickUpper { + tickUpperRule = append(tickUpperRule, tickUpperItem) + } + + logs, sub, err := _UniswapV3Pool.contract.FilterLogs(opts, "Mint", ownerRule, tickLowerRule, tickUpperRule) + if err != nil { + return nil, err + } + return &UniswapV3PoolMintIterator{contract: _UniswapV3Pool.contract, event: "Mint", logs: logs, sub: sub}, nil +} + +// WatchMint is a free log subscription operation binding the contract event 0x7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde. +// +// Solidity: event Mint(address sender, address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) WatchMint(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolMint, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (event.Subscription, error) { + + var ownerRule []interface{} + for _, ownerItem := range owner { + ownerRule = append(ownerRule, ownerItem) + } + var tickLowerRule []interface{} + for _, tickLowerItem := range tickLower { + tickLowerRule = append(tickLowerRule, tickLowerItem) + } + var tickUpperRule []interface{} + for _, tickUpperItem := range tickUpper { + tickUpperRule = append(tickUpperRule, tickUpperItem) + } + + logs, sub, err := _UniswapV3Pool.contract.WatchLogs(opts, "Mint", ownerRule, tickLowerRule, tickUpperRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3PoolMint) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Mint", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseMint is a log parse operation binding the contract event 0x7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde. +// +// Solidity: event Mint(address sender, address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) +func (_UniswapV3Pool *UniswapV3PoolFilterer) ParseMint(log types.Log) (*UniswapV3PoolMint, error) { + event := new(UniswapV3PoolMint) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Mint", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3PoolSetFeeProtocolIterator is returned from FilterSetFeeProtocol and is used to iterate over the raw logs and unpacked data for SetFeeProtocol events raised by the UniswapV3Pool contract. +type UniswapV3PoolSetFeeProtocolIterator struct { + Event *UniswapV3PoolSetFeeProtocol // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3PoolSetFeeProtocolIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolSetFeeProtocol) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolSetFeeProtocol) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3PoolSetFeeProtocolIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3PoolSetFeeProtocolIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3PoolSetFeeProtocol represents a SetFeeProtocol event raised by the UniswapV3Pool contract. +type UniswapV3PoolSetFeeProtocol struct { + FeeProtocol0Old uint8 + FeeProtocol1Old uint8 + FeeProtocol0New uint8 + FeeProtocol1New uint8 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetFeeProtocol is a free log retrieval operation binding the contract event 0x973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b133. +// +// Solidity: event SetFeeProtocol(uint8 feeProtocol0Old, uint8 feeProtocol1Old, uint8 feeProtocol0New, uint8 feeProtocol1New) +func (_UniswapV3Pool *UniswapV3PoolFilterer) FilterSetFeeProtocol(opts *bind.FilterOpts) (*UniswapV3PoolSetFeeProtocolIterator, error) { + + logs, sub, err := _UniswapV3Pool.contract.FilterLogs(opts, "SetFeeProtocol") + if err != nil { + return nil, err + } + return &UniswapV3PoolSetFeeProtocolIterator{contract: _UniswapV3Pool.contract, event: "SetFeeProtocol", logs: logs, sub: sub}, nil +} + +// WatchSetFeeProtocol is a free log subscription operation binding the contract event 0x973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b133. +// +// Solidity: event SetFeeProtocol(uint8 feeProtocol0Old, uint8 feeProtocol1Old, uint8 feeProtocol0New, uint8 feeProtocol1New) +func (_UniswapV3Pool *UniswapV3PoolFilterer) WatchSetFeeProtocol(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolSetFeeProtocol) (event.Subscription, error) { + + logs, sub, err := _UniswapV3Pool.contract.WatchLogs(opts, "SetFeeProtocol") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3PoolSetFeeProtocol) + if err := _UniswapV3Pool.contract.UnpackLog(event, "SetFeeProtocol", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSetFeeProtocol is a log parse operation binding the contract event 0x973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b133. +// +// Solidity: event SetFeeProtocol(uint8 feeProtocol0Old, uint8 feeProtocol1Old, uint8 feeProtocol0New, uint8 feeProtocol1New) +func (_UniswapV3Pool *UniswapV3PoolFilterer) ParseSetFeeProtocol(log types.Log) (*UniswapV3PoolSetFeeProtocol, error) { + event := new(UniswapV3PoolSetFeeProtocol) + if err := _UniswapV3Pool.contract.UnpackLog(event, "SetFeeProtocol", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UniswapV3PoolSwapIterator is returned from FilterSwap and is used to iterate over the raw logs and unpacked data for Swap events raised by the UniswapV3Pool contract. +type UniswapV3PoolSwapIterator struct { + Event *UniswapV3PoolSwap // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UniswapV3PoolSwapIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UniswapV3PoolSwap) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UniswapV3PoolSwapIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UniswapV3PoolSwapIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UniswapV3PoolSwap represents a Swap event raised by the UniswapV3Pool contract. +type UniswapV3PoolSwap struct { + Sender common.Address + Recipient common.Address + Amount0 *big.Int + Amount1 *big.Int + SqrtPriceX96 *big.Int + Liquidity *big.Int + Tick *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSwap is a free log retrieval operation binding the contract event 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67. +// +// Solidity: event Swap(address indexed sender, address indexed recipient, int256 amount0, int256 amount1, uint160 sqrtPriceX96, uint128 liquidity, int24 tick) +func (_UniswapV3Pool *UniswapV3PoolFilterer) FilterSwap(opts *bind.FilterOpts, sender []common.Address, recipient []common.Address) (*UniswapV3PoolSwapIterator, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + var recipientRule []interface{} + for _, recipientItem := range recipient { + recipientRule = append(recipientRule, recipientItem) + } + + logs, sub, err := _UniswapV3Pool.contract.FilterLogs(opts, "Swap", senderRule, recipientRule) + if err != nil { + return nil, err + } + return &UniswapV3PoolSwapIterator{contract: _UniswapV3Pool.contract, event: "Swap", logs: logs, sub: sub}, nil +} + +// WatchSwap is a free log subscription operation binding the contract event 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67. +// +// Solidity: event Swap(address indexed sender, address indexed recipient, int256 amount0, int256 amount1, uint160 sqrtPriceX96, uint128 liquidity, int24 tick) +func (_UniswapV3Pool *UniswapV3PoolFilterer) WatchSwap(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolSwap, sender []common.Address, recipient []common.Address) (event.Subscription, error) { + + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + var recipientRule []interface{} + for _, recipientItem := range recipient { + recipientRule = append(recipientRule, recipientItem) + } + + logs, sub, err := _UniswapV3Pool.contract.WatchLogs(opts, "Swap", senderRule, recipientRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UniswapV3PoolSwap) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Swap", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSwap is a log parse operation binding the contract event 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67. +// +// Solidity: event Swap(address indexed sender, address indexed recipient, int256 amount0, int256 amount1, uint160 sqrtPriceX96, uint128 liquidity, int24 tick) +func (_UniswapV3Pool *UniswapV3PoolFilterer) ParseSwap(log types.Log) (*UniswapV3PoolSwap, error) { + event := new(UniswapV3PoolSwap) + if err := _UniswapV3Pool.contract.UnpackLog(event, "Swap", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/bindings/uniswapv3router/uniswapv3router.go b/bindings/uniswapv3router/uniswapv3router.go new file mode 100644 index 00000000..02cf7f89 --- /dev/null +++ b/bindings/uniswapv3router/uniswapv3router.go @@ -0,0 +1,620 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapv3router + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// ISwapRouterExactInputParams is an auto generated low-level Go binding around an user-defined struct. +type ISwapRouterExactInputParams struct { + Path []byte + Recipient common.Address + Deadline *big.Int + AmountIn *big.Int + AmountOutMinimum *big.Int +} + +// ISwapRouterExactInputSingleParams is an auto generated low-level Go binding around an user-defined struct. +type ISwapRouterExactInputSingleParams struct { + TokenIn common.Address + TokenOut common.Address + Fee *big.Int + Recipient common.Address + Deadline *big.Int + AmountIn *big.Int + AmountOutMinimum *big.Int + SqrtPriceLimitX96 *big.Int +} + +// ISwapRouterExactOutputParams is an auto generated low-level Go binding around an user-defined struct. +type ISwapRouterExactOutputParams struct { + Path []byte + Recipient common.Address + Deadline *big.Int + AmountOut *big.Int + AmountInMaximum *big.Int +} + +// ISwapRouterExactOutputSingleParams is an auto generated low-level Go binding around an user-defined struct. +type ISwapRouterExactOutputSingleParams struct { + TokenIn common.Address + TokenOut common.Address + Fee *big.Int + Recipient common.Address + Deadline *big.Int + AmountOut *big.Int + AmountInMaximum *big.Int + SqrtPriceLimitX96 *big.Int +} + +// UniswapV3RouterMetaData contains all meta data concerning the UniswapV3Router contract. +var UniswapV3RouterMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_WETH9\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"WETH9\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"path\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMinimum\",\"type\":\"uint256\"}],\"internalType\":\"structISwapRouter.ExactInputParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"exactInput\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMinimum\",\"type\":\"uint256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"}],\"internalType\":\"structISwapRouter.ExactInputSingleParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"exactInputSingle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"path\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMaximum\",\"type\":\"uint256\"}],\"internalType\":\"structISwapRouter.ExactOutputParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"exactOutput\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMaximum\",\"type\":\"uint256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"}],\"internalType\":\"structISwapRouter.ExactOutputSingleParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"exactOutputSingle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"refundETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"selfPermit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"selfPermitAllowed\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"selfPermitAllowedIfNecessary\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"selfPermitIfNecessary\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feeBips\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"name\":\"sweepTokenWithFee\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"amount0Delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1Delta\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"uniswapV3SwapCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feeBips\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9WithFee\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", +} + +// UniswapV3RouterABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapV3RouterMetaData.ABI instead. +var UniswapV3RouterABI = UniswapV3RouterMetaData.ABI + +// UniswapV3Router is an auto generated Go binding around an Ethereum contract. +type UniswapV3Router struct { + UniswapV3RouterCaller // Read-only binding to the contract + UniswapV3RouterTransactor // Write-only binding to the contract + UniswapV3RouterFilterer // Log filterer for contract events +} + +// UniswapV3RouterCaller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapV3RouterCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3RouterTransactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapV3RouterTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3RouterFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapV3RouterFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3RouterSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapV3RouterSession struct { + Contract *UniswapV3Router // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3RouterCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapV3RouterCallerSession struct { + Contract *UniswapV3RouterCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapV3RouterTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapV3RouterTransactorSession struct { + Contract *UniswapV3RouterTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3RouterRaw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapV3RouterRaw struct { + Contract *UniswapV3Router // Generic contract binding to access the raw methods on +} + +// UniswapV3RouterCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapV3RouterCallerRaw struct { + Contract *UniswapV3RouterCaller // Generic read-only contract binding to access the raw methods on +} + +// UniswapV3RouterTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapV3RouterTransactorRaw struct { + Contract *UniswapV3RouterTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapV3Router creates a new instance of UniswapV3Router, bound to a specific deployed contract. +func NewUniswapV3Router(address common.Address, backend bind.ContractBackend) (*UniswapV3Router, error) { + contract, err := bindUniswapV3Router(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapV3Router{UniswapV3RouterCaller: UniswapV3RouterCaller{contract: contract}, UniswapV3RouterTransactor: UniswapV3RouterTransactor{contract: contract}, UniswapV3RouterFilterer: UniswapV3RouterFilterer{contract: contract}}, nil +} + +// NewUniswapV3RouterCaller creates a new read-only instance of UniswapV3Router, bound to a specific deployed contract. +func NewUniswapV3RouterCaller(address common.Address, caller bind.ContractCaller) (*UniswapV3RouterCaller, error) { + contract, err := bindUniswapV3Router(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapV3RouterCaller{contract: contract}, nil +} + +// NewUniswapV3RouterTransactor creates a new write-only instance of UniswapV3Router, bound to a specific deployed contract. +func NewUniswapV3RouterTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV3RouterTransactor, error) { + contract, err := bindUniswapV3Router(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapV3RouterTransactor{contract: contract}, nil +} + +// NewUniswapV3RouterFilterer creates a new log filterer instance of UniswapV3Router, bound to a specific deployed contract. +func NewUniswapV3RouterFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV3RouterFilterer, error) { + contract, err := bindUniswapV3Router(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapV3RouterFilterer{contract: contract}, nil +} + +// bindUniswapV3Router binds a generic wrapper to an already deployed contract. +func bindUniswapV3Router(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapV3RouterABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Router *UniswapV3RouterRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Router.Contract.UniswapV3RouterCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Router *UniswapV3RouterRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Router.Contract.UniswapV3RouterTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Router *UniswapV3RouterRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Router.Contract.UniswapV3RouterTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Router *UniswapV3RouterCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Router.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Router *UniswapV3RouterTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Router.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Router *UniswapV3RouterTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Router.Contract.contract.Transact(opts, method, params...) +} + +// WETH9 is a free data retrieval call binding the contract method 0x4aa4a4fc. +// +// Solidity: function WETH9() view returns(address) +func (_UniswapV3Router *UniswapV3RouterCaller) WETH9(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Router.contract.Call(opts, &out, "WETH9") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// WETH9 is a free data retrieval call binding the contract method 0x4aa4a4fc. +// +// Solidity: function WETH9() view returns(address) +func (_UniswapV3Router *UniswapV3RouterSession) WETH9() (common.Address, error) { + return _UniswapV3Router.Contract.WETH9(&_UniswapV3Router.CallOpts) +} + +// WETH9 is a free data retrieval call binding the contract method 0x4aa4a4fc. +// +// Solidity: function WETH9() view returns(address) +func (_UniswapV3Router *UniswapV3RouterCallerSession) WETH9() (common.Address, error) { + return _UniswapV3Router.Contract.WETH9(&_UniswapV3Router.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV3Router *UniswapV3RouterCaller) Factory(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Router.contract.Call(opts, &out, "factory") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV3Router *UniswapV3RouterSession) Factory() (common.Address, error) { + return _UniswapV3Router.Contract.Factory(&_UniswapV3Router.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV3Router *UniswapV3RouterCallerSession) Factory() (common.Address, error) { + return _UniswapV3Router.Contract.Factory(&_UniswapV3Router.CallOpts) +} + +// ExactInput is a paid mutator transaction binding the contract method 0xc04b8d59. +// +// Solidity: function exactInput((bytes,address,uint256,uint256,uint256) params) payable returns(uint256 amountOut) +func (_UniswapV3Router *UniswapV3RouterTransactor) ExactInput(opts *bind.TransactOpts, params ISwapRouterExactInputParams) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "exactInput", params) +} + +// ExactInput is a paid mutator transaction binding the contract method 0xc04b8d59. +// +// Solidity: function exactInput((bytes,address,uint256,uint256,uint256) params) payable returns(uint256 amountOut) +func (_UniswapV3Router *UniswapV3RouterSession) ExactInput(params ISwapRouterExactInputParams) (*types.Transaction, error) { + return _UniswapV3Router.Contract.ExactInput(&_UniswapV3Router.TransactOpts, params) +} + +// ExactInput is a paid mutator transaction binding the contract method 0xc04b8d59. +// +// Solidity: function exactInput((bytes,address,uint256,uint256,uint256) params) payable returns(uint256 amountOut) +func (_UniswapV3Router *UniswapV3RouterTransactorSession) ExactInput(params ISwapRouterExactInputParams) (*types.Transaction, error) { + return _UniswapV3Router.Contract.ExactInput(&_UniswapV3Router.TransactOpts, params) +} + +// ExactInputSingle is a paid mutator transaction binding the contract method 0x414bf389. +// +// Solidity: function exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160) params) payable returns(uint256 amountOut) +func (_UniswapV3Router *UniswapV3RouterTransactor) ExactInputSingle(opts *bind.TransactOpts, params ISwapRouterExactInputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "exactInputSingle", params) +} + +// ExactInputSingle is a paid mutator transaction binding the contract method 0x414bf389. +// +// Solidity: function exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160) params) payable returns(uint256 amountOut) +func (_UniswapV3Router *UniswapV3RouterSession) ExactInputSingle(params ISwapRouterExactInputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router.Contract.ExactInputSingle(&_UniswapV3Router.TransactOpts, params) +} + +// ExactInputSingle is a paid mutator transaction binding the contract method 0x414bf389. +// +// Solidity: function exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160) params) payable returns(uint256 amountOut) +func (_UniswapV3Router *UniswapV3RouterTransactorSession) ExactInputSingle(params ISwapRouterExactInputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router.Contract.ExactInputSingle(&_UniswapV3Router.TransactOpts, params) +} + +// ExactOutput is a paid mutator transaction binding the contract method 0xf28c0498. +// +// Solidity: function exactOutput((bytes,address,uint256,uint256,uint256) params) payable returns(uint256 amountIn) +func (_UniswapV3Router *UniswapV3RouterTransactor) ExactOutput(opts *bind.TransactOpts, params ISwapRouterExactOutputParams) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "exactOutput", params) +} + +// ExactOutput is a paid mutator transaction binding the contract method 0xf28c0498. +// +// Solidity: function exactOutput((bytes,address,uint256,uint256,uint256) params) payable returns(uint256 amountIn) +func (_UniswapV3Router *UniswapV3RouterSession) ExactOutput(params ISwapRouterExactOutputParams) (*types.Transaction, error) { + return _UniswapV3Router.Contract.ExactOutput(&_UniswapV3Router.TransactOpts, params) +} + +// ExactOutput is a paid mutator transaction binding the contract method 0xf28c0498. +// +// Solidity: function exactOutput((bytes,address,uint256,uint256,uint256) params) payable returns(uint256 amountIn) +func (_UniswapV3Router *UniswapV3RouterTransactorSession) ExactOutput(params ISwapRouterExactOutputParams) (*types.Transaction, error) { + return _UniswapV3Router.Contract.ExactOutput(&_UniswapV3Router.TransactOpts, params) +} + +// ExactOutputSingle is a paid mutator transaction binding the contract method 0xdb3e2198. +// +// Solidity: function exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160) params) payable returns(uint256 amountIn) +func (_UniswapV3Router *UniswapV3RouterTransactor) ExactOutputSingle(opts *bind.TransactOpts, params ISwapRouterExactOutputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "exactOutputSingle", params) +} + +// ExactOutputSingle is a paid mutator transaction binding the contract method 0xdb3e2198. +// +// Solidity: function exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160) params) payable returns(uint256 amountIn) +func (_UniswapV3Router *UniswapV3RouterSession) ExactOutputSingle(params ISwapRouterExactOutputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router.Contract.ExactOutputSingle(&_UniswapV3Router.TransactOpts, params) +} + +// ExactOutputSingle is a paid mutator transaction binding the contract method 0xdb3e2198. +// +// Solidity: function exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160) params) payable returns(uint256 amountIn) +func (_UniswapV3Router *UniswapV3RouterTransactorSession) ExactOutputSingle(params ISwapRouterExactOutputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router.Contract.ExactOutputSingle(&_UniswapV3Router.TransactOpts, params) +} + +// Multicall is a paid mutator transaction binding the contract method 0xac9650d8. +// +// Solidity: function multicall(bytes[] data) payable returns(bytes[] results) +func (_UniswapV3Router *UniswapV3RouterTransactor) Multicall(opts *bind.TransactOpts, data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "multicall", data) +} + +// Multicall is a paid mutator transaction binding the contract method 0xac9650d8. +// +// Solidity: function multicall(bytes[] data) payable returns(bytes[] results) +func (_UniswapV3Router *UniswapV3RouterSession) Multicall(data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.Multicall(&_UniswapV3Router.TransactOpts, data) +} + +// Multicall is a paid mutator transaction binding the contract method 0xac9650d8. +// +// Solidity: function multicall(bytes[] data) payable returns(bytes[] results) +func (_UniswapV3Router *UniswapV3RouterTransactorSession) Multicall(data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.Multicall(&_UniswapV3Router.TransactOpts, data) +} + +// RefundETH is a paid mutator transaction binding the contract method 0x12210e8a. +// +// Solidity: function refundETH() payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) RefundETH(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "refundETH") +} + +// RefundETH is a paid mutator transaction binding the contract method 0x12210e8a. +// +// Solidity: function refundETH() payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) RefundETH() (*types.Transaction, error) { + return _UniswapV3Router.Contract.RefundETH(&_UniswapV3Router.TransactOpts) +} + +// RefundETH is a paid mutator transaction binding the contract method 0x12210e8a. +// +// Solidity: function refundETH() payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) RefundETH() (*types.Transaction, error) { + return _UniswapV3Router.Contract.RefundETH(&_UniswapV3Router.TransactOpts) +} + +// SelfPermit is a paid mutator transaction binding the contract method 0xf3995c67. +// +// Solidity: function selfPermit(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) SelfPermit(opts *bind.TransactOpts, token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "selfPermit", token, value, deadline, v, r, s) +} + +// SelfPermit is a paid mutator transaction binding the contract method 0xf3995c67. +// +// Solidity: function selfPermit(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) SelfPermit(token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SelfPermit(&_UniswapV3Router.TransactOpts, token, value, deadline, v, r, s) +} + +// SelfPermit is a paid mutator transaction binding the contract method 0xf3995c67. +// +// Solidity: function selfPermit(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) SelfPermit(token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SelfPermit(&_UniswapV3Router.TransactOpts, token, value, deadline, v, r, s) +} + +// SelfPermitAllowed is a paid mutator transaction binding the contract method 0x4659a494. +// +// Solidity: function selfPermitAllowed(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) SelfPermitAllowed(opts *bind.TransactOpts, token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "selfPermitAllowed", token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowed is a paid mutator transaction binding the contract method 0x4659a494. +// +// Solidity: function selfPermitAllowed(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) SelfPermitAllowed(token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SelfPermitAllowed(&_UniswapV3Router.TransactOpts, token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowed is a paid mutator transaction binding the contract method 0x4659a494. +// +// Solidity: function selfPermitAllowed(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) SelfPermitAllowed(token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SelfPermitAllowed(&_UniswapV3Router.TransactOpts, token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowedIfNecessary is a paid mutator transaction binding the contract method 0xa4a78f0c. +// +// Solidity: function selfPermitAllowedIfNecessary(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) SelfPermitAllowedIfNecessary(opts *bind.TransactOpts, token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "selfPermitAllowedIfNecessary", token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowedIfNecessary is a paid mutator transaction binding the contract method 0xa4a78f0c. +// +// Solidity: function selfPermitAllowedIfNecessary(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) SelfPermitAllowedIfNecessary(token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SelfPermitAllowedIfNecessary(&_UniswapV3Router.TransactOpts, token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowedIfNecessary is a paid mutator transaction binding the contract method 0xa4a78f0c. +// +// Solidity: function selfPermitAllowedIfNecessary(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) SelfPermitAllowedIfNecessary(token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SelfPermitAllowedIfNecessary(&_UniswapV3Router.TransactOpts, token, nonce, expiry, v, r, s) +} + +// SelfPermitIfNecessary is a paid mutator transaction binding the contract method 0xc2e3140a. +// +// Solidity: function selfPermitIfNecessary(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) SelfPermitIfNecessary(opts *bind.TransactOpts, token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "selfPermitIfNecessary", token, value, deadline, v, r, s) +} + +// SelfPermitIfNecessary is a paid mutator transaction binding the contract method 0xc2e3140a. +// +// Solidity: function selfPermitIfNecessary(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) SelfPermitIfNecessary(token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SelfPermitIfNecessary(&_UniswapV3Router.TransactOpts, token, value, deadline, v, r, s) +} + +// SelfPermitIfNecessary is a paid mutator transaction binding the contract method 0xc2e3140a. +// +// Solidity: function selfPermitIfNecessary(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) SelfPermitIfNecessary(token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SelfPermitIfNecessary(&_UniswapV3Router.TransactOpts, token, value, deadline, v, r, s) +} + +// SweepToken is a paid mutator transaction binding the contract method 0xdf2ab5bb. +// +// Solidity: function sweepToken(address token, uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) SweepToken(opts *bind.TransactOpts, token common.Address, amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "sweepToken", token, amountMinimum, recipient) +} + +// SweepToken is a paid mutator transaction binding the contract method 0xdf2ab5bb. +// +// Solidity: function sweepToken(address token, uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) SweepToken(token common.Address, amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SweepToken(&_UniswapV3Router.TransactOpts, token, amountMinimum, recipient) +} + +// SweepToken is a paid mutator transaction binding the contract method 0xdf2ab5bb. +// +// Solidity: function sweepToken(address token, uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) SweepToken(token common.Address, amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SweepToken(&_UniswapV3Router.TransactOpts, token, amountMinimum, recipient) +} + +// SweepTokenWithFee is a paid mutator transaction binding the contract method 0xe0e189a0. +// +// Solidity: function sweepTokenWithFee(address token, uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) SweepTokenWithFee(opts *bind.TransactOpts, token common.Address, amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "sweepTokenWithFee", token, amountMinimum, recipient, feeBips, feeRecipient) +} + +// SweepTokenWithFee is a paid mutator transaction binding the contract method 0xe0e189a0. +// +// Solidity: function sweepTokenWithFee(address token, uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) SweepTokenWithFee(token common.Address, amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SweepTokenWithFee(&_UniswapV3Router.TransactOpts, token, amountMinimum, recipient, feeBips, feeRecipient) +} + +// SweepTokenWithFee is a paid mutator transaction binding the contract method 0xe0e189a0. +// +// Solidity: function sweepTokenWithFee(address token, uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) SweepTokenWithFee(token common.Address, amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.Contract.SweepTokenWithFee(&_UniswapV3Router.TransactOpts, token, amountMinimum, recipient, feeBips, feeRecipient) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes _data) returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) UniswapV3SwapCallback(opts *bind.TransactOpts, amount0Delta *big.Int, amount1Delta *big.Int, _data []byte) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "uniswapV3SwapCallback", amount0Delta, amount1Delta, _data) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes _data) returns() +func (_UniswapV3Router *UniswapV3RouterSession) UniswapV3SwapCallback(amount0Delta *big.Int, amount1Delta *big.Int, _data []byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.UniswapV3SwapCallback(&_UniswapV3Router.TransactOpts, amount0Delta, amount1Delta, _data) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes _data) returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) UniswapV3SwapCallback(amount0Delta *big.Int, amount1Delta *big.Int, _data []byte) (*types.Transaction, error) { + return _UniswapV3Router.Contract.UniswapV3SwapCallback(&_UniswapV3Router.TransactOpts, amount0Delta, amount1Delta, _data) +} + +// UnwrapWETH9 is a paid mutator transaction binding the contract method 0x49404b7c. +// +// Solidity: function unwrapWETH9(uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) UnwrapWETH9(opts *bind.TransactOpts, amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "unwrapWETH9", amountMinimum, recipient) +} + +// UnwrapWETH9 is a paid mutator transaction binding the contract method 0x49404b7c. +// +// Solidity: function unwrapWETH9(uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) UnwrapWETH9(amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.Contract.UnwrapWETH9(&_UniswapV3Router.TransactOpts, amountMinimum, recipient) +} + +// UnwrapWETH9 is a paid mutator transaction binding the contract method 0x49404b7c. +// +// Solidity: function unwrapWETH9(uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) UnwrapWETH9(amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.Contract.UnwrapWETH9(&_UniswapV3Router.TransactOpts, amountMinimum, recipient) +} + +// UnwrapWETH9WithFee is a paid mutator transaction binding the contract method 0x9b2c0a37. +// +// Solidity: function unwrapWETH9WithFee(uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) UnwrapWETH9WithFee(opts *bind.TransactOpts, amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.contract.Transact(opts, "unwrapWETH9WithFee", amountMinimum, recipient, feeBips, feeRecipient) +} + +// UnwrapWETH9WithFee is a paid mutator transaction binding the contract method 0x9b2c0a37. +// +// Solidity: function unwrapWETH9WithFee(uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) UnwrapWETH9WithFee(amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.Contract.UnwrapWETH9WithFee(&_UniswapV3Router.TransactOpts, amountMinimum, recipient, feeBips, feeRecipient) +} + +// UnwrapWETH9WithFee is a paid mutator transaction binding the contract method 0x9b2c0a37. +// +// Solidity: function unwrapWETH9WithFee(uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) UnwrapWETH9WithFee(amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router.Contract.UnwrapWETH9WithFee(&_UniswapV3Router.TransactOpts, amountMinimum, recipient, feeBips, feeRecipient) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Router.contract.RawTransact(opts, nil) // calldata is disallowed for receive function +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapV3Router *UniswapV3RouterSession) Receive() (*types.Transaction, error) { + return _UniswapV3Router.Contract.Receive(&_UniswapV3Router.TransactOpts) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapV3Router *UniswapV3RouterTransactorSession) Receive() (*types.Transaction, error) { + return _UniswapV3Router.Contract.Receive(&_UniswapV3Router.TransactOpts) +} diff --git a/bindings/uniswapv3router2/uniswapv3router2.go b/bindings/uniswapv3router2/uniswapv3router2.go new file mode 100644 index 00000000..f3016638 --- /dev/null +++ b/bindings/uniswapv3router2/uniswapv3router2.go @@ -0,0 +1,1135 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapv3router2 + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// IApproveAndCallIncreaseLiquidityParams is an auto generated low-level Go binding around an user-defined struct. +type IApproveAndCallIncreaseLiquidityParams struct { + Token0 common.Address + Token1 common.Address + TokenId *big.Int + Amount0Min *big.Int + Amount1Min *big.Int +} + +// IApproveAndCallMintParams is an auto generated low-level Go binding around an user-defined struct. +type IApproveAndCallMintParams struct { + Token0 common.Address + Token1 common.Address + Fee *big.Int + TickLower *big.Int + TickUpper *big.Int + Amount0Min *big.Int + Amount1Min *big.Int + Recipient common.Address +} + +// IV3SwapRouterExactInputParams is an auto generated low-level Go binding around an user-defined struct. +type IV3SwapRouterExactInputParams struct { + Path []byte + Recipient common.Address + AmountIn *big.Int + AmountOutMinimum *big.Int +} + +// IV3SwapRouterExactInputSingleParams is an auto generated low-level Go binding around an user-defined struct. +type IV3SwapRouterExactInputSingleParams struct { + TokenIn common.Address + TokenOut common.Address + Fee *big.Int + Recipient common.Address + AmountIn *big.Int + AmountOutMinimum *big.Int + SqrtPriceLimitX96 *big.Int +} + +// IV3SwapRouterExactOutputParams is an auto generated low-level Go binding around an user-defined struct. +type IV3SwapRouterExactOutputParams struct { + Path []byte + Recipient common.Address + AmountOut *big.Int + AmountInMaximum *big.Int +} + +// IV3SwapRouterExactOutputSingleParams is an auto generated low-level Go binding around an user-defined struct. +type IV3SwapRouterExactOutputSingleParams struct { + TokenIn common.Address + TokenOut common.Address + Fee *big.Int + Recipient common.Address + AmountOut *big.Int + AmountInMaximum *big.Int + SqrtPriceLimitX96 *big.Int +} + +// UniswapV3Router2MetaData contains all meta data concerning the UniswapV3Router2 contract. +var UniswapV3Router2MetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_factoryV2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"factoryV3\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_positionManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_WETH9\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"WETH9\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"approveMax\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"approveMaxMinusOne\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"approveZeroThenMax\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"approveZeroThenMaxMinusOne\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"callPositionManager\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"paths\",\"type\":\"bytes[]\"},{\"internalType\":\"uint128[]\",\"name\":\"amounts\",\"type\":\"uint128[]\"},{\"internalType\":\"uint24\",\"name\":\"maximumTickDivergence\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"secondsAgo\",\"type\":\"uint32\"}],\"name\":\"checkOracleSlippage\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"path\",\"type\":\"bytes\"},{\"internalType\":\"uint24\",\"name\":\"maximumTickDivergence\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"secondsAgo\",\"type\":\"uint32\"}],\"name\":\"checkOracleSlippage\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"path\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMinimum\",\"type\":\"uint256\"}],\"internalType\":\"structIV3SwapRouter.ExactInputParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"exactInput\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMinimum\",\"type\":\"uint256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"}],\"internalType\":\"structIV3SwapRouter.ExactInputSingleParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"exactInputSingle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"path\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMaximum\",\"type\":\"uint256\"}],\"internalType\":\"structIV3SwapRouter.ExactOutputParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"exactOutput\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMaximum\",\"type\":\"uint256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"}],\"internalType\":\"structIV3SwapRouter.ExactOutputSingleParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"exactOutputSingle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factoryV2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getApprovalType\",\"outputs\":[{\"internalType\":\"enumIApproveAndCall.ApprovalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount0Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Min\",\"type\":\"uint256\"}],\"internalType\":\"structIApproveAndCall.IncreaseLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"increaseLiquidity\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint256\",\"name\":\"amount0Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Min\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structIApproveAndCall.MintParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"previousBlockhash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"positionManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"pull\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"refundETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"selfPermit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"selfPermitAllowed\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"selfPermitAllowedIfNecessary\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"selfPermitIfNecessary\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"swapExactTokensForTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMax\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"swapTokensForExactTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"}],\"name\":\"sweepToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeBips\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"name\":\"sweepTokenWithFee\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feeBips\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"name\":\"sweepTokenWithFee\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"amount0Delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1Delta\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"uniswapV3SwapCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"}],\"name\":\"unwrapWETH9\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feeBips\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9WithFee\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeBips\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9WithFee\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"wrapETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", +} + +// UniswapV3Router2ABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapV3Router2MetaData.ABI instead. +var UniswapV3Router2ABI = UniswapV3Router2MetaData.ABI + +// UniswapV3Router2 is an auto generated Go binding around an Ethereum contract. +type UniswapV3Router2 struct { + UniswapV3Router2Caller // Read-only binding to the contract + UniswapV3Router2Transactor // Write-only binding to the contract + UniswapV3Router2Filterer // Log filterer for contract events +} + +// UniswapV3Router2Caller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapV3Router2Caller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3Router2Transactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapV3Router2Transactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3Router2Filterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapV3Router2Filterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3Router2Session is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapV3Router2Session struct { + Contract *UniswapV3Router2 // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3Router2CallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapV3Router2CallerSession struct { + Contract *UniswapV3Router2Caller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapV3Router2TransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapV3Router2TransactorSession struct { + Contract *UniswapV3Router2Transactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3Router2Raw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapV3Router2Raw struct { + Contract *UniswapV3Router2 // Generic contract binding to access the raw methods on +} + +// UniswapV3Router2CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapV3Router2CallerRaw struct { + Contract *UniswapV3Router2Caller // Generic read-only contract binding to access the raw methods on +} + +// UniswapV3Router2TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapV3Router2TransactorRaw struct { + Contract *UniswapV3Router2Transactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapV3Router2 creates a new instance of UniswapV3Router2, bound to a specific deployed contract. +func NewUniswapV3Router2(address common.Address, backend bind.ContractBackend) (*UniswapV3Router2, error) { + contract, err := bindUniswapV3Router2(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapV3Router2{UniswapV3Router2Caller: UniswapV3Router2Caller{contract: contract}, UniswapV3Router2Transactor: UniswapV3Router2Transactor{contract: contract}, UniswapV3Router2Filterer: UniswapV3Router2Filterer{contract: contract}}, nil +} + +// NewUniswapV3Router2Caller creates a new read-only instance of UniswapV3Router2, bound to a specific deployed contract. +func NewUniswapV3Router2Caller(address common.Address, caller bind.ContractCaller) (*UniswapV3Router2Caller, error) { + contract, err := bindUniswapV3Router2(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapV3Router2Caller{contract: contract}, nil +} + +// NewUniswapV3Router2Transactor creates a new write-only instance of UniswapV3Router2, bound to a specific deployed contract. +func NewUniswapV3Router2Transactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV3Router2Transactor, error) { + contract, err := bindUniswapV3Router2(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapV3Router2Transactor{contract: contract}, nil +} + +// NewUniswapV3Router2Filterer creates a new log filterer instance of UniswapV3Router2, bound to a specific deployed contract. +func NewUniswapV3Router2Filterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV3Router2Filterer, error) { + contract, err := bindUniswapV3Router2(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapV3Router2Filterer{contract: contract}, nil +} + +// bindUniswapV3Router2 binds a generic wrapper to an already deployed contract. +func bindUniswapV3Router2(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapV3Router2ABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Router2 *UniswapV3Router2Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Router2.Contract.UniswapV3Router2Caller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Router2 *UniswapV3Router2Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UniswapV3Router2Transactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Router2 *UniswapV3Router2Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UniswapV3Router2Transactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Router2 *UniswapV3Router2CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Router2.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Router2 *UniswapV3Router2TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Router2 *UniswapV3Router2TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.contract.Transact(opts, method, params...) +} + +// WETH9 is a free data retrieval call binding the contract method 0x4aa4a4fc. +// +// Solidity: function WETH9() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2Caller) WETH9(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Router2.contract.Call(opts, &out, "WETH9") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// WETH9 is a free data retrieval call binding the contract method 0x4aa4a4fc. +// +// Solidity: function WETH9() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2Session) WETH9() (common.Address, error) { + return _UniswapV3Router2.Contract.WETH9(&_UniswapV3Router2.CallOpts) +} + +// WETH9 is a free data retrieval call binding the contract method 0x4aa4a4fc. +// +// Solidity: function WETH9() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2CallerSession) WETH9() (common.Address, error) { + return _UniswapV3Router2.Contract.WETH9(&_UniswapV3Router2.CallOpts) +} + +// CheckOracleSlippage is a free data retrieval call binding the contract method 0xefdeed8e. +// +// Solidity: function checkOracleSlippage(bytes[] paths, uint128[] amounts, uint24 maximumTickDivergence, uint32 secondsAgo) view returns() +func (_UniswapV3Router2 *UniswapV3Router2Caller) CheckOracleSlippage(opts *bind.CallOpts, paths [][]byte, amounts []*big.Int, maximumTickDivergence *big.Int, secondsAgo uint32) error { + var out []interface{} + err := _UniswapV3Router2.contract.Call(opts, &out, "checkOracleSlippage", paths, amounts, maximumTickDivergence, secondsAgo) + + if err != nil { + return err + } + + return err + +} + +// CheckOracleSlippage is a free data retrieval call binding the contract method 0xefdeed8e. +// +// Solidity: function checkOracleSlippage(bytes[] paths, uint128[] amounts, uint24 maximumTickDivergence, uint32 secondsAgo) view returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) CheckOracleSlippage(paths [][]byte, amounts []*big.Int, maximumTickDivergence *big.Int, secondsAgo uint32) error { + return _UniswapV3Router2.Contract.CheckOracleSlippage(&_UniswapV3Router2.CallOpts, paths, amounts, maximumTickDivergence, secondsAgo) +} + +// CheckOracleSlippage is a free data retrieval call binding the contract method 0xefdeed8e. +// +// Solidity: function checkOracleSlippage(bytes[] paths, uint128[] amounts, uint24 maximumTickDivergence, uint32 secondsAgo) view returns() +func (_UniswapV3Router2 *UniswapV3Router2CallerSession) CheckOracleSlippage(paths [][]byte, amounts []*big.Int, maximumTickDivergence *big.Int, secondsAgo uint32) error { + return _UniswapV3Router2.Contract.CheckOracleSlippage(&_UniswapV3Router2.CallOpts, paths, amounts, maximumTickDivergence, secondsAgo) +} + +// CheckOracleSlippage0 is a free data retrieval call binding the contract method 0xf25801a7. +// +// Solidity: function checkOracleSlippage(bytes path, uint24 maximumTickDivergence, uint32 secondsAgo) view returns() +func (_UniswapV3Router2 *UniswapV3Router2Caller) CheckOracleSlippage0(opts *bind.CallOpts, path []byte, maximumTickDivergence *big.Int, secondsAgo uint32) error { + var out []interface{} + err := _UniswapV3Router2.contract.Call(opts, &out, "checkOracleSlippage0", path, maximumTickDivergence, secondsAgo) + + if err != nil { + return err + } + + return err + +} + +// CheckOracleSlippage0 is a free data retrieval call binding the contract method 0xf25801a7. +// +// Solidity: function checkOracleSlippage(bytes path, uint24 maximumTickDivergence, uint32 secondsAgo) view returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) CheckOracleSlippage0(path []byte, maximumTickDivergence *big.Int, secondsAgo uint32) error { + return _UniswapV3Router2.Contract.CheckOracleSlippage0(&_UniswapV3Router2.CallOpts, path, maximumTickDivergence, secondsAgo) +} + +// CheckOracleSlippage0 is a free data retrieval call binding the contract method 0xf25801a7. +// +// Solidity: function checkOracleSlippage(bytes path, uint24 maximumTickDivergence, uint32 secondsAgo) view returns() +func (_UniswapV3Router2 *UniswapV3Router2CallerSession) CheckOracleSlippage0(path []byte, maximumTickDivergence *big.Int, secondsAgo uint32) error { + return _UniswapV3Router2.Contract.CheckOracleSlippage0(&_UniswapV3Router2.CallOpts, path, maximumTickDivergence, secondsAgo) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2Caller) Factory(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Router2.contract.Call(opts, &out, "factory") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2Session) Factory() (common.Address, error) { + return _UniswapV3Router2.Contract.Factory(&_UniswapV3Router2.CallOpts) +} + +// Factory is a free data retrieval call binding the contract method 0xc45a0155. +// +// Solidity: function factory() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2CallerSession) Factory() (common.Address, error) { + return _UniswapV3Router2.Contract.Factory(&_UniswapV3Router2.CallOpts) +} + +// FactoryV2 is a free data retrieval call binding the contract method 0x68e0d4e1. +// +// Solidity: function factoryV2() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2Caller) FactoryV2(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Router2.contract.Call(opts, &out, "factoryV2") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// FactoryV2 is a free data retrieval call binding the contract method 0x68e0d4e1. +// +// Solidity: function factoryV2() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2Session) FactoryV2() (common.Address, error) { + return _UniswapV3Router2.Contract.FactoryV2(&_UniswapV3Router2.CallOpts) +} + +// FactoryV2 is a free data retrieval call binding the contract method 0x68e0d4e1. +// +// Solidity: function factoryV2() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2CallerSession) FactoryV2() (common.Address, error) { + return _UniswapV3Router2.Contract.FactoryV2(&_UniswapV3Router2.CallOpts) +} + +// PositionManager is a free data retrieval call binding the contract method 0x791b98bc. +// +// Solidity: function positionManager() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2Caller) PositionManager(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _UniswapV3Router2.contract.Call(opts, &out, "positionManager") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// PositionManager is a free data retrieval call binding the contract method 0x791b98bc. +// +// Solidity: function positionManager() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2Session) PositionManager() (common.Address, error) { + return _UniswapV3Router2.Contract.PositionManager(&_UniswapV3Router2.CallOpts) +} + +// PositionManager is a free data retrieval call binding the contract method 0x791b98bc. +// +// Solidity: function positionManager() view returns(address) +func (_UniswapV3Router2 *UniswapV3Router2CallerSession) PositionManager() (common.Address, error) { + return _UniswapV3Router2.Contract.PositionManager(&_UniswapV3Router2.CallOpts) +} + +// ApproveMax is a paid mutator transaction binding the contract method 0x571ac8b0. +// +// Solidity: function approveMax(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) ApproveMax(opts *bind.TransactOpts, token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "approveMax", token) +} + +// ApproveMax is a paid mutator transaction binding the contract method 0x571ac8b0. +// +// Solidity: function approveMax(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) ApproveMax(token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ApproveMax(&_UniswapV3Router2.TransactOpts, token) +} + +// ApproveMax is a paid mutator transaction binding the contract method 0x571ac8b0. +// +// Solidity: function approveMax(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) ApproveMax(token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ApproveMax(&_UniswapV3Router2.TransactOpts, token) +} + +// ApproveMaxMinusOne is a paid mutator transaction binding the contract method 0xcab372ce. +// +// Solidity: function approveMaxMinusOne(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) ApproveMaxMinusOne(opts *bind.TransactOpts, token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "approveMaxMinusOne", token) +} + +// ApproveMaxMinusOne is a paid mutator transaction binding the contract method 0xcab372ce. +// +// Solidity: function approveMaxMinusOne(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) ApproveMaxMinusOne(token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ApproveMaxMinusOne(&_UniswapV3Router2.TransactOpts, token) +} + +// ApproveMaxMinusOne is a paid mutator transaction binding the contract method 0xcab372ce. +// +// Solidity: function approveMaxMinusOne(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) ApproveMaxMinusOne(token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ApproveMaxMinusOne(&_UniswapV3Router2.TransactOpts, token) +} + +// ApproveZeroThenMax is a paid mutator transaction binding the contract method 0x639d71a9. +// +// Solidity: function approveZeroThenMax(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) ApproveZeroThenMax(opts *bind.TransactOpts, token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "approveZeroThenMax", token) +} + +// ApproveZeroThenMax is a paid mutator transaction binding the contract method 0x639d71a9. +// +// Solidity: function approveZeroThenMax(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) ApproveZeroThenMax(token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ApproveZeroThenMax(&_UniswapV3Router2.TransactOpts, token) +} + +// ApproveZeroThenMax is a paid mutator transaction binding the contract method 0x639d71a9. +// +// Solidity: function approveZeroThenMax(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) ApproveZeroThenMax(token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ApproveZeroThenMax(&_UniswapV3Router2.TransactOpts, token) +} + +// ApproveZeroThenMaxMinusOne is a paid mutator transaction binding the contract method 0xab3fdd50. +// +// Solidity: function approveZeroThenMaxMinusOne(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) ApproveZeroThenMaxMinusOne(opts *bind.TransactOpts, token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "approveZeroThenMaxMinusOne", token) +} + +// ApproveZeroThenMaxMinusOne is a paid mutator transaction binding the contract method 0xab3fdd50. +// +// Solidity: function approveZeroThenMaxMinusOne(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) ApproveZeroThenMaxMinusOne(token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ApproveZeroThenMaxMinusOne(&_UniswapV3Router2.TransactOpts, token) +} + +// ApproveZeroThenMaxMinusOne is a paid mutator transaction binding the contract method 0xab3fdd50. +// +// Solidity: function approveZeroThenMaxMinusOne(address token) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) ApproveZeroThenMaxMinusOne(token common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ApproveZeroThenMaxMinusOne(&_UniswapV3Router2.TransactOpts, token) +} + +// CallPositionManager is a paid mutator transaction binding the contract method 0xb3a2af13. +// +// Solidity: function callPositionManager(bytes data) payable returns(bytes result) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) CallPositionManager(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "callPositionManager", data) +} + +// CallPositionManager is a paid mutator transaction binding the contract method 0xb3a2af13. +// +// Solidity: function callPositionManager(bytes data) payable returns(bytes result) +func (_UniswapV3Router2 *UniswapV3Router2Session) CallPositionManager(data []byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.CallPositionManager(&_UniswapV3Router2.TransactOpts, data) +} + +// CallPositionManager is a paid mutator transaction binding the contract method 0xb3a2af13. +// +// Solidity: function callPositionManager(bytes data) payable returns(bytes result) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) CallPositionManager(data []byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.CallPositionManager(&_UniswapV3Router2.TransactOpts, data) +} + +// ExactInput is a paid mutator transaction binding the contract method 0xb858183f. +// +// Solidity: function exactInput((bytes,address,uint256,uint256) params) payable returns(uint256 amountOut) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) ExactInput(opts *bind.TransactOpts, params IV3SwapRouterExactInputParams) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "exactInput", params) +} + +// ExactInput is a paid mutator transaction binding the contract method 0xb858183f. +// +// Solidity: function exactInput((bytes,address,uint256,uint256) params) payable returns(uint256 amountOut) +func (_UniswapV3Router2 *UniswapV3Router2Session) ExactInput(params IV3SwapRouterExactInputParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ExactInput(&_UniswapV3Router2.TransactOpts, params) +} + +// ExactInput is a paid mutator transaction binding the contract method 0xb858183f. +// +// Solidity: function exactInput((bytes,address,uint256,uint256) params) payable returns(uint256 amountOut) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) ExactInput(params IV3SwapRouterExactInputParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ExactInput(&_UniswapV3Router2.TransactOpts, params) +} + +// ExactInputSingle is a paid mutator transaction binding the contract method 0x04e45aaf. +// +// Solidity: function exactInputSingle((address,address,uint24,address,uint256,uint256,uint160) params) payable returns(uint256 amountOut) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) ExactInputSingle(opts *bind.TransactOpts, params IV3SwapRouterExactInputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "exactInputSingle", params) +} + +// ExactInputSingle is a paid mutator transaction binding the contract method 0x04e45aaf. +// +// Solidity: function exactInputSingle((address,address,uint24,address,uint256,uint256,uint160) params) payable returns(uint256 amountOut) +func (_UniswapV3Router2 *UniswapV3Router2Session) ExactInputSingle(params IV3SwapRouterExactInputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ExactInputSingle(&_UniswapV3Router2.TransactOpts, params) +} + +// ExactInputSingle is a paid mutator transaction binding the contract method 0x04e45aaf. +// +// Solidity: function exactInputSingle((address,address,uint24,address,uint256,uint256,uint160) params) payable returns(uint256 amountOut) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) ExactInputSingle(params IV3SwapRouterExactInputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ExactInputSingle(&_UniswapV3Router2.TransactOpts, params) +} + +// ExactOutput is a paid mutator transaction binding the contract method 0x09b81346. +// +// Solidity: function exactOutput((bytes,address,uint256,uint256) params) payable returns(uint256 amountIn) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) ExactOutput(opts *bind.TransactOpts, params IV3SwapRouterExactOutputParams) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "exactOutput", params) +} + +// ExactOutput is a paid mutator transaction binding the contract method 0x09b81346. +// +// Solidity: function exactOutput((bytes,address,uint256,uint256) params) payable returns(uint256 amountIn) +func (_UniswapV3Router2 *UniswapV3Router2Session) ExactOutput(params IV3SwapRouterExactOutputParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ExactOutput(&_UniswapV3Router2.TransactOpts, params) +} + +// ExactOutput is a paid mutator transaction binding the contract method 0x09b81346. +// +// Solidity: function exactOutput((bytes,address,uint256,uint256) params) payable returns(uint256 amountIn) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) ExactOutput(params IV3SwapRouterExactOutputParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ExactOutput(&_UniswapV3Router2.TransactOpts, params) +} + +// ExactOutputSingle is a paid mutator transaction binding the contract method 0x5023b4df. +// +// Solidity: function exactOutputSingle((address,address,uint24,address,uint256,uint256,uint160) params) payable returns(uint256 amountIn) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) ExactOutputSingle(opts *bind.TransactOpts, params IV3SwapRouterExactOutputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "exactOutputSingle", params) +} + +// ExactOutputSingle is a paid mutator transaction binding the contract method 0x5023b4df. +// +// Solidity: function exactOutputSingle((address,address,uint24,address,uint256,uint256,uint160) params) payable returns(uint256 amountIn) +func (_UniswapV3Router2 *UniswapV3Router2Session) ExactOutputSingle(params IV3SwapRouterExactOutputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ExactOutputSingle(&_UniswapV3Router2.TransactOpts, params) +} + +// ExactOutputSingle is a paid mutator transaction binding the contract method 0x5023b4df. +// +// Solidity: function exactOutputSingle((address,address,uint24,address,uint256,uint256,uint160) params) payable returns(uint256 amountIn) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) ExactOutputSingle(params IV3SwapRouterExactOutputSingleParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.ExactOutputSingle(&_UniswapV3Router2.TransactOpts, params) +} + +// GetApprovalType is a paid mutator transaction binding the contract method 0xdee00f35. +// +// Solidity: function getApprovalType(address token, uint256 amount) returns(uint8) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) GetApprovalType(opts *bind.TransactOpts, token common.Address, amount *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "getApprovalType", token, amount) +} + +// GetApprovalType is a paid mutator transaction binding the contract method 0xdee00f35. +// +// Solidity: function getApprovalType(address token, uint256 amount) returns(uint8) +func (_UniswapV3Router2 *UniswapV3Router2Session) GetApprovalType(token common.Address, amount *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.GetApprovalType(&_UniswapV3Router2.TransactOpts, token, amount) +} + +// GetApprovalType is a paid mutator transaction binding the contract method 0xdee00f35. +// +// Solidity: function getApprovalType(address token, uint256 amount) returns(uint8) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) GetApprovalType(token common.Address, amount *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.GetApprovalType(&_UniswapV3Router2.TransactOpts, token, amount) +} + +// IncreaseLiquidity is a paid mutator transaction binding the contract method 0xf100b205. +// +// Solidity: function increaseLiquidity((address,address,uint256,uint256,uint256) params) payable returns(bytes result) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) IncreaseLiquidity(opts *bind.TransactOpts, params IApproveAndCallIncreaseLiquidityParams) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "increaseLiquidity", params) +} + +// IncreaseLiquidity is a paid mutator transaction binding the contract method 0xf100b205. +// +// Solidity: function increaseLiquidity((address,address,uint256,uint256,uint256) params) payable returns(bytes result) +func (_UniswapV3Router2 *UniswapV3Router2Session) IncreaseLiquidity(params IApproveAndCallIncreaseLiquidityParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.IncreaseLiquidity(&_UniswapV3Router2.TransactOpts, params) +} + +// IncreaseLiquidity is a paid mutator transaction binding the contract method 0xf100b205. +// +// Solidity: function increaseLiquidity((address,address,uint256,uint256,uint256) params) payable returns(bytes result) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) IncreaseLiquidity(params IApproveAndCallIncreaseLiquidityParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.IncreaseLiquidity(&_UniswapV3Router2.TransactOpts, params) +} + +// Mint is a paid mutator transaction binding the contract method 0x11ed56c9. +// +// Solidity: function mint((address,address,uint24,int24,int24,uint256,uint256,address) params) payable returns(bytes result) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) Mint(opts *bind.TransactOpts, params IApproveAndCallMintParams) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "mint", params) +} + +// Mint is a paid mutator transaction binding the contract method 0x11ed56c9. +// +// Solidity: function mint((address,address,uint24,int24,int24,uint256,uint256,address) params) payable returns(bytes result) +func (_UniswapV3Router2 *UniswapV3Router2Session) Mint(params IApproveAndCallMintParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Mint(&_UniswapV3Router2.TransactOpts, params) +} + +// Mint is a paid mutator transaction binding the contract method 0x11ed56c9. +// +// Solidity: function mint((address,address,uint24,int24,int24,uint256,uint256,address) params) payable returns(bytes result) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) Mint(params IApproveAndCallMintParams) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Mint(&_UniswapV3Router2.TransactOpts, params) +} + +// Multicall is a paid mutator transaction binding the contract method 0x1f0464d1. +// +// Solidity: function multicall(bytes32 previousBlockhash, bytes[] data) payable returns(bytes[]) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) Multicall(opts *bind.TransactOpts, previousBlockhash [32]byte, data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "multicall", previousBlockhash, data) +} + +// Multicall is a paid mutator transaction binding the contract method 0x1f0464d1. +// +// Solidity: function multicall(bytes32 previousBlockhash, bytes[] data) payable returns(bytes[]) +func (_UniswapV3Router2 *UniswapV3Router2Session) Multicall(previousBlockhash [32]byte, data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Multicall(&_UniswapV3Router2.TransactOpts, previousBlockhash, data) +} + +// Multicall is a paid mutator transaction binding the contract method 0x1f0464d1. +// +// Solidity: function multicall(bytes32 previousBlockhash, bytes[] data) payable returns(bytes[]) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) Multicall(previousBlockhash [32]byte, data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Multicall(&_UniswapV3Router2.TransactOpts, previousBlockhash, data) +} + +// Multicall0 is a paid mutator transaction binding the contract method 0x5ae401dc. +// +// Solidity: function multicall(uint256 deadline, bytes[] data) payable returns(bytes[]) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) Multicall0(opts *bind.TransactOpts, deadline *big.Int, data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "multicall0", deadline, data) +} + +// Multicall0 is a paid mutator transaction binding the contract method 0x5ae401dc. +// +// Solidity: function multicall(uint256 deadline, bytes[] data) payable returns(bytes[]) +func (_UniswapV3Router2 *UniswapV3Router2Session) Multicall0(deadline *big.Int, data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Multicall0(&_UniswapV3Router2.TransactOpts, deadline, data) +} + +// Multicall0 is a paid mutator transaction binding the contract method 0x5ae401dc. +// +// Solidity: function multicall(uint256 deadline, bytes[] data) payable returns(bytes[]) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) Multicall0(deadline *big.Int, data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Multicall0(&_UniswapV3Router2.TransactOpts, deadline, data) +} + +// Multicall1 is a paid mutator transaction binding the contract method 0xac9650d8. +// +// Solidity: function multicall(bytes[] data) payable returns(bytes[] results) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) Multicall1(opts *bind.TransactOpts, data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "multicall1", data) +} + +// Multicall1 is a paid mutator transaction binding the contract method 0xac9650d8. +// +// Solidity: function multicall(bytes[] data) payable returns(bytes[] results) +func (_UniswapV3Router2 *UniswapV3Router2Session) Multicall1(data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Multicall1(&_UniswapV3Router2.TransactOpts, data) +} + +// Multicall1 is a paid mutator transaction binding the contract method 0xac9650d8. +// +// Solidity: function multicall(bytes[] data) payable returns(bytes[] results) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) Multicall1(data [][]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Multicall1(&_UniswapV3Router2.TransactOpts, data) +} + +// Pull is a paid mutator transaction binding the contract method 0xf2d5d56b. +// +// Solidity: function pull(address token, uint256 value) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) Pull(opts *bind.TransactOpts, token common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "pull", token, value) +} + +// Pull is a paid mutator transaction binding the contract method 0xf2d5d56b. +// +// Solidity: function pull(address token, uint256 value) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) Pull(token common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Pull(&_UniswapV3Router2.TransactOpts, token, value) +} + +// Pull is a paid mutator transaction binding the contract method 0xf2d5d56b. +// +// Solidity: function pull(address token, uint256 value) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) Pull(token common.Address, value *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Pull(&_UniswapV3Router2.TransactOpts, token, value) +} + +// RefundETH is a paid mutator transaction binding the contract method 0x12210e8a. +// +// Solidity: function refundETH() payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) RefundETH(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "refundETH") +} + +// RefundETH is a paid mutator transaction binding the contract method 0x12210e8a. +// +// Solidity: function refundETH() payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) RefundETH() (*types.Transaction, error) { + return _UniswapV3Router2.Contract.RefundETH(&_UniswapV3Router2.TransactOpts) +} + +// RefundETH is a paid mutator transaction binding the contract method 0x12210e8a. +// +// Solidity: function refundETH() payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) RefundETH() (*types.Transaction, error) { + return _UniswapV3Router2.Contract.RefundETH(&_UniswapV3Router2.TransactOpts) +} + +// SelfPermit is a paid mutator transaction binding the contract method 0xf3995c67. +// +// Solidity: function selfPermit(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SelfPermit(opts *bind.TransactOpts, token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "selfPermit", token, value, deadline, v, r, s) +} + +// SelfPermit is a paid mutator transaction binding the contract method 0xf3995c67. +// +// Solidity: function selfPermit(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) SelfPermit(token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SelfPermit(&_UniswapV3Router2.TransactOpts, token, value, deadline, v, r, s) +} + +// SelfPermit is a paid mutator transaction binding the contract method 0xf3995c67. +// +// Solidity: function selfPermit(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SelfPermit(token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SelfPermit(&_UniswapV3Router2.TransactOpts, token, value, deadline, v, r, s) +} + +// SelfPermitAllowed is a paid mutator transaction binding the contract method 0x4659a494. +// +// Solidity: function selfPermitAllowed(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SelfPermitAllowed(opts *bind.TransactOpts, token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "selfPermitAllowed", token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowed is a paid mutator transaction binding the contract method 0x4659a494. +// +// Solidity: function selfPermitAllowed(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) SelfPermitAllowed(token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SelfPermitAllowed(&_UniswapV3Router2.TransactOpts, token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowed is a paid mutator transaction binding the contract method 0x4659a494. +// +// Solidity: function selfPermitAllowed(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SelfPermitAllowed(token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SelfPermitAllowed(&_UniswapV3Router2.TransactOpts, token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowedIfNecessary is a paid mutator transaction binding the contract method 0xa4a78f0c. +// +// Solidity: function selfPermitAllowedIfNecessary(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SelfPermitAllowedIfNecessary(opts *bind.TransactOpts, token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "selfPermitAllowedIfNecessary", token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowedIfNecessary is a paid mutator transaction binding the contract method 0xa4a78f0c. +// +// Solidity: function selfPermitAllowedIfNecessary(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) SelfPermitAllowedIfNecessary(token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SelfPermitAllowedIfNecessary(&_UniswapV3Router2.TransactOpts, token, nonce, expiry, v, r, s) +} + +// SelfPermitAllowedIfNecessary is a paid mutator transaction binding the contract method 0xa4a78f0c. +// +// Solidity: function selfPermitAllowedIfNecessary(address token, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SelfPermitAllowedIfNecessary(token common.Address, nonce *big.Int, expiry *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SelfPermitAllowedIfNecessary(&_UniswapV3Router2.TransactOpts, token, nonce, expiry, v, r, s) +} + +// SelfPermitIfNecessary is a paid mutator transaction binding the contract method 0xc2e3140a. +// +// Solidity: function selfPermitIfNecessary(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SelfPermitIfNecessary(opts *bind.TransactOpts, token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "selfPermitIfNecessary", token, value, deadline, v, r, s) +} + +// SelfPermitIfNecessary is a paid mutator transaction binding the contract method 0xc2e3140a. +// +// Solidity: function selfPermitIfNecessary(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) SelfPermitIfNecessary(token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SelfPermitIfNecessary(&_UniswapV3Router2.TransactOpts, token, value, deadline, v, r, s) +} + +// SelfPermitIfNecessary is a paid mutator transaction binding the contract method 0xc2e3140a. +// +// Solidity: function selfPermitIfNecessary(address token, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SelfPermitIfNecessary(token common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SelfPermitIfNecessary(&_UniswapV3Router2.TransactOpts, token, value, deadline, v, r, s) +} + +// SwapExactTokensForTokens is a paid mutator transaction binding the contract method 0x472b43f3. +// +// Solidity: function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to) payable returns(uint256 amountOut) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SwapExactTokensForTokens(opts *bind.TransactOpts, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "swapExactTokensForTokens", amountIn, amountOutMin, path, to) +} + +// SwapExactTokensForTokens is a paid mutator transaction binding the contract method 0x472b43f3. +// +// Solidity: function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to) payable returns(uint256 amountOut) +func (_UniswapV3Router2 *UniswapV3Router2Session) SwapExactTokensForTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SwapExactTokensForTokens(&_UniswapV3Router2.TransactOpts, amountIn, amountOutMin, path, to) +} + +// SwapExactTokensForTokens is a paid mutator transaction binding the contract method 0x472b43f3. +// +// Solidity: function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to) payable returns(uint256 amountOut) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SwapExactTokensForTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SwapExactTokensForTokens(&_UniswapV3Router2.TransactOpts, amountIn, amountOutMin, path, to) +} + +// SwapTokensForExactTokens is a paid mutator transaction binding the contract method 0x42712a67. +// +// Solidity: function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to) payable returns(uint256 amountIn) +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SwapTokensForExactTokens(opts *bind.TransactOpts, amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "swapTokensForExactTokens", amountOut, amountInMax, path, to) +} + +// SwapTokensForExactTokens is a paid mutator transaction binding the contract method 0x42712a67. +// +// Solidity: function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to) payable returns(uint256 amountIn) +func (_UniswapV3Router2 *UniswapV3Router2Session) SwapTokensForExactTokens(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SwapTokensForExactTokens(&_UniswapV3Router2.TransactOpts, amountOut, amountInMax, path, to) +} + +// SwapTokensForExactTokens is a paid mutator transaction binding the contract method 0x42712a67. +// +// Solidity: function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to) payable returns(uint256 amountIn) +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SwapTokensForExactTokens(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SwapTokensForExactTokens(&_UniswapV3Router2.TransactOpts, amountOut, amountInMax, path, to) +} + +// SweepToken is a paid mutator transaction binding the contract method 0xdf2ab5bb. +// +// Solidity: function sweepToken(address token, uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SweepToken(opts *bind.TransactOpts, token common.Address, amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "sweepToken", token, amountMinimum, recipient) +} + +// SweepToken is a paid mutator transaction binding the contract method 0xdf2ab5bb. +// +// Solidity: function sweepToken(address token, uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) SweepToken(token common.Address, amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SweepToken(&_UniswapV3Router2.TransactOpts, token, amountMinimum, recipient) +} + +// SweepToken is a paid mutator transaction binding the contract method 0xdf2ab5bb. +// +// Solidity: function sweepToken(address token, uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SweepToken(token common.Address, amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SweepToken(&_UniswapV3Router2.TransactOpts, token, amountMinimum, recipient) +} + +// SweepToken0 is a paid mutator transaction binding the contract method 0xe90a182f. +// +// Solidity: function sweepToken(address token, uint256 amountMinimum) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SweepToken0(opts *bind.TransactOpts, token common.Address, amountMinimum *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "sweepToken0", token, amountMinimum) +} + +// SweepToken0 is a paid mutator transaction binding the contract method 0xe90a182f. +// +// Solidity: function sweepToken(address token, uint256 amountMinimum) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) SweepToken0(token common.Address, amountMinimum *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SweepToken0(&_UniswapV3Router2.TransactOpts, token, amountMinimum) +} + +// SweepToken0 is a paid mutator transaction binding the contract method 0xe90a182f. +// +// Solidity: function sweepToken(address token, uint256 amountMinimum) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SweepToken0(token common.Address, amountMinimum *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SweepToken0(&_UniswapV3Router2.TransactOpts, token, amountMinimum) +} + +// SweepTokenWithFee is a paid mutator transaction binding the contract method 0x3068c554. +// +// Solidity: function sweepTokenWithFee(address token, uint256 amountMinimum, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SweepTokenWithFee(opts *bind.TransactOpts, token common.Address, amountMinimum *big.Int, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "sweepTokenWithFee", token, amountMinimum, feeBips, feeRecipient) +} + +// SweepTokenWithFee is a paid mutator transaction binding the contract method 0x3068c554. +// +// Solidity: function sweepTokenWithFee(address token, uint256 amountMinimum, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) SweepTokenWithFee(token common.Address, amountMinimum *big.Int, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SweepTokenWithFee(&_UniswapV3Router2.TransactOpts, token, amountMinimum, feeBips, feeRecipient) +} + +// SweepTokenWithFee is a paid mutator transaction binding the contract method 0x3068c554. +// +// Solidity: function sweepTokenWithFee(address token, uint256 amountMinimum, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SweepTokenWithFee(token common.Address, amountMinimum *big.Int, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SweepTokenWithFee(&_UniswapV3Router2.TransactOpts, token, amountMinimum, feeBips, feeRecipient) +} + +// SweepTokenWithFee0 is a paid mutator transaction binding the contract method 0xe0e189a0. +// +// Solidity: function sweepTokenWithFee(address token, uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) SweepTokenWithFee0(opts *bind.TransactOpts, token common.Address, amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "sweepTokenWithFee0", token, amountMinimum, recipient, feeBips, feeRecipient) +} + +// SweepTokenWithFee0 is a paid mutator transaction binding the contract method 0xe0e189a0. +// +// Solidity: function sweepTokenWithFee(address token, uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) SweepTokenWithFee0(token common.Address, amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SweepTokenWithFee0(&_UniswapV3Router2.TransactOpts, token, amountMinimum, recipient, feeBips, feeRecipient) +} + +// SweepTokenWithFee0 is a paid mutator transaction binding the contract method 0xe0e189a0. +// +// Solidity: function sweepTokenWithFee(address token, uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) SweepTokenWithFee0(token common.Address, amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.SweepTokenWithFee0(&_UniswapV3Router2.TransactOpts, token, amountMinimum, recipient, feeBips, feeRecipient) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes _data) returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) UniswapV3SwapCallback(opts *bind.TransactOpts, amount0Delta *big.Int, amount1Delta *big.Int, _data []byte) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "uniswapV3SwapCallback", amount0Delta, amount1Delta, _data) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes _data) returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) UniswapV3SwapCallback(amount0Delta *big.Int, amount1Delta *big.Int, _data []byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UniswapV3SwapCallback(&_UniswapV3Router2.TransactOpts, amount0Delta, amount1Delta, _data) +} + +// UniswapV3SwapCallback is a paid mutator transaction binding the contract method 0xfa461e33. +// +// Solidity: function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes _data) returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) UniswapV3SwapCallback(amount0Delta *big.Int, amount1Delta *big.Int, _data []byte) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UniswapV3SwapCallback(&_UniswapV3Router2.TransactOpts, amount0Delta, amount1Delta, _data) +} + +// UnwrapWETH9 is a paid mutator transaction binding the contract method 0x49404b7c. +// +// Solidity: function unwrapWETH9(uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) UnwrapWETH9(opts *bind.TransactOpts, amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "unwrapWETH9", amountMinimum, recipient) +} + +// UnwrapWETH9 is a paid mutator transaction binding the contract method 0x49404b7c. +// +// Solidity: function unwrapWETH9(uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) UnwrapWETH9(amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UnwrapWETH9(&_UniswapV3Router2.TransactOpts, amountMinimum, recipient) +} + +// UnwrapWETH9 is a paid mutator transaction binding the contract method 0x49404b7c. +// +// Solidity: function unwrapWETH9(uint256 amountMinimum, address recipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) UnwrapWETH9(amountMinimum *big.Int, recipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UnwrapWETH9(&_UniswapV3Router2.TransactOpts, amountMinimum, recipient) +} + +// UnwrapWETH90 is a paid mutator transaction binding the contract method 0x49616997. +// +// Solidity: function unwrapWETH9(uint256 amountMinimum) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) UnwrapWETH90(opts *bind.TransactOpts, amountMinimum *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "unwrapWETH90", amountMinimum) +} + +// UnwrapWETH90 is a paid mutator transaction binding the contract method 0x49616997. +// +// Solidity: function unwrapWETH9(uint256 amountMinimum) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) UnwrapWETH90(amountMinimum *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UnwrapWETH90(&_UniswapV3Router2.TransactOpts, amountMinimum) +} + +// UnwrapWETH90 is a paid mutator transaction binding the contract method 0x49616997. +// +// Solidity: function unwrapWETH9(uint256 amountMinimum) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) UnwrapWETH90(amountMinimum *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UnwrapWETH90(&_UniswapV3Router2.TransactOpts, amountMinimum) +} + +// UnwrapWETH9WithFee is a paid mutator transaction binding the contract method 0x9b2c0a37. +// +// Solidity: function unwrapWETH9WithFee(uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) UnwrapWETH9WithFee(opts *bind.TransactOpts, amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "unwrapWETH9WithFee", amountMinimum, recipient, feeBips, feeRecipient) +} + +// UnwrapWETH9WithFee is a paid mutator transaction binding the contract method 0x9b2c0a37. +// +// Solidity: function unwrapWETH9WithFee(uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) UnwrapWETH9WithFee(amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UnwrapWETH9WithFee(&_UniswapV3Router2.TransactOpts, amountMinimum, recipient, feeBips, feeRecipient) +} + +// UnwrapWETH9WithFee is a paid mutator transaction binding the contract method 0x9b2c0a37. +// +// Solidity: function unwrapWETH9WithFee(uint256 amountMinimum, address recipient, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) UnwrapWETH9WithFee(amountMinimum *big.Int, recipient common.Address, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UnwrapWETH9WithFee(&_UniswapV3Router2.TransactOpts, amountMinimum, recipient, feeBips, feeRecipient) +} + +// UnwrapWETH9WithFee0 is a paid mutator transaction binding the contract method 0xd4ef38de. +// +// Solidity: function unwrapWETH9WithFee(uint256 amountMinimum, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) UnwrapWETH9WithFee0(opts *bind.TransactOpts, amountMinimum *big.Int, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "unwrapWETH9WithFee0", amountMinimum, feeBips, feeRecipient) +} + +// UnwrapWETH9WithFee0 is a paid mutator transaction binding the contract method 0xd4ef38de. +// +// Solidity: function unwrapWETH9WithFee(uint256 amountMinimum, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) UnwrapWETH9WithFee0(amountMinimum *big.Int, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UnwrapWETH9WithFee0(&_UniswapV3Router2.TransactOpts, amountMinimum, feeBips, feeRecipient) +} + +// UnwrapWETH9WithFee0 is a paid mutator transaction binding the contract method 0xd4ef38de. +// +// Solidity: function unwrapWETH9WithFee(uint256 amountMinimum, uint256 feeBips, address feeRecipient) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) UnwrapWETH9WithFee0(amountMinimum *big.Int, feeBips *big.Int, feeRecipient common.Address) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.UnwrapWETH9WithFee0(&_UniswapV3Router2.TransactOpts, amountMinimum, feeBips, feeRecipient) +} + +// WrapETH is a paid mutator transaction binding the contract method 0x1c58db4f. +// +// Solidity: function wrapETH(uint256 value) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) WrapETH(opts *bind.TransactOpts, value *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.contract.Transact(opts, "wrapETH", value) +} + +// WrapETH is a paid mutator transaction binding the contract method 0x1c58db4f. +// +// Solidity: function wrapETH(uint256 value) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) WrapETH(value *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.WrapETH(&_UniswapV3Router2.TransactOpts, value) +} + +// WrapETH is a paid mutator transaction binding the contract method 0x1c58db4f. +// +// Solidity: function wrapETH(uint256 value) payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) WrapETH(value *big.Int) (*types.Transaction, error) { + return _UniswapV3Router2.Contract.WrapETH(&_UniswapV3Router2.TransactOpts, value) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Transactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Router2.contract.RawTransact(opts, nil) // calldata is disallowed for receive function +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapV3Router2 *UniswapV3Router2Session) Receive() (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Receive(&_UniswapV3Router2.TransactOpts) +} + +// Receive is a paid mutator transaction binding the contract receive function. +// +// Solidity: receive() payable returns() +func (_UniswapV3Router2 *UniswapV3Router2TransactorSession) Receive() (*types.Transaction, error) { + return _UniswapV3Router2.Contract.Receive(&_UniswapV3Router2.TransactOpts) +} diff --git a/bindings/uniswapv3ticklens/uniswapv3ticklens.go b/bindings/uniswapv3ticklens/uniswapv3ticklens.go new file mode 100644 index 00000000..6296d0f8 --- /dev/null +++ b/bindings/uniswapv3ticklens/uniswapv3ticklens.go @@ -0,0 +1,218 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package uniswapv3ticklens + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// ITickLensPopulatedTick is an auto generated low-level Go binding around an user-defined struct. +type ITickLensPopulatedTick struct { + Tick *big.Int + LiquidityNet *big.Int + LiquidityGross *big.Int +} + +// UniswapV3TicklensMetaData contains all meta data concerning the UniswapV3Ticklens contract. +var UniswapV3TicklensMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"int16\",\"name\":\"tickBitmapIndex\",\"type\":\"int16\"}],\"name\":\"getPopulatedTicksInWord\",\"outputs\":[{\"components\":[{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"int128\",\"name\":\"liquidityNet\",\"type\":\"int128\"},{\"internalType\":\"uint128\",\"name\":\"liquidityGross\",\"type\":\"uint128\"}],\"internalType\":\"structITickLens.PopulatedTick[]\",\"name\":\"populatedTicks\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", +} + +// UniswapV3TicklensABI is the input ABI used to generate the binding from. +// Deprecated: Use UniswapV3TicklensMetaData.ABI instead. +var UniswapV3TicklensABI = UniswapV3TicklensMetaData.ABI + +// UniswapV3Ticklens is an auto generated Go binding around an Ethereum contract. +type UniswapV3Ticklens struct { + UniswapV3TicklensCaller // Read-only binding to the contract + UniswapV3TicklensTransactor // Write-only binding to the contract + UniswapV3TicklensFilterer // Log filterer for contract events +} + +// UniswapV3TicklensCaller is an auto generated read-only Go binding around an Ethereum contract. +type UniswapV3TicklensCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3TicklensTransactor is an auto generated write-only Go binding around an Ethereum contract. +type UniswapV3TicklensTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3TicklensFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type UniswapV3TicklensFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// UniswapV3TicklensSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type UniswapV3TicklensSession struct { + Contract *UniswapV3Ticklens // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3TicklensCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type UniswapV3TicklensCallerSession struct { + Contract *UniswapV3TicklensCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// UniswapV3TicklensTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type UniswapV3TicklensTransactorSession struct { + Contract *UniswapV3TicklensTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// UniswapV3TicklensRaw is an auto generated low-level Go binding around an Ethereum contract. +type UniswapV3TicklensRaw struct { + Contract *UniswapV3Ticklens // Generic contract binding to access the raw methods on +} + +// UniswapV3TicklensCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type UniswapV3TicklensCallerRaw struct { + Contract *UniswapV3TicklensCaller // Generic read-only contract binding to access the raw methods on +} + +// UniswapV3TicklensTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type UniswapV3TicklensTransactorRaw struct { + Contract *UniswapV3TicklensTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewUniswapV3Ticklens creates a new instance of UniswapV3Ticklens, bound to a specific deployed contract. +func NewUniswapV3Ticklens(address common.Address, backend bind.ContractBackend) (*UniswapV3Ticklens, error) { + contract, err := bindUniswapV3Ticklens(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &UniswapV3Ticklens{UniswapV3TicklensCaller: UniswapV3TicklensCaller{contract: contract}, UniswapV3TicklensTransactor: UniswapV3TicklensTransactor{contract: contract}, UniswapV3TicklensFilterer: UniswapV3TicklensFilterer{contract: contract}}, nil +} + +// NewUniswapV3TicklensCaller creates a new read-only instance of UniswapV3Ticklens, bound to a specific deployed contract. +func NewUniswapV3TicklensCaller(address common.Address, caller bind.ContractCaller) (*UniswapV3TicklensCaller, error) { + contract, err := bindUniswapV3Ticklens(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &UniswapV3TicklensCaller{contract: contract}, nil +} + +// NewUniswapV3TicklensTransactor creates a new write-only instance of UniswapV3Ticklens, bound to a specific deployed contract. +func NewUniswapV3TicklensTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV3TicklensTransactor, error) { + contract, err := bindUniswapV3Ticklens(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &UniswapV3TicklensTransactor{contract: contract}, nil +} + +// NewUniswapV3TicklensFilterer creates a new log filterer instance of UniswapV3Ticklens, bound to a specific deployed contract. +func NewUniswapV3TicklensFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV3TicklensFilterer, error) { + contract, err := bindUniswapV3Ticklens(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &UniswapV3TicklensFilterer{contract: contract}, nil +} + +// bindUniswapV3Ticklens binds a generic wrapper to an already deployed contract. +func bindUniswapV3Ticklens(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(UniswapV3TicklensABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Ticklens *UniswapV3TicklensRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Ticklens.Contract.UniswapV3TicklensCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Ticklens *UniswapV3TicklensRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Ticklens.Contract.UniswapV3TicklensTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Ticklens *UniswapV3TicklensRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Ticklens.Contract.UniswapV3TicklensTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_UniswapV3Ticklens *UniswapV3TicklensCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _UniswapV3Ticklens.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_UniswapV3Ticklens *UniswapV3TicklensTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _UniswapV3Ticklens.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_UniswapV3Ticklens *UniswapV3TicklensTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _UniswapV3Ticklens.Contract.contract.Transact(opts, method, params...) +} + +// GetPopulatedTicksInWord is a free data retrieval call binding the contract method 0x351fb478. +// +// Solidity: function getPopulatedTicksInWord(address pool, int16 tickBitmapIndex) view returns((int24,int128,uint128)[] populatedTicks) +func (_UniswapV3Ticklens *UniswapV3TicklensCaller) GetPopulatedTicksInWord(opts *bind.CallOpts, pool common.Address, tickBitmapIndex int16) ([]ITickLensPopulatedTick, error) { + var out []interface{} + err := _UniswapV3Ticklens.contract.Call(opts, &out, "getPopulatedTicksInWord", pool, tickBitmapIndex) + + if err != nil { + return *new([]ITickLensPopulatedTick), err + } + + out0 := *abi.ConvertType(out[0], new([]ITickLensPopulatedTick)).(*[]ITickLensPopulatedTick) + + return out0, err + +} + +// GetPopulatedTicksInWord is a free data retrieval call binding the contract method 0x351fb478. +// +// Solidity: function getPopulatedTicksInWord(address pool, int16 tickBitmapIndex) view returns((int24,int128,uint128)[] populatedTicks) +func (_UniswapV3Ticklens *UniswapV3TicklensSession) GetPopulatedTicksInWord(pool common.Address, tickBitmapIndex int16) ([]ITickLensPopulatedTick, error) { + return _UniswapV3Ticklens.Contract.GetPopulatedTicksInWord(&_UniswapV3Ticklens.CallOpts, pool, tickBitmapIndex) +} + +// GetPopulatedTicksInWord is a free data retrieval call binding the contract method 0x351fb478. +// +// Solidity: function getPopulatedTicksInWord(address pool, int16 tickBitmapIndex) view returns((int24,int128,uint128)[] populatedTicks) +func (_UniswapV3Ticklens *UniswapV3TicklensCallerSession) GetPopulatedTicksInWord(pool common.Address, tickBitmapIndex int16) ([]ITickLensPopulatedTick, error) { + return _UniswapV3Ticklens.Contract.GetPopulatedTicksInWord(&_UniswapV3Ticklens.CallOpts, pool, tickBitmapIndex) +} diff --git a/bindings/weth.go b/bindings/weth.go new file mode 100644 index 00000000..533b233b --- /dev/null +++ b/bindings/weth.go @@ -0,0 +1,67 @@ +package bindings + +import ( + "context" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +const ( + WETH9 BindingType = "WETH9" +) + +type WETH struct { + *Manager + ctx context.Context + opts []*BindOptions +} + +func NewWETH(ctx context.Context, manager *Manager, opts []*BindOptions) (*WETH, error) { + if opts == nil { + opts = DefaultWETHBindOptions() + } + + for _, opt := range opts { + if err := opt.Validate(); err != nil { + return nil, err + } + } + + // Now lets register all the bindings with the manager + for _, opt := range opts { + for _, network := range opt.Networks { + if _, err := manager.RegisterBinding(network, opt.NetworkID, opt.Type, opt.Address, opt.ABI); err != nil { + return nil, err + } + } + } + + return &WETH{ + Manager: manager, + ctx: ctx, + opts: opts, + }, nil +} + +// WatchLockEvents starts watching for Lock events. +func (ps *WETH) WatchLockEvents(ctx context.Context) error { + return nil +} + +// WatchUnlockEvents starts watching for Unlock events. +func (ps *WETH) WatchUnlockEvents(ctx context.Context) error { + return nil +} + +func DefaultWETHBindOptions() []*BindOptions { + return []*BindOptions{ + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + NetworkID: utils.EthereumNetworkID, + Type: WETH9, + Address: common.HexToAddress("0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"), + ABI: `[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"},{"name":"wad","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"guy","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Withdrawal","type":"event"}]`, + }, + } +} diff --git a/bytecode/constructor.go b/bytecode/constructor.go index 1206866b..926e0635 100644 --- a/bytecode/constructor.go +++ b/bytecode/constructor.go @@ -21,10 +21,10 @@ type Argument struct { // Constructor represents a contract constructor. // It includes the ABI of the constructor, the raw signature, and the arguments. type Constructor struct { - Abi string `json:"abi"` // ABI of the constructor - Parsed abi.ABI `json:"-"` // Parsed ABI of the constructor - SignatureRaw string `json:"signature_raw"` // Raw signature of the constructor - Arguments []Argument // List of arguments in the constructor + Abi string `json:"abi"` // ABI of the constructor + Parsed abi.ABI `json:"-"` // Parsed ABI of the constructor + SignatureRaw string `json:"signature_raw"` // Raw signature of the constructor + Arguments []Argument `json:"arguments"` // List of arguments in the constructor UnpackedArguments []interface{} `json:"unpacked_arguments"` // List of unpacked arguments in the constructor } diff --git a/bytecode/log.go b/bytecode/log.go new file mode 100644 index 00000000..f497cafc --- /dev/null +++ b/bytecode/log.go @@ -0,0 +1,125 @@ +package bytecode + +import ( + "bytes" + "fmt" + "math/big" + "strings" + + abi "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/unpackdev/solgo/utils" +) + +// Topic represents a decoded topic from an Ethereum event log. +type Topic struct { + Name string `json:"name"` // Name of the topic + Value any `json:"value"` // Value of the topic, decoded into appropriate data type +} + +// Log encapsulates details of a decoded Ethereum event log. +type Log struct { + Event *abi.Event `json:"-"` // Event is the ABI definition of the log's event + Address common.Address `json:"address"` // Address is the address of the contract that emitted the event + Abi string `json:"abi"` // Abi is the ABI string of the event + SignatureHex common.Hash `json:"signature_hex"` // SignatureHex is the hex-encoded signature of the event + Signature string `json:"signature"` // Signature of the event + Type utils.LogEventType `json:"type"` // Type of the event as classified by solgo + Name string `json:"name"` // Name of the event + Data map[string]any `json:"data"` // Data contains the decoded event data + Topics []Topic `json:"topics"` // Topics are the decoded topics of the event +} + +// DecodeLogFromAbi decodes an Ethereum event log using the provided ABI. +// It returns a structured Log containing the decoded data and topics. +func DecodeLogFromAbi(log *types.Log, abiData []byte) (*Log, error) { + if log == nil || len(log.Topics) < 1 { + return nil, fmt.Errorf("log is nil or has no topics") + } + + logABI, err := abi.JSON(bytes.NewReader(abiData)) + if err != nil { + return nil, fmt.Errorf("failed to parse abi: %s", err) + } + + event, err := logABI.EventByID(log.Topics[0]) + if err != nil { + return nil, fmt.Errorf("failed to get event by id %s: %s", log.Topics[0].Hex(), err) + } + + data := make(map[string]any) + if err := event.Inputs.UnpackIntoMap(data, log.Data); err != nil { + return nil, fmt.Errorf("failed to unpack inputs into map: %s", err) + } + + decodedTopics := make([]Topic, len(log.Topics)) + for i, topic := range log.Topics { + if i == 0 { + continue + } + + decodedTopic, err := decodeTopic(topic, event.Inputs[i-1]) + if err != nil { + return nil, fmt.Errorf("failed to decode topic: %s", err) + } + + decodedTopics[i] = Topic{ + Name: event.Inputs[i-1].Name, + Value: decodedTopic, + } + } + + abi, _ := utils.EventToABI(event) + + toReturn := &Log{ + Event: event, + Address: log.Address, + Abi: abi, + SignatureHex: log.Topics[0], + Signature: strings.TrimLeft(event.String(), "event "), + Name: event.Name, + Type: utils.LogEventType(strings.ToLower(event.Name)), + Data: data, + Topics: decodedTopics[1:], // Exclude the first topic (event signature) + } + + return toReturn, nil +} + +// decodeTopic decodes a single topic from an Ethereum event log based on its ABI argument type. +func decodeTopic(topic common.Hash, argument abi.Argument) (interface{}, error) { + switch argument.Type.T { + case abi.AddressTy: + return common.BytesToAddress(topic.Bytes()), nil + case abi.BoolTy: + return topic[common.HashLength-1] == 1, nil + case abi.IntTy, abi.UintTy: + size := argument.Type.Size + if size > 256 { + return nil, fmt.Errorf("unsupported integer size: %d", size) + } + integer := new(big.Int).SetBytes(topic[:]) + if argument.Type.T == abi.IntTy && size < 256 { + integer = adjustIntSize(integer, size) + } + return integer, nil + case abi.StringTy: + return topic, nil + case abi.BytesTy, abi.FixedBytesTy: + return topic.Bytes(), nil + case abi.SliceTy, abi.ArrayTy: + return nil, fmt.Errorf("array/slice decoding not implemented") + default: + return nil, fmt.Errorf("decoding for type %v not implemented", argument.Type.T) + } +} + +// adjustIntSize adjusts the size of an integer to match its ABI-specified size. +// This is particularly relevant for signed integers smaller than 256 bits. +func adjustIntSize(integer *big.Int, size int) *big.Int { + if size == 256 || integer.Bit(size-1) == 0 { + return integer + } + return new(big.Int).Sub(integer, new(big.Int).Lsh(big.NewInt(1), uint(size))) +} diff --git a/bytecode/metadata.go b/bytecode/metadata.go index 7cecb6cc..b069f953 100644 --- a/bytecode/metadata.go +++ b/bytecode/metadata.go @@ -16,14 +16,14 @@ import ( // The structure and encoding of the metadata is defined by the Solidity compiler. // More information can be found at https://docs.soliditylang.org/en/v0.8.20/metadata.html#encoding-of-the-metadata-hash-in-the-bytecode type Metadata struct { - executionBytecode []byte // The execution bytecode of the contract - cborLength int16 // The length of the CBOR metadata - auxbytes []byte // The raw CBOR metadata - Ipfs []byte `cbor:"ipfs"` // The IPFS hash of the metadata, if present - Bzzr1 []byte `cbor:"bzzr1"` // The Swarm hash of the metadata, if present (version 1) - Bzzr0 []byte `cbor:"bzzr0"` // The Swarm hash of the metadata, if present (version 0) - Experimental []byte `cbor:"experimental"` // Experimental metadata, if present - Solc []byte `cbor:"solc"` // The version of the Solidity compiler used + executionBytecode []byte // The execution bytecode of the contract + cborLength int16 // The length of the CBOR metadata + auxbytes []byte // The raw CBOR metadata + Ipfs []byte `cbor:"ipfs"` // The IPFS hash of the metadata, if present + Bzzr1 []byte `cbor:"bzzr1"` // The Swarm hash of the metadata, if present (version 1) + Bzzr0 []byte `cbor:"bzzr0"` // The Swarm hash of the metadata, if present (version 0) + Experimental interface{} `cbor:"experimental"` // Experimental metadata, if present + Solc []byte `cbor:"solc"` // The version of the Solidity compiler used } func (m *Metadata) ToProto() *metadata_pb.BytecodeMetadata { @@ -51,11 +51,19 @@ func (m *Metadata) GetCompilerVersion() string { // GetExperimental returns whether the contract includes experimental metadata. func (m *Metadata) GetExperimental() bool { - toReturn, err := strconv.ParseBool(string(m.Experimental)) - if err != nil { - return false + if experimental, ok := m.Experimental.(string); ok { + toReturn, err := strconv.ParseBool(experimental) + if err != nil { + return false + } + return toReturn + } + + if experimental, ok := m.Experimental.(bool); ok { + return experimental } - return toReturn + + return false } // GetIPFS returns the IPFS hash of the contract's metadata, if present. @@ -134,7 +142,6 @@ func DecodeContractMetadata(bytecode []byte) (*Metadata, error) { if len(bytecode) >= bytesLength+cborLength { toReturn.executionBytecode = bytecode[:len(bytecode)-bytesLength-cborLength] toReturn.auxbytes = bytecode[len(bytecode)-bytesLength-cborLength : len(bytecode)-bytesLength] - if err := cbor.Unmarshal(toReturn.auxbytes, &toReturn); err != nil { return nil, err } diff --git a/bytecode/transaction.go b/bytecode/transaction.go new file mode 100644 index 00000000..c26a2ea5 --- /dev/null +++ b/bytecode/transaction.go @@ -0,0 +1,60 @@ +package bytecode + +import ( + "bytes" + "fmt" + "strings" + + abi "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/unpackdev/solgo/utils" +) + +// Transaction represents a decoded Ethereum transaction, including its ABI, signature, and method information. +type Transaction struct { + Abi string `json:"abi"` // ABI of the transaction + SignatureBytes []byte `json:"signature_bytes"` // Raw signature of the transaction + Signature string `json:"signature"` // Signature of the transaction + Type utils.TransactionMethodType `json:"type"` // Type of the transaction + Name string `json:"name"` // Name of the transaction + Method *abi.Method `json:"-"` + Inputs map[string]interface{} `json:"inputs"` // List of arguments in the transaction +} + +// DecodeTransactionFromAbi decodes an Ethereum transaction from its raw data and ABI. +// It extracts the method signature and arguments, and constructs a Transaction object +// containing this information along with the ABI for the method. +// +// data is the raw transaction data. abiData is the ABI of the smart contract in JSON format. +// This function returns a pointer to a Transaction object or an error if the decoding fails. +func DecodeTransactionFromAbi(data []byte, abiData []byte) (*Transaction, error) { + // The first 4 bytes of the data represent the ID of the method in the ABI. + methodSigData := data[:4] + + contractABI, err := abi.JSON(bytes.NewReader(abiData)) + if err != nil { + return nil, fmt.Errorf("failed to parse abi: %s", err) + } + + method, err := contractABI.MethodById(methodSigData) + if err != nil { + return nil, fmt.Errorf("failed to get method by id: %s", err) + } + + inputsSigData := data[4:] + inputsMap := make(map[string]interface{}) + if err := method.Inputs.UnpackIntoMap(inputsMap, inputsSigData); err != nil { + return nil, fmt.Errorf("failed to unpack inputs into map: %s", err) + } + + abi, _ := utils.MethodToABI(method) + + return &Transaction{ + Abi: abi, + SignatureBytes: methodSigData, + Signature: method.String(), + Name: method.Name, + Method: method, + Type: utils.TransactionMethodType(strings.ToLower(method.Name)), + Inputs: inputsMap, + }, nil +} diff --git a/cfg/builder.go b/cfg/builder.go index d557692b..69e05f88 100644 --- a/cfg/builder.go +++ b/cfg/builder.go @@ -1,161 +1,86 @@ package cfg import ( - "bytes" "context" "errors" - "fmt" "github.com/goccy/go-graphviz" - "github.com/goccy/go-graphviz/cgraph" "github.com/unpackdev/solgo/ir" ) -// Builder is responsible for constructing the control flow graph. +// Builder is responsible for constructing the control flow graph (CFG) of Solidity contracts. +// It utilizes the Intermediate Representation (IR) provided by solgo and Graphviz for graph operations. type Builder struct { - ctx context.Context // Context for the builder operations - builder *ir.Builder // IR builder from solgo - viz *graphviz.Graphviz // Graphviz instance for graph operations + ctx context.Context // Context for the builder operations. + builder *ir.Builder // IR builder from solgo, used for generating the IR of the contracts. + viz *graphviz.Graphviz // Graphviz instance for visualizing the CFG. + graph *Graph // Internal representation of the CFG. } -// NewBuilder initializes a new CFG builder. -func NewBuilder(ctx context.Context, builder *ir.Builder) *Builder { +// NewBuilder initializes a new CFG builder with the given context and IR builder. +// Returns an error if the provided IR builder is nil or if it does not have a root contract set. +func NewBuilder(ctx context.Context, builder *ir.Builder) (*Builder, error) { + if builder == nil || builder.GetRoot() == nil { + return nil, errors.New("builder is not set") + } + return &Builder{ ctx: ctx, builder: builder, viz: graphviz.New(), - } + graph: NewGraph(), + }, nil } -// Close releases any resources used by the Graphviz instance. -func (b *Builder) Close() error { - return b.viz.Close() +// GetGraph returns the internal Graph instance of the CFG. +func (b *Builder) GetGraph() *Graph { + return b.graph } -// GetGraphviz returns the underlying Graphviz instance. -func (b *Builder) GetGraphviz() *graphviz.Graphviz { - return b.viz -} - -// Build constructs the control flow graph for the given IR. -func (b *Builder) Build() (*cgraph.Graph, error) { - if b.viz == nil { - return nil, errors.New("graphviz instance is not set") - } - +// Build processes the Solidity contracts using the IR builder to construct the CFG. +// It identifies the entry contract and explores all dependencies and inherited contracts. +// Returns an error if the root node or entry contract is not set in the IR builder. +func (b *Builder) Build() error { root := b.builder.GetRoot() if root == nil { - return nil, errors.New("root node is not set") - } - - graph, err := b.viz.Graph() - if err != nil { - return nil, err + return errors.New("root node is not set in IR builder") } - if _, err := b.traverseIR(root, graph); err != nil { - return nil, err + entryContract := root.GetEntryContract() + if entryContract == nil { + return errors.New("no entry contract found") } - return graph, nil -} - -// traverseIR recursively traverses the IR to build nodes and edges for the graph. -func (b *Builder) traverseIR(root *ir.RootSourceUnit, graph *cgraph.Graph) (*cgraph.Node, error) { - rootNode, err := graph.CreateNode("You") - if err != nil { - return nil, err + if b.graph == nil { + b.graph = NewGraph() } - nodeMap := make(map[string]*cgraph.Node) - nodeMap["You"] = rootNode - - if len(root.Contracts) == 0 { - return nil, nil - } - - for _, contract := range root.Contracts { - // Create a subgraph for the contract with the "cluster" prefix - clusterName := fmt.Sprintf("cluster_%s", contract.GetName()) - contractSubGraph := graph.SubGraph(clusterName, 1) - contractSubGraph.SetLabel(contract.GetName()) - - // Create a node for the contract within the subgraph - contractNode, err := contractSubGraph.CreateNode(contract.GetName()) - if err != nil { - return nil, err - } - - // Link the rootNode to the contractNode - if _, err := graph.CreateEdge("", rootNode, contractNode); err != nil { - return nil, err - } - - // Traverse functions within the contract (assuming there's a method to get functions) - for _, function := range contract.GetFunctions() { - funcNode, err := contractSubGraph.CreateNode(function.GetName()) - if err != nil { - return nil, err - } - nodeMap[function.GetName()] = funcNode - - // Link the contractNode to the funcNode - if _, err := graph.CreateEdge("", contractNode, funcNode); err != nil { - return nil, err - } - - refFns := b.builder.LookupReferencedFunctionsByNode(function.GetAST()) - for _, refFn := range refFns { - refFnNode, exists := nodeMap[refFn.GetName()] - if !exists { - refFnNode, err = graph.CreateNode(refFn.GetName()) - if err != nil { - return nil, err - } - nodeMap[refFn.GetName()] = refFnNode + var dfs func(contract *ir.Contract, isEntryContract bool) + dfs = func(contract *ir.Contract, isEntryContract bool) { + if !b.graph.NodeExists(contract.GetName()) { + b.graph.AddNode(contract.GetName(), contract, isEntryContract) + allRelatedContracts := make([]*ir.Contract, 0) + for _, importStmt := range contract.GetImports() { + importedContract := root.GetContractById(importStmt.GetContractId()) + if importedContract != nil { + b.graph.AddDependency(contract.GetName(), importStmt) + allRelatedContracts = append(allRelatedContracts, importedContract) } - - // Create an edge from the current function node to the referenced function node - if _, err := graph.CreateEdge("", funcNode, refFnNode); err != nil { - return nil, err + } + for _, baseContract := range contract.GetBaseContracts() { + baseContractId := baseContract.GetBaseName().GetReferencedDeclaration() + baseContractObj := root.GetContractBySourceUnitId(baseContractId) + if baseContractObj != nil { + b.graph.AddInheritance(contract.GetName(), baseContract) + allRelatedContracts = append(allRelatedContracts, baseContractObj) } } + for _, relatedContract := range allRelatedContracts { + dfs(relatedContract, false) + } } } - return rootNode, nil -} - -// GenerateDOT produces the DOT representation of the given graph. -func (b *Builder) GenerateDOT(graph *cgraph.Graph) (string, error) { - if b.viz == nil { - return "", errors.New("graphviz instance is not set") - } - - if graph == nil { - return "", errors.New("graph is not set") - } - - var buf bytes.Buffer - if err := b.viz.Render(graph, "dot", &buf); err != nil { - return "", err - } - - return buf.String(), nil -} - -// SaveAs renders the graph to a file in the specified format. -func (b *Builder) SaveAs(graph *cgraph.Graph, format graphviz.Format, file string) error { - if b.viz == nil { - return errors.New("graphviz instance is not set") - } - - if graph == nil { - return errors.New("graph is not set") - } - - if err := b.viz.RenderFilename(graph, format, file); err != nil { - return err - } + dfs(entryContract, true) return nil } diff --git a/cfg/builder_json.go b/cfg/builder_json.go new file mode 100644 index 00000000..fa4fbb95 --- /dev/null +++ b/cfg/builder_json.go @@ -0,0 +1,27 @@ +package cfg + +import ( + "encoding/json" + "fmt" +) + +// ToJSON converts a specified contract or the entire graph to a JSON representation. +// This method is part of the Builder type which presumably builds or manages the CFG. +// +// If a contractName is provided, the method attempts to find and convert only the specified +// contract node within the graph to JSON. If the specified contract is not found, it returns +// an error. +// +// If no contractName is provided (i.e., an empty string), the method converts the entire graph +// to JSON, representing all nodes within the graph. +func (b *Builder) ToJSON(contractName string) ([]byte, error) { + if contractName == "" { + return json.Marshal(b.GetGraph().Nodes) + } + + node, exists := b.GetGraph().Nodes[contractName] + if !exists { + return []byte{}, fmt.Errorf("contract %s not found in the graph", contractName) + } + return json.Marshal(node) +} diff --git a/cfg/builder_mermaid.go b/cfg/builder_mermaid.go new file mode 100644 index 00000000..b722bce2 --- /dev/null +++ b/cfg/builder_mermaid.go @@ -0,0 +1,46 @@ +package cfg + +import ( + "fmt" + "strings" +) + +// ToMermaid generates a string representation of the control flow graph (CFG) in Mermaid syntax. +// Mermaid is a tool that generates diagrams and flowcharts from text in a similar manner as markdown. +// +// The function iterates through each node in the graph and constructs the Mermaid syntax accordingly. +// It represents each contract in the graph as a node in the Mermaid graph. Entry contracts are +// distinguished with a special notation. The function also visualizes dependencies and inheritance +// relationships between contracts using arrows in the Mermaid syntax. +// +// If the graph is nil or contains no nodes, the function returns a default string indicating that +// no contracts are found. +func (b *Builder) ToMermaid() string { + if b.graph == nil || len(b.graph.Nodes) == 0 { + return "graph LR\n No_Contracts[No contracts found]" + } + + var mermaidGraph strings.Builder + mermaidGraph.WriteString("graph LR\n") + for _, node := range b.graph.Nodes { + nodeName := node.Name + + if node.EntryContract { + mermaidGraph.WriteString(fmt.Sprintf(" %s[(%s - Entry)]\n", nodeName, nodeName)) + } else { + mermaidGraph.WriteString(fmt.Sprintf(" %s[%s]\n", nodeName, nodeName)) + } + + for _, imp := range node.Imports { + importedName := imp.GetAbsolutePath() + mermaidGraph.WriteString(fmt.Sprintf(" %s --> %s\n", nodeName, importedName)) + } + + for _, inherit := range node.Inherits { + inheritedName := inherit.BaseName.Name + mermaidGraph.WriteString(fmt.Sprintf(" %s -->|inherits| %s\n", nodeName, inheritedName)) + } + } + + return mermaidGraph.String() +} diff --git a/cfg/builder_printer.go b/cfg/builder_printer.go new file mode 100644 index 00000000..4b8bd924 --- /dev/null +++ b/cfg/builder_printer.go @@ -0,0 +1,58 @@ +package cfg + +import ( + "fmt" + "strings" +) + +// Print displays information about a specific contract or the entry contract in the graph. +// If the contractName is provided, it prints details of the specified contract. +// If the contractName is empty, it finds and prints details of the entry contract in the graph. +// +// The function prints the contract's name, its status as an entry contract, and recursively +// prints information about its imports and inherited contracts, if any. +func (b *Builder) Print(contractName string) { + if contractName == "" { + for _, node := range b.graph.Nodes { + if node.EntryContract { + b.printNode(node.Name, 0) + return + } + } + } else { + b.printNode(contractName, 0) + } +} + +// printNode is a helper function used by Print to recursively print details of a contract and its dependencies. +// It prints the contract's name, its status as an entry contract, and details of its imports and inherited contracts. +// The depth parameter is used for indentation purposes to represent the level of recursion and relationship in the graph. +func (b *Builder) printNode(name string, depth int) { + var output strings.Builder + + node, exists := b.graph.Nodes[name] + if !exists { + output.WriteString(fmt.Sprintf("%sContract %s not found in the graph.\n", strings.Repeat(" ", depth), name)) + fmt.Print(output.String()) + return + } + + indent := strings.Repeat(" ", depth) + output.WriteString(fmt.Sprintf("%sNode %s:\n", indent, node.Name)) + output.WriteString(fmt.Sprintf("%s Entry Contract: %v\n", indent, node.EntryContract)) + + if len(node.Imports) == 0 && len(node.Inherits) == 0 { + output.WriteString(fmt.Sprintf("%s No imports or base contracts\n", indent)) + } else { + for _, imp := range node.Imports { + output.WriteString(fmt.Sprintf("%s Imports: %s (ID: %d, File: %s)\n", indent, imp.GetAbsolutePath(), imp.GetId(), imp.GetFile())) + } + for _, inherit := range node.Inherits { + inheritedContractName := inherit.BaseName.Name + output.WriteString(fmt.Sprintf("%s Inherits: %s\n", indent, inheritedContractName)) + b.printNode(inheritedContractName, depth+1) + } + } + + fmt.Print(output.String()) +} diff --git a/cfg/builder_test.go b/cfg/builder_test.go index 726bb42a..c5f20b8d 100644 --- a/cfg/builder_test.go +++ b/cfg/builder_test.go @@ -2,10 +2,8 @@ package cfg import ( "context" - "path/filepath" "testing" - "github.com/goccy/go-graphviz" "github.com/stretchr/testify/assert" "github.com/unpackdev/solgo" "github.com/unpackdev/solgo/ast" @@ -97,41 +95,10 @@ func TestCfgBuilder(t *testing.T) { assert.NoError(t, parser.Build()) // Now we can get into the business of building the control flow graph - builder := NewBuilder(context.Background(), parser) + builder, err := NewBuilder(context.Background(), parser) + assert.NoError(t, err) assert.NotNil(t, builder) assert.IsType(t, &Builder{}, builder) - assert.NotNil(t, builder.GetGraphviz()) - - defer builder.Close() - - graph, err := builder.Build() - if testCase.wantErr { - assert.Error(t, err) - assert.Nil(t, graph) - return - } - - // Close the graph to free up resources. - // It is intentionally not closed in case that the graph is needed for further - // processing. - defer graph.Close() - - assert.NoError(t, err) - assert.NotNil(t, graph) - - outputPath := filepath.Join("..", "data", "tests", "cfg", testCase.sources.EntrySourceUnitName) - - // Save the graph to a file as a png file. - err = builder.SaveAs(graph, graphviz.PNG, outputPath+".png") - assert.NoError(t, err) - - // Save the graph to a file as a dot file. - dot, err := builder.GenerateDOT(graph) - assert.NoError(t, err) - assert.NotEmpty(t, dot) - - err = utils.WriteToFile(outputPath+".dot", []byte(dot)) - assert.NoError(t, err) }) @@ -143,67 +110,10 @@ func TestNewBuilder(t *testing.T) { parser := &ir.Builder{} ctx := context.Background() - builder := NewBuilder(ctx, parser) + builder, err := NewBuilder(ctx, parser) + assert.NoError(t, err) assert.NotNil(t, builder) assert.Equal(t, ctx, builder.ctx) assert.Equal(t, parser, builder.builder) assert.NotNil(t, builder.viz) } - -func TestClose(t *testing.T) { - parser := &ir.Builder{} - builder := NewBuilder(context.Background(), parser) - - err := builder.Close() - assert.NoError(t, err) -} - -func TestGetGraphviz(t *testing.T) { - parser := &ir.Builder{} - builder := NewBuilder(context.Background(), parser) - viz := builder.GetGraphviz() - assert.NotNil(t, viz) - assert.IsType(t, &graphviz.Graphviz{}, viz) -} - -func TestBuild(t *testing.T) { - parser := &ir.Builder{} - builder := NewBuilder(context.Background(), parser) - graph, err := builder.Build() - assert.Nil(t, graph) - assert.Error(t, err) - assert.Equal(t, "root node is not set", err.Error()) - builder.viz = nil - graph, err = builder.Build() - assert.Nil(t, graph) - assert.Error(t, err) - assert.Equal(t, "graphviz instance is not set", err.Error()) -} - -func TestGenerateDOT(t *testing.T) { - parser := &ir.Builder{} - builder := NewBuilder(context.Background(), parser) - dot, err := builder.GenerateDOT(nil) - assert.Empty(t, dot) - assert.Error(t, err) - assert.Equal(t, "graph is not set", err.Error()) - - builder.viz = nil - dot, err = builder.GenerateDOT(nil) - assert.Empty(t, dot) - assert.Error(t, err) - assert.Equal(t, "graphviz instance is not set", err.Error()) -} - -func TestSaveAs(t *testing.T) { - parser := &ir.Builder{} - builder := NewBuilder(context.Background(), parser) - err := builder.SaveAs(nil, graphviz.PNG, "test.png") - assert.Error(t, err) - assert.Equal(t, "graph is not set", err.Error()) - - builder.viz = nil - err = builder.SaveAs(nil, graphviz.PNG, "test.png") - assert.Error(t, err) - assert.Equal(t, "graphviz instance is not set", err.Error()) -} diff --git a/cfg/doc.go b/cfg/doc.go index 7051286a..b05c72af 100644 --- a/cfg/doc.go +++ b/cfg/doc.go @@ -1,10 +1,2 @@ -// Package cfg offers a comprehensive toolkit for constructing and visualizing -// control flow graphs (CFGs) of Solidity smart contracts. -// -// Key Features: -// - Initialization of CFG builders with context and solgo IR builders. -// - Seamless integration with the go-graphviz library for graph operations. -// - Recursive traversal of the IR to build nodes and edges for the CFG. -// - Capability to render the CFG into various formats including DOT and PNG. -// - Error handling and resource management for efficient graph operations. +// Package cfg provides structures and functions for building and manipulating control flow graphs (CFGs) of Solidity contracts. package cfg diff --git a/cfg/graph.go b/cfg/graph.go new file mode 100644 index 00000000..cc20318a --- /dev/null +++ b/cfg/graph.go @@ -0,0 +1,80 @@ +package cfg + +import ( + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/ir" +) + +// Graph represents a directed graph of Nodes, with each node representing a Solidity contract. +// The graph captures the relationships and dependencies among contracts within a project. +type Graph struct { + Nodes map[string]*Node +} + +// NewGraph creates and returns a new instance of a Graph. +func NewGraph() *Graph { + return &Graph{ + Nodes: make(map[string]*Node), + } +} + +// AddNode adds a new Node to the Graph. It takes the contract name, its IR representation, +// and a boolean indicating if it is an entry contract. If the node already exists, it does nothing. +func (g *Graph) AddNode(name string, contract *ir.Contract, isEntryContract bool) { + if _, exists := g.Nodes[name]; !exists { + g.Nodes[name] = &Node{ + Name: name, + Contract: contract, + EntryContract: isEntryContract, + Imports: []*ir.Import{}, + Inherits: []*ast.BaseContract{}, + } + } +} + +// AddDependency creates a dependency edge from one node to another by adding an import. +// The dependency is defined from 'from' node to 'to' import. +func (g *Graph) AddDependency(from string, to *ir.Import) { + fromNode, exists := g.Nodes[from] + if !exists { + fromNode = &Node{Name: from} + g.Nodes[from] = fromNode + } + fromNode.Imports = append(fromNode.Imports, to) +} + +// GetNodes returns all nodes present in the Graph. +func (g *Graph) GetNodes() map[string]*Node { + return g.Nodes +} + +// GetNode retrieves a node by name from the Graph. It returns nil if the node does not exist. +func (g *Graph) GetNode(name string) *Node { + if node, exists := g.Nodes[name]; exists { + return node + } + return nil +} + +// NodeExists checks if a node with the given name exists in the Graph. +func (g *Graph) NodeExists(name string) bool { + _, exists := g.Nodes[name] + return exists +} + +// AddInheritance adds an inheritance relationship from one node to a base contract. +// The relationship is added to the 'from' node's Inherits slice. +func (g *Graph) AddInheritance(from string, to *ast.BaseContract) { + fromNode, exists := g.Nodes[from] + if !exists { + fromNode = &Node{Name: from} + g.Nodes[from] = fromNode + } + + fromNode.Inherits = append(fromNode.Inherits, to) +} + +// CountNodes returns the total number of nodes in the Graph. +func (g *Graph) CountNodes() int { + return len(g.Nodes) +} diff --git a/cfg/node.go b/cfg/node.go new file mode 100644 index 00000000..38060411 --- /dev/null +++ b/cfg/node.go @@ -0,0 +1,69 @@ +package cfg + +import ( + "fmt" + + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/ir" +) + +// Node represents a node in the graph, encapsulating information about a Solidity contract. +// It includes the contract's name, IR representation, import dependencies, inherited contracts, +// and a flag indicating if it's the entry contract. +type Node struct { + Name string `json:"name"` + Contract *ir.Contract `json:"-"` + Imports []*ir.Import `json:"imports"` + Inherits []*ast.BaseContract `json:"inherits"` + EntryContract bool `json:"entry_contract"` +} + +// IsEntryContract returns true if the node represents an entry contract in the graph. +func (n *Node) IsEntryContract() bool { + return n.EntryContract +} + +// GetContract returns the IR representation of the Solidity contract encapsulated by the node. +func (n *Node) GetContract() *ir.Contract { + return n.Contract +} + +// GetImports returns a slice of all the import dependencies of the contract. +func (n *Node) GetImports() []*ir.Import { + return n.Imports +} + +// GetInherits returns a slice of all the contracts inherited by the contract. +func (n *Node) GetInherits() []*ast.BaseContract { + return n.Inherits +} + +// GetName returns the name of the Solidity contract. +func (n *Node) GetName() string { + return n.Name +} + +// GetImportNames returns a slice of the absolute paths of all import dependencies of the contract. +func (n *Node) GetImportNames() []string { + var names []string + for _, imp := range n.Imports { + names = append(names, imp.GetAbsolutePath()) + } + return names +} + +// GetInheritedContractNames returns a slice of names of all contracts inherited by the contract. +func (n *Node) GetInheritedContractNames() []string { + var names []string + for _, inherit := range n.Inherits { + names = append(names, inherit.BaseName.GetName()) + } + return names +} + +// ToString provides a string representation of the Node, including its name, entry contract status, +// imports, and inherited contracts. This is useful for debugging and logging purposes. +func (n *Node) ToString() string { + return fmt.Sprintf("Node{Name: %s, EntryContract: %t, Imports: %v, Inherits: %v}", + n.Name, n.EntryContract, n.GetImportNames(), n.GetInheritedContractNames()) +} diff --git a/cfg/onchain_test.go b/cfg/onchain_test.go new file mode 100644 index 00000000..3fe01237 --- /dev/null +++ b/cfg/onchain_test.go @@ -0,0 +1,167 @@ +package cfg + +import ( + "context" + "math/big" + "os" + "strings" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/unpackdev/solgo" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/ir" + "github.com/unpackdev/solgo/providers/etherscan" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" +) + +func TestOnchainContracts(t *testing.T) { + tAssert := assert.New(t) + + config := zap.NewDevelopmentConfig() + config.Level = zap.NewAtomicLevelAt(zap.InfoLevel) + config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder + logger, err := config.Build() + tAssert.NoError(err) + zap.ReplaceGlobals(logger) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + clientOptions := &clients.Options{ + Nodes: []clients.Node{ + { + Group: string(utils.Ethereum), + Type: "mainnet", + Endpoint: "ws://localhost:8545", + NetworkId: 1, + ConcurrentClientsNumber: 1, + }, + }, + } + + pool, err := clients.NewClientPool(ctx, clientOptions) + tAssert.NoError(err) + tAssert.NotNil(pool) + + etherscanApiKeys := os.Getenv("ETHERSCAN_API_KEYS") + etherscanProvider := etherscan.NewEtherScanProvider(ctx, nil, ðerscan.Options{ + Provider: etherscan.EtherScan, + Endpoint: "https://api.etherscan.io/api", + Keys: strings.Split(etherscanApiKeys, ","), + }) + tAssert.NotNil(etherscanProvider) + + testCases := []struct { + name string + address common.Address + isEmpty bool + atBlock *big.Int + length int + expectError bool + }{ + { + name: "IgnoreFudETH - 0x8dB4beACcd1698892821a9a0Dc367792c0cB9940", + address: common.HexToAddress("0x8dB4beACcd1698892821a9a0Dc367792c0cB9940"), + atBlock: nil, + length: 27, + expectError: false, + }, + { + name: "GROK - 0x8390a1da07e376ef7add4be859ba74fb83aa02d5", + address: common.HexToAddress("0x8390a1da07e376ef7add4be859ba74fb83aa02d5"), + atBlock: nil, + length: 28, + expectError: false, + }, + { + name: "OperationBlackRock - 0x01e99288ea767084cdabb1542aaa017425525f5b", + address: common.HexToAddress("0x01e99288ea767084cdabb1542aaa017425525f5b"), + atBlock: nil, + length: 26, + expectError: false, + }, + { + name: "NomiswapStableFactory - 0x818339b4E536E707f14980219037c5046b049dD4", + address: common.HexToAddress("0x818339b4E536E707f14980219037c5046b049dD4"), + atBlock: nil, + length: 6, + expectError: false, + }, + } + + for _, tc := range testCases { + //time.Sleep(1000 * time.Second) + t.Run(tc.name, func(t *testing.T) { + tAssert := assert.New(t) + + response, err := etherscanProvider.ScanContract(tc.address) + tAssert.NoError(err) + tAssert.NotNil(response) + + sources, err := solgo.NewSourcesFromEtherScan(response.Name, response.SourceCode) + tAssert.NoError(err) + tAssert.NotNil(sources) + require.True(t, sources.HasUnits()) + + parser, err := ir.NewBuilderFromSources(context.TODO(), sources) + if tc.expectError { + assert.Error(t, err) + assert.Nil(t, parser) + return + } + + assert.NoError(t, err) + assert.NotNil(t, parser) + assert.IsType(t, &ir.Builder{}, parser) + assert.IsType(t, &ast.ASTBuilder{}, parser.GetAstBuilder()) + assert.IsType(t, &solgo.Parser{}, parser.GetParser()) + assert.IsType(t, &solgo.Sources{}, parser.GetSources()) + + // Important step which will parse the sources and build the AST including check for + // reference errors and syntax errors. + // If you wish to only parse the sources without checking for errors, use + // parser.GetParser().Parse() + assert.Empty(t, parser.Parse()) + + // Now we can get into the business of building the intermediate representation + assert.NoError(t, parser.Build()) + + // Now we can get into the business of building the control flow graph + builder, err := NewBuilder(context.Background(), parser) + assert.NoError(t, err) + assert.NotNil(t, builder) + assert.IsType(t, &Builder{}, builder) + + err = builder.Build() + assert.NoError(t, err) + + jsonBytes, err := builder.ToJSON("") + assert.NoError(t, err) + assert.NotNil(t, jsonBytes) + + jsonPretty, err := utils.ToJSONPretty(builder.GetGraph().GetNodes()) + assert.NoError(t, err) + assert.NotNil(t, jsonPretty) + + mermaid := builder.ToMermaid() + assert.NotEmpty(t, mermaid) + + vars, err := builder.GetStorageStateVariables() + assert.NoError(t, err) + assert.NotNil(t, vars) + require.Equal(t, tc.length, len(vars)) + /* + for _, variable := range vars { + size, _ := variable.GetVariable().GetStorageSize() + t.Logf("Variable: %s - Size: %d", variable.GetVariable().GetName(), size) + } */ + }) + } + +} diff --git a/cfg/variables.go b/cfg/variables.go new file mode 100644 index 00000000..08f89e26 --- /dev/null +++ b/cfg/variables.go @@ -0,0 +1,128 @@ +package cfg + +import ( + "errors" + + "github.com/unpackdev/solgo/ir" +) + +// Variable represents a state variable within a smart contract. +// It encapsulates information about the state variable and its relationship +// to the contract it belongs to. +type Variable struct { + Node *Node // Node is the contract where the state variable is defined. + StateVariable *ir.StateVariable // StateVariable is the IR representation of the state variable. + IsEntry bool // IsEntry indicates if this variable is from the entry contract. +} + +// String returns the name of the state variable. +func (v *Variable) String() string { + return v.StateVariable.GetName() +} + +// GetNode returns the contract node associated with this state variable. +func (v *Variable) GetNode() *Node { + return v.Node +} + +// GetVariable returns the internal IR representation of the state variable. +func (v *Variable) GetVariable() *ir.StateVariable { + return v.StateVariable +} + +// GetContract returns the IR representation of the contract to which this variable belongs. +func (v *Variable) GetContract() *ir.Contract { + return v.Node.Contract +} + +// IsEntryContract checks if this variable is from the entry contract. +func (v *Variable) IsEntryContract() bool { + return v.IsEntry +} + +// GetOrderedStateVariables returns a slice of state variables in the order of their declaration. +// It fetches variables from the entry contract and follows the inheritance chain. +// Returns an error if the graph is not initialized or the entry contract is not found. +func (b *Builder) GetOrderedStateVariables() ([]*Variable, error) { + if b.graph == nil { + return nil, errors.New("graph is not initialized") + } + + var entryContract *Node + for _, node := range b.graph.Nodes { + if node.EntryContract { + entryContract = node + break + } + } + + if entryContract == nil { + return nil, errors.New("entry contract not found") + } + + var variables []*Variable + b.collectStateVariables(entryContract, &variables, entryContract.Name) + + return variables, nil +} + +// collectStateVariables is a helper function to recursively collect state variables +// from a given node and its inherited contracts. +func (b *Builder) collectStateVariables(node *Node, variables *[]*Variable, entryContractName string) { + // Collect state variables in reverse order of inheritance + for i := len(node.Inherits) - 1; i >= 0; i-- { + inheritedNode, exists := b.graph.Nodes[node.Inherits[i].BaseName.Name] + if exists { + b.collectStateVariables(inheritedNode, variables, entryContractName) + } + } + + // Add the state variables of the current node + for _, stateVar := range node.Contract.GetStateVariables() { + *variables = append(*variables, &Variable{ + Node: node, + StateVariable: stateVar, + IsEntry: node.Name == entryContractName, + }) + } +} + +// GetStorageStateVariables returns a slice of state variables relevant to storage. +// It follows the inheritance chain and collects variables from base contracts before the derived ones. +// Returns an error if the graph is not initialized or the entry contract is not found. +func (b *Builder) GetStorageStateVariables() ([]*Variable, error) { + if b.graph == nil { + return nil, errors.New("graph is not initialized") + } + + entryContract := b.graph.GetNode(b.builder.GetRoot().GetEntryContract().GetName()) + if entryContract == nil { + return nil, errors.New("entry contract not found") + } + + var variables []*Variable + b.collectStorageStateVariables(entryContract, &variables) + + return variables, nil +} + +// collectStorageStateVariables is a helper function to recursively collect storage state variables +// from a given node and its base contracts. +func (b *Builder) collectStorageStateVariables(node *Node, variables *[]*Variable) { + // First, add state variables of base contracts in the order of inheritance + for _, baseNodeRef := range node.Inherits { + baseNode := b.graph.GetNode(baseNodeRef.BaseName.GetName()) + if baseNode != nil { + b.collectStorageStateVariables(baseNode, variables) + } + } + + // Then, add state variables of the current contract + for _, stateVar := range node.Contract.GetStateVariables() { + *variables = append(*variables, &Variable{ + Node: node, + StateVariable: stateVar, + IsEntry: node.Name == b.builder.GetRoot().GetEntryContract().GetName(), + }) + } +} diff --git a/clients/client.go b/clients/client.go index 90e743ff..1cfa720b 100644 --- a/clients/client.go +++ b/clients/client.go @@ -50,7 +50,7 @@ func NewClient(ctx context.Context, opts *Node) (*Client, error) { // GetNetworkID retrieves the network ID for the client. func (c *Client) GetNetworkID() int64 { - return c.opts.NetworkId + return int64(c.opts.NetworkId) } // GetGroup retrieves the group associated with the client. diff --git a/clients/options.go b/clients/options.go index b24700a9..d51bb7b5 100644 --- a/clients/options.go +++ b/clients/options.go @@ -3,7 +3,7 @@ package clients // Options represents the configuration options for network nodes. type Options struct { // Nodes is a slice of Node representing the network nodes. - Nodes []Node `mapstructure:"network_nodes" yaml:"network_nodes" json:"network_nodes"` + Nodes []Node `mapstructure:"nodes" yaml:"nodes" json:"nodes"` } // GetNodes returns the slice of network nodes from the Options. @@ -20,19 +20,19 @@ type Node struct { Type string `mapstructure:"type" yaml:"type" json:"type"` // FailoverGroup represents the failover group name of the node. - FailoverGroup string `mapstructure:"failover_group" yaml:"failover_group" json:"failover_group"` + FailoverGroup string `mapstructure:"failoverGroup" yaml:"failoverGroup" json:"failoverGroup"` // FailoverType represents the type of failover for the node. - FailoverType string `mapstructure:"failover_type" yaml:"failover_type" json:"failover_type"` + FailoverType string `mapstructure:"failoverType" yaml:"failoverType" json:"failoverType"` // NetworkId represents the network ID of the node. - NetworkId int64 `mapstructure:"network_id" yaml:"network_id" json:"network_id"` + NetworkId int `mapstructure:"networkId" yaml:"networkId" json:"networkId"` // Endpoint represents the network endpoint of the node. Endpoint string `mapstructure:"endpoint" yaml:"endpoint" json:"endpoint"` - // ConcurrentClientsNumber represents the number of concurrent clients for the node. - ConcurrentClientsNumber int `mapstructure:"concurrent_clients_number" yaml:"concurrent_clients_number" json:"concurrent_clients_number"` + // ConcurrentClients represents the number of concurrent clients for the node. + ConcurrentClients int `mapstructure:"concurrentClients" yaml:"concurrentClients" json:"concurrentClients"` } // GetGroup returns the group name of the node. @@ -47,7 +47,7 @@ func (n *Node) GetType() string { // GetNetworkID returns the network ID of the node. func (n *Node) GetNetworkID() int64 { - return n.NetworkId + return int64(n.NetworkId) } // GetEndpoint returns the network endpoint of the node. @@ -67,5 +67,5 @@ func (n *Node) GetFailoverType() string { // GetConcurrentClientsNumber returns the number of concurrent clients for the node. func (n *Node) GetConcurrentClientsNumber() int { - return n.ConcurrentClientsNumber + return n.ConcurrentClients } diff --git a/clients/pool.go b/clients/pool.go index 9d01985e..a6ecb295 100644 --- a/clients/pool.go +++ b/clients/pool.go @@ -27,6 +27,11 @@ func (c *ClientPool) Len() int { return len(c.clients) } +// GetClients returns all clients in the pool. +func (c *ClientPool) GetClients() map[string][]*Client { + return c.clients +} + // GetClient retrieves a client based on the group and type in a round-robin fashion. func (c *ClientPool) GetClient(group, typ string) *Client { key := group + "_" + typ @@ -89,6 +94,44 @@ func (c *ClientPool) Close() { } } +// RegisterClient adds a new client to the pool. It takes the group and type of the client +// as well as the necessary parameters to create the client. +func (c *ClientPool) RegisterClient(ctx context.Context, networkId uint64, group, typ, endpoint string, concurrentClientsNumber int) error { + if group == "" || typ == "" || endpoint == "" { + return errors.New("invalid parameters: group, type, and endpoint are required") + } + if concurrentClientsNumber <= 0 { + return errors.New("concurrentClientsNumber must be greater than 0") + } + + mutex := sync.Mutex{} + g, ctx := errgroup.WithContext(ctx) + key := group + "_" + typ + + for i := 0; i < concurrentClientsNumber; i++ { + g.Go(func() error { + node := Node{Endpoint: endpoint, Group: group, Type: typ, NetworkId: int(networkId), ConcurrentClients: concurrentClientsNumber} + client, err := NewClient(ctx, &node) + if err != nil { + return err + } + + // Additional checks or configurations for the client can be added here + + mutex.Lock() + c.clients[key] = append(c.clients[key], client) + mutex.Unlock() + return nil + }) + } + + if err := g.Wait(); err != nil { + return err + } + + return nil +} + // NewClientPool initializes a new ClientPool with the given options. // It returns an error if the options are not set, if there are no nodes specified in the options, // or if there's an issue with any of the nodes' configurations. @@ -101,9 +144,9 @@ func NewClientPool(ctx context.Context, opts *Options) (*ClientPool, error) { return nil, ErrOptionsNotSet } - if len(opts.GetNodes()) == 0 { + /* if len(opts.GetNodes()) == 0 { return nil, ErrNodesNotSet - } + } */ for _, node := range opts.GetNodes() { if node.GetEndpoint() == "" { diff --git a/contracts/audit.go b/contracts/audit.go new file mode 100644 index 00000000..620f7210 --- /dev/null +++ b/contracts/audit.go @@ -0,0 +1,34 @@ +package contracts + +import ( + "context" + + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" +) + +func (c *Contract) Audit(ctx context.Context) error { + // We are going to process the contract auditing only if we have the detector and contracts. + // It's obvious tho... + if c.descriptor.HasDetector() && c.descriptor.HasContracts() { + // Make sure that auditor uses the same version of the compiler as the contract was compiled with. + //descriptor.GetDetector().GetAuditor().GetConfig().SetCompilerVersion(dbMetadata.CompilerVersion) + detector := c.descriptor.Detector + + semVer := utils.ParseSemanticVersion(c.descriptor.CompilerVersion) + detector.GetAuditor().GetConfig().SetCompilerVersion(semVer.String()) + + audit, err := c.descriptor.Detector.Analyze() + if err != nil { + zap.L().Debug( + "failed to analyze contract", + zap.Error(err), + zap.String("contract_address", c.descriptor.Address.Hex()), + ) + return err + } + c.descriptor.Audit = audit + } + + return nil +} diff --git a/contracts/bytecode.go b/contracts/bytecode.go new file mode 100644 index 00000000..d6ee8ff3 --- /dev/null +++ b/contracts/bytecode.go @@ -0,0 +1,15 @@ +package contracts + +import ( + "fmt" +) + +func (c *Contract) discoverDeployedBytecode() error { + code, err := c.client.CodeAt(c.ctx, c.addr, nil) + if err != nil { + return fmt.Errorf("failed to get code at address %s: %s", c.addr.Hex(), err) + } + c.descriptor.DeployedBytecode = code + + return nil +} diff --git a/contracts/chain.go b/contracts/chain.go new file mode 100644 index 00000000..4516a0c0 --- /dev/null +++ b/contracts/chain.go @@ -0,0 +1,73 @@ +package contracts + +import ( + "context" + "fmt" + "github.com/unpackdev/solgo/bindings" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +func (c *Contract) DiscoverChainInfo(ctx context.Context, otsLookup bool) error { + var info *bindings.CreatorInformation + + // What we are going to do, as erigon node is used in this particular case, is to query etherscan only if + // otterscan is not available. + if otsLookup { + var err error + info, err = c.bindings.GetContractCreator(ctx, c.network, c.addr) + if err != nil { + return fmt.Errorf("failed to get contract creator: %w", err) + } + } + + var txHash common.Hash + + if info == nil || info.CreationHash == utils.ZeroHash { + // Prior to continuing with the unpacking of the contract, we want to make sure that we can reach properly + // contract transaction and associated creation block. If we can't, we're not going to unpack it. + cInfo, err := c.etherscan.QueryContractCreationTx(ctx, c.addr) + if err != nil { + return fmt.Errorf("failed to query contract creation block and tx hash: %w", err) + } + txHash = cInfo.GetTransactionHash() + } else { + txHash = info.CreationHash + } + + // Alright now lets extract block and transaction as well as receipt from the blockchain. + // We're going to use archive node for this, as we want to be sure that we can get all the data. + + tx, _, err := c.client.TransactionByHash(ctx, txHash) + if err != nil { + return fmt.Errorf("failed to get transaction by hash: %s", err) + } + c.descriptor.Transaction = tx + + receipt, err := c.client.TransactionReceipt(ctx, txHash) + if err != nil { + return fmt.Errorf("failed to get transaction receipt by hash: %s", err) + } + c.descriptor.Receipt = receipt + + block, err := c.client.BlockByNumber(ctx, receipt.BlockNumber) + if err != nil { + return fmt.Errorf("failed to get block by number: %s", err) + } + c.descriptor.Block = block.Header() + + if len(c.descriptor.ExecutionBytecode) < 1 { + c.descriptor.ExecutionBytecode = c.descriptor.Transaction.Data() + } + + if len(c.descriptor.DeployedBytecode) < 1 { + code, err := c.client.CodeAt(ctx, receipt.ContractAddress, nil) + if err != nil { + return fmt.Errorf("failed to get contract code: %s", err) + } + c.descriptor.DeployedBytecode = code + } + + return nil +} diff --git a/contracts/constructor.go b/contracts/constructor.go new file mode 100644 index 00000000..a9ee03a5 --- /dev/null +++ b/contracts/constructor.go @@ -0,0 +1,60 @@ +package contracts + +import ( + "bytes" + "context" + "fmt" + "strings" + + "github.com/unpackdev/solgo/bytecode" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" +) + +func (c *Contract) DiscoverConstructor(ctx context.Context) error { + if c.descriptor.Detector != nil && c.descriptor.Detector.GetIR() != nil && c.descriptor.Detector.GetIR().GetRoot() != nil { + detector := c.descriptor.Detector + irRoot := detector.GetIR().GetRoot() + abiRoot := detector.GetABI().GetRoot() + + if irRoot.GetEntryContract() != nil && irRoot.GetEntryContract().GetConstructor() != nil && + abiRoot != nil && abiRoot.GetEntryContract().GetMethodByType("constructor") != nil { + cAbi, _ := utils.ToJSON(abiRoot.GetEntryContract().GetMethodByType("constructor")) + constructorAbi := fmt.Sprintf("[%s]", string(cAbi)) + + tx := c.descriptor.Transaction + deployedBytecode := c.descriptor.DeployedBytecode + + // Ensure that empty bytecode is not processed, otherwise: + // panic: runtime error: slice bounds out of range [:20] with capacity 0 + if len(deployedBytecode) < 20 { + return nil + } + + position := bytes.Index(tx.Data(), deployedBytecode[:20]) + if position != -1 { + adjustedData := tx.Data()[position:] + constructorDataIndex := len(deployedBytecode) + if constructorDataIndex > len(adjustedData) { + return fmt.Errorf("constructor data index out of range") + } + + constructor, err := bytecode.DecodeConstructorFromAbi(adjustedData[constructorDataIndex:], constructorAbi) + if err != nil { + if !strings.Contains(err.Error(), "would go over slice boundary") { + zap.L().Error( + "failed to decode constructor from bytecode", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + ) + } + return fmt.Errorf("failed to decode constructor from bytecode: %s", err) + } + c.descriptor.Constructor = constructor + } + } + } + + return nil +} diff --git a/contracts/contract.go b/contracts/contract.go new file mode 100644 index 00000000..7b524013 --- /dev/null +++ b/contracts/contract.go @@ -0,0 +1,210 @@ +package contracts + +import ( + "context" + "fmt" + + "github.com/0x19/solc-switch" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/exchanges" + "github.com/unpackdev/solgo/liquidity" + "github.com/unpackdev/solgo/metadata" + "github.com/unpackdev/solgo/providers/bitquery" + "github.com/unpackdev/solgo/providers/etherscan" + "github.com/unpackdev/solgo/simulator" + "github.com/unpackdev/solgo/storage" + "github.com/unpackdev/solgo/tokens" + "github.com/unpackdev/solgo/utils" +) + +// Metadata holds essential data related to an Ethereum smart contract. +// It includes information about the contract's bytecode, associated transactions, and blockchain context. +type Metadata struct { + RuntimeBytecode []byte + DeployedBytecode []byte + Block *types.Block + Transaction *types.Transaction + Receipt *types.Receipt +} + +// Contract represents an Ethereum smart contract within the context of a specific network. +// It encapsulates the contract's address, network information, and associated metadata, +// and provides methods to interact with the contract on the blockchain. +type Contract struct { + ctx context.Context + clientPool *clients.ClientPool + client *clients.Client + addr common.Address + network utils.Network + descriptor *Descriptor + liq *liquidity.Liquidity + sim *simulator.Simulator + token *tokens.Token + bqp *bitquery.BitQueryProvider + etherscan *etherscan.EtherScanProvider + compiler *solc.Solc + bindings *bindings.Manager + exchangeManager *exchanges.Manager + tokenBind *bindings.Token + stor *storage.Storage + ipfsProvider metadata.Provider +} + +// NewContract creates a new instance of Contract for a given Ethereum address and network. +// It initializes the contract's context, metadata, and associated blockchain clients. +// The function validates the contract's existence and its bytecode before creation. +func NewContract(ctx context.Context, network utils.Network, clientPool *clients.ClientPool, sim *simulator.Simulator, stor *storage.Storage, liq *liquidity.Liquidity, bqp *bitquery.BitQueryProvider, etherscan *etherscan.EtherScanProvider, compiler *solc.Solc, bindManager *bindings.Manager, exchange *exchanges.Manager, ipfsProvider metadata.Provider, addr common.Address) (*Contract, error) { + if clientPool == nil { + return nil, fmt.Errorf("client pool is nil") + } + + client := clientPool.GetClientByGroup(network.String()) + if client == nil { + return nil, fmt.Errorf("client for network %s is nil", network.String()) + } + + if !common.IsHexAddress(addr.Hex()) { + return nil, fmt.Errorf("invalid address provided: %s", addr.Hex()) + } + + tokenBind, err := bindings.NewToken(ctx, network, bindManager, bindings.DefaultTokenBindOptions(addr)) + if err != nil { + return nil, fmt.Errorf("failed to create new token %s bindings: %w", addr, err) + } + + token, err := tokens.NewToken( + ctx, + network, + addr, + utils.AnvilSimulator, + bindManager, + exchange, + sim, + clientPool, + ) + if err != nil { + return nil, fmt.Errorf("failed to create new token %s instance: %w", addr, err) + } + + toReturn := &Contract{ + ctx: ctx, + network: network, + clientPool: clientPool, + client: client, + addr: addr, + liq: liq, + bqp: bqp, + etherscan: etherscan, + compiler: compiler, + sim: sim, + descriptor: &Descriptor{ + Network: network, + NetworkID: utils.GetNetworkID(network), + Address: addr, + LiquidityPairs: make(map[utils.ExchangeType]common.Address), + Implementations: make([]common.Address, 0), + }, + bindings: bindManager, + exchangeManager: exchange, + token: token, + tokenBind: tokenBind, + stor: stor, + ipfsProvider: ipfsProvider, + } + + /* inspect, err := inspector.NewInspector(ctx, clientPool, toReturn) + if err != nil { + return nil, fmt.Errorf("failed to create new inspector: %w", err) + } + toReturn.inspector = inspect + */ + + return toReturn, nil +} + +// GetAddress returns the Ethereum address of the contract. +func (c *Contract) GetAddress() common.Address { + return c.addr +} + +// GetNetwork returns the network (e.g., Mainnet, Ropsten) on which the contract is deployed. +func (c *Contract) GetNetwork() utils.Network { + return c.network +} + +// GetDeployedBytecode returns the deployed bytecode of the contract. +// This bytecode is the compiled contract code that exists on the Ethereum blockchain. +func (c *Contract) GetDeployedBytecode() []byte { + return c.descriptor.DeployedBytecode +} + +// GetExecutionBytecode returns the runtime bytecode of the contract. +// This bytecode is used during the execution of contract calls and transactions. +func (c *Contract) GetExecutionBytecode() []byte { + return c.descriptor.ExecutionBytecode +} + +// GetBlock returns the blockchain block in which the contract was deployed or involved. +func (c *Contract) GetBlock() *types.Header { + return c.descriptor.Block +} + +// SetBlock sets the blockchain block in which the contract was deployed or involved. +func (c *Contract) SetBlock(block *types.Header) { + c.descriptor.Block = block +} + +// GetTransaction returns the Ethereum transaction associated with the contract's deployment or a specific operation. +func (c *Contract) GetTransaction() *types.Transaction { + return c.descriptor.Transaction +} + +// SetTransaction sets the Ethereum transaction associated with the contract's deployment or a specific operation. +func (c *Contract) SetTransaction(tx *types.Transaction) { + c.descriptor.Transaction = tx + c.descriptor.ExecutionBytecode = tx.Data() +} + +// GetReceipt returns the receipt of the transaction in which the contract was involved, +// providing details such as gas used and logs generated. +func (c *Contract) GetReceipt() *types.Receipt { + return c.descriptor.Receipt +} + +// SetReceipt sets the receipt of the transaction in which the contract was involved, +// providing details such as gas used and logs generated. +func (c *Contract) SetReceipt(receipt *types.Receipt) { + c.descriptor.Receipt = receipt +} + +// GetSender returns the Ethereum address of the sender of the contract's transaction. +// It extracts the sender's address using the transaction's signature. +func (c *Contract) GetSender() (common.Address, error) { + from, err := types.Sender(types.LatestSignerForChainID(c.descriptor.Transaction.ChainId()), c.descriptor.Transaction) + if err != nil { + return common.Address{}, fmt.Errorf("failed to get sender: %s", err) + } + + return from, nil +} + +func (c *Contract) GetToken() *tokens.Token { + return c.token +} + +// IsValid checks if the contract is valid by verifying its deployed bytecode. +// A contract is considered valid if it has non-empty deployed bytecode on the blockchain. +func (c *Contract) IsValid() (bool, error) { + if err := c.discoverDeployedBytecode(); err != nil { + return false, err + } + + return len(c.descriptor.DeployedBytecode) > 2, nil +} + +func (c *Contract) GetDescriptor() *Descriptor { + return c.descriptor +} diff --git a/contracts/descriptor.go b/contracts/descriptor.go new file mode 100644 index 00000000..c88e429a --- /dev/null +++ b/contracts/descriptor.go @@ -0,0 +1,343 @@ +package contracts + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/google/uuid" + "github.com/unpackdev/solgo" + "github.com/unpackdev/solgo/audit" + "github.com/unpackdev/solgo/bytecode" + "github.com/unpackdev/solgo/detector" + "github.com/unpackdev/solgo/inspector" + "github.com/unpackdev/solgo/ir" + "github.com/unpackdev/solgo/providers/etherscan" + "github.com/unpackdev/solgo/standards" + "github.com/unpackdev/solgo/tokens" + "github.com/unpackdev/solgo/utils" +) + +type TokenDescriptor struct { + Name string `json:"name"` + Symbol string `json:"symbol"` + Decimals uint8 `json:"decimals"` + TotalSupply *big.Int `json:"total_supply"` +} + +type SafetyDescriptor struct { + Mintable bool `json:"mintable"` + Burnable bool `json:"burnable"` + CanRenounceOwnership bool `json:"can_renounce_ownership"` +} + +type Descriptor struct { + + // Helpers, usually for database.... + UUID *uuid.UUID `json:"uuid,omitempty"` + NetworkUUID *uuid.UUID `json:"network_uuid,omitempty"` + BlockUUID *uuid.UUID `json:"block_uuid,omitempty"` + TransactionUUID *uuid.UUID `json:"transaction_uuid,omitempty"` + ContractUUID *uuid.UUID `json:"contract_uuid,omitempty"` + TokenUUID *uuid.UUID `json:"token_uuid,omitempty"` + + // Contract related fields. + Network utils.Network `json:"network"` + NetworkID utils.NetworkID `json:"network_id"` + Address common.Address `json:"address"` + ExecutionBytecode []byte `json:"execution_bytecode"` + DeployedBytecode []byte `json:"deployed_bytecode"` + Block *types.Header `json:"block,omitempty"` + Transaction *types.Transaction `json:"transaction,omitempty"` + Receipt *types.Receipt `json:"receipt,omitempty"` + ABI string `json:"abi,omitempty"` + Name string `json:"name,omitempty"` + License string `json:"license,omitempty"` + SolgoVersion string `json:"solgo_version,omitempty"` + CompilerVersion string `json:"compiler_version,omitempty"` + Optimized bool `json:"optimized,omitempty"` + OptimizationRuns uint64 `json:"optimization_runs,omitempty"` + EVMVersion string `json:"evm_version,omitempty"` + LiquidityPairs map[utils.ExchangeType]common.Address `json:"liquidity_pairs,omitempty"` + + // Identity related fields + Owner common.Address `json:"owner,omitempty"` + + // SourcesRaw is the raw sources from Etherscan|BscScan|etc. Should not be used anywhere except in + // the contract discovery process. + SourcesRaw *etherscan.Contract `json:"-"` + Sources *solgo.Sources `json:"sources,omitempty"` + SourcesProvider string `json:"sources_provider,omitempty"` + + // Source detection related fields. + Detector *detector.Detector `json:"-"` + IRRoot *ir.RootSourceUnit `json:"ir,omitempty"` + Constructor *bytecode.Constructor `json:"constructor,omitempty"` + Metadata *bytecode.Metadata `json:"metadata,omitempty"` + + // Auditing related fields. + Verified bool `json:"verified,omitempty"` + VerificationProvider string `json:"verification_provider,omitempty"` + Safe bool `json:"safe,omitempty"` + Audit *audit.Report `json:"audit,omitempty"` + Introspection *inspector.Report `json:"introspection,omitempty"` + + // Proxy + Proxy bool `json:"proxy"` + Implementations []common.Address `json:"implementations"` + + // Token related fields. + Token *tokens.Descriptor `json:"token,omitempty"` +} + +func (d *Descriptor) HasToken() bool { + return d.Token != nil +} + +func (d *Descriptor) HasConstructor() bool { + return d.Constructor != nil +} + +func (d *Descriptor) HasSources() bool { + return d.Sources != nil && d.Sources.HasUnits() +} + +func (d *Descriptor) HasAudit() bool { + return d.Audit != nil +} + +func (d *Descriptor) HasLiquidityPairs() bool { + return len(d.LiquidityPairs) > 0 +} + +func (d *Descriptor) HasUUID() bool { + return d.UUID != nil +} + +func (d *Descriptor) HasNetworkUUID() bool { + return d.NetworkUUID != nil +} + +func (d *Descriptor) HasMetadata() bool { + return d.Metadata != nil +} + +func (d *Descriptor) SetUUID(uuid *uuid.UUID) { + d.UUID = uuid +} + +func (d *Descriptor) HasBlockUUID() bool { + return d.BlockUUID != nil +} + +func (d *Descriptor) SetBlockUUID(uuid *uuid.UUID) { + d.BlockUUID = uuid +} + +func (d *Descriptor) HasTransactionUUID() bool { + return d.TransactionUUID != nil +} + +func (d *Descriptor) SetTransactionUUID(uuid *uuid.UUID) { + d.TransactionUUID = uuid +} + +func (d *Descriptor) SetCompilerVersion(ver string) { + d.CompilerVersion = ver +} + +func (d *Descriptor) HasDetector() bool { + if d.Detector != nil && d.Detector.GetIR() != nil && d.Detector.GetIR().GetRoot() != nil { + return true + } + + return false +} + +func (d *Descriptor) HasContracts() bool { + if d.HasDetector() && d.Detector.GetIR().GetRoot().HasContracts() { + return true + } + + return false +} + +func (d *Descriptor) IsERC20() bool { + if !d.HasDetector() { + return false + } + + return d.Detector.GetIR().GetRoot().HasHighConfidenceStandard(standards.ERC20) +} + +func (d *Descriptor) IsERC721() bool { + if !d.HasDetector() { + return false + } + + return d.Detector.GetIR().GetRoot().HasHighConfidenceStandard(standards.ERC721) +} + +func (d *Descriptor) IsERC1155() bool { + if !d.HasDetector() { + return false + } + + return d.Detector.GetIR().GetRoot().HasHighConfidenceStandard(standards.ERC1155) +} + +func (d *Descriptor) IsERC165() bool { + if !d.HasDetector() { + return false + } + + return d.Detector.GetIR().GetRoot().HasHighConfidenceStandard(standards.ERC165) +} + +func (d *Descriptor) GetIrRoot() *ir.RootSourceUnit { + return d.IRRoot +} + +func (d *Descriptor) GetToken() *tokens.Descriptor { + return d.Token +} + +func (d *Descriptor) GetAudit() *audit.Report { + return d.Audit +} + +func (d *Descriptor) GetIntrospection() *inspector.Report { + return d.Introspection +} + +func (d *Descriptor) GetMetadata() *bytecode.Metadata { + return d.Metadata +} + +func (d *Descriptor) GetConstructor() *bytecode.Constructor { + return d.Constructor +} + +func (d *Descriptor) GetSources() *solgo.Sources { + return d.Sources +} + +func (d *Descriptor) GetSourcesRaw() *etherscan.Contract { + return d.SourcesRaw +} + +func (d *Descriptor) GetSourcesProvider() string { + return d.SourcesProvider +} + +func (d *Descriptor) IsOptimized() bool { + return d.Optimized +} + +func (d *Descriptor) GetOptimizationRuns() uint64 { + return d.OptimizationRuns +} + +func (d *Descriptor) GetEVMVersion() string { + return d.EVMVersion +} + +func (d *Descriptor) GetABI() string { + return d.ABI +} + +func (d *Descriptor) GetLicense() string { + return d.License +} + +func (d *Descriptor) GetName() string { + return d.Name +} + +func (d *Descriptor) GetCompilerVersion() string { + return d.CompilerVersion +} + +func (d *Descriptor) GetSolgoVersion() string { + return d.SolgoVersion +} + +func (d *Descriptor) GetNetwork() utils.Network { + return d.Network +} + +func (d *Descriptor) GetNetworkID() utils.NetworkID { + return d.NetworkID +} + +func (d *Descriptor) GetAddress() common.Address { + return d.Address +} + +func (d *Descriptor) GetExecutionBytecode() []byte { + return d.ExecutionBytecode +} + +func (d *Descriptor) GetDeployedBytecode() []byte { + return d.DeployedBytecode +} + +func (d *Descriptor) GetBlock() *types.Header { + return d.Block +} + +func (d *Descriptor) GetTransaction() *types.Transaction { + return d.Transaction +} + +func (d *Descriptor) GetReceipt() *types.Receipt { + return d.Receipt +} + +func (d *Descriptor) GetLiquidityPairs() map[utils.ExchangeType]common.Address { + return d.LiquidityPairs +} + +func (d *Descriptor) GetDetector() *detector.Detector { + return d.Detector +} + +func (d *Descriptor) GetUUID() *uuid.UUID { + return d.UUID +} + +func (d *Descriptor) GetBlockUUID() *uuid.UUID { + return d.BlockUUID +} + +func (d *Descriptor) GetTransactionUUID() *uuid.UUID { + return d.TransactionUUID +} + +func (d *Descriptor) GetNetworkUUID() *uuid.UUID { + return d.NetworkUUID +} + +func (d *Descriptor) IsVerified() bool { + return d.Verified +} + +func (d *Descriptor) GetVerificationProvider() string { + return d.VerificationProvider +} + +func (d *Descriptor) IsSafe() bool { + return d.Safe +} + +func (d *Descriptor) HasIntropection() bool { + return d.Introspection != nil +} + +func (d *Descriptor) HasAuditReport() bool { + return d.Audit != nil +} + +func (d *Descriptor) GetOwner() common.Address { + return d.Owner +} diff --git a/contracts/helpers_test.go b/contracts/helpers_test.go new file mode 100644 index 00000000..6cdb93af --- /dev/null +++ b/contracts/helpers_test.go @@ -0,0 +1 @@ +package contracts diff --git a/contracts/inspect.go b/contracts/inspect.go new file mode 100644 index 00000000..1975b950 --- /dev/null +++ b/contracts/inspect.go @@ -0,0 +1,51 @@ +package contracts + +import ( + "context" + "fmt" + + "github.com/unpackdev/solgo/inspector" + "go.uber.org/zap" +) + +func (c *Contract) Inspect(ctx context.Context) (*inspector.Report, error) { + descriptor := c.GetDescriptor() + + inspector, err := inspector.NewInspector(c.ctx, c.network, descriptor.Detector, c.sim, c.stor, c.bindings, c.ipfsProvider, c.GetAddress(), c.token) + if err != nil { + return nil, fmt.Errorf( + "failed to create inspector: %s, network: %s, network_id: %d, contract: %s", + err, + c.network.String(), + c.descriptor.NetworkID, + c.GetAddress().Hex(), + ) + } + + // If contract does not have any source code available we don't want to check it here. + // In that case we will in the future go towards the opcodes... + if !inspector.IsReady() { + return nil, fmt.Errorf( + "inspection rejected as contract '%s' on network '%s' does not have any source code available", + c.GetAddress().Hex(), + c.network.String(), + ) + } + + inspector.RegisterDetectors() + + // Alright now we're at the point that we know contract should be checked for any type of malicious activity + if err := inspector.Inspect(); err != nil { + zap.L().Error( + "failure while inspecting contract", + zap.Error(err), + zap.Any("network", c.network), + zap.Any("network_id", c.descriptor.NetworkID), + zap.String("contract", descriptor.Address.Hex()), + ) + return nil, err + } + + descriptor.Introspection = inspector.GetReport() + return inspector.GetReport(), nil +} diff --git a/contracts/liquidity.go b/contracts/liquidity.go new file mode 100644 index 00000000..c2d95180 --- /dev/null +++ b/contracts/liquidity.go @@ -0,0 +1,9 @@ +package contracts + +import ( + "context" +) + +func (c *Contract) DiscoverLiquidity(ctx context.Context) error { + return nil +} diff --git a/contracts/log.go b/contracts/log.go new file mode 100644 index 00000000..ab373d84 --- /dev/null +++ b/contracts/log.go @@ -0,0 +1,124 @@ +package contracts + +import ( + "context" + "fmt" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/unpackdev/solgo/bytecode" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" +) + +type Log struct { + Log *types.Log + Address common.Address + Topics []common.Hash + Data []byte + BlockNumber uint64 + TxHash common.Hash + TxIndex uint + BlockHash common.Hash + Index uint + Removed bool + DecodedLog *bytecode.Log +} + +func (c *Contract) DecodeLog(ctx context.Context, log *types.Log) (*Log, error) { + toReturn := &Log{ + Log: log, + Address: log.Address, + Topics: log.Topics, + Data: log.Data, + BlockNumber: log.BlockNumber, + TxHash: log.TxHash, + TxIndex: log.TxIndex, + BlockHash: log.BlockHash, + Index: log.Index, + Removed: log.Removed, + } + + if c.descriptor.Detector != nil && c.descriptor.Detector.GetIR() != nil && c.descriptor.Detector.GetIR().GetRoot() != nil { + detector := c.descriptor.Detector + irRoot := detector.GetIR().GetRoot() + abiRoot := detector.GetABI().GetRoot() + + if irRoot.GetEntryContract() != nil { + for _, contract := range abiRoot.GetContracts() { + jsonData, err := utils.ToJSON(contract) + if err != nil { + return nil, fmt.Errorf("failed to convert contract to json: %s", err) + } + + logData, err := bytecode.DecodeLogFromAbi(log, jsonData) + if err != nil { + zap.L().Debug( + "failed to decode log from abi", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + zap.String("decode_type", "from_decoder"), + ) + continue + } + toReturn.DecodedLog = logData + return toReturn, nil + } + } + } else if len(c.descriptor.ABI) > 0 { + logData, err := bytecode.DecodeLogFromAbi(log, []byte(c.descriptor.ABI)) + if err != nil { + zap.L().Debug( + "failed to decode log from abi", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + zap.String("decode_type", "from_decoder"), + ) + return nil, err + } + toReturn.DecodedLog = logData + return toReturn, nil + } + + // There are contracts that just reuse different contracts a lot so we'll try to decode from storage + // This is a very expensive operation so we'll only do it if we have no other choice. + /* if storages := storage.GetStorages(); len(storages) > 0 { + for _, storage := range storages { + logData, err := bytecode.DecodeLogFromAbi(log, []byte(storage.ABI)) + if err != nil { + zap.L().Debug( + "failed to decode log from storage abi", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + zap.String("decode_type", "from_storage"), + ) + continue + } + toReturn.DecodedLog = logData + return toReturn, nil + } + } */ + + // Last attempt as we have no ABI and no IR to decode from :( + // What we have is bindings, quite a lot of them so let's try to decode from them. + for _, binding := range c.bindings.GetBindings(c.network) { + logData, err := bytecode.DecodeLogFromAbi(log, []byte(binding.GetRawABI())) + if err != nil { + zap.L().Debug( + "failed to decode log from binding abi", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + zap.String("decode_type", "from_bindings"), + ) + continue + } + toReturn.DecodedLog = logData + return toReturn, nil + } + + return nil, fmt.Errorf("failed to decode log from abi: %s", "signature not found") +} diff --git a/contracts/metadata.go b/contracts/metadata.go new file mode 100644 index 00000000..5926d141 --- /dev/null +++ b/contracts/metadata.go @@ -0,0 +1,38 @@ +package contracts + +import ( + "context" + "fmt" + + "github.com/unpackdev/solgo/bytecode" +) + +func (c *Contract) DiscoverMetadata(ctx context.Context) (*bytecode.Metadata, error) { + if len(c.GetDeployedBytecode()) < 3 { + return nil, fmt.Errorf("failed to discover metadata for contract %s due to invalid bytecode length", c.GetAddress()) + } + + bmetadata, err := bytecode.DecodeContractMetadata(c.GetDeployedBytecode()) + if err != nil { + return nil, fmt.Errorf("failed to decode contract %s metadata: %s", c.GetAddress(), err) + } + c.descriptor.Metadata = bmetadata + + /* if len(bmetadata.GetIPFS()) > 10 { + if len(bmetadata.GetCompilerVersion()) > 0 { + utils.DumpNodeNoExit(bmetadata.GetCompilerVersion()) + c.descriptor.SetCompilerVersion(bmetadata.GetCompilerVersion()) + } + + cmetadata, err := c.ipfsProvider.GetMetadataByCID(bmetadata.GetIPFS()) + if err != nil { + fmt.Println(err) + return nil, fmt.Errorf("failed to get contract %s metadata from IPFS: %s", c.GetAddress(), err) + } + + utils.DumpNodeNoExit(cmetadata) + utils.DumpNodeWithExit(bmetadata) + } */ + + return bmetadata, nil +} diff --git a/contracts/owner.go b/contracts/owner.go new file mode 100644 index 00000000..90fa5938 --- /dev/null +++ b/contracts/owner.go @@ -0,0 +1,54 @@ +package contracts + +import ( + "context" + "fmt" + + "github.com/ethereum/go-ethereum/common" +) + +func (c *Contract) DiscoverOwner(ctx context.Context) error { + if c.token == nil || c.tokenBind == nil { + return fmt.Errorf( + "failed to discover owner of contract %s: token is not set. Forgot to call discover token?", + c.GetAddress().Hex(), + ) + } + + owner, err := c.tokenBind.Owner(ctx, c.GetAddress()) + if err != nil { + return fmt.Errorf( + "failed to discover owner of contract %s: %w", + c.GetAddress().Hex(), + err, + ) + } + c.descriptor.Owner = owner + + return nil +} + +func (c *Contract) IsRenounounced() bool { + zeroAddresses := []common.Address{ + common.HexToAddress("0x0000000000000000000000000000000000000000"), + common.HexToAddress("0x000000000000000000000000000000000000dead"), + common.HexToAddress("0x000000000000000000000000000000000000dEaD"), + common.HexToAddress("0x0000000000000000000000000000000000000001"), + common.HexToAddress("0x0000000000000000000000000000000000000002"), + common.HexToAddress("0x0000000000000000000000000000000000000003"), + common.HexToAddress("0x0000000000000000000000000000000000000004"), + common.HexToAddress("0x0000000000000000000000000000000000000005"), + common.HexToAddress("0x0000000000000000000000000000000000000006"), + common.HexToAddress("0x0000000000000000000000000000000000000007"), + common.HexToAddress("0x0000000000000000000000000000000000000008"), + common.HexToAddress("0x0000000000000000000000000000000000000009"), + } + + for _, address := range zeroAddresses { + if c.descriptor.Owner == address { + return true + } + } + + return false +} diff --git a/contracts/parser.go b/contracts/parser.go new file mode 100644 index 00000000..dd3496ed --- /dev/null +++ b/contracts/parser.go @@ -0,0 +1,90 @@ +package contracts + +import ( + "context" + "fmt" + "strings" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/detector" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" +) + +func (c *Contract) Parse(ctx context.Context) error { + // Defer a function to catch and handle a panic + defer func() { + if r := recover(); r != nil { + zap.L().Error( + "Recovered from panic while parsing contract...", + zap.Any("panic", r), + zap.String("contract_address", c.addr.String()), + ) + } + }() + + // We are interested in attempt to decompile source code only if we actually have source code available. + if c.descriptor.Sources != nil && c.descriptor.Sources.HasUnits() { + parser, err := detector.NewDetectorFromSources(ctx, c.compiler, c.descriptor.Sources) + if err != nil { + zap.L().Error( + "Failed to create detector from sources", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + ) + return err + } + c.descriptor.Detector = parser + c.descriptor.SolgoVersion = utils.GetBuildVersionByModule("github.com/unpackdev/solgo") + + // Up until this point all is good for all of the contracts, however from this stage moving forward + // we are getting into issues where we are not capable ATM to parse contracts with < 0.6.0 version. + // Because of it, we are going to disable all of the functionality for this particular contract related to + // source code parsing. :( In the future we should sort this out but right now, MVP is the most important thing. + if utils.IsSemanticVersionLowerOrEqualTo(c.descriptor.CompilerVersion, utils.SemanticVersion{Major: 0, Minor: 5, Patch: 0}) { + // There are some contracts we want to ensure are not going to be parsed even if less. + // ETH: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 - 0.4.19 - WETH9 + if c.descriptor.Address != common.HexToAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2") { + return fmt.Errorf("not supported compiler version (older version): %v", c.descriptor.CompilerVersion) + } + } + + if errs := parser.Parse(); errs != nil { + for _, err := range errs { + zap.L().Debug( + "failed to parse contract sources", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + ) + } + } + + if err := parser.Build(); err != nil { + zap.L().Error( + "failed to build contract sources", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + ) + return err + } + c.descriptor.IRRoot = parser.GetIR().GetRoot() + + // What we should update here is get basically missing information from external sources corrected now... + if c.descriptor.Name == "" { + c.descriptor.Name = c.descriptor.IRRoot.GetEntryName() + } + + if c.descriptor.License == "" || c.descriptor.License == "None" && c.descriptor.IRRoot.GetEntryContract() != nil { + c.descriptor.License = c.descriptor.IRRoot.GetEntryContract().GetLicense() + c.descriptor.License = strings.ReplaceAll(c.descriptor.License, "\r", "") + c.descriptor.License = strings.ReplaceAll(c.descriptor.License, "\n", "") + c.descriptor.License = strings.TrimSpace(c.descriptor.License) + c.descriptor.License = strings.ToLower(c.descriptor.License) + } + } + + return nil +} diff --git a/contracts/proxy.go b/contracts/proxy.go new file mode 100644 index 00000000..53054c8d --- /dev/null +++ b/contracts/proxy.go @@ -0,0 +1,10 @@ +package contracts + +import ( + "context" +) + +func (c *Contract) DiscoverProxy(ctx context.Context) error { + + return nil +} diff --git a/contracts/registry.go b/contracts/registry.go new file mode 100644 index 00000000..64d1ab0c --- /dev/null +++ b/contracts/registry.go @@ -0,0 +1,47 @@ +package contracts + +import ( + "sync" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +var contractsRegistry = map[utils.Network]map[common.Address]*Contract{} +var crMutex = sync.Mutex{} + +func RegisterContract(network utils.Network, contract *Contract) { + crMutex.Lock() + defer crMutex.Unlock() + if _, ok := contractsRegistry[network]; !ok { + contractsRegistry[network] = map[common.Address]*Contract{} + } + + contractsRegistry[network][contract.GetAddress()] = contract +} + +func GetContract(network utils.Network, address common.Address) *Contract { + crMutex.Lock() + defer crMutex.Unlock() + if _, ok := contractsRegistry[network]; !ok { + return nil + } + + return contractsRegistry[network][address] +} + +func GetContracts(network utils.Network) map[common.Address]*Contract { + crMutex.Lock() + defer crMutex.Unlock() + if _, ok := contractsRegistry[network]; !ok { + return nil + } + + return contractsRegistry[network] +} + +func GetContractsRegistry() map[utils.Network]map[common.Address]*Contract { + crMutex.Lock() + defer crMutex.Unlock() + return contractsRegistry +} diff --git a/contracts/source.go b/contracts/source.go new file mode 100644 index 00000000..e3e8670b --- /dev/null +++ b/contracts/source.go @@ -0,0 +1,114 @@ +package contracts + +import ( + "context" + "fmt" + "github.com/ethereum/go-ethereum/common" + "strconv" + "strings" + "time" + + "github.com/unpackdev/solgo" + "github.com/unpackdev/solgo/providers/etherscan" + "go.uber.org/zap" +) + +func (c *Contract) DiscoverSourceCode(ctx context.Context) error { + var response *etherscan.Contract // Assuming ScanResponse is the type returned by ScanContract + var err error + + // Retry mechanism + const maxRetries = 10 + for i := 0; i < maxRetries; i++ { + response, err = c.etherscan.ScanContract(c.addr) + if err != nil { + if strings.Contains(err.Error(), "Max rate limit reached") { + // Wait for i*1000ms before retrying + time.Sleep(time.Duration(i*1000) * time.Millisecond) + continue + } else if !strings.Contains(err.Error(), "not found") && + !strings.Contains(err.Error(), "not verified") { + zap.L().Error( + "failed to scan contract source code", + zap.Error(err), + zap.String("network", c.network.String()), + zap.String("contract_address", c.addr.String()), + ) + } + return fmt.Errorf("failed to scan contract source code from %s: %s", c.etherscan.ProviderName(), err) + } + break // Exit loop if ScanContract is successful + } + + // Handle the case when all retries fail + if err != nil { + return fmt.Errorf("after %d retries, failed to scan contract source code from %s: %s", maxRetries, c.etherscan.ProviderName(), err) + } + + c.descriptor.SourcesRaw = response + + sources, err := solgo.NewSourcesFromEtherScan(response.Name, response.SourceCode) + if err != nil { + zap.L().Error( + "failed to create new sources from etherscan response", + zap.Error(err), + zap.String("network", c.network.String()), + zap.String("contract_address", c.addr.String()), + ) + return fmt.Errorf("failed to create new sources from etherscan response: %s", err) + } + + c.descriptor.Sources = sources + + license := strings.ReplaceAll(c.descriptor.SourcesRaw.LicenseType, "\r", "") + license = strings.ReplaceAll(license, "\n", "") + license = strings.TrimSpace(c.descriptor.SourcesRaw.LicenseType) + c.descriptor.License = license + + // Contract has no source code available. This is not critical error but annoyance that we can't decompile + // contract's source code. @TODO: Figure out with external toolings how to decompile bytecode... + // However we could potentially get information such as ABI from etherscan for future use... + // We are setting it here, however we are going to replace it with the one from the sources if we have it. + + optimized, err := strconv.ParseBool(c.descriptor.SourcesRaw.OptimizationUsed) + if err != nil { + zap.L().Error( + "failed to parse OptimizationUsed to bool", + zap.Error(err), + zap.String("OptimizationUsed", c.descriptor.SourcesRaw.OptimizationUsed), + ) + return err + } + + optimizationRuns, err := strconv.ParseUint(c.descriptor.SourcesRaw.Runs, 10, 64) + if err != nil { + zap.L().Error( + "failed to parse OptimizationRuns to uint64", + zap.Error(err), + zap.String("OptimizationRuns", c.descriptor.SourcesRaw.Runs), + ) + return err + } + + c.descriptor.Name = response.Name + c.descriptor.CompilerVersion = c.descriptor.SourcesRaw.CompilerVersion + c.descriptor.Optimized = optimized + c.descriptor.OptimizationRuns = optimizationRuns + c.descriptor.EVMVersion = c.descriptor.SourcesRaw.EVMVersion + c.descriptor.ABI = c.descriptor.SourcesRaw.ABI + c.descriptor.SourcesProvider = c.etherscan.ProviderName() + c.descriptor.Verified = true + c.descriptor.VerificationProvider = c.etherscan.ProviderName() + + proxy, _ := strconv.ParseBool(response.Proxy) + c.descriptor.Proxy = proxy + + if len(response.Implementation) > 10 { + c.descriptor.Implementations = append( + c.descriptor.Implementations, + common.HexToAddress(response.Implementation), + ) + } + + return nil +} diff --git a/contracts/storage.go b/contracts/storage.go new file mode 100644 index 00000000..85286b00 --- /dev/null +++ b/contracts/storage.go @@ -0,0 +1,13 @@ +package contracts + +import ( + "context" + "math/big" + + "github.com/unpackdev/solgo/utils" +) + +func (c *Contract) DiscoverStorage(ctx context.Context, atBlock *big.Int, simulate bool, simulatorType utils.SimulatorType) error { + + return nil +} diff --git a/contracts/token.go b/contracts/token.go new file mode 100644 index 00000000..76a20154 --- /dev/null +++ b/contracts/token.go @@ -0,0 +1,17 @@ +package contracts + +import ( + "context" + "math/big" + + "github.com/unpackdev/solgo/utils" +) + +func (c *Contract) DiscoverToken(ctx context.Context, atBlock *big.Int, simulate bool, simulatorType utils.SimulatorType) error { + descriptor, err := c.token.Unpack(ctx, atBlock, simulate, simulatorType) + if err != nil { + return err + } + c.descriptor.Token = descriptor + return nil +} diff --git a/contracts/transactions.go b/contracts/transactions.go new file mode 100644 index 00000000..93568421 --- /dev/null +++ b/contracts/transactions.go @@ -0,0 +1,74 @@ +package contracts + +import ( + "context" + "fmt" + "strings" + + "github.com/unpackdev/solgo/bytecode" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" +) + +func (c *Contract) DecodeTransaction(ctx context.Context, data []byte) (*bytecode.Transaction, error) { + if len(data) < 4 { + return nil, fmt.Errorf("invalid transaction data length: %d", len(data)) + } + + // The first 4 bytes of the t represent the ID of the method in the ABI. + methodSigData := data[:4] + + if c.descriptor.Detector != nil && c.descriptor.Detector.GetIR() != nil && c.descriptor.Detector.GetIR().GetRoot() != nil { + detector := c.descriptor.Detector + irRoot := detector.GetIR().GetRoot() + abiRoot := detector.GetABI().GetRoot() + + if irRoot.GetEntryContract() != nil { + for _, contract := range abiRoot.GetContracts() { + jsonData, err := utils.ToJSON(contract) + if err != nil { + return nil, fmt.Errorf("failed to convert contract to json: %s", err) + } + + transaction, err := bytecode.DecodeTransactionFromAbi(data, jsonData) + if err != nil { + if !strings.Contains(err.Error(), "failed to get method by id") { + zap.L().Error( + "failed to decode transaction from abi", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + zap.Binary("method_signature_data", methodSigData), + zap.String("decode_type", "from_contract"), + ) + } + continue + } + + return transaction, nil + } + } + } else if len(c.descriptor.ABI) > 0 { // We have ABI thankfully... + transaction, err := bytecode.DecodeTransactionFromAbi(data, []byte(c.descriptor.ABI)) + if err != nil { + if !strings.Contains(err.Error(), "failed to get method by id") { + zap.L().Error( + "failed to decode transaction from abi", + zap.Error(err), + zap.Any("network", c.network), + zap.String("contract_address", c.addr.String()), + zap.Binary("method_signature_data", methodSigData), + zap.String("decode_type", "from_raw_abi"), + ) + } + return nil, fmt.Errorf("failed to decode transaction from abi: %s", err) + } + + return transaction, nil + } + + // Signature itself is not found due to any of the above reasons... + // What you could do is have post hook to figure out based on your own signature logic. + + return nil, fmt.Errorf("failed to decode transaction from abi: %s", "signature not found") +} diff --git a/data/faucets/ethereum/0x02bC3b3e94A3444caf49227d99C23f15ED0E443F.json b/data/faucets/ethereum/0x02bC3b3e94A3444caf49227d99C23f15ED0E443F.json new file mode 100644 index 00000000..d24c5966 --- /dev/null +++ b/data/faucets/ethereum/0x02bC3b3e94A3444caf49227d99C23f15ED0E443F.json @@ -0,0 +1,15 @@ +{ + "address": "0x02bc3b3e94a3444caf49227d99c23f15ed0e443f", + "type": "keystore", + "private_key": "", + "public_key": "", + "account": { + "address": "0x02bc3b3e94a3444caf49227d99c23f15ed0e443f", + "url": "keystore:///home/cortex/github/txpull/solgo/data/faucets/ethereum/UTC--2023-12-11T16-47-06.594350547Z--02bc3b3e94a3444caf49227d99c23f15ed0e443f" + }, + "password": "c2ltdWxhdG9y", + "network": "ethereum", + "tags": [ + "test" + ] +} \ No newline at end of file diff --git a/data/faucets/ethereum/0x214c4Fc050707A04e2Afb6E2DdaFd12B006469db.json b/data/faucets/ethereum/0x214c4Fc050707A04e2Afb6E2DdaFd12B006469db.json new file mode 100644 index 00000000..1047e303 --- /dev/null +++ b/data/faucets/ethereum/0x214c4Fc050707A04e2Afb6E2DdaFd12B006469db.json @@ -0,0 +1,15 @@ +{ + "address": "0x214c4fc050707a04e2afb6e2ddafd12b006469db", + "type": "keystore", + "private_key": "", + "public_key": "", + "account": { + "address": "0x214c4fc050707a04e2afb6e2ddafd12b006469db", + "url": "keystore:///home/cortex/github/txpull/solgo/data/faucets/ethereum/UTC--2023-12-12T07-36-46.621082352Z--214c4fc050707a04e2afb6e2ddafd12b006469db" + }, + "password": "c2ltdWxhdG9y", + "network": "ethereum", + "tags": [ + "test" + ] +} \ No newline at end of file diff --git a/data/faucets/ethereum/0x3961da6e747e9CCe1C9C51e23A9E09102E63A1bB.json b/data/faucets/ethereum/0x3961da6e747e9CCe1C9C51e23A9E09102E63A1bB.json new file mode 100644 index 00000000..97a2bb13 --- /dev/null +++ b/data/faucets/ethereum/0x3961da6e747e9CCe1C9C51e23A9E09102E63A1bB.json @@ -0,0 +1,15 @@ +{ + "address": "0x3961da6e747e9cce1c9c51e23a9e09102e63a1bb", + "type": "keystore", + "private_key": "", + "public_key": "", + "account": { + "address": "0x3961da6e747e9cce1c9c51e23a9e09102e63a1bb", + "url": "keystore:///home/cortex/github/txpull/solgo/data/faucets/ethereum/UTC--2023-12-11T16-48-33.280229787Z--3961da6e747e9cce1c9c51e23a9e09102e63a1bb" + }, + "password": "c2ltdWxhdG9y", + "network": "ethereum", + "tags": [ + "test" + ] +} \ No newline at end of file diff --git a/data/faucets/ethereum/0x3fF22B6DeC4cAc22397f27d680b633fadcB1F382.json b/data/faucets/ethereum/0x3fF22B6DeC4cAc22397f27d680b633fadcB1F382.json new file mode 100644 index 00000000..838c4bca --- /dev/null +++ b/data/faucets/ethereum/0x3fF22B6DeC4cAc22397f27d680b633fadcB1F382.json @@ -0,0 +1,15 @@ +{ + "address": "0x3ff22b6dec4cac22397f27d680b633fadcb1f382", + "type": "keystore", + "private_key": "", + "public_key": "", + "account": { + "address": "0x3ff22b6dec4cac22397f27d680b633fadcb1f382", + "url": "keystore:///home/cortex/github/txpull/solgo/data/faucets/ethereum/UTC--2023-12-02T17-23-12.924329651Z--3ff22b6dec4cac22397f27d680b633fadcb1f382" + }, + "password": "c2ltdWxhdG9y", + "network": "ethereum", + "tags": [ + "test" + ] +} \ No newline at end of file diff --git a/data/faucets/ethereum/0x48D4C318C1B5814AdF3093bCd3AC18fa562aeBAf.json b/data/faucets/ethereum/0x48D4C318C1B5814AdF3093bCd3AC18fa562aeBAf.json new file mode 100644 index 00000000..bcacae44 --- /dev/null +++ b/data/faucets/ethereum/0x48D4C318C1B5814AdF3093bCd3AC18fa562aeBAf.json @@ -0,0 +1,15 @@ +{ + "address": "0x48d4c318c1b5814adf3093bcd3ac18fa562aebaf", + "type": "keystore", + "private_key": "", + "public_key": "", + "account": { + "address": "0x48d4c318c1b5814adf3093bcd3ac18fa562aebaf", + "url": "keystore:///home/cortex/github/txpull/solgo/data/faucets/ethereum/UTC--2023-12-12T06-40-00.675375280Z--48d4c318c1b5814adf3093bcd3ac18fa562aebaf" + }, + "password": "c2ltdWxhdG9y", + "network": "ethereum", + "tags": [ + "test" + ] +} \ No newline at end of file diff --git a/data/faucets/ethereum/0x691B1c557A8c1bf37d80F40b413d318d41539268.json b/data/faucets/ethereum/0x691B1c557A8c1bf37d80F40b413d318d41539268.json new file mode 100644 index 00000000..453f1dde --- /dev/null +++ b/data/faucets/ethereum/0x691B1c557A8c1bf37d80F40b413d318d41539268.json @@ -0,0 +1,15 @@ +{ + "address": "0x691b1c557a8c1bf37d80f40b413d318d41539268", + "type": "keystore", + "private_key": "", + "public_key": "", + "account": { + "address": "0x691b1c557a8c1bf37d80f40b413d318d41539268", + "url": "keystore:///home/cortex/github/txpull/solgo/data/faucets/ethereum/UTC--2023-12-11T16-46-27.095869061Z--691b1c557a8c1bf37d80f40b413d318d41539268" + }, + "password": "c2ltdWxhdG9y", + "network": "ethereum", + "tags": [ + "test" + ] +} \ No newline at end of file diff --git a/data/solc/releases/releases.json b/data/solc/releases/releases.json index 61447391..4ea6295c 100644 --- a/data/solc/releases/releases.json +++ b/data/solc/releases/releases.json @@ -1 +1 @@ -[{"url":"https://api.github.com/repos/ethereum/solidity/releases/128497568","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/128497568/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/128497568/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.23","id":128497568,"node_id":"RE_kwDOAm_5kc4HqLeg","tag_name":"v0.8.23","target_commitish":"develop","name":"Version 0.8.23","draft":false,"prerelease":false,"created_at":"2023-11-08T11:32:56Z","published_at":"2023-11-08T12:20:36Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134549428","id":134549428,"node_id":"RA_kwDOAm_5kc4IBQ-0","name":"solc-macos","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39492904,"download_count":66,"created_at":"2023-11-08T13:32:48Z","updated_at":"2023-11-08T13:32:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134549472","id":134549472,"node_id":"RA_kwDOAm_5kc4IBQ_g","name":"solc-static-linux","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14406328,"download_count":156,"created_at":"2023-11-08T13:32:56Z","updated_at":"2023-11-08T13:32:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134549492","id":134549492,"node_id":"RA_kwDOAm_5kc4IBQ_0","name":"solc-windows.exe","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":9014272,"download_count":104,"created_at":"2023-11-08T13:32:59Z","updated_at":"2023-11-08T13:33:02Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134547532","id":134547532,"node_id":"RA_kwDOAm_5kc4IBQhM","name":"solidity_0.8.23.tar.gz","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3315912,"download_count":615,"created_at":"2023-11-08T13:22:26Z","updated_at":"2023-11-08T13:22:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/solidity_0.8.23.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134549510","id":134549510,"node_id":"RA_kwDOAm_5kc4IBRAG","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8656105,"download_count":11,"created_at":"2023-11-08T13:33:02Z","updated_at":"2023-11-08T13:33:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.23","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.23","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.23](https://soliditylang.org/blog/2023/11/08/solidity-0.8.23-release-announcement).\r\n\r\n### Changelog\r\n\r\nImportant Bugfixes:\r\n * Optimizer: Fix block deduplicator bug which led to blocks which are identical apart from the contents of ``verbatim`` instructions to be treated as equivalent and thus collapsed into a single one.\r\n\r\nCompiler Features:\r\n * Commandline Interface: An empty ``--yul-optimizations`` sequence can now be always provided.\r\n * Standard JSON Interface: An empty ``optimizerSteps`` sequence can now always be provided.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nDaniel Kirchner, Kamil Śliwak, Markus Osterlund / robriks, Matheus Aguiar, Nikola Matić, Nuzair","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/128497568/reactions","total_count":15,"+1":0,"-1":0,"laugh":0,"hooray":3,"confused":0,"heart":0,"rocket":6,"eyes":6},"author":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/126568309","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/126568309/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/126568309/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.22","id":126568309,"node_id":"RE_kwDOAm_5kc4Hi0d1","tag_name":"v0.8.22","target_commitish":"develop","name":"Version 0.8.22","draft":false,"prerelease":false,"created_at":"2023-10-25T10:32:32Z","published_at":"2023-10-25T10:40:08Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132271270","id":132271270,"node_id":"RA_kwDOAm_5kc4H4kym","name":"solc-macos","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39476056,"download_count":161,"created_at":"2023-10-25T11:22:19Z","updated_at":"2023-10-25T11:22:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132271288","id":132271288,"node_id":"RA_kwDOAm_5kc4H4ky4","name":"solc-static-linux","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14402232,"download_count":470,"created_at":"2023-10-25T11:22:27Z","updated_at":"2023-10-25T11:22:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132271295","id":132271295,"node_id":"RA_kwDOAm_5kc4H4ky_","name":"solc-windows.exe","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":9010688,"download_count":207,"created_at":"2023-10-25T11:22:31Z","updated_at":"2023-10-25T11:22:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132270560","id":132270560,"node_id":"RA_kwDOAm_5kc4H4kng","name":"solidity_0.8.22.tar.gz","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3311722,"download_count":555,"created_at":"2023-10-25T11:14:57Z","updated_at":"2023-10-25T11:14:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/solidity_0.8.22.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132271302","id":132271302,"node_id":"RA_kwDOAm_5kc4H4kzG","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8653825,"download_count":25,"created_at":"2023-10-25T11:22:33Z","updated_at":"2023-10-25T11:22:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.22","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.22","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.22](https://soliditylang.org/blog/2023/10/25/solidity-0.8.22-release-announcement).\r\n\r\n**IMPORTANT NOTE:**\r\nThis release deprecates support for EVM versions older than Constantinople for the reason of ruling out the need to maintain multiple complex code paths or workarounds for ancient EVM versions. In case you rely on the support for such EVM versions, please reach out to us.\r\n\r\nNotable Features:\r\n\r\n* Unchecked loop increments\r\n* Adding support for importing EVM Assembly JSON (experimental)\r\n* Adjusting Yul optimizer to rematerialize zero literals\r\n\r\n### Changelog\r\n\r\nLanguage Features:\r\n\r\n * Allow defining events at file level.\r\n\r\nCompiler Features:\r\n\r\n* Code Generator: Remove redundant overflow checks of certain `for` loops when the counter variable cannot overflow.\r\n* Commandline Interface: Add `--no-import-callback` option that prevents the compiler from loading source files not given explicitly on the CLI or in Standard JSON input.\r\n* Commandline Interface: Add an experimental `--import-asm-json` option that can import EVM assembly in the format used by `--asm-json`.\r\n* Commandline Interface: Use proper severity and coloring also for error messages produced outside of the compilation pipeline.\r\n* EVM: Deprecate support for \"homestead\", \"tangerineWhistle\", \"spuriousDragon\" and \"byzantium\" EVM versions.\r\n* Parser: Remove the experimental error recovery mode (`--error-recovery` / `settings.parserErrorRecovery`).\r\n* SMTChecker: Support user-defined operators.\r\n* Yul Optimizer: If `PUSH0` is supported, favor zero literals over storing zero values in variables.\r\n* Yul Optimizer: Run the `Rematerializer` and `UnusedPruner` steps at the end of the default clean-up sequence.\r\n\r\nBugfixes:\r\n\r\n* Code Generator: Fix output from via-IR code generator being dependent on which files were discovered by import callback. In some cases, a different AST ID assignment would alter the order of functions in internal dispatch, resulting in superficially different but semantically equivalent bytecode.\r\n* NatSpec: Fix internal error when requesting `userdoc` or `devdoc` for a contract that emits an event defined in a foreign contract or interface.\r\n* SMTChecker: Fix encoding error that causes loops to unroll after completion.\r\n* SMTChecker: Fix inconsistency on constant condition checks when `while` or `for` loops are unrolled before the condition check.\r\n* Yul Optimizer: Fix replacement decisions during CSE being affected by Yul variable names generated by the compiler, resulting in different (but equivalent) bytecode in some situations.\r\n \r\n AST Changes:\r\n\r\n * AST: Fix wrong initial ID for Yul nodes in the AST.\r\n \r\nWe especially thank all the contributors that made this release possible:\r\nAlejandro Criado-Pérez, Alexander Arlt, Bhargava Shastry, Daniel, Jun Zhang, Kamil Śliwak, Leo, Martin Blicha, Matheus Aguiar, Nikola Matić, Paul Wackerow, Pawel Gebal, Saw-mon \u0026 Natalie, Zach Obront, franzihei, omahs, pgebal, r0qs, shalaamum","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/126568309/reactions","total_count":49,"+1":4,"-1":0,"laugh":4,"hooray":1,"confused":0,"heart":21,"rocket":13,"eyes":6},"author":{"login":"mehtavishwa30","id":32997409,"node_id":"MDQ6VXNlcjMyOTk3NDA5","avatar_url":"https://avatars.githubusercontent.com/u/32997409?v=4","url":"https://api.github.com/users/mehtavishwa30","html_url":"https://github.com/mehtavishwa30","followers_url":"https://api.github.com/users/mehtavishwa30/followers","following_url":"https://api.github.com/users/mehtavishwa30/following{/other_user}","gists_url":"https://api.github.com/users/mehtavishwa30/gists{/gist_id}","starred_url":"https://api.github.com/users/mehtavishwa30/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mehtavishwa30/subscriptions","organizations_url":"https://api.github.com/users/mehtavishwa30/orgs","repos_url":"https://api.github.com/users/mehtavishwa30/repos","events_url":"https://api.github.com/users/mehtavishwa30/events{/privacy}","received_events_url":"https://api.github.com/users/mehtavishwa30/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/112778674","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/112778674/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/112778674/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.21","id":112778674,"node_id":"RE_kwDOAm_5kc4GuN2y","tag_name":"v0.8.21","target_commitish":"develop","name":"Version 0.8.21","draft":false,"prerelease":false,"created_at":"2023-07-19T08:56:46Z","published_at":"2023-07-19T08:57:55Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655248","id":117655248,"node_id":"RA_kwDOAm_5kc4HA0bQ","name":"solc-macos","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39315872,"download_count":1100,"created_at":"2023-07-19T09:45:42Z","updated_at":"2023-07-19T09:45:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655243","id":117655243,"node_id":"RA_kwDOAm_5kc4HA0bL","name":"solc-static-linux","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14234200,"download_count":4457,"created_at":"2023-07-19T09:45:41Z","updated_at":"2023-07-19T09:45:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655239","id":117655239,"node_id":"RA_kwDOAm_5kc4HA0bH","name":"solc-windows.exe","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8905216,"download_count":1080,"created_at":"2023-07-19T09:45:40Z","updated_at":"2023-07-19T09:45:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655023","id":117655023,"node_id":"RA_kwDOAm_5kc4HA0Xv","name":"solidity_0.8.21.tar.gz","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":4055931,"download_count":2129,"created_at":"2023-07-19T09:44:00Z","updated_at":"2023-07-19T09:44:02Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/solidity_0.8.21.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655235","id":117655235,"node_id":"RA_kwDOAm_5kc4HA0bD","name":"soljson.js","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8641019,"download_count":187,"created_at":"2023-07-19T09:45:38Z","updated_at":"2023-07-19T09:45:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.21","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.21","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.21](https://soliditylang.org/blog/2023/07/19/solidity-0.8.21-release-announcement/). \r\n\r\n### Changelog\r\n\r\nImportant Bugfixes:\r\n * Code Generator: Always generate code for the expression in ``\u003cexpression\u003e.selector`` in the legacy code generation pipeline.\r\n * Yul Optimizer: Fix ``FullInliner`` step (``i``) not preserving the evaluation order of arguments passed into inlined functions in code that is not in expression-split form (i.e. when using a custom optimizer sequence in which the step not preceded by ``ExpressionSplitter`` (``x``)).\r\n\r\n\r\nLanguage Features:\r\n * Allow qualified access to events from other contracts.\r\n * Relax restrictions on initialization of immutable variables. Reads and writes may now happen at any point at construction time outside of functions and modifiers. Explicit initialization is no longer mandatory.\r\n\r\n\r\nCompiler Features:\r\n * Commandline Interface: Add ``--ast-compact-json`` output in assembler mode.\r\n * Commandline Interface: Add ``--ir-ast-json`` and ``--ir-optimized-ast-json`` outputs for Solidity input, providing AST in compact JSON format for IR and optimized IR.\r\n * Commandline Interface: Respect ``--optimize-yul`` and ``--no-optimize-yul`` in compiler mode and accept them in assembler mode as well. ``--optimize --no-optimize-yul`` combination now allows enabling EVM assembly optimizer without enabling Yul optimizer.\r\n * EWasm: Remove EWasm backend.\r\n * Parser: Introduce ``pragma experimental solidity``, which will enable an experimental language mode that, in particular, has no stability guarantees between non-breaking releases and is not suited for production use.\r\n * SMTChecker: Add ``--model-checker-print-query`` CLI option and ``settings.modelChecker.printQuery`` JSON option to output the SMTChecker queries in the SMTLIB2 format. This requires using ``smtlib2`` solver only.\r\n * Standard JSON Interface: Add ``ast`` file-level output for Yul input.\r\n * Standard JSON Interface: Add ``irAst`` and ``irOptimizedAst`` contract-level outputs for Solidity input, providing AST in compact JSON format for IR and optimized IR.\r\n * Yul Optimizer: Remove experimental ``ReasoningBasedSimplifier`` optimization step.\r\n * Yul Optimizer: Stack-to-memory mover is now enabled by default whenever possible for via IR code generation and pure Yul compilation.\r\n\r\n\r\nBugfixes:\r\n * Code Generator: Disallow complex expressions whose results are types, built-ins, modules or some unassignable functions. The legacy code generation pipeline would not actually evaluate them, discarding any side effects they might have.\r\n * Code Generator: Fix not entirely deterministic order of functions in unoptimized Yul output. The choice of C++ compiler in some cases would result in different (but equivalent) bytecode (especially from native binaries vs emscripten binaries).\r\n * Commandline Interface: Fix internal error when using ``--stop-after parsing`` and requesting some of the outputs that require full analysis or compilation.\r\n * Commandline Interface: It is no longer possible to specify both ``--optimize-yul`` and ``--no-optimize-yul`` at the same time.\r\n * SMTChecker: Fix encoding of side-effects inside ``if`` and ``ternary conditional``statements in the BMC engine.\r\n * SMTChecker: Fix false negative when a verification target can be violated only by a trusted external call from another public function.\r\n * SMTChecker: Fix generation of invalid SMT-LIB2 scripts in BMC engine with trusted mode for external calls when CHC engine times out.\r\n * SMTChecker: Fix internal error caused by incorrectly classifying external function call using function pointer as a public getter.\r\n * SMTChecker: Fix internal error caused by using external identifier to encode member access to functions that take an internal function as a parameter.\r\n * Standard JSON Interface: Fix an incomplete AST being returned when analysis is interrupted by certain kinds of fatal errors.\r\n * Type Checker: Disallow using certain unassignable function types in complex expressions.\r\n * Type Checker: Function declaration types referring to different declarations are no longer convertible to each other.\r\n * Yul Optimizer: Ensure that the assignment of memory slots for variables moved to memory does not depend on AST IDs that may depend on whether additional files are included during compilation.\r\n * Yul Optimizer: Fix ``FullInliner`` step not ignoring code that is not in expression-split form.\r\n * Yul Optimizer: Fix optimized IR being unnecessarily passed through the Yul optimizer again before bytecode generation.\r\n\r\n\r\nAST Changes:\r\n * AST: Add the ``experimentalSolidity`` field to the ``SourceUnit`` nodes, which indicates whether the experimental parsing mode has been enabled via ``pragma experimental solidity``.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlejandro Criado-Pérez, Alexander Arlt, Alexandre Ferreira, Bhargava Shastry, Cliff Syner, Daniel Kirchner, David Bar-On, GiokaMarkella, Jun Zhang, Kaan Uzdoğan, Kamil Śliwak, Leo Alt, Martin Blicha, Matheus Aguiar, Nikola Matić, Nuno Santos, Paul Wackerow, Pawel Gebal, johnnygee19, minaminao, r0qs\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/112778674/reactions","total_count":51,"+1":24,"-1":0,"laugh":0,"hooray":10,"confused":0,"heart":2,"rocket":12,"eyes":3},"author":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/102234583","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/102234583/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/102234583/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.20","id":102234583,"node_id":"RE_kwDOAm_5kc4GF_nX","tag_name":"v0.8.20","target_commitish":"develop","name":"Version 0.8.20","draft":false,"prerelease":false,"created_at":"2023-05-10T10:21:29Z","published_at":"2023-05-10T11:21:23Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543410","id":107543410,"node_id":"RA_kwDOAm_5kc4GaPty","name":"solc-macos","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39840512,"download_count":1185,"created_at":"2023-05-10T12:18:12Z","updated_at":"2023-05-10T12:18:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543464","id":107543464,"node_id":"RA_kwDOAm_5kc4GaPuo","name":"solc-static-linux","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14660184,"download_count":24771,"created_at":"2023-05-10T12:18:31Z","updated_at":"2023-05-10T12:18:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543508","id":107543508,"node_id":"RA_kwDOAm_5kc4GaPvU","name":"solc-windows.exe","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9193984,"download_count":1845,"created_at":"2023-05-10T12:18:48Z","updated_at":"2023-05-10T12:18:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543158","id":107543158,"node_id":"RA_kwDOAm_5kc4GaPp2","name":"solidity_0.8.20.tar.gz","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3263637,"download_count":2254,"created_at":"2023-05-10T12:15:50Z","updated_at":"2023-05-10T12:15:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/solidity_0.8.20.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543533","id":107543533,"node_id":"RA_kwDOAm_5kc4GaPvt","name":"soljson.js","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8802374,"download_count":164,"created_at":"2023-05-10T12:18:55Z","updated_at":"2023-05-10T12:19:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.20","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.20","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.20](https://soliditylang.org/blog/2023/05/10/solidity-0.8.20-release-announcement/). \r\nThis latest version includes a range of improvements and, most importantly, support for Shanghai!\r\nIt also contains performance improvements in the via-IR pipeline and improves the list of events exposed in the contract ABI.\r\n\r\n**IMPORTANT NOTE:** This compiler switches the **default** target EVM version to Shanghai, which means that the generated bytecode will include ``PUSH0`` opcodes. Be sure to select the appropriate EVM version in case you intend to deploy on a chain other than mainnet like L2 chains that may not yet support ``PUSH0``, otherwise deployment of your contracts will fail.\r\n\r\n### Changelog\r\n\r\n**Compiler Features:**\r\n * Assembler: Use ``push0`` for placing ``0`` on the stack for EVM versions starting from \"Shanghai\". This decreases the deployment and runtime costs.\r\n * EVM: Set default EVM version to \"Shanghai\".\r\n * EVM: Support for the EVM Version \"Shanghai\".\r\n * NatSpec: Add support for NatSpec documentation in ``enum`` definitions.\r\n * NatSpec: Add support for NatSpec documentation in ``struct`` definitions.\r\n * NatSpec: Include NatSpec from events that are emitted by a contract but defined outside of it in userdoc and devdoc output.\r\n * Optimizer: Re-implement simplified version of ``UnusedAssignEliminator`` and ``UnusedStoreEliminator``. It can correctly remove some unused assignments in deeply nested loops that were ignored by the old version.\r\n * Parser: Unary plus is no longer recognized as a unary operator in the AST and triggers an error at the parsing stage (rather than later during the analysis).\r\n * SMTChecker: Group all messages about unsupported language features in a single warning. The CLI option ``--model-checker-show-unsupported`` and the JSON option ``settings.modelChecker.showUnsupported`` can be enabled to show the full list.\r\n * SMTChecker: Properties that are proved safe are now reported explicitly at the end of analysis. By default, only the number of safe properties is shown. The CLI option ``--model-checker-show-proved-safe`` and the JSON option ``settings.modelChecker.showProvedSafe`` can be enabled to show the full list of safe properties.\r\n * Standard JSON Interface: Add experimental support for importing ASTs via Standard JSON.\r\n * Yul EVM Code Transform: If available, use ``push0`` instead of ``codesize`` to produce an arbitrary value on stack in order to create equal stack heights between branches.\r\n\r\n\r\n**Bugfixes:**\r\n * ABI: Include events in the ABI that are emitted by a contract but defined outside of it.\r\n * Immutables: Disallow initialization of immutables in try/catch statements.\r\n * SMTChecker: Fix false positives in ternary operators that contain verification targets in its branches, directly or indirectly.\r\n\r\n\r\n**AST Changes:**\r\n * AST: Add the ``internalFunctionIDs`` field to the AST nodes of contracts containing IDs of functions that may be called via the internal dispatch. The field is a map from function AST IDs to internal dispatch function IDs. These IDs are always generated, but they are only used in via-IR code generation.\r\n * AST: Add the ``usedEvents`` field to ``ContractDefinition`` which contains the AST IDs of all events emitted by the contract as well as all events defined and inherited by the contract.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlexander Arlt, Alex Beregszaszi, Bhargava Shastry, chriseth, Christian Parpart, Daniel Kirchner, Francois-Rene Rideau, hrkrshnn, Kaan Uzdoğan, Kamil Śliwak, Leo Alt, Matheus Aguiar, Michael de Hoog, minaminao, mmqxyz, Nikola Matic, Nuno Santos, Ojas Aklecha, Peter Lemenkov, Rodrigo Q. Saramago, uji, Vaibhaw\r\n\r\nIf you want to perform a source build, please only use [`solidity_0.8.20.tar.gz`](https://github.com/ethereum/solidity/releases/download/v0.8.20/solidity_0.8.20.tar.gz) and not the source archives generated automatically by GitHub.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/102234583/reactions","total_count":122,"+1":56,"-1":0,"laugh":0,"hooray":23,"confused":0,"heart":10,"rocket":33,"eyes":0},"author":{"login":"NunoFilipeSantos","id":2582498,"node_id":"MDQ6VXNlcjI1ODI0OTg=","avatar_url":"https://avatars.githubusercontent.com/u/2582498?v=4","url":"https://api.github.com/users/NunoFilipeSantos","html_url":"https://github.com/NunoFilipeSantos","followers_url":"https://api.github.com/users/NunoFilipeSantos/followers","following_url":"https://api.github.com/users/NunoFilipeSantos/following{/other_user}","gists_url":"https://api.github.com/users/NunoFilipeSantos/gists{/gist_id}","starred_url":"https://api.github.com/users/NunoFilipeSantos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NunoFilipeSantos/subscriptions","organizations_url":"https://api.github.com/users/NunoFilipeSantos/orgs","repos_url":"https://api.github.com/users/NunoFilipeSantos/repos","events_url":"https://api.github.com/users/NunoFilipeSantos/events{/privacy}","received_events_url":"https://api.github.com/users/NunoFilipeSantos/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/93281256","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/93281256/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/93281256/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.19","id":93281256,"node_id":"RE_kwDOAm_5kc4Fj1vo","tag_name":"v0.8.19","target_commitish":"develop","name":"Version 0.8.19","draft":false,"prerelease":false,"created_at":"2023-02-22T13:25:21Z","published_at":"2023-02-22T14:19:40Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96675123","id":96675123,"node_id":"RA_kwDOAm_5kc4FwyUz","name":"solc-macos","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39508984,"download_count":2533,"created_at":"2023-02-22T15:00:06Z","updated_at":"2023-02-22T15:01:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96675229","id":96675229,"node_id":"RA_kwDOAm_5kc4FwyWd","name":"solc-static-linux","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14590552,"download_count":24079,"created_at":"2023-02-22T15:01:06Z","updated_at":"2023-02-22T15:01:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96675251","id":96675251,"node_id":"RA_kwDOAm_5kc4FwyWz","name":"solc-windows.exe","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9150464,"download_count":1426,"created_at":"2023-02-22T15:01:22Z","updated_at":"2023-02-22T15:01:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96672865","id":96672865,"node_id":"RA_kwDOAm_5kc4Fwxxh","name":"solidity_0.8.19.tar.gz","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3239230,"download_count":2536,"created_at":"2023-02-22T14:44:18Z","updated_at":"2023-02-22T14:44:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/solidity_0.8.19.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96675264","id":96675264,"node_id":"RA_kwDOAm_5kc4FwyXA","name":"soljson.js","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8580750,"download_count":167,"created_at":"2023-02-22T15:01:33Z","updated_at":"2023-02-22T15:01:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.19","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.19","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.19](https://soliditylang.org/blog/2023/02/22/solidity-0.8.19-release-announcement/). \r\nThis latest version includes a range of improvements and, most importantly, [custom operators for user-defined value types](https://blog.soliditylang.org/2023/02/22/user-defined-operators) language feature!\r\nIt also contains a fix for a long-standing bug that can result in code that is only used in creation code to also be included in runtime bytecode.\r\n\r\n### Changelog\r\n**Language Features:**\r\n* Allow defining custom operators for user-defined value types via ``using {f as +} for T global`` syntax.\r\n\r\n\r\n**Compiler Features:**\r\n * SMTChecker: New trusted mode that assumes that any compile-time available code is the actual used code, even in external calls. This can be used via the CLI option ``--model-checker-ext-calls trusted`` or the JSON field ``settings.modelChecker.extCalls: \"trusted\"``.\r\n\r\n\r\n**Bugfixes:**\r\n * Assembler: Avoid duplicating subassembly bytecode where possible.\r\n * Code Generator: Avoid including references to the deployed label of referenced functions if they are called right away.\r\n * ContractLevelChecker: Properly distinguish the case of missing base constructor arguments from having an unimplemented base function.\r\n * SMTChecker: Fix internal error caused by unhandled ``z3`` expressions that come from the solver when bitwise operators are used.\r\n * SMTChecker: Fix internal error when using the custom NatSpec annotation to abstract free functions.\r\n * TypeChecker: Also allow external library functions in ``using for``.\r\n\r\n\r\n**AST Changes:**\r\n * AST: Add ``function`` field to ``UnaryOperation`` and ``BinaryOperation`` AST nodes. ``functionList`` in ``UsingForDirective`` AST nodes will now contain ``operator`` and ``definition`` members instead of ``function`` when the list entry defines an operator.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nBhargava Shastry, Daniel Kirchner, Evan Saulpaugh, Jacob Heider, Kamil Śliwak, Leo Alt, Matheus Aguiar, Michał Janiszewski, Nicolás Acosta, Nikola Matić, Nuno Santos, Pawel Gebal, Peter Lemenkov, Rodrigo Q. Saramago, William Entriken, Zachinquarantine, chriseth, drblessing, minaminao, wechman\r\n\r\nIf you want to perform a source build, please only use [`solidity_0.8.19.tar.gz`](https://github.com/ethereum/solidity/releases/download/v0.8.19/solidity_0.8.19.tar.gz) and not the source archives generated automatically by GitHub.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/93281256/reactions","total_count":38,"+1":0,"-1":0,"laugh":0,"hooray":33,"confused":0,"heart":0,"rocket":4,"eyes":1},"author":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/89406616","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/89406616/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/89406616/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.18","id":89406616,"node_id":"RE_kwDOAm_5kc4FVDyY","tag_name":"v0.8.18","target_commitish":"develop","name":"Version 0.8.18","draft":false,"prerelease":false,"created_at":"2023-02-01T14:36:41Z","published_at":"2023-02-01T15:12:04Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/93900787","id":93900787,"node_id":"RA_kwDOAm_5kc4FmM_z","name":"solc-macos","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39402936,"download_count":1033,"created_at":"2023-02-01T15:41:07Z","updated_at":"2023-02-01T15:41:24Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/94069879","id":94069879,"node_id":"RA_kwDOAm_5kc4Fm2R3","name":"solc-static-linux","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14443096,"download_count":11419,"created_at":"2023-02-02T18:45:37Z","updated_at":"2023-02-02T18:45:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/93900835","id":93900835,"node_id":"RA_kwDOAm_5kc4FmNAj","name":"solc-windows.exe","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9070592,"download_count":645,"created_at":"2023-02-01T15:41:31Z","updated_at":"2023-02-01T15:41:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/93900844","id":93900844,"node_id":"RA_kwDOAm_5kc4FmNAs","name":"solidity_0.8.18.tar.gz","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3182864,"download_count":854,"created_at":"2023-02-01T15:41:36Z","updated_at":"2023-02-01T15:41:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/solidity_0.8.18.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/93900850","id":93900850,"node_id":"RA_kwDOAm_5kc4FmNAy","name":"soljson.js","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8536222,"download_count":67,"created_at":"2023-02-01T15:41:38Z","updated_at":"2023-02-01T15:41:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.18","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.18","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.18](https://soliditylang.org/blog/2023/02/01/solidity-0.8.18-release-announcement). \r\nThis latest version includes a range of improvements and it also introduces support for the [Paris upgrade](https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement)!\r\n\r\n\r\n### Changelog\r\n**Language Features:**\r\n * Allow named parameters in mapping types.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Add ``--no-cbor-metadata`` that skips CBOR metadata from getting appended at the end of the bytecode.\r\n * Commandline Interface: Return exit code ``2`` on uncaught exceptions.\r\n * EVM: Deprecate ``block.difficulty`` and disallow ``difficulty()`` in inline assembly for EVM versions \u003e= paris. The change is due to the renaming introduced by [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399).\r\n * EVM: Introduce ``block.prevrandao`` in Solidity and ``prevrandao()`` in inline assembly for EVM versions \u003e= paris.\r\n * EVM: Set the default EVM version to \"Paris\".\r\n * EVM: Support for the EVM version \"Paris\".\r\n * Language Server: Add basic document hover support.\r\n * Natspec: Add event Natspec inheritance for devdoc.\r\n * Optimizer: Added optimization rule ``and(shl(X, Y), shl(X, Z)) =\u003e shl(X, and(Y, Z))``.\r\n * Parser: More detailed error messages about invalid version pragmas.\r\n * SMTChecker: Make ``z3`` the default solver for the BMC and CHC engines instead of all solvers.\r\n * SMTChecker: Support Eldarica as a Horn solver for the CHC engine when using the CLI option ``--model-checker-solvers eld``. The binary ``eld`` must be available in the system.\r\n * Solidity Upgrade Tool: Remove ``solidity-upgrade`` tool.\r\n * Standard JSON: Add a boolean field ``settings.metadata.appendCBOR`` that skips CBOR metadata from getting appended at the end of the bytecode.\r\n * TypeChecker: Warn when using deprecated builtin ``selfdestruct``.\r\n * Yul EVM Code Transform: Generate more optimal code for user-defined functions that always terminate a transaction. No return labels will be pushed for calls to functions that always terminate.\r\n * Yul Optimizer: Allow replacing the previously hard-coded cleanup sequence by specifying custom steps after a colon delimiter (``:``) in the sequence string.\r\n * Yul Optimizer: Eliminate ``keccak256`` calls if the value was already calculated by a previous call and can be reused.\r\n\r\n\r\n**Bugfixes:**\r\n * Parser: Disallow several ``indexed`` attributes for the same event parameter.\r\n * Parser: Disallow usage of the ``indexed`` attribute for modifier parameters.\r\n * SMTChecker: Fix display error for negative integers that are one more than powers of two.\r\n * SMTChecker: Fix internal error on chain assignments using static fully specified state variables.\r\n * SMTChecker: Fix internal error on multiple wrong SMTChecker natspec entries.\r\n * SMTChecker: Fix internal error when a public library function is called internally.\r\n * SMTChecker: Fix internal error when deleting struct member of function type.\r\n * SMTChecker: Fix internal error when using user-defined types as mapping indices or struct members.\r\n * SMTChecker: Improved readability for large integers that are powers of two or almost powers of two in error messages.\r\n * TypeChecker: Fix bug where private library functions could be attached with ``using for`` outside of their declaration scope.\r\n * Yul Optimizer: Hash hex and decimal literals according to their value instead of their representation, improving the detection of equivalent functions.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlexander Arlt, Alex Beregszaszi, andy53, Anton Paymyshev, Bhargava Shastry, Big-Aaron, Bojidar00, Bulgantamir Gankhuyag, chriseth, Christian Parpart, ChrisXXXXXXX, Damian Wechman, Daniel Kirchner, Doggo, Duc Thanh Nguyen, Franco Victorio, Franziska Heintel, George Plotnikov, hrkrshnn, Ikko Ashimine, Ishtiaque Zahid, John Kane, Kaan Uzdoğan, Kamil Śliwak, Leo Alt, ligi, Lokesh Kumar, Matheus Aguiar, Mathias L. Baumann, Mike Leach, Miles Liu, Minebuu, Mio, Nathaniel Jensen, Nikola Matić, Nishant Sachdeva, Nuno Santos, omahs, Paweł Bylica, Phill, Pierre Grimaud, Prusakova Katya, Rafal Stozek, Rajkumar gaur, Rhythm Bansal, Riley, Rodrigo Q. Saramago, Sabnock, Saw-mon-and-Natalie, Sebastian Supreme, Soham Zemse, Vinay, vlad, William Entriken, Yusuf Benli\r\n\r\nIf you want to perform a source build, please only use [`solidity_0.8.18.tar.gz`](https://github.com/ethereum/solidity/releases/download/v0.8.18/solidity_0.8.18.tar.gz) and not the source archives generated automatically by GitHub.\r\n\r\n**UPDATE 2023-02-02**: The Linux binary originally included here has been rebuilt and replaced due to incompatibility with older Ubuntu releases (Bionic, Focal and earlier). We have recently migrated our CI builds to Ubuntu 22.04, which includes a backwards-incompatible glibc version. Since the Linux binary is not completely static (it dynamically loads Z3 and consequently glibc), it would not run with older glibc when built against newer one. You can find [more details in the release blog post](https://blog.soliditylang.org/2023/02/01/solidity-0.8.18-release-announcement/#update-2023-02-02-rebuilt-linux-binary-for-solidity-0818) and issue #13921.\r\n\r\nTo be clear: both binaries will produce identical outputs under all circumstances, including the commit hash in the metadata. Only the hash of the compiler binary itself will change due to the replacement, but the new binary will always produce byte-identical output.\r\n\r\nThe SHA-256 hash of the old binary was `a1c0f33eb4482c26f56719ecf62b0ee05d7d7a4f8264ffbddf9ebcd9095c32bd`. The new one is\r\n`95e6ed4949a63ad89afb443ecba1fb8302dd2860ee5e9baace3e674a0f48aa77`.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/89406616/reactions","total_count":71,"+1":32,"-1":0,"laugh":6,"hooray":2,"confused":0,"heart":5,"rocket":18,"eyes":8},"author":{"login":"NunoFilipeSantos","id":2582498,"node_id":"MDQ6VXNlcjI1ODI0OTg=","avatar_url":"https://avatars.githubusercontent.com/u/2582498?v=4","url":"https://api.github.com/users/NunoFilipeSantos","html_url":"https://github.com/NunoFilipeSantos","followers_url":"https://api.github.com/users/NunoFilipeSantos/followers","following_url":"https://api.github.com/users/NunoFilipeSantos/following{/other_user}","gists_url":"https://api.github.com/users/NunoFilipeSantos/gists{/gist_id}","starred_url":"https://api.github.com/users/NunoFilipeSantos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NunoFilipeSantos/subscriptions","organizations_url":"https://api.github.com/users/NunoFilipeSantos/orgs","repos_url":"https://api.github.com/users/NunoFilipeSantos/repos","events_url":"https://api.github.com/users/NunoFilipeSantos/events{/privacy}","received_events_url":"https://api.github.com/users/NunoFilipeSantos/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/76592536","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/76592536/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/76592536/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.17","id":76592536,"node_id":"RE_kwDOAm_5kc4EkLWY","tag_name":"v0.8.17","target_commitish":"develop","name":"Version 0.8.17","draft":false,"prerelease":false,"created_at":"2022-09-08T14:35:41Z","published_at":"2022-09-08T15:25:26Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263444","id":77263444,"node_id":"RA_kwDOAm_5kc4EmvJU","name":"solc-macos","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38901080,"download_count":3091,"created_at":"2022-09-08T16:23:47Z","updated_at":"2022-09-08T16:24:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263471","id":77263471,"node_id":"RA_kwDOAm_5kc4EmvJv","name":"solc-static-linux","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14328408,"download_count":30952,"created_at":"2022-09-08T16:24:03Z","updated_at":"2022-09-08T16:24:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263487","id":77263487,"node_id":"RA_kwDOAm_5kc4EmvJ_","name":"solc-windows.exe","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8952320,"download_count":2291,"created_at":"2022-09-08T16:24:10Z","updated_at":"2022-09-08T16:24:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263277","id":77263277,"node_id":"RA_kwDOAm_5kc4EmvGt","name":"solidity_0.8.17.tar.gz","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3119267,"download_count":3681,"created_at":"2022-09-08T16:22:05Z","updated_at":"2022-09-08T16:22:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/solidity_0.8.17.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263495","id":77263495,"node_id":"RA_kwDOAm_5kc4EmvKH","name":"soljson.js","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8468401,"download_count":609,"created_at":"2022-09-08T16:24:15Z","updated_at":"2022-09-08T16:24:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.17","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.17","body":"This release primarily fixes an [important bug](https://blog.soliditylang.org/2022/09/08/storage-write-removal-before-conditional-termination/), but also involves some improvements in code generation, optimizer and in the language server.\r\n\r\nFor details, please see [the release announcement](https://blog.soliditylang.org/2022/09/08/solidity-0.8.17-release-announcement/).\r\n\r\n\r\n\r\n**Important Bugfixes:**\r\n * Yul Optimizer: Prevent the incorrect removal of storage writes before calls to Yul functions that conditionally terminate the external EVM call.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: More efficient overflow checks for multiplication.\r\n * Language Server: Analyze all files in a project by default (can be customized by setting ``'file-load-strategy'`` to ``'directly-opened-and-on-import'`` in LSP settings object).\r\n * Yul Optimizer: Simplify the starting offset of zero-length operations to zero.\r\n\r\n\r\n**Bugfixes:**\r\n * Type Checker: Fix internal compiler error on tuple assignments with invalid left-hand side.\r\n * Yul IR Code Generation: Fix internal compiler error when accessing the ``.slot`` member of a mapping through a storage reference in inline assembly.\r\n\r\n\r\n**Build System:**\r\n * Allow disabling pedantic warnings and do not treat warnings as errors during compiler build when ``-DPEDANTIC=OFF`` flag is passed to CMake.\r\n * Update emscripten to version 3.1.19.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\n\r\nAlexander Arlt, Bhargava Shastry, Christian Parpart, Damian Wechman, Daniel Kirchner, Duc Thanh Nguyen, Emmanuel Oaikhenan, Francisco Giordano, Kamil Śliwak, krakxn, Leonardo Alt, Leonid Pospelov, Luke Hutchison, Luoh Ren-Shan, Matheus Aguiar, Mathias L. Baumann, MeetRajput00, Nikola Matić, NoFaceDev, Pranay, Roman Figurin, Taylor Ferran, Thanh Tran, Yuvraj Singh, aathan, emmaodia, khue, kuzdogan, minaminao, Nishant Sachdeva, tcoyvwac, xternet\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use `solidity_0.8.17.tar.gz` and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/76592536/reactions","total_count":46,"+1":26,"-1":0,"laugh":0,"hooray":4,"confused":0,"heart":0,"rocket":12,"eyes":4},"author":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/73885486","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/73885486/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/73885486/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.16","id":73885486,"node_id":"RE_kwDOAm_5kc4EZ2cu","tag_name":"v0.8.16","target_commitish":"develop","name":"Version 0.8.16","draft":false,"prerelease":false,"created_at":"2022-08-08T12:59:34Z","published_at":"2022-08-08T13:44:26Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74059683","id":74059683,"node_id":"RA_kwDOAm_5kc4Eag-j","name":"solc-macos","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38658480,"download_count":1369,"created_at":"2022-08-08T14:13:37Z","updated_at":"2022-08-08T14:13:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74059673","id":74059673,"node_id":"RA_kwDOAm_5kc4Eag-Z","name":"solc-static-linux","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14316088,"download_count":13419,"created_at":"2022-08-08T14:13:25Z","updated_at":"2022-08-08T14:13:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74059650","id":74059650,"node_id":"RA_kwDOAm_5kc4Eag-C","name":"solc-windows.exe","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8921600,"download_count":787,"created_at":"2022-08-08T14:13:19Z","updated_at":"2022-08-08T14:13:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74057908","id":74057908,"node_id":"RA_kwDOAm_5kc4Eagi0","name":"solidity_0.8.16.tar.gz","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3261000,"download_count":462,"created_at":"2022-08-08T13:50:16Z","updated_at":"2022-08-08T13:50:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/solidity_0.8.16.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74059705","id":74059705,"node_id":"RA_kwDOAm_5kc4Eag-5","name":"soljson.js","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"text/javascript","state":"uploaded","size":8497322,"download_count":173,"created_at":"2022-08-08T14:13:56Z","updated_at":"2022-08-08T14:14:02Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.16","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.16","body":"This release fixes one important bug and contains further minor bug fixes and features.\r\n\r\nFor details, please see [the release announcement](https://blog.soliditylang.org/2022/08/08/solidity-0.8.16-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Code Generation: Fix data corruption that affected ABI-encoding of calldata values represented by tuples: structs at any nesting level; argument lists of external functions, events and errors; return value lists of external functions. The 32 leading bytes of the first dynamically-encoded value in the tuple would get zeroed when the last component contained a statically-encoded array.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: More efficient code for checked addition and subtraction.\r\n * TypeChecker: Support using library constants in initializers of other constants.\r\n * Yul IR Code Generation: Improved copy routines for arrays with packed storage layout.\r\n * Yul Optimizer: Add rule to convert ``mod(add(X, Y), A)`` into ``addmod(X, Y, A)``, if ``A`` is a power of two.\r\n * Yul Optimizer: Add rule to convert ``mod(mul(X, Y), A)`` into ``mulmod(X, Y, A)``, if ``A`` is a power of two.\r\n\r\n\r\n**Bugfixes:**\r\n * Commandline Interface: Disallow the following options outside of the compiler mode: ``--via-ir``,``--metadata-literal``, ``--metadata-hash``, ``--model-checker-show-unproved``, ``--model-checker-div-mod-no-slacks``, ``--model-checker-engine``, ``--model-checker-invariants``, ``--model-checker-solvers``, ``--model-checker-timeout``, ``--model-checker-contracts``, ``--model-checker-targets``.\r\n * Type Checker: Fix compiler crash on tuple assignments involving certain patterns with unary tuples on the left-hand side.\r\n * Type Checker: Fix compiler crash when ``abi.encodeCall`` received a tuple expression instead of an inline tuple.\r\n * Type Checker: Fix null dereference in ``abi.encodeCall`` type checking of free function.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Aiman Baharna, Alex Beregszaszi, Bhargava Shastry, Christian Parpart, Christian Reitwiessner, CJ42, Damian Wechman, Daniel Kirchner, Daniel Lupu, Derek Gottfrid, Duc Thanh Nguyen, Femi Bolaji, Harikrishnan Mulackal, Ishtiaque Zahid, Kamil Śliwak, krakxn, Matheus Aguiar, Mathias L. Baumann, Maximiliano Schultheis, Midhun07, minami, Nikola Matić, Nishant Sachdeva, Quentin Garchery, Richie, Rodrigo Baraglia, Rohit Kumar Suman, Ryan, vdusart, victorknox, William Entriken, ywon0925\r\n\r\n\r\nIf you want to perform a source build, please only use `solidity_0.8.16.tar.gz` and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/73885486/reactions","total_count":37,"+1":18,"-1":0,"laugh":3,"hooray":13,"confused":0,"heart":0,"rocket":1,"eyes":2},"author":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/69524613","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/69524613/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/69524613/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.15","id":69524613,"node_id":"RE_kwDOAm_5kc4EJNyF","tag_name":"v0.8.15","target_commitish":"develop","name":"Version 0.8.15","draft":false,"prerelease":false,"created_at":"2022-06-15T13:56:19Z","published_at":"2022-06-15T14:54:01Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68574539","id":68574539,"node_id":"RA_kwDOAm_5kc4EFl1L","name":"solc-macos","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38488928,"download_count":1731,"created_at":"2022-06-15T15:34:31Z","updated_at":"2022-06-15T15:34:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68574558","id":68574558,"node_id":"RA_kwDOAm_5kc4EFl1e","name":"solc-static-linux","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14230072,"download_count":9142,"created_at":"2022-06-15T15:34:49Z","updated_at":"2022-06-15T15:34:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68574572","id":68574572,"node_id":"RA_kwDOAm_5kc4EFl1s","name":"solc-windows.exe","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8859136,"download_count":1125,"created_at":"2022-06-15T15:34:56Z","updated_at":"2022-06-15T15:35:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68573304","id":68573304,"node_id":"RA_kwDOAm_5kc4EFlh4","name":"solidity_0.8.15.tar.gz","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3083247,"download_count":662,"created_at":"2022-06-15T15:21:16Z","updated_at":"2022-06-15T15:21:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/solidity_0.8.15.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68574577","id":68574577,"node_id":"RA_kwDOAm_5kc4EFl1x","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8479007,"download_count":163,"created_at":"2022-06-15T15:35:01Z","updated_at":"2022-06-15T15:35:06Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.15","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.15","body":"This release fixes two important bugs and also contains other minor bug fixes and features.\r\n\r\nFor details, please see [the release announcement](https://blog.soliditylang.org/2022/06/15/solidity-0.8.15-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Code Generation: Avoid writing dirty bytes to storage when copying ``bytes`` arrays.\r\n * Yul Optimizer: Keep all memory side-effects of inline assembly blocks.\r\n\r\n\r\n**Language Features:**\r\n * Add `E.selector` for a non-anonymous event `E` to access the 32-byte selector topic.\r\n\r\n\r\n**Compiler Features:**\r\n * LSP: Add rudimentary support for semantic highlighting.\r\n * Type Checker: Warn about assignments involving multiple pushes to storage ``bytes`` that may invalidate references.\r\n * Yul Optimizer: Improve inlining heuristics for via IR code generation and pure Yul compilation.\r\n\r\n\r\n**Bugfixes:**\r\n * ABI Encoder: When encoding an empty string coming from storage do not add a superfluous empty slot for data.\r\n * Common Subexpression Eliminator: Process assembly items in chunks with maximum size of 2000. It helps to avoid extremely time-consuming searches during code optimization.\r\n * Yul Optimizer: Do not remove ``returndatacopy`` in cases in which it might perform out-of-bounds reads that unconditionally revert as out-of-gas. Previously, any \r\n``returndatacopy`` that wrote to memory that was never read from was removed without accounting for the out-of-bounds condition.\r\n\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nChristian Parpart, Christian Reitwiessner, Damian Wechman, Daniel Kirchner, Denis T, Dustin Alandzes, Harikrishnan Mulackal, Josep M Sobrepere, Kamil Śliwak, Matheus Aguiar, Mathias L. Baumann, Nishant Sachdeva, Prajwal Borkar, Ryan, Samuel Osewa, Saw-mon-and-Natalie, shady41, sourabh.xyz, uji, Yuri Victorovich\r\n\r\nIf you want to perform a source build, please only use `solidity_0.8.15.tar.gz` and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/69524613/reactions","total_count":49,"+1":27,"-1":0,"laugh":2,"hooray":12,"confused":0,"heart":1,"rocket":7,"eyes":0},"author":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/65355349","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/65355349/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/65355349/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.14","id":65355349,"node_id":"RE_kwDOAm_5kc4D5T5V","tag_name":"v0.8.14","target_commitish":"develop","name":"Version 0.8.14","draft":false,"prerelease":false,"created_at":"2022-05-17T11:55:13Z","published_at":"2022-05-17T12:37:12Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65781016","id":65781016,"node_id":"RA_kwDOAm_5kc4D670Y","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38446744,"download_count":1099,"created_at":"2022-05-17T13:18:33Z","updated_at":"2022-05-17T13:18:50Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65781032","id":65781032,"node_id":"RA_kwDOAm_5kc4D670o","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14201400,"download_count":3255,"created_at":"2022-05-17T13:18:50Z","updated_at":"2022-05-17T13:18:58Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65781040","id":65781040,"node_id":"RA_kwDOAm_5kc4D670w","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8831488,"download_count":677,"created_at":"2022-05-17T13:18:58Z","updated_at":"2022-05-17T13:19:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65780804","id":65780804,"node_id":"RA_kwDOAm_5kc4D67xE","name":"solidity_0.8.14.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3214611,"download_count":4356,"created_at":"2022-05-17T13:15:12Z","updated_at":"2022-05-17T13:15:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/solidity_0.8.14.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65781051","id":65781051,"node_id":"RA_kwDOAm_5kc4D6707","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8475674,"download_count":104,"created_at":"2022-05-17T13:19:03Z","updated_at":"2022-05-17T13:19:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.14","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.14","body":"This release fixes two important bugs and also contains other minor bug fixes and features.\r\n\r\nFor details, please see [the release announcement](https://blog.soliditylang.org/2022/05/18/solidity-0.8.14-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * ABI Encoder: When ABI-encoding values from calldata that contain nested arrays, correctly validate the nested array length against ``calldatasize()`` in all cases.\r\n * Override Checker: Allow changing data location for parameters only when overriding external functions.\r\n\r\n\r\n**Compiler Features:**\r\n * Assembly-Json Exporter: Include source list in `sourceList` field.\r\n * Commandline Interface: Option ``--pretty-json`` works also with the following options: ``--abi``, ``--asm-json``, ``--ast-compact-json``, ``--devdoc``, ``--storage-layout``, ``--userdoc``.\r\n * Language Server: Allow full filesystem access to language server.\r\n * Peephole Optimizer: Remove operations without side effects before simple terminations.\r\n * SMTChecker: Support ``abi.encodeCall`` taking into account the called selector.\r\n\r\n\r\n**Bugfixes:**\r\n * Assembly-Json Exporter: Fix assembly json export to store jump types of operations in `jumpType` field instead of `value`.\r\n * SMTChecker: Fix ABI compatibility with z3 \u003e=4.8.16.\r\n * SMTChecker: Fix bug when z3 is selected but not available at runtime.\r\n * Type Checker: Properly check restrictions of ``using ... global`` in conjunction with libraries.\r\n * TypeChecker: Convert parameters of function type to how they would be called for ``abi.encodeCall``.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, aathan, Aisultan Kali, Alexander Arlt, Alexey Shekhirin, alpharush, andreb0x, Bytecurl, Christian Parpart, Damian Wechman, Daniel Kirchner, dtedesco1, Florian Sey, Hector Roussille, Joshua Quinones, Kamil Śliwak, Leo Alt, Matheus Aguiar, Mathias L. Baumann, Nishant Sachdeva, Nobuhiko Otoba, Ryan, sourabh.xyz, Tharun K\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.14.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/65355349/reactions","total_count":24,"+1":0,"-1":0,"laugh":0,"hooray":15,"confused":0,"heart":0,"rocket":8,"eyes":1},"author":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/61995798","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/61995798/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/61995798/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.13","id":61995798,"node_id":"RE_kwDOAm_5kc4DsfsW","tag_name":"v0.8.13","target_commitish":"develop","name":"Version 0.8.13","draft":false,"prerelease":false,"created_at":"2022-03-16T12:54:28Z","published_at":"2022-03-16T13:32:43Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669671","id":59669671,"node_id":"RA_kwDOAm_5kc4Djnyn","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38359320,"download_count":5001,"created_at":"2022-03-16T14:23:45Z","updated_at":"2022-03-16T14:24:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669757","id":59669757,"node_id":"RA_kwDOAm_5kc4Djnz9","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14156344,"download_count":33395,"created_at":"2022-03-16T14:24:04Z","updated_at":"2022-03-16T14:24:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669798","id":59669798,"node_id":"RA_kwDOAm_5kc4Djn0m","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8814592,"download_count":1322,"created_at":"2022-03-16T14:24:11Z","updated_at":"2022-03-16T14:24:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669242","id":59669242,"node_id":"RA_kwDOAm_5kc4Djnr6","name":"solidity_0.8.13.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3183155,"download_count":940,"created_at":"2022-03-16T14:19:06Z","updated_at":"2022-03-16T14:19:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/solidity_0.8.13.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669871","id":59669871,"node_id":"RA_kwDOAm_5kc4Djn1v","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8443813,"download_count":338,"created_at":"2022-03-16T14:24:16Z","updated_at":"2022-03-16T14:24:21Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.13","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.13","body":"Solidity v0.8.13 fixes an important bug related to ``abi.encodeCall``, extends the ``using for`` directive and implements \"go to definition\" for the language server.\r\n\r\nFurthermore, compiling via the new Yul IR pipeline is now considered production ready.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2022/03/16/solidity-0.8.13-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Code Generator: Correctly encode literals used in ``abi.encodeCall`` in place of fixed bytes arguments.\r\n\r\n\r\n**Language Features:**\r\n * General: Allow annotating inline assembly as memory-safe to allow optimizations and stack limit evasion that rely on respecting Solidity's memory model.\r\n * General: ``using M for Type;`` is allowed at file level and ``M`` can now also be a brace-enclosed list of free functions or library functions.\r\n * General: ``using ... for T global;`` is allowed at file level where the user-defined type ``T`` has been defined, resulting in the effect of the statement being available everywhere ``T`` is available.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Allow the use of ``--via-ir`` in place of ``--experimental-via-ir``.\r\n * Compilation via Yul IR is no longer marked as experimental.\r\n * JSON-AST: Added selector field for errors and events.\r\n * LSP: Implements goto-definition.\r\n * Peephole Optimizer: Optimize comparisons in front of conditional jumps and conditional jumps across a single unconditional jump.\r\n * Yul EVM Code Transform: Avoid unnecessary ``pop``s on terminating control flow.\r\n * Yul Optimizer: Remove ``sstore`` and ``mstore`` operations that are never read from.\r\n\r\n\r\n**Bugfixes:**\r\n * General: Fix internal error for locales with unusual capitalization rules. Locale set in the environment is now completely ignored.\r\n * Type Checker: Fix incorrect type checker errors when importing overloaded functions.\r\n * Yul IR Code Generation: Optimize embedded creation code with correct settings. This fixes potential mismatches between the constructor code of a contract compiled in isolation and the bytecode in ``type(C).creationCode``, resp. the bytecode used for ``new C(...)``.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Abdul Karim Moro, Alexander Arlt, Bhargava Shastry, Callis Ezenwaka, Christian Parpart, Daniel Kirchner, david-k, franzihei, hrkrshnn, Kamil Śliwak, kanedaaaa, Leo Alt, Marenz, Mate Soos, Nishant Sachdeva, Paarth Madan, Richie, Sleepy, Tyler, wechman, Wes Bouaziz, \r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.13.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/61995798/reactions","total_count":27,"+1":8,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":13,"eyes":6},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/59684189","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/59684189/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/59684189/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.12","id":59684189,"node_id":"RE_kwDOAm_5kc4DjrVd","tag_name":"v0.8.12","target_commitish":"develop","name":"Version 0.8.12","draft":false,"prerelease":false,"created_at":"2022-02-16T09:49:57Z","published_at":"2022-02-16T11:50:24Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035390","id":57035390,"node_id":"RA_kwDOAm_5kc4DZkp-","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38174480,"download_count":978,"created_at":"2022-02-16T15:35:23Z","updated_at":"2022-02-16T15:35:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035428","id":57035428,"node_id":"RA_kwDOAm_5kc4DZkqk","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":13992504,"download_count":19257,"created_at":"2022-02-16T15:35:43Z","updated_at":"2022-02-16T15:35:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035439","id":57035439,"node_id":"RA_kwDOAm_5kc4DZkqv","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8702464,"download_count":753,"created_at":"2022-02-16T15:35:51Z","updated_at":"2022-02-16T15:35:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035489","id":57035489,"node_id":"RA_kwDOAm_5kc4DZkrh","name":"solidity_0.8.12.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3147863,"download_count":696,"created_at":"2022-02-16T15:36:33Z","updated_at":"2022-02-16T15:36:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/solidity_0.8.12.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035445","id":57035445,"node_id":"RA_kwDOAm_5kc4DZkq1","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8396944,"download_count":104,"created_at":"2022-02-16T15:35:56Z","updated_at":"2022-02-16T15:36:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.12","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.12","body":"Solidity v0.8.12 improves the javascript/wasm binary and fixes several bugs.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2022/02/16/solidity-0.8.12-release-announcement/).\r\n\r\n**Language Features:**\r\n * General: Add equality-comparison operators for external function types.\r\n * General: Support ``ContractName.functionName`` for ``abi.encodeCall``, in addition to external function pointers.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Event and error signatures are also returned when using ``--hashes``.\r\n * Yul Optimizer: Remove ``mstore`` and ``sstore`` operations if the slot already contains the same value.\r\n * Yul: Emit immutable references for pure yul code when requested.\r\n\r\n\r\n\r\n**Bugfixes:**\r\n * Antlr Grammar: Allow builtin names in ``yulPath`` to support ``.address`` in function pointers.\r\n * Code Generator: Fix internal error when accessing the members of external functions occupying more than two stack slots.\r\n * Code Generator: Fix internal error when doing an explicit conversion from ``string calldata`` to ``bytes``.\r\n * Control Flow Graph: Perform proper virtual lookup for modifiers for uninitialized variable and unreachable code analysis.\r\n * General: ``string.concat`` now properly takes strings as arguments and returns ``string memory``. It was accidentally introduced as a copy of ``bytes.concat`` before.\r\n * Immutables: Fix wrong error when the constructor of a base contract uses ``return`` and the derived contract contains immutable variables.\r\n * Inheritance: Consider functions in all ancestors during override analysis.\r\n * IR Generator: Add missing cleanup during the conversion of fixed bytes types to smaller fixed bytes types.\r\n * IR Generator: Add missing cleanup for indexed event arguments of value type.\r\n * IR Generator: Fix internal error when copying reference types in calldata and storage to struct or array members in memory.\r\n * IR Generator: Fix IR syntax error when copying storage arrays of structs containing functions.\r\n * Natspec: Fix internal error when overriding a struct getter with a Natspec-documented return value and the name in the struct is different.\r\n * Type Checker: Fix internal error when a constant variable declaration forward references a struct.\r\n * Yul EVM Code Transform: Improved stack shuffling in corner cases.\r\n\r\n\r\n**Solc-Js:**\r\n * The wrapper now requires at least nodejs v10.\r\n * The code has been ported to TypeScript.\r\n\r\n\r\n**Build System:**\r\n * Emscripten builds store the embedded WebAssembly binary in LZ4 compressed format and transparently decompress on loading.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Aleksey Bykhun, Amsavarthan Lv, Ayush Shukla, Bhargava Shastry, Braden Watling, Brien, Bruno Barbieri, Christian Parpart, Daniel Kirchner, Esquith Allen, Franziska Heintel, Hakeem Almidan, Harikrishnan Mulackal, joshieDo, joshuatarkwski, Kamil Śliwak, Laurent, Leo Alt, Markus Waas, Mathias L. Baumann, mejsiej, Mohamed Safouen Bouabid, Naveen Sahu, Nikita Stupin, Nishant Sachdeva, Pranay Reddy, Sean Billig, Semar Augusto, William Entriken, yatharthagoenka, Younghoon-Lee.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.12.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/59684189/reactions","total_count":26,"+1":11,"-1":0,"laugh":0,"hooray":12,"confused":0,"heart":0,"rocket":0,"eyes":3},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/55663294","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/55663294/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/55663294/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.11","id":55663294,"node_id":"RE_kwDOAm_5kc4DUVq-","tag_name":"v0.8.11","target_commitish":"develop","name":"Version 0.8.11","draft":false,"prerelease":false,"created_at":"2021-12-20T14:00:55Z","published_at":"2021-12-20T14:45:36Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206622","id":52206622,"node_id":"RA_kwDOAm_5kc4DHJwe","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38493496,"download_count":627,"created_at":"2021-12-20T15:14:24Z","updated_at":"2021-12-20T15:14:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206627","id":52206627,"node_id":"RA_kwDOAm_5kc4DHJwj","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":13922872,"download_count":8416,"created_at":"2021-12-20T15:14:41Z","updated_at":"2021-12-20T15:14:47Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206628","id":52206628,"node_id":"RA_kwDOAm_5kc4DHJwk","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8659456,"download_count":1379,"created_at":"2021-12-20T15:14:47Z","updated_at":"2021-12-20T15:14:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206634","id":52206634,"node_id":"RA_kwDOAm_5kc4DHJwq","name":"solidity_0.8.11.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3106121,"download_count":1194,"created_at":"2021-12-20T15:14:51Z","updated_at":"2021-12-20T15:14:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/solidity_0.8.11.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206635","id":52206635,"node_id":"RA_kwDOAm_5kc4DHJwr","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":27280310,"download_count":311,"created_at":"2021-12-20T15:14:53Z","updated_at":"2021-12-20T15:15:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.11","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.11","body":"Solidity v0.8.11 adds a first implementation of a Language Server, allows a safer way to perform ABI-encoding and fixes several bugs.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/12/20/solidity-0.8.11-release-announcement/).\r\n\r\n**Language Features:**\r\n * General: New builtin function ``abi.encodeCall(functionPointer, (arg1, arg2, ...))`` that type-checks the arguments and returns the ABI-encoded function call data.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Add ``--lsp`` option to get ``solc`` to act as a Language Server (LSP) communicating over stdio.\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix a crash when using ``@use-src`` and compiling from Yul to ewasm.\r\n * SMTChecker: Fix internal error when an unsafe target is solved more than once and the counterexample messages are different.\r\n * SMTChecker: Fix soundness of assigned storage/memory local pointers that were not erasing enough knowledge.\r\n * Fix internal error when a function has a calldata struct argument with an internal type inside.\r\n * IR Generator: Fix IR syntax error when copying storage arrays of functions.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nKamil Śliwak, Leo Alt, nishant-sachdeva, Daniel Kirchner, Marenz, minami, Alessandro Coglio, Alex Beregszaszi, Bhargava Shastry, Dallon Asnes, Dallon Asnes, neel iyer, Christian Parpart, GitHubPang, Mathias Baumann, Omkar Nikhal, Saska Karsi, Tynan Richards, dinah.\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.11.tar.gz and not the zip provided by github directly.\r\n\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/55663294/reactions","total_count":43,"+1":6,"-1":0,"laugh":0,"hooray":21,"confused":0,"heart":0,"rocket":16,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/52986887","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/52986887/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/52986887/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.10","id":52986887,"node_id":"RE_kwDOAm_5kc4DKIQH","tag_name":"v0.8.10","target_commitish":"develop","name":"Version 0.8.10","draft":false,"prerelease":false,"created_at":"2021-11-09T08:56:08Z","published_at":"2021-11-09T09:42:05Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987414","id":48987414,"node_id":"RA_kwDOAm_5kc4C630W","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38697140,"download_count":400,"created_at":"2021-11-09T13:13:21Z","updated_at":"2021-11-09T13:13:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987422","id":48987422,"node_id":"RA_kwDOAm_5kc4C630e","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":13787704,"download_count":34141,"created_at":"2021-11-09T13:13:39Z","updated_at":"2021-11-09T13:13:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987427","id":48987427,"node_id":"RA_kwDOAm_5kc4C630j","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8583680,"download_count":1036,"created_at":"2021-11-09T13:13:42Z","updated_at":"2021-11-09T13:13:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987492","id":48987492,"node_id":"RA_kwDOAm_5kc4C631k","name":"solidity_0.8.10.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3076003,"download_count":1003,"created_at":"2021-11-09T13:14:48Z","updated_at":"2021-11-09T13:14:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/solidity_0.8.10.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987435","id":48987435,"node_id":"RA_kwDOAm_5kc4C630r","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":27036439,"download_count":180,"created_at":"2021-11-09T13:13:51Z","updated_at":"2021-11-09T13:14:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.10","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.10","body":"Solidity v0.8.10 can now report contract invariants and reentrancy properties through the SMTChecker. It also contains some new optimizations with regards to external function calls and enabled the new EVM code generator for pure Yul mode.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/11/09/solidity-0.8.10-release-announcement/).\r\n\r\n\r\n**Language Features:**\r\n * Inline Assembly: Support ``.address`` and ``.selector`` on external function pointers to access their address and function selector.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: Skip existence check for external contract if return data is expected. In this case, the ABI decoder will revert if the contract does not exist.\r\n * Commandline Interface: Accept nested brackets in step sequences passed to ``--yul-optimizations``.\r\n * Commandline Interface: Add ``--debug-info`` option for selecting how much extra debug information should be included in the produced EVM assembly and Yul code.\r\n * Commandline Interface: Support ``--asm``, ``--bin``, ``--ir-optimized``, ``--ewasm`` and ``--ewasm-ir`` output selection options in assembler mode.\r\n * Commandline Interface: Use different colors when printing errors, warnings and infos.\r\n * JSON AST: Set absolute paths of imports earlier, in the ``parsing`` stage.\r\n * SMTChecker: Output values for ``block.*``, ``msg.*`` and ``tx.*`` variables that are present in the called functions.\r\n * SMTChecker: Report contract invariants and reentrancy properties. This can be enabled via the CLI option ``--model-checker-invariants`` or the Standard JSON option ``settings.modelChecker.invariants``.\r\n * Standard JSON: Accept nested brackets in step sequences passed to ``settings.optimizer.details.yulDetails.optimizerSteps``.\r\n * Standard JSON: Add ``settings.debug.debugInfo`` option for selecting how much extra debug information should be included in the produced EVM assembly and Yul code.\r\n * Yul EVM Code Transform: Switch to new optimized code transform when compiling via Yul with enabled optimizer.\r\n * Yul Optimizer: Take control-flow side-effects of user-defined functions into account in various optimizer steps.\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix constructor source mappings for immutables.\r\n * Commandline Interface: Disallow ``--error-recovery`` option outside of the compiler mode.\r\n * Commandline Interface: Don't return zero exit code when writing linked files to disk fails.\r\n * Commandline Interface: Fix extra newline character being appended to sources passed through standard input, affecting their hashes.\r\n * Commandline Interface: Report output selection options unsupported by the selected input mode instead of ignoring them.\r\n * Commandline Interface: When linking only accept exact matches for library names passed to the ``--libraries`` option. Library names not prefixed with a file name used to match any library with that name.\r\n * SMTChecker: Fix internal error in magic type access (``block``, ``msg``, ``tx``).\r\n * SMTChecker: Fix internal error in the CHC engine when passing gas in the function options.\r\n * TypeChecker: Fix internal error when using arrays and structs with user defined value types before declaration.\r\n * TypeChecker: Fix internal error when using user defined value types in public library functions.\r\n * TypeChecker: Improved error message for constant variables with (nested) mapping types.\r\n * Yul Assembler: Fix internal error when function names are not unique.\r\n * Yul IR Generator: Do not output empty switches/if-bodies for empty contracts.\r\n\r\n\r\n**Important Bugfixes in Experimental Features:**\r\n * Yul IR Generator: Changes to function return variables referenced in modifier invocation arguments were not properly forwarded if there was more than one return variable.\r\n\r\n\r\n**Build System:**\r\n * Pass linker-only emscripten options only when linking.\r\n * Remove obsolete compatibility workaround for emscripten builds.\r\n * Update emscripten to version 2.0.33.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\n4molybdenum2, Adam Bliss, Alex Beregszaszi, Christian Parpart, Daniel Kirchner, David Dzhalaev, Derek Brans, Gyeonghun Park, Harikrishnan Mulackal, José López, Kamil Śliwak, Leo Arias, Leonardo Alt, Mariela Mantle, Mathias Baumann, Midhun07, Mikko Ohtamaa, MrBrain295, Saurabh Sharma, sgmoore, shikharvashistha, Shivam Rajput, soroosh-sdi, Sreekesh V, tcoyvwac, TerranCivilian, vowchick, William Entriken, Zachinquarantine\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.10.tar.gz and not the zip provided by github directly.\r\n\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/52986887/reactions","total_count":26,"+1":17,"-1":0,"laugh":0,"hooray":4,"confused":0,"heart":0,"rocket":1,"eyes":4},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/50466443","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/50466443/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/50466443/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.9","id":50466443,"node_id":"RE_kwDOAm_5kc4DAg6L","tag_name":"v0.8.9","target_commitish":"develop","name":"Version 0.8.9","draft":false,"prerelease":false,"created_at":"2021-09-29T13:19:38Z","published_at":"2021-09-29T14:13:14Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45872431","id":45872431,"node_id":"RA_kwDOAm_5kc4Cu_Uv","name":"solc-macos","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":37336868,"download_count":2034,"created_at":"2021-09-29T14:57:11Z","updated_at":"2021-09-29T14:57:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45869818","id":45869818,"node_id":"RA_kwDOAm_5kc4Cu-r6","name":"solc-static-linux","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12366392,"download_count":101732,"created_at":"2021-09-29T14:27:46Z","updated_at":"2021-09-29T14:27:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45874706","id":45874706,"node_id":"RA_kwDOAm_5kc4Cu_4S","name":"solc-windows.exe","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7947264,"download_count":1005,"created_at":"2021-09-29T15:30:11Z","updated_at":"2021-09-29T15:30:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45869516","id":45869516,"node_id":"RA_kwDOAm_5kc4Cu-nM","name":"solidity_0.8.9.tar.gz","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2871614,"download_count":2975,"created_at":"2021-09-29T14:23:41Z","updated_at":"2021-09-29T14:23:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/solidity_0.8.9.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45869920","id":45869920,"node_id":"RA_kwDOAm_5kc4Cu-tg","name":"soljson.js","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":26173264,"download_count":202,"created_at":"2021-09-29T14:29:40Z","updated_at":"2021-09-29T14:29:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.9","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.9","body":"Solidity v0.8.9 is a pure bugfix release and fixes two important, but low severity, bugs.\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/09/29/solidity-0.8.9-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Immutables: Properly perform sign extension on signed immutables.\r\n * User Defined Value Type: Fix storage layout of user defined value types for underlying types shorter than 32 bytes.\r\n\r\n\r\n**Bugfixes:**\r\n * AST: Export ``canonicalName`` for ``UserDefinedValueTypeDefinition`` and ``ContractDefinition``.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.9.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/50323951","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/50323951/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/50323951/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.8","id":50323951,"node_id":"RE_kwDOAm_5kc4C_-Hv","tag_name":"v0.8.8","target_commitish":"develop","name":"Version 0.8.8","draft":false,"prerelease":false,"created_at":"2021-09-27T15:29:47Z","published_at":"2021-09-27T16:12:56Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45720869","id":45720869,"node_id":"RA_kwDOAm_5kc4CuaUl","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":37332428,"download_count":155,"created_at":"2021-09-27T16:51:19Z","updated_at":"2021-09-27T16:51:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45720881","id":45720881,"node_id":"RA_kwDOAm_5kc4CuaUx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12358200,"download_count":12769,"created_at":"2021-09-27T16:51:35Z","updated_at":"2021-09-27T16:51:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45720882","id":45720882,"node_id":"RA_kwDOAm_5kc4CuaUy","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7944704,"download_count":240,"created_at":"2021-09-27T16:51:37Z","updated_at":"2021-09-27T16:51:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45721048","id":45721048,"node_id":"RA_kwDOAm_5kc4CuaXY","name":"solidity_0.8.8.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3004674,"download_count":214,"created_at":"2021-09-27T16:55:58Z","updated_at":"2021-09-27T16:56:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/solidity_0.8.8.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45720883","id":45720883,"node_id":"RA_kwDOAm_5kc4CuaUz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":26168728,"download_count":50,"created_at":"2021-09-27T16:51:38Z","updated_at":"2021-09-27T16:51:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.8","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.8","body":"Solidity v0.8.8 introduces user defined value types as a major feature, improves overriding interface functions and reading from immutables. Apart from bugfixes, we also cleaned up the command-line interface and improved the way the\r\nimport mechanism resolves files.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/09/27/solidity-0.8.8-release-announcement/).\r\n\r\n**Language Features:**\r\n * Inheritance: A function that overrides only a single interface function does not require the ``override`` specifier.\r\n * Type System: Support ``type(E).min`` and ``type(E).max`` for enums.\r\n * User Defined Value Type: allows creating a zero cost abstraction over a value type with stricter type requirements.\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Add ``--include-path`` option for specifying extra directories that may contain importable code (e.g. packaged third-party libraries).\r\n * Commandline Interface: Do not implicitly run evm bytecode generation unless needed for the requested output.\r\n * Commandline Interface: Normalize paths specified on the command line and make them relative for files located inside base path and/or include paths.\r\n * Immutable variables can be read at construction time once they are initialized.\r\n * SMTChecker: Add constraints to better correlate ``address(this).balance`` and ``msg.value``.\r\n * SMTChecker: Support constants via modules.\r\n * SMTChecker: Support low level ``call`` as external calls to unknown code.\r\n * SMTChecker: Support the ``value`` option for external function calls.\r\n * SMTChecker: Support user defined value types.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix ICE on assigning to calldata structs and statically-sized calldata arrays in inline assembly.\r\n * Code Generator: Use stable source order for ABI functions.\r\n * Commandline Interface: Disallow the ``--experimental-via-ir`` option in Standard JSON, Assembler and Linker modes.\r\n * Commandline Interface: Fix resolution of paths whitelisted with ``--allowed-paths`` or implicitly due to base path, remappings and files being compiled. Correctly handle paths that do not match imports exactly due to being relative, non-normalized or empty.\r\n * Commandline Interface: Report optimizer options as invalid in Standard JSON and linker modes instead of ignoring them.\r\n * Name Resolver: Fix that when importing an aliased symbol using ``import {AliasedName} from \"a.sol\"`` it would use the original name of the symbol and not the aliased one.\r\n * Opcode Optimizer: Prevent the optimizer from running multiple times to avoid potential bytecode differences for referenced code.\r\n * Parser: Properly check for multiple SPDX license identifiers next to each other and validate them.\r\n * SMTChecker: Fix BMC's constraints regarding internal functions.\r\n * SMTChecker: Fix false negative caused by ``push`` on storage array references returned by internal functions.\r\n * SMTChecker: Fix false positive in external calls from constructors.\r\n * SMTChecker: Fix internal error on some multi-source uses of ``abi.*``, cryptographic functions and constants.\r\n * Standard JSON: Fix non-fatal errors in Yul mode being discarded if followed by a fatal error.\r\n * Type Checker: Correct wrong error message in inline assembly complaining about ``.slot`` or ``.offset` not valid when actually ``.length`` was used.\r\n * Type Checker: Disallow modifier declarations and definitions in interfaces.\r\n * Yul Optimizer: Fix a crash in LoadResolver, when ``keccak256`` has particular non-identifier arguments.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAhmed Ali, Alessandro Coglio, Alex Beregszaszi, Alexander Arlt, Andrew Lyndem, Basit Raza, benldrmn, Bhargava Shastry, CrimsonGlory, Daniel Kirchner, Harikrishnan Mulackal, hawkess, istareatscreens, John Adler, Kamil Śliwak, Leonardo Alt, Marenz, Midhun07, Nikita Stupin, Paul Razvan Berg, priyansh786, Sean Hawkes, soroosh-sdi, Sreekesh V, yatharthagoenka\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.8.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/50323951/reactions","total_count":16,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":14,"eyes":2},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/47664560","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/47664560/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/47664560/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.7","id":47664560,"node_id":"MDc6UmVsZWFzZTQ3NjY0NTYw","tag_name":"v0.8.7","target_commitish":"develop","name":"Version 0.8.7","draft":false,"prerelease":false,"created_at":"2021-08-11T12:14:21Z","published_at":"2021-08-11T12:55:33Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42208073","id":42208073,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjA4MDcz","name":"solc-macos","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36893612,"download_count":463,"created_at":"2021-08-11T13:15:12Z","updated_at":"2021-08-11T13:15:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42210062","id":42210062,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjEwMDYy","name":"solc-static-linux","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12141112,"download_count":8668,"created_at":"2021-08-11T13:44:04Z","updated_at":"2021-08-11T13:44:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42209196","id":42209196,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjA5MTk2","name":"solc-windows.exe","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7751680,"download_count":935,"created_at":"2021-08-11T13:32:37Z","updated_at":"2021-08-11T13:32:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42213616","id":42213616,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjEzNjE2","name":"solidity_0.8.7.tar.gz","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2771717,"download_count":1230,"created_at":"2021-08-11T14:35:37Z","updated_at":"2021-08-11T14:35:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/solidity_0.8.7.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42208303","id":42208303,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjA4MzAz","name":"soljson.js","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25947744,"download_count":163,"created_at":"2021-08-11T13:19:06Z","updated_at":"2021-08-11T13:19:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.7","body":"Solidity v0.8.7 introduces support for the [London upgrade](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/), includes\r\nvarious improvements to Yul to EVM code transformation, the SMTChecker and some bugfixes.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/08/11/solidity-0.8.7-release-announcement/).\r\n\r\n**Language Features:**\r\n * Introduce global ``block.basefee`` for retrieving the base fee of the current block.\r\n * Yul: Introduce builtin ``basefee()`` for retrieving the base fee of the current block.\r\n\r\n\r\n**Compiler Features:**\r\n * AssemblyStack: Also run opcode-based optimizer when compiling Yul code.\r\n * Commandline Interface: option ``--pretty-json`` works also with ``--standard--json``.\r\n * EVM: Set the default EVM version to \"London\".\r\n * SMTChecker: Do not check underflow and overflow by default.\r\n * SMTChecker: Unproved targets are hidden by default, and the SMTChecker only states how many unproved targets there are. They can be listed using the command line option ``--model-checker-show-unproved`` or the JSON option ``settings.modelChecker.showUnproved``.\r\n * SMTChecker: new setting to enable/disable encoding of division and modulo with slack variables. The command line option is ``--model-checker-div-mod-slacks`` and the JSON option is ``settings.modelChecker.divModWithSlacks``.\r\n * Yul EVM Code Transform: Also pop unused argument slots for functions without return variables (under the same restrictions as for functions with return variables).\r\n * Yul EVM Code Transform: Do not reuse stack slots that immediately become unreachable.\r\n * Yul Optimizer: Move function arguments and return variables to memory with the experimental Stack Limit Evader (which is not enabled by default).\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix crash when passing an empty string literal to ``bytes.concat()``.\r\n * Code Generator: Fix internal compiler error when calling functions bound to calldata structs and arrays.\r\n * Code Generator: Fix internal compiler error when passing a 32-byte hex literal or a zero literal to ``bytes.concat()`` by disallowing such literals.\r\n * Commandline Interface: Apply ``--optimizer-runs`` option in assembly / yul mode.\r\n * Commandline Interface: Fix crash when a directory path is passed to ``--standard-json``.\r\n * Commandline Interface: Read JSON from standard input when ``--standard-json`` gets ``-`` as a file name.\r\n * Standard JSON: Include source location for errors in files with empty name.\r\n * Type Checker: Fix internal error and prevent static calls to unimplemented modifiers.\r\n * Yul Code Generator: Fix internal compiler error when using a long literal with bitwise negation.\r\n * Yul Code Generator: Fix source location references for calls to builtin functions.\r\n * Yul Parser: Fix source location references for ``if`` statements.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Alexander Arlt, Amid Moeinzadeh, Bhargava Shastry, Christian Parpart, CrimsonGlory, Daniel Kirchner, GuLiPing-Hz, Harikrishnan Mulackal, Josué, Kamil Śliwak, Ladislav Sladecek, Leo Alt, Mathias Baumann, Simon Tian, Tony, chriseth, franzihei, iskanderandrews, jaa2, qedk and t11s.\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.7.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/47664560/reactions","total_count":28,"+1":5,"-1":0,"laugh":0,"hooray":10,"confused":0,"heart":7,"rocket":6,"eyes":0},"author":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/45024996","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/45024996/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/45024996/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.6","id":45024996,"node_id":"MDc6UmVsZWFzZTQ1MDI0OTk2","tag_name":"v0.8.6","target_commitish":"develop","name":"Version 0.8.6","draft":false,"prerelease":false,"created_at":"2021-06-22T11:30:55Z","published_at":"2021-06-22T12:30:35Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39041875","id":39041875,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQxODc1","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36651572,"download_count":434,"created_at":"2021-06-22T13:06:10Z","updated_at":"2021-06-22T13:06:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39041878","id":39041878,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQxODc4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12051000,"download_count":5320,"created_at":"2021-06-22T13:06:20Z","updated_at":"2021-06-22T13:06:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39041881","id":39041881,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQxODgx","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7687680,"download_count":1031,"created_at":"2021-06-22T13:06:22Z","updated_at":"2021-06-22T13:06:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39040370","id":39040370,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQwMzcw","name":"solidity_0.8.6.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2830671,"download_count":1340,"created_at":"2021-06-22T12:35:15Z","updated_at":"2021-06-22T12:35:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/solidity_0.8.6.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39041882","id":39041882,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQxODgy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25854368,"download_count":162,"created_at":"2021-06-22T13:06:23Z","updated_at":"2021-06-22T13:06:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.6","body":"Solidity 0.8.6 fixes some non-critical but annoying bugs, especially a warning about unreachable code that\r\nis in fact reachable.\r\n\r\nFor more details, please see the [release announcement](https://blog.soliditylang.org/2021/06/22/solidity-0.8.6-release-announcement/).\r\n\r\n**Language Features:**\r\n * Yul: Special meaning of ``\".metadata\"`` data object in Yul object.\r\n\r\n**Bugfixes:**\r\n * Control Flow Graph: Fix incorrectly reported unreachable code.\r\n * Solc-Js: When running ``solcjs`` without the ``--optimize`` flag, use ``settings.optimizer.enabled=false`` in Standard JSON instead of omitting the key.\r\n * Standard JSON: Omitting ``settings.optimizer.enabled`` was not equivalent to setting it to ``false``. It meant disabling also the peephole optimizer and jumpdest remover which by default still run with ``enabled=false``.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nAlex Beregszaszi, Allegheny Crypto, axeldelamarre, Djordje Mijovic, hrkrshnn, jgoodall628, Kamil Śliwak, Leonardo, Mathias Baumann, patekuru, QQ喵, TaldenV\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.6.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/45024996/reactions","total_count":27,"+1":17,"-1":0,"laugh":3,"hooray":6,"confused":0,"heart":0,"rocket":1,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/44406833","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/44406833/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/44406833/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.5","id":44406833,"node_id":"MDc6UmVsZWFzZTQ0NDA2ODMz","tag_name":"v0.8.5","target_commitish":"develop","name":"Version 0.8.5","draft":false,"prerelease":false,"created_at":"2021-06-10T11:04:38Z","published_at":"2021-06-10T12:02:58Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382811","id":38382811,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyODEx","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36627444,"download_count":175,"created_at":"2021-06-10T12:42:53Z","updated_at":"2021-06-10T12:43:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382822","id":38382822,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyODIy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12026424,"download_count":15797,"created_at":"2021-06-10T12:43:03Z","updated_at":"2021-06-10T12:43:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382826","id":38382826,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyODI2","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7640064,"download_count":374,"created_at":"2021-06-10T12:43:07Z","updated_at":"2021-06-10T12:43:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382785","id":38382785,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyNzg1","name":"solidity_0.8.5.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2823338,"download_count":496,"created_at":"2021-06-10T12:42:27Z","updated_at":"2021-06-10T12:42:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/solidity_0.8.5.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382829","id":38382829,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyODI5","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25823332,"download_count":85,"created_at":"2021-06-10T12:43:09Z","updated_at":"2021-06-10T12:43:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.5","body":"Solidity 0.8.5 allows conversions from ``bytes`` to ``bytesNN`` values, adds the ``verbatim`` builtin function to inject\r\narbitrary bytecode in Yul and fixes several smaller bugs.\r\n\r\nFor more details, please see the [release announcement](https://blog.soliditylang.org/2021/06/10/solidity-0.8.5-release-announcement/).\r\n\r\n**Language Features:**\r\n * Allowing conversion from ``bytes`` and ``bytes`` slices to ``bytes1``/.../``bytes32``.\r\n * Yul: Add ``verbatim`` builtin function to inject arbitrary bytecode.\r\n\r\n**Compiler Features:**\r\n * Code Generator: Insert helper functions for panic codes instead of inlining unconditionally. This can reduce costs if many panics (checks) are inserted, but can increase costs where few panics are used.\r\n * EVM: Set the default EVM version to \"Berlin\".\r\n * SMTChecker: Function definitions can be annotated with the custom Natspec tag ``custom:smtchecker abstract-function-nondet`` to be abstracted by a nondeterministic value when called.\r\n * Standard JSON / combined JSON: New artifact \"functionDebugData\" that contains bytecode offsets of entry points of functions and potentially more information in the future.\r\n * Yul Optimizer: Evaluate ``keccak256(a, c)``, when the value at memory location ``a`` is known at compile time and ``c`` is a constant ``\u003c= 32``.\r\n\r\n**Bugfixes:**\r\n * AST: Do not output value of Yul literal if it is not a valid UTF-8 string.\r\n * Code Generator: Fix internal error when function arrays are assigned to storage variables and the function types can be implicitly converted but are not identical.\r\n * Code Generator: Fix internal error when super would have to skip an unimplemented function in the virtual resolution order.\r\n * Control Flow Graph: Assume unimplemented modifiers use a placeholder.\r\n * Control Flow Graph: Take internal calls to functions that always revert into account for reporting unused or unassigned variables.\r\n * Function Call Graph: Fix internal error connected with circular constant references.\r\n * Name Resolver: Do not issue shadowing warning if the shadowing name is not directly accessible.\r\n * Natspec: Allow multiple ``@return`` tags on public state variable documentation.\r\n * SMTChecker: Fix internal error on conversion from ``bytes`` to ``fixed bytes``.\r\n * SMTChecker: Fix internal error on external calls from the constructor.\r\n * SMTChecker: Fix internal error on struct constructor with fixed bytes member initialized with string literal.\r\n * Source Locations: Properly set source location of scoped blocks.\r\n * Standard JSON: Properly allow the ``inliner`` setting under ``settings.optimizer.details``.\r\n * Type Checker: Fix internal compiler error related to having mapping types in constructor parameter for abstract contracts.\r\n * Type Checker: Fix internal compiler error when attempting to use an invalid external function type on pre-byzantium EVMs.\r\n * Type Checker: Fix internal compiler error when overriding receive ether function with one having different parameters during inheritance.\r\n * Type Checker: Make errors about (nested) mapping type in event or error parameter into fatal type errors.\r\n * Type Checker: Fix internal compiler error when overriding an implemented modifier with an unimplemented one.\r\n\r\n**AST Changes:**\r\n * Add member `hexValue` for Yul string and hex literals.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\na3d4, Alex Beregszaszi, Alexander Arlt, Anurag Dashputre, Bhargava Shastry, Christian Parpart, cxxboy, Daniel Kirchner, Đorđe Mijović, Franziska Heintel, Harikrishnan Mulackal, Kamil Śliwak, Keqi Huang, Leonardo Alt, Martin Blicha, Mathias Baumann, Maurelian, newbateni, Raphael Roullet, TerranCivilian, Wade Dorrell, William Entriken.\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.5.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/44406833/reactions","total_count":15,"+1":6,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":9,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/41767649","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/41767649/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/41767649/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.4","id":41767649,"node_id":"MDc6UmVsZWFzZTQxNzY3NjQ5","tag_name":"v0.8.4","target_commitish":"develop","name":"Version 0.8.4","draft":false,"prerelease":false,"created_at":"2021-04-21T13:09:37Z","published_at":"2021-04-21T13:51:48Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553603","id":35553603,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNjAz","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36438160,"download_count":686,"created_at":"2021-04-21T14:52:57Z","updated_at":"2021-04-21T14:53:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553636","id":35553636,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNjM2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11833912,"download_count":31431,"created_at":"2021-04-21T14:53:28Z","updated_at":"2021-04-21T14:53:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553590","id":35553590,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNTkw","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7538176,"download_count":1271,"created_at":"2021-04-21T14:52:36Z","updated_at":"2021-04-21T15:07:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553638","id":35553638,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNjM4","name":"solidity_0.8.4.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2741183,"download_count":1498,"created_at":"2021-04-21T14:53:31Z","updated_at":"2021-04-21T14:53:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/solidity_0.8.4.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553640","id":35553640,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNjQw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25640988,"download_count":196,"created_at":"2021-04-21T14:53:31Z","updated_at":"2021-04-21T14:53:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.4","body":"Solidity 0.8.4 fixes a bug in the ABI decoder, adds custom structured errors, ``bytes.concat(...)`` and allows more flexible configuration of the SMT checker. For more details, please see the [release announcement](https://blog.soliditylang.org/2021/04/21/solidity-0.8.4-release-announcement/).\r\n\r\nThe release contains an important bugfix. See [decoding from memory bug](https://blog.soliditylang.org/2021/04/21/decoding-from-memory-bug/) blog post for more details.\r\n\r\nThe release also implements custom errors. See [custom errors](https://blog.soliditylang.org/2021/04/21/custom-errors/) blog post for an introduction.\r\n\r\n**Important Bugfixes:**\r\n * ABI Decoder V2: For two-dimensional arrays and specially crafted data in memory, the result of ``abi.decode`` can depend on data elsewhere in memory. Calldata decoding is not affected.\r\n\r\n\r\n**Language Features:**\r\n * Assembly / Yul: Allow hex string literals.\r\n * Possibility to use ``bytes.concat`` with variable number of ``bytes`` and ``bytesNN`` arguments which behaves as a restricted version of `abi.encodePacked` with a more descriptive name.\r\n * Support custom errors via the ``error`` keyword and introduce the ``revert`` statement.\r\n\r\n\r\n**Compiler Features:**\r\n * Analysis: Properly detect circular references to the bytecode of other contracts across all function calls.\r\n * Commandline Interface: Model checker option ``--model-checker-targets`` also accepts ``outOfBounds``.\r\n * Commandline Interface: New model checker option ``--model-checker-contracts`` allows users to select which contracts should be analyzed as the most derived.\r\n * Low-Level Inliner: Inline ordinary jumps to small blocks and jumps to small blocks that terminate.\r\n * NatSpec: Allow ``@notice`` tag on non-public state variables and local variable declarations. The documentation will only be part of the AST, under the field ``documentation``.\r\n * SMTChecker: Deprecate ``pragma experimental SMTChecker;`` and set default model checker engine to ``none``.\r\n * SMTChecker: Report local variables in CHC counterexamples.\r\n * SMTChecker: Report out of bounds index access for arrays and fixed bytes.\r\n * SMTChecker: Support file level functions and constants.\r\n * Standard JSON: Model checker option ``settings.modelChecker.targets`` also accepts ``outOfBounds``.\r\n * Standard JSON: Model checker option ``settings.modelChecker.targets`` takes an array of string targets instead of string of comma separated targets.\r\n * Standard JSON: New model checker option ``settings.modelChecker.contracts`` allows users to select which contracts should be analyzed as the most derived.\r\n * Yul EVM Code Transform: Stack Optimization: Reuse slots of unused function arguments and defer allocating stack slots for return variables until after expression statements and assignments that do not reference them.\r\n * Yul Optimizer: Added a new step FunctionSpecializer, that specializes a function with its literal arguments.\r\n\r\n\r\n**Bugfixes:**\r\n * Antlr Grammar: Fix parsing of import paths involving properly distinguishing between empty and non-empty string literals in general.\r\n * AST Output: Fix ``kind`` field of ``ModifierInvocation`` for base constructor calls.\r\n * Commandline interface: Fix internal error when printing AST and using ``--base-path`` or ``file://`` prefix in imports.\r\n * Commandline interface: Fix standard input bypassing allowed path checks.\r\n * Natspec: Fix internal error related to the `@returns` documentation for a public state variable overriding a function.\r\n * SMTChecker: Fix false positive and false negative on ``push`` as LHS of a compound assignment.\r\n * SMTChecker: Fix false positive in contracts that cannot be deployed.\r\n * SMTChecker: Fix internal error on public getter returning dynamic data on older EVM versions where these are not available.\r\n * SMTChecker: Fix internal error on try-catch with function call in catch block.\r\n * Type Checker: Fix missing error when events are used without an emit statement.\r\n\r\n\r\n**AST Changes:**\r\n * New property for ``ContractDefinition`` nodes: ``usedErrors`` lists AST IDs of all errors used by the contract (even if defined outside).\r\n\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nAlex Beregszaszi, Anurag Dashputre, Behrouz, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Đorđe Mijović, Feiyang Tan, franzihei, Harikrishnan Mulackal, Hongbo Miao, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, Paul Razvan Berg, Thibaut Schaeffer, zayneio, \r\n\r\nIf you want to perform a source build, please only use solidity_0.8.4.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/41767649/reactions","total_count":12,"+1":5,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":7,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/40219278","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/40219278/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/40219278/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.3","id":40219278,"node_id":"MDc6UmVsZWFzZTQwMjE5Mjc4","tag_name":"v0.8.3","target_commitish":"develop","name":"Version 0.8.3","draft":false,"prerelease":false,"created_at":"2021-03-23T11:56:28Z","published_at":"2021-03-23T12:35:16Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863627","id":33863627,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjI3","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36227592,"download_count":276,"created_at":"2021-03-23T13:18:31Z","updated_at":"2021-03-23T13:18:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863630","id":33863630,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjMw","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11657784,"download_count":3394,"created_at":"2021-03-23T13:18:36Z","updated_at":"2021-03-23T13:18:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863631","id":33863631,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjMx","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7428608,"download_count":496,"created_at":"2021-03-23T13:18:38Z","updated_at":"2021-03-23T13:18:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863652","id":33863652,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjUy","name":"solidity_0.8.3.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2692622,"download_count":941,"created_at":"2021-03-23T13:19:11Z","updated_at":"2021-03-23T13:19:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/solidity_0.8.3.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863632","id":33863632,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjMy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25462766,"download_count":102,"created_at":"2021-03-23T13:18:39Z","updated_at":"2021-03-23T13:18:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.3","body":"Solidity 0.8.3 is a bugfix release that fixes an important bug about how the optimizer handles the Keccak256 opcode.\r\nFor details on the bug, please see the [bug blog post](https://blog.soliditylang.org/2021/03/23/keccak-optimizer-bug/).\r\n\r\nFor a detailed explanation of the new features and changes, please see the [release blog post](https://blog.soliditylang.org/2021/03/23/solidity-0.8.3-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Optimizer: Fix bug on incorrect caching of Keccak-256 hashes.\r\n\r\n**Compiler Features:**\r\n * Command Line Interface: Drop experimental support for ``--machine evm15``.\r\n * Optimizer: Try to move ``and`` with constant inside ``or`` to improve storage writes of small types.\r\n * Optimizer: Replace multiplications and divisions with powers of two by shifts.\r\n\r\n**Bugfixes:**\r\n * AST Import: For constructors, a public visibility is ignored during importing.\r\n * Error Reporter: Fix handling of carriage return.\r\n * SMTChecker: Fix internal error in BMC on resolving virtual functions inside branches.\r\n * SMTChecker: Fix internal error on ``array.pop`` nested inside 1-tuple.\r\n * SMTChecker: Fix internal error on ``FixedBytes`` constant initialized with string literal.\r\n * SMTChecker: Fix internal error on array slices.\r\n * SMTChecker: Fix internal error on calling public getter on a state variable of type array (possibly nested) of structs.\r\n * SMTChecker: Fix internal error on pushing to ``string`` casted to ``bytes``.\r\n * SMTChecker: Fix bug in virtual functions called by constructors.\r\n\r\n**AST Changes:**\r\n * ModifierInvocation: Add ``kind`` field which can be ``modifierInvocation`` or ``baseConstructorSpecifier``.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nAlex Beregszaszi, Alexander Arlt, Bhargava Shastry, Daniel Kirchner, Djordje Mijovic, ghidello, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann.\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.3.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/40219278/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/39116314","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/39116314/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/39116314/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.2","id":39116314,"node_id":"MDc6UmVsZWFzZTM5MTE2MzE0","tag_name":"v0.8.2","target_commitish":"develop","name":"Version 0.8.2","draft":false,"prerelease":false,"created_at":"2021-03-02T15:54:34Z","published_at":"2021-03-02T19:28:44Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32879407","id":32879407,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODc5NDA3","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36075048,"download_count":262,"created_at":"2021-03-03T09:33:50Z","updated_at":"2021-03-03T09:33:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32879413","id":32879413,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODc5NDEz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12232288,"download_count":18378,"created_at":"2021-03-03T09:33:56Z","updated_at":"2021-03-03T09:33:58Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32879416","id":32879416,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODc5NDE2","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7438848,"download_count":480,"created_at":"2021-03-03T09:33:58Z","updated_at":"2021-03-03T09:34:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32879439","id":32879439,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODc5NDM5","name":"solidity_0.8.2.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2669957,"download_count":809,"created_at":"2021-03-03T09:34:40Z","updated_at":"2021-03-03T09:34:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/solidity_0.8.2.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32882883","id":32882883,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODgyODgz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25422632,"download_count":74,"created_at":"2021-03-03T10:46:55Z","updated_at":"2021-03-03T10:47:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.2","body":"Solidity 0.8.2 adds an optimizer stage that can inline small amounts of code to save gas and\r\nprovides more means to work with code documentation by exporting inline comments\r\nand allowing custom natspec tags.\r\n\r\nFor a detailed explanation of the new features and changes, please see the [blog post](https://blog.soliditylang.org/2021/03/02/solidity-0.8.2-release-announcement/).\r\n\r\n\r\n**Compiler Features:**\r\n * AST: Export NatSpec comments above each statement as their documentation.\r\n * Inline Assembly: Do not warn anymore about variables or functions being shadowed by EVM opcodes.\r\n * NatSpec: Allow and export all tags that start with ``@custom:``.\r\n * NatSpec: Provide source locations for parsing errors.\r\n * Optimizer: Simple inlining when jumping to small blocks that jump again after a few side-effect free opcodes.\r\n\r\n\r\n**Bugfixes:**\r\n * AST: Added ``referencedDeclaration`` for enum members.\r\n * Code Generator: Fix internal error when functions are passed as parameters of other callables, when the function types can be implicitly converted, but not identical.\r\n * Parser: Properly parse ``.address`` in some situations.\r\n * SMTChecker: Fix missing type constraints on block and transaction variables in the deployment phase.\r\n * Type Checker: Fix internal error when override specifier is not a contract.\r\n * Type Checker: Make function-hash collision errors into fatal type errors.\r\n\r\n\r\n**AST Changes:**\r\n * Adds ``nameLocation`` to declarations to represent the exact location of the symbolic name.\r\n * Removed the redundant function type \"bytearraypush\" - replaced by \"arraypush\".\r\n * Support field ``documentation`` to hold NatSpec comments above each statement.\r\n\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nAlex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, dms-yondy, Đorđe Mijović, DragonDev1906, Franziska Heintel, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, Mikko Ohtamaa, nora, Rostyslav, \r\nSanad, ssi91","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/36965535","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/36965535/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/36965535/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.1","id":36965535,"node_id":"MDc6UmVsZWFzZTM2OTY1NTM1","tag_name":"v0.8.1","target_commitish":"develop","name":"Version 0.8.1","draft":false,"prerelease":false,"created_at":"2021-01-27T12:12:43Z","published_at":"2021-01-27T13:00:27Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259326","id":31259326,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5MzI2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35953016,"download_count":1012,"created_at":"2021-01-27T14:05:30Z","updated_at":"2021-01-27T14:05:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259347","id":31259347,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5MzQ3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11514424,"download_count":23354,"created_at":"2021-01-27T14:05:56Z","updated_at":"2021-01-27T14:06:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259351","id":31259351,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5MzUx","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7367168,"download_count":606,"created_at":"2021-01-27T14:06:01Z","updated_at":"2021-01-27T14:06:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259650","id":31259650,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5NjUw","name":"solidity_0.8.1.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2616760,"download_count":649,"created_at":"2021-01-27T14:12:25Z","updated_at":"2021-01-27T14:12:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/solidity_0.8.1.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259354","id":31259354,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5MzU0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25319453,"download_count":79,"created_at":"2021-01-27T14:06:03Z","updated_at":"2021-01-27T14:06:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.1","body":"Solidity 0.8.1 introduces many new features for the SMTChecker, updates the emscripten version for building soljson.js to 2.0.12, allows to catch panic errors and adds other small improvements.\r\n\r\nFor a detailed explanation of the new features and changes, please see the [blog post](https://blog.soliditylang.org/2021/01/27/solidity-0.8.1-release-announcement/).\r\n\r\n\r\n**Language Features:**\r\n * Possibility to use ``catch Panic(uint code)`` to catch a panic failure from an external call.\r\n\r\n**Compiler Features:**\r\n * Code Generator: Reduce the cost of ``\u003caddress\u003e.code.length`` by using ``extcodesize`` directly.\r\n * Command Line Interface: Allow ``=`` as separator between library name and address in ``--libraries`` commandline option.\r\n * Command Line Interface: New option ``--model-checker-targets`` allows specifying which targets should be checked. The valid options are ``all``, ``constantCondition``, ``underflow``, ``overflow``, ``divByZero``, ``balance``, ``assert``, ``popEmptyArray``, where the default is ``all``. Multiple targets can be chosen at the same time, separated by a comma without spaces: ``underflow,overflow,assert``.\r\n * Command Line Interface: Only accept library addresses with a prefix of ``0x`` in ``--libraries`` commandline option.\r\n * Optimizer: Add rule to replace ``iszero(sub(x,y))`` by ``eq(x,y)``.\r\n * Parser: Report meaningful error if parsing a version pragma failed.\r\n * SMTChecker: Output internal and trusted external function calls in a counterexample's transaction trace.\r\n * SMTChecker: Show ``msg.value`` in counterexample transaction traces when greater than 0.\r\n * SMTChecker: Show contract name in counterexample function call.\r\n * SMTChecker: Support ABI functions as uninterpreted functions.\r\n * SMTChecker: Support try/catch statements.\r\n * SMTChecker: Synthesize untrusted functions called externally.\r\n * SMTChecker: Use checked arithmetic by default and support ``unchecked`` blocks.\r\n * Standard JSON: New option ``modelCheckerSettings.targets`` allows specifying which targets should be checked. The valid options are ``all``, ``constantCondition``, ``underflow``, ``overflow``, ``divByZero``, ``balance``, ``assert``, ``popEmptyArray``, where the default is ``all``. Multiple targets can be chosen at the same time, separated by a comma without spaces: ``underflow,overflow,assert``.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix length check when decoding malformed error data in catch clause.\r\n * Control Flow Graph: Fix missing error caused by read from/write to uninitialized variables.\r\n * SMTChecker: Fix false negatives in overriding modifiers and functions.\r\n * SMTChecker: Fix false negatives in the presence of inline assembly.\r\n * SMTChecker: Fix false negatives when analyzing external function calls.\r\n * SMTChecker: Fix internal error on ``block.chainid``.\r\n * SMTChecker: Fix internal error on pushing string literal to ``bytes`` array.\r\n * SMTChecker: Fix missing type constraints for block variables.\r\n * Type Checker: Fix infinite loop when accessing circular constants from inline assembly.\r\n * Type Checker: Fix internal error caused by constant structs containing mappings.\r\n * Type System: Disallow implicit conversion from ``uintN`` to ``intM`` when ``M \u003e N``, and by extension, explicit conversion between the same types is also disallowed.\r\n\r\n**Build System:**\r\n * Update the soljson.js build to emscripten 2.0.12 and boost 1.75.0.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, az1az1, Bhargava Shastry, BinacsLee, Daniel Kirchner, Dmytro, Đorđe Mijović, Greg Stretton, Harikrishnan Mulackal, Harry Altman, Hui Yu, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, smareasy, \r\nSuriyaa Sundararuban, \r\n\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.0.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/35353872","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/35353872/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/35353872/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.0","id":35353872,"node_id":"MDc6UmVsZWFzZTM1MzUzODcy","tag_name":"v0.8.0","target_commitish":"develop","name":"Version 0.8.0","draft":false,"prerelease":false,"created_at":"2020-12-16T17:04:09Z","published_at":"2020-12-16T17:40:49Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29650280","id":29650280,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjUwMjgw","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35687716,"download_count":1276,"created_at":"2020-12-16T17:58:08Z","updated_at":"2020-12-16T17:58:14Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29649997","id":29649997,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQ5OTk3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11346488,"download_count":26610,"created_at":"2020-12-16T17:51:19Z","updated_at":"2020-12-16T17:51:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29650807","id":29650807,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjUwODA3","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7213056,"download_count":1159,"created_at":"2020-12-16T18:08:53Z","updated_at":"2020-12-16T18:08:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29649645","id":29649645,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQ5NjQ1","name":"solidity_0.8.0.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2538492,"download_count":2052,"created_at":"2020-12-16T17:42:01Z","updated_at":"2020-12-16T17:42:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/solidity_0.8.0.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29650004","id":29650004,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjUwMDA0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23990711,"download_count":252,"created_at":"2020-12-16T17:51:29Z","updated_at":"2020-12-16T17:51:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.0","body":"Solidity 0.8.0 is a breaking release of the Solidity compiler and language. \r\n\r\nFor a detailed explanation of the new features and changes, please see the [blog post](https://blog.soliditylang.org/2020/12/16/solidity-v0.8.0-release-announcement/).\r\n\r\n### Breaking Changes:\r\n* Code Generator: All arithmetic is checked by default. These checks can be disabled using ``unchecked { ... }``.\r\n* Code Generator: Cause a panic if a byte array in storage is accessed whose length is encoded incorrectly.\r\n* Code Generator: Use ``revert`` with error signature ``Panic(uint256)`` and error codes instead of invalid opcode on failing assertions.\r\n* Command Line Interface: JSON fields `abi`, `devdoc`, `userdoc` and `storage-layout` are now sub-objects rather than strings.\r\n* Command Line Interface: Remove the ``--old-reporter`` option.\r\n* Command Line Interface: Remove the legacy ``--ast-json`` option. Only the ``--ast-compact-json`` option is supported now.\r\n* General: Enable ABI coder v2 by default.\r\n* General: Remove global functions ``log0``, ``log1``, ``log2``, ``log3`` and ``log4``.\r\n* Parser: Exponentiation is right associative. ``a**b**c`` is parsed as ``a**(b**c)``.\r\n* Scanner: Remove support for the ``\\b``, ``\\f``, and ``\\v`` escape sequences.\r\n* Standard JSON: Remove the ``legacyAST`` option.\r\n* Type Checker: Function call options can only be given once.\r\n* Type System: Declarations with the name ``this``, ``super`` and ``_`` are disallowed, with the exception of public functions and events.\r\n* Type System: Disallow ``msg.data`` in ``receive()`` function.\r\n* Type System: Disallow ``type(super)``.\r\n* Type System: Disallow enums with more than 256 members.\r\n* Type System: Disallow explicit conversions from negative literals and literals larger than ``type(uint160).max`` to ``address`` type.\r\n* Type System: Disallow the ``byte`` type. It was an alias to ``bytes1``.\r\n* Type System: Explicit conversion to ``address`` type always returns a non-payable ``address`` type. In particular, ``address(u)``, ``address(b)``, ``address(c)`` and ``address(this)`` have the type ``address`` instead of ``address payable`` (Here ``u``, ``b``, and ``c`` are arbitrary variables of type ``uint160``, ``bytes20`` and contract type respectively.)\r\n* Type System: Explicit conversions between two types are disallowed if it changes more than one of sign, width or kind at the same time.\r\n* Type System: Explicit conversions from literals to enums are only allowed if the value fits in the enum.\r\n* Type System: Explicit conversions from literals to integer type is as strict as implicit conversions.\r\n* Type System: Introduce ``address(...).code`` to retrieve the code as ``bytes memory``. The size can be obtained via ``address(...).code.length``, but it will currently always include copying the code.\r\n* Type System: Introduce ``block.chainid`` for retrieving the current chain id.\r\n* Type System: Support ``address(...).codehash`` to retrieve the codehash of an account.\r\n* Type System: The global variables ``tx.origin`` and ``msg.sender`` have type ``address`` instead of ``address payable``.\r\n* Type System: Unary negation can only be used on signed integers, not on unsigned integers.\r\n* View Pure Checker: Mark ``chainid`` as view.\r\n* Yul: Disallow the use of reserved identifiers, such as EVM instructions, even if they are not available in the given dialect / EVM version.\r\n* Yul: The ``assignimmutable`` builtin in the \"EVM with objects\" dialect takes the base offset of the code to modify as an additional argument.\r\n\r\n### Language Features:\r\n* Super constructors can now be called using the member notation e.g. ``M.C(123)``.\r\n\r\n### Bugfixes:\r\n* Type Checker: Perform proper truncating integer arithmetic when using constants in array length expressions.\r\n\r\n### AST Changes:\r\n* New AST Node ``IdentifierPath`` replacing in many places the ``UserDefinedTypeName``.\r\n* New AST Node ``UncheckedBlock`` used for ``unchecked { ... }``.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Mathias Baumann, ssi91\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.0.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/35353872/reactions","total_count":14,"+1":11,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":3,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/35353474","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/35353474/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/35353474/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.6","id":35353474,"node_id":"MDc6UmVsZWFzZTM1MzUzNDc0","tag_name":"v0.7.6","target_commitish":"develop","name":"Version 0.7.6","draft":false,"prerelease":false,"created_at":"2020-12-16T14:39:16Z","published_at":"2020-12-16T15:14:10Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643656","id":29643656,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzNjU2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35612860,"download_count":2297,"created_at":"2020-12-16T15:51:57Z","updated_at":"2020-12-16T15:52:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643818","id":29643818,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzODE4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11260472,"download_count":83401,"created_at":"2020-12-16T15:54:14Z","updated_at":"2020-12-16T15:54:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643662","id":29643662,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzNjYy","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7180800,"download_count":815,"created_at":"2020-12-16T15:52:03Z","updated_at":"2020-12-16T15:52:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643647","id":29643647,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzNjQ3","name":"solidity_0.7.6.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2526556,"download_count":1921,"created_at":"2020-12-16T15:51:36Z","updated_at":"2020-12-16T15:51:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/solidity_0.7.6.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643664","id":29643664,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzNjY0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23937175,"download_count":227,"created_at":"2020-12-16T15:52:05Z","updated_at":"2020-12-16T15:52:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.6","body":"This version of Solidity adds better support for calldata types. Furthermore, the fallback function can now have a parameter and explicitly return data. For details, please see the [blog post](https://blog.soliditylang.org/2020/12/16/solidity-0.7.6-release-announcement).\r\n\r\n### Language Features:\r\n * Code generator: Support conversion from calldata slices to memory and storage arrays.\r\n * Code generator: Support copying dynamically encoded structs from calldata to memory.\r\n * Code generator: Support copying of nested arrays from calldata to memory.\r\n * Scanner: Generate a parser error when comments or unicode strings contain an unbalanced or underflowing set of unicode direction override markers (LRO, RLO, LRE, RLE, PDF).\r\n * The fallback function can now also have a single ``calldata`` argument (equaling ``msg.data``) and return ``bytes memory`` (which will not be ABI-encoded but returned as-is).\r\n * Wasm backend: Add ``i32.select`` and ``i64.select`` instructions.\r\n\r\n### Compiler Features:\r\n * Build System: Optionally support dynamic loading of Z3 and use that mechanism for Linux release builds.\r\n * Code Generator: Avoid memory allocation for default value if it is not used.\r\n * SMTChecker: Apply constant evaluation on binary arithmetic expressions.\r\n * SMTChecker: Create underflow and overflow verification targets for increment/decrement in the CHC engine.\r\n * SMTChecker: Report struct values in counterexamples from CHC engine.\r\n * SMTChecker: Support early returns in the CHC engine.\r\n * SMTChecker: Support getters.\r\n * SMTChecker: Support named arguments in function calls.\r\n * SMTChecker: Support struct constructor.\r\n * Standard-Json: Move the recently introduced ``modelCheckerSettings`` key to ``settings.modelChecker``.\r\n * Standard-Json: Properly filter the requested output artifacts.\r\n\r\n### Bugfixes:\r\n * Code generator: Do not pad empty string literals with a single 32-byte zero field in the ABI coder v1.\r\n * NatSpec: Fix segfault when inheriting return parameter documentation for modifiers with no parameters.\r\n * SMTChecker: Fix cast string literals to byte arrays.\r\n * SMTChecker: Fix internal compiler error when doing bitwise compound assignment with string literals.\r\n * SMTChecker: Fix internal error when trying to generate counterexamples with old z3.\r\n * SMTChecker: Fix segmentation fault that could occur on certain SMT-enabled sources when no SMT solver was available.\r\n * SMTChecker: Fix internal error when ``bytes.push()`` is used as the LHS of an assignment.\r\n * Type Checker: ``super`` is not available in libraries.\r\n * Type Checker: Disallow leading zeroes in sized-types (e.g. ``bytes000032``), but allow them to be treated as identifiers.\r\n * Yul Optimizer: Fix a bug in NameSimplifier where a new name created by NameSimplifier could also be created by NameDispenser.\r\n * Yul Optimizer: Removed NameSimplifier from optimization steps available to users.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Đorđe Mijović, franzihei, Harikrishnan Mulackal, Jaime, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, Matt Williams, midinas, ritzdorf.\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.6.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/35353474/reactions","total_count":4,"+1":2,"-1":0,"laugh":0,"hooray":2,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/34111498","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/34111498/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/34111498/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.5","id":34111498,"node_id":"MDc6UmVsZWFzZTM0MTExNDk4","tag_name":"v0.7.5","target_commitish":"develop","name":"Version 0.7.5","draft":false,"prerelease":false,"created_at":"2020-11-18T12:43:11Z","published_at":"2020-11-18T13:22:12Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459262","id":28459262,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5MjYy","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35555176,"download_count":1041,"created_at":"2020-11-18T14:08:48Z","updated_at":"2020-11-18T14:12:21Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459403","id":28459403,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5NDAz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11286992,"download_count":38813,"created_at":"2020-11-18T14:12:21Z","updated_at":"2020-11-18T14:13:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459450","id":28459450,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5NDUw","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7139840,"download_count":449,"created_at":"2020-11-18T14:13:38Z","updated_at":"2020-11-18T14:13:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459631","id":28459631,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5NjMx","name":"solidity_0.7.5.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2465230,"download_count":1232,"created_at":"2020-11-18T14:18:58Z","updated_at":"2020-11-18T14:19:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/solidity_0.7.5.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459453","id":28459453,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5NDUz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23865884,"download_count":61,"created_at":"2020-11-18T14:13:43Z","updated_at":"2020-11-18T14:13:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.5","body":"This version of Solidity adds a new way to select which ABI coder to use in preparation for making ABI coder v2 the default for 0.8.0. Another notable feature is the option to compile via the new experimental Yul-based compiler pipeline.\r\n\r\n### Language Features\r\n * Ability to select the abi coder using ``pragma abicoder v1`` and ``pragma abicoder v2``.\r\n * Inline Assembly: Use ``.offset`` and ``.length`` for calldata variables of dynamic array type to access their calldata offset and length (number of elements). Both of them can also be assigned to.\r\n * Immutable variables with literal number values are considered pure.\r\n\r\n### Compiler Features\r\n * Assembler: Perform linking in assembly mode when library addresses are provided.\r\n * Command Line Interface: New option ``--experimental-via-ir`` allows switching compilation process to go through the Yul intermediate representation. This is highly experimental and is used for development purposes.\r\n * Command Line Interface: New option ``--model-checker-timeout`` sets a timeout in milliseconds for each individual query performed by the SMTChecker.\r\n * Command Line Interface: Report error if file could not be read in ``--standard-json`` mode.\r\n * Command Line interface: Report proper error for each output file which could not be written. Previously an exception was thrown, and execution aborted, on the first error.\r\n * SMTChecker: Add division by zero checks in the CHC engine.\r\n * SMTChecker: More precise analysis of external calls using ``this``.\r\n * SMTChecker: Support ``selector`` for expressions with value known at compile-time.\r\n * Standard JSON: New option ``modelCheckerSettings.timeout`` sets a timeout in milliseconds for each individual query performed by the SMTChecker.\r\n * Standard JSON: New option ``settings.viaIR`` allows the same switch as ``--experimental-via-ir`` on the commandline.\r\n\r\n### Bugfixes\r\n * Code generator: Fix missing creation dependency tracking for abstract contracts.\r\n * Command Line Interface: Fix write error when the directory passed to ``--output-dir`` ends with a slash.\r\n * Command Line Interface: Reject duplicate libraries in ``--libraries`` option instead of arbitrarily choosing one.\r\n * NatSpec: Fix internal error when inheriting return parameter documentation but the parameter names differ between base and inherited.\r\n * SMTChecker: Fix CHC false positives when branches are used inside modifiers.\r\n * SMTChecker: Fix false negative in modifier applied multiple times.\r\n * SMTChecker: Fix incorrect counterexamples reported by the CHC engine.\r\n * SMTChecker: Fix internal error in the BMC engine when inherited contract from a different source unit has private state variables.\r\n * SMTChecker: Fix internal error on conversion from string literal to byte.\r\n * SMTChecker: Fix internal error when ``array.push()`` is used as the LHS of an assignment.\r\n * SMTChecker: Fix internal error when assigning state variable via contract's name.\r\n * SMTChecker: Fix internal error when using tuples of rational literals inside the conditional operator.\r\n * SMTChecker: Fix lack of reporting potential violations when using only the CHC engine.\r\n * Standard JSON: Fix library addresses specified in ``libraries`` being used for linking even if the file names do not match.\r\n\r\n### AST Changes\r\n * New member ``suffix`` for inline assembly identifiers. Currently supported values are ``\"slot\"``, ``\"offset\"`` and ``\"length\"`` to access the components of a Solidity variable.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Kamil Śliwak, Leonardo Alt, Christian Parpart, Martin Blicha, Đorđe Mijović, Harikrishnan Mulackal, Alexander Arlt, Mathias Baumann, DELL, Eric Bouchut, RishiGondkar, a3d4, cakesoft-khushi\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.5.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/33157263","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/33157263/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/33157263/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/preview-0.8.x","id":33157263,"node_id":"MDc6UmVsZWFzZTMzMTU3MjYz","tag_name":"preview-0.8.x","target_commitish":"breaking","name":"Preview of 0.8.x","draft":false,"prerelease":true,"created_at":"2020-10-26T17:49:38Z","published_at":"2020-10-28T11:09:16Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27631326","id":27631326,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3NjMxMzI2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35534164,"download_count":33,"created_at":"2020-10-28T11:12:45Z","updated_at":"2020-10-28T11:12:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/preview-0.8.x/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27631332","id":27631332,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3NjMxMzMy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9814096,"download_count":874,"created_at":"2020-10-28T11:12:52Z","updated_at":"2020-10-28T11:12:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/preview-0.8.x/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27631324","id":27631324,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3NjMxMzI0","name":"solc.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7092736,"download_count":65,"created_at":"2020-10-28T11:12:40Z","updated_at":"2020-10-28T11:12:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/preview-0.8.x/solc.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27631333","id":27631333,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3NjMxMzMz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23741262,"download_count":25,"created_at":"2020-10-28T11:12:54Z","updated_at":"2020-10-28T11:12:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/preview-0.8.x/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/preview-0.8.x","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/preview-0.8.x","body":"This is a preview release of the Solidity 0.8.x series.\r\n\r\nRead more about it in the [blog post](https://solidity.ethereum.org/2020/10/28/solidity-0.8.x-preview/).","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/32742805","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/32742805/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/32742805/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.4","id":32742805,"node_id":"MDc6UmVsZWFzZTMyNzQyODA1","tag_name":"v0.7.4","target_commitish":"develop","name":"Version 0.7.4","draft":false,"prerelease":false,"created_at":"2020-10-19T13:13:30Z","published_at":"2020-10-19T13:55:29Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27180034","id":27180034,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgwMDM0","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35464828,"download_count":857,"created_at":"2020-10-19T14:17:47Z","updated_at":"2020-10-19T14:17:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27180038","id":27180038,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgwMDM4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11192752,"download_count":25612,"created_at":"2020-10-19T14:17:54Z","updated_at":"2020-10-19T14:17:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27180210","id":27180210,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgwMjEw","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7069184,"download_count":514,"created_at":"2020-10-19T14:21:15Z","updated_at":"2020-10-19T14:21:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27180329","id":27180329,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgwMzI5","name":"solidity_0.7.4.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2425924,"download_count":1283,"created_at":"2020-10-19T14:23:38Z","updated_at":"2020-10-19T14:23:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/solidity_0.7.4.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27181018","id":27181018,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgxMDE4","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23709286,"download_count":98,"created_at":"2020-10-19T14:36:12Z","updated_at":"2020-10-19T14:36:21Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.4","body":"Solidity v0.7.4 fixes a storage corruption bug of medium severity that occurs when copying empty byte arrays to storage.\r\n\r\nTo learn more about the bug and to check if your contract is vulnerable please read this [post](https://solidity.ethereum.org/2020/10/19/empty-byte-array-copy-bug) with further details about the bug.\r\n\r\nWe thank John Toman of the Certora development team for finding and reporting the bug.\r\n\r\nIn addition to the bug fix, this release contains many small fixes and allows you to define constants at file-level. More details can be found in the [release announcement](https://solidity.ethereum.org/2020/10/19/solidity-0.7.4-release-announcement/).\r\n\r\n### Important Bugfixes\r\n * Code Generator: Fix data corruption bug when copying empty byte arrays from memory or calldata to storage.\r\n\r\n\r\n### Language Features\r\n * Constants can be defined at file level.\r\n\r\n\r\n### Compiler Features\r\n * Command Line Interface: New option ``--model-checker-engine`` allows to choose a specific SMTChecker engine. Options are ``all`` (default), ``bmc``, ``chc`` and ``none``.\r\n * Control Flow Graph: Print warning for non-empty functions with unnamed return parameters that are not assigned a value in all code paths.\r\n * SMTChecker: Support ``keccak256``, ``sha256``, ``ripemd160`` and ``ecrecover`` in the CHC engine.\r\n * SMTChecker: Support inline arrays.\r\n * SMTChecker: Support variables ``block``, ``msg`` and ``tx`` in the CHC engine.\r\n * Standard JSON: New option ``modelCheckerSettings.engine`` allows to choose a specific SMTChecker engine. Options are ``all`` (default), ``bmc``, ``chc`` and ``none``.\r\n\r\n\r\n### Bugfixes\r\n * Code generator: Fix ``ABIEncoderV2`` pragma from the current module affecting inherited functions and applied modifiers.\r\n * Code generator: Fix internal compiler error when referencing members via module name but not using the reference.\r\n * Code generator: Fix internal error on returning structs containing mappings from library function.\r\n * Code generator: Use revert instead of invalid opcode for out-of-bounds array index access in getter.\r\n * Contract Level Checker: Add missing check against inheriting functions with ABIEncoderV2 return types in ABIEncoderV1 contracts.\r\n * Name Resolver: Fix shadowing/same-name warnings for later declarations.\r\n * Type Checker: Allow arrays of contract types as type expressions and as arguments for ``abi.decode``.\r\n * Type Checker: Disallow invalid use of library names as type name.\r\n * Type Checker: Fix internal compiler error caused by storage parameters with nested mappings in libraries.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Đorđe Mijović, franzihei, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, Ronald Eddy Jr\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.4.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/32259131","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/32259131/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/32259131/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.3","id":32259131,"node_id":"MDc6UmVsZWFzZTMyMjU5MTMx","tag_name":"v0.7.3","target_commitish":"9bfce1f651b02bc674bd5a82b9d59ae58b338ee7","name":"Version 0.7.3","draft":false,"prerelease":false,"created_at":"2020-10-07T13:45:17Z","published_at":"2020-10-07T14:41:31Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26661745","id":26661745,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYxNzQ1","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35278084,"download_count":828,"created_at":"2020-10-07T15:14:29Z","updated_at":"2020-10-07T15:14:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26661330","id":26661330,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYxMzMw","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9932880,"download_count":8534,"created_at":"2020-10-07T15:04:10Z","updated_at":"2020-10-07T15:04:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26661534","id":26661534,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYxNTM0","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":6967296,"download_count":293,"created_at":"2020-10-07T15:10:01Z","updated_at":"2020-10-07T15:10:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26662457","id":26662457,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYyNDU3","name":"solidity_0.7.3.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2398553,"download_count":657,"created_at":"2020-10-07T15:30:08Z","updated_at":"2020-10-07T15:30:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/solidity_0.7.3.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26661593","id":26661593,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYxNTkz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":23507275,"download_count":38,"created_at":"2020-10-07T15:11:25Z","updated_at":"2020-10-07T15:11:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.3","body":"This release fixes a bug in the routine that copies dynamically-sized arrays to storage. More details about the bug can be found in the [blog post](https://solidity.ethereum.org/2020/10/07/solidity-dynamic-array-cleanup-bug).\r\n\r\n### Important Bugfixes\r\n * Code Generator: Properly cleanup after copying dynamic-array to storage for packed types.\r\n\r\n### Compiler Features\r\n * Code generator: Implemented events with function type as one of its indexed parameters.\r\n * General: Option to stop compilation after parsing stage. Can be used with ``solc --stop-after parsing``\r\n * Optimizer: Optimize ``exp`` when base is ``-1``.\r\n * SMTChecker: Support ``addmod`` and ``mulmod``.\r\n * SMTChecker: Support array slices.\r\n * SMTChecker: Support type conversions.\r\n\r\n### Bugfixes\r\n * Fixed internal compiler errors for certain contracts involving the ``new`` expression.\r\n * JSON AST: Fix internal error when using ``--ast-json`` on a function with memory arguments in ABIEncoderV2 contracts.\r\n * Type Checker: Add missing checks for calls using types incompatible with ABIEncoderV1 in modules where ABIEncoderV2 is not enabled.\r\n * Type Checker: Fix internal compiler error when calling `.push(\u003carg\u003e)` for a storage array with a nested mapping.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Djordje Mijovic, Harikrishnan Mulackal, Leonardo Alt, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.3.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/31890379","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/31890379/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/31890379/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.2","id":31890379,"node_id":"MDc6UmVsZWFzZTMxODkwMzc5","tag_name":"v0.7.2","target_commitish":"51b20bc0872bb9049e205d5547023cb06d1df9db","name":"Version 0.7.2","draft":false,"prerelease":false,"created_at":"2020-09-28T15:14:05Z","published_at":"2020-09-28T16:03:51Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26285446","id":26285446,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg1NDQ2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35219884,"download_count":742,"created_at":"2020-09-28T16:27:27Z","updated_at":"2020-09-28T16:27:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26287216","id":26287216,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg3MjE2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9887824,"download_count":6610,"created_at":"2020-09-28T17:26:48Z","updated_at":"2020-09-28T17:26:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26285592","id":26285592,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg1NTky","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":6961664,"download_count":237,"created_at":"2020-09-28T16:31:38Z","updated_at":"2020-09-28T16:31:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26287765","id":26287765,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg3NzY1","name":"solidity_0.7.2.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2376690,"download_count":422,"created_at":"2020-09-28T17:45:15Z","updated_at":"2020-09-28T17:45:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/solidity_0.7.2.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26287643","id":26287643,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg3NjQz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":23397136,"download_count":46,"created_at":"2020-09-28T17:41:46Z","updated_at":"2020-09-28T17:41:47Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.2","body":"This release of Solidity includes a fix for the \"free functions\" feature introduced in the previous release: Two free functions with the same name and parameter types were not considered an error. For more details, please see [the blog post](https://solidity.ethereum.org/2020/09/28/solidity-0.7.2-release-announcement/).\r\n\r\nThe language support by the SMT checker has also been expanded considerably and the compiler can now export generated internal routines like the ABI encoder and decoder as readable Yul code.\r\n\r\n### Important Bugfixes\r\n * Type Checker: Disallow two or more free functions with identical name (potentially imported and aliased) and parameter types.\r\n\r\n\r\n### Compiler Features\r\n * Export compiler-generated utility sources via standard-json or combined-json.\r\n * Optimizer: Optimize ``exp`` when base is 0, 1 or 2.\r\n * SMTChecker: Keep knowledge about string literals, even through assignment, and thus support the ``.length`` property properly.\r\n * SMTChecker: Support ``address`` type conversion with literals, e.g. ``address(0)``.\r\n * SMTChecker: Support ``revert()``.\r\n * SMTChecker: Support ``type(T).min``, ``type(T).max``, and ``type(I).interfaceId``.\r\n * SMTChecker: Support compound and, or, and xor operators.\r\n * SMTChecker: Support events and low-level logs.\r\n * SMTChecker: Support fixed bytes index access.\r\n * SMTChecker: Support memory allocation, e.g. ``new bytes(123)``.\r\n * SMTChecker: Support shifts.\r\n * SMTChecker: Support structs.\r\n * Type Checker: Explain why oversized hex string literals can not be explicitly converted to a shorter ``bytesNN`` type.\r\n * Type Checker: More detailed error messages why implicit conversions fail.\r\n * Type Checker: Report position of first invalid UTF-8 sequence in ``unicode\"\"`` literals.\r\n * Yul IR Generator: Report source locations related to unimplemented features.\r\n * Yul Optimizer: Inline into functions further down in the call graph first.\r\n * Yul Optimizer: Prune unused parameters in functions.\r\n * Yul Optimizer: Try to simplify function names.\r\n\r\n\r\n### Bugfixes\r\n * Code generator: Fix internal error on stripping dynamic types from return parameters on EVM versions without ``RETURNDATACOPY``.\r\n * Type Checker: Add missing check against nested dynamic arrays in ABI encoding functions when ABIEncoderV2 is disabled.\r\n * Type Checker: Correct the error message for invalid named parameter in a call to refer to the right argument.\r\n * Type Checker: Correct the warning for homonymous, but not shadowing declarations.\r\n * Type Checker: Disallow ``virtual`` for modifiers in libraries.\r\n * Type system: Fix internal error on implicit conversion of contract instance to the type of its ``super``.\r\n * Type system: Fix internal error on implicit conversion of string literal to a calldata string.\r\n * Type system: Fix named parameters in overloaded function and event calls being matched incorrectly if the order differs from the declaration.\r\n * ViewPureChecker: Prevent visibility check on constructors.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Đorđe Mijović, franzihei, Harikrishnan Mulackal, John B Nelson, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Nikesh Nazareth, Omkar Nikhal, Wayne Nilsen\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.2.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/30576498","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/30576498/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/30576498/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.1","id":30576498,"node_id":"MDc6UmVsZWFzZTMwNTc2NDk4","tag_name":"v0.7.1","target_commitish":"f4a555bedca52f4c1d4288375ec1e3abcb3d1d6d","name":"Version 0.7.1","draft":false,"prerelease":false,"created_at":"2020-09-02T12:43:57Z","published_at":"2020-09-02T13:52:23Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24745216","id":24745216,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQ1MjE2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33844456,"download_count":860,"created_at":"2020-09-02T14:36:08Z","updated_at":"2020-09-02T14:36:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24743851","id":24743851,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQzODUx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9605200,"download_count":32841,"created_at":"2020-09-02T14:12:29Z","updated_at":"2020-09-02T14:12:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24745299","id":24745299,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQ1Mjk5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7772083,"download_count":2557,"created_at":"2020-09-02T14:37:29Z","updated_at":"2020-09-02T14:37:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24744859","id":24744859,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQ0ODU5","name":"solidity_0.7.1.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2309527,"download_count":1337,"created_at":"2020-09-02T14:30:10Z","updated_at":"2020-09-02T14:30:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/solidity_0.7.1.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24744395","id":24744395,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQ0Mzk1","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":22938468,"download_count":50,"created_at":"2020-09-02T14:21:28Z","updated_at":"2020-09-02T14:21:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.1","body":"This release introduces the possibility to define functions at file level. This is a way to define helper-functions that are independent of specific contracts which is much more natural than using internal library functions. Apart from this, the release contains many bugfixes.\r\n\r\n\r\n**Language Features:**\r\n * Allow function definitions outside of contracts, behaving much like internal library functions.\r\n * Code generator: Implementing copying structs from calldata to storage.\r\n\r\n**Compiler Features:**\r\n * SMTChecker: Add underflow and overflow as verification conditions in the CHC engine.\r\n * SMTChecker: Support bitwise or, xor and not operators.\r\n * SMTChecker: Support conditional operator.\r\n * Standard JSON Interface: Do not run EVM bytecode code generation, if only Yul IR or EWasm output is requested.\r\n * Yul Optimizer: LoopInvariantCodeMotion can move reading operations outside for-loops as long as the affected area is not modified inside the loop.\r\n * Yul: Report error when using non-string literals for ``datasize()``, ``dataoffset()``, ``linkersymbol()``, ``loadimmutable()``, ``setimmutable()``.\r\n\r\n**Bugfixes:**\r\n * AST: Remove ``null`` member values also when the compiler is used in standard-json-mode.\r\n * General: Allow `type(Contract).name` for abstract contracts and interfaces.\r\n * Immutables: Disallow assigning immutables more than once during their declaration.\r\n * Immutables: Properly treat complex assignment and increment/decrement as both reading and writing and thus disallow it everywhere for immutable variables.\r\n * Optimizer: Keep side-effects of ``x`` in ``byte(a, shr(b, x))`` even if the constants ``a`` and ``b`` would make the expression zero unconditionally. This optimizer rule is very hard if not impossible to trigger in a way that it can result in invalid code, though.\r\n * References Resolver: Fix internal bug when using constructor for library.\r\n * Scanner: Fix bug where whitespace would be allowed within the ``-\u003e`` token (e.g. ``function f() - \u003e x {}`` becomes invalid in inline assembly and Yul).\r\n * SMTChecker: Fix internal error in BMC function inlining.\r\n * SMTChecker: Fix internal error on array implicit conversion.\r\n * SMTChecker: Fix internal error on fixed bytes index access.\r\n * SMTChecker: Fix internal error on lvalue unary operators with tuples.\r\n * SMTChecker: Fix internal error on tuple assignment.\r\n * SMTChecker: Fix internal error on tuples of one element that have tuple type.\r\n * SMTChecker: Fix soundness of array ``pop``.\r\n * Type Checker: Disallow ``using for`` directive inside interfaces.\r\n * Type Checker: Disallow signed literals as exponent in exponentiation operator.\r\n * Type Checker: Disallow structs containing nested mapping in memory as parameters for library functions.\r\n * Yul Optimizer: Ensure that Yul keywords are not mistakenly used by the NameDispenser and VarNameCleaners. The bug would manifest as uncompilable code.\r\n * Yul Optimizer: Make function inlining order more resilient to whether or not unrelated source files are present.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, cakesoft-omkar, Christian Parpart, Daniel Kirchner, Đorđe Mijović, Goh Chun Lin, hactrox, Harikrishnan Mulackal, Harry Altman, Jason Cobb, Kamil Śliwak, Leonardo Alt, Mathias Baumann.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.1.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/29021369","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/29021369/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/29021369/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.0","id":29021369,"node_id":"MDc6UmVsZWFzZTI5MDIxMzY5","tag_name":"v0.7.0","target_commitish":"9e61f92bd4d19b430cb8cb26f1c7cf79f1dff380","name":"Version 0.7.0","draft":false,"prerelease":false,"created_at":"2020-07-28T12:33:04Z","published_at":"2020-07-28T13:22:52Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23327164","id":23327164,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzI3MTY0","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33837084,"download_count":959,"created_at":"2020-07-28T15:03:34Z","updated_at":"2020-07-28T15:03:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23322921","id":23322921,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzIyOTIx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9506896,"download_count":29834,"created_at":"2020-07-28T13:41:20Z","updated_at":"2020-07-28T13:41:21Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23323392","id":23323392,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzIzMzky","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7689749,"download_count":732,"created_at":"2020-07-28T13:54:37Z","updated_at":"2020-07-28T13:54:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23323535","id":23323535,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzIzNTM1","name":"solidity_0.7.0.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2268959,"download_count":1694,"created_at":"2020-07-28T13:55:28Z","updated_at":"2020-07-28T13:55:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/solidity_0.7.0.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23323137","id":23323137,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzIzMTM3","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":22790374,"download_count":82,"created_at":"2020-07-28T13:49:36Z","updated_at":"2020-07-28T13:49:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.0","body":"Solidity 0.7.0 is a breaking release of the Solidity compiler and language.\r\n\r\nThis release does not include many features but rather changes that require a\r\nbackwards-incompatible adjustment in syntax or semantics. For a detailed explanation,\r\nplease see the [documentation](https://solidity.readthedocs.io/en/latest/070-breaking-changes.html).\r\n\r\nMost notably, further cleanup of visibility and state mutability has been performed\r\nand several unpopular keywords have been removed. Types with mappings\r\nin memory are disallowed and shift and exponentiation operations use more reasonable types.\r\n\r\nSince we usually do not backport bugfixes, it is recommended to upgrade all code to be compatible with Solidity v.0.7.0.\r\n\r\nThe [solidity-upgrade tool](https://solidity.readthedocs.io/en/latest/using-the-compiler.html#solidity-upgrade) can help you to semi-automatically upgrade your contracts to breaking language changes. While ``solidity-upgrade`` carries out a large part of the work, your contracts will most likely need further manual adjustments.\r\n\r\nYou can find a guide on how to update your code [here](https://solidity.readthedocs.io/en/latest/070-breaking-changes.html#how-to-update-your-code).\r\n\r\nNote that changes listed below are the **changes between 0.6.12 and 0.7.0**. For changes introduced\r\nduring the 0.6.x series, please see the individual changelogs or release announcements on this blog.\r\n\r\n**Breaking Changes:**\r\n * Inline Assembly: Disallow ``.`` in user-defined function and variable names.\r\n * Inline Assembly: Slot and offset of storage pointer variable ``x`` are accessed via ``x.slot`` and ``x.offset`` instead of ``x_slot`` and ``x_offset``.\r\n * JSON AST: Mark hex string literals with ``kind: \"hexString\"``.\r\n * JSON AST: Remove members with ``null`` value from JSON output.\r\n * Parser: Disallow ``gwei`` as identifier.\r\n * Parser: Disallow dot syntax for ``value`` and ``gas``.\r\n * Parser: Disallow non-printable characters in string literals.\r\n * Parser: Introduce Unicode string literals: ``unicode\"😃\"``.\r\n * Parser: NatSpec comments on variables are only allowed for public state variables.\r\n * Parser: Remove the ``finney`` and ``szabo`` denominations.\r\n * Parser: Remove the identifier ``now`` (replaced by ``block.timestamp``).\r\n * Reference Resolver: ``using A for B`` only affects the contract it is mentioned in and not all derived contracts\r\n * Type Checker: Disallow ``virtual`` for library functions.\r\n * Type Checker: Disallow assignments to state variables that contain nested mappings.\r\n * Type checker: Disallow events with same name and parameter types in inheritance hierarchy.\r\n * Type Checker: Disallow shifts by signed types.\r\n * Type Checker: Disallow structs and arrays in memory or calldata if they contain nested mappings.\r\n * Type Checker: Exponentiation and shifts of literals by non-literals will always use ``uint256`` or ``int256`` as a type.\r\n * Yul: Disallow consecutive and trailing dots in identifiers. Leading dots were already disallowed.\r\n * Yul: Disallow EVM instruction `pc()`.\r\n\r\n\r\n**Language Features:**\r\n * Inheritance: Allow overrides to have stricter state mutability: ``view`` can override ``nonpayable`` and ``pure`` can override ``view``.\r\n * Parser: Deprecate visibility for constructors.\r\n * State mutability: Do not issue recommendation for stricter mutability for virtual functions but do issue it for functions that override.\r\n\r\n\r\n**Compiler Features:**\r\n * SMTChecker: Report multi-transaction counterexamples including the function calls that initiate the transactions. This does not include concrete values for reference types and reentrant calls.\r\n * Variable declarations using the ``var`` keyword are not recognized anymore.\r\n\r\n\r\n**Bugfixes:**\r\n * Inheritance: Disallow public state variables overwriting ``pure`` functions.\r\n * NatSpec: Constructors and functions have consistent userdoc output.\r\n * SMTChecker: Fix internal error when assigning to a 1-tuple.\r\n * SMTChecker: Fix internal error when tuples have extra effectless parenthesis.\r\n * State Mutability: Constant public state variables are considered ``pure`` functions.\r\n * Type Checker: Fixing deduction issues on function types when function call has named arguments.\r\n * Immutables: Fix internal compiler error when immutables are not assigned.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, franzihei, Harikrishnan Mulackal, Leonardo Alt, Mathias Baumann.\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.0.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/28784371","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/28784371/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/28784371/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.12","id":28784371,"node_id":"MDc6UmVsZWFzZTI4Nzg0Mzcx","tag_name":"v0.6.12","target_commitish":"27d51765c0623c9f6aef7c00214e9fe705c331b1","name":"Version 0.6.12","draft":false,"prerelease":false,"created_at":"2020-07-22T13:34:41Z","published_at":"2020-07-22T14:55:45Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23141686","id":23141686,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTQxNjg2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33778600,"download_count":2874,"created_at":"2020-07-22T16:40:14Z","updated_at":"2020-07-22T16:40:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23140250","id":23140250,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTQwMjUw","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9474128,"download_count":123100,"created_at":"2020-07-22T15:50:28Z","updated_at":"2020-07-22T15:50:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23140242","id":23140242,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTQwMjQy","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7655617,"download_count":1982,"created_at":"2020-07-22T15:50:12Z","updated_at":"2020-07-22T15:50:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23138634","id":23138634,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTM4NjM0","name":"solidity_0.6.12.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2252802,"download_count":2844,"created_at":"2020-07-22T14:58:29Z","updated_at":"2020-07-22T14:58:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/solidity_0.6.12.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23140706","id":23140706,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTQwNzA2","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":22721548,"download_count":152,"created_at":"2020-07-22T16:02:42Z","updated_at":"2020-07-22T16:02:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.12","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.12","body":"This release of Solidity adds more flexibility to inheriting NatSpec and improves the handling of the stack.\r\n\r\n\r\n**Language Features:**\r\n * NatSpec: Implement tag ``@inheritdoc`` to copy documentation from a specific base contract.\r\n * Wasm backend: Add ``i32.ctz``, ``i64.ctz``, ``i32.popcnt``, and ``i64.popcnt``.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: Avoid double cleanup when copying to memory.\r\n * Code Generator: Evaluate ``keccak256`` of string literals at compile-time.\r\n * Optimizer: Add rule to remove shifts inside the byte opcode.\r\n * Peephole Optimizer: Add rule to remove swap after dup.\r\n * Peephole Optimizer: Remove unnecessary masking of tags.\r\n * Yul EVM Code Transform: Free stack slots directly after visiting the right-hand-side of variable declarations instead of at the end of the statement only.\r\n\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Fix error in events with indices of type static array.\r\n * SMTChecker: Fix internal error in sequential storage array pushes (``push().push()``).\r\n * SMTChecker: Fix internal error when using bitwise operators on fixed bytes type.\r\n * SMTChecker: Fix internal error when using compound bitwise operator assignments on array indices inside branches.\r\n * Type Checker: Fix internal compiler error related to oversized types.\r\n * Type Checker: Fix overload resolution in combination with ``{value: ...}``.\r\n\r\n\r\n**Build System**\r\n * Update internal dependency of jsoncpp to 1.9.3.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Daniel Kirchner, Djordje Mijovic, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Sachin Grover, Tiny熊, \r\n\r\nIf you want to perform a source build, please only use solidity_0.6.12.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/28784371/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":1,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/28306260","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/28306260/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/28306260/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.11","id":28306260,"node_id":"MDc6UmVsZWFzZTI4MzA2MjYw","tag_name":"v0.6.11","target_commitish":"5ef660b17abaa6f9e3b0dd8a949268806ececcd4","name":"Version 0.6.11","draft":false,"prerelease":false,"created_at":"2020-07-07T13:34:38Z","published_at":"2020-07-07T14:40:53Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22647106","id":22647106,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQ3MTA2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33639796,"download_count":862,"created_at":"2020-07-07T16:52:05Z","updated_at":"2020-07-07T16:52:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22644402","id":22644402,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQ0NDAy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9404496,"download_count":10949,"created_at":"2020-07-07T15:15:43Z","updated_at":"2020-07-07T15:15:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22644893","id":22644893,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQ0ODkz","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7595468,"download_count":476,"created_at":"2020-07-07T15:33:27Z","updated_at":"2020-07-07T15:33:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22643328","id":22643328,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQzMzI4","name":"solidity_0.6.11.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2229063,"download_count":1056,"created_at":"2020-07-07T14:41:56Z","updated_at":"2020-07-07T14:41:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/solidity_0.6.11.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22644550","id":22644550,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQ0NTUw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":22629520,"download_count":67,"created_at":"2020-07-07T15:21:30Z","updated_at":"2020-07-07T15:21:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.11","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.11","body":"This release adds inheritance to NatSpec comments, improves debugging data output and fixes some minor issues with opening up ``calldata`` for non-external functions.\r\n\r\n\r\n**Language Features:**\r\n * General: Add unit denomination ``gwei``\r\n * Yul: Support ``linkersymbol`` builtin in standalone assembly mode to refer to library addresses.\r\n * Yul: Support using string literals exceeding 32 bytes as literal arguments for builtins.\r\n\r\n\r\n**Compiler Features:**\r\n * NatSpec: Add fields ``kind`` and ``version`` to the JSON output.\r\n * NatSpec: Inherit tags from unique base functions if derived function does not provide any.\r\n * Commandline Interface: Prevent some incompatible commandline options from being used together.\r\n * NatSpec: Support NatSpec comments on events.\r\n * Yul Optimizer: Store knowledge about storage / memory after ``a := sload(x)`` / ``a := mload(x)``.\r\n * SMTChecker: Support external calls to unknown code.\r\n * Source Maps: Also tag jumps into and out of Yul functions as jumps into and out of functions.\r\n\r\n\r\n**Bugfixes:**\r\n * NatSpec: Do not consider ``////`` and ``/***`` as NatSpec comments.\r\n * Type Checker: Disallow constructor parameters with ``calldata`` data location.\r\n * Type Checker: Do not disallow assigning to calldata variables.\r\n * Type Checker: Fix internal error related to ``using for`` applied to non-libraries.\r\n * Wasm backend: Fix code generation for for-loops with pre statements.\r\n * Wasm backend: Properly support both ``i32.drop`` and ``i64.drop``, and remove ``drop``.\r\n * Yul: Disallow the same variable to occur multiple times on the left-hand side of an assignment.\r\n * Yul: Fix source location of variable multi-assignment.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Daniel Kirchner, Djordje Mijovic, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Mathias Baumann, step21\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.11.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/27453843","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/27453843/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/27453843/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.10","id":27453843,"node_id":"MDc6UmVsZWFzZTI3NDUzODQz","tag_name":"v0.6.10","target_commitish":"00c0fcaffd5717a004d9e8123d95e8eda4d37107","name":"Version 0.6.10","draft":false,"prerelease":false,"created_at":"2020-06-11T13:11:19Z","published_at":"2020-06-11T14:34:23Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21659523","id":21659523,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjU5NTIz","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33559616,"download_count":873,"created_at":"2020-06-11T15:36:04Z","updated_at":"2020-06-11T15:36:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21658041","id":21658041,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjU4MDQx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9343056,"download_count":13644,"created_at":"2020-06-11T14:54:16Z","updated_at":"2020-06-11T14:54:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21659360","id":21659360,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjU5MzYw","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7548127,"download_count":683,"created_at":"2020-06-11T15:33:03Z","updated_at":"2020-06-11T15:33:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21661419","id":21661419,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjYxNDE5","name":"solidity_0.6.10.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2205983,"download_count":1277,"created_at":"2020-06-11T16:15:07Z","updated_at":"2020-06-11T16:15:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/solidity_0.6.10.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21658130","id":21658130,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjU4MTMw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":21179220,"download_count":67,"created_at":"2020-06-11T14:56:39Z","updated_at":"2020-06-11T14:56:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.10","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.10","body":"Solidity 0.6.10 is a bugfix release that fixes a bug introduced in 0.6.9 related to library functions with calldata parameters that are called via ``using for``. For more details on the bug, pleas see the [blog post](https://solidity.ethereum.org/2020/06/11/solidity-0610-release-announcement/).\r\n\r\nIn addition to that, the compiler now generates error codes that could be useful for IDEs or automated analysis tools.\r\n\r\n**Important Bugfixes:**\r\n * Fixed a bug related to internal library functions with ``calldata`` parameters called via ``using for``.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Re-group help screen.\r\n * Output compilation error codes in standard-json and when using ``--error-codes``.\r\n * Yul: Raise warning for switch statements that only have a default and no other cases.\r\n\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Fix internal error when encoding tuples of tuples.\r\n * SMTChecker: Fix aliasing soundness after pushing to an array pointer.\r\n * Type system: Fix internal compiler error on calling externally a function that returns variables with calldata location.\r\n * Type system: Fix bug where a bound function was not found if ``using for`` is applied to explicit reference types.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Daniel Kirchner, Djordje Mijovic, ethers, Harikrishnan Mulackal, Igor Line, Kamil Śliwak, Leonardo Alt, Leonardo, Paul Razvan Berg, TrentZ\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.10.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/27223083","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/27223083/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/27223083/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.9","id":27223083,"node_id":"MDc6UmVsZWFzZTI3MjIzMDgz","tag_name":"v0.6.9","target_commitish":"3e3065ac00bf835cc669120b74b24e00361dc767","name":"Version 0.6.9","draft":false,"prerelease":false,"created_at":"2020-06-04T15:27:00Z","published_at":"2020-06-04T15:31:14Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21571753","id":21571753,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNTcxNzUz","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33529720,"download_count":937,"created_at":"2020-06-09T09:40:23Z","updated_at":"2020-06-09T09:40:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21416608","id":21416608,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNDE2NjA4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9322576,"download_count":9833,"created_at":"2020-06-04T16:08:26Z","updated_at":"2020-06-04T16:08:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21416494","id":21416494,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNDE2NDk0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7535416,"download_count":554,"created_at":"2020-06-04T16:05:12Z","updated_at":"2020-06-04T16:05:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21416873","id":21416873,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNDE2ODcz","name":"solidity_0.6.9.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2198871,"download_count":551,"created_at":"2020-06-04T16:16:45Z","updated_at":"2020-06-04T16:16:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/solidity_0.6.9.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21416700","id":21416700,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNDE2NzAw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":21154684,"download_count":61,"created_at":"2020-06-04T16:10:52Z","updated_at":"2020-06-04T16:10:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.9","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.9","body":"This is the first release of Solidity where the solc-js / soljson binary includes the Z3 SMT solver built-in. This means you can use ``pragma experimental SMTChecker;`` even without a local install of z3. Note that this causes an increase in the binary size.\r\n\r\nOn the language side, the ``calldata`` data location for variables and parameters is now allowed everywhere, even in internal functions.\r\n\r\nTo enhance developer experience, the option ``--base-path`` allows you to specify a root path of your contract directory structure to help with imports.\r\n\r\n\r\n**Language Features:**\r\n * Permit calldata location for all variables.\r\n * NatSpec: Support NatSpec comments on state variables.\r\n * Yul: EVM instruction `pc()` is marked deprecated and will be removed in the next breaking release.\r\n\r\n\r\n**Compiler Features:**\r\n * Build system: Update the soljson.js build to emscripten 1.39.15 and boost 1.73.0 and include Z3 for integrated SMTChecker support without the callback mechanism.\r\n * Build system: Switch the emscripten build from the fastcomp backend to the upstream backend.\r\n * Code Generator: Do not introduce new internal source references for small compiler routines.\r\n * Commandline Interface: Adds new option ``--base-path PATH`` to use the given path as the root of the source tree (defaults to the root of the filesystem).\r\n * SMTChecker: Support array ``length``.\r\n * SMTChecker: Support array ``push`` and ``pop``.\r\n * SMTChecker: General support to BitVectors and the bitwise ``and`` operator.\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Trigger proper unimplemented errors on certain array copy operations.\r\n * Commandline Interface: Fix internal error when using ``--assemble`` or ``--yul`` options with ``--machine ewasm`` but without specifying ``--yul-dialect``.\r\n * NatSpec: DocString block is terminated when encountering an empty line.\r\n * Optimizer: Fixed a bug in BlockDeDuplicator.\r\n * Scanner: Fix bug when two empty NatSpec comments lead to scanning past EOL.\r\n * SMTChecker: Fix internal error on try/catch clauses with parameters.\r\n * SMTChecker: Fix internal error when applying arithmetic operators to fixed point variables.\r\n * SMTChecker: Fix internal error when assigning to index access inside branches.\r\n * SMTChecker: Fix internal error when short circuiting Boolean expressions with function calls in state variable initialization.\r\n * Type Checker: Disallow assignments to storage variables of type ``mapping``.\r\n * Type Checker: Disallow inline arrays of non-nameable types.\r\n * Type Checker: Disallow usage of override with non-public state variables.\r\n * Type Checker: Fix internal compiler error when accessing members of array slices.\r\n * Type Checker: Fix internal compiler error when forward referencing non-literal constants from inline assembly.\r\n * Type Checker: Fix internal compiler error when trying to decode too large static arrays.\r\n * Type Checker: Fix wrong compiler error when referencing an overridden function without calling it.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, Flash Sheridan, Harikrishnan Mulackal, Jason Cobb, Juan Franco, Kamil Śliwak, Leonardo Alt, Mathias Baumann, ssi91, William Entriken\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.9.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/26502704","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/26502704/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/26502704/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.8","id":26502704,"node_id":"MDc6UmVsZWFzZTI2NTAyNzA0","tag_name":"v0.6.8","target_commitish":"0bbfe45376768007a38bfd65f8ea449935306037","name":"Version 0.6.8","draft":false,"prerelease":false,"created_at":"2020-05-14T11:53:00Z","published_at":"2020-05-14T12:45:27Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20729762","id":20729762,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNzI5NzYy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9211984,"download_count":21073,"created_at":"2020-05-14T13:13:07Z","updated_at":"2020-05-14T13:13:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.8/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20731304","id":20731304,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNzMxMzA0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7433765,"download_count":846,"created_at":"2020-05-14T14:15:47Z","updated_at":"2020-05-14T14:15:47Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.8/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20728930","id":20728930,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNzI4OTMw","name":"solidity_0.6.8.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2167606,"download_count":1158,"created_at":"2020-05-14T12:46:43Z","updated_at":"2020-05-14T12:46:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.8/solidity_0.6.8.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20729997","id":20729997,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNzI5OTk3","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8780768,"download_count":73,"created_at":"2020-05-14T13:23:12Z","updated_at":"2020-05-14T13:23:12Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.8/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.8","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.8","body":"This release of Solidity fixes three important bugs in the code generator:\r\n - a missing callvalue check for constructors\r\n - a bug connected with array slices for arrays containing dynamic types\r\n - literal strings containing backslash characters in connection with ABIEncoderV2\r\n\r\nIn addition to that:\r\n - we introduced a recommendation to use [SPDX license identifiers](https://spdx.dev/ids/#how) for all source files which are also stored in the contract metadata\r\n - it is possible to access the min and max values of an integer type directly\r\n - WebAssembly support has been extended\r\n\r\n\r\n**Important Bugfixes:**\r\n * Add missing callvalue check to the creation code of a contract that does not define a constructor but has a base that does define a constructor.\r\n * Disallow array slices of arrays with dynamically encoded base types.\r\n * String literals containing backslash characters can no longer cause incorrect code to be generated when passed directly to function calls or encoding functions when ABIEncoderV2 is active.\r\n\r\n\r\n**Language Features:**\r\n * Implemented ``type(T).min`` and ``type(T).max`` for every integer type ``T`` that returns the smallest and largest value representable by the type.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Don't ignore `--yul-optimizations` in assembly mode.\r\n * Allow using abi encoding functions for calldata array slices without explicit casts.\r\n * Wasm binary output: Implement ``br`` and ``br_if``.\r\n\r\n\r\n**Bugfixes:**\r\n * ABI: Skip ``private`` or ``internal`` constructors.\r\n * Fixed an \"Assembly Exception in Bytecode\" error where requested functions were generated twice.\r\n * Natspec: Fixed a bug that ignored ``@return`` tag when no other developer-documentation tags were present.\r\n * Type Checker: Checks if a literal exponent in the ``**`` operation is too large or fractional.\r\n * Type Checker: Disallow accessing ``runtimeCode`` for contract types that contain immutable state variables.\r\n * Yul Assembler: Fix source location of variable declarations without value.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Harikrishnan Mulackal, Kamil Śliwak, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.8.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/26139471","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/26139471/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/26139471/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.7","id":26139471,"node_id":"MDc6UmVsZWFzZTI2MTM5NDcx","tag_name":"v0.6.7","target_commitish":"b8d736ae0c506b1b3cf5d2456af67e8dc2c0ca8e","name":"Version 0.6.7","draft":false,"prerelease":false,"created_at":"2020-05-04T13:43:01Z","published_at":"2020-05-04T14:47:46Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20403858","id":20403858,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNDAzODU4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9105488,"download_count":10624,"created_at":"2020-05-04T15:29:26Z","updated_at":"2020-05-04T15:29:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.7/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20404085","id":20404085,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNDA0MDg1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7368787,"download_count":637,"created_at":"2020-05-04T15:36:31Z","updated_at":"2020-05-04T15:36:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.7/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20401490","id":20401490,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNDAxNDkw","name":"solidity_0.6.7.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2132121,"download_count":1578,"created_at":"2020-05-04T14:49:28Z","updated_at":"2020-05-04T14:49:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.7/solidity_0.6.7.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20404043","id":20404043,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNDA0MDQz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8648980,"download_count":51,"created_at":"2020-05-04T15:35:22Z","updated_at":"2020-05-04T15:35:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.7/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.7","body":"Solidity version 0.6.7 introduces support for EIP-165 via `type(InterfaceName).interfaceId`.\r\n\r\n\r\n**Language Features:**\r\n * Add support for EIP 165 interface identifiers with `type(I).interfaceId`.\r\n * Allow virtual modifiers inside abstract contracts to have empty body.\r\n\r\n\r\n**Compiler Features:**\r\n * Optimizer: Simplify repeated AND and OR operations.\r\n * Option to specify optimization steps to be performed by Yul optimizer with `--yul-optimizations` in the commandline interface or `optimizer.details.yulDetails.optimizerSteps` in standard-json.\r\n * Standard Json Input: Support the prefix ``file://`` in the field ``urls``.\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Fix internal error when fixed points are used.\r\n * SMTChecker: Fix internal error when using array slices.\r\n * Type Checker: Disallow ``virtual`` and ``override`` for constructors.\r\n * Type Checker: Fix several internal errors by performing size and recursiveness checks of types before the full type checking.\r\n * Type Checker: Fix internal error when assigning to empty tuples.\r\n * Type Checker: Fix internal error when applying unary operators to tuples with empty components.\r\n * Type Checker: Perform recursiveness check on structs declared at the file level.\r\n\r\n\r\n**Build System:**\r\n * soltest.sh: ``SOLIDITY_BUILD_DIR`` is no longer relative to ``REPO_ROOT`` to allow for build directories outside of the source tree.\r\n\r\n\r\n\r\n----\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, David Cian, Djordje Mijovic, Evan Saulpaugh, hrkrshnn, iamdefinitelyahuman, Jason Cobb, KaiYu Feng, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Noel Maersk, ssi91, yoni206\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.7.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/25358087","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/25358087/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/25358087/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.6","id":25358087,"node_id":"MDc6UmVsZWFzZTI1MzU4MDg3","tag_name":"v0.6.6","target_commitish":"6c089d02b22068e4818d7be76d98e483065bdcd1","name":"Version 0.6.6","draft":false,"prerelease":false,"created_at":"2020-04-09T11:40:11Z","published_at":"2020-04-09T12:42:00Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19589872","id":19589872,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NTg5ODcy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8921136,"download_count":15181,"created_at":"2020-04-09T13:01:19Z","updated_at":"2020-04-09T13:01:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.6/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19594134","id":19594134,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NTk0MTM0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7196296,"download_count":1065,"created_at":"2020-04-09T14:07:45Z","updated_at":"2020-04-09T14:07:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.6/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19589616","id":19589616,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NTg5NjE2","name":"solidity_0.6.6.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2094191,"download_count":1649,"created_at":"2020-04-09T12:52:02Z","updated_at":"2020-04-09T12:52:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.6/solidity_0.6.6.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19589998","id":19589998,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NTg5OTk4","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8442418,"download_count":104,"created_at":"2020-04-09T13:06:36Z","updated_at":"2020-04-09T13:06:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.6/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.6","body":"This is a small bugfix release that solves an issue with certain tuple assignments.\r\n\r\n**Important Bugfixes:**\r\n * Fix tuple assignments with components occupying multiple stack slots and different stack size on left- and right-hand-side.\r\n\r\n\r\n**Bugfixes:**\r\n * AST export: Export `immutable` property in the field `mutability`.\r\n * SMTChecker: Fix internal error in the CHC engine when calling inherited functions internally.\r\n * Type Checker: Error when trying to encode functions with call options gas and value set.\r\n\r\n\r\n----\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alexander Arlt, Black3HDF, Djordje Mijovic, hrkrshnn, Jason Cobb, Leonardo Alt\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.6.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/25233368","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/25233368/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/25233368/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.5","id":25233368,"node_id":"MDc6UmVsZWFzZTI1MjMzMzY4","tag_name":"v0.6.5","target_commitish":"f956cc8990c0a4b0050099f362e3b7cba56bafbf","name":"Version 0.6.5","draft":false,"prerelease":false,"created_at":"2020-04-06T13:03:00Z","published_at":"2020-04-06T14:04:45Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19432811","id":19432811,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NDMyODEx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8888368,"download_count":9965,"created_at":"2020-04-06T14:23:09Z","updated_at":"2020-04-06T14:23:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.5/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19434145","id":19434145,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NDM0MTQ1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7196513,"download_count":615,"created_at":"2020-04-06T14:47:49Z","updated_at":"2020-04-06T14:47:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.5/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19431817","id":19431817,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NDMxODE3","name":"solidity_0.6.5.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2092173,"download_count":415,"created_at":"2020-04-06T14:10:20Z","updated_at":"2020-04-06T14:10:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.5/solidity_0.6.5.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19432908","id":19432908,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NDMyOTA4","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8438962,"download_count":43,"created_at":"2020-04-06T14:26:48Z","updated_at":"2020-04-06T14:26:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.5/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.5","body":"Version 0.6.5 of Solidity fixes an important bug and introduces ``immutable`` as a major feature.\r\n\r\nThe bug concerns the allocation of dynamic memory arrays using e.g. `new uint[](...)`. The bug is considered to have a severity level of \"low\" but is present in all prior versions of Solidity. Therefore, please read more about how check if your contract is vulnerable in this [blog post](https://solidity.ethereum.org/2020/04/06/memory-creation-overflow-bug/).\r\n\r\nThe immutable feature supports setting contract-level variables at construction time if they do not change later on. These variables are stored directly in the code instead of storage, which makes them extremely cheap to use. For now, only value types are supported.\r\n\r\n**Important Bugfixes:**\r\n * Code Generator: Restrict the length of dynamic memory arrays to 64 bits during creation at runtime fixing a possible overflow.\r\n\r\n\r\n**Language Features:**\r\n * Allow local storage variables to be declared without initialization, as long as they are assigned before they are accessed.\r\n * State variables can be marked ``immutable`` which causes them to be read-only, but assignable in the constructor. The value will be stored directly in the code.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Enable output of storage layout with `--storage-layout`.\r\n * Metadata: Added support for IPFS hashes of large files that need to be split in multiple chunks.\r\n\r\n\r\n**Bugfixes:**\r\n * Inheritance: Allow public state variables to override functions with dynamic memory types in their return values.\r\n * Inline Assembly: Fix internal error when accessing invalid constant variables.\r\n * Inline Assembly: Fix internal error when accessing functions.\r\n * JSON AST: Always add pointer suffix for memory reference types.\r\n * Reference Resolver: Fix internal error when accessing invalid struct members.\r\n * Type Checker: Fix internal errors when assigning nested tuples.\r\n\r\n\r\n----\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alexander Arlt, Bhargava Shastry, cameel, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, gitpusha, hrkrshnn, iamdefinitelyahuman, Jason Cobb, Kamil Śliwak, Leonardo Alt, Martin Lundfall, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.5.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/24603199","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/24603199/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/24603199/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.17","id":24603199,"node_id":"MDc6UmVsZWFzZTI0NjAzMTk5","tag_name":"v0.5.17","target_commitish":"d19bba13196b8c9091e5d81581015baafca94dd8","name":"Version 0.5.17","draft":false,"prerelease":false,"created_at":"2020-03-17T16:45:53Z","published_at":"2020-03-17T16:46:46Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18773468","id":18773468,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NzczNDY4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8007728,"download_count":99085,"created_at":"2020-03-17T17:05:21Z","updated_at":"2020-03-17T17:05:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.17/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20053255","id":20053255,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwMDUzMjU1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":6971235,"download_count":1234,"created_at":"2020-04-22T11:56:16Z","updated_at":"2020-04-22T11:56:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.17/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18772703","id":18772703,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NzcyNzAz","name":"solidity_0.5.17.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1846043,"download_count":4588,"created_at":"2020-03-17T16:46:55Z","updated_at":"2020-03-17T16:46:57Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.17/solidity_0.5.17.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18773476","id":18773476,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NzczNDc2","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12395217,"download_count":107,"created_at":"2020-03-17T17:06:25Z","updated_at":"2020-03-17T17:06:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.17/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.17","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.17","body":"This maintenance release of the 0.5.x series fixes a bug that was always present in the compiler. Some people do not even consider it a bug, though, which might explain why it was undiscovered for so long:\r\n\r\nA private function can be overridden in a derived contract by a private function of the same name and types. In other words, the virtual function calling mechanism does not respect visibility.\r\nThe same applies to two private functions of the same name and type that are declared in two unrelated base contracts (diamond inheritance).\r\n\r\nThis bug has been fixed in the 0.6.x series already in version 0.6.0 by making the override mechanism more strict in general.\r\n\r\n**Bugfixes:**\r\n * Type Checker: Disallow overriding of private functions.\r\n\r\n\r\nThanks to @k06a for reporting the bug!\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.17.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/24380547","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/24380547/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/24380547/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.4","id":24380547,"node_id":"MDc6UmVsZWFzZTI0MzgwNTQ3","tag_name":"v0.6.4","target_commitish":"1dca32f35263ed52160eca35c09d7a3278449fc0","name":"Version 0.6.4","draft":false,"prerelease":false,"created_at":"2020-03-10T14:24:17Z","published_at":"2020-03-10T15:26:16Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18608873","id":18608873,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NjA4ODcz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8781872,"download_count":35316,"created_at":"2020-03-10T15:44:56Z","updated_at":"2020-03-10T15:44:57Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.4/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18611698","id":18611698,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NjExNjk4","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7444419,"download_count":1317,"created_at":"2020-03-10T17:30:40Z","updated_at":"2020-03-10T17:30:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.4/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18613492","id":18613492,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NjEzNDky","name":"solidity_0.6.4.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2017399,"download_count":1486,"created_at":"2020-03-10T18:53:49Z","updated_at":"2020-03-10T18:53:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.4/solidity_0.6.4.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18608943","id":18608943,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NjA4OTQz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8270154,"download_count":56,"created_at":"2020-03-10T15:48:43Z","updated_at":"2020-03-10T15:48:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.4/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.4","body":"Version 0.6.4 of Solidity fixes a bug that did not allow calling base contract functions directly, another bug that caused issues with variable scoping in try/catch and it allows for greater flexibility with regards to storage: It is now possible to set storage slots for storage reference variables from inline assembly. We expect this to allow new patterns in connection to delegatecall proxies and upgradable contracts. Please be careful when using this feature!\r\n\r\n**Language Features:**\r\n * General: Deprecated `value(...)` and `gas(...)` in favor of `{value: ...}` and `{gas: ...}`\r\n * Inline Assembly: Allow assigning to `_slot` of local storage variable pointers.\r\n * Inline Assembly: Perform control flow analysis on inline assembly. Allows storage returns to be set in assembly only.\r\n\r\n\r\n**Compiler Features:**\r\n * AssemblyStack: Support for source locations (source mappings) and thus debugging Yul sources.\r\n * Commandline Interface: Enable output of experimental optimized IR via ``--ir-optimized``.\r\n\r\n\r\n\r\n**Bugfixes:**\r\n * Inheritance: Fix incorrect error on calling unimplemented base functions.\r\n * Reference Resolver: Fix scoping issue following try/catch statements.\r\n * Standard-JSON-Interface: Fix a bug related to empty filenames and imports.\r\n * SMTChecker: Fix internal errors when analysing tuples.\r\n * Yul AST Import: correctly import blocks as statements, switch statements and string literals.\r\n\r\n\r\n---\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, Kamil Śliwak, Leonardo Alt\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.4.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/23766911","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/23766911/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/23766911/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.3","id":23766911,"node_id":"MDc6UmVsZWFzZTIzNzY2OTEx","tag_name":"v0.6.3","target_commitish":"8dda95210836cd34c3826c5069e38059a665d18d","name":"Version 0.6.3","draft":false,"prerelease":false,"created_at":"2020-02-18T14:50:19Z","published_at":"2020-02-18T15:38:40Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18121083","id":18121083,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4MTIxMDgz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8667208,"download_count":12865,"created_at":"2020-02-18T15:58:12Z","updated_at":"2020-02-18T15:58:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.3/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18121591","id":18121591,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4MTIxNTkx","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7302620,"download_count":874,"created_at":"2020-02-18T16:15:21Z","updated_at":"2020-02-18T16:15:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.3/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18120699","id":18120699,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4MTIwNjk5","name":"solidity_0.6.3.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1994812,"download_count":1137,"created_at":"2020-02-18T15:39:15Z","updated_at":"2020-02-18T15:39:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.3/solidity_0.6.3.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18121187","id":18121187,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4MTIxMTg3","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8185014,"download_count":40,"created_at":"2020-02-18T16:02:27Z","updated_at":"2020-02-18T16:02:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.3/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.3","body":"This release adds reason strings for compiler-generated reverts if you specify ``--revert-strings debug`` or use the setting ``settings.debug.revertStrings = \"debug\"``. Furthermore, contract types and enums are now allowed as keys for mappings and the doxygen-style comments are better supported by the AST.\r\n\r\n\r\n**Language Features:**\r\n * Allow contract types and enums as keys for mappings.\r\n * Allow function selectors to be used as compile-time constants.\r\n\r\n**Compiler Features:**\r\n * AST: Add a new node for doxygen-style, structured documentation that can be received by contract, function, event and modifier definitions.\r\n * Code Generator: Use ``calldatacopy`` instead of ``codecopy`` to zero out memory past input.\r\n * Debug: Provide reason strings for compiler-generated internal reverts when using the ``--revert-strings`` option or the ``settings.debug.revertStrings`` setting on ``debug`` mode.\r\n * Structured Documentation: Report source locations for structured documentation errors.\r\n * Yul Optimizer: Prune functions that call each other but are otherwise unreferenced.\r\n\r\n\r\n**Bugfixes:**\r\n * Assembly Output: Added missing `source` field to legacy assembly json output to complete the source reference.\r\n * Parser: Fix an internal error for ``abstract`` without ``contract``.\r\n * Type Checker: Make invalid calls to uncallable types fatal errors instead of regular.\r\n\r\n---\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alexander Arlt, Bhargava Shastry, Brian L. McMichael, cameel, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, Gaith Hallak, Jason Cobb, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Nicolas, pinkiebell, rodiazet.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.3.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/23142497","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/23142497/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/23142497/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.2","id":23142497,"node_id":"MDc6UmVsZWFzZTIzMTQyNDk3","tag_name":"v0.6.2","target_commitish":"bacdbe5787c70c19814622926f26e3d204ac0d7e","name":"Version 0.6.2","draft":false,"prerelease":false,"created_at":"2020-01-27T13:43:22Z","published_at":"2020-01-27T14:27:57Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17602450","id":17602450,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3NjAyNDUw","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8548424,"download_count":38901,"created_at":"2020-01-27T14:47:41Z","updated_at":"2020-01-27T14:47:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.2/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17608055","id":17608055,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3NjA4MDU1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7145278,"download_count":1431,"created_at":"2020-01-27T18:42:43Z","updated_at":"2020-01-27T18:42:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.2/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17604036","id":17604036,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3NjA0MDM2","name":"solidity_0.6.2.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1932920,"download_count":1347,"created_at":"2020-01-27T15:37:17Z","updated_at":"2020-01-27T15:37:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.2/solidity_0.6.2.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17602451","id":17602451,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3NjAyNDUx","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7985148,"download_count":67,"created_at":"2020-01-27T14:47:45Z","updated_at":"2020-01-27T14:47:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.2/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.2","body":"After long discussions, we finally enabled a high-level way to use the ``create2`` opcode introduced in Constantinople: When creating a contract, you can specify the salt as a \"function call option\": ``new Contract{salt: 0x1234}(arg1, arg2)``. We took this opportunity and also extended the use of these function call options to specifying the gas and value options in external function calls: ``c.f{value: 10, gas: 20000}(arg1, arg2)``.\r\n\r\nFurthermore, interfaces can now inherit from interfaces, making them even more useful for specification purposes.\r\n\r\nTo allow mutation testing and other uses, you can now export the AST, modify it and re-compile starting from the modified ast using `solc --import-ast`. Note that compiling from a modified AST is not meant for production.\r\n\r\nAnd last but not least, we are now building the javascript compiler solc-js / soljson.js using webassembly which should both provide a performance boost as well as reduce compatibility issues with browsers.\r\n\r\n\r\n## Changelog:\r\n\r\n**Language Features:**\r\n * Allow accessing external functions via contract and interface names to obtain their selector.\r\n * Allow interfaces to inherit from other interfaces\r\n * Allow gas and value to be set in external function calls using ``c.f{gas: 10000, value: 4 ether}()``.\r\n * Allow specifying the ``salt`` for contract creations and thus the ``create2`` opcode using ``new C{salt: 0x1234, value: 1 ether}(arg1, arg2)``.\r\n * Inline Assembly: Support literals ``true`` and ``false``.\r\n\r\n\r\n**Compiler Features:**\r\n * LLL: The LLL compiler has been removed.\r\n * General: Raise warning if runtime bytecode exceeds 24576 bytes (a limit introduced in Spurious Dragon).\r\n * General: Support compiling starting from an imported AST. Among others, this can be used for mutation testing.\r\n * Yul Optimizer: Apply penalty when trying to rematerialize into loops.\r\n\r\n\r\n**Bugfixes:**\r\n * Commandline interface: Only activate yul optimizer if ``--optimize`` is given.\r\n * Fixes internal compiler error on explicitly calling unimplemented base functions.\r\n\r\n\r\n**Build System:**\r\n * Switch to building soljson.js with an embedded base64-encoded wasm binary.\r\n\r\n---\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, cameel, Chris Chinchilla, Christian Parpart, Daniel Kirchner, djudjuu, Erik Kundt, Gonçalo Sá, Jason Cobb, Leonardo Alt, Mathias Baumann, Nicolás Venturo, Rafael Lorandi, rodiazet, Victor Baranov, William Entriken.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.2.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22565505","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22565505/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22565505/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.1","id":22565505,"node_id":"MDc6UmVsZWFzZTIyNTY1NTA1","tag_name":"v0.6.1","target_commitish":"e6f7d5a49267f30c8dbf3ba2655c72012b5ccaa1","name":"Version 0.6.1","draft":false,"prerelease":false,"created_at":"2020-01-02T23:35:39Z","published_at":"2020-01-02T23:36:04Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17112037","id":17112037,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTEyMDM3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8192072,"download_count":13974,"created_at":"2020-01-02T23:52:43Z","updated_at":"2020-01-02T23:52:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.1/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17112154","id":17112154,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTEyMTU0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7045141,"download_count":1137,"created_at":"2020-01-03T00:00:43Z","updated_at":"2020-01-03T00:00:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.1/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17116956","id":17116956,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTE2OTU2","name":"solidity_0.6.1.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1936337,"download_count":797,"created_at":"2020-01-03T08:52:08Z","updated_at":"2020-01-03T08:52:12Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.1/solidity_0.6.1.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17112062","id":17112062,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTEyMDYy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12849836,"download_count":45,"created_at":"2020-01-02T23:55:37Z","updated_at":"2020-01-02T23:55:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.1","body":"This release fixes a bug in the Yul optimizer related to ``break`` and ``continue`` statements in loops. The Yul optimizer is part of the regular optimizer since version 0.6.0. In version 0.5.x, you had to explicitly activate the Yul optimizer in addition to the regular optimizer. The Yul optimizer only operates on the code generated by ABIEncoderV2 or if you use it in a stand-alone way. The code generated by ABIEncoderV2 does not make use of ``break`` and ``continue``, but these statements can be introduced by other optimizer steps. The Yul optimizer currently is not run on inline-assembly code.\r\n\r\n\r\n**Bugfixes:**\r\n * Yul Optimizer: Fix bug in redundant assignment remover in combination with break and continue statements.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.1.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22560416","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22560416/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22560416/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.16","id":22560416,"node_id":"MDc6UmVsZWFzZTIyNTYwNDE2","tag_name":"v0.5.16","target_commitish":"9c3226ce7558bfa639ca06ddd7214ae9bf4e1fc9","name":"Version 0.5.16","draft":false,"prerelease":false,"created_at":"2020-01-02T18:52:34Z","published_at":"2020-01-02T18:54:13Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17108246","id":17108246,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTA4MjQ2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8007752,"download_count":41803,"created_at":"2020-01-02T19:16:44Z","updated_at":"2020-01-02T19:16:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.16/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20053250","id":20053250,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwMDUzMjUw","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":6970765,"download_count":954,"created_at":"2020-04-22T11:55:45Z","updated_at":"2020-04-22T11:56:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.16/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17108033","id":17108033,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTA4MDMz","name":"solidity_0.5.16.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1845679,"download_count":933,"created_at":"2020-01-02T18:54:22Z","updated_at":"2020-01-02T18:54:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.16/solidity_0.5.16.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17108265","id":17108265,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTA4MjY1","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12394706,"download_count":97,"created_at":"2020-01-02T19:18:38Z","updated_at":"2020-01-02T19:18:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.16/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.16","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.16","body":"This release fixes a bug in the Yul optimizer. You are only affected if you manually enabled the Yul optimizer (not the regular optimizer) and either used Yul stand-alone or via ABIEncoderV2. For more details, please see buglist.json.\r\n\r\n**Bugfixes:**\r\n * Yul Optimizer: Fix bug in redundant assignment remover in combination with break and continue statements.\r\n\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.16.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/22560416/reactions","total_count":2,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":2,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22303797","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22303797/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22303797/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.0","id":22303797,"node_id":"MDc6UmVsZWFzZTIyMzAzNzk3","tag_name":"v0.6.0","target_commitish":"26b700771e9cc9c956f0503a05de69a1be427963","name":"Version 0.6.0","draft":false,"prerelease":false,"created_at":"2019-12-17T21:32:51Z","published_at":"2019-12-17T22:12:29Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16860412","id":16860412,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODYwNDEy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7962672,"download_count":43335,"created_at":"2019-12-17T22:33:54Z","updated_at":"2019-12-17T22:33:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.0/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16860645","id":16860645,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODYwNjQ1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7043230,"download_count":2097,"created_at":"2019-12-17T22:52:09Z","updated_at":"2019-12-17T22:52:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.0/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16860715","id":16860715,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODYwNzE1","name":"solidity_0.6.0.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1934622,"download_count":1819,"created_at":"2019-12-17T22:55:30Z","updated_at":"2019-12-17T22:55:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.0/solidity_0.6.0.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16860374","id":16860374,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODYwMzc0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12838203,"download_count":156,"created_at":"2019-12-17T22:32:29Z","updated_at":"2019-12-17T22:32:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.0","body":"This is a major breaking release of the Solidity compiler and language. Changes include explicit virtual and override keywords in inheritance, support for try/catch, splitting the fallback function into a receive Ether function and an actual fallback function and limitations on how the length of an array can be changed, among others. For a detailed explanation, please see the [documentation](https://solidity.readthedocs.io/en/latest/060-breaking-changes.html) or refer to the list below that shows every single change.\r\n\r\nFrom this release on, ABIEncoderV2 is not considered experimental any more, but you still have to activate it through the pragma.\r\n\r\nFurthermore, the Yul optimizer is automatically activated together with the regular optimizer, but you can still disable it through the detailed optimizer settings.\r\n\r\n**Breaking changes:**\r\n * ABI: Remove the deprecated ``constant`` and ``payable`` fields.\r\n * ABI: The ``type`` field is now required and no longer specified to default to ``function``.\r\n * AST: Inline assembly is exported as structured JSON instead of plain string.\r\n * C API (``libsolc``): Introduce context parameter to both ``solidity_compile`` and the callback.\r\n * C API (``libsolc``): The provided callback now takes two parameters, kind and data. The callback can then be used for multiple purposes, such has file imports and SMT queries.\r\n * C API (``libsolc``): ``solidity_free`` was renamed to ``solidity_reset``. Functions ``solidity_alloc`` and ``solidity_free`` were added.\r\n * C API (``libsolc``): ``solidity_compile`` now returns a string that must be explicitly freed via ``solidity_free()``\r\n * Commandline Interface: Remove the text-based AST printer (``--ast``).\r\n * Commandline Interface: Switch to the new error reporter by default. ``--old-reporter`` falls back to the deprecated old error reporter.\r\n * Commandline Interface: Add option to disable or choose hash method between IPFS and Swarm for the bytecode metadata.\r\n * General: Disallow explicit conversions from external function types to ``address`` and add a member called ``address`` to them as replacement.\r\n * General: Enable Yul optimizer as part of standard optimization.\r\n * General: New reserved keywords: ``override``, ``receive``, and ``virtual``.\r\n * General: ``private`` cannot be used together with ``virtual``.\r\n * General: Split unnamed fallback functions into two cases defined using ``fallback()`` and ``receive()``.\r\n * Inheritance: State variable shadowing is now disallowed.\r\n * Inline Assembly: Only strict inline assembly is allowed.\r\n * Inline Assembly: Variable declarations cannot shadow declarations outside the assembly block.\r\n * JSON AST: Replace ``superFunction`` attribute by ``baseFunctions``.\r\n * Natspec JSON Interface: Properly support multiple ``@return`` statements in ``@dev`` documentation and enforce named return parameters to be mentioned in the documentation.\r\n * Source mappings: Add \"modifier depth\" as a fifth field in the source mappings.\r\n * Standard JSON Interface: Add option to disable or choose hash method between IPFS and Swarm for the bytecode metadata.\r\n * Syntax: ``push(element)`` for dynamic storage arrays do not return the new length anymore.\r\n * Syntax: Abstract contracts need to be marked explicitly as abstract by using the ``abstract`` keyword.\r\n * Syntax: ``length`` member of arrays is now always read-only, even for storage arrays.\r\n * Type Checker: Resulting type of exponentiation is equal to the type of the base. Also allow signed types for the base.\r\n\r\n**Language Features:**\r\n * Allow explicit conversions from ``address`` to ``address payable`` via ``payable(...)``.\r\n * Allow global enums and structs.\r\n * Allow public variables to override external functions.\r\n * Allow underscores as delimiters in hex strings.\r\n * Introduce syntax for array slices and implement them for dynamic calldata arrays.\r\n * Introduce ``push()`` for dynamic storage arrays. It returns a reference to the newly allocated element, if applicable.\r\n * Introduce ``virtual`` and ``override`` keywords.\r\n * Introduce ``try``/``catch``-statement\r\n * Modify ``push(element)`` for dynamic storage arrays such that it does not return the new length anymore.\r\n * Yul: Introduce ``leave`` statement that exits the current function.\r\n * JSON AST: Add the function selector of each externally-visible FunctonDefinition to the AST JSON export.\r\n\r\n**Compiler Features:**\r\n * Allow revert strings to be stripped from the binary using the ``--revert-strings`` option or the ``settings.debug.revertStrings`` setting.\r\n * ABIEncoderV2: Do not warn about enabled ABIEncoderV2 anymore (the pragma is still needed, though).\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlexander Arlt, Alex Beregszaszi, Bhargava Shastry, cd10012, Chris Chinchilla, Christian Parpart, Cory Dickson, Daniel Kirchner, djudjuu, Erik Kundt, Gaith Hallak, krk, Leo Arias, Leonardo Alt, Mathias Baumann, misterfoxy, rodiazet, William Entriken\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.0.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/22303797/reactions","total_count":9,"+1":4,"-1":0,"laugh":1,"hooray":0,"confused":0,"heart":1,"rocket":3,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22294985","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22294985/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22294985/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.15","id":22294985,"node_id":"MDc6UmVsZWFzZTIyMjk0OTg1","tag_name":"v0.5.15","target_commitish":"6a57276fdc9a682bf22cf08211625a2b62f695e2","name":"Version 0.5.15","draft":false,"prerelease":false,"created_at":"2019-12-17T16:27:41Z","published_at":"2019-12-17T17:23:49Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16855307","id":16855307,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODU1MzA3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7798832,"download_count":38453,"created_at":"2019-12-17T17:42:51Z","updated_at":"2019-12-17T17:42:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.15/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16855784","id":16855784,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODU1Nzg0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6968996,"download_count":1214,"created_at":"2019-12-17T18:06:14Z","updated_at":"2019-12-17T18:06:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.15/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16856786","id":16856786,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODU2Nzg2","name":"solidity_0.5.15.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1844719,"download_count":454,"created_at":"2019-12-17T18:51:50Z","updated_at":"2019-12-17T18:51:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.15/solidity_0.5.15.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16855381","id":16855381,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODU1Mzgx","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12394836,"download_count":44,"created_at":"2019-12-17T17:46:47Z","updated_at":"2019-12-17T17:46:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.15/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.15","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.15","body":"This release fixes a bug that was introduced in 0.5.14 (the previous release). You are only affected if you manually enabled the Yul optimizer (not the regular optimizer) and either used Yul stand-alone or via ABIEncoderV2. For more details, please see buglist.json.\r\n\r\n**Bugfixes:**\r\n * Yul Optimizer: Fix incorrect redundant load optimization crossing user-defined functions that contain for-loops with memory / storage writes.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.15.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22076531","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22076531/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22076531/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.14","id":22076531,"node_id":"MDc6UmVsZWFzZTIyMDc2NTMx","tag_name":"v0.5.14","target_commitish":"01f1aaa4c73cd705934a7d769d719ccfc561dd12","name":"Version 0.5.14","draft":false,"prerelease":false,"created_at":"2019-12-09T15:17:10Z","published_at":"2019-12-09T17:24:43Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16686436","id":16686436,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2Njg2NDM2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7798832,"download_count":40055,"created_at":"2019-12-09T16:25:58Z","updated_at":"2019-12-09T16:25:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.14/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16687149","id":16687149,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2Njg3MTQ5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6970480,"download_count":680,"created_at":"2019-12-09T16:56:24Z","updated_at":"2019-12-09T16:56:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.14/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16687916","id":16687916,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2Njg3OTE2","name":"solidity_0.5.14.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1856385,"download_count":732,"created_at":"2019-12-09T17:24:50Z","updated_at":"2019-12-09T17:24:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.14/solidity_0.5.14.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16686492","id":16686492,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2Njg2NDky","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12394814,"download_count":44,"created_at":"2019-12-09T16:28:41Z","updated_at":"2019-12-09T16:28:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.14/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.14","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.14","body":"Solidity 0.5.14 sets the default EVM version to \"Istanbul\" and is targeted as the last release in the 0.5.x series.\r\n\r\nThe SMT checker supports constructors now and it is possible to directly translate EVM-flavoured Yul to Ewasm from the commandline interface.\r\n\r\n\r\n**Language Features:**\r\n * Allow to obtain the selector of public or external library functions via a member ``.selector``.\r\n * Parser: Allow splitting string and hexadecimal string literals into multiple parts.\r\n * Inline Assembly: Support constants that reference other constants.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Allow translation from yul / strict assembly to EWasm using ``solc --yul --yul-dialect evm --machine eWasm``\r\n * Set the default EVM version to \"Istanbul\".\r\n * SMTChecker: Add support to constructors including constructor inheritance.\r\n * Yul: When compiling via Yul, string literals from the Solidity code are kept as string literals if every character is safely printable.\r\n * Yul Optimizer: Perform loop-invariant code motion.\r\n\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Fix internal error when using ``abi.decode``.\r\n * SMTChecker: Fix internal error when using arrays or mappings of functions.\r\n * SMTChecker: Fix internal error in array of structs type.\r\n * Version Checker: ``^0`` should match ``0.5.0``, but no prerelease.\r\n * Yul: Consider infinite loops and recursion to be not removable.\r\n\r\n\r\n**Build System:**\r\n * Update to emscripten version 1.39.3.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Erik Kundt, Gaith Hallak, Henry Lee, Lefteris Karapetsas, Leonardo Alt, Mathias Baumann, mingchuan, Paweł Bylica, William Entriken\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.14.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/21471606","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/21471606/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/21471606/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.13","id":21471606,"node_id":"MDc6UmVsZWFzZTIxNDcxNjA2","tag_name":"v0.5.13","target_commitish":"5b0b510c025c4ba459deee2d590cc12d88dfedc7","name":"Version 0.5.13","draft":false,"prerelease":false,"created_at":"2019-11-14T13:55:21Z","published_at":"2019-11-14T15:21:01Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16163743","id":16163743,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2MTYzNzQz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7876656,"download_count":32987,"created_at":"2019-11-14T16:05:30Z","updated_at":"2019-11-14T16:05:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.13/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16164718","id":16164718,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2MTY0NzE4","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7071699,"download_count":1101,"created_at":"2019-11-14T16:55:52Z","updated_at":"2019-11-14T16:55:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.13/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16162541","id":16162541,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2MTYyNTQx","name":"solidity_0.5.13.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1814444,"download_count":1601,"created_at":"2019-11-14T15:21:49Z","updated_at":"2019-11-14T15:21:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.13/solidity_0.5.13.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16163889","id":16163889,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2MTYzODg5","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":15207419,"download_count":54,"created_at":"2019-11-14T16:11:49Z","updated_at":"2019-11-14T16:11:50Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.13/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.13","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.13","body":"Solidity 0.5.13 provides Istanbul-EVM compatibility (default is still set to Petersburg), is the first version to generate Ethereum-Webassembly (EWasm) binary output (not fully working yet, though), improves the developer experience by listing potential overloads when resolution fails and can output the layout of the storage variables of a contract. As with all other releases, the coverage of the SMT checker is further improved.\r\n\r\n\r\n**Language Features:**\r\n * Allow to obtain the address of a linked library with ``address(LibraryName)``.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: Use SELFBALANCE opcode for ``address(this).balance`` if using Istanbul EVM.\r\n * EWasm: Experimental EWasm binary output via ``--ewasm`` and as documented in standard-json.\r\n * SMTChecker: Add break/continue support to the CHC engine.\r\n * SMTChecker: Support assignments to multi-dimensional arrays and mappings.\r\n * SMTChecker: Support inheritance and function overriding.\r\n * Standard JSON Interface: Output the storage layout of a contract when artifact ``storageLayout`` is requested.\r\n * TypeChecker: List possible candidates when overload resolution fails.\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fixed a faulty assert that would wrongly trigger for array sizes exceeding unsigned integer.\r\n * SMTChecker: Fix internal error when accessing indices of fixed bytes.\r\n * SMTChecker: Fix internal error when using function pointers as arguments.\r\n * SMTChecker: Fix internal error when implicitly converting string literals to fixed bytes.\r\n * Type Checker: Disallow constructor of the same class to be used as modifier.\r\n * Type Checker: Treat magic variables as unknown identifiers in inline assembly.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Alexander Arlt, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Erik Kundt, Gaith Hallak, hellraiserinchief , Henry Lee, Jochem Brouwer, Leonardo Alt, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.13.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/20386693","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/20386693/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/20386693/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.12","id":20386693,"node_id":"MDc6UmVsZWFzZTIwMzg2Njkz","tag_name":"v0.5.12","target_commitish":"7709ece95f922a813477e668f7acd867e909b10f","name":"Version 0.5.12","draft":false,"prerelease":false,"created_at":"2019-10-01T15:59:34Z","published_at":"2019-10-01T18:59:51Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/15236482","id":15236482,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MjM2NDgy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7882544,"download_count":36258,"created_at":"2019-10-01T19:20:54Z","updated_at":"2019-10-01T19:20:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.12/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/15236608","id":15236608,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MjM2NjA4","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7078467,"download_count":1338,"created_at":"2019-10-01T19:31:39Z","updated_at":"2019-10-01T19:31:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.12/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/15236164","id":15236164,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MjM2MTY0","name":"solidity_0.5.12.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1778653,"download_count":1756,"created_at":"2019-10-01T19:01:06Z","updated_at":"2019-10-01T19:01:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.12/solidity_0.5.12.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/15236506","id":15236506,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MjM2NTA2","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":15072015,"download_count":56,"created_at":"2019-10-01T19:23:34Z","updated_at":"2019-10-01T19:23:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.12/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.12","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.12","body":"This is a small bugfix release that also includes loop support for the SMT solver and some improvements to the Yul optimizer. The reason for the smaller feature set is that we are mainly working on the upcoming 0.6.0 release.\r\n\r\n**Language Features:**\r\n * Type Checker: Allow assignment to external function arguments except for reference types.\r\n\r\n**Compiler Features:**\r\n * ABI Output: Change sorting order of functions from selector to kind, name.\r\n * Optimizer: Add rule that replaces the BYTE opcode by 0 if the first argument is larger than 31.\r\n * SMTChecker: Add loop support to the CHC engine.\r\n * Yul Optimizer: Take side-effect-freeness of user-defined functions into account.\r\n * Yul Optimizer: Remove redundant mload/sload operations.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix internal error when popping a dynamic storage array of mappings.\r\n * Name Resolver: Fix wrong source location when warning on shadowed aliases in import declarations.\r\n * Scanner: Fix multi-line natspec comment parsing with triple slashes when file is encoded with CRLF instead of LF.\r\n * Type System: Fix arrays of recursive structs.\r\n * Yul Optimizer: Fix reordering bug in connection with shifted one and mul/div-instructions in for loop conditions.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlexander Arlt, Alex Beregszaszi, Ayrat Badykov, Balaji Pachai, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Crawford Leeds, Daniel Kirchner, Dimitry, Erik Kundt, Flash Sheridan, Gois, Lauri Peltonen, Leo Arias, Leonardo Alt, Mathias Baumann, Micah Zoltu, mingchuan, rocky (supported by ConsenSys), Solexplorer, \r\n\r\nIf you want to perform a source build, please only use solidity_0.5.12.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/19228179","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/19228179/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/19228179/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.11","id":19228179,"node_id":"MDc6UmVsZWFzZTE5MjI4MTc5","tag_name":"v0.5.11","target_commitish":"22be85921b5b0846295608e997e7af9b08ba9ad9","name":"Version 0.5.11","draft":false,"prerelease":false,"created_at":"2019-08-12T19:44:45Z","published_at":"2019-08-12T21:41:55Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/14341917","id":14341917,"node_id":"MDEyOlJlbGVhc2VBc3NldDE0MzQxOTE3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7755568,"download_count":43487,"created_at":"2019-08-12T22:02:33Z","updated_at":"2019-08-12T22:02:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.11/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/14342405","id":14342405,"node_id":"MDEyOlJlbGVhc2VBc3NldDE0MzQyNDA1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7028866,"download_count":1164,"created_at":"2019-08-12T22:55:19Z","updated_at":"2019-08-12T22:55:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.11/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/14341741","id":14341741,"node_id":"MDEyOlJlbGVhc2VBc3NldDE0MzQxNzQx","name":"solidity_0.5.11.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1736995,"download_count":2953,"created_at":"2019-08-12T21:44:01Z","updated_at":"2019-08-12T21:44:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.11/solidity_0.5.11.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/14341952","id":14341952,"node_id":"MDEyOlJlbGVhc2VBc3NldDE0MzQxOTUy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":14514366,"download_count":64,"created_at":"2019-08-12T22:06:15Z","updated_at":"2019-08-12T22:06:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.11/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.11","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.11","body":"This release fixes a bug related to calldata structs in ABIEncoderV2 and calldata decoding in V1. Several internal bugs of the SMT checker are fixed.\r\nFurthermore, internal types are added to the ABI output which allows you to see which struct type is behind an ABI tuple. Finally, Yul and web assembly support are progressing.\r\n\r\nWe also improved our testing framework which now allows for semantics tests to run in 4 seconds instead of 1 minute.\r\n\r\n**Language Features:**\r\n * Inline Assembly: Support direct constants of value type in inline assembly.\r\n\r\n**Compiler Features:**\r\n * ABI: Additional internal type info in the field ``internalType``.\r\n * eWasm: Highly experimental eWasm output using ``--ewasm`` in the commandline interface or output selection of ``ewasm.wast`` in standard-json.\r\n * Metadata: Update the swarm hash to the current specification, changes ``bzzr0`` to ``bzzr1`` and urls to use ``bzz-raw://``.\r\n * Standard JSON Interface: Compile only selected sources and contracts.\r\n * Standard JSON Interface: Provide secondary error locations (e.g. the source position of other conflicting declarations).\r\n * SMTChecker: Do not erase knowledge about storage pointers if another storage pointer is assigned.\r\n * SMTChecker: Support string literal type.\r\n * Standard JSON Interface: Provide AST even on errors if ``--error-recovery`` commandline switch or StandardCompiler `settings.parserErrorRecovery` is true.\r\n * Yul Optimizer: Do not inline function if it would result in expressions being duplicated that are not cheap.\r\n\r\n**Bugfixes:**\r\n * ABI decoder: Ensure that decoded arrays always point to distinct memory locations.\r\n * Code Generator: Treat dynamically encoded but statically sized arrays and structs in calldata properly.\r\n * SMTChecker: Fix internal error when inlining functions that contain tuple expressions.\r\n * SMTChecker: Fix pointer knowledge erasing in loops.\r\n * SMTChecker: Fix internal error when using compound bitwise assignment operators inside branches.\r\n * SMTChecker: Fix internal error when inlining a function that returns a tuple containing an unsupported type inside a branch.\r\n * SMTChecker: Fix internal error when inlining functions that use state variables and belong to a different source.\r\n * SMTChecker: Fix internal error when reporting counterexamples concerning state variables from different source files.\r\n * SMTChecker: Fix SMT sort mismatch when using string literals.\r\n * View/Pure Checker: Properly detect state variable access through base class.\r\n * Yul Analyzer: Check availability of data objects already in analysis phase.\r\n * Yul Optimizer: Fix an issue where memory-accessing code was removed even though ``msize`` was used in the program.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, cgrigis, Chris Chinchilla, Chris Smith, Christian Parpart, Daniel Kirchner, djudjuu, dm4, Erik Kundt, Leonardo Alt, Mathias Baumann, mingchuan, Nimish Bongale, Rocky Bernstein (supported by ConsenSys), William Entriken.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.11.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/18207897","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/18207897/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/18207897/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.10","id":18207897,"node_id":"MDc6UmVsZWFzZTE4MjA3ODk3","tag_name":"v0.5.10","target_commitish":"5a6ea5b19793f61c7703d4abe587b2bf40decc31","name":"Version 0.5.10","draft":false,"prerelease":false,"created_at":"2019-06-25T14:03:50Z","published_at":"2019-06-25T14:45:15Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/13393202","id":13393202,"node_id":"MDEyOlJlbGVhc2VBc3NldDEzMzkzMjAy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7464752,"download_count":30561,"created_at":"2019-06-25T15:11:00Z","updated_at":"2019-06-25T15:11:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.10/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/13393381","id":13393381,"node_id":"MDEyOlJlbGVhc2VBc3NldDEzMzkzMzgx","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6929464,"download_count":2669,"created_at":"2019-06-25T15:23:55Z","updated_at":"2019-06-25T15:23:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.10/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/13393430","id":13393430,"node_id":"MDEyOlJlbGVhc2VBc3NldDEzMzkzNDMw","name":"solidity_0.5.10.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1658107,"download_count":2773,"created_at":"2019-06-25T15:27:17Z","updated_at":"2019-06-25T15:27:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.10/solidity_0.5.10.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/13393209","id":13393209,"node_id":"MDEyOlJlbGVhc2VBc3NldDEzMzkzMjA5","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":13668994,"download_count":73,"created_at":"2019-06-25T15:12:16Z","updated_at":"2019-06-25T15:12:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.10/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.10","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.10","body":"Apart from further invisible work on the Yul optimizer, the Solidity to Yul code generation, the eWasm backend and the SMT checker, this release contains two important bug fixes related to storage arrays.\r\n\r\nFor details see https://blog.ethereum.org/2019/06/25/solidity-storage-array-bugs/\r\n\r\nIt also contains an experimental mode that allows recovery from parser error (implemented by @rocky, funded by ConsenSys) in the hope that this might be useful for IDE developers.\r\n\r\n**Important Bugfixes:**\r\n * ABIEncoderV2: Fix incorrect abi encoding of storage array of data type that occupy multiple storage slots\r\n * Code Generator: Properly zero out higher order bits in elements of an array of negative numbers when assigning to storage and converting the type at the same time.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Experimental parser error recovery via the ``--error-recovery`` commandline switch.\r\n * Optimizer: Add rule to simplify ``SUB(~0, X)`` to ``NOT(X)``.\r\n * Yul Optimizer: Make the optimizer work for all dialects of Yul including eWasm.\r\n\r\n\r\n**Bugfixes:**\r\n * Type Checker: Set state mutability of the function type members ``gas`` and ``value`` to pure (while their return type inherits state mutability from the function type).\r\n * Yul / Inline Assembly Parser: Disallow trailing commas in function call arguments.\r\n\r\n\r\n**Build System:**\r\n * Attempt to use stock Z3 cmake files to find Z3 and only fall back to manual discovery.\r\n * CMake: use imported targets for boost.\r\n * Emscripten build: upgrade to boost 1.70.\r\n * Generate a cmake error for gcc versions older than 5.0.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Anurag Dashputre, Bhargava Shastry, Chris Ward, Christian Parpart, Daniel Kirchner, Fabio Bonfiglio, Leonardo Alt, Mathias Baumann, mingchuan, rocky, Vedant Agarwala, Vignesh Karthikeyan, William Entriken.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.10.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/17629358","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/17629358/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/17629358/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.9","id":17629358,"node_id":"MDc6UmVsZWFzZTE3NjI5MzU4","tag_name":"v0.5.9","target_commitish":"c68bc34e9466ef22326dd9072d557c56160e9092","name":"Version 0.5.9","draft":false,"prerelease":false,"created_at":"2019-05-28T16:49:01Z","published_at":"2019-05-28T18:25:35Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12911424","id":12911424,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyOTExNDI0","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7292736,"download_count":36902,"created_at":"2019-05-28T18:16:41Z","updated_at":"2019-05-28T18:16:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.9/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12911516","id":12911516,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyOTExNTE2","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6769427,"download_count":1569,"created_at":"2019-05-28T18:20:39Z","updated_at":"2019-05-28T18:20:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.9/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12911556","id":12911556,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyOTExNTU2","name":"solidity_0.5.9.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1629977,"download_count":1524,"created_at":"2019-05-28T18:23:36Z","updated_at":"2019-05-28T18:23:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.9/solidity_0.5.9.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12911438","id":12911438,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyOTExNDM4","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":13386580,"download_count":58,"created_at":"2019-05-28T18:17:24Z","updated_at":"2019-05-28T18:17:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.9/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.9","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.9","body":"As in previous releases, we spent most of the time making Solidity future-proof by further working on the Yul optimizer, the Solidity to Yul (and eWasm) translator and the SMT Checker.\r\n\r\nCode generated from Solidity now always includes the version number in the CBOR metadata so that it becomes possible to quickly assess whether a contract might be affected by a compiler bug or not.\r\n\r\n**Language Features:**\r\n * Inline Assembly: Revert change introduced in 0.5.7: The ``callvalue()`` instruction does not require ``payable`` anymore.\r\n * Static Analyzer: Disallow libraries calling themselves externally.\r\n\r\n\r\n**Compiler Features:**\r\n * Assembler: Encode the compiler version in the deployed bytecode.\r\n * Code Generator: Fix handling of structs of dynamic size as constructor parameters.\r\n * Inline Assembly: Disallow the combination of ``msize()`` and the Yul optimizer.\r\n * Metadata: Add IPFS hashes of source files.\r\n * Optimizer: Add rule to simplify SHL/SHR combinations.\r\n * Optimizer: Add rules for multiplication and division by left-shifted one.\r\n * SMTChecker: Support inherited state variables.\r\n * SMTChecker: Support tuples and function calls with multiple return values.\r\n * SMTChecker: Support ``delete``.\r\n * SMTChecker: Inline external function calls to ``this``.\r\n * Yul Optimizer: Simplify single-run ``for`` loops to ``if`` statements.\r\n * Yul Optimizer: Optimize representation of numbers.\r\n * Yul Optimizer: Do not inline recursive functions.\r\n * Yul Optimizer: Do not remove instructions that affect ``msize()`` if ``msize()`` is used.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Explicitly turn uninitialized internal function pointers into invalid functions when loaded from storage.\r\n * Code Generator: Fix assertion failure when assigning structs containing array of mapping.\r\n * Compiler Internals: Reset the Yul string repository before each compilation, freeing up memory.\r\n * SMTChecker: Fix bad cast in base constructor modifier.\r\n * SMTChecker: Fix internal error when visiting state variable inherited from base class.\r\n * SMTChecker: Fix internal error in fixed point operations.\r\n * SMTChecker: Fix internal error in assignment to unsupported type.\r\n * SMTChecker: Fix internal error in branching when inlining function calls that modify local variables.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Andrey Bronin, asymmetric, Bhargava Shastry, Christian Parpart, Chris Ward, Daniel Kirchner, Erik Kundt, Guy Lando, Isaac Ibiapina, Jorropo, Leonardo Alt, Mathias Baumann, mingchuan, Rocky, Vedant Agarwala.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.9.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/17064882","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/17064882/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/17064882/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.8","id":17064882,"node_id":"MDc6UmVsZWFzZTE3MDY0ODgy","tag_name":"v0.5.8","target_commitish":"23d335f28e4055e67c3b22466ac7c4e41dc48344","name":"Version 0.5.8","draft":false,"prerelease":false,"created_at":"2019-04-30T13:10:18Z","published_at":"2019-04-30T14:49:46Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12312946","id":12312946,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMzEyOTQ2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6850368,"download_count":35058,"created_at":"2019-04-30T15:31:03Z","updated_at":"2019-04-30T15:31:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.8/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12312999","id":12312999,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMzEyOTk5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6446306,"download_count":1486,"created_at":"2019-04-30T15:33:55Z","updated_at":"2019-04-30T15:33:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.8/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12314014","id":12314014,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMzE0MDE0","name":"solidity_0.5.8.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1560807,"download_count":1649,"created_at":"2019-04-30T16:34:44Z","updated_at":"2019-04-30T16:34:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.8/solidity_0.5.8.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12312992","id":12312992,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMzEyOTky","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12380606,"download_count":58,"created_at":"2019-04-30T15:33:14Z","updated_at":"2019-04-30T15:33:14Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.8/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.8","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.8","body":"This release fixes important but very unlikely bugs and further completes ABIEncoderV2, SMTChecker and Yul and improves the optimizer.\r\n\r\nNotably, if ABIEncoderV2 is activated, the ABI decoder will now revert on input with dirty higher order bits instead of ignoring those bits.\r\n\r\n\r\n**Important Bugfixes:**\r\n * Code Generator: Fix initialization routine of uninitialized internal function pointers in constructor context.\r\n * Type System: Use correct type name for contracts in event parameters when used in libraries. This affected code generation.\r\n * Yul Optimizer: Fix SSA transform for multi-assignments.\r\n\r\n\r\n**Language Features:**\r\n * ABIEncoderV2: Implement encoding of calldata arrays and structs.\r\n * Code Generation: Implement copying recursive structs from storage to memory.\r\n * Yul: Disallow function definitions inside for-loop init blocks.\r\n\r\n\r\n**Compiler Features:**\r\n * ABI Decoder: Raise a runtime error on dirty inputs when using the experimental decoder.\r\n * Optimizer: Add rule for shifts by constants larger than 255 for Constantinople.\r\n * Optimizer: Add rule to simplify certain ANDs and SHL combinations\r\n * SMTChecker: Support arithmetic compound assignment operators.\r\n * SMTChecker: Support unary increment and decrement for array and mapping access.\r\n * SMTChecker: Show unsupported warning for inline assembly blocks.\r\n * SMTChecker: Support mod.\r\n * SMTChecker: Support ``contract`` type.\r\n * SMTChecker: Support ``this`` as address.\r\n * SMTChecker: Support address members.\r\n * Standard JSON Interface: Metadata settings now re-produce the original ``\"useLiteralContent\"`` setting from the compilation input.\r\n * Yul: Adds break and continue keywords to for-loop syntax.\r\n * Yul: Support ``.`` as part of identifiers.\r\n * Yul Optimizer: Adds steps for detecting and removing of dead code.\r\n\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Implement Boolean short-circuiting.\r\n * SMTChecker: SSA control-flow did not take into account state variables that were modified inside inlined functions that were called inside branches.\r\n * Type System: Allow direct call to base class functions that have overloads.\r\n * Yul: Properly register functions and disallow shadowing between function variables and variables in the outside scope.\r\n\r\n\r\n**Build System:**\r\n * Soltest: Add commandline option `--test` / `-t` to isoltest which takes a string that allows filtering unit tests.\r\n * soltest.sh: allow environment variable ``SOLIDITY_BUILD_DIR`` to specify build folder and add ``--help`` usage.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Christian Parpart, Chris Ward, Constantin Kloecker, Daniel Kirchner, dm4, Erik Kundt, fnatic, Grant Wuerker, hydai, Ilya Ostrovskiy, Leonardo Alt, Mathias Baumann, mingchuan, rocky, William Entriken\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.8.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/17040402","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/17040402/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/17040402/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.26","id":17040402,"node_id":"MDc6UmVsZWFzZTE3MDQwNDAy","tag_name":"v0.4.26","target_commitish":"4563c3fc5d243411d84336c069f7b45891f65c35","name":"Version 0.4.26","draft":false,"prerelease":false,"created_at":"2019-04-29T14:28:45Z","published_at":"2019-04-29T14:52:24Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21106411","id":21106411,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxMTA2NDEx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6039472,"download_count":36868,"created_at":"2020-05-27T14:36:33Z","updated_at":"2020-05-27T14:36:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12293481","id":12293481,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMjkzNDgx","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":26516375,"download_count":88,"created_at":"2019-04-29T15:07:02Z","updated_at":"2019-04-29T15:07:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12293615","id":12293615,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMjkzNjE1","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":35971176,"download_count":745,"created_at":"2019-04-29T15:14:38Z","updated_at":"2019-04-29T15:14:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20390302","id":20390302,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwMzkwMzAy","name":"solidity-windows-0.4.26.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":5764704,"download_count":310,"created_at":"2020-05-04T07:25:33Z","updated_at":"2020-05-04T07:25:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solidity-windows-0.4.26.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12293616","id":12293616,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMjkzNjE2","name":"solidity_0.4.26.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1160708,"download_count":7107,"created_at":"2019-04-29T15:14:42Z","updated_at":"2019-04-29T15:14:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solidity_0.4.26.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12295014","id":12295014,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMjk1MDE0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8843536,"download_count":83,"created_at":"2019-04-29T16:33:19Z","updated_at":"2019-04-29T16:33:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.26","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.26","body":"This is a bugfix release for the 0.4.x series that contains backported fixes for important bugs that affected code generation. It also contains a fix that makes the emscripten target compatible with newer browser versions.\r\n\r\nImportant Bugfixes:\r\n * Code Generator: Fix initialization routine of uninitialized internal function pointers in constructor context.\r\n * Type System: Use correct type name for contracts in event parameters when used in libraries. This affected code generation.\r\n\r\nBugfixes:\r\n * ABIEncoderV2: Refuse to generate code that is known to be potentially buggy.\r\n * General: Split rule list such that JavaScript environments with small stacks can use the compiler.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.26.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/16350285","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/16350285/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/16350285/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.7","id":16350285,"node_id":"MDc6UmVsZWFzZTE2MzUwMjg1","tag_name":"v0.5.7","target_commitish":"6da8b019e4a155d1f70abe7a3acc0f9765480a9e","name":"Version 0.5.7","draft":false,"prerelease":false,"created_at":"2019-03-26T12:19:56Z","published_at":"2019-03-26T12:59:32Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11734816","id":11734816,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNzM0ODE2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6608680,"download_count":41305,"created_at":"2019-03-26T13:17:06Z","updated_at":"2019-03-26T13:17:06Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.7/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11734990","id":11734990,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNzM0OTkw","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6385482,"download_count":2459,"created_at":"2019-03-26T13:22:39Z","updated_at":"2019-03-26T13:22:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.7/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11734637","id":11734637,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNzM0NjM3","name":"solidity_0.5.7.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1510357,"download_count":2442,"created_at":"2019-03-26T13:07:15Z","updated_at":"2019-03-26T13:07:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.7/solidity_0.5.7.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11734879","id":11734879,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNzM0ODc5","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12527583,"download_count":77,"created_at":"2019-03-26T13:19:40Z","updated_at":"2019-03-26T13:19:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.7/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.7","body":"This release mainly fixes bugs in the optimizer and in the experimental ABI encoder. For details about the bug, please see the [official announcement](https://blog.ethereum.org/2019/03/26/solidity-optimizer-and-abiencoderv2-bug/).\r\n\r\nFurthermore, this release also allows you to use Yul as a language option (instead of \"Solidity\") in the [standard-json-interface](https://solidity.readthedocs.io/en/v0.5.7/using-the-compiler.html#compiler-input-and-output-json-description).\r\n\r\n**Important Bugfixes:**\r\n * ABIEncoderV2: Fix bugs related to loading short value types from storage when encoding an array or struct from storage.\r\n * ABIEncoderV2: Fix buffer overflow problem when encoding packed array from storage.\r\n * Optimizer: Fix wrong ordering of arguments in byte optimization rule for constants.\r\n\r\n\r\n**Language Features:**\r\n * Function calls with named arguments now work with overloaded functions.\r\n\r\n\r\n**Compiler Features:**\r\n * Inline Assembly: Issue error when using ``callvalue()`` inside nonpayable function (in the same way that ``msg.value`` already does).\r\n * Standard JSON Interface: Support \"Yul\" as input language.\r\n * SMTChecker: Show callstack together with model if applicable.\r\n * SMTChecker: Support modifiers.\r\n * Yul Optimizer: Enable stack allocation optimization by default if Yul optimizer is active (disable in ``yulDetails``).\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Defensively pad memory for ``type(Contract).name`` to multiples of 32.\r\n * Type System: Detect and disallow internal function pointers as parameters for public/external library functions, even when they are nested/wrapped in structs, arrays or other types.\r\n * Yul Optimizer: Properly determine whether a variable can be eliminated during stack compression pass.\r\n * Yul / Inline Assembly Parser: Disallow more than one case statement with the same label inside a switch based on the label's integer value.\r\n\r\n\r\n**Build System:**\r\n * Install scripts: Fix boost repository URL for CentOS 6.\r\n * Soltest: Fix hex string update in soltest.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Christian Parpart, Chris Ward, Constantin Kloecker, Daniel Kirchner, Erik Kundt, Leonardo Alt, Mathias Baumann, SystemGlitch, Taariq Levack\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.7.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/16083515","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/16083515/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/16083515/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.6","id":16083515,"node_id":"MDc6UmVsZWFzZTE2MDgzNTE1","tag_name":"v0.5.6","target_commitish":"b259423eb8326dae5340e3e43e34f912cfb1c645","name":"Version 0.5.6","draft":false,"prerelease":false,"created_at":"2019-03-13T16:49:55Z","published_at":"2019-03-13T16:51:47Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11511625","id":11511625,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNTExNjI1","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6477608,"download_count":24573,"created_at":"2019-03-13T17:10:08Z","updated_at":"2019-03-13T17:10:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.6/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11511853","id":11511853,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNTExODUz","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6301573,"download_count":888,"created_at":"2019-03-13T17:23:30Z","updated_at":"2019-03-13T17:23:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.6/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11511820","id":11511820,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNTExODIw","name":"solidity_0.5.6.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1489326,"download_count":1307,"created_at":"2019-03-13T17:21:02Z","updated_at":"2019-03-13T17:21:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.6/solidity_0.5.6.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11511666","id":11511666,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNTExNjY2","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":11939882,"download_count":46,"created_at":"2019-03-13T17:11:04Z","updated_at":"2019-03-13T17:11:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.6/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.6","body":"This release mainly fixes an optimizer bug related to multiple shift opcodes that was introduced in the previous release. It is unlikely that any existing contracts are affected, but you should still not use Solidity 0.5.5.\r\n\r\nApart from that, the support for calldata structs and arrays by ABIEncoderV2 is almost finished now, we added some more optimizer rules and added enums and one-dimensional arrays to the SMT checker.\r\n\r\n**Important Bugfixes:**\r\n * Yul Optimizer: Fix visitation order bug for the structural simplifier.\r\n * Optimizer: Fix overflow in optimization rule that simplifies double shift by constant.\r\n\r\n**Language Features:**\r\n * Allow calldata arrays with dynamically encoded base types with ABIEncoderV2.\r\n * Allow dynamically encoded calldata structs with ABIEncoderV2.\r\n\r\n\r\n**Compiler Features:**\r\n * Optimizer: Add rules for ``lt``-comparisons with constants.\r\n * Peephole Optimizer: Remove double ``iszero`` before ``jumpi``.\r\n * SMTChecker: Support enums without typecast.\r\n * SMTChecker: Support one-dimensional arrays.\r\n * Type Checker: Provide better error messages for some literal conversions.\r\n * Yul Optimizer: Add rule to remove empty default switch cases.\r\n * Yul Optimizer: Add rule to remove empty cases if no default exists.\r\n * Yul Optimizer: Add rule to replace a switch with no cases with ``pop(expression)``.\r\n\r\n\r\n**Bugfixes:**\r\n * JSON ABI: Json description of library ABIs no longer contains functions with internal types like storage structs.\r\n * SMTChecker: Fix internal compiler error when contract contains too large rational number.\r\n * Type system: Detect if a contract's base uses types that require the experimental abi encoder while the contract still uses the old encoder.\r\n\r\n\r\n**Build System:**\r\n * Soltest: Add support for arrays in function signatures.\r\n * Soltest: Add support for struct arrays in function signatures.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.6.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/15920415","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/15920415/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/15920415/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.5","id":15920415,"node_id":"MDc6UmVsZWFzZTE1OTIwNDE1","tag_name":"v0.5.5","target_commitish":"47a71e8f1c884368ad340d61ed36ea7fe270805d","name":"Version 0.5.5","draft":false,"prerelease":false,"created_at":"2019-03-05T15:22:00Z","published_at":"2019-03-05T15:53:53Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11376917","id":11376917,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMzc2OTE3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6424360,"download_count":43676,"created_at":"2019-03-05T16:21:31Z","updated_at":"2019-03-05T16:21:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.5/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11377486","id":11377486,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMzc3NDg2","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6187447,"download_count":809,"created_at":"2019-03-05T16:54:31Z","updated_at":"2019-03-05T16:54:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.5/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11376445","id":11376445,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMzc2NDQ1","name":"solidity_0.5.5.tar.gz","label":"","uploader":{"login":"erak","id":20012009,"node_id":"MDQ6VXNlcjIwMDEyMDA5","avatar_url":"https://avatars.githubusercontent.com/u/20012009?v=4","url":"https://api.github.com/users/erak","html_url":"https://github.com/erak","followers_url":"https://api.github.com/users/erak/followers","following_url":"https://api.github.com/users/erak/following{/other_user}","gists_url":"https://api.github.com/users/erak/gists{/gist_id}","starred_url":"https://api.github.com/users/erak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erak/subscriptions","organizations_url":"https://api.github.com/users/erak/orgs","repos_url":"https://api.github.com/users/erak/repos","events_url":"https://api.github.com/users/erak/events{/privacy}","received_events_url":"https://api.github.com/users/erak/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1436983,"download_count":957,"created_at":"2019-03-05T16:00:12Z","updated_at":"2019-03-05T16:00:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.5/solidity_0.5.5.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11376982","id":11376982,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMzc2OTgy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":11747062,"download_count":54,"created_at":"2019-03-05T16:27:06Z","updated_at":"2019-03-05T16:27:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.5/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.5","body":"This release focuses on the stabilization of the ABIEncoderV2 and the optimizer. We also prepared for the Petersburg release which is the default EVM now and improved the SMT checker, such that it now reports less false positives when using ``SafeMath``.\r\nYou can now activate the experimental Yul optimizer using `settings: {optimizer: {enabled: true, details: {yul: true}}}` or in the commandline via `solc --optimize-yul`.\r\n\r\n**Language Features:**\r\n\r\n * Add support for getters of mappings with ``string`` or ``bytes`` key types.\r\n * Meta programming: Provide access to the name of contracts via ``type(C).name``.\r\n\r\n**Compiler Features:**\r\n\r\n * Support ``petersburg`` as ``evmVersion`` and set as default.\r\n * Commandline Interface: Option to activate the experimental yul optimizer using ``-optimize-yul``.\r\n * Inline Assembly: Consider ``extcodehash`` as part of Constantinople.\r\n * Inline Assembly: Instructions unavailable to the currently configured EVM are errors now.\r\n * SMTChecker: Do not report underflow/overflow if they always revert. This removes false positives when using ``SafeMath``.\r\n * Standard JSON Interface: Allow retrieving metadata without triggering bytecode generation.\r\n * Standard JSON Interface: Provide fine-grained control over the optimizer via the settings.\r\n * Static Analyzer: Warn about expressions with custom types when they have no effect.\r\n * Optimizer: Add new rules with constants including ``LT``, ``GT``, ``AND`` and ``BYTE``.\r\n * Optimizer: Add rule for shifts with constants for Constantinople.\r\n * Optimizer: Combine multiple shifts with constant shift-by values into one.\r\n * Optimizer: Do not mask with 160-bits after ``CREATE`` and ``CREATE2`` as they are guaranteed to return an address or 0.\r\n * Optimizer: Support shifts in the constant optimiser for Constantinople.\r\n * Yul Optimizer: Add rule to replace switch statements with literals by matching case body.\r\n\r\n**Bugfixes:**\r\n\r\n * ABIEncoderV2: Fix internal error related to bare delegatecall.\r\n * ABIEncoderV2: Fix internal error related to ecrecover.\r\n * ABIEncoderV2: Fix internal error related to mappings as library parameters.\r\n * ABIEncoderV2: Fix invalid signature for events containing structs emitted in libraries.\r\n * Inline Assembly: Proper error message for missing variables.\r\n * Optimizer: Fix internal error related to unused tag removal across assemblies. This never generated any invalid code.\r\n * SMTChecker: Fix crash related to statically-sized arrays.\r\n * TypeChecker: Fix internal error and disallow index access on contracts and libraries.\r\n * Yul: Properly detect name clashes with functions before their declaration.\r\n * Yul: Take built-in functions into account in the compilability checker.\r\n * Yul Optimizer: Properly take reassignments to variables in sub-expressions into account when replacing in the ExpressionSimplifier.\r\n\r\n**Build System:**\r\n\r\n * Soltest: Add support for left-aligned, padded hex literals.\r\n * Soltest: Add support for right-aligned, padded boolean literals.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Christian Parpart, Chris Ward, Daniel Kirchner, David Terry, Erik Kundt, Leo Arias, Leonardo Alt, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.5.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/15505453","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/15505453/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/15505453/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.4","id":15505453,"node_id":"MDc6UmVsZWFzZTE1NTA1NDUz","tag_name":"v0.5.4","target_commitish":"9549d8fff7343908228c3e8bedc309d1b83fc204","name":"Version 0.5.4","draft":false,"prerelease":false,"created_at":"2019-02-12T13:20:45Z","published_at":"2019-02-12T13:52:07Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11046123","id":11046123,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMDQ2MTIz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6284040,"download_count":48437,"created_at":"2019-02-12T14:19:37Z","updated_at":"2019-02-12T14:19:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.4/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11046741","id":11046741,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMDQ2NzQx","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5918610,"download_count":1025,"created_at":"2019-02-12T14:51:58Z","updated_at":"2019-02-12T14:51:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.4/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11045953","id":11045953,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMDQ1OTUz","name":"solidity_0.5.4.tar.gz","label":"","uploader":{"login":"erak","id":20012009,"node_id":"MDQ6VXNlcjIwMDEyMDA5","avatar_url":"https://avatars.githubusercontent.com/u/20012009?v=4","url":"https://api.github.com/users/erak","html_url":"https://github.com/erak","followers_url":"https://api.github.com/users/erak/followers","following_url":"https://api.github.com/users/erak/following{/other_user}","gists_url":"https://api.github.com/users/erak/gists{/gist_id}","starred_url":"https://api.github.com/users/erak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erak/subscriptions","organizations_url":"https://api.github.com/users/erak/orgs","repos_url":"https://api.github.com/users/erak/repos","events_url":"https://api.github.com/users/erak/events{/privacy}","received_events_url":"https://api.github.com/users/erak/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1400250,"download_count":1835,"created_at":"2019-02-12T14:06:56Z","updated_at":"2019-02-12T14:06:58Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.4/solidity_0.5.4.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11046197","id":11046197,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMDQ2MTk3","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":9598610,"download_count":56,"created_at":"2019-02-12T14:26:30Z","updated_at":"2019-02-12T14:26:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.4/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.4","body":"This release adds support for calldata structs and packed encoding with ABIEncoderV2. We also introduced some changes to the C API and added support for continuous fuzzing via Google oss-fuzz. In addition to that, we added a new commandline option for improved (colorized) diagnostics formatting.\r\n\r\n**Language Features:**\r\n * Allow calldata structs without dynamically encoded members with ABIEncoderV2.\r\n\r\n\r\n**Compiler Features:**\r\n * ABIEncoderV2: Implement packed encoding.\r\n * C API (``libsolc`` / raw ``soljson.js``): Introduce ``solidity_free`` method which releases all internal buffers to save memory.\r\n * Commandline Interface: Adds new option ``--new-reporter`` for improved diagnostics formatting\r\n along with ``--color`` and ``--no-color`` for colorized output to be forced (or explicitly disabled).\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Defensively pad allocation of creationCode and runtimeCode to multiples of 32 bytes.\r\n * Commandline Interface: Allow yul optimizer only for strict assembly.\r\n * Parser: Disallow empty import statements.\r\n * Type Checker: Disallow mappings with data locations other than ``storage``.\r\n * Type Checker: Fix internal error when a struct array index does not fit into a uint256.\r\n * Type System: Properly report packed encoded size for arrays and structs (mostly unused until now).\r\n\r\n\r\n**Build System:**\r\n * Add support for continuous fuzzing via Google oss-fuzz\r\n * SMT: If using Z3, require version 4.6.0 or newer.\r\n * Soltest: Add parser that is used in the file-based unit test environment.\r\n * Ubuntu PPA Packages: Use CVC4 as SMT solver instead of Z3\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Christian Reitwiessner, Christian Parpart, Chris Ward, Daniel Kirchner, Erik Kundt, Leo Arias, Leonardo Alt, Mathias Baumann, Mudit Gupta, Shelly Grossman\r\n\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"erak","id":20012009,"node_id":"MDQ6VXNlcjIwMDEyMDA5","avatar_url":"https://avatars.githubusercontent.com/u/20012009?v=4","url":"https://api.github.com/users/erak","html_url":"https://github.com/erak","followers_url":"https://api.github.com/users/erak/followers","following_url":"https://api.github.com/users/erak/following{/other_user}","gists_url":"https://api.github.com/users/erak/gists{/gist_id}","starred_url":"https://api.github.com/users/erak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erak/subscriptions","organizations_url":"https://api.github.com/users/erak/orgs","repos_url":"https://api.github.com/users/erak/repos","events_url":"https://api.github.com/users/erak/events{/privacy}","received_events_url":"https://api.github.com/users/erak/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/15105464","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/15105464/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/15105464/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.3","id":15105464,"node_id":"MDc6UmVsZWFzZTE1MTA1NDY0","tag_name":"v0.5.3","target_commitish":"10d17f245839f208ec5085309022a32cd2502f55","name":"Version 0.5.3","draft":false,"prerelease":false,"created_at":"2019-01-22T12:49:41Z","published_at":"2019-01-22T14:40:55Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10720802","id":10720802,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwNzIwODAy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5993216,"download_count":29177,"created_at":"2019-01-22T14:56:20Z","updated_at":"2019-01-22T14:56:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.3/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10721569","id":10721569,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwNzIxNTY5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5755623,"download_count":1012,"created_at":"2019-01-22T15:42:48Z","updated_at":"2019-01-22T15:42:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.3/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10721541","id":10721541,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwNzIxNTQx","name":"solidity_0.5.3.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1403883,"download_count":1755,"created_at":"2019-01-22T15:40:51Z","updated_at":"2019-01-22T15:40:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.3/solidity_0.5.3.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10720840","id":10720840,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwNzIwODQw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":9254677,"download_count":55,"created_at":"2019-01-22T14:59:43Z","updated_at":"2019-01-22T14:59:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.3/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.3","body":"This release adds support for accessing the code of a contract type, which will hopefully make the new `CREATE2` opcode easier to use. We also added some static analysis features to the compiler, but most changes were done \"under the hood\" to pave the way for using the new Yul-based optimizer with ABIEncoderV2.\r\n\r\n**Language Features:**\r\n * Provide access to creation and runtime code of contracts via ``type(C).creationCode`` / ``type(C).runtimeCode``.\r\n\r\n\r\n**Compiler Features:**\r\n * Control Flow Graph: Warn about unreachable code.\r\n * SMTChecker: Support basic typecasts without truncation.\r\n * SMTChecker: Support external function calls and erase all knowledge regarding storage variables and references.\r\n\r\n\r\n**Bugfixes:**\r\n * Emscripten: Split simplification rule initialization up further to work around issues with soljson.js in some browsers.\r\n * Type Checker: Disallow calldata structs until implemented.\r\n * Type Checker: Return type error if fixed point encoding is attempted instead of throwing ``UnimplementedFeatureError``.\r\n * Yul: Check that arguments to ``dataoffset`` and ``datasize`` are literals at parse time and properly take this into account in the optimizer.\r\n * Yul: Parse number literals for detecting duplicate switch cases.\r\n * Yul: Require switch cases to have the same type.\r\n\r\n\r\n**Build System:**\r\n * Emscripten: Upgrade to emscripten 1.38.8 on travis and circleci.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.3.tar.gz and not the zip provided by github directly.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, androlo, Asher, chandan kumar mandal, Christian Parpart, Chris Ward, Daniel Kirchner, Erik Kundt, Evan Saulpaugh, Leonardo Alt, Nick Barry, Paweł Bylica, poiresel, spmvg, Tomek Kopczynski, William Entriken\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/14590507","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/14590507/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/14590507/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.2","id":14590507,"node_id":"MDc6UmVsZWFzZTE0NTkwNTA3","tag_name":"v0.5.2","target_commitish":"1df8f40cd2fd7b47698d847907b8ca7b47eb488d","name":"Version 0.5.2","draft":false,"prerelease":false,"created_at":"2018-12-19T17:06:13Z","published_at":"2018-12-19T18:25:01Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10231052","id":10231052,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwMjMxMDUy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5849856,"download_count":28770,"created_at":"2018-12-19T18:39:43Z","updated_at":"2018-12-19T18:39:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.2/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10231319","id":10231319,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwMjMxMzE5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5648041,"download_count":3179,"created_at":"2018-12-19T18:51:46Z","updated_at":"2018-12-19T18:51:47Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.2/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10231514","id":10231514,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwMjMxNTE0","name":"solidity_0.5.2.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1371077,"download_count":3179,"created_at":"2018-12-19T19:07:20Z","updated_at":"2018-12-19T19:07:24Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.2/solidity_0.5.2.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10231073","id":10231073,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwMjMxMDcz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":9318944,"download_count":75,"created_at":"2018-12-19T18:41:34Z","updated_at":"2018-12-19T18:41:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.2/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.2","body":"This release of the Solidity compiler includes several performance optimizations. These include faster compilation time but also cheaper contracts in some situations. This version also checks for all instances of uninitialized storage references, has some improved error messages and other checks.\r\n\r\nYou can now create complete contracts in Yul through the support of the Yul object format and the special functions ``datasize``, ``dataoffset`` and ``datacopy``.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.2.tar.gz and not the zip provided by github directly.\r\n\r\n\r\n**Language Features:**\r\n * Control Flow Graph: Detect every access to uninitialized storage pointers.\r\n\r\n\r\n**Compiler Features:**\r\n * Inline Assembly: Improve error messages around invalid function argument count.\r\n * Code Generator: Only check callvalue once if all functions are non-payable.\r\n * Code Generator: Use codecopy for string constants more aggressively.\r\n * Code Generator: Use binary search for dispatch function if more efficient. The size/speed tradeoff can be tuned using ``--optimize-runs``.\r\n * SMTChecker: Support mathematical and cryptographic functions in an uninterpreted way.\r\n * SMTChecker: Support one-dimensional mappings.\r\n * Standard JSON Interface: Disallow unknown keys in standard JSON input.\r\n * Standard JSON Interface: Only run code generation if it has been requested. This could lead to unsupported feature errors only being reported at the point where you request bytecode.\r\n * Static Analyzer: Do not warn about unused variables or state mutability for functions with an empty body.\r\n * Type Checker: Add an additional reason to be displayed when type conversion fails.\r\n * Yul: Support object access via ``datasize``, ``dataoffset`` and ``datacopy`` in standalone assembly mode.\r\n\r\n\r\n**Bugfixes:**\r\n * Standard JSON Interface: Report specific error message for json input errors instead of internal compiler error.\r\n\r\n\r\n**Build System:**\r\n * Replace the trusty PPA build by a static build on cosmic that is used for the trusty package instead.\r\n * Remove support for Visual Studio 2015.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlbert, Alex Beregszaszi, Christian Parpart, Chris Ward, Daniel Kirchner, Erik Kundt, Kevin Kelley, Leonardo Alt, liangdzou, Lionello Lunesu, Mathias Baumann, Ricardo Guilherme Schmidt, Yi Huang, Zacharius\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/14315398","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/14315398/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/14315398/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.1","id":14315398,"node_id":"MDc6UmVsZWFzZTE0MzE1Mzk4","tag_name":"v0.5.1","target_commitish":"c8a2cb62832afb2dc09ccee6fd42c1516dfdb981","name":"Version 0.5.1","draft":false,"prerelease":false,"created_at":"2018-12-03T14:48:03Z","published_at":"2018-12-03T15:32:38Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9968923","id":9968923,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njg5MjM=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5731072,"download_count":43489,"created_at":"2018-12-03T15:46:39Z","updated_at":"2018-12-03T15:46:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9968908","id":9968908,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njg5MDg=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":26580558,"download_count":48,"created_at":"2018-12-03T15:45:54Z","updated_at":"2018-12-03T15:45:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9969454","id":9969454,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njk0NTQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":37254439,"download_count":69,"created_at":"2018-12-03T16:20:07Z","updated_at":"2018-12-03T16:20:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9969835","id":9969835,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njk4MzU=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":6861474,"download_count":1186,"created_at":"2018-12-03T16:52:23Z","updated_at":"2018-12-03T16:52:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9969457","id":9969457,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njk0NTc=","name":"solidity_0.5.1.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1340235,"download_count":3505,"created_at":"2018-12-03T16:20:12Z","updated_at":"2018-12-03T16:20:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solidity_0.5.1.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9968943","id":9968943,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njg5NDM=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":9083012,"download_count":48,"created_at":"2018-12-03T15:48:00Z","updated_at":"2018-12-03T15:48:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.1","body":"This release improves the usability of interfaces, fixes some bugs, extends the SMT checker and provides an early preview of the Yul optimizer.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.1.tar.gz and not the zip provided by github directly.\r\n\r\n**Language Features:**\r\n * Allow mapping type for parameters and return variables of public and external library functions.\r\n * Allow public functions to override external functions.\r\n\r\n**Compiler Features:**\r\n * Code generator: Do not perform redundant double cleanup on unsigned integers when loading from calldata.\r\n * Commandline interface: Experimental ``--optimize`` option for assembly mode (``--strict-assembly`` and ``--yul``).\r\n * SMTChecker: SMTLib2 queries and responses passed via standard JSON compiler interface.\r\n * SMTChecker: Support ``msg``, ``tx`` and ``block`` member variables.\r\n * SMTChecker: Support ``gasleft()`` and ``blockhash()`` functions.\r\n * SMTChecker: Support internal bound function calls.\r\n * Yul: Support Yul objects in ``--assemble``, ``--strict-assembly`` and ``--yul`` commandline options.\r\n\r\n**Bugfixes:**\r\n * Assembly output: Do not mix in/out jump annotations with arguments.\r\n * Commandline interface: Fix crash when using ``--ast`` on empty runtime code.\r\n * Code Generator: Annotate jump from calldata decoder to function as \"jump in\".\r\n * Code Generator: Fix internal error related to state variables of function type access via base contract name.\r\n * Optimizer: Fix nondeterminism bug related to the boost version and constants representation. The bug only resulted in less optimal but still correct code because the generated routine is always verified to be correct.\r\n * Type Checker: Properly detect different return types when overriding an external interface function with a public contract function.\r\n * Type Checker: Disallow struct return types for getters of public state variables unless the new ABI encoder is active.\r\n * Type Checker: Fix internal compiler error when a field of a struct used as a parameter in a function type has a non-existent type.\r\n * Type Checker: Disallow functions ``sha3`` and ``suicide`` also without a function call.\r\n * Type Checker: Fix internal compiler error with ``super`` when base contract function is not implemented.\r\n * Type Checker: Fixed internal error when trying to create abstract contract in some cases.\r\n * Type Checker: Fixed internal error related to double declaration of events.\r\n * Type Checker: Disallow inline arrays of mapping type.\r\n * Type Checker: Consider abstract function to be implemented by public state variable.\r\n\r\n**Build System:**\r\n * CMake: LLL is not built anymore by default. Must configure it with CMake as `-DLLL=ON`.\r\n * Docker: Includes both Scratch and Alpine images.\r\n * Emscripten: Upgrade to Emscripten SDK 1.37.21 and boost 1.67.\r\n\r\n**Solc-Js:**\r\n * Fix handling of standard-json in the commandline executable.\r\n * Remove support of nodejs 4.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlbert, Alex Beregszaszi, Anurag Dashputre, Chris Purta, Christian Parpart, Chris Ward, Daniel Kirchner, David Lozano Jarque, Erik Kundt, hydai, Javier Tarazaga, Justin Wilson, Lazaridis, Leonardo Alt, liangdzou, mordax, Robert Chung, William Entriken, Yet another codejunkie\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/13977900","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/13977900/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/13977900/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.0","id":13977900,"node_id":"MDc6UmVsZWFzZTEzOTc3OTAw","tag_name":"v0.5.0","target_commitish":"release","name":"Version 0.5.0","draft":false,"prerelease":false,"created_at":"2018-11-13T18:33:35Z","published_at":"2018-11-13T19:36:55Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9678414","id":9678414,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2Nzg0MTQ=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5055232,"download_count":75830,"created_at":"2018-11-13T19:51:12Z","updated_at":"2018-11-13T19:51:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9678412","id":9678412,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2Nzg0MTI=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":26723028,"download_count":206,"created_at":"2018-11-13T19:50:55Z","updated_at":"2018-11-13T19:50:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9679240","id":9679240,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2NzkyNDA=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6922283,"download_count":2573,"created_at":"2018-11-13T20:56:01Z","updated_at":"2018-11-13T20:56:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9678411","id":9678411,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2Nzg0MTE=","name":"solidity_0.5.0.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1320606,"download_count":4022,"created_at":"2018-11-13T19:50:54Z","updated_at":"2018-11-13T19:50:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/solidity_0.5.0.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9678497","id":9678497,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2Nzg0OTc=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8496902,"download_count":194,"created_at":"2018-11-13T19:58:14Z","updated_at":"2018-11-13T19:58:14Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.0","body":"This is a major breaking release of the Solidity language and compiler that includes many new safety features. In general, programmers have to be more explicit, some weird edge-cases are removed from the language and the low-level compiler interface is much simpler.\r\n\r\nThis release was long overdue and as a result has amassed an incredibly long list of changes. Please refer to the [\"Solidity v0.5.0 Breaking Changes”](https://solidity.readthedocs.io/en/latest/050-breaking-changes.html) section in the documentation about a good description of what has changed and how to update your code, or if you are courageous, check out the [changelog](https://github.com/ethereum/solidity/blob/v0.5.0/Changelog.md)!\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.0.tar.gz and not the zip provided by github directly.\r\n\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na4nkit, ajs, Alexander Arlt, Alex Beregszaszi, alibabe, Ankit Raj, Anurag Dashputre, Arindam Mondal, Asif Mallik, Augusto F. Hack, bakaoh, Balajiganapathi S, Berk Erol, Bhargava Shastry, Chase McDermott, Christian Parpart, Chris Ward, Crypto Jerônimo, Cryptomental, Daniel Kirchner, Daniel Kronovet, Dimitry, dm4, D-Nice, Dominik Harz, Dylan Wilson, Eitan Levin, Eric Ren, Erik Kundt, Evgeniy Filatov, f-daniel, Federico Bond, feliam, Flash Sheridan, Florian Antony, Franco Victorio, gftea, Guido Vranken, Harry Moreno, herrBez, hydai, Jared Wasinger, Jason Cobb, Jeffrey Anthony, Jesse Busman, João Vítor, Jordan Last, J Quinn, Julius Huelsmann, Kevin Azoulay, Khan M Rashedun-Naby, Kristofer Peterson, Lazaridis, Leanne, Lefteris Karapetsas, Leo Arias, Leonardo Alt, liangdzou, Li Xuanji, Luke Schoen, Martin Diz, Matías Aereal Aeón, Matías A. Ré Medina, Matthew Little, Matt Little, mestorlx, Michał Załęcki, Mike, mingchuan, mordax, Nicolás Venturo, Noel Maersk, Paweł Bylica, Pritam Roy, Richard Littauer, ritzdorf, Rytis Slatkevičius, Shadab Khan, Simon Chen, taitt, Tim Holland, Timofey Solonin, Tomasz Drwięga, Vutsal Singhal, wbt, William Entriken, William Morriss, wpank, xinbenlv","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/13977900/reactions","total_count":6,"+1":0,"-1":0,"laugh":0,"hooray":3,"confused":0,"heart":3,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/12867242","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/12867242/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/12867242/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.25","id":12867242,"node_id":"MDc6UmVsZWFzZTEyODY3MjQy","tag_name":"v0.4.25","target_commitish":"release","name":"Version 0.4.25","draft":false,"prerelease":false,"created_at":"2018-09-13T16:38:41Z","published_at":"2018-09-13T18:03:38Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662327","id":8662327,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjIzMjc=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4973312,"download_count":145163,"created_at":"2018-09-13T18:53:06Z","updated_at":"2018-09-13T18:53:06Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662429","id":8662429,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjI0Mjk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":26403977,"download_count":324,"created_at":"2018-09-13T18:59:50Z","updated_at":"2018-09-13T18:59:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662414","id":8662414,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjI0MTQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":36017550,"download_count":1035,"created_at":"2018-09-13T18:59:07Z","updated_at":"2018-09-13T18:59:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8663023","id":8663023,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjMwMjM=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7246873,"download_count":6168,"created_at":"2018-09-13T19:49:29Z","updated_at":"2018-09-13T19:49:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662431","id":8662431,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjI0MzE=","name":"solidity_0.4.25.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1159514,"download_count":9976,"created_at":"2018-09-13T18:59:52Z","updated_at":"2018-09-13T18:59:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solidity_0.4.25.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662441","id":8662441,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjI0NDE=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8276039,"download_count":199,"created_at":"2018-09-13T19:00:54Z","updated_at":"2018-09-13T19:00:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.25","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.25","body":"This release fixed a cleanup error concerning the exponentiation operator. It is a bugfix-only release\r\nand does not contain any features. A more detailed description of the bugs fixed can be found\r\non the [ethereum blog](https://blog.ethereum.org/2018/09/13/solidity-bugfix-release/).\r\n\r\nNote that nightly builds of Solidity currently contain changes unrelated to this bugfix release.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.25.tar.gz and not the zip provided by github directly.\r\n\r\n**Important Bugfixes:**\r\n * Code Generator: Properly perform cleanup for exponentiation and non-256 bit types.\r\n * Type Checker: Report error when using indexed structs in events with experimental ABIEncoderV2. This used to log wrong values.\r\n * Type Checker: Report error when using structs in events without experimental ABIEncoderV2. This used to crash or log the wrong values.\r\n * Parser: Consider all unicode line terminators (LF, VF, FF, CR, NEL, LS, PS) for single-line comments\r\n and string literals. They are invalid in strings and will end comments.\r\n * Parser: Disallow unterminated multi-line comments at the end of input.\r\n * Parser: Treat ``/** /`` as unterminated multi-line comment.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nmingchuan and Guido Vranken","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/12867242/reactions","total_count":2,"+1":2,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/11027885","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/11027885/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/11027885/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.24","id":11027885,"node_id":"MDc6UmVsZWFzZTExMDI3ODg1","tag_name":"v0.4.24","target_commitish":"release","name":"Version 0.4.24","draft":false,"prerelease":false,"created_at":"2018-05-16T12:43:57Z","published_at":"2018-05-16T14:09:50Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195526","id":7195526,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU1MjY=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5026632,"download_count":125703,"created_at":"2018-05-16T14:22:44Z","updated_at":"2018-05-16T14:22:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195604","id":7195604,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU2MDQ=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":25969398,"download_count":455,"created_at":"2018-05-16T14:26:19Z","updated_at":"2018-05-16T14:26:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195680","id":7195680,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU2ODA=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":35402421,"download_count":974,"created_at":"2018-05-16T14:32:53Z","updated_at":"2018-05-16T14:32:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7214032","id":7214032,"node_id":"MDEyOlJlbGVhc2VBc3NldDcyMTQwMzI=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":6853756,"download_count":4301,"created_at":"2018-05-17T18:20:36Z","updated_at":"2018-05-17T18:20:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195679","id":7195679,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU2Nzk=","name":"solidity_0.4.24.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1154386,"download_count":9487,"created_at":"2018-05-16T14:32:52Z","updated_at":"2018-05-16T14:32:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solidity_0.4.24.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195609","id":7195609,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU2MDk=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8273404,"download_count":259,"created_at":"2018-05-16T14:26:29Z","updated_at":"2018-05-16T14:26:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.24","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.24","body":"All remaining breaking changes planned for version 0.5.0 that can be implemented in a backwards-compatible way made it into this release. Solidity can now detect uninitialized storage pointers using control-flow analysis. It is again possible to assign multiple return values from a function to newly declared variables and the SMT checker is able to work with simple storage variables.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.24.tar.gz and not the zip provided by github directly.\r\n\r\n**Language Features:**\r\n * Code Generator: Use native shift instructions on target Constantinople.\r\n * General: Allow multiple variables to be declared as part of a tuple assignment, e.g. ``(uint a, uint b) = ...``.\r\n * General: Remove deprecated ``constant`` as function state modifier from documentation and tests (but still leave it as a valid feature).\r\n * Type Checker: Deprecate the ``years`` unit denomination and raise a warning for it (or an error as experimental 0.5.0 feature).\r\n * Type Checker: Make literals (without explicit type casting) an error for tight packing as experimental 0.5.0 feature.\r\n * Type Checker: Warn about wildcard tuple assignments (this will turn into an error with version 0.5.0).\r\n * Type Checker: Warn when ``keccak256``, ``sha256`` and ``ripemd160`` are not used with a single bytes argument (suggest to use ``abi.encodePacked(...)``). This will turn into an error with version 0.5.0.\r\n\r\n**Compiler Features:**\r\n * Build System: Update internal dependency of jsoncpp to 1.8.4, which introduces more strictness and reduces memory usage.\r\n * Control Flow Graph: Add Control Flow Graph as analysis structure.\r\n * Control Flow Graph: Warn about returning uninitialized storage pointers.\r\n * Gas Estimator: Only explore paths with higher gas costs. This reduces accuracy but greatly improves the speed of gas estimation.\r\n * Optimizer: Remove unnecessary masking of the result of known short instructions (``ADDRESS``, ``CALLER``, ``ORIGIN`` and ``COINBASE``).\r\n * Parser: Display nicer error messages by showing the actual tokens and not internal names.\r\n * Parser: Use the entire location of the token instead of only its starting position as source location for parser errors.\r\n * SMT Checker: Support state variables of integer and bool type.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix ``revert`` with reason coming from a state or local string variable.\r\n * Type Checker: Show proper error when trying to ``emit`` a non-event.\r\n * Type Checker: Warn about empty tuple components (this will turn into an error with version 0.5.0).\r\n * Type Checker: The ABI encoding functions are pure and thus can be used for constants.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAlexander Arlt, Andreas Olofsson, Arun Kumar, daniel, David Sanders, GuessWho, Jason Cobb, Jonny Burger, Leo Arias, Luca Ban, Magicking, Matthew Ludwig, mingchuan, nisdas, njwest, Omar Boukli-Hacene, Rafiudeen Chozhan Kumarasamy, sledrho, Wenbin Wu\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/11027885/reactions","total_count":3,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":3},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/10626327","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/10626327/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/10626327/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.23","id":10626327,"node_id":"MDc6UmVsZWFzZTEwNjI2MzI3","tag_name":"v0.4.23","target_commitish":"release","name":"Version 0.4.23","draft":false,"prerelease":false,"created_at":"2018-04-19T17:24:01Z","published_at":"2018-04-19T21:18:27Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907812","id":6907812,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc4MTI=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4887368,"download_count":38227,"created_at":"2018-04-19T21:34:18Z","updated_at":"2018-04-19T21:34:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907783","id":6907783,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc3ODM=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":25404869,"download_count":68,"created_at":"2018-04-19T21:31:24Z","updated_at":"2018-04-19T21:31:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907844","id":6907844,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc4NDQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":34342305,"download_count":219,"created_at":"2018-04-19T21:37:11Z","updated_at":"2018-04-19T21:37:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907816","id":6907816,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc4MTY=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6683168,"download_count":1668,"created_at":"2018-04-19T21:34:38Z","updated_at":"2018-04-19T21:34:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907845","id":6907845,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc4NDU=","name":"solidity_0.4.23.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1136930,"download_count":2829,"created_at":"2018-04-19T21:37:14Z","updated_at":"2018-04-19T21:37:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solidity_0.4.23.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6908111","id":6908111,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDgxMTE=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7964199,"download_count":97,"created_at":"2018-04-19T22:09:00Z","updated_at":"2018-04-19T22:09:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.23","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.23","body":"Bugfix release: In the previous release, it was possible to define two constructors (one using the new constructor-keyword syntax, another one with the old syntax) for a contract, but only one of them got used in the end. We also included other bugfixes.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.23.tar.gz and not the zip provided by github directly.\r\n\r\n**Features:**\r\n * Build system: Support Ubuntu Bionic.\r\n * SMTChecker: Integration with CVC4 SMT solver\r\n * Syntax Checker: Warn about functions named \"constructor\".\r\n\r\n**Bugfixes:**\r\n * Type Checker: Improve error message for failed function overload resolution.\r\n * Type Checker: Do not complain about new-style constructor and fallback function to have the same name.\r\n * Type Checker: Detect multiple constructor declarations in the new syntax and old syntax.\r\n * Type Checker: Explicit conversion of ``bytesXX`` to ``contract`` is properly disallowed.\r\n\r\n\r\nWe especially thank all our open source community contributors: Thomas Sauvajon","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/10569637","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/10569637/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/10569637/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.22","id":10569637,"node_id":"MDc6UmVsZWFzZTEwNTY5NjM3","tag_name":"v0.4.22","target_commitish":"release","name":"Version 0.4.22","draft":false,"prerelease":false,"created_at":"2018-04-16T21:03:49Z","published_at":"2018-04-17T05:11:56Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869565","id":6869565,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NjU=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4887368,"download_count":53196,"created_at":"2018-04-17T05:29:09Z","updated_at":"2018-04-17T05:29:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869557","id":6869557,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NTc=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":25401057,"download_count":50,"created_at":"2018-04-17T05:27:09Z","updated_at":"2018-04-17T05:27:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869575","id":6869575,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NzU=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":34333064,"download_count":73,"created_at":"2018-04-17T05:34:33Z","updated_at":"2018-04-17T05:34:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869551","id":6869551,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NTE=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6696527,"download_count":1318,"created_at":"2018-04-17T05:26:31Z","updated_at":"2018-04-17T05:26:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869576","id":6869576,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NzY=","name":"solidity_0.4.22.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1133078,"download_count":736,"created_at":"2018-04-17T05:34:35Z","updated_at":"2018-04-17T05:34:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solidity_0.4.22.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869607","id":6869607,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk2MDc=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7961562,"download_count":47,"created_at":"2018-04-17T05:39:32Z","updated_at":"2018-04-17T05:39:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.22","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.22","body":"This release features several major and long-awaited changes:\r\n\r\n - It is now possible to access dynamic data (arrays, strings, etc) returned by function calls.\r\n - You can specify error reason strings for ``revert`` and ``require`` (support by tooling is still pending).\r\n - We added the global functions ``abi.encode()``, ``abi.encodePacked()``, ``abi.encodeWithSelector()`` and ``abi.encodeWithSignature()`` which expose the ABI encoding functions and each return a ``bytes`` value.\r\n - Constructors should now be defined using ``constructor(uint arg1, uint arg2) { ... }`` to make them stand out and avoid bugs when contracts are renamed but not their constructors.\r\n - Some array operations got cheaper, especially the ``push`` function and initialization of memory arrays.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.22.tar.gz and not the zip provided by github directly.\r\n\r\n**Features:**\r\n\r\n * Code Generator: Initialize arrays without using ``msize()``.\r\n * Code Generator: More specialized and thus optimized implementation for ``x.push(...)``\r\n * Commandline interface: Error when missing or inaccessible file detected. Suppress it with the ``--ignore-missing`` flag.\r\n * Constant Evaluator: Fix evaluation of single element tuples.\r\n * General: Add encoding routines ``abi.encodePacked``, ``abi.encode``, ``abi.encodeWithSelector`` and ``abi.encodeWithSignature``.\r\n * General: Add global function ``gasleft()`` and deprecate ``msg.gas``.\r\n * General: Add global function ``blockhash(uint)`` and deprecate ``block.hash(uint)``.\r\n * General: Allow providing reason string for ``revert()`` and ``require()``.\r\n * General: Allow and recommend new constructor syntax using the ``constructor`` keyword (generate error as experimental 0.5.0 feature).\r\n * General: Limit the number of errors output in a single run to 256.\r\n * General: Support accessing dynamic return data in post-byzantium EVMs.\r\n * Inheritance: Error when using empty parentheses for base class constructors that require arguments as experimental 0.5.0 feature.\r\n * Inheritance: Error when using no parentheses in modifier-style constructor calls as experimental 0.5.0 feature.\r\n * Interfaces: Allow overriding external functions in interfaces with public in an implementing contract.\r\n * Optimizer: Optimize ``SHL`` and ``SHR`` only involving constants (Constantinople only).\r\n * Optimizer: Remove useless ``SWAP1`` instruction preceding a commutative instruction (such as ``ADD``, ``MUL``, etc).\r\n * Optimizer: Replace comparison operators (``LT``, ``GT``, etc) with opposites if preceded by ``SWAP1``, e.g. ``SWAP1 LT`` is replaced with ``GT``.\r\n * Optimizer: Optimize across ``mload`` if ``msize()`` is not used.\r\n * Static Analyzer: Error on duplicated super constructor calls as experimental 0.5.0 feature.\r\n * Syntax Checker: Issue warning for empty structs (or error as experimental 0.5.0 feature).\r\n * Syntax Checker: Warn about modifiers on functions without implementation (this will turn into an error with version 0.5.0).\r\n * Syntax Tests: Add source locations to syntax test expectations.\r\n * Type Checker: Improve documentation and warnings for accessing contract members inherited from ``address``.\r\n\r\n\r\n**Bugfixes:**\r\n\r\n * Code Generator: Allow ``block.blockhash`` without being called.\r\n * Code Generator: Do not include internal functions in the runtime bytecode which are only referenced in the constructor.\r\n * Code Generator: Properly skip unneeded storage array cleanup when not reducing length.\r\n * Code Generator: Bugfix in modifier lookup in libraries.\r\n * Code Generator: Implement packed encoding of external function types.\r\n * Code Generator: Treat empty base constructor argument list as not provided.\r\n * Code Generator: Properly force-clean bytesXX types for shortening conversions.\r\n * Commandline interface: Fix error messages for imported files that do not exist.\r\n * Commandline interface: Support ``--evm-version constantinople`` properly.\r\n * DocString Parser: Fix error message for empty descriptions.\r\n * Gas Estimator: Correctly ignore costs of fallback function for other functions.\r\n * JSON AST: Remove storage qualifier for type name strings.\r\n * Parser: Fix internal compiler error when parsing ``var`` declaration without identifier.\r\n * Parser: Fix parsing of getters for function type variables.\r\n * Standard JSON: Support ``constantinople`` as ``evmVersion`` properly.\r\n * Static Analyzer: Fix non-deterministic order of unused variable warnings.\r\n * Static Analyzer: Invalid arithmetic with constant expressions causes errors.\r\n * Type Checker: Fix detection of recursive structs.\r\n * Type Checker: Fix asymmetry bug when comparing with literal numbers.\r\n * Type System: Improve error message when attempting to shift by a fractional amount.\r\n * Type System: Make external library functions accessible.\r\n * Type System: Prevent encoding of weird types.\r\n * Type System: Restrict rational numbers to 4096 bits.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nSergiusz Bazanski, Federico Bond, Anthony Broad-Crawford, Jason Cobb, dongsamb, Robbie Ferguson, Kevin Florenzano, Grzegorz Hasse, hydai, Lefteris Karapetsas, kevinflo, NetX, Daniel R, Matías A. Ré Medina, Roman, Yosyp Schwab, wbt, Li Xuanji, Haoliang Yu","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/9985185","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/9985185/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/9985185/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.21","id":9985185,"node_id":"MDc6UmVsZWFzZTk5ODUxODU=","tag_name":"v0.4.21","target_commitish":"release","name":"Version 0.4.21","draft":false,"prerelease":false,"created_at":"2018-03-07T19:20:57Z","published_at":"2018-03-08T06:45:05Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443382","id":6443382,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDMzODI=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4789064,"download_count":63700,"created_at":"2018-03-08T06:56:28Z","updated_at":"2018-03-08T06:56:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443464","id":6443464,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDM0NjQ=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":24938204,"download_count":82,"created_at":"2018-03-08T07:07:04Z","updated_at":"2018-03-08T07:07:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443506","id":6443506,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDM1MDY=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":33035016,"download_count":187,"created_at":"2018-03-08T07:11:29Z","updated_at":"2018-03-08T07:11:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443387","id":6443387,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDMzODc=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6535599,"download_count":2045,"created_at":"2018-03-08T06:59:10Z","updated_at":"2018-03-08T06:59:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443507","id":6443507,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDM1MDc=","name":"solidity_0.4.21.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1081265,"download_count":3980,"created_at":"2018-03-08T07:11:36Z","updated_at":"2018-03-08T07:11:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solidity_0.4.21.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443650","id":6443650,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDM2NTA=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7716997,"download_count":121,"created_at":"2018-03-08T07:40:58Z","updated_at":"2018-03-08T07:40:58Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.21","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.21","body":"We again introduced several changes that are scheduled for version 0.5.0 and can be activated using `pragma experimental \"v0.5.0\";`. In this release, this pragma does not generate a warning anymore, so you can (and should) use it in production code.\r\n\r\nIn addition to that, you can now specify which EVM version the contract should be compiled for. Valid values are \"homestead\", \"tangerineWhistle\", \"spuriousDragon\", \"byzantium\" (the default) and \"constantinople\". Depending on this setting, different opcodes will be used in some cases. The only place where this is currently used by default is that all gas is forwarded with calls starting from \"tangerineWhistle\" (in homestead, some gas has to be retained for the ``call`` opcode itself). Also, the gas estimator reports different costs for the opcodes depending on the version and thus the optimizer might generate different code.\r\n\r\nThe new \"0.5.0\" features are explained in more detail below the list of features and bugfixes.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.21.tar.gz and not the zip provided by github directly.\r\n\r\n\r\n**Features:**\r\n\r\n * Code Generator: Assert that ``k != 0`` for ``mulmod(a, b, k)`` and ``addmod(a, b, k)`` as experimental 0.5.0 feature.\r\n * Code Generator: Do not retain any gas in calls (except if EVM version is set to homestead).\r\n * Code Generator: Use ``STATICCALL`` opcode for calling ``view`` and ``pure`` functions as experimenal 0.5.0 feature.\r\n * General: C99/C++-style scoping rules (instead of JavaScript function scoping) take effect as experimental v0.5.0 feature.\r\n * General: Improved messaging when error spans multiple lines of a sourcefile\r\n * General: Support and recommend using ``emit EventName();`` to call events explicitly.\r\n * Inline Assembly: Enforce strict mode as experimental 0.5.0 feature.\r\n * Interface: Provide ability to select target EVM version (homestead or byzantium, with byzantium being the default).\r\n * Standard JSON: Reject badly formatted invalid JSON inputs.\r\n * Type Checker: Disallow uninitialized storage pointers as experimental 0.5.0 feature.\r\n * Syntax Analyser: Do not warn about experimental features if they do not concern code generation.\r\n * Syntax Analyser: Do not warn about ``pragma experimental \"v0.5.0\"`` and do not set the experimental flag in the bytecode for this.\r\n * Syntax Checker: Mark ``throw`` as an error as experimental 0.5.0 feature.\r\n * Syntax Checker: Issue error if no visibility is specified on contract functions as experimental 0.5.0 feature.\r\n * Syntax Checker: Issue warning when using overloads of ``address`` on contract instances.\r\n * Type Checker: disallow combining hex numbers and unit denominations as experimental 0.5.0 feature.\r\n\r\n**Bugfixes:**\r\n\r\n * Assembly: Raise error on oversized number literals in assembly.\r\n * JSON-AST: Add \"documentation\" property to function, event and modifier definition.\r\n * Resolver: Properly determine shadowing for imports with aliases.\r\n * Standalone Assembly: Do not ignore input after closing brace of top level block.\r\n * Standard JSON: Catch errors properly when invalid \"sources\" are passed.\r\n * Standard JSON: Ensure that library addresses supplied are of correct length and hex prefixed.\r\n * Type Checker: Properly detect which array and struct types are unsupported by the old ABI encoder.\r\n * Type Checker: Properly warn when using ``_offset`` and ``_slot`` for constants in inline assembly.\r\n * Commandline interface: throw error if option is unknown\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAlexander Arlt, Dax Bondye, Emilio Almansi, Evgeny Medvedev, Federico Bond, Hongbin Zuo, Oleksii Matiiasevych, Raghav Dua, William Entriken, bernard peh, Aaron Colaço, Alexandre Bezroutchko, Anthony Broad-Crawford, DYLAN BECKWITH, Elena Dimitrova, Furkan Ayhan, Jordi Baylina, Li Xuanji, Zhen Zhang, ankit raj, janat08, mirgj, wbt.\r\n\r\n\r\n**Details:**\r\n\r\n * Code Generator: Use ``STATICCALL`` opcode for calling ``view`` and ``pure`` functions as experimenal 0.5.0 feature.\r\n\r\nThis ensures that functions marked as ``view`` or ``pure`` (previously ``constant``) cannot modify the state. This is especially important if you call unknown code via a generic interface and you cannot be sure whether the function modifies the state or not. This way, ``view`` and ``pure`` functions cannot have reentrancy effects.\r\n\r\n * General: C99/C++-style scoping rules (instead of JavaScript function scoping) take effect as experimental v0.5.0 feature.\r\n\r\nVariables are no longer valid in the whole function and even before they were declared as in JavaScript, but instead only in the ``{``/``}``-enclosed block where they are declared and only starting after their declaration. These are the rules also used by C++ or Java. There is a common exception where variables declared in the initializing part of the ``for`` header are also valid in the rest of the ``for`` loop construct which we also use in Solidity. Currently, the stack slot reserved for the variable still spans the whole function, but this is planned to be improved for the next release.\r\n\r\n * General: Support and recommend using ``emit EventName();`` to call events explicitly.\r\n\r\nIn order to make events stand out with regards to regular function calls, ``emit EventName()`` as opposed to just ``EventName()`` should now be used to \"call\" events.\r\n\r\n * Inline Assembly: Enforce strict mode as experimental 0.5.0 feature.\r\n\r\nStrict mode disallows labels, jumps and opcodes that directly modify the stack. It is much safer than non-strict mode, since you do not have to keep track of the current state of the stack. Furthermore, it allows an optimizer stage (to be finished soon) to be created much more easily. Because of that, the optimizer will refuse to work on non-strict assembly.\r\n\r\n * Type Checker: Disallow uninitialized storage pointers as experimental 0.5.0 feature.\r\n\r\nStorage pointers (e.g. ``StructType storage x;``) can lead to severe storage corruption if used without being assigned. In 0.5.0 it will be illegal to declare a storage pointer without directly initializing it.\r\n\r\n * Syntax Checker: Mark ``throw`` as an error as experimental 0.5.0 feature.\r\n\r\nThe ``throw`` keyword creates the impression that exceptions are a feature of Solidity, while in reality, it only supports state-reversion that can soon also include error data. Because of that, ``throw`` is deprecated.\r\n\r\n * Syntax Checker: Issue error if no visibility is specified on contract functions as experimental 0.5.0 feature.\r\n\r\nSince there were bugs where people did not realize that the default visibility of functions is ``public``, specifying a visibility was made mandatory.\r\n\r\n * Syntax Checker: Issue warning when using overloads of ``address`` on contract instances.\r\n\r\nCollisions between native members of the ``address`` type and user-defined members of contracts can easily deceive users. Because of that, address members are no longer available in contracts. If you want to use an address member (``transfer`` is one of them!), then convert it to address: ``address(contractInstance).transfer(2 wei)``.\r\n\r\n * Type Checker: disallow combining hex numbers and unit denominations as experimental 0.5.0 feature.\r\n\r\nWe could not think of any situation where unit denominations like ``seconds`` or ``ether`` combined with hexadecimal literals would be meaningful (``0x1234 ether`` or ``0x20 minutes``) and thus deprecated this combination.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/9664505","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/9664505/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/9664505/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.20","id":9664505,"node_id":"MDc6UmVsZWFzZTk2NjQ1MDU=","tag_name":"v0.4.20","target_commitish":"release","name":"Version 0.4.20","draft":false,"prerelease":false,"created_at":"2018-02-14T04:00:41Z","published_at":"2018-02-14T07:44:49Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207484","id":6207484,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc0ODQ=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4748104,"download_count":36249,"created_at":"2018-02-14T07:56:15Z","updated_at":"2018-02-14T07:56:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207529","id":6207529,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc1Mjk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":24515337,"download_count":71,"created_at":"2018-02-14T08:02:49Z","updated_at":"2018-02-14T08:02:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207569","id":6207569,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc1Njk=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":32248659,"download_count":159,"created_at":"2018-02-14T08:09:10Z","updated_at":"2018-02-14T08:09:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207599","id":6207599,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc1OTk=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6404269,"download_count":2772,"created_at":"2018-02-14T08:12:48Z","updated_at":"2018-02-14T08:12:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207570","id":6207570,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc1NzA=","name":"solidity_0.4.20.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1063183,"download_count":2359,"created_at":"2018-02-14T08:09:19Z","updated_at":"2018-02-14T08:09:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solidity_0.4.20.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207907","id":6207907,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc5MDc=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7604173,"download_count":75,"created_at":"2018-02-14T09:07:59Z","updated_at":"2018-02-14T09:08:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.20","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.20","body":"This release includes some usability and security improvements and a further evolution of the SMT component. The ``var`` keyword has been deprecated for security reasons.\r\n\r\nSignificant steps were made in writing optimisation stages for the intermediate language, which will be used by the new ABI encoder to produce highly optimised output. The main goal is to have a resulting bytecode size similar to the old ABI encoder, while having more runtime checks for a stricter decoding process. This is not yet enabled in this release.\r\n\r\n**Features:**\r\n * Code Generator: Prevent non-view functions in libraries from being called\r\n directly (as opposed to via delegatecall).\r\n * Commandline interface: Support strict mode of assembly (disallowing jumps,\r\n instructional opcodes, etc) with the ``--strict-assembly`` switch.\r\n * Inline Assembly: Issue warning for using jump labels (already existed for jump instructions).\r\n * Inline Assembly: Support some restricted tokens (return, byte, address) as identifiers in IULIA mode.\r\n * Optimiser: Replace ``x % 2**i`` by ``x \u0026 (2**i-1)``.\r\n * Resolver: Continue resolving references after the first error.\r\n * Resolver: Suggest alternative identifiers if a given identifier is not found.\r\n * SMT Checker: Take if-else branch conditions into account in the SMT encoding of the program\r\n variables.\r\n * Syntax Checker: Deprecate the ``var`` keyword (and mark it an error as experimental 0.5.0 feature).\r\n * Type Checker: Allow `this.f.selector` to be a pure expression.\r\n * Type Checker: Issue warning for using ``public`` visibility for interface functions.\r\n * Type Checker: Limit the number of warnings raised for creating abstract contracts.\r\n\r\n**Bugfixes:**\r\n * Error Output: Truncate huge number literals in the middle to avoid output blow-up.\r\n * Parser: Disallow event declarations with no parameter list.\r\n * Standard JSON: Populate the ``sourceLocation`` field in the error list.\r\n * Standard JSON: Properly support contract and library file names containing a colon (such as URLs).\r\n * Type Checker: Suggest the experimental ABI encoder if using ``struct``s as function parameters\r\n (instead of an internal compiler error).\r\n * Type Checker: Improve error message for wrong struct initialization.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAlexander Arlt, Balajiganapathi S, ChenQuan, Chuck LeDuc Díaz, Evgeny Medvedev, Ezra Epstein, Federico Bond, Gonçalo Sá, Jim McDonald, Jimmy Vogel, Kamuela Franco, Kevin Wu, Leonardo Alt, Li Xuanji, Manus, Matthew Halpern, Maurelian, Raghav Dua, Sawyer, Steve Waldman, William Entriken, YuShuangqi, Yuriy Kashnikov, Zhen Zhang, ZoOgY-DoOgY, chenquan, Elena Dimitrova, hyperfekt, mekkanik and wbt.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.20.tar.gz and not the zip provided by github directly.\r\n\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/8718509","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/8718509/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/8718509/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.19","id":8718509,"node_id":"MDc6UmVsZWFzZTg3MTg1MDk=","tag_name":"v0.4.19","target_commitish":"release","name":"Version 0.4.19","draft":false,"prerelease":false,"created_at":"2017-11-30T15:08:09Z","published_at":"2017-11-30T16:48:14Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491773","id":5491773,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE3NzM=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4711240,"download_count":47052,"created_at":"2017-11-30T18:01:35Z","updated_at":"2017-11-30T18:01:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491814","id":5491814,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE4MTQ=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22932761,"download_count":142,"created_at":"2017-11-30T18:06:04Z","updated_at":"2017-11-30T18:06:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491923","id":5491923,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE5MjM=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":32012668,"download_count":290,"created_at":"2017-11-30T18:09:35Z","updated_at":"2017-11-30T18:09:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491266","id":5491266,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTEyNjY=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6062779,"download_count":2631,"created_at":"2017-11-30T17:04:57Z","updated_at":"2017-11-30T17:04:57Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491924","id":5491924,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE5MjQ=","name":"solidity_0.4.19.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1027296,"download_count":5532,"created_at":"2017-11-30T18:09:38Z","updated_at":"2017-11-30T18:09:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solidity_0.4.19.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491934","id":5491934,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE5MzQ=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7336570,"download_count":146,"created_at":"2017-11-30T18:11:28Z","updated_at":"2017-11-30T18:11:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.19","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.19","body":"In the last weeks, we have mainly been working on big internal changes. One of them is the new ABI decoder, which is still in experimental mode, but will hopefully be production-usable soon. External contributions like allowing constant variables for array lengths and improved error messages should make your life as a programmer easier. Finally, the standard-json-io-system now allows to select certain artifacts from a contract which should speed up your code-compile-test-cycle even more!\r\n\r\n**Features:**\r\n * Code Generator: New ABI decoder which supports structs and arbitrarily nested\r\n arrays and checks input size (activate using ``pragma experimental ABIEncoderV2;``).\r\n * General: Allow constant variables to be used as array length.\r\n * Inline Assembly: ``if`` statement.\r\n * Standard JSON: Support the ``outputSelection`` field for selective compilation of target artifacts.\r\n * Syntax Checker: Turn the usage of ``callcode`` into an error as experimental 0.5.0 feature.\r\n * Type Checker: Improve address checksum warning.\r\n * Type Checker: More detailed errors for invalid array lengths (such as division by zero).\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nBalajiganapathi S, Boris Kostenko, Christian Pamidov, Chua Chee Wee, Ezra Epstein, Federico Bond, Francisco Giordano, Guanqun Lu, Isaac van Bakel, Jared Wasinger, Kwang Yul Seo, Liana Husikyan, Sami Mäkel Svetlin Nakov, William Morriss, rivenhk, wadeAlexC, walter-weinmann and wbt.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.19.tar.gz and not the zip provided by github directly.\r\n\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/8164896","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/8164896/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/8164896/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.18","id":8164896,"node_id":"MDc6UmVsZWFzZTgxNjQ4OTY=","tag_name":"v0.4.18","target_commitish":"release","name":"Version 0.4.18","draft":false,"prerelease":false,"created_at":"2017-10-18T12:53:45Z","published_at":"2017-10-18T13:39:27Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5101010","id":5101010,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDEwMTA=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4617032,"download_count":43868,"created_at":"2017-10-18T14:05:53Z","updated_at":"2017-10-18T14:05:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5100957","id":5100957,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDA5NTc=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22621481,"download_count":111,"created_at":"2017-10-18T14:01:51Z","updated_at":"2017-10-18T14:01:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5100980","id":5100980,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDA5ODA=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":31467591,"download_count":1188,"created_at":"2017-10-18T14:03:57Z","updated_at":"2017-10-18T14:03:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5100863","id":5100863,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDA4NjM=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5854024,"download_count":1716,"created_at":"2017-10-18T13:52:21Z","updated_at":"2017-10-18T13:52:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5100981","id":5100981,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDA5ODE=","name":"solidity_0.4.18.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1005571,"download_count":3167,"created_at":"2017-10-18T14:04:00Z","updated_at":"2017-10-18T14:04:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solidity_0.4.18.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5101081","id":5101081,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDEwODE=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7139666,"download_count":125,"created_at":"2017-10-18T14:15:03Z","updated_at":"2017-10-18T14:15:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.18","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.18","body":"This release adds further backwards-incompatible security measures enabled via ``pragma experimental \"v0.5.0\";`` and contains another important feature: You can now select to compile only certain contracts using the ``outputSelection`` field of the [standard-json-io](https://solidity.readthedocs.io/en/develop/using-the-compiler.html#input-description) compiler interface, which should speed up tools like truffle tremendously.\r\n\r\nThere are also two important bug fixes: One was an oversight in the way `bytes` variables are allocated in memory and can reduce the memory requirements 32-fold. The second is a security fix: In extremely specific circumstances, it can happen that a regular function is called instead of the fallback function for an Ether transfer without data. These circumstances are: The function has to have a zero signature (one out of 4294967296), it has to be payable, the contract cannot have more than five (external) functions and it cannot have a fallback function.\r\n\r\n**Features:**\r\n * Code Generator: Always use all available gas for calls as experimental 0.5.0 feature\r\n (previously, some amount was retained in order to work in pre-Tangerine-Whistle\r\n EVM versions)\r\n * Parser: Better error message for unexpected trailing comma in parameter lists.\r\n * Standard JSON: Support the ``outputSelection`` field for selective compilation of supplied sources.\r\n * Syntax Checker: Unary ``+`` is now a syntax error as experimental 0.5.0 feature.\r\n * Type Checker: Disallow non-pure constant state variables as experimental 0.5.0 feature.\r\n * Type Checker: Do not add members of ``address`` to contracts as experimental 0.5.0 feature.\r\n * Type Checker: Force interface functions to be external as experimental 0.5.0 feature.\r\n * Type Checker: Require ``storage`` or ``memory`` keyword for local variables as experimental 0.5.0 feature.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Allocate one byte per memory byte array element instead of 32.\r\n * Code Generator: Do not accept data with less than four bytes (truncated function\r\n signature) for regular function calls - fallback function is invoked instead.\r\n * Optimizer: Remove unused stack computation results.\r\n * Parser: Fix source location of VariableDeclarationStatement.\r\n * Type Checker: Allow ``gas`` in view functions.\r\n * Type Checker: Do not mark event parameters as shadowing state variables.\r\n * Type Checker: Prevent duplicate event declarations.\r\n * Type Checker: Properly check array length and don't rely on an assertion in code generation.\r\n * Type Checker: Properly support overwriting members inherited from ``address`` in a contract\r\n (such as ``balance``, ``transfer``, etc.)\r\n * Type Checker: Validate each number literal in tuple expressions even if they are not assigned from.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nbenjaminion, bernard peh, Boris Kostenko, Dave Hoover, David Au, Federico Bond, Gianfranco Cecconi, Giovanni Casinelli, Ilya Drabenia, Martín Triay, Rhett Aultman, Sergiusz Bazanski, wadeAlexC, Walter Weinmann and Zetherz.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.18.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/7841316","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/7841316/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/7841316/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.17","id":7841316,"node_id":"MDc6UmVsZWFzZTc4NDEzMTY=","tag_name":"v0.4.17","target_commitish":"release","name":"Version 0.4.17","draft":false,"prerelease":false,"created_at":"2017-09-21T14:56:16Z","published_at":"2017-09-21T15:40:43Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879518","id":4879518,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1MTg=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4600648,"download_count":70650,"created_at":"2017-09-21T15:53:25Z","updated_at":"2017-09-21T15:53:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879521","id":4879521,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1MjE=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22475961,"download_count":63,"created_at":"2017-09-21T15:53:35Z","updated_at":"2017-09-21T15:53:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879589","id":4879589,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1ODk=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":31298999,"download_count":591,"created_at":"2017-09-21T16:02:24Z","updated_at":"2017-09-21T16:02:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879520","id":4879520,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1MjA=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5776094,"download_count":1800,"created_at":"2017-09-21T15:53:30Z","updated_at":"2017-09-21T15:53:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879590","id":4879590,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1OTA=","name":"solidity_0.4.17.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":991833,"download_count":1702,"created_at":"2017-09-21T16:02:26Z","updated_at":"2017-09-21T16:02:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solidity_0.4.17.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879637","id":4879637,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk2Mzc=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7107187,"download_count":96,"created_at":"2017-09-21T16:08:21Z","updated_at":"2017-09-21T16:08:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.17","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.17","body":"As we are getting closer to the next breaking release, we want to give everyone a heads up by introducing `pragma experimental \"v0.5.0\"` which already enables some of the new safety features of the 0.5.0 release.\r\n\r\nFurthermore, this release finally checks the modifiers ``view`` (used to be named ``constant``) and ``pure`` on functions. As a rule of thumb, use ``view`` if your function does not modify storage and ``pure`` if it does not even read any state information - but the compiler will also suggest the tightest restriction itself.\r\n\r\nWe also worked further on the new ABI encoder: Functions can now return structs. Switch it on using `pragma experimental ABIEncoderV2`. It should already work, but still generates more expensive code.\r\n\r\nFinally, many new warnings were introduced and error messages improved.\r\n\r\n**Features:**\r\n * Assembly Parser: Support multiple assignment (``x, y := f()``).\r\n * Code Generator: Keep a single copy of encoding functions when using the experimental \"ABIEncoderV2\".\r\n * Code Generator: Partial support for passing ``structs`` as arguments and return parameters (requires ``pragma experimental ABIEncoderV2;`` for now).\r\n * General: Support ``pragma experimental \"v0.5.0\";`` to activate upcoming breaking changes.\r\n * General: Added ``.selector`` member on external function types to retrieve their signature.\r\n * Optimizer: Add new optimization step to remove unused ``JUMPDEST``s.\r\n * Static Analyzer: Warn when using deprecated builtins ``sha3`` and ``suicide``\r\n (replaced by ``keccak256`` and ``selfdestruct``, introduced in 0.4.2 and 0.2.0, respectively).\r\n * Syntax Checker: Warn if no visibility is specified on contract functions.\r\n * Type Checker: Display helpful warning for unused function arguments/return parameters.\r\n * Type Checker: Do not show the same error multiple times for events.\r\n * Type Checker: Greatly reduce the number of duplicate errors shown for duplicate constructors and functions.\r\n * Type Checker: Warn on using literals as tight packing parameters in ``keccak256``, ``sha3``, ``sha256`` and ``ripemd160``.\r\n * Type Checker: Enforce ``view`` and ``pure``.\r\n * Type Checker: Enforce ``view`` / ``constant`` with error as experimental 0.5.0 feature.\r\n * Type Checker: Enforce fallback functions to be ``external`` as experimental 0.5.0 feature.\r\n\r\n**Bugfixes:**\r\n * ABI JSON: Include all overloaded events.\r\n * Parser: Crash fix related to parseTypeName.\r\n * Type Checker: Allow constant byte arrays.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAli92hm, Aaron Colaço, Lefteris Karapetsas, Matthieu Caneill, Robert Edström and Suman\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.17.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/7512285","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/7512285/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/7512285/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.16","id":7512285,"node_id":"MDc6UmVsZWFzZTc1MTIyODU=","tag_name":"v0.4.16","target_commitish":"release","name":"Version 0.4.16","draft":false,"prerelease":false,"created_at":"2017-08-24T18:50:37Z","published_at":"2017-08-24T20:31:12Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664268","id":4664268,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQyNjg=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4490056,"download_count":57628,"created_at":"2017-08-24T21:35:45Z","updated_at":"2017-08-24T21:35:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664265","id":4664265,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQyNjU=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":42036902,"download_count":61,"created_at":"2017-08-24T21:34:36Z","updated_at":"2017-08-24T21:34:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664244","id":4664244,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQyNDQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":53262649,"download_count":1973,"created_at":"2017-08-24T21:31:27Z","updated_at":"2017-08-24T21:31:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4663907","id":4663907,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjM5MDc=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5637441,"download_count":1248,"created_at":"2017-08-24T20:43:25Z","updated_at":"2017-08-24T20:43:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664264","id":4664264,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQyNjQ=","name":"solidity_0.4.16.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1003449,"download_count":1429,"created_at":"2017-08-24T21:34:35Z","updated_at":"2017-08-24T21:34:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solidity_0.4.16.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664336","id":4664336,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQzMzY=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":6990024,"download_count":60,"created_at":"2017-08-24T21:46:17Z","updated_at":"2017-08-24T21:46:18Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.16","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.16","body":"This release introduces several new features, some of which have to be\r\nexplicitly activated using `pragma experimental \u003cfeature name\u003e;`.\r\n\r\nWe split the ``constant`` keyword for functions into ``pure`` (neither reads from nor writes to the state)\r\nand ``view`` (does not modify the state). They are not enforced yet, but will most likely make use\r\nof the the new STATIC_CALL feature after Metropolis.\r\n\r\nFurthermore, the ABI encoder was re-implemented in a much cleaner way using our new intermediate language. It can encode arbitrarily nested arrays and will also be able to encode structs starting from the next release. Please try it out using `pragma experimental ABIEncoderV2;` and check if you have any issues with the encoder. It currently generates larger code than the old encoder, but we hope to fix that soon.\r\n\r\nFinally, solc now include experimental support for automated overflow and assertion checking at compile-time using the SMT solver Z3. It is active if you use `pragma experimental SMTChecker;` and if solc was compiled with Z3 support. The latter is currently only the case for the PPA builds (or if you build from source and have libz3-dev in your system), but we also have a solution in the pipeline that will make it work for solc-js (and thus remix).\r\n\r\n**Features:**\r\n * ABI JSON: Include new field ``stateMutability`` with values ``pure``, ``view``, ``nonpayable`` and ``payable``.\r\n * Analyzer: Experimental partial support for Z3 SMT checker (\"SMTChecker\").\r\n * Build System: Shared libraries (``libdevcore``, ``libevmasm``, ``libsolidity`` and ``liblll``) are no longer produced during the build process.\r\n * Code generator: Experimental new implementation of ABI encoder that can encode arbitrarily nested arrays (\"ABIEncoderV2\")\r\n * Metadata: Store experimental flag in metadata CBOR.\r\n * Parser: Display previous visibility specifier in error if multiple are found.\r\n * Parser: Introduce ``pure`` and ``view`` keyword for functions, ``constant`` remains an alias for ``view`` and pureness is not enforced yet, so use with care.\r\n * Static Analyzer: Warn about large storage structures.\r\n * Syntax Checker: Support ``pragma experimental \u003cfeature\u003e;`` to turn on experimental features.\r\n * Type Checker: More detailed error message for invalid overrides.\r\n * Type Checker: Warn about shifting a literal.\r\n\r\n**Bugfixes:**\r\n * Assembly Parser: Be more strict about number literals.\r\n * Assembly Parser: Limit maximum recursion depth.\r\n * Parser: Enforce commas between array and tuple elements.\r\n * Parser: Limit maximum recursion depth.\r\n * Type Checker: Crash fix related to ``using``.\r\n * Type Checker: Disallow constructors in libraries.\r\n * Type Checker: Reject the creation of interface contracts using the ``new`` statement.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nChim Kan, Federico Bond, feliam, gubatron, Isaac Ibiapina, James Ray, Joshua Hannan, Lea Arias, Nick Savers, Stu West, Vladislav Ankudinov and Zhen Zhang\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.16.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/7321721","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/7321721/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/7321721/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.15","id":7321721,"node_id":"MDc6UmVsZWFzZTczMjE3MjE=","tag_name":"v0.4.15","target_commitish":"develop","name":"Version 0.4.15","draft":false,"prerelease":false,"created_at":"2017-08-08T14:41:39Z","published_at":"2017-08-08T17:02:57Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530439","id":4530439,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA0Mzk=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4025448,"download_count":28150,"created_at":"2017-08-08T17:19:19Z","updated_at":"2017-08-08T17:19:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530458","id":4530458,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA0NTg=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":17511263,"download_count":46,"created_at":"2017-08-08T17:21:51Z","updated_at":"2017-08-08T17:21:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530514","id":4530514,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA1MTQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22802235,"download_count":106,"created_at":"2017-08-08T17:29:35Z","updated_at":"2017-08-08T17:29:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4545890","id":4545890,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1NDU4OTA=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":5216034,"download_count":948,"created_at":"2017-08-10T13:08:01Z","updated_at":"2017-08-10T13:08:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530515","id":4530515,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA1MTU=","name":"solidity_0.4.15.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":990321,"download_count":942,"created_at":"2017-08-08T17:29:37Z","updated_at":"2017-08-08T17:29:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solidity_0.4.15.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530516","id":4530516,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA1MTY=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":6153281,"download_count":80,"created_at":"2017-08-08T17:29:48Z","updated_at":"2017-08-08T17:29:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.15","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.15","body":"This is mainly a bugfix release that corrects a problem with the return value of the low-level ``delegatecall`` function and removes some invalid warning messages.\r\n\r\nFeatures:\r\n * Type Checker: Show unimplemented function if trying to instantiate an abstract class.\r\n\r\nBugfixes:\r\n * Code Generator: ``.delegatecall()`` should always return execution outcome.\r\n * Code Generator: Provide \"new account gas\" for low-level ``callcode`` and ``delegatecall``.\r\n * Type Checker: Constructors must be implemented if declared.\r\n * Type Checker: Disallow the ``.gas()`` modifier on ``ecrecover``, ``sha256`` and ``ripemd160``.\r\n * Type Checker: Do not mark overloaded functions as shadowing other functions.\r\n * Type Checker: Internal library functions must be implemented if declared.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nLeo Arias, Adrián Calvo and SaadSurya\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.15.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/7229404","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/7229404/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/7229404/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.14","id":7229404,"node_id":"MDc6UmVsZWFzZTcyMjk0MDQ=","tag_name":"v0.4.14","target_commitish":"release","name":"Version 0.4.14","draft":false,"prerelease":false,"created_at":"2017-07-31T14:14:46Z","published_at":"2017-07-31T14:55:14Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467189","id":4467189,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcxODk=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4025448,"download_count":26688,"created_at":"2017-07-31T15:04:47Z","updated_at":"2017-07-31T15:04:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467215","id":4467215,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyMTU=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":17502155,"download_count":37,"created_at":"2017-07-31T15:08:07Z","updated_at":"2017-07-31T15:08:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467288","id":4467288,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyODg=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22792283,"download_count":46,"created_at":"2017-07-31T15:14:05Z","updated_at":"2017-07-31T15:14:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467202","id":4467202,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyMDI=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5200070,"download_count":798,"created_at":"2017-07-31T15:06:27Z","updated_at":"2017-07-31T15:06:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467289","id":4467289,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyODk=","name":"solidity_0.4.14.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":988813,"download_count":439,"created_at":"2017-07-31T15:14:08Z","updated_at":"2017-07-31T15:14:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solidity_0.4.14.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467260","id":4467260,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyNjA=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":6148709,"download_count":47,"created_at":"2017-07-31T15:11:13Z","updated_at":"2017-07-31T15:11:14Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.14","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.14","body":"This release contains several new features and bugfixes and also an important security fix: The ``ecrecover`` function can be forced to return invalid data, which can be used to bypass authentication in very special circumstances.\r\n\r\nFeatures:\r\n * C API (``jsonCompiler``): Export the ``license`` method.\r\n * Code Generator: Optimise the fallback function, by removing a useless jump.\r\n * Inline Assembly: Show useful error message if trying to access calldata variables.\r\n * Inline Assembly: Support variable declaration without initial value (defaults to 0).\r\n * Metadata: Only include files which were used to compile the given contract.\r\n * Type Checker: Disallow value transfers to contracts without a payable fallback function.\r\n * Type Checker: Include types in explicit conversion error message.\r\n * Type Checker: Raise proper error for arrays too large for ABI encoding.\r\n * Type checker: Warn if using ``this`` in a constructor.\r\n * Type checker: Warn when existing symbols, including builtins, are overwritten.\r\n\r\nBugfixes:\r\n * Code Generator: Properly clear return memory area for ecrecover.\r\n * Type Checker: Fix crash for some assignment to non-lvalue.\r\n * Type Checker: Fix invalid \"specify storage keyword\" warning for reference members of structs.\r\n * Type Checker: Mark modifiers as internal.\r\n * Type Checker: Re-allow multiple mentions of the same modifier per function.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAntonio Tenerio-Fornés, benjaminion, Federico Bond, Harry Wright, hh3755, James Ray, Juaj Bednar, Luke Schoen, Loa Arias, maurelian, Nathan Hernandez, NIC619, Rhett Aultman, Skiral Inc and VoR0220.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.14.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/6949532","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/6949532/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/6949532/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.13","id":6949532,"node_id":"MDc6UmVsZWFzZTY5NDk1MzI=","tag_name":"v0.4.13","target_commitish":"release","name":"Version 0.4.13","draft":false,"prerelease":false,"created_at":"2017-07-06T10:45:11Z","published_at":"2017-07-06T11:13:25Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265624","id":4265624,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2MjQ=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4074600,"download_count":34679,"created_at":"2017-07-06T11:22:41Z","updated_at":"2017-07-06T11:22:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265630","id":4265630,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2MzA=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":17747243,"download_count":36,"created_at":"2017-07-06T11:23:41Z","updated_at":"2017-07-06T11:23:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265694","id":4265694,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2OTQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22898457,"download_count":76,"created_at":"2017-07-06T11:30:01Z","updated_at":"2017-07-06T11:30:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265627","id":4265627,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2Mjc=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5044599,"download_count":1085,"created_at":"2017-07-06T11:23:23Z","updated_at":"2017-07-06T11:23:24Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265696","id":4265696,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2OTY=","name":"solidity_0.4.13.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":849840,"download_count":580,"created_at":"2017-07-06T11:30:04Z","updated_at":"2017-07-06T11:30:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solidity_0.4.13.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265706","id":4265706,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU3MDY=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":10228910,"download_count":46,"created_at":"2017-07-06T11:30:59Z","updated_at":"2017-07-06T11:31:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.13","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.13","body":"This is a small bugfix release that fixes several trivial but very annoying bugs that were introduced with 0.4.12. We also deprecate some old features in preparation of the breaking release 0.5.0.\r\n\r\nFeatures:\r\n * Syntax Checker: Deprecated ``throw`` in favour of ``require()``, ``assert()`` and ``revert()``.\r\n * Type Checker: Warn if a local storage reference variable does not explicitly use the keyword ``storage``.\r\n\r\nBugfixes:\r\n * Code Generator: Correctly unregister modifier variables.\r\n * Compiler Interface: Only output AST if analysis was successful.\r\n * Error Output: Do not omit the error type.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nLeo Arias and Patrick Walters.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.13.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/6911249","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/6911249/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/6911249/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.12","id":6911249,"node_id":"MDc6UmVsZWFzZTY5MTEyNDk=","tag_name":"v0.4.12","target_commitish":"release","name":"Version 0.4.12","draft":false,"prerelease":false,"created_at":"2017-07-03T16:45:11Z","published_at":"2017-07-03T16:47:17Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242901","id":4242901,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5MDE=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4070504,"download_count":23189,"created_at":"2017-07-03T16:59:27Z","updated_at":"2017-07-03T16:59:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242870","id":4242870,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI4NzA=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":17747116,"download_count":23,"created_at":"2017-07-03T16:57:22Z","updated_at":"2017-07-03T16:57:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242918","id":4242918,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5MTg=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22900332,"download_count":122,"created_at":"2017-07-03T17:03:15Z","updated_at":"2017-07-03T17:03:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242931","id":4242931,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5MzE=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5039967,"download_count":776,"created_at":"2017-07-03T17:04:44Z","updated_at":"2017-07-03T17:04:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242919","id":4242919,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5MTk=","name":"solidity_0.4.12.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":847964,"download_count":91,"created_at":"2017-07-03T17:03:17Z","updated_at":"2017-07-03T17:03:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solidity_0.4.12.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242978","id":4242978,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5Nzg=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":10227763,"download_count":43,"created_at":"2017-07-03T17:11:10Z","updated_at":"2017-07-03T17:11:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.12","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.12","body":"This release introduces the AST export, solidifies inline assembly, introduces some more warnings and fixes several bugs.\r\n\r\nManual jumps in assembly are deprecated in favour of the structured constructs `switch`, `for` and function calls also to provide better portability in the future.\r\n\r\nFeatures:\r\n * Assembly: Add ``CREATE2`` (EIP86), ``STATICCALL`` (EIP214), ``RETURNDATASIZE`` and ``RETURNDATACOPY`` (EIP211) instructions.\r\n * Assembly: Display auxiliary data in the assembly output.\r\n * Assembly: Renamed ``SHA3`` to ``KECCAK256``.\r\n * AST: export all attributes to JSON format.\r\n * C API (``jsonCompiler``): Use the Standard JSON I/O internally.\r\n * Code Generator: Added the Whiskers template system.\r\n * Inline Assembly: ``for`` and ``switch`` statements.\r\n * Inline Assembly: Function definitions and function calls.\r\n * Inline Assembly: Introduce ``keccak256`` as an opcode. ``sha3`` is still a valid alias.\r\n * Inline Assembly: Present proper error message when not supplying enough arguments to a functional\r\n instruction.\r\n * Inline Assembly: Warn when instructions shadow Solidity variables.\r\n * Inline Assembly: Warn when using ``jump``s.\r\n * Remove obsolete Why3 output.\r\n * Type Checker: Enforce strict UTF-8 validation.\r\n * Type Checker: Warn about copies in storage that might overwrite unexpectedly.\r\n * Type Checker: Warn about type inference from literal numbers.\r\n * Static Analyzer: Warn about deprecation of ``callcode``.\r\n\r\nBugfixes:\r\n * Assembly: mark ``MLOAD`` to have side effects in the optimiser.\r\n * Code Generator: Fix ABI encoding of empty literal string.\r\n * Code Generator: Fix negative stack size checks.\r\n * Code generator: Use ``REVERT`` instead of ``INVALID`` for generated input validation routines.\r\n * Inline Assembly: Enforce function arguments when parsing functional instructions.\r\n * Optimizer: Disallow optimizations involving ``MLOAD`` because it changes ``MSIZE``.\r\n * Static Analyzer: Unused variable warnings no longer issued for variables used inside inline assembly.\r\n * Type Checker: Fix address literals not being treated as compile-time constants.\r\n * Type Checker: Fixed crash concerning non-callable types.\r\n * Type Checker: Fixed segfault with constant function parameters\r\n * Type Checker: Disallow comparisons between mapping and non-internal function types.\r\n * Type Checker: Disallow invoking the same modifier multiple times.\r\n * Type Checker: Do not treat strings that look like addresses as addresses.\r\n * Type Checker: Support valid, but incorrectly rejected UTF-8 sequences.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAlexey Alexeyeff, Andre Miras, Ben Che, benjaminion, Dillon Arevalo, Edward Ruchevits, Erik Quenon Steggall, ethers, Federico Bond, gregg dourgarian, James Ray, Jonathan Brown, Julius Faber, Lefteris Karapetsas, Marius Kjærstad, Micah Zoltu, Paul Stadig, RJ Catalano, Rhett Aultman, Ron Gross, seusher and Travis Jacobs.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.12.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/6263295","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/6263295/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/6263295/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.11","id":6263295,"node_id":"MDc6UmVsZWFzZTYyNjMyOTU=","tag_name":"v0.4.11","target_commitish":"release","name":"Version 0.4.11","draft":false,"prerelease":false,"created_at":"2017-05-03T12:36:32Z","published_at":"2017-05-03T12:59:37Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3804614","id":3804614,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MDQ2MTQ=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3558000,"download_count":52741,"created_at":"2017-05-04T22:39:43Z","updated_at":"2017-05-04T22:39:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.11/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3798956","id":3798956,"node_id":"MDEyOlJlbGVhc2VBc3NldDM3OTg5NTY=","name":"solidity-windows.zip","label":"","uploader":{"login":"gumb0","id":1863135,"node_id":"MDQ6VXNlcjE4NjMxMzU=","avatar_url":"https://avatars.githubusercontent.com/u/1863135?v=4","url":"https://api.github.com/users/gumb0","html_url":"https://github.com/gumb0","followers_url":"https://api.github.com/users/gumb0/followers","following_url":"https://api.github.com/users/gumb0/following{/other_user}","gists_url":"https://api.github.com/users/gumb0/gists{/gist_id}","starred_url":"https://api.github.com/users/gumb0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gumb0/subscriptions","organizations_url":"https://api.github.com/users/gumb0/orgs","repos_url":"https://api.github.com/users/gumb0/repos","events_url":"https://api.github.com/users/gumb0/events{/privacy}","received_events_url":"https://api.github.com/users/gumb0/received_events","type":"User","site_admin":false},"content_type":"application/x-zip-compressed","state":"uploaded","size":4636258,"download_count":1372,"created_at":"2017-05-04T09:55:00Z","updated_at":"2017-05-04T09:55:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.11/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3807479","id":3807479,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MDc0Nzk=","name":"solidity_0.4.11.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":807202,"download_count":2139,"created_at":"2017-05-05T09:13:51Z","updated_at":"2017-05-05T09:13:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.11/solidity_0.4.11.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26562682","id":26562682,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NTYyNjgy","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8445009,"download_count":20,"created_at":"2020-10-05T13:31:05Z","updated_at":"2020-10-05T13:31:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.11/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.11","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.11","body":"This release fixes a bug in the optimizer (more about this on the [blog](https://blog.ethereum.org/2017/05/03/solidity-optimizer-bug/)), introduces the standard JSON interface, adds ``interface`` contracts and implements some additional safety checks.\r\n\r\nThe standard [JSON interface](https://solidity.readthedocs.io/en/develop/using-the-compiler.html#compiler-input-and-output-json-description) provides a unified way to invoke the Solidity compiler in order to ease cross-platform adoption and compilation verification.\r\n\r\n**Features:**\r\n * Implement the Standard JSON Input / Output API\r\n * Support ``interface`` contracts.\r\n * C API (``jsonCompiler``): Add the ``compileStandard()`` method to process a Standard JSON I/O.\r\n * Commandline interface: Add the ``--standard-json`` parameter to process a Standard JSON I/O.\r\n * Commandline interface: Support ``--allow-paths`` to define trusted import paths. Note: the\r\n path(s) of the supplied source file(s) is always trusted.\r\n * Inline Assembly: Storage variable access using ``_slot`` and ``_offset`` suffixes.\r\n * Inline Assembly: Disallow blocks with unbalanced stack.\r\n * Static analyzer: Warn about statements without effects.\r\n * Static analyzer: Warn about unused local variables, parameters, and return parameters.\r\n * Syntax checker: issue deprecation warning for unary '+'\r\n\r\n**Bugfixes:**\r\n * Assembly output: Implement missing AssemblyItem types.\r\n * Compiler interface: Fix a bug where source indexes could be inconsistent between Solidity compiled\r\n with different compilers (clang vs. gcc) or compiler settings. The bug was visible in AST\r\n and source mappings.\r\n * Gas Estimator: Reflect the most recent fee schedule.\r\n * Type system: Contract inheriting from base with unimplemented constructor should be abstract.\r\n * Optimizer: Number representation bug in the constant optimizer fixed.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAbraham Sangha, AdrianClv, Andy Milenius, Chandan Kumar, Federico Bond, FedericoCapello, JohnAllen, Matt Searle, Matt Wisniewski, Morgan, Omkara and Rhett Aultman\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.11.tar.gz and not the zip provided by github directly.\r\n\r\n**Update**: the original release on 3rd of May contained the wrong version numbers (it included the pre-release tag). This has been rectified today, the 4th of May, and all the linked binaries have been updated.\r\n\r\nThe files should have the following SHA-256 hashes:\r\n- `solc-static-linux`: `0a8d138ee245039e6f8312edc024ba3c4739cc3c013b47dc7fc9196a2e327fea`\r\n- `solidity-windows.zip`: `4387ef9733643ed387e5975d2241e423bd8d79c54db90d07a70c62c8c3e1be77`\r\n- `solidity_0.4.11.tar.gz`: `5a96a3ba4d0d6457ad8101d6219152610e46b384bfbd48244e3474573f7a6d47`\r\n- `soljson.js`: `49fa27e6e70e08ddc7ba3790325e07c07902d9e855362d03fb908757ac14b4e5`","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/5755876","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/5755876/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/5755876/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.10","id":5755876,"node_id":"MDc6UmVsZWFzZTU3NTU4NzY=","tag_name":"v0.4.10","target_commitish":"release","name":"Version 0.4.10","draft":false,"prerelease":false,"created_at":"2017-03-15T17:07:52Z","published_at":"2017-03-15T17:22:12Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3427534","id":3427534,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0Mjc1MzQ=","name":"solc","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3406416,"download_count":8925,"created_at":"2017-03-17T12:11:18Z","updated_at":"2017-03-17T12:12:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solc"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3409589","id":3409589,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0MDk1ODk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":16238201,"download_count":65,"created_at":"2017-03-15T17:33:52Z","updated_at":"2017-03-15T17:33:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3409675","id":3409675,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0MDk2NzU=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":20686068,"download_count":133,"created_at":"2017-03-15T17:41:04Z","updated_at":"2017-03-15T17:41:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3409602","id":3409602,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0MDk2MDI=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4489411,"download_count":628,"created_at":"2017-03-15T17:35:35Z","updated_at":"2017-03-15T17:35:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3409676","id":3409676,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0MDk2NzY=","name":"solidity_0.4.10.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":787840,"download_count":1342,"created_at":"2017-03-15T17:41:07Z","updated_at":"2017-03-15T17:41:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solidity_0.4.10.tar.gz"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.10","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.10","body":"This release is focused on stability and also introduces some new smart contract safety features: ``require``, ``assert`` and ``transfer``. Note that the new ``revert`` function will only be gas-efficient starting from homestead.\r\n\r\n**Features:**\r\n * Add ``assert(condition)``, which throws if condition is false (meant for internal errors).\r\n * Add ``require(condition)``, which throws if condition is false (meant for invalid input).\r\n * Commandline interface: Do not overwrite files unless forced.\r\n * Introduce ``.transfer(value)`` for sending Ether.\r\n * Code generator: Support ``revert()`` to abort with rolling back, but not consuming all gas.\r\n * Inline assembly: Support ``revert`` (EIP140) as an opcode.\r\n * Parser: Support scientific notation in numbers (e.g. ``2e8`` and ``200e-2``).\r\n * Type system: Support explicit conversion of external function to address.\r\n * Type system: Warn if base of exponentiation is literal (result type might be unexpected).\r\n * Type system: Warn if constant state variables are not compile-time constants.\r\n\r\n**Bugfixes:**\r\n * Commandline interface: Always escape filenames (replace ``/``, ``:`` and ``.`` with ``_``).\r\n * Commandline interface: Do not try creating paths ``.`` and ``..``.\r\n * Commandline interface: Allow long library names.\r\n * Parser: Disallow octal literals.\r\n * Type system: Fix a crash caused by continuing on fatal errors in the code.\r\n * Type system: Disallow compound assignment for tuples.\r\n * Type system: Detect cyclic dependencies between constants.\r\n * Type system: Disallow arrays with negative length.\r\n * Type system: Fix a crash related to invalid binary operators.\r\n * Type system: Disallow ``var`` declaration with empty tuple type.\r\n * Type system: Correctly convert function argument types to pointers for member functions.\r\n * Type system: Move privateness of constructor into AST itself.\r\n * Inline assembly: Charge one stack slot for non-value types during analysis.\r\n * Assembly output: Print source location before the operation it refers to instead of after.\r\n * Optimizer: Stop trying to optimize tricky constants after a while.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.10.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/5318178","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/5318178/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/5318178/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.9","id":5318178,"node_id":"MDc6UmVsZWFzZTUzMTgxNzg=","tag_name":"v0.4.9","target_commitish":"release","name":"Version 0.4.9","draft":false,"prerelease":false,"created_at":"2017-01-31T17:29:51Z","published_at":"2017-01-31T18:33:43Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3097979","id":3097979,"node_id":"MDEyOlJlbGVhc2VBc3NldDMwOTc5Nzk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":15636544,"download_count":95,"created_at":"2017-01-31T19:51:53Z","updated_at":"2017-01-31T19:51:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.9/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3097932","id":3097932,"node_id":"MDEyOlJlbGVhc2VBc3NldDMwOTc5MzI=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":19854388,"download_count":2849,"created_at":"2017-01-31T19:41:54Z","updated_at":"2017-01-31T19:41:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.9/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3097684","id":3097684,"node_id":"MDEyOlJlbGVhc2VBc3NldDMwOTc2ODQ=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4355315,"download_count":543,"created_at":"2017-01-31T18:55:03Z","updated_at":"2017-01-31T18:55:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.9/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3097980","id":3097980,"node_id":"MDEyOlJlbGVhc2VBc3NldDMwOTc5ODA=","name":"solidity_0.4.9.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":776642,"download_count":837,"created_at":"2017-01-31T19:51:55Z","updated_at":"2017-01-31T19:51:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.9/solidity_0.4.9.tar.gz"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.9","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.9","body":"This release fixes quite some bugs and also adds several new features.\n\nThings to look out for:\n- To disambiguate contracts and libraries of the same name in different files, everything is now prefixed by \"filename:\". This applies to the compiler output, the linker input and other things.\n- Internal exceptions are now thrown by using an invalid opcode (0xfe), manual exceptions still use an invalid jump.\n\nFeatures:\n- Compiler interface: Contracts and libraries can be referenced with a `file:` prefix to make them unique.\n- Compiler interface: Report source location for \"stack too deep\" errors.\n- AST: Use deterministic node identifiers.\n- Inline assembly: introduce `invalid` (EIP141) as an opcode.\n- Type system: Introduce type identifier strings.\n- Type checker: Warn about invalid checksum for addresses and deduce type from valid ones.\n- Metadata: Do not include platform in the version number.\n- Metadata: Add option to store sources as literal content.\n- Code generator: Extract array utils into low-level functions.\n- Code generator: Internal errors (array out of bounds, etc.) now cause a reversion by using an invalid\n instruction (0xfe - EIP141) instead of an invalid jump. Invalid jump is still kept for explicit throws.\n\nBugfixes:\n- Code generator: Allow recursive structs.\n- Inline assembly: Disallow variables named like opcodes.\n- Type checker: Allow multiple events of the same name (but with different arities or argument types)\n- Natspec parser: Fix error with `@param` parsing and whitespace.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/5151856","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/5151856/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/5151856/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.8","id":5151856,"node_id":"MDc6UmVsZWFzZTUxNTE4NTY=","tag_name":"v0.4.8","target_commitish":"release","name":"Version 0.4.8","draft":false,"prerelease":false,"created_at":"2017-01-13T12:05:02Z","published_at":"2017-01-13T12:40:58Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982179","id":2982179,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIxNzk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":15392731,"download_count":72,"created_at":"2017-01-13T12:48:52Z","updated_at":"2017-01-13T12:48:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982195","id":2982195,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIxOTU=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":19587044,"download_count":6160,"created_at":"2017-01-13T12:54:33Z","updated_at":"2017-01-13T12:54:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982259","id":2982259,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIyNTk=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4258077,"download_count":303,"created_at":"2017-01-13T13:07:01Z","updated_at":"2017-01-13T13:07:02Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982196","id":2982196,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIxOTY=","name":"solidity_0.4.8.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":766866,"download_count":2404,"created_at":"2017-01-13T12:54:34Z","updated_at":"2017-01-13T12:54:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/solidity_0.4.8.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982193","id":2982193,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIxOTM=","name":"soljson-v0.4.8.commit.60cc1668.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7968279,"download_count":41,"created_at":"2017-01-13T12:53:37Z","updated_at":"2017-01-13T12:54:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/soljson-v0.4.8.commit.60cc1668.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.8","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.8","body":"Features:\n- Optimiser: Performance improvements.\n- Output: Print assembly in new standardized Solidity assembly format.\n\nBugfixes:\n- Remappings: Prefer longer context over longer prefix.\n- Type checker, code generator: enable access to events of base contracts' names.\n- Imports: `import \".dir/a\"` is not a relative path. Relative paths begin with directory `.` or `..`.\n- Type checker: disallow inheritances of different kinds (e.g. a function and a modifier) of members of the same name\n\nIf you want to perform a source build, please only use solidity_0.4.8.tar.gz and not the zip provided by github directly.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4929368","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4929368/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4929368/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.7","id":4929368,"node_id":"MDc6UmVsZWFzZTQ5MjkzNjg=","tag_name":"v0.4.7","target_commitish":"release","name":"Version 0.4.7","draft":false,"prerelease":false,"created_at":"2016-12-15T11:16:56Z","published_at":"2016-12-15T13:00:34Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2923742","id":2923742,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5MjM3NDI=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":14558977,"download_count":37,"created_at":"2017-01-04T09:23:06Z","updated_at":"2017-01-04T09:23:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.7/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2923756","id":2923756,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5MjM3NTY=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":19044676,"download_count":2464,"created_at":"2017-01-04T09:29:40Z","updated_at":"2017-01-04T09:29:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.7/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2831306","id":2831306,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4MzEzMDY=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4202294,"download_count":264,"created_at":"2016-12-15T13:21:08Z","updated_at":"2016-12-15T13:21:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.7/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2831245","id":2831245,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4MzEyNDU=","name":"soljson-v0.4.7.commit.822622cf.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7654780,"download_count":42,"created_at":"2016-12-15T13:07:56Z","updated_at":"2016-12-15T13:08:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.7/soljson-v0.4.7.commit.822622cf.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.7","body":"Features:\n- Bitshift operators.\n- Type checker: Warn when `msg.value` is used in non-payable function.\n- Code generator: Inject the Swarm hash of a metadata file into the bytecode.\n- Code generator: Replace expensive memcpy precompile by simple assembly loop.\n- Optimizer: Some dead code elimination.\n\nBugfixes:\n- Code generator: throw if calling the identity precompile failed during memory (array) copying.\n- Type checker: string literals that are not valid UTF-8 cannot be converted to string type\n- Code generator: any non-zero value given as a boolean argument is now converted into 1.\n- AST Json Converter: replace `VariableDefinitionStatement` nodes with `VariableDeclarationStatement`\n- AST Json Converter: fix the camel case in `ElementaryTypeNameExpression`\n- AST Json Converter: replace `public` field with `visibility` in the function definition nodes\n\nSwarm hash of javascript binary: bzzr://de00cf8d235867a00d831e0055b376420789977d276c02e6ff0d1d5b00f5d84d\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4730247","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4730247/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4730247/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.6","id":4730247,"node_id":"MDc6UmVsZWFzZTQ3MzAyNDc=","tag_name":"v0.4.6","target_commitish":"release","name":"Version 0.4.6","draft":false,"prerelease":false,"created_at":"2016-11-22T14:34:17Z","published_at":"2016-11-22T14:35:16Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2696637","id":2696637,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2OTY2Mzc=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":14399983,"download_count":56,"created_at":"2016-11-22T14:41:43Z","updated_at":"2016-11-22T14:41:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.6/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2696664","id":2696664,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2OTY2NjQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":18805319,"download_count":4295,"created_at":"2016-11-22T14:48:02Z","updated_at":"2016-11-22T14:48:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.6/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2696690","id":2696690,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2OTY2OTA=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3850284,"download_count":259,"created_at":"2016-11-22T14:55:31Z","updated_at":"2016-11-22T14:55:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.6/solidity-windows.zip"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.6","body":"Bugfixes:\n- Optimizer: Knowledge about state was not correctly cleared for JUMPDESTs\n\nSwarm hash of js compiler: bzzr:/b873fa122233c91b1531527c390f6ca49df4d2a2c5f75706f4b612a0c813cb6a\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4715730","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4715730/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4715730/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.5","id":4715730,"node_id":"MDc6UmVsZWFzZTQ3MTU3MzA=","tag_name":"v0.4.5","target_commitish":"release","name":"Version 0.4.5","draft":false,"prerelease":false,"created_at":"2016-11-21T10:42:38Z","published_at":"2016-11-21T11:26:06Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2688831","id":2688831,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2ODg4MzE=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3850077,"download_count":188,"created_at":"2016-11-21T11:45:38Z","updated_at":"2016-11-21T11:45:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.5/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2688747","id":2688747,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2ODg3NDc=","name":"soljson-v0.4.5.commit.b318366e.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7581505,"download_count":31,"created_at":"2016-11-21T11:25:06Z","updated_at":"2016-11-21T11:26:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.5/soljson-v0.4.5.commit.b318366e.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.5","body":"This Solidity release adds [function types](https://solidity.readthedocs.io/en/develop/types.html#function-types). Use-cases include supplying callbacks for asynchronous or off-chain operations or generic library features (for example map-reduce-style programming). This release also improves the safety of enums and sending Ether to a contract constructor.\n\nFeatures:\n- Function types\n- Do-while loops: support for a `do \u003cblock\u003e while (\u003cexpr\u003e);` control structure\n- Inline assembly: support `invalidJumpLabel` as a jump label.\n- Type checker: now more eagerly searches for a common type of an inline array with mixed types\n- Code generator: generates a runtime error when an out-of-range value is converted into an enum type.\n\nBugfixes:\n- Inline assembly: calculate stack height warning correctly even when local variables are used.\n- Code generator: check for value transfer in non-payable constructors.\n- Parser: disallow empty enum definitions.\n- Type checker: disallow conversion between different enum types.\n- Interface JSON: do not include trailing new line.\n\nSwarm hash of js compiler: bzzr://de94c41f727124a5b02bd1db087e6bcba19a682c5d89bf3cdaa650e9fdd08403\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4534700","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4534700/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4534700/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.4","id":4534700,"node_id":"MDc6UmVsZWFzZTQ1MzQ3MDA=","tag_name":"v0.4.4","target_commitish":"release","name":"Version 0.4.4","draft":false,"prerelease":false,"created_at":"2016-10-31T18:21:04Z","published_at":"2016-11-01T08:53:28Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.4","body":"This is a bugfix release that fixes a storage corruption that appears when multiple variables are stored in the same slot ([details](https://blog.ethereum.org/2016/11/01/security-alert-solidity-variables-can-overwritten-storage/)).\n\nBugfixes:\n- Type checker: forbid signed exponential that led to an incorrect use of EXP opcode.\n- Code generator: properly clean higher order bytes before storing in storage.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4478216","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4478216/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4478216/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.3","id":4478216,"node_id":"MDc6UmVsZWFzZTQ0NzgyMTY=","tag_name":"v0.4.3","target_commitish":"release","name":"Version 0.4.3","draft":false,"prerelease":false,"created_at":"2016-10-25T13:32:37Z","published_at":"2016-10-25T13:53:29Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2528797","id":2528797,"node_id":"MDEyOlJlbGVhc2VBc3NldDI1Mjg3OTc=","name":"soljson-v0.4.3.commit.2353da71.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7744013,"download_count":48,"created_at":"2016-10-25T14:01:08Z","updated_at":"2016-10-25T14:01:18Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.3/soljson-v0.4.3.commit.2353da71.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.3","body":"This is a real bugfix release as you can see from the changelog below. The most important fix concerns the optimizer which generated invalid code connected to the `SHA3` opcode in certain situations.\n\nFeatures:\n- Inline assembly: support both `suicide` and `selfdestruct` opcodes\n (note: `suicide` is deprecated).\n- Inline assembly: issue warning if stack is not balanced after block.\n- Include `keccak256()` as an alias to `sha3()`.\n- Support shifting constant numbers.\n\nBugfixes:\n- Commandline interface: Disallow unknown options in `solc`.\n- Name resolver: Allow inheritance of `enum` definitions.\n- Type checker: Proper type checking for bound functions.\n- Type checker: fixed crash related to invalid fixed point constants\n- Type checker: fixed crash related to invalid literal numbers.\n- Type checker: `super.x` does not look up `x` in the current contract.\n- Code generator: expect zero stack increase after `super` as an expression.\n- Code generator: fix an internal compiler error for `L.Foo` for `enum Foo` defined in library `L`.\n- Code generator: allow inheritance of `enum` definitions.\n- Inline assembly: support the `address` opcode.\n- Inline assembly: fix parsing of assignment after a label.\n- Inline assembly: external variables of unsupported type (such as `this`, `super`, etc.)\n are properly detected as unusable.\n- Inline assembly: support variables within modifiers.\n- Optimizer: fix related to stale knowledge about SHA3 operations\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4159082","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4159082/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4159082/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.2","id":4159082,"node_id":"MDc6UmVsZWFzZTQxNTkwODI=","tag_name":"v0.4.2","target_commitish":"release","name":"Version 0.4.2","draft":false,"prerelease":false,"created_at":"2016-09-17T13:25:54Z","published_at":"2016-09-17T13:36:22Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2329053","id":2329053,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMjkwNTM=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":18027112,"download_count":3281,"created_at":"2016-09-17T13:39:55Z","updated_at":"2016-09-17T13:39:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.2/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2329045","id":2329045,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMjkwNDU=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3708375,"download_count":423,"created_at":"2016-09-17T13:36:21Z","updated_at":"2016-09-17T13:36:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.2/solidity-windows.zip"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.2","body":"Bugfixes:\n- Code Generator: Fix library functions being called from payable functions.\n- Type Checker: Fixed a crash about invalid array types.\n- Code Generator: Fixed a call gas bug that became visible after\n version 0.4.0 for calls where the output is larger than the input.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4088906","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4088906/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4088906/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.1","id":4088906,"node_id":"MDc6UmVsZWFzZTQwODg5MDY=","tag_name":"v0.4.1","target_commitish":"4fc6fc2ca59579fae2472df319c2d8d31fe5bde5","name":"Version 0.4.1","draft":false,"prerelease":false,"created_at":"2016-09-09T10:23:50Z","published_at":"2016-09-09T10:38:32Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2283626","id":2283626,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyODM2MjY=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":18004515,"download_count":2973,"created_at":"2016-09-09T10:34:22Z","updated_at":"2016-09-09T10:34:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.1/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2283763","id":2283763,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyODM3NjM=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3689890,"download_count":229,"created_at":"2016-09-09T11:05:29Z","updated_at":"2016-09-09T11:05:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.1/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2283919","id":2283919,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyODM5MTk=","name":"soljson-v0.4.1.commit.4fc6fc2c.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7671998,"download_count":36,"created_at":"2016-09-09T11:28:54Z","updated_at":"2016-09-09T11:29:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.1/soljson-v0.4.1.commit.4fc6fc2c.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.1","body":"This is a bugfix release that fixes an error when compiling libraries with the latest version 0.4.0.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4081126","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4081126/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4081126/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.0","id":4081126,"node_id":"MDc6UmVsZWFzZTQwODExMjY=","tag_name":"v0.4.0","target_commitish":"release","name":"Version 0.4.0","draft":false,"prerelease":false,"created_at":"2016-09-08T12:38:10Z","published_at":"2016-09-08T14:22:32Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2278338","id":2278338,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNzgzMzg=","name":"soljson-v0.4.0.commit.acd334c9.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7671532,"download_count":135,"created_at":"2016-09-08T14:22:20Z","updated_at":"2016-09-08T14:22:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.0/soljson-v0.4.0.commit.acd334c9.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.0","body":"**Note:** Version 0.4.0 is unable to compile libraries. Please upgrade to 0.4.1.\n\nThis release deliberately breaks backwards compatibility mostly to enforce some safety features. The most important change is that you have to explicitly specify if functions can receive ether via the `payable` modifier. Furthermore, more situations cause exceptions to be thrown.\n\nMinimal changes to be made for upgrade:\n- Add `payable` to all functions that want to receive Ether (including the constructor and the fallback function).\n- Change `_` to `_;` in modifiers.\n- Add version pragma to each file: `pragma solidity ^0.4.0;`\n\nBreaking Changes:\n- Source files have to specify the compiler version they are compatible with using e.g. `pragma solidity ^0.4.0;` or\n `pragma solidity \u003e=0.4.0 \u003c0.4.8;`\n- Functions that want to receive Ether have to specify the\n new `payable` modifier (otherwise they throw).\n- Contracts that want to receive Ether with a plain \"send\"\n have to implement a fallback function with the `payable`\n modifier. Contracts now throw if no payable fallback\n function is defined and no function matches the signature.\n- Failing contract creation through \"new\" throws.\n- Division / modulus by zero throws.\n- Function call throws if target contract does not have code\n- Modifiers are required to contain `_` (use `if (false) _` as a workaround if needed).\n- Modifiers: return does not skip part in modifier after `_`.\n- Placeholder statement `_` in modifier now requires explicit `;`.\n- `ecrecover` now returns zero if the input is malformed (it previously returned garbage).\n- The `constant` keyword cannot be used for constructors or the fallback function.\n- Removed `--interface` (Solidity interface) output option\n- JSON AST: General cleanup, renamed many nodes to match their C++ names.\n- JSON output: `srcmap-runtime` renamed to `srcmapRuntime`.\n- Moved (and reworked) standard library contracts from inside the compiler to github.com/ethereum/solidity/std\n (`import \"std\";` or `import owned;` do not work anymore).\n- Confusing and undocumented keyword `after` was removed.\n- New reserved words: `abstract`, `hex`, `interface`, `payable`, `pure`, `static`, `view`.\n\nFeatures:\n- Hexadecimal string literals: `hex\"ab1248fe\"`\n- Internal: Inline assembly usable by the code generator.\n- Commandline interface: Using `-` as filename allows reading from stdin.\n- Interface JSON: Fallback function is now part of the ABI.\n- Interface: Version string now _semver_ compatible.\n- Code generator: Do not provide \"new account gas\" if we know the called account exists.\n\nBugfixes:\n- JSON AST: Nodes were added at wrong parent\n- Why3 translator: Crash fix for exponentiation\n- Commandline Interface: linking libraries with underscores in their name.\n- Type Checker: Fallback function cannot return data anymore.\n- Code Generator: Fix crash when `sha3()` was used on unsupported types.\n- Code Generator: Manually set gas stipend for `.send(0)`.\n\nLots of changes to the documentation mainly by voluntary external contributors.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3859219","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3859219/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3859219/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.6","id":3859219,"node_id":"MDc6UmVsZWFzZTM4NTkyMTk=","tag_name":"v0.3.6","target_commitish":"develop","name":"Version 0.3.6","draft":false,"prerelease":false,"created_at":"2016-08-10T19:07:15Z","published_at":"2016-08-10T19:09:12Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.6","body":"This is the first release from the new \"solidity-standalone\" repository. It does not have dependencies to cpp-ethereum anymore and can be built just from the solidity github repository.\n\nNote that the optimizer was disabled in some situations which could lead to larger (but correcter) code.\n\nFeatures:\n- Formal verification: Take external effects on a contract into account.\n- Type Checker: Warning about unused return value of low-level calls and send.\n- Output: Source location and node id as part of AST output\n- Output: Source location mappings for bytecode\n- Output: Formal verification as part of json compiler output.\n\nBugfixes:\n- Commandline Interface: Do not crash if input is taken from stdin.\n- Scanner: Correctly support unicode escape codes in strings.\n- JSON output: Fix error about relative / absolute source file names.\n- JSON output: Fix error about invalid utf8 strings.\n- Code Generator: Dynamic allocation of empty array caused infinite loop.\n- Code Generator: Correctly calculate gas requirements for memcpy precompile.\n- Optimizer: Clear known state if two code paths are joined.\n\nNote regarding the PPA: This version of the solc package conflicts with the cpp-ethereum package (because that still contains solidity). Please uninstall cpp-ethereum before installing solc until we also have a new cpp-ethereum release.\n\nThe source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3419225","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3419225/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3419225/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.5","id":3419225,"node_id":"MDc6UmVsZWFzZTM0MTkyMjU=","tag_name":"v0.3.5","target_commitish":"develop","name":"Version 0.3.5","draft":false,"prerelease":false,"created_at":"2016-06-10T16:00:49Z","published_at":"2016-06-10T16:02:13Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.5","body":"**Features:**\n- Context-dependent path remappings (different modules can use the same library in different versions)\n\n**Bugfixes:**\n- Type Checking: Dynamic return types were removed when fetching data from external calls, now they are replaced by an \"unusable\" type.\n- Type Checking: Overrides by constructors were considered making a function non-abstract.\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3344217","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3344217/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3344217/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.4","id":3344217,"node_id":"MDc6UmVsZWFzZTMzNDQyMTc=","tag_name":"v0.3.4","target_commitish":"develop","name":"Version 0.3.4","draft":false,"prerelease":false,"created_at":"2016-05-31T18:01:48Z","published_at":"2016-05-31T21:23:23Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.4","body":"This release contains no changes outside of the documentation.\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3322684","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3322684/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3322684/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.3","id":3322684,"node_id":"MDc6UmVsZWFzZTMzMjI2ODQ=","tag_name":"v0.3.3","target_commitish":"develop","name":"Version 0.3.3","draft":false,"prerelease":false,"created_at":"2016-05-27T15:38:36Z","published_at":"2016-05-27T17:02:12Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.3","body":"This release mainly makes libraries more flexible in that it allows internal functions to be called.\n\n**Features**\n- Allow internal library functions to be called (by \"inlining\")\n- Fractional/rational constants (only usable with fixed point types, which are still in progress)\n- Inline assembly has access to internal functions (as jump labels)\n- Running `solc` without arguments on a terminal will print help.\n\n**Fixes**\n- Code Generation: Remove some non-determinism in code generation.\n- Code Generation: Corrected usage of not / bnot / iszero in inline assembly\n- Code Generation: Correctly clean bytesNN types before comparison\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3044028","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3044028/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3044028/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.2","id":3044028,"node_id":"MDc6UmVsZWFzZTMwNDQwMjg=","tag_name":"v0.3.2","target_commitish":"develop","name":"Version 0.3.2","draft":false,"prerelease":false,"created_at":"2016-04-18T15:33:11Z","published_at":"2016-04-18T17:34:41Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.2","body":"This is mainly a bugfix release. Under the hood, we are in the process of separating the Solidity source code from the rest of the cpp-ethereum source code so that it can soon be built (and released) in isolation.\n\n**Fixes:**\n- Code generation: Dynamic arrays of structs were not deleted correctly.\n- Code generation: Static arrays in constructor parameter list were not decoded correctly.\n- Parser: Inline assembly parser: `byte` opcode was unusable\n- Error reporting: tokens for variably-sized types were not converted to string properly\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2923412","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2923412/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2923412/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.1","id":2923412,"node_id":"MDc6UmVsZWFzZTI5MjM0MTI=","tag_name":"v0.3.1","target_commitish":"develop","name":"Version 0.3.1","draft":false,"prerelease":false,"created_at":"2016-03-31T16:47:56Z","published_at":"2016-03-31T16:49:39Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.1","body":"This release mainly introduces inline assembly ([documentation](https://solidity.readthedocs.org/en/latest/control-structures.html#inline-assembly)). Inline assembly provides a way to write low-level but still well readable code. Together with the coming features of inline library functions and templates, it allows to move much of the development that had to be done in the compiler itself into libraries written in Solidity. In the future, it will be possible to introduce new versatile types that still look like builtins.\n\n**Features:**\n- inline assembly\n\n**Fixes:**\n- Code generation: array access with narrow types did not clean higher order bits\n- Error reporting: error reporting with unknown source location caused a crash\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2785039","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2785039/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2785039/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.0","id":2785039,"node_id":"MDc6UmVsZWFzZTI3ODUwMzk=","tag_name":"v0.3.0","target_commitish":"develop","name":"Version 0.3.0 (includes breaking changes)","draft":false,"prerelease":false,"created_at":"2016-03-11T16:53:33Z","published_at":"2016-03-11T16:58:49Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.0","body":"This version is synchronized to the Homestead changes on the main Ethereum network and introduces various breaking changes.\n\nBREAKING CHANGES:\n- You should not rely on division for literals resulting in a (truncated) integer. This is still the case but will change once we implement fixed point types, i.e. in the future `1/2 == 0.5` will be true, currently we have `1/2 == 0`. Note that this only applies to literals (`(2 + 7) / 2`) and not variables (`x / 2`).\n- Library calls now default to use DELEGATECALL (e.g. called library functions see the same value as the calling function for `msg.value` and `msg.sender`).\n- Added new keywords `assembly`, `fixed`, `ufixed`, `fixedNxM`, `ufixedNxM` (for various values of M and N), `inline` in preparation for future features.\n\nFeatures:\n- `\u003caddress\u003e.delegatecall` is provided as a low-level calling interface for DELEGATECALL\n\nBugfixes:\n- Fixed a bug in the optimizer that resulted in comparisons being wrong.\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2634344","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2634344/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2634344/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.2.2","id":2634344,"node_id":"MDc6UmVsZWFzZTI2MzQzNDQ=","tag_name":"v0.2.2","target_commitish":"develop","name":"Version 0.2.2","draft":false,"prerelease":false,"created_at":"2016-02-17T16:33:20Z","published_at":"2016-02-17T18:27:35Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.2.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.2.2","body":"Features:\n- Index access for types `bytes1`, ..., `bytes32` (only read access for now).\n\nBugfixes:\n- Type checker crash for wrong number of base constructor parameters.\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2522547","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2522547/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2522547/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.2.1","id":2522547,"node_id":"MDc6UmVsZWFzZTI1MjI1NDc=","tag_name":"v0.2.1","target_commitish":"develop","name":"Version 0.2.1","draft":false,"prerelease":false,"created_at":"2016-01-30T15:40:13Z","published_at":"2016-01-30T15:40:59Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26562658","id":26562658,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NTYyNjU4","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":6893716,"download_count":14,"created_at":"2020-10-05T13:30:33Z","updated_at":"2020-10-05T13:30:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.2.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.2.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.2.1","body":"This release includes three major features and one very important bugfix in the optimizer.\r\n\r\nIn some situations, the optimizer generated incorrect code. Please always test your code before you use it, unfortunately, we can never guarantee 100% correctness.\r\n\r\nWe are especially grateful about the many voluntary community contributions this release received.\r\nTwo fearless individuals dived deep into the solidity code and delivered two major features: Thanks a lot to @VoR0220 for the inline arrays and to @guanqun for the ternary operator!\r\nFurthermore, @bobsummerwill spent a lot of free time handling build issues on MacOS and other platforms.\r\nOther contributions came from @axic, @chfast, @ethers, @janx, @pipermerriam and @u2.\r\n\r\nFeatures:\r\n- **Inline arrays**, i.e. `var y = [1,x,f()];` if there is a common type for `1`, `x` and `f()`. Note that the result is always a fixed-length memory array and conversion to dynamic-length memory arrays is not yet possible.\r\n- **Import** similar to ECMAScript6 import (`import \"abc.sol\" as d` and `import {x, y} from \"abc.sol\"`). [Documentation](https://solidity.readthedocs.org/en/latest/layout-of-source-files.html#importing-other-source-files) \r\n- Commandline compiler solc automatically resolves missing imports and allows for \"include directories\". [Documentation](https://solidity.readthedocs.org/en/latest/layout-of-source-files.html#use-in-actual-compilers)\r\n- **Conditional** / ternary operator: `x ? y : z`\r\n\r\nFixed bugs:\r\n- Several bugs where the optimizer generated invalid code.\r\n- Enums and structs were not accessible to other contracts.\r\n- Fixed segfault connected to function paramater types, appeared during gas estimation.\r\n- Type checker crash for wrong number of base constructor parameters.\r\n- Allow function overloads with different array types.\r\n- Allow assignments of type `(x) = 7`.\r\n- Type `uint176` was not available.\r\n- Fixed crash during type checking concerning constructor calls.\r\n- Fixed crash during code generation concerning invalid accessors for struct types.\r\n- Fixed crash during code generating concerning computing a hash of a struct type.\r\n\r\nnote: The source below cannot be used without the dependent repositories.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2213759","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2213759/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2213759/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.2.0","id":2213759,"node_id":"MDc6UmVsZWFzZTIyMTM3NTk=","tag_name":"v0.2.0","target_commitish":"develop","name":"Version 0.2.0 (breaking change)","draft":false,"prerelease":false,"created_at":"2015-12-01T15:20:49Z","published_at":"2015-12-01T15:21:29Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26562646","id":26562646,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NTYyNjQ2","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":6729443,"download_count":13,"created_at":"2020-10-05T13:30:06Z","updated_at":"2020-10-05T13:30:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.2.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.2.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.2.0","body":"Features:\r\n- Allocation of memory arrays using `new`.\r\n- Binding library functions to types via `using x for y`\r\n- **Breaking Change**: `new ContractName.value(10)()` has to be written as `(new ContractName).value(10)()`\r\n- Added `selfdestruct` as an alias for `suicide`.\r\n\r\nBugfixes:\r\n- Constructor arguments of fixed array type were not read correctly.\r\n- Memory allocation of structs containing arrays or strings.\r\n- Data location for explicit memory parameters in libraries was set to storage.\r\n\r\nThe two main features of this release is the ability to create memory arrays (of dynamic length) and to\r\n[attach library functions to types](https://ethereum.github.io/solidity//docs/using-for/). The latter provides a way to make elegant use of complex data types in the way we are used to from other languages and paves the way to creating an extensive and easy to use standard library. The next step into that direction is the introduction of a clean module system.\r\n\r\n_note_: The source below cannot be used without the dependent repositories.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2139821","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2139821/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2139821/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.7","id":2139821,"node_id":"MDc6UmVsZWFzZTIxMzk4MjE=","tag_name":"v0.1.7","target_commitish":"develop","name":"Version 0.1.7","draft":false,"prerelease":false,"created_at":"2015-11-17T15:09:29Z","published_at":"2015-11-17T15:12:49Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.7","body":"Features:\n- Improved error messages for unexpected tokens.\n- Proof-of-concept transcompilation to why3 for formal verification of contracts.\n\nBugfixes:\n- Writing to elements of `bytes` or `string` overwrite others.\n- Arrays (also strings) as indexed parameters of events.\n- \"Successor block not found\" on Windows.\n- Using string literals in tuples.\n- Cope with invalid commit hash in version for libraries.\n- Some test framework fixes on windows.\n\nNote: The source code download automatically generated by github below is not usable due to the way the repositories are laid out.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1972627","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1972627/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1972627/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.6","id":1972627,"node_id":"MDc6UmVsZWFzZTE5NzI2Mjc=","tag_name":"v0.1.6","target_commitish":"develop","name":"Version 0.1.6","draft":false,"prerelease":false,"created_at":"2015-10-16T15:00:38Z","published_at":"2015-10-16T15:02:04Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.6","body":"Features:\n- `.push()` for dynamic storage arrays.\n- Tuple expressions (`(1,2,3)` or `return (1,2,3);`)\n- Declaration and assignment of multiple variables (`var (x,y,) = (1,2,3,4,5);` or `var (x,y) = f();`)\n- Destructuring assignment (`(x,y,) = (1,2,3)`)\n- Handling of multiple source files in the json compiler.\n\nBugfixes:\n- Internal error about usage of library function with invalid types.\n- Correctly parse `Library.structType a` at statement level.\n- Correctly report source locations of parenthesized expressions (as part of \"tuple\" story).\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1925316","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1925316/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1925316/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.5","id":1925316,"node_id":"MDc6UmVsZWFzZTE5MjUzMTY=","tag_name":"v0.1.5","target_commitish":"develop","name":"Version 0.1.5","draft":false,"prerelease":false,"created_at":"2015-10-07T16:43:52Z","published_at":"2015-10-07T16:45:17Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.5","body":"Changes:\n- Breaking change in storage encoding: Encode short byte arrays and strings together with their length in storage.\n- Report warnings.\n- Allow storage reference types for public library functions.\n- Access to types declared in other contracts and libraries via `.`.\n- Version stamp at beginning of runtime bytecode of libraries.\n- Bugfix: Problem with initialized string state variables and dynamic data in constructor.\n- Bugfix: Resolve dependencies concerning `new` automatically.\n- Bugfix: Allow four indexed arguments for anonymous events.\n- Bugfix: Detect too large integer constants in functions that accept arbitrary parameters.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1890710","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1890710/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1890710/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.4","id":1890710,"node_id":"MDc6UmVsZWFzZTE4OTA3MTA=","tag_name":"v0.1.4","target_commitish":"develop","name":"Version 0.1.4","draft":false,"prerelease":false,"created_at":"2015-09-30T15:03:00Z","published_at":"2015-09-30T15:05:20Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.4","body":"Changes:\n- Bugfix: combined-json output of solc incorrectly returned the runtime binary instead of the binary.\n- Bugfix: Accessing fixed-size array return values.\n- Bugfix: Disallow assignment from literal strings to storage pointers.\n- Refactoring: Move type checking into its own module.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1852674","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1852674/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1852674/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.3","id":1852674,"node_id":"MDc6UmVsZWFzZTE4NTI2NzQ=","tag_name":"v0.1.3","target_commitish":"develop","name":"Version 0.1.3","draft":false,"prerelease":false,"created_at":"2015-09-22T22:34:37Z","published_at":"2015-09-22T23:25:01Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/885878","id":885878,"node_id":"MDEyOlJlbGVhc2VBc3NldDg4NTg3OA==","name":"soljson-0.1.3.js.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/binary","state":"uploaded","size":1332741,"download_count":38,"created_at":"2015-09-22T23:24:49Z","updated_at":"2015-09-22T23:25:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.1.3/soljson-0.1.3.js.gz"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.3","body":"Changes:\n- `throw` statement.\n- Libraries that contain functions which are called via CALLCODE.\n- Linker stage for compiler to insert other contract's addresses (used for libraries).\n- Compiler option to output runtime part of contracts.\n- Compile-time out of bounds check for access to fixed-size arrays by integer constants.\n- Version string includes libevmasm/libethereum's version (contains the optimizer).\n- Bugfix: Accessors for constant public state variables.\n- Bugfix: Propagate exceptions in clone contracts.\n- Bugfix: Empty single-line comments are now treated properly.\n- Bugfix: Properly check the number of indexed arguments for events.\n- Bugfix: Strings in struct constructors.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1704295","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1704295/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1704295/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.2","id":1704295,"node_id":"MDc6UmVsZWFzZTE3MDQyOTU=","tag_name":"v0.1.2","target_commitish":"0906042ce05f01c4d371aa98d0fd9dddfb93a196","name":"Version 0.1.2","draft":false,"prerelease":false,"created_at":"2015-08-20T00:12:37Z","published_at":"2015-08-21T11:03:14Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.2","body":"Changes:\n- Improved commandline interface (breaking change).\n- Explicit conversion between bytes and string.\n- Bugfix: Value transfer used in clone contracts.\n- Bugfix: Problem with strings as mapping keys.\n- Bugfix: Prevent usage of some operators.\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/1704295/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":1,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}}] \ No newline at end of file +[{"url":"https://api.github.com/repos/ethereum/solidity/releases/128497568","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/128497568/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/128497568/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.23","id":128497568,"node_id":"RE_kwDOAm_5kc4HqLeg","tag_name":"v0.8.23","target_commitish":"develop","name":"Version 0.8.23","draft":false,"prerelease":false,"created_at":"2023-11-08T11:32:56Z","published_at":"2023-11-08T12:20:36Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134549428","id":134549428,"node_id":"RA_kwDOAm_5kc4IBQ-0","name":"solc-macos","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39492904,"download_count":363,"created_at":"2023-11-08T13:32:48Z","updated_at":"2023-11-08T13:32:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134549472","id":134549472,"node_id":"RA_kwDOAm_5kc4IBQ_g","name":"solc-static-linux","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14406328,"download_count":674,"created_at":"2023-11-08T13:32:56Z","updated_at":"2023-11-08T13:32:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134549492","id":134549492,"node_id":"RA_kwDOAm_5kc4IBQ_0","name":"solc-windows.exe","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":9014272,"download_count":375,"created_at":"2023-11-08T13:32:59Z","updated_at":"2023-11-08T13:33:02Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134547532","id":134547532,"node_id":"RA_kwDOAm_5kc4IBQhM","name":"solidity_0.8.23.tar.gz","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3315912,"download_count":1024,"created_at":"2023-11-08T13:22:26Z","updated_at":"2023-11-08T13:22:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/solidity_0.8.23.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/134549510","id":134549510,"node_id":"RA_kwDOAm_5kc4IBRAG","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8656105,"download_count":61,"created_at":"2023-11-08T13:33:02Z","updated_at":"2023-11-08T13:33:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.23/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.23","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.23","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.23](https://soliditylang.org/blog/2023/11/08/solidity-0.8.23-release-announcement).\r\n\r\n### Changelog\r\n\r\nImportant Bugfixes:\r\n * Optimizer: Fix block deduplicator bug which led to blocks which are identical apart from the contents of ``verbatim`` instructions to be treated as equivalent and thus collapsed into a single one.\r\n\r\nCompiler Features:\r\n * Commandline Interface: An empty ``--yul-optimizations`` sequence can now be always provided.\r\n * Standard JSON Interface: An empty ``optimizerSteps`` sequence can now always be provided.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nDaniel Kirchner, Kamil Śliwak, Markus Osterlund / robriks, Matheus Aguiar, Nikola Matić, Nuzair","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/128497568/reactions","total_count":27,"+1":0,"-1":0,"laugh":0,"hooray":8,"confused":0,"heart":4,"rocket":8,"eyes":7},"author":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/126568309","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/126568309/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/126568309/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.22","id":126568309,"node_id":"RE_kwDOAm_5kc4Hi0d1","tag_name":"v0.8.22","target_commitish":"develop","name":"Version 0.8.22","draft":false,"prerelease":false,"created_at":"2023-10-25T10:32:32Z","published_at":"2023-10-25T10:40:08Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132271270","id":132271270,"node_id":"RA_kwDOAm_5kc4H4kym","name":"solc-macos","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39476056,"download_count":166,"created_at":"2023-10-25T11:22:19Z","updated_at":"2023-10-25T11:22:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132271288","id":132271288,"node_id":"RA_kwDOAm_5kc4H4ky4","name":"solc-static-linux","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14402232,"download_count":689,"created_at":"2023-10-25T11:22:27Z","updated_at":"2023-10-25T11:22:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132271295","id":132271295,"node_id":"RA_kwDOAm_5kc4H4ky_","name":"solc-windows.exe","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":9010688,"download_count":214,"created_at":"2023-10-25T11:22:31Z","updated_at":"2023-10-25T11:22:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132270560","id":132270560,"node_id":"RA_kwDOAm_5kc4H4kng","name":"solidity_0.8.22.tar.gz","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3311722,"download_count":561,"created_at":"2023-10-25T11:14:57Z","updated_at":"2023-10-25T11:14:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/solidity_0.8.22.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/132271302","id":132271302,"node_id":"RA_kwDOAm_5kc4H4kzG","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8653825,"download_count":29,"created_at":"2023-10-25T11:22:33Z","updated_at":"2023-10-25T11:22:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.22/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.22","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.22","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.22](https://soliditylang.org/blog/2023/10/25/solidity-0.8.22-release-announcement).\r\n\r\n**IMPORTANT NOTE:**\r\nThis release deprecates support for EVM versions older than Constantinople for the reason of ruling out the need to maintain multiple complex code paths or workarounds for ancient EVM versions. In case you rely on the support for such EVM versions, please reach out to us.\r\n\r\nNotable Features:\r\n\r\n* Unchecked loop increments\r\n* Adding support for importing EVM Assembly JSON (experimental)\r\n* Adjusting Yul optimizer to rematerialize zero literals\r\n\r\n### Changelog\r\n\r\nLanguage Features:\r\n\r\n * Allow defining events at file level.\r\n\r\nCompiler Features:\r\n\r\n* Code Generator: Remove redundant overflow checks of certain `for` loops when the counter variable cannot overflow.\r\n* Commandline Interface: Add `--no-import-callback` option that prevents the compiler from loading source files not given explicitly on the CLI or in Standard JSON input.\r\n* Commandline Interface: Add an experimental `--import-asm-json` option that can import EVM assembly in the format used by `--asm-json`.\r\n* Commandline Interface: Use proper severity and coloring also for error messages produced outside of the compilation pipeline.\r\n* EVM: Deprecate support for \"homestead\", \"tangerineWhistle\", \"spuriousDragon\" and \"byzantium\" EVM versions.\r\n* Parser: Remove the experimental error recovery mode (`--error-recovery` / `settings.parserErrorRecovery`).\r\n* SMTChecker: Support user-defined operators.\r\n* Yul Optimizer: If `PUSH0` is supported, favor zero literals over storing zero values in variables.\r\n* Yul Optimizer: Run the `Rematerializer` and `UnusedPruner` steps at the end of the default clean-up sequence.\r\n\r\nBugfixes:\r\n\r\n* Code Generator: Fix output from via-IR code generator being dependent on which files were discovered by import callback. In some cases, a different AST ID assignment would alter the order of functions in internal dispatch, resulting in superficially different but semantically equivalent bytecode.\r\n* NatSpec: Fix internal error when requesting `userdoc` or `devdoc` for a contract that emits an event defined in a foreign contract or interface.\r\n* SMTChecker: Fix encoding error that causes loops to unroll after completion.\r\n* SMTChecker: Fix inconsistency on constant condition checks when `while` or `for` loops are unrolled before the condition check.\r\n* Yul Optimizer: Fix replacement decisions during CSE being affected by Yul variable names generated by the compiler, resulting in different (but equivalent) bytecode in some situations.\r\n \r\n AST Changes:\r\n\r\n * AST: Fix wrong initial ID for Yul nodes in the AST.\r\n \r\nWe especially thank all the contributors that made this release possible:\r\nAlejandro Criado-Pérez, Alexander Arlt, Bhargava Shastry, Daniel, Jun Zhang, Kamil Śliwak, Leo, Martin Blicha, Matheus Aguiar, Nikola Matić, Paul Wackerow, Pawel Gebal, Saw-mon \u0026 Natalie, Zach Obront, franzihei, omahs, pgebal, r0qs, shalaamum","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/126568309/reactions","total_count":49,"+1":4,"-1":0,"laugh":4,"hooray":1,"confused":0,"heart":21,"rocket":13,"eyes":6},"author":{"login":"mehtavishwa30","id":32997409,"node_id":"MDQ6VXNlcjMyOTk3NDA5","avatar_url":"https://avatars.githubusercontent.com/u/32997409?v=4","url":"https://api.github.com/users/mehtavishwa30","html_url":"https://github.com/mehtavishwa30","followers_url":"https://api.github.com/users/mehtavishwa30/followers","following_url":"https://api.github.com/users/mehtavishwa30/following{/other_user}","gists_url":"https://api.github.com/users/mehtavishwa30/gists{/gist_id}","starred_url":"https://api.github.com/users/mehtavishwa30/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mehtavishwa30/subscriptions","organizations_url":"https://api.github.com/users/mehtavishwa30/orgs","repos_url":"https://api.github.com/users/mehtavishwa30/repos","events_url":"https://api.github.com/users/mehtavishwa30/events{/privacy}","received_events_url":"https://api.github.com/users/mehtavishwa30/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/112778674","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/112778674/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/112778674/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.21","id":112778674,"node_id":"RE_kwDOAm_5kc4GuN2y","tag_name":"v0.8.21","target_commitish":"develop","name":"Version 0.8.21","draft":false,"prerelease":false,"created_at":"2023-07-19T08:56:46Z","published_at":"2023-07-19T08:57:55Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655248","id":117655248,"node_id":"RA_kwDOAm_5kc4HA0bQ","name":"solc-macos","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39315872,"download_count":1179,"created_at":"2023-07-19T09:45:42Z","updated_at":"2023-07-19T09:45:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655243","id":117655243,"node_id":"RA_kwDOAm_5kc4HA0bL","name":"solc-static-linux","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14234200,"download_count":5432,"created_at":"2023-07-19T09:45:41Z","updated_at":"2023-07-19T09:45:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655239","id":117655239,"node_id":"RA_kwDOAm_5kc4HA0bH","name":"solc-windows.exe","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8905216,"download_count":1090,"created_at":"2023-07-19T09:45:40Z","updated_at":"2023-07-19T09:45:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655023","id":117655023,"node_id":"RA_kwDOAm_5kc4HA0Xv","name":"solidity_0.8.21.tar.gz","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":4055931,"download_count":2288,"created_at":"2023-07-19T09:44:00Z","updated_at":"2023-07-19T09:44:02Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/solidity_0.8.21.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/117655235","id":117655235,"node_id":"RA_kwDOAm_5kc4HA0bD","name":"soljson.js","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8641019,"download_count":187,"created_at":"2023-07-19T09:45:38Z","updated_at":"2023-07-19T09:45:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.21/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.21","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.21","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.21](https://soliditylang.org/blog/2023/07/19/solidity-0.8.21-release-announcement/). \r\n\r\n### Changelog\r\n\r\nImportant Bugfixes:\r\n * Code Generator: Always generate code for the expression in ``\u003cexpression\u003e.selector`` in the legacy code generation pipeline.\r\n * Yul Optimizer: Fix ``FullInliner`` step (``i``) not preserving the evaluation order of arguments passed into inlined functions in code that is not in expression-split form (i.e. when using a custom optimizer sequence in which the step not preceded by ``ExpressionSplitter`` (``x``)).\r\n\r\n\r\nLanguage Features:\r\n * Allow qualified access to events from other contracts.\r\n * Relax restrictions on initialization of immutable variables. Reads and writes may now happen at any point at construction time outside of functions and modifiers. Explicit initialization is no longer mandatory.\r\n\r\n\r\nCompiler Features:\r\n * Commandline Interface: Add ``--ast-compact-json`` output in assembler mode.\r\n * Commandline Interface: Add ``--ir-ast-json`` and ``--ir-optimized-ast-json`` outputs for Solidity input, providing AST in compact JSON format for IR and optimized IR.\r\n * Commandline Interface: Respect ``--optimize-yul`` and ``--no-optimize-yul`` in compiler mode and accept them in assembler mode as well. ``--optimize --no-optimize-yul`` combination now allows enabling EVM assembly optimizer without enabling Yul optimizer.\r\n * EWasm: Remove EWasm backend.\r\n * Parser: Introduce ``pragma experimental solidity``, which will enable an experimental language mode that, in particular, has no stability guarantees between non-breaking releases and is not suited for production use.\r\n * SMTChecker: Add ``--model-checker-print-query`` CLI option and ``settings.modelChecker.printQuery`` JSON option to output the SMTChecker queries in the SMTLIB2 format. This requires using ``smtlib2`` solver only.\r\n * Standard JSON Interface: Add ``ast`` file-level output for Yul input.\r\n * Standard JSON Interface: Add ``irAst`` and ``irOptimizedAst`` contract-level outputs for Solidity input, providing AST in compact JSON format for IR and optimized IR.\r\n * Yul Optimizer: Remove experimental ``ReasoningBasedSimplifier`` optimization step.\r\n * Yul Optimizer: Stack-to-memory mover is now enabled by default whenever possible for via IR code generation and pure Yul compilation.\r\n\r\n\r\nBugfixes:\r\n * Code Generator: Disallow complex expressions whose results are types, built-ins, modules or some unassignable functions. The legacy code generation pipeline would not actually evaluate them, discarding any side effects they might have.\r\n * Code Generator: Fix not entirely deterministic order of functions in unoptimized Yul output. The choice of C++ compiler in some cases would result in different (but equivalent) bytecode (especially from native binaries vs emscripten binaries).\r\n * Commandline Interface: Fix internal error when using ``--stop-after parsing`` and requesting some of the outputs that require full analysis or compilation.\r\n * Commandline Interface: It is no longer possible to specify both ``--optimize-yul`` and ``--no-optimize-yul`` at the same time.\r\n * SMTChecker: Fix encoding of side-effects inside ``if`` and ``ternary conditional``statements in the BMC engine.\r\n * SMTChecker: Fix false negative when a verification target can be violated only by a trusted external call from another public function.\r\n * SMTChecker: Fix generation of invalid SMT-LIB2 scripts in BMC engine with trusted mode for external calls when CHC engine times out.\r\n * SMTChecker: Fix internal error caused by incorrectly classifying external function call using function pointer as a public getter.\r\n * SMTChecker: Fix internal error caused by using external identifier to encode member access to functions that take an internal function as a parameter.\r\n * Standard JSON Interface: Fix an incomplete AST being returned when analysis is interrupted by certain kinds of fatal errors.\r\n * Type Checker: Disallow using certain unassignable function types in complex expressions.\r\n * Type Checker: Function declaration types referring to different declarations are no longer convertible to each other.\r\n * Yul Optimizer: Ensure that the assignment of memory slots for variables moved to memory does not depend on AST IDs that may depend on whether additional files are included during compilation.\r\n * Yul Optimizer: Fix ``FullInliner`` step not ignoring code that is not in expression-split form.\r\n * Yul Optimizer: Fix optimized IR being unnecessarily passed through the Yul optimizer again before bytecode generation.\r\n\r\n\r\nAST Changes:\r\n * AST: Add the ``experimentalSolidity`` field to the ``SourceUnit`` nodes, which indicates whether the experimental parsing mode has been enabled via ``pragma experimental solidity``.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlejandro Criado-Pérez, Alexander Arlt, Alexandre Ferreira, Bhargava Shastry, Cliff Syner, Daniel Kirchner, David Bar-On, GiokaMarkella, Jun Zhang, Kaan Uzdoğan, Kamil Śliwak, Leo Alt, Martin Blicha, Matheus Aguiar, Nikola Matić, Nuno Santos, Paul Wackerow, Pawel Gebal, johnnygee19, minaminao, r0qs\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/112778674/reactions","total_count":51,"+1":24,"-1":0,"laugh":0,"hooray":10,"confused":0,"heart":2,"rocket":12,"eyes":3},"author":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/102234583","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/102234583/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/102234583/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.20","id":102234583,"node_id":"RE_kwDOAm_5kc4GF_nX","tag_name":"v0.8.20","target_commitish":"develop","name":"Version 0.8.20","draft":false,"prerelease":false,"created_at":"2023-05-10T10:21:29Z","published_at":"2023-05-10T11:21:23Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543410","id":107543410,"node_id":"RA_kwDOAm_5kc4GaPty","name":"solc-macos","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39840512,"download_count":1244,"created_at":"2023-05-10T12:18:12Z","updated_at":"2023-05-10T12:18:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543464","id":107543464,"node_id":"RA_kwDOAm_5kc4GaPuo","name":"solc-static-linux","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14660184,"download_count":29349,"created_at":"2023-05-10T12:18:31Z","updated_at":"2023-05-10T12:18:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543508","id":107543508,"node_id":"RA_kwDOAm_5kc4GaPvU","name":"solc-windows.exe","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9193984,"download_count":2016,"created_at":"2023-05-10T12:18:48Z","updated_at":"2023-05-10T12:18:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543158","id":107543158,"node_id":"RA_kwDOAm_5kc4GaPp2","name":"solidity_0.8.20.tar.gz","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3263637,"download_count":2283,"created_at":"2023-05-10T12:15:50Z","updated_at":"2023-05-10T12:15:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/solidity_0.8.20.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/107543533","id":107543533,"node_id":"RA_kwDOAm_5kc4GaPvt","name":"soljson.js","label":"","uploader":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8802374,"download_count":164,"created_at":"2023-05-10T12:18:55Z","updated_at":"2023-05-10T12:19:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.20/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.20","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.20","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.20](https://soliditylang.org/blog/2023/05/10/solidity-0.8.20-release-announcement/). \r\nThis latest version includes a range of improvements and, most importantly, support for Shanghai!\r\nIt also contains performance improvements in the via-IR pipeline and improves the list of events exposed in the contract ABI.\r\n\r\n**IMPORTANT NOTE:** This compiler switches the **default** target EVM version to Shanghai, which means that the generated bytecode will include ``PUSH0`` opcodes. Be sure to select the appropriate EVM version in case you intend to deploy on a chain other than mainnet like L2 chains that may not yet support ``PUSH0``, otherwise deployment of your contracts will fail.\r\n\r\n### Changelog\r\n\r\n**Compiler Features:**\r\n * Assembler: Use ``push0`` for placing ``0`` on the stack for EVM versions starting from \"Shanghai\". This decreases the deployment and runtime costs.\r\n * EVM: Set default EVM version to \"Shanghai\".\r\n * EVM: Support for the EVM Version \"Shanghai\".\r\n * NatSpec: Add support for NatSpec documentation in ``enum`` definitions.\r\n * NatSpec: Add support for NatSpec documentation in ``struct`` definitions.\r\n * NatSpec: Include NatSpec from events that are emitted by a contract but defined outside of it in userdoc and devdoc output.\r\n * Optimizer: Re-implement simplified version of ``UnusedAssignEliminator`` and ``UnusedStoreEliminator``. It can correctly remove some unused assignments in deeply nested loops that were ignored by the old version.\r\n * Parser: Unary plus is no longer recognized as a unary operator in the AST and triggers an error at the parsing stage (rather than later during the analysis).\r\n * SMTChecker: Group all messages about unsupported language features in a single warning. The CLI option ``--model-checker-show-unsupported`` and the JSON option ``settings.modelChecker.showUnsupported`` can be enabled to show the full list.\r\n * SMTChecker: Properties that are proved safe are now reported explicitly at the end of analysis. By default, only the number of safe properties is shown. The CLI option ``--model-checker-show-proved-safe`` and the JSON option ``settings.modelChecker.showProvedSafe`` can be enabled to show the full list of safe properties.\r\n * Standard JSON Interface: Add experimental support for importing ASTs via Standard JSON.\r\n * Yul EVM Code Transform: If available, use ``push0`` instead of ``codesize`` to produce an arbitrary value on stack in order to create equal stack heights between branches.\r\n\r\n\r\n**Bugfixes:**\r\n * ABI: Include events in the ABI that are emitted by a contract but defined outside of it.\r\n * Immutables: Disallow initialization of immutables in try/catch statements.\r\n * SMTChecker: Fix false positives in ternary operators that contain verification targets in its branches, directly or indirectly.\r\n\r\n\r\n**AST Changes:**\r\n * AST: Add the ``internalFunctionIDs`` field to the AST nodes of contracts containing IDs of functions that may be called via the internal dispatch. The field is a map from function AST IDs to internal dispatch function IDs. These IDs are always generated, but they are only used in via-IR code generation.\r\n * AST: Add the ``usedEvents`` field to ``ContractDefinition`` which contains the AST IDs of all events emitted by the contract as well as all events defined and inherited by the contract.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlexander Arlt, Alex Beregszaszi, Bhargava Shastry, chriseth, Christian Parpart, Daniel Kirchner, Francois-Rene Rideau, hrkrshnn, Kaan Uzdoğan, Kamil Śliwak, Leo Alt, Matheus Aguiar, Michael de Hoog, minaminao, mmqxyz, Nikola Matic, Nuno Santos, Ojas Aklecha, Peter Lemenkov, Rodrigo Q. Saramago, uji, Vaibhaw\r\n\r\nIf you want to perform a source build, please only use [`solidity_0.8.20.tar.gz`](https://github.com/ethereum/solidity/releases/download/v0.8.20/solidity_0.8.20.tar.gz) and not the source archives generated automatically by GitHub.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/102234583/reactions","total_count":122,"+1":56,"-1":0,"laugh":0,"hooray":23,"confused":0,"heart":10,"rocket":33,"eyes":0},"author":{"login":"NunoFilipeSantos","id":2582498,"node_id":"MDQ6VXNlcjI1ODI0OTg=","avatar_url":"https://avatars.githubusercontent.com/u/2582498?v=4","url":"https://api.github.com/users/NunoFilipeSantos","html_url":"https://github.com/NunoFilipeSantos","followers_url":"https://api.github.com/users/NunoFilipeSantos/followers","following_url":"https://api.github.com/users/NunoFilipeSantos/following{/other_user}","gists_url":"https://api.github.com/users/NunoFilipeSantos/gists{/gist_id}","starred_url":"https://api.github.com/users/NunoFilipeSantos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NunoFilipeSantos/subscriptions","organizations_url":"https://api.github.com/users/NunoFilipeSantos/orgs","repos_url":"https://api.github.com/users/NunoFilipeSantos/repos","events_url":"https://api.github.com/users/NunoFilipeSantos/events{/privacy}","received_events_url":"https://api.github.com/users/NunoFilipeSantos/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/93281256","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/93281256/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/93281256/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.19","id":93281256,"node_id":"RE_kwDOAm_5kc4Fj1vo","tag_name":"v0.8.19","target_commitish":"develop","name":"Version 0.8.19","draft":false,"prerelease":false,"created_at":"2023-02-22T13:25:21Z","published_at":"2023-02-22T14:19:40Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96675123","id":96675123,"node_id":"RA_kwDOAm_5kc4FwyUz","name":"solc-macos","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39508984,"download_count":2611,"created_at":"2023-02-22T15:00:06Z","updated_at":"2023-02-22T15:01:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96675229","id":96675229,"node_id":"RA_kwDOAm_5kc4FwyWd","name":"solc-static-linux","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14590552,"download_count":28496,"created_at":"2023-02-22T15:01:06Z","updated_at":"2023-02-22T15:01:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96675251","id":96675251,"node_id":"RA_kwDOAm_5kc4FwyWz","name":"solc-windows.exe","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9150464,"download_count":1438,"created_at":"2023-02-22T15:01:22Z","updated_at":"2023-02-22T15:01:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96672865","id":96672865,"node_id":"RA_kwDOAm_5kc4Fwxxh","name":"solidity_0.8.19.tar.gz","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3239230,"download_count":2576,"created_at":"2023-02-22T14:44:18Z","updated_at":"2023-02-22T14:44:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/solidity_0.8.19.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/96675264","id":96675264,"node_id":"RA_kwDOAm_5kc4FwyXA","name":"soljson.js","label":"","uploader":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8580750,"download_count":172,"created_at":"2023-02-22T15:01:33Z","updated_at":"2023-02-22T15:01:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.19/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.19","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.19","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.19](https://soliditylang.org/blog/2023/02/22/solidity-0.8.19-release-announcement/). \r\nThis latest version includes a range of improvements and, most importantly, [custom operators for user-defined value types](https://blog.soliditylang.org/2023/02/22/user-defined-operators) language feature!\r\nIt also contains a fix for a long-standing bug that can result in code that is only used in creation code to also be included in runtime bytecode.\r\n\r\n### Changelog\r\n**Language Features:**\r\n* Allow defining custom operators for user-defined value types via ``using {f as +} for T global`` syntax.\r\n\r\n\r\n**Compiler Features:**\r\n * SMTChecker: New trusted mode that assumes that any compile-time available code is the actual used code, even in external calls. This can be used via the CLI option ``--model-checker-ext-calls trusted`` or the JSON field ``settings.modelChecker.extCalls: \"trusted\"``.\r\n\r\n\r\n**Bugfixes:**\r\n * Assembler: Avoid duplicating subassembly bytecode where possible.\r\n * Code Generator: Avoid including references to the deployed label of referenced functions if they are called right away.\r\n * ContractLevelChecker: Properly distinguish the case of missing base constructor arguments from having an unimplemented base function.\r\n * SMTChecker: Fix internal error caused by unhandled ``z3`` expressions that come from the solver when bitwise operators are used.\r\n * SMTChecker: Fix internal error when using the custom NatSpec annotation to abstract free functions.\r\n * TypeChecker: Also allow external library functions in ``using for``.\r\n\r\n\r\n**AST Changes:**\r\n * AST: Add ``function`` field to ``UnaryOperation`` and ``BinaryOperation`` AST nodes. ``functionList`` in ``UsingForDirective`` AST nodes will now contain ``operator`` and ``definition`` members instead of ``function`` when the list entry defines an operator.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nBhargava Shastry, Daniel Kirchner, Evan Saulpaugh, Jacob Heider, Kamil Śliwak, Leo Alt, Matheus Aguiar, Michał Janiszewski, Nicolás Acosta, Nikola Matić, Nuno Santos, Pawel Gebal, Peter Lemenkov, Rodrigo Q. Saramago, William Entriken, Zachinquarantine, chriseth, drblessing, minaminao, wechman\r\n\r\nIf you want to perform a source build, please only use [`solidity_0.8.19.tar.gz`](https://github.com/ethereum/solidity/releases/download/v0.8.19/solidity_0.8.19.tar.gz) and not the source archives generated automatically by GitHub.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/93281256/reactions","total_count":38,"+1":0,"-1":0,"laugh":0,"hooray":33,"confused":0,"heart":0,"rocket":4,"eyes":1},"author":{"login":"nikola-matic","id":4415530,"node_id":"MDQ6VXNlcjQ0MTU1MzA=","avatar_url":"https://avatars.githubusercontent.com/u/4415530?v=4","url":"https://api.github.com/users/nikola-matic","html_url":"https://github.com/nikola-matic","followers_url":"https://api.github.com/users/nikola-matic/followers","following_url":"https://api.github.com/users/nikola-matic/following{/other_user}","gists_url":"https://api.github.com/users/nikola-matic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikola-matic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikola-matic/subscriptions","organizations_url":"https://api.github.com/users/nikola-matic/orgs","repos_url":"https://api.github.com/users/nikola-matic/repos","events_url":"https://api.github.com/users/nikola-matic/events{/privacy}","received_events_url":"https://api.github.com/users/nikola-matic/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/89406616","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/89406616/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/89406616/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.18","id":89406616,"node_id":"RE_kwDOAm_5kc4FVDyY","tag_name":"v0.8.18","target_commitish":"develop","name":"Version 0.8.18","draft":false,"prerelease":false,"created_at":"2023-02-01T14:36:41Z","published_at":"2023-02-01T15:12:04Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/93900787","id":93900787,"node_id":"RA_kwDOAm_5kc4FmM_z","name":"solc-macos","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":39402936,"download_count":1056,"created_at":"2023-02-01T15:41:07Z","updated_at":"2023-02-01T15:41:24Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/94069879","id":94069879,"node_id":"RA_kwDOAm_5kc4Fm2R3","name":"solc-static-linux","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14443096,"download_count":11957,"created_at":"2023-02-02T18:45:37Z","updated_at":"2023-02-02T18:45:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/93900835","id":93900835,"node_id":"RA_kwDOAm_5kc4FmNAj","name":"solc-windows.exe","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9070592,"download_count":650,"created_at":"2023-02-01T15:41:31Z","updated_at":"2023-02-01T15:41:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/93900844","id":93900844,"node_id":"RA_kwDOAm_5kc4FmNAs","name":"solidity_0.8.18.tar.gz","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3182864,"download_count":862,"created_at":"2023-02-01T15:41:36Z","updated_at":"2023-02-01T15:41:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/solidity_0.8.18.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/93900850","id":93900850,"node_id":"RA_kwDOAm_5kc4FmNAy","name":"soljson.js","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8536222,"download_count":71,"created_at":"2023-02-01T15:41:38Z","updated_at":"2023-02-01T15:41:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.18/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.18","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.18","body":"Introducing the newest version of the Solidity Compiler!\r\nWe are excited to announce the latest release of the Solidity Compiler, [Solidity v0.8.18](https://soliditylang.org/blog/2023/02/01/solidity-0.8.18-release-announcement). \r\nThis latest version includes a range of improvements and it also introduces support for the [Paris upgrade](https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement)!\r\n\r\n\r\n### Changelog\r\n**Language Features:**\r\n * Allow named parameters in mapping types.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Add ``--no-cbor-metadata`` that skips CBOR metadata from getting appended at the end of the bytecode.\r\n * Commandline Interface: Return exit code ``2`` on uncaught exceptions.\r\n * EVM: Deprecate ``block.difficulty`` and disallow ``difficulty()`` in inline assembly for EVM versions \u003e= paris. The change is due to the renaming introduced by [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399).\r\n * EVM: Introduce ``block.prevrandao`` in Solidity and ``prevrandao()`` in inline assembly for EVM versions \u003e= paris.\r\n * EVM: Set the default EVM version to \"Paris\".\r\n * EVM: Support for the EVM version \"Paris\".\r\n * Language Server: Add basic document hover support.\r\n * Natspec: Add event Natspec inheritance for devdoc.\r\n * Optimizer: Added optimization rule ``and(shl(X, Y), shl(X, Z)) =\u003e shl(X, and(Y, Z))``.\r\n * Parser: More detailed error messages about invalid version pragmas.\r\n * SMTChecker: Make ``z3`` the default solver for the BMC and CHC engines instead of all solvers.\r\n * SMTChecker: Support Eldarica as a Horn solver for the CHC engine when using the CLI option ``--model-checker-solvers eld``. The binary ``eld`` must be available in the system.\r\n * Solidity Upgrade Tool: Remove ``solidity-upgrade`` tool.\r\n * Standard JSON: Add a boolean field ``settings.metadata.appendCBOR`` that skips CBOR metadata from getting appended at the end of the bytecode.\r\n * TypeChecker: Warn when using deprecated builtin ``selfdestruct``.\r\n * Yul EVM Code Transform: Generate more optimal code for user-defined functions that always terminate a transaction. No return labels will be pushed for calls to functions that always terminate.\r\n * Yul Optimizer: Allow replacing the previously hard-coded cleanup sequence by specifying custom steps after a colon delimiter (``:``) in the sequence string.\r\n * Yul Optimizer: Eliminate ``keccak256`` calls if the value was already calculated by a previous call and can be reused.\r\n\r\n\r\n**Bugfixes:**\r\n * Parser: Disallow several ``indexed`` attributes for the same event parameter.\r\n * Parser: Disallow usage of the ``indexed`` attribute for modifier parameters.\r\n * SMTChecker: Fix display error for negative integers that are one more than powers of two.\r\n * SMTChecker: Fix internal error on chain assignments using static fully specified state variables.\r\n * SMTChecker: Fix internal error on multiple wrong SMTChecker natspec entries.\r\n * SMTChecker: Fix internal error when a public library function is called internally.\r\n * SMTChecker: Fix internal error when deleting struct member of function type.\r\n * SMTChecker: Fix internal error when using user-defined types as mapping indices or struct members.\r\n * SMTChecker: Improved readability for large integers that are powers of two or almost powers of two in error messages.\r\n * TypeChecker: Fix bug where private library functions could be attached with ``using for`` outside of their declaration scope.\r\n * Yul Optimizer: Hash hex and decimal literals according to their value instead of their representation, improving the detection of equivalent functions.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlexander Arlt, Alex Beregszaszi, andy53, Anton Paymyshev, Bhargava Shastry, Big-Aaron, Bojidar00, Bulgantamir Gankhuyag, chriseth, Christian Parpart, ChrisXXXXXXX, Damian Wechman, Daniel Kirchner, Doggo, Duc Thanh Nguyen, Franco Victorio, Franziska Heintel, George Plotnikov, hrkrshnn, Ikko Ashimine, Ishtiaque Zahid, John Kane, Kaan Uzdoğan, Kamil Śliwak, Leo Alt, ligi, Lokesh Kumar, Matheus Aguiar, Mathias L. Baumann, Mike Leach, Miles Liu, Minebuu, Mio, Nathaniel Jensen, Nikola Matić, Nishant Sachdeva, Nuno Santos, omahs, Paweł Bylica, Phill, Pierre Grimaud, Prusakova Katya, Rafal Stozek, Rajkumar gaur, Rhythm Bansal, Riley, Rodrigo Q. Saramago, Sabnock, Saw-mon-and-Natalie, Sebastian Supreme, Soham Zemse, Vinay, vlad, William Entriken, Yusuf Benli\r\n\r\nIf you want to perform a source build, please only use [`solidity_0.8.18.tar.gz`](https://github.com/ethereum/solidity/releases/download/v0.8.18/solidity_0.8.18.tar.gz) and not the source archives generated automatically by GitHub.\r\n\r\n**UPDATE 2023-02-02**: The Linux binary originally included here has been rebuilt and replaced due to incompatibility with older Ubuntu releases (Bionic, Focal and earlier). We have recently migrated our CI builds to Ubuntu 22.04, which includes a backwards-incompatible glibc version. Since the Linux binary is not completely static (it dynamically loads Z3 and consequently glibc), it would not run with older glibc when built against newer one. You can find [more details in the release blog post](https://blog.soliditylang.org/2023/02/01/solidity-0.8.18-release-announcement/#update-2023-02-02-rebuilt-linux-binary-for-solidity-0818) and issue #13921.\r\n\r\nTo be clear: both binaries will produce identical outputs under all circumstances, including the commit hash in the metadata. Only the hash of the compiler binary itself will change due to the replacement, but the new binary will always produce byte-identical output.\r\n\r\nThe SHA-256 hash of the old binary was `a1c0f33eb4482c26f56719ecf62b0ee05d7d7a4f8264ffbddf9ebcd9095c32bd`. The new one is\r\n`95e6ed4949a63ad89afb443ecba1fb8302dd2860ee5e9baace3e674a0f48aa77`.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/89406616/reactions","total_count":71,"+1":32,"-1":0,"laugh":6,"hooray":2,"confused":0,"heart":5,"rocket":18,"eyes":8},"author":{"login":"NunoFilipeSantos","id":2582498,"node_id":"MDQ6VXNlcjI1ODI0OTg=","avatar_url":"https://avatars.githubusercontent.com/u/2582498?v=4","url":"https://api.github.com/users/NunoFilipeSantos","html_url":"https://github.com/NunoFilipeSantos","followers_url":"https://api.github.com/users/NunoFilipeSantos/followers","following_url":"https://api.github.com/users/NunoFilipeSantos/following{/other_user}","gists_url":"https://api.github.com/users/NunoFilipeSantos/gists{/gist_id}","starred_url":"https://api.github.com/users/NunoFilipeSantos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NunoFilipeSantos/subscriptions","organizations_url":"https://api.github.com/users/NunoFilipeSantos/orgs","repos_url":"https://api.github.com/users/NunoFilipeSantos/repos","events_url":"https://api.github.com/users/NunoFilipeSantos/events{/privacy}","received_events_url":"https://api.github.com/users/NunoFilipeSantos/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/76592536","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/76592536/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/76592536/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.17","id":76592536,"node_id":"RE_kwDOAm_5kc4EkLWY","tag_name":"v0.8.17","target_commitish":"develop","name":"Version 0.8.17","draft":false,"prerelease":false,"created_at":"2022-09-08T14:35:41Z","published_at":"2022-09-08T15:25:26Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263444","id":77263444,"node_id":"RA_kwDOAm_5kc4EmvJU","name":"solc-macos","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38901080,"download_count":3114,"created_at":"2022-09-08T16:23:47Z","updated_at":"2022-09-08T16:24:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263471","id":77263471,"node_id":"RA_kwDOAm_5kc4EmvJv","name":"solc-static-linux","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14328408,"download_count":31912,"created_at":"2022-09-08T16:24:03Z","updated_at":"2022-09-08T16:24:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263487","id":77263487,"node_id":"RA_kwDOAm_5kc4EmvJ_","name":"solc-windows.exe","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8952320,"download_count":2416,"created_at":"2022-09-08T16:24:10Z","updated_at":"2022-09-08T16:24:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263277","id":77263277,"node_id":"RA_kwDOAm_5kc4EmvGt","name":"solidity_0.8.17.tar.gz","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3119267,"download_count":3696,"created_at":"2022-09-08T16:22:05Z","updated_at":"2022-09-08T16:22:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/solidity_0.8.17.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/77263495","id":77263495,"node_id":"RA_kwDOAm_5kc4EmvKH","name":"soljson.js","label":"","uploader":{"login":"r0qs","id":457348,"node_id":"MDQ6VXNlcjQ1NzM0OA==","avatar_url":"https://avatars.githubusercontent.com/u/457348?v=4","url":"https://api.github.com/users/r0qs","html_url":"https://github.com/r0qs","followers_url":"https://api.github.com/users/r0qs/followers","following_url":"https://api.github.com/users/r0qs/following{/other_user}","gists_url":"https://api.github.com/users/r0qs/gists{/gist_id}","starred_url":"https://api.github.com/users/r0qs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0qs/subscriptions","organizations_url":"https://api.github.com/users/r0qs/orgs","repos_url":"https://api.github.com/users/r0qs/repos","events_url":"https://api.github.com/users/r0qs/events{/privacy}","received_events_url":"https://api.github.com/users/r0qs/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8468401,"download_count":609,"created_at":"2022-09-08T16:24:15Z","updated_at":"2022-09-08T16:24:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.17/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.17","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.17","body":"This release primarily fixes an [important bug](https://blog.soliditylang.org/2022/09/08/storage-write-removal-before-conditional-termination/), but also involves some improvements in code generation, optimizer and in the language server.\r\n\r\nFor details, please see [the release announcement](https://blog.soliditylang.org/2022/09/08/solidity-0.8.17-release-announcement/).\r\n\r\n\r\n\r\n**Important Bugfixes:**\r\n * Yul Optimizer: Prevent the incorrect removal of storage writes before calls to Yul functions that conditionally terminate the external EVM call.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: More efficient overflow checks for multiplication.\r\n * Language Server: Analyze all files in a project by default (can be customized by setting ``'file-load-strategy'`` to ``'directly-opened-and-on-import'`` in LSP settings object).\r\n * Yul Optimizer: Simplify the starting offset of zero-length operations to zero.\r\n\r\n\r\n**Bugfixes:**\r\n * Type Checker: Fix internal compiler error on tuple assignments with invalid left-hand side.\r\n * Yul IR Code Generation: Fix internal compiler error when accessing the ``.slot`` member of a mapping through a storage reference in inline assembly.\r\n\r\n\r\n**Build System:**\r\n * Allow disabling pedantic warnings and do not treat warnings as errors during compiler build when ``-DPEDANTIC=OFF`` flag is passed to CMake.\r\n * Update emscripten to version 3.1.19.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\n\r\nAlexander Arlt, Bhargava Shastry, Christian Parpart, Damian Wechman, Daniel Kirchner, Duc Thanh Nguyen, Emmanuel Oaikhenan, Francisco Giordano, Kamil Śliwak, krakxn, Leonardo Alt, Leonid Pospelov, Luke Hutchison, Luoh Ren-Shan, Matheus Aguiar, Mathias L. Baumann, MeetRajput00, Nikola Matić, NoFaceDev, Pranay, Roman Figurin, Taylor Ferran, Thanh Tran, Yuvraj Singh, aathan, emmaodia, khue, kuzdogan, minaminao, Nishant Sachdeva, tcoyvwac, xternet\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use `solidity_0.8.17.tar.gz` and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/76592536/reactions","total_count":46,"+1":26,"-1":0,"laugh":0,"hooray":4,"confused":0,"heart":0,"rocket":12,"eyes":4},"author":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/73885486","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/73885486/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/73885486/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.16","id":73885486,"node_id":"RE_kwDOAm_5kc4EZ2cu","tag_name":"v0.8.16","target_commitish":"develop","name":"Version 0.8.16","draft":false,"prerelease":false,"created_at":"2022-08-08T12:59:34Z","published_at":"2022-08-08T13:44:26Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74059683","id":74059683,"node_id":"RA_kwDOAm_5kc4Eag-j","name":"solc-macos","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38658480,"download_count":1383,"created_at":"2022-08-08T14:13:37Z","updated_at":"2022-08-08T14:13:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74059673","id":74059673,"node_id":"RA_kwDOAm_5kc4Eag-Z","name":"solc-static-linux","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14316088,"download_count":13600,"created_at":"2022-08-08T14:13:25Z","updated_at":"2022-08-08T14:13:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74059650","id":74059650,"node_id":"RA_kwDOAm_5kc4Eag-C","name":"solc-windows.exe","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8921600,"download_count":791,"created_at":"2022-08-08T14:13:19Z","updated_at":"2022-08-08T14:13:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74057908","id":74057908,"node_id":"RA_kwDOAm_5kc4Eagi0","name":"solidity_0.8.16.tar.gz","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3261000,"download_count":465,"created_at":"2022-08-08T13:50:16Z","updated_at":"2022-08-08T13:50:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/solidity_0.8.16.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/74059705","id":74059705,"node_id":"RA_kwDOAm_5kc4Eag-5","name":"soljson.js","label":"","uploader":{"login":"Marenz","id":424752,"node_id":"MDQ6VXNlcjQyNDc1Mg==","avatar_url":"https://avatars.githubusercontent.com/u/424752?v=4","url":"https://api.github.com/users/Marenz","html_url":"https://github.com/Marenz","followers_url":"https://api.github.com/users/Marenz/followers","following_url":"https://api.github.com/users/Marenz/following{/other_user}","gists_url":"https://api.github.com/users/Marenz/gists{/gist_id}","starred_url":"https://api.github.com/users/Marenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marenz/subscriptions","organizations_url":"https://api.github.com/users/Marenz/orgs","repos_url":"https://api.github.com/users/Marenz/repos","events_url":"https://api.github.com/users/Marenz/events{/privacy}","received_events_url":"https://api.github.com/users/Marenz/received_events","type":"User","site_admin":false},"content_type":"text/javascript","state":"uploaded","size":8497322,"download_count":173,"created_at":"2022-08-08T14:13:56Z","updated_at":"2022-08-08T14:14:02Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.16/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.16","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.16","body":"This release fixes one important bug and contains further minor bug fixes and features.\r\n\r\nFor details, please see [the release announcement](https://blog.soliditylang.org/2022/08/08/solidity-0.8.16-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Code Generation: Fix data corruption that affected ABI-encoding of calldata values represented by tuples: structs at any nesting level; argument lists of external functions, events and errors; return value lists of external functions. The 32 leading bytes of the first dynamically-encoded value in the tuple would get zeroed when the last component contained a statically-encoded array.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: More efficient code for checked addition and subtraction.\r\n * TypeChecker: Support using library constants in initializers of other constants.\r\n * Yul IR Code Generation: Improved copy routines for arrays with packed storage layout.\r\n * Yul Optimizer: Add rule to convert ``mod(add(X, Y), A)`` into ``addmod(X, Y, A)``, if ``A`` is a power of two.\r\n * Yul Optimizer: Add rule to convert ``mod(mul(X, Y), A)`` into ``mulmod(X, Y, A)``, if ``A`` is a power of two.\r\n\r\n\r\n**Bugfixes:**\r\n * Commandline Interface: Disallow the following options outside of the compiler mode: ``--via-ir``,``--metadata-literal``, ``--metadata-hash``, ``--model-checker-show-unproved``, ``--model-checker-div-mod-no-slacks``, ``--model-checker-engine``, ``--model-checker-invariants``, ``--model-checker-solvers``, ``--model-checker-timeout``, ``--model-checker-contracts``, ``--model-checker-targets``.\r\n * Type Checker: Fix compiler crash on tuple assignments involving certain patterns with unary tuples on the left-hand side.\r\n * Type Checker: Fix compiler crash when ``abi.encodeCall`` received a tuple expression instead of an inline tuple.\r\n * Type Checker: Fix null dereference in ``abi.encodeCall`` type checking of free function.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Aiman Baharna, Alex Beregszaszi, Bhargava Shastry, Christian Parpart, Christian Reitwiessner, CJ42, Damian Wechman, Daniel Kirchner, Daniel Lupu, Derek Gottfrid, Duc Thanh Nguyen, Femi Bolaji, Harikrishnan Mulackal, Ishtiaque Zahid, Kamil Śliwak, krakxn, Matheus Aguiar, Mathias L. Baumann, Maximiliano Schultheis, Midhun07, minami, Nikola Matić, Nishant Sachdeva, Quentin Garchery, Richie, Rodrigo Baraglia, Rohit Kumar Suman, Ryan, vdusart, victorknox, William Entriken, ywon0925\r\n\r\n\r\nIf you want to perform a source build, please only use `solidity_0.8.16.tar.gz` and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/73885486/reactions","total_count":37,"+1":18,"-1":0,"laugh":3,"hooray":13,"confused":0,"heart":0,"rocket":1,"eyes":2},"author":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/69524613","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/69524613/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/69524613/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.15","id":69524613,"node_id":"RE_kwDOAm_5kc4EJNyF","tag_name":"v0.8.15","target_commitish":"develop","name":"Version 0.8.15","draft":false,"prerelease":false,"created_at":"2022-06-15T13:56:19Z","published_at":"2022-06-15T14:54:01Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68574539","id":68574539,"node_id":"RA_kwDOAm_5kc4EFl1L","name":"solc-macos","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38488928,"download_count":1748,"created_at":"2022-06-15T15:34:31Z","updated_at":"2022-06-15T15:34:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68574558","id":68574558,"node_id":"RA_kwDOAm_5kc4EFl1e","name":"solc-static-linux","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14230072,"download_count":9435,"created_at":"2022-06-15T15:34:49Z","updated_at":"2022-06-15T15:34:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68574572","id":68574572,"node_id":"RA_kwDOAm_5kc4EFl1s","name":"solc-windows.exe","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8859136,"download_count":1129,"created_at":"2022-06-15T15:34:56Z","updated_at":"2022-06-15T15:35:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68573304","id":68573304,"node_id":"RA_kwDOAm_5kc4EFlh4","name":"solidity_0.8.15.tar.gz","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3083247,"download_count":668,"created_at":"2022-06-15T15:21:16Z","updated_at":"2022-06-15T15:21:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/solidity_0.8.15.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/68574577","id":68574577,"node_id":"RA_kwDOAm_5kc4EFl1x","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8479007,"download_count":163,"created_at":"2022-06-15T15:35:01Z","updated_at":"2022-06-15T15:35:06Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.15/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.15","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.15","body":"This release fixes two important bugs and also contains other minor bug fixes and features.\r\n\r\nFor details, please see [the release announcement](https://blog.soliditylang.org/2022/06/15/solidity-0.8.15-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Code Generation: Avoid writing dirty bytes to storage when copying ``bytes`` arrays.\r\n * Yul Optimizer: Keep all memory side-effects of inline assembly blocks.\r\n\r\n\r\n**Language Features:**\r\n * Add `E.selector` for a non-anonymous event `E` to access the 32-byte selector topic.\r\n\r\n\r\n**Compiler Features:**\r\n * LSP: Add rudimentary support for semantic highlighting.\r\n * Type Checker: Warn about assignments involving multiple pushes to storage ``bytes`` that may invalidate references.\r\n * Yul Optimizer: Improve inlining heuristics for via IR code generation and pure Yul compilation.\r\n\r\n\r\n**Bugfixes:**\r\n * ABI Encoder: When encoding an empty string coming from storage do not add a superfluous empty slot for data.\r\n * Common Subexpression Eliminator: Process assembly items in chunks with maximum size of 2000. It helps to avoid extremely time-consuming searches during code optimization.\r\n * Yul Optimizer: Do not remove ``returndatacopy`` in cases in which it might perform out-of-bounds reads that unconditionally revert as out-of-gas. Previously, any \r\n``returndatacopy`` that wrote to memory that was never read from was removed without accounting for the out-of-bounds condition.\r\n\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nChristian Parpart, Christian Reitwiessner, Damian Wechman, Daniel Kirchner, Denis T, Dustin Alandzes, Harikrishnan Mulackal, Josep M Sobrepere, Kamil Śliwak, Matheus Aguiar, Mathias L. Baumann, Nishant Sachdeva, Prajwal Borkar, Ryan, Samuel Osewa, Saw-mon-and-Natalie, shady41, sourabh.xyz, uji, Yuri Victorovich\r\n\r\nIf you want to perform a source build, please only use `solidity_0.8.15.tar.gz` and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/69524613/reactions","total_count":49,"+1":27,"-1":0,"laugh":2,"hooray":12,"confused":0,"heart":1,"rocket":7,"eyes":0},"author":{"login":"ekpyron","id":1347491,"node_id":"MDQ6VXNlcjEzNDc0OTE=","avatar_url":"https://avatars.githubusercontent.com/u/1347491?v=4","url":"https://api.github.com/users/ekpyron","html_url":"https://github.com/ekpyron","followers_url":"https://api.github.com/users/ekpyron/followers","following_url":"https://api.github.com/users/ekpyron/following{/other_user}","gists_url":"https://api.github.com/users/ekpyron/gists{/gist_id}","starred_url":"https://api.github.com/users/ekpyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekpyron/subscriptions","organizations_url":"https://api.github.com/users/ekpyron/orgs","repos_url":"https://api.github.com/users/ekpyron/repos","events_url":"https://api.github.com/users/ekpyron/events{/privacy}","received_events_url":"https://api.github.com/users/ekpyron/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/65355349","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/65355349/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/65355349/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.14","id":65355349,"node_id":"RE_kwDOAm_5kc4D5T5V","tag_name":"v0.8.14","target_commitish":"develop","name":"Version 0.8.14","draft":false,"prerelease":false,"created_at":"2022-05-17T11:55:13Z","published_at":"2022-05-17T12:37:12Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65781016","id":65781016,"node_id":"RA_kwDOAm_5kc4D670Y","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38446744,"download_count":1112,"created_at":"2022-05-17T13:18:33Z","updated_at":"2022-05-17T13:18:50Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65781032","id":65781032,"node_id":"RA_kwDOAm_5kc4D670o","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14201400,"download_count":3329,"created_at":"2022-05-17T13:18:50Z","updated_at":"2022-05-17T13:18:58Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65781040","id":65781040,"node_id":"RA_kwDOAm_5kc4D670w","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8831488,"download_count":678,"created_at":"2022-05-17T13:18:58Z","updated_at":"2022-05-17T13:19:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65780804","id":65780804,"node_id":"RA_kwDOAm_5kc4D67xE","name":"solidity_0.8.14.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3214611,"download_count":4357,"created_at":"2022-05-17T13:15:12Z","updated_at":"2022-05-17T13:15:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/solidity_0.8.14.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/65781051","id":65781051,"node_id":"RA_kwDOAm_5kc4D6707","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8475674,"download_count":104,"created_at":"2022-05-17T13:19:03Z","updated_at":"2022-05-17T13:19:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.14/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.14","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.14","body":"This release fixes two important bugs and also contains other minor bug fixes and features.\r\n\r\nFor details, please see [the release announcement](https://blog.soliditylang.org/2022/05/18/solidity-0.8.14-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * ABI Encoder: When ABI-encoding values from calldata that contain nested arrays, correctly validate the nested array length against ``calldatasize()`` in all cases.\r\n * Override Checker: Allow changing data location for parameters only when overriding external functions.\r\n\r\n\r\n**Compiler Features:**\r\n * Assembly-Json Exporter: Include source list in `sourceList` field.\r\n * Commandline Interface: Option ``--pretty-json`` works also with the following options: ``--abi``, ``--asm-json``, ``--ast-compact-json``, ``--devdoc``, ``--storage-layout``, ``--userdoc``.\r\n * Language Server: Allow full filesystem access to language server.\r\n * Peephole Optimizer: Remove operations without side effects before simple terminations.\r\n * SMTChecker: Support ``abi.encodeCall`` taking into account the called selector.\r\n\r\n\r\n**Bugfixes:**\r\n * Assembly-Json Exporter: Fix assembly json export to store jump types of operations in `jumpType` field instead of `value`.\r\n * SMTChecker: Fix ABI compatibility with z3 \u003e=4.8.16.\r\n * SMTChecker: Fix bug when z3 is selected but not available at runtime.\r\n * Type Checker: Properly check restrictions of ``using ... global`` in conjunction with libraries.\r\n * TypeChecker: Convert parameters of function type to how they would be called for ``abi.encodeCall``.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, aathan, Aisultan Kali, Alexander Arlt, Alexey Shekhirin, alpharush, andreb0x, Bytecurl, Christian Parpart, Damian Wechman, Daniel Kirchner, dtedesco1, Florian Sey, Hector Roussille, Joshua Quinones, Kamil Śliwak, Leo Alt, Matheus Aguiar, Mathias L. Baumann, Nishant Sachdeva, Nobuhiko Otoba, Ryan, sourabh.xyz, Tharun K\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.14.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/65355349/reactions","total_count":24,"+1":0,"-1":0,"laugh":0,"hooray":15,"confused":0,"heart":0,"rocket":8,"eyes":1},"author":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/61995798","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/61995798/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/61995798/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.13","id":61995798,"node_id":"RE_kwDOAm_5kc4DsfsW","tag_name":"v0.8.13","target_commitish":"develop","name":"Version 0.8.13","draft":false,"prerelease":false,"created_at":"2022-03-16T12:54:28Z","published_at":"2022-03-16T13:32:43Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669671","id":59669671,"node_id":"RA_kwDOAm_5kc4Djnyn","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38359320,"download_count":5022,"created_at":"2022-03-16T14:23:45Z","updated_at":"2022-03-16T14:24:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669757","id":59669757,"node_id":"RA_kwDOAm_5kc4Djnz9","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":14156344,"download_count":33912,"created_at":"2022-03-16T14:24:04Z","updated_at":"2022-03-16T14:24:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669798","id":59669798,"node_id":"RA_kwDOAm_5kc4Djn0m","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8814592,"download_count":1322,"created_at":"2022-03-16T14:24:11Z","updated_at":"2022-03-16T14:24:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669242","id":59669242,"node_id":"RA_kwDOAm_5kc4Djnr6","name":"solidity_0.8.13.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3183155,"download_count":941,"created_at":"2022-03-16T14:19:06Z","updated_at":"2022-03-16T14:19:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/solidity_0.8.13.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/59669871","id":59669871,"node_id":"RA_kwDOAm_5kc4Djn1v","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8443813,"download_count":338,"created_at":"2022-03-16T14:24:16Z","updated_at":"2022-03-16T14:24:21Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.13/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.13","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.13","body":"Solidity v0.8.13 fixes an important bug related to ``abi.encodeCall``, extends the ``using for`` directive and implements \"go to definition\" for the language server.\r\n\r\nFurthermore, compiling via the new Yul IR pipeline is now considered production ready.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2022/03/16/solidity-0.8.13-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Code Generator: Correctly encode literals used in ``abi.encodeCall`` in place of fixed bytes arguments.\r\n\r\n\r\n**Language Features:**\r\n * General: Allow annotating inline assembly as memory-safe to allow optimizations and stack limit evasion that rely on respecting Solidity's memory model.\r\n * General: ``using M for Type;`` is allowed at file level and ``M`` can now also be a brace-enclosed list of free functions or library functions.\r\n * General: ``using ... for T global;`` is allowed at file level where the user-defined type ``T`` has been defined, resulting in the effect of the statement being available everywhere ``T`` is available.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Allow the use of ``--via-ir`` in place of ``--experimental-via-ir``.\r\n * Compilation via Yul IR is no longer marked as experimental.\r\n * JSON-AST: Added selector field for errors and events.\r\n * LSP: Implements goto-definition.\r\n * Peephole Optimizer: Optimize comparisons in front of conditional jumps and conditional jumps across a single unconditional jump.\r\n * Yul EVM Code Transform: Avoid unnecessary ``pop``s on terminating control flow.\r\n * Yul Optimizer: Remove ``sstore`` and ``mstore`` operations that are never read from.\r\n\r\n\r\n**Bugfixes:**\r\n * General: Fix internal error for locales with unusual capitalization rules. Locale set in the environment is now completely ignored.\r\n * Type Checker: Fix incorrect type checker errors when importing overloaded functions.\r\n * Yul IR Code Generation: Optimize embedded creation code with correct settings. This fixes potential mismatches between the constructor code of a contract compiled in isolation and the bytecode in ``type(C).creationCode``, resp. the bytecode used for ``new C(...)``.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Abdul Karim Moro, Alexander Arlt, Bhargava Shastry, Callis Ezenwaka, Christian Parpart, Daniel Kirchner, david-k, franzihei, hrkrshnn, Kamil Śliwak, kanedaaaa, Leo Alt, Marenz, Mate Soos, Nishant Sachdeva, Paarth Madan, Richie, Sleepy, Tyler, wechman, Wes Bouaziz, \r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.13.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/61995798/reactions","total_count":27,"+1":8,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":13,"eyes":6},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/59684189","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/59684189/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/59684189/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.12","id":59684189,"node_id":"RE_kwDOAm_5kc4DjrVd","tag_name":"v0.8.12","target_commitish":"develop","name":"Version 0.8.12","draft":false,"prerelease":false,"created_at":"2022-02-16T09:49:57Z","published_at":"2022-02-16T11:50:24Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035390","id":57035390,"node_id":"RA_kwDOAm_5kc4DZkp-","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38174480,"download_count":991,"created_at":"2022-02-16T15:35:23Z","updated_at":"2022-02-16T15:35:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035428","id":57035428,"node_id":"RA_kwDOAm_5kc4DZkqk","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":13992504,"download_count":20567,"created_at":"2022-02-16T15:35:43Z","updated_at":"2022-02-16T15:35:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035439","id":57035439,"node_id":"RA_kwDOAm_5kc4DZkqv","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8702464,"download_count":753,"created_at":"2022-02-16T15:35:51Z","updated_at":"2022-02-16T15:35:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035489","id":57035489,"node_id":"RA_kwDOAm_5kc4DZkrh","name":"solidity_0.8.12.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3147863,"download_count":697,"created_at":"2022-02-16T15:36:33Z","updated_at":"2022-02-16T15:36:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/solidity_0.8.12.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/57035445","id":57035445,"node_id":"RA_kwDOAm_5kc4DZkq1","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8396944,"download_count":104,"created_at":"2022-02-16T15:35:56Z","updated_at":"2022-02-16T15:36:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.12/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.12","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.12","body":"Solidity v0.8.12 improves the javascript/wasm binary and fixes several bugs.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2022/02/16/solidity-0.8.12-release-announcement/).\r\n\r\n**Language Features:**\r\n * General: Add equality-comparison operators for external function types.\r\n * General: Support ``ContractName.functionName`` for ``abi.encodeCall``, in addition to external function pointers.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Event and error signatures are also returned when using ``--hashes``.\r\n * Yul Optimizer: Remove ``mstore`` and ``sstore`` operations if the slot already contains the same value.\r\n * Yul: Emit immutable references for pure yul code when requested.\r\n\r\n\r\n\r\n**Bugfixes:**\r\n * Antlr Grammar: Allow builtin names in ``yulPath`` to support ``.address`` in function pointers.\r\n * Code Generator: Fix internal error when accessing the members of external functions occupying more than two stack slots.\r\n * Code Generator: Fix internal error when doing an explicit conversion from ``string calldata`` to ``bytes``.\r\n * Control Flow Graph: Perform proper virtual lookup for modifiers for uninitialized variable and unreachable code analysis.\r\n * General: ``string.concat`` now properly takes strings as arguments and returns ``string memory``. It was accidentally introduced as a copy of ``bytes.concat`` before.\r\n * Immutables: Fix wrong error when the constructor of a base contract uses ``return`` and the derived contract contains immutable variables.\r\n * Inheritance: Consider functions in all ancestors during override analysis.\r\n * IR Generator: Add missing cleanup during the conversion of fixed bytes types to smaller fixed bytes types.\r\n * IR Generator: Add missing cleanup for indexed event arguments of value type.\r\n * IR Generator: Fix internal error when copying reference types in calldata and storage to struct or array members in memory.\r\n * IR Generator: Fix IR syntax error when copying storage arrays of structs containing functions.\r\n * Natspec: Fix internal error when overriding a struct getter with a Natspec-documented return value and the name in the struct is different.\r\n * Type Checker: Fix internal error when a constant variable declaration forward references a struct.\r\n * Yul EVM Code Transform: Improved stack shuffling in corner cases.\r\n\r\n\r\n**Solc-Js:**\r\n * The wrapper now requires at least nodejs v10.\r\n * The code has been ported to TypeScript.\r\n\r\n\r\n**Build System:**\r\n * Emscripten builds store the embedded WebAssembly binary in LZ4 compressed format and transparently decompress on loading.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Aleksey Bykhun, Amsavarthan Lv, Ayush Shukla, Bhargava Shastry, Braden Watling, Brien, Bruno Barbieri, Christian Parpart, Daniel Kirchner, Esquith Allen, Franziska Heintel, Hakeem Almidan, Harikrishnan Mulackal, joshieDo, joshuatarkwski, Kamil Śliwak, Laurent, Leo Alt, Markus Waas, Mathias L. Baumann, mejsiej, Mohamed Safouen Bouabid, Naveen Sahu, Nikita Stupin, Nishant Sachdeva, Pranay Reddy, Sean Billig, Semar Augusto, William Entriken, yatharthagoenka, Younghoon-Lee.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.12.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/59684189/reactions","total_count":26,"+1":11,"-1":0,"laugh":0,"hooray":12,"confused":0,"heart":0,"rocket":0,"eyes":3},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/55663294","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/55663294/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/55663294/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.11","id":55663294,"node_id":"RE_kwDOAm_5kc4DUVq-","tag_name":"v0.8.11","target_commitish":"develop","name":"Version 0.8.11","draft":false,"prerelease":false,"created_at":"2021-12-20T14:00:55Z","published_at":"2021-12-20T14:45:36Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206622","id":52206622,"node_id":"RA_kwDOAm_5kc4DHJwe","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38493496,"download_count":629,"created_at":"2021-12-20T15:14:24Z","updated_at":"2021-12-20T15:14:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206627","id":52206627,"node_id":"RA_kwDOAm_5kc4DHJwj","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":13922872,"download_count":9010,"created_at":"2021-12-20T15:14:41Z","updated_at":"2021-12-20T15:14:47Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206628","id":52206628,"node_id":"RA_kwDOAm_5kc4DHJwk","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8659456,"download_count":1380,"created_at":"2021-12-20T15:14:47Z","updated_at":"2021-12-20T15:14:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206634","id":52206634,"node_id":"RA_kwDOAm_5kc4DHJwq","name":"solidity_0.8.11.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3106121,"download_count":1196,"created_at":"2021-12-20T15:14:51Z","updated_at":"2021-12-20T15:14:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/solidity_0.8.11.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/52206635","id":52206635,"node_id":"RA_kwDOAm_5kc4DHJwr","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":27280310,"download_count":311,"created_at":"2021-12-20T15:14:53Z","updated_at":"2021-12-20T15:15:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.11/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.11","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.11","body":"Solidity v0.8.11 adds a first implementation of a Language Server, allows a safer way to perform ABI-encoding and fixes several bugs.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/12/20/solidity-0.8.11-release-announcement/).\r\n\r\n**Language Features:**\r\n * General: New builtin function ``abi.encodeCall(functionPointer, (arg1, arg2, ...))`` that type-checks the arguments and returns the ABI-encoded function call data.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Add ``--lsp`` option to get ``solc`` to act as a Language Server (LSP) communicating over stdio.\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix a crash when using ``@use-src`` and compiling from Yul to ewasm.\r\n * SMTChecker: Fix internal error when an unsafe target is solved more than once and the counterexample messages are different.\r\n * SMTChecker: Fix soundness of assigned storage/memory local pointers that were not erasing enough knowledge.\r\n * Fix internal error when a function has a calldata struct argument with an internal type inside.\r\n * IR Generator: Fix IR syntax error when copying storage arrays of functions.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nKamil Śliwak, Leo Alt, nishant-sachdeva, Daniel Kirchner, Marenz, minami, Alessandro Coglio, Alex Beregszaszi, Bhargava Shastry, Dallon Asnes, Dallon Asnes, neel iyer, Christian Parpart, GitHubPang, Mathias Baumann, Omkar Nikhal, Saska Karsi, Tynan Richards, dinah.\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.11.tar.gz and not the zip provided by github directly.\r\n\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/55663294/reactions","total_count":43,"+1":6,"-1":0,"laugh":0,"hooray":21,"confused":0,"heart":0,"rocket":16,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/52986887","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/52986887/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/52986887/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.10","id":52986887,"node_id":"RE_kwDOAm_5kc4DKIQH","tag_name":"v0.8.10","target_commitish":"develop","name":"Version 0.8.10","draft":false,"prerelease":false,"created_at":"2021-11-09T08:56:08Z","published_at":"2021-11-09T09:42:05Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987414","id":48987414,"node_id":"RA_kwDOAm_5kc4C630W","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38697140,"download_count":401,"created_at":"2021-11-09T13:13:21Z","updated_at":"2021-11-09T13:13:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987422","id":48987422,"node_id":"RA_kwDOAm_5kc4C630e","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":13787704,"download_count":34989,"created_at":"2021-11-09T13:13:39Z","updated_at":"2021-11-09T13:13:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987427","id":48987427,"node_id":"RA_kwDOAm_5kc4C630j","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":8583680,"download_count":1037,"created_at":"2021-11-09T13:13:42Z","updated_at":"2021-11-09T13:13:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987492","id":48987492,"node_id":"RA_kwDOAm_5kc4C631k","name":"solidity_0.8.10.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3076003,"download_count":1013,"created_at":"2021-11-09T13:14:48Z","updated_at":"2021-11-09T13:14:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/solidity_0.8.10.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/48987435","id":48987435,"node_id":"RA_kwDOAm_5kc4C630r","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":27036439,"download_count":180,"created_at":"2021-11-09T13:13:51Z","updated_at":"2021-11-09T13:14:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.10/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.10","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.10","body":"Solidity v0.8.10 can now report contract invariants and reentrancy properties through the SMTChecker. It also contains some new optimizations with regards to external function calls and enabled the new EVM code generator for pure Yul mode.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/11/09/solidity-0.8.10-release-announcement/).\r\n\r\n\r\n**Language Features:**\r\n * Inline Assembly: Support ``.address`` and ``.selector`` on external function pointers to access their address and function selector.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: Skip existence check for external contract if return data is expected. In this case, the ABI decoder will revert if the contract does not exist.\r\n * Commandline Interface: Accept nested brackets in step sequences passed to ``--yul-optimizations``.\r\n * Commandline Interface: Add ``--debug-info`` option for selecting how much extra debug information should be included in the produced EVM assembly and Yul code.\r\n * Commandline Interface: Support ``--asm``, ``--bin``, ``--ir-optimized``, ``--ewasm`` and ``--ewasm-ir`` output selection options in assembler mode.\r\n * Commandline Interface: Use different colors when printing errors, warnings and infos.\r\n * JSON AST: Set absolute paths of imports earlier, in the ``parsing`` stage.\r\n * SMTChecker: Output values for ``block.*``, ``msg.*`` and ``tx.*`` variables that are present in the called functions.\r\n * SMTChecker: Report contract invariants and reentrancy properties. This can be enabled via the CLI option ``--model-checker-invariants`` or the Standard JSON option ``settings.modelChecker.invariants``.\r\n * Standard JSON: Accept nested brackets in step sequences passed to ``settings.optimizer.details.yulDetails.optimizerSteps``.\r\n * Standard JSON: Add ``settings.debug.debugInfo`` option for selecting how much extra debug information should be included in the produced EVM assembly and Yul code.\r\n * Yul EVM Code Transform: Switch to new optimized code transform when compiling via Yul with enabled optimizer.\r\n * Yul Optimizer: Take control-flow side-effects of user-defined functions into account in various optimizer steps.\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix constructor source mappings for immutables.\r\n * Commandline Interface: Disallow ``--error-recovery`` option outside of the compiler mode.\r\n * Commandline Interface: Don't return zero exit code when writing linked files to disk fails.\r\n * Commandline Interface: Fix extra newline character being appended to sources passed through standard input, affecting their hashes.\r\n * Commandline Interface: Report output selection options unsupported by the selected input mode instead of ignoring them.\r\n * Commandline Interface: When linking only accept exact matches for library names passed to the ``--libraries`` option. Library names not prefixed with a file name used to match any library with that name.\r\n * SMTChecker: Fix internal error in magic type access (``block``, ``msg``, ``tx``).\r\n * SMTChecker: Fix internal error in the CHC engine when passing gas in the function options.\r\n * TypeChecker: Fix internal error when using arrays and structs with user defined value types before declaration.\r\n * TypeChecker: Fix internal error when using user defined value types in public library functions.\r\n * TypeChecker: Improved error message for constant variables with (nested) mapping types.\r\n * Yul Assembler: Fix internal error when function names are not unique.\r\n * Yul IR Generator: Do not output empty switches/if-bodies for empty contracts.\r\n\r\n\r\n**Important Bugfixes in Experimental Features:**\r\n * Yul IR Generator: Changes to function return variables referenced in modifier invocation arguments were not properly forwarded if there was more than one return variable.\r\n\r\n\r\n**Build System:**\r\n * Pass linker-only emscripten options only when linking.\r\n * Remove obsolete compatibility workaround for emscripten builds.\r\n * Update emscripten to version 2.0.33.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\n4molybdenum2, Adam Bliss, Alex Beregszaszi, Christian Parpart, Daniel Kirchner, David Dzhalaev, Derek Brans, Gyeonghun Park, Harikrishnan Mulackal, José López, Kamil Śliwak, Leo Arias, Leonardo Alt, Mariela Mantle, Mathias Baumann, Midhun07, Mikko Ohtamaa, MrBrain295, Saurabh Sharma, sgmoore, shikharvashistha, Shivam Rajput, soroosh-sdi, Sreekesh V, tcoyvwac, TerranCivilian, vowchick, William Entriken, Zachinquarantine\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.10.tar.gz and not the zip provided by github directly.\r\n\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/52986887/reactions","total_count":26,"+1":17,"-1":0,"laugh":0,"hooray":4,"confused":0,"heart":0,"rocket":1,"eyes":4},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/50466443","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/50466443/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/50466443/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.9","id":50466443,"node_id":"RE_kwDOAm_5kc4DAg6L","tag_name":"v0.8.9","target_commitish":"develop","name":"Version 0.8.9","draft":false,"prerelease":false,"created_at":"2021-09-29T13:19:38Z","published_at":"2021-09-29T14:13:14Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45872431","id":45872431,"node_id":"RA_kwDOAm_5kc4Cu_Uv","name":"solc-macos","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":37336868,"download_count":2047,"created_at":"2021-09-29T14:57:11Z","updated_at":"2021-09-29T14:57:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45869818","id":45869818,"node_id":"RA_kwDOAm_5kc4Cu-r6","name":"solc-static-linux","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12366392,"download_count":110059,"created_at":"2021-09-29T14:27:46Z","updated_at":"2021-09-29T14:27:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45874706","id":45874706,"node_id":"RA_kwDOAm_5kc4Cu_4S","name":"solc-windows.exe","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7947264,"download_count":1007,"created_at":"2021-09-29T15:30:11Z","updated_at":"2021-09-29T15:30:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45869516","id":45869516,"node_id":"RA_kwDOAm_5kc4Cu-nM","name":"solidity_0.8.9.tar.gz","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2871614,"download_count":2978,"created_at":"2021-09-29T14:23:41Z","updated_at":"2021-09-29T14:23:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/solidity_0.8.9.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45869920","id":45869920,"node_id":"RA_kwDOAm_5kc4Cu-tg","name":"soljson.js","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":26173264,"download_count":202,"created_at":"2021-09-29T14:29:40Z","updated_at":"2021-09-29T14:29:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.9/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.9","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.9","body":"Solidity v0.8.9 is a pure bugfix release and fixes two important, but low severity, bugs.\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/09/29/solidity-0.8.9-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Immutables: Properly perform sign extension on signed immutables.\r\n * User Defined Value Type: Fix storage layout of user defined value types for underlying types shorter than 32 bytes.\r\n\r\n\r\n**Bugfixes:**\r\n * AST: Export ``canonicalName`` for ``UserDefinedValueTypeDefinition`` and ``ContractDefinition``.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.9.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/50323951","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/50323951/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/50323951/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.8","id":50323951,"node_id":"RE_kwDOAm_5kc4C_-Hv","tag_name":"v0.8.8","target_commitish":"develop","name":"Version 0.8.8","draft":false,"prerelease":false,"created_at":"2021-09-27T15:29:47Z","published_at":"2021-09-27T16:12:56Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45720869","id":45720869,"node_id":"RA_kwDOAm_5kc4CuaUl","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":37332428,"download_count":155,"created_at":"2021-09-27T16:51:19Z","updated_at":"2021-09-27T16:51:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45720881","id":45720881,"node_id":"RA_kwDOAm_5kc4CuaUx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12358200,"download_count":13020,"created_at":"2021-09-27T16:51:35Z","updated_at":"2021-09-27T16:51:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45720882","id":45720882,"node_id":"RA_kwDOAm_5kc4CuaUy","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7944704,"download_count":240,"created_at":"2021-09-27T16:51:37Z","updated_at":"2021-09-27T16:51:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45721048","id":45721048,"node_id":"RA_kwDOAm_5kc4CuaXY","name":"solidity_0.8.8.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":3004674,"download_count":215,"created_at":"2021-09-27T16:55:58Z","updated_at":"2021-09-27T16:56:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/solidity_0.8.8.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/45720883","id":45720883,"node_id":"RA_kwDOAm_5kc4CuaUz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":26168728,"download_count":50,"created_at":"2021-09-27T16:51:38Z","updated_at":"2021-09-27T16:51:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.8/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.8","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.8","body":"Solidity v0.8.8 introduces user defined value types as a major feature, improves overriding interface functions and reading from immutables. Apart from bugfixes, we also cleaned up the command-line interface and improved the way the\r\nimport mechanism resolves files.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/09/27/solidity-0.8.8-release-announcement/).\r\n\r\n**Language Features:**\r\n * Inheritance: A function that overrides only a single interface function does not require the ``override`` specifier.\r\n * Type System: Support ``type(E).min`` and ``type(E).max`` for enums.\r\n * User Defined Value Type: allows creating a zero cost abstraction over a value type with stricter type requirements.\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Add ``--include-path`` option for specifying extra directories that may contain importable code (e.g. packaged third-party libraries).\r\n * Commandline Interface: Do not implicitly run evm bytecode generation unless needed for the requested output.\r\n * Commandline Interface: Normalize paths specified on the command line and make them relative for files located inside base path and/or include paths.\r\n * Immutable variables can be read at construction time once they are initialized.\r\n * SMTChecker: Add constraints to better correlate ``address(this).balance`` and ``msg.value``.\r\n * SMTChecker: Support constants via modules.\r\n * SMTChecker: Support low level ``call`` as external calls to unknown code.\r\n * SMTChecker: Support the ``value`` option for external function calls.\r\n * SMTChecker: Support user defined value types.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix ICE on assigning to calldata structs and statically-sized calldata arrays in inline assembly.\r\n * Code Generator: Use stable source order for ABI functions.\r\n * Commandline Interface: Disallow the ``--experimental-via-ir`` option in Standard JSON, Assembler and Linker modes.\r\n * Commandline Interface: Fix resolution of paths whitelisted with ``--allowed-paths`` or implicitly due to base path, remappings and files being compiled. Correctly handle paths that do not match imports exactly due to being relative, non-normalized or empty.\r\n * Commandline Interface: Report optimizer options as invalid in Standard JSON and linker modes instead of ignoring them.\r\n * Name Resolver: Fix that when importing an aliased symbol using ``import {AliasedName} from \"a.sol\"`` it would use the original name of the symbol and not the aliased one.\r\n * Opcode Optimizer: Prevent the optimizer from running multiple times to avoid potential bytecode differences for referenced code.\r\n * Parser: Properly check for multiple SPDX license identifiers next to each other and validate them.\r\n * SMTChecker: Fix BMC's constraints regarding internal functions.\r\n * SMTChecker: Fix false negative caused by ``push`` on storage array references returned by internal functions.\r\n * SMTChecker: Fix false positive in external calls from constructors.\r\n * SMTChecker: Fix internal error on some multi-source uses of ``abi.*``, cryptographic functions and constants.\r\n * Standard JSON: Fix non-fatal errors in Yul mode being discarded if followed by a fatal error.\r\n * Type Checker: Correct wrong error message in inline assembly complaining about ``.slot`` or ``.offset` not valid when actually ``.length`` was used.\r\n * Type Checker: Disallow modifier declarations and definitions in interfaces.\r\n * Yul Optimizer: Fix a crash in LoadResolver, when ``keccak256`` has particular non-identifier arguments.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAhmed Ali, Alessandro Coglio, Alex Beregszaszi, Alexander Arlt, Andrew Lyndem, Basit Raza, benldrmn, Bhargava Shastry, CrimsonGlory, Daniel Kirchner, Harikrishnan Mulackal, hawkess, istareatscreens, John Adler, Kamil Śliwak, Leonardo Alt, Marenz, Midhun07, Nikita Stupin, Paul Razvan Berg, priyansh786, Sean Hawkes, soroosh-sdi, Sreekesh V, yatharthagoenka\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.8.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/50323951/reactions","total_count":16,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":14,"eyes":2},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/47664560","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/47664560/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/47664560/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.7","id":47664560,"node_id":"MDc6UmVsZWFzZTQ3NjY0NTYw","tag_name":"v0.8.7","target_commitish":"develop","name":"Version 0.8.7","draft":false,"prerelease":false,"created_at":"2021-08-11T12:14:21Z","published_at":"2021-08-11T12:55:33Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42208073","id":42208073,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjA4MDcz","name":"solc-macos","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36893612,"download_count":464,"created_at":"2021-08-11T13:15:12Z","updated_at":"2021-08-11T13:15:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42210062","id":42210062,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjEwMDYy","name":"solc-static-linux","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12141112,"download_count":8922,"created_at":"2021-08-11T13:44:04Z","updated_at":"2021-08-11T13:44:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42209196","id":42209196,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjA5MTk2","name":"solc-windows.exe","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7751680,"download_count":936,"created_at":"2021-08-11T13:32:37Z","updated_at":"2021-08-11T13:32:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42213616","id":42213616,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjEzNjE2","name":"solidity_0.8.7.tar.gz","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2771717,"download_count":1231,"created_at":"2021-08-11T14:35:37Z","updated_at":"2021-08-11T14:35:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/solidity_0.8.7.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/42208303","id":42208303,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyMjA4MzAz","name":"soljson.js","label":"","uploader":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25947744,"download_count":163,"created_at":"2021-08-11T13:19:06Z","updated_at":"2021-08-11T13:19:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.7/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.7","body":"Solidity v0.8.7 introduces support for the [London upgrade](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/), includes\r\nvarious improvements to Yul to EVM code transformation, the SMTChecker and some bugfixes.\r\n\r\nFor more details, see [the release announcement](https://blog.soliditylang.org/2021/08/11/solidity-0.8.7-release-announcement/).\r\n\r\n**Language Features:**\r\n * Introduce global ``block.basefee`` for retrieving the base fee of the current block.\r\n * Yul: Introduce builtin ``basefee()`` for retrieving the base fee of the current block.\r\n\r\n\r\n**Compiler Features:**\r\n * AssemblyStack: Also run opcode-based optimizer when compiling Yul code.\r\n * Commandline Interface: option ``--pretty-json`` works also with ``--standard--json``.\r\n * EVM: Set the default EVM version to \"London\".\r\n * SMTChecker: Do not check underflow and overflow by default.\r\n * SMTChecker: Unproved targets are hidden by default, and the SMTChecker only states how many unproved targets there are. They can be listed using the command line option ``--model-checker-show-unproved`` or the JSON option ``settings.modelChecker.showUnproved``.\r\n * SMTChecker: new setting to enable/disable encoding of division and modulo with slack variables. The command line option is ``--model-checker-div-mod-slacks`` and the JSON option is ``settings.modelChecker.divModWithSlacks``.\r\n * Yul EVM Code Transform: Also pop unused argument slots for functions without return variables (under the same restrictions as for functions with return variables).\r\n * Yul EVM Code Transform: Do not reuse stack slots that immediately become unreachable.\r\n * Yul Optimizer: Move function arguments and return variables to memory with the experimental Stack Limit Evader (which is not enabled by default).\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix crash when passing an empty string literal to ``bytes.concat()``.\r\n * Code Generator: Fix internal compiler error when calling functions bound to calldata structs and arrays.\r\n * Code Generator: Fix internal compiler error when passing a 32-byte hex literal or a zero literal to ``bytes.concat()`` by disallowing such literals.\r\n * Commandline Interface: Apply ``--optimizer-runs`` option in assembly / yul mode.\r\n * Commandline Interface: Fix crash when a directory path is passed to ``--standard-json``.\r\n * Commandline Interface: Read JSON from standard input when ``--standard-json`` gets ``-`` as a file name.\r\n * Standard JSON: Include source location for errors in files with empty name.\r\n * Type Checker: Fix internal error and prevent static calls to unimplemented modifiers.\r\n * Yul Code Generator: Fix internal compiler error when using a long literal with bitwise negation.\r\n * Yul Code Generator: Fix source location references for calls to builtin functions.\r\n * Yul Parser: Fix source location references for ``if`` statements.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Alexander Arlt, Amid Moeinzadeh, Bhargava Shastry, Christian Parpart, CrimsonGlory, Daniel Kirchner, GuLiPing-Hz, Harikrishnan Mulackal, Josué, Kamil Śliwak, Ladislav Sladecek, Leo Alt, Mathias Baumann, Simon Tian, Tony, chriseth, franzihei, iskanderandrews, jaa2, qedk and t11s.\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.7.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/47664560/reactions","total_count":28,"+1":5,"-1":0,"laugh":0,"hooray":10,"confused":0,"heart":7,"rocket":6,"eyes":0},"author":{"login":"hrkrshnn","id":13174375,"node_id":"MDQ6VXNlcjEzMTc0Mzc1","avatar_url":"https://avatars.githubusercontent.com/u/13174375?v=4","url":"https://api.github.com/users/hrkrshnn","html_url":"https://github.com/hrkrshnn","followers_url":"https://api.github.com/users/hrkrshnn/followers","following_url":"https://api.github.com/users/hrkrshnn/following{/other_user}","gists_url":"https://api.github.com/users/hrkrshnn/gists{/gist_id}","starred_url":"https://api.github.com/users/hrkrshnn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrkrshnn/subscriptions","organizations_url":"https://api.github.com/users/hrkrshnn/orgs","repos_url":"https://api.github.com/users/hrkrshnn/repos","events_url":"https://api.github.com/users/hrkrshnn/events{/privacy}","received_events_url":"https://api.github.com/users/hrkrshnn/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/45024996","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/45024996/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/45024996/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.6","id":45024996,"node_id":"MDc6UmVsZWFzZTQ1MDI0OTk2","tag_name":"v0.8.6","target_commitish":"develop","name":"Version 0.8.6","draft":false,"prerelease":false,"created_at":"2021-06-22T11:30:55Z","published_at":"2021-06-22T12:30:35Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39041875","id":39041875,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQxODc1","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36651572,"download_count":434,"created_at":"2021-06-22T13:06:10Z","updated_at":"2021-06-22T13:06:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39041878","id":39041878,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQxODc4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12051000,"download_count":5402,"created_at":"2021-06-22T13:06:20Z","updated_at":"2021-06-22T13:06:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39041881","id":39041881,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQxODgx","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7687680,"download_count":1031,"created_at":"2021-06-22T13:06:22Z","updated_at":"2021-06-22T13:06:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39040370","id":39040370,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQwMzcw","name":"solidity_0.8.6.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2830671,"download_count":1341,"created_at":"2021-06-22T12:35:15Z","updated_at":"2021-06-22T12:35:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/solidity_0.8.6.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/39041882","id":39041882,"node_id":"MDEyOlJlbGVhc2VBc3NldDM5MDQxODgy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25854368,"download_count":162,"created_at":"2021-06-22T13:06:23Z","updated_at":"2021-06-22T13:06:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.6/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.6","body":"Solidity 0.8.6 fixes some non-critical but annoying bugs, especially a warning about unreachable code that\r\nis in fact reachable.\r\n\r\nFor more details, please see the [release announcement](https://blog.soliditylang.org/2021/06/22/solidity-0.8.6-release-announcement/).\r\n\r\n**Language Features:**\r\n * Yul: Special meaning of ``\".metadata\"`` data object in Yul object.\r\n\r\n**Bugfixes:**\r\n * Control Flow Graph: Fix incorrectly reported unreachable code.\r\n * Solc-Js: When running ``solcjs`` without the ``--optimize`` flag, use ``settings.optimizer.enabled=false`` in Standard JSON instead of omitting the key.\r\n * Standard JSON: Omitting ``settings.optimizer.enabled`` was not equivalent to setting it to ``false``. It meant disabling also the peephole optimizer and jumpdest remover which by default still run with ``enabled=false``.\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nAlex Beregszaszi, Allegheny Crypto, axeldelamarre, Djordje Mijovic, hrkrshnn, jgoodall628, Kamil Śliwak, Leonardo, Mathias Baumann, patekuru, QQ喵, TaldenV\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.6.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/45024996/reactions","total_count":27,"+1":17,"-1":0,"laugh":3,"hooray":6,"confused":0,"heart":0,"rocket":1,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/44406833","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/44406833/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/44406833/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.5","id":44406833,"node_id":"MDc6UmVsZWFzZTQ0NDA2ODMz","tag_name":"v0.8.5","target_commitish":"develop","name":"Version 0.8.5","draft":false,"prerelease":false,"created_at":"2021-06-10T11:04:38Z","published_at":"2021-06-10T12:02:58Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382811","id":38382811,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyODEx","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36627444,"download_count":175,"created_at":"2021-06-10T12:42:53Z","updated_at":"2021-06-10T12:43:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382822","id":38382822,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyODIy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12026424,"download_count":16046,"created_at":"2021-06-10T12:43:03Z","updated_at":"2021-06-10T12:43:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382826","id":38382826,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyODI2","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7640064,"download_count":374,"created_at":"2021-06-10T12:43:07Z","updated_at":"2021-06-10T12:43:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382785","id":38382785,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyNzg1","name":"solidity_0.8.5.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2823338,"download_count":497,"created_at":"2021-06-10T12:42:27Z","updated_at":"2021-06-10T12:42:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/solidity_0.8.5.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/38382829","id":38382829,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MzgyODI5","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25823332,"download_count":85,"created_at":"2021-06-10T12:43:09Z","updated_at":"2021-06-10T12:43:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.5/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.5","body":"Solidity 0.8.5 allows conversions from ``bytes`` to ``bytesNN`` values, adds the ``verbatim`` builtin function to inject\r\narbitrary bytecode in Yul and fixes several smaller bugs.\r\n\r\nFor more details, please see the [release announcement](https://blog.soliditylang.org/2021/06/10/solidity-0.8.5-release-announcement/).\r\n\r\n**Language Features:**\r\n * Allowing conversion from ``bytes`` and ``bytes`` slices to ``bytes1``/.../``bytes32``.\r\n * Yul: Add ``verbatim`` builtin function to inject arbitrary bytecode.\r\n\r\n**Compiler Features:**\r\n * Code Generator: Insert helper functions for panic codes instead of inlining unconditionally. This can reduce costs if many panics (checks) are inserted, but can increase costs where few panics are used.\r\n * EVM: Set the default EVM version to \"Berlin\".\r\n * SMTChecker: Function definitions can be annotated with the custom Natspec tag ``custom:smtchecker abstract-function-nondet`` to be abstracted by a nondeterministic value when called.\r\n * Standard JSON / combined JSON: New artifact \"functionDebugData\" that contains bytecode offsets of entry points of functions and potentially more information in the future.\r\n * Yul Optimizer: Evaluate ``keccak256(a, c)``, when the value at memory location ``a`` is known at compile time and ``c`` is a constant ``\u003c= 32``.\r\n\r\n**Bugfixes:**\r\n * AST: Do not output value of Yul literal if it is not a valid UTF-8 string.\r\n * Code Generator: Fix internal error when function arrays are assigned to storage variables and the function types can be implicitly converted but are not identical.\r\n * Code Generator: Fix internal error when super would have to skip an unimplemented function in the virtual resolution order.\r\n * Control Flow Graph: Assume unimplemented modifiers use a placeholder.\r\n * Control Flow Graph: Take internal calls to functions that always revert into account for reporting unused or unassigned variables.\r\n * Function Call Graph: Fix internal error connected with circular constant references.\r\n * Name Resolver: Do not issue shadowing warning if the shadowing name is not directly accessible.\r\n * Natspec: Allow multiple ``@return`` tags on public state variable documentation.\r\n * SMTChecker: Fix internal error on conversion from ``bytes`` to ``fixed bytes``.\r\n * SMTChecker: Fix internal error on external calls from the constructor.\r\n * SMTChecker: Fix internal error on struct constructor with fixed bytes member initialized with string literal.\r\n * Source Locations: Properly set source location of scoped blocks.\r\n * Standard JSON: Properly allow the ``inliner`` setting under ``settings.optimizer.details``.\r\n * Type Checker: Fix internal compiler error related to having mapping types in constructor parameter for abstract contracts.\r\n * Type Checker: Fix internal compiler error when attempting to use an invalid external function type on pre-byzantium EVMs.\r\n * Type Checker: Fix internal compiler error when overriding receive ether function with one having different parameters during inheritance.\r\n * Type Checker: Make errors about (nested) mapping type in event or error parameter into fatal type errors.\r\n * Type Checker: Fix internal compiler error when overriding an implemented modifier with an unimplemented one.\r\n\r\n**AST Changes:**\r\n * Add member `hexValue` for Yul string and hex literals.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\na3d4, Alex Beregszaszi, Alexander Arlt, Anurag Dashputre, Bhargava Shastry, Christian Parpart, cxxboy, Daniel Kirchner, Đorđe Mijović, Franziska Heintel, Harikrishnan Mulackal, Kamil Śliwak, Keqi Huang, Leonardo Alt, Martin Blicha, Mathias Baumann, Maurelian, newbateni, Raphael Roullet, TerranCivilian, Wade Dorrell, William Entriken.\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.5.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/44406833/reactions","total_count":15,"+1":6,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":9,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/41767649","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/41767649/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/41767649/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.4","id":41767649,"node_id":"MDc6UmVsZWFzZTQxNzY3NjQ5","tag_name":"v0.8.4","target_commitish":"develop","name":"Version 0.8.4","draft":false,"prerelease":false,"created_at":"2021-04-21T13:09:37Z","published_at":"2021-04-21T13:51:48Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553603","id":35553603,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNjAz","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36438160,"download_count":688,"created_at":"2021-04-21T14:52:57Z","updated_at":"2021-04-21T14:53:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553636","id":35553636,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNjM2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11833912,"download_count":31712,"created_at":"2021-04-21T14:53:28Z","updated_at":"2021-04-21T14:53:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553590","id":35553590,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNTkw","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7538176,"download_count":1276,"created_at":"2021-04-21T14:52:36Z","updated_at":"2021-04-21T15:07:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553638","id":35553638,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNjM4","name":"solidity_0.8.4.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2741183,"download_count":1505,"created_at":"2021-04-21T14:53:31Z","updated_at":"2021-04-21T14:53:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/solidity_0.8.4.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/35553640","id":35553640,"node_id":"MDEyOlJlbGVhc2VBc3NldDM1NTUzNjQw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25640988,"download_count":196,"created_at":"2021-04-21T14:53:31Z","updated_at":"2021-04-21T14:53:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.4/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.4","body":"Solidity 0.8.4 fixes a bug in the ABI decoder, adds custom structured errors, ``bytes.concat(...)`` and allows more flexible configuration of the SMT checker. For more details, please see the [release announcement](https://blog.soliditylang.org/2021/04/21/solidity-0.8.4-release-announcement/).\r\n\r\nThe release contains an important bugfix. See [decoding from memory bug](https://blog.soliditylang.org/2021/04/21/decoding-from-memory-bug/) blog post for more details.\r\n\r\nThe release also implements custom errors. See [custom errors](https://blog.soliditylang.org/2021/04/21/custom-errors/) blog post for an introduction.\r\n\r\n**Important Bugfixes:**\r\n * ABI Decoder V2: For two-dimensional arrays and specially crafted data in memory, the result of ``abi.decode`` can depend on data elsewhere in memory. Calldata decoding is not affected.\r\n\r\n\r\n**Language Features:**\r\n * Assembly / Yul: Allow hex string literals.\r\n * Possibility to use ``bytes.concat`` with variable number of ``bytes`` and ``bytesNN`` arguments which behaves as a restricted version of `abi.encodePacked` with a more descriptive name.\r\n * Support custom errors via the ``error`` keyword and introduce the ``revert`` statement.\r\n\r\n\r\n**Compiler Features:**\r\n * Analysis: Properly detect circular references to the bytecode of other contracts across all function calls.\r\n * Commandline Interface: Model checker option ``--model-checker-targets`` also accepts ``outOfBounds``.\r\n * Commandline Interface: New model checker option ``--model-checker-contracts`` allows users to select which contracts should be analyzed as the most derived.\r\n * Low-Level Inliner: Inline ordinary jumps to small blocks and jumps to small blocks that terminate.\r\n * NatSpec: Allow ``@notice`` tag on non-public state variables and local variable declarations. The documentation will only be part of the AST, under the field ``documentation``.\r\n * SMTChecker: Deprecate ``pragma experimental SMTChecker;`` and set default model checker engine to ``none``.\r\n * SMTChecker: Report local variables in CHC counterexamples.\r\n * SMTChecker: Report out of bounds index access for arrays and fixed bytes.\r\n * SMTChecker: Support file level functions and constants.\r\n * Standard JSON: Model checker option ``settings.modelChecker.targets`` also accepts ``outOfBounds``.\r\n * Standard JSON: Model checker option ``settings.modelChecker.targets`` takes an array of string targets instead of string of comma separated targets.\r\n * Standard JSON: New model checker option ``settings.modelChecker.contracts`` allows users to select which contracts should be analyzed as the most derived.\r\n * Yul EVM Code Transform: Stack Optimization: Reuse slots of unused function arguments and defer allocating stack slots for return variables until after expression statements and assignments that do not reference them.\r\n * Yul Optimizer: Added a new step FunctionSpecializer, that specializes a function with its literal arguments.\r\n\r\n\r\n**Bugfixes:**\r\n * Antlr Grammar: Fix parsing of import paths involving properly distinguishing between empty and non-empty string literals in general.\r\n * AST Output: Fix ``kind`` field of ``ModifierInvocation`` for base constructor calls.\r\n * Commandline interface: Fix internal error when printing AST and using ``--base-path`` or ``file://`` prefix in imports.\r\n * Commandline interface: Fix standard input bypassing allowed path checks.\r\n * Natspec: Fix internal error related to the `@returns` documentation for a public state variable overriding a function.\r\n * SMTChecker: Fix false positive and false negative on ``push`` as LHS of a compound assignment.\r\n * SMTChecker: Fix false positive in contracts that cannot be deployed.\r\n * SMTChecker: Fix internal error on public getter returning dynamic data on older EVM versions where these are not available.\r\n * SMTChecker: Fix internal error on try-catch with function call in catch block.\r\n * Type Checker: Fix missing error when events are used without an emit statement.\r\n\r\n\r\n**AST Changes:**\r\n * New property for ``ContractDefinition`` nodes: ``usedErrors`` lists AST IDs of all errors used by the contract (even if defined outside).\r\n\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nAlex Beregszaszi, Anurag Dashputre, Behrouz, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Đorđe Mijović, Feiyang Tan, franzihei, Harikrishnan Mulackal, Hongbo Miao, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, Paul Razvan Berg, Thibaut Schaeffer, zayneio, \r\n\r\nIf you want to perform a source build, please only use solidity_0.8.4.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/41767649/reactions","total_count":12,"+1":5,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":7,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/40219278","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/40219278/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/40219278/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.3","id":40219278,"node_id":"MDc6UmVsZWFzZTQwMjE5Mjc4","tag_name":"v0.8.3","target_commitish":"develop","name":"Version 0.8.3","draft":false,"prerelease":false,"created_at":"2021-03-23T11:56:28Z","published_at":"2021-03-23T12:35:16Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863627","id":33863627,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjI3","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36227592,"download_count":276,"created_at":"2021-03-23T13:18:31Z","updated_at":"2021-03-23T13:18:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863630","id":33863630,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjMw","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11657784,"download_count":3466,"created_at":"2021-03-23T13:18:36Z","updated_at":"2021-03-23T13:18:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863631","id":33863631,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjMx","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7428608,"download_count":496,"created_at":"2021-03-23T13:18:38Z","updated_at":"2021-03-23T13:18:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863652","id":33863652,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjUy","name":"solidity_0.8.3.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2692622,"download_count":942,"created_at":"2021-03-23T13:19:11Z","updated_at":"2021-03-23T13:19:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/solidity_0.8.3.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/33863632","id":33863632,"node_id":"MDEyOlJlbGVhc2VBc3NldDMzODYzNjMy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25462766,"download_count":102,"created_at":"2021-03-23T13:18:39Z","updated_at":"2021-03-23T13:18:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.3/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.3","body":"Solidity 0.8.3 is a bugfix release that fixes an important bug about how the optimizer handles the Keccak256 opcode.\r\nFor details on the bug, please see the [bug blog post](https://blog.soliditylang.org/2021/03/23/keccak-optimizer-bug/).\r\n\r\nFor a detailed explanation of the new features and changes, please see the [release blog post](https://blog.soliditylang.org/2021/03/23/solidity-0.8.3-release-announcement/).\r\n\r\n**Important Bugfixes:**\r\n * Optimizer: Fix bug on incorrect caching of Keccak-256 hashes.\r\n\r\n**Compiler Features:**\r\n * Command Line Interface: Drop experimental support for ``--machine evm15``.\r\n * Optimizer: Try to move ``and`` with constant inside ``or`` to improve storage writes of small types.\r\n * Optimizer: Replace multiplications and divisions with powers of two by shifts.\r\n\r\n**Bugfixes:**\r\n * AST Import: For constructors, a public visibility is ignored during importing.\r\n * Error Reporter: Fix handling of carriage return.\r\n * SMTChecker: Fix internal error in BMC on resolving virtual functions inside branches.\r\n * SMTChecker: Fix internal error on ``array.pop`` nested inside 1-tuple.\r\n * SMTChecker: Fix internal error on ``FixedBytes`` constant initialized with string literal.\r\n * SMTChecker: Fix internal error on array slices.\r\n * SMTChecker: Fix internal error on calling public getter on a state variable of type array (possibly nested) of structs.\r\n * SMTChecker: Fix internal error on pushing to ``string`` casted to ``bytes``.\r\n * SMTChecker: Fix bug in virtual functions called by constructors.\r\n\r\n**AST Changes:**\r\n * ModifierInvocation: Add ``kind`` field which can be ``modifierInvocation`` or ``baseConstructorSpecifier``.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nAlex Beregszaszi, Alexander Arlt, Bhargava Shastry, Daniel Kirchner, Djordje Mijovic, ghidello, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann.\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.3.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/40219278/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/39116314","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/39116314/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/39116314/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.2","id":39116314,"node_id":"MDc6UmVsZWFzZTM5MTE2MzE0","tag_name":"v0.8.2","target_commitish":"develop","name":"Version 0.8.2","draft":false,"prerelease":false,"created_at":"2021-03-02T15:54:34Z","published_at":"2021-03-02T19:28:44Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32879407","id":32879407,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODc5NDA3","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":36075048,"download_count":264,"created_at":"2021-03-03T09:33:50Z","updated_at":"2021-03-03T09:33:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32879413","id":32879413,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODc5NDEz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":12232288,"download_count":18627,"created_at":"2021-03-03T09:33:56Z","updated_at":"2021-03-03T09:33:58Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32879416","id":32879416,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODc5NDE2","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7438848,"download_count":483,"created_at":"2021-03-03T09:33:58Z","updated_at":"2021-03-03T09:34:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32879439","id":32879439,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODc5NDM5","name":"solidity_0.8.2.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2669957,"download_count":810,"created_at":"2021-03-03T09:34:40Z","updated_at":"2021-03-03T09:34:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/solidity_0.8.2.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/32882883","id":32882883,"node_id":"MDEyOlJlbGVhc2VBc3NldDMyODgyODgz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25422632,"download_count":74,"created_at":"2021-03-03T10:46:55Z","updated_at":"2021-03-03T10:47:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.2/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.2","body":"Solidity 0.8.2 adds an optimizer stage that can inline small amounts of code to save gas and\r\nprovides more means to work with code documentation by exporting inline comments\r\nand allowing custom natspec tags.\r\n\r\nFor a detailed explanation of the new features and changes, please see the [blog post](https://blog.soliditylang.org/2021/03/02/solidity-0.8.2-release-announcement/).\r\n\r\n\r\n**Compiler Features:**\r\n * AST: Export NatSpec comments above each statement as their documentation.\r\n * Inline Assembly: Do not warn anymore about variables or functions being shadowed by EVM opcodes.\r\n * NatSpec: Allow and export all tags that start with ``@custom:``.\r\n * NatSpec: Provide source locations for parsing errors.\r\n * Optimizer: Simple inlining when jumping to small blocks that jump again after a few side-effect free opcodes.\r\n\r\n\r\n**Bugfixes:**\r\n * AST: Added ``referencedDeclaration`` for enum members.\r\n * Code Generator: Fix internal error when functions are passed as parameters of other callables, when the function types can be implicitly converted, but not identical.\r\n * Parser: Properly parse ``.address`` in some situations.\r\n * SMTChecker: Fix missing type constraints on block and transaction variables in the deployment phase.\r\n * Type Checker: Fix internal error when override specifier is not a contract.\r\n * Type Checker: Make function-hash collision errors into fatal type errors.\r\n\r\n\r\n**AST Changes:**\r\n * Adds ``nameLocation`` to declarations to represent the exact location of the symbolic name.\r\n * Removed the redundant function type \"bytearraypush\" - replaced by \"arraypush\".\r\n * Support field ``documentation`` to hold NatSpec comments above each statement.\r\n\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\nAlex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, dms-yondy, Đorđe Mijović, DragonDev1906, Franziska Heintel, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, Mikko Ohtamaa, nora, Rostyslav, \r\nSanad, ssi91","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/36965535","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/36965535/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/36965535/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.1","id":36965535,"node_id":"MDc6UmVsZWFzZTM2OTY1NTM1","tag_name":"v0.8.1","target_commitish":"develop","name":"Version 0.8.1","draft":false,"prerelease":false,"created_at":"2021-01-27T12:12:43Z","published_at":"2021-01-27T13:00:27Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259326","id":31259326,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5MzI2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35953016,"download_count":1012,"created_at":"2021-01-27T14:05:30Z","updated_at":"2021-01-27T14:05:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259347","id":31259347,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5MzQ3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11514424,"download_count":23669,"created_at":"2021-01-27T14:05:56Z","updated_at":"2021-01-27T14:06:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259351","id":31259351,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5MzUx","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7367168,"download_count":607,"created_at":"2021-01-27T14:06:01Z","updated_at":"2021-01-27T14:06:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259650","id":31259650,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5NjUw","name":"solidity_0.8.1.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2616760,"download_count":650,"created_at":"2021-01-27T14:12:25Z","updated_at":"2021-01-27T14:12:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/solidity_0.8.1.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/31259354","id":31259354,"node_id":"MDEyOlJlbGVhc2VBc3NldDMxMjU5MzU0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":25319453,"download_count":79,"created_at":"2021-01-27T14:06:03Z","updated_at":"2021-01-27T14:06:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.1","body":"Solidity 0.8.1 introduces many new features for the SMTChecker, updates the emscripten version for building soljson.js to 2.0.12, allows to catch panic errors and adds other small improvements.\r\n\r\nFor a detailed explanation of the new features and changes, please see the [blog post](https://blog.soliditylang.org/2021/01/27/solidity-0.8.1-release-announcement/).\r\n\r\n\r\n**Language Features:**\r\n * Possibility to use ``catch Panic(uint code)`` to catch a panic failure from an external call.\r\n\r\n**Compiler Features:**\r\n * Code Generator: Reduce the cost of ``\u003caddress\u003e.code.length`` by using ``extcodesize`` directly.\r\n * Command Line Interface: Allow ``=`` as separator between library name and address in ``--libraries`` commandline option.\r\n * Command Line Interface: New option ``--model-checker-targets`` allows specifying which targets should be checked. The valid options are ``all``, ``constantCondition``, ``underflow``, ``overflow``, ``divByZero``, ``balance``, ``assert``, ``popEmptyArray``, where the default is ``all``. Multiple targets can be chosen at the same time, separated by a comma without spaces: ``underflow,overflow,assert``.\r\n * Command Line Interface: Only accept library addresses with a prefix of ``0x`` in ``--libraries`` commandline option.\r\n * Optimizer: Add rule to replace ``iszero(sub(x,y))`` by ``eq(x,y)``.\r\n * Parser: Report meaningful error if parsing a version pragma failed.\r\n * SMTChecker: Output internal and trusted external function calls in a counterexample's transaction trace.\r\n * SMTChecker: Show ``msg.value`` in counterexample transaction traces when greater than 0.\r\n * SMTChecker: Show contract name in counterexample function call.\r\n * SMTChecker: Support ABI functions as uninterpreted functions.\r\n * SMTChecker: Support try/catch statements.\r\n * SMTChecker: Synthesize untrusted functions called externally.\r\n * SMTChecker: Use checked arithmetic by default and support ``unchecked`` blocks.\r\n * Standard JSON: New option ``modelCheckerSettings.targets`` allows specifying which targets should be checked. The valid options are ``all``, ``constantCondition``, ``underflow``, ``overflow``, ``divByZero``, ``balance``, ``assert``, ``popEmptyArray``, where the default is ``all``. Multiple targets can be chosen at the same time, separated by a comma without spaces: ``underflow,overflow,assert``.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix length check when decoding malformed error data in catch clause.\r\n * Control Flow Graph: Fix missing error caused by read from/write to uninitialized variables.\r\n * SMTChecker: Fix false negatives in overriding modifiers and functions.\r\n * SMTChecker: Fix false negatives in the presence of inline assembly.\r\n * SMTChecker: Fix false negatives when analyzing external function calls.\r\n * SMTChecker: Fix internal error on ``block.chainid``.\r\n * SMTChecker: Fix internal error on pushing string literal to ``bytes`` array.\r\n * SMTChecker: Fix missing type constraints for block variables.\r\n * Type Checker: Fix infinite loop when accessing circular constants from inline assembly.\r\n * Type Checker: Fix internal error caused by constant structs containing mappings.\r\n * Type System: Disallow implicit conversion from ``uintN`` to ``intM`` when ``M \u003e N``, and by extension, explicit conversion between the same types is also disallowed.\r\n\r\n**Build System:**\r\n * Update the soljson.js build to emscripten 2.0.12 and boost 1.75.0.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, az1az1, Bhargava Shastry, BinacsLee, Daniel Kirchner, Dmytro, Đorđe Mijović, Greg Stretton, Harikrishnan Mulackal, Harry Altman, Hui Yu, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, smareasy, \r\nSuriyaa Sundararuban, \r\n\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.0.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/35353872","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/35353872/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/35353872/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.8.0","id":35353872,"node_id":"MDc6UmVsZWFzZTM1MzUzODcy","tag_name":"v0.8.0","target_commitish":"develop","name":"Version 0.8.0","draft":false,"prerelease":false,"created_at":"2020-12-16T17:04:09Z","published_at":"2020-12-16T17:40:49Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29650280","id":29650280,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjUwMjgw","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35687716,"download_count":1279,"created_at":"2020-12-16T17:58:08Z","updated_at":"2020-12-16T17:58:14Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29649997","id":29649997,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQ5OTk3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11346488,"download_count":26929,"created_at":"2020-12-16T17:51:19Z","updated_at":"2020-12-16T17:51:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29650807","id":29650807,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjUwODA3","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7213056,"download_count":1172,"created_at":"2020-12-16T18:08:53Z","updated_at":"2020-12-16T18:08:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29649645","id":29649645,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQ5NjQ1","name":"solidity_0.8.0.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2538492,"download_count":2065,"created_at":"2020-12-16T17:42:01Z","updated_at":"2020-12-16T17:42:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/solidity_0.8.0.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29650004","id":29650004,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjUwMDA0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23990711,"download_count":257,"created_at":"2020-12-16T17:51:29Z","updated_at":"2020-12-16T17:51:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.8.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.8.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.8.0","body":"Solidity 0.8.0 is a breaking release of the Solidity compiler and language. \r\n\r\nFor a detailed explanation of the new features and changes, please see the [blog post](https://blog.soliditylang.org/2020/12/16/solidity-v0.8.0-release-announcement/).\r\n\r\n### Breaking Changes:\r\n* Code Generator: All arithmetic is checked by default. These checks can be disabled using ``unchecked { ... }``.\r\n* Code Generator: Cause a panic if a byte array in storage is accessed whose length is encoded incorrectly.\r\n* Code Generator: Use ``revert`` with error signature ``Panic(uint256)`` and error codes instead of invalid opcode on failing assertions.\r\n* Command Line Interface: JSON fields `abi`, `devdoc`, `userdoc` and `storage-layout` are now sub-objects rather than strings.\r\n* Command Line Interface: Remove the ``--old-reporter`` option.\r\n* Command Line Interface: Remove the legacy ``--ast-json`` option. Only the ``--ast-compact-json`` option is supported now.\r\n* General: Enable ABI coder v2 by default.\r\n* General: Remove global functions ``log0``, ``log1``, ``log2``, ``log3`` and ``log4``.\r\n* Parser: Exponentiation is right associative. ``a**b**c`` is parsed as ``a**(b**c)``.\r\n* Scanner: Remove support for the ``\\b``, ``\\f``, and ``\\v`` escape sequences.\r\n* Standard JSON: Remove the ``legacyAST`` option.\r\n* Type Checker: Function call options can only be given once.\r\n* Type System: Declarations with the name ``this``, ``super`` and ``_`` are disallowed, with the exception of public functions and events.\r\n* Type System: Disallow ``msg.data`` in ``receive()`` function.\r\n* Type System: Disallow ``type(super)``.\r\n* Type System: Disallow enums with more than 256 members.\r\n* Type System: Disallow explicit conversions from negative literals and literals larger than ``type(uint160).max`` to ``address`` type.\r\n* Type System: Disallow the ``byte`` type. It was an alias to ``bytes1``.\r\n* Type System: Explicit conversion to ``address`` type always returns a non-payable ``address`` type. In particular, ``address(u)``, ``address(b)``, ``address(c)`` and ``address(this)`` have the type ``address`` instead of ``address payable`` (Here ``u``, ``b``, and ``c`` are arbitrary variables of type ``uint160``, ``bytes20`` and contract type respectively.)\r\n* Type System: Explicit conversions between two types are disallowed if it changes more than one of sign, width or kind at the same time.\r\n* Type System: Explicit conversions from literals to enums are only allowed if the value fits in the enum.\r\n* Type System: Explicit conversions from literals to integer type is as strict as implicit conversions.\r\n* Type System: Introduce ``address(...).code`` to retrieve the code as ``bytes memory``. The size can be obtained via ``address(...).code.length``, but it will currently always include copying the code.\r\n* Type System: Introduce ``block.chainid`` for retrieving the current chain id.\r\n* Type System: Support ``address(...).codehash`` to retrieve the codehash of an account.\r\n* Type System: The global variables ``tx.origin`` and ``msg.sender`` have type ``address`` instead of ``address payable``.\r\n* Type System: Unary negation can only be used on signed integers, not on unsigned integers.\r\n* View Pure Checker: Mark ``chainid`` as view.\r\n* Yul: Disallow the use of reserved identifiers, such as EVM instructions, even if they are not available in the given dialect / EVM version.\r\n* Yul: The ``assignimmutable`` builtin in the \"EVM with objects\" dialect takes the base offset of the code to modify as an additional argument.\r\n\r\n### Language Features:\r\n* Super constructors can now be called using the member notation e.g. ``M.C(123)``.\r\n\r\n### Bugfixes:\r\n* Type Checker: Perform proper truncating integer arithmetic when using constants in array length expressions.\r\n\r\n### AST Changes:\r\n* New AST Node ``IdentifierPath`` replacing in many places the ``UserDefinedTypeName``.\r\n* New AST Node ``UncheckedBlock`` used for ``unchecked { ... }``.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Mathias Baumann, ssi91\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.8.0.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/35353872/reactions","total_count":14,"+1":11,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":3,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/35353474","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/35353474/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/35353474/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.6","id":35353474,"node_id":"MDc6UmVsZWFzZTM1MzUzNDc0","tag_name":"v0.7.6","target_commitish":"develop","name":"Version 0.7.6","draft":false,"prerelease":false,"created_at":"2020-12-16T14:39:16Z","published_at":"2020-12-16T15:14:10Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643656","id":29643656,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzNjU2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35612860,"download_count":2311,"created_at":"2020-12-16T15:51:57Z","updated_at":"2020-12-16T15:52:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643818","id":29643818,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzODE4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11260472,"download_count":85175,"created_at":"2020-12-16T15:54:14Z","updated_at":"2020-12-16T15:54:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643662","id":29643662,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzNjYy","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7180800,"download_count":872,"created_at":"2020-12-16T15:52:03Z","updated_at":"2020-12-16T15:52:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643647","id":29643647,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzNjQ3","name":"solidity_0.7.6.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2526556,"download_count":1955,"created_at":"2020-12-16T15:51:36Z","updated_at":"2020-12-16T15:51:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/solidity_0.7.6.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/29643664","id":29643664,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5NjQzNjY0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23937175,"download_count":228,"created_at":"2020-12-16T15:52:05Z","updated_at":"2020-12-16T15:52:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.6/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.6","body":"This version of Solidity adds better support for calldata types. Furthermore, the fallback function can now have a parameter and explicitly return data. For details, please see the [blog post](https://blog.soliditylang.org/2020/12/16/solidity-0.7.6-release-announcement).\r\n\r\n### Language Features:\r\n * Code generator: Support conversion from calldata slices to memory and storage arrays.\r\n * Code generator: Support copying dynamically encoded structs from calldata to memory.\r\n * Code generator: Support copying of nested arrays from calldata to memory.\r\n * Scanner: Generate a parser error when comments or unicode strings contain an unbalanced or underflowing set of unicode direction override markers (LRO, RLO, LRE, RLE, PDF).\r\n * The fallback function can now also have a single ``calldata`` argument (equaling ``msg.data``) and return ``bytes memory`` (which will not be ABI-encoded but returned as-is).\r\n * Wasm backend: Add ``i32.select`` and ``i64.select`` instructions.\r\n\r\n### Compiler Features:\r\n * Build System: Optionally support dynamic loading of Z3 and use that mechanism for Linux release builds.\r\n * Code Generator: Avoid memory allocation for default value if it is not used.\r\n * SMTChecker: Apply constant evaluation on binary arithmetic expressions.\r\n * SMTChecker: Create underflow and overflow verification targets for increment/decrement in the CHC engine.\r\n * SMTChecker: Report struct values in counterexamples from CHC engine.\r\n * SMTChecker: Support early returns in the CHC engine.\r\n * SMTChecker: Support getters.\r\n * SMTChecker: Support named arguments in function calls.\r\n * SMTChecker: Support struct constructor.\r\n * Standard-Json: Move the recently introduced ``modelCheckerSettings`` key to ``settings.modelChecker``.\r\n * Standard-Json: Properly filter the requested output artifacts.\r\n\r\n### Bugfixes:\r\n * Code generator: Do not pad empty string literals with a single 32-byte zero field in the ABI coder v1.\r\n * NatSpec: Fix segfault when inheriting return parameter documentation for modifiers with no parameters.\r\n * SMTChecker: Fix cast string literals to byte arrays.\r\n * SMTChecker: Fix internal compiler error when doing bitwise compound assignment with string literals.\r\n * SMTChecker: Fix internal error when trying to generate counterexamples with old z3.\r\n * SMTChecker: Fix segmentation fault that could occur on certain SMT-enabled sources when no SMT solver was available.\r\n * SMTChecker: Fix internal error when ``bytes.push()`` is used as the LHS of an assignment.\r\n * Type Checker: ``super`` is not available in libraries.\r\n * Type Checker: Disallow leading zeroes in sized-types (e.g. ``bytes000032``), but allow them to be treated as identifiers.\r\n * Yul Optimizer: Fix a bug in NameSimplifier where a new name created by NameSimplifier could also be created by NameDispenser.\r\n * Yul Optimizer: Removed NameSimplifier from optimization steps available to users.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Đorđe Mijović, franzihei, Harikrishnan Mulackal, Jaime, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, Matt Williams, midinas, ritzdorf.\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.6.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/35353474/reactions","total_count":4,"+1":2,"-1":0,"laugh":0,"hooray":2,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/34111498","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/34111498/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/34111498/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.5","id":34111498,"node_id":"MDc6UmVsZWFzZTM0MTExNDk4","tag_name":"v0.7.5","target_commitish":"develop","name":"Version 0.7.5","draft":false,"prerelease":false,"created_at":"2020-11-18T12:43:11Z","published_at":"2020-11-18T13:22:12Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459262","id":28459262,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5MjYy","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35555176,"download_count":1041,"created_at":"2020-11-18T14:08:48Z","updated_at":"2020-11-18T14:12:21Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459403","id":28459403,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5NDAz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11286992,"download_count":39059,"created_at":"2020-11-18T14:12:21Z","updated_at":"2020-11-18T14:13:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459450","id":28459450,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5NDUw","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7139840,"download_count":450,"created_at":"2020-11-18T14:13:38Z","updated_at":"2020-11-18T14:13:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459631","id":28459631,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5NjMx","name":"solidity_0.7.5.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2465230,"download_count":1234,"created_at":"2020-11-18T14:18:58Z","updated_at":"2020-11-18T14:19:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/solidity_0.7.5.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/28459453","id":28459453,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4NDU5NDUz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23865884,"download_count":61,"created_at":"2020-11-18T14:13:43Z","updated_at":"2020-11-18T14:13:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.5/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.5","body":"This version of Solidity adds a new way to select which ABI coder to use in preparation for making ABI coder v2 the default for 0.8.0. Another notable feature is the option to compile via the new experimental Yul-based compiler pipeline.\r\n\r\n### Language Features\r\n * Ability to select the abi coder using ``pragma abicoder v1`` and ``pragma abicoder v2``.\r\n * Inline Assembly: Use ``.offset`` and ``.length`` for calldata variables of dynamic array type to access their calldata offset and length (number of elements). Both of them can also be assigned to.\r\n * Immutable variables with literal number values are considered pure.\r\n\r\n### Compiler Features\r\n * Assembler: Perform linking in assembly mode when library addresses are provided.\r\n * Command Line Interface: New option ``--experimental-via-ir`` allows switching compilation process to go through the Yul intermediate representation. This is highly experimental and is used for development purposes.\r\n * Command Line Interface: New option ``--model-checker-timeout`` sets a timeout in milliseconds for each individual query performed by the SMTChecker.\r\n * Command Line Interface: Report error if file could not be read in ``--standard-json`` mode.\r\n * Command Line interface: Report proper error for each output file which could not be written. Previously an exception was thrown, and execution aborted, on the first error.\r\n * SMTChecker: Add division by zero checks in the CHC engine.\r\n * SMTChecker: More precise analysis of external calls using ``this``.\r\n * SMTChecker: Support ``selector`` for expressions with value known at compile-time.\r\n * Standard JSON: New option ``modelCheckerSettings.timeout`` sets a timeout in milliseconds for each individual query performed by the SMTChecker.\r\n * Standard JSON: New option ``settings.viaIR`` allows the same switch as ``--experimental-via-ir`` on the commandline.\r\n\r\n### Bugfixes\r\n * Code generator: Fix missing creation dependency tracking for abstract contracts.\r\n * Command Line Interface: Fix write error when the directory passed to ``--output-dir`` ends with a slash.\r\n * Command Line Interface: Reject duplicate libraries in ``--libraries`` option instead of arbitrarily choosing one.\r\n * NatSpec: Fix internal error when inheriting return parameter documentation but the parameter names differ between base and inherited.\r\n * SMTChecker: Fix CHC false positives when branches are used inside modifiers.\r\n * SMTChecker: Fix false negative in modifier applied multiple times.\r\n * SMTChecker: Fix incorrect counterexamples reported by the CHC engine.\r\n * SMTChecker: Fix internal error in the BMC engine when inherited contract from a different source unit has private state variables.\r\n * SMTChecker: Fix internal error on conversion from string literal to byte.\r\n * SMTChecker: Fix internal error when ``array.push()`` is used as the LHS of an assignment.\r\n * SMTChecker: Fix internal error when assigning state variable via contract's name.\r\n * SMTChecker: Fix internal error when using tuples of rational literals inside the conditional operator.\r\n * SMTChecker: Fix lack of reporting potential violations when using only the CHC engine.\r\n * Standard JSON: Fix library addresses specified in ``libraries`` being used for linking even if the file names do not match.\r\n\r\n### AST Changes\r\n * New member ``suffix`` for inline assembly identifiers. Currently supported values are ``\"slot\"``, ``\"offset\"`` and ``\"length\"`` to access the components of a Solidity variable.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Kamil Śliwak, Leonardo Alt, Christian Parpart, Martin Blicha, Đorđe Mijović, Harikrishnan Mulackal, Alexander Arlt, Mathias Baumann, DELL, Eric Bouchut, RishiGondkar, a3d4, cakesoft-khushi\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.5.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/33157263","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/33157263/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/33157263/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/preview-0.8.x","id":33157263,"node_id":"MDc6UmVsZWFzZTMzMTU3MjYz","tag_name":"preview-0.8.x","target_commitish":"breaking","name":"Preview of 0.8.x","draft":false,"prerelease":true,"created_at":"2020-10-26T17:49:38Z","published_at":"2020-10-28T11:09:16Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27631326","id":27631326,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3NjMxMzI2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35534164,"download_count":33,"created_at":"2020-10-28T11:12:45Z","updated_at":"2020-10-28T11:12:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/preview-0.8.x/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27631332","id":27631332,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3NjMxMzMy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9814096,"download_count":894,"created_at":"2020-10-28T11:12:52Z","updated_at":"2020-10-28T11:12:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/preview-0.8.x/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27631324","id":27631324,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3NjMxMzI0","name":"solc.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7092736,"download_count":65,"created_at":"2020-10-28T11:12:40Z","updated_at":"2020-10-28T11:12:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/preview-0.8.x/solc.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27631333","id":27631333,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3NjMxMzMz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23741262,"download_count":25,"created_at":"2020-10-28T11:12:54Z","updated_at":"2020-10-28T11:12:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/preview-0.8.x/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/preview-0.8.x","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/preview-0.8.x","body":"This is a preview release of the Solidity 0.8.x series.\r\n\r\nRead more about it in the [blog post](https://solidity.ethereum.org/2020/10/28/solidity-0.8.x-preview/).","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/32742805","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/32742805/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/32742805/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.4","id":32742805,"node_id":"MDc6UmVsZWFzZTMyNzQyODA1","tag_name":"v0.7.4","target_commitish":"develop","name":"Version 0.7.4","draft":false,"prerelease":false,"created_at":"2020-10-19T13:13:30Z","published_at":"2020-10-19T13:55:29Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27180034","id":27180034,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgwMDM0","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35464828,"download_count":857,"created_at":"2020-10-19T14:17:47Z","updated_at":"2020-10-19T14:17:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27180038","id":27180038,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgwMDM4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":11192752,"download_count":25712,"created_at":"2020-10-19T14:17:54Z","updated_at":"2020-10-19T14:17:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27180210","id":27180210,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgwMjEw","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":7069184,"download_count":515,"created_at":"2020-10-19T14:21:15Z","updated_at":"2020-10-19T14:21:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27180329","id":27180329,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgwMzI5","name":"solidity_0.7.4.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2425924,"download_count":1284,"created_at":"2020-10-19T14:23:38Z","updated_at":"2020-10-19T14:23:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/solidity_0.7.4.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/27181018","id":27181018,"node_id":"MDEyOlJlbGVhc2VBc3NldDI3MTgxMDE4","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":23709286,"download_count":98,"created_at":"2020-10-19T14:36:12Z","updated_at":"2020-10-19T14:36:21Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.4/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.4","body":"Solidity v0.7.4 fixes a storage corruption bug of medium severity that occurs when copying empty byte arrays to storage.\r\n\r\nTo learn more about the bug and to check if your contract is vulnerable please read this [post](https://solidity.ethereum.org/2020/10/19/empty-byte-array-copy-bug) with further details about the bug.\r\n\r\nWe thank John Toman of the Certora development team for finding and reporting the bug.\r\n\r\nIn addition to the bug fix, this release contains many small fixes and allows you to define constants at file-level. More details can be found in the [release announcement](https://solidity.ethereum.org/2020/10/19/solidity-0.7.4-release-announcement/).\r\n\r\n### Important Bugfixes\r\n * Code Generator: Fix data corruption bug when copying empty byte arrays from memory or calldata to storage.\r\n\r\n\r\n### Language Features\r\n * Constants can be defined at file level.\r\n\r\n\r\n### Compiler Features\r\n * Command Line Interface: New option ``--model-checker-engine`` allows to choose a specific SMTChecker engine. Options are ``all`` (default), ``bmc``, ``chc`` and ``none``.\r\n * Control Flow Graph: Print warning for non-empty functions with unnamed return parameters that are not assigned a value in all code paths.\r\n * SMTChecker: Support ``keccak256``, ``sha256``, ``ripemd160`` and ``ecrecover`` in the CHC engine.\r\n * SMTChecker: Support inline arrays.\r\n * SMTChecker: Support variables ``block``, ``msg`` and ``tx`` in the CHC engine.\r\n * Standard JSON: New option ``modelCheckerSettings.engine`` allows to choose a specific SMTChecker engine. Options are ``all`` (default), ``bmc``, ``chc`` and ``none``.\r\n\r\n\r\n### Bugfixes\r\n * Code generator: Fix ``ABIEncoderV2`` pragma from the current module affecting inherited functions and applied modifiers.\r\n * Code generator: Fix internal compiler error when referencing members via module name but not using the reference.\r\n * Code generator: Fix internal error on returning structs containing mappings from library function.\r\n * Code generator: Use revert instead of invalid opcode for out-of-bounds array index access in getter.\r\n * Contract Level Checker: Add missing check against inheriting functions with ABIEncoderV2 return types in ABIEncoderV1 contracts.\r\n * Name Resolver: Fix shadowing/same-name warnings for later declarations.\r\n * Type Checker: Allow arrays of contract types as type expressions and as arguments for ``abi.decode``.\r\n * Type Checker: Disallow invalid use of library names as type name.\r\n * Type Checker: Fix internal compiler error caused by storage parameters with nested mappings in libraries.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Đorđe Mijović, franzihei, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, Ronald Eddy Jr\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.4.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/32259131","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/32259131/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/32259131/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.3","id":32259131,"node_id":"MDc6UmVsZWFzZTMyMjU5MTMx","tag_name":"v0.7.3","target_commitish":"9bfce1f651b02bc674bd5a82b9d59ae58b338ee7","name":"Version 0.7.3","draft":false,"prerelease":false,"created_at":"2020-10-07T13:45:17Z","published_at":"2020-10-07T14:41:31Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26661745","id":26661745,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYxNzQ1","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35278084,"download_count":829,"created_at":"2020-10-07T15:14:29Z","updated_at":"2020-10-07T15:14:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26661330","id":26661330,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYxMzMw","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9932880,"download_count":8563,"created_at":"2020-10-07T15:04:10Z","updated_at":"2020-10-07T15:04:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26661534","id":26661534,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYxNTM0","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":6967296,"download_count":294,"created_at":"2020-10-07T15:10:01Z","updated_at":"2020-10-07T15:10:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26662457","id":26662457,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYyNDU3","name":"solidity_0.7.3.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2398553,"download_count":658,"created_at":"2020-10-07T15:30:08Z","updated_at":"2020-10-07T15:30:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/solidity_0.7.3.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26661593","id":26661593,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NjYxNTkz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":23507275,"download_count":38,"created_at":"2020-10-07T15:11:25Z","updated_at":"2020-10-07T15:11:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.3/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.3","body":"This release fixes a bug in the routine that copies dynamically-sized arrays to storage. More details about the bug can be found in the [blog post](https://solidity.ethereum.org/2020/10/07/solidity-dynamic-array-cleanup-bug).\r\n\r\n### Important Bugfixes\r\n * Code Generator: Properly cleanup after copying dynamic-array to storage for packed types.\r\n\r\n### Compiler Features\r\n * Code generator: Implemented events with function type as one of its indexed parameters.\r\n * General: Option to stop compilation after parsing stage. Can be used with ``solc --stop-after parsing``\r\n * Optimizer: Optimize ``exp`` when base is ``-1``.\r\n * SMTChecker: Support ``addmod`` and ``mulmod``.\r\n * SMTChecker: Support array slices.\r\n * SMTChecker: Support type conversions.\r\n\r\n### Bugfixes\r\n * Fixed internal compiler errors for certain contracts involving the ``new`` expression.\r\n * JSON AST: Fix internal error when using ``--ast-json`` on a function with memory arguments in ABIEncoderV2 contracts.\r\n * Type Checker: Add missing checks for calls using types incompatible with ABIEncoderV1 in modules where ABIEncoderV2 is not enabled.\r\n * Type Checker: Fix internal compiler error when calling `.push(\u003carg\u003e)` for a storage array with a nested mapping.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Djordje Mijovic, Harikrishnan Mulackal, Leonardo Alt, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.3.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/31890379","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/31890379/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/31890379/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.2","id":31890379,"node_id":"MDc6UmVsZWFzZTMxODkwMzc5","tag_name":"v0.7.2","target_commitish":"51b20bc0872bb9049e205d5547023cb06d1df9db","name":"Version 0.7.2","draft":false,"prerelease":false,"created_at":"2020-09-28T15:14:05Z","published_at":"2020-09-28T16:03:51Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26285446","id":26285446,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg1NDQ2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":35219884,"download_count":742,"created_at":"2020-09-28T16:27:27Z","updated_at":"2020-09-28T16:27:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26287216","id":26287216,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg3MjE2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9887824,"download_count":6638,"created_at":"2020-09-28T17:26:48Z","updated_at":"2020-09-28T17:26:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26285592","id":26285592,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg1NTky","name":"solc-windows.exe","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-ms-dos-executable","state":"uploaded","size":6961664,"download_count":237,"created_at":"2020-09-28T16:31:38Z","updated_at":"2020-09-28T16:31:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/solc-windows.exe"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26287765","id":26287765,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg3NzY1","name":"solidity_0.7.2.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2376690,"download_count":423,"created_at":"2020-09-28T17:45:15Z","updated_at":"2020-09-28T17:45:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/solidity_0.7.2.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26287643","id":26287643,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2Mjg3NjQz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":23397136,"download_count":47,"created_at":"2020-09-28T17:41:46Z","updated_at":"2020-09-28T17:41:47Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.2/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.2","body":"This release of Solidity includes a fix for the \"free functions\" feature introduced in the previous release: Two free functions with the same name and parameter types were not considered an error. For more details, please see [the blog post](https://solidity.ethereum.org/2020/09/28/solidity-0.7.2-release-announcement/).\r\n\r\nThe language support by the SMT checker has also been expanded considerably and the compiler can now export generated internal routines like the ABI encoder and decoder as readable Yul code.\r\n\r\n### Important Bugfixes\r\n * Type Checker: Disallow two or more free functions with identical name (potentially imported and aliased) and parameter types.\r\n\r\n\r\n### Compiler Features\r\n * Export compiler-generated utility sources via standard-json or combined-json.\r\n * Optimizer: Optimize ``exp`` when base is 0, 1 or 2.\r\n * SMTChecker: Keep knowledge about string literals, even through assignment, and thus support the ``.length`` property properly.\r\n * SMTChecker: Support ``address`` type conversion with literals, e.g. ``address(0)``.\r\n * SMTChecker: Support ``revert()``.\r\n * SMTChecker: Support ``type(T).min``, ``type(T).max``, and ``type(I).interfaceId``.\r\n * SMTChecker: Support compound and, or, and xor operators.\r\n * SMTChecker: Support events and low-level logs.\r\n * SMTChecker: Support fixed bytes index access.\r\n * SMTChecker: Support memory allocation, e.g. ``new bytes(123)``.\r\n * SMTChecker: Support shifts.\r\n * SMTChecker: Support structs.\r\n * Type Checker: Explain why oversized hex string literals can not be explicitly converted to a shorter ``bytesNN`` type.\r\n * Type Checker: More detailed error messages why implicit conversions fail.\r\n * Type Checker: Report position of first invalid UTF-8 sequence in ``unicode\"\"`` literals.\r\n * Yul IR Generator: Report source locations related to unimplemented features.\r\n * Yul Optimizer: Inline into functions further down in the call graph first.\r\n * Yul Optimizer: Prune unused parameters in functions.\r\n * Yul Optimizer: Try to simplify function names.\r\n\r\n\r\n### Bugfixes\r\n * Code generator: Fix internal error on stripping dynamic types from return parameters on EVM versions without ``RETURNDATACOPY``.\r\n * Type Checker: Add missing check against nested dynamic arrays in ABI encoding functions when ABIEncoderV2 is disabled.\r\n * Type Checker: Correct the error message for invalid named parameter in a call to refer to the right argument.\r\n * Type Checker: Correct the warning for homonymous, but not shadowing declarations.\r\n * Type Checker: Disallow ``virtual`` for modifiers in libraries.\r\n * Type system: Fix internal error on implicit conversion of contract instance to the type of its ``super``.\r\n * Type system: Fix internal error on implicit conversion of string literal to a calldata string.\r\n * Type system: Fix named parameters in overloaded function and event calls being matched incorrectly if the order differs from the declaration.\r\n * ViewPureChecker: Prevent visibility check on constructors.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Đorđe Mijović, franzihei, Harikrishnan Mulackal, John B Nelson, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Nikesh Nazareth, Omkar Nikhal, Wayne Nilsen\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.2.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/30576498","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/30576498/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/30576498/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.1","id":30576498,"node_id":"MDc6UmVsZWFzZTMwNTc2NDk4","tag_name":"v0.7.1","target_commitish":"f4a555bedca52f4c1d4288375ec1e3abcb3d1d6d","name":"Version 0.7.1","draft":false,"prerelease":false,"created_at":"2020-09-02T12:43:57Z","published_at":"2020-09-02T13:52:23Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24745216","id":24745216,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQ1MjE2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33844456,"download_count":860,"created_at":"2020-09-02T14:36:08Z","updated_at":"2020-09-02T14:36:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24743851","id":24743851,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQzODUx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9605200,"download_count":33081,"created_at":"2020-09-02T14:12:29Z","updated_at":"2020-09-02T14:12:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24745299","id":24745299,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQ1Mjk5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7772083,"download_count":2562,"created_at":"2020-09-02T14:37:29Z","updated_at":"2020-09-02T14:37:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24744859","id":24744859,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQ0ODU5","name":"solidity_0.7.1.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2309527,"download_count":1338,"created_at":"2020-09-02T14:30:10Z","updated_at":"2020-09-02T14:30:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/solidity_0.7.1.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/24744395","id":24744395,"node_id":"MDEyOlJlbGVhc2VBc3NldDI0NzQ0Mzk1","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":22938468,"download_count":50,"created_at":"2020-09-02T14:21:28Z","updated_at":"2020-09-02T14:21:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.1","body":"This release introduces the possibility to define functions at file level. This is a way to define helper-functions that are independent of specific contracts which is much more natural than using internal library functions. Apart from this, the release contains many bugfixes.\r\n\r\n\r\n**Language Features:**\r\n * Allow function definitions outside of contracts, behaving much like internal library functions.\r\n * Code generator: Implementing copying structs from calldata to storage.\r\n\r\n**Compiler Features:**\r\n * SMTChecker: Add underflow and overflow as verification conditions in the CHC engine.\r\n * SMTChecker: Support bitwise or, xor and not operators.\r\n * SMTChecker: Support conditional operator.\r\n * Standard JSON Interface: Do not run EVM bytecode code generation, if only Yul IR or EWasm output is requested.\r\n * Yul Optimizer: LoopInvariantCodeMotion can move reading operations outside for-loops as long as the affected area is not modified inside the loop.\r\n * Yul: Report error when using non-string literals for ``datasize()``, ``dataoffset()``, ``linkersymbol()``, ``loadimmutable()``, ``setimmutable()``.\r\n\r\n**Bugfixes:**\r\n * AST: Remove ``null`` member values also when the compiler is used in standard-json-mode.\r\n * General: Allow `type(Contract).name` for abstract contracts and interfaces.\r\n * Immutables: Disallow assigning immutables more than once during their declaration.\r\n * Immutables: Properly treat complex assignment and increment/decrement as both reading and writing and thus disallow it everywhere for immutable variables.\r\n * Optimizer: Keep side-effects of ``x`` in ``byte(a, shr(b, x))`` even if the constants ``a`` and ``b`` would make the expression zero unconditionally. This optimizer rule is very hard if not impossible to trigger in a way that it can result in invalid code, though.\r\n * References Resolver: Fix internal bug when using constructor for library.\r\n * Scanner: Fix bug where whitespace would be allowed within the ``-\u003e`` token (e.g. ``function f() - \u003e x {}`` becomes invalid in inline assembly and Yul).\r\n * SMTChecker: Fix internal error in BMC function inlining.\r\n * SMTChecker: Fix internal error on array implicit conversion.\r\n * SMTChecker: Fix internal error on fixed bytes index access.\r\n * SMTChecker: Fix internal error on lvalue unary operators with tuples.\r\n * SMTChecker: Fix internal error on tuple assignment.\r\n * SMTChecker: Fix internal error on tuples of one element that have tuple type.\r\n * SMTChecker: Fix soundness of array ``pop``.\r\n * Type Checker: Disallow ``using for`` directive inside interfaces.\r\n * Type Checker: Disallow signed literals as exponent in exponentiation operator.\r\n * Type Checker: Disallow structs containing nested mapping in memory as parameters for library functions.\r\n * Yul Optimizer: Ensure that Yul keywords are not mistakenly used by the NameDispenser and VarNameCleaners. The bug would manifest as uncompilable code.\r\n * Yul Optimizer: Make function inlining order more resilient to whether or not unrelated source files are present.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, cakesoft-omkar, Christian Parpart, Daniel Kirchner, Đorđe Mijović, Goh Chun Lin, hactrox, Harikrishnan Mulackal, Harry Altman, Jason Cobb, Kamil Śliwak, Leonardo Alt, Mathias Baumann.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.1.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/29021369","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/29021369/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/29021369/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.7.0","id":29021369,"node_id":"MDc6UmVsZWFzZTI5MDIxMzY5","tag_name":"v0.7.0","target_commitish":"9e61f92bd4d19b430cb8cb26f1c7cf79f1dff380","name":"Version 0.7.0","draft":false,"prerelease":false,"created_at":"2020-07-28T12:33:04Z","published_at":"2020-07-28T13:22:52Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23327164","id":23327164,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzI3MTY0","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33837084,"download_count":960,"created_at":"2020-07-28T15:03:34Z","updated_at":"2020-07-28T15:03:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23322921","id":23322921,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzIyOTIx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9506896,"download_count":30074,"created_at":"2020-07-28T13:41:20Z","updated_at":"2020-07-28T13:41:21Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23323392","id":23323392,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzIzMzky","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7689749,"download_count":734,"created_at":"2020-07-28T13:54:37Z","updated_at":"2020-07-28T13:54:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23323535","id":23323535,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzIzNTM1","name":"solidity_0.7.0.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2268959,"download_count":1696,"created_at":"2020-07-28T13:55:28Z","updated_at":"2020-07-28T13:55:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/solidity_0.7.0.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23323137","id":23323137,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMzIzMTM3","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":22790374,"download_count":85,"created_at":"2020-07-28T13:49:36Z","updated_at":"2020-07-28T13:49:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.7.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.7.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.7.0","body":"Solidity 0.7.0 is a breaking release of the Solidity compiler and language.\r\n\r\nThis release does not include many features but rather changes that require a\r\nbackwards-incompatible adjustment in syntax or semantics. For a detailed explanation,\r\nplease see the [documentation](https://solidity.readthedocs.io/en/latest/070-breaking-changes.html).\r\n\r\nMost notably, further cleanup of visibility and state mutability has been performed\r\nand several unpopular keywords have been removed. Types with mappings\r\nin memory are disallowed and shift and exponentiation operations use more reasonable types.\r\n\r\nSince we usually do not backport bugfixes, it is recommended to upgrade all code to be compatible with Solidity v.0.7.0.\r\n\r\nThe [solidity-upgrade tool](https://solidity.readthedocs.io/en/latest/using-the-compiler.html#solidity-upgrade) can help you to semi-automatically upgrade your contracts to breaking language changes. While ``solidity-upgrade`` carries out a large part of the work, your contracts will most likely need further manual adjustments.\r\n\r\nYou can find a guide on how to update your code [here](https://solidity.readthedocs.io/en/latest/070-breaking-changes.html#how-to-update-your-code).\r\n\r\nNote that changes listed below are the **changes between 0.6.12 and 0.7.0**. For changes introduced\r\nduring the 0.6.x series, please see the individual changelogs or release announcements on this blog.\r\n\r\n**Breaking Changes:**\r\n * Inline Assembly: Disallow ``.`` in user-defined function and variable names.\r\n * Inline Assembly: Slot and offset of storage pointer variable ``x`` are accessed via ``x.slot`` and ``x.offset`` instead of ``x_slot`` and ``x_offset``.\r\n * JSON AST: Mark hex string literals with ``kind: \"hexString\"``.\r\n * JSON AST: Remove members with ``null`` value from JSON output.\r\n * Parser: Disallow ``gwei`` as identifier.\r\n * Parser: Disallow dot syntax for ``value`` and ``gas``.\r\n * Parser: Disallow non-printable characters in string literals.\r\n * Parser: Introduce Unicode string literals: ``unicode\"😃\"``.\r\n * Parser: NatSpec comments on variables are only allowed for public state variables.\r\n * Parser: Remove the ``finney`` and ``szabo`` denominations.\r\n * Parser: Remove the identifier ``now`` (replaced by ``block.timestamp``).\r\n * Reference Resolver: ``using A for B`` only affects the contract it is mentioned in and not all derived contracts\r\n * Type Checker: Disallow ``virtual`` for library functions.\r\n * Type Checker: Disallow assignments to state variables that contain nested mappings.\r\n * Type checker: Disallow events with same name and parameter types in inheritance hierarchy.\r\n * Type Checker: Disallow shifts by signed types.\r\n * Type Checker: Disallow structs and arrays in memory or calldata if they contain nested mappings.\r\n * Type Checker: Exponentiation and shifts of literals by non-literals will always use ``uint256`` or ``int256`` as a type.\r\n * Yul: Disallow consecutive and trailing dots in identifiers. Leading dots were already disallowed.\r\n * Yul: Disallow EVM instruction `pc()`.\r\n\r\n\r\n**Language Features:**\r\n * Inheritance: Allow overrides to have stricter state mutability: ``view`` can override ``nonpayable`` and ``pure`` can override ``view``.\r\n * Parser: Deprecate visibility for constructors.\r\n * State mutability: Do not issue recommendation for stricter mutability for virtual functions but do issue it for functions that override.\r\n\r\n\r\n**Compiler Features:**\r\n * SMTChecker: Report multi-transaction counterexamples including the function calls that initiate the transactions. This does not include concrete values for reference types and reentrant calls.\r\n * Variable declarations using the ``var`` keyword are not recognized anymore.\r\n\r\n\r\n**Bugfixes:**\r\n * Inheritance: Disallow public state variables overwriting ``pure`` functions.\r\n * NatSpec: Constructors and functions have consistent userdoc output.\r\n * SMTChecker: Fix internal error when assigning to a 1-tuple.\r\n * SMTChecker: Fix internal error when tuples have extra effectless parenthesis.\r\n * State Mutability: Constant public state variables are considered ``pure`` functions.\r\n * Type Checker: Fixing deduction issues on function types when function call has named arguments.\r\n * Immutables: Fix internal compiler error when immutables are not assigned.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, franzihei, Harikrishnan Mulackal, Leonardo Alt, Mathias Baumann.\r\n\r\nIf you want to perform a source build, please only use solidity_0.7.0.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/28784371","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/28784371/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/28784371/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.12","id":28784371,"node_id":"MDc6UmVsZWFzZTI4Nzg0Mzcx","tag_name":"v0.6.12","target_commitish":"27d51765c0623c9f6aef7c00214e9fe705c331b1","name":"Version 0.6.12","draft":false,"prerelease":false,"created_at":"2020-07-22T13:34:41Z","published_at":"2020-07-22T14:55:45Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23141686","id":23141686,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTQxNjg2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33778600,"download_count":2886,"created_at":"2020-07-22T16:40:14Z","updated_at":"2020-07-22T16:40:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23140250","id":23140250,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTQwMjUw","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9474128,"download_count":123205,"created_at":"2020-07-22T15:50:28Z","updated_at":"2020-07-22T15:50:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23140242","id":23140242,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTQwMjQy","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7655617,"download_count":1993,"created_at":"2020-07-22T15:50:12Z","updated_at":"2020-07-22T15:50:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23138634","id":23138634,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTM4NjM0","name":"solidity_0.6.12.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2252802,"download_count":2851,"created_at":"2020-07-22T14:58:29Z","updated_at":"2020-07-22T14:58:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/solidity_0.6.12.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/23140706","id":23140706,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMTQwNzA2","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":22721548,"download_count":152,"created_at":"2020-07-22T16:02:42Z","updated_at":"2020-07-22T16:02:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.12/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.12","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.12","body":"This release of Solidity adds more flexibility to inheriting NatSpec and improves the handling of the stack.\r\n\r\n\r\n**Language Features:**\r\n * NatSpec: Implement tag ``@inheritdoc`` to copy documentation from a specific base contract.\r\n * Wasm backend: Add ``i32.ctz``, ``i64.ctz``, ``i32.popcnt``, and ``i64.popcnt``.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: Avoid double cleanup when copying to memory.\r\n * Code Generator: Evaluate ``keccak256`` of string literals at compile-time.\r\n * Optimizer: Add rule to remove shifts inside the byte opcode.\r\n * Peephole Optimizer: Add rule to remove swap after dup.\r\n * Peephole Optimizer: Remove unnecessary masking of tags.\r\n * Yul EVM Code Transform: Free stack slots directly after visiting the right-hand-side of variable declarations instead of at the end of the statement only.\r\n\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Fix error in events with indices of type static array.\r\n * SMTChecker: Fix internal error in sequential storage array pushes (``push().push()``).\r\n * SMTChecker: Fix internal error when using bitwise operators on fixed bytes type.\r\n * SMTChecker: Fix internal error when using compound bitwise operator assignments on array indices inside branches.\r\n * Type Checker: Fix internal compiler error related to oversized types.\r\n * Type Checker: Fix overload resolution in combination with ``{value: ...}``.\r\n\r\n\r\n**Build System**\r\n * Update internal dependency of jsoncpp to 1.9.3.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Daniel Kirchner, Djordje Mijovic, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Sachin Grover, Tiny熊, \r\n\r\nIf you want to perform a source build, please only use solidity_0.6.12.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/28784371/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":1,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/28306260","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/28306260/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/28306260/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.11","id":28306260,"node_id":"MDc6UmVsZWFzZTI4MzA2MjYw","tag_name":"v0.6.11","target_commitish":"5ef660b17abaa6f9e3b0dd8a949268806ececcd4","name":"Version 0.6.11","draft":false,"prerelease":false,"created_at":"2020-07-07T13:34:38Z","published_at":"2020-07-07T14:40:53Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22647106","id":22647106,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQ3MTA2","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33639796,"download_count":866,"created_at":"2020-07-07T16:52:05Z","updated_at":"2020-07-07T16:52:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22644402","id":22644402,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQ0NDAy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9404496,"download_count":11026,"created_at":"2020-07-07T15:15:43Z","updated_at":"2020-07-07T15:15:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22644893","id":22644893,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQ0ODkz","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7595468,"download_count":477,"created_at":"2020-07-07T15:33:27Z","updated_at":"2020-07-07T15:33:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22643328","id":22643328,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQzMzI4","name":"solidity_0.6.11.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2229063,"download_count":1060,"created_at":"2020-07-07T14:41:56Z","updated_at":"2020-07-07T14:41:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/solidity_0.6.11.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/22644550","id":22644550,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNjQ0NTUw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":22629520,"download_count":69,"created_at":"2020-07-07T15:21:30Z","updated_at":"2020-07-07T15:21:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.11/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.11","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.11","body":"This release adds inheritance to NatSpec comments, improves debugging data output and fixes some minor issues with opening up ``calldata`` for non-external functions.\r\n\r\n\r\n**Language Features:**\r\n * General: Add unit denomination ``gwei``\r\n * Yul: Support ``linkersymbol`` builtin in standalone assembly mode to refer to library addresses.\r\n * Yul: Support using string literals exceeding 32 bytes as literal arguments for builtins.\r\n\r\n\r\n**Compiler Features:**\r\n * NatSpec: Add fields ``kind`` and ``version`` to the JSON output.\r\n * NatSpec: Inherit tags from unique base functions if derived function does not provide any.\r\n * Commandline Interface: Prevent some incompatible commandline options from being used together.\r\n * NatSpec: Support NatSpec comments on events.\r\n * Yul Optimizer: Store knowledge about storage / memory after ``a := sload(x)`` / ``a := mload(x)``.\r\n * SMTChecker: Support external calls to unknown code.\r\n * Source Maps: Also tag jumps into and out of Yul functions as jumps into and out of functions.\r\n\r\n\r\n**Bugfixes:**\r\n * NatSpec: Do not consider ``////`` and ``/***`` as NatSpec comments.\r\n * Type Checker: Disallow constructor parameters with ``calldata`` data location.\r\n * Type Checker: Do not disallow assigning to calldata variables.\r\n * Type Checker: Fix internal error related to ``using for`` applied to non-libraries.\r\n * Wasm backend: Fix code generation for for-loops with pre statements.\r\n * Wasm backend: Properly support both ``i32.drop`` and ``i64.drop``, and remove ``drop``.\r\n * Yul: Disallow the same variable to occur multiple times on the left-hand side of an assignment.\r\n * Yul: Fix source location of variable multi-assignment.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Daniel Kirchner, Djordje Mijovic, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Mathias Baumann, step21\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.11.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/27453843","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/27453843/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/27453843/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.10","id":27453843,"node_id":"MDc6UmVsZWFzZTI3NDUzODQz","tag_name":"v0.6.10","target_commitish":"00c0fcaffd5717a004d9e8123d95e8eda4d37107","name":"Version 0.6.10","draft":false,"prerelease":false,"created_at":"2020-06-11T13:11:19Z","published_at":"2020-06-11T14:34:23Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21659523","id":21659523,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjU5NTIz","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33559616,"download_count":874,"created_at":"2020-06-11T15:36:04Z","updated_at":"2020-06-11T15:36:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21658041","id":21658041,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjU4MDQx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9343056,"download_count":13716,"created_at":"2020-06-11T14:54:16Z","updated_at":"2020-06-11T14:54:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21659360","id":21659360,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjU5MzYw","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7548127,"download_count":685,"created_at":"2020-06-11T15:33:03Z","updated_at":"2020-06-11T15:33:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21661419","id":21661419,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjYxNDE5","name":"solidity_0.6.10.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2205983,"download_count":1279,"created_at":"2020-06-11T16:15:07Z","updated_at":"2020-06-11T16:15:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/solidity_0.6.10.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21658130","id":21658130,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNjU4MTMw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":21179220,"download_count":67,"created_at":"2020-06-11T14:56:39Z","updated_at":"2020-06-11T14:56:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.10/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.10","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.10","body":"Solidity 0.6.10 is a bugfix release that fixes a bug introduced in 0.6.9 related to library functions with calldata parameters that are called via ``using for``. For more details on the bug, pleas see the [blog post](https://solidity.ethereum.org/2020/06/11/solidity-0610-release-announcement/).\r\n\r\nIn addition to that, the compiler now generates error codes that could be useful for IDEs or automated analysis tools.\r\n\r\n**Important Bugfixes:**\r\n * Fixed a bug related to internal library functions with ``calldata`` parameters called via ``using for``.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Re-group help screen.\r\n * Output compilation error codes in standard-json and when using ``--error-codes``.\r\n * Yul: Raise warning for switch statements that only have a default and no other cases.\r\n\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Fix internal error when encoding tuples of tuples.\r\n * SMTChecker: Fix aliasing soundness after pushing to an array pointer.\r\n * Type system: Fix internal compiler error on calling externally a function that returns variables with calldata location.\r\n * Type system: Fix bug where a bound function was not found if ``using for`` is applied to explicit reference types.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Daniel Kirchner, Djordje Mijovic, ethers, Harikrishnan Mulackal, Igor Line, Kamil Śliwak, Leonardo Alt, Leonardo, Paul Razvan Berg, TrentZ\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.10.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/27223083","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/27223083/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/27223083/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.9","id":27223083,"node_id":"MDc6UmVsZWFzZTI3MjIzMDgz","tag_name":"v0.6.9","target_commitish":"3e3065ac00bf835cc669120b74b24e00361dc767","name":"Version 0.6.9","draft":false,"prerelease":false,"created_at":"2020-06-04T15:27:00Z","published_at":"2020-06-04T15:31:14Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21571753","id":21571753,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNTcxNzUz","name":"solc-macos","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":33529720,"download_count":937,"created_at":"2020-06-09T09:40:23Z","updated_at":"2020-06-09T09:40:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/solc-macos"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21416608","id":21416608,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNDE2NjA4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9322576,"download_count":9859,"created_at":"2020-06-04T16:08:26Z","updated_at":"2020-06-04T16:08:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21416494","id":21416494,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNDE2NDk0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7535416,"download_count":554,"created_at":"2020-06-04T16:05:12Z","updated_at":"2020-06-04T16:05:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21416873","id":21416873,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNDE2ODcz","name":"solidity_0.6.9.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2198871,"download_count":552,"created_at":"2020-06-04T16:16:45Z","updated_at":"2020-06-04T16:16:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/solidity_0.6.9.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21416700","id":21416700,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxNDE2NzAw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":21154684,"download_count":61,"created_at":"2020-06-04T16:10:52Z","updated_at":"2020-06-04T16:10:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.9/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.9","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.9","body":"This is the first release of Solidity where the solc-js / soljson binary includes the Z3 SMT solver built-in. This means you can use ``pragma experimental SMTChecker;`` even without a local install of z3. Note that this causes an increase in the binary size.\r\n\r\nOn the language side, the ``calldata`` data location for variables and parameters is now allowed everywhere, even in internal functions.\r\n\r\nTo enhance developer experience, the option ``--base-path`` allows you to specify a root path of your contract directory structure to help with imports.\r\n\r\n\r\n**Language Features:**\r\n * Permit calldata location for all variables.\r\n * NatSpec: Support NatSpec comments on state variables.\r\n * Yul: EVM instruction `pc()` is marked deprecated and will be removed in the next breaking release.\r\n\r\n\r\n**Compiler Features:**\r\n * Build system: Update the soljson.js build to emscripten 1.39.15 and boost 1.73.0 and include Z3 for integrated SMTChecker support without the callback mechanism.\r\n * Build system: Switch the emscripten build from the fastcomp backend to the upstream backend.\r\n * Code Generator: Do not introduce new internal source references for small compiler routines.\r\n * Commandline Interface: Adds new option ``--base-path PATH`` to use the given path as the root of the source tree (defaults to the root of the filesystem).\r\n * SMTChecker: Support array ``length``.\r\n * SMTChecker: Support array ``push`` and ``pop``.\r\n * SMTChecker: General support to BitVectors and the bitwise ``and`` operator.\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Trigger proper unimplemented errors on certain array copy operations.\r\n * Commandline Interface: Fix internal error when using ``--assemble`` or ``--yul`` options with ``--machine ewasm`` but without specifying ``--yul-dialect``.\r\n * NatSpec: DocString block is terminated when encountering an empty line.\r\n * Optimizer: Fixed a bug in BlockDeDuplicator.\r\n * Scanner: Fix bug when two empty NatSpec comments lead to scanning past EOL.\r\n * SMTChecker: Fix internal error on try/catch clauses with parameters.\r\n * SMTChecker: Fix internal error when applying arithmetic operators to fixed point variables.\r\n * SMTChecker: Fix internal error when assigning to index access inside branches.\r\n * SMTChecker: Fix internal error when short circuiting Boolean expressions with function calls in state variable initialization.\r\n * Type Checker: Disallow assignments to storage variables of type ``mapping``.\r\n * Type Checker: Disallow inline arrays of non-nameable types.\r\n * Type Checker: Disallow usage of override with non-public state variables.\r\n * Type Checker: Fix internal compiler error when accessing members of array slices.\r\n * Type Checker: Fix internal compiler error when forward referencing non-literal constants from inline assembly.\r\n * Type Checker: Fix internal compiler error when trying to decode too large static arrays.\r\n * Type Checker: Fix wrong compiler error when referencing an overridden function without calling it.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, Flash Sheridan, Harikrishnan Mulackal, Jason Cobb, Juan Franco, Kamil Śliwak, Leonardo Alt, Mathias Baumann, ssi91, William Entriken\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.9.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/26502704","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/26502704/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/26502704/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.8","id":26502704,"node_id":"MDc6UmVsZWFzZTI2NTAyNzA0","tag_name":"v0.6.8","target_commitish":"0bbfe45376768007a38bfd65f8ea449935306037","name":"Version 0.6.8","draft":false,"prerelease":false,"created_at":"2020-05-14T11:53:00Z","published_at":"2020-05-14T12:45:27Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20729762","id":20729762,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNzI5NzYy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9211984,"download_count":21142,"created_at":"2020-05-14T13:13:07Z","updated_at":"2020-05-14T13:13:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.8/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20731304","id":20731304,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNzMxMzA0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7433765,"download_count":847,"created_at":"2020-05-14T14:15:47Z","updated_at":"2020-05-14T14:15:47Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.8/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20728930","id":20728930,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNzI4OTMw","name":"solidity_0.6.8.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2167606,"download_count":1160,"created_at":"2020-05-14T12:46:43Z","updated_at":"2020-05-14T12:46:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.8/solidity_0.6.8.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20729997","id":20729997,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNzI5OTk3","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8780768,"download_count":73,"created_at":"2020-05-14T13:23:12Z","updated_at":"2020-05-14T13:23:12Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.8/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.8","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.8","body":"This release of Solidity fixes three important bugs in the code generator:\r\n - a missing callvalue check for constructors\r\n - a bug connected with array slices for arrays containing dynamic types\r\n - literal strings containing backslash characters in connection with ABIEncoderV2\r\n\r\nIn addition to that:\r\n - we introduced a recommendation to use [SPDX license identifiers](https://spdx.dev/ids/#how) for all source files which are also stored in the contract metadata\r\n - it is possible to access the min and max values of an integer type directly\r\n - WebAssembly support has been extended\r\n\r\n\r\n**Important Bugfixes:**\r\n * Add missing callvalue check to the creation code of a contract that does not define a constructor but has a base that does define a constructor.\r\n * Disallow array slices of arrays with dynamically encoded base types.\r\n * String literals containing backslash characters can no longer cause incorrect code to be generated when passed directly to function calls or encoding functions when ABIEncoderV2 is active.\r\n\r\n\r\n**Language Features:**\r\n * Implemented ``type(T).min`` and ``type(T).max`` for every integer type ``T`` that returns the smallest and largest value representable by the type.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Don't ignore `--yul-optimizations` in assembly mode.\r\n * Allow using abi encoding functions for calldata array slices without explicit casts.\r\n * Wasm binary output: Implement ``br`` and ``br_if``.\r\n\r\n\r\n**Bugfixes:**\r\n * ABI: Skip ``private`` or ``internal`` constructors.\r\n * Fixed an \"Assembly Exception in Bytecode\" error where requested functions were generated twice.\r\n * Natspec: Fixed a bug that ignored ``@return`` tag when no other developer-documentation tags were present.\r\n * Type Checker: Checks if a literal exponent in the ``**`` operation is too large or fractional.\r\n * Type Checker: Disallow accessing ``runtimeCode`` for contract types that contain immutable state variables.\r\n * Yul Assembler: Fix source location of variable declarations without value.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Harikrishnan Mulackal, Kamil Śliwak, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.8.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/26139471","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/26139471/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/26139471/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.7","id":26139471,"node_id":"MDc6UmVsZWFzZTI2MTM5NDcx","tag_name":"v0.6.7","target_commitish":"b8d736ae0c506b1b3cf5d2456af67e8dc2c0ca8e","name":"Version 0.6.7","draft":false,"prerelease":false,"created_at":"2020-05-04T13:43:01Z","published_at":"2020-05-04T14:47:46Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20403858","id":20403858,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNDAzODU4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":9105488,"download_count":10691,"created_at":"2020-05-04T15:29:26Z","updated_at":"2020-05-04T15:29:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.7/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20404085","id":20404085,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNDA0MDg1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7368787,"download_count":637,"created_at":"2020-05-04T15:36:31Z","updated_at":"2020-05-04T15:36:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.7/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20401490","id":20401490,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNDAxNDkw","name":"solidity_0.6.7.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2132121,"download_count":1579,"created_at":"2020-05-04T14:49:28Z","updated_at":"2020-05-04T14:49:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.7/solidity_0.6.7.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20404043","id":20404043,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwNDA0MDQz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8648980,"download_count":51,"created_at":"2020-05-04T15:35:22Z","updated_at":"2020-05-04T15:35:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.7/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.7","body":"Solidity version 0.6.7 introduces support for EIP-165 via `type(InterfaceName).interfaceId`.\r\n\r\n\r\n**Language Features:**\r\n * Add support for EIP 165 interface identifiers with `type(I).interfaceId`.\r\n * Allow virtual modifiers inside abstract contracts to have empty body.\r\n\r\n\r\n**Compiler Features:**\r\n * Optimizer: Simplify repeated AND and OR operations.\r\n * Option to specify optimization steps to be performed by Yul optimizer with `--yul-optimizations` in the commandline interface or `optimizer.details.yulDetails.optimizerSteps` in standard-json.\r\n * Standard Json Input: Support the prefix ``file://`` in the field ``urls``.\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Fix internal error when fixed points are used.\r\n * SMTChecker: Fix internal error when using array slices.\r\n * Type Checker: Disallow ``virtual`` and ``override`` for constructors.\r\n * Type Checker: Fix several internal errors by performing size and recursiveness checks of types before the full type checking.\r\n * Type Checker: Fix internal error when assigning to empty tuples.\r\n * Type Checker: Fix internal error when applying unary operators to tuples with empty components.\r\n * Type Checker: Perform recursiveness check on structs declared at the file level.\r\n\r\n\r\n**Build System:**\r\n * soltest.sh: ``SOLIDITY_BUILD_DIR`` is no longer relative to ``REPO_ROOT`` to allow for build directories outside of the source tree.\r\n\r\n\r\n\r\n----\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, David Cian, Djordje Mijovic, Evan Saulpaugh, hrkrshnn, iamdefinitelyahuman, Jason Cobb, KaiYu Feng, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Noel Maersk, ssi91, yoni206\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.7.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/25358087","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/25358087/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/25358087/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.6","id":25358087,"node_id":"MDc6UmVsZWFzZTI1MzU4MDg3","tag_name":"v0.6.6","target_commitish":"6c089d02b22068e4818d7be76d98e483065bdcd1","name":"Version 0.6.6","draft":false,"prerelease":false,"created_at":"2020-04-09T11:40:11Z","published_at":"2020-04-09T12:42:00Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19589872","id":19589872,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NTg5ODcy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8921136,"download_count":15347,"created_at":"2020-04-09T13:01:19Z","updated_at":"2020-04-09T13:01:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.6/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19594134","id":19594134,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NTk0MTM0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7196296,"download_count":1069,"created_at":"2020-04-09T14:07:45Z","updated_at":"2020-04-09T14:07:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.6/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19589616","id":19589616,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NTg5NjE2","name":"solidity_0.6.6.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2094191,"download_count":1650,"created_at":"2020-04-09T12:52:02Z","updated_at":"2020-04-09T12:52:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.6/solidity_0.6.6.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19589998","id":19589998,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NTg5OTk4","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8442418,"download_count":104,"created_at":"2020-04-09T13:06:36Z","updated_at":"2020-04-09T13:06:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.6/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.6","body":"This is a small bugfix release that solves an issue with certain tuple assignments.\r\n\r\n**Important Bugfixes:**\r\n * Fix tuple assignments with components occupying multiple stack slots and different stack size on left- and right-hand-side.\r\n\r\n\r\n**Bugfixes:**\r\n * AST export: Export `immutable` property in the field `mutability`.\r\n * SMTChecker: Fix internal error in the CHC engine when calling inherited functions internally.\r\n * Type Checker: Error when trying to encode functions with call options gas and value set.\r\n\r\n\r\n----\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alexander Arlt, Black3HDF, Djordje Mijovic, hrkrshnn, Jason Cobb, Leonardo Alt\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.6.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/25233368","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/25233368/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/25233368/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.5","id":25233368,"node_id":"MDc6UmVsZWFzZTI1MjMzMzY4","tag_name":"v0.6.5","target_commitish":"f956cc8990c0a4b0050099f362e3b7cba56bafbf","name":"Version 0.6.5","draft":false,"prerelease":false,"created_at":"2020-04-06T13:03:00Z","published_at":"2020-04-06T14:04:45Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19432811","id":19432811,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NDMyODEx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8888368,"download_count":9988,"created_at":"2020-04-06T14:23:09Z","updated_at":"2020-04-06T14:23:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.5/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19434145","id":19434145,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NDM0MTQ1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7196513,"download_count":615,"created_at":"2020-04-06T14:47:49Z","updated_at":"2020-04-06T14:47:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.5/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19431817","id":19431817,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NDMxODE3","name":"solidity_0.6.5.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2092173,"download_count":416,"created_at":"2020-04-06T14:10:20Z","updated_at":"2020-04-06T14:10:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.5/solidity_0.6.5.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/19432908","id":19432908,"node_id":"MDEyOlJlbGVhc2VBc3NldDE5NDMyOTA4","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8438962,"download_count":43,"created_at":"2020-04-06T14:26:48Z","updated_at":"2020-04-06T14:26:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.5/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.5","body":"Version 0.6.5 of Solidity fixes an important bug and introduces ``immutable`` as a major feature.\r\n\r\nThe bug concerns the allocation of dynamic memory arrays using e.g. `new uint[](...)`. The bug is considered to have a severity level of \"low\" but is present in all prior versions of Solidity. Therefore, please read more about how check if your contract is vulnerable in this [blog post](https://solidity.ethereum.org/2020/04/06/memory-creation-overflow-bug/).\r\n\r\nThe immutable feature supports setting contract-level variables at construction time if they do not change later on. These variables are stored directly in the code instead of storage, which makes them extremely cheap to use. For now, only value types are supported.\r\n\r\n**Important Bugfixes:**\r\n * Code Generator: Restrict the length of dynamic memory arrays to 64 bits during creation at runtime fixing a possible overflow.\r\n\r\n\r\n**Language Features:**\r\n * Allow local storage variables to be declared without initialization, as long as they are assigned before they are accessed.\r\n * State variables can be marked ``immutable`` which causes them to be read-only, but assignable in the constructor. The value will be stored directly in the code.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Enable output of storage layout with `--storage-layout`.\r\n * Metadata: Added support for IPFS hashes of large files that need to be split in multiple chunks.\r\n\r\n\r\n**Bugfixes:**\r\n * Inheritance: Allow public state variables to override functions with dynamic memory types in their return values.\r\n * Inline Assembly: Fix internal error when accessing invalid constant variables.\r\n * Inline Assembly: Fix internal error when accessing functions.\r\n * JSON AST: Always add pointer suffix for memory reference types.\r\n * Reference Resolver: Fix internal error when accessing invalid struct members.\r\n * Type Checker: Fix internal errors when assigning nested tuples.\r\n\r\n\r\n----\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alexander Arlt, Bhargava Shastry, cameel, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, gitpusha, hrkrshnn, iamdefinitelyahuman, Jason Cobb, Kamil Śliwak, Leonardo Alt, Martin Lundfall, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.5.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/24603199","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/24603199/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/24603199/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.17","id":24603199,"node_id":"MDc6UmVsZWFzZTI0NjAzMTk5","tag_name":"v0.5.17","target_commitish":"d19bba13196b8c9091e5d81581015baafca94dd8","name":"Version 0.5.17","draft":false,"prerelease":false,"created_at":"2020-03-17T16:45:53Z","published_at":"2020-03-17T16:46:46Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18773468","id":18773468,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NzczNDY4","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8007728,"download_count":103144,"created_at":"2020-03-17T17:05:21Z","updated_at":"2020-03-17T17:05:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.17/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20053255","id":20053255,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwMDUzMjU1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":6971235,"download_count":1236,"created_at":"2020-04-22T11:56:16Z","updated_at":"2020-04-22T11:56:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.17/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18772703","id":18772703,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NzcyNzAz","name":"solidity_0.5.17.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1846043,"download_count":4603,"created_at":"2020-03-17T16:46:55Z","updated_at":"2020-03-17T16:46:57Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.17/solidity_0.5.17.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18773476","id":18773476,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NzczNDc2","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12395217,"download_count":107,"created_at":"2020-03-17T17:06:25Z","updated_at":"2020-03-17T17:06:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.17/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.17","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.17","body":"This maintenance release of the 0.5.x series fixes a bug that was always present in the compiler. Some people do not even consider it a bug, though, which might explain why it was undiscovered for so long:\r\n\r\nA private function can be overridden in a derived contract by a private function of the same name and types. In other words, the virtual function calling mechanism does not respect visibility.\r\nThe same applies to two private functions of the same name and type that are declared in two unrelated base contracts (diamond inheritance).\r\n\r\nThis bug has been fixed in the 0.6.x series already in version 0.6.0 by making the override mechanism more strict in general.\r\n\r\n**Bugfixes:**\r\n * Type Checker: Disallow overriding of private functions.\r\n\r\n\r\nThanks to @k06a for reporting the bug!\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.17.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/24380547","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/24380547/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/24380547/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.4","id":24380547,"node_id":"MDc6UmVsZWFzZTI0MzgwNTQ3","tag_name":"v0.6.4","target_commitish":"1dca32f35263ed52160eca35c09d7a3278449fc0","name":"Version 0.6.4","draft":false,"prerelease":false,"created_at":"2020-03-10T14:24:17Z","published_at":"2020-03-10T15:26:16Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18608873","id":18608873,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NjA4ODcz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8781872,"download_count":35514,"created_at":"2020-03-10T15:44:56Z","updated_at":"2020-03-10T15:44:57Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.4/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18611698","id":18611698,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NjExNjk4","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7444419,"download_count":1317,"created_at":"2020-03-10T17:30:40Z","updated_at":"2020-03-10T17:30:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.4/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18613492","id":18613492,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NjEzNDky","name":"solidity_0.6.4.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":2017399,"download_count":1487,"created_at":"2020-03-10T18:53:49Z","updated_at":"2020-03-10T18:53:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.4/solidity_0.6.4.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18608943","id":18608943,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4NjA4OTQz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8270154,"download_count":56,"created_at":"2020-03-10T15:48:43Z","updated_at":"2020-03-10T15:48:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.4/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.4","body":"Version 0.6.4 of Solidity fixes a bug that did not allow calling base contract functions directly, another bug that caused issues with variable scoping in try/catch and it allows for greater flexibility with regards to storage: It is now possible to set storage slots for storage reference variables from inline assembly. We expect this to allow new patterns in connection to delegatecall proxies and upgradable contracts. Please be careful when using this feature!\r\n\r\n**Language Features:**\r\n * General: Deprecated `value(...)` and `gas(...)` in favor of `{value: ...}` and `{gas: ...}`\r\n * Inline Assembly: Allow assigning to `_slot` of local storage variable pointers.\r\n * Inline Assembly: Perform control flow analysis on inline assembly. Allows storage returns to be set in assembly only.\r\n\r\n\r\n**Compiler Features:**\r\n * AssemblyStack: Support for source locations (source mappings) and thus debugging Yul sources.\r\n * Commandline Interface: Enable output of experimental optimized IR via ``--ir-optimized``.\r\n\r\n\r\n\r\n**Bugfixes:**\r\n * Inheritance: Fix incorrect error on calling unimplemented base functions.\r\n * Reference Resolver: Fix scoping issue following try/catch statements.\r\n * Standard-JSON-Interface: Fix a bug related to empty filenames and imports.\r\n * SMTChecker: Fix internal errors when analysing tuples.\r\n * Yul AST Import: correctly import blocks as statements, switch statements and string literals.\r\n\r\n\r\n---\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, Kamil Śliwak, Leonardo Alt\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.4.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/23766911","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/23766911/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/23766911/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.3","id":23766911,"node_id":"MDc6UmVsZWFzZTIzNzY2OTEx","tag_name":"v0.6.3","target_commitish":"8dda95210836cd34c3826c5069e38059a665d18d","name":"Version 0.6.3","draft":false,"prerelease":false,"created_at":"2020-02-18T14:50:19Z","published_at":"2020-02-18T15:38:40Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18121083","id":18121083,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4MTIxMDgz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8667208,"download_count":12890,"created_at":"2020-02-18T15:58:12Z","updated_at":"2020-02-18T15:58:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.3/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18121591","id":18121591,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4MTIxNTkx","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7302620,"download_count":874,"created_at":"2020-02-18T16:15:21Z","updated_at":"2020-02-18T16:15:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.3/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18120699","id":18120699,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4MTIwNjk5","name":"solidity_0.6.3.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1994812,"download_count":1138,"created_at":"2020-02-18T15:39:15Z","updated_at":"2020-02-18T15:39:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.3/solidity_0.6.3.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/18121187","id":18121187,"node_id":"MDEyOlJlbGVhc2VBc3NldDE4MTIxMTg3","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8185014,"download_count":40,"created_at":"2020-02-18T16:02:27Z","updated_at":"2020-02-18T16:02:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.3/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.3","body":"This release adds reason strings for compiler-generated reverts if you specify ``--revert-strings debug`` or use the setting ``settings.debug.revertStrings = \"debug\"``. Furthermore, contract types and enums are now allowed as keys for mappings and the doxygen-style comments are better supported by the AST.\r\n\r\n\r\n**Language Features:**\r\n * Allow contract types and enums as keys for mappings.\r\n * Allow function selectors to be used as compile-time constants.\r\n\r\n**Compiler Features:**\r\n * AST: Add a new node for doxygen-style, structured documentation that can be received by contract, function, event and modifier definitions.\r\n * Code Generator: Use ``calldatacopy`` instead of ``codecopy`` to zero out memory past input.\r\n * Debug: Provide reason strings for compiler-generated internal reverts when using the ``--revert-strings`` option or the ``settings.debug.revertStrings`` setting on ``debug`` mode.\r\n * Structured Documentation: Report source locations for structured documentation errors.\r\n * Yul Optimizer: Prune functions that call each other but are otherwise unreferenced.\r\n\r\n\r\n**Bugfixes:**\r\n * Assembly Output: Added missing `source` field to legacy assembly json output to complete the source reference.\r\n * Parser: Fix an internal error for ``abstract`` without ``contract``.\r\n * Type Checker: Make invalid calls to uncallable types fatal errors instead of regular.\r\n\r\n---\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na3d4, Alexander Arlt, Bhargava Shastry, Brian L. McMichael, cameel, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, Gaith Hallak, Jason Cobb, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Nicolas, pinkiebell, rodiazet.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.3.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/23142497","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/23142497/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/23142497/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.2","id":23142497,"node_id":"MDc6UmVsZWFzZTIzMTQyNDk3","tag_name":"v0.6.2","target_commitish":"bacdbe5787c70c19814622926f26e3d204ac0d7e","name":"Version 0.6.2","draft":false,"prerelease":false,"created_at":"2020-01-27T13:43:22Z","published_at":"2020-01-27T14:27:57Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17602450","id":17602450,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3NjAyNDUw","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8548424,"download_count":39100,"created_at":"2020-01-27T14:47:41Z","updated_at":"2020-01-27T14:47:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.2/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17608055","id":17608055,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3NjA4MDU1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7145278,"download_count":1431,"created_at":"2020-01-27T18:42:43Z","updated_at":"2020-01-27T18:42:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.2/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17604036","id":17604036,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3NjA0MDM2","name":"solidity_0.6.2.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1932920,"download_count":1349,"created_at":"2020-01-27T15:37:17Z","updated_at":"2020-01-27T15:37:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.2/solidity_0.6.2.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17602451","id":17602451,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3NjAyNDUx","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7985148,"download_count":67,"created_at":"2020-01-27T14:47:45Z","updated_at":"2020-01-27T14:47:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.2/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.2","body":"After long discussions, we finally enabled a high-level way to use the ``create2`` opcode introduced in Constantinople: When creating a contract, you can specify the salt as a \"function call option\": ``new Contract{salt: 0x1234}(arg1, arg2)``. We took this opportunity and also extended the use of these function call options to specifying the gas and value options in external function calls: ``c.f{value: 10, gas: 20000}(arg1, arg2)``.\r\n\r\nFurthermore, interfaces can now inherit from interfaces, making them even more useful for specification purposes.\r\n\r\nTo allow mutation testing and other uses, you can now export the AST, modify it and re-compile starting from the modified ast using `solc --import-ast`. Note that compiling from a modified AST is not meant for production.\r\n\r\nAnd last but not least, we are now building the javascript compiler solc-js / soljson.js using webassembly which should both provide a performance boost as well as reduce compatibility issues with browsers.\r\n\r\n\r\n## Changelog:\r\n\r\n**Language Features:**\r\n * Allow accessing external functions via contract and interface names to obtain their selector.\r\n * Allow interfaces to inherit from other interfaces\r\n * Allow gas and value to be set in external function calls using ``c.f{gas: 10000, value: 4 ether}()``.\r\n * Allow specifying the ``salt`` for contract creations and thus the ``create2`` opcode using ``new C{salt: 0x1234, value: 1 ether}(arg1, arg2)``.\r\n * Inline Assembly: Support literals ``true`` and ``false``.\r\n\r\n\r\n**Compiler Features:**\r\n * LLL: The LLL compiler has been removed.\r\n * General: Raise warning if runtime bytecode exceeds 24576 bytes (a limit introduced in Spurious Dragon).\r\n * General: Support compiling starting from an imported AST. Among others, this can be used for mutation testing.\r\n * Yul Optimizer: Apply penalty when trying to rematerialize into loops.\r\n\r\n\r\n**Bugfixes:**\r\n * Commandline interface: Only activate yul optimizer if ``--optimize`` is given.\r\n * Fixes internal compiler error on explicitly calling unimplemented base functions.\r\n\r\n\r\n**Build System:**\r\n * Switch to building soljson.js with an embedded base64-encoded wasm binary.\r\n\r\n---\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, cameel, Chris Chinchilla, Christian Parpart, Daniel Kirchner, djudjuu, Erik Kundt, Gonçalo Sá, Jason Cobb, Leonardo Alt, Mathias Baumann, Nicolás Venturo, Rafael Lorandi, rodiazet, Victor Baranov, William Entriken.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.2.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22565505","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22565505/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22565505/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.1","id":22565505,"node_id":"MDc6UmVsZWFzZTIyNTY1NTA1","tag_name":"v0.6.1","target_commitish":"e6f7d5a49267f30c8dbf3ba2655c72012b5ccaa1","name":"Version 0.6.1","draft":false,"prerelease":false,"created_at":"2020-01-02T23:35:39Z","published_at":"2020-01-02T23:36:04Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17112037","id":17112037,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTEyMDM3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8192072,"download_count":14037,"created_at":"2020-01-02T23:52:43Z","updated_at":"2020-01-02T23:52:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.1/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17112154","id":17112154,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTEyMTU0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7045141,"download_count":1137,"created_at":"2020-01-03T00:00:43Z","updated_at":"2020-01-03T00:00:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.1/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17116956","id":17116956,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTE2OTU2","name":"solidity_0.6.1.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1936337,"download_count":798,"created_at":"2020-01-03T08:52:08Z","updated_at":"2020-01-03T08:52:12Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.1/solidity_0.6.1.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17112062","id":17112062,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTEyMDYy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12849836,"download_count":45,"created_at":"2020-01-02T23:55:37Z","updated_at":"2020-01-02T23:55:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.1","body":"This release fixes a bug in the Yul optimizer related to ``break`` and ``continue`` statements in loops. The Yul optimizer is part of the regular optimizer since version 0.6.0. In version 0.5.x, you had to explicitly activate the Yul optimizer in addition to the regular optimizer. The Yul optimizer only operates on the code generated by ABIEncoderV2 or if you use it in a stand-alone way. The code generated by ABIEncoderV2 does not make use of ``break`` and ``continue``, but these statements can be introduced by other optimizer steps. The Yul optimizer currently is not run on inline-assembly code.\r\n\r\n\r\n**Bugfixes:**\r\n * Yul Optimizer: Fix bug in redundant assignment remover in combination with break and continue statements.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.1.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22560416","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22560416/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22560416/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.16","id":22560416,"node_id":"MDc6UmVsZWFzZTIyNTYwNDE2","tag_name":"v0.5.16","target_commitish":"9c3226ce7558bfa639ca06ddd7214ae9bf4e1fc9","name":"Version 0.5.16","draft":false,"prerelease":false,"created_at":"2020-01-02T18:52:34Z","published_at":"2020-01-02T18:54:13Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17108246","id":17108246,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTA4MjQ2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8007752,"download_count":42011,"created_at":"2020-01-02T19:16:44Z","updated_at":"2020-01-02T19:16:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.16/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20053250","id":20053250,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwMDUzMjUw","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":6970765,"download_count":958,"created_at":"2020-04-22T11:55:45Z","updated_at":"2020-04-22T11:56:46Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.16/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17108033","id":17108033,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTA4MDMz","name":"solidity_0.5.16.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1845679,"download_count":935,"created_at":"2020-01-02T18:54:22Z","updated_at":"2020-01-02T18:54:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.16/solidity_0.5.16.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/17108265","id":17108265,"node_id":"MDEyOlJlbGVhc2VBc3NldDE3MTA4MjY1","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12394706,"download_count":98,"created_at":"2020-01-02T19:18:38Z","updated_at":"2020-01-02T19:18:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.16/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.16","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.16","body":"This release fixes a bug in the Yul optimizer. You are only affected if you manually enabled the Yul optimizer (not the regular optimizer) and either used Yul stand-alone or via ABIEncoderV2. For more details, please see buglist.json.\r\n\r\n**Bugfixes:**\r\n * Yul Optimizer: Fix bug in redundant assignment remover in combination with break and continue statements.\r\n\r\n\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.16.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/22560416/reactions","total_count":2,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":2,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22303797","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22303797/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22303797/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.6.0","id":22303797,"node_id":"MDc6UmVsZWFzZTIyMzAzNzk3","tag_name":"v0.6.0","target_commitish":"26b700771e9cc9c956f0503a05de69a1be427963","name":"Version 0.6.0","draft":false,"prerelease":false,"created_at":"2019-12-17T21:32:51Z","published_at":"2019-12-17T22:12:29Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16860412","id":16860412,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODYwNDEy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7962672,"download_count":43532,"created_at":"2019-12-17T22:33:54Z","updated_at":"2019-12-17T22:33:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.0/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16860645","id":16860645,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODYwNjQ1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7043230,"download_count":2099,"created_at":"2019-12-17T22:52:09Z","updated_at":"2019-12-17T22:52:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.0/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16860715","id":16860715,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODYwNzE1","name":"solidity_0.6.0.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1934622,"download_count":1821,"created_at":"2019-12-17T22:55:30Z","updated_at":"2019-12-17T22:55:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.0/solidity_0.6.0.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16860374","id":16860374,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODYwMzc0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12838203,"download_count":156,"created_at":"2019-12-17T22:32:29Z","updated_at":"2019-12-17T22:32:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.6.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.6.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.6.0","body":"This is a major breaking release of the Solidity compiler and language. Changes include explicit virtual and override keywords in inheritance, support for try/catch, splitting the fallback function into a receive Ether function and an actual fallback function and limitations on how the length of an array can be changed, among others. For a detailed explanation, please see the [documentation](https://solidity.readthedocs.io/en/latest/060-breaking-changes.html) or refer to the list below that shows every single change.\r\n\r\nFrom this release on, ABIEncoderV2 is not considered experimental any more, but you still have to activate it through the pragma.\r\n\r\nFurthermore, the Yul optimizer is automatically activated together with the regular optimizer, but you can still disable it through the detailed optimizer settings.\r\n\r\n**Breaking changes:**\r\n * ABI: Remove the deprecated ``constant`` and ``payable`` fields.\r\n * ABI: The ``type`` field is now required and no longer specified to default to ``function``.\r\n * AST: Inline assembly is exported as structured JSON instead of plain string.\r\n * C API (``libsolc``): Introduce context parameter to both ``solidity_compile`` and the callback.\r\n * C API (``libsolc``): The provided callback now takes two parameters, kind and data. The callback can then be used for multiple purposes, such has file imports and SMT queries.\r\n * C API (``libsolc``): ``solidity_free`` was renamed to ``solidity_reset``. Functions ``solidity_alloc`` and ``solidity_free`` were added.\r\n * C API (``libsolc``): ``solidity_compile`` now returns a string that must be explicitly freed via ``solidity_free()``\r\n * Commandline Interface: Remove the text-based AST printer (``--ast``).\r\n * Commandline Interface: Switch to the new error reporter by default. ``--old-reporter`` falls back to the deprecated old error reporter.\r\n * Commandline Interface: Add option to disable or choose hash method between IPFS and Swarm for the bytecode metadata.\r\n * General: Disallow explicit conversions from external function types to ``address`` and add a member called ``address`` to them as replacement.\r\n * General: Enable Yul optimizer as part of standard optimization.\r\n * General: New reserved keywords: ``override``, ``receive``, and ``virtual``.\r\n * General: ``private`` cannot be used together with ``virtual``.\r\n * General: Split unnamed fallback functions into two cases defined using ``fallback()`` and ``receive()``.\r\n * Inheritance: State variable shadowing is now disallowed.\r\n * Inline Assembly: Only strict inline assembly is allowed.\r\n * Inline Assembly: Variable declarations cannot shadow declarations outside the assembly block.\r\n * JSON AST: Replace ``superFunction`` attribute by ``baseFunctions``.\r\n * Natspec JSON Interface: Properly support multiple ``@return`` statements in ``@dev`` documentation and enforce named return parameters to be mentioned in the documentation.\r\n * Source mappings: Add \"modifier depth\" as a fifth field in the source mappings.\r\n * Standard JSON Interface: Add option to disable or choose hash method between IPFS and Swarm for the bytecode metadata.\r\n * Syntax: ``push(element)`` for dynamic storage arrays do not return the new length anymore.\r\n * Syntax: Abstract contracts need to be marked explicitly as abstract by using the ``abstract`` keyword.\r\n * Syntax: ``length`` member of arrays is now always read-only, even for storage arrays.\r\n * Type Checker: Resulting type of exponentiation is equal to the type of the base. Also allow signed types for the base.\r\n\r\n**Language Features:**\r\n * Allow explicit conversions from ``address`` to ``address payable`` via ``payable(...)``.\r\n * Allow global enums and structs.\r\n * Allow public variables to override external functions.\r\n * Allow underscores as delimiters in hex strings.\r\n * Introduce syntax for array slices and implement them for dynamic calldata arrays.\r\n * Introduce ``push()`` for dynamic storage arrays. It returns a reference to the newly allocated element, if applicable.\r\n * Introduce ``virtual`` and ``override`` keywords.\r\n * Introduce ``try``/``catch``-statement\r\n * Modify ``push(element)`` for dynamic storage arrays such that it does not return the new length anymore.\r\n * Yul: Introduce ``leave`` statement that exits the current function.\r\n * JSON AST: Add the function selector of each externally-visible FunctonDefinition to the AST JSON export.\r\n\r\n**Compiler Features:**\r\n * Allow revert strings to be stripped from the binary using the ``--revert-strings`` option or the ``settings.debug.revertStrings`` setting.\r\n * ABIEncoderV2: Do not warn about enabled ABIEncoderV2 anymore (the pragma is still needed, though).\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlexander Arlt, Alex Beregszaszi, Bhargava Shastry, cd10012, Chris Chinchilla, Christian Parpart, Cory Dickson, Daniel Kirchner, djudjuu, Erik Kundt, Gaith Hallak, krk, Leo Arias, Leonardo Alt, Mathias Baumann, misterfoxy, rodiazet, William Entriken\r\n\r\nIf you want to perform a source build, please only use solidity_0.6.0.tar.gz and not the zip provided by github directly.","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/22303797/reactions","total_count":9,"+1":4,"-1":0,"laugh":1,"hooray":0,"confused":0,"heart":1,"rocket":3,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22294985","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22294985/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22294985/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.15","id":22294985,"node_id":"MDc6UmVsZWFzZTIyMjk0OTg1","tag_name":"v0.5.15","target_commitish":"6a57276fdc9a682bf22cf08211625a2b62f695e2","name":"Version 0.5.15","draft":false,"prerelease":false,"created_at":"2019-12-17T16:27:41Z","published_at":"2019-12-17T17:23:49Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16855307","id":16855307,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODU1MzA3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7798832,"download_count":39229,"created_at":"2019-12-17T17:42:51Z","updated_at":"2019-12-17T17:42:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.15/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16855784","id":16855784,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODU1Nzg0","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6968996,"download_count":1214,"created_at":"2019-12-17T18:06:14Z","updated_at":"2019-12-17T18:06:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.15/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16856786","id":16856786,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODU2Nzg2","name":"solidity_0.5.15.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1844719,"download_count":455,"created_at":"2019-12-17T18:51:50Z","updated_at":"2019-12-17T18:51:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.15/solidity_0.5.15.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16855381","id":16855381,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2ODU1Mzgx","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12394836,"download_count":44,"created_at":"2019-12-17T17:46:47Z","updated_at":"2019-12-17T17:46:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.15/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.15","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.15","body":"This release fixes a bug that was introduced in 0.5.14 (the previous release). You are only affected if you manually enabled the Yul optimizer (not the regular optimizer) and either used Yul stand-alone or via ABIEncoderV2. For more details, please see buglist.json.\r\n\r\n**Bugfixes:**\r\n * Yul Optimizer: Fix incorrect redundant load optimization crossing user-defined functions that contain for-loops with memory / storage writes.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.15.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/22076531","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/22076531/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/22076531/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.14","id":22076531,"node_id":"MDc6UmVsZWFzZTIyMDc2NTMx","tag_name":"v0.5.14","target_commitish":"01f1aaa4c73cd705934a7d769d719ccfc561dd12","name":"Version 0.5.14","draft":false,"prerelease":false,"created_at":"2019-12-09T15:17:10Z","published_at":"2019-12-09T17:24:43Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16686436","id":16686436,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2Njg2NDM2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7798832,"download_count":40249,"created_at":"2019-12-09T16:25:58Z","updated_at":"2019-12-09T16:25:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.14/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16687149","id":16687149,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2Njg3MTQ5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6970480,"download_count":680,"created_at":"2019-12-09T16:56:24Z","updated_at":"2019-12-09T16:56:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.14/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16687916","id":16687916,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2Njg3OTE2","name":"solidity_0.5.14.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1856385,"download_count":733,"created_at":"2019-12-09T17:24:50Z","updated_at":"2019-12-09T17:24:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.14/solidity_0.5.14.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16686492","id":16686492,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2Njg2NDky","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12394814,"download_count":44,"created_at":"2019-12-09T16:28:41Z","updated_at":"2019-12-09T16:28:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.14/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.14","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.14","body":"Solidity 0.5.14 sets the default EVM version to \"Istanbul\" and is targeted as the last release in the 0.5.x series.\r\n\r\nThe SMT checker supports constructors now and it is possible to directly translate EVM-flavoured Yul to Ewasm from the commandline interface.\r\n\r\n\r\n**Language Features:**\r\n * Allow to obtain the selector of public or external library functions via a member ``.selector``.\r\n * Parser: Allow splitting string and hexadecimal string literals into multiple parts.\r\n * Inline Assembly: Support constants that reference other constants.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Allow translation from yul / strict assembly to EWasm using ``solc --yul --yul-dialect evm --machine eWasm``\r\n * Set the default EVM version to \"Istanbul\".\r\n * SMTChecker: Add support to constructors including constructor inheritance.\r\n * Yul: When compiling via Yul, string literals from the Solidity code are kept as string literals if every character is safely printable.\r\n * Yul Optimizer: Perform loop-invariant code motion.\r\n\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Fix internal error when using ``abi.decode``.\r\n * SMTChecker: Fix internal error when using arrays or mappings of functions.\r\n * SMTChecker: Fix internal error in array of structs type.\r\n * Version Checker: ``^0`` should match ``0.5.0``, but no prerelease.\r\n * Yul: Consider infinite loops and recursion to be not removable.\r\n\r\n\r\n**Build System:**\r\n * Update to emscripten version 1.39.3.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Erik Kundt, Gaith Hallak, Henry Lee, Lefteris Karapetsas, Leonardo Alt, Mathias Baumann, mingchuan, Paweł Bylica, William Entriken\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.14.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/21471606","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/21471606/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/21471606/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.13","id":21471606,"node_id":"MDc6UmVsZWFzZTIxNDcxNjA2","tag_name":"v0.5.13","target_commitish":"5b0b510c025c4ba459deee2d590cc12d88dfedc7","name":"Version 0.5.13","draft":false,"prerelease":false,"created_at":"2019-11-14T13:55:21Z","published_at":"2019-11-14T15:21:01Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16163743","id":16163743,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2MTYzNzQz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7876656,"download_count":33055,"created_at":"2019-11-14T16:05:30Z","updated_at":"2019-11-14T16:05:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.13/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16164718","id":16164718,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2MTY0NzE4","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7071699,"download_count":1101,"created_at":"2019-11-14T16:55:52Z","updated_at":"2019-11-14T16:55:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.13/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16162541","id":16162541,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2MTYyNTQx","name":"solidity_0.5.13.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1814444,"download_count":1602,"created_at":"2019-11-14T15:21:49Z","updated_at":"2019-11-14T15:21:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.13/solidity_0.5.13.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/16163889","id":16163889,"node_id":"MDEyOlJlbGVhc2VBc3NldDE2MTYzODg5","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":15207419,"download_count":54,"created_at":"2019-11-14T16:11:49Z","updated_at":"2019-11-14T16:11:50Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.13/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.13","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.13","body":"Solidity 0.5.13 provides Istanbul-EVM compatibility (default is still set to Petersburg), is the first version to generate Ethereum-Webassembly (EWasm) binary output (not fully working yet, though), improves the developer experience by listing potential overloads when resolution fails and can output the layout of the storage variables of a contract. As with all other releases, the coverage of the SMT checker is further improved.\r\n\r\n\r\n**Language Features:**\r\n * Allow to obtain the address of a linked library with ``address(LibraryName)``.\r\n\r\n\r\n**Compiler Features:**\r\n * Code Generator: Use SELFBALANCE opcode for ``address(this).balance`` if using Istanbul EVM.\r\n * EWasm: Experimental EWasm binary output via ``--ewasm`` and as documented in standard-json.\r\n * SMTChecker: Add break/continue support to the CHC engine.\r\n * SMTChecker: Support assignments to multi-dimensional arrays and mappings.\r\n * SMTChecker: Support inheritance and function overriding.\r\n * Standard JSON Interface: Output the storage layout of a contract when artifact ``storageLayout`` is requested.\r\n * TypeChecker: List possible candidates when overload resolution fails.\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fixed a faulty assert that would wrongly trigger for array sizes exceeding unsigned integer.\r\n * SMTChecker: Fix internal error when accessing indices of fixed bytes.\r\n * SMTChecker: Fix internal error when using function pointers as arguments.\r\n * SMTChecker: Fix internal error when implicitly converting string literals to fixed bytes.\r\n * Type Checker: Disallow constructor of the same class to be used as modifier.\r\n * Type Checker: Treat magic variables as unknown identifiers in inline assembly.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Alexander Arlt, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Erik Kundt, Gaith Hallak, hellraiserinchief , Henry Lee, Jochem Brouwer, Leonardo Alt, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.13.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/20386693","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/20386693/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/20386693/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.12","id":20386693,"node_id":"MDc6UmVsZWFzZTIwMzg2Njkz","tag_name":"v0.5.12","target_commitish":"7709ece95f922a813477e668f7acd867e909b10f","name":"Version 0.5.12","draft":false,"prerelease":false,"created_at":"2019-10-01T15:59:34Z","published_at":"2019-10-01T18:59:51Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/15236482","id":15236482,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MjM2NDgy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7882544,"download_count":36353,"created_at":"2019-10-01T19:20:54Z","updated_at":"2019-10-01T19:20:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.12/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/15236608","id":15236608,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MjM2NjA4","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7078467,"download_count":1338,"created_at":"2019-10-01T19:31:39Z","updated_at":"2019-10-01T19:31:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.12/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/15236164","id":15236164,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MjM2MTY0","name":"solidity_0.5.12.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1778653,"download_count":1757,"created_at":"2019-10-01T19:01:06Z","updated_at":"2019-10-01T19:01:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.12/solidity_0.5.12.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/15236506","id":15236506,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MjM2NTA2","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":15072015,"download_count":56,"created_at":"2019-10-01T19:23:34Z","updated_at":"2019-10-01T19:23:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.12/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.12","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.12","body":"This is a small bugfix release that also includes loop support for the SMT solver and some improvements to the Yul optimizer. The reason for the smaller feature set is that we are mainly working on the upcoming 0.6.0 release.\r\n\r\n**Language Features:**\r\n * Type Checker: Allow assignment to external function arguments except for reference types.\r\n\r\n**Compiler Features:**\r\n * ABI Output: Change sorting order of functions from selector to kind, name.\r\n * Optimizer: Add rule that replaces the BYTE opcode by 0 if the first argument is larger than 31.\r\n * SMTChecker: Add loop support to the CHC engine.\r\n * Yul Optimizer: Take side-effect-freeness of user-defined functions into account.\r\n * Yul Optimizer: Remove redundant mload/sload operations.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix internal error when popping a dynamic storage array of mappings.\r\n * Name Resolver: Fix wrong source location when warning on shadowed aliases in import declarations.\r\n * Scanner: Fix multi-line natspec comment parsing with triple slashes when file is encoded with CRLF instead of LF.\r\n * Type System: Fix arrays of recursive structs.\r\n * Yul Optimizer: Fix reordering bug in connection with shifted one and mul/div-instructions in for loop conditions.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlexander Arlt, Alex Beregszaszi, Ayrat Badykov, Balaji Pachai, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Crawford Leeds, Daniel Kirchner, Dimitry, Erik Kundt, Flash Sheridan, Gois, Lauri Peltonen, Leo Arias, Leonardo Alt, Mathias Baumann, Micah Zoltu, mingchuan, rocky (supported by ConsenSys), Solexplorer, \r\n\r\nIf you want to perform a source build, please only use solidity_0.5.12.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/19228179","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/19228179/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/19228179/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.11","id":19228179,"node_id":"MDc6UmVsZWFzZTE5MjI4MTc5","tag_name":"v0.5.11","target_commitish":"22be85921b5b0846295608e997e7af9b08ba9ad9","name":"Version 0.5.11","draft":false,"prerelease":false,"created_at":"2019-08-12T19:44:45Z","published_at":"2019-08-12T21:41:55Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/14341917","id":14341917,"node_id":"MDEyOlJlbGVhc2VBc3NldDE0MzQxOTE3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7755568,"download_count":43602,"created_at":"2019-08-12T22:02:33Z","updated_at":"2019-08-12T22:02:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.11/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/14342405","id":14342405,"node_id":"MDEyOlJlbGVhc2VBc3NldDE0MzQyNDA1","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7028866,"download_count":1164,"created_at":"2019-08-12T22:55:19Z","updated_at":"2019-08-12T22:55:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.11/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/14341741","id":14341741,"node_id":"MDEyOlJlbGVhc2VBc3NldDE0MzQxNzQx","name":"solidity_0.5.11.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1736995,"download_count":2954,"created_at":"2019-08-12T21:44:01Z","updated_at":"2019-08-12T21:44:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.11/solidity_0.5.11.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/14341952","id":14341952,"node_id":"MDEyOlJlbGVhc2VBc3NldDE0MzQxOTUy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":14514366,"download_count":64,"created_at":"2019-08-12T22:06:15Z","updated_at":"2019-08-12T22:06:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.11/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.11","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.11","body":"This release fixes a bug related to calldata structs in ABIEncoderV2 and calldata decoding in V1. Several internal bugs of the SMT checker are fixed.\r\nFurthermore, internal types are added to the ABI output which allows you to see which struct type is behind an ABI tuple. Finally, Yul and web assembly support are progressing.\r\n\r\nWe also improved our testing framework which now allows for semantics tests to run in 4 seconds instead of 1 minute.\r\n\r\n**Language Features:**\r\n * Inline Assembly: Support direct constants of value type in inline assembly.\r\n\r\n**Compiler Features:**\r\n * ABI: Additional internal type info in the field ``internalType``.\r\n * eWasm: Highly experimental eWasm output using ``--ewasm`` in the commandline interface or output selection of ``ewasm.wast`` in standard-json.\r\n * Metadata: Update the swarm hash to the current specification, changes ``bzzr0`` to ``bzzr1`` and urls to use ``bzz-raw://``.\r\n * Standard JSON Interface: Compile only selected sources and contracts.\r\n * Standard JSON Interface: Provide secondary error locations (e.g. the source position of other conflicting declarations).\r\n * SMTChecker: Do not erase knowledge about storage pointers if another storage pointer is assigned.\r\n * SMTChecker: Support string literal type.\r\n * Standard JSON Interface: Provide AST even on errors if ``--error-recovery`` commandline switch or StandardCompiler `settings.parserErrorRecovery` is true.\r\n * Yul Optimizer: Do not inline function if it would result in expressions being duplicated that are not cheap.\r\n\r\n**Bugfixes:**\r\n * ABI decoder: Ensure that decoded arrays always point to distinct memory locations.\r\n * Code Generator: Treat dynamically encoded but statically sized arrays and structs in calldata properly.\r\n * SMTChecker: Fix internal error when inlining functions that contain tuple expressions.\r\n * SMTChecker: Fix pointer knowledge erasing in loops.\r\n * SMTChecker: Fix internal error when using compound bitwise assignment operators inside branches.\r\n * SMTChecker: Fix internal error when inlining a function that returns a tuple containing an unsupported type inside a branch.\r\n * SMTChecker: Fix internal error when inlining functions that use state variables and belong to a different source.\r\n * SMTChecker: Fix internal error when reporting counterexamples concerning state variables from different source files.\r\n * SMTChecker: Fix SMT sort mismatch when using string literals.\r\n * View/Pure Checker: Properly detect state variable access through base class.\r\n * Yul Analyzer: Check availability of data objects already in analysis phase.\r\n * Yul Optimizer: Fix an issue where memory-accessing code was removed even though ``msize`` was used in the program.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, cgrigis, Chris Chinchilla, Chris Smith, Christian Parpart, Daniel Kirchner, djudjuu, dm4, Erik Kundt, Leonardo Alt, Mathias Baumann, mingchuan, Nimish Bongale, Rocky Bernstein (supported by ConsenSys), William Entriken.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.11.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/18207897","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/18207897/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/18207897/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.10","id":18207897,"node_id":"MDc6UmVsZWFzZTE4MjA3ODk3","tag_name":"v0.5.10","target_commitish":"5a6ea5b19793f61c7703d4abe587b2bf40decc31","name":"Version 0.5.10","draft":false,"prerelease":false,"created_at":"2019-06-25T14:03:50Z","published_at":"2019-06-25T14:45:15Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/13393202","id":13393202,"node_id":"MDEyOlJlbGVhc2VBc3NldDEzMzkzMjAy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7464752,"download_count":30588,"created_at":"2019-06-25T15:11:00Z","updated_at":"2019-06-25T15:11:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.10/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/13393381","id":13393381,"node_id":"MDEyOlJlbGVhc2VBc3NldDEzMzkzMzgx","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6929464,"download_count":2672,"created_at":"2019-06-25T15:23:55Z","updated_at":"2019-06-25T15:23:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.10/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/13393430","id":13393430,"node_id":"MDEyOlJlbGVhc2VBc3NldDEzMzkzNDMw","name":"solidity_0.5.10.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1658107,"download_count":2774,"created_at":"2019-06-25T15:27:17Z","updated_at":"2019-06-25T15:27:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.10/solidity_0.5.10.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/13393209","id":13393209,"node_id":"MDEyOlJlbGVhc2VBc3NldDEzMzkzMjA5","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":13668994,"download_count":73,"created_at":"2019-06-25T15:12:16Z","updated_at":"2019-06-25T15:12:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.10/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.10","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.10","body":"Apart from further invisible work on the Yul optimizer, the Solidity to Yul code generation, the eWasm backend and the SMT checker, this release contains two important bug fixes related to storage arrays.\r\n\r\nFor details see https://blog.ethereum.org/2019/06/25/solidity-storage-array-bugs/\r\n\r\nIt also contains an experimental mode that allows recovery from parser error (implemented by @rocky, funded by ConsenSys) in the hope that this might be useful for IDE developers.\r\n\r\n**Important Bugfixes:**\r\n * ABIEncoderV2: Fix incorrect abi encoding of storage array of data type that occupy multiple storage slots\r\n * Code Generator: Properly zero out higher order bits in elements of an array of negative numbers when assigning to storage and converting the type at the same time.\r\n\r\n\r\n**Compiler Features:**\r\n * Commandline Interface: Experimental parser error recovery via the ``--error-recovery`` commandline switch.\r\n * Optimizer: Add rule to simplify ``SUB(~0, X)`` to ``NOT(X)``.\r\n * Yul Optimizer: Make the optimizer work for all dialects of Yul including eWasm.\r\n\r\n\r\n**Bugfixes:**\r\n * Type Checker: Set state mutability of the function type members ``gas`` and ``value`` to pure (while their return type inherits state mutability from the function type).\r\n * Yul / Inline Assembly Parser: Disallow trailing commas in function call arguments.\r\n\r\n\r\n**Build System:**\r\n * Attempt to use stock Z3 cmake files to find Z3 and only fall back to manual discovery.\r\n * CMake: use imported targets for boost.\r\n * Emscripten build: upgrade to boost 1.70.\r\n * Generate a cmake error for gcc versions older than 5.0.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Anurag Dashputre, Bhargava Shastry, Chris Ward, Christian Parpart, Daniel Kirchner, Fabio Bonfiglio, Leonardo Alt, Mathias Baumann, mingchuan, rocky, Vedant Agarwala, Vignesh Karthikeyan, William Entriken.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.10.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/17629358","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/17629358/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/17629358/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.9","id":17629358,"node_id":"MDc6UmVsZWFzZTE3NjI5MzU4","tag_name":"v0.5.9","target_commitish":"c68bc34e9466ef22326dd9072d557c56160e9092","name":"Version 0.5.9","draft":false,"prerelease":false,"created_at":"2019-05-28T16:49:01Z","published_at":"2019-05-28T18:25:35Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12911424","id":12911424,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyOTExNDI0","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7292736,"download_count":36988,"created_at":"2019-05-28T18:16:41Z","updated_at":"2019-05-28T18:16:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.9/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12911516","id":12911516,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyOTExNTE2","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6769427,"download_count":1569,"created_at":"2019-05-28T18:20:39Z","updated_at":"2019-05-28T18:20:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.9/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12911556","id":12911556,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyOTExNTU2","name":"solidity_0.5.9.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1629977,"download_count":1525,"created_at":"2019-05-28T18:23:36Z","updated_at":"2019-05-28T18:23:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.9/solidity_0.5.9.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12911438","id":12911438,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyOTExNDM4","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":13386580,"download_count":58,"created_at":"2019-05-28T18:17:24Z","updated_at":"2019-05-28T18:17:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.9/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.9","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.9","body":"As in previous releases, we spent most of the time making Solidity future-proof by further working on the Yul optimizer, the Solidity to Yul (and eWasm) translator and the SMT Checker.\r\n\r\nCode generated from Solidity now always includes the version number in the CBOR metadata so that it becomes possible to quickly assess whether a contract might be affected by a compiler bug or not.\r\n\r\n**Language Features:**\r\n * Inline Assembly: Revert change introduced in 0.5.7: The ``callvalue()`` instruction does not require ``payable`` anymore.\r\n * Static Analyzer: Disallow libraries calling themselves externally.\r\n\r\n\r\n**Compiler Features:**\r\n * Assembler: Encode the compiler version in the deployed bytecode.\r\n * Code Generator: Fix handling of structs of dynamic size as constructor parameters.\r\n * Inline Assembly: Disallow the combination of ``msize()`` and the Yul optimizer.\r\n * Metadata: Add IPFS hashes of source files.\r\n * Optimizer: Add rule to simplify SHL/SHR combinations.\r\n * Optimizer: Add rules for multiplication and division by left-shifted one.\r\n * SMTChecker: Support inherited state variables.\r\n * SMTChecker: Support tuples and function calls with multiple return values.\r\n * SMTChecker: Support ``delete``.\r\n * SMTChecker: Inline external function calls to ``this``.\r\n * Yul Optimizer: Simplify single-run ``for`` loops to ``if`` statements.\r\n * Yul Optimizer: Optimize representation of numbers.\r\n * Yul Optimizer: Do not inline recursive functions.\r\n * Yul Optimizer: Do not remove instructions that affect ``msize()`` if ``msize()`` is used.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Explicitly turn uninitialized internal function pointers into invalid functions when loaded from storage.\r\n * Code Generator: Fix assertion failure when assigning structs containing array of mapping.\r\n * Compiler Internals: Reset the Yul string repository before each compilation, freeing up memory.\r\n * SMTChecker: Fix bad cast in base constructor modifier.\r\n * SMTChecker: Fix internal error when visiting state variable inherited from base class.\r\n * SMTChecker: Fix internal error in fixed point operations.\r\n * SMTChecker: Fix internal error in assignment to unsupported type.\r\n * SMTChecker: Fix internal error in branching when inlining function calls that modify local variables.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Andrey Bronin, asymmetric, Bhargava Shastry, Christian Parpart, Chris Ward, Daniel Kirchner, Erik Kundt, Guy Lando, Isaac Ibiapina, Jorropo, Leonardo Alt, Mathias Baumann, mingchuan, Rocky, Vedant Agarwala.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.9.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/17064882","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/17064882/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/17064882/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.8","id":17064882,"node_id":"MDc6UmVsZWFzZTE3MDY0ODgy","tag_name":"v0.5.8","target_commitish":"23d335f28e4055e67c3b22466ac7c4e41dc48344","name":"Version 0.5.8","draft":false,"prerelease":false,"created_at":"2019-04-30T13:10:18Z","published_at":"2019-04-30T14:49:46Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12312946","id":12312946,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMzEyOTQ2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6850368,"download_count":35147,"created_at":"2019-04-30T15:31:03Z","updated_at":"2019-04-30T15:31:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.8/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12312999","id":12312999,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMzEyOTk5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6446306,"download_count":1488,"created_at":"2019-04-30T15:33:55Z","updated_at":"2019-04-30T15:33:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.8/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12314014","id":12314014,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMzE0MDE0","name":"solidity_0.5.8.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1560807,"download_count":1652,"created_at":"2019-04-30T16:34:44Z","updated_at":"2019-04-30T16:34:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.8/solidity_0.5.8.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12312992","id":12312992,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMzEyOTky","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12380606,"download_count":58,"created_at":"2019-04-30T15:33:14Z","updated_at":"2019-04-30T15:33:14Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.8/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.8","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.8","body":"This release fixes important but very unlikely bugs and further completes ABIEncoderV2, SMTChecker and Yul and improves the optimizer.\r\n\r\nNotably, if ABIEncoderV2 is activated, the ABI decoder will now revert on input with dirty higher order bits instead of ignoring those bits.\r\n\r\n\r\n**Important Bugfixes:**\r\n * Code Generator: Fix initialization routine of uninitialized internal function pointers in constructor context.\r\n * Type System: Use correct type name for contracts in event parameters when used in libraries. This affected code generation.\r\n * Yul Optimizer: Fix SSA transform for multi-assignments.\r\n\r\n\r\n**Language Features:**\r\n * ABIEncoderV2: Implement encoding of calldata arrays and structs.\r\n * Code Generation: Implement copying recursive structs from storage to memory.\r\n * Yul: Disallow function definitions inside for-loop init blocks.\r\n\r\n\r\n**Compiler Features:**\r\n * ABI Decoder: Raise a runtime error on dirty inputs when using the experimental decoder.\r\n * Optimizer: Add rule for shifts by constants larger than 255 for Constantinople.\r\n * Optimizer: Add rule to simplify certain ANDs and SHL combinations\r\n * SMTChecker: Support arithmetic compound assignment operators.\r\n * SMTChecker: Support unary increment and decrement for array and mapping access.\r\n * SMTChecker: Show unsupported warning for inline assembly blocks.\r\n * SMTChecker: Support mod.\r\n * SMTChecker: Support ``contract`` type.\r\n * SMTChecker: Support ``this`` as address.\r\n * SMTChecker: Support address members.\r\n * Standard JSON Interface: Metadata settings now re-produce the original ``\"useLiteralContent\"`` setting from the compilation input.\r\n * Yul: Adds break and continue keywords to for-loop syntax.\r\n * Yul: Support ``.`` as part of identifiers.\r\n * Yul Optimizer: Adds steps for detecting and removing of dead code.\r\n\r\n\r\n**Bugfixes:**\r\n * SMTChecker: Implement Boolean short-circuiting.\r\n * SMTChecker: SSA control-flow did not take into account state variables that were modified inside inlined functions that were called inside branches.\r\n * Type System: Allow direct call to base class functions that have overloads.\r\n * Yul: Properly register functions and disallow shadowing between function variables and variables in the outside scope.\r\n\r\n\r\n**Build System:**\r\n * Soltest: Add commandline option `--test` / `-t` to isoltest which takes a string that allows filtering unit tests.\r\n * soltest.sh: allow environment variable ``SOLIDITY_BUILD_DIR`` to specify build folder and add ``--help`` usage.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Christian Parpart, Chris Ward, Constantin Kloecker, Daniel Kirchner, dm4, Erik Kundt, fnatic, Grant Wuerker, hydai, Ilya Ostrovskiy, Leonardo Alt, Mathias Baumann, mingchuan, rocky, William Entriken\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.8.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/17040402","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/17040402/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/17040402/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.26","id":17040402,"node_id":"MDc6UmVsZWFzZTE3MDQwNDAy","tag_name":"v0.4.26","target_commitish":"4563c3fc5d243411d84336c069f7b45891f65c35","name":"Version 0.4.26","draft":false,"prerelease":false,"created_at":"2019-04-29T14:28:45Z","published_at":"2019-04-29T14:52:24Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/21106411","id":21106411,"node_id":"MDEyOlJlbGVhc2VBc3NldDIxMTA2NDEx","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6039472,"download_count":37194,"created_at":"2020-05-27T14:36:33Z","updated_at":"2020-05-27T14:36:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12293481","id":12293481,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMjkzNDgx","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":26516375,"download_count":90,"created_at":"2019-04-29T15:07:02Z","updated_at":"2019-04-29T15:07:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12293615","id":12293615,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMjkzNjE1","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":35971176,"download_count":750,"created_at":"2019-04-29T15:14:38Z","updated_at":"2019-04-29T15:14:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/20390302","id":20390302,"node_id":"MDEyOlJlbGVhc2VBc3NldDIwMzkwMzAy","name":"solidity-windows-0.4.26.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":5764704,"download_count":316,"created_at":"2020-05-04T07:25:33Z","updated_at":"2020-05-04T07:25:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solidity-windows-0.4.26.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12293616","id":12293616,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMjkzNjE2","name":"solidity_0.4.26.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1160708,"download_count":7126,"created_at":"2019-04-29T15:14:42Z","updated_at":"2019-04-29T15:14:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/solidity_0.4.26.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/12295014","id":12295014,"node_id":"MDEyOlJlbGVhc2VBc3NldDEyMjk1MDE0","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8843536,"download_count":83,"created_at":"2019-04-29T16:33:19Z","updated_at":"2019-04-29T16:33:33Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.26/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.26","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.26","body":"This is a bugfix release for the 0.4.x series that contains backported fixes for important bugs that affected code generation. It also contains a fix that makes the emscripten target compatible with newer browser versions.\r\n\r\nImportant Bugfixes:\r\n * Code Generator: Fix initialization routine of uninitialized internal function pointers in constructor context.\r\n * Type System: Use correct type name for contracts in event parameters when used in libraries. This affected code generation.\r\n\r\nBugfixes:\r\n * ABIEncoderV2: Refuse to generate code that is known to be potentially buggy.\r\n * General: Split rule list such that JavaScript environments with small stacks can use the compiler.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.26.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/16350285","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/16350285/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/16350285/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.7","id":16350285,"node_id":"MDc6UmVsZWFzZTE2MzUwMjg1","tag_name":"v0.5.7","target_commitish":"6da8b019e4a155d1f70abe7a3acc0f9765480a9e","name":"Version 0.5.7","draft":false,"prerelease":false,"created_at":"2019-03-26T12:19:56Z","published_at":"2019-03-26T12:59:32Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11734816","id":11734816,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNzM0ODE2","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6608680,"download_count":41331,"created_at":"2019-03-26T13:17:06Z","updated_at":"2019-03-26T13:17:06Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.7/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11734990","id":11734990,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNzM0OTkw","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6385482,"download_count":2459,"created_at":"2019-03-26T13:22:39Z","updated_at":"2019-03-26T13:22:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.7/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11734637","id":11734637,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNzM0NjM3","name":"solidity_0.5.7.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1510357,"download_count":2443,"created_at":"2019-03-26T13:07:15Z","updated_at":"2019-03-26T13:07:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.7/solidity_0.5.7.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11734879","id":11734879,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNzM0ODc5","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":12527583,"download_count":77,"created_at":"2019-03-26T13:19:40Z","updated_at":"2019-03-26T13:19:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.7/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.7","body":"This release mainly fixes bugs in the optimizer and in the experimental ABI encoder. For details about the bug, please see the [official announcement](https://blog.ethereum.org/2019/03/26/solidity-optimizer-and-abiencoderv2-bug/).\r\n\r\nFurthermore, this release also allows you to use Yul as a language option (instead of \"Solidity\") in the [standard-json-interface](https://solidity.readthedocs.io/en/v0.5.7/using-the-compiler.html#compiler-input-and-output-json-description).\r\n\r\n**Important Bugfixes:**\r\n * ABIEncoderV2: Fix bugs related to loading short value types from storage when encoding an array or struct from storage.\r\n * ABIEncoderV2: Fix buffer overflow problem when encoding packed array from storage.\r\n * Optimizer: Fix wrong ordering of arguments in byte optimization rule for constants.\r\n\r\n\r\n**Language Features:**\r\n * Function calls with named arguments now work with overloaded functions.\r\n\r\n\r\n**Compiler Features:**\r\n * Inline Assembly: Issue error when using ``callvalue()`` inside nonpayable function (in the same way that ``msg.value`` already does).\r\n * Standard JSON Interface: Support \"Yul\" as input language.\r\n * SMTChecker: Show callstack together with model if applicable.\r\n * SMTChecker: Support modifiers.\r\n * Yul Optimizer: Enable stack allocation optimization by default if Yul optimizer is active (disable in ``yulDetails``).\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Defensively pad memory for ``type(Contract).name`` to multiples of 32.\r\n * Type System: Detect and disallow internal function pointers as parameters for public/external library functions, even when they are nested/wrapped in structs, arrays or other types.\r\n * Yul Optimizer: Properly determine whether a variable can be eliminated during stack compression pass.\r\n * Yul / Inline Assembly Parser: Disallow more than one case statement with the same label inside a switch based on the label's integer value.\r\n\r\n\r\n**Build System:**\r\n * Install scripts: Fix boost repository URL for CentOS 6.\r\n * Soltest: Fix hex string update in soltest.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Christian Parpart, Chris Ward, Constantin Kloecker, Daniel Kirchner, Erik Kundt, Leonardo Alt, Mathias Baumann, SystemGlitch, Taariq Levack\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.7.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/16083515","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/16083515/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/16083515/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.6","id":16083515,"node_id":"MDc6UmVsZWFzZTE2MDgzNTE1","tag_name":"v0.5.6","target_commitish":"b259423eb8326dae5340e3e43e34f912cfb1c645","name":"Version 0.5.6","draft":false,"prerelease":false,"created_at":"2019-03-13T16:49:55Z","published_at":"2019-03-13T16:51:47Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11511625","id":11511625,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNTExNjI1","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6477608,"download_count":24599,"created_at":"2019-03-13T17:10:08Z","updated_at":"2019-03-13T17:10:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.6/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11511853","id":11511853,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNTExODUz","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6301573,"download_count":888,"created_at":"2019-03-13T17:23:30Z","updated_at":"2019-03-13T17:23:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.6/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11511820","id":11511820,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNTExODIw","name":"solidity_0.5.6.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1489326,"download_count":1308,"created_at":"2019-03-13T17:21:02Z","updated_at":"2019-03-13T17:21:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.6/solidity_0.5.6.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11511666","id":11511666,"node_id":"MDEyOlJlbGVhc2VBc3NldDExNTExNjY2","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":11939882,"download_count":46,"created_at":"2019-03-13T17:11:04Z","updated_at":"2019-03-13T17:11:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.6/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.6","body":"This release mainly fixes an optimizer bug related to multiple shift opcodes that was introduced in the previous release. It is unlikely that any existing contracts are affected, but you should still not use Solidity 0.5.5.\r\n\r\nApart from that, the support for calldata structs and arrays by ABIEncoderV2 is almost finished now, we added some more optimizer rules and added enums and one-dimensional arrays to the SMT checker.\r\n\r\n**Important Bugfixes:**\r\n * Yul Optimizer: Fix visitation order bug for the structural simplifier.\r\n * Optimizer: Fix overflow in optimization rule that simplifies double shift by constant.\r\n\r\n**Language Features:**\r\n * Allow calldata arrays with dynamically encoded base types with ABIEncoderV2.\r\n * Allow dynamically encoded calldata structs with ABIEncoderV2.\r\n\r\n\r\n**Compiler Features:**\r\n * Optimizer: Add rules for ``lt``-comparisons with constants.\r\n * Peephole Optimizer: Remove double ``iszero`` before ``jumpi``.\r\n * SMTChecker: Support enums without typecast.\r\n * SMTChecker: Support one-dimensional arrays.\r\n * Type Checker: Provide better error messages for some literal conversions.\r\n * Yul Optimizer: Add rule to remove empty default switch cases.\r\n * Yul Optimizer: Add rule to remove empty cases if no default exists.\r\n * Yul Optimizer: Add rule to replace a switch with no cases with ``pop(expression)``.\r\n\r\n\r\n**Bugfixes:**\r\n * JSON ABI: Json description of library ABIs no longer contains functions with internal types like storage structs.\r\n * SMTChecker: Fix internal compiler error when contract contains too large rational number.\r\n * Type system: Detect if a contract's base uses types that require the experimental abi encoder while the contract still uses the old encoder.\r\n\r\n\r\n**Build System:**\r\n * Soltest: Add support for arrays in function signatures.\r\n * Soltest: Add support for struct arrays in function signatures.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.6.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/15920415","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/15920415/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/15920415/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.5","id":15920415,"node_id":"MDc6UmVsZWFzZTE1OTIwNDE1","tag_name":"v0.5.5","target_commitish":"47a71e8f1c884368ad340d61ed36ea7fe270805d","name":"Version 0.5.5","draft":false,"prerelease":false,"created_at":"2019-03-05T15:22:00Z","published_at":"2019-03-05T15:53:53Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11376917","id":11376917,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMzc2OTE3","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6424360,"download_count":44226,"created_at":"2019-03-05T16:21:31Z","updated_at":"2019-03-05T16:21:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.5/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11377486","id":11377486,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMzc3NDg2","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6187447,"download_count":809,"created_at":"2019-03-05T16:54:31Z","updated_at":"2019-03-05T16:54:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.5/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11376445","id":11376445,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMzc2NDQ1","name":"solidity_0.5.5.tar.gz","label":"","uploader":{"login":"erak","id":20012009,"node_id":"MDQ6VXNlcjIwMDEyMDA5","avatar_url":"https://avatars.githubusercontent.com/u/20012009?v=4","url":"https://api.github.com/users/erak","html_url":"https://github.com/erak","followers_url":"https://api.github.com/users/erak/followers","following_url":"https://api.github.com/users/erak/following{/other_user}","gists_url":"https://api.github.com/users/erak/gists{/gist_id}","starred_url":"https://api.github.com/users/erak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erak/subscriptions","organizations_url":"https://api.github.com/users/erak/orgs","repos_url":"https://api.github.com/users/erak/repos","events_url":"https://api.github.com/users/erak/events{/privacy}","received_events_url":"https://api.github.com/users/erak/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1436983,"download_count":958,"created_at":"2019-03-05T16:00:12Z","updated_at":"2019-03-05T16:00:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.5/solidity_0.5.5.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11376982","id":11376982,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMzc2OTgy","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":11747062,"download_count":54,"created_at":"2019-03-05T16:27:06Z","updated_at":"2019-03-05T16:27:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.5/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.5","body":"This release focuses on the stabilization of the ABIEncoderV2 and the optimizer. We also prepared for the Petersburg release which is the default EVM now and improved the SMT checker, such that it now reports less false positives when using ``SafeMath``.\r\nYou can now activate the experimental Yul optimizer using `settings: {optimizer: {enabled: true, details: {yul: true}}}` or in the commandline via `solc --optimize-yul`.\r\n\r\n**Language Features:**\r\n\r\n * Add support for getters of mappings with ``string`` or ``bytes`` key types.\r\n * Meta programming: Provide access to the name of contracts via ``type(C).name``.\r\n\r\n**Compiler Features:**\r\n\r\n * Support ``petersburg`` as ``evmVersion`` and set as default.\r\n * Commandline Interface: Option to activate the experimental yul optimizer using ``-optimize-yul``.\r\n * Inline Assembly: Consider ``extcodehash`` as part of Constantinople.\r\n * Inline Assembly: Instructions unavailable to the currently configured EVM are errors now.\r\n * SMTChecker: Do not report underflow/overflow if they always revert. This removes false positives when using ``SafeMath``.\r\n * Standard JSON Interface: Allow retrieving metadata without triggering bytecode generation.\r\n * Standard JSON Interface: Provide fine-grained control over the optimizer via the settings.\r\n * Static Analyzer: Warn about expressions with custom types when they have no effect.\r\n * Optimizer: Add new rules with constants including ``LT``, ``GT``, ``AND`` and ``BYTE``.\r\n * Optimizer: Add rule for shifts with constants for Constantinople.\r\n * Optimizer: Combine multiple shifts with constant shift-by values into one.\r\n * Optimizer: Do not mask with 160-bits after ``CREATE`` and ``CREATE2`` as they are guaranteed to return an address or 0.\r\n * Optimizer: Support shifts in the constant optimiser for Constantinople.\r\n * Yul Optimizer: Add rule to replace switch statements with literals by matching case body.\r\n\r\n**Bugfixes:**\r\n\r\n * ABIEncoderV2: Fix internal error related to bare delegatecall.\r\n * ABIEncoderV2: Fix internal error related to ecrecover.\r\n * ABIEncoderV2: Fix internal error related to mappings as library parameters.\r\n * ABIEncoderV2: Fix invalid signature for events containing structs emitted in libraries.\r\n * Inline Assembly: Proper error message for missing variables.\r\n * Optimizer: Fix internal error related to unused tag removal across assemblies. This never generated any invalid code.\r\n * SMTChecker: Fix crash related to statically-sized arrays.\r\n * TypeChecker: Fix internal error and disallow index access on contracts and libraries.\r\n * Yul: Properly detect name clashes with functions before their declaration.\r\n * Yul: Take built-in functions into account in the compilability checker.\r\n * Yul Optimizer: Properly take reassignments to variables in sub-expressions into account when replacing in the ExpressionSimplifier.\r\n\r\n**Build System:**\r\n\r\n * Soltest: Add support for left-aligned, padded hex literals.\r\n * Soltest: Add support for right-aligned, padded boolean literals.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Christian Parpart, Chris Ward, Daniel Kirchner, David Terry, Erik Kundt, Leo Arias, Leonardo Alt, Mathias Baumann\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.5.tar.gz and not the zip provided by github directly.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/15505453","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/15505453/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/15505453/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.4","id":15505453,"node_id":"MDc6UmVsZWFzZTE1NTA1NDUz","tag_name":"v0.5.4","target_commitish":"9549d8fff7343908228c3e8bedc309d1b83fc204","name":"Version 0.5.4","draft":false,"prerelease":false,"created_at":"2019-02-12T13:20:45Z","published_at":"2019-02-12T13:52:07Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11046123","id":11046123,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMDQ2MTIz","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6284040,"download_count":48467,"created_at":"2019-02-12T14:19:37Z","updated_at":"2019-02-12T14:19:38Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.4/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11046741","id":11046741,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMDQ2NzQx","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5918610,"download_count":1025,"created_at":"2019-02-12T14:51:58Z","updated_at":"2019-02-12T14:51:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.4/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11045953","id":11045953,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMDQ1OTUz","name":"solidity_0.5.4.tar.gz","label":"","uploader":{"login":"erak","id":20012009,"node_id":"MDQ6VXNlcjIwMDEyMDA5","avatar_url":"https://avatars.githubusercontent.com/u/20012009?v=4","url":"https://api.github.com/users/erak","html_url":"https://github.com/erak","followers_url":"https://api.github.com/users/erak/followers","following_url":"https://api.github.com/users/erak/following{/other_user}","gists_url":"https://api.github.com/users/erak/gists{/gist_id}","starred_url":"https://api.github.com/users/erak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erak/subscriptions","organizations_url":"https://api.github.com/users/erak/orgs","repos_url":"https://api.github.com/users/erak/repos","events_url":"https://api.github.com/users/erak/events{/privacy}","received_events_url":"https://api.github.com/users/erak/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1400250,"download_count":1839,"created_at":"2019-02-12T14:06:56Z","updated_at":"2019-02-12T14:06:58Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.4/solidity_0.5.4.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/11046197","id":11046197,"node_id":"MDEyOlJlbGVhc2VBc3NldDExMDQ2MTk3","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":9598610,"download_count":56,"created_at":"2019-02-12T14:26:30Z","updated_at":"2019-02-12T14:26:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.4/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.4","body":"This release adds support for calldata structs and packed encoding with ABIEncoderV2. We also introduced some changes to the C API and added support for continuous fuzzing via Google oss-fuzz. In addition to that, we added a new commandline option for improved (colorized) diagnostics formatting.\r\n\r\n**Language Features:**\r\n * Allow calldata structs without dynamically encoded members with ABIEncoderV2.\r\n\r\n\r\n**Compiler Features:**\r\n * ABIEncoderV2: Implement packed encoding.\r\n * C API (``libsolc`` / raw ``soljson.js``): Introduce ``solidity_free`` method which releases all internal buffers to save memory.\r\n * Commandline Interface: Adds new option ``--new-reporter`` for improved diagnostics formatting\r\n along with ``--color`` and ``--no-color`` for colorized output to be forced (or explicitly disabled).\r\n\r\n\r\n**Bugfixes:**\r\n * Code Generator: Defensively pad allocation of creationCode and runtimeCode to multiples of 32 bytes.\r\n * Commandline Interface: Allow yul optimizer only for strict assembly.\r\n * Parser: Disallow empty import statements.\r\n * Type Checker: Disallow mappings with data locations other than ``storage``.\r\n * Type Checker: Fix internal error when a struct array index does not fit into a uint256.\r\n * Type System: Properly report packed encoded size for arrays and structs (mostly unused until now).\r\n\r\n\r\n**Build System:**\r\n * Add support for continuous fuzzing via Google oss-fuzz\r\n * SMT: If using Z3, require version 4.6.0 or newer.\r\n * Soltest: Add parser that is used in the file-based unit test environment.\r\n * Ubuntu PPA Packages: Use CVC4 as SMT solver instead of Z3\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, Bhargava Shastry, Christian Reitwiessner, Christian Parpart, Chris Ward, Daniel Kirchner, Erik Kundt, Leo Arias, Leonardo Alt, Mathias Baumann, Mudit Gupta, Shelly Grossman\r\n\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"erak","id":20012009,"node_id":"MDQ6VXNlcjIwMDEyMDA5","avatar_url":"https://avatars.githubusercontent.com/u/20012009?v=4","url":"https://api.github.com/users/erak","html_url":"https://github.com/erak","followers_url":"https://api.github.com/users/erak/followers","following_url":"https://api.github.com/users/erak/following{/other_user}","gists_url":"https://api.github.com/users/erak/gists{/gist_id}","starred_url":"https://api.github.com/users/erak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erak/subscriptions","organizations_url":"https://api.github.com/users/erak/orgs","repos_url":"https://api.github.com/users/erak/repos","events_url":"https://api.github.com/users/erak/events{/privacy}","received_events_url":"https://api.github.com/users/erak/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/15105464","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/15105464/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/15105464/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.3","id":15105464,"node_id":"MDc6UmVsZWFzZTE1MTA1NDY0","tag_name":"v0.5.3","target_commitish":"10d17f245839f208ec5085309022a32cd2502f55","name":"Version 0.5.3","draft":false,"prerelease":false,"created_at":"2019-01-22T12:49:41Z","published_at":"2019-01-22T14:40:55Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10720802","id":10720802,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwNzIwODAy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5993216,"download_count":29244,"created_at":"2019-01-22T14:56:20Z","updated_at":"2019-01-22T14:56:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.3/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10721569","id":10721569,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwNzIxNTY5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5755623,"download_count":1012,"created_at":"2019-01-22T15:42:48Z","updated_at":"2019-01-22T15:42:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.3/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10721541","id":10721541,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwNzIxNTQx","name":"solidity_0.5.3.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1403883,"download_count":1756,"created_at":"2019-01-22T15:40:51Z","updated_at":"2019-01-22T15:40:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.3/solidity_0.5.3.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10720840","id":10720840,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwNzIwODQw","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":9254677,"download_count":55,"created_at":"2019-01-22T14:59:43Z","updated_at":"2019-01-22T14:59:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.3/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.3","body":"This release adds support for accessing the code of a contract type, which will hopefully make the new `CREATE2` opcode easier to use. We also added some static analysis features to the compiler, but most changes were done \"under the hood\" to pave the way for using the new Yul-based optimizer with ABIEncoderV2.\r\n\r\n**Language Features:**\r\n * Provide access to creation and runtime code of contracts via ``type(C).creationCode`` / ``type(C).runtimeCode``.\r\n\r\n\r\n**Compiler Features:**\r\n * Control Flow Graph: Warn about unreachable code.\r\n * SMTChecker: Support basic typecasts without truncation.\r\n * SMTChecker: Support external function calls and erase all knowledge regarding storage variables and references.\r\n\r\n\r\n**Bugfixes:**\r\n * Emscripten: Split simplification rule initialization up further to work around issues with soljson.js in some browsers.\r\n * Type Checker: Disallow calldata structs until implemented.\r\n * Type Checker: Return type error if fixed point encoding is attempted instead of throwing ``UnimplementedFeatureError``.\r\n * Yul: Check that arguments to ``dataoffset`` and ``datasize`` are literals at parse time and properly take this into account in the optimizer.\r\n * Yul: Parse number literals for detecting duplicate switch cases.\r\n * Yul: Require switch cases to have the same type.\r\n\r\n\r\n**Build System:**\r\n * Emscripten: Upgrade to emscripten 1.38.8 on travis and circleci.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.3.tar.gz and not the zip provided by github directly.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlex Beregszaszi, androlo, Asher, chandan kumar mandal, Christian Parpart, Chris Ward, Daniel Kirchner, Erik Kundt, Evan Saulpaugh, Leonardo Alt, Nick Barry, Paweł Bylica, poiresel, spmvg, Tomek Kopczynski, William Entriken\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/14590507","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/14590507/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/14590507/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.2","id":14590507,"node_id":"MDc6UmVsZWFzZTE0NTkwNTA3","tag_name":"v0.5.2","target_commitish":"1df8f40cd2fd7b47698d847907b8ca7b47eb488d","name":"Version 0.5.2","draft":false,"prerelease":false,"created_at":"2018-12-19T17:06:13Z","published_at":"2018-12-19T18:25:01Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10231052","id":10231052,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwMjMxMDUy","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5849856,"download_count":28795,"created_at":"2018-12-19T18:39:43Z","updated_at":"2018-12-19T18:39:44Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.2/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10231319","id":10231319,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwMjMxMzE5","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5648041,"download_count":3180,"created_at":"2018-12-19T18:51:46Z","updated_at":"2018-12-19T18:51:47Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.2/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10231514","id":10231514,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwMjMxNTE0","name":"solidity_0.5.2.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1371077,"download_count":3181,"created_at":"2018-12-19T19:07:20Z","updated_at":"2018-12-19T19:07:24Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.2/solidity_0.5.2.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/10231073","id":10231073,"node_id":"MDEyOlJlbGVhc2VBc3NldDEwMjMxMDcz","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":9318944,"download_count":75,"created_at":"2018-12-19T18:41:34Z","updated_at":"2018-12-19T18:41:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.2/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.2","body":"This release of the Solidity compiler includes several performance optimizations. These include faster compilation time but also cheaper contracts in some situations. This version also checks for all instances of uninitialized storage references, has some improved error messages and other checks.\r\n\r\nYou can now create complete contracts in Yul through the support of the Yul object format and the special functions ``datasize``, ``dataoffset`` and ``datacopy``.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.2.tar.gz and not the zip provided by github directly.\r\n\r\n\r\n**Language Features:**\r\n * Control Flow Graph: Detect every access to uninitialized storage pointers.\r\n\r\n\r\n**Compiler Features:**\r\n * Inline Assembly: Improve error messages around invalid function argument count.\r\n * Code Generator: Only check callvalue once if all functions are non-payable.\r\n * Code Generator: Use codecopy for string constants more aggressively.\r\n * Code Generator: Use binary search for dispatch function if more efficient. The size/speed tradeoff can be tuned using ``--optimize-runs``.\r\n * SMTChecker: Support mathematical and cryptographic functions in an uninterpreted way.\r\n * SMTChecker: Support one-dimensional mappings.\r\n * Standard JSON Interface: Disallow unknown keys in standard JSON input.\r\n * Standard JSON Interface: Only run code generation if it has been requested. This could lead to unsupported feature errors only being reported at the point where you request bytecode.\r\n * Static Analyzer: Do not warn about unused variables or state mutability for functions with an empty body.\r\n * Type Checker: Add an additional reason to be displayed when type conversion fails.\r\n * Yul: Support object access via ``datasize``, ``dataoffset`` and ``datacopy`` in standalone assembly mode.\r\n\r\n\r\n**Bugfixes:**\r\n * Standard JSON Interface: Report specific error message for json input errors instead of internal compiler error.\r\n\r\n\r\n**Build System:**\r\n * Replace the trusty PPA build by a static build on cosmic that is used for the trusty package instead.\r\n * Remove support for Visual Studio 2015.\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlbert, Alex Beregszaszi, Christian Parpart, Chris Ward, Daniel Kirchner, Erik Kundt, Kevin Kelley, Leonardo Alt, liangdzou, Lionello Lunesu, Mathias Baumann, Ricardo Guilherme Schmidt, Yi Huang, Zacharius\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/14315398","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/14315398/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/14315398/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.1","id":14315398,"node_id":"MDc6UmVsZWFzZTE0MzE1Mzk4","tag_name":"v0.5.1","target_commitish":"c8a2cb62832afb2dc09ccee6fd42c1516dfdb981","name":"Version 0.5.1","draft":false,"prerelease":false,"created_at":"2018-12-03T14:48:03Z","published_at":"2018-12-03T15:32:38Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9968923","id":9968923,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njg5MjM=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5731072,"download_count":43513,"created_at":"2018-12-03T15:46:39Z","updated_at":"2018-12-03T15:46:40Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9968908","id":9968908,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njg5MDg=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":26580558,"download_count":48,"created_at":"2018-12-03T15:45:54Z","updated_at":"2018-12-03T15:45:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9969454","id":9969454,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njk0NTQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":37254439,"download_count":69,"created_at":"2018-12-03T16:20:07Z","updated_at":"2018-12-03T16:20:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9969835","id":9969835,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njk4MzU=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":6861474,"download_count":1186,"created_at":"2018-12-03T16:52:23Z","updated_at":"2018-12-03T16:52:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9969457","id":9969457,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njk0NTc=","name":"solidity_0.5.1.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1340235,"download_count":3507,"created_at":"2018-12-03T16:20:12Z","updated_at":"2018-12-03T16:20:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/solidity_0.5.1.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9968943","id":9968943,"node_id":"MDEyOlJlbGVhc2VBc3NldDk5Njg5NDM=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":9083012,"download_count":48,"created_at":"2018-12-03T15:48:00Z","updated_at":"2018-12-03T15:48:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.1","body":"This release improves the usability of interfaces, fixes some bugs, extends the SMT checker and provides an early preview of the Yul optimizer.\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.1.tar.gz and not the zip provided by github directly.\r\n\r\n**Language Features:**\r\n * Allow mapping type for parameters and return variables of public and external library functions.\r\n * Allow public functions to override external functions.\r\n\r\n**Compiler Features:**\r\n * Code generator: Do not perform redundant double cleanup on unsigned integers when loading from calldata.\r\n * Commandline interface: Experimental ``--optimize`` option for assembly mode (``--strict-assembly`` and ``--yul``).\r\n * SMTChecker: SMTLib2 queries and responses passed via standard JSON compiler interface.\r\n * SMTChecker: Support ``msg``, ``tx`` and ``block`` member variables.\r\n * SMTChecker: Support ``gasleft()`` and ``blockhash()`` functions.\r\n * SMTChecker: Support internal bound function calls.\r\n * Yul: Support Yul objects in ``--assemble``, ``--strict-assembly`` and ``--yul`` commandline options.\r\n\r\n**Bugfixes:**\r\n * Assembly output: Do not mix in/out jump annotations with arguments.\r\n * Commandline interface: Fix crash when using ``--ast`` on empty runtime code.\r\n * Code Generator: Annotate jump from calldata decoder to function as \"jump in\".\r\n * Code Generator: Fix internal error related to state variables of function type access via base contract name.\r\n * Optimizer: Fix nondeterminism bug related to the boost version and constants representation. The bug only resulted in less optimal but still correct code because the generated routine is always verified to be correct.\r\n * Type Checker: Properly detect different return types when overriding an external interface function with a public contract function.\r\n * Type Checker: Disallow struct return types for getters of public state variables unless the new ABI encoder is active.\r\n * Type Checker: Fix internal compiler error when a field of a struct used as a parameter in a function type has a non-existent type.\r\n * Type Checker: Disallow functions ``sha3`` and ``suicide`` also without a function call.\r\n * Type Checker: Fix internal compiler error with ``super`` when base contract function is not implemented.\r\n * Type Checker: Fixed internal error when trying to create abstract contract in some cases.\r\n * Type Checker: Fixed internal error related to double declaration of events.\r\n * Type Checker: Disallow inline arrays of mapping type.\r\n * Type Checker: Consider abstract function to be implemented by public state variable.\r\n\r\n**Build System:**\r\n * CMake: LLL is not built anymore by default. Must configure it with CMake as `-DLLL=ON`.\r\n * Docker: Includes both Scratch and Alpine images.\r\n * Emscripten: Upgrade to Emscripten SDK 1.37.21 and boost 1.67.\r\n\r\n**Solc-Js:**\r\n * Fix handling of standard-json in the commandline executable.\r\n * Remove support of nodejs 4.\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\nAlbert, Alex Beregszaszi, Anurag Dashputre, Chris Purta, Christian Parpart, Chris Ward, Daniel Kirchner, David Lozano Jarque, Erik Kundt, hydai, Javier Tarazaga, Justin Wilson, Lazaridis, Leonardo Alt, liangdzou, mordax, Robert Chung, William Entriken, Yet another codejunkie\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/13977900","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/13977900/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/13977900/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.5.0","id":13977900,"node_id":"MDc6UmVsZWFzZTEzOTc3OTAw","tag_name":"v0.5.0","target_commitish":"release","name":"Version 0.5.0","draft":false,"prerelease":false,"created_at":"2018-11-13T18:33:35Z","published_at":"2018-11-13T19:36:55Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9678414","id":9678414,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2Nzg0MTQ=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5055232,"download_count":76040,"created_at":"2018-11-13T19:51:12Z","updated_at":"2018-11-13T19:51:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9678412","id":9678412,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2Nzg0MTI=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":26723028,"download_count":208,"created_at":"2018-11-13T19:50:55Z","updated_at":"2018-11-13T19:50:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9679240","id":9679240,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2NzkyNDA=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6922283,"download_count":2575,"created_at":"2018-11-13T20:56:01Z","updated_at":"2018-11-13T20:56:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9678411","id":9678411,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2Nzg0MTE=","name":"solidity_0.5.0.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1320606,"download_count":4023,"created_at":"2018-11-13T19:50:54Z","updated_at":"2018-11-13T19:50:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/solidity_0.5.0.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/9678497","id":9678497,"node_id":"MDEyOlJlbGVhc2VBc3NldDk2Nzg0OTc=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8496902,"download_count":194,"created_at":"2018-11-13T19:58:14Z","updated_at":"2018-11-13T19:58:14Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.5.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.5.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.5.0","body":"This is a major breaking release of the Solidity language and compiler that includes many new safety features. In general, programmers have to be more explicit, some weird edge-cases are removed from the language and the low-level compiler interface is much simpler.\r\n\r\nThis release was long overdue and as a result has amassed an incredibly long list of changes. Please refer to the [\"Solidity v0.5.0 Breaking Changes”](https://solidity.readthedocs.io/en/latest/050-breaking-changes.html) section in the documentation about a good description of what has changed and how to update your code, or if you are courageous, check out the [changelog](https://github.com/ethereum/solidity/blob/v0.5.0/Changelog.md)!\r\n\r\nIf you want to perform a source build, please only use solidity_0.5.0.tar.gz and not the zip provided by github directly.\r\n\r\n\r\n\r\n\r\nWe especially thank all the contributors that made this release possible:\r\n\r\na4nkit, ajs, Alexander Arlt, Alex Beregszaszi, alibabe, Ankit Raj, Anurag Dashputre, Arindam Mondal, Asif Mallik, Augusto F. Hack, bakaoh, Balajiganapathi S, Berk Erol, Bhargava Shastry, Chase McDermott, Christian Parpart, Chris Ward, Crypto Jerônimo, Cryptomental, Daniel Kirchner, Daniel Kronovet, Dimitry, dm4, D-Nice, Dominik Harz, Dylan Wilson, Eitan Levin, Eric Ren, Erik Kundt, Evgeniy Filatov, f-daniel, Federico Bond, feliam, Flash Sheridan, Florian Antony, Franco Victorio, gftea, Guido Vranken, Harry Moreno, herrBez, hydai, Jared Wasinger, Jason Cobb, Jeffrey Anthony, Jesse Busman, João Vítor, Jordan Last, J Quinn, Julius Huelsmann, Kevin Azoulay, Khan M Rashedun-Naby, Kristofer Peterson, Lazaridis, Leanne, Lefteris Karapetsas, Leo Arias, Leonardo Alt, liangdzou, Li Xuanji, Luke Schoen, Martin Diz, Matías Aereal Aeón, Matías A. Ré Medina, Matthew Little, Matt Little, mestorlx, Michał Załęcki, Mike, mingchuan, mordax, Nicolás Venturo, Noel Maersk, Paweł Bylica, Pritam Roy, Richard Littauer, ritzdorf, Rytis Slatkevičius, Shadab Khan, Simon Chen, taitt, Tim Holland, Timofey Solonin, Tomasz Drwięga, Vutsal Singhal, wbt, William Entriken, William Morriss, wpank, xinbenlv","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/13977900/reactions","total_count":6,"+1":0,"-1":0,"laugh":0,"hooray":3,"confused":0,"heart":3,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/12867242","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/12867242/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/12867242/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.25","id":12867242,"node_id":"MDc6UmVsZWFzZTEyODY3MjQy","tag_name":"v0.4.25","target_commitish":"release","name":"Version 0.4.25","draft":false,"prerelease":false,"created_at":"2018-09-13T16:38:41Z","published_at":"2018-09-13T18:03:38Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662327","id":8662327,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjIzMjc=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4973312,"download_count":145437,"created_at":"2018-09-13T18:53:06Z","updated_at":"2018-09-13T18:53:06Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662429","id":8662429,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjI0Mjk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":26403977,"download_count":325,"created_at":"2018-09-13T18:59:50Z","updated_at":"2018-09-13T18:59:51Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662414","id":8662414,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjI0MTQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":36017550,"download_count":1036,"created_at":"2018-09-13T18:59:07Z","updated_at":"2018-09-13T18:59:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8663023","id":8663023,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjMwMjM=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":7246873,"download_count":6184,"created_at":"2018-09-13T19:49:29Z","updated_at":"2018-09-13T19:49:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662431","id":8662431,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjI0MzE=","name":"solidity_0.4.25.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1159514,"download_count":9986,"created_at":"2018-09-13T18:59:52Z","updated_at":"2018-09-13T18:59:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/solidity_0.4.25.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/8662441","id":8662441,"node_id":"MDEyOlJlbGVhc2VBc3NldDg2NjI0NDE=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8276039,"download_count":201,"created_at":"2018-09-13T19:00:54Z","updated_at":"2018-09-13T19:00:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.25/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.25","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.25","body":"This release fixed a cleanup error concerning the exponentiation operator. It is a bugfix-only release\r\nand does not contain any features. A more detailed description of the bugs fixed can be found\r\non the [ethereum blog](https://blog.ethereum.org/2018/09/13/solidity-bugfix-release/).\r\n\r\nNote that nightly builds of Solidity currently contain changes unrelated to this bugfix release.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.25.tar.gz and not the zip provided by github directly.\r\n\r\n**Important Bugfixes:**\r\n * Code Generator: Properly perform cleanup for exponentiation and non-256 bit types.\r\n * Type Checker: Report error when using indexed structs in events with experimental ABIEncoderV2. This used to log wrong values.\r\n * Type Checker: Report error when using structs in events without experimental ABIEncoderV2. This used to crash or log the wrong values.\r\n * Parser: Consider all unicode line terminators (LF, VF, FF, CR, NEL, LS, PS) for single-line comments\r\n and string literals. They are invalid in strings and will end comments.\r\n * Parser: Disallow unterminated multi-line comments at the end of input.\r\n * Parser: Treat ``/** /`` as unterminated multi-line comment.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nmingchuan and Guido Vranken","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/12867242/reactions","total_count":2,"+1":2,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/11027885","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/11027885/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/11027885/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.24","id":11027885,"node_id":"MDc6UmVsZWFzZTExMDI3ODg1","tag_name":"v0.4.24","target_commitish":"release","name":"Version 0.4.24","draft":false,"prerelease":false,"created_at":"2018-05-16T12:43:57Z","published_at":"2018-05-16T14:09:50Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195526","id":7195526,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU1MjY=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5026632,"download_count":125931,"created_at":"2018-05-16T14:22:44Z","updated_at":"2018-05-16T14:22:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195604","id":7195604,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU2MDQ=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":25969398,"download_count":458,"created_at":"2018-05-16T14:26:19Z","updated_at":"2018-05-16T14:26:20Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195680","id":7195680,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU2ODA=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":35402421,"download_count":974,"created_at":"2018-05-16T14:32:53Z","updated_at":"2018-05-16T14:32:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7214032","id":7214032,"node_id":"MDEyOlJlbGVhc2VBc3NldDcyMTQwMzI=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":6853756,"download_count":4307,"created_at":"2018-05-17T18:20:36Z","updated_at":"2018-05-17T18:20:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195679","id":7195679,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU2Nzk=","name":"solidity_0.4.24.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1154386,"download_count":9488,"created_at":"2018-05-16T14:32:52Z","updated_at":"2018-05-16T14:32:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/solidity_0.4.24.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/7195609","id":7195609,"node_id":"MDEyOlJlbGVhc2VBc3NldDcxOTU2MDk=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":8273404,"download_count":259,"created_at":"2018-05-16T14:26:29Z","updated_at":"2018-05-16T14:26:30Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.24/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.24","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.24","body":"All remaining breaking changes planned for version 0.5.0 that can be implemented in a backwards-compatible way made it into this release. Solidity can now detect uninitialized storage pointers using control-flow analysis. It is again possible to assign multiple return values from a function to newly declared variables and the SMT checker is able to work with simple storage variables.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.24.tar.gz and not the zip provided by github directly.\r\n\r\n**Language Features:**\r\n * Code Generator: Use native shift instructions on target Constantinople.\r\n * General: Allow multiple variables to be declared as part of a tuple assignment, e.g. ``(uint a, uint b) = ...``.\r\n * General: Remove deprecated ``constant`` as function state modifier from documentation and tests (but still leave it as a valid feature).\r\n * Type Checker: Deprecate the ``years`` unit denomination and raise a warning for it (or an error as experimental 0.5.0 feature).\r\n * Type Checker: Make literals (without explicit type casting) an error for tight packing as experimental 0.5.0 feature.\r\n * Type Checker: Warn about wildcard tuple assignments (this will turn into an error with version 0.5.0).\r\n * Type Checker: Warn when ``keccak256``, ``sha256`` and ``ripemd160`` are not used with a single bytes argument (suggest to use ``abi.encodePacked(...)``). This will turn into an error with version 0.5.0.\r\n\r\n**Compiler Features:**\r\n * Build System: Update internal dependency of jsoncpp to 1.8.4, which introduces more strictness and reduces memory usage.\r\n * Control Flow Graph: Add Control Flow Graph as analysis structure.\r\n * Control Flow Graph: Warn about returning uninitialized storage pointers.\r\n * Gas Estimator: Only explore paths with higher gas costs. This reduces accuracy but greatly improves the speed of gas estimation.\r\n * Optimizer: Remove unnecessary masking of the result of known short instructions (``ADDRESS``, ``CALLER``, ``ORIGIN`` and ``COINBASE``).\r\n * Parser: Display nicer error messages by showing the actual tokens and not internal names.\r\n * Parser: Use the entire location of the token instead of only its starting position as source location for parser errors.\r\n * SMT Checker: Support state variables of integer and bool type.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Fix ``revert`` with reason coming from a state or local string variable.\r\n * Type Checker: Show proper error when trying to ``emit`` a non-event.\r\n * Type Checker: Warn about empty tuple components (this will turn into an error with version 0.5.0).\r\n * Type Checker: The ABI encoding functions are pure and thus can be used for constants.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAlexander Arlt, Andreas Olofsson, Arun Kumar, daniel, David Sanders, GuessWho, Jason Cobb, Jonny Burger, Leo Arias, Luca Ban, Magicking, Matthew Ludwig, mingchuan, nisdas, njwest, Omar Boukli-Hacene, Rafiudeen Chozhan Kumarasamy, sledrho, Wenbin Wu\r\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/11027885/reactions","total_count":3,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":3},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/10626327","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/10626327/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/10626327/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.23","id":10626327,"node_id":"MDc6UmVsZWFzZTEwNjI2MzI3","tag_name":"v0.4.23","target_commitish":"release","name":"Version 0.4.23","draft":false,"prerelease":false,"created_at":"2018-04-19T17:24:01Z","published_at":"2018-04-19T21:18:27Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907812","id":6907812,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc4MTI=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4887368,"download_count":38256,"created_at":"2018-04-19T21:34:18Z","updated_at":"2018-04-19T21:34:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907783","id":6907783,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc3ODM=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":25404869,"download_count":68,"created_at":"2018-04-19T21:31:24Z","updated_at":"2018-04-19T21:31:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907844","id":6907844,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc4NDQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":34342305,"download_count":219,"created_at":"2018-04-19T21:37:11Z","updated_at":"2018-04-19T21:37:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907816","id":6907816,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc4MTY=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6683168,"download_count":1668,"created_at":"2018-04-19T21:34:38Z","updated_at":"2018-04-19T21:34:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6907845","id":6907845,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDc4NDU=","name":"solidity_0.4.23.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1136930,"download_count":2830,"created_at":"2018-04-19T21:37:14Z","updated_at":"2018-04-19T21:37:15Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/solidity_0.4.23.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6908111","id":6908111,"node_id":"MDEyOlJlbGVhc2VBc3NldDY5MDgxMTE=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7964199,"download_count":98,"created_at":"2018-04-19T22:09:00Z","updated_at":"2018-04-19T22:09:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.23/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.23","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.23","body":"Bugfix release: In the previous release, it was possible to define two constructors (one using the new constructor-keyword syntax, another one with the old syntax) for a contract, but only one of them got used in the end. We also included other bugfixes.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.23.tar.gz and not the zip provided by github directly.\r\n\r\n**Features:**\r\n * Build system: Support Ubuntu Bionic.\r\n * SMTChecker: Integration with CVC4 SMT solver\r\n * Syntax Checker: Warn about functions named \"constructor\".\r\n\r\n**Bugfixes:**\r\n * Type Checker: Improve error message for failed function overload resolution.\r\n * Type Checker: Do not complain about new-style constructor and fallback function to have the same name.\r\n * Type Checker: Detect multiple constructor declarations in the new syntax and old syntax.\r\n * Type Checker: Explicit conversion of ``bytesXX`` to ``contract`` is properly disallowed.\r\n\r\n\r\nWe especially thank all our open source community contributors: Thomas Sauvajon","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/10569637","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/10569637/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/10569637/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.22","id":10569637,"node_id":"MDc6UmVsZWFzZTEwNTY5NjM3","tag_name":"v0.4.22","target_commitish":"release","name":"Version 0.4.22","draft":false,"prerelease":false,"created_at":"2018-04-16T21:03:49Z","published_at":"2018-04-17T05:11:56Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869565","id":6869565,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NjU=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4887368,"download_count":53393,"created_at":"2018-04-17T05:29:09Z","updated_at":"2018-04-17T05:29:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869557","id":6869557,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NTc=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":25401057,"download_count":50,"created_at":"2018-04-17T05:27:09Z","updated_at":"2018-04-17T05:27:11Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869575","id":6869575,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NzU=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":34333064,"download_count":73,"created_at":"2018-04-17T05:34:33Z","updated_at":"2018-04-17T05:34:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869551","id":6869551,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NTE=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6696527,"download_count":1322,"created_at":"2018-04-17T05:26:31Z","updated_at":"2018-04-17T05:26:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869576","id":6869576,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk1NzY=","name":"solidity_0.4.22.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1133078,"download_count":738,"created_at":"2018-04-17T05:34:35Z","updated_at":"2018-04-17T05:34:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/solidity_0.4.22.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6869607","id":6869607,"node_id":"MDEyOlJlbGVhc2VBc3NldDY4Njk2MDc=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7961562,"download_count":47,"created_at":"2018-04-17T05:39:32Z","updated_at":"2018-04-17T05:39:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.22/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.22","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.22","body":"This release features several major and long-awaited changes:\r\n\r\n - It is now possible to access dynamic data (arrays, strings, etc) returned by function calls.\r\n - You can specify error reason strings for ``revert`` and ``require`` (support by tooling is still pending).\r\n - We added the global functions ``abi.encode()``, ``abi.encodePacked()``, ``abi.encodeWithSelector()`` and ``abi.encodeWithSignature()`` which expose the ABI encoding functions and each return a ``bytes`` value.\r\n - Constructors should now be defined using ``constructor(uint arg1, uint arg2) { ... }`` to make them stand out and avoid bugs when contracts are renamed but not their constructors.\r\n - Some array operations got cheaper, especially the ``push`` function and initialization of memory arrays.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.22.tar.gz and not the zip provided by github directly.\r\n\r\n**Features:**\r\n\r\n * Code Generator: Initialize arrays without using ``msize()``.\r\n * Code Generator: More specialized and thus optimized implementation for ``x.push(...)``\r\n * Commandline interface: Error when missing or inaccessible file detected. Suppress it with the ``--ignore-missing`` flag.\r\n * Constant Evaluator: Fix evaluation of single element tuples.\r\n * General: Add encoding routines ``abi.encodePacked``, ``abi.encode``, ``abi.encodeWithSelector`` and ``abi.encodeWithSignature``.\r\n * General: Add global function ``gasleft()`` and deprecate ``msg.gas``.\r\n * General: Add global function ``blockhash(uint)`` and deprecate ``block.hash(uint)``.\r\n * General: Allow providing reason string for ``revert()`` and ``require()``.\r\n * General: Allow and recommend new constructor syntax using the ``constructor`` keyword (generate error as experimental 0.5.0 feature).\r\n * General: Limit the number of errors output in a single run to 256.\r\n * General: Support accessing dynamic return data in post-byzantium EVMs.\r\n * Inheritance: Error when using empty parentheses for base class constructors that require arguments as experimental 0.5.0 feature.\r\n * Inheritance: Error when using no parentheses in modifier-style constructor calls as experimental 0.5.0 feature.\r\n * Interfaces: Allow overriding external functions in interfaces with public in an implementing contract.\r\n * Optimizer: Optimize ``SHL`` and ``SHR`` only involving constants (Constantinople only).\r\n * Optimizer: Remove useless ``SWAP1`` instruction preceding a commutative instruction (such as ``ADD``, ``MUL``, etc).\r\n * Optimizer: Replace comparison operators (``LT``, ``GT``, etc) with opposites if preceded by ``SWAP1``, e.g. ``SWAP1 LT`` is replaced with ``GT``.\r\n * Optimizer: Optimize across ``mload`` if ``msize()`` is not used.\r\n * Static Analyzer: Error on duplicated super constructor calls as experimental 0.5.0 feature.\r\n * Syntax Checker: Issue warning for empty structs (or error as experimental 0.5.0 feature).\r\n * Syntax Checker: Warn about modifiers on functions without implementation (this will turn into an error with version 0.5.0).\r\n * Syntax Tests: Add source locations to syntax test expectations.\r\n * Type Checker: Improve documentation and warnings for accessing contract members inherited from ``address``.\r\n\r\n\r\n**Bugfixes:**\r\n\r\n * Code Generator: Allow ``block.blockhash`` without being called.\r\n * Code Generator: Do not include internal functions in the runtime bytecode which are only referenced in the constructor.\r\n * Code Generator: Properly skip unneeded storage array cleanup when not reducing length.\r\n * Code Generator: Bugfix in modifier lookup in libraries.\r\n * Code Generator: Implement packed encoding of external function types.\r\n * Code Generator: Treat empty base constructor argument list as not provided.\r\n * Code Generator: Properly force-clean bytesXX types for shortening conversions.\r\n * Commandline interface: Fix error messages for imported files that do not exist.\r\n * Commandline interface: Support ``--evm-version constantinople`` properly.\r\n * DocString Parser: Fix error message for empty descriptions.\r\n * Gas Estimator: Correctly ignore costs of fallback function for other functions.\r\n * JSON AST: Remove storage qualifier for type name strings.\r\n * Parser: Fix internal compiler error when parsing ``var`` declaration without identifier.\r\n * Parser: Fix parsing of getters for function type variables.\r\n * Standard JSON: Support ``constantinople`` as ``evmVersion`` properly.\r\n * Static Analyzer: Fix non-deterministic order of unused variable warnings.\r\n * Static Analyzer: Invalid arithmetic with constant expressions causes errors.\r\n * Type Checker: Fix detection of recursive structs.\r\n * Type Checker: Fix asymmetry bug when comparing with literal numbers.\r\n * Type System: Improve error message when attempting to shift by a fractional amount.\r\n * Type System: Make external library functions accessible.\r\n * Type System: Prevent encoding of weird types.\r\n * Type System: Restrict rational numbers to 4096 bits.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nSergiusz Bazanski, Federico Bond, Anthony Broad-Crawford, Jason Cobb, dongsamb, Robbie Ferguson, Kevin Florenzano, Grzegorz Hasse, hydai, Lefteris Karapetsas, kevinflo, NetX, Daniel R, Matías A. Ré Medina, Roman, Yosyp Schwab, wbt, Li Xuanji, Haoliang Yu","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/9985185","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/9985185/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/9985185/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.21","id":9985185,"node_id":"MDc6UmVsZWFzZTk5ODUxODU=","tag_name":"v0.4.21","target_commitish":"release","name":"Version 0.4.21","draft":false,"prerelease":false,"created_at":"2018-03-07T19:20:57Z","published_at":"2018-03-08T06:45:05Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443382","id":6443382,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDMzODI=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4789064,"download_count":63902,"created_at":"2018-03-08T06:56:28Z","updated_at":"2018-03-08T06:56:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443464","id":6443464,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDM0NjQ=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":24938204,"download_count":82,"created_at":"2018-03-08T07:07:04Z","updated_at":"2018-03-08T07:07:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443506","id":6443506,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDM1MDY=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":33035016,"download_count":187,"created_at":"2018-03-08T07:11:29Z","updated_at":"2018-03-08T07:11:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443387","id":6443387,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDMzODc=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6535599,"download_count":2048,"created_at":"2018-03-08T06:59:10Z","updated_at":"2018-03-08T06:59:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443507","id":6443507,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDM1MDc=","name":"solidity_0.4.21.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1081265,"download_count":3984,"created_at":"2018-03-08T07:11:36Z","updated_at":"2018-03-08T07:11:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/solidity_0.4.21.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6443650","id":6443650,"node_id":"MDEyOlJlbGVhc2VBc3NldDY0NDM2NTA=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7716997,"download_count":121,"created_at":"2018-03-08T07:40:58Z","updated_at":"2018-03-08T07:40:58Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.21/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.21","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.21","body":"We again introduced several changes that are scheduled for version 0.5.0 and can be activated using `pragma experimental \"v0.5.0\";`. In this release, this pragma does not generate a warning anymore, so you can (and should) use it in production code.\r\n\r\nIn addition to that, you can now specify which EVM version the contract should be compiled for. Valid values are \"homestead\", \"tangerineWhistle\", \"spuriousDragon\", \"byzantium\" (the default) and \"constantinople\". Depending on this setting, different opcodes will be used in some cases. The only place where this is currently used by default is that all gas is forwarded with calls starting from \"tangerineWhistle\" (in homestead, some gas has to be retained for the ``call`` opcode itself). Also, the gas estimator reports different costs for the opcodes depending on the version and thus the optimizer might generate different code.\r\n\r\nThe new \"0.5.0\" features are explained in more detail below the list of features and bugfixes.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.21.tar.gz and not the zip provided by github directly.\r\n\r\n\r\n**Features:**\r\n\r\n * Code Generator: Assert that ``k != 0`` for ``mulmod(a, b, k)`` and ``addmod(a, b, k)`` as experimental 0.5.0 feature.\r\n * Code Generator: Do not retain any gas in calls (except if EVM version is set to homestead).\r\n * Code Generator: Use ``STATICCALL`` opcode for calling ``view`` and ``pure`` functions as experimenal 0.5.0 feature.\r\n * General: C99/C++-style scoping rules (instead of JavaScript function scoping) take effect as experimental v0.5.0 feature.\r\n * General: Improved messaging when error spans multiple lines of a sourcefile\r\n * General: Support and recommend using ``emit EventName();`` to call events explicitly.\r\n * Inline Assembly: Enforce strict mode as experimental 0.5.0 feature.\r\n * Interface: Provide ability to select target EVM version (homestead or byzantium, with byzantium being the default).\r\n * Standard JSON: Reject badly formatted invalid JSON inputs.\r\n * Type Checker: Disallow uninitialized storage pointers as experimental 0.5.0 feature.\r\n * Syntax Analyser: Do not warn about experimental features if they do not concern code generation.\r\n * Syntax Analyser: Do not warn about ``pragma experimental \"v0.5.0\"`` and do not set the experimental flag in the bytecode for this.\r\n * Syntax Checker: Mark ``throw`` as an error as experimental 0.5.0 feature.\r\n * Syntax Checker: Issue error if no visibility is specified on contract functions as experimental 0.5.0 feature.\r\n * Syntax Checker: Issue warning when using overloads of ``address`` on contract instances.\r\n * Type Checker: disallow combining hex numbers and unit denominations as experimental 0.5.0 feature.\r\n\r\n**Bugfixes:**\r\n\r\n * Assembly: Raise error on oversized number literals in assembly.\r\n * JSON-AST: Add \"documentation\" property to function, event and modifier definition.\r\n * Resolver: Properly determine shadowing for imports with aliases.\r\n * Standalone Assembly: Do not ignore input after closing brace of top level block.\r\n * Standard JSON: Catch errors properly when invalid \"sources\" are passed.\r\n * Standard JSON: Ensure that library addresses supplied are of correct length and hex prefixed.\r\n * Type Checker: Properly detect which array and struct types are unsupported by the old ABI encoder.\r\n * Type Checker: Properly warn when using ``_offset`` and ``_slot`` for constants in inline assembly.\r\n * Commandline interface: throw error if option is unknown\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAlexander Arlt, Dax Bondye, Emilio Almansi, Evgeny Medvedev, Federico Bond, Hongbin Zuo, Oleksii Matiiasevych, Raghav Dua, William Entriken, bernard peh, Aaron Colaço, Alexandre Bezroutchko, Anthony Broad-Crawford, DYLAN BECKWITH, Elena Dimitrova, Furkan Ayhan, Jordi Baylina, Li Xuanji, Zhen Zhang, ankit raj, janat08, mirgj, wbt.\r\n\r\n\r\n**Details:**\r\n\r\n * Code Generator: Use ``STATICCALL`` opcode for calling ``view`` and ``pure`` functions as experimenal 0.5.0 feature.\r\n\r\nThis ensures that functions marked as ``view`` or ``pure`` (previously ``constant``) cannot modify the state. This is especially important if you call unknown code via a generic interface and you cannot be sure whether the function modifies the state or not. This way, ``view`` and ``pure`` functions cannot have reentrancy effects.\r\n\r\n * General: C99/C++-style scoping rules (instead of JavaScript function scoping) take effect as experimental v0.5.0 feature.\r\n\r\nVariables are no longer valid in the whole function and even before they were declared as in JavaScript, but instead only in the ``{``/``}``-enclosed block where they are declared and only starting after their declaration. These are the rules also used by C++ or Java. There is a common exception where variables declared in the initializing part of the ``for`` header are also valid in the rest of the ``for`` loop construct which we also use in Solidity. Currently, the stack slot reserved for the variable still spans the whole function, but this is planned to be improved for the next release.\r\n\r\n * General: Support and recommend using ``emit EventName();`` to call events explicitly.\r\n\r\nIn order to make events stand out with regards to regular function calls, ``emit EventName()`` as opposed to just ``EventName()`` should now be used to \"call\" events.\r\n\r\n * Inline Assembly: Enforce strict mode as experimental 0.5.0 feature.\r\n\r\nStrict mode disallows labels, jumps and opcodes that directly modify the stack. It is much safer than non-strict mode, since you do not have to keep track of the current state of the stack. Furthermore, it allows an optimizer stage (to be finished soon) to be created much more easily. Because of that, the optimizer will refuse to work on non-strict assembly.\r\n\r\n * Type Checker: Disallow uninitialized storage pointers as experimental 0.5.0 feature.\r\n\r\nStorage pointers (e.g. ``StructType storage x;``) can lead to severe storage corruption if used without being assigned. In 0.5.0 it will be illegal to declare a storage pointer without directly initializing it.\r\n\r\n * Syntax Checker: Mark ``throw`` as an error as experimental 0.5.0 feature.\r\n\r\nThe ``throw`` keyword creates the impression that exceptions are a feature of Solidity, while in reality, it only supports state-reversion that can soon also include error data. Because of that, ``throw`` is deprecated.\r\n\r\n * Syntax Checker: Issue error if no visibility is specified on contract functions as experimental 0.5.0 feature.\r\n\r\nSince there were bugs where people did not realize that the default visibility of functions is ``public``, specifying a visibility was made mandatory.\r\n\r\n * Syntax Checker: Issue warning when using overloads of ``address`` on contract instances.\r\n\r\nCollisions between native members of the ``address`` type and user-defined members of contracts can easily deceive users. Because of that, address members are no longer available in contracts. If you want to use an address member (``transfer`` is one of them!), then convert it to address: ``address(contractInstance).transfer(2 wei)``.\r\n\r\n * Type Checker: disallow combining hex numbers and unit denominations as experimental 0.5.0 feature.\r\n\r\nWe could not think of any situation where unit denominations like ``seconds`` or ``ether`` combined with hexadecimal literals would be meaningful (``0x1234 ether`` or ``0x20 minutes``) and thus deprecated this combination.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/9664505","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/9664505/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/9664505/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.20","id":9664505,"node_id":"MDc6UmVsZWFzZTk2NjQ1MDU=","tag_name":"v0.4.20","target_commitish":"release","name":"Version 0.4.20","draft":false,"prerelease":false,"created_at":"2018-02-14T04:00:41Z","published_at":"2018-02-14T07:44:49Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207484","id":6207484,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc0ODQ=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4748104,"download_count":36272,"created_at":"2018-02-14T07:56:15Z","updated_at":"2018-02-14T07:56:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207529","id":6207529,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc1Mjk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":24515337,"download_count":71,"created_at":"2018-02-14T08:02:49Z","updated_at":"2018-02-14T08:02:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207569","id":6207569,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc1Njk=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":32248659,"download_count":159,"created_at":"2018-02-14T08:09:10Z","updated_at":"2018-02-14T08:09:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207599","id":6207599,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc1OTk=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6404269,"download_count":2772,"created_at":"2018-02-14T08:12:48Z","updated_at":"2018-02-14T08:12:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207570","id":6207570,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc1NzA=","name":"solidity_0.4.20.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1063183,"download_count":2360,"created_at":"2018-02-14T08:09:19Z","updated_at":"2018-02-14T08:09:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/solidity_0.4.20.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/6207907","id":6207907,"node_id":"MDEyOlJlbGVhc2VBc3NldDYyMDc5MDc=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7604173,"download_count":75,"created_at":"2018-02-14T09:07:59Z","updated_at":"2018-02-14T09:08:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.20/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.20","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.20","body":"This release includes some usability and security improvements and a further evolution of the SMT component. The ``var`` keyword has been deprecated for security reasons.\r\n\r\nSignificant steps were made in writing optimisation stages for the intermediate language, which will be used by the new ABI encoder to produce highly optimised output. The main goal is to have a resulting bytecode size similar to the old ABI encoder, while having more runtime checks for a stricter decoding process. This is not yet enabled in this release.\r\n\r\n**Features:**\r\n * Code Generator: Prevent non-view functions in libraries from being called\r\n directly (as opposed to via delegatecall).\r\n * Commandline interface: Support strict mode of assembly (disallowing jumps,\r\n instructional opcodes, etc) with the ``--strict-assembly`` switch.\r\n * Inline Assembly: Issue warning for using jump labels (already existed for jump instructions).\r\n * Inline Assembly: Support some restricted tokens (return, byte, address) as identifiers in IULIA mode.\r\n * Optimiser: Replace ``x % 2**i`` by ``x \u0026 (2**i-1)``.\r\n * Resolver: Continue resolving references after the first error.\r\n * Resolver: Suggest alternative identifiers if a given identifier is not found.\r\n * SMT Checker: Take if-else branch conditions into account in the SMT encoding of the program\r\n variables.\r\n * Syntax Checker: Deprecate the ``var`` keyword (and mark it an error as experimental 0.5.0 feature).\r\n * Type Checker: Allow `this.f.selector` to be a pure expression.\r\n * Type Checker: Issue warning for using ``public`` visibility for interface functions.\r\n * Type Checker: Limit the number of warnings raised for creating abstract contracts.\r\n\r\n**Bugfixes:**\r\n * Error Output: Truncate huge number literals in the middle to avoid output blow-up.\r\n * Parser: Disallow event declarations with no parameter list.\r\n * Standard JSON: Populate the ``sourceLocation`` field in the error list.\r\n * Standard JSON: Properly support contract and library file names containing a colon (such as URLs).\r\n * Type Checker: Suggest the experimental ABI encoder if using ``struct``s as function parameters\r\n (instead of an internal compiler error).\r\n * Type Checker: Improve error message for wrong struct initialization.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAlexander Arlt, Balajiganapathi S, ChenQuan, Chuck LeDuc Díaz, Evgeny Medvedev, Ezra Epstein, Federico Bond, Gonçalo Sá, Jim McDonald, Jimmy Vogel, Kamuela Franco, Kevin Wu, Leonardo Alt, Li Xuanji, Manus, Matthew Halpern, Maurelian, Raghav Dua, Sawyer, Steve Waldman, William Entriken, YuShuangqi, Yuriy Kashnikov, Zhen Zhang, ZoOgY-DoOgY, chenquan, Elena Dimitrova, hyperfekt, mekkanik and wbt.\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.20.tar.gz and not the zip provided by github directly.\r\n\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/8718509","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/8718509/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/8718509/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.19","id":8718509,"node_id":"MDc6UmVsZWFzZTg3MTg1MDk=","tag_name":"v0.4.19","target_commitish":"release","name":"Version 0.4.19","draft":false,"prerelease":false,"created_at":"2017-11-30T15:08:09Z","published_at":"2017-11-30T16:48:14Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491773","id":5491773,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE3NzM=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4711240,"download_count":47078,"created_at":"2017-11-30T18:01:35Z","updated_at":"2017-11-30T18:01:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491814","id":5491814,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE4MTQ=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22932761,"download_count":142,"created_at":"2017-11-30T18:06:04Z","updated_at":"2017-11-30T18:06:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491923","id":5491923,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE5MjM=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":32012668,"download_count":290,"created_at":"2017-11-30T18:09:35Z","updated_at":"2017-11-30T18:09:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491266","id":5491266,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTEyNjY=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":6062779,"download_count":2632,"created_at":"2017-11-30T17:04:57Z","updated_at":"2017-11-30T17:04:57Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491924","id":5491924,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE5MjQ=","name":"solidity_0.4.19.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1027296,"download_count":5534,"created_at":"2017-11-30T18:09:38Z","updated_at":"2017-11-30T18:09:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/solidity_0.4.19.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5491934","id":5491934,"node_id":"MDEyOlJlbGVhc2VBc3NldDU0OTE5MzQ=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7336570,"download_count":146,"created_at":"2017-11-30T18:11:28Z","updated_at":"2017-11-30T18:11:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.19/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.19","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.19","body":"In the last weeks, we have mainly been working on big internal changes. One of them is the new ABI decoder, which is still in experimental mode, but will hopefully be production-usable soon. External contributions like allowing constant variables for array lengths and improved error messages should make your life as a programmer easier. Finally, the standard-json-io-system now allows to select certain artifacts from a contract which should speed up your code-compile-test-cycle even more!\r\n\r\n**Features:**\r\n * Code Generator: New ABI decoder which supports structs and arbitrarily nested\r\n arrays and checks input size (activate using ``pragma experimental ABIEncoderV2;``).\r\n * General: Allow constant variables to be used as array length.\r\n * Inline Assembly: ``if`` statement.\r\n * Standard JSON: Support the ``outputSelection`` field for selective compilation of target artifacts.\r\n * Syntax Checker: Turn the usage of ``callcode`` into an error as experimental 0.5.0 feature.\r\n * Type Checker: Improve address checksum warning.\r\n * Type Checker: More detailed errors for invalid array lengths (such as division by zero).\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nBalajiganapathi S, Boris Kostenko, Christian Pamidov, Chua Chee Wee, Ezra Epstein, Federico Bond, Francisco Giordano, Guanqun Lu, Isaac van Bakel, Jared Wasinger, Kwang Yul Seo, Liana Husikyan, Sami Mäkel Svetlin Nakov, William Morriss, rivenhk, wadeAlexC, walter-weinmann and wbt.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.19.tar.gz and not the zip provided by github directly.\r\n\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/8164896","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/8164896/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/8164896/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.18","id":8164896,"node_id":"MDc6UmVsZWFzZTgxNjQ4OTY=","tag_name":"v0.4.18","target_commitish":"release","name":"Version 0.4.18","draft":false,"prerelease":false,"created_at":"2017-10-18T12:53:45Z","published_at":"2017-10-18T13:39:27Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5101010","id":5101010,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDEwMTA=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4617032,"download_count":43898,"created_at":"2017-10-18T14:05:53Z","updated_at":"2017-10-18T14:05:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5100957","id":5100957,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDA5NTc=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22621481,"download_count":111,"created_at":"2017-10-18T14:01:51Z","updated_at":"2017-10-18T14:01:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5100980","id":5100980,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDA5ODA=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":31467591,"download_count":1189,"created_at":"2017-10-18T14:03:57Z","updated_at":"2017-10-18T14:03:59Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5100863","id":5100863,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDA4NjM=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5854024,"download_count":1722,"created_at":"2017-10-18T13:52:21Z","updated_at":"2017-10-18T13:52:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5100981","id":5100981,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDA5ODE=","name":"solidity_0.4.18.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1005571,"download_count":3171,"created_at":"2017-10-18T14:04:00Z","updated_at":"2017-10-18T14:04:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/solidity_0.4.18.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/5101081","id":5101081,"node_id":"MDEyOlJlbGVhc2VBc3NldDUxMDEwODE=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7139666,"download_count":125,"created_at":"2017-10-18T14:15:03Z","updated_at":"2017-10-18T14:15:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.18/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.18","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.18","body":"This release adds further backwards-incompatible security measures enabled via ``pragma experimental \"v0.5.0\";`` and contains another important feature: You can now select to compile only certain contracts using the ``outputSelection`` field of the [standard-json-io](https://solidity.readthedocs.io/en/develop/using-the-compiler.html#input-description) compiler interface, which should speed up tools like truffle tremendously.\r\n\r\nThere are also two important bug fixes: One was an oversight in the way `bytes` variables are allocated in memory and can reduce the memory requirements 32-fold. The second is a security fix: In extremely specific circumstances, it can happen that a regular function is called instead of the fallback function for an Ether transfer without data. These circumstances are: The function has to have a zero signature (one out of 4294967296), it has to be payable, the contract cannot have more than five (external) functions and it cannot have a fallback function.\r\n\r\n**Features:**\r\n * Code Generator: Always use all available gas for calls as experimental 0.5.0 feature\r\n (previously, some amount was retained in order to work in pre-Tangerine-Whistle\r\n EVM versions)\r\n * Parser: Better error message for unexpected trailing comma in parameter lists.\r\n * Standard JSON: Support the ``outputSelection`` field for selective compilation of supplied sources.\r\n * Syntax Checker: Unary ``+`` is now a syntax error as experimental 0.5.0 feature.\r\n * Type Checker: Disallow non-pure constant state variables as experimental 0.5.0 feature.\r\n * Type Checker: Do not add members of ``address`` to contracts as experimental 0.5.0 feature.\r\n * Type Checker: Force interface functions to be external as experimental 0.5.0 feature.\r\n * Type Checker: Require ``storage`` or ``memory`` keyword for local variables as experimental 0.5.0 feature.\r\n\r\n**Bugfixes:**\r\n * Code Generator: Allocate one byte per memory byte array element instead of 32.\r\n * Code Generator: Do not accept data with less than four bytes (truncated function\r\n signature) for regular function calls - fallback function is invoked instead.\r\n * Optimizer: Remove unused stack computation results.\r\n * Parser: Fix source location of VariableDeclarationStatement.\r\n * Type Checker: Allow ``gas`` in view functions.\r\n * Type Checker: Do not mark event parameters as shadowing state variables.\r\n * Type Checker: Prevent duplicate event declarations.\r\n * Type Checker: Properly check array length and don't rely on an assertion in code generation.\r\n * Type Checker: Properly support overwriting members inherited from ``address`` in a contract\r\n (such as ``balance``, ``transfer``, etc.)\r\n * Type Checker: Validate each number literal in tuple expressions even if they are not assigned from.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nbenjaminion, bernard peh, Boris Kostenko, Dave Hoover, David Au, Federico Bond, Gianfranco Cecconi, Giovanni Casinelli, Ilya Drabenia, Martín Triay, Rhett Aultman, Sergiusz Bazanski, wadeAlexC, Walter Weinmann and Zetherz.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.18.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/7841316","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/7841316/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/7841316/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.17","id":7841316,"node_id":"MDc6UmVsZWFzZTc4NDEzMTY=","tag_name":"v0.4.17","target_commitish":"release","name":"Version 0.4.17","draft":false,"prerelease":false,"created_at":"2017-09-21T14:56:16Z","published_at":"2017-09-21T15:40:43Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879518","id":4879518,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1MTg=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4600648,"download_count":70848,"created_at":"2017-09-21T15:53:25Z","updated_at":"2017-09-21T15:53:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879521","id":4879521,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1MjE=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22475961,"download_count":63,"created_at":"2017-09-21T15:53:35Z","updated_at":"2017-09-21T15:53:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879589","id":4879589,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1ODk=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":31298999,"download_count":591,"created_at":"2017-09-21T16:02:24Z","updated_at":"2017-09-21T16:02:25Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879520","id":4879520,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1MjA=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5776094,"download_count":1802,"created_at":"2017-09-21T15:53:30Z","updated_at":"2017-09-21T15:53:31Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879590","id":4879590,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk1OTA=","name":"solidity_0.4.17.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":991833,"download_count":1703,"created_at":"2017-09-21T16:02:26Z","updated_at":"2017-09-21T16:02:27Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/solidity_0.4.17.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4879637","id":4879637,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ4Nzk2Mzc=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7107187,"download_count":96,"created_at":"2017-09-21T16:08:21Z","updated_at":"2017-09-21T16:08:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.17/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.17","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.17","body":"As we are getting closer to the next breaking release, we want to give everyone a heads up by introducing `pragma experimental \"v0.5.0\"` which already enables some of the new safety features of the 0.5.0 release.\r\n\r\nFurthermore, this release finally checks the modifiers ``view`` (used to be named ``constant``) and ``pure`` on functions. As a rule of thumb, use ``view`` if your function does not modify storage and ``pure`` if it does not even read any state information - but the compiler will also suggest the tightest restriction itself.\r\n\r\nWe also worked further on the new ABI encoder: Functions can now return structs. Switch it on using `pragma experimental ABIEncoderV2`. It should already work, but still generates more expensive code.\r\n\r\nFinally, many new warnings were introduced and error messages improved.\r\n\r\n**Features:**\r\n * Assembly Parser: Support multiple assignment (``x, y := f()``).\r\n * Code Generator: Keep a single copy of encoding functions when using the experimental \"ABIEncoderV2\".\r\n * Code Generator: Partial support for passing ``structs`` as arguments and return parameters (requires ``pragma experimental ABIEncoderV2;`` for now).\r\n * General: Support ``pragma experimental \"v0.5.0\";`` to activate upcoming breaking changes.\r\n * General: Added ``.selector`` member on external function types to retrieve their signature.\r\n * Optimizer: Add new optimization step to remove unused ``JUMPDEST``s.\r\n * Static Analyzer: Warn when using deprecated builtins ``sha3`` and ``suicide``\r\n (replaced by ``keccak256`` and ``selfdestruct``, introduced in 0.4.2 and 0.2.0, respectively).\r\n * Syntax Checker: Warn if no visibility is specified on contract functions.\r\n * Type Checker: Display helpful warning for unused function arguments/return parameters.\r\n * Type Checker: Do not show the same error multiple times for events.\r\n * Type Checker: Greatly reduce the number of duplicate errors shown for duplicate constructors and functions.\r\n * Type Checker: Warn on using literals as tight packing parameters in ``keccak256``, ``sha3``, ``sha256`` and ``ripemd160``.\r\n * Type Checker: Enforce ``view`` and ``pure``.\r\n * Type Checker: Enforce ``view`` / ``constant`` with error as experimental 0.5.0 feature.\r\n * Type Checker: Enforce fallback functions to be ``external`` as experimental 0.5.0 feature.\r\n\r\n**Bugfixes:**\r\n * ABI JSON: Include all overloaded events.\r\n * Parser: Crash fix related to parseTypeName.\r\n * Type Checker: Allow constant byte arrays.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAli92hm, Aaron Colaço, Lefteris Karapetsas, Matthieu Caneill, Robert Edström and Suman\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.17.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/7512285","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/7512285/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/7512285/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.16","id":7512285,"node_id":"MDc6UmVsZWFzZTc1MTIyODU=","tag_name":"v0.4.16","target_commitish":"release","name":"Version 0.4.16","draft":false,"prerelease":false,"created_at":"2017-08-24T18:50:37Z","published_at":"2017-08-24T20:31:12Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664268","id":4664268,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQyNjg=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4490056,"download_count":57827,"created_at":"2017-08-24T21:35:45Z","updated_at":"2017-08-24T21:35:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664265","id":4664265,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQyNjU=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":42036902,"download_count":62,"created_at":"2017-08-24T21:34:36Z","updated_at":"2017-08-24T21:34:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664244","id":4664244,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQyNDQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":53262649,"download_count":1973,"created_at":"2017-08-24T21:31:27Z","updated_at":"2017-08-24T21:31:29Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4663907","id":4663907,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjM5MDc=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5637441,"download_count":1252,"created_at":"2017-08-24T20:43:25Z","updated_at":"2017-08-24T20:43:26Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664264","id":4664264,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQyNjQ=","name":"solidity_0.4.16.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1003449,"download_count":1430,"created_at":"2017-08-24T21:34:35Z","updated_at":"2017-08-24T21:34:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/solidity_0.4.16.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4664336","id":4664336,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ2NjQzMzY=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":6990024,"download_count":60,"created_at":"2017-08-24T21:46:17Z","updated_at":"2017-08-24T21:46:18Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.16/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.16","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.16","body":"This release introduces several new features, some of which have to be\r\nexplicitly activated using `pragma experimental \u003cfeature name\u003e;`.\r\n\r\nWe split the ``constant`` keyword for functions into ``pure`` (neither reads from nor writes to the state)\r\nand ``view`` (does not modify the state). They are not enforced yet, but will most likely make use\r\nof the the new STATIC_CALL feature after Metropolis.\r\n\r\nFurthermore, the ABI encoder was re-implemented in a much cleaner way using our new intermediate language. It can encode arbitrarily nested arrays and will also be able to encode structs starting from the next release. Please try it out using `pragma experimental ABIEncoderV2;` and check if you have any issues with the encoder. It currently generates larger code than the old encoder, but we hope to fix that soon.\r\n\r\nFinally, solc now include experimental support for automated overflow and assertion checking at compile-time using the SMT solver Z3. It is active if you use `pragma experimental SMTChecker;` and if solc was compiled with Z3 support. The latter is currently only the case for the PPA builds (or if you build from source and have libz3-dev in your system), but we also have a solution in the pipeline that will make it work for solc-js (and thus remix).\r\n\r\n**Features:**\r\n * ABI JSON: Include new field ``stateMutability`` with values ``pure``, ``view``, ``nonpayable`` and ``payable``.\r\n * Analyzer: Experimental partial support for Z3 SMT checker (\"SMTChecker\").\r\n * Build System: Shared libraries (``libdevcore``, ``libevmasm``, ``libsolidity`` and ``liblll``) are no longer produced during the build process.\r\n * Code generator: Experimental new implementation of ABI encoder that can encode arbitrarily nested arrays (\"ABIEncoderV2\")\r\n * Metadata: Store experimental flag in metadata CBOR.\r\n * Parser: Display previous visibility specifier in error if multiple are found.\r\n * Parser: Introduce ``pure`` and ``view`` keyword for functions, ``constant`` remains an alias for ``view`` and pureness is not enforced yet, so use with care.\r\n * Static Analyzer: Warn about large storage structures.\r\n * Syntax Checker: Support ``pragma experimental \u003cfeature\u003e;`` to turn on experimental features.\r\n * Type Checker: More detailed error message for invalid overrides.\r\n * Type Checker: Warn about shifting a literal.\r\n\r\n**Bugfixes:**\r\n * Assembly Parser: Be more strict about number literals.\r\n * Assembly Parser: Limit maximum recursion depth.\r\n * Parser: Enforce commas between array and tuple elements.\r\n * Parser: Limit maximum recursion depth.\r\n * Type Checker: Crash fix related to ``using``.\r\n * Type Checker: Disallow constructors in libraries.\r\n * Type Checker: Reject the creation of interface contracts using the ``new`` statement.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nChim Kan, Federico Bond, feliam, gubatron, Isaac Ibiapina, James Ray, Joshua Hannan, Lea Arias, Nick Savers, Stu West, Vladislav Ankudinov and Zhen Zhang\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.16.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/7321721","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/7321721/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/7321721/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.15","id":7321721,"node_id":"MDc6UmVsZWFzZTczMjE3MjE=","tag_name":"v0.4.15","target_commitish":"develop","name":"Version 0.4.15","draft":false,"prerelease":false,"created_at":"2017-08-08T14:41:39Z","published_at":"2017-08-08T17:02:57Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530439","id":4530439,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA0Mzk=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4025448,"download_count":28190,"created_at":"2017-08-08T17:19:19Z","updated_at":"2017-08-08T17:19:19Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530458","id":4530458,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA0NTg=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":17511263,"download_count":46,"created_at":"2017-08-08T17:21:51Z","updated_at":"2017-08-08T17:21:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530514","id":4530514,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA1MTQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22802235,"download_count":106,"created_at":"2017-08-08T17:29:35Z","updated_at":"2017-08-08T17:29:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4545890","id":4545890,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1NDU4OTA=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":5216034,"download_count":948,"created_at":"2017-08-10T13:08:01Z","updated_at":"2017-08-10T13:08:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530515","id":4530515,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA1MTU=","name":"solidity_0.4.15.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":990321,"download_count":943,"created_at":"2017-08-08T17:29:37Z","updated_at":"2017-08-08T17:29:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/solidity_0.4.15.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4530516","id":4530516,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ1MzA1MTY=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":6153281,"download_count":80,"created_at":"2017-08-08T17:29:48Z","updated_at":"2017-08-08T17:29:49Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.15/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.15","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.15","body":"This is mainly a bugfix release that corrects a problem with the return value of the low-level ``delegatecall`` function and removes some invalid warning messages.\r\n\r\nFeatures:\r\n * Type Checker: Show unimplemented function if trying to instantiate an abstract class.\r\n\r\nBugfixes:\r\n * Code Generator: ``.delegatecall()`` should always return execution outcome.\r\n * Code Generator: Provide \"new account gas\" for low-level ``callcode`` and ``delegatecall``.\r\n * Type Checker: Constructors must be implemented if declared.\r\n * Type Checker: Disallow the ``.gas()`` modifier on ``ecrecover``, ``sha256`` and ``ripemd160``.\r\n * Type Checker: Do not mark overloaded functions as shadowing other functions.\r\n * Type Checker: Internal library functions must be implemented if declared.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nLeo Arias, Adrián Calvo and SaadSurya\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.15.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/7229404","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/7229404/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/7229404/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.14","id":7229404,"node_id":"MDc6UmVsZWFzZTcyMjk0MDQ=","tag_name":"v0.4.14","target_commitish":"release","name":"Version 0.4.14","draft":false,"prerelease":false,"created_at":"2017-07-31T14:14:46Z","published_at":"2017-07-31T14:55:14Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467189","id":4467189,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcxODk=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4025448,"download_count":26709,"created_at":"2017-07-31T15:04:47Z","updated_at":"2017-07-31T15:04:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467215","id":4467215,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyMTU=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":17502155,"download_count":37,"created_at":"2017-07-31T15:08:07Z","updated_at":"2017-07-31T15:08:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467288","id":4467288,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyODg=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22792283,"download_count":46,"created_at":"2017-07-31T15:14:05Z","updated_at":"2017-07-31T15:14:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467202","id":4467202,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyMDI=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5200070,"download_count":798,"created_at":"2017-07-31T15:06:27Z","updated_at":"2017-07-31T15:06:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467289","id":4467289,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyODk=","name":"solidity_0.4.14.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":988813,"download_count":440,"created_at":"2017-07-31T15:14:08Z","updated_at":"2017-07-31T15:14:08Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/solidity_0.4.14.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4467260","id":4467260,"node_id":"MDEyOlJlbGVhc2VBc3NldDQ0NjcyNjA=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":6148709,"download_count":47,"created_at":"2017-07-31T15:11:13Z","updated_at":"2017-07-31T15:11:14Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.14/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.14","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.14","body":"This release contains several new features and bugfixes and also an important security fix: The ``ecrecover`` function can be forced to return invalid data, which can be used to bypass authentication in very special circumstances.\r\n\r\nFeatures:\r\n * C API (``jsonCompiler``): Export the ``license`` method.\r\n * Code Generator: Optimise the fallback function, by removing a useless jump.\r\n * Inline Assembly: Show useful error message if trying to access calldata variables.\r\n * Inline Assembly: Support variable declaration without initial value (defaults to 0).\r\n * Metadata: Only include files which were used to compile the given contract.\r\n * Type Checker: Disallow value transfers to contracts without a payable fallback function.\r\n * Type Checker: Include types in explicit conversion error message.\r\n * Type Checker: Raise proper error for arrays too large for ABI encoding.\r\n * Type checker: Warn if using ``this`` in a constructor.\r\n * Type checker: Warn when existing symbols, including builtins, are overwritten.\r\n\r\nBugfixes:\r\n * Code Generator: Properly clear return memory area for ecrecover.\r\n * Type Checker: Fix crash for some assignment to non-lvalue.\r\n * Type Checker: Fix invalid \"specify storage keyword\" warning for reference members of structs.\r\n * Type Checker: Mark modifiers as internal.\r\n * Type Checker: Re-allow multiple mentions of the same modifier per function.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAntonio Tenerio-Fornés, benjaminion, Federico Bond, Harry Wright, hh3755, James Ray, Juaj Bednar, Luke Schoen, Loa Arias, maurelian, Nathan Hernandez, NIC619, Rhett Aultman, Skiral Inc and VoR0220.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.14.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/6949532","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/6949532/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/6949532/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.13","id":6949532,"node_id":"MDc6UmVsZWFzZTY5NDk1MzI=","tag_name":"v0.4.13","target_commitish":"release","name":"Version 0.4.13","draft":false,"prerelease":false,"created_at":"2017-07-06T10:45:11Z","published_at":"2017-07-06T11:13:25Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265624","id":4265624,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2MjQ=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4074600,"download_count":34712,"created_at":"2017-07-06T11:22:41Z","updated_at":"2017-07-06T11:22:41Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265630","id":4265630,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2MzA=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":17747243,"download_count":36,"created_at":"2017-07-06T11:23:41Z","updated_at":"2017-07-06T11:23:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265694","id":4265694,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2OTQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22898457,"download_count":76,"created_at":"2017-07-06T11:30:01Z","updated_at":"2017-07-06T11:30:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265627","id":4265627,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2Mjc=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5044599,"download_count":1085,"created_at":"2017-07-06T11:23:23Z","updated_at":"2017-07-06T11:23:24Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265696","id":4265696,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU2OTY=","name":"solidity_0.4.13.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":849840,"download_count":581,"created_at":"2017-07-06T11:30:04Z","updated_at":"2017-07-06T11:30:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/solidity_0.4.13.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4265706","id":4265706,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNjU3MDY=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":10228910,"download_count":46,"created_at":"2017-07-06T11:30:59Z","updated_at":"2017-07-06T11:31:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.13/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.13","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.13","body":"This is a small bugfix release that fixes several trivial but very annoying bugs that were introduced with 0.4.12. We also deprecate some old features in preparation of the breaking release 0.5.0.\r\n\r\nFeatures:\r\n * Syntax Checker: Deprecated ``throw`` in favour of ``require()``, ``assert()`` and ``revert()``.\r\n * Type Checker: Warn if a local storage reference variable does not explicitly use the keyword ``storage``.\r\n\r\nBugfixes:\r\n * Code Generator: Correctly unregister modifier variables.\r\n * Compiler Interface: Only output AST if analysis was successful.\r\n * Error Output: Do not omit the error type.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nLeo Arias and Patrick Walters.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.13.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/6911249","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/6911249/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/6911249/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.12","id":6911249,"node_id":"MDc6UmVsZWFzZTY5MTEyNDk=","tag_name":"v0.4.12","target_commitish":"release","name":"Version 0.4.12","draft":false,"prerelease":false,"created_at":"2017-07-03T16:45:11Z","published_at":"2017-07-03T16:47:17Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242901","id":4242901,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5MDE=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4070504,"download_count":23212,"created_at":"2017-07-03T16:59:27Z","updated_at":"2017-07-03T16:59:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242870","id":4242870,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI4NzA=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":17747116,"download_count":23,"created_at":"2017-07-03T16:57:22Z","updated_at":"2017-07-03T16:57:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242918","id":4242918,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5MTg=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":22900332,"download_count":122,"created_at":"2017-07-03T17:03:15Z","updated_at":"2017-07-03T17:03:16Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242931","id":4242931,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5MzE=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5039967,"download_count":776,"created_at":"2017-07-03T17:04:44Z","updated_at":"2017-07-03T17:04:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242919","id":4242919,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5MTk=","name":"solidity_0.4.12.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":847964,"download_count":92,"created_at":"2017-07-03T17:03:17Z","updated_at":"2017-07-03T17:03:17Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/solidity_0.4.12.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/4242978","id":4242978,"node_id":"MDEyOlJlbGVhc2VBc3NldDQyNDI5Nzg=","name":"soljson.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":10227763,"download_count":43,"created_at":"2017-07-03T17:11:10Z","updated_at":"2017-07-03T17:11:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.12/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.12","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.12","body":"This release introduces the AST export, solidifies inline assembly, introduces some more warnings and fixes several bugs.\r\n\r\nManual jumps in assembly are deprecated in favour of the structured constructs `switch`, `for` and function calls also to provide better portability in the future.\r\n\r\nFeatures:\r\n * Assembly: Add ``CREATE2`` (EIP86), ``STATICCALL`` (EIP214), ``RETURNDATASIZE`` and ``RETURNDATACOPY`` (EIP211) instructions.\r\n * Assembly: Display auxiliary data in the assembly output.\r\n * Assembly: Renamed ``SHA3`` to ``KECCAK256``.\r\n * AST: export all attributes to JSON format.\r\n * C API (``jsonCompiler``): Use the Standard JSON I/O internally.\r\n * Code Generator: Added the Whiskers template system.\r\n * Inline Assembly: ``for`` and ``switch`` statements.\r\n * Inline Assembly: Function definitions and function calls.\r\n * Inline Assembly: Introduce ``keccak256`` as an opcode. ``sha3`` is still a valid alias.\r\n * Inline Assembly: Present proper error message when not supplying enough arguments to a functional\r\n instruction.\r\n * Inline Assembly: Warn when instructions shadow Solidity variables.\r\n * Inline Assembly: Warn when using ``jump``s.\r\n * Remove obsolete Why3 output.\r\n * Type Checker: Enforce strict UTF-8 validation.\r\n * Type Checker: Warn about copies in storage that might overwrite unexpectedly.\r\n * Type Checker: Warn about type inference from literal numbers.\r\n * Static Analyzer: Warn about deprecation of ``callcode``.\r\n\r\nBugfixes:\r\n * Assembly: mark ``MLOAD`` to have side effects in the optimiser.\r\n * Code Generator: Fix ABI encoding of empty literal string.\r\n * Code Generator: Fix negative stack size checks.\r\n * Code generator: Use ``REVERT`` instead of ``INVALID`` for generated input validation routines.\r\n * Inline Assembly: Enforce function arguments when parsing functional instructions.\r\n * Optimizer: Disallow optimizations involving ``MLOAD`` because it changes ``MSIZE``.\r\n * Static Analyzer: Unused variable warnings no longer issued for variables used inside inline assembly.\r\n * Type Checker: Fix address literals not being treated as compile-time constants.\r\n * Type Checker: Fixed crash concerning non-callable types.\r\n * Type Checker: Fixed segfault with constant function parameters\r\n * Type Checker: Disallow comparisons between mapping and non-internal function types.\r\n * Type Checker: Disallow invoking the same modifier multiple times.\r\n * Type Checker: Do not treat strings that look like addresses as addresses.\r\n * Type Checker: Support valid, but incorrectly rejected UTF-8 sequences.\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAlexey Alexeyeff, Andre Miras, Ben Che, benjaminion, Dillon Arevalo, Edward Ruchevits, Erik Quenon Steggall, ethers, Federico Bond, gregg dourgarian, James Ray, Jonathan Brown, Julius Faber, Lefteris Karapetsas, Marius Kjærstad, Micah Zoltu, Paul Stadig, RJ Catalano, Rhett Aultman, Ron Gross, seusher and Travis Jacobs.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.12.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/6263295","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/6263295/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/6263295/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.11","id":6263295,"node_id":"MDc6UmVsZWFzZTYyNjMyOTU=","tag_name":"v0.4.11","target_commitish":"release","name":"Version 0.4.11","draft":false,"prerelease":false,"created_at":"2017-05-03T12:36:32Z","published_at":"2017-05-03T12:59:37Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3804614","id":3804614,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MDQ2MTQ=","name":"solc-static-linux","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3558000,"download_count":52935,"created_at":"2017-05-04T22:39:43Z","updated_at":"2017-05-04T22:39:48Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.11/solc-static-linux"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3798956","id":3798956,"node_id":"MDEyOlJlbGVhc2VBc3NldDM3OTg5NTY=","name":"solidity-windows.zip","label":"","uploader":{"login":"gumb0","id":1863135,"node_id":"MDQ6VXNlcjE4NjMxMzU=","avatar_url":"https://avatars.githubusercontent.com/u/1863135?v=4","url":"https://api.github.com/users/gumb0","html_url":"https://github.com/gumb0","followers_url":"https://api.github.com/users/gumb0/followers","following_url":"https://api.github.com/users/gumb0/following{/other_user}","gists_url":"https://api.github.com/users/gumb0/gists{/gist_id}","starred_url":"https://api.github.com/users/gumb0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gumb0/subscriptions","organizations_url":"https://api.github.com/users/gumb0/orgs","repos_url":"https://api.github.com/users/gumb0/repos","events_url":"https://api.github.com/users/gumb0/events{/privacy}","received_events_url":"https://api.github.com/users/gumb0/received_events","type":"User","site_admin":false},"content_type":"application/x-zip-compressed","state":"uploaded","size":4636258,"download_count":1372,"created_at":"2017-05-04T09:55:00Z","updated_at":"2017-05-04T09:55:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.11/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3807479","id":3807479,"node_id":"MDEyOlJlbGVhc2VBc3NldDM4MDc0Nzk=","name":"solidity_0.4.11.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":807202,"download_count":2140,"created_at":"2017-05-05T09:13:51Z","updated_at":"2017-05-05T09:13:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.11/solidity_0.4.11.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26562682","id":26562682,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NTYyNjgy","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":8445009,"download_count":20,"created_at":"2020-10-05T13:31:05Z","updated_at":"2020-10-05T13:31:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.11/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.11","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.11","body":"This release fixes a bug in the optimizer (more about this on the [blog](https://blog.ethereum.org/2017/05/03/solidity-optimizer-bug/)), introduces the standard JSON interface, adds ``interface`` contracts and implements some additional safety checks.\r\n\r\nThe standard [JSON interface](https://solidity.readthedocs.io/en/develop/using-the-compiler.html#compiler-input-and-output-json-description) provides a unified way to invoke the Solidity compiler in order to ease cross-platform adoption and compilation verification.\r\n\r\n**Features:**\r\n * Implement the Standard JSON Input / Output API\r\n * Support ``interface`` contracts.\r\n * C API (``jsonCompiler``): Add the ``compileStandard()`` method to process a Standard JSON I/O.\r\n * Commandline interface: Add the ``--standard-json`` parameter to process a Standard JSON I/O.\r\n * Commandline interface: Support ``--allow-paths`` to define trusted import paths. Note: the\r\n path(s) of the supplied source file(s) is always trusted.\r\n * Inline Assembly: Storage variable access using ``_slot`` and ``_offset`` suffixes.\r\n * Inline Assembly: Disallow blocks with unbalanced stack.\r\n * Static analyzer: Warn about statements without effects.\r\n * Static analyzer: Warn about unused local variables, parameters, and return parameters.\r\n * Syntax checker: issue deprecation warning for unary '+'\r\n\r\n**Bugfixes:**\r\n * Assembly output: Implement missing AssemblyItem types.\r\n * Compiler interface: Fix a bug where source indexes could be inconsistent between Solidity compiled\r\n with different compilers (clang vs. gcc) or compiler settings. The bug was visible in AST\r\n and source mappings.\r\n * Gas Estimator: Reflect the most recent fee schedule.\r\n * Type system: Contract inheriting from base with unimplemented constructor should be abstract.\r\n * Optimizer: Number representation bug in the constant optimizer fixed.\r\n\r\n\r\nWe especially thank all our open source community contributors:\r\n\r\nAbraham Sangha, AdrianClv, Andy Milenius, Chandan Kumar, Federico Bond, FedericoCapello, JohnAllen, Matt Searle, Matt Wisniewski, Morgan, Omkara and Rhett Aultman\r\n\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.11.tar.gz and not the zip provided by github directly.\r\n\r\n**Update**: the original release on 3rd of May contained the wrong version numbers (it included the pre-release tag). This has been rectified today, the 4th of May, and all the linked binaries have been updated.\r\n\r\nThe files should have the following SHA-256 hashes:\r\n- `solc-static-linux`: `0a8d138ee245039e6f8312edc024ba3c4739cc3c013b47dc7fc9196a2e327fea`\r\n- `solidity-windows.zip`: `4387ef9733643ed387e5975d2241e423bd8d79c54db90d07a70c62c8c3e1be77`\r\n- `solidity_0.4.11.tar.gz`: `5a96a3ba4d0d6457ad8101d6219152610e46b384bfbd48244e3474573f7a6d47`\r\n- `soljson.js`: `49fa27e6e70e08ddc7ba3790325e07c07902d9e855362d03fb908757ac14b4e5`","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/5755876","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/5755876/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/5755876/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.10","id":5755876,"node_id":"MDc6UmVsZWFzZTU3NTU4NzY=","tag_name":"v0.4.10","target_commitish":"release","name":"Version 0.4.10","draft":false,"prerelease":false,"created_at":"2017-03-15T17:07:52Z","published_at":"2017-03-15T17:22:12Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3427534","id":3427534,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0Mjc1MzQ=","name":"solc","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3406416,"download_count":8927,"created_at":"2017-03-17T12:11:18Z","updated_at":"2017-03-17T12:12:13Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solc"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3409589","id":3409589,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0MDk1ODk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":16238201,"download_count":65,"created_at":"2017-03-15T17:33:52Z","updated_at":"2017-03-15T17:33:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3409675","id":3409675,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0MDk2NzU=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":20686068,"download_count":133,"created_at":"2017-03-15T17:41:04Z","updated_at":"2017-03-15T17:41:05Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3409602","id":3409602,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0MDk2MDI=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4489411,"download_count":629,"created_at":"2017-03-15T17:35:35Z","updated_at":"2017-03-15T17:35:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3409676","id":3409676,"node_id":"MDEyOlJlbGVhc2VBc3NldDM0MDk2NzY=","name":"solidity_0.4.10.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":787840,"download_count":1343,"created_at":"2017-03-15T17:41:07Z","updated_at":"2017-03-15T17:41:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.10/solidity_0.4.10.tar.gz"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.10","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.10","body":"This release is focused on stability and also introduces some new smart contract safety features: ``require``, ``assert`` and ``transfer``. Note that the new ``revert`` function will only be gas-efficient starting from homestead.\r\n\r\n**Features:**\r\n * Add ``assert(condition)``, which throws if condition is false (meant for internal errors).\r\n * Add ``require(condition)``, which throws if condition is false (meant for invalid input).\r\n * Commandline interface: Do not overwrite files unless forced.\r\n * Introduce ``.transfer(value)`` for sending Ether.\r\n * Code generator: Support ``revert()`` to abort with rolling back, but not consuming all gas.\r\n * Inline assembly: Support ``revert`` (EIP140) as an opcode.\r\n * Parser: Support scientific notation in numbers (e.g. ``2e8`` and ``200e-2``).\r\n * Type system: Support explicit conversion of external function to address.\r\n * Type system: Warn if base of exponentiation is literal (result type might be unexpected).\r\n * Type system: Warn if constant state variables are not compile-time constants.\r\n\r\n**Bugfixes:**\r\n * Commandline interface: Always escape filenames (replace ``/``, ``:`` and ``.`` with ``_``).\r\n * Commandline interface: Do not try creating paths ``.`` and ``..``.\r\n * Commandline interface: Allow long library names.\r\n * Parser: Disallow octal literals.\r\n * Type system: Fix a crash caused by continuing on fatal errors in the code.\r\n * Type system: Disallow compound assignment for tuples.\r\n * Type system: Detect cyclic dependencies between constants.\r\n * Type system: Disallow arrays with negative length.\r\n * Type system: Fix a crash related to invalid binary operators.\r\n * Type system: Disallow ``var`` declaration with empty tuple type.\r\n * Type system: Correctly convert function argument types to pointers for member functions.\r\n * Type system: Move privateness of constructor into AST itself.\r\n * Inline assembly: Charge one stack slot for non-value types during analysis.\r\n * Assembly output: Print source location before the operation it refers to instead of after.\r\n * Optimizer: Stop trying to optimize tricky constants after a while.\r\n\r\nIf you want to perform a source build, please only use solidity_0.4.10.tar.gz and not the zip provided by github directly.","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/5318178","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/5318178/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/5318178/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.9","id":5318178,"node_id":"MDc6UmVsZWFzZTUzMTgxNzg=","tag_name":"v0.4.9","target_commitish":"release","name":"Version 0.4.9","draft":false,"prerelease":false,"created_at":"2017-01-31T17:29:51Z","published_at":"2017-01-31T18:33:43Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3097979","id":3097979,"node_id":"MDEyOlJlbGVhc2VBc3NldDMwOTc5Nzk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":15636544,"download_count":95,"created_at":"2017-01-31T19:51:53Z","updated_at":"2017-01-31T19:51:54Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.9/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3097932","id":3097932,"node_id":"MDEyOlJlbGVhc2VBc3NldDMwOTc5MzI=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":19854388,"download_count":2849,"created_at":"2017-01-31T19:41:54Z","updated_at":"2017-01-31T19:41:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.9/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3097684","id":3097684,"node_id":"MDEyOlJlbGVhc2VBc3NldDMwOTc2ODQ=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4355315,"download_count":543,"created_at":"2017-01-31T18:55:03Z","updated_at":"2017-01-31T18:55:04Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.9/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/3097980","id":3097980,"node_id":"MDEyOlJlbGVhc2VBc3NldDMwOTc5ODA=","name":"solidity_0.4.9.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":776642,"download_count":838,"created_at":"2017-01-31T19:51:55Z","updated_at":"2017-01-31T19:51:55Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.9/solidity_0.4.9.tar.gz"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.9","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.9","body":"This release fixes quite some bugs and also adds several new features.\n\nThings to look out for:\n- To disambiguate contracts and libraries of the same name in different files, everything is now prefixed by \"filename:\". This applies to the compiler output, the linker input and other things.\n- Internal exceptions are now thrown by using an invalid opcode (0xfe), manual exceptions still use an invalid jump.\n\nFeatures:\n- Compiler interface: Contracts and libraries can be referenced with a `file:` prefix to make them unique.\n- Compiler interface: Report source location for \"stack too deep\" errors.\n- AST: Use deterministic node identifiers.\n- Inline assembly: introduce `invalid` (EIP141) as an opcode.\n- Type system: Introduce type identifier strings.\n- Type checker: Warn about invalid checksum for addresses and deduce type from valid ones.\n- Metadata: Do not include platform in the version number.\n- Metadata: Add option to store sources as literal content.\n- Code generator: Extract array utils into low-level functions.\n- Code generator: Internal errors (array out of bounds, etc.) now cause a reversion by using an invalid\n instruction (0xfe - EIP141) instead of an invalid jump. Invalid jump is still kept for explicit throws.\n\nBugfixes:\n- Code generator: Allow recursive structs.\n- Inline assembly: Disallow variables named like opcodes.\n- Type checker: Allow multiple events of the same name (but with different arities or argument types)\n- Natspec parser: Fix error with `@param` parsing and whitespace.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/5151856","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/5151856/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/5151856/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.8","id":5151856,"node_id":"MDc6UmVsZWFzZTUxNTE4NTY=","tag_name":"v0.4.8","target_commitish":"release","name":"Version 0.4.8","draft":false,"prerelease":false,"created_at":"2017-01-13T12:05:02Z","published_at":"2017-01-13T12:40:58Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982179","id":2982179,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIxNzk=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":15392731,"download_count":72,"created_at":"2017-01-13T12:48:52Z","updated_at":"2017-01-13T12:48:52Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982195","id":2982195,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIxOTU=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":19587044,"download_count":6160,"created_at":"2017-01-13T12:54:33Z","updated_at":"2017-01-13T12:54:34Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982259","id":2982259,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIyNTk=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4258077,"download_count":303,"created_at":"2017-01-13T13:07:01Z","updated_at":"2017-01-13T13:07:02Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982196","id":2982196,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIxOTY=","name":"solidity_0.4.8.tar.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":766866,"download_count":2407,"created_at":"2017-01-13T12:54:34Z","updated_at":"2017-01-13T12:54:35Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/solidity_0.4.8.tar.gz"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2982193","id":2982193,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5ODIxOTM=","name":"soljson-v0.4.8.commit.60cc1668.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7968279,"download_count":42,"created_at":"2017-01-13T12:53:37Z","updated_at":"2017-01-13T12:54:42Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.8/soljson-v0.4.8.commit.60cc1668.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.8","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.8","body":"Features:\n- Optimiser: Performance improvements.\n- Output: Print assembly in new standardized Solidity assembly format.\n\nBugfixes:\n- Remappings: Prefer longer context over longer prefix.\n- Type checker, code generator: enable access to events of base contracts' names.\n- Imports: `import \".dir/a\"` is not a relative path. Relative paths begin with directory `.` or `..`.\n- Type checker: disallow inheritances of different kinds (e.g. a function and a modifier) of members of the same name\n\nIf you want to perform a source build, please only use solidity_0.4.8.tar.gz and not the zip provided by github directly.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4929368","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4929368/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4929368/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.7","id":4929368,"node_id":"MDc6UmVsZWFzZTQ5MjkzNjg=","tag_name":"v0.4.7","target_commitish":"release","name":"Version 0.4.7","draft":false,"prerelease":false,"created_at":"2016-12-15T11:16:56Z","published_at":"2016-12-15T13:00:34Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2923742","id":2923742,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5MjM3NDI=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":14558977,"download_count":37,"created_at":"2017-01-04T09:23:06Z","updated_at":"2017-01-04T09:23:07Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.7/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2923756","id":2923756,"node_id":"MDEyOlJlbGVhc2VBc3NldDI5MjM3NTY=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":19044676,"download_count":2464,"created_at":"2017-01-04T09:29:40Z","updated_at":"2017-01-04T09:29:43Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.7/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2831306","id":2831306,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4MzEzMDY=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":4202294,"download_count":264,"created_at":"2016-12-15T13:21:08Z","updated_at":"2016-12-15T13:21:09Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.7/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2831245","id":2831245,"node_id":"MDEyOlJlbGVhc2VBc3NldDI4MzEyNDU=","name":"soljson-v0.4.7.commit.822622cf.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7654780,"download_count":42,"created_at":"2016-12-15T13:07:56Z","updated_at":"2016-12-15T13:08:53Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.7/soljson-v0.4.7.commit.822622cf.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.7","body":"Features:\n- Bitshift operators.\n- Type checker: Warn when `msg.value` is used in non-payable function.\n- Code generator: Inject the Swarm hash of a metadata file into the bytecode.\n- Code generator: Replace expensive memcpy precompile by simple assembly loop.\n- Optimizer: Some dead code elimination.\n\nBugfixes:\n- Code generator: throw if calling the identity precompile failed during memory (array) copying.\n- Type checker: string literals that are not valid UTF-8 cannot be converted to string type\n- Code generator: any non-zero value given as a boolean argument is now converted into 1.\n- AST Json Converter: replace `VariableDefinitionStatement` nodes with `VariableDeclarationStatement`\n- AST Json Converter: fix the camel case in `ElementaryTypeNameExpression`\n- AST Json Converter: replace `public` field with `visibility` in the function definition nodes\n\nSwarm hash of javascript binary: bzzr://de00cf8d235867a00d831e0055b376420789977d276c02e6ff0d1d5b00f5d84d\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4730247","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4730247/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4730247/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.6","id":4730247,"node_id":"MDc6UmVsZWFzZTQ3MzAyNDc=","tag_name":"v0.4.6","target_commitish":"release","name":"Version 0.4.6","draft":false,"prerelease":false,"created_at":"2016-11-22T14:34:17Z","published_at":"2016-11-22T14:35:16Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2696637","id":2696637,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2OTY2Mzc=","name":"solidity-ubuntu-trusty-clang.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":14399983,"download_count":56,"created_at":"2016-11-22T14:41:43Z","updated_at":"2016-11-22T14:41:45Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.6/solidity-ubuntu-trusty-clang.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2696664","id":2696664,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2OTY2NjQ=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":18805319,"download_count":4295,"created_at":"2016-11-22T14:48:02Z","updated_at":"2016-11-22T14:48:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.6/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2696690","id":2696690,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2OTY2OTA=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3850284,"download_count":259,"created_at":"2016-11-22T14:55:31Z","updated_at":"2016-11-22T14:55:32Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.6/solidity-windows.zip"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.6","body":"Bugfixes:\n- Optimizer: Knowledge about state was not correctly cleared for JUMPDESTs\n\nSwarm hash of js compiler: bzzr:/b873fa122233c91b1531527c390f6ca49df4d2a2c5f75706f4b612a0c813cb6a\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4715730","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4715730/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4715730/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.5","id":4715730,"node_id":"MDc6UmVsZWFzZTQ3MTU3MzA=","tag_name":"v0.4.5","target_commitish":"release","name":"Version 0.4.5","draft":false,"prerelease":false,"created_at":"2016-11-21T10:42:38Z","published_at":"2016-11-21T11:26:06Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2688831","id":2688831,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2ODg4MzE=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3850077,"download_count":189,"created_at":"2016-11-21T11:45:38Z","updated_at":"2016-11-21T11:45:39Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.5/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2688747","id":2688747,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2ODg3NDc=","name":"soljson-v0.4.5.commit.b318366e.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7581505,"download_count":31,"created_at":"2016-11-21T11:25:06Z","updated_at":"2016-11-21T11:26:00Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.5/soljson-v0.4.5.commit.b318366e.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.5","body":"This Solidity release adds [function types](https://solidity.readthedocs.io/en/develop/types.html#function-types). Use-cases include supplying callbacks for asynchronous or off-chain operations or generic library features (for example map-reduce-style programming). This release also improves the safety of enums and sending Ether to a contract constructor.\n\nFeatures:\n- Function types\n- Do-while loops: support for a `do \u003cblock\u003e while (\u003cexpr\u003e);` control structure\n- Inline assembly: support `invalidJumpLabel` as a jump label.\n- Type checker: now more eagerly searches for a common type of an inline array with mixed types\n- Code generator: generates a runtime error when an out-of-range value is converted into an enum type.\n\nBugfixes:\n- Inline assembly: calculate stack height warning correctly even when local variables are used.\n- Code generator: check for value transfer in non-payable constructors.\n- Parser: disallow empty enum definitions.\n- Type checker: disallow conversion between different enum types.\n- Interface JSON: do not include trailing new line.\n\nSwarm hash of js compiler: bzzr://de94c41f727124a5b02bd1db087e6bcba19a682c5d89bf3cdaa650e9fdd08403\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4534700","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4534700/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4534700/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.4","id":4534700,"node_id":"MDc6UmVsZWFzZTQ1MzQ3MDA=","tag_name":"v0.4.4","target_commitish":"release","name":"Version 0.4.4","draft":false,"prerelease":false,"created_at":"2016-10-31T18:21:04Z","published_at":"2016-11-01T08:53:28Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.4","body":"This is a bugfix release that fixes a storage corruption that appears when multiple variables are stored in the same slot ([details](https://blog.ethereum.org/2016/11/01/security-alert-solidity-variables-can-overwritten-storage/)).\n\nBugfixes:\n- Type checker: forbid signed exponential that led to an incorrect use of EXP opcode.\n- Code generator: properly clean higher order bytes before storing in storage.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4478216","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4478216/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4478216/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.3","id":4478216,"node_id":"MDc6UmVsZWFzZTQ0NzgyMTY=","tag_name":"v0.4.3","target_commitish":"release","name":"Version 0.4.3","draft":false,"prerelease":false,"created_at":"2016-10-25T13:32:37Z","published_at":"2016-10-25T13:53:29Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2528797","id":2528797,"node_id":"MDEyOlJlbGVhc2VBc3NldDI1Mjg3OTc=","name":"soljson-v0.4.3.commit.2353da71.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7744013,"download_count":48,"created_at":"2016-10-25T14:01:08Z","updated_at":"2016-10-25T14:01:18Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.3/soljson-v0.4.3.commit.2353da71.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.3","body":"This is a real bugfix release as you can see from the changelog below. The most important fix concerns the optimizer which generated invalid code connected to the `SHA3` opcode in certain situations.\n\nFeatures:\n- Inline assembly: support both `suicide` and `selfdestruct` opcodes\n (note: `suicide` is deprecated).\n- Inline assembly: issue warning if stack is not balanced after block.\n- Include `keccak256()` as an alias to `sha3()`.\n- Support shifting constant numbers.\n\nBugfixes:\n- Commandline interface: Disallow unknown options in `solc`.\n- Name resolver: Allow inheritance of `enum` definitions.\n- Type checker: Proper type checking for bound functions.\n- Type checker: fixed crash related to invalid fixed point constants\n- Type checker: fixed crash related to invalid literal numbers.\n- Type checker: `super.x` does not look up `x` in the current contract.\n- Code generator: expect zero stack increase after `super` as an expression.\n- Code generator: fix an internal compiler error for `L.Foo` for `enum Foo` defined in library `L`.\n- Code generator: allow inheritance of `enum` definitions.\n- Inline assembly: support the `address` opcode.\n- Inline assembly: fix parsing of assignment after a label.\n- Inline assembly: external variables of unsupported type (such as `this`, `super`, etc.)\n are properly detected as unusable.\n- Inline assembly: support variables within modifiers.\n- Optimizer: fix related to stale knowledge about SHA3 operations\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4159082","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4159082/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4159082/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.2","id":4159082,"node_id":"MDc6UmVsZWFzZTQxNTkwODI=","tag_name":"v0.4.2","target_commitish":"release","name":"Version 0.4.2","draft":false,"prerelease":false,"created_at":"2016-09-17T13:25:54Z","published_at":"2016-09-17T13:36:22Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2329053","id":2329053,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMjkwNTM=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":18027112,"download_count":3281,"created_at":"2016-09-17T13:39:55Z","updated_at":"2016-09-17T13:39:56Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.2/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2329045","id":2329045,"node_id":"MDEyOlJlbGVhc2VBc3NldDIzMjkwNDU=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3708375,"download_count":424,"created_at":"2016-09-17T13:36:21Z","updated_at":"2016-09-17T13:36:22Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.2/solidity-windows.zip"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.2","body":"Bugfixes:\n- Code Generator: Fix library functions being called from payable functions.\n- Type Checker: Fixed a crash about invalid array types.\n- Code Generator: Fixed a call gas bug that became visible after\n version 0.4.0 for calls where the output is larger than the input.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4088906","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4088906/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4088906/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.1","id":4088906,"node_id":"MDc6UmVsZWFzZTQwODg5MDY=","tag_name":"v0.4.1","target_commitish":"4fc6fc2ca59579fae2472df319c2d8d31fe5bde5","name":"Version 0.4.1","draft":false,"prerelease":false,"created_at":"2016-09-09T10:23:50Z","published_at":"2016-09-09T10:38:32Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2283626","id":2283626,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyODM2MjY=","name":"solidity-ubuntu-trusty.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/zip","state":"uploaded","size":18004515,"download_count":2973,"created_at":"2016-09-09T10:34:22Z","updated_at":"2016-09-09T10:34:23Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.1/solidity-ubuntu-trusty.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2283763","id":2283763,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyODM3NjM=","name":"solidity-windows.zip","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":3689890,"download_count":230,"created_at":"2016-09-09T11:05:29Z","updated_at":"2016-09-09T11:05:37Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.1/solidity-windows.zip"},{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2283919","id":2283919,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyODM5MTk=","name":"soljson-v0.4.1.commit.4fc6fc2c.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7671998,"download_count":36,"created_at":"2016-09-09T11:28:54Z","updated_at":"2016-09-09T11:29:03Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.1/soljson-v0.4.1.commit.4fc6fc2c.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.1","body":"This is a bugfix release that fixes an error when compiling libraries with the latest version 0.4.0.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/4081126","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/4081126/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/4081126/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.4.0","id":4081126,"node_id":"MDc6UmVsZWFzZTQwODExMjY=","tag_name":"v0.4.0","target_commitish":"release","name":"Version 0.4.0","draft":false,"prerelease":false,"created_at":"2016-09-08T12:38:10Z","published_at":"2016-09-08T14:22:32Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/2278338","id":2278338,"node_id":"MDEyOlJlbGVhc2VBc3NldDIyNzgzMzg=","name":"soljson-v0.4.0.commit.acd334c9.js","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/javascript","state":"uploaded","size":7671532,"download_count":135,"created_at":"2016-09-08T14:22:20Z","updated_at":"2016-09-08T14:22:28Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.4.0/soljson-v0.4.0.commit.acd334c9.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.4.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.4.0","body":"**Note:** Version 0.4.0 is unable to compile libraries. Please upgrade to 0.4.1.\n\nThis release deliberately breaks backwards compatibility mostly to enforce some safety features. The most important change is that you have to explicitly specify if functions can receive ether via the `payable` modifier. Furthermore, more situations cause exceptions to be thrown.\n\nMinimal changes to be made for upgrade:\n- Add `payable` to all functions that want to receive Ether (including the constructor and the fallback function).\n- Change `_` to `_;` in modifiers.\n- Add version pragma to each file: `pragma solidity ^0.4.0;`\n\nBreaking Changes:\n- Source files have to specify the compiler version they are compatible with using e.g. `pragma solidity ^0.4.0;` or\n `pragma solidity \u003e=0.4.0 \u003c0.4.8;`\n- Functions that want to receive Ether have to specify the\n new `payable` modifier (otherwise they throw).\n- Contracts that want to receive Ether with a plain \"send\"\n have to implement a fallback function with the `payable`\n modifier. Contracts now throw if no payable fallback\n function is defined and no function matches the signature.\n- Failing contract creation through \"new\" throws.\n- Division / modulus by zero throws.\n- Function call throws if target contract does not have code\n- Modifiers are required to contain `_` (use `if (false) _` as a workaround if needed).\n- Modifiers: return does not skip part in modifier after `_`.\n- Placeholder statement `_` in modifier now requires explicit `;`.\n- `ecrecover` now returns zero if the input is malformed (it previously returned garbage).\n- The `constant` keyword cannot be used for constructors or the fallback function.\n- Removed `--interface` (Solidity interface) output option\n- JSON AST: General cleanup, renamed many nodes to match their C++ names.\n- JSON output: `srcmap-runtime` renamed to `srcmapRuntime`.\n- Moved (and reworked) standard library contracts from inside the compiler to github.com/ethereum/solidity/std\n (`import \"std\";` or `import owned;` do not work anymore).\n- Confusing and undocumented keyword `after` was removed.\n- New reserved words: `abstract`, `hex`, `interface`, `payable`, `pure`, `static`, `view`.\n\nFeatures:\n- Hexadecimal string literals: `hex\"ab1248fe\"`\n- Internal: Inline assembly usable by the code generator.\n- Commandline interface: Using `-` as filename allows reading from stdin.\n- Interface JSON: Fallback function is now part of the ABI.\n- Interface: Version string now _semver_ compatible.\n- Code generator: Do not provide \"new account gas\" if we know the called account exists.\n\nBugfixes:\n- JSON AST: Nodes were added at wrong parent\n- Why3 translator: Crash fix for exponentiation\n- Commandline Interface: linking libraries with underscores in their name.\n- Type Checker: Fallback function cannot return data anymore.\n- Code Generator: Fix crash when `sha3()` was used on unsupported types.\n- Code Generator: Manually set gas stipend for `.send(0)`.\n\nLots of changes to the documentation mainly by voluntary external contributors.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3859219","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3859219/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3859219/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.6","id":3859219,"node_id":"MDc6UmVsZWFzZTM4NTkyMTk=","tag_name":"v0.3.6","target_commitish":"develop","name":"Version 0.3.6","draft":false,"prerelease":false,"created_at":"2016-08-10T19:07:15Z","published_at":"2016-08-10T19:09:12Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.6","body":"This is the first release from the new \"solidity-standalone\" repository. It does not have dependencies to cpp-ethereum anymore and can be built just from the solidity github repository.\n\nNote that the optimizer was disabled in some situations which could lead to larger (but correcter) code.\n\nFeatures:\n- Formal verification: Take external effects on a contract into account.\n- Type Checker: Warning about unused return value of low-level calls and send.\n- Output: Source location and node id as part of AST output\n- Output: Source location mappings for bytecode\n- Output: Formal verification as part of json compiler output.\n\nBugfixes:\n- Commandline Interface: Do not crash if input is taken from stdin.\n- Scanner: Correctly support unicode escape codes in strings.\n- JSON output: Fix error about relative / absolute source file names.\n- JSON output: Fix error about invalid utf8 strings.\n- Code Generator: Dynamic allocation of empty array caused infinite loop.\n- Code Generator: Correctly calculate gas requirements for memcpy precompile.\n- Optimizer: Clear known state if two code paths are joined.\n\nNote regarding the PPA: This version of the solc package conflicts with the cpp-ethereum package (because that still contains solidity). Please uninstall cpp-ethereum before installing solc until we also have a new cpp-ethereum release.\n\nThe source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3419225","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3419225/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3419225/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.5","id":3419225,"node_id":"MDc6UmVsZWFzZTM0MTkyMjU=","tag_name":"v0.3.5","target_commitish":"develop","name":"Version 0.3.5","draft":false,"prerelease":false,"created_at":"2016-06-10T16:00:49Z","published_at":"2016-06-10T16:02:13Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.5","body":"**Features:**\n- Context-dependent path remappings (different modules can use the same library in different versions)\n\n**Bugfixes:**\n- Type Checking: Dynamic return types were removed when fetching data from external calls, now they are replaced by an \"unusable\" type.\n- Type Checking: Overrides by constructors were considered making a function non-abstract.\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3344217","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3344217/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3344217/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.4","id":3344217,"node_id":"MDc6UmVsZWFzZTMzNDQyMTc=","tag_name":"v0.3.4","target_commitish":"develop","name":"Version 0.3.4","draft":false,"prerelease":false,"created_at":"2016-05-31T18:01:48Z","published_at":"2016-05-31T21:23:23Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.4","body":"This release contains no changes outside of the documentation.\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3322684","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3322684/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3322684/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.3","id":3322684,"node_id":"MDc6UmVsZWFzZTMzMjI2ODQ=","tag_name":"v0.3.3","target_commitish":"develop","name":"Version 0.3.3","draft":false,"prerelease":false,"created_at":"2016-05-27T15:38:36Z","published_at":"2016-05-27T17:02:12Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.3","body":"This release mainly makes libraries more flexible in that it allows internal functions to be called.\n\n**Features**\n- Allow internal library functions to be called (by \"inlining\")\n- Fractional/rational constants (only usable with fixed point types, which are still in progress)\n- Inline assembly has access to internal functions (as jump labels)\n- Running `solc` without arguments on a terminal will print help.\n\n**Fixes**\n- Code Generation: Remove some non-determinism in code generation.\n- Code Generation: Corrected usage of not / bnot / iszero in inline assembly\n- Code Generation: Correctly clean bytesNN types before comparison\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/3044028","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/3044028/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/3044028/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.2","id":3044028,"node_id":"MDc6UmVsZWFzZTMwNDQwMjg=","tag_name":"v0.3.2","target_commitish":"develop","name":"Version 0.3.2","draft":false,"prerelease":false,"created_at":"2016-04-18T15:33:11Z","published_at":"2016-04-18T17:34:41Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.2","body":"This is mainly a bugfix release. Under the hood, we are in the process of separating the Solidity source code from the rest of the cpp-ethereum source code so that it can soon be built (and released) in isolation.\n\n**Fixes:**\n- Code generation: Dynamic arrays of structs were not deleted correctly.\n- Code generation: Static arrays in constructor parameter list were not decoded correctly.\n- Parser: Inline assembly parser: `byte` opcode was unusable\n- Error reporting: tokens for variably-sized types were not converted to string properly\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2923412","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2923412/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2923412/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.1","id":2923412,"node_id":"MDc6UmVsZWFzZTI5MjM0MTI=","tag_name":"v0.3.1","target_commitish":"develop","name":"Version 0.3.1","draft":false,"prerelease":false,"created_at":"2016-03-31T16:47:56Z","published_at":"2016-03-31T16:49:39Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.1","body":"This release mainly introduces inline assembly ([documentation](https://solidity.readthedocs.org/en/latest/control-structures.html#inline-assembly)). Inline assembly provides a way to write low-level but still well readable code. Together with the coming features of inline library functions and templates, it allows to move much of the development that had to be done in the compiler itself into libraries written in Solidity. In the future, it will be possible to introduce new versatile types that still look like builtins.\n\n**Features:**\n- inline assembly\n\n**Fixes:**\n- Code generation: array access with narrow types did not clean higher order bits\n- Error reporting: error reporting with unknown source location caused a crash\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2785039","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2785039/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2785039/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.3.0","id":2785039,"node_id":"MDc6UmVsZWFzZTI3ODUwMzk=","tag_name":"v0.3.0","target_commitish":"develop","name":"Version 0.3.0 (includes breaking changes)","draft":false,"prerelease":false,"created_at":"2016-03-11T16:53:33Z","published_at":"2016-03-11T16:58:49Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.3.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.3.0","body":"This version is synchronized to the Homestead changes on the main Ethereum network and introduces various breaking changes.\n\nBREAKING CHANGES:\n- You should not rely on division for literals resulting in a (truncated) integer. This is still the case but will change once we implement fixed point types, i.e. in the future `1/2 == 0.5` will be true, currently we have `1/2 == 0`. Note that this only applies to literals (`(2 + 7) / 2`) and not variables (`x / 2`).\n- Library calls now default to use DELEGATECALL (e.g. called library functions see the same value as the calling function for `msg.value` and `msg.sender`).\n- Added new keywords `assembly`, `fixed`, `ufixed`, `fixedNxM`, `ufixedNxM` (for various values of M and N), `inline` in preparation for future features.\n\nFeatures:\n- `\u003caddress\u003e.delegatecall` is provided as a low-level calling interface for DELEGATECALL\n\nBugfixes:\n- Fixed a bug in the optimizer that resulted in comparisons being wrong.\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2634344","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2634344/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2634344/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.2.2","id":2634344,"node_id":"MDc6UmVsZWFzZTI2MzQzNDQ=","tag_name":"v0.2.2","target_commitish":"develop","name":"Version 0.2.2","draft":false,"prerelease":false,"created_at":"2016-02-17T16:33:20Z","published_at":"2016-02-17T18:27:35Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.2.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.2.2","body":"Features:\n- Index access for types `bytes1`, ..., `bytes32` (only read access for now).\n\nBugfixes:\n- Type checker crash for wrong number of base constructor parameters.\n\nnote: The source below cannot be used without the dependent repositories.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2522547","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2522547/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2522547/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.2.1","id":2522547,"node_id":"MDc6UmVsZWFzZTI1MjI1NDc=","tag_name":"v0.2.1","target_commitish":"develop","name":"Version 0.2.1","draft":false,"prerelease":false,"created_at":"2016-01-30T15:40:13Z","published_at":"2016-01-30T15:40:59Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26562658","id":26562658,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NTYyNjU4","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":6893716,"download_count":14,"created_at":"2020-10-05T13:30:33Z","updated_at":"2020-10-05T13:30:36Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.2.1/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.2.1","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.2.1","body":"This release includes three major features and one very important bugfix in the optimizer.\r\n\r\nIn some situations, the optimizer generated incorrect code. Please always test your code before you use it, unfortunately, we can never guarantee 100% correctness.\r\n\r\nWe are especially grateful about the many voluntary community contributions this release received.\r\nTwo fearless individuals dived deep into the solidity code and delivered two major features: Thanks a lot to @VoR0220 for the inline arrays and to @guanqun for the ternary operator!\r\nFurthermore, @bobsummerwill spent a lot of free time handling build issues on MacOS and other platforms.\r\nOther contributions came from @axic, @chfast, @ethers, @janx, @pipermerriam and @u2.\r\n\r\nFeatures:\r\n- **Inline arrays**, i.e. `var y = [1,x,f()];` if there is a common type for `1`, `x` and `f()`. Note that the result is always a fixed-length memory array and conversion to dynamic-length memory arrays is not yet possible.\r\n- **Import** similar to ECMAScript6 import (`import \"abc.sol\" as d` and `import {x, y} from \"abc.sol\"`). [Documentation](https://solidity.readthedocs.org/en/latest/layout-of-source-files.html#importing-other-source-files) \r\n- Commandline compiler solc automatically resolves missing imports and allows for \"include directories\". [Documentation](https://solidity.readthedocs.org/en/latest/layout-of-source-files.html#use-in-actual-compilers)\r\n- **Conditional** / ternary operator: `x ? y : z`\r\n\r\nFixed bugs:\r\n- Several bugs where the optimizer generated invalid code.\r\n- Enums and structs were not accessible to other contracts.\r\n- Fixed segfault connected to function paramater types, appeared during gas estimation.\r\n- Type checker crash for wrong number of base constructor parameters.\r\n- Allow function overloads with different array types.\r\n- Allow assignments of type `(x) = 7`.\r\n- Type `uint176` was not available.\r\n- Fixed crash during type checking concerning constructor calls.\r\n- Fixed crash during code generation concerning invalid accessors for struct types.\r\n- Fixed crash during code generating concerning computing a hash of a struct type.\r\n\r\nnote: The source below cannot be used without the dependent repositories.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2213759","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2213759/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2213759/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.2.0","id":2213759,"node_id":"MDc6UmVsZWFzZTIyMTM3NTk=","tag_name":"v0.2.0","target_commitish":"develop","name":"Version 0.2.0 (breaking change)","draft":false,"prerelease":false,"created_at":"2015-12-01T15:20:49Z","published_at":"2015-12-01T15:21:29Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/26562646","id":26562646,"node_id":"MDEyOlJlbGVhc2VBc3NldDI2NTYyNjQ2","name":"soljson.js","label":"","uploader":{"login":"cameel","id":137030,"node_id":"MDQ6VXNlcjEzNzAzMA==","avatar_url":"https://avatars.githubusercontent.com/u/137030?v=4","url":"https://api.github.com/users/cameel","html_url":"https://github.com/cameel","followers_url":"https://api.github.com/users/cameel/followers","following_url":"https://api.github.com/users/cameel/following{/other_user}","gists_url":"https://api.github.com/users/cameel/gists{/gist_id}","starred_url":"https://api.github.com/users/cameel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cameel/subscriptions","organizations_url":"https://api.github.com/users/cameel/orgs","repos_url":"https://api.github.com/users/cameel/repos","events_url":"https://api.github.com/users/cameel/events{/privacy}","received_events_url":"https://api.github.com/users/cameel/received_events","type":"User","site_admin":false},"content_type":"application/x-javascript","state":"uploaded","size":6729443,"download_count":13,"created_at":"2020-10-05T13:30:06Z","updated_at":"2020-10-05T13:30:10Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.2.0/soljson.js"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.2.0","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.2.0","body":"Features:\r\n- Allocation of memory arrays using `new`.\r\n- Binding library functions to types via `using x for y`\r\n- **Breaking Change**: `new ContractName.value(10)()` has to be written as `(new ContractName).value(10)()`\r\n- Added `selfdestruct` as an alias for `suicide`.\r\n\r\nBugfixes:\r\n- Constructor arguments of fixed array type were not read correctly.\r\n- Memory allocation of structs containing arrays or strings.\r\n- Data location for explicit memory parameters in libraries was set to storage.\r\n\r\nThe two main features of this release is the ability to create memory arrays (of dynamic length) and to\r\n[attach library functions to types](https://ethereum.github.io/solidity//docs/using-for/). The latter provides a way to make elegant use of complex data types in the way we are used to from other languages and paves the way to creating an extensive and easy to use standard library. The next step into that direction is the introduction of a clean module system.\r\n\r\n_note_: The source below cannot be used without the dependent repositories.\r\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/2139821","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/2139821/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/2139821/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.7","id":2139821,"node_id":"MDc6UmVsZWFzZTIxMzk4MjE=","tag_name":"v0.1.7","target_commitish":"develop","name":"Version 0.1.7","draft":false,"prerelease":false,"created_at":"2015-11-17T15:09:29Z","published_at":"2015-11-17T15:12:49Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.7","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.7","body":"Features:\n- Improved error messages for unexpected tokens.\n- Proof-of-concept transcompilation to why3 for formal verification of contracts.\n\nBugfixes:\n- Writing to elements of `bytes` or `string` overwrite others.\n- Arrays (also strings) as indexed parameters of events.\n- \"Successor block not found\" on Windows.\n- Using string literals in tuples.\n- Cope with invalid commit hash in version for libraries.\n- Some test framework fixes on windows.\n\nNote: The source code download automatically generated by github below is not usable due to the way the repositories are laid out.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1972627","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1972627/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1972627/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.6","id":1972627,"node_id":"MDc6UmVsZWFzZTE5NzI2Mjc=","tag_name":"v0.1.6","target_commitish":"develop","name":"Version 0.1.6","draft":false,"prerelease":false,"created_at":"2015-10-16T15:00:38Z","published_at":"2015-10-16T15:02:04Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.6","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.6","body":"Features:\n- `.push()` for dynamic storage arrays.\n- Tuple expressions (`(1,2,3)` or `return (1,2,3);`)\n- Declaration and assignment of multiple variables (`var (x,y,) = (1,2,3,4,5);` or `var (x,y) = f();`)\n- Destructuring assignment (`(x,y,) = (1,2,3)`)\n- Handling of multiple source files in the json compiler.\n\nBugfixes:\n- Internal error about usage of library function with invalid types.\n- Correctly parse `Library.structType a` at statement level.\n- Correctly report source locations of parenthesized expressions (as part of \"tuple\" story).\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1925316","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1925316/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1925316/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.5","id":1925316,"node_id":"MDc6UmVsZWFzZTE5MjUzMTY=","tag_name":"v0.1.5","target_commitish":"develop","name":"Version 0.1.5","draft":false,"prerelease":false,"created_at":"2015-10-07T16:43:52Z","published_at":"2015-10-07T16:45:17Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.5","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.5","body":"Changes:\n- Breaking change in storage encoding: Encode short byte arrays and strings together with their length in storage.\n- Report warnings.\n- Allow storage reference types for public library functions.\n- Access to types declared in other contracts and libraries via `.`.\n- Version stamp at beginning of runtime bytecode of libraries.\n- Bugfix: Problem with initialized string state variables and dynamic data in constructor.\n- Bugfix: Resolve dependencies concerning `new` automatically.\n- Bugfix: Allow four indexed arguments for anonymous events.\n- Bugfix: Detect too large integer constants in functions that accept arbitrary parameters.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1890710","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1890710/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1890710/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.4","id":1890710,"node_id":"MDc6UmVsZWFzZTE4OTA3MTA=","tag_name":"v0.1.4","target_commitish":"develop","name":"Version 0.1.4","draft":false,"prerelease":false,"created_at":"2015-09-30T15:03:00Z","published_at":"2015-09-30T15:05:20Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.4","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.4","body":"Changes:\n- Bugfix: combined-json output of solc incorrectly returned the runtime binary instead of the binary.\n- Bugfix: Accessing fixed-size array return values.\n- Bugfix: Disallow assignment from literal strings to storage pointers.\n- Refactoring: Move type checking into its own module.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1852674","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1852674/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1852674/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.3","id":1852674,"node_id":"MDc6UmVsZWFzZTE4NTI2NzQ=","tag_name":"v0.1.3","target_commitish":"develop","name":"Version 0.1.3","draft":false,"prerelease":false,"created_at":"2015-09-22T22:34:37Z","published_at":"2015-09-22T23:25:01Z","assets":[{"url":"https://api.github.com/repos/ethereum/solidity/releases/assets/885878","id":885878,"node_id":"MDEyOlJlbGVhc2VBc3NldDg4NTg3OA==","name":"soljson-0.1.3.js.gz","label":"","uploader":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"content_type":"application/binary","state":"uploaded","size":1332741,"download_count":38,"created_at":"2015-09-22T23:24:49Z","updated_at":"2015-09-22T23:25:01Z","browser_download_url":"https://github.com/ethereum/solidity/releases/download/v0.1.3/soljson-0.1.3.js.gz"}],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.3","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.3","body":"Changes:\n- `throw` statement.\n- Libraries that contain functions which are called via CALLCODE.\n- Linker stage for compiler to insert other contract's addresses (used for libraries).\n- Compiler option to output runtime part of contracts.\n- Compile-time out of bounds check for access to fixed-size arrays by integer constants.\n- Version string includes libevmasm/libethereum's version (contains the optimizer).\n- Bugfix: Accessors for constant public state variables.\n- Bugfix: Propagate exceptions in clone contracts.\n- Bugfix: Empty single-line comments are now treated properly.\n- Bugfix: Properly check the number of indexed arguments for events.\n- Bugfix: Strings in struct constructors.\n","reactions":{"url":"","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}},{"url":"https://api.github.com/repos/ethereum/solidity/releases/1704295","assets_url":"https://api.github.com/repos/ethereum/solidity/releases/1704295/assets","upload_url":"https://uploads.github.com/repos/ethereum/solidity/releases/1704295/assets{?name,label}","html_url":"https://github.com/ethereum/solidity/releases/tag/v0.1.2","id":1704295,"node_id":"MDc6UmVsZWFzZTE3MDQyOTU=","tag_name":"v0.1.2","target_commitish":"0906042ce05f01c4d371aa98d0fd9dddfb93a196","name":"Version 0.1.2","draft":false,"prerelease":false,"created_at":"2015-08-20T00:12:37Z","published_at":"2015-08-21T11:03:14Z","assets":[],"tarball_url":"https://api.github.com/repos/ethereum/solidity/tarball/v0.1.2","zipball_url":"https://api.github.com/repos/ethereum/solidity/zipball/v0.1.2","body":"Changes:\n- Improved commandline interface (breaking change).\n- Explicit conversion between bytes and string.\n- Bugfix: Value transfer used in clone contracts.\n- Bugfix: Problem with strings as mapping keys.\n- Bugfix: Prevent usage of some operators.\n","reactions":{"url":"https://api.github.com/repos/ethereum/solidity/releases/1704295/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":1,"rocket":0,"eyes":0},"author":{"login":"chriseth","id":9073706,"node_id":"MDQ6VXNlcjkwNzM3MDY=","avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=4","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false}}] \ No newline at end of file diff --git a/data/tests/abi/ERC20.abi.json b/data/tests/abi/ERC20.abi.json index 677196a2..0368133d 100644 --- a/data/tests/abi/ERC20.abi.json +++ b/data/tests/abi/ERC20.abi.json @@ -3,46 +3,7 @@ "entry_contract_name": "ERC20", "contracts_count": 5, "contracts": { - "Context": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_msgSender", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "_msgData", - "type": "function", - "stateMutability": "view" - } - ], + "Context": [], "ERC20": [ { "inputs": [ @@ -143,1008 +104,37 @@ "name": "", "type": "constructor", "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "name", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "symbol", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "name": "decimals", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalSupply", - "type": "function", - "stateMutability": "view" - }, + } + ], + "IERC20": [ { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], + "inputs": [], "outputs": [ { "internalType": "uint256", - "name": "", + "name": "value", "type": "uint256" } ], - "name": "balanceOf", - "type": "function", + "name": "Transfer", + "type": "event", "stateMutability": "view" }, { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "transfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], + "inputs": [], "outputs": [ { "internalType": "uint256", - "name": "", + "name": "value", "type": "uint256" } ], - "name": "allowance", - "type": "function", + "name": "Approval", + "type": "event", "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "approve", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "transferFrom", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "increaseAllowance", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "decreaseAllowance", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [], - "name": "_transfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [], - "name": "_mint", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [], - "name": "_burn", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [], - "name": "_approve", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [], - "name": "_spendAllowance", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [], - "name": "_beforeTokenTransfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [], - "name": "_afterTokenTransfer", - "type": "function", - "stateMutability": "nonpayable" } ], - "IERC20": [ - { - "inputs": [], - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalSupply", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "balanceOf", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "transfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "allowance", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "approve", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "transferFrom", - "type": "function", - "stateMutability": "nonpayable" - } - ], - "IERC20Metadata": [ - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "name", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "symbol", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "name": "decimals", - "type": "function", - "stateMutability": "view" - } - ], - "SafeMath": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "tryAdd", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "trySub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "tryMul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "tryDiv", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "tryMod", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "add", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mod", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mod", - "type": "function", - "stateMutability": "pure" - } - ] + "IERC20Metadata": [], + "SafeMath": [] } } \ No newline at end of file diff --git a/data/tests/abi/ERC20.abi.proto.json b/data/tests/abi/ERC20.abi.proto.json index 71d9b6c7..34312e47 100644 --- a/data/tests/abi/ERC20.abi.proto.json +++ b/data/tests/abi/ERC20.abi.proto.json @@ -3,44 +3,7 @@ "entryContractName": "ERC20", "contractsCount": 5, "contracts": { - "Context": { - "methods": [ - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_msgSender", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "_msgData", - "type": "function", - "stateMutability": "view" - } - ] - }, + "Context": {}, "ERC20": { "methods": [ { @@ -129,960 +92,38 @@ ], "type": "constructor", "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "string", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "string", - "type": "string" - } - ], - "name": "name", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "string", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "string", - "type": "string" - } - ], - "name": "symbol", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint8", - "type": "uint8" - } - ], - "outputs": [ - { - "internalType": "uint8", - "type": "uint8" - } - ], - "name": "decimals", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "totalSupply", - "type": "function", - "stateMutability": "view" - }, + } + ] + }, + "IERC20": { + "methods": [ { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], "outputs": [ { "internalType": "uint256", + "name": "value", "type": "uint256" } ], - "name": "balanceOf", - "type": "function", + "name": "Transfer", + "type": "event", "stateMutability": "view" }, { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "transfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], "outputs": [ { "internalType": "uint256", + "name": "value", "type": "uint256" } ], - "name": "allowance", - "type": "function", + "name": "Approval", + "type": "event", "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "approve", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "transferFrom", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "increaseAllowance", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "decreaseAllowance", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_transfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_mint", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_burn", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_approve", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_spendAllowance", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_beforeTokenTransfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "_afterTokenTransfer", - "type": "function", - "stateMutability": "nonpayable" - } - ] - }, - "IERC20": { - "methods": [ - { - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event", - "stateMutability": "view" - }, - { - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "totalSupply", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "balanceOf", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "transfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "allowance", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "approve", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "transferFrom", - "type": "function", - "stateMutability": "nonpayable" } ] }, - "IERC20Metadata": { - "methods": [ - { - "inputs": [ - { - "internalType": "string", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "string", - "type": "string" - } - ], - "name": "name", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "string", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "string", - "type": "string" - } - ], - "name": "symbol", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint8", - "type": "uint8" - } - ], - "outputs": [ - { - "internalType": "uint8", - "type": "uint8" - } - ], - "name": "decimals", - "type": "function", - "stateMutability": "view" - } - ] - }, - "SafeMath": { - "methods": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "tryAdd", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "trySub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "tryMul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "tryDiv", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "tryMod", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "add", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "mul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "mod", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "mod", - "type": "function", - "stateMutability": "pure" - } - ] - } + "IERC20Metadata": {}, + "SafeMath": {} } } \ No newline at end of file diff --git a/data/tests/abi/Lottery.abi.json b/data/tests/abi/Lottery.abi.json index a17f9c7d..b9c9b170 100644 --- a/data/tests/abi/Lottery.abi.json +++ b/data/tests/abi/Lottery.abi.json @@ -3,27 +3,7 @@ "entry_contract_name": "Lottery", "contracts_count": 2, "contracts": { - "IDummyContract": [ - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "dummyFunction", - "type": "function", - "stateMutability": "nonpayable" - } - ], + "IDummyContract": [], "Lottery": [ { "inputs": [], @@ -92,7 +72,6 @@ "inputs": [], "outputs": [ { - "indexed": true, "internalType": "address", "name": "addr", "type": "address" @@ -106,7 +85,6 @@ "inputs": [], "outputs": [ { - "indexed": true, "internalType": "address", "name": "winner", "type": "address" @@ -127,7 +105,6 @@ "inputs": [], "outputs": [ { - "indexed": true, "internalType": "string", "name": "reason", "type": "string" @@ -186,135 +163,6 @@ "type": "constructor", "stateMutability": "nonpayable" }, - { - "inputs": [], - "outputs": [], - "name": "join", - "type": "function", - "stateMutability": "payable" - }, - { - "inputs": [], - "outputs": [], - "name": "finishLottery", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "owner", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "balance", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "checkAllPlayers", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [], - "name": "requireOwner", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "externalContractAddress", - "type": "address" - } - ], - "outputs": [], - "name": "callExternalFunction", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "integerToString", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "name": "dummyFunctionAssembly", - "type": "function", - "stateMutability": "pure" - }, { "inputs": [], "outputs": [], diff --git a/data/tests/abi/Lottery.abi.proto.json b/data/tests/abi/Lottery.abi.proto.json index 908f8210..97e9886c 100644 --- a/data/tests/abi/Lottery.abi.proto.json +++ b/data/tests/abi/Lottery.abi.proto.json @@ -3,27 +3,7 @@ "entryContractName": "Lottery", "contractsCount": 2, "contracts": { - "IDummyContract": { - "methods": [ - { - "inputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "dummyFunction", - "type": "function", - "stateMutability": "nonpayable" - } - ] - }, + "IDummyContract": {}, "Lottery": { "methods": [ { @@ -85,7 +65,6 @@ { "outputs": [ { - "indexed": true, "internalType": "address", "name": "addr", "type": "address" @@ -98,7 +77,6 @@ { "outputs": [ { - "indexed": true, "internalType": "address", "name": "winner", "type": "address" @@ -116,7 +94,6 @@ { "outputs": [ { - "indexed": true, "internalType": "string", "name": "reason", "type": "string" @@ -160,121 +137,6 @@ "type": "constructor", "stateMutability": "nonpayable" }, - { - "name": "join", - "type": "function", - "stateMutability": "payable" - }, - { - "name": "finishLottery", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "owner", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "balance", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "checkAllPlayers", - "type": "function", - "stateMutability": "view" - }, - { - "name": "requireOwner", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "externalContractAddress", - "type": "address" - } - ], - "name": "callExternalFunction", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "string", - "type": "string" - } - ], - "name": "integerToString", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "name": "dummyFunctionAssembly", - "type": "function", - "stateMutability": "pure" - }, { "type": "fallback", "stateMutability": "payable" diff --git a/data/tests/abi/SimpleStorage.abi.json b/data/tests/abi/SimpleStorage.abi.json index 268d541a..6507c1e9 100644 --- a/data/tests/abi/SimpleStorage.abi.json +++ b/data/tests/abi/SimpleStorage.abi.json @@ -3,104 +3,7 @@ "entry_contract_name": "SimpleStorage", "contracts_count": 2, "contracts": { - "MathLib": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "add", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - } - ], + "MathLib": [], "SimpleStorage": [ { "inputs": [], @@ -114,51 +17,6 @@ "name": "storedData", "type": "function", "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - } - ], - "outputs": [], - "name": "increment", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - } - ], - "outputs": [], - "name": "decrement", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "get", - "type": "function", - "stateMutability": "view" } ] } diff --git a/data/tests/abi/SimpleStorage.abi.proto.json b/data/tests/abi/SimpleStorage.abi.proto.json index 4ece2ef9..85337823 100644 --- a/data/tests/abi/SimpleStorage.abi.proto.json +++ b/data/tests/abi/SimpleStorage.abi.proto.json @@ -3,102 +3,7 @@ "entryContractName": "SimpleStorage", "contractsCount": 2, "contracts": { - "MathLib": { - "methods": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "add", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "mul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - } - ] - }, + "MathLib": {}, "SimpleStorage": { "methods": [ { @@ -111,47 +16,6 @@ "name": "storedData", "type": "function", "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - } - ], - "name": "increment", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - } - ], - "name": "decrement", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "get", - "type": "function", - "stateMutability": "view" } ] } diff --git a/data/tests/abi/TokenSale.abi.json b/data/tests/abi/TokenSale.abi.json index 7839315f..2f011536 100644 --- a/data/tests/abi/TokenSale.abi.json +++ b/data/tests/abi/TokenSale.abi.json @@ -8,19 +8,6 @@ "inputs": [], "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, "internalType": "uint256", "name": "value", "type": "uint256" @@ -34,19 +21,6 @@ "inputs": [], "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": true, "internalType": "uint256", "name": "value", "type": "uint256" @@ -55,501 +29,9 @@ "name": "Approval", "type": "event", "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalSupply", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "balanceOf", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "transfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "allowance", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "approve", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "transferFrom", - "type": "function", - "stateMutability": "nonpayable" - } - ], - "SafeMath": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "tryAdd", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "trySub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "tryMul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "tryDiv", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "tryMod", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "add", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mod", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mod", - "type": "function", - "stateMutability": "pure" } ], + "SafeMath": [], "TokenSale": [ { "inputs": [], @@ -594,13 +76,6 @@ "inputs": [], "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": true, "internalType": "uint256", "name": "amount", "type": "uint256" @@ -627,19 +102,6 @@ "name": "", "type": "constructor", "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "outputs": [], - "name": "buyTokens", - "type": "function", - "stateMutability": "nonpayable" } ] } diff --git a/data/tests/abi/TokenSale.abi.proto.json b/data/tests/abi/TokenSale.abi.proto.json index 4bb6dd81..e64bbf1c 100644 --- a/data/tests/abi/TokenSale.abi.proto.json +++ b/data/tests/abi/TokenSale.abi.proto.json @@ -8,19 +8,6 @@ { "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, "internalType": "uint256", "name": "value", "type": "uint256" @@ -33,19 +20,6 @@ { "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": true, "internalType": "uint256", "name": "value", "type": "uint256" @@ -54,479 +28,10 @@ "name": "Approval", "type": "event", "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "totalSupply", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "balanceOf", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "transfer", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "allowance", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "approve", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "transferFrom", - "type": "function", - "stateMutability": "nonpayable" - } - ] - }, - "SafeMath": { - "methods": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "tryAdd", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "trySub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "tryMul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "tryDiv", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - }, - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "tryMod", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "add", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "mul", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "mod", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "sub", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "div", - "type": "function", - "stateMutability": "pure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "b", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "uint256", - "type": "uint256" - } - ], - "name": "mod", - "type": "function", - "stateMutability": "pure" } ] }, + "SafeMath": {}, "TokenSale": { "methods": [ { @@ -565,13 +70,6 @@ { "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": true, "internalType": "uint256", "name": "amount", "type": "uint256" @@ -596,18 +94,6 @@ ], "type": "constructor", "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "buyTokens", - "type": "function", - "stateMutability": "nonpayable" } ] } diff --git a/data/tests/abi/TransparentUpgradeableProxy.abi.json b/data/tests/abi/TransparentUpgradeableProxy.abi.json index 2901b961..15127374 100644 --- a/data/tests/abi/TransparentUpgradeableProxy.abi.json +++ b/data/tests/abi/TransparentUpgradeableProxy.abi.json @@ -3,1018 +3,38 @@ "entry_contract_name": "TransparentUpgradeableProxy", "contracts_count": 13, "contracts": { - "Address": [ - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "isContract", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "outputs": [], - "name": "sendValue", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "functionCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "functionCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "functionCallWithValue", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "functionCallWithValue", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "functionStaticCall", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "functionStaticCall", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "functionDelegateCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "functionDelegateCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returndata", - "type": "bytes" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "_verifyCallResult", - "type": "function", - "stateMutability": "pure" - } - ], - "AdminUpgradeabilityProxy": [ - { - "inputs": [ - { - "internalType": "address", - "name": "logic", - "type": "address" - }, - { - "internalType": "address", - "name": "admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "outputs": [], - "name": "", - "type": "constructor", - "stateMutability": "payable" - } - ], - "BeaconProxy": [ - { - "inputs": [ - { - "internalType": "address", - "name": "beacon", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "outputs": [], - "name": "", - "type": "constructor", - "stateMutability": "payable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_beacon", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_implementation", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "beacon", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "outputs": [], - "name": "_setBeacon", - "type": "function", - "stateMutability": "nonpayable" - } - ], - "Context": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_msgSender", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "_msgData", - "type": "function", - "stateMutability": "view" - } - ], - "ERC1967Proxy": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "outputs": [], - "name": "", - "type": "constructor", - "stateMutability": "payable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "impl", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "impl", - "type": "address" - } - ], - "name": "_implementation", - "type": "function", - "stateMutability": "view" - } - ], - "ERC1967Upgrade": [ - { - "inputs": [], - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "_ROLLBACK_SLOT", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "_IMPLEMENTATION_SLOT", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "_ADMIN_SLOT", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "_BEACON_SLOT", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_getImplementation", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "outputs": [], - "name": "_setImplementation", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "outputs": [], - "name": "_upgradeTo", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "forceCall", - "type": "bool" - } - ], - "outputs": [], - "name": "_upgradeToAndCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "forceCall", - "type": "bool" - } - ], - "outputs": [], - "name": "_upgradeToAndCallSecure", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newBeacon", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "forceCall", - "type": "bool" - } - ], - "outputs": [], - "name": "_upgradeBeaconToAndCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_getAdmin", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "outputs": [], - "name": "_setAdmin", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "outputs": [], - "name": "_changeAdmin", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_getBeacon", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newBeacon", - "type": "address" - } - ], - "outputs": [], - "name": "_setBeacon", - "type": "function", - "stateMutability": "nonpayable" - } - ], - "IBeacon": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "implementation", - "type": "function", - "stateMutability": "view" - } - ], - "Ownable": [ - { - "inputs": [], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_owner", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [], - "name": "", - "type": "constructor", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "owner", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [], - "name": "renounceOwnership", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "outputs": [], - "name": "transferOwnership", - "type": "function", - "stateMutability": "nonpayable" - } - ], - "Proxy": [ - { - "inputs": [ - { - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "outputs": [], - "name": "_delegate", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "_implementation", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [], - "outputs": [], - "name": "_fallback", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [], - "outputs": [], - "name": "_beforeFallback", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [], - "outputs": [], - "name": "", - "type": "fallback", - "stateMutability": "payable" - }, - { - "inputs": [], - "outputs": [], - "name": "", - "type": "receive", - "stateMutability": "payable" - } - ], - "ProxyAdmin": [ - { - "inputs": [ - { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getProxyImplementation", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getProxyAdmin", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "outputs": [], - "name": "changeProxyAdmin", - "type": "function", - "stateMutability": "nonpayable" - }, + "Address": [], + "AdminUpgradeabilityProxy": [ { "inputs": [ { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", + "internalType": "address", + "name": "logic", "type": "address" }, { "internalType": "address", - "name": "implementation", + "name": "admin", "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], "outputs": [], - "name": "upgrade", - "type": "function", - "stateMutability": "nonpayable" - }, + "name": "", + "type": "constructor", + "stateMutability": "payable" + } + ], + "BeaconProxy": [ { "inputs": [ - { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", - "type": "address" - }, { "internalType": "address", - "name": "implementation", + "name": "beacon", "type": "address" }, { @@ -1024,248 +44,205 @@ } ], "outputs": [], - "name": "upgradeAndCall", - "type": "function", + "name": "", + "type": "constructor", "stateMutability": "payable" } ], - "StorageSlot": [ + "Context": [], + "ERC1967Proxy": [ { "inputs": [ { - "internalType": "bytes32", - "name": "slot", - "type": "bytes32" + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], + "outputs": [], + "name": "", + "type": "constructor", + "stateMutability": "payable" + } + ], + "ERC1967Upgrade": [ + { + "inputs": [], "outputs": [ { - "internalType": "struct StorageSlot.AddressSlot", - "name": "AddressSlot", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "value", - "type": "address" - } - ] + "internalType": "bytes32", + "name": "", + "type": "bytes32" } ], - "name": "getAddressSlot", + "name": "_ROLLBACK_SLOT", "type": "function", - "stateMutability": "pure" + "stateMutability": "view" }, { - "inputs": [ + "inputs": [], + "outputs": [ { "internalType": "bytes32", - "name": "slot", + "name": "", "type": "bytes32" } ], - "outputs": [ - { - "internalType": "struct StorageSlot.BooleanSlot", - "name": "BooleanSlot", - "type": "tuple", - "components": [ - { - "internalType": "bool", - "name": "value", - "type": "bool" - } - ] - } - ], - "name": "getBooleanSlot", + "name": "_IMPLEMENTATION_SLOT", "type": "function", - "stateMutability": "pure" + "stateMutability": "view" }, { - "inputs": [ + "inputs": [], + "outputs": [ { "internalType": "bytes32", - "name": "slot", + "name": "", "type": "bytes32" } ], - "outputs": [ - { - "internalType": "struct StorageSlot.Bytes32Slot", - "name": "Bytes32Slot", - "type": "tuple", - "components": [ - { - "internalType": "bytes32", - "name": "value", - "type": "bytes32" - } - ] - } - ], - "name": "getBytes32Slot", + "name": "_ADMIN_SLOT", "type": "function", - "stateMutability": "pure" + "stateMutability": "view" }, { - "inputs": [ + "inputs": [], + "outputs": [ { "internalType": "bytes32", - "name": "slot", + "name": "", "type": "bytes32" } ], - "outputs": [ - { - "internalType": "struct StorageSlot.Uint256Slot", - "name": "Uint256Slot", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ] - } - ], - "name": "getUint256Slot", + "name": "_BEACON_SLOT", "type": "function", - "stateMutability": "pure" - } - ], - "TransparentUpgradeableProxy": [ + "stateMutability": "view" + }, { - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, + "inputs": [], + "outputs": [ { + "indexed": true, "internalType": "address", - "name": "admin_", + "name": "implementation", "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" } ], - "outputs": [], - "name": "", - "type": "constructor", - "stateMutability": "payable" + "name": "Upgraded", + "type": "event", + "stateMutability": "view" }, { - "inputs": [ - { - "internalType": "address", - "name": "admin_", - "type": "address" - } - ], + "inputs": [], "outputs": [ { "internalType": "address", - "name": "admin_", + "name": "newAdmin", "type": "address" } ], - "name": "admin", - "type": "function", - "stateMutability": "nonpayable" + "name": "AdminChanged", + "type": "event", + "stateMutability": "view" }, { - "inputs": [ + "inputs": [], + "outputs": [ { + "indexed": true, "internalType": "address", - "name": "implementation_", + "name": "beacon", "type": "address" } ], + "name": "BeaconUpgraded", + "type": "event", + "stateMutability": "view" + } + ], + "IBeacon": [], + "Ownable": [ + { + "inputs": [], "outputs": [ { "internalType": "address", - "name": "implementation_", + "name": "", "type": "address" } ], - "name": "implementation", + "name": "_owner", "type": "function", - "stateMutability": "nonpayable" + "stateMutability": "view" }, { - "inputs": [ + "inputs": [], + "outputs": [ { + "indexed": true, "internalType": "address", - "name": "newAdmin", + "name": "newOwner", "type": "address" } ], - "outputs": [], - "name": "changeAdmin", - "type": "function", - "stateMutability": "nonpayable" + "name": "OwnershipTransferred", + "type": "event", + "stateMutability": "view" }, { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], + "inputs": [], "outputs": [], - "name": "upgradeTo", - "type": "function", + "name": "", + "type": "constructor", "stateMutability": "nonpayable" - }, + } + ], + "Proxy": [ { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], + "inputs": [], "outputs": [], - "name": "upgradeToAndCall", - "type": "function", + "name": "", + "type": "fallback", "stateMutability": "payable" }, + { + "inputs": [], + "outputs": [], + "name": "", + "type": "receive", + "stateMutability": "payable" + } + ], + "ProxyAdmin": [], + "StorageSlot": [], + "TransparentUpgradeableProxy": [ { "inputs": [ { "internalType": "address", - "name": "", + "name": "_logic", "type": "address" - } - ], - "outputs": [ + }, { "internalType": "address", - "name": "", + "name": "admin_", "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], - "name": "_admin", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [], "outputs": [], - "name": "_beforeFallback", - "type": "function", - "stateMutability": "nonpayable" + "name": "", + "type": "constructor", + "stateMutability": "payable" } ], "UpgradeableBeacon": [ @@ -1308,51 +285,6 @@ "name": "", "type": "constructor", "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "implementation", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "outputs": [], - "name": "upgradeTo", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "outputs": [], - "name": "_setImplementation", - "type": "function", - "stateMutability": "nonpayable" } ] } diff --git a/data/tests/abi/TransparentUpgradeableProxy.abi.proto.json b/data/tests/abi/TransparentUpgradeableProxy.abi.proto.json index 41ce1046..e2e4c25d 100644 --- a/data/tests/abi/TransparentUpgradeableProxy.abi.proto.json +++ b/data/tests/abi/TransparentUpgradeableProxy.abi.proto.json @@ -3,1201 +3,228 @@ "entryContractName": "TransparentUpgradeableProxy", "contractsCount": 13, "contracts": { - "Address": { - "methods": [ - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "bool", - "type": "bool" - } - ], - "name": "isContract", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "sendValue", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "functionCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "functionCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "functionCallWithValue", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "functionCallWithValue", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "functionStaticCall", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "functionStaticCall", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "functionDelegateCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "functionDelegateCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returndata", - "type": "bytes" - }, - { - "internalType": "string", - "name": "errorMessage", - "type": "string" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "_verifyCallResult", - "type": "function", - "stateMutability": "pure" - } - ] - }, - "AdminUpgradeabilityProxy": { - "methods": [ - { - "inputs": [ - { - "internalType": "address", - "name": "logic", - "type": "address" - }, - { - "internalType": "address", - "name": "admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "type": "constructor", - "stateMutability": "payable" - } - ] - }, - "BeaconProxy": { - "methods": [ - { - "inputs": [ - { - "internalType": "address", - "name": "beacon", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "type": "constructor", - "stateMutability": "payable" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_beacon", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_implementation", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "beacon", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "_setBeacon", - "type": "function", - "stateMutability": "nonpayable" - } - ] - }, - "Context": { - "methods": [ - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_msgSender", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "outputs": [ - { - "internalType": "bytes", - "type": "bytes" - } - ], - "name": "_msgData", - "type": "function", - "stateMutability": "view" - } - ] - }, - "ERC1967Proxy": { - "methods": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "type": "constructor", - "stateMutability": "payable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "impl", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "name": "impl", - "type": "address" - } - ], - "name": "_implementation", - "type": "function", - "stateMutability": "view" - } - ] - }, - "ERC1967Upgrade": { - "methods": [ - { - "outputs": [ - { - "internalType": "bytes32", - "type": "bytes32" - } - ], - "name": "_ROLLBACK_SLOT", - "type": "function", - "stateMutability": "view" - }, - { - "outputs": [ - { - "internalType": "bytes32", - "type": "bytes32" - } - ], - "name": "_IMPLEMENTATION_SLOT", - "type": "function", - "stateMutability": "view" - }, - { - "outputs": [ - { - "internalType": "bytes32", - "type": "bytes32" - } - ], - "name": "_ADMIN_SLOT", - "type": "function", - "stateMutability": "view" - }, - { - "outputs": [ - { - "internalType": "bytes32", - "type": "bytes32" - } - ], - "name": "_BEACON_SLOT", - "type": "function", - "stateMutability": "view" - }, - { - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event", - "stateMutability": "view" - }, - { - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event", - "stateMutability": "view" - }, - { - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_getImplementation", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "_setImplementation", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "_upgradeTo", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "forceCall", - "type": "bool" - } - ], - "name": "_upgradeToAndCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "forceCall", - "type": "bool" - } - ], - "name": "_upgradeToAndCallSecure", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newBeacon", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "forceCall", - "type": "bool" - } - ], - "name": "_upgradeBeaconToAndCall", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_getAdmin", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "_setAdmin", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "_changeAdmin", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_getBeacon", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newBeacon", - "type": "address" - } - ], - "name": "_setBeacon", - "type": "function", - "stateMutability": "nonpayable" - } - ] - }, - "IBeacon": { - "methods": [ - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "implementation", - "type": "function", - "stateMutability": "view" - } - ] - }, - "Ownable": { - "methods": [ - { - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_owner", - "type": "function", - "stateMutability": "view" - }, - { - "outputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event", - "stateMutability": "view" - }, - { - "type": "constructor", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "owner", - "type": "function", - "stateMutability": "view" - }, - { - "name": "renounceOwnership", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "type": "function", - "stateMutability": "nonpayable" - } - ] - }, - "Proxy": { - "methods": [ - { - "inputs": [ - { - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "_delegate", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_implementation", - "type": "function", - "stateMutability": "view" - }, - { - "name": "_fallback", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "name": "_beforeFallback", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "payable" - }, - { - "type": "receive", - "stateMutability": "payable" - } - ] - }, - "ProxyAdmin": { - "methods": [ - { - "inputs": [ - { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "getProxyImplementation", - "type": "function", - "stateMutability": "view" - }, + "Address": {}, + "AdminUpgradeabilityProxy": { + "methods": [ { "inputs": [ - { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", - "type": "address" - } - ], - "outputs": [ { "internalType": "address", - "type": "address" - } - ], - "name": "getProxyAdmin", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", + "name": "logic", "type": "address" }, { "internalType": "address", - "name": "newAdmin", + "name": "admin", "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], - "name": "changeProxyAdmin", - "type": "function", - "stateMutability": "nonpayable" - }, + "type": "constructor", + "stateMutability": "payable" + } + ] + }, + "BeaconProxy": { + "methods": [ { "inputs": [ { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", + "internalType": "address", + "name": "beacon", "type": "address" }, { - "internalType": "address", - "name": "implementation", - "type": "address" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], - "name": "upgrade", - "type": "function", - "stateMutability": "nonpayable" - }, + "type": "constructor", + "stateMutability": "payable" + } + ] + }, + "Context": {}, + "ERC1967Proxy": { + "methods": [ { "inputs": [ - { - "internalType": "contract TransparentUpgradeableProxy", - "name": "proxy", - "type": "address" - }, { "internalType": "address", - "name": "implementation", + "name": "_logic", "type": "address" }, { "internalType": "bytes", - "name": "data", + "name": "_data", "type": "bytes" } ], - "name": "upgradeAndCall", - "type": "function", + "type": "constructor", "stateMutability": "payable" } ] }, - "StorageSlot": { + "ERC1967Upgrade": { "methods": [ { - "inputs": [ + "outputs": [ { "internalType": "bytes32", - "name": "slot", "type": "bytes32" } ], - "outputs": [ - { - "internalType": "struct StorageSlot.AddressSlot", - "name": "AddressSlot", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "value", - "type": "address" - } - ] - } - ], - "name": "getAddressSlot", + "name": "_ROLLBACK_SLOT", "type": "function", - "stateMutability": "pure" + "stateMutability": "view" }, { - "inputs": [ + "outputs": [ { "internalType": "bytes32", - "name": "slot", "type": "bytes32" } ], - "outputs": [ - { - "internalType": "struct StorageSlot.BooleanSlot", - "name": "BooleanSlot", - "type": "tuple", - "components": [ - { - "internalType": "bool", - "name": "value", - "type": "bool" - } - ] - } - ], - "name": "getBooleanSlot", + "name": "_IMPLEMENTATION_SLOT", "type": "function", - "stateMutability": "pure" + "stateMutability": "view" }, { - "inputs": [ + "outputs": [ { "internalType": "bytes32", - "name": "slot", "type": "bytes32" } ], - "outputs": [ - { - "internalType": "struct StorageSlot.Bytes32Slot", - "name": "Bytes32Slot", - "type": "tuple", - "components": [ - { - "internalType": "bytes32", - "name": "value", - "type": "bytes32" - } - ] - } - ], - "name": "getBytes32Slot", + "name": "_ADMIN_SLOT", "type": "function", - "stateMutability": "pure" + "stateMutability": "view" }, { - "inputs": [ + "outputs": [ { "internalType": "bytes32", - "name": "slot", "type": "bytes32" } ], - "outputs": [ - { - "internalType": "struct StorageSlot.Uint256Slot", - "name": "Uint256Slot", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ] - } - ], - "name": "getUint256Slot", + "name": "_BEACON_SLOT", "type": "function", - "stateMutability": "pure" - } - ] - }, - "TransparentUpgradeableProxy": { - "methods": [ + "stateMutability": "view" + }, { - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, + "outputs": [ { + "indexed": true, "internalType": "address", - "name": "admin_", + "name": "implementation", "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" } ], - "type": "constructor", - "stateMutability": "payable" + "name": "Upgraded", + "type": "event", + "stateMutability": "view" }, { - "inputs": [ - { - "internalType": "address", - "name": "admin_", - "type": "address" - } - ], "outputs": [ { "internalType": "address", - "name": "admin_", + "name": "newAdmin", "type": "address" } ], - "name": "admin", - "type": "function", - "stateMutability": "nonpayable" + "name": "AdminChanged", + "type": "event", + "stateMutability": "view" }, { - "inputs": [ + "outputs": [ { + "indexed": true, "internalType": "address", - "name": "implementation_", + "name": "beacon", "type": "address" } ], + "name": "BeaconUpgraded", + "type": "event", + "stateMutability": "view" + } + ] + }, + "IBeacon": {}, + "Ownable": { + "methods": [ + { "outputs": [ { "internalType": "address", - "name": "implementation_", "type": "address" } ], - "name": "implementation", + "name": "_owner", "type": "function", - "stateMutability": "nonpayable" + "stateMutability": "view" }, { - "inputs": [ + "outputs": [ { + "indexed": true, "internalType": "address", - "name": "newAdmin", + "name": "newOwner", "type": "address" } ], - "name": "changeAdmin", - "type": "function", + "name": "OwnershipTransferred", + "type": "event", + "stateMutability": "view" + }, + { + "type": "constructor", "stateMutability": "nonpayable" + } + ] + }, + "Proxy": { + "methods": [ + { + "type": "fallback", + "stateMutability": "payable" }, + { + "type": "receive", + "stateMutability": "payable" + } + ] + }, + "ProxyAdmin": {}, + "StorageSlot": {}, + "TransparentUpgradeableProxy": { + "methods": [ { "inputs": [ { "internalType": "address", - "name": "newImplementation", + "name": "_logic", "type": "address" - } - ], - "name": "upgradeTo", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ + }, { "internalType": "address", - "name": "newImplementation", + "name": "admin_", "type": "address" }, { "internalType": "bytes", - "name": "data", + "name": "_data", "type": "bytes" } ], - "name": "upgradeToAndCall", - "type": "function", + "type": "constructor", "stateMutability": "payable" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "_admin", - "type": "function", - "stateMutability": "view" - }, - { - "name": "_beforeFallback", - "type": "function", - "stateMutability": "nonpayable" } ] }, @@ -1237,47 +264,6 @@ ], "type": "constructor", "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "outputs": [ - { - "internalType": "address", - "type": "address" - } - ], - "name": "implementation", - "type": "function", - "stateMutability": "view" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "type": "function", - "stateMutability": "nonpayable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "_setImplementation", - "type": "function", - "stateMutability": "nonpayable" } ] } diff --git a/data/tests/ast/Context.solgo.ast.json b/data/tests/ast/Context.solgo.ast.json index 0ea1fbf7..3f49b986 100644 --- a/data/tests/ast/Context.solgo.ast.json +++ b/data/tests/ast/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 196, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/ast/ERC20.solgo.ast.json b/data/tests/ast/ERC20.solgo.ast.json index 75a63e7b..b868769a 100644 --- a/data/tests/ast/ERC20.solgo.ast.json +++ b/data/tests/ast/ERC20.solgo.ast.json @@ -179,7 +179,7 @@ "mutability": 1, "type_name": { "id": 225, - "node_type": 0, + "node_type": 53, "src": { "line": 175, "column": 4, @@ -272,7 +272,7 @@ "mutability": 1, "type_name": { "id": 230, - "node_type": 0, + "node_type": 53, "src": { "line": 177, "column": 4, @@ -707,7 +707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 240, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 257, @@ -727,7 +728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -737,7 +739,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 258, @@ -780,7 +783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 243, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 261, @@ -800,7 +804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 261, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -810,7 +815,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -880,7 +886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 240, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -1034,7 +1041,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 275, @@ -1101,7 +1109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 243, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -1255,7 +1264,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 287, @@ -1324,7 +1334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -1478,7 +1489,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 299, @@ -1545,7 +1557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -1699,7 +1712,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 311, @@ -1777,7 +1791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 323, @@ -1797,7 +1812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -1967,7 +1983,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 325, @@ -2097,7 +2114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -2150,7 +2168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 336, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 344, @@ -2176,7 +2195,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 345, @@ -2206,7 +2226,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -2227,7 +2248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2266,7 +2288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -2458,13 +2481,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_transfer(owner,to,amount);returntrue;}" }, { "id": 349, @@ -2553,7 +2577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 229, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 364, @@ -2573,7 +2598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 364, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -2608,7 +2634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 365, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -2816,13 +2843,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 367, @@ -2952,7 +2980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3005,7 +3034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 386, @@ -3031,7 +3061,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 387, @@ -3061,7 +3092,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3082,7 +3114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3121,7 +3154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -3313,13 +3347,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_approve(owner,spender,amount);returntrue;}" }, { "id": 391, @@ -3449,7 +3484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3502,7 +3538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 411, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 412, @@ -3528,7 +3565,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 413, @@ -3558,7 +3596,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3579,7 +3618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3631,7 +3671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 416, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 417, @@ -3657,7 +3698,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 418, @@ -3687,7 +3729,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3708,7 +3751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3747,7 +3791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -3983,13 +4028,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualoverridereturns(bool){addressspender=_msgSender();_spendAllowance(from,spender,amount);_transfer(from,to,amount);returntrue;}" }, { "id": 422, @@ -4119,7 +4165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4172,7 +4219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 432, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 440, @@ -4198,7 +4246,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 441, @@ -4255,7 +4304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 432, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 445, @@ -4281,7 +4331,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -4302,7 +4353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -4327,7 +4379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 446, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -4353,7 +4406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -4392,7 +4446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -4565,13 +4620,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){addressowner=_msgSender();_approve(owner,spender,allowance(owner,spender)+addedValue);returntrue;}" }, { "id": 450, @@ -4701,7 +4757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4810,7 +4867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 471, @@ -4836,7 +4894,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -4857,7 +4916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -4920,7 +4980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 476, @@ -4940,7 +5001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 476, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -4973,7 +5035,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -4994,7 +5057,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5033,7 +5097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -5095,7 +5160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 484, @@ -5121,7 +5187,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 485, @@ -5155,7 +5222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 487, @@ -5175,7 +5243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 487, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -5201,7 +5270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -5380,13 +5450,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){addressowner=_msgSender();uint256currentAllowance=allowance(owner,spender);require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(owner,spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 489, @@ -5478,7 +5549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 503, @@ -5519,7 +5591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5565,7 +5638,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5603,7 +5677,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -5624,7 +5699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5686,7 +5762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 511, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 512, @@ -5727,7 +5804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5773,7 +5851,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5811,7 +5890,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -5832,7 +5912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5884,7 +5965,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 520, @@ -5910,7 +5992,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 521, @@ -5940,7 +6023,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -5961,7 +6045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -6057,7 +6142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 527, @@ -6077,7 +6163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 527, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -6150,7 +6237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 522, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 532, @@ -6170,7 +6258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -6203,7 +6292,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -6224,7 +6314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6261,7 +6352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 535, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 536, @@ -6281,7 +6373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 536, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 537, @@ -6301,7 +6394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -6322,7 +6416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 58, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -6370,7 +6465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 541, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 542, @@ -6396,7 +6492,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 543, @@ -6426,7 +6523,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -6447,7 +6545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -6520,7 +6619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 549, @@ -6540,7 +6640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 549, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -6589,7 +6690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 522, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 552, @@ -6609,7 +6711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 552, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -6624,7 +6727,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 553, @@ -6678,7 +6782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 557, @@ -6698,7 +6803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 557, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -6733,7 +6839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 558, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -6743,7 +6850,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=amount;" } ] } @@ -6916,13 +7024,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(from,to,amount);uint256fromBalance=_balances[from];require(fromBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[from]=fromBalance-amount;_balances[to]+=amount;}emitTransfer(from,to,amount);_afterTokenTransfer(from,to,amount);}" }, { "id": 560, @@ -7014,7 +7123,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 571, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 572, @@ -7055,7 +7165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7101,7 +7212,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7139,7 +7251,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -7160,7 +7273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7233,7 +7347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7279,7 +7394,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7310,7 +7426,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 584, @@ -7340,7 +7457,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7361,7 +7479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -7409,7 +7528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 588, @@ -7429,7 +7549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 588, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -7439,7 +7560,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 589, @@ -7492,7 +7614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7538,7 +7661,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7563,7 +7687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 594, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 595, @@ -7583,7 +7708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 595, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -7604,7 +7730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 58, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -7673,7 +7800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7719,7 +7847,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7750,7 +7879,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 604, @@ -7780,7 +7910,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7801,7 +7932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -7874,7 +8006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 610, @@ -7894,7 +8027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 610, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -7929,7 +8063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 611, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -7939,7 +8074,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -8068,13 +8204,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;unchecked{_balances[account]+=amount;}emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 613, @@ -8166,7 +8303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 624, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 625, @@ -8207,7 +8345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8253,7 +8392,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8291,7 +8431,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -8312,7 +8453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8364,7 +8506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 633, @@ -8405,7 +8548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8451,7 +8595,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8486,7 +8631,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -8507,7 +8653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -8603,7 +8750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 643, @@ -8623,7 +8771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 643, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -8696,7 +8845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 638, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 648, @@ -8716,7 +8866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 648, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -8749,7 +8900,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -8770,7 +8922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8807,7 +8960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 651, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 652, @@ -8848,7 +9002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8894,7 +9049,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8919,7 +9075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 656, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -8940,7 +9097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 58, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -8988,7 +9146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 660, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 661, @@ -9029,7 +9188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9075,7 +9235,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9110,7 +9271,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -9131,7 +9293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -9204,7 +9367,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 671, @@ -9224,7 +9388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 671, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -9273,7 +9438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 638, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 674, @@ -9293,7 +9459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -9308,7 +9475,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 675, @@ -9351,7 +9519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 678, @@ -9371,7 +9540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 678, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -9381,7 +9551,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -9510,13 +9681,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;_totalSupply-=amount;}emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 680, @@ -9608,7 +9780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 693, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 694, @@ -9649,7 +9822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9695,7 +9869,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9733,7 +9908,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -9754,7 +9930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9816,7 +9993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 703, @@ -9857,7 +10035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9903,7 +10082,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9941,7 +10121,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -9962,7 +10143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10032,7 +10214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 229, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 713, @@ -10052,7 +10235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -10087,7 +10271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 714, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -10122,7 +10307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -10132,7 +10318,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 716, @@ -10164,7 +10351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 717, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 718, @@ -10184,7 +10372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 718, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 719, @@ -10204,7 +10393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -10225,7 +10415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 67, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -10397,13 +10588,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 722, @@ -10541,7 +10733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 737, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 738, @@ -10567,7 +10760,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -10588,7 +10782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -10639,7 +10834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 732, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 742, @@ -10686,7 +10882,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -10762,7 +10959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 749, @@ -10782,7 +10980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -10815,7 +11014,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -10836,7 +11036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -11015,13 +11216,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_spendAllowance(address, address, uint256)", - "signature": "2b81cb6e", + "signature_raw": "_spendAllowance(address,address,uint256)", + "signature": "1532335e", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_spendAllowance(addressowner,addressspender,uint256amount)internalvirtual{uint256currentAllowance=allowance(owner,spender);if(currentAllowance!=type(uint256).max){require(currentAllowance\u003e=amount,\"ERC20: insufficient allowance\");unchecked{_approve(owner,spender,currentAllowance-amount);}}}" }, { "id": 752, @@ -11226,13 +11428,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 763, @@ -11437,13 +11640,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" } ], "linearized_base_contracts": [ diff --git a/data/tests/ast/ERC20.solgo.ast.proto.json b/data/tests/ast/ERC20.solgo.ast.proto.json index b0098753..f854883f 100644 --- a/data/tests/ast/ERC20.solgo.ast.proto.json +++ b/data/tests/ast/ERC20.solgo.ast.proto.json @@ -434,6 +434,7 @@ "parentIndex": "1102", "start": "12931" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "12949", @@ -522,6 +523,7 @@ "parentIndex": "1106", "start": "12983" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "13021", @@ -1691,7 +1693,7 @@ } }, "scope": "67", - "signature": "d730d6d4", + "signature": "884557bf", "src": { "column": "4", "end": "996", @@ -2142,7 +2144,7 @@ } }, "scope": "67", - "signature": "9f7e8c62", + "signature": "a29962b1", "src": { "column": "4", "end": "1331", @@ -2804,7 +2806,7 @@ } }, "scope": "67", - "signature": "72cd6357", + "signature": "6281efa4", "src": { "column": "4", "end": "1972", @@ -3257,7 +3259,7 @@ } }, "scope": "67", - "signature": "8b61a525", + "signature": "736ecb18", "src": { "column": "4", "end": "2311", @@ -3710,7 +3712,7 @@ } }, "scope": "67", - "signature": "4ed783cc", + "signature": "38dc0867", "src": { "column": "4", "end": "2660", @@ -3982,7 +3984,7 @@ } }, "scope": "67", - "signature": "f31e4d28", + "signature": "771602f7", "src": { "column": "4", "end": "2991", @@ -4254,7 +4256,7 @@ } }, "scope": "67", - "signature": "bf3b2b28", + "signature": "b67d77c5", "src": { "column": "4", "end": "3358", @@ -4526,7 +4528,7 @@ } }, "scope": "67", - "signature": "cd3ef6fa", + "signature": "c8a4ac9c", "src": { "column": "4", "end": "3701", @@ -4798,7 +4800,7 @@ } }, "scope": "67", - "signature": "4530da25", + "signature": "a391c15b", "src": { "column": "4", "end": "4261", @@ -5070,7 +5072,7 @@ } }, "scope": "67", - "signature": "1130353e", + "signature": "f43f523a", "src": { "column": "4", "end": "4810", @@ -5538,7 +5540,7 @@ } }, "scope": "67", - "signature": "2a4c5531", + "signature": "e31bdc0a", "src": { "column": "4", "end": "5505", @@ -6008,7 +6010,7 @@ } }, "scope": "67", - "signature": "2ed1535b", + "signature": "b745d336", "src": { "column": "4", "end": "6219", @@ -6478,7 +6480,7 @@ } }, "scope": "67", - "signature": "b44cfd1a", + "signature": "71af23e8", "src": { "column": "4", "end": "7095", @@ -7042,7 +7044,7 @@ } }, "scope": "362", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "7825", @@ -7230,7 +7232,7 @@ } }, "scope": "362", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "8183", @@ -7417,7 +7419,7 @@ } }, "scope": "362", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "8910", @@ -7643,7 +7645,7 @@ } }, "scope": "362", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "9344", @@ -9296,6 +9298,7 @@ "parentIndex": "533", "start": "12931" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "12949", @@ -9386,6 +9389,7 @@ "parentIndex": "538", "start": "12983" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "13021", @@ -11492,7 +11496,7 @@ } }, "scope": "524", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "15263", @@ -11844,7 +11848,7 @@ } }, "scope": "524", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "15470", @@ -12339,7 +12343,7 @@ } }, "scope": "524", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "15975", @@ -13008,7 +13012,7 @@ } }, "scope": "524", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "16793", @@ -13595,7 +13599,7 @@ } }, "scope": "524", - "signature": "0553e395", + "signature": "39509351", "src": { "column": "4", "end": "17422", @@ -14428,7 +14432,7 @@ } }, "scope": "524", - "signature": "26444acc", + "signature": "a457c2d7", "src": { "column": "4", "end": "18336", @@ -16027,7 +16031,7 @@ } }, "scope": "524", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "19578", @@ -17219,7 +17223,7 @@ } }, "scope": "524", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "20389", @@ -18721,7 +18725,7 @@ } }, "scope": "524", - "signature": "dd1607d7", + "signature": "6161eb18", "src": { "column": "4", "end": "21368", @@ -19631,7 +19635,7 @@ } }, "scope": "524", - "signature": "76c3ae3e", + "signature": "104e81ff", "src": { "column": "4", "end": "22131", @@ -20249,7 +20253,7 @@ } }, "scope": "524", - "signature": "2b81cb6e", + "signature": "1532335e", "src": { "column": "4", "end": "22823", @@ -20439,7 +20443,7 @@ } }, "scope": "524", - "signature": "03cc7b47", + "signature": "cad3be83", "src": { "column": "4", "end": "23498", @@ -20629,7 +20633,7 @@ } }, "scope": "524", - "signature": "41e6856b", + "signature": "8f811a1c", "src": { "column": "4", "end": "24176", diff --git a/data/tests/ast/IDummyContract.solgo.ast.json b/data/tests/ast/IDummyContract.solgo.ast.json index dbdcb638..ed67d4dc 100644 --- a/data/tests/ast/IDummyContract.solgo.ast.json +++ b/data/tests/ast/IDummyContract.solgo.ast.json @@ -227,7 +227,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functiondummyFunction()externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/ast/IERC20.solgo.ast.json b/data/tests/ast/IERC20.solgo.ast.json index edf46ca8..4fbec8d5 100644 --- a/data/tests/ast/IERC20.solgo.ast.json +++ b/data/tests/ast/IERC20.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 31, + "id": 321, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 31, + "id": 321, "name": "IERC20", "absolute_path": "IERC20.sol" } @@ -14,15 +14,15 @@ "node_type": 1, "nodes": [ { - "id": 32, + "id": 323, "node_type": 10, "src": { - "line": 3, + "line": 235, "column": 0, - "start": 33, - "end": 55, + "start": 7133, + "end": 7155, "length": 23, - "parent_index": 31 + "parent_index": 321 }, "literals": [ "pragma", @@ -38,61 +38,61 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 35, + "id": 326, "name": "IERC20", "node_type": 35, "src": { - "line": 8, + "line": 240, "column": 0, - "start": 129, - "end": 2724, + "start": 7229, + "end": 9824, "length": 2596, - "parent_index": 31 + "parent_index": 321 }, "name_location": { - "line": 8, + "line": 240, "column": 10, - "start": 139, - "end": 144, + "start": 7239, + "end": 7244, "length": 6, - "parent_index": 35 + "parent_index": 326 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 37, + "id": 328, "name": "totalSupply", "node_type": 42, "kind": 41, "src": { - "line": 12, + "line": 244, "column": 4, - "start": 223, - "end": 277, + "start": 7323, + "end": 7377, "length": 55, - "parent_index": 35 + "parent_index": 326 }, "name_location": { - "line": 12, + "line": 244, "column": 13, - "start": 232, - "end": 242, + "start": 7332, + "end": 7342, "length": 11, - "parent_index": 37 + "parent_index": 328 }, "body": { - "id": 44, + "id": 335, "node_type": 46, "kind": 0, "src": { - "line": 12, + "line": 244, "column": 4, - "start": 223, - "end": 277, + "start": 7323, + "end": 7377, "length": 55, - "parent_index": 37 + "parent_index": 328 }, "implemented": false, "statements": [] @@ -104,40 +104,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 38, + "id": 329, "node_type": 43, "src": { - "line": 12, + "line": 244, "column": 50, - "start": 269, - "end": 275, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 37 + "parent_index": 328 }, "parameters": [ { - "id": 39, + "id": 330, "node_type": 44, "src": { - "line": 12, + "line": 244, "column": 50, - "start": 269, - "end": 275, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 38 + "parent_index": 329 }, - "scope": 37, + "scope": 328, "name": "", "type_name": { - "id": 40, + "id": 331, "node_type": 30, "src": { - "line": 12, + "line": 244, "column": 50, - "start": 269, - "end": 275, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 39 + "parent_index": 330 }, "name": "uint256", "referenced_declaration": 0, @@ -163,40 +163,40 @@ ] }, "return_parameters": { - "id": 41, + "id": 332, "node_type": 43, "src": { - "line": 12, + "line": 244, "column": 50, - "start": 269, - "end": 275, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 37 + "parent_index": 328 }, "parameters": [ { - "id": 42, + "id": 333, "node_type": 44, "src": { - "line": 12, + "line": 244, "column": 50, - "start": 269, - "end": 275, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 41 + "parent_index": 332 }, - "scope": 37, + "scope": 328, "name": "", "type_name": { - "id": 43, + "id": 334, "node_type": 30, "src": { - "line": 12, + "line": 244, "column": 50, - "start": 269, - "end": 275, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 42 + "parent_index": 333 }, "name": "uint256", "referenced_declaration": 0, @@ -223,44 +223,45 @@ }, "signature_raw": "totalSupply(uint256)", "signature": "bd85b039", - "scope": 35, + "scope": 326, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { - "id": 46, + "id": 337, "name": "balanceOf", "node_type": 42, "kind": 41, "src": { - "line": 17, + "line": 249, "column": 4, - "start": 361, - "end": 428, + "start": 7461, + "end": 7528, "length": 68, - "parent_index": 35 + "parent_index": 326 }, "name_location": { - "line": 17, + "line": 249, "column": 13, - "start": 370, - "end": 378, + "start": 7470, + "end": 7478, "length": 9, - "parent_index": 46 + "parent_index": 337 }, "body": { - "id": 53, + "id": 344, "node_type": 46, "kind": 0, "src": { - "line": 17, + "line": 249, "column": 4, - "start": 361, - "end": 428, + "start": 7461, + "end": 7528, "length": 68, - "parent_index": 46 + "parent_index": 337 }, "implemented": false, "statements": [] @@ -272,40 +273,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 47, + "id": 338, "node_type": 43, "src": { - "line": 17, + "line": 249, "column": 23, - "start": 380, - "end": 394, + "start": 7480, + "end": 7494, "length": 15, - "parent_index": 46 + "parent_index": 337 }, "parameters": [ { - "id": 48, + "id": 339, "node_type": 44, "src": { - "line": 17, + "line": 249, "column": 23, - "start": 380, - "end": 394, + "start": 7480, + "end": 7494, "length": 15, - "parent_index": 47 + "parent_index": 338 }, - "scope": 46, + "scope": 337, "name": "account", "type_name": { - "id": 49, + "id": 340, "node_type": 30, "src": { - "line": 17, + "line": 249, "column": 23, - "start": 380, - "end": 386, + "start": 7480, + "end": 7486, "length": 7, - "parent_index": 48 + "parent_index": 339 }, "name": "address", "state_mutability": 4, @@ -332,40 +333,40 @@ ] }, "return_parameters": { - "id": 50, + "id": 341, "node_type": 43, "src": { - "line": 17, + "line": 249, "column": 63, - "start": 420, - "end": 426, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 46 + "parent_index": 337 }, "parameters": [ { - "id": 51, + "id": 342, "node_type": 44, "src": { - "line": 17, + "line": 249, "column": 63, - "start": 420, - "end": 426, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 50 + "parent_index": 341 }, - "scope": 46, + "scope": 337, "name": "", "type_name": { - "id": 52, + "id": 343, "node_type": 30, "src": { - "line": 17, + "line": 249, "column": 63, - "start": 420, - "end": 426, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 51 + "parent_index": 342 }, "name": "uint256", "referenced_declaration": 0, @@ -392,44 +393,45 @@ }, "signature_raw": "balanceOf(address)", "signature": "70a08231", - "scope": 35, + "scope": 326, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { - "id": 55, + "id": 346, "name": "transfer", "node_type": 42, "kind": 41, "src": { - "line": 26, + "line": 258, "column": 4, - "start": 649, - "end": 725, + "start": 7749, + "end": 7825, "length": 77, - "parent_index": 35 + "parent_index": 326 }, "name_location": { - "line": 26, + "line": 258, "column": 13, - "start": 658, - "end": 665, + "start": 7758, + "end": 7765, "length": 8, - "parent_index": 55 + "parent_index": 346 }, "body": { - "id": 64, + "id": 355, "node_type": 46, "kind": 0, "src": { - "line": 26, + "line": 258, "column": 4, - "start": 649, - "end": 725, + "start": 7749, + "end": 7825, "length": 77, - "parent_index": 55 + "parent_index": 346 }, "implemented": false, "statements": [] @@ -441,40 +443,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 56, + "id": 347, "node_type": 43, "src": { - "line": 26, + "line": 258, "column": 22, - "start": 667, - "end": 699, + "start": 7767, + "end": 7799, "length": 33, - "parent_index": 55 + "parent_index": 346 }, "parameters": [ { - "id": 57, + "id": 348, "node_type": 44, "src": { - "line": 26, + "line": 258, "column": 22, - "start": 667, - "end": 683, + "start": 7767, + "end": 7783, "length": 17, - "parent_index": 56 + "parent_index": 347 }, - "scope": 55, + "scope": 346, "name": "recipient", "type_name": { - "id": 58, + "id": 349, "node_type": 30, "src": { - "line": 26, + "line": 258, "column": 22, - "start": 667, - "end": 673, + "start": 7767, + "end": 7773, "length": 7, - "parent_index": 57 + "parent_index": 348 }, "name": "address", "state_mutability": 4, @@ -493,28 +495,28 @@ } }, { - "id": 59, + "id": 350, "node_type": 44, "src": { - "line": 26, + "line": 258, "column": 41, - "start": 686, - "end": 699, + "start": 7786, + "end": 7799, "length": 14, - "parent_index": 56 + "parent_index": 347 }, - "scope": 55, + "scope": 346, "name": "amount", "type_name": { - "id": 60, + "id": 351, "node_type": 30, "src": { - "line": 26, + "line": 258, "column": 41, - "start": 686, - "end": 692, + "start": 7786, + "end": 7792, "length": 7, - "parent_index": 59 + "parent_index": 350 }, "name": "uint256", "referenced_declaration": 0, @@ -544,40 +546,40 @@ ] }, "return_parameters": { - "id": 61, + "id": 352, "node_type": 43, "src": { - "line": 26, + "line": 258, "column": 75, - "start": 720, - "end": 723, + "start": 7820, + "end": 7823, "length": 4, - "parent_index": 55 + "parent_index": 346 }, "parameters": [ { - "id": 62, + "id": 353, "node_type": 44, "src": { - "line": 26, + "line": 258, "column": 75, - "start": 720, - "end": 723, + "start": 7820, + "end": 7823, "length": 4, - "parent_index": 61 + "parent_index": 352 }, - "scope": 55, + "scope": 346, "name": "", "type_name": { - "id": 63, + "id": 354, "node_type": 30, "src": { - "line": 26, + "line": 258, "column": 75, - "start": 720, - "end": 723, + "start": 7820, + "end": 7823, "length": 4, - "parent_index": 62 + "parent_index": 353 }, "name": "bool", "referenced_declaration": 0, @@ -602,46 +604,47 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", - "scope": 35, + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", + "scope": 326, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { - "id": 66, + "id": 357, "name": "allowance", "node_type": 42, "kind": 41, "src": { - "line": 35, + "line": 267, "column": 4, - "start": 1001, - "end": 1083, + "start": 8101, + "end": 8183, "length": 83, - "parent_index": 35 + "parent_index": 326 }, "name_location": { - "line": 35, + "line": 267, "column": 13, - "start": 1010, - "end": 1018, + "start": 8110, + "end": 8118, "length": 9, - "parent_index": 66 + "parent_index": 357 }, "body": { - "id": 75, + "id": 366, "node_type": 46, "kind": 0, "src": { - "line": 35, + "line": 267, "column": 4, - "start": 1001, - "end": 1083, + "start": 8101, + "end": 8183, "length": 83, - "parent_index": 66 + "parent_index": 357 }, "implemented": false, "statements": [] @@ -653,40 +656,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 67, + "id": 358, "node_type": 43, "src": { - "line": 35, + "line": 267, "column": 23, - "start": 1020, - "end": 1049, + "start": 8120, + "end": 8149, "length": 30, - "parent_index": 66 + "parent_index": 357 }, "parameters": [ { - "id": 68, + "id": 359, "node_type": 44, "src": { - "line": 35, + "line": 267, "column": 23, - "start": 1020, - "end": 1032, + "start": 8120, + "end": 8132, "length": 13, - "parent_index": 67 + "parent_index": 358 }, - "scope": 66, + "scope": 357, "name": "owner", "type_name": { - "id": 69, + "id": 360, "node_type": 30, "src": { - "line": 35, + "line": 267, "column": 23, - "start": 1020, - "end": 1026, + "start": 8120, + "end": 8126, "length": 7, - "parent_index": 68 + "parent_index": 359 }, "name": "address", "state_mutability": 4, @@ -705,28 +708,28 @@ } }, { - "id": 70, + "id": 361, "node_type": 44, "src": { - "line": 35, + "line": 267, "column": 38, - "start": 1035, - "end": 1049, + "start": 8135, + "end": 8149, "length": 15, - "parent_index": 67 + "parent_index": 358 }, - "scope": 66, + "scope": 357, "name": "spender", "type_name": { - "id": 71, + "id": 362, "node_type": 30, "src": { - "line": 35, + "line": 267, "column": 38, - "start": 1035, - "end": 1041, + "start": 8135, + "end": 8141, "length": 7, - "parent_index": 70 + "parent_index": 361 }, "name": "address", "state_mutability": 4, @@ -757,40 +760,40 @@ ] }, "return_parameters": { - "id": 72, + "id": 363, "node_type": 43, "src": { - "line": 35, + "line": 267, "column": 78, - "start": 1075, - "end": 1081, + "start": 8175, + "end": 8181, "length": 7, - "parent_index": 66 + "parent_index": 357 }, "parameters": [ { - "id": 73, + "id": 364, "node_type": 44, "src": { - "line": 35, + "line": 267, "column": 78, - "start": 1075, - "end": 1081, + "start": 8175, + "end": 8181, "length": 7, - "parent_index": 72 + "parent_index": 363 }, - "scope": 66, + "scope": 357, "name": "", "type_name": { - "id": 74, + "id": 365, "node_type": 30, "src": { - "line": 35, + "line": 267, "column": 78, - "start": 1075, - "end": 1081, + "start": 8175, + "end": 8181, "length": 7, - "parent_index": 73 + "parent_index": 364 }, "name": "uint256", "referenced_declaration": 0, @@ -815,46 +818,47 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", - "scope": 35, + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", + "scope": 326, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { - "id": 77, + "id": 368, "name": "approve", "node_type": 42, "kind": 41, "src": { - "line": 51, + "line": 283, "column": 4, - "start": 1737, - "end": 1810, + "start": 8837, + "end": 8910, "length": 74, - "parent_index": 35 + "parent_index": 326 }, "name_location": { - "line": 51, + "line": 283, "column": 13, - "start": 1746, - "end": 1752, + "start": 8846, + "end": 8852, "length": 7, - "parent_index": 77 + "parent_index": 368 }, "body": { - "id": 86, + "id": 377, "node_type": 46, "kind": 0, "src": { - "line": 51, + "line": 283, "column": 4, - "start": 1737, - "end": 1810, + "start": 8837, + "end": 8910, "length": 74, - "parent_index": 77 + "parent_index": 368 }, "implemented": false, "statements": [] @@ -866,40 +870,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 78, + "id": 369, "node_type": 43, "src": { - "line": 51, + "line": 283, "column": 21, - "start": 1754, - "end": 1784, + "start": 8854, + "end": 8884, "length": 31, - "parent_index": 77 + "parent_index": 368 }, "parameters": [ { - "id": 79, + "id": 370, "node_type": 44, "src": { - "line": 51, + "line": 283, "column": 21, - "start": 1754, - "end": 1768, + "start": 8854, + "end": 8868, "length": 15, - "parent_index": 78 + "parent_index": 369 }, - "scope": 77, + "scope": 368, "name": "spender", "type_name": { - "id": 80, + "id": 371, "node_type": 30, "src": { - "line": 51, + "line": 283, "column": 21, - "start": 1754, - "end": 1760, + "start": 8854, + "end": 8860, "length": 7, - "parent_index": 79 + "parent_index": 370 }, "name": "address", "state_mutability": 4, @@ -918,28 +922,28 @@ } }, { - "id": 81, + "id": 372, "node_type": 44, "src": { - "line": 51, + "line": 283, "column": 38, - "start": 1771, - "end": 1784, + "start": 8871, + "end": 8884, "length": 14, - "parent_index": 78 + "parent_index": 369 }, - "scope": 77, + "scope": 368, "name": "amount", "type_name": { - "id": 82, + "id": 373, "node_type": 30, "src": { - "line": 51, + "line": 283, "column": 38, - "start": 1771, - "end": 1777, + "start": 8871, + "end": 8877, "length": 7, - "parent_index": 81 + "parent_index": 372 }, "name": "uint256", "referenced_declaration": 0, @@ -969,40 +973,40 @@ ] }, "return_parameters": { - "id": 83, + "id": 374, "node_type": 43, "src": { - "line": 51, + "line": 283, "column": 72, - "start": 1805, - "end": 1808, + "start": 8905, + "end": 8908, "length": 4, - "parent_index": 77 + "parent_index": 368 }, "parameters": [ { - "id": 84, + "id": 375, "node_type": 44, "src": { - "line": 51, + "line": 283, "column": 72, - "start": 1805, - "end": 1808, + "start": 8905, + "end": 8908, "length": 4, - "parent_index": 83 + "parent_index": 374 }, - "scope": 77, + "scope": 368, "name": "", "type_name": { - "id": 85, + "id": 376, "node_type": 30, "src": { - "line": 51, + "line": 283, "column": 72, - "start": 1805, - "end": 1808, + "start": 8905, + "end": 8908, "length": 4, - "parent_index": 84 + "parent_index": 375 }, "name": "bool", "referenced_declaration": 0, @@ -1027,46 +1031,47 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", - "scope": 35, + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", + "scope": 326, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { - "id": 88, + "id": 379, "name": "transferFrom", "node_type": 42, "kind": 41, "src": { - "line": 62, + "line": 294, "column": 4, - "start": 2118, - "end": 2244, + "start": 9218, + "end": 9344, "length": 127, - "parent_index": 35 + "parent_index": 326 }, "name_location": { - "line": 62, + "line": 294, "column": 13, - "start": 2127, - "end": 2138, + "start": 9227, + "end": 9238, "length": 12, - "parent_index": 88 + "parent_index": 379 }, "body": { - "id": 99, + "id": 390, "node_type": 46, "kind": 0, "src": { - "line": 62, + "line": 294, "column": 4, - "start": 2118, - "end": 2244, + "start": 9218, + "end": 9344, "length": 127, - "parent_index": 88 + "parent_index": 379 }, "implemented": false, "statements": [] @@ -1078,40 +1083,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 89, + "id": 380, "node_type": 43, "src": { - "line": 63, + "line": 295, "column": 8, - "start": 2149, - "end": 2213, + "start": 9249, + "end": 9313, "length": 65, - "parent_index": 88 + "parent_index": 379 }, "parameters": [ { - "id": 90, + "id": 381, "node_type": 44, "src": { - "line": 63, + "line": 295, "column": 8, - "start": 2149, - "end": 2162, + "start": 9249, + "end": 9262, "length": 14, - "parent_index": 89 + "parent_index": 380 }, - "scope": 88, + "scope": 379, "name": "sender", "type_name": { - "id": 91, + "id": 382, "node_type": 30, "src": { - "line": 63, + "line": 295, "column": 8, - "start": 2149, - "end": 2155, + "start": 9249, + "end": 9255, "length": 7, - "parent_index": 90 + "parent_index": 381 }, "name": "address", "state_mutability": 4, @@ -1130,28 +1135,28 @@ } }, { - "id": 92, + "id": 383, "node_type": 44, "src": { - "line": 64, + "line": 296, "column": 8, - "start": 2173, - "end": 2189, + "start": 9273, + "end": 9289, "length": 17, - "parent_index": 89 + "parent_index": 380 }, - "scope": 88, + "scope": 379, "name": "recipient", "type_name": { - "id": 93, + "id": 384, "node_type": 30, "src": { - "line": 64, + "line": 296, "column": 8, - "start": 2173, - "end": 2179, + "start": 9273, + "end": 9279, "length": 7, - "parent_index": 92 + "parent_index": 383 }, "name": "address", "state_mutability": 4, @@ -1170,28 +1175,28 @@ } }, { - "id": 94, + "id": 385, "node_type": 44, "src": { - "line": 65, + "line": 297, "column": 8, - "start": 2200, - "end": 2213, + "start": 9300, + "end": 9313, "length": 14, - "parent_index": 89 + "parent_index": 380 }, - "scope": 88, + "scope": 379, "name": "amount", "type_name": { - "id": 95, + "id": 386, "node_type": 30, "src": { - "line": 65, + "line": 297, "column": 8, - "start": 2200, - "end": 2206, + "start": 9300, + "end": 9306, "length": 7, - "parent_index": 94 + "parent_index": 385 }, "name": "uint256", "referenced_declaration": 0, @@ -1225,40 +1230,40 @@ ] }, "return_parameters": { - "id": 96, + "id": 387, "node_type": 43, "src": { - "line": 66, + "line": 298, "column": 24, - "start": 2239, - "end": 2242, + "start": 9339, + "end": 9342, "length": 4, - "parent_index": 88 + "parent_index": 379 }, "parameters": [ { - "id": 97, + "id": 388, "node_type": 44, "src": { - "line": 66, + "line": 298, "column": 24, - "start": 2239, - "end": 2242, + "start": 9339, + "end": 9342, "length": 4, - "parent_index": 96 + "parent_index": 387 }, - "scope": 88, + "scope": 379, "name": "", "type_name": { - "id": 98, + "id": 389, "node_type": 30, "src": { - "line": 66, + "line": 298, "column": 24, - "start": 2239, - "end": 2242, + "start": 9339, + "end": 9342, "length": 4, - "parent_index": 97 + "parent_index": 388 }, "name": "bool", "referenced_declaration": 0, @@ -1283,60 +1288,61 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", - "scope": 35, + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", + "scope": 326, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { - "id": 101, + "id": 392, "node_type": 57, "src": { - "line": 74, + "line": 306, "column": 4, - "start": 2414, - "end": 2485, + "start": 9514, + "end": 9585, "length": 72, - "parent_index": 35 + "parent_index": 326 }, "parameters": { - "id": 102, + "id": 393, "node_type": 43, "src": { - "line": 74, + "line": 306, "column": 4, - "start": 2414, - "end": 2485, + "start": 9514, + "end": 9585, "length": 72, - "parent_index": 101 + "parent_index": 392 }, "parameters": [ { - "id": 103, + "id": 394, "node_type": 44, "src": { - "line": 74, + "line": 306, "column": 19, - "start": 2429, - "end": 2448, + "start": 9529, + "end": 9548, "length": 20, - "parent_index": 102 + "parent_index": 393 }, - "scope": 101, + "scope": 392, "name": "from", "type_name": { - "id": 104, + "id": 395, "node_type": 30, "src": { - "line": 74, + "line": 306, "column": 19, - "start": 2429, - "end": 2435, + "start": 9529, + "end": 9535, "length": 7, - "parent_index": 103 + "parent_index": 394 }, "name": "address", "state_mutability": 4, @@ -1356,28 +1362,28 @@ "indexed": true }, { - "id": 105, + "id": 396, "node_type": 44, "src": { - "line": 74, + "line": 306, "column": 41, - "start": 2451, - "end": 2468, + "start": 9551, + "end": 9568, "length": 18, - "parent_index": 102 + "parent_index": 393 }, - "scope": 101, + "scope": 392, "name": "to", "type_name": { - "id": 106, + "id": 397, "node_type": 30, "src": { - "line": 74, + "line": 306, "column": 41, - "start": 2451, - "end": 2457, + "start": 9551, + "end": 9557, "length": 7, - "parent_index": 105 + "parent_index": 396 }, "name": "address", "state_mutability": 4, @@ -1397,28 +1403,28 @@ "indexed": true }, { - "id": 107, + "id": 398, "node_type": 44, "src": { - "line": 74, + "line": 306, "column": 61, - "start": 2471, - "end": 2483, + "start": 9571, + "end": 9583, "length": 13, - "parent_index": 102 + "parent_index": 393 }, - "scope": 101, + "scope": 392, "name": "value", "type_name": { - "id": 108, + "id": 399, "node_type": 30, "src": { - "line": 74, + "line": 306, "column": 61, - "start": 2471, - "end": 2477, + "start": 9571, + "end": 9577, "length": 7, - "parent_index": 107 + "parent_index": 398 }, "name": "uint256", "referenced_declaration": 0, @@ -1454,56 +1460,56 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026101", + "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026392", "type_string": "event IERC20.Transfer" } }, { - "id": 110, + "id": 401, "node_type": 57, "src": { - "line": 80, + "line": 312, "column": 4, - "start": 2645, - "end": 2722, + "start": 9745, + "end": 9822, "length": 78, - "parent_index": 35 + "parent_index": 326 }, "parameters": { - "id": 111, + "id": 402, "node_type": 43, "src": { - "line": 80, + "line": 312, "column": 4, - "start": 2645, - "end": 2722, + "start": 9745, + "end": 9822, "length": 78, - "parent_index": 110 + "parent_index": 401 }, "parameters": [ { - "id": 112, + "id": 403, "node_type": 44, "src": { - "line": 80, + "line": 312, "column": 19, - "start": 2660, - "end": 2680, + "start": 9760, + "end": 9780, "length": 21, - "parent_index": 111 + "parent_index": 402 }, - "scope": 110, + "scope": 401, "name": "owner", "type_name": { - "id": 113, + "id": 404, "node_type": 30, "src": { - "line": 80, + "line": 312, "column": 19, - "start": 2660, - "end": 2666, + "start": 9760, + "end": 9766, "length": 7, - "parent_index": 112 + "parent_index": 403 }, "name": "address", "state_mutability": 4, @@ -1523,28 +1529,28 @@ "indexed": true }, { - "id": 114, + "id": 405, "node_type": 44, "src": { - "line": 80, + "line": 312, "column": 42, - "start": 2683, - "end": 2705, + "start": 9783, + "end": 9805, "length": 23, - "parent_index": 111 + "parent_index": 402 }, - "scope": 110, + "scope": 401, "name": "spender", "type_name": { - "id": 115, + "id": 406, "node_type": 30, "src": { - "line": 80, + "line": 312, "column": 42, - "start": 2683, - "end": 2689, + "start": 9783, + "end": 9789, "length": 7, - "parent_index": 114 + "parent_index": 405 }, "name": "address", "state_mutability": 4, @@ -1564,28 +1570,28 @@ "indexed": true }, { - "id": 116, + "id": 407, "node_type": 44, "src": { - "line": 80, + "line": 312, "column": 67, - "start": 2708, - "end": 2720, + "start": 9808, + "end": 9820, "length": 13, - "parent_index": 111 + "parent_index": 402 }, - "scope": 110, + "scope": 401, "name": "value", "type_name": { - "id": 117, + "id": 408, "node_type": 30, "src": { - "line": 80, + "line": 312, "column": 67, - "start": 2708, - "end": 2714, + "start": 9808, + "end": 9814, "length": 7, - "parent_index": 116 + "parent_index": 407 }, "name": "uint256", "referenced_declaration": 0, @@ -1621,23 +1627,23 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IERC20_Approval_\u0026110", + "type_identifier": "t_event\u0026_IERC20_Approval_\u0026401", "type_string": "event IERC20.Approval" } } ], "linearized_base_contracts": [ - 35 + 326 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 8, + "line": 240, "column": 0, - "start": 129, - "end": 2724, + "start": 7229, + "end": 9824, "length": 2596, "parent_index": 30 } diff --git a/data/tests/ast/IERC20Metadata.solgo.ast.json b/data/tests/ast/IERC20Metadata.solgo.ast.json index 369364d2..067a1ee0 100644 --- a/data/tests/ast/IERC20Metadata.solgo.ast.json +++ b/data/tests/ast/IERC20Metadata.solgo.ast.json @@ -278,7 +278,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 160, @@ -446,7 +447,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 169, @@ -614,7 +616,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ diff --git a/data/tests/ast/Lottery.solgo.ast.json b/data/tests/ast/Lottery.solgo.ast.json index b0711810..fe956a54 100644 --- a/data/tests/ast/Lottery.solgo.ast.json +++ b/data/tests/ast/Lottery.solgo.ast.json @@ -4,7 +4,7 @@ "entry_source_unit": 22, "globals": [ { - "id": 489, + "id": 490, "name": "DUMMY_CONSTANT", "is_constant": true, "is_state_variable": true, @@ -25,7 +25,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 490, + "id": 491, "node_type": 30, "src": { "line": 9, @@ -33,7 +33,7 @@ "start": 164, "end": 170, "length": 7, - "parent_index": 489 + "parent_index": 490 }, "name": "uint256", "referenced_declaration": 0, @@ -43,7 +43,7 @@ } }, "initial_value": { - "id": 491, + "id": 492, "node_type": 17, "kind": 49, "value": "12345", @@ -54,7 +54,7 @@ "start": 205, "end": 209, "length": 5, - "parent_index": 489 + "parent_index": 490 }, "type_description": { "type_identifier": "t_rational_12345_by_1", @@ -62,11 +62,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "12345" } }, { - "id": 492, + "id": 493, "node_type": 66, "src": { "line": 11, @@ -81,17 +82,17 @@ "start": 222, "end": 233, "length": 12, - "parent_index": 492 + "parent_index": 493 }, "name": "LotteryState", "canonical_name": "Global.LotteryState", "type_description": { - "type_identifier": "t_enum_$_LotteryState_$492", + "type_identifier": "t_enum_$_LotteryState_$493", "type_string": "enum Global.LotteryState" }, "members": [ { - "id": 493, + "id": 494, "node_type": 15, "src": { "line": 11, @@ -99,7 +100,7 @@ "start": 237, "end": 245, "length": 8, - "parent_index": 492 + "parent_index": 493 }, "name_location": { "line": 11, @@ -107,16 +108,16 @@ "start": 237, "end": 245, "length": 9, - "parent_index": 492 + "parent_index": 493 }, "name": "Accepting", "type_description": { - "type_identifier": "t_enum_$_LotteryState$_Accepting_$493", + "type_identifier": "t_enum_$_LotteryState$_Accepting_$494", "type_string": "enum Global.LotteryState.Accepting" } }, { - "id": 494, + "id": 495, "node_type": 15, "src": { "line": 11, @@ -124,7 +125,7 @@ "start": 248, "end": 255, "length": 7, - "parent_index": 492 + "parent_index": 493 }, "name_location": { "line": 11, @@ -132,18 +133,18 @@ "start": 248, "end": 255, "length": 8, - "parent_index": 492 + "parent_index": 493 }, "name": "Finished", "type_description": { - "type_identifier": "t_enum_$_LotteryState$_Finished_$494", + "type_identifier": "t_enum_$_LotteryState$_Finished_$495", "type_string": "enum Global.LotteryState.Finished" } } ] }, { - "id": 495, + "id": 496, "node_type": 67, "src": { "line": 12, @@ -159,16 +160,16 @@ "start": 270, "end": 275, "length": 6, - "parent_index": 495 + "parent_index": 496 }, "canonical_name": "Global.Player", "type_description": { - "type_identifier": "t_struct$_Global_Player_$495", + "type_identifier": "t_struct$_Global_Player_$496", "type_string": "struct Global.Player" }, "members": [ { - "id": 496, + "id": 497, "node_type": 44, "src": { "line": 13, @@ -176,11 +177,11 @@ "start": 287, "end": 299, "length": 13, - "parent_index": 495 + "parent_index": 496 }, "name": "addr", "type_name": { - "id": 497, + "id": 498, "node_type": 30, "src": { "line": 13, @@ -188,7 +189,7 @@ "start": 287, "end": 293, "length": 7, - "parent_index": 496 + "parent_index": 497 }, "name": "address", "state_mutability": 4, @@ -206,7 +207,7 @@ } }, { - "id": 498, + "id": 499, "node_type": 44, "src": { "line": 14, @@ -214,11 +215,11 @@ "start": 309, "end": 328, "length": 20, - "parent_index": 495 + "parent_index": 496 }, "name": "ticketCount", "type_name": { - "id": 499, + "id": 500, "node_type": 30, "src": { "line": 14, @@ -226,7 +227,7 @@ "start": 309, "end": 315, "length": 7, - "parent_index": 498 + "parent_index": 499 }, "name": "uint256", "referenced_declaration": 0, @@ -247,7 +248,7 @@ "storage_location": 1 }, { - "id": 500, + "id": 501, "name": "players", "is_constant": false, "is_state_variable": true, @@ -261,25 +262,25 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Global_Player_$496$", "type_string": "mapping(address=\u003ePlayer)" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 501, - "node_type": 0, + "id": 502, + "node_type": 69, "src": { "line": 16, "column": 4, "start": 340, "end": 365, "length": 26, - "parent_index": 500 + "parent_index": 501 }, "key_type": { - "id": 502, + "id": 503, "node_type": 30, "src": { "line": 16, @@ -287,7 +288,7 @@ "start": 348, "end": 354, "length": 7, - "parent_index": 501 + "parent_index": 502 }, "name": "address", "referenced_declaration": 0, @@ -302,24 +303,24 @@ "start": 348, "end": 354, "length": 7, - "parent_index": 501 + "parent_index": 502 }, "value_type": { - "id": 503, - "node_type": 30, + "id": 504, + "node_type": 69, "src": { "line": 16, "column": 23, "start": 359, "end": 364, "length": 6, - "parent_index": 501 + "parent_index": 502 }, "name": "Player", - "referenced_declaration": 0, + "referenced_declaration": 496, "type_description": { - "type_identifier": "t_Player", - "type_string": "Player" + "type_identifier": "t_struct$_Global_Player_$496", + "type_string": "struct Global.Player" } }, "value_name_location": { @@ -328,18 +329,40 @@ "start": 359, "end": 364, "length": 6, - "parent_index": 501 + "parent_index": 502 }, - "referenced_declaration": 0, + "path_node": { + "id": 505, + "name": "Player", + "node_type": 52, + "referenced_declaration": 496, + "src": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 502 + }, + "name_location": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 502 + } + }, + "referenced_declaration": 496, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Global_Player_$496$", "type_string": "mapping(address=\u003ePlayer)" } }, "initial_value": null }, { - "id": 504, + "id": 506, "name": "playerAddresses", "is_constant": false, "is_state_variable": true, @@ -360,7 +383,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 505, + "id": 507, "node_type": 16, "src": { "line": 17, @@ -368,7 +391,7 @@ "start": 387, "end": 393, "length": 7, - "parent_index": 504 + "parent_index": 506 }, "name": "address", "referenced_declaration": 0, @@ -380,7 +403,7 @@ "initial_value": null }, { - "id": 506, + "id": 508, "name": "state", "is_constant": false, "is_state_variable": true, @@ -394,14 +417,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_enum_$_LotteryState_$492", + "type_identifier": "t_enum_$_LotteryState_$493", "type_string": "enum Global.LotteryState" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 507, + "id": 509, "node_type": 69, "src": { "line": 19, @@ -409,20 +432,20 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 506 + "parent_index": 508 }, "path_node": { - "id": 508, + "id": 510, "name": "LotteryState", "node_type": 52, - "referenced_declaration": 492, + "referenced_declaration": 493, "src": { "line": 19, "column": 4, "start": 426, "end": 437, "length": 12, - "parent_index": 507 + "parent_index": 509 }, "name_location": { "line": 19, @@ -430,19 +453,19 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 507 + "parent_index": 509 } }, - "referenced_declaration": 492, + "referenced_declaration": 493, "type_description": { - "type_identifier": "t_enum_$_LotteryState_$492", + "type_identifier": "t_enum_$_LotteryState_$493", "type_string": "enum Global.LotteryState" } }, "initial_value": null }, { - "id": 509, + "id": 511, "node_type": 57, "src": { "line": 21, @@ -452,7 +475,7 @@ "length": 33 }, "parameters": { - "id": 510, + "id": 512, "node_type": 43, "src": { "line": 21, @@ -460,11 +483,11 @@ "start": 458, "end": 490, "length": 33, - "parent_index": 509 + "parent_index": 511 }, "parameters": [ { - "id": 511, + "id": 513, "node_type": 44, "src": { "line": 21, @@ -472,12 +495,12 @@ "start": 477, "end": 488, "length": 12, - "parent_index": 510 + "parent_index": 512 }, - "scope": 509, + "scope": 511, "name": "addr", "type_name": { - "id": 512, + "id": 514, "node_type": 30, "src": { "line": 21, @@ -485,7 +508,7 @@ "start": 477, "end": 483, "length": 7, - "parent_index": 511 + "parent_index": 513 }, "name": "address", "state_mutability": 4, @@ -514,12 +537,12 @@ "name": "PlayerJoined", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_PlayerJoined_\u0026509", + "type_identifier": "t_event\u0026_Global_PlayerJoined_\u0026511", "type_string": "event Global.PlayerJoined" } }, { - "id": 513, + "id": 515, "node_type": 57, "src": { "line": 22, @@ -529,7 +552,7 @@ "length": 38 }, "parameters": { - "id": 514, + "id": 516, "node_type": 43, "src": { "line": 22, @@ -537,11 +560,11 @@ "start": 496, "end": 533, "length": 38, - "parent_index": 513 + "parent_index": 515 }, "parameters": [ { - "id": 515, + "id": 517, "node_type": 44, "src": { "line": 22, @@ -549,12 +572,12 @@ "start": 518, "end": 531, "length": 14, - "parent_index": 514 + "parent_index": 516 }, - "scope": 513, + "scope": 515, "name": "winner", "type_name": { - "id": 516, + "id": 518, "node_type": 30, "src": { "line": 22, @@ -562,7 +585,7 @@ "start": 518, "end": 524, "length": 7, - "parent_index": 515 + "parent_index": 517 }, "name": "address", "state_mutability": 4, @@ -591,12 +614,12 @@ "name": "LotteryFinished", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_LotteryFinished_\u0026513", + "type_identifier": "t_event\u0026_Global_LotteryFinished_\u0026515", "type_string": "event Global.LotteryFinished" } }, { - "id": 517, + "id": 519, "node_type": 57, "src": { "line": 23, @@ -606,7 +629,7 @@ "length": 31 }, "parameters": { - "id": 518, + "id": 520, "node_type": 43, "src": { "line": 23, @@ -614,7 +637,7 @@ "start": 539, "end": 569, "length": 31, - "parent_index": 517 + "parent_index": 519 }, "parameters": [], "parameter_types": [] @@ -622,12 +645,12 @@ "name": "ExternalCallSuccessful", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_ExternalCallSuccessful_\u0026517", + "type_identifier": "t_event\u0026_Global_ExternalCallSuccessful_\u0026519", "type_string": "event Global.ExternalCallSuccessful" } }, { - "id": 519, + "id": 521, "node_type": 57, "src": { "line": 24, @@ -637,7 +660,7 @@ "length": 40 }, "parameters": { - "id": 520, + "id": 522, "node_type": 43, "src": { "line": 24, @@ -645,11 +668,11 @@ "start": 575, "end": 614, "length": 40, - "parent_index": 519 + "parent_index": 521 }, "parameters": [ { - "id": 521, + "id": 523, "node_type": 44, "src": { "line": 24, @@ -657,12 +680,12 @@ "start": 600, "end": 612, "length": 13, - "parent_index": 520 + "parent_index": 522 }, - "scope": 519, + "scope": 521, "name": "reason", "type_name": { - "id": 522, + "id": 524, "node_type": 30, "src": { "line": 24, @@ -670,7 +693,7 @@ "start": 600, "end": 605, "length": 6, - "parent_index": 521 + "parent_index": 523 }, "name": "string", "referenced_declaration": 0, @@ -698,12 +721,12 @@ "name": "ExternalCallFailed", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_ExternalCallFailed_\u0026519", + "type_identifier": "t_event\u0026_Global_ExternalCallFailed_\u0026521", "type_string": "event Global.ExternalCallFailed" } }, { - "id": 523, + "id": 525, "node_type": 77, "src": { "line": 27, @@ -719,10 +742,10 @@ "start": 655, "end": 666, "length": 12, - "parent_index": 523 + "parent_index": 525 }, "parameters": { - "id": 524, + "id": 526, "node_type": 43, "src": { "line": 27, @@ -730,18 +753,18 @@ "start": 649, "end": 669, "length": 21, - "parent_index": 523 + "parent_index": 525 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_InvalidState_$523", + "type_identifier": "t_error$_Global_InvalidState_$525", "type_string": "error Global.InvalidState" } }, { - "id": 525, + "id": 527, "node_type": 77, "src": { "line": 28, @@ -757,10 +780,10 @@ "start": 681, "end": 702, "length": 22, - "parent_index": 525 + "parent_index": 527 }, "parameters": { - "id": 526, + "id": 528, "node_type": 43, "src": { "line": 28, @@ -768,18 +791,18 @@ "start": 675, "end": 705, "length": 31, - "parent_index": 525 + "parent_index": 527 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_OwnerCannotParticipate_$525", + "type_identifier": "t_error$_Global_OwnerCannotParticipate_$527", "type_string": "error Global.OwnerCannotParticipate" } }, { - "id": 527, + "id": 529, "node_type": 77, "src": { "line": 29, @@ -795,10 +818,10 @@ "start": 717, "end": 731, "length": 15, - "parent_index": 527 + "parent_index": 529 }, "parameters": { - "id": 528, + "id": 530, "node_type": 43, "src": { "line": 29, @@ -806,18 +829,18 @@ "start": 711, "end": 734, "length": 24, - "parent_index": 527 + "parent_index": 529 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_NoValueProvided_$527", + "type_identifier": "t_error$_Global_NoValueProvided_$529", "type_string": "error Global.NoValueProvided" } }, { - "id": 529, + "id": 531, "node_type": 77, "src": { "line": 30, @@ -833,10 +856,10 @@ "start": 746, "end": 758, "length": 13, - "parent_index": 529 + "parent_index": 531 }, "parameters": { - "id": 530, + "id": 532, "node_type": 43, "src": { "line": 30, @@ -844,18 +867,18 @@ "start": 740, "end": 761, "length": 22, - "parent_index": 529 + "parent_index": 531 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_InvalidWinner_$529", + "type_identifier": "t_error$_Global_InvalidWinner_$531", "type_string": "error Global.InvalidWinner" } }, { - "id": 531, + "id": 533, "node_type": 77, "src": { "line": 31, @@ -871,10 +894,10 @@ "start": 773, "end": 792, "length": 20, - "parent_index": 531 + "parent_index": 533 }, "parameters": { - "id": 532, + "id": 534, "node_type": 43, "src": { "line": 31, @@ -882,18 +905,18 @@ "start": 767, "end": 795, "length": 29, - "parent_index": 531 + "parent_index": 533 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_InvalidPlayerAddress_$531", + "type_identifier": "t_error$_Global_InvalidPlayerAddress_$533", "type_string": "error Global.InvalidPlayerAddress" } }, { - "id": 533, + "id": 535, "node_type": 77, "src": { "line": 32, @@ -909,10 +932,10 @@ "start": 807, "end": 822, "length": 16, - "parent_index": 533 + "parent_index": 535 }, "parameters": { - "id": 534, + "id": 536, "node_type": 43, "src": { "line": 32, @@ -920,18 +943,18 @@ "start": 801, "end": 825, "length": 25, - "parent_index": 533 + "parent_index": 535 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_OnlyOwnerCanCall_$533", + "type_identifier": "t_error$_Global_OnlyOwnerCanCall_$535", "type_string": "error Global.OnlyOwnerCanCall" } }, { - "id": 535, + "id": 537, "name": "index", "is_constant": true, "is_state_variable": true, @@ -952,7 +975,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 536, + "id": 538, "node_type": 30, "src": { "line": 73, @@ -960,7 +983,7 @@ "start": 1779, "end": 1785, "length": 7, - "parent_index": 535 + "parent_index": 537 }, "name": "uint256", "referenced_declaration": 0, @@ -972,7 +995,7 @@ "initial_value": null }, { - "id": 537, + "id": 539, "name": "winner", "is_constant": true, "is_state_variable": true, @@ -993,7 +1016,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 538, + "id": 540, "node_type": 30, "src": { "line": 74, @@ -1001,7 +1024,7 @@ "start": 1854, "end": 1860, "length": 7, - "parent_index": 537 + "parent_index": 539 }, "name": "address", "state_mutability": 4, @@ -1014,7 +1037,7 @@ "initial_value": null }, { - "id": 539, + "id": 541, "name": "count", "is_constant": true, "is_state_variable": true, @@ -1035,7 +1058,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 540, + "id": 542, "node_type": 30, "src": { "line": 75, @@ -1043,7 +1066,7 @@ "start": 1891, "end": 1897, "length": 7, - "parent_index": 539 + "parent_index": 541 }, "name": "uint256", "referenced_declaration": 0, @@ -1055,7 +1078,7 @@ "initial_value": null }, { - "id": 541, + "id": 543, "name": "balance", "is_constant": true, "is_state_variable": true, @@ -1076,7 +1099,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 542, + "id": 544, "node_type": 30, "src": { "line": 97, @@ -1084,7 +1107,7 @@ "start": 2379, "end": 2385, "length": 7, - "parent_index": 541 + "parent_index": 543 }, "name": "uint256", "referenced_declaration": 0, @@ -1096,7 +1119,7 @@ "initial_value": null }, { - "id": 543, + "id": 545, "name": "i", "is_constant": true, "is_state_variable": true, @@ -1117,7 +1140,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 544, + "id": 546, "node_type": 30, "src": { "line": 111, @@ -1125,7 +1148,7 @@ "start": 2768, "end": 2771, "length": 4, - "parent_index": 543 + "parent_index": 545 }, "name": "uint", "referenced_declaration": 0, @@ -1137,7 +1160,7 @@ "initial_value": null }, { - "id": 545, + "id": 547, "name": "dummyContract", "is_constant": true, "is_state_variable": true, @@ -1158,7 +1181,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 546, + "id": 548, "node_type": 69, "src": { "line": 127, @@ -1166,10 +1189,10 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 545 + "parent_index": 547 }, "path_node": { - "id": 547, + "id": 549, "name": "IDummyContract", "node_type": 52, "referenced_declaration": 10, @@ -1179,7 +1202,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 546 + "parent_index": 548 }, "name_location": { "line": 127, @@ -1187,7 +1210,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 546 + "parent_index": 548 } }, "referenced_declaration": 10, @@ -1199,7 +1222,7 @@ "initial_value": null }, { - "id": 548, + "id": 550, "name": "j", "is_constant": true, "is_state_variable": true, @@ -1220,7 +1243,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 549, + "id": 551, "node_type": 30, "src": { "line": 142, @@ -1228,7 +1251,7 @@ "start": 3685, "end": 3688, "length": 4, - "parent_index": 548 + "parent_index": 550 }, "name": "uint", "referenced_declaration": 0, @@ -1240,7 +1263,7 @@ "initial_value": null }, { - "id": 550, + "id": 552, "name": "len", "is_constant": true, "is_state_variable": true, @@ -1261,7 +1284,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 551, + "id": 553, "node_type": 30, "src": { "line": 143, @@ -1269,7 +1292,7 @@ "start": 3706, "end": 3709, "length": 4, - "parent_index": 550 + "parent_index": 552 }, "name": "uint", "referenced_declaration": 0, @@ -1281,7 +1304,7 @@ "initial_value": null }, { - "id": 552, + "id": 554, "name": "bstr", "is_constant": true, "is_state_variable": true, @@ -1302,7 +1325,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 553, + "id": 555, "node_type": 30, "src": { "line": 149, @@ -1310,7 +1333,7 @@ "start": 3808, "end": 3812, "length": 5, - "parent_index": 552 + "parent_index": 554 }, "name": "bytes", "referenced_declaration": 0, @@ -1322,7 +1345,7 @@ "initial_value": null }, { - "id": 554, + "id": 556, "name": "k", "is_constant": true, "is_state_variable": true, @@ -1343,7 +1366,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 555, + "id": 557, "node_type": 30, "src": { "line": 150, @@ -1351,7 +1374,7 @@ "start": 3852, "end": 3855, "length": 4, - "parent_index": 554 + "parent_index": 556 }, "name": "uint", "referenced_declaration": 0, @@ -1593,7 +1616,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functiondummyFunction()externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -1735,7 +1759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "12345" } }, { @@ -1939,7 +1964,7 @@ }, "scope": 24, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "visibility": 3, @@ -1947,7 +1972,7 @@ "mutability": 1, "type_name": { "id": 41, - "node_type": 0, + "node_type": 69, "src": { "line": 16, "column": 4, @@ -1984,7 +2009,7 @@ }, "value_type": { "id": 43, - "node_type": 30, + "node_type": 69, "src": { "line": 16, "column": 23, @@ -1994,10 +2019,10 @@ "parent_index": 41 }, "name": "Player", - "referenced_declaration": 0, + "referenced_declaration": 34, "type_description": { - "type_identifier": "t_Player", - "type_string": "Player" + "type_identifier": "t_struct$_Lottery_Player_$34", + "type_string": "struct Lottery.Player" } }, "value_name_location": { @@ -2008,16 +2033,38 @@ "length": 6, "parent_index": 41 }, - "referenced_declaration": 0, + "path_node": { + "id": 44, + "name": "Player", + "node_type": 52, + "referenced_declaration": 34, + "src": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 41 + }, + "name_location": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 41 + } + }, + "referenced_declaration": 34, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" } }, "initial_value": null }, { - "id": 45, + "id": 46, "name": "playerAddresses", "is_constant": false, "is_state_variable": true, @@ -2039,7 +2086,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 46, + "id": 47, "node_type": 16, "src": { "line": 17, @@ -2047,7 +2094,7 @@ "start": 387, "end": 393, "length": 7, - "parent_index": 45 + "parent_index": 46 }, "name": "address", "referenced_declaration": 0, @@ -2059,7 +2106,7 @@ "initial_value": null }, { - "id": 48, + "id": 49, "name": "state", "is_constant": false, "is_state_variable": true, @@ -2081,7 +2128,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 49, + "id": 50, "node_type": 69, "src": { "line": 19, @@ -2089,10 +2136,10 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 48 + "parent_index": 49 }, "path_node": { - "id": 50, + "id": 51, "name": "LotteryState", "node_type": 52, "referenced_declaration": 30, @@ -2102,7 +2149,7 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 49 + "parent_index": 50 }, "name_location": { "line": 19, @@ -2110,7 +2157,7 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 49 + "parent_index": 50 } }, "referenced_declaration": 30, @@ -2122,7 +2169,7 @@ "initial_value": null }, { - "id": 52, + "id": 53, "node_type": 57, "src": { "line": 21, @@ -2133,7 +2180,7 @@ "parent_index": 24 }, "parameters": { - "id": 53, + "id": 54, "node_type": 43, "src": { "line": 21, @@ -2141,11 +2188,11 @@ "start": 458, "end": 490, "length": 33, - "parent_index": 52 + "parent_index": 53 }, "parameters": [ { - "id": 54, + "id": 55, "node_type": 44, "src": { "line": 21, @@ -2153,12 +2200,12 @@ "start": 477, "end": 488, "length": 12, - "parent_index": 53 + "parent_index": 54 }, - "scope": 52, + "scope": 53, "name": "addr", "type_name": { - "id": 55, + "id": 56, "node_type": 30, "src": { "line": 21, @@ -2166,7 +2213,7 @@ "start": 477, "end": 483, "length": 7, - "parent_index": 54 + "parent_index": 55 }, "name": "address", "state_mutability": 4, @@ -2195,12 +2242,12 @@ "name": "PlayerJoined", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "type_string": "event Lottery.PlayerJoined" } }, { - "id": 57, + "id": 58, "node_type": 57, "src": { "line": 22, @@ -2211,7 +2258,7 @@ "parent_index": 24 }, "parameters": { - "id": 58, + "id": 59, "node_type": 43, "src": { "line": 22, @@ -2219,11 +2266,11 @@ "start": 496, "end": 533, "length": 38, - "parent_index": 57 + "parent_index": 58 }, "parameters": [ { - "id": 59, + "id": 60, "node_type": 44, "src": { "line": 22, @@ -2231,12 +2278,12 @@ "start": 518, "end": 531, "length": 14, - "parent_index": 58 + "parent_index": 59 }, - "scope": 57, + "scope": 58, "name": "winner", "type_name": { - "id": 60, + "id": 61, "node_type": 30, "src": { "line": 22, @@ -2244,7 +2291,7 @@ "start": 518, "end": 524, "length": 7, - "parent_index": 59 + "parent_index": 60 }, "name": "address", "state_mutability": 4, @@ -2273,12 +2320,12 @@ "name": "LotteryFinished", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "type_string": "event Lottery.LotteryFinished" } }, { - "id": 62, + "id": 63, "node_type": 57, "src": { "line": 23, @@ -2289,7 +2336,7 @@ "parent_index": 24 }, "parameters": { - "id": 63, + "id": 64, "node_type": 43, "src": { "line": 23, @@ -2297,7 +2344,7 @@ "start": 539, "end": 569, "length": 31, - "parent_index": 62 + "parent_index": 63 }, "parameters": [], "parameter_types": [] @@ -2305,12 +2352,12 @@ "name": "ExternalCallSuccessful", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "type_string": "event Lottery.ExternalCallSuccessful" } }, { - "id": 65, + "id": 66, "node_type": 57, "src": { "line": 24, @@ -2321,7 +2368,7 @@ "parent_index": 24 }, "parameters": { - "id": 66, + "id": 67, "node_type": 43, "src": { "line": 24, @@ -2329,11 +2376,11 @@ "start": 575, "end": 614, "length": 40, - "parent_index": 65 + "parent_index": 66 }, "parameters": [ { - "id": 67, + "id": 68, "node_type": 44, "src": { "line": 24, @@ -2341,12 +2388,12 @@ "start": 600, "end": 612, "length": 13, - "parent_index": 66 + "parent_index": 67 }, - "scope": 65, + "scope": 66, "name": "reason", "type_name": { - "id": 68, + "id": 69, "node_type": 30, "src": { "line": 24, @@ -2354,7 +2401,7 @@ "start": 600, "end": 605, "length": 6, - "parent_index": 67 + "parent_index": 68 }, "name": "string", "referenced_declaration": 0, @@ -2382,12 +2429,12 @@ "name": "ExternalCallFailed", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "type_string": "event Lottery.ExternalCallFailed" } }, { - "id": 70, + "id": 71, "node_type": 77, "src": { "line": 27, @@ -2404,10 +2451,10 @@ "start": 655, "end": 666, "length": 12, - "parent_index": 70 + "parent_index": 71 }, "parameters": { - "id": 71, + "id": 72, "node_type": 43, "src": { "line": 27, @@ -2415,18 +2462,18 @@ "start": 649, "end": 669, "length": 21, - "parent_index": 70 + "parent_index": 71 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidState_$70", + "type_identifier": "t_error$_Lottery_InvalidState_$71", "type_string": "error Lottery.InvalidState" } }, { - "id": 73, + "id": 74, "node_type": 77, "src": { "line": 28, @@ -2443,10 +2490,10 @@ "start": 681, "end": 702, "length": 22, - "parent_index": 73 + "parent_index": 74 }, "parameters": { - "id": 74, + "id": 75, "node_type": 43, "src": { "line": 28, @@ -2454,18 +2501,18 @@ "start": 675, "end": 705, "length": 31, - "parent_index": 73 + "parent_index": 74 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "type_string": "error Lottery.OwnerCannotParticipate" } }, { - "id": 76, + "id": 77, "node_type": 77, "src": { "line": 29, @@ -2482,10 +2529,10 @@ "start": 717, "end": 731, "length": 15, - "parent_index": 76 + "parent_index": 77 }, "parameters": { - "id": 77, + "id": 78, "node_type": 43, "src": { "line": 29, @@ -2493,18 +2540,18 @@ "start": 711, "end": 734, "length": 24, - "parent_index": 76 + "parent_index": 77 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" } }, { - "id": 79, + "id": 80, "node_type": 77, "src": { "line": 30, @@ -2521,10 +2568,10 @@ "start": 746, "end": 758, "length": 13, - "parent_index": 79 + "parent_index": 80 }, "parameters": { - "id": 80, + "id": 81, "node_type": 43, "src": { "line": 30, @@ -2532,18 +2579,18 @@ "start": 740, "end": 761, "length": 22, - "parent_index": 79 + "parent_index": 80 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" } }, { - "id": 82, + "id": 83, "node_type": 77, "src": { "line": 31, @@ -2560,10 +2607,10 @@ "start": 773, "end": 792, "length": 20, - "parent_index": 82 + "parent_index": 83 }, "parameters": { - "id": 83, + "id": 84, "node_type": 43, "src": { "line": 31, @@ -2571,18 +2618,18 @@ "start": 767, "end": 795, "length": 29, - "parent_index": 82 + "parent_index": 83 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" } }, { - "id": 85, + "id": 86, "node_type": 77, "src": { "line": 32, @@ -2599,10 +2646,10 @@ "start": 807, "end": 822, "length": 16, - "parent_index": 85 + "parent_index": 86 }, "parameters": { - "id": 86, + "id": 87, "node_type": 43, "src": { "line": 32, @@ -2610,18 +2657,18 @@ "start": 801, "end": 825, "length": 25, - "parent_index": 85 + "parent_index": 86 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" } }, { - "id": 88, + "id": 89, "name": "inState", "node_type": 68, "src": { @@ -2638,12 +2685,12 @@ "start": 841, "end": 847, "length": 7, - "parent_index": 88 + "parent_index": 89 }, "visibility": 1, "virtual": false, "parameters": { - "id": 89, + "id": 90, "node_type": 43, "src": { "line": 34, @@ -2655,7 +2702,7 @@ }, "parameters": [ { - "id": 90, + "id": 91, "node_type": 44, "src": { "line": 34, @@ -2663,12 +2710,12 @@ "start": 849, "end": 867, "length": 19, - "parent_index": 89 + "parent_index": 90 }, "scope": 24, "name": "_state", "type_name": { - "id": 91, + "id": 92, "node_type": 69, "src": { "line": 34, @@ -2676,10 +2723,10 @@ "start": 849, "end": 860, "length": 12, - "parent_index": 90 + "parent_index": 91 }, "path_node": { - "id": 92, + "id": 93, "name": "LotteryState", "node_type": 52, "referenced_declaration": 30, @@ -2689,7 +2736,7 @@ "start": 849, "end": 860, "length": 12, - "parent_index": 91 + "parent_index": 92 }, "name_location": { "line": 34, @@ -2697,7 +2744,7 @@ "start": 849, "end": 860, "length": 12, - "parent_index": 91 + "parent_index": 92 } }, "referenced_declaration": 30, @@ -2723,7 +2770,7 @@ ] }, "body": { - "id": 93, + "id": 94, "node_type": 46, "kind": 0, "src": { @@ -2732,12 +2779,12 @@ "start": 870, "end": 963, "length": 94, - "parent_index": 88 + "parent_index": 89 }, "implemented": true, "statements": [ { - "id": 94, + "id": 95, "node_type": 48, "src": { "line": 35, @@ -2745,10 +2792,10 @@ "start": 880, "end": 946, "length": 67, - "parent_index": 93 + "parent_index": 94 }, "condition": { - "id": 95, + "id": 96, "is_constant": false, "is_pure": false, "node_type": 19, @@ -2758,11 +2805,11 @@ "start": 884, "end": 898, "length": 15, - "parent_index": 94 + "parent_index": 95 }, "operator": 12, "left_expression": { - "id": 96, + "id": 97, "node_type": 16, "src": { "line": 35, @@ -2770,7 +2817,7 @@ "start": 884, "end": 888, "length": 5, - "parent_index": 95 + "parent_index": 96 }, "name": "state", "type_description": { @@ -2778,11 +2825,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 97, + "id": 98, "node_type": 16, "src": { "line": 35, @@ -2790,7 +2838,7 @@ "start": 893, "end": 898, "length": 6, - "parent_index": 95 + "parent_index": 96 }, "name": "_state", "type_description": { @@ -2798,8 +2846,9 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 90, - "is_pure": false + "referenced_declaration": 91, + "is_pure": false, + "text": "_state" }, "type_description": { "type_identifier": "t_bool", @@ -2807,7 +2856,7 @@ } }, "body": { - "id": 98, + "id": 99, "node_type": 46, "kind": 0, "src": { @@ -2816,12 +2865,12 @@ "start": 901, "end": 946, "length": 46, - "parent_index": 88 + "parent_index": 89 }, "implemented": true, "statements": [ { - "id": 99, + "id": 100, "node_type": 78, "src": { "line": 36, @@ -2829,11 +2878,11 @@ "start": 915, "end": 936, "length": 22, - "parent_index": 88 + "parent_index": 89 }, "arguments": [], "expression": { - "id": 100, + "id": 101, "node_type": 16, "src": { "line": 36, @@ -2841,23 +2890,24 @@ "start": 922, "end": 933, "length": 12, - "parent_index": 99 + "parent_index": 100 }, "name": "InvalidState", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidState_$70", + "type_identifier": "t_error$_Lottery_InvalidState_$71", "type_string": "error Lottery.InvalidState" }, "overloaded_declarations": [], - "referenced_declaration": 70, - "is_pure": false + "referenced_declaration": 71, + "is_pure": false, + "text": "InvalidState" } } ] } }, { - "id": 101, + "id": 102, "node_type": 82, "src": { "line": 38, @@ -2865,7 +2915,7 @@ "start": 956, "end": 956, "length": 1, - "parent_index": 93 + "parent_index": 94 }, "name": "_", "type_description": { @@ -2874,13 +2924,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 103, + "id": 104, "name": "notOwner", "node_type": 68, "src": { @@ -2897,12 +2948,12 @@ "start": 979, "end": 986, "length": 8, - "parent_index": 103 + "parent_index": 104 }, "visibility": 1, "virtual": false, "parameters": { - "id": 104, + "id": 105, "node_type": 43, "src": { "line": 41, @@ -2916,7 +2967,7 @@ "parameter_types": [] }, "body": { - "id": 105, + "id": 106, "node_type": 46, "kind": 0, "src": { @@ -2925,12 +2976,12 @@ "start": 990, "end": 1099, "length": 110, - "parent_index": 103 + "parent_index": 104 }, "implemented": true, "statements": [ { - "id": 106, + "id": 107, "node_type": 48, "src": { "line": 42, @@ -2938,10 +2989,10 @@ "start": 1000, "end": 1082, "length": 83, - "parent_index": 105 + "parent_index": 106 }, "condition": { - "id": 107, + "id": 108, "is_constant": false, "is_pure": false, "node_type": 19, @@ -2951,11 +3002,11 @@ "start": 1004, "end": 1024, "length": 21, - "parent_index": 106 + "parent_index": 107 }, "operator": 11, "left_expression": { - "id": 108, + "id": 109, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2967,7 +3018,7 @@ "start": 1004, "end": 1013, "length": 10, - "parent_index": 107 + "parent_index": 108 }, "member_location": { "line": 42, @@ -2975,10 +3026,10 @@ "start": 1008, "end": 1013, "length": 6, - "parent_index": 108 + "parent_index": 109 }, "expression": { - "id": 109, + "id": 110, "node_type": 16, "src": { "line": 42, @@ -2986,7 +3037,7 @@ "start": 1004, "end": 1006, "length": 3, - "parent_index": 108 + "parent_index": 109 }, "name": "msg", "type_description": { @@ -2995,17 +3046,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 110, + "id": 111, "node_type": 24, "kind": 24, "src": { @@ -3014,12 +3067,12 @@ "start": 1018, "end": 1024, "length": 7, - "parent_index": 107 + "parent_index": 108 }, "argument_types": [], "arguments": [], "expression": { - "id": 111, + "id": 112, "node_type": 16, "src": { "line": 42, @@ -3027,7 +3080,7 @@ "start": 1018, "end": 1022, "length": 5, - "parent_index": 110 + "parent_index": 111 }, "name": "owner", "type_description": { @@ -3036,7 +3089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -3049,7 +3103,7 @@ } }, "body": { - "id": 112, + "id": 113, "node_type": 46, "kind": 0, "src": { @@ -3058,12 +3112,12 @@ "start": 1027, "end": 1082, "length": 56, - "parent_index": 103 + "parent_index": 104 }, "implemented": true, "statements": [ { - "id": 113, + "id": 114, "node_type": 78, "src": { "line": 43, @@ -3071,11 +3125,11 @@ "start": 1041, "end": 1072, "length": 32, - "parent_index": 103 + "parent_index": 104 }, "arguments": [], "expression": { - "id": 114, + "id": 115, "node_type": 16, "src": { "line": 43, @@ -3083,23 +3137,24 @@ "start": 1048, "end": 1069, "length": 22, - "parent_index": 113 + "parent_index": 114 }, "name": "OwnerCannotParticipate", "type_description": { - "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "type_string": "error Lottery.OwnerCannotParticipate" }, "overloaded_declarations": [], - "referenced_declaration": 73, - "is_pure": false + "referenced_declaration": 74, + "is_pure": false, + "text": "OwnerCannotParticipate" } } ] } }, { - "id": 115, + "id": 116, "node_type": 82, "src": { "line": 45, @@ -3107,7 +3162,7 @@ "start": 1092, "end": 1092, "length": 1, - "parent_index": 105 + "parent_index": 106 }, "name": "_", "type_description": { @@ -3116,13 +3171,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 117, + "id": 118, "node_type": 42, "kind": 70, "src": { @@ -3139,7 +3195,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 118, + "id": 119, "node_type": 43, "src": { "line": 48, @@ -3147,13 +3203,13 @@ "start": 1106, "end": 1136, "length": 31, - "parent_index": 117 + "parent_index": 118 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 119, + "id": 120, "node_type": 43, "src": { "line": 48, @@ -3161,13 +3217,13 @@ "start": 1106, "end": 1136, "length": 31, - "parent_index": 117 + "parent_index": 118 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 120, + "id": 121, "node_type": 46, "kind": 0, "src": { @@ -3176,7 +3232,7 @@ "start": 1134, "end": 1136, "length": 3, - "parent_index": 117 + "parent_index": 118 }, "implemented": true, "statements": [] @@ -3184,7 +3240,7 @@ "virtual": false }, { - "id": 122, + "id": 123, "node_type": 42, "kind": 71, "src": { @@ -3201,7 +3257,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 123, + "id": 124, "node_type": 43, "src": { "line": 49, @@ -3209,13 +3265,13 @@ "start": 1142, "end": 1171, "length": 30, - "parent_index": 122 + "parent_index": 123 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 124, + "id": 125, "node_type": 43, "src": { "line": 49, @@ -3223,13 +3279,13 @@ "start": 1142, "end": 1171, "length": 30, - "parent_index": 122 + "parent_index": 123 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 125, + "id": 126, "node_type": 46, "kind": 0, "src": { @@ -3238,7 +3294,7 @@ "start": 1169, "end": 1171, "length": 3, - "parent_index": 122 + "parent_index": 123 }, "implemented": true, "statements": [] @@ -3247,7 +3303,7 @@ "payable": false }, { - "id": 127, + "id": 128, "node_type": 42, "src": { "line": 51, @@ -3263,7 +3319,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 128, + "id": 129, "node_type": 43, "src": { "line": 51, @@ -3271,13 +3327,13 @@ "start": 1178, "end": 1238, "length": 61, - "parent_index": 127 + "parent_index": 128 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 129, + "id": 130, "node_type": 43, "src": { "line": 51, @@ -3285,14 +3341,14 @@ "start": 1178, "end": 1238, "length": 61, - "parent_index": 127 + "parent_index": 128 }, "parameters": [], "parameter_types": [] }, "scope": 24, "body": { - "id": 130, + "id": 131, "node_type": 46, "kind": 0, "src": { @@ -3301,12 +3357,12 @@ "start": 1192, "end": 1238, "length": 47, - "parent_index": 127 + "parent_index": 128 }, "implemented": true, "statements": [ { - "id": 131, + "id": 132, "node_type": 27, "src": { "line": 52, @@ -3314,10 +3370,10 @@ "start": 1202, "end": 1232, "length": 31, - "parent_index": 130 + "parent_index": 131 }, "expression": { - "id": 132, + "id": 133, "node_type": 27, "src": { "line": 52, @@ -3325,11 +3381,11 @@ "start": 1202, "end": 1231, "length": 30, - "parent_index": 131 + "parent_index": 132 }, "operator": 11, "left_expression": { - "id": 133, + "id": 134, "node_type": 16, "src": { "line": 52, @@ -3337,7 +3393,7 @@ "start": 1202, "end": 1206, "length": 5, - "parent_index": 132 + "parent_index": 133 }, "name": "state", "type_description": { @@ -3345,11 +3401,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 134, + "id": 135, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3361,7 +3418,7 @@ "start": 1210, "end": 1231, "length": 22, - "parent_index": 132 + "parent_index": 133 }, "member_location": { "line": 52, @@ -3369,10 +3426,10 @@ "start": 1223, "end": 1231, "length": 9, - "parent_index": 134 + "parent_index": 135 }, "expression": { - "id": 135, + "id": 136, "node_type": 16, "src": { "line": 52, @@ -3380,7 +3437,7 @@ "start": 1210, "end": 1221, "length": 12, - "parent_index": 134 + "parent_index": 135 }, "name": "LotteryState", "type_description": { @@ -3389,14 +3446,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" }, "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", @@ -3406,13 +3465,14 @@ "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "state=LotteryState.Accepting;" } ] } }, { - "id": 137, + "id": 138, "name": "join", "node_type": 42, "kind": 41, @@ -3430,10 +3490,10 @@ "start": 1254, "end": 1257, "length": 4, - "parent_index": 137 + "parent_index": 138 }, "body": { - "id": 146, + "id": 147, "node_type": 46, "kind": 0, "src": { @@ -3442,12 +3502,12 @@ "start": 1317, "end": 1658, "length": 342, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 147, + "id": 148, "node_type": 48, "src": { "line": 56, @@ -3455,10 +3515,10 @@ "start": 1327, "end": 1395, "length": 69, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 148, + "id": 149, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3468,11 +3528,11 @@ "start": 1331, "end": 1344, "length": 14, - "parent_index": 147 + "parent_index": 148 }, "operator": 11, "left_expression": { - "id": 149, + "id": 150, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3484,7 +3544,7 @@ "start": 1331, "end": 1339, "length": 9, - "parent_index": 148 + "parent_index": 149 }, "member_location": { "line": 56, @@ -3492,10 +3552,10 @@ "start": 1335, "end": 1339, "length": 5, - "parent_index": 149 + "parent_index": 150 }, "expression": { - "id": 150, + "id": 151, "node_type": 16, "src": { "line": 56, @@ -3503,7 +3563,7 @@ "start": 1331, "end": 1333, "length": 3, - "parent_index": 149 + "parent_index": 150 }, "name": "msg", "type_description": { @@ -3512,17 +3572,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { - "id": 151, + "id": 152, "node_type": 17, "kind": 49, "value": "0", @@ -3533,7 +3595,7 @@ "start": 1344, "end": 1344, "length": 1, - "parent_index": 148 + "parent_index": 149 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3541,7 +3603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3549,7 +3612,7 @@ } }, "body": { - "id": 152, + "id": 153, "node_type": 46, "kind": 0, "src": { @@ -3558,12 +3621,12 @@ "start": 1347, "end": 1395, "length": 49, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 153, + "id": 154, "node_type": 78, "src": { "line": 57, @@ -3571,11 +3634,11 @@ "start": 1361, "end": 1385, "length": 25, - "parent_index": 137 + "parent_index": 138 }, "arguments": [], "expression": { - "id": 154, + "id": 155, "node_type": 16, "src": { "line": 57, @@ -3583,23 +3646,24 @@ "start": 1368, "end": 1382, "length": 15, - "parent_index": 153 + "parent_index": 154 }, "name": "NoValueProvided", "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" }, "overloaded_declarations": [], - "referenced_declaration": 76, - "is_pure": false + "referenced_declaration": 77, + "is_pure": false, + "text": "NoValueProvided" } } ] } }, { - "id": 155, + "id": 156, "node_type": 48, "src": { "line": 60, @@ -3607,10 +3671,10 @@ "start": 1406, "end": 1557, "length": 152, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 156, + "id": 157, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3620,11 +3684,11 @@ "start": 1410, "end": 1447, "length": 38, - "parent_index": 155 + "parent_index": 156 }, "operator": 11, "left_expression": { - "id": 157, + "id": 158, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3636,7 +3700,7 @@ "start": 1410, "end": 1433, "length": 24, - "parent_index": 156 + "parent_index": 157 }, "member_location": { "line": 60, @@ -3644,10 +3708,10 @@ "start": 1430, "end": 1433, "length": 4, - "parent_index": 157 + "parent_index": 158 }, "expression": { - "id": 158, + "id": 159, "node_type": 22, "src": { "line": 60, @@ -3655,10 +3719,10 @@ "start": 1410, "end": 1428, "length": 19, - "parent_index": 157 + "parent_index": 158 }, "index_expression": { - "id": 159, + "id": 160, "node_type": 16, "src": { "line": 60, @@ -3666,19 +3730,20 @@ "start": 1410, "end": 1416, "length": 7, - "parent_index": 158 + "parent_index": 159 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 160, + "id": 161, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3690,7 +3755,7 @@ "start": 1418, "end": 1427, "length": 10, - "parent_index": 158 + "parent_index": 159 }, "member_location": { "line": 60, @@ -3698,10 +3763,10 @@ "start": 1422, "end": 1427, "length": 6, - "parent_index": 160 + "parent_index": 161 }, "expression": { - "id": 161, + "id": 162, "node_type": 16, "src": { "line": 60, @@ -3709,7 +3774,7 @@ "start": 1418, "end": 1420, "length": 3, - "parent_index": 160 + "parent_index": 161 }, "name": "msg", "type_description": { @@ -3718,18 +3783,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -3738,19 +3805,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 162, + "id": 163, "node_type": 24, "kind": 24, "src": { @@ -3759,7 +3827,7 @@ "start": 1438, "end": 1447, "length": 10, - "parent_index": 156 + "parent_index": 157 }, "argument_types": [ { @@ -3769,7 +3837,7 @@ ], "arguments": [ { - "id": 165, + "id": 166, "node_type": 17, "kind": 49, "value": "0", @@ -3780,7 +3848,7 @@ "start": 1446, "end": 1446, "length": 1, - "parent_index": 162 + "parent_index": 163 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3788,11 +3856,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 163, + "id": 164, "node_type": 16, "src": { "line": 60, @@ -3800,11 +3869,11 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 162 + "parent_index": 163 }, "name": "address", "type_name": { - "id": 164, + "id": 165, "node_type": 30, "src": { "line": 60, @@ -3812,7 +3881,7 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 163 + "parent_index": 164 }, "name": "address", "state_mutability": 4, @@ -3834,7 +3903,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -3847,7 +3917,7 @@ } }, "body": { - "id": 166, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -3856,12 +3926,12 @@ "start": 1450, "end": 1557, "length": 108, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 167, + "id": 168, "node_type": 27, "src": { "line": 61, @@ -3869,10 +3939,10 @@ "start": 1464, "end": 1501, "length": 38, - "parent_index": 166 + "parent_index": 167 }, "expression": { - "id": 168, + "id": 169, "node_type": 27, "src": { "line": 61, @@ -3880,11 +3950,11 @@ "start": 1464, "end": 1500, "length": 37, - "parent_index": 167 + "parent_index": 168 }, "operator": 11, "left_expression": { - "id": 169, + "id": 170, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3896,7 +3966,7 @@ "start": 1464, "end": 1487, "length": 24, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -3904,10 +3974,10 @@ "start": 1484, "end": 1487, "length": 4, - "parent_index": 169 + "parent_index": 170 }, "expression": { - "id": 170, + "id": 171, "node_type": 22, "src": { "line": 61, @@ -3915,10 +3985,10 @@ "start": 1464, "end": 1482, "length": 19, - "parent_index": 169 + "parent_index": 170 }, "index_expression": { - "id": 171, + "id": 172, "node_type": 16, "src": { "line": 61, @@ -3926,19 +3996,20 @@ "start": 1464, "end": 1470, "length": 7, - "parent_index": 170 + "parent_index": 171 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 172, + "id": 173, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3950,7 +4021,7 @@ "start": 1472, "end": 1481, "length": 10, - "parent_index": 170 + "parent_index": 171 }, "member_location": { "line": 61, @@ -3958,10 +4029,10 @@ "start": 1476, "end": 1481, "length": 6, - "parent_index": 172 + "parent_index": 173 }, "expression": { - "id": 173, + "id": 174, "node_type": 16, "src": { "line": 61, @@ -3969,7 +4040,7 @@ "start": 1472, "end": 1474, "length": 3, - "parent_index": 172 + "parent_index": 173 }, "name": "msg", "type_description": { @@ -3978,18 +4049,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -3998,19 +4071,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 174, + "id": 175, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4022,7 +4096,7 @@ "start": 1491, "end": 1500, "length": 10, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -4030,10 +4104,10 @@ "start": 1495, "end": 1500, "length": 6, - "parent_index": 174 + "parent_index": 175 }, "expression": { - "id": 175, + "id": 176, "node_type": 16, "src": { "line": 61, @@ -4041,7 +4115,7 @@ "start": 1491, "end": 1493, "length": 3, - "parent_index": 174 + "parent_index": 175 }, "name": "msg", "type_description": { @@ -4050,27 +4124,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr=msg.sender;" }, { - "id": 176, + "id": 177, "node_type": 24, "kind": 24, "src": { @@ -4079,7 +4156,7 @@ "start": 1515, "end": 1546, "length": 32, - "parent_index": 166 + "parent_index": 167 }, "argument_types": [ { @@ -4089,7 +4166,7 @@ ], "arguments": [ { - "id": 179, + "id": 180, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4101,7 +4178,7 @@ "start": 1536, "end": 1545, "length": 10, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -4109,10 +4186,10 @@ "start": 1540, "end": 1545, "length": 6, - "parent_index": 179 + "parent_index": 180 }, "expression": { - "id": 180, + "id": 181, "node_type": 16, "src": { "line": 62, @@ -4120,7 +4197,7 @@ "start": 1536, "end": 1538, "length": 3, - "parent_index": 179 + "parent_index": 180 }, "name": "msg", "type_description": { @@ -4129,18 +4206,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 177, + "id": 178, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4152,7 +4231,7 @@ "start": 1515, "end": 1534, "length": 20, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -4160,10 +4239,10 @@ "start": 1531, "end": 1534, "length": 4, - "parent_index": 177 + "parent_index": 178 }, "expression": { - "id": 178, + "id": 179, "node_type": 16, "src": { "line": 62, @@ -4171,7 +4250,7 @@ "start": 1515, "end": 1529, "length": 15, - "parent_index": 177 + "parent_index": 178 }, "name": "playerAddresses", "type_description": { @@ -4179,15 +4258,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.push" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4198,7 +4279,7 @@ } }, { - "id": 181, + "id": 182, "node_type": 27, "src": { "line": 65, @@ -4206,10 +4287,10 @@ "start": 1568, "end": 1612, "length": 45, - "parent_index": 146 + "parent_index": 147 }, "expression": { - "id": 182, + "id": 183, "node_type": 27, "src": { "line": 65, @@ -4217,11 +4298,11 @@ "start": 1568, "end": 1611, "length": 44, - "parent_index": 181 + "parent_index": 182 }, "operator": 13, "left_expression": { - "id": 183, + "id": 184, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4233,7 +4314,7 @@ "start": 1568, "end": 1598, "length": 31, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -4241,10 +4322,10 @@ "start": 1588, "end": 1598, "length": 11, - "parent_index": 183 + "parent_index": 184 }, "expression": { - "id": 184, + "id": 185, "node_type": 22, "src": { "line": 65, @@ -4252,10 +4333,10 @@ "start": 1568, "end": 1586, "length": 19, - "parent_index": 183 + "parent_index": 184 }, "index_expression": { - "id": 185, + "id": 186, "node_type": 16, "src": { "line": 65, @@ -4263,19 +4344,20 @@ "start": 1568, "end": 1574, "length": 7, - "parent_index": 184 + "parent_index": 185 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 186, + "id": 187, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4287,7 +4369,7 @@ "start": 1576, "end": 1585, "length": 10, - "parent_index": 184 + "parent_index": 185 }, "member_location": { "line": 65, @@ -4295,10 +4377,10 @@ "start": 1580, "end": 1585, "length": 6, - "parent_index": 186 + "parent_index": 187 }, "expression": { - "id": 187, + "id": 188, "node_type": 16, "src": { "line": 65, @@ -4306,7 +4388,7 @@ "start": 1576, "end": 1578, "length": 3, - "parent_index": 186 + "parent_index": 187 }, "name": "msg", "type_description": { @@ -4315,18 +4397,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -4335,19 +4419,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "ticketCount", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount" }, "right_expression": { - "id": 188, + "id": 189, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4359,7 +4444,7 @@ "start": 1603, "end": 1611, "length": 9, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -4367,10 +4452,10 @@ "start": 1607, "end": 1611, "length": 5, - "parent_index": 188 + "parent_index": 189 }, "expression": { - "id": 189, + "id": 190, "node_type": 16, "src": { "line": 65, @@ -4378,7 +4463,7 @@ "start": 1603, "end": 1605, "length": 3, - "parent_index": 188 + "parent_index": 189 }, "name": "msg", "type_description": { @@ -4387,27 +4472,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount+=msg.value;" }, { - "id": 190, + "id": 191, "node_type": 64, "src": { "line": 67, @@ -4415,11 +4503,11 @@ "start": 1623, "end": 1652, "length": 30, - "parent_index": 137 + "parent_index": 138 }, "arguments": [ { - "id": 191, + "id": 192, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4431,7 +4519,7 @@ "start": 1641, "end": 1650, "length": 10, - "parent_index": 190 + "parent_index": 191 }, "member_location": { "line": 67, @@ -4439,10 +4527,10 @@ "start": 1645, "end": 1650, "length": 6, - "parent_index": 191 + "parent_index": 192 }, "expression": { - "id": 192, + "id": 193, "node_type": 16, "src": { "line": 67, @@ -4450,7 +4538,7 @@ "start": 1641, "end": 1643, "length": 3, - "parent_index": 191 + "parent_index": 192 }, "name": "msg", "type_description": { @@ -4459,18 +4547,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 193, + "id": 194, "node_type": 16, "src": { "line": 67, @@ -4478,16 +4568,17 @@ "start": 1628, "end": 1639, "length": 12, - "parent_index": 190 + "parent_index": 191 }, "name": "PlayerJoined", "type_description": { - "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "type_string": "event Lottery.PlayerJoined" }, "overloaded_declarations": [], - "referenced_declaration": 52, - "is_pure": false + "referenced_declaration": 53, + "is_pure": false, + "text": "PlayerJoined" } } ] @@ -4498,7 +4589,7 @@ "virtual": false, "modifiers": [ { - "id": 139, + "id": 140, "name": "inState", "node_type": 72, "kind": 72, @@ -4508,7 +4599,7 @@ "start": 1276, "end": 1306, "length": 31, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [ { @@ -4518,7 +4609,7 @@ ], "arguments": [ { - "id": 141, + "id": 142, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4530,7 +4621,7 @@ "start": 1284, "end": 1305, "length": 22, - "parent_index": 139 + "parent_index": 140 }, "member_location": { "line": 55, @@ -4538,10 +4629,10 @@ "start": 1297, "end": 1305, "length": 9, - "parent_index": 141 + "parent_index": 142 }, "expression": { - "id": 142, + "id": 143, "node_type": 16, "src": { "line": 55, @@ -4549,7 +4640,7 @@ "start": 1284, "end": 1295, "length": 12, - "parent_index": 141 + "parent_index": 142 }, "name": "LotteryState", "type_description": { @@ -4558,18 +4649,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 140, + "id": 141, "name": "inState", "node_type": 0, "src": { @@ -4578,12 +4671,12 @@ "start": 1276, "end": 1282, "length": 7, - "parent_index": 139 + "parent_index": 140 } } }, { - "id": 143, + "id": 144, "name": "notOwner", "node_type": 72, "kind": 72, @@ -4593,12 +4686,12 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 144, + "id": 145, "name": "notOwner", "node_type": 0, "src": { @@ -4607,14 +4700,14 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 143 + "parent_index": 144 } } } ], "overrides": [], "parameters": { - "id": 138, + "id": 139, "node_type": 43, "src": { "line": 55, @@ -4622,13 +4715,13 @@ "start": 1245, "end": 1658, "length": 414, - "parent_index": 137 + "parent_index": 138 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 145, + "id": 146, "node_type": 43, "src": { "line": 55, @@ -4636,7 +4729,7 @@ "start": 1245, "end": 1658, "length": 414, - "parent_index": 137 + "parent_index": 138 }, "parameters": [], "parameter_types": [] @@ -4647,10 +4740,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionjoin()publicpayableinState(LotteryState.Accepting)notOwner{if(msg.value==0){revertNoValueProvided();}if(players[msg.sender].addr==address(0)){players[msg.sender].addr=msg.sender;playerAddresses.push(msg.sender);}players[msg.sender].ticketCount+=msg.value;emitPlayerJoined(msg.sender);}" }, { - "id": 195, + "id": 196, "name": "finishLottery", "node_type": 42, "kind": 41, @@ -4668,10 +4762,10 @@ "start": 1674, "end": 1686, "length": 13, - "parent_index": 195 + "parent_index": 196 }, "body": { - "id": 202, + "id": 203, "node_type": 46, "kind": 0, "src": { @@ -4680,12 +4774,12 @@ "start": 1729, "end": 2467, "length": 739, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 203, + "id": 204, "node_type": 27, "src": { "line": 71, @@ -4693,10 +4787,10 @@ "start": 1739, "end": 1768, "length": 30, - "parent_index": 202 + "parent_index": 203 }, "expression": { - "id": 204, + "id": 205, "node_type": 27, "src": { "line": 71, @@ -4704,11 +4798,11 @@ "start": 1739, "end": 1767, "length": 29, - "parent_index": 203 + "parent_index": 204 }, "operator": 11, "left_expression": { - "id": 205, + "id": 206, "node_type": 16, "src": { "line": 71, @@ -4716,7 +4810,7 @@ "start": 1739, "end": 1743, "length": 5, - "parent_index": 204 + "parent_index": 205 }, "name": "state", "type_description": { @@ -4724,11 +4818,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 206, + "id": 207, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4740,7 +4835,7 @@ "start": 1747, "end": 1767, "length": 21, - "parent_index": 204 + "parent_index": 205 }, "member_location": { "line": 71, @@ -4748,10 +4843,10 @@ "start": 1760, "end": 1767, "length": 8, - "parent_index": 206 + "parent_index": 207 }, "expression": { - "id": 207, + "id": 208, "node_type": 16, "src": { "line": 71, @@ -4759,7 +4854,7 @@ "start": 1747, "end": 1758, "length": 12, - "parent_index": 206 + "parent_index": 207 }, "name": "LotteryState", "type_description": { @@ -4768,14 +4863,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Finished", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Finished" }, "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", @@ -4785,10 +4882,11 @@ "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "state=LotteryState.Finished;" }, { - "id": 208, + "id": 209, "node_type": 44, "src": { "line": 73, @@ -4796,25 +4894,25 @@ "start": 1779, "end": 1844, "length": 66, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 209 + 210 ], "declarations": [ { - "id": 209, + "id": 210, "state_mutability": 1, "name": "index", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 73, "column": 8, "start": 1779, "end": 1791, "length": 13, - "parent_index": 208 + "parent_index": 209 }, "name_location": { "line": 73, @@ -4822,12 +4920,12 @@ "start": 1787, "end": 1791, "length": 5, - "parent_index": 209 + "parent_index": 210 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 210, + "id": 211, "node_type": 30, "src": { "line": 73, @@ -4835,7 +4933,7 @@ "start": 1779, "end": 1785, "length": 7, - "parent_index": 209 + "parent_index": 210 }, "name": "uint256", "referenced_declaration": 0, @@ -4848,7 +4946,7 @@ } ], "initial_value": { - "id": 211, + "id": 212, "is_constant": false, "is_pure": false, "node_type": 19, @@ -4858,11 +4956,11 @@ "start": 1795, "end": 1843, "length": 49, - "parent_index": 208 + "parent_index": 209 }, "operator": 5, "left_expression": { - "id": 212, + "id": 213, "node_type": 24, "kind": 24, "src": { @@ -4871,7 +4969,7 @@ "start": 1795, "end": 1818, "length": 24, - "parent_index": 208 + "parent_index": 209 }, "argument_types": [ { @@ -4881,7 +4979,7 @@ ], "arguments": [ { - "id": 215, + "id": 216, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4893,7 +4991,7 @@ "start": 1803, "end": 1817, "length": 15, - "parent_index": 212 + "parent_index": 213 }, "member_location": { "line": 73, @@ -4901,10 +4999,10 @@ "start": 1809, "end": 1817, "length": 9, - "parent_index": 215 + "parent_index": 216 }, "expression": { - "id": 216, + "id": 217, "node_type": 16, "src": { "line": 73, @@ -4912,7 +5010,7 @@ "start": 1803, "end": 1807, "length": 5, - "parent_index": 215 + "parent_index": 216 }, "name": "block", "type_description": { @@ -4921,18 +5019,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 213, + "id": 214, "node_type": 16, "src": { "line": 73, @@ -4940,11 +5040,11 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 212 + "parent_index": 213 }, "name": "uint256", "type_name": { - "id": 214, + "id": 215, "node_type": 30, "src": { "line": 73, @@ -4952,7 +5052,7 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 213 + "parent_index": 214 }, "name": "uint256", "referenced_declaration": 0, @@ -4973,7 +5073,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4981,7 +5082,7 @@ } }, "right_expression": { - "id": 217, + "id": 218, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4993,7 +5094,7 @@ "start": 1822, "end": 1843, "length": 22, - "parent_index": 208 + "parent_index": 209 }, "member_location": { "line": 73, @@ -5001,10 +5102,10 @@ "start": 1838, "end": 1843, "length": 6, - "parent_index": 217 + "parent_index": 218 }, "expression": { - "id": 218, + "id": 219, "node_type": 16, "src": { "line": 73, @@ -5012,7 +5113,7 @@ "start": 1822, "end": 1836, "length": 15, - "parent_index": 217 + "parent_index": 218 }, "name": "playerAddresses", "type_description": { @@ -5020,15 +5121,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5037,7 +5140,7 @@ } }, { - "id": 219, + "id": 220, "node_type": 44, "src": { "line": 74, @@ -5045,25 +5148,25 @@ "start": 1854, "end": 1881, "length": 28, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 220 + 221 ], "declarations": [ { - "id": 220, + "id": 221, "state_mutability": 1, "name": "winner", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 74, "column": 8, "start": 1854, "end": 1867, "length": 14, - "parent_index": 219 + "parent_index": 220 }, "name_location": { "line": 74, @@ -5071,12 +5174,12 @@ "start": 1862, "end": 1867, "length": 6, - "parent_index": 220 + "parent_index": 221 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 221, + "id": 222, "node_type": 30, "src": { "line": 74, @@ -5084,7 +5187,7 @@ "start": 1854, "end": 1860, "length": 7, - "parent_index": 220 + "parent_index": 221 }, "name": "address", "state_mutability": 4, @@ -5098,7 +5201,7 @@ } ], "initial_value": { - "id": 222, + "id": 223, "node_type": 24, "kind": 24, "src": { @@ -5107,7 +5210,7 @@ "start": 1871, "end": 1880, "length": 10, - "parent_index": 219 + "parent_index": 220 }, "argument_types": [ { @@ -5117,7 +5220,7 @@ ], "arguments": [ { - "id": 225, + "id": 226, "node_type": 17, "kind": 49, "value": "0", @@ -5128,7 +5231,7 @@ "start": 1879, "end": 1879, "length": 1, - "parent_index": 222 + "parent_index": 223 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5136,11 +5239,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 223, + "id": 224, "node_type": 16, "src": { "line": 74, @@ -5148,11 +5252,11 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 222 + "parent_index": 223 }, "name": "address", "type_name": { - "id": 224, + "id": 225, "node_type": 30, "src": { "line": 74, @@ -5160,7 +5264,7 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 223 + "parent_index": 224 }, "name": "address", "state_mutability": 4, @@ -5182,7 +5286,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5191,7 +5296,7 @@ } }, { - "id": 226, + "id": 227, "node_type": 44, "src": { "line": 75, @@ -5199,25 +5304,25 @@ "start": 1891, "end": 1908, "length": 18, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 227 + 228 ], "declarations": [ { - "id": 227, + "id": 228, "state_mutability": 1, "name": "count", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 75, "column": 8, "start": 1891, "end": 1903, "length": 13, - "parent_index": 226 + "parent_index": 227 }, "name_location": { "line": 75, @@ -5225,12 +5330,12 @@ "start": 1899, "end": 1903, "length": 5, - "parent_index": 227 + "parent_index": 228 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 228, + "id": 229, "node_type": 30, "src": { "line": 75, @@ -5238,7 +5343,7 @@ "start": 1891, "end": 1897, "length": 7, - "parent_index": 227 + "parent_index": 228 }, "name": "uint256", "referenced_declaration": 0, @@ -5251,7 +5356,7 @@ } ], "initial_value": { - "id": 229, + "id": 230, "node_type": 17, "kind": 49, "value": "0", @@ -5262,7 +5367,7 @@ "start": 1907, "end": 1907, "length": 1, - "parent_index": 226 + "parent_index": 227 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5270,7 +5375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -5283,10 +5389,10 @@ "start": 1927, "end": 2246, "length": 320, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 230, + "id": 231, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5299,7 +5405,7 @@ }, "operator": 9, "left_expression": { - "id": 231, + "id": 232, "node_type": 16, "src": { "line": 77, @@ -5307,7 +5413,7 @@ "start": 1933, "end": 1937, "length": 5, - "parent_index": 230 + "parent_index": 231 }, "name": "count", "type_description": { @@ -5315,11 +5421,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 232, + "id": 233, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5331,7 +5438,7 @@ "start": 1941, "end": 1962, "length": 22, - "parent_index": 230 + "parent_index": 231 }, "member_location": { "line": 77, @@ -5339,10 +5446,10 @@ "start": 1957, "end": 1962, "length": 6, - "parent_index": 232 + "parent_index": 233 }, "expression": { - "id": 233, + "id": 234, "node_type": 16, "src": { "line": 77, @@ -5350,7 +5457,7 @@ "start": 1941, "end": 1955, "length": 15, - "parent_index": 232 + "parent_index": 233 }, "name": "playerAddresses", "type_description": { @@ -5358,15 +5465,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -5374,7 +5483,7 @@ } }, "body": { - "id": 234, + "id": 235, "node_type": 46, "kind": 0, "src": { @@ -5387,7 +5496,7 @@ "implemented": true, "statements": [ { - "id": 235, + "id": 236, "node_type": 48, "src": { "line": 78, @@ -5395,10 +5504,10 @@ "start": 1979, "end": 2083, "length": 105, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 236, + "id": 237, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5408,11 +5517,11 @@ "start": 1982, "end": 1995, "length": 14, - "parent_index": 235 + "parent_index": 236 }, "operator": 11, "left_expression": { - "id": 237, + "id": 238, "node_type": 16, "src": { "line": 78, @@ -5420,7 +5529,7 @@ "start": 1982, "end": 1986, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "index", "type_description": { @@ -5428,11 +5537,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 208, - "is_pure": false + "referenced_declaration": 209, + "is_pure": false, + "text": "index" }, "right_expression": { - "id": 238, + "id": 239, "node_type": 16, "src": { "line": 78, @@ -5440,7 +5550,7 @@ "start": 1991, "end": 1995, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "count", "type_description": { @@ -5448,8 +5558,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_bool", @@ -5457,7 +5568,7 @@ } }, "body": { - "id": 239, + "id": 240, "node_type": 46, "kind": 0, "src": { @@ -5470,7 +5581,7 @@ "implemented": true, "statements": [ { - "id": 240, + "id": 241, "node_type": 27, "src": { "line": 79, @@ -5478,10 +5589,10 @@ "start": 2015, "end": 2046, "length": 32, - "parent_index": 239 + "parent_index": 240 }, "expression": { - "id": 241, + "id": 242, "node_type": 27, "src": { "line": 79, @@ -5489,11 +5600,11 @@ "start": 2015, "end": 2045, "length": 31, - "parent_index": 240 + "parent_index": 241 }, "operator": 11, "left_expression": { - "id": 242, + "id": 243, "node_type": 16, "src": { "line": 79, @@ -5501,7 +5612,7 @@ "start": 2015, "end": 2020, "length": 6, - "parent_index": 241 + "parent_index": 242 }, "name": "winner", "type_description": { @@ -5509,11 +5620,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 59, - "is_pure": false + "referenced_declaration": 60, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 243, + "id": 244, "node_type": 22, "src": { "line": 79, @@ -5521,10 +5633,10 @@ "start": 2024, "end": 2045, "length": 22, - "parent_index": 241 + "parent_index": 242 }, "index_expression": { - "id": 244, + "id": 245, "node_type": 16, "src": { "line": 79, @@ -5532,7 +5644,7 @@ "start": 2024, "end": 2038, "length": 15, - "parent_index": 243 + "parent_index": 244 }, "name": "playerAddresses", "type_description": { @@ -5540,11 +5652,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 245, + "id": 246, "node_type": 16, "src": { "line": 79, @@ -5552,7 +5665,7 @@ "start": 2040, "end": 2044, "length": 5, - "parent_index": 243 + "parent_index": 244 }, "name": "count", "type_description": { @@ -5560,8 +5673,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_descriptions": [ { @@ -5586,10 +5700,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "winner=playerAddresses[count];" }, { - "id": 246, + "id": 247, "node_type": 74, "src": { "line": 80, @@ -5597,14 +5712,14 @@ "start": 2064, "end": 2069, "length": 6, - "parent_index": 239 + "parent_index": 240 } } ] } }, { - "id": 247, + "id": 248, "node_type": 18, "kind": 105, "src": { @@ -5616,7 +5731,7 @@ }, "operator": 27, "expression": { - "id": 248, + "id": 249, "node_type": 16, "src": { "line": 83, @@ -5624,7 +5739,7 @@ "start": 2098, "end": 2102, "length": 5, - "parent_index": 247 + "parent_index": 248 }, "name": "count", "type_description": { @@ -5632,8 +5747,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_uint256", @@ -5646,7 +5762,7 @@ "l_value_requested": false }, { - "id": 249, + "id": 250, "node_type": 48, "src": { "line": 86, @@ -5654,10 +5770,10 @@ "start": 2176, "end": 2236, "length": 61, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 250, + "id": 251, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5667,11 +5783,11 @@ "start": 2180, "end": 2193, "length": 14, - "parent_index": 249 + "parent_index": 250 }, "operator": 11, "left_expression": { - "id": 251, + "id": 252, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5681,11 +5797,11 @@ "start": 2180, "end": 2188, "length": 9, - "parent_index": 250 + "parent_index": 251 }, "operator": 5, "left_expression": { - "id": 252, + "id": 253, "node_type": 16, "src": { "line": 86, @@ -5693,7 +5809,7 @@ "start": 2180, "end": 2184, "length": 5, - "parent_index": 251 + "parent_index": 252 }, "name": "count", "type_description": { @@ -5701,11 +5817,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 253, + "id": 254, "node_type": 17, "kind": 49, "value": "2", @@ -5716,7 +5833,7 @@ "start": 2188, "end": 2188, "length": 1, - "parent_index": 251 + "parent_index": 252 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -5724,7 +5841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -5732,7 +5850,7 @@ } }, "right_expression": { - "id": 254, + "id": 255, "node_type": 17, "kind": 49, "value": "1", @@ -5743,7 +5861,7 @@ "start": 2193, "end": 2193, "length": 1, - "parent_index": 250 + "parent_index": 251 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -5751,7 +5869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -5759,7 +5878,7 @@ } }, "body": { - "id": 255, + "id": 256, "node_type": 46, "kind": 0, "src": { @@ -5772,7 +5891,7 @@ "implemented": true, "statements": [ { - "id": 256, + "id": 257, "node_type": 75, "src": { "line": 87, @@ -5780,7 +5899,7 @@ "start": 2214, "end": 2222, "length": 9, - "parent_index": 255 + "parent_index": 256 } } ] @@ -5790,7 +5909,7 @@ } }, { - "id": 257, + "id": 258, "node_type": 48, "src": { "line": 91, @@ -5798,10 +5917,10 @@ "start": 2257, "end": 2329, "length": 73, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 258, + "id": 259, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5811,11 +5930,11 @@ "start": 2261, "end": 2280, "length": 20, - "parent_index": 257 + "parent_index": 258 }, "operator": 11, "left_expression": { - "id": 259, + "id": 260, "node_type": 16, "src": { "line": 91, @@ -5823,7 +5942,7 @@ "start": 2261, "end": 2266, "length": 6, - "parent_index": 258 + "parent_index": 259 }, "name": "winner", "type_description": { @@ -5831,11 +5950,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 260, + "id": 261, "node_type": 24, "kind": 24, "src": { @@ -5844,7 +5964,7 @@ "start": 2271, "end": 2280, "length": 10, - "parent_index": 258 + "parent_index": 259 }, "argument_types": [ { @@ -5854,7 +5974,7 @@ ], "arguments": [ { - "id": 263, + "id": 264, "node_type": 17, "kind": 49, "value": "0", @@ -5865,7 +5985,7 @@ "start": 2279, "end": 2279, "length": 1, - "parent_index": 260 + "parent_index": 261 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5873,11 +5993,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 261, + "id": 262, "node_type": 16, "src": { "line": 91, @@ -5885,11 +6006,11 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 260 + "parent_index": 261 }, "name": "address", "type_name": { - "id": 262, + "id": 263, "node_type": 30, "src": { "line": 91, @@ -5897,7 +6018,7 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 261 + "parent_index": 262 }, "name": "address", "state_mutability": 4, @@ -5919,7 +6040,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5932,7 +6054,7 @@ } }, "body": { - "id": 264, + "id": 265, "node_type": 46, "kind": 0, "src": { @@ -5941,12 +6063,12 @@ "start": 2283, "end": 2329, "length": 47, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 265, + "id": 266, "node_type": 78, "src": { "line": 92, @@ -5954,11 +6076,11 @@ "start": 2297, "end": 2319, "length": 23, - "parent_index": 195 + "parent_index": 196 }, "arguments": [], "expression": { - "id": 266, + "id": 267, "node_type": 16, "src": { "line": 92, @@ -5966,23 +6088,24 @@ "start": 2304, "end": 2316, "length": 13, - "parent_index": 265 + "parent_index": 266 }, "name": "InvalidWinner", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" }, "overloaded_declarations": [], - "referenced_declaration": 79, - "is_pure": false + "referenced_declaration": 80, + "is_pure": false, + "text": "InvalidWinner" } } ] } }, { - "id": 267, + "id": 268, "node_type": 64, "src": { "line": 95, @@ -5990,11 +6113,11 @@ "start": 2340, "end": 2368, "length": 29, - "parent_index": 195 + "parent_index": 196 }, "arguments": [ { - "id": 268, + "id": 269, "node_type": 16, "src": { "line": 95, @@ -6002,7 +6125,7 @@ "start": 2361, "end": 2366, "length": 6, - "parent_index": 267 + "parent_index": 268 }, "name": "winner", "type_description": { @@ -6010,12 +6133,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "expression": { - "id": 269, + "id": 270, "node_type": 16, "src": { "line": 95, @@ -6023,20 +6147,21 @@ "start": 2345, "end": 2359, "length": 15, - "parent_index": 267 + "parent_index": 268 }, "name": "LotteryFinished", "type_description": { - "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "type_string": "event Lottery.LotteryFinished" }, "overloaded_declarations": [], - "referenced_declaration": 57, - "is_pure": false + "referenced_declaration": 58, + "is_pure": false, + "text": "LotteryFinished" } }, { - "id": 270, + "id": 271, "node_type": 44, "src": { "line": 97, @@ -6044,25 +6169,25 @@ "start": 2379, "end": 2418, "length": 40, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 271 + 272 ], "declarations": [ { - "id": 271, + "id": 272, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 97, "column": 8, "start": 2379, "end": 2393, "length": 15, - "parent_index": 270 + "parent_index": 271 }, "name_location": { "line": 97, @@ -6070,12 +6195,12 @@ "start": 2387, "end": 2393, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 272, + "id": 273, "node_type": 30, "src": { "line": 97, @@ -6083,7 +6208,7 @@ "start": 2379, "end": 2385, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "name": "uint256", "referenced_declaration": 0, @@ -6096,7 +6221,7 @@ } ], "initial_value": { - "id": 273, + "id": 274, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6108,7 +6233,7 @@ "start": 2397, "end": 2417, "length": 21, - "parent_index": 270 + "parent_index": 271 }, "member_location": { "line": 97, @@ -6116,10 +6241,10 @@ "start": 2411, "end": 2417, "length": 7, - "parent_index": 273 + "parent_index": 274 }, "expression": { - "id": 274, + "id": 275, "node_type": 24, "kind": 24, "src": { @@ -6128,7 +6253,7 @@ "start": 2397, "end": 2409, "length": 13, - "parent_index": 270 + "parent_index": 271 }, "argument_types": [ { @@ -6138,7 +6263,7 @@ ], "arguments": [ { - "id": 277, + "id": 278, "node_type": 16, "src": { "line": 97, @@ -6146,7 +6271,7 @@ "start": 2405, "end": 2408, "length": 4, - "parent_index": 274 + "parent_index": 275 }, "name": "this", "type_description": { @@ -6155,11 +6280,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 275, + "id": 276, "node_type": 16, "src": { "line": 97, @@ -6167,11 +6293,11 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 274 + "parent_index": 275 }, "name": "address", "type_name": { - "id": 276, + "id": 277, "node_type": 30, "src": { "line": 97, @@ -6179,7 +6305,7 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 275 + "parent_index": 276 }, "name": "address", "state_mutability": 4, @@ -6201,7 +6327,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6213,11 +6340,12 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } }, { - "id": 278, + "id": 279, "node_type": 24, "kind": 24, "src": { @@ -6226,7 +6354,7 @@ "start": 2428, "end": 2460, "length": 33, - "parent_index": 202 + "parent_index": 203 }, "argument_types": [ { @@ -6236,7 +6364,7 @@ ], "arguments": [ { - "id": 282, + "id": 283, "node_type": 16, "src": { "line": 98, @@ -6244,7 +6372,7 @@ "start": 2453, "end": 2459, "length": 7, - "parent_index": 278 + "parent_index": 279 }, "name": "balance", "type_description": { @@ -6252,12 +6380,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 270, - "is_pure": false + "referenced_declaration": 271, + "is_pure": false, + "text": "balance" } ], "expression": { - "id": 279, + "id": 280, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6269,7 +6398,7 @@ "start": 2428, "end": 2451, "length": 24, - "parent_index": 278 + "parent_index": 279 }, "member_location": { "line": 98, @@ -6277,10 +6406,10 @@ "start": 2444, "end": 2451, "length": 8, - "parent_index": 279 + "parent_index": 280 }, "expression": { - "id": 280, + "id": 281, "node_type": 84, "src": { "line": 98, @@ -6288,11 +6417,11 @@ "start": 2428, "end": 2442, "length": 15, - "parent_index": 279 + "parent_index": 280 }, "arguments": [ { - "id": 281, + "id": 282, "node_type": 16, "src": { "line": 98, @@ -6300,7 +6429,7 @@ "start": 2436, "end": 2441, "length": 6, - "parent_index": 280 + "parent_index": 281 }, "name": "winner", "type_description": { @@ -6308,8 +6437,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "argument_types": [ @@ -6329,7 +6459,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(winner).transfer" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6344,7 +6475,7 @@ "virtual": false, "modifiers": [ { - "id": 197, + "id": 198, "name": "inState", "node_type": 72, "kind": 72, @@ -6354,7 +6485,7 @@ "start": 1697, "end": 1727, "length": 31, - "parent_index": 195 + "parent_index": 196 }, "argument_types": [ { @@ -6364,7 +6495,7 @@ ], "arguments": [ { - "id": 199, + "id": 200, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6376,7 +6507,7 @@ "start": 1705, "end": 1726, "length": 22, - "parent_index": 197 + "parent_index": 198 }, "member_location": { "line": 70, @@ -6384,10 +6515,10 @@ "start": 1718, "end": 1726, "length": 9, - "parent_index": 199 + "parent_index": 200 }, "expression": { - "id": 200, + "id": 201, "node_type": 16, "src": { "line": 70, @@ -6395,7 +6526,7 @@ "start": 1705, "end": 1716, "length": 12, - "parent_index": 199 + "parent_index": 200 }, "name": "LotteryState", "type_description": { @@ -6404,18 +6535,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 198, + "id": 199, "name": "inState", "node_type": 0, "src": { @@ -6424,14 +6557,14 @@ "start": 1697, "end": 1703, "length": 7, - "parent_index": 197 + "parent_index": 198 } } } ], "overrides": [], "parameters": { - "id": 196, + "id": 197, "node_type": 43, "src": { "line": 70, @@ -6439,13 +6572,13 @@ "start": 1665, "end": 2467, "length": 803, - "parent_index": 195 + "parent_index": 196 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 201, + "id": 202, "node_type": 43, "src": { "line": 70, @@ -6453,7 +6586,7 @@ "start": 1665, "end": 2467, "length": 803, - "parent_index": 195 + "parent_index": 196 }, "parameters": [], "parameter_types": [] @@ -6464,10 +6597,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionfinishLottery()publicinState(LotteryState.Accepting){state=LotteryState.Finished;uint256index=uint256(block.timestamp)%playerAddresses.length;addresswinner=address(0);uint256count=0;while(count\u003cplayerAddresses.length){if(index==count){winner=playerAddresses[count];break;}count++;if(count%2==1){continue;}}if(winner==address(0)){revertInvalidWinner();}emitLotteryFinished(winner);uint256balance=address(this).balance;payable(winner).transfer(balance);}" }, { - "id": 284, + "id": 285, "name": "owner", "node_type": 42, "kind": 41, @@ -6485,10 +6619,10 @@ "start": 2483, "end": 2487, "length": 5, - "parent_index": 284 + "parent_index": 285 }, "body": { - "id": 291, + "id": 292, "node_type": 46, "kind": 0, "src": { @@ -6497,12 +6631,12 @@ "start": 2521, "end": 2557, "length": 37, - "parent_index": 284 + "parent_index": 285 }, "implemented": true, "statements": [ { - "id": 292, + "id": 293, "node_type": 47, "src": { "line": 102, @@ -6510,11 +6644,11 @@ "start": 2531, "end": 2551, "length": 21, - "parent_index": 284 + "parent_index": 285 }, - "function_return_parameters": 284, + "function_return_parameters": 285, "expression": { - "id": 293, + "id": 294, "node_type": 24, "kind": 24, "src": { @@ -6523,7 +6657,7 @@ "start": 2538, "end": 2550, "length": 13, - "parent_index": 292 + "parent_index": 293 }, "argument_types": [ { @@ -6533,7 +6667,7 @@ ], "arguments": [ { - "id": 296, + "id": 297, "node_type": 16, "src": { "line": 102, @@ -6541,7 +6675,7 @@ "start": 2546, "end": 2549, "length": 4, - "parent_index": 293 + "parent_index": 294 }, "name": "this", "type_description": { @@ -6550,11 +6684,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 294, + "id": 295, "node_type": 16, "src": { "line": 102, @@ -6562,11 +6697,11 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 293 + "parent_index": 294 }, "name": "address", "type_name": { - "id": 295, + "id": 296, "node_type": 30, "src": { "line": 102, @@ -6574,7 +6709,7 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 294 + "parent_index": 295 }, "name": "address", "state_mutability": 4, @@ -6596,7 +6731,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6613,7 +6749,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 285, + "id": 286, "node_type": 43, "src": { "line": 101, @@ -6621,11 +6757,11 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 284 + "parent_index": 285 }, "parameters": [ { - "id": 286, + "id": 287, "node_type": 44, "src": { "line": 101, @@ -6633,12 +6769,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 285 + "parent_index": 286 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 287, + "id": 288, "node_type": 30, "src": { "line": 101, @@ -6646,7 +6782,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 286 + "parent_index": 287 }, "name": "address", "state_mutability": 4, @@ -6673,7 +6809,7 @@ ] }, "return_parameters": { - "id": 288, + "id": 289, "node_type": 43, "src": { "line": 101, @@ -6681,11 +6817,11 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 284 + "parent_index": 285 }, "parameters": [ { - "id": 289, + "id": 290, "node_type": 44, "src": { "line": 101, @@ -6693,12 +6829,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 288 + "parent_index": 289 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 290, + "id": 291, "node_type": 30, "src": { "line": 101, @@ -6706,7 +6842,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 289 + "parent_index": 290 }, "name": "address", "state_mutability": 4, @@ -6738,10 +6874,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){returnaddress(this);}" }, { - "id": 298, + "id": 299, "name": "balance", "node_type": 42, "kind": 41, @@ -6759,10 +6896,10 @@ "start": 2573, "end": 2579, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "body": { - "id": 305, + "id": 306, "node_type": 46, "kind": 0, "src": { @@ -6771,12 +6908,12 @@ "start": 2613, "end": 2657, "length": 45, - "parent_index": 298 + "parent_index": 299 }, "implemented": true, "statements": [ { - "id": 306, + "id": 307, "node_type": 47, "src": { "line": 106, @@ -6784,11 +6921,11 @@ "start": 2623, "end": 2651, "length": 29, - "parent_index": 298 + "parent_index": 299 }, - "function_return_parameters": 298, + "function_return_parameters": 299, "expression": { - "id": 307, + "id": 308, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6800,7 +6937,7 @@ "start": 2630, "end": 2650, "length": 21, - "parent_index": 306 + "parent_index": 307 }, "member_location": { "line": 106, @@ -6808,10 +6945,10 @@ "start": 2644, "end": 2650, "length": 7, - "parent_index": 307 + "parent_index": 308 }, "expression": { - "id": 308, + "id": 309, "node_type": 24, "kind": 24, "src": { @@ -6820,7 +6957,7 @@ "start": 2630, "end": 2642, "length": 13, - "parent_index": 307 + "parent_index": 308 }, "argument_types": [ { @@ -6830,7 +6967,7 @@ ], "arguments": [ { - "id": 311, + "id": 312, "node_type": 16, "src": { "line": 106, @@ -6838,7 +6975,7 @@ "start": 2638, "end": 2641, "length": 4, - "parent_index": 308 + "parent_index": 309 }, "name": "this", "type_description": { @@ -6847,11 +6984,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 309, + "id": 310, "node_type": 16, "src": { "line": 106, @@ -6859,11 +6997,11 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 308 + "parent_index": 309 }, "name": "address", "type_name": { - "id": 310, + "id": 311, "node_type": 30, "src": { "line": 106, @@ -6871,7 +7009,7 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 309 + "parent_index": 310 }, "name": "address", "state_mutability": 4, @@ -6893,7 +7031,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6905,7 +7044,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } } ] @@ -6917,7 +7057,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 299, + "id": 300, "node_type": 43, "src": { "line": 105, @@ -6925,11 +7065,11 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "parameters": [ { - "id": 300, + "id": 301, "node_type": 44, "src": { "line": 105, @@ -6937,12 +7077,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 299 + "parent_index": 300 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 301, + "id": 302, "node_type": 30, "src": { "line": 105, @@ -6950,7 +7090,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 300 + "parent_index": 301 }, "name": "uint256", "referenced_declaration": 0, @@ -6976,7 +7116,7 @@ ] }, "return_parameters": { - "id": 302, + "id": 303, "node_type": 43, "src": { "line": 105, @@ -6984,11 +7124,11 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "parameters": [ { - "id": 303, + "id": 304, "node_type": 44, "src": { "line": 105, @@ -6996,12 +7136,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 302 + "parent_index": 303 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 304, + "id": 305, "node_type": 30, "src": { "line": 105, @@ -7009,7 +7149,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 303 + "parent_index": 304 }, "name": "uint256", "referenced_declaration": 0, @@ -7040,10 +7180,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbalance()publicviewreturns(uint256){returnaddress(this).balance;}" }, { - "id": 313, + "id": 314, "name": "checkAllPlayers", "node_type": 42, "kind": 41, @@ -7061,10 +7202,10 @@ "start": 2708, "end": 2722, "length": 15, - "parent_index": 313 + "parent_index": 314 }, "body": { - "id": 320, + "id": 321, "node_type": 46, "kind": 0, "src": { @@ -7073,12 +7214,12 @@ "start": 2753, "end": 2977, "length": 225, - "parent_index": 313 + "parent_index": 314 }, "implemented": true, "statements": [ { - "id": 321, + "id": 322, "node_type": 79, "src": { "line": 111, @@ -7086,10 +7227,10 @@ "start": 2763, "end": 2950, "length": 188, - "parent_index": 320 + "parent_index": 321 }, "initialiser": { - "id": 322, + "id": 323, "node_type": 44, "src": { "line": 111, @@ -7097,25 +7238,25 @@ "start": 2768, "end": 2778, "length": 11, - "parent_index": 320 + "parent_index": 321 }, "assignments": [ - 323 + 324 ], "declarations": [ { - "id": 323, + "id": 324, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 320, + "scope": 321, "src": { "line": 111, "column": 13, "start": 2768, "end": 2773, "length": 6, - "parent_index": 322 + "parent_index": 323 }, "name_location": { "line": 111, @@ -7123,12 +7264,12 @@ "start": 2773, "end": 2773, "length": 1, - "parent_index": 323 + "parent_index": 324 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 324, + "id": 325, "node_type": 30, "src": { "line": 111, @@ -7136,7 +7277,7 @@ "start": 2768, "end": 2771, "length": 4, - "parent_index": 323 + "parent_index": 324 }, "name": "uint", "referenced_declaration": 0, @@ -7149,7 +7290,7 @@ } ], "initial_value": { - "id": 325, + "id": 326, "node_type": 17, "kind": 49, "value": "0", @@ -7160,7 +7301,7 @@ "start": 2777, "end": 2777, "length": 1, - "parent_index": 322 + "parent_index": 323 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7168,11 +7309,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 326, + "id": 327, "is_constant": false, "is_pure": false, "node_type": 19, @@ -7182,11 +7324,11 @@ "start": 2780, "end": 2805, "length": 26, - "parent_index": 321 + "parent_index": 322 }, "operator": 9, "left_expression": { - "id": 327, + "id": 328, "node_type": 16, "src": { "line": 111, @@ -7194,7 +7336,7 @@ "start": 2780, "end": 2780, "length": 1, - "parent_index": 326 + "parent_index": 327 }, "name": "i", "type_description": { @@ -7202,11 +7344,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 328, + "id": 329, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -7218,7 +7361,7 @@ "start": 2784, "end": 2805, "length": 22, - "parent_index": 326 + "parent_index": 327 }, "member_location": { "line": 111, @@ -7226,10 +7369,10 @@ "start": 2800, "end": 2805, "length": 6, - "parent_index": 328 + "parent_index": 329 }, "expression": { - "id": 329, + "id": 330, "node_type": 16, "src": { "line": 111, @@ -7237,7 +7380,7 @@ "start": 2784, "end": 2798, "length": 15, - "parent_index": 328 + "parent_index": 329 }, "name": "playerAddresses", "type_description": { @@ -7245,15 +7388,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -7261,7 +7406,7 @@ } }, "closure": { - "id": 330, + "id": 331, "node_type": 18, "kind": 105, "src": { @@ -7270,11 +7415,11 @@ "start": 2808, "end": 2810, "length": 3, - "parent_index": 313 + "parent_index": 314 }, "operator": 27, "expression": { - "id": 331, + "id": 332, "node_type": 16, "src": { "line": 111, @@ -7282,7 +7427,7 @@ "start": 2808, "end": 2808, "length": 1, - "parent_index": 330 + "parent_index": 331 }, "name": "i", "type_description": { @@ -7290,8 +7435,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -7304,7 +7450,7 @@ "l_value_requested": false }, "body": { - "id": 332, + "id": 333, "node_type": 46, "kind": 0, "src": { @@ -7313,12 +7459,12 @@ "start": 2813, "end": 2950, "length": 138, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 333, + "id": 334, "node_type": 48, "src": { "line": 112, @@ -7326,10 +7472,10 @@ "start": 2827, "end": 2940, "length": 114, - "parent_index": 332 + "parent_index": 333 }, "condition": { - "id": 334, + "id": 335, "is_constant": false, "is_pure": false, "node_type": 19, @@ -7339,11 +7485,11 @@ "start": 2831, "end": 2876, "length": 46, - "parent_index": 333 + "parent_index": 334 }, "operator": 11, "left_expression": { - "id": 335, + "id": 336, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -7355,7 +7501,7 @@ "start": 2831, "end": 2862, "length": 32, - "parent_index": 334 + "parent_index": 335 }, "member_location": { "line": 112, @@ -7363,10 +7509,10 @@ "start": 2859, "end": 2862, "length": 4, - "parent_index": 335 + "parent_index": 336 }, "expression": { - "id": 336, + "id": 337, "node_type": 22, "src": { "line": 112, @@ -7374,10 +7520,10 @@ "start": 2831, "end": 2857, "length": 27, - "parent_index": 335 + "parent_index": 336 }, "index_expression": { - "id": 337, + "id": 338, "node_type": 16, "src": { "line": 112, @@ -7385,19 +7531,20 @@ "start": 2831, "end": 2837, "length": 7, - "parent_index": 336 + "parent_index": 337 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 338, + "id": 339, "node_type": 22, "src": { "line": 112, @@ -7405,10 +7552,10 @@ "start": 2839, "end": 2856, "length": 18, - "parent_index": 336 + "parent_index": 337 }, "index_expression": { - "id": 339, + "id": 340, "node_type": 16, "src": { "line": 112, @@ -7416,7 +7563,7 @@ "start": 2839, "end": 2853, "length": 15, - "parent_index": 338 + "parent_index": 339 }, "name": "playerAddresses", "type_description": { @@ -7424,11 +7571,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 340, + "id": 341, "node_type": 16, "src": { "line": 112, @@ -7436,7 +7584,7 @@ "start": 2855, "end": 2855, "length": 1, - "parent_index": 338 + "parent_index": 339 }, "name": "i", "type_description": { @@ -7444,8 +7592,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -7464,7 +7613,7 @@ }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -7473,19 +7622,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" - } + }, + "text": "players[playerAddresses[i]].addr" }, "right_expression": { - "id": 341, + "id": 342, "node_type": 24, "kind": 24, "src": { @@ -7494,7 +7644,7 @@ "start": 2867, "end": 2876, "length": 10, - "parent_index": 334 + "parent_index": 335 }, "argument_types": [ { @@ -7504,7 +7654,7 @@ ], "arguments": [ { - "id": 344, + "id": 345, "node_type": 17, "kind": 49, "value": "0", @@ -7515,7 +7665,7 @@ "start": 2875, "end": 2875, "length": 1, - "parent_index": 341 + "parent_index": 342 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7523,11 +7673,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 342, + "id": 343, "node_type": 16, "src": { "line": 112, @@ -7535,11 +7686,11 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 341 + "parent_index": 342 }, "name": "address", "type_name": { - "id": 343, + "id": 344, "node_type": 30, "src": { "line": 112, @@ -7547,7 +7698,7 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 342 + "parent_index": 343 }, "name": "address", "state_mutability": 4, @@ -7569,7 +7720,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7582,7 +7734,7 @@ } }, "body": { - "id": 345, + "id": 346, "node_type": 46, "kind": 0, "src": { @@ -7591,12 +7743,12 @@ "start": 2879, "end": 2940, "length": 62, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 346, + "id": 347, "node_type": 78, "src": { "line": 113, @@ -7604,11 +7756,11 @@ "start": 2897, "end": 2926, "length": 30, - "parent_index": 321 + "parent_index": 322 }, "arguments": [], "expression": { - "id": 347, + "id": 348, "node_type": 16, "src": { "line": 113, @@ -7616,16 +7768,17 @@ "start": 2904, "end": 2923, "length": 20, - "parent_index": 346 + "parent_index": 347 }, "name": "InvalidPlayerAddress", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" }, "overloaded_declarations": [], - "referenced_declaration": 82, - "is_pure": false + "referenced_declaration": 83, + "is_pure": false, + "text": "InvalidPlayerAddress" } } ] @@ -7635,7 +7788,7 @@ } }, { - "id": 348, + "id": 349, "node_type": 47, "src": { "line": 116, @@ -7643,11 +7796,11 @@ "start": 2960, "end": 2971, "length": 12, - "parent_index": 313 + "parent_index": 314 }, - "function_return_parameters": 313, + "function_return_parameters": 314, "expression": { - "id": 349, + "id": 350, "node_type": 17, "kind": 61, "value": "true", @@ -7658,7 +7811,7 @@ "start": 2967, "end": 2970, "length": 4, - "parent_index": 348 + "parent_index": 349 }, "type_description": { "type_identifier": "t_bool", @@ -7666,7 +7819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -7678,7 +7832,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 314, + "id": 315, "node_type": 43, "src": { "line": 110, @@ -7686,11 +7840,11 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 313 + "parent_index": 314 }, "parameters": [ { - "id": 315, + "id": 316, "node_type": 44, "src": { "line": 110, @@ -7698,12 +7852,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 314 + "parent_index": 315 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 316, + "id": 317, "node_type": 30, "src": { "line": 110, @@ -7711,7 +7865,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 315 + "parent_index": 316 }, "name": "bool", "referenced_declaration": 0, @@ -7737,7 +7891,7 @@ ] }, "return_parameters": { - "id": 317, + "id": 318, "node_type": 43, "src": { "line": 110, @@ -7745,11 +7899,11 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 313 + "parent_index": 314 }, "parameters": [ { - "id": 318, + "id": 319, "node_type": 44, "src": { "line": 110, @@ -7757,12 +7911,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 317 + "parent_index": 318 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 319, + "id": 320, "node_type": 30, "src": { "line": 110, @@ -7770,7 +7924,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 318 + "parent_index": 319 }, "name": "bool", "referenced_declaration": 0, @@ -7801,10 +7955,11 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functioncheckAllPlayers()publicviewreturns(bool){for(uinti=0;i\u003cplayerAddresses.length;i++){if(players[playerAddresses[i]].addr==address(0)){revertInvalidPlayerAddress();}}returntrue;}" }, { - "id": 351, + "id": 352, "name": "requireOwner", "node_type": 42, "kind": 41, @@ -7822,10 +7977,10 @@ "start": 3026, "end": 3037, "length": 12, - "parent_index": 351 + "parent_index": 352 }, "body": { - "id": 354, + "id": 355, "node_type": 46, "kind": 0, "src": { @@ -7834,12 +7989,12 @@ "start": 3053, "end": 3145, "length": 93, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 355, + "id": 356, "node_type": 48, "src": { "line": 121, @@ -7847,10 +8002,10 @@ "start": 3063, "end": 3139, "length": 77, - "parent_index": 354 + "parent_index": 355 }, "condition": { - "id": 356, + "id": 357, "is_constant": false, "is_pure": false, "node_type": 19, @@ -7860,11 +8015,11 @@ "start": 3067, "end": 3087, "length": 21, - "parent_index": 355 + "parent_index": 356 }, "operator": 12, "left_expression": { - "id": 357, + "id": 358, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -7876,7 +8031,7 @@ "start": 3067, "end": 3076, "length": 10, - "parent_index": 356 + "parent_index": 357 }, "member_location": { "line": 121, @@ -7884,10 +8039,10 @@ "start": 3071, "end": 3076, "length": 6, - "parent_index": 357 + "parent_index": 358 }, "expression": { - "id": 358, + "id": 359, "node_type": 16, "src": { "line": 121, @@ -7895,7 +8050,7 @@ "start": 3067, "end": 3069, "length": 3, - "parent_index": 357 + "parent_index": 358 }, "name": "msg", "type_description": { @@ -7904,17 +8059,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 359, + "id": 360, "node_type": 24, "kind": 24, "src": { @@ -7923,12 +8080,12 @@ "start": 3081, "end": 3087, "length": 7, - "parent_index": 356 + "parent_index": 357 }, "argument_types": [], "arguments": [], "expression": { - "id": 360, + "id": 361, "node_type": 16, "src": { "line": 121, @@ -7936,7 +8093,7 @@ "start": 3081, "end": 3085, "length": 5, - "parent_index": 359 + "parent_index": 360 }, "name": "owner", "type_description": { @@ -7945,7 +8102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -7958,7 +8116,7 @@ } }, "body": { - "id": 361, + "id": 362, "node_type": 46, "kind": 0, "src": { @@ -7967,12 +8125,12 @@ "start": 3090, "end": 3139, "length": 50, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 362, + "id": 363, "node_type": 78, "src": { "line": 122, @@ -7980,11 +8138,11 @@ "start": 3104, "end": 3129, "length": 26, - "parent_index": 351 + "parent_index": 352 }, "arguments": [], "expression": { - "id": 363, + "id": 364, "node_type": 16, "src": { "line": 122, @@ -7992,16 +8150,17 @@ "start": 3111, "end": 3126, "length": 16, - "parent_index": 362 + "parent_index": 363 }, "name": "OnlyOwnerCanCall", "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" }, "overloaded_declarations": [], - "referenced_declaration": 85, - "is_pure": false + "referenced_declaration": 86, + "is_pure": false, + "text": "OnlyOwnerCanCall" } } ] @@ -8016,7 +8175,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 352, + "id": 353, "node_type": 43, "src": { "line": 120, @@ -8024,13 +8183,13 @@ "start": 3017, "end": 3145, "length": 129, - "parent_index": 351 + "parent_index": 352 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 353, + "id": 354, "node_type": 43, "src": { "line": 120, @@ -8038,7 +8197,7 @@ "start": 3017, "end": 3145, "length": 129, - "parent_index": 351 + "parent_index": 352 }, "parameters": [], "parameter_types": [] @@ -8049,10 +8208,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrequireOwner()publicview{if(msg.sender!=owner()){revertOnlyOwnerCanCall();}}" }, { - "id": 365, + "id": 366, "name": "callExternalFunction", "node_type": 42, "kind": 41, @@ -8070,10 +8230,10 @@ "start": 3161, "end": 3180, "length": 20, - "parent_index": 365 + "parent_index": 366 }, "body": { - "id": 370, + "id": 371, "node_type": 46, "kind": 0, "src": { @@ -8082,12 +8242,12 @@ "start": 3222, "end": 3521, "length": 300, - "parent_index": 365 + "parent_index": 366 }, "implemented": true, "statements": [ { - "id": 371, + "id": 372, "node_type": 44, "src": { "line": 127, @@ -8095,25 +8255,25 @@ "start": 3232, "end": 3302, "length": 71, - "parent_index": 370 + "parent_index": 371 }, "assignments": [ - 372 + 373 ], "declarations": [ { - "id": 372, + "id": 373, "state_mutability": 1, "name": "dummyContract", "node_type": 44, - "scope": 370, + "scope": 371, "src": { "line": 127, "column": 8, "start": 3232, "end": 3259, "length": 28, - "parent_index": 371 + "parent_index": 372 }, "name_location": { "line": 127, @@ -8121,12 +8281,12 @@ "start": 3247, "end": 3259, "length": 13, - "parent_index": 372 + "parent_index": 373 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 373, + "id": 374, "node_type": 69, "src": { "line": 127, @@ -8134,10 +8294,10 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 372 + "parent_index": 373 }, "path_node": { - "id": 374, + "id": 375, "name": "IDummyContract", "node_type": 52, "referenced_declaration": 10, @@ -8147,7 +8307,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 }, "name_location": { "line": 127, @@ -8155,7 +8315,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 } }, "referenced_declaration": 10, @@ -8168,7 +8328,7 @@ } ], "initial_value": { - "id": 375, + "id": 376, "node_type": 24, "kind": 24, "src": { @@ -8177,7 +8337,7 @@ "start": 3263, "end": 3301, "length": 39, - "parent_index": 371 + "parent_index": 372 }, "argument_types": [ { @@ -8187,7 +8347,7 @@ ], "arguments": [ { - "id": 377, + "id": 378, "node_type": 16, "src": { "line": 127, @@ -8195,7 +8355,7 @@ "start": 3278, "end": 3300, "length": 23, - "parent_index": 375 + "parent_index": 376 }, "name": "externalContractAddress", "type_description": { @@ -8203,12 +8363,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 377, - "is_pure": false + "referenced_declaration": 378, + "is_pure": false, + "text": "externalContractAddress" } ], "expression": { - "id": 376, + "id": 377, "node_type": 16, "src": { "line": 127, @@ -8216,7 +8377,7 @@ "start": 3263, "end": 3276, "length": 14, - "parent_index": 375 + "parent_index": 376 }, "name": "IDummyContract", "type_description": { @@ -8225,7 +8386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IDummyContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8234,7 +8396,7 @@ } }, { - "id": 378, + "id": 379, "node_type": 85, "src": { "line": 129, @@ -8242,10 +8404,10 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 370 + "parent_index": 371 }, "body": { - "id": 382, + "id": 383, "node_type": 46, "kind": 0, "src": { @@ -8254,12 +8416,12 @@ "start": 3347, "end": 3400, "length": 54, - "parent_index": 378 + "parent_index": 379 }, "implemented": true, "statements": [ { - "id": 383, + "id": 384, "node_type": 64, "src": { "line": 130, @@ -8267,11 +8429,11 @@ "start": 3361, "end": 3390, "length": 30, - "parent_index": 378 + "parent_index": 379 }, "arguments": [], "expression": { - "id": 384, + "id": 385, "node_type": 16, "src": { "line": 130, @@ -8279,16 +8441,17 @@ "start": 3366, "end": 3387, "length": 22, - "parent_index": 383 + "parent_index": 384 }, "name": "ExternalCallSuccessful", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "type_string": "event Lottery.ExternalCallSuccessful" }, "overloaded_declarations": [], - "referenced_declaration": 62, - "is_pure": false + "referenced_declaration": 63, + "is_pure": false, + "text": "ExternalCallSuccessful" } } ] @@ -8296,7 +8459,7 @@ "kind": 86, "returns": false, "return_parameters": { - "id": 392, + "id": 393, "node_type": 43, "src": { "line": 129, @@ -8304,13 +8467,13 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 378 + "parent_index": 379 }, "parameters": [], "parameter_types": [] }, "expression": { - "id": 379, + "id": 380, "node_type": 24, "kind": 24, "src": { @@ -8319,12 +8482,12 @@ "start": 3317, "end": 3345, "length": 29, - "parent_index": 378 + "parent_index": 379 }, "argument_types": [], "arguments": [], "expression": { - "id": 380, + "id": 381, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -8336,7 +8499,7 @@ "start": 3317, "end": 3343, "length": 27, - "parent_index": 379 + "parent_index": 380 }, "member_location": { "line": 129, @@ -8344,10 +8507,10 @@ "start": 3331, "end": 3343, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "expression": { - "id": 381, + "id": 382, "node_type": 16, "src": { "line": 129, @@ -8355,7 +8518,7 @@ "start": 3317, "end": 3329, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "name": "dummyContract", "type_description": { @@ -8363,15 +8526,17 @@ "type_string": "contract IDummyContract" }, "overloaded_declarations": [], - "referenced_declaration": 371, - "is_pure": false + "referenced_declaration": 372, + "is_pure": false, + "text": "dummyContract" }, "member_name": "dummyFunction", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IDummyContract_$10", "type_string": "contract IDummyContract" - } + }, + "text": "dummyContract.dummyFunction" }, "type_description": { "type_identifier": "t_function_$", @@ -8389,10 +8554,10 @@ "start": 3402, "end": 3515, "length": 114, - "parent_index": 378 + "parent_index": 379 }, "body": { - "id": 388, + "id": 389, "node_type": 46, "kind": 0, "src": { @@ -8405,7 +8570,7 @@ "implemented": true, "statements": [ { - "id": 389, + "id": 390, "node_type": 64, "src": { "line": 132, @@ -8416,7 +8581,7 @@ }, "arguments": [ { - "id": 390, + "id": 391, "node_type": 17, "kind": 50, "value": "External contract failed", @@ -8427,7 +8592,7 @@ "start": 3478, "end": 3503, "length": 26, - "parent_index": 389 + "parent_index": 390 }, "type_description": { "type_identifier": "t_string_literal", @@ -8435,11 +8600,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"External contract failed\"" } ], "expression": { - "id": 391, + "id": 392, "node_type": 16, "src": { "line": 132, @@ -8447,22 +8613,23 @@ "start": 3459, "end": 3476, "length": 18, - "parent_index": 389 + "parent_index": 390 }, "name": "ExternalCallFailed", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "type_string": "event Lottery.ExternalCallFailed" }, "overloaded_declarations": [], - "referenced_declaration": 65, - "is_pure": false + "referenced_declaration": 66, + "is_pure": false, + "text": "ExternalCallFailed" } } ] }, "parameters": { - "id": 385, + "id": 386, "node_type": 43, "src": { "line": 131, @@ -8473,7 +8640,7 @@ }, "parameters": [ { - "id": 386, + "id": 387, "node_type": 44, "src": { "line": 131, @@ -8481,11 +8648,11 @@ "start": 3409, "end": 3420, "length": 12, - "parent_index": 385 + "parent_index": 386 }, "name": "", "type_name": { - "id": 387, + "id": 388, "node_type": 30, "src": { "line": 131, @@ -8493,7 +8660,7 @@ "start": 3409, "end": 3413, "length": 5, - "parent_index": 386 + "parent_index": 387 }, "name": "bytes", "referenced_declaration": 0, @@ -8531,7 +8698,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 366, + "id": 367, "node_type": 43, "src": { "line": 126, @@ -8539,11 +8706,11 @@ "start": 3182, "end": 3212, "length": 31, - "parent_index": 365 + "parent_index": 366 }, "parameters": [ { - "id": 367, + "id": 368, "node_type": 44, "src": { "line": 126, @@ -8551,12 +8718,12 @@ "start": 3182, "end": 3212, "length": 31, - "parent_index": 366 + "parent_index": 367 }, - "scope": 365, + "scope": 366, "name": "externalContractAddress", "type_name": { - "id": 368, + "id": 369, "node_type": 30, "src": { "line": 126, @@ -8564,7 +8731,7 @@ "start": 3182, "end": 3188, "length": 7, - "parent_index": 367 + "parent_index": 368 }, "name": "address", "state_mutability": 4, @@ -8591,7 +8758,7 @@ ] }, "return_parameters": { - "id": 369, + "id": 370, "node_type": 43, "src": { "line": 126, @@ -8599,7 +8766,7 @@ "start": 3152, "end": 3521, "length": 370, - "parent_index": 365 + "parent_index": 366 }, "parameters": [], "parameter_types": [] @@ -8610,10 +8777,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functioncallExternalFunction(addressexternalContractAddress)public{IDummyContractdummyContract=IDummyContract(externalContractAddress);trydummyContract.dummyFunction(){emitExternalCallSuccessful();}catch(bytesmemory){emitExternalCallFailed(\"External contract failed\");}}" }, { - "id": 394, + "id": 395, "name": "integerToString", "node_type": 42, "kind": 41, @@ -8631,10 +8799,10 @@ "start": 3537, "end": 3551, "length": 15, - "parent_index": 394 + "parent_index": 395 }, "body": { - "id": 401, + "id": 402, "node_type": 46, "kind": 0, "src": { @@ -8643,12 +8811,12 @@ "start": 3609, "end": 4071, "length": 463, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 402, + "id": 403, "node_type": 48, "src": { "line": 139, @@ -8656,10 +8824,10 @@ "start": 3628, "end": 3675, "length": 48, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 403, + "id": 404, "is_constant": false, "is_pure": false, "node_type": 19, @@ -8669,11 +8837,11 @@ "start": 3632, "end": 3638, "length": 7, - "parent_index": 402 + "parent_index": 403 }, "operator": 11, "left_expression": { - "id": 404, + "id": 405, "node_type": 16, "src": { "line": 139, @@ -8681,7 +8849,7 @@ "start": 3632, "end": 3633, "length": 2, - "parent_index": 403 + "parent_index": 404 }, "name": "_i", "type_description": { @@ -8689,11 +8857,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false + "referenced_declaration": 405, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 405, + "id": 406, "node_type": 17, "kind": 49, "value": "0", @@ -8704,7 +8873,7 @@ "start": 3638, "end": 3638, "length": 1, - "parent_index": 403 + "parent_index": 404 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -8712,7 +8881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8720,7 +8890,7 @@ } }, "body": { - "id": 406, + "id": 407, "node_type": 46, "kind": 0, "src": { @@ -8729,12 +8899,12 @@ "start": 3641, "end": 3675, "length": 35, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 407, + "id": 408, "node_type": 47, "src": { "line": 140, @@ -8742,11 +8912,11 @@ "start": 3655, "end": 3665, "length": 11, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 408, + "id": 409, "node_type": 17, "kind": 50, "value": "0", @@ -8757,7 +8927,7 @@ "start": 3662, "end": 3664, "length": 3, - "parent_index": 407 + "parent_index": 408 }, "type_description": { "type_identifier": "t_string_literal", @@ -8765,14 +8935,15 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] } }, { - "id": 409, + "id": 410, "node_type": 44, "src": { "line": 142, @@ -8780,25 +8951,25 @@ "start": 3685, "end": 3696, "length": 12, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 410 + 411 ], "declarations": [ { - "id": 410, + "id": 411, "state_mutability": 1, "name": "j", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 142, "column": 8, "start": 3685, "end": 3690, "length": 6, - "parent_index": 409 + "parent_index": 410 }, "name_location": { "line": 142, @@ -8806,12 +8977,12 @@ "start": 3690, "end": 3690, "length": 1, - "parent_index": 410 + "parent_index": 411 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 411, + "id": 412, "node_type": 30, "src": { "line": 142, @@ -8819,7 +8990,7 @@ "start": 3685, "end": 3688, "length": 4, - "parent_index": 410 + "parent_index": 411 }, "name": "uint", "referenced_declaration": 0, @@ -8832,7 +9003,7 @@ } ], "initial_value": { - "id": 412, + "id": 413, "node_type": 16, "src": { "line": 142, @@ -8840,7 +9011,7 @@ "start": 3694, "end": 3695, "length": 2, - "parent_index": 409 + "parent_index": 410 }, "name": "_i", "type_description": { @@ -8848,12 +9019,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 412, - "is_pure": false + "referenced_declaration": 413, + "is_pure": false, + "text": "_i" } }, { - "id": 413, + "id": 414, "node_type": 44, "src": { "line": 143, @@ -8861,25 +9033,25 @@ "start": 3706, "end": 3714, "length": 9, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 414 + 415 ], "declarations": [ { - "id": 414, + "id": 415, "state_mutability": 1, "name": "len", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 143, "column": 8, "start": 3706, "end": 3713, "length": 8, - "parent_index": 413 + "parent_index": 414 }, "name_location": { "line": 143, @@ -8887,12 +9059,12 @@ "start": 3711, "end": 3713, "length": 3, - "parent_index": 414 + "parent_index": 415 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 415, + "id": 416, "node_type": 30, "src": { "line": 143, @@ -8900,7 +9072,7 @@ "start": 3706, "end": 3709, "length": 4, - "parent_index": 414 + "parent_index": 415 }, "name": "uint", "referenced_declaration": 0, @@ -8923,10 +9095,10 @@ "start": 3733, "end": 3798, "length": 66, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 416, + "id": 417, "is_constant": false, "is_pure": false, "node_type": 19, @@ -8939,7 +9111,7 @@ }, "operator": 12, "left_expression": { - "id": 417, + "id": 418, "node_type": 16, "src": { "line": 145, @@ -8947,7 +9119,7 @@ "start": 3740, "end": 3740, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "name": "j", "type_description": { @@ -8955,11 +9127,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 418, + "id": 419, "node_type": 17, "kind": 49, "value": "0", @@ -8970,7 +9143,7 @@ "start": 3745, "end": 3745, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -8978,7 +9151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8986,7 +9160,7 @@ } }, "body": { - "id": 419, + "id": 420, "node_type": 46, "kind": 0, "src": { @@ -8999,7 +9173,7 @@ "implemented": true, "statements": [ { - "id": 420, + "id": 421, "node_type": 18, "kind": 105, "src": { @@ -9011,7 +9185,7 @@ }, "operator": 27, "expression": { - "id": 421, + "id": 422, "node_type": 16, "src": { "line": 146, @@ -9019,7 +9193,7 @@ "start": 3762, "end": 3764, "length": 3, - "parent_index": 420 + "parent_index": 421 }, "name": "len", "type_description": { @@ -9027,8 +9201,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_uint256", @@ -9041,7 +9216,7 @@ "l_value_requested": false }, { - "id": 422, + "id": 423, "node_type": 27, "src": { "line": 147, @@ -9049,10 +9224,10 @@ "start": 3781, "end": 3788, "length": 8, - "parent_index": 419 + "parent_index": 420 }, "expression": { - "id": 423, + "id": 424, "node_type": 27, "src": { "line": 147, @@ -9060,11 +9235,11 @@ "start": 3781, "end": 3787, "length": 7, - "parent_index": 422 + "parent_index": 423 }, "operator": 4, "left_expression": { - "id": 424, + "id": 425, "node_type": 16, "src": { "line": 147, @@ -9072,7 +9247,7 @@ "start": 3781, "end": 3781, "length": 1, - "parent_index": 423 + "parent_index": 424 }, "name": "j", "type_description": { @@ -9080,11 +9255,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 425, + "id": 426, "node_type": 17, "kind": 49, "value": "10", @@ -9095,7 +9271,7 @@ "start": 3786, "end": 3787, "length": 2, - "parent_index": 423 + "parent_index": 424 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -9103,7 +9279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -9113,13 +9290,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "j/=10;" } ] } }, { - "id": 426, + "id": 427, "node_type": 44, "src": { "line": 149, @@ -9127,25 +9305,25 @@ "start": 3808, "end": 3842, "length": 35, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 427 + 428 ], "declarations": [ { - "id": 427, + "id": 428, "state_mutability": 1, "name": "bstr", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 149, "column": 8, "start": 3808, "end": 3824, "length": 17, - "parent_index": 426 + "parent_index": 427 }, "name_location": { "line": 149, @@ -9153,12 +9331,12 @@ "start": 3821, "end": 3824, "length": 4, - "parent_index": 427 + "parent_index": 428 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 428, + "id": 429, "node_type": 30, "src": { "line": 149, @@ -9166,7 +9344,7 @@ "start": 3808, "end": 3812, "length": 5, - "parent_index": 427 + "parent_index": 428 }, "name": "bytes", "referenced_declaration": 0, @@ -9179,7 +9357,7 @@ } ], "initial_value": { - "id": 429, + "id": 430, "node_type": 24, "kind": 24, "src": { @@ -9188,7 +9366,7 @@ "start": 3828, "end": 3841, "length": 14, - "parent_index": 426 + "parent_index": 427 }, "argument_types": [ { @@ -9198,7 +9376,7 @@ ], "arguments": [ { - "id": 432, + "id": 433, "node_type": 16, "src": { "line": 149, @@ -9206,7 +9384,7 @@ "start": 3838, "end": 3840, "length": 3, - "parent_index": 429 + "parent_index": 430 }, "name": "len", "type_description": { @@ -9214,12 +9392,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" } ], "expression": { - "id": 430, + "id": 431, "node_type": 25, "src": { "line": 149, @@ -9227,11 +9406,11 @@ "start": 3828, "end": 3836, "length": 9, - "parent_index": 429 + "parent_index": 430 }, "argument_types": [], "type_name": { - "id": 431, + "id": 432, "node_type": 30, "src": { "line": 149, @@ -9239,7 +9418,7 @@ "start": 3832, "end": 3836, "length": 5, - "parent_index": 430 + "parent_index": 431 }, "name": "bytes", "referenced_declaration": 0, @@ -9260,7 +9439,7 @@ } }, { - "id": 433, + "id": 434, "node_type": 44, "src": { "line": 150, @@ -9268,25 +9447,25 @@ "start": 3852, "end": 3868, "length": 17, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 434 + 435 ], "declarations": [ { - "id": 434, + "id": 435, "state_mutability": 1, "name": "k", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 150, "column": 8, "start": 3852, "end": 3857, "length": 6, - "parent_index": 433 + "parent_index": 434 }, "name_location": { "line": 150, @@ -9294,12 +9473,12 @@ "start": 3857, "end": 3857, "length": 1, - "parent_index": 434 + "parent_index": 435 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 435, + "id": 436, "node_type": 30, "src": { "line": 150, @@ -9307,7 +9486,7 @@ "start": 3852, "end": 3855, "length": 4, - "parent_index": 434 + "parent_index": 435 }, "name": "uint", "referenced_declaration": 0, @@ -9320,7 +9499,7 @@ } ], "initial_value": { - "id": 436, + "id": 437, "is_constant": false, "is_pure": false, "node_type": 19, @@ -9330,11 +9509,11 @@ "start": 3861, "end": 3867, "length": 7, - "parent_index": 433 + "parent_index": 434 }, "operator": 2, "left_expression": { - "id": 437, + "id": 438, "node_type": 16, "src": { "line": 150, @@ -9342,7 +9521,7 @@ "start": 3861, "end": 3863, "length": 3, - "parent_index": 436 + "parent_index": 437 }, "name": "len", "type_description": { @@ -9350,11 +9529,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "right_expression": { - "id": 438, + "id": 439, "node_type": 17, "kind": 49, "value": "1", @@ -9365,7 +9545,7 @@ "start": 3867, "end": 3867, "length": 1, - "parent_index": 436 + "parent_index": 437 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -9373,7 +9553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -9382,7 +9563,7 @@ } }, { - "id": 439, + "id": 440, "node_type": 76, "src": { "line": 152, @@ -9390,10 +9571,10 @@ "start": 3887, "end": 4036, "length": 150, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 440, + "id": 441, "is_constant": false, "is_pure": false, "node_type": 19, @@ -9403,11 +9584,11 @@ "start": 4028, "end": 4034, "length": 7, - "parent_index": 439 + "parent_index": 440 }, "operator": 12, "left_expression": { - "id": 441, + "id": 442, "node_type": 16, "src": { "line": 156, @@ -9415,7 +9596,7 @@ "start": 4028, "end": 4029, "length": 2, - "parent_index": 440 + "parent_index": 441 }, "name": "_i", "type_description": { @@ -9423,11 +9604,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 441, - "is_pure": false + "referenced_declaration": 442, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 442, + "id": 443, "node_type": 17, "kind": 49, "value": "0", @@ -9438,7 +9620,7 @@ "start": 4034, "end": 4034, "length": 1, - "parent_index": 440 + "parent_index": 441 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -9446,7 +9628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9454,7 +9637,7 @@ } }, "body": { - "id": 443, + "id": 444, "node_type": 46, "kind": 0, "src": { @@ -9463,12 +9646,12 @@ "start": 3890, "end": 4011, "length": 122, - "parent_index": 439 + "parent_index": 440 }, "implemented": true, "statements": [ { - "id": 444, + "id": 445, "node_type": 27, "src": { "line": 153, @@ -9476,10 +9659,10 @@ "start": 3940, "end": 3979, "length": 40, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 445, + "id": 446, "node_type": 27, "src": { "line": 153, @@ -9487,11 +9670,11 @@ "start": 3940, "end": 3978, "length": 39, - "parent_index": 444 + "parent_index": 445 }, "operator": 11, "left_expression": { - "id": 446, + "id": 447, "node_type": 22, "src": { "line": 153, @@ -9499,10 +9682,10 @@ "start": 3940, "end": 3948, "length": 9, - "parent_index": 445 + "parent_index": 446 }, "index_expression": { - "id": 447, + "id": 448, "node_type": 16, "src": { "line": 153, @@ -9510,7 +9693,7 @@ "start": 3940, "end": 3943, "length": 4, - "parent_index": 446 + "parent_index": 447 }, "name": "bstr", "type_description": { @@ -9518,11 +9701,12 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" }, "base_expression": { - "id": 448, + "id": 449, "node_type": 18, "kind": 105, "src": { @@ -9531,11 +9715,11 @@ "start": 3945, "end": 3947, "length": 3, - "parent_index": 439 + "parent_index": 440 }, "operator": 28, "expression": { - "id": 449, + "id": 450, "node_type": 16, "src": { "line": 153, @@ -9543,7 +9727,7 @@ "start": 3945, "end": 3945, "length": 1, - "parent_index": 448 + "parent_index": 449 }, "name": "k", "type_description": { @@ -9551,8 +9735,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 433, - "is_pure": false + "referenced_declaration": 434, + "is_pure": false, + "text": "k" }, "type_description": { "type_identifier": "t_uint256", @@ -9580,7 +9765,7 @@ } }, "right_expression": { - "id": 450, + "id": 451, "node_type": 24, "kind": 24, "src": { @@ -9589,7 +9774,7 @@ "start": 3952, "end": 3978, "length": 27, - "parent_index": 445 + "parent_index": 446 }, "argument_types": [ { @@ -9599,7 +9784,7 @@ ], "arguments": [ { - "id": 453, + "id": 454, "node_type": 24, "kind": 24, "src": { @@ -9608,7 +9793,7 @@ "start": 3959, "end": 3977, "length": 19, - "parent_index": 450 + "parent_index": 451 }, "argument_types": [ { @@ -9618,7 +9803,7 @@ ], "arguments": [ { - "id": 456, + "id": 457, "is_constant": false, "is_pure": false, "node_type": 19, @@ -9628,11 +9813,11 @@ "start": 3965, "end": 3976, "length": 12, - "parent_index": 453 + "parent_index": 454 }, "operator": 1, "left_expression": { - "id": 457, + "id": 458, "node_type": 17, "kind": 49, "value": "48", @@ -9643,7 +9828,7 @@ "start": 3965, "end": 3966, "length": 2, - "parent_index": 456 + "parent_index": 457 }, "type_description": { "type_identifier": "t_rational_48_by_1", @@ -9651,10 +9836,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { - "id": 458, + "id": 459, "is_constant": false, "is_pure": false, "node_type": 19, @@ -9664,11 +9850,11 @@ "start": 3970, "end": 3976, "length": 7, - "parent_index": 456 + "parent_index": 457 }, "operator": 5, "left_expression": { - "id": 459, + "id": 460, "node_type": 16, "src": { "line": 153, @@ -9676,7 +9862,7 @@ "start": 3970, "end": 3971, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "name": "_i", "type_description": { @@ -9684,11 +9870,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 460, + "id": 461, "node_type": 17, "kind": 49, "value": "10", @@ -9699,7 +9886,7 @@ "start": 3975, "end": 3976, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -9707,7 +9894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -9721,7 +9909,7 @@ } ], "expression": { - "id": 454, + "id": 455, "node_type": 16, "src": { "line": 153, @@ -9729,11 +9917,11 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 453 + "parent_index": 454 }, "name": "uint8", "type_name": { - "id": 455, + "id": 456, "node_type": 30, "src": { "line": 153, @@ -9741,7 +9929,7 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 454 + "parent_index": 455 }, "name": "uint8", "referenced_declaration": 0, @@ -9762,7 +9950,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -9771,7 +9960,7 @@ } ], "expression": { - "id": 451, + "id": 452, "node_type": 16, "src": { "line": 153, @@ -9779,11 +9968,11 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 450 + "parent_index": 451 }, "name": "bytes1", "type_name": { - "id": 452, + "id": 453, "node_type": 30, "src": { "line": 153, @@ -9791,7 +9980,7 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 451 + "parent_index": 452 }, "name": "bytes1", "referenced_declaration": 0, @@ -9812,7 +10001,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -9827,10 +10017,11 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "bstr[k--]=bytes1(uint8(48+_i%10));" }, { - "id": 461, + "id": 462, "node_type": 27, "src": { "line": 154, @@ -9838,10 +10029,10 @@ "start": 3993, "end": 4001, "length": 9, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 462, + "id": 463, "node_type": 27, "src": { "line": 154, @@ -9849,11 +10040,11 @@ "start": 3993, "end": 4000, "length": 8, - "parent_index": 461 + "parent_index": 462 }, "operator": 4, "left_expression": { - "id": 463, + "id": 464, "node_type": 16, "src": { "line": 154, @@ -9861,7 +10052,7 @@ "start": 3993, "end": 3994, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "name": "_i", "type_description": { @@ -9869,11 +10060,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 464, + "id": 465, "node_type": 17, "kind": 49, "value": "10", @@ -9884,7 +10076,7 @@ "start": 3999, "end": 4000, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -9892,7 +10084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -9902,13 +10095,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_i/=10;" } ] } }, { - "id": 465, + "id": 466, "node_type": 47, "src": { "line": 157, @@ -9916,11 +10110,11 @@ "start": 4046, "end": 4065, "length": 20, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 466, + "id": 467, "node_type": 24, "kind": 24, "src": { @@ -9929,7 +10123,7 @@ "start": 4053, "end": 4064, "length": 12, - "parent_index": 465 + "parent_index": 466 }, "argument_types": [ { @@ -9939,7 +10133,7 @@ ], "arguments": [ { - "id": 469, + "id": 470, "node_type": 16, "src": { "line": 157, @@ -9947,7 +10141,7 @@ "start": 4060, "end": 4063, "length": 4, - "parent_index": 466 + "parent_index": 467 }, "name": "bstr", "type_description": { @@ -9955,12 +10149,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" } ], "expression": { - "id": 467, + "id": 468, "node_type": 16, "src": { "line": 157, @@ -9968,11 +10163,11 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 466 + "parent_index": 467 }, "name": "string", "type_name": { - "id": 468, + "id": 469, "node_type": 30, "src": { "line": 157, @@ -9980,7 +10175,7 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 467 + "parent_index": 468 }, "name": "string", "referenced_declaration": 0, @@ -10001,7 +10196,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -10018,7 +10214,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 395, + "id": 396, "node_type": 43, "src": { "line": 136, @@ -10026,11 +10222,11 @@ "start": 3553, "end": 3559, "length": 7, - "parent_index": 394 + "parent_index": 395 }, "parameters": [ { - "id": 396, + "id": 397, "node_type": 44, "src": { "line": 136, @@ -10038,12 +10234,12 @@ "start": 3553, "end": 3559, "length": 7, - "parent_index": 395 + "parent_index": 396 }, - "scope": 394, + "scope": 395, "name": "_i", "type_name": { - "id": 397, + "id": 398, "node_type": 30, "src": { "line": 136, @@ -10051,7 +10247,7 @@ "start": 3553, "end": 3556, "length": 4, - "parent_index": 396 + "parent_index": 397 }, "name": "uint", "referenced_declaration": 0, @@ -10077,7 +10273,7 @@ ] }, "return_parameters": { - "id": 398, + "id": 399, "node_type": 43, "src": { "line": 137, @@ -10085,11 +10281,11 @@ "start": 3594, "end": 3606, "length": 13, - "parent_index": 394 + "parent_index": 395 }, "parameters": [ { - "id": 399, + "id": 400, "node_type": 44, "src": { "line": 137, @@ -10097,12 +10293,12 @@ "start": 3594, "end": 3606, "length": 13, - "parent_index": 398 + "parent_index": 399 }, - "scope": 394, + "scope": 395, "name": "", "type_name": { - "id": 400, + "id": 401, "node_type": 30, "src": { "line": 137, @@ -10110,7 +10306,7 @@ "start": 3594, "end": 3599, "length": 6, - "parent_index": 399 + "parent_index": 400 }, "name": "string", "referenced_declaration": 0, @@ -10141,10 +10337,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionintegerToString(uint_i)internalpurereturns(stringmemory){if(_i==0){return\"0\";}uintj=_i;uintlen;while(j!=0){len++;j/=10;}bytesmemorybstr=newbytes(len);uintk=len-1;do{bstr[k--]=bytes1(uint8(48+_i%10));_i/=10;}while(_i!=0);returnstring(bstr);}" }, { - "id": 471, + "id": 472, "name": "dummyFunctionAssembly", "node_type": 42, "kind": 41, @@ -10162,10 +10359,10 @@ "start": 4087, "end": 4107, "length": 21, - "parent_index": 471 + "parent_index": 472 }, "body": { - "id": 478, + "id": 479, "node_type": 46, "kind": 0, "src": { @@ -10174,12 +10371,12 @@ "start": 4148, "end": 4232, "length": 85, - "parent_index": 471 + "parent_index": 472 }, "implemented": true, "statements": [ { - "id": 479, + "id": 480, "node_type": 89, "src": { "line": 161, @@ -10187,10 +10384,10 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 478 + "parent_index": 479 }, "body": { - "id": 480, + "id": 481, "node_type": 111, "kind": 0, "src": { @@ -10199,12 +10396,12 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 479 + "parent_index": 480 }, "implemented": false, "statements": [ { - "id": 481, + "id": 482, "node_type": 91, "src": { "line": 162, @@ -10212,11 +10409,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "statements": [ { - "id": 482, + "id": 483, "node_type": 92, "src": { "line": 162, @@ -10224,11 +10421,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "variable_names": [ { - "id": 483, + "id": 484, "node_type": 107, "src": { "line": 162, @@ -10236,13 +10433,13 @@ "start": 4181, "end": 4186, "length": 6, - "parent_index": 482 + "parent_index": 483 }, "name": "result" } ], "value": { - "id": 484, + "id": 485, "node_type": 123, "src": { "line": 162, @@ -10250,10 +10447,10 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 482 + "parent_index": 483 }, "expression": { - "id": 485, + "id": 486, "node_type": 110, "src": { "line": 162, @@ -10261,10 +10458,10 @@ "start": 4191, "end": 4199, "length": 9, - "parent_index": 479 + "parent_index": 480 }, "function_name": { - "id": 486, + "id": 487, "node_type": 107, "src": { "line": 162, @@ -10272,13 +10469,13 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 485 + "parent_index": 486 }, "name": "add" }, "arguments": [ { - "id": 487, + "id": 488, "node_type": 109, "kind": 115, "src": { @@ -10287,13 +10484,13 @@ "start": 4195, "end": 4195, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "1", "hex_value": "" }, { - "id": 488, + "id": 489, "node_type": 109, "kind": 115, "src": { @@ -10302,7 +10499,7 @@ "start": 4198, "end": 4198, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "2", "hex_value": "" @@ -10325,7 +10522,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 472, + "id": 473, "node_type": 43, "src": { "line": 160, @@ -10333,11 +10530,11 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 471 + "parent_index": 472 }, "parameters": [ { - "id": 473, + "id": 474, "node_type": 44, "src": { "line": 160, @@ -10345,12 +10542,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 472 + "parent_index": 473 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 474, + "id": 475, "node_type": 30, "src": { "line": 160, @@ -10358,7 +10555,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 473 + "parent_index": 474 }, "name": "uint256", "referenced_declaration": 0, @@ -10384,7 +10581,7 @@ ] }, "return_parameters": { - "id": 475, + "id": 476, "node_type": 43, "src": { "line": 160, @@ -10392,11 +10589,11 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 471 + "parent_index": 472 }, "parameters": [ { - "id": 476, + "id": 477, "node_type": 44, "src": { "line": 160, @@ -10404,12 +10601,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 475 + "parent_index": 476 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 477, + "id": 478, "node_type": 30, "src": { "line": 160, @@ -10417,7 +10614,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 476 + "parent_index": 477 }, "name": "uint256", "referenced_declaration": 0, @@ -10448,7 +10645,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondummyFunctionAssembly()publicpurereturns(uint256result){assembly{result:=add(1,2)}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/ast/Lottery.solgo.ast.proto.json b/data/tests/ast/Lottery.solgo.ast.proto.json index 85e1fb23..fa4c01f7 100644 --- a/data/tests/ast/Lottery.solgo.ast.proto.json +++ b/data/tests/ast/Lottery.solgo.ast.proto.json @@ -6,12 +6,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "489", + "id": "490", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3132333435", - "id": "491", + "id": "492", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -20,7 +20,7 @@ "end": "209", "length": "5", "line": "9", - "parentIndex": "489", + "parentIndex": "490", "start": "205" }, "typeDescription": { @@ -48,7 +48,7 @@ "typeString": "int_const 12345" }, "typeName": { - "id": "490", + "id": "491", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -56,7 +56,7 @@ "end": "170", "length": "7", "line": "9", - "parentIndex": "489", + "parentIndex": "490", "start": "164" }, "typeDescription": { @@ -71,57 +71,57 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Enum", "value": { "canonicalName": "Global.LotteryState", - "id": "492", + "id": "493", "members": [ { - "id": "493", + "id": "494", "name": "Accepting", "nameLocation": { "column": "24", "end": "245", "length": "9", "line": "11", - "parentIndex": "492", + "parentIndex": "493", "start": "237" }, "nodeType": "ENUM_VALUE", - "scope": "493", + "scope": "494", "src": { "column": "24", "end": "245", "length": "8", "line": "11", - "parentIndex": "492", + "parentIndex": "493", "start": "237" }, "typeDescription": { - "typeIdentifier": "t_enum_$_LotteryState$_Accepting_$493", + "typeIdentifier": "t_enum_$_LotteryState$_Accepting_$494", "typeString": "enum Global.LotteryState.Accepting" } }, { - "id": "494", + "id": "495", "name": "Finished", "nameLocation": { "column": "35", "end": "255", "length": "8", "line": "11", - "parentIndex": "492", + "parentIndex": "493", "start": "248" }, "nodeType": "ENUM_VALUE", - "scope": "494", + "scope": "495", "src": { "column": "35", "end": "255", "length": "7", "line": "11", - "parentIndex": "492", + "parentIndex": "493", "start": "248" }, "typeDescription": { - "typeIdentifier": "t_enum_$_LotteryState$_Finished_$494", + "typeIdentifier": "t_enum_$_LotteryState$_Finished_$495", "typeString": "enum Global.LotteryState.Finished" } } @@ -132,7 +132,7 @@ "end": "233", "length": "12", "line": "11", - "parentIndex": "492", + "parentIndex": "493", "start": "222" }, "nodeType": "ENUM_DEFINITION", @@ -144,7 +144,7 @@ "start": "217" }, "typeDescription": { - "typeIdentifier": "t_enum_$_LotteryState_$492", + "typeIdentifier": "t_enum_$_LotteryState_$493", "typeString": "enum Global.LotteryState" } } @@ -153,19 +153,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Player", - "id": "495", + "id": "496", "members": [ { - "id": "496", + "id": "497", "name": "addr", "nodeType": "VARIABLE_DECLARATION", - "scope": "496", + "scope": "497", "src": { "column": "8", "end": "299", "length": "13", "line": "13", - "parentIndex": "495", + "parentIndex": "496", "start": "287" }, "stateMutability": "NONPAYABLE", @@ -174,7 +174,7 @@ "typeString": "address" }, "typeName": { - "id": "497", + "id": "498", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -182,7 +182,7 @@ "end": "293", "length": "7", "line": "13", - "parentIndex": "496", + "parentIndex": "497", "start": "287" }, "stateMutability": "NONPAYABLE", @@ -194,16 +194,16 @@ "visibility": "INTERNAL" }, { - "id": "498", + "id": "499", "name": "ticketCount", "nodeType": "VARIABLE_DECLARATION", - "scope": "498", + "scope": "499", "src": { "column": "8", "end": "328", "length": "20", "line": "14", - "parentIndex": "495", + "parentIndex": "496", "start": "309" }, "stateMutability": "MUTABLE", @@ -212,7 +212,7 @@ "typeString": "uint256" }, "typeName": { - "id": "499", + "id": "500", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -220,7 +220,7 @@ "end": "315", "length": "7", "line": "14", - "parentIndex": "498", + "parentIndex": "499", "start": "309" }, "typeDescription": { @@ -237,7 +237,7 @@ "end": "275", "length": "6", "line": "12", - "parentIndex": "495", + "parentIndex": "496", "start": "270" }, "nodeType": "STRUCT_DEFINITION", @@ -250,7 +250,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Player_$495", + "typeIdentifier": "t_struct$_Global_Player_$496", "typeString": "struct Global.Player" }, "visibility": "PUBLIC" @@ -259,7 +259,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "500", + "id": "501", "isStateVariable": true, "name": "players", "nodeType": "VARIABLE_DECLARATION", @@ -273,13 +273,13 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Global_Player_$496$", "typeString": "mapping(address=\u003ePlayer)" }, "typeName": { - "id": "501", + "id": "502", "keyType": { - "id": "502", + "id": "503", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -287,7 +287,7 @@ "end": "354", "length": "7", "line": "16", - "parentIndex": "501", + "parentIndex": "502", "start": "348" }, "typeDescription": { @@ -300,36 +300,61 @@ "end": "354", "length": "7", "line": "16", - "parentIndex": "501", + "parentIndex": "502", "start": "348" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "505", + "name": "Player", + "nameLocation": { + "column": "23", + "end": "364", + "length": "6", + "line": "16", + "parentIndex": "502", + "start": "359" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "496", + "src": { + "column": "23", + "end": "364", + "length": "6", + "line": "16", + "parentIndex": "502", + "start": "359" + } + }, + "referencedDeclaration": "496", "src": { "column": "4", "end": "365", "length": "26", "line": "16", - "parentIndex": "500", + "parentIndex": "501", "start": "340" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Global_Player_$496$", "typeString": "mapping(address=\u003ePlayer)" }, "valueType": { - "id": "503", + "id": "504", "name": "Player", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "496", "src": { "column": "23", "end": "364", "length": "6", "line": "16", - "parentIndex": "501", + "parentIndex": "502", "start": "359" }, "typeDescription": { - "typeIdentifier": "t_Player", - "typeString": "Player" + "typeIdentifier": "t_struct$_Global_Player_$496", + "typeString": "struct Global.Player" } }, "valueTypeLocation": { @@ -337,7 +362,7 @@ "end": "364", "length": "6", "line": "16", - "parentIndex": "501", + "parentIndex": "502", "start": "359" } }, @@ -347,7 +372,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "504", + "id": "506", "isStateVariable": true, "name": "playerAddresses", "nodeType": "VARIABLE_DECLARATION", @@ -365,7 +390,7 @@ "typeString": "address" }, "typeName": { - "id": "505", + "id": "507", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -373,7 +398,7 @@ "end": "393", "length": "7", "line": "17", - "parentIndex": "504", + "parentIndex": "506", "start": "387" }, "typeDescription": { @@ -387,7 +412,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "506", + "id": "508", "isStateVariable": true, "name": "state", "nodeType": "VARIABLE_DECLARATION", @@ -401,45 +426,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_enum_$_LotteryState_$492", + "typeIdentifier": "t_enum_$_LotteryState_$493", "typeString": "enum Global.LotteryState" }, "typeName": { - "id": "507", + "id": "509", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "508", + "id": "510", "name": "LotteryState", "nameLocation": { "column": "4", "end": "437", "length": "12", "line": "19", - "parentIndex": "507", + "parentIndex": "509", "start": "426" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "492", + "referencedDeclaration": "493", "src": { "column": "4", "end": "437", "length": "12", "line": "19", - "parentIndex": "507", + "parentIndex": "509", "start": "426" } }, - "referencedDeclaration": "492", + "referencedDeclaration": "493", "src": { "column": "4", "end": "437", "length": "12", "line": "19", - "parentIndex": "506", + "parentIndex": "508", "start": "426" }, "typeDescription": { - "typeIdentifier": "t_enum_$_LotteryState_$492", + "typeIdentifier": "t_enum_$_LotteryState_$493", "typeString": "enum Global.LotteryState" } }, @@ -449,24 +474,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "509", + "id": "511", "name": "PlayerJoined", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "510", + "id": "512", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "511", + "id": "513", "name": "addr", "nodeType": "VARIABLE_DECLARATION", - "scope": "511", + "scope": "513", "src": { "column": "23", "end": "488", "length": "12", "line": "21", - "parentIndex": "510", + "parentIndex": "512", "start": "477" }, "stateMutability": "NONPAYABLE", @@ -476,7 +501,7 @@ "typeString": "address" }, "typeName": { - "id": "512", + "id": "514", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -484,7 +509,7 @@ "end": "483", "length": "7", "line": "21", - "parentIndex": "511", + "parentIndex": "513", "start": "477" }, "stateMutability": "NONPAYABLE", @@ -501,7 +526,7 @@ "end": "490", "length": "33", "line": "21", - "parentIndex": "509", + "parentIndex": "511", "start": "458" } }, @@ -513,7 +538,7 @@ "start": "458" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_PlayerJoined_\u0026509", + "typeIdentifier": "t_event\u0026_Global_PlayerJoined_\u0026511", "typeString": "event Global.PlayerJoined" } } @@ -521,24 +546,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "513", + "id": "515", "name": "LotteryFinished", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "514", + "id": "516", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "515", + "id": "517", "name": "winner", "nodeType": "VARIABLE_DECLARATION", - "scope": "515", + "scope": "517", "src": { "column": "26", "end": "531", "length": "14", "line": "22", - "parentIndex": "514", + "parentIndex": "516", "start": "518" }, "stateMutability": "NONPAYABLE", @@ -548,7 +573,7 @@ "typeString": "address" }, "typeName": { - "id": "516", + "id": "518", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -556,7 +581,7 @@ "end": "524", "length": "7", "line": "22", - "parentIndex": "515", + "parentIndex": "517", "start": "518" }, "stateMutability": "NONPAYABLE", @@ -573,7 +598,7 @@ "end": "533", "length": "38", "line": "22", - "parentIndex": "513", + "parentIndex": "515", "start": "496" } }, @@ -585,7 +610,7 @@ "start": "496" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_LotteryFinished_\u0026513", + "typeIdentifier": "t_event\u0026_Global_LotteryFinished_\u0026515", "typeString": "event Global.LotteryFinished" } } @@ -593,18 +618,18 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "517", + "id": "519", "name": "ExternalCallSuccessful", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "518", + "id": "520", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "569", "length": "31", "line": "23", - "parentIndex": "517", + "parentIndex": "519", "start": "539" } }, @@ -616,7 +641,7 @@ "start": "539" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_ExternalCallSuccessful_\u0026517", + "typeIdentifier": "t_event\u0026_Global_ExternalCallSuccessful_\u0026519", "typeString": "event Global.ExternalCallSuccessful" } } @@ -624,24 +649,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "519", + "id": "521", "name": "ExternalCallFailed", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "520", + "id": "522", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "521", + "id": "523", "name": "reason", "nodeType": "VARIABLE_DECLARATION", - "scope": "521", + "scope": "523", "src": { "column": "29", "end": "612", "length": "13", "line": "24", - "parentIndex": "520", + "parentIndex": "522", "start": "600" }, "stateMutability": "MUTABLE", @@ -651,7 +676,7 @@ "typeString": "string" }, "typeName": { - "id": "522", + "id": "524", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -659,7 +684,7 @@ "end": "605", "length": "6", "line": "24", - "parentIndex": "521", + "parentIndex": "523", "start": "600" }, "typeDescription": { @@ -675,7 +700,7 @@ "end": "614", "length": "40", "line": "24", - "parentIndex": "519", + "parentIndex": "521", "start": "575" } }, @@ -687,7 +712,7 @@ "start": "575" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_ExternalCallFailed_\u0026519", + "typeIdentifier": "t_event\u0026_Global_ExternalCallFailed_\u0026521", "typeString": "event Global.ExternalCallFailed" } } @@ -695,26 +720,26 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "523", + "id": "525", "name": "InvalidState", "nameLocation": { "column": "10", "end": "666", "length": "12", "line": "27", - "parentIndex": "523", + "parentIndex": "525", "start": "655" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "524", + "id": "526", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "669", "length": "21", "line": "27", - "parentIndex": "523", + "parentIndex": "525", "start": "649" } }, @@ -726,7 +751,7 @@ "start": "649" }, "typeDescription": { - "typeIdentifier": "t_error$_Global_InvalidState_$523", + "typeIdentifier": "t_error$_Global_InvalidState_$525", "typeString": "error Global.InvalidState" } } @@ -734,26 +759,26 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "525", + "id": "527", "name": "OwnerCannotParticipate", "nameLocation": { "column": "10", "end": "702", "length": "22", "line": "28", - "parentIndex": "525", + "parentIndex": "527", "start": "681" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "526", + "id": "528", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "705", "length": "31", "line": "28", - "parentIndex": "525", + "parentIndex": "527", "start": "675" } }, @@ -765,7 +790,7 @@ "start": "675" }, "typeDescription": { - "typeIdentifier": "t_error$_Global_OwnerCannotParticipate_$525", + "typeIdentifier": "t_error$_Global_OwnerCannotParticipate_$527", "typeString": "error Global.OwnerCannotParticipate" } } @@ -773,26 +798,26 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "527", + "id": "529", "name": "NoValueProvided", "nameLocation": { "column": "10", "end": "731", "length": "15", "line": "29", - "parentIndex": "527", + "parentIndex": "529", "start": "717" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "528", + "id": "530", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "734", "length": "24", "line": "29", - "parentIndex": "527", + "parentIndex": "529", "start": "711" } }, @@ -804,7 +829,7 @@ "start": "711" }, "typeDescription": { - "typeIdentifier": "t_error$_Global_NoValueProvided_$527", + "typeIdentifier": "t_error$_Global_NoValueProvided_$529", "typeString": "error Global.NoValueProvided" } } @@ -812,26 +837,26 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "529", + "id": "531", "name": "InvalidWinner", "nameLocation": { "column": "10", "end": "758", "length": "13", "line": "30", - "parentIndex": "529", + "parentIndex": "531", "start": "746" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "530", + "id": "532", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "761", "length": "22", "line": "30", - "parentIndex": "529", + "parentIndex": "531", "start": "740" } }, @@ -843,7 +868,7 @@ "start": "740" }, "typeDescription": { - "typeIdentifier": "t_error$_Global_InvalidWinner_$529", + "typeIdentifier": "t_error$_Global_InvalidWinner_$531", "typeString": "error Global.InvalidWinner" } } @@ -851,26 +876,26 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "531", + "id": "533", "name": "InvalidPlayerAddress", "nameLocation": { "column": "10", "end": "792", "length": "20", "line": "31", - "parentIndex": "531", + "parentIndex": "533", "start": "773" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "532", + "id": "534", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "795", "length": "29", "line": "31", - "parentIndex": "531", + "parentIndex": "533", "start": "767" } }, @@ -882,7 +907,7 @@ "start": "767" }, "typeDescription": { - "typeIdentifier": "t_error$_Global_InvalidPlayerAddress_$531", + "typeIdentifier": "t_error$_Global_InvalidPlayerAddress_$533", "typeString": "error Global.InvalidPlayerAddress" } } @@ -890,26 +915,26 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "533", + "id": "535", "name": "OnlyOwnerCanCall", "nameLocation": { "column": "10", "end": "822", "length": "16", "line": "32", - "parentIndex": "533", + "parentIndex": "535", "start": "807" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "534", + "id": "536", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "825", "length": "25", "line": "32", - "parentIndex": "533", + "parentIndex": "535", "start": "801" } }, @@ -921,7 +946,7 @@ "start": "801" }, "typeDescription": { - "typeIdentifier": "t_error$_Global_OnlyOwnerCanCall_$533", + "typeIdentifier": "t_error$_Global_OnlyOwnerCanCall_$535", "typeString": "error Global.OnlyOwnerCanCall" } } @@ -929,7 +954,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "535", + "id": "537", "isConstant": true, "isStateVariable": true, "name": "index", @@ -948,7 +973,7 @@ "typeString": "uint256" }, "typeName": { - "id": "536", + "id": "538", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -956,7 +981,7 @@ "end": "1785", "length": "7", "line": "73", - "parentIndex": "535", + "parentIndex": "537", "start": "1779" }, "typeDescription": { @@ -970,7 +995,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "537", + "id": "539", "isConstant": true, "isStateVariable": true, "name": "winner", @@ -989,7 +1014,7 @@ "typeString": "address" }, "typeName": { - "id": "538", + "id": "540", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -997,7 +1022,7 @@ "end": "1860", "length": "7", "line": "74", - "parentIndex": "537", + "parentIndex": "539", "start": "1854" }, "stateMutability": "NONPAYABLE", @@ -1012,7 +1037,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "539", + "id": "541", "isConstant": true, "isStateVariable": true, "name": "count", @@ -1031,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": "540", + "id": "542", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1039,7 +1064,7 @@ "end": "1897", "length": "7", "line": "75", - "parentIndex": "539", + "parentIndex": "541", "start": "1891" }, "typeDescription": { @@ -1053,7 +1078,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "541", + "id": "543", "isConstant": true, "isStateVariable": true, "name": "balance", @@ -1072,7 +1097,7 @@ "typeString": "uint256" }, "typeName": { - "id": "542", + "id": "544", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1080,7 +1105,7 @@ "end": "2385", "length": "7", "line": "97", - "parentIndex": "541", + "parentIndex": "543", "start": "2379" }, "typeDescription": { @@ -1094,7 +1119,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "543", + "id": "545", "isConstant": true, "isStateVariable": true, "name": "i", @@ -1113,7 +1138,7 @@ "typeString": "uint256" }, "typeName": { - "id": "544", + "id": "546", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1121,7 +1146,7 @@ "end": "2771", "length": "4", "line": "111", - "parentIndex": "543", + "parentIndex": "545", "start": "2768" }, "typeDescription": { @@ -1135,7 +1160,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "545", + "id": "547", "isConstant": true, "isStateVariable": true, "name": "dummyContract", @@ -1154,17 +1179,17 @@ "typeString": "contract IDummyContract" }, "typeName": { - "id": "546", + "id": "548", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "547", + "id": "549", "name": "IDummyContract", "nameLocation": { "column": "8", "end": "3245", "length": "14", "line": "127", - "parentIndex": "546", + "parentIndex": "548", "start": "3232" }, "nodeType": "IDENTIFIER_PATH", @@ -1174,7 +1199,7 @@ "end": "3245", "length": "14", "line": "127", - "parentIndex": "546", + "parentIndex": "548", "start": "3232" } }, @@ -1184,7 +1209,7 @@ "end": "3245", "length": "14", "line": "127", - "parentIndex": "545", + "parentIndex": "547", "start": "3232" }, "typeDescription": { @@ -1198,7 +1223,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "548", + "id": "550", "isConstant": true, "isStateVariable": true, "name": "j", @@ -1217,7 +1242,7 @@ "typeString": "uint256" }, "typeName": { - "id": "549", + "id": "551", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1225,7 +1250,7 @@ "end": "3688", "length": "4", "line": "142", - "parentIndex": "548", + "parentIndex": "550", "start": "3685" }, "typeDescription": { @@ -1239,7 +1264,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "550", + "id": "552", "isConstant": true, "isStateVariable": true, "name": "len", @@ -1258,7 +1283,7 @@ "typeString": "uint256" }, "typeName": { - "id": "551", + "id": "553", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1266,7 +1291,7 @@ "end": "3709", "length": "4", "line": "143", - "parentIndex": "550", + "parentIndex": "552", "start": "3706" }, "typeDescription": { @@ -1280,7 +1305,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "552", + "id": "554", "isConstant": true, "isStateVariable": true, "name": "bstr", @@ -1299,7 +1324,7 @@ "typeString": "bytes" }, "typeName": { - "id": "553", + "id": "555", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1307,7 +1332,7 @@ "end": "3812", "length": "5", "line": "149", - "parentIndex": "552", + "parentIndex": "554", "start": "3808" }, "typeDescription": { @@ -1321,7 +1346,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "554", + "id": "556", "isConstant": true, "isStateVariable": true, "name": "k", @@ -1340,7 +1365,7 @@ "typeString": "uint256" }, "typeName": { - "id": "555", + "id": "557", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1348,7 +1373,7 @@ "end": "3855", "length": "4", "line": "150", - "parentIndex": "554", + "parentIndex": "556", "start": "3852" }, "typeDescription": { @@ -1924,7 +1949,7 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" }, "typeName": { @@ -1954,6 +1979,30 @@ "parentIndex": "41", "start": "348" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "44", + "name": "Player", + "nameLocation": { + "column": "23", + "end": "364", + "length": "6", + "line": "16", + "parentIndex": "41", + "start": "359" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "34", + "src": { + "column": "23", + "end": "364", + "length": "6", + "line": "16", + "parentIndex": "41", + "start": "359" + } + }, + "referencedDeclaration": "34", "src": { "column": "4", "end": "365", @@ -1963,13 +2012,14 @@ "start": "340" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" }, "valueType": { "id": "43", "name": "Player", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "34", "src": { "column": "23", "end": "364", @@ -1979,8 +2029,8 @@ "start": "359" }, "typeDescription": { - "typeIdentifier": "t_Player", - "typeString": "Player" + "typeIdentifier": "t_struct$_Lottery_Player_$34", + "typeString": "struct Lottery.Player" } }, "valueTypeLocation": { @@ -1998,7 +2048,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "45", + "id": "46", "isStateVariable": true, "name": "playerAddresses", "nodeType": "VARIABLE_DECLARATION", @@ -2018,7 +2068,7 @@ "typeString": "address" }, "typeName": { - "id": "46", + "id": "47", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -2026,7 +2076,7 @@ "end": "393", "length": "7", "line": "17", - "parentIndex": "45", + "parentIndex": "46", "start": "387" }, "typeDescription": { @@ -2040,7 +2090,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "48", + "id": "49", "isStateVariable": true, "name": "state", "nodeType": "VARIABLE_DECLARATION", @@ -2060,17 +2110,17 @@ "typeString": "enum Lottery.LotteryState" }, "typeName": { - "id": "49", + "id": "50", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "50", + "id": "51", "name": "LotteryState", "nameLocation": { "column": "4", "end": "437", "length": "12", "line": "19", - "parentIndex": "49", + "parentIndex": "50", "start": "426" }, "nodeType": "IDENTIFIER_PATH", @@ -2080,7 +2130,7 @@ "end": "437", "length": "12", "line": "19", - "parentIndex": "49", + "parentIndex": "50", "start": "426" } }, @@ -2090,7 +2140,7 @@ "end": "437", "length": "12", "line": "19", - "parentIndex": "48", + "parentIndex": "49", "start": "426" }, "typeDescription": { @@ -2104,24 +2154,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "52", + "id": "53", "name": "PlayerJoined", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "53", + "id": "54", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "54", + "id": "55", "name": "addr", "nodeType": "VARIABLE_DECLARATION", - "scope": "54", + "scope": "55", "src": { "column": "23", "end": "488", "length": "12", "line": "21", - "parentIndex": "53", + "parentIndex": "54", "start": "477" }, "stateMutability": "NONPAYABLE", @@ -2131,7 +2181,7 @@ "typeString": "address" }, "typeName": { - "id": "55", + "id": "56", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2139,7 +2189,7 @@ "end": "483", "length": "7", "line": "21", - "parentIndex": "54", + "parentIndex": "55", "start": "477" }, "stateMutability": "NONPAYABLE", @@ -2156,7 +2206,7 @@ "end": "490", "length": "33", "line": "21", - "parentIndex": "52", + "parentIndex": "53", "start": "458" } }, @@ -2169,7 +2219,7 @@ "start": "458" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "typeIdentifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "typeString": "event Lottery.PlayerJoined" } } @@ -2177,24 +2227,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "57", + "id": "58", "name": "LotteryFinished", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "58", + "id": "59", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "59", + "id": "60", "name": "winner", "nodeType": "VARIABLE_DECLARATION", - "scope": "59", + "scope": "60", "src": { "column": "26", "end": "531", "length": "14", "line": "22", - "parentIndex": "58", + "parentIndex": "59", "start": "518" }, "stateMutability": "NONPAYABLE", @@ -2204,7 +2254,7 @@ "typeString": "address" }, "typeName": { - "id": "60", + "id": "61", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2212,7 +2262,7 @@ "end": "524", "length": "7", "line": "22", - "parentIndex": "59", + "parentIndex": "60", "start": "518" }, "stateMutability": "NONPAYABLE", @@ -2229,7 +2279,7 @@ "end": "533", "length": "38", "line": "22", - "parentIndex": "57", + "parentIndex": "58", "start": "496" } }, @@ -2242,7 +2292,7 @@ "start": "496" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "typeIdentifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "typeString": "event Lottery.LotteryFinished" } } @@ -2250,18 +2300,18 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "62", + "id": "63", "name": "ExternalCallSuccessful", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "63", + "id": "64", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "569", "length": "31", "line": "23", - "parentIndex": "62", + "parentIndex": "63", "start": "539" } }, @@ -2274,7 +2324,7 @@ "start": "539" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "typeIdentifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "typeString": "event Lottery.ExternalCallSuccessful" } } @@ -2282,24 +2332,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "65", + "id": "66", "name": "ExternalCallFailed", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "66", + "id": "67", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "67", + "id": "68", "name": "reason", "nodeType": "VARIABLE_DECLARATION", - "scope": "67", + "scope": "68", "src": { "column": "29", "end": "612", "length": "13", "line": "24", - "parentIndex": "66", + "parentIndex": "67", "start": "600" }, "stateMutability": "MUTABLE", @@ -2309,7 +2359,7 @@ "typeString": "string" }, "typeName": { - "id": "68", + "id": "69", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2317,7 +2367,7 @@ "end": "605", "length": "6", "line": "24", - "parentIndex": "67", + "parentIndex": "68", "start": "600" }, "typeDescription": { @@ -2333,7 +2383,7 @@ "end": "614", "length": "40", "line": "24", - "parentIndex": "65", + "parentIndex": "66", "start": "575" } }, @@ -2346,7 +2396,7 @@ "start": "575" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "typeIdentifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "typeString": "event Lottery.ExternalCallFailed" } } @@ -2354,26 +2404,26 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "70", + "id": "71", "name": "InvalidState", "nameLocation": { "column": "10", "end": "666", "length": "12", "line": "27", - "parentIndex": "70", + "parentIndex": "71", "start": "655" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "71", + "id": "72", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "669", "length": "21", "line": "27", - "parentIndex": "70", + "parentIndex": "71", "start": "649" } }, @@ -2386,7 +2436,7 @@ "start": "649" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_InvalidState_$70", + "typeIdentifier": "t_error$_Lottery_InvalidState_$71", "typeString": "error Lottery.InvalidState" } } @@ -2394,26 +2444,26 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "73", + "id": "74", "name": "OwnerCannotParticipate", "nameLocation": { "column": "10", "end": "702", "length": "22", "line": "28", - "parentIndex": "73", + "parentIndex": "74", "start": "681" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "74", + "id": "75", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "705", "length": "31", "line": "28", - "parentIndex": "73", + "parentIndex": "74", "start": "675" } }, @@ -2426,7 +2476,7 @@ "start": "675" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "typeIdentifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "typeString": "error Lottery.OwnerCannotParticipate" } } @@ -2434,26 +2484,26 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "76", + "id": "77", "name": "NoValueProvided", "nameLocation": { "column": "10", "end": "731", "length": "15", "line": "29", - "parentIndex": "76", + "parentIndex": "77", "start": "717" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "77", + "id": "78", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "734", "length": "24", "line": "29", - "parentIndex": "76", + "parentIndex": "77", "start": "711" } }, @@ -2466,7 +2516,7 @@ "start": "711" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_NoValueProvided_$76", + "typeIdentifier": "t_error$_Lottery_NoValueProvided_$77", "typeString": "error Lottery.NoValueProvided" } } @@ -2474,26 +2524,26 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "79", + "id": "80", "name": "InvalidWinner", "nameLocation": { "column": "10", "end": "758", "length": "13", "line": "30", - "parentIndex": "79", + "parentIndex": "80", "start": "746" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "80", + "id": "81", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "761", "length": "22", "line": "30", - "parentIndex": "79", + "parentIndex": "80", "start": "740" } }, @@ -2506,7 +2556,7 @@ "start": "740" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_InvalidWinner_$79", + "typeIdentifier": "t_error$_Lottery_InvalidWinner_$80", "typeString": "error Lottery.InvalidWinner" } } @@ -2514,26 +2564,26 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "82", + "id": "83", "name": "InvalidPlayerAddress", "nameLocation": { "column": "10", "end": "792", "length": "20", "line": "31", - "parentIndex": "82", + "parentIndex": "83", "start": "773" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "83", + "id": "84", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "795", "length": "29", "line": "31", - "parentIndex": "82", + "parentIndex": "83", "start": "767" } }, @@ -2546,7 +2596,7 @@ "start": "767" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "typeIdentifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "typeString": "error Lottery.InvalidPlayerAddress" } } @@ -2554,26 +2604,26 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "85", + "id": "86", "name": "OnlyOwnerCanCall", "nameLocation": { "column": "10", "end": "822", "length": "16", "line": "32", - "parentIndex": "85", + "parentIndex": "86", "start": "807" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "86", + "id": "87", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "825", "length": "25", "line": "32", - "parentIndex": "85", + "parentIndex": "86", "start": "801" } }, @@ -2586,7 +2636,7 @@ "start": "801" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "typeIdentifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "typeString": "error Lottery.OnlyOwnerCanCall" } } @@ -2595,7 +2645,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "93", + "id": "94", "implemented": true, "nodeType": "BLOCK", "src": { @@ -2603,7 +2653,7 @@ "end": "963", "length": "94", "line": "34", - "parentIndex": "88", + "parentIndex": "89", "start": "870" }, "statements": [ @@ -2611,7 +2661,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "98", + "id": "99", "implemented": true, "nodeType": "BLOCK", "src": { @@ -2619,7 +2669,7 @@ "end": "946", "length": "46", "line": "35", - "parentIndex": "88", + "parentIndex": "89", "start": "901" }, "statements": [ @@ -2629,32 +2679,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "100", + "id": "101", "name": "InvalidState", "nodeType": "IDENTIFIER", - "referencedDeclaration": "70", + "referencedDeclaration": "71", "src": { "column": "19", "end": "933", "length": "12", "line": "36", - "parentIndex": "99", + "parentIndex": "100", "start": "922" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_InvalidState_$70", + "typeIdentifier": "t_error$_Lottery_InvalidState_$71", "typeString": "error Lottery.InvalidState" } } }, - "id": "99", + "id": "100", "nodeType": "REVERT_STATEMENT", "src": { "column": "12", "end": "936", "length": "22", "line": "36", - "parentIndex": "88", + "parentIndex": "89", "start": "915" } } @@ -2664,20 +2714,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "95", + "id": "96", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "96", + "id": "97", "name": "state", "nodeType": "IDENTIFIER", - "referencedDeclaration": "48", + "referencedDeclaration": "49", "src": { "column": "12", "end": "888", "length": "5", "line": "35", - "parentIndex": "95", + "parentIndex": "96", "start": "884" }, "typeDescription": { @@ -2691,16 +2741,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "97", + "id": "98", "name": "_state", "nodeType": "IDENTIFIER", - "referencedDeclaration": "90", + "referencedDeclaration": "91", "src": { "column": "21", "end": "898", "length": "6", "line": "35", - "parentIndex": "95", + "parentIndex": "96", "start": "893" }, "typeDescription": { @@ -2714,7 +2764,7 @@ "end": "898", "length": "15", "line": "35", - "parentIndex": "94", + "parentIndex": "95", "start": "884" }, "typeDescription": { @@ -2723,13 +2773,13 @@ } } }, - "id": "94", + "id": "95", "nodeType": "IF_STATEMENT", "src": { "end": "946", "length": "67", "line": "35", - "parentIndex": "93", + "parentIndex": "94", "start": "880" } } @@ -2737,7 +2787,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "101", + "id": "102", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -2745,7 +2795,7 @@ "end": "956", "length": "1", "line": "38", - "parentIndex": "93", + "parentIndex": "94", "start": "956" }, "typeDescription": { @@ -2756,32 +2806,32 @@ } ] }, - "id": "88", + "id": "89", "name": "inState", "nameLocation": { "column": "13", "end": "847", "length": "7", "line": "34", - "parentIndex": "88", + "parentIndex": "89", "start": "841" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "89", + "id": "90", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "90", + "id": "91", "name": "_state", "nodeType": "VARIABLE_DECLARATION", - "scope": "90", + "scope": "91", "src": { "column": "21", "end": "867", "length": "19", "line": "34", - "parentIndex": "89", + "parentIndex": "90", "start": "849" }, "stateMutability": "MUTABLE", @@ -2791,17 +2841,17 @@ "typeString": "enum Lottery.LotteryState" }, "typeName": { - "id": "91", + "id": "92", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "92", + "id": "93", "name": "LotteryState", "nameLocation": { "column": "21", "end": "860", "length": "12", "line": "34", - "parentIndex": "91", + "parentIndex": "92", "start": "849" }, "nodeType": "IDENTIFIER_PATH", @@ -2811,7 +2861,7 @@ "end": "860", "length": "12", "line": "34", - "parentIndex": "91", + "parentIndex": "92", "start": "849" } }, @@ -2821,7 +2871,7 @@ "end": "860", "length": "12", "line": "34", - "parentIndex": "90", + "parentIndex": "91", "start": "849" }, "typeDescription": { @@ -2856,7 +2906,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "105", + "id": "106", "implemented": true, "nodeType": "BLOCK", "src": { @@ -2864,7 +2914,7 @@ "end": "1099", "length": "110", "line": "41", - "parentIndex": "103", + "parentIndex": "104", "start": "990" }, "statements": [ @@ -2872,7 +2922,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "112", + "id": "113", "implemented": true, "nodeType": "BLOCK", "src": { @@ -2880,7 +2930,7 @@ "end": "1082", "length": "56", "line": "42", - "parentIndex": "103", + "parentIndex": "104", "start": "1027" }, "statements": [ @@ -2890,32 +2940,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "114", + "id": "115", "name": "OwnerCannotParticipate", "nodeType": "IDENTIFIER", - "referencedDeclaration": "73", + "referencedDeclaration": "74", "src": { "column": "19", "end": "1069", "length": "22", "line": "43", - "parentIndex": "113", + "parentIndex": "114", "start": "1048" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "typeIdentifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "typeString": "error Lottery.OwnerCannotParticipate" } } }, - "id": "113", + "id": "114", "nodeType": "REVERT_STATEMENT", "src": { "column": "12", "end": "1072", "length": "32", "line": "43", - "parentIndex": "103", + "parentIndex": "104", "start": "1041" } } @@ -2925,14 +2975,14 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "107", + "id": "108", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "109", + "id": "110", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -2940,7 +2990,7 @@ "end": "1006", "length": "3", "line": "42", - "parentIndex": "108", + "parentIndex": "109", "start": "1004" }, "typeDescription": { @@ -2949,13 +2999,13 @@ } } }, - "id": "108", + "id": "109", "memberLocation": { "column": "16", "end": "1013", "length": "6", "line": "42", - "parentIndex": "108", + "parentIndex": "109", "start": "1008" }, "memberName": "sender", @@ -2965,7 +3015,7 @@ "end": "1013", "length": "10", "line": "42", - "parentIndex": "107", + "parentIndex": "108", "start": "1004" }, "typeDescription": { @@ -2982,7 +3032,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "111", + "id": "112", "name": "owner", "nodeType": "IDENTIFIER", "src": { @@ -2990,7 +3040,7 @@ "end": "1022", "length": "5", "line": "42", - "parentIndex": "110", + "parentIndex": "111", "start": "1018" }, "typeDescription": { @@ -2999,7 +3049,7 @@ } } }, - "id": "110", + "id": "111", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -3007,7 +3057,7 @@ "end": "1024", "length": "7", "line": "42", - "parentIndex": "107", + "parentIndex": "108", "start": "1018" }, "typeDescription": { @@ -3021,7 +3071,7 @@ "end": "1024", "length": "21", "line": "42", - "parentIndex": "106", + "parentIndex": "107", "start": "1004" }, "typeDescription": { @@ -3030,13 +3080,13 @@ } } }, - "id": "106", + "id": "107", "nodeType": "IF_STATEMENT", "src": { "end": "1082", "length": "83", "line": "42", - "parentIndex": "105", + "parentIndex": "106", "start": "1000" } } @@ -3044,7 +3094,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "115", + "id": "116", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -3052,7 +3102,7 @@ "end": "1092", "length": "1", "line": "45", - "parentIndex": "105", + "parentIndex": "106", "start": "1092" }, "typeDescription": { @@ -3063,19 +3113,19 @@ } ] }, - "id": "103", + "id": "104", "name": "notOwner", "nameLocation": { "column": "13", "end": "986", "length": "8", "line": "41", - "parentIndex": "103", + "parentIndex": "104", "start": "979" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "104", + "id": "105", "nodeType": "PARAMETER_LIST", "src": { "column": "4", @@ -3101,7 +3151,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Fallback", "value": { "body": { - "id": "120", + "id": "121", "implemented": true, "nodeType": "BLOCK", "src": { @@ -3109,35 +3159,35 @@ "end": "1136", "length": "3", "line": "48", - "parentIndex": "117", + "parentIndex": "118", "start": "1134" } }, - "id": "117", + "id": "118", "implemented": true, "kind": "FALLBACK", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "118", + "id": "119", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "1136", "length": "31", "line": "48", - "parentIndex": "117", + "parentIndex": "118", "start": "1106" } }, "returnParameters": { - "id": "119", + "id": "120", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "1136", "length": "31", "line": "48", - "parentIndex": "117", + "parentIndex": "118", "start": "1106" } }, @@ -3157,7 +3207,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Receive", "value": { "body": { - "id": "125", + "id": "126", "implemented": true, "nodeType": "BLOCK", "src": { @@ -3165,35 +3215,35 @@ "end": "1171", "length": "3", "line": "49", - "parentIndex": "122", + "parentIndex": "123", "start": "1169" } }, - "id": "122", + "id": "123", "implemented": true, "kind": "RECEIVE", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "123", + "id": "124", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "1171", "length": "30", "line": "49", - "parentIndex": "122", + "parentIndex": "123", "start": "1142" } }, "returnParameters": { - "id": "124", + "id": "125", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "1171", "length": "30", "line": "49", - "parentIndex": "122", + "parentIndex": "123", "start": "1142" } }, @@ -3213,7 +3263,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "130", + "id": "131", "implemented": true, "nodeType": "BLOCK", "src": { @@ -3221,7 +3271,7 @@ "end": "1238", "length": "47", "line": "51", - "parentIndex": "127", + "parentIndex": "128", "start": "1192" }, "statements": [ @@ -3231,20 +3281,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "132", + "id": "133", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "133", + "id": "134", "name": "state", "nodeType": "IDENTIFIER", - "referencedDeclaration": "48", + "referencedDeclaration": "49", "src": { "column": "8", "end": "1206", "length": "5", "line": "52", - "parentIndex": "132", + "parentIndex": "133", "start": "1202" }, "typeDescription": { @@ -3261,7 +3311,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "135", + "id": "136", "name": "LotteryState", "nodeType": "IDENTIFIER", "referencedDeclaration": "30", @@ -3270,7 +3320,7 @@ "end": "1221", "length": "12", "line": "52", - "parentIndex": "134", + "parentIndex": "135", "start": "1210" }, "typeDescription": { @@ -3279,13 +3329,13 @@ } } }, - "id": "134", + "id": "135", "memberLocation": { "column": "29", "end": "1231", "length": "9", "line": "52", - "parentIndex": "134", + "parentIndex": "135", "start": "1223" }, "memberName": "Accepting", @@ -3295,7 +3345,7 @@ "end": "1231", "length": "22", "line": "52", - "parentIndex": "132", + "parentIndex": "133", "start": "1210" }, "typeDescription": { @@ -3309,7 +3359,7 @@ "end": "1231", "length": "30", "line": "52", - "parentIndex": "131", + "parentIndex": "132", "start": "1202" }, "typeDescription": { @@ -3318,14 +3368,14 @@ } } }, - "id": "131", + "id": "132", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "1232", "length": "31", "line": "52", - "parentIndex": "130", + "parentIndex": "131", "start": "1202" }, "typeDescription": { @@ -3336,31 +3386,31 @@ } ] }, - "id": "127", + "id": "128", "implemented": true, "kind": "CONSTRUCTOR", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "128", + "id": "129", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "1238", "length": "61", "line": "51", - "parentIndex": "127", + "parentIndex": "128", "start": "1178" } }, "returnParameters": { - "id": "129", + "id": "130", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "1238", "length": "61", "line": "51", - "parentIndex": "127", + "parentIndex": "128", "start": "1178" } }, @@ -3385,7 +3435,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "146", + "id": "147", "implemented": true, "nodeType": "BLOCK", "src": { @@ -3393,7 +3443,7 @@ "end": "1658", "length": "342", "line": "55", - "parentIndex": "137", + "parentIndex": "138", "start": "1317" }, "statements": [ @@ -3401,7 +3451,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "152", + "id": "153", "implemented": true, "nodeType": "BLOCK", "src": { @@ -3409,7 +3459,7 @@ "end": "1395", "length": "49", "line": "56", - "parentIndex": "137", + "parentIndex": "138", "start": "1347" }, "statements": [ @@ -3419,32 +3469,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "154", + "id": "155", "name": "NoValueProvided", "nodeType": "IDENTIFIER", - "referencedDeclaration": "76", + "referencedDeclaration": "77", "src": { "column": "19", "end": "1382", "length": "15", "line": "57", - "parentIndex": "153", + "parentIndex": "154", "start": "1368" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_NoValueProvided_$76", + "typeIdentifier": "t_error$_Lottery_NoValueProvided_$77", "typeString": "error Lottery.NoValueProvided" } } }, - "id": "153", + "id": "154", "nodeType": "REVERT_STATEMENT", "src": { "column": "12", "end": "1385", "length": "25", "line": "57", - "parentIndex": "137", + "parentIndex": "138", "start": "1361" } } @@ -3454,14 +3504,14 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "148", + "id": "149", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "150", + "id": "151", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -3469,7 +3519,7 @@ "end": "1333", "length": "3", "line": "56", - "parentIndex": "149", + "parentIndex": "150", "start": "1331" }, "typeDescription": { @@ -3478,13 +3528,13 @@ } } }, - "id": "149", + "id": "150", "memberLocation": { "column": "16", "end": "1339", "length": "5", "line": "56", - "parentIndex": "149", + "parentIndex": "150", "start": "1335" }, "memberName": "value", @@ -3494,7 +3544,7 @@ "end": "1339", "length": "9", "line": "56", - "parentIndex": "148", + "parentIndex": "149", "start": "1331" }, "typeDescription": { @@ -3509,7 +3559,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "151", + "id": "152", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -3518,7 +3568,7 @@ "end": "1344", "length": "1", "line": "56", - "parentIndex": "148", + "parentIndex": "149", "start": "1344" }, "typeDescription": { @@ -3533,7 +3583,7 @@ "end": "1344", "length": "14", "line": "56", - "parentIndex": "147", + "parentIndex": "148", "start": "1331" }, "typeDescription": { @@ -3542,13 +3592,13 @@ } } }, - "id": "147", + "id": "148", "nodeType": "IF_STATEMENT", "src": { "end": "1395", "length": "69", "line": "56", - "parentIndex": "146", + "parentIndex": "147", "start": "1327" } } @@ -3557,7 +3607,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "166", + "id": "167", "implemented": true, "nodeType": "BLOCK", "src": { @@ -3565,7 +3615,7 @@ "end": "1557", "length": "108", "line": "60", - "parentIndex": "137", + "parentIndex": "138", "start": "1450" }, "statements": [ @@ -3575,7 +3625,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "168", + "id": "169", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -3588,7 +3638,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "173", + "id": "174", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -3596,7 +3646,7 @@ "end": "1474", "length": "3", "line": "61", - "parentIndex": "172", + "parentIndex": "173", "start": "1472" }, "typeDescription": { @@ -3605,13 +3655,13 @@ } } }, - "id": "172", + "id": "173", "memberLocation": { "column": "24", "end": "1481", "length": "6", "line": "61", - "parentIndex": "172", + "parentIndex": "173", "start": "1476" }, "memberName": "sender", @@ -3621,7 +3671,7 @@ "end": "1481", "length": "10", "line": "61", - "parentIndex": "170", + "parentIndex": "171", "start": "1472" }, "typeDescription": { @@ -3630,11 +3680,11 @@ } } }, - "id": "170", + "id": "171", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "171", + "id": "172", "name": "players", "nodeType": "IDENTIFIER", "referencedDeclaration": "40", @@ -3643,11 +3693,11 @@ "end": "1470", "length": "7", "line": "61", - "parentIndex": "170", + "parentIndex": "171", "start": "1464" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" } } @@ -3658,16 +3708,16 @@ "end": "1482", "length": "19", "line": "61", - "parentIndex": "169", + "parentIndex": "170", "start": "1464" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" }, { @@ -3677,13 +3727,13 @@ ] } }, - "id": "169", + "id": "170", "memberLocation": { "column": "32", "end": "1487", "length": "4", "line": "61", - "parentIndex": "169", + "parentIndex": "170", "start": "1484" }, "memberName": "addr", @@ -3693,11 +3743,11 @@ "end": "1487", "length": "24", "line": "61", - "parentIndex": "168", + "parentIndex": "169", "start": "1464" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" } } @@ -3710,7 +3760,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "175", + "id": "176", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -3718,7 +3768,7 @@ "end": "1493", "length": "3", "line": "61", - "parentIndex": "174", + "parentIndex": "175", "start": "1491" }, "typeDescription": { @@ -3727,13 +3777,13 @@ } } }, - "id": "174", + "id": "175", "memberLocation": { "column": "43", "end": "1500", "length": "6", "line": "61", - "parentIndex": "174", + "parentIndex": "175", "start": "1495" }, "memberName": "sender", @@ -3743,7 +3793,7 @@ "end": "1500", "length": "10", "line": "61", - "parentIndex": "168", + "parentIndex": "169", "start": "1491" }, "typeDescription": { @@ -3757,27 +3807,27 @@ "end": "1500", "length": "37", "line": "61", - "parentIndex": "167", + "parentIndex": "168", "start": "1464" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" } } }, - "id": "167", + "id": "168", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "1501", "length": "38", "line": "61", - "parentIndex": "166", + "parentIndex": "167", "start": "1464" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" } } @@ -3798,7 +3848,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "180", + "id": "181", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -3806,7 +3856,7 @@ "end": "1538", "length": "3", "line": "62", - "parentIndex": "179", + "parentIndex": "180", "start": "1536" }, "typeDescription": { @@ -3815,13 +3865,13 @@ } } }, - "id": "179", + "id": "180", "memberLocation": { "column": "37", "end": "1545", "length": "6", "line": "62", - "parentIndex": "179", + "parentIndex": "180", "start": "1540" }, "memberName": "sender", @@ -3831,7 +3881,7 @@ "end": "1545", "length": "10", "line": "62", - "parentIndex": "176", + "parentIndex": "177", "start": "1536" }, "typeDescription": { @@ -3847,16 +3897,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "178", + "id": "179", "name": "playerAddresses", "nodeType": "IDENTIFIER", - "referencedDeclaration": "45", + "referencedDeclaration": "46", "src": { "column": "12", "end": "1529", "length": "15", "line": "62", - "parentIndex": "177", + "parentIndex": "178", "start": "1515" }, "typeDescription": { @@ -3865,13 +3915,13 @@ } } }, - "id": "177", + "id": "178", "memberLocation": { "column": "28", "end": "1534", "length": "4", "line": "62", - "parentIndex": "177", + "parentIndex": "178", "start": "1531" }, "memberName": "push", @@ -3881,7 +3931,7 @@ "end": "1534", "length": "20", "line": "62", - "parentIndex": "176", + "parentIndex": "177", "start": "1515" }, "typeDescription": { @@ -3890,7 +3940,7 @@ } } }, - "id": "176", + "id": "177", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -3898,7 +3948,7 @@ "end": "1546", "length": "32", "line": "62", - "parentIndex": "166", + "parentIndex": "167", "start": "1515" }, "typeDescription": { @@ -3912,7 +3962,7 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "156", + "id": "157", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -3925,7 +3975,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "161", + "id": "162", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -3933,7 +3983,7 @@ "end": "1420", "length": "3", "line": "60", - "parentIndex": "160", + "parentIndex": "161", "start": "1418" }, "typeDescription": { @@ -3942,13 +3992,13 @@ } } }, - "id": "160", + "id": "161", "memberLocation": { "column": "24", "end": "1427", "length": "6", "line": "60", - "parentIndex": "160", + "parentIndex": "161", "start": "1422" }, "memberName": "sender", @@ -3958,7 +4008,7 @@ "end": "1427", "length": "10", "line": "60", - "parentIndex": "158", + "parentIndex": "159", "start": "1418" }, "typeDescription": { @@ -3967,11 +4017,11 @@ } } }, - "id": "158", + "id": "159", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "159", + "id": "160", "name": "players", "nodeType": "IDENTIFIER", "referencedDeclaration": "40", @@ -3980,11 +4030,11 @@ "end": "1416", "length": "7", "line": "60", - "parentIndex": "158", + "parentIndex": "159", "start": "1410" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" } } @@ -3995,16 +4045,16 @@ "end": "1428", "length": "19", "line": "60", - "parentIndex": "157", + "parentIndex": "158", "start": "1410" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" }, { @@ -4014,13 +4064,13 @@ ] } }, - "id": "157", + "id": "158", "memberLocation": { "column": "32", "end": "1433", "length": "4", "line": "60", - "parentIndex": "157", + "parentIndex": "158", "start": "1430" }, "memberName": "addr", @@ -4030,11 +4080,11 @@ "end": "1433", "length": "24", "line": "60", - "parentIndex": "156", + "parentIndex": "157", "start": "1410" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" } } @@ -4055,7 +4105,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "165", + "id": "166", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -4064,7 +4114,7 @@ "end": "1446", "length": "1", "line": "60", - "parentIndex": "162", + "parentIndex": "163", "start": "1446" }, "typeDescription": { @@ -4084,7 +4134,7 @@ "typeString": "address" } ], - "id": "163", + "id": "164", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -4092,7 +4142,7 @@ "end": "1444", "length": "7", "line": "60", - "parentIndex": "162", + "parentIndex": "163", "start": "1438" }, "typeDescription": { @@ -4100,7 +4150,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "164", + "id": "165", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4108,7 +4158,7 @@ "end": "1444", "length": "7", "line": "60", - "parentIndex": "163", + "parentIndex": "164", "start": "1438" }, "stateMutability": "NONPAYABLE", @@ -4119,7 +4169,7 @@ } } }, - "id": "162", + "id": "163", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -4127,7 +4177,7 @@ "end": "1447", "length": "10", "line": "60", - "parentIndex": "156", + "parentIndex": "157", "start": "1438" }, "typeDescription": { @@ -4141,7 +4191,7 @@ "end": "1447", "length": "38", "line": "60", - "parentIndex": "155", + "parentIndex": "156", "start": "1410" }, "typeDescription": { @@ -4150,13 +4200,13 @@ } } }, - "id": "155", + "id": "156", "nodeType": "IF_STATEMENT", "src": { "end": "1557", "length": "152", "line": "60", - "parentIndex": "146", + "parentIndex": "147", "start": "1406" } } @@ -4167,7 +4217,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "182", + "id": "183", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -4180,7 +4230,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "187", + "id": "188", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -4188,7 +4238,7 @@ "end": "1578", "length": "3", "line": "65", - "parentIndex": "186", + "parentIndex": "187", "start": "1576" }, "typeDescription": { @@ -4197,13 +4247,13 @@ } } }, - "id": "186", + "id": "187", "memberLocation": { "column": "20", "end": "1585", "length": "6", "line": "65", - "parentIndex": "186", + "parentIndex": "187", "start": "1580" }, "memberName": "sender", @@ -4213,7 +4263,7 @@ "end": "1585", "length": "10", "line": "65", - "parentIndex": "184", + "parentIndex": "185", "start": "1576" }, "typeDescription": { @@ -4222,11 +4272,11 @@ } } }, - "id": "184", + "id": "185", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "185", + "id": "186", "name": "players", "nodeType": "IDENTIFIER", "referencedDeclaration": "40", @@ -4235,11 +4285,11 @@ "end": "1574", "length": "7", "line": "65", - "parentIndex": "184", + "parentIndex": "185", "start": "1568" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" } } @@ -4250,16 +4300,16 @@ "end": "1586", "length": "19", "line": "65", - "parentIndex": "183", + "parentIndex": "184", "start": "1568" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" }, { @@ -4269,13 +4319,13 @@ ] } }, - "id": "183", + "id": "184", "memberLocation": { "column": "28", "end": "1598", "length": "11", "line": "65", - "parentIndex": "183", + "parentIndex": "184", "start": "1588" }, "memberName": "ticketCount", @@ -4285,11 +4335,11 @@ "end": "1598", "length": "31", "line": "65", - "parentIndex": "182", + "parentIndex": "183", "start": "1568" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" } } @@ -4302,7 +4352,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "189", + "id": "190", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -4310,7 +4360,7 @@ "end": "1605", "length": "3", "line": "65", - "parentIndex": "188", + "parentIndex": "189", "start": "1603" }, "typeDescription": { @@ -4319,13 +4369,13 @@ } } }, - "id": "188", + "id": "189", "memberLocation": { "column": "47", "end": "1611", "length": "5", "line": "65", - "parentIndex": "188", + "parentIndex": "189", "start": "1607" }, "memberName": "value", @@ -4335,7 +4385,7 @@ "end": "1611", "length": "9", "line": "65", - "parentIndex": "182", + "parentIndex": "183", "start": "1603" }, "typeDescription": { @@ -4349,27 +4399,27 @@ "end": "1611", "length": "44", "line": "65", - "parentIndex": "181", + "parentIndex": "182", "start": "1568" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" } } }, - "id": "181", + "id": "182", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "1612", "length": "45", "line": "65", - "parentIndex": "146", + "parentIndex": "147", "start": "1568" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "typeString": "index[mapping(address=\u003ePlayer):address]" } } @@ -4384,7 +4434,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "192", + "id": "193", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -4392,7 +4442,7 @@ "end": "1643", "length": "3", "line": "67", - "parentIndex": "191", + "parentIndex": "192", "start": "1641" }, "typeDescription": { @@ -4401,13 +4451,13 @@ } } }, - "id": "191", + "id": "192", "memberLocation": { "column": "30", "end": "1650", "length": "6", "line": "67", - "parentIndex": "191", + "parentIndex": "192", "start": "1645" }, "memberName": "sender", @@ -4417,7 +4467,7 @@ "end": "1650", "length": "10", "line": "67", - "parentIndex": "190", + "parentIndex": "191", "start": "1641" }, "typeDescription": { @@ -4430,39 +4480,39 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "193", + "id": "194", "name": "PlayerJoined", "nodeType": "IDENTIFIER", - "referencedDeclaration": "52", + "referencedDeclaration": "53", "src": { "column": "13", "end": "1639", "length": "12", "line": "67", - "parentIndex": "190", + "parentIndex": "191", "start": "1628" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "typeIdentifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "typeString": "event Lottery.PlayerJoined" } } }, - "id": "190", + "id": "191", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "1652", "length": "30", "line": "67", - "parentIndex": "137", + "parentIndex": "138", "start": "1623" } } } ] }, - "id": "137", + "id": "138", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -4480,7 +4530,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "142", + "id": "143", "name": "LotteryState", "nodeType": "IDENTIFIER", "referencedDeclaration": "30", @@ -4489,7 +4539,7 @@ "end": "1295", "length": "12", "line": "55", - "parentIndex": "141", + "parentIndex": "142", "start": "1284" }, "typeDescription": { @@ -4498,13 +4548,13 @@ } } }, - "id": "141", + "id": "142", "memberLocation": { "column": "56", "end": "1305", "length": "9", "line": "55", - "parentIndex": "141", + "parentIndex": "142", "start": "1297" }, "memberName": "Accepting", @@ -4514,7 +4564,7 @@ "end": "1305", "length": "22", "line": "55", - "parentIndex": "139", + "parentIndex": "140", "start": "1284" }, "typeDescription": { @@ -4524,17 +4574,17 @@ } } ], - "id": "139", + "id": "140", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "140", + "id": "141", "name": "inState", "src": { "column": "35", "end": "1282", "length": "7", "line": "55", - "parentIndex": "139", + "parentIndex": "140", "start": "1276" } }, @@ -4545,22 +4595,22 @@ "end": "1306", "length": "31", "line": "55", - "parentIndex": "137", + "parentIndex": "138", "start": "1276" } }, { - "id": "143", + "id": "144", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "144", + "id": "145", "name": "notOwner", "src": { "column": "67", "end": "1315", "length": "8", "line": "55", - "parentIndex": "143", + "parentIndex": "144", "start": "1308" } }, @@ -4571,7 +4621,7 @@ "end": "1315", "length": "8", "line": "55", - "parentIndex": "137", + "parentIndex": "138", "start": "1308" } } @@ -4582,31 +4632,31 @@ "end": "1257", "length": "4", "line": "55", - "parentIndex": "137", + "parentIndex": "138", "start": "1254" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "138", + "id": "139", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "1658", "length": "414", "line": "55", - "parentIndex": "137", + "parentIndex": "138", "start": "1245" } }, "returnParameters": { - "id": "145", + "id": "146", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "1658", "length": "414", "line": "55", - "parentIndex": "137", + "parentIndex": "138", "start": "1245" } }, @@ -4632,7 +4682,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "202", + "id": "203", "implemented": true, "nodeType": "BLOCK", "src": { @@ -4640,7 +4690,7 @@ "end": "2467", "length": "739", "line": "70", - "parentIndex": "195", + "parentIndex": "196", "start": "1729" }, "statements": [ @@ -4650,20 +4700,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "204", + "id": "205", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "205", + "id": "206", "name": "state", "nodeType": "IDENTIFIER", - "referencedDeclaration": "48", + "referencedDeclaration": "49", "src": { "column": "8", "end": "1743", "length": "5", "line": "71", - "parentIndex": "204", + "parentIndex": "205", "start": "1739" }, "typeDescription": { @@ -4680,7 +4730,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "207", + "id": "208", "name": "LotteryState", "nodeType": "IDENTIFIER", "referencedDeclaration": "30", @@ -4689,7 +4739,7 @@ "end": "1758", "length": "12", "line": "71", - "parentIndex": "206", + "parentIndex": "207", "start": "1747" }, "typeDescription": { @@ -4698,13 +4748,13 @@ } } }, - "id": "206", + "id": "207", "memberLocation": { "column": "29", "end": "1767", "length": "8", "line": "71", - "parentIndex": "206", + "parentIndex": "207", "start": "1760" }, "memberName": "Finished", @@ -4714,7 +4764,7 @@ "end": "1767", "length": "21", "line": "71", - "parentIndex": "204", + "parentIndex": "205", "start": "1747" }, "typeDescription": { @@ -4728,7 +4778,7 @@ "end": "1767", "length": "29", "line": "71", - "parentIndex": "203", + "parentIndex": "204", "start": "1739" }, "typeDescription": { @@ -4737,14 +4787,14 @@ } } }, - "id": "203", + "id": "204", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "1768", "length": "30", "line": "71", - "parentIndex": "202", + "parentIndex": "203", "start": "1739" }, "typeDescription": { @@ -4757,11 +4807,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "209" + "210" ], "declarations": [ { - "id": "209", + "id": "210", "mutability": "MUTABLE", "name": "index", "nameLocation": { @@ -4769,17 +4819,17 @@ "end": "1791", "length": "5", "line": "73", - "parentIndex": "209", + "parentIndex": "210", "start": "1787" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "202", + "scope": "203", "src": { "column": "8", "end": "1791", "length": "13", "line": "73", - "parentIndex": "208", + "parentIndex": "209", "start": "1779" }, "storageLocation": "DEFAULT", @@ -4788,7 +4838,7 @@ "typeString": "uint256" }, "typeName": { - "id": "210", + "id": "211", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4796,7 +4846,7 @@ "end": "1785", "length": "7", "line": "73", - "parentIndex": "209", + "parentIndex": "210", "start": "1779" }, "typeDescription": { @@ -4807,11 +4857,11 @@ "visibility": "INTERNAL" } ], - "id": "208", + "id": "209", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "211", + "id": "212", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -4828,7 +4878,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "216", + "id": "217", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -4836,7 +4886,7 @@ "end": "1807", "length": "5", "line": "73", - "parentIndex": "215", + "parentIndex": "216", "start": "1803" }, "typeDescription": { @@ -4845,13 +4895,13 @@ } } }, - "id": "215", + "id": "216", "memberLocation": { "column": "38", "end": "1817", "length": "9", "line": "73", - "parentIndex": "215", + "parentIndex": "216", "start": "1809" }, "memberName": "timestamp", @@ -4861,7 +4911,7 @@ "end": "1817", "length": "15", "line": "73", - "parentIndex": "212", + "parentIndex": "213", "start": "1803" }, "typeDescription": { @@ -4880,7 +4930,7 @@ "typeString": "uint256" } ], - "id": "213", + "id": "214", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -4888,7 +4938,7 @@ "end": "1801", "length": "7", "line": "73", - "parentIndex": "212", + "parentIndex": "213", "start": "1795" }, "typeDescription": { @@ -4896,7 +4946,7 @@ "typeString": "function(uint256)" }, "typeName": { - "id": "214", + "id": "215", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4904,7 +4954,7 @@ "end": "1801", "length": "7", "line": "73", - "parentIndex": "213", + "parentIndex": "214", "start": "1795" }, "typeDescription": { @@ -4914,7 +4964,7 @@ } } }, - "id": "212", + "id": "213", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -4922,7 +4972,7 @@ "end": "1818", "length": "24", "line": "73", - "parentIndex": "208", + "parentIndex": "209", "start": "1795" }, "typeDescription": { @@ -4939,16 +4989,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "218", + "id": "219", "name": "playerAddresses", "nodeType": "IDENTIFIER", - "referencedDeclaration": "45", + "referencedDeclaration": "46", "src": { "column": "51", "end": "1836", "length": "15", "line": "73", - "parentIndex": "217", + "parentIndex": "218", "start": "1822" }, "typeDescription": { @@ -4957,13 +5007,13 @@ } } }, - "id": "217", + "id": "218", "memberLocation": { "column": "67", "end": "1843", "length": "6", "line": "73", - "parentIndex": "217", + "parentIndex": "218", "start": "1838" }, "memberName": "length", @@ -4973,7 +5023,7 @@ "end": "1843", "length": "22", "line": "73", - "parentIndex": "208", + "parentIndex": "209", "start": "1822" }, "typeDescription": { @@ -4987,7 +5037,7 @@ "end": "1843", "length": "49", "line": "73", - "parentIndex": "208", + "parentIndex": "209", "start": "1795" }, "typeDescription": { @@ -5002,7 +5052,7 @@ "end": "1844", "length": "66", "line": "73", - "parentIndex": "202", + "parentIndex": "203", "start": "1779" } } @@ -5011,11 +5061,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "220" + "221" ], "declarations": [ { - "id": "220", + "id": "221", "mutability": "MUTABLE", "name": "winner", "nameLocation": { @@ -5023,17 +5073,17 @@ "end": "1867", "length": "6", "line": "74", - "parentIndex": "220", + "parentIndex": "221", "start": "1862" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "202", + "scope": "203", "src": { "column": "8", "end": "1867", "length": "14", "line": "74", - "parentIndex": "219", + "parentIndex": "220", "start": "1854" }, "storageLocation": "DEFAULT", @@ -5042,7 +5092,7 @@ "typeString": "address" }, "typeName": { - "id": "221", + "id": "222", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5050,7 +5100,7 @@ "end": "1860", "length": "7", "line": "74", - "parentIndex": "220", + "parentIndex": "221", "start": "1854" }, "stateMutability": "NONPAYABLE", @@ -5062,7 +5112,7 @@ "visibility": "INTERNAL" } ], - "id": "219", + "id": "220", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -5077,7 +5127,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "225", + "id": "226", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -5086,7 +5136,7 @@ "end": "1879", "length": "1", "line": "74", - "parentIndex": "222", + "parentIndex": "223", "start": "1879" }, "typeDescription": { @@ -5106,7 +5156,7 @@ "typeString": "address" } ], - "id": "223", + "id": "224", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -5114,7 +5164,7 @@ "end": "1877", "length": "7", "line": "74", - "parentIndex": "222", + "parentIndex": "223", "start": "1871" }, "typeDescription": { @@ -5122,7 +5172,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "224", + "id": "225", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5130,7 +5180,7 @@ "end": "1877", "length": "7", "line": "74", - "parentIndex": "223", + "parentIndex": "224", "start": "1871" }, "stateMutability": "NONPAYABLE", @@ -5141,7 +5191,7 @@ } } }, - "id": "222", + "id": "223", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -5149,7 +5199,7 @@ "end": "1880", "length": "10", "line": "74", - "parentIndex": "219", + "parentIndex": "220", "start": "1871" }, "typeDescription": { @@ -5164,7 +5214,7 @@ "end": "1881", "length": "28", "line": "74", - "parentIndex": "202", + "parentIndex": "203", "start": "1854" } } @@ -5173,11 +5223,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "227" + "228" ], "declarations": [ { - "id": "227", + "id": "228", "mutability": "MUTABLE", "name": "count", "nameLocation": { @@ -5185,17 +5235,17 @@ "end": "1903", "length": "5", "line": "75", - "parentIndex": "227", + "parentIndex": "228", "start": "1899" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "202", + "scope": "203", "src": { "column": "8", "end": "1903", "length": "13", "line": "75", - "parentIndex": "226", + "parentIndex": "227", "start": "1891" }, "storageLocation": "DEFAULT", @@ -5204,7 +5254,7 @@ "typeString": "uint256" }, "typeName": { - "id": "228", + "id": "229", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5212,7 +5262,7 @@ "end": "1897", "length": "7", "line": "75", - "parentIndex": "227", + "parentIndex": "228", "start": "1891" }, "typeDescription": { @@ -5223,12 +5273,12 @@ "visibility": "INTERNAL" } ], - "id": "226", + "id": "227", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "229", + "id": "230", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -5237,7 +5287,7 @@ "end": "1907", "length": "1", "line": "75", - "parentIndex": "226", + "parentIndex": "227", "start": "1907" }, "typeDescription": { @@ -5253,7 +5303,7 @@ "end": "1908", "length": "18", "line": "75", - "parentIndex": "202", + "parentIndex": "203", "start": "1891" } } @@ -5262,7 +5312,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.While", "value": { "body": { - "id": "234", + "id": "235", "implemented": true, "nodeType": "BLOCK", "src": { @@ -5277,7 +5327,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "239", + "id": "240", "implemented": true, "nodeType": "BLOCK", "src": { @@ -5294,20 +5344,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "241", + "id": "242", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "242", + "id": "243", "name": "winner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "59", + "referencedDeclaration": "60", "src": { "column": "16", "end": "2020", "length": "6", "line": "79", - "parentIndex": "241", + "parentIndex": "242", "start": "2015" }, "typeDescription": { @@ -5324,16 +5374,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "245", + "id": "246", "name": "count", "nodeType": "IDENTIFIER", - "referencedDeclaration": "226", + "referencedDeclaration": "227", "src": { "column": "41", "end": "2044", "length": "5", "line": "79", - "parentIndex": "243", + "parentIndex": "244", "start": "2040" }, "typeDescription": { @@ -5342,20 +5392,20 @@ } } }, - "id": "243", + "id": "244", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "244", + "id": "245", "name": "playerAddresses", "nodeType": "IDENTIFIER", - "referencedDeclaration": "45", + "referencedDeclaration": "46", "src": { "column": "25", "end": "2038", "length": "15", "line": "79", - "parentIndex": "243", + "parentIndex": "244", "start": "2024" }, "typeDescription": { @@ -5370,7 +5420,7 @@ "end": "2045", "length": "22", "line": "79", - "parentIndex": "241", + "parentIndex": "242", "start": "2024" }, "typeDescription": { @@ -5394,7 +5444,7 @@ "end": "2045", "length": "31", "line": "79", - "parentIndex": "240", + "parentIndex": "241", "start": "2015" }, "typeDescription": { @@ -5403,14 +5453,14 @@ } } }, - "id": "240", + "id": "241", "nodeType": "ASSIGNMENT", "src": { "column": "16", "end": "2046", "length": "32", "line": "79", - "parentIndex": "239", + "parentIndex": "240", "start": "2015" }, "typeDescription": { @@ -5422,13 +5472,13 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Break", "value": { - "id": "246", + "id": "247", "nodeType": "BREAK", "src": { "end": "2069", "length": "6", "line": "80", - "parentIndex": "239", + "parentIndex": "240", "start": "2064" } } @@ -5438,20 +5488,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "236", + "id": "237", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "237", + "id": "238", "name": "index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "208", + "referencedDeclaration": "209", "src": { "column": "15", "end": "1986", "length": "5", "line": "78", - "parentIndex": "236", + "parentIndex": "237", "start": "1982" }, "typeDescription": { @@ -5465,16 +5515,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "238", + "id": "239", "name": "count", "nodeType": "IDENTIFIER", - "referencedDeclaration": "226", + "referencedDeclaration": "227", "src": { "column": "24", "end": "1995", "length": "5", "line": "78", - "parentIndex": "236", + "parentIndex": "237", "start": "1991" }, "typeDescription": { @@ -5488,7 +5538,7 @@ "end": "1995", "length": "14", "line": "78", - "parentIndex": "235", + "parentIndex": "236", "start": "1982" }, "typeDescription": { @@ -5497,13 +5547,13 @@ } } }, - "id": "235", + "id": "236", "nodeType": "IF_STATEMENT", "src": { "end": "2083", "length": "105", "line": "78", - "parentIndex": "234", + "parentIndex": "235", "start": "1979" } } @@ -5514,16 +5564,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "248", + "id": "249", "name": "count", "nodeType": "IDENTIFIER", - "referencedDeclaration": "226", + "referencedDeclaration": "227", "src": { "column": "12", "end": "2102", "length": "5", "line": "83", - "parentIndex": "247", + "parentIndex": "248", "start": "2098" }, "typeDescription": { @@ -5532,7 +5582,7 @@ } } }, - "id": "247", + "id": "248", "kind": "KIND_UNARY_SUFFIX", "nodeType": "UNARY_OPERATION", "operator": "INCREMENT", @@ -5553,7 +5603,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "255", + "id": "256", "implemented": true, "nodeType": "BLOCK", "src": { @@ -5567,13 +5617,13 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Continue", "value": { - "id": "256", + "id": "257", "nodeType": "CONTINUE", "src": { "end": "2222", "length": "9", "line": "87", - "parentIndex": "255", + "parentIndex": "256", "start": "2214" } } @@ -5583,24 +5633,24 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "250", + "id": "251", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "251", + "id": "252", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "252", + "id": "253", "name": "count", "nodeType": "IDENTIFIER", - "referencedDeclaration": "226", + "referencedDeclaration": "227", "src": { "column": "16", "end": "2184", "length": "5", "line": "86", - "parentIndex": "251", + "parentIndex": "252", "start": "2180" }, "typeDescription": { @@ -5615,7 +5665,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "32", - "id": "253", + "id": "254", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -5624,7 +5674,7 @@ "end": "2188", "length": "1", "line": "86", - "parentIndex": "251", + "parentIndex": "252", "start": "2188" }, "typeDescription": { @@ -5639,7 +5689,7 @@ "end": "2188", "length": "9", "line": "86", - "parentIndex": "250", + "parentIndex": "251", "start": "2180" }, "typeDescription": { @@ -5654,7 +5704,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "254", + "id": "255", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -5663,7 +5713,7 @@ "end": "2193", "length": "1", "line": "86", - "parentIndex": "250", + "parentIndex": "251", "start": "2193" }, "typeDescription": { @@ -5678,7 +5728,7 @@ "end": "2193", "length": "14", "line": "86", - "parentIndex": "249", + "parentIndex": "250", "start": "2180" }, "typeDescription": { @@ -5687,13 +5737,13 @@ } } }, - "id": "249", + "id": "250", "nodeType": "IF_STATEMENT", "src": { "end": "2236", "length": "61", "line": "86", - "parentIndex": "234", + "parentIndex": "235", "start": "2176" } } @@ -5703,20 +5753,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "230", + "id": "231", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "231", + "id": "232", "name": "count", "nodeType": "IDENTIFIER", - "referencedDeclaration": "226", + "referencedDeclaration": "227", "src": { "column": "14", "end": "1937", "length": "5", "line": "77", - "parentIndex": "230", + "parentIndex": "231", "start": "1933" }, "typeDescription": { @@ -5733,16 +5783,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "233", + "id": "234", "name": "playerAddresses", "nodeType": "IDENTIFIER", - "referencedDeclaration": "45", + "referencedDeclaration": "46", "src": { "column": "22", "end": "1955", "length": "15", "line": "77", - "parentIndex": "232", + "parentIndex": "233", "start": "1941" }, "typeDescription": { @@ -5751,13 +5801,13 @@ } } }, - "id": "232", + "id": "233", "memberLocation": { "column": "38", "end": "1962", "length": "6", "line": "77", - "parentIndex": "232", + "parentIndex": "233", "start": "1957" }, "memberName": "length", @@ -5767,7 +5817,7 @@ "end": "1962", "length": "22", "line": "77", - "parentIndex": "230", + "parentIndex": "231", "start": "1941" }, "typeDescription": { @@ -5795,7 +5845,7 @@ "end": "2246", "length": "320", "line": "77", - "parentIndex": "202", + "parentIndex": "203", "start": "1927" } } @@ -5804,7 +5854,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "264", + "id": "265", "implemented": true, "nodeType": "BLOCK", "src": { @@ -5812,7 +5862,7 @@ "end": "2329", "length": "47", "line": "91", - "parentIndex": "195", + "parentIndex": "196", "start": "2283" }, "statements": [ @@ -5822,32 +5872,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "266", + "id": "267", "name": "InvalidWinner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "79", + "referencedDeclaration": "80", "src": { "column": "19", "end": "2316", "length": "13", "line": "92", - "parentIndex": "265", + "parentIndex": "266", "start": "2304" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_InvalidWinner_$79", + "typeIdentifier": "t_error$_Lottery_InvalidWinner_$80", "typeString": "error Lottery.InvalidWinner" } } }, - "id": "265", + "id": "266", "nodeType": "REVERT_STATEMENT", "src": { "column": "12", "end": "2319", "length": "23", "line": "92", - "parentIndex": "195", + "parentIndex": "196", "start": "2297" } } @@ -5857,20 +5907,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "258", + "id": "259", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "259", + "id": "260", "name": "winner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "219", + "referencedDeclaration": "220", "src": { "column": "12", "end": "2266", "length": "6", "line": "91", - "parentIndex": "258", + "parentIndex": "259", "start": "2261" }, "typeDescription": { @@ -5895,7 +5945,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "263", + "id": "264", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -5904,7 +5954,7 @@ "end": "2279", "length": "1", "line": "91", - "parentIndex": "260", + "parentIndex": "261", "start": "2279" }, "typeDescription": { @@ -5924,7 +5974,7 @@ "typeString": "address" } ], - "id": "261", + "id": "262", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -5932,7 +5982,7 @@ "end": "2277", "length": "7", "line": "91", - "parentIndex": "260", + "parentIndex": "261", "start": "2271" }, "typeDescription": { @@ -5940,7 +5990,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "262", + "id": "263", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5948,7 +5998,7 @@ "end": "2277", "length": "7", "line": "91", - "parentIndex": "261", + "parentIndex": "262", "start": "2271" }, "stateMutability": "NONPAYABLE", @@ -5959,7 +6009,7 @@ } } }, - "id": "260", + "id": "261", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -5967,7 +6017,7 @@ "end": "2280", "length": "10", "line": "91", - "parentIndex": "258", + "parentIndex": "259", "start": "2271" }, "typeDescription": { @@ -5981,7 +6031,7 @@ "end": "2280", "length": "20", "line": "91", - "parentIndex": "257", + "parentIndex": "258", "start": "2261" }, "typeDescription": { @@ -5990,13 +6040,13 @@ } } }, - "id": "257", + "id": "258", "nodeType": "IF_STATEMENT", "src": { "end": "2329", "length": "73", "line": "91", - "parentIndex": "202", + "parentIndex": "203", "start": "2257" } } @@ -6008,16 +6058,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "268", + "id": "269", "name": "winner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "219", + "referencedDeclaration": "220", "src": { "column": "29", "end": "2366", "length": "6", "line": "95", - "parentIndex": "267", + "parentIndex": "268", "start": "2361" }, "typeDescription": { @@ -6030,32 +6080,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "269", + "id": "270", "name": "LotteryFinished", "nodeType": "IDENTIFIER", - "referencedDeclaration": "57", + "referencedDeclaration": "58", "src": { "column": "13", "end": "2359", "length": "15", "line": "95", - "parentIndex": "267", + "parentIndex": "268", "start": "2345" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "typeIdentifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "typeString": "event Lottery.LotteryFinished" } } }, - "id": "267", + "id": "268", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "2368", "length": "29", "line": "95", - "parentIndex": "195", + "parentIndex": "196", "start": "2340" } } @@ -6064,11 +6114,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "271" + "272" ], "declarations": [ { - "id": "271", + "id": "272", "mutability": "MUTABLE", "name": "balance", "nameLocation": { @@ -6076,17 +6126,17 @@ "end": "2393", "length": "7", "line": "97", - "parentIndex": "271", + "parentIndex": "272", "start": "2387" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "202", + "scope": "203", "src": { "column": "8", "end": "2393", "length": "15", "line": "97", - "parentIndex": "270", + "parentIndex": "271", "start": "2379" }, "storageLocation": "DEFAULT", @@ -6095,7 +6145,7 @@ "typeString": "uint256" }, "typeName": { - "id": "272", + "id": "273", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6103,7 +6153,7 @@ "end": "2385", "length": "7", "line": "97", - "parentIndex": "271", + "parentIndex": "272", "start": "2379" }, "typeDescription": { @@ -6114,7 +6164,7 @@ "visibility": "INTERNAL" } ], - "id": "270", + "id": "271", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -6131,7 +6181,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "277", + "id": "278", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -6139,7 +6189,7 @@ "end": "2408", "length": "4", "line": "97", - "parentIndex": "274", + "parentIndex": "275", "start": "2405" }, "typeDescription": { @@ -6158,7 +6208,7 @@ "typeString": "address" } ], - "id": "275", + "id": "276", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -6166,7 +6216,7 @@ "end": "2403", "length": "7", "line": "97", - "parentIndex": "274", + "parentIndex": "275", "start": "2397" }, "typeDescription": { @@ -6174,7 +6224,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "276", + "id": "277", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6182,7 +6232,7 @@ "end": "2403", "length": "7", "line": "97", - "parentIndex": "275", + "parentIndex": "276", "start": "2397" }, "stateMutability": "NONPAYABLE", @@ -6193,7 +6243,7 @@ } } }, - "id": "274", + "id": "275", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -6201,7 +6251,7 @@ "end": "2409", "length": "13", "line": "97", - "parentIndex": "270", + "parentIndex": "271", "start": "2397" }, "typeDescription": { @@ -6210,13 +6260,13 @@ } } }, - "id": "273", + "id": "274", "memberLocation": { "column": "40", "end": "2417", "length": "7", "line": "97", - "parentIndex": "273", + "parentIndex": "274", "start": "2411" }, "memberName": "balance", @@ -6226,7 +6276,7 @@ "end": "2417", "length": "21", "line": "97", - "parentIndex": "270", + "parentIndex": "271", "start": "2397" }, "typeDescription": { @@ -6241,7 +6291,7 @@ "end": "2418", "length": "40", "line": "97", - "parentIndex": "202", + "parentIndex": "203", "start": "2379" } } @@ -6259,16 +6309,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "282", + "id": "283", "name": "balance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "270", + "referencedDeclaration": "271", "src": { "column": "33", "end": "2459", "length": "7", "line": "98", - "parentIndex": "278", + "parentIndex": "279", "start": "2453" }, "typeDescription": { @@ -6294,16 +6344,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "281", + "id": "282", "name": "winner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "219", + "referencedDeclaration": "220", "src": { "column": "16", "end": "2441", "length": "6", "line": "98", - "parentIndex": "280", + "parentIndex": "281", "start": "2436" }, "typeDescription": { @@ -6313,7 +6363,7 @@ } } ], - "id": "280", + "id": "281", "nodeType": "PAYABLE_CONVERSION", "payable": true, "src": { @@ -6321,18 +6371,18 @@ "end": "2442", "length": "15", "line": "98", - "parentIndex": "279", + "parentIndex": "280", "start": "2428" } } }, - "id": "279", + "id": "280", "memberLocation": { "column": "24", "end": "2451", "length": "8", "line": "98", - "parentIndex": "279", + "parentIndex": "280", "start": "2444" }, "memberName": "transfer", @@ -6342,7 +6392,7 @@ "end": "2451", "length": "24", "line": "98", - "parentIndex": "278", + "parentIndex": "279", "start": "2428" }, "typeDescription": { @@ -6351,7 +6401,7 @@ } } }, - "id": "278", + "id": "279", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -6359,7 +6409,7 @@ "end": "2460", "length": "33", "line": "98", - "parentIndex": "202", + "parentIndex": "203", "start": "2428" }, "typeDescription": { @@ -6370,7 +6420,7 @@ } ] }, - "id": "195", + "id": "196", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -6388,7 +6438,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "200", + "id": "201", "name": "LotteryState", "nodeType": "IDENTIFIER", "referencedDeclaration": "30", @@ -6397,7 +6447,7 @@ "end": "1716", "length": "12", "line": "70", - "parentIndex": "199", + "parentIndex": "200", "start": "1705" }, "typeDescription": { @@ -6406,13 +6456,13 @@ } } }, - "id": "199", + "id": "200", "memberLocation": { "column": "57", "end": "1726", "length": "9", "line": "70", - "parentIndex": "199", + "parentIndex": "200", "start": "1718" }, "memberName": "Accepting", @@ -6422,7 +6472,7 @@ "end": "1726", "length": "22", "line": "70", - "parentIndex": "197", + "parentIndex": "198", "start": "1705" }, "typeDescription": { @@ -6432,17 +6482,17 @@ } } ], - "id": "197", + "id": "198", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "198", + "id": "199", "name": "inState", "src": { "column": "36", "end": "1703", "length": "7", "line": "70", - "parentIndex": "197", + "parentIndex": "198", "start": "1697" } }, @@ -6453,7 +6503,7 @@ "end": "1727", "length": "31", "line": "70", - "parentIndex": "195", + "parentIndex": "196", "start": "1697" } } @@ -6464,31 +6514,31 @@ "end": "1686", "length": "13", "line": "70", - "parentIndex": "195", + "parentIndex": "196", "start": "1674" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "196", + "id": "197", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "2467", "length": "803", "line": "70", - "parentIndex": "195", + "parentIndex": "196", "start": "1665" } }, "returnParameters": { - "id": "201", + "id": "202", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "2467", "length": "803", "line": "70", - "parentIndex": "195", + "parentIndex": "196", "start": "1665" } }, @@ -6514,7 +6564,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "291", + "id": "292", "implemented": true, "nodeType": "BLOCK", "src": { @@ -6522,7 +6572,7 @@ "end": "2557", "length": "37", "line": "101", - "parentIndex": "284", + "parentIndex": "285", "start": "2521" }, "statements": [ @@ -6542,7 +6592,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "296", + "id": "297", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -6550,7 +6600,7 @@ "end": "2549", "length": "4", "line": "102", - "parentIndex": "293", + "parentIndex": "294", "start": "2546" }, "typeDescription": { @@ -6569,7 +6619,7 @@ "typeString": "address" } ], - "id": "294", + "id": "295", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -6577,7 +6627,7 @@ "end": "2544", "length": "7", "line": "102", - "parentIndex": "293", + "parentIndex": "294", "start": "2538" }, "typeDescription": { @@ -6585,7 +6635,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "295", + "id": "296", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6593,7 +6643,7 @@ "end": "2544", "length": "7", "line": "102", - "parentIndex": "294", + "parentIndex": "295", "start": "2538" }, "stateMutability": "NONPAYABLE", @@ -6604,7 +6654,7 @@ } } }, - "id": "293", + "id": "294", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -6612,7 +6662,7 @@ "end": "2550", "length": "13", "line": "102", - "parentIndex": "292", + "parentIndex": "293", "start": "2538" }, "typeDescription": { @@ -6621,15 +6671,15 @@ } } }, - "functionReturnParameters": "284", - "id": "292", + "functionReturnParameters": "285", + "id": "293", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "2551", "length": "21", "line": "102", - "parentIndex": "284", + "parentIndex": "285", "start": "2531" }, "typeDescription": { @@ -6640,7 +6690,7 @@ } ] }, - "id": "284", + "id": "285", "implemented": true, "kind": "KIND_FUNCTION", "name": "owner", @@ -6649,24 +6699,24 @@ "end": "2487", "length": "5", "line": "101", - "parentIndex": "284", + "parentIndex": "285", "start": "2483" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "285", + "id": "286", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "286", + "id": "287", "nodeType": "VARIABLE_DECLARATION", - "scope": "286", + "scope": "287", "src": { "column": "42", "end": "2518", "length": "7", "line": "101", - "parentIndex": "285", + "parentIndex": "286", "start": "2512" }, "stateMutability": "NONPAYABLE", @@ -6676,7 +6726,7 @@ "typeString": "address" }, "typeName": { - "id": "287", + "id": "288", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6684,7 +6734,7 @@ "end": "2518", "length": "7", "line": "101", - "parentIndex": "286", + "parentIndex": "287", "start": "2512" }, "stateMutability": "NONPAYABLE", @@ -6701,24 +6751,24 @@ "end": "2518", "length": "7", "line": "101", - "parentIndex": "284", + "parentIndex": "285", "start": "2512" } }, "returnParameters": { - "id": "288", + "id": "289", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "289", + "id": "290", "nodeType": "VARIABLE_DECLARATION", - "scope": "289", + "scope": "290", "src": { "column": "42", "end": "2518", "length": "7", "line": "101", - "parentIndex": "288", + "parentIndex": "289", "start": "2512" }, "stateMutability": "NONPAYABLE", @@ -6728,7 +6778,7 @@ "typeString": "address" }, "typeName": { - "id": "290", + "id": "291", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6736,7 +6786,7 @@ "end": "2518", "length": "7", "line": "101", - "parentIndex": "289", + "parentIndex": "290", "start": "2512" }, "stateMutability": "NONPAYABLE", @@ -6753,7 +6803,7 @@ "end": "2518", "length": "7", "line": "101", - "parentIndex": "284", + "parentIndex": "285", "start": "2512" } }, @@ -6779,7 +6829,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "305", + "id": "306", "implemented": true, "nodeType": "BLOCK", "src": { @@ -6787,7 +6837,7 @@ "end": "2657", "length": "45", "line": "105", - "parentIndex": "298", + "parentIndex": "299", "start": "2613" }, "statements": [ @@ -6810,7 +6860,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "311", + "id": "312", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -6818,7 +6868,7 @@ "end": "2641", "length": "4", "line": "106", - "parentIndex": "308", + "parentIndex": "309", "start": "2638" }, "typeDescription": { @@ -6837,7 +6887,7 @@ "typeString": "address" } ], - "id": "309", + "id": "310", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -6845,7 +6895,7 @@ "end": "2636", "length": "7", "line": "106", - "parentIndex": "308", + "parentIndex": "309", "start": "2630" }, "typeDescription": { @@ -6853,7 +6903,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "310", + "id": "311", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6861,7 +6911,7 @@ "end": "2636", "length": "7", "line": "106", - "parentIndex": "309", + "parentIndex": "310", "start": "2630" }, "stateMutability": "NONPAYABLE", @@ -6872,7 +6922,7 @@ } } }, - "id": "308", + "id": "309", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -6880,7 +6930,7 @@ "end": "2642", "length": "13", "line": "106", - "parentIndex": "307", + "parentIndex": "308", "start": "2630" }, "typeDescription": { @@ -6889,13 +6939,13 @@ } } }, - "id": "307", + "id": "308", "memberLocation": { "column": "29", "end": "2650", "length": "7", "line": "106", - "parentIndex": "307", + "parentIndex": "308", "start": "2644" }, "memberName": "balance", @@ -6905,7 +6955,7 @@ "end": "2650", "length": "21", "line": "106", - "parentIndex": "306", + "parentIndex": "307", "start": "2630" }, "typeDescription": { @@ -6914,15 +6964,15 @@ } } }, - "functionReturnParameters": "298", - "id": "306", + "functionReturnParameters": "299", + "id": "307", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "2651", "length": "29", "line": "106", - "parentIndex": "298", + "parentIndex": "299", "start": "2623" }, "typeDescription": { @@ -6933,7 +6983,7 @@ } ] }, - "id": "298", + "id": "299", "implemented": true, "kind": "KIND_FUNCTION", "name": "balance", @@ -6942,24 +6992,24 @@ "end": "2579", "length": "7", "line": "105", - "parentIndex": "298", + "parentIndex": "299", "start": "2573" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "299", + "id": "300", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "300", + "id": "301", "nodeType": "VARIABLE_DECLARATION", - "scope": "300", + "scope": "301", "src": { "column": "44", "end": "2610", "length": "7", "line": "105", - "parentIndex": "299", + "parentIndex": "300", "start": "2604" }, "stateMutability": "MUTABLE", @@ -6969,7 +7019,7 @@ "typeString": "uint256" }, "typeName": { - "id": "301", + "id": "302", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6977,7 +7027,7 @@ "end": "2610", "length": "7", "line": "105", - "parentIndex": "300", + "parentIndex": "301", "start": "2604" }, "typeDescription": { @@ -6993,24 +7043,24 @@ "end": "2610", "length": "7", "line": "105", - "parentIndex": "298", + "parentIndex": "299", "start": "2604" } }, "returnParameters": { - "id": "302", + "id": "303", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "303", + "id": "304", "nodeType": "VARIABLE_DECLARATION", - "scope": "303", + "scope": "304", "src": { "column": "44", "end": "2610", "length": "7", "line": "105", - "parentIndex": "302", + "parentIndex": "303", "start": "2604" }, "stateMutability": "MUTABLE", @@ -7020,7 +7070,7 @@ "typeString": "uint256" }, "typeName": { - "id": "304", + "id": "305", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7028,7 +7078,7 @@ "end": "2610", "length": "7", "line": "105", - "parentIndex": "303", + "parentIndex": "304", "start": "2604" }, "typeDescription": { @@ -7044,7 +7094,7 @@ "end": "2610", "length": "7", "line": "105", - "parentIndex": "298", + "parentIndex": "299", "start": "2604" } }, @@ -7070,7 +7120,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "320", + "id": "321", "implemented": true, "nodeType": "BLOCK", "src": { @@ -7078,7 +7128,7 @@ "end": "2977", "length": "225", "line": "110", - "parentIndex": "313", + "parentIndex": "314", "start": "2753" }, "statements": [ @@ -7086,7 +7136,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "332", + "id": "333", "implemented": true, "nodeType": "BLOCK", "src": { @@ -7094,7 +7144,7 @@ "end": "2950", "length": "138", "line": "111", - "parentIndex": "321", + "parentIndex": "322", "start": "2813" }, "statements": [ @@ -7102,7 +7152,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "345", + "id": "346", "implemented": true, "nodeType": "BLOCK", "src": { @@ -7110,7 +7160,7 @@ "end": "2940", "length": "62", "line": "112", - "parentIndex": "321", + "parentIndex": "322", "start": "2879" }, "statements": [ @@ -7120,32 +7170,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "347", + "id": "348", "name": "InvalidPlayerAddress", "nodeType": "IDENTIFIER", - "referencedDeclaration": "82", + "referencedDeclaration": "83", "src": { "column": "23", "end": "2923", "length": "20", "line": "113", - "parentIndex": "346", + "parentIndex": "347", "start": "2904" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "typeIdentifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "typeString": "error Lottery.InvalidPlayerAddress" } } }, - "id": "346", + "id": "347", "nodeType": "REVERT_STATEMENT", "src": { "column": "16", "end": "2926", "length": "30", "line": "113", - "parentIndex": "321", + "parentIndex": "322", "start": "2897" } } @@ -7155,7 +7205,7 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "334", + "id": "335", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -7168,16 +7218,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "340", + "id": "341", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "322", + "referencedDeclaration": "323", "src": { "column": "40", "end": "2855", "length": "1", "line": "112", - "parentIndex": "338", + "parentIndex": "339", "start": "2855" }, "typeDescription": { @@ -7186,20 +7236,20 @@ } } }, - "id": "338", + "id": "339", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "339", + "id": "340", "name": "playerAddresses", "nodeType": "IDENTIFIER", - "referencedDeclaration": "45", + "referencedDeclaration": "46", "src": { "column": "24", "end": "2853", "length": "15", "line": "112", - "parentIndex": "338", + "parentIndex": "339", "start": "2839" }, "typeDescription": { @@ -7214,7 +7264,7 @@ "end": "2856", "length": "18", "line": "112", - "parentIndex": "336", + "parentIndex": "337", "start": "2839" }, "typeDescription": { @@ -7233,11 +7283,11 @@ ] } }, - "id": "336", + "id": "337", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "337", + "id": "338", "name": "players", "nodeType": "IDENTIFIER", "referencedDeclaration": "40", @@ -7246,11 +7296,11 @@ "end": "2837", "length": "7", "line": "112", - "parentIndex": "336", + "parentIndex": "337", "start": "2831" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" } } @@ -7261,16 +7311,16 @@ "end": "2857", "length": "27", "line": "112", - "parentIndex": "335", + "parentIndex": "336", "start": "2831" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "typeString": "index[mapping(address=\u003ePlayer):index[address:uint256]]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_Player$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "typeString": "mapping(address=\u003ePlayer)" }, { @@ -7280,13 +7330,13 @@ ] } }, - "id": "335", + "id": "336", "memberLocation": { "column": "44", "end": "2862", "length": "4", "line": "112", - "parentIndex": "335", + "parentIndex": "336", "start": "2859" }, "memberName": "addr", @@ -7296,11 +7346,11 @@ "end": "2862", "length": "32", "line": "112", - "parentIndex": "334", + "parentIndex": "335", "start": "2831" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "typeString": "index[mapping(address=\u003ePlayer):index[address:uint256]]" } } @@ -7321,7 +7371,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "344", + "id": "345", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -7330,7 +7380,7 @@ "end": "2875", "length": "1", "line": "112", - "parentIndex": "341", + "parentIndex": "342", "start": "2875" }, "typeDescription": { @@ -7350,7 +7400,7 @@ "typeString": "address" } ], - "id": "342", + "id": "343", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -7358,7 +7408,7 @@ "end": "2873", "length": "7", "line": "112", - "parentIndex": "341", + "parentIndex": "342", "start": "2867" }, "typeDescription": { @@ -7366,7 +7416,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "343", + "id": "344", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7374,7 +7424,7 @@ "end": "2873", "length": "7", "line": "112", - "parentIndex": "342", + "parentIndex": "343", "start": "2867" }, "stateMutability": "NONPAYABLE", @@ -7385,7 +7435,7 @@ } } }, - "id": "341", + "id": "342", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -7393,7 +7443,7 @@ "end": "2876", "length": "10", "line": "112", - "parentIndex": "334", + "parentIndex": "335", "start": "2867" }, "typeDescription": { @@ -7407,7 +7457,7 @@ "end": "2876", "length": "46", "line": "112", - "parentIndex": "333", + "parentIndex": "334", "start": "2831" }, "typeDescription": { @@ -7416,13 +7466,13 @@ } } }, - "id": "333", + "id": "334", "nodeType": "IF_STATEMENT", "src": { "end": "2940", "length": "114", "line": "112", - "parentIndex": "332", + "parentIndex": "333", "start": "2827" } } @@ -7435,16 +7485,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "331", + "id": "332", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "322", + "referencedDeclaration": "323", "src": { "column": "53", "end": "2808", "length": "1", "line": "111", - "parentIndex": "330", + "parentIndex": "331", "start": "2808" }, "typeDescription": { @@ -7453,7 +7503,7 @@ } } }, - "id": "330", + "id": "331", "kind": "KIND_UNARY_SUFFIX", "nodeType": "UNARY_OPERATION", "operator": "INCREMENT", @@ -7462,7 +7512,7 @@ "end": "2810", "length": "3", "line": "111", - "parentIndex": "313", + "parentIndex": "314", "start": "2808" }, "typeDescription": { @@ -7474,20 +7524,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "326", + "id": "327", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "327", + "id": "328", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "322", + "referencedDeclaration": "323", "src": { "column": "25", "end": "2780", "length": "1", "line": "111", - "parentIndex": "326", + "parentIndex": "327", "start": "2780" }, "typeDescription": { @@ -7504,16 +7554,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "329", + "id": "330", "name": "playerAddresses", "nodeType": "IDENTIFIER", - "referencedDeclaration": "45", + "referencedDeclaration": "46", "src": { "column": "29", "end": "2798", "length": "15", "line": "111", - "parentIndex": "328", + "parentIndex": "329", "start": "2784" }, "typeDescription": { @@ -7522,13 +7572,13 @@ } } }, - "id": "328", + "id": "329", "memberLocation": { "column": "45", "end": "2805", "length": "6", "line": "111", - "parentIndex": "328", + "parentIndex": "329", "start": "2800" }, "memberName": "length", @@ -7538,7 +7588,7 @@ "end": "2805", "length": "22", "line": "111", - "parentIndex": "326", + "parentIndex": "327", "start": "2784" }, "typeDescription": { @@ -7552,7 +7602,7 @@ "end": "2805", "length": "26", "line": "111", - "parentIndex": "321", + "parentIndex": "322", "start": "2780" }, "typeDescription": { @@ -7561,16 +7611,16 @@ } } }, - "id": "321", + "id": "322", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "323" + "324" ], "declarations": [ { - "id": "323", + "id": "324", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -7578,17 +7628,17 @@ "end": "2773", "length": "1", "line": "111", - "parentIndex": "323", + "parentIndex": "324", "start": "2773" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "320", + "scope": "321", "src": { "column": "13", "end": "2773", "length": "6", "line": "111", - "parentIndex": "322", + "parentIndex": "323", "start": "2768" }, "storageLocation": "DEFAULT", @@ -7597,7 +7647,7 @@ "typeString": "uint256" }, "typeName": { - "id": "324", + "id": "325", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7605,7 +7655,7 @@ "end": "2771", "length": "4", "line": "111", - "parentIndex": "323", + "parentIndex": "324", "start": "2768" }, "typeDescription": { @@ -7616,12 +7666,12 @@ "visibility": "INTERNAL" } ], - "id": "322", + "id": "323", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "325", + "id": "326", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -7630,7 +7680,7 @@ "end": "2777", "length": "1", "line": "111", - "parentIndex": "322", + "parentIndex": "323", "start": "2777" }, "typeDescription": { @@ -7646,7 +7696,7 @@ "end": "2778", "length": "11", "line": "111", - "parentIndex": "320", + "parentIndex": "321", "start": "2768" } } @@ -7656,7 +7706,7 @@ "end": "2950", "length": "188", "line": "111", - "parentIndex": "320", + "parentIndex": "321", "start": "2763" } } @@ -7668,7 +7718,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "349", + "id": "350", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -7677,7 +7727,7 @@ "end": "2970", "length": "4", "line": "116", - "parentIndex": "348", + "parentIndex": "349", "start": "2967" }, "typeDescription": { @@ -7687,15 +7737,15 @@ "value": "true" } }, - "functionReturnParameters": "313", - "id": "348", + "functionReturnParameters": "314", + "id": "349", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "2971", "length": "12", "line": "116", - "parentIndex": "313", + "parentIndex": "314", "start": "2960" }, "typeDescription": { @@ -7706,7 +7756,7 @@ } ] }, - "id": "313", + "id": "314", "implemented": true, "kind": "KIND_FUNCTION", "name": "checkAllPlayers", @@ -7715,24 +7765,24 @@ "end": "2722", "length": "15", "line": "110", - "parentIndex": "313", + "parentIndex": "314", "start": "2708" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "314", + "id": "315", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "315", + "id": "316", "nodeType": "VARIABLE_DECLARATION", - "scope": "315", + "scope": "316", "src": { "column": "52", "end": "2750", "length": "4", "line": "110", - "parentIndex": "314", + "parentIndex": "315", "start": "2747" }, "stateMutability": "MUTABLE", @@ -7742,7 +7792,7 @@ "typeString": "bool" }, "typeName": { - "id": "316", + "id": "317", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7750,7 +7800,7 @@ "end": "2750", "length": "4", "line": "110", - "parentIndex": "315", + "parentIndex": "316", "start": "2747" }, "typeDescription": { @@ -7766,24 +7816,24 @@ "end": "2750", "length": "4", "line": "110", - "parentIndex": "313", + "parentIndex": "314", "start": "2747" } }, "returnParameters": { - "id": "317", + "id": "318", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "318", + "id": "319", "nodeType": "VARIABLE_DECLARATION", - "scope": "318", + "scope": "319", "src": { "column": "52", "end": "2750", "length": "4", "line": "110", - "parentIndex": "317", + "parentIndex": "318", "start": "2747" }, "stateMutability": "MUTABLE", @@ -7793,7 +7843,7 @@ "typeString": "bool" }, "typeName": { - "id": "319", + "id": "320", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7801,7 +7851,7 @@ "end": "2750", "length": "4", "line": "110", - "parentIndex": "318", + "parentIndex": "319", "start": "2747" }, "typeDescription": { @@ -7817,7 +7867,7 @@ "end": "2750", "length": "4", "line": "110", - "parentIndex": "313", + "parentIndex": "314", "start": "2747" } }, @@ -7843,7 +7893,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "354", + "id": "355", "implemented": true, "nodeType": "BLOCK", "src": { @@ -7851,7 +7901,7 @@ "end": "3145", "length": "93", "line": "120", - "parentIndex": "351", + "parentIndex": "352", "start": "3053" }, "statements": [ @@ -7859,7 +7909,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "361", + "id": "362", "implemented": true, "nodeType": "BLOCK", "src": { @@ -7867,7 +7917,7 @@ "end": "3139", "length": "50", "line": "121", - "parentIndex": "351", + "parentIndex": "352", "start": "3090" }, "statements": [ @@ -7877,32 +7927,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "363", + "id": "364", "name": "OnlyOwnerCanCall", "nodeType": "IDENTIFIER", - "referencedDeclaration": "85", + "referencedDeclaration": "86", "src": { "column": "19", "end": "3126", "length": "16", "line": "122", - "parentIndex": "362", + "parentIndex": "363", "start": "3111" }, "typeDescription": { - "typeIdentifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "typeIdentifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "typeString": "error Lottery.OnlyOwnerCanCall" } } }, - "id": "362", + "id": "363", "nodeType": "REVERT_STATEMENT", "src": { "column": "12", "end": "3129", "length": "26", "line": "122", - "parentIndex": "351", + "parentIndex": "352", "start": "3104" } } @@ -7912,14 +7962,14 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "356", + "id": "357", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "358", + "id": "359", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -7927,7 +7977,7 @@ "end": "3069", "length": "3", "line": "121", - "parentIndex": "357", + "parentIndex": "358", "start": "3067" }, "typeDescription": { @@ -7936,13 +7986,13 @@ } } }, - "id": "357", + "id": "358", "memberLocation": { "column": "16", "end": "3076", "length": "6", "line": "121", - "parentIndex": "357", + "parentIndex": "358", "start": "3071" }, "memberName": "sender", @@ -7952,7 +8002,7 @@ "end": "3076", "length": "10", "line": "121", - "parentIndex": "356", + "parentIndex": "357", "start": "3067" }, "typeDescription": { @@ -7969,7 +8019,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "360", + "id": "361", "name": "owner", "nodeType": "IDENTIFIER", "src": { @@ -7977,7 +8027,7 @@ "end": "3085", "length": "5", "line": "121", - "parentIndex": "359", + "parentIndex": "360", "start": "3081" }, "typeDescription": { @@ -7986,7 +8036,7 @@ } } }, - "id": "359", + "id": "360", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -7994,7 +8044,7 @@ "end": "3087", "length": "7", "line": "121", - "parentIndex": "356", + "parentIndex": "357", "start": "3081" }, "typeDescription": { @@ -8008,7 +8058,7 @@ "end": "3087", "length": "21", "line": "121", - "parentIndex": "355", + "parentIndex": "356", "start": "3067" }, "typeDescription": { @@ -8017,20 +8067,20 @@ } } }, - "id": "355", + "id": "356", "nodeType": "IF_STATEMENT", "src": { "end": "3139", "length": "77", "line": "121", - "parentIndex": "354", + "parentIndex": "355", "start": "3063" } } } ] }, - "id": "351", + "id": "352", "implemented": true, "kind": "KIND_FUNCTION", "name": "requireOwner", @@ -8039,31 +8089,31 @@ "end": "3037", "length": "12", "line": "120", - "parentIndex": "351", + "parentIndex": "352", "start": "3026" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "352", + "id": "353", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "3145", "length": "129", "line": "120", - "parentIndex": "351", + "parentIndex": "352", "start": "3017" } }, "returnParameters": { - "id": "353", + "id": "354", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "3145", "length": "129", "line": "120", - "parentIndex": "351", + "parentIndex": "352", "start": "3017" } }, @@ -8089,7 +8139,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "370", + "id": "371", "implemented": true, "nodeType": "BLOCK", "src": { @@ -8097,7 +8147,7 @@ "end": "3521", "length": "300", "line": "126", - "parentIndex": "365", + "parentIndex": "366", "start": "3222" }, "statements": [ @@ -8105,11 +8155,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "372" + "373" ], "declarations": [ { - "id": "372", + "id": "373", "mutability": "MUTABLE", "name": "dummyContract", "nameLocation": { @@ -8117,17 +8167,17 @@ "end": "3259", "length": "13", "line": "127", - "parentIndex": "372", + "parentIndex": "373", "start": "3247" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "370", + "scope": "371", "src": { "column": "8", "end": "3259", "length": "28", "line": "127", - "parentIndex": "371", + "parentIndex": "372", "start": "3232" }, "storageLocation": "DEFAULT", @@ -8136,17 +8186,17 @@ "typeString": "contract IDummyContract" }, "typeName": { - "id": "373", + "id": "374", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "374", + "id": "375", "name": "IDummyContract", "nameLocation": { "column": "8", "end": "3245", "length": "14", "line": "127", - "parentIndex": "373", + "parentIndex": "374", "start": "3232" }, "nodeType": "IDENTIFIER_PATH", @@ -8156,7 +8206,7 @@ "end": "3245", "length": "14", "line": "127", - "parentIndex": "373", + "parentIndex": "374", "start": "3232" } }, @@ -8166,7 +8216,7 @@ "end": "3245", "length": "14", "line": "127", - "parentIndex": "372", + "parentIndex": "373", "start": "3232" }, "typeDescription": { @@ -8177,7 +8227,7 @@ "visibility": "INTERNAL" } ], - "id": "371", + "id": "372", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -8191,16 +8241,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "377", + "id": "378", "name": "externalContractAddress", "nodeType": "IDENTIFIER", - "referencedDeclaration": "377", + "referencedDeclaration": "378", "src": { "column": "54", "end": "3300", "length": "23", "line": "127", - "parentIndex": "375", + "parentIndex": "376", "start": "3278" }, "typeDescription": { @@ -8213,7 +8263,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "376", + "id": "377", "name": "IDummyContract", "nodeType": "IDENTIFIER", "src": { @@ -8221,7 +8271,7 @@ "end": "3276", "length": "14", "line": "127", - "parentIndex": "375", + "parentIndex": "376", "start": "3263" }, "typeDescription": { @@ -8230,7 +8280,7 @@ } } }, - "id": "375", + "id": "376", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -8238,7 +8288,7 @@ "end": "3301", "length": "39", "line": "127", - "parentIndex": "371", + "parentIndex": "372", "start": "3263" }, "typeDescription": { @@ -8253,7 +8303,7 @@ "end": "3302", "length": "71", "line": "127", - "parentIndex": "370", + "parentIndex": "371", "start": "3232" } } @@ -8262,7 +8312,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Try", "value": { "body": { - "id": "382", + "id": "383", "implemented": true, "nodeType": "BLOCK", "src": { @@ -8270,7 +8320,7 @@ "end": "3400", "length": "54", "line": "129", - "parentIndex": "378", + "parentIndex": "379", "start": "3347" }, "statements": [ @@ -8280,32 +8330,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "384", + "id": "385", "name": "ExternalCallSuccessful", "nodeType": "IDENTIFIER", - "referencedDeclaration": "62", + "referencedDeclaration": "63", "src": { "column": "17", "end": "3387", "length": "22", "line": "130", - "parentIndex": "383", + "parentIndex": "384", "start": "3366" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "typeIdentifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "typeString": "event Lottery.ExternalCallSuccessful" } } }, - "id": "383", + "id": "384", "nodeType": "EMIT_STATEMENT", "src": { "column": "12", "end": "3390", "length": "30", "line": "130", - "parentIndex": "378", + "parentIndex": "379", "start": "3361" } } @@ -8317,7 +8367,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Catch", "value": { "body": { - "id": "388", + "id": "389", "implemented": true, "nodeType": "BLOCK", "src": { @@ -8336,7 +8386,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "45787465726e616c20636f6e7472616374206661696c6564", - "id": "390", + "id": "391", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -8345,7 +8395,7 @@ "end": "3503", "length": "26", "line": "132", - "parentIndex": "389", + "parentIndex": "390", "start": "3478" }, "typeDescription": { @@ -8359,25 +8409,25 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "391", + "id": "392", "name": "ExternalCallFailed", "nodeType": "IDENTIFIER", - "referencedDeclaration": "65", + "referencedDeclaration": "66", "src": { "column": "17", "end": "3476", "length": "18", "line": "132", - "parentIndex": "389", + "parentIndex": "390", "start": "3459" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "typeIdentifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "typeString": "event Lottery.ExternalCallFailed" } } }, - "id": "389", + "id": "390", "nodeType": "EMIT_STATEMENT", "src": { "column": "12", @@ -8393,19 +8443,19 @@ "kind": "CATCH", "nodeType": "TRY_CATCH_CLAUSE", "parameters": { - "id": "385", + "id": "386", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "386", + "id": "387", "nodeType": "VARIABLE_DECLARATION", - "scope": "386", + "scope": "387", "src": { "column": "17", "end": "3420", "length": "12", "line": "131", - "parentIndex": "385", + "parentIndex": "386", "start": "3409" }, "stateMutability": "MUTABLE", @@ -8415,7 +8465,7 @@ "typeString": "bytes" }, "typeName": { - "id": "387", + "id": "388", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8423,7 +8473,7 @@ "end": "3413", "length": "5", "line": "131", - "parentIndex": "386", + "parentIndex": "387", "start": "3409" }, "typeDescription": { @@ -8446,7 +8496,7 @@ "end": "3515", "length": "114", "line": "131", - "parentIndex": "378", + "parentIndex": "379", "start": "3402" } } @@ -8461,16 +8511,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "381", + "id": "382", "name": "dummyContract", "nodeType": "IDENTIFIER", - "referencedDeclaration": "371", + "referencedDeclaration": "372", "src": { "column": "12", "end": "3329", "length": "13", "line": "129", - "parentIndex": "380", + "parentIndex": "381", "start": "3317" }, "typeDescription": { @@ -8479,13 +8529,13 @@ } } }, - "id": "380", + "id": "381", "memberLocation": { "column": "26", "end": "3343", "length": "13", "line": "129", - "parentIndex": "380", + "parentIndex": "381", "start": "3331" }, "memberName": "dummyFunction", @@ -8495,7 +8545,7 @@ "end": "3343", "length": "27", "line": "129", - "parentIndex": "379", + "parentIndex": "380", "start": "3317" }, "typeDescription": { @@ -8504,7 +8554,7 @@ } } }, - "id": "379", + "id": "380", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -8512,7 +8562,7 @@ "end": "3345", "length": "29", "line": "129", - "parentIndex": "378", + "parentIndex": "379", "start": "3317" }, "typeDescription": { @@ -8521,17 +8571,17 @@ } } }, - "id": "378", + "id": "379", "kind": "TRY", "nodeType": "TRY_STATEMENT", "returnParameters": { - "id": "392", + "id": "393", "nodeType": "PARAMETER_LIST", "src": { "end": "3515", "length": "203", "line": "129", - "parentIndex": "378", + "parentIndex": "379", "start": "3313" } }, @@ -8539,14 +8589,14 @@ "end": "3515", "length": "203", "line": "129", - "parentIndex": "370", + "parentIndex": "371", "start": "3313" } } } ] }, - "id": "365", + "id": "366", "implemented": true, "kind": "KIND_FUNCTION", "name": "callExternalFunction", @@ -8555,25 +8605,25 @@ "end": "3180", "length": "20", "line": "126", - "parentIndex": "365", + "parentIndex": "366", "start": "3161" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "366", + "id": "367", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "367", + "id": "368", "name": "externalContractAddress", "nodeType": "VARIABLE_DECLARATION", - "scope": "367", + "scope": "368", "src": { "column": "34", "end": "3212", "length": "31", "line": "126", - "parentIndex": "366", + "parentIndex": "367", "start": "3182" }, "stateMutability": "NONPAYABLE", @@ -8583,7 +8633,7 @@ "typeString": "address" }, "typeName": { - "id": "368", + "id": "369", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8591,7 +8641,7 @@ "end": "3188", "length": "7", "line": "126", - "parentIndex": "367", + "parentIndex": "368", "start": "3182" }, "stateMutability": "NONPAYABLE", @@ -8608,19 +8658,19 @@ "end": "3212", "length": "31", "line": "126", - "parentIndex": "365", + "parentIndex": "366", "start": "3182" } }, "returnParameters": { - "id": "369", + "id": "370", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "3521", "length": "370", "line": "126", - "parentIndex": "365", + "parentIndex": "366", "start": "3152" } }, @@ -8646,7 +8696,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "401", + "id": "402", "implemented": true, "nodeType": "BLOCK", "src": { @@ -8654,7 +8704,7 @@ "end": "4071", "length": "463", "line": "137", - "parentIndex": "394", + "parentIndex": "395", "start": "3609" }, "statements": [ @@ -8662,7 +8712,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "406", + "id": "407", "implemented": true, "nodeType": "BLOCK", "src": { @@ -8670,7 +8720,7 @@ "end": "3675", "length": "35", "line": "139", - "parentIndex": "394", + "parentIndex": "395", "start": "3641" }, "statements": [ @@ -8681,7 +8731,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "408", + "id": "409", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -8690,7 +8740,7 @@ "end": "3664", "length": "3", "line": "140", - "parentIndex": "407", + "parentIndex": "408", "start": "3662" }, "typeDescription": { @@ -8700,15 +8750,15 @@ "value": "0" } }, - "functionReturnParameters": "394", - "id": "407", + "functionReturnParameters": "395", + "id": "408", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", "end": "3665", "length": "11", "line": "140", - "parentIndex": "394", + "parentIndex": "395", "start": "3655" }, "typeDescription": { @@ -8722,20 +8772,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "403", + "id": "404", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "404", + "id": "405", "name": "_i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "404", + "referencedDeclaration": "405", "src": { "column": "12", "end": "3633", "length": "2", "line": "139", - "parentIndex": "403", + "parentIndex": "404", "start": "3632" }, "typeDescription": { @@ -8750,7 +8800,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "405", + "id": "406", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -8759,7 +8809,7 @@ "end": "3638", "length": "1", "line": "139", - "parentIndex": "403", + "parentIndex": "404", "start": "3638" }, "typeDescription": { @@ -8774,7 +8824,7 @@ "end": "3638", "length": "7", "line": "139", - "parentIndex": "402", + "parentIndex": "403", "start": "3632" }, "typeDescription": { @@ -8783,13 +8833,13 @@ } } }, - "id": "402", + "id": "403", "nodeType": "IF_STATEMENT", "src": { "end": "3675", "length": "48", "line": "139", - "parentIndex": "401", + "parentIndex": "402", "start": "3628" } } @@ -8798,11 +8848,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "410" + "411" ], "declarations": [ { - "id": "410", + "id": "411", "mutability": "MUTABLE", "name": "j", "nameLocation": { @@ -8810,17 +8860,17 @@ "end": "3690", "length": "1", "line": "142", - "parentIndex": "410", + "parentIndex": "411", "start": "3690" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "401", + "scope": "402", "src": { "column": "8", "end": "3690", "length": "6", "line": "142", - "parentIndex": "409", + "parentIndex": "410", "start": "3685" }, "storageLocation": "DEFAULT", @@ -8829,7 +8879,7 @@ "typeString": "uint256" }, "typeName": { - "id": "411", + "id": "412", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8837,7 +8887,7 @@ "end": "3688", "length": "4", "line": "142", - "parentIndex": "410", + "parentIndex": "411", "start": "3685" }, "typeDescription": { @@ -8848,20 +8898,20 @@ "visibility": "INTERNAL" } ], - "id": "409", + "id": "410", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "412", + "id": "413", "name": "_i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "412", + "referencedDeclaration": "413", "src": { "column": "17", "end": "3695", "length": "2", "line": "142", - "parentIndex": "409", + "parentIndex": "410", "start": "3694" }, "typeDescription": { @@ -8876,7 +8926,7 @@ "end": "3696", "length": "12", "line": "142", - "parentIndex": "401", + "parentIndex": "402", "start": "3685" } } @@ -8885,11 +8935,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "414" + "415" ], "declarations": [ { - "id": "414", + "id": "415", "mutability": "MUTABLE", "name": "len", "nameLocation": { @@ -8897,17 +8947,17 @@ "end": "3713", "length": "3", "line": "143", - "parentIndex": "414", + "parentIndex": "415", "start": "3711" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "401", + "scope": "402", "src": { "column": "8", "end": "3713", "length": "8", "line": "143", - "parentIndex": "413", + "parentIndex": "414", "start": "3706" }, "storageLocation": "DEFAULT", @@ -8916,7 +8966,7 @@ "typeString": "uint256" }, "typeName": { - "id": "415", + "id": "416", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8924,7 +8974,7 @@ "end": "3709", "length": "4", "line": "143", - "parentIndex": "414", + "parentIndex": "415", "start": "3706" }, "typeDescription": { @@ -8935,14 +8985,14 @@ "visibility": "INTERNAL" } ], - "id": "413", + "id": "414", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "3714", "length": "9", "line": "143", - "parentIndex": "401", + "parentIndex": "402", "start": "3706" } } @@ -8951,7 +9001,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.While", "value": { "body": { - "id": "419", + "id": "420", "implemented": true, "nodeType": "BLOCK", "src": { @@ -8968,16 +9018,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "421", + "id": "422", "name": "len", "nodeType": "IDENTIFIER", - "referencedDeclaration": "413", + "referencedDeclaration": "414", "src": { "column": "12", "end": "3764", "length": "3", "line": "146", - "parentIndex": "420", + "parentIndex": "421", "start": "3762" }, "typeDescription": { @@ -8986,7 +9036,7 @@ } } }, - "id": "420", + "id": "421", "kind": "KIND_UNARY_SUFFIX", "nodeType": "UNARY_OPERATION", "operator": "INCREMENT", @@ -9009,20 +9059,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "423", + "id": "424", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "424", + "id": "425", "name": "j", "nodeType": "IDENTIFIER", - "referencedDeclaration": "409", + "referencedDeclaration": "410", "src": { "column": "12", "end": "3781", "length": "1", "line": "147", - "parentIndex": "423", + "parentIndex": "424", "start": "3781" }, "typeDescription": { @@ -9037,7 +9087,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3130", - "id": "425", + "id": "426", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -9046,7 +9096,7 @@ "end": "3787", "length": "2", "line": "147", - "parentIndex": "423", + "parentIndex": "424", "start": "3786" }, "typeDescription": { @@ -9061,7 +9111,7 @@ "end": "3787", "length": "7", "line": "147", - "parentIndex": "422", + "parentIndex": "423", "start": "3781" }, "typeDescription": { @@ -9070,14 +9120,14 @@ } } }, - "id": "422", + "id": "423", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "3788", "length": "8", "line": "147", - "parentIndex": "419", + "parentIndex": "420", "start": "3781" }, "typeDescription": { @@ -9091,20 +9141,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "416", + "id": "417", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "417", + "id": "418", "name": "j", "nodeType": "IDENTIFIER", - "referencedDeclaration": "409", + "referencedDeclaration": "410", "src": { "column": "15", "end": "3740", "length": "1", "line": "145", - "parentIndex": "416", + "parentIndex": "417", "start": "3740" }, "typeDescription": { @@ -9119,7 +9169,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "418", + "id": "419", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -9128,7 +9178,7 @@ "end": "3745", "length": "1", "line": "145", - "parentIndex": "416", + "parentIndex": "417", "start": "3745" }, "typeDescription": { @@ -9157,7 +9207,7 @@ "end": "3798", "length": "66", "line": "145", - "parentIndex": "401", + "parentIndex": "402", "start": "3733" } } @@ -9166,11 +9216,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "427" + "428" ], "declarations": [ { - "id": "427", + "id": "428", "mutability": "MUTABLE", "name": "bstr", "nameLocation": { @@ -9178,17 +9228,17 @@ "end": "3824", "length": "4", "line": "149", - "parentIndex": "427", + "parentIndex": "428", "start": "3821" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "401", + "scope": "402", "src": { "column": "8", "end": "3824", "length": "17", "line": "149", - "parentIndex": "426", + "parentIndex": "427", "start": "3808" }, "storageLocation": "MEMORY", @@ -9197,7 +9247,7 @@ "typeString": "bytes" }, "typeName": { - "id": "428", + "id": "429", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9205,7 +9255,7 @@ "end": "3812", "length": "5", "line": "149", - "parentIndex": "427", + "parentIndex": "428", "start": "3808" }, "typeDescription": { @@ -9216,7 +9266,7 @@ "visibility": "INTERNAL" } ], - "id": "426", + "id": "427", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -9230,16 +9280,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "432", + "id": "433", "name": "len", "nodeType": "IDENTIFIER", - "referencedDeclaration": "413", + "referencedDeclaration": "414", "src": { "column": "38", "end": "3840", "length": "3", "line": "149", - "parentIndex": "429", + "parentIndex": "430", "start": "3838" }, "typeDescription": { @@ -9252,14 +9302,14 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.NewExpression", "value": { - "id": "430", + "id": "431", "nodeType": "NEW_EXPRESSION", "src": { "column": "28", "end": "3836", "length": "9", "line": "149", - "parentIndex": "429", + "parentIndex": "430", "start": "3828" }, "typeDescription": { @@ -9267,7 +9317,7 @@ "typeString": "bytes" }, "typeName": { - "id": "431", + "id": "432", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9275,7 +9325,7 @@ "end": "3836", "length": "5", "line": "149", - "parentIndex": "430", + "parentIndex": "431", "start": "3832" }, "typeDescription": { @@ -9285,7 +9335,7 @@ } } }, - "id": "429", + "id": "430", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -9293,7 +9343,7 @@ "end": "3841", "length": "14", "line": "149", - "parentIndex": "426", + "parentIndex": "427", "start": "3828" }, "typeDescription": { @@ -9308,7 +9358,7 @@ "end": "3842", "length": "35", "line": "149", - "parentIndex": "401", + "parentIndex": "402", "start": "3808" } } @@ -9317,11 +9367,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "434" + "435" ], "declarations": [ { - "id": "434", + "id": "435", "mutability": "MUTABLE", "name": "k", "nameLocation": { @@ -9329,17 +9379,17 @@ "end": "3857", "length": "1", "line": "150", - "parentIndex": "434", + "parentIndex": "435", "start": "3857" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "401", + "scope": "402", "src": { "column": "8", "end": "3857", "length": "6", "line": "150", - "parentIndex": "433", + "parentIndex": "434", "start": "3852" }, "storageLocation": "DEFAULT", @@ -9348,7 +9398,7 @@ "typeString": "uint256" }, "typeName": { - "id": "435", + "id": "436", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9356,7 +9406,7 @@ "end": "3855", "length": "4", "line": "150", - "parentIndex": "434", + "parentIndex": "435", "start": "3852" }, "typeDescription": { @@ -9367,24 +9417,24 @@ "visibility": "INTERNAL" } ], - "id": "433", + "id": "434", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "436", + "id": "437", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "437", + "id": "438", "name": "len", "nodeType": "IDENTIFIER", - "referencedDeclaration": "413", + "referencedDeclaration": "414", "src": { "column": "17", "end": "3863", "length": "3", "line": "150", - "parentIndex": "436", + "parentIndex": "437", "start": "3861" }, "typeDescription": { @@ -9399,7 +9449,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "438", + "id": "439", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -9408,7 +9458,7 @@ "end": "3867", "length": "1", "line": "150", - "parentIndex": "436", + "parentIndex": "437", "start": "3867" }, "typeDescription": { @@ -9423,7 +9473,7 @@ "end": "3867", "length": "7", "line": "150", - "parentIndex": "433", + "parentIndex": "434", "start": "3861" }, "typeDescription": { @@ -9438,7 +9488,7 @@ "end": "3868", "length": "17", "line": "150", - "parentIndex": "401", + "parentIndex": "402", "start": "3852" } } @@ -9447,7 +9497,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Do", "value": { "body": { - "id": "443", + "id": "444", "implemented": true, "nodeType": "BLOCK", "src": { @@ -9455,7 +9505,7 @@ "end": "4011", "length": "122", "line": "152", - "parentIndex": "439", + "parentIndex": "440", "start": "3890" }, "statements": [ @@ -9465,7 +9515,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "445", + "id": "446", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -9475,16 +9525,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "449", + "id": "450", "name": "k", "nodeType": "IDENTIFIER", - "referencedDeclaration": "433", + "referencedDeclaration": "434", "src": { "column": "17", "end": "3945", "length": "1", "line": "153", - "parentIndex": "448", + "parentIndex": "449", "start": "3945" }, "typeDescription": { @@ -9493,7 +9543,7 @@ } } }, - "id": "448", + "id": "449", "kind": "KIND_UNARY_SUFFIX", "nodeType": "UNARY_OPERATION", "operator": "DECREMENT", @@ -9502,7 +9552,7 @@ "end": "3947", "length": "3", "line": "153", - "parentIndex": "439", + "parentIndex": "440", "start": "3945" }, "typeDescription": { @@ -9511,20 +9561,20 @@ } } }, - "id": "446", + "id": "447", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "447", + "id": "448", "name": "bstr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "426", + "referencedDeclaration": "427", "src": { "column": "12", "end": "3943", "length": "4", "line": "153", - "parentIndex": "446", + "parentIndex": "447", "start": "3940" }, "typeDescription": { @@ -9539,7 +9589,7 @@ "end": "3948", "length": "9", "line": "153", - "parentIndex": "445", + "parentIndex": "446", "start": "3940" }, "typeDescription": { @@ -9583,12 +9633,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "456", + "id": "457", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3438", - "id": "457", + "id": "458", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -9597,7 +9647,7 @@ "end": "3966", "length": "2", "line": "153", - "parentIndex": "456", + "parentIndex": "457", "start": "3965" }, "typeDescription": { @@ -9612,20 +9662,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "458", + "id": "459", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "459", + "id": "460", "name": "_i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "396", + "referencedDeclaration": "397", "src": { "column": "42", "end": "3971", "length": "2", "line": "153", - "parentIndex": "458", + "parentIndex": "459", "start": "3970" }, "typeDescription": { @@ -9640,7 +9690,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3130", - "id": "460", + "id": "461", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -9649,7 +9699,7 @@ "end": "3976", "length": "2", "line": "153", - "parentIndex": "458", + "parentIndex": "459", "start": "3975" }, "typeDescription": { @@ -9664,7 +9714,7 @@ "end": "3976", "length": "7", "line": "153", - "parentIndex": "456", + "parentIndex": "457", "start": "3970" }, "typeDescription": { @@ -9678,7 +9728,7 @@ "end": "3976", "length": "12", "line": "153", - "parentIndex": "453", + "parentIndex": "454", "start": "3965" }, "typeDescription": { @@ -9697,7 +9747,7 @@ "typeString": "uint8" } ], - "id": "454", + "id": "455", "name": "uint8", "nodeType": "IDENTIFIER", "src": { @@ -9705,7 +9755,7 @@ "end": "3963", "length": "5", "line": "153", - "parentIndex": "453", + "parentIndex": "454", "start": "3959" }, "typeDescription": { @@ -9713,7 +9763,7 @@ "typeString": "function(uint8)" }, "typeName": { - "id": "455", + "id": "456", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9721,7 +9771,7 @@ "end": "3963", "length": "5", "line": "153", - "parentIndex": "454", + "parentIndex": "455", "start": "3959" }, "typeDescription": { @@ -9731,7 +9781,7 @@ } } }, - "id": "453", + "id": "454", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -9739,7 +9789,7 @@ "end": "3977", "length": "19", "line": "153", - "parentIndex": "450", + "parentIndex": "451", "start": "3959" }, "typeDescription": { @@ -9758,7 +9808,7 @@ "typeString": "bytes1" } ], - "id": "451", + "id": "452", "name": "bytes1", "nodeType": "IDENTIFIER", "src": { @@ -9766,7 +9816,7 @@ "end": "3957", "length": "6", "line": "153", - "parentIndex": "450", + "parentIndex": "451", "start": "3952" }, "typeDescription": { @@ -9774,7 +9824,7 @@ "typeString": "function(bytes1)" }, "typeName": { - "id": "452", + "id": "453", "name": "bytes1", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9782,7 +9832,7 @@ "end": "3957", "length": "6", "line": "153", - "parentIndex": "451", + "parentIndex": "452", "start": "3952" }, "typeDescription": { @@ -9792,7 +9842,7 @@ } } }, - "id": "450", + "id": "451", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -9800,7 +9850,7 @@ "end": "3978", "length": "27", "line": "153", - "parentIndex": "445", + "parentIndex": "446", "start": "3952" }, "typeDescription": { @@ -9814,7 +9864,7 @@ "end": "3978", "length": "39", "line": "153", - "parentIndex": "444", + "parentIndex": "445", "start": "3940" }, "typeDescription": { @@ -9823,14 +9873,14 @@ } } }, - "id": "444", + "id": "445", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "3979", "length": "40", "line": "153", - "parentIndex": "443", + "parentIndex": "444", "start": "3940" }, "typeDescription": { @@ -9845,20 +9895,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "462", + "id": "463", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "463", + "id": "464", "name": "_i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "396", + "referencedDeclaration": "397", "src": { "column": "12", "end": "3994", "length": "2", "line": "154", - "parentIndex": "462", + "parentIndex": "463", "start": "3993" }, "typeDescription": { @@ -9873,7 +9923,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3130", - "id": "464", + "id": "465", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -9882,7 +9932,7 @@ "end": "4000", "length": "2", "line": "154", - "parentIndex": "462", + "parentIndex": "463", "start": "3999" }, "typeDescription": { @@ -9897,7 +9947,7 @@ "end": "4000", "length": "8", "line": "154", - "parentIndex": "461", + "parentIndex": "462", "start": "3993" }, "typeDescription": { @@ -9906,14 +9956,14 @@ } } }, - "id": "461", + "id": "462", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "4001", "length": "9", "line": "154", - "parentIndex": "443", + "parentIndex": "444", "start": "3993" }, "typeDescription": { @@ -9927,20 +9977,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "440", + "id": "441", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "441", + "id": "442", "name": "_i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "441", + "referencedDeclaration": "442", "src": { "column": "15", "end": "4029", "length": "2", "line": "156", - "parentIndex": "440", + "parentIndex": "441", "start": "4028" }, "typeDescription": { @@ -9955,7 +10005,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "442", + "id": "443", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -9964,7 +10014,7 @@ "end": "4034", "length": "1", "line": "156", - "parentIndex": "440", + "parentIndex": "441", "start": "4034" }, "typeDescription": { @@ -9979,7 +10029,7 @@ "end": "4034", "length": "7", "line": "156", - "parentIndex": "439", + "parentIndex": "440", "start": "4028" }, "typeDescription": { @@ -9988,13 +10038,13 @@ } } }, - "id": "439", + "id": "440", "nodeType": "DO_WHILE_STATEMENT", "src": { "end": "4036", "length": "150", "line": "152", - "parentIndex": "401", + "parentIndex": "402", "start": "3887" } } @@ -10015,16 +10065,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "469", + "id": "470", "name": "bstr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "426", + "referencedDeclaration": "427", "src": { "column": "22", "end": "4063", "length": "4", "line": "157", - "parentIndex": "466", + "parentIndex": "467", "start": "4060" }, "typeDescription": { @@ -10043,7 +10093,7 @@ "typeString": "string" } ], - "id": "467", + "id": "468", "name": "string", "nodeType": "IDENTIFIER", "src": { @@ -10051,7 +10101,7 @@ "end": "4058", "length": "6", "line": "157", - "parentIndex": "466", + "parentIndex": "467", "start": "4053" }, "typeDescription": { @@ -10059,7 +10109,7 @@ "typeString": "function(string)" }, "typeName": { - "id": "468", + "id": "469", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10067,7 +10117,7 @@ "end": "4058", "length": "6", "line": "157", - "parentIndex": "467", + "parentIndex": "468", "start": "4053" }, "typeDescription": { @@ -10077,7 +10127,7 @@ } } }, - "id": "466", + "id": "467", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -10085,7 +10135,7 @@ "end": "4064", "length": "12", "line": "157", - "parentIndex": "465", + "parentIndex": "466", "start": "4053" }, "typeDescription": { @@ -10094,15 +10144,15 @@ } } }, - "functionReturnParameters": "394", - "id": "465", + "functionReturnParameters": "395", + "id": "466", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "4065", "length": "20", "line": "157", - "parentIndex": "394", + "parentIndex": "395", "start": "4046" }, "typeDescription": { @@ -10113,7 +10163,7 @@ } ] }, - "id": "394", + "id": "395", "implemented": true, "kind": "KIND_FUNCTION", "name": "integerToString", @@ -10122,25 +10172,25 @@ "end": "3551", "length": "15", "line": "136", - "parentIndex": "394", + "parentIndex": "395", "start": "3537" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "395", + "id": "396", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "396", + "id": "397", "name": "_i", "nodeType": "VARIABLE_DECLARATION", - "scope": "396", + "scope": "397", "src": { "column": "29", "end": "3559", "length": "7", "line": "136", - "parentIndex": "395", + "parentIndex": "396", "start": "3553" }, "stateMutability": "MUTABLE", @@ -10150,7 +10200,7 @@ "typeString": "uint256" }, "typeName": { - "id": "397", + "id": "398", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10158,7 +10208,7 @@ "end": "3556", "length": "4", "line": "136", - "parentIndex": "396", + "parentIndex": "397", "start": "3553" }, "typeDescription": { @@ -10174,24 +10224,24 @@ "end": "3559", "length": "7", "line": "136", - "parentIndex": "394", + "parentIndex": "395", "start": "3553" } }, "returnParameters": { - "id": "398", + "id": "399", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "399", + "id": "400", "nodeType": "VARIABLE_DECLARATION", - "scope": "399", + "scope": "400", "src": { "column": "17", "end": "3606", "length": "13", "line": "137", - "parentIndex": "398", + "parentIndex": "399", "start": "3594" }, "stateMutability": "MUTABLE", @@ -10201,7 +10251,7 @@ "typeString": "string" }, "typeName": { - "id": "400", + "id": "401", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10209,7 +10259,7 @@ "end": "3599", "length": "6", "line": "137", - "parentIndex": "399", + "parentIndex": "400", "start": "3594" }, "typeDescription": { @@ -10225,7 +10275,7 @@ "end": "3606", "length": "13", "line": "137", - "parentIndex": "394", + "parentIndex": "395", "start": "3594" } }, @@ -10251,7 +10301,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "478", + "id": "479", "implemented": true, "nodeType": "BLOCK", "src": { @@ -10259,7 +10309,7 @@ "end": "4232", "length": "85", "line": "160", - "parentIndex": "471", + "parentIndex": "472", "start": "4148" }, "statements": [ @@ -10267,42 +10317,42 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "480", + "id": "481", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "4226", "length": "69", "line": "161", - "parentIndex": "479", + "parentIndex": "480", "start": "4158" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "481", + "id": "482", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "4199", "length": "19", "line": "162", - "parentIndex": "479", + "parentIndex": "480", "start": "4181" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "482", + "id": "483", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "4199", "length": "19", "line": "162", - "parentIndex": "479", + "parentIndex": "480", "start": "4181" }, "value": { @@ -10315,7 +10365,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "487", + "id": "488", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -10323,7 +10373,7 @@ "end": "4195", "length": "1", "line": "162", - "parentIndex": "485", + "parentIndex": "486", "start": "4195" }, "value": "1" @@ -10332,7 +10382,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "488", + "id": "489", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -10340,7 +10390,7 @@ "end": "4198", "length": "1", "line": "162", - "parentIndex": "485", + "parentIndex": "486", "start": "4198" }, "value": "2" @@ -10350,7 +10400,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "486", + "id": "487", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -10358,31 +10408,31 @@ "end": "4193", "length": "3", "line": "162", - "parentIndex": "485", + "parentIndex": "486", "start": "4191" } } }, - "id": "485", + "id": "486", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "22", "end": "4199", "length": "9", "line": "162", - "parentIndex": "479", + "parentIndex": "480", "start": "4191" } } }, - "id": "484", + "id": "485", "nodeType": "YUL_EXPRESSION", "src": { "column": "22", "end": "4193", "length": "3", "line": "162", - "parentIndex": "482", + "parentIndex": "483", "start": "4191" } } @@ -10391,7 +10441,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "483", + "id": "484", "name": "result", "nodeType": "YUL_IDENTIFIER", "src": { @@ -10399,7 +10449,7 @@ "end": "4186", "length": "6", "line": "162", - "parentIndex": "482", + "parentIndex": "483", "start": "4181" } } @@ -10412,21 +10462,21 @@ } ] }, - "id": "479", + "id": "480", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "4226", "length": "69", "line": "161", - "parentIndex": "478", + "parentIndex": "479", "start": "4158" } } } ] }, - "id": "471", + "id": "472", "implemented": true, "kind": "KIND_FUNCTION", "name": "dummyFunctionAssembly", @@ -10435,25 +10485,25 @@ "end": "4107", "length": "21", "line": "160", - "parentIndex": "471", + "parentIndex": "472", "start": "4087" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "472", + "id": "473", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "473", + "id": "474", "name": "result", "nodeType": "VARIABLE_DECLARATION", - "scope": "473", + "scope": "474", "src": { "column": "58", "end": "4145", "length": "14", "line": "160", - "parentIndex": "472", + "parentIndex": "473", "start": "4132" }, "stateMutability": "MUTABLE", @@ -10463,7 +10513,7 @@ "typeString": "uint256" }, "typeName": { - "id": "474", + "id": "475", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10471,7 +10521,7 @@ "end": "4138", "length": "7", "line": "160", - "parentIndex": "473", + "parentIndex": "474", "start": "4132" }, "typeDescription": { @@ -10487,25 +10537,25 @@ "end": "4145", "length": "14", "line": "160", - "parentIndex": "471", + "parentIndex": "472", "start": "4132" } }, "returnParameters": { - "id": "475", + "id": "476", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "476", + "id": "477", "name": "result", "nodeType": "VARIABLE_DECLARATION", - "scope": "476", + "scope": "477", "src": { "column": "58", "end": "4145", "length": "14", "line": "160", - "parentIndex": "475", + "parentIndex": "476", "start": "4132" }, "stateMutability": "MUTABLE", @@ -10515,7 +10565,7 @@ "typeString": "uint256" }, "typeName": { - "id": "477", + "id": "478", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10523,7 +10573,7 @@ "end": "4138", "length": "7", "line": "160", - "parentIndex": "476", + "parentIndex": "477", "start": "4132" }, "typeDescription": { @@ -10539,7 +10589,7 @@ "end": "4145", "length": "14", "line": "160", - "parentIndex": "471", + "parentIndex": "472", "start": "4132" } }, diff --git a/data/tests/ast/MathLib.solgo.ast.json b/data/tests/ast/MathLib.solgo.ast.json index da23e404..c1ec4662 100644 --- a/data/tests/ast/MathLib.solgo.ast.json +++ b/data/tests/ast/MathLib.solgo.ast.json @@ -207,7 +207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 32, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 33, @@ -227,7 +228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 33, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -290,7 +292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 38, @@ -310,7 +313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 38, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -343,7 +347,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Addition overflow\"" } ], "expression": { @@ -364,7 +369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -401,7 +407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -573,13 +580,14 @@ } ] }, - "signature_raw": "add(uint, uint)", - "signature": "9f313803", + "signature_raw": "add(uint,uint)", + "signature": "b8966352", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uinta,uintb)internalpurereturns(uint){uintc=a+b;require(c\u003e=a,\"Addition overflow\");returnc;}" }, { "id": 43, @@ -671,7 +679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 56, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 57, @@ -691,7 +700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 57, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -724,7 +734,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Subtraction underflow\"" } ], "expression": { @@ -745,7 +756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -844,7 +856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 63, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 64, @@ -864,7 +877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 64, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -902,7 +916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 59, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1074,13 +1089,14 @@ } ] }, - "signature_raw": "sub(uint, uint)", - "signature": "b2c71209", + "signature_raw": "sub(uint,uint)", + "signature": "796e3e3f", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uinta,uintb)internalpurereturns(uint){require(b\u003c=a,\"Subtraction underflow\");uintc=a-b;returnc;}" }, { "id": 68, @@ -1160,7 +1176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 81, @@ -1182,7 +1199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1235,7 +1253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -1333,7 +1352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 89, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 90, @@ -1353,7 +1373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 90, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1430,7 +1451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 96, @@ -1450,7 +1472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 96, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -1475,7 +1498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 97, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -1508,7 +1532,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Multiplication overflow\"" } ], "expression": { @@ -1529,7 +1554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1566,7 +1592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1738,13 +1765,14 @@ } ] }, - "signature_raw": "mul(uint, uint)", - "signature": "ffff81ec", + "signature_raw": "mul(uint,uint)", + "signature": "20949e90", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uinta,uintb)internalpurereturns(uint){if(a==0){return0;}uintc=a*b;require(c/a==b,\"Multiplication overflow\");returnc;}" }, { "id": 102, @@ -1836,7 +1864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 115, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 116, @@ -1858,7 +1887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1891,7 +1921,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Division by zero\"" } ], "expression": { @@ -1912,7 +1943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2011,7 +2043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 122, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 123, @@ -2031,7 +2064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 123, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2069,7 +2103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 118, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -2241,13 +2276,14 @@ } ] }, - "signature_raw": "div(uint, uint)", - "signature": "79ab634f", + "signature_raw": "div(uint,uint)", + "signature": "7011598a", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uinta,uintb)internalpurereturns(uint){require(b\u003e0,\"Division by zero\");uintc=a/b;returnc;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/ast/SafeMath.solgo.ast.json b/data/tests/ast/SafeMath.solgo.ast.json index cab9ab1a..b9131c7e 100644 --- a/data/tests/ast/SafeMath.solgo.ast.json +++ b/data/tests/ast/SafeMath.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 118, + "id": 31, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 118, + "id": 31, "name": "SafeMath", "absolute_path": "SafeMath.sol" } @@ -14,15 +14,15 @@ "node_type": 1, "nodes": [ { - "id": 120, + "id": 32, "node_type": 10, "src": { - "line": 85, + "line": 3, "column": 0, - "start": 2760, - "end": 2782, + "start": 33, + "end": 55, "length": 23, - "parent_index": 118 + "parent_index": 31 }, "literals": [ "pragma", @@ -38,127 +38,127 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 121, + "id": 33, "name": "SafeMath", "node_type": 35, "src": { - "line": 100, + "line": 18, "column": 0, - "start": 3349, - "end": 9824, + "start": 622, + "end": 7097, "length": 6476, - "parent_index": 118 + "parent_index": 31 }, "name_location": { - "line": 100, + "line": 18, "column": 8, - "start": 3357, - "end": 3364, + "start": 630, + "end": 637, "length": 8, - "parent_index": 121 + "parent_index": 33 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 123, + "id": 35, "name": "tryAdd", "node_type": 42, "kind": 41, "src": { - "line": 106, + "line": 24, "column": 4, - "start": 3508, - "end": 3723, + "start": 781, + "end": 996, "length": 216, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 106, + "line": 24, "column": 13, - "start": 3517, - "end": 3522, + "start": 790, + "end": 795, "length": 6, - "parent_index": 123 + "parent_index": 35 }, "body": { - "id": 134, + "id": 46, "node_type": 46, "kind": 0, "src": { - "line": 106, + "line": 24, "column": 80, - "start": 3584, - "end": 3723, + "start": 857, + "end": 996, "length": 140, - "parent_index": 123 + "parent_index": 35 }, "implemented": true, "statements": [ { - "id": 135, + "id": 47, "node_type": 59, "kind": 0, "src": { - "line": 107, + "line": 25, "column": 8, - "start": 3594, - "end": 3717, + "start": 867, + "end": 990, "length": 124, - "parent_index": 121 + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 136, + "id": 48, "node_type": 44, "src": { - "line": 108, + "line": 26, "column": 12, - "start": 3618, - "end": 3635, + "start": 891, + "end": 908, "length": 18, - "parent_index": 135 + "parent_index": 47 }, "assignments": [ - 137 + 49 ], "declarations": [ { - "id": 137, + "id": 49, "state_mutability": 1, "name": "c", "node_type": 44, - "scope": 135, + "scope": 47, "src": { - "line": 108, + "line": 26, "column": 12, - "start": 3618, - "end": 3626, + "start": 891, + "end": 899, "length": 9, - "parent_index": 136 + "parent_index": 48 }, "name_location": { - "line": 108, + "line": 26, "column": 20, - "start": 3626, - "end": 3626, + "start": 899, + "end": 899, "length": 1, - "parent_index": 137 + "parent_index": 49 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 138, + "id": 50, "node_type": 30, "src": { - "line": 108, + "line": 26, "column": 12, - "start": 3618, - "end": 3624, + "start": 891, + "end": 897, "length": 7, - "parent_index": 137 + "parent_index": 49 }, "name": "uint256", "referenced_declaration": 0, @@ -171,29 +171,29 @@ } ], "initial_value": { - "id": 139, + "id": 51, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 108, + "line": 26, "column": 24, - "start": 3630, - "end": 3634, + "start": 903, + "end": 907, "length": 5, - "parent_index": 136 + "parent_index": 48 }, "operator": 1, "left_expression": { - "id": 140, + "id": 52, "node_type": 16, "src": { - "line": 108, + "line": 26, "column": 24, - "start": 3630, - "end": 3630, + "start": 903, + "end": 903, "length": 1, - "parent_index": 139 + "parent_index": 51 }, "name": "a", "type_description": { @@ -201,19 +201,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 140, - "is_pure": false + "referenced_declaration": 52, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 141, + "id": 53, "node_type": 16, "src": { - "line": 108, + "line": 26, "column": 28, - "start": 3634, - "end": 3634, + "start": 907, + "end": 907, "length": 1, - "parent_index": 139 + "parent_index": 51 }, "name": "b", "type_description": { @@ -221,8 +222,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 141, - "is_pure": false + "referenced_declaration": 53, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -231,40 +233,40 @@ } }, { - "id": 142, + "id": 54, "node_type": 48, "src": { - "line": 109, + "line": 27, "column": 0, - "start": 3649, - "end": 3677, + "start": 922, + "end": 950, "length": 29, - "parent_index": 135 + "parent_index": 47 }, "condition": { - "id": 143, + "id": 55, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 109, + "line": 27, "column": 16, - "start": 3653, - "end": 3657, + "start": 926, + "end": 930, "length": 5, - "parent_index": 142 + "parent_index": 54 }, "operator": 9, "left_expression": { - "id": 144, + "id": 56, "node_type": 16, "src": { - "line": 109, + "line": 27, "column": 16, - "start": 3653, - "end": 3653, + "start": 926, + "end": 926, "length": 1, - "parent_index": 143 + "parent_index": 55 }, "name": "c", "type_description": { @@ -272,19 +274,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false + "referenced_declaration": 48, + "is_pure": false, + "text": "c" }, "right_expression": { - "id": 145, + "id": 57, "node_type": 16, "src": { - "line": 109, + "line": 27, "column": 20, - "start": 3657, - "end": 3657, + "start": 930, + "end": 930, "length": 1, - "parent_index": 143 + "parent_index": 55 }, "name": "a", "type_description": { @@ -292,8 +295,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 145, - "is_pure": false + "referenced_declaration": 57, + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -301,7 +305,7 @@ } }, "body": { - "id": 146, + "id": 58, "node_type": 46, "kind": 0, "src": { @@ -316,44 +320,44 @@ } }, { - "id": 147, + "id": 59, "node_type": 47, "src": { - "line": 110, + "line": 28, "column": 12, - "start": 3691, - "end": 3707, + "start": 964, + "end": 980, "length": 17, - "parent_index": 123 + "parent_index": 35 }, - "function_return_parameters": 123, + "function_return_parameters": 35, "expression": { - "id": 148, + "id": 60, "node_type": 60, "src": { - "line": 110, + "line": 28, "column": 19, - "start": 3698, - "end": 3706, + "start": 971, + "end": 979, "length": 9, - "parent_index": 147 + "parent_index": 59 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 149, + "id": 61, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 110, + "line": 28, "column": 20, - "start": 3699, - "end": 3702, + "start": 972, + "end": 975, "length": 4, - "parent_index": 148 + "parent_index": 60 }, "type_description": { "type_identifier": "t_bool", @@ -361,18 +365,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 150, + "id": 62, "node_type": 16, "src": { - "line": 110, + "line": 28, "column": 26, - "start": 3705, - "end": 3705, + "start": 978, + "end": 978, "length": 1, - "parent_index": 148 + "parent_index": 60 }, "name": "c", "type_description": { @@ -380,8 +385,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false + "referenced_declaration": 48, + "is_pure": false, + "text": "c" } ], "type_description": { @@ -401,40 +407,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 124, + "id": 36, "node_type": 43, "src": { - "line": 106, + "line": 24, "column": 20, - "start": 3524, - "end": 3543, + "start": 797, + "end": 816, "length": 20, - "parent_index": 123 + "parent_index": 35 }, "parameters": [ { - "id": 125, + "id": 37, "node_type": 44, "src": { - "line": 106, + "line": 24, "column": 20, - "start": 3524, - "end": 3532, + "start": 797, + "end": 805, "length": 9, - "parent_index": 124 + "parent_index": 36 }, - "scope": 123, + "scope": 35, "name": "a", "type_name": { - "id": 126, + "id": 38, "node_type": 30, "src": { - "line": 106, + "line": 24, "column": 20, - "start": 3524, - "end": 3530, + "start": 797, + "end": 803, "length": 7, - "parent_index": 125 + "parent_index": 37 }, "name": "uint256", "referenced_declaration": 0, @@ -452,28 +458,28 @@ } }, { - "id": 127, + "id": 39, "node_type": 44, "src": { - "line": 106, + "line": 24, "column": 31, - "start": 3535, - "end": 3543, + "start": 808, + "end": 816, "length": 9, - "parent_index": 124 + "parent_index": 36 }, - "scope": 123, + "scope": 35, "name": "b", "type_name": { - "id": 128, + "id": 40, "node_type": 30, "src": { - "line": 106, + "line": 24, "column": 31, - "start": 3535, - "end": 3541, + "start": 808, + "end": 814, "length": 7, - "parent_index": 127 + "parent_index": 39 }, "name": "uint256", "referenced_declaration": 0, @@ -503,40 +509,40 @@ ] }, "return_parameters": { - "id": 129, + "id": 41, "node_type": 43, "src": { - "line": 106, + "line": 24, "column": 65, - "start": 3569, - "end": 3581, + "start": 842, + "end": 854, "length": 13, - "parent_index": 123 + "parent_index": 35 }, "parameters": [ { - "id": 130, + "id": 42, "node_type": 44, "src": { - "line": 106, + "line": 24, "column": 65, - "start": 3569, - "end": 3572, + "start": 842, + "end": 845, "length": 4, - "parent_index": 129 + "parent_index": 41 }, - "scope": 123, + "scope": 35, "name": "", "type_name": { - "id": 131, + "id": 43, "node_type": 30, "src": { - "line": 106, + "line": 24, "column": 65, - "start": 3569, - "end": 3572, + "start": 842, + "end": 845, "length": 4, - "parent_index": 130 + "parent_index": 42 }, "name": "bool", "referenced_declaration": 0, @@ -554,28 +560,28 @@ } }, { - "id": 132, + "id": 44, "node_type": 44, "src": { - "line": 106, + "line": 24, "column": 71, - "start": 3575, - "end": 3581, + "start": 848, + "end": 854, "length": 7, - "parent_index": 129 + "parent_index": 41 }, - "scope": 123, + "scope": 35, "name": "", "type_name": { - "id": 133, + "id": 45, "node_type": 30, "src": { - "line": 106, + "line": 24, "column": 71, - "start": 3575, - "end": 3581, + "start": 848, + "end": 854, "length": 7, - "parent_index": 132 + "parent_index": 44 }, "name": "uint256", "referenced_declaration": 0, @@ -604,98 +610,99 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", - "scope": 121, + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, { - "id": 152, + "id": 64, "name": "trySub", "node_type": 42, "kind": 41, "src": { - "line": 119, + "line": 37, "column": 4, - "start": 3870, - "end": 4058, + "start": 1143, + "end": 1331, "length": 189, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 119, + "line": 37, "column": 13, - "start": 3879, - "end": 3884, + "start": 1152, + "end": 1157, "length": 6, - "parent_index": 152 + "parent_index": 64 }, "body": { - "id": 163, + "id": 75, "node_type": 46, "kind": 0, "src": { - "line": 119, + "line": 37, "column": 80, - "start": 3946, - "end": 4058, + "start": 1219, + "end": 1331, "length": 113, - "parent_index": 152 + "parent_index": 64 }, "implemented": true, "statements": [ { - "id": 164, + "id": 76, "node_type": 59, "kind": 0, "src": { - "line": 120, + "line": 38, "column": 8, - "start": 3956, - "end": 4052, + "start": 1229, + "end": 1325, "length": 97, - "parent_index": 121 + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 165, + "id": 77, "node_type": 48, "src": { - "line": 121, + "line": 39, "column": 0, - "start": 3980, - "end": 4008, + "start": 1253, + "end": 1281, "length": 29, - "parent_index": 164 + "parent_index": 76 }, "condition": { - "id": 166, + "id": 78, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 121, + "line": 39, "column": 16, - "start": 3984, - "end": 3988, + "start": 1257, + "end": 1261, "length": 5, - "parent_index": 165 + "parent_index": 77 }, "operator": 7, "left_expression": { - "id": 167, + "id": 79, "node_type": 16, "src": { - "line": 121, + "line": 39, "column": 16, - "start": 3984, - "end": 3984, + "start": 1257, + "end": 1257, "length": 1, - "parent_index": 166 + "parent_index": 78 }, "name": "b", "type_description": { @@ -703,19 +710,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 167, - "is_pure": false + "referenced_declaration": 79, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 168, + "id": 80, "node_type": 16, "src": { - "line": 121, + "line": 39, "column": 20, - "start": 3988, - "end": 3988, + "start": 1261, + "end": 1261, "length": 1, - "parent_index": 166 + "parent_index": 78 }, "name": "a", "type_description": { @@ -723,8 +731,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 168, - "is_pure": false + "referenced_declaration": 80, + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -732,7 +741,7 @@ } }, "body": { - "id": 169, + "id": 81, "node_type": 46, "kind": 0, "src": { @@ -747,44 +756,44 @@ } }, { - "id": 170, + "id": 82, "node_type": 47, "src": { - "line": 122, + "line": 40, "column": 12, - "start": 4022, - "end": 4042, + "start": 1295, + "end": 1315, "length": 21, - "parent_index": 152 + "parent_index": 64 }, - "function_return_parameters": 152, + "function_return_parameters": 64, "expression": { - "id": 171, + "id": 83, "node_type": 60, "src": { - "line": 122, + "line": 40, "column": 19, - "start": 4029, - "end": 4041, + "start": 1302, + "end": 1314, "length": 13, - "parent_index": 170 + "parent_index": 82 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 172, + "id": 84, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 122, + "line": 40, "column": 20, - "start": 4030, - "end": 4033, + "start": 1303, + "end": 1306, "length": 4, - "parent_index": 171 + "parent_index": 83 }, "type_description": { "type_identifier": "t_bool", @@ -792,32 +801,33 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 173, + "id": 85, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 122, + "line": 40, "column": 26, - "start": 4036, - "end": 4040, + "start": 1309, + "end": 1313, "length": 5, - "parent_index": 171 + "parent_index": 83 }, "operator": 2, "left_expression": { - "id": 174, + "id": 86, "node_type": 16, "src": { - "line": 122, + "line": 40, "column": 26, - "start": 4036, - "end": 4036, + "start": 1309, + "end": 1309, "length": 1, - "parent_index": 173 + "parent_index": 85 }, "name": "a", "type_description": { @@ -825,19 +835,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 174, - "is_pure": false + "referenced_declaration": 86, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 175, + "id": 87, "node_type": 16, "src": { - "line": 122, + "line": 40, "column": 30, - "start": 4040, - "end": 4040, + "start": 1313, + "end": 1313, "length": 1, - "parent_index": 173 + "parent_index": 85 }, "name": "b", "type_description": { @@ -845,8 +856,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 175, - "is_pure": false + "referenced_declaration": 87, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -871,40 +883,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 153, + "id": 65, "node_type": 43, "src": { - "line": 119, + "line": 37, "column": 20, - "start": 3886, - "end": 3905, + "start": 1159, + "end": 1178, "length": 20, - "parent_index": 152 + "parent_index": 64 }, "parameters": [ { - "id": 154, + "id": 66, "node_type": 44, "src": { - "line": 119, + "line": 37, "column": 20, - "start": 3886, - "end": 3894, + "start": 1159, + "end": 1167, "length": 9, - "parent_index": 153 + "parent_index": 65 }, - "scope": 152, + "scope": 64, "name": "a", "type_name": { - "id": 155, + "id": 67, "node_type": 30, "src": { - "line": 119, + "line": 37, "column": 20, - "start": 3886, - "end": 3892, + "start": 1159, + "end": 1165, "length": 7, - "parent_index": 154 + "parent_index": 66 }, "name": "uint256", "referenced_declaration": 0, @@ -922,28 +934,28 @@ } }, { - "id": 156, + "id": 68, "node_type": 44, "src": { - "line": 119, + "line": 37, "column": 31, - "start": 3897, - "end": 3905, + "start": 1170, + "end": 1178, "length": 9, - "parent_index": 153 + "parent_index": 65 }, - "scope": 152, + "scope": 64, "name": "b", "type_name": { - "id": 157, + "id": 69, "node_type": 30, "src": { - "line": 119, + "line": 37, "column": 31, - "start": 3897, - "end": 3903, + "start": 1170, + "end": 1176, "length": 7, - "parent_index": 156 + "parent_index": 68 }, "name": "uint256", "referenced_declaration": 0, @@ -973,40 +985,40 @@ ] }, "return_parameters": { - "id": 158, + "id": 70, "node_type": 43, "src": { - "line": 119, + "line": 37, "column": 65, - "start": 3931, - "end": 3943, + "start": 1204, + "end": 1216, "length": 13, - "parent_index": 152 + "parent_index": 64 }, "parameters": [ { - "id": 159, + "id": 71, "node_type": 44, "src": { - "line": 119, + "line": 37, "column": 65, - "start": 3931, - "end": 3934, + "start": 1204, + "end": 1207, "length": 4, - "parent_index": 158 + "parent_index": 70 }, - "scope": 152, + "scope": 64, "name": "", "type_name": { - "id": 160, + "id": 72, "node_type": 30, "src": { - "line": 119, + "line": 37, "column": 65, - "start": 3931, - "end": 3934, + "start": 1204, + "end": 1207, "length": 4, - "parent_index": 159 + "parent_index": 71 }, "name": "bool", "referenced_declaration": 0, @@ -1024,28 +1036,28 @@ } }, { - "id": 161, + "id": 73, "node_type": 44, "src": { - "line": 119, + "line": 37, "column": 71, - "start": 3937, - "end": 3943, + "start": 1210, + "end": 1216, "length": 7, - "parent_index": 158 + "parent_index": 70 }, - "scope": 152, + "scope": 64, "name": "", "type_name": { - "id": 162, + "id": 74, "node_type": 30, "src": { - "line": 119, + "line": 37, "column": 71, - "start": 3937, - "end": 3943, + "start": 1210, + "end": 1216, "length": 7, - "parent_index": 161 + "parent_index": 73 }, "name": "uint256", "referenced_declaration": 0, @@ -1074,98 +1086,99 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", - "scope": 121, + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, { - "id": 177, + "id": 89, "name": "tryMul", "node_type": 42, "kind": 41, "src": { - "line": 131, + "line": 49, "column": 4, - "start": 4207, - "end": 4699, + "start": 1480, + "end": 1972, "length": 493, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 131, + "line": 49, "column": 13, - "start": 4216, - "end": 4221, + "start": 1489, + "end": 1494, "length": 6, - "parent_index": 177 + "parent_index": 89 }, "body": { - "id": 188, + "id": 100, "node_type": 46, "kind": 0, "src": { - "line": 131, + "line": 49, "column": 80, - "start": 4283, - "end": 4699, + "start": 1556, + "end": 1972, "length": 417, - "parent_index": 177 + "parent_index": 89 }, "implemented": true, "statements": [ { - "id": 189, + "id": 101, "node_type": 59, "kind": 0, "src": { - "line": 132, + "line": 50, "column": 8, - "start": 4293, - "end": 4693, + "start": 1566, + "end": 1966, "length": 401, - "parent_index": 121 + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 190, + "id": 102, "node_type": 48, "src": { - "line": 136, + "line": 54, "column": 0, - "start": 4547, - "end": 4575, + "start": 1820, + "end": 1848, "length": 29, - "parent_index": 189 + "parent_index": 101 }, "condition": { - "id": 191, + "id": 103, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 136, + "line": 54, "column": 16, - "start": 4551, - "end": 4556, + "start": 1824, + "end": 1829, "length": 6, - "parent_index": 190 + "parent_index": 102 }, "operator": 11, "left_expression": { - "id": 192, + "id": 104, "node_type": 16, "src": { - "line": 136, + "line": 54, "column": 16, - "start": 4551, - "end": 4551, + "start": 1824, + "end": 1824, "length": 1, - "parent_index": 191 + "parent_index": 103 }, "name": "a", "type_description": { @@ -1173,22 +1186,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 192, - "is_pure": false + "referenced_declaration": 104, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 193, + "id": 105, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 136, + "line": 54, "column": 21, - "start": 4556, - "end": 4556, + "start": 1829, + "end": 1829, "length": 1, - "parent_index": 191 + "parent_index": 103 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1196,7 +1210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1204,7 +1219,7 @@ } }, "body": { - "id": 194, + "id": 106, "node_type": 46, "kind": 0, "src": { @@ -1219,54 +1234,54 @@ } }, { - "id": 195, + "id": 107, "node_type": 44, "src": { - "line": 137, + "line": 55, "column": 12, - "start": 4589, - "end": 4606, + "start": 1862, + "end": 1879, "length": 18, - "parent_index": 189 + "parent_index": 101 }, "assignments": [ - 196 + 108 ], "declarations": [ { - "id": 196, + "id": 108, "state_mutability": 1, "name": "c", "node_type": 44, - "scope": 189, + "scope": 101, "src": { - "line": 137, + "line": 55, "column": 12, - "start": 4589, - "end": 4597, + "start": 1862, + "end": 1870, "length": 9, - "parent_index": 195 + "parent_index": 107 }, "name_location": { - "line": 137, + "line": 55, "column": 20, - "start": 4597, - "end": 4597, + "start": 1870, + "end": 1870, "length": 1, - "parent_index": 196 + "parent_index": 108 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 197, + "id": 109, "node_type": 30, "src": { - "line": 137, + "line": 55, "column": 12, - "start": 4589, - "end": 4595, + "start": 1862, + "end": 1868, "length": 7, - "parent_index": 196 + "parent_index": 108 }, "name": "uint256", "referenced_declaration": 0, @@ -1279,29 +1294,29 @@ } ], "initial_value": { - "id": 198, + "id": 110, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 137, + "line": 55, "column": 24, - "start": 4601, - "end": 4605, + "start": 1874, + "end": 1878, "length": 5, - "parent_index": 195 + "parent_index": 107 }, "operator": 3, "left_expression": { - "id": 199, + "id": 111, "node_type": 16, "src": { - "line": 137, + "line": 55, "column": 24, - "start": 4601, - "end": 4601, + "start": 1874, + "end": 1874, "length": 1, - "parent_index": 198 + "parent_index": 110 }, "name": "a", "type_description": { @@ -1309,19 +1324,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 199, - "is_pure": false + "referenced_declaration": 111, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 200, + "id": 112, "node_type": 16, "src": { - "line": 137, + "line": 55, "column": 28, - "start": 4605, - "end": 4605, + "start": 1878, + "end": 1878, "length": 1, - "parent_index": 198 + "parent_index": 110 }, "name": "b", "type_description": { @@ -1329,8 +1345,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 200, - "is_pure": false + "referenced_declaration": 112, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1339,54 +1356,54 @@ } }, { - "id": 201, + "id": 113, "node_type": 48, "src": { - "line": 138, + "line": 56, "column": 0, - "start": 4620, - "end": 4653, + "start": 1893, + "end": 1926, "length": 34, - "parent_index": 189 + "parent_index": 101 }, "condition": { - "id": 202, + "id": 114, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 138, + "line": 56, "column": 16, - "start": 4624, - "end": 4633, + "start": 1897, + "end": 1906, "length": 10, - "parent_index": 201 + "parent_index": 113 }, "operator": 12, "left_expression": { - "id": 203, + "id": 115, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 138, + "line": 56, "column": 16, - "start": 4624, - "end": 4628, + "start": 1897, + "end": 1901, "length": 5, - "parent_index": 202 + "parent_index": 114 }, "operator": 4, "left_expression": { - "id": 204, + "id": 116, "node_type": 16, "src": { - "line": 138, + "line": 56, "column": 16, - "start": 4624, - "end": 4624, + "start": 1897, + "end": 1897, "length": 1, - "parent_index": 203 + "parent_index": 115 }, "name": "c", "type_description": { @@ -1394,19 +1411,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false + "referenced_declaration": 107, + "is_pure": false, + "text": "c" }, "right_expression": { - "id": 205, + "id": 117, "node_type": 16, "src": { - "line": 138, + "line": 56, "column": 20, - "start": 4628, - "end": 4628, + "start": 1901, + "end": 1901, "length": 1, - "parent_index": 203 + "parent_index": 115 }, "name": "a", "type_description": { @@ -1414,8 +1432,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 205, - "is_pure": false + "referenced_declaration": 117, + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -1423,15 +1442,15 @@ } }, "right_expression": { - "id": 206, + "id": 118, "node_type": 16, "src": { - "line": 138, + "line": 56, "column": 25, - "start": 4633, - "end": 4633, + "start": 1906, + "end": 1906, "length": 1, - "parent_index": 202 + "parent_index": 114 }, "name": "b", "type_description": { @@ -1439,8 +1458,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 206, - "is_pure": false + "referenced_declaration": 118, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -1448,7 +1468,7 @@ } }, "body": { - "id": 207, + "id": 119, "node_type": 46, "kind": 0, "src": { @@ -1463,44 +1483,44 @@ } }, { - "id": 208, + "id": 120, "node_type": 47, "src": { - "line": 139, + "line": 57, "column": 12, - "start": 4667, - "end": 4683, + "start": 1940, + "end": 1956, "length": 17, - "parent_index": 177 + "parent_index": 89 }, - "function_return_parameters": 177, + "function_return_parameters": 89, "expression": { - "id": 209, + "id": 121, "node_type": 60, "src": { - "line": 139, + "line": 57, "column": 19, - "start": 4674, - "end": 4682, + "start": 1947, + "end": 1955, "length": 9, - "parent_index": 208 + "parent_index": 120 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 210, + "id": 122, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 139, + "line": 57, "column": 20, - "start": 4675, - "end": 4678, + "start": 1948, + "end": 1951, "length": 4, - "parent_index": 209 + "parent_index": 121 }, "type_description": { "type_identifier": "t_bool", @@ -1508,18 +1528,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 211, + "id": 123, "node_type": 16, "src": { - "line": 139, + "line": 57, "column": 26, - "start": 4681, - "end": 4681, + "start": 1954, + "end": 1954, "length": 1, - "parent_index": 209 + "parent_index": 121 }, "name": "c", "type_description": { @@ -1527,8 +1548,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false + "referenced_declaration": 107, + "is_pure": false, + "text": "c" } ], "type_description": { @@ -1548,40 +1570,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 178, + "id": 90, "node_type": 43, "src": { - "line": 131, + "line": 49, "column": 20, - "start": 4223, - "end": 4242, + "start": 1496, + "end": 1515, "length": 20, - "parent_index": 177 + "parent_index": 89 }, "parameters": [ { - "id": 179, + "id": 91, "node_type": 44, "src": { - "line": 131, + "line": 49, "column": 20, - "start": 4223, - "end": 4231, + "start": 1496, + "end": 1504, "length": 9, - "parent_index": 178 + "parent_index": 90 }, - "scope": 177, + "scope": 89, "name": "a", "type_name": { - "id": 180, + "id": 92, "node_type": 30, "src": { - "line": 131, + "line": 49, "column": 20, - "start": 4223, - "end": 4229, + "start": 1496, + "end": 1502, "length": 7, - "parent_index": 179 + "parent_index": 91 }, "name": "uint256", "referenced_declaration": 0, @@ -1599,28 +1621,28 @@ } }, { - "id": 181, + "id": 93, "node_type": 44, "src": { - "line": 131, + "line": 49, "column": 31, - "start": 4234, - "end": 4242, + "start": 1507, + "end": 1515, "length": 9, - "parent_index": 178 + "parent_index": 90 }, - "scope": 177, + "scope": 89, "name": "b", "type_name": { - "id": 182, + "id": 94, "node_type": 30, "src": { - "line": 131, + "line": 49, "column": 31, - "start": 4234, - "end": 4240, + "start": 1507, + "end": 1513, "length": 7, - "parent_index": 181 + "parent_index": 93 }, "name": "uint256", "referenced_declaration": 0, @@ -1650,40 +1672,40 @@ ] }, "return_parameters": { - "id": 183, + "id": 95, "node_type": 43, "src": { - "line": 131, + "line": 49, "column": 65, - "start": 4268, - "end": 4280, + "start": 1541, + "end": 1553, "length": 13, - "parent_index": 177 + "parent_index": 89 }, "parameters": [ { - "id": 184, + "id": 96, "node_type": 44, "src": { - "line": 131, + "line": 49, "column": 65, - "start": 4268, - "end": 4271, + "start": 1541, + "end": 1544, "length": 4, - "parent_index": 183 + "parent_index": 95 }, - "scope": 177, + "scope": 89, "name": "", "type_name": { - "id": 185, + "id": 97, "node_type": 30, "src": { - "line": 131, + "line": 49, "column": 65, - "start": 4268, - "end": 4271, + "start": 1541, + "end": 1544, "length": 4, - "parent_index": 184 + "parent_index": 96 }, "name": "bool", "referenced_declaration": 0, @@ -1701,28 +1723,28 @@ } }, { - "id": 186, + "id": 98, "node_type": 44, "src": { - "line": 131, + "line": 49, "column": 71, - "start": 4274, - "end": 4280, + "start": 1547, + "end": 1553, "length": 7, - "parent_index": 183 + "parent_index": 95 }, - "scope": 177, + "scope": 89, "name": "", "type_name": { - "id": 187, + "id": 99, "node_type": 30, "src": { - "line": 131, + "line": 49, "column": 71, - "start": 4274, - "end": 4280, + "start": 1547, + "end": 1553, "length": 7, - "parent_index": 186 + "parent_index": 98 }, "name": "uint256", "referenced_declaration": 0, @@ -1751,98 +1773,99 @@ } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", - "scope": 121, + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, { - "id": 213, + "id": 125, "name": "tryDiv", "node_type": 42, "kind": 41, "src": { - "line": 148, + "line": 66, "column": 4, - "start": 4849, - "end": 5038, + "start": 2122, + "end": 2311, "length": 190, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 148, + "line": 66, "column": 13, - "start": 4858, - "end": 4863, + "start": 2131, + "end": 2136, "length": 6, - "parent_index": 213 + "parent_index": 125 }, "body": { - "id": 224, + "id": 136, "node_type": 46, "kind": 0, "src": { - "line": 148, + "line": 66, "column": 80, - "start": 4925, - "end": 5038, + "start": 2198, + "end": 2311, "length": 114, - "parent_index": 213 + "parent_index": 125 }, "implemented": true, "statements": [ { - "id": 225, + "id": 137, "node_type": 59, "kind": 0, "src": { - "line": 149, + "line": 67, "column": 8, - "start": 4935, - "end": 5032, + "start": 2208, + "end": 2305, "length": 98, - "parent_index": 121 + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 226, + "id": 138, "node_type": 48, "src": { - "line": 150, + "line": 68, "column": 0, - "start": 4959, - "end": 4988, + "start": 2232, + "end": 2261, "length": 30, - "parent_index": 225 + "parent_index": 137 }, "condition": { - "id": 227, + "id": 139, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 150, + "line": 68, "column": 16, - "start": 4963, - "end": 4968, + "start": 2236, + "end": 2241, "length": 6, - "parent_index": 226 + "parent_index": 138 }, "operator": 11, "left_expression": { - "id": 228, + "id": 140, "node_type": 16, "src": { - "line": 150, + "line": 68, "column": 16, - "start": 4963, - "end": 4963, + "start": 2236, + "end": 2236, "length": 1, - "parent_index": 227 + "parent_index": 139 }, "name": "b", "type_description": { @@ -1850,22 +1873,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 228, - "is_pure": false + "referenced_declaration": 140, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 229, + "id": 141, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 150, + "line": 68, "column": 21, - "start": 4968, - "end": 4968, + "start": 2241, + "end": 2241, "length": 1, - "parent_index": 227 + "parent_index": 139 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1873,7 +1897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1881,7 +1906,7 @@ } }, "body": { - "id": 230, + "id": 142, "node_type": 46, "kind": 0, "src": { @@ -1896,44 +1921,44 @@ } }, { - "id": 231, + "id": 143, "node_type": 47, "src": { - "line": 151, + "line": 69, "column": 12, - "start": 5002, - "end": 5022, + "start": 2275, + "end": 2295, "length": 21, - "parent_index": 213 + "parent_index": 125 }, - "function_return_parameters": 213, + "function_return_parameters": 125, "expression": { - "id": 232, + "id": 144, "node_type": 60, "src": { - "line": 151, + "line": 69, "column": 19, - "start": 5009, - "end": 5021, + "start": 2282, + "end": 2294, "length": 13, - "parent_index": 231 + "parent_index": 143 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 233, + "id": 145, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 151, + "line": 69, "column": 20, - "start": 5010, - "end": 5013, + "start": 2283, + "end": 2286, "length": 4, - "parent_index": 232 + "parent_index": 144 }, "type_description": { "type_identifier": "t_bool", @@ -1941,32 +1966,33 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 234, + "id": 146, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 151, + "line": 69, "column": 26, - "start": 5016, - "end": 5020, + "start": 2289, + "end": 2293, "length": 5, - "parent_index": 232 + "parent_index": 144 }, "operator": 4, "left_expression": { - "id": 235, + "id": 147, "node_type": 16, "src": { - "line": 151, + "line": 69, "column": 26, - "start": 5016, - "end": 5016, + "start": 2289, + "end": 2289, "length": 1, - "parent_index": 234 + "parent_index": 146 }, "name": "a", "type_description": { @@ -1974,19 +2000,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 235, - "is_pure": false + "referenced_declaration": 147, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 236, + "id": 148, "node_type": 16, "src": { - "line": 151, + "line": 69, "column": 30, - "start": 5020, - "end": 5020, + "start": 2293, + "end": 2293, "length": 1, - "parent_index": 234 + "parent_index": 146 }, "name": "b", "type_description": { @@ -1994,8 +2021,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 236, - "is_pure": false + "referenced_declaration": 148, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2020,40 +2048,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 214, + "id": 126, "node_type": 43, "src": { - "line": 148, + "line": 66, "column": 20, - "start": 4865, - "end": 4884, + "start": 2138, + "end": 2157, "length": 20, - "parent_index": 213 + "parent_index": 125 }, "parameters": [ { - "id": 215, + "id": 127, "node_type": 44, "src": { - "line": 148, + "line": 66, "column": 20, - "start": 4865, - "end": 4873, + "start": 2138, + "end": 2146, "length": 9, - "parent_index": 214 + "parent_index": 126 }, - "scope": 213, + "scope": 125, "name": "a", "type_name": { - "id": 216, + "id": 128, "node_type": 30, "src": { - "line": 148, + "line": 66, "column": 20, - "start": 4865, - "end": 4871, + "start": 2138, + "end": 2144, "length": 7, - "parent_index": 215 + "parent_index": 127 }, "name": "uint256", "referenced_declaration": 0, @@ -2071,28 +2099,28 @@ } }, { - "id": 217, + "id": 129, "node_type": 44, "src": { - "line": 148, + "line": 66, "column": 31, - "start": 4876, - "end": 4884, + "start": 2149, + "end": 2157, "length": 9, - "parent_index": 214 + "parent_index": 126 }, - "scope": 213, + "scope": 125, "name": "b", "type_name": { - "id": 218, + "id": 130, "node_type": 30, "src": { - "line": 148, + "line": 66, "column": 31, - "start": 4876, - "end": 4882, + "start": 2149, + "end": 2155, "length": 7, - "parent_index": 217 + "parent_index": 129 }, "name": "uint256", "referenced_declaration": 0, @@ -2122,40 +2150,40 @@ ] }, "return_parameters": { - "id": 219, + "id": 131, "node_type": 43, "src": { - "line": 148, + "line": 66, "column": 65, - "start": 4910, - "end": 4922, + "start": 2183, + "end": 2195, "length": 13, - "parent_index": 213 + "parent_index": 125 }, "parameters": [ { - "id": 220, + "id": 132, "node_type": 44, "src": { - "line": 148, + "line": 66, "column": 65, - "start": 4910, - "end": 4913, + "start": 2183, + "end": 2186, "length": 4, - "parent_index": 219 + "parent_index": 131 }, - "scope": 213, + "scope": 125, "name": "", "type_name": { - "id": 221, + "id": 133, "node_type": 30, "src": { - "line": 148, + "line": 66, "column": 65, - "start": 4910, - "end": 4913, + "start": 2183, + "end": 2186, "length": 4, - "parent_index": 220 + "parent_index": 132 }, "name": "bool", "referenced_declaration": 0, @@ -2173,28 +2201,28 @@ } }, { - "id": 222, + "id": 134, "node_type": 44, "src": { - "line": 148, + "line": 66, "column": 71, - "start": 4916, - "end": 4922, + "start": 2189, + "end": 2195, "length": 7, - "parent_index": 219 + "parent_index": 131 }, - "scope": 213, + "scope": 125, "name": "", "type_name": { - "id": 223, + "id": 135, "node_type": 30, "src": { - "line": 148, + "line": 66, "column": 71, - "start": 4916, - "end": 4922, + "start": 2189, + "end": 2195, "length": 7, - "parent_index": 222 + "parent_index": 134 }, "name": "uint256", "referenced_declaration": 0, @@ -2223,98 +2251,99 @@ } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", - "scope": 121, + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, { - "id": 238, + "id": 150, "name": "tryMod", "node_type": 42, "kind": 41, "src": { - "line": 160, + "line": 78, "column": 4, - "start": 5198, - "end": 5387, + "start": 2471, + "end": 2660, "length": 190, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 160, + "line": 78, "column": 13, - "start": 5207, - "end": 5212, + "start": 2480, + "end": 2485, "length": 6, - "parent_index": 238 + "parent_index": 150 }, "body": { - "id": 249, + "id": 161, "node_type": 46, "kind": 0, "src": { - "line": 160, + "line": 78, "column": 80, - "start": 5274, - "end": 5387, + "start": 2547, + "end": 2660, "length": 114, - "parent_index": 238 + "parent_index": 150 }, "implemented": true, "statements": [ { - "id": 250, + "id": 162, "node_type": 59, "kind": 0, "src": { - "line": 161, + "line": 79, "column": 8, - "start": 5284, - "end": 5381, + "start": 2557, + "end": 2654, "length": 98, - "parent_index": 121 + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 251, + "id": 163, "node_type": 48, "src": { - "line": 162, + "line": 80, "column": 0, - "start": 5308, - "end": 5337, + "start": 2581, + "end": 2610, "length": 30, - "parent_index": 250 + "parent_index": 162 }, "condition": { - "id": 252, + "id": 164, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 162, + "line": 80, "column": 16, - "start": 5312, - "end": 5317, + "start": 2585, + "end": 2590, "length": 6, - "parent_index": 251 + "parent_index": 163 }, "operator": 11, "left_expression": { - "id": 253, + "id": 165, "node_type": 16, "src": { - "line": 162, + "line": 80, "column": 16, - "start": 5312, - "end": 5312, + "start": 2585, + "end": 2585, "length": 1, - "parent_index": 252 + "parent_index": 164 }, "name": "b", "type_description": { @@ -2322,22 +2351,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 253, - "is_pure": false + "referenced_declaration": 165, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 254, + "id": 166, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 162, + "line": 80, "column": 21, - "start": 5317, - "end": 5317, + "start": 2590, + "end": 2590, "length": 1, - "parent_index": 252 + "parent_index": 164 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -2345,7 +2375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2353,7 +2384,7 @@ } }, "body": { - "id": 255, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -2368,44 +2399,44 @@ } }, { - "id": 256, + "id": 168, "node_type": 47, "src": { - "line": 163, + "line": 81, "column": 12, - "start": 5351, - "end": 5371, + "start": 2624, + "end": 2644, "length": 21, - "parent_index": 238 + "parent_index": 150 }, - "function_return_parameters": 238, + "function_return_parameters": 150, "expression": { - "id": 257, + "id": 169, "node_type": 60, "src": { - "line": 163, + "line": 81, "column": 19, - "start": 5358, - "end": 5370, + "start": 2631, + "end": 2643, "length": 13, - "parent_index": 256 + "parent_index": 168 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 258, + "id": 170, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 163, + "line": 81, "column": 20, - "start": 5359, - "end": 5362, + "start": 2632, + "end": 2635, "length": 4, - "parent_index": 257 + "parent_index": 169 }, "type_description": { "type_identifier": "t_bool", @@ -2413,32 +2444,33 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 259, + "id": 171, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 163, + "line": 81, "column": 26, - "start": 5365, - "end": 5369, + "start": 2638, + "end": 2642, "length": 5, - "parent_index": 257 + "parent_index": 169 }, "operator": 5, "left_expression": { - "id": 260, + "id": 172, "node_type": 16, "src": { - "line": 163, + "line": 81, "column": 26, - "start": 5365, - "end": 5365, + "start": 2638, + "end": 2638, "length": 1, - "parent_index": 259 + "parent_index": 171 }, "name": "a", "type_description": { @@ -2446,19 +2478,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 260, - "is_pure": false + "referenced_declaration": 172, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 261, + "id": 173, "node_type": 16, "src": { - "line": 163, + "line": 81, "column": 30, - "start": 5369, - "end": 5369, + "start": 2642, + "end": 2642, "length": 1, - "parent_index": 259 + "parent_index": 171 }, "name": "b", "type_description": { @@ -2466,8 +2499,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 261, - "is_pure": false + "referenced_declaration": 173, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2492,40 +2526,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 239, + "id": 151, "node_type": 43, "src": { - "line": 160, + "line": 78, "column": 20, - "start": 5214, - "end": 5233, + "start": 2487, + "end": 2506, "length": 20, - "parent_index": 238 + "parent_index": 150 }, "parameters": [ { - "id": 240, + "id": 152, "node_type": 44, "src": { - "line": 160, + "line": 78, "column": 20, - "start": 5214, - "end": 5222, + "start": 2487, + "end": 2495, "length": 9, - "parent_index": 239 + "parent_index": 151 }, - "scope": 238, + "scope": 150, "name": "a", "type_name": { - "id": 241, + "id": 153, "node_type": 30, "src": { - "line": 160, + "line": 78, "column": 20, - "start": 5214, - "end": 5220, + "start": 2487, + "end": 2493, "length": 7, - "parent_index": 240 + "parent_index": 152 }, "name": "uint256", "referenced_declaration": 0, @@ -2543,28 +2577,28 @@ } }, { - "id": 242, + "id": 154, "node_type": 44, "src": { - "line": 160, + "line": 78, "column": 31, - "start": 5225, - "end": 5233, + "start": 2498, + "end": 2506, "length": 9, - "parent_index": 239 + "parent_index": 151 }, - "scope": 238, + "scope": 150, "name": "b", "type_name": { - "id": 243, + "id": 155, "node_type": 30, "src": { - "line": 160, + "line": 78, "column": 31, - "start": 5225, - "end": 5231, + "start": 2498, + "end": 2504, "length": 7, - "parent_index": 242 + "parent_index": 154 }, "name": "uint256", "referenced_declaration": 0, @@ -2594,40 +2628,40 @@ ] }, "return_parameters": { - "id": 244, + "id": 156, "node_type": 43, "src": { - "line": 160, + "line": 78, "column": 65, - "start": 5259, - "end": 5271, + "start": 2532, + "end": 2544, "length": 13, - "parent_index": 238 + "parent_index": 150 }, "parameters": [ { - "id": 245, + "id": 157, "node_type": 44, "src": { - "line": 160, + "line": 78, "column": 65, - "start": 5259, - "end": 5262, + "start": 2532, + "end": 2535, "length": 4, - "parent_index": 244 + "parent_index": 156 }, - "scope": 238, + "scope": 150, "name": "", "type_name": { - "id": 246, + "id": 158, "node_type": 30, "src": { - "line": 160, + "line": 78, "column": 65, - "start": 5259, - "end": 5262, + "start": 2532, + "end": 2535, "length": 4, - "parent_index": 245 + "parent_index": 157 }, "name": "bool", "referenced_declaration": 0, @@ -2645,28 +2679,28 @@ } }, { - "id": 247, + "id": 159, "node_type": 44, "src": { - "line": 160, + "line": 78, "column": 71, - "start": 5265, - "end": 5271, + "start": 2538, + "end": 2544, "length": 7, - "parent_index": 244 + "parent_index": 156 }, - "scope": 238, + "scope": 150, "name": "", "type_name": { - "id": 248, + "id": 160, "node_type": 30, "src": { - "line": 160, + "line": 78, "column": 71, - "start": 5265, - "end": 5271, + "start": 2538, + "end": 2544, "length": 7, - "parent_index": 247 + "parent_index": 159 }, "name": "uint256", "referenced_declaration": 0, @@ -2695,85 +2729,86 @@ } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", - "scope": 121, + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, { - "id": 263, + "id": 175, "name": "add", "node_type": 42, "kind": 41, "src": { - "line": 177, + "line": 95, "column": 4, - "start": 5623, - "end": 5718, + "start": 2896, + "end": 2991, "length": 96, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 177, + "line": 95, "column": 13, - "start": 5632, - "end": 5634, + "start": 2905, + "end": 2907, "length": 3, - "parent_index": 263 + "parent_index": 175 }, "body": { - "id": 272, + "id": 184, "node_type": 46, "kind": 0, "src": { - "line": 177, + "line": 95, "column": 71, - "start": 5690, - "end": 5718, + "start": 2963, + "end": 2991, "length": 29, - "parent_index": 263 + "parent_index": 175 }, "implemented": true, "statements": [ { - "id": 273, + "id": 185, "node_type": 47, "src": { - "line": 178, + "line": 96, "column": 8, - "start": 5700, - "end": 5712, + "start": 2973, + "end": 2985, "length": 13, - "parent_index": 263 + "parent_index": 175 }, - "function_return_parameters": 263, + "function_return_parameters": 175, "expression": { - "id": 274, + "id": 186, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 178, + "line": 96, "column": 15, - "start": 5707, - "end": 5711, + "start": 2980, + "end": 2984, "length": 5, - "parent_index": 273 + "parent_index": 185 }, "operator": 1, "left_expression": { - "id": 275, + "id": 187, "node_type": 16, "src": { - "line": 178, + "line": 96, "column": 15, - "start": 5707, - "end": 5707, + "start": 2980, + "end": 2980, "length": 1, - "parent_index": 274 + "parent_index": 186 }, "name": "a", "type_description": { @@ -2781,19 +2816,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 275, - "is_pure": false + "referenced_declaration": 187, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 276, + "id": 188, "node_type": 16, "src": { - "line": 178, + "line": 96, "column": 19, - "start": 5711, - "end": 5711, + "start": 2984, + "end": 2984, "length": 1, - "parent_index": 274 + "parent_index": 186 }, "name": "b", "type_description": { @@ -2801,8 +2837,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 276, - "is_pure": false + "referenced_declaration": 188, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2819,40 +2856,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 264, + "id": 176, "node_type": 43, "src": { - "line": 177, + "line": 95, "column": 17, - "start": 5636, - "end": 5655, + "start": 2909, + "end": 2928, "length": 20, - "parent_index": 263 + "parent_index": 175 }, "parameters": [ { - "id": 265, + "id": 177, "node_type": 44, "src": { - "line": 177, + "line": 95, "column": 17, - "start": 5636, - "end": 5644, + "start": 2909, + "end": 2917, "length": 9, - "parent_index": 264 + "parent_index": 176 }, - "scope": 263, + "scope": 175, "name": "a", "type_name": { - "id": 266, + "id": 178, "node_type": 30, "src": { - "line": 177, + "line": 95, "column": 17, - "start": 5636, - "end": 5642, + "start": 2909, + "end": 2915, "length": 7, - "parent_index": 265 + "parent_index": 177 }, "name": "uint256", "referenced_declaration": 0, @@ -2870,28 +2907,28 @@ } }, { - "id": 267, + "id": 179, "node_type": 44, "src": { - "line": 177, + "line": 95, "column": 28, - "start": 5647, - "end": 5655, + "start": 2920, + "end": 2928, "length": 9, - "parent_index": 264 + "parent_index": 176 }, - "scope": 263, + "scope": 175, "name": "b", "type_name": { - "id": 268, + "id": 180, "node_type": 30, "src": { - "line": 177, + "line": 95, "column": 28, - "start": 5647, - "end": 5653, + "start": 2920, + "end": 2926, "length": 7, - "parent_index": 267 + "parent_index": 179 }, "name": "uint256", "referenced_declaration": 0, @@ -2921,40 +2958,40 @@ ] }, "return_parameters": { - "id": 269, + "id": 181, "node_type": 43, "src": { - "line": 177, + "line": 95, "column": 62, - "start": 5681, - "end": 5687, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 263 + "parent_index": 175 }, "parameters": [ { - "id": 270, + "id": 182, "node_type": 44, "src": { - "line": 177, + "line": 95, "column": 62, - "start": 5681, - "end": 5687, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 269 + "parent_index": 181 }, - "scope": 263, + "scope": 175, "name": "", "type_name": { - "id": 271, + "id": 183, "node_type": 30, "src": { - "line": 177, + "line": 95, "column": 62, - "start": 5681, - "end": 5687, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 270 + "parent_index": 182 }, "name": "uint256", "referenced_declaration": 0, @@ -2979,85 +3016,86 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", - "scope": 121, + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { - "id": 278, + "id": 190, "name": "sub", "node_type": 42, "kind": 41, "src": { - "line": 191, + "line": 109, "column": 4, - "start": 5990, - "end": 6085, + "start": 3263, + "end": 3358, "length": 96, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 191, + "line": 109, "column": 13, - "start": 5999, - "end": 6001, + "start": 3272, + "end": 3274, "length": 3, - "parent_index": 278 + "parent_index": 190 }, "body": { - "id": 287, + "id": 199, "node_type": 46, "kind": 0, "src": { - "line": 191, + "line": 109, "column": 71, - "start": 6057, - "end": 6085, + "start": 3330, + "end": 3358, "length": 29, - "parent_index": 278 + "parent_index": 190 }, "implemented": true, "statements": [ { - "id": 288, + "id": 200, "node_type": 47, "src": { - "line": 192, + "line": 110, "column": 8, - "start": 6067, - "end": 6079, + "start": 3340, + "end": 3352, "length": 13, - "parent_index": 278 + "parent_index": 190 }, - "function_return_parameters": 278, + "function_return_parameters": 190, "expression": { - "id": 289, + "id": 201, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 192, + "line": 110, "column": 15, - "start": 6074, - "end": 6078, + "start": 3347, + "end": 3351, "length": 5, - "parent_index": 288 + "parent_index": 200 }, "operator": 2, "left_expression": { - "id": 290, + "id": 202, "node_type": 16, "src": { - "line": 192, + "line": 110, "column": 15, - "start": 6074, - "end": 6074, + "start": 3347, + "end": 3347, "length": 1, - "parent_index": 289 + "parent_index": 201 }, "name": "a", "type_description": { @@ -3065,19 +3103,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 290, - "is_pure": false + "referenced_declaration": 202, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 291, + "id": 203, "node_type": 16, "src": { - "line": 192, + "line": 110, "column": 19, - "start": 6078, - "end": 6078, + "start": 3351, + "end": 3351, "length": 1, - "parent_index": 289 + "parent_index": 201 }, "name": "b", "type_description": { @@ -3085,8 +3124,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 291, - "is_pure": false + "referenced_declaration": 203, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3103,40 +3143,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 279, + "id": 191, "node_type": 43, "src": { - "line": 191, + "line": 109, "column": 17, - "start": 6003, - "end": 6022, + "start": 3276, + "end": 3295, "length": 20, - "parent_index": 278 + "parent_index": 190 }, "parameters": [ { - "id": 280, + "id": 192, "node_type": 44, "src": { - "line": 191, + "line": 109, "column": 17, - "start": 6003, - "end": 6011, + "start": 3276, + "end": 3284, "length": 9, - "parent_index": 279 + "parent_index": 191 }, - "scope": 278, + "scope": 190, "name": "a", "type_name": { - "id": 281, + "id": 193, "node_type": 30, "src": { - "line": 191, + "line": 109, "column": 17, - "start": 6003, - "end": 6009, + "start": 3276, + "end": 3282, "length": 7, - "parent_index": 280 + "parent_index": 192 }, "name": "uint256", "referenced_declaration": 0, @@ -3154,28 +3194,28 @@ } }, { - "id": 282, + "id": 194, "node_type": 44, "src": { - "line": 191, + "line": 109, "column": 28, - "start": 6014, - "end": 6022, + "start": 3287, + "end": 3295, "length": 9, - "parent_index": 279 + "parent_index": 191 }, - "scope": 278, + "scope": 190, "name": "b", "type_name": { - "id": 283, + "id": 195, "node_type": 30, "src": { - "line": 191, + "line": 109, "column": 28, - "start": 6014, - "end": 6020, + "start": 3287, + "end": 3293, "length": 7, - "parent_index": 282 + "parent_index": 194 }, "name": "uint256", "referenced_declaration": 0, @@ -3205,40 +3245,40 @@ ] }, "return_parameters": { - "id": 284, + "id": 196, "node_type": 43, "src": { - "line": 191, + "line": 109, "column": 62, - "start": 6048, - "end": 6054, + "start": 3321, + "end": 3327, "length": 7, - "parent_index": 278 + "parent_index": 190 }, "parameters": [ { - "id": 285, + "id": 197, "node_type": 44, "src": { - "line": 191, + "line": 109, "column": 62, - "start": 6048, - "end": 6054, + "start": 3321, + "end": 3327, "length": 7, - "parent_index": 284 + "parent_index": 196 }, - "scope": 278, + "scope": 190, "name": "", "type_name": { - "id": 286, + "id": 198, "node_type": 30, "src": { - "line": 191, + "line": 109, "column": 62, - "start": 6048, - "end": 6054, + "start": 3321, + "end": 3327, "length": 7, - "parent_index": 285 + "parent_index": 197 }, "name": "uint256", "referenced_declaration": 0, @@ -3263,85 +3303,86 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", - "scope": 121, + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { - "id": 293, + "id": 205, "name": "mul", "node_type": 42, "kind": 41, "src": { - "line": 205, + "line": 123, "column": 4, - "start": 6333, - "end": 6428, + "start": 3606, + "end": 3701, "length": 96, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 205, + "line": 123, "column": 13, - "start": 6342, - "end": 6344, + "start": 3615, + "end": 3617, "length": 3, - "parent_index": 293 + "parent_index": 205 }, "body": { - "id": 302, + "id": 214, "node_type": 46, "kind": 0, "src": { - "line": 205, + "line": 123, "column": 71, - "start": 6400, - "end": 6428, + "start": 3673, + "end": 3701, "length": 29, - "parent_index": 293 + "parent_index": 205 }, "implemented": true, "statements": [ { - "id": 303, + "id": 215, "node_type": 47, "src": { - "line": 206, + "line": 124, "column": 8, - "start": 6410, - "end": 6422, + "start": 3683, + "end": 3695, "length": 13, - "parent_index": 293 + "parent_index": 205 }, - "function_return_parameters": 293, + "function_return_parameters": 205, "expression": { - "id": 304, + "id": 216, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 206, + "line": 124, "column": 15, - "start": 6417, - "end": 6421, + "start": 3690, + "end": 3694, "length": 5, - "parent_index": 303 + "parent_index": 215 }, "operator": 3, "left_expression": { - "id": 305, + "id": 217, "node_type": 16, "src": { - "line": 206, + "line": 124, "column": 15, - "start": 6417, - "end": 6417, + "start": 3690, + "end": 3690, "length": 1, - "parent_index": 304 + "parent_index": 216 }, "name": "a", "type_description": { @@ -3349,19 +3390,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 305, - "is_pure": false + "referenced_declaration": 217, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 306, + "id": 218, "node_type": 16, "src": { - "line": 206, + "line": 124, "column": 19, - "start": 6421, - "end": 6421, + "start": 3694, + "end": 3694, "length": 1, - "parent_index": 304 + "parent_index": 216 }, "name": "b", "type_description": { @@ -3369,8 +3411,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 306, - "is_pure": false + "referenced_declaration": 218, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3387,40 +3430,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 294, + "id": 206, "node_type": 43, "src": { - "line": 205, + "line": 123, "column": 17, - "start": 6346, - "end": 6365, + "start": 3619, + "end": 3638, "length": 20, - "parent_index": 293 + "parent_index": 205 }, "parameters": [ { - "id": 295, + "id": 207, "node_type": 44, "src": { - "line": 205, + "line": 123, "column": 17, - "start": 6346, - "end": 6354, + "start": 3619, + "end": 3627, "length": 9, - "parent_index": 294 + "parent_index": 206 }, - "scope": 293, + "scope": 205, "name": "a", "type_name": { - "id": 296, + "id": 208, "node_type": 30, "src": { - "line": 205, + "line": 123, "column": 17, - "start": 6346, - "end": 6352, + "start": 3619, + "end": 3625, "length": 7, - "parent_index": 295 + "parent_index": 207 }, "name": "uint256", "referenced_declaration": 0, @@ -3438,28 +3481,28 @@ } }, { - "id": 297, + "id": 209, "node_type": 44, "src": { - "line": 205, + "line": 123, "column": 28, - "start": 6357, - "end": 6365, + "start": 3630, + "end": 3638, "length": 9, - "parent_index": 294 + "parent_index": 206 }, - "scope": 293, + "scope": 205, "name": "b", "type_name": { - "id": 298, + "id": 210, "node_type": 30, "src": { - "line": 205, + "line": 123, "column": 28, - "start": 6357, - "end": 6363, + "start": 3630, + "end": 3636, "length": 7, - "parent_index": 297 + "parent_index": 209 }, "name": "uint256", "referenced_declaration": 0, @@ -3489,40 +3532,40 @@ ] }, "return_parameters": { - "id": 299, + "id": 211, "node_type": 43, "src": { - "line": 205, + "line": 123, "column": 62, - "start": 6391, - "end": 6397, + "start": 3664, + "end": 3670, "length": 7, - "parent_index": 293 + "parent_index": 205 }, "parameters": [ { - "id": 300, + "id": 212, "node_type": 44, "src": { - "line": 205, + "line": 123, "column": 62, - "start": 6391, - "end": 6397, + "start": 3664, + "end": 3670, "length": 7, - "parent_index": 299 + "parent_index": 211 }, - "scope": 293, + "scope": 205, "name": "", "type_name": { - "id": 301, + "id": 213, "node_type": 30, "src": { - "line": 205, + "line": 123, "column": 62, - "start": 6391, - "end": 6397, + "start": 3664, + "end": 3670, "length": 7, - "parent_index": 300 + "parent_index": 212 }, "name": "uint256", "referenced_declaration": 0, @@ -3547,85 +3590,86 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", - "scope": 121, + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { - "id": 308, + "id": 220, "name": "div", "node_type": 42, "kind": 41, "src": { - "line": 221, + "line": 139, "column": 4, - "start": 6893, - "end": 6988, + "start": 4166, + "end": 4261, "length": 96, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 221, + "line": 139, "column": 13, - "start": 6902, - "end": 6904, + "start": 4175, + "end": 4177, "length": 3, - "parent_index": 308 + "parent_index": 220 }, "body": { - "id": 317, + "id": 229, "node_type": 46, "kind": 0, "src": { - "line": 221, + "line": 139, "column": 71, - "start": 6960, - "end": 6988, + "start": 4233, + "end": 4261, "length": 29, - "parent_index": 308 + "parent_index": 220 }, "implemented": true, "statements": [ { - "id": 318, + "id": 230, "node_type": 47, "src": { - "line": 222, + "line": 140, "column": 8, - "start": 6970, - "end": 6982, + "start": 4243, + "end": 4255, "length": 13, - "parent_index": 308 + "parent_index": 220 }, - "function_return_parameters": 308, + "function_return_parameters": 220, "expression": { - "id": 319, + "id": 231, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 222, + "line": 140, "column": 15, - "start": 6977, - "end": 6981, + "start": 4250, + "end": 4254, "length": 5, - "parent_index": 318 + "parent_index": 230 }, "operator": 4, "left_expression": { - "id": 320, + "id": 232, "node_type": 16, "src": { - "line": 222, + "line": 140, "column": 15, - "start": 6977, - "end": 6977, + "start": 4250, + "end": 4250, "length": 1, - "parent_index": 319 + "parent_index": 231 }, "name": "a", "type_description": { @@ -3633,19 +3677,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 320, - "is_pure": false + "referenced_declaration": 232, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 321, + "id": 233, "node_type": 16, "src": { - "line": 222, + "line": 140, "column": 19, - "start": 6981, - "end": 6981, + "start": 4254, + "end": 4254, "length": 1, - "parent_index": 319 + "parent_index": 231 }, "name": "b", "type_description": { @@ -3653,8 +3698,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 321, - "is_pure": false + "referenced_declaration": 233, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3671,40 +3717,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 309, + "id": 221, "node_type": 43, "src": { - "line": 221, + "line": 139, "column": 17, - "start": 6906, - "end": 6925, + "start": 4179, + "end": 4198, "length": 20, - "parent_index": 308 + "parent_index": 220 }, "parameters": [ { - "id": 310, + "id": 222, "node_type": 44, "src": { - "line": 221, + "line": 139, "column": 17, - "start": 6906, - "end": 6914, + "start": 4179, + "end": 4187, "length": 9, - "parent_index": 309 + "parent_index": 221 }, - "scope": 308, + "scope": 220, "name": "a", "type_name": { - "id": 311, + "id": 223, "node_type": 30, "src": { - "line": 221, + "line": 139, "column": 17, - "start": 6906, - "end": 6912, + "start": 4179, + "end": 4185, "length": 7, - "parent_index": 310 + "parent_index": 222 }, "name": "uint256", "referenced_declaration": 0, @@ -3722,28 +3768,28 @@ } }, { - "id": 312, + "id": 224, "node_type": 44, "src": { - "line": 221, + "line": 139, "column": 28, - "start": 6917, - "end": 6925, + "start": 4190, + "end": 4198, "length": 9, - "parent_index": 309 + "parent_index": 221 }, - "scope": 308, + "scope": 220, "name": "b", "type_name": { - "id": 313, + "id": 225, "node_type": 30, "src": { - "line": 221, + "line": 139, "column": 28, - "start": 6917, - "end": 6923, + "start": 4190, + "end": 4196, "length": 7, - "parent_index": 312 + "parent_index": 224 }, "name": "uint256", "referenced_declaration": 0, @@ -3773,40 +3819,40 @@ ] }, "return_parameters": { - "id": 314, + "id": 226, "node_type": 43, "src": { - "line": 221, + "line": 139, "column": 62, - "start": 6951, - "end": 6957, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 308 + "parent_index": 220 }, "parameters": [ { - "id": 315, + "id": 227, "node_type": 44, "src": { - "line": 221, + "line": 139, "column": 62, - "start": 6951, - "end": 6957, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 314 + "parent_index": 226 }, - "scope": 308, + "scope": 220, "name": "", "type_name": { - "id": 316, + "id": 228, "node_type": 30, "src": { - "line": 221, + "line": 139, "column": 62, - "start": 6951, - "end": 6957, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 315 + "parent_index": 227 }, "name": "uint256", "referenced_declaration": 0, @@ -3831,85 +3877,86 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", - "scope": 121, + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { - "id": 323, + "id": 235, "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 237, + "line": 155, "column": 4, - "start": 7442, - "end": 7537, + "start": 4715, + "end": 4810, "length": 96, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 237, + "line": 155, "column": 13, - "start": 7451, - "end": 7453, + "start": 4724, + "end": 4726, "length": 3, - "parent_index": 323 + "parent_index": 235 }, "body": { - "id": 332, + "id": 244, "node_type": 46, "kind": 0, "src": { - "line": 237, + "line": 155, "column": 71, - "start": 7509, - "end": 7537, + "start": 4782, + "end": 4810, "length": 29, - "parent_index": 323 + "parent_index": 235 }, "implemented": true, "statements": [ { - "id": 333, + "id": 245, "node_type": 47, "src": { - "line": 238, + "line": 156, "column": 8, - "start": 7519, - "end": 7531, + "start": 4792, + "end": 4804, "length": 13, - "parent_index": 323 + "parent_index": 235 }, - "function_return_parameters": 323, + "function_return_parameters": 235, "expression": { - "id": 334, + "id": 246, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 238, + "line": 156, "column": 15, - "start": 7526, - "end": 7530, + "start": 4799, + "end": 4803, "length": 5, - "parent_index": 333 + "parent_index": 245 }, "operator": 5, "left_expression": { - "id": 335, + "id": 247, "node_type": 16, "src": { - "line": 238, + "line": 156, "column": 15, - "start": 7526, - "end": 7526, + "start": 4799, + "end": 4799, "length": 1, - "parent_index": 334 + "parent_index": 246 }, "name": "a", "type_description": { @@ -3917,19 +3964,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 335, - "is_pure": false + "referenced_declaration": 247, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 336, + "id": 248, "node_type": 16, "src": { - "line": 238, + "line": 156, "column": 19, - "start": 7530, - "end": 7530, + "start": 4803, + "end": 4803, "length": 1, - "parent_index": 334 + "parent_index": 246 }, "name": "b", "type_description": { @@ -3937,8 +3985,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 336, - "is_pure": false + "referenced_declaration": 248, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3955,40 +4004,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 324, + "id": 236, "node_type": 43, "src": { - "line": 237, + "line": 155, "column": 17, - "start": 7455, - "end": 7474, + "start": 4728, + "end": 4747, "length": 20, - "parent_index": 323 + "parent_index": 235 }, "parameters": [ { - "id": 325, + "id": 237, "node_type": 44, "src": { - "line": 237, + "line": 155, "column": 17, - "start": 7455, - "end": 7463, + "start": 4728, + "end": 4736, "length": 9, - "parent_index": 324 + "parent_index": 236 }, - "scope": 323, + "scope": 235, "name": "a", "type_name": { - "id": 326, + "id": 238, "node_type": 30, "src": { - "line": 237, + "line": 155, "column": 17, - "start": 7455, - "end": 7461, + "start": 4728, + "end": 4734, "length": 7, - "parent_index": 325 + "parent_index": 237 }, "name": "uint256", "referenced_declaration": 0, @@ -4006,28 +4055,28 @@ } }, { - "id": 327, + "id": 239, "node_type": 44, "src": { - "line": 237, + "line": 155, "column": 28, - "start": 7466, - "end": 7474, + "start": 4739, + "end": 4747, "length": 9, - "parent_index": 324 + "parent_index": 236 }, - "scope": 323, + "scope": 235, "name": "b", "type_name": { - "id": 328, + "id": 240, "node_type": 30, "src": { - "line": 237, + "line": 155, "column": 28, - "start": 7466, - "end": 7472, + "start": 4739, + "end": 4745, "length": 7, - "parent_index": 327 + "parent_index": 239 }, "name": "uint256", "referenced_declaration": 0, @@ -4057,40 +4106,40 @@ ] }, "return_parameters": { - "id": 329, + "id": 241, "node_type": 43, "src": { - "line": 237, + "line": 155, "column": 62, - "start": 7500, - "end": 7506, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 323 + "parent_index": 235 }, "parameters": [ { - "id": 330, + "id": 242, "node_type": 44, "src": { - "line": 237, + "line": 155, "column": 62, - "start": 7500, - "end": 7506, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 329 + "parent_index": 241 }, - "scope": 323, + "scope": 235, "name": "", "type_name": { - "id": 331, + "id": 243, "node_type": 30, "src": { - "line": 237, + "line": 155, "column": 62, - "start": 7500, - "end": 7506, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 330 + "parent_index": 242 }, "name": "uint256", "referenced_declaration": 0, @@ -4115,74 +4164,75 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", - "scope": 121, + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, { - "id": 338, + "id": 250, "name": "sub", "node_type": 42, "kind": 41, "src": { - "line": 254, + "line": 172, "column": 4, - "start": 8002, - "end": 8232, + "start": 5275, + "end": 5505, "length": 231, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 254, + "line": 172, "column": 13, - "start": 8011, - "end": 8013, + "start": 5284, + "end": 5286, "length": 3, - "parent_index": 338 + "parent_index": 250 }, "body": { - "id": 349, + "id": 261, "node_type": 46, "kind": 0, "src": { - "line": 258, + "line": 176, "column": 38, - "start": 8127, - "end": 8232, + "start": 5400, + "end": 5505, "length": 106, - "parent_index": 338 + "parent_index": 250 }, "implemented": true, "statements": [ { - "id": 350, + "id": 262, "node_type": 59, "kind": 0, "src": { - "line": 259, + "line": 177, "column": 8, - "start": 8137, - "end": 8226, + "start": 5410, + "end": 5499, "length": 90, - "parent_index": 121 + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 351, + "id": 263, "node_type": 24, "kind": 24, "src": { - "line": 260, + "line": 178, "column": 12, - "start": 8161, - "end": 8189, + "start": 5434, + "end": 5462, "length": 29, - "parent_index": 350 + "parent_index": 262 }, "argument_types": [ { @@ -4196,29 +4246,29 @@ ], "arguments": [ { - "id": 353, + "id": 265, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 260, + "line": 178, "column": 20, - "start": 8169, - "end": 8174, + "start": 5442, + "end": 5447, "length": 6, - "parent_index": 351 + "parent_index": 263 }, "operator": 10, "left_expression": { - "id": 354, + "id": 266, "node_type": 16, "src": { - "line": 260, + "line": 178, "column": 20, - "start": 8169, - "end": 8169, + "start": 5442, + "end": 5442, "length": 1, - "parent_index": 353 + "parent_index": 265 }, "name": "b", "type_description": { @@ -4226,19 +4276,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 354, - "is_pure": false + "referenced_declaration": 266, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 355, + "id": 267, "node_type": 16, "src": { - "line": 260, + "line": 178, "column": 25, - "start": 8174, - "end": 8174, + "start": 5447, + "end": 5447, "length": 1, - "parent_index": 353 + "parent_index": 265 }, "name": "a", "type_description": { @@ -4246,8 +4297,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 355, - "is_pure": false + "referenced_declaration": 267, + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -4255,15 +4307,15 @@ } }, { - "id": 356, + "id": 268, "node_type": 16, "src": { - "line": 260, + "line": 178, "column": 28, - "start": 8177, - "end": 8188, + "start": 5450, + "end": 5461, "length": 12, - "parent_index": 351 + "parent_index": 263 }, "name": "errorMessage", "type_description": { @@ -4271,26 +4323,27 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 356, + "referenced_declaration": 268, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { - "id": 352, + "id": 264, "node_type": 16, "src": { - "line": 260, + "line": 178, "column": 12, - "start": 8161, - "end": 8167, + "start": 5434, + "end": 5440, "length": 7, - "parent_index": 351 + "parent_index": 263 }, "name": "require", "type_description": { @@ -4299,7 +4352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -4307,41 +4361,41 @@ } }, { - "id": 357, + "id": 269, "node_type": 47, "src": { - "line": 261, + "line": 179, "column": 12, - "start": 8204, - "end": 8216, + "start": 5477, + "end": 5489, "length": 13, - "parent_index": 338 + "parent_index": 250 }, - "function_return_parameters": 338, + "function_return_parameters": 250, "expression": { - "id": 358, + "id": 270, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 261, + "line": 179, "column": 19, - "start": 8211, - "end": 8215, + "start": 5484, + "end": 5488, "length": 5, - "parent_index": 357 + "parent_index": 269 }, "operator": 2, "left_expression": { - "id": 359, + "id": 271, "node_type": 16, "src": { - "line": 261, + "line": 179, "column": 19, - "start": 8211, - "end": 8211, + "start": 5484, + "end": 5484, "length": 1, - "parent_index": 358 + "parent_index": 270 }, "name": "a", "type_description": { @@ -4349,19 +4403,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 359, - "is_pure": false + "referenced_declaration": 271, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 360, + "id": 272, "node_type": 16, "src": { - "line": 261, + "line": 179, "column": 23, - "start": 8215, - "end": 8215, + "start": 5488, + "end": 5488, "length": 1, - "parent_index": 358 + "parent_index": 270 }, "name": "b", "type_description": { @@ -4369,8 +4424,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 360, - "is_pure": false + "referenced_declaration": 272, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4389,40 +4445,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 339, + "id": 251, "node_type": 43, "src": { - "line": 255, + "line": 173, "column": 8, - "start": 8024, - "end": 8087, + "start": 5297, + "end": 5360, "length": 64, - "parent_index": 338 + "parent_index": 250 }, "parameters": [ { - "id": 340, + "id": 252, "node_type": 44, "src": { - "line": 255, + "line": 173, "column": 8, - "start": 8024, - "end": 8032, + "start": 5297, + "end": 5305, "length": 9, - "parent_index": 339 + "parent_index": 251 }, - "scope": 338, + "scope": 250, "name": "a", "type_name": { - "id": 341, + "id": 253, "node_type": 30, "src": { - "line": 255, + "line": 173, "column": 8, - "start": 8024, - "end": 8030, + "start": 5297, + "end": 5303, "length": 7, - "parent_index": 340 + "parent_index": 252 }, "name": "uint256", "referenced_declaration": 0, @@ -4440,28 +4496,28 @@ } }, { - "id": 342, + "id": 254, "node_type": 44, "src": { - "line": 256, + "line": 174, "column": 8, - "start": 8043, - "end": 8051, + "start": 5316, + "end": 5324, "length": 9, - "parent_index": 339 + "parent_index": 251 }, - "scope": 338, + "scope": 250, "name": "b", "type_name": { - "id": 343, + "id": 255, "node_type": 30, "src": { - "line": 256, + "line": 174, "column": 8, - "start": 8043, - "end": 8049, + "start": 5316, + "end": 5322, "length": 7, - "parent_index": 342 + "parent_index": 254 }, "name": "uint256", "referenced_declaration": 0, @@ -4479,28 +4535,28 @@ } }, { - "id": 344, + "id": 256, "node_type": 44, "src": { - "line": 257, + "line": 175, "column": 8, - "start": 8062, - "end": 8087, + "start": 5335, + "end": 5360, "length": 26, - "parent_index": 339 + "parent_index": 251 }, - "scope": 338, + "scope": 250, "name": "errorMessage", "type_name": { - "id": 345, + "id": 257, "node_type": 30, "src": { - "line": 257, + "line": 175, "column": 8, - "start": 8062, - "end": 8067, + "start": 5335, + "end": 5340, "length": 6, - "parent_index": 344 + "parent_index": 256 }, "name": "string", "referenced_declaration": 0, @@ -4534,40 +4590,40 @@ ] }, "return_parameters": { - "id": 346, + "id": 258, "node_type": 43, "src": { - "line": 258, + "line": 176, "column": 29, - "start": 8118, - "end": 8124, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 338 + "parent_index": 250 }, "parameters": [ { - "id": 347, + "id": 259, "node_type": 44, "src": { - "line": 258, + "line": 176, "column": 29, - "start": 8118, - "end": 8124, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 346 + "parent_index": 258 }, - "scope": 338, + "scope": 250, "name": "", "type_name": { - "id": 348, + "id": 260, "node_type": 30, "src": { - "line": 258, + "line": 176, "column": 29, - "start": 8118, - "end": 8124, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 347 + "parent_index": 259 }, "name": "uint256", "referenced_declaration": 0, @@ -4592,74 +4648,75 @@ } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", - "scope": 121, + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, { - "id": 362, + "id": 274, "name": "div", "node_type": 42, "kind": 41, "src": { - "line": 277, + "line": 195, "column": 4, - "start": 8717, - "end": 8946, + "start": 5990, + "end": 6219, "length": 230, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 277, + "line": 195, "column": 13, - "start": 8726, - "end": 8728, + "start": 5999, + "end": 6001, "length": 3, - "parent_index": 362 + "parent_index": 274 }, "body": { - "id": 373, + "id": 285, "node_type": 46, "kind": 0, "src": { - "line": 281, + "line": 199, "column": 38, - "start": 8842, - "end": 8946, + "start": 6115, + "end": 6219, "length": 105, - "parent_index": 362 + "parent_index": 274 }, "implemented": true, "statements": [ { - "id": 374, + "id": 286, "node_type": 59, "kind": 0, "src": { - "line": 282, + "line": 200, "column": 8, - "start": 8852, - "end": 8940, + "start": 6125, + "end": 6213, "length": 89, - "parent_index": 121 + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 375, + "id": 287, "node_type": 24, "kind": 24, "src": { - "line": 283, + "line": 201, "column": 12, - "start": 8876, - "end": 8903, + "start": 6149, + "end": 6176, "length": 28, - "parent_index": 374 + "parent_index": 286 }, "argument_types": [ { @@ -4673,29 +4730,29 @@ ], "arguments": [ { - "id": 377, + "id": 289, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 283, + "line": 201, "column": 20, - "start": 8884, - "end": 8888, + "start": 6157, + "end": 6161, "length": 5, - "parent_index": 375 + "parent_index": 287 }, "operator": 7, "left_expression": { - "id": 378, + "id": 290, "node_type": 16, "src": { - "line": 283, + "line": 201, "column": 20, - "start": 8884, - "end": 8884, + "start": 6157, + "end": 6157, "length": 1, - "parent_index": 377 + "parent_index": 289 }, "name": "b", "type_description": { @@ -4703,22 +4760,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 378, - "is_pure": false + "referenced_declaration": 290, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 379, + "id": 291, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 283, + "line": 201, "column": 24, - "start": 8888, - "end": 8888, + "start": 6161, + "end": 6161, "length": 1, - "parent_index": 377 + "parent_index": 289 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4726,7 +4784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4734,15 +4793,15 @@ } }, { - "id": 380, + "id": 292, "node_type": 16, "src": { - "line": 283, + "line": 201, "column": 27, - "start": 8891, - "end": 8902, + "start": 6164, + "end": 6175, "length": 12, - "parent_index": 375 + "parent_index": 287 }, "name": "errorMessage", "type_description": { @@ -4750,26 +4809,27 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 380, + "referenced_declaration": 292, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { - "id": 376, + "id": 288, "node_type": 16, "src": { - "line": 283, + "line": 201, "column": 12, - "start": 8876, - "end": 8882, + "start": 6149, + "end": 6155, "length": 7, - "parent_index": 375 + "parent_index": 287 }, "name": "require", "type_description": { @@ -4778,7 +4838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -4786,41 +4847,41 @@ } }, { - "id": 381, + "id": 293, "node_type": 47, "src": { - "line": 284, + "line": 202, "column": 12, - "start": 8918, - "end": 8930, + "start": 6191, + "end": 6203, "length": 13, - "parent_index": 362 + "parent_index": 274 }, - "function_return_parameters": 362, + "function_return_parameters": 274, "expression": { - "id": 382, + "id": 294, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 284, + "line": 202, "column": 19, - "start": 8925, - "end": 8929, + "start": 6198, + "end": 6202, "length": 5, - "parent_index": 381 + "parent_index": 293 }, "operator": 4, "left_expression": { - "id": 383, + "id": 295, "node_type": 16, "src": { - "line": 284, + "line": 202, "column": 19, - "start": 8925, - "end": 8925, + "start": 6198, + "end": 6198, "length": 1, - "parent_index": 382 + "parent_index": 294 }, "name": "a", "type_description": { @@ -4828,19 +4889,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 383, - "is_pure": false + "referenced_declaration": 295, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 384, + "id": 296, "node_type": 16, "src": { - "line": 284, + "line": 202, "column": 23, - "start": 8929, - "end": 8929, + "start": 6202, + "end": 6202, "length": 1, - "parent_index": 382 + "parent_index": 294 }, "name": "b", "type_description": { @@ -4848,8 +4910,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 384, - "is_pure": false + "referenced_declaration": 296, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4868,40 +4931,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 363, + "id": 275, "node_type": 43, "src": { - "line": 278, + "line": 196, "column": 8, - "start": 8739, - "end": 8802, + "start": 6012, + "end": 6075, "length": 64, - "parent_index": 362 + "parent_index": 274 }, "parameters": [ { - "id": 364, + "id": 276, "node_type": 44, "src": { - "line": 278, + "line": 196, "column": 8, - "start": 8739, - "end": 8747, + "start": 6012, + "end": 6020, "length": 9, - "parent_index": 363 + "parent_index": 275 }, - "scope": 362, + "scope": 274, "name": "a", "type_name": { - "id": 365, + "id": 277, "node_type": 30, "src": { - "line": 278, + "line": 196, "column": 8, - "start": 8739, - "end": 8745, + "start": 6012, + "end": 6018, "length": 7, - "parent_index": 364 + "parent_index": 276 }, "name": "uint256", "referenced_declaration": 0, @@ -4919,28 +4982,28 @@ } }, { - "id": 366, + "id": 278, "node_type": 44, "src": { - "line": 279, + "line": 197, "column": 8, - "start": 8758, - "end": 8766, + "start": 6031, + "end": 6039, "length": 9, - "parent_index": 363 + "parent_index": 275 }, - "scope": 362, + "scope": 274, "name": "b", "type_name": { - "id": 367, + "id": 279, "node_type": 30, "src": { - "line": 279, + "line": 197, "column": 8, - "start": 8758, - "end": 8764, + "start": 6031, + "end": 6037, "length": 7, - "parent_index": 366 + "parent_index": 278 }, "name": "uint256", "referenced_declaration": 0, @@ -4958,28 +5021,28 @@ } }, { - "id": 368, + "id": 280, "node_type": 44, "src": { - "line": 280, + "line": 198, "column": 8, - "start": 8777, - "end": 8802, + "start": 6050, + "end": 6075, "length": 26, - "parent_index": 363 + "parent_index": 275 }, - "scope": 362, + "scope": 274, "name": "errorMessage", "type_name": { - "id": 369, + "id": 281, "node_type": 30, "src": { - "line": 280, + "line": 198, "column": 8, - "start": 8777, - "end": 8782, + "start": 6050, + "end": 6055, "length": 6, - "parent_index": 368 + "parent_index": 280 }, "name": "string", "referenced_declaration": 0, @@ -5013,40 +5076,40 @@ ] }, "return_parameters": { - "id": 370, + "id": 282, "node_type": 43, "src": { - "line": 281, + "line": 199, "column": 29, - "start": 8833, - "end": 8839, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 362 + "parent_index": 274 }, "parameters": [ { - "id": 371, + "id": 283, "node_type": 44, "src": { - "line": 281, + "line": 199, "column": 29, - "start": 8833, - "end": 8839, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 370 + "parent_index": 282 }, - "scope": 362, + "scope": 274, "name": "", "type_name": { - "id": 372, + "id": 284, "node_type": 30, "src": { - "line": 281, + "line": 199, "column": 29, - "start": 8833, - "end": 8839, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 371 + "parent_index": 283 }, "name": "uint256", "referenced_declaration": 0, @@ -5071,74 +5134,75 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", - "scope": 121, + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { - "id": 386, + "id": 298, "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 303, + "line": 221, "column": 4, - "start": 9593, - "end": 9822, + "start": 6866, + "end": 7095, "length": 230, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 303, + "line": 221, "column": 13, - "start": 9602, - "end": 9604, + "start": 6875, + "end": 6877, "length": 3, - "parent_index": 386 + "parent_index": 298 }, "body": { - "id": 397, + "id": 309, "node_type": 46, "kind": 0, "src": { - "line": 307, + "line": 225, "column": 38, - "start": 9718, - "end": 9822, + "start": 6991, + "end": 7095, "length": 105, - "parent_index": 386 + "parent_index": 298 }, "implemented": true, "statements": [ { - "id": 398, + "id": 310, "node_type": 59, "kind": 0, "src": { - "line": 308, + "line": 226, "column": 8, - "start": 9728, - "end": 9816, + "start": 7001, + "end": 7089, "length": 89, - "parent_index": 121 + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 399, + "id": 311, "node_type": 24, "kind": 24, "src": { - "line": 309, + "line": 227, "column": 12, - "start": 9752, - "end": 9779, + "start": 7025, + "end": 7052, "length": 28, - "parent_index": 398 + "parent_index": 310 }, "argument_types": [ { @@ -5152,29 +5216,29 @@ ], "arguments": [ { - "id": 401, + "id": 313, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 309, + "line": 227, "column": 20, - "start": 9760, - "end": 9764, + "start": 7033, + "end": 7037, "length": 5, - "parent_index": 399 + "parent_index": 311 }, "operator": 7, "left_expression": { - "id": 402, + "id": 314, "node_type": 16, "src": { - "line": 309, + "line": 227, "column": 20, - "start": 9760, - "end": 9760, + "start": 7033, + "end": 7033, "length": 1, - "parent_index": 401 + "parent_index": 313 }, "name": "b", "type_description": { @@ -5182,22 +5246,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 402, - "is_pure": false + "referenced_declaration": 314, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 403, + "id": 315, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 309, + "line": 227, "column": 24, - "start": 9764, - "end": 9764, + "start": 7037, + "end": 7037, "length": 1, - "parent_index": 401 + "parent_index": 313 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5205,7 +5270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5213,15 +5279,15 @@ } }, { - "id": 404, + "id": 316, "node_type": 16, "src": { - "line": 309, + "line": 227, "column": 27, - "start": 9767, - "end": 9778, + "start": 7040, + "end": 7051, "length": 12, - "parent_index": 399 + "parent_index": 311 }, "name": "errorMessage", "type_description": { @@ -5229,26 +5295,27 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 404, + "referenced_declaration": 316, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { - "id": 400, + "id": 312, "node_type": 16, "src": { - "line": 309, + "line": 227, "column": 12, - "start": 9752, - "end": 9758, + "start": 7025, + "end": 7031, "length": 7, - "parent_index": 399 + "parent_index": 311 }, "name": "require", "type_description": { @@ -5257,7 +5324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -5265,41 +5333,41 @@ } }, { - "id": 405, + "id": 317, "node_type": 47, "src": { - "line": 310, + "line": 228, "column": 12, - "start": 9794, - "end": 9806, + "start": 7067, + "end": 7079, "length": 13, - "parent_index": 386 + "parent_index": 298 }, - "function_return_parameters": 386, + "function_return_parameters": 298, "expression": { - "id": 406, + "id": 318, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 310, + "line": 228, "column": 19, - "start": 9801, - "end": 9805, + "start": 7074, + "end": 7078, "length": 5, - "parent_index": 405 + "parent_index": 317 }, "operator": 5, "left_expression": { - "id": 407, + "id": 319, "node_type": 16, "src": { - "line": 310, + "line": 228, "column": 19, - "start": 9801, - "end": 9801, + "start": 7074, + "end": 7074, "length": 1, - "parent_index": 406 + "parent_index": 318 }, "name": "a", "type_description": { @@ -5307,19 +5375,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 407, - "is_pure": false + "referenced_declaration": 319, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 408, + "id": 320, "node_type": 16, "src": { - "line": 310, + "line": 228, "column": 23, - "start": 9805, - "end": 9805, + "start": 7078, + "end": 7078, "length": 1, - "parent_index": 406 + "parent_index": 318 }, "name": "b", "type_description": { @@ -5327,8 +5396,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 408, - "is_pure": false + "referenced_declaration": 320, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5347,40 +5417,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 387, + "id": 299, "node_type": 43, "src": { - "line": 304, + "line": 222, "column": 8, - "start": 9615, - "end": 9678, + "start": 6888, + "end": 6951, "length": 64, - "parent_index": 386 + "parent_index": 298 }, "parameters": [ { - "id": 388, + "id": 300, "node_type": 44, "src": { - "line": 304, + "line": 222, "column": 8, - "start": 9615, - "end": 9623, + "start": 6888, + "end": 6896, "length": 9, - "parent_index": 387 + "parent_index": 299 }, - "scope": 386, + "scope": 298, "name": "a", "type_name": { - "id": 389, + "id": 301, "node_type": 30, "src": { - "line": 304, + "line": 222, "column": 8, - "start": 9615, - "end": 9621, + "start": 6888, + "end": 6894, "length": 7, - "parent_index": 388 + "parent_index": 300 }, "name": "uint256", "referenced_declaration": 0, @@ -5398,28 +5468,28 @@ } }, { - "id": 390, + "id": 302, "node_type": 44, "src": { - "line": 305, + "line": 223, "column": 8, - "start": 9634, - "end": 9642, + "start": 6907, + "end": 6915, "length": 9, - "parent_index": 387 + "parent_index": 299 }, - "scope": 386, + "scope": 298, "name": "b", "type_name": { - "id": 391, + "id": 303, "node_type": 30, "src": { - "line": 305, + "line": 223, "column": 8, - "start": 9634, - "end": 9640, + "start": 6907, + "end": 6913, "length": 7, - "parent_index": 390 + "parent_index": 302 }, "name": "uint256", "referenced_declaration": 0, @@ -5437,28 +5507,28 @@ } }, { - "id": 392, + "id": 304, "node_type": 44, "src": { - "line": 306, + "line": 224, "column": 8, - "start": 9653, - "end": 9678, + "start": 6926, + "end": 6951, "length": 26, - "parent_index": 387 + "parent_index": 299 }, - "scope": 386, + "scope": 298, "name": "errorMessage", "type_name": { - "id": 393, + "id": 305, "node_type": 30, "src": { - "line": 306, + "line": 224, "column": 8, - "start": 9653, - "end": 9658, + "start": 6926, + "end": 6931, "length": 6, - "parent_index": 392 + "parent_index": 304 }, "name": "string", "referenced_declaration": 0, @@ -5492,40 +5562,40 @@ ] }, "return_parameters": { - "id": 394, + "id": 306, "node_type": 43, "src": { - "line": 307, + "line": 225, "column": 29, - "start": 9709, - "end": 9715, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 386 + "parent_index": 298 }, "parameters": [ { - "id": 395, + "id": 307, "node_type": 44, "src": { - "line": 307, + "line": 225, "column": 29, - "start": 9709, - "end": 9715, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 394 + "parent_index": 306 }, - "scope": 386, + "scope": 298, "name": "", "type_name": { - "id": 396, + "id": 308, "node_type": 30, "src": { - "line": 307, + "line": 225, "column": 29, - "start": 9709, - "end": 9715, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 395 + "parent_index": 307 }, "name": "uint256", "referenced_declaration": 0, @@ -5550,27 +5620,28 @@ } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", - "scope": 121, + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" } ], "linearized_base_contracts": [ - 121 + 33 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 100, + "line": 18, "column": 0, - "start": 3349, - "end": 9824, + "start": 622, + "end": 7097, "length": 6476, "parent_index": 30 } diff --git a/data/tests/ast/SimpleStorage.solgo.ast.json b/data/tests/ast/SimpleStorage.solgo.ast.json index dca49d3d..77a4e0e4 100644 --- a/data/tests/ast/SimpleStorage.solgo.ast.json +++ b/data/tests/ast/SimpleStorage.solgo.ast.json @@ -419,7 +419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 32, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 33, @@ -439,7 +440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 33, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -502,7 +504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 38, @@ -522,7 +525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 38, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -555,7 +559,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Addition overflow\"" } ], "expression": { @@ -576,7 +581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -613,7 +619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -785,13 +792,14 @@ } ] }, - "signature_raw": "add(uint, uint)", - "signature": "9f313803", + "signature_raw": "add(uint,uint)", + "signature": "b8966352", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uinta,uintb)internalpurereturns(uint){uintc=a+b;require(c\u003e=a,\"Addition overflow\");returnc;}" }, { "id": 43, @@ -883,7 +891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 56, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 57, @@ -903,7 +912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 57, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -936,7 +946,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Subtraction underflow\"" } ], "expression": { @@ -957,7 +968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1056,7 +1068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 63, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 64, @@ -1076,7 +1089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 64, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1114,7 +1128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 59, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1286,13 +1301,14 @@ } ] }, - "signature_raw": "sub(uint, uint)", - "signature": "b2c71209", + "signature_raw": "sub(uint,uint)", + "signature": "796e3e3f", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uinta,uintb)internalpurereturns(uint){require(b\u003c=a,\"Subtraction underflow\");uintc=a-b;returnc;}" }, { "id": 68, @@ -1372,7 +1388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 81, @@ -1394,7 +1411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1447,7 +1465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -1545,7 +1564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 89, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 90, @@ -1565,7 +1585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 90, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1642,7 +1663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 96, @@ -1662,7 +1684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 96, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -1687,7 +1710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 97, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -1720,7 +1744,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Multiplication overflow\"" } ], "expression": { @@ -1741,7 +1766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1778,7 +1804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1950,13 +1977,14 @@ } ] }, - "signature_raw": "mul(uint, uint)", - "signature": "ffff81ec", + "signature_raw": "mul(uint,uint)", + "signature": "20949e90", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uinta,uintb)internalpurereturns(uint){if(a==0){return0;}uintc=a*b;require(c/a==b,\"Multiplication overflow\");returnc;}" }, { "id": 102, @@ -2048,7 +2076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 115, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 116, @@ -2070,7 +2099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2103,7 +2133,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Division by zero\"" } ], "expression": { @@ -2124,7 +2155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2223,7 +2255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 122, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 123, @@ -2243,7 +2276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 123, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2281,7 +2315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 118, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -2453,13 +2488,14 @@ } ] }, - "signature_raw": "div(uint, uint)", - "signature": "79ab634f", + "signature_raw": "div(uint,uint)", + "signature": "7011598a", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uinta,uintb)internalpurereturns(uint){require(b\u003e0,\"Division by zero\");uintc=a/b;returnc;}" } ], "linearized_base_contracts": [ @@ -2731,7 +2767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 149, @@ -2770,7 +2807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -2814,14 +2852,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -2836,7 +2876,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.add(x);" } ] }, @@ -2925,7 +2966,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionincrement(uintx)public{storedData=storedData.add(x);}" }, { "id": 154, @@ -3003,7 +3045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 163, @@ -3042,7 +3085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -3086,14 +3130,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -3108,7 +3154,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.sub(x);" } ] }, @@ -3197,7 +3244,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondecrement(uintx)public{storedData=storedData.sub(x);}" }, { "id": 168, @@ -3264,7 +3312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" } } ] @@ -3399,7 +3448,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionget()publicviewreturns(uint){returnstoredData;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/ast/SimpleStorage.solgo.ast.proto.json b/data/tests/ast/SimpleStorage.solgo.ast.proto.json index 13fd01c0..1f1780f3 100644 --- a/data/tests/ast/SimpleStorage.solgo.ast.proto.json +++ b/data/tests/ast/SimpleStorage.solgo.ast.proto.json @@ -777,7 +777,7 @@ } }, "scope": "16", - "signature": "9f313803", + "signature": "b8966352", "src": { "column": "4", "end": "355", @@ -1280,7 +1280,7 @@ } }, "scope": "16", - "signature": "b2c71209", + "signature": "796e3e3f", "src": { "column": "4", "end": "555", @@ -1960,7 +1960,7 @@ } }, "scope": "16", - "signature": "ffff81ec", + "signature": "20949e90", "src": { "column": "4", "end": "816", @@ -2465,7 +2465,7 @@ } }, "scope": "16", - "signature": "79ab634f", + "signature": "7011598a", "src": { "column": "4", "end": "1008", diff --git a/data/tests/ast/Token.solgo.ast.json b/data/tests/ast/Token.solgo.ast.json index 5151cd69..5e4c2227 100644 --- a/data/tests/ast/Token.solgo.ast.json +++ b/data/tests/ast/Token.solgo.ast.json @@ -358,7 +358,7 @@ "mutability": 1, "type_name": { "id": 824, - "node_type": 0, + "node_type": 53, "src": { "line": 175, "column": 4, @@ -450,7 +450,7 @@ "mutability": 1, "type_name": { "id": 828, - "node_type": 0, + "node_type": 53, "src": { "line": 177, "column": 4, @@ -1633,7 +1633,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 85, @@ -1802,7 +1803,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 94, @@ -2008,13 +2010,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 56, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 105, @@ -2221,13 +2224,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 56, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 116, @@ -2433,13 +2437,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 56, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 127, @@ -2689,13 +2694,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 56, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -2994,7 +3000,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 160, @@ -3162,7 +3169,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 169, @@ -3330,7 +3338,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ @@ -3532,14 +3541,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -3676,7 +3687,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 196, @@ -3766,14 +3778,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -3908,7 +3922,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -4108,7 +4123,7 @@ "mutability": 1, "type_name": { "id": 225, - "node_type": 0, + "node_type": 53, "src": { "line": 175, "column": 4, @@ -4201,7 +4216,7 @@ "mutability": 1, "type_name": { "id": 230, - "node_type": 0, + "node_type": 53, "src": { "line": 177, "column": 4, @@ -4636,7 +4651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 240, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 257, @@ -4656,7 +4672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -4666,7 +4683,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 258, @@ -4709,7 +4727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 243, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 261, @@ -4729,7 +4748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 261, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -4739,7 +4759,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -4809,7 +4830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 240, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -4963,7 +4985,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 275, @@ -5030,7 +5053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 243, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -5184,7 +5208,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 287, @@ -5253,7 +5278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -5407,7 +5433,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 299, @@ -5474,7 +5501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -5628,7 +5656,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 311, @@ -5706,7 +5735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 323, @@ -5726,7 +5756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -5896,7 +5927,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 325, @@ -6026,7 +6058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -6079,7 +6112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 336, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 344, @@ -6105,7 +6139,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 345, @@ -6135,7 +6170,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -6156,7 +6192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -6195,7 +6232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -6387,13 +6425,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_transfer(owner,to,amount);returntrue;}" }, { "id": 349, @@ -6482,7 +6521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 229, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 364, @@ -6502,7 +6542,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 364, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -6537,7 +6578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 365, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -6745,13 +6787,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 367, @@ -6881,7 +6924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -6934,7 +6978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 386, @@ -6960,7 +7005,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 387, @@ -6990,7 +7036,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7011,7 +7058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -7050,7 +7098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -7242,13 +7291,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_approve(owner,spender,amount);returntrue;}" }, { "id": 391, @@ -7378,7 +7428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -7431,7 +7482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 411, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 412, @@ -7457,7 +7509,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 413, @@ -7487,7 +7540,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7508,7 +7562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -7560,7 +7615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 416, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 417, @@ -7586,7 +7642,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 418, @@ -7616,7 +7673,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7637,7 +7695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -7676,7 +7735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -7912,13 +7972,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualoverridereturns(bool){addressspender=_msgSender();_spendAllowance(from,spender,amount);_transfer(from,to,amount);returntrue;}" }, { "id": 422, @@ -8048,7 +8109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -8101,7 +8163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 432, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 440, @@ -8127,7 +8190,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 441, @@ -8184,7 +8248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 432, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 445, @@ -8210,7 +8275,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -8231,7 +8297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -8256,7 +8323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 446, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -8282,7 +8350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -8321,7 +8390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -8494,13 +8564,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){addressowner=_msgSender();_approve(owner,spender,allowance(owner,spender)+addedValue);returntrue;}" }, { "id": 450, @@ -8630,7 +8701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -8739,7 +8811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 471, @@ -8765,7 +8838,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -8786,7 +8860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -8849,7 +8924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 476, @@ -8869,7 +8945,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 476, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -8902,7 +8979,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -8923,7 +9001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8962,7 +9041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -9024,7 +9104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 484, @@ -9050,7 +9131,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 485, @@ -9084,7 +9166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 487, @@ -9104,7 +9187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 487, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -9130,7 +9214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -9309,13 +9394,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){addressowner=_msgSender();uint256currentAllowance=allowance(owner,spender);require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(owner,spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 489, @@ -9407,7 +9493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 503, @@ -9448,7 +9535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9494,7 +9582,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9532,7 +9621,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -9553,7 +9643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9615,7 +9706,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 511, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 512, @@ -9656,7 +9748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9702,7 +9795,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9740,7 +9834,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -9761,7 +9856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9813,7 +9909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 520, @@ -9839,7 +9936,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 521, @@ -9869,7 +9967,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -9890,7 +9989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -9986,7 +10086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 527, @@ -10006,7 +10107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 527, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -10079,7 +10181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 522, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 532, @@ -10099,7 +10202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -10132,7 +10236,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -10153,7 +10258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10190,7 +10296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 535, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 536, @@ -10210,7 +10317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 536, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 537, @@ -10230,7 +10338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -10251,7 +10360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 58, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -10299,7 +10409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 541, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 542, @@ -10325,7 +10436,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 543, @@ -10355,7 +10467,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -10376,7 +10489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -10449,7 +10563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 549, @@ -10469,7 +10584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 549, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -10518,7 +10634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 522, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 552, @@ -10538,7 +10655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 552, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -10553,7 +10671,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 553, @@ -10607,7 +10726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 557, @@ -10627,7 +10747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 557, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -10662,7 +10783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 558, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -10672,7 +10794,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=amount;" } ] } @@ -10845,13 +10968,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(from,to,amount);uint256fromBalance=_balances[from];require(fromBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[from]=fromBalance-amount;_balances[to]+=amount;}emitTransfer(from,to,amount);_afterTokenTransfer(from,to,amount);}" }, { "id": 560, @@ -10943,7 +11067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 571, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 572, @@ -10984,7 +11109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -11030,7 +11156,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11068,7 +11195,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -11089,7 +11217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -11162,7 +11291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -11208,7 +11338,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11239,7 +11370,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 584, @@ -11269,7 +11401,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -11290,7 +11423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -11338,7 +11472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 588, @@ -11358,7 +11493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 588, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -11368,7 +11504,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 589, @@ -11421,7 +11558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -11467,7 +11605,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11492,7 +11631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 594, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 595, @@ -11512,7 +11652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 595, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -11533,7 +11674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 58, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -11602,7 +11744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -11648,7 +11791,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11679,7 +11823,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 604, @@ -11709,7 +11854,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -11730,7 +11876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -11803,7 +11950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 610, @@ -11823,7 +11971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 610, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -11858,7 +12007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 611, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -11868,7 +12018,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -11997,13 +12148,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;unchecked{_balances[account]+=amount;}emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 613, @@ -12095,7 +12247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 624, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 625, @@ -12136,7 +12289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12182,7 +12336,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12220,7 +12375,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -12241,7 +12397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -12293,7 +12450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 633, @@ -12334,7 +12492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12380,7 +12539,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12415,7 +12575,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -12436,7 +12597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -12532,7 +12694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 643, @@ -12552,7 +12715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 643, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -12625,7 +12789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 638, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 648, @@ -12645,7 +12810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 648, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -12678,7 +12844,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -12699,7 +12866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -12736,7 +12904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 651, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 652, @@ -12777,7 +12946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12823,7 +12993,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12848,7 +13019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 656, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -12869,7 +13041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 58, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -12917,7 +13090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 660, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 661, @@ -12958,7 +13132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -13004,7 +13179,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13039,7 +13215,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -13060,7 +13237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -13133,7 +13311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 671, @@ -13153,7 +13332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 671, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -13202,7 +13382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 638, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 674, @@ -13222,7 +13403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -13237,7 +13419,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 675, @@ -13280,7 +13463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 678, @@ -13300,7 +13484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 678, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -13310,7 +13495,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -13439,13 +13625,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;_totalSupply-=amount;}emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 680, @@ -13537,7 +13724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 693, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 694, @@ -13578,7 +13766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -13624,7 +13813,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13662,7 +13852,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -13683,7 +13874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13745,7 +13937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 703, @@ -13786,7 +13979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -13832,7 +14026,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13870,7 +14065,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -13891,7 +14087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13961,7 +14158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 229, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 713, @@ -13981,7 +14179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -14016,7 +14215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 714, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -14051,7 +14251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -14061,7 +14262,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 716, @@ -14093,7 +14295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 717, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 718, @@ -14113,7 +14316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 718, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 719, @@ -14133,7 +14337,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -14154,7 +14359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 67, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -14326,13 +14532,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 722, @@ -14470,7 +14677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 737, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 738, @@ -14496,7 +14704,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -14517,7 +14726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -14568,7 +14778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 732, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 742, @@ -14615,7 +14826,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -14691,7 +14903,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 749, @@ -14711,7 +14924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -14744,7 +14958,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -14765,7 +14980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -14944,13 +15160,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_spendAllowance(address, address, uint256)", - "signature": "2b81cb6e", + "signature_raw": "_spendAllowance(address,address,uint256)", + "signature": "1532335e", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_spendAllowance(addressowner,addressspender,uint256amount)internalvirtual{uint256currentAllowance=allowance(owner,spender);if(currentAllowance!=type(uint256).max){require(currentAllowance\u003e=amount,\"ERC20: insufficient allowance\");unchecked{_approve(owner,spender,currentAllowance-amount);}}}" }, { "id": 752, @@ -15155,13 +15372,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 763, @@ -15366,13 +15584,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 216, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" } ], "linearized_base_contracts": [ @@ -15651,7 +15870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"MyToken\"" }, { "id": 794, @@ -15673,7 +15893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"MTK\"" } ], "modifier_name": { @@ -15798,14 +16019,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 800, @@ -15841,7 +16064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000000" }, "right_expression": { "id": 803, @@ -15874,7 +16098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 805, @@ -15908,7 +16133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -15950,7 +16176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_1000000_by_1$", diff --git a/data/tests/ast/Token.solgo.ast.proto.json b/data/tests/ast/Token.solgo.ast.proto.json index 8369148c..f05ae799 100644 --- a/data/tests/ast/Token.solgo.ast.proto.json +++ b/data/tests/ast/Token.solgo.ast.proto.json @@ -352,6 +352,7 @@ "parentIndex": "824", "start": "5866" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "5884", @@ -440,6 +441,7 @@ "parentIndex": "828", "start": "5918" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "5956", @@ -1858,7 +1860,7 @@ } }, "scope": "56", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "1262", @@ -2046,7 +2048,7 @@ } }, "scope": "56", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "1620", @@ -2233,7 +2235,7 @@ } }, "scope": "56", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "2347", @@ -2459,7 +2461,7 @@ } }, "scope": "56", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "2733", @@ -3808,6 +3810,7 @@ "parentIndex": "225", "start": "5866" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "5884", @@ -3898,6 +3901,7 @@ "parentIndex": "230", "start": "5918" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "5956", @@ -6004,7 +6008,7 @@ } }, "scope": "216", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "8198", @@ -6356,7 +6360,7 @@ } }, "scope": "216", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "8405", @@ -6851,7 +6855,7 @@ } }, "scope": "216", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "8910", @@ -7520,7 +7524,7 @@ } }, "scope": "216", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "9728", @@ -8107,7 +8111,7 @@ } }, "scope": "216", - "signature": "0553e395", + "signature": "39509351", "src": { "column": "4", "end": "10357", @@ -8940,7 +8944,7 @@ } }, "scope": "216", - "signature": "26444acc", + "signature": "a457c2d7", "src": { "column": "4", "end": "11271", @@ -10539,7 +10543,7 @@ } }, "scope": "216", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "12513", @@ -11731,7 +11735,7 @@ } }, "scope": "216", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "13324", @@ -13233,7 +13237,7 @@ } }, "scope": "216", - "signature": "dd1607d7", + "signature": "6161eb18", "src": { "column": "4", "end": "14303", @@ -14143,7 +14147,7 @@ } }, "scope": "216", - "signature": "76c3ae3e", + "signature": "104e81ff", "src": { "column": "4", "end": "15066", @@ -14761,7 +14765,7 @@ } }, "scope": "216", - "signature": "2b81cb6e", + "signature": "1532335e", "src": { "column": "4", "end": "15758", @@ -14951,7 +14955,7 @@ } }, "scope": "216", - "signature": "03cc7b47", + "signature": "cad3be83", "src": { "column": "4", "end": "16433", @@ -15141,7 +15145,7 @@ } }, "scope": "216", - "signature": "41e6856b", + "signature": "8f811a1c", "src": { "column": "4", "end": "17111", diff --git a/data/tests/ast/TokenSale.solgo.ast.json b/data/tests/ast/TokenSale.solgo.ast.json index d490375b..b682009d 100644 --- a/data/tests/ast/TokenSale.solgo.ast.json +++ b/data/tests/ast/TokenSale.solgo.ast.json @@ -5,49 +5,131 @@ "globals": [ { "id": 487, + "name": "c", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 899, + "length": 9 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 488, + "node_type": 30, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 897, + "length": 7, + "parent_index": 487 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 489, + "name": "c", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1870, + "length": 9 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 490, + "node_type": 30, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1868, + "length": 7, + "parent_index": 489 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 491, "node_type": 57, "src": { - "line": 74, + "line": 306, "column": 4, - "start": 2414, - "end": 2485, + "start": 9514, + "end": 9585, "length": 72 }, "parameters": { - "id": 488, + "id": 492, "node_type": 43, "src": { - "line": 74, + "line": 306, "column": 4, - "start": 2414, - "end": 2485, + "start": 9514, + "end": 9585, "length": 72, - "parent_index": 487 + "parent_index": 491 }, "parameters": [ { - "id": 489, + "id": 493, "node_type": 44, "src": { - "line": 74, + "line": 306, "column": 19, - "start": 2429, - "end": 2448, + "start": 9529, + "end": 9548, "length": 20, - "parent_index": 488 + "parent_index": 492 }, - "scope": 487, + "scope": 491, "name": "from", "type_name": { - "id": 490, + "id": 494, "node_type": 30, "src": { - "line": 74, + "line": 306, "column": 19, - "start": 2429, - "end": 2435, + "start": 9529, + "end": 9535, "length": 7, - "parent_index": 489 + "parent_index": 493 }, "name": "address", "state_mutability": 4, @@ -67,28 +149,28 @@ "indexed": true }, { - "id": 491, + "id": 495, "node_type": 44, "src": { - "line": 74, + "line": 306, "column": 41, - "start": 2451, - "end": 2468, + "start": 9551, + "end": 9568, "length": 18, - "parent_index": 488 + "parent_index": 492 }, - "scope": 487, + "scope": 491, "name": "to", "type_name": { - "id": 492, + "id": 496, "node_type": 30, "src": { - "line": 74, + "line": 306, "column": 41, - "start": 2451, - "end": 2457, + "start": 9551, + "end": 9557, "length": 7, - "parent_index": 491 + "parent_index": 495 }, "name": "address", "state_mutability": 4, @@ -108,28 +190,28 @@ "indexed": true }, { - "id": 493, + "id": 497, "node_type": 44, "src": { - "line": 74, + "line": 306, "column": 61, - "start": 2471, - "end": 2483, + "start": 9571, + "end": 9583, "length": 13, - "parent_index": 488 + "parent_index": 492 }, - "scope": 487, + "scope": 491, "name": "value", "type_name": { - "id": 494, + "id": 498, "node_type": 30, "src": { - "line": 74, + "line": 306, "column": 61, - "start": 2471, - "end": 2477, + "start": 9571, + "end": 9577, "length": 7, - "parent_index": 493 + "parent_index": 497 }, "name": "uint256", "referenced_declaration": 0, @@ -165,55 +247,55 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Transfer_\u0026487", + "type_identifier": "t_event\u0026_Global_Transfer_\u0026491", "type_string": "event Global.Transfer" } }, { - "id": 495, + "id": 499, "node_type": 57, "src": { - "line": 80, + "line": 312, "column": 4, - "start": 2645, - "end": 2722, + "start": 9745, + "end": 9822, "length": 78 }, "parameters": { - "id": 496, + "id": 500, "node_type": 43, "src": { - "line": 80, + "line": 312, "column": 4, - "start": 2645, - "end": 2722, + "start": 9745, + "end": 9822, "length": 78, - "parent_index": 495 + "parent_index": 499 }, "parameters": [ { - "id": 497, + "id": 501, "node_type": 44, "src": { - "line": 80, + "line": 312, "column": 19, - "start": 2660, - "end": 2680, + "start": 9760, + "end": 9780, "length": 21, - "parent_index": 496 + "parent_index": 500 }, - "scope": 495, + "scope": 499, "name": "owner", "type_name": { - "id": 498, + "id": 502, "node_type": 30, "src": { - "line": 80, + "line": 312, "column": 19, - "start": 2660, - "end": 2666, + "start": 9760, + "end": 9766, "length": 7, - "parent_index": 497 + "parent_index": 501 }, "name": "address", "state_mutability": 4, @@ -233,28 +315,28 @@ "indexed": true }, { - "id": 499, + "id": 503, "node_type": 44, "src": { - "line": 80, + "line": 312, "column": 42, - "start": 2683, - "end": 2705, + "start": 9783, + "end": 9805, "length": 23, - "parent_index": 496 + "parent_index": 500 }, - "scope": 495, + "scope": 499, "name": "spender", "type_name": { - "id": 500, + "id": 504, "node_type": 30, "src": { - "line": 80, + "line": 312, "column": 42, - "start": 2683, - "end": 2689, + "start": 9783, + "end": 9789, "length": 7, - "parent_index": 499 + "parent_index": 503 }, "name": "address", "state_mutability": 4, @@ -274,28 +356,28 @@ "indexed": true }, { - "id": 501, + "id": 505, "node_type": 44, "src": { - "line": 80, + "line": 312, "column": 67, - "start": 2708, - "end": 2720, + "start": 9808, + "end": 9820, "length": 13, - "parent_index": 496 + "parent_index": 500 }, - "scope": 495, + "scope": 499, "name": "value", "type_name": { - "id": 502, + "id": 506, "node_type": 30, "src": { - "line": 80, + "line": 312, "column": 67, - "start": 2708, - "end": 2714, + "start": 9808, + "end": 9814, "length": 7, - "parent_index": 501 + "parent_index": 505 }, "name": "uint256", "referenced_declaration": 0, @@ -331,92 +413,10 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Approval_\u0026495", + "type_identifier": "t_event\u0026_Global_Approval_\u0026499", "type_string": "event Global.Approval" } }, - { - "id": 503, - "name": "c", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3626, - "length": 9 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 504, - "node_type": 30, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3624, - "length": 7, - "parent_index": 503 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, - { - "id": 505, - "name": "c", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4597, - "length": 9 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 506, - "node_type": 30, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4595, - "length": 7, - "parent_index": 505 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, { "id": 507, "name": "token", @@ -432,7 +432,7 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "visibility": 2, @@ -453,7 +453,7 @@ "id": 509, "name": "IERC20", "node_type": 52, - "referenced_declaration": 31, + "referenced_declaration": 321, "src": { "line": 324, "column": 4, @@ -471,9 +471,9 @@ "parent_index": 508 } }, - "referenced_declaration": 31, + "referenced_declaration": 321, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, @@ -732,12 +732,12 @@ "exported_symbols": [ { "id": 31, - "name": "IERC20", - "absolute_path": "IERC20.sol" + "name": "SafeMath", + "absolute_path": "SafeMath.sol" } ], - "absolute_path": "IERC20.sol", - "name": "IERC20", + "absolute_path": "SafeMath.sol", + "name": "SafeMath", "node_type": 1, "nodes": [ { @@ -765,1387 +765,448 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 35, - "name": "IERC20", + "id": 33, + "name": "SafeMath", "node_type": 35, "src": { - "line": 8, + "line": 18, "column": 0, - "start": 129, - "end": 2724, - "length": 2596, + "start": 622, + "end": 7097, + "length": 6476, "parent_index": 31 }, "name_location": { - "line": 8, - "column": 10, - "start": 139, - "end": 144, - "length": 6, - "parent_index": 35 + "line": 18, + "column": 8, + "start": 630, + "end": 637, + "length": 8, + "parent_index": 33 }, "abstract": false, - "kind": 38, + "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 37, - "name": "totalSupply", + "id": 35, + "name": "tryAdd", "node_type": 42, "kind": 41, "src": { - "line": 12, + "line": 24, "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 35 + "start": 781, + "end": 996, + "length": 216, + "parent_index": 33 }, "name_location": { - "line": 12, + "line": 24, "column": 13, - "start": 232, - "end": 242, - "length": 11, - "parent_index": 37 + "start": 790, + "end": 795, + "length": 6, + "parent_index": 35 }, "body": { - "id": 44, + "id": 46, "node_type": 46, "kind": 0, "src": { - "line": 12, - "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 37 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 38, - "node_type": 43, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 37 - }, - "parameters": [ - { - "id": 39, - "node_type": 44, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 38 - }, - "scope": 37, - "name": "", - "type_name": { - "id": 40, - "node_type": 30, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 39 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 41, - "node_type": 43, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 37 + "line": 24, + "column": 80, + "start": 857, + "end": 996, + "length": 140, + "parent_index": 35 }, - "parameters": [ + "implemented": true, + "statements": [ { - "id": 42, - "node_type": 44, + "id": 47, + "node_type": 59, + "kind": 0, "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 41 + "line": 25, + "column": 8, + "start": 867, + "end": 990, + "length": 124, + "parent_index": 33 }, - "scope": 37, - "name": "", - "type_name": { - "id": 43, - "node_type": 30, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 42 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "totalSupply(uint256)", - "signature": "bd85b039", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - }, - { - "id": 46, - "name": "balanceOf", - "node_type": 42, - "kind": 41, - "src": { - "line": 17, - "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 35 - }, - "name_location": { - "line": 17, - "column": 13, - "start": 370, - "end": 378, - "length": 9, - "parent_index": 46 - }, - "body": { - "id": 53, - "node_type": 46, - "kind": 0, - "src": { - "line": 17, - "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 46 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 47, - "node_type": 43, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 394, - "length": 15, - "parent_index": 46 - }, - "parameters": [ - { - "id": 48, - "node_type": 44, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 394, - "length": 15, - "parent_index": 47 - }, - "scope": 46, - "name": "account", - "type_name": { - "id": 49, - "node_type": 30, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 386, - "length": 7, - "parent_index": 48 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "return_parameters": { - "id": 50, - "node_type": 43, - "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 46 - }, - "parameters": [ - { - "id": 51, - "node_type": 44, - "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 50 - }, - "scope": 46, - "name": "", - "type_name": { - "id": 52, - "node_type": 30, - "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 51 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "balanceOf(address)", - "signature": "70a08231", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - { - "id": 55, - "name": "transfer", - "node_type": 42, - "kind": 41, - "src": { - "line": 26, - "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 35 - }, - "name_location": { - "line": 26, - "column": 13, - "start": 658, - "end": 665, - "length": 8, - "parent_index": 55 - }, - "body": { - "id": 64, - "node_type": 46, - "kind": 0, - "src": { - "line": 26, - "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 55 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 56, - "node_type": 43, - "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 699, - "length": 33, - "parent_index": 55 - }, - "parameters": [ - { - "id": 57, - "node_type": 44, - "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 683, - "length": 17, - "parent_index": 56 - }, - "scope": 55, - "name": "recipient", - "type_name": { - "id": 58, - "node_type": 30, - "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 673, - "length": 7, - "parent_index": 57 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 59, - "node_type": 44, - "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 699, - "length": 14, - "parent_index": 56 - }, - "scope": 55, - "name": "amount", - "type_name": { - "id": 60, - "node_type": 30, - "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 692, - "length": 7, - "parent_index": 59 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 61, - "node_type": 43, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 55 - }, - "parameters": [ - { - "id": 62, - "node_type": 44, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 61 - }, - "scope": 55, - "name": "", - "type_name": { - "id": 63, - "node_type": 30, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 62 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } - }, - { - "id": 66, - "name": "allowance", - "node_type": 42, - "kind": 41, - "src": { - "line": 35, - "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 35 - }, - "name_location": { - "line": 35, - "column": 13, - "start": 1010, - "end": 1018, - "length": 9, - "parent_index": 66 - }, - "body": { - "id": 75, - "node_type": 46, - "kind": 0, - "src": { - "line": 35, - "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 66 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 67, - "node_type": 43, - "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1049, - "length": 30, - "parent_index": 66 - }, - "parameters": [ - { - "id": 68, - "node_type": 44, - "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1032, - "length": 13, - "parent_index": 67 - }, - "scope": 66, - "name": "owner", - "type_name": { - "id": 69, - "node_type": 30, - "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1026, - "length": 7, - "parent_index": 68 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 70, - "node_type": 44, - "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1049, - "length": 15, - "parent_index": 67 - }, - "scope": 66, - "name": "spender", - "type_name": { - "id": 71, - "node_type": 30, - "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1041, - "length": 7, - "parent_index": 70 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "return_parameters": { - "id": 72, - "node_type": 43, - "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 66 - }, - "parameters": [ - { - "id": 73, - "node_type": 44, - "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 72 - }, - "scope": 66, - "name": "", - "type_name": { - "id": 74, - "node_type": 30, - "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 73 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } - }, - { - "id": 77, - "name": "approve", - "node_type": 42, - "kind": 41, - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 35 - }, - "name_location": { - "line": 51, - "column": 13, - "start": 1746, - "end": 1752, - "length": 7, - "parent_index": 77 - }, - "body": { - "id": 86, - "node_type": 46, - "kind": 0, - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 77 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 78, - "node_type": 43, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1784, - "length": 31, - "parent_index": 77 - }, - "parameters": [ - { - "id": 79, - "node_type": 44, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1768, - "length": 15, - "parent_index": 78 - }, - "scope": 77, - "name": "spender", - "type_name": { - "id": 80, - "node_type": 30, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1760, - "length": 7, - "parent_index": 79 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 81, - "node_type": 44, - "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1784, - "length": 14, - "parent_index": 78 - }, - "scope": 77, - "name": "amount", - "type_name": { - "id": 82, - "node_type": 30, - "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1777, - "length": 7, - "parent_index": 81 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 83, - "node_type": 43, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 77 - }, - "parameters": [ - { - "id": 84, - "node_type": 44, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 83 - }, - "scope": 77, - "name": "", - "type_name": { - "id": 85, - "node_type": 30, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 84 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } - }, - { - "id": 88, - "name": "transferFrom", - "node_type": 42, - "kind": 41, - "src": { - "line": 62, - "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 35 - }, - "name_location": { - "line": 62, - "column": 13, - "start": 2127, - "end": 2138, - "length": 12, - "parent_index": 88 - }, - "body": { - "id": 99, - "node_type": 46, - "kind": 0, - "src": { - "line": 62, - "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 88 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 89, - "node_type": 43, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2213, - "length": 65, - "parent_index": 88 - }, - "parameters": [ - { - "id": 90, - "node_type": 44, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2162, - "length": 14, - "parent_index": 89 - }, - "scope": 88, - "name": "sender", - "type_name": { - "id": 91, - "node_type": 30, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2155, - "length": 7, - "parent_index": 90 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 92, - "node_type": 44, - "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2189, - "length": 17, - "parent_index": 89 - }, - "scope": 88, - "name": "recipient", - "type_name": { - "id": 93, - "node_type": 30, - "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2179, - "length": 7, - "parent_index": 92 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 94, - "node_type": 44, - "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2213, - "length": 14, - "parent_index": 89 - }, - "scope": 88, - "name": "amount", - "type_name": { - "id": 95, - "node_type": 30, - "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2206, - "length": 7, - "parent_index": 94 + "implemented": false, + "statements": [ + { + "id": 48, + "node_type": 44, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 908, + "length": 18, + "parent_index": 47 + }, + "assignments": [ + 49 + ], + "declarations": [ + { + "id": 49, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 47, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 899, + "length": 9, + "parent_index": 48 + }, + "name_location": { + "line": 26, + "column": 20, + "start": 899, + "end": 899, + "length": 1, + "parent_index": 49 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 50, + "node_type": 30, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 897, + "length": 7, + "parent_index": 49 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 51, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 26, + "column": 24, + "start": 903, + "end": 907, + "length": 5, + "parent_index": 48 + }, + "operator": 1, + "left_expression": { + "id": 52, + "node_type": 16, + "src": { + "line": 26, + "column": 24, + "start": 903, + "end": 903, + "length": 1, + "parent_index": 51 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 52, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 53, + "node_type": 16, + "src": { + "line": 26, + "column": 28, + "start": 907, + "end": 907, + "length": 1, + "parent_index": 51 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 53, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 96, - "node_type": 43, - "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 88 - }, - "parameters": [ - { - "id": 97, - "node_type": 44, - "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 96 - }, - "scope": 88, - "name": "", - "type_name": { - "id": 98, - "node_type": 30, - "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 97 + { + "id": 54, + "node_type": 48, + "src": { + "line": 27, + "column": 0, + "start": 922, + "end": 950, + "length": 29, + "parent_index": 47 + }, + "condition": { + "id": 55, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 27, + "column": 16, + "start": 926, + "end": 930, + "length": 5, + "parent_index": 54 + }, + "operator": 9, + "left_expression": { + "id": 56, + "node_type": 16, + "src": { + "line": 27, + "column": 16, + "start": 926, + "end": 926, + "length": 1, + "parent_index": 55 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 57, + "node_type": 16, + "src": { + "line": 27, + "column": 20, + "start": 930, + "end": 930, + "length": 1, + "parent_index": 55 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 57, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 58, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + { + "id": 59, + "node_type": 47, + "src": { + "line": 28, + "column": 12, + "start": 964, + "end": 980, + "length": 17, + "parent_index": 35 + }, + "function_return_parameters": 35, + "expression": { + "id": 60, + "node_type": 60, + "src": { + "line": 28, + "column": 19, + "start": 971, + "end": 979, + "length": 9, + "parent_index": 59 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 61, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 28, + "column": 20, + "start": 972, + "end": 975, + "length": 4, + "parent_index": 60 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 62, + "node_type": 16, + "src": { + "line": 28, + "column": 26, + "start": 978, + "end": 978, + "length": 1, + "parent_index": 60 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" + ] } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", - "type_string": "function(address,address,uint256)" - } - }, - { - "id": 101, - "node_type": 57, - "src": { - "line": 74, - "column": 4, - "start": 2414, - "end": 2485, - "length": 72, - "parent_index": 35 - }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], "parameters": { - "id": 102, + "id": 36, "node_type": 43, "src": { - "line": 74, - "column": 4, - "start": 2414, - "end": 2485, - "length": 72, - "parent_index": 101 + "line": 24, + "column": 20, + "start": 797, + "end": 816, + "length": 20, + "parent_index": 35 }, "parameters": [ { - "id": 103, - "node_type": 44, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2448, - "length": 20, - "parent_index": 102 - }, - "scope": 101, - "name": "from", - "type_name": { - "id": 104, - "node_type": 30, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2435, - "length": 7, - "parent_index": 103 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 105, + "id": 37, "node_type": 44, "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2468, - "length": 18, - "parent_index": 102 + "line": 24, + "column": 20, + "start": 797, + "end": 805, + "length": 9, + "parent_index": 36 }, - "scope": 101, - "name": "to", + "scope": 35, + "name": "a", "type_name": { - "id": 106, + "id": 38, "node_type": 30, "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2457, + "line": 24, + "column": 20, + "start": 797, + "end": 803, "length": 7, - "parent_index": 105 + "parent_index": 37 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, { - "id": 107, + "id": 39, "node_type": 44, "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2483, - "length": 13, - "parent_index": 102 + "line": 24, + "column": 31, + "start": 808, + "end": 816, + "length": 9, + "parent_index": 36 }, - "scope": 101, - "name": "value", + "scope": 35, + "name": "b", "type_name": { - "id": 108, + "id": 40, "node_type": 30, "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2477, + "line": 24, + "column": 31, + "start": 808, + "end": 814, "length": 7, - "parent_index": 107 + "parent_index": 39 }, "name": "uint256", "referenced_declaration": 0, @@ -2165,154 +1226,89 @@ ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "name": "Transfer", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026101", - "type_string": "event IERC20.Transfer" - } - }, - { - "id": 110, - "node_type": 57, - "src": { - "line": 80, - "column": 4, - "start": 2645, - "end": 2722, - "length": 78, - "parent_index": 35 - }, - "parameters": { - "id": 111, - "node_type": 43, - "src": { - "line": 80, - "column": 4, - "start": 2645, - "end": 2722, - "length": 78, - "parent_index": 110 - }, - "parameters": [ - { - "id": 112, - "node_type": 44, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2680, - "length": 21, - "parent_index": 111 - }, - "scope": 110, - "name": "owner", - "type_name": { - "id": 113, - "node_type": 30, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2666, - "length": 7, - "parent_index": 112 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true + "type_identifier": "t_uint256", + "type_string": "uint256" }, { - "id": 114, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 41, + "node_type": 43, + "src": { + "line": 24, + "column": 65, + "start": 842, + "end": 854, + "length": 13, + "parent_index": 35 + }, + "parameters": [ + { + "id": 42, "node_type": 44, "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2705, - "length": 23, - "parent_index": 111 + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 41 }, - "scope": 110, - "name": "spender", + "scope": 35, + "name": "", "type_name": { - "id": 115, + "id": 43, "node_type": 30, "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2689, - "length": 7, - "parent_index": 114 + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 42 }, - "name": "address", - "state_mutability": 4, + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true + "type_identifier": "t_bool", + "type_string": "bool" + } }, { - "id": 116, + "id": 44, "node_type": 44, "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2720, - "length": 13, - "parent_index": 111 + "line": 24, + "column": 71, + "start": 848, + "end": 854, + "length": 7, + "parent_index": 41 }, - "scope": 110, - "name": "value", + "scope": 35, + "name": "", "type_name": { - "id": 117, + "id": 45, "node_type": 30, "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2714, + "line": 24, + "column": 71, + "start": 848, + "end": 854, "length": 7, - "parent_index": 116 + "parent_index": 44 }, "name": "uint256", "referenced_declaration": 0, @@ -2332,12 +1328,8 @@ ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" }, { "type_identifier": "t_uint256", @@ -2345,317 +1337,120 @@ } ] }, - "name": "Approval", - "anonymous": false, + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", + "scope": 33, "type_description": { - "type_identifier": "t_event\u0026_IERC20_Approval_\u0026110", - "type_string": "event IERC20.Approval" - } - } - ], - "linearized_base_contracts": [ - 35 - ], - "base_contracts": [], - "contract_dependencies": [] - } - ], - "src": { - "line": 8, - "column": 0, - "start": 129, - "end": 2724, - "length": 2596, - "parent_index": 30 - } - }, - { - "id": 118, - "base_contracts": [], - "license": "MIT", - "exported_symbols": [ - { - "id": 118, - "name": "SafeMath", - "absolute_path": "SafeMath.sol" - } - ], - "absolute_path": "SafeMath.sol", - "name": "SafeMath", - "node_type": 1, - "nodes": [ - { - "id": 120, - "node_type": 10, - "src": { - "line": 85, - "column": 0, - "start": 2760, - "end": 2782, - "length": 23, - "parent_index": 118 - }, - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" - ], - "text": "pragma solidity ^0.8.0;" - }, - { - "id": 121, - "name": "SafeMath", - "node_type": 35, - "src": { - "line": 100, - "column": 0, - "start": 3349, - "end": 9824, - "length": 6476, - "parent_index": 118 - }, - "name_location": { - "line": 100, - "column": 8, - "start": 3357, - "end": 3364, - "length": 8, - "parent_index": 121 - }, - "abstract": false, - "kind": 37, - "fully_implemented": true, - "nodes": [ + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" + }, { - "id": 123, - "name": "tryAdd", + "id": 64, + "name": "trySub", "node_type": 42, "kind": 41, "src": { - "line": 106, + "line": 37, "column": 4, - "start": 3508, - "end": 3723, - "length": 216, - "parent_index": 121 + "start": 1143, + "end": 1331, + "length": 189, + "parent_index": 33 }, "name_location": { - "line": 106, + "line": 37, "column": 13, - "start": 3517, - "end": 3522, + "start": 1152, + "end": 1157, "length": 6, - "parent_index": 123 + "parent_index": 64 }, "body": { - "id": 134, + "id": 75, "node_type": 46, "kind": 0, "src": { - "line": 106, + "line": 37, "column": 80, - "start": 3584, - "end": 3723, - "length": 140, - "parent_index": 123 + "start": 1219, + "end": 1331, + "length": 113, + "parent_index": 64 }, "implemented": true, "statements": [ { - "id": 135, + "id": 76, "node_type": 59, "kind": 0, "src": { - "line": 107, + "line": 38, "column": 8, - "start": 3594, - "end": 3717, - "length": 124, - "parent_index": 121 + "start": 1229, + "end": 1325, + "length": 97, + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 136, - "node_type": 44, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3635, - "length": 18, - "parent_index": 135 - }, - "assignments": [ - 137 - ], - "declarations": [ - { - "id": 137, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 135, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3626, - "length": 9, - "parent_index": 136 - }, - "name_location": { - "line": 108, - "column": 20, - "start": 3626, - "end": 3626, - "length": 1, - "parent_index": 137 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 138, - "node_type": 30, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3624, - "length": 7, - "parent_index": 137 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 139, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3634, - "length": 5, - "parent_index": 136 - }, - "operator": 1, - "left_expression": { - "id": 140, - "node_type": 16, - "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3630, - "length": 1, - "parent_index": 139 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 140, - "is_pure": false - }, - "right_expression": { - "id": 141, - "node_type": 16, - "src": { - "line": 108, - "column": 28, - "start": 3634, - "end": 3634, - "length": 1, - "parent_index": 139 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 141, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - }, - { - "id": 142, + "id": 77, "node_type": 48, "src": { - "line": 109, + "line": 39, "column": 0, - "start": 3649, - "end": 3677, + "start": 1253, + "end": 1281, "length": 29, - "parent_index": 135 + "parent_index": 76 }, "condition": { - "id": 143, + "id": 78, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 109, + "line": 39, "column": 16, - "start": 3653, - "end": 3657, + "start": 1257, + "end": 1261, "length": 5, - "parent_index": 142 + "parent_index": 77 }, - "operator": 9, + "operator": 7, "left_expression": { - "id": 144, + "id": 79, "node_type": 16, "src": { - "line": 109, + "line": 39, "column": 16, - "start": 3653, - "end": 3653, + "start": 1257, + "end": 1257, "length": 1, - "parent_index": 143 + "parent_index": 78 }, - "name": "c", + "name": "b", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false + "referenced_declaration": 79, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 145, + "id": 80, "node_type": 16, "src": { - "line": 109, + "line": 39, "column": 20, - "start": 3657, - "end": 3657, + "start": 1261, + "end": 1261, "length": 1, - "parent_index": 143 + "parent_index": 78 }, "name": "a", "type_description": { @@ -2663,8 +1458,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 145, - "is_pure": false + "referenced_declaration": 80, + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -2672,7 +1468,7 @@ } }, "body": { - "id": 146, + "id": 81, "node_type": 46, "kind": 0, "src": { @@ -2687,44 +1483,44 @@ } }, { - "id": 147, + "id": 82, "node_type": 47, "src": { - "line": 110, + "line": 40, "column": 12, - "start": 3691, - "end": 3707, - "length": 17, - "parent_index": 123 + "start": 1295, + "end": 1315, + "length": 21, + "parent_index": 64 }, - "function_return_parameters": 123, + "function_return_parameters": 64, "expression": { - "id": 148, + "id": 83, "node_type": 60, "src": { - "line": 110, + "line": 40, "column": 19, - "start": 3698, - "end": 3706, - "length": 9, - "parent_index": 147 + "start": 1302, + "end": 1314, + "length": 13, + "parent_index": 82 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 149, + "id": 84, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 110, + "line": 40, "column": 20, - "start": 3699, - "end": 3702, + "start": 1303, + "end": 1306, "length": 4, - "parent_index": 148 + "parent_index": 83 }, "type_description": { "type_identifier": "t_bool", @@ -2732,27 +1528,69 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 150, - "node_type": 16, + "id": 85, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 110, + "line": 40, "column": 26, - "start": 3705, - "end": 3705, - "length": 1, - "parent_index": 148 + "start": 1309, + "end": 1313, + "length": 5, + "parent_index": 83 + }, + "operator": 2, + "left_expression": { + "id": 86, + "node_type": 16, + "src": { + "line": 40, + "column": 26, + "start": 1309, + "end": 1309, + "length": 1, + "parent_index": 85 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 86, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 87, + "node_type": 16, + "src": { + "line": 40, + "column": 30, + "start": 1313, + "end": 1313, + "length": 1, + "parent_index": 85 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 87, + "is_pure": false, + "text": "b" }, - "name": "c", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false + } } ], "type_description": { @@ -2772,40 +1610,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 124, + "id": 65, "node_type": 43, "src": { - "line": 106, + "line": 37, "column": 20, - "start": 3524, - "end": 3543, + "start": 1159, + "end": 1178, "length": 20, - "parent_index": 123 + "parent_index": 64 }, "parameters": [ { - "id": 125, + "id": 66, "node_type": 44, "src": { - "line": 106, + "line": 37, "column": 20, - "start": 3524, - "end": 3532, + "start": 1159, + "end": 1167, "length": 9, - "parent_index": 124 + "parent_index": 65 }, - "scope": 123, + "scope": 64, "name": "a", "type_name": { - "id": 126, + "id": 67, "node_type": 30, "src": { - "line": 106, + "line": 37, "column": 20, - "start": 3524, - "end": 3530, + "start": 1159, + "end": 1165, "length": 7, - "parent_index": 125 + "parent_index": 66 }, "name": "uint256", "referenced_declaration": 0, @@ -2823,28 +1661,28 @@ } }, { - "id": 127, + "id": 68, "node_type": 44, "src": { - "line": 106, + "line": 37, "column": 31, - "start": 3535, - "end": 3543, + "start": 1170, + "end": 1178, "length": 9, - "parent_index": 124 + "parent_index": 65 }, - "scope": 123, + "scope": 64, "name": "b", "type_name": { - "id": 128, + "id": 69, "node_type": 30, "src": { - "line": 106, + "line": 37, "column": 31, - "start": 3535, - "end": 3541, + "start": 1170, + "end": 1176, "length": 7, - "parent_index": 127 + "parent_index": 68 }, "name": "uint256", "referenced_declaration": 0, @@ -2874,40 +1712,40 @@ ] }, "return_parameters": { - "id": 129, + "id": 70, "node_type": 43, "src": { - "line": 106, + "line": 37, "column": 65, - "start": 3569, - "end": 3581, + "start": 1204, + "end": 1216, "length": 13, - "parent_index": 123 + "parent_index": 64 }, "parameters": [ { - "id": 130, + "id": 71, "node_type": 44, "src": { - "line": 106, + "line": 37, "column": 65, - "start": 3569, - "end": 3572, + "start": 1204, + "end": 1207, "length": 4, - "parent_index": 129 + "parent_index": 70 }, - "scope": 123, + "scope": 64, "name": "", "type_name": { - "id": 131, + "id": 72, "node_type": 30, "src": { - "line": 106, + "line": 37, "column": 65, - "start": 3569, - "end": 3572, + "start": 1204, + "end": 1207, "length": 4, - "parent_index": 130 + "parent_index": 71 }, "name": "bool", "referenced_declaration": 0, @@ -2925,28 +1763,28 @@ } }, { - "id": 132, + "id": 73, "node_type": 44, "src": { - "line": 106, + "line": 37, "column": 71, - "start": 3575, - "end": 3581, + "start": 1210, + "end": 1216, "length": 7, - "parent_index": 129 + "parent_index": 70 }, - "scope": 123, + "scope": 64, "name": "", "type_name": { - "id": 133, + "id": 74, "node_type": 30, "src": { - "line": 106, + "line": 37, "column": 71, - "start": 3575, - "end": 3581, + "start": 1210, + "end": 1216, "length": 7, - "parent_index": 132 + "parent_index": 73 }, "name": "uint256", "referenced_declaration": 0, @@ -2975,118 +1813,237 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", - "scope": 121, + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, { - "id": 152, - "name": "trySub", + "id": 89, + "name": "tryMul", "node_type": 42, "kind": 41, "src": { - "line": 119, + "line": 49, "column": 4, - "start": 3870, - "end": 4058, - "length": 189, - "parent_index": 121 + "start": 1480, + "end": 1972, + "length": 493, + "parent_index": 33 }, "name_location": { - "line": 119, + "line": 49, "column": 13, - "start": 3879, - "end": 3884, + "start": 1489, + "end": 1494, "length": 6, - "parent_index": 152 + "parent_index": 89 }, "body": { - "id": 163, + "id": 100, "node_type": 46, "kind": 0, "src": { - "line": 119, + "line": 49, "column": 80, - "start": 3946, - "end": 4058, - "length": 113, - "parent_index": 152 + "start": 1556, + "end": 1972, + "length": 417, + "parent_index": 89 }, "implemented": true, "statements": [ { - "id": 164, + "id": 101, "node_type": 59, "kind": 0, "src": { - "line": 120, + "line": 50, "column": 8, - "start": 3956, - "end": 4052, - "length": 97, - "parent_index": 121 + "start": 1566, + "end": 1966, + "length": 401, + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 165, + "id": 102, "node_type": 48, "src": { - "line": 121, + "line": 54, "column": 0, - "start": 3980, - "end": 4008, + "start": 1820, + "end": 1848, "length": 29, - "parent_index": 164 + "parent_index": 101 }, "condition": { - "id": 166, + "id": 103, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 121, + "line": 54, "column": 16, - "start": 3984, - "end": 3988, - "length": 5, - "parent_index": 165 + "start": 1824, + "end": 1829, + "length": 6, + "parent_index": 102 }, - "operator": 7, + "operator": 11, "left_expression": { - "id": 167, + "id": 104, "node_type": 16, "src": { - "line": 121, + "line": 54, "column": 16, - "start": 3984, - "end": 3984, + "start": 1824, + "end": 1824, "length": 1, - "parent_index": 166 + "parent_index": 103 }, - "name": "b", + "name": "a", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 167, - "is_pure": false + "referenced_declaration": 104, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 168, - "node_type": 16, + "id": 105, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 54, + "column": 21, + "start": 1829, + "end": 1829, + "length": 1, + "parent_index": 103 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 106, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 107, + "node_type": 44, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1879, + "length": 18, + "parent_index": 101 + }, + "assignments": [ + 108 + ], + "declarations": [ + { + "id": 108, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 101, "src": { - "line": 121, + "line": 55, + "column": 12, + "start": 1862, + "end": 1870, + "length": 9, + "parent_index": 107 + }, + "name_location": { + "line": 55, "column": 20, - "start": 3988, - "end": 3988, + "start": 1870, + "end": 1870, + "length": 1, + "parent_index": 108 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 109, + "node_type": 30, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1868, + "length": 7, + "parent_index": 108 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 110, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 55, + "column": 24, + "start": 1874, + "end": 1878, + "length": 5, + "parent_index": 107 + }, + "operator": 3, + "left_expression": { + "id": 111, + "node_type": 16, + "src": { + "line": 55, + "column": 24, + "start": 1874, + "end": 1874, "length": 1, - "parent_index": 166 + "parent_index": 110 }, "name": "a", "type_description": { @@ -3094,8 +2051,143 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 168, - "is_pure": false + "referenced_declaration": 111, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 112, + "node_type": 16, + "src": { + "line": 55, + "column": 28, + "start": 1878, + "end": 1878, + "length": 1, + "parent_index": 110 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 112, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + }, + { + "id": 113, + "node_type": 48, + "src": { + "line": 56, + "column": 0, + "start": 1893, + "end": 1926, + "length": 34, + "parent_index": 101 + }, + "condition": { + "id": 114, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1906, + "length": 10, + "parent_index": 113 + }, + "operator": 12, + "left_expression": { + "id": 115, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1901, + "length": 5, + "parent_index": 114 + }, + "operator": 4, + "left_expression": { + "id": 116, + "node_type": 16, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1897, + "length": 1, + "parent_index": 115 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 117, + "node_type": 16, + "src": { + "line": 56, + "column": 20, + "start": 1901, + "end": 1901, + "length": 1, + "parent_index": 115 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 117, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "right_expression": { + "id": 118, + "node_type": 16, + "src": { + "line": 56, + "column": 25, + "start": 1906, + "end": 1906, + "length": 1, + "parent_index": 114 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 118, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -3103,7 +2195,7 @@ } }, "body": { - "id": 169, + "id": 119, "node_type": 46, "kind": 0, "src": { @@ -3118,111 +2210,74 @@ } }, { - "id": 170, + "id": 120, "node_type": 47, "src": { - "line": 122, + "line": 57, "column": 12, - "start": 4022, - "end": 4042, - "length": 21, - "parent_index": 152 + "start": 1940, + "end": 1956, + "length": 17, + "parent_index": 89 }, - "function_return_parameters": 152, + "function_return_parameters": 89, "expression": { - "id": 171, + "id": 121, "node_type": 60, "src": { - "line": 122, + "line": 57, "column": 19, - "start": 4029, - "end": 4041, - "length": 13, - "parent_index": 170 + "start": 1947, + "end": 1955, + "length": 9, + "parent_index": 120 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 172, + "id": 122, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 122, + "line": 57, "column": 20, - "start": 4030, - "end": 4033, + "start": 1948, + "end": 1951, "length": 4, - "parent_index": 171 + "parent_index": 121 }, "type_description": { "type_identifier": "t_bool", "type_string": "bool" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 173, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 122, - "column": 26, - "start": 4036, - "end": 4040, - "length": 5, - "parent_index": 171 - }, - "operator": 2, - "left_expression": { - "id": 174, - "node_type": 16, - "src": { - "line": 122, - "column": 26, - "start": 4036, - "end": 4036, - "length": 1, - "parent_index": 173 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 174, - "is_pure": false - }, - "right_expression": { - "id": 175, - "node_type": 16, - "src": { - "line": 122, - "column": 30, - "start": 4040, - "end": 4040, - "length": 1, - "parent_index": 173 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 175, - "is_pure": false + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 123, + "node_type": 16, + "src": { + "line": 57, + "column": 26, + "start": 1954, + "end": 1954, + "length": 1, + "parent_index": 121 }, + "name": "c", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" } ], "type_description": { @@ -3242,40 +2297,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 153, + "id": 90, "node_type": 43, "src": { - "line": 119, + "line": 49, "column": 20, - "start": 3886, - "end": 3905, + "start": 1496, + "end": 1515, "length": 20, - "parent_index": 152 + "parent_index": 89 }, "parameters": [ { - "id": 154, + "id": 91, "node_type": 44, "src": { - "line": 119, + "line": 49, "column": 20, - "start": 3886, - "end": 3894, + "start": 1496, + "end": 1504, "length": 9, - "parent_index": 153 + "parent_index": 90 }, - "scope": 152, + "scope": 89, "name": "a", "type_name": { - "id": 155, + "id": 92, "node_type": 30, "src": { - "line": 119, + "line": 49, "column": 20, - "start": 3886, - "end": 3892, + "start": 1496, + "end": 1502, "length": 7, - "parent_index": 154 + "parent_index": 91 }, "name": "uint256", "referenced_declaration": 0, @@ -3293,28 +2348,28 @@ } }, { - "id": 156, + "id": 93, "node_type": 44, "src": { - "line": 119, + "line": 49, "column": 31, - "start": 3897, - "end": 3905, + "start": 1507, + "end": 1515, "length": 9, - "parent_index": 153 + "parent_index": 90 }, - "scope": 152, + "scope": 89, "name": "b", "type_name": { - "id": 157, + "id": 94, "node_type": 30, "src": { - "line": 119, + "line": 49, "column": 31, - "start": 3897, - "end": 3903, + "start": 1507, + "end": 1513, "length": 7, - "parent_index": 156 + "parent_index": 93 }, "name": "uint256", "referenced_declaration": 0, @@ -3344,40 +2399,40 @@ ] }, "return_parameters": { - "id": 158, + "id": 95, "node_type": 43, "src": { - "line": 119, + "line": 49, "column": 65, - "start": 3931, - "end": 3943, + "start": 1541, + "end": 1553, "length": 13, - "parent_index": 152 + "parent_index": 89 }, "parameters": [ { - "id": 159, + "id": 96, "node_type": 44, "src": { - "line": 119, + "line": 49, "column": 65, - "start": 3931, - "end": 3934, + "start": 1541, + "end": 1544, "length": 4, - "parent_index": 158 + "parent_index": 95 }, - "scope": 152, + "scope": 89, "name": "", "type_name": { - "id": 160, + "id": 97, "node_type": 30, "src": { - "line": 119, + "line": 49, "column": 65, - "start": 3931, - "end": 3934, + "start": 1541, + "end": 1544, "length": 4, - "parent_index": 159 + "parent_index": 96 }, "name": "bool", "referenced_declaration": 0, @@ -3395,28 +2450,28 @@ } }, { - "id": 161, + "id": 98, "node_type": 44, "src": { - "line": 119, + "line": 49, "column": 71, - "start": 3937, - "end": 3943, + "start": 1547, + "end": 1553, "length": 7, - "parent_index": 158 + "parent_index": 95 }, - "scope": 152, + "scope": 89, "name": "", "type_name": { - "id": 162, + "id": 99, "node_type": 30, "src": { - "line": 119, + "line": 49, "column": 71, - "start": 3937, - "end": 3943, + "start": 1547, + "end": 1553, "length": 7, - "parent_index": 161 + "parent_index": 98 }, "name": "uint256", "referenced_declaration": 0, @@ -3445,121 +2500,123 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", - "scope": 121, + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, { - "id": 177, - "name": "tryMul", + "id": 125, + "name": "tryDiv", "node_type": 42, "kind": 41, "src": { - "line": 131, + "line": 66, "column": 4, - "start": 4207, - "end": 4699, - "length": 493, - "parent_index": 121 + "start": 2122, + "end": 2311, + "length": 190, + "parent_index": 33 }, "name_location": { - "line": 131, + "line": 66, "column": 13, - "start": 4216, - "end": 4221, + "start": 2131, + "end": 2136, "length": 6, - "parent_index": 177 + "parent_index": 125 }, "body": { - "id": 188, + "id": 136, "node_type": 46, "kind": 0, "src": { - "line": 131, + "line": 66, "column": 80, - "start": 4283, - "end": 4699, - "length": 417, - "parent_index": 177 + "start": 2198, + "end": 2311, + "length": 114, + "parent_index": 125 }, "implemented": true, "statements": [ { - "id": 189, + "id": 137, "node_type": 59, "kind": 0, "src": { - "line": 132, + "line": 67, "column": 8, - "start": 4293, - "end": 4693, - "length": 401, - "parent_index": 121 + "start": 2208, + "end": 2305, + "length": 98, + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 190, + "id": 138, "node_type": 48, "src": { - "line": 136, + "line": 68, "column": 0, - "start": 4547, - "end": 4575, - "length": 29, - "parent_index": 189 + "start": 2232, + "end": 2261, + "length": 30, + "parent_index": 137 }, "condition": { - "id": 191, + "id": 139, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 136, + "line": 68, "column": 16, - "start": 4551, - "end": 4556, + "start": 2236, + "end": 2241, "length": 6, - "parent_index": 190 + "parent_index": 138 }, "operator": 11, "left_expression": { - "id": 192, + "id": 140, "node_type": 16, "src": { - "line": 136, + "line": 68, "column": 16, - "start": 4551, - "end": 4551, + "start": 2236, + "end": 2236, "length": 1, - "parent_index": 191 + "parent_index": 139 }, - "name": "a", + "name": "b", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 192, - "is_pure": false + "referenced_declaration": 140, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 193, + "id": 141, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 136, + "line": 68, "column": 21, - "start": 4556, - "end": 4556, + "start": 2241, + "end": 2241, "length": 1, - "parent_index": 191 + "parent_index": 139 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3567,251 +2624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 194, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 195, - "node_type": 44, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4606, - "length": 18, - "parent_index": 189 - }, - "assignments": [ - 196 - ], - "declarations": [ - { - "id": 196, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 189, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4597, - "length": 9, - "parent_index": 195 - }, - "name_location": { - "line": 137, - "column": 20, - "start": 4597, - "end": 4597, - "length": 1, - "parent_index": 196 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 197, - "node_type": 30, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4595, - "length": 7, - "parent_index": 196 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 198, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4605, - "length": 5, - "parent_index": 195 - }, - "operator": 3, - "left_expression": { - "id": 199, - "node_type": 16, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4601, - "length": 1, - "parent_index": 198 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 199, - "is_pure": false - }, - "right_expression": { - "id": 200, - "node_type": 16, - "src": { - "line": 137, - "column": 28, - "start": 4605, - "end": 4605, - "length": 1, - "parent_index": 198 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 200, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - }, - { - "id": 201, - "node_type": 48, - "src": { - "line": 138, - "column": 0, - "start": 4620, - "end": 4653, - "length": 34, - "parent_index": 189 - }, - "condition": { - "id": 202, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4633, - "length": 10, - "parent_index": 201 - }, - "operator": 12, - "left_expression": { - "id": 203, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4628, - "length": 5, - "parent_index": 202 - }, - "operator": 4, - "left_expression": { - "id": 204, - "node_type": 16, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4624, - "length": 1, - "parent_index": 203 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false - }, - "right_expression": { - "id": 205, - "node_type": 16, - "src": { - "line": 138, - "column": 20, - "start": 4628, - "end": 4628, - "length": 1, - "parent_index": 203 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 205, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "right_expression": { - "id": 206, - "node_type": 16, - "src": { - "line": 138, - "column": 25, - "start": 4633, - "end": 4633, - "length": 1, - "parent_index": 202 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 206, - "is_pure": false + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3819,7 +2633,7 @@ } }, "body": { - "id": 207, + "id": 142, "node_type": 46, "kind": 0, "src": { @@ -3834,44 +2648,44 @@ } }, { - "id": 208, + "id": 143, "node_type": 47, "src": { - "line": 139, + "line": 69, "column": 12, - "start": 4667, - "end": 4683, - "length": 17, - "parent_index": 177 + "start": 2275, + "end": 2295, + "length": 21, + "parent_index": 125 }, - "function_return_parameters": 177, + "function_return_parameters": 125, "expression": { - "id": 209, + "id": 144, "node_type": 60, "src": { - "line": 139, + "line": 69, "column": 19, - "start": 4674, - "end": 4682, - "length": 9, - "parent_index": 208 + "start": 2282, + "end": 2294, + "length": 13, + "parent_index": 143 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 210, + "id": 145, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 139, + "line": 69, "column": 20, - "start": 4675, - "end": 4678, + "start": 2283, + "end": 2286, "length": 4, - "parent_index": 209 + "parent_index": 144 }, "type_description": { "type_identifier": "t_bool", @@ -3879,27 +2693,69 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 211, - "node_type": 16, + "id": 146, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 139, + "line": 69, "column": 26, - "start": 4681, - "end": 4681, - "length": 1, - "parent_index": 209 + "start": 2289, + "end": 2293, + "length": 5, + "parent_index": 144 + }, + "operator": 4, + "left_expression": { + "id": 147, + "node_type": 16, + "src": { + "line": 69, + "column": 26, + "start": 2289, + "end": 2289, + "length": 1, + "parent_index": 146 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 147, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 148, + "node_type": 16, + "src": { + "line": 69, + "column": 30, + "start": 2293, + "end": 2293, + "length": 1, + "parent_index": 146 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 148, + "is_pure": false, + "text": "b" }, - "name": "c", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false + } } ], "type_description": { @@ -3919,40 +2775,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 178, + "id": 126, "node_type": 43, "src": { - "line": 131, + "line": 66, "column": 20, - "start": 4223, - "end": 4242, + "start": 2138, + "end": 2157, "length": 20, - "parent_index": 177 + "parent_index": 125 }, "parameters": [ { - "id": 179, + "id": 127, "node_type": 44, "src": { - "line": 131, + "line": 66, "column": 20, - "start": 4223, - "end": 4231, + "start": 2138, + "end": 2146, "length": 9, - "parent_index": 178 + "parent_index": 126 }, - "scope": 177, + "scope": 125, "name": "a", "type_name": { - "id": 180, + "id": 128, "node_type": 30, "src": { - "line": 131, + "line": 66, "column": 20, - "start": 4223, - "end": 4229, + "start": 2138, + "end": 2144, "length": 7, - "parent_index": 179 + "parent_index": 127 }, "name": "uint256", "referenced_declaration": 0, @@ -3970,28 +2826,28 @@ } }, { - "id": 181, + "id": 129, "node_type": 44, "src": { - "line": 131, + "line": 66, "column": 31, - "start": 4234, - "end": 4242, + "start": 2149, + "end": 2157, "length": 9, - "parent_index": 178 + "parent_index": 126 }, - "scope": 177, + "scope": 125, "name": "b", "type_name": { - "id": 182, + "id": 130, "node_type": 30, "src": { - "line": 131, + "line": 66, "column": 31, - "start": 4234, - "end": 4240, + "start": 2149, + "end": 2155, "length": 7, - "parent_index": 181 + "parent_index": 129 }, "name": "uint256", "referenced_declaration": 0, @@ -4021,40 +2877,40 @@ ] }, "return_parameters": { - "id": 183, + "id": 131, "node_type": 43, "src": { - "line": 131, + "line": 66, "column": 65, - "start": 4268, - "end": 4280, + "start": 2183, + "end": 2195, "length": 13, - "parent_index": 177 + "parent_index": 125 }, "parameters": [ { - "id": 184, + "id": 132, "node_type": 44, "src": { - "line": 131, + "line": 66, "column": 65, - "start": 4268, - "end": 4271, + "start": 2183, + "end": 2186, "length": 4, - "parent_index": 183 + "parent_index": 131 }, - "scope": 177, + "scope": 125, "name": "", "type_name": { - "id": 185, + "id": 133, "node_type": 30, "src": { - "line": 131, + "line": 66, "column": 65, - "start": 4268, - "end": 4271, + "start": 2183, + "end": 2186, "length": 4, - "parent_index": 184 + "parent_index": 132 }, "name": "bool", "referenced_declaration": 0, @@ -4072,28 +2928,28 @@ } }, { - "id": 186, + "id": 134, "node_type": 44, "src": { - "line": 131, + "line": 66, "column": 71, - "start": 4274, - "end": 4280, + "start": 2189, + "end": 2195, "length": 7, - "parent_index": 183 + "parent_index": 131 }, - "scope": 177, + "scope": 125, "name": "", "type_name": { - "id": 187, + "id": 135, "node_type": 30, "src": { - "line": 131, + "line": 66, "column": 71, - "start": 4274, - "end": 4280, + "start": 2189, + "end": 2195, "length": 7, - "parent_index": 186 + "parent_index": 134 }, "name": "uint256", "referenced_declaration": 0, @@ -4122,98 +2978,99 @@ } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", - "scope": 121, + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, { - "id": 213, - "name": "tryDiv", + "id": 150, + "name": "tryMod", "node_type": 42, "kind": 41, "src": { - "line": 148, + "line": 78, "column": 4, - "start": 4849, - "end": 5038, + "start": 2471, + "end": 2660, "length": 190, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 148, + "line": 78, "column": 13, - "start": 4858, - "end": 4863, + "start": 2480, + "end": 2485, "length": 6, - "parent_index": 213 + "parent_index": 150 }, "body": { - "id": 224, + "id": 161, "node_type": 46, "kind": 0, "src": { - "line": 148, + "line": 78, "column": 80, - "start": 4925, - "end": 5038, + "start": 2547, + "end": 2660, "length": 114, - "parent_index": 213 + "parent_index": 150 }, "implemented": true, "statements": [ { - "id": 225, + "id": 162, "node_type": 59, "kind": 0, "src": { - "line": 149, + "line": 79, "column": 8, - "start": 4935, - "end": 5032, + "start": 2557, + "end": 2654, "length": 98, - "parent_index": 121 + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 226, + "id": 163, "node_type": 48, "src": { - "line": 150, + "line": 80, "column": 0, - "start": 4959, - "end": 4988, + "start": 2581, + "end": 2610, "length": 30, - "parent_index": 225 + "parent_index": 162 }, "condition": { - "id": 227, + "id": 164, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 150, + "line": 80, "column": 16, - "start": 4963, - "end": 4968, + "start": 2585, + "end": 2590, "length": 6, - "parent_index": 226 + "parent_index": 163 }, "operator": 11, "left_expression": { - "id": 228, + "id": 165, "node_type": 16, "src": { - "line": 150, + "line": 80, "column": 16, - "start": 4963, - "end": 4963, + "start": 2585, + "end": 2585, "length": 1, - "parent_index": 227 + "parent_index": 164 }, "name": "b", "type_description": { @@ -4221,22 +3078,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 228, - "is_pure": false + "referenced_declaration": 165, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 229, + "id": 166, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 150, + "line": 80, "column": 21, - "start": 4968, - "end": 4968, + "start": 2590, + "end": 2590, "length": 1, - "parent_index": 227 + "parent_index": 164 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4244,7 +3102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4252,7 +3111,7 @@ } }, "body": { - "id": 230, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -4267,44 +3126,44 @@ } }, { - "id": 231, + "id": 168, "node_type": 47, "src": { - "line": 151, + "line": 81, "column": 12, - "start": 5002, - "end": 5022, + "start": 2624, + "end": 2644, "length": 21, - "parent_index": 213 + "parent_index": 150 }, - "function_return_parameters": 213, + "function_return_parameters": 150, "expression": { - "id": 232, + "id": 169, "node_type": 60, "src": { - "line": 151, + "line": 81, "column": 19, - "start": 5009, - "end": 5021, + "start": 2631, + "end": 2643, "length": 13, - "parent_index": 231 + "parent_index": 168 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 233, + "id": 170, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 151, + "line": 81, "column": 20, - "start": 5010, - "end": 5013, + "start": 2632, + "end": 2635, "length": 4, - "parent_index": 232 + "parent_index": 169 }, "type_description": { "type_identifier": "t_bool", @@ -4312,32 +3171,33 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 234, + "id": 171, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 151, + "line": 81, "column": 26, - "start": 5016, - "end": 5020, + "start": 2638, + "end": 2642, "length": 5, - "parent_index": 232 + "parent_index": 169 }, - "operator": 4, + "operator": 5, "left_expression": { - "id": 235, + "id": 172, "node_type": 16, "src": { - "line": 151, + "line": 81, "column": 26, - "start": 5016, - "end": 5016, + "start": 2638, + "end": 2638, "length": 1, - "parent_index": 234 + "parent_index": 171 }, "name": "a", "type_description": { @@ -4345,19 +3205,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 235, - "is_pure": false + "referenced_declaration": 172, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 236, + "id": 173, "node_type": 16, "src": { - "line": 151, + "line": 81, "column": 30, - "start": 5020, - "end": 5020, + "start": 2642, + "end": 2642, "length": 1, - "parent_index": 234 + "parent_index": 171 }, "name": "b", "type_description": { @@ -4365,8 +3226,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 236, - "is_pure": false + "referenced_declaration": 173, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4380,51 +3242,381 @@ } } } - ] + ] + } + ] + }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 151, + "node_type": 43, + "src": { + "line": 78, + "column": 20, + "start": 2487, + "end": 2506, + "length": 20, + "parent_index": 150 + }, + "parameters": [ + { + "id": 152, + "node_type": 44, + "src": { + "line": 78, + "column": 20, + "start": 2487, + "end": 2495, + "length": 9, + "parent_index": 151 + }, + "scope": 150, + "name": "a", + "type_name": { + "id": 153, + "node_type": 30, + "src": { + "line": 78, + "column": 20, + "start": 2487, + "end": 2493, + "length": 7, + "parent_index": 152 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 154, + "node_type": 44, + "src": { + "line": 78, + "column": 31, + "start": 2498, + "end": 2506, + "length": 9, + "parent_index": 151 + }, + "scope": 150, + "name": "b", + "type_name": { + "id": 155, + "node_type": 30, + "src": { + "line": 78, + "column": 31, + "start": 2498, + "end": 2504, + "length": 7, + "parent_index": 154 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 156, + "node_type": 43, + "src": { + "line": 78, + "column": 65, + "start": 2532, + "end": 2544, + "length": 13, + "parent_index": 150 + }, + "parameters": [ + { + "id": 157, + "node_type": 44, + "src": { + "line": 78, + "column": 65, + "start": 2532, + "end": 2535, + "length": 4, + "parent_index": 156 + }, + "scope": 150, + "name": "", + "type_name": { + "id": 158, + "node_type": 30, + "src": { + "line": 78, + "column": 65, + "start": 2532, + "end": 2535, + "length": 4, + "parent_index": 157 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 159, + "node_type": 44, + "src": { + "line": 78, + "column": 71, + "start": 2538, + "end": 2544, + "length": 7, + "parent_index": 156 + }, + "scope": 150, + "name": "", + "type_name": { + "id": 160, + "node_type": 30, + "src": { + "line": 78, + "column": 71, + "start": 2538, + "end": 2544, + "length": 7, + "parent_index": 159 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" + }, + { + "id": 175, + "name": "add", + "node_type": 42, + "kind": 41, + "src": { + "line": 95, + "column": 4, + "start": 2896, + "end": 2991, + "length": 96, + "parent_index": 33 + }, + "name_location": { + "line": 95, + "column": 13, + "start": 2905, + "end": 2907, + "length": 3, + "parent_index": 175 + }, + "body": { + "id": 184, + "node_type": 46, + "kind": 0, + "src": { + "line": 95, + "column": 71, + "start": 2963, + "end": 2991, + "length": 29, + "parent_index": 175 + }, + "implemented": true, + "statements": [ + { + "id": 185, + "node_type": 47, + "src": { + "line": 96, + "column": 8, + "start": 2973, + "end": 2985, + "length": 13, + "parent_index": 175 + }, + "function_return_parameters": 175, + "expression": { + "id": 186, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 96, + "column": 15, + "start": 2980, + "end": 2984, + "length": 5, + "parent_index": 185 + }, + "operator": 1, + "left_expression": { + "id": 187, + "node_type": 16, + "src": { + "line": 96, + "column": 15, + "start": 2980, + "end": 2980, + "length": 1, + "parent_index": 186 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 187, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 188, + "node_type": 16, + "src": { + "line": 96, + "column": 19, + "start": 2984, + "end": 2984, + "length": 1, + "parent_index": 186 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 188, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 214, + "id": 176, "node_type": 43, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4884, + "line": 95, + "column": 17, + "start": 2909, + "end": 2928, "length": 20, - "parent_index": 213 + "parent_index": 175 }, "parameters": [ { - "id": 215, + "id": 177, "node_type": 44, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4873, + "line": 95, + "column": 17, + "start": 2909, + "end": 2917, "length": 9, - "parent_index": 214 + "parent_index": 176 }, - "scope": 213, + "scope": 175, "name": "a", "type_name": { - "id": 216, + "id": 178, "node_type": 30, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4871, + "line": 95, + "column": 17, + "start": 2909, + "end": 2915, "length": 7, - "parent_index": 215 + "parent_index": 177 }, "name": "uint256", "referenced_declaration": 0, @@ -4442,28 +3634,28 @@ } }, { - "id": 217, + "id": 179, "node_type": 44, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4884, + "line": 95, + "column": 28, + "start": 2920, + "end": 2928, "length": 9, - "parent_index": 214 + "parent_index": 176 }, - "scope": 213, + "scope": 175, "name": "b", "type_name": { - "id": 218, + "id": 180, "node_type": 30, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4882, + "line": 95, + "column": 28, + "start": 2920, + "end": 2926, "length": 7, - "parent_index": 217 + "parent_index": 179 }, "name": "uint256", "referenced_declaration": 0, @@ -4493,79 +3685,40 @@ ] }, "return_parameters": { - "id": 219, + "id": 181, "node_type": 43, "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4922, - "length": 13, - "parent_index": 213 + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, + "length": 7, + "parent_index": 175 }, "parameters": [ { - "id": 220, - "node_type": 44, - "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 219 - }, - "scope": 213, - "name": "", - "type_name": { - "id": 221, - "node_type": 30, - "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 220 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 222, + "id": 182, "node_type": 44, "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 219 + "parent_index": 181 }, - "scope": 213, + "scope": 175, "name": "", "type_name": { - "id": 223, + "id": 183, "node_type": 30, "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 222 + "parent_index": 182 }, "name": "uint256", "referenced_declaration": 0, @@ -4584,319 +3737,173 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", - "scope": 121, + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { - "id": 238, - "name": "tryMod", - "node_type": 42, - "kind": 41, - "src": { - "line": 160, - "column": 4, - "start": 5198, - "end": 5387, - "length": 190, - "parent_index": 121 - }, - "name_location": { - "line": 160, - "column": 13, - "start": 5207, - "end": 5212, - "length": 6, - "parent_index": 238 - }, - "body": { - "id": 249, - "node_type": 46, - "kind": 0, - "src": { - "line": 160, - "column": 80, - "start": 5274, - "end": 5387, - "length": 114, - "parent_index": 238 - }, - "implemented": true, - "statements": [ - { - "id": 250, - "node_type": 59, - "kind": 0, - "src": { - "line": 161, - "column": 8, - "start": 5284, - "end": 5381, - "length": 98, - "parent_index": 121 - }, - "implemented": false, - "statements": [ - { - "id": 251, - "node_type": 48, - "src": { - "line": 162, - "column": 0, - "start": 5308, - "end": 5337, - "length": 30, - "parent_index": 250 - }, - "condition": { - "id": 252, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5317, - "length": 6, - "parent_index": 251 - }, - "operator": 11, - "left_expression": { - "id": 253, - "node_type": 16, - "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5312, - "length": 1, - "parent_index": 252 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 253, - "is_pure": false - }, - "right_expression": { - "id": 254, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 162, - "column": 21, - "start": 5317, - "end": 5317, - "length": 1, - "parent_index": 252 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 255, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 256, - "node_type": 47, - "src": { - "line": 163, - "column": 12, - "start": 5351, - "end": 5371, - "length": 21, - "parent_index": 238 - }, - "function_return_parameters": 238, - "expression": { - "id": 257, - "node_type": 60, - "src": { - "line": 163, - "column": 19, - "start": 5358, - "end": 5370, - "length": 13, - "parent_index": 256 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 258, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 163, - "column": 20, - "start": 5359, - "end": 5362, - "length": 4, - "parent_index": 257 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 259, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5369, - "length": 5, - "parent_index": 257 - }, - "operator": 5, - "left_expression": { - "id": 260, - "node_type": 16, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5365, - "length": 1, - "parent_index": 259 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 260, - "is_pure": false - }, - "right_expression": { - "id": 261, - "node_type": 16, - "src": { - "line": 163, - "column": 30, - "start": 5369, - "end": 5369, - "length": 1, - "parent_index": 259 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 261, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "id": 190, + "name": "sub", + "node_type": 42, + "kind": 41, + "src": { + "line": 109, + "column": 4, + "start": 3263, + "end": 3358, + "length": 96, + "parent_index": 33 + }, + "name_location": { + "line": 109, + "column": 13, + "start": 3272, + "end": 3274, + "length": 3, + "parent_index": 190 + }, + "body": { + "id": 199, + "node_type": 46, + "kind": 0, + "src": { + "line": 109, + "column": 71, + "start": 3330, + "end": 3358, + "length": 29, + "parent_index": 190 + }, + "implemented": true, + "statements": [ + { + "id": 200, + "node_type": 47, + "src": { + "line": 110, + "column": 8, + "start": 3340, + "end": 3352, + "length": 13, + "parent_index": 190 + }, + "function_return_parameters": 190, + "expression": { + "id": 201, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 110, + "column": 15, + "start": 3347, + "end": 3351, + "length": 5, + "parent_index": 200 + }, + "operator": 2, + "left_expression": { + "id": 202, + "node_type": 16, + "src": { + "line": 110, + "column": 15, + "start": 3347, + "end": 3347, + "length": 1, + "parent_index": 201 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 202, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 203, + "node_type": 16, + "src": { + "line": 110, + "column": 19, + "start": 3351, + "end": 3351, + "length": 1, + "parent_index": 201 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 203, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 239, + "id": 191, "node_type": 43, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5233, + "line": 109, + "column": 17, + "start": 3276, + "end": 3295, "length": 20, - "parent_index": 238 + "parent_index": 190 }, "parameters": [ { - "id": 240, + "id": 192, "node_type": 44, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5222, + "line": 109, + "column": 17, + "start": 3276, + "end": 3284, "length": 9, - "parent_index": 239 + "parent_index": 191 }, - "scope": 238, + "scope": 190, "name": "a", "type_name": { - "id": 241, + "id": 193, "node_type": 30, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5220, + "line": 109, + "column": 17, + "start": 3276, + "end": 3282, "length": 7, - "parent_index": 240 + "parent_index": 192 }, "name": "uint256", "referenced_declaration": 0, @@ -4914,28 +3921,28 @@ } }, { - "id": 242, + "id": 194, "node_type": 44, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5233, + "line": 109, + "column": 28, + "start": 3287, + "end": 3295, "length": 9, - "parent_index": 239 + "parent_index": 191 }, - "scope": 238, + "scope": 190, "name": "b", "type_name": { - "id": 243, + "id": 195, "node_type": 30, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5231, + "line": 109, + "column": 28, + "start": 3287, + "end": 3293, "length": 7, - "parent_index": 242 + "parent_index": 194 }, "name": "uint256", "referenced_declaration": 0, @@ -4965,79 +3972,327 @@ ] }, "return_parameters": { - "id": 244, + "id": 196, "node_type": 43, "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5271, - "length": 13, - "parent_index": 238 + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 190 }, "parameters": [ { - "id": 245, + "id": 197, "node_type": 44, "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 244 + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 196 }, - "scope": 238, + "scope": 190, "name": "", "type_name": { - "id": 246, + "id": 198, "node_type": 30, "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 245 + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 197 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" + }, + { + "id": 205, + "name": "mul", + "node_type": 42, + "kind": 41, + "src": { + "line": 123, + "column": 4, + "start": 3606, + "end": 3701, + "length": 96, + "parent_index": 33 + }, + "name_location": { + "line": 123, + "column": 13, + "start": 3615, + "end": 3617, + "length": 3, + "parent_index": 205 + }, + "body": { + "id": 214, + "node_type": 46, + "kind": 0, + "src": { + "line": 123, + "column": 71, + "start": 3673, + "end": 3701, + "length": 29, + "parent_index": 205 + }, + "implemented": true, + "statements": [ + { + "id": 215, + "node_type": 47, + "src": { + "line": 124, + "column": 8, + "start": 3683, + "end": 3695, + "length": 13, + "parent_index": 205 + }, + "function_return_parameters": 205, + "expression": { + "id": 216, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 124, + "column": 15, + "start": 3690, + "end": 3694, + "length": 5, + "parent_index": 215 + }, + "operator": 3, + "left_expression": { + "id": 217, + "node_type": 16, + "src": { + "line": 124, + "column": 15, + "start": 3690, + "end": 3690, + "length": 1, + "parent_index": 216 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 217, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 218, + "node_type": 16, + "src": { + "line": 124, + "column": 19, + "start": 3694, + "end": 3694, + "length": 1, + "parent_index": 216 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 218, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 206, + "node_type": 43, + "src": { + "line": 123, + "column": 17, + "start": 3619, + "end": 3638, + "length": 20, + "parent_index": 205 + }, + "parameters": [ + { + "id": 207, + "node_type": 44, + "src": { + "line": 123, + "column": 17, + "start": 3619, + "end": 3627, + "length": 9, + "parent_index": 206 + }, + "scope": 205, + "name": "a", + "type_name": { + "id": 208, + "node_type": 30, + "src": { + "line": 123, + "column": 17, + "start": 3619, + "end": 3625, + "length": 7, + "parent_index": 207 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 209, + "node_type": 44, + "src": { + "line": 123, + "column": 28, + "start": 3630, + "end": 3638, + "length": 9, + "parent_index": 206 + }, + "scope": 205, + "name": "b", + "type_name": { + "id": 210, + "node_type": 30, + "src": { + "line": 123, + "column": 28, + "start": 3630, + "end": 3636, + "length": 7, + "parent_index": 209 }, - "name": "bool", + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, { - "id": 247, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 211, + "node_type": 43, + "src": { + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, + "length": 7, + "parent_index": 205 + }, + "parameters": [ + { + "id": 212, "node_type": 44, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, "length": 7, - "parent_index": 244 + "parent_index": 211 }, - "scope": 238, + "scope": 205, "name": "", "type_name": { - "id": 248, + "id": 213, "node_type": 30, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, "length": 7, - "parent_index": 247 + "parent_index": 212 }, "name": "uint256", "referenced_declaration": 0, @@ -5056,95 +4311,92 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", - "scope": 121, + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { - "id": 263, - "name": "add", + "id": 220, + "name": "div", "node_type": 42, "kind": 41, "src": { - "line": 177, + "line": 139, "column": 4, - "start": 5623, - "end": 5718, + "start": 4166, + "end": 4261, "length": 96, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 177, + "line": 139, "column": 13, - "start": 5632, - "end": 5634, + "start": 4175, + "end": 4177, "length": 3, - "parent_index": 263 + "parent_index": 220 }, "body": { - "id": 272, + "id": 229, "node_type": 46, "kind": 0, "src": { - "line": 177, + "line": 139, "column": 71, - "start": 5690, - "end": 5718, + "start": 4233, + "end": 4261, "length": 29, - "parent_index": 263 + "parent_index": 220 }, "implemented": true, "statements": [ { - "id": 273, + "id": 230, "node_type": 47, "src": { - "line": 178, + "line": 140, "column": 8, - "start": 5700, - "end": 5712, + "start": 4243, + "end": 4255, "length": 13, - "parent_index": 263 + "parent_index": 220 }, - "function_return_parameters": 263, + "function_return_parameters": 220, "expression": { - "id": 274, + "id": 231, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 178, + "line": 140, "column": 15, - "start": 5707, - "end": 5711, + "start": 4250, + "end": 4254, "length": 5, - "parent_index": 273 + "parent_index": 230 }, - "operator": 1, + "operator": 4, "left_expression": { - "id": 275, + "id": 232, "node_type": 16, "src": { - "line": 178, + "line": 140, "column": 15, - "start": 5707, - "end": 5707, + "start": 4250, + "end": 4250, "length": 1, - "parent_index": 274 + "parent_index": 231 }, "name": "a", "type_description": { @@ -5152,19 +4404,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 275, - "is_pure": false + "referenced_declaration": 232, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 276, + "id": 233, "node_type": 16, "src": { - "line": 178, + "line": 140, "column": 19, - "start": 5711, - "end": 5711, + "start": 4254, + "end": 4254, "length": 1, - "parent_index": 274 + "parent_index": 231 }, "name": "b", "type_description": { @@ -5172,8 +4425,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 276, - "is_pure": false + "referenced_declaration": 233, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5190,40 +4444,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 264, + "id": 221, "node_type": 43, "src": { - "line": 177, + "line": 139, "column": 17, - "start": 5636, - "end": 5655, + "start": 4179, + "end": 4198, "length": 20, - "parent_index": 263 + "parent_index": 220 }, "parameters": [ { - "id": 265, + "id": 222, "node_type": 44, "src": { - "line": 177, + "line": 139, "column": 17, - "start": 5636, - "end": 5644, + "start": 4179, + "end": 4187, "length": 9, - "parent_index": 264 + "parent_index": 221 }, - "scope": 263, + "scope": 220, "name": "a", "type_name": { - "id": 266, + "id": 223, "node_type": 30, "src": { - "line": 177, + "line": 139, "column": 17, - "start": 5636, - "end": 5642, + "start": 4179, + "end": 4185, "length": 7, - "parent_index": 265 + "parent_index": 222 }, "name": "uint256", "referenced_declaration": 0, @@ -5241,28 +4495,28 @@ } }, { - "id": 267, + "id": 224, "node_type": 44, "src": { - "line": 177, + "line": 139, "column": 28, - "start": 5647, - "end": 5655, + "start": 4190, + "end": 4198, "length": 9, - "parent_index": 264 + "parent_index": 221 }, - "scope": 263, + "scope": 220, "name": "b", "type_name": { - "id": 268, + "id": 225, "node_type": 30, "src": { - "line": 177, + "line": 139, "column": 28, - "start": 5647, - "end": 5653, + "start": 4190, + "end": 4196, "length": 7, - "parent_index": 267 + "parent_index": 224 }, "name": "uint256", "referenced_declaration": 0, @@ -5292,40 +4546,40 @@ ] }, "return_parameters": { - "id": 269, + "id": 226, "node_type": 43, "src": { - "line": 177, + "line": 139, "column": 62, - "start": 5681, - "end": 5687, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 263 + "parent_index": 220 }, "parameters": [ { - "id": 270, + "id": 227, "node_type": 44, "src": { - "line": 177, + "line": 139, "column": 62, - "start": 5681, - "end": 5687, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 269 + "parent_index": 226 }, - "scope": 263, + "scope": 220, "name": "", "type_name": { - "id": 271, + "id": 228, "node_type": 30, "src": { - "line": 177, + "line": 139, "column": 62, - "start": 5681, - "end": 5687, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 270 + "parent_index": 227 }, "name": "uint256", "referenced_declaration": 0, @@ -5350,85 +4604,86 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", - "scope": 121, + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { - "id": 278, - "name": "sub", + "id": 235, + "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 191, + "line": 155, "column": 4, - "start": 5990, - "end": 6085, + "start": 4715, + "end": 4810, "length": 96, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 191, + "line": 155, "column": 13, - "start": 5999, - "end": 6001, + "start": 4724, + "end": 4726, "length": 3, - "parent_index": 278 + "parent_index": 235 }, "body": { - "id": 287, + "id": 244, "node_type": 46, "kind": 0, "src": { - "line": 191, + "line": 155, "column": 71, - "start": 6057, - "end": 6085, + "start": 4782, + "end": 4810, "length": 29, - "parent_index": 278 + "parent_index": 235 }, "implemented": true, "statements": [ { - "id": 288, + "id": 245, "node_type": 47, "src": { - "line": 192, + "line": 156, "column": 8, - "start": 6067, - "end": 6079, + "start": 4792, + "end": 4804, "length": 13, - "parent_index": 278 + "parent_index": 235 }, - "function_return_parameters": 278, + "function_return_parameters": 235, "expression": { - "id": 289, + "id": 246, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 192, + "line": 156, "column": 15, - "start": 6074, - "end": 6078, + "start": 4799, + "end": 4803, "length": 5, - "parent_index": 288 + "parent_index": 245 }, - "operator": 2, + "operator": 5, "left_expression": { - "id": 290, + "id": 247, "node_type": 16, "src": { - "line": 192, + "line": 156, "column": 15, - "start": 6074, - "end": 6074, + "start": 4799, + "end": 4799, "length": 1, - "parent_index": 289 + "parent_index": 246 }, "name": "a", "type_description": { @@ -5436,19 +4691,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 290, - "is_pure": false + "referenced_declaration": 247, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 291, + "id": 248, "node_type": 16, "src": { - "line": 192, + "line": 156, "column": 19, - "start": 6078, - "end": 6078, + "start": 4803, + "end": 4803, "length": 1, - "parent_index": 289 + "parent_index": 246 }, "name": "b", "type_description": { @@ -5456,8 +4712,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 291, - "is_pure": false + "referenced_declaration": 248, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5474,40 +4731,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 279, + "id": 236, "node_type": 43, "src": { - "line": 191, + "line": 155, "column": 17, - "start": 6003, - "end": 6022, + "start": 4728, + "end": 4747, "length": 20, - "parent_index": 278 + "parent_index": 235 }, "parameters": [ { - "id": 280, + "id": 237, "node_type": 44, "src": { - "line": 191, + "line": 155, "column": 17, - "start": 6003, - "end": 6011, + "start": 4728, + "end": 4736, "length": 9, - "parent_index": 279 + "parent_index": 236 }, - "scope": 278, + "scope": 235, "name": "a", "type_name": { - "id": 281, + "id": 238, "node_type": 30, "src": { - "line": 191, + "line": 155, "column": 17, - "start": 6003, - "end": 6009, + "start": 4728, + "end": 4734, "length": 7, - "parent_index": 280 + "parent_index": 237 }, "name": "uint256", "referenced_declaration": 0, @@ -5525,28 +4782,28 @@ } }, { - "id": 282, + "id": 239, "node_type": 44, "src": { - "line": 191, + "line": 155, "column": 28, - "start": 6014, - "end": 6022, + "start": 4739, + "end": 4747, "length": 9, - "parent_index": 279 + "parent_index": 236 }, - "scope": 278, + "scope": 235, "name": "b", "type_name": { - "id": 283, + "id": 240, "node_type": 30, "src": { - "line": 191, + "line": 155, "column": 28, - "start": 6014, - "end": 6020, + "start": 4739, + "end": 4745, "length": 7, - "parent_index": 282 + "parent_index": 239 }, "name": "uint256", "referenced_declaration": 0, @@ -5576,40 +4833,40 @@ ] }, "return_parameters": { - "id": 284, + "id": 241, "node_type": 43, "src": { - "line": 191, + "line": 155, "column": 62, - "start": 6048, - "end": 6054, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 278 + "parent_index": 235 }, "parameters": [ { - "id": 285, + "id": 242, "node_type": 44, "src": { - "line": 191, + "line": 155, "column": 62, - "start": 6048, - "end": 6054, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 284 + "parent_index": 241 }, - "scope": 278, + "scope": 235, "name": "", "type_name": { - "id": 286, + "id": 243, "node_type": 30, "src": { - "line": 191, + "line": 155, "column": 62, - "start": 6048, - "end": 6054, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 285 + "parent_index": 242 }, "name": "uint256", "referenced_declaration": 0, @@ -5634,164 +4891,321 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", - "scope": 121, + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, { - "id": 293, - "name": "mul", + "id": 250, + "name": "sub", "node_type": 42, "kind": 41, "src": { - "line": 205, + "line": 172, "column": 4, - "start": 6333, - "end": 6428, - "length": 96, - "parent_index": 121 + "start": 5275, + "end": 5505, + "length": 231, + "parent_index": 33 }, "name_location": { - "line": 205, + "line": 172, "column": 13, - "start": 6342, - "end": 6344, + "start": 5284, + "end": 5286, "length": 3, - "parent_index": 293 + "parent_index": 250 }, "body": { - "id": 302, + "id": 261, "node_type": 46, "kind": 0, "src": { - "line": 205, - "column": 71, - "start": 6400, - "end": 6428, - "length": 29, - "parent_index": 293 + "line": 176, + "column": 38, + "start": 5400, + "end": 5505, + "length": 106, + "parent_index": 250 }, "implemented": true, "statements": [ { - "id": 303, - "node_type": 47, + "id": 262, + "node_type": 59, + "kind": 0, "src": { - "line": 206, + "line": 177, "column": 8, - "start": 6410, - "end": 6422, - "length": 13, - "parent_index": 293 + "start": 5410, + "end": 5499, + "length": 90, + "parent_index": 33 }, - "function_return_parameters": 293, - "expression": { - "id": 304, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6421, - "length": 5, - "parent_index": 303 - }, - "operator": 3, - "left_expression": { - "id": 305, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 263, + "node_type": 24, + "kind": 24, "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6417, - "length": 1, - "parent_index": 304 + "line": 178, + "column": 12, + "start": 5434, + "end": 5462, + "length": 29, + "parent_index": 262 }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 265, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5447, + "length": 6, + "parent_index": 263 + }, + "operator": 10, + "left_expression": { + "id": 266, + "node_type": 16, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5442, + "length": 1, + "parent_index": 265 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 266, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 267, + "node_type": 16, + "src": { + "line": 178, + "column": 25, + "start": 5447, + "end": 5447, + "length": 1, + "parent_index": 265 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 267, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 268, + "node_type": 16, + "src": { + "line": 178, + "column": 28, + "start": 5450, + "end": 5461, + "length": 12, + "parent_index": 263 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 268, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 264, + "node_type": 16, + "src": { + "line": 178, + "column": 12, + "start": 5434, + "end": 5440, + "length": 7, + "parent_index": 263 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "overloaded_declarations": [], - "referenced_declaration": 305, - "is_pure": false + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "right_expression": { - "id": 306, - "node_type": 16, + { + "id": 269, + "node_type": 47, "src": { - "line": 206, - "column": 19, - "start": 6421, - "end": 6421, - "length": 1, - "parent_index": 304 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 179, + "column": 12, + "start": 5477, + "end": 5489, + "length": 13, + "parent_index": 250 }, - "overloaded_declarations": [], - "referenced_declaration": 306, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "function_return_parameters": 250, + "expression": { + "id": 270, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 179, + "column": 19, + "start": 5484, + "end": 5488, + "length": 5, + "parent_index": 269 + }, + "operator": 2, + "left_expression": { + "id": 271, + "node_type": 16, + "src": { + "line": 179, + "column": 19, + "start": 5484, + "end": 5484, + "length": 1, + "parent_index": 270 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 271, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 272, + "node_type": 16, + "src": { + "line": 179, + "column": 23, + "start": 5488, + "end": 5488, + "length": 1, + "parent_index": 270 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 272, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "implemented": true, + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 294, + "id": 251, "node_type": 43, "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6365, - "length": 20, - "parent_index": 293 + "line": 173, + "column": 8, + "start": 5297, + "end": 5360, + "length": 64, + "parent_index": 250 }, "parameters": [ { - "id": 295, + "id": 252, "node_type": 44, "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6354, + "line": 173, + "column": 8, + "start": 5297, + "end": 5305, "length": 9, - "parent_index": 294 + "parent_index": 251 }, - "scope": 293, + "scope": 250, "name": "a", "type_name": { - "id": 296, + "id": 253, "node_type": 30, "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6352, + "line": 173, + "column": 8, + "start": 5297, + "end": 5303, "length": 7, - "parent_index": 295 + "parent_index": 252 }, "name": "uint256", "referenced_declaration": 0, @@ -5809,28 +5223,28 @@ } }, { - "id": 297, + "id": 254, "node_type": 44, "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6365, + "line": 174, + "column": 8, + "start": 5316, + "end": 5324, "length": 9, - "parent_index": 294 + "parent_index": 251 }, - "scope": 293, + "scope": 250, "name": "b", "type_name": { - "id": 298, + "id": 255, "node_type": 30, "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6363, + "line": 174, + "column": 8, + "start": 5316, + "end": 5322, "length": 7, - "parent_index": 297 + "parent_index": 254 }, "name": "uint256", "referenced_declaration": 0, @@ -5846,6 +5260,45 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + }, + { + "id": 256, + "node_type": 44, + "src": { + "line": 175, + "column": 8, + "start": 5335, + "end": 5360, + "length": 26, + "parent_index": 251 + }, + "scope": 250, + "name": "errorMessage", + "type_name": { + "id": 257, + "node_type": 30, + "src": { + "line": 175, + "column": 8, + "start": 5335, + "end": 5340, + "length": 6, + "parent_index": 256 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } } ], "parameter_types": [ @@ -5856,44 +5309,48 @@ { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" } ] }, "return_parameters": { - "id": 299, + "id": 258, "node_type": 43, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 293 + "parent_index": 250 }, "parameters": [ { - "id": 300, + "id": 259, "node_type": 44, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 299 + "parent_index": 258 }, - "scope": 293, + "scope": 250, "name": "", "type_name": { - "id": 301, + "id": 260, "node_type": 30, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 300 + "parent_index": 259 }, "name": "uint256", "referenced_declaration": 0, @@ -5918,164 +5375,323 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", - "scope": 121, + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, { - "id": 308, + "id": 274, "name": "div", "node_type": 42, "kind": 41, "src": { - "line": 221, + "line": 195, "column": 4, - "start": 6893, - "end": 6988, - "length": 96, - "parent_index": 121 + "start": 5990, + "end": 6219, + "length": 230, + "parent_index": 33 }, "name_location": { - "line": 221, + "line": 195, "column": 13, - "start": 6902, - "end": 6904, + "start": 5999, + "end": 6001, "length": 3, - "parent_index": 308 + "parent_index": 274 }, "body": { - "id": 317, + "id": 285, "node_type": 46, "kind": 0, "src": { - "line": 221, - "column": 71, - "start": 6960, - "end": 6988, - "length": 29, - "parent_index": 308 + "line": 199, + "column": 38, + "start": 6115, + "end": 6219, + "length": 105, + "parent_index": 274 }, "implemented": true, "statements": [ { - "id": 318, - "node_type": 47, + "id": 286, + "node_type": 59, + "kind": 0, "src": { - "line": 222, + "line": 200, "column": 8, - "start": 6970, - "end": 6982, - "length": 13, - "parent_index": 308 + "start": 6125, + "end": 6213, + "length": 89, + "parent_index": 33 }, - "function_return_parameters": 308, - "expression": { - "id": 319, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6981, - "length": 5, - "parent_index": 318 - }, - "operator": 4, - "left_expression": { - "id": 320, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 287, + "node_type": 24, + "kind": 24, "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6977, - "length": 1, - "parent_index": 319 + "line": 201, + "column": 12, + "start": 6149, + "end": 6176, + "length": 28, + "parent_index": 286 }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 289, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6161, + "length": 5, + "parent_index": 287 + }, + "operator": 7, + "left_expression": { + "id": 290, + "node_type": 16, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6157, + "length": 1, + "parent_index": 289 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 290, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 291, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 201, + "column": 24, + "start": 6161, + "end": 6161, + "length": 1, + "parent_index": 289 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 292, + "node_type": 16, + "src": { + "line": 201, + "column": 27, + "start": 6164, + "end": 6175, + "length": 12, + "parent_index": 287 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 292, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 288, + "node_type": 16, + "src": { + "line": 201, + "column": 12, + "start": 6149, + "end": 6155, + "length": 7, + "parent_index": 287 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "overloaded_declarations": [], - "referenced_declaration": 320, - "is_pure": false + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "right_expression": { - "id": 321, - "node_type": 16, + { + "id": 293, + "node_type": 47, "src": { - "line": 222, - "column": 19, - "start": 6981, - "end": 6981, - "length": 1, - "parent_index": 319 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 202, + "column": 12, + "start": 6191, + "end": 6203, + "length": 13, + "parent_index": 274 }, - "overloaded_declarations": [], - "referenced_declaration": 321, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "function_return_parameters": 274, + "expression": { + "id": 294, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6202, + "length": 5, + "parent_index": 293 + }, + "operator": 4, + "left_expression": { + "id": 295, + "node_type": 16, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6198, + "length": 1, + "parent_index": 294 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 295, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 296, + "node_type": 16, + "src": { + "line": 202, + "column": 23, + "start": 6202, + "end": 6202, + "length": 1, + "parent_index": 294 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 296, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "implemented": true, + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 309, + "id": 275, "node_type": 43, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6925, - "length": 20, - "parent_index": 308 + "line": 196, + "column": 8, + "start": 6012, + "end": 6075, + "length": 64, + "parent_index": 274 }, "parameters": [ { - "id": 310, + "id": 276, "node_type": 44, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6914, + "line": 196, + "column": 8, + "start": 6012, + "end": 6020, "length": 9, - "parent_index": 309 + "parent_index": 275 }, - "scope": 308, + "scope": 274, "name": "a", "type_name": { - "id": 311, + "id": 277, "node_type": 30, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6912, + "line": 196, + "column": 8, + "start": 6012, + "end": 6018, "length": 7, - "parent_index": 310 + "parent_index": 276 }, "name": "uint256", "referenced_declaration": 0, @@ -6093,28 +5709,28 @@ } }, { - "id": 312, + "id": 278, "node_type": 44, "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6925, + "line": 197, + "column": 8, + "start": 6031, + "end": 6039, "length": 9, - "parent_index": 309 + "parent_index": 275 }, - "scope": 308, + "scope": 274, "name": "b", "type_name": { - "id": 313, + "id": 279, "node_type": 30, "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6923, + "line": 197, + "column": 8, + "start": 6031, + "end": 6037, "length": 7, - "parent_index": 312 + "parent_index": 278 }, "name": "uint256", "referenced_declaration": 0, @@ -6130,68 +5746,44 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 314, - "node_type": 43, - "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 308 - }, - "parameters": [ - { - "id": 315, + "id": 280, "node_type": 44, "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 314 + "line": 198, + "column": 8, + "start": 6050, + "end": 6075, + "length": 26, + "parent_index": 275 }, - "scope": 308, - "name": "", + "scope": 274, + "name": "errorMessage", "type_name": { - "id": 316, + "id": 281, "node_type": 30, "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 315 + "line": 198, + "column": 8, + "start": 6050, + "end": 6055, + "length": 6, + "parent_index": 280 }, - "name": "uint256", + "name": "string", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } } ], @@ -6199,269 +5791,52 @@ { "type_identifier": "t_uint256", "type_string": "uint256" - } - ] - }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } - }, - { - "id": 323, - "name": "mod", - "node_type": 42, - "kind": 41, - "src": { - "line": 237, - "column": 4, - "start": 7442, - "end": 7537, - "length": 96, - "parent_index": 121 - }, - "name_location": { - "line": 237, - "column": 13, - "start": 7451, - "end": 7453, - "length": 3, - "parent_index": 323 - }, - "body": { - "id": 332, - "node_type": 46, - "kind": 0, - "src": { - "line": 237, - "column": 71, - "start": 7509, - "end": 7537, - "length": 29, - "parent_index": 323 - }, - "implemented": true, - "statements": [ - { - "id": 333, - "node_type": 47, - "src": { - "line": 238, - "column": 8, - "start": 7519, - "end": 7531, - "length": 13, - "parent_index": 323 - }, - "function_return_parameters": 323, - "expression": { - "id": 334, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7530, - "length": 5, - "parent_index": 333 - }, - "operator": 5, - "left_expression": { - "id": 335, - "node_type": 16, - "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7526, - "length": 1, - "parent_index": 334 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 335, - "is_pure": false - }, - "right_expression": { - "id": 336, - "node_type": 16, - "src": { - "line": 238, - "column": 19, - "start": 7530, - "end": 7530, - "length": 1, - "parent_index": 334 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 336, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 324, - "node_type": 43, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7474, - "length": 20, - "parent_index": 323 - }, - "parameters": [ - { - "id": 325, - "node_type": 44, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7463, - "length": 9, - "parent_index": 324 - }, - "scope": 323, - "name": "a", - "type_name": { - "id": 326, - "node_type": 30, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7461, - "length": 7, - "parent_index": 325 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } }, - { - "id": 327, - "node_type": 44, - "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7474, - "length": 9, - "parent_index": 324 - }, - "scope": 323, - "name": "b", - "type_name": { - "id": 328, - "node_type": 30, - "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7472, - "length": 7, - "parent_index": 327 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } ] }, "return_parameters": { - "id": 329, + "id": 282, "node_type": 43, "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 323 + "parent_index": 274 }, "parameters": [ { - "id": 330, + "id": 283, "node_type": 44, "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 329 + "parent_index": 282 }, - "scope": 323, + "scope": 274, "name": "", "type_name": { - "id": 331, + "id": 284, "node_type": 30, "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 330 + "parent_index": 283 }, "name": "uint256", "referenced_declaration": 0, @@ -6486,74 +5861,75 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", - "scope": 121, + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { - "id": 338, - "name": "sub", + "id": 298, + "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 254, + "line": 221, "column": 4, - "start": 8002, - "end": 8232, - "length": 231, - "parent_index": 121 + "start": 6866, + "end": 7095, + "length": 230, + "parent_index": 33 }, "name_location": { - "line": 254, + "line": 221, "column": 13, - "start": 8011, - "end": 8013, + "start": 6875, + "end": 6877, "length": 3, - "parent_index": 338 + "parent_index": 298 }, "body": { - "id": 349, + "id": 309, "node_type": 46, "kind": 0, "src": { - "line": 258, + "line": 225, "column": 38, - "start": 8127, - "end": 8232, - "length": 106, - "parent_index": 338 + "start": 6991, + "end": 7095, + "length": 105, + "parent_index": 298 }, "implemented": true, "statements": [ { - "id": 350, + "id": 310, "node_type": 59, "kind": 0, "src": { - "line": 259, + "line": 226, "column": 8, - "start": 8137, - "end": 8226, - "length": 90, - "parent_index": 121 + "start": 7001, + "end": 7089, + "length": 89, + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 351, + "id": 311, "node_type": 24, "kind": 24, "src": { - "line": 260, + "line": 227, "column": 12, - "start": 8161, - "end": 8189, - "length": 29, - "parent_index": 350 + "start": 7025, + "end": 7052, + "length": 28, + "parent_index": 310 }, "argument_types": [ { @@ -6567,29 +5943,29 @@ ], "arguments": [ { - "id": 353, + "id": 313, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 260, + "line": 227, "column": 20, - "start": 8169, - "end": 8174, - "length": 6, - "parent_index": 351 + "start": 7033, + "end": 7037, + "length": 5, + "parent_index": 311 }, - "operator": 10, + "operator": 7, "left_expression": { - "id": 354, + "id": 314, "node_type": 16, "src": { - "line": 260, + "line": 227, "column": 20, - "start": 8169, - "end": 8169, + "start": 7033, + "end": 7033, "length": 1, - "parent_index": 353 + "parent_index": 313 }, "name": "b", "type_description": { @@ -6597,28 +5973,32 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 354, - "is_pure": false + "referenced_declaration": 314, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 355, - "node_type": 16, + "id": 315, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 260, - "column": 25, - "start": 8174, - "end": 8174, + "line": 227, + "column": 24, + "start": 7037, + "end": 7037, "length": 1, - "parent_index": 353 + "parent_index": 313 }, - "name": "a", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], - "referenced_declaration": 355, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6626,15 +6006,15 @@ } }, { - "id": 356, + "id": 316, "node_type": 16, "src": { - "line": 260, - "column": 28, - "start": 8177, - "end": 8188, + "line": 227, + "column": 27, + "start": 7040, + "end": 7051, "length": 12, - "parent_index": 351 + "parent_index": 311 }, "name": "errorMessage", "type_description": { @@ -6642,26 +6022,27 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 356, + "referenced_declaration": 316, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { - "id": 352, + "id": 312, "node_type": 16, "src": { - "line": 260, + "line": 227, "column": 12, - "start": 8161, - "end": 8167, + "start": 7025, + "end": 7031, "length": 7, - "parent_index": 351 + "parent_index": 311 }, "name": "require", "type_description": { @@ -6670,7 +6051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -6678,41 +6060,41 @@ } }, { - "id": 357, + "id": 317, "node_type": 47, "src": { - "line": 261, + "line": 228, "column": 12, - "start": 8204, - "end": 8216, + "start": 7067, + "end": 7079, "length": 13, - "parent_index": 338 + "parent_index": 298 }, - "function_return_parameters": 338, + "function_return_parameters": 298, "expression": { - "id": 358, + "id": 318, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 261, + "line": 228, "column": 19, - "start": 8211, - "end": 8215, + "start": 7074, + "end": 7078, "length": 5, - "parent_index": 357 + "parent_index": 317 }, - "operator": 2, + "operator": 5, "left_expression": { - "id": 359, + "id": 319, "node_type": 16, "src": { - "line": 261, + "line": 228, "column": 19, - "start": 8211, - "end": 8211, + "start": 7074, + "end": 7074, "length": 1, - "parent_index": 358 + "parent_index": 318 }, "name": "a", "type_description": { @@ -6720,19 +6102,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 359, - "is_pure": false + "referenced_declaration": 319, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 360, + "id": 320, "node_type": 16, "src": { - "line": 261, + "line": 228, "column": 23, - "start": 8215, - "end": 8215, + "start": 7078, + "end": 7078, "length": 1, - "parent_index": 358 + "parent_index": 318 }, "name": "b", "type_description": { @@ -6740,8 +6123,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 360, - "is_pure": false + "referenced_declaration": 320, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6754,46 +6138,381 @@ ] }, "implemented": false, - "visibility": 1, - "state_mutability": 6, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 299, + "node_type": 43, + "src": { + "line": 222, + "column": 8, + "start": 6888, + "end": 6951, + "length": 64, + "parent_index": 298 + }, + "parameters": [ + { + "id": 300, + "node_type": 44, + "src": { + "line": 222, + "column": 8, + "start": 6888, + "end": 6896, + "length": 9, + "parent_index": 299 + }, + "scope": 298, + "name": "a", + "type_name": { + "id": 301, + "node_type": 30, + "src": { + "line": 222, + "column": 8, + "start": 6888, + "end": 6894, + "length": 7, + "parent_index": 300 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 302, + "node_type": 44, + "src": { + "line": 223, + "column": 8, + "start": 6907, + "end": 6915, + "length": 9, + "parent_index": 299 + }, + "scope": 298, + "name": "b", + "type_name": { + "id": 303, + "node_type": 30, + "src": { + "line": 223, + "column": 8, + "start": 6907, + "end": 6913, + "length": 7, + "parent_index": 302 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 304, + "node_type": 44, + "src": { + "line": 224, + "column": 8, + "start": 6926, + "end": 6951, + "length": 26, + "parent_index": 299 + }, + "scope": 298, + "name": "errorMessage", + "type_name": { + "id": 305, + "node_type": 30, + "src": { + "line": 224, + "column": 8, + "start": 6926, + "end": 6931, + "length": 6, + "parent_index": 304 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ] + }, + "return_parameters": { + "id": 306, + "node_type": 43, + "src": { + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, + "length": 7, + "parent_index": 298 + }, + "parameters": [ + { + "id": 307, + "node_type": 44, + "src": { + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, + "length": 7, + "parent_index": 306 + }, + "scope": 298, + "name": "", + "type_name": { + "id": 308, + "node_type": 30, + "src": { + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, + "length": 7, + "parent_index": 307 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" + } + ], + "linearized_base_contracts": [ + 33 + ], + "base_contracts": [], + "contract_dependencies": [] + } + ], + "src": { + "line": 18, + "column": 0, + "start": 622, + "end": 7097, + "length": 6476, + "parent_index": 30 + } + }, + { + "id": 321, + "base_contracts": [], + "license": "MIT", + "exported_symbols": [ + { + "id": 321, + "name": "IERC20", + "absolute_path": "IERC20.sol" + } + ], + "absolute_path": "IERC20.sol", + "name": "IERC20", + "node_type": 1, + "nodes": [ + { + "id": 323, + "node_type": 10, + "src": { + "line": 235, + "column": 0, + "start": 7133, + "end": 7155, + "length": 23, + "parent_index": 321 + }, + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "text": "pragma solidity ^0.8.0;" + }, + { + "id": 326, + "name": "IERC20", + "node_type": 35, + "src": { + "line": 240, + "column": 0, + "start": 7229, + "end": 9824, + "length": 2596, + "parent_index": 321 + }, + "name_location": { + "line": 240, + "column": 10, + "start": 7239, + "end": 7244, + "length": 6, + "parent_index": 326 + }, + "abstract": false, + "kind": 38, + "fully_implemented": true, + "nodes": [ + { + "id": 328, + "name": "totalSupply", + "node_type": 42, + "kind": 41, + "src": { + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 326 + }, + "name_location": { + "line": 244, + "column": 13, + "start": 7332, + "end": 7342, + "length": 11, + "parent_index": 328 + }, + "body": { + "id": 335, + "node_type": 46, + "kind": 0, + "src": { + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 328 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 339, + "id": 329, "node_type": 43, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8087, - "length": 64, - "parent_index": 338 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 328 }, "parameters": [ { - "id": 340, + "id": 330, "node_type": 44, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8032, - "length": 9, - "parent_index": 339 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 329 }, - "scope": 338, - "name": "a", + "scope": 328, + "name": "", "type_name": { - "id": 341, + "id": 331, "node_type": 30, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8030, + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 340 + "parent_index": 330 }, "name": "uint256", "referenced_declaration": 0, @@ -6809,28 +6528,218 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 332, + "node_type": 43, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 328 + }, + "parameters": [ + { + "id": 333, + "node_type": 44, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 332 + }, + "scope": 328, + "name": "", + "type_name": { + "id": 334, + "node_type": 30, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 333 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "totalSupply(uint256)", + "signature": "bd85b039", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" + }, + { + "id": 337, + "name": "balanceOf", + "node_type": 42, + "kind": 41, + "src": { + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 326 + }, + "name_location": { + "line": 249, + "column": 13, + "start": 7470, + "end": 7478, + "length": 9, + "parent_index": 337 + }, + "body": { + "id": 344, + "node_type": 46, + "kind": 0, + "src": { + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 337 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 338, + "node_type": 43, + "src": { + "line": 249, + "column": 23, + "start": 7480, + "end": 7494, + "length": 15, + "parent_index": 337 + }, + "parameters": [ + { + "id": 339, + "node_type": 44, + "src": { + "line": 249, + "column": 23, + "start": 7480, + "end": 7494, + "length": 15, + "parent_index": 338 + }, + "scope": 337, + "name": "account", + "type_name": { + "id": 340, + "node_type": 30, + "src": { + "line": 249, + "column": 23, + "start": 7480, + "end": 7486, + "length": 7, + "parent_index": 339 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { + "id": 341, + "node_type": 43, + "src": { + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, + "length": 7, + "parent_index": 337 + }, + "parameters": [ { "id": 342, "node_type": 44, "src": { - "line": 256, - "column": 8, - "start": 8043, - "end": 8051, - "length": 9, - "parent_index": 339 + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, + "length": 7, + "parent_index": 341 }, - "scope": 338, - "name": "b", + "scope": 337, + "name": "", "type_name": { "id": 343, "node_type": 30, "src": { - "line": 256, - "column": 8, - "start": 8043, - "end": 8049, + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, "length": 7, "parent_index": 342 }, @@ -6848,97 +6757,141 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "balanceOf(address)", + "signature": "70a08231", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" + }, + { + "id": 346, + "name": "transfer", + "node_type": 42, + "kind": 41, + "src": { + "line": 258, + "column": 4, + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 326 + }, + "name_location": { + "line": 258, + "column": 13, + "start": 7758, + "end": 7765, + "length": 8, + "parent_index": 346 + }, + "body": { + "id": 355, + "node_type": 46, + "kind": 0, + "src": { + "line": 258, + "column": 4, + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 346 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 347, + "node_type": 43, + "src": { + "line": 258, + "column": 22, + "start": 7767, + "end": 7799, + "length": 33, + "parent_index": 346 + }, + "parameters": [ { - "id": 344, + "id": 348, "node_type": 44, "src": { - "line": 257, - "column": 8, - "start": 8062, - "end": 8087, - "length": 26, - "parent_index": 339 + "line": 258, + "column": 22, + "start": 7767, + "end": 7783, + "length": 17, + "parent_index": 347 }, - "scope": 338, - "name": "errorMessage", + "scope": 346, + "name": "recipient", "type_name": { - "id": 345, + "id": 349, "node_type": 30, "src": { - "line": 257, - "column": 8, - "start": 8062, - "end": 8067, - "length": 6, - "parent_index": 344 + "line": 258, + "column": 22, + "start": 7767, + "end": 7773, + "length": 7, + "parent_index": 348 }, - "name": "string", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" }, { - "type_identifier": "t_string", - "type_string": "string" - } - ] - }, - "return_parameters": { - "id": 346, - "node_type": 43, - "src": { - "line": 258, - "column": 29, - "start": 8118, - "end": 8124, - "length": 7, - "parent_index": 338 - }, - "parameters": [ - { - "id": 347, + "id": 350, "node_type": 44, "src": { "line": 258, - "column": 29, - "start": 8118, - "end": 8124, - "length": 7, - "parent_index": 346 + "column": 41, + "start": 7786, + "end": 7799, + "length": 14, + "parent_index": 347 }, - "scope": 338, - "name": "", + "scope": 346, + "name": "amount", "type_name": { - "id": 348, + "id": 351, "node_type": 30, "src": { "line": 258, - "column": 29, - "start": 8118, - "end": 8124, + "column": 41, + "start": 7786, + "end": 7792, "length": 7, - "parent_index": 347 + "parent_index": 350 }, "name": "uint256", "referenced_declaration": 0, @@ -6957,320 +6910,263 @@ } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" - } - }, - { - "id": 362, - "name": "div", - "node_type": 42, - "kind": 41, - "src": { - "line": 277, - "column": 4, - "start": 8717, - "end": 8946, - "length": 230, - "parent_index": 121 - }, - "name_location": { - "line": 277, - "column": 13, - "start": 8726, - "end": 8728, - "length": 3, - "parent_index": 362 - }, - "body": { - "id": 373, - "node_type": 46, - "kind": 0, + "return_parameters": { + "id": 352, + "node_type": 43, "src": { - "line": 281, - "column": 38, - "start": 8842, - "end": 8946, - "length": 105, - "parent_index": 362 + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 346 }, - "implemented": true, - "statements": [ + "parameters": [ { - "id": 374, - "node_type": 59, - "kind": 0, + "id": 353, + "node_type": 44, "src": { - "line": 282, - "column": 8, - "start": 8852, - "end": 8940, - "length": 89, - "parent_index": 121 - }, - "implemented": false, - "statements": [ - { - "id": 375, - "node_type": 24, - "kind": 24, - "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8903, - "length": 28, - "parent_index": 374 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 377, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8888, - "length": 5, - "parent_index": 375 - }, - "operator": 7, - "left_expression": { - "id": 378, - "node_type": 16, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8884, - "length": 1, - "parent_index": 377 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 378, - "is_pure": false - }, - "right_expression": { - "id": 379, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 283, - "column": 24, - "start": 8888, - "end": 8888, - "length": 1, - "parent_index": 377 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 380, - "node_type": 16, - "src": { - "line": 283, - "column": 27, - "start": 8891, - "end": 8902, - "length": 12, - "parent_index": 375 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 380, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 376, - "node_type": 16, - "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8882, - "length": 7, - "parent_index": 375 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } - }, - { - "id": 381, - "node_type": 47, - "src": { - "line": 284, - "column": 12, - "start": 8918, - "end": 8930, - "length": 13, - "parent_index": 362 - }, - "function_return_parameters": 362, - "expression": { - "id": 382, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8929, - "length": 5, - "parent_index": 381 - }, - "operator": 4, - "left_expression": { - "id": 383, - "node_type": 16, - "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8925, - "length": 1, - "parent_index": 382 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 383, - "is_pure": false - }, - "right_expression": { - "id": 384, - "node_type": 16, - "src": { - "line": 284, - "column": 23, - "start": 8929, - "end": 8929, - "length": 1, - "parent_index": 382 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 384, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 352 + }, + "scope": 346, + "name": "", + "type_name": { + "id": 354, + "node_type": 30, + "src": { + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 353 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" } - ] + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" } ] }, + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" + }, + { + "id": 357, + "name": "allowance", + "node_type": 42, + "kind": 41, + "src": { + "line": 267, + "column": 4, + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 326 + }, + "name_location": { + "line": 267, + "column": 13, + "start": 8110, + "end": 8118, + "length": 9, + "parent_index": 357 + }, + "body": { + "id": 366, + "node_type": 46, + "kind": 0, + "src": { + "line": 267, + "column": 4, + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 357 + }, + "implemented": false, + "statements": [] + }, "implemented": false, - "visibility": 1, - "state_mutability": 6, + "visibility": 4, + "state_mutability": 5, "virtual": false, "modifiers": [], "overrides": [], "parameters": { + "id": 358, + "node_type": 43, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8149, + "length": 30, + "parent_index": 357 + }, + "parameters": [ + { + "id": 359, + "node_type": 44, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8132, + "length": 13, + "parent_index": 358 + }, + "scope": 357, + "name": "owner", + "type_name": { + "id": 360, + "node_type": 30, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8126, + "length": 7, + "parent_index": 359 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 361, + "node_type": 44, + "src": { + "line": 267, + "column": 38, + "start": 8135, + "end": 8149, + "length": 15, + "parent_index": 358 + }, + "scope": 357, + "name": "spender", + "type_name": { + "id": 362, + "node_type": 30, + "src": { + "line": 267, + "column": 38, + "start": 8135, + "end": 8141, + "length": 7, + "parent_index": 361 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { "id": 363, "node_type": 43, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8802, - "length": 64, - "parent_index": 362 + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 357 }, "parameters": [ { "id": 364, "node_type": 44, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8747, - "length": 9, + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, "parent_index": 363 }, - "scope": 362, - "name": "a", + "scope": 357, + "name": "", "type_name": { "id": 365, "node_type": 30, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8745, + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, "length": 7, "parent_index": 364 }, @@ -7288,509 +7184,622 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" + }, + { + "id": 368, + "name": "approve", + "node_type": 42, + "kind": 41, + "src": { + "line": 283, + "column": 4, + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 326 + }, + "name_location": { + "line": 283, + "column": 13, + "start": 8846, + "end": 8852, + "length": 7, + "parent_index": 368 + }, + "body": { + "id": 377, + "node_type": 46, + "kind": 0, + "src": { + "line": 283, + "column": 4, + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 368 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 369, + "node_type": 43, + "src": { + "line": 283, + "column": 21, + "start": 8854, + "end": 8884, + "length": 31, + "parent_index": 368 + }, + "parameters": [ { - "id": 366, + "id": 370, "node_type": 44, "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8766, - "length": 9, - "parent_index": 363 + "line": 283, + "column": 21, + "start": 8854, + "end": 8868, + "length": 15, + "parent_index": 369 }, - "scope": 362, - "name": "b", + "scope": 368, + "name": "spender", "type_name": { - "id": 367, + "id": 371, "node_type": 30, "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8764, + "line": 283, + "column": 21, + "start": 8854, + "end": 8860, "length": 7, - "parent_index": 366 + "parent_index": 370 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 368, + "id": 372, "node_type": 44, "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8802, - "length": 26, - "parent_index": 363 + "line": 283, + "column": 38, + "start": 8871, + "end": 8884, + "length": 14, + "parent_index": 369 }, - "scope": 362, - "name": "errorMessage", + "scope": 368, + "name": "amount", "type_name": { - "id": 369, + "id": 373, "node_type": 30, "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8782, - "length": 6, - "parent_index": 368 + "line": 283, + "column": 38, + "start": 8871, + "end": 8877, + "length": 7, + "parent_index": 372 }, - "name": "string", + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, { "type_identifier": "t_uint256", "type_string": "uint256" - }, - { - "type_identifier": "t_string", - "type_string": "string" } ] }, "return_parameters": { - "id": 370, + "id": 374, "node_type": 43, - "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, - "length": 7, - "parent_index": 362 + "src": { + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 368 }, "parameters": [ { - "id": 371, + "id": 375, "node_type": 44, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, - "length": 7, - "parent_index": 370 + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 374 }, - "scope": 362, + "scope": 368, "name": "", "type_name": { - "id": 372, + "id": 376, "node_type": 30, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, - "length": 7, - "parent_index": 371 + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 375 }, - "name": "uint256", + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", - "scope": 121, + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", + "scope": 326, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" - } + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { - "id": 386, - "name": "mod", + "id": 379, + "name": "transferFrom", "node_type": 42, "kind": 41, "src": { - "line": 303, + "line": 294, "column": 4, - "start": 9593, - "end": 9822, - "length": 230, - "parent_index": 121 + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 326 }, "name_location": { - "line": 303, + "line": 294, "column": 13, - "start": 9602, - "end": 9604, - "length": 3, - "parent_index": 386 + "start": 9227, + "end": 9238, + "length": 12, + "parent_index": 379 }, "body": { - "id": 397, + "id": 390, "node_type": 46, "kind": 0, "src": { - "line": 307, - "column": 38, - "start": 9718, - "end": 9822, - "length": 105, - "parent_index": 386 + "line": 294, + "column": 4, + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 379 }, - "implemented": true, - "statements": [ + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 380, + "node_type": 43, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9313, + "length": 65, + "parent_index": 379 + }, + "parameters": [ { - "id": 398, - "node_type": 59, - "kind": 0, + "id": 381, + "node_type": 44, "src": { - "line": 308, + "line": 295, "column": 8, - "start": 9728, - "end": 9816, - "length": 89, - "parent_index": 121 + "start": 9249, + "end": 9262, + "length": 14, + "parent_index": 380 }, - "implemented": false, - "statements": [ - { - "id": 399, - "node_type": 24, - "kind": 24, - "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9779, - "length": 28, - "parent_index": 398 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 401, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9764, - "length": 5, - "parent_index": 399 - }, - "operator": 7, - "left_expression": { - "id": 402, - "node_type": 16, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9760, - "length": 1, - "parent_index": 401 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 402, - "is_pure": false - }, - "right_expression": { - "id": 403, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 309, - "column": 24, - "start": 9764, - "end": 9764, - "length": 1, - "parent_index": 401 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 404, - "node_type": 16, - "src": { - "line": 309, - "column": 27, - "start": 9767, - "end": 9778, - "length": 12, - "parent_index": 399 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 400, - "node_type": 16, - "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9758, - "length": 7, - "parent_index": 399 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } + "scope": 379, + "name": "sender", + "type_name": { + "id": 382, + "node_type": 30, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9255, + "length": 7, + "parent_index": 381 }, - { - "id": 405, - "node_type": 47, - "src": { - "line": 310, - "column": 12, - "start": 9794, - "end": 9806, - "length": 13, - "parent_index": 386 - }, - "function_return_parameters": 386, - "expression": { - "id": 406, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9805, - "length": 5, - "parent_index": 405 - }, - "operator": 5, - "left_expression": { - "id": 407, - "node_type": 16, - "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9801, - "length": 1, - "parent_index": 406 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 407, - "is_pure": false - }, - "right_expression": { - "id": 408, - "node_type": 16, - "src": { - "line": 310, - "column": 23, - "start": 9805, - "end": 9805, - "length": 1, - "parent_index": 406 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 408, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 383, + "node_type": 44, + "src": { + "line": 296, + "column": 8, + "start": 9273, + "end": 9289, + "length": 17, + "parent_index": 380 + }, + "scope": 379, + "name": "recipient", + "type_name": { + "id": 384, + "node_type": 30, + "src": { + "line": 296, + "column": 8, + "start": 9273, + "end": 9279, + "length": 7, + "parent_index": 383 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 385, + "node_type": 44, + "src": { + "line": 297, + "column": 8, + "start": 9300, + "end": 9313, + "length": 14, + "parent_index": 380 + }, + "scope": 379, + "name": "amount", + "type_name": { + "id": 386, + "node_type": 30, + "src": { + "line": 297, + "column": 8, + "start": 9300, + "end": 9306, + "length": 7, + "parent_index": 385 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, - "implemented": false, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { + "return_parameters": { "id": 387, "node_type": 43, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9678, - "length": 64, - "parent_index": 386 + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 379 }, "parameters": [ { "id": 388, "node_type": 44, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9623, - "length": 9, + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, "parent_index": 387 }, - "scope": 386, - "name": "a", + "scope": 379, + "name": "", "type_name": { "id": 389, "node_type": 30, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9621, - "length": 7, + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, "parent_index": 388 }, - "name": "uint256", + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] + }, + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", + "type_string": "function(address,address,uint256)" + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" + }, + { + "id": 392, + "node_type": 57, + "src": { + "line": 306, + "column": 4, + "start": 9514, + "end": 9585, + "length": 72, + "parent_index": 326 + }, + "parameters": { + "id": 393, + "node_type": 43, + "src": { + "line": 306, + "column": 4, + "start": 9514, + "end": 9585, + "length": 72, + "parent_index": 392 + }, + "parameters": [ + { + "id": 394, + "node_type": 44, + "src": { + "line": 306, + "column": 19, + "start": 9529, + "end": 9548, + "length": 20, + "parent_index": 393 + }, + "scope": 392, + "name": "from", + "type_name": { + "id": 395, + "node_type": 30, + "src": { + "line": 306, + "column": 19, + "start": 9529, + "end": 9535, + "length": 7, + "parent_index": 394 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true }, { - "id": 390, + "id": 396, "node_type": 44, "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9642, - "length": 9, - "parent_index": 387 + "line": 306, + "column": 41, + "start": 9551, + "end": 9568, + "length": 18, + "parent_index": 393 }, - "scope": 386, - "name": "b", + "scope": 392, + "name": "to", "type_name": { - "id": 391, + "id": 397, "node_type": 30, "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9640, + "line": 306, + "column": 41, + "start": 9551, + "end": 9557, + "length": 7, + "parent_index": 396 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 398, + "node_type": 44, + "src": { + "line": 306, + "column": 61, + "start": 9571, + "end": 9583, + "length": 13, + "parent_index": 393 + }, + "scope": 392, + "name": "value", + "type_name": { + "id": 399, + "node_type": 30, + "src": { + "line": 306, + "column": 61, + "start": 9571, + "end": 9577, "length": 7, - "parent_index": 390 + "parent_index": 398 }, "name": "uint256", "referenced_declaration": 0, @@ -7806,97 +7815,158 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" }, { - "id": 392, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "name": "Transfer", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026392", + "type_string": "event IERC20.Transfer" + } + }, + { + "id": 401, + "node_type": 57, + "src": { + "line": 312, + "column": 4, + "start": 9745, + "end": 9822, + "length": 78, + "parent_index": 326 + }, + "parameters": { + "id": 402, + "node_type": 43, + "src": { + "line": 312, + "column": 4, + "start": 9745, + "end": 9822, + "length": 78, + "parent_index": 401 + }, + "parameters": [ + { + "id": 403, "node_type": 44, "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9678, - "length": 26, - "parent_index": 387 + "line": 312, + "column": 19, + "start": 9760, + "end": 9780, + "length": 21, + "parent_index": 402 + }, + "scope": 401, + "name": "owner", + "type_name": { + "id": 404, + "node_type": 30, + "src": { + "line": 312, + "column": 19, + "start": 9760, + "end": 9766, + "length": 7, + "parent_index": 403 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 405, + "node_type": 44, + "src": { + "line": 312, + "column": 42, + "start": 9783, + "end": 9805, + "length": 23, + "parent_index": 402 }, - "scope": 386, - "name": "errorMessage", + "scope": 401, + "name": "spender", "type_name": { - "id": 393, + "id": 406, "node_type": 30, "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9658, - "length": 6, - "parent_index": 392 + "line": 312, + "column": 42, + "start": 9783, + "end": 9789, + "length": 7, + "parent_index": 405 }, - "name": "string", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true }, { - "type_identifier": "t_string", - "type_string": "string" - } - ] - }, - "return_parameters": { - "id": 394, - "node_type": 43, - "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 386 - }, - "parameters": [ - { - "id": 395, + "id": 407, "node_type": 44, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 394 + "line": 312, + "column": 67, + "start": 9808, + "end": 9820, + "length": 13, + "parent_index": 402 }, - "scope": 386, - "name": "", + "scope": 401, + "name": "value", "type_name": { - "id": 396, + "id": 408, "node_type": 30, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, + "line": 312, + "column": 67, + "start": 9808, + "end": 9814, "length": 7, - "parent_index": 395 + "parent_index": 407 }, "name": "uint256", "referenced_declaration": 0, @@ -7915,34 +7985,41 @@ } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", - "scope": 121, + "name": "Approval", + "anonymous": false, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" + "type_identifier": "t_event\u0026_IERC20_Approval_\u0026401", + "type_string": "event IERC20.Approval" } } ], "linearized_base_contracts": [ - 121 + 326 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 100, + "line": 240, "column": 0, - "start": 3349, + "start": 7229, "end": 9824, - "length": 6476, + "length": 2596, "parent_index": 30 } }, @@ -7957,12 +8034,12 @@ "absolute_path": "TokenSale.sol" }, { - "id": 118, + "id": 31, "name": "SafeMath", "absolute_path": "SafeMath.sol" }, { - "id": 31, + "id": 321, "name": "IERC20", "absolute_path": "IERC20.sol" } @@ -8012,7 +8089,7 @@ "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 118 + "source_unit": 321 }, { "id": 414, @@ -8031,7 +8108,7 @@ "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 118 + "source_unit": 321 }, { "id": 415, @@ -8102,7 +8179,7 @@ "parent_index": 417 }, "name": "SafeMath", - "referenced_declaration": 118 + "referenced_declaration": 31 } }, { @@ -8121,7 +8198,7 @@ }, "scope": 415, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "visibility": 2, @@ -8142,7 +8219,7 @@ "id": 423, "name": "IERC20", "node_type": 52, - "referenced_declaration": 31, + "referenced_declaration": 321, "src": { "line": 324, "column": 4, @@ -8160,9 +8237,9 @@ "parent_index": 422 } }, - "referenced_declaration": 31, + "referenced_declaration": 321, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, @@ -8558,12 +8635,13 @@ }, "name": "token", "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "overloaded_declarations": [], "referenced_declaration": 421, - "is_pure": false + "is_pure": false, + "text": "token" }, "right_expression": { "id": 449, @@ -8602,7 +8680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 451, - "is_pure": false + "is_pure": false, + "text": "_tokenAddress" } ], "expression": { @@ -8623,7 +8702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8631,14 +8711,15 @@ } }, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" - } + }, + "text": "token=IERC20(_tokenAddress);" }, { "id": 452, @@ -8681,7 +8762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 455, @@ -8724,14 +8806,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_address", @@ -8741,7 +8825,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "owner=msg.sender;" }, { "id": 457, @@ -8784,7 +8869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "tokenPrice" }, "right_expression": { "id": 460, @@ -8804,7 +8890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "_tokenPrice" }, "type_description": { "type_identifier": "t_uint256", @@ -8814,7 +8901,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenPrice=_tokenPrice;" } ] } @@ -8951,7 +9039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "tokenPrice" } ], "expression": { @@ -8995,14 +9084,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "_amount" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_amount.mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -9055,7 +9146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 479, @@ -9098,7 +9190,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -9110,7 +9203,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 481, @@ -9140,7 +9234,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" } ], "expression": { @@ -9179,19 +9274,21 @@ }, "name": "token", "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "overloaded_declarations": [], "referenced_declaration": 421, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -9251,14 +9348,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 485, @@ -9278,7 +9377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 485, - "is_pure": false + "is_pure": false, + "text": "_amount" } ], "expression": { @@ -9299,7 +9399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 431, - "is_pure": false + "is_pure": false, + "text": "TokensPurchased" } } ] @@ -9389,7 +9490,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbuyTokens(uint256_amount)external{uint256totalPrice=_amount.mul(tokenPrice);token.transferFrom(owner,msg.sender,_amount);emitTokensPurchased(msg.sender,_amount);}" } ], "linearized_base_contracts": [ @@ -9434,350 +9536,350 @@ "line": 5, "column": 0, "start": 58, - "end": 127, - "length": 70, + "end": 620, + "length": 563, "parent_index": 3 }, "node_type": 32, - "text": "/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */" + "text": "/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */" }, { "id": 3, "src": { - "line": 9, + "line": 19, "column": 4, - "start": 152, - "end": 217, - "length": 66, + "start": 645, + "end": 775, + "length": 131, "parent_index": 4 }, "node_type": 32, - "text": "/**\n * @dev Returns the amount of tokens in existence.\n */" + "text": "/**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" }, { "id": 4, "src": { - "line": 14, + "line": 32, "column": 4, - "start": 284, - "end": 355, - "length": 72, + "start": 1003, + "end": 1137, + "length": 135, "parent_index": 5 }, "node_type": 32, - "text": "/**\n * @dev Returns the amount of tokens owned by `account`.\n */" + "text": "/**\n * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" }, { "id": 5, "src": { - "line": 19, + "line": 44, "column": 4, - "start": 435, - "end": 643, - "length": 209, + "start": 1338, + "end": 1474, + "length": 137, "parent_index": 6 }, "node_type": 32, - "text": "/**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" + "text": "/**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" }, { "id": 6, "src": { - "line": 28, - "column": 4, - "start": 732, - "end": 995, - "length": 264, + "line": 51, + "column": 12, + "start": 1590, + "end": 1668, + "length": 79, "parent_index": 7 }, - "node_type": 32, - "text": "/**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */" + "node_type": 31, + "text": "// Gas optimization: this is cheaper than requiring 'a' not being zero, but the" }, { "id": 7, "src": { - "line": 37, - "column": 4, - "start": 1090, - "end": 1731, - "length": 642, + "line": 52, + "column": 12, + "start": 1682, + "end": 1722, + "length": 41, "parent_index": 8 }, - "node_type": 32, - "text": "/**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race condition\n * is to first reduce the spender's allowance to 0 and set the desired value\n * afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */" + "node_type": 31, + "text": "// benefit is lost if 'b' is also tested." }, { "id": 8, "src": { "line": 53, - "column": 4, - "start": 1817, - "end": 2112, - "length": 296, + "column": 12, + "start": 1736, + "end": 1806, + "length": 71, "parent_index": 9 }, - "node_type": 32, - "text": "/**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" + "node_type": 31, + "text": "// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522" }, { "id": 9, "src": { - "line": 68, + "line": 61, "column": 4, - "start": 2251, - "end": 2408, - "length": 158, + "start": 1979, + "end": 2116, + "length": 138, "parent_index": 10 }, "node_type": 32, - "text": "/**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */" + "text": "/**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" }, { "id": 10, "src": { - "line": 76, + "line": 73, "column": 4, - "start": 2492, - "end": 2639, + "start": 2318, + "end": 2465, "length": 148, "parent_index": 11 }, "node_type": 32, - "text": "/**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */" + "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" }, { "id": 11, "src": { - "line": 83, - "column": 0, - "start": 2727, - "end": 2757, - "length": 31, + "line": 85, + "column": 4, + "start": 2667, + "end": 2890, + "length": 224, "parent_index": 12 }, - "node_type": 33, - "text": "// SPDX-License-Identifier: MIT" + "node_type": 32, + "text": "/**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */" }, { "id": 12, "src": { - "line": 87, - "column": 0, - "start": 2785, - "end": 3347, - "length": 563, + "line": 99, + "column": 4, + "start": 2998, + "end": 3257, + "length": 260, "parent_index": 13 }, "node_type": 32, - "text": "/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */" + "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" }, { "id": 13, "src": { - "line": 101, + "line": 113, "column": 4, - "start": 3372, - "end": 3502, - "length": 131, + "start": 3365, + "end": 3600, + "length": 236, "parent_index": 14 }, "node_type": 32, - "text": "/**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" + "text": "/**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */" }, { "id": 14, "src": { - "line": 114, + "line": 127, "column": 4, - "start": 3730, - "end": 3864, - "length": 135, + "start": 3708, + "end": 4160, + "length": 453, "parent_index": 15 }, "node_type": 32, - "text": "/**\n * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" + "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" }, { "id": 15, "src": { - "line": 126, + "line": 143, "column": 4, - "start": 4065, - "end": 4201, - "length": 137, + "start": 4268, + "end": 4709, + "length": 442, "parent_index": 16 }, "node_type": 32, - "text": "/**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" + "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" }, { "id": 16, "src": { - "line": 133, - "column": 12, - "start": 4317, - "end": 4395, - "length": 79, + "line": 159, + "column": 4, + "start": 4817, + "end": 5269, + "length": 453, "parent_index": 17 }, - "node_type": 31, - "text": "// Gas optimization: this is cheaper than requiring 'a' not being zero, but the" + "node_type": 32, + "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" }, { "id": 17, "src": { - "line": 134, - "column": 12, - "start": 4409, - "end": 4449, - "length": 41, + "line": 183, + "column": 4, + "start": 5512, + "end": 5984, + "length": 473, "parent_index": 18 }, - "node_type": 31, - "text": "// benefit is lost if 'b' is also tested." + "node_type": 32, + "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" }, { "id": 18, "src": { - "line": 135, - "column": 12, - "start": 4463, - "end": 4533, - "length": 71, + "line": 206, + "column": 4, + "start": 6226, + "end": 6860, + "length": 635, "parent_index": 19 }, - "node_type": 31, - "text": "// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522" + "node_type": 32, + "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" }, { "id": 19, "src": { - "line": 143, - "column": 4, - "start": 4706, - "end": 4843, - "length": 138, + "line": 233, + "column": 0, + "start": 7100, + "end": 7130, + "length": 31, "parent_index": 20 }, - "node_type": 32, - "text": "/**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" + "node_type": 33, + "text": "// SPDX-License-Identifier: MIT" }, { "id": 20, "src": { - "line": 155, - "column": 4, - "start": 5045, - "end": 5192, - "length": 148, + "line": 237, + "column": 0, + "start": 7158, + "end": 7227, + "length": 70, "parent_index": 21 }, "node_type": 32, - "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" + "text": "/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */" }, { "id": 21, "src": { - "line": 167, + "line": 241, "column": 4, - "start": 5394, - "end": 5617, - "length": 224, + "start": 7252, + "end": 7317, + "length": 66, "parent_index": 22 }, "node_type": 32, - "text": "/**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */" + "text": "/**\n * @dev Returns the amount of tokens in existence.\n */" }, { "id": 22, "src": { - "line": 181, + "line": 246, "column": 4, - "start": 5725, - "end": 5984, - "length": 260, + "start": 7384, + "end": 7455, + "length": 72, "parent_index": 23 }, "node_type": 32, - "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" + "text": "/**\n * @dev Returns the amount of tokens owned by `account`.\n */" }, { "id": 23, "src": { - "line": 195, + "line": 251, "column": 4, - "start": 6092, - "end": 6327, - "length": 236, + "start": 7535, + "end": 7743, + "length": 209, "parent_index": 24 }, "node_type": 32, - "text": "/**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */" + "text": "/**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" }, { "id": 24, "src": { - "line": 209, + "line": 260, "column": 4, - "start": 6435, - "end": 6887, - "length": 453, + "start": 7832, + "end": 8095, + "length": 264, "parent_index": 25 }, "node_type": 32, - "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + "text": "/**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */" }, { "id": 25, "src": { - "line": 225, + "line": 269, "column": 4, - "start": 6995, - "end": 7436, - "length": 442, + "start": 8190, + "end": 8831, + "length": 642, "parent_index": 26 }, "node_type": 32, - "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + "text": "/**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race condition\n * is to first reduce the spender's allowance to 0 and set the desired value\n * afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */" }, { "id": 26, "src": { - "line": 241, + "line": 285, "column": 4, - "start": 7544, - "end": 7996, - "length": 453, + "start": 8917, + "end": 9212, + "length": 296, "parent_index": 27 }, "node_type": 32, - "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" + "text": "/**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" }, { "id": 27, "src": { - "line": 265, + "line": 300, "column": 4, - "start": 8239, - "end": 8711, - "length": 473, + "start": 9351, + "end": 9508, + "length": 158, "parent_index": 28 }, "node_type": 32, - "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + "text": "/**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */" }, { "id": 28, "src": { - "line": 288, + "line": 308, "column": 4, - "start": 8953, - "end": 9587, - "length": 635, + "start": 9592, + "end": 9739, + "length": 148, "parent_index": 29 }, "node_type": 32, - "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + "text": "/**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */" }, { "id": 29, diff --git a/data/tests/ast/TokenSale.solgo.ast.proto.json b/data/tests/ast/TokenSale.solgo.ast.proto.json index 09ffb02c..577882cc 100644 --- a/data/tests/ast/TokenSale.solgo.ast.proto.json +++ b/data/tests/ast/TokenSale.solgo.ast.proto.json @@ -4,28 +4,110 @@ "node_type": 80, "global_nodes": [ { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "id": "487", + "isConstant": true, + "isStateVariable": true, + "name": "c", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "899", + "length": "9", + "line": "26", + "start": "891" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "488", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "897", + "length": "7", + "line": "26", + "parentIndex": "487", + "start": "891" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "489", + "isConstant": true, + "isStateVariable": true, + "name": "c", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "1870", + "length": "9", + "line": "55", + "start": "1862" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "490", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "1868", + "length": "7", + "line": "55", + "parentIndex": "489", + "start": "1862" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "491", "name": "Transfer", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "488", + "id": "492", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "489", + "id": "493", "indexed": true, "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "489", + "scope": "493", "src": { "column": "19", - "end": "2448", + "end": "9548", "length": "20", - "line": "74", - "parentIndex": "488", - "start": "2429" + "line": "306", + "parentIndex": "492", + "start": "9529" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -34,16 +116,16 @@ "typeString": "address" }, "typeName": { - "id": "490", + "id": "494", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "19", - "end": "2435", + "end": "9535", "length": "7", - "line": "74", - "parentIndex": "489", - "start": "2429" + "line": "306", + "parentIndex": "493", + "start": "9529" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -54,18 +136,18 @@ "visibility": "INTERNAL" }, { - "id": "491", + "id": "495", "indexed": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "491", + "scope": "495", "src": { "column": "41", - "end": "2468", + "end": "9568", "length": "18", - "line": "74", - "parentIndex": "488", - "start": "2451" + "line": "306", + "parentIndex": "492", + "start": "9551" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -74,16 +156,16 @@ "typeString": "address" }, "typeName": { - "id": "492", + "id": "496", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "41", - "end": "2457", + "end": "9557", "length": "7", - "line": "74", - "parentIndex": "491", - "start": "2451" + "line": "306", + "parentIndex": "495", + "start": "9551" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -94,17 +176,17 @@ "visibility": "INTERNAL" }, { - "id": "493", + "id": "497", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "493", + "scope": "497", "src": { "column": "61", - "end": "2483", + "end": "9583", "length": "13", - "line": "74", - "parentIndex": "488", - "start": "2471" + "line": "306", + "parentIndex": "492", + "start": "9571" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -113,16 +195,16 @@ "typeString": "uint256" }, "typeName": { - "id": "494", + "id": "498", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "61", - "end": "2477", + "end": "9577", "length": "7", - "line": "74", - "parentIndex": "493", - "start": "2471" + "line": "306", + "parentIndex": "497", + "start": "9571" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -134,22 +216,22 @@ ], "src": { "column": "4", - "end": "2485", + "end": "9585", "length": "72", - "line": "74", - "parentIndex": "487", - "start": "2414" + "line": "306", + "parentIndex": "491", + "start": "9514" } }, "src": { "column": "4", - "end": "2485", + "end": "9585", "length": "72", - "line": "74", - "start": "2414" + "line": "306", + "start": "9514" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Transfer_\u0026487", + "typeIdentifier": "t_event\u0026_Global_Transfer_\u0026491", "typeString": "event Global.Transfer" } } @@ -157,26 +239,26 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "495", + "id": "499", "name": "Approval", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "496", + "id": "500", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "497", + "id": "501", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "497", + "scope": "501", "src": { "column": "19", - "end": "2680", + "end": "9780", "length": "21", - "line": "80", - "parentIndex": "496", - "start": "2660" + "line": "312", + "parentIndex": "500", + "start": "9760" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -185,16 +267,16 @@ "typeString": "address" }, "typeName": { - "id": "498", + "id": "502", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "19", - "end": "2666", + "end": "9766", "length": "7", - "line": "80", - "parentIndex": "497", - "start": "2660" + "line": "312", + "parentIndex": "501", + "start": "9760" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -205,18 +287,18 @@ "visibility": "INTERNAL" }, { - "id": "499", + "id": "503", "indexed": true, "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "499", + "scope": "503", "src": { "column": "42", - "end": "2705", + "end": "9805", "length": "23", - "line": "80", - "parentIndex": "496", - "start": "2683" + "line": "312", + "parentIndex": "500", + "start": "9783" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -225,16 +307,16 @@ "typeString": "address" }, "typeName": { - "id": "500", + "id": "504", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "42", - "end": "2689", + "end": "9789", "length": "7", - "line": "80", - "parentIndex": "499", - "start": "2683" + "line": "312", + "parentIndex": "503", + "start": "9783" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -245,17 +327,17 @@ "visibility": "INTERNAL" }, { - "id": "501", + "id": "505", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "501", + "scope": "505", "src": { "column": "67", - "end": "2720", + "end": "9820", "length": "13", - "line": "80", - "parentIndex": "496", - "start": "2708" + "line": "312", + "parentIndex": "500", + "start": "9808" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -264,16 +346,16 @@ "typeString": "uint256" }, "typeName": { - "id": "502", + "id": "506", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "67", - "end": "2714", + "end": "9814", "length": "7", - "line": "80", - "parentIndex": "501", - "start": "2708" + "line": "312", + "parentIndex": "505", + "start": "9808" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -285,108 +367,26 @@ ], "src": { "column": "4", - "end": "2722", + "end": "9822", "length": "78", - "line": "80", - "parentIndex": "495", - "start": "2645" + "line": "312", + "parentIndex": "499", + "start": "9745" } }, "src": { "column": "4", - "end": "2722", + "end": "9822", "length": "78", - "line": "80", - "start": "2645" + "line": "312", + "start": "9745" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Approval_\u0026495", + "typeIdentifier": "t_event\u0026_Global_Approval_\u0026499", "typeString": "event Global.Approval" } } }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "503", - "isConstant": true, - "isStateVariable": true, - "name": "c", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "12", - "end": "3626", - "length": "9", - "line": "108", - "start": "3618" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "504", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "3624", - "length": "7", - "line": "108", - "parentIndex": "503", - "start": "3618" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "505", - "isConstant": true, - "isStateVariable": true, - "name": "c", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "12", - "end": "4597", - "length": "9", - "line": "137", - "start": "4589" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "506", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "4595", - "length": "7", - "line": "137", - "parentIndex": "505", - "start": "4589" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" - } - }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { @@ -404,7 +404,7 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$31", + "typeIdentifier": "t_contract$_IERC20_$321", "typeString": "contract IERC20" }, "typeName": { @@ -422,7 +422,7 @@ "start": "9991" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "31", + "referencedDeclaration": "321", "src": { "column": "4", "end": "9996", @@ -432,7 +432,7 @@ "start": "9991" } }, - "referencedDeclaration": "31", + "referencedDeclaration": "321", "src": { "column": "4", "end": "9996", @@ -442,7 +442,7 @@ "start": "9991" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$31", + "typeIdentifier": "t_contract$_IERC20_$321", "typeString": "contract IERC20" } }, @@ -686,13 +686,13 @@ { "id": 31, "license": "MIT", - "name": "IERC20", - "absolute_path": "IERC20.sol", + "name": "SafeMath", + "absolute_path": "SafeMath.sol", "exported_symbols": [ { "id": 31, - "name": "IERC20", - "absolute_path": "IERC20.sol" + "name": "SafeMath", + "absolute_path": "SafeMath.sol" } ], "node_type": 1, @@ -728,19 +728,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "35", - "kind": "KIND_INTERFACE", + "id": "33", + "kind": "KIND_LIBRARY", "linearizedBaseContracts": [ - "35" + "33" ], - "name": "IERC20", + "name": "SafeMath", "nameLocation": { - "column": "10", - "end": "144", - "length": "6", - "line": "8", - "parentIndex": "35", - "start": "139" + "column": "8", + "end": "637", + "length": "8", + "line": "18", + "parentIndex": "33", + "start": "630" }, "nodeType": "CONTRACT_DEFINITION", "nodes": [ @@ -748,1188 +748,398 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "44", + "id": "46", + "implemented": true, "nodeType": "BLOCK", "src": { - "column": "4", - "end": "277", - "length": "55", - "line": "12", - "parentIndex": "37", - "start": "223" - } - }, - "id": "37", - "kind": "KIND_FUNCTION", - "name": "totalSupply", - "nameLocation": { - "column": "13", - "end": "242", - "length": "11", - "line": "12", - "parentIndex": "37", - "start": "232" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "38", - "nodeType": "PARAMETER_LIST", - "parameters": [ + "column": "80", + "end": "996", + "length": "140", + "line": "24", + "parentIndex": "35", + "start": "857" + }, + "statements": [ { - "id": "39", - "nodeType": "VARIABLE_DECLARATION", - "scope": "39", - "src": { - "column": "50", - "end": "275", - "length": "7", - "line": "12", - "parentIndex": "38", - "start": "269" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "40", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", + "value": { + "id": "47", + "nodeType": "UNCHECKED_BLOCK", "src": { - "column": "50", - "end": "275", - "length": "7", - "line": "12", - "parentIndex": "39", - "start": "269" + "column": "8", + "end": "990", + "length": "124", + "line": "25", + "parentIndex": "33", + "start": "867" }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "50", - "end": "275", - "length": "7", - "line": "12", - "parentIndex": "37", - "start": "269" - } - }, - "returnParameters": { - "id": "41", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "42", - "nodeType": "VARIABLE_DECLARATION", - "scope": "42", - "src": { - "column": "50", - "end": "275", - "length": "7", - "line": "12", - "parentIndex": "41", - "start": "269" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "43", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "50", - "end": "275", - "length": "7", - "line": "12", - "parentIndex": "42", - "start": "269" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "50", - "end": "275", - "length": "7", - "line": "12", - "parentIndex": "37", - "start": "269" - } - }, - "scope": "35", - "signature": "bd85b039", - "src": { - "column": "4", - "end": "277", - "length": "55", - "line": "12", - "parentIndex": "35", - "start": "223" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "53", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "428", - "length": "68", - "line": "17", - "parentIndex": "46", - "start": "361" - } - }, - "id": "46", - "kind": "KIND_FUNCTION", - "name": "balanceOf", - "nameLocation": { - "column": "13", - "end": "378", - "length": "9", - "line": "17", - "parentIndex": "46", - "start": "370" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "47", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "48", - "name": "account", - "nodeType": "VARIABLE_DECLARATION", - "scope": "48", - "src": { - "column": "23", - "end": "394", - "length": "15", - "line": "17", - "parentIndex": "47", - "start": "380" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "49", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "23", - "end": "386", - "length": "7", - "line": "17", - "parentIndex": "48", - "start": "380" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "23", - "end": "394", - "length": "15", - "line": "17", - "parentIndex": "46", - "start": "380" - } - }, - "returnParameters": { - "id": "50", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "51", - "nodeType": "VARIABLE_DECLARATION", - "scope": "51", - "src": { - "column": "63", - "end": "426", - "length": "7", - "line": "17", - "parentIndex": "50", - "start": "420" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "52", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "63", - "end": "426", - "length": "7", - "line": "17", - "parentIndex": "51", - "start": "420" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "63", - "end": "426", - "length": "7", - "line": "17", - "parentIndex": "46", - "start": "420" - } - }, - "scope": "35", - "signature": "70a08231", - "src": { - "column": "4", - "end": "428", - "length": "68", - "line": "17", - "parentIndex": "35", - "start": "361" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "64", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "725", - "length": "77", - "line": "26", - "parentIndex": "55", - "start": "649" - } - }, - "id": "55", - "kind": "KIND_FUNCTION", - "name": "transfer", - "nameLocation": { - "column": "13", - "end": "665", - "length": "8", - "line": "26", - "parentIndex": "55", - "start": "658" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "56", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "57", - "name": "recipient", - "nodeType": "VARIABLE_DECLARATION", - "scope": "57", - "src": { - "column": "22", - "end": "683", - "length": "17", - "line": "26", - "parentIndex": "56", - "start": "667" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "58", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "22", - "end": "673", - "length": "7", - "line": "26", - "parentIndex": "57", - "start": "667" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "59", - "name": "amount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "59", - "src": { - "column": "41", - "end": "699", - "length": "14", - "line": "26", - "parentIndex": "56", - "start": "686" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "60", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "41", - "end": "692", - "length": "7", - "line": "26", - "parentIndex": "59", - "start": "686" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "22", - "end": "699", - "length": "33", - "line": "26", - "parentIndex": "55", - "start": "667" - } - }, - "returnParameters": { - "id": "61", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "62", - "nodeType": "VARIABLE_DECLARATION", - "scope": "62", - "src": { - "column": "75", - "end": "723", - "length": "4", - "line": "26", - "parentIndex": "61", - "start": "720" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "63", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "75", - "end": "723", - "length": "4", - "line": "26", - "parentIndex": "62", - "start": "720" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "75", - "end": "723", - "length": "4", - "line": "26", - "parentIndex": "55", - "start": "720" - } - }, - "scope": "35", - "signature": "9d61d234", - "src": { - "column": "4", - "end": "725", - "length": "77", - "line": "26", - "parentIndex": "35", - "start": "649" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_uint256$", - "typeString": "function(address,uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "75", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "1083", - "length": "83", - "line": "35", - "parentIndex": "66", - "start": "1001" - } - }, - "id": "66", - "kind": "KIND_FUNCTION", - "name": "allowance", - "nameLocation": { - "column": "13", - "end": "1018", - "length": "9", - "line": "35", - "parentIndex": "66", - "start": "1010" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "67", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "68", - "name": "owner", - "nodeType": "VARIABLE_DECLARATION", - "scope": "68", - "src": { - "column": "23", - "end": "1032", - "length": "13", - "line": "35", - "parentIndex": "67", - "start": "1020" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "69", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "23", - "end": "1026", - "length": "7", - "line": "35", - "parentIndex": "68", - "start": "1020" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "70", - "name": "spender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "70", - "src": { - "column": "38", - "end": "1049", - "length": "15", - "line": "35", - "parentIndex": "67", - "start": "1035" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "71", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "38", - "end": "1041", - "length": "7", - "line": "35", - "parentIndex": "70", - "start": "1035" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "23", - "end": "1049", - "length": "30", - "line": "35", - "parentIndex": "66", - "start": "1020" - } - }, - "returnParameters": { - "id": "72", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "73", - "nodeType": "VARIABLE_DECLARATION", - "scope": "73", - "src": { - "column": "78", - "end": "1081", - "length": "7", - "line": "35", - "parentIndex": "72", - "start": "1075" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "74", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "78", - "end": "1081", - "length": "7", - "line": "35", - "parentIndex": "73", - "start": "1075" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "78", - "end": "1081", - "length": "7", - "line": "35", - "parentIndex": "66", - "start": "1075" - } - }, - "scope": "35", - "signature": "69bfed33", - "src": { - "column": "4", - "end": "1083", - "length": "83", - "line": "35", - "parentIndex": "35", - "start": "1001" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "86", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "1810", - "length": "74", - "line": "51", - "parentIndex": "77", - "start": "1737" - } - }, - "id": "77", - "kind": "KIND_FUNCTION", - "name": "approve", - "nameLocation": { - "column": "13", - "end": "1752", - "length": "7", - "line": "51", - "parentIndex": "77", - "start": "1746" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "78", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "79", - "name": "spender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "79", - "src": { - "column": "21", - "end": "1768", - "length": "15", - "line": "51", - "parentIndex": "78", - "start": "1754" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "80", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "21", - "end": "1760", - "length": "7", - "line": "51", - "parentIndex": "79", - "start": "1754" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "81", - "name": "amount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "81", - "src": { - "column": "38", - "end": "1784", - "length": "14", - "line": "51", - "parentIndex": "78", - "start": "1771" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "82", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "38", - "end": "1777", - "length": "7", - "line": "51", - "parentIndex": "81", - "start": "1771" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "21", - "end": "1784", - "length": "31", - "line": "51", - "parentIndex": "77", - "start": "1754" - } - }, - "returnParameters": { - "id": "83", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "84", - "nodeType": "VARIABLE_DECLARATION", - "scope": "84", - "src": { - "column": "72", - "end": "1808", - "length": "4", - "line": "51", - "parentIndex": "83", - "start": "1805" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "85", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "72", - "end": "1808", - "length": "4", - "line": "51", - "parentIndex": "84", - "start": "1805" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "72", - "end": "1808", - "length": "4", - "line": "51", - "parentIndex": "77", - "start": "1805" - } - }, - "scope": "35", - "signature": "8b069f2a", - "src": { - "column": "4", - "end": "1810", - "length": "74", - "line": "51", - "parentIndex": "35", - "start": "1737" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_uint256$", - "typeString": "function(address,uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "99", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "2244", - "length": "127", - "line": "62", - "parentIndex": "88", - "start": "2118" - } - }, - "id": "88", - "kind": "KIND_FUNCTION", - "name": "transferFrom", - "nameLocation": { - "column": "13", - "end": "2138", - "length": "12", - "line": "62", - "parentIndex": "88", - "start": "2127" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "89", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "90", - "name": "sender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "90", - "src": { - "column": "8", - "end": "2162", - "length": "14", - "line": "63", - "parentIndex": "89", - "start": "2149" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "91", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "2155", - "length": "7", - "line": "63", - "parentIndex": "90", - "start": "2149" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "92", - "name": "recipient", - "nodeType": "VARIABLE_DECLARATION", - "scope": "92", - "src": { - "column": "8", - "end": "2189", - "length": "17", - "line": "64", - "parentIndex": "89", - "start": "2173" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "93", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "2179", - "length": "7", - "line": "64", - "parentIndex": "92", - "start": "2173" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "94", - "name": "amount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "94", - "src": { - "column": "8", - "end": "2213", - "length": "14", - "line": "65", - "parentIndex": "89", - "start": "2200" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "95", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "2206", - "length": "7", - "line": "65", - "parentIndex": "94", - "start": "2200" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "8", - "end": "2213", - "length": "65", - "line": "63", - "parentIndex": "88", - "start": "2149" - } - }, - "returnParameters": { - "id": "96", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "97", - "nodeType": "VARIABLE_DECLARATION", - "scope": "97", - "src": { - "column": "24", - "end": "2242", - "length": "4", - "line": "66", - "parentIndex": "96", - "start": "2239" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "98", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "24", - "end": "2242", - "length": "4", - "line": "66", - "parentIndex": "97", - "start": "2239" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "49" + ], + "declarations": [ + { + "id": "49", + "mutability": "MUTABLE", + "name": "c", + "nameLocation": { + "column": "20", + "end": "899", + "length": "1", + "line": "26", + "parentIndex": "49", + "start": "899" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "47", + "src": { + "column": "12", + "end": "899", + "length": "9", + "line": "26", + "parentIndex": "48", + "start": "891" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "50", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "897", + "length": "7", + "line": "26", + "parentIndex": "49", + "start": "891" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "48", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "51", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "52", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "52", + "src": { + "column": "24", + "end": "903", + "length": "1", + "line": "26", + "parentIndex": "51", + "start": "903" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "ADDITION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "53", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "53", + "src": { + "column": "28", + "end": "907", + "length": "1", + "line": "26", + "parentIndex": "51", + "start": "907" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "24", + "end": "907", + "length": "5", + "line": "26", + "parentIndex": "48", + "start": "903" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "908", + "length": "18", + "line": "26", + "parentIndex": "47", + "start": "891" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "value": { + "body": { + "id": "58", + "nodeType": "BLOCK", + "src": {} + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "55", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "56", + "name": "c", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "48", + "src": { + "column": "16", + "end": "926", + "length": "1", + "line": "27", + "parentIndex": "55", + "start": "926" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "57", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "57", + "src": { + "column": "20", + "end": "930", + "length": "1", + "line": "27", + "parentIndex": "55", + "start": "930" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "16", + "end": "930", + "length": "5", + "line": "27", + "parentIndex": "54", + "start": "926" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "54", + "nodeType": "IF_STATEMENT", + "src": { + "end": "950", + "length": "29", + "line": "27", + "parentIndex": "47", + "start": "922" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "74727565", + "id": "61", + "isPure": true, + "kind": "BOOLEAN", + "nodeType": "LITERAL", + "src": { + "column": "20", + "end": "975", + "length": "4", + "line": "28", + "parentIndex": "60", + "start": "972" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "62", + "name": "c", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "48", + "src": { + "column": "26", + "end": "978", + "length": "1", + "line": "28", + "parentIndex": "60", + "start": "978" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ], + "id": "60", + "isPure": true, + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "19", + "end": "979", + "length": "9", + "line": "28", + "parentIndex": "59", + "start": "971" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", + "typeString": "tuple(bool,uint256)" + } + } + }, + "functionReturnParameters": "35", + "id": "59", + "nodeType": "RETURN_STATEMENT", + "src": { + "column": "12", + "end": "980", + "length": "17", + "line": "28", + "parentIndex": "35", + "start": "964" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", + "typeString": "tuple(bool,uint256)" + } + } + } + ] + } } - ], - "src": { - "column": "24", - "end": "2242", - "length": "4", - "line": "66", - "parentIndex": "88", - "start": "2239" - } + ] }, - "scope": "35", - "signature": "b642fe57", - "src": { - "column": "4", - "end": "2244", - "length": "127", - "line": "62", + "id": "35", + "kind": "KIND_FUNCTION", + "name": "tryAdd", + "nameLocation": { + "column": "13", + "end": "795", + "length": "6", + "line": "24", "parentIndex": "35", - "start": "2118" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", - "typeString": "function(address,address,uint256)" + "start": "790" }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "101", - "name": "Transfer", - "nodeType": "EVENT_DEFINITION", + "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "102", + "id": "36", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "103", - "indexed": true, - "name": "from", - "nodeType": "VARIABLE_DECLARATION", - "scope": "103", - "src": { - "column": "19", - "end": "2448", - "length": "20", - "line": "74", - "parentIndex": "102", - "start": "2429" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "104", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "19", - "end": "2435", - "length": "7", - "line": "74", - "parentIndex": "103", - "start": "2429" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "105", - "indexed": true, - "name": "to", + "id": "37", + "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "105", + "scope": "37", "src": { - "column": "41", - "end": "2468", - "length": "18", - "line": "74", - "parentIndex": "102", - "start": "2451" + "column": "20", + "end": "805", + "length": "9", + "line": "24", + "parentIndex": "36", + "start": "797" }, - "stateMutability": "NONPAYABLE", + "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "106", - "name": "address", + "id": "38", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "41", - "end": "2457", + "column": "20", + "end": "803", "length": "7", - "line": "74", - "parentIndex": "105", - "start": "2451" + "line": "24", + "parentIndex": "37", + "start": "797" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" }, { - "id": "107", - "name": "value", + "id": "39", + "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "107", + "scope": "39", "src": { - "column": "61", - "end": "2483", - "length": "13", - "line": "74", - "parentIndex": "102", - "start": "2471" + "column": "31", + "end": "816", + "length": "9", + "line": "24", + "parentIndex": "36", + "start": "808" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -1938,16 +1148,16 @@ "typeString": "uint256" }, "typeName": { - "id": "108", + "id": "40", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "61", - "end": "2477", + "column": "31", + "end": "814", "length": "7", - "line": "74", - "parentIndex": "107", - "start": "2471" + "line": "24", + "parentIndex": "39", + "start": "808" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -1958,130 +1168,66 @@ } ], "src": { - "column": "4", - "end": "2485", - "length": "72", - "line": "74", - "parentIndex": "101", - "start": "2414" + "column": "20", + "end": "816", + "length": "20", + "line": "24", + "parentIndex": "35", + "start": "797" } }, - "src": { - "column": "4", - "end": "2485", - "length": "72", - "line": "74", - "parentIndex": "35", - "start": "2414" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_IERC20_Transfer_\u0026101", - "typeString": "event IERC20.Transfer" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "110", - "name": "Approval", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "111", + "returnParameters": { + "id": "41", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "112", - "indexed": true, - "name": "owner", - "nodeType": "VARIABLE_DECLARATION", - "scope": "112", - "src": { - "column": "19", - "end": "2680", - "length": "21", - "line": "80", - "parentIndex": "111", - "start": "2660" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "113", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "19", - "end": "2666", - "length": "7", - "line": "80", - "parentIndex": "112", - "start": "2660" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "114", - "indexed": true, - "name": "spender", + "id": "42", "nodeType": "VARIABLE_DECLARATION", - "scope": "114", + "scope": "42", "src": { - "column": "42", - "end": "2705", - "length": "23", - "line": "80", - "parentIndex": "111", - "start": "2683" + "column": "65", + "end": "845", + "length": "4", + "line": "24", + "parentIndex": "41", + "start": "842" }, - "stateMutability": "NONPAYABLE", + "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "115", - "name": "address", + "id": "43", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "42", - "end": "2689", - "length": "7", - "line": "80", - "parentIndex": "114", - "start": "2683" + "column": "65", + "end": "845", + "length": "4", + "line": "24", + "parentIndex": "42", + "start": "842" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "INTERNAL" }, { - "id": "116", - "name": "value", + "id": "44", "nodeType": "VARIABLE_DECLARATION", - "scope": "116", + "scope": "44", "src": { - "column": "67", - "end": "2720", - "length": "13", - "line": "80", - "parentIndex": "111", - "start": "2708" + "column": "71", + "end": "854", + "length": "7", + "line": "24", + "parentIndex": "41", + "start": "848" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -2090,16 +1236,16 @@ "typeString": "uint256" }, "typeName": { - "id": "117", + "id": "45", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "67", - "end": "2714", + "column": "71", + "end": "854", "length": "7", - "line": "80", - "parentIndex": "116", - "start": "2708" + "line": "24", + "parentIndex": "44", + "start": "848" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2110,293 +1256,88 @@ } ], "src": { - "column": "4", - "end": "2722", - "length": "78", - "line": "80", - "parentIndex": "110", - "start": "2645" + "column": "65", + "end": "854", + "length": "13", + "line": "24", + "parentIndex": "35", + "start": "842" } }, + "scope": "33", + "signature": "884557bf", "src": { "column": "4", - "end": "2722", - "length": "78", - "line": "80", - "parentIndex": "35", - "start": "2645" + "end": "996", + "length": "216", + "line": "24", + "parentIndex": "33", + "start": "781" }, + "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_event\u0026_IERC20_Approval_\u0026110", - "typeString": "event IERC20.Approval" - } + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", + "typeString": "function(uint256,uint256)" + }, + "visibility": "INTERNAL" } - } - ], - "src": { - "end": "2724", - "length": "2596", - "line": "8", - "parentIndex": "31", - "start": "129" - } - } - } - ] - }, - "src": { - "line": 8, - "start": 129, - "end": 2724, - "length": 2596, - "parent_index": 30 - } - }, - { - "id": 118, - "license": "MIT", - "name": "SafeMath", - "absolute_path": "SafeMath.sol", - "exported_symbols": [ - { - "id": 118, - "name": "SafeMath", - "absolute_path": "SafeMath.sol" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "120", - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "2782", - "length": "23", - "line": "85", - "parentIndex": "118", - "start": "2760" - }, - "text": "pragma solidity ^0.8.0;" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", - "value": { - "fullyImplemented": true, - "id": "121", - "kind": "KIND_LIBRARY", - "linearizedBaseContracts": [ - "121" - ], - "name": "SafeMath", - "nameLocation": { - "column": "8", - "end": "3364", - "length": "8", - "line": "100", - "parentIndex": "121", - "start": "3357" - }, - "nodeType": "CONTRACT_DEFINITION", - "nodes": [ + }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "134", + "id": "75", "implemented": true, "nodeType": "BLOCK", "src": { "column": "80", - "end": "3723", - "length": "140", - "line": "106", - "parentIndex": "123", - "start": "3584" + "end": "1331", + "length": "113", + "line": "37", + "parentIndex": "64", + "start": "1219" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "135", + "id": "76", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", - "end": "3717", - "length": "124", - "line": "107", - "parentIndex": "121", - "start": "3594" + "end": "1325", + "length": "97", + "line": "38", + "parentIndex": "33", + "start": "1229" }, "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "137" - ], - "declarations": [ - { - "id": "137", - "mutability": "MUTABLE", - "name": "c", - "nameLocation": { - "column": "20", - "end": "3626", - "length": "1", - "line": "108", - "parentIndex": "137", - "start": "3626" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "135", - "src": { - "column": "12", - "end": "3626", - "length": "9", - "line": "108", - "parentIndex": "136", - "start": "3618" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "138", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "3624", - "length": "7", - "line": "108", - "parentIndex": "137", - "start": "3618" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "136", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "139", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "140", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "140", - "src": { - "column": "24", - "end": "3630", - "length": "1", - "line": "108", - "parentIndex": "139", - "start": "3630" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "ADDITION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "141", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "141", - "src": { - "column": "28", - "end": "3634", - "length": "1", - "line": "108", - "parentIndex": "139", - "start": "3634" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "24", - "end": "3634", - "length": "5", - "line": "108", - "parentIndex": "136", - "start": "3630" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "12", - "end": "3635", - "length": "18", - "line": "108", - "parentIndex": "135", - "start": "3618" - } - } - }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "146", + "id": "81", "nodeType": "BLOCK", "src": {} }, "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "143", + "id": "78", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "144", - "name": "c", + "id": "79", + "name": "b", "nodeType": "IDENTIFIER", - "referencedDeclaration": "136", + "referencedDeclaration": "79", "src": { "column": "16", - "end": "3653", + "end": "1257", "length": "1", - "line": "109", - "parentIndex": "143", - "start": "3653" + "line": "39", + "parentIndex": "78", + "start": "1257" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2405,21 +1346,21 @@ } }, "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", + "operator": "GREATER_THAN", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "145", + "id": "80", "name": "a", "nodeType": "IDENTIFIER", - "referencedDeclaration": "145", + "referencedDeclaration": "80", "src": { "column": "20", - "end": "3657", + "end": "1261", "length": "1", - "line": "109", - "parentIndex": "143", - "start": "3657" + "line": "39", + "parentIndex": "78", + "start": "1261" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2429,11 +1370,11 @@ }, "src": { "column": "16", - "end": "3657", + "end": "1261", "length": "5", - "line": "109", - "parentIndex": "142", - "start": "3653" + "line": "39", + "parentIndex": "77", + "start": "1257" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -2441,14 +1382,14 @@ } } }, - "id": "142", + "id": "77", "nodeType": "IF_STATEMENT", "src": { - "end": "3677", + "end": "1281", "length": "29", - "line": "109", - "parentIndex": "135", - "start": "3649" + "line": "39", + "parentIndex": "76", + "start": "1253" } } }, @@ -2463,17 +1404,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "149", + "id": "84", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", "src": { "column": "20", - "end": "3702", + "end": "1306", "length": "4", - "line": "110", - "parentIndex": "148", - "start": "3699" + "line": "40", + "parentIndex": "83", + "start": "1303" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -2483,19 +1424,60 @@ } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "150", - "name": "c", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "136", + "id": "85", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "86", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "86", + "src": { + "column": "26", + "end": "1309", + "length": "1", + "line": "40", + "parentIndex": "85", + "start": "1309" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "87", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "87", + "src": { + "column": "30", + "end": "1313", + "length": "1", + "line": "40", + "parentIndex": "85", + "start": "1313" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, "src": { "column": "26", - "end": "3705", - "length": "1", - "line": "110", - "parentIndex": "148", - "start": "3705" + "end": "1313", + "length": "5", + "line": "40", + "parentIndex": "83", + "start": "1309" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2504,16 +1486,16 @@ } } ], - "id": "148", + "id": "83", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { "column": "19", - "end": "3706", - "length": "9", - "line": "110", - "parentIndex": "147", - "start": "3698" + "end": "1314", + "length": "13", + "line": "40", + "parentIndex": "82", + "start": "1302" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", @@ -2521,16 +1503,16 @@ } } }, - "functionReturnParameters": "123", - "id": "147", + "functionReturnParameters": "64", + "id": "82", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", - "end": "3707", - "length": "17", - "line": "110", - "parentIndex": "123", - "start": "3691" + "end": "1315", + "length": "21", + "line": "40", + "parentIndex": "64", + "start": "1295" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", @@ -2543,34 +1525,34 @@ } ] }, - "id": "123", + "id": "64", "kind": "KIND_FUNCTION", - "name": "tryAdd", + "name": "trySub", "nameLocation": { "column": "13", - "end": "3522", + "end": "1157", "length": "6", - "line": "106", - "parentIndex": "123", - "start": "3517" + "line": "37", + "parentIndex": "64", + "start": "1152" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "124", + "id": "65", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "125", + "id": "66", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "125", + "scope": "66", "src": { "column": "20", - "end": "3532", + "end": "1167", "length": "9", - "line": "106", - "parentIndex": "124", - "start": "3524" + "line": "37", + "parentIndex": "65", + "start": "1159" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -2579,16 +1561,16 @@ "typeString": "uint256" }, "typeName": { - "id": "126", + "id": "67", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "20", - "end": "3530", + "end": "1165", "length": "7", - "line": "106", - "parentIndex": "125", - "start": "3524" + "line": "37", + "parentIndex": "66", + "start": "1159" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2598,17 +1580,17 @@ "visibility": "INTERNAL" }, { - "id": "127", + "id": "68", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "127", + "scope": "68", "src": { "column": "31", - "end": "3543", + "end": "1178", "length": "9", - "line": "106", - "parentIndex": "124", - "start": "3535" + "line": "37", + "parentIndex": "65", + "start": "1170" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -2617,16 +1599,16 @@ "typeString": "uint256" }, "typeName": { - "id": "128", + "id": "69", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "31", - "end": "3541", + "end": "1176", "length": "7", - "line": "106", - "parentIndex": "127", - "start": "3535" + "line": "37", + "parentIndex": "68", + "start": "1170" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2638,28 +1620,28 @@ ], "src": { "column": "20", - "end": "3543", + "end": "1178", "length": "20", - "line": "106", - "parentIndex": "123", - "start": "3524" + "line": "37", + "parentIndex": "64", + "start": "1159" } }, "returnParameters": { - "id": "129", + "id": "70", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "130", + "id": "71", "nodeType": "VARIABLE_DECLARATION", - "scope": "130", + "scope": "71", "src": { "column": "65", - "end": "3572", + "end": "1207", "length": "4", - "line": "106", - "parentIndex": "129", - "start": "3569" + "line": "37", + "parentIndex": "70", + "start": "1204" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -2668,16 +1650,16 @@ "typeString": "bool" }, "typeName": { - "id": "131", + "id": "72", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "65", - "end": "3572", + "end": "1207", "length": "4", - "line": "106", - "parentIndex": "130", - "start": "3569" + "line": "37", + "parentIndex": "71", + "start": "1204" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -2687,16 +1669,16 @@ "visibility": "INTERNAL" }, { - "id": "132", + "id": "73", "nodeType": "VARIABLE_DECLARATION", - "scope": "132", + "scope": "73", "src": { "column": "71", - "end": "3581", + "end": "1216", "length": "7", - "line": "106", - "parentIndex": "129", - "start": "3575" + "line": "37", + "parentIndex": "70", + "start": "1210" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -2705,16 +1687,16 @@ "typeString": "uint256" }, "typeName": { - "id": "133", + "id": "74", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "71", - "end": "3581", + "end": "1216", "length": "7", - "line": "106", - "parentIndex": "132", - "start": "3575" + "line": "37", + "parentIndex": "73", + "start": "1210" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2726,22 +1708,22 @@ ], "src": { "column": "65", - "end": "3581", + "end": "1216", "length": "13", - "line": "106", - "parentIndex": "123", - "start": "3569" + "line": "37", + "parentIndex": "64", + "start": "1204" } }, - "scope": "121", - "signature": "d730d6d4", + "scope": "33", + "signature": "a29962b1", "src": { "column": "4", - "end": "3723", - "length": "216", - "line": "106", - "parentIndex": "121", - "start": "3508" + "end": "1331", + "length": "189", + "line": "37", + "parentIndex": "33", + "start": "1143" }, "stateMutability": "PURE", "typeDescription": { @@ -2755,58 +1737,58 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "163", + "id": "100", "implemented": true, "nodeType": "BLOCK", "src": { "column": "80", - "end": "4058", - "length": "113", - "line": "119", - "parentIndex": "152", - "start": "3946" + "end": "1972", + "length": "417", + "line": "49", + "parentIndex": "89", + "start": "1556" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "164", + "id": "101", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", - "end": "4052", - "length": "97", - "line": "120", - "parentIndex": "121", - "start": "3956" + "end": "1966", + "length": "401", + "line": "50", + "parentIndex": "33", + "start": "1566" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "169", + "id": "106", "nodeType": "BLOCK", "src": {} }, "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "166", + "id": "103", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "167", - "name": "b", + "id": "104", + "name": "a", "nodeType": "IDENTIFIER", - "referencedDeclaration": "167", + "referencedDeclaration": "104", "src": { "column": "16", - "end": "3984", + "end": "1824", "length": "1", - "line": "121", - "parentIndex": "166", - "start": "3984" + "line": "54", + "parentIndex": "103", + "start": "1824" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2815,21 +1797,151 @@ } }, "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", + "operator": "EQUAL", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "168", + "hexValue": "30", + "id": "105", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "21", + "end": "1829", + "length": "1", + "line": "54", + "parentIndex": "103", + "start": "1829" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "16", + "end": "1829", + "length": "6", + "line": "54", + "parentIndex": "102", + "start": "1824" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "102", + "nodeType": "IF_STATEMENT", + "src": { + "end": "1848", + "length": "29", + "line": "54", + "parentIndex": "101", + "start": "1820" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "108" + ], + "declarations": [ + { + "id": "108", + "mutability": "MUTABLE", + "name": "c", + "nameLocation": { + "column": "20", + "end": "1870", + "length": "1", + "line": "55", + "parentIndex": "108", + "start": "1870" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "101", + "src": { + "column": "12", + "end": "1870", + "length": "9", + "line": "55", + "parentIndex": "107", + "start": "1862" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "109", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "1868", + "length": "7", + "line": "55", + "parentIndex": "108", + "start": "1862" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "107", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "110", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "111", "name": "a", "nodeType": "IDENTIFIER", - "referencedDeclaration": "168", + "referencedDeclaration": "111", "src": { - "column": "20", - "end": "3988", + "column": "24", + "end": "1874", + "length": "1", + "line": "55", + "parentIndex": "110", + "start": "1874" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "MULTIPLICATION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "112", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "112", + "src": { + "column": "28", + "end": "1878", "length": "1", - "line": "121", - "parentIndex": "166", - "start": "3988" + "line": "55", + "parentIndex": "110", + "start": "1878" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2838,12 +1950,134 @@ } }, "src": { - "column": "16", - "end": "3988", + "column": "24", + "end": "1878", "length": "5", - "line": "121", - "parentIndex": "165", - "start": "3984" + "line": "55", + "parentIndex": "107", + "start": "1874" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "1879", + "length": "18", + "line": "55", + "parentIndex": "101", + "start": "1862" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "value": { + "body": { + "id": "119", + "nodeType": "BLOCK", + "src": {} + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "114", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "115", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "116", + "name": "c", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "107", + "src": { + "column": "16", + "end": "1897", + "length": "1", + "line": "56", + "parentIndex": "115", + "start": "1897" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "DIVISION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "117", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "117", + "src": { + "column": "20", + "end": "1901", + "length": "1", + "line": "56", + "parentIndex": "115", + "start": "1901" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "16", + "end": "1901", + "length": "5", + "line": "56", + "parentIndex": "114", + "start": "1897" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "NOT_EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "118", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "118", + "src": { + "column": "25", + "end": "1906", + "length": "1", + "line": "56", + "parentIndex": "114", + "start": "1906" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "16", + "end": "1906", + "length": "10", + "line": "56", + "parentIndex": "113", + "start": "1897" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -2851,14 +2085,14 @@ } } }, - "id": "165", + "id": "113", "nodeType": "IF_STATEMENT", "src": { - "end": "4008", - "length": "29", - "line": "121", - "parentIndex": "164", - "start": "3980" + "end": "1926", + "length": "34", + "line": "56", + "parentIndex": "101", + "start": "1893" } } }, @@ -2873,17 +2107,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "172", + "id": "122", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", "src": { "column": "20", - "end": "4033", + "end": "1951", "length": "4", - "line": "122", - "parentIndex": "171", - "start": "4030" + "line": "57", + "parentIndex": "121", + "start": "1948" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -2893,60 +2127,19 @@ } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "173", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "174", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "174", - "src": { - "column": "26", - "end": "4036", - "length": "1", - "line": "122", - "parentIndex": "173", - "start": "4036" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "175", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "175", - "src": { - "column": "30", - "end": "4040", - "length": "1", - "line": "122", - "parentIndex": "173", - "start": "4040" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, + "id": "123", + "name": "c", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "107", "src": { "column": "26", - "end": "4040", - "length": "5", - "line": "122", - "parentIndex": "171", - "start": "4036" + "end": "1954", + "length": "1", + "line": "57", + "parentIndex": "121", + "start": "1954" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2955,16 +2148,16 @@ } } ], - "id": "171", + "id": "121", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { "column": "19", - "end": "4041", - "length": "13", - "line": "122", - "parentIndex": "170", - "start": "4029" + "end": "1955", + "length": "9", + "line": "57", + "parentIndex": "120", + "start": "1947" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", @@ -2972,16 +2165,16 @@ } } }, - "functionReturnParameters": "152", - "id": "170", + "functionReturnParameters": "89", + "id": "120", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", - "end": "4042", - "length": "21", - "line": "122", - "parentIndex": "152", - "start": "4022" + "end": "1956", + "length": "17", + "line": "57", + "parentIndex": "89", + "start": "1940" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", @@ -2994,34 +2187,34 @@ } ] }, - "id": "152", + "id": "89", "kind": "KIND_FUNCTION", - "name": "trySub", + "name": "tryMul", "nameLocation": { "column": "13", - "end": "3884", + "end": "1494", "length": "6", - "line": "119", - "parentIndex": "152", - "start": "3879" + "line": "49", + "parentIndex": "89", + "start": "1489" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "153", + "id": "90", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "154", + "id": "91", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "154", + "scope": "91", "src": { "column": "20", - "end": "3894", + "end": "1504", "length": "9", - "line": "119", - "parentIndex": "153", - "start": "3886" + "line": "49", + "parentIndex": "90", + "start": "1496" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -3030,16 +2223,16 @@ "typeString": "uint256" }, "typeName": { - "id": "155", + "id": "92", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "20", - "end": "3892", + "end": "1502", "length": "7", - "line": "119", - "parentIndex": "154", - "start": "3886" + "line": "49", + "parentIndex": "91", + "start": "1496" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3049,17 +2242,17 @@ "visibility": "INTERNAL" }, { - "id": "156", + "id": "93", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "156", + "scope": "93", "src": { "column": "31", - "end": "3905", + "end": "1515", "length": "9", - "line": "119", - "parentIndex": "153", - "start": "3897" + "line": "49", + "parentIndex": "90", + "start": "1507" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -3068,16 +2261,16 @@ "typeString": "uint256" }, "typeName": { - "id": "157", + "id": "94", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "31", - "end": "3903", + "end": "1513", "length": "7", - "line": "119", - "parentIndex": "156", - "start": "3897" + "line": "49", + "parentIndex": "93", + "start": "1507" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3089,28 +2282,28 @@ ], "src": { "column": "20", - "end": "3905", + "end": "1515", "length": "20", - "line": "119", - "parentIndex": "152", - "start": "3886" + "line": "49", + "parentIndex": "89", + "start": "1496" } }, "returnParameters": { - "id": "158", + "id": "95", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "159", + "id": "96", "nodeType": "VARIABLE_DECLARATION", - "scope": "159", + "scope": "96", "src": { "column": "65", - "end": "3934", + "end": "1544", "length": "4", - "line": "119", - "parentIndex": "158", - "start": "3931" + "line": "49", + "parentIndex": "95", + "start": "1541" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -3119,16 +2312,16 @@ "typeString": "bool" }, "typeName": { - "id": "160", + "id": "97", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "65", - "end": "3934", + "end": "1544", "length": "4", - "line": "119", - "parentIndex": "159", - "start": "3931" + "line": "49", + "parentIndex": "96", + "start": "1541" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -3138,16 +2331,16 @@ "visibility": "INTERNAL" }, { - "id": "161", + "id": "98", "nodeType": "VARIABLE_DECLARATION", - "scope": "161", + "scope": "98", "src": { "column": "71", - "end": "3943", + "end": "1553", "length": "7", - "line": "119", - "parentIndex": "158", - "start": "3937" + "line": "49", + "parentIndex": "95", + "start": "1547" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -3156,16 +2349,16 @@ "typeString": "uint256" }, "typeName": { - "id": "162", + "id": "99", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "71", - "end": "3943", + "end": "1553", "length": "7", - "line": "119", - "parentIndex": "161", - "start": "3937" + "line": "49", + "parentIndex": "98", + "start": "1547" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3177,22 +2370,22 @@ ], "src": { "column": "65", - "end": "3943", + "end": "1553", "length": "13", - "line": "119", - "parentIndex": "152", - "start": "3931" + "line": "49", + "parentIndex": "89", + "start": "1541" } }, - "scope": "121", - "signature": "9f7e8c62", + "scope": "33", + "signature": "6281efa4", "src": { "column": "4", - "end": "4058", - "length": "189", - "line": "119", - "parentIndex": "121", - "start": "3870" + "end": "1972", + "length": "493", + "line": "49", + "parentIndex": "33", + "start": "1480" }, "stateMutability": "PURE", "typeDescription": { @@ -3206,58 +2399,58 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "188", + "id": "136", "implemented": true, "nodeType": "BLOCK", "src": { "column": "80", - "end": "4699", - "length": "417", - "line": "131", - "parentIndex": "177", - "start": "4283" + "end": "2311", + "length": "114", + "line": "66", + "parentIndex": "125", + "start": "2198" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "189", + "id": "137", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", - "end": "4693", - "length": "401", - "line": "132", - "parentIndex": "121", - "start": "4293" + "end": "2305", + "length": "98", + "line": "67", + "parentIndex": "33", + "start": "2208" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "194", + "id": "142", "nodeType": "BLOCK", "src": {} }, "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "191", + "id": "139", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "192", - "name": "a", + "id": "140", + "name": "b", "nodeType": "IDENTIFIER", - "referencedDeclaration": "192", + "referencedDeclaration": "140", "src": { "column": "16", - "end": "4551", + "end": "2236", "length": "1", - "line": "136", - "parentIndex": "191", - "start": "4551" + "line": "68", + "parentIndex": "139", + "start": "2236" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3271,17 +2464,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "193", + "id": "141", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", "src": { "column": "21", - "end": "4556", + "end": "2241", "length": "1", - "line": "136", - "parentIndex": "191", - "start": "4556" + "line": "68", + "parentIndex": "139", + "start": "2241" }, "typeDescription": { "typeIdentifier": "t_rational_0_by_1", @@ -3292,261 +2485,11 @@ }, "src": { "column": "16", - "end": "4556", + "end": "2241", "length": "6", - "line": "136", - "parentIndex": "190", - "start": "4551" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "190", - "nodeType": "IF_STATEMENT", - "src": { - "end": "4575", - "length": "29", - "line": "136", - "parentIndex": "189", - "start": "4547" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "196" - ], - "declarations": [ - { - "id": "196", - "mutability": "MUTABLE", - "name": "c", - "nameLocation": { - "column": "20", - "end": "4597", - "length": "1", - "line": "137", - "parentIndex": "196", - "start": "4597" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "189", - "src": { - "column": "12", - "end": "4597", - "length": "9", - "line": "137", - "parentIndex": "195", - "start": "4589" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "197", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "4595", - "length": "7", - "line": "137", - "parentIndex": "196", - "start": "4589" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "195", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "198", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "199", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "199", - "src": { - "column": "24", - "end": "4601", - "length": "1", - "line": "137", - "parentIndex": "198", - "start": "4601" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "MULTIPLICATION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "200", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "200", - "src": { - "column": "28", - "end": "4605", - "length": "1", - "line": "137", - "parentIndex": "198", - "start": "4605" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "24", - "end": "4605", - "length": "5", - "line": "137", - "parentIndex": "195", - "start": "4601" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "12", - "end": "4606", - "length": "18", - "line": "137", - "parentIndex": "189", - "start": "4589" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", - "value": { - "body": { - "id": "207", - "nodeType": "BLOCK", - "src": {} - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "202", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "203", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "204", - "name": "c", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "195", - "src": { - "column": "16", - "end": "4624", - "length": "1", - "line": "138", - "parentIndex": "203", - "start": "4624" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "DIVISION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "205", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "205", - "src": { - "column": "20", - "end": "4628", - "length": "1", - "line": "138", - "parentIndex": "203", - "start": "4628" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "16", - "end": "4628", - "length": "5", - "line": "138", - "parentIndex": "202", - "start": "4624" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "NOT_EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "206", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "206", - "src": { - "column": "25", - "end": "4633", - "length": "1", - "line": "138", - "parentIndex": "202", - "start": "4633" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "16", - "end": "4633", - "length": "10", - "line": "138", - "parentIndex": "201", - "start": "4624" + "line": "68", + "parentIndex": "138", + "start": "2236" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -3554,14 +2497,14 @@ } } }, - "id": "201", + "id": "138", "nodeType": "IF_STATEMENT", "src": { - "end": "4653", - "length": "34", - "line": "138", - "parentIndex": "189", - "start": "4620" + "end": "2261", + "length": "30", + "line": "68", + "parentIndex": "137", + "start": "2232" } } }, @@ -3576,17 +2519,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "210", + "id": "145", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", "src": { "column": "20", - "end": "4678", + "end": "2286", "length": "4", - "line": "139", - "parentIndex": "209", - "start": "4675" + "line": "69", + "parentIndex": "144", + "start": "2283" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -3596,19 +2539,60 @@ } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "211", - "name": "c", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "195", + "id": "146", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "147", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "147", + "src": { + "column": "26", + "end": "2289", + "length": "1", + "line": "69", + "parentIndex": "146", + "start": "2289" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "DIVISION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "148", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "148", + "src": { + "column": "30", + "end": "2293", + "length": "1", + "line": "69", + "parentIndex": "146", + "start": "2293" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, "src": { "column": "26", - "end": "4681", - "length": "1", - "line": "139", - "parentIndex": "209", - "start": "4681" + "end": "2293", + "length": "5", + "line": "69", + "parentIndex": "144", + "start": "2289" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3617,16 +2601,16 @@ } } ], - "id": "209", + "id": "144", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { "column": "19", - "end": "4682", - "length": "9", - "line": "139", - "parentIndex": "208", - "start": "4674" + "end": "2294", + "length": "13", + "line": "69", + "parentIndex": "143", + "start": "2282" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", @@ -3634,16 +2618,16 @@ } } }, - "functionReturnParameters": "177", - "id": "208", + "functionReturnParameters": "125", + "id": "143", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", - "end": "4683", - "length": "17", - "line": "139", - "parentIndex": "177", - "start": "4667" + "end": "2295", + "length": "21", + "line": "69", + "parentIndex": "125", + "start": "2275" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", @@ -3656,34 +2640,34 @@ } ] }, - "id": "177", + "id": "125", "kind": "KIND_FUNCTION", - "name": "tryMul", + "name": "tryDiv", "nameLocation": { "column": "13", - "end": "4221", + "end": "2136", "length": "6", - "line": "131", - "parentIndex": "177", - "start": "4216" + "line": "66", + "parentIndex": "125", + "start": "2131" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "178", + "id": "126", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "179", + "id": "127", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "179", + "scope": "127", "src": { "column": "20", - "end": "4231", + "end": "2146", "length": "9", - "line": "131", - "parentIndex": "178", - "start": "4223" + "line": "66", + "parentIndex": "126", + "start": "2138" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -3692,16 +2676,16 @@ "typeString": "uint256" }, "typeName": { - "id": "180", + "id": "128", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "20", - "end": "4229", + "end": "2144", "length": "7", - "line": "131", - "parentIndex": "179", - "start": "4223" + "line": "66", + "parentIndex": "127", + "start": "2138" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3711,17 +2695,17 @@ "visibility": "INTERNAL" }, { - "id": "181", + "id": "129", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "181", + "scope": "129", "src": { "column": "31", - "end": "4242", + "end": "2157", "length": "9", - "line": "131", - "parentIndex": "178", - "start": "4234" + "line": "66", + "parentIndex": "126", + "start": "2149" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -3730,16 +2714,16 @@ "typeString": "uint256" }, "typeName": { - "id": "182", + "id": "130", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "31", - "end": "4240", + "end": "2155", "length": "7", - "line": "131", - "parentIndex": "181", - "start": "4234" + "line": "66", + "parentIndex": "129", + "start": "2149" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3751,28 +2735,28 @@ ], "src": { "column": "20", - "end": "4242", + "end": "2157", "length": "20", - "line": "131", - "parentIndex": "177", - "start": "4223" + "line": "66", + "parentIndex": "125", + "start": "2138" } }, "returnParameters": { - "id": "183", + "id": "131", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "184", + "id": "132", "nodeType": "VARIABLE_DECLARATION", - "scope": "184", + "scope": "132", "src": { "column": "65", - "end": "4271", + "end": "2186", "length": "4", - "line": "131", - "parentIndex": "183", - "start": "4268" + "line": "66", + "parentIndex": "131", + "start": "2183" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -3781,16 +2765,16 @@ "typeString": "bool" }, "typeName": { - "id": "185", + "id": "133", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "65", - "end": "4271", + "end": "2186", "length": "4", - "line": "131", - "parentIndex": "184", - "start": "4268" + "line": "66", + "parentIndex": "132", + "start": "2183" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -3800,16 +2784,16 @@ "visibility": "INTERNAL" }, { - "id": "186", + "id": "134", "nodeType": "VARIABLE_DECLARATION", - "scope": "186", + "scope": "134", "src": { "column": "71", - "end": "4280", + "end": "2195", "length": "7", - "line": "131", - "parentIndex": "183", - "start": "4274" + "line": "66", + "parentIndex": "131", + "start": "2189" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -3818,16 +2802,16 @@ "typeString": "uint256" }, "typeName": { - "id": "187", + "id": "135", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "71", - "end": "4280", + "end": "2195", "length": "7", - "line": "131", - "parentIndex": "186", - "start": "4274" + "line": "66", + "parentIndex": "134", + "start": "2189" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3839,22 +2823,22 @@ ], "src": { "column": "65", - "end": "4280", + "end": "2195", "length": "13", - "line": "131", - "parentIndex": "177", - "start": "4268" + "line": "66", + "parentIndex": "125", + "start": "2183" } }, - "scope": "121", - "signature": "72cd6357", + "scope": "33", + "signature": "736ecb18", "src": { "column": "4", - "end": "4699", - "length": "493", - "line": "131", - "parentIndex": "121", - "start": "4207" + "end": "2311", + "length": "190", + "line": "66", + "parentIndex": "33", + "start": "2122" }, "stateMutability": "PURE", "typeDescription": { @@ -3868,58 +2852,58 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "224", + "id": "161", "implemented": true, "nodeType": "BLOCK", "src": { "column": "80", - "end": "5038", + "end": "2660", "length": "114", - "line": "148", - "parentIndex": "213", - "start": "4925" + "line": "78", + "parentIndex": "150", + "start": "2547" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "225", + "id": "162", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", - "end": "5032", + "end": "2654", "length": "98", - "line": "149", - "parentIndex": "121", - "start": "4935" + "line": "79", + "parentIndex": "33", + "start": "2557" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "230", + "id": "167", "nodeType": "BLOCK", "src": {} }, "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "227", + "id": "164", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "228", + "id": "165", "name": "b", "nodeType": "IDENTIFIER", - "referencedDeclaration": "228", + "referencedDeclaration": "165", "src": { "column": "16", - "end": "4963", + "end": "2585", "length": "1", - "line": "150", - "parentIndex": "227", - "start": "4963" + "line": "80", + "parentIndex": "164", + "start": "2585" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3933,17 +2917,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "229", + "id": "166", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", "src": { "column": "21", - "end": "4968", + "end": "2590", "length": "1", - "line": "150", - "parentIndex": "227", - "start": "4968" + "line": "80", + "parentIndex": "164", + "start": "2590" }, "typeDescription": { "typeIdentifier": "t_rational_0_by_1", @@ -3954,11 +2938,11 @@ }, "src": { "column": "16", - "end": "4968", + "end": "2590", "length": "6", - "line": "150", - "parentIndex": "226", - "start": "4963" + "line": "80", + "parentIndex": "163", + "start": "2585" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -3966,14 +2950,14 @@ } } }, - "id": "226", + "id": "163", "nodeType": "IF_STATEMENT", "src": { - "end": "4988", + "end": "2610", "length": "30", - "line": "150", - "parentIndex": "225", - "start": "4959" + "line": "80", + "parentIndex": "162", + "start": "2581" } } }, @@ -3988,17 +2972,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "233", + "id": "170", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", "src": { "column": "20", - "end": "5013", + "end": "2635", "length": "4", - "line": "151", - "parentIndex": "232", - "start": "5010" + "line": "81", + "parentIndex": "169", + "start": "2632" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -4010,21 +2994,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "234", + "id": "171", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "235", + "id": "172", "name": "a", "nodeType": "IDENTIFIER", - "referencedDeclaration": "235", + "referencedDeclaration": "172", "src": { "column": "26", - "end": "5016", + "end": "2638", "length": "1", - "line": "151", - "parentIndex": "234", - "start": "5016" + "line": "81", + "parentIndex": "171", + "start": "2638" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4033,21 +3017,21 @@ } }, "nodeType": "BINARY_OPERATION", - "operator": "DIVISION", + "operator": "MODULO", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "236", + "id": "173", "name": "b", "nodeType": "IDENTIFIER", - "referencedDeclaration": "236", + "referencedDeclaration": "173", "src": { "column": "30", - "end": "5020", + "end": "2642", "length": "1", - "line": "151", - "parentIndex": "234", - "start": "5020" + "line": "81", + "parentIndex": "171", + "start": "2642" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4057,11 +3041,11 @@ }, "src": { "column": "26", - "end": "5020", + "end": "2642", "length": "5", - "line": "151", - "parentIndex": "232", - "start": "5016" + "line": "81", + "parentIndex": "169", + "start": "2638" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4070,16 +3054,16 @@ } } ], - "id": "232", + "id": "169", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { "column": "19", - "end": "5021", + "end": "2643", "length": "13", - "line": "151", - "parentIndex": "231", - "start": "5009" + "line": "81", + "parentIndex": "168", + "start": "2631" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", @@ -4087,16 +3071,16 @@ } } }, - "functionReturnParameters": "213", - "id": "231", + "functionReturnParameters": "150", + "id": "168", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", - "end": "5022", + "end": "2644", "length": "21", - "line": "151", - "parentIndex": "213", - "start": "5002" + "line": "81", + "parentIndex": "150", + "start": "2624" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", @@ -4109,34 +3093,34 @@ } ] }, - "id": "213", + "id": "150", "kind": "KIND_FUNCTION", - "name": "tryDiv", + "name": "tryMod", "nameLocation": { "column": "13", - "end": "4863", + "end": "2485", "length": "6", - "line": "148", - "parentIndex": "213", - "start": "4858" + "line": "78", + "parentIndex": "150", + "start": "2480" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "214", + "id": "151", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "215", + "id": "152", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "215", + "scope": "152", "src": { "column": "20", - "end": "4873", + "end": "2495", "length": "9", - "line": "148", - "parentIndex": "214", - "start": "4865" + "line": "78", + "parentIndex": "151", + "start": "2487" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -4145,16 +3129,16 @@ "typeString": "uint256" }, "typeName": { - "id": "216", + "id": "153", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "20", - "end": "4871", + "end": "2493", "length": "7", - "line": "148", - "parentIndex": "215", - "start": "4865" + "line": "78", + "parentIndex": "152", + "start": "2487" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4164,17 +3148,326 @@ "visibility": "INTERNAL" }, { - "id": "217", + "id": "154", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "217", + "scope": "154", "src": { "column": "31", - "end": "4884", + "end": "2506", + "length": "9", + "line": "78", + "parentIndex": "151", + "start": "2498" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "155", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "31", + "end": "2504", + "length": "7", + "line": "78", + "parentIndex": "154", + "start": "2498" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "20", + "end": "2506", + "length": "20", + "line": "78", + "parentIndex": "150", + "start": "2487" + } + }, + "returnParameters": { + "id": "156", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "157", + "nodeType": "VARIABLE_DECLARATION", + "scope": "157", + "src": { + "column": "65", + "end": "2535", + "length": "4", + "line": "78", + "parentIndex": "156", + "start": "2532" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "158", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "65", + "end": "2535", + "length": "4", + "line": "78", + "parentIndex": "157", + "start": "2532" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "159", + "nodeType": "VARIABLE_DECLARATION", + "scope": "159", + "src": { + "column": "71", + "end": "2544", + "length": "7", + "line": "78", + "parentIndex": "156", + "start": "2538" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "160", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "71", + "end": "2544", + "length": "7", + "line": "78", + "parentIndex": "159", + "start": "2538" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "65", + "end": "2544", + "length": "13", + "line": "78", + "parentIndex": "150", + "start": "2532" + } + }, + "scope": "33", + "signature": "38dc0867", + "src": { + "column": "4", + "end": "2660", + "length": "190", + "line": "78", + "parentIndex": "33", + "start": "2471" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", + "typeString": "function(uint256,uint256)" + }, + "visibility": "INTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "184", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "71", + "end": "2991", + "length": "29", + "line": "95", + "parentIndex": "175", + "start": "2963" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "186", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "187", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "187", + "src": { + "column": "15", + "end": "2980", + "length": "1", + "line": "96", + "parentIndex": "186", + "start": "2980" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "ADDITION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "188", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "188", + "src": { + "column": "19", + "end": "2984", + "length": "1", + "line": "96", + "parentIndex": "186", + "start": "2984" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "15", + "end": "2984", + "length": "5", + "line": "96", + "parentIndex": "185", + "start": "2980" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "functionReturnParameters": "175", + "id": "185", + "nodeType": "RETURN_STATEMENT", + "src": { + "column": "8", + "end": "2985", + "length": "13", + "line": "96", + "parentIndex": "175", + "start": "2973" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ] + }, + "id": "175", + "implemented": true, + "kind": "KIND_FUNCTION", + "name": "add", + "nameLocation": { + "column": "13", + "end": "2907", + "length": "3", + "line": "95", + "parentIndex": "175", + "start": "2905" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "176", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "177", + "name": "a", + "nodeType": "VARIABLE_DECLARATION", + "scope": "177", + "src": { + "column": "17", + "end": "2917", + "length": "9", + "line": "95", + "parentIndex": "176", + "start": "2909" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "178", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "17", + "end": "2915", + "length": "7", + "line": "95", + "parentIndex": "177", + "start": "2909" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "179", + "name": "b", + "nodeType": "VARIABLE_DECLARATION", + "scope": "179", + "src": { + "column": "28", + "end": "2928", "length": "9", - "line": "148", - "parentIndex": "214", - "start": "4876" + "line": "95", + "parentIndex": "176", + "start": "2920" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -4183,16 +3476,16 @@ "typeString": "uint256" }, "typeName": { - "id": "218", + "id": "180", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "31", - "end": "4882", + "column": "28", + "end": "2926", "length": "7", - "line": "148", - "parentIndex": "217", - "start": "4876" + "line": "95", + "parentIndex": "179", + "start": "2920" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4203,66 +3496,29 @@ } ], "src": { - "column": "20", - "end": "4884", + "column": "17", + "end": "2928", "length": "20", - "line": "148", - "parentIndex": "213", - "start": "4865" + "line": "95", + "parentIndex": "175", + "start": "2909" } }, "returnParameters": { - "id": "219", + "id": "181", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "220", - "nodeType": "VARIABLE_DECLARATION", - "scope": "220", - "src": { - "column": "65", - "end": "4913", - "length": "4", - "line": "148", - "parentIndex": "219", - "start": "4910" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "221", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "65", - "end": "4913", - "length": "4", - "line": "148", - "parentIndex": "220", - "start": "4910" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "222", + "id": "182", "nodeType": "VARIABLE_DECLARATION", - "scope": "222", + "scope": "182", "src": { - "column": "71", - "end": "4922", + "column": "62", + "end": "2960", "length": "7", - "line": "148", - "parentIndex": "219", - "start": "4916" + "line": "95", + "parentIndex": "181", + "start": "2954" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -4271,16 +3527,16 @@ "typeString": "uint256" }, "typeName": { - "id": "223", + "id": "183", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "71", - "end": "4922", + "column": "62", + "end": "2960", "length": "7", - "line": "148", - "parentIndex": "222", - "start": "4916" + "line": "95", + "parentIndex": "182", + "start": "2954" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4291,23 +3547,23 @@ } ], "src": { - "column": "65", - "end": "4922", - "length": "13", - "line": "148", - "parentIndex": "213", - "start": "4910" + "column": "62", + "end": "2960", + "length": "7", + "line": "95", + "parentIndex": "175", + "start": "2954" } }, - "scope": "121", - "signature": "8b61a525", + "scope": "33", + "signature": "771602f7", "src": { "column": "4", - "end": "5038", - "length": "190", - "line": "148", - "parentIndex": "121", - "start": "4849" + "end": "2991", + "length": "96", + "line": "95", + "parentIndex": "33", + "start": "2896" }, "stateMutability": "PURE", "typeDescription": { @@ -4321,275 +3577,131 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "249", + "id": "199", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "80", - "end": "5387", - "length": "114", - "line": "160", - "parentIndex": "238", - "start": "5274" + "column": "71", + "end": "3358", + "length": "29", + "line": "109", + "parentIndex": "190", + "start": "3330" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", "value": { - "id": "250", - "nodeType": "UNCHECKED_BLOCK", - "src": { - "column": "8", - "end": "5381", - "length": "98", - "line": "161", - "parentIndex": "121", - "start": "5284" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", - "value": { - "body": { - "id": "255", - "nodeType": "BLOCK", - "src": {} - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "252", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "253", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "253", - "src": { - "column": "16", - "end": "5312", - "length": "1", - "line": "162", - "parentIndex": "252", - "start": "5312" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "254", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "21", - "end": "5317", - "length": "1", - "line": "162", - "parentIndex": "252", - "start": "5317" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "16", - "end": "5317", - "length": "6", - "line": "162", - "parentIndex": "251", - "start": "5312" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "201", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "202", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "202", + "src": { + "column": "15", + "end": "3347", + "length": "1", + "line": "110", + "parentIndex": "201", + "start": "3347" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": "251", - "nodeType": "IF_STATEMENT", - "src": { - "end": "5337", - "length": "30", - "line": "162", - "parentIndex": "250", - "start": "5308" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "74727565", - "id": "258", - "isPure": true, - "kind": "BOOLEAN", - "nodeType": "LITERAL", - "src": { - "column": "20", - "end": "5362", - "length": "4", - "line": "163", - "parentIndex": "257", - "start": "5359" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "259", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "260", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "260", - "src": { - "column": "26", - "end": "5365", - "length": "1", - "line": "163", - "parentIndex": "259", - "start": "5365" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "MODULO", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "261", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "261", - "src": { - "column": "30", - "end": "5369", - "length": "1", - "line": "163", - "parentIndex": "259", - "start": "5369" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "26", - "end": "5369", - "length": "5", - "line": "163", - "parentIndex": "257", - "start": "5365" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "id": "257", - "isPure": true, - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "19", - "end": "5370", - "length": "13", - "line": "163", - "parentIndex": "256", - "start": "5358" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", - "typeString": "tuple(bool,uint256)" - } + }, + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "203", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "203", + "src": { + "column": "19", + "end": "3351", + "length": "1", + "line": "110", + "parentIndex": "201", + "start": "3351" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "functionReturnParameters": "238", - "id": "256", - "nodeType": "RETURN_STATEMENT", - "src": { - "column": "12", - "end": "5371", - "length": "21", - "line": "163", - "parentIndex": "238", - "start": "5351" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_bool_$_t_uint256$", - "typeString": "tuple(bool,uint256)" } + }, + "src": { + "column": "15", + "end": "3351", + "length": "5", + "line": "110", + "parentIndex": "200", + "start": "3347" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } - ] + }, + "functionReturnParameters": "190", + "id": "200", + "nodeType": "RETURN_STATEMENT", + "src": { + "column": "8", + "end": "3352", + "length": "13", + "line": "110", + "parentIndex": "190", + "start": "3340" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } } ] }, - "id": "238", + "id": "190", + "implemented": true, "kind": "KIND_FUNCTION", - "name": "tryMod", + "name": "sub", "nameLocation": { "column": "13", - "end": "5212", - "length": "6", - "line": "160", - "parentIndex": "238", - "start": "5207" + "end": "3274", + "length": "3", + "line": "109", + "parentIndex": "190", + "start": "3272" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "239", + "id": "191", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "240", + "id": "192", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "240", + "scope": "192", "src": { - "column": "20", - "end": "5222", + "column": "17", + "end": "3284", "length": "9", - "line": "160", - "parentIndex": "239", - "start": "5214" + "line": "109", + "parentIndex": "191", + "start": "3276" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -4598,16 +3710,16 @@ "typeString": "uint256" }, "typeName": { - "id": "241", + "id": "193", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "20", - "end": "5220", + "column": "17", + "end": "3282", "length": "7", - "line": "160", - "parentIndex": "240", - "start": "5214" + "line": "109", + "parentIndex": "192", + "start": "3276" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4617,17 +3729,17 @@ "visibility": "INTERNAL" }, { - "id": "242", + "id": "194", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "242", + "scope": "194", "src": { - "column": "31", - "end": "5233", + "column": "28", + "end": "3295", "length": "9", - "line": "160", - "parentIndex": "239", - "start": "5225" + "line": "109", + "parentIndex": "191", + "start": "3287" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -4636,16 +3748,16 @@ "typeString": "uint256" }, "typeName": { - "id": "243", + "id": "195", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "31", - "end": "5231", + "column": "28", + "end": "3293", "length": "7", - "line": "160", - "parentIndex": "242", - "start": "5225" + "line": "109", + "parentIndex": "194", + "start": "3287" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4656,66 +3768,29 @@ } ], "src": { - "column": "20", - "end": "5233", + "column": "17", + "end": "3295", "length": "20", - "line": "160", - "parentIndex": "238", - "start": "5214" + "line": "109", + "parentIndex": "190", + "start": "3276" } }, "returnParameters": { - "id": "244", + "id": "196", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "245", - "nodeType": "VARIABLE_DECLARATION", - "scope": "245", - "src": { - "column": "65", - "end": "5262", - "length": "4", - "line": "160", - "parentIndex": "244", - "start": "5259" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "246", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "65", - "end": "5262", - "length": "4", - "line": "160", - "parentIndex": "245", - "start": "5259" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "247", + "id": "197", "nodeType": "VARIABLE_DECLARATION", - "scope": "247", + "scope": "197", "src": { - "column": "71", - "end": "5271", + "column": "62", + "end": "3327", "length": "7", - "line": "160", - "parentIndex": "244", - "start": "5265" + "line": "109", + "parentIndex": "196", + "start": "3321" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -4724,16 +3799,16 @@ "typeString": "uint256" }, "typeName": { - "id": "248", + "id": "198", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "71", - "end": "5271", + "column": "62", + "end": "3327", "length": "7", - "line": "160", - "parentIndex": "247", - "start": "5265" + "line": "109", + "parentIndex": "197", + "start": "3321" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4744,23 +3819,23 @@ } ], "src": { - "column": "65", - "end": "5271", - "length": "13", - "line": "160", - "parentIndex": "238", - "start": "5259" + "column": "62", + "end": "3327", + "length": "7", + "line": "109", + "parentIndex": "190", + "start": "3321" } }, - "scope": "121", - "signature": "4ed783cc", + "scope": "33", + "signature": "b67d77c5", "src": { "column": "4", - "end": "5387", - "length": "190", - "line": "160", - "parentIndex": "121", - "start": "5198" + "end": "3358", + "length": "96", + "line": "109", + "parentIndex": "33", + "start": "3263" }, "stateMutability": "PURE", "typeDescription": { @@ -4774,16 +3849,16 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "272", + "id": "214", "implemented": true, "nodeType": "BLOCK", "src": { "column": "71", - "end": "5718", + "end": "3701", "length": "29", - "line": "177", - "parentIndex": "263", - "start": "5690" + "line": "123", + "parentIndex": "205", + "start": "3673" }, "statements": [ { @@ -4792,21 +3867,21 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "274", + "id": "216", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "275", + "id": "217", "name": "a", "nodeType": "IDENTIFIER", - "referencedDeclaration": "275", + "referencedDeclaration": "217", "src": { "column": "15", - "end": "5707", + "end": "3690", "length": "1", - "line": "178", - "parentIndex": "274", - "start": "5707" + "line": "124", + "parentIndex": "216", + "start": "3690" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4815,21 +3890,21 @@ } }, "nodeType": "BINARY_OPERATION", - "operator": "ADDITION", + "operator": "MULTIPLICATION", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "276", + "id": "218", "name": "b", "nodeType": "IDENTIFIER", - "referencedDeclaration": "276", + "referencedDeclaration": "218", "src": { "column": "19", - "end": "5711", + "end": "3694", "length": "1", - "line": "178", - "parentIndex": "274", - "start": "5711" + "line": "124", + "parentIndex": "216", + "start": "3694" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4839,11 +3914,11 @@ }, "src": { "column": "15", - "end": "5711", + "end": "3694", "length": "5", - "line": "178", - "parentIndex": "273", - "start": "5707" + "line": "124", + "parentIndex": "215", + "start": "3690" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4851,16 +3926,16 @@ } } }, - "functionReturnParameters": "263", - "id": "273", + "functionReturnParameters": "205", + "id": "215", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", - "end": "5712", + "end": "3695", "length": "13", - "line": "178", - "parentIndex": "263", - "start": "5700" + "line": "124", + "parentIndex": "205", + "start": "3683" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4870,35 +3945,35 @@ } ] }, - "id": "263", + "id": "205", "implemented": true, "kind": "KIND_FUNCTION", - "name": "add", + "name": "mul", "nameLocation": { "column": "13", - "end": "5634", + "end": "3617", "length": "3", - "line": "177", - "parentIndex": "263", - "start": "5632" + "line": "123", + "parentIndex": "205", + "start": "3615" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "264", + "id": "206", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "265", + "id": "207", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "265", + "scope": "207", "src": { "column": "17", - "end": "5644", + "end": "3627", "length": "9", - "line": "177", - "parentIndex": "264", - "start": "5636" + "line": "123", + "parentIndex": "206", + "start": "3619" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -4907,16 +3982,16 @@ "typeString": "uint256" }, "typeName": { - "id": "266", + "id": "208", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "17", - "end": "5642", + "end": "3625", "length": "7", - "line": "177", - "parentIndex": "265", - "start": "5636" + "line": "123", + "parentIndex": "207", + "start": "3619" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4926,17 +4001,17 @@ "visibility": "INTERNAL" }, { - "id": "267", + "id": "209", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "267", + "scope": "209", "src": { "column": "28", - "end": "5655", + "end": "3638", "length": "9", - "line": "177", - "parentIndex": "264", - "start": "5647" + "line": "123", + "parentIndex": "206", + "start": "3630" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -4945,16 +4020,16 @@ "typeString": "uint256" }, "typeName": { - "id": "268", + "id": "210", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "28", - "end": "5653", + "end": "3636", "length": "7", - "line": "177", - "parentIndex": "267", - "start": "5647" + "line": "123", + "parentIndex": "209", + "start": "3630" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4966,28 +4041,28 @@ ], "src": { "column": "17", - "end": "5655", + "end": "3638", "length": "20", - "line": "177", - "parentIndex": "263", - "start": "5636" + "line": "123", + "parentIndex": "205", + "start": "3619" } }, "returnParameters": { - "id": "269", + "id": "211", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "270", + "id": "212", "nodeType": "VARIABLE_DECLARATION", - "scope": "270", + "scope": "212", "src": { "column": "62", - "end": "5687", + "end": "3670", "length": "7", - "line": "177", - "parentIndex": "269", - "start": "5681" + "line": "123", + "parentIndex": "211", + "start": "3664" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -4996,16 +4071,16 @@ "typeString": "uint256" }, "typeName": { - "id": "271", + "id": "213", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "62", - "end": "5687", + "end": "3670", "length": "7", - "line": "177", - "parentIndex": "270", - "start": "5681" + "line": "123", + "parentIndex": "212", + "start": "3664" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5017,22 +4092,22 @@ ], "src": { "column": "62", - "end": "5687", + "end": "3670", "length": "7", - "line": "177", - "parentIndex": "263", - "start": "5681" + "line": "123", + "parentIndex": "205", + "start": "3664" } }, - "scope": "121", - "signature": "f31e4d28", + "scope": "33", + "signature": "c8a4ac9c", "src": { "column": "4", - "end": "5718", + "end": "3701", "length": "96", - "line": "177", - "parentIndex": "121", - "start": "5623" + "line": "123", + "parentIndex": "33", + "start": "3606" }, "stateMutability": "PURE", "typeDescription": { @@ -5046,16 +4121,16 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "287", + "id": "229", "implemented": true, "nodeType": "BLOCK", "src": { "column": "71", - "end": "6085", + "end": "4261", "length": "29", - "line": "191", - "parentIndex": "278", - "start": "6057" + "line": "139", + "parentIndex": "220", + "start": "4233" }, "statements": [ { @@ -5064,21 +4139,21 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "289", + "id": "231", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "290", + "id": "232", "name": "a", "nodeType": "IDENTIFIER", - "referencedDeclaration": "290", + "referencedDeclaration": "232", "src": { "column": "15", - "end": "6074", + "end": "4250", "length": "1", - "line": "192", - "parentIndex": "289", - "start": "6074" + "line": "140", + "parentIndex": "231", + "start": "4250" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5087,21 +4162,21 @@ } }, "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", + "operator": "DIVISION", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "291", + "id": "233", "name": "b", "nodeType": "IDENTIFIER", - "referencedDeclaration": "291", + "referencedDeclaration": "233", "src": { "column": "19", - "end": "6078", + "end": "4254", "length": "1", - "line": "192", - "parentIndex": "289", - "start": "6078" + "line": "140", + "parentIndex": "231", + "start": "4254" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5111,11 +4186,11 @@ }, "src": { "column": "15", - "end": "6078", + "end": "4254", "length": "5", - "line": "192", - "parentIndex": "288", - "start": "6074" + "line": "140", + "parentIndex": "230", + "start": "4250" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5123,16 +4198,16 @@ } } }, - "functionReturnParameters": "278", - "id": "288", + "functionReturnParameters": "220", + "id": "230", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", - "end": "6079", + "end": "4255", "length": "13", - "line": "192", - "parentIndex": "278", - "start": "6067" + "line": "140", + "parentIndex": "220", + "start": "4243" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5142,35 +4217,35 @@ } ] }, - "id": "278", + "id": "220", "implemented": true, "kind": "KIND_FUNCTION", - "name": "sub", + "name": "div", "nameLocation": { "column": "13", - "end": "6001", + "end": "4177", "length": "3", - "line": "191", - "parentIndex": "278", - "start": "5999" + "line": "139", + "parentIndex": "220", + "start": "4175" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "279", + "id": "221", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "280", + "id": "222", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "280", + "scope": "222", "src": { "column": "17", - "end": "6011", + "end": "4187", "length": "9", - "line": "191", - "parentIndex": "279", - "start": "6003" + "line": "139", + "parentIndex": "221", + "start": "4179" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5179,16 +4254,16 @@ "typeString": "uint256" }, "typeName": { - "id": "281", + "id": "223", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "17", - "end": "6009", + "end": "4185", "length": "7", - "line": "191", - "parentIndex": "280", - "start": "6003" + "line": "139", + "parentIndex": "222", + "start": "4179" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5198,17 +4273,17 @@ "visibility": "INTERNAL" }, { - "id": "282", + "id": "224", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "282", + "scope": "224", "src": { "column": "28", - "end": "6022", + "end": "4198", "length": "9", - "line": "191", - "parentIndex": "279", - "start": "6014" + "line": "139", + "parentIndex": "221", + "start": "4190" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5217,16 +4292,16 @@ "typeString": "uint256" }, "typeName": { - "id": "283", + "id": "225", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "28", - "end": "6020", + "end": "4196", "length": "7", - "line": "191", - "parentIndex": "282", - "start": "6014" + "line": "139", + "parentIndex": "224", + "start": "4190" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5238,28 +4313,28 @@ ], "src": { "column": "17", - "end": "6022", + "end": "4198", "length": "20", - "line": "191", - "parentIndex": "278", - "start": "6003" + "line": "139", + "parentIndex": "220", + "start": "4179" } }, "returnParameters": { - "id": "284", + "id": "226", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "285", + "id": "227", "nodeType": "VARIABLE_DECLARATION", - "scope": "285", + "scope": "227", "src": { "column": "62", - "end": "6054", + "end": "4230", "length": "7", - "line": "191", - "parentIndex": "284", - "start": "6048" + "line": "139", + "parentIndex": "226", + "start": "4224" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5268,16 +4343,16 @@ "typeString": "uint256" }, "typeName": { - "id": "286", + "id": "228", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "62", - "end": "6054", + "end": "4230", "length": "7", - "line": "191", - "parentIndex": "285", - "start": "6048" + "line": "139", + "parentIndex": "227", + "start": "4224" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5289,22 +4364,22 @@ ], "src": { "column": "62", - "end": "6054", + "end": "4230", "length": "7", - "line": "191", - "parentIndex": "278", - "start": "6048" + "line": "139", + "parentIndex": "220", + "start": "4224" } }, - "scope": "121", - "signature": "bf3b2b28", + "scope": "33", + "signature": "a391c15b", "src": { "column": "4", - "end": "6085", + "end": "4261", "length": "96", - "line": "191", - "parentIndex": "121", - "start": "5990" + "line": "139", + "parentIndex": "33", + "start": "4166" }, "stateMutability": "PURE", "typeDescription": { @@ -5318,16 +4393,16 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "302", + "id": "244", "implemented": true, "nodeType": "BLOCK", "src": { "column": "71", - "end": "6428", + "end": "4810", "length": "29", - "line": "205", - "parentIndex": "293", - "start": "6400" + "line": "155", + "parentIndex": "235", + "start": "4782" }, "statements": [ { @@ -5336,21 +4411,21 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "304", + "id": "246", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "305", + "id": "247", "name": "a", "nodeType": "IDENTIFIER", - "referencedDeclaration": "305", + "referencedDeclaration": "247", "src": { "column": "15", - "end": "6417", + "end": "4799", "length": "1", - "line": "206", - "parentIndex": "304", - "start": "6417" + "line": "156", + "parentIndex": "246", + "start": "4799" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5359,21 +4434,21 @@ } }, "nodeType": "BINARY_OPERATION", - "operator": "MULTIPLICATION", + "operator": "MODULO", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "306", + "id": "248", "name": "b", "nodeType": "IDENTIFIER", - "referencedDeclaration": "306", + "referencedDeclaration": "248", "src": { "column": "19", - "end": "6421", + "end": "4803", "length": "1", - "line": "206", - "parentIndex": "304", - "start": "6421" + "line": "156", + "parentIndex": "246", + "start": "4803" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5383,11 +4458,11 @@ }, "src": { "column": "15", - "end": "6421", + "end": "4803", "length": "5", - "line": "206", - "parentIndex": "303", - "start": "6417" + "line": "156", + "parentIndex": "245", + "start": "4799" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5395,16 +4470,16 @@ } } }, - "functionReturnParameters": "293", - "id": "303", + "functionReturnParameters": "235", + "id": "245", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", - "end": "6422", + "end": "4804", "length": "13", - "line": "206", - "parentIndex": "293", - "start": "6410" + "line": "156", + "parentIndex": "235", + "start": "4792" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5414,35 +4489,35 @@ } ] }, - "id": "293", + "id": "235", "implemented": true, "kind": "KIND_FUNCTION", - "name": "mul", + "name": "mod", "nameLocation": { "column": "13", - "end": "6344", + "end": "4726", "length": "3", - "line": "205", - "parentIndex": "293", - "start": "6342" + "line": "155", + "parentIndex": "235", + "start": "4724" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "294", + "id": "236", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "295", + "id": "237", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "295", + "scope": "237", "src": { "column": "17", - "end": "6354", + "end": "4736", "length": "9", - "line": "205", - "parentIndex": "294", - "start": "6346" + "line": "155", + "parentIndex": "236", + "start": "4728" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5451,16 +4526,16 @@ "typeString": "uint256" }, "typeName": { - "id": "296", + "id": "238", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "17", - "end": "6352", + "end": "4734", "length": "7", - "line": "205", - "parentIndex": "295", - "start": "6346" + "line": "155", + "parentIndex": "237", + "start": "4728" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5470,17 +4545,17 @@ "visibility": "INTERNAL" }, { - "id": "297", + "id": "239", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "297", + "scope": "239", "src": { "column": "28", - "end": "6365", + "end": "4747", "length": "9", - "line": "205", - "parentIndex": "294", - "start": "6357" + "line": "155", + "parentIndex": "236", + "start": "4739" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5489,16 +4564,16 @@ "typeString": "uint256" }, "typeName": { - "id": "298", + "id": "240", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "28", - "end": "6363", + "end": "4745", "length": "7", - "line": "205", - "parentIndex": "297", - "start": "6357" + "line": "155", + "parentIndex": "239", + "start": "4739" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5510,28 +4585,28 @@ ], "src": { "column": "17", - "end": "6365", + "end": "4747", "length": "20", - "line": "205", - "parentIndex": "293", - "start": "6346" + "line": "155", + "parentIndex": "235", + "start": "4728" } }, "returnParameters": { - "id": "299", + "id": "241", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "300", + "id": "242", "nodeType": "VARIABLE_DECLARATION", - "scope": "300", + "scope": "242", "src": { "column": "62", - "end": "6397", + "end": "4779", "length": "7", - "line": "205", - "parentIndex": "299", - "start": "6391" + "line": "155", + "parentIndex": "241", + "start": "4773" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5540,16 +4615,16 @@ "typeString": "uint256" }, "typeName": { - "id": "301", + "id": "243", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "62", - "end": "6397", + "end": "4779", "length": "7", - "line": "205", - "parentIndex": "300", - "start": "6391" + "line": "155", + "parentIndex": "242", + "start": "4773" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5561,22 +4636,22 @@ ], "src": { "column": "62", - "end": "6397", + "end": "4779", "length": "7", - "line": "205", - "parentIndex": "293", - "start": "6391" + "line": "155", + "parentIndex": "235", + "start": "4773" } }, - "scope": "121", - "signature": "cd3ef6fa", + "scope": "33", + "signature": "f43f523a", "src": { "column": "4", - "end": "6428", + "end": "4810", "length": "96", - "line": "205", - "parentIndex": "121", - "start": "6333" + "line": "155", + "parentIndex": "33", + "start": "4715" }, "stateMutability": "PURE", "typeDescription": { @@ -5590,131 +4665,289 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "317", + "id": "261", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "71", - "end": "6988", - "length": "29", - "line": "221", - "parentIndex": "308", - "start": "6960" + "column": "38", + "end": "5505", + "length": "106", + "line": "176", + "parentIndex": "250", + "start": "5400" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "319", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "320", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "320", - "src": { - "column": "15", - "end": "6977", - "length": "1", - "line": "222", - "parentIndex": "319", - "start": "6977" + "id": "262", + "nodeType": "UNCHECKED_BLOCK", + "src": { + "column": "8", + "end": "5499", + "length": "90", + "line": "177", + "parentIndex": "33", + "start": "5410" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "typeIdentifier": "t_string", + "typeString": "string" } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "DIVISION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "321", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "321", - "src": { - "column": "19", - "end": "6981", - "length": "1", - "line": "222", - "parentIndex": "319", - "start": "6981" + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "265", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "266", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "266", + "src": { + "column": "20", + "end": "5442", + "length": "1", + "line": "178", + "parentIndex": "265", + "start": "5442" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN_OR_EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "267", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "267", + "src": { + "column": "25", + "end": "5447", + "length": "1", + "line": "178", + "parentIndex": "265", + "start": "5447" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "20", + "end": "5447", + "length": "6", + "line": "178", + "parentIndex": "263", + "start": "5442" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": "268", + "name": "errorMessage", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "268", + "src": { + "column": "28", + "end": "5461", + "length": "12", + "line": "178", + "parentIndex": "263", + "start": "5450" + }, + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "264", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "5440", + "length": "7", + "line": "178", + "parentIndex": "263", + "start": "5434" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "263", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "5462", + "length": "29", + "line": "178", + "parentIndex": "262", + "start": "5434" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string$", + "typeString": "function(bool,string)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "270", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "271", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "271", + "src": { + "column": "19", + "end": "5484", + "length": "1", + "line": "179", + "parentIndex": "270", + "start": "5484" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "272", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "272", + "src": { + "column": "23", + "end": "5488", + "length": "1", + "line": "179", + "parentIndex": "270", + "start": "5488" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "19", + "end": "5488", + "length": "5", + "line": "179", + "parentIndex": "269", + "start": "5484" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } + }, + "functionReturnParameters": "250", + "id": "269", + "nodeType": "RETURN_STATEMENT", + "src": { + "column": "12", + "end": "5489", + "length": "13", + "line": "179", + "parentIndex": "250", + "start": "5477" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "src": { - "column": "15", - "end": "6981", - "length": "5", - "line": "222", - "parentIndex": "318", - "start": "6977" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } } - }, - "functionReturnParameters": "308", - "id": "318", - "nodeType": "RETURN_STATEMENT", - "src": { - "column": "8", - "end": "6982", - "length": "13", - "line": "222", - "parentIndex": "308", - "start": "6970" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + ] } } ] }, - "id": "308", - "implemented": true, + "id": "250", "kind": "KIND_FUNCTION", - "name": "div", + "name": "sub", "nameLocation": { "column": "13", - "end": "6904", + "end": "5286", "length": "3", - "line": "221", - "parentIndex": "308", - "start": "6902" + "line": "172", + "parentIndex": "250", + "start": "5284" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "309", + "id": "251", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "310", + "id": "252", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "310", + "scope": "252", "src": { - "column": "17", - "end": "6914", + "column": "8", + "end": "5305", "length": "9", - "line": "221", - "parentIndex": "309", - "start": "6906" + "line": "173", + "parentIndex": "251", + "start": "5297" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5723,16 +4956,16 @@ "typeString": "uint256" }, "typeName": { - "id": "311", + "id": "253", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "17", - "end": "6912", + "column": "8", + "end": "5303", "length": "7", - "line": "221", - "parentIndex": "310", - "start": "6906" + "line": "173", + "parentIndex": "252", + "start": "5297" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5742,17 +4975,17 @@ "visibility": "INTERNAL" }, { - "id": "312", + "id": "254", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "312", + "scope": "254", "src": { - "column": "28", - "end": "6925", + "column": "8", + "end": "5324", "length": "9", - "line": "221", - "parentIndex": "309", - "start": "6917" + "line": "174", + "parentIndex": "251", + "start": "5316" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5761,16 +4994,16 @@ "typeString": "uint256" }, "typeName": { - "id": "313", + "id": "255", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "28", - "end": "6923", + "column": "8", + "end": "5322", "length": "7", - "line": "221", - "parentIndex": "312", - "start": "6917" + "line": "174", + "parentIndex": "254", + "start": "5316" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5778,32 +5011,70 @@ } }, "visibility": "INTERNAL" + }, + { + "id": "256", + "name": "errorMessage", + "nodeType": "VARIABLE_DECLARATION", + "scope": "256", + "src": { + "column": "8", + "end": "5360", + "length": "26", + "line": "175", + "parentIndex": "251", + "start": "5335" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + }, + "typeName": { + "id": "257", + "name": "string", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "5340", + "length": "6", + "line": "175", + "parentIndex": "256", + "start": "5335" + }, + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + } + }, + "visibility": "INTERNAL" } ], "src": { - "column": "17", - "end": "6925", - "length": "20", - "line": "221", - "parentIndex": "308", - "start": "6906" + "column": "8", + "end": "5360", + "length": "64", + "line": "173", + "parentIndex": "250", + "start": "5297" } }, "returnParameters": { - "id": "314", + "id": "258", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "315", + "id": "259", "nodeType": "VARIABLE_DECLARATION", - "scope": "315", + "scope": "259", "src": { - "column": "62", - "end": "6957", + "column": "29", + "end": "5397", "length": "7", - "line": "221", - "parentIndex": "314", - "start": "6951" + "line": "176", + "parentIndex": "258", + "start": "5391" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5812,16 +5083,16 @@ "typeString": "uint256" }, "typeName": { - "id": "316", + "id": "260", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "62", - "end": "6957", + "column": "29", + "end": "5397", "length": "7", - "line": "221", - "parentIndex": "315", - "start": "6951" + "line": "176", + "parentIndex": "259", + "start": "5391" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5832,28 +5103,28 @@ } ], "src": { - "column": "62", - "end": "6957", + "column": "29", + "end": "5397", "length": "7", - "line": "221", - "parentIndex": "308", - "start": "6951" + "line": "176", + "parentIndex": "250", + "start": "5391" } }, - "scope": "121", - "signature": "4530da25", + "scope": "33", + "signature": "e31bdc0a", "src": { "column": "4", - "end": "6988", - "length": "96", - "line": "221", - "parentIndex": "121", - "start": "6893" + "end": "5505", + "length": "231", + "line": "172", + "parentIndex": "33", + "start": "5275" }, "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", - "typeString": "function(uint256,uint256)" + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "typeString": "function(uint256,uint256,string)" }, "visibility": "INTERNAL" } @@ -5862,131 +5133,291 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "332", + "id": "285", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "71", - "end": "7537", - "length": "29", - "line": "237", - "parentIndex": "323", - "start": "7509" + "column": "38", + "end": "6219", + "length": "105", + "line": "199", + "parentIndex": "274", + "start": "6115" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "334", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "335", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "335", - "src": { - "column": "15", - "end": "7526", - "length": "1", - "line": "238", - "parentIndex": "334", - "start": "7526" + "id": "286", + "nodeType": "UNCHECKED_BLOCK", + "src": { + "column": "8", + "end": "6213", + "length": "89", + "line": "200", + "parentIndex": "33", + "start": "6125" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "typeIdentifier": "t_string", + "typeString": "string" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "289", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "290", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "290", + "src": { + "column": "20", + "end": "6157", + "length": "1", + "line": "201", + "parentIndex": "289", + "start": "6157" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "291", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "24", + "end": "6161", + "length": "1", + "line": "201", + "parentIndex": "289", + "start": "6161" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "20", + "end": "6161", + "length": "5", + "line": "201", + "parentIndex": "287", + "start": "6157" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": "292", + "name": "errorMessage", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "292", + "src": { + "column": "27", + "end": "6175", + "length": "12", + "line": "201", + "parentIndex": "287", + "start": "6164" + }, + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "288", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "6155", + "length": "7", + "line": "201", + "parentIndex": "287", + "start": "6149" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } } + }, + "id": "287", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "6176", + "length": "28", + "line": "201", + "parentIndex": "286", + "start": "6149" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string$", + "typeString": "function(bool,string)" } - }, - "nodeType": "BINARY_OPERATION", - "operator": "MODULO", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "336", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "336", - "src": { - "column": "19", - "end": "7530", - "length": "1", - "line": "238", - "parentIndex": "334", - "start": "7530" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "294", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "295", + "name": "a", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "295", + "src": { + "column": "19", + "end": "6198", + "length": "1", + "line": "202", + "parentIndex": "294", + "start": "6198" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "DIVISION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "296", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "296", + "src": { + "column": "23", + "end": "6202", + "length": "1", + "line": "202", + "parentIndex": "294", + "start": "6202" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "19", + "end": "6202", + "length": "5", + "line": "202", + "parentIndex": "293", + "start": "6198" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } + }, + "functionReturnParameters": "274", + "id": "293", + "nodeType": "RETURN_STATEMENT", + "src": { + "column": "12", + "end": "6203", + "length": "13", + "line": "202", + "parentIndex": "274", + "start": "6191" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "src": { - "column": "15", - "end": "7530", - "length": "5", - "line": "238", - "parentIndex": "333", - "start": "7526" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } } - }, - "functionReturnParameters": "323", - "id": "333", - "nodeType": "RETURN_STATEMENT", - "src": { - "column": "8", - "end": "7531", - "length": "13", - "line": "238", - "parentIndex": "323", - "start": "7519" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + ] } } ] }, - "id": "323", - "implemented": true, + "id": "274", "kind": "KIND_FUNCTION", - "name": "mod", + "name": "div", "nameLocation": { "column": "13", - "end": "7453", + "end": "6001", "length": "3", - "line": "237", - "parentIndex": "323", - "start": "7451" + "line": "195", + "parentIndex": "274", + "start": "5999" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "324", + "id": "275", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "325", + "id": "276", "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "325", + "scope": "276", "src": { - "column": "17", - "end": "7463", + "column": "8", + "end": "6020", "length": "9", - "line": "237", - "parentIndex": "324", - "start": "7455" + "line": "196", + "parentIndex": "275", + "start": "6012" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -5995,16 +5426,16 @@ "typeString": "uint256" }, "typeName": { - "id": "326", + "id": "277", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "17", - "end": "7461", + "column": "8", + "end": "6018", "length": "7", - "line": "237", - "parentIndex": "325", - "start": "7455" + "line": "196", + "parentIndex": "276", + "start": "6012" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6014,17 +5445,17 @@ "visibility": "INTERNAL" }, { - "id": "327", + "id": "278", "name": "b", "nodeType": "VARIABLE_DECLARATION", - "scope": "327", + "scope": "278", "src": { - "column": "28", - "end": "7474", + "column": "8", + "end": "6039", "length": "9", - "line": "237", - "parentIndex": "324", - "start": "7466" + "line": "197", + "parentIndex": "275", + "start": "6031" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -6033,16 +5464,16 @@ "typeString": "uint256" }, "typeName": { - "id": "328", + "id": "279", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "28", - "end": "7472", + "column": "8", + "end": "6037", "length": "7", - "line": "237", - "parentIndex": "327", - "start": "7466" + "line": "197", + "parentIndex": "278", + "start": "6031" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6050,32 +5481,70 @@ } }, "visibility": "INTERNAL" + }, + { + "id": "280", + "name": "errorMessage", + "nodeType": "VARIABLE_DECLARATION", + "scope": "280", + "src": { + "column": "8", + "end": "6075", + "length": "26", + "line": "198", + "parentIndex": "275", + "start": "6050" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + }, + "typeName": { + "id": "281", + "name": "string", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "6055", + "length": "6", + "line": "198", + "parentIndex": "280", + "start": "6050" + }, + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + } + }, + "visibility": "INTERNAL" } ], "src": { - "column": "17", - "end": "7474", - "length": "20", - "line": "237", - "parentIndex": "323", - "start": "7455" + "column": "8", + "end": "6075", + "length": "64", + "line": "196", + "parentIndex": "274", + "start": "6012" } }, "returnParameters": { - "id": "329", + "id": "282", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "330", + "id": "283", "nodeType": "VARIABLE_DECLARATION", - "scope": "330", + "scope": "283", "src": { - "column": "62", - "end": "7506", + "column": "29", + "end": "6112", "length": "7", - "line": "237", - "parentIndex": "329", - "start": "7500" + "line": "199", + "parentIndex": "282", + "start": "6106" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -6084,16 +5553,16 @@ "typeString": "uint256" }, "typeName": { - "id": "331", + "id": "284", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "62", - "end": "7506", + "column": "29", + "end": "6112", "length": "7", - "line": "237", - "parentIndex": "330", - "start": "7500" + "line": "199", + "parentIndex": "283", + "start": "6106" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6104,28 +5573,28 @@ } ], "src": { - "column": "62", - "end": "7506", + "column": "29", + "end": "6112", "length": "7", - "line": "237", - "parentIndex": "323", - "start": "7500" + "line": "199", + "parentIndex": "274", + "start": "6106" } }, - "scope": "121", - "signature": "1130353e", + "scope": "33", + "signature": "b745d336", "src": { "column": "4", - "end": "7537", - "length": "96", - "line": "237", - "parentIndex": "121", - "start": "7442" + "end": "6219", + "length": "230", + "line": "195", + "parentIndex": "33", + "start": "5990" }, "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", - "typeString": "function(uint256,uint256)" + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "typeString": "function(uint256,uint256,string)" }, "visibility": "INTERNAL" } @@ -6134,30 +5603,30 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "349", + "id": "309", "implemented": true, "nodeType": "BLOCK", "src": { "column": "38", - "end": "8232", - "length": "106", - "line": "258", - "parentIndex": "338", - "start": "8127" + "end": "7095", + "length": "105", + "line": "225", + "parentIndex": "298", + "start": "6991" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "350", + "id": "310", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", - "end": "8226", - "length": "90", - "line": "259", - "parentIndex": "121", - "start": "8137" + "end": "7089", + "length": "89", + "line": "226", + "parentIndex": "33", + "start": "7001" }, "statements": [ { @@ -6177,21 +5646,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "353", + "id": "313", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "354", + "id": "314", "name": "b", "nodeType": "IDENTIFIER", - "referencedDeclaration": "354", + "referencedDeclaration": "314", "src": { "column": "20", - "end": "8169", + "end": "7033", "length": "1", - "line": "260", - "parentIndex": "353", - "start": "8169" + "line": "227", + "parentIndex": "313", + "start": "7033" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6200,35 +5669,37 @@ } }, "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN_OR_EQUAL", + "operator": "GREATER_THAN", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "355", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "355", + "hexValue": "30", + "id": "315", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "25", - "end": "8174", + "column": "24", + "end": "7037", "length": "1", - "line": "260", - "parentIndex": "353", - "start": "8174" + "line": "227", + "parentIndex": "313", + "start": "7037" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } }, "src": { "column": "20", - "end": "8174", - "length": "6", - "line": "260", - "parentIndex": "351", - "start": "8169" + "end": "7037", + "length": "5", + "line": "227", + "parentIndex": "311", + "start": "7033" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -6245,17 +5716,17 @@ "typeString": "bool" } ], - "id": "356", + "id": "316", "name": "errorMessage", "nodeType": "IDENTIFIER", - "referencedDeclaration": "356", + "referencedDeclaration": "316", "src": { - "column": "28", - "end": "8188", + "column": "27", + "end": "7051", "length": "12", - "line": "260", - "parentIndex": "351", - "start": "8177" + "line": "227", + "parentIndex": "311", + "start": "7040" }, "typeDescription": { "typeIdentifier": "t_string", @@ -6267,17 +5738,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "352", + "id": "312", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", "src": { "column": "12", - "end": "8167", + "end": "7031", "length": "7", - "line": "260", - "parentIndex": "351", - "start": "8161" + "line": "227", + "parentIndex": "311", + "start": "7025" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -6285,16 +5756,16 @@ } } }, - "id": "351", + "id": "311", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "12", - "end": "8189", - "length": "29", - "line": "260", - "parentIndex": "350", - "start": "8161" + "end": "7052", + "length": "28", + "line": "227", + "parentIndex": "310", + "start": "7025" }, "typeDescription": { "typeIdentifier": "t_function_$_t_bool$_t_string$", @@ -6308,21 +5779,21 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "358", + "id": "318", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "359", + "id": "319", "name": "a", "nodeType": "IDENTIFIER", - "referencedDeclaration": "359", + "referencedDeclaration": "319", "src": { "column": "19", - "end": "8211", + "end": "7074", "length": "1", - "line": "261", - "parentIndex": "358", - "start": "8211" + "line": "228", + "parentIndex": "318", + "start": "7074" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6331,21 +5802,21 @@ } }, "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", + "operator": "MODULO", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "360", + "id": "320", "name": "b", "nodeType": "IDENTIFIER", - "referencedDeclaration": "360", + "referencedDeclaration": "320", "src": { "column": "23", - "end": "8215", + "end": "7078", "length": "1", - "line": "261", - "parentIndex": "358", - "start": "8215" + "line": "228", + "parentIndex": "318", + "start": "7078" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6355,11 +5826,11 @@ }, "src": { "column": "19", - "end": "8215", + "end": "7078", "length": "5", - "line": "261", - "parentIndex": "357", - "start": "8211" + "line": "228", + "parentIndex": "317", + "start": "7074" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6367,16 +5838,16 @@ } } }, - "functionReturnParameters": "338", - "id": "357", + "functionReturnParameters": "298", + "id": "317", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", - "end": "8216", + "end": "7079", "length": "13", - "line": "261", - "parentIndex": "338", - "start": "8204" + "line": "228", + "parentIndex": "298", + "start": "7067" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6387,36 +5858,340 @@ ] } } - ] + ] + }, + "id": "298", + "kind": "KIND_FUNCTION", + "name": "mod", + "nameLocation": { + "column": "13", + "end": "6877", + "length": "3", + "line": "221", + "parentIndex": "298", + "start": "6875" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "299", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "300", + "name": "a", + "nodeType": "VARIABLE_DECLARATION", + "scope": "300", + "src": { + "column": "8", + "end": "6896", + "length": "9", + "line": "222", + "parentIndex": "299", + "start": "6888" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "301", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "6894", + "length": "7", + "line": "222", + "parentIndex": "300", + "start": "6888" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "302", + "name": "b", + "nodeType": "VARIABLE_DECLARATION", + "scope": "302", + "src": { + "column": "8", + "end": "6915", + "length": "9", + "line": "223", + "parentIndex": "299", + "start": "6907" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "303", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "6913", + "length": "7", + "line": "223", + "parentIndex": "302", + "start": "6907" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "304", + "name": "errorMessage", + "nodeType": "VARIABLE_DECLARATION", + "scope": "304", + "src": { + "column": "8", + "end": "6951", + "length": "26", + "line": "224", + "parentIndex": "299", + "start": "6926" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + }, + "typeName": { + "id": "305", + "name": "string", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "6931", + "length": "6", + "line": "224", + "parentIndex": "304", + "start": "6926" + }, + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "6951", + "length": "64", + "line": "222", + "parentIndex": "298", + "start": "6888" + } + }, + "returnParameters": { + "id": "306", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "307", + "nodeType": "VARIABLE_DECLARATION", + "scope": "307", + "src": { + "column": "29", + "end": "6988", + "length": "7", + "line": "225", + "parentIndex": "306", + "start": "6982" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "308", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "29", + "end": "6988", + "length": "7", + "line": "225", + "parentIndex": "307", + "start": "6982" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "29", + "end": "6988", + "length": "7", + "line": "225", + "parentIndex": "298", + "start": "6982" + } + }, + "scope": "33", + "signature": "71af23e8", + "src": { + "column": "4", + "end": "7095", + "length": "230", + "line": "221", + "parentIndex": "33", + "start": "6866" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "typeString": "function(uint256,uint256,string)" + }, + "visibility": "INTERNAL" + } + } + ], + "src": { + "end": "7097", + "length": "6476", + "line": "18", + "parentIndex": "31", + "start": "622" + } + } + } + ] + }, + "src": { + "line": 18, + "start": 622, + "end": 7097, + "length": 6476, + "parent_index": 30 + } + }, + { + "id": 321, + "license": "MIT", + "name": "IERC20", + "absolute_path": "IERC20.sol", + "exported_symbols": [ + { + "id": 321, + "name": "IERC20", + "absolute_path": "IERC20.sol" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "323", + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "7155", + "length": "23", + "line": "235", + "parentIndex": "321", + "start": "7133" + }, + "text": "pragma solidity ^0.8.0;" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", + "value": { + "fullyImplemented": true, + "id": "326", + "kind": "KIND_INTERFACE", + "linearizedBaseContracts": [ + "326" + ], + "name": "IERC20", + "nameLocation": { + "column": "10", + "end": "7244", + "length": "6", + "line": "240", + "parentIndex": "326", + "start": "7239" + }, + "nodeType": "CONTRACT_DEFINITION", + "nodes": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "335", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "7377", + "length": "55", + "line": "244", + "parentIndex": "328", + "start": "7323" + } }, - "id": "338", + "id": "328", "kind": "KIND_FUNCTION", - "name": "sub", + "name": "totalSupply", "nameLocation": { "column": "13", - "end": "8013", - "length": "3", - "line": "254", - "parentIndex": "338", - "start": "8011" + "end": "7342", + "length": "11", + "line": "244", + "parentIndex": "328", + "start": "7332" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "339", + "id": "329", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "340", - "name": "a", + "id": "330", "nodeType": "VARIABLE_DECLARATION", - "scope": "340", + "scope": "330", "src": { - "column": "8", - "end": "8032", - "length": "9", - "line": "255", - "parentIndex": "339", - "start": "8024" + "column": "50", + "end": "7375", + "length": "7", + "line": "244", + "parentIndex": "329", + "start": "7369" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -6425,16 +6200,16 @@ "typeString": "uint256" }, "typeName": { - "id": "341", + "id": "331", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "8030", + "column": "50", + "end": "7375", "length": "7", - "line": "255", - "parentIndex": "340", - "start": "8024" + "line": "244", + "parentIndex": "330", + "start": "7369" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6442,19 +6217,32 @@ } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "50", + "end": "7375", + "length": "7", + "line": "244", + "parentIndex": "328", + "start": "7369" + } + }, + "returnParameters": { + "id": "332", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "342", - "name": "b", + "id": "333", "nodeType": "VARIABLE_DECLARATION", - "scope": "342", + "scope": "333", "src": { - "column": "8", - "end": "8051", - "length": "9", - "line": "256", - "parentIndex": "339", - "start": "8043" + "column": "50", + "end": "7375", + "length": "7", + "line": "244", + "parentIndex": "332", + "start": "7369" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -6463,16 +6251,16 @@ "typeString": "uint256" }, "typeName": { - "id": "343", + "id": "334", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "8049", + "column": "50", + "end": "7375", "length": "7", - "line": "256", - "parentIndex": "342", - "start": "8043" + "line": "244", + "parentIndex": "333", + "start": "7369" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6480,70 +6268,130 @@ } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "50", + "end": "7375", + "length": "7", + "line": "244", + "parentIndex": "328", + "start": "7369" + } + }, + "scope": "326", + "signature": "bd85b039", + "src": { + "column": "4", + "end": "7377", + "length": "55", + "line": "244", + "parentIndex": "326", + "start": "7323" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "344", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "7528", + "length": "68", + "line": "249", + "parentIndex": "337", + "start": "7461" + } + }, + "id": "337", + "kind": "KIND_FUNCTION", + "name": "balanceOf", + "nameLocation": { + "column": "13", + "end": "7478", + "length": "9", + "line": "249", + "parentIndex": "337", + "start": "7470" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "338", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "344", - "name": "errorMessage", + "id": "339", + "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "344", - "src": { - "column": "8", - "end": "8087", - "length": "26", - "line": "257", - "parentIndex": "339", - "start": "8062" + "scope": "339", + "src": { + "column": "23", + "end": "7494", + "length": "15", + "line": "249", + "parentIndex": "338", + "start": "7480" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "345", - "name": "string", + "id": "340", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "8067", - "length": "6", - "line": "257", - "parentIndex": "344", - "start": "8062" + "column": "23", + "end": "7486", + "length": "7", + "line": "249", + "parentIndex": "339", + "start": "7480" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" } ], "src": { - "column": "8", - "end": "8087", - "length": "64", - "line": "255", - "parentIndex": "338", - "start": "8024" + "column": "23", + "end": "7494", + "length": "15", + "line": "249", + "parentIndex": "337", + "start": "7480" } }, "returnParameters": { - "id": "346", + "id": "341", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "347", + "id": "342", "nodeType": "VARIABLE_DECLARATION", - "scope": "347", + "scope": "342", "src": { - "column": "29", - "end": "8124", + "column": "63", + "end": "7526", "length": "7", - "line": "258", - "parentIndex": "346", - "start": "8118" + "line": "249", + "parentIndex": "341", + "start": "7520" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -6552,16 +6400,16 @@ "typeString": "uint256" }, "typeName": { - "id": "348", + "id": "343", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "29", - "end": "8124", + "column": "63", + "end": "7526", "length": "7", - "line": "258", - "parentIndex": "347", - "start": "8118" + "line": "249", + "parentIndex": "342", + "start": "7520" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6572,321 +6420,353 @@ } ], "src": { - "column": "29", - "end": "8124", + "column": "63", + "end": "7526", "length": "7", - "line": "258", - "parentIndex": "338", - "start": "8118" + "line": "249", + "parentIndex": "337", + "start": "7520" } }, - "scope": "121", - "signature": "2a4c5531", + "scope": "326", + "signature": "70a08231", "src": { "column": "4", - "end": "8232", - "length": "231", - "line": "254", - "parentIndex": "121", - "start": "8002" + "end": "7528", + "length": "68", + "line": "249", + "parentIndex": "326", + "start": "7461" }, - "stateMutability": "PURE", + "stateMutability": "VIEW", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "typeString": "function(uint256,uint256,string)" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" }, - "visibility": "INTERNAL" + "visibility": "EXTERNAL" } }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "373", - "implemented": true, + "id": "355", "nodeType": "BLOCK", "src": { - "column": "38", - "end": "8946", - "length": "105", - "line": "281", - "parentIndex": "362", - "start": "8842" - }, - "statements": [ + "column": "4", + "end": "7825", + "length": "77", + "line": "258", + "parentIndex": "346", + "start": "7749" + } + }, + "id": "346", + "kind": "KIND_FUNCTION", + "name": "transfer", + "nameLocation": { + "column": "13", + "end": "7765", + "length": "8", + "line": "258", + "parentIndex": "346", + "start": "7758" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "347", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", - "value": { - "id": "374", - "nodeType": "UNCHECKED_BLOCK", - "src": { - "column": "8", - "end": "8940", - "length": "89", - "line": "282", - "parentIndex": "121", - "start": "8852" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string", - "typeString": "string" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "377", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "378", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "378", - "src": { - "column": "20", - "end": "8884", - "length": "1", - "line": "283", - "parentIndex": "377", - "start": "8884" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "379", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "24", - "end": "8888", - "length": "1", - "line": "283", - "parentIndex": "377", - "start": "8888" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "20", - "end": "8888", - "length": "5", - "line": "283", - "parentIndex": "375", - "start": "8884" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": "380", - "name": "errorMessage", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "380", - "src": { - "column": "27", - "end": "8902", - "length": "12", - "line": "283", - "parentIndex": "375", - "start": "8891" - }, - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "376", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "8882", - "length": "7", - "line": "283", - "parentIndex": "375", - "start": "8876" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "375", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "8903", - "length": "28", - "line": "283", - "parentIndex": "374", - "start": "8876" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string$", - "typeString": "function(bool,string)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "382", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "383", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "383", - "src": { - "column": "19", - "end": "8925", - "length": "1", - "line": "284", - "parentIndex": "382", - "start": "8925" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "DIVISION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "384", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "384", - "src": { - "column": "23", - "end": "8929", - "length": "1", - "line": "284", - "parentIndex": "382", - "start": "8929" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "19", - "end": "8929", - "length": "5", - "line": "284", - "parentIndex": "381", - "start": "8925" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "functionReturnParameters": "362", - "id": "381", - "nodeType": "RETURN_STATEMENT", - "src": { - "column": "12", - "end": "8930", - "length": "13", - "line": "284", - "parentIndex": "362", - "start": "8918" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ] - } + "id": "348", + "name": "recipient", + "nodeType": "VARIABLE_DECLARATION", + "scope": "348", + "src": { + "column": "22", + "end": "7783", + "length": "17", + "line": "258", + "parentIndex": "347", + "start": "7767" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "349", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "22", + "end": "7773", + "length": "7", + "line": "258", + "parentIndex": "348", + "start": "7767" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "350", + "name": "amount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "350", + "src": { + "column": "41", + "end": "7799", + "length": "14", + "line": "258", + "parentIndex": "347", + "start": "7786" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "351", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "41", + "end": "7792", + "length": "7", + "line": "258", + "parentIndex": "350", + "start": "7786" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" } - ] + ], + "src": { + "column": "22", + "end": "7799", + "length": "33", + "line": "258", + "parentIndex": "346", + "start": "7767" + } + }, + "returnParameters": { + "id": "352", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "353", + "nodeType": "VARIABLE_DECLARATION", + "scope": "353", + "src": { + "column": "75", + "end": "7823", + "length": "4", + "line": "258", + "parentIndex": "352", + "start": "7820" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "354", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "75", + "end": "7823", + "length": "4", + "line": "258", + "parentIndex": "353", + "start": "7820" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "75", + "end": "7823", + "length": "4", + "line": "258", + "parentIndex": "346", + "start": "7820" + } + }, + "scope": "326", + "signature": "a9059cbb", + "src": { + "column": "4", + "end": "7825", + "length": "77", + "line": "258", + "parentIndex": "326", + "start": "7749" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_uint256$", + "typeString": "function(address,uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "366", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "8183", + "length": "83", + "line": "267", + "parentIndex": "357", + "start": "8101" + } }, - "id": "362", + "id": "357", "kind": "KIND_FUNCTION", - "name": "div", + "name": "allowance", "nameLocation": { "column": "13", - "end": "8728", - "length": "3", - "line": "277", - "parentIndex": "362", - "start": "8726" + "end": "8118", + "length": "9", + "line": "267", + "parentIndex": "357", + "start": "8110" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { + "id": "358", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "359", + "name": "owner", + "nodeType": "VARIABLE_DECLARATION", + "scope": "359", + "src": { + "column": "23", + "end": "8132", + "length": "13", + "line": "267", + "parentIndex": "358", + "start": "8120" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "360", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "23", + "end": "8126", + "length": "7", + "line": "267", + "parentIndex": "359", + "start": "8120" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "361", + "name": "spender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "361", + "src": { + "column": "38", + "end": "8149", + "length": "15", + "line": "267", + "parentIndex": "358", + "start": "8135" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "362", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "38", + "end": "8141", + "length": "7", + "line": "267", + "parentIndex": "361", + "start": "8135" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "23", + "end": "8149", + "length": "30", + "line": "267", + "parentIndex": "357", + "start": "8120" + } + }, + "returnParameters": { "id": "363", "nodeType": "PARAMETER_LIST", "parameters": [ { "id": "364", - "name": "a", "nodeType": "VARIABLE_DECLARATION", "scope": "364", "src": { - "column": "8", - "end": "8747", - "length": "9", - "line": "278", + "column": "78", + "end": "8181", + "length": "7", + "line": "267", "parentIndex": "363", - "start": "8739" + "start": "8175" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -6899,12 +6779,12 @@ "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "8745", + "column": "78", + "end": "8181", "length": "7", - "line": "278", + "line": "267", "parentIndex": "364", - "start": "8739" + "start": "8175" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6912,451 +6792,550 @@ } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "78", + "end": "8181", + "length": "7", + "line": "267", + "parentIndex": "357", + "start": "8175" + } + }, + "scope": "326", + "signature": "dd62ed3e", + "src": { + "column": "4", + "end": "8183", + "length": "83", + "line": "267", + "parentIndex": "326", + "start": "8101" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "377", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "8910", + "length": "74", + "line": "283", + "parentIndex": "368", + "start": "8837" + } + }, + "id": "368", + "kind": "KIND_FUNCTION", + "name": "approve", + "nameLocation": { + "column": "13", + "end": "8852", + "length": "7", + "line": "283", + "parentIndex": "368", + "start": "8846" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "369", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "366", - "name": "b", + "id": "370", + "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "366", + "scope": "370", "src": { - "column": "8", - "end": "8766", - "length": "9", - "line": "279", - "parentIndex": "363", - "start": "8758" + "column": "21", + "end": "8868", + "length": "15", + "line": "283", + "parentIndex": "369", + "start": "8854" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "367", - "name": "uint256", + "id": "371", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "8764", + "column": "21", + "end": "8860", "length": "7", - "line": "279", - "parentIndex": "366", - "start": "8758" + "line": "283", + "parentIndex": "370", + "start": "8854" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" }, { - "id": "368", - "name": "errorMessage", + "id": "372", + "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "368", + "scope": "372", "src": { - "column": "8", - "end": "8802", - "length": "26", - "line": "280", - "parentIndex": "363", - "start": "8777" + "column": "38", + "end": "8884", + "length": "14", + "line": "283", + "parentIndex": "369", + "start": "8871" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "369", - "name": "string", + "id": "373", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "8782", - "length": "6", - "line": "280", - "parentIndex": "368", - "start": "8777" + "column": "38", + "end": "8877", + "length": "7", + "line": "283", + "parentIndex": "372", + "start": "8871" }, "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" } ], "src": { - "column": "8", - "end": "8802", - "length": "64", - "line": "278", - "parentIndex": "362", - "start": "8739" + "column": "21", + "end": "8884", + "length": "31", + "line": "283", + "parentIndex": "368", + "start": "8854" } }, "returnParameters": { - "id": "370", + "id": "374", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "371", + "id": "375", "nodeType": "VARIABLE_DECLARATION", - "scope": "371", + "scope": "375", "src": { - "column": "29", - "end": "8839", - "length": "7", - "line": "281", - "parentIndex": "370", - "start": "8833" + "column": "72", + "end": "8908", + "length": "4", + "line": "283", + "parentIndex": "374", + "start": "8905" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "372", - "name": "uint256", + "id": "376", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "29", - "end": "8839", - "length": "7", - "line": "281", - "parentIndex": "371", - "start": "8833" + "column": "72", + "end": "8908", + "length": "4", + "line": "283", + "parentIndex": "375", + "start": "8905" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "INTERNAL" } - ], - "src": { - "column": "29", - "end": "8839", - "length": "7", - "line": "281", - "parentIndex": "362", - "start": "8833" - } - }, - "scope": "121", - "signature": "2ed1535b", - "src": { - "column": "4", - "end": "8946", - "length": "230", - "line": "277", - "parentIndex": "121", - "start": "8717" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "typeString": "function(uint256,uint256,string)" - }, - "visibility": "INTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "397", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "38", - "end": "9822", - "length": "105", - "line": "307", - "parentIndex": "386", - "start": "9718" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", - "value": { - "id": "398", - "nodeType": "UNCHECKED_BLOCK", - "src": { - "column": "8", - "end": "9816", - "length": "89", - "line": "308", - "parentIndex": "121", - "start": "9728" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string", - "typeString": "string" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "401", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "402", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "402", - "src": { - "column": "20", - "end": "9760", - "length": "1", - "line": "309", - "parentIndex": "401", - "start": "9760" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "403", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "24", - "end": "9764", - "length": "1", - "line": "309", - "parentIndex": "401", - "start": "9764" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "20", - "end": "9764", - "length": "5", - "line": "309", - "parentIndex": "399", - "start": "9760" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": "404", - "name": "errorMessage", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "404", - "src": { - "column": "27", - "end": "9778", - "length": "12", - "line": "309", - "parentIndex": "399", - "start": "9767" - }, - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "400", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "9758", - "length": "7", - "line": "309", - "parentIndex": "399", - "start": "9752" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "399", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "9779", - "length": "28", - "line": "309", - "parentIndex": "398", - "start": "9752" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string$", - "typeString": "function(bool,string)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "406", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "407", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "407", - "src": { - "column": "19", - "end": "9801", - "length": "1", - "line": "310", - "parentIndex": "406", - "start": "9801" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "MODULO", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "408", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "408", - "src": { - "column": "23", - "end": "9805", - "length": "1", - "line": "310", - "parentIndex": "406", - "start": "9805" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "19", - "end": "9805", - "length": "5", - "line": "310", - "parentIndex": "405", - "start": "9801" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "functionReturnParameters": "386", - "id": "405", - "nodeType": "RETURN_STATEMENT", - "src": { - "column": "12", - "end": "9806", - "length": "13", - "line": "310", - "parentIndex": "386", - "start": "9794" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ] - } - } - ] + ], + "src": { + "column": "72", + "end": "8908", + "length": "4", + "line": "283", + "parentIndex": "368", + "start": "8905" + } + }, + "scope": "326", + "signature": "095ea7b3", + "src": { + "column": "4", + "end": "8910", + "length": "74", + "line": "283", + "parentIndex": "326", + "start": "8837" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_uint256$", + "typeString": "function(address,uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "390", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "9344", + "length": "127", + "line": "294", + "parentIndex": "379", + "start": "9218" + } }, - "id": "386", + "id": "379", "kind": "KIND_FUNCTION", - "name": "mod", + "name": "transferFrom", "nameLocation": { "column": "13", - "end": "9604", - "length": "3", - "line": "303", - "parentIndex": "386", - "start": "9602" + "end": "9238", + "length": "12", + "line": "294", + "parentIndex": "379", + "start": "9227" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { + "id": "380", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "381", + "name": "sender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "381", + "src": { + "column": "8", + "end": "9262", + "length": "14", + "line": "295", + "parentIndex": "380", + "start": "9249" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "382", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "9255", + "length": "7", + "line": "295", + "parentIndex": "381", + "start": "9249" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "383", + "name": "recipient", + "nodeType": "VARIABLE_DECLARATION", + "scope": "383", + "src": { + "column": "8", + "end": "9289", + "length": "17", + "line": "296", + "parentIndex": "380", + "start": "9273" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "384", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "9279", + "length": "7", + "line": "296", + "parentIndex": "383", + "start": "9273" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "385", + "name": "amount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "385", + "src": { + "column": "8", + "end": "9313", + "length": "14", + "line": "297", + "parentIndex": "380", + "start": "9300" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "386", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "9306", + "length": "7", + "line": "297", + "parentIndex": "385", + "start": "9300" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "9313", + "length": "65", + "line": "295", + "parentIndex": "379", + "start": "9249" + } + }, + "returnParameters": { "id": "387", "nodeType": "PARAMETER_LIST", "parameters": [ { "id": "388", - "name": "a", "nodeType": "VARIABLE_DECLARATION", "scope": "388", "src": { - "column": "8", - "end": "9623", - "length": "9", - "line": "304", + "column": "24", + "end": "9342", + "length": "4", + "line": "298", "parentIndex": "387", - "start": "9615" + "start": "9339" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "389", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "24", + "end": "9342", + "length": "4", + "line": "298", + "parentIndex": "388", + "start": "9339" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "24", + "end": "9342", + "length": "4", + "line": "298", + "parentIndex": "379", + "start": "9339" + } + }, + "scope": "326", + "signature": "23b872dd", + "src": { + "column": "4", + "end": "9344", + "length": "127", + "line": "294", + "parentIndex": "326", + "start": "9218" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", + "typeString": "function(address,address,uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "392", + "name": "Transfer", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "393", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "394", + "indexed": true, + "name": "from", + "nodeType": "VARIABLE_DECLARATION", + "scope": "394", + "src": { + "column": "19", + "end": "9548", + "length": "20", + "line": "306", + "parentIndex": "393", + "start": "9529" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "395", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "19", + "end": "9535", + "length": "7", + "line": "306", + "parentIndex": "394", + "start": "9529" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "396", + "indexed": true, + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "396", + "src": { + "column": "41", + "end": "9568", + "length": "18", + "line": "306", + "parentIndex": "393", + "start": "9551" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "397", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "41", + "end": "9557", + "length": "7", + "line": "306", + "parentIndex": "396", + "start": "9551" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "398", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "398", + "src": { + "column": "61", + "end": "9583", + "length": "13", + "line": "306", + "parentIndex": "393", + "start": "9571" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -7365,16 +7344,16 @@ "typeString": "uint256" }, "typeName": { - "id": "389", + "id": "399", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "9621", + "column": "61", + "end": "9577", "length": "7", - "line": "304", - "parentIndex": "388", - "start": "9615" + "line": "306", + "parentIndex": "398", + "start": "9571" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -7382,108 +7361,133 @@ } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "4", + "end": "9585", + "length": "72", + "line": "306", + "parentIndex": "392", + "start": "9514" + } + }, + "src": { + "column": "4", + "end": "9585", + "length": "72", + "line": "306", + "parentIndex": "326", + "start": "9514" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_IERC20_Transfer_\u0026392", + "typeString": "event IERC20.Transfer" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "401", + "name": "Approval", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "402", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "390", - "name": "b", + "id": "403", + "indexed": true, + "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "390", + "scope": "403", "src": { - "column": "8", - "end": "9642", - "length": "9", - "line": "305", - "parentIndex": "387", - "start": "9634" + "column": "19", + "end": "9780", + "length": "21", + "line": "312", + "parentIndex": "402", + "start": "9760" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "391", - "name": "uint256", + "id": "404", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "9640", + "column": "19", + "end": "9766", "length": "7", - "line": "305", - "parentIndex": "390", - "start": "9634" + "line": "312", + "parentIndex": "403", + "start": "9760" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" }, { - "id": "392", - "name": "errorMessage", + "id": "405", + "indexed": true, + "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "392", + "scope": "405", "src": { - "column": "8", - "end": "9678", - "length": "26", - "line": "306", - "parentIndex": "387", - "start": "9653" + "column": "42", + "end": "9805", + "length": "23", + "line": "312", + "parentIndex": "402", + "start": "9783" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "393", - "name": "string", + "id": "406", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "9658", - "length": "6", - "line": "306", - "parentIndex": "392", - "start": "9653" + "column": "42", + "end": "9789", + "length": "7", + "line": "312", + "parentIndex": "405", + "start": "9783" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" - } - ], - "src": { - "column": "8", - "end": "9678", - "length": "64", - "line": "304", - "parentIndex": "386", - "start": "9615" - } - }, - "returnParameters": { - "id": "394", - "nodeType": "PARAMETER_LIST", - "parameters": [ + }, { - "id": "395", + "id": "407", + "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "395", + "scope": "407", "src": { - "column": "29", - "end": "9715", - "length": "7", - "line": "307", - "parentIndex": "394", - "start": "9709" + "column": "67", + "end": "9820", + "length": "13", + "line": "312", + "parentIndex": "402", + "start": "9808" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -7492,16 +7496,16 @@ "typeString": "uint256" }, "typeName": { - "id": "396", + "id": "408", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "29", - "end": "9715", + "column": "67", + "end": "9814", "length": "7", - "line": "307", - "parentIndex": "395", - "start": "9709" + "line": "312", + "parentIndex": "407", + "start": "9808" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -7512,49 +7516,45 @@ } ], "src": { - "column": "29", - "end": "9715", - "length": "7", - "line": "307", - "parentIndex": "386", - "start": "9709" + "column": "4", + "end": "9822", + "length": "78", + "line": "312", + "parentIndex": "401", + "start": "9745" } }, - "scope": "121", - "signature": "b44cfd1a", "src": { "column": "4", "end": "9822", - "length": "230", - "line": "303", - "parentIndex": "121", - "start": "9593" + "length": "78", + "line": "312", + "parentIndex": "326", + "start": "9745" }, - "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "typeString": "function(uint256,uint256,string)" - }, - "visibility": "INTERNAL" + "typeIdentifier": "t_event\u0026_IERC20_Approval_\u0026401", + "typeString": "event IERC20.Approval" + } } } ], "src": { "end": "9824", - "length": "6476", - "line": "100", - "parentIndex": "118", - "start": "3349" + "length": "2596", + "line": "240", + "parentIndex": "321", + "start": "7229" } } } ] }, "src": { - "line": 100, - "start": 3349, + "line": 240, + "start": 7229, "end": 9824, - "length": 6476, + "length": 2596, "parent_index": 30 } }, @@ -7570,12 +7570,12 @@ "absolute_path": "TokenSale.sol" }, { - "id": 118, + "id": 31, "name": "SafeMath", "absolute_path": "SafeMath.sol" }, { - "id": 31, + "id": 321, "name": "IERC20", "absolute_path": "IERC20.sol" } @@ -7617,7 +7617,7 @@ "id": "413", "nodeType": "IMPORT_DIRECTIVE", "scope": "409", - "sourceUnit": "118", + "sourceUnit": "321", "src": { "end": "9905", "length": "22", @@ -7635,7 +7635,7 @@ "id": "414", "nodeType": "IMPORT_DIRECTIVE", "scope": "409", - "sourceUnit": "118", + "sourceUnit": "321", "src": { "end": "9930", "length": "24", @@ -7679,7 +7679,7 @@ "id": "418", "name": "SafeMath", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "118", + "referencedDeclaration": "31", "src": { "end": "9971", "length": "8", @@ -7735,7 +7735,7 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$31", + "typeIdentifier": "t_contract$_IERC20_$321", "typeString": "contract IERC20" }, "typeName": { @@ -7753,7 +7753,7 @@ "start": "9991" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "31", + "referencedDeclaration": "321", "src": { "column": "4", "end": "9996", @@ -7763,7 +7763,7 @@ "start": "9991" } }, - "referencedDeclaration": "31", + "referencedDeclaration": "321", "src": { "column": "4", "end": "9996", @@ -7773,7 +7773,7 @@ "start": "9991" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$31", + "typeIdentifier": "t_contract$_IERC20_$321", "typeString": "contract IERC20" } }, @@ -8015,7 +8015,7 @@ "start": "10202" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$31", + "typeIdentifier": "t_contract$_IERC20_$321", "typeString": "contract IERC20" } } @@ -8100,7 +8100,7 @@ "start": "10202" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$31", + "typeIdentifier": "t_contract$_IERC20_$321", "typeString": "contract IERC20" } } @@ -8116,7 +8116,7 @@ "start": "10202" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$31", + "typeIdentifier": "t_contract$_IERC20_$321", "typeString": "contract IERC20" } } @@ -8758,7 +8758,7 @@ "start": "10415" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$31", + "typeIdentifier": "t_contract$_IERC20_$321", "typeString": "contract IERC20" } } @@ -8783,7 +8783,7 @@ "start": "10415" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$31", + "typeIdentifier": "t_contract$_IERC20_$321", "typeString": "contract IERC20" } } @@ -9048,347 +9048,347 @@ "src": { "line": 5, "start": 58, - "end": 127, - "length": 70, + "end": 620, + "length": 563, "parent_index": 3 }, - "text": "/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */" + "text": "/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */" }, { "id": 3, "node_type": 32, "src": { - "line": 9, + "line": 19, "column": 4, - "start": 152, - "end": 217, - "length": 66, + "start": 645, + "end": 775, + "length": 131, "parent_index": 4 }, - "text": "/**\n * @dev Returns the amount of tokens in existence.\n */" + "text": "/**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" }, { "id": 4, "node_type": 32, "src": { - "line": 14, + "line": 32, "column": 4, - "start": 284, - "end": 355, - "length": 72, + "start": 1003, + "end": 1137, + "length": 135, "parent_index": 5 }, - "text": "/**\n * @dev Returns the amount of tokens owned by `account`.\n */" + "text": "/**\n * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" }, { "id": 5, "node_type": 32, "src": { - "line": 19, + "line": 44, "column": 4, - "start": 435, - "end": 643, - "length": 209, + "start": 1338, + "end": 1474, + "length": 137, "parent_index": 6 }, - "text": "/**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" + "text": "/**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" }, { "id": 6, - "node_type": 32, + "node_type": 31, "src": { - "line": 28, - "column": 4, - "start": 732, - "end": 995, - "length": 264, + "line": 51, + "column": 12, + "start": 1590, + "end": 1668, + "length": 79, "parent_index": 7 }, - "text": "/**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */" + "text": "// Gas optimization: this is cheaper than requiring 'a' not being zero, but the" }, { "id": 7, - "node_type": 32, + "node_type": 31, "src": { - "line": 37, - "column": 4, - "start": 1090, - "end": 1731, - "length": 642, + "line": 52, + "column": 12, + "start": 1682, + "end": 1722, + "length": 41, "parent_index": 8 }, - "text": "/**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race condition\n * is to first reduce the spender's allowance to 0 and set the desired value\n * afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */" + "text": "// benefit is lost if 'b' is also tested." }, { "id": 8, - "node_type": 32, + "node_type": 31, "src": { "line": 53, - "column": 4, - "start": 1817, - "end": 2112, - "length": 296, + "column": 12, + "start": 1736, + "end": 1806, + "length": 71, "parent_index": 9 }, - "text": "/**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" + "text": "// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522" }, { "id": 9, "node_type": 32, "src": { - "line": 68, + "line": 61, "column": 4, - "start": 2251, - "end": 2408, - "length": 158, + "start": 1979, + "end": 2116, + "length": 138, "parent_index": 10 }, - "text": "/**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */" + "text": "/**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" }, { "id": 10, "node_type": 32, "src": { - "line": 76, + "line": 73, "column": 4, - "start": 2492, - "end": 2639, + "start": 2318, + "end": 2465, "length": 148, "parent_index": 11 }, - "text": "/**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */" + "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" }, { "id": 11, - "node_type": 33, + "node_type": 32, "src": { - "line": 83, - "start": 2727, - "end": 2757, - "length": 31, + "line": 85, + "column": 4, + "start": 2667, + "end": 2890, + "length": 224, "parent_index": 12 }, - "text": "// SPDX-License-Identifier: MIT" + "text": "/**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */" }, { "id": 12, "node_type": 32, "src": { - "line": 87, - "start": 2785, - "end": 3347, - "length": 563, + "line": 99, + "column": 4, + "start": 2998, + "end": 3257, + "length": 260, "parent_index": 13 }, - "text": "/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */" + "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" }, { "id": 13, "node_type": 32, "src": { - "line": 101, + "line": 113, "column": 4, - "start": 3372, - "end": 3502, - "length": 131, + "start": 3365, + "end": 3600, + "length": 236, "parent_index": 14 }, - "text": "/**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" + "text": "/**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */" }, { "id": 14, "node_type": 32, "src": { - "line": 114, + "line": 127, "column": 4, - "start": 3730, - "end": 3864, - "length": 135, + "start": 3708, + "end": 4160, + "length": 453, "parent_index": 15 }, - "text": "/**\n * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" + "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" }, { "id": 15, "node_type": 32, "src": { - "line": 126, + "line": 143, "column": 4, - "start": 4065, - "end": 4201, - "length": 137, + "start": 4268, + "end": 4709, + "length": 442, "parent_index": 16 }, - "text": "/**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" + "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" }, { "id": 16, - "node_type": 31, + "node_type": 32, "src": { - "line": 133, - "column": 12, - "start": 4317, - "end": 4395, - "length": 79, + "line": 159, + "column": 4, + "start": 4817, + "end": 5269, + "length": 453, "parent_index": 17 }, - "text": "// Gas optimization: this is cheaper than requiring 'a' not being zero, but the" + "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" }, { "id": 17, - "node_type": 31, + "node_type": 32, "src": { - "line": 134, - "column": 12, - "start": 4409, - "end": 4449, - "length": 41, + "line": 183, + "column": 4, + "start": 5512, + "end": 5984, + "length": 473, "parent_index": 18 }, - "text": "// benefit is lost if 'b' is also tested." + "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" }, { "id": 18, - "node_type": 31, + "node_type": 32, "src": { - "line": 135, - "column": 12, - "start": 4463, - "end": 4533, - "length": 71, + "line": 206, + "column": 4, + "start": 6226, + "end": 6860, + "length": 635, "parent_index": 19 }, - "text": "// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522" + "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" }, { "id": 19, - "node_type": 32, + "node_type": 33, "src": { - "line": 143, - "column": 4, - "start": 4706, - "end": 4843, - "length": 138, + "line": 233, + "start": 7100, + "end": 7130, + "length": 31, "parent_index": 20 }, - "text": "/**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" + "text": "// SPDX-License-Identifier: MIT" }, { "id": 20, "node_type": 32, "src": { - "line": 155, - "column": 4, - "start": 5045, - "end": 5192, - "length": 148, + "line": 237, + "start": 7158, + "end": 7227, + "length": 70, "parent_index": 21 }, - "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" + "text": "/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */" }, { "id": 21, "node_type": 32, "src": { - "line": 167, + "line": 241, "column": 4, - "start": 5394, - "end": 5617, - "length": 224, + "start": 7252, + "end": 7317, + "length": 66, "parent_index": 22 }, - "text": "/**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */" + "text": "/**\n * @dev Returns the amount of tokens in existence.\n */" }, { "id": 22, "node_type": 32, "src": { - "line": 181, + "line": 246, "column": 4, - "start": 5725, - "end": 5984, - "length": 260, + "start": 7384, + "end": 7455, + "length": 72, "parent_index": 23 }, - "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" + "text": "/**\n * @dev Returns the amount of tokens owned by `account`.\n */" }, { "id": 23, "node_type": 32, "src": { - "line": 195, + "line": 251, "column": 4, - "start": 6092, - "end": 6327, - "length": 236, + "start": 7535, + "end": 7743, + "length": 209, "parent_index": 24 }, - "text": "/**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */" + "text": "/**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" }, { "id": 24, "node_type": 32, "src": { - "line": 209, + "line": 260, "column": 4, - "start": 6435, - "end": 6887, - "length": 453, + "start": 7832, + "end": 8095, + "length": 264, "parent_index": 25 }, - "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + "text": "/**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */" }, { "id": 25, "node_type": 32, "src": { - "line": 225, + "line": 269, "column": 4, - "start": 6995, - "end": 7436, - "length": 442, + "start": 8190, + "end": 8831, + "length": 642, "parent_index": 26 }, - "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + "text": "/**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race condition\n * is to first reduce the spender's allowance to 0 and set the desired value\n * afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */" }, { "id": 26, "node_type": 32, "src": { - "line": 241, + "line": 285, "column": 4, - "start": 7544, - "end": 7996, - "length": 453, + "start": 8917, + "end": 9212, + "length": 296, "parent_index": 27 }, - "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" + "text": "/**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" }, { "id": 27, "node_type": 32, "src": { - "line": 265, + "line": 300, "column": 4, - "start": 8239, - "end": 8711, - "length": 473, + "start": 9351, + "end": 9508, + "length": 158, "parent_index": 28 }, - "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + "text": "/**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */" }, { "id": 28, "node_type": 32, "src": { - "line": 288, + "line": 308, "column": 4, - "start": 8953, - "end": 9587, - "length": 635, + "start": 9592, + "end": 9739, + "length": 148, "parent_index": 29 }, - "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + "text": "/**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */" }, { "id": 29, diff --git a/data/tests/ast/resolver/InterfaceContract.json b/data/tests/ast/resolver/InterfaceContract.json index 8f1a5512..be8235c4 100644 --- a/data/tests/ast/resolver/InterfaceContract.json +++ b/data/tests/ast/resolver/InterfaceContract.json @@ -1 +1 @@ -{"id":1,"node_type":80,"entry_source_unit":35,"globals":[{"id":89,"name":"totalSupply","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":86,"start":335,"end":361,"length":27},"scope":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":90,"node_type":30,"src":{"line":3,"column":86,"start":335,"end":341,"length":7,"parent_index":89},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":91,"name":"_balances","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":114,"start":363,"end":408,"length":46},"scope":0,"type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"visibility":2,"storage_location":1,"mutability":1,"type_name":{"id":92,"node_type":0,"src":{"line":3,"column":114,"start":363,"end":389,"length":27,"parent_index":91},"key_type":{"id":93,"node_type":30,"src":{"line":3,"column":122,"start":371,"end":377,"length":7,"parent_index":92},"name":"address","referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"key_name_location":{"line":3,"column":122,"start":371,"end":377,"length":7,"parent_index":92},"value_type":{"id":94,"node_type":30,"src":{"line":3,"column":133,"start":382,"end":388,"length":7,"parent_index":92},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"value_name_location":{"line":3,"column":133,"start":382,"end":388,"length":7,"parent_index":92},"referenced_declaration":0,"type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"}},"initial_value":null}],"root":[{"id":2,"base_contracts":[],"license":"unknown","exported_symbols":[{"id":2,"name":"IERC20","absolute_path":"IERC20.sol"}],"absolute_path":"IERC20.sol","name":"IERC20","node_type":1,"nodes":[{"id":3,"node_type":10,"src":{"line":1,"column":0,"start":0,"end":22,"length":23,"parent_index":2},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":5,"name":"IERC20","node_type":35,"src":{"line":1,"column":24,"start":24,"end":246,"length":223,"parent_index":2},"name_location":{"line":1,"column":34,"start":34,"end":39,"length":6,"parent_index":5},"abstract":false,"kind":38,"fully_implemented":true,"nodes":[{"id":7,"name":"totalSupply","node_type":42,"kind":41,"src":{"line":1,"column":43,"start":43,"end":97,"length":55,"parent_index":5},"name_location":{"line":1,"column":52,"start":52,"end":62,"length":11,"parent_index":7},"body":{"id":14,"node_type":46,"kind":0,"src":{"line":1,"column":43,"start":43,"end":97,"length":55,"parent_index":7},"implemented":false,"statements":[]},"implemented":false,"visibility":4,"state_mutability":5,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":8,"node_type":43,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":7},"parameters":[{"id":9,"node_type":44,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":8},"scope":7,"name":"","type_name":{"id":10,"node_type":30,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":9},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":11,"node_type":43,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":7},"parameters":[{"id":12,"node_type":44,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":11},"scope":7,"name":"","type_name":{"id":13,"node_type":30,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":12},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"signature_raw":"totalSupply(uint256)","signature":"bd85b039","scope":5,"type_description":{"type_identifier":"t_function_$_t_uint256$","type_string":"function(uint256)"}},{"id":16,"name":"balanceOf","node_type":42,"kind":41,"src":{"line":1,"column":99,"start":99,"end":166,"length":68,"parent_index":5},"name_location":{"line":1,"column":108,"start":108,"end":116,"length":9,"parent_index":16},"body":{"id":23,"node_type":46,"kind":0,"src":{"line":1,"column":99,"start":99,"end":166,"length":68,"parent_index":16},"implemented":false,"statements":[]},"implemented":false,"visibility":4,"state_mutability":5,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":17,"node_type":43,"src":{"line":1,"column":118,"start":118,"end":132,"length":15,"parent_index":16},"parameters":[{"id":18,"node_type":44,"src":{"line":1,"column":118,"start":118,"end":132,"length":15,"parent_index":17},"scope":16,"name":"account","type_name":{"id":19,"node_type":30,"src":{"line":1,"column":118,"start":118,"end":124,"length":7,"parent_index":18},"name":"address","state_mutability":4,"referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"storage_location":2,"visibility":1,"state_mutability":4,"type_description":{"type_identifier":"t_address","type_string":"address"}}],"parameter_types":[{"type_identifier":"t_address","type_string":"address"}]},"return_parameters":{"id":20,"node_type":43,"src":{"line":1,"column":158,"start":158,"end":164,"length":7,"parent_index":16},"parameters":[{"id":21,"node_type":44,"src":{"line":1,"column":158,"start":158,"end":164,"length":7,"parent_index":20},"scope":16,"name":"","type_name":{"id":22,"node_type":30,"src":{"line":1,"column":158,"start":158,"end":164,"length":7,"parent_index":21},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"signature_raw":"balanceOf(address)","signature":"70a08231","scope":5,"type_description":{"type_identifier":"t_function_$_t_address$","type_string":"function(address)"}},{"id":25,"name":"transfer","node_type":42,"kind":41,"src":{"line":1,"column":168,"start":168,"end":244,"length":77,"parent_index":5},"name_location":{"line":1,"column":177,"start":177,"end":184,"length":8,"parent_index":25},"body":{"id":34,"node_type":46,"kind":0,"src":{"line":1,"column":168,"start":168,"end":244,"length":77,"parent_index":25},"implemented":false,"statements":[]},"implemented":false,"visibility":4,"state_mutability":4,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":26,"node_type":43,"src":{"line":1,"column":186,"start":186,"end":218,"length":33,"parent_index":25},"parameters":[{"id":27,"node_type":44,"src":{"line":1,"column":186,"start":186,"end":202,"length":17,"parent_index":26},"scope":25,"name":"recipient","type_name":{"id":28,"node_type":30,"src":{"line":1,"column":186,"start":186,"end":192,"length":7,"parent_index":27},"name":"address","state_mutability":4,"referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"storage_location":2,"visibility":1,"state_mutability":4,"type_description":{"type_identifier":"t_address","type_string":"address"}},{"id":29,"node_type":44,"src":{"line":1,"column":205,"start":205,"end":218,"length":14,"parent_index":26},"scope":25,"name":"amount","type_name":{"id":30,"node_type":30,"src":{"line":1,"column":205,"start":205,"end":211,"length":7,"parent_index":29},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_address","type_string":"address"},{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":31,"node_type":43,"src":{"line":1,"column":239,"start":239,"end":242,"length":4,"parent_index":25},"parameters":[{"id":32,"node_type":44,"src":{"line":1,"column":239,"start":239,"end":242,"length":4,"parent_index":31},"scope":25,"name":"","type_name":{"id":33,"node_type":30,"src":{"line":1,"column":239,"start":239,"end":242,"length":4,"parent_index":32},"name":"bool","referenced_declaration":0,"type_description":{"type_identifier":"t_bool","type_string":"bool"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_bool","type_string":"bool"}}],"parameter_types":[{"type_identifier":"t_bool","type_string":"bool"}]},"signature_raw":"transfer(address, uint256)","signature":"9d61d234","scope":5,"type_description":{"type_identifier":"t_function_$_t_address$_t_uint256$","type_string":"function(address,uint256)"}}],"linearized_base_contracts":[5],"base_contracts":[],"contract_dependencies":[]}],"src":{"line":1,"column":24,"start":24,"end":246,"length":223,"parent_index":1}},{"id":35,"base_contracts":[{"id":40,"node_type":62,"src":{"line":3,"column":77,"start":326,"end":331,"length":6,"parent_index":39},"base_name":{"id":41,"node_type":52,"src":{"line":3,"column":77,"start":326,"end":331,"length":6,"parent_index":39},"name":"IERC20","referenced_declaration":2}}],"license":"unknown","exported_symbols":[{"id":35,"name":"InterfaceContract","absolute_path":"InterfaceContract.sol"},{"id":0,"name":"IERC20","absolute_path":"IERC20.sol'"}],"absolute_path":"InterfaceContract.sol","name":"InterfaceContract","node_type":1,"nodes":[{"id":37,"node_type":10,"src":{"line":3,"column":0,"start":249,"end":271,"length":23,"parent_index":35},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":38,"node_type":29,"src":{"line":3,"column":24,"start":273,"end":294,"length":22,"parent_index":35},"absolute_path":"IERC20.sol'","file":"'./IERC20.sol'","scope":35,"unit_alias":"","as":"","unit_aliases":[],"source_unit":0},{"id":39,"name":"InterfaceContract","node_type":35,"src":{"line":3,"column":47,"start":296,"end":664,"length":369,"parent_index":35},"name_location":{"line":3,"column":56,"start":305,"end":321,"length":17,"parent_index":39},"abstract":false,"kind":36,"fully_implemented":true,"nodes":[{"id":43,"name":"totalSupply","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":86,"start":335,"end":361,"length":27,"parent_index":39},"scope":39,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":44,"node_type":30,"src":{"line":3,"column":86,"start":335,"end":341,"length":7,"parent_index":43},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":46,"name":"_balances","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":114,"start":363,"end":408,"length":46,"parent_index":39},"scope":39,"type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"visibility":2,"storage_location":1,"mutability":1,"type_name":{"id":47,"node_type":0,"src":{"line":3,"column":114,"start":363,"end":389,"length":27,"parent_index":46},"key_type":{"id":48,"node_type":30,"src":{"line":3,"column":122,"start":371,"end":377,"length":7,"parent_index":47},"name":"address","referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"key_name_location":{"line":3,"column":122,"start":371,"end":377,"length":7,"parent_index":47},"value_type":{"id":49,"node_type":30,"src":{"line":3,"column":133,"start":382,"end":388,"length":7,"parent_index":47},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"value_name_location":{"line":3,"column":133,"start":382,"end":388,"length":7,"parent_index":47},"referenced_declaration":0,"type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"}},"initial_value":null},{"id":51,"name":"balanceOf","node_type":42,"kind":41,"src":{"line":3,"column":161,"start":410,"end":505,"length":96,"parent_index":39},"name_location":{"line":3,"column":170,"start":419,"end":427,"length":9,"parent_index":51},"body":{"id":58,"node_type":46,"kind":0,"src":{"line":3,"column":227,"start":476,"end":505,"length":30,"parent_index":51},"implemented":true,"statements":[{"id":59,"node_type":47,"src":{"line":3,"column":229,"start":478,"end":503,"length":26,"parent_index":51},"function_return_parameters":51,"expression":{"id":60,"node_type":22,"src":{"line":3,"column":236,"start":485,"end":502,"length":18,"parent_index":59},"index_expression":{"id":61,"node_type":16,"src":{"line":3,"column":236,"start":485,"end":493,"length":9,"parent_index":60},"name":"_balances","type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"overloaded_declarations":[],"referenced_declaration":46,"is_pure":false},"base_expression":{"id":62,"node_type":16,"src":{"line":3,"column":246,"start":495,"end":501,"length":7,"parent_index":60},"name":"account","type_description":{"type_identifier":"t_address","type_string":"address"},"overloaded_declarations":[],"referenced_declaration":62,"is_pure":false},"type_descriptions":[{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},{"type_identifier":"t_address","type_string":"address"}],"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}}}]},"implemented":true,"visibility":3,"state_mutability":5,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":52,"node_type":43,"src":{"line":3,"column":180,"start":429,"end":443,"length":15,"parent_index":51},"parameters":[{"id":53,"node_type":44,"src":{"line":3,"column":180,"start":429,"end":443,"length":15,"parent_index":52},"scope":51,"name":"account","type_name":{"id":54,"node_type":30,"src":{"line":3,"column":180,"start":429,"end":435,"length":7,"parent_index":53},"name":"address","state_mutability":4,"referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"storage_location":2,"visibility":1,"state_mutability":4,"type_description":{"type_identifier":"t_address","type_string":"address"}}],"parameter_types":[{"type_identifier":"t_address","type_string":"address"}]},"return_parameters":{"id":55,"node_type":43,"src":{"line":3,"column":218,"start":467,"end":473,"length":7,"parent_index":51},"parameters":[{"id":56,"node_type":44,"src":{"line":3,"column":218,"start":467,"end":473,"length":7,"parent_index":55},"scope":51,"name":"","type_name":{"id":57,"node_type":30,"src":{"line":3,"column":218,"start":467,"end":473,"length":7,"parent_index":56},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"signature_raw":"balanceOf(address)","signature":"70a08231","scope":39,"type_description":{"type_identifier":"t_function_$_t_address$","type_string":"function(address)"}},{"id":64,"name":"transfer","node_type":42,"kind":41,"src":{"line":3,"column":258,"start":507,"end":662,"length":156,"parent_index":39},"name_location":{"line":3,"column":267,"start":516,"end":523,"length":8,"parent_index":64},"body":{"id":73,"node_type":46,"kind":0,"src":{"line":3,"column":333,"start":582,"end":662,"length":81,"parent_index":64},"implemented":true,"statements":[{"id":74,"node_type":27,"src":{"line":3,"column":335,"start":584,"end":615,"length":32,"parent_index":73},"expression":{"id":75,"node_type":27,"src":{"line":3,"column":335,"start":584,"end":614,"length":31,"parent_index":74},"operator":14,"left_expression":{"id":76,"node_type":22,"src":{"line":3,"column":335,"start":584,"end":604,"length":21,"parent_index":75},"index_expression":{"id":77,"node_type":16,"src":{"line":3,"column":335,"start":584,"end":592,"length":9,"parent_index":76},"name":"_balances","type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"overloaded_declarations":[],"referenced_declaration":46,"is_pure":false},"base_expression":{"id":78,"is_constant":false,"is_l_value":false,"is_pure":false,"l_value_requested":false,"node_type":23,"src":{"line":3,"column":345,"start":594,"end":603,"length":10,"parent_index":76},"member_location":{"line":3,"column":349,"start":598,"end":603,"length":6,"parent_index":78},"expression":{"id":79,"node_type":16,"src":{"line":3,"column":345,"start":594,"end":596,"length":3,"parent_index":78},"name":"msg","type_description":{"type_identifier":"t_magic_message","type_string":"msg"},"overloaded_declarations":[],"referenced_declaration":0,"is_pure":false},"member_name":"sender","argument_types":[],"type_description":{"type_identifier":"t_address","type_string":"address"}},"type_descriptions":[{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},{"type_identifier":"t_address","type_string":"address"}],"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},"right_expression":{"id":80,"node_type":16,"src":{"line":3,"column":360,"start":609,"end":614,"length":6,"parent_index":75},"name":"amount","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":80,"is_pure":false},"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},{"id":81,"node_type":27,"src":{"line":3,"column":368,"start":617,"end":647,"length":31,"parent_index":73},"expression":{"id":82,"node_type":27,"src":{"line":3,"column":368,"start":617,"end":646,"length":30,"parent_index":81},"operator":13,"left_expression":{"id":83,"node_type":22,"src":{"line":3,"column":368,"start":617,"end":636,"length":20,"parent_index":82},"index_expression":{"id":84,"node_type":16,"src":{"line":3,"column":368,"start":617,"end":625,"length":9,"parent_index":83},"name":"_balances","type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"overloaded_declarations":[],"referenced_declaration":46,"is_pure":false},"base_expression":{"id":85,"node_type":16,"src":{"line":3,"column":378,"start":627,"end":635,"length":9,"parent_index":83},"name":"recipient","type_description":{"type_identifier":"t_address","type_string":"address"},"overloaded_declarations":[],"referenced_declaration":85,"is_pure":false},"type_descriptions":[{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},{"type_identifier":"t_address","type_string":"address"}],"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},"right_expression":{"id":86,"node_type":16,"src":{"line":3,"column":392,"start":641,"end":646,"length":6,"parent_index":82},"name":"amount","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":86,"is_pure":false},"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},{"id":87,"node_type":47,"src":{"line":3,"column":400,"start":649,"end":660,"length":12,"parent_index":64},"function_return_parameters":64,"expression":{"id":88,"node_type":17,"kind":61,"value":"true","hex_value":"74727565","src":{"line":3,"column":407,"start":656,"end":659,"length":4,"parent_index":87},"type_description":{"type_identifier":"t_bool","type_string":"bool"},"overloaded_declarations":[],"referenced_declaration":0,"is_pure":true}}]},"implemented":true,"visibility":3,"state_mutability":4,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":65,"node_type":43,"src":{"line":3,"column":276,"start":525,"end":557,"length":33,"parent_index":64},"parameters":[{"id":66,"node_type":44,"src":{"line":3,"column":276,"start":525,"end":541,"length":17,"parent_index":65},"scope":64,"name":"recipient","type_name":{"id":67,"node_type":30,"src":{"line":3,"column":276,"start":525,"end":531,"length":7,"parent_index":66},"name":"address","state_mutability":4,"referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"storage_location":2,"visibility":1,"state_mutability":4,"type_description":{"type_identifier":"t_address","type_string":"address"}},{"id":68,"node_type":44,"src":{"line":3,"column":295,"start":544,"end":557,"length":14,"parent_index":65},"scope":64,"name":"amount","type_name":{"id":69,"node_type":30,"src":{"line":3,"column":295,"start":544,"end":550,"length":7,"parent_index":68},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_address","type_string":"address"},{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":70,"node_type":43,"src":{"line":3,"column":327,"start":576,"end":579,"length":4,"parent_index":64},"parameters":[{"id":71,"node_type":44,"src":{"line":3,"column":327,"start":576,"end":579,"length":4,"parent_index":70},"scope":64,"name":"","type_name":{"id":72,"node_type":30,"src":{"line":3,"column":327,"start":576,"end":579,"length":4,"parent_index":71},"name":"bool","referenced_declaration":0,"type_description":{"type_identifier":"t_bool","type_string":"bool"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_bool","type_string":"bool"}}],"parameter_types":[{"type_identifier":"t_bool","type_string":"bool"}]},"signature_raw":"transfer(address, uint256)","signature":"9d61d234","scope":39,"type_description":{"type_identifier":"t_function_$_t_address$_t_uint256$","type_string":"function(address,uint256)"}}],"linearized_base_contracts":[2,39,38],"base_contracts":[{"id":40,"node_type":62,"src":{"line":3,"column":77,"start":326,"end":331,"length":6,"parent_index":39},"base_name":{"id":41,"node_type":52,"src":{"line":3,"column":77,"start":326,"end":331,"length":6,"parent_index":39},"name":"IERC20","referenced_declaration":2}}],"contract_dependencies":[2,38]}],"src":{"line":3,"column":47,"start":296,"end":664,"length":369,"parent_index":1}}],"comments":[]} \ No newline at end of file +{"id":1,"node_type":80,"entry_source_unit":35,"globals":[{"id":89,"name":"totalSupply","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":86,"start":335,"end":361,"length":27},"scope":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":90,"node_type":30,"src":{"line":3,"column":86,"start":335,"end":341,"length":7,"parent_index":89},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":91,"name":"_balances","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":114,"start":363,"end":408,"length":46},"scope":0,"type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"visibility":2,"storage_location":1,"mutability":1,"type_name":{"id":92,"node_type":53,"src":{"line":3,"column":114,"start":363,"end":389,"length":27,"parent_index":91},"key_type":{"id":93,"node_type":30,"src":{"line":3,"column":122,"start":371,"end":377,"length":7,"parent_index":92},"name":"address","referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"key_name_location":{"line":3,"column":122,"start":371,"end":377,"length":7,"parent_index":92},"value_type":{"id":94,"node_type":30,"src":{"line":3,"column":133,"start":382,"end":388,"length":7,"parent_index":92},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"value_name_location":{"line":3,"column":133,"start":382,"end":388,"length":7,"parent_index":92},"referenced_declaration":0,"type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"}},"initial_value":null}],"root":[{"id":2,"base_contracts":[],"license":"unknown","exported_symbols":[{"id":2,"name":"IERC20","absolute_path":"IERC20.sol"}],"absolute_path":"IERC20.sol","name":"IERC20","node_type":1,"nodes":[{"id":3,"node_type":10,"src":{"line":1,"column":0,"start":0,"end":22,"length":23,"parent_index":2},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":5,"name":"IERC20","node_type":35,"src":{"line":1,"column":24,"start":24,"end":246,"length":223,"parent_index":2},"name_location":{"line":1,"column":34,"start":34,"end":39,"length":6,"parent_index":5},"abstract":false,"kind":38,"fully_implemented":true,"nodes":[{"id":7,"name":"totalSupply","node_type":42,"kind":41,"src":{"line":1,"column":43,"start":43,"end":97,"length":55,"parent_index":5},"name_location":{"line":1,"column":52,"start":52,"end":62,"length":11,"parent_index":7},"body":{"id":14,"node_type":46,"kind":0,"src":{"line":1,"column":43,"start":43,"end":97,"length":55,"parent_index":7},"implemented":false,"statements":[]},"implemented":false,"visibility":4,"state_mutability":5,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":8,"node_type":43,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":7},"parameters":[{"id":9,"node_type":44,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":8},"scope":7,"name":"","type_name":{"id":10,"node_type":30,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":9},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":11,"node_type":43,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":7},"parameters":[{"id":12,"node_type":44,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":11},"scope":7,"name":"","type_name":{"id":13,"node_type":30,"src":{"line":1,"column":89,"start":89,"end":95,"length":7,"parent_index":12},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"signature_raw":"totalSupply(uint256)","signature":"bd85b039","scope":5,"type_description":{"type_identifier":"t_function_$_t_uint256$","type_string":"function(uint256)"},"text":"functiontotalSupply()externalviewreturns(uint256);"},{"id":16,"name":"balanceOf","node_type":42,"kind":41,"src":{"line":1,"column":99,"start":99,"end":166,"length":68,"parent_index":5},"name_location":{"line":1,"column":108,"start":108,"end":116,"length":9,"parent_index":16},"body":{"id":23,"node_type":46,"kind":0,"src":{"line":1,"column":99,"start":99,"end":166,"length":68,"parent_index":16},"implemented":false,"statements":[]},"implemented":false,"visibility":4,"state_mutability":5,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":17,"node_type":43,"src":{"line":1,"column":118,"start":118,"end":132,"length":15,"parent_index":16},"parameters":[{"id":18,"node_type":44,"src":{"line":1,"column":118,"start":118,"end":132,"length":15,"parent_index":17},"scope":16,"name":"account","type_name":{"id":19,"node_type":30,"src":{"line":1,"column":118,"start":118,"end":124,"length":7,"parent_index":18},"name":"address","state_mutability":4,"referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"storage_location":2,"visibility":1,"state_mutability":4,"type_description":{"type_identifier":"t_address","type_string":"address"}}],"parameter_types":[{"type_identifier":"t_address","type_string":"address"}]},"return_parameters":{"id":20,"node_type":43,"src":{"line":1,"column":158,"start":158,"end":164,"length":7,"parent_index":16},"parameters":[{"id":21,"node_type":44,"src":{"line":1,"column":158,"start":158,"end":164,"length":7,"parent_index":20},"scope":16,"name":"","type_name":{"id":22,"node_type":30,"src":{"line":1,"column":158,"start":158,"end":164,"length":7,"parent_index":21},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"signature_raw":"balanceOf(address)","signature":"70a08231","scope":5,"type_description":{"type_identifier":"t_function_$_t_address$","type_string":"function(address)"},"text":"functionbalanceOf(addressaccount)externalviewreturns(uint256);"},{"id":25,"name":"transfer","node_type":42,"kind":41,"src":{"line":1,"column":168,"start":168,"end":244,"length":77,"parent_index":5},"name_location":{"line":1,"column":177,"start":177,"end":184,"length":8,"parent_index":25},"body":{"id":34,"node_type":46,"kind":0,"src":{"line":1,"column":168,"start":168,"end":244,"length":77,"parent_index":25},"implemented":false,"statements":[]},"implemented":false,"visibility":4,"state_mutability":4,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":26,"node_type":43,"src":{"line":1,"column":186,"start":186,"end":218,"length":33,"parent_index":25},"parameters":[{"id":27,"node_type":44,"src":{"line":1,"column":186,"start":186,"end":202,"length":17,"parent_index":26},"scope":25,"name":"recipient","type_name":{"id":28,"node_type":30,"src":{"line":1,"column":186,"start":186,"end":192,"length":7,"parent_index":27},"name":"address","state_mutability":4,"referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"storage_location":2,"visibility":1,"state_mutability":4,"type_description":{"type_identifier":"t_address","type_string":"address"}},{"id":29,"node_type":44,"src":{"line":1,"column":205,"start":205,"end":218,"length":14,"parent_index":26},"scope":25,"name":"amount","type_name":{"id":30,"node_type":30,"src":{"line":1,"column":205,"start":205,"end":211,"length":7,"parent_index":29},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_address","type_string":"address"},{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":31,"node_type":43,"src":{"line":1,"column":239,"start":239,"end":242,"length":4,"parent_index":25},"parameters":[{"id":32,"node_type":44,"src":{"line":1,"column":239,"start":239,"end":242,"length":4,"parent_index":31},"scope":25,"name":"","type_name":{"id":33,"node_type":30,"src":{"line":1,"column":239,"start":239,"end":242,"length":4,"parent_index":32},"name":"bool","referenced_declaration":0,"type_description":{"type_identifier":"t_bool","type_string":"bool"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_bool","type_string":"bool"}}],"parameter_types":[{"type_identifier":"t_bool","type_string":"bool"}]},"signature_raw":"transfer(address,uint256)","signature":"a9059cbb","scope":5,"type_description":{"type_identifier":"t_function_$_t_address$_t_uint256$","type_string":"function(address,uint256)"},"text":"functiontransfer(addressrecipient,uint256amount)externalreturns(bool);"}],"linearized_base_contracts":[5],"base_contracts":[],"contract_dependencies":[]}],"src":{"line":1,"column":24,"start":24,"end":246,"length":223,"parent_index":1}},{"id":35,"base_contracts":[{"id":40,"node_type":62,"src":{"line":3,"column":77,"start":326,"end":331,"length":6,"parent_index":39},"base_name":{"id":41,"node_type":52,"src":{"line":3,"column":77,"start":326,"end":331,"length":6,"parent_index":39},"name":"IERC20","referenced_declaration":2}}],"license":"unknown","exported_symbols":[{"id":35,"name":"InterfaceContract","absolute_path":"InterfaceContract.sol"},{"id":0,"name":"IERC20","absolute_path":"IERC20.sol'"}],"absolute_path":"InterfaceContract.sol","name":"InterfaceContract","node_type":1,"nodes":[{"id":37,"node_type":10,"src":{"line":3,"column":0,"start":249,"end":271,"length":23,"parent_index":35},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":38,"node_type":29,"src":{"line":3,"column":24,"start":273,"end":294,"length":22,"parent_index":35},"absolute_path":"IERC20.sol'","file":"'./IERC20.sol'","scope":35,"unit_alias":"","as":"","unit_aliases":[],"source_unit":0},{"id":39,"name":"InterfaceContract","node_type":35,"src":{"line":3,"column":47,"start":296,"end":664,"length":369,"parent_index":35},"name_location":{"line":3,"column":56,"start":305,"end":321,"length":17,"parent_index":39},"abstract":false,"kind":36,"fully_implemented":true,"nodes":[{"id":43,"name":"totalSupply","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":86,"start":335,"end":361,"length":27,"parent_index":39},"scope":39,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":44,"node_type":30,"src":{"line":3,"column":86,"start":335,"end":341,"length":7,"parent_index":43},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":46,"name":"_balances","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":114,"start":363,"end":408,"length":46,"parent_index":39},"scope":39,"type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"visibility":2,"storage_location":1,"mutability":1,"type_name":{"id":47,"node_type":53,"src":{"line":3,"column":114,"start":363,"end":389,"length":27,"parent_index":46},"key_type":{"id":48,"node_type":30,"src":{"line":3,"column":122,"start":371,"end":377,"length":7,"parent_index":47},"name":"address","referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"key_name_location":{"line":3,"column":122,"start":371,"end":377,"length":7,"parent_index":47},"value_type":{"id":49,"node_type":30,"src":{"line":3,"column":133,"start":382,"end":388,"length":7,"parent_index":47},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"value_name_location":{"line":3,"column":133,"start":382,"end":388,"length":7,"parent_index":47},"referenced_declaration":0,"type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"}},"initial_value":null},{"id":51,"name":"balanceOf","node_type":42,"kind":41,"src":{"line":3,"column":161,"start":410,"end":505,"length":96,"parent_index":39},"name_location":{"line":3,"column":170,"start":419,"end":427,"length":9,"parent_index":51},"body":{"id":58,"node_type":46,"kind":0,"src":{"line":3,"column":227,"start":476,"end":505,"length":30,"parent_index":51},"implemented":true,"statements":[{"id":59,"node_type":47,"src":{"line":3,"column":229,"start":478,"end":503,"length":26,"parent_index":51},"function_return_parameters":51,"expression":{"id":60,"node_type":22,"src":{"line":3,"column":236,"start":485,"end":502,"length":18,"parent_index":59},"index_expression":{"id":61,"node_type":16,"src":{"line":3,"column":236,"start":485,"end":493,"length":9,"parent_index":60},"name":"_balances","type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"overloaded_declarations":[],"referenced_declaration":46,"is_pure":false,"text":"_balances"},"base_expression":{"id":62,"node_type":16,"src":{"line":3,"column":246,"start":495,"end":501,"length":7,"parent_index":60},"name":"account","type_description":{"type_identifier":"t_address","type_string":"address"},"overloaded_declarations":[],"referenced_declaration":62,"is_pure":false,"text":"account"},"type_descriptions":[{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},{"type_identifier":"t_address","type_string":"address"}],"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}}}]},"implemented":true,"visibility":3,"state_mutability":5,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":52,"node_type":43,"src":{"line":3,"column":180,"start":429,"end":443,"length":15,"parent_index":51},"parameters":[{"id":53,"node_type":44,"src":{"line":3,"column":180,"start":429,"end":443,"length":15,"parent_index":52},"scope":51,"name":"account","type_name":{"id":54,"node_type":30,"src":{"line":3,"column":180,"start":429,"end":435,"length":7,"parent_index":53},"name":"address","state_mutability":4,"referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"storage_location":2,"visibility":1,"state_mutability":4,"type_description":{"type_identifier":"t_address","type_string":"address"}}],"parameter_types":[{"type_identifier":"t_address","type_string":"address"}]},"return_parameters":{"id":55,"node_type":43,"src":{"line":3,"column":218,"start":467,"end":473,"length":7,"parent_index":51},"parameters":[{"id":56,"node_type":44,"src":{"line":3,"column":218,"start":467,"end":473,"length":7,"parent_index":55},"scope":51,"name":"","type_name":{"id":57,"node_type":30,"src":{"line":3,"column":218,"start":467,"end":473,"length":7,"parent_index":56},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"signature_raw":"balanceOf(address)","signature":"70a08231","scope":39,"type_description":{"type_identifier":"t_function_$_t_address$","type_string":"function(address)"},"text":"functionbalanceOf(addressaccount)publicviewreturns(uint256){return_balances[account];}"},{"id":64,"name":"transfer","node_type":42,"kind":41,"src":{"line":3,"column":258,"start":507,"end":662,"length":156,"parent_index":39},"name_location":{"line":3,"column":267,"start":516,"end":523,"length":8,"parent_index":64},"body":{"id":73,"node_type":46,"kind":0,"src":{"line":3,"column":333,"start":582,"end":662,"length":81,"parent_index":64},"implemented":true,"statements":[{"id":74,"node_type":27,"src":{"line":3,"column":335,"start":584,"end":615,"length":32,"parent_index":73},"expression":{"id":75,"node_type":27,"src":{"line":3,"column":335,"start":584,"end":614,"length":31,"parent_index":74},"operator":14,"left_expression":{"id":76,"node_type":22,"src":{"line":3,"column":335,"start":584,"end":604,"length":21,"parent_index":75},"index_expression":{"id":77,"node_type":16,"src":{"line":3,"column":335,"start":584,"end":592,"length":9,"parent_index":76},"name":"_balances","type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"overloaded_declarations":[],"referenced_declaration":46,"is_pure":false,"text":"_balances"},"base_expression":{"id":78,"is_constant":false,"is_l_value":false,"is_pure":false,"l_value_requested":false,"node_type":23,"src":{"line":3,"column":345,"start":594,"end":603,"length":10,"parent_index":76},"member_location":{"line":3,"column":349,"start":598,"end":603,"length":6,"parent_index":78},"expression":{"id":79,"node_type":16,"src":{"line":3,"column":345,"start":594,"end":596,"length":3,"parent_index":78},"name":"msg","type_description":{"type_identifier":"t_magic_message","type_string":"msg"},"overloaded_declarations":[],"referenced_declaration":0,"is_pure":false,"text":"msg"},"member_name":"sender","argument_types":[],"type_description":{"type_identifier":"t_address","type_string":"address"},"text":"msg.sender"},"type_descriptions":[{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},{"type_identifier":"t_address","type_string":"address"}],"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},"right_expression":{"id":80,"node_type":16,"src":{"line":3,"column":360,"start":609,"end":614,"length":6,"parent_index":75},"name":"amount","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":80,"is_pure":false,"text":"amount"},"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"},"text":"_balances[msg.sender]-=amount;"},{"id":81,"node_type":27,"src":{"line":3,"column":368,"start":617,"end":647,"length":31,"parent_index":73},"expression":{"id":82,"node_type":27,"src":{"line":3,"column":368,"start":617,"end":646,"length":30,"parent_index":81},"operator":13,"left_expression":{"id":83,"node_type":22,"src":{"line":3,"column":368,"start":617,"end":636,"length":20,"parent_index":82},"index_expression":{"id":84,"node_type":16,"src":{"line":3,"column":368,"start":617,"end":625,"length":9,"parent_index":83},"name":"_balances","type_description":{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},"overloaded_declarations":[],"referenced_declaration":46,"is_pure":false,"text":"_balances"},"base_expression":{"id":85,"node_type":16,"src":{"line":3,"column":378,"start":627,"end":635,"length":9,"parent_index":83},"name":"recipient","type_description":{"type_identifier":"t_address","type_string":"address"},"overloaded_declarations":[],"referenced_declaration":85,"is_pure":false,"text":"recipient"},"type_descriptions":[{"type_identifier":"t_mapping_$t_address_$t_uint256$","type_string":"mapping(address=\u003euint256)"},{"type_identifier":"t_address","type_string":"address"}],"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},"right_expression":{"id":86,"node_type":16,"src":{"line":3,"column":392,"start":641,"end":646,"length":6,"parent_index":82},"name":"amount","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":86,"is_pure":false,"text":"amount"},"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"}},"type_description":{"type_identifier":"t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$","type_string":"index[mapping(address=\u003euint256):address]"},"text":"_balances[recipient]+=amount;"},{"id":87,"node_type":47,"src":{"line":3,"column":400,"start":649,"end":660,"length":12,"parent_index":64},"function_return_parameters":64,"expression":{"id":88,"node_type":17,"kind":61,"value":"true","hex_value":"74727565","src":{"line":3,"column":407,"start":656,"end":659,"length":4,"parent_index":87},"type_description":{"type_identifier":"t_bool","type_string":"bool"},"overloaded_declarations":[],"referenced_declaration":0,"is_pure":true,"text":"true"}}]},"implemented":true,"visibility":3,"state_mutability":4,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":65,"node_type":43,"src":{"line":3,"column":276,"start":525,"end":557,"length":33,"parent_index":64},"parameters":[{"id":66,"node_type":44,"src":{"line":3,"column":276,"start":525,"end":541,"length":17,"parent_index":65},"scope":64,"name":"recipient","type_name":{"id":67,"node_type":30,"src":{"line":3,"column":276,"start":525,"end":531,"length":7,"parent_index":66},"name":"address","state_mutability":4,"referenced_declaration":0,"type_description":{"type_identifier":"t_address","type_string":"address"}},"storage_location":2,"visibility":1,"state_mutability":4,"type_description":{"type_identifier":"t_address","type_string":"address"}},{"id":68,"node_type":44,"src":{"line":3,"column":295,"start":544,"end":557,"length":14,"parent_index":65},"scope":64,"name":"amount","type_name":{"id":69,"node_type":30,"src":{"line":3,"column":295,"start":544,"end":550,"length":7,"parent_index":68},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_address","type_string":"address"},{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":70,"node_type":43,"src":{"line":3,"column":327,"start":576,"end":579,"length":4,"parent_index":64},"parameters":[{"id":71,"node_type":44,"src":{"line":3,"column":327,"start":576,"end":579,"length":4,"parent_index":70},"scope":64,"name":"","type_name":{"id":72,"node_type":30,"src":{"line":3,"column":327,"start":576,"end":579,"length":4,"parent_index":71},"name":"bool","referenced_declaration":0,"type_description":{"type_identifier":"t_bool","type_string":"bool"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_bool","type_string":"bool"}}],"parameter_types":[{"type_identifier":"t_bool","type_string":"bool"}]},"signature_raw":"transfer(address,uint256)","signature":"a9059cbb","scope":39,"type_description":{"type_identifier":"t_function_$_t_address$_t_uint256$","type_string":"function(address,uint256)"},"text":"functiontransfer(addressrecipient,uint256amount)publicreturns(bool){_balances[msg.sender]-=amount;_balances[recipient]+=amount;returntrue;}"}],"linearized_base_contracts":[2,39,38],"base_contracts":[{"id":40,"node_type":62,"src":{"line":3,"column":77,"start":326,"end":331,"length":6,"parent_index":39},"base_name":{"id":41,"node_type":52,"src":{"line":3,"column":77,"start":326,"end":331,"length":6,"parent_index":39},"name":"IERC20","referenced_declaration":2}}],"contract_dependencies":[2,38]}],"src":{"line":3,"column":47,"start":296,"end":664,"length":369,"parent_index":1}}],"comments":[]} \ No newline at end of file diff --git a/data/tests/ast/resolver/LibraryContract.json b/data/tests/ast/resolver/LibraryContract.json index 05dce0ad..4817a5e6 100644 --- a/data/tests/ast/resolver/LibraryContract.json +++ b/data/tests/ast/resolver/LibraryContract.json @@ -1 +1 @@ -{"id":1,"node_type":80,"entry_source_unit":30,"globals":[{"id":56,"name":"c","is_constant":true,"is_state_variable":true,"node_type":44,"src":{"line":1,"column":112,"start":112,"end":120,"length":9},"scope":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":57,"node_type":30,"src":{"line":1,"column":112,"start":112,"end":118,"length":7,"parent_index":56},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":58,"name":"value","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":104,"start":298,"end":318,"length":21},"scope":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":59,"node_type":30,"src":{"line":3,"column":104,"start":298,"end":304,"length":7,"parent_index":58},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null}],"root":[{"id":2,"base_contracts":[],"license":"unknown","exported_symbols":[{"id":2,"name":"SafeMath","absolute_path":"SafeMath.sol"}],"absolute_path":"SafeMath.sol","name":"SafeMath","node_type":1,"nodes":[{"id":3,"node_type":10,"src":{"line":1,"column":0,"start":0,"end":22,"length":23,"parent_index":2},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":4,"name":"SafeMath","node_type":35,"src":{"line":1,"column":24,"start":24,"end":191,"length":168,"parent_index":2},"name_location":{"line":1,"column":32,"start":32,"end":39,"length":8,"parent_index":4},"abstract":false,"kind":37,"fully_implemented":true,"nodes":[{"id":6,"name":"add","node_type":42,"kind":41,"src":{"line":1,"column":43,"start":43,"end":189,"length":147,"parent_index":4},"name_location":{"line":1,"column":52,"start":52,"end":54,"length":3,"parent_index":6},"body":{"id":15,"node_type":46,"kind":0,"src":{"line":1,"column":110,"start":110,"end":189,"length":80,"parent_index":6},"implemented":true,"statements":[{"id":16,"node_type":44,"src":{"line":1,"column":112,"start":112,"end":129,"length":18,"parent_index":15},"assignments":[17],"declarations":[{"id":17,"state_mutability":1,"name":"c","node_type":44,"scope":15,"src":{"line":1,"column":112,"start":112,"end":120,"length":9,"parent_index":16},"name_location":{"line":1,"column":120,"start":120,"end":120,"length":1,"parent_index":17},"is_state_variable":false,"storage_location":1,"type_name":{"id":18,"node_type":30,"src":{"line":1,"column":112,"start":112,"end":118,"length":7,"parent_index":17},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"visibility":1}],"initial_value":{"id":19,"is_constant":false,"is_pure":false,"node_type":19,"src":{"line":1,"column":124,"start":124,"end":128,"length":5,"parent_index":16},"operator":1,"left_expression":{"id":20,"node_type":16,"src":{"line":1,"column":124,"start":124,"end":124,"length":1,"parent_index":19},"name":"a","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":20,"is_pure":false},"right_expression":{"id":21,"node_type":16,"src":{"line":1,"column":128,"start":128,"end":128,"length":1,"parent_index":19},"name":"b","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":21,"is_pure":false},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}},{"id":22,"node_type":24,"kind":24,"src":{"line":1,"column":131,"start":131,"end":176,"length":46,"parent_index":15},"argument_types":[{"type_identifier":"t_bool","type_string":"bool"},{"type_identifier":"t_string_literal","type_string":"literal_string 'SafeMath: addition overflow'"}],"arguments":[{"id":24,"is_constant":false,"is_pure":false,"node_type":19,"src":{"line":1,"column":139,"start":139,"end":144,"length":6,"parent_index":22},"operator":8,"left_expression":{"id":25,"node_type":16,"src":{"line":1,"column":139,"start":139,"end":139,"length":1,"parent_index":24},"name":"c","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":16,"is_pure":false},"right_expression":{"id":26,"node_type":16,"src":{"line":1,"column":144,"start":144,"end":144,"length":1,"parent_index":24},"name":"a","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":26,"is_pure":false},"type_description":{"type_identifier":"t_bool","type_string":"bool"}},{"id":27,"node_type":17,"kind":50,"value":"'SafeMath: addition overflow'","hex_value":"27536166654d6174683a206164646974696f6e206f766572666c6f7727","src":{"line":1,"column":147,"start":147,"end":175,"length":29,"parent_index":22},"type_description":{"type_identifier":"t_string_literal","type_string":"literal_string 'SafeMath: addition overflow'"},"overloaded_declarations":[],"referenced_declaration":0,"is_pure":true,"argument_types":[{"type_identifier":"t_bool","type_string":"bool"}]}],"expression":{"id":23,"node_type":16,"src":{"line":1,"column":131,"start":131,"end":137,"length":7,"parent_index":22},"name":"require","type_description":{"type_identifier":"t_function_$","type_string":"function()"},"overloaded_declarations":[],"referenced_declaration":0,"is_pure":true},"type_description":{"type_identifier":"t_function_$_t_bool$_t_string_literal$","type_string":"function(bool,string memory)"}},{"id":28,"node_type":47,"src":{"line":1,"column":179,"start":179,"end":187,"length":9,"parent_index":6},"function_return_parameters":6,"expression":{"id":29,"node_type":16,"src":{"line":1,"column":186,"start":186,"end":186,"length":1,"parent_index":28},"name":"c","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":16,"is_pure":false}}]},"implemented":true,"visibility":1,"state_mutability":6,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":7,"node_type":43,"src":{"line":1,"column":56,"start":56,"end":75,"length":20,"parent_index":6},"parameters":[{"id":8,"node_type":44,"src":{"line":1,"column":56,"start":56,"end":64,"length":9,"parent_index":7},"scope":6,"name":"a","type_name":{"id":9,"node_type":30,"src":{"line":1,"column":56,"start":56,"end":62,"length":7,"parent_index":8},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},{"id":10,"node_type":44,"src":{"line":1,"column":67,"start":67,"end":75,"length":9,"parent_index":7},"scope":6,"name":"b","type_name":{"id":11,"node_type":30,"src":{"line":1,"column":67,"start":67,"end":73,"length":7,"parent_index":10},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"},{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":12,"node_type":43,"src":{"line":1,"column":101,"start":101,"end":107,"length":7,"parent_index":6},"parameters":[{"id":13,"node_type":44,"src":{"line":1,"column":101,"start":101,"end":107,"length":7,"parent_index":12},"scope":6,"name":"","type_name":{"id":14,"node_type":30,"src":{"line":1,"column":101,"start":101,"end":107,"length":7,"parent_index":13},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"signature_raw":"add(uint256, uint256)","signature":"f31e4d28","scope":4,"type_description":{"type_identifier":"t_function_$_t_uint256$_t_uint256$","type_string":"function(uint256,uint256)"}}],"linearized_base_contracts":[4],"base_contracts":[],"contract_dependencies":[]}],"src":{"line":1,"column":24,"start":24,"end":191,"length":168,"parent_index":1}},{"id":30,"base_contracts":[],"license":"unknown","exported_symbols":[{"id":30,"name":"LibraryContract","absolute_path":"LibraryContract.sol"},{"id":0,"name":"SafeMath","absolute_path":"SafeMath.sol'"}],"absolute_path":"LibraryContract.sol","name":"LibraryContract","node_type":1,"nodes":[{"id":32,"node_type":10,"src":{"line":3,"column":0,"start":194,"end":216,"length":23,"parent_index":30},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":33,"node_type":29,"src":{"line":3,"column":24,"start":218,"end":241,"length":24,"parent_index":30},"absolute_path":"SafeMath.sol'","file":"'./SafeMath.sol'","scope":30,"unit_alias":"","as":"","unit_aliases":[],"source_unit":0},{"id":34,"name":"LibraryContract","node_type":35,"src":{"line":3,"column":49,"start":243,"end":397,"length":155,"parent_index":30},"name_location":{"line":3,"column":58,"start":252,"end":266,"length":15,"parent_index":34},"abstract":false,"kind":36,"fully_implemented":true,"nodes":[{"id":36,"node_type":51,"src":{"line":3,"column":0,"start":270,"end":296,"length":27,"parent_index":34},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"type_name":{"id":38,"node_type":30,"src":{"line":3,"column":95,"start":289,"end":295,"length":7,"parent_index":36},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"library_name":{"id":37,"node_type":52,"src":{"line":3,"column":0,"start":276,"end":283,"length":8,"parent_index":36},"name":"SafeMath","referenced_declaration":2}},{"id":40,"name":"value","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":104,"start":298,"end":318,"length":21,"parent_index":34},"scope":34,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":41,"node_type":30,"src":{"line":3,"column":104,"start":298,"end":304,"length":7,"parent_index":40},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":43,"name":"increaseValue","node_type":42,"kind":41,"src":{"line":3,"column":126,"start":320,"end":395,"length":76,"parent_index":34},"name_location":{"line":3,"column":135,"start":329,"end":341,"length":13,"parent_index":43},"body":{"id":48,"node_type":46,"kind":0,"src":{"line":3,"column":172,"start":366,"end":395,"length":30,"parent_index":43},"implemented":true,"statements":[{"id":49,"node_type":27,"src":{"line":3,"column":174,"start":368,"end":393,"length":26,"parent_index":48},"expression":{"id":50,"node_type":27,"src":{"line":3,"column":174,"start":368,"end":392,"length":25,"parent_index":49},"operator":11,"left_expression":{"id":51,"node_type":16,"src":{"line":3,"column":174,"start":368,"end":372,"length":5,"parent_index":50},"name":"value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":40,"is_pure":false},"right_expression":{"id":52,"node_type":24,"kind":24,"src":{"line":3,"column":182,"start":376,"end":392,"length":17,"parent_index":50},"argument_types":[{"type_identifier":"t_uint256","type_string":"uint256"}],"arguments":[{"id":55,"node_type":16,"src":{"line":3,"column":192,"start":386,"end":391,"length":6,"parent_index":52},"name":"_value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":55,"is_pure":false}],"expression":{"id":53,"is_constant":false,"is_l_value":false,"is_pure":false,"l_value_requested":false,"node_type":23,"src":{"line":3,"column":182,"start":376,"end":384,"length":9,"parent_index":52},"member_location":{"line":3,"column":188,"start":382,"end":384,"length":3,"parent_index":53},"expression":{"id":54,"node_type":16,"src":{"line":3,"column":182,"start":376,"end":380,"length":5,"parent_index":53},"name":"value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":40,"is_pure":false},"member_name":"add","argument_types":[],"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"type_description":{"type_identifier":"t_function_$_t_uint256$","type_string":"function(uint256)"}},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}]},"implemented":true,"visibility":3,"state_mutability":4,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":44,"node_type":43,"src":{"line":3,"column":149,"start":343,"end":356,"length":14,"parent_index":43},"parameters":[{"id":45,"node_type":44,"src":{"line":3,"column":149,"start":343,"end":356,"length":14,"parent_index":44},"scope":43,"name":"_value","type_name":{"id":46,"node_type":30,"src":{"line":3,"column":149,"start":343,"end":349,"length":7,"parent_index":45},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":47,"node_type":43,"src":{"line":3,"column":126,"start":320,"end":395,"length":76,"parent_index":43},"parameters":[],"parameter_types":[]},"signature_raw":"increaseValue(uint256)","signature":"160ef807","scope":34,"type_description":{"type_identifier":"t_function_$_t_uint256$","type_string":"function(uint256)"}}],"linearized_base_contracts":[34,33],"base_contracts":[],"contract_dependencies":[33]}],"src":{"line":3,"column":49,"start":243,"end":397,"length":155,"parent_index":1}}],"comments":[]} \ No newline at end of file +{"id":1,"node_type":80,"entry_source_unit":30,"globals":[{"id":56,"name":"c","is_constant":true,"is_state_variable":true,"node_type":44,"src":{"line":1,"column":112,"start":112,"end":120,"length":9},"scope":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":57,"node_type":30,"src":{"line":1,"column":112,"start":112,"end":118,"length":7,"parent_index":56},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":58,"name":"value","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":104,"start":298,"end":318,"length":21},"scope":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":59,"node_type":30,"src":{"line":3,"column":104,"start":298,"end":304,"length":7,"parent_index":58},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null}],"root":[{"id":2,"base_contracts":[],"license":"unknown","exported_symbols":[{"id":2,"name":"SafeMath","absolute_path":"SafeMath.sol"}],"absolute_path":"SafeMath.sol","name":"SafeMath","node_type":1,"nodes":[{"id":3,"node_type":10,"src":{"line":1,"column":0,"start":0,"end":22,"length":23,"parent_index":2},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":4,"name":"SafeMath","node_type":35,"src":{"line":1,"column":24,"start":24,"end":191,"length":168,"parent_index":2},"name_location":{"line":1,"column":32,"start":32,"end":39,"length":8,"parent_index":4},"abstract":false,"kind":37,"fully_implemented":true,"nodes":[{"id":6,"name":"add","node_type":42,"kind":41,"src":{"line":1,"column":43,"start":43,"end":189,"length":147,"parent_index":4},"name_location":{"line":1,"column":52,"start":52,"end":54,"length":3,"parent_index":6},"body":{"id":15,"node_type":46,"kind":0,"src":{"line":1,"column":110,"start":110,"end":189,"length":80,"parent_index":6},"implemented":true,"statements":[{"id":16,"node_type":44,"src":{"line":1,"column":112,"start":112,"end":129,"length":18,"parent_index":15},"assignments":[17],"declarations":[{"id":17,"state_mutability":1,"name":"c","node_type":44,"scope":15,"src":{"line":1,"column":112,"start":112,"end":120,"length":9,"parent_index":16},"name_location":{"line":1,"column":120,"start":120,"end":120,"length":1,"parent_index":17},"is_state_variable":false,"storage_location":1,"type_name":{"id":18,"node_type":30,"src":{"line":1,"column":112,"start":112,"end":118,"length":7,"parent_index":17},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"visibility":1}],"initial_value":{"id":19,"is_constant":false,"is_pure":false,"node_type":19,"src":{"line":1,"column":124,"start":124,"end":128,"length":5,"parent_index":16},"operator":1,"left_expression":{"id":20,"node_type":16,"src":{"line":1,"column":124,"start":124,"end":124,"length":1,"parent_index":19},"name":"a","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":20,"is_pure":false,"text":"a"},"right_expression":{"id":21,"node_type":16,"src":{"line":1,"column":128,"start":128,"end":128,"length":1,"parent_index":19},"name":"b","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":21,"is_pure":false,"text":"b"},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}},{"id":22,"node_type":24,"kind":24,"src":{"line":1,"column":131,"start":131,"end":176,"length":46,"parent_index":15},"argument_types":[{"type_identifier":"t_bool","type_string":"bool"},{"type_identifier":"t_string_literal","type_string":"literal_string 'SafeMath: addition overflow'"}],"arguments":[{"id":24,"is_constant":false,"is_pure":false,"node_type":19,"src":{"line":1,"column":139,"start":139,"end":144,"length":6,"parent_index":22},"operator":8,"left_expression":{"id":25,"node_type":16,"src":{"line":1,"column":139,"start":139,"end":139,"length":1,"parent_index":24},"name":"c","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":16,"is_pure":false,"text":"c"},"right_expression":{"id":26,"node_type":16,"src":{"line":1,"column":144,"start":144,"end":144,"length":1,"parent_index":24},"name":"a","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":26,"is_pure":false,"text":"a"},"type_description":{"type_identifier":"t_bool","type_string":"bool"}},{"id":27,"node_type":17,"kind":50,"value":"'SafeMath: addition overflow'","hex_value":"27536166654d6174683a206164646974696f6e206f766572666c6f7727","src":{"line":1,"column":147,"start":147,"end":175,"length":29,"parent_index":22},"type_description":{"type_identifier":"t_string_literal","type_string":"literal_string 'SafeMath: addition overflow'"},"overloaded_declarations":[],"referenced_declaration":0,"is_pure":true,"argument_types":[{"type_identifier":"t_bool","type_string":"bool"}],"text":"'SafeMath: addition overflow'"}],"expression":{"id":23,"node_type":16,"src":{"line":1,"column":131,"start":131,"end":137,"length":7,"parent_index":22},"name":"require","type_description":{"type_identifier":"t_function_$","type_string":"function()"},"overloaded_declarations":[],"referenced_declaration":0,"is_pure":true,"text":"require"},"type_description":{"type_identifier":"t_function_$_t_bool$_t_string_literal$","type_string":"function(bool,string memory)"}},{"id":28,"node_type":47,"src":{"line":1,"column":179,"start":179,"end":187,"length":9,"parent_index":6},"function_return_parameters":6,"expression":{"id":29,"node_type":16,"src":{"line":1,"column":186,"start":186,"end":186,"length":1,"parent_index":28},"name":"c","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":16,"is_pure":false,"text":"c"}}]},"implemented":true,"visibility":1,"state_mutability":6,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":7,"node_type":43,"src":{"line":1,"column":56,"start":56,"end":75,"length":20,"parent_index":6},"parameters":[{"id":8,"node_type":44,"src":{"line":1,"column":56,"start":56,"end":64,"length":9,"parent_index":7},"scope":6,"name":"a","type_name":{"id":9,"node_type":30,"src":{"line":1,"column":56,"start":56,"end":62,"length":7,"parent_index":8},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},{"id":10,"node_type":44,"src":{"line":1,"column":67,"start":67,"end":75,"length":9,"parent_index":7},"scope":6,"name":"b","type_name":{"id":11,"node_type":30,"src":{"line":1,"column":67,"start":67,"end":73,"length":7,"parent_index":10},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"},{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":12,"node_type":43,"src":{"line":1,"column":101,"start":101,"end":107,"length":7,"parent_index":6},"parameters":[{"id":13,"node_type":44,"src":{"line":1,"column":101,"start":101,"end":107,"length":7,"parent_index":12},"scope":6,"name":"","type_name":{"id":14,"node_type":30,"src":{"line":1,"column":101,"start":101,"end":107,"length":7,"parent_index":13},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"signature_raw":"add(uint256,uint256)","signature":"771602f7","scope":4,"type_description":{"type_identifier":"t_function_$_t_uint256$_t_uint256$","type_string":"function(uint256,uint256)"},"text":"functionadd(uint256a,uint256b)internalpurereturns(uint256){uint256c=a+b;require(c\u003e=a,'SafeMath: addition overflow');returnc;}"}],"linearized_base_contracts":[4],"base_contracts":[],"contract_dependencies":[]}],"src":{"line":1,"column":24,"start":24,"end":191,"length":168,"parent_index":1}},{"id":30,"base_contracts":[],"license":"unknown","exported_symbols":[{"id":30,"name":"LibraryContract","absolute_path":"LibraryContract.sol"},{"id":0,"name":"SafeMath","absolute_path":"SafeMath.sol'"}],"absolute_path":"LibraryContract.sol","name":"LibraryContract","node_type":1,"nodes":[{"id":32,"node_type":10,"src":{"line":3,"column":0,"start":194,"end":216,"length":23,"parent_index":30},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":33,"node_type":29,"src":{"line":3,"column":24,"start":218,"end":241,"length":24,"parent_index":30},"absolute_path":"SafeMath.sol'","file":"'./SafeMath.sol'","scope":30,"unit_alias":"","as":"","unit_aliases":[],"source_unit":0},{"id":34,"name":"LibraryContract","node_type":35,"src":{"line":3,"column":49,"start":243,"end":397,"length":155,"parent_index":30},"name_location":{"line":3,"column":58,"start":252,"end":266,"length":15,"parent_index":34},"abstract":false,"kind":36,"fully_implemented":true,"nodes":[{"id":36,"node_type":51,"src":{"line":3,"column":0,"start":270,"end":296,"length":27,"parent_index":34},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"type_name":{"id":38,"node_type":30,"src":{"line":3,"column":95,"start":289,"end":295,"length":7,"parent_index":36},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"library_name":{"id":37,"node_type":52,"src":{"line":3,"column":0,"start":276,"end":283,"length":8,"parent_index":36},"name":"SafeMath","referenced_declaration":2}},{"id":40,"name":"value","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":3,"column":104,"start":298,"end":318,"length":21,"parent_index":34},"scope":34,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":41,"node_type":30,"src":{"line":3,"column":104,"start":298,"end":304,"length":7,"parent_index":40},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":43,"name":"increaseValue","node_type":42,"kind":41,"src":{"line":3,"column":126,"start":320,"end":395,"length":76,"parent_index":34},"name_location":{"line":3,"column":135,"start":329,"end":341,"length":13,"parent_index":43},"body":{"id":48,"node_type":46,"kind":0,"src":{"line":3,"column":172,"start":366,"end":395,"length":30,"parent_index":43},"implemented":true,"statements":[{"id":49,"node_type":27,"src":{"line":3,"column":174,"start":368,"end":393,"length":26,"parent_index":48},"expression":{"id":50,"node_type":27,"src":{"line":3,"column":174,"start":368,"end":392,"length":25,"parent_index":49},"operator":11,"left_expression":{"id":51,"node_type":16,"src":{"line":3,"column":174,"start":368,"end":372,"length":5,"parent_index":50},"name":"value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":40,"is_pure":false,"text":"value"},"right_expression":{"id":52,"node_type":24,"kind":24,"src":{"line":3,"column":182,"start":376,"end":392,"length":17,"parent_index":50},"argument_types":[{"type_identifier":"t_uint256","type_string":"uint256"}],"arguments":[{"id":55,"node_type":16,"src":{"line":3,"column":192,"start":386,"end":391,"length":6,"parent_index":52},"name":"_value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":55,"is_pure":false,"text":"_value"}],"expression":{"id":53,"is_constant":false,"is_l_value":false,"is_pure":false,"l_value_requested":false,"node_type":23,"src":{"line":3,"column":182,"start":376,"end":384,"length":9,"parent_index":52},"member_location":{"line":3,"column":188,"start":382,"end":384,"length":3,"parent_index":53},"expression":{"id":54,"node_type":16,"src":{"line":3,"column":182,"start":376,"end":380,"length":5,"parent_index":53},"name":"value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":40,"is_pure":false,"text":"value"},"member_name":"add","argument_types":[],"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"text":"value.add"},"type_description":{"type_identifier":"t_function_$_t_uint256$","type_string":"function(uint256)"}},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"text":"value=value.add(_value);"}]},"implemented":true,"visibility":3,"state_mutability":4,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":44,"node_type":43,"src":{"line":3,"column":149,"start":343,"end":356,"length":14,"parent_index":43},"parameters":[{"id":45,"node_type":44,"src":{"line":3,"column":149,"start":343,"end":356,"length":14,"parent_index":44},"scope":43,"name":"_value","type_name":{"id":46,"node_type":30,"src":{"line":3,"column":149,"start":343,"end":349,"length":7,"parent_index":45},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":47,"node_type":43,"src":{"line":3,"column":126,"start":320,"end":395,"length":76,"parent_index":43},"parameters":[],"parameter_types":[]},"signature_raw":"increaseValue(uint256)","signature":"160ef807","scope":34,"type_description":{"type_identifier":"t_function_$_t_uint256$","type_string":"function(uint256)"},"text":"functionincreaseValue(uint256_value)public{value=value.add(_value);}"}],"linearized_base_contracts":[34,33],"base_contracts":[],"contract_dependencies":[33]}],"src":{"line":3,"column":49,"start":243,"end":397,"length":155,"parent_index":1}}],"comments":[]} \ No newline at end of file diff --git a/data/tests/ast/resolver/TestContract.json b/data/tests/ast/resolver/TestContract.json index 38472487..f2e7b903 100644 --- a/data/tests/ast/resolver/TestContract.json +++ b/data/tests/ast/resolver/TestContract.json @@ -1 +1 @@ -{"id":1,"node_type":80,"entry_source_unit":2,"globals":[{"id":19,"name":"value","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":1,"column":48,"start":48,"end":68,"length":21},"scope":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":20,"node_type":30,"src":{"line":1,"column":48,"start":48,"end":54,"length":7,"parent_index":19},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null}],"root":[{"id":2,"base_contracts":[],"license":"unknown","exported_symbols":[{"id":2,"name":"TestContract","absolute_path":"TestContract.sol"}],"absolute_path":"TestContract.sol","name":"TestContract","node_type":1,"nodes":[{"id":3,"node_type":10,"src":{"line":1,"column":0,"start":0,"end":22,"length":23,"parent_index":2},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":4,"name":"TestContract","node_type":35,"src":{"line":1,"column":24,"start":24,"end":131,"length":108,"parent_index":2},"name_location":{"line":1,"column":33,"start":33,"end":44,"length":12,"parent_index":4},"abstract":false,"kind":36,"fully_implemented":true,"nodes":[{"id":6,"name":"value","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":1,"column":48,"start":48,"end":68,"length":21,"parent_index":4},"scope":4,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":7,"node_type":30,"src":{"line":1,"column":48,"start":48,"end":54,"length":7,"parent_index":6},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":9,"name":"setValue","node_type":42,"kind":41,"src":{"line":1,"column":70,"start":70,"end":129,"length":60,"parent_index":4},"name_location":{"line":1,"column":79,"start":79,"end":86,"length":8,"parent_index":9},"body":{"id":14,"node_type":46,"kind":0,"src":{"line":1,"column":111,"start":111,"end":129,"length":19,"parent_index":9},"implemented":true,"statements":[{"id":15,"node_type":27,"src":{"line":1,"column":113,"start":113,"end":127,"length":15,"parent_index":14},"expression":{"id":16,"node_type":27,"src":{"line":1,"column":113,"start":113,"end":126,"length":14,"parent_index":15},"operator":11,"left_expression":{"id":17,"node_type":16,"src":{"line":1,"column":113,"start":113,"end":117,"length":5,"parent_index":16},"name":"value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":6,"is_pure":false},"right_expression":{"id":18,"node_type":16,"src":{"line":1,"column":121,"start":121,"end":126,"length":6,"parent_index":16},"name":"_value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":18,"is_pure":false},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}]},"implemented":true,"visibility":3,"state_mutability":4,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":10,"node_type":43,"src":{"line":1,"column":88,"start":88,"end":101,"length":14,"parent_index":9},"parameters":[{"id":11,"node_type":44,"src":{"line":1,"column":88,"start":88,"end":101,"length":14,"parent_index":10},"scope":9,"name":"_value","type_name":{"id":12,"node_type":30,"src":{"line":1,"column":88,"start":88,"end":94,"length":7,"parent_index":11},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":13,"node_type":43,"src":{"line":1,"column":70,"start":70,"end":129,"length":60,"parent_index":9},"parameters":[],"parameter_types":[]},"signature_raw":"setValue(uint256)","signature":"55241077","scope":4,"type_description":{"type_identifier":"t_function_$_t_uint256$","type_string":"function(uint256)"}}],"linearized_base_contracts":[4],"base_contracts":[],"contract_dependencies":[]}],"src":{"line":1,"column":24,"start":24,"end":131,"length":108,"parent_index":1}}],"comments":[]} \ No newline at end of file +{"id":1,"node_type":80,"entry_source_unit":2,"globals":[{"id":19,"name":"value","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":1,"column":48,"start":48,"end":68,"length":21},"scope":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":20,"node_type":30,"src":{"line":1,"column":48,"start":48,"end":54,"length":7,"parent_index":19},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null}],"root":[{"id":2,"base_contracts":[],"license":"unknown","exported_symbols":[{"id":2,"name":"TestContract","absolute_path":"TestContract.sol"}],"absolute_path":"TestContract.sol","name":"TestContract","node_type":1,"nodes":[{"id":3,"node_type":10,"src":{"line":1,"column":0,"start":0,"end":22,"length":23,"parent_index":2},"literals":["pragma","solidity","^","0",".","5",".","0",";"],"text":"pragma solidity ^0.5.0;"},{"id":4,"name":"TestContract","node_type":35,"src":{"line":1,"column":24,"start":24,"end":131,"length":108,"parent_index":2},"name_location":{"line":1,"column":33,"start":33,"end":44,"length":12,"parent_index":4},"abstract":false,"kind":36,"fully_implemented":true,"nodes":[{"id":6,"name":"value","is_constant":false,"is_state_variable":true,"node_type":44,"src":{"line":1,"column":48,"start":48,"end":68,"length":21,"parent_index":4},"scope":4,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"visibility":3,"storage_location":1,"mutability":1,"type_name":{"id":7,"node_type":30,"src":{"line":1,"column":48,"start":48,"end":54,"length":7,"parent_index":6},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"initial_value":null},{"id":9,"name":"setValue","node_type":42,"kind":41,"src":{"line":1,"column":70,"start":70,"end":129,"length":60,"parent_index":4},"name_location":{"line":1,"column":79,"start":79,"end":86,"length":8,"parent_index":9},"body":{"id":14,"node_type":46,"kind":0,"src":{"line":1,"column":111,"start":111,"end":129,"length":19,"parent_index":9},"implemented":true,"statements":[{"id":15,"node_type":27,"src":{"line":1,"column":113,"start":113,"end":127,"length":15,"parent_index":14},"expression":{"id":16,"node_type":27,"src":{"line":1,"column":113,"start":113,"end":126,"length":14,"parent_index":15},"operator":11,"left_expression":{"id":17,"node_type":16,"src":{"line":1,"column":113,"start":113,"end":117,"length":5,"parent_index":16},"name":"value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":6,"is_pure":false,"text":"value"},"right_expression":{"id":18,"node_type":16,"src":{"line":1,"column":121,"start":121,"end":126,"length":6,"parent_index":16},"name":"_value","type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"overloaded_declarations":[],"referenced_declaration":18,"is_pure":false,"text":"_value"},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"type_description":{"type_identifier":"t_uint256","type_string":"uint256"},"text":"value=_value;"}]},"implemented":true,"visibility":3,"state_mutability":4,"virtual":false,"modifiers":[],"overrides":[],"parameters":{"id":10,"node_type":43,"src":{"line":1,"column":88,"start":88,"end":101,"length":14,"parent_index":9},"parameters":[{"id":11,"node_type":44,"src":{"line":1,"column":88,"start":88,"end":101,"length":14,"parent_index":10},"scope":9,"name":"_value","type_name":{"id":12,"node_type":30,"src":{"line":1,"column":88,"start":88,"end":94,"length":7,"parent_index":11},"name":"uint256","referenced_declaration":0,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}},"storage_location":2,"visibility":1,"state_mutability":1,"type_description":{"type_identifier":"t_uint256","type_string":"uint256"}}],"parameter_types":[{"type_identifier":"t_uint256","type_string":"uint256"}]},"return_parameters":{"id":13,"node_type":43,"src":{"line":1,"column":70,"start":70,"end":129,"length":60,"parent_index":9},"parameters":[],"parameter_types":[]},"signature_raw":"setValue(uint256)","signature":"55241077","scope":4,"type_description":{"type_identifier":"t_function_$_t_uint256$","type_string":"function(uint256)"},"text":"functionsetValue(uint256_value)public{value=_value;}"}],"linearized_base_contracts":[4],"base_contracts":[],"contract_dependencies":[]}],"src":{"line":1,"column":24,"start":24,"end":131,"length":108,"parent_index":1}}],"comments":[]} \ No newline at end of file diff --git a/data/tests/audits/ERC20.slither.raw.json b/data/tests/audits/ERC20.slither.raw.json index a43e8b2e..00187257 100644 --- a/data/tests/audits/ERC20.slither.raw.json +++ b/data/tests/audits/ERC20.slither.raw.json @@ -1 +1 @@ -{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "mul", "source_mapping": {"start": 3606, "length": 96, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mul(uint256,uint256)"}}], "description": "SafeMath.mul(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#123-125) is never used and should be removed\n", "markdown": "[SafeMath.mul(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L123-L125) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L123-L125", "id": "01304cc4312b37902daca45f84c38ca41bb71ffe24e353e8143a18f4c9731983", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 3263, "length": 96, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256)"}}], "description": "SafeMath.sub(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#109-111) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L109-L111", "id": "0597ae61b0a7d596bb9d6115f18ba9ca50e326614caee57b8155a4db524ba57b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryDiv", "source_mapping": {"start": 2122, "length": 190, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryDiv(uint256,uint256)"}}], "description": "SafeMath.tryDiv(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#66-71) is never used and should be removed\n", "markdown": "[SafeMath.tryDiv(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L66-L71) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L66-L71", "id": "0b505f6275b117d511640ae285ef86e89bed0c3ac321b6d9e53194c937c522de", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "add", "source_mapping": {"start": 2896, "length": 96, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "add(uint256,uint256)"}}], "description": "SafeMath.add(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#95-97) is never used and should be removed\n", "markdown": "[SafeMath.add(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L95-L97) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L95-L97", "id": "213a41bcb255a6c825450c4d0c154442e2173487538fb6ba96f11c6a964b1046", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMod", "source_mapping": {"start": 2471, "length": 190, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMod(uint256,uint256)"}}], "description": "SafeMath.tryMod(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#78-83) is never used and should be removed\n", "markdown": "[SafeMath.tryMod(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L78-L83) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L78-L83", "id": "34a0aa1e072c7dde823a01f4d0d9960ae5cee235b3717887ed3519df5b947e56", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 5275, "length": 231, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256,string)"}}], "description": "SafeMath.sub(uint256,uint256,string) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#172-181) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256,string)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L172-L181) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L172-L181", "id": "39b5b109c820035284370af9064beadd8f7d5b7100117c544f8ff1724235874b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryAdd", "source_mapping": {"start": 781, "length": 216, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryAdd(uint256,uint256)"}}], "description": "SafeMath.tryAdd(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#24-30) is never used and should be removed\n", "markdown": "[SafeMath.tryAdd(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L24-L30) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L24-L30", "id": "6e59aeae379daf502c1b273118cd86642516e1da52b15eef32cb6a445136093a", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 6866, "length": 230, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256,string)"}}], "description": "SafeMath.mod(uint256,uint256,string) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#221-230) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256,string)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L221-L230) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L221-L230", "id": "712768d3a481f9b1f37a8cd35c2349b153122c762e1ab1fa90e492ff24916157", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 5990, "length": 230, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256,string)"}}], "description": "SafeMath.div(uint256,uint256,string) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#195-204) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256,string)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L195-L204) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L195-L204", "id": "883adadc70fb7eb2cd5136eb24fcd93a1842b6e88470e572c4dbdb1119863e3c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 4715, "length": 96, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [155, 156, 157], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256)"}}], "description": "SafeMath.mod(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#155-157) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L155-L157) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L155-L157", "id": "a40074a7206e6c7604771b463c9123cfc4ede6357ef86feb34ea247a1be8f5e1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 4166, "length": 96, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [139, 140, 141], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256)"}}], "description": "SafeMath.div(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#139-141) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L139-L141) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L139-L141", "id": "b49b4889f1b304a84f2984119b9a2fc4e67dfb2f730e0a6de8fe6113d3fbcc39", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMul", "source_mapping": {"start": 1480, "length": 493, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMul(uint256,uint256)"}}], "description": "SafeMath.tryMul(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#49-59) is never used and should be removed\n", "markdown": "[SafeMath.tryMul(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L49-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L49-L59", "id": "bfe189351e9ab6cc1449da2cd46c36f6aea6f9ef6c146d242f5de81888ea98fa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "trySub", "source_mapping": {"start": 1143, "length": 189, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "trySub(uint256,uint256)"}}], "description": "SafeMath.trySub(uint256,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#37-42) is never used and should be removed\n", "markdown": "[SafeMath.trySub(uint256,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L37-L42) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L37-L42", "id": "c98303950cb105754fb2d74861937c424360cdf5e53c27fc8067c87253d37a07", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/SafeMath.sol#L3", "id": "ff506342d8442001c2390b4b0501835b35cd5afb5d2bb22c8125e21f5906d091", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol#L3", "id": "c688d3e82b894c641fd92be87ee15c91161e59dc8b8430a9d5a3a914bf343b98", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_msgSender", "source_mapping": {"start": 640, "length": 96, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "is_dependency": false, "lines": [17, 18, 19], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 608, "length": 235, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgSender()"}}], "description": "Context._msgSender() (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#17-19) is never used and should be removed\n", "markdown": "[Context._msgSender()](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L17-L19) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L17-L19", "id": "4d9f447851c4702471164e0bb12d0c4194ae09c4a3e6517d76a739bffa4ac07d", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 742, "length": 99, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "is_dependency": false, "lines": [21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 608, "length": 235, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#21-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L21-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L21-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 86, "length": 23, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L4", "id": "49b6d3f2160cb1bdc049acbfbfb6a0d4e7e0d2a3d303b95dd076badfd8d53566", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_burn", "source_mapping": {"start": 9354, "length": 659, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "is_dependency": false, "lines": [277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20", "source_mapping": {"start": 1511, "length": 11312, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366], "starting_column": 1, "ending_column": 0}}, "signature": "_burn(address,uint256)"}}], "description": "ERC20._burn(address,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol#277-293) is never used and should be removed\n", "markdown": "[ERC20._burn(address,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol#L277-L293) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol#L277-L293", "id": "70b4280aa93f6eb2c97f92406a75cd9ba30bac85d7bf7a71e8eb4369d74cc422", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 742, "length": 99, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "is_dependency": false, "lines": [21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 608, "length": 235, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#21-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L21-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L21-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_mint", "source_mapping": {"start": 8499, "length": 535, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "is_dependency": false, "lines": [251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20", "source_mapping": {"start": 1511, "length": 11312, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366], "starting_column": 1, "ending_column": 0}}, "signature": "_mint(address,uint256)"}}], "description": "ERC20._mint(address,uint256) (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol#251-264) is never used and should be removed\n", "markdown": "[ERC20._mint(address,uint256)](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol#L251-L264) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol#L251-L264", "id": "e81756a32adfb866dc5acaa82b44e8fdd5a743ead67082bdd04180832dd82920", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 110, "length": 23, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol#L4", "id": "43dbb0aa0c464051e694ec7db9fa99dd248ef2e4254d3a7ae2bbb50c76f51dd2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 86, "length": 23, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/Context.sol#L4", "id": "49b6d3f2160cb1bdc049acbfbfb6a0d4e7e0d2a3d303b95dd076badfd8d53566", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 105, "length": 23, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/ERC20.sol#L4", "id": "589789f26a5d577d1348025a71bc4c10ddb9d60a0c1d50710c83d7c53cfd3ed3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol#L3", "id": "c688d3e82b894c641fd92be87ee15c91161e59dc8b8430a9d5a3a914bf343b98", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 110, "length": 23, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20Metadata.sol#L4", "id": "43dbb0aa0c464051e694ec7db9fa99dd248ef2e4254d3a7ae2bbb50c76f51dd2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol", "filename_absolute": "/tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol", "filename_short": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/e320a4fe-2d38-480a-b76d-6da23d9dd5df/erc20/IERC20.sol#L3", "id": "c688d3e82b894c641fd92be87ee15c91161e59dc8b8430a9d5a3a914bf343b98", "check": "solc-version", "impact": "Informational", "confidence": "High"}]}} +{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "mul", "source_mapping": {"start": 3606, "length": 96, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mul(uint256,uint256)"}}], "description": "SafeMath.mul(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#123-125) is never used and should be removed\n", "markdown": "[SafeMath.mul(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L123-L125) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L123-L125", "id": "01304cc4312b37902daca45f84c38ca41bb71ffe24e353e8143a18f4c9731983", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 3263, "length": 96, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256)"}}], "description": "SafeMath.sub(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#109-111) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L109-L111", "id": "0597ae61b0a7d596bb9d6115f18ba9ca50e326614caee57b8155a4db524ba57b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryDiv", "source_mapping": {"start": 2122, "length": 190, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryDiv(uint256,uint256)"}}], "description": "SafeMath.tryDiv(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#66-71) is never used and should be removed\n", "markdown": "[SafeMath.tryDiv(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L66-L71) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L66-L71", "id": "0b505f6275b117d511640ae285ef86e89bed0c3ac321b6d9e53194c937c522de", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "add", "source_mapping": {"start": 2896, "length": 96, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "add(uint256,uint256)"}}], "description": "SafeMath.add(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#95-97) is never used and should be removed\n", "markdown": "[SafeMath.add(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L95-L97) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L95-L97", "id": "213a41bcb255a6c825450c4d0c154442e2173487538fb6ba96f11c6a964b1046", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMod", "source_mapping": {"start": 2471, "length": 190, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMod(uint256,uint256)"}}], "description": "SafeMath.tryMod(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#78-83) is never used and should be removed\n", "markdown": "[SafeMath.tryMod(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L78-L83) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L78-L83", "id": "34a0aa1e072c7dde823a01f4d0d9960ae5cee235b3717887ed3519df5b947e56", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 5275, "length": 231, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256,string)"}}], "description": "SafeMath.sub(uint256,uint256,string) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#172-181) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256,string)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L172-L181) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L172-L181", "id": "39b5b109c820035284370af9064beadd8f7d5b7100117c544f8ff1724235874b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryAdd", "source_mapping": {"start": 781, "length": 216, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryAdd(uint256,uint256)"}}], "description": "SafeMath.tryAdd(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#24-30) is never used and should be removed\n", "markdown": "[SafeMath.tryAdd(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L24-L30) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L24-L30", "id": "6e59aeae379daf502c1b273118cd86642516e1da52b15eef32cb6a445136093a", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 6866, "length": 230, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256,string)"}}], "description": "SafeMath.mod(uint256,uint256,string) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#221-230) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256,string)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L221-L230) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L221-L230", "id": "712768d3a481f9b1f37a8cd35c2349b153122c762e1ab1fa90e492ff24916157", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 5990, "length": 230, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256,string)"}}], "description": "SafeMath.div(uint256,uint256,string) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#195-204) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256,string)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L195-L204) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L195-L204", "id": "883adadc70fb7eb2cd5136eb24fcd93a1842b6e88470e572c4dbdb1119863e3c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 4715, "length": 96, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [155, 156, 157], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256)"}}], "description": "SafeMath.mod(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#155-157) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L155-L157) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L155-L157", "id": "a40074a7206e6c7604771b463c9123cfc4ede6357ef86feb34ea247a1be8f5e1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 4166, "length": 96, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [139, 140, 141], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256)"}}], "description": "SafeMath.div(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#139-141) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L139-L141) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L139-L141", "id": "b49b4889f1b304a84f2984119b9a2fc4e67dfb2f730e0a6de8fe6113d3fbcc39", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMul", "source_mapping": {"start": 1480, "length": 493, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMul(uint256,uint256)"}}], "description": "SafeMath.tryMul(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#49-59) is never used and should be removed\n", "markdown": "[SafeMath.tryMul(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L49-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L49-L59", "id": "bfe189351e9ab6cc1449da2cd46c36f6aea6f9ef6c146d242f5de81888ea98fa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "trySub", "source_mapping": {"start": 1143, "length": 189, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "trySub(uint256,uint256)"}}], "description": "SafeMath.trySub(uint256,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#37-42) is never used and should be removed\n", "markdown": "[SafeMath.trySub(uint256,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L37-L42) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L37-L42", "id": "c98303950cb105754fb2d74861937c424360cdf5e53c27fc8067c87253d37a07", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/SafeMath.sol#L3", "id": "02cf0322d7eca6cd870ac0327a6e82f0fddfaa797367d12b0dd5be0ec7e55729", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol#L3", "id": "221f2c4cbbdfe881d03a5450d367c03d03809dfd59bc4e3d9600264b0935fd04", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_msgSender", "source_mapping": {"start": 640, "length": 96, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "is_dependency": false, "lines": [17, 18, 19], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 608, "length": 235, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgSender()"}}], "description": "Context._msgSender() (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#17-19) is never used and should be removed\n", "markdown": "[Context._msgSender()](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L17-L19) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L17-L19", "id": "4d9f447851c4702471164e0bb12d0c4194ae09c4a3e6517d76a739bffa4ac07d", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 742, "length": 99, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "is_dependency": false, "lines": [21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 608, "length": 235, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#21-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L21-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L21-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 86, "length": 23, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L4", "id": "8341d381faf529a4384d2b727367e4ea0bc4f18ba6237ed3204e54d289b95092", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_burn", "source_mapping": {"start": 9354, "length": 659, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "is_dependency": false, "lines": [277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20", "source_mapping": {"start": 1511, "length": 11312, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366], "starting_column": 1, "ending_column": 0}}, "signature": "_burn(address,uint256)"}}], "description": "ERC20._burn(address,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol#277-293) is never used and should be removed\n", "markdown": "[ERC20._burn(address,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol#L277-L293) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol#L277-L293", "id": "70b4280aa93f6eb2c97f92406a75cd9ba30bac85d7bf7a71e8eb4369d74cc422", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 742, "length": 99, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "is_dependency": false, "lines": [21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 608, "length": 235, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#21-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L21-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L21-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_mint", "source_mapping": {"start": 8499, "length": 535, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "is_dependency": false, "lines": [251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20", "source_mapping": {"start": 1511, "length": 11312, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "is_dependency": false, "lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366], "starting_column": 1, "ending_column": 0}}, "signature": "_mint(address,uint256)"}}], "description": "ERC20._mint(address,uint256) (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol#251-264) is never used and should be removed\n", "markdown": "[ERC20._mint(address,uint256)](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol#L251-L264) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol#L251-L264", "id": "e81756a32adfb866dc5acaa82b44e8fdd5a743ead67082bdd04180832dd82920", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol#L3", "id": "221f2c4cbbdfe881d03a5450d367c03d03809dfd59bc4e3d9600264b0935fd04", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 110, "length": 23, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol#L4", "id": "72f657c4918ef8373d6dd79951b2722f76f6e2fc69068efa122275cf0dba0f90", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 86, "length": 23, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/Context.sol#L4", "id": "8341d381faf529a4384d2b727367e4ea0bc4f18ba6237ed3204e54d289b95092", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 105, "length": 23, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/ERC20.sol#L4", "id": "c5ee98bea49a614a0e827fe56640272b2e01f3ebe6a6f95228bb4515f1e3f66b", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20.sol#L3", "id": "221f2c4cbbdfe881d03a5450d367c03d03809dfd59bc4e3d9600264b0935fd04", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 110, "length": 23, "filename_relative": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol", "filename_absolute": "/tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol", "filename_short": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol", "is_dependency": false, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol#L4) allows old versions\n", "first_markdown_element": "../../../../../../tmp/ec0f8324-eee9-4ddc-826b-b6e1b80f7010/erc20/IERC20Metadata.sol#L4", "id": "72f657c4918ef8373d6dd79951b2722f76f6e2fc69068efa122275cf0dba0f90", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}]}} diff --git a/data/tests/audits/Lottery.slither.raw.json b/data/tests/audits/Lottery.slither.raw.json index 2cffd784..dbb8a8b7 100644 --- a/data/tests/audits/Lottery.slither.raw.json +++ b/data/tests/audits/Lottery.slither.raw.json @@ -1 +1 @@ -{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}, {"type": "node", "name": "index = uint256(block.timestamp) % playerAddresses.length", "source_mapping": {"start": 1779, "length": 65, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [73], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}], "description": "Lottery.finishLottery() (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#70-99) uses a weak PRNG: \"index = uint256(block.timestamp) % playerAddresses.length (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#73)\" \n", "markdown": "[Lottery.finishLottery()](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L70-L99) uses a weak PRNG: \"[index = uint256(block.timestamp) % playerAddresses.length](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L73)\" \n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L70-L99", "id": "6149cd5bb8faccf0150e02861ce8ddf07afe284303e0e1d1fc76937787dd5a28", "check": "weak-prng", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}, {"type": "node", "name": "index == count", "source_mapping": {"start": 1982, "length": 14, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [78], "starting_column": 16, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}], "description": "Lottery.finishLottery() (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#70-99) uses a dangerous strict equality:\n\t- index == count (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#78)\n", "markdown": "[Lottery.finishLottery()](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L70-L99) uses a dangerous strict equality:\n\t- [index == count](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L78)\n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L70-L99", "id": "c1a7f605f8374a6280efa17a33224f631cae155867af38e1577089a6854942c6", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}, {"type": "node", "name": "dummyContract.dummyFunction()", "source_mapping": {"start": 3313, "length": 203, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}}}], "description": "Lottery.callExternalFunction(address) (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#126-134) ignores return value by dummyContract.dummyFunction() (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#129-133)\n", "markdown": "[Lottery.callExternalFunction(address)](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L126-L134) ignores return value by [dummyContract.dummyFunction()](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L129-L133)\n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L126-L134", "id": "b92138d6a26893553d610fd1485070f8b7b5b7d804282813af21d3a43aa7f45b", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "balance", "source_mapping": {"start": 2379, "length": 39, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [97], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}, {"type": "function", "name": "balance", "source_mapping": {"start": 2564, "length": 94, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "balance()"}}], "description": "Lottery.finishLottery().balance (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#97) shadows:\n\t- Lottery.balance() (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#105-107) (function)\n", "markdown": "[Lottery.finishLottery().balance](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L97) shadows:\n\t- [Lottery.balance()](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L105-L107) (function)\n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L97", "id": "d1512de4e74c3c41224f9b8471f58511620e0568791936197fb782b0fd457687", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}, {"type": "node", "name": "dummyContract.dummyFunction()", "source_mapping": {"start": 3313, "length": 203, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ExternalCallFailed(External contract failed)", "source_mapping": {"start": 3454, "length": 51, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [132], "starting_column": 13, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "ExternalCallSuccessful()", "source_mapping": {"start": 3361, "length": 29, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [130], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Lottery.callExternalFunction(address) (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#126-134):\n\tExternal calls:\n\t- dummyContract.dummyFunction() (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#129-133)\n\tEvent emitted after the call(s):\n\t- ExternalCallFailed(External contract failed) (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#132)\n\t- ExternalCallSuccessful() (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#130)\n", "markdown": "Reentrancy in [Lottery.callExternalFunction(address)](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L126-L134):\n\tExternal calls:\n\t- [dummyContract.dummyFunction()](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L129-L133)\n\tEvent emitted after the call(s):\n\t- [ExternalCallFailed(External contract failed)](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L132)\n\t- [ExternalCallSuccessful()](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L130)\n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L126-L134", "id": "4d1e262c6cd0c6d22a48cca90a04dcf48ff531ee32fdf57a0b6ae93377e487f7", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}, {"type": "node", "name": "index == count", "source_mapping": {"start": 1982, "length": 14, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [78], "starting_column": 16, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}], "description": "Lottery.finishLottery() (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#70-99) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- index == count (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#78)\n", "markdown": "[Lottery.finishLottery()](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L70-L99) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [index == count](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L78)\n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L70-L99", "id": "00e54b0fa33fbce350b4353db077ee709eaade648e29c6ca7534bf947097f684", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "dummyFunctionAssembly", "source_mapping": {"start": 4078, "length": 155, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "dummyFunctionAssembly()"}}, {"type": "node", "name": "", "source_mapping": {"start": 4158, "length": 69, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [161, 162, 163], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "dummyFunctionAssembly", "source_mapping": {"start": 4078, "length": 155, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "dummyFunctionAssembly()"}}}}], "description": "Lottery.dummyFunctionAssembly() (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#160-164) uses assembly\n\t- INLINE ASM (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#161-163)\n", "markdown": "[Lottery.dummyFunctionAssembly()](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L160-L164) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L161-L163)\n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L160-L164", "id": "f41adb1d73c2035b9e2784d3b05de974bac3e207880fd1ae91b1e8d0cf9fb2fe", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "integerToString", "source_mapping": {"start": 3528, "length": 544, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "integerToString(uint256)"}}], "description": "Lottery.integerToString(uint256) (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#136-158) is never used and should be removed\n", "markdown": "[Lottery.integerToString(uint256)](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L136-L158) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L136-L158", "id": "81e0d9892ad7306d6a0f9675fac03def6d4df4be20d652f0cdcd1484079cb194", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.4 is not recommended for deployment\n", "markdown": "solc-0.8.4 is not recommended for deployment\n", "first_markdown_element": "", "id": "2d6b35864ac3d65d7e6d059f2d4d759caf96afb3e33f0c5c78a032aa1ee2c310", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.4", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".4"]}}], "description": "Pragma version^0.8.4 (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.4](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L2", "id": "6e3c6b80e8c84633f8a168ecd21c1248e5fcb3d5cfe60370d80578472e8a64b9", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_i", "source_mapping": {"start": 3553, "length": 7, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [136], "starting_column": 30, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "integerToString", "source_mapping": {"start": 3528, "length": 544, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "integerToString(uint256)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter Lottery.integerToString(uint256)._i (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#136) is not in mixedCase\n", "markdown": "Parameter [Lottery.integerToString(uint256)._i](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L136) is not in mixedCase\n", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L136", "id": "25f4a3b43e29e0bd0a029e0b2902d20f2ebb59b47a7b30e3ec45110210d84c3a", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "count < playerAddresses.length", "source_mapping": {"start": 1933, "length": 30, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [77], "starting_column": 15, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}], "description": "Loop condition count < playerAddresses.length (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#77) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [count < playerAddresses.length](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L77) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L77", "id": "02a5999036a663dc8e1382883c7a572e0670a32a778472f374b9b5bfe1950dbf", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < playerAddresses.length", "source_mapping": {"start": 2780, "length": 26, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [111], "starting_column": 26, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "checkAllPlayers", "source_mapping": {"start": 2699, "length": 279, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_absolute": "/tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "checkAllPlayers()"}}}}], "description": "Loop condition i < playerAddresses.length (../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#111) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < playerAddresses.length](../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L111) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "../../../../../../tmp/53632e40-b71e-44b4-bede-3771894d683c/lottery/Lottery.sol#L111", "id": "3174b549f223e8b787316b3a8f1d8b94f4d5f05c67f0d127a047a02f3a883293", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}]}} +{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}, {"type": "node", "name": "index = uint256(block.timestamp) % playerAddresses.length", "source_mapping": {"start": 1779, "length": 65, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [73], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}], "description": "Lottery.finishLottery() (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#70-99) uses a weak PRNG: \"index = uint256(block.timestamp) % playerAddresses.length (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#73)\" \n", "markdown": "[Lottery.finishLottery()](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L70-L99) uses a weak PRNG: \"[index = uint256(block.timestamp) % playerAddresses.length](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L73)\" \n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L70-L99", "id": "c85b8a19b61781b9a5cbc1948f400e8a041b9ecf49920e425e9be9c7a1f16f7e", "check": "weak-prng", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}, {"type": "node", "name": "index == count", "source_mapping": {"start": 1982, "length": 14, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [78], "starting_column": 16, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}], "description": "Lottery.finishLottery() (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#70-99) uses a dangerous strict equality:\n\t- index == count (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#78)\n", "markdown": "[Lottery.finishLottery()](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L70-L99) uses a dangerous strict equality:\n\t- [index == count](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L78)\n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L70-L99", "id": "a9610d087c42a44600690759265104c27fd92a653f9ac4cad8ea6c293a1fc865", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}, {"type": "node", "name": "dummyContract.dummyFunction()", "source_mapping": {"start": 3313, "length": 203, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}}}], "description": "Lottery.callExternalFunction(address) (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#126-134) ignores return value by dummyContract.dummyFunction() (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#129-133)\n", "markdown": "[Lottery.callExternalFunction(address)](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L126-L134) ignores return value by [dummyContract.dummyFunction()](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L129-L133)\n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L126-L134", "id": "022bf9a276c876c44b7f2e879e45f82bb321bb64f7faa1472ec5b9aa42fbcf7d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "balance", "source_mapping": {"start": 2379, "length": 39, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [97], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}, {"type": "function", "name": "balance", "source_mapping": {"start": 2564, "length": 94, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [105, 106, 107], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "balance()"}}], "description": "Lottery.finishLottery().balance (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#97) shadows:\n\t- Lottery.balance() (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#105-107) (function)\n", "markdown": "[Lottery.finishLottery().balance](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L97) shadows:\n\t- [Lottery.balance()](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L105-L107) (function)\n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L97", "id": "d1512de4e74c3c41224f9b8471f58511620e0568791936197fb782b0fd457687", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}, {"type": "node", "name": "dummyContract.dummyFunction()", "source_mapping": {"start": 3313, "length": 203, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ExternalCallFailed(External contract failed)", "source_mapping": {"start": 3454, "length": 51, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [132], "starting_column": 13, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "ExternalCallSuccessful()", "source_mapping": {"start": 3361, "length": 29, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [130], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "callExternalFunction", "source_mapping": {"start": 3152, "length": 370, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [126, 127, 128, 129, 130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "callExternalFunction(address)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Lottery.callExternalFunction(address) (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#126-134):\n\tExternal calls:\n\t- dummyContract.dummyFunction() (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#129-133)\n\tEvent emitted after the call(s):\n\t- ExternalCallFailed(External contract failed) (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#132)\n\t- ExternalCallSuccessful() (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#130)\n", "markdown": "Reentrancy in [Lottery.callExternalFunction(address)](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L126-L134):\n\tExternal calls:\n\t- [dummyContract.dummyFunction()](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L129-L133)\n\tEvent emitted after the call(s):\n\t- [ExternalCallFailed(External contract failed)](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L132)\n\t- [ExternalCallSuccessful()](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L130)\n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L126-L134", "id": "4952173a7c3469b939a68e95383ec011f31c95405a900ff198c65c240126906a", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}, {"type": "node", "name": "index == count", "source_mapping": {"start": 1982, "length": 14, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [78], "starting_column": 16, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}], "description": "Lottery.finishLottery() (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#70-99) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- index == count (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#78)\n", "markdown": "[Lottery.finishLottery()](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L70-L99) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [index == count](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L78)\n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L70-L99", "id": "bc2192ff3efcecae8982da26d48da449f8955ca321a3deb2ebb2157a24514643", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "dummyFunctionAssembly", "source_mapping": {"start": 4078, "length": 155, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "dummyFunctionAssembly()"}}, {"type": "node", "name": "", "source_mapping": {"start": 4158, "length": 69, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [161, 162, 163], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "dummyFunctionAssembly", "source_mapping": {"start": 4078, "length": 155, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [160, 161, 162, 163, 164], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "dummyFunctionAssembly()"}}}}], "description": "Lottery.dummyFunctionAssembly() (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#160-164) uses assembly\n\t- INLINE ASM (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#161-163)\n", "markdown": "[Lottery.dummyFunctionAssembly()](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L160-L164) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L161-L163)\n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L160-L164", "id": "a33cf2c26ee9cce910bf0c13d3b595c26e638c6246cc48d945e7fa9a1bc1f87b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "integerToString", "source_mapping": {"start": 3528, "length": 544, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "integerToString(uint256)"}}], "description": "Lottery.integerToString(uint256) (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#136-158) is never used and should be removed\n", "markdown": "[Lottery.integerToString(uint256)](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L136-L158) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L136-L158", "id": "81e0d9892ad7306d6a0f9675fac03def6d4df4be20d652f0cdcd1484079cb194", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.4 is not recommended for deployment\n", "markdown": "solc-0.8.4 is not recommended for deployment\n", "first_markdown_element": "", "id": "2d6b35864ac3d65d7e6d059f2d4d759caf96afb3e33f0c5c78a032aa1ee2c310", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.4", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".4"]}}], "description": "Pragma version^0.8.4 (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.4](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L2", "id": "7dceeda096211641a11acff42eb770b3bc7a8b3a03132b7b9cc411228c7a945d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_i", "source_mapping": {"start": 3553, "length": 7, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [136], "starting_column": 30, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "integerToString", "source_mapping": {"start": 3528, "length": 544, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "integerToString(uint256)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter Lottery.integerToString(uint256)._i (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#136) is not in mixedCase\n", "markdown": "Parameter [Lottery.integerToString(uint256)._i](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L136) is not in mixedCase\n", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L136", "id": "25f4a3b43e29e0bd0a029e0b2902d20f2ebb59b47a7b30e3ec45110210d84c3a", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "i < playerAddresses.length", "source_mapping": {"start": 2780, "length": 26, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [111], "starting_column": 26, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "checkAllPlayers", "source_mapping": {"start": 2699, "length": 279, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [110, 111, 112, 113, 114, 115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "checkAllPlayers()"}}}}], "description": "Loop condition i < playerAddresses.length (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#111) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [i < playerAddresses.length](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L111) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L111", "id": "4fb36fdeb1e942353b4d930b5e112bc00261b81df7bf38f29cf0db45351be390", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "node", "name": "count < playerAddresses.length", "source_mapping": {"start": 1933, "length": 30, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [77], "starting_column": 15, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "finishLottery", "source_mapping": {"start": 1665, "length": 803, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Lottery", "source_mapping": {"start": 141, "length": 4333, "filename_relative": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_absolute": "/tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "filename_short": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "starting_column": 1, "ending_column": 0}}, "signature": "finishLottery()"}}}}], "description": "Loop condition count < playerAddresses.length (../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#77) should use cached array length instead of referencing `length` member of the storage array.\n ", "markdown": "Loop condition [count < playerAddresses.length](../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L77) should use cached array length instead of referencing `length` member of the storage array.\n ", "first_markdown_element": "../../../../../../tmp/71fc8ae7-e3af-4dc6-9454-9a879b9e2dd8/lottery/Lottery.sol#L77", "id": "90975297d98ac21c8a60fc953fe482c3028644f4b6a662d1e61647f7f2e41d3a", "check": "cache-array-length", "impact": "Optimization", "confidence": "High"}]}} diff --git a/data/tests/audits/SimpleStorage.slither.raw.json b/data/tests/audits/SimpleStorage.slither.raw.json index fc72eb05..31490b38 100644 --- a/data/tests/audits/SimpleStorage.slither.raw.json +++ b/data/tests/audits/SimpleStorage.slither.raw.json @@ -1 +1 @@ -{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "mul", "source_mapping": {"start": 598, "length": 219, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "mul(uint256,uint256)"}}], "description": "MathLib.mul(uint256,uint256) (../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#24-33) is never used and should be removed\n", "markdown": "[MathLib.mul(uint256,uint256)](../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L24-L33) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L24-L33", "id": "26f3b22b9d99a920db0b31abebba7042a8a8bfa2c241a2838cc8816921600435", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 857, "length": 152, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "div(uint256,uint256)"}}], "description": "MathLib.div(uint256,uint256) (../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#36-41) is never used and should be removed\n", "markdown": "[MathLib.div(uint256,uint256)](../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L36-L41) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L36-L41", "id": "7beafca734108db9476a53aa19c3e8d06e4dc7c7a616623a8587d1de7f4bda34", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L2", "id": "c633856c74b129f5cfacdf9a5891f09faa8cd2e8d691e5368571fac268abce77", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/SimpleStorage.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/SimpleStorage.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/SimpleStorage.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/SimpleStorage.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/SimpleStorage.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/SimpleStorage.sol#L2", "id": "d825179f78f45568d809d0d4dd6d22e13010174934cd5186c7bf7bbddfc1dbba", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 398, "length": 158, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "sub(uint256,uint256)"}}], "description": "MathLib.sub(uint256,uint256) (../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#16-21) is never used and should be removed\n", "markdown": "[MathLib.sub(uint256,uint256)](../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L16-L21) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L16-L21", "id": "1e2e645963b9b5da5879c8181cd359a316a2a9bdebe838a4eb8afa49add6525c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mul", "source_mapping": {"start": 598, "length": 219, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "mul(uint256,uint256)"}}], "description": "MathLib.mul(uint256,uint256) (../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#24-33) is never used and should be removed\n", "markdown": "[MathLib.mul(uint256,uint256)](../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L24-L33) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L24-L33", "id": "26f3b22b9d99a920db0b31abebba7042a8a8bfa2c241a2838cc8816921600435", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "add", "source_mapping": {"start": 202, "length": 154, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "add(uint256,uint256)"}}], "description": "MathLib.add(uint256,uint256) (../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#8-13) is never used and should be removed\n", "markdown": "[MathLib.add(uint256,uint256)](../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L8-L13) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L8-L13", "id": "5a2b1c731cd037714acf5603395b1a93fd31ba1f0f4df94c7f8bd5615dfd0bc9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 857, "length": 152, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "div(uint256,uint256)"}}], "description": "MathLib.div(uint256,uint256) (../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#36-41) is never used and should be removed\n", "markdown": "[MathLib.div(uint256,uint256)](../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L36-L41) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L36-L41", "id": "7beafca734108db9476a53aa19c3e8d06e4dc7c7a616623a8587d1de7f4bda34", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_absolute": "/tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/6bab0699-f912-474e-be16-424d1f6450f3/simplestorage/MathLib.sol#L2", "id": "c633856c74b129f5cfacdf9a5891f09faa8cd2e8d691e5368571fac268abce77", "check": "solc-version", "impact": "Informational", "confidence": "High"}]}} +{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "mul", "source_mapping": {"start": 598, "length": 219, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "mul(uint256,uint256)"}}], "description": "MathLib.mul(uint256,uint256) (../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#24-33) is never used and should be removed\n", "markdown": "[MathLib.mul(uint256,uint256)](../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L24-L33) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L24-L33", "id": "26f3b22b9d99a920db0b31abebba7042a8a8bfa2c241a2838cc8816921600435", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 857, "length": 152, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "div(uint256,uint256)"}}], "description": "MathLib.div(uint256,uint256) (../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#36-41) is never used and should be removed\n", "markdown": "[MathLib.div(uint256,uint256)](../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L36-L41) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L36-L41", "id": "7beafca734108db9476a53aa19c3e8d06e4dc7c7a616623a8587d1de7f4bda34", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L2", "id": "01f313d69d577afe7d4f77759f273d36a05d509947890cae62457696d2fa5ee4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/SimpleStorage.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/SimpleStorage.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/SimpleStorage.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/SimpleStorage.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/SimpleStorage.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/SimpleStorage.sol#L2", "id": "b6d06c054e8ec40a9d302c66441e08134579ad88bbd9c247302bc9ae5ca6fab5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 398, "length": 158, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "sub(uint256,uint256)"}}], "description": "MathLib.sub(uint256,uint256) (../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#16-21) is never used and should be removed\n", "markdown": "[MathLib.sub(uint256,uint256)](../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L16-L21) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L16-L21", "id": "1e2e645963b9b5da5879c8181cd359a316a2a9bdebe838a4eb8afa49add6525c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mul", "source_mapping": {"start": 598, "length": 219, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "mul(uint256,uint256)"}}], "description": "MathLib.mul(uint256,uint256) (../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#24-33) is never used and should be removed\n", "markdown": "[MathLib.mul(uint256,uint256)](../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L24-L33) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L24-L33", "id": "26f3b22b9d99a920db0b31abebba7042a8a8bfa2c241a2838cc8816921600435", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "add", "source_mapping": {"start": 202, "length": 154, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "add(uint256,uint256)"}}], "description": "MathLib.add(uint256,uint256) (../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#8-13) is never used and should be removed\n", "markdown": "[MathLib.add(uint256,uint256)](../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L8-L13) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L8-L13", "id": "5a2b1c731cd037714acf5603395b1a93fd31ba1f0f4df94c7f8bd5615dfd0bc9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 857, "length": 152, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathLib", "source_mapping": {"start": 149, "length": 862, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}, "signature": "div(uint256,uint256)"}}], "description": "MathLib.div(uint256,uint256) (../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#36-41) is never used and should be removed\n", "markdown": "[MathLib.div(uint256,uint256)](../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L36-L41) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L36-L41", "id": "7beafca734108db9476a53aa19c3e8d06e4dc7c7a616623a8587d1de7f4bda34", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_absolute": "/tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "filename_short": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/b0ce4b1a-0fa4-4194-a74e-b3b915270e5c/simplestorage/MathLib.sol#L2", "id": "01f313d69d577afe7d4f77759f273d36a05d509947890cae62457696d2fa5ee4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}]}} diff --git a/data/tests/audits/TokenSale.slither.raw.json b/data/tests/audits/TokenSale.slither.raw.json index 343c9cb0..315c1f16 100644 --- a/data/tests/audits/TokenSale.slither.raw.json +++ b/data/tests/audits/TokenSale.slither.raw.json @@ -1 +1 @@ -{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "mul", "source_mapping": {"start": 3606, "length": 96, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mul(uint256,uint256)"}}], "description": "SafeMath.mul(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#123-125) is never used and should be removed\n", "markdown": "[SafeMath.mul(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L123-L125) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L123-L125", "id": "01304cc4312b37902daca45f84c38ca41bb71ffe24e353e8143a18f4c9731983", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 3263, "length": 96, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256)"}}], "description": "SafeMath.sub(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#109-111) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L109-L111", "id": "0597ae61b0a7d596bb9d6115f18ba9ca50e326614caee57b8155a4db524ba57b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryDiv", "source_mapping": {"start": 2122, "length": 190, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryDiv(uint256,uint256)"}}], "description": "SafeMath.tryDiv(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#66-71) is never used and should be removed\n", "markdown": "[SafeMath.tryDiv(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L66-L71) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L66-L71", "id": "0b505f6275b117d511640ae285ef86e89bed0c3ac321b6d9e53194c937c522de", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "add", "source_mapping": {"start": 2896, "length": 96, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "add(uint256,uint256)"}}], "description": "SafeMath.add(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#95-97) is never used and should be removed\n", "markdown": "[SafeMath.add(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L95-L97) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L95-L97", "id": "213a41bcb255a6c825450c4d0c154442e2173487538fb6ba96f11c6a964b1046", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMod", "source_mapping": {"start": 2471, "length": 190, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMod(uint256,uint256)"}}], "description": "SafeMath.tryMod(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#78-83) is never used and should be removed\n", "markdown": "[SafeMath.tryMod(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L78-L83) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L78-L83", "id": "34a0aa1e072c7dde823a01f4d0d9960ae5cee235b3717887ed3519df5b947e56", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 5275, "length": 231, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256,string)"}}], "description": "SafeMath.sub(uint256,uint256,string) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#172-181) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256,string)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L172-L181) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L172-L181", "id": "39b5b109c820035284370af9064beadd8f7d5b7100117c544f8ff1724235874b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryAdd", "source_mapping": {"start": 781, "length": 216, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryAdd(uint256,uint256)"}}], "description": "SafeMath.tryAdd(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#24-30) is never used and should be removed\n", "markdown": "[SafeMath.tryAdd(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L24-L30) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L24-L30", "id": "6e59aeae379daf502c1b273118cd86642516e1da52b15eef32cb6a445136093a", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 6866, "length": 230, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256,string)"}}], "description": "SafeMath.mod(uint256,uint256,string) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#221-230) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256,string)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L221-L230) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L221-L230", "id": "712768d3a481f9b1f37a8cd35c2349b153122c762e1ab1fa90e492ff24916157", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 5990, "length": 230, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256,string)"}}], "description": "SafeMath.div(uint256,uint256,string) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#195-204) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256,string)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L195-L204) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L195-L204", "id": "883adadc70fb7eb2cd5136eb24fcd93a1842b6e88470e572c4dbdb1119863e3c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 4715, "length": 96, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [155, 156, 157], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256)"}}], "description": "SafeMath.mod(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#155-157) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L155-L157) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L155-L157", "id": "a40074a7206e6c7604771b463c9123cfc4ede6357ef86feb34ea247a1be8f5e1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 4166, "length": 96, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [139, 140, 141], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256)"}}], "description": "SafeMath.div(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#139-141) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L139-L141) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L139-L141", "id": "b49b4889f1b304a84f2984119b9a2fc4e67dfb2f730e0a6de8fe6113d3fbcc39", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMul", "source_mapping": {"start": 1480, "length": 493, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMul(uint256,uint256)"}}], "description": "SafeMath.tryMul(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#49-59) is never used and should be removed\n", "markdown": "[SafeMath.tryMul(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L49-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L49-L59", "id": "bfe189351e9ab6cc1449da2cd46c36f6aea6f9ef6c146d242f5de81888ea98fa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "trySub", "source_mapping": {"start": 1143, "length": 189, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "trySub(uint256,uint256)"}}], "description": "SafeMath.trySub(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#37-42) is never used and should be removed\n", "markdown": "[SafeMath.trySub(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L37-L42) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L37-L42", "id": "c98303950cb105754fb2d74861937c424360cdf5e53c27fc8067c87253d37a07", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L3", "id": "a88591270c903473018946e811a368fffd903a382f7755acdcdf538392ffa125", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol#L3", "id": "91676e53380b5df3ab2e50c3fdbb12651a12626e7eae8c5fc63e7355d5ae9bb6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}, {"type": "node", "name": "token.transferFrom(owner,msg.sender,_amount)", "source_mapping": {"start": 588, "length": 46, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}}}], "description": "TokenSale.buyTokens(uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#22-26) ignores return value by token.transferFrom(owner,msg.sender,_amount) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#24)\n", "markdown": "[TokenSale.buyTokens(uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L22-L26) ignores return value by [token.transferFrom(owner,msg.sender,_amount)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L24)\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L22-L26", "id": "6ca7c2370687aa918f179dcec24c3fcd5d601703cbac9204bc40a3a71290db52", "check": "unchecked-transfer", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}, {"type": "node", "name": "token.transferFrom(owner,msg.sender,_amount)", "source_mapping": {"start": 588, "length": 46, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "TokensPurchased(msg.sender,_amount)", "source_mapping": {"start": 644, "length": 41, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in TokenSale.buyTokens(uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#22-26):\n\tExternal calls:\n\t- token.transferFrom(owner,msg.sender,_amount) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#24)\n\tEvent emitted after the call(s):\n\t- TokensPurchased(msg.sender,_amount) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#25)\n", "markdown": "Reentrancy in [TokenSale.buyTokens(uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L22-L26):\n\tExternal calls:\n\t- [token.transferFrom(owner,msg.sender,_amount)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L24)\n\tEvent emitted after the call(s):\n\t- [TokensPurchased(msg.sender,_amount)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L25)\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L22-L26", "id": "84b34df0b13dbdb58488f32d719acda90ef2135047f21accf2decf4891b339b9", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 3263, "length": 96, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256)"}}], "description": "SafeMath.sub(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#109-111) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L109-L111", "id": "0597ae61b0a7d596bb9d6115f18ba9ca50e326614caee57b8155a4db524ba57b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryDiv", "source_mapping": {"start": 2122, "length": 190, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryDiv(uint256,uint256)"}}], "description": "SafeMath.tryDiv(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#66-71) is never used and should be removed\n", "markdown": "[SafeMath.tryDiv(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L66-L71) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L66-L71", "id": "0b505f6275b117d511640ae285ef86e89bed0c3ac321b6d9e53194c937c522de", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "add", "source_mapping": {"start": 2896, "length": 96, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "add(uint256,uint256)"}}], "description": "SafeMath.add(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#95-97) is never used and should be removed\n", "markdown": "[SafeMath.add(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L95-L97) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L95-L97", "id": "213a41bcb255a6c825450c4d0c154442e2173487538fb6ba96f11c6a964b1046", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMod", "source_mapping": {"start": 2471, "length": 190, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMod(uint256,uint256)"}}], "description": "SafeMath.tryMod(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#78-83) is never used and should be removed\n", "markdown": "[SafeMath.tryMod(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L78-L83) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L78-L83", "id": "34a0aa1e072c7dde823a01f4d0d9960ae5cee235b3717887ed3519df5b947e56", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 5275, "length": 231, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256,string)"}}], "description": "SafeMath.sub(uint256,uint256,string) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#172-181) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256,string)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L172-L181) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L172-L181", "id": "39b5b109c820035284370af9064beadd8f7d5b7100117c544f8ff1724235874b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryAdd", "source_mapping": {"start": 781, "length": 216, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryAdd(uint256,uint256)"}}], "description": "SafeMath.tryAdd(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#24-30) is never used and should be removed\n", "markdown": "[SafeMath.tryAdd(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L24-L30) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L24-L30", "id": "6e59aeae379daf502c1b273118cd86642516e1da52b15eef32cb6a445136093a", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 6866, "length": 230, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256,string)"}}], "description": "SafeMath.mod(uint256,uint256,string) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#221-230) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256,string)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L221-L230) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L221-L230", "id": "712768d3a481f9b1f37a8cd35c2349b153122c762e1ab1fa90e492ff24916157", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 5990, "length": 230, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256,string)"}}], "description": "SafeMath.div(uint256,uint256,string) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#195-204) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256,string)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L195-L204) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L195-L204", "id": "883adadc70fb7eb2cd5136eb24fcd93a1842b6e88470e572c4dbdb1119863e3c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 4715, "length": 96, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [155, 156, 157], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256)"}}], "description": "SafeMath.mod(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#155-157) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L155-L157) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L155-L157", "id": "a40074a7206e6c7604771b463c9123cfc4ede6357ef86feb34ea247a1be8f5e1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 4166, "length": 96, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [139, 140, 141], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256)"}}], "description": "SafeMath.div(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#139-141) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L139-L141) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L139-L141", "id": "b49b4889f1b304a84f2984119b9a2fc4e67dfb2f730e0a6de8fe6113d3fbcc39", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMul", "source_mapping": {"start": 1480, "length": 493, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMul(uint256,uint256)"}}], "description": "SafeMath.tryMul(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#49-59) is never used and should be removed\n", "markdown": "[SafeMath.tryMul(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L49-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L49-L59", "id": "bfe189351e9ab6cc1449da2cd46c36f6aea6f9ef6c146d242f5de81888ea98fa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "trySub", "source_mapping": {"start": 1143, "length": 189, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "trySub(uint256,uint256)"}}], "description": "SafeMath.trySub(uint256,uint256) (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#37-42) is never used and should be removed\n", "markdown": "[SafeMath.trySub(uint256,uint256)](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L37-L42) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L37-L42", "id": "c98303950cb105754fb2d74861937c424360cdf5e53c27fc8067c87253d37a07", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L2", "id": "06942dee3272b1b50ff583a9ff19f2a6ca236f5873165b61e0bc02d390d66a75", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/IERC20.sol#L3", "id": "91676e53380b5df3ab2e50c3fdbb12651a12626e7eae8c5fc63e7355d5ae9bb6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/SafeMath.sol#L3", "id": "a88591270c903473018946e811a368fffd903a382f7755acdcdf538392ffa125", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_amount", "source_mapping": {"start": 498, "length": 15, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22], "starting_column": 24, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter TokenSale.buyTokens(uint256)._amount (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#22) is not in mixedCase\n", "markdown": "Parameter [TokenSale.buyTokens(uint256)._amount](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L22) is not in mixedCase\n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L22", "id": "a38150a609ddf980a822530b33c6653c6e53efde08fa081626252c81930dd09f", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "owner", "source_mapping": {"start": 190, "length": 21, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [11], "starting_column": 5, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}}}], "description": "TokenSale.owner (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#11) should be immutable \n", "markdown": "[TokenSale.owner](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L11) should be immutable \n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L11", "id": "5f2596c1a22ac7fd9e571f8f9809cb53e08c94495a25c818402ac7ddafc6ebf5", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "token", "source_mapping": {"start": 164, "length": 20, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [10], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}}}], "description": "TokenSale.token (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#10) should be immutable \n", "markdown": "[TokenSale.token](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L10) should be immutable \n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L10", "id": "6fd4182ea31aff762faf767529c5fd7800d2e349fdc44c3bdd093ea236a425f5", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "tokenPrice", "source_mapping": {"start": 217, "length": 26, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [12], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_absolute": "/tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}}}], "description": "TokenSale.tokenPrice (../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#12) should be immutable \n", "markdown": "[TokenSale.tokenPrice](../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L12) should be immutable \n", "first_markdown_element": "../../../../../../tmp/6fb3bfdf-5913-4dfd-bfaf-67091874ea63/tokensale/TokenSale.sol#L12", "id": "ab2413437fa7f10f285e8d710422f98b1343b9c84fb93fd323b0a6dbbc750804", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}]}} +{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "mul", "source_mapping": {"start": 3606, "length": 96, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mul(uint256,uint256)"}}], "description": "SafeMath.mul(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#123-125) is never used and should be removed\n", "markdown": "[SafeMath.mul(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L123-L125) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L123-L125", "id": "01304cc4312b37902daca45f84c38ca41bb71ffe24e353e8143a18f4c9731983", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 3263, "length": 96, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256)"}}], "description": "SafeMath.sub(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#109-111) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L109-L111", "id": "0597ae61b0a7d596bb9d6115f18ba9ca50e326614caee57b8155a4db524ba57b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryDiv", "source_mapping": {"start": 2122, "length": 190, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryDiv(uint256,uint256)"}}], "description": "SafeMath.tryDiv(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#66-71) is never used and should be removed\n", "markdown": "[SafeMath.tryDiv(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L66-L71) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L66-L71", "id": "0b505f6275b117d511640ae285ef86e89bed0c3ac321b6d9e53194c937c522de", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "add", "source_mapping": {"start": 2896, "length": 96, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "add(uint256,uint256)"}}], "description": "SafeMath.add(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#95-97) is never used and should be removed\n", "markdown": "[SafeMath.add(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L95-L97) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L95-L97", "id": "213a41bcb255a6c825450c4d0c154442e2173487538fb6ba96f11c6a964b1046", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMod", "source_mapping": {"start": 2471, "length": 190, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMod(uint256,uint256)"}}], "description": "SafeMath.tryMod(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#78-83) is never used and should be removed\n", "markdown": "[SafeMath.tryMod(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L78-L83) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L78-L83", "id": "34a0aa1e072c7dde823a01f4d0d9960ae5cee235b3717887ed3519df5b947e56", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 5275, "length": 231, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256,string)"}}], "description": "SafeMath.sub(uint256,uint256,string) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#172-181) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256,string)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L172-L181) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L172-L181", "id": "39b5b109c820035284370af9064beadd8f7d5b7100117c544f8ff1724235874b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryAdd", "source_mapping": {"start": 781, "length": 216, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryAdd(uint256,uint256)"}}], "description": "SafeMath.tryAdd(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#24-30) is never used and should be removed\n", "markdown": "[SafeMath.tryAdd(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L24-L30) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L24-L30", "id": "6e59aeae379daf502c1b273118cd86642516e1da52b15eef32cb6a445136093a", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 6866, "length": 230, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256,string)"}}], "description": "SafeMath.mod(uint256,uint256,string) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#221-230) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256,string)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L221-L230) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L221-L230", "id": "712768d3a481f9b1f37a8cd35c2349b153122c762e1ab1fa90e492ff24916157", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 5990, "length": 230, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256,string)"}}], "description": "SafeMath.div(uint256,uint256,string) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#195-204) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256,string)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L195-L204) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L195-L204", "id": "883adadc70fb7eb2cd5136eb24fcd93a1842b6e88470e572c4dbdb1119863e3c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 4715, "length": 96, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [155, 156, 157], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256)"}}], "description": "SafeMath.mod(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#155-157) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L155-L157) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L155-L157", "id": "a40074a7206e6c7604771b463c9123cfc4ede6357ef86feb34ea247a1be8f5e1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 4166, "length": 96, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [139, 140, 141], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256)"}}], "description": "SafeMath.div(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#139-141) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L139-L141) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L139-L141", "id": "b49b4889f1b304a84f2984119b9a2fc4e67dfb2f730e0a6de8fe6113d3fbcc39", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMul", "source_mapping": {"start": 1480, "length": 493, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMul(uint256,uint256)"}}], "description": "SafeMath.tryMul(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#49-59) is never used and should be removed\n", "markdown": "[SafeMath.tryMul(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L49-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L49-L59", "id": "bfe189351e9ab6cc1449da2cd46c36f6aea6f9ef6c146d242f5de81888ea98fa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "trySub", "source_mapping": {"start": 1143, "length": 189, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "trySub(uint256,uint256)"}}], "description": "SafeMath.trySub(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#37-42) is never used and should be removed\n", "markdown": "[SafeMath.trySub(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L37-L42) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L37-L42", "id": "c98303950cb105754fb2d74861937c424360cdf5e53c27fc8067c87253d37a07", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L3", "id": "cf25391d26d6db2d4b1ca21d727876c30a1057a81af76ff2b73da9cd52afb761", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol#L3", "id": "a5482b7b0290cb9324fddb7e56e198ddc1bf87a79771568281e90be6d5f0295c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}, {"type": "node", "name": "token.transferFrom(owner,msg.sender,_amount)", "source_mapping": {"start": 588, "length": 46, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}}}], "description": "TokenSale.buyTokens(uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#22-26) ignores return value by token.transferFrom(owner,msg.sender,_amount) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#24)\n", "markdown": "[TokenSale.buyTokens(uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L22-L26) ignores return value by [token.transferFrom(owner,msg.sender,_amount)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L24)\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L22-L26", "id": "0dba9c7e9abd8dd99884d4265bdcf0e712344675ed32933373775b21c0e25436", "check": "unchecked-transfer", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}, {"type": "node", "name": "token.transferFrom(owner,msg.sender,_amount)", "source_mapping": {"start": 588, "length": 46, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "TokensPurchased(msg.sender,_amount)", "source_mapping": {"start": 644, "length": 41, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in TokenSale.buyTokens(uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#22-26):\n\tExternal calls:\n\t- token.transferFrom(owner,msg.sender,_amount) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#24)\n\tEvent emitted after the call(s):\n\t- TokensPurchased(msg.sender,_amount) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#25)\n", "markdown": "Reentrancy in [TokenSale.buyTokens(uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L22-L26):\n\tExternal calls:\n\t- [token.transferFrom(owner,msg.sender,_amount)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L24)\n\tEvent emitted after the call(s):\n\t- [TokensPurchased(msg.sender,_amount)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L25)\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L22-L26", "id": "a60928591b76951f805e38318d8cddd4c4bbc1ab3c0899bb4a9939391b6bf543", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 3263, "length": 96, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256)"}}], "description": "SafeMath.sub(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#109-111) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L109-L111", "id": "0597ae61b0a7d596bb9d6115f18ba9ca50e326614caee57b8155a4db524ba57b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryDiv", "source_mapping": {"start": 2122, "length": 190, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryDiv(uint256,uint256)"}}], "description": "SafeMath.tryDiv(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#66-71) is never used and should be removed\n", "markdown": "[SafeMath.tryDiv(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L66-L71) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L66-L71", "id": "0b505f6275b117d511640ae285ef86e89bed0c3ac321b6d9e53194c937c522de", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "add", "source_mapping": {"start": 2896, "length": 96, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "add(uint256,uint256)"}}], "description": "SafeMath.add(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#95-97) is never used and should be removed\n", "markdown": "[SafeMath.add(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L95-L97) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L95-L97", "id": "213a41bcb255a6c825450c4d0c154442e2173487538fb6ba96f11c6a964b1046", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMod", "source_mapping": {"start": 2471, "length": 190, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82, 83], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMod(uint256,uint256)"}}], "description": "SafeMath.tryMod(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#78-83) is never used and should be removed\n", "markdown": "[SafeMath.tryMod(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L78-L83) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L78-L83", "id": "34a0aa1e072c7dde823a01f4d0d9960ae5cee235b3717887ed3519df5b947e56", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sub", "source_mapping": {"start": 5275, "length": 231, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "sub(uint256,uint256,string)"}}], "description": "SafeMath.sub(uint256,uint256,string) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#172-181) is never used and should be removed\n", "markdown": "[SafeMath.sub(uint256,uint256,string)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L172-L181) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L172-L181", "id": "39b5b109c820035284370af9064beadd8f7d5b7100117c544f8ff1724235874b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryAdd", "source_mapping": {"start": 781, "length": 216, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryAdd(uint256,uint256)"}}], "description": "SafeMath.tryAdd(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#24-30) is never used and should be removed\n", "markdown": "[SafeMath.tryAdd(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L24-L30) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L24-L30", "id": "6e59aeae379daf502c1b273118cd86642516e1da52b15eef32cb6a445136093a", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 6866, "length": 230, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256,string)"}}], "description": "SafeMath.mod(uint256,uint256,string) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#221-230) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256,string)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L221-L230) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L221-L230", "id": "712768d3a481f9b1f37a8cd35c2349b153122c762e1ab1fa90e492ff24916157", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 5990, "length": 230, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256,string)"}}], "description": "SafeMath.div(uint256,uint256,string) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#195-204) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256,string)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L195-L204) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L195-L204", "id": "883adadc70fb7eb2cd5136eb24fcd93a1842b6e88470e572c4dbdb1119863e3c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mod", "source_mapping": {"start": 4715, "length": 96, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [155, 156, 157], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "mod(uint256,uint256)"}}], "description": "SafeMath.mod(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#155-157) is never used and should be removed\n", "markdown": "[SafeMath.mod(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L155-L157) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L155-L157", "id": "a40074a7206e6c7604771b463c9123cfc4ede6357ef86feb34ea247a1be8f5e1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "div", "source_mapping": {"start": 4166, "length": 96, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [139, 140, 141], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "div(uint256,uint256)"}}], "description": "SafeMath.div(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#139-141) is never used and should be removed\n", "markdown": "[SafeMath.div(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L139-L141) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L139-L141", "id": "b49b4889f1b304a84f2984119b9a2fc4e67dfb2f730e0a6de8fe6113d3fbcc39", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "tryMul", "source_mapping": {"start": 1480, "length": 493, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "tryMul(uint256,uint256)"}}], "description": "SafeMath.tryMul(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#49-59) is never used and should be removed\n", "markdown": "[SafeMath.tryMul(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L49-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L49-L59", "id": "bfe189351e9ab6cc1449da2cd46c36f6aea6f9ef6c146d242f5de81888ea98fa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "trySub", "source_mapping": {"start": 1143, "length": 189, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeMath", "source_mapping": {"start": 622, "length": 6476, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 0}}, "signature": "trySub(uint256,uint256)"}}], "description": "SafeMath.trySub(uint256,uint256) (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#37-42) is never used and should be removed\n", "markdown": "[SafeMath.trySub(uint256,uint256)](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L37-L42) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L37-L42", "id": "c98303950cb105754fb2d74861937c424360cdf5e53c27fc8067c87253d37a07", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L2", "id": "9c352997d530062d32c7b55903f08df7c076edcfeaf53cf40e420c2cfbb080d0", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/IERC20.sol#L3", "id": "a5482b7b0290cb9324fddb7e56e198ddc1bf87a79771568281e90be6d5f0295c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/SafeMath.sol#L3", "id": "cf25391d26d6db2d4b1ca21d727876c30a1057a81af76ff2b73da9cd52afb761", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_amount", "source_mapping": {"start": 498, "length": 15, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22], "starting_column": 24, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "buyTokens", "source_mapping": {"start": 479, "length": 213, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}, "signature": "buyTokens(uint256)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter TokenSale.buyTokens(uint256)._amount (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#22) is not in mixedCase\n", "markdown": "Parameter [TokenSale.buyTokens(uint256)._amount](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L22) is not in mixedCase\n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L22", "id": "a38150a609ddf980a822530b33c6653c6e53efde08fa081626252c81930dd09f", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "owner", "source_mapping": {"start": 190, "length": 21, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [11], "starting_column": 5, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}}}], "description": "TokenSale.owner (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#11) should be immutable \n", "markdown": "[TokenSale.owner](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L11) should be immutable \n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L11", "id": "5f2596c1a22ac7fd9e571f8f9809cb53e08c94495a25c818402ac7ddafc6ebf5", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "token", "source_mapping": {"start": 164, "length": 20, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [10], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}}}], "description": "TokenSale.token (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#10) should be immutable \n", "markdown": "[TokenSale.token](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L10) should be immutable \n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L10", "id": "6fd4182ea31aff762faf767529c5fd7800d2e349fdc44c3bdd093ea236a425f5", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "tokenPrice", "source_mapping": {"start": 217, "length": 26, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [12], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "TokenSale", "source_mapping": {"start": 106, "length": 588, "filename_relative": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_absolute": "/tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "filename_short": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "starting_column": 1, "ending_column": 0}}}}], "description": "TokenSale.tokenPrice (../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#12) should be immutable \n", "markdown": "[TokenSale.tokenPrice](../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L12) should be immutable \n", "first_markdown_element": "../../../../../../tmp/076991ae-814a-45d1-a048-a398165d2dad/tokensale/TokenSale.sol#L12", "id": "ab2413437fa7f10f285e8d710422f98b1343b9c84fb93fd323b0a6dbbc750804", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}]}} diff --git a/data/tests/audits/TransparentUpgradeableProxy.slither.raw.json b/data/tests/audits/TransparentUpgradeableProxy.slither.raw.json index a5ce9088..5d557b55 100644 --- a/data/tests/audits/TransparentUpgradeableProxy.slither.raw.json +++ b/data/tests/audits/TransparentUpgradeableProxy.slither.raw.json @@ -1 +1 @@ -{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "b96380263af4b706de4ffe3ddcec76a55125acac7dff1694dc9923271161a5e6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "d1460c9ffb235bf5e26e2001aaeef8876eae6e906aeee25ba0af0265b8561ab0", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}], "description": "Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "37fdcf04d10bee1b4f21f62f3b26ddd73f189396822ddcb016a8b29ea4632d76", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6276, "length": 198, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes)"}}], "description": "Address.functionDelegateCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#153-155) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L153-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L153-L155", "id": "5e22d84e635d6e4a0d2095ca874f1ab71f3604b2725cb200802146fc0efc0bea", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) is never used and should be removed\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "be3b99d99a9a5bed4c5ec0484b111edbd14b6938ed8f5eb0f6fbf4e1a094e811", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) is never used and should be removed\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "de7443462f44ab8c4d96b5210d641361c6ca8e94ba96c9d8f16c12ec08844a9d", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "a225600d2ff77b6231df7f6f458c92726de603f360cd376bfedf1f47ed8584d7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "252d6167addb5939e477512012a706c7ac338e2f6a11834156d55b1ef2aed3d6", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "aacb071d2b33434368a2163dc51e268486ae32d38b5536cd1c8864d1b3f18339", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "b695f80ac3e62d3f74c22513d94da0c7968b27814c58da9941ac39925886e759", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "bec4a3a468390552a737d936955e5f4491591837719f1f01a5d8519805accca2", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "5d9f228fbaa66a59166371fb2bfc6970c588266da59d976fcae12b38f5c9c419", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "649f691980f387ed8ec3139e2fcb829437565c153e29d024862568dcb154968d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "6bb3c83266420cfbce64c1742aa62bbc48416ee5809b85dd382f9b78ff439dbf", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "c6dcc1f54f275f270c502aebeebd1b3b0ab1f45fdbe10a661edf8e95139b6a20", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "64024c7588c710863f3579ba3247658c70d1b91f8cd1930b34c1a0e316319204", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "832d1764230a84bbf06281050783cf67aaa8ff6a5062eb65ff28191e4ab0d5aa", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "90ac4e0a4676b7c17ece10d35326d8d3989f6139cfa196e797134578544b421c", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "b96380263af4b706de4ffe3ddcec76a55125acac7dff1694dc9923271161a5e6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "cf0d5c0a4ac1504a53b86f56432bf7965293de630c733cf4a40b5e1d794f8a87", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "d1460c9ffb235bf5e26e2001aaeef8876eae6e906aeee25ba0af0265b8561ab0", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "eb3b12371ec4b1cb68304e0c139eacc0e5ea4bd66fcfb492470cb5e65b1a3a3b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "f84192c219c4b7c22b8cd8c8c3bfcaff857ea69e768d25bd9400661e16383197", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "9c33cb3e2ac032e3f47d6a757cb078c7d52dffc96bed343eeba4b941f2069e80", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_changeAdmin", "source_mapping": {"start": 5465, "length": 135, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [152, 153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_changeAdmin(address)"}}], "description": "ERC1967Upgrade._changeAdmin(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#152-155) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._changeAdmin(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155", "id": "2343d58011f84895447f9ca86cec2bef29c81cf87a5f5e3362937fffd4819bc7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getImplementation", "source_mapping": {"start": 1144, "length": 140, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getImplementation()"}}], "description": "ERC1967Upgrade._getImplementation() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#36-38) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getImplementation()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L36-L38) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L36-L38", "id": "42af7964a070b66486e845ca0a0eb93b54c4ab7da39cb09fde0f4beb904e4899", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "511c2724420361fd752a6406217024b18d4fc4c7898bab765aa1a826d7d48e36", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_beacon", "source_mapping": {"start": 1247, "length": 95, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [37, 38, 39], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BeaconProxy", "source_mapping": {"start": 490, "length": 1606, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 1, "ending_column": 0}}, "signature": "_beacon()"}}], "description": "BeaconProxy._beacon() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#37-39) is never used and should be removed\n", "markdown": "[BeaconProxy._beacon()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L37-L39) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L37-L39", "id": "57d1bff31f9b735b937049c24507d2e3b444aae7f91936096036689d33df8d93", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getAdmin", "source_mapping": {"start": 4949, "length": 122, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getAdmin()"}}], "description": "ERC1967Upgrade._getAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#135-137) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137", "id": "86af8e9d6e17b483f7f9cf37daae4b6b7c742d13968147562b8ceb7732596d14", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setAdmin", "source_mapping": {"start": 5153, "length": 201, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setAdmin(address)"}}], "description": "ERC1967Upgrade._setAdmin(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#142-145) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setAdmin(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145", "id": "bfc906e9ecf8a10b66af79d7e57c9d8bd261fe2d2a1012991ee115fd3314e8e9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 1961, "length": 133, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BeaconProxy", "source_mapping": {"start": 490, "length": 1606, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address,bytes)"}}], "description": "BeaconProxy._setBeacon(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#58-60) is never used and should be removed\n", "markdown": "[BeaconProxy._setBeacon(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L58-L60) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L58-L60", "id": "e994e64b4cbbd99e495b8098a12234632ff03c05f4fad55bbaf75a2763ff13ae", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setImplementation", "source_mapping": {"start": 1375, "length": 259, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [43, 44, 45, 46], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setImplementation(address)"}}], "description": "ERC1967Upgrade._setImplementation(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#43-46) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setImplementation(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L43-L46) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L43-L46", "id": "f393706e79544088b849ba1ead121f8b54f16082254bf58fd37b079e71647a1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "32359c8af75459626a05e02279d256ee0f6df410f423b8fbd82e611cd7355c61", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L3", "id": "545b99f16692611cefcf44c307a420ac41c7ce45fa2ce85610140d89d0efdc8a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3", "id": "937cd2a66cf23e2872b432d04706aa433670aa4c8bbd02b17a20f4713521cc92", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "a225600d2ff77b6231df7f6f458c92726de603f360cd376bfedf1f47ed8584d7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3", "id": "cb65b94ae2af8c840b8e19c7d8a6e6be88908eb004ef1789bf2ac987e119bde6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "ea38ee72355d187dbe2555f09be166ce3585dcb943b40d5b6f42425e28f925ad", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "252d6167addb5939e477512012a706c7ac338e2f6a11834156d55b1ef2aed3d6", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "aacb071d2b33434368a2163dc51e268486ae32d38b5536cd1c8864d1b3f18339", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "b695f80ac3e62d3f74c22513d94da0c7968b27814c58da9941ac39925886e759", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "bec4a3a468390552a737d936955e5f4491591837719f1f01a5d8519805accca2", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "832d1764230a84bbf06281050783cf67aaa8ff6a5062eb65ff28191e4ab0d5aa", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "90ac4e0a4676b7c17ece10d35326d8d3989f6139cfa196e797134578544b421c", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "cf0d5c0a4ac1504a53b86f56432bf7965293de630c733cf4a40b5e1d794f8a87", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "eb3b12371ec4b1cb68304e0c139eacc0e5ea4bd66fcfb492470cb5e65b1a3a3b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#51-55) is never used and should be removed\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "f5e44cf0e4eb09304083a7e6b2fcd047509871bff85f352e139a5b93c87275cf", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "32359c8af75459626a05e02279d256ee0f6df410f423b8fbd82e611cd7355c61", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_msgSender", "source_mapping": {"start": 586, "length": 96, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [16, 17, 18], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgSender()"}}], "description": "Context._msgSender() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#16-18) is never used and should be removed\n", "markdown": "[Context._msgSender()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L16-L18) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L16-L18", "id": "4d9f447851c4702471164e0bb12d0c4194ae09c4a3e6517d76a739bffa4ac07d", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3", "id": "f39e2a52ccb38189d73ad7400aca519584991f6d6d25ea0ccc4188bb4def76b1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21", "id": "c8bfe9fffe7f1a5dd1109bda6ba70203dda817b01176c9cc8ce688484a131033", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "b96380263af4b706de4ffe3ddcec76a55125acac7dff1694dc9923271161a5e6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "d1460c9ffb235bf5e26e2001aaeef8876eae6e906aeee25ba0af0265b8561ab0", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}], "description": "Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "37fdcf04d10bee1b4f21f62f3b26ddd73f189396822ddcb016a8b29ea4632d76", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6276, "length": 198, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes)"}}], "description": "Address.functionDelegateCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#153-155) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L153-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L153-L155", "id": "5e22d84e635d6e4a0d2095ca874f1ab71f3604b2725cb200802146fc0efc0bea", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) is never used and should be removed\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "be3b99d99a9a5bed4c5ec0484b111edbd14b6938ed8f5eb0f6fbf4e1a094e811", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3", "id": "937cd2a66cf23e2872b432d04706aa433670aa4c8bbd02b17a20f4713521cc92", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "a225600d2ff77b6231df7f6f458c92726de603f360cd376bfedf1f47ed8584d7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L3", "id": "b15ed65e168c8476242a2bc7c35ee47b10bc865f343fd1862ca1ee6cd684b8f1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3", "id": "e87355f9bbbc106a17dffda17928c99b3583745a659feb6ff11b1817aa50c435", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3", "id": "f39e2a52ccb38189d73ad7400aca519584991f6d6d25ea0ccc4188bb4def76b1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "252d6167addb5939e477512012a706c7ac338e2f6a11834156d55b1ef2aed3d6", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "aacb071d2b33434368a2163dc51e268486ae32d38b5536cd1c8864d1b3f18339", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "b695f80ac3e62d3f74c22513d94da0c7968b27814c58da9941ac39925886e759", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "bec4a3a468390552a737d936955e5f4491591837719f1f01a5d8519805accca2", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21", "id": "c8bfe9fffe7f1a5dd1109bda6ba70203dda817b01176c9cc8ce688484a131033", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_implementation", "source_mapping": {"start": 505, "length": 31, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [16], "starting_column": 5, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgradeableBeacon", "source_mapping": {"start": 452, "length": 1496, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 1, "ending_column": 0}}}}, {"type": "variable", "name": "implementation_", "source_mapping": {"start": 852, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [27], "starting_column": 17, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 840, "length": 89, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [27, 28, 29], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgradeableBeacon", "source_mapping": {"start": 452, "length": 1496, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 1, "ending_column": 0}}, "signature": "constructor(address)"}}}}], "description": "Variable UpgradeableBeacon._implementation (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#16) is too similar to UpgradeableBeacon.constructor(address).implementation_ (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#27)\n", "markdown": "Variable [UpgradeableBeacon._implementation](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L16) is too similar to [UpgradeableBeacon.constructor(address).implementation_](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L27)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L16", "id": "8e1818a710e574ba82dd02af34f1ad3ce64bf11fcc9850a1b466a6b768dec116", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "implementation", "source_mapping": {"start": 3311, "length": 129, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "implementation()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.implementation() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#71-73) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.implementation()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73", "id": "1e19402be86bbf81907d7be9e81602496bcb29a6e18391c4ad54fce313ad0d68", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "function", "name": "_fallback", "source_mapping": {"start": 2257, "length": 110, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [54, 55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_fallback()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) calls Proxy._fallback() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#54-57) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) calls [Proxy._fallback()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L54-L57) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "23a808761850ebd23ead7bcce113260d0f0e3b9a7780e7b11559cae706c28112", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 4418, "length": 164, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#102-104) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeToAndCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104", "id": "362e4f908ecc98c97f2ed4cdbbe35b62b8f8e14133d2cebb48850543a9dccb32", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeTo", "source_mapping": {"start": 3908, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [91, 92, 93], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeTo(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeTo(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#91-93) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeTo(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93", "id": "864dd5d5ee406c709b2790bda0f6d08a55d71c1ff790c09a9ae802994d281dc0", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "changeAdmin", "source_mapping": {"start": 3645, "length": 103, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "changeAdmin(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.changeAdmin(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#82-84) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.changeAdmin(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84", "id": "ae9d46a711b64cd45ecd849e4ed2741e153fcbea54729cb041c7d7a4cc08c5a3", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "admin", "source_mapping": {"start": 2755, "length": 96, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "admin()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.admin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#58-60) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.admin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60", "id": "bc66cb2fcbc6cdc92c9928264c68ae4db112ddd8fb7eeef06a24af593a9141dc", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "5d9f228fbaa66a59166371fb2bfc6970c588266da59d976fcae12b38f5c9c419", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "649f691980f387ed8ec3139e2fcb829437565c153e29d024862568dcb154968d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "6bb3c83266420cfbce64c1742aa62bbc48416ee5809b85dd382f9b78ff439dbf", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "c6dcc1f54f275f270c502aebeebd1b3b0ab1f45fdbe10a661edf8e95139b6a20", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}], "description": "Modifier TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) does not always execute _; or revert", "markdown": "Modifier [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) does not always execute _; or revert", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "5530811b8f31a92cde9528b8c17ea217ddffa4a1218c85cf7cd615221ec4c0bd", "check": "incorrect-modifier", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "64024c7588c710863f3579ba3247658c70d1b91f8cd1930b34c1a0e316319204", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "832d1764230a84bbf06281050783cf67aaa8ff6a5062eb65ff28191e4ab0d5aa", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "90ac4e0a4676b7c17ece10d35326d8d3989f6139cfa196e797134578544b421c", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "b96380263af4b706de4ffe3ddcec76a55125acac7dff1694dc9923271161a5e6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "cf0d5c0a4ac1504a53b86f56432bf7965293de630c733cf4a40b5e1d794f8a87", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "d1460c9ffb235bf5e26e2001aaeef8876eae6e906aeee25ba0af0265b8561ab0", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "eb3b12371ec4b1cb68304e0c139eacc0e5ea4bd66fcfb492470cb5e65b1a3a3b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "f84192c219c4b7c22b8cd8c8c3bfcaff857ea69e768d25bd9400661e16383197", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "28243dbb542a3f9d43ec3af8b8d8dd7d5c3cca174760e6e516b109c87b0659a7", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "37ef62788b6e990346dcf8112c812c8a185d766ecf77442f0ea573d494ecefe6", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_admin", "source_mapping": {"start": 4643, "length": 93, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "_admin()"}}], "description": "TransparentUpgradeableProxy._admin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#109-111) is never used and should be removed\n", "markdown": "[TransparentUpgradeableProxy._admin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111", "id": "43666b6a0b32a3c2fdfac7caa3388ea05984e7c9e1c3630723a690abfee4b734", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 6335, "length": 405, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address)"}}], "description": "ERC1967Upgrade._setBeacon(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#178-188) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setBeacon(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188", "id": "b93c4ebe65ac9affe3e364b2d87acfcd8874bde817ae86611558513858a05873", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBeacon", "source_mapping": {"start": 6129, "length": 124, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getBeacon()"}}], "description": "ERC1967Upgrade._getBeacon() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#171-173) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getBeacon()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173", "id": "e2d0610716408007f9030d45556c35b67a0ed89ff6b07d3252dc13721b493ee7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3", "id": "1d47a4ca7d33ad6c5ff49c3db0bf5f2d4abe798d7bc725f61d6c41f22869708e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "32359c8af75459626a05e02279d256ee0f6df410f423b8fbd82e611cd7355c61", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3", "id": "40e4cd9ddb428490bea7d778c14789f15b70db88408829ae465852713878347d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3", "id": "937cd2a66cf23e2872b432d04706aa433670aa4c8bbd02b17a20f4713521cc92", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "a225600d2ff77b6231df7f6f458c92726de603f360cd376bfedf1f47ed8584d7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3", "id": "cb65b94ae2af8c840b8e19c7d8a6e6be88908eb004ef1789bf2ac987e119bde6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "ea38ee72355d187dbe2555f09be166ce3585dcb943b40d5b6f42425e28f925ad", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "252d6167addb5939e477512012a706c7ac338e2f6a11834156d55b1ef2aed3d6", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "aacb071d2b33434368a2163dc51e268486ae32d38b5536cd1c8864d1b3f18339", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "b695f80ac3e62d3f74c22513d94da0c7968b27814c58da9941ac39925886e759", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "bec4a3a468390552a737d936955e5f4491591837719f1f01a5d8519805accca2", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, {"type": "contract", "name": "IBeacon", "source_mapping": {"start": 138, "length": 251, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16], "starting_column": 1, "ending_column": 0}}], "description": "TransparentUpgradeableProxy (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#28-121) should inherit from IBeacon (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#8-16)\n", "markdown": "[TransparentUpgradeableProxy](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L28-L121) should inherit from [IBeacon](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L8-L16)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L28-L121", "id": "3168c0c9454e01dd85d8b35bcf7920255808756e09e10199820b20f7a9021745", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "implementation", "source_mapping": {"start": 3311, "length": 129, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "implementation()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.implementation() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#71-73) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.implementation()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73", "id": "1e19402be86bbf81907d7be9e81602496bcb29a6e18391c4ad54fce313ad0d68", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "function", "name": "_fallback", "source_mapping": {"start": 2257, "length": 110, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [54, 55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_fallback()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) calls Proxy._fallback() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#54-57) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) calls [Proxy._fallback()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L54-L57) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "23a808761850ebd23ead7bcce113260d0f0e3b9a7780e7b11559cae706c28112", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 4418, "length": 164, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#102-104) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeToAndCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104", "id": "362e4f908ecc98c97f2ed4cdbbe35b62b8f8e14133d2cebb48850543a9dccb32", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeTo", "source_mapping": {"start": 3908, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [91, 92, 93], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeTo(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeTo(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#91-93) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeTo(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93", "id": "864dd5d5ee406c709b2790bda0f6d08a55d71c1ff790c09a9ae802994d281dc0", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "changeAdmin", "source_mapping": {"start": 3645, "length": 103, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "changeAdmin(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.changeAdmin(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#82-84) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.changeAdmin(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84", "id": "ae9d46a711b64cd45ecd849e4ed2741e153fcbea54729cb041c7d7a4cc08c5a3", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "admin", "source_mapping": {"start": 2755, "length": 96, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "admin()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.admin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#58-60) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.admin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60", "id": "bc66cb2fcbc6cdc92c9928264c68ae4db112ddd8fb7eeef06a24af593a9141dc", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "5d9f228fbaa66a59166371fb2bfc6970c588266da59d976fcae12b38f5c9c419", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "649f691980f387ed8ec3139e2fcb829437565c153e29d024862568dcb154968d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "6bb3c83266420cfbce64c1742aa62bbc48416ee5809b85dd382f9b78ff439dbf", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "c6dcc1f54f275f270c502aebeebd1b3b0ab1f45fdbe10a661edf8e95139b6a20", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "admin", "source_mapping": {"start": 406, "length": 13, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [12], "starting_column": 32, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 379, "length": 119, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [12], "starting_column": 5, "ending_column": 124}, "type_specific_fields": {"parent": {"type": "contract", "name": "AdminUpgradeabilityProxy", "source_mapping": {"start": 308, "length": 192, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [11, 12, 13, 14], "starting_column": 1, "ending_column": 0}}, "signature": "constructor(address,address,bytes)"}}}}, {"type": "function", "name": "admin", "source_mapping": {"start": 2755, "length": 96, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "admin()"}}], "description": "AdminUpgradeabilityProxy.constructor(address,address,bytes).admin (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol#12) shadows:\n\t- TransparentUpgradeableProxy.admin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#58-60) (function)\n", "markdown": "[AdminUpgradeabilityProxy.constructor(address,address,bytes).admin](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol#L12) shadows:\n\t- [TransparentUpgradeableProxy.admin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60) (function)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol#L12", "id": "7020ac8e99701691352f7bbba8a6ae8dfd90477f8d62a24858dd27ae0c26212b", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}], "description": "Modifier TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) does not always execute _; or revert", "markdown": "Modifier [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) does not always execute _; or revert", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "5530811b8f31a92cde9528b8c17ea217ddffa4a1218c85cf7cd615221ec4c0bd", "check": "incorrect-modifier", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "64024c7588c710863f3579ba3247658c70d1b91f8cd1930b34c1a0e316319204", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "832d1764230a84bbf06281050783cf67aaa8ff6a5062eb65ff28191e4ab0d5aa", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "90ac4e0a4676b7c17ece10d35326d8d3989f6139cfa196e797134578544b421c", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "b96380263af4b706de4ffe3ddcec76a55125acac7dff1694dc9923271161a5e6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "cf0d5c0a4ac1504a53b86f56432bf7965293de630c733cf4a40b5e1d794f8a87", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "d1460c9ffb235bf5e26e2001aaeef8876eae6e906aeee25ba0af0265b8561ab0", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "eb3b12371ec4b1cb68304e0c139eacc0e5ea4bd66fcfb492470cb5e65b1a3a3b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "f84192c219c4b7c22b8cd8c8c3bfcaff857ea69e768d25bd9400661e16383197", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol#2)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol#L2)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "930e63a743d0aee771eff3f1259cd15a7af5ab3b3ccb5a25057875423b251165", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_admin", "source_mapping": {"start": 4643, "length": 93, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "_admin()"}}], "description": "TransparentUpgradeableProxy._admin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#109-111) is never used and should be removed\n", "markdown": "[TransparentUpgradeableProxy._admin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111", "id": "43666b6a0b32a3c2fdfac7caa3388ea05984e7c9e1c3630723a690abfee4b734", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_beacon", "source_mapping": {"start": 1247, "length": 95, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [37, 38, 39], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BeaconProxy", "source_mapping": {"start": 490, "length": 1606, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 1, "ending_column": 0}}, "signature": "_beacon()"}}], "description": "BeaconProxy._beacon() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#37-39) is never used and should be removed\n", "markdown": "[BeaconProxy._beacon()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L37-L39) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L37-L39", "id": "57d1bff31f9b735b937049c24507d2e3b444aae7f91936096036689d33df8d93", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 1961, "length": 133, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BeaconProxy", "source_mapping": {"start": 490, "length": 1606, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address,bytes)"}}], "description": "BeaconProxy._setBeacon(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#58-60) is never used and should be removed\n", "markdown": "[BeaconProxy._setBeacon(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L58-L60) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L58-L60", "id": "e994e64b4cbbd99e495b8098a12234632ff03c05f4fad55bbaf75a2763ff13ae", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3", "id": "1d47a4ca7d33ad6c5ff49c3db0bf5f2d4abe798d7bc725f61d6c41f22869708e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Import.sol#L2", "id": "211955d6ce9b2614a1c3059b641d4b5e9dee8e66263aa1fab827bef054590fc2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "32359c8af75459626a05e02279d256ee0f6df410f423b8fbd82e611cd7355c61", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3", "id": "40e4cd9ddb428490bea7d778c14789f15b70db88408829ae465852713878347d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/BeaconProxy.sol#L3", "id": "545b99f16692611cefcf44c307a420ac41c7ce45fa2ce85610140d89d0efdc8a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3", "id": "937cd2a66cf23e2872b432d04706aa433670aa4c8bbd02b17a20f4713521cc92", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "a225600d2ff77b6231df7f6f458c92726de603f360cd376bfedf1f47ed8584d7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L3", "id": "b15ed65e168c8476242a2bc7c35ee47b10bc865f343fd1862ca1ee6cd684b8f1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L3", "id": "c92e0228608a2cc710fccb260c56f63075d1b48df56b97a74579529544a7bec0", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3", "id": "cb65b94ae2af8c840b8e19c7d8a6e6be88908eb004ef1789bf2ac987e119bde6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3", "id": "e87355f9bbbc106a17dffda17928c99b3583745a659feb6ff11b1817aa50c435", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "ea38ee72355d187dbe2555f09be166ce3585dcb943b40d5b6f42425e28f925ad", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3", "id": "f39e2a52ccb38189d73ad7400aca519584991f6d6d25ea0ccc4188bb4def76b1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "252d6167addb5939e477512012a706c7ac338e2f6a11834156d55b1ef2aed3d6", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getProxyAdmin", "source_mapping": {"start": 1154, "length": 419, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyAdmin(TransparentUpgradeableProxy)"}}, {"type": "node", "name": "(success,returndata) = address(proxy).staticcall(0xf851a440)", "source_mapping": {"start": 1408, "length": 82, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [39], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "getProxyAdmin", "source_mapping": {"start": 1154, "length": 419, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyAdmin(TransparentUpgradeableProxy)"}}}}], "description": "Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#36-42):\n\t- (success,returndata) = address(proxy).staticcall(0xf851a440) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#39)\n", "markdown": "Low level call in [ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L36-L42):\n\t- [(success,returndata) = address(proxy).staticcall(0xf851a440)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L36-L42", "id": "85e7ce3d1fea8e19b1c99c34c5f9d7a4eea4712226863f393da65659266990d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "aacb071d2b33434368a2163dc51e268486ae32d38b5536cd1c8864d1b3f18339", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "b695f80ac3e62d3f74c22513d94da0c7968b27814c58da9941ac39925886e759", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "bec4a3a468390552a737d936955e5f4491591837719f1f01a5d8519805accca2", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getProxyImplementation", "source_mapping": {"start": 557, "length": 437, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyImplementation(TransparentUpgradeableProxy)"}}, {"type": "node", "name": "(success,returndata) = address(proxy).staticcall(0x5c60da1b)", "source_mapping": {"start": 829, "length": 82, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "getProxyImplementation", "source_mapping": {"start": 557, "length": 437, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyImplementation(TransparentUpgradeableProxy)"}}}}], "description": "Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#21-27):\n\t- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#24)\n", "markdown": "Low level call in [ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L21-L27):\n\t- [(success,returndata) = address(proxy).staticcall(0x5c60da1b)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L24)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L21-L27", "id": "f2865db63c9c1b5c0487b4fd1a203510caae3a70b589a2604d7350f74c66abf9", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21", "id": "c8bfe9fffe7f1a5dd1109bda6ba70203dda817b01176c9cc8ce688484a131033", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_implementation", "source_mapping": {"start": 505, "length": 31, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [16], "starting_column": 5, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgradeableBeacon", "source_mapping": {"start": 452, "length": 1496, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 1, "ending_column": 0}}}}, {"type": "variable", "name": "implementation_", "source_mapping": {"start": 852, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [27], "starting_column": 17, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 840, "length": 89, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [27, 28, 29], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgradeableBeacon", "source_mapping": {"start": 452, "length": 1496, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 1, "ending_column": 0}}, "signature": "constructor(address)"}}}}], "description": "Variable UpgradeableBeacon._implementation (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#16) is too similar to UpgradeableBeacon.constructor(address).implementation_ (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#27)\n", "markdown": "Variable [UpgradeableBeacon._implementation](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L16) is too similar to [UpgradeableBeacon.constructor(address).implementation_](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L27)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/UpgradeableBeacon.sol#L16", "id": "8e1818a710e574ba82dd02af34f1ad3ce64bf11fcc9850a1b466a6b768dec116", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "implementation", "source_mapping": {"start": 3311, "length": 129, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "implementation()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.implementation() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#71-73) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.implementation()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73", "id": "1e19402be86bbf81907d7be9e81602496bcb29a6e18391c4ad54fce313ad0d68", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "function", "name": "_fallback", "source_mapping": {"start": 2257, "length": 110, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [54, 55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_fallback()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) calls Proxy._fallback() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#54-57) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) calls [Proxy._fallback()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L54-L57) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "23a808761850ebd23ead7bcce113260d0f0e3b9a7780e7b11559cae706c28112", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 4418, "length": 164, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#102-104) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeToAndCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104", "id": "362e4f908ecc98c97f2ed4cdbbe35b62b8f8e14133d2cebb48850543a9dccb32", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeTo", "source_mapping": {"start": 3908, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [91, 92, 93], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeTo(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeTo(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#91-93) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeTo(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93", "id": "864dd5d5ee406c709b2790bda0f6d08a55d71c1ff790c09a9ae802994d281dc0", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "changeAdmin", "source_mapping": {"start": 3645, "length": 103, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "changeAdmin(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.changeAdmin(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#82-84) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.changeAdmin(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84", "id": "ae9d46a711b64cd45ecd849e4ed2741e153fcbea54729cb041c7d7a4cc08c5a3", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "admin", "source_mapping": {"start": 2755, "length": 96, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "admin()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.admin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#58-60) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.admin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60", "id": "bc66cb2fcbc6cdc92c9928264c68ae4db112ddd8fb7eeef06a24af593a9141dc", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "5d9f228fbaa66a59166371fb2bfc6970c588266da59d976fcae12b38f5c9c419", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "649f691980f387ed8ec3139e2fcb829437565c153e29d024862568dcb154968d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "6bb3c83266420cfbce64c1742aa62bbc48416ee5809b85dd382f9b78ff439dbf", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "c6dcc1f54f275f270c502aebeebd1b3b0ab1f45fdbe10a661edf8e95139b6a20", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}], "description": "Modifier TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) does not always execute _; or revert", "markdown": "Modifier [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) does not always execute _; or revert", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "5530811b8f31a92cde9528b8c17ea217ddffa4a1218c85cf7cd615221ec4c0bd", "check": "incorrect-modifier", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "64024c7588c710863f3579ba3247658c70d1b91f8cd1930b34c1a0e316319204", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "832d1764230a84bbf06281050783cf67aaa8ff6a5062eb65ff28191e4ab0d5aa", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "90ac4e0a4676b7c17ece10d35326d8d3989f6139cfa196e797134578544b421c", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "b96380263af4b706de4ffe3ddcec76a55125acac7dff1694dc9923271161a5e6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "cf0d5c0a4ac1504a53b86f56432bf7965293de630c733cf4a40b5e1d794f8a87", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "d1460c9ffb235bf5e26e2001aaeef8876eae6e906aeee25ba0af0265b8561ab0", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "eb3b12371ec4b1cb68304e0c139eacc0e5ea4bd66fcfb492470cb5e65b1a3a3b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "f84192c219c4b7c22b8cd8c8c3bfcaff857ea69e768d25bd9400661e16383197", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "d94b4781dc1b4e7b3b03ee3775663230c5dbfcf4491ae19df759fe437261a588", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "37ef62788b6e990346dcf8112c812c8a185d766ecf77442f0ea573d494ecefe6", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_admin", "source_mapping": {"start": 4643, "length": 93, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "_admin()"}}], "description": "TransparentUpgradeableProxy._admin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#109-111) is never used and should be removed\n", "markdown": "[TransparentUpgradeableProxy._admin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111", "id": "43666b6a0b32a3c2fdfac7caa3388ea05984e7c9e1c3630723a690abfee4b734", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 6335, "length": 405, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address)"}}], "description": "ERC1967Upgrade._setBeacon(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#178-188) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setBeacon(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188", "id": "b93c4ebe65ac9affe3e364b2d87acfcd8874bde817ae86611558513858a05873", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBeacon", "source_mapping": {"start": 6129, "length": 124, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getBeacon()"}}], "description": "ERC1967Upgrade._getBeacon() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#171-173) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getBeacon()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173", "id": "e2d0610716408007f9030d45556c35b67a0ed89ff6b07d3252dc13721b493ee7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3", "id": "1d47a4ca7d33ad6c5ff49c3db0bf5f2d4abe798d7bc725f61d6c41f22869708e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "32359c8af75459626a05e02279d256ee0f6df410f423b8fbd82e611cd7355c61", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3", "id": "40e4cd9ddb428490bea7d778c14789f15b70db88408829ae465852713878347d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3", "id": "937cd2a66cf23e2872b432d04706aa433670aa4c8bbd02b17a20f4713521cc92", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "a225600d2ff77b6231df7f6f458c92726de603f360cd376bfedf1f47ed8584d7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L3", "id": "c92e0228608a2cc710fccb260c56f63075d1b48df56b97a74579529544a7bec0", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3", "id": "cb65b94ae2af8c840b8e19c7d8a6e6be88908eb004ef1789bf2ac987e119bde6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3", "id": "e87355f9bbbc106a17dffda17928c99b3583745a659feb6ff11b1817aa50c435", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "ea38ee72355d187dbe2555f09be166ce3585dcb943b40d5b6f42425e28f925ad", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3", "id": "f39e2a52ccb38189d73ad7400aca519584991f6d6d25ea0ccc4188bb4def76b1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "252d6167addb5939e477512012a706c7ac338e2f6a11834156d55b1ef2aed3d6", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getProxyAdmin", "source_mapping": {"start": 1154, "length": 419, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyAdmin(TransparentUpgradeableProxy)"}}, {"type": "node", "name": "(success,returndata) = address(proxy).staticcall(0xf851a440)", "source_mapping": {"start": 1408, "length": 82, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [39], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "getProxyAdmin", "source_mapping": {"start": 1154, "length": 419, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyAdmin(TransparentUpgradeableProxy)"}}}}], "description": "Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#36-42):\n\t- (success,returndata) = address(proxy).staticcall(0xf851a440) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#39)\n", "markdown": "Low level call in [ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L36-L42):\n\t- [(success,returndata) = address(proxy).staticcall(0xf851a440)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L36-L42", "id": "85e7ce3d1fea8e19b1c99c34c5f9d7a4eea4712226863f393da65659266990d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "aacb071d2b33434368a2163dc51e268486ae32d38b5536cd1c8864d1b3f18339", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "b695f80ac3e62d3f74c22513d94da0c7968b27814c58da9941ac39925886e759", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "bec4a3a468390552a737d936955e5f4491591837719f1f01a5d8519805accca2", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getProxyImplementation", "source_mapping": {"start": 557, "length": 437, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyImplementation(TransparentUpgradeableProxy)"}}, {"type": "node", "name": "(success,returndata) = address(proxy).staticcall(0x5c60da1b)", "source_mapping": {"start": 829, "length": 82, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "getProxyImplementation", "source_mapping": {"start": 557, "length": 437, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyImplementation(TransparentUpgradeableProxy)"}}}}], "description": "Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#21-27):\n\t- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#24)\n", "markdown": "Low level call in [ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L21-L27):\n\t- [(success,returndata) = address(proxy).staticcall(0x5c60da1b)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L24)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ProxyAdmin.sol#L21-L27", "id": "f2865db63c9c1b5c0487b4fd1a203510caae3a70b589a2604d7350f74c66abf9", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, {"type": "contract", "name": "IBeacon", "source_mapping": {"start": 138, "length": 251, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16], "starting_column": 1, "ending_column": 0}}], "description": "TransparentUpgradeableProxy (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#28-121) should inherit from IBeacon (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#8-16)\n", "markdown": "[TransparentUpgradeableProxy](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L28-L121) should inherit from [IBeacon](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L8-L16)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L28-L121", "id": "3168c0c9454e01dd85d8b35bcf7920255808756e09e10199820b20f7a9021745", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21", "id": "c8bfe9fffe7f1a5dd1109bda6ba70203dda817b01176c9cc8ce688484a131033", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Ownable.sol#L3", "id": "e87355f9bbbc106a17dffda17928c99b3583745a659feb6ff11b1817aa50c435", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L3", "id": "f39e2a52ccb38189d73ad7400aca519584991f6d6d25ea0ccc4188bb4def76b1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Context.sol#L21", "id": "c8bfe9fffe7f1a5dd1109bda6ba70203dda817b01176c9cc8ce688484a131033", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, {"type": "function", "name": "fallback", "source_mapping": {"start": 2564, "length": 65, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "fallback()"}}, {"type": "function", "name": "receive", "source_mapping": {"start": 2789, "length": 64, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "receive()"}}], "description": "Contract locking ether found:\n\tContract Proxy (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#15-84) has payable functions:\n\t - Proxy.fallback() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#63-65)\n\t - Proxy.receive() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#71-73)\n\tBut does not have a function to withdraw the ether\n", "markdown": "Contract locking ether found:\n\tContract [Proxy](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L15-L84) has payable functions:\n\t - [Proxy.fallback()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L63-L65)\n\t - [Proxy.receive()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L71-L73)\n\tBut does not have a function to withdraw the ether\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L15-L84", "id": "675fd4a57e6a3afc75bd83aa069cf96f49a24f6417c57ebfd6cc2e265e31743a", "check": "locked-ether", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "f84192c219c4b7c22b8cd8c8c3bfcaff857ea69e768d25bd9400661e16383197", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3", "id": "cb65b94ae2af8c840b8e19c7d8a6e6be88908eb004ef1789bf2ac987e119bde6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, {"type": "function", "name": "_implementation", "source_mapping": {"start": 1961, "length": 67, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [47], "starting_column": 5, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_implementation()"}}], "description": "Proxy (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#15-84) does not implement functions:\n\t- Proxy._implementation() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#47)\n", "markdown": "[Proxy](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L15-L84) does not implement functions:\n\t- [Proxy._implementation()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L47)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L15-L84", "id": "fbbcb3e369098a0633ae3719c26ff61093b527cf597702e58d8943c10c3e08be", "check": "unimplemented-functions", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3", "id": "937cd2a66cf23e2872b432d04706aa433670aa4c8bbd02b17a20f4713521cc92", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "5d9f228fbaa66a59166371fb2bfc6970c588266da59d976fcae12b38f5c9c419", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "649f691980f387ed8ec3139e2fcb829437565c153e29d024862568dcb154968d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "6bb3c83266420cfbce64c1742aa62bbc48416ee5809b85dd382f9b78ff439dbf", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "c6dcc1f54f275f270c502aebeebd1b3b0ab1f45fdbe10a661edf8e95139b6a20", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "64024c7588c710863f3579ba3247658c70d1b91f8cd1930b34c1a0e316319204", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "832d1764230a84bbf06281050783cf67aaa8ff6a5062eb65ff28191e4ab0d5aa", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "90ac4e0a4676b7c17ece10d35326d8d3989f6139cfa196e797134578544b421c", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "b96380263af4b706de4ffe3ddcec76a55125acac7dff1694dc9923271161a5e6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "cf0d5c0a4ac1504a53b86f56432bf7965293de630c733cf4a40b5e1d794f8a87", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "d1460c9ffb235bf5e26e2001aaeef8876eae6e906aeee25ba0af0265b8561ab0", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "eb3b12371ec4b1cb68304e0c139eacc0e5ea4bd66fcfb492470cb5e65b1a3a3b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "de8a19ae441e5e4d028c76fe3d931c7ea0d2dce43b206b5d31c17150ae71526e", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_changeAdmin", "source_mapping": {"start": 5465, "length": 135, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [152, 153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_changeAdmin(address)"}}], "description": "ERC1967Upgrade._changeAdmin(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#152-155) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._changeAdmin(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155", "id": "2343d58011f84895447f9ca86cec2bef29c81cf87a5f5e3362937fffd4819bc7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "37ef62788b6e990346dcf8112c812c8a185d766ecf77442f0ea573d494ecefe6", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}], "description": "Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "37fdcf04d10bee1b4f21f62f3b26ddd73f189396822ddcb016a8b29ea4632d76", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getImplementation", "source_mapping": {"start": 1144, "length": 140, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getImplementation()"}}], "description": "ERC1967Upgrade._getImplementation() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#36-38) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getImplementation()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L36-L38) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L36-L38", "id": "42af7964a070b66486e845ca0a0eb93b54c4ab7da39cb09fde0f4beb904e4899", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "511c2724420361fd752a6406217024b18d4fc4c7898bab765aa1a826d7d48e36", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6276, "length": 198, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes)"}}], "description": "Address.functionDelegateCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#153-155) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L153-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L153-L155", "id": "5e22d84e635d6e4a0d2095ca874f1ab71f3604b2725cb200802146fc0efc0bea", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getAdmin", "source_mapping": {"start": 4949, "length": 122, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getAdmin()"}}], "description": "ERC1967Upgrade._getAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#135-137) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137", "id": "86af8e9d6e17b483f7f9cf37daae4b6b7c742d13968147562b8ceb7732596d14", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 6335, "length": 405, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address)"}}], "description": "ERC1967Upgrade._setBeacon(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#178-188) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setBeacon(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188", "id": "b93c4ebe65ac9affe3e364b2d87acfcd8874bde817ae86611558513858a05873", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) is never used and should be removed\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "be3b99d99a9a5bed4c5ec0484b111edbd14b6938ed8f5eb0f6fbf4e1a094e811", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setAdmin", "source_mapping": {"start": 5153, "length": 201, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setAdmin(address)"}}], "description": "ERC1967Upgrade._setAdmin(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#142-145) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setAdmin(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145", "id": "bfc906e9ecf8a10b66af79d7e57c9d8bd261fe2d2a1012991ee115fd3314e8e9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) is never used and should be removed\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "de7443462f44ab8c4d96b5210d641361c6ca8e94ba96c9d8f16c12ec08844a9d", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBeacon", "source_mapping": {"start": 6129, "length": 124, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getBeacon()"}}], "description": "ERC1967Upgrade._getBeacon() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#171-173) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getBeacon()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173", "id": "e2d0610716408007f9030d45556c35b67a0ed89ff6b07d3252dc13721b493ee7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setImplementation", "source_mapping": {"start": 1375, "length": 259, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [43, 44, 45, 46], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setImplementation(address)"}}], "description": "ERC1967Upgrade._setImplementation(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#43-46) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setImplementation(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L43-L46) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L43-L46", "id": "f393706e79544088b849ba1ead121f8b54f16082254bf58fd37b079e71647a1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#51-55) is never used and should be removed\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "f5e44cf0e4eb09304083a7e6b2fcd047509871bff85f352e139a5b93c87275cf", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "32359c8af75459626a05e02279d256ee0f6df410f423b8fbd82e611cd7355c61", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3", "id": "937cd2a66cf23e2872b432d04706aa433670aa4c8bbd02b17a20f4713521cc92", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "a225600d2ff77b6231df7f6f458c92726de603f360cd376bfedf1f47ed8584d7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "ea38ee72355d187dbe2555f09be166ce3585dcb943b40d5b6f42425e28f925ad", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "252d6167addb5939e477512012a706c7ac338e2f6a11834156d55b1ef2aed3d6", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "aacb071d2b33434368a2163dc51e268486ae32d38b5536cd1c8864d1b3f18339", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "b695f80ac3e62d3f74c22513d94da0c7968b27814c58da9941ac39925886e759", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "bec4a3a468390552a737d936955e5f4491591837719f1f01a5d8519805accca2", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "5d9f228fbaa66a59166371fb2bfc6970c588266da59d976fcae12b38f5c9c419", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "649f691980f387ed8ec3139e2fcb829437565c153e29d024862568dcb154968d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "6bb3c83266420cfbce64c1742aa62bbc48416ee5809b85dd382f9b78ff439dbf", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "c6dcc1f54f275f270c502aebeebd1b3b0ab1f45fdbe10a661edf8e95139b6a20", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "64024c7588c710863f3579ba3247658c70d1b91f8cd1930b34c1a0e316319204", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "832d1764230a84bbf06281050783cf67aaa8ff6a5062eb65ff28191e4ab0d5aa", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "90ac4e0a4676b7c17ece10d35326d8d3989f6139cfa196e797134578544b421c", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L26-L35", "id": "b96380263af4b706de4ffe3ddcec76a55125acac7dff1694dc9923271161a5e6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "cf0d5c0a4ac1504a53b86f56432bf7965293de630c733cf4a40b5e1d794f8a87", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L171-L188", "id": "d1460c9ffb235bf5e26e2001aaeef8876eae6e906aeee25ba0af0265b8561ab0", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "eb3b12371ec4b1cb68304e0c139eacc0e5ea4bd66fcfb492470cb5e65b1a3a3b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "f84192c219c4b7c22b8cd8c8c3bfcaff857ea69e768d25bd9400661e16383197", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "08a0b1c9bdfb34982d48d2f96bdc3bac59c4153d169ee59de4d270b5d6cc92d9", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_changeAdmin", "source_mapping": {"start": 5465, "length": 135, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [152, 153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_changeAdmin(address)"}}], "description": "ERC1967Upgrade._changeAdmin(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#152-155) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._changeAdmin(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155", "id": "2343d58011f84895447f9ca86cec2bef29c81cf87a5f5e3362937fffd4819bc7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "37ef62788b6e990346dcf8112c812c8a185d766ecf77442f0ea573d494ecefe6", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getAdmin", "source_mapping": {"start": 4949, "length": 122, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getAdmin()"}}], "description": "ERC1967Upgrade._getAdmin() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#135-137) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getAdmin()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137", "id": "86af8e9d6e17b483f7f9cf37daae4b6b7c742d13968147562b8ceb7732596d14", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 6335, "length": 405, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address)"}}], "description": "ERC1967Upgrade._setBeacon(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#178-188) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setBeacon(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188", "id": "b93c4ebe65ac9affe3e364b2d87acfcd8874bde817ae86611558513858a05873", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setAdmin", "source_mapping": {"start": 5153, "length": 201, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setAdmin(address)"}}], "description": "ERC1967Upgrade._setAdmin(address) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#142-145) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setAdmin(address)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145", "id": "bfc906e9ecf8a10b66af79d7e57c9d8bd261fe2d2a1012991ee115fd3314e8e9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBeacon", "source_mapping": {"start": 6129, "length": 124, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getBeacon()"}}], "description": "ERC1967Upgrade._getBeacon() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#171-173) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getBeacon()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173", "id": "e2d0610716408007f9030d45556c35b67a0ed89ff6b07d3252dc13721b493ee7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Proxy.sol#L3", "id": "1d47a4ca7d33ad6c5ff49c3db0bf5f2d4abe798d7bc725f61d6c41f22869708e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "32359c8af75459626a05e02279d256ee0f6df410f423b8fbd82e611cd7355c61", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/IBeacon.sol#L3", "id": "937cd2a66cf23e2872b432d04706aa433670aa4c8bbd02b17a20f4713521cc92", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L3", "id": "a225600d2ff77b6231df7f6f458c92726de603f360cd376bfedf1f47ed8584d7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Proxy.sol#L3", "id": "cb65b94ae2af8c840b8e19c7d8a6e6be88908eb004ef1789bf2ac987e119bde6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "ea38ee72355d187dbe2555f09be166ce3585dcb943b40d5b6f42425e28f925ad", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L114-L121", "id": "252d6167addb5939e477512012a706c7ac338e2f6a11834156d55b1ef2aed3d6", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L139-L145", "id": "aacb071d2b33434368a2163dc51e268486ae32d38b5536cd1c8864d1b3f18339", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L53-L59", "id": "b695f80ac3e62d3f74c22513d94da0c7968b27814c58da9941ac39925886e759", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/9b35fdb0-c179-45ab-bdf3-7e55d7cb66d7/transparentupgradeableproxy/Address.sol#L163-L169", "id": "bec4a3a468390552a737d936955e5f4491591837719f1f01a5d8519805accca2", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}]}} +{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "1e23ba5a9ecbbc7bfa10478b18cde63dcc64240cae5602c037a7494a3300a0d6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "5d72feb6943075b906e691dbd3fb9204bbf332f6e1fa5b91029b0e99e1b05a5b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}], "description": "Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "37fdcf04d10bee1b4f21f62f3b26ddd73f189396822ddcb016a8b29ea4632d76", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6276, "length": 198, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes)"}}], "description": "Address.functionDelegateCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#153-155) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L153-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L153-L155", "id": "5e22d84e635d6e4a0d2095ca874f1ab71f3604b2725cb200802146fc0efc0bea", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) is never used and should be removed\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "be3b99d99a9a5bed4c5ec0484b111edbd14b6938ed8f5eb0f6fbf4e1a094e811", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) is never used and should be removed\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "de7443462f44ab8c4d96b5210d641361c6ca8e94ba96c9d8f16c12ec08844a9d", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "bed668a24884781c7621d2dd0e98ba5438143cd14d4b58ebcd9df14fd7801e74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "1a3d1e018a6419fb449311449de37cda17d9bce90ec55a7a0061b064a86cea8c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "59e5dbf8bcbaad7b31d082ba6a28468b58f3a4881a2d9d9305f531ebb27413d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "7b03aafb44446b5f7133f5d793cc6c4d75ea0a7f3ea323a4af94eca1ea27ca29", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "ddf1cbd273bb112b0b6923f5b1201760075f176816c01a9cb2e53f9180ca8ee5", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "7264692574ac2f1371604033e3b2157d1ba5586a87fb908ae2f9ae43fd7a967c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "b9272c72691203debb7de30536972523a3d12bfd75a6f907ecc7630b1e962388", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "bfa07811111a2c047cf26292347f940a35b619d27701dcaa34343e3d892a8166", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "cef269d6c7860a26c2e3db5b0d1b0321ac3530086eb8d182f3982082f3ed5682", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "653837108c34dcf667087849f76ff1e499a9f9de6a73b5d1c0567acfe620441c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "19d67efa0abbb6d0520e9e6ce481cea90b4e2de85ac0e1293065e6c64e05b07d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "1e23ba5a9ecbbc7bfa10478b18cde63dcc64240cae5602c037a7494a3300a0d6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "4c5722ef41ae49fc056e57f08970398bcf9340e90027597daa567bc52caefdb9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "587b564f048266dbb351b5a070ebde3a94f083e3b0ba4e0ca659a163f0b4b1c4", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "590b6af4b9829bd5967183e284eabc24b457ff0b3e15765558cdefb02fca29e9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "5d72feb6943075b906e691dbd3fb9204bbf332f6e1fa5b91029b0e99e1b05a5b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "afa7fc8e85648597067def78ce87503236b2bb78accea49518650151a762407d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "adc94cac508d2c7f32d1f7c9f351666e73fa4eaf31b4a369e8f5e7514613d175", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_changeAdmin", "source_mapping": {"start": 5465, "length": 135, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [152, 153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_changeAdmin(address)"}}], "description": "ERC1967Upgrade._changeAdmin(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#152-155) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._changeAdmin(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155", "id": "2343d58011f84895447f9ca86cec2bef29c81cf87a5f5e3362937fffd4819bc7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getImplementation", "source_mapping": {"start": 1144, "length": 140, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getImplementation()"}}], "description": "ERC1967Upgrade._getImplementation() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#36-38) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getImplementation()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L36-L38) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L36-L38", "id": "42af7964a070b66486e845ca0a0eb93b54c4ab7da39cb09fde0f4beb904e4899", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "511c2724420361fd752a6406217024b18d4fc4c7898bab765aa1a826d7d48e36", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_beacon", "source_mapping": {"start": 1247, "length": 95, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [37, 38, 39], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BeaconProxy", "source_mapping": {"start": 490, "length": 1606, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 1, "ending_column": 0}}, "signature": "_beacon()"}}], "description": "BeaconProxy._beacon() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#37-39) is never used and should be removed\n", "markdown": "[BeaconProxy._beacon()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L37-L39) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L37-L39", "id": "57d1bff31f9b735b937049c24507d2e3b444aae7f91936096036689d33df8d93", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getAdmin", "source_mapping": {"start": 4949, "length": 122, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getAdmin()"}}], "description": "ERC1967Upgrade._getAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#135-137) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137", "id": "86af8e9d6e17b483f7f9cf37daae4b6b7c742d13968147562b8ceb7732596d14", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setAdmin", "source_mapping": {"start": 5153, "length": 201, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setAdmin(address)"}}], "description": "ERC1967Upgrade._setAdmin(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#142-145) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setAdmin(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145", "id": "bfc906e9ecf8a10b66af79d7e57c9d8bd261fe2d2a1012991ee115fd3314e8e9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 1961, "length": 133, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BeaconProxy", "source_mapping": {"start": 490, "length": 1606, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address,bytes)"}}], "description": "BeaconProxy._setBeacon(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#58-60) is never used and should be removed\n", "markdown": "[BeaconProxy._setBeacon(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L58-L60) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L58-L60", "id": "e994e64b4cbbd99e495b8098a12234632ff03c05f4fad55bbaf75a2763ff13ae", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setImplementation", "source_mapping": {"start": 1375, "length": 259, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [43, 44, 45, 46], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setImplementation(address)"}}], "description": "ERC1967Upgrade._setImplementation(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#43-46) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setImplementation(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L43-L46) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L43-L46", "id": "f393706e79544088b849ba1ead121f8b54f16082254bf58fd37b079e71647a1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3", "id": "577ac27806598d53771e7b89268f971badcf1e936c909f92ced1e183c6239615", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L3", "id": "749a6c7fce046383b93fc4e6b5f6d79034f28cd6eedd3b9f48050b422020bafa", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3", "id": "b799aeb69e39654284a1a4bfe4881de829e0175d626219a814cf9f922969c460", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "bd7e8c4b8563a659e757ada3b530dbda1a6cd2f36de6b3746dbd78c15e6edc14", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "bed668a24884781c7621d2dd0e98ba5438143cd14d4b58ebcd9df14fd7801e74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "caa35f21cd459e45222225707ea6f3d3ebb4db02ed7e660fcbe72f468c8aa944", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "1a3d1e018a6419fb449311449de37cda17d9bce90ec55a7a0061b064a86cea8c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "59e5dbf8bcbaad7b31d082ba6a28468b58f3a4881a2d9d9305f531ebb27413d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "7b03aafb44446b5f7133f5d793cc6c4d75ea0a7f3ea323a4af94eca1ea27ca29", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "ddf1cbd273bb112b0b6923f5b1201760075f176816c01a9cb2e53f9180ca8ee5", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "19d67efa0abbb6d0520e9e6ce481cea90b4e2de85ac0e1293065e6c64e05b07d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "4c5722ef41ae49fc056e57f08970398bcf9340e90027597daa567bc52caefdb9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "590b6af4b9829bd5967183e284eabc24b457ff0b3e15765558cdefb02fca29e9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "afa7fc8e85648597067def78ce87503236b2bb78accea49518650151a762407d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#51-55) is never used and should be removed\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "f5e44cf0e4eb09304083a7e6b2fcd047509871bff85f352e139a5b93c87275cf", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "bd7e8c4b8563a659e757ada3b530dbda1a6cd2f36de6b3746dbd78c15e6edc14", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_msgSender", "source_mapping": {"start": 586, "length": 96, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [16, 17, 18], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgSender()"}}], "description": "Context._msgSender() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#16-18) is never used and should be removed\n", "markdown": "[Context._msgSender()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L16-L18) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L16-L18", "id": "4d9f447851c4702471164e0bb12d0c4194ae09c4a3e6517d76a739bffa4ac07d", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3", "id": "ff5a2612ff456a07a53e7b7d32edac734643be2162a9ffa8f6724e68a61d9e3c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21", "id": "5efe3b8f07024786238455d23398ea29bf9de1d9c8aa93ee4117fc151301d5f0", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "1e23ba5a9ecbbc7bfa10478b18cde63dcc64240cae5602c037a7494a3300a0d6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "5d72feb6943075b906e691dbd3fb9204bbf332f6e1fa5b91029b0e99e1b05a5b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}], "description": "Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "37fdcf04d10bee1b4f21f62f3b26ddd73f189396822ddcb016a8b29ea4632d76", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6276, "length": 198, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes)"}}], "description": "Address.functionDelegateCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#153-155) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L153-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L153-L155", "id": "5e22d84e635d6e4a0d2095ca874f1ab71f3604b2725cb200802146fc0efc0bea", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) is never used and should be removed\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "be3b99d99a9a5bed4c5ec0484b111edbd14b6938ed8f5eb0f6fbf4e1a094e811", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L3", "id": "2f973685560e0d7cfc59898ee06e326d9f7ed65edc01f9c02d1033874f03e0ad", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3", "id": "577ac27806598d53771e7b89268f971badcf1e936c909f92ced1e183c6239615", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3", "id": "7b14e723275b50d235b8e46bb7c93dda63ed1defe37ceec13ed0c03541909121", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "bed668a24884781c7621d2dd0e98ba5438143cd14d4b58ebcd9df14fd7801e74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3", "id": "ff5a2612ff456a07a53e7b7d32edac734643be2162a9ffa8f6724e68a61d9e3c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "1a3d1e018a6419fb449311449de37cda17d9bce90ec55a7a0061b064a86cea8c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "59e5dbf8bcbaad7b31d082ba6a28468b58f3a4881a2d9d9305f531ebb27413d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "7b03aafb44446b5f7133f5d793cc6c4d75ea0a7f3ea323a4af94eca1ea27ca29", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "ddf1cbd273bb112b0b6923f5b1201760075f176816c01a9cb2e53f9180ca8ee5", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21", "id": "5efe3b8f07024786238455d23398ea29bf9de1d9c8aa93ee4117fc151301d5f0", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_implementation", "source_mapping": {"start": 505, "length": 31, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [16], "starting_column": 5, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgradeableBeacon", "source_mapping": {"start": 452, "length": 1496, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 1, "ending_column": 0}}}}, {"type": "variable", "name": "implementation_", "source_mapping": {"start": 852, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [27], "starting_column": 17, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 840, "length": 89, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [27, 28, 29], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgradeableBeacon", "source_mapping": {"start": 452, "length": 1496, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 1, "ending_column": 0}}, "signature": "constructor(address)"}}}}], "description": "Variable UpgradeableBeacon._implementation (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#16) is too similar to UpgradeableBeacon.constructor(address).implementation_ (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#27)\n", "markdown": "Variable [UpgradeableBeacon._implementation](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L16) is too similar to [UpgradeableBeacon.constructor(address).implementation_](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L27)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L16", "id": "8e1818a710e574ba82dd02af34f1ad3ce64bf11fcc9850a1b466a6b768dec116", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "changeAdmin", "source_mapping": {"start": 3645, "length": 103, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "changeAdmin(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.changeAdmin(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#82-84) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.changeAdmin(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84", "id": "1d6308ca38849aa092fef2efe0fe737303f4f63d0d4c036e88e6bdd0572732cf", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "function", "name": "_fallback", "source_mapping": {"start": 2257, "length": 110, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [54, 55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_fallback()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) calls Proxy._fallback() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#54-57) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) calls [Proxy._fallback()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L54-L57) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "535a9459bf44ad1fbc61218e6f2ac549f44445abdb135b82dd0f2c4e73315d87", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 4418, "length": 164, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#102-104) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeToAndCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104", "id": "6e744c943632ca4c17b7533428513d64f8db1298b74ce535ed7835f05e930db7", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "admin", "source_mapping": {"start": 2755, "length": 96, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "admin()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.admin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#58-60) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.admin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60", "id": "71a9f8fa48b855cc9c3d913217b7bd2feba65993d28e879843c4290b840fe727", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "implementation", "source_mapping": {"start": 3311, "length": 129, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "implementation()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.implementation() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#71-73) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.implementation()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73", "id": "c67ba11c30834f3774dad8b3f4ec5dbcffaa6e055de5e4139ced1d66ccd9e587", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeTo", "source_mapping": {"start": 3908, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [91, 92, 93], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeTo(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeTo(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#91-93) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeTo(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93", "id": "d20d92572520b533104b09153f3c2a7c9d19d49f4219620309f8c8d78790bd71", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "7264692574ac2f1371604033e3b2157d1ba5586a87fb908ae2f9ae43fd7a967c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "b9272c72691203debb7de30536972523a3d12bfd75a6f907ecc7630b1e962388", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "bfa07811111a2c047cf26292347f940a35b619d27701dcaa34343e3d892a8166", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "cef269d6c7860a26c2e3db5b0d1b0321ac3530086eb8d182f3982082f3ed5682", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}], "description": "Modifier TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) does not always execute _; or revert", "markdown": "Modifier [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) does not always execute _; or revert", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "5530811b8f31a92cde9528b8c17ea217ddffa4a1218c85cf7cd615221ec4c0bd", "check": "incorrect-modifier", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "653837108c34dcf667087849f76ff1e499a9f9de6a73b5d1c0567acfe620441c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "19d67efa0abbb6d0520e9e6ce481cea90b4e2de85ac0e1293065e6c64e05b07d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "1e23ba5a9ecbbc7bfa10478b18cde63dcc64240cae5602c037a7494a3300a0d6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "4c5722ef41ae49fc056e57f08970398bcf9340e90027597daa567bc52caefdb9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "587b564f048266dbb351b5a070ebde3a94f083e3b0ba4e0ca659a163f0b4b1c4", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "590b6af4b9829bd5967183e284eabc24b457ff0b3e15765558cdefb02fca29e9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "5d72feb6943075b906e691dbd3fb9204bbf332f6e1fa5b91029b0e99e1b05a5b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "afa7fc8e85648597067def78ce87503236b2bb78accea49518650151a762407d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "e4a62ae5967f0bba44eee886778ac056950a87686affa6995dd6b234f52abadd", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "37ef62788b6e990346dcf8112c812c8a185d766ecf77442f0ea573d494ecefe6", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_admin", "source_mapping": {"start": 4643, "length": 93, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "_admin()"}}], "description": "TransparentUpgradeableProxy._admin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#109-111) is never used and should be removed\n", "markdown": "[TransparentUpgradeableProxy._admin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111", "id": "43666b6a0b32a3c2fdfac7caa3388ea05984e7c9e1c3630723a690abfee4b734", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 6335, "length": 405, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address)"}}], "description": "ERC1967Upgrade._setBeacon(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#178-188) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setBeacon(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188", "id": "b93c4ebe65ac9affe3e364b2d87acfcd8874bde817ae86611558513858a05873", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBeacon", "source_mapping": {"start": 6129, "length": 124, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getBeacon()"}}], "description": "ERC1967Upgrade._getBeacon() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#171-173) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getBeacon()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173", "id": "e2d0610716408007f9030d45556c35b67a0ed89ff6b07d3252dc13721b493ee7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3", "id": "267fb16e20ab5c10ce59f2218523208f8157fdfe2f87bb15194e4515797c7adc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3", "id": "577ac27806598d53771e7b89268f971badcf1e936c909f92ced1e183c6239615", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3", "id": "9663195ced847375570249a03a1dd4d68a6ec94289a7964986a59611fdfd22e7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3", "id": "b799aeb69e39654284a1a4bfe4881de829e0175d626219a814cf9f922969c460", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "bd7e8c4b8563a659e757ada3b530dbda1a6cd2f36de6b3746dbd78c15e6edc14", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "bed668a24884781c7621d2dd0e98ba5438143cd14d4b58ebcd9df14fd7801e74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "caa35f21cd459e45222225707ea6f3d3ebb4db02ed7e660fcbe72f468c8aa944", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "1a3d1e018a6419fb449311449de37cda17d9bce90ec55a7a0061b064a86cea8c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "59e5dbf8bcbaad7b31d082ba6a28468b58f3a4881a2d9d9305f531ebb27413d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "7b03aafb44446b5f7133f5d793cc6c4d75ea0a7f3ea323a4af94eca1ea27ca29", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "ddf1cbd273bb112b0b6923f5b1201760075f176816c01a9cb2e53f9180ca8ee5", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, {"type": "contract", "name": "IBeacon", "source_mapping": {"start": 138, "length": 251, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16], "starting_column": 1, "ending_column": 0}}], "description": "TransparentUpgradeableProxy (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#28-121) should inherit from IBeacon (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#8-16)\n", "markdown": "[TransparentUpgradeableProxy](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L28-L121) should inherit from [IBeacon](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L8-L16)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L28-L121", "id": "3168c0c9454e01dd85d8b35bcf7920255808756e09e10199820b20f7a9021745", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "changeAdmin", "source_mapping": {"start": 3645, "length": 103, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "changeAdmin(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.changeAdmin(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#82-84) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.changeAdmin(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84", "id": "1d6308ca38849aa092fef2efe0fe737303f4f63d0d4c036e88e6bdd0572732cf", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "function", "name": "_fallback", "source_mapping": {"start": 2257, "length": 110, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [54, 55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_fallback()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) calls Proxy._fallback() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#54-57) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) calls [Proxy._fallback()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L54-L57) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "535a9459bf44ad1fbc61218e6f2ac549f44445abdb135b82dd0f2c4e73315d87", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 4418, "length": 164, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#102-104) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeToAndCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104", "id": "6e744c943632ca4c17b7533428513d64f8db1298b74ce535ed7835f05e930db7", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "admin", "source_mapping": {"start": 2755, "length": 96, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "admin()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.admin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#58-60) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.admin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60", "id": "71a9f8fa48b855cc9c3d913217b7bd2feba65993d28e879843c4290b840fe727", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "implementation", "source_mapping": {"start": 3311, "length": 129, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "implementation()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.implementation() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#71-73) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.implementation()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73", "id": "c67ba11c30834f3774dad8b3f4ec5dbcffaa6e055de5e4139ced1d66ccd9e587", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeTo", "source_mapping": {"start": 3908, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [91, 92, 93], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeTo(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeTo(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#91-93) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeTo(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93", "id": "d20d92572520b533104b09153f3c2a7c9d19d49f4219620309f8c8d78790bd71", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "7264692574ac2f1371604033e3b2157d1ba5586a87fb908ae2f9ae43fd7a967c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "b9272c72691203debb7de30536972523a3d12bfd75a6f907ecc7630b1e962388", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "bfa07811111a2c047cf26292347f940a35b619d27701dcaa34343e3d892a8166", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "cef269d6c7860a26c2e3db5b0d1b0321ac3530086eb8d182f3982082f3ed5682", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "admin", "source_mapping": {"start": 406, "length": 13, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [12], "starting_column": 32, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 379, "length": 119, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [12], "starting_column": 5, "ending_column": 124}, "type_specific_fields": {"parent": {"type": "contract", "name": "AdminUpgradeabilityProxy", "source_mapping": {"start": 308, "length": 192, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [11, 12, 13, 14], "starting_column": 1, "ending_column": 0}}, "signature": "constructor(address,address,bytes)"}}}}, {"type": "function", "name": "admin", "source_mapping": {"start": 2755, "length": 96, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "admin()"}}], "description": "AdminUpgradeabilityProxy.constructor(address,address,bytes).admin (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol#12) shadows:\n\t- TransparentUpgradeableProxy.admin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#58-60) (function)\n", "markdown": "[AdminUpgradeabilityProxy.constructor(address,address,bytes).admin](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol#L12) shadows:\n\t- [TransparentUpgradeableProxy.admin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60) (function)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol#L12", "id": "7020ac8e99701691352f7bbba8a6ae8dfd90477f8d62a24858dd27ae0c26212b", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}], "description": "Modifier TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) does not always execute _; or revert", "markdown": "Modifier [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) does not always execute _; or revert", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "5530811b8f31a92cde9528b8c17ea217ddffa4a1218c85cf7cd615221ec4c0bd", "check": "incorrect-modifier", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "653837108c34dcf667087849f76ff1e499a9f9de6a73b5d1c0567acfe620441c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "19d67efa0abbb6d0520e9e6ce481cea90b4e2de85ac0e1293065e6c64e05b07d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "1e23ba5a9ecbbc7bfa10478b18cde63dcc64240cae5602c037a7494a3300a0d6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "4c5722ef41ae49fc056e57f08970398bcf9340e90027597daa567bc52caefdb9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "587b564f048266dbb351b5a070ebde3a94f083e3b0ba4e0ca659a163f0b4b1c4", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "590b6af4b9829bd5967183e284eabc24b457ff0b3e15765558cdefb02fca29e9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "5d72feb6943075b906e691dbd3fb9204bbf332f6e1fa5b91029b0e99e1b05a5b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "afa7fc8e85648597067def78ce87503236b2bb78accea49518650151a762407d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol#2)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol#L2)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "8835c095f07fe1bc25e54ff5388773b6049b03b5c68c19d79641ab06f0143d9c", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_admin", "source_mapping": {"start": 4643, "length": 93, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "_admin()"}}], "description": "TransparentUpgradeableProxy._admin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#109-111) is never used and should be removed\n", "markdown": "[TransparentUpgradeableProxy._admin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111", "id": "43666b6a0b32a3c2fdfac7caa3388ea05984e7c9e1c3630723a690abfee4b734", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_beacon", "source_mapping": {"start": 1247, "length": 95, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [37, 38, 39], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BeaconProxy", "source_mapping": {"start": 490, "length": 1606, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 1, "ending_column": 0}}, "signature": "_beacon()"}}], "description": "BeaconProxy._beacon() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#37-39) is never used and should be removed\n", "markdown": "[BeaconProxy._beacon()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L37-L39) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L37-L39", "id": "57d1bff31f9b735b937049c24507d2e3b444aae7f91936096036689d33df8d93", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 1961, "length": 133, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BeaconProxy", "source_mapping": {"start": 490, "length": 1606, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address,bytes)"}}], "description": "BeaconProxy._setBeacon(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#58-60) is never used and should be removed\n", "markdown": "[BeaconProxy._setBeacon(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L58-L60) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L58-L60", "id": "e994e64b4cbbd99e495b8098a12234632ff03c05f4fad55bbaf75a2763ff13ae", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3", "id": "267fb16e20ab5c10ce59f2218523208f8157fdfe2f87bb15194e4515797c7adc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L3", "id": "2df70ecafaf3920df7b6cf4f03e29b4e0778b4b7151105cc1e5ec962929436dc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L3", "id": "2f973685560e0d7cfc59898ee06e326d9f7ed65edc01f9c02d1033874f03e0ad", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3", "id": "577ac27806598d53771e7b89268f971badcf1e936c909f92ced1e183c6239615", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/BeaconProxy.sol#L3", "id": "749a6c7fce046383b93fc4e6b5f6d79034f28cd6eedd3b9f48050b422020bafa", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3", "id": "7b14e723275b50d235b8e46bb7c93dda63ed1defe37ceec13ed0c03541909121", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3", "id": "9663195ced847375570249a03a1dd4d68a6ec94289a7964986a59611fdfd22e7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Import.sol#L2", "id": "a6b1d2dc0b9b23e782cb455f37b354cf40abbf47f4f02b44abd6c360f1e028b1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3", "id": "b799aeb69e39654284a1a4bfe4881de829e0175d626219a814cf9f922969c460", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "bd7e8c4b8563a659e757ada3b530dbda1a6cd2f36de6b3746dbd78c15e6edc14", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "bed668a24884781c7621d2dd0e98ba5438143cd14d4b58ebcd9df14fd7801e74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "caa35f21cd459e45222225707ea6f3d3ebb4db02ed7e660fcbe72f468c8aa944", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3", "id": "ff5a2612ff456a07a53e7b7d32edac734643be2162a9ffa8f6724e68a61d9e3c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "1a3d1e018a6419fb449311449de37cda17d9bce90ec55a7a0061b064a86cea8c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getProxyAdmin", "source_mapping": {"start": 1154, "length": 419, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyAdmin(TransparentUpgradeableProxy)"}}, {"type": "node", "name": "(success,returndata) = address(proxy).staticcall(0xf851a440)", "source_mapping": {"start": 1408, "length": 82, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [39], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "getProxyAdmin", "source_mapping": {"start": 1154, "length": 419, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyAdmin(TransparentUpgradeableProxy)"}}}}], "description": "Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#36-42):\n\t- (success,returndata) = address(proxy).staticcall(0xf851a440) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#39)\n", "markdown": "Low level call in [ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L36-L42):\n\t- [(success,returndata) = address(proxy).staticcall(0xf851a440)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L36-L42", "id": "1ec40cd039e4d11c9d8c36571f7ca91adc41a20a5d6e64afb6e519daac1f13bf", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getProxyImplementation", "source_mapping": {"start": 557, "length": 437, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyImplementation(TransparentUpgradeableProxy)"}}, {"type": "node", "name": "(success,returndata) = address(proxy).staticcall(0x5c60da1b)", "source_mapping": {"start": 829, "length": 82, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "getProxyImplementation", "source_mapping": {"start": 557, "length": 437, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyImplementation(TransparentUpgradeableProxy)"}}}}], "description": "Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#21-27):\n\t- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#24)\n", "markdown": "Low level call in [ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L21-L27):\n\t- [(success,returndata) = address(proxy).staticcall(0x5c60da1b)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L24)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L21-L27", "id": "1edfd89b1909176acc6f78fa5718216bc673e85a58b85f4f05c828528fc29a06", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "59e5dbf8bcbaad7b31d082ba6a28468b58f3a4881a2d9d9305f531ebb27413d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "7b03aafb44446b5f7133f5d793cc6c4d75ea0a7f3ea323a4af94eca1ea27ca29", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "ddf1cbd273bb112b0b6923f5b1201760075f176816c01a9cb2e53f9180ca8ee5", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21", "id": "5efe3b8f07024786238455d23398ea29bf9de1d9c8aa93ee4117fc151301d5f0", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_implementation", "source_mapping": {"start": 505, "length": 31, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [16], "starting_column": 5, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgradeableBeacon", "source_mapping": {"start": 452, "length": 1496, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 1, "ending_column": 0}}}}, {"type": "variable", "name": "implementation_", "source_mapping": {"start": 852, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [27], "starting_column": 17, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 840, "length": 89, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [27, 28, 29], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgradeableBeacon", "source_mapping": {"start": 452, "length": 1496, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 1, "ending_column": 0}}, "signature": "constructor(address)"}}}}], "description": "Variable UpgradeableBeacon._implementation (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#16) is too similar to UpgradeableBeacon.constructor(address).implementation_ (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#27)\n", "markdown": "Variable [UpgradeableBeacon._implementation](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L16) is too similar to [UpgradeableBeacon.constructor(address).implementation_](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L27)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/UpgradeableBeacon.sol#L16", "id": "8e1818a710e574ba82dd02af34f1ad3ce64bf11fcc9850a1b466a6b768dec116", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "changeAdmin", "source_mapping": {"start": 3645, "length": 103, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [82, 83, 84], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "changeAdmin(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.changeAdmin(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#82-84) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.changeAdmin(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L82-L84", "id": "1d6308ca38849aa092fef2efe0fe737303f4f63d0d4c036e88e6bdd0572732cf", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "function", "name": "_fallback", "source_mapping": {"start": 2257, "length": 110, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [54, 55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_fallback()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) calls Proxy._fallback() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#54-57) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) calls [Proxy._fallback()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L54-L57) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "535a9459bf44ad1fbc61218e6f2ac549f44445abdb135b82dd0f2c4e73315d87", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 4418, "length": 164, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#102-104) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeToAndCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L102-L104", "id": "6e744c943632ca4c17b7533428513d64f8db1298b74ce535ed7835f05e930db7", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "admin", "source_mapping": {"start": 2755, "length": 96, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [58, 59, 60], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "admin()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.admin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#58-60) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.admin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L58-L60", "id": "71a9f8fa48b855cc9c3d913217b7bd2feba65993d28e879843c4290b840fe727", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "implementation", "source_mapping": {"start": 3311, "length": 129, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "implementation()"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.implementation() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#71-73) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.implementation()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L71-L73", "id": "c67ba11c30834f3774dad8b3f4ec5dbcffaa6e055de5e4139ced1d66ccd9e587", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeTo", "source_mapping": {"start": 3908, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [91, 92, 93], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "upgradeTo(address)"}}, {"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0,returndatasize()())", "source_mapping": {"start": 1733, "length": 27, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [39], "starting_column": 23, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "TransparentUpgradeableProxy.upgradeTo(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#91-93) calls TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) which halt the execution return(uint256,uint256)(0,returndatasize()()) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#39)\n", "markdown": "[TransparentUpgradeableProxy.upgradeTo(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93) calls [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) which halt the execution [return(uint256,uint256)(0,returndatasize()())](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L91-L93", "id": "d20d92572520b533104b09153f3c2a7c9d19d49f4219620309f8c8d78790bd71", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "7264692574ac2f1371604033e3b2157d1ba5586a87fb908ae2f9ae43fd7a967c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "b9272c72691203debb7de30536972523a3d12bfd75a6f907ecc7630b1e962388", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "bfa07811111a2c047cf26292347f940a35b619d27701dcaa34343e3d892a8166", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "cef269d6c7860a26c2e3db5b0d1b0321ac3530086eb8d182f3982082f3ed5682", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "ifAdmin", "source_mapping": {"start": 2179, "length": 134, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "ifAdmin()"}}], "description": "Modifier TransparentUpgradeableProxy.ifAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#41-47) does not always execute _; or revert", "markdown": "Modifier [TransparentUpgradeableProxy.ifAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47) does not always execute _; or revert", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L41-L47", "id": "5530811b8f31a92cde9528b8c17ea217ddffa4a1218c85cf7cd615221ec4c0bd", "check": "incorrect-modifier", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "653837108c34dcf667087849f76ff1e499a9f9de6a73b5d1c0567acfe620441c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "19d67efa0abbb6d0520e9e6ce481cea90b4e2de85ac0e1293065e6c64e05b07d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "1e23ba5a9ecbbc7bfa10478b18cde63dcc64240cae5602c037a7494a3300a0d6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "4c5722ef41ae49fc056e57f08970398bcf9340e90027597daa567bc52caefdb9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "587b564f048266dbb351b5a070ebde3a94f083e3b0ba4e0ca659a163f0b4b1c4", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "590b6af4b9829bd5967183e284eabc24b457ff0b3e15765558cdefb02fca29e9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "5d72feb6943075b906e691dbd3fb9204bbf332f6e1fa5b91029b0e99e1b05a5b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "afa7fc8e85648597067def78ce87503236b2bb78accea49518650151a762407d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "7e0f0d38f2702926b91453d87552cd34190916ab13edb385376587e6770b8e29", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "37ef62788b6e990346dcf8112c812c8a185d766ecf77442f0ea573d494ecefe6", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_admin", "source_mapping": {"start": 4643, "length": 93, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [109, 110, 111], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, "signature": "_admin()"}}], "description": "TransparentUpgradeableProxy._admin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#109-111) is never used and should be removed\n", "markdown": "[TransparentUpgradeableProxy._admin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L109-L111", "id": "43666b6a0b32a3c2fdfac7caa3388ea05984e7c9e1c3630723a690abfee4b734", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 6335, "length": 405, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address)"}}], "description": "ERC1967Upgrade._setBeacon(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#178-188) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setBeacon(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188", "id": "b93c4ebe65ac9affe3e364b2d87acfcd8874bde817ae86611558513858a05873", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBeacon", "source_mapping": {"start": 6129, "length": 124, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getBeacon()"}}], "description": "ERC1967Upgrade._getBeacon() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#171-173) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getBeacon()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173", "id": "e2d0610716408007f9030d45556c35b67a0ed89ff6b07d3252dc13721b493ee7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L3", "id": "267fb16e20ab5c10ce59f2218523208f8157fdfe2f87bb15194e4515797c7adc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L3", "id": "2df70ecafaf3920df7b6cf4f03e29b4e0778b4b7151105cc1e5ec962929436dc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3", "id": "577ac27806598d53771e7b89268f971badcf1e936c909f92ced1e183c6239615", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3", "id": "7b14e723275b50d235b8e46bb7c93dda63ed1defe37ceec13ed0c03541909121", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3", "id": "9663195ced847375570249a03a1dd4d68a6ec94289a7964986a59611fdfd22e7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3", "id": "b799aeb69e39654284a1a4bfe4881de829e0175d626219a814cf9f922969c460", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "bd7e8c4b8563a659e757ada3b530dbda1a6cd2f36de6b3746dbd78c15e6edc14", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "bed668a24884781c7621d2dd0e98ba5438143cd14d4b58ebcd9df14fd7801e74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "caa35f21cd459e45222225707ea6f3d3ebb4db02ed7e660fcbe72f468c8aa944", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3", "id": "ff5a2612ff456a07a53e7b7d32edac734643be2162a9ffa8f6724e68a61d9e3c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "1a3d1e018a6419fb449311449de37cda17d9bce90ec55a7a0061b064a86cea8c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getProxyAdmin", "source_mapping": {"start": 1154, "length": 419, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyAdmin(TransparentUpgradeableProxy)"}}, {"type": "node", "name": "(success,returndata) = address(proxy).staticcall(0xf851a440)", "source_mapping": {"start": 1408, "length": 82, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [39], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "getProxyAdmin", "source_mapping": {"start": 1154, "length": 419, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyAdmin(TransparentUpgradeableProxy)"}}}}], "description": "Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#36-42):\n\t- (success,returndata) = address(proxy).staticcall(0xf851a440) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#39)\n", "markdown": "Low level call in [ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L36-L42):\n\t- [(success,returndata) = address(proxy).staticcall(0xf851a440)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L39)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L36-L42", "id": "1ec40cd039e4d11c9d8c36571f7ca91adc41a20a5d6e64afb6e519daac1f13bf", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getProxyImplementation", "source_mapping": {"start": 557, "length": 437, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyImplementation(TransparentUpgradeableProxy)"}}, {"type": "node", "name": "(success,returndata) = address(proxy).staticcall(0x5c60da1b)", "source_mapping": {"start": 829, "length": 82, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "getProxyImplementation", "source_mapping": {"start": 557, "length": 437, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 356, "length": 2375, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 0}}, "signature": "getProxyImplementation(TransparentUpgradeableProxy)"}}}}], "description": "Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#21-27):\n\t- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#24)\n", "markdown": "Low level call in [ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L21-L27):\n\t- [(success,returndata) = address(proxy).staticcall(0x5c60da1b)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L24)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ProxyAdmin.sol#L21-L27", "id": "1edfd89b1909176acc6f78fa5718216bc673e85a58b85f4f05c828528fc29a06", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "59e5dbf8bcbaad7b31d082ba6a28468b58f3a4881a2d9d9305f531ebb27413d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "7b03aafb44446b5f7133f5d793cc6c4d75ea0a7f3ea323a4af94eca1ea27ca29", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "ddf1cbd273bb112b0b6923f5b1201760075f176816c01a9cb2e53f9180ca8ee5", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "TransparentUpgradeableProxy", "source_mapping": {"start": 1540, "length": 3526, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 1, "ending_column": 0}}, {"type": "contract", "name": "IBeacon", "source_mapping": {"start": 138, "length": 251, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16], "starting_column": 1, "ending_column": 0}}], "description": "TransparentUpgradeableProxy (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#28-121) should inherit from IBeacon (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#8-16)\n", "markdown": "[TransparentUpgradeableProxy](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L28-L121) should inherit from [IBeacon](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L8-L16)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/TransparentUpgradeableProxy.sol#L28-L121", "id": "3168c0c9454e01dd85d8b35bcf7920255808756e09e10199820b20f7a9021745", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21", "id": "5efe3b8f07024786238455d23398ea29bf9de1d9c8aa93ee4117fc151301d5f0", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}], "description": "Context._msgData() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#20-23) is never used and should be removed\n", "markdown": "[Context._msgData()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L20-L23", "id": "93bd23634a3bf022810e43138345cf58db61248a704a7d277c8ec3d68c3ad188", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Ownable.sol#L3", "id": "7b14e723275b50d235b8e46bb7c93dda63ed1defe37ceec13ed0c03541909121", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L3", "id": "ff5a2612ff456a07a53e7b7d32edac734643be2162a9ffa8f6724e68a61d9e3c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "node", "name": "this", "source_mapping": {"start": 765, "length": 4, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 13}, "type_specific_fields": {"parent": {"type": "function", "name": "_msgData", "source_mapping": {"start": 688, "length": 232, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [20, 21, 22, 23], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}, "signature": "_msgData()"}}}}, {"type": "contract", "name": "Context", "source_mapping": {"start": 554, "length": 368, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 0}}], "description": "Redundant expression \"this (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#21)\" inContext (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#15-25)\n", "markdown": "Redundant expression \"[this](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21)\" in[Context](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L15-L25)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Context.sol#L21", "id": "5efe3b8f07024786238455d23398ea29bf9de1d9c8aa93ee4117fc151301d5f0", "check": "redundant-statements", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, {"type": "function", "name": "fallback", "source_mapping": {"start": 2564, "length": 65, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "fallback()"}}, {"type": "function", "name": "receive", "source_mapping": {"start": 2789, "length": 64, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "receive()"}}], "description": "Contract locking ether found:\n\tContract Proxy (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#15-84) has payable functions:\n\t - Proxy.fallback() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#63-65)\n\t - Proxy.receive() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#71-73)\n\tBut does not have a function to withdraw the ether\n", "markdown": "Contract locking ether found:\n\tContract [Proxy](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L15-L84) has payable functions:\n\t - [Proxy.fallback()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L63-L65)\n\t - [Proxy.receive()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L71-L73)\n\tBut does not have a function to withdraw the ether\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L15-L84", "id": "675fd4a57e6a3afc75bd83aa069cf96f49a24f6417c57ebfd6cc2e265e31743a", "check": "locked-ether", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "587b564f048266dbb351b5a070ebde3a94f083e3b0ba4e0ca659a163f0b4b1c4", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3", "id": "b799aeb69e39654284a1a4bfe4881de829e0175d626219a814cf9f922969c460", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, {"type": "function", "name": "_implementation", "source_mapping": {"start": 1961, "length": 67, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [47], "starting_column": 5, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_implementation()"}}], "description": "Proxy (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#15-84) does not implement functions:\n\t- Proxy._implementation() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#47)\n", "markdown": "[Proxy](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L15-L84) does not implement functions:\n\t- [Proxy._implementation()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L47)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L15-L84", "id": "fbbcb3e369098a0633ae3719c26ff61093b527cf597702e58d8943c10c3e08be", "check": "unimplemented-functions", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3", "id": "577ac27806598d53771e7b89268f971badcf1e936c909f92ced1e183c6239615", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "7264692574ac2f1371604033e3b2157d1ba5586a87fb908ae2f9ae43fd7a967c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "b9272c72691203debb7de30536972523a3d12bfd75a6f907ecc7630b1e962388", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "bfa07811111a2c047cf26292347f940a35b619d27701dcaa34343e3d892a8166", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "cef269d6c7860a26c2e3db5b0d1b0321ac3530086eb8d182f3982082f3ed5682", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "653837108c34dcf667087849f76ff1e499a9f9de6a73b5d1c0567acfe620441c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "19d67efa0abbb6d0520e9e6ce481cea90b4e2de85ac0e1293065e6c64e05b07d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "1e23ba5a9ecbbc7bfa10478b18cde63dcc64240cae5602c037a7494a3300a0d6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "4c5722ef41ae49fc056e57f08970398bcf9340e90027597daa567bc52caefdb9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "590b6af4b9829bd5967183e284eabc24b457ff0b3e15765558cdefb02fca29e9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "5d72feb6943075b906e691dbd3fb9204bbf332f6e1fa5b91029b0e99e1b05a5b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "afa7fc8e85648597067def78ce87503236b2bb78accea49518650151a762407d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "9d98912cadff3fb7640907c651ab96fcdec1d7d0ce3b44f54283f69129c644b7", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_changeAdmin", "source_mapping": {"start": 5465, "length": 135, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [152, 153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_changeAdmin(address)"}}], "description": "ERC1967Upgrade._changeAdmin(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#152-155) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._changeAdmin(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155", "id": "2343d58011f84895447f9ca86cec2bef29c81cf87a5f5e3362937fffd4819bc7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "37ef62788b6e990346dcf8112c812c8a185d766ecf77442f0ea573d494ecefe6", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}], "description": "Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "37fdcf04d10bee1b4f21f62f3b26ddd73f189396822ddcb016a8b29ea4632d76", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getImplementation", "source_mapping": {"start": 1144, "length": 140, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getImplementation()"}}], "description": "ERC1967Upgrade._getImplementation() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#36-38) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getImplementation()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L36-L38) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L36-L38", "id": "42af7964a070b66486e845ca0a0eb93b54c4ab7da39cb09fde0f4beb904e4899", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "511c2724420361fd752a6406217024b18d4fc4c7898bab765aa1a826d7d48e36", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6276, "length": 198, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes)"}}], "description": "Address.functionDelegateCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#153-155) is never used and should be removed\n", "markdown": "[Address.functionDelegateCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L153-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L153-L155", "id": "5e22d84e635d6e4a0d2095ca874f1ab71f3604b2725cb200802146fc0efc0bea", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getAdmin", "source_mapping": {"start": 4949, "length": 122, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getAdmin()"}}], "description": "ERC1967Upgrade._getAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#135-137) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137", "id": "86af8e9d6e17b483f7f9cf37daae4b6b7c742d13968147562b8ceb7732596d14", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 6335, "length": 405, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address)"}}], "description": "ERC1967Upgrade._setBeacon(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#178-188) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setBeacon(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188", "id": "b93c4ebe65ac9affe3e364b2d87acfcd8874bde817ae86611558513858a05873", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) is never used and should be removed\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "be3b99d99a9a5bed4c5ec0484b111edbd14b6938ed8f5eb0f6fbf4e1a094e811", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setAdmin", "source_mapping": {"start": 5153, "length": 201, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setAdmin(address)"}}], "description": "ERC1967Upgrade._setAdmin(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#142-145) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setAdmin(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145", "id": "bfc906e9ecf8a10b66af79d7e57c9d8bd261fe2d2a1012991ee115fd3314e8e9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) is never used and should be removed\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "de7443462f44ab8c4d96b5210d641361c6ca8e94ba96c9d8f16c12ec08844a9d", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBeacon", "source_mapping": {"start": 6129, "length": 124, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getBeacon()"}}], "description": "ERC1967Upgrade._getBeacon() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#171-173) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getBeacon()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173", "id": "e2d0610716408007f9030d45556c35b67a0ed89ff6b07d3252dc13721b493ee7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setImplementation", "source_mapping": {"start": 1375, "length": 259, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [43, 44, 45, 46], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setImplementation(address)"}}], "description": "ERC1967Upgrade._setImplementation(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#43-46) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setImplementation(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L43-L46) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L43-L46", "id": "f393706e79544088b849ba1ead121f8b54f16082254bf58fd37b079e71647a1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#51-55) is never used and should be removed\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "f5e44cf0e4eb09304083a7e6b2fcd047509871bff85f352e139a5b93c87275cf", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3", "id": "577ac27806598d53771e7b89268f971badcf1e936c909f92ced1e183c6239615", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "bd7e8c4b8563a659e757ada3b530dbda1a6cd2f36de6b3746dbd78c15e6edc14", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "bed668a24884781c7621d2dd0e98ba5438143cd14d4b58ebcd9df14fd7801e74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "caa35f21cd459e45222225707ea6f3d3ebb4db02ed7e660fcbe72f468c8aa944", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "1a3d1e018a6419fb449311449de37cda17d9bce90ec55a7a0061b064a86cea8c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "59e5dbf8bcbaad7b31d082ba6a28468b58f3a4881a2d9d9305f531ebb27413d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "7b03aafb44446b5f7133f5d793cc6c4d75ea0a7f3ea323a4af94eca1ea27ca29", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "ddf1cbd273bb112b0b6923f5b1201760075f176816c01a9cb2e53f9180ca8ee5", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "7264692574ac2f1371604033e3b2157d1ba5586a87fb908ae2f9ae43fd7a967c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)", "source_mapping": {"start": 4355, "length": 71, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [116], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#116)\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) ignores return value by [Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L116)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "b9272c72691203debb7de30536972523a3d12bfd75a6f907ecc7630b1e962388", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2271, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [67], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCall", "source_mapping": {"start": 2026, "length": 315, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCall(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#63-69) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#67)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L67)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L63-L69", "id": "bfa07811111a2c047cf26292347f940a35b619d27701dcaa34343e3d892a8166", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) ignores return value by Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) ignores return value by [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "cef269d6c7860a26c2e3db5b0d1b0321ac3530086eb8d182f3982082f3ed5682", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,data)", "source_mapping": {"start": 2823, "length": 53, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [82], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))", "source_mapping": {"start": 3219, "length": 217, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Upgraded(newImplementation)", "source_mapping": {"start": 3778, "length": 32, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [102], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104):\n\tExternal calls:\n\t- Address.functionDelegateCall(newImplementation,data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#82)\n\t- Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation)) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#90-96)\n\tEvent emitted after the call(s):\n\t- Upgraded(newImplementation) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#102)\n", "markdown": "Reentrancy in [ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104):\n\tExternal calls:\n\t- [Address.functionDelegateCall(newImplementation,data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L82)\n\t- [Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(upgradeTo(address),oldImplementation))](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L90-L96)\n\tEvent emitted after the call(s):\n\t- [Upgraded(newImplementation)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L102)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "653837108c34dcf667087849f76ff1e499a9f9de6a73b5d1c0567acfe620441c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1881, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [61, 62, 63], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#61-63)\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L61-L63)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "19d67efa0abbb6d0520e9e6ce481cea90b4e2de85ac0e1293065e6c64e05b07d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1059, "length": 41, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [33], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "isContract", "source_mapping": {"start": 718, "length": 413, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "isContract(address)"}}}}], "description": "Address.isContract(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#26-35) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#33)\n", "markdown": "[Address.isContract(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L33)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L26-L35", "id": "1e23ba5a9ecbbc7bfa10478b18cde63dcc64240cae5602c037a7494a3300a0d6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2126, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [70, 71, 72], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#70-72)\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L70-L72)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "4c5722ef41ae49fc056e57f08970398bcf9340e90027597daa567bc52caefdb9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1009, "length": 763, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_delegate", "source_mapping": {"start": 883, "length": 895, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 657, "length": 2530, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "starting_column": 1, "ending_column": 0}}, "signature": "_delegate(address)"}}}}], "description": "Proxy._delegate(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#21-41) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#23-40)\n", "markdown": "[Proxy._delegate(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L23-L40)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L21-L41", "id": "587b564f048266dbb351b5a070ebde3a94f083e3b0ba4e0ca659a163f0b4b1c4", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2371, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#79-81)\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L79-L81)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "590b6af4b9829bd5967183e284eabc24b457ff0b3e15765558cdefb02fca29e9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7565, "length": 154, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [180, 181, 182, 183], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_verifyCallResult", "source_mapping": {"start": 7083, "length": 725, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_verifyCallResult(bool,bytes,string)"}}}}], "description": "Address._verifyCallResult(bool,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#171-188) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#180-183)\n", "markdown": "[Address._verifyCallResult(bool,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L180-L183)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L171-L188", "id": "5d72feb6943075b906e691dbd3fb9204bbf332f6e1fa5b91029b0e99e1b05a5b", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}, {"type": "node", "name": "", "source_mapping": {"start": 1636, "length": 47, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [52, 53, 54], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "getAddressSlot", "source_mapping": {"start": 1542, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getAddressSlot(bytes32)"}}}}], "description": "StorageSlot.getAddressSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#51-55) uses assembly\n\t- INLINE ASM (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#52-54)\n", "markdown": "[StorageSlot.getAddressSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55) uses assembly\n\t- [INLINE ASM](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L52-L54)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L51-L55", "id": "afa7fc8e85648597067def78ce87503236b2bb78accea49518650151a762407d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3)\n\t- ^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3)\n\t- ^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.8.0', '^0.8.2']\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3)\n\t- [^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3)\n\t- [^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "ef6bca39a982b8c3dfc8d08d2c6d0b2e196ab7ca61f0af1510a794d16cf4f795", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}], "description": "Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59) is never used and should be removed\n", "markdown": "[Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "12a942d5be420eca31c018a0c7174f38ee974cb96fb40dd119447b534a3e53cc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4128, "length": 224, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#104-106) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L104-L106", "id": "1a011acfb8b1a4ba5c814ed2c6e65fe0e9a06cab5372a052ba509f504eeb55c8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getUint256Slot", "source_mapping": {"start": 2277, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getUint256Slot(bytes32)"}}], "description": "StorageSlot.getUint256Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#78-82) is never used and should be removed\n", "markdown": "[StorageSlot.getUint256Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L78-L82", "id": "1bdc568454fd8edc14e968cab094ab3e634cb5669f43741a9a3a62e56658ec1b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeToAndCallSecure", "source_mapping": {"start": 2513, "length": 1314, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeToAndCallSecure(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#76-104) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeToAndCallSecure(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L76-L104", "id": "21089bd4256e1c29a61fe044b2a56eb2c0bf2dc22e1fc971cb3e0b074cc7a135", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_changeAdmin", "source_mapping": {"start": 5465, "length": 135, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [152, 153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_changeAdmin(address)"}}], "description": "ERC1967Upgrade._changeAdmin(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#152-155) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._changeAdmin(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L152-L155", "id": "2343d58011f84895447f9ca86cec2bef29c81cf87a5f5e3362937fffd4819bc7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeBeaconToAndCall", "source_mapping": {"start": 4130, "length": 313, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeBeaconToAndCall(address,bytes,bool)"}}], "description": "ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#112-118) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L112-L118", "id": "37ef62788b6e990346dcf8112c812c8a185d766ecf77442f0ea573d494ecefe6", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_upgradeTo", "source_mapping": {"start": 1740, "length": 152, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_upgradeTo(address)"}}], "description": "ERC1967Upgrade._upgradeTo(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#53-56) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._upgradeTo(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L53-L56", "id": "7bd55fc54303458c9f1a0684c64fedfd1a10fb0f84d01b271bc79382d837ecfa", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}], "description": "Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121) is never used and should be removed\n", "markdown": "[Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "85a4fe0d48c6c3cdc64f8b7bd4a177d494dd662dc1bdb968533dd0f5c431cab8", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getAdmin", "source_mapping": {"start": 4949, "length": 122, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getAdmin()"}}], "description": "ERC1967Upgrade._getAdmin() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#135-137) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getAdmin()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L135-L137", "id": "86af8e9d6e17b483f7f9cf37daae4b6b7c742d13968147562b8ceb7732596d14", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5300, "length": 197, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes)"}}], "description": "Address.functionStaticCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#129-131) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L129-L131", "id": "965cf19414c2dfcc76c22ba9c520aae5df9f273448285f0a897561950984b0c0", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setBeacon", "source_mapping": {"start": 6335, "length": 405, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setBeacon(address)"}}], "description": "ERC1967Upgrade._setBeacon(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#178-188) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setBeacon(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L178-L188", "id": "b93c4ebe65ac9affe3e364b2d87acfcd8874bde817ae86611558513858a05873", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_setAdmin", "source_mapping": {"start": 5153, "length": 201, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_setAdmin(address)"}}], "description": "ERC1967Upgrade._setAdmin(address) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#142-145) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._setAdmin(address)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L142-L145", "id": "bfc906e9ecf8a10b66af79d7e57c9d8bd261fe2d2a1012991ee115fd3314e8e9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBooleanSlot", "source_mapping": {"start": 1787, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBooleanSlot(bytes32)"}}], "description": "StorageSlot.getBooleanSlot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#60-64) is never used and should be removed\n", "markdown": "[StorageSlot.getBooleanSlot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L60-L64", "id": "cd200c1fd59c89fcb512fe3922acf6d4666d481946351b38843b8c2168977d50", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getBytes32Slot", "source_mapping": {"start": 2032, "length": 147, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "StorageSlot", "source_mapping": {"start": 1207, "length": 1219, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], "starting_column": 1, "ending_column": 2}}, "signature": "getBytes32Slot(bytes32)"}}], "description": "StorageSlot.getBytes32Slot(bytes32) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#69-73) is never used and should be removed\n", "markdown": "[StorageSlot.getBytes32Slot(bytes32)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L69-L73", "id": "d0ca8c5491280579d14b7a76ea86b8937566c4dd91215648427f08f7ec3749eb", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3573, "length": 193, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes,string)"}}], "description": "Address.functionCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#89-91) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L89-L91", "id": "dfc946dd3013bd85836a308eb18ca3e17bf254b4a64ff17db2c544d41d937799", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getBeacon", "source_mapping": {"start": 6129, "length": 124, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [171, 172, 173], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC1967Upgrade", "source_mapping": {"start": 372, "length": 6370, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "_getBeacon()"}}], "description": "ERC1967Upgrade._getBeacon() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#171-173) is never used and should be removed\n", "markdown": "[ERC1967Upgrade._getBeacon()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L171-L173", "id": "e2d0610716408007f9030d45556c35b67a0ed89ff6b07d3252dc13721b493ee7", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}], "description": "Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145) is never used and should be removed\n", "markdown": "[Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "e9c2d2c2c167f9b14318ae4e28c7bf51d183c5de02877f31c7ce8596e3f4132c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "functionCall", "source_mapping": {"start": 3180, "length": 171, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCall(address,bytes)"}}], "description": "Address.functionCall(address,bytes) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#79-81) is never used and should be removed\n", "markdown": "[Address.functionCall(address,bytes)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81) is never used and should be removed\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L79-L81", "id": "fea5c9eedf61ab3f6f82d5652ccc5af6a58b82f13b03fdb9152af39708badca1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/IBeacon.sol#L3", "id": "577ac27806598d53771e7b89268f971badcf1e936c909f92ced1e183c6239615", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Proxy.sol#L3", "id": "9663195ced847375570249a03a1dd4d68a6ec94289a7964986a59611fdfd22e7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Proxy.sol#L3", "id": "b799aeb69e39654284a1a4bfe4881de829e0175d626219a814cf9f922969c460", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/StorageSlot.sol#L3", "id": "bd7e8c4b8563a659e757ada3b530dbda1a6cd2f36de6b3746dbd78c15e6edc14", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L3", "id": "bed668a24884781c7621d2dd0e98ba5438143cd14d4b58ebcd9df14fd7801e74", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 33, "length": 23, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.2](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3) allows old versions\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/ERC1967Upgrade.sol#L3", "id": "caa35f21cd459e45222225707ea6f3d3ebb4db02ed7e660fcbe72f468c8aa944", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.2 is not recommended for deployment\n", "markdown": "solc-0.8.2 is not recommended for deployment\n", "first_markdown_element": "", "id": "d989ba8f728e7c2f755b30684e6f45fec617ae1d2844fc5c1574140f6882826e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 5956, "length": 65, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [143], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 5681, "length": 416, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#139-145):\n\t- (success,returndata) = target.staticcall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#143)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145):\n\t- [(success,returndata) = target.staticcall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L143)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L139-L145", "id": "1a3d1e018a6419fb449311449de37cda17d9bce90ec55a7a0061b064a86cea8c", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 4972, "length": 75, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4600, "length": 523, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#114-121):\n\t- (success,returndata) = target.call{value: value}(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#119)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121):\n\t- [(success,returndata) = target.call{value: value}(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L119)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L114-L121", "id": "59e5dbf8bcbaad7b31d082ba6a28468b58f3a4881a2d9d9305f531ebb27413d8", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2290, "length": 54, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [57], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2048, "length": 391, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#53-59):\n\t- (success) = recipient.call{value: amount}() (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#57)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59):\n\t- [(success) = recipient.call{value: amount}()](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L57)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L53-L59", "id": "7b03aafb44446b5f7133f5d793cc6c4d75ea0a7f3ea323a4af94eca1ea27ca29", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 6934, "length": 67, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6660, "length": 417, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 126, "length": 7684, "filename_relative": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_absolute": "/tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "filename_short": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "starting_column": 1, "ending_column": 0}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#163-169):\n\t- (success,returndata) = target.delegatecall(data) (../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#167)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169):\n\t- [(success,returndata) = target.delegatecall(data)](../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L167)\n", "first_markdown_element": "../../../../../../tmp/c55ae550-cf3d-41e2-abad-7e30e06ab758/transparentupgradeableproxy/Address.sol#L163-L169", "id": "ddf1cbd273bb112b0b6923f5b1201760075f176816c01a9cb2e53f9180ca8ee5", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}]}} diff --git a/data/tests/audits/VulnerableBank.slither.raw.json b/data/tests/audits/VulnerableBank.slither.raw.json index 5d556603..65159dda 100644 --- a/data/tests/audits/VulnerableBank.slither.raw.json +++ b/data/tests/audits/VulnerableBank.slither.raw.json @@ -1 +1 @@ -{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}, {"type": "node", "name": "(success) = msg.sender.call{value: amount}()", "source_mapping": {"start": 497, "length": 53, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [17], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "balances[msg.sender] = 0", "source_mapping": {"start": 606, "length": 24, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [20], "starting_column": 9, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "balances"}}], "description": "Reentrancy in VulnerableBank.withdraw() (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#12-21):\n\tExternal calls:\n\t- (success) = msg.sender.call{value: amount}() (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#17)\n\tState variables written after the call(s):\n\t- balances[msg.sender] = 0 (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#20)\n\tVulnerableBank.balances (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#5) can be used in cross function reentrancies:\n\t- VulnerableBank.balances (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#5)\n\t- VulnerableBank.deposit() (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#7-10)\n\t- VulnerableBank.withdraw() (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#12-21)\n", "markdown": "Reentrancy in [VulnerableBank.withdraw()](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L12-L21):\n\tExternal calls:\n\t- [(success) = msg.sender.call{value: amount}()](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L17)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] = 0](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L20)\n\t[VulnerableBank.balances](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L5) can be used in cross function reentrancies:\n\t- [VulnerableBank.balances](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L5)\n\t- [VulnerableBank.deposit()](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L7-L10)\n\t- [VulnerableBank.withdraw()](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L12-L21)\n", "first_markdown_element": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L12-L21", "id": "e813c948cc7496aad7bf3a452ab5f5dba32f40704feb92392295664164209b42", "check": "reentrancy-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L2", "id": "53f38c708c70abb37b0d8d3c3f2f1100866024441f7c4ef5ccb22893c56ecf72", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}, {"type": "node", "name": "(success) = msg.sender.call{value: amount}()", "source_mapping": {"start": 497, "length": 53, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [17], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}}}], "description": "Low level call in VulnerableBank.withdraw() (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#12-21):\n\t- (success) = msg.sender.call{value: amount}() (../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#17)\n", "markdown": "Low level call in [VulnerableBank.withdraw()](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L12-L21):\n\t- [(success) = msg.sender.call{value: amount}()](../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L17)\n", "first_markdown_element": "../../../../../../tmp/67843c04-280e-4200-855a-86262a3ab8fb/vulnerablebank/VulnerableBank.sol#L12-L21", "id": "b8af1487ffa7511612e501db8d47b431e46faaf04b67afc788a127b3f75ede5f", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}]}} +{"success": true, "error": null, "results": {"detectors": [{"elements": [{"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}, {"type": "node", "name": "(success) = msg.sender.call{value: amount}()", "source_mapping": {"start": 497, "length": 53, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [17], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "balances[msg.sender] = 0", "source_mapping": {"start": 606, "length": 24, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [20], "starting_column": 9, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "balances"}}], "description": "Reentrancy in VulnerableBank.withdraw() (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#12-21):\n\tExternal calls:\n\t- (success) = msg.sender.call{value: amount}() (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#17)\n\tState variables written after the call(s):\n\t- balances[msg.sender] = 0 (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#20)\n\tVulnerableBank.balances (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#5) can be used in cross function reentrancies:\n\t- VulnerableBank.balances (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#5)\n\t- VulnerableBank.deposit() (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#7-10)\n\t- VulnerableBank.withdraw() (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#12-21)\n", "markdown": "Reentrancy in [VulnerableBank.withdraw()](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L12-L21):\n\tExternal calls:\n\t- [(success) = msg.sender.call{value: amount}()](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L17)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] = 0](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L20)\n\t[VulnerableBank.balances](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L5) can be used in cross function reentrancies:\n\t- [VulnerableBank.balances](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L5)\n\t- [VulnerableBank.deposit()](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L7-L10)\n\t- [VulnerableBank.withdraw()](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L12-L21)\n", "first_markdown_element": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L12-L21", "id": "4c3d431fbf6b86e8efe56d358fcdedeeab4d378b45791867ca4c0d6f746f753a", "check": "reentrancy-eth", "impact": "High", "confidence": "Medium"}, {"elements": [], "description": "solc-0.8.0 is not recommended for deployment\n", "markdown": "solc-0.8.0 is not recommended for deployment\n", "first_markdown_element": "", "id": "c298e4718eba1e635e63e4c3206d561ac1974eaef1a3bba154ff9c56bcf6282a", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L2) allows old versions\n", "first_markdown_element": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L2", "id": "df4e2a026fb1e9b1ab9a20a1d0ff33b136e57649cdaed464415c1b959397f4a7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}, {"type": "node", "name": "(success) = msg.sender.call{value: amount}()", "source_mapping": {"start": 497, "length": 53, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [17], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 304, "length": 333, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VulnerableBank", "source_mapping": {"start": 57, "length": 582, "filename_relative": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_absolute": "/tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "filename_short": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol", "is_dependency": false, "lines": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "starting_column": 1, "ending_column": 0}}, "signature": "withdraw()"}}}}], "description": "Low level call in VulnerableBank.withdraw() (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#12-21):\n\t- (success) = msg.sender.call{value: amount}() (../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#17)\n", "markdown": "Low level call in [VulnerableBank.withdraw()](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L12-L21):\n\t- [(success) = msg.sender.call{value: amount}()](../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L17)\n", "first_markdown_element": "../../../../../../tmp/25c1e155-301a-4899-8ace-b8f0e988e222/vulnerablebank/VulnerableBank.sol#L12-L21", "id": "8813ff981dbc4ac67f89726e575f8e52d7b936def3dcf9f87267b1fcae8af911", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}]}} diff --git a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/AddressStr.solgo.ast.json b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/AddressStr.solgo.ast.json index 19a58daa..f24dc3ea 100644 --- a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/AddressStr.solgo.ast.json +++ b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/AddressStr.solgo.ast.json @@ -192,7 +192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 263, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -236,14 +237,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -331,7 +334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -447,7 +451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 276, @@ -504,14 +509,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 279, @@ -533,7 +540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bytes", @@ -639,7 +647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" }, "base_expression": { "id": 284, @@ -661,7 +670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -698,7 +708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -708,7 +719,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "str[0]=\"0\";" }, { "id": 286, @@ -762,7 +774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" }, "base_expression": { "id": 290, @@ -784,7 +797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -821,7 +835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -831,7 +846,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "str[1]=\"x\";" }, { "id": 292, @@ -924,7 +940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -959,7 +976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 299, @@ -1002,14 +1020,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "type_description": { "type_identifier": "t_bool", @@ -1047,7 +1067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -1125,7 +1146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" }, "base_expression": { "id": 308, @@ -1161,7 +1183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 310, @@ -1195,7 +1218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 312, @@ -1217,7 +1241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -1273,7 +1298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 264, - "is_pure": false + "is_pure": false, + "text": "alphabet" }, "base_expression": { "id": 315, @@ -1355,7 +1381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "data" }, "base_expression": { "id": 325, @@ -1375,7 +1402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -1412,7 +1440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } ], "type_descriptions": [ @@ -1473,7 +1502,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_4_by_1$", @@ -1523,7 +1553,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_4_by_1$", @@ -1553,7 +1584,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_2_by_1]$", "type_string": "index[bytes:int_const 2]" - } + }, + "text": "str[2+i*2]=alphabet[uint(uint8(data[i]\u003e\u003e4))];" }, { "id": 327, @@ -1607,7 +1639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" }, "base_expression": { "id": 331, @@ -1643,7 +1676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "right_expression": { "id": 333, @@ -1677,7 +1711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 335, @@ -1699,7 +1734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -1755,7 +1791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 264, - "is_pure": false + "is_pure": false, + "text": "alphabet" }, "base_expression": { "id": 338, @@ -1836,7 +1873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "data" }, "base_expression": { "id": 348, @@ -1856,7 +1894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -1893,7 +1932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0f" } ], "type_descriptions": [ @@ -1950,7 +1990,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_bytes]$_t_uint256]$", @@ -2000,7 +2041,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_bytes]$_t_uint256]$", @@ -2030,7 +2072,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_3_by_1]$", "type_string": "index[bytes:int_const 3]" - } + }, + "text": "str[3+i*2]=alphabet[uint(uint8(data[i]\u00260x0f))];" } ] } @@ -2084,7 +2127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" } ], "expression": { @@ -2129,7 +2173,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -2270,7 +2315,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoString(addressaccount)internalpurereturns(stringmemory){bytesmemorydata=abi.encodePacked(account);bytesmemoryalphabet=\"0123456789abcdef\";bytesmemorystr=newbytes(2+data.length*2);str[0]=\"0\";str[1]=\"x\";for(uinti=0;i\u003cdata.length;i++){str[2+i*2]=alphabet[uint(uint8(data[i]\u003e\u003e4))];str[3+i*2]=alphabet[uint(uint8(data[i]\u00260x0f))];}returnstring(str);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/IBEP20.solgo.ast.json b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/IBEP20.solgo.ast.json index f667f93c..5494273e 100644 --- a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/IBEP20.solgo.ast.json +++ b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/IBEP20.solgo.ast.json @@ -226,7 +226,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 22, @@ -394,7 +395,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" }, { "id": 31, @@ -562,7 +564,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 40, @@ -730,7 +733,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 49, @@ -899,7 +903,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 58, @@ -1105,13 +1110,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 11, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 69, @@ -1318,13 +1324,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 11, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(address_owner,addressspender)externalviewreturns(uint256);" }, { "id": 80, @@ -1530,13 +1537,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 11, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 91, @@ -1786,13 +1794,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 11, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 104, @@ -1960,7 +1969,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionburn(uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/IPair.solgo.ast.json b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/IPair.solgo.ast.json index 2383810f..4dd85667 100644 --- a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/IPair.solgo.ast.json +++ b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/IPair.solgo.ast.json @@ -228,7 +228,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 644, @@ -398,7 +399,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken1()externalviewreturns(address);" }, { "id": 653, @@ -732,13 +734,14 @@ } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", "scope": 633, "type_description": { "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", "type_string": "function(uint112,uint112,uint32)" - } + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/Pledge.solgo.ast.json b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/Pledge.solgo.ast.json index d6275557..a567fabd 100644 --- a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/Pledge.solgo.ast.json +++ b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/Pledge.solgo.ast.json @@ -4,7 +4,7 @@ "entry_source_unit": 669, "globals": [ { - "id": 1198, + "id": 1199, "name": "c", "is_constant": true, "is_state_variable": true, @@ -25,7 +25,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1199, + "id": 1200, "node_type": 30, "src": { "line": 24, @@ -33,7 +33,7 @@ "start": 964, "end": 970, "length": 7, - "parent_index": 1198 + "parent_index": 1199 }, "name": "uint256", "referenced_declaration": 0, @@ -45,7 +45,7 @@ "initial_value": null }, { - "id": 1200, + "id": 1201, "name": "c", "is_constant": true, "is_state_variable": true, @@ -66,7 +66,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1201, + "id": 1202, "node_type": 30, "src": { "line": 32, @@ -74,7 +74,7 @@ "start": 1205, "end": 1211, "length": 7, - "parent_index": 1200 + "parent_index": 1201 }, "name": "uint256", "referenced_declaration": 0, @@ -86,7 +86,7 @@ "initial_value": null }, { - "id": 1202, + "id": 1203, "name": "c", "is_constant": true, "is_state_variable": true, @@ -107,7 +107,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1203, + "id": 1204, "node_type": 30, "src": { "line": 45, @@ -115,7 +115,7 @@ "start": 1604, "end": 1610, "length": 7, - "parent_index": 1202 + "parent_index": 1203 }, "name": "uint256", "referenced_declaration": 0, @@ -127,7 +127,7 @@ "initial_value": null }, { - "id": 1204, + "id": 1205, "name": "c", "is_constant": true, "is_state_variable": true, @@ -148,7 +148,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1205, + "id": 1206, "node_type": 30, "src": { "line": 54, @@ -156,7 +156,7 @@ "start": 1916, "end": 1922, "length": 7, - "parent_index": 1204 + "parent_index": 1205 }, "name": "uint256", "referenced_declaration": 0, @@ -168,7 +168,7 @@ "initial_value": null }, { - "id": 1206, + "id": 1207, "name": "data", "is_constant": true, "is_state_variable": true, @@ -189,7 +189,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1207, + "id": 1208, "node_type": 30, "src": { "line": 69, @@ -197,7 +197,7 @@ "start": 2315, "end": 2319, "length": 5, - "parent_index": 1206 + "parent_index": 1207 }, "name": "bytes", "referenced_declaration": 0, @@ -209,7 +209,7 @@ "initial_value": null }, { - "id": 1208, + "id": 1209, "name": "alphabet", "is_constant": true, "is_state_variable": true, @@ -230,7 +230,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1209, + "id": 1210, "node_type": 30, "src": { "line": 70, @@ -238,7 +238,7 @@ "start": 2370, "end": 2374, "length": 5, - "parent_index": 1208 + "parent_index": 1209 }, "name": "bytes", "referenced_declaration": 0, @@ -250,7 +250,7 @@ "initial_value": null }, { - "id": 1210, + "id": 1211, "name": "str", "is_constant": true, "is_state_variable": true, @@ -271,7 +271,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1211, + "id": 1212, "node_type": 30, "src": { "line": 72, @@ -279,7 +279,7 @@ "start": 2427, "end": 2431, "length": 5, - "parent_index": 1210 + "parent_index": 1211 }, "name": "bytes", "referenced_declaration": 0, @@ -291,7 +291,7 @@ "initial_value": null }, { - "id": 1212, + "id": 1213, "name": "i", "is_constant": true, "is_state_variable": true, @@ -312,7 +312,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1213, + "id": 1214, "node_type": 30, "src": { "line": 75, @@ -320,7 +320,7 @@ "start": 2535, "end": 2538, "length": 4, - "parent_index": 1212 + "parent_index": 1213 }, "name": "uint", "referenced_declaration": 0, @@ -332,7 +332,7 @@ "initial_value": null }, { - "id": 1214, + "id": 1215, "name": "temp", "is_constant": true, "is_state_variable": true, @@ -353,7 +353,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1215, + "id": 1216, "node_type": 30, "src": { "line": 91, @@ -361,7 +361,7 @@ "start": 2917, "end": 2923, "length": 7, - "parent_index": 1214 + "parent_index": 1215 }, "name": "uint256", "referenced_declaration": 0, @@ -373,7 +373,7 @@ "initial_value": null }, { - "id": 1216, + "id": 1217, "name": "digits", "is_constant": true, "is_state_variable": true, @@ -394,7 +394,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1217, + "id": 1218, "node_type": 30, "src": { "line": 92, @@ -402,7 +402,7 @@ "start": 2947, "end": 2953, "length": 7, - "parent_index": 1216 + "parent_index": 1217 }, "name": "uint256", "referenced_declaration": 0, @@ -414,7 +414,7 @@ "initial_value": null }, { - "id": 1218, + "id": 1219, "name": "buffer", "is_constant": true, "is_state_variable": true, @@ -435,7 +435,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1219, + "id": 1220, "node_type": 30, "src": { "line": 98, @@ -443,7 +443,7 @@ "start": 3056, "end": 3060, "length": 5, - "parent_index": 1218 + "parent_index": 1219 }, "name": "bytes", "referenced_declaration": 0, @@ -455,7 +455,7 @@ "initial_value": null }, { - "id": 1220, + "id": 1221, "name": "len", "is_constant": true, "is_state_variable": true, @@ -476,7 +476,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1221, + "id": 1222, "node_type": 30, "src": { "line": 116, @@ -484,7 +484,7 @@ "start": 3472, "end": 3478, "length": 7, - "parent_index": 1220 + "parent_index": 1221 }, "name": "uint256", "referenced_declaration": 0, @@ -496,7 +496,7 @@ "initial_value": null }, { - "id": 1222, + "id": 1223, "name": "k", "is_constant": true, "is_state_variable": true, @@ -517,7 +517,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1223, + "id": 1224, "node_type": 30, "src": { "line": 117, @@ -525,7 +525,7 @@ "start": 3497, "end": 3503, "length": 7, - "parent_index": 1222 + "parent_index": 1223 }, "name": "uint256", "referenced_declaration": 0, @@ -537,7 +537,7 @@ "initial_value": null }, { - "id": 1224, + "id": 1225, "name": "i", "is_constant": true, "is_state_variable": true, @@ -558,7 +558,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1225, + "id": 1226, "node_type": 30, "src": { "line": 118, @@ -566,7 +566,7 @@ "start": 3524, "end": 3530, "length": 7, - "parent_index": 1224 + "parent_index": 1225 }, "name": "uint256", "referenced_declaration": 0, @@ -578,7 +578,7 @@ "initial_value": null }, { - "id": 1226, + "id": 1227, "name": "bret", "is_constant": true, "is_state_variable": true, @@ -599,7 +599,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1227, + "id": 1228, "node_type": 30, "src": { "line": 121, @@ -607,7 +607,7 @@ "start": 3622, "end": 3626, "length": 5, - "parent_index": 1226 + "parent_index": 1227 }, "name": "bytes", "referenced_declaration": 0, @@ -619,7 +619,7 @@ "initial_value": null }, { - "id": 1228, + "id": 1229, "name": "i", "is_constant": true, "is_state_variable": true, @@ -640,7 +640,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1229, + "id": 1230, "node_type": 30, "src": { "line": 122, @@ -648,7 +648,7 @@ "start": 3670, "end": 3676, "length": 7, - "parent_index": 1228 + "parent_index": 1229 }, "name": "uint256", "referenced_declaration": 0, @@ -660,7 +660,7 @@ "initial_value": null }, { - "id": 1230, + "id": 1231, "name": "bi", "is_constant": true, "is_state_variable": true, @@ -681,7 +681,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1231, + "id": 1232, "node_type": 30, "src": { "line": 123, @@ -689,7 +689,7 @@ "start": 3720, "end": 3724, "length": 5, - "parent_index": 1230 + "parent_index": 1231 }, "name": "bytes", "referenced_declaration": 0, @@ -701,7 +701,7 @@ "initial_value": null }, { - "id": 1232, + "id": 1233, "name": "j", "is_constant": true, "is_state_variable": true, @@ -722,7 +722,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1233, + "id": 1234, "node_type": 30, "src": { "line": 124, @@ -730,7 +730,7 @@ "start": 3770, "end": 3776, "length": 7, - "parent_index": 1232 + "parent_index": 1233 }, "name": "uint256", "referenced_declaration": 0, @@ -742,7 +742,7 @@ "initial_value": null }, { - "id": 1234, + "id": 1235, "name": "_ba", "is_constant": true, "is_state_variable": true, @@ -763,7 +763,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1235, + "id": 1236, "node_type": 30, "src": { "line": 130, @@ -771,7 +771,7 @@ "start": 3974, "end": 3978, "length": 5, - "parent_index": 1234 + "parent_index": 1235 }, "name": "bytes", "referenced_declaration": 0, @@ -783,7 +783,7 @@ "initial_value": null }, { - "id": 1236, + "id": 1237, "name": "_bb", "is_constant": true, "is_state_variable": true, @@ -804,7 +804,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1237, + "id": 1238, "node_type": 30, "src": { "line": 132, @@ -812,7 +812,7 @@ "start": 4013, "end": 4017, "length": 5, - "parent_index": 1236 + "parent_index": 1237 }, "name": "bytes", "referenced_declaration": 0, @@ -824,7 +824,7 @@ "initial_value": null }, { - "id": 1238, + "id": 1239, "name": "bret", "is_constant": true, "is_state_variable": true, @@ -845,7 +845,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1239, + "id": 1240, "node_type": 30, "src": { "line": 134, @@ -853,7 +853,7 @@ "start": 4052, "end": 4056, "length": 5, - "parent_index": 1238 + "parent_index": 1239 }, "name": "bytes", "referenced_declaration": 0, @@ -865,7 +865,7 @@ "initial_value": null }, { - "id": 1240, + "id": 1241, "name": "k", "is_constant": true, "is_state_variable": true, @@ -886,7 +886,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1241, + "id": 1242, "node_type": 30, "src": { "line": 136, @@ -894,7 +894,7 @@ "start": 4117, "end": 4120, "length": 4, - "parent_index": 1240 + "parent_index": 1241 }, "name": "uint", "referenced_declaration": 0, @@ -906,7 +906,7 @@ "initial_value": null }, { - "id": 1242, + "id": 1243, "name": "i", "is_constant": true, "is_state_variable": true, @@ -927,7 +927,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1243, + "id": 1244, "node_type": 30, "src": { "line": 138, @@ -935,7 +935,7 @@ "start": 4143, "end": 4146, "length": 4, - "parent_index": 1242 + "parent_index": 1243 }, "name": "uint", "referenced_declaration": 0, @@ -947,7 +947,7 @@ "initial_value": null }, { - "id": 1244, + "id": 1245, "name": "i", "is_constant": true, "is_state_variable": true, @@ -968,7 +968,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1245, + "id": 1246, "node_type": 30, "src": { "line": 140, @@ -976,7 +976,7 @@ "start": 4210, "end": 4213, "length": 4, - "parent_index": 1244 + "parent_index": 1245 }, "name": "uint", "referenced_declaration": 0, @@ -988,7 +988,7 @@ "initial_value": null }, { - "id": 1246, + "id": 1247, "name": "_to", "is_constant": false, "is_state_variable": true, @@ -1009,7 +1009,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1247, + "id": 1248, "node_type": 30, "src": { "line": 170, @@ -1017,7 +1017,7 @@ "start": 4991, "end": 4997, "length": 7, - "parent_index": 1246 + "parent_index": 1247 }, "name": "address", "state_mutability": 4, @@ -1028,7 +1028,7 @@ } }, "initial_value": { - "id": 1248, + "id": 1249, "node_type": 24, "kind": 24, "src": { @@ -1037,7 +1037,7 @@ "start": 5012, "end": 5062, "length": 51, - "parent_index": 1246 + "parent_index": 1247 }, "argument_types": [ { @@ -1047,7 +1047,7 @@ ], "arguments": [ { - "id": 1251, + "id": 1252, "node_type": 17, "kind": 49, "value": "0xA07695AeDC77ca5D83963FbBBB0A3AA620412786", @@ -1058,7 +1058,7 @@ "start": 5020, "end": 5061, "length": 42, - "parent_index": 1248 + "parent_index": 1249 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1066,11 +1066,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xA07695AeDC77ca5D83963FbBBB0A3AA620412786" } ], "expression": { - "id": 1249, + "id": 1250, "node_type": 16, "src": { "line": 170, @@ -1078,11 +1079,11 @@ "start": 5012, "end": 5018, "length": 7, - "parent_index": 1248 + "parent_index": 1249 }, "name": "address", "type_name": { - "id": 1250, + "id": 1251, "node_type": 30, "src": { "line": 170, @@ -1090,7 +1091,7 @@ "start": 5012, "end": 5018, "length": 7, - "parent_index": 1249 + "parent_index": 1250 }, "name": "address", "state_mutability": 4, @@ -1112,7 +1113,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1121,7 +1123,7 @@ } }, { - "id": 1252, + "id": 1253, "name": "_eaf", "is_constant": false, "is_state_variable": true, @@ -1142,7 +1144,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1253, + "id": 1254, "node_type": 30, "src": { "line": 171, @@ -1150,7 +1152,7 @@ "start": 5069, "end": 5075, "length": 7, - "parent_index": 1252 + "parent_index": 1253 }, "name": "address", "state_mutability": 4, @@ -1161,7 +1163,7 @@ } }, "initial_value": { - "id": 1254, + "id": 1255, "node_type": 24, "kind": 24, "src": { @@ -1170,7 +1172,7 @@ "start": 5091, "end": 5141, "length": 51, - "parent_index": 1252 + "parent_index": 1253 }, "argument_types": [ { @@ -1180,7 +1182,7 @@ ], "arguments": [ { - "id": 1257, + "id": 1258, "node_type": 17, "kind": 49, "value": "0x159e6296951F721885413ffc5F97cC208b2920CE", @@ -1191,7 +1193,7 @@ "start": 5099, "end": 5140, "length": 42, - "parent_index": 1254 + "parent_index": 1255 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1199,11 +1201,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x159e6296951F721885413ffc5F97cC208b2920CE" } ], "expression": { - "id": 1255, + "id": 1256, "node_type": 16, "src": { "line": 171, @@ -1211,11 +1214,11 @@ "start": 5091, "end": 5097, "length": 7, - "parent_index": 1254 + "parent_index": 1255 }, "name": "address", "type_name": { - "id": 1256, + "id": 1257, "node_type": 30, "src": { "line": 171, @@ -1223,7 +1226,7 @@ "start": 5091, "end": 5097, "length": 7, - "parent_index": 1255 + "parent_index": 1256 }, "name": "address", "state_mutability": 4, @@ -1245,7 +1248,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1254,7 +1258,7 @@ } }, { - "id": 1258, + "id": 1259, "name": "_usdt", "is_constant": false, "is_state_variable": true, @@ -1275,7 +1279,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1259, + "id": 1260, "node_type": 30, "src": { "line": 172, @@ -1283,7 +1287,7 @@ "start": 5148, "end": 5154, "length": 7, - "parent_index": 1258 + "parent_index": 1259 }, "name": "address", "state_mutability": 4, @@ -1294,7 +1298,7 @@ } }, "initial_value": { - "id": 1260, + "id": 1261, "node_type": 24, "kind": 24, "src": { @@ -1303,7 +1307,7 @@ "start": 5171, "end": 5221, "length": 51, - "parent_index": 1258 + "parent_index": 1259 }, "argument_types": [ { @@ -1313,7 +1317,7 @@ ], "arguments": [ { - "id": 1263, + "id": 1264, "node_type": 17, "kind": 49, "value": "0x55d398326f99059fF775485246999027B3197955", @@ -1324,7 +1328,7 @@ "start": 5179, "end": 5220, "length": 42, - "parent_index": 1260 + "parent_index": 1261 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1332,11 +1336,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x55d398326f99059fF775485246999027B3197955" } ], "expression": { - "id": 1261, + "id": 1262, "node_type": 16, "src": { "line": 172, @@ -1344,11 +1349,11 @@ "start": 5171, "end": 5177, "length": 7, - "parent_index": 1260 + "parent_index": 1261 }, "name": "address", "type_name": { - "id": 1262, + "id": 1263, "node_type": 30, "src": { "line": 172, @@ -1356,7 +1361,7 @@ "start": 5171, "end": 5177, "length": 7, - "parent_index": 1261 + "parent_index": 1262 }, "name": "address", "state_mutability": 4, @@ -1378,7 +1383,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1387,7 +1393,7 @@ } }, { - "id": 1264, + "id": 1265, "name": "_pair", "is_constant": false, "is_state_variable": true, @@ -1408,7 +1414,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1265, + "id": 1266, "node_type": 69, "src": { "line": 173, @@ -1416,10 +1422,10 @@ "start": 5228, "end": 5232, "length": 5, - "parent_index": 1264 + "parent_index": 1265 }, "path_node": { - "id": 1266, + "id": 1267, "name": "IPair", "node_type": 52, "referenced_declaration": 631, @@ -1429,7 +1435,7 @@ "start": 5228, "end": 5232, "length": 5, - "parent_index": 1265 + "parent_index": 1266 }, "name_location": { "line": 173, @@ -1437,7 +1443,7 @@ "start": 5228, "end": 5232, "length": 5, - "parent_index": 1265 + "parent_index": 1266 } }, "referenced_declaration": 631, @@ -1447,7 +1453,7 @@ } }, "initial_value": { - "id": 1267, + "id": 1268, "node_type": 24, "kind": 24, "src": { @@ -1456,7 +1462,7 @@ "start": 5249, "end": 5297, "length": 49, - "parent_index": 1264 + "parent_index": 1265 }, "argument_types": [ { @@ -1466,7 +1472,7 @@ ], "arguments": [ { - "id": 1269, + "id": 1270, "node_type": 17, "kind": 49, "value": "0x9D570B40beBbb684CBafF9f4cb01Be87C0B166a0", @@ -1477,7 +1483,7 @@ "start": 5255, "end": 5296, "length": 42, - "parent_index": 1267 + "parent_index": 1268 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1485,11 +1491,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x9D570B40beBbb684CBafF9f4cb01Be87C0B166a0" } ], "expression": { - "id": 1268, + "id": 1269, "node_type": 16, "src": { "line": 173, @@ -1497,7 +1504,7 @@ "start": 5249, "end": 5253, "length": 5, - "parent_index": 1267 + "parent_index": 1268 }, "name": "IPair", "type_description": { @@ -1506,7 +1513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IPair" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1515,7 +1523,7 @@ } }, { - "id": 1270, + "id": 1271, "name": "_owner", "is_constant": false, "is_state_variable": true, @@ -1536,7 +1544,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1271, + "id": 1272, "node_type": 30, "src": { "line": 174, @@ -1544,7 +1552,7 @@ "start": 5304, "end": 5310, "length": 7, - "parent_index": 1270 + "parent_index": 1271 }, "name": "address", "state_mutability": 4, @@ -1557,7 +1565,7 @@ "initial_value": null }, { - "id": 1272, + "id": 1273, "name": "_signer", "is_constant": false, "is_state_variable": true, @@ -1578,7 +1586,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1273, + "id": 1274, "node_type": 30, "src": { "line": 175, @@ -1586,7 +1594,7 @@ "start": 5331, "end": 5337, "length": 7, - "parent_index": 1272 + "parent_index": 1273 }, "name": "address", "state_mutability": 4, @@ -1599,7 +1607,7 @@ "initial_value": null }, { - "id": 1274, + "id": 1275, "name": "records", "is_constant": false, "is_state_variable": true, @@ -1613,25 +1621,25 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_Record$", + "type_identifier": "t_mapping_$t_uint256_$t_struct$_Pledge_Record_$806$", "type_string": "mapping(uint256=\u003eRecord)" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 1275, - "node_type": 0, + "id": 1276, + "node_type": 69, "src": { "line": 177, "column": 4, "start": 5360, "end": 5385, "length": 26, - "parent_index": 1274 + "parent_index": 1275 }, "key_type": { - "id": 1276, + "id": 1277, "node_type": 30, "src": { "line": 177, @@ -1639,7 +1647,7 @@ "start": 5368, "end": 5374, "length": 7, - "parent_index": 1275 + "parent_index": 1276 }, "name": "uint256", "referenced_declaration": 0, @@ -1654,24 +1662,24 @@ "start": 5368, "end": 5374, "length": 7, - "parent_index": 1275 + "parent_index": 1276 }, "value_type": { - "id": 1277, - "node_type": 30, + "id": 1278, + "node_type": 69, "src": { "line": 177, "column": 23, "start": 5379, "end": 5384, "length": 6, - "parent_index": 1275 + "parent_index": 1276 }, "name": "Record", - "referenced_declaration": 0, + "referenced_declaration": 806, "type_description": { - "type_identifier": "t_Record", - "type_string": "Record" + "type_identifier": "t_struct$_Pledge_Record_$806", + "type_string": "struct Pledge.Record" } }, "value_name_location": { @@ -1680,18 +1688,40 @@ "start": 5379, "end": 5384, "length": 6, - "parent_index": 1275 + "parent_index": 1276 }, - "referenced_declaration": 0, + "path_node": { + "id": 1279, + "name": "Record", + "node_type": 52, + "referenced_declaration": 806, + "src": { + "line": 177, + "column": 23, + "start": 5379, + "end": 5384, + "length": 6, + "parent_index": 1276 + }, + "name_location": { + "line": 177, + "column": 23, + "start": 5379, + "end": 5384, + "length": 6, + "parent_index": 1276 + } + }, + "referenced_declaration": 806, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_Record$", + "type_identifier": "t_mapping_$t_uint256_$t_struct$_Pledge_Record_$806$", "type_string": "mapping(uint256=\u003eRecord)" } }, "initial_value": null }, { - "id": 1278, + "id": 1280, "node_type": 57, "src": { "line": 179, @@ -1701,7 +1731,7 @@ "length": 80 }, "parameters": { - "id": 1279, + "id": 1281, "node_type": 43, "src": { "line": 179, @@ -1709,11 +1739,11 @@ "start": 5408, "end": 5487, "length": 80, - "parent_index": 1278 + "parent_index": 1280 }, "parameters": [ { - "id": 1280, + "id": 1282, "node_type": 44, "src": { "line": 179, @@ -1721,12 +1751,12 @@ "start": 5425, "end": 5447, "length": 23, - "parent_index": 1279 + "parent_index": 1281 }, - "scope": 1278, + "scope": 1280, "name": "orderId", "type_name": { - "id": 1281, + "id": 1283, "node_type": 30, "src": { "line": 179, @@ -1734,7 +1764,7 @@ "start": 5425, "end": 5431, "length": 7, - "parent_index": 1280 + "parent_index": 1282 }, "name": "uint256", "referenced_declaration": 0, @@ -1753,7 +1783,7 @@ "indexed": true }, { - "id": 1282, + "id": 1284, "node_type": 44, "src": { "line": 179, @@ -1761,12 +1791,12 @@ "start": 5450, "end": 5469, "length": 20, - "parent_index": 1279 + "parent_index": 1281 }, - "scope": 1278, + "scope": 1280, "name": "user", "type_name": { - "id": 1283, + "id": 1285, "node_type": 30, "src": { "line": 179, @@ -1774,7 +1804,7 @@ "start": 5450, "end": 5456, "length": 7, - "parent_index": 1282 + "parent_index": 1284 }, "name": "address", "state_mutability": 4, @@ -1794,7 +1824,7 @@ "indexed": true }, { - "id": 1284, + "id": 1286, "node_type": 44, "src": { "line": 179, @@ -1802,12 +1832,12 @@ "start": 5472, "end": 5485, "length": 14, - "parent_index": 1279 + "parent_index": 1281 }, - "scope": 1278, + "scope": 1280, "name": "amount", "type_name": { - "id": 1285, + "id": 1287, "node_type": 30, "src": { "line": 179, @@ -1815,7 +1845,7 @@ "start": 5472, "end": 5478, "length": 7, - "parent_index": 1284 + "parent_index": 1286 }, "name": "uint256", "referenced_declaration": 0, @@ -1851,12 +1881,12 @@ "name": "PledgeSend", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_PledgeSend_\u00261278", + "type_identifier": "t_event\u0026_Global_PledgeSend_\u00261280", "type_string": "event Global.PledgeSend" } }, { - "id": 1286, + "id": 1288, "node_type": 67, "src": { "line": 203, @@ -1872,16 +1902,16 @@ "start": 6005, "end": 6010, "length": 6, - "parent_index": 1286 + "parent_index": 1288 }, "canonical_name": "Global.Record", "type_description": { - "type_identifier": "t_struct$_Global_Record_$1286", + "type_identifier": "t_struct$_Global_Record_$1288", "type_string": "struct Global.Record" }, "members": [ { - "id": 1287, + "id": 1289, "node_type": 44, "src": { "line": 204, @@ -1889,11 +1919,11 @@ "start": 6021, "end": 6036, "length": 16, - "parent_index": 1286 + "parent_index": 1288 }, "name": "orderId", "type_name": { - "id": 1288, + "id": 1290, "node_type": 30, "src": { "line": 204, @@ -1901,7 +1931,7 @@ "start": 6021, "end": 6027, "length": 7, - "parent_index": 1287 + "parent_index": 1289 }, "name": "uint256", "referenced_declaration": 0, @@ -1918,7 +1948,7 @@ } }, { - "id": 1289, + "id": 1291, "node_type": 44, "src": { "line": 205, @@ -1926,11 +1956,11 @@ "start": 6046, "end": 6064, "length": 19, - "parent_index": 1286 + "parent_index": 1288 }, "name": "createTime", "type_name": { - "id": 1290, + "id": 1292, "node_type": 30, "src": { "line": 205, @@ -1938,7 +1968,7 @@ "start": 6046, "end": 6052, "length": 7, - "parent_index": 1289 + "parent_index": 1291 }, "name": "uint256", "referenced_declaration": 0, @@ -1955,7 +1985,7 @@ } }, { - "id": 1291, + "id": 1293, "node_type": 44, "src": { "line": 206, @@ -1963,11 +1993,11 @@ "start": 6074, "end": 6086, "length": 13, - "parent_index": 1286 + "parent_index": 1288 }, "name": "user", "type_name": { - "id": 1292, + "id": 1294, "node_type": 30, "src": { "line": 206, @@ -1975,7 +2005,7 @@ "start": 6074, "end": 6080, "length": 7, - "parent_index": 1291 + "parent_index": 1293 }, "name": "address", "state_mutability": 4, @@ -1993,7 +2023,7 @@ } }, { - "id": 1293, + "id": 1295, "node_type": 44, "src": { "line": 207, @@ -2001,11 +2031,11 @@ "start": 6096, "end": 6110, "length": 15, - "parent_index": 1286 + "parent_index": 1288 }, "name": "amount", "type_name": { - "id": 1294, + "id": 1296, "node_type": 30, "src": { "line": 207, @@ -2013,7 +2043,7 @@ "start": 6096, "end": 6102, "length": 7, - "parent_index": 1293 + "parent_index": 1295 }, "name": "uint256", "referenced_declaration": 0, @@ -2030,7 +2060,7 @@ } }, { - "id": 1295, + "id": 1297, "node_type": 44, "src": { "line": 208, @@ -2038,11 +2068,11 @@ "start": 6120, "end": 6137, "length": 18, - "parent_index": 1286 + "parent_index": 1288 }, "name": "eafAmount", "type_name": { - "id": 1296, + "id": 1298, "node_type": 30, "src": { "line": 208, @@ -2050,7 +2080,7 @@ "start": 6120, "end": 6126, "length": 7, - "parent_index": 1295 + "parent_index": 1297 }, "name": "uint256", "referenced_declaration": 0, @@ -2071,7 +2101,7 @@ "storage_location": 1 }, { - "id": 1297, + "id": 1299, "name": "signer", "is_constant": true, "is_state_variable": true, @@ -2092,7 +2122,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1298, + "id": 1300, "node_type": 30, "src": { "line": 213, @@ -2100,7 +2130,7 @@ "start": 6321, "end": 6327, "length": 7, - "parent_index": 1297 + "parent_index": 1299 }, "name": "address", "state_mutability": 4, @@ -2113,7 +2143,7 @@ "initial_value": null }, { - "id": 1299, + "id": 1301, "name": "record", "is_constant": true, "is_state_variable": true, @@ -2127,14 +2157,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_Record_$1286", + "type_identifier": "t_struct$_Global_Record_$1288", "type_string": "struct Global.Record" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 1300, + "id": 1302, "node_type": 69, "src": { "line": 215, @@ -2142,20 +2172,20 @@ "start": 6475, "end": 6480, "length": 6, - "parent_index": 1299 + "parent_index": 1301 }, "path_node": { - "id": 1301, + "id": 1303, "name": "Record", "node_type": 52, - "referenced_declaration": 1286, + "referenced_declaration": 1288, "src": { "line": 215, "column": 8, "start": 6475, "end": 6480, "length": 6, - "parent_index": 1300 + "parent_index": 1302 }, "name_location": { "line": 215, @@ -2163,19 +2193,19 @@ "start": 6475, "end": 6480, "length": 6, - "parent_index": 1300 + "parent_index": 1302 } }, - "referenced_declaration": 1286, + "referenced_declaration": 1288, "type_description": { - "type_identifier": "t_struct$_Global_Record_$1286", + "type_identifier": "t_struct$_Global_Record_$1288", "type_string": "struct Global.Record" } }, "initial_value": null }, { - "id": 1302, + "id": 1304, "name": "eAmount", "is_constant": true, "is_state_variable": true, @@ -2196,7 +2226,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1303, + "id": 1305, "node_type": 30, "src": { "line": 223, @@ -2204,7 +2234,7 @@ "start": 6895, "end": 6901, "length": 7, - "parent_index": 1302 + "parent_index": 1304 }, "name": "uint256", "referenced_declaration": 0, @@ -2216,7 +2246,7 @@ "initial_value": null }, { - "id": 1304, + "id": 1306, "name": "record", "is_constant": true, "is_state_variable": true, @@ -2230,14 +2260,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_Record_$1286", + "type_identifier": "t_struct$_Global_Record_$1288", "type_string": "struct Global.Record" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 1305, + "id": 1307, "node_type": 69, "src": { "line": 225, @@ -2245,20 +2275,20 @@ "start": 6999, "end": 7004, "length": 6, - "parent_index": 1304 + "parent_index": 1306 }, "path_node": { - "id": 1306, + "id": 1308, "name": "Record", "node_type": 52, - "referenced_declaration": 1286, + "referenced_declaration": 1288, "src": { "line": 225, "column": 8, "start": 6999, "end": 7004, "length": 6, - "parent_index": 1305 + "parent_index": 1307 }, "name_location": { "line": 225, @@ -2266,19 +2296,19 @@ "start": 6999, "end": 7004, "length": 6, - "parent_index": 1305 + "parent_index": 1307 } }, - "referenced_declaration": 1286, + "referenced_declaration": 1288, "type_description": { - "type_identifier": "t_struct$_Global_Record_$1286", + "type_identifier": "t_struct$_Global_Record_$1288", "type_string": "struct Global.Record" } }, "initial_value": null }, { - "id": 1307, + "id": 1309, "name": "r0", "is_constant": true, "is_state_variable": true, @@ -2299,7 +2329,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1308, + "id": 1310, "node_type": 30, "src": { "line": 235, @@ -2307,7 +2337,7 @@ "start": 7360, "end": 7366, "length": 7, - "parent_index": 1307 + "parent_index": 1309 }, "name": "uint256", "referenced_declaration": 0, @@ -2319,7 +2349,7 @@ "initial_value": null }, { - "id": 1309, + "id": 1311, "name": "r1", "is_constant": true, "is_state_variable": true, @@ -2340,7 +2370,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1310, + "id": 1312, "node_type": 30, "src": { "line": 235, @@ -2348,7 +2378,7 @@ "start": 7372, "end": 7378, "length": 7, - "parent_index": 1309 + "parent_index": 1311 }, "name": "uint256", "referenced_declaration": 0, @@ -2360,7 +2390,7 @@ "initial_value": null }, { - "id": 1311, + "id": 1313, "name": "ru", "is_constant": true, "is_state_variable": true, @@ -2381,7 +2411,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1312, + "id": 1314, "node_type": 30, "src": { "line": 236, @@ -2389,7 +2419,7 @@ "start": 7418, "end": 7424, "length": 7, - "parent_index": 1311 + "parent_index": 1313 }, "name": "uint256", "referenced_declaration": 0, @@ -2401,7 +2431,7 @@ "initial_value": null }, { - "id": 1313, + "id": 1315, "name": "re", "is_constant": true, "is_state_variable": true, @@ -2422,7 +2452,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1314, + "id": 1316, "node_type": 30, "src": { "line": 236, @@ -2430,7 +2460,7 @@ "start": 7430, "end": 7436, "length": 7, - "parent_index": 1313 + "parent_index": 1315 }, "name": "uint256", "referenced_declaration": 0, @@ -2442,7 +2472,7 @@ "initial_value": null }, { - "id": 1315, + "id": 1317, "name": "r", "is_constant": true, "is_state_variable": true, @@ -2463,7 +2493,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1316, + "id": 1318, "node_type": 30, "src": { "line": 241, @@ -2471,7 +2501,7 @@ "start": 7647, "end": 7653, "length": 7, - "parent_index": 1315 + "parent_index": 1317 }, "name": "bytes32", "referenced_declaration": 0, @@ -2483,7 +2513,7 @@ "initial_value": null }, { - "id": 1317, + "id": 1319, "name": "s", "is_constant": true, "is_state_variable": true, @@ -2504,7 +2534,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1318, + "id": 1320, "node_type": 30, "src": { "line": 241, @@ -2512,7 +2542,7 @@ "start": 7657, "end": 7663, "length": 7, - "parent_index": 1317 + "parent_index": 1319 }, "name": "bytes32", "referenced_declaration": 0, @@ -2524,7 +2554,7 @@ "initial_value": null }, { - "id": 1319, + "id": 1321, "name": "v", "is_constant": true, "is_state_variable": true, @@ -2545,7 +2575,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1320, + "id": 1322, "node_type": 30, "src": { "line": 241, @@ -2553,7 +2583,7 @@ "start": 7667, "end": 7671, "length": 5, - "parent_index": 1319 + "parent_index": 1321 }, "name": "uint8", "referenced_declaration": 0, @@ -2565,7 +2595,7 @@ "initial_value": null }, { - "id": 1321, + "id": 1323, "name": "signer", "is_constant": true, "is_state_variable": true, @@ -2586,7 +2616,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1322, + "id": 1324, "node_type": 30, "src": { "line": 242, @@ -2594,7 +2624,7 @@ "start": 7714, "end": 7720, "length": 7, - "parent_index": 1321 + "parent_index": 1323 }, "name": "address", "state_mutability": 4, @@ -2607,7 +2637,7 @@ "initial_value": null }, { - "id": 1323, + "id": 1325, "name": "list", "is_constant": true, "is_state_variable": true, @@ -2628,7 +2658,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1324, + "id": 1326, "node_type": 16, "src": { "line": 255, @@ -2636,7 +2666,7 @@ "start": 8317, "end": 8322, "length": 6, - "parent_index": 1323 + "parent_index": 1325 }, "name": "string", "referenced_declaration": 0, @@ -2877,7 +2907,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 22, @@ -3045,7 +3076,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" }, { "id": 31, @@ -3213,7 +3245,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 40, @@ -3381,7 +3414,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 49, @@ -3550,7 +3584,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 58, @@ -3756,13 +3791,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 11, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 69, @@ -3969,13 +4005,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 11, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(address_owner,addressspender)externalviewreturns(uint256);" }, { "id": 80, @@ -4181,13 +4218,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 11, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 91, @@ -4437,13 +4475,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 11, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 104, @@ -4611,7 +4650,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionburn(uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -4819,7 +4859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 130, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 131, @@ -4839,7 +4880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 131, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4902,7 +4944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 126, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 136, @@ -4922,7 +4965,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 136, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -4955,7 +4999,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: addition overflow\"" } ], "expression": { @@ -4976,7 +5021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5013,7 +5059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 126, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -5185,13 +5232,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){uint256c=a+b;require(c\u003e=a,\"SafeMath: addition overflow\");returnc;}" }, { "id": 141, @@ -5283,7 +5331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 154, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 155, @@ -5303,7 +5352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 155, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -5336,7 +5386,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: subtraction overflow\"" } ], "expression": { @@ -5357,7 +5408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5456,7 +5508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 161, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 162, @@ -5476,7 +5529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 162, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5514,7 +5568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 157, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -5686,13 +5741,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){require(b\u003c=a,\"SafeMath: subtraction overflow\");uint256c=a-b;returnc;}" }, { "id": 166, @@ -5772,7 +5828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 178, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 179, @@ -5794,7 +5851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5847,7 +5905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -5945,7 +6004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 187, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 188, @@ -5965,7 +6025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 188, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6042,7 +6103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 183, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 194, @@ -6062,7 +6124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -6087,7 +6150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 195, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -6120,7 +6184,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: multiplication overflow\"" } ], "expression": { @@ -6141,7 +6206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6178,7 +6244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 183, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -6350,13 +6417,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){if(a==0){return0;}uint256c=a*b;require(c/a==b,\"SafeMath: multiplication overflow\");returnc;}" }, { "id": 200, @@ -6448,7 +6516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 213, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 214, @@ -6470,7 +6539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6503,7 +6573,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: division by zero\"" } ], "expression": { @@ -6524,7 +6595,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6623,7 +6695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 220, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 221, @@ -6643,7 +6716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 221, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6681,7 +6755,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 216, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -6853,13 +6928,14 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){require(b\u003e0,\"SafeMath: division by zero\");uint256c=a/b;returnc;}" }, { "id": 225, @@ -6951,7 +7027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 238, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 239, @@ -6973,7 +7050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7006,7 +7084,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: modulo by zero\"" } ], "expression": { @@ -7027,7 +7106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7078,7 +7158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 243, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 244, @@ -7098,7 +7179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 244, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -7275,13 +7357,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){require(b!=0,\"SafeMath: modulo by zero\");returna%b;}" } ], "linearized_base_contracts": [ @@ -7494,7 +7577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 263, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -7538,14 +7622,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7633,7 +7719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -7749,7 +7836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 276, @@ -7806,14 +7894,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 279, @@ -7835,7 +7925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bytes", @@ -7941,7 +8032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" }, "base_expression": { "id": 284, @@ -7963,7 +8055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -8000,7 +8093,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -8010,7 +8104,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "str[0]=\"0\";" }, { "id": 286, @@ -8064,7 +8159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" }, "base_expression": { "id": 290, @@ -8086,7 +8182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -8123,7 +8220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -8133,7 +8231,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "str[1]=\"x\";" }, { "id": 292, @@ -8226,7 +8325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -8261,7 +8361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 299, @@ -8304,14 +8405,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "type_description": { "type_identifier": "t_bool", @@ -8349,7 +8452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -8427,7 +8531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" }, "base_expression": { "id": 308, @@ -8463,7 +8568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 310, @@ -8497,7 +8603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 312, @@ -8519,7 +8626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -8575,7 +8683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 264, - "is_pure": false + "is_pure": false, + "text": "alphabet" }, "base_expression": { "id": 315, @@ -8657,7 +8766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "data" }, "base_expression": { "id": 325, @@ -8677,7 +8787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -8714,7 +8825,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } ], "type_descriptions": [ @@ -8775,7 +8887,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_4_by_1$", @@ -8825,7 +8938,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_4_by_1$", @@ -8855,7 +8969,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_2_by_1]$", "type_string": "index[bytes:int_const 2]" - } + }, + "text": "str[2+i*2]=alphabet[uint(uint8(data[i]\u003e\u003e4))];" }, { "id": 327, @@ -8909,7 +9024,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" }, "base_expression": { "id": 331, @@ -8945,7 +9061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "right_expression": { "id": 333, @@ -8979,7 +9096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 335, @@ -9001,7 +9119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -9057,7 +9176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 264, - "is_pure": false + "is_pure": false, + "text": "alphabet" }, "base_expression": { "id": 338, @@ -9138,7 +9258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "data" }, "base_expression": { "id": 348, @@ -9158,7 +9279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -9195,7 +9317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0f" } ], "type_descriptions": [ @@ -9252,7 +9375,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_bytes]$_t_uint256]$", @@ -9302,7 +9426,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_bytes]$_t_uint256]$", @@ -9332,7 +9457,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_3_by_1]$", "type_string": "index[bytes:int_const 3]" - } + }, + "text": "str[3+i*2]=alphabet[uint(uint8(data[i]\u00260x0f))];" } ] } @@ -9386,7 +9512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "str" } ], "expression": { @@ -9431,7 +9558,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -9572,7 +9700,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoString(addressaccount)internalpurereturns(stringmemory){bytesmemorydata=abi.encodePacked(account);bytesmemoryalphabet=\"0123456789abcdef\";bytesmemorystr=newbytes(2+data.length*2);str[0]=\"0\";str[1]=\"x\";for(uinti=0;i\u003cdata.length;i++){str[2+i*2]=alphabet[uint(uint8(data[i]\u003e\u003e4))];str[3+i*2]=alphabet[uint(uint8(data[i]\u00260x0f))];}returnstring(str);}" } ], "linearized_base_contracts": [ @@ -9731,7 +9860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 369, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 370, @@ -9753,7 +9883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9806,7 +9937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -9890,7 +10022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 377, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -9997,7 +10130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 374, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 383, @@ -10019,7 +10153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10069,7 +10204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -10122,7 +10258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 374, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 390, @@ -10144,7 +10281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -10154,7 +10292,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -10256,7 +10395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -10343,7 +10483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 399, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 400, @@ -10365,7 +10506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10426,7 +10568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 405, @@ -10448,7 +10591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -10458,7 +10602,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 406, @@ -10512,7 +10657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 391, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 410, @@ -10532,7 +10678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -10621,7 +10768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 419, @@ -10655,7 +10803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 421, @@ -10677,7 +10826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -10732,7 +10882,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -10782,7 +10933,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -10797,7 +10949,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+value%10));" }, { "id": 422, @@ -10840,7 +10993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 425, @@ -10862,7 +11016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -10872,7 +11027,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -10926,7 +11082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 391, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -10971,7 +11128,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -11111,7 +11269,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+value%10));value/=10;}returnstring(buffer);}" } ], "linearized_base_contracts": [ @@ -11404,7 +11563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -11487,7 +11647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -11581,7 +11742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -11616,7 +11778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 466, @@ -11659,14 +11822,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 467, - "is_pure": false + "is_pure": false, + "text": "list" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "list.length" }, "type_description": { "type_identifier": "t_bool", @@ -11704,7 +11869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -11771,7 +11937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 451, - "is_pure": false + "is_pure": false, + "text": "len" }, "right_expression": { "id": 474, @@ -11844,7 +12011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 445, - "is_pure": false + "is_pure": false, + "text": "list" }, "base_expression": { "id": 480, @@ -11864,7 +12032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -11924,7 +12093,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_string]$_t_uint256]$", @@ -11936,7 +12106,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_string]$_t_uint256]$", "type_string": "function(index[string:uint256])" - } + }, + "text": "bytes(list[i]).length" }, "type_description": { "type_identifier": "t_uint256", @@ -11946,7 +12117,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "len+=bytes(list[i]).length;" } ] } @@ -12048,7 +12220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 451, - "is_pure": false + "is_pure": false, + "text": "len" } ], "expression": { @@ -12183,7 +12356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -12218,7 +12392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 495, @@ -12261,14 +12436,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "list" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "list.length" }, "type_description": { "type_identifier": "t_bool", @@ -12306,7 +12483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -12440,7 +12618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 445, - "is_pure": false + "is_pure": false, + "text": "list" }, "base_expression": { "id": 508, @@ -12460,7 +12639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -12520,7 +12700,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_string]$_t_uint256]$", @@ -12619,7 +12800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -12654,7 +12836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "j" }, "right_expression": { "id": 516, @@ -12697,14 +12880,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "bi" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "bi.length" }, "type_description": { "type_identifier": "t_bool", @@ -12742,7 +12927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "j" }, "type_description": { "type_identifier": "t_uint256", @@ -12821,7 +13007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 481, - "is_pure": false + "is_pure": false, + "text": "bret" } ], "expression": { @@ -12866,7 +13053,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -13006,7 +13194,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionlistToString(string[]memorylist)internalpurereturns(stringmemory){uint256len=0;uint256k=0;for(uint256i=0;i\u003clist.length;i++){len+=bytes(list[i]).length;}bytesmemorybret=newbytes(len);for(uint256i=0;i\u003clist.length;i++){bytesmemorybi=bytes(list[i]);for(uint256j=0;j\u003cbi.length;j++)bret[k++]=bi[j];}returnstring(bret);}" }, { "id": 527, @@ -13140,7 +13329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "_a" } ], "expression": { @@ -13185,7 +13375,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -13290,7 +13481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 550, - "is_pure": false + "is_pure": false, + "text": "_b" } ], "expression": { @@ -13335,7 +13527,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -13477,14 +13670,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_ba" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "_ba.length" }, "right_expression": { "id": 560, @@ -13527,14 +13722,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 544, - "is_pure": false + "is_pure": false, + "text": "_bb" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "_bb.length" }, "type_description": { "type_identifier": "t_bytes", @@ -13663,7 +13860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -13757,7 +13955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -13792,7 +13991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 573, @@ -13835,14 +14035,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_ba" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "_ba.length" }, "type_description": { "type_identifier": "t_bool", @@ -13880,7 +14082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -13998,7 +14201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -14033,7 +14237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 585, @@ -14076,14 +14281,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 544, - "is_pure": false + "is_pure": false, + "text": "_bb" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "_bb.length" }, "type_description": { "type_identifier": "t_bool", @@ -14121,7 +14328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -14197,7 +14405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "bret" } ], "expression": { @@ -14242,7 +14451,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -14419,13 +14629,14 @@ } ] }, - "signature_raw": "add(string, string)", - "signature": "ab4fb373", + "signature_raw": "add(string,string)", + "signature": "ebdf86ca", "scope": 433, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "functionadd(stringmemory_a,stringmemory_b)internalpurereturns(stringmemory){bytesmemory_ba=bytes(_a);bytesmemory_bb=bytes(_b);bytesmemorybret=newbytes(_ba.length+_bb.length);uintk=0;for(uinti=0;i\u003c_ba.length;i++)bret[k++]=_ba[i];for(uinti=0;i\u003c_bb.length;i++)bret[k++]=_bb[i];returnstring(bret);}" }, { "id": 596, @@ -14515,7 +14726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 609, - "is_pure": false + "is_pure": false, + "text": "_a" }, { "id": 610, @@ -14572,14 +14784,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 612, - "is_pure": false + "is_pure": false, + "text": "value" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -14605,7 +14819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "add" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$", @@ -14782,13 +14997,14 @@ } ] }, - "signature_raw": "add(string, uint)", - "signature": "c8870403", + "signature_raw": "add(string,uint)", + "signature": "4f2cc703", "scope": 433, "type_description": { "type_identifier": "t_function_$_t_string$_t_uint256$", "type_string": "function(string,uint256)" - } + }, + "text": "functionadd(stringmemory_a,uintvalue)internalpurereturns(stringmemory){returnadd(_a,value.toString());}" }, { "id": 614, @@ -14878,7 +15094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 627, - "is_pure": false + "is_pure": false, + "text": "_a" }, { "id": 628, @@ -14935,14 +15152,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 630, - "is_pure": false + "is_pure": false, + "text": "value" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "value.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -14968,7 +15187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "add" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$", @@ -15146,13 +15366,14 @@ } ] }, - "signature_raw": "add(string, address)", - "signature": "6a73a0f7", + "signature_raw": "add(string,address)", + "signature": "2bffc7ed", "scope": 433, "type_description": { "type_identifier": "t_function_$_t_string$_t_address$", "type_string": "function(string,address)" - } + }, + "text": "functionadd(stringmemory_a,addressvalue)internalpurereturns(stringmemory){returnadd(_a,value.toString());}" } ], "linearized_base_contracts": [ @@ -15401,7 +15622,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 644, @@ -15571,7 +15793,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken1()externalviewreturns(address);" }, { "id": 653, @@ -15905,13 +16128,14 @@ } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", "scope": 633, "type_description": { "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", "type_string": "function(uint112,uint112,uint32)" - } + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" } ], "linearized_base_contracts": [ @@ -16265,7 +16489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xA07695AeDC77ca5D83963FbBBB0A3AA620412786" } ], "expression": { @@ -16311,7 +16536,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -16399,7 +16625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x159e6296951F721885413ffc5F97cC208b2920CE" } ], "expression": { @@ -16445,7 +16672,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -16533,7 +16761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x55d398326f99059fF775485246999027B3197955" } ], "expression": { @@ -16579,7 +16808,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -16687,7 +16917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x9D570B40beBbb684CBafF9f4cb01Be87C0B166a0" } ], "expression": { @@ -16708,7 +16939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IPair" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -16818,7 +17050,7 @@ }, "scope": 671, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_Record$", + "type_identifier": "t_mapping_$t_uint256_$t_unknown_726$", "type_string": "mapping(uint256=\u003eRecord)" }, "visibility": 3, @@ -16826,7 +17058,7 @@ "mutability": 1, "type_name": { "id": 724, - "node_type": 0, + "node_type": 69, "src": { "line": 177, "column": 4, @@ -16863,7 +17095,7 @@ }, "value_type": { "id": 726, - "node_type": 30, + "node_type": 69, "src": { "line": 177, "column": 23, @@ -16873,10 +17105,10 @@ "parent_index": 724 }, "name": "Record", - "referenced_declaration": 0, + "referenced_declaration": 1288, "type_description": { - "type_identifier": "t_Record", - "type_string": "Record" + "type_identifier": "t_struct$_Global_Record_$1288", + "type_string": "struct Global.Record" } }, "value_name_location": { @@ -16887,16 +17119,38 @@ "length": 6, "parent_index": 724 }, - "referenced_declaration": 0, + "path_node": { + "id": 727, + "name": "Record", + "node_type": 52, + "referenced_declaration": 0, + "src": { + "line": 177, + "column": 23, + "start": 5379, + "end": 5384, + "length": 6, + "parent_index": 724 + }, + "name_location": { + "line": 177, + "column": 23, + "start": 5379, + "end": 5384, + "length": 6, + "parent_index": 724 + } + }, + "referenced_declaration": 1288, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_Record$", - "type_string": "mapping(uint256=\u003eRecord)" + "type_identifier": "t_struct$_Global_Record_$1288", + "type_string": "struct Global.Record" } }, "initial_value": null }, { - "id": 728, + "id": 729, "node_type": 57, "src": { "line": 179, @@ -16907,7 +17161,7 @@ "parent_index": 671 }, "parameters": { - "id": 729, + "id": 730, "node_type": 43, "src": { "line": 179, @@ -16915,11 +17169,11 @@ "start": 5408, "end": 5487, "length": 80, - "parent_index": 728 + "parent_index": 729 }, "parameters": [ { - "id": 730, + "id": 731, "node_type": 44, "src": { "line": 179, @@ -16927,12 +17181,12 @@ "start": 5425, "end": 5447, "length": 23, - "parent_index": 729 + "parent_index": 730 }, - "scope": 728, + "scope": 729, "name": "orderId", "type_name": { - "id": 731, + "id": 732, "node_type": 30, "src": { "line": 179, @@ -16940,7 +17194,7 @@ "start": 5425, "end": 5431, "length": 7, - "parent_index": 730 + "parent_index": 731 }, "name": "uint256", "referenced_declaration": 0, @@ -16959,7 +17213,7 @@ "indexed": true }, { - "id": 732, + "id": 733, "node_type": 44, "src": { "line": 179, @@ -16967,12 +17221,12 @@ "start": 5450, "end": 5469, "length": 20, - "parent_index": 729 + "parent_index": 730 }, - "scope": 728, + "scope": 729, "name": "user", "type_name": { - "id": 733, + "id": 734, "node_type": 30, "src": { "line": 179, @@ -16980,7 +17234,7 @@ "start": 5450, "end": 5456, "length": 7, - "parent_index": 732 + "parent_index": 733 }, "name": "address", "state_mutability": 4, @@ -17000,7 +17254,7 @@ "indexed": true }, { - "id": 734, + "id": 735, "node_type": 44, "src": { "line": 179, @@ -17008,12 +17262,12 @@ "start": 5472, "end": 5485, "length": 14, - "parent_index": 729 + "parent_index": 730 }, - "scope": 728, + "scope": 729, "name": "amount", "type_name": { - "id": 735, + "id": 736, "node_type": 30, "src": { "line": 179, @@ -17021,7 +17275,7 @@ "start": 5472, "end": 5478, "length": 7, - "parent_index": 734 + "parent_index": 735 }, "name": "uint256", "referenced_declaration": 0, @@ -17057,12 +17311,12 @@ "name": "PledgeSend", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Pledge_PledgeSend_\u0026728", + "type_identifier": "t_event\u0026_Pledge_PledgeSend_\u0026729", "type_string": "event Pledge.PledgeSend" } }, { - "id": 737, + "id": 738, "node_type": 42, "src": { "line": 181, @@ -17078,7 +17332,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 738, + "id": 739, "node_type": 43, "src": { "line": 181, @@ -17086,11 +17340,11 @@ "start": 5506, "end": 5534, "length": 29, - "parent_index": 737 + "parent_index": 738 }, "parameters": [ { - "id": 739, + "id": 740, "node_type": 44, "src": { "line": 181, @@ -17098,12 +17352,12 @@ "start": 5506, "end": 5518, "length": 13, - "parent_index": 738 + "parent_index": 739 }, - "scope": 737, + "scope": 738, "name": "owner", "type_name": { - "id": 740, + "id": 741, "node_type": 30, "src": { "line": 181, @@ -17111,7 +17365,7 @@ "start": 5506, "end": 5512, "length": 7, - "parent_index": 739 + "parent_index": 740 }, "name": "address", "state_mutability": 4, @@ -17130,7 +17384,7 @@ } }, { - "id": 741, + "id": 742, "node_type": 44, "src": { "line": 181, @@ -17138,12 +17392,12 @@ "start": 5521, "end": 5534, "length": 14, - "parent_index": 738 + "parent_index": 739 }, - "scope": 737, + "scope": 738, "name": "signer", "type_name": { - "id": 742, + "id": 743, "node_type": 30, "src": { "line": 181, @@ -17151,7 +17405,7 @@ "start": 5521, "end": 5527, "length": 7, - "parent_index": 741 + "parent_index": 742 }, "name": "address", "state_mutability": 4, @@ -17182,7 +17436,7 @@ ] }, "return_parameters": { - "id": 743, + "id": 744, "node_type": 43, "src": { "line": 181, @@ -17190,14 +17444,14 @@ "start": 5494, "end": 5593, "length": 100, - "parent_index": 737 + "parent_index": 738 }, "parameters": [], "parameter_types": [] }, "scope": 671, "body": { - "id": 744, + "id": 745, "node_type": 46, "kind": 0, "src": { @@ -17206,12 +17460,12 @@ "start": 5537, "end": 5593, "length": 57, - "parent_index": 737 + "parent_index": 738 }, "implemented": true, "statements": [ { - "id": 745, + "id": 746, "node_type": 27, "src": { "line": 182, @@ -17219,10 +17473,10 @@ "start": 5547, "end": 5561, "length": 15, - "parent_index": 744 + "parent_index": 745 }, "expression": { - "id": 746, + "id": 747, "node_type": 27, "src": { "line": 182, @@ -17230,11 +17484,11 @@ "start": 5547, "end": 5560, "length": 14, - "parent_index": 745 + "parent_index": 746 }, "operator": 11, "left_expression": { - "id": 747, + "id": 748, "node_type": 16, "src": { "line": 182, @@ -17242,7 +17496,7 @@ "start": 5547, "end": 5552, "length": 6, - "parent_index": 746 + "parent_index": 747 }, "name": "_owner", "type_description": { @@ -17251,10 +17505,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 717, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { - "id": 748, + "id": 749, "node_type": 16, "src": { "line": 182, @@ -17262,7 +17517,7 @@ "start": 5556, "end": 5560, "length": 5, - "parent_index": 746 + "parent_index": 747 }, "name": "owner", "type_description": { @@ -17270,8 +17525,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 748, - "is_pure": false + "referenced_declaration": 749, + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_address", @@ -17281,10 +17537,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=owner;" }, { - "id": 749, + "id": 750, "node_type": 27, "src": { "line": 183, @@ -17292,10 +17549,10 @@ "start": 5571, "end": 5587, "length": 17, - "parent_index": 744 + "parent_index": 745 }, "expression": { - "id": 750, + "id": 751, "node_type": 27, "src": { "line": 183, @@ -17303,11 +17560,11 @@ "start": 5571, "end": 5586, "length": 16, - "parent_index": 749 + "parent_index": 750 }, "operator": 11, "left_expression": { - "id": 751, + "id": 752, "node_type": 16, "src": { "line": 183, @@ -17315,7 +17572,7 @@ "start": 5571, "end": 5577, "length": 7, - "parent_index": 750 + "parent_index": 751 }, "name": "_signer", "type_description": { @@ -17324,10 +17581,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 720, - "is_pure": false + "is_pure": false, + "text": "_signer" }, "right_expression": { - "id": 752, + "id": 753, "node_type": 16, "src": { "line": 183, @@ -17335,7 +17593,7 @@ "start": 5581, "end": 5586, "length": 6, - "parent_index": 750 + "parent_index": 751 }, "name": "signer", "type_description": { @@ -17343,8 +17601,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 752, - "is_pure": false + "referenced_declaration": 753, + "is_pure": false, + "text": "signer" }, "type_description": { "type_identifier": "t_address", @@ -17354,13 +17613,14 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_signer=signer;" } ] } }, { - "id": 754, + "id": 755, "name": "onlyOwner", "node_type": 68, "src": { @@ -17377,12 +17637,12 @@ "start": 5609, "end": 5617, "length": 9, - "parent_index": 754 + "parent_index": 755 }, "visibility": 1, "virtual": false, "parameters": { - "id": 755, + "id": 756, "node_type": 43, "src": { "line": 186, @@ -17396,7 +17656,7 @@ "parameter_types": [] }, "body": { - "id": 756, + "id": 757, "node_type": 46, "kind": 0, "src": { @@ -17405,12 +17665,12 @@ "start": 5620, "end": 5712, "length": 93, - "parent_index": 754 + "parent_index": 755 }, "implemented": true, "statements": [ { - "id": 757, + "id": 758, "node_type": 24, "kind": 24, "src": { @@ -17419,7 +17679,7 @@ "start": 5630, "end": 5694, "length": 65, - "parent_index": 756 + "parent_index": 757 }, "argument_types": [ { @@ -17433,7 +17693,7 @@ ], "arguments": [ { - "id": 759, + "id": 760, "is_constant": false, "is_pure": false, "node_type": 19, @@ -17443,11 +17703,11 @@ "start": 5638, "end": 5657, "length": 20, - "parent_index": 757 + "parent_index": 758 }, "operator": 11, "left_expression": { - "id": 760, + "id": 761, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -17459,7 +17719,7 @@ "start": 5638, "end": 5647, "length": 10, - "parent_index": 759 + "parent_index": 760 }, "member_location": { "line": 187, @@ -17467,10 +17727,10 @@ "start": 5642, "end": 5647, "length": 6, - "parent_index": 760 + "parent_index": 761 }, "expression": { - "id": 761, + "id": 762, "node_type": 16, "src": { "line": 187, @@ -17478,7 +17738,7 @@ "start": 5638, "end": 5640, "length": 3, - "parent_index": 760 + "parent_index": 761 }, "name": "msg", "type_description": { @@ -17487,17 +17747,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 762, + "id": 763, "node_type": 16, "src": { "line": 187, @@ -17505,7 +17767,7 @@ "start": 5652, "end": 5657, "length": 6, - "parent_index": 759 + "parent_index": 760 }, "name": "_owner", "type_description": { @@ -17514,7 +17776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 717, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_description": { "type_identifier": "t_bool", @@ -17522,7 +17785,7 @@ } }, { - "id": 763, + "id": 764, "node_type": 17, "kind": 50, "value": "Ownable: caller is not the owner", @@ -17533,7 +17796,7 @@ "start": 5660, "end": 5693, "length": 34, - "parent_index": 757 + "parent_index": 758 }, "type_description": { "type_identifier": "t_string_literal", @@ -17547,11 +17810,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { - "id": 758, + "id": 759, "node_type": 16, "src": { "line": 187, @@ -17559,7 +17823,7 @@ "start": 5630, "end": 5636, "length": 7, - "parent_index": 757 + "parent_index": 758 }, "name": "require", "type_description": { @@ -17568,7 +17832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17576,7 +17841,7 @@ } }, { - "id": 764, + "id": 765, "node_type": 82, "src": { "line": 188, @@ -17584,7 +17849,7 @@ "start": 5705, "end": 5705, "length": 1, - "parent_index": 756 + "parent_index": 757 }, "name": "_", "type_description": { @@ -17593,13 +17858,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 766, + "id": 767, "name": "transferOwner", "node_type": 42, "kind": 41, @@ -17617,10 +17883,10 @@ "start": 5728, "end": 5740, "length": 13, - "parent_index": 766 + "parent_index": 767 }, "body": { - "id": 773, + "id": 774, "node_type": 46, "kind": 0, "src": { @@ -17629,12 +17895,12 @@ "start": 5778, "end": 5811, "length": 34, - "parent_index": 766 + "parent_index": 767 }, "implemented": true, "statements": [ { - "id": 774, + "id": 775, "node_type": 27, "src": { "line": 192, @@ -17642,10 +17908,10 @@ "start": 5788, "end": 5805, "length": 18, - "parent_index": 773 + "parent_index": 774 }, "expression": { - "id": 775, + "id": 776, "node_type": 27, "src": { "line": 192, @@ -17653,11 +17919,11 @@ "start": 5788, "end": 5804, "length": 17, - "parent_index": 774 + "parent_index": 775 }, "operator": 11, "left_expression": { - "id": 776, + "id": 777, "node_type": 16, "src": { "line": 192, @@ -17665,7 +17931,7 @@ "start": 5788, "end": 5793, "length": 6, - "parent_index": 775 + "parent_index": 776 }, "name": "_owner", "type_description": { @@ -17674,10 +17940,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 717, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { - "id": 777, + "id": 778, "node_type": 16, "src": { "line": 192, @@ -17685,7 +17952,7 @@ "start": 5797, "end": 5804, "length": 8, - "parent_index": 775 + "parent_index": 776 }, "name": "newOwner", "type_description": { @@ -17693,8 +17960,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 777, - "is_pure": false + "referenced_declaration": 778, + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -17704,7 +17972,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -17714,7 +17983,7 @@ "virtual": false, "modifiers": [ { - "id": 770, + "id": 771, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -17724,12 +17993,12 @@ "start": 5769, "end": 5777, "length": 9, - "parent_index": 766 + "parent_index": 767 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 771, + "id": 772, "name": "onlyOwner", "node_type": 0, "src": { @@ -17738,14 +18007,14 @@ "start": 5769, "end": 5777, "length": 9, - "parent_index": 770 + "parent_index": 771 } } } ], "overrides": [], "parameters": { - "id": 767, + "id": 768, "node_type": 43, "src": { "line": 191, @@ -17753,11 +18022,11 @@ "start": 5742, "end": 5757, "length": 16, - "parent_index": 766 + "parent_index": 767 }, "parameters": [ { - "id": 768, + "id": 769, "node_type": 44, "src": { "line": 191, @@ -17765,12 +18034,12 @@ "start": 5742, "end": 5757, "length": 16, - "parent_index": 767 + "parent_index": 768 }, - "scope": 766, + "scope": 767, "name": "newOwner", "type_name": { - "id": 769, + "id": 770, "node_type": 30, "src": { "line": 191, @@ -17778,7 +18047,7 @@ "start": 5742, "end": 5748, "length": 7, - "parent_index": 768 + "parent_index": 769 }, "name": "address", "state_mutability": 4, @@ -17805,7 +18074,7 @@ ] }, "return_parameters": { - "id": 772, + "id": 773, "node_type": 43, "src": { "line": 191, @@ -17813,7 +18082,7 @@ "start": 5719, "end": 5811, "length": 93, - "parent_index": 766 + "parent_index": 767 }, "parameters": [], "parameter_types": [] @@ -17824,10 +18093,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwner(addressnewOwner)externalonlyOwner{_owner=newOwner;}" }, { - "id": 779, + "id": 780, "name": "setSigner", "node_type": 42, "kind": 41, @@ -17845,10 +18115,10 @@ "start": 5827, "end": 5835, "length": 9, - "parent_index": 779 + "parent_index": 780 }, "body": { - "id": 786, + "id": 787, "node_type": 46, "kind": 0, "src": { @@ -17857,12 +18127,12 @@ "start": 5874, "end": 5909, "length": 36, - "parent_index": 779 + "parent_index": 780 }, "implemented": true, "statements": [ { - "id": 787, + "id": 788, "node_type": 27, "src": { "line": 196, @@ -17870,10 +18140,10 @@ "start": 5884, "end": 5903, "length": 20, - "parent_index": 786 + "parent_index": 787 }, "expression": { - "id": 788, + "id": 789, "node_type": 27, "src": { "line": 196, @@ -17881,11 +18151,11 @@ "start": 5884, "end": 5902, "length": 19, - "parent_index": 787 + "parent_index": 788 }, "operator": 11, "left_expression": { - "id": 789, + "id": 790, "node_type": 16, "src": { "line": 196, @@ -17893,7 +18163,7 @@ "start": 5884, "end": 5890, "length": 7, - "parent_index": 788 + "parent_index": 789 }, "name": "_signer", "type_description": { @@ -17902,10 +18172,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 720, - "is_pure": false + "is_pure": false, + "text": "_signer" }, "right_expression": { - "id": 790, + "id": 791, "node_type": 16, "src": { "line": 196, @@ -17913,7 +18184,7 @@ "start": 5894, "end": 5902, "length": 9, - "parent_index": 788 + "parent_index": 789 }, "name": "newSigner", "type_description": { @@ -17921,8 +18192,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 790, - "is_pure": false + "referenced_declaration": 791, + "is_pure": false, + "text": "newSigner" }, "type_description": { "type_identifier": "t_address", @@ -17932,7 +18204,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_signer=newSigner;" } ] }, @@ -17942,7 +18215,7 @@ "virtual": false, "modifiers": [ { - "id": 783, + "id": 784, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -17952,12 +18225,12 @@ "start": 5865, "end": 5873, "length": 9, - "parent_index": 779 + "parent_index": 780 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 784, + "id": 785, "name": "onlyOwner", "node_type": 0, "src": { @@ -17966,14 +18239,14 @@ "start": 5865, "end": 5873, "length": 9, - "parent_index": 783 + "parent_index": 784 } } } ], "overrides": [], "parameters": { - "id": 780, + "id": 781, "node_type": 43, "src": { "line": 195, @@ -17981,11 +18254,11 @@ "start": 5837, "end": 5853, "length": 17, - "parent_index": 779 + "parent_index": 780 }, "parameters": [ { - "id": 781, + "id": 782, "node_type": 44, "src": { "line": 195, @@ -17993,12 +18266,12 @@ "start": 5837, "end": 5853, "length": 17, - "parent_index": 780 + "parent_index": 781 }, - "scope": 779, + "scope": 780, "name": "newSigner", "type_name": { - "id": 782, + "id": 783, "node_type": 30, "src": { "line": 195, @@ -18006,7 +18279,7 @@ "start": 5837, "end": 5843, "length": 7, - "parent_index": 781 + "parent_index": 782 }, "name": "address", "state_mutability": 4, @@ -18033,7 +18306,7 @@ ] }, "return_parameters": { - "id": 785, + "id": 786, "node_type": 43, "src": { "line": 195, @@ -18041,7 +18314,7 @@ "start": 5818, "end": 5909, "length": 92, - "parent_index": 779 + "parent_index": 780 }, "parameters": [], "parameter_types": [] @@ -18052,10 +18325,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetSigner(addressnewSigner)externalonlyOwner{_signer=newSigner;}" }, { - "id": 792, + "id": 793, "name": "setTo", "node_type": 42, "kind": 41, @@ -18073,10 +18347,10 @@ "start": 5925, "end": 5929, "length": 5, - "parent_index": 792 + "parent_index": 793 }, "body": { - "id": 799, + "id": 800, "node_type": 46, "kind": 0, "src": { @@ -18085,12 +18359,12 @@ "start": 5964, "end": 5991, "length": 28, - "parent_index": 792 + "parent_index": 793 }, "implemented": true, "statements": [ { - "id": 800, + "id": 801, "node_type": 27, "src": { "line": 200, @@ -18098,10 +18372,10 @@ "start": 5974, "end": 5985, "length": 12, - "parent_index": 799 + "parent_index": 800 }, "expression": { - "id": 801, + "id": 802, "node_type": 27, "src": { "line": 200, @@ -18109,11 +18383,11 @@ "start": 5974, "end": 5984, "length": 11, - "parent_index": 800 + "parent_index": 801 }, "operator": 11, "left_expression": { - "id": 802, + "id": 803, "node_type": 16, "src": { "line": 200, @@ -18121,7 +18395,7 @@ "start": 5974, "end": 5976, "length": 3, - "parent_index": 801 + "parent_index": 802 }, "name": "_to", "type_description": { @@ -18130,10 +18404,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "_to" }, "right_expression": { - "id": 803, + "id": 804, "node_type": 16, "src": { "line": 200, @@ -18141,7 +18416,7 @@ "start": 5980, "end": 5984, "length": 5, - "parent_index": 801 + "parent_index": 802 }, "name": "newTo", "type_description": { @@ -18149,8 +18424,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 803, - "is_pure": false + "referenced_declaration": 804, + "is_pure": false, + "text": "newTo" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18160,7 +18436,8 @@ "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0xA07695AeDC77ca5D83963FbBBB0A3AA620412786)" - } + }, + "text": "_to=newTo;" } ] }, @@ -18170,7 +18447,7 @@ "virtual": false, "modifiers": [ { - "id": 796, + "id": 797, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -18180,12 +18457,12 @@ "start": 5955, "end": 5963, "length": 9, - "parent_index": 792 + "parent_index": 793 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 797, + "id": 798, "name": "onlyOwner", "node_type": 0, "src": { @@ -18194,14 +18471,14 @@ "start": 5955, "end": 5963, "length": 9, - "parent_index": 796 + "parent_index": 797 } } } ], "overrides": [], "parameters": { - "id": 793, + "id": 794, "node_type": 43, "src": { "line": 199, @@ -18209,11 +18486,11 @@ "start": 5931, "end": 5943, "length": 13, - "parent_index": 792 + "parent_index": 793 }, "parameters": [ { - "id": 794, + "id": 795, "node_type": 44, "src": { "line": 199, @@ -18221,12 +18498,12 @@ "start": 5931, "end": 5943, "length": 13, - "parent_index": 793 + "parent_index": 794 }, - "scope": 792, + "scope": 793, "name": "newTo", "type_name": { - "id": 795, + "id": 796, "node_type": 30, "src": { "line": 199, @@ -18234,7 +18511,7 @@ "start": 5931, "end": 5937, "length": 7, - "parent_index": 794 + "parent_index": 795 }, "name": "address", "state_mutability": 4, @@ -18261,7 +18538,7 @@ ] }, "return_parameters": { - "id": 798, + "id": 799, "node_type": 43, "src": { "line": 199, @@ -18269,7 +18546,7 @@ "start": 5916, "end": 5991, "length": 76, - "parent_index": 792 + "parent_index": 793 }, "parameters": [], "parameter_types": [] @@ -18280,10 +18557,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetTo(addressnewTo)externalonlyOwner{_to=newTo;}" }, { - "id": 805, + "id": 806, "node_type": 67, "src": { "line": 203, @@ -18300,16 +18578,16 @@ "start": 6005, "end": 6010, "length": 6, - "parent_index": 805 + "parent_index": 806 }, "canonical_name": "Pledge.Record", "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" }, "members": [ { - "id": 806, + "id": 807, "node_type": 44, "src": { "line": 204, @@ -18317,12 +18595,12 @@ "start": 6021, "end": 6036, "length": 16, - "parent_index": 805 + "parent_index": 806 }, "scope": 671, "name": "orderId", "type_name": { - "id": 807, + "id": 808, "node_type": 30, "src": { "line": 204, @@ -18330,7 +18608,7 @@ "start": 6021, "end": 6027, "length": 7, - "parent_index": 806 + "parent_index": 807 }, "name": "uint256", "referenced_declaration": 0, @@ -18347,7 +18625,7 @@ } }, { - "id": 808, + "id": 809, "node_type": 44, "src": { "line": 205, @@ -18355,12 +18633,12 @@ "start": 6046, "end": 6064, "length": 19, - "parent_index": 805 + "parent_index": 806 }, "scope": 671, "name": "createTime", "type_name": { - "id": 809, + "id": 810, "node_type": 30, "src": { "line": 205, @@ -18368,7 +18646,7 @@ "start": 6046, "end": 6052, "length": 7, - "parent_index": 808 + "parent_index": 809 }, "name": "uint256", "referenced_declaration": 0, @@ -18385,7 +18663,7 @@ } }, { - "id": 810, + "id": 811, "node_type": 44, "src": { "line": 206, @@ -18393,12 +18671,12 @@ "start": 6074, "end": 6086, "length": 13, - "parent_index": 805 + "parent_index": 806 }, "scope": 671, "name": "user", "type_name": { - "id": 811, + "id": 812, "node_type": 30, "src": { "line": 206, @@ -18406,7 +18684,7 @@ "start": 6074, "end": 6080, "length": 7, - "parent_index": 810 + "parent_index": 811 }, "name": "address", "state_mutability": 4, @@ -18424,7 +18702,7 @@ } }, { - "id": 812, + "id": 813, "node_type": 44, "src": { "line": 207, @@ -18432,12 +18710,12 @@ "start": 6096, "end": 6110, "length": 15, - "parent_index": 805 + "parent_index": 806 }, "scope": 671, "name": "amount", "type_name": { - "id": 813, + "id": 814, "node_type": 30, "src": { "line": 207, @@ -18445,7 +18723,7 @@ "start": 6096, "end": 6102, "length": 7, - "parent_index": 812 + "parent_index": 813 }, "name": "uint256", "referenced_declaration": 0, @@ -18462,7 +18740,7 @@ } }, { - "id": 814, + "id": 815, "node_type": 44, "src": { "line": 208, @@ -18470,12 +18748,12 @@ "start": 6120, "end": 6137, "length": 18, - "parent_index": 805 + "parent_index": 806 }, "scope": 671, "name": "eafAmount", "type_name": { - "id": 815, + "id": 816, "node_type": 30, "src": { "line": 208, @@ -18483,7 +18761,7 @@ "start": 6120, "end": 6126, "length": 7, - "parent_index": 814 + "parent_index": 815 }, "name": "uint256", "referenced_declaration": 0, @@ -18504,7 +18782,7 @@ "storage_location": 1 }, { - "id": 817, + "id": 818, "name": "onlyValidRecharge", "node_type": 68, "src": { @@ -18521,12 +18799,12 @@ "start": 6159, "end": 6175, "length": 17, - "parent_index": 817 + "parent_index": 818 }, "visibility": 1, "virtual": false, "parameters": { - "id": 818, + "id": 819, "node_type": 43, "src": { "line": 211, @@ -18538,7 +18816,7 @@ }, "parameters": [ { - "id": 819, + "id": 820, "node_type": 44, "src": { "line": 211, @@ -18546,12 +18824,12 @@ "start": 6177, "end": 6191, "length": 15, - "parent_index": 818 + "parent_index": 819 }, "scope": 671, "name": "orderId", "type_name": { - "id": 820, + "id": 821, "node_type": 30, "src": { "line": 211, @@ -18559,7 +18837,7 @@ "start": 6177, "end": 6183, "length": 7, - "parent_index": 819 + "parent_index": 820 }, "name": "uint256", "referenced_declaration": 0, @@ -18577,7 +18855,7 @@ } }, { - "id": 821, + "id": 822, "node_type": 44, "src": { "line": 211, @@ -18585,12 +18863,12 @@ "start": 6194, "end": 6207, "length": 14, - "parent_index": 818 + "parent_index": 819 }, "scope": 671, "name": "amount", "type_name": { - "id": 822, + "id": 823, "node_type": 30, "src": { "line": 211, @@ -18598,7 +18876,7 @@ "start": 6194, "end": 6200, "length": 7, - "parent_index": 821 + "parent_index": 822 }, "name": "uint256", "referenced_declaration": 0, @@ -18616,7 +18894,7 @@ } }, { - "id": 823, + "id": 824, "node_type": 44, "src": { "line": 211, @@ -18624,12 +18902,12 @@ "start": 6210, "end": 6233, "length": 24, - "parent_index": 818 + "parent_index": 819 }, "scope": 671, "name": "signature", "type_name": { - "id": 824, + "id": 825, "node_type": 30, "src": { "line": 211, @@ -18637,7 +18915,7 @@ "start": 6210, "end": 6214, "length": 5, - "parent_index": 823 + "parent_index": 824 }, "name": "bytes", "referenced_declaration": 0, @@ -18671,7 +18949,7 @@ ] }, "body": { - "id": 825, + "id": 826, "node_type": 46, "kind": 0, "src": { @@ -18680,12 +18958,12 @@ "start": 6235, "end": 6612, "length": 378, - "parent_index": 817 + "parent_index": 818 }, "implemented": true, "statements": [ { - "id": 826, + "id": 827, "node_type": 24, "kind": 24, "src": { @@ -18694,7 +18972,7 @@ "start": 6245, "end": 6310, "length": 66, - "parent_index": 825 + "parent_index": 826 }, "argument_types": [ { @@ -18708,7 +18986,7 @@ ], "arguments": [ { - "id": 828, + "id": 829, "is_constant": false, "is_pure": false, "node_type": 19, @@ -18718,11 +18996,11 @@ "start": 6253, "end": 6262, "length": 10, - "parent_index": 826 + "parent_index": 827 }, "operator": 7, "left_expression": { - "id": 829, + "id": 830, "node_type": 16, "src": { "line": 212, @@ -18730,7 +19008,7 @@ "start": 6253, "end": 6258, "length": 6, - "parent_index": 828 + "parent_index": 829 }, "name": "amount", "type_description": { @@ -18739,10 +19017,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 62, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { - "id": 830, + "id": 831, "node_type": 17, "kind": 49, "value": "0", @@ -18753,7 +19032,7 @@ "start": 6262, "end": 6262, "length": 1, - "parent_index": 828 + "parent_index": 829 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -18761,7 +19040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -18769,7 +19049,7 @@ } }, { - "id": 831, + "id": 832, "node_type": 17, "kind": 50, "value": "Recharge quantity must be greater than zero", @@ -18780,7 +19060,7 @@ "start": 6265, "end": 6309, "length": 45, - "parent_index": 826 + "parent_index": 827 }, "type_description": { "type_identifier": "t_string_literal", @@ -18794,11 +19074,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Recharge quantity must be greater than zero\"" } ], "expression": { - "id": 827, + "id": 828, "node_type": 16, "src": { "line": 212, @@ -18806,7 +19087,7 @@ "start": 6245, "end": 6251, "length": 7, - "parent_index": 826 + "parent_index": 827 }, "name": "require", "type_description": { @@ -18815,7 +19096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -18823,7 +19105,7 @@ } }, { - "id": 832, + "id": 833, "node_type": 44, "src": { "line": 213, @@ -18831,25 +19113,25 @@ "start": 6321, "end": 6393, "length": 73, - "parent_index": 825 + "parent_index": 826 }, "assignments": [ - 833 + 834 ], "declarations": [ { - "id": 833, + "id": 834, "state_mutability": 1, "name": "signer", "node_type": 44, - "scope": 825, + "scope": 826, "src": { "line": 213, "column": 8, "start": 6321, "end": 6334, "length": 14, - "parent_index": 832 + "parent_index": 833 }, "name_location": { "line": 213, @@ -18857,12 +19139,12 @@ "start": 6329, "end": 6334, "length": 6, - "parent_index": 833 + "parent_index": 834 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 834, + "id": 835, "node_type": 30, "src": { "line": 213, @@ -18870,7 +19152,7 @@ "start": 6321, "end": 6327, "length": 7, - "parent_index": 833 + "parent_index": 834 }, "name": "address", "state_mutability": 4, @@ -18884,7 +19166,7 @@ } ], "initial_value": { - "id": 835, + "id": 836, "node_type": 24, "kind": 24, "src": { @@ -18893,7 +19175,7 @@ "start": 6338, "end": 6392, "length": 55, - "parent_index": 832 + "parent_index": 833 }, "argument_types": [ { @@ -18915,7 +19197,7 @@ ], "arguments": [ { - "id": 837, + "id": 838, "node_type": 16, "src": { "line": 213, @@ -18923,7 +19205,7 @@ "start": 6354, "end": 6360, "length": 7, - "parent_index": 835 + "parent_index": 836 }, "name": "orderId", "type_description": { @@ -18932,10 +19214,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "orderId" }, { - "id": 838, + "id": 839, "node_type": 16, "src": { "line": 213, @@ -18943,7 +19226,7 @@ "start": 6363, "end": 6368, "length": 6, - "parent_index": 835 + "parent_index": 836 }, "name": "amount", "type_description": { @@ -18958,10 +19241,11 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" }, { - "id": 839, + "id": 840, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -18973,7 +19257,7 @@ "start": 6371, "end": 6380, "length": 10, - "parent_index": 835 + "parent_index": 836 }, "member_location": { "line": 213, @@ -18981,10 +19265,10 @@ "start": 6375, "end": 6380, "length": 6, - "parent_index": 839 + "parent_index": 840 }, "expression": { - "id": 840, + "id": 841, "node_type": 16, "src": { "line": 213, @@ -18992,7 +19276,7 @@ "start": 6371, "end": 6373, "length": 3, - "parent_index": 839 + "parent_index": 840 }, "name": "msg", "type_description": { @@ -19001,7 +19285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -19017,10 +19302,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 841, + "id": 842, "node_type": 16, "src": { "line": 213, @@ -19028,7 +19314,7 @@ "start": 6383, "end": 6391, "length": 9, - "parent_index": 835 + "parent_index": 836 }, "name": "signature", "type_description": { @@ -19051,11 +19337,12 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "signature" } ], "expression": { - "id": 836, + "id": 837, "node_type": 16, "src": { "line": 213, @@ -19063,7 +19350,7 @@ "start": 6338, "end": 6352, "length": 15, - "parent_index": 835 + "parent_index": 836 }, "name": "findOrderSigner", "type_description": { @@ -19072,7 +19359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "findOrderSigner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_function_$_t_function_$_t_address$", @@ -19081,7 +19369,7 @@ } }, { - "id": 842, + "id": 843, "node_type": 24, "kind": 24, "src": { @@ -19090,7 +19378,7 @@ "start": 6403, "end": 6464, "length": 62, - "parent_index": 825 + "parent_index": 826 }, "argument_types": [ { @@ -19104,7 +19392,7 @@ ], "arguments": [ { - "id": 844, + "id": 845, "is_constant": false, "is_pure": false, "node_type": 19, @@ -19114,11 +19402,11 @@ "start": 6411, "end": 6427, "length": 17, - "parent_index": 842 + "parent_index": 843 }, "operator": 11, "left_expression": { - "id": 845, + "id": 846, "node_type": 16, "src": { "line": 214, @@ -19126,7 +19414,7 @@ "start": 6411, "end": 6416, "length": 6, - "parent_index": 844 + "parent_index": 845 }, "name": "signer", "type_description": { @@ -19134,11 +19422,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 832, - "is_pure": false + "referenced_declaration": 833, + "is_pure": false, + "text": "signer" }, "right_expression": { - "id": 846, + "id": 847, "node_type": 16, "src": { "line": 214, @@ -19146,7 +19435,7 @@ "start": 6421, "end": 6427, "length": 7, - "parent_index": 844 + "parent_index": 845 }, "name": "_signer", "type_description": { @@ -19155,7 +19444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 720, - "is_pure": false + "is_pure": false, + "text": "_signer" }, "type_description": { "type_identifier": "t_bool", @@ -19163,7 +19453,7 @@ } }, { - "id": 847, + "id": 848, "node_type": 17, "kind": 50, "value": "The signature address is invalid", @@ -19174,7 +19464,7 @@ "start": 6430, "end": 6463, "length": 34, - "parent_index": 842 + "parent_index": 843 }, "type_description": { "type_identifier": "t_string_literal", @@ -19188,11 +19478,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"The signature address is invalid\"" } ], "expression": { - "id": 843, + "id": 844, "node_type": 16, "src": { "line": 214, @@ -19200,7 +19491,7 @@ "start": 6403, "end": 6409, "length": 7, - "parent_index": 842 + "parent_index": 843 }, "name": "require", "type_description": { @@ -19209,7 +19500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19217,7 +19509,7 @@ } }, { - "id": 848, + "id": 849, "node_type": 44, "src": { "line": 215, @@ -19225,25 +19517,25 @@ "start": 6475, "end": 6515, "length": 41, - "parent_index": 825 + "parent_index": 826 }, "assignments": [ - 849 + 850 ], "declarations": [ { - "id": 849, + "id": 850, "state_mutability": 1, "name": "record", "node_type": 44, - "scope": 825, + "scope": 826, "src": { "line": 215, "column": 8, "start": 6475, "end": 6495, "length": 21, - "parent_index": 848 + "parent_index": 849 }, "name_location": { "line": 215, @@ -19251,12 +19543,12 @@ "start": 6490, "end": 6495, "length": 6, - "parent_index": 849 + "parent_index": 850 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 850, + "id": 851, "node_type": 69, "src": { "line": 215, @@ -19264,20 +19556,20 @@ "start": 6475, "end": 6480, "length": 6, - "parent_index": 849 + "parent_index": 850 }, "path_node": { - "id": 851, + "id": 852, "name": "Record", "node_type": 52, - "referenced_declaration": 805, + "referenced_declaration": 806, "src": { "line": 215, "column": 8, "start": 6475, "end": 6480, "length": 6, - "parent_index": 850 + "parent_index": 851 }, "name_location": { "line": 215, @@ -19285,12 +19577,12 @@ "start": 6475, "end": 6480, "length": 6, - "parent_index": 850 + "parent_index": 851 } }, - "referenced_declaration": 805, + "referenced_declaration": 806, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" } }, @@ -19298,7 +19590,7 @@ } ], "initial_value": { - "id": 852, + "id": 853, "node_type": 22, "src": { "line": 215, @@ -19306,10 +19598,10 @@ "start": 6499, "end": 6514, "length": 16, - "parent_index": 848 + "parent_index": 849 }, "index_expression": { - "id": 853, + "id": 854, "node_type": 16, "src": { "line": 215, @@ -19317,19 +19609,20 @@ "start": 6499, "end": 6505, "length": 7, - "parent_index": 852 + "parent_index": 853 }, "name": "records", "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_Record$", + "type_identifier": "t_mapping_$t_uint256_$t_unknown_726$", "type_string": "mapping(uint256=\u003eRecord)" }, "overloaded_declarations": [], "referenced_declaration": 723, - "is_pure": false + "is_pure": false, + "text": "records" }, "base_expression": { - "id": 854, + "id": 855, "node_type": 16, "src": { "line": 215, @@ -19337,7 +19630,7 @@ "start": 6507, "end": 6513, "length": 7, - "parent_index": 852 + "parent_index": 853 }, "name": "orderId", "type_description": { @@ -19345,12 +19638,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 730, - "is_pure": false + "referenced_declaration": 731, + "is_pure": false, + "text": "orderId" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_uint256_$t_Record$", + "type_identifier": "t_mapping_$t_uint256_$t_unknown_726$", "type_string": "mapping(uint256=\u003eRecord)" }, { @@ -19359,13 +19653,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_Record$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_unknown_726$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eRecord):uint256]" } } }, { - "id": 855, + "id": 856, "node_type": 24, "kind": 24, "src": { @@ -19374,7 +19668,7 @@ "start": 6525, "end": 6594, "length": 70, - "parent_index": 825 + "parent_index": 826 }, "argument_types": [ { @@ -19388,7 +19682,7 @@ ], "arguments": [ { - "id": 857, + "id": 858, "is_constant": false, "is_pure": false, "node_type": 19, @@ -19398,11 +19692,11 @@ "start": 6533, "end": 6554, "length": 22, - "parent_index": 855 + "parent_index": 856 }, "operator": 11, "left_expression": { - "id": 858, + "id": 859, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -19414,7 +19708,7 @@ "start": 6533, "end": 6549, "length": 17, - "parent_index": 857 + "parent_index": 858 }, "member_location": { "line": 216, @@ -19422,10 +19716,10 @@ "start": 6540, "end": 6549, "length": 10, - "parent_index": 858 + "parent_index": 859 }, "expression": { - "id": 859, + "id": 860, "node_type": 16, "src": { "line": 216, @@ -19433,26 +19727,28 @@ "start": 6533, "end": 6538, "length": 6, - "parent_index": 858 + "parent_index": 859 }, "name": "record", "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" }, "overloaded_declarations": [], - "referenced_declaration": 848, - "is_pure": false + "referenced_declaration": 849, + "is_pure": false, + "text": "record" }, "member_name": "createTime", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.createTime" }, "right_expression": { - "id": 860, + "id": 861, "node_type": 17, "kind": 49, "value": "0", @@ -19463,7 +19759,7 @@ "start": 6554, "end": 6554, "length": 1, - "parent_index": 857 + "parent_index": 858 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -19471,7 +19767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -19479,7 +19776,7 @@ } }, { - "id": 861, + "id": 862, "node_type": 17, "kind": 50, "value": "The signature has already been used", @@ -19490,7 +19787,7 @@ "start": 6557, "end": 6593, "length": 37, - "parent_index": 855 + "parent_index": 856 }, "type_description": { "type_identifier": "t_string_literal", @@ -19504,11 +19801,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"The signature has already been used\"" } ], "expression": { - "id": 856, + "id": 857, "node_type": 16, "src": { "line": 216, @@ -19516,7 +19814,7 @@ "start": 6525, "end": 6531, "length": 7, - "parent_index": 855 + "parent_index": 856 }, "name": "require", "type_description": { @@ -19525,7 +19823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19533,7 +19832,7 @@ } }, { - "id": 862, + "id": 863, "node_type": 82, "src": { "line": 217, @@ -19541,7 +19840,7 @@ "start": 6605, "end": 6605, "length": 1, - "parent_index": 825 + "parent_index": 826 }, "name": "_", "type_description": { @@ -19550,13 +19849,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 864, + "id": 865, "name": "pledge", "node_type": 42, "kind": 41, @@ -19574,10 +19874,10 @@ "start": 6628, "end": 6633, "length": 6, - "parent_index": 864 + "parent_index": 865 }, "body": { - "id": 878, + "id": 879, "node_type": 46, "kind": 0, "src": { @@ -19586,12 +19886,12 @@ "start": 6748, "end": 7280, "length": 533, - "parent_index": 864 + "parent_index": 865 }, "implemented": true, "statements": [ { - "id": 879, + "id": 880, "node_type": 24, "kind": 24, "src": { @@ -19600,7 +19900,7 @@ "start": 6758, "end": 6823, "length": 66, - "parent_index": 878 + "parent_index": 879 }, "argument_types": [ { @@ -19614,7 +19914,7 @@ ], "arguments": [ { - "id": 881, + "id": 882, "is_constant": false, "is_pure": false, "node_type": 19, @@ -19624,11 +19924,11 @@ "start": 6766, "end": 6775, "length": 10, - "parent_index": 879 + "parent_index": 880 }, "operator": 7, "left_expression": { - "id": 882, + "id": 883, "node_type": 16, "src": { "line": 221, @@ -19636,7 +19936,7 @@ "start": 6766, "end": 6771, "length": 6, - "parent_index": 881 + "parent_index": 882 }, "name": "amount", "type_description": { @@ -19644,11 +19944,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 882, - "is_pure": false + "referenced_declaration": 883, + "is_pure": false, + "text": "amount" }, "right_expression": { - "id": 883, + "id": 884, "node_type": 17, "kind": 49, "value": "0", @@ -19659,7 +19960,7 @@ "start": 6775, "end": 6775, "length": 1, - "parent_index": 881 + "parent_index": 882 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -19667,7 +19968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -19675,7 +19977,7 @@ } }, { - "id": 884, + "id": 885, "node_type": 17, "kind": 50, "value": "Recharge quantity must be greater than zero", @@ -19686,7 +19988,7 @@ "start": 6778, "end": 6822, "length": 45, - "parent_index": 879 + "parent_index": 880 }, "type_description": { "type_identifier": "t_string_literal", @@ -19700,11 +20002,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Recharge quantity must be greater than zero\"" } ], "expression": { - "id": 880, + "id": 881, "node_type": 16, "src": { "line": 221, @@ -19712,7 +20015,7 @@ "start": 6758, "end": 6764, "length": 7, - "parent_index": 879 + "parent_index": 880 }, "name": "require", "type_description": { @@ -19721,7 +20024,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19729,7 +20033,7 @@ } }, { - "id": 885, + "id": 886, "node_type": 24, "kind": 24, "src": { @@ -19738,7 +20042,7 @@ "start": 6834, "end": 6884, "length": 51, - "parent_index": 878 + "parent_index": 879 }, "argument_types": [ { @@ -19756,7 +20060,7 @@ ], "arguments": [ { - "id": 890, + "id": 891, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -19768,7 +20072,7 @@ "start": 6861, "end": 6870, "length": 10, - "parent_index": 885 + "parent_index": 886 }, "member_location": { "line": 222, @@ -19776,10 +20080,10 @@ "start": 6865, "end": 6870, "length": 6, - "parent_index": 890 + "parent_index": 891 }, "expression": { - "id": 891, + "id": 892, "node_type": 16, "src": { "line": 222, @@ -19787,7 +20091,7 @@ "start": 6861, "end": 6863, "length": 3, - "parent_index": 890 + "parent_index": 891 }, "name": "msg", "type_description": { @@ -19796,17 +20100,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 892, + "id": 893, "node_type": 16, "src": { "line": 222, @@ -19814,7 +20120,7 @@ "start": 6873, "end": 6875, "length": 3, - "parent_index": 885 + "parent_index": 886 }, "name": "_to", "type_description": { @@ -19829,10 +20135,11 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_to" }, { - "id": 893, + "id": 894, "node_type": 16, "src": { "line": 222, @@ -19840,7 +20147,7 @@ "start": 6878, "end": 6883, "length": 6, - "parent_index": 885 + "parent_index": 886 }, "name": "amount", "type_description": { @@ -19848,7 +20155,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 893, + "referenced_declaration": 894, "is_pure": false, "argument_types": [ { @@ -19859,11 +20166,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "amount" } ], "expression": { - "id": 886, + "id": 887, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -19875,7 +20183,7 @@ "start": 6834, "end": 6859, "length": 26, - "parent_index": 885 + "parent_index": 886 }, "member_location": { "line": 222, @@ -19883,10 +20191,10 @@ "start": 6848, "end": 6859, "length": 12, - "parent_index": 886 + "parent_index": 887 }, "expression": { - "id": 887, + "id": 888, "node_type": 24, "kind": 24, "src": { @@ -19895,7 +20203,7 @@ "start": 6834, "end": 6846, "length": 13, - "parent_index": 886 + "parent_index": 887 }, "argument_types": [ { @@ -19905,7 +20213,7 @@ ], "arguments": [ { - "id": 889, + "id": 890, "node_type": 16, "src": { "line": 222, @@ -19913,7 +20221,7 @@ "start": 6841, "end": 6845, "length": 5, - "parent_index": 887 + "parent_index": 888 }, "name": "_usdt", "type_description": { @@ -19922,11 +20230,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_usdt" } ], "expression": { - "id": 888, + "id": 889, "node_type": 16, "src": { "line": 222, @@ -19934,7 +20243,7 @@ "start": 6834, "end": 6839, "length": 6, - "parent_index": 887 + "parent_index": 888 }, "name": "IBEP20", "type_description": { @@ -19943,7 +20252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBEP20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -19955,7 +20265,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IBEP20(_usdt).transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -19963,7 +20274,7 @@ } }, { - "id": 894, + "id": 895, "node_type": 44, "src": { "line": 223, @@ -19971,25 +20282,25 @@ "start": 6895, "end": 6928, "length": 34, - "parent_index": 878 + "parent_index": 879 }, "assignments": [ - 895 + 896 ], "declarations": [ { - "id": 895, + "id": 896, "state_mutability": 1, "name": "eAmount", "node_type": 44, - "scope": 878, + "scope": 879, "src": { "line": 223, "column": 8, "start": 6895, "end": 6909, "length": 15, - "parent_index": 894 + "parent_index": 895 }, "name_location": { "line": 223, @@ -19997,12 +20308,12 @@ "start": 6903, "end": 6909, "length": 7, - "parent_index": 895 + "parent_index": 896 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 896, + "id": 897, "node_type": 30, "src": { "line": 223, @@ -20010,7 +20321,7 @@ "start": 6895, "end": 6901, "length": 7, - "parent_index": 895 + "parent_index": 896 }, "name": "uint256", "referenced_declaration": 0, @@ -20023,7 +20334,7 @@ } ], "initial_value": { - "id": 897, + "id": 898, "node_type": 24, "kind": 24, "src": { @@ -20032,7 +20343,7 @@ "start": 6913, "end": 6927, "length": 15, - "parent_index": 894 + "parent_index": 895 }, "argument_types": [ { @@ -20042,7 +20353,7 @@ ], "arguments": [ { - "id": 899, + "id": 900, "node_type": 16, "src": { "line": 223, @@ -20050,7 +20361,7 @@ "start": 6921, "end": 6926, "length": 6, - "parent_index": 897 + "parent_index": 898 }, "name": "amount", "type_description": { @@ -20058,12 +20369,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 899, - "is_pure": false + "referenced_declaration": 900, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 898, + "id": 899, "node_type": 16, "src": { "line": 223, @@ -20071,7 +20383,7 @@ "start": 6913, "end": 6919, "length": 7, - "parent_index": 897 + "parent_index": 898 }, "name": "calcEaf", "type_description": { @@ -20080,7 +20392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "calcEaf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -20089,7 +20402,7 @@ } }, { - "id": 900, + "id": 901, "node_type": 24, "kind": 24, "src": { @@ -20098,7 +20411,7 @@ "start": 6938, "end": 6988, "length": 51, - "parent_index": 878 + "parent_index": 879 }, "argument_types": [ { @@ -20116,7 +20429,7 @@ ], "arguments": [ { - "id": 905, + "id": 906, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20128,7 +20441,7 @@ "start": 6964, "end": 6973, "length": 10, - "parent_index": 900 + "parent_index": 901 }, "member_location": { "line": 224, @@ -20136,10 +20449,10 @@ "start": 6968, "end": 6973, "length": 6, - "parent_index": 905 + "parent_index": 906 }, "expression": { - "id": 906, + "id": 907, "node_type": 16, "src": { "line": 224, @@ -20147,7 +20460,7 @@ "start": 6964, "end": 6966, "length": 3, - "parent_index": 905 + "parent_index": 906 }, "name": "msg", "type_description": { @@ -20156,17 +20469,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 907, + "id": 908, "node_type": 16, "src": { "line": 224, @@ -20174,7 +20489,7 @@ "start": 6976, "end": 6978, "length": 3, - "parent_index": 900 + "parent_index": 901 }, "name": "_to", "type_description": { @@ -20189,10 +20504,11 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_to" }, { - "id": 908, + "id": 909, "node_type": 16, "src": { "line": 224, @@ -20200,7 +20516,7 @@ "start": 6981, "end": 6987, "length": 7, - "parent_index": 900 + "parent_index": 901 }, "name": "eAmount", "type_description": { @@ -20208,7 +20524,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 894, + "referenced_declaration": 895, "is_pure": false, "argument_types": [ { @@ -20219,11 +20535,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "eAmount" } ], "expression": { - "id": 901, + "id": 902, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20235,7 +20552,7 @@ "start": 6938, "end": 6962, "length": 25, - "parent_index": 900 + "parent_index": 901 }, "member_location": { "line": 224, @@ -20243,10 +20560,10 @@ "start": 6951, "end": 6962, "length": 12, - "parent_index": 901 + "parent_index": 902 }, "expression": { - "id": 902, + "id": 903, "node_type": 24, "kind": 24, "src": { @@ -20255,7 +20572,7 @@ "start": 6938, "end": 6949, "length": 12, - "parent_index": 901 + "parent_index": 902 }, "argument_types": [ { @@ -20265,7 +20582,7 @@ ], "arguments": [ { - "id": 904, + "id": 905, "node_type": 16, "src": { "line": 224, @@ -20273,7 +20590,7 @@ "start": 6945, "end": 6948, "length": 4, - "parent_index": 902 + "parent_index": 903 }, "name": "_eaf", "type_description": { @@ -20282,11 +20599,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_eaf" } ], "expression": { - "id": 903, + "id": 904, "node_type": 16, "src": { "line": 224, @@ -20294,7 +20612,7 @@ "start": 6938, "end": 6943, "length": 6, - "parent_index": 902 + "parent_index": 903 }, "name": "IBEP20", "type_description": { @@ -20303,7 +20621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBEP20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -20315,7 +20634,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IBEP20(_eaf).transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -20323,7 +20643,7 @@ } }, { - "id": 909, + "id": 910, "node_type": 44, "src": { "line": 225, @@ -20331,25 +20651,25 @@ "start": 6999, "end": 7039, "length": 41, - "parent_index": 878 + "parent_index": 879 }, "assignments": [ - 910 + 911 ], "declarations": [ { - "id": 910, + "id": 911, "state_mutability": 1, "name": "record", "node_type": 44, - "scope": 878, + "scope": 879, "src": { "line": 225, "column": 8, "start": 6999, "end": 7019, "length": 21, - "parent_index": 909 + "parent_index": 910 }, "name_location": { "line": 225, @@ -20357,12 +20677,12 @@ "start": 7014, "end": 7019, "length": 6, - "parent_index": 910 + "parent_index": 911 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 911, + "id": 912, "node_type": 69, "src": { "line": 225, @@ -20370,20 +20690,20 @@ "start": 6999, "end": 7004, "length": 6, - "parent_index": 910 + "parent_index": 911 }, "path_node": { - "id": 912, + "id": 913, "name": "Record", "node_type": 52, - "referenced_declaration": 805, + "referenced_declaration": 806, "src": { "line": 225, "column": 8, "start": 6999, "end": 7004, "length": 6, - "parent_index": 911 + "parent_index": 912 }, "name_location": { "line": 225, @@ -20391,12 +20711,12 @@ "start": 6999, "end": 7004, "length": 6, - "parent_index": 911 + "parent_index": 912 } }, - "referenced_declaration": 805, + "referenced_declaration": 806, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" } }, @@ -20404,7 +20724,7 @@ } ], "initial_value": { - "id": 913, + "id": 914, "node_type": 22, "src": { "line": 225, @@ -20412,10 +20732,10 @@ "start": 7023, "end": 7038, "length": 16, - "parent_index": 909 + "parent_index": 910 }, "index_expression": { - "id": 914, + "id": 915, "node_type": 16, "src": { "line": 225, @@ -20423,19 +20743,20 @@ "start": 7023, "end": 7029, "length": 7, - "parent_index": 913 + "parent_index": 914 }, "name": "records", "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_Record$", + "type_identifier": "t_mapping_$t_uint256_$t_unknown_726$", "type_string": "mapping(uint256=\u003eRecord)" }, "overloaded_declarations": [], "referenced_declaration": 723, - "is_pure": false + "is_pure": false, + "text": "records" }, "base_expression": { - "id": 915, + "id": 916, "node_type": 16, "src": { "line": 225, @@ -20443,7 +20764,7 @@ "start": 7031, "end": 7037, "length": 7, - "parent_index": 913 + "parent_index": 914 }, "name": "orderId", "type_description": { @@ -20451,12 +20772,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 915, - "is_pure": false + "referenced_declaration": 916, + "is_pure": false, + "text": "orderId" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_uint256_$t_Record$", + "type_identifier": "t_mapping_$t_uint256_$t_unknown_726$", "type_string": "mapping(uint256=\u003eRecord)" }, { @@ -20465,13 +20787,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_Record$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_unknown_726$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eRecord):uint256]" } } }, { - "id": 916, + "id": 917, "node_type": 27, "src": { "line": 226, @@ -20479,10 +20801,10 @@ "start": 7049, "end": 7073, "length": 25, - "parent_index": 878 + "parent_index": 879 }, "expression": { - "id": 917, + "id": 918, "node_type": 27, "src": { "line": 226, @@ -20490,11 +20812,11 @@ "start": 7049, "end": 7072, "length": 24, - "parent_index": 916 + "parent_index": 917 }, "operator": 11, "left_expression": { - "id": 918, + "id": 919, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20506,7 +20828,7 @@ "start": 7049, "end": 7062, "length": 14, - "parent_index": 917 + "parent_index": 918 }, "member_location": { "line": 226, @@ -20514,10 +20836,10 @@ "start": 7056, "end": 7062, "length": 7, - "parent_index": 918 + "parent_index": 919 }, "expression": { - "id": 919, + "id": 920, "node_type": 16, "src": { "line": 226, @@ -20525,26 +20847,28 @@ "start": 7049, "end": 7054, "length": 6, - "parent_index": 918 + "parent_index": 919 }, "name": "record", "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" }, "overloaded_declarations": [], - "referenced_declaration": 909, - "is_pure": false + "referenced_declaration": 910, + "is_pure": false, + "text": "record" }, "member_name": "orderId", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.orderId" }, "right_expression": { - "id": 920, + "id": 921, "node_type": 16, "src": { "line": 226, @@ -20552,7 +20876,7 @@ "start": 7066, "end": 7072, "length": 7, - "parent_index": 917 + "parent_index": 918 }, "name": "orderId", "type_description": { @@ -20560,21 +20884,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 920, - "is_pure": false + "referenced_declaration": 921, + "is_pure": false, + "text": "orderId" }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" } }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.orderId=orderId;" }, { - "id": 921, + "id": 922, "node_type": 27, "src": { "line": 227, @@ -20582,10 +20908,10 @@ "start": 7083, "end": 7118, "length": 36, - "parent_index": 878 + "parent_index": 879 }, "expression": { - "id": 922, + "id": 923, "node_type": 27, "src": { "line": 227, @@ -20593,11 +20919,11 @@ "start": 7083, "end": 7117, "length": 35, - "parent_index": 921 + "parent_index": 922 }, "operator": 11, "left_expression": { - "id": 923, + "id": 924, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20609,7 +20935,7 @@ "start": 7083, "end": 7099, "length": 17, - "parent_index": 922 + "parent_index": 923 }, "member_location": { "line": 227, @@ -20617,10 +20943,10 @@ "start": 7090, "end": 7099, "length": 10, - "parent_index": 923 + "parent_index": 924 }, "expression": { - "id": 924, + "id": 925, "node_type": 16, "src": { "line": 227, @@ -20628,26 +20954,28 @@ "start": 7083, "end": 7088, "length": 6, - "parent_index": 923 + "parent_index": 924 }, "name": "record", "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" }, "overloaded_declarations": [], - "referenced_declaration": 909, - "is_pure": false + "referenced_declaration": 910, + "is_pure": false, + "text": "record" }, "member_name": "createTime", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.createTime" }, "right_expression": { - "id": 925, + "id": 926, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20659,7 +20987,7 @@ "start": 7103, "end": 7117, "length": 15, - "parent_index": 922 + "parent_index": 923 }, "member_location": { "line": 227, @@ -20667,10 +20995,10 @@ "start": 7109, "end": 7117, "length": 9, - "parent_index": 925 + "parent_index": 926 }, "expression": { - "id": 926, + "id": 927, "node_type": 16, "src": { "line": 227, @@ -20678,7 +21006,7 @@ "start": 7103, "end": 7107, "length": 5, - "parent_index": 925 + "parent_index": 926 }, "name": "block", "type_description": { @@ -20687,27 +21015,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" } }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.createTime=block.timestamp;" }, { - "id": 927, + "id": 928, "node_type": 27, "src": { "line": 228, @@ -20715,10 +21046,10 @@ "start": 7128, "end": 7152, "length": 25, - "parent_index": 878 + "parent_index": 879 }, "expression": { - "id": 928, + "id": 929, "node_type": 27, "src": { "line": 228, @@ -20726,11 +21057,11 @@ "start": 7128, "end": 7151, "length": 24, - "parent_index": 927 + "parent_index": 928 }, "operator": 11, "left_expression": { - "id": 929, + "id": 930, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20742,7 +21073,7 @@ "start": 7128, "end": 7138, "length": 11, - "parent_index": 928 + "parent_index": 929 }, "member_location": { "line": 228, @@ -20750,10 +21081,10 @@ "start": 7135, "end": 7138, "length": 4, - "parent_index": 929 + "parent_index": 930 }, "expression": { - "id": 930, + "id": 931, "node_type": 16, "src": { "line": 228, @@ -20761,26 +21092,28 @@ "start": 7128, "end": 7133, "length": 6, - "parent_index": 929 + "parent_index": 930 }, "name": "record", "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" }, "overloaded_declarations": [], - "referenced_declaration": 909, - "is_pure": false + "referenced_declaration": 910, + "is_pure": false, + "text": "record" }, "member_name": "user", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.user" }, "right_expression": { - "id": 931, + "id": 932, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20792,7 +21125,7 @@ "start": 7142, "end": 7151, "length": 10, - "parent_index": 928 + "parent_index": 929 }, "member_location": { "line": 228, @@ -20800,10 +21133,10 @@ "start": 7146, "end": 7151, "length": 6, - "parent_index": 931 + "parent_index": 932 }, "expression": { - "id": 932, + "id": 933, "node_type": 16, "src": { "line": 228, @@ -20811,7 +21144,7 @@ "start": 7142, "end": 7144, "length": 3, - "parent_index": 931 + "parent_index": 932 }, "name": "msg", "type_description": { @@ -20820,27 +21153,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" } }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.user=msg.sender;" }, { - "id": 933, + "id": 934, "node_type": 27, "src": { "line": 229, @@ -20848,10 +21184,10 @@ "start": 7162, "end": 7184, "length": 23, - "parent_index": 878 + "parent_index": 879 }, "expression": { - "id": 934, + "id": 935, "node_type": 27, "src": { "line": 229, @@ -20859,11 +21195,11 @@ "start": 7162, "end": 7183, "length": 22, - "parent_index": 933 + "parent_index": 934 }, "operator": 11, "left_expression": { - "id": 935, + "id": 936, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20875,7 +21211,7 @@ "start": 7162, "end": 7174, "length": 13, - "parent_index": 934 + "parent_index": 935 }, "member_location": { "line": 229, @@ -20883,10 +21219,10 @@ "start": 7169, "end": 7174, "length": 6, - "parent_index": 935 + "parent_index": 936 }, "expression": { - "id": 936, + "id": 937, "node_type": 16, "src": { "line": 229, @@ -20894,26 +21230,28 @@ "start": 7162, "end": 7167, "length": 6, - "parent_index": 935 + "parent_index": 936 }, "name": "record", "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" }, "overloaded_declarations": [], - "referenced_declaration": 909, - "is_pure": false + "referenced_declaration": 910, + "is_pure": false, + "text": "record" }, "member_name": "amount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.amount" }, "right_expression": { - "id": 937, + "id": 938, "node_type": 16, "src": { "line": 229, @@ -20921,7 +21259,7 @@ "start": 7178, "end": 7183, "length": 6, - "parent_index": 934 + "parent_index": 935 }, "name": "amount", "type_description": { @@ -20929,21 +21267,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 937, - "is_pure": false + "referenced_declaration": 938, + "is_pure": false, + "text": "amount" }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" } }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.amount=amount;" }, { - "id": 938, + "id": 939, "node_type": 27, "src": { "line": 230, @@ -20951,10 +21291,10 @@ "start": 7194, "end": 7220, "length": 27, - "parent_index": 878 + "parent_index": 879 }, "expression": { - "id": 939, + "id": 940, "node_type": 27, "src": { "line": 230, @@ -20962,11 +21302,11 @@ "start": 7194, "end": 7219, "length": 26, - "parent_index": 938 + "parent_index": 939 }, "operator": 11, "left_expression": { - "id": 940, + "id": 941, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20978,7 +21318,7 @@ "start": 7194, "end": 7209, "length": 16, - "parent_index": 939 + "parent_index": 940 }, "member_location": { "line": 230, @@ -20986,10 +21326,10 @@ "start": 7201, "end": 7209, "length": 9, - "parent_index": 940 + "parent_index": 941 }, "expression": { - "id": 941, + "id": 942, "node_type": 16, "src": { "line": 230, @@ -20997,26 +21337,28 @@ "start": 7194, "end": 7199, "length": 6, - "parent_index": 940 + "parent_index": 941 }, "name": "record", "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" }, "overloaded_declarations": [], - "referenced_declaration": 909, - "is_pure": false + "referenced_declaration": 910, + "is_pure": false, + "text": "record" }, "member_name": "eafAmount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.eafAmount" }, "right_expression": { - "id": 942, + "id": 943, "node_type": 16, "src": { "line": 230, @@ -21024,7 +21366,7 @@ "start": 7213, "end": 7219, "length": 7, - "parent_index": 939 + "parent_index": 940 }, "name": "eAmount", "type_description": { @@ -21032,21 +21374,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 894, - "is_pure": false + "referenced_declaration": 895, + "is_pure": false, + "text": "eAmount" }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" } }, "type_description": { - "type_identifier": "t_struct$_Pledge_Record_$805", + "type_identifier": "t_struct$_Pledge_Record_$806", "type_string": "struct Pledge.Record" - } + }, + "text": "record.eafAmount=eAmount;" }, { - "id": 943, + "id": 944, "node_type": 64, "src": { "line": 231, @@ -21054,11 +21398,11 @@ "start": 7230, "end": 7274, "length": 45, - "parent_index": 864 + "parent_index": 865 }, "arguments": [ { - "id": 944, + "id": 945, "node_type": 16, "src": { "line": 231, @@ -21066,7 +21410,7 @@ "start": 7246, "end": 7252, "length": 7, - "parent_index": 943 + "parent_index": 944 }, "name": "orderId", "type_description": { @@ -21074,11 +21418,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 944, - "is_pure": false + "referenced_declaration": 945, + "is_pure": false, + "text": "orderId" }, { - "id": 945, + "id": 946, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -21090,7 +21435,7 @@ "start": 7255, "end": 7264, "length": 10, - "parent_index": 943 + "parent_index": 944 }, "member_location": { "line": 231, @@ -21098,10 +21443,10 @@ "start": 7259, "end": 7264, "length": 6, - "parent_index": 945 + "parent_index": 946 }, "expression": { - "id": 946, + "id": 947, "node_type": 16, "src": { "line": 231, @@ -21109,7 +21454,7 @@ "start": 7255, "end": 7257, "length": 3, - "parent_index": 945 + "parent_index": 946 }, "name": "msg", "type_description": { @@ -21118,17 +21463,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 947, + "id": 948, "node_type": 16, "src": { "line": 231, @@ -21136,7 +21483,7 @@ "start": 7267, "end": 7272, "length": 6, - "parent_index": 943 + "parent_index": 944 }, "name": "amount", "type_description": { @@ -21144,12 +21491,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 947, - "is_pure": false + "referenced_declaration": 948, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 948, + "id": 949, "node_type": 16, "src": { "line": 231, @@ -21157,16 +21505,17 @@ "start": 7235, "end": 7244, "length": 10, - "parent_index": 943 + "parent_index": 944 }, "name": "PledgeSend", "type_description": { - "type_identifier": "t_event\u0026_Pledge_PledgeSend_\u0026728", + "type_identifier": "t_event\u0026_Pledge_PledgeSend_\u0026729", "type_string": "event Pledge.PledgeSend" }, "overloaded_declarations": [], - "referenced_declaration": 728, - "is_pure": false + "referenced_declaration": 729, + "is_pure": false, + "text": "PledgeSend" } } ] @@ -21177,7 +21526,7 @@ "virtual": false, "modifiers": [ { - "id": 872, + "id": 873, "name": "onlyValidRecharge", "node_type": 72, "kind": 72, @@ -21187,7 +21536,7 @@ "start": 6703, "end": 6747, "length": 45, - "parent_index": 864 + "parent_index": 865 }, "argument_types": [ { @@ -21205,7 +21554,7 @@ ], "arguments": [ { - "id": 874, + "id": 875, "node_type": 16, "src": { "line": 220, @@ -21213,7 +21562,7 @@ "start": 6721, "end": 6727, "length": 7, - "parent_index": 872 + "parent_index": 873 }, "name": "orderId", "type_description": { @@ -21221,11 +21570,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 874, - "is_pure": false + "referenced_declaration": 875, + "is_pure": false, + "text": "orderId" }, { - "id": 875, + "id": 876, "node_type": 16, "src": { "line": 220, @@ -21233,7 +21583,7 @@ "start": 6730, "end": 6735, "length": 6, - "parent_index": 872 + "parent_index": 873 }, "name": "amount", "type_description": { @@ -21241,11 +21591,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 875, - "is_pure": false + "referenced_declaration": 876, + "is_pure": false, + "text": "amount" }, { - "id": 876, + "id": 877, "node_type": 16, "src": { "line": 220, @@ -21253,7 +21604,7 @@ "start": 6738, "end": 6746, "length": 9, - "parent_index": 872 + "parent_index": 873 }, "name": "signature", "type_description": { @@ -21261,12 +21612,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 876, - "is_pure": false + "referenced_declaration": 877, + "is_pure": false, + "text": "signature" } ], "modifier_name": { - "id": 873, + "id": 874, "name": "onlyValidRecharge", "node_type": 0, "src": { @@ -21275,14 +21627,14 @@ "start": 6703, "end": 6719, "length": 17, - "parent_index": 872 + "parent_index": 873 } } } ], "overrides": [], "parameters": { - "id": 865, + "id": 866, "node_type": 43, "src": { "line": 220, @@ -21290,11 +21642,11 @@ "start": 6635, "end": 6691, "length": 57, - "parent_index": 864 + "parent_index": 865 }, "parameters": [ { - "id": 866, + "id": 867, "node_type": 44, "src": { "line": 220, @@ -21302,12 +21654,12 @@ "start": 6635, "end": 6649, "length": 15, - "parent_index": 865 + "parent_index": 866 }, - "scope": 864, + "scope": 865, "name": "orderId", "type_name": { - "id": 867, + "id": 868, "node_type": 30, "src": { "line": 220, @@ -21315,7 +21667,7 @@ "start": 6635, "end": 6641, "length": 7, - "parent_index": 866 + "parent_index": 867 }, "name": "uint256", "referenced_declaration": 0, @@ -21333,7 +21685,7 @@ } }, { - "id": 868, + "id": 869, "node_type": 44, "src": { "line": 220, @@ -21341,12 +21693,12 @@ "start": 6652, "end": 6665, "length": 14, - "parent_index": 865 + "parent_index": 866 }, - "scope": 864, + "scope": 865, "name": "amount", "type_name": { - "id": 869, + "id": 870, "node_type": 30, "src": { "line": 220, @@ -21354,7 +21706,7 @@ "start": 6652, "end": 6658, "length": 7, - "parent_index": 868 + "parent_index": 869 }, "name": "uint256", "referenced_declaration": 0, @@ -21372,7 +21724,7 @@ } }, { - "id": 870, + "id": 871, "node_type": 44, "src": { "line": 220, @@ -21380,12 +21732,12 @@ "start": 6668, "end": 6691, "length": 24, - "parent_index": 865 + "parent_index": 866 }, - "scope": 864, + "scope": 865, "name": "signature", "type_name": { - "id": 871, + "id": 872, "node_type": 30, "src": { "line": 220, @@ -21393,7 +21745,7 @@ "start": 6668, "end": 6672, "length": 5, - "parent_index": 870 + "parent_index": 871 }, "name": "bytes", "referenced_declaration": 0, @@ -21427,7 +21779,7 @@ ] }, "return_parameters": { - "id": 877, + "id": 878, "node_type": 43, "src": { "line": 220, @@ -21435,21 +21787,22 @@ "start": 6619, "end": 7280, "length": 662, - "parent_index": 864 + "parent_index": 865 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "pledge(uint256, uint256, bytes)", - "signature": "6167524e", + "signature_raw": "pledge(uint256,uint256,bytes)", + "signature": "7984d87e", "scope": 671, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_bytes$", "type_string": "function(uint256,uint256,bytes)" - } + }, + "text": "functionpledge(uint256orderId,uint256amount,bytescalldatasignature)externalonlyValidRecharge(orderId,amount,signature){require(amount\u003e0,\"Recharge quantity must be greater than zero\");IBEP20(_usdt).transferFrom(msg.sender,_to,amount);uint256eAmount=calcEaf(amount);IBEP20(_eaf).transferFrom(msg.sender,_to,eAmount);Recordstoragerecord=records[orderId];record.orderId=orderId;record.createTime=block.timestamp;record.user=msg.sender;record.amount=amount;record.eafAmount=eAmount;emitPledgeSend(orderId,msg.sender,amount);}" }, { - "id": 950, + "id": 951, "name": "calcEaf", "node_type": 42, "kind": 41, @@ -21467,10 +21820,10 @@ "start": 7296, "end": 7302, "length": 7, - "parent_index": 950 + "parent_index": 951 }, "body": { - "id": 957, + "id": 958, "node_type": 46, "kind": 0, "src": { @@ -21479,12 +21832,12 @@ "start": 7349, "end": 7535, "length": 187, - "parent_index": 950 + "parent_index": 951 }, "implemented": true, "statements": [ { - "id": 958, + "id": 959, "node_type": 44, "src": { "line": 235, @@ -21492,26 +21845,26 @@ "start": 7359, "end": 7407, "length": 49, - "parent_index": 957 + "parent_index": 958 }, "assignments": [ - 959, - 961 + 960, + 962 ], "declarations": [ { - "id": 959, + "id": 960, "state_mutability": 1, "name": "r0", "node_type": 44, - "scope": 957, + "scope": 958, "src": { "line": 235, "column": 9, "start": 7360, "end": 7369, "length": 10, - "parent_index": 958 + "parent_index": 959 }, "name_location": { "line": 235, @@ -21519,12 +21872,12 @@ "start": 7368, "end": 7369, "length": 2, - "parent_index": 959 + "parent_index": 960 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 960, + "id": 961, "node_type": 30, "src": { "line": 235, @@ -21532,7 +21885,7 @@ "start": 7360, "end": 7366, "length": 7, - "parent_index": 959 + "parent_index": 960 }, "name": "uint256", "referenced_declaration": 0, @@ -21544,18 +21897,18 @@ "visibility": 1 }, { - "id": 961, + "id": 962, "state_mutability": 1, "name": "r1", "node_type": 44, - "scope": 957, + "scope": 958, "src": { "line": 235, "column": 21, "start": 7372, "end": 7381, "length": 10, - "parent_index": 958 + "parent_index": 959 }, "name_location": { "line": 235, @@ -21563,12 +21916,12 @@ "start": 7380, "end": 7381, "length": 2, - "parent_index": 961 + "parent_index": 962 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 962, + "id": 963, "node_type": 30, "src": { "line": 235, @@ -21576,7 +21929,7 @@ "start": 7372, "end": 7378, "length": 7, - "parent_index": 961 + "parent_index": 962 }, "name": "uint256", "referenced_declaration": 0, @@ -21589,7 +21942,7 @@ } ], "initial_value": { - "id": 963, + "id": 964, "node_type": 24, "kind": 24, "src": { @@ -21598,12 +21951,12 @@ "start": 7388, "end": 7406, "length": 19, - "parent_index": 958 + "parent_index": 959 }, "argument_types": [], "arguments": [], "expression": { - "id": 964, + "id": 965, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -21615,7 +21968,7 @@ "start": 7388, "end": 7404, "length": 17, - "parent_index": 963 + "parent_index": 964 }, "member_location": { "line": 235, @@ -21623,10 +21976,10 @@ "start": 7394, "end": 7404, "length": 11, - "parent_index": 964 + "parent_index": 965 }, "expression": { - "id": 965, + "id": 966, "node_type": 16, "src": { "line": 235, @@ -21634,7 +21987,7 @@ "start": 7388, "end": 7392, "length": 5, - "parent_index": 964 + "parent_index": 965 }, "name": "_pair", "type_description": { @@ -21643,14 +21996,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 710, - "is_pure": false + "is_pure": false, + "text": "_pair" }, "member_name": "getReserves", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x9D570B40beBbb684CBafF9f4cb01Be87C0B166a0)" - } + }, + "text": "_pair.getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -21659,7 +22014,7 @@ } }, { - "id": 966, + "id": 967, "node_type": 44, "src": { "line": 236, @@ -21667,26 +22022,26 @@ "start": 7417, "end": 7489, "length": 73, - "parent_index": 957 + "parent_index": 958 }, "assignments": [ - 967, - 969 + 968, + 970 ], "declarations": [ { - "id": 967, + "id": 968, "state_mutability": 1, "name": "ru", "node_type": 44, - "scope": 957, + "scope": 958, "src": { "line": 236, "column": 9, "start": 7418, "end": 7427, "length": 10, - "parent_index": 966 + "parent_index": 967 }, "name_location": { "line": 236, @@ -21694,12 +22049,12 @@ "start": 7426, "end": 7427, "length": 2, - "parent_index": 967 + "parent_index": 968 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 968, + "id": 969, "node_type": 30, "src": { "line": 236, @@ -21707,7 +22062,7 @@ "start": 7418, "end": 7424, "length": 7, - "parent_index": 967 + "parent_index": 968 }, "name": "uint256", "referenced_declaration": 0, @@ -21719,18 +22074,18 @@ "visibility": 1 }, { - "id": 969, + "id": 970, "state_mutability": 1, "name": "re", "node_type": 44, - "scope": 957, + "scope": 958, "src": { "line": 236, "column": 21, "start": 7430, "end": 7439, "length": 10, - "parent_index": 966 + "parent_index": 967 }, "name_location": { "line": 236, @@ -21738,12 +22093,12 @@ "start": 7438, "end": 7439, "length": 2, - "parent_index": 969 + "parent_index": 970 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 970, + "id": 971, "node_type": 30, "src": { "line": 236, @@ -21751,7 +22106,7 @@ "start": 7430, "end": 7436, "length": 7, - "parent_index": 969 + "parent_index": 970 }, "name": "uint256", "referenced_declaration": 0, @@ -21764,7 +22119,7 @@ } ], "initial_value": { - "id": 972, + "id": 973, "node_type": 97, "src": { "line": 236, @@ -21772,11 +22127,11 @@ "start": 7444, "end": 7488, "length": 45, - "parent_index": 966 + "parent_index": 967 }, "expressions": [ { - "id": 973, + "id": 974, "is_constant": false, "is_pure": false, "node_type": 19, @@ -21786,11 +22141,11 @@ "start": 7444, "end": 7466, "length": 23, - "parent_index": 972 + "parent_index": 973 }, "operator": 11, "left_expression": { - "id": 974, + "id": 975, "node_type": 16, "src": { "line": 236, @@ -21798,7 +22153,7 @@ "start": 7444, "end": 7448, "length": 5, - "parent_index": 973 + "parent_index": 974 }, "name": "_usdt", "type_description": { @@ -21807,10 +22162,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 703, - "is_pure": false + "is_pure": false, + "text": "_usdt" }, "right_expression": { - "id": 975, + "id": 976, "node_type": 24, "kind": 24, "src": { @@ -21819,12 +22175,12 @@ "start": 7453, "end": 7466, "length": 14, - "parent_index": 966 + "parent_index": 967 }, "argument_types": [], "arguments": [], "expression": { - "id": 976, + "id": 977, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -21836,7 +22192,7 @@ "start": 7453, "end": 7464, "length": 12, - "parent_index": 975 + "parent_index": 976 }, "member_location": { "line": 236, @@ -21844,10 +22200,10 @@ "start": 7459, "end": 7464, "length": 6, - "parent_index": 976 + "parent_index": 977 }, "expression": { - "id": 977, + "id": 978, "node_type": 16, "src": { "line": 236, @@ -21855,7 +22211,7 @@ "start": 7453, "end": 7457, "length": 5, - "parent_index": 976 + "parent_index": 977 }, "name": "_pair", "type_description": { @@ -21864,14 +22220,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 710, - "is_pure": false + "is_pure": false, + "text": "_pair" }, "member_name": "token0", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x9D570B40beBbb684CBafF9f4cb01Be87C0B166a0)" - } + }, + "text": "_pair.token0" }, "type_description": { "type_identifier": "t_function_$", @@ -21884,7 +22242,7 @@ } }, { - "id": 978, + "id": 979, "node_type": 60, "src": { "line": 236, @@ -21892,13 +22250,13 @@ "start": 7470, "end": 7477, "length": 8, - "parent_index": 972 + "parent_index": 973 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 979, + "id": 980, "node_type": 16, "src": { "line": 236, @@ -21906,7 +22264,7 @@ "start": 7471, "end": 7472, "length": 2, - "parent_index": 978 + "parent_index": 979 }, "name": "r0", "type_description": { @@ -21914,11 +22272,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 958, - "is_pure": false + "referenced_declaration": 959, + "is_pure": false, + "text": "r0" }, { - "id": 980, + "id": 981, "node_type": 16, "src": { "line": 236, @@ -21926,7 +22285,7 @@ "start": 7475, "end": 7476, "length": 2, - "parent_index": 978 + "parent_index": 979 }, "name": "r1", "type_description": { @@ -21934,8 +22293,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 958, - "is_pure": false + "referenced_declaration": 959, + "is_pure": false, + "text": "r1" } ], "type_description": { @@ -21944,7 +22304,7 @@ } }, { - "id": 981, + "id": 982, "node_type": 60, "src": { "line": 236, @@ -21952,13 +22312,13 @@ "start": 7481, "end": 7488, "length": 8, - "parent_index": 972 + "parent_index": 973 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 982, + "id": 983, "node_type": 16, "src": { "line": 236, @@ -21966,7 +22326,7 @@ "start": 7482, "end": 7483, "length": 2, - "parent_index": 981 + "parent_index": 982 }, "name": "r1", "type_description": { @@ -21974,11 +22334,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 958, - "is_pure": false + "referenced_declaration": 959, + "is_pure": false, + "text": "r1" }, { - "id": 983, + "id": 984, "node_type": 16, "src": { "line": 236, @@ -21986,7 +22347,7 @@ "start": 7486, "end": 7487, "length": 2, - "parent_index": 981 + "parent_index": 982 }, "name": "r0", "type_description": { @@ -21994,8 +22355,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 958, - "is_pure": false + "referenced_declaration": 959, + "is_pure": false, + "text": "r0" } ], "type_description": { @@ -22022,7 +22384,7 @@ } }, { - "id": 984, + "id": 985, "node_type": 47, "src": { "line": 237, @@ -22030,11 +22392,11 @@ "start": 7499, "end": 7529, "length": 31, - "parent_index": 950 + "parent_index": 951 }, - "function_return_parameters": 950, + "function_return_parameters": 951, "expression": { - "id": 985, + "id": 986, "node_type": 24, "kind": 24, "src": { @@ -22043,7 +22405,7 @@ "start": 7506, "end": 7528, "length": 23, - "parent_index": 984 + "parent_index": 985 }, "argument_types": [ { @@ -22053,7 +22415,7 @@ ], "arguments": [ { - "id": 991, + "id": 992, "node_type": 16, "src": { "line": 237, @@ -22061,7 +22423,7 @@ "start": 7526, "end": 7527, "length": 2, - "parent_index": 985 + "parent_index": 986 }, "name": "ru", "type_description": { @@ -22069,12 +22431,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 966, - "is_pure": false + "referenced_declaration": 967, + "is_pure": false, + "text": "ru" } ], "expression": { - "id": 986, + "id": 987, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22086,7 +22449,7 @@ "start": 7506, "end": 7524, "length": 19, - "parent_index": 985 + "parent_index": 986 }, "member_location": { "line": 237, @@ -22094,10 +22457,10 @@ "start": 7522, "end": 7524, "length": 3, - "parent_index": 986 + "parent_index": 987 }, "expression": { - "id": 987, + "id": 988, "node_type": 24, "kind": 24, "src": { @@ -22106,7 +22469,7 @@ "start": 7506, "end": 7520, "length": 15, - "parent_index": 986 + "parent_index": 987 }, "argument_types": [ { @@ -22116,7 +22479,7 @@ ], "arguments": [ { - "id": 990, + "id": 991, "node_type": 16, "src": { "line": 237, @@ -22124,7 +22487,7 @@ "start": 7518, "end": 7519, "length": 2, - "parent_index": 987 + "parent_index": 988 }, "name": "re", "type_description": { @@ -22132,12 +22495,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 966, - "is_pure": false + "referenced_declaration": 967, + "is_pure": false, + "text": "re" } ], "expression": { - "id": 988, + "id": 989, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22149,7 +22513,7 @@ "start": 7506, "end": 7516, "length": 11, - "parent_index": 987 + "parent_index": 988 }, "member_location": { "line": 237, @@ -22157,10 +22521,10 @@ "start": 7514, "end": 7516, "length": 3, - "parent_index": 988 + "parent_index": 989 }, "expression": { - "id": 989, + "id": 990, "node_type": 16, "src": { "line": 237, @@ -22168,7 +22532,7 @@ "start": 7506, "end": 7512, "length": 7, - "parent_index": 988 + "parent_index": 989 }, "name": "uAmount", "type_description": { @@ -22176,15 +22540,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 989, - "is_pure": false + "referenced_declaration": 990, + "is_pure": false, + "text": "uAmount" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "uAmount.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -22196,7 +22562,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "uAmount.mul(re).div" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -22213,7 +22580,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 951, + "id": 952, "node_type": 43, "src": { "line": 234, @@ -22221,11 +22588,11 @@ "start": 7304, "end": 7318, "length": 15, - "parent_index": 950 + "parent_index": 951 }, "parameters": [ { - "id": 952, + "id": 953, "node_type": 44, "src": { "line": 234, @@ -22233,12 +22600,12 @@ "start": 7304, "end": 7318, "length": 15, - "parent_index": 951 + "parent_index": 952 }, - "scope": 950, + "scope": 951, "name": "uAmount", "type_name": { - "id": 953, + "id": 954, "node_type": 30, "src": { "line": 234, @@ -22246,7 +22613,7 @@ "start": 7304, "end": 7310, "length": 7, - "parent_index": 952 + "parent_index": 953 }, "name": "uint256", "referenced_declaration": 0, @@ -22272,7 +22639,7 @@ ] }, "return_parameters": { - "id": 954, + "id": 955, "node_type": 43, "src": { "line": 234, @@ -22280,11 +22647,11 @@ "start": 7341, "end": 7347, "length": 7, - "parent_index": 950 + "parent_index": 951 }, "parameters": [ { - "id": 955, + "id": 956, "node_type": 44, "src": { "line": 234, @@ -22292,12 +22659,12 @@ "start": 7341, "end": 7347, "length": 7, - "parent_index": 954 + "parent_index": 955 }, - "scope": 950, + "scope": 951, "name": "", "type_name": { - "id": 956, + "id": 957, "node_type": 30, "src": { "line": 234, @@ -22305,7 +22672,7 @@ "start": 7341, "end": 7347, "length": 7, - "parent_index": 955 + "parent_index": 956 }, "name": "uint256", "referenced_declaration": 0, @@ -22336,10 +22703,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functioncalcEaf(uint256uAmount)publicviewreturns(uint256){(uint256r0,uint256r1,)=_pair.getReserves();(uint256ru,uint256re)=_usdt==_pair.token0()?(r0,r1):(r1,r0);returnuAmount.mul(re).div(ru);}" }, { - "id": 993, + "id": 994, "name": "findSigner", "node_type": 42, "kind": 41, @@ -22357,10 +22725,10 @@ "start": 7551, "end": 7560, "length": 10, - "parent_index": 993 + "parent_index": 994 }, "body": { - "id": 1002, + "id": 1003, "node_type": 46, "kind": 0, "src": { @@ -22369,12 +22737,12 @@ "start": 7636, "end": 7788, "length": 153, - "parent_index": 993 + "parent_index": 994 }, "implemented": true, "statements": [ { - "id": 1003, + "id": 1004, "node_type": 44, "src": { "line": 241, @@ -22382,27 +22750,27 @@ "start": 7646, "end": 7704, "length": 59, - "parent_index": 1002 + "parent_index": 1003 }, "assignments": [ - 1004, - 1006, - 1008 + 1005, + 1007, + 1009 ], "declarations": [ { - "id": 1004, + "id": 1005, "state_mutability": 1, "name": "r", "node_type": 44, - "scope": 1002, + "scope": 1003, "src": { "line": 241, "column": 9, "start": 7647, "end": 7655, "length": 9, - "parent_index": 1003 + "parent_index": 1004 }, "name_location": { "line": 241, @@ -22410,12 +22778,12 @@ "start": 7655, "end": 7655, "length": 1, - "parent_index": 1004 + "parent_index": 1005 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1005, + "id": 1006, "node_type": 30, "src": { "line": 241, @@ -22423,7 +22791,7 @@ "start": 7647, "end": 7653, "length": 7, - "parent_index": 1004 + "parent_index": 1005 }, "name": "bytes32", "referenced_declaration": 0, @@ -22435,18 +22803,18 @@ "visibility": 1 }, { - "id": 1006, + "id": 1007, "state_mutability": 1, "name": "s", "node_type": 44, - "scope": 1002, + "scope": 1003, "src": { "line": 241, "column": 19, "start": 7657, "end": 7665, "length": 9, - "parent_index": 1003 + "parent_index": 1004 }, "name_location": { "line": 241, @@ -22454,12 +22822,12 @@ "start": 7665, "end": 7665, "length": 1, - "parent_index": 1006 + "parent_index": 1007 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1007, + "id": 1008, "node_type": 30, "src": { "line": 241, @@ -22467,7 +22835,7 @@ "start": 7657, "end": 7663, "length": 7, - "parent_index": 1006 + "parent_index": 1007 }, "name": "bytes32", "referenced_declaration": 0, @@ -22479,18 +22847,18 @@ "visibility": 1 }, { - "id": 1008, + "id": 1009, "state_mutability": 1, "name": "v", "node_type": 44, - "scope": 1002, + "scope": 1003, "src": { "line": 241, "column": 29, "start": 7667, "end": 7673, "length": 7, - "parent_index": 1003 + "parent_index": 1004 }, "name_location": { "line": 241, @@ -22498,12 +22866,12 @@ "start": 7673, "end": 7673, "length": 1, - "parent_index": 1008 + "parent_index": 1009 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1009, + "id": 1010, "node_type": 30, "src": { "line": 241, @@ -22511,7 +22879,7 @@ "start": 7667, "end": 7671, "length": 5, - "parent_index": 1008 + "parent_index": 1009 }, "name": "uint8", "referenced_declaration": 0, @@ -22524,7 +22892,7 @@ } ], "initial_value": { - "id": 1010, + "id": 1011, "node_type": 24, "kind": 24, "src": { @@ -22533,7 +22901,7 @@ "start": 7678, "end": 7703, "length": 26, - "parent_index": 1003 + "parent_index": 1004 }, "argument_types": [ { @@ -22543,7 +22911,7 @@ ], "arguments": [ { - "id": 1012, + "id": 1013, "node_type": 16, "src": { "line": 241, @@ -22551,7 +22919,7 @@ "start": 7694, "end": 7702, "length": 9, - "parent_index": 1010 + "parent_index": 1011 }, "name": "signature", "type_description": { @@ -22559,12 +22927,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 1012, - "is_pure": false + "referenced_declaration": 1013, + "is_pure": false, + "text": "signature" } ], "expression": { - "id": 1011, + "id": 1012, "node_type": 16, "src": { "line": 241, @@ -22572,7 +22941,7 @@ "start": 7678, "end": 7692, "length": 15, - "parent_index": 1010 + "parent_index": 1011 }, "name": "_signatureToRSV", "type_description": { @@ -22581,7 +22950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_signatureToRSV" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -22590,7 +22960,7 @@ } }, { - "id": 1013, + "id": 1014, "node_type": 44, "src": { "line": 242, @@ -22598,25 +22968,25 @@ "start": 7714, "end": 7759, "length": 46, - "parent_index": 1002 + "parent_index": 1003 }, "assignments": [ - 1014 + 1015 ], "declarations": [ { - "id": 1014, + "id": 1015, "state_mutability": 1, "name": "signer", "node_type": 44, - "scope": 1002, + "scope": 1003, "src": { "line": 242, "column": 8, "start": 7714, "end": 7727, "length": 14, - "parent_index": 1013 + "parent_index": 1014 }, "name_location": { "line": 242, @@ -22624,12 +22994,12 @@ "start": 7722, "end": 7727, "length": 6, - "parent_index": 1014 + "parent_index": 1015 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1015, + "id": 1016, "node_type": 30, "src": { "line": 242, @@ -22637,7 +23007,7 @@ "start": 7714, "end": 7720, "length": 7, - "parent_index": 1014 + "parent_index": 1015 }, "name": "address", "state_mutability": 4, @@ -22651,7 +23021,7 @@ } ], "initial_value": { - "id": 1016, + "id": 1017, "node_type": 24, "kind": 24, "src": { @@ -22660,7 +23030,7 @@ "start": 7731, "end": 7758, "length": 28, - "parent_index": 1013 + "parent_index": 1014 }, "argument_types": [ { @@ -22682,7 +23052,7 @@ ], "arguments": [ { - "id": 1018, + "id": 1019, "node_type": 16, "src": { "line": 242, @@ -22690,7 +23060,7 @@ "start": 7741, "end": 7748, "length": 8, - "parent_index": 1016 + "parent_index": 1017 }, "name": "contents", "type_description": { @@ -22698,11 +23068,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1018, - "is_pure": false + "referenced_declaration": 1019, + "is_pure": false, + "text": "contents" }, { - "id": 1019, + "id": 1020, "node_type": 16, "src": { "line": 242, @@ -22710,7 +23081,7 @@ "start": 7751, "end": 7751, "length": 1, - "parent_index": 1016 + "parent_index": 1017 }, "name": "v", "type_description": { @@ -22718,17 +23089,18 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 1003, + "referenced_declaration": 1004, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "v" }, { - "id": 1020, + "id": 1021, "node_type": 16, "src": { "line": 242, @@ -22736,7 +23108,7 @@ "start": 7754, "end": 7754, "length": 1, - "parent_index": 1016 + "parent_index": 1017 }, "name": "r", "type_description": { @@ -22744,7 +23116,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1003, + "referenced_declaration": 1004, "is_pure": false, "argument_types": [ { @@ -22755,10 +23127,11 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { - "id": 1021, + "id": 1022, "node_type": 16, "src": { "line": 242, @@ -22766,7 +23139,7 @@ "start": 7757, "end": 7757, "length": 1, - "parent_index": 1016 + "parent_index": 1017 }, "name": "s", "type_description": { @@ -22774,7 +23147,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1003, + "referenced_declaration": 1004, "is_pure": false, "argument_types": [ { @@ -22789,11 +23162,12 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { - "id": 1017, + "id": 1018, "node_type": 16, "src": { "line": 242, @@ -22801,7 +23175,7 @@ "start": 7731, "end": 7739, "length": 9, - "parent_index": 1016 + "parent_index": 1017 }, "name": "ecrecover", "type_description": { @@ -22810,7 +23184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ecrecover" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_uint8$_t_bytes32$_t_bytes32$", @@ -22819,7 +23194,7 @@ } }, { - "id": 1022, + "id": 1023, "node_type": 47, "src": { "line": 243, @@ -22827,11 +23202,11 @@ "start": 7769, "end": 7782, "length": 14, - "parent_index": 993 + "parent_index": 994 }, - "function_return_parameters": 993, + "function_return_parameters": 994, "expression": { - "id": 1023, + "id": 1024, "node_type": 16, "src": { "line": 243, @@ -22839,7 +23214,7 @@ "start": 7776, "end": 7781, "length": 6, - "parent_index": 1022 + "parent_index": 1023 }, "name": "signer", "type_description": { @@ -22847,8 +23222,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1013, - "is_pure": false + "referenced_declaration": 1014, + "is_pure": false, + "text": "signer" } } ] @@ -22860,7 +23236,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 994, + "id": 995, "node_type": 43, "src": { "line": 240, @@ -22868,11 +23244,11 @@ "start": 7562, "end": 7601, "length": 40, - "parent_index": 993 + "parent_index": 994 }, "parameters": [ { - "id": 995, + "id": 996, "node_type": 44, "src": { "line": 240, @@ -22880,12 +23256,12 @@ "start": 7562, "end": 7577, "length": 16, - "parent_index": 994 + "parent_index": 995 }, - "scope": 993, + "scope": 994, "name": "contents", "type_name": { - "id": 996, + "id": 997, "node_type": 30, "src": { "line": 240, @@ -22893,7 +23269,7 @@ "start": 7562, "end": 7568, "length": 7, - "parent_index": 995 + "parent_index": 996 }, "name": "bytes32", "referenced_declaration": 0, @@ -22911,7 +23287,7 @@ } }, { - "id": 997, + "id": 998, "node_type": 44, "src": { "line": 240, @@ -22919,12 +23295,12 @@ "start": 7580, "end": 7601, "length": 22, - "parent_index": 994 + "parent_index": 995 }, - "scope": 993, + "scope": 994, "name": "signature", "type_name": { - "id": 998, + "id": 999, "node_type": 30, "src": { "line": 240, @@ -22932,7 +23308,7 @@ "start": 7580, "end": 7584, "length": 5, - "parent_index": 997 + "parent_index": 998 }, "name": "bytes", "referenced_declaration": 0, @@ -22962,7 +23338,7 @@ ] }, "return_parameters": { - "id": 999, + "id": 1000, "node_type": 43, "src": { "line": 240, @@ -22970,11 +23346,11 @@ "start": 7627, "end": 7633, "length": 7, - "parent_index": 993 + "parent_index": 994 }, "parameters": [ { - "id": 1000, + "id": 1001, "node_type": 44, "src": { "line": 240, @@ -22982,12 +23358,12 @@ "start": 7627, "end": 7633, "length": 7, - "parent_index": 999 + "parent_index": 1000 }, - "scope": 993, + "scope": 994, "name": "", "type_name": { - "id": 1001, + "id": 1002, "node_type": 30, "src": { "line": 240, @@ -22995,7 +23371,7 @@ "start": 7627, "end": 7633, "length": 7, - "parent_index": 1000 + "parent_index": 1001 }, "name": "address", "state_mutability": 4, @@ -23021,16 +23397,17 @@ } ] }, - "signature_raw": "findSigner(bytes32, bytes)", - "signature": "a0ca47eb", + "signature_raw": "findSigner(bytes32,bytes)", + "signature": "50fef6c4", "scope": 671, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes$", "type_string": "function(bytes32,bytes)" - } + }, + "text": "functionfindSigner(bytes32contents,bytesmemorysignature)internalpurereturns(address){(bytes32r,bytes32s,uint8v)=_signatureToRSV(signature);addresssigner=ecrecover(contents,v,r,s);returnsigner;}" }, { - "id": 1025, + "id": 1026, "name": "findSigner", "node_type": 42, "kind": 41, @@ -23048,10 +23425,10 @@ "start": 7804, "end": 7813, "length": 10, - "parent_index": 1025 + "parent_index": 1026 }, "body": { - "id": 1034, + "id": 1035, "node_type": 46, "kind": 0, "src": { @@ -23060,12 +23437,12 @@ "start": 7894, "end": 7976, "length": 83, - "parent_index": 1025 + "parent_index": 1026 }, "implemented": true, "statements": [ { - "id": 1035, + "id": 1036, "node_type": 47, "src": { "line": 247, @@ -23073,11 +23450,11 @@ "start": 7904, "end": 7970, "length": 67, - "parent_index": 1025 + "parent_index": 1026 }, - "function_return_parameters": 1025, + "function_return_parameters": 1026, "expression": { - "id": 1036, + "id": 1037, "node_type": 24, "kind": 24, "src": { @@ -23086,7 +23463,7 @@ "start": 7911, "end": 7969, "length": 59, - "parent_index": 1035 + "parent_index": 1036 }, "argument_types": [ { @@ -23100,7 +23477,7 @@ ], "arguments": [ { - "id": 1038, + "id": 1039, "node_type": 24, "kind": 24, "src": { @@ -23109,7 +23486,7 @@ "start": 7922, "end": 7957, "length": 36, - "parent_index": 1036 + "parent_index": 1037 }, "argument_types": [ { @@ -23119,7 +23496,7 @@ ], "arguments": [ { - "id": 1040, + "id": 1041, "node_type": 24, "kind": 24, "src": { @@ -23128,7 +23505,7 @@ "start": 7932, "end": 7956, "length": 25, - "parent_index": 1038 + "parent_index": 1039 }, "argument_types": [ { @@ -23138,7 +23515,7 @@ ], "arguments": [ { - "id": 1043, + "id": 1044, "node_type": 16, "src": { "line": 247, @@ -23146,7 +23523,7 @@ "start": 7949, "end": 7955, "length": 7, - "parent_index": 1040 + "parent_index": 1041 }, "name": "content", "type_description": { @@ -23154,12 +23531,13 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 1043, - "is_pure": false + "referenced_declaration": 1044, + "is_pure": false, + "text": "content" } ], "expression": { - "id": 1041, + "id": 1042, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23171,7 +23549,7 @@ "start": 7932, "end": 7947, "length": 16, - "parent_index": 1040 + "parent_index": 1041 }, "member_location": { "line": 247, @@ -23179,10 +23557,10 @@ "start": 7936, "end": 7947, "length": 12, - "parent_index": 1041 + "parent_index": 1042 }, "expression": { - "id": 1042, + "id": 1043, "node_type": 16, "src": { "line": 247, @@ -23190,7 +23568,7 @@ "start": 7932, "end": 7934, "length": 3, - "parent_index": 1041 + "parent_index": 1042 }, "name": "abi", "type_description": { @@ -23199,14 +23577,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -23215,7 +23595,7 @@ } ], "expression": { - "id": 1039, + "id": 1040, "node_type": 16, "src": { "line": 247, @@ -23223,7 +23603,7 @@ "start": 7922, "end": 7930, "length": 9, - "parent_index": 1038 + "parent_index": 1039 }, "name": "keccak256", "type_description": { @@ -23232,7 +23612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string$", @@ -23240,7 +23621,7 @@ } }, { - "id": 1044, + "id": 1045, "node_type": 16, "src": { "line": 247, @@ -23248,7 +23629,7 @@ "start": 7960, "end": 7968, "length": 9, - "parent_index": 1036 + "parent_index": 1037 }, "name": "signature", "type_description": { @@ -23256,18 +23637,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 1044, + "referenced_declaration": 1045, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_function_$_t_string$", "type_string": "function(function(string))" } - ] + ], + "text": "signature" } ], "expression": { - "id": 1037, + "id": 1038, "node_type": 16, "src": { "line": 247, @@ -23275,7 +23657,7 @@ "start": 7911, "end": 7920, "length": 10, - "parent_index": 1036 + "parent_index": 1037 }, "name": "findSigner", "type_description": { @@ -23284,7 +23666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "findSigner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string$_t_bytes$", @@ -23301,7 +23684,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1026, + "id": 1027, "node_type": 43, "src": { "line": 246, @@ -23309,11 +23692,11 @@ "start": 7815, "end": 7861, "length": 47, - "parent_index": 1025 + "parent_index": 1026 }, "parameters": [ { - "id": 1027, + "id": 1028, "node_type": 44, "src": { "line": 246, @@ -23321,12 +23704,12 @@ "start": 7815, "end": 7835, "length": 21, - "parent_index": 1026 + "parent_index": 1027 }, - "scope": 1025, + "scope": 1026, "name": "content", "type_name": { - "id": 1028, + "id": 1029, "node_type": 30, "src": { "line": 246, @@ -23334,7 +23717,7 @@ "start": 7815, "end": 7820, "length": 6, - "parent_index": 1027 + "parent_index": 1028 }, "name": "string", "referenced_declaration": 0, @@ -23352,7 +23735,7 @@ } }, { - "id": 1029, + "id": 1030, "node_type": 44, "src": { "line": 246, @@ -23360,12 +23743,12 @@ "start": 7838, "end": 7861, "length": 24, - "parent_index": 1026 + "parent_index": 1027 }, - "scope": 1025, + "scope": 1026, "name": "signature", "type_name": { - "id": 1030, + "id": 1031, "node_type": 30, "src": { "line": 246, @@ -23373,7 +23756,7 @@ "start": 7838, "end": 7842, "length": 5, - "parent_index": 1029 + "parent_index": 1030 }, "name": "bytes", "referenced_declaration": 0, @@ -23403,7 +23786,7 @@ ] }, "return_parameters": { - "id": 1031, + "id": 1032, "node_type": 43, "src": { "line": 246, @@ -23411,11 +23794,11 @@ "start": 7886, "end": 7892, "length": 7, - "parent_index": 1025 + "parent_index": 1026 }, "parameters": [ { - "id": 1032, + "id": 1033, "node_type": 44, "src": { "line": 246, @@ -23423,12 +23806,12 @@ "start": 7886, "end": 7892, "length": 7, - "parent_index": 1031 + "parent_index": 1032 }, - "scope": 1025, + "scope": 1026, "name": "", "type_name": { - "id": 1033, + "id": 1034, "node_type": 30, "src": { "line": 246, @@ -23436,7 +23819,7 @@ "start": 7886, "end": 7892, "length": 7, - "parent_index": 1032 + "parent_index": 1033 }, "name": "address", "state_mutability": 4, @@ -23462,16 +23845,17 @@ } ] }, - "signature_raw": "findSigner(string, bytes)", - "signature": "fe95c919", + "signature_raw": "findSigner(string,bytes)", + "signature": "d3a85d34", "scope": 671, "type_description": { "type_identifier": "t_function_$_t_string$_t_bytes$", "type_string": "function(string,bytes)" - } + }, + "text": "functionfindSigner(stringmemorycontent,bytescalldatasignature)internalpurereturns(address){returnfindSigner(keccak256(abi.encodePacked(content)),signature);}" }, { - "id": 1046, + "id": 1047, "name": "findOrderSigner", "node_type": 42, "kind": 41, @@ -23489,10 +23873,10 @@ "start": 7992, "end": 8006, "length": 15, - "parent_index": 1046 + "parent_index": 1047 }, "body": { - "id": 1059, + "id": 1060, "node_type": 46, "kind": 0, "src": { @@ -23501,12 +23885,12 @@ "start": 8110, "end": 8193, "length": 84, - "parent_index": 1046 + "parent_index": 1047 }, "implemented": true, "statements": [ { - "id": 1060, + "id": 1061, "node_type": 47, "src": { "line": 251, @@ -23514,11 +23898,11 @@ "start": 8120, "end": 8187, "length": 68, - "parent_index": 1046 + "parent_index": 1047 }, - "function_return_parameters": 1046, + "function_return_parameters": 1047, "expression": { - "id": 1061, + "id": 1062, "node_type": 24, "kind": 24, "src": { @@ -23527,7 +23911,7 @@ "start": 8127, "end": 8186, "length": 60, - "parent_index": 1060 + "parent_index": 1061 }, "argument_types": [ { @@ -23541,7 +23925,7 @@ ], "arguments": [ { - "id": 1063, + "id": 1064, "node_type": 24, "kind": 24, "src": { @@ -23550,7 +23934,7 @@ "start": 8138, "end": 8174, "length": 37, - "parent_index": 1061 + "parent_index": 1062 }, "argument_types": [ { @@ -23568,7 +23952,7 @@ ], "arguments": [ { - "id": 1065, + "id": 1066, "node_type": 16, "src": { "line": 251, @@ -23576,7 +23960,7 @@ "start": 8153, "end": 8159, "length": 7, - "parent_index": 1063 + "parent_index": 1064 }, "name": "orderId", "type_description": { @@ -23584,11 +23968,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1065, - "is_pure": false + "referenced_declaration": 1066, + "is_pure": false, + "text": "orderId" }, { - "id": 1066, + "id": 1067, "node_type": 16, "src": { "line": 251, @@ -23596,7 +23981,7 @@ "start": 8162, "end": 8167, "length": 6, - "parent_index": 1063 + "parent_index": 1064 }, "name": "amount", "type_description": { @@ -23604,17 +23989,18 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1066, + "referenced_declaration": 1067, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amount" }, { - "id": 1067, + "id": 1068, "node_type": 16, "src": { "line": 251, @@ -23622,7 +24008,7 @@ "start": 8170, "end": 8173, "length": 4, - "parent_index": 1063 + "parent_index": 1064 }, "name": "addr", "type_description": { @@ -23630,7 +24016,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1067, + "referenced_declaration": 1068, "is_pure": false, "argument_types": [ { @@ -23641,11 +24027,12 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "addr" } ], "expression": { - "id": 1064, + "id": 1065, "node_type": 16, "src": { "line": 251, @@ -23653,7 +24040,7 @@ "start": 8138, "end": 8151, "length": 14, - "parent_index": 1063 + "parent_index": 1064 }, "name": "orderToMessage", "type_description": { @@ -23662,7 +24049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "orderToMessage" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$", @@ -23670,7 +24058,7 @@ } }, { - "id": 1068, + "id": 1069, "node_type": 16, "src": { "line": 251, @@ -23678,7 +24066,7 @@ "start": 8177, "end": 8185, "length": 9, - "parent_index": 1061 + "parent_index": 1062 }, "name": "signature", "type_description": { @@ -23686,18 +24074,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 1068, + "referenced_declaration": 1069, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$", "type_string": "function(uint256,uint256,address)" } - ] + ], + "text": "signature" } ], "expression": { - "id": 1062, + "id": 1063, "node_type": 16, "src": { "line": 251, @@ -23705,7 +24094,7 @@ "start": 8127, "end": 8136, "length": 10, - "parent_index": 1061 + "parent_index": 1062 }, "name": "findSigner", "type_description": { @@ -23714,7 +24103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "findSigner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", @@ -23731,7 +24121,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1047, + "id": 1048, "node_type": 43, "src": { "line": 250, @@ -23739,11 +24129,11 @@ "start": 8008, "end": 8078, "length": 71, - "parent_index": 1046 + "parent_index": 1047 }, "parameters": [ { - "id": 1048, + "id": 1049, "node_type": 44, "src": { "line": 250, @@ -23751,12 +24141,12 @@ "start": 8008, "end": 8022, "length": 15, - "parent_index": 1047 + "parent_index": 1048 }, - "scope": 1046, + "scope": 1047, "name": "orderId", "type_name": { - "id": 1049, + "id": 1050, "node_type": 30, "src": { "line": 250, @@ -23764,7 +24154,7 @@ "start": 8008, "end": 8014, "length": 7, - "parent_index": 1048 + "parent_index": 1049 }, "name": "uint256", "referenced_declaration": 0, @@ -23782,7 +24172,7 @@ } }, { - "id": 1050, + "id": 1051, "node_type": 44, "src": { "line": 250, @@ -23790,12 +24180,12 @@ "start": 8025, "end": 8038, "length": 14, - "parent_index": 1047 + "parent_index": 1048 }, - "scope": 1046, + "scope": 1047, "name": "amount", "type_name": { - "id": 1051, + "id": 1052, "node_type": 30, "src": { "line": 250, @@ -23803,7 +24193,7 @@ "start": 8025, "end": 8031, "length": 7, - "parent_index": 1050 + "parent_index": 1051 }, "name": "uint256", "referenced_declaration": 0, @@ -23821,7 +24211,7 @@ } }, { - "id": 1052, + "id": 1053, "node_type": 44, "src": { "line": 250, @@ -23829,12 +24219,12 @@ "start": 8041, "end": 8052, "length": 12, - "parent_index": 1047 + "parent_index": 1048 }, - "scope": 1046, + "scope": 1047, "name": "addr", "type_name": { - "id": 1053, + "id": 1054, "node_type": 30, "src": { "line": 250, @@ -23842,7 +24232,7 @@ "start": 8041, "end": 8047, "length": 7, - "parent_index": 1052 + "parent_index": 1053 }, "name": "address", "state_mutability": 4, @@ -23861,7 +24251,7 @@ } }, { - "id": 1054, + "id": 1055, "node_type": 44, "src": { "line": 250, @@ -23869,12 +24259,12 @@ "start": 8055, "end": 8078, "length": 24, - "parent_index": 1047 + "parent_index": 1048 }, - "scope": 1046, + "scope": 1047, "name": "signature", "type_name": { - "id": 1055, + "id": 1056, "node_type": 30, "src": { "line": 250, @@ -23882,7 +24272,7 @@ "start": 8055, "end": 8059, "length": 5, - "parent_index": 1054 + "parent_index": 1055 }, "name": "bytes", "referenced_declaration": 0, @@ -23920,7 +24310,7 @@ ] }, "return_parameters": { - "id": 1056, + "id": 1057, "node_type": 43, "src": { "line": 250, @@ -23928,11 +24318,11 @@ "start": 8102, "end": 8108, "length": 7, - "parent_index": 1046 + "parent_index": 1047 }, "parameters": [ { - "id": 1057, + "id": 1058, "node_type": 44, "src": { "line": 250, @@ -23940,12 +24330,12 @@ "start": 8102, "end": 8108, "length": 7, - "parent_index": 1056 + "parent_index": 1057 }, - "scope": 1046, + "scope": 1047, "name": "", "type_name": { - "id": 1058, + "id": 1059, "node_type": 30, "src": { "line": 250, @@ -23953,7 +24343,7 @@ "start": 8102, "end": 8108, "length": 7, - "parent_index": 1057 + "parent_index": 1058 }, "name": "address", "state_mutability": 4, @@ -23979,16 +24369,17 @@ } ] }, - "signature_raw": "findOrderSigner(uint256, uint256, address, bytes)", - "signature": "68497d69", + "signature_raw": "findOrderSigner(uint256,uint256,address,bytes)", + "signature": "6c1f1dad", "scope": 671, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(uint256,uint256,address,bytes)" - } + }, + "text": "functionfindOrderSigner(uint256orderId,uint256amount,addressaddr,bytescalldatasignature)internalpurereturns(address){returnfindSigner(orderToMessage(orderId,amount,addr),signature);}" }, { - "id": 1070, + "id": 1071, "name": "orderToMessage", "node_type": 42, "kind": 41, @@ -24006,10 +24397,10 @@ "start": 8209, "end": 8222, "length": 14, - "parent_index": 1070 + "parent_index": 1071 }, "body": { - "id": 1081, + "id": 1082, "node_type": 46, "kind": 0, "src": { @@ -24018,12 +24409,12 @@ "start": 8307, "end": 8563, "length": 257, - "parent_index": 1070 + "parent_index": 1071 }, "implemented": true, "statements": [ { - "id": 1082, + "id": 1083, "node_type": 44, "src": { "line": 255, @@ -24031,25 +24422,25 @@ "start": 8317, "end": 8355, "length": 39, - "parent_index": 1081 + "parent_index": 1082 }, "assignments": [ - 1083 + 1084 ], "declarations": [ { - "id": 1083, + "id": 1084, "state_mutability": 1, "name": "list", "node_type": 44, - "scope": 1081, + "scope": 1082, "src": { "line": 255, "column": 8, "start": 8317, "end": 8336, "length": 20, - "parent_index": 1082 + "parent_index": 1083 }, "name_location": { "line": 255, @@ -24057,12 +24448,12 @@ "start": 8333, "end": 8336, "length": 4, - "parent_index": 1083 + "parent_index": 1084 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 1084, + "id": 1085, "node_type": 16, "src": { "line": 255, @@ -24070,7 +24461,7 @@ "start": 8317, "end": 8322, "length": 6, - "parent_index": 1083 + "parent_index": 1084 }, "name": "string", "referenced_declaration": 0, @@ -24083,7 +24474,7 @@ } ], "initial_value": { - "id": 1085, + "id": 1086, "node_type": 24, "kind": 24, "src": { @@ -24092,7 +24483,7 @@ "start": 8340, "end": 8354, "length": 15, - "parent_index": 1082 + "parent_index": 1083 }, "argument_types": [ { @@ -24102,7 +24493,7 @@ ], "arguments": [ { - "id": 1088, + "id": 1089, "node_type": 17, "kind": 49, "value": "7", @@ -24113,7 +24504,7 @@ "start": 8353, "end": 8353, "length": 1, - "parent_index": 1085 + "parent_index": 1086 }, "type_description": { "type_identifier": "t_rational_7_by_1", @@ -24121,11 +24512,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "7" } ], "expression": { - "id": 1086, + "id": 1087, "node_type": 25, "src": { "line": 255, @@ -24133,11 +24525,11 @@ "start": 8340, "end": 8351, "length": 12, - "parent_index": 1085 + "parent_index": 1086 }, "argument_types": [], "type_name": { - "id": 1087, + "id": 1088, "node_type": 16, "src": { "line": 255, @@ -24145,7 +24537,7 @@ "start": 8344, "end": 8349, "length": 6, - "parent_index": 1086 + "parent_index": 1087 }, "name": "string", "referenced_declaration": 0, @@ -24166,7 +24558,7 @@ } }, { - "id": 1089, + "id": 1090, "node_type": 27, "src": { "line": 256, @@ -24174,10 +24566,10 @@ "start": 8365, "end": 8393, "length": 29, - "parent_index": 1081 + "parent_index": 1082 }, "expression": { - "id": 1090, + "id": 1091, "node_type": 27, "src": { "line": 256, @@ -24185,11 +24577,11 @@ "start": 8365, "end": 8392, "length": 28, - "parent_index": 1089 + "parent_index": 1090 }, "operator": 11, "left_expression": { - "id": 1091, + "id": 1092, "node_type": 22, "src": { "line": 256, @@ -24197,10 +24589,10 @@ "start": 8365, "end": 8371, "length": 7, - "parent_index": 1090 + "parent_index": 1091 }, "index_expression": { - "id": 1092, + "id": 1093, "node_type": 16, "src": { "line": 256, @@ -24208,7 +24600,7 @@ "start": 8365, "end": 8368, "length": 4, - "parent_index": 1091 + "parent_index": 1092 }, "name": "list", "type_description": { @@ -24216,11 +24608,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 1082, - "is_pure": false + "referenced_declaration": 1083, + "is_pure": false, + "text": "list" }, "base_expression": { - "id": 1093, + "id": 1094, "node_type": 17, "kind": 49, "value": "0", @@ -24231,7 +24624,7 @@ "start": 8370, "end": 8370, "length": 1, - "parent_index": 1091 + "parent_index": 1092 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -24239,7 +24632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -24257,7 +24651,7 @@ } }, "right_expression": { - "id": 1094, + "id": 1095, "node_type": 24, "kind": 24, "src": { @@ -24266,12 +24660,12 @@ "start": 8375, "end": 8392, "length": 18, - "parent_index": 1090 + "parent_index": 1091 }, "argument_types": [], "arguments": [], "expression": { - "id": 1095, + "id": 1096, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24283,7 +24677,7 @@ "start": 8375, "end": 8390, "length": 16, - "parent_index": 1094 + "parent_index": 1095 }, "member_location": { "line": 256, @@ -24291,10 +24685,10 @@ "start": 8383, "end": 8390, "length": 8, - "parent_index": 1095 + "parent_index": 1096 }, "expression": { - "id": 1096, + "id": 1097, "node_type": 16, "src": { "line": 256, @@ -24302,7 +24696,7 @@ "start": 8375, "end": 8381, "length": 7, - "parent_index": 1095 + "parent_index": 1096 }, "name": "orderId", "type_description": { @@ -24310,15 +24704,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1096, - "is_pure": false + "referenced_declaration": 1097, + "is_pure": false, + "text": "orderId" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "orderId.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -24333,10 +24729,11 @@ "type_description": { "type_identifier": "t_[_[$_t_string]$_t_rational_0_by_1]$", "type_string": "index[string:int_const 0]" - } + }, + "text": "list[0]=orderId.toString();" }, { - "id": 1097, + "id": 1098, "node_type": 27, "src": { "line": 257, @@ -24344,10 +24741,10 @@ "start": 8403, "end": 8416, "length": 14, - "parent_index": 1081 + "parent_index": 1082 }, "expression": { - "id": 1098, + "id": 1099, "node_type": 27, "src": { "line": 257, @@ -24355,11 +24752,11 @@ "start": 8403, "end": 8415, "length": 13, - "parent_index": 1097 + "parent_index": 1098 }, "operator": 11, "left_expression": { - "id": 1099, + "id": 1100, "node_type": 22, "src": { "line": 257, @@ -24367,10 +24764,10 @@ "start": 8403, "end": 8409, "length": 7, - "parent_index": 1098 + "parent_index": 1099 }, "index_expression": { - "id": 1100, + "id": 1101, "node_type": 16, "src": { "line": 257, @@ -24378,7 +24775,7 @@ "start": 8403, "end": 8406, "length": 4, - "parent_index": 1099 + "parent_index": 1100 }, "name": "list", "type_description": { @@ -24386,11 +24783,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 1082, - "is_pure": false + "referenced_declaration": 1083, + "is_pure": false, + "text": "list" }, "base_expression": { - "id": 1101, + "id": 1102, "node_type": 17, "kind": 49, "value": "1", @@ -24401,7 +24799,7 @@ "start": 8408, "end": 8408, "length": 1, - "parent_index": 1099 + "parent_index": 1100 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -24409,7 +24807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -24427,7 +24826,7 @@ } }, "right_expression": { - "id": 1102, + "id": 1103, "node_type": 17, "kind": 50, "value": "_", @@ -24438,7 +24837,7 @@ "start": 8413, "end": 8415, "length": 3, - "parent_index": 1098 + "parent_index": 1099 }, "type_description": { "type_identifier": "t_string_literal", @@ -24446,7 +24845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"_\"" }, "type_description": { "type_identifier": "t_[_[$_t_string]$_t_rational_1_by_1]$", @@ -24456,10 +24856,11 @@ "type_description": { "type_identifier": "t_[_[$_t_string]$_t_rational_1_by_1]$", "type_string": "index[string:int_const 1]" - } + }, + "text": "list[1]=\"_\";" }, { - "id": 1103, + "id": 1104, "node_type": 27, "src": { "line": 258, @@ -24467,10 +24868,10 @@ "start": 8426, "end": 8453, "length": 28, - "parent_index": 1081 + "parent_index": 1082 }, "expression": { - "id": 1104, + "id": 1105, "node_type": 27, "src": { "line": 258, @@ -24478,11 +24879,11 @@ "start": 8426, "end": 8452, "length": 27, - "parent_index": 1103 + "parent_index": 1104 }, "operator": 11, "left_expression": { - "id": 1105, + "id": 1106, "node_type": 22, "src": { "line": 258, @@ -24490,10 +24891,10 @@ "start": 8426, "end": 8432, "length": 7, - "parent_index": 1104 + "parent_index": 1105 }, "index_expression": { - "id": 1106, + "id": 1107, "node_type": 16, "src": { "line": 258, @@ -24501,7 +24902,7 @@ "start": 8426, "end": 8429, "length": 4, - "parent_index": 1105 + "parent_index": 1106 }, "name": "list", "type_description": { @@ -24509,11 +24910,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 1082, - "is_pure": false + "referenced_declaration": 1083, + "is_pure": false, + "text": "list" }, "base_expression": { - "id": 1107, + "id": 1108, "node_type": 17, "kind": 49, "value": "2", @@ -24524,7 +24926,7 @@ "start": 8431, "end": 8431, "length": 1, - "parent_index": 1105 + "parent_index": 1106 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -24532,7 +24934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_descriptions": [ { @@ -24550,7 +24953,7 @@ } }, "right_expression": { - "id": 1108, + "id": 1109, "node_type": 24, "kind": 24, "src": { @@ -24559,12 +24962,12 @@ "start": 8436, "end": 8452, "length": 17, - "parent_index": 1104 + "parent_index": 1105 }, "argument_types": [], "arguments": [], "expression": { - "id": 1109, + "id": 1110, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24576,7 +24979,7 @@ "start": 8436, "end": 8450, "length": 15, - "parent_index": 1108 + "parent_index": 1109 }, "member_location": { "line": 258, @@ -24584,10 +24987,10 @@ "start": 8443, "end": 8450, "length": 8, - "parent_index": 1109 + "parent_index": 1110 }, "expression": { - "id": 1110, + "id": 1111, "node_type": 16, "src": { "line": 258, @@ -24595,7 +24998,7 @@ "start": 8436, "end": 8441, "length": 6, - "parent_index": 1109 + "parent_index": 1110 }, "name": "amount", "type_description": { @@ -24603,15 +25006,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1110, - "is_pure": false + "referenced_declaration": 1111, + "is_pure": false, + "text": "amount" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -24626,10 +25031,11 @@ "type_description": { "type_identifier": "t_[_[$_t_string]$_t_rational_2_by_1]$", "type_string": "index[string:int_const 2]" - } + }, + "text": "list[2]=amount.toString();" }, { - "id": 1111, + "id": 1112, "node_type": 27, "src": { "line": 259, @@ -24637,10 +25043,10 @@ "start": 8463, "end": 8476, "length": 14, - "parent_index": 1081 + "parent_index": 1082 }, "expression": { - "id": 1112, + "id": 1113, "node_type": 27, "src": { "line": 259, @@ -24648,11 +25054,11 @@ "start": 8463, "end": 8475, "length": 13, - "parent_index": 1111 + "parent_index": 1112 }, "operator": 11, "left_expression": { - "id": 1113, + "id": 1114, "node_type": 22, "src": { "line": 259, @@ -24660,10 +25066,10 @@ "start": 8463, "end": 8469, "length": 7, - "parent_index": 1112 + "parent_index": 1113 }, "index_expression": { - "id": 1114, + "id": 1115, "node_type": 16, "src": { "line": 259, @@ -24671,7 +25077,7 @@ "start": 8463, "end": 8466, "length": 4, - "parent_index": 1113 + "parent_index": 1114 }, "name": "list", "type_description": { @@ -24679,11 +25085,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 1082, - "is_pure": false + "referenced_declaration": 1083, + "is_pure": false, + "text": "list" }, "base_expression": { - "id": 1115, + "id": 1116, "node_type": 17, "kind": 49, "value": "3", @@ -24694,7 +25101,7 @@ "start": 8468, "end": 8468, "length": 1, - "parent_index": 1113 + "parent_index": 1114 }, "type_description": { "type_identifier": "t_rational_3_by_1", @@ -24702,7 +25109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_descriptions": [ { @@ -24720,7 +25128,7 @@ } }, "right_expression": { - "id": 1116, + "id": 1117, "node_type": 17, "kind": 50, "value": "_", @@ -24731,7 +25139,7 @@ "start": 8473, "end": 8475, "length": 3, - "parent_index": 1112 + "parent_index": 1113 }, "type_description": { "type_identifier": "t_string_literal", @@ -24739,7 +25147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"_\"" }, "type_description": { "type_identifier": "t_[_[$_t_string]$_t_rational_3_by_1]$", @@ -24749,10 +25158,11 @@ "type_description": { "type_identifier": "t_[_[$_t_string]$_t_rational_3_by_1]$", "type_string": "index[string:int_const 3]" - } + }, + "text": "list[3]=\"_\";" }, { - "id": 1117, + "id": 1118, "node_type": 27, "src": { "line": 260, @@ -24760,10 +25170,10 @@ "start": 8486, "end": 8511, "length": 26, - "parent_index": 1081 + "parent_index": 1082 }, "expression": { - "id": 1118, + "id": 1119, "node_type": 27, "src": { "line": 260, @@ -24771,11 +25181,11 @@ "start": 8486, "end": 8510, "length": 25, - "parent_index": 1117 + "parent_index": 1118 }, "operator": 11, "left_expression": { - "id": 1119, + "id": 1120, "node_type": 22, "src": { "line": 260, @@ -24783,10 +25193,10 @@ "start": 8486, "end": 8492, "length": 7, - "parent_index": 1118 + "parent_index": 1119 }, "index_expression": { - "id": 1120, + "id": 1121, "node_type": 16, "src": { "line": 260, @@ -24794,7 +25204,7 @@ "start": 8486, "end": 8489, "length": 4, - "parent_index": 1119 + "parent_index": 1120 }, "name": "list", "type_description": { @@ -24802,11 +25212,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 1082, - "is_pure": false + "referenced_declaration": 1083, + "is_pure": false, + "text": "list" }, "base_expression": { - "id": 1121, + "id": 1122, "node_type": 17, "kind": 49, "value": "4", @@ -24817,7 +25228,7 @@ "start": 8491, "end": 8491, "length": 1, - "parent_index": 1119 + "parent_index": 1120 }, "type_description": { "type_identifier": "t_rational_4_by_1", @@ -24825,7 +25236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_descriptions": [ { @@ -24843,7 +25255,7 @@ } }, "right_expression": { - "id": 1122, + "id": 1123, "node_type": 24, "kind": 24, "src": { @@ -24852,12 +25264,12 @@ "start": 8496, "end": 8510, "length": 15, - "parent_index": 1118 + "parent_index": 1119 }, "argument_types": [], "arguments": [], "expression": { - "id": 1123, + "id": 1124, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24869,7 +25281,7 @@ "start": 8496, "end": 8508, "length": 13, - "parent_index": 1122 + "parent_index": 1123 }, "member_location": { "line": 260, @@ -24877,10 +25289,10 @@ "start": 8501, "end": 8508, "length": 8, - "parent_index": 1123 + "parent_index": 1124 }, "expression": { - "id": 1124, + "id": 1125, "node_type": 16, "src": { "line": 260, @@ -24888,7 +25300,7 @@ "start": 8496, "end": 8499, "length": 4, - "parent_index": 1123 + "parent_index": 1124 }, "name": "addr", "type_description": { @@ -24896,15 +25308,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1124, - "is_pure": false + "referenced_declaration": 1125, + "is_pure": false, + "text": "addr" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "addr.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -24919,10 +25333,11 @@ "type_description": { "type_identifier": "t_[_[$_t_string]$_t_rational_4_by_1]$", "type_string": "index[string:int_const 4]" - } + }, + "text": "list[4]=addr.toString();" }, { - "id": 1125, + "id": 1126, "node_type": 47, "src": { "line": 261, @@ -24930,11 +25345,11 @@ "start": 8521, "end": 8557, "length": 37, - "parent_index": 1070 + "parent_index": 1071 }, - "function_return_parameters": 1070, + "function_return_parameters": 1071, "expression": { - "id": 1126, + "id": 1127, "node_type": 24, "kind": 24, "src": { @@ -24943,7 +25358,7 @@ "start": 8528, "end": 8556, "length": 29, - "parent_index": 1125 + "parent_index": 1126 }, "argument_types": [ { @@ -24953,7 +25368,7 @@ ], "arguments": [ { - "id": 1129, + "id": 1130, "node_type": 16, "src": { "line": 261, @@ -24961,7 +25376,7 @@ "start": 8552, "end": 8555, "length": 4, - "parent_index": 1126 + "parent_index": 1127 }, "name": "list", "type_description": { @@ -24969,12 +25384,13 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 1082, - "is_pure": false + "referenced_declaration": 1083, + "is_pure": false, + "text": "list" } ], "expression": { - "id": 1127, + "id": 1128, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24986,7 +25402,7 @@ "start": 8528, "end": 8550, "length": 23, - "parent_index": 1126 + "parent_index": 1127 }, "member_location": { "line": 261, @@ -24994,10 +25410,10 @@ "start": 8539, "end": 8550, "length": 12, - "parent_index": 1127 + "parent_index": 1128 }, "expression": { - "id": 1128, + "id": 1129, "node_type": 16, "src": { "line": 261, @@ -25005,7 +25421,7 @@ "start": 8528, "end": 8537, "length": 10, - "parent_index": 1127 + "parent_index": 1128 }, "name": "StrLibrary", "type_description": { @@ -25014,14 +25430,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 431, - "is_pure": false + "is_pure": false, + "text": "StrLibrary" }, "member_name": "listToString", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StrLibrary_$431", "type_string": "contract StrLibrary" - } + }, + "text": "StrLibrary.listToString" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -25038,7 +25456,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1071, + "id": 1072, "node_type": 43, "src": { "line": 254, @@ -25046,11 +25464,11 @@ "start": 8224, "end": 8268, "length": 45, - "parent_index": 1070 + "parent_index": 1071 }, "parameters": [ { - "id": 1072, + "id": 1073, "node_type": 44, "src": { "line": 254, @@ -25058,12 +25476,12 @@ "start": 8224, "end": 8238, "length": 15, - "parent_index": 1071 + "parent_index": 1072 }, - "scope": 1070, + "scope": 1071, "name": "orderId", "type_name": { - "id": 1073, + "id": 1074, "node_type": 30, "src": { "line": 254, @@ -25071,7 +25489,7 @@ "start": 8224, "end": 8230, "length": 7, - "parent_index": 1072 + "parent_index": 1073 }, "name": "uint256", "referenced_declaration": 0, @@ -25089,7 +25507,7 @@ } }, { - "id": 1074, + "id": 1075, "node_type": 44, "src": { "line": 254, @@ -25097,12 +25515,12 @@ "start": 8241, "end": 8254, "length": 14, - "parent_index": 1071 + "parent_index": 1072 }, - "scope": 1070, + "scope": 1071, "name": "amount", "type_name": { - "id": 1075, + "id": 1076, "node_type": 30, "src": { "line": 254, @@ -25110,7 +25528,7 @@ "start": 8241, "end": 8247, "length": 7, - "parent_index": 1074 + "parent_index": 1075 }, "name": "uint256", "referenced_declaration": 0, @@ -25128,7 +25546,7 @@ } }, { - "id": 1076, + "id": 1077, "node_type": 44, "src": { "line": 254, @@ -25136,12 +25554,12 @@ "start": 8257, "end": 8268, "length": 12, - "parent_index": 1071 + "parent_index": 1072 }, - "scope": 1070, + "scope": 1071, "name": "addr", "type_name": { - "id": 1077, + "id": 1078, "node_type": 30, "src": { "line": 254, @@ -25149,7 +25567,7 @@ "start": 8257, "end": 8263, "length": 7, - "parent_index": 1076 + "parent_index": 1077 }, "name": "address", "state_mutability": 4, @@ -25184,7 +25602,7 @@ ] }, "return_parameters": { - "id": 1078, + "id": 1079, "node_type": 43, "src": { "line": 254, @@ -25192,11 +25610,11 @@ "start": 8293, "end": 8305, "length": 13, - "parent_index": 1070 + "parent_index": 1071 }, "parameters": [ { - "id": 1079, + "id": 1080, "node_type": 44, "src": { "line": 254, @@ -25204,12 +25622,12 @@ "start": 8293, "end": 8305, "length": 13, - "parent_index": 1078 + "parent_index": 1079 }, - "scope": 1070, + "scope": 1071, "name": "", "type_name": { - "id": 1080, + "id": 1081, "node_type": 30, "src": { "line": 254, @@ -25217,7 +25635,7 @@ "start": 8293, "end": 8298, "length": 6, - "parent_index": 1079 + "parent_index": 1080 }, "name": "string", "referenced_declaration": 0, @@ -25242,16 +25660,17 @@ } ] }, - "signature_raw": "orderToMessage(uint256, uint256, address)", - "signature": "4df83ee4", + "signature_raw": "orderToMessage(uint256,uint256,address)", + "signature": "5995c698", "scope": 671, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$", "type_string": "function(uint256,uint256,address)" - } + }, + "text": "functionorderToMessage(uint256orderId,uint256amount,addressaddr)internalpurereturns(stringmemory){string[]memorylist=newstring[](7);list[0]=orderId.toString();list[1]=\"_\";list[2]=amount.toString();list[3]=\"_\";list[4]=addr.toString();returnStrLibrary.listToString(list);}" }, { - "id": 1131, + "id": 1132, "name": "_signatureToRSV", "node_type": 42, "kind": 41, @@ -25269,10 +25688,10 @@ "start": 8579, "end": 8593, "length": 15, - "parent_index": 1131 + "parent_index": 1132 }, "body": { - "id": 1142, + "id": 1143, "node_type": 46, "kind": 0, "src": { @@ -25281,12 +25700,12 @@ "start": 8671, "end": 8997, "length": 327, - "parent_index": 1131 + "parent_index": 1132 }, "implemented": true, "statements": [ { - "id": 1143, + "id": 1144, "node_type": 24, "kind": 24, "src": { @@ -25295,7 +25714,7 @@ "start": 8681, "end": 8736, "length": 56, - "parent_index": 1142 + "parent_index": 1143 }, "argument_types": [ { @@ -25309,7 +25728,7 @@ ], "arguments": [ { - "id": 1145, + "id": 1146, "is_constant": false, "is_pure": false, "node_type": 19, @@ -25319,11 +25738,11 @@ "start": 8689, "end": 8710, "length": 22, - "parent_index": 1143 + "parent_index": 1144 }, "operator": 11, "left_expression": { - "id": 1146, + "id": 1147, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25335,7 +25754,7 @@ "start": 8689, "end": 8704, "length": 16, - "parent_index": 1145 + "parent_index": 1146 }, "member_location": { "line": 265, @@ -25343,10 +25762,10 @@ "start": 8699, "end": 8704, "length": 6, - "parent_index": 1146 + "parent_index": 1147 }, "expression": { - "id": 1147, + "id": 1148, "node_type": 16, "src": { "line": 265, @@ -25354,7 +25773,7 @@ "start": 8689, "end": 8697, "length": 9, - "parent_index": 1146 + "parent_index": 1147 }, "name": "signature", "type_description": { @@ -25362,18 +25781,20 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 1147, - "is_pure": false + "referenced_declaration": 1148, + "is_pure": false, + "text": "signature" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "signature.length" }, "right_expression": { - "id": 1148, + "id": 1149, "node_type": 17, "kind": 49, "value": "65", @@ -25384,7 +25805,7 @@ "start": 8709, "end": 8710, "length": 2, - "parent_index": 1145 + "parent_index": 1146 }, "type_description": { "type_identifier": "t_rational_65_by_1", @@ -25392,7 +25813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65" }, "type_description": { "type_identifier": "t_bool", @@ -25400,7 +25822,7 @@ } }, { - "id": 1149, + "id": 1150, "node_type": 17, "kind": 50, "value": "'signature length fail'", @@ -25411,7 +25833,7 @@ "start": 8713, "end": 8735, "length": 23, - "parent_index": 1143 + "parent_index": 1144 }, "type_description": { "type_identifier": "t_string_literal", @@ -25425,11 +25847,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'signature length fail'" } ], "expression": { - "id": 1144, + "id": 1145, "node_type": 16, "src": { "line": 265, @@ -25437,7 +25860,7 @@ "start": 8681, "end": 8687, "length": 7, - "parent_index": 1143 + "parent_index": 1144 }, "name": "require", "type_description": { @@ -25446,7 +25869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -25454,7 +25878,7 @@ } }, { - "id": 1150, + "id": 1151, "node_type": 89, "src": { "line": 266, @@ -25462,10 +25886,10 @@ "start": 8747, "end": 8905, "length": 159, - "parent_index": 1142 + "parent_index": 1143 }, "body": { - "id": 1151, + "id": 1152, "node_type": 111, "kind": 0, "src": { @@ -25474,12 +25898,12 @@ "start": 8747, "end": 8905, "length": 159, - "parent_index": 1150 + "parent_index": 1151 }, "implemented": false, "statements": [ { - "id": 1152, + "id": 1153, "node_type": 91, "src": { "line": 269, @@ -25487,11 +25911,11 @@ "start": 8856, "end": 8895, "length": 40, - "parent_index": 1150 + "parent_index": 1151 }, "statements": [ { - "id": 1153, + "id": 1154, "node_type": 92, "src": { "line": 267, @@ -25499,11 +25923,11 @@ "start": 8770, "end": 8799, "length": 30, - "parent_index": 1150 + "parent_index": 1151 }, "variable_names": [ { - "id": 1154, + "id": 1155, "node_type": 107, "src": { "line": 267, @@ -25511,13 +25935,13 @@ "start": 8770, "end": 8770, "length": 1, - "parent_index": 1153 + "parent_index": 1154 }, "name": "r" } ], "value": { - "id": 1155, + "id": 1156, "node_type": 123, "src": { "line": 267, @@ -25525,10 +25949,10 @@ "start": 8775, "end": 8779, "length": 5, - "parent_index": 1153 + "parent_index": 1154 }, "expression": { - "id": 1156, + "id": 1157, "node_type": 110, "src": { "line": 267, @@ -25536,10 +25960,10 @@ "start": 8775, "end": 8799, "length": 25, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1157, + "id": 1158, "node_type": 107, "src": { "line": 267, @@ -25547,13 +25971,13 @@ "start": 8775, "end": 8779, "length": 5, - "parent_index": 1156 + "parent_index": 1157 }, "name": "mload" }, "arguments": [ { - "id": 1158, + "id": 1159, "node_type": 110, "src": { "line": 267, @@ -25561,10 +25985,10 @@ "start": 8781, "end": 8798, "length": 18, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1159, + "id": 1160, "node_type": 107, "src": { "line": 267, @@ -25572,13 +25996,13 @@ "start": 8781, "end": 8783, "length": 3, - "parent_index": 1158 + "parent_index": 1159 }, "name": "add" }, "arguments": [ { - "id": 1160, + "id": 1161, "node_type": 107, "src": { "line": 267, @@ -25586,12 +26010,12 @@ "start": 8785, "end": 8793, "length": 9, - "parent_index": 1158 + "parent_index": 1159 }, "name": "signature" }, { - "id": 1161, + "id": 1162, "node_type": 109, "kind": 115, "src": { @@ -25600,7 +26024,7 @@ "start": 8796, "end": 8797, "length": 2, - "parent_index": 1158 + "parent_index": 1159 }, "value": "32", "hex_value": "" @@ -25612,7 +26036,7 @@ } }, { - "id": 1162, + "id": 1163, "node_type": 92, "src": { "line": 268, @@ -25620,11 +26044,11 @@ "start": 8813, "end": 8842, "length": 30, - "parent_index": 1150 + "parent_index": 1151 }, "variable_names": [ { - "id": 1163, + "id": 1164, "node_type": 107, "src": { "line": 268, @@ -25632,13 +26056,13 @@ "start": 8813, "end": 8813, "length": 1, - "parent_index": 1162 + "parent_index": 1163 }, "name": "s" } ], "value": { - "id": 1164, + "id": 1165, "node_type": 123, "src": { "line": 268, @@ -25646,10 +26070,10 @@ "start": 8818, "end": 8822, "length": 5, - "parent_index": 1162 + "parent_index": 1163 }, "expression": { - "id": 1165, + "id": 1166, "node_type": 110, "src": { "line": 268, @@ -25657,10 +26081,10 @@ "start": 8818, "end": 8842, "length": 25, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1166, + "id": 1167, "node_type": 107, "src": { "line": 268, @@ -25668,13 +26092,13 @@ "start": 8818, "end": 8822, "length": 5, - "parent_index": 1165 + "parent_index": 1166 }, "name": "mload" }, "arguments": [ { - "id": 1167, + "id": 1168, "node_type": 110, "src": { "line": 268, @@ -25682,10 +26106,10 @@ "start": 8824, "end": 8841, "length": 18, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1168, + "id": 1169, "node_type": 107, "src": { "line": 268, @@ -25693,13 +26117,13 @@ "start": 8824, "end": 8826, "length": 3, - "parent_index": 1167 + "parent_index": 1168 }, "name": "add" }, "arguments": [ { - "id": 1169, + "id": 1170, "node_type": 107, "src": { "line": 268, @@ -25707,12 +26131,12 @@ "start": 8828, "end": 8836, "length": 9, - "parent_index": 1167 + "parent_index": 1168 }, "name": "signature" }, { - "id": 1170, + "id": 1171, "node_type": 109, "kind": 115, "src": { @@ -25721,7 +26145,7 @@ "start": 8839, "end": 8840, "length": 2, - "parent_index": 1167 + "parent_index": 1168 }, "value": "64", "hex_value": "" @@ -25733,7 +26157,7 @@ } }, { - "id": 1171, + "id": 1172, "node_type": 92, "src": { "line": 269, @@ -25741,11 +26165,11 @@ "start": 8856, "end": 8895, "length": 40, - "parent_index": 1150 + "parent_index": 1151 }, "variable_names": [ { - "id": 1172, + "id": 1173, "node_type": 107, "src": { "line": 269, @@ -25753,13 +26177,13 @@ "start": 8856, "end": 8856, "length": 1, - "parent_index": 1171 + "parent_index": 1172 }, "name": "v" } ], "value": { - "id": 1173, + "id": 1174, "node_type": 123, "src": { "line": 269, @@ -25767,10 +26191,10 @@ "start": 8861, "end": 8863, "length": 3, - "parent_index": 1171 + "parent_index": 1172 }, "expression": { - "id": 1174, + "id": 1175, "node_type": 110, "src": { "line": 269, @@ -25778,10 +26202,10 @@ "start": 8861, "end": 8895, "length": 35, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1175, + "id": 1176, "node_type": 107, "src": { "line": 269, @@ -25789,13 +26213,13 @@ "start": 8861, "end": 8863, "length": 3, - "parent_index": 1174 + "parent_index": 1175 }, "name": "and" }, "arguments": [ { - "id": 1176, + "id": 1177, "node_type": 110, "src": { "line": 269, @@ -25803,10 +26227,10 @@ "start": 8865, "end": 8889, "length": 25, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1177, + "id": 1178, "node_type": 107, "src": { "line": 269, @@ -25814,13 +26238,13 @@ "start": 8865, "end": 8869, "length": 5, - "parent_index": 1176 + "parent_index": 1177 }, "name": "mload" }, "arguments": [ { - "id": 1178, + "id": 1179, "node_type": 110, "src": { "line": 269, @@ -25828,10 +26252,10 @@ "start": 8871, "end": 8888, "length": 18, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1179, + "id": 1180, "node_type": 107, "src": { "line": 269, @@ -25839,13 +26263,13 @@ "start": 8871, "end": 8873, "length": 3, - "parent_index": 1178 + "parent_index": 1179 }, "name": "add" }, "arguments": [ { - "id": 1180, + "id": 1181, "node_type": 107, "src": { "line": 269, @@ -25853,12 +26277,12 @@ "start": 8875, "end": 8883, "length": 9, - "parent_index": 1178 + "parent_index": 1179 }, "name": "signature" }, { - "id": 1181, + "id": 1182, "node_type": 109, "kind": 115, "src": { @@ -25867,7 +26291,7 @@ "start": 8886, "end": 8887, "length": 2, - "parent_index": 1178 + "parent_index": 1179 }, "value": "65", "hex_value": "" @@ -25877,7 +26301,7 @@ ] }, { - "id": 1182, + "id": 1183, "node_type": 109, "kind": 115, "src": { @@ -25886,7 +26310,7 @@ "start": 8892, "end": 8894, "length": 3, - "parent_index": 1174 + "parent_index": 1175 }, "value": "255", "hex_value": "" @@ -25898,7 +26322,7 @@ ] }, { - "id": 1152, + "id": 1153, "node_type": 91, "src": { "line": 269, @@ -25906,11 +26330,11 @@ "start": 8856, "end": 8895, "length": 40, - "parent_index": 1150 + "parent_index": 1151 }, "statements": [ { - "id": 1153, + "id": 1154, "node_type": 92, "src": { "line": 267, @@ -25918,11 +26342,11 @@ "start": 8770, "end": 8799, "length": 30, - "parent_index": 1150 + "parent_index": 1151 }, "variable_names": [ { - "id": 1154, + "id": 1155, "node_type": 107, "src": { "line": 267, @@ -25930,13 +26354,13 @@ "start": 8770, "end": 8770, "length": 1, - "parent_index": 1153 + "parent_index": 1154 }, "name": "r" } ], "value": { - "id": 1155, + "id": 1156, "node_type": 123, "src": { "line": 267, @@ -25944,10 +26368,10 @@ "start": 8775, "end": 8779, "length": 5, - "parent_index": 1153 + "parent_index": 1154 }, "expression": { - "id": 1156, + "id": 1157, "node_type": 110, "src": { "line": 267, @@ -25955,10 +26379,10 @@ "start": 8775, "end": 8799, "length": 25, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1157, + "id": 1158, "node_type": 107, "src": { "line": 267, @@ -25966,13 +26390,13 @@ "start": 8775, "end": 8779, "length": 5, - "parent_index": 1156 + "parent_index": 1157 }, "name": "mload" }, "arguments": [ { - "id": 1158, + "id": 1159, "node_type": 110, "src": { "line": 267, @@ -25980,10 +26404,10 @@ "start": 8781, "end": 8798, "length": 18, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1159, + "id": 1160, "node_type": 107, "src": { "line": 267, @@ -25991,13 +26415,13 @@ "start": 8781, "end": 8783, "length": 3, - "parent_index": 1158 + "parent_index": 1159 }, "name": "add" }, "arguments": [ { - "id": 1160, + "id": 1161, "node_type": 107, "src": { "line": 267, @@ -26005,12 +26429,12 @@ "start": 8785, "end": 8793, "length": 9, - "parent_index": 1158 + "parent_index": 1159 }, "name": "signature" }, { - "id": 1161, + "id": 1162, "node_type": 109, "kind": 115, "src": { @@ -26019,7 +26443,7 @@ "start": 8796, "end": 8797, "length": 2, - "parent_index": 1158 + "parent_index": 1159 }, "value": "32", "hex_value": "" @@ -26031,7 +26455,7 @@ } }, { - "id": 1162, + "id": 1163, "node_type": 92, "src": { "line": 268, @@ -26039,11 +26463,11 @@ "start": 8813, "end": 8842, "length": 30, - "parent_index": 1150 + "parent_index": 1151 }, "variable_names": [ { - "id": 1163, + "id": 1164, "node_type": 107, "src": { "line": 268, @@ -26051,13 +26475,13 @@ "start": 8813, "end": 8813, "length": 1, - "parent_index": 1162 + "parent_index": 1163 }, "name": "s" } ], "value": { - "id": 1164, + "id": 1165, "node_type": 123, "src": { "line": 268, @@ -26065,10 +26489,10 @@ "start": 8818, "end": 8822, "length": 5, - "parent_index": 1162 + "parent_index": 1163 }, "expression": { - "id": 1165, + "id": 1166, "node_type": 110, "src": { "line": 268, @@ -26076,10 +26500,10 @@ "start": 8818, "end": 8842, "length": 25, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1166, + "id": 1167, "node_type": 107, "src": { "line": 268, @@ -26087,13 +26511,13 @@ "start": 8818, "end": 8822, "length": 5, - "parent_index": 1165 + "parent_index": 1166 }, "name": "mload" }, "arguments": [ { - "id": 1167, + "id": 1168, "node_type": 110, "src": { "line": 268, @@ -26101,10 +26525,10 @@ "start": 8824, "end": 8841, "length": 18, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1168, + "id": 1169, "node_type": 107, "src": { "line": 268, @@ -26112,13 +26536,13 @@ "start": 8824, "end": 8826, "length": 3, - "parent_index": 1167 + "parent_index": 1168 }, "name": "add" }, "arguments": [ { - "id": 1169, + "id": 1170, "node_type": 107, "src": { "line": 268, @@ -26126,12 +26550,12 @@ "start": 8828, "end": 8836, "length": 9, - "parent_index": 1167 + "parent_index": 1168 }, "name": "signature" }, { - "id": 1170, + "id": 1171, "node_type": 109, "kind": 115, "src": { @@ -26140,7 +26564,7 @@ "start": 8839, "end": 8840, "length": 2, - "parent_index": 1167 + "parent_index": 1168 }, "value": "64", "hex_value": "" @@ -26152,7 +26576,7 @@ } }, { - "id": 1171, + "id": 1172, "node_type": 92, "src": { "line": 269, @@ -26160,11 +26584,11 @@ "start": 8856, "end": 8895, "length": 40, - "parent_index": 1150 + "parent_index": 1151 }, "variable_names": [ { - "id": 1172, + "id": 1173, "node_type": 107, "src": { "line": 269, @@ -26172,13 +26596,13 @@ "start": 8856, "end": 8856, "length": 1, - "parent_index": 1171 + "parent_index": 1172 }, "name": "v" } ], "value": { - "id": 1173, + "id": 1174, "node_type": 123, "src": { "line": 269, @@ -26186,10 +26610,10 @@ "start": 8861, "end": 8863, "length": 3, - "parent_index": 1171 + "parent_index": 1172 }, "expression": { - "id": 1174, + "id": 1175, "node_type": 110, "src": { "line": 269, @@ -26197,10 +26621,10 @@ "start": 8861, "end": 8895, "length": 35, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1175, + "id": 1176, "node_type": 107, "src": { "line": 269, @@ -26208,13 +26632,13 @@ "start": 8861, "end": 8863, "length": 3, - "parent_index": 1174 + "parent_index": 1175 }, "name": "and" }, "arguments": [ { - "id": 1176, + "id": 1177, "node_type": 110, "src": { "line": 269, @@ -26222,10 +26646,10 @@ "start": 8865, "end": 8889, "length": 25, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1177, + "id": 1178, "node_type": 107, "src": { "line": 269, @@ -26233,13 +26657,13 @@ "start": 8865, "end": 8869, "length": 5, - "parent_index": 1176 + "parent_index": 1177 }, "name": "mload" }, "arguments": [ { - "id": 1178, + "id": 1179, "node_type": 110, "src": { "line": 269, @@ -26247,10 +26671,10 @@ "start": 8871, "end": 8888, "length": 18, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1179, + "id": 1180, "node_type": 107, "src": { "line": 269, @@ -26258,13 +26682,13 @@ "start": 8871, "end": 8873, "length": 3, - "parent_index": 1178 + "parent_index": 1179 }, "name": "add" }, "arguments": [ { - "id": 1180, + "id": 1181, "node_type": 107, "src": { "line": 269, @@ -26272,12 +26696,12 @@ "start": 8875, "end": 8883, "length": 9, - "parent_index": 1178 + "parent_index": 1179 }, "name": "signature" }, { - "id": 1181, + "id": 1182, "node_type": 109, "kind": 115, "src": { @@ -26286,7 +26710,7 @@ "start": 8886, "end": 8887, "length": 2, - "parent_index": 1178 + "parent_index": 1179 }, "value": "65", "hex_value": "" @@ -26296,7 +26720,7 @@ ] }, { - "id": 1182, + "id": 1183, "node_type": 109, "kind": 115, "src": { @@ -26305,7 +26729,7 @@ "start": 8892, "end": 8894, "length": 3, - "parent_index": 1174 + "parent_index": 1175 }, "value": "255", "hex_value": "" @@ -26317,7 +26741,7 @@ ] }, { - "id": 1152, + "id": 1153, "node_type": 91, "src": { "line": 269, @@ -26325,11 +26749,11 @@ "start": 8856, "end": 8895, "length": 40, - "parent_index": 1150 + "parent_index": 1151 }, "statements": [ { - "id": 1153, + "id": 1154, "node_type": 92, "src": { "line": 267, @@ -26337,11 +26761,11 @@ "start": 8770, "end": 8799, "length": 30, - "parent_index": 1150 + "parent_index": 1151 }, "variable_names": [ { - "id": 1154, + "id": 1155, "node_type": 107, "src": { "line": 267, @@ -26349,13 +26773,13 @@ "start": 8770, "end": 8770, "length": 1, - "parent_index": 1153 + "parent_index": 1154 }, "name": "r" } ], "value": { - "id": 1155, + "id": 1156, "node_type": 123, "src": { "line": 267, @@ -26363,10 +26787,10 @@ "start": 8775, "end": 8779, "length": 5, - "parent_index": 1153 + "parent_index": 1154 }, "expression": { - "id": 1156, + "id": 1157, "node_type": 110, "src": { "line": 267, @@ -26374,10 +26798,10 @@ "start": 8775, "end": 8799, "length": 25, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1157, + "id": 1158, "node_type": 107, "src": { "line": 267, @@ -26385,13 +26809,13 @@ "start": 8775, "end": 8779, "length": 5, - "parent_index": 1156 + "parent_index": 1157 }, "name": "mload" }, "arguments": [ { - "id": 1158, + "id": 1159, "node_type": 110, "src": { "line": 267, @@ -26399,10 +26823,10 @@ "start": 8781, "end": 8798, "length": 18, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1159, + "id": 1160, "node_type": 107, "src": { "line": 267, @@ -26410,13 +26834,13 @@ "start": 8781, "end": 8783, "length": 3, - "parent_index": 1158 + "parent_index": 1159 }, "name": "add" }, "arguments": [ { - "id": 1160, + "id": 1161, "node_type": 107, "src": { "line": 267, @@ -26424,12 +26848,12 @@ "start": 8785, "end": 8793, "length": 9, - "parent_index": 1158 + "parent_index": 1159 }, "name": "signature" }, { - "id": 1161, + "id": 1162, "node_type": 109, "kind": 115, "src": { @@ -26438,7 +26862,7 @@ "start": 8796, "end": 8797, "length": 2, - "parent_index": 1158 + "parent_index": 1159 }, "value": "32", "hex_value": "" @@ -26450,7 +26874,7 @@ } }, { - "id": 1162, + "id": 1163, "node_type": 92, "src": { "line": 268, @@ -26458,11 +26882,11 @@ "start": 8813, "end": 8842, "length": 30, - "parent_index": 1150 + "parent_index": 1151 }, "variable_names": [ { - "id": 1163, + "id": 1164, "node_type": 107, "src": { "line": 268, @@ -26470,13 +26894,13 @@ "start": 8813, "end": 8813, "length": 1, - "parent_index": 1162 + "parent_index": 1163 }, "name": "s" } ], "value": { - "id": 1164, + "id": 1165, "node_type": 123, "src": { "line": 268, @@ -26484,10 +26908,10 @@ "start": 8818, "end": 8822, "length": 5, - "parent_index": 1162 + "parent_index": 1163 }, "expression": { - "id": 1165, + "id": 1166, "node_type": 110, "src": { "line": 268, @@ -26495,10 +26919,10 @@ "start": 8818, "end": 8842, "length": 25, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1166, + "id": 1167, "node_type": 107, "src": { "line": 268, @@ -26506,13 +26930,13 @@ "start": 8818, "end": 8822, "length": 5, - "parent_index": 1165 + "parent_index": 1166 }, "name": "mload" }, "arguments": [ { - "id": 1167, + "id": 1168, "node_type": 110, "src": { "line": 268, @@ -26520,10 +26944,10 @@ "start": 8824, "end": 8841, "length": 18, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1168, + "id": 1169, "node_type": 107, "src": { "line": 268, @@ -26531,13 +26955,13 @@ "start": 8824, "end": 8826, "length": 3, - "parent_index": 1167 + "parent_index": 1168 }, "name": "add" }, "arguments": [ { - "id": 1169, + "id": 1170, "node_type": 107, "src": { "line": 268, @@ -26545,12 +26969,12 @@ "start": 8828, "end": 8836, "length": 9, - "parent_index": 1167 + "parent_index": 1168 }, "name": "signature" }, { - "id": 1170, + "id": 1171, "node_type": 109, "kind": 115, "src": { @@ -26559,7 +26983,7 @@ "start": 8839, "end": 8840, "length": 2, - "parent_index": 1167 + "parent_index": 1168 }, "value": "64", "hex_value": "" @@ -26571,7 +26995,7 @@ } }, { - "id": 1171, + "id": 1172, "node_type": 92, "src": { "line": 269, @@ -26579,11 +27003,11 @@ "start": 8856, "end": 8895, "length": 40, - "parent_index": 1150 + "parent_index": 1151 }, "variable_names": [ { - "id": 1172, + "id": 1173, "node_type": 107, "src": { "line": 269, @@ -26591,13 +27015,13 @@ "start": 8856, "end": 8856, "length": 1, - "parent_index": 1171 + "parent_index": 1172 }, "name": "v" } ], "value": { - "id": 1173, + "id": 1174, "node_type": 123, "src": { "line": 269, @@ -26605,10 +27029,10 @@ "start": 8861, "end": 8863, "length": 3, - "parent_index": 1171 + "parent_index": 1172 }, "expression": { - "id": 1174, + "id": 1175, "node_type": 110, "src": { "line": 269, @@ -26616,10 +27040,10 @@ "start": 8861, "end": 8895, "length": 35, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1175, + "id": 1176, "node_type": 107, "src": { "line": 269, @@ -26627,13 +27051,13 @@ "start": 8861, "end": 8863, "length": 3, - "parent_index": 1174 + "parent_index": 1175 }, "name": "and" }, "arguments": [ { - "id": 1176, + "id": 1177, "node_type": 110, "src": { "line": 269, @@ -26641,10 +27065,10 @@ "start": 8865, "end": 8889, "length": 25, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1177, + "id": 1178, "node_type": 107, "src": { "line": 269, @@ -26652,13 +27076,13 @@ "start": 8865, "end": 8869, "length": 5, - "parent_index": 1176 + "parent_index": 1177 }, "name": "mload" }, "arguments": [ { - "id": 1178, + "id": 1179, "node_type": 110, "src": { "line": 269, @@ -26666,10 +27090,10 @@ "start": 8871, "end": 8888, "length": 18, - "parent_index": 1150 + "parent_index": 1151 }, "function_name": { - "id": 1179, + "id": 1180, "node_type": 107, "src": { "line": 269, @@ -26677,13 +27101,13 @@ "start": 8871, "end": 8873, "length": 3, - "parent_index": 1178 + "parent_index": 1179 }, "name": "add" }, "arguments": [ { - "id": 1180, + "id": 1181, "node_type": 107, "src": { "line": 269, @@ -26691,12 +27115,12 @@ "start": 8875, "end": 8883, "length": 9, - "parent_index": 1178 + "parent_index": 1179 }, "name": "signature" }, { - "id": 1181, + "id": 1182, "node_type": 109, "kind": 115, "src": { @@ -26705,7 +27129,7 @@ "start": 8886, "end": 8887, "length": 2, - "parent_index": 1178 + "parent_index": 1179 }, "value": "65", "hex_value": "" @@ -26715,7 +27139,7 @@ ] }, { - "id": 1182, + "id": 1183, "node_type": 109, "kind": 115, "src": { @@ -26724,7 +27148,7 @@ "start": 8892, "end": 8894, "length": 3, - "parent_index": 1174 + "parent_index": 1175 }, "value": "255", "hex_value": "" @@ -26739,7 +27163,7 @@ } }, { - "id": 1183, + "id": 1184, "node_type": 48, "src": { "line": 271, @@ -26747,10 +27171,10 @@ "start": 8915, "end": 8934, "length": 20, - "parent_index": 1142 + "parent_index": 1143 }, "condition": { - "id": 1184, + "id": 1185, "is_constant": false, "is_pure": false, "node_type": 19, @@ -26760,11 +27184,11 @@ "start": 8919, "end": 8924, "length": 6, - "parent_index": 1183 + "parent_index": 1184 }, "operator": 9, "left_expression": { - "id": 1185, + "id": 1186, "node_type": 16, "src": { "line": 271, @@ -26772,7 +27196,7 @@ "start": 8919, "end": 8919, "length": 1, - "parent_index": 1184 + "parent_index": 1185 }, "name": "v", "type_description": { @@ -26780,11 +27204,12 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 1003, - "is_pure": false + "referenced_declaration": 1004, + "is_pure": false, + "text": "v" }, "right_expression": { - "id": 1186, + "id": 1187, "node_type": 17, "kind": 49, "value": "27", @@ -26795,7 +27220,7 @@ "start": 8923, "end": 8924, "length": 2, - "parent_index": 1184 + "parent_index": 1185 }, "type_description": { "type_identifier": "t_rational_27_by_1", @@ -26803,7 +27228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "27" }, "type_description": { "type_identifier": "t_bool", @@ -26811,7 +27237,7 @@ } }, "body": { - "id": 1187, + "id": 1188, "node_type": 46, "kind": 0, "src": { @@ -26826,7 +27252,7 @@ } }, { - "id": 1188, + "id": 1189, "node_type": 24, "kind": 24, "src": { @@ -26835,7 +27261,7 @@ "start": 8944, "end": 8990, "length": 47, - "parent_index": 1142 + "parent_index": 1143 }, "argument_types": [ { @@ -26849,7 +27275,7 @@ ], "arguments": [ { - "id": 1190, + "id": 1191, "is_constant": false, "is_pure": false, "node_type": 19, @@ -26859,11 +27285,11 @@ "start": 8952, "end": 8969, "length": 18, - "parent_index": 1188 + "parent_index": 1189 }, "operator": 33, "left_expression": { - "id": 1191, + "id": 1192, "is_constant": false, "is_pure": false, "node_type": 19, @@ -26873,11 +27299,11 @@ "start": 8952, "end": 8958, "length": 7, - "parent_index": 1190 + "parent_index": 1191 }, "operator": 11, "left_expression": { - "id": 1192, + "id": 1193, "node_type": 16, "src": { "line": 272, @@ -26885,7 +27311,7 @@ "start": 8952, "end": 8952, "length": 1, - "parent_index": 1191 + "parent_index": 1192 }, "name": "v", "type_description": { @@ -26893,11 +27319,12 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 1003, - "is_pure": false + "referenced_declaration": 1004, + "is_pure": false, + "text": "v" }, "right_expression": { - "id": 1193, + "id": 1194, "node_type": 17, "kind": 49, "value": "27", @@ -26908,7 +27335,7 @@ "start": 8957, "end": 8958, "length": 2, - "parent_index": 1191 + "parent_index": 1192 }, "type_description": { "type_identifier": "t_rational_27_by_1", @@ -26916,7 +27343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "27" }, "type_description": { "type_identifier": "t_bool", @@ -26924,7 +27352,7 @@ } }, "right_expression": { - "id": 1194, + "id": 1195, "is_constant": false, "is_pure": false, "node_type": 19, @@ -26934,11 +27362,11 @@ "start": 8963, "end": 8969, "length": 7, - "parent_index": 1190 + "parent_index": 1191 }, "operator": 11, "left_expression": { - "id": 1195, + "id": 1196, "node_type": 16, "src": { "line": 272, @@ -26946,7 +27374,7 @@ "start": 8963, "end": 8963, "length": 1, - "parent_index": 1194 + "parent_index": 1195 }, "name": "v", "type_description": { @@ -26954,11 +27382,12 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 1003, - "is_pure": false + "referenced_declaration": 1004, + "is_pure": false, + "text": "v" }, "right_expression": { - "id": 1196, + "id": 1197, "node_type": 17, "kind": 49, "value": "28", @@ -26969,7 +27398,7 @@ "start": 8968, "end": 8969, "length": 2, - "parent_index": 1194 + "parent_index": 1195 }, "type_description": { "type_identifier": "t_rational_28_by_1", @@ -26977,7 +27406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "28" }, "type_description": { "type_identifier": "t_bool", @@ -26990,7 +27420,7 @@ } }, { - "id": 1197, + "id": 1198, "node_type": 17, "kind": 50, "value": "'signature v fail'", @@ -27001,7 +27431,7 @@ "start": 8972, "end": 8989, "length": 18, - "parent_index": 1188 + "parent_index": 1189 }, "type_description": { "type_identifier": "t_string_literal", @@ -27015,11 +27445,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'signature v fail'" } ], "expression": { - "id": 1189, + "id": 1190, "node_type": 16, "src": { "line": 272, @@ -27027,7 +27458,7 @@ "start": 8944, "end": 8950, "length": 7, - "parent_index": 1188 + "parent_index": 1189 }, "name": "require", "type_description": { @@ -27036,7 +27467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -27052,7 +27484,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1132, + "id": 1133, "node_type": 43, "src": { "line": 264, @@ -27060,11 +27492,11 @@ "start": 8595, "end": 8616, "length": 22, - "parent_index": 1131 + "parent_index": 1132 }, "parameters": [ { - "id": 1133, + "id": 1134, "node_type": 44, "src": { "line": 264, @@ -27072,12 +27504,12 @@ "start": 8595, "end": 8616, "length": 22, - "parent_index": 1132 + "parent_index": 1133 }, - "scope": 1131, + "scope": 1132, "name": "signature", "type_name": { - "id": 1134, + "id": 1135, "node_type": 30, "src": { "line": 264, @@ -27085,7 +27517,7 @@ "start": 8595, "end": 8599, "length": 5, - "parent_index": 1133 + "parent_index": 1134 }, "name": "bytes", "referenced_declaration": 0, @@ -27111,7 +27543,7 @@ ] }, "return_parameters": { - "id": 1135, + "id": 1136, "node_type": 43, "src": { "line": 264, @@ -27119,11 +27551,11 @@ "start": 8642, "end": 8668, "length": 27, - "parent_index": 1131 + "parent_index": 1132 }, "parameters": [ { - "id": 1136, + "id": 1137, "node_type": 44, "src": { "line": 264, @@ -27131,12 +27563,12 @@ "start": 8642, "end": 8650, "length": 9, - "parent_index": 1135 + "parent_index": 1136 }, - "scope": 1131, + "scope": 1132, "name": "r", "type_name": { - "id": 1137, + "id": 1138, "node_type": 30, "src": { "line": 264, @@ -27144,7 +27576,7 @@ "start": 8642, "end": 8648, "length": 7, - "parent_index": 1136 + "parent_index": 1137 }, "name": "bytes32", "referenced_declaration": 0, @@ -27162,7 +27594,7 @@ } }, { - "id": 1138, + "id": 1139, "node_type": 44, "src": { "line": 264, @@ -27170,12 +27602,12 @@ "start": 8652, "end": 8660, "length": 9, - "parent_index": 1135 + "parent_index": 1136 }, - "scope": 1131, + "scope": 1132, "name": "s", "type_name": { - "id": 1139, + "id": 1140, "node_type": 30, "src": { "line": 264, @@ -27183,7 +27615,7 @@ "start": 8652, "end": 8658, "length": 7, - "parent_index": 1138 + "parent_index": 1139 }, "name": "bytes32", "referenced_declaration": 0, @@ -27201,7 +27633,7 @@ } }, { - "id": 1140, + "id": 1141, "node_type": 44, "src": { "line": 264, @@ -27209,12 +27641,12 @@ "start": 8662, "end": 8668, "length": 7, - "parent_index": 1135 + "parent_index": 1136 }, - "scope": 1131, + "scope": 1132, "name": "v", "type_name": { - "id": 1141, + "id": 1142, "node_type": 30, "src": { "line": 264, @@ -27222,7 +27654,7 @@ "start": 8662, "end": 8666, "length": 5, - "parent_index": 1140 + "parent_index": 1141 }, "name": "uint8", "referenced_declaration": 0, @@ -27261,7 +27693,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_signatureToRSV(bytesmemorysignature)internalpurereturns(bytes32r,bytes32s,uint8v){require(signature.length==65,'signature length fail');assembly{r:=mload(add(signature,32))s:=mload(add(signature,64))v:=and(mload(add(signature,65)),255)}if(v\u003c27)v+=27;require(v==27||v==28,'signature v fail');}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/Pledge.solgo.ast.proto.json b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/Pledge.solgo.ast.proto.json index 47f2466f..74bbd679 100644 --- a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/Pledge.solgo.ast.proto.json +++ b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/Pledge.solgo.ast.proto.json @@ -6,7 +6,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1198", + "id": "1199", "isConstant": true, "isStateVariable": true, "name": "c", @@ -25,7 +25,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1199", + "id": "1200", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -33,7 +33,7 @@ "end": "970", "length": "7", "line": "24", - "parentIndex": "1198", + "parentIndex": "1199", "start": "964" }, "typeDescription": { @@ -47,7 +47,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1200", + "id": "1201", "isConstant": true, "isStateVariable": true, "name": "c", @@ -66,7 +66,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1201", + "id": "1202", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74,7 +74,7 @@ "end": "1211", "length": "7", "line": "32", - "parentIndex": "1200", + "parentIndex": "1201", "start": "1205" }, "typeDescription": { @@ -88,7 +88,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1202", + "id": "1203", "isConstant": true, "isStateVariable": true, "name": "c", @@ -107,7 +107,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1203", + "id": "1204", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -115,7 +115,7 @@ "end": "1610", "length": "7", "line": "45", - "parentIndex": "1202", + "parentIndex": "1203", "start": "1604" }, "typeDescription": { @@ -129,7 +129,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1204", + "id": "1205", "isConstant": true, "isStateVariable": true, "name": "c", @@ -148,7 +148,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1205", + "id": "1206", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -156,7 +156,7 @@ "end": "1922", "length": "7", "line": "54", - "parentIndex": "1204", + "parentIndex": "1205", "start": "1916" }, "typeDescription": { @@ -170,7 +170,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1206", + "id": "1207", "isConstant": true, "isStateVariable": true, "name": "data", @@ -189,7 +189,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1207", + "id": "1208", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -197,7 +197,7 @@ "end": "2319", "length": "5", "line": "69", - "parentIndex": "1206", + "parentIndex": "1207", "start": "2315" }, "typeDescription": { @@ -211,7 +211,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1208", + "id": "1209", "isConstant": true, "isStateVariable": true, "name": "alphabet", @@ -230,7 +230,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1209", + "id": "1210", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -238,7 +238,7 @@ "end": "2374", "length": "5", "line": "70", - "parentIndex": "1208", + "parentIndex": "1209", "start": "2370" }, "typeDescription": { @@ -252,7 +252,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1210", + "id": "1211", "isConstant": true, "isStateVariable": true, "name": "str", @@ -271,7 +271,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1211", + "id": "1212", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -279,7 +279,7 @@ "end": "2431", "length": "5", "line": "72", - "parentIndex": "1210", + "parentIndex": "1211", "start": "2427" }, "typeDescription": { @@ -293,7 +293,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1212", + "id": "1213", "isConstant": true, "isStateVariable": true, "name": "i", @@ -312,7 +312,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1213", + "id": "1214", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -320,7 +320,7 @@ "end": "2538", "length": "4", "line": "75", - "parentIndex": "1212", + "parentIndex": "1213", "start": "2535" }, "typeDescription": { @@ -334,7 +334,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1214", + "id": "1215", "isConstant": true, "isStateVariable": true, "name": "temp", @@ -353,7 +353,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1215", + "id": "1216", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -361,7 +361,7 @@ "end": "2923", "length": "7", "line": "91", - "parentIndex": "1214", + "parentIndex": "1215", "start": "2917" }, "typeDescription": { @@ -375,7 +375,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1216", + "id": "1217", "isConstant": true, "isStateVariable": true, "name": "digits", @@ -394,7 +394,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1217", + "id": "1218", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -402,7 +402,7 @@ "end": "2953", "length": "7", "line": "92", - "parentIndex": "1216", + "parentIndex": "1217", "start": "2947" }, "typeDescription": { @@ -416,7 +416,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1218", + "id": "1219", "isConstant": true, "isStateVariable": true, "name": "buffer", @@ -435,7 +435,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1219", + "id": "1220", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -443,7 +443,7 @@ "end": "3060", "length": "5", "line": "98", - "parentIndex": "1218", + "parentIndex": "1219", "start": "3056" }, "typeDescription": { @@ -457,7 +457,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1220", + "id": "1221", "isConstant": true, "isStateVariable": true, "name": "len", @@ -476,7 +476,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1221", + "id": "1222", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -484,7 +484,7 @@ "end": "3478", "length": "7", "line": "116", - "parentIndex": "1220", + "parentIndex": "1221", "start": "3472" }, "typeDescription": { @@ -498,7 +498,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1222", + "id": "1223", "isConstant": true, "isStateVariable": true, "name": "k", @@ -517,7 +517,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1223", + "id": "1224", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -525,7 +525,7 @@ "end": "3503", "length": "7", "line": "117", - "parentIndex": "1222", + "parentIndex": "1223", "start": "3497" }, "typeDescription": { @@ -539,7 +539,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1224", + "id": "1225", "isConstant": true, "isStateVariable": true, "name": "i", @@ -558,7 +558,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1225", + "id": "1226", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -566,7 +566,7 @@ "end": "3530", "length": "7", "line": "118", - "parentIndex": "1224", + "parentIndex": "1225", "start": "3524" }, "typeDescription": { @@ -580,7 +580,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1226", + "id": "1227", "isConstant": true, "isStateVariable": true, "name": "bret", @@ -599,7 +599,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1227", + "id": "1228", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -607,7 +607,7 @@ "end": "3626", "length": "5", "line": "121", - "parentIndex": "1226", + "parentIndex": "1227", "start": "3622" }, "typeDescription": { @@ -621,7 +621,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1228", + "id": "1229", "isConstant": true, "isStateVariable": true, "name": "i", @@ -640,7 +640,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1229", + "id": "1230", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -648,7 +648,7 @@ "end": "3676", "length": "7", "line": "122", - "parentIndex": "1228", + "parentIndex": "1229", "start": "3670" }, "typeDescription": { @@ -662,7 +662,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1230", + "id": "1231", "isConstant": true, "isStateVariable": true, "name": "bi", @@ -681,7 +681,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1231", + "id": "1232", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -689,7 +689,7 @@ "end": "3724", "length": "5", "line": "123", - "parentIndex": "1230", + "parentIndex": "1231", "start": "3720" }, "typeDescription": { @@ -703,7 +703,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1232", + "id": "1233", "isConstant": true, "isStateVariable": true, "name": "j", @@ -722,7 +722,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1233", + "id": "1234", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -730,7 +730,7 @@ "end": "3776", "length": "7", "line": "124", - "parentIndex": "1232", + "parentIndex": "1233", "start": "3770" }, "typeDescription": { @@ -744,7 +744,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1234", + "id": "1235", "isConstant": true, "isStateVariable": true, "name": "_ba", @@ -763,7 +763,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1235", + "id": "1236", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -771,7 +771,7 @@ "end": "3978", "length": "5", "line": "130", - "parentIndex": "1234", + "parentIndex": "1235", "start": "3974" }, "typeDescription": { @@ -785,7 +785,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1236", + "id": "1237", "isConstant": true, "isStateVariable": true, "name": "_bb", @@ -804,7 +804,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1237", + "id": "1238", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -812,7 +812,7 @@ "end": "4017", "length": "5", "line": "132", - "parentIndex": "1236", + "parentIndex": "1237", "start": "4013" }, "typeDescription": { @@ -826,7 +826,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1238", + "id": "1239", "isConstant": true, "isStateVariable": true, "name": "bret", @@ -845,7 +845,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1239", + "id": "1240", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -853,7 +853,7 @@ "end": "4056", "length": "5", "line": "134", - "parentIndex": "1238", + "parentIndex": "1239", "start": "4052" }, "typeDescription": { @@ -867,7 +867,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1240", + "id": "1241", "isConstant": true, "isStateVariable": true, "name": "k", @@ -886,7 +886,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1241", + "id": "1242", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -894,7 +894,7 @@ "end": "4120", "length": "4", "line": "136", - "parentIndex": "1240", + "parentIndex": "1241", "start": "4117" }, "typeDescription": { @@ -908,7 +908,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1242", + "id": "1243", "isConstant": true, "isStateVariable": true, "name": "i", @@ -927,7 +927,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1243", + "id": "1244", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -935,7 +935,7 @@ "end": "4146", "length": "4", "line": "138", - "parentIndex": "1242", + "parentIndex": "1243", "start": "4143" }, "typeDescription": { @@ -949,7 +949,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1244", + "id": "1245", "isConstant": true, "isStateVariable": true, "name": "i", @@ -968,7 +968,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1245", + "id": "1246", "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -976,7 +976,7 @@ "end": "4213", "length": "4", "line": "140", - "parentIndex": "1244", + "parentIndex": "1245", "start": "4210" }, "typeDescription": { @@ -990,7 +990,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1246", + "id": "1247", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -1005,7 +1005,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307841303736393541654443373763613544383339363346624242423041334141363230343132373836", - "id": "1251", + "id": "1252", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -1014,7 +1014,7 @@ "end": "5061", "length": "42", "line": "170", - "parentIndex": "1248", + "parentIndex": "1249", "start": "5020" }, "typeDescription": { @@ -1034,7 +1034,7 @@ "typeString": "address" } ], - "id": "1249", + "id": "1250", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -1042,7 +1042,7 @@ "end": "5018", "length": "7", "line": "170", - "parentIndex": "1248", + "parentIndex": "1249", "start": "5012" }, "typeDescription": { @@ -1050,7 +1050,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "1250", + "id": "1251", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1058,7 +1058,7 @@ "end": "5018", "length": "7", "line": "170", - "parentIndex": "1249", + "parentIndex": "1250", "start": "5012" }, "stateMutability": "NONPAYABLE", @@ -1069,7 +1069,7 @@ } } }, - "id": "1248", + "id": "1249", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -1077,7 +1077,7 @@ "end": "5062", "length": "51", "line": "170", - "parentIndex": "1246", + "parentIndex": "1247", "start": "5012" }, "typeDescription": { @@ -1103,7 +1103,7 @@ "typeString": "function(int_const 0xA07695AeDC77ca5D83963FbBBB0A3AA620412786)" }, "typeName": { - "id": "1247", + "id": "1248", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1111,7 +1111,7 @@ "end": "4997", "length": "7", "line": "170", - "parentIndex": "1246", + "parentIndex": "1247", "start": "4991" }, "stateMutability": "NONPAYABLE", @@ -1126,7 +1126,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1252", + "id": "1253", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -1141,7 +1141,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307831353965363239363935314637323138383534313366666335463937634332303862323932304345", - "id": "1257", + "id": "1258", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -1150,7 +1150,7 @@ "end": "5140", "length": "42", "line": "171", - "parentIndex": "1254", + "parentIndex": "1255", "start": "5099" }, "typeDescription": { @@ -1170,7 +1170,7 @@ "typeString": "address" } ], - "id": "1255", + "id": "1256", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -1178,7 +1178,7 @@ "end": "5097", "length": "7", "line": "171", - "parentIndex": "1254", + "parentIndex": "1255", "start": "5091" }, "typeDescription": { @@ -1186,7 +1186,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "1256", + "id": "1257", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1194,7 +1194,7 @@ "end": "5097", "length": "7", "line": "171", - "parentIndex": "1255", + "parentIndex": "1256", "start": "5091" }, "stateMutability": "NONPAYABLE", @@ -1205,7 +1205,7 @@ } } }, - "id": "1254", + "id": "1255", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -1213,7 +1213,7 @@ "end": "5141", "length": "51", "line": "171", - "parentIndex": "1252", + "parentIndex": "1253", "start": "5091" }, "typeDescription": { @@ -1239,7 +1239,7 @@ "typeString": "function(int_const 0x159e6296951F721885413ffc5F97cC208b2920CE)" }, "typeName": { - "id": "1253", + "id": "1254", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1247,7 +1247,7 @@ "end": "5075", "length": "7", "line": "171", - "parentIndex": "1252", + "parentIndex": "1253", "start": "5069" }, "stateMutability": "NONPAYABLE", @@ -1262,7 +1262,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1258", + "id": "1259", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -1277,7 +1277,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307835356433393833323666393930353966463737353438353234363939393032374233313937393535", - "id": "1263", + "id": "1264", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -1286,7 +1286,7 @@ "end": "5220", "length": "42", "line": "172", - "parentIndex": "1260", + "parentIndex": "1261", "start": "5179" }, "typeDescription": { @@ -1306,7 +1306,7 @@ "typeString": "address" } ], - "id": "1261", + "id": "1262", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -1314,7 +1314,7 @@ "end": "5177", "length": "7", "line": "172", - "parentIndex": "1260", + "parentIndex": "1261", "start": "5171" }, "typeDescription": { @@ -1322,7 +1322,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "1262", + "id": "1263", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1330,7 +1330,7 @@ "end": "5177", "length": "7", "line": "172", - "parentIndex": "1261", + "parentIndex": "1262", "start": "5171" }, "stateMutability": "NONPAYABLE", @@ -1341,7 +1341,7 @@ } } }, - "id": "1260", + "id": "1261", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -1349,7 +1349,7 @@ "end": "5221", "length": "51", "line": "172", - "parentIndex": "1258", + "parentIndex": "1259", "start": "5171" }, "typeDescription": { @@ -1375,7 +1375,7 @@ "typeString": "function(int_const 0x55d398326f99059fF775485246999027B3197955)" }, "typeName": { - "id": "1259", + "id": "1260", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1383,7 +1383,7 @@ "end": "5154", "length": "7", "line": "172", - "parentIndex": "1258", + "parentIndex": "1259", "start": "5148" }, "stateMutability": "NONPAYABLE", @@ -1398,7 +1398,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1264", + "id": "1265", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -1413,7 +1413,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307839443537304234306265426262363834434261664639663463623031426538374330423136366130", - "id": "1269", + "id": "1270", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -1422,7 +1422,7 @@ "end": "5296", "length": "42", "line": "173", - "parentIndex": "1267", + "parentIndex": "1268", "start": "5255" }, "typeDescription": { @@ -1436,7 +1436,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1268", + "id": "1269", "name": "IPair", "nodeType": "IDENTIFIER", "src": { @@ -1444,7 +1444,7 @@ "end": "5253", "length": "5", "line": "173", - "parentIndex": "1267", + "parentIndex": "1268", "start": "5249" }, "typeDescription": { @@ -1453,7 +1453,7 @@ } } }, - "id": "1267", + "id": "1268", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -1461,7 +1461,7 @@ "end": "5297", "length": "49", "line": "173", - "parentIndex": "1264", + "parentIndex": "1265", "start": "5249" }, "typeDescription": { @@ -1487,17 +1487,17 @@ "typeString": "function(int_const 0x9D570B40beBbb684CBafF9f4cb01Be87C0B166a0)" }, "typeName": { - "id": "1265", + "id": "1266", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1266", + "id": "1267", "name": "IPair", "nameLocation": { "column": "4", "end": "5232", "length": "5", "line": "173", - "parentIndex": "1265", + "parentIndex": "1266", "start": "5228" }, "nodeType": "IDENTIFIER_PATH", @@ -1507,7 +1507,7 @@ "end": "5232", "length": "5", "line": "173", - "parentIndex": "1265", + "parentIndex": "1266", "start": "5228" } }, @@ -1517,7 +1517,7 @@ "end": "5232", "length": "5", "line": "173", - "parentIndex": "1264", + "parentIndex": "1265", "start": "5228" }, "typeDescription": { @@ -1531,7 +1531,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1270", + "id": "1271", "isStateVariable": true, "name": "_owner", "nodeType": "VARIABLE_DECLARATION", @@ -1549,7 +1549,7 @@ "typeString": "address" }, "typeName": { - "id": "1271", + "id": "1272", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1557,7 +1557,7 @@ "end": "5310", "length": "7", "line": "174", - "parentIndex": "1270", + "parentIndex": "1271", "start": "5304" }, "stateMutability": "NONPAYABLE", @@ -1572,7 +1572,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1272", + "id": "1273", "isStateVariable": true, "name": "_signer", "nodeType": "VARIABLE_DECLARATION", @@ -1590,7 +1590,7 @@ "typeString": "address" }, "typeName": { - "id": "1273", + "id": "1274", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1598,7 +1598,7 @@ "end": "5337", "length": "7", "line": "175", - "parentIndex": "1272", + "parentIndex": "1273", "start": "5331" }, "stateMutability": "NONPAYABLE", @@ -1613,7 +1613,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1274", + "id": "1275", "isStateVariable": true, "name": "records", "nodeType": "VARIABLE_DECLARATION", @@ -1627,13 +1627,13 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_Record$", + "typeIdentifier": "t_mapping_$t_uint256_$t_struct$_Pledge_Record_$806$", "typeString": "mapping(uint256=\u003eRecord)" }, "typeName": { - "id": "1275", + "id": "1276", "keyType": { - "id": "1276", + "id": "1277", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1641,7 +1641,7 @@ "end": "5374", "length": "7", "line": "177", - "parentIndex": "1275", + "parentIndex": "1276", "start": "5368" }, "typeDescription": { @@ -1654,36 +1654,61 @@ "end": "5374", "length": "7", "line": "177", - "parentIndex": "1275", + "parentIndex": "1276", "start": "5368" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "1279", + "name": "Record", + "nameLocation": { + "column": "23", + "end": "5384", + "length": "6", + "line": "177", + "parentIndex": "1276", + "start": "5379" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "806", + "src": { + "column": "23", + "end": "5384", + "length": "6", + "line": "177", + "parentIndex": "1276", + "start": "5379" + } + }, + "referencedDeclaration": "806", "src": { "column": "4", "end": "5385", "length": "26", "line": "177", - "parentIndex": "1274", + "parentIndex": "1275", "start": "5360" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_Record$", + "typeIdentifier": "t_mapping_$t_uint256_$t_struct$_Pledge_Record_$806$", "typeString": "mapping(uint256=\u003eRecord)" }, "valueType": { - "id": "1277", + "id": "1278", "name": "Record", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "806", "src": { "column": "23", "end": "5384", "length": "6", "line": "177", - "parentIndex": "1275", + "parentIndex": "1276", "start": "5379" }, "typeDescription": { - "typeIdentifier": "t_Record", - "typeString": "Record" + "typeIdentifier": "t_struct$_Pledge_Record_$806", + "typeString": "struct Pledge.Record" } }, "valueTypeLocation": { @@ -1691,7 +1716,7 @@ "end": "5384", "length": "6", "line": "177", - "parentIndex": "1275", + "parentIndex": "1276", "start": "5379" } }, @@ -1701,25 +1726,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1278", + "id": "1280", "name": "PledgeSend", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1279", + "id": "1281", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1280", + "id": "1282", "indexed": true, "name": "orderId", "nodeType": "VARIABLE_DECLARATION", - "scope": "1280", + "scope": "1282", "src": { "column": "21", "end": "5447", "length": "23", "line": "179", - "parentIndex": "1279", + "parentIndex": "1281", "start": "5425" }, "stateMutability": "MUTABLE", @@ -1729,7 +1754,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1281", + "id": "1283", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1737,7 +1762,7 @@ "end": "5431", "length": "7", "line": "179", - "parentIndex": "1280", + "parentIndex": "1282", "start": "5425" }, "typeDescription": { @@ -1748,17 +1773,17 @@ "visibility": "INTERNAL" }, { - "id": "1282", + "id": "1284", "indexed": true, "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "1282", + "scope": "1284", "src": { "column": "46", "end": "5469", "length": "20", "line": "179", - "parentIndex": "1279", + "parentIndex": "1281", "start": "5450" }, "stateMutability": "NONPAYABLE", @@ -1768,7 +1793,7 @@ "typeString": "address" }, "typeName": { - "id": "1283", + "id": "1285", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1776,7 +1801,7 @@ "end": "5456", "length": "7", "line": "179", - "parentIndex": "1282", + "parentIndex": "1284", "start": "5450" }, "stateMutability": "NONPAYABLE", @@ -1788,16 +1813,16 @@ "visibility": "INTERNAL" }, { - "id": "1284", + "id": "1286", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "1284", + "scope": "1286", "src": { "column": "68", "end": "5485", "length": "14", "line": "179", - "parentIndex": "1279", + "parentIndex": "1281", "start": "5472" }, "stateMutability": "MUTABLE", @@ -1807,7 +1832,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1285", + "id": "1287", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1815,7 +1840,7 @@ "end": "5478", "length": "7", "line": "179", - "parentIndex": "1284", + "parentIndex": "1286", "start": "5472" }, "typeDescription": { @@ -1831,7 +1856,7 @@ "end": "5487", "length": "80", "line": "179", - "parentIndex": "1278", + "parentIndex": "1280", "start": "5408" } }, @@ -1843,7 +1868,7 @@ "start": "5408" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_PledgeSend_\u00261278", + "typeIdentifier": "t_event\u0026_Global_PledgeSend_\u00261280", "typeString": "event Global.PledgeSend" } } @@ -1852,19 +1877,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Record", - "id": "1286", + "id": "1288", "members": [ { - "id": "1287", + "id": "1289", "name": "orderId", "nodeType": "VARIABLE_DECLARATION", - "scope": "1287", + "scope": "1289", "src": { "column": "8", "end": "6036", "length": "16", "line": "204", - "parentIndex": "1286", + "parentIndex": "1288", "start": "6021" }, "stateMutability": "MUTABLE", @@ -1873,7 +1898,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1288", + "id": "1290", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1881,7 +1906,7 @@ "end": "6027", "length": "7", "line": "204", - "parentIndex": "1287", + "parentIndex": "1289", "start": "6021" }, "typeDescription": { @@ -1892,16 +1917,16 @@ "visibility": "INTERNAL" }, { - "id": "1289", + "id": "1291", "name": "createTime", "nodeType": "VARIABLE_DECLARATION", - "scope": "1289", + "scope": "1291", "src": { "column": "8", "end": "6064", "length": "19", "line": "205", - "parentIndex": "1286", + "parentIndex": "1288", "start": "6046" }, "stateMutability": "MUTABLE", @@ -1910,7 +1935,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1290", + "id": "1292", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1918,7 +1943,7 @@ "end": "6052", "length": "7", "line": "205", - "parentIndex": "1289", + "parentIndex": "1291", "start": "6046" }, "typeDescription": { @@ -1929,16 +1954,16 @@ "visibility": "INTERNAL" }, { - "id": "1291", + "id": "1293", "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "1291", + "scope": "1293", "src": { "column": "8", "end": "6086", "length": "13", "line": "206", - "parentIndex": "1286", + "parentIndex": "1288", "start": "6074" }, "stateMutability": "NONPAYABLE", @@ -1947,7 +1972,7 @@ "typeString": "address" }, "typeName": { - "id": "1292", + "id": "1294", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1955,7 +1980,7 @@ "end": "6080", "length": "7", "line": "206", - "parentIndex": "1291", + "parentIndex": "1293", "start": "6074" }, "stateMutability": "NONPAYABLE", @@ -1967,16 +1992,16 @@ "visibility": "INTERNAL" }, { - "id": "1293", + "id": "1295", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "1293", + "scope": "1295", "src": { "column": "8", "end": "6110", "length": "15", "line": "207", - "parentIndex": "1286", + "parentIndex": "1288", "start": "6096" }, "stateMutability": "MUTABLE", @@ -1985,7 +2010,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1294", + "id": "1296", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1993,7 +2018,7 @@ "end": "6102", "length": "7", "line": "207", - "parentIndex": "1293", + "parentIndex": "1295", "start": "6096" }, "typeDescription": { @@ -2004,16 +2029,16 @@ "visibility": "INTERNAL" }, { - "id": "1295", + "id": "1297", "name": "eafAmount", "nodeType": "VARIABLE_DECLARATION", - "scope": "1295", + "scope": "1297", "src": { "column": "8", "end": "6137", "length": "18", "line": "208", - "parentIndex": "1286", + "parentIndex": "1288", "start": "6120" }, "stateMutability": "MUTABLE", @@ -2022,7 +2047,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1296", + "id": "1298", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2030,7 +2055,7 @@ "end": "6126", "length": "7", "line": "208", - "parentIndex": "1295", + "parentIndex": "1297", "start": "6120" }, "typeDescription": { @@ -2047,7 +2072,7 @@ "end": "6010", "length": "6", "line": "203", - "parentIndex": "1286", + "parentIndex": "1288", "start": "6005" }, "nodeType": "STRUCT_DEFINITION", @@ -2060,7 +2085,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Record_$1286", + "typeIdentifier": "t_struct$_Global_Record_$1288", "typeString": "struct Global.Record" }, "visibility": "PUBLIC" @@ -2069,7 +2094,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1297", + "id": "1299", "isConstant": true, "isStateVariable": true, "name": "signer", @@ -2088,7 +2113,7 @@ "typeString": "address" }, "typeName": { - "id": "1298", + "id": "1300", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2096,7 +2121,7 @@ "end": "6327", "length": "7", "line": "213", - "parentIndex": "1297", + "parentIndex": "1299", "start": "6321" }, "stateMutability": "NONPAYABLE", @@ -2111,7 +2136,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1299", + "id": "1301", "isConstant": true, "isStateVariable": true, "name": "record", @@ -2126,45 +2151,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Record_$1286", + "typeIdentifier": "t_struct$_Global_Record_$1288", "typeString": "struct Global.Record" }, "typeName": { - "id": "1300", + "id": "1302", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1301", + "id": "1303", "name": "Record", "nameLocation": { "column": "8", "end": "6480", "length": "6", "line": "215", - "parentIndex": "1300", + "parentIndex": "1302", "start": "6475" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1286", + "referencedDeclaration": "1288", "src": { "column": "8", "end": "6480", "length": "6", "line": "215", - "parentIndex": "1300", + "parentIndex": "1302", "start": "6475" } }, - "referencedDeclaration": "1286", + "referencedDeclaration": "1288", "src": { "column": "8", "end": "6480", "length": "6", "line": "215", - "parentIndex": "1299", + "parentIndex": "1301", "start": "6475" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Record_$1286", + "typeIdentifier": "t_struct$_Global_Record_$1288", "typeString": "struct Global.Record" } }, @@ -2174,7 +2199,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1302", + "id": "1304", "isConstant": true, "isStateVariable": true, "name": "eAmount", @@ -2193,7 +2218,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1303", + "id": "1305", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2201,7 +2226,7 @@ "end": "6901", "length": "7", "line": "223", - "parentIndex": "1302", + "parentIndex": "1304", "start": "6895" }, "typeDescription": { @@ -2215,7 +2240,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1304", + "id": "1306", "isConstant": true, "isStateVariable": true, "name": "record", @@ -2230,45 +2255,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Record_$1286", + "typeIdentifier": "t_struct$_Global_Record_$1288", "typeString": "struct Global.Record" }, "typeName": { - "id": "1305", + "id": "1307", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1306", + "id": "1308", "name": "Record", "nameLocation": { "column": "8", "end": "7004", "length": "6", "line": "225", - "parentIndex": "1305", + "parentIndex": "1307", "start": "6999" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1286", + "referencedDeclaration": "1288", "src": { "column": "8", "end": "7004", "length": "6", "line": "225", - "parentIndex": "1305", + "parentIndex": "1307", "start": "6999" } }, - "referencedDeclaration": "1286", + "referencedDeclaration": "1288", "src": { "column": "8", "end": "7004", "length": "6", "line": "225", - "parentIndex": "1304", + "parentIndex": "1306", "start": "6999" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Record_$1286", + "typeIdentifier": "t_struct$_Global_Record_$1288", "typeString": "struct Global.Record" } }, @@ -2278,7 +2303,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1307", + "id": "1309", "isConstant": true, "isStateVariable": true, "name": "r0", @@ -2297,7 +2322,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1308", + "id": "1310", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2305,7 +2330,7 @@ "end": "7366", "length": "7", "line": "235", - "parentIndex": "1307", + "parentIndex": "1309", "start": "7360" }, "typeDescription": { @@ -2319,7 +2344,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1309", + "id": "1311", "isConstant": true, "isStateVariable": true, "name": "r1", @@ -2338,7 +2363,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1310", + "id": "1312", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2346,7 +2371,7 @@ "end": "7378", "length": "7", "line": "235", - "parentIndex": "1309", + "parentIndex": "1311", "start": "7372" }, "typeDescription": { @@ -2360,7 +2385,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1311", + "id": "1313", "isConstant": true, "isStateVariable": true, "name": "ru", @@ -2379,7 +2404,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1312", + "id": "1314", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2387,7 +2412,7 @@ "end": "7424", "length": "7", "line": "236", - "parentIndex": "1311", + "parentIndex": "1313", "start": "7418" }, "typeDescription": { @@ -2401,7 +2426,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1313", + "id": "1315", "isConstant": true, "isStateVariable": true, "name": "re", @@ -2420,7 +2445,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1314", + "id": "1316", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2428,7 +2453,7 @@ "end": "7436", "length": "7", "line": "236", - "parentIndex": "1313", + "parentIndex": "1315", "start": "7430" }, "typeDescription": { @@ -2442,7 +2467,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1315", + "id": "1317", "isConstant": true, "isStateVariable": true, "name": "r", @@ -2461,7 +2486,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1316", + "id": "1318", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2469,7 +2494,7 @@ "end": "7653", "length": "7", "line": "241", - "parentIndex": "1315", + "parentIndex": "1317", "start": "7647" }, "typeDescription": { @@ -2483,7 +2508,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1317", + "id": "1319", "isConstant": true, "isStateVariable": true, "name": "s", @@ -2502,7 +2527,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1318", + "id": "1320", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2510,7 +2535,7 @@ "end": "7663", "length": "7", "line": "241", - "parentIndex": "1317", + "parentIndex": "1319", "start": "7657" }, "typeDescription": { @@ -2524,7 +2549,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1319", + "id": "1321", "isConstant": true, "isStateVariable": true, "name": "v", @@ -2543,7 +2568,7 @@ "typeString": "uint8" }, "typeName": { - "id": "1320", + "id": "1322", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2551,7 +2576,7 @@ "end": "7671", "length": "5", "line": "241", - "parentIndex": "1319", + "parentIndex": "1321", "start": "7667" }, "typeDescription": { @@ -2565,7 +2590,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1321", + "id": "1323", "isConstant": true, "isStateVariable": true, "name": "signer", @@ -2584,7 +2609,7 @@ "typeString": "address" }, "typeName": { - "id": "1322", + "id": "1324", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2592,7 +2617,7 @@ "end": "7720", "length": "7", "line": "242", - "parentIndex": "1321", + "parentIndex": "1323", "start": "7714" }, "stateMutability": "NONPAYABLE", @@ -2607,7 +2632,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1323", + "id": "1325", "isConstant": true, "isStateVariable": true, "name": "list", @@ -2626,7 +2651,7 @@ "typeString": "string" }, "typeName": { - "id": "1324", + "id": "1326", "name": "string", "nodeType": "IDENTIFIER", "src": { @@ -2634,7 +2659,7 @@ "end": "8322", "length": "6", "line": "255", - "parentIndex": "1323", + "parentIndex": "1325", "start": "8317" }, "typeDescription": { @@ -3612,7 +3637,7 @@ } }, "scope": "11", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "530", @@ -3800,7 +3825,7 @@ } }, "scope": "11", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "619", @@ -3987,7 +4012,7 @@ } }, "scope": "11", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "698", @@ -4213,7 +4238,7 @@ } }, "scope": "11", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "800", @@ -4942,7 +4967,7 @@ } }, "scope": "114", - "signature": "f31e4d28", + "signature": "771602f7", "src": { "column": "4", "end": "1062", @@ -5445,7 +5470,7 @@ } }, "scope": "114", - "signature": "bf3b2b28", + "signature": "b67d77c5", "src": { "column": "4", "end": "1247", @@ -6125,7 +6150,7 @@ } }, "scope": "114", - "signature": "cd3ef6fa", + "signature": "c8a4ac9c", "src": { "column": "4", "end": "1712", @@ -6630,7 +6655,7 @@ } }, "scope": "114", - "signature": "4530da25", + "signature": "a391c15b", "src": { "column": "4", "end": "2044", @@ -7048,7 +7073,7 @@ } }, "scope": "114", - "signature": "1130353e", + "signature": "f43f523a", "src": { "column": "4", "end": "2199", @@ -14434,7 +14459,7 @@ } }, "scope": "433", - "signature": "ab4fb373", + "signature": "ebdf86ca", "src": { "column": "4", "end": "4297", @@ -14786,7 +14811,7 @@ } }, "scope": "433", - "signature": "c8870403", + "signature": "4f2cc703", "src": { "column": "4", "end": "4437", @@ -15139,7 +15164,7 @@ } }, "scope": "433", - "signature": "6a73a0f7", + "signature": "2bffc7ed", "src": { "column": "4", "end": "4580", @@ -15816,7 +15841,7 @@ } }, "scope": "633", - "signature": "06f200c5", + "signature": "9ca6edd7", "src": { "column": "4", "end": "4825", @@ -16748,7 +16773,7 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_Record$", + "typeIdentifier": "t_mapping_$t_uint256_$t_unknown_726$", "typeString": "mapping(uint256=\u003eRecord)" }, "typeName": { @@ -16778,6 +16803,29 @@ "parentIndex": "724", "start": "5368" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "727", + "name": "Record", + "nameLocation": { + "column": "23", + "end": "5384", + "length": "6", + "line": "177", + "parentIndex": "724", + "start": "5379" + }, + "nodeType": "IDENTIFIER_PATH", + "src": { + "column": "23", + "end": "5384", + "length": "6", + "line": "177", + "parentIndex": "724", + "start": "5379" + } + }, + "referencedDeclaration": "1288", "src": { "column": "4", "end": "5385", @@ -16787,13 +16835,14 @@ "start": "5360" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_Record$", - "typeString": "mapping(uint256=\u003eRecord)" + "typeIdentifier": "t_struct$_Global_Record_$1288", + "typeString": "struct Global.Record" }, "valueType": { "id": "726", "name": "Record", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "1288", "src": { "column": "23", "end": "5384", @@ -16803,8 +16852,8 @@ "start": "5379" }, "typeDescription": { - "typeIdentifier": "t_Record", - "typeString": "Record" + "typeIdentifier": "t_struct$_Global_Record_$1288", + "typeString": "struct Global.Record" } }, "valueTypeLocation": { @@ -16822,25 +16871,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "728", + "id": "729", "name": "PledgeSend", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "729", + "id": "730", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "730", + "id": "731", "indexed": true, "name": "orderId", "nodeType": "VARIABLE_DECLARATION", - "scope": "730", + "scope": "731", "src": { "column": "21", "end": "5447", "length": "23", "line": "179", - "parentIndex": "729", + "parentIndex": "730", "start": "5425" }, "stateMutability": "MUTABLE", @@ -16850,7 +16899,7 @@ "typeString": "uint256" }, "typeName": { - "id": "731", + "id": "732", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -16858,7 +16907,7 @@ "end": "5431", "length": "7", "line": "179", - "parentIndex": "730", + "parentIndex": "731", "start": "5425" }, "typeDescription": { @@ -16869,17 +16918,17 @@ "visibility": "INTERNAL" }, { - "id": "732", + "id": "733", "indexed": true, "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "732", + "scope": "733", "src": { "column": "46", "end": "5469", "length": "20", "line": "179", - "parentIndex": "729", + "parentIndex": "730", "start": "5450" }, "stateMutability": "NONPAYABLE", @@ -16889,7 +16938,7 @@ "typeString": "address" }, "typeName": { - "id": "733", + "id": "734", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -16897,7 +16946,7 @@ "end": "5456", "length": "7", "line": "179", - "parentIndex": "732", + "parentIndex": "733", "start": "5450" }, "stateMutability": "NONPAYABLE", @@ -16909,16 +16958,16 @@ "visibility": "INTERNAL" }, { - "id": "734", + "id": "735", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "734", + "scope": "735", "src": { "column": "68", "end": "5485", "length": "14", "line": "179", - "parentIndex": "729", + "parentIndex": "730", "start": "5472" }, "stateMutability": "MUTABLE", @@ -16928,7 +16977,7 @@ "typeString": "uint256" }, "typeName": { - "id": "735", + "id": "736", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -16936,7 +16985,7 @@ "end": "5478", "length": "7", "line": "179", - "parentIndex": "734", + "parentIndex": "735", "start": "5472" }, "typeDescription": { @@ -16952,7 +17001,7 @@ "end": "5487", "length": "80", "line": "179", - "parentIndex": "728", + "parentIndex": "729", "start": "5408" } }, @@ -16965,7 +17014,7 @@ "start": "5408" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Pledge_PledgeSend_\u0026728", + "typeIdentifier": "t_event\u0026_Pledge_PledgeSend_\u0026729", "typeString": "event Pledge.PledgeSend" } } @@ -16974,7 +17023,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "744", + "id": "745", "implemented": true, "nodeType": "BLOCK", "src": { @@ -16982,7 +17031,7 @@ "end": "5593", "length": "57", "line": "181", - "parentIndex": "737", + "parentIndex": "738", "start": "5537" }, "statements": [ @@ -16992,11 +17041,11 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "746", + "id": "747", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "747", + "id": "748", "name": "_owner", "nodeType": "IDENTIFIER", "referencedDeclaration": "717", @@ -17005,7 +17054,7 @@ "end": "5552", "length": "6", "line": "182", - "parentIndex": "746", + "parentIndex": "747", "start": "5547" }, "typeDescription": { @@ -17019,16 +17068,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "748", + "id": "749", "name": "owner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "748", + "referencedDeclaration": "749", "src": { "column": "17", "end": "5560", "length": "5", "line": "182", - "parentIndex": "746", + "parentIndex": "747", "start": "5556" }, "typeDescription": { @@ -17042,7 +17091,7 @@ "end": "5560", "length": "14", "line": "182", - "parentIndex": "745", + "parentIndex": "746", "start": "5547" }, "typeDescription": { @@ -17051,14 +17100,14 @@ } } }, - "id": "745", + "id": "746", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "5561", "length": "15", "line": "182", - "parentIndex": "744", + "parentIndex": "745", "start": "5547" }, "typeDescription": { @@ -17073,11 +17122,11 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "750", + "id": "751", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "751", + "id": "752", "name": "_signer", "nodeType": "IDENTIFIER", "referencedDeclaration": "720", @@ -17086,7 +17135,7 @@ "end": "5577", "length": "7", "line": "183", - "parentIndex": "750", + "parentIndex": "751", "start": "5571" }, "typeDescription": { @@ -17100,16 +17149,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "752", + "id": "753", "name": "signer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "752", + "referencedDeclaration": "753", "src": { "column": "18", "end": "5586", "length": "6", "line": "183", - "parentIndex": "750", + "parentIndex": "751", "start": "5581" }, "typeDescription": { @@ -17123,7 +17172,7 @@ "end": "5586", "length": "16", "line": "183", - "parentIndex": "749", + "parentIndex": "750", "start": "5571" }, "typeDescription": { @@ -17132,14 +17181,14 @@ } } }, - "id": "749", + "id": "750", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "5587", "length": "17", "line": "183", - "parentIndex": "744", + "parentIndex": "745", "start": "5571" }, "typeDescription": { @@ -17150,25 +17199,25 @@ } ] }, - "id": "737", + "id": "738", "implemented": true, "kind": "CONSTRUCTOR", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "738", + "id": "739", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "739", + "id": "740", "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "739", + "scope": "740", "src": { "column": "16", "end": "5518", "length": "13", "line": "181", - "parentIndex": "738", + "parentIndex": "739", "start": "5506" }, "stateMutability": "NONPAYABLE", @@ -17178,7 +17227,7 @@ "typeString": "address" }, "typeName": { - "id": "740", + "id": "741", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -17186,7 +17235,7 @@ "end": "5512", "length": "7", "line": "181", - "parentIndex": "739", + "parentIndex": "740", "start": "5506" }, "stateMutability": "NONPAYABLE", @@ -17198,16 +17247,16 @@ "visibility": "INTERNAL" }, { - "id": "741", + "id": "742", "name": "signer", "nodeType": "VARIABLE_DECLARATION", - "scope": "741", + "scope": "742", "src": { "column": "31", "end": "5534", "length": "14", "line": "181", - "parentIndex": "738", + "parentIndex": "739", "start": "5521" }, "stateMutability": "NONPAYABLE", @@ -17217,7 +17266,7 @@ "typeString": "address" }, "typeName": { - "id": "742", + "id": "743", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -17225,7 +17274,7 @@ "end": "5527", "length": "7", "line": "181", - "parentIndex": "741", + "parentIndex": "742", "start": "5521" }, "stateMutability": "NONPAYABLE", @@ -17242,19 +17291,19 @@ "end": "5534", "length": "29", "line": "181", - "parentIndex": "737", + "parentIndex": "738", "start": "5506" } }, "returnParameters": { - "id": "743", + "id": "744", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "5593", "length": "100", "line": "181", - "parentIndex": "737", + "parentIndex": "738", "start": "5494" } }, @@ -17279,7 +17328,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "756", + "id": "757", "implemented": true, "nodeType": "BLOCK", "src": { @@ -17287,7 +17336,7 @@ "end": "5712", "length": "93", "line": "186", - "parentIndex": "754", + "parentIndex": "755", "start": "5620" }, "statements": [ @@ -17308,14 +17357,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "759", + "id": "760", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "761", + "id": "762", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -17323,7 +17372,7 @@ "end": "5640", "length": "3", "line": "187", - "parentIndex": "760", + "parentIndex": "761", "start": "5638" }, "typeDescription": { @@ -17332,13 +17381,13 @@ } } }, - "id": "760", + "id": "761", "memberLocation": { "column": "20", "end": "5647", "length": "6", "line": "187", - "parentIndex": "760", + "parentIndex": "761", "start": "5642" }, "memberName": "sender", @@ -17348,7 +17397,7 @@ "end": "5647", "length": "10", "line": "187", - "parentIndex": "759", + "parentIndex": "760", "start": "5638" }, "typeDescription": { @@ -17362,7 +17411,7 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "762", + "id": "763", "name": "_owner", "nodeType": "IDENTIFIER", "referencedDeclaration": "717", @@ -17371,7 +17420,7 @@ "end": "5657", "length": "6", "line": "187", - "parentIndex": "759", + "parentIndex": "760", "start": "5652" }, "typeDescription": { @@ -17385,7 +17434,7 @@ "end": "5657", "length": "20", "line": "187", - "parentIndex": "757", + "parentIndex": "758", "start": "5638" }, "typeDescription": { @@ -17404,7 +17453,7 @@ } ], "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "id": "763", + "id": "764", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -17413,7 +17462,7 @@ "end": "5693", "length": "34", "line": "187", - "parentIndex": "757", + "parentIndex": "758", "start": "5660" }, "typeDescription": { @@ -17427,7 +17476,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "758", + "id": "759", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -17436,7 +17485,7 @@ "end": "5636", "length": "7", "line": "187", - "parentIndex": "757", + "parentIndex": "758", "start": "5630" }, "typeDescription": { @@ -17445,7 +17494,7 @@ } } }, - "id": "757", + "id": "758", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -17453,7 +17502,7 @@ "end": "5694", "length": "65", "line": "187", - "parentIndex": "756", + "parentIndex": "757", "start": "5630" }, "typeDescription": { @@ -17465,7 +17514,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "764", + "id": "765", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -17473,7 +17522,7 @@ "end": "5705", "length": "1", "line": "188", - "parentIndex": "756", + "parentIndex": "757", "start": "5705" }, "typeDescription": { @@ -17484,19 +17533,19 @@ } ] }, - "id": "754", + "id": "755", "name": "onlyOwner", "nameLocation": { "column": "13", "end": "5617", "length": "9", "line": "186", - "parentIndex": "754", + "parentIndex": "755", "start": "5609" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "755", + "id": "756", "nodeType": "PARAMETER_LIST", "src": { "column": "4", @@ -17522,7 +17571,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "773", + "id": "774", "implemented": true, "nodeType": "BLOCK", "src": { @@ -17530,7 +17579,7 @@ "end": "5811", "length": "34", "line": "191", - "parentIndex": "766", + "parentIndex": "767", "start": "5778" }, "statements": [ @@ -17540,11 +17589,11 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "775", + "id": "776", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "776", + "id": "777", "name": "_owner", "nodeType": "IDENTIFIER", "referencedDeclaration": "717", @@ -17553,7 +17602,7 @@ "end": "5793", "length": "6", "line": "192", - "parentIndex": "775", + "parentIndex": "776", "start": "5788" }, "typeDescription": { @@ -17567,16 +17616,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "777", + "id": "778", "name": "newOwner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "777", + "referencedDeclaration": "778", "src": { "column": "17", "end": "5804", "length": "8", "line": "192", - "parentIndex": "775", + "parentIndex": "776", "start": "5797" }, "typeDescription": { @@ -17590,7 +17639,7 @@ "end": "5804", "length": "17", "line": "192", - "parentIndex": "774", + "parentIndex": "775", "start": "5788" }, "typeDescription": { @@ -17599,14 +17648,14 @@ } } }, - "id": "774", + "id": "775", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "5805", "length": "18", "line": "192", - "parentIndex": "773", + "parentIndex": "774", "start": "5788" }, "typeDescription": { @@ -17617,22 +17666,22 @@ } ] }, - "id": "766", + "id": "767", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "770", + "id": "771", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "771", + "id": "772", "name": "onlyOwner", "src": { "column": "54", "end": "5777", "length": "9", "line": "191", - "parentIndex": "770", + "parentIndex": "771", "start": "5769" } }, @@ -17643,7 +17692,7 @@ "end": "5777", "length": "9", "line": "191", - "parentIndex": "766", + "parentIndex": "767", "start": "5769" } } @@ -17654,25 +17703,25 @@ "end": "5740", "length": "13", "line": "191", - "parentIndex": "766", + "parentIndex": "767", "start": "5728" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "767", + "id": "768", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "768", + "id": "769", "name": "newOwner", "nodeType": "VARIABLE_DECLARATION", - "scope": "768", + "scope": "769", "src": { "column": "27", "end": "5757", "length": "16", "line": "191", - "parentIndex": "767", + "parentIndex": "768", "start": "5742" }, "stateMutability": "NONPAYABLE", @@ -17682,7 +17731,7 @@ "typeString": "address" }, "typeName": { - "id": "769", + "id": "770", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -17690,7 +17739,7 @@ "end": "5748", "length": "7", "line": "191", - "parentIndex": "768", + "parentIndex": "769", "start": "5742" }, "stateMutability": "NONPAYABLE", @@ -17707,19 +17756,19 @@ "end": "5757", "length": "16", "line": "191", - "parentIndex": "766", + "parentIndex": "767", "start": "5742" } }, "returnParameters": { - "id": "772", + "id": "773", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "5811", "length": "93", "line": "191", - "parentIndex": "766", + "parentIndex": "767", "start": "5719" } }, @@ -17745,7 +17794,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "786", + "id": "787", "implemented": true, "nodeType": "BLOCK", "src": { @@ -17753,7 +17802,7 @@ "end": "5909", "length": "36", "line": "195", - "parentIndex": "779", + "parentIndex": "780", "start": "5874" }, "statements": [ @@ -17763,11 +17812,11 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "788", + "id": "789", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "789", + "id": "790", "name": "_signer", "nodeType": "IDENTIFIER", "referencedDeclaration": "720", @@ -17776,7 +17825,7 @@ "end": "5890", "length": "7", "line": "196", - "parentIndex": "788", + "parentIndex": "789", "start": "5884" }, "typeDescription": { @@ -17790,16 +17839,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "790", + "id": "791", "name": "newSigner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "790", + "referencedDeclaration": "791", "src": { "column": "18", "end": "5902", "length": "9", "line": "196", - "parentIndex": "788", + "parentIndex": "789", "start": "5894" }, "typeDescription": { @@ -17813,7 +17862,7 @@ "end": "5902", "length": "19", "line": "196", - "parentIndex": "787", + "parentIndex": "788", "start": "5884" }, "typeDescription": { @@ -17822,14 +17871,14 @@ } } }, - "id": "787", + "id": "788", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "5903", "length": "20", "line": "196", - "parentIndex": "786", + "parentIndex": "787", "start": "5884" }, "typeDescription": { @@ -17840,22 +17889,22 @@ } ] }, - "id": "779", + "id": "780", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "783", + "id": "784", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "784", + "id": "785", "name": "onlyOwner", "src": { "column": "51", "end": "5873", "length": "9", "line": "195", - "parentIndex": "783", + "parentIndex": "784", "start": "5865" } }, @@ -17866,7 +17915,7 @@ "end": "5873", "length": "9", "line": "195", - "parentIndex": "779", + "parentIndex": "780", "start": "5865" } } @@ -17877,25 +17926,25 @@ "end": "5835", "length": "9", "line": "195", - "parentIndex": "779", + "parentIndex": "780", "start": "5827" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "780", + "id": "781", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "781", + "id": "782", "name": "newSigner", "nodeType": "VARIABLE_DECLARATION", - "scope": "781", + "scope": "782", "src": { "column": "23", "end": "5853", "length": "17", "line": "195", - "parentIndex": "780", + "parentIndex": "781", "start": "5837" }, "stateMutability": "NONPAYABLE", @@ -17905,7 +17954,7 @@ "typeString": "address" }, "typeName": { - "id": "782", + "id": "783", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -17913,7 +17962,7 @@ "end": "5843", "length": "7", "line": "195", - "parentIndex": "781", + "parentIndex": "782", "start": "5837" }, "stateMutability": "NONPAYABLE", @@ -17930,19 +17979,19 @@ "end": "5853", "length": "17", "line": "195", - "parentIndex": "779", + "parentIndex": "780", "start": "5837" } }, "returnParameters": { - "id": "785", + "id": "786", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "5909", "length": "92", "line": "195", - "parentIndex": "779", + "parentIndex": "780", "start": "5818" } }, @@ -17968,7 +18017,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "799", + "id": "800", "implemented": true, "nodeType": "BLOCK", "src": { @@ -17976,7 +18025,7 @@ "end": "5991", "length": "28", "line": "199", - "parentIndex": "792", + "parentIndex": "793", "start": "5964" }, "statements": [ @@ -17986,11 +18035,11 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "801", + "id": "802", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "802", + "id": "803", "name": "_to", "nodeType": "IDENTIFIER", "referencedDeclaration": "689", @@ -17999,7 +18048,7 @@ "end": "5976", "length": "3", "line": "200", - "parentIndex": "801", + "parentIndex": "802", "start": "5974" }, "typeDescription": { @@ -18013,16 +18062,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "803", + "id": "804", "name": "newTo", "nodeType": "IDENTIFIER", - "referencedDeclaration": "803", + "referencedDeclaration": "804", "src": { "column": "14", "end": "5984", "length": "5", "line": "200", - "parentIndex": "801", + "parentIndex": "802", "start": "5980" }, "typeDescription": { @@ -18036,7 +18085,7 @@ "end": "5984", "length": "11", "line": "200", - "parentIndex": "800", + "parentIndex": "801", "start": "5974" }, "typeDescription": { @@ -18045,14 +18094,14 @@ } } }, - "id": "800", + "id": "801", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "5985", "length": "12", "line": "200", - "parentIndex": "799", + "parentIndex": "800", "start": "5974" }, "typeDescription": { @@ -18063,22 +18112,22 @@ } ] }, - "id": "792", + "id": "793", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "796", + "id": "797", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "797", + "id": "798", "name": "onlyOwner", "src": { "column": "43", "end": "5963", "length": "9", "line": "199", - "parentIndex": "796", + "parentIndex": "797", "start": "5955" } }, @@ -18089,7 +18138,7 @@ "end": "5963", "length": "9", "line": "199", - "parentIndex": "792", + "parentIndex": "793", "start": "5955" } } @@ -18100,25 +18149,25 @@ "end": "5929", "length": "5", "line": "199", - "parentIndex": "792", + "parentIndex": "793", "start": "5925" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "793", + "id": "794", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "794", + "id": "795", "name": "newTo", "nodeType": "VARIABLE_DECLARATION", - "scope": "794", + "scope": "795", "src": { "column": "19", "end": "5943", "length": "13", "line": "199", - "parentIndex": "793", + "parentIndex": "794", "start": "5931" }, "stateMutability": "NONPAYABLE", @@ -18128,7 +18177,7 @@ "typeString": "address" }, "typeName": { - "id": "795", + "id": "796", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -18136,7 +18185,7 @@ "end": "5937", "length": "7", "line": "199", - "parentIndex": "794", + "parentIndex": "795", "start": "5931" }, "stateMutability": "NONPAYABLE", @@ -18153,19 +18202,19 @@ "end": "5943", "length": "13", "line": "199", - "parentIndex": "792", + "parentIndex": "793", "start": "5931" } }, "returnParameters": { - "id": "798", + "id": "799", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "5991", "length": "76", "line": "199", - "parentIndex": "792", + "parentIndex": "793", "start": "5916" } }, @@ -18191,19 +18240,19 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Pledge.Record", - "id": "805", + "id": "806", "members": [ { - "id": "806", + "id": "807", "name": "orderId", "nodeType": "VARIABLE_DECLARATION", - "scope": "806", + "scope": "807", "src": { "column": "8", "end": "6036", "length": "16", "line": "204", - "parentIndex": "805", + "parentIndex": "806", "start": "6021" }, "stateMutability": "MUTABLE", @@ -18212,7 +18261,7 @@ "typeString": "uint256" }, "typeName": { - "id": "807", + "id": "808", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -18220,7 +18269,7 @@ "end": "6027", "length": "7", "line": "204", - "parentIndex": "806", + "parentIndex": "807", "start": "6021" }, "typeDescription": { @@ -18231,16 +18280,16 @@ "visibility": "INTERNAL" }, { - "id": "808", + "id": "809", "name": "createTime", "nodeType": "VARIABLE_DECLARATION", - "scope": "808", + "scope": "809", "src": { "column": "8", "end": "6064", "length": "19", "line": "205", - "parentIndex": "805", + "parentIndex": "806", "start": "6046" }, "stateMutability": "MUTABLE", @@ -18249,7 +18298,7 @@ "typeString": "uint256" }, "typeName": { - "id": "809", + "id": "810", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -18257,7 +18306,7 @@ "end": "6052", "length": "7", "line": "205", - "parentIndex": "808", + "parentIndex": "809", "start": "6046" }, "typeDescription": { @@ -18268,16 +18317,16 @@ "visibility": "INTERNAL" }, { - "id": "810", + "id": "811", "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "810", + "scope": "811", "src": { "column": "8", "end": "6086", "length": "13", "line": "206", - "parentIndex": "805", + "parentIndex": "806", "start": "6074" }, "stateMutability": "NONPAYABLE", @@ -18286,7 +18335,7 @@ "typeString": "address" }, "typeName": { - "id": "811", + "id": "812", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -18294,7 +18343,7 @@ "end": "6080", "length": "7", "line": "206", - "parentIndex": "810", + "parentIndex": "811", "start": "6074" }, "stateMutability": "NONPAYABLE", @@ -18306,16 +18355,16 @@ "visibility": "INTERNAL" }, { - "id": "812", + "id": "813", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "812", + "scope": "813", "src": { "column": "8", "end": "6110", "length": "15", "line": "207", - "parentIndex": "805", + "parentIndex": "806", "start": "6096" }, "stateMutability": "MUTABLE", @@ -18324,7 +18373,7 @@ "typeString": "uint256" }, "typeName": { - "id": "813", + "id": "814", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -18332,7 +18381,7 @@ "end": "6102", "length": "7", "line": "207", - "parentIndex": "812", + "parentIndex": "813", "start": "6096" }, "typeDescription": { @@ -18343,16 +18392,16 @@ "visibility": "INTERNAL" }, { - "id": "814", + "id": "815", "name": "eafAmount", "nodeType": "VARIABLE_DECLARATION", - "scope": "814", + "scope": "815", "src": { "column": "8", "end": "6137", "length": "18", "line": "208", - "parentIndex": "805", + "parentIndex": "806", "start": "6120" }, "stateMutability": "MUTABLE", @@ -18361,7 +18410,7 @@ "typeString": "uint256" }, "typeName": { - "id": "815", + "id": "816", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -18369,7 +18418,7 @@ "end": "6126", "length": "7", "line": "208", - "parentIndex": "814", + "parentIndex": "815", "start": "6120" }, "typeDescription": { @@ -18386,7 +18435,7 @@ "end": "6010", "length": "6", "line": "203", - "parentIndex": "805", + "parentIndex": "806", "start": "6005" }, "nodeType": "STRUCT_DEFINITION", @@ -18400,7 +18449,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" }, "visibility": "PUBLIC" @@ -18410,7 +18459,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "825", + "id": "826", "implemented": true, "nodeType": "BLOCK", "src": { @@ -18418,7 +18467,7 @@ "end": "6612", "length": "378", "line": "211", - "parentIndex": "817", + "parentIndex": "818", "start": "6235" }, "statements": [ @@ -18439,11 +18488,11 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "828", + "id": "829", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "829", + "id": "830", "name": "amount", "nodeType": "IDENTIFIER", "referencedDeclaration": "62", @@ -18452,7 +18501,7 @@ "end": "6258", "length": "6", "line": "212", - "parentIndex": "828", + "parentIndex": "829", "start": "6253" }, "typeDescription": { @@ -18467,7 +18516,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "830", + "id": "831", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -18476,7 +18525,7 @@ "end": "6262", "length": "1", "line": "212", - "parentIndex": "828", + "parentIndex": "829", "start": "6262" }, "typeDescription": { @@ -18491,7 +18540,7 @@ "end": "6262", "length": "10", "line": "212", - "parentIndex": "826", + "parentIndex": "827", "start": "6253" }, "typeDescription": { @@ -18510,7 +18559,7 @@ } ], "hexValue": "5265636861726765207175616e74697479206d7573742062652067726561746572207468616e207a65726f", - "id": "831", + "id": "832", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -18519,7 +18568,7 @@ "end": "6309", "length": "45", "line": "212", - "parentIndex": "826", + "parentIndex": "827", "start": "6265" }, "typeDescription": { @@ -18533,7 +18582,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "827", + "id": "828", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -18542,7 +18591,7 @@ "end": "6251", "length": "7", "line": "212", - "parentIndex": "826", + "parentIndex": "827", "start": "6245" }, "typeDescription": { @@ -18551,7 +18600,7 @@ } } }, - "id": "826", + "id": "827", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -18559,7 +18608,7 @@ "end": "6310", "length": "66", "line": "212", - "parentIndex": "825", + "parentIndex": "826", "start": "6245" }, "typeDescription": { @@ -18572,11 +18621,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "833" + "834" ], "declarations": [ { - "id": "833", + "id": "834", "mutability": "MUTABLE", "name": "signer", "nameLocation": { @@ -18584,17 +18633,17 @@ "end": "6334", "length": "6", "line": "213", - "parentIndex": "833", + "parentIndex": "834", "start": "6329" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "825", + "scope": "826", "src": { "column": "8", "end": "6334", "length": "14", "line": "213", - "parentIndex": "832", + "parentIndex": "833", "start": "6321" }, "storageLocation": "DEFAULT", @@ -18603,7 +18652,7 @@ "typeString": "address" }, "typeName": { - "id": "834", + "id": "835", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -18611,7 +18660,7 @@ "end": "6327", "length": "7", "line": "213", - "parentIndex": "833", + "parentIndex": "834", "start": "6321" }, "stateMutability": "NONPAYABLE", @@ -18623,7 +18672,7 @@ "visibility": "INTERNAL" } ], - "id": "832", + "id": "833", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -18649,7 +18698,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "837", + "id": "838", "name": "orderId", "nodeType": "IDENTIFIER", "src": { @@ -18657,7 +18706,7 @@ "end": "6360", "length": "7", "line": "213", - "parentIndex": "835", + "parentIndex": "836", "start": "6354" }, "typeDescription": { @@ -18675,7 +18724,7 @@ "typeString": "function()" } ], - "id": "838", + "id": "839", "name": "amount", "nodeType": "IDENTIFIER", "src": { @@ -18683,7 +18732,7 @@ "end": "6368", "length": "6", "line": "213", - "parentIndex": "835", + "parentIndex": "836", "start": "6363" }, "typeDescription": { @@ -18708,7 +18757,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "840", + "id": "841", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -18716,7 +18765,7 @@ "end": "6373", "length": "3", "line": "213", - "parentIndex": "839", + "parentIndex": "840", "start": "6371" }, "typeDescription": { @@ -18725,13 +18774,13 @@ } } }, - "id": "839", + "id": "840", "memberLocation": { "column": "62", "end": "6380", "length": "6", "line": "213", - "parentIndex": "839", + "parentIndex": "840", "start": "6375" }, "memberName": "sender", @@ -18741,7 +18790,7 @@ "end": "6380", "length": "10", "line": "213", - "parentIndex": "835", + "parentIndex": "836", "start": "6371" }, "typeDescription": { @@ -18767,7 +18816,7 @@ "typeString": "address" } ], - "id": "841", + "id": "842", "name": "signature", "nodeType": "IDENTIFIER", "src": { @@ -18775,7 +18824,7 @@ "end": "6391", "length": "9", "line": "213", - "parentIndex": "835", + "parentIndex": "836", "start": "6383" }, "typeDescription": { @@ -18788,7 +18837,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "836", + "id": "837", "name": "findOrderSigner", "nodeType": "IDENTIFIER", "src": { @@ -18796,7 +18845,7 @@ "end": "6352", "length": "15", "line": "213", - "parentIndex": "835", + "parentIndex": "836", "start": "6338" }, "typeDescription": { @@ -18805,7 +18854,7 @@ } } }, - "id": "835", + "id": "836", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -18813,7 +18862,7 @@ "end": "6392", "length": "55", "line": "213", - "parentIndex": "832", + "parentIndex": "833", "start": "6338" }, "typeDescription": { @@ -18828,7 +18877,7 @@ "end": "6393", "length": "73", "line": "213", - "parentIndex": "825", + "parentIndex": "826", "start": "6321" } } @@ -18850,20 +18899,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "844", + "id": "845", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "845", + "id": "846", "name": "signer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "832", + "referencedDeclaration": "833", "src": { "column": "16", "end": "6416", "length": "6", "line": "214", - "parentIndex": "844", + "parentIndex": "845", "start": "6411" }, "typeDescription": { @@ -18877,7 +18926,7 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "846", + "id": "847", "name": "_signer", "nodeType": "IDENTIFIER", "referencedDeclaration": "720", @@ -18886,7 +18935,7 @@ "end": "6427", "length": "7", "line": "214", - "parentIndex": "844", + "parentIndex": "845", "start": "6421" }, "typeDescription": { @@ -18900,7 +18949,7 @@ "end": "6427", "length": "17", "line": "214", - "parentIndex": "842", + "parentIndex": "843", "start": "6411" }, "typeDescription": { @@ -18919,7 +18968,7 @@ } ], "hexValue": "546865207369676e6174757265206164647265737320697320696e76616c6964", - "id": "847", + "id": "848", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -18928,7 +18977,7 @@ "end": "6463", "length": "34", "line": "214", - "parentIndex": "842", + "parentIndex": "843", "start": "6430" }, "typeDescription": { @@ -18942,7 +18991,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "843", + "id": "844", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -18951,7 +19000,7 @@ "end": "6409", "length": "7", "line": "214", - "parentIndex": "842", + "parentIndex": "843", "start": "6403" }, "typeDescription": { @@ -18960,7 +19009,7 @@ } } }, - "id": "842", + "id": "843", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -18968,7 +19017,7 @@ "end": "6464", "length": "62", "line": "214", - "parentIndex": "825", + "parentIndex": "826", "start": "6403" }, "typeDescription": { @@ -18981,11 +19030,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "849" + "850" ], "declarations": [ { - "id": "849", + "id": "850", "mutability": "MUTABLE", "name": "record", "nameLocation": { @@ -18993,83 +19042,83 @@ "end": "6495", "length": "6", "line": "215", - "parentIndex": "849", + "parentIndex": "850", "start": "6490" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "825", + "scope": "826", "src": { "column": "8", "end": "6495", "length": "21", "line": "215", - "parentIndex": "848", + "parentIndex": "849", "start": "6475" }, "storageLocation": "STORAGE", "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" }, "typeName": { - "id": "850", + "id": "851", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "851", + "id": "852", "name": "Record", "nameLocation": { "column": "8", "end": "6480", "length": "6", "line": "215", - "parentIndex": "850", + "parentIndex": "851", "start": "6475" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "805", + "referencedDeclaration": "806", "src": { "column": "8", "end": "6480", "length": "6", "line": "215", - "parentIndex": "850", + "parentIndex": "851", "start": "6475" } }, - "referencedDeclaration": "805", + "referencedDeclaration": "806", "src": { "column": "8", "end": "6480", "length": "6", "line": "215", - "parentIndex": "849", + "parentIndex": "850", "start": "6475" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } }, "visibility": "INTERNAL" } ], - "id": "848", + "id": "849", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "854", + "id": "855", "name": "orderId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "730", + "referencedDeclaration": "731", "src": { "column": "40", "end": "6513", "length": "7", "line": "215", - "parentIndex": "852", + "parentIndex": "853", "start": "6507" }, "typeDescription": { @@ -19078,11 +19127,11 @@ } } }, - "id": "852", + "id": "853", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "853", + "id": "854", "name": "records", "nodeType": "IDENTIFIER", "referencedDeclaration": "723", @@ -19091,11 +19140,11 @@ "end": "6505", "length": "7", "line": "215", - "parentIndex": "852", + "parentIndex": "853", "start": "6499" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_Record$", + "typeIdentifier": "t_mapping_$t_uint256_$t_unknown_726$", "typeString": "mapping(uint256=\u003eRecord)" } } @@ -19106,16 +19155,16 @@ "end": "6514", "length": "16", "line": "215", - "parentIndex": "848", + "parentIndex": "849", "start": "6499" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_uint256_$t_Record$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_uint256_$t_unknown_726$]$_t_uint256]$", "typeString": "index[mapping(uint256=\u003eRecord):uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_uint256_$t_Record$", + "typeIdentifier": "t_mapping_$t_uint256_$t_unknown_726$", "typeString": "mapping(uint256=\u003eRecord)" }, { @@ -19131,7 +19180,7 @@ "end": "6515", "length": "41", "line": "215", - "parentIndex": "825", + "parentIndex": "826", "start": "6475" } } @@ -19153,38 +19202,38 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "857", + "id": "858", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "859", + "id": "860", "name": "record", "nodeType": "IDENTIFIER", - "referencedDeclaration": "848", + "referencedDeclaration": "849", "src": { "column": "16", "end": "6538", "length": "6", "line": "216", - "parentIndex": "858", + "parentIndex": "859", "start": "6533" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "858", + "id": "859", "memberLocation": { "column": "23", "end": "6549", "length": "10", "line": "216", - "parentIndex": "858", + "parentIndex": "859", "start": "6540" }, "memberName": "createTime", @@ -19194,11 +19243,11 @@ "end": "6549", "length": "17", "line": "216", - "parentIndex": "857", + "parentIndex": "858", "start": "6533" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -19209,7 +19258,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "860", + "id": "861", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -19218,7 +19267,7 @@ "end": "6554", "length": "1", "line": "216", - "parentIndex": "857", + "parentIndex": "858", "start": "6554" }, "typeDescription": { @@ -19233,7 +19282,7 @@ "end": "6554", "length": "22", "line": "216", - "parentIndex": "855", + "parentIndex": "856", "start": "6533" }, "typeDescription": { @@ -19252,7 +19301,7 @@ } ], "hexValue": "546865207369676e61747572652068617320616c7265616479206265656e2075736564", - "id": "861", + "id": "862", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -19261,7 +19310,7 @@ "end": "6593", "length": "37", "line": "216", - "parentIndex": "855", + "parentIndex": "856", "start": "6557" }, "typeDescription": { @@ -19275,7 +19324,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "856", + "id": "857", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -19284,7 +19333,7 @@ "end": "6531", "length": "7", "line": "216", - "parentIndex": "855", + "parentIndex": "856", "start": "6525" }, "typeDescription": { @@ -19293,7 +19342,7 @@ } } }, - "id": "855", + "id": "856", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -19301,7 +19350,7 @@ "end": "6594", "length": "70", "line": "216", - "parentIndex": "825", + "parentIndex": "826", "start": "6525" }, "typeDescription": { @@ -19313,7 +19362,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "862", + "id": "863", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -19321,7 +19370,7 @@ "end": "6605", "length": "1", "line": "217", - "parentIndex": "825", + "parentIndex": "826", "start": "6605" }, "typeDescription": { @@ -19332,32 +19381,32 @@ } ] }, - "id": "817", + "id": "818", "name": "onlyValidRecharge", "nameLocation": { "column": "13", "end": "6175", "length": "17", "line": "211", - "parentIndex": "817", + "parentIndex": "818", "start": "6159" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "818", + "id": "819", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "819", + "id": "820", "name": "orderId", "nodeType": "VARIABLE_DECLARATION", - "scope": "819", + "scope": "820", "src": { "column": "31", "end": "6191", "length": "15", "line": "211", - "parentIndex": "818", + "parentIndex": "819", "start": "6177" }, "stateMutability": "MUTABLE", @@ -19367,7 +19416,7 @@ "typeString": "uint256" }, "typeName": { - "id": "820", + "id": "821", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -19375,7 +19424,7 @@ "end": "6183", "length": "7", "line": "211", - "parentIndex": "819", + "parentIndex": "820", "start": "6177" }, "typeDescription": { @@ -19386,16 +19435,16 @@ "visibility": "INTERNAL" }, { - "id": "821", + "id": "822", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "821", + "scope": "822", "src": { "column": "48", "end": "6207", "length": "14", "line": "211", - "parentIndex": "818", + "parentIndex": "819", "start": "6194" }, "stateMutability": "MUTABLE", @@ -19405,7 +19454,7 @@ "typeString": "uint256" }, "typeName": { - "id": "822", + "id": "823", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -19413,7 +19462,7 @@ "end": "6200", "length": "7", "line": "211", - "parentIndex": "821", + "parentIndex": "822", "start": "6194" }, "typeDescription": { @@ -19424,16 +19473,16 @@ "visibility": "INTERNAL" }, { - "id": "823", + "id": "824", "name": "signature", "nodeType": "VARIABLE_DECLARATION", - "scope": "823", + "scope": "824", "src": { "column": "64", "end": "6233", "length": "24", "line": "211", - "parentIndex": "818", + "parentIndex": "819", "start": "6210" }, "stateMutability": "MUTABLE", @@ -19443,7 +19492,7 @@ "typeString": "bytes" }, "typeName": { - "id": "824", + "id": "825", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -19451,7 +19500,7 @@ "end": "6214", "length": "5", "line": "211", - "parentIndex": "823", + "parentIndex": "824", "start": "6210" }, "typeDescription": { @@ -19486,7 +19535,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "878", + "id": "879", "implemented": true, "nodeType": "BLOCK", "src": { @@ -19494,7 +19543,7 @@ "end": "7280", "length": "533", "line": "220", - "parentIndex": "864", + "parentIndex": "865", "start": "6748" }, "statements": [ @@ -19515,20 +19564,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "881", + "id": "882", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "882", + "id": "883", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "882", + "referencedDeclaration": "883", "src": { "column": "16", "end": "6771", "length": "6", "line": "221", - "parentIndex": "881", + "parentIndex": "882", "start": "6766" }, "typeDescription": { @@ -19543,7 +19592,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "883", + "id": "884", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -19552,7 +19601,7 @@ "end": "6775", "length": "1", "line": "221", - "parentIndex": "881", + "parentIndex": "882", "start": "6775" }, "typeDescription": { @@ -19567,7 +19616,7 @@ "end": "6775", "length": "10", "line": "221", - "parentIndex": "879", + "parentIndex": "880", "start": "6766" }, "typeDescription": { @@ -19586,7 +19635,7 @@ } ], "hexValue": "5265636861726765207175616e74697479206d7573742062652067726561746572207468616e207a65726f", - "id": "884", + "id": "885", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -19595,7 +19644,7 @@ "end": "6822", "length": "45", "line": "221", - "parentIndex": "879", + "parentIndex": "880", "start": "6778" }, "typeDescription": { @@ -19609,7 +19658,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "880", + "id": "881", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -19618,7 +19667,7 @@ "end": "6764", "length": "7", "line": "221", - "parentIndex": "879", + "parentIndex": "880", "start": "6758" }, "typeDescription": { @@ -19627,7 +19676,7 @@ } } }, - "id": "879", + "id": "880", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -19635,7 +19684,7 @@ "end": "6823", "length": "66", "line": "221", - "parentIndex": "878", + "parentIndex": "879", "start": "6758" }, "typeDescription": { @@ -19668,7 +19717,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "891", + "id": "892", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -19676,7 +19725,7 @@ "end": "6863", "length": "3", "line": "222", - "parentIndex": "890", + "parentIndex": "891", "start": "6861" }, "typeDescription": { @@ -19685,13 +19734,13 @@ } } }, - "id": "890", + "id": "891", "memberLocation": { "column": "39", "end": "6870", "length": "6", "line": "222", - "parentIndex": "890", + "parentIndex": "891", "start": "6865" }, "memberName": "sender", @@ -19701,7 +19750,7 @@ "end": "6870", "length": "10", "line": "222", - "parentIndex": "885", + "parentIndex": "886", "start": "6861" }, "typeDescription": { @@ -19719,7 +19768,7 @@ "typeString": "address" } ], - "id": "892", + "id": "893", "name": "_to", "nodeType": "IDENTIFIER", "src": { @@ -19727,7 +19776,7 @@ "end": "6875", "length": "3", "line": "222", - "parentIndex": "885", + "parentIndex": "886", "start": "6873" }, "typeDescription": { @@ -19749,16 +19798,16 @@ "typeString": "function(address)" } ], - "id": "893", + "id": "894", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "893", + "referencedDeclaration": "894", "src": { "column": "52", "end": "6883", "length": "6", "line": "222", - "parentIndex": "885", + "parentIndex": "886", "start": "6878" }, "typeDescription": { @@ -19784,7 +19833,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "889", + "id": "890", "name": "_usdt", "nodeType": "IDENTIFIER", "src": { @@ -19792,7 +19841,7 @@ "end": "6845", "length": "5", "line": "222", - "parentIndex": "887", + "parentIndex": "888", "start": "6841" }, "typeDescription": { @@ -19805,7 +19854,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "888", + "id": "889", "name": "IBEP20", "nodeType": "IDENTIFIER", "src": { @@ -19813,7 +19862,7 @@ "end": "6839", "length": "6", "line": "222", - "parentIndex": "887", + "parentIndex": "888", "start": "6834" }, "typeDescription": { @@ -19822,7 +19871,7 @@ } } }, - "id": "887", + "id": "888", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -19830,7 +19879,7 @@ "end": "6846", "length": "13", "line": "222", - "parentIndex": "886", + "parentIndex": "887", "start": "6834" }, "typeDescription": { @@ -19839,13 +19888,13 @@ } } }, - "id": "886", + "id": "887", "memberLocation": { "column": "22", "end": "6859", "length": "12", "line": "222", - "parentIndex": "886", + "parentIndex": "887", "start": "6848" }, "memberName": "transferFrom", @@ -19855,7 +19904,7 @@ "end": "6859", "length": "26", "line": "222", - "parentIndex": "885", + "parentIndex": "886", "start": "6834" }, "typeDescription": { @@ -19864,7 +19913,7 @@ } } }, - "id": "885", + "id": "886", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -19872,7 +19921,7 @@ "end": "6884", "length": "51", "line": "222", - "parentIndex": "878", + "parentIndex": "879", "start": "6834" }, "typeDescription": { @@ -19885,11 +19934,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "895" + "896" ], "declarations": [ { - "id": "895", + "id": "896", "mutability": "MUTABLE", "name": "eAmount", "nameLocation": { @@ -19897,17 +19946,17 @@ "end": "6909", "length": "7", "line": "223", - "parentIndex": "895", + "parentIndex": "896", "start": "6903" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "878", + "scope": "879", "src": { "column": "8", "end": "6909", "length": "15", "line": "223", - "parentIndex": "894", + "parentIndex": "895", "start": "6895" }, "storageLocation": "DEFAULT", @@ -19916,7 +19965,7 @@ "typeString": "uint256" }, "typeName": { - "id": "896", + "id": "897", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -19924,7 +19973,7 @@ "end": "6901", "length": "7", "line": "223", - "parentIndex": "895", + "parentIndex": "896", "start": "6895" }, "typeDescription": { @@ -19935,7 +19984,7 @@ "visibility": "INTERNAL" } ], - "id": "894", + "id": "895", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -19949,16 +19998,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "899", + "id": "900", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "899", + "referencedDeclaration": "900", "src": { "column": "34", "end": "6926", "length": "6", "line": "223", - "parentIndex": "897", + "parentIndex": "898", "start": "6921" }, "typeDescription": { @@ -19971,7 +20020,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "898", + "id": "899", "name": "calcEaf", "nodeType": "IDENTIFIER", "src": { @@ -19979,7 +20028,7 @@ "end": "6919", "length": "7", "line": "223", - "parentIndex": "897", + "parentIndex": "898", "start": "6913" }, "typeDescription": { @@ -19988,7 +20037,7 @@ } } }, - "id": "897", + "id": "898", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -19996,7 +20045,7 @@ "end": "6927", "length": "15", "line": "223", - "parentIndex": "894", + "parentIndex": "895", "start": "6913" }, "typeDescription": { @@ -20011,7 +20060,7 @@ "end": "6928", "length": "34", "line": "223", - "parentIndex": "878", + "parentIndex": "879", "start": "6895" } } @@ -20040,7 +20089,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "906", + "id": "907", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -20048,7 +20097,7 @@ "end": "6966", "length": "3", "line": "224", - "parentIndex": "905", + "parentIndex": "906", "start": "6964" }, "typeDescription": { @@ -20057,13 +20106,13 @@ } } }, - "id": "905", + "id": "906", "memberLocation": { "column": "38", "end": "6973", "length": "6", "line": "224", - "parentIndex": "905", + "parentIndex": "906", "start": "6968" }, "memberName": "sender", @@ -20073,7 +20122,7 @@ "end": "6973", "length": "10", "line": "224", - "parentIndex": "900", + "parentIndex": "901", "start": "6964" }, "typeDescription": { @@ -20091,7 +20140,7 @@ "typeString": "address" } ], - "id": "907", + "id": "908", "name": "_to", "nodeType": "IDENTIFIER", "src": { @@ -20099,7 +20148,7 @@ "end": "6978", "length": "3", "line": "224", - "parentIndex": "900", + "parentIndex": "901", "start": "6976" }, "typeDescription": { @@ -20121,16 +20170,16 @@ "typeString": "function(address)" } ], - "id": "908", + "id": "909", "name": "eAmount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "894", + "referencedDeclaration": "895", "src": { "column": "51", "end": "6987", "length": "7", "line": "224", - "parentIndex": "900", + "parentIndex": "901", "start": "6981" }, "typeDescription": { @@ -20156,7 +20205,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "904", + "id": "905", "name": "_eaf", "nodeType": "IDENTIFIER", "src": { @@ -20164,7 +20213,7 @@ "end": "6948", "length": "4", "line": "224", - "parentIndex": "902", + "parentIndex": "903", "start": "6945" }, "typeDescription": { @@ -20177,7 +20226,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "903", + "id": "904", "name": "IBEP20", "nodeType": "IDENTIFIER", "src": { @@ -20185,7 +20234,7 @@ "end": "6943", "length": "6", "line": "224", - "parentIndex": "902", + "parentIndex": "903", "start": "6938" }, "typeDescription": { @@ -20194,7 +20243,7 @@ } } }, - "id": "902", + "id": "903", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -20202,7 +20251,7 @@ "end": "6949", "length": "12", "line": "224", - "parentIndex": "901", + "parentIndex": "902", "start": "6938" }, "typeDescription": { @@ -20211,13 +20260,13 @@ } } }, - "id": "901", + "id": "902", "memberLocation": { "column": "21", "end": "6962", "length": "12", "line": "224", - "parentIndex": "901", + "parentIndex": "902", "start": "6951" }, "memberName": "transferFrom", @@ -20227,7 +20276,7 @@ "end": "6962", "length": "25", "line": "224", - "parentIndex": "900", + "parentIndex": "901", "start": "6938" }, "typeDescription": { @@ -20236,7 +20285,7 @@ } } }, - "id": "900", + "id": "901", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -20244,7 +20293,7 @@ "end": "6988", "length": "51", "line": "224", - "parentIndex": "878", + "parentIndex": "879", "start": "6938" }, "typeDescription": { @@ -20257,11 +20306,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "910" + "911" ], "declarations": [ { - "id": "910", + "id": "911", "mutability": "MUTABLE", "name": "record", "nameLocation": { @@ -20269,83 +20318,83 @@ "end": "7019", "length": "6", "line": "225", - "parentIndex": "910", + "parentIndex": "911", "start": "7014" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "878", + "scope": "879", "src": { "column": "8", "end": "7019", "length": "21", "line": "225", - "parentIndex": "909", + "parentIndex": "910", "start": "6999" }, "storageLocation": "STORAGE", "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" }, "typeName": { - "id": "911", + "id": "912", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "912", + "id": "913", "name": "Record", "nameLocation": { "column": "8", "end": "7004", "length": "6", "line": "225", - "parentIndex": "911", + "parentIndex": "912", "start": "6999" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "805", + "referencedDeclaration": "806", "src": { "column": "8", "end": "7004", "length": "6", "line": "225", - "parentIndex": "911", + "parentIndex": "912", "start": "6999" } }, - "referencedDeclaration": "805", + "referencedDeclaration": "806", "src": { "column": "8", "end": "7004", "length": "6", "line": "225", - "parentIndex": "910", + "parentIndex": "911", "start": "6999" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } }, "visibility": "INTERNAL" } ], - "id": "909", + "id": "910", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "915", + "id": "916", "name": "orderId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "915", + "referencedDeclaration": "916", "src": { "column": "40", "end": "7037", "length": "7", "line": "225", - "parentIndex": "913", + "parentIndex": "914", "start": "7031" }, "typeDescription": { @@ -20354,11 +20403,11 @@ } } }, - "id": "913", + "id": "914", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "914", + "id": "915", "name": "records", "nodeType": "IDENTIFIER", "referencedDeclaration": "723", @@ -20367,11 +20416,11 @@ "end": "7029", "length": "7", "line": "225", - "parentIndex": "913", + "parentIndex": "914", "start": "7023" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_Record$", + "typeIdentifier": "t_mapping_$t_uint256_$t_unknown_726$", "typeString": "mapping(uint256=\u003eRecord)" } } @@ -20382,16 +20431,16 @@ "end": "7038", "length": "16", "line": "225", - "parentIndex": "909", + "parentIndex": "910", "start": "7023" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_uint256_$t_Record$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_uint256_$t_unknown_726$]$_t_uint256]$", "typeString": "index[mapping(uint256=\u003eRecord):uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_uint256_$t_Record$", + "typeIdentifier": "t_mapping_$t_uint256_$t_unknown_726$", "typeString": "mapping(uint256=\u003eRecord)" }, { @@ -20407,7 +20456,7 @@ "end": "7039", "length": "41", "line": "225", - "parentIndex": "878", + "parentIndex": "879", "start": "6999" } } @@ -20418,38 +20467,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "917", + "id": "918", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "919", + "id": "920", "name": "record", "nodeType": "IDENTIFIER", - "referencedDeclaration": "909", + "referencedDeclaration": "910", "src": { "column": "8", "end": "7054", "length": "6", "line": "226", - "parentIndex": "918", + "parentIndex": "919", "start": "7049" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "918", + "id": "919", "memberLocation": { "column": "15", "end": "7062", "length": "7", "line": "226", - "parentIndex": "918", + "parentIndex": "919", "start": "7056" }, "memberName": "orderId", @@ -20459,11 +20508,11 @@ "end": "7062", "length": "14", "line": "226", - "parentIndex": "917", + "parentIndex": "918", "start": "7049" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -20473,16 +20522,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "920", + "id": "921", "name": "orderId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "920", + "referencedDeclaration": "921", "src": { "column": "25", "end": "7072", "length": "7", "line": "226", - "parentIndex": "917", + "parentIndex": "918", "start": "7066" }, "typeDescription": { @@ -20496,27 +20545,27 @@ "end": "7072", "length": "24", "line": "226", - "parentIndex": "916", + "parentIndex": "917", "start": "7049" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "916", + "id": "917", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "7073", "length": "25", "line": "226", - "parentIndex": "878", + "parentIndex": "879", "start": "7049" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -20527,38 +20576,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "922", + "id": "923", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "924", + "id": "925", "name": "record", "nodeType": "IDENTIFIER", - "referencedDeclaration": "909", + "referencedDeclaration": "910", "src": { "column": "8", "end": "7088", "length": "6", "line": "227", - "parentIndex": "923", + "parentIndex": "924", "start": "7083" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "923", + "id": "924", "memberLocation": { "column": "15", "end": "7099", "length": "10", "line": "227", - "parentIndex": "923", + "parentIndex": "924", "start": "7090" }, "memberName": "createTime", @@ -20568,11 +20617,11 @@ "end": "7099", "length": "17", "line": "227", - "parentIndex": "922", + "parentIndex": "923", "start": "7083" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -20585,7 +20634,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "926", + "id": "927", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -20593,7 +20642,7 @@ "end": "7107", "length": "5", "line": "227", - "parentIndex": "925", + "parentIndex": "926", "start": "7103" }, "typeDescription": { @@ -20602,13 +20651,13 @@ } } }, - "id": "925", + "id": "926", "memberLocation": { "column": "34", "end": "7117", "length": "9", "line": "227", - "parentIndex": "925", + "parentIndex": "926", "start": "7109" }, "memberName": "timestamp", @@ -20618,7 +20667,7 @@ "end": "7117", "length": "15", "line": "227", - "parentIndex": "922", + "parentIndex": "923", "start": "7103" }, "typeDescription": { @@ -20632,27 +20681,27 @@ "end": "7117", "length": "35", "line": "227", - "parentIndex": "921", + "parentIndex": "922", "start": "7083" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "921", + "id": "922", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "7118", "length": "36", "line": "227", - "parentIndex": "878", + "parentIndex": "879", "start": "7083" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -20663,38 +20712,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "928", + "id": "929", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "930", + "id": "931", "name": "record", "nodeType": "IDENTIFIER", - "referencedDeclaration": "909", + "referencedDeclaration": "910", "src": { "column": "8", "end": "7133", "length": "6", "line": "228", - "parentIndex": "929", + "parentIndex": "930", "start": "7128" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "929", + "id": "930", "memberLocation": { "column": "15", "end": "7138", "length": "4", "line": "228", - "parentIndex": "929", + "parentIndex": "930", "start": "7135" }, "memberName": "user", @@ -20704,11 +20753,11 @@ "end": "7138", "length": "11", "line": "228", - "parentIndex": "928", + "parentIndex": "929", "start": "7128" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -20721,7 +20770,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "932", + "id": "933", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -20729,7 +20778,7 @@ "end": "7144", "length": "3", "line": "228", - "parentIndex": "931", + "parentIndex": "932", "start": "7142" }, "typeDescription": { @@ -20738,13 +20787,13 @@ } } }, - "id": "931", + "id": "932", "memberLocation": { "column": "26", "end": "7151", "length": "6", "line": "228", - "parentIndex": "931", + "parentIndex": "932", "start": "7146" }, "memberName": "sender", @@ -20754,7 +20803,7 @@ "end": "7151", "length": "10", "line": "228", - "parentIndex": "928", + "parentIndex": "929", "start": "7142" }, "typeDescription": { @@ -20768,27 +20817,27 @@ "end": "7151", "length": "24", "line": "228", - "parentIndex": "927", + "parentIndex": "928", "start": "7128" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "927", + "id": "928", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "7152", "length": "25", "line": "228", - "parentIndex": "878", + "parentIndex": "879", "start": "7128" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -20799,38 +20848,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "934", + "id": "935", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "936", + "id": "937", "name": "record", "nodeType": "IDENTIFIER", - "referencedDeclaration": "909", + "referencedDeclaration": "910", "src": { "column": "8", "end": "7167", "length": "6", "line": "229", - "parentIndex": "935", + "parentIndex": "936", "start": "7162" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "935", + "id": "936", "memberLocation": { "column": "15", "end": "7174", "length": "6", "line": "229", - "parentIndex": "935", + "parentIndex": "936", "start": "7169" }, "memberName": "amount", @@ -20840,11 +20889,11 @@ "end": "7174", "length": "13", "line": "229", - "parentIndex": "934", + "parentIndex": "935", "start": "7162" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -20854,16 +20903,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "937", + "id": "938", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "937", + "referencedDeclaration": "938", "src": { "column": "24", "end": "7183", "length": "6", "line": "229", - "parentIndex": "934", + "parentIndex": "935", "start": "7178" }, "typeDescription": { @@ -20877,27 +20926,27 @@ "end": "7183", "length": "22", "line": "229", - "parentIndex": "933", + "parentIndex": "934", "start": "7162" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "933", + "id": "934", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "7184", "length": "23", "line": "229", - "parentIndex": "878", + "parentIndex": "879", "start": "7162" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -20908,38 +20957,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "939", + "id": "940", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "941", + "id": "942", "name": "record", "nodeType": "IDENTIFIER", - "referencedDeclaration": "909", + "referencedDeclaration": "910", "src": { "column": "8", "end": "7199", "length": "6", "line": "230", - "parentIndex": "940", + "parentIndex": "941", "start": "7194" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "940", + "id": "941", "memberLocation": { "column": "15", "end": "7209", "length": "9", "line": "230", - "parentIndex": "940", + "parentIndex": "941", "start": "7201" }, "memberName": "eafAmount", @@ -20949,11 +20998,11 @@ "end": "7209", "length": "16", "line": "230", - "parentIndex": "939", + "parentIndex": "940", "start": "7194" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -20963,16 +21012,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "942", + "id": "943", "name": "eAmount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "894", + "referencedDeclaration": "895", "src": { "column": "27", "end": "7219", "length": "7", "line": "230", - "parentIndex": "939", + "parentIndex": "940", "start": "7213" }, "typeDescription": { @@ -20986,27 +21035,27 @@ "end": "7219", "length": "26", "line": "230", - "parentIndex": "938", + "parentIndex": "939", "start": "7194" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } }, - "id": "938", + "id": "939", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "7220", "length": "27", "line": "230", - "parentIndex": "878", + "parentIndex": "879", "start": "7194" }, "typeDescription": { - "typeIdentifier": "t_struct$_Pledge_Record_$805", + "typeIdentifier": "t_struct$_Pledge_Record_$806", "typeString": "struct Pledge.Record" } } @@ -21018,16 +21067,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "944", + "id": "945", "name": "orderId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "944", + "referencedDeclaration": "945", "src": { "column": "24", "end": "7252", "length": "7", "line": "231", - "parentIndex": "943", + "parentIndex": "944", "start": "7246" }, "typeDescription": { @@ -21042,7 +21091,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "946", + "id": "947", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -21050,7 +21099,7 @@ "end": "7257", "length": "3", "line": "231", - "parentIndex": "945", + "parentIndex": "946", "start": "7255" }, "typeDescription": { @@ -21059,13 +21108,13 @@ } } }, - "id": "945", + "id": "946", "memberLocation": { "column": "37", "end": "7264", "length": "6", "line": "231", - "parentIndex": "945", + "parentIndex": "946", "start": "7259" }, "memberName": "sender", @@ -21075,7 +21124,7 @@ "end": "7264", "length": "10", "line": "231", - "parentIndex": "943", + "parentIndex": "944", "start": "7255" }, "typeDescription": { @@ -21087,16 +21136,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "947", + "id": "948", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "947", + "referencedDeclaration": "948", "src": { "column": "45", "end": "7272", "length": "6", "line": "231", - "parentIndex": "943", + "parentIndex": "944", "start": "7267" }, "typeDescription": { @@ -21109,39 +21158,39 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "948", + "id": "949", "name": "PledgeSend", "nodeType": "IDENTIFIER", - "referencedDeclaration": "728", + "referencedDeclaration": "729", "src": { "column": "13", "end": "7244", "length": "10", "line": "231", - "parentIndex": "943", + "parentIndex": "944", "start": "7235" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Pledge_PledgeSend_\u0026728", + "typeIdentifier": "t_event\u0026_Pledge_PledgeSend_\u0026729", "typeString": "event Pledge.PledgeSend" } } }, - "id": "943", + "id": "944", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "7274", "length": "45", "line": "231", - "parentIndex": "864", + "parentIndex": "865", "start": "7230" } } } ] }, - "id": "864", + "id": "865", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -21164,16 +21213,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "874", + "id": "875", "name": "orderId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "874", + "referencedDeclaration": "875", "src": { "column": "106", "end": "6727", "length": "7", "line": "220", - "parentIndex": "872", + "parentIndex": "873", "start": "6721" }, "typeDescription": { @@ -21185,16 +21234,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "875", + "id": "876", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "875", + "referencedDeclaration": "876", "src": { "column": "115", "end": "6735", "length": "6", "line": "220", - "parentIndex": "872", + "parentIndex": "873", "start": "6730" }, "typeDescription": { @@ -21206,16 +21255,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "876", + "id": "877", "name": "signature", "nodeType": "IDENTIFIER", - "referencedDeclaration": "876", + "referencedDeclaration": "877", "src": { "column": "123", "end": "6746", "length": "9", "line": "220", - "parentIndex": "872", + "parentIndex": "873", "start": "6738" }, "typeDescription": { @@ -21225,17 +21274,17 @@ } } ], - "id": "872", + "id": "873", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "873", + "id": "874", "name": "onlyValidRecharge", "src": { "column": "88", "end": "6719", "length": "17", "line": "220", - "parentIndex": "872", + "parentIndex": "873", "start": "6703" } }, @@ -21246,7 +21295,7 @@ "end": "6747", "length": "45", "line": "220", - "parentIndex": "864", + "parentIndex": "865", "start": "6703" } } @@ -21257,25 +21306,25 @@ "end": "6633", "length": "6", "line": "220", - "parentIndex": "864", + "parentIndex": "865", "start": "6628" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "865", + "id": "866", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "866", + "id": "867", "name": "orderId", "nodeType": "VARIABLE_DECLARATION", - "scope": "866", + "scope": "867", "src": { "column": "20", "end": "6649", "length": "15", "line": "220", - "parentIndex": "865", + "parentIndex": "866", "start": "6635" }, "stateMutability": "MUTABLE", @@ -21285,7 +21334,7 @@ "typeString": "uint256" }, "typeName": { - "id": "867", + "id": "868", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -21293,7 +21342,7 @@ "end": "6641", "length": "7", "line": "220", - "parentIndex": "866", + "parentIndex": "867", "start": "6635" }, "typeDescription": { @@ -21304,16 +21353,16 @@ "visibility": "INTERNAL" }, { - "id": "868", + "id": "869", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "868", + "scope": "869", "src": { "column": "37", "end": "6665", "length": "14", "line": "220", - "parentIndex": "865", + "parentIndex": "866", "start": "6652" }, "stateMutability": "MUTABLE", @@ -21323,7 +21372,7 @@ "typeString": "uint256" }, "typeName": { - "id": "869", + "id": "870", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -21331,7 +21380,7 @@ "end": "6658", "length": "7", "line": "220", - "parentIndex": "868", + "parentIndex": "869", "start": "6652" }, "typeDescription": { @@ -21342,16 +21391,16 @@ "visibility": "INTERNAL" }, { - "id": "870", + "id": "871", "name": "signature", "nodeType": "VARIABLE_DECLARATION", - "scope": "870", + "scope": "871", "src": { "column": "53", "end": "6691", "length": "24", "line": "220", - "parentIndex": "865", + "parentIndex": "866", "start": "6668" }, "stateMutability": "MUTABLE", @@ -21361,7 +21410,7 @@ "typeString": "bytes" }, "typeName": { - "id": "871", + "id": "872", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -21369,7 +21418,7 @@ "end": "6672", "length": "5", "line": "220", - "parentIndex": "870", + "parentIndex": "871", "start": "6668" }, "typeDescription": { @@ -21385,24 +21434,24 @@ "end": "6691", "length": "57", "line": "220", - "parentIndex": "864", + "parentIndex": "865", "start": "6635" } }, "returnParameters": { - "id": "877", + "id": "878", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "7280", "length": "662", "line": "220", - "parentIndex": "864", + "parentIndex": "865", "start": "6619" } }, "scope": "671", - "signature": "6167524e", + "signature": "7984d87e", "src": { "column": "4", "end": "7280", @@ -21423,7 +21472,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "957", + "id": "958", "implemented": true, "nodeType": "BLOCK", "src": { @@ -21431,7 +21480,7 @@ "end": "7535", "length": "187", "line": "234", - "parentIndex": "950", + "parentIndex": "951", "start": "7349" }, "statements": [ @@ -21439,12 +21488,12 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "959", - "961" + "960", + "962" ], "declarations": [ { - "id": "959", + "id": "960", "mutability": "MUTABLE", "name": "r0", "nameLocation": { @@ -21452,17 +21501,17 @@ "end": "7369", "length": "2", "line": "235", - "parentIndex": "959", + "parentIndex": "960", "start": "7368" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "957", + "scope": "958", "src": { "column": "9", "end": "7369", "length": "10", "line": "235", - "parentIndex": "958", + "parentIndex": "959", "start": "7360" }, "storageLocation": "DEFAULT", @@ -21471,7 +21520,7 @@ "typeString": "uint256" }, "typeName": { - "id": "960", + "id": "961", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -21479,7 +21528,7 @@ "end": "7366", "length": "7", "line": "235", - "parentIndex": "959", + "parentIndex": "960", "start": "7360" }, "typeDescription": { @@ -21490,7 +21539,7 @@ "visibility": "INTERNAL" }, { - "id": "961", + "id": "962", "mutability": "MUTABLE", "name": "r1", "nameLocation": { @@ -21498,17 +21547,17 @@ "end": "7381", "length": "2", "line": "235", - "parentIndex": "961", + "parentIndex": "962", "start": "7380" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "957", + "scope": "958", "src": { "column": "21", "end": "7381", "length": "10", "line": "235", - "parentIndex": "958", + "parentIndex": "959", "start": "7372" }, "storageLocation": "DEFAULT", @@ -21517,7 +21566,7 @@ "typeString": "uint256" }, "typeName": { - "id": "962", + "id": "963", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -21525,7 +21574,7 @@ "end": "7378", "length": "7", "line": "235", - "parentIndex": "961", + "parentIndex": "962", "start": "7372" }, "typeDescription": { @@ -21536,7 +21585,7 @@ "visibility": "INTERNAL" } ], - "id": "958", + "id": "959", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -21546,7 +21595,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "965", + "id": "966", "name": "_pair", "nodeType": "IDENTIFIER", "referencedDeclaration": "710", @@ -21555,7 +21604,7 @@ "end": "7392", "length": "5", "line": "235", - "parentIndex": "964", + "parentIndex": "965", "start": "7388" }, "typeDescription": { @@ -21564,13 +21613,13 @@ } } }, - "id": "964", + "id": "965", "memberLocation": { "column": "43", "end": "7404", "length": "11", "line": "235", - "parentIndex": "964", + "parentIndex": "965", "start": "7394" }, "memberName": "getReserves", @@ -21580,7 +21629,7 @@ "end": "7404", "length": "17", "line": "235", - "parentIndex": "963", + "parentIndex": "964", "start": "7388" }, "typeDescription": { @@ -21589,7 +21638,7 @@ } } }, - "id": "963", + "id": "964", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -21597,7 +21646,7 @@ "end": "7406", "length": "19", "line": "235", - "parentIndex": "958", + "parentIndex": "959", "start": "7388" }, "typeDescription": { @@ -21612,7 +21661,7 @@ "end": "7407", "length": "49", "line": "235", - "parentIndex": "957", + "parentIndex": "958", "start": "7359" } } @@ -21621,12 +21670,12 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "967", - "969" + "968", + "970" ], "declarations": [ { - "id": "967", + "id": "968", "mutability": "MUTABLE", "name": "ru", "nameLocation": { @@ -21634,17 +21683,17 @@ "end": "7427", "length": "2", "line": "236", - "parentIndex": "967", + "parentIndex": "968", "start": "7426" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "957", + "scope": "958", "src": { "column": "9", "end": "7427", "length": "10", "line": "236", - "parentIndex": "966", + "parentIndex": "967", "start": "7418" }, "storageLocation": "DEFAULT", @@ -21653,7 +21702,7 @@ "typeString": "uint256" }, "typeName": { - "id": "968", + "id": "969", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -21661,7 +21710,7 @@ "end": "7424", "length": "7", "line": "236", - "parentIndex": "967", + "parentIndex": "968", "start": "7418" }, "typeDescription": { @@ -21672,7 +21721,7 @@ "visibility": "INTERNAL" }, { - "id": "969", + "id": "970", "mutability": "MUTABLE", "name": "re", "nameLocation": { @@ -21680,17 +21729,17 @@ "end": "7439", "length": "2", "line": "236", - "parentIndex": "969", + "parentIndex": "970", "start": "7438" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "957", + "scope": "958", "src": { "column": "21", "end": "7439", "length": "10", "line": "236", - "parentIndex": "966", + "parentIndex": "967", "start": "7430" }, "storageLocation": "DEFAULT", @@ -21699,7 +21748,7 @@ "typeString": "uint256" }, "typeName": { - "id": "970", + "id": "971", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -21707,7 +21756,7 @@ "end": "7436", "length": "7", "line": "236", - "parentIndex": "969", + "parentIndex": "970", "start": "7430" }, "typeDescription": { @@ -21718,7 +21767,7 @@ "visibility": "INTERNAL" } ], - "id": "966", + "id": "967", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", "value": { @@ -21726,11 +21775,11 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "973", + "id": "974", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "974", + "id": "975", "name": "_usdt", "nodeType": "IDENTIFIER", "referencedDeclaration": "703", @@ -21739,7 +21788,7 @@ "end": "7448", "length": "5", "line": "236", - "parentIndex": "973", + "parentIndex": "974", "start": "7444" }, "typeDescription": { @@ -21759,7 +21808,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "977", + "id": "978", "name": "_pair", "nodeType": "IDENTIFIER", "referencedDeclaration": "710", @@ -21768,7 +21817,7 @@ "end": "7457", "length": "5", "line": "236", - "parentIndex": "976", + "parentIndex": "977", "start": "7453" }, "typeDescription": { @@ -21777,13 +21826,13 @@ } } }, - "id": "976", + "id": "977", "memberLocation": { "column": "50", "end": "7464", "length": "6", "line": "236", - "parentIndex": "976", + "parentIndex": "977", "start": "7459" }, "memberName": "token0", @@ -21793,7 +21842,7 @@ "end": "7464", "length": "12", "line": "236", - "parentIndex": "975", + "parentIndex": "976", "start": "7453" }, "typeDescription": { @@ -21802,7 +21851,7 @@ } } }, - "id": "975", + "id": "976", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -21810,7 +21859,7 @@ "end": "7466", "length": "14", "line": "236", - "parentIndex": "966", + "parentIndex": "967", "start": "7453" }, "typeDescription": { @@ -21824,7 +21873,7 @@ "end": "7466", "length": "23", "line": "236", - "parentIndex": "972", + "parentIndex": "973", "start": "7444" }, "typeDescription": { @@ -21840,16 +21889,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "979", + "id": "980", "name": "r0", "nodeType": "IDENTIFIER", - "referencedDeclaration": "958", + "referencedDeclaration": "959", "src": { "column": "62", "end": "7472", "length": "2", "line": "236", - "parentIndex": "978", + "parentIndex": "979", "start": "7471" }, "typeDescription": { @@ -21861,16 +21910,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "980", + "id": "981", "name": "r1", "nodeType": "IDENTIFIER", - "referencedDeclaration": "958", + "referencedDeclaration": "959", "src": { "column": "66", "end": "7476", "length": "2", "line": "236", - "parentIndex": "978", + "parentIndex": "979", "start": "7475" }, "typeDescription": { @@ -21880,14 +21929,14 @@ } } ], - "id": "978", + "id": "979", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "61", "end": "7477", "length": "8", "line": "236", - "parentIndex": "972", + "parentIndex": "973", "start": "7470" }, "typeDescription": { @@ -21903,16 +21952,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "982", + "id": "983", "name": "r1", "nodeType": "IDENTIFIER", - "referencedDeclaration": "958", + "referencedDeclaration": "959", "src": { "column": "73", "end": "7483", "length": "2", "line": "236", - "parentIndex": "981", + "parentIndex": "982", "start": "7482" }, "typeDescription": { @@ -21924,16 +21973,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "983", + "id": "984", "name": "r0", "nodeType": "IDENTIFIER", - "referencedDeclaration": "958", + "referencedDeclaration": "959", "src": { "column": "77", "end": "7487", "length": "2", "line": "236", - "parentIndex": "981", + "parentIndex": "982", "start": "7486" }, "typeDescription": { @@ -21943,14 +21992,14 @@ } } ], - "id": "981", + "id": "982", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "72", "end": "7488", "length": "8", "line": "236", - "parentIndex": "972", + "parentIndex": "973", "start": "7481" }, "typeDescription": { @@ -21960,14 +22009,14 @@ } } ], - "id": "972", + "id": "973", "nodeType": "CONDITIONAL_EXPRESSION", "src": { "column": "35", "end": "7488", "length": "45", "line": "236", - "parentIndex": "966", + "parentIndex": "967", "start": "7444" }, "typeDescriptions": [ @@ -21992,7 +22041,7 @@ "end": "7489", "length": "73", "line": "236", - "parentIndex": "957", + "parentIndex": "958", "start": "7417" } } @@ -22013,16 +22062,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "991", + "id": "992", "name": "ru", "nodeType": "IDENTIFIER", - "referencedDeclaration": "966", + "referencedDeclaration": "967", "src": { "column": "35", "end": "7527", "length": "2", "line": "237", - "parentIndex": "985", + "parentIndex": "986", "start": "7526" }, "typeDescription": { @@ -22048,16 +22097,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "990", + "id": "991", "name": "re", "nodeType": "IDENTIFIER", - "referencedDeclaration": "966", + "referencedDeclaration": "967", "src": { "column": "27", "end": "7519", "length": "2", "line": "237", - "parentIndex": "987", + "parentIndex": "988", "start": "7518" }, "typeDescription": { @@ -22073,16 +22122,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "989", + "id": "990", "name": "uAmount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "989", + "referencedDeclaration": "990", "src": { "column": "15", "end": "7512", "length": "7", "line": "237", - "parentIndex": "988", + "parentIndex": "989", "start": "7506" }, "typeDescription": { @@ -22091,13 +22140,13 @@ } } }, - "id": "988", + "id": "989", "memberLocation": { "column": "23", "end": "7516", "length": "3", "line": "237", - "parentIndex": "988", + "parentIndex": "989", "start": "7514" }, "memberName": "mul", @@ -22107,7 +22156,7 @@ "end": "7516", "length": "11", "line": "237", - "parentIndex": "987", + "parentIndex": "988", "start": "7506" }, "typeDescription": { @@ -22116,7 +22165,7 @@ } } }, - "id": "987", + "id": "988", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -22124,7 +22173,7 @@ "end": "7520", "length": "15", "line": "237", - "parentIndex": "986", + "parentIndex": "987", "start": "7506" }, "typeDescription": { @@ -22133,13 +22182,13 @@ } } }, - "id": "986", + "id": "987", "memberLocation": { "column": "31", "end": "7524", "length": "3", "line": "237", - "parentIndex": "986", + "parentIndex": "987", "start": "7522" }, "memberName": "div", @@ -22149,7 +22198,7 @@ "end": "7524", "length": "19", "line": "237", - "parentIndex": "985", + "parentIndex": "986", "start": "7506" }, "typeDescription": { @@ -22158,7 +22207,7 @@ } } }, - "id": "985", + "id": "986", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -22166,7 +22215,7 @@ "end": "7528", "length": "23", "line": "237", - "parentIndex": "984", + "parentIndex": "985", "start": "7506" }, "typeDescription": { @@ -22175,15 +22224,15 @@ } } }, - "functionReturnParameters": "950", - "id": "984", + "functionReturnParameters": "951", + "id": "985", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "7529", "length": "31", "line": "237", - "parentIndex": "950", + "parentIndex": "951", "start": "7499" }, "typeDescription": { @@ -22194,7 +22243,7 @@ } ] }, - "id": "950", + "id": "951", "implemented": true, "kind": "KIND_FUNCTION", "name": "calcEaf", @@ -22203,25 +22252,25 @@ "end": "7302", "length": "7", "line": "234", - "parentIndex": "950", + "parentIndex": "951", "start": "7296" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "951", + "id": "952", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "952", + "id": "953", "name": "uAmount", "nodeType": "VARIABLE_DECLARATION", - "scope": "952", + "scope": "953", "src": { "column": "21", "end": "7318", "length": "15", "line": "234", - "parentIndex": "951", + "parentIndex": "952", "start": "7304" }, "stateMutability": "MUTABLE", @@ -22231,7 +22280,7 @@ "typeString": "uint256" }, "typeName": { - "id": "953", + "id": "954", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22239,7 +22288,7 @@ "end": "7310", "length": "7", "line": "234", - "parentIndex": "952", + "parentIndex": "953", "start": "7304" }, "typeDescription": { @@ -22255,24 +22304,24 @@ "end": "7318", "length": "15", "line": "234", - "parentIndex": "950", + "parentIndex": "951", "start": "7304" } }, "returnParameters": { - "id": "954", + "id": "955", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "955", + "id": "956", "nodeType": "VARIABLE_DECLARATION", - "scope": "955", + "scope": "956", "src": { "column": "58", "end": "7347", "length": "7", "line": "234", - "parentIndex": "954", + "parentIndex": "955", "start": "7341" }, "stateMutability": "MUTABLE", @@ -22282,7 +22331,7 @@ "typeString": "uint256" }, "typeName": { - "id": "956", + "id": "957", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22290,7 +22339,7 @@ "end": "7347", "length": "7", "line": "234", - "parentIndex": "955", + "parentIndex": "956", "start": "7341" }, "typeDescription": { @@ -22306,7 +22355,7 @@ "end": "7347", "length": "7", "line": "234", - "parentIndex": "950", + "parentIndex": "951", "start": "7341" } }, @@ -22332,7 +22381,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1002", + "id": "1003", "implemented": true, "nodeType": "BLOCK", "src": { @@ -22340,7 +22389,7 @@ "end": "7788", "length": "153", "line": "240", - "parentIndex": "993", + "parentIndex": "994", "start": "7636" }, "statements": [ @@ -22348,13 +22397,13 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1004", - "1006", - "1008" + "1005", + "1007", + "1009" ], "declarations": [ { - "id": "1004", + "id": "1005", "mutability": "MUTABLE", "name": "r", "nameLocation": { @@ -22362,17 +22411,17 @@ "end": "7655", "length": "1", "line": "241", - "parentIndex": "1004", + "parentIndex": "1005", "start": "7655" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1002", + "scope": "1003", "src": { "column": "9", "end": "7655", "length": "9", "line": "241", - "parentIndex": "1003", + "parentIndex": "1004", "start": "7647" }, "storageLocation": "DEFAULT", @@ -22381,7 +22430,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1005", + "id": "1006", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22389,7 +22438,7 @@ "end": "7653", "length": "7", "line": "241", - "parentIndex": "1004", + "parentIndex": "1005", "start": "7647" }, "typeDescription": { @@ -22400,7 +22449,7 @@ "visibility": "INTERNAL" }, { - "id": "1006", + "id": "1007", "mutability": "MUTABLE", "name": "s", "nameLocation": { @@ -22408,17 +22457,17 @@ "end": "7665", "length": "1", "line": "241", - "parentIndex": "1006", + "parentIndex": "1007", "start": "7665" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1002", + "scope": "1003", "src": { "column": "19", "end": "7665", "length": "9", "line": "241", - "parentIndex": "1003", + "parentIndex": "1004", "start": "7657" }, "storageLocation": "DEFAULT", @@ -22427,7 +22476,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1007", + "id": "1008", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22435,7 +22484,7 @@ "end": "7663", "length": "7", "line": "241", - "parentIndex": "1006", + "parentIndex": "1007", "start": "7657" }, "typeDescription": { @@ -22446,7 +22495,7 @@ "visibility": "INTERNAL" }, { - "id": "1008", + "id": "1009", "mutability": "MUTABLE", "name": "v", "nameLocation": { @@ -22454,17 +22503,17 @@ "end": "7673", "length": "1", "line": "241", - "parentIndex": "1008", + "parentIndex": "1009", "start": "7673" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1002", + "scope": "1003", "src": { "column": "29", "end": "7673", "length": "7", "line": "241", - "parentIndex": "1003", + "parentIndex": "1004", "start": "7667" }, "storageLocation": "DEFAULT", @@ -22473,7 +22522,7 @@ "typeString": "uint8" }, "typeName": { - "id": "1009", + "id": "1010", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22481,7 +22530,7 @@ "end": "7671", "length": "5", "line": "241", - "parentIndex": "1008", + "parentIndex": "1009", "start": "7667" }, "typeDescription": { @@ -22492,7 +22541,7 @@ "visibility": "INTERNAL" } ], - "id": "1003", + "id": "1004", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -22506,16 +22555,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1012", + "id": "1013", "name": "signature", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1012", + "referencedDeclaration": "1013", "src": { "column": "56", "end": "7702", "length": "9", "line": "241", - "parentIndex": "1010", + "parentIndex": "1011", "start": "7694" }, "typeDescription": { @@ -22528,7 +22577,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1011", + "id": "1012", "name": "_signatureToRSV", "nodeType": "IDENTIFIER", "src": { @@ -22536,7 +22585,7 @@ "end": "7692", "length": "15", "line": "241", - "parentIndex": "1010", + "parentIndex": "1011", "start": "7678" }, "typeDescription": { @@ -22545,7 +22594,7 @@ } } }, - "id": "1010", + "id": "1011", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -22553,7 +22602,7 @@ "end": "7703", "length": "26", "line": "241", - "parentIndex": "1003", + "parentIndex": "1004", "start": "7678" }, "typeDescription": { @@ -22568,7 +22617,7 @@ "end": "7704", "length": "59", "line": "241", - "parentIndex": "1002", + "parentIndex": "1003", "start": "7646" } } @@ -22577,11 +22626,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1014" + "1015" ], "declarations": [ { - "id": "1014", + "id": "1015", "mutability": "MUTABLE", "name": "signer", "nameLocation": { @@ -22589,17 +22638,17 @@ "end": "7727", "length": "6", "line": "242", - "parentIndex": "1014", + "parentIndex": "1015", "start": "7722" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1002", + "scope": "1003", "src": { "column": "8", "end": "7727", "length": "14", "line": "242", - "parentIndex": "1013", + "parentIndex": "1014", "start": "7714" }, "storageLocation": "DEFAULT", @@ -22608,7 +22657,7 @@ "typeString": "address" }, "typeName": { - "id": "1015", + "id": "1016", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22616,7 +22665,7 @@ "end": "7720", "length": "7", "line": "242", - "parentIndex": "1014", + "parentIndex": "1015", "start": "7714" }, "stateMutability": "NONPAYABLE", @@ -22628,7 +22677,7 @@ "visibility": "INTERNAL" } ], - "id": "1013", + "id": "1014", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -22654,16 +22703,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1018", + "id": "1019", "name": "contents", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1018", + "referencedDeclaration": "1019", "src": { "column": "35", "end": "7748", "length": "8", "line": "242", - "parentIndex": "1016", + "parentIndex": "1017", "start": "7741" }, "typeDescription": { @@ -22681,16 +22730,16 @@ "typeString": "bytes32" } ], - "id": "1019", + "id": "1020", "name": "v", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1003", + "referencedDeclaration": "1004", "src": { "column": "45", "end": "7751", "length": "1", "line": "242", - "parentIndex": "1016", + "parentIndex": "1017", "start": "7751" }, "typeDescription": { @@ -22712,16 +22761,16 @@ "typeString": "uint8" } ], - "id": "1020", + "id": "1021", "name": "r", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1003", + "referencedDeclaration": "1004", "src": { "column": "48", "end": "7754", "length": "1", "line": "242", - "parentIndex": "1016", + "parentIndex": "1017", "start": "7754" }, "typeDescription": { @@ -22747,16 +22796,16 @@ "typeString": "bytes32" } ], - "id": "1021", + "id": "1022", "name": "s", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1003", + "referencedDeclaration": "1004", "src": { "column": "51", "end": "7757", "length": "1", "line": "242", - "parentIndex": "1016", + "parentIndex": "1017", "start": "7757" }, "typeDescription": { @@ -22769,7 +22818,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1017", + "id": "1018", "name": "ecrecover", "nodeType": "IDENTIFIER", "src": { @@ -22777,7 +22826,7 @@ "end": "7739", "length": "9", "line": "242", - "parentIndex": "1016", + "parentIndex": "1017", "start": "7731" }, "typeDescription": { @@ -22786,7 +22835,7 @@ } } }, - "id": "1016", + "id": "1017", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -22794,7 +22843,7 @@ "end": "7758", "length": "28", "line": "242", - "parentIndex": "1013", + "parentIndex": "1014", "start": "7731" }, "typeDescription": { @@ -22809,7 +22858,7 @@ "end": "7759", "length": "46", "line": "242", - "parentIndex": "1002", + "parentIndex": "1003", "start": "7714" } } @@ -22820,16 +22869,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1023", + "id": "1024", "name": "signer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1013", + "referencedDeclaration": "1014", "src": { "column": "15", "end": "7781", "length": "6", "line": "243", - "parentIndex": "1022", + "parentIndex": "1023", "start": "7776" }, "typeDescription": { @@ -22838,15 +22887,15 @@ } } }, - "functionReturnParameters": "993", - "id": "1022", + "functionReturnParameters": "994", + "id": "1023", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "7782", "length": "14", "line": "243", - "parentIndex": "993", + "parentIndex": "994", "start": "7769" }, "typeDescription": { @@ -22857,7 +22906,7 @@ } ] }, - "id": "993", + "id": "994", "implemented": true, "kind": "KIND_FUNCTION", "name": "findSigner", @@ -22866,25 +22915,25 @@ "end": "7560", "length": "10", "line": "240", - "parentIndex": "993", + "parentIndex": "994", "start": "7551" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "994", + "id": "995", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "995", + "id": "996", "name": "contents", "nodeType": "VARIABLE_DECLARATION", - "scope": "995", + "scope": "996", "src": { "column": "24", "end": "7577", "length": "16", "line": "240", - "parentIndex": "994", + "parentIndex": "995", "start": "7562" }, "stateMutability": "MUTABLE", @@ -22894,7 +22943,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "996", + "id": "997", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22902,7 +22951,7 @@ "end": "7568", "length": "7", "line": "240", - "parentIndex": "995", + "parentIndex": "996", "start": "7562" }, "typeDescription": { @@ -22913,16 +22962,16 @@ "visibility": "INTERNAL" }, { - "id": "997", + "id": "998", "name": "signature", "nodeType": "VARIABLE_DECLARATION", - "scope": "997", + "scope": "998", "src": { "column": "42", "end": "7601", "length": "22", "line": "240", - "parentIndex": "994", + "parentIndex": "995", "start": "7580" }, "stateMutability": "MUTABLE", @@ -22932,7 +22981,7 @@ "typeString": "bytes" }, "typeName": { - "id": "998", + "id": "999", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22940,7 +22989,7 @@ "end": "7584", "length": "5", "line": "240", - "parentIndex": "997", + "parentIndex": "998", "start": "7580" }, "typeDescription": { @@ -22956,24 +23005,24 @@ "end": "7601", "length": "40", "line": "240", - "parentIndex": "993", + "parentIndex": "994", "start": "7562" } }, "returnParameters": { - "id": "999", + "id": "1000", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1000", + "id": "1001", "nodeType": "VARIABLE_DECLARATION", - "scope": "1000", + "scope": "1001", "src": { "column": "89", "end": "7633", "length": "7", "line": "240", - "parentIndex": "999", + "parentIndex": "1000", "start": "7627" }, "stateMutability": "NONPAYABLE", @@ -22983,7 +23032,7 @@ "typeString": "address" }, "typeName": { - "id": "1001", + "id": "1002", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22991,7 +23040,7 @@ "end": "7633", "length": "7", "line": "240", - "parentIndex": "1000", + "parentIndex": "1001", "start": "7627" }, "stateMutability": "NONPAYABLE", @@ -23008,12 +23057,12 @@ "end": "7633", "length": "7", "line": "240", - "parentIndex": "993", + "parentIndex": "994", "start": "7627" } }, "scope": "671", - "signature": "a0ca47eb", + "signature": "50fef6c4", "src": { "column": "4", "end": "7788", @@ -23034,7 +23083,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1034", + "id": "1035", "implemented": true, "nodeType": "BLOCK", "src": { @@ -23042,7 +23091,7 @@ "end": "7976", "length": "83", "line": "246", - "parentIndex": "1025", + "parentIndex": "1026", "start": "7894" }, "statements": [ @@ -23086,16 +23135,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1043", + "id": "1044", "name": "content", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1043", + "referencedDeclaration": "1044", "src": { "column": "53", "end": "7955", "length": "7", "line": "247", - "parentIndex": "1040", + "parentIndex": "1041", "start": "7949" }, "typeDescription": { @@ -23111,7 +23160,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1042", + "id": "1043", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -23119,7 +23168,7 @@ "end": "7934", "length": "3", "line": "247", - "parentIndex": "1041", + "parentIndex": "1042", "start": "7932" }, "typeDescription": { @@ -23128,13 +23177,13 @@ } } }, - "id": "1041", + "id": "1042", "memberLocation": { "column": "40", "end": "7947", "length": "12", "line": "247", - "parentIndex": "1041", + "parentIndex": "1042", "start": "7936" }, "memberName": "encodePacked", @@ -23144,7 +23193,7 @@ "end": "7947", "length": "16", "line": "247", - "parentIndex": "1040", + "parentIndex": "1041", "start": "7932" }, "typeDescription": { @@ -23153,7 +23202,7 @@ } } }, - "id": "1040", + "id": "1041", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -23161,7 +23210,7 @@ "end": "7956", "length": "25", "line": "247", - "parentIndex": "1038", + "parentIndex": "1039", "start": "7932" }, "typeDescription": { @@ -23174,7 +23223,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1039", + "id": "1040", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -23182,7 +23231,7 @@ "end": "7930", "length": "9", "line": "247", - "parentIndex": "1038", + "parentIndex": "1039", "start": "7922" }, "typeDescription": { @@ -23191,7 +23240,7 @@ } } }, - "id": "1038", + "id": "1039", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -23199,7 +23248,7 @@ "end": "7957", "length": "36", "line": "247", - "parentIndex": "1036", + "parentIndex": "1037", "start": "7922" }, "typeDescription": { @@ -23217,16 +23266,16 @@ "typeString": "function(function(string))" } ], - "id": "1044", + "id": "1045", "name": "signature", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1044", + "referencedDeclaration": "1045", "src": { "column": "64", "end": "7968", "length": "9", "line": "247", - "parentIndex": "1036", + "parentIndex": "1037", "start": "7960" }, "typeDescription": { @@ -23239,7 +23288,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1037", + "id": "1038", "name": "findSigner", "nodeType": "IDENTIFIER", "src": { @@ -23247,7 +23296,7 @@ "end": "7920", "length": "10", "line": "247", - "parentIndex": "1036", + "parentIndex": "1037", "start": "7911" }, "typeDescription": { @@ -23256,7 +23305,7 @@ } } }, - "id": "1036", + "id": "1037", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -23264,7 +23313,7 @@ "end": "7969", "length": "59", "line": "247", - "parentIndex": "1035", + "parentIndex": "1036", "start": "7911" }, "typeDescription": { @@ -23273,15 +23322,15 @@ } } }, - "functionReturnParameters": "1025", - "id": "1035", + "functionReturnParameters": "1026", + "id": "1036", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "7970", "length": "67", "line": "247", - "parentIndex": "1025", + "parentIndex": "1026", "start": "7904" }, "typeDescription": { @@ -23292,7 +23341,7 @@ } ] }, - "id": "1025", + "id": "1026", "implemented": true, "kind": "KIND_FUNCTION", "name": "findSigner", @@ -23301,25 +23350,25 @@ "end": "7813", "length": "10", "line": "246", - "parentIndex": "1025", + "parentIndex": "1026", "start": "7804" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1026", + "id": "1027", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1027", + "id": "1028", "name": "content", "nodeType": "VARIABLE_DECLARATION", - "scope": "1027", + "scope": "1028", "src": { "column": "24", "end": "7835", "length": "21", "line": "246", - "parentIndex": "1026", + "parentIndex": "1027", "start": "7815" }, "stateMutability": "MUTABLE", @@ -23329,7 +23378,7 @@ "typeString": "string" }, "typeName": { - "id": "1028", + "id": "1029", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23337,7 +23386,7 @@ "end": "7820", "length": "6", "line": "246", - "parentIndex": "1027", + "parentIndex": "1028", "start": "7815" }, "typeDescription": { @@ -23348,16 +23397,16 @@ "visibility": "INTERNAL" }, { - "id": "1029", + "id": "1030", "name": "signature", "nodeType": "VARIABLE_DECLARATION", - "scope": "1029", + "scope": "1030", "src": { "column": "47", "end": "7861", "length": "24", "line": "246", - "parentIndex": "1026", + "parentIndex": "1027", "start": "7838" }, "stateMutability": "MUTABLE", @@ -23367,7 +23416,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1030", + "id": "1031", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23375,7 +23424,7 @@ "end": "7842", "length": "5", "line": "246", - "parentIndex": "1029", + "parentIndex": "1030", "start": "7838" }, "typeDescription": { @@ -23391,24 +23440,24 @@ "end": "7861", "length": "47", "line": "246", - "parentIndex": "1025", + "parentIndex": "1026", "start": "7815" } }, "returnParameters": { - "id": "1031", + "id": "1032", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1032", + "id": "1033", "nodeType": "VARIABLE_DECLARATION", - "scope": "1032", + "scope": "1033", "src": { "column": "95", "end": "7892", "length": "7", "line": "246", - "parentIndex": "1031", + "parentIndex": "1032", "start": "7886" }, "stateMutability": "NONPAYABLE", @@ -23418,7 +23467,7 @@ "typeString": "address" }, "typeName": { - "id": "1033", + "id": "1034", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23426,7 +23475,7 @@ "end": "7892", "length": "7", "line": "246", - "parentIndex": "1032", + "parentIndex": "1033", "start": "7886" }, "stateMutability": "NONPAYABLE", @@ -23443,12 +23492,12 @@ "end": "7892", "length": "7", "line": "246", - "parentIndex": "1025", + "parentIndex": "1026", "start": "7886" } }, "scope": "671", - "signature": "fe95c919", + "signature": "d3a85d34", "src": { "column": "4", "end": "7976", @@ -23469,7 +23518,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1059", + "id": "1060", "implemented": true, "nodeType": "BLOCK", "src": { @@ -23477,7 +23526,7 @@ "end": "8193", "length": "84", "line": "250", - "parentIndex": "1046", + "parentIndex": "1047", "start": "8110" }, "statements": [ @@ -23519,16 +23568,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1065", + "id": "1066", "name": "orderId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1065", + "referencedDeclaration": "1066", "src": { "column": "41", "end": "8159", "length": "7", "line": "251", - "parentIndex": "1063", + "parentIndex": "1064", "start": "8153" }, "typeDescription": { @@ -23546,16 +23595,16 @@ "typeString": "uint256" } ], - "id": "1066", + "id": "1067", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1066", + "referencedDeclaration": "1067", "src": { "column": "50", "end": "8167", "length": "6", "line": "251", - "parentIndex": "1063", + "parentIndex": "1064", "start": "8162" }, "typeDescription": { @@ -23577,16 +23626,16 @@ "typeString": "uint256" } ], - "id": "1067", + "id": "1068", "name": "addr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1067", + "referencedDeclaration": "1068", "src": { "column": "58", "end": "8173", "length": "4", "line": "251", - "parentIndex": "1063", + "parentIndex": "1064", "start": "8170" }, "typeDescription": { @@ -23599,7 +23648,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1064", + "id": "1065", "name": "orderToMessage", "nodeType": "IDENTIFIER", "src": { @@ -23607,7 +23656,7 @@ "end": "8151", "length": "14", "line": "251", - "parentIndex": "1063", + "parentIndex": "1064", "start": "8138" }, "typeDescription": { @@ -23616,7 +23665,7 @@ } } }, - "id": "1063", + "id": "1064", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -23624,7 +23673,7 @@ "end": "8174", "length": "37", "line": "251", - "parentIndex": "1061", + "parentIndex": "1062", "start": "8138" }, "typeDescription": { @@ -23642,16 +23691,16 @@ "typeString": "function(uint256,uint256,address)" } ], - "id": "1068", + "id": "1069", "name": "signature", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1068", + "referencedDeclaration": "1069", "src": { "column": "65", "end": "8185", "length": "9", "line": "251", - "parentIndex": "1061", + "parentIndex": "1062", "start": "8177" }, "typeDescription": { @@ -23664,7 +23713,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1062", + "id": "1063", "name": "findSigner", "nodeType": "IDENTIFIER", "src": { @@ -23672,7 +23721,7 @@ "end": "8136", "length": "10", "line": "251", - "parentIndex": "1061", + "parentIndex": "1062", "start": "8127" }, "typeDescription": { @@ -23681,7 +23730,7 @@ } } }, - "id": "1061", + "id": "1062", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -23689,7 +23738,7 @@ "end": "8186", "length": "60", "line": "251", - "parentIndex": "1060", + "parentIndex": "1061", "start": "8127" }, "typeDescription": { @@ -23698,15 +23747,15 @@ } } }, - "functionReturnParameters": "1046", - "id": "1060", + "functionReturnParameters": "1047", + "id": "1061", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "8187", "length": "68", "line": "251", - "parentIndex": "1046", + "parentIndex": "1047", "start": "8120" }, "typeDescription": { @@ -23717,7 +23766,7 @@ } ] }, - "id": "1046", + "id": "1047", "implemented": true, "kind": "KIND_FUNCTION", "name": "findOrderSigner", @@ -23726,25 +23775,25 @@ "end": "8006", "length": "15", "line": "250", - "parentIndex": "1046", + "parentIndex": "1047", "start": "7992" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1047", + "id": "1048", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1048", + "id": "1049", "name": "orderId", "nodeType": "VARIABLE_DECLARATION", - "scope": "1048", + "scope": "1049", "src": { "column": "29", "end": "8022", "length": "15", "line": "250", - "parentIndex": "1047", + "parentIndex": "1048", "start": "8008" }, "stateMutability": "MUTABLE", @@ -23754,7 +23803,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1049", + "id": "1050", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23762,7 +23811,7 @@ "end": "8014", "length": "7", "line": "250", - "parentIndex": "1048", + "parentIndex": "1049", "start": "8008" }, "typeDescription": { @@ -23773,16 +23822,16 @@ "visibility": "INTERNAL" }, { - "id": "1050", + "id": "1051", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "1050", + "scope": "1051", "src": { "column": "46", "end": "8038", "length": "14", "line": "250", - "parentIndex": "1047", + "parentIndex": "1048", "start": "8025" }, "stateMutability": "MUTABLE", @@ -23792,7 +23841,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1051", + "id": "1052", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23800,7 +23849,7 @@ "end": "8031", "length": "7", "line": "250", - "parentIndex": "1050", + "parentIndex": "1051", "start": "8025" }, "typeDescription": { @@ -23811,16 +23860,16 @@ "visibility": "INTERNAL" }, { - "id": "1052", + "id": "1053", "name": "addr", "nodeType": "VARIABLE_DECLARATION", - "scope": "1052", + "scope": "1053", "src": { "column": "62", "end": "8052", "length": "12", "line": "250", - "parentIndex": "1047", + "parentIndex": "1048", "start": "8041" }, "stateMutability": "NONPAYABLE", @@ -23830,7 +23879,7 @@ "typeString": "address" }, "typeName": { - "id": "1053", + "id": "1054", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23838,7 +23887,7 @@ "end": "8047", "length": "7", "line": "250", - "parentIndex": "1052", + "parentIndex": "1053", "start": "8041" }, "stateMutability": "NONPAYABLE", @@ -23850,16 +23899,16 @@ "visibility": "INTERNAL" }, { - "id": "1054", + "id": "1055", "name": "signature", "nodeType": "VARIABLE_DECLARATION", - "scope": "1054", + "scope": "1055", "src": { "column": "76", "end": "8078", "length": "24", "line": "250", - "parentIndex": "1047", + "parentIndex": "1048", "start": "8055" }, "stateMutability": "MUTABLE", @@ -23869,7 +23918,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1055", + "id": "1056", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23877,7 +23926,7 @@ "end": "8059", "length": "5", "line": "250", - "parentIndex": "1054", + "parentIndex": "1055", "start": "8055" }, "typeDescription": { @@ -23893,24 +23942,24 @@ "end": "8078", "length": "71", "line": "250", - "parentIndex": "1046", + "parentIndex": "1047", "start": "8008" } }, "returnParameters": { - "id": "1056", + "id": "1057", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1057", + "id": "1058", "nodeType": "VARIABLE_DECLARATION", - "scope": "1057", + "scope": "1058", "src": { "column": "123", "end": "8108", "length": "7", "line": "250", - "parentIndex": "1056", + "parentIndex": "1057", "start": "8102" }, "stateMutability": "NONPAYABLE", @@ -23920,7 +23969,7 @@ "typeString": "address" }, "typeName": { - "id": "1058", + "id": "1059", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23928,7 +23977,7 @@ "end": "8108", "length": "7", "line": "250", - "parentIndex": "1057", + "parentIndex": "1058", "start": "8102" }, "stateMutability": "NONPAYABLE", @@ -23945,12 +23994,12 @@ "end": "8108", "length": "7", "line": "250", - "parentIndex": "1046", + "parentIndex": "1047", "start": "8102" } }, "scope": "671", - "signature": "68497d69", + "signature": "6c1f1dad", "src": { "column": "4", "end": "8193", @@ -23971,7 +24020,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1081", + "id": "1082", "implemented": true, "nodeType": "BLOCK", "src": { @@ -23979,7 +24028,7 @@ "end": "8563", "length": "257", "line": "254", - "parentIndex": "1070", + "parentIndex": "1071", "start": "8307" }, "statements": [ @@ -23987,11 +24036,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1083" + "1084" ], "declarations": [ { - "id": "1083", + "id": "1084", "mutability": "MUTABLE", "name": "list", "nameLocation": { @@ -23999,17 +24048,17 @@ "end": "8336", "length": "4", "line": "255", - "parentIndex": "1083", + "parentIndex": "1084", "start": "8333" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1081", + "scope": "1082", "src": { "column": "8", "end": "8336", "length": "20", "line": "255", - "parentIndex": "1082", + "parentIndex": "1083", "start": "8317" }, "storageLocation": "MEMORY", @@ -24018,7 +24067,7 @@ "typeString": "string" }, "typeName": { - "id": "1084", + "id": "1085", "name": "string", "nodeType": "IDENTIFIER", "src": { @@ -24026,7 +24075,7 @@ "end": "8322", "length": "6", "line": "255", - "parentIndex": "1083", + "parentIndex": "1084", "start": "8317" }, "typeDescription": { @@ -24037,7 +24086,7 @@ "visibility": "INTERNAL" } ], - "id": "1082", + "id": "1083", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -24052,7 +24101,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "37", - "id": "1088", + "id": "1089", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -24061,7 +24110,7 @@ "end": "8353", "length": "1", "line": "255", - "parentIndex": "1085", + "parentIndex": "1086", "start": "8353" }, "typeDescription": { @@ -24075,14 +24124,14 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.NewExpression", "value": { - "id": "1086", + "id": "1087", "nodeType": "NEW_EXPRESSION", "src": { "column": "31", "end": "8351", "length": "12", "line": "255", - "parentIndex": "1085", + "parentIndex": "1086", "start": "8340" }, "typeDescription": { @@ -24090,7 +24139,7 @@ "typeString": "string" }, "typeName": { - "id": "1087", + "id": "1088", "name": "string", "nodeType": "IDENTIFIER", "src": { @@ -24098,7 +24147,7 @@ "end": "8349", "length": "6", "line": "255", - "parentIndex": "1086", + "parentIndex": "1087", "start": "8344" }, "typeDescription": { @@ -24108,7 +24157,7 @@ } } }, - "id": "1085", + "id": "1086", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -24116,7 +24165,7 @@ "end": "8354", "length": "15", "line": "255", - "parentIndex": "1082", + "parentIndex": "1083", "start": "8340" }, "typeDescription": { @@ -24131,7 +24180,7 @@ "end": "8355", "length": "39", "line": "255", - "parentIndex": "1081", + "parentIndex": "1082", "start": "8317" } } @@ -24142,7 +24191,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1090", + "id": "1091", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -24150,7 +24199,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "1093", + "id": "1094", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -24159,7 +24208,7 @@ "end": "8370", "length": "1", "line": "256", - "parentIndex": "1091", + "parentIndex": "1092", "start": "8370" }, "typeDescription": { @@ -24169,20 +24218,20 @@ "value": "0" } }, - "id": "1091", + "id": "1092", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1092", + "id": "1093", "name": "list", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1082", + "referencedDeclaration": "1083", "src": { "column": "8", "end": "8368", "length": "4", "line": "256", - "parentIndex": "1091", + "parentIndex": "1092", "start": "8365" }, "typeDescription": { @@ -24197,7 +24246,7 @@ "end": "8371", "length": "7", "line": "256", - "parentIndex": "1090", + "parentIndex": "1091", "start": "8365" }, "typeDescription": { @@ -24227,16 +24276,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1096", + "id": "1097", "name": "orderId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1096", + "referencedDeclaration": "1097", "src": { "column": "18", "end": "8381", "length": "7", "line": "256", - "parentIndex": "1095", + "parentIndex": "1096", "start": "8375" }, "typeDescription": { @@ -24245,13 +24294,13 @@ } } }, - "id": "1095", + "id": "1096", "memberLocation": { "column": "26", "end": "8390", "length": "8", "line": "256", - "parentIndex": "1095", + "parentIndex": "1096", "start": "8383" }, "memberName": "toString", @@ -24261,7 +24310,7 @@ "end": "8390", "length": "16", "line": "256", - "parentIndex": "1094", + "parentIndex": "1095", "start": "8375" }, "typeDescription": { @@ -24270,7 +24319,7 @@ } } }, - "id": "1094", + "id": "1095", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -24278,7 +24327,7 @@ "end": "8392", "length": "18", "line": "256", - "parentIndex": "1090", + "parentIndex": "1091", "start": "8375" }, "typeDescription": { @@ -24292,7 +24341,7 @@ "end": "8392", "length": "28", "line": "256", - "parentIndex": "1089", + "parentIndex": "1090", "start": "8365" }, "typeDescription": { @@ -24301,14 +24350,14 @@ } } }, - "id": "1089", + "id": "1090", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "8393", "length": "29", "line": "256", - "parentIndex": "1081", + "parentIndex": "1082", "start": "8365" }, "typeDescription": { @@ -24323,7 +24372,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1098", + "id": "1099", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -24331,7 +24380,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "1101", + "id": "1102", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -24340,7 +24389,7 @@ "end": "8408", "length": "1", "line": "257", - "parentIndex": "1099", + "parentIndex": "1100", "start": "8408" }, "typeDescription": { @@ -24350,20 +24399,20 @@ "value": "1" } }, - "id": "1099", + "id": "1100", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1100", + "id": "1101", "name": "list", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1082", + "referencedDeclaration": "1083", "src": { "column": "8", "end": "8406", "length": "4", "line": "257", - "parentIndex": "1099", + "parentIndex": "1100", "start": "8403" }, "typeDescription": { @@ -24378,7 +24427,7 @@ "end": "8409", "length": "7", "line": "257", - "parentIndex": "1098", + "parentIndex": "1099", "start": "8403" }, "typeDescription": { @@ -24403,7 +24452,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "5f", - "id": "1102", + "id": "1103", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -24412,7 +24461,7 @@ "end": "8415", "length": "3", "line": "257", - "parentIndex": "1098", + "parentIndex": "1099", "start": "8413" }, "typeDescription": { @@ -24427,7 +24476,7 @@ "end": "8415", "length": "13", "line": "257", - "parentIndex": "1097", + "parentIndex": "1098", "start": "8403" }, "typeDescription": { @@ -24436,14 +24485,14 @@ } } }, - "id": "1097", + "id": "1098", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "8416", "length": "14", "line": "257", - "parentIndex": "1081", + "parentIndex": "1082", "start": "8403" }, "typeDescription": { @@ -24458,7 +24507,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1104", + "id": "1105", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -24466,7 +24515,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "32", - "id": "1107", + "id": "1108", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -24475,7 +24524,7 @@ "end": "8431", "length": "1", "line": "258", - "parentIndex": "1105", + "parentIndex": "1106", "start": "8431" }, "typeDescription": { @@ -24485,20 +24534,20 @@ "value": "2" } }, - "id": "1105", + "id": "1106", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1106", + "id": "1107", "name": "list", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1082", + "referencedDeclaration": "1083", "src": { "column": "8", "end": "8429", "length": "4", "line": "258", - "parentIndex": "1105", + "parentIndex": "1106", "start": "8426" }, "typeDescription": { @@ -24513,7 +24562,7 @@ "end": "8432", "length": "7", "line": "258", - "parentIndex": "1104", + "parentIndex": "1105", "start": "8426" }, "typeDescription": { @@ -24543,16 +24592,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1110", + "id": "1111", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1110", + "referencedDeclaration": "1111", "src": { "column": "18", "end": "8441", "length": "6", "line": "258", - "parentIndex": "1109", + "parentIndex": "1110", "start": "8436" }, "typeDescription": { @@ -24561,13 +24610,13 @@ } } }, - "id": "1109", + "id": "1110", "memberLocation": { "column": "25", "end": "8450", "length": "8", "line": "258", - "parentIndex": "1109", + "parentIndex": "1110", "start": "8443" }, "memberName": "toString", @@ -24577,7 +24626,7 @@ "end": "8450", "length": "15", "line": "258", - "parentIndex": "1108", + "parentIndex": "1109", "start": "8436" }, "typeDescription": { @@ -24586,7 +24635,7 @@ } } }, - "id": "1108", + "id": "1109", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -24594,7 +24643,7 @@ "end": "8452", "length": "17", "line": "258", - "parentIndex": "1104", + "parentIndex": "1105", "start": "8436" }, "typeDescription": { @@ -24608,7 +24657,7 @@ "end": "8452", "length": "27", "line": "258", - "parentIndex": "1103", + "parentIndex": "1104", "start": "8426" }, "typeDescription": { @@ -24617,14 +24666,14 @@ } } }, - "id": "1103", + "id": "1104", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "8453", "length": "28", "line": "258", - "parentIndex": "1081", + "parentIndex": "1082", "start": "8426" }, "typeDescription": { @@ -24639,7 +24688,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1112", + "id": "1113", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -24647,7 +24696,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "33", - "id": "1115", + "id": "1116", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -24656,7 +24705,7 @@ "end": "8468", "length": "1", "line": "259", - "parentIndex": "1113", + "parentIndex": "1114", "start": "8468" }, "typeDescription": { @@ -24666,20 +24715,20 @@ "value": "3" } }, - "id": "1113", + "id": "1114", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1114", + "id": "1115", "name": "list", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1082", + "referencedDeclaration": "1083", "src": { "column": "8", "end": "8466", "length": "4", "line": "259", - "parentIndex": "1113", + "parentIndex": "1114", "start": "8463" }, "typeDescription": { @@ -24694,7 +24743,7 @@ "end": "8469", "length": "7", "line": "259", - "parentIndex": "1112", + "parentIndex": "1113", "start": "8463" }, "typeDescription": { @@ -24719,7 +24768,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "5f", - "id": "1116", + "id": "1117", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -24728,7 +24777,7 @@ "end": "8475", "length": "3", "line": "259", - "parentIndex": "1112", + "parentIndex": "1113", "start": "8473" }, "typeDescription": { @@ -24743,7 +24792,7 @@ "end": "8475", "length": "13", "line": "259", - "parentIndex": "1111", + "parentIndex": "1112", "start": "8463" }, "typeDescription": { @@ -24752,14 +24801,14 @@ } } }, - "id": "1111", + "id": "1112", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "8476", "length": "14", "line": "259", - "parentIndex": "1081", + "parentIndex": "1082", "start": "8463" }, "typeDescription": { @@ -24774,7 +24823,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1118", + "id": "1119", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -24782,7 +24831,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "34", - "id": "1121", + "id": "1122", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -24791,7 +24840,7 @@ "end": "8491", "length": "1", "line": "260", - "parentIndex": "1119", + "parentIndex": "1120", "start": "8491" }, "typeDescription": { @@ -24801,20 +24850,20 @@ "value": "4" } }, - "id": "1119", + "id": "1120", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1120", + "id": "1121", "name": "list", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1082", + "referencedDeclaration": "1083", "src": { "column": "8", "end": "8489", "length": "4", "line": "260", - "parentIndex": "1119", + "parentIndex": "1120", "start": "8486" }, "typeDescription": { @@ -24829,7 +24878,7 @@ "end": "8492", "length": "7", "line": "260", - "parentIndex": "1118", + "parentIndex": "1119", "start": "8486" }, "typeDescription": { @@ -24859,16 +24908,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1124", + "id": "1125", "name": "addr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1124", + "referencedDeclaration": "1125", "src": { "column": "18", "end": "8499", "length": "4", "line": "260", - "parentIndex": "1123", + "parentIndex": "1124", "start": "8496" }, "typeDescription": { @@ -24877,13 +24926,13 @@ } } }, - "id": "1123", + "id": "1124", "memberLocation": { "column": "23", "end": "8508", "length": "8", "line": "260", - "parentIndex": "1123", + "parentIndex": "1124", "start": "8501" }, "memberName": "toString", @@ -24893,7 +24942,7 @@ "end": "8508", "length": "13", "line": "260", - "parentIndex": "1122", + "parentIndex": "1123", "start": "8496" }, "typeDescription": { @@ -24902,7 +24951,7 @@ } } }, - "id": "1122", + "id": "1123", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -24910,7 +24959,7 @@ "end": "8510", "length": "15", "line": "260", - "parentIndex": "1118", + "parentIndex": "1119", "start": "8496" }, "typeDescription": { @@ -24924,7 +24973,7 @@ "end": "8510", "length": "25", "line": "260", - "parentIndex": "1117", + "parentIndex": "1118", "start": "8486" }, "typeDescription": { @@ -24933,14 +24982,14 @@ } } }, - "id": "1117", + "id": "1118", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "8511", "length": "26", "line": "260", - "parentIndex": "1081", + "parentIndex": "1082", "start": "8486" }, "typeDescription": { @@ -24965,16 +25014,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1129", + "id": "1130", "name": "list", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1082", + "referencedDeclaration": "1083", "src": { "column": "39", "end": "8555", "length": "4", "line": "261", - "parentIndex": "1126", + "parentIndex": "1127", "start": "8552" }, "typeDescription": { @@ -24990,7 +25039,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1128", + "id": "1129", "name": "StrLibrary", "nodeType": "IDENTIFIER", "referencedDeclaration": "431", @@ -24999,7 +25048,7 @@ "end": "8537", "length": "10", "line": "261", - "parentIndex": "1127", + "parentIndex": "1128", "start": "8528" }, "typeDescription": { @@ -25008,13 +25057,13 @@ } } }, - "id": "1127", + "id": "1128", "memberLocation": { "column": "26", "end": "8550", "length": "12", "line": "261", - "parentIndex": "1127", + "parentIndex": "1128", "start": "8539" }, "memberName": "listToString", @@ -25024,7 +25073,7 @@ "end": "8550", "length": "23", "line": "261", - "parentIndex": "1126", + "parentIndex": "1127", "start": "8528" }, "typeDescription": { @@ -25033,7 +25082,7 @@ } } }, - "id": "1126", + "id": "1127", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -25041,7 +25090,7 @@ "end": "8556", "length": "29", "line": "261", - "parentIndex": "1125", + "parentIndex": "1126", "start": "8528" }, "typeDescription": { @@ -25050,15 +25099,15 @@ } } }, - "functionReturnParameters": "1070", - "id": "1125", + "functionReturnParameters": "1071", + "id": "1126", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "8557", "length": "37", "line": "261", - "parentIndex": "1070", + "parentIndex": "1071", "start": "8521" }, "typeDescription": { @@ -25069,7 +25118,7 @@ } ] }, - "id": "1070", + "id": "1071", "implemented": true, "kind": "KIND_FUNCTION", "name": "orderToMessage", @@ -25078,25 +25127,25 @@ "end": "8222", "length": "14", "line": "254", - "parentIndex": "1070", + "parentIndex": "1071", "start": "8209" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1071", + "id": "1072", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1072", + "id": "1073", "name": "orderId", "nodeType": "VARIABLE_DECLARATION", - "scope": "1072", + "scope": "1073", "src": { "column": "28", "end": "8238", "length": "15", "line": "254", - "parentIndex": "1071", + "parentIndex": "1072", "start": "8224" }, "stateMutability": "MUTABLE", @@ -25106,7 +25155,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1073", + "id": "1074", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25114,7 +25163,7 @@ "end": "8230", "length": "7", "line": "254", - "parentIndex": "1072", + "parentIndex": "1073", "start": "8224" }, "typeDescription": { @@ -25125,16 +25174,16 @@ "visibility": "INTERNAL" }, { - "id": "1074", + "id": "1075", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "1074", + "scope": "1075", "src": { "column": "45", "end": "8254", "length": "14", "line": "254", - "parentIndex": "1071", + "parentIndex": "1072", "start": "8241" }, "stateMutability": "MUTABLE", @@ -25144,7 +25193,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1075", + "id": "1076", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25152,7 +25201,7 @@ "end": "8247", "length": "7", "line": "254", - "parentIndex": "1074", + "parentIndex": "1075", "start": "8241" }, "typeDescription": { @@ -25163,16 +25212,16 @@ "visibility": "INTERNAL" }, { - "id": "1076", + "id": "1077", "name": "addr", "nodeType": "VARIABLE_DECLARATION", - "scope": "1076", + "scope": "1077", "src": { "column": "61", "end": "8268", "length": "12", "line": "254", - "parentIndex": "1071", + "parentIndex": "1072", "start": "8257" }, "stateMutability": "NONPAYABLE", @@ -25182,7 +25231,7 @@ "typeString": "address" }, "typeName": { - "id": "1077", + "id": "1078", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25190,7 +25239,7 @@ "end": "8263", "length": "7", "line": "254", - "parentIndex": "1076", + "parentIndex": "1077", "start": "8257" }, "stateMutability": "NONPAYABLE", @@ -25207,24 +25256,24 @@ "end": "8268", "length": "45", "line": "254", - "parentIndex": "1070", + "parentIndex": "1071", "start": "8224" } }, "returnParameters": { - "id": "1078", + "id": "1079", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1079", + "id": "1080", "nodeType": "VARIABLE_DECLARATION", - "scope": "1079", + "scope": "1080", "src": { "column": "97", "end": "8305", "length": "13", "line": "254", - "parentIndex": "1078", + "parentIndex": "1079", "start": "8293" }, "stateMutability": "MUTABLE", @@ -25234,7 +25283,7 @@ "typeString": "string" }, "typeName": { - "id": "1080", + "id": "1081", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25242,7 +25291,7 @@ "end": "8298", "length": "6", "line": "254", - "parentIndex": "1079", + "parentIndex": "1080", "start": "8293" }, "typeDescription": { @@ -25258,12 +25307,12 @@ "end": "8305", "length": "13", "line": "254", - "parentIndex": "1070", + "parentIndex": "1071", "start": "8293" } }, "scope": "671", - "signature": "4df83ee4", + "signature": "5995c698", "src": { "column": "4", "end": "8563", @@ -25284,7 +25333,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1142", + "id": "1143", "implemented": true, "nodeType": "BLOCK", "src": { @@ -25292,7 +25341,7 @@ "end": "8997", "length": "327", "line": "264", - "parentIndex": "1131", + "parentIndex": "1132", "start": "8671" }, "statements": [ @@ -25313,23 +25362,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1145", + "id": "1146", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1147", + "id": "1148", "name": "signature", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1147", + "referencedDeclaration": "1148", "src": { "column": "16", "end": "8697", "length": "9", "line": "265", - "parentIndex": "1146", + "parentIndex": "1147", "start": "8689" }, "typeDescription": { @@ -25338,13 +25387,13 @@ } } }, - "id": "1146", + "id": "1147", "memberLocation": { "column": "26", "end": "8704", "length": "6", "line": "265", - "parentIndex": "1146", + "parentIndex": "1147", "start": "8699" }, "memberName": "length", @@ -25354,7 +25403,7 @@ "end": "8704", "length": "16", "line": "265", - "parentIndex": "1145", + "parentIndex": "1146", "start": "8689" }, "typeDescription": { @@ -25369,7 +25418,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3635", - "id": "1148", + "id": "1149", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -25378,7 +25427,7 @@ "end": "8710", "length": "2", "line": "265", - "parentIndex": "1145", + "parentIndex": "1146", "start": "8709" }, "typeDescription": { @@ -25393,7 +25442,7 @@ "end": "8710", "length": "22", "line": "265", - "parentIndex": "1143", + "parentIndex": "1144", "start": "8689" }, "typeDescription": { @@ -25412,7 +25461,7 @@ } ], "hexValue": "277369676e6174757265206c656e677468206661696c27", - "id": "1149", + "id": "1150", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -25421,7 +25470,7 @@ "end": "8735", "length": "23", "line": "265", - "parentIndex": "1143", + "parentIndex": "1144", "start": "8713" }, "typeDescription": { @@ -25435,7 +25484,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1144", + "id": "1145", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -25444,7 +25493,7 @@ "end": "8687", "length": "7", "line": "265", - "parentIndex": "1143", + "parentIndex": "1144", "start": "8681" }, "typeDescription": { @@ -25453,7 +25502,7 @@ } } }, - "id": "1143", + "id": "1144", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -25461,7 +25510,7 @@ "end": "8736", "length": "56", "line": "265", - "parentIndex": "1142", + "parentIndex": "1143", "start": "8681" }, "typeDescription": { @@ -25474,42 +25523,42 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "1151", + "id": "1152", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "8905", "length": "159", "line": "266", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8747" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "1152", + "id": "1153", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "8895", "length": "40", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8856" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "1153", + "id": "1154", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "8799", "length": "30", "line": "267", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8770" }, "value": { @@ -25526,7 +25575,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1160", + "id": "1161", "name": "signature", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25534,7 +25583,7 @@ "end": "8793", "length": "9", "line": "267", - "parentIndex": "1158", + "parentIndex": "1159", "start": "8785" } } @@ -25542,7 +25591,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1161", + "id": "1162", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -25550,7 +25599,7 @@ "end": "8797", "length": "2", "line": "267", - "parentIndex": "1158", + "parentIndex": "1159", "start": "8796" }, "value": "32" @@ -25560,7 +25609,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1159", + "id": "1160", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25568,19 +25617,19 @@ "end": "8783", "length": "3", "line": "267", - "parentIndex": "1158", + "parentIndex": "1159", "start": "8781" } } }, - "id": "1158", + "id": "1159", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "8798", "length": "18", "line": "267", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8781" } } @@ -25589,7 +25638,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1157", + "id": "1158", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25597,31 +25646,31 @@ "end": "8779", "length": "5", "line": "267", - "parentIndex": "1156", + "parentIndex": "1157", "start": "8775" } } }, - "id": "1156", + "id": "1157", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "17", "end": "8799", "length": "25", "line": "267", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8775" } } }, - "id": "1155", + "id": "1156", "nodeType": "YUL_EXPRESSION", "src": { "column": "17", "end": "8779", "length": "5", "line": "267", - "parentIndex": "1153", + "parentIndex": "1154", "start": "8775" } } @@ -25630,7 +25679,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1154", + "id": "1155", "name": "r", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25638,7 +25687,7 @@ "end": "8770", "length": "1", "line": "267", - "parentIndex": "1153", + "parentIndex": "1154", "start": "8770" } } @@ -25649,14 +25698,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "1162", + "id": "1163", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "8842", "length": "30", "line": "268", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8813" }, "value": { @@ -25673,7 +25722,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1169", + "id": "1170", "name": "signature", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25681,7 +25730,7 @@ "end": "8836", "length": "9", "line": "268", - "parentIndex": "1167", + "parentIndex": "1168", "start": "8828" } } @@ -25689,7 +25738,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1170", + "id": "1171", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -25697,7 +25746,7 @@ "end": "8840", "length": "2", "line": "268", - "parentIndex": "1167", + "parentIndex": "1168", "start": "8839" }, "value": "64" @@ -25707,7 +25756,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1168", + "id": "1169", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25715,19 +25764,19 @@ "end": "8826", "length": "3", "line": "268", - "parentIndex": "1167", + "parentIndex": "1168", "start": "8824" } } }, - "id": "1167", + "id": "1168", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "8841", "length": "18", "line": "268", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8824" } } @@ -25736,7 +25785,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1166", + "id": "1167", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25744,31 +25793,31 @@ "end": "8822", "length": "5", "line": "268", - "parentIndex": "1165", + "parentIndex": "1166", "start": "8818" } } }, - "id": "1165", + "id": "1166", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "17", "end": "8842", "length": "25", "line": "268", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8818" } } }, - "id": "1164", + "id": "1165", "nodeType": "YUL_EXPRESSION", "src": { "column": "17", "end": "8822", "length": "5", "line": "268", - "parentIndex": "1162", + "parentIndex": "1163", "start": "8818" } } @@ -25777,7 +25826,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1163", + "id": "1164", "name": "s", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25785,7 +25834,7 @@ "end": "8813", "length": "1", "line": "268", - "parentIndex": "1162", + "parentIndex": "1163", "start": "8813" } } @@ -25796,14 +25845,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "1171", + "id": "1172", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "8895", "length": "40", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8856" }, "value": { @@ -25824,7 +25873,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1180", + "id": "1181", "name": "signature", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25832,7 +25881,7 @@ "end": "8883", "length": "9", "line": "269", - "parentIndex": "1178", + "parentIndex": "1179", "start": "8875" } } @@ -25840,7 +25889,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1181", + "id": "1182", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -25848,7 +25897,7 @@ "end": "8887", "length": "2", "line": "269", - "parentIndex": "1178", + "parentIndex": "1179", "start": "8886" }, "value": "65" @@ -25858,7 +25907,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1179", + "id": "1180", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25866,19 +25915,19 @@ "end": "8873", "length": "3", "line": "269", - "parentIndex": "1178", + "parentIndex": "1179", "start": "8871" } } }, - "id": "1178", + "id": "1179", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "27", "end": "8888", "length": "18", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8871" } } @@ -25887,7 +25936,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1177", + "id": "1178", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25895,19 +25944,19 @@ "end": "8869", "length": "5", "line": "269", - "parentIndex": "1176", + "parentIndex": "1177", "start": "8865" } } }, - "id": "1176", + "id": "1177", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "8889", "length": "25", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8865" } } @@ -25915,7 +25964,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1182", + "id": "1183", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -25923,7 +25972,7 @@ "end": "8894", "length": "3", "line": "269", - "parentIndex": "1174", + "parentIndex": "1175", "start": "8892" }, "value": "255" @@ -25933,7 +25982,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1175", + "id": "1176", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25941,31 +25990,31 @@ "end": "8863", "length": "3", "line": "269", - "parentIndex": "1174", + "parentIndex": "1175", "start": "8861" } } }, - "id": "1174", + "id": "1175", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "17", "end": "8895", "length": "35", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8861" } } }, - "id": "1173", + "id": "1174", "nodeType": "YUL_EXPRESSION", "src": { "column": "17", "end": "8863", "length": "3", "line": "269", - "parentIndex": "1171", + "parentIndex": "1172", "start": "8861" } } @@ -25974,7 +26023,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1172", + "id": "1173", "name": "v", "nodeType": "YUL_IDENTIFIER", "src": { @@ -25982,7 +26031,7 @@ "end": "8856", "length": "1", "line": "269", - "parentIndex": "1171", + "parentIndex": "1172", "start": "8856" } } @@ -25996,28 +26045,28 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "1152", + "id": "1153", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "8895", "length": "40", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8856" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "1153", + "id": "1154", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "8799", "length": "30", "line": "267", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8770" }, "value": { @@ -26034,7 +26083,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1160", + "id": "1161", "name": "signature", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26042,7 +26091,7 @@ "end": "8793", "length": "9", "line": "267", - "parentIndex": "1158", + "parentIndex": "1159", "start": "8785" } } @@ -26050,7 +26099,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1161", + "id": "1162", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -26058,7 +26107,7 @@ "end": "8797", "length": "2", "line": "267", - "parentIndex": "1158", + "parentIndex": "1159", "start": "8796" }, "value": "32" @@ -26068,7 +26117,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1159", + "id": "1160", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26076,19 +26125,19 @@ "end": "8783", "length": "3", "line": "267", - "parentIndex": "1158", + "parentIndex": "1159", "start": "8781" } } }, - "id": "1158", + "id": "1159", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "8798", "length": "18", "line": "267", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8781" } } @@ -26097,7 +26146,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1157", + "id": "1158", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26105,31 +26154,31 @@ "end": "8779", "length": "5", "line": "267", - "parentIndex": "1156", + "parentIndex": "1157", "start": "8775" } } }, - "id": "1156", + "id": "1157", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "17", "end": "8799", "length": "25", "line": "267", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8775" } } }, - "id": "1155", + "id": "1156", "nodeType": "YUL_EXPRESSION", "src": { "column": "17", "end": "8779", "length": "5", "line": "267", - "parentIndex": "1153", + "parentIndex": "1154", "start": "8775" } } @@ -26138,7 +26187,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1154", + "id": "1155", "name": "r", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26146,7 +26195,7 @@ "end": "8770", "length": "1", "line": "267", - "parentIndex": "1153", + "parentIndex": "1154", "start": "8770" } } @@ -26157,14 +26206,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "1162", + "id": "1163", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "8842", "length": "30", "line": "268", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8813" }, "value": { @@ -26181,7 +26230,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1169", + "id": "1170", "name": "signature", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26189,7 +26238,7 @@ "end": "8836", "length": "9", "line": "268", - "parentIndex": "1167", + "parentIndex": "1168", "start": "8828" } } @@ -26197,7 +26246,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1170", + "id": "1171", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -26205,7 +26254,7 @@ "end": "8840", "length": "2", "line": "268", - "parentIndex": "1167", + "parentIndex": "1168", "start": "8839" }, "value": "64" @@ -26215,7 +26264,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1168", + "id": "1169", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26223,19 +26272,19 @@ "end": "8826", "length": "3", "line": "268", - "parentIndex": "1167", + "parentIndex": "1168", "start": "8824" } } }, - "id": "1167", + "id": "1168", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "8841", "length": "18", "line": "268", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8824" } } @@ -26244,7 +26293,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1166", + "id": "1167", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26252,31 +26301,31 @@ "end": "8822", "length": "5", "line": "268", - "parentIndex": "1165", + "parentIndex": "1166", "start": "8818" } } }, - "id": "1165", + "id": "1166", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "17", "end": "8842", "length": "25", "line": "268", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8818" } } }, - "id": "1164", + "id": "1165", "nodeType": "YUL_EXPRESSION", "src": { "column": "17", "end": "8822", "length": "5", "line": "268", - "parentIndex": "1162", + "parentIndex": "1163", "start": "8818" } } @@ -26285,7 +26334,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1163", + "id": "1164", "name": "s", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26293,7 +26342,7 @@ "end": "8813", "length": "1", "line": "268", - "parentIndex": "1162", + "parentIndex": "1163", "start": "8813" } } @@ -26304,14 +26353,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "1171", + "id": "1172", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "8895", "length": "40", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8856" }, "value": { @@ -26332,7 +26381,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1180", + "id": "1181", "name": "signature", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26340,7 +26389,7 @@ "end": "8883", "length": "9", "line": "269", - "parentIndex": "1178", + "parentIndex": "1179", "start": "8875" } } @@ -26348,7 +26397,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1181", + "id": "1182", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -26356,7 +26405,7 @@ "end": "8887", "length": "2", "line": "269", - "parentIndex": "1178", + "parentIndex": "1179", "start": "8886" }, "value": "65" @@ -26366,7 +26415,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1179", + "id": "1180", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26374,19 +26423,19 @@ "end": "8873", "length": "3", "line": "269", - "parentIndex": "1178", + "parentIndex": "1179", "start": "8871" } } }, - "id": "1178", + "id": "1179", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "27", "end": "8888", "length": "18", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8871" } } @@ -26395,7 +26444,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1177", + "id": "1178", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26403,19 +26452,19 @@ "end": "8869", "length": "5", "line": "269", - "parentIndex": "1176", + "parentIndex": "1177", "start": "8865" } } }, - "id": "1176", + "id": "1177", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "8889", "length": "25", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8865" } } @@ -26423,7 +26472,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1182", + "id": "1183", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -26431,7 +26480,7 @@ "end": "8894", "length": "3", "line": "269", - "parentIndex": "1174", + "parentIndex": "1175", "start": "8892" }, "value": "255" @@ -26441,7 +26490,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1175", + "id": "1176", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26449,31 +26498,31 @@ "end": "8863", "length": "3", "line": "269", - "parentIndex": "1174", + "parentIndex": "1175", "start": "8861" } } }, - "id": "1174", + "id": "1175", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "17", "end": "8895", "length": "35", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8861" } } }, - "id": "1173", + "id": "1174", "nodeType": "YUL_EXPRESSION", "src": { "column": "17", "end": "8863", "length": "3", "line": "269", - "parentIndex": "1171", + "parentIndex": "1172", "start": "8861" } } @@ -26482,7 +26531,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1172", + "id": "1173", "name": "v", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26490,7 +26539,7 @@ "end": "8856", "length": "1", "line": "269", - "parentIndex": "1171", + "parentIndex": "1172", "start": "8856" } } @@ -26504,28 +26553,28 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "1152", + "id": "1153", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "8895", "length": "40", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8856" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "1153", + "id": "1154", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "8799", "length": "30", "line": "267", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8770" }, "value": { @@ -26542,7 +26591,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1160", + "id": "1161", "name": "signature", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26550,7 +26599,7 @@ "end": "8793", "length": "9", "line": "267", - "parentIndex": "1158", + "parentIndex": "1159", "start": "8785" } } @@ -26558,7 +26607,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1161", + "id": "1162", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -26566,7 +26615,7 @@ "end": "8797", "length": "2", "line": "267", - "parentIndex": "1158", + "parentIndex": "1159", "start": "8796" }, "value": "32" @@ -26576,7 +26625,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1159", + "id": "1160", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26584,19 +26633,19 @@ "end": "8783", "length": "3", "line": "267", - "parentIndex": "1158", + "parentIndex": "1159", "start": "8781" } } }, - "id": "1158", + "id": "1159", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "8798", "length": "18", "line": "267", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8781" } } @@ -26605,7 +26654,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1157", + "id": "1158", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26613,31 +26662,31 @@ "end": "8779", "length": "5", "line": "267", - "parentIndex": "1156", + "parentIndex": "1157", "start": "8775" } } }, - "id": "1156", + "id": "1157", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "17", "end": "8799", "length": "25", "line": "267", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8775" } } }, - "id": "1155", + "id": "1156", "nodeType": "YUL_EXPRESSION", "src": { "column": "17", "end": "8779", "length": "5", "line": "267", - "parentIndex": "1153", + "parentIndex": "1154", "start": "8775" } } @@ -26646,7 +26695,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1154", + "id": "1155", "name": "r", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26654,7 +26703,7 @@ "end": "8770", "length": "1", "line": "267", - "parentIndex": "1153", + "parentIndex": "1154", "start": "8770" } } @@ -26665,14 +26714,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "1162", + "id": "1163", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "8842", "length": "30", "line": "268", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8813" }, "value": { @@ -26689,7 +26738,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1169", + "id": "1170", "name": "signature", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26697,7 +26746,7 @@ "end": "8836", "length": "9", "line": "268", - "parentIndex": "1167", + "parentIndex": "1168", "start": "8828" } } @@ -26705,7 +26754,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1170", + "id": "1171", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -26713,7 +26762,7 @@ "end": "8840", "length": "2", "line": "268", - "parentIndex": "1167", + "parentIndex": "1168", "start": "8839" }, "value": "64" @@ -26723,7 +26772,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1168", + "id": "1169", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26731,19 +26780,19 @@ "end": "8826", "length": "3", "line": "268", - "parentIndex": "1167", + "parentIndex": "1168", "start": "8824" } } }, - "id": "1167", + "id": "1168", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "8841", "length": "18", "line": "268", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8824" } } @@ -26752,7 +26801,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1166", + "id": "1167", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26760,31 +26809,31 @@ "end": "8822", "length": "5", "line": "268", - "parentIndex": "1165", + "parentIndex": "1166", "start": "8818" } } }, - "id": "1165", + "id": "1166", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "17", "end": "8842", "length": "25", "line": "268", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8818" } } }, - "id": "1164", + "id": "1165", "nodeType": "YUL_EXPRESSION", "src": { "column": "17", "end": "8822", "length": "5", "line": "268", - "parentIndex": "1162", + "parentIndex": "1163", "start": "8818" } } @@ -26793,7 +26842,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1163", + "id": "1164", "name": "s", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26801,7 +26850,7 @@ "end": "8813", "length": "1", "line": "268", - "parentIndex": "1162", + "parentIndex": "1163", "start": "8813" } } @@ -26812,14 +26861,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "1171", + "id": "1172", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "8895", "length": "40", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8856" }, "value": { @@ -26840,7 +26889,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1180", + "id": "1181", "name": "signature", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26848,7 +26897,7 @@ "end": "8883", "length": "9", "line": "269", - "parentIndex": "1178", + "parentIndex": "1179", "start": "8875" } } @@ -26856,7 +26905,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1181", + "id": "1182", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -26864,7 +26913,7 @@ "end": "8887", "length": "2", "line": "269", - "parentIndex": "1178", + "parentIndex": "1179", "start": "8886" }, "value": "65" @@ -26874,7 +26923,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1179", + "id": "1180", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26882,19 +26931,19 @@ "end": "8873", "length": "3", "line": "269", - "parentIndex": "1178", + "parentIndex": "1179", "start": "8871" } } }, - "id": "1178", + "id": "1179", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "27", "end": "8888", "length": "18", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8871" } } @@ -26903,7 +26952,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1177", + "id": "1178", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26911,19 +26960,19 @@ "end": "8869", "length": "5", "line": "269", - "parentIndex": "1176", + "parentIndex": "1177", "start": "8865" } } }, - "id": "1176", + "id": "1177", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "8889", "length": "25", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8865" } } @@ -26931,7 +26980,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "1182", + "id": "1183", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -26939,7 +26988,7 @@ "end": "8894", "length": "3", "line": "269", - "parentIndex": "1174", + "parentIndex": "1175", "start": "8892" }, "value": "255" @@ -26949,7 +26998,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1175", + "id": "1176", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26957,31 +27006,31 @@ "end": "8863", "length": "3", "line": "269", - "parentIndex": "1174", + "parentIndex": "1175", "start": "8861" } } }, - "id": "1174", + "id": "1175", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "17", "end": "8895", "length": "35", "line": "269", - "parentIndex": "1150", + "parentIndex": "1151", "start": "8861" } } }, - "id": "1173", + "id": "1174", "nodeType": "YUL_EXPRESSION", "src": { "column": "17", "end": "8863", "length": "3", "line": "269", - "parentIndex": "1171", + "parentIndex": "1172", "start": "8861" } } @@ -26990,7 +27039,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "1172", + "id": "1173", "name": "v", "nodeType": "YUL_IDENTIFIER", "src": { @@ -26998,7 +27047,7 @@ "end": "8856", "length": "1", "line": "269", - "parentIndex": "1171", + "parentIndex": "1172", "start": "8856" } } @@ -27011,14 +27060,14 @@ } ] }, - "id": "1150", + "id": "1151", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "8905", "length": "159", "line": "266", - "parentIndex": "1142", + "parentIndex": "1143", "start": "8747" } } @@ -27027,27 +27076,27 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "1187", + "id": "1188", "nodeType": "BLOCK", "src": {} }, "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1184", + "id": "1185", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1185", + "id": "1186", "name": "v", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1003", + "referencedDeclaration": "1004", "src": { "column": "12", "end": "8919", "length": "1", "line": "271", - "parentIndex": "1184", + "parentIndex": "1185", "start": "8919" }, "typeDescription": { @@ -27062,7 +27111,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3237", - "id": "1186", + "id": "1187", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -27071,7 +27120,7 @@ "end": "8924", "length": "2", "line": "271", - "parentIndex": "1184", + "parentIndex": "1185", "start": "8923" }, "typeDescription": { @@ -27086,7 +27135,7 @@ "end": "8924", "length": "6", "line": "271", - "parentIndex": "1183", + "parentIndex": "1184", "start": "8919" }, "typeDescription": { @@ -27095,13 +27144,13 @@ } } }, - "id": "1183", + "id": "1184", "nodeType": "IF_STATEMENT", "src": { "end": "8934", "length": "20", "line": "271", - "parentIndex": "1142", + "parentIndex": "1143", "start": "8915" } } @@ -27123,24 +27172,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1190", + "id": "1191", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1191", + "id": "1192", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1192", + "id": "1193", "name": "v", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1003", + "referencedDeclaration": "1004", "src": { "column": "16", "end": "8952", "length": "1", "line": "272", - "parentIndex": "1191", + "parentIndex": "1192", "start": "8952" }, "typeDescription": { @@ -27155,7 +27204,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3237", - "id": "1193", + "id": "1194", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -27164,7 +27213,7 @@ "end": "8958", "length": "2", "line": "272", - "parentIndex": "1191", + "parentIndex": "1192", "start": "8957" }, "typeDescription": { @@ -27179,7 +27228,7 @@ "end": "8958", "length": "7", "line": "272", - "parentIndex": "1190", + "parentIndex": "1191", "start": "8952" }, "typeDescription": { @@ -27193,20 +27242,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1194", + "id": "1195", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1195", + "id": "1196", "name": "v", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1003", + "referencedDeclaration": "1004", "src": { "column": "27", "end": "8963", "length": "1", "line": "272", - "parentIndex": "1194", + "parentIndex": "1195", "start": "8963" }, "typeDescription": { @@ -27221,7 +27270,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3238", - "id": "1196", + "id": "1197", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -27230,7 +27279,7 @@ "end": "8969", "length": "2", "line": "272", - "parentIndex": "1194", + "parentIndex": "1195", "start": "8968" }, "typeDescription": { @@ -27245,7 +27294,7 @@ "end": "8969", "length": "7", "line": "272", - "parentIndex": "1190", + "parentIndex": "1191", "start": "8963" }, "typeDescription": { @@ -27259,7 +27308,7 @@ "end": "8969", "length": "18", "line": "272", - "parentIndex": "1188", + "parentIndex": "1189", "start": "8952" }, "typeDescription": { @@ -27278,7 +27327,7 @@ } ], "hexValue": "277369676e61747572652076206661696c27", - "id": "1197", + "id": "1198", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -27287,7 +27336,7 @@ "end": "8989", "length": "18", "line": "272", - "parentIndex": "1188", + "parentIndex": "1189", "start": "8972" }, "typeDescription": { @@ -27301,7 +27350,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1189", + "id": "1190", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -27310,7 +27359,7 @@ "end": "8950", "length": "7", "line": "272", - "parentIndex": "1188", + "parentIndex": "1189", "start": "8944" }, "typeDescription": { @@ -27319,7 +27368,7 @@ } } }, - "id": "1188", + "id": "1189", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -27327,7 +27376,7 @@ "end": "8990", "length": "47", "line": "272", - "parentIndex": "1142", + "parentIndex": "1143", "start": "8944" }, "typeDescription": { @@ -27338,7 +27387,7 @@ } ] }, - "id": "1131", + "id": "1132", "implemented": true, "kind": "KIND_FUNCTION", "name": "_signatureToRSV", @@ -27347,25 +27396,25 @@ "end": "8593", "length": "15", "line": "264", - "parentIndex": "1131", + "parentIndex": "1132", "start": "8579" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1132", + "id": "1133", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1133", + "id": "1134", "name": "signature", "nodeType": "VARIABLE_DECLARATION", - "scope": "1133", + "scope": "1134", "src": { "column": "29", "end": "8616", "length": "22", "line": "264", - "parentIndex": "1132", + "parentIndex": "1133", "start": "8595" }, "stateMutability": "MUTABLE", @@ -27375,7 +27424,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1134", + "id": "1135", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27383,7 +27432,7 @@ "end": "8599", "length": "5", "line": "264", - "parentIndex": "1133", + "parentIndex": "1134", "start": "8595" }, "typeDescription": { @@ -27399,25 +27448,25 @@ "end": "8616", "length": "22", "line": "264", - "parentIndex": "1131", + "parentIndex": "1132", "start": "8595" } }, "returnParameters": { - "id": "1135", + "id": "1136", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1136", + "id": "1137", "name": "r", "nodeType": "VARIABLE_DECLARATION", - "scope": "1136", + "scope": "1137", "src": { "column": "76", "end": "8650", "length": "9", "line": "264", - "parentIndex": "1135", + "parentIndex": "1136", "start": "8642" }, "stateMutability": "MUTABLE", @@ -27427,7 +27476,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1137", + "id": "1138", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27435,7 +27484,7 @@ "end": "8648", "length": "7", "line": "264", - "parentIndex": "1136", + "parentIndex": "1137", "start": "8642" }, "typeDescription": { @@ -27446,16 +27495,16 @@ "visibility": "INTERNAL" }, { - "id": "1138", + "id": "1139", "name": "s", "nodeType": "VARIABLE_DECLARATION", - "scope": "1138", + "scope": "1139", "src": { "column": "86", "end": "8660", "length": "9", "line": "264", - "parentIndex": "1135", + "parentIndex": "1136", "start": "8652" }, "stateMutability": "MUTABLE", @@ -27465,7 +27514,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1139", + "id": "1140", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27473,7 +27522,7 @@ "end": "8658", "length": "7", "line": "264", - "parentIndex": "1138", + "parentIndex": "1139", "start": "8652" }, "typeDescription": { @@ -27484,16 +27533,16 @@ "visibility": "INTERNAL" }, { - "id": "1140", + "id": "1141", "name": "v", "nodeType": "VARIABLE_DECLARATION", - "scope": "1140", + "scope": "1141", "src": { "column": "96", "end": "8668", "length": "7", "line": "264", - "parentIndex": "1135", + "parentIndex": "1136", "start": "8662" }, "stateMutability": "MUTABLE", @@ -27503,7 +27552,7 @@ "typeString": "uint8" }, "typeName": { - "id": "1141", + "id": "1142", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27511,7 +27560,7 @@ "end": "8666", "length": "5", "line": "264", - "parentIndex": "1140", + "parentIndex": "1141", "start": "8662" }, "typeDescription": { @@ -27527,7 +27576,7 @@ "end": "8668", "length": "27", "line": "264", - "parentIndex": "1131", + "parentIndex": "1132", "start": "8642" } }, diff --git a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/SafeMath.solgo.ast.json b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/SafeMath.solgo.ast.json index 9e691bc7..af7ad691 100644 --- a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/SafeMath.solgo.ast.json +++ b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/SafeMath.solgo.ast.json @@ -187,7 +187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 130, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 131, @@ -207,7 +208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 131, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -270,7 +272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 126, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 136, @@ -290,7 +293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 136, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -323,7 +327,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: addition overflow\"" } ], "expression": { @@ -344,7 +349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -381,7 +387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 126, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -553,13 +560,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){uint256c=a+b;require(c\u003e=a,\"SafeMath: addition overflow\");returnc;}" }, { "id": 141, @@ -651,7 +659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 154, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 155, @@ -671,7 +680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 155, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -704,7 +714,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: subtraction overflow\"" } ], "expression": { @@ -725,7 +736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -824,7 +836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 161, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 162, @@ -844,7 +857,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 162, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -882,7 +896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 157, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1054,13 +1069,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){require(b\u003c=a,\"SafeMath: subtraction overflow\");uint256c=a-b;returnc;}" }, { "id": 166, @@ -1140,7 +1156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 178, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 179, @@ -1162,7 +1179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1215,7 +1233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -1313,7 +1332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 187, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 188, @@ -1333,7 +1353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 188, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1410,7 +1431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 183, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 194, @@ -1430,7 +1452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -1455,7 +1478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 195, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -1488,7 +1512,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: multiplication overflow\"" } ], "expression": { @@ -1509,7 +1534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1546,7 +1572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 183, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1718,13 +1745,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){if(a==0){return0;}uint256c=a*b;require(c/a==b,\"SafeMath: multiplication overflow\");returnc;}" }, { "id": 200, @@ -1816,7 +1844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 213, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 214, @@ -1838,7 +1867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1871,7 +1901,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: division by zero\"" } ], "expression": { @@ -1892,7 +1923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1991,7 +2023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 220, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 221, @@ -2011,7 +2044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 221, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2049,7 +2083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 216, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -2221,13 +2256,14 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){require(b\u003e0,\"SafeMath: division by zero\");uint256c=a/b;returnc;}" }, { "id": 225, @@ -2319,7 +2355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 238, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 239, @@ -2341,7 +2378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2374,7 +2412,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeMath: modulo by zero\"" } ], "expression": { @@ -2395,7 +2434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2446,7 +2486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 243, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 244, @@ -2466,7 +2507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 244, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2643,13 +2685,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", "scope": 114, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){require(b!=0,\"SafeMath: modulo by zero\");returna%b;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/StrLibrary.solgo.ast.json b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/StrLibrary.solgo.ast.json index 2c81ac6c..f5e7a4ea 100644 --- a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/StrLibrary.solgo.ast.json +++ b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/StrLibrary.solgo.ast.json @@ -272,7 +272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -355,7 +356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -449,7 +451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -484,7 +487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 466, @@ -527,14 +531,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 467, - "is_pure": false + "is_pure": false, + "text": "list" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "list.length" }, "type_description": { "type_identifier": "t_bool", @@ -572,7 +578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -639,7 +646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 451, - "is_pure": false + "is_pure": false, + "text": "len" }, "right_expression": { "id": 474, @@ -712,7 +720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 445, - "is_pure": false + "is_pure": false, + "text": "list" }, "base_expression": { "id": 480, @@ -732,7 +741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -792,7 +802,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_string]$_t_uint256]$", @@ -804,7 +815,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_string]$_t_uint256]$", "type_string": "function(index[string:uint256])" - } + }, + "text": "bytes(list[i]).length" }, "type_description": { "type_identifier": "t_uint256", @@ -814,7 +826,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "len+=bytes(list[i]).length;" } ] } @@ -916,7 +929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 451, - "is_pure": false + "is_pure": false, + "text": "len" } ], "expression": { @@ -1051,7 +1065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -1086,7 +1101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 495, @@ -1129,14 +1145,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "list" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "list.length" }, "type_description": { "type_identifier": "t_bool", @@ -1174,7 +1192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -1308,7 +1327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 445, - "is_pure": false + "is_pure": false, + "text": "list" }, "base_expression": { "id": 508, @@ -1328,7 +1348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -1388,7 +1409,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_string]$_t_uint256]$", @@ -1487,7 +1509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -1522,7 +1545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "j" }, "right_expression": { "id": 516, @@ -1565,14 +1589,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "bi" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "bi.length" }, "type_description": { "type_identifier": "t_bool", @@ -1610,7 +1636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "j" }, "type_description": { "type_identifier": "t_uint256", @@ -1689,7 +1716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 481, - "is_pure": false + "is_pure": false, + "text": "bret" } ], "expression": { @@ -1734,7 +1762,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -1874,7 +1903,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionlistToString(string[]memorylist)internalpurereturns(stringmemory){uint256len=0;uint256k=0;for(uint256i=0;i\u003clist.length;i++){len+=bytes(list[i]).length;}bytesmemorybret=newbytes(len);for(uint256i=0;i\u003clist.length;i++){bytesmemorybi=bytes(list[i]);for(uint256j=0;j\u003cbi.length;j++)bret[k++]=bi[j];}returnstring(bret);}" }, { "id": 527, @@ -2008,7 +2038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "_a" } ], "expression": { @@ -2053,7 +2084,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -2158,7 +2190,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 550, - "is_pure": false + "is_pure": false, + "text": "_b" } ], "expression": { @@ -2203,7 +2236,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -2345,14 +2379,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_ba" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "_ba.length" }, "right_expression": { "id": 560, @@ -2395,14 +2431,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 544, - "is_pure": false + "is_pure": false, + "text": "_bb" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "_bb.length" }, "type_description": { "type_identifier": "t_bytes", @@ -2531,7 +2569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2625,7 +2664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -2660,7 +2700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 573, @@ -2703,14 +2744,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_ba" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "_ba.length" }, "type_description": { "type_identifier": "t_bool", @@ -2748,7 +2791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -2866,7 +2910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -2901,7 +2946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 585, @@ -2944,14 +2990,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 544, - "is_pure": false + "is_pure": false, + "text": "_bb" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "_bb.length" }, "type_description": { "type_identifier": "t_bool", @@ -2989,7 +3037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -3065,7 +3114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "bret" } ], "expression": { @@ -3110,7 +3160,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3287,13 +3338,14 @@ } ] }, - "signature_raw": "add(string, string)", - "signature": "ab4fb373", + "signature_raw": "add(string,string)", + "signature": "ebdf86ca", "scope": 433, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "functionadd(stringmemory_a,stringmemory_b)internalpurereturns(stringmemory){bytesmemory_ba=bytes(_a);bytesmemory_bb=bytes(_b);bytesmemorybret=newbytes(_ba.length+_bb.length);uintk=0;for(uinti=0;i\u003c_ba.length;i++)bret[k++]=_ba[i];for(uinti=0;i\u003c_bb.length;i++)bret[k++]=_bb[i];returnstring(bret);}" }, { "id": 596, @@ -3383,7 +3435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 609, - "is_pure": false + "is_pure": false, + "text": "_a" }, { "id": 610, @@ -3440,14 +3493,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 612, - "is_pure": false + "is_pure": false, + "text": "value" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -3473,7 +3528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "add" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$", @@ -3650,13 +3706,14 @@ } ] }, - "signature_raw": "add(string, uint)", - "signature": "c8870403", + "signature_raw": "add(string,uint)", + "signature": "4f2cc703", "scope": 433, "type_description": { "type_identifier": "t_function_$_t_string$_t_uint256$", "type_string": "function(string,uint256)" - } + }, + "text": "functionadd(stringmemory_a,uintvalue)internalpurereturns(stringmemory){returnadd(_a,value.toString());}" }, { "id": 614, @@ -3746,7 +3803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 627, - "is_pure": false + "is_pure": false, + "text": "_a" }, { "id": 628, @@ -3803,14 +3861,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 630, - "is_pure": false + "is_pure": false, + "text": "value" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "value.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -3836,7 +3896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "add" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$", @@ -4014,13 +4075,14 @@ } ] }, - "signature_raw": "add(string, address)", - "signature": "6a73a0f7", + "signature_raw": "add(string,address)", + "signature": "2bffc7ed", "scope": 433, "type_description": { "type_identifier": "t_function_$_t_string$_t_address$", "type_string": "function(string,address)" - } + }, + "text": "functionadd(stringmemory_a,addressvalue)internalpurereturns(stringmemory){returnadd(_a,value.toString());}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/uintStr.solgo.ast.json b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/uintStr.solgo.ast.json index 97a29a54..c510a446 100644 --- a/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/uintStr.solgo.ast.json +++ b/data/tests/contracts/0x16Ca8d09D693201d54a2882c05B8421102fc00B2/uintStr.solgo.ast.json @@ -138,7 +138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 369, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 370, @@ -160,7 +161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -213,7 +215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -297,7 +300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 377, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -404,7 +408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 374, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 383, @@ -426,7 +431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -476,7 +482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -529,7 +536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 374, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 390, @@ -551,7 +559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -561,7 +570,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -663,7 +673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -750,7 +761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 399, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 400, @@ -772,7 +784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -833,7 +846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 405, @@ -855,7 +869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -865,7 +880,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 406, @@ -919,7 +935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 391, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 410, @@ -939,7 +956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -1028,7 +1046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 419, @@ -1062,7 +1081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 421, @@ -1084,7 +1104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1139,7 +1160,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -1189,7 +1211,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -1204,7 +1227,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+value%10));" }, { "id": 422, @@ -1247,7 +1271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 425, @@ -1269,7 +1294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1279,7 +1305,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -1333,7 +1360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 391, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -1378,7 +1406,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -1518,7 +1547,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+value%10));value/=10;}returnstring(buffer);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Context.solgo.ast.json b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Context.solgo.ast.json index c3449701..80bafc71 100644 --- a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Context.solgo.ast.json +++ b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 71, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IERC165.solgo.ast.json b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IERC165.solgo.ast.json index 8ed06eb1..83eb0532 100644 --- a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IERC165.solgo.ast.json +++ b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IERC165.solgo.ast.json @@ -227,7 +227,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IERC721.solgo.ast.json b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IERC721.solgo.ast.json index df1f3932..78b64f90 100644 --- a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IERC721.solgo.ast.json +++ b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IERC721.solgo.ast.json @@ -763,7 +763,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint256balance);" }, { "id": 357, @@ -932,7 +933,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)externalviewreturns(addressowner);" }, { "id": 366, @@ -1180,13 +1182,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytescalldatadata)external;" }, { "id": 379, @@ -1391,13 +1394,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 390, @@ -1602,13 +1606,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 401, @@ -1769,13 +1774,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)external;" }, { "id": 410, @@ -1936,13 +1942,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,boolapproved)external;" }, { "id": 419, @@ -2111,7 +2118,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)externalviewreturns(addressoperator);" }, { "id": 428, @@ -2318,13 +2326,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)externalviewreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/ItemsMarketplace.solgo.ast.json b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/ItemsMarketplace.solgo.ast.json index 6860c6f4..b7fd332b 100644 --- a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/ItemsMarketplace.solgo.ast.json +++ b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/ItemsMarketplace.solgo.ast.json @@ -4,7 +4,7 @@ "entry_source_unit": 438, "globals": [ { - "id": 1317, + "id": 1318, "node_type": 57, "src": { "line": 55, @@ -14,7 +14,7 @@ "length": 30 }, "parameters": { - "id": 1318, + "id": 1319, "node_type": 43, "src": { "line": 55, @@ -22,11 +22,11 @@ "start": 1683, "end": 1712, "length": 30, - "parent_index": 1317 + "parent_index": 1318 }, "parameters": [ { - "id": 1319, + "id": 1320, "node_type": 44, "src": { "line": 55, @@ -34,12 +34,12 @@ "start": 1696, "end": 1710, "length": 15, - "parent_index": 1318 + "parent_index": 1319 }, - "scope": 1317, + "scope": 1318, "name": "account", "type_name": { - "id": 1320, + "id": 1321, "node_type": 30, "src": { "line": 55, @@ -47,7 +47,7 @@ "start": 1696, "end": 1702, "length": 7, - "parent_index": 1319 + "parent_index": 1320 }, "name": "address", "state_mutability": 4, @@ -76,12 +76,12 @@ "name": "Paused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Paused_\u00261317", + "type_identifier": "t_event\u0026_Global_Paused_\u00261318", "type_string": "event Global.Paused" } }, { - "id": 1321, + "id": 1322, "node_type": 57, "src": { "line": 60, @@ -91,7 +91,7 @@ "length": 32 }, "parameters": { - "id": 1322, + "id": 1323, "node_type": 43, "src": { "line": 60, @@ -99,11 +99,11 @@ "start": 1794, "end": 1825, "length": 32, - "parent_index": 1321 + "parent_index": 1322 }, "parameters": [ { - "id": 1323, + "id": 1324, "node_type": 44, "src": { "line": 60, @@ -111,12 +111,12 @@ "start": 1809, "end": 1823, "length": 15, - "parent_index": 1322 + "parent_index": 1323 }, - "scope": 1321, + "scope": 1322, "name": "account", "type_name": { - "id": 1324, + "id": 1325, "node_type": 30, "src": { "line": 60, @@ -124,7 +124,7 @@ "start": 1809, "end": 1815, "length": 7, - "parent_index": 1323 + "parent_index": 1324 }, "name": "address", "state_mutability": 4, @@ -153,12 +153,12 @@ "name": "Unpaused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Unpaused_\u00261321", + "type_identifier": "t_event\u0026_Global_Unpaused_\u00261322", "type_string": "event Global.Unpaused" } }, { - "id": 1325, + "id": 1326, "name": "_paused", "is_constant": false, "is_state_variable": true, @@ -179,7 +179,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1326, + "id": 1327, "node_type": 30, "src": { "line": 62, @@ -187,7 +187,7 @@ "start": 1832, "end": 1835, "length": 4, - "parent_index": 1325 + "parent_index": 1326 }, "name": "bool", "referenced_declaration": 0, @@ -199,7 +199,7 @@ "initial_value": null }, { - "id": 1327, + "id": 1328, "name": "_owner", "is_constant": false, "is_state_variable": true, @@ -220,7 +220,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1328, + "id": 1329, "node_type": 30, "src": { "line": 162, @@ -228,7 +228,7 @@ "start": 4201, "end": 4207, "length": 7, - "parent_index": 1327 + "parent_index": 1328 }, "name": "address", "state_mutability": 4, @@ -241,7 +241,7 @@ "initial_value": null }, { - "id": 1329, + "id": 1330, "node_type": 57, "src": { "line": 164, @@ -251,7 +251,7 @@ "length": 84 }, "parameters": { - "id": 1330, + "id": 1331, "node_type": 43, "src": { "line": 164, @@ -259,11 +259,11 @@ "start": 4230, "end": 4313, "length": 84, - "parent_index": 1329 + "parent_index": 1330 }, "parameters": [ { - "id": 1331, + "id": 1332, "node_type": 44, "src": { "line": 164, @@ -271,12 +271,12 @@ "start": 4257, "end": 4285, "length": 29, - "parent_index": 1330 + "parent_index": 1331 }, - "scope": 1329, + "scope": 1330, "name": "previousOwner", "type_name": { - "id": 1332, + "id": 1333, "node_type": 30, "src": { "line": 164, @@ -284,7 +284,7 @@ "start": 4257, "end": 4263, "length": 7, - "parent_index": 1331 + "parent_index": 1332 }, "name": "address", "state_mutability": 4, @@ -304,7 +304,7 @@ "indexed": true }, { - "id": 1333, + "id": 1334, "node_type": 44, "src": { "line": 164, @@ -312,12 +312,12 @@ "start": 4288, "end": 4311, "length": 24, - "parent_index": 1330 + "parent_index": 1331 }, - "scope": 1329, + "scope": 1330, "name": "newOwner", "type_name": { - "id": 1334, + "id": 1335, "node_type": 30, "src": { "line": 164, @@ -325,7 +325,7 @@ "start": 4288, "end": 4294, "length": 7, - "parent_index": 1333 + "parent_index": 1334 }, "name": "address", "state_mutability": 4, @@ -359,12 +359,12 @@ "name": "OwnershipTransferred", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_OwnershipTransferred_\u00261329", + "type_identifier": "t_event\u0026_Global_OwnershipTransferred_\u00261330", "type_string": "event Global.OwnershipTransferred" } }, { - "id": 1335, + "id": 1336, "name": "oldOwner", "is_constant": true, "is_state_variable": true, @@ -385,7 +385,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1336, + "id": 1337, "node_type": 30, "src": { "line": 220, @@ -393,7 +393,7 @@ "start": 6003, "end": 6009, "length": 7, - "parent_index": 1335 + "parent_index": 1336 }, "name": "address", "state_mutability": 4, @@ -406,7 +406,7 @@ "initial_value": null }, { - "id": 1337, + "id": 1338, "node_type": 57, "src": { "line": 269, @@ -416,7 +416,7 @@ "length": 82 }, "parameters": { - "id": 1338, + "id": 1339, "node_type": 43, "src": { "line": 269, @@ -424,11 +424,11 @@ "start": 7368, "end": 7449, "length": 82, - "parent_index": 1337 + "parent_index": 1338 }, "parameters": [ { - "id": 1339, + "id": 1340, "node_type": 44, "src": { "line": 269, @@ -436,12 +436,12 @@ "start": 7383, "end": 7402, "length": 20, - "parent_index": 1338 + "parent_index": 1339 }, - "scope": 1337, + "scope": 1338, "name": "from", "type_name": { - "id": 1340, + "id": 1341, "node_type": 30, "src": { "line": 269, @@ -449,7 +449,7 @@ "start": 7383, "end": 7389, "length": 7, - "parent_index": 1339 + "parent_index": 1340 }, "name": "address", "state_mutability": 4, @@ -469,7 +469,7 @@ "indexed": true }, { - "id": 1341, + "id": 1342, "node_type": 44, "src": { "line": 269, @@ -477,12 +477,12 @@ "start": 7405, "end": 7422, "length": 18, - "parent_index": 1338 + "parent_index": 1339 }, - "scope": 1337, + "scope": 1338, "name": "to", "type_name": { - "id": 1342, + "id": 1343, "node_type": 30, "src": { "line": 269, @@ -490,7 +490,7 @@ "start": 7405, "end": 7411, "length": 7, - "parent_index": 1341 + "parent_index": 1342 }, "name": "address", "state_mutability": 4, @@ -510,7 +510,7 @@ "indexed": true }, { - "id": 1343, + "id": 1344, "node_type": 44, "src": { "line": 269, @@ -518,12 +518,12 @@ "start": 7425, "end": 7447, "length": 23, - "parent_index": 1338 + "parent_index": 1339 }, - "scope": 1337, + "scope": 1338, "name": "tokenId", "type_name": { - "id": 1344, + "id": 1345, "node_type": 30, "src": { "line": 269, @@ -531,7 +531,7 @@ "start": 7425, "end": 7431, "length": 7, - "parent_index": 1343 + "parent_index": 1344 }, "name": "uint256", "referenced_declaration": 0, @@ -568,12 +568,12 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Transfer_\u00261337", + "type_identifier": "t_event\u0026_Global_Transfer_\u00261338", "type_string": "event Global.Transfer" } }, { - "id": 1345, + "id": 1346, "node_type": 57, "src": { "line": 274, @@ -583,7 +583,7 @@ "length": 89 }, "parameters": { - "id": 1346, + "id": 1347, "node_type": 43, "src": { "line": 274, @@ -591,11 +591,11 @@ "start": 7555, "end": 7643, "length": 89, - "parent_index": 1345 + "parent_index": 1346 }, "parameters": [ { - "id": 1347, + "id": 1348, "node_type": 44, "src": { "line": 274, @@ -603,12 +603,12 @@ "start": 7570, "end": 7590, "length": 21, - "parent_index": 1346 + "parent_index": 1347 }, - "scope": 1345, + "scope": 1346, "name": "owner", "type_name": { - "id": 1348, + "id": 1349, "node_type": 30, "src": { "line": 274, @@ -616,7 +616,7 @@ "start": 7570, "end": 7576, "length": 7, - "parent_index": 1347 + "parent_index": 1348 }, "name": "address", "state_mutability": 4, @@ -636,7 +636,7 @@ "indexed": true }, { - "id": 1349, + "id": 1350, "node_type": 44, "src": { "line": 274, @@ -644,12 +644,12 @@ "start": 7593, "end": 7616, "length": 24, - "parent_index": 1346 + "parent_index": 1347 }, - "scope": 1345, + "scope": 1346, "name": "approved", "type_name": { - "id": 1350, + "id": 1351, "node_type": 30, "src": { "line": 274, @@ -657,7 +657,7 @@ "start": 7593, "end": 7599, "length": 7, - "parent_index": 1349 + "parent_index": 1350 }, "name": "address", "state_mutability": 4, @@ -677,7 +677,7 @@ "indexed": true }, { - "id": 1351, + "id": 1352, "node_type": 44, "src": { "line": 274, @@ -685,12 +685,12 @@ "start": 7619, "end": 7641, "length": 23, - "parent_index": 1346 + "parent_index": 1347 }, - "scope": 1345, + "scope": 1346, "name": "tokenId", "type_name": { - "id": 1352, + "id": 1353, "node_type": 30, "src": { "line": 274, @@ -698,7 +698,7 @@ "start": 7619, "end": 7625, "length": 7, - "parent_index": 1351 + "parent_index": 1352 }, "name": "uint256", "referenced_declaration": 0, @@ -735,12 +735,12 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Approval_\u00261345", + "type_identifier": "t_event\u0026_Global_Approval_\u00261346", "type_string": "event Global.Approval" } }, { - "id": 1353, + "id": 1354, "node_type": 57, "src": { "line": 279, @@ -750,7 +750,7 @@ "length": 85 }, "parameters": { - "id": 1354, + "id": 1355, "node_type": 43, "src": { "line": 279, @@ -758,11 +758,11 @@ "start": 7772, "end": 7856, "length": 85, - "parent_index": 1353 + "parent_index": 1354 }, "parameters": [ { - "id": 1355, + "id": 1356, "node_type": 44, "src": { "line": 279, @@ -770,12 +770,12 @@ "start": 7793, "end": 7813, "length": 21, - "parent_index": 1354 + "parent_index": 1355 }, - "scope": 1353, + "scope": 1354, "name": "owner", "type_name": { - "id": 1356, + "id": 1357, "node_type": 30, "src": { "line": 279, @@ -783,7 +783,7 @@ "start": 7793, "end": 7799, "length": 7, - "parent_index": 1355 + "parent_index": 1356 }, "name": "address", "state_mutability": 4, @@ -803,7 +803,7 @@ "indexed": true }, { - "id": 1357, + "id": 1358, "node_type": 44, "src": { "line": 279, @@ -811,12 +811,12 @@ "start": 7816, "end": 7839, "length": 24, - "parent_index": 1354 + "parent_index": 1355 }, - "scope": 1353, + "scope": 1354, "name": "operator", "type_name": { - "id": 1358, + "id": 1359, "node_type": 30, "src": { "line": 279, @@ -824,7 +824,7 @@ "start": 7816, "end": 7822, "length": 7, - "parent_index": 1357 + "parent_index": 1358 }, "name": "address", "state_mutability": 4, @@ -844,7 +844,7 @@ "indexed": true }, { - "id": 1359, + "id": 1360, "node_type": 44, "src": { "line": 279, @@ -852,12 +852,12 @@ "start": 7842, "end": 7854, "length": 13, - "parent_index": 1354 + "parent_index": 1355 }, - "scope": 1353, + "scope": 1354, "name": "approved", "type_name": { - "id": 1360, + "id": 1361, "node_type": 30, "src": { "line": 279, @@ -865,7 +865,7 @@ "start": 7842, "end": 7845, "length": 4, - "parent_index": 1359 + "parent_index": 1360 }, "name": "bool", "referenced_declaration": 0, @@ -901,12 +901,12 @@ "name": "ApprovalForAll", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_ApprovalForAll_\u00261353", + "type_identifier": "t_event\u0026_Global_ApprovalForAll_\u00261354", "type_string": "event Global.ApprovalForAll" } }, { - "id": 1361, + "id": 1362, "name": "tokenIdToOrder", "is_constant": false, "is_state_variable": true, @@ -927,7 +927,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1362, + "id": 1363, "node_type": 69, "src": { "line": 401, @@ -935,10 +935,10 @@ "start": 12046, "end": 12064, "length": 19, - "parent_index": 1361 + "parent_index": 1362 }, "path_node": { - "id": 1363, + "id": 1364, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -948,7 +948,7 @@ "start": 12046, "end": 12064, "length": 19, - "parent_index": 1362 + "parent_index": 1363 }, "name_location": { "line": 401, @@ -956,7 +956,7 @@ "start": 12046, "end": 12060, "length": 15, - "parent_index": 1362 + "parent_index": 1363 } }, "referenced_declaration": 1132, @@ -968,7 +968,7 @@ "initial_value": null }, { - "id": 1364, + "id": 1365, "name": "collection", "is_constant": false, "is_state_variable": true, @@ -989,7 +989,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1365, + "id": 1366, "node_type": 69, "src": { "line": 402, @@ -997,10 +997,10 @@ "start": 12094, "end": 12100, "length": 7, - "parent_index": 1364 + "parent_index": 1365 }, "path_node": { - "id": 1366, + "id": 1367, "name": "IERC721", "node_type": 52, "referenced_declaration": 311, @@ -1010,7 +1010,7 @@ "start": 12094, "end": 12100, "length": 7, - "parent_index": 1365 + "parent_index": 1366 }, "name_location": { "line": 402, @@ -1018,7 +1018,7 @@ "start": 12094, "end": 12100, "length": 7, - "parent_index": 1365 + "parent_index": 1366 } }, "referenced_declaration": 311, @@ -1030,7 +1030,7 @@ "initial_value": null }, { - "id": 1367, + "id": 1368, "name": "commissionRate", "is_constant": false, "is_state_variable": true, @@ -1051,7 +1051,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1368, + "id": 1369, "node_type": 30, "src": { "line": 403, @@ -1059,7 +1059,7 @@ "start": 12125, "end": 12129, "length": 5, - "parent_index": 1367 + "parent_index": 1368 }, "name": "uint8", "referenced_declaration": 0, @@ -1071,7 +1071,7 @@ "initial_value": null }, { - "id": 1369, + "id": 1370, "node_type": 57, "src": { "line": 405, @@ -1081,7 +1081,7 @@ "length": 97 }, "parameters": { - "id": 1370, + "id": 1371, "node_type": 43, "src": { "line": 405, @@ -1089,11 +1089,11 @@ "start": 12171, "end": 12267, "length": 97, - "parent_index": 1369 + "parent_index": 1370 }, "parameters": [ { - "id": 1371, + "id": 1372, "node_type": 44, "src": { "line": 405, @@ -1101,12 +1101,12 @@ "start": 12189, "end": 12211, "length": 23, - "parent_index": 1370 + "parent_index": 1371 }, - "scope": 1369, + "scope": 1370, "name": "tokenId", "type_name": { - "id": 1372, + "id": 1373, "node_type": 30, "src": { "line": 405, @@ -1114,7 +1114,7 @@ "start": 12189, "end": 12195, "length": 7, - "parent_index": 1371 + "parent_index": 1372 }, "name": "uint128", "referenced_declaration": 0, @@ -1133,7 +1133,7 @@ "indexed": true }, { - "id": 1373, + "id": 1374, "node_type": 44, "src": { "line": 405, @@ -1141,12 +1141,12 @@ "start": 12214, "end": 12227, "length": 14, - "parent_index": 1370 + "parent_index": 1371 }, - "scope": 1369, + "scope": 1370, "name": "seller", "type_name": { - "id": 1374, + "id": 1375, "node_type": 30, "src": { "line": 405, @@ -1154,7 +1154,7 @@ "start": 12214, "end": 12220, "length": 7, - "parent_index": 1373 + "parent_index": 1374 }, "name": "address", "state_mutability": 4, @@ -1173,7 +1173,7 @@ } }, { - "id": 1375, + "id": 1376, "node_type": 44, "src": { "line": 405, @@ -1181,12 +1181,12 @@ "start": 12230, "end": 12242, "length": 13, - "parent_index": 1370 + "parent_index": 1371 }, - "scope": 1369, + "scope": 1370, "name": "buyer", "type_name": { - "id": 1376, + "id": 1377, "node_type": 30, "src": { "line": 405, @@ -1194,7 +1194,7 @@ "start": 12230, "end": 12236, "length": 7, - "parent_index": 1375 + "parent_index": 1376 }, "name": "address", "state_mutability": 4, @@ -1213,7 +1213,7 @@ } }, { - "id": 1377, + "id": 1378, "node_type": 44, "src": { "line": 405, @@ -1221,12 +1221,12 @@ "start": 12245, "end": 12265, "length": 21, - "parent_index": 1370 + "parent_index": 1371 }, - "scope": 1369, + "scope": 1370, "name": "price", "type_name": { - "id": 1378, + "id": 1379, "node_type": 30, "src": { "line": 405, @@ -1234,7 +1234,7 @@ "start": 12245, "end": 12251, "length": 7, - "parent_index": 1377 + "parent_index": 1378 }, "name": "uint128", "referenced_declaration": 0, @@ -1275,12 +1275,12 @@ "name": "OrderFilled", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_OrderFilled_\u00261369", + "type_identifier": "t_event\u0026_Global_OrderFilled_\u00261370", "type_string": "event Global.OrderFilled" } }, { - "id": 1379, + "id": 1380, "name": "order", "is_constant": true, "is_state_variable": true, @@ -1301,7 +1301,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1380, + "id": 1381, "node_type": 69, "src": { "line": 414, @@ -1309,10 +1309,10 @@ "start": 12659, "end": 12679, "length": 21, - "parent_index": 1379 + "parent_index": 1380 }, "path_node": { - "id": 1381, + "id": 1382, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -1322,7 +1322,7 @@ "start": 12659, "end": 12679, "length": 21, - "parent_index": 1380 + "parent_index": 1381 }, "name_location": { "line": 414, @@ -1330,7 +1330,7 @@ "start": 12659, "end": 12673, "length": 15, - "parent_index": 1380 + "parent_index": 1381 } }, "referenced_declaration": 1132, @@ -1342,7 +1342,7 @@ "initial_value": null }, { - "id": 1382, + "id": 1383, "name": "newOrder", "is_constant": true, "is_state_variable": true, @@ -1363,7 +1363,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1383, + "id": 1384, "node_type": 69, "src": { "line": 420, @@ -1371,10 +1371,10 @@ "start": 12926, "end": 12946, "length": 21, - "parent_index": 1382 + "parent_index": 1383 }, "path_node": { - "id": 1384, + "id": 1385, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -1384,7 +1384,7 @@ "start": 12926, "end": 12946, "length": 21, - "parent_index": 1383 + "parent_index": 1384 }, "name_location": { "line": 420, @@ -1392,7 +1392,7 @@ "start": 12926, "end": 12940, "length": 15, - "parent_index": 1383 + "parent_index": 1384 } }, "referenced_declaration": 1132, @@ -1404,7 +1404,7 @@ "initial_value": null }, { - "id": 1385, + "id": 1386, "name": "order", "is_constant": true, "is_state_variable": true, @@ -1425,7 +1425,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1386, + "id": 1387, "node_type": 69, "src": { "line": 434, @@ -1433,10 +1433,10 @@ "start": 13381, "end": 13401, "length": 21, - "parent_index": 1385 + "parent_index": 1386 }, "path_node": { - "id": 1387, + "id": 1388, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -1446,7 +1446,7 @@ "start": 13381, "end": 13401, "length": 21, - "parent_index": 1386 + "parent_index": 1387 }, "name_location": { "line": 434, @@ -1454,7 +1454,7 @@ "start": 13381, "end": 13395, "length": 15, - "parent_index": 1386 + "parent_index": 1387 } }, "referenced_declaration": 1132, @@ -1466,7 +1466,7 @@ "initial_value": null }, { - "id": 1388, + "id": 1389, "name": "seller", "is_constant": true, "is_state_variable": true, @@ -1487,7 +1487,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1389, + "id": 1390, "node_type": 30, "src": { "line": 435, @@ -1495,7 +1495,7 @@ "start": 13457, "end": 13463, "length": 7, - "parent_index": 1388 + "parent_index": 1389 }, "name": "address", "state_mutability": 4, @@ -1508,7 +1508,7 @@ "initial_value": null }, { - "id": 1390, + "id": 1391, "name": "startPrice", "is_constant": true, "is_state_variable": true, @@ -1529,7 +1529,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1391, + "id": 1392, "node_type": 30, "src": { "line": 436, @@ -1537,7 +1537,7 @@ "start": 13496, "end": 13502, "length": 7, - "parent_index": 1390 + "parent_index": 1391 }, "name": "uint128", "referenced_declaration": 0, @@ -1549,7 +1549,7 @@ "initial_value": null }, { - "id": 1392, + "id": 1393, "name": "endPrice", "is_constant": true, "is_state_variable": true, @@ -1570,7 +1570,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1393, + "id": 1394, "node_type": 30, "src": { "line": 437, @@ -1578,7 +1578,7 @@ "start": 13543, "end": 13549, "length": 7, - "parent_index": 1392 + "parent_index": 1393 }, "name": "uint128", "referenced_declaration": 0, @@ -1590,7 +1590,7 @@ "initial_value": null }, { - "id": 1394, + "id": 1395, "name": "duration", "is_constant": true, "is_state_variable": true, @@ -1611,7 +1611,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1395, + "id": 1396, "node_type": 30, "src": { "line": 438, @@ -1619,7 +1619,7 @@ "start": 13586, "end": 13592, "length": 7, - "parent_index": 1394 + "parent_index": 1395 }, "name": "uint128", "referenced_declaration": 0, @@ -1631,7 +1631,7 @@ "initial_value": null }, { - "id": 1396, + "id": 1397, "name": "currentPrice", "is_constant": true, "is_state_variable": true, @@ -1652,7 +1652,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1397, + "id": 1398, "node_type": 30, "src": { "line": 443, @@ -1660,7 +1660,7 @@ "start": 13824, "end": 13830, "length": 7, - "parent_index": 1396 + "parent_index": 1397 }, "name": "uint128", "referenced_declaration": 0, @@ -1672,7 +1672,7 @@ "initial_value": null }, { - "id": 1398, + "id": 1399, "name": "elapsedTime", "is_constant": true, "is_state_variable": true, @@ -1693,7 +1693,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1399, + "id": 1400, "node_type": 30, "src": { "line": 446, @@ -1701,7 +1701,7 @@ "start": 13998, "end": 14004, "length": 7, - "parent_index": 1398 + "parent_index": 1399 }, "name": "uint128", "referenced_declaration": 0, @@ -1713,7 +1713,7 @@ "initial_value": null }, { - "id": 1400, + "id": 1401, "name": "priceDifference", "is_constant": true, "is_state_variable": true, @@ -1734,7 +1734,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1401, + "id": 1402, "node_type": 30, "src": { "line": 447, @@ -1742,7 +1742,7 @@ "start": 14075, "end": 14081, "length": 7, - "parent_index": 1400 + "parent_index": 1401 }, "name": "uint128", "referenced_declaration": 0, @@ -1754,7 +1754,7 @@ "initial_value": null }, { - "id": 1402, + "id": 1403, "name": "commission", "is_constant": true, "is_state_variable": true, @@ -1775,7 +1775,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1403, + "id": 1404, "node_type": 30, "src": { "line": 462, @@ -1783,7 +1783,7 @@ "start": 14683, "end": 14689, "length": 7, - "parent_index": 1402 + "parent_index": 1403 }, "name": "uint128", "referenced_declaration": 0, @@ -1795,7 +1795,7 @@ "initial_value": null }, { - "id": 1404, + "id": 1405, "name": "sellerProceeds", "is_constant": true, "is_state_variable": true, @@ -1816,7 +1816,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1405, + "id": 1406, "node_type": 30, "src": { "line": 463, @@ -1824,7 +1824,7 @@ "start": 14752, "end": 14758, "length": 7, - "parent_index": 1404 + "parent_index": 1405 }, "name": "uint128", "referenced_declaration": 0, @@ -1836,7 +1836,7 @@ "initial_value": null }, { - "id": 1406, + "id": 1407, "name": "order", "is_constant": true, "is_state_variable": true, @@ -1857,7 +1857,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1407, + "id": 1408, "node_type": 69, "src": { "line": 474, @@ -1865,10 +1865,10 @@ "start": 15192, "end": 15212, "length": 21, - "parent_index": 1406 + "parent_index": 1407 }, "path_node": { - "id": 1408, + "id": 1409, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -1878,7 +1878,7 @@ "start": 15192, "end": 15212, "length": 21, - "parent_index": 1407 + "parent_index": 1408 }, "name_location": { "line": 474, @@ -1886,7 +1886,7 @@ "start": 15192, "end": 15206, "length": 15, - "parent_index": 1407 + "parent_index": 1408 } }, "referenced_declaration": 1132, @@ -1898,7 +1898,7 @@ "initial_value": null }, { - "id": 1409, + "id": 1410, "name": "order", "is_constant": true, "is_state_variable": true, @@ -1919,7 +1919,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1410, + "id": 1411, "node_type": 69, "src": { "line": 482, @@ -1927,10 +1927,10 @@ "start": 15640, "end": 15660, "length": 21, - "parent_index": 1409 + "parent_index": 1410 }, "path_node": { - "id": 1411, + "id": 1412, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -1940,7 +1940,7 @@ "start": 15640, "end": 15660, "length": 21, - "parent_index": 1410 + "parent_index": 1411 }, "name_location": { "line": 482, @@ -1948,7 +1948,7 @@ "start": 15640, "end": 15654, "length": 15, - "parent_index": 1410 + "parent_index": 1411 } }, "referenced_declaration": 1132, @@ -1960,7 +1960,7 @@ "initial_value": null }, { - "id": 1412, + "id": 1413, "name": "totalOrders", "is_constant": true, "is_state_variable": true, @@ -1981,7 +1981,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1413, + "id": 1414, "node_type": 30, "src": { "line": 493, @@ -1989,7 +1989,7 @@ "start": 16051, "end": 16056, "length": 6, - "parent_index": 1412 + "parent_index": 1413 }, "name": "uint32", "referenced_declaration": 0, @@ -2001,7 +2001,7 @@ "initial_value": null }, { - "id": 1414, + "id": 1415, "name": "i", "is_constant": true, "is_state_variable": true, @@ -2022,7 +2022,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1415, + "id": 1416, "node_type": 30, "src": { "line": 494, @@ -2030,7 +2030,7 @@ "start": 16108, "end": 16113, "length": 6, - "parent_index": 1414 + "parent_index": 1415 }, "name": "uint32", "referenced_declaration": 0, @@ -2042,7 +2042,7 @@ "initial_value": null }, { - "id": 1416, + "id": 1417, "name": "tokenId", "is_constant": true, "is_state_variable": true, @@ -2063,7 +2063,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1417, + "id": 1418, "node_type": 30, "src": { "line": 495, @@ -2071,7 +2071,7 @@ "start": 16158, "end": 16164, "length": 7, - "parent_index": 1416 + "parent_index": 1417 }, "name": "uint128", "referenced_declaration": 0, @@ -2083,7 +2083,7 @@ "initial_value": null }, { - "id": 1418, + "id": 1419, "name": "order", "is_constant": true, "is_state_variable": true, @@ -2104,7 +2104,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1419, + "id": 1420, "node_type": 69, "src": { "line": 496, @@ -2112,10 +2112,10 @@ "start": 16221, "end": 16241, "length": 21, - "parent_index": 1418 + "parent_index": 1419 }, "path_node": { - "id": 1420, + "id": 1421, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -2125,7 +2125,7 @@ "start": 16221, "end": 16241, "length": 21, - "parent_index": 1419 + "parent_index": 1420 }, "name_location": { "line": 496, @@ -2133,7 +2133,7 @@ "start": 16221, "end": 16235, "length": 15, - "parent_index": 1419 + "parent_index": 1420 } }, "referenced_declaration": 1132, @@ -2145,7 +2145,7 @@ "initial_value": null }, { - "id": 1421, + "id": 1422, "name": "totalOrders", "is_constant": true, "is_state_variable": true, @@ -2166,7 +2166,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1422, + "id": 1423, "node_type": 30, "src": { "line": 505, @@ -2174,7 +2174,7 @@ "start": 16497, "end": 16502, "length": 6, - "parent_index": 1421 + "parent_index": 1422 }, "name": "uint32", "referenced_declaration": 0, @@ -2186,7 +2186,7 @@ "initial_value": null }, { - "id": 1423, + "id": 1424, "name": "i", "is_constant": true, "is_state_variable": true, @@ -2207,7 +2207,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1424, + "id": 1425, "node_type": 30, "src": { "line": 506, @@ -2215,7 +2215,7 @@ "start": 16554, "end": 16559, "length": 6, - "parent_index": 1423 + "parent_index": 1424 }, "name": "uint32", "referenced_declaration": 0, @@ -2227,7 +2227,7 @@ "initial_value": null }, { - "id": 1425, + "id": 1426, "name": "tokenId", "is_constant": true, "is_state_variable": true, @@ -2248,7 +2248,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1426, + "id": 1427, "node_type": 30, "src": { "line": 507, @@ -2256,7 +2256,7 @@ "start": 16604, "end": 16610, "length": 7, - "parent_index": 1425 + "parent_index": 1426 }, "name": "uint128", "referenced_declaration": 0, @@ -2268,7 +2268,7 @@ "initial_value": null }, { - "id": 1427, + "id": 1428, "name": "totalOrders", "is_constant": true, "is_state_variable": true, @@ -2289,7 +2289,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1428, + "id": 1429, "node_type": 30, "src": { "line": 513, @@ -2297,7 +2297,7 @@ "start": 16806, "end": 16811, "length": 6, - "parent_index": 1427 + "parent_index": 1428 }, "name": "uint32", "referenced_declaration": 0, @@ -2309,7 +2309,7 @@ "initial_value": null }, { - "id": 1429, + "id": 1430, "name": "ordersArray", "is_constant": true, "is_state_variable": true, @@ -2330,7 +2330,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1430, + "id": 1431, "node_type": 69, "src": { "line": 514, @@ -2338,11 +2338,11 @@ "start": 16858, "end": 16878, "length": 21, - "parent_index": 1429 + "parent_index": 1430 }, "name": "IterableMapping.Order", "path_node": { - "id": 1431, + "id": 1432, "name": "IterableMapping.Order", "node_type": 52, "referenced_declaration": 1141, @@ -2352,7 +2352,7 @@ "start": 16858, "end": 16878, "length": 21, - "parent_index": 1430 + "parent_index": 1431 } }, "referenced_declaration": 1141, @@ -2364,7 +2364,7 @@ "initial_value": null }, { - "id": 1432, + "id": 1433, "name": "validOrdersIndex", "is_constant": true, "is_state_variable": true, @@ -2385,7 +2385,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1433, + "id": 1434, "node_type": 30, "src": { "line": 515, @@ -2393,7 +2393,7 @@ "start": 16953, "end": 16958, "length": 6, - "parent_index": 1432 + "parent_index": 1433 }, "name": "uint32", "referenced_declaration": 0, @@ -2405,7 +2405,7 @@ "initial_value": null }, { - "id": 1434, + "id": 1435, "name": "i", "is_constant": true, "is_state_variable": true, @@ -2426,7 +2426,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1435, + "id": 1436, "node_type": 30, "src": { "line": 516, @@ -2434,7 +2434,7 @@ "start": 16995, "end": 17000, "length": 6, - "parent_index": 1434 + "parent_index": 1435 }, "name": "uint32", "referenced_declaration": 0, @@ -2446,7 +2446,7 @@ "initial_value": null }, { - "id": 1436, + "id": 1437, "name": "tokenId", "is_constant": true, "is_state_variable": true, @@ -2467,7 +2467,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1437, + "id": 1438, "node_type": 30, "src": { "line": 517, @@ -2475,7 +2475,7 @@ "start": 17045, "end": 17051, "length": 7, - "parent_index": 1436 + "parent_index": 1437 }, "name": "uint128", "referenced_declaration": 0, @@ -2487,7 +2487,7 @@ "initial_value": null }, { - "id": 1438, + "id": 1439, "name": "order", "is_constant": true, "is_state_variable": true, @@ -2508,7 +2508,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1439, + "id": 1440, "node_type": 69, "src": { "line": 518, @@ -2516,10 +2516,10 @@ "start": 17108, "end": 17128, "length": 21, - "parent_index": 1438 + "parent_index": 1439 }, "path_node": { - "id": 1440, + "id": 1441, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -2529,7 +2529,7 @@ "start": 17108, "end": 17128, "length": 21, - "parent_index": 1439 + "parent_index": 1440 }, "name_location": { "line": 518, @@ -2537,7 +2537,7 @@ "start": 17108, "end": 17122, "length": 15, - "parent_index": 1439 + "parent_index": 1440 } }, "referenced_declaration": 1132, @@ -2549,7 +2549,7 @@ "initial_value": null }, { - "id": 1441, + "id": 1442, "name": "totalOrders", "is_constant": true, "is_state_variable": true, @@ -2570,7 +2570,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1442, + "id": 1443, "node_type": 30, "src": { "line": 531, @@ -2578,7 +2578,7 @@ "start": 17584, "end": 17589, "length": 6, - "parent_index": 1441 + "parent_index": 1442 }, "name": "uint32", "referenced_declaration": 0, @@ -2590,7 +2590,7 @@ "initial_value": null }, { - "id": 1443, + "id": 1444, "name": "sellerOrders", "is_constant": true, "is_state_variable": true, @@ -2611,7 +2611,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1444, + "id": 1445, "node_type": 69, "src": { "line": 532, @@ -2619,11 +2619,11 @@ "start": 17636, "end": 17656, "length": 21, - "parent_index": 1443 + "parent_index": 1444 }, "name": "IterableMapping.Order", "path_node": { - "id": 1445, + "id": 1446, "name": "IterableMapping.Order", "node_type": 52, "referenced_declaration": 1141, @@ -2633,7 +2633,7 @@ "start": 17636, "end": 17656, "length": 21, - "parent_index": 1444 + "parent_index": 1445 } }, "referenced_declaration": 1141, @@ -2645,7 +2645,7 @@ "initial_value": null }, { - "id": 1446, + "id": 1447, "name": "validOrdersIndex", "is_constant": true, "is_state_variable": true, @@ -2666,7 +2666,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1447, + "id": 1448, "node_type": 30, "src": { "line": 533, @@ -2674,7 +2674,7 @@ "start": 17732, "end": 17737, "length": 6, - "parent_index": 1446 + "parent_index": 1447 }, "name": "uint32", "referenced_declaration": 0, @@ -2686,7 +2686,7 @@ "initial_value": null }, { - "id": 1448, + "id": 1449, "name": "i", "is_constant": true, "is_state_variable": true, @@ -2707,7 +2707,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1449, + "id": 1450, "node_type": 30, "src": { "line": 534, @@ -2715,7 +2715,7 @@ "start": 17774, "end": 17779, "length": 6, - "parent_index": 1448 + "parent_index": 1449 }, "name": "uint32", "referenced_declaration": 0, @@ -2727,7 +2727,7 @@ "initial_value": null }, { - "id": 1450, + "id": 1451, "name": "tokenId", "is_constant": true, "is_state_variable": true, @@ -2748,7 +2748,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1451, + "id": 1452, "node_type": 30, "src": { "line": 535, @@ -2756,7 +2756,7 @@ "start": 17824, "end": 17830, "length": 7, - "parent_index": 1450 + "parent_index": 1451 }, "name": "uint128", "referenced_declaration": 0, @@ -2768,7 +2768,7 @@ "initial_value": null }, { - "id": 1452, + "id": 1453, "name": "order", "is_constant": true, "is_state_variable": true, @@ -2789,7 +2789,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1453, + "id": 1454, "node_type": 69, "src": { "line": 536, @@ -2797,10 +2797,10 @@ "start": 17887, "end": 17907, "length": 21, - "parent_index": 1452 + "parent_index": 1453 }, "path_node": { - "id": 1454, + "id": 1455, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -2810,7 +2810,7 @@ "start": 17887, "end": 17907, "length": 21, - "parent_index": 1453 + "parent_index": 1454 }, "name_location": { "line": 536, @@ -2818,7 +2818,7 @@ "start": 17887, "end": 17901, "length": 15, - "parent_index": 1453 + "parent_index": 1454 } }, "referenced_declaration": 1132, @@ -2830,7 +2830,7 @@ "initial_value": null }, { - "id": 1455, + "id": 1456, "name": "order", "is_constant": true, "is_state_variable": true, @@ -2851,7 +2851,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1456, + "id": 1457, "node_type": 69, "src": { "line": 550, @@ -2859,10 +2859,10 @@ "start": 18390, "end": 18410, "length": 21, - "parent_index": 1455 + "parent_index": 1456 }, "path_node": { - "id": 1457, + "id": 1458, "name": "IterableMapping", "node_type": 52, "referenced_declaration": 1132, @@ -2872,7 +2872,7 @@ "start": 18390, "end": 18410, "length": 21, - "parent_index": 1456 + "parent_index": 1457 }, "name_location": { "line": 550, @@ -2880,7 +2880,7 @@ "start": 18390, "end": 18404, "length": 15, - "parent_index": 1456 + "parent_index": 1457 } }, "referenced_declaration": 1132, @@ -2892,7 +2892,7 @@ "initial_value": null }, { - "id": 1458, + "id": 1459, "name": "balance", "is_constant": true, "is_state_variable": true, @@ -2913,7 +2913,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1459, + "id": 1460, "node_type": 30, "src": { "line": 563, @@ -2921,7 +2921,7 @@ "start": 18817, "end": 18823, "length": 7, - "parent_index": 1458 + "parent_index": 1459 }, "name": "uint256", "referenced_declaration": 0, @@ -2933,7 +2933,7 @@ "initial_value": null }, { - "id": 1460, + "id": 1461, "node_type": 67, "src": { "line": 580, @@ -2949,16 +2949,16 @@ "start": 19147, "end": 19151, "length": 5, - "parent_index": 1460 + "parent_index": 1461 }, "canonical_name": "Global.Order", "type_description": { - "type_identifier": "t_struct$_Global_Order_$1460", + "type_identifier": "t_struct$_Global_Order_$1461", "type_string": "struct Global.Order" }, "members": [ { - "id": 1461, + "id": 1462, "node_type": 44, "src": { "line": 581, @@ -2966,11 +2966,11 @@ "start": 19163, "end": 19177, "length": 15, - "parent_index": 1460 + "parent_index": 1461 }, "name": "seller", "type_name": { - "id": 1462, + "id": 1463, "node_type": 30, "src": { "line": 581, @@ -2978,7 +2978,7 @@ "start": 19163, "end": 19169, "length": 7, - "parent_index": 1461 + "parent_index": 1462 }, "name": "address", "state_mutability": 4, @@ -2996,7 +2996,7 @@ } }, { - "id": 1463, + "id": 1464, "node_type": 44, "src": { "line": 582, @@ -3004,11 +3004,11 @@ "start": 19187, "end": 19202, "length": 16, - "parent_index": 1460 + "parent_index": 1461 }, "name": "tokenId", "type_name": { - "id": 1464, + "id": 1465, "node_type": 30, "src": { "line": 582, @@ -3016,7 +3016,7 @@ "start": 19187, "end": 19193, "length": 7, - "parent_index": 1463 + "parent_index": 1464 }, "name": "uint128", "referenced_declaration": 0, @@ -3033,7 +3033,7 @@ } }, { - "id": 1465, + "id": 1466, "node_type": 44, "src": { "line": 583, @@ -3041,11 +3041,11 @@ "start": 19212, "end": 19230, "length": 19, - "parent_index": 1460 + "parent_index": 1461 }, "name": "startPrice", "type_name": { - "id": 1466, + "id": 1467, "node_type": 30, "src": { "line": 583, @@ -3053,7 +3053,7 @@ "start": 19212, "end": 19218, "length": 7, - "parent_index": 1465 + "parent_index": 1466 }, "name": "uint128", "referenced_declaration": 0, @@ -3070,7 +3070,7 @@ } }, { - "id": 1467, + "id": 1468, "node_type": 44, "src": { "line": 584, @@ -3078,11 +3078,11 @@ "start": 19240, "end": 19256, "length": 17, - "parent_index": 1460 + "parent_index": 1461 }, "name": "endPrice", "type_name": { - "id": 1468, + "id": 1469, "node_type": 30, "src": { "line": 584, @@ -3090,7 +3090,7 @@ "start": 19240, "end": 19246, "length": 7, - "parent_index": 1467 + "parent_index": 1468 }, "name": "uint128", "referenced_declaration": 0, @@ -3107,7 +3107,7 @@ } }, { - "id": 1469, + "id": 1470, "node_type": 44, "src": { "line": 585, @@ -3115,11 +3115,11 @@ "start": 19266, "end": 19281, "length": 16, - "parent_index": 1460 + "parent_index": 1461 }, "name": "duration", "type_name": { - "id": 1470, + "id": 1471, "node_type": 30, "src": { "line": 585, @@ -3127,7 +3127,7 @@ "start": 19266, "end": 19271, "length": 6, - "parent_index": 1469 + "parent_index": 1470 }, "name": "uint32", "referenced_declaration": 0, @@ -3144,7 +3144,7 @@ } }, { - "id": 1471, + "id": 1472, "node_type": 44, "src": { "line": 586, @@ -3152,11 +3152,11 @@ "start": 19291, "end": 19307, "length": 17, - "parent_index": 1460 + "parent_index": 1461 }, "name": "startTime", "type_name": { - "id": 1472, + "id": 1473, "node_type": 30, "src": { "line": 586, @@ -3164,7 +3164,7 @@ "start": 19291, "end": 19296, "length": 6, - "parent_index": 1471 + "parent_index": 1472 }, "name": "uint32", "referenced_declaration": 0, @@ -3185,7 +3185,7 @@ "storage_location": 1 }, { - "id": 1473, + "id": 1474, "node_type": 67, "src": { "line": 590, @@ -3201,16 +3201,16 @@ "start": 19373, "end": 19375, "length": 3, - "parent_index": 1473 + "parent_index": 1474 }, "canonical_name": "Global.Map", "type_description": { - "type_identifier": "t_struct$_Global_Map_$1473", + "type_identifier": "t_struct$_Global_Map_$1474", "type_string": "struct Global.Map" }, "members": [ { - "id": 1474, + "id": 1475, "node_type": 44, "src": { "line": 591, @@ -3218,11 +3218,11 @@ "start": 19387, "end": 19401, "length": 15, - "parent_index": 1473 + "parent_index": 1474 }, "name": "keys", "type_name": { - "id": 1475, + "id": 1476, "node_type": 16, "src": { "line": 591, @@ -3230,7 +3230,7 @@ "start": 19387, "end": 19393, "length": 7, - "parent_index": 1474 + "parent_index": 1475 }, "name": "uint128", "referenced_declaration": 0, @@ -3247,7 +3247,7 @@ } }, { - "id": 1476, + "id": 1477, "node_type": 44, "src": { "line": 592, @@ -3255,22 +3255,22 @@ "start": 19411, "end": 19443, "length": 33, - "parent_index": 1473 + "parent_index": 1474 }, "name": "values", "type_name": { - "id": 1477, - "node_type": 0, + "id": 1478, + "node_type": 69, "src": { "line": 592, "column": 8, "start": 19411, "end": 19435, "length": 25, - "parent_index": 1476 + "parent_index": 1477 }, "key_type": { - "id": 1478, + "id": 1479, "node_type": 30, "src": { "line": 592, @@ -3278,7 +3278,7 @@ "start": 19419, "end": 19425, "length": 7, - "parent_index": 1477 + "parent_index": 1478 }, "name": "uint128", "referenced_declaration": 0, @@ -3293,24 +3293,24 @@ "start": 19419, "end": 19425, "length": 7, - "parent_index": 1477 + "parent_index": 1478 }, "value_type": { - "id": 1479, - "node_type": 30, + "id": 1480, + "node_type": 69, "src": { "line": 592, "column": 27, "start": 19430, "end": 19434, "length": 5, - "parent_index": 1477 + "parent_index": 1478 }, "name": "Order", - "referenced_declaration": 0, + "referenced_declaration": 1461, "type_description": { - "type_identifier": "t_Order", - "type_string": "Order" + "type_identifier": "t_struct$_Global_Order_$1461", + "type_string": "struct Global.Order" } }, "value_name_location": { @@ -3319,23 +3319,45 @@ "start": 19430, "end": 19434, "length": 5, - "parent_index": 1477 + "parent_index": 1478 }, - "referenced_declaration": 0, + "path_node": { + "id": 1481, + "name": "Order", + "node_type": 52, + "referenced_declaration": 1461, + "src": { + "line": 592, + "column": 27, + "start": 19430, + "end": 19434, + "length": 5, + "parent_index": 1478 + }, + "name_location": { + "line": 592, + "column": 27, + "start": 19430, + "end": 19434, + "length": 5, + "parent_index": 1478 + } + }, + "referenced_declaration": 1461, "type_description": { - "type_identifier": "t_mapping_$t_uint128_$t_Order$", + "type_identifier": "t_mapping_$t_uint128_$t_struct$_Global_Order_$1461$", "type_string": "mapping(uint128=\u003eOrder)" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_mapping_$t_uint128_$t_Order$", + "type_identifier": "t_mapping_$t_uint128_$t_struct$_Global_Order_$1461$", "type_string": "mapping(uint128=\u003eOrder)" } }, { - "id": 1480, + "id": 1482, "node_type": 44, "src": { "line": 593, @@ -3343,22 +3365,22 @@ "start": 19453, "end": 19487, "length": 35, - "parent_index": 1473 + "parent_index": 1474 }, "name": "indexOf", "type_name": { - "id": 1481, - "node_type": 0, + "id": 1483, + "node_type": 53, "src": { "line": 593, "column": 8, "start": 19453, "end": 19478, "length": 26, - "parent_index": 1480 + "parent_index": 1482 }, "key_type": { - "id": 1482, + "id": 1484, "node_type": 30, "src": { "line": 593, @@ -3366,7 +3388,7 @@ "start": 19461, "end": 19467, "length": 7, - "parent_index": 1481 + "parent_index": 1483 }, "name": "uint128", "referenced_declaration": 0, @@ -3381,10 +3403,10 @@ "start": 19461, "end": 19467, "length": 7, - "parent_index": 1481 + "parent_index": 1483 }, "value_type": { - "id": 1483, + "id": 1485, "node_type": 30, "src": { "line": 593, @@ -3392,7 +3414,7 @@ "start": 19472, "end": 19477, "length": 6, - "parent_index": 1481 + "parent_index": 1483 }, "name": "uint32", "referenced_declaration": 0, @@ -3407,7 +3429,7 @@ "start": 19472, "end": 19477, "length": 6, - "parent_index": 1481 + "parent_index": 1483 }, "referenced_declaration": 0, "type_description": { @@ -3423,7 +3445,7 @@ } }, { - "id": 1484, + "id": 1486, "node_type": 44, "src": { "line": 594, @@ -3431,22 +3453,22 @@ "start": 19497, "end": 19530, "length": 34, - "parent_index": 1473 + "parent_index": 1474 }, "name": "inserted", "type_name": { - "id": 1485, - "node_type": 0, + "id": 1487, + "node_type": 53, "src": { "line": 594, "column": 8, "start": 19497, "end": 19520, "length": 24, - "parent_index": 1484 + "parent_index": 1486 }, "key_type": { - "id": 1486, + "id": 1488, "node_type": 30, "src": { "line": 594, @@ -3454,7 +3476,7 @@ "start": 19505, "end": 19511, "length": 7, - "parent_index": 1485 + "parent_index": 1487 }, "name": "uint128", "referenced_declaration": 0, @@ -3469,10 +3491,10 @@ "start": 19505, "end": 19511, "length": 7, - "parent_index": 1485 + "parent_index": 1487 }, "value_type": { - "id": 1487, + "id": 1489, "node_type": 30, "src": { "line": 594, @@ -3480,7 +3502,7 @@ "start": 19516, "end": 19519, "length": 4, - "parent_index": 1485 + "parent_index": 1487 }, "name": "bool", "referenced_declaration": 0, @@ -3495,7 +3517,7 @@ "start": 19516, "end": 19519, "length": 4, - "parent_index": 1485 + "parent_index": 1487 }, "referenced_declaration": 0, "type_description": { @@ -3515,7 +3537,7 @@ "storage_location": 1 }, { - "id": 1488, + "id": 1490, "name": "index", "is_constant": true, "is_state_variable": true, @@ -3536,7 +3558,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1489, + "id": 1491, "node_type": 30, "src": { "line": 627, @@ -3544,7 +3566,7 @@ "start": 20450, "end": 20455, "length": 6, - "parent_index": 1488 + "parent_index": 1490 }, "name": "uint32", "referenced_declaration": 0, @@ -3556,7 +3578,7 @@ "initial_value": null }, { - "id": 1490, + "id": 1492, "name": "lastKey", "is_constant": true, "is_state_variable": true, @@ -3577,7 +3599,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1491, + "id": 1493, "node_type": 30, "src": { "line": 628, @@ -3585,7 +3607,7 @@ "start": 20491, "end": 20497, "length": 7, - "parent_index": 1490 + "parent_index": 1492 }, "name": "uint128", "referenced_declaration": 0, @@ -3749,14 +3771,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -3893,7 +3917,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 71, @@ -3983,14 +4008,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -4125,7 +4152,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -4537,7 +4565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 109, @@ -4559,7 +4588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -4569,7 +4599,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] } @@ -4656,7 +4687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireNotPaused" }, "type_description": { "type_identifier": "t_function_$", @@ -4681,7 +4713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -4768,7 +4801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requirePaused" }, "type_description": { "type_identifier": "t_function_$", @@ -4793,7 +4827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -4863,7 +4898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "_paused" } } ] @@ -4998,7 +5034,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { "id": 136, @@ -5108,7 +5145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -5146,7 +5184,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { @@ -5167,7 +5206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -5216,7 +5256,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requireNotPaused()internalviewvirtual{require(!paused(),\"Pausable: paused\");}" }, { "id": 147, @@ -5308,7 +5349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -5341,7 +5383,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { @@ -5362,7 +5405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -5411,7 +5455,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requirePaused()internalviewvirtual{require(paused(),\"Pausable: not paused\");}" }, { "id": 157, @@ -5489,7 +5534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 166, @@ -5511,7 +5557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -5521,7 +5568,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { "id": 167, @@ -5567,7 +5615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5593,7 +5642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 89, - "is_pure": false + "is_pure": false, + "text": "Paused" } } ] @@ -5668,7 +5718,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { "id": 172, @@ -5746,7 +5797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 181, @@ -5768,7 +5820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -5778,7 +5831,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { "id": 182, @@ -5824,7 +5878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5850,7 +5905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 94, - "is_pure": false + "is_pure": false, + "text": "Unpaused" } } ] @@ -5925,7 +5981,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" } ], "linearized_base_contracts": [ @@ -6346,7 +6403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -6372,7 +6430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6464,7 +6523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -6489,7 +6549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -6559,7 +6620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -6696,7 +6758,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 231, @@ -6802,7 +6865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -6841,7 +6905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -6879,7 +6944,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -6900,7 +6966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6949,7 +7016,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 244, @@ -7044,7 +7112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7090,7 +7159,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7116,7 +7186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -7195,7 +7266,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 257, @@ -7287,7 +7359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 269, @@ -7328,7 +7401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7374,7 +7448,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7412,7 +7487,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -7433,7 +7509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7477,7 +7554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 276, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -7498,7 +7576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7623,7 +7702,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 278, @@ -7739,7 +7819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -7783,7 +7864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 291, @@ -7803,7 +7885,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 291, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -7813,7 +7896,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 292, @@ -7845,7 +7929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 284, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 294, @@ -7865,7 +7950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -7886,7 +7972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 197, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -7977,7 +8064,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ @@ -8255,7 +8343,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" } ], "linearized_base_contracts": [ @@ -9039,7 +9128,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint256balance);" }, { "id": 357, @@ -9208,7 +9298,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)externalviewreturns(addressowner);" }, { "id": 366, @@ -9456,13 +9547,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytescalldatadata)external;" }, { "id": 379, @@ -9667,13 +9759,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 390, @@ -9878,13 +9971,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 401, @@ -10045,13 +10139,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)external;" }, { "id": 410, @@ -10212,13 +10307,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,boolapproved)external;" }, { "id": 419, @@ -10387,7 +10483,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)externalviewreturns(addressoperator);" }, { "id": 428, @@ -10594,13 +10691,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 317, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)externalviewreturns(bool);" } ], "linearized_base_contracts": [ @@ -11411,7 +11509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 464, - "is_pure": false + "is_pure": false, + "text": "commissionRate" }, "right_expression": { "id": 489, @@ -11431,7 +11530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "_commissionRate" }, "type_description": { "type_identifier": "t_uint8", @@ -11441,7 +11541,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "commissionRate=_commissionRate;" }, { "id": 490, @@ -11484,7 +11585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "collection" }, "right_expression": { "id": 493, @@ -11523,7 +11625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 495, - "is_pure": false + "is_pure": false, + "text": "_collection" } ], "expression": { @@ -11544,7 +11647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC721" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -11559,7 +11663,8 @@ "type_description": { "type_identifier": "t_contract$_IERC721_$311", "type_string": "contract IERC721" - } + }, + "text": "collection=IERC721(_collection);" } ] } @@ -11686,14 +11791,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 516, @@ -11732,7 +11839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -11778,7 +11886,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -11827,14 +11936,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "collection" }, "member_name": "isApprovedForAll", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721_$311", "type_string": "contract IERC721" - } + }, + "text": "collection.isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", @@ -11867,7 +11978,8 @@ "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", "type_string": "function(address,function(address))" } - ] + ], + "text": "\"Not approved for ERC721 token transfer\"" } ], "expression": { @@ -11888,7 +12000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_address$_t_string_literal$", @@ -12013,7 +12126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 528, - "is_pure": false + "is_pure": false, + "text": "_tokenId" } ], "expression": { @@ -12056,8 +12170,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "get", "argument_types": [], @@ -12065,7 +12180,8 @@ "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.get" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -12138,8 +12254,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "seller", "argument_types": [], @@ -12147,7 +12264,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "order.seller" }, "right_expression": { "id": 533, @@ -12190,14 +12308,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -12257,7 +12377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"Order already exist\"" } ], "expression": { @@ -12278,7 +12399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -12498,13 +12620,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "createOrder(uint128, uint128, uint128, uint32)", - "signature": "1ee39565", + "signature_raw": "createOrder(uint128,uint128,uint128,uint32)", + "signature": "c4ff1fa9", "scope": 445, "type_description": { "type_identifier": "t_function_$_t_uint128$_t_uint128$_t_uint128$_t_uint32$", "type_string": "function(uint128,uint128,uint128,uint32)" - } + }, + "text": "functioncreateOrder(uint128_tokenId,uint128_startPrice,uint128_endPrice,uint32_duration)external{require(collection.isApprovedForAll(msg.sender,address(this)),\"Not approved for ERC721 token transfer\");IterableMapping.Ordermemoryorder=tokenIdToOrder.get(_tokenId);if(order.seller==msg.sender){revert(\"Order already exist\");}else{require(collection.ownerOf(_tokenId)==msg.sender,\"Seller not owner\");IterableMapping.OrdermemorynewOrder=IterableMapping.Order({seller:msg.sender,tokenId:_tokenId,startPrice:_startPrice,endPrice:_endPrice,duration:_duration,startTime:uint32(block.timestamp)});tokenIdToOrder.set(_tokenId,newOrder);}}" }, { "id": 540, @@ -12659,7 +12782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 553, - "is_pure": false + "is_pure": false, + "text": "_tokenId" } ], "expression": { @@ -12702,16 +12826,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "get", "argument_types": [], - "referenced_declaration": 710, + "referenced_declaration": 526, "type_description": { - "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "type_string": "function(struct IterableMapping.Map,uint128)" - } + "type_identifier": "t_contract$_IterableMapping_$1132", + "type_string": "contract IterableMapping" + }, + "text": "tokenIdToOrder.get" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -12820,8 +12946,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "seller", "argument_types": [], @@ -12829,7 +12956,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "order.seller" } }, { @@ -12932,16 +13060,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "startPrice", "argument_types": [], - "referenced_declaration": 1390, + "referenced_declaration": 1391, "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "order.startPrice" } }, { @@ -13044,16 +13174,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "endPrice", "argument_types": [], - "referenced_declaration": 1392, + "referenced_declaration": 1393, "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "order.endPrice" } }, { @@ -13156,16 +13288,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "duration", "argument_types": [], - "referenced_declaration": 1394, + "referenced_declaration": 1395, "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "order.duration" } }, { @@ -13264,8 +13398,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "tokenId", "argument_types": [], @@ -13273,7 +13408,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "order.tokenId" } ], "expression": { @@ -13317,14 +13453,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "collection" }, "member_name": "ownerOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721_$311", "type_string": "contract IERC721" - } + }, + "text": "collection.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -13349,7 +13487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 554, - "is_pure": false + "is_pure": false, + "text": "seller" }, "type_description": { "type_identifier": "t_bool", @@ -13382,7 +13521,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Seller not owner\"" } ], "expression": { @@ -13403,7 +13543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13474,7 +13615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 554, - "is_pure": false + "is_pure": false, + "text": "seller" }, { "id": 590, @@ -13513,7 +13655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -13559,7 +13702,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13608,14 +13752,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "collection" }, "member_name": "isApprovedForAll", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721_$311", "type_string": "contract IERC721" - } + }, + "text": "collection.isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", @@ -13648,7 +13794,8 @@ "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", "type_string": "function(address,function(address))" } - ] + ], + "text": "\"Not approved for ERC721 token transfer\"" } ], "expression": { @@ -13669,7 +13816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_address$_t_string_literal$", @@ -13803,14 +13951,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { "id": 602, @@ -13880,16 +14030,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "startTime", "argument_types": [], - "referenced_declaration": 1460, + "referenced_declaration": 1461, "type_description": { - "type_identifier": "t_struct$_Global_Order_$1460", + "type_identifier": "t_struct$_Global_Order_$1461", "type_string": "struct Global.Order" - } + }, + "text": "order.startTime" }, "right_expression": { "id": 606, @@ -13909,10 +14061,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 569, - "is_pure": false + "is_pure": false, + "text": "duration" }, "type_description": { - "type_identifier": "t_struct$_Global_Order_$1460", + "type_identifier": "t_struct$_Global_Order_$1461", "type_string": "struct Global.Order" } } @@ -14075,14 +14228,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -14127,7 +14282,8 @@ "type_identifier": "t_uint32", "type_string": "uint32" } - ] + ], + "text": "uint32" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -14174,16 +14330,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "startTime", "argument_types": [], - "referenced_declaration": 1460, + "referenced_declaration": 1461, "type_description": { - "type_identifier": "t_struct$_Global_Order_$1460", + "type_identifier": "t_struct$_Global_Order_$1461", "type_string": "struct Global.Order" - } + }, + "text": "order.startTime" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -14295,7 +14453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 564, - "is_pure": false + "is_pure": false, + "text": "endPrice" }, "right_expression": { "id": 625, @@ -14315,7 +14474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 559, - "is_pure": false + "is_pure": false, + "text": "startPrice" }, "type_description": { "type_identifier": "t_bool", @@ -14377,7 +14537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 619, - "is_pure": false + "is_pure": false, + "text": "priceDifference" }, "right_expression": { "id": 630, @@ -14411,7 +14572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 564, - "is_pure": false + "is_pure": false, + "text": "endPrice" }, "right_expression": { "id": 632, @@ -14431,7 +14593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 559, - "is_pure": false + "is_pure": false, + "text": "startPrice" }, "type_description": { "type_identifier": "t_uint128", @@ -14446,7 +14609,8 @@ "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "priceDifference=endPrice-startPrice;" }, { "id": 633, @@ -14489,7 +14653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 595, - "is_pure": false + "is_pure": false, + "text": "currentPrice" }, "right_expression": { "id": 636, @@ -14523,7 +14688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 559, - "is_pure": false + "is_pure": false, + "text": "startPrice" }, "right_expression": { "id": 638, @@ -14585,7 +14751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 608, - "is_pure": false + "is_pure": false, + "text": "elapsedTime" }, "right_expression": { "id": 642, @@ -14605,7 +14772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 619, - "is_pure": false + "is_pure": false, + "text": "priceDifference" }, "type_description": { "type_identifier": "t_uint128", @@ -14630,7 +14798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 569, - "is_pure": false + "is_pure": false, + "text": "duration" }, "type_description": { "type_identifier": "t_uint128", @@ -14656,7 +14825,8 @@ "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "currentPrice=startPrice+(elapsedTime*priceDifference/duration);" } ] } @@ -14742,14 +14912,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { "id": 649, @@ -14769,7 +14941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 595, - "is_pure": false + "is_pure": false, + "text": "currentPrice" }, "type_description": { "type_identifier": "t_bool", @@ -14802,7 +14975,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Insufficient payment value\"" } ], "expression": { @@ -14823,7 +14997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -14950,7 +15125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 595, - "is_pure": false + "is_pure": false, + "text": "currentPrice" }, "right_expression": { "id": 658, @@ -14970,7 +15146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 464, - "is_pure": false + "is_pure": false, + "text": "commissionRate" }, "type_description": { "type_identifier": "t_uint128", @@ -15003,7 +15180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "type_description": { "type_identifier": "t_tuple_$_t_uint128$", @@ -15103,7 +15281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 595, - "is_pure": false + "is_pure": false, + "text": "currentPrice" }, "right_expression": { "id": 665, @@ -15123,7 +15302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 651, - "is_pure": false + "is_pure": false, + "text": "commission" }, "type_description": { "type_identifier": "t_uint128", @@ -15168,7 +15348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 660, - "is_pure": false + "is_pure": false, + "text": "sellerProceeds" } ], "expression": { @@ -15224,7 +15405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 554, - "is_pure": false + "is_pure": false, + "text": "seller" } ], "argument_types": [ @@ -15244,7 +15426,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(seller).transfer" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -15296,7 +15479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 554, - "is_pure": false + "is_pure": false, + "text": "seller" }, { "id": 675, @@ -15339,7 +15523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -15351,7 +15536,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 677, @@ -15393,8 +15579,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "tokenId", "argument_types": [ @@ -15411,7 +15598,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "order.tokenId" } ], "expression": { @@ -15455,14 +15643,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "collection" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721_$311", "type_string": "contract IERC721" - } + }, + "text": "collection.transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -15506,7 +15696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 682, - "is_pure": false + "is_pure": false, + "text": "_tokenId" } ], "expression": { @@ -15549,16 +15740,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "remove", "argument_types": [], - "referenced_declaration": 767, + "referenced_declaration": 680, "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.remove" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -15595,7 +15788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 684, - "is_pure": false + "is_pure": false, + "text": "_tokenId" }, { "id": 685, @@ -15615,7 +15809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 554, - "is_pure": false + "is_pure": false, + "text": "seller" }, { "id": 686, @@ -15658,14 +15853,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 688, @@ -15685,7 +15882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 595, - "is_pure": false + "is_pure": false, + "text": "currentPrice" } ], "expression": { @@ -15706,7 +15904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 467, - "is_pure": false + "is_pure": false, + "text": "OrderFilled" } } ] @@ -15796,7 +15995,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint128$", "type_string": "function(uint128)" - } + }, + "text": "functionfillOrder(uint128_tokenId)externalpayable{IterableMapping.Orderstorageorder=tokenIdToOrder.get(_tokenId);addressseller=order.seller;uint128startPrice=order.startPrice;uint128endPrice=order.endPrice;uint128duration=order.duration;require(collection.ownerOf(order.tokenId)==seller,\"Seller not owner\");require(collection.isApprovedForAll(seller,address(this)),\"Not approved for ERC721 token transfer\");uint128currentPrice;if(block.timestamp\u003c(order.startTime+duration)){uint128elapsedTime=uint32(block.timestamp)-order.startTime;uint128priceDifference;if(endPrice\u003estartPrice){priceDifference=endPrice-startPrice;currentPrice=startPrice+(elapsedTime*priceDifference/duration);}else{priceDifference=startPrice-endPrice;currentPrice=startPrice-(elapsedTime*priceDifference/duration);}}else{currentPrice=endPrice;}require(msg.value\u003e=currentPrice,\"Insufficient payment value\");uint128commission=(currentPrice*commissionRate)/1000;uint128sellerProceeds=currentPrice-commission;payable(seller).transfer(sellerProceeds);collection.transferFrom(seller,msg.sender,order.tokenId);tokenIdToOrder.remove(_tokenId);emitOrderFilled(_tokenId,seller,msg.sender,currentPrice);}" }, { "id": 691, @@ -15888,7 +16088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "_newPrice" }, "right_expression": { "id": 703, @@ -15910,7 +16111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -15943,7 +16145,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Price must be greater than 0\"" } ], "expression": { @@ -15964,7 +16167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -16089,7 +16293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 712, - "is_pure": false + "is_pure": false, + "text": "_tokenId" } ], "expression": { @@ -16132,16 +16337,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "get", "argument_types": [], - "referenced_declaration": 1171, + "referenced_declaration": 755, "type_description": { - "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "type_string": "function(struct IterableMapping.Map,uint128)" - } + "type_identifier": "t_contract$_IterableMapping_$1132", + "type_string": "contract IterableMapping" + }, + "text": "tokenIdToOrder.get" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -16226,8 +16433,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "seller", "argument_types": [], @@ -16235,7 +16443,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "order.seller" }, "right_expression": { "id": 718, @@ -16278,14 +16487,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -16318,7 +16529,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Only the seller can update the price\"" } ], "expression": { @@ -16339,7 +16551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -16424,14 +16637,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { "id": 726, @@ -16501,16 +16716,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "startTime", "argument_types": [], - "referenced_declaration": 1460, + "referenced_declaration": 1461, "type_description": { - "type_identifier": "t_struct$_Global_Order_$1460", + "type_identifier": "t_struct$_Global_Order_$1461", "type_string": "struct Global.Order" - } + }, + "text": "order.startTime" }, "right_expression": { "id": 730, @@ -16552,8 +16769,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "duration", "argument_types": [], @@ -16561,10 +16779,11 @@ "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "order.duration" }, "type_description": { - "type_identifier": "t_struct$_Global_Order_$1460", + "type_identifier": "t_struct$_Global_Order_$1461", "type_string": "struct Global.Order" } } @@ -16605,7 +16824,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"You cannot change the price of the auction, wait until the end of time\"" } ], "expression": { @@ -16626,7 +16846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -16696,8 +16917,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "endPrice", "argument_types": [], @@ -16705,7 +16927,8 @@ "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "order.endPrice" }, "right_expression": { "id": 737, @@ -16725,7 +16948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 737, - "is_pure": false + "is_pure": false, + "text": "_newPrice" }, "type_description": { "type_identifier": "t_uint128", @@ -16735,7 +16959,8 @@ "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "order.endPrice=_newPrice;" }, { "id": 738, @@ -16778,7 +17003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 741, - "is_pure": false + "is_pure": false, + "text": "_tokenId" }, { "id": 742, @@ -16797,14 +17023,15 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, + "referenced_declaration": 1380, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint128", "type_string": "uint128" } - ] + ], + "text": "order" } ], "expression": { @@ -16847,8 +17074,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "set", "argument_types": [], @@ -16856,7 +17084,8 @@ "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.set" }, "type_description": { "type_identifier": "t_function_$_t_uint128$_t_address$", @@ -16987,13 +17216,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "updatePriceOrder(uint128, uint128)", - "signature": "95973078", + "signature_raw": "updatePriceOrder(uint128,uint128)", + "signature": "3bd4f98f", "scope": 445, "type_description": { "type_identifier": "t_function_$_t_uint128$_t_uint128$", "type_string": "function(uint128,uint128)" - } + }, + "text": "functionupdatePriceOrder(uint128_tokenId,uint128_newPrice)external{require(_newPrice\u003e0,\"Price must be greater than 0\");IterableMapping.Orderstorageorder=tokenIdToOrder.get(_tokenId);require(order.seller==msg.sender,\"Only the seller can update the price\");require(block.timestamp\u003e(order.startTime+order.duration),\"You cannot change the price of the auction, wait until the end of time\");order.endPrice=_newPrice;tokenIdToOrder.set(_tokenId,order);}" }, { "id": 744, @@ -17148,7 +17378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 757, - "is_pure": false + "is_pure": false, + "text": "_tokenId" } ], "expression": { @@ -17191,16 +17422,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "get", "argument_types": [], - "referenced_declaration": 551, + "referenced_declaration": 526, "type_description": { - "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "type_string": "function(struct IterableMapping.Map,uint128)" - } + "type_identifier": "t_contract$_IterableMapping_$1132", + "type_string": "contract IterableMapping" + }, + "text": "tokenIdToOrder.get" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -17285,8 +17518,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "seller", "argument_types": [], @@ -17294,7 +17528,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "order.seller" }, "right_expression": { "id": 763, @@ -17337,14 +17572,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -17377,7 +17614,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Only the seller can cancel the order\"" } ], "expression": { @@ -17398,7 +17636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17442,7 +17681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 769, - "is_pure": false + "is_pure": false, + "text": "_tokenId" } ], "expression": { @@ -17485,8 +17725,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "remove", "argument_types": [], @@ -17494,7 +17735,8 @@ "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.remove" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -17588,7 +17830,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint128$", "type_string": "function(uint128)" - } + }, + "text": "functioncancelOrder(uint128_tokenId)external{IterableMapping.Orderstorageorder=tokenIdToOrder.get(_tokenId);require(order.seller==msg.sender,\"Only the seller can cancel the order\");tokenIdToOrder.remove(_tokenId);}" }, { "id": 771, @@ -17662,7 +17905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "_tokenId" } ], "expression": { @@ -17705,8 +17949,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "remove", "argument_types": [], @@ -17714,7 +17959,8 @@ "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.remove" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -17838,7 +18084,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint128$", "type_string": "function(uint128)" - } + }, + "text": "functioncancelAnyOrder(uint128_tokenId)externalonlyOwner{tokenIdToOrder.remove(_tokenId);}" }, { "id": 784, @@ -17989,8 +18236,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "size", "argument_types": [], @@ -17998,7 +18246,8 @@ "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.size" }, "type_description": { "type_identifier": "t_function_$", @@ -18097,7 +18346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -18132,7 +18382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 803, @@ -18152,7 +18403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 790, - "is_pure": false + "is_pure": false, + "text": "totalOrders" }, "type_description": { "type_identifier": "t_bool", @@ -18190,7 +18442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint32", @@ -18313,7 +18566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { @@ -18356,16 +18610,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "getKeyAtIndex", "argument_types": [], - "referenced_declaration": 864, + "referenced_declaration": 998, "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.getKeyAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18491,7 +18747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -18534,16 +18791,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "get", "argument_types": [], - "referenced_declaration": 526, + "referenced_declaration": 710, "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.get" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -18635,8 +18894,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "tokenId", "argument_types": [], @@ -18644,7 +18904,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "order.tokenId" } ], "expression": { @@ -18688,14 +18949,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "collection" }, "member_name": "ownerOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721_$311", "type_string": "contract IERC721" - } + }, + "text": "collection.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -18742,8 +19005,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "seller", "argument_types": [], @@ -18751,7 +19015,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "order.seller" }, "type_description": { "type_identifier": "t_bool", @@ -18809,7 +19074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -18852,16 +19118,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "remove", "argument_types": [], - "referenced_declaration": 1249, + "referenced_declaration": 680, "type_description": { - "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "type_string": "function(struct IterableMapping.Map,uint128)" - } + "type_identifier": "t_contract$_IterableMapping_$1132", + "type_string": "contract IterableMapping" + }, + "text": "tokenIdToOrder.remove" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18946,7 +19214,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionremoveAllInvalidOrders()externalonlyOwner{uint32totalOrders=tokenIdToOrder.size();for(uint32i=0;i\u003ctotalOrders;i++){uint128tokenId=tokenIdToOrder.getKeyAtIndex(i);IterableMapping.Orderstorageorder=tokenIdToOrder.get(tokenId);if(collection.ownerOf(order.tokenId)!=order.seller){tokenIdToOrder.remove(tokenId);}}}" }, { "id": 837, @@ -19097,16 +19366,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "size", "argument_types": [], - "referenced_declaration": 1206, + "referenced_declaration": 794, "type_description": { - "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$", - "type_string": "function(struct IterableMapping.Map)" - } + "type_identifier": "t_contract$_IterableMapping_$1132", + "type_string": "contract IterableMapping" + }, + "text": "tokenIdToOrder.size" }, "type_description": { "type_identifier": "t_function_$", @@ -19205,7 +19476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -19240,7 +19512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 856, @@ -19260,7 +19533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "totalOrders" }, "type_description": { "type_identifier": "t_bool", @@ -19298,7 +19572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint32", @@ -19421,7 +19696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { @@ -19464,8 +19740,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "getKeyAtIndex", "argument_types": [], @@ -19473,7 +19750,8 @@ "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.getKeyAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -19518,7 +19796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 860, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -19561,16 +19840,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "remove", "argument_types": [], - "referenced_declaration": 780, + "referenced_declaration": 680, "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.remove" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -19652,7 +19933,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functioncancelAllOrders()externalonlyOwner{uint32totalOrders=tokenIdToOrder.size();for(uint32i=0;i\u003ctotalOrders;i++){uint128tokenId=tokenIdToOrder.getKeyAtIndex(i);tokenIdToOrder.remove(tokenId);}}" }, { "id": 872, @@ -19803,16 +20085,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "size", "argument_types": [], - "referenced_declaration": 794, + "referenced_declaration": 847, "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.size" }, "type_description": { "type_identifier": "t_function_$", @@ -19931,7 +20215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 882, - "is_pure": false + "is_pure": false, + "text": "totalOrders" } ], "expression": { @@ -20070,7 +20355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -20164,7 +20450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -20199,7 +20486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 908, @@ -20219,7 +20507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 882, - "is_pure": false + "is_pure": false, + "text": "totalOrders" }, "type_description": { "type_identifier": "t_bool", @@ -20257,7 +20546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint32", @@ -20380,7 +20670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { @@ -20423,16 +20714,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "getKeyAtIndex", "argument_types": [], - "referenced_declaration": 998, + "referenced_declaration": 811, "type_description": { - "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint32$", - "type_string": "function(struct IterableMapping.Map,uint32)" - } + "type_identifier": "t_contract$_IterableMapping_$1132", + "type_string": "contract IterableMapping" + }, + "text": "tokenIdToOrder.getKeyAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -20558,7 +20851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -20601,16 +20895,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "get", "argument_types": [], - "referenced_declaration": 526, + "referenced_declaration": 819, "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.get" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -20702,8 +20998,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "tokenId", "argument_types": [], @@ -20711,7 +21008,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "order.tokenId" } ], "expression": { @@ -20755,14 +21053,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "collection" }, "member_name": "ownerOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721_$311", "type_string": "contract IERC721" - } + }, + "text": "collection.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -20809,8 +21109,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "seller", "argument_types": [], @@ -20818,7 +21119,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "order.seller" }, "type_description": { "type_identifier": "t_bool", @@ -20890,8 +21192,9 @@ "type_string": "struct IterableMapping.Order" }, "overloaded_declarations": [], - "referenced_declaration": 1429, - "is_pure": false + "referenced_declaration": 1430, + "is_pure": false, + "text": "ordersArray" }, "base_expression": { "id": 941, @@ -20911,7 +21214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 897, - "is_pure": false + "is_pure": false, + "text": "validOrdersIndex" }, "type_descriptions": [ null, @@ -20942,8 +21246,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_uint32]$", @@ -20953,7 +21258,8 @@ "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_uint32]$", "type_string": "index[unknown:uint32]" - } + }, + "text": "ordersArray[validOrdersIndex]=order;" }, { "id": 943, @@ -20986,7 +21292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 897, - "is_pure": false + "is_pure": false, + "text": "validOrdersIndex" }, "type_description": { "type_identifier": "t_uint32", @@ -21128,8 +21435,9 @@ "type_string": "struct IterableMapping.Order" }, "overloaded_declarations": [], - "referenced_declaration": 1429, - "is_pure": false + "referenced_declaration": 1430, + "is_pure": false, + "text": "ordersArray" } } ] @@ -21278,7 +21586,8 @@ "type_description": { "type_identifier": "t_function_$_t_unknown_872$", "type_string": "function(unknown_872)" - } + }, + "text": "functiongetOrders()externalviewreturns(IterableMapping.Order[]memory){uint32totalOrders=tokenIdToOrder.size();IterableMapping.Order[]memoryordersArray=newIterableMapping.Order[](totalOrders);uint32validOrdersIndex=0;for(uint32i=0;i\u003ctotalOrders;i++){uint128tokenId=tokenIdToOrder.getKeyAtIndex(i);IterableMapping.Orderstorageorder=tokenIdToOrder.get(tokenId);if(collection.ownerOf(order.tokenId)==order.seller){ordersArray[validOrdersIndex]=order;validOrdersIndex++;}}assembly{mstore(ordersArray,validOrdersIndex)}returnordersArray;}" }, { "id": 955, @@ -21429,8 +21738,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "size", "argument_types": [], @@ -21438,7 +21748,8 @@ "type_description": { "type_identifier": "t_contract$_IterableMapping_$1132", "type_string": "contract IterableMapping" - } + }, + "text": "tokenIdToOrder.size" }, "type_description": { "type_identifier": "t_function_$", @@ -21557,7 +21868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "totalOrders" } ], "expression": { @@ -21696,7 +22008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -21790,7 +22103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -21825,7 +22139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 990, @@ -21845,7 +22160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "totalOrders" }, "type_description": { "type_identifier": "t_bool", @@ -21883,7 +22199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint32", @@ -22006,7 +22323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { @@ -22049,16 +22367,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "getKeyAtIndex", "argument_types": [], - "referenced_declaration": 1189, + "referenced_declaration": 998, "type_description": { - "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint32$", - "type_string": "function(struct IterableMapping.Map,uint32)" - } + "type_identifier": "t_contract$_IterableMapping_$1132", + "type_string": "contract IterableMapping" + }, + "text": "tokenIdToOrder.getKeyAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -22184,7 +22504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -22227,16 +22548,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "get", "argument_types": [], - "referenced_declaration": 710, + "referenced_declaration": 755, "type_description": { - "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "type_string": "function(struct IterableMapping.Map,uint128)" - } + "type_identifier": "t_contract$_IterableMapping_$1132", + "type_string": "contract IterableMapping" + }, + "text": "tokenIdToOrder.get" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -22321,8 +22644,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "seller", "argument_types": [], @@ -22330,7 +22654,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "order.seller" }, "right_expression": { "id": 1015, @@ -22350,7 +22675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 957, - "is_pure": false + "is_pure": false, + "text": "_seller" }, "type_description": { "type_identifier": "t_bool", @@ -22430,8 +22756,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "tokenId", "argument_types": [], @@ -22439,7 +22766,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "order.tokenId" } ], "expression": { @@ -22483,14 +22811,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "collection" }, "member_name": "ownerOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721_$311", "type_string": "contract IERC721" - } + }, + "text": "collection.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -22515,7 +22845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 957, - "is_pure": false + "is_pure": false, + "text": "_seller" }, "type_description": { "type_identifier": "t_bool", @@ -22599,8 +22930,9 @@ "type_string": "struct IterableMapping.Order" }, "overloaded_declarations": [], - "referenced_declaration": 1443, - "is_pure": false + "referenced_declaration": 1444, + "is_pure": false, + "text": "sellerOrders" }, "base_expression": { "id": 1028, @@ -22620,7 +22952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 897, - "is_pure": false + "is_pure": false, + "text": "validOrdersIndex" }, "type_descriptions": [ null, @@ -22651,8 +22984,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_uint32]$", @@ -22662,7 +22996,8 @@ "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_uint32]$", "type_string": "index[unknown:uint32]" - } + }, + "text": "sellerOrders[validOrdersIndex]=order;" }, { "id": 1030, @@ -22695,7 +23030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 897, - "is_pure": false + "is_pure": false, + "text": "validOrdersIndex" }, "type_description": { "type_identifier": "t_uint32", @@ -22837,8 +23173,9 @@ "type_string": "struct IterableMapping.Order" }, "overloaded_declarations": [], - "referenced_declaration": 1443, - "is_pure": false + "referenced_declaration": 1444, + "is_pure": false, + "text": "sellerOrders" } } ] @@ -22981,7 +23318,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetSellerOrders(address_seller)externalviewreturns(IterableMapping.Order[]memory){uint32totalOrders=tokenIdToOrder.size();IterableMapping.Order[]memorysellerOrders=newIterableMapping.Order[](totalOrders);uint32validOrdersIndex=0;for(uint32i=0;i\u003ctotalOrders;i++){uint128tokenId=tokenIdToOrder.getKeyAtIndex(i);IterableMapping.Orderstorageorder=tokenIdToOrder.get(tokenId);if(order.seller==_seller\u0026\u0026collection.ownerOf(order.tokenId)==_seller){sellerOrders[validOrdersIndex]=order;validOrdersIndex++;}}assembly{mstore(sellerOrders,validOrdersIndex)}returnsellerOrders;}" }, { "id": 1042, @@ -23136,7 +23474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1058, - "is_pure": false + "is_pure": false, + "text": "_tokenId" } ], "expression": { @@ -23179,16 +23518,18 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1361, - "is_pure": false + "referenced_declaration": 1362, + "is_pure": false, + "text": "tokenIdToOrder" }, "member_name": "get", "argument_types": [], - "referenced_declaration": 551, + "referenced_declaration": 755, "type_description": { - "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "type_string": "function(struct IterableMapping.Map,uint128)" - } + "type_identifier": "t_contract$_IterableMapping_$1132", + "type_string": "contract IterableMapping" + }, + "text": "tokenIdToOrder.get" }, "type_description": { "type_identifier": "t_function_$_t_uint128$", @@ -23280,8 +23621,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "tokenId", "argument_types": [], @@ -23289,7 +23631,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "order.tokenId" } ], "expression": { @@ -23333,14 +23676,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "collection" }, "member_name": "ownerOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721_$311", "type_string": "contract IERC721" - } + }, + "text": "collection.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -23387,8 +23732,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" }, "member_name": "seller", "argument_types": [], @@ -23396,7 +23742,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "order.seller" }, "type_description": { "type_identifier": "t_bool", @@ -23446,8 +23793,9 @@ "type_string": "contract IterableMapping" }, "overloaded_declarations": [], - "referenced_declaration": 1379, - "is_pure": false + "referenced_declaration": 1380, + "is_pure": false, + "text": "order" } } ] @@ -23492,7 +23840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"Order not found for the given item ID\"" } ], "expression": { @@ -23513,7 +23862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -23666,7 +24016,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint128$", "type_string": "function(uint128)" - } + }, + "text": "functiongetOrderByTokenId(uint128_tokenId)externalviewreturns(IterableMapping.Ordermemory){IterableMapping.Orderstorageorder=tokenIdToOrder.get(_tokenId);if(collection.ownerOf(order.tokenId)==order.seller){returnorder;}revert(\"Order not found for the given item ID\");}" }, { "id": 1075, @@ -23744,7 +24095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 464, - "is_pure": false + "is_pure": false, + "text": "commissionRate" }, "right_expression": { "id": 1086, @@ -23764,7 +24116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1086, - "is_pure": false + "is_pure": false, + "text": "_newCommissionRate" }, "type_description": { "type_identifier": "t_uint8", @@ -23774,7 +24127,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "commissionRate=_newCommissionRate;" } ] }, @@ -23893,7 +24247,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functionsetCommissionRate(uint8_newCommissionRate)externalonlyOwner{commissionRate=_newCommissionRate;}" }, { "id": 1088, @@ -24050,7 +24405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -24096,7 +24452,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24108,7 +24465,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } }, { @@ -24166,7 +24524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 1106, @@ -24188,7 +24547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24221,7 +24581,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"No commission to withdraw\"" } ], "expression": { @@ -24242,7 +24603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -24286,7 +24648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "balance" } ], "expression": { @@ -24356,7 +24719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -24381,7 +24745,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_function_$$", "type_string": "function(function()) payable" - } + }, + "text": "payable(owner()).transfer" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -24460,7 +24825,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawCommission()externalonlyOwner{uint256balance=address(this).balance;require(balance\u003e0,\"No commission to withdraw\");payable(owner()).transfer(balance);}" }, { "id": 1115, @@ -24529,7 +24895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_pause" }, "type_description": { "type_identifier": "t_function_$", @@ -24608,7 +24975,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionpause()externalonlyOwner{_pause();}" }, { "id": 1124, @@ -24677,7 +25045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_unpause" }, "type_description": { "type_identifier": "t_function_$", @@ -24756,7 +25125,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionunpause()externalonlyOwner{_unpause();}" } ], "linearized_base_contracts": [ @@ -25234,7 +25604,7 @@ "name": "values", "type_name": { "id": 1159, - "node_type": 0, + "node_type": 69, "src": { "line": 592, "column": 8, @@ -25271,7 +25641,7 @@ }, "value_type": { "id": 1161, - "node_type": 30, + "node_type": 69, "src": { "line": 592, "column": 27, @@ -25281,10 +25651,10 @@ "parent_index": 1159 }, "name": "Order", - "referenced_declaration": 0, + "referenced_declaration": 1141, "type_description": { - "type_identifier": "t_Order", - "type_string": "Order" + "type_identifier": "t_struct$_IterableMapping_Order_$1141", + "type_string": "struct IterableMapping.Order" } }, "value_name_location": { @@ -25295,21 +25665,43 @@ "length": 5, "parent_index": 1159 }, - "referenced_declaration": 0, + "path_node": { + "id": 1162, + "name": "Order", + "node_type": 52, + "referenced_declaration": 1141, + "src": { + "line": 592, + "column": 27, + "start": 19430, + "end": 19434, + "length": 5, + "parent_index": 1159 + }, + "name_location": { + "line": 592, + "column": 27, + "start": 19430, + "end": 19434, + "length": 5, + "parent_index": 1159 + } + }, + "referenced_declaration": 1141, "type_description": { - "type_identifier": "t_mapping_$t_uint128_$t_Order$", + "type_identifier": "t_mapping_$t_uint128_$t_struct$_IterableMapping_Order_$1141$", "type_string": "mapping(uint128=\u003eOrder)" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_mapping_$t_uint128_$t_Order$", + "type_identifier": "t_mapping_$t_uint128_$t_struct$_IterableMapping_Order_$1141$", "type_string": "mapping(uint128=\u003eOrder)" } }, { - "id": 1162, + "id": 1163, "node_type": 44, "src": { "line": 593, @@ -25322,18 +25714,18 @@ "scope": 1139, "name": "indexOf", "type_name": { - "id": 1163, - "node_type": 0, + "id": 1164, + "node_type": 53, "src": { "line": 593, "column": 8, "start": 19453, "end": 19478, "length": 26, - "parent_index": 1162 + "parent_index": 1163 }, "key_type": { - "id": 1164, + "id": 1165, "node_type": 30, "src": { "line": 593, @@ -25341,7 +25733,7 @@ "start": 19461, "end": 19467, "length": 7, - "parent_index": 1163 + "parent_index": 1164 }, "name": "uint128", "referenced_declaration": 0, @@ -25356,10 +25748,10 @@ "start": 19461, "end": 19467, "length": 7, - "parent_index": 1163 + "parent_index": 1164 }, "value_type": { - "id": 1165, + "id": 1166, "node_type": 30, "src": { "line": 593, @@ -25367,7 +25759,7 @@ "start": 19472, "end": 19477, "length": 6, - "parent_index": 1163 + "parent_index": 1164 }, "name": "uint32", "referenced_declaration": 0, @@ -25382,7 +25774,7 @@ "start": 19472, "end": 19477, "length": 6, - "parent_index": 1163 + "parent_index": 1164 }, "referenced_declaration": 0, "type_description": { @@ -25398,7 +25790,7 @@ } }, { - "id": 1166, + "id": 1167, "node_type": 44, "src": { "line": 594, @@ -25411,18 +25803,18 @@ "scope": 1139, "name": "inserted", "type_name": { - "id": 1167, - "node_type": 0, + "id": 1168, + "node_type": 53, "src": { "line": 594, "column": 8, "start": 19497, "end": 19520, "length": 24, - "parent_index": 1166 + "parent_index": 1167 }, "key_type": { - "id": 1168, + "id": 1169, "node_type": 30, "src": { "line": 594, @@ -25430,7 +25822,7 @@ "start": 19505, "end": 19511, "length": 7, - "parent_index": 1167 + "parent_index": 1168 }, "name": "uint128", "referenced_declaration": 0, @@ -25445,10 +25837,10 @@ "start": 19505, "end": 19511, "length": 7, - "parent_index": 1167 + "parent_index": 1168 }, "value_type": { - "id": 1169, + "id": 1170, "node_type": 30, "src": { "line": 594, @@ -25456,7 +25848,7 @@ "start": 19516, "end": 19519, "length": 4, - "parent_index": 1167 + "parent_index": 1168 }, "name": "bool", "referenced_declaration": 0, @@ -25471,7 +25863,7 @@ "start": 19516, "end": 19519, "length": 4, - "parent_index": 1167 + "parent_index": 1168 }, "referenced_declaration": 0, "type_description": { @@ -25491,7 +25883,7 @@ "storage_location": 1 }, { - "id": 1171, + "id": 1172, "name": "get", "node_type": 42, "kind": 41, @@ -25509,10 +25901,10 @@ "start": 19552, "end": 19554, "length": 3, - "parent_index": 1171 + "parent_index": 1172 }, "body": { - "id": 1182, + "id": 1183, "node_type": 46, "kind": 0, "src": { @@ -25521,12 +25913,12 @@ "start": 19624, "end": 19662, "length": 39, - "parent_index": 1171 + "parent_index": 1172 }, "implemented": true, "statements": [ { - "id": 1183, + "id": 1184, "node_type": 47, "src": { "line": 598, @@ -25534,11 +25926,11 @@ "start": 19634, "end": 19656, "length": 23, - "parent_index": 1171 + "parent_index": 1172 }, - "function_return_parameters": 1171, + "function_return_parameters": 1172, "expression": { - "id": 1184, + "id": 1185, "node_type": 22, "src": { "line": 598, @@ -25546,10 +25938,10 @@ "start": 19641, "end": 19655, "length": 15, - "parent_index": 1183 + "parent_index": 1184 }, "index_expression": { - "id": 1185, + "id": 1186, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25561,7 +25953,7 @@ "start": 19641, "end": 19650, "length": 10, - "parent_index": 1184 + "parent_index": 1185 }, "member_location": { "line": 598, @@ -25569,10 +25961,10 @@ "start": 19645, "end": 19650, "length": 6, - "parent_index": 1185 + "parent_index": 1186 }, "expression": { - "id": 1186, + "id": 1187, "node_type": 16, "src": { "line": 598, @@ -25580,7 +25972,7 @@ "start": 19641, "end": 19643, "length": 3, - "parent_index": 1185 + "parent_index": 1186 }, "name": "map", "type_description": { @@ -25588,18 +25980,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1186, - "is_pure": false + "referenced_declaration": 1187, + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { - "id": 1187, + "id": 1188, "node_type": 16, "src": { "line": 598, @@ -25607,7 +26001,7 @@ "start": 19652, "end": 19654, "length": 3, - "parent_index": 1184 + "parent_index": 1185 }, "name": "key", "type_description": { @@ -25615,8 +26009,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1187, - "is_pure": false + "referenced_declaration": 1188, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -25643,7 +26038,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1172, + "id": 1173, "node_type": 43, "src": { "line": 597, @@ -25651,11 +26046,11 @@ "start": 19556, "end": 19583, "length": 28, - "parent_index": 1171 + "parent_index": 1172 }, "parameters": [ { - "id": 1173, + "id": 1174, "node_type": 44, "src": { "line": 597, @@ -25663,12 +26058,12 @@ "start": 19556, "end": 19570, "length": 15, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "map", "type_name": { - "id": 1174, + "id": 1175, "node_type": 69, "src": { "line": 597, @@ -25676,10 +26071,10 @@ "start": 19556, "end": 19558, "length": 3, - "parent_index": 1173 + "parent_index": 1174 }, "path_node": { - "id": 1175, + "id": 1176, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -25689,7 +26084,7 @@ "start": 19556, "end": 19558, "length": 3, - "parent_index": 1174 + "parent_index": 1175 }, "name_location": { "line": 597, @@ -25697,7 +26092,7 @@ "start": 19556, "end": 19558, "length": 3, - "parent_index": 1174 + "parent_index": 1175 } }, "referenced_declaration": 1155, @@ -25715,7 +26110,7 @@ } }, { - "id": 1176, + "id": 1177, "node_type": 44, "src": { "line": 597, @@ -25723,12 +26118,12 @@ "start": 19573, "end": 19583, "length": 11, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "key", "type_name": { - "id": 1177, + "id": 1178, "node_type": 30, "src": { "line": 597, @@ -25736,7 +26131,7 @@ "start": 19573, "end": 19579, "length": 7, - "parent_index": 1176 + "parent_index": 1177 }, "name": "uint128", "referenced_declaration": 0, @@ -25766,7 +26161,7 @@ ] }, "return_parameters": { - "id": 1178, + "id": 1179, "node_type": 43, "src": { "line": 597, @@ -25774,11 +26169,11 @@ "start": 19609, "end": 19621, "length": 13, - "parent_index": 1171 + "parent_index": 1172 }, "parameters": [ { - "id": 1179, + "id": 1180, "node_type": 44, "src": { "line": 597, @@ -25786,12 +26181,12 @@ "start": 19609, "end": 19621, "length": 13, - "parent_index": 1178 + "parent_index": 1179 }, - "scope": 1171, + "scope": 1172, "name": "", "type_name": { - "id": 1180, + "id": 1181, "node_type": 69, "src": { "line": 597, @@ -25799,10 +26194,10 @@ "start": 19609, "end": 19613, "length": 5, - "parent_index": 1179 + "parent_index": 1180 }, "path_node": { - "id": 1181, + "id": 1182, "name": "Order", "node_type": 52, "referenced_declaration": 1141, @@ -25812,7 +26207,7 @@ "start": 19609, "end": 19613, "length": 5, - "parent_index": 1180 + "parent_index": 1181 }, "name_location": { "line": 597, @@ -25820,7 +26215,7 @@ "start": 19609, "end": 19613, "length": 5, - "parent_index": 1180 + "parent_index": 1181 } }, "referenced_declaration": 1141, @@ -25845,16 +26240,17 @@ } ] }, - "signature_raw": "get(, uint128)", - "signature": "1da4aa6a", + "signature_raw": "get(,uint128)", + "signature": "a374c211", "scope": 1139, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", "type_string": "function(struct IterableMapping.Map,uint128)" - } + }, + "text": "functionget(Mapstoragemap,uint128key)internalviewreturns(Orderstorage){returnmap.values[key];}" }, { - "id": 1189, + "id": 1190, "name": "getKeyAtIndex", "node_type": 42, "kind": 41, @@ -25872,10 +26268,10 @@ "start": 19678, "end": 19690, "length": 13, - "parent_index": 1189 + "parent_index": 1190 }, "body": { - "id": 1199, + "id": 1200, "node_type": 46, "kind": 0, "src": { @@ -25884,12 +26280,12 @@ "start": 19755, "end": 19793, "length": 39, - "parent_index": 1189 + "parent_index": 1190 }, "implemented": true, "statements": [ { - "id": 1200, + "id": 1201, "node_type": 47, "src": { "line": 602, @@ -25897,11 +26293,11 @@ "start": 19765, "end": 19787, "length": 23, - "parent_index": 1189 + "parent_index": 1190 }, - "function_return_parameters": 1189, + "function_return_parameters": 1190, "expression": { - "id": 1201, + "id": 1202, "node_type": 22, "src": { "line": 602, @@ -25909,10 +26305,10 @@ "start": 19772, "end": 19786, "length": 15, - "parent_index": 1200 + "parent_index": 1201 }, "index_expression": { - "id": 1202, + "id": 1203, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25924,7 +26320,7 @@ "start": 19772, "end": 19779, "length": 8, - "parent_index": 1201 + "parent_index": 1202 }, "member_location": { "line": 602, @@ -25932,10 +26328,10 @@ "start": 19776, "end": 19779, "length": 4, - "parent_index": 1202 + "parent_index": 1203 }, "expression": { - "id": 1203, + "id": 1204, "node_type": 16, "src": { "line": 602, @@ -25943,7 +26339,7 @@ "start": 19772, "end": 19774, "length": 3, - "parent_index": 1202 + "parent_index": 1203 }, "name": "map", "type_description": { @@ -25951,18 +26347,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1203, - "is_pure": false + "referenced_declaration": 1204, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { - "id": 1204, + "id": 1205, "node_type": 16, "src": { "line": 602, @@ -25970,7 +26368,7 @@ "start": 19781, "end": 19785, "length": 5, - "parent_index": 1201 + "parent_index": 1202 }, "name": "index", "type_description": { @@ -25978,8 +26376,9 @@ "type_string": "uint32" }, "overloaded_declarations": [], - "referenced_declaration": 1204, - "is_pure": false + "referenced_declaration": 1205, + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -26006,7 +26405,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1190, + "id": 1191, "node_type": 43, "src": { "line": 601, @@ -26014,11 +26413,11 @@ "start": 19692, "end": 19720, "length": 29, - "parent_index": 1189 + "parent_index": 1190 }, "parameters": [ { - "id": 1191, + "id": 1192, "node_type": 44, "src": { "line": 601, @@ -26026,12 +26425,12 @@ "start": 19692, "end": 19706, "length": 15, - "parent_index": 1190 + "parent_index": 1191 }, - "scope": 1189, + "scope": 1190, "name": "map", "type_name": { - "id": 1192, + "id": 1193, "node_type": 69, "src": { "line": 601, @@ -26039,10 +26438,10 @@ "start": 19692, "end": 19694, "length": 3, - "parent_index": 1191 + "parent_index": 1192 }, "path_node": { - "id": 1193, + "id": 1194, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -26052,7 +26451,7 @@ "start": 19692, "end": 19694, "length": 3, - "parent_index": 1192 + "parent_index": 1193 }, "name_location": { "line": 601, @@ -26060,7 +26459,7 @@ "start": 19692, "end": 19694, "length": 3, - "parent_index": 1192 + "parent_index": 1193 } }, "referenced_declaration": 1155, @@ -26078,7 +26477,7 @@ } }, { - "id": 1194, + "id": 1195, "node_type": 44, "src": { "line": 601, @@ -26086,12 +26485,12 @@ "start": 19709, "end": 19720, "length": 12, - "parent_index": 1190 + "parent_index": 1191 }, - "scope": 1189, + "scope": 1190, "name": "index", "type_name": { - "id": 1195, + "id": 1196, "node_type": 30, "src": { "line": 601, @@ -26099,7 +26498,7 @@ "start": 19709, "end": 19714, "length": 6, - "parent_index": 1194 + "parent_index": 1195 }, "name": "uint32", "referenced_declaration": 0, @@ -26129,7 +26528,7 @@ ] }, "return_parameters": { - "id": 1196, + "id": 1197, "node_type": 43, "src": { "line": 601, @@ -26137,11 +26536,11 @@ "start": 19746, "end": 19752, "length": 7, - "parent_index": 1189 + "parent_index": 1190 }, "parameters": [ { - "id": 1197, + "id": 1198, "node_type": 44, "src": { "line": 601, @@ -26149,12 +26548,12 @@ "start": 19746, "end": 19752, "length": 7, - "parent_index": 1196 + "parent_index": 1197 }, - "scope": 1189, + "scope": 1190, "name": "", "type_name": { - "id": 1198, + "id": 1199, "node_type": 30, "src": { "line": 601, @@ -26162,7 +26561,7 @@ "start": 19746, "end": 19752, "length": 7, - "parent_index": 1197 + "parent_index": 1198 }, "name": "uint128", "referenced_declaration": 0, @@ -26187,16 +26586,17 @@ } ] }, - "signature_raw": "getKeyAtIndex(, uint32)", - "signature": "abb07e79", + "signature_raw": "getKeyAtIndex(,uint32)", + "signature": "118734c4", "scope": 1139, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint32$", "type_string": "function(struct IterableMapping.Map,uint32)" - } + }, + "text": "functiongetKeyAtIndex(Mapstoragemap,uint32index)internalviewreturns(uint128){returnmap.keys[index];}" }, { - "id": 1206, + "id": 1207, "name": "size", "node_type": 42, "kind": 41, @@ -26214,10 +26614,10 @@ "start": 19809, "end": 19812, "length": 4, - "parent_index": 1206 + "parent_index": 1207 }, "body": { - "id": 1214, + "id": 1215, "node_type": 46, "kind": 0, "src": { @@ -26226,12 +26626,12 @@ "start": 19862, "end": 19908, "length": 47, - "parent_index": 1206 + "parent_index": 1207 }, "implemented": true, "statements": [ { - "id": 1215, + "id": 1216, "node_type": 47, "src": { "line": 606, @@ -26239,11 +26639,11 @@ "start": 19872, "end": 19902, "length": 31, - "parent_index": 1206 + "parent_index": 1207 }, - "function_return_parameters": 1206, + "function_return_parameters": 1207, "expression": { - "id": 1216, + "id": 1217, "node_type": 24, "kind": 24, "src": { @@ -26252,7 +26652,7 @@ "start": 19879, "end": 19901, "length": 23, - "parent_index": 1215 + "parent_index": 1216 }, "argument_types": [ { @@ -26262,7 +26662,7 @@ ], "arguments": [ { - "id": 1219, + "id": 1220, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26274,7 +26674,7 @@ "start": 19886, "end": 19900, "length": 15, - "parent_index": 1216 + "parent_index": 1217 }, "member_location": { "line": 606, @@ -26282,10 +26682,10 @@ "start": 19895, "end": 19900, "length": 6, - "parent_index": 1219 + "parent_index": 1220 }, "expression": { - "id": 1220, + "id": 1221, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26297,7 +26697,7 @@ "start": 19886, "end": 19893, "length": 8, - "parent_index": 1219 + "parent_index": 1220 }, "member_location": { "line": 606, @@ -26305,10 +26705,10 @@ "start": 19890, "end": 19893, "length": 4, - "parent_index": 1220 + "parent_index": 1221 }, "expression": { - "id": 1221, + "id": 1222, "node_type": 16, "src": { "line": 606, @@ -26316,7 +26716,7 @@ "start": 19886, "end": 19888, "length": 3, - "parent_index": 1220 + "parent_index": 1221 }, "name": "map", "type_description": { @@ -26324,26 +26724,29 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1221, - "is_pure": false + "referenced_declaration": 1222, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.length" } ], "expression": { - "id": 1217, + "id": 1218, "node_type": 16, "src": { "line": 606, @@ -26351,11 +26754,11 @@ "start": 19879, "end": 19884, "length": 6, - "parent_index": 1216 + "parent_index": 1217 }, "name": "uint32", "type_name": { - "id": 1218, + "id": 1219, "node_type": 30, "src": { "line": 606, @@ -26363,7 +26766,7 @@ "start": 19879, "end": 19884, "length": 6, - "parent_index": 1217 + "parent_index": 1218 }, "name": "uint32", "referenced_declaration": 0, @@ -26384,7 +26787,8 @@ "type_identifier": "t_uint32", "type_string": "uint32" } - ] + ], + "text": "uint32" }, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$", @@ -26401,7 +26805,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1207, + "id": 1208, "node_type": 43, "src": { "line": 605, @@ -26409,11 +26813,11 @@ "start": 19814, "end": 19828, "length": 15, - "parent_index": 1206 + "parent_index": 1207 }, "parameters": [ { - "id": 1208, + "id": 1209, "node_type": 44, "src": { "line": 605, @@ -26421,12 +26825,12 @@ "start": 19814, "end": 19828, "length": 15, - "parent_index": 1207 + "parent_index": 1208 }, - "scope": 1206, + "scope": 1207, "name": "map", "type_name": { - "id": 1209, + "id": 1210, "node_type": 69, "src": { "line": 605, @@ -26434,10 +26838,10 @@ "start": 19814, "end": 19816, "length": 3, - "parent_index": 1208 + "parent_index": 1209 }, "path_node": { - "id": 1210, + "id": 1211, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -26447,7 +26851,7 @@ "start": 19814, "end": 19816, "length": 3, - "parent_index": 1209 + "parent_index": 1210 }, "name_location": { "line": 605, @@ -26455,7 +26859,7 @@ "start": 19814, "end": 19816, "length": 3, - "parent_index": 1209 + "parent_index": 1210 } }, "referenced_declaration": 1155, @@ -26481,7 +26885,7 @@ ] }, "return_parameters": { - "id": 1211, + "id": 1212, "node_type": 43, "src": { "line": 605, @@ -26489,11 +26893,11 @@ "start": 19854, "end": 19859, "length": 6, - "parent_index": 1206 + "parent_index": 1207 }, "parameters": [ { - "id": 1212, + "id": 1213, "node_type": 44, "src": { "line": 605, @@ -26501,12 +26905,12 @@ "start": 19854, "end": 19859, "length": 6, - "parent_index": 1211 + "parent_index": 1212 }, - "scope": 1206, + "scope": 1207, "name": "", "type_name": { - "id": 1213, + "id": 1214, "node_type": 30, "src": { "line": 605, @@ -26514,7 +26918,7 @@ "start": 19854, "end": 19859, "length": 6, - "parent_index": 1212 + "parent_index": 1213 }, "name": "uint32", "referenced_declaration": 0, @@ -26545,10 +26949,11 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$", "type_string": "function(struct IterableMapping.Map)" - } + }, + "text": "functionsize(Mapstoragemap)internalviewreturns(uint32){returnuint32(map.keys.length);}" }, { - "id": 1223, + "id": 1224, "name": "set", "node_type": 42, "kind": 41, @@ -26566,10 +26971,10 @@ "start": 19924, "end": 19926, "length": 3, - "parent_index": 1223 + "parent_index": 1224 }, "body": { - "id": 1234, + "id": 1235, "node_type": 46, "kind": 0, "src": { @@ -26578,12 +26983,12 @@ "start": 19985, "end": 20247, "length": 263, - "parent_index": 1223 + "parent_index": 1224 }, "implemented": true, "statements": [ { - "id": 1235, + "id": 1236, "node_type": 48, "src": { "line": 610, @@ -26591,10 +26996,10 @@ "start": 19995, "end": 20241, "length": 247, - "parent_index": 1234 + "parent_index": 1235 }, "condition": { - "id": 1236, + "id": 1237, "node_type": 22, "src": { "line": 610, @@ -26602,10 +27007,10 @@ "start": 19999, "end": 20015, "length": 17, - "parent_index": 1235 + "parent_index": 1236 }, "index_expression": { - "id": 1237, + "id": 1238, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26617,7 +27022,7 @@ "start": 19999, "end": 20010, "length": 12, - "parent_index": 1236 + "parent_index": 1237 }, "member_location": { "line": 610, @@ -26625,10 +27030,10 @@ "start": 20003, "end": 20010, "length": 8, - "parent_index": 1237 + "parent_index": 1238 }, "expression": { - "id": 1238, + "id": 1239, "node_type": 16, "src": { "line": 610, @@ -26636,7 +27041,7 @@ "start": 19999, "end": 20001, "length": 3, - "parent_index": 1237 + "parent_index": 1238 }, "name": "map", "type_description": { @@ -26644,18 +27049,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1238, - "is_pure": false + "referenced_declaration": 1239, + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { - "id": 1239, + "id": 1240, "node_type": 16, "src": { "line": 610, @@ -26663,7 +27070,7 @@ "start": 20012, "end": 20014, "length": 3, - "parent_index": 1236 + "parent_index": 1237 }, "name": "key", "type_description": { @@ -26671,8 +27078,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1239, - "is_pure": false + "referenced_declaration": 1240, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -26690,7 +27098,7 @@ } }, "body": { - "id": 1240, + "id": 1241, "node_type": 46, "kind": 0, "src": { @@ -26699,12 +27107,12 @@ "start": 20018, "end": 20063, "length": 46, - "parent_index": 1223 + "parent_index": 1224 }, "implemented": true, "statements": [ { - "id": 1241, + "id": 1242, "node_type": 27, "src": { "line": 611, @@ -26712,10 +27120,10 @@ "start": 20032, "end": 20053, "length": 22, - "parent_index": 1240 + "parent_index": 1241 }, "expression": { - "id": 1242, + "id": 1243, "node_type": 27, "src": { "line": 611, @@ -26723,11 +27131,11 @@ "start": 20032, "end": 20052, "length": 21, - "parent_index": 1241 + "parent_index": 1242 }, "operator": 11, "left_expression": { - "id": 1243, + "id": 1244, "node_type": 22, "src": { "line": 611, @@ -26735,10 +27143,10 @@ "start": 20032, "end": 20046, "length": 15, - "parent_index": 1242 + "parent_index": 1243 }, "index_expression": { - "id": 1244, + "id": 1245, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26750,7 +27158,7 @@ "start": 20032, "end": 20041, "length": 10, - "parent_index": 1243 + "parent_index": 1244 }, "member_location": { "line": 611, @@ -26758,10 +27166,10 @@ "start": 20036, "end": 20041, "length": 6, - "parent_index": 1244 + "parent_index": 1245 }, "expression": { - "id": 1245, + "id": 1246, "node_type": 16, "src": { "line": 611, @@ -26769,7 +27177,7 @@ "start": 20032, "end": 20034, "length": 3, - "parent_index": 1244 + "parent_index": 1245 }, "name": "map", "type_description": { @@ -26777,18 +27185,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1245, - "is_pure": false + "referenced_declaration": 1246, + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { - "id": 1246, + "id": 1247, "node_type": 16, "src": { "line": 611, @@ -26796,7 +27206,7 @@ "start": 20043, "end": 20045, "length": 3, - "parent_index": 1243 + "parent_index": 1244 }, "name": "key", "type_description": { @@ -26804,8 +27214,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1246, - "is_pure": false + "referenced_declaration": 1247, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -26823,7 +27234,7 @@ } }, "right_expression": { - "id": 1247, + "id": 1248, "node_type": 16, "src": { "line": 611, @@ -26831,7 +27242,7 @@ "start": 20050, "end": 20052, "length": 3, - "parent_index": 1242 + "parent_index": 1243 }, "name": "val", "type_description": { @@ -26839,8 +27250,9 @@ "type_string": "struct IterableMapping.Order" }, "overloaded_declarations": [], - "referenced_declaration": 1247, - "is_pure": false + "referenced_declaration": 1248, + "is_pure": false, + "text": "val" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint128]$", @@ -26850,7 +27262,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint128]$", "type_string": "index[struct IterableMapping.Map:uint128]" - } + }, + "text": "map.values[key]=val;" } ] } @@ -26864,7 +27277,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1224, + "id": 1225, "node_type": 43, "src": { "line": 609, @@ -26872,11 +27285,11 @@ "start": 19928, "end": 19973, "length": 46, - "parent_index": 1223 + "parent_index": 1224 }, "parameters": [ { - "id": 1225, + "id": 1226, "node_type": 44, "src": { "line": 609, @@ -26884,12 +27297,12 @@ "start": 19928, "end": 19942, "length": 15, - "parent_index": 1224 + "parent_index": 1225 }, - "scope": 1223, + "scope": 1224, "name": "map", "type_name": { - "id": 1226, + "id": 1227, "node_type": 69, "src": { "line": 609, @@ -26897,10 +27310,10 @@ "start": 19928, "end": 19930, "length": 3, - "parent_index": 1225 + "parent_index": 1226 }, "path_node": { - "id": 1227, + "id": 1228, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -26910,7 +27323,7 @@ "start": 19928, "end": 19930, "length": 3, - "parent_index": 1226 + "parent_index": 1227 }, "name_location": { "line": 609, @@ -26918,7 +27331,7 @@ "start": 19928, "end": 19930, "length": 3, - "parent_index": 1226 + "parent_index": 1227 } }, "referenced_declaration": 1155, @@ -26936,7 +27349,7 @@ } }, { - "id": 1228, + "id": 1229, "node_type": 44, "src": { "line": 609, @@ -26944,12 +27357,12 @@ "start": 19945, "end": 19955, "length": 11, - "parent_index": 1224 + "parent_index": 1225 }, - "scope": 1223, + "scope": 1224, "name": "key", "type_name": { - "id": 1229, + "id": 1230, "node_type": 30, "src": { "line": 609, @@ -26957,7 +27370,7 @@ "start": 19945, "end": 19951, "length": 7, - "parent_index": 1228 + "parent_index": 1229 }, "name": "uint128", "referenced_declaration": 0, @@ -26975,7 +27388,7 @@ } }, { - "id": 1230, + "id": 1231, "node_type": 44, "src": { "line": 609, @@ -26983,12 +27396,12 @@ "start": 19958, "end": 19973, "length": 16, - "parent_index": 1224 + "parent_index": 1225 }, - "scope": 1223, + "scope": 1224, "name": "val", "type_name": { - "id": 1231, + "id": 1232, "node_type": 69, "src": { "line": 609, @@ -26996,10 +27409,10 @@ "start": 19958, "end": 19962, "length": 5, - "parent_index": 1230 + "parent_index": 1231 }, "path_node": { - "id": 1232, + "id": 1233, "name": "Order", "node_type": 52, "referenced_declaration": 1141, @@ -27009,7 +27422,7 @@ "start": 19958, "end": 19962, "length": 5, - "parent_index": 1231 + "parent_index": 1232 }, "name_location": { "line": 609, @@ -27017,7 +27430,7 @@ "start": 19958, "end": 19962, "length": 5, - "parent_index": 1231 + "parent_index": 1232 } }, "referenced_declaration": 1141, @@ -27051,7 +27464,7 @@ ] }, "return_parameters": { - "id": 1233, + "id": 1234, "node_type": 43, "src": { "line": 609, @@ -27059,21 +27472,22 @@ "start": 19915, "end": 20247, "length": 333, - "parent_index": 1223 + "parent_index": 1224 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "set(, uint128, )", - "signature": "d5b62043", + "signature_raw": "set(,uint128,)", + "signature": "bcf15b36", "scope": 1139, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$_t_struct$_IterableMapping_Order_$1141$", "type_string": "function(struct IterableMapping.Map,uint128,struct IterableMapping.Order)" - } + }, + "text": "functionset(Mapstoragemap,uint128key,Ordermemoryval)internal{if(map.inserted[key]){map.values[key]=val;}else{map.inserted[key]=true;map.values[key]=val;map.indexOf[key]=uint32(map.keys.length);map.keys.push(key);}}" }, { - "id": 1249, + "id": 1250, "name": "remove", "node_type": 42, "kind": 41, @@ -27091,10 +27505,10 @@ "start": 20263, "end": 20268, "length": 6, - "parent_index": 1249 + "parent_index": 1250 }, "body": { - "id": 1257, + "id": 1258, "node_type": 46, "kind": 0, "src": { @@ -27103,12 +27517,12 @@ "start": 20309, "end": 20676, "length": 368, - "parent_index": 1249 + "parent_index": 1250 }, "implemented": true, "statements": [ { - "id": 1258, + "id": 1259, "node_type": 48, "src": { "line": 621, @@ -27116,10 +27530,10 @@ "start": 20319, "end": 20373, "length": 55, - "parent_index": 1257 + "parent_index": 1258 }, "condition": { - "id": 1259, + "id": 1260, "node_type": 18, "kind": 104, "src": { @@ -27128,7 +27542,7 @@ "start": 20323, "end": 20340, "length": 18, - "parent_index": 1249 + "parent_index": 1250 }, "operator": 31, "prefix": false, @@ -27137,7 +27551,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1260, + "id": 1261, "node_type": 22, "src": { "line": 621, @@ -27145,10 +27559,10 @@ "start": 20324, "end": 20340, "length": 17, - "parent_index": 1259 + "parent_index": 1260 }, "index_expression": { - "id": 1261, + "id": 1262, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27160,7 +27574,7 @@ "start": 20324, "end": 20335, "length": 12, - "parent_index": 1260 + "parent_index": 1261 }, "member_location": { "line": 621, @@ -27168,10 +27582,10 @@ "start": 20328, "end": 20335, "length": 8, - "parent_index": 1261 + "parent_index": 1262 }, "expression": { - "id": 1262, + "id": 1263, "node_type": 16, "src": { "line": 621, @@ -27179,7 +27593,7 @@ "start": 20324, "end": 20326, "length": 3, - "parent_index": 1261 + "parent_index": 1262 }, "name": "map", "type_description": { @@ -27187,18 +27601,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1262, - "is_pure": false + "referenced_declaration": 1263, + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { - "id": 1263, + "id": 1264, "node_type": 16, "src": { "line": 621, @@ -27206,7 +27622,7 @@ "start": 20337, "end": 20339, "length": 3, - "parent_index": 1260 + "parent_index": 1261 }, "name": "key", "type_description": { @@ -27214,8 +27630,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1263, - "is_pure": false + "referenced_declaration": 1264, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -27238,7 +27655,7 @@ } }, "body": { - "id": 1264, + "id": 1265, "node_type": 46, "kind": 0, "src": { @@ -27247,12 +27664,12 @@ "start": 20343, "end": 20373, "length": 31, - "parent_index": 1249 + "parent_index": 1250 }, "implemented": true, "statements": [ { - "id": 1265, + "id": 1266, "node_type": 47, "src": { "line": 622, @@ -27260,16 +27677,16 @@ "start": 20357, "end": 20363, "length": 7, - "parent_index": 1249 + "parent_index": 1250 }, - "function_return_parameters": 1249, + "function_return_parameters": 1250, "expression": null } ] } }, { - "id": 1266, + "id": 1267, "node_type": 18, "kind": 104, "src": { @@ -27278,7 +27695,7 @@ "start": 20383, "end": 20406, "length": 24, - "parent_index": 1249 + "parent_index": 1250 }, "operator": 27, "prefix": false, @@ -27287,7 +27704,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1267, + "id": 1268, "node_type": 22, "src": { "line": 624, @@ -27295,10 +27712,10 @@ "start": 20390, "end": 20406, "length": 17, - "parent_index": 1266 + "parent_index": 1267 }, "index_expression": { - "id": 1268, + "id": 1269, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27310,7 +27727,7 @@ "start": 20390, "end": 20401, "length": 12, - "parent_index": 1267 + "parent_index": 1268 }, "member_location": { "line": 624, @@ -27318,10 +27735,10 @@ "start": 20394, "end": 20401, "length": 8, - "parent_index": 1268 + "parent_index": 1269 }, "expression": { - "id": 1269, + "id": 1270, "node_type": 16, "src": { "line": 624, @@ -27329,7 +27746,7 @@ "start": 20390, "end": 20392, "length": 3, - "parent_index": 1268 + "parent_index": 1269 }, "name": "map", "type_description": { @@ -27337,18 +27754,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1269, - "is_pure": false + "referenced_declaration": 1270, + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { - "id": 1270, + "id": 1271, "node_type": 16, "src": { "line": 624, @@ -27356,7 +27775,7 @@ "start": 20403, "end": 20405, "length": 3, - "parent_index": 1267 + "parent_index": 1268 }, "name": "key", "type_description": { @@ -27364,8 +27783,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1270, - "is_pure": false + "referenced_declaration": 1271, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -27388,7 +27808,7 @@ } }, { - "id": 1271, + "id": 1272, "node_type": 18, "kind": 104, "src": { @@ -27397,7 +27817,7 @@ "start": 20417, "end": 20438, "length": 22, - "parent_index": 1249 + "parent_index": 1250 }, "operator": 27, "prefix": false, @@ -27406,7 +27826,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1272, + "id": 1273, "node_type": 22, "src": { "line": 625, @@ -27414,10 +27834,10 @@ "start": 20424, "end": 20438, "length": 15, - "parent_index": 1271 + "parent_index": 1272 }, "index_expression": { - "id": 1273, + "id": 1274, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27429,7 +27849,7 @@ "start": 20424, "end": 20433, "length": 10, - "parent_index": 1272 + "parent_index": 1273 }, "member_location": { "line": 625, @@ -27437,10 +27857,10 @@ "start": 20428, "end": 20433, "length": 6, - "parent_index": 1273 + "parent_index": 1274 }, "expression": { - "id": 1274, + "id": 1275, "node_type": 16, "src": { "line": 625, @@ -27448,7 +27868,7 @@ "start": 20424, "end": 20426, "length": 3, - "parent_index": 1273 + "parent_index": 1274 }, "name": "map", "type_description": { @@ -27456,18 +27876,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1274, - "is_pure": false + "referenced_declaration": 1275, + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { - "id": 1275, + "id": 1276, "node_type": 16, "src": { "line": 625, @@ -27475,7 +27897,7 @@ "start": 20435, "end": 20437, "length": 3, - "parent_index": 1272 + "parent_index": 1273 }, "name": "key", "type_description": { @@ -27483,8 +27905,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1275, - "is_pure": false + "referenced_declaration": 1276, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -27507,7 +27930,7 @@ } }, { - "id": 1276, + "id": 1277, "node_type": 44, "src": { "line": 627, @@ -27515,25 +27938,25 @@ "start": 20450, "end": 20481, "length": 32, - "parent_index": 1257 + "parent_index": 1258 }, "assignments": [ - 1277 + 1278 ], "declarations": [ { - "id": 1277, + "id": 1278, "state_mutability": 1, "name": "index", "node_type": 44, - "scope": 1257, + "scope": 1258, "src": { "line": 627, "column": 8, "start": 20450, "end": 20461, "length": 12, - "parent_index": 1276 + "parent_index": 1277 }, "name_location": { "line": 627, @@ -27541,12 +27964,12 @@ "start": 20457, "end": 20461, "length": 5, - "parent_index": 1277 + "parent_index": 1278 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1278, + "id": 1279, "node_type": 30, "src": { "line": 627, @@ -27554,7 +27977,7 @@ "start": 20450, "end": 20455, "length": 6, - "parent_index": 1277 + "parent_index": 1278 }, "name": "uint32", "referenced_declaration": 0, @@ -27567,7 +27990,7 @@ } ], "initial_value": { - "id": 1279, + "id": 1280, "node_type": 22, "src": { "line": 627, @@ -27575,10 +27998,10 @@ "start": 20465, "end": 20480, "length": 16, - "parent_index": 1276 + "parent_index": 1277 }, "index_expression": { - "id": 1280, + "id": 1281, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27590,7 +28013,7 @@ "start": 20465, "end": 20475, "length": 11, - "parent_index": 1276 + "parent_index": 1277 }, "member_location": { "line": 627, @@ -27598,10 +28021,10 @@ "start": 20469, "end": 20475, "length": 7, - "parent_index": 1280 + "parent_index": 1281 }, "expression": { - "id": 1281, + "id": 1282, "node_type": 16, "src": { "line": 627, @@ -27609,7 +28032,7 @@ "start": 20465, "end": 20467, "length": 3, - "parent_index": 1280 + "parent_index": 1281 }, "name": "map", "type_description": { @@ -27617,18 +28040,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1281, - "is_pure": false + "referenced_declaration": 1282, + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { - "id": 1282, + "id": 1283, "node_type": 16, "src": { "line": 627, @@ -27636,7 +28061,7 @@ "start": 20477, "end": 20479, "length": 3, - "parent_index": 1279 + "parent_index": 1280 }, "name": "key", "type_description": { @@ -27644,8 +28069,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1282, - "is_pure": false + "referenced_declaration": 1283, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -27664,7 +28090,7 @@ } }, { - "id": 1283, + "id": 1284, "node_type": 44, "src": { "line": 628, @@ -27672,25 +28098,25 @@ "start": 20491, "end": 20538, "length": 48, - "parent_index": 1257 + "parent_index": 1258 }, "assignments": [ - 1284 + 1285 ], "declarations": [ { - "id": 1284, + "id": 1285, "state_mutability": 1, "name": "lastKey", "node_type": 44, - "scope": 1257, + "scope": 1258, "src": { "line": 628, "column": 8, "start": 20491, "end": 20505, "length": 15, - "parent_index": 1283 + "parent_index": 1284 }, "name_location": { "line": 628, @@ -27698,12 +28124,12 @@ "start": 20499, "end": 20505, "length": 7, - "parent_index": 1284 + "parent_index": 1285 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1285, + "id": 1286, "node_type": 30, "src": { "line": 628, @@ -27711,7 +28137,7 @@ "start": 20491, "end": 20497, "length": 7, - "parent_index": 1284 + "parent_index": 1285 }, "name": "uint128", "referenced_declaration": 0, @@ -27724,7 +28150,7 @@ } ], "initial_value": { - "id": 1286, + "id": 1287, "node_type": 22, "src": { "line": 628, @@ -27732,10 +28158,10 @@ "start": 20509, "end": 20537, "length": 29, - "parent_index": 1283 + "parent_index": 1284 }, "index_expression": { - "id": 1287, + "id": 1288, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27747,7 +28173,7 @@ "start": 20509, "end": 20516, "length": 8, - "parent_index": 1283 + "parent_index": 1284 }, "member_location": { "line": 628, @@ -27755,10 +28181,10 @@ "start": 20513, "end": 20516, "length": 4, - "parent_index": 1287 + "parent_index": 1288 }, "expression": { - "id": 1288, + "id": 1289, "node_type": 16, "src": { "line": 628, @@ -27766,7 +28192,7 @@ "start": 20509, "end": 20511, "length": 3, - "parent_index": 1287 + "parent_index": 1288 }, "name": "map", "type_description": { @@ -27774,18 +28200,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1288, - "is_pure": false + "referenced_declaration": 1289, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { - "id": 1289, + "id": 1290, "is_constant": false, "is_pure": false, "node_type": 19, @@ -27795,11 +28223,11 @@ "start": 20518, "end": 20536, "length": 19, - "parent_index": 1286 + "parent_index": 1287 }, "operator": 2, "left_expression": { - "id": 1290, + "id": 1291, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27811,7 +28239,7 @@ "start": 20518, "end": 20532, "length": 15, - "parent_index": 1283 + "parent_index": 1284 }, "member_location": { "line": 628, @@ -27819,10 +28247,10 @@ "start": 20527, "end": 20532, "length": 6, - "parent_index": 1290 + "parent_index": 1291 }, "expression": { - "id": 1291, + "id": 1292, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27834,7 +28262,7 @@ "start": 20518, "end": 20525, "length": 8, - "parent_index": 1283 + "parent_index": 1284 }, "member_location": { "line": 628, @@ -27842,10 +28270,10 @@ "start": 20522, "end": 20525, "length": 4, - "parent_index": 1291 + "parent_index": 1292 }, "expression": { - "id": 1292, + "id": 1293, "node_type": 16, "src": { "line": 628, @@ -27853,7 +28281,7 @@ "start": 20518, "end": 20520, "length": 3, - "parent_index": 1291 + "parent_index": 1292 }, "name": "map", "type_description": { @@ -27861,25 +28289,28 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1292, - "is_pure": false + "referenced_declaration": 1293, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.length" }, "right_expression": { - "id": 1293, + "id": 1294, "node_type": 17, "kind": 49, "value": "1", @@ -27890,7 +28321,7 @@ "start": 20536, "end": 20536, "length": 1, - "parent_index": 1289 + "parent_index": 1290 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -27898,7 +28329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", @@ -27922,7 +28354,7 @@ } }, { - "id": 1294, + "id": 1295, "node_type": 27, "src": { "line": 630, @@ -27930,10 +28362,10 @@ "start": 20549, "end": 20577, "length": 29, - "parent_index": 1257 + "parent_index": 1258 }, "expression": { - "id": 1295, + "id": 1296, "node_type": 27, "src": { "line": 630, @@ -27941,11 +28373,11 @@ "start": 20549, "end": 20576, "length": 28, - "parent_index": 1294 + "parent_index": 1295 }, "operator": 11, "left_expression": { - "id": 1296, + "id": 1297, "node_type": 22, "src": { "line": 630, @@ -27953,10 +28385,10 @@ "start": 20549, "end": 20568, "length": 20, - "parent_index": 1295 + "parent_index": 1296 }, "index_expression": { - "id": 1297, + "id": 1298, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27968,7 +28400,7 @@ "start": 20549, "end": 20559, "length": 11, - "parent_index": 1296 + "parent_index": 1297 }, "member_location": { "line": 630, @@ -27976,10 +28408,10 @@ "start": 20553, "end": 20559, "length": 7, - "parent_index": 1297 + "parent_index": 1298 }, "expression": { - "id": 1298, + "id": 1299, "node_type": 16, "src": { "line": 630, @@ -27987,7 +28419,7 @@ "start": 20549, "end": 20551, "length": 3, - "parent_index": 1297 + "parent_index": 1298 }, "name": "map", "type_description": { @@ -27995,18 +28427,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1298, - "is_pure": false + "referenced_declaration": 1299, + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { - "id": 1299, + "id": 1300, "node_type": 16, "src": { "line": 630, @@ -28014,7 +28448,7 @@ "start": 20561, "end": 20567, "length": 7, - "parent_index": 1296 + "parent_index": 1297 }, "name": "lastKey", "type_description": { @@ -28022,8 +28456,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1283, - "is_pure": false + "referenced_declaration": 1284, + "is_pure": false, + "text": "lastKey" }, "type_descriptions": [ { @@ -28041,7 +28476,7 @@ } }, "right_expression": { - "id": 1300, + "id": 1301, "node_type": 16, "src": { "line": 630, @@ -28049,7 +28484,7 @@ "start": 20572, "end": 20576, "length": 5, - "parent_index": 1295 + "parent_index": 1296 }, "name": "index", "type_description": { @@ -28057,8 +28492,9 @@ "type_string": "uint32" }, "overloaded_declarations": [], - "referenced_declaration": 1276, - "is_pure": false + "referenced_declaration": 1277, + "is_pure": false, + "text": "index" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint128]$", @@ -28068,10 +28504,11 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint128]$", "type_string": "index[struct IterableMapping.Map:uint128]" - } + }, + "text": "map.indexOf[lastKey]=index;" }, { - "id": 1301, + "id": 1302, "node_type": 18, "kind": 104, "src": { @@ -28080,7 +28517,7 @@ "start": 20587, "end": 20609, "length": 23, - "parent_index": 1249 + "parent_index": 1250 }, "operator": 27, "prefix": false, @@ -28089,7 +28526,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1302, + "id": 1303, "node_type": 22, "src": { "line": 631, @@ -28097,10 +28534,10 @@ "start": 20594, "end": 20609, "length": 16, - "parent_index": 1301 + "parent_index": 1302 }, "index_expression": { - "id": 1303, + "id": 1304, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -28112,7 +28549,7 @@ "start": 20594, "end": 20604, "length": 11, - "parent_index": 1302 + "parent_index": 1303 }, "member_location": { "line": 631, @@ -28120,10 +28557,10 @@ "start": 20598, "end": 20604, "length": 7, - "parent_index": 1303 + "parent_index": 1304 }, "expression": { - "id": 1304, + "id": 1305, "node_type": 16, "src": { "line": 631, @@ -28131,7 +28568,7 @@ "start": 20594, "end": 20596, "length": 3, - "parent_index": 1303 + "parent_index": 1304 }, "name": "map", "type_description": { @@ -28139,18 +28576,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1304, - "is_pure": false + "referenced_declaration": 1305, + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { - "id": 1305, + "id": 1306, "node_type": 16, "src": { "line": 631, @@ -28158,7 +28597,7 @@ "start": 20606, "end": 20608, "length": 3, - "parent_index": 1302 + "parent_index": 1303 }, "name": "key", "type_description": { @@ -28166,8 +28605,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1305, - "is_pure": false + "referenced_declaration": 1306, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -28190,7 +28630,7 @@ } }, { - "id": 1306, + "id": 1307, "node_type": 27, "src": { "line": 633, @@ -28198,10 +28638,10 @@ "start": 20621, "end": 20646, "length": 26, - "parent_index": 1257 + "parent_index": 1258 }, "expression": { - "id": 1307, + "id": 1308, "node_type": 27, "src": { "line": 633, @@ -28209,11 +28649,11 @@ "start": 20621, "end": 20645, "length": 25, - "parent_index": 1306 + "parent_index": 1307 }, "operator": 11, "left_expression": { - "id": 1308, + "id": 1309, "node_type": 22, "src": { "line": 633, @@ -28221,10 +28661,10 @@ "start": 20621, "end": 20635, "length": 15, - "parent_index": 1307 + "parent_index": 1308 }, "index_expression": { - "id": 1309, + "id": 1310, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -28236,7 +28676,7 @@ "start": 20621, "end": 20628, "length": 8, - "parent_index": 1308 + "parent_index": 1309 }, "member_location": { "line": 633, @@ -28244,10 +28684,10 @@ "start": 20625, "end": 20628, "length": 4, - "parent_index": 1309 + "parent_index": 1310 }, "expression": { - "id": 1310, + "id": 1311, "node_type": 16, "src": { "line": 633, @@ -28255,7 +28695,7 @@ "start": 20621, "end": 20623, "length": 3, - "parent_index": 1309 + "parent_index": 1310 }, "name": "map", "type_description": { @@ -28263,18 +28703,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1310, - "is_pure": false + "referenced_declaration": 1311, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { - "id": 1311, + "id": 1312, "node_type": 16, "src": { "line": 633, @@ -28282,7 +28724,7 @@ "start": 20630, "end": 20634, "length": 5, - "parent_index": 1308 + "parent_index": 1309 }, "name": "index", "type_description": { @@ -28290,8 +28732,9 @@ "type_string": "uint32" }, "overloaded_declarations": [], - "referenced_declaration": 1276, - "is_pure": false + "referenced_declaration": 1277, + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -28309,7 +28752,7 @@ } }, "right_expression": { - "id": 1312, + "id": 1313, "node_type": 16, "src": { "line": 633, @@ -28317,7 +28760,7 @@ "start": 20639, "end": 20645, "length": 7, - "parent_index": 1307 + "parent_index": 1308 }, "name": "lastKey", "type_description": { @@ -28325,8 +28768,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1283, - "is_pure": false + "referenced_declaration": 1284, + "is_pure": false, + "text": "lastKey" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint32]$", @@ -28336,10 +28780,11 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint32]$", "type_string": "index[struct IterableMapping.Map:uint32]" - } + }, + "text": "map.keys[index]=lastKey;" }, { - "id": 1313, + "id": 1314, "node_type": 24, "kind": 24, "src": { @@ -28348,12 +28793,12 @@ "start": 20656, "end": 20669, "length": 14, - "parent_index": 1257 + "parent_index": 1258 }, "argument_types": [], "arguments": [], "expression": { - "id": 1314, + "id": 1315, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -28365,7 +28810,7 @@ "start": 20656, "end": 20667, "length": 12, - "parent_index": 1313 + "parent_index": 1314 }, "member_location": { "line": 634, @@ -28373,10 +28818,10 @@ "start": 20665, "end": 20667, "length": 3, - "parent_index": 1314 + "parent_index": 1315 }, "expression": { - "id": 1315, + "id": 1316, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -28388,7 +28833,7 @@ "start": 20656, "end": 20663, "length": 8, - "parent_index": 1314 + "parent_index": 1315 }, "member_location": { "line": 634, @@ -28396,10 +28841,10 @@ "start": 20660, "end": 20663, "length": 4, - "parent_index": 1315 + "parent_index": 1316 }, "expression": { - "id": 1316, + "id": 1317, "node_type": 16, "src": { "line": 634, @@ -28407,7 +28852,7 @@ "start": 20656, "end": 20658, "length": 3, - "parent_index": 1315 + "parent_index": 1316 }, "name": "map", "type_description": { @@ -28415,22 +28860,25 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1316, - "is_pure": false + "referenced_declaration": 1317, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -28446,7 +28894,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1250, + "id": 1251, "node_type": 43, "src": { "line": 620, @@ -28454,11 +28902,11 @@ "start": 20270, "end": 20297, "length": 28, - "parent_index": 1249 + "parent_index": 1250 }, "parameters": [ { - "id": 1251, + "id": 1252, "node_type": 44, "src": { "line": 620, @@ -28466,12 +28914,12 @@ "start": 20270, "end": 20284, "length": 15, - "parent_index": 1250 + "parent_index": 1251 }, - "scope": 1249, + "scope": 1250, "name": "map", "type_name": { - "id": 1252, + "id": 1253, "node_type": 69, "src": { "line": 620, @@ -28479,10 +28927,10 @@ "start": 20270, "end": 20272, "length": 3, - "parent_index": 1251 + "parent_index": 1252 }, "path_node": { - "id": 1253, + "id": 1254, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -28492,7 +28940,7 @@ "start": 20270, "end": 20272, "length": 3, - "parent_index": 1252 + "parent_index": 1253 }, "name_location": { "line": 620, @@ -28500,7 +28948,7 @@ "start": 20270, "end": 20272, "length": 3, - "parent_index": 1252 + "parent_index": 1253 } }, "referenced_declaration": 1155, @@ -28518,7 +28966,7 @@ } }, { - "id": 1254, + "id": 1255, "node_type": 44, "src": { "line": 620, @@ -28526,12 +28974,12 @@ "start": 20287, "end": 20297, "length": 11, - "parent_index": 1250 + "parent_index": 1251 }, - "scope": 1249, + "scope": 1250, "name": "key", "type_name": { - "id": 1255, + "id": 1256, "node_type": 30, "src": { "line": 620, @@ -28539,7 +28987,7 @@ "start": 20287, "end": 20293, "length": 7, - "parent_index": 1254 + "parent_index": 1255 }, "name": "uint128", "referenced_declaration": 0, @@ -28569,7 +29017,7 @@ ] }, "return_parameters": { - "id": 1256, + "id": 1257, "node_type": 43, "src": { "line": 620, @@ -28577,18 +29025,19 @@ "start": 20254, "end": 20676, "length": 423, - "parent_index": 1249 + "parent_index": 1250 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "remove(, uint128)", - "signature": "e2378e96", + "signature_raw": "remove(,uint128)", + "signature": "90813ada", "scope": 1139, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", "type_string": "function(struct IterableMapping.Map,uint128)" - } + }, + "text": "functionremove(Mapstoragemap,uint128key)internal{if(!map.inserted[key]){return;}deletemap.inserted[key];deletemap.values[key];uint32index=map.indexOf[key];uint128lastKey=map.keys[map.keys.length-1];map.indexOf[lastKey]=index;deletemap.indexOf[key];map.keys[index]=lastKey;map.keys.pop();}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/ItemsMarketplace.solgo.ast.proto.json b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/ItemsMarketplace.solgo.ast.proto.json index 109b3d12..89c09187 100644 --- a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/ItemsMarketplace.solgo.ast.proto.json +++ b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/ItemsMarketplace.solgo.ast.proto.json @@ -6,24 +6,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1317", + "id": "1318", "name": "Paused", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1318", + "id": "1319", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1319", + "id": "1320", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1319", + "scope": "1320", "src": { "column": "17", "end": "1710", "length": "15", "line": "55", - "parentIndex": "1318", + "parentIndex": "1319", "start": "1696" }, "stateMutability": "NONPAYABLE", @@ -33,7 +33,7 @@ "typeString": "address" }, "typeName": { - "id": "1320", + "id": "1321", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -41,7 +41,7 @@ "end": "1702", "length": "7", "line": "55", - "parentIndex": "1319", + "parentIndex": "1320", "start": "1696" }, "stateMutability": "NONPAYABLE", @@ -58,7 +58,7 @@ "end": "1712", "length": "30", "line": "55", - "parentIndex": "1317", + "parentIndex": "1318", "start": "1683" } }, @@ -70,7 +70,7 @@ "start": "1683" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Paused_\u00261317", + "typeIdentifier": "t_event\u0026_Global_Paused_\u00261318", "typeString": "event Global.Paused" } } @@ -78,24 +78,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1321", + "id": "1322", "name": "Unpaused", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1322", + "id": "1323", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1323", + "id": "1324", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1323", + "scope": "1324", "src": { "column": "19", "end": "1823", "length": "15", "line": "60", - "parentIndex": "1322", + "parentIndex": "1323", "start": "1809" }, "stateMutability": "NONPAYABLE", @@ -105,7 +105,7 @@ "typeString": "address" }, "typeName": { - "id": "1324", + "id": "1325", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -113,7 +113,7 @@ "end": "1815", "length": "7", "line": "60", - "parentIndex": "1323", + "parentIndex": "1324", "start": "1809" }, "stateMutability": "NONPAYABLE", @@ -130,7 +130,7 @@ "end": "1825", "length": "32", "line": "60", - "parentIndex": "1321", + "parentIndex": "1322", "start": "1794" } }, @@ -142,7 +142,7 @@ "start": "1794" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Unpaused_\u00261321", + "typeIdentifier": "t_event\u0026_Global_Unpaused_\u00261322", "typeString": "event Global.Unpaused" } } @@ -150,7 +150,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1325", + "id": "1326", "isStateVariable": true, "name": "_paused", "nodeType": "VARIABLE_DECLARATION", @@ -168,7 +168,7 @@ "typeString": "bool" }, "typeName": { - "id": "1326", + "id": "1327", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -176,7 +176,7 @@ "end": "1835", "length": "4", "line": "62", - "parentIndex": "1325", + "parentIndex": "1326", "start": "1832" }, "typeDescription": { @@ -190,7 +190,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1327", + "id": "1328", "isStateVariable": true, "name": "_owner", "nodeType": "VARIABLE_DECLARATION", @@ -208,7 +208,7 @@ "typeString": "address" }, "typeName": { - "id": "1328", + "id": "1329", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -216,7 +216,7 @@ "end": "4207", "length": "7", "line": "162", - "parentIndex": "1327", + "parentIndex": "1328", "start": "4201" }, "stateMutability": "NONPAYABLE", @@ -231,25 +231,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1329", + "id": "1330", "name": "OwnershipTransferred", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1330", + "id": "1331", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1331", + "id": "1332", "indexed": true, "name": "previousOwner", "nodeType": "VARIABLE_DECLARATION", - "scope": "1331", + "scope": "1332", "src": { "column": "31", "end": "4285", "length": "29", "line": "164", - "parentIndex": "1330", + "parentIndex": "1331", "start": "4257" }, "stateMutability": "NONPAYABLE", @@ -259,7 +259,7 @@ "typeString": "address" }, "typeName": { - "id": "1332", + "id": "1333", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -267,7 +267,7 @@ "end": "4263", "length": "7", "line": "164", - "parentIndex": "1331", + "parentIndex": "1332", "start": "4257" }, "stateMutability": "NONPAYABLE", @@ -279,17 +279,17 @@ "visibility": "INTERNAL" }, { - "id": "1333", + "id": "1334", "indexed": true, "name": "newOwner", "nodeType": "VARIABLE_DECLARATION", - "scope": "1333", + "scope": "1334", "src": { "column": "62", "end": "4311", "length": "24", "line": "164", - "parentIndex": "1330", + "parentIndex": "1331", "start": "4288" }, "stateMutability": "NONPAYABLE", @@ -299,7 +299,7 @@ "typeString": "address" }, "typeName": { - "id": "1334", + "id": "1335", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -307,7 +307,7 @@ "end": "4294", "length": "7", "line": "164", - "parentIndex": "1333", + "parentIndex": "1334", "start": "4288" }, "stateMutability": "NONPAYABLE", @@ -324,7 +324,7 @@ "end": "4313", "length": "84", "line": "164", - "parentIndex": "1329", + "parentIndex": "1330", "start": "4230" } }, @@ -336,7 +336,7 @@ "start": "4230" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_OwnershipTransferred_\u00261329", + "typeIdentifier": "t_event\u0026_Global_OwnershipTransferred_\u00261330", "typeString": "event Global.OwnershipTransferred" } } @@ -344,7 +344,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1335", + "id": "1336", "isConstant": true, "isStateVariable": true, "name": "oldOwner", @@ -363,7 +363,7 @@ "typeString": "address" }, "typeName": { - "id": "1336", + "id": "1337", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -371,7 +371,7 @@ "end": "6009", "length": "7", "line": "220", - "parentIndex": "1335", + "parentIndex": "1336", "start": "6003" }, "stateMutability": "NONPAYABLE", @@ -386,25 +386,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1337", + "id": "1338", "name": "Transfer", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1338", + "id": "1339", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1339", + "id": "1340", "indexed": true, "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "1339", + "scope": "1340", "src": { "column": "19", "end": "7402", "length": "20", "line": "269", - "parentIndex": "1338", + "parentIndex": "1339", "start": "7383" }, "stateMutability": "NONPAYABLE", @@ -414,7 +414,7 @@ "typeString": "address" }, "typeName": { - "id": "1340", + "id": "1341", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -422,7 +422,7 @@ "end": "7389", "length": "7", "line": "269", - "parentIndex": "1339", + "parentIndex": "1340", "start": "7383" }, "stateMutability": "NONPAYABLE", @@ -434,17 +434,17 @@ "visibility": "INTERNAL" }, { - "id": "1341", + "id": "1342", "indexed": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "1341", + "scope": "1342", "src": { "column": "41", "end": "7422", "length": "18", "line": "269", - "parentIndex": "1338", + "parentIndex": "1339", "start": "7405" }, "stateMutability": "NONPAYABLE", @@ -454,7 +454,7 @@ "typeString": "address" }, "typeName": { - "id": "1342", + "id": "1343", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -462,7 +462,7 @@ "end": "7411", "length": "7", "line": "269", - "parentIndex": "1341", + "parentIndex": "1342", "start": "7405" }, "stateMutability": "NONPAYABLE", @@ -474,17 +474,17 @@ "visibility": "INTERNAL" }, { - "id": "1343", + "id": "1344", "indexed": true, "name": "tokenId", "nodeType": "VARIABLE_DECLARATION", - "scope": "1343", + "scope": "1344", "src": { "column": "61", "end": "7447", "length": "23", "line": "269", - "parentIndex": "1338", + "parentIndex": "1339", "start": "7425" }, "stateMutability": "MUTABLE", @@ -494,7 +494,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1344", + "id": "1345", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -502,7 +502,7 @@ "end": "7431", "length": "7", "line": "269", - "parentIndex": "1343", + "parentIndex": "1344", "start": "7425" }, "typeDescription": { @@ -518,7 +518,7 @@ "end": "7449", "length": "82", "line": "269", - "parentIndex": "1337", + "parentIndex": "1338", "start": "7368" } }, @@ -530,7 +530,7 @@ "start": "7368" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Transfer_\u00261337", + "typeIdentifier": "t_event\u0026_Global_Transfer_\u00261338", "typeString": "event Global.Transfer" } } @@ -538,25 +538,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1345", + "id": "1346", "name": "Approval", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1346", + "id": "1347", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1347", + "id": "1348", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "1347", + "scope": "1348", "src": { "column": "19", "end": "7590", "length": "21", "line": "274", - "parentIndex": "1346", + "parentIndex": "1347", "start": "7570" }, "stateMutability": "NONPAYABLE", @@ -566,7 +566,7 @@ "typeString": "address" }, "typeName": { - "id": "1348", + "id": "1349", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -574,7 +574,7 @@ "end": "7576", "length": "7", "line": "274", - "parentIndex": "1347", + "parentIndex": "1348", "start": "7570" }, "stateMutability": "NONPAYABLE", @@ -586,17 +586,17 @@ "visibility": "INTERNAL" }, { - "id": "1349", + "id": "1350", "indexed": true, "name": "approved", "nodeType": "VARIABLE_DECLARATION", - "scope": "1349", + "scope": "1350", "src": { "column": "42", "end": "7616", "length": "24", "line": "274", - "parentIndex": "1346", + "parentIndex": "1347", "start": "7593" }, "stateMutability": "NONPAYABLE", @@ -606,7 +606,7 @@ "typeString": "address" }, "typeName": { - "id": "1350", + "id": "1351", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -614,7 +614,7 @@ "end": "7599", "length": "7", "line": "274", - "parentIndex": "1349", + "parentIndex": "1350", "start": "7593" }, "stateMutability": "NONPAYABLE", @@ -626,17 +626,17 @@ "visibility": "INTERNAL" }, { - "id": "1351", + "id": "1352", "indexed": true, "name": "tokenId", "nodeType": "VARIABLE_DECLARATION", - "scope": "1351", + "scope": "1352", "src": { "column": "68", "end": "7641", "length": "23", "line": "274", - "parentIndex": "1346", + "parentIndex": "1347", "start": "7619" }, "stateMutability": "MUTABLE", @@ -646,7 +646,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1352", + "id": "1353", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -654,7 +654,7 @@ "end": "7625", "length": "7", "line": "274", - "parentIndex": "1351", + "parentIndex": "1352", "start": "7619" }, "typeDescription": { @@ -670,7 +670,7 @@ "end": "7643", "length": "89", "line": "274", - "parentIndex": "1345", + "parentIndex": "1346", "start": "7555" } }, @@ -682,7 +682,7 @@ "start": "7555" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Approval_\u00261345", + "typeIdentifier": "t_event\u0026_Global_Approval_\u00261346", "typeString": "event Global.Approval" } } @@ -690,25 +690,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1353", + "id": "1354", "name": "ApprovalForAll", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1354", + "id": "1355", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1355", + "id": "1356", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "1355", + "scope": "1356", "src": { "column": "25", "end": "7813", "length": "21", "line": "279", - "parentIndex": "1354", + "parentIndex": "1355", "start": "7793" }, "stateMutability": "NONPAYABLE", @@ -718,7 +718,7 @@ "typeString": "address" }, "typeName": { - "id": "1356", + "id": "1357", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -726,7 +726,7 @@ "end": "7799", "length": "7", "line": "279", - "parentIndex": "1355", + "parentIndex": "1356", "start": "7793" }, "stateMutability": "NONPAYABLE", @@ -738,17 +738,17 @@ "visibility": "INTERNAL" }, { - "id": "1357", + "id": "1358", "indexed": true, "name": "operator", "nodeType": "VARIABLE_DECLARATION", - "scope": "1357", + "scope": "1358", "src": { "column": "48", "end": "7839", "length": "24", "line": "279", - "parentIndex": "1354", + "parentIndex": "1355", "start": "7816" }, "stateMutability": "NONPAYABLE", @@ -758,7 +758,7 @@ "typeString": "address" }, "typeName": { - "id": "1358", + "id": "1359", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -766,7 +766,7 @@ "end": "7822", "length": "7", "line": "279", - "parentIndex": "1357", + "parentIndex": "1358", "start": "7816" }, "stateMutability": "NONPAYABLE", @@ -778,16 +778,16 @@ "visibility": "INTERNAL" }, { - "id": "1359", + "id": "1360", "name": "approved", "nodeType": "VARIABLE_DECLARATION", - "scope": "1359", + "scope": "1360", "src": { "column": "74", "end": "7854", "length": "13", "line": "279", - "parentIndex": "1354", + "parentIndex": "1355", "start": "7842" }, "stateMutability": "MUTABLE", @@ -797,7 +797,7 @@ "typeString": "bool" }, "typeName": { - "id": "1360", + "id": "1361", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -805,7 +805,7 @@ "end": "7845", "length": "4", "line": "279", - "parentIndex": "1359", + "parentIndex": "1360", "start": "7842" }, "typeDescription": { @@ -821,7 +821,7 @@ "end": "7856", "length": "85", "line": "279", - "parentIndex": "1353", + "parentIndex": "1354", "start": "7772" } }, @@ -833,7 +833,7 @@ "start": "7772" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_ApprovalForAll_\u00261353", + "typeIdentifier": "t_event\u0026_Global_ApprovalForAll_\u00261354", "typeString": "event Global.ApprovalForAll" } } @@ -841,7 +841,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1361", + "id": "1362", "isStateVariable": true, "name": "tokenIdToOrder", "nodeType": "VARIABLE_DECLARATION", @@ -859,17 +859,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1362", + "id": "1363", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1363", + "id": "1364", "name": "IterableMapping", "nameLocation": { "column": "4", "end": "12060", "length": "15", "line": "401", - "parentIndex": "1362", + "parentIndex": "1363", "start": "12046" }, "nodeType": "IDENTIFIER_PATH", @@ -879,7 +879,7 @@ "end": "12064", "length": "19", "line": "401", - "parentIndex": "1362", + "parentIndex": "1363", "start": "12046" } }, @@ -889,7 +889,7 @@ "end": "12064", "length": "19", "line": "401", - "parentIndex": "1361", + "parentIndex": "1362", "start": "12046" }, "typeDescription": { @@ -903,7 +903,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1364", + "id": "1365", "isStateVariable": true, "name": "collection", "nodeType": "VARIABLE_DECLARATION", @@ -921,17 +921,17 @@ "typeString": "contract IERC721" }, "typeName": { - "id": "1365", + "id": "1366", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1366", + "id": "1367", "name": "IERC721", "nameLocation": { "column": "4", "end": "12100", "length": "7", "line": "402", - "parentIndex": "1365", + "parentIndex": "1366", "start": "12094" }, "nodeType": "IDENTIFIER_PATH", @@ -941,7 +941,7 @@ "end": "12100", "length": "7", "line": "402", - "parentIndex": "1365", + "parentIndex": "1366", "start": "12094" } }, @@ -951,7 +951,7 @@ "end": "12100", "length": "7", "line": "402", - "parentIndex": "1364", + "parentIndex": "1365", "start": "12094" }, "typeDescription": { @@ -965,7 +965,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1367", + "id": "1368", "isStateVariable": true, "name": "commissionRate", "nodeType": "VARIABLE_DECLARATION", @@ -983,7 +983,7 @@ "typeString": "uint8" }, "typeName": { - "id": "1368", + "id": "1369", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -991,7 +991,7 @@ "end": "12129", "length": "5", "line": "403", - "parentIndex": "1367", + "parentIndex": "1368", "start": "12125" }, "typeDescription": { @@ -1005,25 +1005,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1369", + "id": "1370", "name": "OrderFilled", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1370", + "id": "1371", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1371", + "id": "1372", "indexed": true, "name": "tokenId", "nodeType": "VARIABLE_DECLARATION", - "scope": "1371", + "scope": "1372", "src": { "column": "22", "end": "12211", "length": "23", "line": "405", - "parentIndex": "1370", + "parentIndex": "1371", "start": "12189" }, "stateMutability": "MUTABLE", @@ -1033,7 +1033,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1372", + "id": "1373", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1041,7 +1041,7 @@ "end": "12195", "length": "7", "line": "405", - "parentIndex": "1371", + "parentIndex": "1372", "start": "12189" }, "typeDescription": { @@ -1052,16 +1052,16 @@ "visibility": "INTERNAL" }, { - "id": "1373", + "id": "1374", "name": "seller", "nodeType": "VARIABLE_DECLARATION", - "scope": "1373", + "scope": "1374", "src": { "column": "47", "end": "12227", "length": "14", "line": "405", - "parentIndex": "1370", + "parentIndex": "1371", "start": "12214" }, "stateMutability": "NONPAYABLE", @@ -1071,7 +1071,7 @@ "typeString": "address" }, "typeName": { - "id": "1374", + "id": "1375", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1079,7 +1079,7 @@ "end": "12220", "length": "7", "line": "405", - "parentIndex": "1373", + "parentIndex": "1374", "start": "12214" }, "stateMutability": "NONPAYABLE", @@ -1091,16 +1091,16 @@ "visibility": "INTERNAL" }, { - "id": "1375", + "id": "1376", "name": "buyer", "nodeType": "VARIABLE_DECLARATION", - "scope": "1375", + "scope": "1376", "src": { "column": "63", "end": "12242", "length": "13", "line": "405", - "parentIndex": "1370", + "parentIndex": "1371", "start": "12230" }, "stateMutability": "NONPAYABLE", @@ -1110,7 +1110,7 @@ "typeString": "address" }, "typeName": { - "id": "1376", + "id": "1377", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1118,7 +1118,7 @@ "end": "12236", "length": "7", "line": "405", - "parentIndex": "1375", + "parentIndex": "1376", "start": "12230" }, "stateMutability": "NONPAYABLE", @@ -1130,17 +1130,17 @@ "visibility": "INTERNAL" }, { - "id": "1377", + "id": "1378", "indexed": true, "name": "price", "nodeType": "VARIABLE_DECLARATION", - "scope": "1377", + "scope": "1378", "src": { "column": "78", "end": "12265", "length": "21", "line": "405", - "parentIndex": "1370", + "parentIndex": "1371", "start": "12245" }, "stateMutability": "MUTABLE", @@ -1150,7 +1150,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1378", + "id": "1379", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1158,7 +1158,7 @@ "end": "12251", "length": "7", "line": "405", - "parentIndex": "1377", + "parentIndex": "1378", "start": "12245" }, "typeDescription": { @@ -1174,7 +1174,7 @@ "end": "12267", "length": "97", "line": "405", - "parentIndex": "1369", + "parentIndex": "1370", "start": "12171" } }, @@ -1186,7 +1186,7 @@ "start": "12171" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_OrderFilled_\u00261369", + "typeIdentifier": "t_event\u0026_Global_OrderFilled_\u00261370", "typeString": "event Global.OrderFilled" } } @@ -1194,7 +1194,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1379", + "id": "1380", "isConstant": true, "isStateVariable": true, "name": "order", @@ -1213,17 +1213,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1380", + "id": "1381", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1381", + "id": "1382", "name": "IterableMapping", "nameLocation": { "column": "8", "end": "12673", "length": "15", "line": "414", - "parentIndex": "1380", + "parentIndex": "1381", "start": "12659" }, "nodeType": "IDENTIFIER_PATH", @@ -1233,7 +1233,7 @@ "end": "12679", "length": "21", "line": "414", - "parentIndex": "1380", + "parentIndex": "1381", "start": "12659" } }, @@ -1243,7 +1243,7 @@ "end": "12679", "length": "21", "line": "414", - "parentIndex": "1379", + "parentIndex": "1380", "start": "12659" }, "typeDescription": { @@ -1257,7 +1257,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1382", + "id": "1383", "isConstant": true, "isStateVariable": true, "name": "newOrder", @@ -1276,17 +1276,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1383", + "id": "1384", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1384", + "id": "1385", "name": "IterableMapping", "nameLocation": { "column": "12", "end": "12940", "length": "15", "line": "420", - "parentIndex": "1383", + "parentIndex": "1384", "start": "12926" }, "nodeType": "IDENTIFIER_PATH", @@ -1296,7 +1296,7 @@ "end": "12946", "length": "21", "line": "420", - "parentIndex": "1383", + "parentIndex": "1384", "start": "12926" } }, @@ -1306,7 +1306,7 @@ "end": "12946", "length": "21", "line": "420", - "parentIndex": "1382", + "parentIndex": "1383", "start": "12926" }, "typeDescription": { @@ -1320,7 +1320,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1385", + "id": "1386", "isConstant": true, "isStateVariable": true, "name": "order", @@ -1339,17 +1339,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1386", + "id": "1387", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1387", + "id": "1388", "name": "IterableMapping", "nameLocation": { "column": "8", "end": "13395", "length": "15", "line": "434", - "parentIndex": "1386", + "parentIndex": "1387", "start": "13381" }, "nodeType": "IDENTIFIER_PATH", @@ -1359,7 +1359,7 @@ "end": "13401", "length": "21", "line": "434", - "parentIndex": "1386", + "parentIndex": "1387", "start": "13381" } }, @@ -1369,7 +1369,7 @@ "end": "13401", "length": "21", "line": "434", - "parentIndex": "1385", + "parentIndex": "1386", "start": "13381" }, "typeDescription": { @@ -1383,7 +1383,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1388", + "id": "1389", "isConstant": true, "isStateVariable": true, "name": "seller", @@ -1402,7 +1402,7 @@ "typeString": "address" }, "typeName": { - "id": "1389", + "id": "1390", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1410,7 +1410,7 @@ "end": "13463", "length": "7", "line": "435", - "parentIndex": "1388", + "parentIndex": "1389", "start": "13457" }, "stateMutability": "NONPAYABLE", @@ -1425,7 +1425,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1390", + "id": "1391", "isConstant": true, "isStateVariable": true, "name": "startPrice", @@ -1444,7 +1444,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1391", + "id": "1392", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1452,7 +1452,7 @@ "end": "13502", "length": "7", "line": "436", - "parentIndex": "1390", + "parentIndex": "1391", "start": "13496" }, "typeDescription": { @@ -1466,7 +1466,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1392", + "id": "1393", "isConstant": true, "isStateVariable": true, "name": "endPrice", @@ -1485,7 +1485,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1393", + "id": "1394", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1493,7 +1493,7 @@ "end": "13549", "length": "7", "line": "437", - "parentIndex": "1392", + "parentIndex": "1393", "start": "13543" }, "typeDescription": { @@ -1507,7 +1507,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1394", + "id": "1395", "isConstant": true, "isStateVariable": true, "name": "duration", @@ -1526,7 +1526,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1395", + "id": "1396", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1534,7 +1534,7 @@ "end": "13592", "length": "7", "line": "438", - "parentIndex": "1394", + "parentIndex": "1395", "start": "13586" }, "typeDescription": { @@ -1548,7 +1548,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1396", + "id": "1397", "isConstant": true, "isStateVariable": true, "name": "currentPrice", @@ -1567,7 +1567,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1397", + "id": "1398", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1575,7 +1575,7 @@ "end": "13830", "length": "7", "line": "443", - "parentIndex": "1396", + "parentIndex": "1397", "start": "13824" }, "typeDescription": { @@ -1589,7 +1589,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1398", + "id": "1399", "isConstant": true, "isStateVariable": true, "name": "elapsedTime", @@ -1608,7 +1608,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1399", + "id": "1400", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1616,7 +1616,7 @@ "end": "14004", "length": "7", "line": "446", - "parentIndex": "1398", + "parentIndex": "1399", "start": "13998" }, "typeDescription": { @@ -1630,7 +1630,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1400", + "id": "1401", "isConstant": true, "isStateVariable": true, "name": "priceDifference", @@ -1649,7 +1649,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1401", + "id": "1402", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1657,7 +1657,7 @@ "end": "14081", "length": "7", "line": "447", - "parentIndex": "1400", + "parentIndex": "1401", "start": "14075" }, "typeDescription": { @@ -1671,7 +1671,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1402", + "id": "1403", "isConstant": true, "isStateVariable": true, "name": "commission", @@ -1690,7 +1690,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1403", + "id": "1404", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1698,7 +1698,7 @@ "end": "14689", "length": "7", "line": "462", - "parentIndex": "1402", + "parentIndex": "1403", "start": "14683" }, "typeDescription": { @@ -1712,7 +1712,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1404", + "id": "1405", "isConstant": true, "isStateVariable": true, "name": "sellerProceeds", @@ -1731,7 +1731,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1405", + "id": "1406", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1739,7 +1739,7 @@ "end": "14758", "length": "7", "line": "463", - "parentIndex": "1404", + "parentIndex": "1405", "start": "14752" }, "typeDescription": { @@ -1753,7 +1753,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1406", + "id": "1407", "isConstant": true, "isStateVariable": true, "name": "order", @@ -1772,17 +1772,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1407", + "id": "1408", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1408", + "id": "1409", "name": "IterableMapping", "nameLocation": { "column": "8", "end": "15206", "length": "15", "line": "474", - "parentIndex": "1407", + "parentIndex": "1408", "start": "15192" }, "nodeType": "IDENTIFIER_PATH", @@ -1792,7 +1792,7 @@ "end": "15212", "length": "21", "line": "474", - "parentIndex": "1407", + "parentIndex": "1408", "start": "15192" } }, @@ -1802,7 +1802,7 @@ "end": "15212", "length": "21", "line": "474", - "parentIndex": "1406", + "parentIndex": "1407", "start": "15192" }, "typeDescription": { @@ -1816,7 +1816,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1409", + "id": "1410", "isConstant": true, "isStateVariable": true, "name": "order", @@ -1835,17 +1835,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1410", + "id": "1411", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1411", + "id": "1412", "name": "IterableMapping", "nameLocation": { "column": "8", "end": "15654", "length": "15", "line": "482", - "parentIndex": "1410", + "parentIndex": "1411", "start": "15640" }, "nodeType": "IDENTIFIER_PATH", @@ -1855,7 +1855,7 @@ "end": "15660", "length": "21", "line": "482", - "parentIndex": "1410", + "parentIndex": "1411", "start": "15640" } }, @@ -1865,7 +1865,7 @@ "end": "15660", "length": "21", "line": "482", - "parentIndex": "1409", + "parentIndex": "1410", "start": "15640" }, "typeDescription": { @@ -1879,7 +1879,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1412", + "id": "1413", "isConstant": true, "isStateVariable": true, "name": "totalOrders", @@ -1898,7 +1898,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1413", + "id": "1414", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1906,7 +1906,7 @@ "end": "16056", "length": "6", "line": "493", - "parentIndex": "1412", + "parentIndex": "1413", "start": "16051" }, "typeDescription": { @@ -1920,7 +1920,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1414", + "id": "1415", "isConstant": true, "isStateVariable": true, "name": "i", @@ -1939,7 +1939,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1415", + "id": "1416", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1947,7 +1947,7 @@ "end": "16113", "length": "6", "line": "494", - "parentIndex": "1414", + "parentIndex": "1415", "start": "16108" }, "typeDescription": { @@ -1961,7 +1961,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1416", + "id": "1417", "isConstant": true, "isStateVariable": true, "name": "tokenId", @@ -1980,7 +1980,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1417", + "id": "1418", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1988,7 +1988,7 @@ "end": "16164", "length": "7", "line": "495", - "parentIndex": "1416", + "parentIndex": "1417", "start": "16158" }, "typeDescription": { @@ -2002,7 +2002,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1418", + "id": "1419", "isConstant": true, "isStateVariable": true, "name": "order", @@ -2021,17 +2021,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1419", + "id": "1420", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1420", + "id": "1421", "name": "IterableMapping", "nameLocation": { "column": "12", "end": "16235", "length": "15", "line": "496", - "parentIndex": "1419", + "parentIndex": "1420", "start": "16221" }, "nodeType": "IDENTIFIER_PATH", @@ -2041,7 +2041,7 @@ "end": "16241", "length": "21", "line": "496", - "parentIndex": "1419", + "parentIndex": "1420", "start": "16221" } }, @@ -2051,7 +2051,7 @@ "end": "16241", "length": "21", "line": "496", - "parentIndex": "1418", + "parentIndex": "1419", "start": "16221" }, "typeDescription": { @@ -2065,7 +2065,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1421", + "id": "1422", "isConstant": true, "isStateVariable": true, "name": "totalOrders", @@ -2084,7 +2084,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1422", + "id": "1423", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2092,7 +2092,7 @@ "end": "16502", "length": "6", "line": "505", - "parentIndex": "1421", + "parentIndex": "1422", "start": "16497" }, "typeDescription": { @@ -2106,7 +2106,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1423", + "id": "1424", "isConstant": true, "isStateVariable": true, "name": "i", @@ -2125,7 +2125,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1424", + "id": "1425", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2133,7 +2133,7 @@ "end": "16559", "length": "6", "line": "506", - "parentIndex": "1423", + "parentIndex": "1424", "start": "16554" }, "typeDescription": { @@ -2147,7 +2147,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1425", + "id": "1426", "isConstant": true, "isStateVariable": true, "name": "tokenId", @@ -2166,7 +2166,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1426", + "id": "1427", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2174,7 +2174,7 @@ "end": "16610", "length": "7", "line": "507", - "parentIndex": "1425", + "parentIndex": "1426", "start": "16604" }, "typeDescription": { @@ -2188,7 +2188,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1427", + "id": "1428", "isConstant": true, "isStateVariable": true, "name": "totalOrders", @@ -2207,7 +2207,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1428", + "id": "1429", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2215,7 +2215,7 @@ "end": "16811", "length": "6", "line": "513", - "parentIndex": "1427", + "parentIndex": "1428", "start": "16806" }, "typeDescription": { @@ -2229,7 +2229,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1429", + "id": "1430", "isConstant": true, "isStateVariable": true, "name": "ordersArray", @@ -2248,11 +2248,11 @@ "typeString": "struct IterableMapping.Order" }, "typeName": { - "id": "1430", + "id": "1431", "name": "IterableMapping.Order", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1431", + "id": "1432", "name": "IterableMapping.Order", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1141", @@ -2261,7 +2261,7 @@ "end": "16878", "length": "21", "line": "514", - "parentIndex": "1430", + "parentIndex": "1431", "start": "16858" } }, @@ -2271,7 +2271,7 @@ "end": "16878", "length": "21", "line": "514", - "parentIndex": "1429", + "parentIndex": "1430", "start": "16858" }, "typeDescription": { @@ -2285,7 +2285,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1432", + "id": "1433", "isConstant": true, "isStateVariable": true, "name": "validOrdersIndex", @@ -2304,7 +2304,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1433", + "id": "1434", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2312,7 +2312,7 @@ "end": "16958", "length": "6", "line": "515", - "parentIndex": "1432", + "parentIndex": "1433", "start": "16953" }, "typeDescription": { @@ -2326,7 +2326,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1434", + "id": "1435", "isConstant": true, "isStateVariable": true, "name": "i", @@ -2345,7 +2345,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1435", + "id": "1436", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2353,7 +2353,7 @@ "end": "17000", "length": "6", "line": "516", - "parentIndex": "1434", + "parentIndex": "1435", "start": "16995" }, "typeDescription": { @@ -2367,7 +2367,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1436", + "id": "1437", "isConstant": true, "isStateVariable": true, "name": "tokenId", @@ -2386,7 +2386,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1437", + "id": "1438", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2394,7 +2394,7 @@ "end": "17051", "length": "7", "line": "517", - "parentIndex": "1436", + "parentIndex": "1437", "start": "17045" }, "typeDescription": { @@ -2408,7 +2408,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1438", + "id": "1439", "isConstant": true, "isStateVariable": true, "name": "order", @@ -2427,17 +2427,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1439", + "id": "1440", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1440", + "id": "1441", "name": "IterableMapping", "nameLocation": { "column": "12", "end": "17122", "length": "15", "line": "518", - "parentIndex": "1439", + "parentIndex": "1440", "start": "17108" }, "nodeType": "IDENTIFIER_PATH", @@ -2447,7 +2447,7 @@ "end": "17128", "length": "21", "line": "518", - "parentIndex": "1439", + "parentIndex": "1440", "start": "17108" } }, @@ -2457,7 +2457,7 @@ "end": "17128", "length": "21", "line": "518", - "parentIndex": "1438", + "parentIndex": "1439", "start": "17108" }, "typeDescription": { @@ -2471,7 +2471,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1441", + "id": "1442", "isConstant": true, "isStateVariable": true, "name": "totalOrders", @@ -2490,7 +2490,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1442", + "id": "1443", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2498,7 +2498,7 @@ "end": "17589", "length": "6", "line": "531", - "parentIndex": "1441", + "parentIndex": "1442", "start": "17584" }, "typeDescription": { @@ -2512,7 +2512,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1443", + "id": "1444", "isConstant": true, "isStateVariable": true, "name": "sellerOrders", @@ -2531,11 +2531,11 @@ "typeString": "struct IterableMapping.Order" }, "typeName": { - "id": "1444", + "id": "1445", "name": "IterableMapping.Order", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1445", + "id": "1446", "name": "IterableMapping.Order", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1141", @@ -2544,7 +2544,7 @@ "end": "17656", "length": "21", "line": "532", - "parentIndex": "1444", + "parentIndex": "1445", "start": "17636" } }, @@ -2554,7 +2554,7 @@ "end": "17656", "length": "21", "line": "532", - "parentIndex": "1443", + "parentIndex": "1444", "start": "17636" }, "typeDescription": { @@ -2568,7 +2568,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1446", + "id": "1447", "isConstant": true, "isStateVariable": true, "name": "validOrdersIndex", @@ -2587,7 +2587,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1447", + "id": "1448", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2595,7 +2595,7 @@ "end": "17737", "length": "6", "line": "533", - "parentIndex": "1446", + "parentIndex": "1447", "start": "17732" }, "typeDescription": { @@ -2609,7 +2609,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1448", + "id": "1449", "isConstant": true, "isStateVariable": true, "name": "i", @@ -2628,7 +2628,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1449", + "id": "1450", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2636,7 +2636,7 @@ "end": "17779", "length": "6", "line": "534", - "parentIndex": "1448", + "parentIndex": "1449", "start": "17774" }, "typeDescription": { @@ -2650,7 +2650,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1450", + "id": "1451", "isConstant": true, "isStateVariable": true, "name": "tokenId", @@ -2669,7 +2669,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1451", + "id": "1452", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2677,7 +2677,7 @@ "end": "17830", "length": "7", "line": "535", - "parentIndex": "1450", + "parentIndex": "1451", "start": "17824" }, "typeDescription": { @@ -2691,7 +2691,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1452", + "id": "1453", "isConstant": true, "isStateVariable": true, "name": "order", @@ -2710,17 +2710,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1453", + "id": "1454", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1454", + "id": "1455", "name": "IterableMapping", "nameLocation": { "column": "12", "end": "17901", "length": "15", "line": "536", - "parentIndex": "1453", + "parentIndex": "1454", "start": "17887" }, "nodeType": "IDENTIFIER_PATH", @@ -2730,7 +2730,7 @@ "end": "17907", "length": "21", "line": "536", - "parentIndex": "1453", + "parentIndex": "1454", "start": "17887" } }, @@ -2740,7 +2740,7 @@ "end": "17907", "length": "21", "line": "536", - "parentIndex": "1452", + "parentIndex": "1453", "start": "17887" }, "typeDescription": { @@ -2754,7 +2754,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1455", + "id": "1456", "isConstant": true, "isStateVariable": true, "name": "order", @@ -2773,17 +2773,17 @@ "typeString": "contract IterableMapping" }, "typeName": { - "id": "1456", + "id": "1457", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1457", + "id": "1458", "name": "IterableMapping", "nameLocation": { "column": "8", "end": "18404", "length": "15", "line": "550", - "parentIndex": "1456", + "parentIndex": "1457", "start": "18390" }, "nodeType": "IDENTIFIER_PATH", @@ -2793,7 +2793,7 @@ "end": "18410", "length": "21", "line": "550", - "parentIndex": "1456", + "parentIndex": "1457", "start": "18390" } }, @@ -2803,7 +2803,7 @@ "end": "18410", "length": "21", "line": "550", - "parentIndex": "1455", + "parentIndex": "1456", "start": "18390" }, "typeDescription": { @@ -2817,7 +2817,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1458", + "id": "1459", "isConstant": true, "isStateVariable": true, "name": "balance", @@ -2836,7 +2836,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1459", + "id": "1460", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2844,7 +2844,7 @@ "end": "18823", "length": "7", "line": "563", - "parentIndex": "1458", + "parentIndex": "1459", "start": "18817" }, "typeDescription": { @@ -2859,19 +2859,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Order", - "id": "1460", + "id": "1461", "members": [ { - "id": "1461", + "id": "1462", "name": "seller", "nodeType": "VARIABLE_DECLARATION", - "scope": "1461", + "scope": "1462", "src": { "column": "8", "end": "19177", "length": "15", "line": "581", - "parentIndex": "1460", + "parentIndex": "1461", "start": "19163" }, "stateMutability": "NONPAYABLE", @@ -2880,7 +2880,7 @@ "typeString": "address" }, "typeName": { - "id": "1462", + "id": "1463", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2888,7 +2888,7 @@ "end": "19169", "length": "7", "line": "581", - "parentIndex": "1461", + "parentIndex": "1462", "start": "19163" }, "stateMutability": "NONPAYABLE", @@ -2900,16 +2900,16 @@ "visibility": "INTERNAL" }, { - "id": "1463", + "id": "1464", "name": "tokenId", "nodeType": "VARIABLE_DECLARATION", - "scope": "1463", + "scope": "1464", "src": { "column": "8", "end": "19202", "length": "16", "line": "582", - "parentIndex": "1460", + "parentIndex": "1461", "start": "19187" }, "stateMutability": "MUTABLE", @@ -2918,7 +2918,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1464", + "id": "1465", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2926,7 +2926,7 @@ "end": "19193", "length": "7", "line": "582", - "parentIndex": "1463", + "parentIndex": "1464", "start": "19187" }, "typeDescription": { @@ -2937,16 +2937,16 @@ "visibility": "INTERNAL" }, { - "id": "1465", + "id": "1466", "name": "startPrice", "nodeType": "VARIABLE_DECLARATION", - "scope": "1465", + "scope": "1466", "src": { "column": "8", "end": "19230", "length": "19", "line": "583", - "parentIndex": "1460", + "parentIndex": "1461", "start": "19212" }, "stateMutability": "MUTABLE", @@ -2955,7 +2955,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1466", + "id": "1467", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2963,7 +2963,7 @@ "end": "19218", "length": "7", "line": "583", - "parentIndex": "1465", + "parentIndex": "1466", "start": "19212" }, "typeDescription": { @@ -2974,16 +2974,16 @@ "visibility": "INTERNAL" }, { - "id": "1467", + "id": "1468", "name": "endPrice", "nodeType": "VARIABLE_DECLARATION", - "scope": "1467", + "scope": "1468", "src": { "column": "8", "end": "19256", "length": "17", "line": "584", - "parentIndex": "1460", + "parentIndex": "1461", "start": "19240" }, "stateMutability": "MUTABLE", @@ -2992,7 +2992,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1468", + "id": "1469", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3000,7 +3000,7 @@ "end": "19246", "length": "7", "line": "584", - "parentIndex": "1467", + "parentIndex": "1468", "start": "19240" }, "typeDescription": { @@ -3011,16 +3011,16 @@ "visibility": "INTERNAL" }, { - "id": "1469", + "id": "1470", "name": "duration", "nodeType": "VARIABLE_DECLARATION", - "scope": "1469", + "scope": "1470", "src": { "column": "8", "end": "19281", "length": "16", "line": "585", - "parentIndex": "1460", + "parentIndex": "1461", "start": "19266" }, "stateMutability": "MUTABLE", @@ -3029,7 +3029,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1470", + "id": "1471", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3037,7 +3037,7 @@ "end": "19271", "length": "6", "line": "585", - "parentIndex": "1469", + "parentIndex": "1470", "start": "19266" }, "typeDescription": { @@ -3048,16 +3048,16 @@ "visibility": "INTERNAL" }, { - "id": "1471", + "id": "1472", "name": "startTime", "nodeType": "VARIABLE_DECLARATION", - "scope": "1471", + "scope": "1472", "src": { "column": "8", "end": "19307", "length": "17", "line": "586", - "parentIndex": "1460", + "parentIndex": "1461", "start": "19291" }, "stateMutability": "MUTABLE", @@ -3066,7 +3066,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1472", + "id": "1473", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3074,7 +3074,7 @@ "end": "19296", "length": "6", "line": "586", - "parentIndex": "1471", + "parentIndex": "1472", "start": "19291" }, "typeDescription": { @@ -3091,7 +3091,7 @@ "end": "19151", "length": "5", "line": "580", - "parentIndex": "1460", + "parentIndex": "1461", "start": "19147" }, "nodeType": "STRUCT_DEFINITION", @@ -3104,7 +3104,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Order_$1460", + "typeIdentifier": "t_struct$_Global_Order_$1461", "typeString": "struct Global.Order" }, "visibility": "PUBLIC" @@ -3114,19 +3114,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Map", - "id": "1473", + "id": "1474", "members": [ { - "id": "1474", + "id": "1475", "name": "keys", "nodeType": "VARIABLE_DECLARATION", - "scope": "1474", + "scope": "1475", "src": { "column": "8", "end": "19401", "length": "15", "line": "591", - "parentIndex": "1473", + "parentIndex": "1474", "start": "19387" }, "stateMutability": "MUTABLE", @@ -3135,7 +3135,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1475", + "id": "1476", "name": "uint128", "nodeType": "IDENTIFIER", "src": { @@ -3143,7 +3143,7 @@ "end": "19393", "length": "7", "line": "591", - "parentIndex": "1474", + "parentIndex": "1475", "start": "19387" }, "typeDescription": { @@ -3154,27 +3154,27 @@ "visibility": "INTERNAL" }, { - "id": "1476", + "id": "1477", "name": "values", "nodeType": "VARIABLE_DECLARATION", - "scope": "1476", + "scope": "1477", "src": { "column": "8", "end": "19443", "length": "33", "line": "592", - "parentIndex": "1473", + "parentIndex": "1474", "start": "19411" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint128_$t_Order$", + "typeIdentifier": "t_mapping_$t_uint128_$t_struct$_Global_Order_$1461$", "typeString": "mapping(uint128=\u003eOrder)" }, "typeName": { - "id": "1477", + "id": "1478", "keyType": { - "id": "1478", + "id": "1479", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3182,7 +3182,7 @@ "end": "19425", "length": "7", "line": "592", - "parentIndex": "1477", + "parentIndex": "1478", "start": "19419" }, "typeDescription": { @@ -3195,36 +3195,61 @@ "end": "19425", "length": "7", "line": "592", - "parentIndex": "1477", + "parentIndex": "1478", "start": "19419" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "1481", + "name": "Order", + "nameLocation": { + "column": "27", + "end": "19434", + "length": "5", + "line": "592", + "parentIndex": "1478", + "start": "19430" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1461", + "src": { + "column": "27", + "end": "19434", + "length": "5", + "line": "592", + "parentIndex": "1478", + "start": "19430" + } + }, + "referencedDeclaration": "1461", "src": { "column": "8", "end": "19435", "length": "25", "line": "592", - "parentIndex": "1476", + "parentIndex": "1477", "start": "19411" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint128_$t_Order$", + "typeIdentifier": "t_mapping_$t_uint128_$t_struct$_Global_Order_$1461$", "typeString": "mapping(uint128=\u003eOrder)" }, "valueType": { - "id": "1479", + "id": "1480", "name": "Order", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "1461", "src": { "column": "27", "end": "19434", "length": "5", "line": "592", - "parentIndex": "1477", + "parentIndex": "1478", "start": "19430" }, "typeDescription": { - "typeIdentifier": "t_Order", - "typeString": "Order" + "typeIdentifier": "t_struct$_Global_Order_$1461", + "typeString": "struct Global.Order" } }, "valueTypeLocation": { @@ -3232,23 +3257,23 @@ "end": "19434", "length": "5", "line": "592", - "parentIndex": "1477", + "parentIndex": "1478", "start": "19430" } }, "visibility": "INTERNAL" }, { - "id": "1480", + "id": "1482", "name": "indexOf", "nodeType": "VARIABLE_DECLARATION", - "scope": "1480", + "scope": "1482", "src": { "column": "8", "end": "19487", "length": "35", "line": "593", - "parentIndex": "1473", + "parentIndex": "1474", "start": "19453" }, "stateMutability": "MUTABLE", @@ -3257,9 +3282,9 @@ "typeString": "mapping(uint128=\u003euint32)" }, "typeName": { - "id": "1481", + "id": "1483", "keyType": { - "id": "1482", + "id": "1484", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3267,7 +3292,7 @@ "end": "19467", "length": "7", "line": "593", - "parentIndex": "1481", + "parentIndex": "1483", "start": "19461" }, "typeDescription": { @@ -3280,15 +3305,16 @@ "end": "19467", "length": "7", "line": "593", - "parentIndex": "1481", + "parentIndex": "1483", "start": "19461" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "19478", "length": "26", "line": "593", - "parentIndex": "1480", + "parentIndex": "1482", "start": "19453" }, "typeDescription": { @@ -3296,7 +3322,7 @@ "typeString": "mapping(uint128=\u003euint32)" }, "valueType": { - "id": "1483", + "id": "1485", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3304,7 +3330,7 @@ "end": "19477", "length": "6", "line": "593", - "parentIndex": "1481", + "parentIndex": "1483", "start": "19472" }, "typeDescription": { @@ -3317,23 +3343,23 @@ "end": "19477", "length": "6", "line": "593", - "parentIndex": "1481", + "parentIndex": "1483", "start": "19472" } }, "visibility": "INTERNAL" }, { - "id": "1484", + "id": "1486", "name": "inserted", "nodeType": "VARIABLE_DECLARATION", - "scope": "1484", + "scope": "1486", "src": { "column": "8", "end": "19530", "length": "34", "line": "594", - "parentIndex": "1473", + "parentIndex": "1474", "start": "19497" }, "stateMutability": "MUTABLE", @@ -3342,9 +3368,9 @@ "typeString": "mapping(uint128=\u003ebool)" }, "typeName": { - "id": "1485", + "id": "1487", "keyType": { - "id": "1486", + "id": "1488", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3352,7 +3378,7 @@ "end": "19511", "length": "7", "line": "594", - "parentIndex": "1485", + "parentIndex": "1487", "start": "19505" }, "typeDescription": { @@ -3365,15 +3391,16 @@ "end": "19511", "length": "7", "line": "594", - "parentIndex": "1485", + "parentIndex": "1487", "start": "19505" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "19520", "length": "24", "line": "594", - "parentIndex": "1484", + "parentIndex": "1486", "start": "19497" }, "typeDescription": { @@ -3381,7 +3408,7 @@ "typeString": "mapping(uint128=\u003ebool)" }, "valueType": { - "id": "1487", + "id": "1489", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3389,7 +3416,7 @@ "end": "19519", "length": "4", "line": "594", - "parentIndex": "1485", + "parentIndex": "1487", "start": "19516" }, "typeDescription": { @@ -3402,7 +3429,7 @@ "end": "19519", "length": "4", "line": "594", - "parentIndex": "1485", + "parentIndex": "1487", "start": "19516" } }, @@ -3415,7 +3442,7 @@ "end": "19375", "length": "3", "line": "590", - "parentIndex": "1473", + "parentIndex": "1474", "start": "19373" }, "nodeType": "STRUCT_DEFINITION", @@ -3428,7 +3455,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Map_$1473", + "typeIdentifier": "t_struct$_Global_Map_$1474", "typeString": "struct Global.Map" }, "visibility": "PUBLIC" @@ -3437,7 +3464,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1488", + "id": "1490", "isConstant": true, "isStateVariable": true, "name": "index", @@ -3456,7 +3483,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1489", + "id": "1491", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3464,7 +3491,7 @@ "end": "20455", "length": "6", "line": "627", - "parentIndex": "1488", + "parentIndex": "1490", "start": "20450" }, "typeDescription": { @@ -3478,7 +3505,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1490", + "id": "1492", "isConstant": true, "isStateVariable": true, "name": "lastKey", @@ -3497,7 +3524,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1491", + "id": "1493", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3505,7 +3532,7 @@ "end": "20497", "length": "7", "line": "628", - "parentIndex": "1490", + "parentIndex": "1492", "start": "20491" }, "typeDescription": { @@ -9157,7 +9184,7 @@ } }, "scope": "317", - "signature": "a2077142", + "signature": "b88d4fde", "src": { "column": "4", "end": "8897", @@ -9344,7 +9371,7 @@ } }, "scope": "317", - "signature": "ab790ba3", + "signature": "42842e0e", "src": { "column": "4", "end": "9673", @@ -9531,7 +9558,7 @@ } }, "scope": "317", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "10490", @@ -9679,7 +9706,7 @@ } }, "scope": "317", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "11008", @@ -9827,7 +9854,7 @@ } }, "scope": "317", - "signature": "989579aa", + "signature": "a22cb465", "src": { "column": "4", "end": "11397", @@ -10165,7 +10192,7 @@ } }, "scope": "317", - "signature": "3a95ab7f", + "signature": "e985e9c5", "src": { "column": "4", "end": "11863", @@ -11542,7 +11569,7 @@ "id": "527", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "45", "end": "12709", @@ -11713,7 +11740,7 @@ "id": "532", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "12", "end": "12743", @@ -12023,7 +12050,7 @@ } }, "scope": "445", - "signature": "1ee39565", + "signature": "c4ff1fa9", "src": { "column": "4", "end": "13310", @@ -12173,7 +12200,7 @@ "id": "552", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "46", "end": "13432", @@ -12199,7 +12226,7 @@ }, "memberName": "get", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "710", + "referencedDeclaration": "526", "src": { "column": "46", "end": "13436", @@ -12209,8 +12236,8 @@ "start": "13419" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "typeString": "function(struct IterableMapping.Map,uint128)" + "typeIdentifier": "t_contract$_IterableMapping_$1132", + "typeString": "contract IterableMapping" } } }, @@ -12307,7 +12334,7 @@ "id": "558", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "25", "end": "13478", @@ -12423,7 +12450,7 @@ "id": "563", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "29", "end": "13521", @@ -12449,7 +12476,7 @@ }, "memberName": "startPrice", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1390", + "referencedDeclaration": "1391", "src": { "column": "29", "end": "13532", @@ -12539,7 +12566,7 @@ "id": "568", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "27", "end": "13566", @@ -12565,7 +12592,7 @@ }, "memberName": "endPrice", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1392", + "referencedDeclaration": "1393", "src": { "column": "27", "end": "13575", @@ -12655,7 +12682,7 @@ "id": "573", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "27", "end": "13609", @@ -12681,7 +12708,7 @@ }, "memberName": "duration", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1394", + "referencedDeclaration": "1395", "src": { "column": "27", "end": "13618", @@ -12744,7 +12771,7 @@ "id": "581", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "35", "end": "13661", @@ -13504,7 +13531,7 @@ "id": "618", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "60", "end": "14050", @@ -13530,7 +13557,7 @@ }, "memberName": "startTime", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1460", + "referencedDeclaration": "1461", "src": { "column": "60", "end": "14060", @@ -13540,7 +13567,7 @@ "start": "14046" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Order_$1460", + "typeIdentifier": "t_struct$_Global_Order_$1461", "typeString": "struct Global.Order" } } @@ -14147,7 +14174,7 @@ "id": "605", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "31", "end": "13881", @@ -14173,7 +14200,7 @@ }, "memberName": "startTime", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1460", + "referencedDeclaration": "1461", "src": { "column": "31", "end": "13891", @@ -14183,7 +14210,7 @@ "start": "13877" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Order_$1460", + "typeIdentifier": "t_struct$_Global_Order_$1461", "typeString": "struct Global.Order" } } @@ -14220,7 +14247,7 @@ "start": "13877" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Order_$1460", + "typeIdentifier": "t_struct$_Global_Order_$1461", "typeString": "struct Global.Order" } } @@ -14992,7 +15019,7 @@ "id": "678", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "52", "end": "14910", @@ -15141,7 +15168,7 @@ "id": "681", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "8", "end": "14943", @@ -15167,7 +15194,7 @@ }, "memberName": "remove", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "767", + "referencedDeclaration": "680", "src": { "column": "8", "end": "14950", @@ -15724,7 +15751,7 @@ "id": "711", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "46", "end": "15243", @@ -15750,7 +15777,7 @@ }, "memberName": "get", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1171", + "referencedDeclaration": "755", "src": { "column": "46", "end": "15247", @@ -15760,8 +15787,8 @@ "start": "15230" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "typeString": "function(struct IterableMapping.Map,uint128)" + "typeIdentifier": "t_contract$_IterableMapping_$1132", + "typeString": "contract IterableMapping" } } }, @@ -15820,7 +15847,7 @@ "id": "717", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "16", "end": "15280", @@ -16078,7 +16105,7 @@ "id": "729", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "35", "end": "15384", @@ -16104,7 +16131,7 @@ }, "memberName": "startTime", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1460", + "referencedDeclaration": "1461", "src": { "column": "35", "end": "15394", @@ -16114,7 +16141,7 @@ "start": "15380" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Order_$1460", + "typeIdentifier": "t_struct$_Global_Order_$1461", "typeString": "struct Global.Order" } } @@ -16130,7 +16157,7 @@ "id": "731", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "53", "end": "15402", @@ -16180,7 +16207,7 @@ "start": "15380" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Order_$1460", + "typeIdentifier": "t_struct$_Global_Order_$1461", "typeString": "struct Global.Order" } } @@ -16300,7 +16327,7 @@ "id": "736", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "8", "end": "15502", @@ -16441,7 +16468,7 @@ "id": "742", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "37", "end": "15567", @@ -16466,7 +16493,7 @@ "id": "740", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "8", "end": "15547", @@ -16642,7 +16669,7 @@ } }, "scope": "445", - "signature": "95973078", + "signature": "3bd4f98f", "src": { "column": "4", "end": "15575", @@ -16792,7 +16819,7 @@ "id": "756", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "46", "end": "15691", @@ -16818,7 +16845,7 @@ }, "memberName": "get", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "551", + "referencedDeclaration": "526", "src": { "column": "46", "end": "15695", @@ -16828,8 +16855,8 @@ "start": "15678" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "typeString": "function(struct IterableMapping.Map,uint128)" + "typeIdentifier": "t_contract$_IterableMapping_$1132", + "typeString": "contract IterableMapping" } } }, @@ -16888,7 +16915,7 @@ "id": "762", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "16", "end": "15728", @@ -17102,7 +17129,7 @@ "id": "768", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "8", "end": "15842", @@ -17314,7 +17341,7 @@ "id": "781", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "8", "end": "15957", @@ -17580,7 +17607,7 @@ "id": "795", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "29", "end": "16085", @@ -17760,7 +17787,7 @@ "id": "812", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "30", "end": "16189", @@ -17786,7 +17813,7 @@ }, "memberName": "getKeyAtIndex", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "864", + "referencedDeclaration": "998", "src": { "column": "30", "end": "16203", @@ -17946,7 +17973,7 @@ "id": "820", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "50", "end": "16272", @@ -17972,7 +17999,7 @@ }, "memberName": "get", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "526", + "referencedDeclaration": "710", "src": { "column": "50", "end": "16276", @@ -18071,7 +18098,7 @@ "id": "834", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "16", "end": "16386", @@ -18097,7 +18124,7 @@ }, "memberName": "remove", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1249", + "referencedDeclaration": "680", "src": { "column": "16", "end": "16393", @@ -18107,8 +18134,8 @@ "start": "16373" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "typeString": "function(struct IterableMapping.Map,uint128)" + "typeIdentifier": "t_contract$_IterableMapping_$1132", + "typeString": "contract IterableMapping" } } }, @@ -18154,7 +18181,7 @@ "id": "828", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "35", "end": "16327", @@ -18273,7 +18300,7 @@ "id": "830", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "53", "end": "16345", @@ -18713,7 +18740,7 @@ "id": "848", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "29", "end": "16531", @@ -18739,7 +18766,7 @@ }, "memberName": "size", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1206", + "referencedDeclaration": "794", "src": { "column": "29", "end": "16536", @@ -18749,8 +18776,8 @@ "start": "16518" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$", - "typeString": "function(struct IterableMapping.Map)" + "typeIdentifier": "t_contract$_IterableMapping_$1132", + "typeString": "contract IterableMapping" } } }, @@ -18893,7 +18920,7 @@ "id": "865", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "30", "end": "16635", @@ -19003,7 +19030,7 @@ "id": "869", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "12", "end": "16680", @@ -19029,7 +19056,7 @@ }, "memberName": "remove", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "780", + "referencedDeclaration": "680", "src": { "column": "12", "end": "16687", @@ -19435,7 +19462,7 @@ "id": "887", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "29", "end": "16840", @@ -19461,7 +19488,7 @@ }, "memberName": "size", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "794", + "referencedDeclaration": "847", "src": { "column": "29", "end": "16845", @@ -19884,7 +19911,7 @@ "id": "917", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "30", "end": "17076", @@ -19910,7 +19937,7 @@ }, "memberName": "getKeyAtIndex", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "998", + "referencedDeclaration": "811", "src": { "column": "30", "end": "17090", @@ -19920,8 +19947,8 @@ "start": "17063" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint32$", - "typeString": "function(struct IterableMapping.Map,uint32)" + "typeIdentifier": "t_contract$_IterableMapping_$1132", + "typeString": "contract IterableMapping" } } }, @@ -20070,7 +20097,7 @@ "id": "925", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "50", "end": "17159", @@ -20096,7 +20123,7 @@ }, "memberName": "get", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "526", + "referencedDeclaration": "819", "src": { "column": "50", "end": "17163", @@ -20193,7 +20220,7 @@ "id": "940", "name": "ordersArray", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1429", + "referencedDeclaration": "1430", "src": { "column": "16", "end": "17270", @@ -20237,7 +20264,7 @@ "id": "942", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "48", "end": "17296", @@ -20349,7 +20376,7 @@ "id": "933", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "35", "end": "17214", @@ -20468,7 +20495,7 @@ "id": "935", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "53", "end": "17232", @@ -20860,7 +20887,7 @@ "id": "953", "name": "ordersArray", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1429", + "referencedDeclaration": "1430", "src": { "column": "15", "end": "17463", @@ -21138,7 +21165,7 @@ "id": "969", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "29", "end": "17618", @@ -21587,7 +21614,7 @@ "id": "999", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "30", "end": "17855", @@ -21613,7 +21640,7 @@ }, "memberName": "getKeyAtIndex", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "1189", + "referencedDeclaration": "998", "src": { "column": "30", "end": "17869", @@ -21623,8 +21650,8 @@ "start": "17842" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint32$", - "typeString": "function(struct IterableMapping.Map,uint32)" + "typeIdentifier": "t_contract$_IterableMapping_$1132", + "typeString": "contract IterableMapping" } } }, @@ -21773,7 +21800,7 @@ "id": "1007", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "50", "end": "17938", @@ -21799,7 +21826,7 @@ }, "memberName": "get", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "710", + "referencedDeclaration": "755", "src": { "column": "50", "end": "17942", @@ -21809,8 +21836,8 @@ "start": "17925" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "typeString": "function(struct IterableMapping.Map,uint128)" + "typeIdentifier": "t_contract$_IterableMapping_$1132", + "typeString": "contract IterableMapping" } } }, @@ -21896,7 +21923,7 @@ "id": "1027", "name": "sellerOrders", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1443", + "referencedDeclaration": "1444", "src": { "column": "16", "end": "18072", @@ -21940,7 +21967,7 @@ "id": "1029", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "49", "end": "18098", @@ -22046,7 +22073,7 @@ "id": "1014", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "16", "end": "17974", @@ -22147,7 +22174,7 @@ "id": "1021", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "62", "end": "18020", @@ -22652,7 +22679,7 @@ "id": "1040", "name": "sellerOrders", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1443", + "referencedDeclaration": "1444", "src": { "column": "15", "end": "18268", @@ -22968,7 +22995,7 @@ "id": "1057", "name": "tokenIdToOrder", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1361", + "referencedDeclaration": "1362", "src": { "column": "46", "end": "18441", @@ -22994,7 +23021,7 @@ }, "memberName": "get", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "551", + "referencedDeclaration": "755", "src": { "column": "46", "end": "18445", @@ -23004,8 +23031,8 @@ "start": "18428" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", - "typeString": "function(struct IterableMapping.Map,uint128)" + "typeIdentifier": "t_contract$_IterableMapping_$1132", + "typeString": "contract IterableMapping" } } }, @@ -23062,7 +23089,7 @@ "id": "1070", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "19", "end": "18547", @@ -23119,7 +23146,7 @@ "id": "1065", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "31", "end": "18494", @@ -23238,7 +23265,7 @@ "id": "1067", "name": "order", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1379", + "referencedDeclaration": "1380", "src": { "column": "49", "end": "18512", @@ -25003,7 +25030,7 @@ }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint128_$t_Order$", + "typeIdentifier": "t_mapping_$t_uint128_$t_struct$_IterableMapping_Order_$1141$", "typeString": "mapping(uint128=\u003eOrder)" }, "typeName": { @@ -25033,6 +25060,30 @@ "parentIndex": "1159", "start": "19419" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "1162", + "name": "Order", + "nameLocation": { + "column": "27", + "end": "19434", + "length": "5", + "line": "592", + "parentIndex": "1159", + "start": "19430" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1141", + "src": { + "column": "27", + "end": "19434", + "length": "5", + "line": "592", + "parentIndex": "1159", + "start": "19430" + } + }, + "referencedDeclaration": "1141", "src": { "column": "8", "end": "19435", @@ -25042,13 +25093,14 @@ "start": "19411" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint128_$t_Order$", + "typeIdentifier": "t_mapping_$t_uint128_$t_struct$_IterableMapping_Order_$1141$", "typeString": "mapping(uint128=\u003eOrder)" }, "valueType": { "id": "1161", "name": "Order", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "1141", "src": { "column": "27", "end": "19434", @@ -25058,8 +25110,8 @@ "start": "19430" }, "typeDescription": { - "typeIdentifier": "t_Order", - "typeString": "Order" + "typeIdentifier": "t_struct$_IterableMapping_Order_$1141", + "typeString": "struct IterableMapping.Order" } }, "valueTypeLocation": { @@ -25074,10 +25126,10 @@ "visibility": "INTERNAL" }, { - "id": "1162", + "id": "1163", "name": "indexOf", "nodeType": "VARIABLE_DECLARATION", - "scope": "1162", + "scope": "1163", "src": { "column": "8", "end": "19487", @@ -25092,9 +25144,9 @@ "typeString": "mapping(uint128=\u003euint32)" }, "typeName": { - "id": "1163", + "id": "1164", "keyType": { - "id": "1164", + "id": "1165", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25102,7 +25154,7 @@ "end": "19467", "length": "7", "line": "593", - "parentIndex": "1163", + "parentIndex": "1164", "start": "19461" }, "typeDescription": { @@ -25115,15 +25167,16 @@ "end": "19467", "length": "7", "line": "593", - "parentIndex": "1163", + "parentIndex": "1164", "start": "19461" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "19478", "length": "26", "line": "593", - "parentIndex": "1162", + "parentIndex": "1163", "start": "19453" }, "typeDescription": { @@ -25131,7 +25184,7 @@ "typeString": "mapping(uint128=\u003euint32)" }, "valueType": { - "id": "1165", + "id": "1166", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25139,7 +25192,7 @@ "end": "19477", "length": "6", "line": "593", - "parentIndex": "1163", + "parentIndex": "1164", "start": "19472" }, "typeDescription": { @@ -25152,17 +25205,17 @@ "end": "19477", "length": "6", "line": "593", - "parentIndex": "1163", + "parentIndex": "1164", "start": "19472" } }, "visibility": "INTERNAL" }, { - "id": "1166", + "id": "1167", "name": "inserted", "nodeType": "VARIABLE_DECLARATION", - "scope": "1166", + "scope": "1167", "src": { "column": "8", "end": "19530", @@ -25177,9 +25230,9 @@ "typeString": "mapping(uint128=\u003ebool)" }, "typeName": { - "id": "1167", + "id": "1168", "keyType": { - "id": "1168", + "id": "1169", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25187,7 +25240,7 @@ "end": "19511", "length": "7", "line": "594", - "parentIndex": "1167", + "parentIndex": "1168", "start": "19505" }, "typeDescription": { @@ -25200,15 +25253,16 @@ "end": "19511", "length": "7", "line": "594", - "parentIndex": "1167", + "parentIndex": "1168", "start": "19505" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "19520", "length": "24", "line": "594", - "parentIndex": "1166", + "parentIndex": "1167", "start": "19497" }, "typeDescription": { @@ -25216,7 +25270,7 @@ "typeString": "mapping(uint128=\u003ebool)" }, "valueType": { - "id": "1169", + "id": "1170", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25224,7 +25278,7 @@ "end": "19519", "length": "4", "line": "594", - "parentIndex": "1167", + "parentIndex": "1168", "start": "19516" }, "typeDescription": { @@ -25237,7 +25291,7 @@ "end": "19519", "length": "4", "line": "594", - "parentIndex": "1167", + "parentIndex": "1168", "start": "19516" } }, @@ -25274,7 +25328,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1182", + "id": "1183", "implemented": true, "nodeType": "BLOCK", "src": { @@ -25282,7 +25336,7 @@ "end": "19662", "length": "39", "line": "597", - "parentIndex": "1171", + "parentIndex": "1172", "start": "19624" }, "statements": [ @@ -25295,16 +25349,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1187", + "id": "1188", "name": "key", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1187", + "referencedDeclaration": "1188", "src": { "column": "26", "end": "19654", "length": "3", "line": "598", - "parentIndex": "1184", + "parentIndex": "1185", "start": "19652" }, "typeDescription": { @@ -25313,23 +25367,23 @@ } } }, - "id": "1184", + "id": "1185", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1186", + "id": "1187", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1186", + "referencedDeclaration": "1187", "src": { "column": "15", "end": "19643", "length": "3", "line": "598", - "parentIndex": "1185", + "parentIndex": "1186", "start": "19641" }, "typeDescription": { @@ -25338,13 +25392,13 @@ } } }, - "id": "1185", + "id": "1186", "memberLocation": { "column": "19", "end": "19650", "length": "6", "line": "598", - "parentIndex": "1185", + "parentIndex": "1186", "start": "19645" }, "memberName": "values", @@ -25354,7 +25408,7 @@ "end": "19650", "length": "10", "line": "598", - "parentIndex": "1184", + "parentIndex": "1185", "start": "19641" }, "typeDescription": { @@ -25369,7 +25423,7 @@ "end": "19655", "length": "15", "line": "598", - "parentIndex": "1183", + "parentIndex": "1184", "start": "19641" }, "typeDescription": { @@ -25388,15 +25442,15 @@ ] } }, - "functionReturnParameters": "1171", - "id": "1183", + "functionReturnParameters": "1172", + "id": "1184", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "19656", "length": "23", "line": "598", - "parentIndex": "1171", + "parentIndex": "1172", "start": "19634" }, "typeDescription": { @@ -25407,7 +25461,7 @@ } ] }, - "id": "1171", + "id": "1172", "implemented": true, "kind": "KIND_FUNCTION", "name": "get", @@ -25416,25 +25470,25 @@ "end": "19554", "length": "3", "line": "597", - "parentIndex": "1171", + "parentIndex": "1172", "start": "19552" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1172", + "id": "1173", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1173", + "id": "1174", "name": "map", "nodeType": "VARIABLE_DECLARATION", - "scope": "1173", + "scope": "1174", "src": { "column": "17", "end": "19570", "length": "15", "line": "597", - "parentIndex": "1172", + "parentIndex": "1173", "start": "19556" }, "stateMutability": "MUTABLE", @@ -25444,17 +25498,17 @@ "typeString": "struct IterableMapping.Map" }, "typeName": { - "id": "1174", + "id": "1175", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1175", + "id": "1176", "name": "Map", "nameLocation": { "column": "17", "end": "19558", "length": "3", "line": "597", - "parentIndex": "1174", + "parentIndex": "1175", "start": "19556" }, "nodeType": "IDENTIFIER_PATH", @@ -25464,7 +25518,7 @@ "end": "19558", "length": "3", "line": "597", - "parentIndex": "1174", + "parentIndex": "1175", "start": "19556" } }, @@ -25474,7 +25528,7 @@ "end": "19558", "length": "3", "line": "597", - "parentIndex": "1173", + "parentIndex": "1174", "start": "19556" }, "typeDescription": { @@ -25485,16 +25539,16 @@ "visibility": "INTERNAL" }, { - "id": "1176", + "id": "1177", "name": "key", "nodeType": "VARIABLE_DECLARATION", - "scope": "1176", + "scope": "1177", "src": { "column": "34", "end": "19583", "length": "11", "line": "597", - "parentIndex": "1172", + "parentIndex": "1173", "start": "19573" }, "stateMutability": "MUTABLE", @@ -25504,7 +25558,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1177", + "id": "1178", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25512,7 +25566,7 @@ "end": "19579", "length": "7", "line": "597", - "parentIndex": "1176", + "parentIndex": "1177", "start": "19573" }, "typeDescription": { @@ -25528,24 +25582,24 @@ "end": "19583", "length": "28", "line": "597", - "parentIndex": "1171", + "parentIndex": "1172", "start": "19556" } }, "returnParameters": { - "id": "1178", + "id": "1179", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1179", + "id": "1180", "nodeType": "VARIABLE_DECLARATION", - "scope": "1179", + "scope": "1180", "src": { "column": "70", "end": "19621", "length": "13", "line": "597", - "parentIndex": "1178", + "parentIndex": "1179", "start": "19609" }, "stateMutability": "MUTABLE", @@ -25555,17 +25609,17 @@ "typeString": "struct IterableMapping.Order" }, "typeName": { - "id": "1180", + "id": "1181", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1181", + "id": "1182", "name": "Order", "nameLocation": { "column": "70", "end": "19613", "length": "5", "line": "597", - "parentIndex": "1180", + "parentIndex": "1181", "start": "19609" }, "nodeType": "IDENTIFIER_PATH", @@ -25575,7 +25629,7 @@ "end": "19613", "length": "5", "line": "597", - "parentIndex": "1180", + "parentIndex": "1181", "start": "19609" } }, @@ -25585,7 +25639,7 @@ "end": "19613", "length": "5", "line": "597", - "parentIndex": "1179", + "parentIndex": "1180", "start": "19609" }, "typeDescription": { @@ -25601,12 +25655,12 @@ "end": "19621", "length": "13", "line": "597", - "parentIndex": "1171", + "parentIndex": "1172", "start": "19609" } }, "scope": "1139", - "signature": "1da4aa6a", + "signature": "a374c211", "src": { "column": "4", "end": "19662", @@ -25627,7 +25681,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1199", + "id": "1200", "implemented": true, "nodeType": "BLOCK", "src": { @@ -25635,7 +25689,7 @@ "end": "19793", "length": "39", "line": "601", - "parentIndex": "1189", + "parentIndex": "1190", "start": "19755" }, "statements": [ @@ -25648,16 +25702,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1204", + "id": "1205", "name": "index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1204", + "referencedDeclaration": "1205", "src": { "column": "24", "end": "19785", "length": "5", "line": "602", - "parentIndex": "1201", + "parentIndex": "1202", "start": "19781" }, "typeDescription": { @@ -25666,23 +25720,23 @@ } } }, - "id": "1201", + "id": "1202", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1203", + "id": "1204", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1203", + "referencedDeclaration": "1204", "src": { "column": "15", "end": "19774", "length": "3", "line": "602", - "parentIndex": "1202", + "parentIndex": "1203", "start": "19772" }, "typeDescription": { @@ -25691,13 +25745,13 @@ } } }, - "id": "1202", + "id": "1203", "memberLocation": { "column": "19", "end": "19779", "length": "4", "line": "602", - "parentIndex": "1202", + "parentIndex": "1203", "start": "19776" }, "memberName": "keys", @@ -25707,7 +25761,7 @@ "end": "19779", "length": "8", "line": "602", - "parentIndex": "1201", + "parentIndex": "1202", "start": "19772" }, "typeDescription": { @@ -25722,7 +25776,7 @@ "end": "19786", "length": "15", "line": "602", - "parentIndex": "1200", + "parentIndex": "1201", "start": "19772" }, "typeDescription": { @@ -25741,15 +25795,15 @@ ] } }, - "functionReturnParameters": "1189", - "id": "1200", + "functionReturnParameters": "1190", + "id": "1201", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "19787", "length": "23", "line": "602", - "parentIndex": "1189", + "parentIndex": "1190", "start": "19765" }, "typeDescription": { @@ -25760,7 +25814,7 @@ } ] }, - "id": "1189", + "id": "1190", "implemented": true, "kind": "KIND_FUNCTION", "name": "getKeyAtIndex", @@ -25769,25 +25823,25 @@ "end": "19690", "length": "13", "line": "601", - "parentIndex": "1189", + "parentIndex": "1190", "start": "19678" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1190", + "id": "1191", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1191", + "id": "1192", "name": "map", "nodeType": "VARIABLE_DECLARATION", - "scope": "1191", + "scope": "1192", "src": { "column": "27", "end": "19706", "length": "15", "line": "601", - "parentIndex": "1190", + "parentIndex": "1191", "start": "19692" }, "stateMutability": "MUTABLE", @@ -25797,17 +25851,17 @@ "typeString": "struct IterableMapping.Map" }, "typeName": { - "id": "1192", + "id": "1193", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1193", + "id": "1194", "name": "Map", "nameLocation": { "column": "27", "end": "19694", "length": "3", "line": "601", - "parentIndex": "1192", + "parentIndex": "1193", "start": "19692" }, "nodeType": "IDENTIFIER_PATH", @@ -25817,7 +25871,7 @@ "end": "19694", "length": "3", "line": "601", - "parentIndex": "1192", + "parentIndex": "1193", "start": "19692" } }, @@ -25827,7 +25881,7 @@ "end": "19694", "length": "3", "line": "601", - "parentIndex": "1191", + "parentIndex": "1192", "start": "19692" }, "typeDescription": { @@ -25838,16 +25892,16 @@ "visibility": "INTERNAL" }, { - "id": "1194", + "id": "1195", "name": "index", "nodeType": "VARIABLE_DECLARATION", - "scope": "1194", + "scope": "1195", "src": { "column": "44", "end": "19720", "length": "12", "line": "601", - "parentIndex": "1190", + "parentIndex": "1191", "start": "19709" }, "stateMutability": "MUTABLE", @@ -25857,7 +25911,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1195", + "id": "1196", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25865,7 +25919,7 @@ "end": "19714", "length": "6", "line": "601", - "parentIndex": "1194", + "parentIndex": "1195", "start": "19709" }, "typeDescription": { @@ -25881,24 +25935,24 @@ "end": "19720", "length": "29", "line": "601", - "parentIndex": "1189", + "parentIndex": "1190", "start": "19692" } }, "returnParameters": { - "id": "1196", + "id": "1197", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1197", + "id": "1198", "nodeType": "VARIABLE_DECLARATION", - "scope": "1197", + "scope": "1198", "src": { "column": "81", "end": "19752", "length": "7", "line": "601", - "parentIndex": "1196", + "parentIndex": "1197", "start": "19746" }, "stateMutability": "MUTABLE", @@ -25908,7 +25962,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1198", + "id": "1199", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25916,7 +25970,7 @@ "end": "19752", "length": "7", "line": "601", - "parentIndex": "1197", + "parentIndex": "1198", "start": "19746" }, "typeDescription": { @@ -25932,12 +25986,12 @@ "end": "19752", "length": "7", "line": "601", - "parentIndex": "1189", + "parentIndex": "1190", "start": "19746" } }, "scope": "1139", - "signature": "abb07e79", + "signature": "118734c4", "src": { "column": "4", "end": "19793", @@ -25958,7 +26012,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1214", + "id": "1215", "implemented": true, "nodeType": "BLOCK", "src": { @@ -25966,7 +26020,7 @@ "end": "19908", "length": "47", "line": "605", - "parentIndex": "1206", + "parentIndex": "1207", "start": "19862" }, "statements": [ @@ -25992,16 +26046,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1221", + "id": "1222", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1221", + "referencedDeclaration": "1222", "src": { "column": "22", "end": "19888", "length": "3", "line": "606", - "parentIndex": "1220", + "parentIndex": "1221", "start": "19886" }, "typeDescription": { @@ -26010,13 +26064,13 @@ } } }, - "id": "1220", + "id": "1221", "memberLocation": { "column": "26", "end": "19893", "length": "4", "line": "606", - "parentIndex": "1220", + "parentIndex": "1221", "start": "19890" }, "memberName": "keys", @@ -26026,7 +26080,7 @@ "end": "19893", "length": "8", "line": "606", - "parentIndex": "1219", + "parentIndex": "1220", "start": "19886" }, "typeDescription": { @@ -26035,13 +26089,13 @@ } } }, - "id": "1219", + "id": "1220", "memberLocation": { "column": "31", "end": "19900", "length": "6", "line": "606", - "parentIndex": "1219", + "parentIndex": "1220", "start": "19895" }, "memberName": "length", @@ -26051,7 +26105,7 @@ "end": "19900", "length": "15", "line": "606", - "parentIndex": "1216", + "parentIndex": "1217", "start": "19886" }, "typeDescription": { @@ -26070,7 +26124,7 @@ "typeString": "uint32" } ], - "id": "1217", + "id": "1218", "name": "uint32", "nodeType": "IDENTIFIER", "src": { @@ -26078,7 +26132,7 @@ "end": "19884", "length": "6", "line": "606", - "parentIndex": "1216", + "parentIndex": "1217", "start": "19879" }, "typeDescription": { @@ -26086,7 +26140,7 @@ "typeString": "function(uint32)" }, "typeName": { - "id": "1218", + "id": "1219", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -26094,7 +26148,7 @@ "end": "19884", "length": "6", "line": "606", - "parentIndex": "1217", + "parentIndex": "1218", "start": "19879" }, "typeDescription": { @@ -26104,7 +26158,7 @@ } } }, - "id": "1216", + "id": "1217", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26112,7 +26166,7 @@ "end": "19901", "length": "23", "line": "606", - "parentIndex": "1215", + "parentIndex": "1216", "start": "19879" }, "typeDescription": { @@ -26121,15 +26175,15 @@ } } }, - "functionReturnParameters": "1206", - "id": "1215", + "functionReturnParameters": "1207", + "id": "1216", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "19902", "length": "31", "line": "606", - "parentIndex": "1206", + "parentIndex": "1207", "start": "19872" }, "typeDescription": { @@ -26140,7 +26194,7 @@ } ] }, - "id": "1206", + "id": "1207", "implemented": true, "kind": "KIND_FUNCTION", "name": "size", @@ -26149,25 +26203,25 @@ "end": "19812", "length": "4", "line": "605", - "parentIndex": "1206", + "parentIndex": "1207", "start": "19809" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1207", + "id": "1208", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1208", + "id": "1209", "name": "map", "nodeType": "VARIABLE_DECLARATION", - "scope": "1208", + "scope": "1209", "src": { "column": "18", "end": "19828", "length": "15", "line": "605", - "parentIndex": "1207", + "parentIndex": "1208", "start": "19814" }, "stateMutability": "MUTABLE", @@ -26177,17 +26231,17 @@ "typeString": "struct IterableMapping.Map" }, "typeName": { - "id": "1209", + "id": "1210", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1210", + "id": "1211", "name": "Map", "nameLocation": { "column": "18", "end": "19816", "length": "3", "line": "605", - "parentIndex": "1209", + "parentIndex": "1210", "start": "19814" }, "nodeType": "IDENTIFIER_PATH", @@ -26197,7 +26251,7 @@ "end": "19816", "length": "3", "line": "605", - "parentIndex": "1209", + "parentIndex": "1210", "start": "19814" } }, @@ -26207,7 +26261,7 @@ "end": "19816", "length": "3", "line": "605", - "parentIndex": "1208", + "parentIndex": "1209", "start": "19814" }, "typeDescription": { @@ -26223,24 +26277,24 @@ "end": "19828", "length": "15", "line": "605", - "parentIndex": "1206", + "parentIndex": "1207", "start": "19814" } }, "returnParameters": { - "id": "1211", + "id": "1212", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1212", + "id": "1213", "nodeType": "VARIABLE_DECLARATION", - "scope": "1212", + "scope": "1213", "src": { "column": "58", "end": "19859", "length": "6", "line": "605", - "parentIndex": "1211", + "parentIndex": "1212", "start": "19854" }, "stateMutability": "MUTABLE", @@ -26250,7 +26304,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1213", + "id": "1214", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -26258,7 +26312,7 @@ "end": "19859", "length": "6", "line": "605", - "parentIndex": "1212", + "parentIndex": "1213", "start": "19854" }, "typeDescription": { @@ -26274,7 +26328,7 @@ "end": "19859", "length": "6", "line": "605", - "parentIndex": "1206", + "parentIndex": "1207", "start": "19854" } }, @@ -26300,7 +26354,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1234", + "id": "1235", "implemented": true, "nodeType": "BLOCK", "src": { @@ -26308,7 +26362,7 @@ "end": "20247", "length": "263", "line": "609", - "parentIndex": "1223", + "parentIndex": "1224", "start": "19985" }, "statements": [ @@ -26316,7 +26370,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "1240", + "id": "1241", "implemented": true, "nodeType": "BLOCK", "src": { @@ -26324,7 +26378,7 @@ "end": "20063", "length": "46", "line": "610", - "parentIndex": "1223", + "parentIndex": "1224", "start": "20018" }, "statements": [ @@ -26334,23 +26388,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1242", + "id": "1243", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1246", + "id": "1247", "name": "key", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1246", + "referencedDeclaration": "1247", "src": { "column": "23", "end": "20045", "length": "3", "line": "611", - "parentIndex": "1243", + "parentIndex": "1244", "start": "20043" }, "typeDescription": { @@ -26359,23 +26413,23 @@ } } }, - "id": "1243", + "id": "1244", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1245", + "id": "1246", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1245", + "referencedDeclaration": "1246", "src": { "column": "12", "end": "20034", "length": "3", "line": "611", - "parentIndex": "1244", + "parentIndex": "1245", "start": "20032" }, "typeDescription": { @@ -26384,13 +26438,13 @@ } } }, - "id": "1244", + "id": "1245", "memberLocation": { "column": "16", "end": "20041", "length": "6", "line": "611", - "parentIndex": "1244", + "parentIndex": "1245", "start": "20036" }, "memberName": "values", @@ -26400,7 +26454,7 @@ "end": "20041", "length": "10", "line": "611", - "parentIndex": "1243", + "parentIndex": "1244", "start": "20032" }, "typeDescription": { @@ -26415,7 +26469,7 @@ "end": "20046", "length": "15", "line": "611", - "parentIndex": "1242", + "parentIndex": "1243", "start": "20032" }, "typeDescription": { @@ -26439,16 +26493,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1247", + "id": "1248", "name": "val", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1247", + "referencedDeclaration": "1248", "src": { "column": "30", "end": "20052", "length": "3", "line": "611", - "parentIndex": "1242", + "parentIndex": "1243", "start": "20050" }, "typeDescription": { @@ -26462,7 +26516,7 @@ "end": "20052", "length": "21", "line": "611", - "parentIndex": "1241", + "parentIndex": "1242", "start": "20032" }, "typeDescription": { @@ -26471,14 +26525,14 @@ } } }, - "id": "1241", + "id": "1242", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "20053", "length": "22", "line": "611", - "parentIndex": "1240", + "parentIndex": "1241", "start": "20032" }, "typeDescription": { @@ -26495,16 +26549,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1239", + "id": "1240", "name": "key", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1239", + "referencedDeclaration": "1240", "src": { "column": "25", "end": "20014", "length": "3", "line": "610", - "parentIndex": "1236", + "parentIndex": "1237", "start": "20012" }, "typeDescription": { @@ -26513,23 +26567,23 @@ } } }, - "id": "1236", + "id": "1237", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1238", + "id": "1239", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1238", + "referencedDeclaration": "1239", "src": { "column": "12", "end": "20001", "length": "3", "line": "610", - "parentIndex": "1237", + "parentIndex": "1238", "start": "19999" }, "typeDescription": { @@ -26538,13 +26592,13 @@ } } }, - "id": "1237", + "id": "1238", "memberLocation": { "column": "16", "end": "20010", "length": "8", "line": "610", - "parentIndex": "1237", + "parentIndex": "1238", "start": "20003" }, "memberName": "inserted", @@ -26554,7 +26608,7 @@ "end": "20010", "length": "12", "line": "610", - "parentIndex": "1236", + "parentIndex": "1237", "start": "19999" }, "typeDescription": { @@ -26569,7 +26623,7 @@ "end": "20015", "length": "17", "line": "610", - "parentIndex": "1235", + "parentIndex": "1236", "start": "19999" }, "typeDescription": { @@ -26588,20 +26642,20 @@ ] } }, - "id": "1235", + "id": "1236", "nodeType": "IF_STATEMENT", "src": { "end": "20241", "length": "247", "line": "610", - "parentIndex": "1234", + "parentIndex": "1235", "start": "19995" } } } ] }, - "id": "1223", + "id": "1224", "implemented": true, "kind": "KIND_FUNCTION", "name": "set", @@ -26610,25 +26664,25 @@ "end": "19926", "length": "3", "line": "609", - "parentIndex": "1223", + "parentIndex": "1224", "start": "19924" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1224", + "id": "1225", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1225", + "id": "1226", "name": "map", "nodeType": "VARIABLE_DECLARATION", - "scope": "1225", + "scope": "1226", "src": { "column": "17", "end": "19942", "length": "15", "line": "609", - "parentIndex": "1224", + "parentIndex": "1225", "start": "19928" }, "stateMutability": "MUTABLE", @@ -26638,17 +26692,17 @@ "typeString": "struct IterableMapping.Map" }, "typeName": { - "id": "1226", + "id": "1227", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1227", + "id": "1228", "name": "Map", "nameLocation": { "column": "17", "end": "19930", "length": "3", "line": "609", - "parentIndex": "1226", + "parentIndex": "1227", "start": "19928" }, "nodeType": "IDENTIFIER_PATH", @@ -26658,7 +26712,7 @@ "end": "19930", "length": "3", "line": "609", - "parentIndex": "1226", + "parentIndex": "1227", "start": "19928" } }, @@ -26668,7 +26722,7 @@ "end": "19930", "length": "3", "line": "609", - "parentIndex": "1225", + "parentIndex": "1226", "start": "19928" }, "typeDescription": { @@ -26679,16 +26733,16 @@ "visibility": "INTERNAL" }, { - "id": "1228", + "id": "1229", "name": "key", "nodeType": "VARIABLE_DECLARATION", - "scope": "1228", + "scope": "1229", "src": { "column": "34", "end": "19955", "length": "11", "line": "609", - "parentIndex": "1224", + "parentIndex": "1225", "start": "19945" }, "stateMutability": "MUTABLE", @@ -26698,7 +26752,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1229", + "id": "1230", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -26706,7 +26760,7 @@ "end": "19951", "length": "7", "line": "609", - "parentIndex": "1228", + "parentIndex": "1229", "start": "19945" }, "typeDescription": { @@ -26717,16 +26771,16 @@ "visibility": "INTERNAL" }, { - "id": "1230", + "id": "1231", "name": "val", "nodeType": "VARIABLE_DECLARATION", - "scope": "1230", + "scope": "1231", "src": { "column": "47", "end": "19973", "length": "16", "line": "609", - "parentIndex": "1224", + "parentIndex": "1225", "start": "19958" }, "stateMutability": "MUTABLE", @@ -26736,17 +26790,17 @@ "typeString": "struct IterableMapping.Order" }, "typeName": { - "id": "1231", + "id": "1232", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1232", + "id": "1233", "name": "Order", "nameLocation": { "column": "47", "end": "19962", "length": "5", "line": "609", - "parentIndex": "1231", + "parentIndex": "1232", "start": "19958" }, "nodeType": "IDENTIFIER_PATH", @@ -26756,7 +26810,7 @@ "end": "19962", "length": "5", "line": "609", - "parentIndex": "1231", + "parentIndex": "1232", "start": "19958" } }, @@ -26766,7 +26820,7 @@ "end": "19962", "length": "5", "line": "609", - "parentIndex": "1230", + "parentIndex": "1231", "start": "19958" }, "typeDescription": { @@ -26782,24 +26836,24 @@ "end": "19973", "length": "46", "line": "609", - "parentIndex": "1223", + "parentIndex": "1224", "start": "19928" } }, "returnParameters": { - "id": "1233", + "id": "1234", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "20247", "length": "333", "line": "609", - "parentIndex": "1223", + "parentIndex": "1224", "start": "19915" } }, "scope": "1139", - "signature": "d5b62043", + "signature": "bcf15b36", "src": { "column": "4", "end": "20247", @@ -26820,7 +26874,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1257", + "id": "1258", "implemented": true, "nodeType": "BLOCK", "src": { @@ -26828,7 +26882,7 @@ "end": "20676", "length": "368", "line": "620", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20309" }, "statements": [ @@ -26836,7 +26890,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "1264", + "id": "1265", "implemented": true, "nodeType": "BLOCK", "src": { @@ -26844,22 +26898,22 @@ "end": "20373", "length": "31", "line": "621", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20343" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", "value": { - "functionReturnParameters": "1249", - "id": "1265", + "functionReturnParameters": "1250", + "id": "1266", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", "end": "20363", "length": "7", "line": "622", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20357" }, "typeDescription": { @@ -26879,16 +26933,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1263", + "id": "1264", "name": "key", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1263", + "referencedDeclaration": "1264", "src": { "column": "26", "end": "20339", "length": "3", "line": "621", - "parentIndex": "1260", + "parentIndex": "1261", "start": "20337" }, "typeDescription": { @@ -26897,23 +26951,23 @@ } } }, - "id": "1260", + "id": "1261", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1262", + "id": "1263", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1262", + "referencedDeclaration": "1263", "src": { "column": "13", "end": "20326", "length": "3", "line": "621", - "parentIndex": "1261", + "parentIndex": "1262", "start": "20324" }, "typeDescription": { @@ -26922,13 +26976,13 @@ } } }, - "id": "1261", + "id": "1262", "memberLocation": { "column": "17", "end": "20335", "length": "8", "line": "621", - "parentIndex": "1261", + "parentIndex": "1262", "start": "20328" }, "memberName": "inserted", @@ -26938,7 +26992,7 @@ "end": "20335", "length": "12", "line": "621", - "parentIndex": "1260", + "parentIndex": "1261", "start": "20324" }, "typeDescription": { @@ -26953,7 +27007,7 @@ "end": "20340", "length": "17", "line": "621", - "parentIndex": "1259", + "parentIndex": "1260", "start": "20324" }, "typeDescription": { @@ -26972,7 +27026,7 @@ ] } }, - "id": "1259", + "id": "1260", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -26981,7 +27035,7 @@ "end": "20340", "length": "18", "line": "621", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20323" }, "typeDescription": { @@ -26990,13 +27044,13 @@ } } }, - "id": "1258", + "id": "1259", "nodeType": "IF_STATEMENT", "src": { "end": "20373", "length": "55", "line": "621", - "parentIndex": "1257", + "parentIndex": "1258", "start": "20319" } } @@ -27010,16 +27064,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1270", + "id": "1271", "name": "key", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1270", + "referencedDeclaration": "1271", "src": { "column": "28", "end": "20405", "length": "3", "line": "624", - "parentIndex": "1267", + "parentIndex": "1268", "start": "20403" }, "typeDescription": { @@ -27028,23 +27082,23 @@ } } }, - "id": "1267", + "id": "1268", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1269", + "id": "1270", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1269", + "referencedDeclaration": "1270", "src": { "column": "15", "end": "20392", "length": "3", "line": "624", - "parentIndex": "1268", + "parentIndex": "1269", "start": "20390" }, "typeDescription": { @@ -27053,13 +27107,13 @@ } } }, - "id": "1268", + "id": "1269", "memberLocation": { "column": "19", "end": "20401", "length": "8", "line": "624", - "parentIndex": "1268", + "parentIndex": "1269", "start": "20394" }, "memberName": "inserted", @@ -27069,7 +27123,7 @@ "end": "20401", "length": "12", "line": "624", - "parentIndex": "1267", + "parentIndex": "1268", "start": "20390" }, "typeDescription": { @@ -27084,7 +27138,7 @@ "end": "20406", "length": "17", "line": "624", - "parentIndex": "1266", + "parentIndex": "1267", "start": "20390" }, "typeDescription": { @@ -27103,7 +27157,7 @@ ] } }, - "id": "1266", + "id": "1267", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "INCREMENT", @@ -27112,7 +27166,7 @@ "end": "20406", "length": "24", "line": "624", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20383" }, "typeDescription": { @@ -27130,16 +27184,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1275", + "id": "1276", "name": "key", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1275", + "referencedDeclaration": "1276", "src": { "column": "26", "end": "20437", "length": "3", "line": "625", - "parentIndex": "1272", + "parentIndex": "1273", "start": "20435" }, "typeDescription": { @@ -27148,23 +27202,23 @@ } } }, - "id": "1272", + "id": "1273", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1274", + "id": "1275", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1274", + "referencedDeclaration": "1275", "src": { "column": "15", "end": "20426", "length": "3", "line": "625", - "parentIndex": "1273", + "parentIndex": "1274", "start": "20424" }, "typeDescription": { @@ -27173,13 +27227,13 @@ } } }, - "id": "1273", + "id": "1274", "memberLocation": { "column": "19", "end": "20433", "length": "6", "line": "625", - "parentIndex": "1273", + "parentIndex": "1274", "start": "20428" }, "memberName": "values", @@ -27189,7 +27243,7 @@ "end": "20433", "length": "10", "line": "625", - "parentIndex": "1272", + "parentIndex": "1273", "start": "20424" }, "typeDescription": { @@ -27204,7 +27258,7 @@ "end": "20438", "length": "15", "line": "625", - "parentIndex": "1271", + "parentIndex": "1272", "start": "20424" }, "typeDescription": { @@ -27223,7 +27277,7 @@ ] } }, - "id": "1271", + "id": "1272", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "INCREMENT", @@ -27232,7 +27286,7 @@ "end": "20438", "length": "22", "line": "625", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20417" }, "typeDescription": { @@ -27245,11 +27299,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1277" + "1278" ], "declarations": [ { - "id": "1277", + "id": "1278", "mutability": "MUTABLE", "name": "index", "nameLocation": { @@ -27257,17 +27311,17 @@ "end": "20461", "length": "5", "line": "627", - "parentIndex": "1277", + "parentIndex": "1278", "start": "20457" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1257", + "scope": "1258", "src": { "column": "8", "end": "20461", "length": "12", "line": "627", - "parentIndex": "1276", + "parentIndex": "1277", "start": "20450" }, "storageLocation": "DEFAULT", @@ -27276,7 +27330,7 @@ "typeString": "uint32" }, "typeName": { - "id": "1278", + "id": "1279", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27284,7 +27338,7 @@ "end": "20455", "length": "6", "line": "627", - "parentIndex": "1277", + "parentIndex": "1278", "start": "20450" }, "typeDescription": { @@ -27295,23 +27349,23 @@ "visibility": "INTERNAL" } ], - "id": "1276", + "id": "1277", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1282", + "id": "1283", "name": "key", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1282", + "referencedDeclaration": "1283", "src": { "column": "35", "end": "20479", "length": "3", "line": "627", - "parentIndex": "1279", + "parentIndex": "1280", "start": "20477" }, "typeDescription": { @@ -27320,23 +27374,23 @@ } } }, - "id": "1279", + "id": "1280", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1281", + "id": "1282", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1281", + "referencedDeclaration": "1282", "src": { "column": "23", "end": "20467", "length": "3", "line": "627", - "parentIndex": "1280", + "parentIndex": "1281", "start": "20465" }, "typeDescription": { @@ -27345,13 +27399,13 @@ } } }, - "id": "1280", + "id": "1281", "memberLocation": { "column": "27", "end": "20475", "length": "7", "line": "627", - "parentIndex": "1280", + "parentIndex": "1281", "start": "20469" }, "memberName": "indexOf", @@ -27361,7 +27415,7 @@ "end": "20475", "length": "11", "line": "627", - "parentIndex": "1276", + "parentIndex": "1277", "start": "20465" }, "typeDescription": { @@ -27376,7 +27430,7 @@ "end": "20480", "length": "16", "line": "627", - "parentIndex": "1276", + "parentIndex": "1277", "start": "20465" }, "typeDescription": { @@ -27401,7 +27455,7 @@ "end": "20481", "length": "32", "line": "627", - "parentIndex": "1257", + "parentIndex": "1258", "start": "20450" } } @@ -27410,11 +27464,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1284" + "1285" ], "declarations": [ { - "id": "1284", + "id": "1285", "mutability": "MUTABLE", "name": "lastKey", "nameLocation": { @@ -27422,17 +27476,17 @@ "end": "20505", "length": "7", "line": "628", - "parentIndex": "1284", + "parentIndex": "1285", "start": "20499" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1257", + "scope": "1258", "src": { "column": "8", "end": "20505", "length": "15", "line": "628", - "parentIndex": "1283", + "parentIndex": "1284", "start": "20491" }, "storageLocation": "DEFAULT", @@ -27441,7 +27495,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1285", + "id": "1286", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27449,7 +27503,7 @@ "end": "20497", "length": "7", "line": "628", - "parentIndex": "1284", + "parentIndex": "1285", "start": "20491" }, "typeDescription": { @@ -27460,14 +27514,14 @@ "visibility": "INTERNAL" } ], - "id": "1283", + "id": "1284", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1289", + "id": "1290", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -27477,16 +27531,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1292", + "id": "1293", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1292", + "referencedDeclaration": "1293", "src": { "column": "35", "end": "20520", "length": "3", "line": "628", - "parentIndex": "1291", + "parentIndex": "1292", "start": "20518" }, "typeDescription": { @@ -27495,13 +27549,13 @@ } } }, - "id": "1291", + "id": "1292", "memberLocation": { "column": "39", "end": "20525", "length": "4", "line": "628", - "parentIndex": "1291", + "parentIndex": "1292", "start": "20522" }, "memberName": "keys", @@ -27511,7 +27565,7 @@ "end": "20525", "length": "8", "line": "628", - "parentIndex": "1283", + "parentIndex": "1284", "start": "20518" }, "typeDescription": { @@ -27520,13 +27574,13 @@ } } }, - "id": "1290", + "id": "1291", "memberLocation": { "column": "44", "end": "20532", "length": "6", "line": "628", - "parentIndex": "1290", + "parentIndex": "1291", "start": "20527" }, "memberName": "length", @@ -27536,7 +27590,7 @@ "end": "20532", "length": "15", "line": "628", - "parentIndex": "1283", + "parentIndex": "1284", "start": "20518" }, "typeDescription": { @@ -27551,7 +27605,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "1293", + "id": "1294", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -27560,7 +27614,7 @@ "end": "20536", "length": "1", "line": "628", - "parentIndex": "1289", + "parentIndex": "1290", "start": "20536" }, "typeDescription": { @@ -27575,7 +27629,7 @@ "end": "20536", "length": "19", "line": "628", - "parentIndex": "1286", + "parentIndex": "1287", "start": "20518" }, "typeDescription": { @@ -27584,23 +27638,23 @@ } } }, - "id": "1286", + "id": "1287", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1288", + "id": "1289", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1288", + "referencedDeclaration": "1289", "src": { "column": "26", "end": "20511", "length": "3", "line": "628", - "parentIndex": "1287", + "parentIndex": "1288", "start": "20509" }, "typeDescription": { @@ -27609,13 +27663,13 @@ } } }, - "id": "1287", + "id": "1288", "memberLocation": { "column": "30", "end": "20516", "length": "4", "line": "628", - "parentIndex": "1287", + "parentIndex": "1288", "start": "20513" }, "memberName": "keys", @@ -27625,7 +27679,7 @@ "end": "20516", "length": "8", "line": "628", - "parentIndex": "1283", + "parentIndex": "1284", "start": "20509" }, "typeDescription": { @@ -27640,7 +27694,7 @@ "end": "20537", "length": "29", "line": "628", - "parentIndex": "1283", + "parentIndex": "1284", "start": "20509" }, "typeDescription": { @@ -27665,7 +27719,7 @@ "end": "20538", "length": "48", "line": "628", - "parentIndex": "1257", + "parentIndex": "1258", "start": "20491" } } @@ -27676,23 +27730,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1295", + "id": "1296", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1299", + "id": "1300", "name": "lastKey", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1283", + "referencedDeclaration": "1284", "src": { "column": "20", "end": "20567", "length": "7", "line": "630", - "parentIndex": "1296", + "parentIndex": "1297", "start": "20561" }, "typeDescription": { @@ -27701,23 +27755,23 @@ } } }, - "id": "1296", + "id": "1297", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1298", + "id": "1299", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1298", + "referencedDeclaration": "1299", "src": { "column": "8", "end": "20551", "length": "3", "line": "630", - "parentIndex": "1297", + "parentIndex": "1298", "start": "20549" }, "typeDescription": { @@ -27726,13 +27780,13 @@ } } }, - "id": "1297", + "id": "1298", "memberLocation": { "column": "12", "end": "20559", "length": "7", "line": "630", - "parentIndex": "1297", + "parentIndex": "1298", "start": "20553" }, "memberName": "indexOf", @@ -27742,7 +27796,7 @@ "end": "20559", "length": "11", "line": "630", - "parentIndex": "1296", + "parentIndex": "1297", "start": "20549" }, "typeDescription": { @@ -27757,7 +27811,7 @@ "end": "20568", "length": "20", "line": "630", - "parentIndex": "1295", + "parentIndex": "1296", "start": "20549" }, "typeDescription": { @@ -27781,16 +27835,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1300", + "id": "1301", "name": "index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1276", + "referencedDeclaration": "1277", "src": { "column": "31", "end": "20576", "length": "5", "line": "630", - "parentIndex": "1295", + "parentIndex": "1296", "start": "20572" }, "typeDescription": { @@ -27804,7 +27858,7 @@ "end": "20576", "length": "28", "line": "630", - "parentIndex": "1294", + "parentIndex": "1295", "start": "20549" }, "typeDescription": { @@ -27813,14 +27867,14 @@ } } }, - "id": "1294", + "id": "1295", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "20577", "length": "29", "line": "630", - "parentIndex": "1257", + "parentIndex": "1258", "start": "20549" }, "typeDescription": { @@ -27838,16 +27892,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1305", + "id": "1306", "name": "key", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1305", + "referencedDeclaration": "1306", "src": { "column": "27", "end": "20608", "length": "3", "line": "631", - "parentIndex": "1302", + "parentIndex": "1303", "start": "20606" }, "typeDescription": { @@ -27856,23 +27910,23 @@ } } }, - "id": "1302", + "id": "1303", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1304", + "id": "1305", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1304", + "referencedDeclaration": "1305", "src": { "column": "15", "end": "20596", "length": "3", "line": "631", - "parentIndex": "1303", + "parentIndex": "1304", "start": "20594" }, "typeDescription": { @@ -27881,13 +27935,13 @@ } } }, - "id": "1303", + "id": "1304", "memberLocation": { "column": "19", "end": "20604", "length": "7", "line": "631", - "parentIndex": "1303", + "parentIndex": "1304", "start": "20598" }, "memberName": "indexOf", @@ -27897,7 +27951,7 @@ "end": "20604", "length": "11", "line": "631", - "parentIndex": "1302", + "parentIndex": "1303", "start": "20594" }, "typeDescription": { @@ -27912,7 +27966,7 @@ "end": "20609", "length": "16", "line": "631", - "parentIndex": "1301", + "parentIndex": "1302", "start": "20594" }, "typeDescription": { @@ -27931,7 +27985,7 @@ ] } }, - "id": "1301", + "id": "1302", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "INCREMENT", @@ -27940,7 +27994,7 @@ "end": "20609", "length": "23", "line": "631", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20587" }, "typeDescription": { @@ -27955,23 +28009,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1307", + "id": "1308", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1311", + "id": "1312", "name": "index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1276", + "referencedDeclaration": "1277", "src": { "column": "17", "end": "20634", "length": "5", "line": "633", - "parentIndex": "1308", + "parentIndex": "1309", "start": "20630" }, "typeDescription": { @@ -27980,23 +28034,23 @@ } } }, - "id": "1308", + "id": "1309", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1310", + "id": "1311", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1310", + "referencedDeclaration": "1311", "src": { "column": "8", "end": "20623", "length": "3", "line": "633", - "parentIndex": "1309", + "parentIndex": "1310", "start": "20621" }, "typeDescription": { @@ -28005,13 +28059,13 @@ } } }, - "id": "1309", + "id": "1310", "memberLocation": { "column": "12", "end": "20628", "length": "4", "line": "633", - "parentIndex": "1309", + "parentIndex": "1310", "start": "20625" }, "memberName": "keys", @@ -28021,7 +28075,7 @@ "end": "20628", "length": "8", "line": "633", - "parentIndex": "1308", + "parentIndex": "1309", "start": "20621" }, "typeDescription": { @@ -28036,7 +28090,7 @@ "end": "20635", "length": "15", "line": "633", - "parentIndex": "1307", + "parentIndex": "1308", "start": "20621" }, "typeDescription": { @@ -28060,16 +28114,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1312", + "id": "1313", "name": "lastKey", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1283", + "referencedDeclaration": "1284", "src": { "column": "26", "end": "20645", "length": "7", "line": "633", - "parentIndex": "1307", + "parentIndex": "1308", "start": "20639" }, "typeDescription": { @@ -28083,7 +28137,7 @@ "end": "20645", "length": "25", "line": "633", - "parentIndex": "1306", + "parentIndex": "1307", "start": "20621" }, "typeDescription": { @@ -28092,14 +28146,14 @@ } } }, - "id": "1306", + "id": "1307", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "20646", "length": "26", "line": "633", - "parentIndex": "1257", + "parentIndex": "1258", "start": "20621" }, "typeDescription": { @@ -28120,16 +28174,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1316", + "id": "1317", "name": "map", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1316", + "referencedDeclaration": "1317", "src": { "column": "8", "end": "20658", "length": "3", "line": "634", - "parentIndex": "1315", + "parentIndex": "1316", "start": "20656" }, "typeDescription": { @@ -28138,13 +28192,13 @@ } } }, - "id": "1315", + "id": "1316", "memberLocation": { "column": "12", "end": "20663", "length": "4", "line": "634", - "parentIndex": "1315", + "parentIndex": "1316", "start": "20660" }, "memberName": "keys", @@ -28154,7 +28208,7 @@ "end": "20663", "length": "8", "line": "634", - "parentIndex": "1314", + "parentIndex": "1315", "start": "20656" }, "typeDescription": { @@ -28163,13 +28217,13 @@ } } }, - "id": "1314", + "id": "1315", "memberLocation": { "column": "17", "end": "20667", "length": "3", "line": "634", - "parentIndex": "1314", + "parentIndex": "1315", "start": "20665" }, "memberName": "pop", @@ -28179,7 +28233,7 @@ "end": "20667", "length": "12", "line": "634", - "parentIndex": "1313", + "parentIndex": "1314", "start": "20656" }, "typeDescription": { @@ -28188,7 +28242,7 @@ } } }, - "id": "1313", + "id": "1314", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -28196,7 +28250,7 @@ "end": "20669", "length": "14", "line": "634", - "parentIndex": "1257", + "parentIndex": "1258", "start": "20656" }, "typeDescription": { @@ -28207,7 +28261,7 @@ } ] }, - "id": "1249", + "id": "1250", "implemented": true, "kind": "KIND_FUNCTION", "name": "remove", @@ -28216,25 +28270,25 @@ "end": "20268", "length": "6", "line": "620", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20263" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1250", + "id": "1251", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1251", + "id": "1252", "name": "map", "nodeType": "VARIABLE_DECLARATION", - "scope": "1251", + "scope": "1252", "src": { "column": "20", "end": "20284", "length": "15", "line": "620", - "parentIndex": "1250", + "parentIndex": "1251", "start": "20270" }, "stateMutability": "MUTABLE", @@ -28244,17 +28298,17 @@ "typeString": "struct IterableMapping.Map" }, "typeName": { - "id": "1252", + "id": "1253", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1253", + "id": "1254", "name": "Map", "nameLocation": { "column": "20", "end": "20272", "length": "3", "line": "620", - "parentIndex": "1252", + "parentIndex": "1253", "start": "20270" }, "nodeType": "IDENTIFIER_PATH", @@ -28264,7 +28318,7 @@ "end": "20272", "length": "3", "line": "620", - "parentIndex": "1252", + "parentIndex": "1253", "start": "20270" } }, @@ -28274,7 +28328,7 @@ "end": "20272", "length": "3", "line": "620", - "parentIndex": "1251", + "parentIndex": "1252", "start": "20270" }, "typeDescription": { @@ -28285,16 +28339,16 @@ "visibility": "INTERNAL" }, { - "id": "1254", + "id": "1255", "name": "key", "nodeType": "VARIABLE_DECLARATION", - "scope": "1254", + "scope": "1255", "src": { "column": "37", "end": "20297", "length": "11", "line": "620", - "parentIndex": "1250", + "parentIndex": "1251", "start": "20287" }, "stateMutability": "MUTABLE", @@ -28304,7 +28358,7 @@ "typeString": "uint128" }, "typeName": { - "id": "1255", + "id": "1256", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -28312,7 +28366,7 @@ "end": "20293", "length": "7", "line": "620", - "parentIndex": "1254", + "parentIndex": "1255", "start": "20287" }, "typeDescription": { @@ -28328,24 +28382,24 @@ "end": "20297", "length": "28", "line": "620", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20270" } }, "returnParameters": { - "id": "1256", + "id": "1257", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "20676", "length": "423", "line": "620", - "parentIndex": "1249", + "parentIndex": "1250", "start": "20254" } }, "scope": "1139", - "signature": "e2378e96", + "signature": "90813ada", "src": { "column": "4", "end": "20676", diff --git a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IterableMapping.solgo.ast.json b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IterableMapping.solgo.ast.json index 31c0e721..7bedde47 100644 --- a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IterableMapping.solgo.ast.json +++ b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/IterableMapping.solgo.ast.json @@ -399,7 +399,7 @@ "name": "values", "type_name": { "id": 1159, - "node_type": 0, + "node_type": 69, "src": { "line": 592, "column": 8, @@ -436,7 +436,7 @@ }, "value_type": { "id": 1161, - "node_type": 30, + "node_type": 69, "src": { "line": 592, "column": 27, @@ -446,10 +446,10 @@ "parent_index": 1159 }, "name": "Order", - "referenced_declaration": 0, + "referenced_declaration": 1141, "type_description": { - "type_identifier": "t_Order", - "type_string": "Order" + "type_identifier": "t_struct$_IterableMapping_Order_$1141", + "type_string": "struct IterableMapping.Order" } }, "value_name_location": { @@ -460,21 +460,43 @@ "length": 5, "parent_index": 1159 }, - "referenced_declaration": 0, + "path_node": { + "id": 1162, + "name": "Order", + "node_type": 52, + "referenced_declaration": 1141, + "src": { + "line": 592, + "column": 27, + "start": 19430, + "end": 19434, + "length": 5, + "parent_index": 1159 + }, + "name_location": { + "line": 592, + "column": 27, + "start": 19430, + "end": 19434, + "length": 5, + "parent_index": 1159 + } + }, + "referenced_declaration": 1141, "type_description": { - "type_identifier": "t_mapping_$t_uint128_$t_Order$", + "type_identifier": "t_mapping_$t_uint128_$t_struct$_IterableMapping_Order_$1141$", "type_string": "mapping(uint128=\u003eOrder)" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_mapping_$t_uint128_$t_Order$", + "type_identifier": "t_mapping_$t_uint128_$t_struct$_IterableMapping_Order_$1141$", "type_string": "mapping(uint128=\u003eOrder)" } }, { - "id": 1162, + "id": 1163, "node_type": 44, "src": { "line": 593, @@ -487,18 +509,18 @@ "scope": 1139, "name": "indexOf", "type_name": { - "id": 1163, - "node_type": 0, + "id": 1164, + "node_type": 53, "src": { "line": 593, "column": 8, "start": 19453, "end": 19478, "length": 26, - "parent_index": 1162 + "parent_index": 1163 }, "key_type": { - "id": 1164, + "id": 1165, "node_type": 30, "src": { "line": 593, @@ -506,7 +528,7 @@ "start": 19461, "end": 19467, "length": 7, - "parent_index": 1163 + "parent_index": 1164 }, "name": "uint128", "referenced_declaration": 0, @@ -521,10 +543,10 @@ "start": 19461, "end": 19467, "length": 7, - "parent_index": 1163 + "parent_index": 1164 }, "value_type": { - "id": 1165, + "id": 1166, "node_type": 30, "src": { "line": 593, @@ -532,7 +554,7 @@ "start": 19472, "end": 19477, "length": 6, - "parent_index": 1163 + "parent_index": 1164 }, "name": "uint32", "referenced_declaration": 0, @@ -547,7 +569,7 @@ "start": 19472, "end": 19477, "length": 6, - "parent_index": 1163 + "parent_index": 1164 }, "referenced_declaration": 0, "type_description": { @@ -563,7 +585,7 @@ } }, { - "id": 1166, + "id": 1167, "node_type": 44, "src": { "line": 594, @@ -576,18 +598,18 @@ "scope": 1139, "name": "inserted", "type_name": { - "id": 1167, - "node_type": 0, + "id": 1168, + "node_type": 53, "src": { "line": 594, "column": 8, "start": 19497, "end": 19520, "length": 24, - "parent_index": 1166 + "parent_index": 1167 }, "key_type": { - "id": 1168, + "id": 1169, "node_type": 30, "src": { "line": 594, @@ -595,7 +617,7 @@ "start": 19505, "end": 19511, "length": 7, - "parent_index": 1167 + "parent_index": 1168 }, "name": "uint128", "referenced_declaration": 0, @@ -610,10 +632,10 @@ "start": 19505, "end": 19511, "length": 7, - "parent_index": 1167 + "parent_index": 1168 }, "value_type": { - "id": 1169, + "id": 1170, "node_type": 30, "src": { "line": 594, @@ -621,7 +643,7 @@ "start": 19516, "end": 19519, "length": 4, - "parent_index": 1167 + "parent_index": 1168 }, "name": "bool", "referenced_declaration": 0, @@ -636,7 +658,7 @@ "start": 19516, "end": 19519, "length": 4, - "parent_index": 1167 + "parent_index": 1168 }, "referenced_declaration": 0, "type_description": { @@ -656,7 +678,7 @@ "storage_location": 1 }, { - "id": 1171, + "id": 1172, "name": "get", "node_type": 42, "kind": 41, @@ -674,10 +696,10 @@ "start": 19552, "end": 19554, "length": 3, - "parent_index": 1171 + "parent_index": 1172 }, "body": { - "id": 1182, + "id": 1183, "node_type": 46, "kind": 0, "src": { @@ -686,12 +708,12 @@ "start": 19624, "end": 19662, "length": 39, - "parent_index": 1171 + "parent_index": 1172 }, "implemented": true, "statements": [ { - "id": 1183, + "id": 1184, "node_type": 47, "src": { "line": 598, @@ -699,11 +721,11 @@ "start": 19634, "end": 19656, "length": 23, - "parent_index": 1171 + "parent_index": 1172 }, - "function_return_parameters": 1171, + "function_return_parameters": 1172, "expression": { - "id": 1184, + "id": 1185, "node_type": 22, "src": { "line": 598, @@ -711,10 +733,10 @@ "start": 19641, "end": 19655, "length": 15, - "parent_index": 1183 + "parent_index": 1184 }, "index_expression": { - "id": 1185, + "id": 1186, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -726,7 +748,7 @@ "start": 19641, "end": 19650, "length": 10, - "parent_index": 1184 + "parent_index": 1185 }, "member_location": { "line": 598, @@ -734,10 +756,10 @@ "start": 19645, "end": 19650, "length": 6, - "parent_index": 1185 + "parent_index": 1186 }, "expression": { - "id": 1186, + "id": 1187, "node_type": 16, "src": { "line": 598, @@ -745,7 +767,7 @@ "start": 19641, "end": 19643, "length": 3, - "parent_index": 1185 + "parent_index": 1186 }, "name": "map", "type_description": { @@ -753,18 +775,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1186, - "is_pure": false + "referenced_declaration": 1187, + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { - "id": 1187, + "id": 1188, "node_type": 16, "src": { "line": 598, @@ -772,7 +796,7 @@ "start": 19652, "end": 19654, "length": 3, - "parent_index": 1184 + "parent_index": 1185 }, "name": "key", "type_description": { @@ -780,8 +804,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1187, - "is_pure": false + "referenced_declaration": 1188, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -808,7 +833,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1172, + "id": 1173, "node_type": 43, "src": { "line": 597, @@ -816,11 +841,11 @@ "start": 19556, "end": 19583, "length": 28, - "parent_index": 1171 + "parent_index": 1172 }, "parameters": [ { - "id": 1173, + "id": 1174, "node_type": 44, "src": { "line": 597, @@ -828,12 +853,12 @@ "start": 19556, "end": 19570, "length": 15, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "map", "type_name": { - "id": 1174, + "id": 1175, "node_type": 69, "src": { "line": 597, @@ -841,10 +866,10 @@ "start": 19556, "end": 19558, "length": 3, - "parent_index": 1173 + "parent_index": 1174 }, "path_node": { - "id": 1175, + "id": 1176, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -854,7 +879,7 @@ "start": 19556, "end": 19558, "length": 3, - "parent_index": 1174 + "parent_index": 1175 }, "name_location": { "line": 597, @@ -862,7 +887,7 @@ "start": 19556, "end": 19558, "length": 3, - "parent_index": 1174 + "parent_index": 1175 } }, "referenced_declaration": 1155, @@ -880,7 +905,7 @@ } }, { - "id": 1176, + "id": 1177, "node_type": 44, "src": { "line": 597, @@ -888,12 +913,12 @@ "start": 19573, "end": 19583, "length": 11, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "key", "type_name": { - "id": 1177, + "id": 1178, "node_type": 30, "src": { "line": 597, @@ -901,7 +926,7 @@ "start": 19573, "end": 19579, "length": 7, - "parent_index": 1176 + "parent_index": 1177 }, "name": "uint128", "referenced_declaration": 0, @@ -931,7 +956,7 @@ ] }, "return_parameters": { - "id": 1178, + "id": 1179, "node_type": 43, "src": { "line": 597, @@ -939,11 +964,11 @@ "start": 19609, "end": 19621, "length": 13, - "parent_index": 1171 + "parent_index": 1172 }, "parameters": [ { - "id": 1179, + "id": 1180, "node_type": 44, "src": { "line": 597, @@ -951,12 +976,12 @@ "start": 19609, "end": 19621, "length": 13, - "parent_index": 1178 + "parent_index": 1179 }, - "scope": 1171, + "scope": 1172, "name": "", "type_name": { - "id": 1180, + "id": 1181, "node_type": 69, "src": { "line": 597, @@ -964,10 +989,10 @@ "start": 19609, "end": 19613, "length": 5, - "parent_index": 1179 + "parent_index": 1180 }, "path_node": { - "id": 1181, + "id": 1182, "name": "Order", "node_type": 52, "referenced_declaration": 1141, @@ -977,7 +1002,7 @@ "start": 19609, "end": 19613, "length": 5, - "parent_index": 1180 + "parent_index": 1181 }, "name_location": { "line": 597, @@ -985,7 +1010,7 @@ "start": 19609, "end": 19613, "length": 5, - "parent_index": 1180 + "parent_index": 1181 } }, "referenced_declaration": 1141, @@ -1010,16 +1035,17 @@ } ] }, - "signature_raw": "get(, uint128)", - "signature": "1da4aa6a", + "signature_raw": "get(,uint128)", + "signature": "a374c211", "scope": 1139, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", "type_string": "function(struct IterableMapping.Map,uint128)" - } + }, + "text": "functionget(Mapstoragemap,uint128key)internalviewreturns(Orderstorage){returnmap.values[key];}" }, { - "id": 1189, + "id": 1190, "name": "getKeyAtIndex", "node_type": 42, "kind": 41, @@ -1037,10 +1063,10 @@ "start": 19678, "end": 19690, "length": 13, - "parent_index": 1189 + "parent_index": 1190 }, "body": { - "id": 1199, + "id": 1200, "node_type": 46, "kind": 0, "src": { @@ -1049,12 +1075,12 @@ "start": 19755, "end": 19793, "length": 39, - "parent_index": 1189 + "parent_index": 1190 }, "implemented": true, "statements": [ { - "id": 1200, + "id": 1201, "node_type": 47, "src": { "line": 602, @@ -1062,11 +1088,11 @@ "start": 19765, "end": 19787, "length": 23, - "parent_index": 1189 + "parent_index": 1190 }, - "function_return_parameters": 1189, + "function_return_parameters": 1190, "expression": { - "id": 1201, + "id": 1202, "node_type": 22, "src": { "line": 602, @@ -1074,10 +1100,10 @@ "start": 19772, "end": 19786, "length": 15, - "parent_index": 1200 + "parent_index": 1201 }, "index_expression": { - "id": 1202, + "id": 1203, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1089,7 +1115,7 @@ "start": 19772, "end": 19779, "length": 8, - "parent_index": 1201 + "parent_index": 1202 }, "member_location": { "line": 602, @@ -1097,10 +1123,10 @@ "start": 19776, "end": 19779, "length": 4, - "parent_index": 1202 + "parent_index": 1203 }, "expression": { - "id": 1203, + "id": 1204, "node_type": 16, "src": { "line": 602, @@ -1108,7 +1134,7 @@ "start": 19772, "end": 19774, "length": 3, - "parent_index": 1202 + "parent_index": 1203 }, "name": "map", "type_description": { @@ -1116,18 +1142,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1203, - "is_pure": false + "referenced_declaration": 1204, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { - "id": 1204, + "id": 1205, "node_type": 16, "src": { "line": 602, @@ -1135,7 +1163,7 @@ "start": 19781, "end": 19785, "length": 5, - "parent_index": 1201 + "parent_index": 1202 }, "name": "index", "type_description": { @@ -1143,8 +1171,9 @@ "type_string": "uint32" }, "overloaded_declarations": [], - "referenced_declaration": 1204, - "is_pure": false + "referenced_declaration": 1205, + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -1171,7 +1200,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1190, + "id": 1191, "node_type": 43, "src": { "line": 601, @@ -1179,11 +1208,11 @@ "start": 19692, "end": 19720, "length": 29, - "parent_index": 1189 + "parent_index": 1190 }, "parameters": [ { - "id": 1191, + "id": 1192, "node_type": 44, "src": { "line": 601, @@ -1191,12 +1220,12 @@ "start": 19692, "end": 19706, "length": 15, - "parent_index": 1190 + "parent_index": 1191 }, - "scope": 1189, + "scope": 1190, "name": "map", "type_name": { - "id": 1192, + "id": 1193, "node_type": 69, "src": { "line": 601, @@ -1204,10 +1233,10 @@ "start": 19692, "end": 19694, "length": 3, - "parent_index": 1191 + "parent_index": 1192 }, "path_node": { - "id": 1193, + "id": 1194, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -1217,7 +1246,7 @@ "start": 19692, "end": 19694, "length": 3, - "parent_index": 1192 + "parent_index": 1193 }, "name_location": { "line": 601, @@ -1225,7 +1254,7 @@ "start": 19692, "end": 19694, "length": 3, - "parent_index": 1192 + "parent_index": 1193 } }, "referenced_declaration": 1155, @@ -1243,7 +1272,7 @@ } }, { - "id": 1194, + "id": 1195, "node_type": 44, "src": { "line": 601, @@ -1251,12 +1280,12 @@ "start": 19709, "end": 19720, "length": 12, - "parent_index": 1190 + "parent_index": 1191 }, - "scope": 1189, + "scope": 1190, "name": "index", "type_name": { - "id": 1195, + "id": 1196, "node_type": 30, "src": { "line": 601, @@ -1264,7 +1293,7 @@ "start": 19709, "end": 19714, "length": 6, - "parent_index": 1194 + "parent_index": 1195 }, "name": "uint32", "referenced_declaration": 0, @@ -1294,7 +1323,7 @@ ] }, "return_parameters": { - "id": 1196, + "id": 1197, "node_type": 43, "src": { "line": 601, @@ -1302,11 +1331,11 @@ "start": 19746, "end": 19752, "length": 7, - "parent_index": 1189 + "parent_index": 1190 }, "parameters": [ { - "id": 1197, + "id": 1198, "node_type": 44, "src": { "line": 601, @@ -1314,12 +1343,12 @@ "start": 19746, "end": 19752, "length": 7, - "parent_index": 1196 + "parent_index": 1197 }, - "scope": 1189, + "scope": 1190, "name": "", "type_name": { - "id": 1198, + "id": 1199, "node_type": 30, "src": { "line": 601, @@ -1327,7 +1356,7 @@ "start": 19746, "end": 19752, "length": 7, - "parent_index": 1197 + "parent_index": 1198 }, "name": "uint128", "referenced_declaration": 0, @@ -1352,16 +1381,17 @@ } ] }, - "signature_raw": "getKeyAtIndex(, uint32)", - "signature": "abb07e79", + "signature_raw": "getKeyAtIndex(,uint32)", + "signature": "118734c4", "scope": 1139, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint32$", "type_string": "function(struct IterableMapping.Map,uint32)" - } + }, + "text": "functiongetKeyAtIndex(Mapstoragemap,uint32index)internalviewreturns(uint128){returnmap.keys[index];}" }, { - "id": 1206, + "id": 1207, "name": "size", "node_type": 42, "kind": 41, @@ -1379,10 +1409,10 @@ "start": 19809, "end": 19812, "length": 4, - "parent_index": 1206 + "parent_index": 1207 }, "body": { - "id": 1214, + "id": 1215, "node_type": 46, "kind": 0, "src": { @@ -1391,12 +1421,12 @@ "start": 19862, "end": 19908, "length": 47, - "parent_index": 1206 + "parent_index": 1207 }, "implemented": true, "statements": [ { - "id": 1215, + "id": 1216, "node_type": 47, "src": { "line": 606, @@ -1404,11 +1434,11 @@ "start": 19872, "end": 19902, "length": 31, - "parent_index": 1206 + "parent_index": 1207 }, - "function_return_parameters": 1206, + "function_return_parameters": 1207, "expression": { - "id": 1216, + "id": 1217, "node_type": 24, "kind": 24, "src": { @@ -1417,7 +1447,7 @@ "start": 19879, "end": 19901, "length": 23, - "parent_index": 1215 + "parent_index": 1216 }, "argument_types": [ { @@ -1427,7 +1457,7 @@ ], "arguments": [ { - "id": 1219, + "id": 1220, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1439,7 +1469,7 @@ "start": 19886, "end": 19900, "length": 15, - "parent_index": 1216 + "parent_index": 1217 }, "member_location": { "line": 606, @@ -1447,10 +1477,10 @@ "start": 19895, "end": 19900, "length": 6, - "parent_index": 1219 + "parent_index": 1220 }, "expression": { - "id": 1220, + "id": 1221, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1462,7 +1492,7 @@ "start": 19886, "end": 19893, "length": 8, - "parent_index": 1219 + "parent_index": 1220 }, "member_location": { "line": 606, @@ -1470,10 +1500,10 @@ "start": 19890, "end": 19893, "length": 4, - "parent_index": 1220 + "parent_index": 1221 }, "expression": { - "id": 1221, + "id": 1222, "node_type": 16, "src": { "line": 606, @@ -1481,7 +1511,7 @@ "start": 19886, "end": 19888, "length": 3, - "parent_index": 1220 + "parent_index": 1221 }, "name": "map", "type_description": { @@ -1489,26 +1519,29 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1221, - "is_pure": false + "referenced_declaration": 1222, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.length" } ], "expression": { - "id": 1217, + "id": 1218, "node_type": 16, "src": { "line": 606, @@ -1516,11 +1549,11 @@ "start": 19879, "end": 19884, "length": 6, - "parent_index": 1216 + "parent_index": 1217 }, "name": "uint32", "type_name": { - "id": 1218, + "id": 1219, "node_type": 30, "src": { "line": 606, @@ -1528,7 +1561,7 @@ "start": 19879, "end": 19884, "length": 6, - "parent_index": 1217 + "parent_index": 1218 }, "name": "uint32", "referenced_declaration": 0, @@ -1549,7 +1582,8 @@ "type_identifier": "t_uint32", "type_string": "uint32" } - ] + ], + "text": "uint32" }, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$", @@ -1566,7 +1600,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1207, + "id": 1208, "node_type": 43, "src": { "line": 605, @@ -1574,11 +1608,11 @@ "start": 19814, "end": 19828, "length": 15, - "parent_index": 1206 + "parent_index": 1207 }, "parameters": [ { - "id": 1208, + "id": 1209, "node_type": 44, "src": { "line": 605, @@ -1586,12 +1620,12 @@ "start": 19814, "end": 19828, "length": 15, - "parent_index": 1207 + "parent_index": 1208 }, - "scope": 1206, + "scope": 1207, "name": "map", "type_name": { - "id": 1209, + "id": 1210, "node_type": 69, "src": { "line": 605, @@ -1599,10 +1633,10 @@ "start": 19814, "end": 19816, "length": 3, - "parent_index": 1208 + "parent_index": 1209 }, "path_node": { - "id": 1210, + "id": 1211, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -1612,7 +1646,7 @@ "start": 19814, "end": 19816, "length": 3, - "parent_index": 1209 + "parent_index": 1210 }, "name_location": { "line": 605, @@ -1620,7 +1654,7 @@ "start": 19814, "end": 19816, "length": 3, - "parent_index": 1209 + "parent_index": 1210 } }, "referenced_declaration": 1155, @@ -1646,7 +1680,7 @@ ] }, "return_parameters": { - "id": 1211, + "id": 1212, "node_type": 43, "src": { "line": 605, @@ -1654,11 +1688,11 @@ "start": 19854, "end": 19859, "length": 6, - "parent_index": 1206 + "parent_index": 1207 }, "parameters": [ { - "id": 1212, + "id": 1213, "node_type": 44, "src": { "line": 605, @@ -1666,12 +1700,12 @@ "start": 19854, "end": 19859, "length": 6, - "parent_index": 1211 + "parent_index": 1212 }, - "scope": 1206, + "scope": 1207, "name": "", "type_name": { - "id": 1213, + "id": 1214, "node_type": 30, "src": { "line": 605, @@ -1679,7 +1713,7 @@ "start": 19854, "end": 19859, "length": 6, - "parent_index": 1212 + "parent_index": 1213 }, "name": "uint32", "referenced_declaration": 0, @@ -1710,10 +1744,11 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$", "type_string": "function(struct IterableMapping.Map)" - } + }, + "text": "functionsize(Mapstoragemap)internalviewreturns(uint32){returnuint32(map.keys.length);}" }, { - "id": 1223, + "id": 1224, "name": "set", "node_type": 42, "kind": 41, @@ -1731,10 +1766,10 @@ "start": 19924, "end": 19926, "length": 3, - "parent_index": 1223 + "parent_index": 1224 }, "body": { - "id": 1234, + "id": 1235, "node_type": 46, "kind": 0, "src": { @@ -1743,12 +1778,12 @@ "start": 19985, "end": 20247, "length": 263, - "parent_index": 1223 + "parent_index": 1224 }, "implemented": true, "statements": [ { - "id": 1235, + "id": 1236, "node_type": 48, "src": { "line": 610, @@ -1756,10 +1791,10 @@ "start": 19995, "end": 20241, "length": 247, - "parent_index": 1234 + "parent_index": 1235 }, "condition": { - "id": 1236, + "id": 1237, "node_type": 22, "src": { "line": 610, @@ -1767,10 +1802,10 @@ "start": 19999, "end": 20015, "length": 17, - "parent_index": 1235 + "parent_index": 1236 }, "index_expression": { - "id": 1237, + "id": 1238, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1782,7 +1817,7 @@ "start": 19999, "end": 20010, "length": 12, - "parent_index": 1236 + "parent_index": 1237 }, "member_location": { "line": 610, @@ -1790,10 +1825,10 @@ "start": 20003, "end": 20010, "length": 8, - "parent_index": 1237 + "parent_index": 1238 }, "expression": { - "id": 1238, + "id": 1239, "node_type": 16, "src": { "line": 610, @@ -1801,7 +1836,7 @@ "start": 19999, "end": 20001, "length": 3, - "parent_index": 1237 + "parent_index": 1238 }, "name": "map", "type_description": { @@ -1809,18 +1844,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1238, - "is_pure": false + "referenced_declaration": 1239, + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { - "id": 1239, + "id": 1240, "node_type": 16, "src": { "line": 610, @@ -1828,7 +1865,7 @@ "start": 20012, "end": 20014, "length": 3, - "parent_index": 1236 + "parent_index": 1237 }, "name": "key", "type_description": { @@ -1836,8 +1873,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1239, - "is_pure": false + "referenced_declaration": 1240, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -1855,7 +1893,7 @@ } }, "body": { - "id": 1240, + "id": 1241, "node_type": 46, "kind": 0, "src": { @@ -1864,12 +1902,12 @@ "start": 20018, "end": 20063, "length": 46, - "parent_index": 1223 + "parent_index": 1224 }, "implemented": true, "statements": [ { - "id": 1241, + "id": 1242, "node_type": 27, "src": { "line": 611, @@ -1877,10 +1915,10 @@ "start": 20032, "end": 20053, "length": 22, - "parent_index": 1240 + "parent_index": 1241 }, "expression": { - "id": 1242, + "id": 1243, "node_type": 27, "src": { "line": 611, @@ -1888,11 +1926,11 @@ "start": 20032, "end": 20052, "length": 21, - "parent_index": 1241 + "parent_index": 1242 }, "operator": 11, "left_expression": { - "id": 1243, + "id": 1244, "node_type": 22, "src": { "line": 611, @@ -1900,10 +1938,10 @@ "start": 20032, "end": 20046, "length": 15, - "parent_index": 1242 + "parent_index": 1243 }, "index_expression": { - "id": 1244, + "id": 1245, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1915,7 +1953,7 @@ "start": 20032, "end": 20041, "length": 10, - "parent_index": 1243 + "parent_index": 1244 }, "member_location": { "line": 611, @@ -1923,10 +1961,10 @@ "start": 20036, "end": 20041, "length": 6, - "parent_index": 1244 + "parent_index": 1245 }, "expression": { - "id": 1245, + "id": 1246, "node_type": 16, "src": { "line": 611, @@ -1934,7 +1972,7 @@ "start": 20032, "end": 20034, "length": 3, - "parent_index": 1244 + "parent_index": 1245 }, "name": "map", "type_description": { @@ -1942,18 +1980,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1245, - "is_pure": false + "referenced_declaration": 1246, + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { - "id": 1246, + "id": 1247, "node_type": 16, "src": { "line": 611, @@ -1961,7 +2001,7 @@ "start": 20043, "end": 20045, "length": 3, - "parent_index": 1243 + "parent_index": 1244 }, "name": "key", "type_description": { @@ -1969,8 +2009,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1246, - "is_pure": false + "referenced_declaration": 1247, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -1988,7 +2029,7 @@ } }, "right_expression": { - "id": 1247, + "id": 1248, "node_type": 16, "src": { "line": 611, @@ -1996,7 +2037,7 @@ "start": 20050, "end": 20052, "length": 3, - "parent_index": 1242 + "parent_index": 1243 }, "name": "val", "type_description": { @@ -2004,8 +2045,9 @@ "type_string": "struct IterableMapping.Order" }, "overloaded_declarations": [], - "referenced_declaration": 1247, - "is_pure": false + "referenced_declaration": 1248, + "is_pure": false, + "text": "val" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint128]$", @@ -2015,7 +2057,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint128]$", "type_string": "index[struct IterableMapping.Map:uint128]" - } + }, + "text": "map.values[key]=val;" } ] } @@ -2029,7 +2072,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1224, + "id": 1225, "node_type": 43, "src": { "line": 609, @@ -2037,11 +2080,11 @@ "start": 19928, "end": 19973, "length": 46, - "parent_index": 1223 + "parent_index": 1224 }, "parameters": [ { - "id": 1225, + "id": 1226, "node_type": 44, "src": { "line": 609, @@ -2049,12 +2092,12 @@ "start": 19928, "end": 19942, "length": 15, - "parent_index": 1224 + "parent_index": 1225 }, - "scope": 1223, + "scope": 1224, "name": "map", "type_name": { - "id": 1226, + "id": 1227, "node_type": 69, "src": { "line": 609, @@ -2062,10 +2105,10 @@ "start": 19928, "end": 19930, "length": 3, - "parent_index": 1225 + "parent_index": 1226 }, "path_node": { - "id": 1227, + "id": 1228, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -2075,7 +2118,7 @@ "start": 19928, "end": 19930, "length": 3, - "parent_index": 1226 + "parent_index": 1227 }, "name_location": { "line": 609, @@ -2083,7 +2126,7 @@ "start": 19928, "end": 19930, "length": 3, - "parent_index": 1226 + "parent_index": 1227 } }, "referenced_declaration": 1155, @@ -2101,7 +2144,7 @@ } }, { - "id": 1228, + "id": 1229, "node_type": 44, "src": { "line": 609, @@ -2109,12 +2152,12 @@ "start": 19945, "end": 19955, "length": 11, - "parent_index": 1224 + "parent_index": 1225 }, - "scope": 1223, + "scope": 1224, "name": "key", "type_name": { - "id": 1229, + "id": 1230, "node_type": 30, "src": { "line": 609, @@ -2122,7 +2165,7 @@ "start": 19945, "end": 19951, "length": 7, - "parent_index": 1228 + "parent_index": 1229 }, "name": "uint128", "referenced_declaration": 0, @@ -2140,7 +2183,7 @@ } }, { - "id": 1230, + "id": 1231, "node_type": 44, "src": { "line": 609, @@ -2148,12 +2191,12 @@ "start": 19958, "end": 19973, "length": 16, - "parent_index": 1224 + "parent_index": 1225 }, - "scope": 1223, + "scope": 1224, "name": "val", "type_name": { - "id": 1231, + "id": 1232, "node_type": 69, "src": { "line": 609, @@ -2161,10 +2204,10 @@ "start": 19958, "end": 19962, "length": 5, - "parent_index": 1230 + "parent_index": 1231 }, "path_node": { - "id": 1232, + "id": 1233, "name": "Order", "node_type": 52, "referenced_declaration": 1141, @@ -2174,7 +2217,7 @@ "start": 19958, "end": 19962, "length": 5, - "parent_index": 1231 + "parent_index": 1232 }, "name_location": { "line": 609, @@ -2182,7 +2225,7 @@ "start": 19958, "end": 19962, "length": 5, - "parent_index": 1231 + "parent_index": 1232 } }, "referenced_declaration": 1141, @@ -2216,7 +2259,7 @@ ] }, "return_parameters": { - "id": 1233, + "id": 1234, "node_type": 43, "src": { "line": 609, @@ -2224,21 +2267,22 @@ "start": 19915, "end": 20247, "length": 333, - "parent_index": 1223 + "parent_index": 1224 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "set(, uint128, )", - "signature": "d5b62043", + "signature_raw": "set(,uint128,)", + "signature": "bcf15b36", "scope": 1139, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$_t_struct$_IterableMapping_Order_$1141$", "type_string": "function(struct IterableMapping.Map,uint128,struct IterableMapping.Order)" - } + }, + "text": "functionset(Mapstoragemap,uint128key,Ordermemoryval)internal{if(map.inserted[key]){map.values[key]=val;}else{map.inserted[key]=true;map.values[key]=val;map.indexOf[key]=uint32(map.keys.length);map.keys.push(key);}}" }, { - "id": 1249, + "id": 1250, "name": "remove", "node_type": 42, "kind": 41, @@ -2256,10 +2300,10 @@ "start": 20263, "end": 20268, "length": 6, - "parent_index": 1249 + "parent_index": 1250 }, "body": { - "id": 1257, + "id": 1258, "node_type": 46, "kind": 0, "src": { @@ -2268,12 +2312,12 @@ "start": 20309, "end": 20676, "length": 368, - "parent_index": 1249 + "parent_index": 1250 }, "implemented": true, "statements": [ { - "id": 1258, + "id": 1259, "node_type": 48, "src": { "line": 621, @@ -2281,10 +2325,10 @@ "start": 20319, "end": 20373, "length": 55, - "parent_index": 1257 + "parent_index": 1258 }, "condition": { - "id": 1259, + "id": 1260, "node_type": 18, "kind": 104, "src": { @@ -2293,7 +2337,7 @@ "start": 20323, "end": 20340, "length": 18, - "parent_index": 1249 + "parent_index": 1250 }, "operator": 31, "prefix": false, @@ -2302,7 +2346,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1260, + "id": 1261, "node_type": 22, "src": { "line": 621, @@ -2310,10 +2354,10 @@ "start": 20324, "end": 20340, "length": 17, - "parent_index": 1259 + "parent_index": 1260 }, "index_expression": { - "id": 1261, + "id": 1262, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2325,7 +2369,7 @@ "start": 20324, "end": 20335, "length": 12, - "parent_index": 1260 + "parent_index": 1261 }, "member_location": { "line": 621, @@ -2333,10 +2377,10 @@ "start": 20328, "end": 20335, "length": 8, - "parent_index": 1261 + "parent_index": 1262 }, "expression": { - "id": 1262, + "id": 1263, "node_type": 16, "src": { "line": 621, @@ -2344,7 +2388,7 @@ "start": 20324, "end": 20326, "length": 3, - "parent_index": 1261 + "parent_index": 1262 }, "name": "map", "type_description": { @@ -2352,18 +2396,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1262, - "is_pure": false + "referenced_declaration": 1263, + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { - "id": 1263, + "id": 1264, "node_type": 16, "src": { "line": 621, @@ -2371,7 +2417,7 @@ "start": 20337, "end": 20339, "length": 3, - "parent_index": 1260 + "parent_index": 1261 }, "name": "key", "type_description": { @@ -2379,8 +2425,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1263, - "is_pure": false + "referenced_declaration": 1264, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -2403,7 +2450,7 @@ } }, "body": { - "id": 1264, + "id": 1265, "node_type": 46, "kind": 0, "src": { @@ -2412,12 +2459,12 @@ "start": 20343, "end": 20373, "length": 31, - "parent_index": 1249 + "parent_index": 1250 }, "implemented": true, "statements": [ { - "id": 1265, + "id": 1266, "node_type": 47, "src": { "line": 622, @@ -2425,16 +2472,16 @@ "start": 20357, "end": 20363, "length": 7, - "parent_index": 1249 + "parent_index": 1250 }, - "function_return_parameters": 1249, + "function_return_parameters": 1250, "expression": null } ] } }, { - "id": 1266, + "id": 1267, "node_type": 18, "kind": 104, "src": { @@ -2443,7 +2490,7 @@ "start": 20383, "end": 20406, "length": 24, - "parent_index": 1249 + "parent_index": 1250 }, "operator": 27, "prefix": false, @@ -2452,7 +2499,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1267, + "id": 1268, "node_type": 22, "src": { "line": 624, @@ -2460,10 +2507,10 @@ "start": 20390, "end": 20406, "length": 17, - "parent_index": 1266 + "parent_index": 1267 }, "index_expression": { - "id": 1268, + "id": 1269, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2475,7 +2522,7 @@ "start": 20390, "end": 20401, "length": 12, - "parent_index": 1267 + "parent_index": 1268 }, "member_location": { "line": 624, @@ -2483,10 +2530,10 @@ "start": 20394, "end": 20401, "length": 8, - "parent_index": 1268 + "parent_index": 1269 }, "expression": { - "id": 1269, + "id": 1270, "node_type": 16, "src": { "line": 624, @@ -2494,7 +2541,7 @@ "start": 20390, "end": 20392, "length": 3, - "parent_index": 1268 + "parent_index": 1269 }, "name": "map", "type_description": { @@ -2502,18 +2549,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1269, - "is_pure": false + "referenced_declaration": 1270, + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { - "id": 1270, + "id": 1271, "node_type": 16, "src": { "line": 624, @@ -2521,7 +2570,7 @@ "start": 20403, "end": 20405, "length": 3, - "parent_index": 1267 + "parent_index": 1268 }, "name": "key", "type_description": { @@ -2529,8 +2578,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1270, - "is_pure": false + "referenced_declaration": 1271, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -2553,7 +2603,7 @@ } }, { - "id": 1271, + "id": 1272, "node_type": 18, "kind": 104, "src": { @@ -2562,7 +2612,7 @@ "start": 20417, "end": 20438, "length": 22, - "parent_index": 1249 + "parent_index": 1250 }, "operator": 27, "prefix": false, @@ -2571,7 +2621,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1272, + "id": 1273, "node_type": 22, "src": { "line": 625, @@ -2579,10 +2629,10 @@ "start": 20424, "end": 20438, "length": 15, - "parent_index": 1271 + "parent_index": 1272 }, "index_expression": { - "id": 1273, + "id": 1274, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2594,7 +2644,7 @@ "start": 20424, "end": 20433, "length": 10, - "parent_index": 1272 + "parent_index": 1273 }, "member_location": { "line": 625, @@ -2602,10 +2652,10 @@ "start": 20428, "end": 20433, "length": 6, - "parent_index": 1273 + "parent_index": 1274 }, "expression": { - "id": 1274, + "id": 1275, "node_type": 16, "src": { "line": 625, @@ -2613,7 +2663,7 @@ "start": 20424, "end": 20426, "length": 3, - "parent_index": 1273 + "parent_index": 1274 }, "name": "map", "type_description": { @@ -2621,18 +2671,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1274, - "is_pure": false + "referenced_declaration": 1275, + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { - "id": 1275, + "id": 1276, "node_type": 16, "src": { "line": 625, @@ -2640,7 +2692,7 @@ "start": 20435, "end": 20437, "length": 3, - "parent_index": 1272 + "parent_index": 1273 }, "name": "key", "type_description": { @@ -2648,8 +2700,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1275, - "is_pure": false + "referenced_declaration": 1276, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -2672,7 +2725,7 @@ } }, { - "id": 1276, + "id": 1277, "node_type": 44, "src": { "line": 627, @@ -2680,25 +2733,25 @@ "start": 20450, "end": 20481, "length": 32, - "parent_index": 1257 + "parent_index": 1258 }, "assignments": [ - 1277 + 1278 ], "declarations": [ { - "id": 1277, + "id": 1278, "state_mutability": 1, "name": "index", "node_type": 44, - "scope": 1257, + "scope": 1258, "src": { "line": 627, "column": 8, "start": 20450, "end": 20461, "length": 12, - "parent_index": 1276 + "parent_index": 1277 }, "name_location": { "line": 627, @@ -2706,12 +2759,12 @@ "start": 20457, "end": 20461, "length": 5, - "parent_index": 1277 + "parent_index": 1278 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1278, + "id": 1279, "node_type": 30, "src": { "line": 627, @@ -2719,7 +2772,7 @@ "start": 20450, "end": 20455, "length": 6, - "parent_index": 1277 + "parent_index": 1278 }, "name": "uint32", "referenced_declaration": 0, @@ -2732,7 +2785,7 @@ } ], "initial_value": { - "id": 1279, + "id": 1280, "node_type": 22, "src": { "line": 627, @@ -2740,10 +2793,10 @@ "start": 20465, "end": 20480, "length": 16, - "parent_index": 1276 + "parent_index": 1277 }, "index_expression": { - "id": 1280, + "id": 1281, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2755,7 +2808,7 @@ "start": 20465, "end": 20475, "length": 11, - "parent_index": 1276 + "parent_index": 1277 }, "member_location": { "line": 627, @@ -2763,10 +2816,10 @@ "start": 20469, "end": 20475, "length": 7, - "parent_index": 1280 + "parent_index": 1281 }, "expression": { - "id": 1281, + "id": 1282, "node_type": 16, "src": { "line": 627, @@ -2774,7 +2827,7 @@ "start": 20465, "end": 20467, "length": 3, - "parent_index": 1280 + "parent_index": 1281 }, "name": "map", "type_description": { @@ -2782,18 +2835,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1281, - "is_pure": false + "referenced_declaration": 1282, + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { - "id": 1282, + "id": 1283, "node_type": 16, "src": { "line": 627, @@ -2801,7 +2856,7 @@ "start": 20477, "end": 20479, "length": 3, - "parent_index": 1279 + "parent_index": 1280 }, "name": "key", "type_description": { @@ -2809,8 +2864,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1282, - "is_pure": false + "referenced_declaration": 1283, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -2829,7 +2885,7 @@ } }, { - "id": 1283, + "id": 1284, "node_type": 44, "src": { "line": 628, @@ -2837,25 +2893,25 @@ "start": 20491, "end": 20538, "length": 48, - "parent_index": 1257 + "parent_index": 1258 }, "assignments": [ - 1284 + 1285 ], "declarations": [ { - "id": 1284, + "id": 1285, "state_mutability": 1, "name": "lastKey", "node_type": 44, - "scope": 1257, + "scope": 1258, "src": { "line": 628, "column": 8, "start": 20491, "end": 20505, "length": 15, - "parent_index": 1283 + "parent_index": 1284 }, "name_location": { "line": 628, @@ -2863,12 +2919,12 @@ "start": 20499, "end": 20505, "length": 7, - "parent_index": 1284 + "parent_index": 1285 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1285, + "id": 1286, "node_type": 30, "src": { "line": 628, @@ -2876,7 +2932,7 @@ "start": 20491, "end": 20497, "length": 7, - "parent_index": 1284 + "parent_index": 1285 }, "name": "uint128", "referenced_declaration": 0, @@ -2889,7 +2945,7 @@ } ], "initial_value": { - "id": 1286, + "id": 1287, "node_type": 22, "src": { "line": 628, @@ -2897,10 +2953,10 @@ "start": 20509, "end": 20537, "length": 29, - "parent_index": 1283 + "parent_index": 1284 }, "index_expression": { - "id": 1287, + "id": 1288, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2912,7 +2968,7 @@ "start": 20509, "end": 20516, "length": 8, - "parent_index": 1283 + "parent_index": 1284 }, "member_location": { "line": 628, @@ -2920,10 +2976,10 @@ "start": 20513, "end": 20516, "length": 4, - "parent_index": 1287 + "parent_index": 1288 }, "expression": { - "id": 1288, + "id": 1289, "node_type": 16, "src": { "line": 628, @@ -2931,7 +2987,7 @@ "start": 20509, "end": 20511, "length": 3, - "parent_index": 1287 + "parent_index": 1288 }, "name": "map", "type_description": { @@ -2939,18 +2995,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1288, - "is_pure": false + "referenced_declaration": 1289, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { - "id": 1289, + "id": 1290, "is_constant": false, "is_pure": false, "node_type": 19, @@ -2960,11 +3018,11 @@ "start": 20518, "end": 20536, "length": 19, - "parent_index": 1286 + "parent_index": 1287 }, "operator": 2, "left_expression": { - "id": 1290, + "id": 1291, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2976,7 +3034,7 @@ "start": 20518, "end": 20532, "length": 15, - "parent_index": 1283 + "parent_index": 1284 }, "member_location": { "line": 628, @@ -2984,10 +3042,10 @@ "start": 20527, "end": 20532, "length": 6, - "parent_index": 1290 + "parent_index": 1291 }, "expression": { - "id": 1291, + "id": 1292, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2999,7 +3057,7 @@ "start": 20518, "end": 20525, "length": 8, - "parent_index": 1283 + "parent_index": 1284 }, "member_location": { "line": 628, @@ -3007,10 +3065,10 @@ "start": 20522, "end": 20525, "length": 4, - "parent_index": 1291 + "parent_index": 1292 }, "expression": { - "id": 1292, + "id": 1293, "node_type": 16, "src": { "line": 628, @@ -3018,7 +3076,7 @@ "start": 20518, "end": 20520, "length": 3, - "parent_index": 1291 + "parent_index": 1292 }, "name": "map", "type_description": { @@ -3026,25 +3084,28 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1292, - "is_pure": false + "referenced_declaration": 1293, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.length" }, "right_expression": { - "id": 1293, + "id": 1294, "node_type": 17, "kind": 49, "value": "1", @@ -3055,7 +3116,7 @@ "start": 20536, "end": 20536, "length": 1, - "parent_index": 1289 + "parent_index": 1290 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -3063,7 +3124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", @@ -3087,7 +3149,7 @@ } }, { - "id": 1294, + "id": 1295, "node_type": 27, "src": { "line": 630, @@ -3095,10 +3157,10 @@ "start": 20549, "end": 20577, "length": 29, - "parent_index": 1257 + "parent_index": 1258 }, "expression": { - "id": 1295, + "id": 1296, "node_type": 27, "src": { "line": 630, @@ -3106,11 +3168,11 @@ "start": 20549, "end": 20576, "length": 28, - "parent_index": 1294 + "parent_index": 1295 }, "operator": 11, "left_expression": { - "id": 1296, + "id": 1297, "node_type": 22, "src": { "line": 630, @@ -3118,10 +3180,10 @@ "start": 20549, "end": 20568, "length": 20, - "parent_index": 1295 + "parent_index": 1296 }, "index_expression": { - "id": 1297, + "id": 1298, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3133,7 +3195,7 @@ "start": 20549, "end": 20559, "length": 11, - "parent_index": 1296 + "parent_index": 1297 }, "member_location": { "line": 630, @@ -3141,10 +3203,10 @@ "start": 20553, "end": 20559, "length": 7, - "parent_index": 1297 + "parent_index": 1298 }, "expression": { - "id": 1298, + "id": 1299, "node_type": 16, "src": { "line": 630, @@ -3152,7 +3214,7 @@ "start": 20549, "end": 20551, "length": 3, - "parent_index": 1297 + "parent_index": 1298 }, "name": "map", "type_description": { @@ -3160,18 +3222,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1298, - "is_pure": false + "referenced_declaration": 1299, + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { - "id": 1299, + "id": 1300, "node_type": 16, "src": { "line": 630, @@ -3179,7 +3243,7 @@ "start": 20561, "end": 20567, "length": 7, - "parent_index": 1296 + "parent_index": 1297 }, "name": "lastKey", "type_description": { @@ -3187,8 +3251,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1283, - "is_pure": false + "referenced_declaration": 1284, + "is_pure": false, + "text": "lastKey" }, "type_descriptions": [ { @@ -3206,7 +3271,7 @@ } }, "right_expression": { - "id": 1300, + "id": 1301, "node_type": 16, "src": { "line": 630, @@ -3214,7 +3279,7 @@ "start": 20572, "end": 20576, "length": 5, - "parent_index": 1295 + "parent_index": 1296 }, "name": "index", "type_description": { @@ -3222,8 +3287,9 @@ "type_string": "uint32" }, "overloaded_declarations": [], - "referenced_declaration": 1276, - "is_pure": false + "referenced_declaration": 1277, + "is_pure": false, + "text": "index" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint128]$", @@ -3233,10 +3299,11 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint128]$", "type_string": "index[struct IterableMapping.Map:uint128]" - } + }, + "text": "map.indexOf[lastKey]=index;" }, { - "id": 1301, + "id": 1302, "node_type": 18, "kind": 104, "src": { @@ -3245,7 +3312,7 @@ "start": 20587, "end": 20609, "length": 23, - "parent_index": 1249 + "parent_index": 1250 }, "operator": 27, "prefix": false, @@ -3254,7 +3321,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1302, + "id": 1303, "node_type": 22, "src": { "line": 631, @@ -3262,10 +3329,10 @@ "start": 20594, "end": 20609, "length": 16, - "parent_index": 1301 + "parent_index": 1302 }, "index_expression": { - "id": 1303, + "id": 1304, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3277,7 +3344,7 @@ "start": 20594, "end": 20604, "length": 11, - "parent_index": 1302 + "parent_index": 1303 }, "member_location": { "line": 631, @@ -3285,10 +3352,10 @@ "start": 20598, "end": 20604, "length": 7, - "parent_index": 1303 + "parent_index": 1304 }, "expression": { - "id": 1304, + "id": 1305, "node_type": 16, "src": { "line": 631, @@ -3296,7 +3363,7 @@ "start": 20594, "end": 20596, "length": 3, - "parent_index": 1303 + "parent_index": 1304 }, "name": "map", "type_description": { @@ -3304,18 +3371,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1304, - "is_pure": false + "referenced_declaration": 1305, + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { - "id": 1305, + "id": 1306, "node_type": 16, "src": { "line": 631, @@ -3323,7 +3392,7 @@ "start": 20606, "end": 20608, "length": 3, - "parent_index": 1302 + "parent_index": 1303 }, "name": "key", "type_description": { @@ -3331,8 +3400,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1305, - "is_pure": false + "referenced_declaration": 1306, + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -3355,7 +3425,7 @@ } }, { - "id": 1306, + "id": 1307, "node_type": 27, "src": { "line": 633, @@ -3363,10 +3433,10 @@ "start": 20621, "end": 20646, "length": 26, - "parent_index": 1257 + "parent_index": 1258 }, "expression": { - "id": 1307, + "id": 1308, "node_type": 27, "src": { "line": 633, @@ -3374,11 +3444,11 @@ "start": 20621, "end": 20645, "length": 25, - "parent_index": 1306 + "parent_index": 1307 }, "operator": 11, "left_expression": { - "id": 1308, + "id": 1309, "node_type": 22, "src": { "line": 633, @@ -3386,10 +3456,10 @@ "start": 20621, "end": 20635, "length": 15, - "parent_index": 1307 + "parent_index": 1308 }, "index_expression": { - "id": 1309, + "id": 1310, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3401,7 +3471,7 @@ "start": 20621, "end": 20628, "length": 8, - "parent_index": 1308 + "parent_index": 1309 }, "member_location": { "line": 633, @@ -3409,10 +3479,10 @@ "start": 20625, "end": 20628, "length": 4, - "parent_index": 1309 + "parent_index": 1310 }, "expression": { - "id": 1310, + "id": 1311, "node_type": 16, "src": { "line": 633, @@ -3420,7 +3490,7 @@ "start": 20621, "end": 20623, "length": 3, - "parent_index": 1309 + "parent_index": 1310 }, "name": "map", "type_description": { @@ -3428,18 +3498,20 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1310, - "is_pure": false + "referenced_declaration": 1311, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { - "id": 1311, + "id": 1312, "node_type": 16, "src": { "line": 633, @@ -3447,7 +3519,7 @@ "start": 20630, "end": 20634, "length": 5, - "parent_index": 1308 + "parent_index": 1309 }, "name": "index", "type_description": { @@ -3455,8 +3527,9 @@ "type_string": "uint32" }, "overloaded_declarations": [], - "referenced_declaration": 1276, - "is_pure": false + "referenced_declaration": 1277, + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -3474,7 +3547,7 @@ } }, "right_expression": { - "id": 1312, + "id": 1313, "node_type": 16, "src": { "line": 633, @@ -3482,7 +3555,7 @@ "start": 20639, "end": 20645, "length": 7, - "parent_index": 1307 + "parent_index": 1308 }, "name": "lastKey", "type_description": { @@ -3490,8 +3563,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 1283, - "is_pure": false + "referenced_declaration": 1284, + "is_pure": false, + "text": "lastKey" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint32]$", @@ -3501,10 +3575,11 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$1155]$_t_uint32]$", "type_string": "index[struct IterableMapping.Map:uint32]" - } + }, + "text": "map.keys[index]=lastKey;" }, { - "id": 1313, + "id": 1314, "node_type": 24, "kind": 24, "src": { @@ -3513,12 +3588,12 @@ "start": 20656, "end": 20669, "length": 14, - "parent_index": 1257 + "parent_index": 1258 }, "argument_types": [], "arguments": [], "expression": { - "id": 1314, + "id": 1315, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3530,7 +3605,7 @@ "start": 20656, "end": 20667, "length": 12, - "parent_index": 1313 + "parent_index": 1314 }, "member_location": { "line": 634, @@ -3538,10 +3613,10 @@ "start": 20665, "end": 20667, "length": 3, - "parent_index": 1314 + "parent_index": 1315 }, "expression": { - "id": 1315, + "id": 1316, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3553,7 +3628,7 @@ "start": 20656, "end": 20663, "length": 8, - "parent_index": 1314 + "parent_index": 1315 }, "member_location": { "line": 634, @@ -3561,10 +3636,10 @@ "start": 20660, "end": 20663, "length": 4, - "parent_index": 1315 + "parent_index": 1316 }, "expression": { - "id": 1316, + "id": 1317, "node_type": 16, "src": { "line": 634, @@ -3572,7 +3647,7 @@ "start": 20656, "end": 20658, "length": 3, - "parent_index": 1315 + "parent_index": 1316 }, "name": "map", "type_description": { @@ -3580,22 +3655,25 @@ "type_string": "struct IterableMapping.Map" }, "overloaded_declarations": [], - "referenced_declaration": 1316, - "is_pure": false + "referenced_declaration": 1317, + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$1155", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -3611,7 +3689,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1250, + "id": 1251, "node_type": 43, "src": { "line": 620, @@ -3619,11 +3697,11 @@ "start": 20270, "end": 20297, "length": 28, - "parent_index": 1249 + "parent_index": 1250 }, "parameters": [ { - "id": 1251, + "id": 1252, "node_type": 44, "src": { "line": 620, @@ -3631,12 +3709,12 @@ "start": 20270, "end": 20284, "length": 15, - "parent_index": 1250 + "parent_index": 1251 }, - "scope": 1249, + "scope": 1250, "name": "map", "type_name": { - "id": 1252, + "id": 1253, "node_type": 69, "src": { "line": 620, @@ -3644,10 +3722,10 @@ "start": 20270, "end": 20272, "length": 3, - "parent_index": 1251 + "parent_index": 1252 }, "path_node": { - "id": 1253, + "id": 1254, "name": "Map", "node_type": 52, "referenced_declaration": 1155, @@ -3657,7 +3735,7 @@ "start": 20270, "end": 20272, "length": 3, - "parent_index": 1252 + "parent_index": 1253 }, "name_location": { "line": 620, @@ -3665,7 +3743,7 @@ "start": 20270, "end": 20272, "length": 3, - "parent_index": 1252 + "parent_index": 1253 } }, "referenced_declaration": 1155, @@ -3683,7 +3761,7 @@ } }, { - "id": 1254, + "id": 1255, "node_type": 44, "src": { "line": 620, @@ -3691,12 +3769,12 @@ "start": 20287, "end": 20297, "length": 11, - "parent_index": 1250 + "parent_index": 1251 }, - "scope": 1249, + "scope": 1250, "name": "key", "type_name": { - "id": 1255, + "id": 1256, "node_type": 30, "src": { "line": 620, @@ -3704,7 +3782,7 @@ "start": 20287, "end": 20293, "length": 7, - "parent_index": 1254 + "parent_index": 1255 }, "name": "uint128", "referenced_declaration": 0, @@ -3734,7 +3812,7 @@ ] }, "return_parameters": { - "id": 1256, + "id": 1257, "node_type": 43, "src": { "line": 620, @@ -3742,18 +3820,19 @@ "start": 20254, "end": 20676, "length": 423, - "parent_index": 1249 + "parent_index": 1250 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "remove(, uint128)", - "signature": "e2378e96", + "signature_raw": "remove(,uint128)", + "signature": "90813ada", "scope": 1139, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$1155$_t_uint128$", "type_string": "function(struct IterableMapping.Map,uint128)" - } + }, + "text": "functionremove(Mapstoragemap,uint128key)internal{if(!map.inserted[key]){return;}deletemap.inserted[key];deletemap.values[key];uint32index=map.indexOf[key];uint128lastKey=map.keys[map.keys.length-1];map.indexOf[lastKey]=index;deletemap.indexOf[key];map.keys[index]=lastKey;map.keys.pop();}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Ownable.solgo.ast.json b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Ownable.solgo.ast.json index 5e7b7cf3..207a6ebf 100644 --- a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Ownable.solgo.ast.json +++ b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Ownable.solgo.ast.json @@ -370,7 +370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -396,7 +397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -488,7 +490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -513,7 +516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -583,7 +587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -720,7 +725,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 231, @@ -826,7 +832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -865,7 +872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -903,7 +911,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -924,7 +933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -973,7 +983,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 244, @@ -1068,7 +1079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1114,7 +1126,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1140,7 +1153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1219,7 +1233,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 257, @@ -1311,7 +1326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 268, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 269, @@ -1352,7 +1368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1398,7 +1415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1436,7 +1454,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1457,7 +1476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1501,7 +1521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 276, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1522,7 +1543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1647,7 +1669,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 278, @@ -1763,7 +1786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -1807,7 +1831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 291, @@ -1827,7 +1852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 291, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1837,7 +1863,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 292, @@ -1869,7 +1896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 284, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 294, @@ -1889,7 +1917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1910,7 +1939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 197, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -2001,7 +2031,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Pausable.solgo.ast.json b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Pausable.solgo.ast.json index f1f8ca73..1d7f31c2 100644 --- a/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Pausable.solgo.ast.json +++ b/data/tests/contracts/0x7C3a812bBfC759bf85097211253e63f9e5F49439/Pausable.solgo.ast.json @@ -391,7 +391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 109, @@ -413,7 +414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -423,7 +425,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] } @@ -510,7 +513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireNotPaused" }, "type_description": { "type_identifier": "t_function_$", @@ -535,7 +539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -622,7 +627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requirePaused" }, "type_description": { "type_identifier": "t_function_$", @@ -647,7 +653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -717,7 +724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "_paused" } } ] @@ -852,7 +860,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { "id": 136, @@ -962,7 +971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -1000,7 +1010,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { @@ -1021,7 +1032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -1070,7 +1082,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requireNotPaused()internalviewvirtual{require(!paused(),\"Pausable: paused\");}" }, { "id": 147, @@ -1162,7 +1175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -1195,7 +1209,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { @@ -1216,7 +1231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -1265,7 +1281,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requirePaused()internalviewvirtual{require(paused(),\"Pausable: not paused\");}" }, { "id": 157, @@ -1343,7 +1360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 166, @@ -1365,7 +1383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -1375,7 +1394,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { "id": 167, @@ -1421,7 +1441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1447,7 +1468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 89, - "is_pure": false + "is_pure": false, + "text": "Paused" } } ] @@ -1522,7 +1544,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { "id": 172, @@ -1600,7 +1623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 181, @@ -1622,7 +1646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -1632,7 +1657,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { "id": 182, @@ -1678,7 +1704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1704,7 +1731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 94, - "is_pure": false + "is_pure": false, + "text": "Unpaused" } } ] @@ -1779,7 +1807,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/CRAB.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/CRAB.solgo.ast.json index e61cc0a3..04ae79a9 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/CRAB.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/CRAB.solgo.ast.json @@ -62,7 +62,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -2397,7 +2398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3453, @@ -2419,7 +2421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } ], "type_descriptions": [ @@ -2463,7 +2466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_64_by_1$", @@ -2530,7 +2534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } }, { @@ -2592,7 +2597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" } }, { @@ -2654,7 +2660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "192" } }, { @@ -2757,7 +2764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3471, @@ -2779,7 +2787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "192" } ], "type_descriptions": [ @@ -2823,7 +2832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_192_by_1$", @@ -2890,7 +2900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "160" } }, { @@ -2965,7 +2976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3481, @@ -2987,7 +2999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "224" } ], "type_descriptions": [ @@ -3065,7 +3078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "225" } }, { @@ -3140,7 +3154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3490, @@ -3162,7 +3177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "225" } ], "type_descriptions": [ @@ -3240,7 +3256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "232" } }, { @@ -3343,7 +3360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3501, @@ -3365,7 +3383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "232" } ], "type_descriptions": [ @@ -3409,7 +3428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_232_by_1$", @@ -3517,7 +3537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3510, @@ -3539,7 +3560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "160" } ], "type_descriptions": [ @@ -3583,7 +3605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_160_by_1$", @@ -3650,7 +3673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5000" } }, { @@ -3840,7 +3864,7 @@ "mutability": 1, "type_name": { "id": 3524, - "node_type": 0, + "node_type": 53, "src": { "line": 722, "column": 4, @@ -3932,7 +3956,7 @@ "mutability": 1, "type_name": { "id": 3528, - "node_type": 0, + "node_type": 53, "src": { "line": 731, "column": 4, @@ -4024,7 +4048,7 @@ "mutability": 1, "type_name": { "id": 3532, - "node_type": 0, + "node_type": 53, "src": { "line": 734, "column": 4, @@ -4116,7 +4140,7 @@ "mutability": 1, "type_name": { "id": 3536, - "node_type": 0, + "node_type": 53, "src": { "line": 737, "column": 4, @@ -4753,7 +4777,7 @@ "mutability": 1, "type_name": { "id": 3567, - "node_type": 0, + "node_type": 53, "src": { "line": 1210, "column": 8, @@ -5713,7 +5737,7 @@ "mutability": 1, "type_name": { "id": 3613, - "node_type": 0, + "node_type": 53, "src": { "line": 1661, "column": 4, @@ -5924,7 +5948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0000000000000000000000000000000000000000" } }, { @@ -5986,7 +6011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -6088,7 +6114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4033a4F1835C5237240C1f95CB518c30312375Cb" } ], "expression": { @@ -6109,7 +6136,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6190,7 +6218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "70" }, "right_expression": { "id": 3637, @@ -6223,7 +6252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 3639, @@ -6245,7 +6275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" }, "type_descriptions": [ { @@ -6389,7 +6420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -6470,7 +6502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 305, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 306, @@ -6492,7 +6525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6545,7 +6579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -6629,7 +6664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 313, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -6736,7 +6772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 310, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 319, @@ -6758,7 +6795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6808,7 +6846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -6861,7 +6900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 310, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 326, @@ -6883,7 +6923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -6893,7 +6934,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -6995,7 +7037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -7082,7 +7125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 335, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 336, @@ -7104,7 +7148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7165,7 +7210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 341, @@ -7187,7 +7233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -7197,7 +7244,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 342, @@ -7251,7 +7299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 327, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 346, @@ -7271,7 +7320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -7360,7 +7410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 355, @@ -7413,7 +7464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 297, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 360, @@ -7435,7 +7487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -7485,7 +7538,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -7540,7 +7594,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -7590,7 +7645,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -7605,7 +7661,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 361, @@ -7648,7 +7705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 297, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 364, @@ -7670,7 +7728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -7680,7 +7739,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -7734,7 +7794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 327, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -7779,7 +7840,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -7919,7 +7981,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 371, @@ -7999,7 +8062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 381, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 382, @@ -8021,7 +8085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8074,7 +8139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -8158,7 +8224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -8241,7 +8308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -8287,7 +8355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 396, @@ -8309,7 +8378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8359,7 +8429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 390, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -8412,7 +8483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 310, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 403, @@ -8434,7 +8506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -8444,7 +8517,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -8502,7 +8576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 407, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 408, @@ -8528,7 +8603,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -8549,7 +8625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -8689,7 +8766,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 410, @@ -8853,7 +8931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 429, @@ -8873,7 +8952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 429, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -8900,7 +8980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -9001,7 +9082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 420, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 435, @@ -9023,7 +9105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -9060,7 +9143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -9070,7 +9154,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 437, @@ -9124,7 +9209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 420, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 441, @@ -9146,7 +9232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -9183,7 +9270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -9193,7 +9281,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 443, @@ -9314,7 +9403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 450, @@ -9334,7 +9424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 450, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -9361,7 +9452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -9401,7 +9493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 454, @@ -9423,7 +9516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -9466,7 +9560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -9539,7 +9634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 327, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 462, @@ -9559,7 +9655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -9605,7 +9702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 291, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 466, @@ -9637,7 +9735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 297, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 468, @@ -9659,7 +9758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -9696,7 +9796,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 469, @@ -9739,7 +9840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 297, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 472, @@ -9761,7 +9863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -9771,7 +9874,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -9831,7 +9935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 476, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 477, @@ -9853,7 +9958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9886,7 +9992,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -9907,7 +10014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9963,7 +10071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 420, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -10008,7 +10117,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -10185,13 +10295,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 289, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" } ], "linearized_base_contracts": [ @@ -10375,7 +10486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 505, - "is_pure": false + "is_pure": false, + "text": "proof" }, { "id": 506, @@ -10401,7 +10513,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "leaf" } ], "expression": { @@ -10422,7 +10535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processProof" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", @@ -10447,7 +10561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 507, - "is_pure": false + "is_pure": false, + "text": "root" }, "type_description": { "type_identifier": "t_bool", @@ -10667,13 +10782,14 @@ } ] }, - "signature_raw": "verify(bytes32, bytes32, bytes32)", - "signature": "5d3911ee", + "signature_raw": "verify(bytes32,bytes32,bytes32)", + "signature": "3fb82028", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32,bytes32)" - } + }, + "text": "functionverify(bytes32[]memoryproof,bytes32root,bytes32leaf)internalpurereturns(bool){returnprocessProof(proof,leaf)==root;}" }, { "id": 509, @@ -10788,7 +10904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 522, - "is_pure": false + "is_pure": false, + "text": "leaf" } }, { @@ -10882,7 +10999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -10917,7 +11035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 530, @@ -10960,14 +11079,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 531, - "is_pure": false + "is_pure": false, + "text": "proof" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" - } + }, + "text": "proof.length" }, "type_description": { "type_identifier": "t_bool", @@ -11005,7 +11126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -11120,7 +11242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "proof" }, "base_expression": { "id": 540, @@ -11140,7 +11263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -11201,7 +11325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "computedHash" }, "right_expression": { "id": 544, @@ -11221,7 +11346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 535, - "is_pure": false + "is_pure": false, + "text": "proofElement" }, "type_description": { "type_identifier": "t_bool", @@ -11283,7 +11409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "computedHash" }, "right_expression": { "id": 549, @@ -11326,7 +11453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "computedHash" }, { "id": 552, @@ -11352,7 +11480,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "proofElement" } ], "expression": { @@ -11373,7 +11502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_efficientHash" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -11388,7 +11518,8 @@ "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" - } + }, + "text": "computedHash=_efficientHash(computedHash,proofElement);" } ] } @@ -11426,7 +11557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "computedHash" } } ] @@ -11598,13 +11730,14 @@ } ] }, - "signature_raw": "processProof(bytes32, bytes32)", - "signature": "f5c589a1", + "signature_raw": "processProof(bytes32,bytes32)", + "signature": "90747bea", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32)" - } + }, + "text": "functionprocessProof(bytes32[]memoryproof,bytes32leaf)internalpurereturns(bytes32){bytes32computedHash=leaf;for(uint256i=0;i\u003cproof.length;i++){bytes32proofElement=proof[i];if(computedHash\u003c=proofElement){computedHash=_efficientHash(computedHash,proofElement);}else{computedHash=_efficientHash(proofElement,computedHash);}}returncomputedHash;}" }, { "id": 556, @@ -12498,13 +12631,14 @@ } ] }, - "signature_raw": "_efficientHash(bytes32, bytes32)", - "signature": "8ff8f318", + "signature_raw": "_efficientHash(bytes32,bytes32)", + "signature": "41ed615b", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32)" - } + }, + "text": "function_efficientHash(bytes32a,bytes32b)privatepurereturns(bytes32value){assembly{mstore(0x00,a)mstore(0x20,b)value:=keccak256(0x00,0x40)}}" } ], "linearized_base_contracts": [ @@ -12674,14 +12808,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -12818,7 +12954,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 602, @@ -12908,14 +13045,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -13050,7 +13189,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -13462,7 +13602,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 642, @@ -13484,7 +13625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -13494,7 +13636,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] } @@ -13564,7 +13707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "_paused" } } ] @@ -13699,7 +13843,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { "id": 655, @@ -13824,7 +13969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -13862,7 +14008,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { @@ -13883,7 +14030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -13908,7 +14056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -14018,7 +14167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -14051,7 +14201,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { @@ -14072,7 +14223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -14097,7 +14249,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -14178,7 +14331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 685, @@ -14200,7 +14354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -14210,7 +14365,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { "id": 686, @@ -14256,7 +14412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -14282,7 +14439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 622, - "is_pure": false + "is_pure": false, + "text": "Paused" } } ] @@ -14357,7 +14515,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { "id": 691, @@ -14435,7 +14594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 700, @@ -14457,7 +14617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -14467,7 +14628,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { "id": 701, @@ -14513,7 +14675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -14539,7 +14702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 627, - "is_pure": false + "is_pure": false, + "text": "Unpaused" } } ] @@ -14614,7 +14778,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" } ], "linearized_base_contracts": [ @@ -15035,7 +15200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -15061,7 +15227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15136,7 +15303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -15273,7 +15441,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 745, @@ -15394,7 +15563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -15433,7 +15603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -15471,7 +15642,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -15492,7 +15664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15517,7 +15690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -15615,7 +15789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -15661,7 +15836,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -15687,7 +15863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -15766,7 +15943,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 771, @@ -15858,7 +16036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 783, @@ -15899,7 +16078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -15945,7 +16125,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -15983,7 +16164,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -16004,7 +16186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -16048,7 +16231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 790, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -16069,7 +16253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16194,7 +16379,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 792, @@ -16310,7 +16496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -16354,7 +16541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 805, @@ -16374,7 +16562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 805, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -16384,7 +16573,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 806, @@ -16416,7 +16606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 798, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 808, @@ -16436,7 +16627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 808, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -16457,7 +16649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 718, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -16548,7 +16741,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ @@ -17555,7 +17749,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 880, @@ -17723,7 +17918,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" }, { "id": 889, @@ -18395,7 +18591,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint256balance);" }, { "id": 925, @@ -18564,7 +18761,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)externalviewreturns(addressowner);" }, { "id": 934, @@ -18812,13 +19010,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytescalldatadata)external;" }, { "id": 947, @@ -19023,13 +19222,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 958, @@ -19234,13 +19434,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 969, @@ -19401,13 +19602,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)external;" }, { "id": 978, @@ -19568,13 +19770,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,bool_approved)external;" }, { "id": 987, @@ -19743,7 +19946,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)externalviewreturns(addressoperator);" }, { "id": 996, @@ -19950,13 +20154,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)externalviewreturns(bool);" }, { "id": 1007, @@ -20124,7 +20329,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 1016, @@ -20292,7 +20498,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 1025, @@ -20460,7 +20667,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)externalviewreturns(stringmemory);" }, { "id": 1034, @@ -21044,13 +21252,14 @@ } ] }, - "signature_raw": "onERC721Received(address, address, uint256, bytes)", - "signature": "acb7d9e3", + "signature_raw": "onERC721Received(address,address,uint256,bytes)", + "signature": "150b7a02", "scope": 1052, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functiononERC721Received(addressoperator,addressfrom,uint256tokenId,bytescalldatadata)externalreturns(bytes4);" } ], "linearized_base_contracts": [ @@ -21265,7 +21474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1087, @@ -21287,7 +21497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } ], "type_descriptions": [ @@ -21331,7 +21542,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_64_by_1$", @@ -21399,7 +21611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } }, { @@ -21462,7 +21675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" } }, { @@ -21525,7 +21739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "192" } }, { @@ -21629,7 +21844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1109, @@ -21651,7 +21867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "192" } ], "type_descriptions": [ @@ -21695,7 +21912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_192_by_1$", @@ -21763,7 +21981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "160" } }, { @@ -21839,7 +22058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1121, @@ -21861,7 +22081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "224" } ], "type_descriptions": [ @@ -21940,7 +22161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "225" } }, { @@ -22016,7 +22238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1132, @@ -22038,7 +22261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "225" } ], "type_descriptions": [ @@ -22117,7 +22341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "232" } }, { @@ -22221,7 +22446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1145, @@ -22243,7 +22469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "232" } ], "type_descriptions": [ @@ -22287,7 +22514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_232_by_1$", @@ -22396,7 +22624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1155, @@ -22418,7 +22647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "160" } ], "type_descriptions": [ @@ -22462,7 +22692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_160_by_1$", @@ -22530,7 +22761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5000" } }, { @@ -22725,7 +22957,7 @@ "mutability": 1, "type_name": { "id": 1175, - "node_type": 0, + "node_type": 53, "src": { "line": 722, "column": 4, @@ -22818,7 +23050,7 @@ "mutability": 1, "type_name": { "id": 1180, - "node_type": 0, + "node_type": 53, "src": { "line": 731, "column": 4, @@ -22911,7 +23143,7 @@ "mutability": 1, "type_name": { "id": 1185, - "node_type": 0, + "node_type": 53, "src": { "line": 734, "column": 4, @@ -23004,7 +23236,7 @@ "mutability": 1, "type_name": { "id": 1190, - "node_type": 0, + "node_type": 53, "src": { "line": 737, "column": 4, @@ -23313,7 +23545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1168, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 1208, @@ -23333,7 +23566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1208, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -23343,7 +23577,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 1209, @@ -23386,7 +23621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1171, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 1212, @@ -23406,7 +23642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1212, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -23416,7 +23653,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" }, { "id": 1213, @@ -23459,7 +23697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 1216, @@ -23493,7 +23732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -23508,7 +23748,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_currentIndex=_startTokenId();" } ] } @@ -23580,7 +23821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -23715,7 +23957,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_startTokenId()internalviewvirtualreturns(uint256){return0;}" }, { "id": 1230, @@ -23782,7 +24025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" } } ] @@ -23917,7 +24161,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_nextTokenId()internalviewreturns(uint256){return_currentIndex;}" }, { "id": 1241, @@ -24026,7 +24271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 1255, @@ -24046,7 +24292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "_burnCounter" }, "type_description": { "type_identifier": "t_uint256", @@ -24085,7 +24332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -24251,7 +24499,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewoverridereturns(uint256){unchecked{return_currentIndex-_burnCounter-_startTokenId();}}" }, { "id": 1259, @@ -24346,7 +24595,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 1271, @@ -24380,7 +24630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -24527,7 +24778,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_totalMinted()internalviewreturns(uint256){unchecked{return_currentIndex-_startTokenId();}}" }, { "id": 1274, @@ -24594,7 +24846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "_burnCounter" } } ] @@ -24729,7 +24982,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_totalBurned()internalviewreturns(uint256){return_burnCounter;}" }, { "id": 1285, @@ -24838,7 +25092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1298, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1299, @@ -24860,7 +25115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x01ffc9a7" }, "type_description": { "type_identifier": "t_bool", @@ -24899,7 +25155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1301, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1302, @@ -24921,7 +25178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x80ac58cd" }, "type_description": { "type_identifier": "t_bool", @@ -24965,7 +25223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1304, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1305, @@ -24987,7 +25246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x5b5e139f" }, "type_description": { "type_identifier": "t_bool", @@ -25151,7 +25411,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==0x01ffc9a7||interfaceId==0x80ac58cd||interfaceId==0x5b5e139f;}" }, { "id": 1307, @@ -25231,7 +25492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1318, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1319, @@ -25272,7 +25534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -25318,7 +25581,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -25398,7 +25662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1329, @@ -25418,7 +25683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1329, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -25453,7 +25719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1080, - "is_pure": false + "is_pure": false, + "text": "BITMASK_ADDRESS_DATA_ENTRY" } ], "type_descriptions": [ @@ -25620,7 +25887,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)publicviewoverridereturns(uint256){if(owner==address(0))revertBalanceQueryForZeroAddress();return_packedAddressData[owner]\u0026BITMASK_ADDRESS_DATA_ENTRY;}" }, { "id": 1332, @@ -25737,7 +26005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1348, @@ -25757,7 +26026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1348, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -25792,7 +26062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1090, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_MINTED" } ], "type_descriptions": [ @@ -25834,7 +26105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1080, - "is_pure": false + "is_pure": false, + "text": "BITMASK_ADDRESS_DATA_ENTRY" } ], "type_descriptions": [ @@ -25982,7 +26254,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_numberMinted(addressowner)internalviewreturns(uint256){return(_packedAddressData[owner]\u003e\u003eBITPOS_NUMBER_MINTED)\u0026BITMASK_ADDRESS_DATA_ENTRY;}" }, { "id": 1352, @@ -26099,7 +26372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1368, @@ -26119,7 +26393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1368, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -26154,7 +26429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_BURNED" } ], "type_descriptions": [ @@ -26196,7 +26472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1080, - "is_pure": false + "is_pure": false, + "text": "BITMASK_ADDRESS_DATA_ENTRY" } ], "type_descriptions": [ @@ -26344,7 +26621,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_numberBurned(addressowner)internalviewreturns(uint256){return(_packedAddressData[owner]\u003e\u003eBITPOS_NUMBER_BURNED)\u0026BITMASK_ADDRESS_DATA_ENTRY;}" }, { "id": 1372, @@ -26454,7 +26732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1388, @@ -26474,7 +26753,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1388, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -26509,7 +26789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1098, - "is_pure": false + "is_pure": false, + "text": "BITPOS_AUX" } ], "type_descriptions": [ @@ -26570,7 +26851,8 @@ "type_identifier": "t_uint64", "type_string": "uint64" } - ] + ], + "text": "uint64" }, "type_description": { "type_identifier": "t_function_$_t_rational_192_by_1$", @@ -26711,7 +26993,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAux(addressowner)internalviewreturns(uint64){returnuint64(_packedAddressData[owner]\u003e\u003eBITPOS_AUX);}" }, { "id": 1391, @@ -26837,7 +27120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1404, @@ -26857,7 +27141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1404, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -27059,7 +27344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1399, - "is_pure": false + "is_pure": false, + "text": "packed" }, "right_expression": { "id": 1418, @@ -27117,7 +27403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1399, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 1423, @@ -27137,7 +27424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1102, - "is_pure": false + "is_pure": false, + "text": "BITMASK_AUX_COMPLEMENT" } ], "type_descriptions": [ @@ -27202,7 +27490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1405, - "is_pure": false + "is_pure": false, + "text": "auxCasted" }, { "id": 1428, @@ -27222,7 +27511,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1098, - "is_pure": false + "is_pure": false, + "text": "BITPOS_AUX" } ], "type_descriptions": [ @@ -27266,7 +27556,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "packed=(packed\u0026BITMASK_AUX_COMPLEMENT)|(auxCasted\u003c\u003cBITPOS_AUX);" }, { "id": 1429, @@ -27320,7 +27611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1433, @@ -27340,7 +27632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1433, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -27375,7 +27668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1399, - "is_pure": false + "is_pure": false, + "text": "packed" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -27385,7 +27679,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_packedAddressData[owner]=packed;" } ] }, @@ -27512,13 +27807,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setAux(address, uint64)", - "signature": "b079a9fd", + "signature_raw": "_setAux(address,uint64)", + "signature": "4ff8c452", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint64$", "type_string": "function(address,uint64)" - } + }, + "text": "function_setAux(addressowner,uint64aux)internal{uint256packed=_packedAddressData[owner];uint256auxCasted;assembly{auxCasted:=aux}packed=(packed\u0026BITMASK_AUX_COMPLEMENT)|(auxCasted\u003c\u003cBITPOS_AUX);_packedAddressData[owner]=packed;}" }, { "id": 1436, @@ -27633,7 +27929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1447, - "is_pure": false + "is_pure": false, + "text": "tokenId" } }, { @@ -27666,7 +27963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 837, - "is_pure": false + "is_pure": false, + "text": "OwnerQueryForNonexistentToken" } }, { @@ -27740,7 +28038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -27765,7 +28064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1444, - "is_pure": false + "is_pure": false, + "text": "curr" }, "type_description": { "type_identifier": "t_bool", @@ -27921,7 +28221,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_packedOwnershipOf(uint256tokenId)privateviewreturns(uint256){uint256curr=tokenId;unchecked{if(_startTokenId()\u003c=curr)if(curr\u003c_currentIndex){uint256packed=_packedOwnerships[curr];if(packed\u0026BITMASK_BURNED==0){while(packed==0){packed=_packedOwnerships[--curr];}returnpacked;}}}revertOwnerQueryForNonexistentToken();}" }, { "id": 1458, @@ -28022,14 +28323,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1463, - "is_pure": false + "is_pure": false, + "text": "ownership" }, "member_name": "addr", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.addr" }, "right_expression": { "id": 1471, @@ -28087,7 +28390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1477, - "is_pure": false + "is_pure": false, + "text": "packed" } ], "expression": { @@ -28132,7 +28436,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -28183,7 +28488,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -28198,7 +28504,8 @@ "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.addr=address(uint160(packed));" }, { "id": 1478, @@ -28264,14 +28571,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1463, - "is_pure": false + "is_pure": false, + "text": "ownership" }, "member_name": "startTimestamp", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.startTimestamp" }, "right_expression": { "id": 1482, @@ -28323,7 +28632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1487, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 1488, @@ -28343,7 +28653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1112, - "is_pure": false + "is_pure": false, + "text": "BITPOS_START_TIMESTAMP" } ], "type_descriptions": [ @@ -28404,7 +28715,8 @@ "type_identifier": "t_uint64", "type_string": "uint64" } - ] + ], + "text": "uint64" }, "type_description": { "type_identifier": "t_function_$_t_rational_160_by_1$", @@ -28419,7 +28731,8 @@ "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.startTimestamp=uint64(packed\u003e\u003eBITPOS_START_TIMESTAMP);" }, { "id": 1489, @@ -28485,14 +28798,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1463, - "is_pure": false + "is_pure": false, + "text": "ownership" }, "member_name": "burned", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.burned" }, "right_expression": { "id": 1493, @@ -28538,7 +28853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 1497, @@ -28558,7 +28874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1116, - "is_pure": false + "is_pure": false, + "text": "BITMASK_BURNED" } ], "type_descriptions": [ @@ -28592,7 +28909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -28607,7 +28925,8 @@ "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.burned=packed\u0026BITMASK_BURNED!=0;" }, { "id": 1499, @@ -28673,14 +28992,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1463, - "is_pure": false + "is_pure": false, + "text": "ownership" }, "member_name": "extraData", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.extraData" }, "right_expression": { "id": 1503, @@ -28732,7 +29053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1508, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 1509, @@ -28752,7 +29074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1134, - "is_pure": false + "is_pure": false, + "text": "BITPOS_EXTRA_DATA" } ], "type_descriptions": [ @@ -28813,7 +29136,8 @@ "type_identifier": "t_uint24", "type_string": "uint24" } - ] + ], + "text": "uint24" }, "type_description": { "type_identifier": "t_function_$_t_rational_232_by_1$", @@ -28828,7 +29152,8 @@ "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.extraData=uint24(packed\u003e\u003eBITPOS_EXTRA_DATA);" } ] }, @@ -28983,7 +29308,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_unpackedOwnership(uint256packed)privatepurereturns(TokenOwnershipmemoryownership){ownership.addr=address(uint160(packed));ownership.startTimestamp=uint64(packed\u003e\u003eBITPOS_START_TIMESTAMP);ownership.burned=packed\u0026BITMASK_BURNED!=0;ownership.extraData=uint24(packed\u003e\u003eBITPOS_EXTRA_DATA);}" }, { "id": 1511, @@ -29080,7 +29406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 1525, @@ -29100,7 +29427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1525, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -29136,7 +29464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_unpackedOwnership" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", @@ -29297,7 +29626,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_ownershipAt(uint256index)internalviewreturns(TokenOwnershipmemory){return_unpackedOwnership(_packedOwnerships[index]);}" }, { "id": 1527, @@ -29388,7 +29718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 1537, @@ -29408,7 +29739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1537, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -29445,7 +29777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -29518,7 +29851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 1544, @@ -29538,7 +29872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1544, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -29592,7 +29927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1547, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -29613,7 +29949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -29628,7 +29965,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[index]=_packedOwnershipOf(index);" } ] } @@ -29720,7 +30058,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_initializeOwnershipAt(uint256index)internal{if(_packedOwnerships[index]==0){_packedOwnerships[index]=_packedOwnershipOf(index);}}" }, { "id": 1549, @@ -29825,7 +30164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1563, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -29846,7 +30186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -29872,7 +30213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_unpackedOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -30033,7 +30375,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_ownershipOf(uint256tokenId)internalviewreturns(TokenOwnershipmemory){return_unpackedOwnership(_packedOwnershipOf(tokenId));}" }, { "id": 1565, @@ -30850,13 +31193,14 @@ } ] }, - "signature_raw": "_packOwnershipData(address, uint256)", - "signature": "f68353d4", + "signature_raw": "_packOwnershipData(address,uint256)", + "signature": "bf460657", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_packOwnershipData(addressowner,uint256flags)privateviewreturns(uint256result){assembly{owner:=and(owner,BITMASK_ADDRESS)result:=or(owner,or(shl(BITPOS_START_TIMESTAMP,timestamp()),flags))}}" }, { "id": 1600, @@ -30980,7 +31324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1618, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -31001,7 +31346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -31051,7 +31397,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -31102,7 +31449,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -31262,7 +31610,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)publicviewoverridereturns(address){returnaddress(uint160(_packedOwnershipOf(tokenId)));}" }, { "id": 1620, @@ -31329,7 +31678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1168, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -31483,7 +31833,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 1632, @@ -31550,7 +31901,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1171, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -31704,7 +32056,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 1644, @@ -31807,7 +32160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -31828,7 +32182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -31947,7 +32302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_baseURI" }, "type_description": { "type_identifier": "t_function_$", @@ -32053,7 +32409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "baseURI" } ], "expression": { @@ -32098,7 +32455,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -32110,7 +32468,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "bytes(baseURI).length" }, "right_expression": { "id": 1673, @@ -32132,7 +32491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32199,7 +32559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "baseURI" }, { "id": 1681, @@ -32238,7 +32599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1683, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -32259,7 +32621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_toString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -32308,14 +32671,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$_t_uint256$", @@ -32365,7 +32730,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string$_t_function_$_t_uint256$", @@ -32392,7 +32758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "''" } ], "type_descriptions": [ @@ -32563,7 +32930,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)publicviewvirtualoverridereturns(stringmemory){if(!_exists(tokenId))revertURIQueryForNonexistentToken();stringmemorybaseURI=_baseURI();returnbytes(baseURI).length!=0?string(abi.encodePacked(baseURI,_toString(tokenId))):'';}" }, { "id": 1686, @@ -32632,7 +33000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "''" } } ] @@ -32767,7 +33136,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "function_baseURI()internalviewvirtualreturns(stringmemory){return'';}" }, { "id": 1697, @@ -33112,7 +33482,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_nextInitializedFlag(uint256quantity)privatepurereturns(uint256result){assembly{result:=shl(BITPOS_NEXT_INITIALIZED,eq(quantity,1))}}" }, { "id": 1719, @@ -33247,7 +33618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1733, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -33268,7 +33640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -33333,7 +33706,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -33358,7 +33732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1728, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -33432,7 +33807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1744, @@ -33452,7 +33828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1744, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -33487,7 +33864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1745, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -33497,7 +33875,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_tokenApprovals[tokenId]=to;" }, { "id": 1746, @@ -33529,7 +33908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1728, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1748, @@ -33549,7 +33929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1748, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1749, @@ -33569,7 +33950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1749, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -33590,7 +33972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 898, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -33737,13 +34120,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)publicoverride{addressowner=ownerOf(tokenId);if(_msgSenderERC721A()!=owner)if(!isApprovedForAll(owner,_msgSenderERC721A())){revertApprovalCallerNotOwnerNorApproved();}_tokenApprovals[tokenId]=to;emitApproval(owner,to,tokenId);}" }, { "id": 1752, @@ -33846,7 +34230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1765, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -33867,7 +34252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -33935,7 +34321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1770, @@ -33955,7 +34342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1770, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -34125,7 +34513,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)publicviewoverridereturns(address){if(!_exists(tokenId))revertApprovalQueryForNonexistentToken();return_tokenApprovals[tokenId];}" }, { "id": 1772, @@ -34205,7 +34594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1783, - "is_pure": false + "is_pure": false, + "text": "operator" }, "right_expression": { "id": 1784, @@ -34239,7 +34629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -34329,7 +34720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1792, @@ -34363,7 +34755,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -34403,7 +34796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1794, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -34438,7 +34832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1795, - "is_pure": false + "is_pure": false, + "text": "approved" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_function_$]$_t_address]$", @@ -34448,7 +34843,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_function_$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003ebool)):function()]:address]" - } + }, + "text": "_operatorApprovals[_msgSenderERC721A()][operator]=approved;" }, { "id": 1796, @@ -34494,7 +34890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -34519,7 +34916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1799, - "is_pure": false + "is_pure": false, + "text": "operator" }, { "id": 1800, @@ -34539,7 +34937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1800, - "is_pure": false + "is_pure": false, + "text": "approved" } ], "expression": { @@ -34560,7 +34959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 907, - "is_pure": false + "is_pure": false, + "text": "ApprovalForAll" } } ] @@ -34707,13 +35107,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,boolapproved)publicvirtualoverride{if(operator==_msgSenderERC721A())revertApproveToCaller();_operatorApprovals[_msgSenderERC721A()][operator]=approved;emitApprovalForAll(_msgSenderERC721A(),operator,approved);}" }, { "id": 1803, @@ -34802,7 +35203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1818, @@ -34822,7 +35224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1818, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -34857,7 +35260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1819, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -35065,13 +35469,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)publicviewvirtualoverridereturns(bool){return_operatorApprovals[owner][operator];}" }, { "id": 1821, @@ -35157,7 +35562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1834, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1835, @@ -35183,7 +35589,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1836, @@ -35213,7 +35620,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1837, @@ -35249,7 +35657,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "''" } ], "expression": { @@ -35270,7 +35679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_string_literal$", @@ -35465,13 +35875,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{safeTransferFrom(from,to,tokenId,'');}" }, { "id": 1839, @@ -35553,7 +35964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1854, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1855, @@ -35579,7 +35991,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1856, @@ -35609,7 +36022,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -35630,7 +36044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -35726,21 +36141,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1861, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.code.length" }, "right_expression": { "id": 1862, @@ -35762,7 +36180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -36015,13 +36434,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytesmemory_data)publicvirtualoverride{transferFrom(from,to,tokenId);if(to.code.length!=0)if(!_checkContractOnERC721Received(from,to,tokenId,_data)){revertTransferToNonERC721ReceiverImplementer();}}" }, { "id": 1865, @@ -36140,7 +36560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -36165,7 +36586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1881, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_description": { "type_identifier": "t_bool", @@ -36204,7 +36626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1883, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "right_expression": { "id": 1884, @@ -36224,7 +36647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "type_description": { "type_identifier": "t_bool", @@ -36298,7 +36722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 1890, @@ -36318,7 +36743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1890, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -36353,7 +36779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1116, - "is_pure": false + "is_pure": false, + "text": "BITMASK_BURNED" } ], "type_descriptions": [ @@ -36387,7 +36814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -36539,7 +36967,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_exists(uint256tokenId)internalviewreturns(bool){return_startTokenId()\u003c=tokenId\u0026\u0026tokenId\u003c_currentIndex\u0026\u0026_packedOwnerships[tokenId]\u0026BITMASK_BURNED==0;}" }, { "id": 1894, @@ -36621,7 +37050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1905, @@ -36647,7 +37077,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "quantity" }, { "id": 1906, @@ -36679,7 +37110,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "''" } ], "expression": { @@ -36700,7 +37132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeMint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_string_literal$", @@ -36832,13 +37265,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256)", - "signature": "df7f3eab", + "signature_raw": "_safeMint(address,uint256)", + "signature": "b3e1c718", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_safeMint(addressto,uint256quantity)internal{_safeMint(to,quantity,'');}" }, { "id": 1908, @@ -36916,7 +37350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1920, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1921, @@ -36942,7 +37377,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "quantity" } ], "expression": { @@ -36963,7 +37399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -37073,21 +37510,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1927, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.code.length" }, "right_expression": { "id": 1928, @@ -37109,7 +37549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -37208,7 +37649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" } }, { @@ -37303,7 +37745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1930, - "is_pure": false + "is_pure": false, + "text": "end" }, "right_expression": { "id": 1939, @@ -37323,7 +37766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1939, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_uint256", @@ -37374,7 +37818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1934, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 1943, @@ -37394,7 +37839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1930, - "is_pure": false + "is_pure": false, + "text": "end" }, "type_description": { "type_identifier": "t_bool", @@ -37514,7 +37960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -37560,7 +38007,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -37591,7 +38039,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1954, @@ -37624,7 +38073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1513, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_description": { "type_identifier": "t_uint256", @@ -37668,7 +38118,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -37689,7 +38140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkContractOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$_t_function_$_t_function_$_t_rational_0_by_1$_t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -37745,7 +38197,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 846, - "is_pure": false + "is_pure": false, + "text": "TransferToNonERC721ReceiverImplementer" } } ] @@ -37797,7 +38250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 1963, @@ -37817,7 +38271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1930, - "is_pure": false + "is_pure": false, + "text": "end" }, "type_description": { "type_identifier": "t_bool", @@ -38012,13 +38467,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256, bytes)", - "signature": "5fa2bef5", + "signature_raw": "_safeMint(address,uint256,bytes)", + "signature": "6a4f832b", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,uint256,bytes)" - } + }, + "text": "function_safeMint(addressto,uint256quantity,bytesmemory_data)internal{_mint(to,quantity);unchecked{if(to.code.length!=0){uint256end=_currentIndex;uint256index=end-quantity;do{if(!_checkContractOnERC721Received(address(0),to,index++,_data)){revertTransferToNonERC721ReceiverImplementer();}}while(index\u003cend);if(_currentIndex!=end)revert();}}}" }, { "id": 1966, @@ -38133,7 +38589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" } }, { @@ -38179,7 +38636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1980, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1981, @@ -38220,7 +38678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -38266,7 +38725,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -38336,7 +38796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1988, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 1989, @@ -38358,7 +38819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -38450,7 +38912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -38496,7 +38959,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -38527,7 +38991,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1998, @@ -38557,7 +39022,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "startTokenId" }, { "id": 1999, @@ -38591,7 +39057,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "quantity" } ], "expression": { @@ -38612,7 +39079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_uint256$", @@ -38689,7 +39157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -38735,7 +39204,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -38766,7 +39236,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2007, @@ -38796,7 +39267,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "startTokenId" }, { "id": 2008, @@ -38830,7 +39302,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "quantity" } ], "expression": { @@ -38851,7 +39324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_uint256$", @@ -38924,7 +39398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2014, @@ -38944,7 +39419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2014, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -38993,7 +39469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2016, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 2017, @@ -39068,7 +39545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 2024, @@ -39088,7 +39566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1090, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_MINTED" } ], "type_descriptions": [ @@ -39132,7 +39611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -39165,7 +39645,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_packedAddressData[to]+=quantity*((1\u003c\u003cBITPOS_NUMBER_MINTED)|1);" }, { "id": 2026, @@ -39219,7 +39700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2030, @@ -39239,7 +39721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "type_descriptions": [ { @@ -39297,7 +39780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2033, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2035, @@ -39348,7 +39832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2038, - "is_pure": false + "is_pure": false, + "text": "quantity" } ], "expression": { @@ -39369,7 +39854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextInitializedFlag" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -39442,7 +39928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -39488,7 +39975,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -39519,7 +40007,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2046, @@ -39551,7 +40040,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -39572,7 +40062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextExtraData" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_rational_0_by_1$", @@ -39610,7 +40101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packOwnershipData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -39625,7 +40117,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[startTokenId]=_packOwnershipData(to,_nextInitializedFlag(quantity)|_nextExtraData(address(0),to,0));" }, { "id": 2047, @@ -39705,7 +40198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" } }, { @@ -39800,7 +40294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "right_expression": { "id": 2056, @@ -39820,7 +40315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2056, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_uint256", @@ -39871,7 +40367,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2047, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "right_expression": { "id": 2060, @@ -39891,7 +40388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2051, - "is_pure": false + "is_pure": false, + "text": "end" }, "type_description": { "type_identifier": "t_bool", @@ -39963,7 +40461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -40009,7 +40508,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -40034,7 +40534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 893, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2068, @@ -40067,7 +40568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 895, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_description": { "type_identifier": "t_uint256", @@ -40098,7 +40600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -40145,7 +40648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 2074, @@ -40165,7 +40669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2051, - "is_pure": false + "is_pure": false, + "text": "end" }, "type_description": { "type_identifier": "t_uint256", @@ -40175,7 +40680,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_currentIndex=end;" } ] } @@ -40304,13 +40810,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256quantity)internal{uint256startTokenId=_currentIndex;if(to==address(0))revertMintToZeroAddress();if(quantity==0)revertMintZeroQuantity();_beforeTokenTransfers(address(0),to,startTokenId,quantity);unchecked{_packedAddressData[to]+=quantity*((1\u003c\u003cBITPOS_NUMBER_MINTED)|1);_packedOwnerships[startTokenId]=_packOwnershipData(to,_nextInitializedFlag(quantity)|_nextExtraData(address(0),to,0));uint256tokenId=startTokenId;uint256end=startTokenId+quantity;do{emitTransfer(address(0),to,tokenId++);}while(tokenId\u003cend);_currentIndex=end;}_afterTokenTransfers(address(0),to,startTokenId,quantity);}" }, { "id": 2076, @@ -40425,7 +40932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" } }, { @@ -40471,7 +40979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2090, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 2091, @@ -40512,7 +41021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -40558,7 +41068,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -40628,7 +41139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2098, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 2099, @@ -40650,7 +41162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -40715,7 +41228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2103, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 2104, @@ -40735,7 +41249,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1158, - "is_pure": false + "is_pure": false, + "text": "MAX_MINT_ERC2309_QUANTITY_LIMIT" }, "type_description": { "type_identifier": "t_bool", @@ -40827,7 +41342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -40873,7 +41389,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -40904,7 +41421,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2113, @@ -40934,7 +41452,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "startTokenId" }, { "id": 2114, @@ -40968,7 +41487,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "quantity" } ], "expression": { @@ -40989,7 +41509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_uint256$", @@ -41066,7 +41587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -41112,7 +41634,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -41143,7 +41666,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2122, @@ -41173,7 +41697,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "startTokenId" }, { "id": 2123, @@ -41207,7 +41732,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "quantity" } ], "expression": { @@ -41228,7 +41754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_uint256$", @@ -41301,7 +41828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2129, @@ -41321,7 +41849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2129, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -41370,7 +41899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2131, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 2132, @@ -41445,7 +41975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 2139, @@ -41465,7 +41996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1090, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_MINTED" } ], "type_descriptions": [ @@ -41509,7 +42041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -41542,7 +42075,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_packedAddressData[to]+=quantity*((1\u003c\u003cBITPOS_NUMBER_MINTED)|1);" }, { "id": 2141, @@ -41596,7 +42130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2145, @@ -41616,7 +42151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "type_descriptions": [ { @@ -41674,7 +42210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2148, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2150, @@ -41725,7 +42262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2153, - "is_pure": false + "is_pure": false, + "text": "quantity" } ], "expression": { @@ -41746,7 +42284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextInitializedFlag" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -41819,7 +42358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -41865,7 +42405,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -41896,7 +42437,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2161, @@ -41928,7 +42470,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -41949,7 +42492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextExtraData" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_rational_0_by_1$", @@ -41987,7 +42531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packOwnershipData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -42002,7 +42547,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[startTokenId]=_packOwnershipData(to,_nextInitializedFlag(quantity)|_nextExtraData(address(0),to,0));" }, { "id": 2162, @@ -42034,7 +42580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, { "id": 2164, @@ -42082,7 +42629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "right_expression": { "id": 2167, @@ -42102,7 +42650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2167, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_uint256", @@ -42129,7 +42678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -42175,7 +42725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -42221,7 +42772,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -42246,7 +42798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2173, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -42267,7 +42820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1034, - "is_pure": false + "is_pure": false, + "text": "ConsecutiveTransfer" } }, { @@ -42311,7 +42865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 2178, @@ -42345,7 +42900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "right_expression": { "id": 2180, @@ -42365,7 +42921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2180, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_uint256", @@ -42380,7 +42937,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_currentIndex=startTokenId+quantity;" } ] } @@ -42509,13 +43067,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mintERC2309(address, uint256)", - "signature": "5681ff49", + "signature_raw": "_mintERC2309(address,uint256)", + "signature": "4908d13b", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mintERC2309(addressto,uint256quantity)internal{uint256startTokenId=_currentIndex;if(to==address(0))revertMintToZeroAddress();if(quantity==0)revertMintZeroQuantity();if(quantity\u003eMAX_MINT_ERC2309_QUANTITY_LIMIT)revertMintERC2309QuantityExceedsLimit();_beforeTokenTransfers(address(0),to,startTokenId,quantity);unchecked{_packedAddressData[to]+=quantity*((1\u003c\u003cBITPOS_NUMBER_MINTED)|1);_packedOwnerships[startTokenId]=_packOwnershipData(to,_nextInitializedFlag(quantity)|_nextExtraData(address(0),to,0));emitConsecutiveTransfer(startTokenId,startTokenId+quantity-1,address(0),to);_currentIndex=startTokenId+quantity;}_afterTokenTransfers(address(0),to,startTokenId,quantity);}" }, { "id": 2182, @@ -42593,7 +43152,7 @@ "storage_location": 3, "type_name": { "id": 2194, - "node_type": 0, + "node_type": 53, "src": { "line": 1210, "column": 8, @@ -42681,7 +43240,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" } }, { @@ -44136,7 +44696,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_getApprovedAddress(uint256tokenId)privateviewreturns(uint256approvedAddressSlot,addressapprovedAddress){mapping(uint256=\u003eaddress)storagetokenApprovalsPtr=_tokenApprovals;assembly{mstore(0x00,tokenId)mstore(0x20,tokenApprovalsPtr.slot)approvedAddressSlot:=keccak256(0x00,0x40)approvedAddress:=sload(approvedAddressSlot)}}" }, { "id": 2224, @@ -45526,13 +46087,14 @@ } ] }, - "signature_raw": "_isOwnerOrApproved(address, address, address)", - "signature": "deb31934", + "signature_raw": "_isOwnerOrApproved(address,address,address)", + "signature": "be8825c4", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$", "type_string": "function(address,address,address)" - } + }, + "text": "function_isOwnerOrApproved(addressapprovedAddress,addressfrom,addressmsgSender)privatepurereturns(boolresult){assembly{from:=and(from,BITMASK_ADDRESS)msgSender:=and(msgSender,BITMASK_ADDRESS)result:=or(eq(msgSender,from),eq(msgSender,approvedAddress))}}" }, { "id": 2267, @@ -45666,7 +46228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2283, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -45687,7 +46250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -45776,7 +46340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" } ], "expression": { @@ -45821,7 +46386,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -45872,7 +46438,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -45897,7 +46464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2293, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_description": { "type_identifier": "t_bool", @@ -46062,7 +46630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2302, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -46083,7 +46652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getApprovedAddress" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -46165,7 +46735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2295, - "is_pure": false + "is_pure": false, + "text": "approvedAddress" }, { "id": 2308, @@ -46191,7 +46762,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "from" }, { "id": 2309, @@ -46225,7 +46797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -46251,7 +46824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isOwnerOrApproved" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$", @@ -46321,7 +46895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2314, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 2315, @@ -46362,7 +46937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -46408,7 +46984,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -46484,7 +47061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2322, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2323, @@ -46510,7 +47088,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2324, @@ -46540,7 +47119,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 2325, @@ -46576,7 +47156,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "1" } ], "expression": { @@ -46597,7 +47178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_rational_1_by_1$", @@ -46772,7 +47354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2337, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2338, @@ -46792,7 +47375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2338, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2339, @@ -46812,7 +47396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2339, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -46833,7 +47418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -46885,7 +47471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2343, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2344, @@ -46911,7 +47498,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2345, @@ -46941,7 +47529,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 2346, @@ -46977,7 +47566,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "1" } ], "expression": { @@ -46998,7 +47588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_rational_1_by_1$", @@ -47066,7 +47657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2351, @@ -47086,7 +47678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2351, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -47155,7 +47748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2355, @@ -47175,7 +47769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2355, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -47249,7 +47844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2360, @@ -47269,7 +47865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2360, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -47327,7 +47924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2363, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2365, @@ -47359,7 +47957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1127, - "is_pure": false + "is_pure": false, + "text": "BITMASK_NEXT_INITIALIZED" }, { "id": 2367, @@ -47406,7 +48005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2369, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2370, @@ -47432,7 +48032,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2371, @@ -47462,7 +48063,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "prevOwnershipPacked" } ], "expression": { @@ -47483,7 +48085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextExtraData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -47521,7 +48124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packOwnershipData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_225_by_1$", @@ -47536,7 +48140,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[tokenId]=_packOwnershipData(to,BITMASK_NEXT_INITIALIZED|_nextExtraData(from,to,prevOwnershipPacked));" }, { "id": 2372, @@ -47593,7 +48198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, { "id": 2377, @@ -47613,7 +48219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1127, - "is_pure": false + "is_pure": false, + "text": "BITMASK_NEXT_INITIALIZED" } ], "type_descriptions": [ @@ -47647,7 +48254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -47760,7 +48368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2384, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "right_expression": { "id": 2385, @@ -47782,7 +48391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -47844,7 +48454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2390, @@ -47864,7 +48475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "type_descriptions": [ { @@ -47901,7 +48513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -47965,7 +48578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "right_expression": { "id": 2396, @@ -47985,7 +48599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "type_description": { "type_identifier": "t_bool", @@ -48058,7 +48673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2402, @@ -48078,7 +48694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "type_descriptions": [ { @@ -48113,7 +48730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", @@ -48123,7 +48741,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[nextTokenId]=prevOwnershipPacked;" } ] } @@ -48324,13 +48943,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{uint256prevOwnershipPacked=_packedOwnershipOf(tokenId);if(address(uint160(prevOwnershipPacked))!=from)revertTransferFromIncorrectOwner();(uint256approvedAddressSlot,addressapprovedAddress)=_getApprovedAddress(tokenId);if(!_isOwnerOrApproved(approvedAddress,from,_msgSenderERC721A()))if(!isApprovedForAll(from,_msgSenderERC721A()))revertTransferCallerNotOwnerNorApproved();if(to==address(0))revertTransferToZeroAddress();_beforeTokenTransfers(from,to,tokenId,1);assembly{ifapprovedAddress{sstore(approvedAddressSlot,0)}}unchecked{--_packedAddressData[from];++_packedAddressData[to];_packedOwnerships[tokenId]=_packOwnershipData(to,BITMASK_NEXT_INITIALIZED|_nextExtraData(from,to,prevOwnershipPacked));if(prevOwnershipPacked\u0026BITMASK_NEXT_INITIALIZED==0){uint256nextTokenId=tokenId+1;if(_packedOwnerships[nextTokenId]==0){if(nextTokenId!=_currentIndex){_packedOwnerships[nextTokenId]=prevOwnershipPacked;}}}}emitTransfer(from,to,tokenId);_afterTokenTransfers(from,to,tokenId,1);}" }, { "id": 2405, @@ -48408,7 +49028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2413, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, { "id": 2414, @@ -48436,7 +49057,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "false" } ], "expression": { @@ -48457,7 +49079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_burn" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bool$", @@ -48551,7 +49174,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_burn(uint256tokenId)internalvirtual{_burn(tokenId,false);}" }, { "id": 2416, @@ -48685,7 +49309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2429, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -48706,7 +49331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -48831,7 +49457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2424, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" } ], "expression": { @@ -48876,7 +49503,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -48927,7 +49555,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -49078,7 +49707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2447, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -49099,7 +49729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getApprovedAddress" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -49136,7 +49767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2449, - "is_pure": false + "is_pure": false, + "text": "approvalCheck" }, "body": { "id": 2450, @@ -49226,7 +49858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "approvedAddress" }, { "id": 2456, @@ -49252,7 +49885,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "from" }, { "id": 2457, @@ -49286,7 +49920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -49312,7 +49947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isOwnerOrApproved" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -49391,7 +50027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2430, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2463, @@ -49432,7 +50069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -49478,7 +50116,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -49513,7 +50152,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" }, { "id": 2468, @@ -49549,7 +50189,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "1" } ], "expression": { @@ -49570,7 +50211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$_t_rational_1_by_1$", @@ -49745,7 +50387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2430, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2481, @@ -49786,7 +50429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -49832,7 +50476,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -49857,7 +50502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2485, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -49878,7 +50524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -49930,7 +50577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2430, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2490, @@ -49971,7 +50619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -50017,7 +50666,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -50052,7 +50702,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" }, { "id": 2495, @@ -50088,7 +50739,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "1" } ], "expression": { @@ -50109,7 +50761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$_t_rational_1_by_1$", @@ -50182,7 +50835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2501, @@ -50202,7 +50856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 891, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -50280,7 +50935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 2507, @@ -50300,7 +50956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_BURNED" } ], "type_descriptions": [ @@ -50344,7 +51001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_128_by_1$", @@ -50359,7 +51017,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_packedAddressData[from]+=(1\u003c\u003cBITPOS_NUMBER_BURNED)-1;" }, { "id": 2509, @@ -50413,7 +51072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2513, @@ -50433,7 +51093,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2513, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -50491,7 +51152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2518, @@ -50549,7 +51211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1116, - "is_pure": false + "is_pure": false, + "text": "BITMASK_BURNED" }, { "id": 2523, @@ -50569,7 +51232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1127, - "is_pure": false + "is_pure": false, + "text": "BITMASK_NEXT_INITIALIZED" } ], "type_descriptions": [ @@ -50634,7 +51298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2527, @@ -50675,7 +51340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -50721,7 +51387,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -50756,7 +51423,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "prevOwnershipPacked" } ], "expression": { @@ -50777,7 +51445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextExtraData" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_function_$_t_function_$_t_function_$_t_rational_0_by_1$", @@ -50815,7 +51484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packOwnershipData" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_rational_224_by_1$", @@ -50830,7 +51500,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[tokenId]=_packOwnershipData(from,(BITMASK_BURNED|BITMASK_NEXT_INITIALIZED)|_nextExtraData(from,address(0),prevOwnershipPacked));" }, { "id": 2532, @@ -50887,7 +51558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, { "id": 2537, @@ -50907,7 +51579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1127, - "is_pure": false + "is_pure": false, + "text": "BITMASK_NEXT_INITIALIZED" } ], "type_descriptions": [ @@ -50941,7 +51614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -51054,7 +51728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2544, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "right_expression": { "id": 2545, @@ -51076,7 +51751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -51138,7 +51814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2550, @@ -51158,7 +51835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2540, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "type_descriptions": [ { @@ -51195,7 +51873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -51259,7 +51938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "right_expression": { "id": 2556, @@ -51279,7 +51959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "type_description": { "type_identifier": "t_bool", @@ -51352,7 +52033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2562, @@ -51372,7 +52054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "type_descriptions": [ { @@ -51407,7 +52090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", @@ -51417,7 +52101,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[nextTokenId]=prevOwnershipPacked;" } ] } @@ -51475,7 +52160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "_burnCounter" }, "type_description": { "type_identifier": "t_uint256", @@ -51613,13 +52299,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(uint256, bool)", - "signature": "1e912a24", + "signature_raw": "_burn(uint256,bool)", + "signature": "834a9477", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bool$", "type_string": "function(uint256,bool)" - } + }, + "text": "function_burn(uint256tokenId,boolapprovalCheck)internalvirtual{uint256prevOwnershipPacked=_packedOwnershipOf(tokenId);addressfrom=address(uint160(prevOwnershipPacked));(uint256approvedAddressSlot,addressapprovedAddress)=_getApprovedAddress(tokenId);if(approvalCheck){if(!_isOwnerOrApproved(approvedAddress,from,_msgSenderERC721A()))if(!isApprovedForAll(from,_msgSenderERC721A()))revertTransferCallerNotOwnerNorApproved();}_beforeTokenTransfers(from,address(0),tokenId,1);assembly{ifapprovedAddress{sstore(approvedAddressSlot,0)}}unchecked{_packedAddressData[from]+=(1\u003c\u003cBITPOS_NUMBER_BURNED)-1;_packedOwnerships[tokenId]=_packOwnershipData(from,(BITMASK_BURNED|BITMASK_NEXT_INITIALIZED)|_nextExtraData(from,address(0),prevOwnershipPacked));if(prevOwnershipPacked\u0026BITMASK_NEXT_INITIALIZED==0){uint256nextTokenId=tokenId+1;if(_packedOwnerships[nextTokenId]==0){if(nextTokenId!=_currentIndex){_packedOwnerships[nextTokenId]=prevOwnershipPacked;}}}}emitTransfer(from,address(0),tokenId);_afterTokenTransfers(from,address(0),tokenId,1);unchecked{_burnCounter++;}}" }, { "id": 2568, @@ -51725,7 +52412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2615, - "is_pure": false + "is_pure": false, + "text": "retval" }, "right_expression": { "id": 2597, @@ -51810,7 +52498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -51831,7 +52520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ERC721A__IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -51843,14 +52533,16 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "ERC721A__IERC721Receiver(to).onERC721Received" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "ERC721A__IERC721Receiver(to).onERC721Received.selector" }, "type_description": { "type_identifier": "t_bool", @@ -51984,7 +52676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -52015,7 +52708,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "from" }, { "id": 2591, @@ -52045,7 +52739,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 2592, @@ -52079,7 +52774,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -52142,7 +52838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2587, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -52163,7 +52860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ERC721A__IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -52175,7 +52873,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "ERC721A__IERC721Receiver(to).onERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$_t_bytes$", @@ -52274,14 +52973,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2603, - "is_pure": false + "is_pure": false, + "text": "reason" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "reason.length" }, "right_expression": { "id": 2610, @@ -52303,7 +53004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -52352,7 +53054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 846, - "is_pure": false + "is_pure": false, + "text": "TransferToNonERC721ReceiverImplementer" } } ] @@ -52678,13 +53381,14 @@ } ] }, - "signature_raw": "_checkContractOnERC721Received(address, address, uint256, bytes)", - "signature": "ba0e980b", + "signature_raw": "_checkContractOnERC721Received(address,address,uint256,bytes)", + "signature": "d88343e2", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_checkContractOnERC721Received(addressfrom,addressto,uint256tokenId,bytesmemory_data)privatereturns(bool){tryERC721A__IERC721Receiver(to).onERC721Received(_msgSenderERC721A(),from,tokenId,_data)returns(bytes4retval){returnretval==ERC721A__IERC721Receiver(to).onERC721Received.selector;}catch(bytesmemoryreason){if(reason.length==0){revertTransferToNonERC721ReceiverImplementer();}else{assembly{revert(add(32,reason),mload(reason))}}}}" }, { "id": 2618, @@ -52810,7 +53514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2631, @@ -52830,7 +53535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2631, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -52891,7 +53597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2626, - "is_pure": false + "is_pure": false, + "text": "packed" }, "right_expression": { "id": 2635, @@ -52913,7 +53620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -53119,7 +53827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2626, - "is_pure": false + "is_pure": false, + "text": "packed" }, "right_expression": { "id": 2650, @@ -53177,7 +53886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2626, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 2655, @@ -53197,7 +53907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1138, - "is_pure": false + "is_pure": false, + "text": "BITMASK_EXTRA_DATA_COMPLEMENT" } ], "type_descriptions": [ @@ -53262,7 +53973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2637, - "is_pure": false + "is_pure": false, + "text": "extraDataCasted" }, { "id": 2660, @@ -53282,7 +53994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1134, - "is_pure": false + "is_pure": false, + "text": "BITPOS_EXTRA_DATA" } ], "type_descriptions": [ @@ -53326,7 +54039,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "packed=(packed\u0026BITMASK_EXTRA_DATA_COMPLEMENT)|(extraDataCasted\u003c\u003cBITPOS_EXTRA_DATA);" }, { "id": 2661, @@ -53380,7 +54094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2665, @@ -53400,7 +54115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2665, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -53435,7 +54151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2626, - "is_pure": false + "is_pure": false, + "text": "packed" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", @@ -53445,7 +54162,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[index]=packed;" } ] }, @@ -53571,13 +54289,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setExtraDataAt(uint256, uint24)", - "signature": "49824576", + "signature_raw": "_setExtraDataAt(uint256,uint24)", + "signature": "bd3cdd6d", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint24$", "type_string": "function(uint256,uint24)" - } + }, + "text": "function_setExtraDataAt(uint256index,uint24extraData)internal{uint256packed=_packedOwnerships[index];if(packed==0)revertOwnershipNotInitializedForExtraData();uint256extraDataCasted;assembly{extraDataCasted:=extraData}packed=(packed\u0026BITMASK_EXTRA_DATA_COMPLEMENT)|(extraDataCasted\u003c\u003cBITPOS_EXTRA_DATA);_packedOwnerships[index]=packed;}" }, { "id": 2668, @@ -53724,7 +54443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2688, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, { "id": 2689, @@ -53744,7 +54464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1134, - "is_pure": false + "is_pure": false, + "text": "BITPOS_EXTRA_DATA" } ], "type_descriptions": [ @@ -53805,7 +54526,8 @@ "type_identifier": "t_uint24", "type_string": "uint24" } - ] + ], + "text": "uint24" }, "type_description": { "type_identifier": "t_function_$_t_rational_232_by_1$", @@ -53902,7 +54624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2698, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2699, @@ -53928,7 +54651,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2700, @@ -53958,7 +54682,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "extraData" } ], "expression": { @@ -53979,7 +54704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_extraData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint24$", @@ -54029,7 +54755,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_uint24$", @@ -54054,7 +54781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1134, - "is_pure": false + "is_pure": false, + "text": "BITPOS_EXTRA_DATA" } ], "type_descriptions": [ @@ -54287,13 +55015,14 @@ } ] }, - "signature_raw": "_nextExtraData(address, address, uint256)", - "signature": "f8e97915", + "signature_raw": "_nextExtraData(address,address,uint256)", + "signature": "5afe32e4", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_nextExtraData(addressfrom,addressto,uint256prevOwnershipPacked)privateviewreturns(uint256){uint24extraData=uint24(prevOwnershipPacked\u003e\u003eBITPOS_EXTRA_DATA);returnuint256(_extraData(from,to,extraData))\u003c\u003cBITPOS_EXTRA_DATA;}" }, { "id": 2703, @@ -54543,13 +55272,14 @@ } ] }, - "signature_raw": "_extraData(address, address, uint24)", - "signature": "7f330930", + "signature_raw": "_extraData(address,address,uint24)", + "signature": "fc37bbd3", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint24$", "type_string": "function(address,address,uint24)" - } + }, + "text": "function_extraData(addressfrom,addressto,uint24previousExtraData)internalviewvirtualreturns(uint24){}" }, { "id": 2716, @@ -54797,13 +55527,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfers(address, address, uint256, uint256)", - "signature": "a1b07ca8", + "signature_raw": "_beforeTokenTransfers(address,address,uint256,uint256)", + "signature": "ef435773", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,uint256,uint256)" - } + }, + "text": "function_beforeTokenTransfers(addressfrom,addressto,uint256startTokenId,uint256quantity)internalvirtual{}" }, { "id": 2729, @@ -55051,13 +55782,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfers(address, address, uint256, uint256)", - "signature": "88f7b2f1", + "signature_raw": "_afterTokenTransfers(address,address,uint256,uint256)", + "signature": "08c018f7", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,uint256,uint256)" - } + }, + "text": "function_afterTokenTransfers(addressfrom,addressto,uint256startTokenId,uint256quantity)internalvirtual{}" }, { "id": 2742, @@ -55147,14 +55879,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -55291,7 +56025,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSenderERC721A()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 2754, @@ -64707,7 +65442,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_toString(uint256value)internalpurereturns(stringmemoryptr){assembly{ptr:=add(mload(0x40),128)mstore(0x40,ptr)letend:=ptrfor{lettemp:=valueptr:=sub(ptr,1)mstore8(ptr,add(48,mod(temp,10)))temp:=div(temp,10)}temp{temp:=div(temp,10)}{ptr:=sub(ptr,1)mstore8(ptr,add(48,mod(temp,10)))}letlength:=sub(end,ptr)ptr:=sub(ptr,32)mstore(ptr,length)}}" } ], "linearized_base_contracts": [ @@ -65319,7 +66055,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 2899, @@ -65488,7 +66225,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 2908, @@ -65694,13 +66432,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 2870, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 2919, @@ -65907,13 +66646,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 2870, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 2930, @@ -66119,13 +66859,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 2870, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 2941, @@ -66375,13 +67116,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 2870, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -66671,7 +67413,7 @@ "mutability": 1, "type_name": { "id": 2979, - "node_type": 0, + "node_type": 53, "src": { "line": 1661, "column": 4, @@ -66885,7 +67627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0000000000000000000000000000000000000000" } }, { @@ -66948,7 +67691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -67051,7 +67795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4033a4F1835C5237240C1f95CB518c30312375Cb" } ], "expression": { @@ -67072,7 +67817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -67154,7 +67900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "70" }, "right_expression": { "id": 3009, @@ -67187,7 +67934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 3011, @@ -67209,7 +67957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" }, "type_descriptions": [ { @@ -67286,7 +68035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3028, - "is_pure": false + "is_pure": false, + "text": "_name" }, { "id": 3029, @@ -67306,7 +68056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3029, - "is_pure": false + "is_pure": false, + "text": "_symbol" } ], "modifier_name": { @@ -67625,7 +68376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2975, - "is_pure": false + "is_pure": false, + "text": "collectionSize" }, "right_expression": { "id": 3034, @@ -67645,7 +68397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3034, - "is_pure": false + "is_pure": false, + "text": "_collectionSize" }, "type_description": { "type_identifier": "t_uint256", @@ -67655,7 +68408,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "collectionSize=_collectionSize;" }, { "id": 3035, @@ -67698,7 +68452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2983, - "is_pure": false + "is_pure": false, + "text": "walletMintLimit" }, "right_expression": { "id": 3038, @@ -67718,7 +68473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3038, - "is_pure": false + "is_pure": false, + "text": "_walletMintLimit" }, "type_description": { "type_identifier": "t_uint256", @@ -67728,7 +68484,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "walletMintLimit=_walletMintLimit;" }, { "id": 3039, @@ -67771,7 +68528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2986, - "is_pure": false + "is_pure": false, + "text": "baseTokenURI" }, "right_expression": { "id": 3042, @@ -67791,7 +68549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3042, - "is_pure": false + "is_pure": false, + "text": "_baseTokenURI" }, "type_description": { "type_identifier": "t_string", @@ -67801,7 +68560,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "baseTokenURI=_baseTokenURI;" } ] } @@ -67934,14 +68694,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "tx" }, "member_name": "origin", "argument_types": [], "type_description": { "type_identifier": "t_magic_transaction", "type_string": "tx" - } + }, + "text": "tx.origin" }, "right_expression": { "id": 3052, @@ -67984,14 +68746,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -68024,7 +68788,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Caller is contract\"" } ], "expression": { @@ -68045,7 +68810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -68070,7 +68836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -68170,7 +68937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3070, - "is_pure": false + "is_pure": false, + "text": "_tokenId" } ], "expression": { @@ -68191,7 +68959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -68224,7 +68993,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"Token not existed\"" } ], "expression": { @@ -68245,7 +69015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -68324,7 +69095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "baseTokenURI" }, { "id": 3080, @@ -68352,7 +69124,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"crab.json\"" } ], "expression": { @@ -68396,14 +69169,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -68453,7 +69228,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_literal$", @@ -68612,7 +69388,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256_tokenId)publicviewvirtualoverridereturns(stringmemory){require(_exists(_tokenId),\"Token not existed\");returnstring(abi.encodePacked(baseTokenURI,\"crab.json\"));}" }, { "id": 3082, @@ -68690,7 +69467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2986, - "is_pure": false + "is_pure": false, + "text": "baseTokenURI" }, "right_expression": { "id": 3093, @@ -68710,7 +69488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3093, - "is_pure": false + "is_pure": false, + "text": "_baseTokenURI" }, "type_description": { "type_identifier": "t_string", @@ -68720,7 +69499,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "baseTokenURI=_baseTokenURI;" } ] }, @@ -68839,7 +69619,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionreveal(stringcalldata_baseTokenURI)externalonlyOwner{baseTokenURI=_baseTokenURI;}" }, { "id": 3095, @@ -68931,7 +69712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3106, - "is_pure": false + "is_pure": false, + "text": "_mintPrice" }, "right_expression": { "id": 3107, @@ -68953,7 +69735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -68986,7 +69769,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Invalid price\"" } ], "expression": { @@ -69007,7 +69791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -69055,7 +69840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3004, - "is_pure": false + "is_pure": false, + "text": "mintPrice" }, "right_expression": { "id": 3112, @@ -69089,7 +69875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3113, - "is_pure": false + "is_pure": false, + "text": "_mintPrice" }, "right_expression": { "id": 3115, @@ -69122,7 +69909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 3117, @@ -69144,7 +69932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" }, "type_descriptions": [ { @@ -69170,7 +69959,8 @@ "type_description": { "type_identifier": "t_rational_70_by_1", "type_string": "int_const 70" - } + }, + "text": "mintPrice=_mintPrice*10**18;" } ] }, @@ -69289,7 +70079,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetMintPrice(uint256_mintPrice)externalonlyOwner{require(_mintPrice\u003e0,\"Invalid price\");mintPrice=_mintPrice*10**18;}" }, { "id": 3119, @@ -69381,7 +70172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3130, - "is_pure": false + "is_pure": false, + "text": "_count" }, "right_expression": { "id": 3131, @@ -69403,7 +70195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -69436,7 +70229,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Invalid count\"" } ], "expression": { @@ -69457,7 +70251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -69505,7 +70300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2975, - "is_pure": false + "is_pure": false, + "text": "collectionSize" }, "right_expression": { "id": 3136, @@ -69539,7 +70335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2975, - "is_pure": false + "is_pure": false, + "text": "collectionSize" }, "right_expression": { "id": 3138, @@ -69559,7 +70356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3138, - "is_pure": false + "is_pure": false, + "text": "_count" }, "type_description": { "type_identifier": "t_uint256", @@ -69574,7 +70372,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "collectionSize=collectionSize+_count;" } ] }, @@ -69693,7 +70492,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionaddCollectionSize(uint256_count)externalonlyOwner{require(_count\u003e0,\"Invalid count\");collectionSize=collectionSize+_count;}" }, { "id": 3140, @@ -69785,7 +70585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3151, - "is_pure": false + "is_pure": false, + "text": "_walletMintLimit" }, "right_expression": { "id": 3152, @@ -69807,7 +70608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -69840,7 +70642,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Invalid limit\"" } ], "expression": { @@ -69861,7 +70664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -69909,7 +70713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2983, - "is_pure": false + "is_pure": false, + "text": "walletMintLimit" }, "right_expression": { "id": 3157, @@ -69943,7 +70748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2983, - "is_pure": false + "is_pure": false, + "text": "walletMintLimit" }, "right_expression": { "id": 3159, @@ -69963,7 +70769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3159, - "is_pure": false + "is_pure": false, + "text": "_walletMintLimit" }, "type_description": { "type_identifier": "t_uint256", @@ -69978,7 +70785,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "walletMintLimit=walletMintLimit+_walletMintLimit;" } ] }, @@ -70097,7 +70905,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetWalletMintLimit(uint256_walletMintLimit)externalonlyOwner{require(_walletMintLimit\u003e0,\"Invalid limit\");walletMintLimit=walletMintLimit+_walletMintLimit;}" }, { "id": 3161, @@ -70166,7 +70975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -70320,7 +71130,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_startTokenId()internalpureoverridereturns(uint256){return0;}" }, { "id": 3173, @@ -70454,14 +71265,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -70505,14 +71318,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2997, - "is_pure": false + "is_pure": false, + "text": "paymentToken" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x4033a4F1835C5237240C1f95CB518c30312375Cb)" - } + }, + "text": "paymentToken.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -70537,7 +71352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3004, - "is_pure": false + "is_pure": false, + "text": "mintPrice" }, "type_description": { "type_identifier": "t_bool", @@ -70570,7 +71386,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Insufficient NBF balance\"" } ], "expression": { @@ -70591,7 +71408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -70678,7 +71496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2978, - "is_pure": false + "is_pure": false, + "text": "mintList" }, "base_expression": { "id": 3195, @@ -70721,14 +71540,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -70765,7 +71586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -70790,7 +71612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2983, - "is_pure": false + "is_pure": false, + "text": "walletMintLimit" }, "type_description": { "type_identifier": "t_bool", @@ -70823,7 +71646,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Up to 1 mint allowed per wallet\"" } ], "expression": { @@ -70844,7 +71668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -70934,7 +71759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -70961,7 +71787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$", @@ -70986,7 +71813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2975, - "is_pure": false + "is_pure": false, + "text": "collectionSize" }, "type_description": { "type_identifier": "t_bool", @@ -71019,7 +71847,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"EXCEED_COL_SIZE\"" } ], "expression": { @@ -71040,7 +71869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -71090,7 +71920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3004, - "is_pure": false + "is_pure": false, + "text": "mintPrice" }, "right_expression": { "id": 3212, @@ -71112,7 +71943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -71224,14 +72056,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 3221, @@ -71257,7 +72091,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "deadAddress" }, { "id": 3222, @@ -71287,7 +72122,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "mintPrice" } ], "expression": { @@ -71331,14 +72167,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2997, - "is_pure": false + "is_pure": false, + "text": "paymentToken" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x4033a4F1835C5237240C1f95CB518c30312375Cb)" - } + }, + "text": "paymentToken.transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$", @@ -71371,7 +72209,8 @@ "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$", "type_string": "function(address,function(address),function(address,function(address)))" } - ] + ], + "text": "\"Payment failed\"" } ], "expression": { @@ -71392,7 +72231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$_t_string_literal$", @@ -71454,7 +72294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2978, - "is_pure": false + "is_pure": false, + "text": "mintList" }, "base_expression": { "id": 3228, @@ -71497,14 +72338,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -71541,7 +72384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -71551,7 +72395,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "mintList[msg.sender]+=1;" }, { "id": 3231, @@ -71617,14 +72462,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 3235, @@ -71652,7 +72499,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "1" } ], "expression": { @@ -71673,7 +72521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeMint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_1_by_1$", @@ -71721,7 +72570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2993, - "is_pure": false + "is_pure": false, + "text": "currentId" }, "right_expression": { "id": 3239, @@ -71743,7 +72593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -71753,7 +72604,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "currentId+=1;" } ] }, @@ -71827,7 +72679,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionmint()externalpayablecallerIsUser{require(paymentToken.balanceOf(msg.sender)\u003e=mintPrice,\"Insufficient NBF balance\");require(mintList[msg.sender]+1\u003c=walletMintLimit,\"Up to 1 mint allowed per wallet\");require(totalSupply()+1\u003ccollectionSize,\"EXCEED_COL_SIZE\");if(mintPrice\u003e0){require(paymentToken.transferFrom(msg.sender,deadAddress,mintPrice),\"Payment failed\");}mintList[msg.sender]+=1;_safeMint(msg.sender,1);currentId+=1;}" }, { "id": 3241, @@ -71919,7 +72772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3254, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 3255, @@ -71941,7 +72795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -71974,7 +72829,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Invalid quantity\"" } ], "expression": { @@ -71995,7 +72851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -72085,7 +72942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -72110,7 +72968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3263, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_function_$", @@ -72135,7 +72994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2975, - "is_pure": false + "is_pure": false, + "text": "collectionSize" }, "type_description": { "type_identifier": "t_bool", @@ -72168,7 +73028,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"EXCEED_COL_SIZE\"" } ], "expression": { @@ -72189,7 +73050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -72237,7 +73099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2993, - "is_pure": false + "is_pure": false, + "text": "currentId" }, "right_expression": { "id": 3269, @@ -72257,7 +73120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3269, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -72267,7 +73131,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "currentId+=quantity;" }, { "id": 3270, @@ -72310,7 +73175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3272, - "is_pure": false + "is_pure": false, + "text": "toAdd" }, { "id": 3273, @@ -72336,7 +73202,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "quantity" } ], "expression": { @@ -72357,7 +73224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeMint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -72519,13 +73387,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "airdrop(address, uint256)", - "signature": "7efa78ea", + "signature_raw": "airdrop(address,uint256)", + "signature": "8ba4cc3c", "scope": 2963, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionairdrop(addresstoAdd,uint256quantity)externalpayableonlyOwner{require(quantity\u003e0,\"Invalid quantity\");require(totalSupply()+quantity\u003c=collectionSize,\"EXCEED_COL_SIZE\");currentId+=quantity;_safeMint(toAdd,quantity);}" }, { "id": 3275, @@ -72594,7 +73463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_pause" }, "type_description": { "type_identifier": "t_function_$", @@ -72673,7 +73543,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionpause()externalonlyOwner{_pause();}" }, { "id": 3284, @@ -72742,7 +73613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_unpause" }, "type_description": { "type_identifier": "t_function_$", @@ -72821,7 +73693,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionunpause()externalonlyOwner{_unpause();}" }, { "id": 3293, @@ -72916,7 +73789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2975, - "is_pure": false + "is_pure": false, + "text": "collectionSize" }, "right_expression": { "id": 3305, @@ -72950,7 +73824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -73097,7 +73972,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionremaining()publicviewreturns(uint256){unchecked{returncollectionSize-totalSupply();}}" }, { "id": 3308, @@ -73164,7 +74040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2993, - "is_pure": false + "is_pure": false, + "text": "currentId" } } ] @@ -73299,7 +74176,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionnowMintTokenId()publicviewreturns(uint256){returncurrentId;}" }, { "id": 3319, @@ -73377,7 +74255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2978, - "is_pure": false + "is_pure": false, + "text": "mintList" }, "base_expression": { "id": 3330, @@ -73420,14 +74299,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -73577,7 +74458,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functioncheckMint()publicviewreturns(uint256){returnmintList[msg.sender];}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/CRAB.solgo.ast.proto.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/CRAB.solgo.ast.proto.json index d344af9e..18de25d2 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/CRAB.solgo.ast.proto.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/CRAB.solgo.ast.proto.json @@ -3824,6 +3824,7 @@ "parentIndex": "3524", "start": "22277" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22295", @@ -3912,6 +3913,7 @@ "parentIndex": "3528", "start": "22536" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22554", @@ -4000,6 +4002,7 @@ "parentIndex": "3532", "start": "22647" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22665", @@ -4088,6 +4091,7 @@ "parentIndex": "3536", "start": "22753" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22788", @@ -4720,6 +4724,7 @@ "parentIndex": "3567", "start": "39441" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "39459", @@ -5645,6 +5650,7 @@ "parentIndex": "3613", "start": "56730" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "56748", @@ -10266,7 +10272,7 @@ } }, "scope": "289", - "signature": "b440c739", + "signature": "63e1cbea", "src": { "column": "4", "end": "2182", @@ -10734,7 +10740,7 @@ } }, "scope": "487", - "signature": "5d3911ee", + "signature": "3fb82028", "src": { "column": "4", "end": "3562", @@ -11688,7 +11694,7 @@ } }, "scope": "487", - "signature": "f5c589a1", + "signature": "90747bea", "src": { "column": "4", "end": "4575", @@ -12712,7 +12718,7 @@ } }, "scope": "487", - "signature": "8ff8f318", + "signature": "41ed615b", "src": { "column": "4", "end": "4799", @@ -18820,7 +18826,7 @@ } }, "scope": "817", - "signature": "a2077142", + "signature": "b88d4fde", "src": { "column": "4", "end": "15081", @@ -19007,7 +19013,7 @@ } }, "scope": "817", - "signature": "ab790ba3", + "signature": "42842e0e", "src": { "column": "4", "end": "15890", @@ -19194,7 +19200,7 @@ } }, "scope": "817", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "16509", @@ -19342,7 +19348,7 @@ } }, "scope": "817", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "17027", @@ -19490,7 +19496,7 @@ } }, "scope": "817", - "signature": "989579aa", + "signature": "a22cb465", "src": { "column": "4", "end": "17417", @@ -19828,7 +19834,7 @@ } }, "scope": "817", - "signature": "3a95ab7f", + "signature": "e985e9c5", "src": { "column": "4", "end": "17883", @@ -20804,7 +20810,7 @@ } }, "scope": "1052", - "signature": "acb7d9e3", + "signature": "150b7a02", "src": { "column": "4", "end": "19221", @@ -22567,6 +22573,7 @@ "parentIndex": "1175", "start": "22277" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22295", @@ -22657,6 +22664,7 @@ "parentIndex": "1180", "start": "22536" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22554", @@ -22747,6 +22755,7 @@ "parentIndex": "1185", "start": "22647" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22665", @@ -22837,6 +22846,7 @@ "parentIndex": "1190", "start": "22753" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22788", @@ -27308,7 +27318,7 @@ } }, "scope": "1076", - "signature": "b079a9fd", + "signature": "4ff8c452", "src": { "column": "4", "end": "26708", @@ -30774,7 +30784,7 @@ } }, "scope": "1076", - "signature": "f68353d4", + "signature": "bf460657", "src": { "column": "4", "end": "29736", @@ -33658,7 +33668,7 @@ } }, "scope": "1076", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "31823", @@ -34619,7 +34629,7 @@ } }, "scope": "1076", - "signature": "989579aa", + "signature": "a22cb465", "src": { "column": "4", "end": "32454", @@ -34971,7 +34981,7 @@ } }, "scope": "1076", - "signature": "3a95ab7f", + "signature": "e985e9c5", "src": { "column": "4", "end": "32682", @@ -35357,7 +35367,7 @@ } }, "scope": "1076", - "signature": "ab790ba3", + "signature": "42842e0e", "src": { "column": "4", "end": "32927", @@ -35879,7 +35889,7 @@ } }, "scope": "1076", - "signature": "a2077142", + "signature": "b88d4fde", "src": { "column": "4", "end": "33381", @@ -36700,7 +36710,7 @@ } }, "scope": "1076", - "signature": "df7f3eab", + "signature": "b3e1c718", "src": { "column": "4", "end": "34076", @@ -37885,7 +37895,7 @@ } }, "scope": "1076", - "signature": "5fa2bef5", + "signature": "6a4f832b", "src": { "column": "4", "end": "35138", @@ -40261,7 +40271,7 @@ } }, "scope": "1076", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "36891", @@ -42537,7 +42547,7 @@ } }, "scope": "1076", - "signature": "5681ff49", + "signature": "4908d13b", "src": { "column": "4", "end": "39164", @@ -42631,6 +42641,7 @@ "parentIndex": "2194", "start": "39441" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "39459", @@ -46040,7 +46051,7 @@ } }, "scope": "1076", - "signature": "deb31934", + "signature": "be8825c4", "src": { "column": "4", "end": "40649", @@ -48945,7 +48956,7 @@ } }, "scope": "1076", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "43630", @@ -52374,7 +52385,7 @@ } }, "scope": "1076", - "signature": "1e912a24", + "signature": "834a9477", "src": { "column": "4", "end": "47004", @@ -53417,7 +53428,7 @@ } }, "scope": "1076", - "signature": "ba0e980b", + "signature": "d88343e2", "src": { "column": "4", "end": "48182", @@ -54346,7 +54357,7 @@ } }, "scope": "1076", - "signature": "49824576", + "signature": "bd3cdd6d", "src": { "column": "4", "end": "48789", @@ -55056,7 +55067,7 @@ } }, "scope": "1076", - "signature": "f8e97915", + "signature": "5afe32e4", "src": { "column": "4", "end": "49237", @@ -55284,7 +55295,7 @@ } }, "scope": "1076", - "signature": "7f330930", + "signature": "fc37bbd3", "src": { "column": "4", "end": "49940", @@ -55512,7 +55523,7 @@ } }, "scope": "1076", - "signature": "a1b07ca8", + "signature": "ef435773", "src": { "column": "4", "end": "50732", @@ -55740,7 +55751,7 @@ } }, "scope": "1076", - "signature": "88f7b2f1", + "signature": "08c018f7", "src": { "column": "4", "end": "51526", @@ -68176,7 +68187,7 @@ } }, "scope": "2870", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "55067", @@ -68364,7 +68375,7 @@ } }, "scope": "2870", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "55425", @@ -68551,7 +68562,7 @@ } }, "scope": "2870", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "56152", @@ -68777,7 +68788,7 @@ } }, "scope": "2870", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "56538", @@ -69111,6 +69122,7 @@ "parentIndex": "2979", "start": "56730" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "56748", @@ -74998,7 +75010,7 @@ } }, "scope": "2963", - "signature": "7efa78ea", + "signature": "8ba4cc3c", "src": { "column": "4", "end": "59525", diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Context.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Context.solgo.ast.json index 459ce8c4..a7d242c4 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Context.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 602, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/ERC721A.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/ERC721A.solgo.ast.json index aaf3a85e..8bbc2c2a 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/ERC721A.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/ERC721A.solgo.ast.json @@ -194,7 +194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1087, @@ -216,7 +217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } ], "type_descriptions": [ @@ -260,7 +262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_64_by_1$", @@ -328,7 +331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } }, { @@ -391,7 +395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" } }, { @@ -454,7 +459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "192" } }, { @@ -558,7 +564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1109, @@ -580,7 +587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "192" } ], "type_descriptions": [ @@ -624,7 +632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_192_by_1$", @@ -692,7 +701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "160" } }, { @@ -768,7 +778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1121, @@ -790,7 +801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "224" } ], "type_descriptions": [ @@ -869,7 +881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "225" } }, { @@ -945,7 +958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1132, @@ -967,7 +981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "225" } ], "type_descriptions": [ @@ -1046,7 +1061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "232" } }, { @@ -1150,7 +1166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1145, @@ -1172,7 +1189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "232" } ], "type_descriptions": [ @@ -1216,7 +1234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_232_by_1$", @@ -1325,7 +1344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 1155, @@ -1347,7 +1367,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "160" } ], "type_descriptions": [ @@ -1391,7 +1412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_160_by_1$", @@ -1459,7 +1481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5000" } }, { @@ -1654,7 +1677,7 @@ "mutability": 1, "type_name": { "id": 1175, - "node_type": 0, + "node_type": 53, "src": { "line": 722, "column": 4, @@ -1747,7 +1770,7 @@ "mutability": 1, "type_name": { "id": 1180, - "node_type": 0, + "node_type": 53, "src": { "line": 731, "column": 4, @@ -1840,7 +1863,7 @@ "mutability": 1, "type_name": { "id": 1185, - "node_type": 0, + "node_type": 53, "src": { "line": 734, "column": 4, @@ -1933,7 +1956,7 @@ "mutability": 1, "type_name": { "id": 1190, - "node_type": 0, + "node_type": 53, "src": { "line": 737, "column": 4, @@ -2242,7 +2265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1168, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 1208, @@ -2262,7 +2286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1208, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -2272,7 +2297,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 1209, @@ -2315,7 +2341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1171, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 1212, @@ -2335,7 +2362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1212, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -2345,7 +2373,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" }, { "id": 1213, @@ -2388,7 +2417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 1216, @@ -2422,7 +2452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -2437,7 +2468,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_currentIndex=_startTokenId();" } ] } @@ -2509,7 +2541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -2644,7 +2677,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_startTokenId()internalviewvirtualreturns(uint256){return0;}" }, { "id": 1230, @@ -2711,7 +2745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" } } ] @@ -2846,7 +2881,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_nextTokenId()internalviewreturns(uint256){return_currentIndex;}" }, { "id": 1241, @@ -2955,7 +2991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 1255, @@ -2975,7 +3012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "_burnCounter" }, "type_description": { "type_identifier": "t_uint256", @@ -3014,7 +3052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -3180,7 +3219,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewoverridereturns(uint256){unchecked{return_currentIndex-_burnCounter-_startTokenId();}}" }, { "id": 1259, @@ -3275,7 +3315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 1271, @@ -3309,7 +3350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -3456,7 +3498,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_totalMinted()internalviewreturns(uint256){unchecked{return_currentIndex-_startTokenId();}}" }, { "id": 1274, @@ -3523,7 +3566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "_burnCounter" } } ] @@ -3658,7 +3702,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_totalBurned()internalviewreturns(uint256){return_burnCounter;}" }, { "id": 1285, @@ -3767,7 +3812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1298, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1299, @@ -3789,7 +3835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x01ffc9a7" }, "type_description": { "type_identifier": "t_bool", @@ -3828,7 +3875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1301, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1302, @@ -3850,7 +3898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x80ac58cd" }, "type_description": { "type_identifier": "t_bool", @@ -3894,7 +3943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1304, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1305, @@ -3916,7 +3966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x5b5e139f" }, "type_description": { "type_identifier": "t_bool", @@ -4080,7 +4131,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==0x01ffc9a7||interfaceId==0x80ac58cd||interfaceId==0x5b5e139f;}" }, { "id": 1307, @@ -4160,7 +4212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1318, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1319, @@ -4201,7 +4254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -4247,7 +4301,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -4327,7 +4382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1329, @@ -4347,7 +4403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1329, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -4382,7 +4439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1080, - "is_pure": false + "is_pure": false, + "text": "BITMASK_ADDRESS_DATA_ENTRY" } ], "type_descriptions": [ @@ -4549,7 +4607,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)publicviewoverridereturns(uint256){if(owner==address(0))revertBalanceQueryForZeroAddress();return_packedAddressData[owner]\u0026BITMASK_ADDRESS_DATA_ENTRY;}" }, { "id": 1332, @@ -4666,7 +4725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1348, @@ -4686,7 +4746,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1348, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -4721,7 +4782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1090, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_MINTED" } ], "type_descriptions": [ @@ -4763,7 +4825,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1080, - "is_pure": false + "is_pure": false, + "text": "BITMASK_ADDRESS_DATA_ENTRY" } ], "type_descriptions": [ @@ -4911,7 +4974,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_numberMinted(addressowner)internalviewreturns(uint256){return(_packedAddressData[owner]\u003e\u003eBITPOS_NUMBER_MINTED)\u0026BITMASK_ADDRESS_DATA_ENTRY;}" }, { "id": 1352, @@ -5028,7 +5092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1368, @@ -5048,7 +5113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1368, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -5083,7 +5149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_BURNED" } ], "type_descriptions": [ @@ -5125,7 +5192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1080, - "is_pure": false + "is_pure": false, + "text": "BITMASK_ADDRESS_DATA_ENTRY" } ], "type_descriptions": [ @@ -5273,7 +5341,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_numberBurned(addressowner)internalviewreturns(uint256){return(_packedAddressData[owner]\u003e\u003eBITPOS_NUMBER_BURNED)\u0026BITMASK_ADDRESS_DATA_ENTRY;}" }, { "id": 1372, @@ -5383,7 +5452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1388, @@ -5403,7 +5473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1388, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -5438,7 +5509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1098, - "is_pure": false + "is_pure": false, + "text": "BITPOS_AUX" } ], "type_descriptions": [ @@ -5499,7 +5571,8 @@ "type_identifier": "t_uint64", "type_string": "uint64" } - ] + ], + "text": "uint64" }, "type_description": { "type_identifier": "t_function_$_t_rational_192_by_1$", @@ -5640,7 +5713,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAux(addressowner)internalviewreturns(uint64){returnuint64(_packedAddressData[owner]\u003e\u003eBITPOS_AUX);}" }, { "id": 1391, @@ -5766,7 +5840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1404, @@ -5786,7 +5861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1404, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -5988,7 +6064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1399, - "is_pure": false + "is_pure": false, + "text": "packed" }, "right_expression": { "id": 1418, @@ -6046,7 +6123,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1399, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 1423, @@ -6066,7 +6144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1102, - "is_pure": false + "is_pure": false, + "text": "BITMASK_AUX_COMPLEMENT" } ], "type_descriptions": [ @@ -6131,7 +6210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1405, - "is_pure": false + "is_pure": false, + "text": "auxCasted" }, { "id": 1428, @@ -6151,7 +6231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1098, - "is_pure": false + "is_pure": false, + "text": "BITPOS_AUX" } ], "type_descriptions": [ @@ -6195,7 +6276,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "packed=(packed\u0026BITMASK_AUX_COMPLEMENT)|(auxCasted\u003c\u003cBITPOS_AUX);" }, { "id": 1429, @@ -6249,7 +6331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 1433, @@ -6269,7 +6352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1433, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -6304,7 +6388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1399, - "is_pure": false + "is_pure": false, + "text": "packed" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -6314,7 +6399,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_packedAddressData[owner]=packed;" } ] }, @@ -6441,13 +6527,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setAux(address, uint64)", - "signature": "b079a9fd", + "signature_raw": "_setAux(address,uint64)", + "signature": "4ff8c452", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint64$", "type_string": "function(address,uint64)" - } + }, + "text": "function_setAux(addressowner,uint64aux)internal{uint256packed=_packedAddressData[owner];uint256auxCasted;assembly{auxCasted:=aux}packed=(packed\u0026BITMASK_AUX_COMPLEMENT)|(auxCasted\u003c\u003cBITPOS_AUX);_packedAddressData[owner]=packed;}" }, { "id": 1436, @@ -6562,7 +6649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1447, - "is_pure": false + "is_pure": false, + "text": "tokenId" } }, { @@ -6595,7 +6683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 837, - "is_pure": false + "is_pure": false, + "text": "OwnerQueryForNonexistentToken" } }, { @@ -6669,7 +6758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -6694,7 +6784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1444, - "is_pure": false + "is_pure": false, + "text": "curr" }, "type_description": { "type_identifier": "t_bool", @@ -6850,7 +6941,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_packedOwnershipOf(uint256tokenId)privateviewreturns(uint256){uint256curr=tokenId;unchecked{if(_startTokenId()\u003c=curr)if(curr\u003c_currentIndex){uint256packed=_packedOwnerships[curr];if(packed\u0026BITMASK_BURNED==0){while(packed==0){packed=_packedOwnerships[--curr];}returnpacked;}}}revertOwnerQueryForNonexistentToken();}" }, { "id": 1458, @@ -6951,14 +7043,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1463, - "is_pure": false + "is_pure": false, + "text": "ownership" }, "member_name": "addr", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.addr" }, "right_expression": { "id": 1471, @@ -7016,7 +7110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1477, - "is_pure": false + "is_pure": false, + "text": "packed" } ], "expression": { @@ -7061,7 +7156,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -7112,7 +7208,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -7127,7 +7224,8 @@ "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.addr=address(uint160(packed));" }, { "id": 1478, @@ -7193,14 +7291,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1463, - "is_pure": false + "is_pure": false, + "text": "ownership" }, "member_name": "startTimestamp", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.startTimestamp" }, "right_expression": { "id": 1482, @@ -7252,7 +7352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1487, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 1488, @@ -7272,7 +7373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1112, - "is_pure": false + "is_pure": false, + "text": "BITPOS_START_TIMESTAMP" } ], "type_descriptions": [ @@ -7333,7 +7435,8 @@ "type_identifier": "t_uint64", "type_string": "uint64" } - ] + ], + "text": "uint64" }, "type_description": { "type_identifier": "t_function_$_t_rational_160_by_1$", @@ -7348,7 +7451,8 @@ "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.startTimestamp=uint64(packed\u003e\u003eBITPOS_START_TIMESTAMP);" }, { "id": 1489, @@ -7414,14 +7518,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1463, - "is_pure": false + "is_pure": false, + "text": "ownership" }, "member_name": "burned", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.burned" }, "right_expression": { "id": 1493, @@ -7467,7 +7573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 1497, @@ -7487,7 +7594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1116, - "is_pure": false + "is_pure": false, + "text": "BITMASK_BURNED" } ], "type_descriptions": [ @@ -7521,7 +7629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7536,7 +7645,8 @@ "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.burned=packed\u0026BITMASK_BURNED!=0;" }, { "id": 1499, @@ -7602,14 +7712,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1463, - "is_pure": false + "is_pure": false, + "text": "ownership" }, "member_name": "extraData", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.extraData" }, "right_expression": { "id": 1503, @@ -7661,7 +7773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1508, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 1509, @@ -7681,7 +7794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1134, - "is_pure": false + "is_pure": false, + "text": "BITPOS_EXTRA_DATA" } ], "type_descriptions": [ @@ -7742,7 +7856,8 @@ "type_identifier": "t_uint24", "type_string": "uint24" } - ] + ], + "text": "uint24" }, "type_description": { "type_identifier": "t_function_$_t_rational_232_by_1$", @@ -7757,7 +7872,8 @@ "type_description": { "type_identifier": "t_struct$_IERC721A_TokenOwnership_$861", "type_string": "struct IERC721A.TokenOwnership" - } + }, + "text": "ownership.extraData=uint24(packed\u003e\u003eBITPOS_EXTRA_DATA);" } ] }, @@ -7912,7 +8028,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_unpackedOwnership(uint256packed)privatepurereturns(TokenOwnershipmemoryownership){ownership.addr=address(uint160(packed));ownership.startTimestamp=uint64(packed\u003e\u003eBITPOS_START_TIMESTAMP);ownership.burned=packed\u0026BITMASK_BURNED!=0;ownership.extraData=uint24(packed\u003e\u003eBITPOS_EXTRA_DATA);}" }, { "id": 1511, @@ -8009,7 +8126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 1525, @@ -8029,7 +8147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1525, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -8065,7 +8184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_unpackedOwnership" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", @@ -8226,7 +8346,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_ownershipAt(uint256index)internalviewreturns(TokenOwnershipmemory){return_unpackedOwnership(_packedOwnerships[index]);}" }, { "id": 1527, @@ -8317,7 +8438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 1537, @@ -8337,7 +8459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1537, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -8374,7 +8497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8447,7 +8571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 1544, @@ -8467,7 +8592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1544, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -8521,7 +8647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1547, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -8542,7 +8669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -8557,7 +8685,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[index]=_packedOwnershipOf(index);" } ] } @@ -8649,7 +8778,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_initializeOwnershipAt(uint256index)internal{if(_packedOwnerships[index]==0){_packedOwnerships[index]=_packedOwnershipOf(index);}}" }, { "id": 1549, @@ -8754,7 +8884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1563, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -8775,7 +8906,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -8801,7 +8933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_unpackedOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -8962,7 +9095,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_ownershipOf(uint256tokenId)internalviewreturns(TokenOwnershipmemory){return_unpackedOwnership(_packedOwnershipOf(tokenId));}" }, { "id": 1565, @@ -9779,13 +9913,14 @@ } ] }, - "signature_raw": "_packOwnershipData(address, uint256)", - "signature": "f68353d4", + "signature_raw": "_packOwnershipData(address,uint256)", + "signature": "bf460657", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_packOwnershipData(addressowner,uint256flags)privateviewreturns(uint256result){assembly{owner:=and(owner,BITMASK_ADDRESS)result:=or(owner,or(shl(BITPOS_START_TIMESTAMP,timestamp()),flags))}}" }, { "id": 1600, @@ -9909,7 +10044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1618, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -9930,7 +10066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -9980,7 +10117,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -10031,7 +10169,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -10191,7 +10330,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)publicviewoverridereturns(address){returnaddress(uint160(_packedOwnershipOf(tokenId)));}" }, { "id": 1620, @@ -10258,7 +10398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1168, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -10412,7 +10553,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 1632, @@ -10479,7 +10621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1171, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -10633,7 +10776,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 1644, @@ -10736,7 +10880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -10757,7 +10902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -10876,7 +11022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_baseURI" }, "type_description": { "type_identifier": "t_function_$", @@ -10982,7 +11129,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "baseURI" } ], "expression": { @@ -11027,7 +11175,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -11039,7 +11188,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "bytes(baseURI).length" }, "right_expression": { "id": 1673, @@ -11061,7 +11211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -11128,7 +11279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "baseURI" }, { "id": 1681, @@ -11167,7 +11319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1683, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -11188,7 +11341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_toString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -11237,14 +11391,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$_t_uint256$", @@ -11294,7 +11450,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string$_t_function_$_t_uint256$", @@ -11321,7 +11478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "''" } ], "type_descriptions": [ @@ -11492,7 +11650,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)publicviewvirtualoverridereturns(stringmemory){if(!_exists(tokenId))revertURIQueryForNonexistentToken();stringmemorybaseURI=_baseURI();returnbytes(baseURI).length!=0?string(abi.encodePacked(baseURI,_toString(tokenId))):'';}" }, { "id": 1686, @@ -11561,7 +11720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "''" } } ] @@ -11696,7 +11856,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "function_baseURI()internalviewvirtualreturns(stringmemory){return'';}" }, { "id": 1697, @@ -12041,7 +12202,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_nextInitializedFlag(uint256quantity)privatepurereturns(uint256result){assembly{result:=shl(BITPOS_NEXT_INITIALIZED,eq(quantity,1))}}" }, { "id": 1719, @@ -12176,7 +12338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1733, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -12197,7 +12360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -12262,7 +12426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -12287,7 +12452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1728, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -12361,7 +12527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1744, @@ -12381,7 +12548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1744, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -12416,7 +12584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1745, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -12426,7 +12595,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_tokenApprovals[tokenId]=to;" }, { "id": 1746, @@ -12458,7 +12628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1728, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1748, @@ -12478,7 +12649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1748, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1749, @@ -12498,7 +12670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1749, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -12519,7 +12692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 898, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -12666,13 +12840,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)publicoverride{addressowner=ownerOf(tokenId);if(_msgSenderERC721A()!=owner)if(!isApprovedForAll(owner,_msgSenderERC721A())){revertApprovalCallerNotOwnerNorApproved();}_tokenApprovals[tokenId]=to;emitApproval(owner,to,tokenId);}" }, { "id": 1752, @@ -12775,7 +12950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1765, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -12796,7 +12972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -12864,7 +13041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1770, @@ -12884,7 +13062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1770, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -13054,7 +13233,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)publicviewoverridereturns(address){if(!_exists(tokenId))revertApprovalQueryForNonexistentToken();return_tokenApprovals[tokenId];}" }, { "id": 1772, @@ -13134,7 +13314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1783, - "is_pure": false + "is_pure": false, + "text": "operator" }, "right_expression": { "id": 1784, @@ -13168,7 +13349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -13258,7 +13440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1792, @@ -13292,7 +13475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -13332,7 +13516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1794, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -13367,7 +13552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1795, - "is_pure": false + "is_pure": false, + "text": "approved" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_function_$]$_t_address]$", @@ -13377,7 +13563,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_function_$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003ebool)):function()]:address]" - } + }, + "text": "_operatorApprovals[_msgSenderERC721A()][operator]=approved;" }, { "id": 1796, @@ -13423,7 +13610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -13448,7 +13636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1799, - "is_pure": false + "is_pure": false, + "text": "operator" }, { "id": 1800, @@ -13468,7 +13657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1800, - "is_pure": false + "is_pure": false, + "text": "approved" } ], "expression": { @@ -13489,7 +13679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 907, - "is_pure": false + "is_pure": false, + "text": "ApprovalForAll" } } ] @@ -13636,13 +13827,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,boolapproved)publicvirtualoverride{if(operator==_msgSenderERC721A())revertApproveToCaller();_operatorApprovals[_msgSenderERC721A()][operator]=approved;emitApprovalForAll(_msgSenderERC721A(),operator,approved);}" }, { "id": 1803, @@ -13731,7 +13923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1818, @@ -13751,7 +13944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1818, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -13786,7 +13980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1819, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -13994,13 +14189,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)publicviewvirtualoverridereturns(bool){return_operatorApprovals[owner][operator];}" }, { "id": 1821, @@ -14086,7 +14282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1834, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1835, @@ -14112,7 +14309,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1836, @@ -14142,7 +14340,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1837, @@ -14178,7 +14377,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "''" } ], "expression": { @@ -14199,7 +14399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_string_literal$", @@ -14394,13 +14595,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{safeTransferFrom(from,to,tokenId,'');}" }, { "id": 1839, @@ -14482,7 +14684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1854, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1855, @@ -14508,7 +14711,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1856, @@ -14538,7 +14742,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -14559,7 +14764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -14655,21 +14861,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1861, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.code.length" }, "right_expression": { "id": 1862, @@ -14691,7 +14900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -14944,13 +15154,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytesmemory_data)publicvirtualoverride{transferFrom(from,to,tokenId);if(to.code.length!=0)if(!_checkContractOnERC721Received(from,to,tokenId,_data)){revertTransferToNonERC721ReceiverImplementer();}}" }, { "id": 1865, @@ -15069,7 +15280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_startTokenId" }, "type_description": { "type_identifier": "t_function_$", @@ -15094,7 +15306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1881, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_description": { "type_identifier": "t_bool", @@ -15133,7 +15346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1883, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "right_expression": { "id": 1884, @@ -15153,7 +15367,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "type_description": { "type_identifier": "t_bool", @@ -15227,7 +15442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 1890, @@ -15247,7 +15463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1890, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -15282,7 +15499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1116, - "is_pure": false + "is_pure": false, + "text": "BITMASK_BURNED" } ], "type_descriptions": [ @@ -15316,7 +15534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -15468,7 +15687,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_exists(uint256tokenId)internalviewreturns(bool){return_startTokenId()\u003c=tokenId\u0026\u0026tokenId\u003c_currentIndex\u0026\u0026_packedOwnerships[tokenId]\u0026BITMASK_BURNED==0;}" }, { "id": 1894, @@ -15550,7 +15770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1905, @@ -15576,7 +15797,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "quantity" }, { "id": 1906, @@ -15608,7 +15830,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "''" } ], "expression": { @@ -15629,7 +15852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeMint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_string_literal$", @@ -15761,13 +15985,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256)", - "signature": "df7f3eab", + "signature_raw": "_safeMint(address,uint256)", + "signature": "b3e1c718", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_safeMint(addressto,uint256quantity)internal{_safeMint(to,quantity,'');}" }, { "id": 1908, @@ -15845,7 +16070,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1920, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1921, @@ -15871,7 +16097,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "quantity" } ], "expression": { @@ -15892,7 +16119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -16002,21 +16230,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1927, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.code.length" }, "right_expression": { "id": 1928, @@ -16038,7 +16269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -16137,7 +16369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" } }, { @@ -16232,7 +16465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1930, - "is_pure": false + "is_pure": false, + "text": "end" }, "right_expression": { "id": 1939, @@ -16252,7 +16486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1939, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_uint256", @@ -16303,7 +16538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1934, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 1943, @@ -16323,7 +16559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1930, - "is_pure": false + "is_pure": false, + "text": "end" }, "type_description": { "type_identifier": "t_bool", @@ -16443,7 +16680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -16489,7 +16727,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -16520,7 +16759,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1954, @@ -16553,7 +16793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1513, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_description": { "type_identifier": "t_uint256", @@ -16597,7 +16838,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -16618,7 +16860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkContractOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$_t_function_$_t_function_$_t_rational_0_by_1$_t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -16674,7 +16917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 846, - "is_pure": false + "is_pure": false, + "text": "TransferToNonERC721ReceiverImplementer" } } ] @@ -16726,7 +16970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 1963, @@ -16746,7 +16991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1930, - "is_pure": false + "is_pure": false, + "text": "end" }, "type_description": { "type_identifier": "t_bool", @@ -16941,13 +17187,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256, bytes)", - "signature": "5fa2bef5", + "signature_raw": "_safeMint(address,uint256,bytes)", + "signature": "6a4f832b", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,uint256,bytes)" - } + }, + "text": "function_safeMint(addressto,uint256quantity,bytesmemory_data)internal{_mint(to,quantity);unchecked{if(to.code.length!=0){uint256end=_currentIndex;uint256index=end-quantity;do{if(!_checkContractOnERC721Received(address(0),to,index++,_data)){revertTransferToNonERC721ReceiverImplementer();}}while(index\u003cend);if(_currentIndex!=end)revert();}}}" }, { "id": 1966, @@ -17062,7 +17309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" } }, { @@ -17108,7 +17356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1980, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1981, @@ -17149,7 +17398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17195,7 +17445,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17265,7 +17516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1988, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 1989, @@ -17287,7 +17539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17379,7 +17632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17425,7 +17679,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17456,7 +17711,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1998, @@ -17486,7 +17742,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "startTokenId" }, { "id": 1999, @@ -17520,7 +17777,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "quantity" } ], "expression": { @@ -17541,7 +17799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_uint256$", @@ -17618,7 +17877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17664,7 +17924,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17695,7 +17956,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2007, @@ -17725,7 +17987,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "startTokenId" }, { "id": 2008, @@ -17759,7 +18022,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "quantity" } ], "expression": { @@ -17780,7 +18044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_uint256$", @@ -17853,7 +18118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2014, @@ -17873,7 +18139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2014, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -17922,7 +18189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2016, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 2017, @@ -17997,7 +18265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 2024, @@ -18017,7 +18286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1090, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_MINTED" } ], "type_descriptions": [ @@ -18061,7 +18331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -18094,7 +18365,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_packedAddressData[to]+=quantity*((1\u003c\u003cBITPOS_NUMBER_MINTED)|1);" }, { "id": 2026, @@ -18148,7 +18420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2030, @@ -18168,7 +18441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "type_descriptions": [ { @@ -18226,7 +18500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2033, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2035, @@ -18277,7 +18552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2038, - "is_pure": false + "is_pure": false, + "text": "quantity" } ], "expression": { @@ -18298,7 +18574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextInitializedFlag" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -18371,7 +18648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -18417,7 +18695,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18448,7 +18727,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2046, @@ -18480,7 +18760,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -18501,7 +18782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextExtraData" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_rational_0_by_1$", @@ -18539,7 +18821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packOwnershipData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -18554,7 +18837,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[startTokenId]=_packOwnershipData(to,_nextInitializedFlag(quantity)|_nextExtraData(address(0),to,0));" }, { "id": 2047, @@ -18634,7 +18918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" } }, { @@ -18729,7 +19014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "right_expression": { "id": 2056, @@ -18749,7 +19035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2056, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_uint256", @@ -18800,7 +19087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2047, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "right_expression": { "id": 2060, @@ -18820,7 +19108,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2051, - "is_pure": false + "is_pure": false, + "text": "end" }, "type_description": { "type_identifier": "t_bool", @@ -18892,7 +19181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -18938,7 +19228,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18963,7 +19254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 893, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2068, @@ -18996,7 +19288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 895, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_description": { "type_identifier": "t_uint256", @@ -19027,7 +19320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -19074,7 +19368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 2074, @@ -19094,7 +19389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2051, - "is_pure": false + "is_pure": false, + "text": "end" }, "type_description": { "type_identifier": "t_uint256", @@ -19104,7 +19400,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_currentIndex=end;" } ] } @@ -19233,13 +19530,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256quantity)internal{uint256startTokenId=_currentIndex;if(to==address(0))revertMintToZeroAddress();if(quantity==0)revertMintZeroQuantity();_beforeTokenTransfers(address(0),to,startTokenId,quantity);unchecked{_packedAddressData[to]+=quantity*((1\u003c\u003cBITPOS_NUMBER_MINTED)|1);_packedOwnerships[startTokenId]=_packOwnershipData(to,_nextInitializedFlag(quantity)|_nextExtraData(address(0),to,0));uint256tokenId=startTokenId;uint256end=startTokenId+quantity;do{emitTransfer(address(0),to,tokenId++);}while(tokenId\u003cend);_currentIndex=end;}_afterTokenTransfers(address(0),to,startTokenId,quantity);}" }, { "id": 2076, @@ -19354,7 +19652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" } }, { @@ -19400,7 +19699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2090, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 2091, @@ -19441,7 +19741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19487,7 +19788,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19557,7 +19859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2098, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 2099, @@ -19579,7 +19882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -19644,7 +19948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2103, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 2104, @@ -19664,7 +19969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1158, - "is_pure": false + "is_pure": false, + "text": "MAX_MINT_ERC2309_QUANTITY_LIMIT" }, "type_description": { "type_identifier": "t_bool", @@ -19756,7 +20062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19802,7 +20109,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19833,7 +20141,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2113, @@ -19863,7 +20172,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "startTokenId" }, { "id": 2114, @@ -19897,7 +20207,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "quantity" } ], "expression": { @@ -19918,7 +20229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_uint256$", @@ -19995,7 +20307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -20041,7 +20354,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20072,7 +20386,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2122, @@ -20102,7 +20417,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "startTokenId" }, { "id": 2123, @@ -20136,7 +20452,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "quantity" } ], "expression": { @@ -20157,7 +20474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_uint256$", @@ -20230,7 +20548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2129, @@ -20250,7 +20569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2129, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -20299,7 +20619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2131, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "right_expression": { "id": 2132, @@ -20374,7 +20695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 2139, @@ -20394,7 +20716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1090, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_MINTED" } ], "type_descriptions": [ @@ -20438,7 +20761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -20471,7 +20795,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_packedAddressData[to]+=quantity*((1\u003c\u003cBITPOS_NUMBER_MINTED)|1);" }, { "id": 2141, @@ -20525,7 +20850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2145, @@ -20545,7 +20871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "type_descriptions": [ { @@ -20603,7 +20930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2148, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2150, @@ -20654,7 +20982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2153, - "is_pure": false + "is_pure": false, + "text": "quantity" } ], "expression": { @@ -20675,7 +21004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextInitializedFlag" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -20748,7 +21078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -20794,7 +21125,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20825,7 +21157,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 2161, @@ -20857,7 +21190,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -20878,7 +21212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextExtraData" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_rational_0_by_1$", @@ -20916,7 +21251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packOwnershipData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -20931,7 +21267,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[startTokenId]=_packOwnershipData(to,_nextInitializedFlag(quantity)|_nextExtraData(address(0),to,0));" }, { "id": 2162, @@ -20963,7 +21300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, { "id": 2164, @@ -21011,7 +21349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "right_expression": { "id": 2167, @@ -21031,7 +21370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2167, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_uint256", @@ -21058,7 +21398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -21104,7 +21445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -21150,7 +21492,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21175,7 +21518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2173, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -21196,7 +21540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1034, - "is_pure": false + "is_pure": false, + "text": "ConsecutiveTransfer" } }, { @@ -21240,7 +21585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "right_expression": { "id": 2178, @@ -21274,7 +21620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1974, - "is_pure": false + "is_pure": false, + "text": "startTokenId" }, "right_expression": { "id": 2180, @@ -21294,7 +21641,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2180, - "is_pure": false + "is_pure": false, + "text": "quantity" }, "type_description": { "type_identifier": "t_uint256", @@ -21309,7 +21657,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_currentIndex=startTokenId+quantity;" } ] } @@ -21438,13 +21787,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mintERC2309(address, uint256)", - "signature": "5681ff49", + "signature_raw": "_mintERC2309(address,uint256)", + "signature": "4908d13b", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mintERC2309(addressto,uint256quantity)internal{uint256startTokenId=_currentIndex;if(to==address(0))revertMintToZeroAddress();if(quantity==0)revertMintZeroQuantity();if(quantity\u003eMAX_MINT_ERC2309_QUANTITY_LIMIT)revertMintERC2309QuantityExceedsLimit();_beforeTokenTransfers(address(0),to,startTokenId,quantity);unchecked{_packedAddressData[to]+=quantity*((1\u003c\u003cBITPOS_NUMBER_MINTED)|1);_packedOwnerships[startTokenId]=_packOwnershipData(to,_nextInitializedFlag(quantity)|_nextExtraData(address(0),to,0));emitConsecutiveTransfer(startTokenId,startTokenId+quantity-1,address(0),to);_currentIndex=startTokenId+quantity;}_afterTokenTransfers(address(0),to,startTokenId,quantity);}" }, { "id": 2182, @@ -21522,7 +21872,7 @@ "storage_location": 3, "type_name": { "id": 2194, - "node_type": 0, + "node_type": 53, "src": { "line": 1210, "column": 8, @@ -21610,7 +21960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" } }, { @@ -23065,7 +23416,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_getApprovedAddress(uint256tokenId)privateviewreturns(uint256approvedAddressSlot,addressapprovedAddress){mapping(uint256=\u003eaddress)storagetokenApprovalsPtr=_tokenApprovals;assembly{mstore(0x00,tokenId)mstore(0x20,tokenApprovalsPtr.slot)approvedAddressSlot:=keccak256(0x00,0x40)approvedAddress:=sload(approvedAddressSlot)}}" }, { "id": 2224, @@ -24455,13 +24807,14 @@ } ] }, - "signature_raw": "_isOwnerOrApproved(address, address, address)", - "signature": "deb31934", + "signature_raw": "_isOwnerOrApproved(address,address,address)", + "signature": "be8825c4", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$", "type_string": "function(address,address,address)" - } + }, + "text": "function_isOwnerOrApproved(addressapprovedAddress,addressfrom,addressmsgSender)privatepurereturns(boolresult){assembly{from:=and(from,BITMASK_ADDRESS)msgSender:=and(msgSender,BITMASK_ADDRESS)result:=or(eq(msgSender,from),eq(msgSender,approvedAddress))}}" }, { "id": 2267, @@ -24595,7 +24948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2283, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -24616,7 +24970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -24705,7 +25060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" } ], "expression": { @@ -24750,7 +25106,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -24801,7 +25158,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -24826,7 +25184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2293, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_description": { "type_identifier": "t_bool", @@ -24991,7 +25350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2302, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -25012,7 +25372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getApprovedAddress" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -25094,7 +25455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2295, - "is_pure": false + "is_pure": false, + "text": "approvedAddress" }, { "id": 2308, @@ -25120,7 +25482,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "from" }, { "id": 2309, @@ -25154,7 +25517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -25180,7 +25544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isOwnerOrApproved" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$", @@ -25250,7 +25615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2314, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 2315, @@ -25291,7 +25657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -25337,7 +25704,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -25413,7 +25781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2322, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2323, @@ -25439,7 +25808,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2324, @@ -25469,7 +25839,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 2325, @@ -25505,7 +25876,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "1" } ], "expression": { @@ -25526,7 +25898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_rational_1_by_1$", @@ -25701,7 +26074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2337, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2338, @@ -25721,7 +26095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2338, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2339, @@ -25741,7 +26116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2339, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -25762,7 +26138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -25814,7 +26191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2343, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2344, @@ -25840,7 +26218,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2345, @@ -25870,7 +26249,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 2346, @@ -25906,7 +26286,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "1" } ], "expression": { @@ -25927,7 +26308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_rational_1_by_1$", @@ -25995,7 +26377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2351, @@ -26015,7 +26398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2351, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -26084,7 +26468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2355, @@ -26104,7 +26489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2355, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -26178,7 +26564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2360, @@ -26198,7 +26585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2360, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -26256,7 +26644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2363, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2365, @@ -26288,7 +26677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1127, - "is_pure": false + "is_pure": false, + "text": "BITMASK_NEXT_INITIALIZED" }, { "id": 2367, @@ -26335,7 +26725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2369, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2370, @@ -26361,7 +26752,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2371, @@ -26391,7 +26783,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "prevOwnershipPacked" } ], "expression": { @@ -26412,7 +26805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextExtraData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -26450,7 +26844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packOwnershipData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_225_by_1$", @@ -26465,7 +26860,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[tokenId]=_packOwnershipData(to,BITMASK_NEXT_INITIALIZED|_nextExtraData(from,to,prevOwnershipPacked));" }, { "id": 2372, @@ -26522,7 +26918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, { "id": 2377, @@ -26542,7 +26939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1127, - "is_pure": false + "is_pure": false, + "text": "BITMASK_NEXT_INITIALIZED" } ], "type_descriptions": [ @@ -26576,7 +26974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -26689,7 +27088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2384, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "right_expression": { "id": 2385, @@ -26711,7 +27111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -26773,7 +27174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2390, @@ -26793,7 +27195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "type_descriptions": [ { @@ -26830,7 +27233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -26894,7 +27298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "right_expression": { "id": 2396, @@ -26914,7 +27319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "type_description": { "type_identifier": "t_bool", @@ -26987,7 +27393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2402, @@ -27007,7 +27414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "type_descriptions": [ { @@ -27042,7 +27450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", @@ -27052,7 +27461,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[nextTokenId]=prevOwnershipPacked;" } ] } @@ -27253,13 +27663,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{uint256prevOwnershipPacked=_packedOwnershipOf(tokenId);if(address(uint160(prevOwnershipPacked))!=from)revertTransferFromIncorrectOwner();(uint256approvedAddressSlot,addressapprovedAddress)=_getApprovedAddress(tokenId);if(!_isOwnerOrApproved(approvedAddress,from,_msgSenderERC721A()))if(!isApprovedForAll(from,_msgSenderERC721A()))revertTransferCallerNotOwnerNorApproved();if(to==address(0))revertTransferToZeroAddress();_beforeTokenTransfers(from,to,tokenId,1);assembly{ifapprovedAddress{sstore(approvedAddressSlot,0)}}unchecked{--_packedAddressData[from];++_packedAddressData[to];_packedOwnerships[tokenId]=_packOwnershipData(to,BITMASK_NEXT_INITIALIZED|_nextExtraData(from,to,prevOwnershipPacked));if(prevOwnershipPacked\u0026BITMASK_NEXT_INITIALIZED==0){uint256nextTokenId=tokenId+1;if(_packedOwnerships[nextTokenId]==0){if(nextTokenId!=_currentIndex){_packedOwnerships[nextTokenId]=prevOwnershipPacked;}}}}emitTransfer(from,to,tokenId);_afterTokenTransfers(from,to,tokenId,1);}" }, { "id": 2405, @@ -27337,7 +27748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2413, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, { "id": 2414, @@ -27365,7 +27777,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "false" } ], "expression": { @@ -27386,7 +27799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_burn" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bool$", @@ -27480,7 +27894,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_burn(uint256tokenId)internalvirtual{_burn(tokenId,false);}" }, { "id": 2416, @@ -27614,7 +28029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2429, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -27635,7 +28051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packedOwnershipOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -27760,7 +28177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2424, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" } ], "expression": { @@ -27805,7 +28223,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -27856,7 +28275,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -28007,7 +28427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2447, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -28028,7 +28449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getApprovedAddress" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -28065,7 +28487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2449, - "is_pure": false + "is_pure": false, + "text": "approvalCheck" }, "body": { "id": 2450, @@ -28155,7 +28578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "approvedAddress" }, { "id": 2456, @@ -28181,7 +28605,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "from" }, { "id": 2457, @@ -28215,7 +28640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -28241,7 +28667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isOwnerOrApproved" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -28320,7 +28747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2430, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2463, @@ -28361,7 +28789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -28407,7 +28836,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -28442,7 +28872,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" }, { "id": 2468, @@ -28478,7 +28909,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "1" } ], "expression": { @@ -28499,7 +28931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$_t_rational_1_by_1$", @@ -28674,7 +29107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2430, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2481, @@ -28715,7 +29149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -28761,7 +29196,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -28786,7 +29222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2485, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -28807,7 +29244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -28859,7 +29297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2430, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2490, @@ -28900,7 +29339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -28946,7 +29386,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -28981,7 +29422,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" }, { "id": 2495, @@ -29017,7 +29459,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "1" } ], "expression": { @@ -29038,7 +29481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfers" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$_t_rational_1_by_1$", @@ -29111,7 +29555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "_packedAddressData" }, "base_expression": { "id": 2501, @@ -29131,7 +29576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 891, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -29209,7 +29655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 2507, @@ -29229,7 +29676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "BITPOS_NUMBER_BURNED" } ], "type_descriptions": [ @@ -29273,7 +29721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_rational_128_by_1$", @@ -29288,7 +29737,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_packedAddressData[from]+=(1\u003c\u003cBITPOS_NUMBER_BURNED)-1;" }, { "id": 2509, @@ -29342,7 +29792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2513, @@ -29362,7 +29813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2513, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -29420,7 +29872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2518, @@ -29478,7 +29931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1116, - "is_pure": false + "is_pure": false, + "text": "BITMASK_BURNED" }, { "id": 2523, @@ -29498,7 +29952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1127, - "is_pure": false + "is_pure": false, + "text": "BITMASK_NEXT_INITIALIZED" } ], "type_descriptions": [ @@ -29563,7 +30018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2527, @@ -29604,7 +30060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -29650,7 +30107,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -29685,7 +30143,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "prevOwnershipPacked" } ], "expression": { @@ -29706,7 +30165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nextExtraData" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_function_$_t_function_$_t_function_$_t_rational_0_by_1$", @@ -29744,7 +30204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_packOwnershipData" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_rational_224_by_1$", @@ -29759,7 +30220,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[tokenId]=_packOwnershipData(from,(BITMASK_BURNED|BITMASK_NEXT_INITIALIZED)|_nextExtraData(from,address(0),prevOwnershipPacked));" }, { "id": 2532, @@ -29816,7 +30278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, { "id": 2537, @@ -29836,7 +30299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1127, - "is_pure": false + "is_pure": false, + "text": "BITMASK_NEXT_INITIALIZED" } ], "type_descriptions": [ @@ -29870,7 +30334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -29983,7 +30448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2544, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "right_expression": { "id": 2545, @@ -30005,7 +30471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -30067,7 +30534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2550, @@ -30087,7 +30555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2540, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "type_descriptions": [ { @@ -30124,7 +30593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -30188,7 +30658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "right_expression": { "id": 2556, @@ -30208,7 +30679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "_currentIndex" }, "type_description": { "type_identifier": "t_bool", @@ -30281,7 +30753,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2562, @@ -30301,7 +30774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2380, - "is_pure": false + "is_pure": false, + "text": "nextTokenId" }, "type_descriptions": [ { @@ -30336,7 +30810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2278, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", @@ -30346,7 +30821,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[nextTokenId]=prevOwnershipPacked;" } ] } @@ -30404,7 +30880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "_burnCounter" }, "type_description": { "type_identifier": "t_uint256", @@ -30542,13 +31019,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(uint256, bool)", - "signature": "1e912a24", + "signature_raw": "_burn(uint256,bool)", + "signature": "834a9477", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bool$", "type_string": "function(uint256,bool)" - } + }, + "text": "function_burn(uint256tokenId,boolapprovalCheck)internalvirtual{uint256prevOwnershipPacked=_packedOwnershipOf(tokenId);addressfrom=address(uint160(prevOwnershipPacked));(uint256approvedAddressSlot,addressapprovedAddress)=_getApprovedAddress(tokenId);if(approvalCheck){if(!_isOwnerOrApproved(approvedAddress,from,_msgSenderERC721A()))if(!isApprovedForAll(from,_msgSenderERC721A()))revertTransferCallerNotOwnerNorApproved();}_beforeTokenTransfers(from,address(0),tokenId,1);assembly{ifapprovedAddress{sstore(approvedAddressSlot,0)}}unchecked{_packedAddressData[from]+=(1\u003c\u003cBITPOS_NUMBER_BURNED)-1;_packedOwnerships[tokenId]=_packOwnershipData(from,(BITMASK_BURNED|BITMASK_NEXT_INITIALIZED)|_nextExtraData(from,address(0),prevOwnershipPacked));if(prevOwnershipPacked\u0026BITMASK_NEXT_INITIALIZED==0){uint256nextTokenId=tokenId+1;if(_packedOwnerships[nextTokenId]==0){if(nextTokenId!=_currentIndex){_packedOwnerships[nextTokenId]=prevOwnershipPacked;}}}}emitTransfer(from,address(0),tokenId);_afterTokenTransfers(from,address(0),tokenId,1);unchecked{_burnCounter++;}}" }, { "id": 2568, @@ -30654,7 +31132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2615, - "is_pure": false + "is_pure": false, + "text": "retval" }, "right_expression": { "id": 2597, @@ -30739,7 +31218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -30760,7 +31240,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ERC721A__IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -30772,14 +31253,16 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "ERC721A__IERC721Receiver(to).onERC721Received" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "ERC721A__IERC721Receiver(to).onERC721Received.selector" }, "type_description": { "type_identifier": "t_bool", @@ -30913,7 +31396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSenderERC721A" }, "type_description": { "type_identifier": "t_function_$", @@ -30944,7 +31428,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "from" }, { "id": 2591, @@ -30974,7 +31459,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 2592, @@ -31008,7 +31494,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -31071,7 +31558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2587, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -31092,7 +31580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ERC721A__IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31104,7 +31593,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "ERC721A__IERC721Receiver(to).onERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$_t_bytes$", @@ -31203,14 +31693,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2603, - "is_pure": false + "is_pure": false, + "text": "reason" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "reason.length" }, "right_expression": { "id": 2610, @@ -31232,7 +31724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -31281,7 +31774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 846, - "is_pure": false + "is_pure": false, + "text": "TransferToNonERC721ReceiverImplementer" } } ] @@ -31607,13 +32101,14 @@ } ] }, - "signature_raw": "_checkContractOnERC721Received(address, address, uint256, bytes)", - "signature": "ba0e980b", + "signature_raw": "_checkContractOnERC721Received(address,address,uint256,bytes)", + "signature": "d88343e2", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_checkContractOnERC721Received(addressfrom,addressto,uint256tokenId,bytesmemory_data)privatereturns(bool){tryERC721A__IERC721Receiver(to).onERC721Received(_msgSenderERC721A(),from,tokenId,_data)returns(bytes4retval){returnretval==ERC721A__IERC721Receiver(to).onERC721Received.selector;}catch(bytesmemoryreason){if(reason.length==0){revertTransferToNonERC721ReceiverImplementer();}else{assembly{revert(add(32,reason),mload(reason))}}}}" }, { "id": 2618, @@ -31739,7 +32234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2631, @@ -31759,7 +32255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2631, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -31820,7 +32317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2626, - "is_pure": false + "is_pure": false, + "text": "packed" }, "right_expression": { "id": 2635, @@ -31842,7 +32340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32048,7 +32547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2626, - "is_pure": false + "is_pure": false, + "text": "packed" }, "right_expression": { "id": 2650, @@ -32106,7 +32606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2626, - "is_pure": false + "is_pure": false, + "text": "packed" }, { "id": 2655, @@ -32126,7 +32627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1138, - "is_pure": false + "is_pure": false, + "text": "BITMASK_EXTRA_DATA_COMPLEMENT" } ], "type_descriptions": [ @@ -32191,7 +32693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2637, - "is_pure": false + "is_pure": false, + "text": "extraDataCasted" }, { "id": 2660, @@ -32211,7 +32714,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1134, - "is_pure": false + "is_pure": false, + "text": "BITPOS_EXTRA_DATA" } ], "type_descriptions": [ @@ -32255,7 +32759,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "packed=(packed\u0026BITMASK_EXTRA_DATA_COMPLEMENT)|(extraDataCasted\u003c\u003cBITPOS_EXTRA_DATA);" }, { "id": 2661, @@ -32309,7 +32814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1174, - "is_pure": false + "is_pure": false, + "text": "_packedOwnerships" }, "base_expression": { "id": 2665, @@ -32329,7 +32835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2665, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -32364,7 +32871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2626, - "is_pure": false + "is_pure": false, + "text": "packed" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", @@ -32374,7 +32882,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_uint256$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003euint256):uint256]" - } + }, + "text": "_packedOwnerships[index]=packed;" } ] }, @@ -32500,13 +33009,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setExtraDataAt(uint256, uint24)", - "signature": "49824576", + "signature_raw": "_setExtraDataAt(uint256,uint24)", + "signature": "bd3cdd6d", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint24$", "type_string": "function(uint256,uint24)" - } + }, + "text": "function_setExtraDataAt(uint256index,uint24extraData)internal{uint256packed=_packedOwnerships[index];if(packed==0)revertOwnershipNotInitializedForExtraData();uint256extraDataCasted;assembly{extraDataCasted:=extraData}packed=(packed\u0026BITMASK_EXTRA_DATA_COMPLEMENT)|(extraDataCasted\u003c\u003cBITPOS_EXTRA_DATA);_packedOwnerships[index]=packed;}" }, { "id": 2668, @@ -32653,7 +33163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2688, - "is_pure": false + "is_pure": false, + "text": "prevOwnershipPacked" }, { "id": 2689, @@ -32673,7 +33184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1134, - "is_pure": false + "is_pure": false, + "text": "BITPOS_EXTRA_DATA" } ], "type_descriptions": [ @@ -32734,7 +33246,8 @@ "type_identifier": "t_uint24", "type_string": "uint24" } - ] + ], + "text": "uint24" }, "type_description": { "type_identifier": "t_function_$_t_rational_232_by_1$", @@ -32831,7 +33344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2698, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 2699, @@ -32857,7 +33371,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2700, @@ -32887,7 +33402,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "extraData" } ], "expression": { @@ -32908,7 +33424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_extraData" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint24$", @@ -32958,7 +33475,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_uint24$", @@ -32983,7 +33501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1134, - "is_pure": false + "is_pure": false, + "text": "BITPOS_EXTRA_DATA" } ], "type_descriptions": [ @@ -33216,13 +33735,14 @@ } ] }, - "signature_raw": "_nextExtraData(address, address, uint256)", - "signature": "f8e97915", + "signature_raw": "_nextExtraData(address,address,uint256)", + "signature": "5afe32e4", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_nextExtraData(addressfrom,addressto,uint256prevOwnershipPacked)privateviewreturns(uint256){uint24extraData=uint24(prevOwnershipPacked\u003e\u003eBITPOS_EXTRA_DATA);returnuint256(_extraData(from,to,extraData))\u003c\u003cBITPOS_EXTRA_DATA;}" }, { "id": 2703, @@ -33472,13 +33992,14 @@ } ] }, - "signature_raw": "_extraData(address, address, uint24)", - "signature": "7f330930", + "signature_raw": "_extraData(address,address,uint24)", + "signature": "fc37bbd3", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint24$", "type_string": "function(address,address,uint24)" - } + }, + "text": "function_extraData(addressfrom,addressto,uint24previousExtraData)internalviewvirtualreturns(uint24){}" }, { "id": 2716, @@ -33726,13 +34247,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfers(address, address, uint256, uint256)", - "signature": "a1b07ca8", + "signature_raw": "_beforeTokenTransfers(address,address,uint256,uint256)", + "signature": "ef435773", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,uint256,uint256)" - } + }, + "text": "function_beforeTokenTransfers(addressfrom,addressto,uint256startTokenId,uint256quantity)internalvirtual{}" }, { "id": 2729, @@ -33980,13 +34502,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfers(address, address, uint256, uint256)", - "signature": "88f7b2f1", + "signature_raw": "_afterTokenTransfers(address,address,uint256,uint256)", + "signature": "08c018f7", "scope": 1076, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,uint256,uint256)" - } + }, + "text": "function_afterTokenTransfers(addressfrom,addressto,uint256startTokenId,uint256quantity)internalvirtual{}" }, { "id": 2742, @@ -34076,14 +34599,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -34220,7 +34745,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSenderERC721A()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 2754, @@ -43636,7 +44162,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_toString(uint256value)internalpurereturns(stringmemoryptr){assembly{ptr:=add(mload(0x40),128)mstore(0x40,ptr)letend:=ptrfor{lettemp:=valueptr:=sub(ptr,1)mstore8(ptr,add(48,mod(temp,10)))temp:=div(temp,10)}temp{temp:=div(temp,10)}{ptr:=sub(ptr,1)mstore8(ptr,add(48,mod(temp,10)))}letlength:=sub(end,ptr)ptr:=sub(ptr,32)mstore(ptr,length)}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/ERC721A__IERC721Receiver.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/ERC721A__IERC721Receiver.solgo.ast.json index 7f2c091b..8da8492a 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/ERC721A__IERC721Receiver.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/ERC721A__IERC721Receiver.solgo.ast.json @@ -352,13 +352,14 @@ } ] }, - "signature_raw": "onERC721Received(address, address, uint256, bytes)", - "signature": "acb7d9e3", + "signature_raw": "onERC721Received(address,address,uint256,bytes)", + "signature": "150b7a02", "scope": 1052, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functiononERC721Received(addressoperator,addressfrom,uint256tokenId,bytescalldatadata)externalreturns(bytes4);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/IERC20.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/IERC20.solgo.ast.json index c8eda26a..7f72835a 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/IERC20.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/IERC20.solgo.ast.json @@ -561,7 +561,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 2899, @@ -730,7 +731,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 2908, @@ -936,13 +938,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 2870, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 2919, @@ -1149,13 +1152,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 2870, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 2930, @@ -1361,13 +1365,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 2870, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 2941, @@ -1617,13 +1622,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 2870, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/IERC721A.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/IERC721A.solgo.ast.json index 1406cc0a..79310f6f 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/IERC721A.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/IERC721A.solgo.ast.json @@ -956,7 +956,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 880, @@ -1124,7 +1125,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" }, { "id": 889, @@ -1796,7 +1798,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint256balance);" }, { "id": 925, @@ -1965,7 +1968,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)externalviewreturns(addressowner);" }, { "id": 934, @@ -2213,13 +2217,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytescalldatadata)external;" }, { "id": 947, @@ -2424,13 +2429,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 958, @@ -2635,13 +2641,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 969, @@ -2802,13 +2809,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)external;" }, { "id": 978, @@ -2969,13 +2977,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,bool_approved)external;" }, { "id": 987, @@ -3144,7 +3153,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)externalviewreturns(addressoperator);" }, { "id": 996, @@ -3351,13 +3361,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 817, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)externalviewreturns(bool);" }, { "id": 1007, @@ -3525,7 +3536,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 1016, @@ -3693,7 +3705,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 1025, @@ -3861,7 +3874,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)externalviewreturns(stringmemory);" }, { "id": 1034, diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/MerkleProof.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/MerkleProof.solgo.ast.json index ddeeb73c..3f68d6b2 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/MerkleProof.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/MerkleProof.solgo.ast.json @@ -163,7 +163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 505, - "is_pure": false + "is_pure": false, + "text": "proof" }, { "id": 506, @@ -189,7 +190,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "leaf" } ], "expression": { @@ -210,7 +212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processProof" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", @@ -235,7 +238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 507, - "is_pure": false + "is_pure": false, + "text": "root" }, "type_description": { "type_identifier": "t_bool", @@ -455,13 +459,14 @@ } ] }, - "signature_raw": "verify(bytes32, bytes32, bytes32)", - "signature": "5d3911ee", + "signature_raw": "verify(bytes32,bytes32,bytes32)", + "signature": "3fb82028", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32,bytes32)" - } + }, + "text": "functionverify(bytes32[]memoryproof,bytes32root,bytes32leaf)internalpurereturns(bool){returnprocessProof(proof,leaf)==root;}" }, { "id": 509, @@ -576,7 +581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 522, - "is_pure": false + "is_pure": false, + "text": "leaf" } }, { @@ -670,7 +676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -705,7 +712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 530, @@ -748,14 +756,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 531, - "is_pure": false + "is_pure": false, + "text": "proof" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" - } + }, + "text": "proof.length" }, "type_description": { "type_identifier": "t_bool", @@ -793,7 +803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -908,7 +919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "proof" }, "base_expression": { "id": 540, @@ -928,7 +940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -989,7 +1002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "computedHash" }, "right_expression": { "id": 544, @@ -1009,7 +1023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 535, - "is_pure": false + "is_pure": false, + "text": "proofElement" }, "type_description": { "type_identifier": "t_bool", @@ -1071,7 +1086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "computedHash" }, "right_expression": { "id": 549, @@ -1114,7 +1130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "computedHash" }, { "id": 552, @@ -1140,7 +1157,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "proofElement" } ], "expression": { @@ -1161,7 +1179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_efficientHash" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -1176,7 +1195,8 @@ "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" - } + }, + "text": "computedHash=_efficientHash(computedHash,proofElement);" } ] } @@ -1214,7 +1234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "computedHash" } } ] @@ -1386,13 +1407,14 @@ } ] }, - "signature_raw": "processProof(bytes32, bytes32)", - "signature": "f5c589a1", + "signature_raw": "processProof(bytes32,bytes32)", + "signature": "90747bea", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32)" - } + }, + "text": "functionprocessProof(bytes32[]memoryproof,bytes32leaf)internalpurereturns(bytes32){bytes32computedHash=leaf;for(uint256i=0;i\u003cproof.length;i++){bytes32proofElement=proof[i];if(computedHash\u003c=proofElement){computedHash=_efficientHash(computedHash,proofElement);}else{computedHash=_efficientHash(proofElement,computedHash);}}returncomputedHash;}" }, { "id": 556, @@ -2286,13 +2308,14 @@ } ] }, - "signature_raw": "_efficientHash(bytes32, bytes32)", - "signature": "8ff8f318", + "signature_raw": "_efficientHash(bytes32,bytes32)", + "signature": "41ed615b", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32)" - } + }, + "text": "function_efficientHash(bytes32a,bytes32b)privatepurereturns(bytes32value){assembly{mstore(0x00,a)mstore(0x20,b)value:=keccak256(0x00,0x40)}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Ownable.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Ownable.solgo.ast.json index df612e01..db353c9b 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Ownable.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Ownable.solgo.ast.json @@ -370,7 +370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -396,7 +397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -471,7 +473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -608,7 +611,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 745, @@ -729,7 +733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -768,7 +773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -806,7 +812,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -827,7 +834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -852,7 +860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -950,7 +959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -996,7 +1006,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1022,7 +1033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1101,7 +1113,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 771, @@ -1193,7 +1206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 783, @@ -1234,7 +1248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1280,7 +1295,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1318,7 +1334,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1339,7 +1356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1383,7 +1401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 790, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1404,7 +1423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1529,7 +1549,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 792, @@ -1645,7 +1666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -1689,7 +1711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 805, @@ -1709,7 +1732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 805, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1719,7 +1743,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 806, @@ -1751,7 +1776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 798, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 808, @@ -1771,7 +1797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 808, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1792,7 +1819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 718, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -1883,7 +1911,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Pausable.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Pausable.solgo.ast.json index 30298234..7d2c9a78 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Pausable.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Pausable.solgo.ast.json @@ -391,7 +391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 642, @@ -413,7 +414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -423,7 +425,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] } @@ -493,7 +496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "_paused" } } ] @@ -628,7 +632,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { "id": 655, @@ -753,7 +758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -791,7 +797,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { @@ -812,7 +819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -837,7 +845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -947,7 +956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -980,7 +990,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { @@ -1001,7 +1012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -1026,7 +1038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -1107,7 +1120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 685, @@ -1129,7 +1143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -1139,7 +1154,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { "id": 686, @@ -1185,7 +1201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1211,7 +1228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 622, - "is_pure": false + "is_pure": false, + "text": "Paused" } } ] @@ -1286,7 +1304,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { "id": 691, @@ -1364,7 +1383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 632, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 700, @@ -1386,7 +1406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -1396,7 +1417,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { "id": 701, @@ -1442,7 +1464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1468,7 +1491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 627, - "is_pure": false + "is_pure": false, + "text": "Unpaused" } } ] @@ -1543,7 +1567,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Strings.solgo.ast.json b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Strings.solgo.ast.json index 6cdfa328..1b27c447 100644 --- a/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Strings.solgo.ast.json +++ b/data/tests/contracts/0x9ba77c0489c0a2D16F0C8314189acDA4d3af8Aa2/Strings.solgo.ast.json @@ -121,7 +121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -202,7 +203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 305, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 306, @@ -224,7 +226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -277,7 +280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -361,7 +365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 313, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -468,7 +473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 310, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 319, @@ -490,7 +496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -540,7 +547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -593,7 +601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 310, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 326, @@ -615,7 +624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -625,7 +635,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -727,7 +738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -814,7 +826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 335, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 336, @@ -836,7 +849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -897,7 +911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 341, @@ -919,7 +934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -929,7 +945,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 342, @@ -983,7 +1000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 327, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 346, @@ -1003,7 +1021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -1092,7 +1111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 355, @@ -1145,7 +1165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 297, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 360, @@ -1167,7 +1188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1217,7 +1239,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -1272,7 +1295,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -1322,7 +1346,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -1337,7 +1362,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 361, @@ -1380,7 +1406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 297, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 364, @@ -1402,7 +1429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1412,7 +1440,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -1466,7 +1495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 327, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -1511,7 +1541,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -1651,7 +1682,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 371, @@ -1731,7 +1763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 381, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 382, @@ -1753,7 +1786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1806,7 +1840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -1890,7 +1925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -1973,7 +2009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2019,7 +2056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 396, @@ -2041,7 +2079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2091,7 +2130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 390, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -2144,7 +2184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 310, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 403, @@ -2166,7 +2207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -2176,7 +2218,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -2234,7 +2277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 407, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 408, @@ -2260,7 +2304,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -2281,7 +2326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -2421,7 +2467,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 410, @@ -2585,7 +2632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 429, @@ -2605,7 +2653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 429, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2632,7 +2681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2733,7 +2783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 420, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 435, @@ -2755,7 +2806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -2792,7 +2844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -2802,7 +2855,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 437, @@ -2856,7 +2910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 420, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 441, @@ -2878,7 +2933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -2915,7 +2971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -2925,7 +2982,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 443, @@ -3046,7 +3104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 450, @@ -3066,7 +3125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 450, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3093,7 +3153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3133,7 +3194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 454, @@ -3155,7 +3217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -3198,7 +3261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -3271,7 +3335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 327, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 462, @@ -3291,7 +3356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -3337,7 +3403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 291, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 466, @@ -3369,7 +3436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 297, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 468, @@ -3391,7 +3459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -3428,7 +3497,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 469, @@ -3471,7 +3541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 297, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 472, @@ -3493,7 +3564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -3503,7 +3575,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -3563,7 +3636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 476, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 477, @@ -3585,7 +3659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3618,7 +3693,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -3639,7 +3715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3695,7 +3772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 420, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -3740,7 +3818,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3917,13 +3996,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 289, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Address.solgo.ast.json b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Address.solgo.ast.json index f57ee34b..edc0efcc 100644 --- a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Address.solgo.ast.json +++ b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Address.solgo.ast.json @@ -186,21 +186,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 110, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 111, @@ -222,7 +225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -363,7 +367,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 113, @@ -497,7 +502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -543,7 +549,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -555,7 +562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 129, @@ -575,7 +583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 129, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -608,7 +617,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -629,7 +639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -733,7 +744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -789,14 +801,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -850,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 131, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 142, @@ -878,7 +893,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -899,7 +915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1031,13 +1048,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 144, @@ -1135,7 +1153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 157, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 158, @@ -1161,7 +1180,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 159, @@ -1193,7 +1213,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 160, @@ -1229,7 +1250,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1250,7 +1272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string_literal$", @@ -1428,13 +1451,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,\"Address: low-level call failed\");}" }, { "id": 162, @@ -1532,7 +1556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 177, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 178, @@ -1558,7 +1583,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 179, @@ -1590,7 +1616,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 180, @@ -1624,7 +1651,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1645,7 +1673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1866,13 +1895,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 182, @@ -1970,7 +2000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 197, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 198, @@ -1996,7 +2027,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 199, @@ -2026,7 +2058,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 200, @@ -2062,7 +2095,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2083,7 +2117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2304,13 +2339,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 202, @@ -2444,7 +2480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2490,7 +2527,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2502,7 +2540,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 224, @@ -2522,7 +2561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2555,7 +2595,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2576,7 +2617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2725,7 +2767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 235, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -2781,14 +2824,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 234, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -2862,7 +2907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 240, @@ -2888,7 +2934,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 241, @@ -2918,7 +2965,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 242, @@ -2952,7 +3000,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -2973,7 +3022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -3237,13 +3287,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 244, @@ -3337,7 +3388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 258, @@ -3363,7 +3415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 259, @@ -3395,7 +3448,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3416,7 +3470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3594,13 +3649,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 261, @@ -3779,7 +3835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 281, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -3823,14 +3880,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 280, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3899,7 +3958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 285, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 286, @@ -3925,7 +3985,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 287, @@ -3955,7 +4016,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 288, @@ -3989,7 +4051,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4010,7 +4073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -4231,13 +4295,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 290, @@ -4331,7 +4396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 303, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 304, @@ -4357,7 +4423,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 305, @@ -4389,7 +4456,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -4410,7 +4478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -4588,13 +4657,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 307, @@ -4773,7 +4843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 327, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4817,14 +4888,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 326, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4893,7 +4966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 331, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 332, @@ -4919,7 +4993,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 333, @@ -4949,7 +5024,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 334, @@ -4983,7 +5059,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5004,7 +5081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -5225,13 +5303,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 336, @@ -5297,7 +5376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 351, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 352, @@ -5379,14 +5459,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 356, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 357, @@ -5408,7 +5490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5489,7 +5572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -5510,7 +5594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5543,7 +5628,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -5564,7 +5650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5604,7 +5691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 366, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -5866,13 +5954,14 @@ } ] }, - "signature_raw": "verifyCallResultFromTarget(address, bool, bytes, string)", - "signature": "ac377f6d", + "signature_raw": "verifyCallResultFromTarget(address,bool,bytes,string)", + "signature": "1daa78c1", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", "type_string": "function(address,bool,bytes,string)" - } + }, + "text": "functionverifyCallResultFromTarget(addresstarget,boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){if(success){if(returndata.length==0){require(isContract(target),\"Address: call to non-contract\");}returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 368, @@ -5938,7 +6027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 381, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 382, @@ -5984,7 +6074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 384, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -6202,13 +6293,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 386, @@ -6311,14 +6403,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 398, @@ -6340,7 +6434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6894,13 +6989,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_revert(bytes, string)", - "signature": "26a4ef1a", + "signature_raw": "_revert(bytes,string)", + "signature": "6cadf5e1", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string$", "type_string": "function(bytes,string)" - } + }, + "text": "function_revert(bytesmemoryreturndata,stringmemoryerrorMessage)privatepure{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Context.solgo.ast.json b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Context.solgo.ast.json index 89ab438e..64c2e03c 100644 --- a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Context.solgo.ast.json +++ b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 840, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/IERC20.solgo.ast.json b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/IERC20.solgo.ast.json index b2c88c5c..6a9642a3 100644 --- a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/IERC20.solgo.ast.json +++ b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/IERC20.solgo.ast.json @@ -561,7 +561,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 490, @@ -730,7 +731,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 499, @@ -936,13 +938,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 461, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 510, @@ -1149,13 +1152,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 461, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 521, @@ -1361,13 +1365,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 461, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 532, @@ -1617,13 +1622,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 461, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/IERC20Permit.solgo.ast.json b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/IERC20Permit.solgo.ast.json index 3539d635..a1363e09 100644 --- a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/IERC20Permit.solgo.ast.json +++ b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/IERC20Permit.solgo.ast.json @@ -436,13 +436,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", "scope": 419, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 440, @@ -611,7 +612,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint256);" }, { "id": 449, @@ -779,7 +781,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Ownable.solgo.ast.json b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Ownable.solgo.ast.json index bed96cf9..47edeb6e 100644 --- a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Ownable.solgo.ast.json +++ b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Ownable.solgo.ast.json @@ -370,7 +370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -396,7 +397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -488,7 +490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -513,7 +516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -583,7 +587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 863, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -720,7 +725,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 900, @@ -826,7 +832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -865,7 +872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -903,7 +911,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -924,7 +933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -973,7 +983,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 913, @@ -1068,7 +1079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1114,7 +1126,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1140,7 +1153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1219,7 +1233,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 926, @@ -1311,7 +1326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 937, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 938, @@ -1352,7 +1368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1398,7 +1415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1436,7 +1454,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1457,7 +1476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1501,7 +1521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 945, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1522,7 +1543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1647,7 +1669,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 947, @@ -1763,7 +1786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 863, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -1807,7 +1831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 863, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 960, @@ -1827,7 +1852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 960, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1837,7 +1863,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 961, @@ -1869,7 +1896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 953, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 963, @@ -1889,7 +1917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1910,7 +1939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 866, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -2001,7 +2031,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Qatar_Ecuador.solgo.ast.json b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Qatar_Ecuador.solgo.ast.json index d6cea0f9..5bc09d5b 100644 --- a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Qatar_Ecuador.solgo.ast.json +++ b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Qatar_Ecuador.solgo.ast.json @@ -1320,7 +1320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e4" } }, { @@ -1428,7 +1429,7 @@ "mutability": 1, "type_name": { "id": 1558, - "node_type": 0, + "node_type": 53, "src": { "line": 677, "column": 4, @@ -1520,7 +1521,7 @@ "mutability": 1, "type_name": { "id": 1562, - "node_type": 0, + "node_type": 53, "src": { "line": 678, "column": 4, @@ -1612,7 +1613,7 @@ "mutability": 1, "type_name": { "id": 1566, - "node_type": 0, + "node_type": 53, "src": { "line": 679, "column": 4, @@ -3003,21 +3004,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 110, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 111, @@ -3039,7 +3043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3180,7 +3185,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 113, @@ -3314,7 +3320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3360,7 +3367,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3372,7 +3380,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 129, @@ -3392,7 +3401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 129, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -3425,7 +3435,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -3446,7 +3457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3550,7 +3562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -3606,14 +3619,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -3667,7 +3682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 131, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 142, @@ -3695,7 +3711,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -3716,7 +3733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3848,13 +3866,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 144, @@ -3952,7 +3971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 157, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 158, @@ -3978,7 +3998,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 159, @@ -4010,7 +4031,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 160, @@ -4046,7 +4068,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -4067,7 +4090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string_literal$", @@ -4245,13 +4269,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,\"Address: low-level call failed\");}" }, { "id": 162, @@ -4349,7 +4374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 177, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 178, @@ -4375,7 +4401,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 179, @@ -4407,7 +4434,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 180, @@ -4441,7 +4469,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4462,7 +4491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -4683,13 +4713,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 182, @@ -4787,7 +4818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 197, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 198, @@ -4813,7 +4845,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 199, @@ -4843,7 +4876,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 200, @@ -4879,7 +4913,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -4900,7 +4935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -5121,13 +5157,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 202, @@ -5261,7 +5298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -5307,7 +5345,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5319,7 +5358,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 224, @@ -5339,7 +5379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -5372,7 +5413,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -5393,7 +5435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5542,7 +5585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 235, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -5598,14 +5642,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 234, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -5679,7 +5725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 240, @@ -5705,7 +5752,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 241, @@ -5735,7 +5783,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 242, @@ -5769,7 +5818,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5790,7 +5840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -6054,13 +6105,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 244, @@ -6154,7 +6206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 258, @@ -6180,7 +6233,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 259, @@ -6212,7 +6266,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -6233,7 +6288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -6411,13 +6467,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 261, @@ -6596,7 +6653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 281, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -6640,14 +6698,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 280, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -6716,7 +6776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 285, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 286, @@ -6742,7 +6803,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 287, @@ -6772,7 +6834,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 288, @@ -6806,7 +6869,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -6827,7 +6891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -7048,13 +7113,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 290, @@ -7148,7 +7214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 303, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 304, @@ -7174,7 +7241,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 305, @@ -7206,7 +7274,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -7227,7 +7296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -7405,13 +7475,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 307, @@ -7590,7 +7661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 327, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -7634,14 +7706,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 326, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -7710,7 +7784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 331, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 332, @@ -7736,7 +7811,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 333, @@ -7766,7 +7842,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 334, @@ -7800,7 +7877,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -7821,7 +7899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -8042,13 +8121,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 336, @@ -8114,7 +8194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 351, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 352, @@ -8196,14 +8277,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 356, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 357, @@ -8225,7 +8308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8306,7 +8390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -8327,7 +8412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8360,7 +8446,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -8381,7 +8468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -8421,7 +8509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 366, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -8683,13 +8772,14 @@ } ] }, - "signature_raw": "verifyCallResultFromTarget(address, bool, bytes, string)", - "signature": "ac377f6d", + "signature_raw": "verifyCallResultFromTarget(address,bool,bytes,string)", + "signature": "1daa78c1", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", "type_string": "function(address,bool,bytes,string)" - } + }, + "text": "functionverifyCallResultFromTarget(addresstarget,boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){if(success){if(returndata.length==0){require(isContract(target),\"Address: call to non-contract\");}returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 368, @@ -8755,7 +8845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 381, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 382, @@ -8801,7 +8892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 384, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -9019,13 +9111,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 386, @@ -9128,14 +9221,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 398, @@ -9157,7 +9252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9711,13 +9807,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_revert(bytes, string)", - "signature": "26a4ef1a", + "signature_raw": "_revert(bytes,string)", + "signature": "6cadf5e1", "scope": 96, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string$", "type_string": "function(bytes,string)" - } + }, + "text": "function_revert(bytesmemoryreturndata,stringmemoryerrorMessage)privatepure{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}" } ], "linearized_base_contracts": [ @@ -10174,13 +10271,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", "scope": 419, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 440, @@ -10349,7 +10447,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint256);" }, { "id": 449, @@ -10517,7 +10616,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ @@ -11099,7 +11199,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 490, @@ -11268,7 +11369,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 499, @@ -11474,13 +11576,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 461, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 510, @@ -11687,13 +11790,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 461, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 521, @@ -11899,13 +12003,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 461, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 532, @@ -12155,13 +12260,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 461, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -12368,7 +12474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 568, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 569, @@ -12461,21 +12568,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 574, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 575, @@ -12501,7 +12611,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 576, @@ -12531,7 +12642,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -12575,14 +12687,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -12608,7 +12722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -12804,13 +12919,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 578, @@ -12888,7 +13004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 593, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 594, @@ -12985,21 +13102,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 599, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 600, @@ -13025,7 +13145,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 601, @@ -13055,7 +13176,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 602, @@ -13089,7 +13211,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -13133,14 +13256,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -13166,7 +13291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -13406,13 +13532,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 604, @@ -13532,7 +13659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 620, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 621, @@ -13554,7 +13682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13655,7 +13784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -13701,7 +13831,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13732,7 +13863,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -13776,14 +13908,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 626, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -13810,7 +13944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13854,7 +13989,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -13875,7 +14011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -13923,7 +14060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 636, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 637, @@ -14016,21 +14154,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 642, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 643, @@ -14056,7 +14197,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 644, @@ -14086,7 +14228,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -14130,14 +14273,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -14163,7 +14308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -14359,13 +14505,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 646, @@ -14536,7 +14683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -14582,7 +14730,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -14613,7 +14762,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -14657,14 +14807,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 663, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -14689,7 +14841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 669, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -14738,7 +14891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 673, @@ -14831,21 +14985,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 678, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 679, @@ -14871,7 +15028,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 680, @@ -14901,7 +15059,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -14945,14 +15104,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -14978,7 +15139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -15174,13 +15336,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256newAllowance=token.allowance(address(this),spender)+value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}" }, { "id": 682, @@ -15351,7 +15514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -15397,7 +15561,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15428,7 +15593,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -15472,14 +15638,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 699, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -15542,7 +15710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 694, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 709, @@ -15562,7 +15731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 709, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -15595,7 +15765,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -15616,7 +15787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15715,7 +15887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 694, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 716, @@ -15735,7 +15908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 716, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -15784,7 +15958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 720, @@ -15877,21 +16052,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 725, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 726, @@ -15917,7 +16095,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 727, @@ -15947,7 +16126,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -15991,14 +16171,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -16024,7 +16206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -16222,13 +16405,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");uint256newAllowance=oldAllowance-value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}}" }, { "id": 729, @@ -16362,7 +16546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 756, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -16406,14 +16591,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 755, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$416", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16482,7 +16669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 760, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 761, @@ -16508,7 +16696,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 762, @@ -16538,7 +16727,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { "id": 763, @@ -16572,7 +16762,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 764, @@ -16610,7 +16801,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 765, @@ -16652,7 +16844,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 766, @@ -16698,7 +16891,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -16742,14 +16936,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 759, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "permit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$416", "type_string": "contract IERC20Permit" - } + }, + "text": "token.permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -16853,7 +17049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -16897,14 +17094,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 772, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$416", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16967,7 +17166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 767, - "is_pure": false + "is_pure": false, + "text": "nonceAfter" }, "right_expression": { "id": 778, @@ -17001,7 +17201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 750, - "is_pure": false + "is_pure": false, + "text": "nonceBefore" }, "right_expression": { "id": 780, @@ -17023,7 +17224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -17061,7 +17263,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: permit did not succeed\"" } ], "expression": { @@ -17082,7 +17285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17494,13 +17698,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safePermit(, address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8fe8854", + "signature_raw": "safePermit(,address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "1f73058e", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Permit_$416$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(contract IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionsafePermit(IERC20Permittoken,addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)internal{uint256nonceBefore=token.nonces(owner);token.permit(owner,spender,value,deadline,v,r,s);uint256nonceAfter=token.nonces(owner);require(nonceAfter==nonceBefore+1,\"SafeERC20: permit did not succeed\");}" }, { "id": 783, @@ -17638,7 +17843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 801, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 802, @@ -17666,7 +17872,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -17729,7 +17936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -17775,7 +17983,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17787,7 +17996,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -17861,14 +18071,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 807, @@ -17890,7 +18102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17975,7 +18188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 815, @@ -18027,7 +18241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -18077,14 +18292,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -18117,7 +18334,8 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -18138,7 +18356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -18293,13 +18512,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");if(returndata.length\u003e0){require(abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}}" } ], "linearized_base_contracts": [ @@ -18469,14 +18689,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -18613,7 +18835,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 840, @@ -18703,14 +18926,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -18845,7 +19070,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -19236,7 +19462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -19262,7 +19489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -19354,7 +19582,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -19379,7 +19608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -19449,7 +19679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 863, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -19586,7 +19817,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 900, @@ -19692,7 +19924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -19731,7 +19964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -19769,7 +20003,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -19790,7 +20025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19839,7 +20075,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 913, @@ -19934,7 +20171,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19980,7 +20218,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20006,7 +20245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -20085,7 +20325,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 926, @@ -20177,7 +20418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 937, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 938, @@ -20218,7 +20460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -20264,7 +20507,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20302,7 +20546,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -20323,7 +20568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20367,7 +20613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 945, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -20388,7 +20635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -20513,7 +20761,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 947, @@ -20629,7 +20878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 863, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -20673,7 +20923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 863, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 960, @@ -20693,7 +20944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 960, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -20703,7 +20955,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 961, @@ -20735,7 +20988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 953, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 963, @@ -20755,7 +21009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -20776,7 +21031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 866, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -20867,7 +21123,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ @@ -21330,7 +21587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e4" } }, { @@ -21441,7 +21699,7 @@ "mutability": 1, "type_name": { "id": 1007, - "node_type": 0, + "node_type": 53, "src": { "line": 677, "column": 4, @@ -21534,7 +21792,7 @@ "mutability": 1, "type_name": { "id": 1012, - "node_type": 0, + "node_type": 53, "src": { "line": 678, "column": 4, @@ -21627,7 +21885,7 @@ "mutability": 1, "type_name": { "id": 1017, - "node_type": 0, + "node_type": 53, "src": { "line": 679, "column": 4, @@ -22450,7 +22708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "startbet" }, { "id": 1064, @@ -22478,7 +22737,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Betting not started yet\"" } ], "expression": { @@ -22499,7 +22759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -22524,7 +22785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -22634,7 +22896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1054, - "is_pure": false + "is_pure": false, + "text": "resultStatus" }, "right_expression": { "id": 1074, @@ -22677,14 +22940,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "ResultStatus" }, "member_name": "NotDeclare", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_ResultStatus_$1021", "type_string": "enum Qatar_Ecuador.ResultStatus" - } + }, + "text": "ResultStatus.NotDeclare" }, "type_description": { "type_identifier": "t_bool", @@ -22717,7 +22982,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"already delcare\"" } ], "expression": { @@ -22738,7 +23004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22763,7 +23030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -22918,7 +23186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1081, - "is_pure": false + "is_pure": false, + "text": "_amnt" }, "right_expression": { "id": 1088, @@ -22940,7 +23209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -22973,7 +23243,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"bet value 0\"" } ], "expression": { @@ -22994,7 +23265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -23019,7 +23291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -23129,7 +23402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1054, - "is_pure": false + "is_pure": false, + "text": "resultStatus" }, "right_expression": { "id": 1099, @@ -23172,14 +23446,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "ResultStatus" }, "member_name": "NotDeclare", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_ResultStatus_$1021", "type_string": "enum Qatar_Ecuador.ResultStatus" - } + }, + "text": "ResultStatus.NotDeclare" }, "type_description": { "type_identifier": "t_bool", @@ -23212,7 +23488,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"not delcare\"" } ], "expression": { @@ -23233,7 +23510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -23258,7 +23536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -23429,7 +23708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1016, - "is_pure": false + "is_pure": false, + "text": "userClaimed" }, "base_expression": { "id": 1114, @@ -23449,7 +23729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1106, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -23497,7 +23778,8 @@ "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" } - ] + ], + "text": "\"claimed!\"" } ], "expression": { @@ -23518,7 +23800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_string_literal$", @@ -23543,7 +23826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -23758,7 +24042,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 987, - "is_pure": false + "is_pure": false, + "text": "admin" }, "right_expression": { "id": 1130, @@ -23778,7 +24063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1130, - "is_pure": false + "is_pure": false, + "text": "_admin" }, "type_description": { "type_identifier": "t_address", @@ -23788,7 +24074,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "admin=_admin;" }, { "id": 1131, @@ -23831,7 +24118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 983, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "right_expression": { "id": 1134, @@ -23851,7 +24139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1134, - "is_pure": false + "is_pure": false, + "text": "_usdt" }, "type_description": { "type_identifier": "t_contract$_IERC20_$457", @@ -23861,7 +24150,8 @@ "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "usdt=_usdt;" } ] } @@ -23942,7 +24232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 990, - "is_pure": false + "is_pure": false, + "text": "totalBetsA" }, "right_expression": { "id": 1154, @@ -23976,7 +24267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 990, - "is_pure": false + "is_pure": false, + "text": "totalBetsA" }, "right_expression": { "id": 1156, @@ -23996,7 +24288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1156, - "is_pure": false + "is_pure": false, + "text": "_amount" }, "type_description": { "type_identifier": "t_uint256", @@ -24011,7 +24304,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalBetsA=totalBetsA+_amount;" }, { "id": 1157, @@ -24115,14 +24409,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } }, { @@ -24214,7 +24510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1006, - "is_pure": false + "is_pure": false, + "text": "userBets" }, "base_expression": { "id": 1167, @@ -24234,7 +24531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1157, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -24295,7 +24593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1162, - "is_pure": false + "is_pure": false, + "text": "previousBet" }, "right_expression": { "id": 1171, @@ -24317,7 +24616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24404,7 +24704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1011, - "is_pure": false + "is_pure": false, + "text": "userChoice" }, "base_expression": { "id": 1178, @@ -24424,7 +24725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1106, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -24461,7 +24763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -24494,7 +24797,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"wrong choice\"" } ], "expression": { @@ -24515,7 +24819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -24574,7 +24879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1006, - "is_pure": false + "is_pure": false, + "text": "userBets" }, "base_expression": { "id": 1185, @@ -24594,7 +24900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1106, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -24629,7 +24936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1186, - "is_pure": false + "is_pure": false, + "text": "_amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -24639,7 +24947,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "userBets[_user]+=_amount;" } ] } @@ -24674,7 +24983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1157, - "is_pure": false + "is_pure": false, + "text": "_user" }, { "id": 1189, @@ -24694,7 +25004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "_amount" } ], "expression": { @@ -24715,7 +25026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1028, - "is_pure": false + "is_pure": false, + "text": "VoteA" } }, { @@ -24763,7 +25075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1157, - "is_pure": false + "is_pure": false, + "text": "_user" }, { "id": 1195, @@ -24802,7 +25115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -24848,7 +25162,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24883,7 +25198,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_amount" } ], "expression": { @@ -24927,14 +25243,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 983, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "usdt.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -24973,7 +25291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -25079,7 +25398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1146, - "is_pure": false + "is_pure": false, + "text": "_amount" } ], "modifier_name": { @@ -25222,7 +25542,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionvoteA(uint256_amount)externalisStartbetnotDeclareminAmount(_amount)returns(bool){totalBetsA=totalBetsA+_amount;address_user=msg.sender;uint256previousBet=userBets[_user];if(previousBet\u003e0){require(userChoice[_user]==1,\"wrong choice\");userBets[_user]+=_amount;}else{userBets[_user]=_amount;userChoice[_user]=1;}emitVoteA(_user,_amount);usdt.safeTransferFrom(_user,address(this),_amount);returntrue;}" }, { "id": 1203, @@ -25300,7 +25621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 993, - "is_pure": false + "is_pure": false, + "text": "totalBetsB" }, "right_expression": { "id": 1221, @@ -25334,7 +25656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 993, - "is_pure": false + "is_pure": false, + "text": "totalBetsB" }, "right_expression": { "id": 1223, @@ -25354,7 +25677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1223, - "is_pure": false + "is_pure": false, + "text": "_amount" }, "type_description": { "type_identifier": "t_uint256", @@ -25369,7 +25693,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalBetsB=totalBetsB+_amount;" }, { "id": 1224, @@ -25473,14 +25798,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } }, { @@ -25572,7 +25899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1006, - "is_pure": false + "is_pure": false, + "text": "userBets" }, "base_expression": { "id": 1234, @@ -25592,7 +25920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1224, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -25653,7 +25982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1229, - "is_pure": false + "is_pure": false, + "text": "previousBet" }, "right_expression": { "id": 1238, @@ -25675,7 +26005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25762,7 +26093,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1011, - "is_pure": false + "is_pure": false, + "text": "userChoice" }, "base_expression": { "id": 1245, @@ -25782,7 +26114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1106, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -25819,7 +26152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bool", @@ -25852,7 +26186,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"wrong choice\"" } ], "expression": { @@ -25873,7 +26208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -25932,7 +26268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1006, - "is_pure": false + "is_pure": false, + "text": "userBets" }, "base_expression": { "id": 1252, @@ -25952,7 +26289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1106, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -25987,7 +26325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1253, - "is_pure": false + "is_pure": false, + "text": "_amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -25997,7 +26336,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "userBets[_user]+=_amount;" } ] } @@ -26032,7 +26372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1224, - "is_pure": false + "is_pure": false, + "text": "_user" }, { "id": 1256, @@ -26052,7 +26393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1256, - "is_pure": false + "is_pure": false, + "text": "_amount" } ], "expression": { @@ -26073,7 +26415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1035, - "is_pure": false + "is_pure": false, + "text": "VoteB" } }, { @@ -26121,7 +26464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1224, - "is_pure": false + "is_pure": false, + "text": "_user" }, { "id": 1262, @@ -26160,7 +26504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -26206,7 +26551,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -26241,7 +26587,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_amount" } ], "expression": { @@ -26285,14 +26632,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 983, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "usdt.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -26331,7 +26680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -26437,7 +26787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1213, - "is_pure": false + "is_pure": false, + "text": "_amount" } ], "modifier_name": { @@ -26580,7 +26931,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionvoteB(uint256_amount)externalisStartbetnotDeclareminAmount(_amount)returns(bool){totalBetsB=totalBetsB+_amount;address_user=msg.sender;uint256previousBet=userBets[_user];if(previousBet\u003e0){require(userChoice[_user]==2,\"wrong choice\");userBets[_user]+=_amount;}else{userBets[_user]=_amount;userChoice[_user]=2;}emitVoteB(_user,_amount);usdt.safeTransferFrom(_user,address(this),_amount);returntrue;}" }, { "id": 1270, @@ -26658,7 +27010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1054, - "is_pure": false + "is_pure": false, + "text": "resultStatus" }, "right_expression": { "id": 1284, @@ -26678,7 +27031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1284, - "is_pure": false + "is_pure": false, + "text": "_result" }, "type_description": { "type_identifier": "t_enum_$_ResultStatus_$1021", @@ -26688,7 +27042,8 @@ "type_description": { "type_identifier": "t_enum_$_ResultStatus_$1021", "type_string": "enum Qatar_Ecuador.ResultStatus" - } + }, + "text": "resultStatus=_result;" }, { "id": 1285, @@ -26739,7 +27094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1289, - "is_pure": false + "is_pure": false, + "text": "_result" } ], "expression": { @@ -26784,7 +27140,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_enum_$_ResultStatus_$1021$", @@ -26810,7 +27167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1049, - "is_pure": false + "is_pure": false, + "text": "DeclareResult" } }, { @@ -26868,7 +27226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1295, - "is_pure": false + "is_pure": false, + "text": "_result" }, "right_expression": { "id": 1296, @@ -26911,14 +27270,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "ResultStatus" }, "member_name": "Cancel", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_ResultStatus_$1021", "type_string": "enum Qatar_Ecuador.ResultStatus" - } + }, + "text": "ResultStatus.Cancel" }, "type_description": { "type_identifier": "t_bool", @@ -26957,7 +27318,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1299, - "is_pure": false + "is_pure": false, + "text": "_result" }, "right_expression": { "id": 1300, @@ -27000,14 +27362,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "ResultStatus" }, "member_name": "NotDeclare", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_ResultStatus_$1021", "type_string": "enum Qatar_Ecuador.ResultStatus" - } + }, + "text": "ResultStatus.NotDeclare" }, "type_description": { "type_identifier": "t_bool", @@ -27146,7 +27510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 990, - "is_pure": false + "is_pure": false, + "text": "totalBetsA" }, "right_expression": { "id": 1309, @@ -27166,7 +27531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 993, - "is_pure": false + "is_pure": false, + "text": "totalBetsB" }, "type_description": { "type_identifier": "t_uint256", @@ -27300,7 +27666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1303, - "is_pure": false + "is_pure": false, + "text": "totalBets" }, "right_expression": { "id": 1317, @@ -27320,7 +27687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 996, - "is_pure": false + "is_pure": false, + "text": "fee" }, "type_description": { "type_identifier": "t_uint256", @@ -27353,7 +27721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e5" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -27402,7 +27771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "finalBettingAmount" }, "right_expression": { "id": 1322, @@ -27436,7 +27806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1303, - "is_pure": false + "is_pure": false, + "text": "totalBets" }, "right_expression": { "id": 1324, @@ -27456,7 +27827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1310, - "is_pure": false + "is_pure": false, + "text": "feeAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -27471,7 +27843,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "finalBettingAmount=totalBets-feeAmount;" }, { "id": 1325, @@ -27514,7 +27887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "admin" }, { "id": 1329, @@ -27540,7 +27914,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "feeAmount" } ], "expression": { @@ -27584,14 +27959,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 983, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "usdt.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -27768,7 +28145,8 @@ "type_description": { "type_identifier": "t_function_$_t_enum_$_ResultStatus_$1021$", "type_string": "function(enum Qatar_Ecuador.ResultStatus)" - } + }, + "text": "functiondeclareResult(ResultStatus_result)externalnotDeclareonlyOwner{resultStatus=_result;emitDeclareResult(uint256(_result));if(_result!=ResultStatus.Cancel\u0026\u0026_result!=ResultStatus.NotDeclare){uint256totalBets=(totalBetsA+totalBetsB);uint256feeAmount=(totalBets*fee)/1e5;finalBettingAmount=totalBets-feeAmount;usdt.safeTransfer(admin,feeAmount);}}" }, { "id": 1331, @@ -27907,14 +28285,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } }, { @@ -28014,7 +28394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1345, - "is_pure": false + "is_pure": false, + "text": "_user" } ], "expression": { @@ -28035,7 +28416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getUserClaimAmount" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28095,7 +28477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1016, - "is_pure": false + "is_pure": false, + "text": "userClaimed" }, "base_expression": { "id": 1360, @@ -28115,7 +28498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1345, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -28152,7 +28536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -28162,7 +28547,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "userClaimed[_user]=true;" }, { "id": 1362, @@ -28207,7 +28593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1350, - "is_pure": false + "is_pure": false, + "text": "claimAmount" }, "right_expression": { "id": 1365, @@ -28229,7 +28616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -28280,7 +28668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1106, - "is_pure": false + "is_pure": false, + "text": "_user" }, { "id": 1369, @@ -28300,7 +28689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1350, - "is_pure": false + "is_pure": false, + "text": "claimAmount" } ], "expression": { @@ -28321,7 +28711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1042, - "is_pure": false + "is_pure": false, + "text": "Claim" } }, { @@ -28365,7 +28756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_user" }, { "id": 1375, @@ -28391,7 +28783,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "claimAmount" } ], "expression": { @@ -28435,14 +28828,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 983, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "usdt.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -28484,7 +28879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -28584,14 +28980,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "modifier_name": { @@ -28734,7 +29132,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionclaim()externaldeclarenotClaimed(msg.sender)returns(bool){address_user=msg.sender;uint256claimAmount=getUserClaimAmount(_user);userClaimed[_user]=true;if(claimAmount\u003e0){emitClaim(_user,claimAmount);usdt.safeTransfer(_user,claimAmount);}returntrue;}" }, { "id": 1379, @@ -28812,7 +29211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 996, - "is_pure": false + "is_pure": false, + "text": "fee" }, "right_expression": { "id": 1394, @@ -28832,7 +29232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1394, - "is_pure": false + "is_pure": false, + "text": "_newfee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -28842,7 +29243,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 1e4" - } + }, + "text": "fee=_newfee;" }, { "id": 1395, @@ -28876,7 +29278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -29070,7 +29473,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionchangeFee(uint256_newfee)externalonlyOwnernotDeclarereturns(bool){fee=_newfee;returntrue;}" }, { "id": 1398, @@ -29148,7 +29552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 987, - "is_pure": false + "is_pure": false, + "text": "admin" }, "right_expression": { "id": 1411, @@ -29168,7 +29573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1411, - "is_pure": false + "is_pure": false, + "text": "_admin" }, "type_description": { "type_identifier": "t_address", @@ -29178,7 +29584,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "admin=_admin;" }, { "id": 1412, @@ -29212,7 +29619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -29378,7 +29786,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionchangeAdmin(address_admin)externalonlyOwnerreturns(bool){admin=_admin;returntrue;}" }, { "id": 1415, @@ -29456,7 +29865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1003, - "is_pure": false + "is_pure": false, + "text": "startbet" }, "right_expression": { "id": 1424, @@ -29478,7 +29888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -29488,7 +29899,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "startbet=true;" } ] }, @@ -29562,7 +29974,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstartBetting()externalonlyOwner{startbet=true;}" }, { "id": 1426, @@ -29640,7 +30053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1003, - "is_pure": false + "is_pure": false, + "text": "startbet" }, "right_expression": { "id": 1435, @@ -29662,7 +30076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -29672,7 +30087,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "startbet=false;" } ] }, @@ -29746,7 +30162,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstopBetting()externalonlyOwner{startbet=false;}" }, { "id": 1437, @@ -29845,7 +30262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "resultStatus" } ], "expression": { @@ -29890,7 +30308,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -29917,7 +30336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -29970,7 +30390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"Not Declared\"" } } ] @@ -30108,7 +30529,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functiongetResultStatus()publicviewreturns(stringmemory){if(uint256(resultStatus)==0){return\"Not Declared\";}elseif(uint256(resultStatus)==1){return\"Winner A\";}elseif(uint256(resultStatus)==2){return\"Winner B\";}elseif(uint256(resultStatus)==3){return\"Cancel\";}else{return\"Draw\";}}" }, { "id": 1456, @@ -30244,7 +30666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1054, - "is_pure": false + "is_pure": false, + "text": "resultStatus" } }, { @@ -30336,7 +30759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1006, - "is_pure": false + "is_pure": false, + "text": "userBets" }, "base_expression": { "id": 1474, @@ -30356,7 +30780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1474, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -30463,7 +30888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1011, - "is_pure": false + "is_pure": false, + "text": "userChoice" }, "base_expression": { "id": 1480, @@ -30483,7 +30909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1480, - "is_pure": false + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { @@ -30544,7 +30971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1464, - "is_pure": false + "is_pure": false, + "text": "resultstatus" }, "right_expression": { "id": 1484, @@ -30587,14 +31015,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "ResultStatus" }, "member_name": "NotDeclare", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_ResultStatus_$1021", "type_string": "enum Qatar_Ecuador.ResultStatus" - } + }, + "text": "ResultStatus.NotDeclare" }, "type_description": { "type_identifier": "t_bool", @@ -30647,7 +31077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -30786,7 +31217,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetUserClaimAmount(address_user)publicviewreturns(uint256){ResultStatusresultstatus=resultStatus;uint256amount=userBets[_user];uint8choice=userChoice[_user];if(resultstatus==ResultStatus.NotDeclare){return0;}elseif(resultstatus==ResultStatus.Cancel){returnamount;}elseif(resultstatus==ResultStatus.Draw){return((amount*(1e5-fee))/1e5);}elseif(resultstatus==ResultStatus.WinnerA){return(choice==1)?(finalBettingAmount*amount)/(totalBetsA):0;}else{return(choice==2)?(finalBettingAmount*amount)/(totalBetsB):0;}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Qatar_Ecuador.solgo.ast.proto.json b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Qatar_Ecuador.solgo.ast.proto.json index c70594fa..d4771b95 100644 --- a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Qatar_Ecuador.solgo.ast.proto.json +++ b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/Qatar_Ecuador.solgo.ast.proto.json @@ -1407,6 +1407,7 @@ "parentIndex": "1558", "start": "25852" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "25870", @@ -1495,6 +1496,7 @@ "parentIndex": "1562", "start": "25901" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "25917", @@ -1583,6 +1585,7 @@ "parentIndex": "1566", "start": "25950" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "25965", @@ -3749,7 +3752,7 @@ } }, "scope": "96", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "5962", @@ -4138,7 +4141,7 @@ } }, "scope": "96", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "6889", @@ -4563,7 +4566,7 @@ } }, "scope": "96", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "7334", @@ -4988,7 +4991,7 @@ } }, "scope": "96", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "7950", @@ -5923,7 +5926,7 @@ } }, "scope": "96", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "8644", @@ -6271,7 +6274,7 @@ } }, "scope": "96", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "9018", @@ -6905,7 +6908,7 @@ } }, "scope": "96", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "9528", @@ -7253,7 +7256,7 @@ } }, "scope": "96", - "signature": "ce0c9802", + "signature": "ee33b7e2", "src": { "column": "4", "end": "9905", @@ -7887,7 +7890,7 @@ } }, "scope": "96", - "signature": "a6f0db75", + "signature": "57387df0", "src": { "column": "4", "end": "10416", @@ -8517,7 +8520,7 @@ } }, "scope": "96", - "signature": "ac377f6d", + "signature": "1daa78c1", "src": { "column": "4", "end": "11332", @@ -8836,7 +8839,7 @@ } }, "scope": "96", - "signature": "15a412bd", + "signature": "946b5793", "src": { "column": "4", "end": "11848", @@ -9597,7 +9600,7 @@ } }, "scope": "96", - "signature": "26a4ef1a", + "signature": "6cadf5e1", "src": { "column": "4", "end": "12394", @@ -10015,7 +10018,7 @@ } }, "scope": "419", - "signature": "f8e100d5", + "signature": "d505accf", "src": { "column": "4", "end": "14076", @@ -11177,7 +11180,7 @@ } }, "scope": "461", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "15989", @@ -11365,7 +11368,7 @@ } }, "scope": "461", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "16347", @@ -11552,7 +11555,7 @@ } }, "scope": "461", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "17074", @@ -11778,7 +11781,7 @@ } }, "scope": "461", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "17490", @@ -12407,7 +12410,7 @@ } }, "scope": "549", - "signature": "8d2f8c29", + "signature": "d6e935fe", "src": { "column": "4", "end": "18391", @@ -12989,7 +12992,7 @@ } }, "scope": "549", - "signature": "d9098537", + "signature": "d0e2343c", "src": { "column": "4", "end": "18638", @@ -13944,7 +13947,7 @@ } }, "scope": "549", - "signature": "11e8fd6d", + "signature": "75a98b8a", "src": { "column": "4", "end": "19501", @@ -14755,7 +14758,7 @@ } }, "scope": "549", - "signature": "d5ee8724", + "signature": "8d3df938", "src": { "column": "4", "end": "19817", @@ -15813,7 +15816,7 @@ } }, "scope": "549", - "signature": "dd6a69b1", + "signature": "d9cb6425", "src": { "column": "4", "end": "20309", @@ -17075,7 +17078,7 @@ } }, "scope": "549", - "signature": "f8fe8854", + "signature": "1f73058e", "src": { "column": "4", "end": "20787", @@ -17878,7 +17881,7 @@ } }, "scope": "549", - "signature": "50effced", + "signature": "8a35aadd", "src": { "column": "4", "end": "21876", @@ -21014,6 +21017,7 @@ "parentIndex": "1007", "start": "25852" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "25870", @@ -21104,6 +21108,7 @@ "parentIndex": "1012", "start": "25901" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "25917", @@ -21194,6 +21199,7 @@ "parentIndex": "1017", "start": "25950" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "25965", diff --git a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/SafeERC20.solgo.ast.json b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/SafeERC20.solgo.ast.json index a66ab57e..7511c936 100644 --- a/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/SafeERC20.solgo.ast.json +++ b/data/tests/contracts/10x275659c6e77f9c5f6d3fc93adb388017d00500a7/SafeERC20.solgo.ast.json @@ -186,7 +186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 568, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 569, @@ -279,21 +280,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 574, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 575, @@ -319,7 +323,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 576, @@ -349,7 +354,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -393,14 +399,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -426,7 +434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -622,13 +631,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 578, @@ -706,7 +716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 593, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 594, @@ -803,21 +814,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 599, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 600, @@ -843,7 +857,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 601, @@ -873,7 +888,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 602, @@ -907,7 +923,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -951,14 +968,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -984,7 +1003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -1224,13 +1244,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 604, @@ -1350,7 +1371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 620, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 621, @@ -1372,7 +1394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1473,7 +1496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -1519,7 +1543,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1550,7 +1575,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -1594,14 +1620,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 626, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -1628,7 +1656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1672,7 +1701,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -1693,7 +1723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -1741,7 +1772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 636, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 637, @@ -1834,21 +1866,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 642, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 643, @@ -1874,7 +1909,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 644, @@ -1904,7 +1940,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -1948,14 +1985,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -1981,7 +2020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2177,13 +2217,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 646, @@ -2354,7 +2395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2400,7 +2442,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2431,7 +2474,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -2475,14 +2519,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 663, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2507,7 +2553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 669, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2556,7 +2603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 673, @@ -2649,21 +2697,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 678, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 679, @@ -2689,7 +2740,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 680, @@ -2719,7 +2771,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -2763,14 +2816,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2796,7 +2851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2992,13 +3048,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256newAllowance=token.allowance(address(this),spender)+value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}" }, { "id": 682, @@ -3169,7 +3226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3215,7 +3273,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3246,7 +3305,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -3290,14 +3350,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 699, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -3360,7 +3422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 694, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 709, @@ -3380,7 +3443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 709, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -3413,7 +3477,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -3434,7 +3499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3533,7 +3599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 694, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 716, @@ -3553,7 +3620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 716, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -3602,7 +3670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 720, @@ -3695,21 +3764,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 725, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 726, @@ -3735,7 +3807,8 @@ "type_identifier": "t_contract$_IERC20_$457", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 727, @@ -3765,7 +3838,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -3809,14 +3883,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3842,7 +3918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -4040,13 +4117,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");uint256newAllowance=oldAllowance-value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}}" }, { "id": 729, @@ -4180,7 +4258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 756, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -4224,14 +4303,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 755, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$416", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4300,7 +4381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 760, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 761, @@ -4326,7 +4408,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 762, @@ -4356,7 +4439,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { "id": 763, @@ -4390,7 +4474,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 764, @@ -4428,7 +4513,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 765, @@ -4470,7 +4556,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 766, @@ -4516,7 +4603,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -4560,14 +4648,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 759, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "permit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$416", "type_string": "contract IERC20Permit" - } + }, + "text": "token.permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -4671,7 +4761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -4715,14 +4806,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 772, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$416", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4785,7 +4878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 767, - "is_pure": false + "is_pure": false, + "text": "nonceAfter" }, "right_expression": { "id": 778, @@ -4819,7 +4913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 750, - "is_pure": false + "is_pure": false, + "text": "nonceBefore" }, "right_expression": { "id": 780, @@ -4841,7 +4936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -4879,7 +4975,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: permit did not succeed\"" } ], "expression": { @@ -4900,7 +4997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5312,13 +5410,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safePermit(, address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8fe8854", + "signature_raw": "safePermit(,address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "1f73058e", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Permit_$416$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(contract IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionsafePermit(IERC20Permittoken,addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)internal{uint256nonceBefore=token.nonces(owner);token.permit(owner,spender,value,deadline,v,r,s);uint256nonceAfter=token.nonces(owner);require(nonceAfter==nonceBefore+1,\"SafeERC20: permit did not succeed\");}" }, { "id": 783, @@ -5456,7 +5555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 801, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 802, @@ -5484,7 +5584,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -5547,7 +5648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -5593,7 +5695,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5605,7 +5708,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -5679,14 +5783,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 807, @@ -5708,7 +5814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5793,7 +5900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 815, @@ -5845,7 +5953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -5895,14 +6004,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -5935,7 +6046,8 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -5956,7 +6068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -6111,13 +6224,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 549, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$457$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");if(returndata.length\u003e0){require(abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AccessControlUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AccessControlUpgradeable.solgo.ast.json index 7919d617..03e31446 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AccessControlUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AccessControlUpgradeable.solgo.ast.json @@ -292,7 +292,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__AccessControl_init()internalonlyInitializing{}" }, { "id": 2537, @@ -400,7 +401,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__AccessControl_init_unchained()internalonlyInitializing{}" }, { "id": 2544, @@ -443,7 +445,7 @@ "name": "members", "type_name": { "id": 2546, - "node_type": 0, + "node_type": 53, "src": { "line": 1094, "column": 8, @@ -575,7 +577,7 @@ }, "scope": 2520, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "visibility": 2, @@ -583,7 +585,7 @@ "mutability": 1, "type_name": { "id": 2553, - "node_type": 0, + "node_type": 69, "src": { "line": 1098, "column": 4, @@ -620,7 +622,7 @@ }, "value_type": { "id": 2555, - "node_type": 30, + "node_type": 69, "src": { "line": 1098, "column": 23, @@ -630,10 +632,10 @@ "parent_index": 2553 }, "name": "RoleData", - "referenced_declaration": 0, + "referenced_declaration": 2544, "type_description": { - "type_identifier": "t_RoleData", - "type_string": "RoleData" + "type_identifier": "t_struct$_AccessControlUpgradeable_RoleData_$2544", + "type_string": "struct AccessControlUpgradeable.RoleData" } }, "value_name_location": { @@ -644,16 +646,38 @@ "length": 8, "parent_index": 2553 }, - "referenced_declaration": 0, + "path_node": { + "id": 2556, + "name": "RoleData", + "node_type": 52, + "referenced_declaration": 2544, + "src": { + "line": 1098, + "column": 23, + "start": 40297, + "end": 40304, + "length": 8, + "parent_index": 2553 + }, + "name_location": { + "line": 1098, + "column": 23, + "start": 40297, + "end": 40304, + "length": 8, + "parent_index": 2553 + } + }, + "referenced_declaration": 2544, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" } }, "initial_value": null }, { - "id": 2557, + "id": 2558, "name": "DEFAULT_ADMIN_ROLE", "is_constant": true, "is_state_variable": true, @@ -675,7 +699,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2558, + "id": 2559, "node_type": 30, "src": { "line": 1100, @@ -683,7 +707,7 @@ "start": 40328, "end": 40334, "length": 7, - "parent_index": 2557 + "parent_index": 2558 }, "name": "bytes32", "referenced_declaration": 0, @@ -693,7 +717,7 @@ } }, "initial_value": { - "id": 2559, + "id": 2560, "node_type": 17, "kind": 49, "value": "0x00", @@ -704,7 +728,7 @@ "start": 40373, "end": 40376, "length": 4, - "parent_index": 2557 + "parent_index": 2558 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -712,11 +736,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x00" } }, { - "id": 2561, + "id": 2562, "name": "onlyRole", "node_type": 68, "src": { @@ -733,12 +758,12 @@ "start": 40773, "end": 40780, "length": 8, - "parent_index": 2561 + "parent_index": 2562 }, "visibility": 1, "virtual": false, "parameters": { - "id": 2562, + "id": 2563, "node_type": 43, "src": { "line": 1112, @@ -750,7 +775,7 @@ }, "parameters": [ { - "id": 2563, + "id": 2564, "node_type": 44, "src": { "line": 1112, @@ -758,12 +783,12 @@ "start": 40782, "end": 40793, "length": 12, - "parent_index": 2562 + "parent_index": 2563 }, "scope": 2520, "name": "role", "type_name": { - "id": 2564, + "id": 2565, "node_type": 30, "src": { "line": 1112, @@ -771,7 +796,7 @@ "start": 40782, "end": 40788, "length": 7, - "parent_index": 2563 + "parent_index": 2564 }, "name": "bytes32", "referenced_declaration": 0, @@ -797,7 +822,7 @@ ] }, "body": { - "id": 2565, + "id": 2566, "node_type": 46, "kind": 0, "src": { @@ -806,12 +831,12 @@ "start": 40796, "end": 40839, "length": 44, - "parent_index": 2561 + "parent_index": 2562 }, "implemented": true, "statements": [ { - "id": 2566, + "id": 2567, "node_type": 24, "kind": 24, "src": { @@ -820,7 +845,7 @@ "start": 40806, "end": 40821, "length": 16, - "parent_index": 2565 + "parent_index": 2566 }, "argument_types": [ { @@ -830,7 +855,7 @@ ], "arguments": [ { - "id": 2568, + "id": 2569, "node_type": 16, "src": { "line": 1113, @@ -838,7 +863,7 @@ "start": 40817, "end": 40820, "length": 4, - "parent_index": 2566 + "parent_index": 2567 }, "name": "role", "type_description": { @@ -847,11 +872,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2567, + "id": 2568, "node_type": 16, "src": { "line": 1113, @@ -859,7 +885,7 @@ "start": 40806, "end": 40815, "length": 10, - "parent_index": 2566 + "parent_index": 2567 }, "name": "_checkRole", "type_description": { @@ -868,7 +894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -876,7 +903,7 @@ } }, { - "id": 2569, + "id": 2570, "node_type": 82, "src": { "line": 1114, @@ -884,7 +911,7 @@ "start": 40832, "end": 40832, "length": 1, - "parent_index": 2565 + "parent_index": 2566 }, "name": "_", "type_description": { @@ -893,13 +920,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 2571, + "id": 2572, "name": "supportsInterface", "node_type": 42, "kind": 41, @@ -917,10 +945,10 @@ "start": 40916, "end": 40932, "length": 17, - "parent_index": 2571 + "parent_index": 2572 }, "body": { - "id": 2579, + "id": 2580, "node_type": 46, "kind": 0, "src": { @@ -929,12 +957,12 @@ "start": 40998, "end": 41119, "length": 122, - "parent_index": 2571 + "parent_index": 2572 }, "implemented": true, "statements": [ { - "id": 2580, + "id": 2581, "node_type": 47, "src": { "line": 1121, @@ -942,11 +970,11 @@ "start": 41008, "end": 41113, "length": 106, - "parent_index": 2571 + "parent_index": 2572 }, - "function_return_parameters": 2571, + "function_return_parameters": 2572, "expression": { - "id": 2581, + "id": 2582, "is_constant": false, "is_pure": false, "node_type": 19, @@ -956,11 +984,11 @@ "start": 41015, "end": 41112, "length": 98, - "parent_index": 2580 + "parent_index": 2581 }, "operator": 33, "left_expression": { - "id": 2582, + "id": 2583, "is_constant": false, "is_pure": false, "node_type": 19, @@ -970,11 +998,11 @@ "start": 41015, "end": 41072, "length": 58, - "parent_index": 2581 + "parent_index": 2582 }, "operator": 11, "left_expression": { - "id": 2583, + "id": 2584, "node_type": 16, "src": { "line": 1121, @@ -982,7 +1010,7 @@ "start": 41015, "end": 41025, "length": 11, - "parent_index": 2582 + "parent_index": 2583 }, "name": "interfaceId", "type_description": { @@ -990,11 +1018,12 @@ "type_string": "bytes4" }, "overloaded_declarations": [], - "referenced_declaration": 2583, - "is_pure": false + "referenced_declaration": 2584, + "is_pure": false, + "text": "interfaceId" }, "right_expression": { - "id": 2584, + "id": 2585, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1006,7 +1035,7 @@ "start": 41030, "end": 41072, "length": 43, - "parent_index": 2582 + "parent_index": 2583 }, "member_location": { "line": 1121, @@ -1014,10 +1043,10 @@ "start": 41062, "end": 41072, "length": 11, - "parent_index": 2584 + "parent_index": 2585 }, "expression": { - "id": 2585, + "id": 2586, "node_type": 16, "name": "type", "src": { @@ -1026,7 +1055,7 @@ "start": 41030, "end": 41060, "length": 31, - "parent_index": 2584 + "parent_index": 2585 }, "type_description": { "type_identifier": "", @@ -1038,7 +1067,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IAccessControlUpgradeable).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -1046,7 +1076,7 @@ } }, "right_expression": { - "id": 2586, + "id": 2587, "node_type": 24, "kind": 24, "src": { @@ -1055,7 +1085,7 @@ "start": 41077, "end": 41112, "length": 36, - "parent_index": 2581 + "parent_index": 2582 }, "argument_types": [ { @@ -1065,7 +1095,7 @@ ], "arguments": [ { - "id": 2589, + "id": 2590, "node_type": 16, "src": { "line": 1121, @@ -1073,7 +1103,7 @@ "start": 41101, "end": 41111, "length": 11, - "parent_index": 2586 + "parent_index": 2587 }, "name": "interfaceId", "type_description": { @@ -1081,12 +1111,13 @@ "type_string": "bytes4" }, "overloaded_declarations": [], - "referenced_declaration": 2589, - "is_pure": false + "referenced_declaration": 2590, + "is_pure": false, + "text": "interfaceId" } ], "expression": { - "id": 2587, + "id": 2588, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1098,7 +1129,7 @@ "start": 41077, "end": 41099, "length": 23, - "parent_index": 2586 + "parent_index": 2587 }, "member_location": { "line": 1121, @@ -1106,10 +1137,10 @@ "start": 41083, "end": 41099, "length": 17, - "parent_index": 2587 + "parent_index": 2588 }, "expression": { - "id": 2588, + "id": 2589, "node_type": 16, "src": { "line": 1121, @@ -1117,7 +1148,7 @@ "start": 41077, "end": 41081, "length": 5, - "parent_index": 2587 + "parent_index": 2588 }, "name": "super", "type_description": { @@ -1126,14 +1157,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -1155,7 +1188,7 @@ "modifiers": [], "overrides": [ { - "id": 2575, + "id": 2576, "node_type": 63, "src": { "line": 1120, @@ -1163,7 +1196,7 @@ "start": 40974, "end": 40981, "length": 8, - "parent_index": 2571 + "parent_index": 2572 }, "overrides": [], "referenced_declaration": 0, @@ -1174,7 +1207,7 @@ } ], "parameters": { - "id": 2572, + "id": 2573, "node_type": 43, "src": { "line": 1120, @@ -1182,11 +1215,11 @@ "start": 40934, "end": 40951, "length": 18, - "parent_index": 2571 + "parent_index": 2572 }, "parameters": [ { - "id": 2573, + "id": 2574, "node_type": 44, "src": { "line": 1120, @@ -1194,12 +1227,12 @@ "start": 40934, "end": 40951, "length": 18, - "parent_index": 2572 + "parent_index": 2573 }, - "scope": 2571, + "scope": 2572, "name": "interfaceId", "type_name": { - "id": 2574, + "id": 2575, "node_type": 30, "src": { "line": 1120, @@ -1207,7 +1240,7 @@ "start": 40934, "end": 40939, "length": 6, - "parent_index": 2573 + "parent_index": 2574 }, "name": "bytes4", "referenced_declaration": 0, @@ -1233,7 +1266,7 @@ ] }, "return_parameters": { - "id": 2576, + "id": 2577, "node_type": 43, "src": { "line": 1120, @@ -1241,11 +1274,11 @@ "start": 40992, "end": 40995, "length": 4, - "parent_index": 2571 + "parent_index": 2572 }, "parameters": [ { - "id": 2577, + "id": 2578, "node_type": 44, "src": { "line": 1120, @@ -1253,12 +1286,12 @@ "start": 40992, "end": 40995, "length": 4, - "parent_index": 2576 + "parent_index": 2577 }, - "scope": 2571, + "scope": 2572, "name": "", "type_name": { - "id": 2578, + "id": 2579, "node_type": 30, "src": { "line": 1120, @@ -1266,7 +1299,7 @@ "start": 40992, "end": 40995, "length": 4, - "parent_index": 2577 + "parent_index": 2578 }, "name": "bool", "referenced_declaration": 0, @@ -1297,10 +1330,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IAccessControlUpgradeable).interfaceId||super.supportsInterface(interfaceId);}" }, { - "id": 2591, + "id": 2592, "name": "hasRole", "node_type": 42, "kind": 41, @@ -1318,10 +1352,10 @@ "start": 41216, "end": 41222, "length": 7, - "parent_index": 2591 + "parent_index": 2592 }, "body": { - "id": 2601, + "id": 2602, "node_type": 46, "kind": 0, "src": { @@ -1330,12 +1364,12 @@ "start": 41299, "end": 41351, "length": 53, - "parent_index": 2591 + "parent_index": 2592 }, "implemented": true, "statements": [ { - "id": 2602, + "id": 2603, "node_type": 47, "src": { "line": 1128, @@ -1343,11 +1377,11 @@ "start": 41309, "end": 41345, "length": 37, - "parent_index": 2591 + "parent_index": 2592 }, - "function_return_parameters": 2591, + "function_return_parameters": 2592, "expression": { - "id": 2603, + "id": 2604, "node_type": 22, "src": { "line": 1128, @@ -1355,10 +1389,10 @@ "start": 41316, "end": 41344, "length": 29, - "parent_index": 2602 + "parent_index": 2603 }, "index_expression": { - "id": 2604, + "id": 2605, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1370,7 +1404,7 @@ "start": 41316, "end": 41335, "length": 20, - "parent_index": 2603 + "parent_index": 2604 }, "member_location": { "line": 1128, @@ -1378,10 +1412,10 @@ "start": 41329, "end": 41335, "length": 7, - "parent_index": 2604 + "parent_index": 2605 }, "expression": { - "id": 2605, + "id": 2606, "node_type": 22, "src": { "line": 1128, @@ -1389,10 +1423,10 @@ "start": 41316, "end": 41327, "length": 12, - "parent_index": 2604 + "parent_index": 2605 }, "index_expression": { - "id": 2606, + "id": 2607, "node_type": 16, "src": { "line": 1128, @@ -1400,19 +1434,20 @@ "start": 41316, "end": 41321, "length": 6, - "parent_index": 2605 + "parent_index": 2606 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2607, + "id": 2608, "node_type": 16, "src": { "line": 1128, @@ -1420,7 +1455,7 @@ "start": 41323, "end": 41326, "length": 4, - "parent_index": 2605 + "parent_index": 2606 }, "name": "role", "type_description": { @@ -1428,12 +1463,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2607, - "is_pure": false + "referenced_declaration": 2608, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -1442,19 +1478,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2608, + "id": 2609, "node_type": 16, "src": { "line": 1128, @@ -1462,7 +1499,7 @@ "start": 41337, "end": 41343, "length": 7, - "parent_index": 2603 + "parent_index": 2604 }, "name": "account", "type_description": { @@ -1470,12 +1507,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2608, - "is_pure": false + "referenced_declaration": 2609, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -1484,7 +1522,7 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } @@ -1498,7 +1536,7 @@ "modifiers": [], "overrides": [ { - "id": 2597, + "id": 2598, "node_type": 63, "src": { "line": 1127, @@ -1506,7 +1544,7 @@ "start": 41275, "end": 41282, "length": 8, - "parent_index": 2591 + "parent_index": 2592 }, "overrides": [], "referenced_declaration": 0, @@ -1517,7 +1555,7 @@ } ], "parameters": { - "id": 2592, + "id": 2593, "node_type": 43, "src": { "line": 1127, @@ -1525,11 +1563,11 @@ "start": 41224, "end": 41252, "length": 29, - "parent_index": 2591 + "parent_index": 2592 }, "parameters": [ { - "id": 2593, + "id": 2594, "node_type": 44, "src": { "line": 1127, @@ -1537,12 +1575,12 @@ "start": 41224, "end": 41235, "length": 12, - "parent_index": 2592 + "parent_index": 2593 }, - "scope": 2591, + "scope": 2592, "name": "role", "type_name": { - "id": 2594, + "id": 2595, "node_type": 30, "src": { "line": 1127, @@ -1550,7 +1588,7 @@ "start": 41224, "end": 41230, "length": 7, - "parent_index": 2593 + "parent_index": 2594 }, "name": "bytes32", "referenced_declaration": 0, @@ -1568,7 +1606,7 @@ } }, { - "id": 2595, + "id": 2596, "node_type": 44, "src": { "line": 1127, @@ -1576,12 +1614,12 @@ "start": 41238, "end": 41252, "length": 15, - "parent_index": 2592 + "parent_index": 2593 }, - "scope": 2591, + "scope": 2592, "name": "account", "type_name": { - "id": 2596, + "id": 2597, "node_type": 30, "src": { "line": 1127, @@ -1589,7 +1627,7 @@ "start": 41238, "end": 41244, "length": 7, - "parent_index": 2595 + "parent_index": 2596 }, "name": "address", "state_mutability": 4, @@ -1620,7 +1658,7 @@ ] }, "return_parameters": { - "id": 2598, + "id": 2599, "node_type": 43, "src": { "line": 1127, @@ -1628,11 +1666,11 @@ "start": 41293, "end": 41296, "length": 4, - "parent_index": 2591 + "parent_index": 2592 }, "parameters": [ { - "id": 2599, + "id": 2600, "node_type": 44, "src": { "line": 1127, @@ -1640,12 +1678,12 @@ "start": 41293, "end": 41296, "length": 4, - "parent_index": 2598 + "parent_index": 2599 }, - "scope": 2591, + "scope": 2592, "name": "", "type_name": { - "id": 2600, + "id": 2601, "node_type": 30, "src": { "line": 1127, @@ -1653,7 +1691,7 @@ "start": 41293, "end": 41296, "length": 4, - "parent_index": 2599 + "parent_index": 2600 }, "name": "bool", "referenced_declaration": 0, @@ -1678,16 +1716,17 @@ } ] }, - "signature_raw": "hasRole(bytes32, address)", - "signature": "86282e07", + "signature_raw": "hasRole(bytes32,address)", + "signature": "91d14854", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionhasRole(bytes32role,addressaccount)publicviewvirtualoverridereturns(bool){return_roles[role].members[account];}" }, { - "id": 2610, + "id": 2611, "name": "_checkRole", "node_type": 42, "kind": 41, @@ -1705,10 +1744,10 @@ "start": 41655, "end": 41664, "length": 10, - "parent_index": 2610 + "parent_index": 2611 }, "body": { - "id": 2615, + "id": 2616, "node_type": 46, "kind": 0, "src": { @@ -1717,12 +1756,12 @@ "start": 41702, "end": 41748, "length": 47, - "parent_index": 2610 + "parent_index": 2611 }, "implemented": true, "statements": [ { - "id": 2616, + "id": 2617, "node_type": 24, "kind": 24, "src": { @@ -1731,7 +1770,7 @@ "start": 41712, "end": 41741, "length": 30, - "parent_index": 2615 + "parent_index": 2616 }, "argument_types": [ { @@ -1745,7 +1784,7 @@ ], "arguments": [ { - "id": 2618, + "id": 2619, "node_type": 16, "src": { "line": 1140, @@ -1753,7 +1792,7 @@ "start": 41723, "end": 41726, "length": 4, - "parent_index": 2616 + "parent_index": 2617 }, "name": "role", "type_description": { @@ -1761,11 +1800,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2618, - "is_pure": false + "referenced_declaration": 2619, + "is_pure": false, + "text": "role" }, { - "id": 2619, + "id": 2620, "node_type": 24, "kind": 24, "src": { @@ -1774,12 +1814,12 @@ "start": 41729, "end": 41740, "length": 12, - "parent_index": 2616 + "parent_index": 2617 }, "argument_types": [], "arguments": [], "expression": { - "id": 2620, + "id": 2621, "node_type": 16, "src": { "line": 1140, @@ -1787,7 +1827,7 @@ "start": 41729, "end": 41738, "length": 10, - "parent_index": 2619 + "parent_index": 2620 }, "name": "_msgSender", "type_description": { @@ -1796,7 +1836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1805,7 +1846,7 @@ } ], "expression": { - "id": 2617, + "id": 2618, "node_type": 16, "src": { "line": 1140, @@ -1813,7 +1854,7 @@ "start": 41712, "end": 41721, "length": 10, - "parent_index": 2616 + "parent_index": 2617 }, "name": "_checkRole", "type_description": { @@ -1822,7 +1863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_function_$", @@ -1838,7 +1880,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2611, + "id": 2612, "node_type": 43, "src": { "line": 1139, @@ -1846,11 +1888,11 @@ "start": 41666, "end": 41677, "length": 12, - "parent_index": 2610 + "parent_index": 2611 }, "parameters": [ { - "id": 2612, + "id": 2613, "node_type": 44, "src": { "line": 1139, @@ -1858,12 +1900,12 @@ "start": 41666, "end": 41677, "length": 12, - "parent_index": 2611 + "parent_index": 2612 }, - "scope": 2610, + "scope": 2611, "name": "role", "type_name": { - "id": 2613, + "id": 2614, "node_type": 30, "src": { "line": 1139, @@ -1871,7 +1913,7 @@ "start": 41666, "end": 41672, "length": 7, - "parent_index": 2612 + "parent_index": 2613 }, "name": "bytes32", "referenced_declaration": 0, @@ -1897,7 +1939,7 @@ ] }, "return_parameters": { - "id": 2614, + "id": 2615, "node_type": 43, "src": { "line": 1139, @@ -1905,7 +1947,7 @@ "start": 41646, "end": 41748, "length": 103, - "parent_index": 2610 + "parent_index": 2611 }, "parameters": [], "parameter_types": [] @@ -1916,10 +1958,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "function_checkRole(bytes32role)internalviewvirtual{_checkRole(role,_msgSender());}" }, { - "id": 2622, + "id": 2623, "name": "_checkRole", "node_type": 42, "kind": 41, @@ -1937,10 +1980,10 @@ "start": 42039, "end": 42048, "length": 10, - "parent_index": 2622 + "parent_index": 2623 }, "body": { - "id": 2629, + "id": 2630, "node_type": 46, "kind": 0, "src": { @@ -1949,12 +1992,12 @@ "start": 42103, "end": 42543, "length": 441, - "parent_index": 2622 + "parent_index": 2623 }, "implemented": true, "statements": [ { - "id": 2630, + "id": 2631, "node_type": 48, "src": { "line": 1151, @@ -1962,10 +2005,10 @@ "start": 42113, "end": 42537, "length": 425, - "parent_index": 2629 + "parent_index": 2630 }, "condition": { - "id": 2631, + "id": 2632, "node_type": 18, "kind": 104, "src": { @@ -1974,7 +2017,7 @@ "start": 42117, "end": 42139, "length": 23, - "parent_index": 2622 + "parent_index": 2623 }, "operator": 31, "prefix": false, @@ -1983,7 +2026,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 2632, + "id": 2633, "node_type": 24, "kind": 24, "src": { @@ -1992,7 +2035,7 @@ "start": 42118, "end": 42139, "length": 22, - "parent_index": 2631 + "parent_index": 2632 }, "argument_types": [ { @@ -2006,7 +2049,7 @@ ], "arguments": [ { - "id": 2634, + "id": 2635, "node_type": 16, "src": { "line": 1151, @@ -2014,7 +2057,7 @@ "start": 42126, "end": 42129, "length": 4, - "parent_index": 2632 + "parent_index": 2633 }, "name": "role", "type_description": { @@ -2022,11 +2065,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2634, - "is_pure": false + "referenced_declaration": 2635, + "is_pure": false, + "text": "role" }, { - "id": 2635, + "id": 2636, "node_type": 16, "src": { "line": 1151, @@ -2034,7 +2078,7 @@ "start": 42132, "end": 42138, "length": 7, - "parent_index": 2632 + "parent_index": 2633 }, "name": "account", "type_description": { @@ -2042,18 +2086,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2635, + "referenced_declaration": 2636, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2633, + "id": 2634, "node_type": 16, "src": { "line": 1151, @@ -2061,7 +2106,7 @@ "start": 42118, "end": 42124, "length": 7, - "parent_index": 2632 + "parent_index": 2633 }, "name": "hasRole", "type_description": { @@ -2070,7 +2115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -2083,7 +2129,7 @@ } }, "body": { - "id": 2636, + "id": 2637, "node_type": 46, "kind": 0, "src": { @@ -2092,12 +2138,12 @@ "start": 42142, "end": 42537, "length": 396, - "parent_index": 2622 + "parent_index": 2623 }, "implemented": true, "statements": [ { - "id": 2637, + "id": 2638, "node_type": 24, "kind": 24, "src": { @@ -2106,7 +2152,7 @@ "start": 42156, "end": 42526, "length": 371, - "parent_index": 2636 + "parent_index": 2637 }, "argument_types": [ { @@ -2116,7 +2162,7 @@ ], "arguments": [ { - "id": 2639, + "id": 2640, "node_type": 24, "kind": 24, "src": { @@ -2125,7 +2171,7 @@ "start": 42180, "end": 42512, "length": 333, - "parent_index": 2637 + "parent_index": 2638 }, "argument_types": [ { @@ -2135,7 +2181,7 @@ ], "arguments": [ { - "id": 2642, + "id": 2643, "node_type": 24, "kind": 24, "src": { @@ -2144,7 +2190,7 @@ "start": 42208, "end": 42494, "length": 287, - "parent_index": 2639 + "parent_index": 2640 }, "argument_types": [ { @@ -2166,7 +2212,7 @@ ], "arguments": [ { - "id": 2645, + "id": 2646, "node_type": 17, "kind": 50, "value": "AccessControl: account", @@ -2177,7 +2223,7 @@ "start": 42250, "end": 42274, "length": 25, - "parent_index": 2642 + "parent_index": 2643 }, "type_description": { "type_identifier": "t_string_literal", @@ -2185,10 +2231,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"AccessControl: account \"" }, { - "id": 2646, + "id": 2647, "node_type": 24, "kind": 24, "src": { @@ -2197,7 +2244,7 @@ "start": 42301, "end": 42352, "length": 52, - "parent_index": 2642 + "parent_index": 2643 }, "argument_types": [ { @@ -2211,7 +2258,7 @@ ], "arguments": [ { - "id": 2649, + "id": 2650, "node_type": 24, "kind": 24, "src": { @@ -2220,7 +2267,7 @@ "start": 42332, "end": 42347, "length": 16, - "parent_index": 2646 + "parent_index": 2647 }, "argument_types": [ { @@ -2230,7 +2277,7 @@ ], "arguments": [ { - "id": 2652, + "id": 2653, "node_type": 16, "src": { "line": 1156, @@ -2238,7 +2285,7 @@ "start": 42340, "end": 42346, "length": 7, - "parent_index": 2649 + "parent_index": 2650 }, "name": "account", "type_description": { @@ -2246,12 +2293,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2652, - "is_pure": false + "referenced_declaration": 2653, + "is_pure": false, + "text": "account" } ], "expression": { - "id": 2650, + "id": 2651, "node_type": 16, "src": { "line": 1156, @@ -2259,11 +2307,11 @@ "start": 42332, "end": 42338, "length": 7, - "parent_index": 2649 + "parent_index": 2650 }, "name": "uint160", "type_name": { - "id": 2651, + "id": 2652, "node_type": 30, "src": { "line": 1156, @@ -2271,7 +2319,7 @@ "start": 42332, "end": 42338, "length": 7, - "parent_index": 2650 + "parent_index": 2651 }, "name": "uint160", "referenced_declaration": 0, @@ -2292,7 +2340,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2300,7 +2349,7 @@ } }, { - "id": 2653, + "id": 2654, "node_type": 17, "kind": 49, "value": "20", @@ -2311,7 +2360,7 @@ "start": 42350, "end": 42351, "length": 2, - "parent_index": 2646 + "parent_index": 2647 }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -2325,11 +2374,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "20" } ], "expression": { - "id": 2647, + "id": 2648, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2341,7 +2391,7 @@ "start": 42301, "end": 42330, "length": 30, - "parent_index": 2646 + "parent_index": 2647 }, "member_location": { "line": 1156, @@ -2349,10 +2399,10 @@ "start": 42320, "end": 42330, "length": 11, - "parent_index": 2647 + "parent_index": 2648 }, "expression": { - "id": 2648, + "id": 2649, "node_type": 16, "src": { "line": 1156, @@ -2360,7 +2410,7 @@ "start": 42301, "end": 42318, "length": 18, - "parent_index": 2647 + "parent_index": 2648 }, "name": "StringsUpgradeable", "type_description": { @@ -2369,14 +2419,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2110, - "is_pure": false + "is_pure": false, + "text": "StringsUpgradeable" }, "member_name": "toHexString", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StringsUpgradeable_$2110", "type_string": "contract StringsUpgradeable" - } + }, + "text": "StringsUpgradeable.toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_rational_20_by_1$", @@ -2384,7 +2436,7 @@ } }, { - "id": 2654, + "id": 2655, "node_type": 17, "kind": 50, "value": "is missing role", @@ -2395,7 +2447,7 @@ "start": 42379, "end": 42397, "length": 19, - "parent_index": 2642 + "parent_index": 2643 }, "type_description": { "type_identifier": "t_string_literal", @@ -2413,10 +2465,11 @@ "type_identifier": "t_function_$_t_function_$_t_address$_t_rational_20_by_1$", "type_string": "function(function(address),int_const 20)" } - ] + ], + "text": "\" is missing role \"" }, { - "id": 2655, + "id": 2656, "node_type": 24, "kind": 24, "src": { @@ -2425,7 +2478,7 @@ "start": 42424, "end": 42472, "length": 49, - "parent_index": 2642 + "parent_index": 2643 }, "argument_types": [ { @@ -2439,7 +2492,7 @@ ], "arguments": [ { - "id": 2658, + "id": 2659, "node_type": 24, "kind": 24, "src": { @@ -2448,7 +2501,7 @@ "start": 42455, "end": 42467, "length": 13, - "parent_index": 2655 + "parent_index": 2656 }, "argument_types": [ { @@ -2458,7 +2511,7 @@ ], "arguments": [ { - "id": 2661, + "id": 2662, "node_type": 16, "src": { "line": 1158, @@ -2466,7 +2519,7 @@ "start": 42463, "end": 42466, "length": 4, - "parent_index": 2658 + "parent_index": 2659 }, "name": "role", "type_description": { @@ -2474,12 +2527,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2661, - "is_pure": false + "referenced_declaration": 2662, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2659, + "id": 2660, "node_type": 16, "src": { "line": 1158, @@ -2487,11 +2541,11 @@ "start": 42455, "end": 42461, "length": 7, - "parent_index": 2658 + "parent_index": 2659 }, "name": "uint256", "type_name": { - "id": 2660, + "id": 2661, "node_type": 30, "src": { "line": 1158, @@ -2499,7 +2553,7 @@ "start": 42455, "end": 42461, "length": 7, - "parent_index": 2659 + "parent_index": 2660 }, "name": "uint256", "referenced_declaration": 0, @@ -2520,7 +2574,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -2528,7 +2583,7 @@ } }, { - "id": 2662, + "id": 2663, "node_type": 17, "kind": 49, "value": "32", @@ -2539,7 +2594,7 @@ "start": 42470, "end": 42471, "length": 2, - "parent_index": 2655 + "parent_index": 2656 }, "type_description": { "type_identifier": "t_rational_32_by_1", @@ -2553,11 +2608,12 @@ "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" } - ] + ], + "text": "32" } ], "expression": { - "id": 2656, + "id": 2657, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2569,7 +2625,7 @@ "start": 42424, "end": 42453, "length": 30, - "parent_index": 2655 + "parent_index": 2656 }, "member_location": { "line": 1158, @@ -2577,10 +2633,10 @@ "start": 42443, "end": 42453, "length": 11, - "parent_index": 2656 + "parent_index": 2657 }, "expression": { - "id": 2657, + "id": 2658, "node_type": 16, "src": { "line": 1158, @@ -2588,7 +2644,7 @@ "start": 42424, "end": 42441, "length": 18, - "parent_index": 2656 + "parent_index": 2657 }, "name": "StringsUpgradeable", "type_description": { @@ -2597,14 +2653,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2110, - "is_pure": false + "is_pure": false, + "text": "StringsUpgradeable" }, "member_name": "toHexString", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StringsUpgradeable_$2110", "type_string": "contract StringsUpgradeable" - } + }, + "text": "StringsUpgradeable.toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -2613,7 +2671,7 @@ } ], "expression": { - "id": 2643, + "id": 2644, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2625,7 +2683,7 @@ "start": 42208, "end": 42223, "length": 16, - "parent_index": 2642 + "parent_index": 2643 }, "member_location": { "line": 1154, @@ -2633,10 +2691,10 @@ "start": 42212, "end": 42223, "length": 12, - "parent_index": 2643 + "parent_index": 2644 }, "expression": { - "id": 2644, + "id": 2645, "node_type": 16, "src": { "line": 1154, @@ -2644,7 +2702,7 @@ "start": 42208, "end": 42210, "length": 3, - "parent_index": 2643 + "parent_index": 2644 }, "name": "abi", "type_description": { @@ -2653,14 +2711,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -2669,7 +2729,7 @@ } ], "expression": { - "id": 2640, + "id": 2641, "node_type": 16, "src": { "line": 1153, @@ -2677,11 +2737,11 @@ "start": 42180, "end": 42185, "length": 6, - "parent_index": 2639 + "parent_index": 2640 }, "name": "string", "type_name": { - "id": 2641, + "id": 2642, "node_type": 30, "src": { "line": 1153, @@ -2689,7 +2749,7 @@ "start": 42180, "end": 42185, "length": 6, - "parent_index": 2640 + "parent_index": 2641 }, "name": "string", "referenced_declaration": 0, @@ -2710,7 +2770,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -2719,7 +2780,7 @@ } ], "expression": { - "id": 2638, + "id": 2639, "node_type": 16, "src": { "line": 1152, @@ -2727,7 +2788,7 @@ "start": 42156, "end": 42161, "length": 6, - "parent_index": 2637 + "parent_index": 2638 }, "name": "revert", "type_description": { @@ -2736,7 +2797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -2755,7 +2817,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2623, + "id": 2624, "node_type": 43, "src": { "line": 1150, @@ -2763,11 +2825,11 @@ "start": 42050, "end": 42078, "length": 29, - "parent_index": 2622 + "parent_index": 2623 }, "parameters": [ { - "id": 2624, + "id": 2625, "node_type": 44, "src": { "line": 1150, @@ -2775,12 +2837,12 @@ "start": 42050, "end": 42061, "length": 12, - "parent_index": 2623 + "parent_index": 2624 }, - "scope": 2622, + "scope": 2623, "name": "role", "type_name": { - "id": 2625, + "id": 2626, "node_type": 30, "src": { "line": 1150, @@ -2788,7 +2850,7 @@ "start": 42050, "end": 42056, "length": 7, - "parent_index": 2624 + "parent_index": 2625 }, "name": "bytes32", "referenced_declaration": 0, @@ -2806,7 +2868,7 @@ } }, { - "id": 2626, + "id": 2627, "node_type": 44, "src": { "line": 1150, @@ -2814,12 +2876,12 @@ "start": 42064, "end": 42078, "length": 15, - "parent_index": 2623 + "parent_index": 2624 }, - "scope": 2622, + "scope": 2623, "name": "account", "type_name": { - "id": 2627, + "id": 2628, "node_type": 30, "src": { "line": 1150, @@ -2827,7 +2889,7 @@ "start": 42064, "end": 42070, "length": 7, - "parent_index": 2626 + "parent_index": 2627 }, "name": "address", "state_mutability": 4, @@ -2858,7 +2920,7 @@ ] }, "return_parameters": { - "id": 2628, + "id": 2629, "node_type": 43, "src": { "line": 1150, @@ -2866,21 +2928,22 @@ "start": 42030, "end": 42543, "length": 514, - "parent_index": 2622 + "parent_index": 2623 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_checkRole(bytes32, address)", - "signature": "ad90b429", + "signature_raw": "_checkRole(bytes32,address)", + "signature": "5b7b2c38", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_checkRole(bytes32role,addressaccount)internalviewvirtual{if(!hasRole(role,account)){revert(string(abi.encodePacked(\"AccessControl: account \",StringsUpgradeable.toHexString(uint160(account),20),\" is missing role \",StringsUpgradeable.toHexString(uint256(role),32))));}}" }, { - "id": 2664, + "id": 2665, "name": "getRoleAdmin", "node_type": 42, "kind": 41, @@ -2898,10 +2961,10 @@ "start": 42734, "end": 42745, "length": 12, - "parent_index": 2664 + "parent_index": 2665 }, "body": { - "id": 2672, + "id": 2673, "node_type": 46, "kind": 0, "src": { @@ -2910,12 +2973,12 @@ "start": 42808, "end": 42853, "length": 46, - "parent_index": 2664 + "parent_index": 2665 }, "implemented": true, "statements": [ { - "id": 2673, + "id": 2674, "node_type": 47, "src": { "line": 1172, @@ -2923,11 +2986,11 @@ "start": 42818, "end": 42847, "length": 30, - "parent_index": 2664 + "parent_index": 2665 }, - "function_return_parameters": 2664, + "function_return_parameters": 2665, "expression": { - "id": 2674, + "id": 2675, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2939,7 +3002,7 @@ "start": 42825, "end": 42846, "length": 22, - "parent_index": 2673 + "parent_index": 2674 }, "member_location": { "line": 1172, @@ -2947,10 +3010,10 @@ "start": 42838, "end": 42846, "length": 9, - "parent_index": 2674 + "parent_index": 2675 }, "expression": { - "id": 2675, + "id": 2676, "node_type": 22, "src": { "line": 1172, @@ -2958,10 +3021,10 @@ "start": 42825, "end": 42836, "length": 12, - "parent_index": 2674 + "parent_index": 2675 }, "index_expression": { - "id": 2676, + "id": 2677, "node_type": 16, "src": { "line": 1172, @@ -2969,19 +3032,20 @@ "start": 42825, "end": 42830, "length": 6, - "parent_index": 2675 + "parent_index": 2676 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2677, + "id": 2678, "node_type": 16, "src": { "line": 1172, @@ -2989,7 +3053,7 @@ "start": 42832, "end": 42835, "length": 4, - "parent_index": 2675 + "parent_index": 2676 }, "name": "role", "type_description": { @@ -2997,12 +3061,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2677, - "is_pure": false + "referenced_declaration": 2678, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -3011,16 +3076,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "adminRole", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole" } } ] @@ -3032,7 +3098,7 @@ "modifiers": [], "overrides": [ { - "id": 2668, + "id": 2669, "node_type": 63, "src": { "line": 1171, @@ -3040,7 +3106,7 @@ "start": 42781, "end": 42788, "length": 8, - "parent_index": 2664 + "parent_index": 2665 }, "overrides": [], "referenced_declaration": 0, @@ -3051,7 +3117,7 @@ } ], "parameters": { - "id": 2665, + "id": 2666, "node_type": 43, "src": { "line": 1171, @@ -3059,11 +3125,11 @@ "start": 42747, "end": 42758, "length": 12, - "parent_index": 2664 + "parent_index": 2665 }, "parameters": [ { - "id": 2666, + "id": 2667, "node_type": 44, "src": { "line": 1171, @@ -3071,12 +3137,12 @@ "start": 42747, "end": 42758, "length": 12, - "parent_index": 2665 + "parent_index": 2666 }, - "scope": 2664, + "scope": 2665, "name": "role", "type_name": { - "id": 2667, + "id": 2668, "node_type": 30, "src": { "line": 1171, @@ -3084,7 +3150,7 @@ "start": 42747, "end": 42753, "length": 7, - "parent_index": 2666 + "parent_index": 2667 }, "name": "bytes32", "referenced_declaration": 0, @@ -3110,7 +3176,7 @@ ] }, "return_parameters": { - "id": 2669, + "id": 2670, "node_type": 43, "src": { "line": 1171, @@ -3118,11 +3184,11 @@ "start": 42799, "end": 42805, "length": 7, - "parent_index": 2664 + "parent_index": 2665 }, "parameters": [ { - "id": 2670, + "id": 2671, "node_type": 44, "src": { "line": 1171, @@ -3130,12 +3196,12 @@ "start": 42799, "end": 42805, "length": 7, - "parent_index": 2669 + "parent_index": 2670 }, - "scope": 2664, + "scope": 2665, "name": "", "type_name": { - "id": 2671, + "id": 2672, "node_type": 30, "src": { "line": 1171, @@ -3143,7 +3209,7 @@ "start": 42799, "end": 42805, "length": 7, - "parent_index": 2670 + "parent_index": 2671 }, "name": "bytes32", "referenced_declaration": 0, @@ -3174,10 +3240,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetRoleAdmin(bytes32role)publicviewvirtualoverridereturns(bytes32){return_roles[role].adminRole;}" }, { - "id": 2679, + "id": 2680, "name": "grantRole", "node_type": 42, "kind": 41, @@ -3195,10 +3262,10 @@ "start": 43159, "end": 43167, "length": 9, - "parent_index": 2679 + "parent_index": 2680 }, "body": { - "id": 2692, + "id": 2693, "node_type": 46, "kind": 0, "src": { @@ -3207,12 +3274,12 @@ "start": 43253, "end": 43294, "length": 42, - "parent_index": 2679 + "parent_index": 2680 }, "implemented": true, "statements": [ { - "id": 2693, + "id": 2694, "node_type": 24, "kind": 24, "src": { @@ -3221,7 +3288,7 @@ "start": 43263, "end": 43287, "length": 25, - "parent_index": 2692 + "parent_index": 2693 }, "argument_types": [ { @@ -3235,7 +3302,7 @@ ], "arguments": [ { - "id": 2695, + "id": 2696, "node_type": 16, "src": { "line": 1188, @@ -3243,7 +3310,7 @@ "start": 43274, "end": 43277, "length": 4, - "parent_index": 2693 + "parent_index": 2694 }, "name": "role", "type_description": { @@ -3251,11 +3318,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2695, - "is_pure": false + "referenced_declaration": 2696, + "is_pure": false, + "text": "role" }, { - "id": 2696, + "id": 2697, "node_type": 16, "src": { "line": 1188, @@ -3263,7 +3331,7 @@ "start": 43280, "end": 43286, "length": 7, - "parent_index": 2693 + "parent_index": 2694 }, "name": "account", "type_description": { @@ -3271,18 +3339,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2696, + "referenced_declaration": 2697, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2694, + "id": 2695, "node_type": 16, "src": { "line": 1188, @@ -3290,7 +3359,7 @@ "start": 43263, "end": 43272, "length": 10, - "parent_index": 2693 + "parent_index": 2694 }, "name": "_grantRole", "type_description": { @@ -3299,7 +3368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -3314,7 +3384,7 @@ "virtual": true, "modifiers": [ { - "id": 2685, + "id": 2686, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -3324,7 +3394,7 @@ "start": 43224, "end": 43251, "length": 28, - "parent_index": 2679 + "parent_index": 2680 }, "argument_types": [ { @@ -3334,7 +3404,7 @@ ], "arguments": [ { - "id": 2687, + "id": 2688, "node_type": 24, "kind": 24, "src": { @@ -3343,7 +3413,7 @@ "start": 43233, "end": 43250, "length": 18, - "parent_index": 2685 + "parent_index": 2686 }, "argument_types": [ { @@ -3353,7 +3423,7 @@ ], "arguments": [ { - "id": 2689, + "id": 2690, "node_type": 16, "src": { "line": 1187, @@ -3361,7 +3431,7 @@ "start": 43246, "end": 43249, "length": 4, - "parent_index": 2687 + "parent_index": 2688 }, "name": "role", "type_description": { @@ -3369,12 +3439,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2689, - "is_pure": false + "referenced_declaration": 2690, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2688, + "id": 2689, "node_type": 16, "src": { "line": 1187, @@ -3382,7 +3453,7 @@ "start": 43233, "end": 43244, "length": 12, - "parent_index": 2687 + "parent_index": 2688 }, "name": "getRoleAdmin", "type_description": { @@ -3391,7 +3462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -3400,7 +3472,7 @@ } ], "modifier_name": { - "id": 2686, + "id": 2687, "name": "onlyRole", "node_type": 0, "src": { @@ -3409,14 +3481,14 @@ "start": 43224, "end": 43231, "length": 8, - "parent_index": 2685 + "parent_index": 2686 } } } ], "overrides": [ { - "id": 2690, + "id": 2691, "node_type": 63, "src": { "line": 1187, @@ -3424,7 +3496,7 @@ "start": 43215, "end": 43222, "length": 8, - "parent_index": 2679 + "parent_index": 2680 }, "overrides": [], "referenced_declaration": 0, @@ -3435,7 +3507,7 @@ } ], "parameters": { - "id": 2680, + "id": 2681, "node_type": 43, "src": { "line": 1187, @@ -3443,11 +3515,11 @@ "start": 43169, "end": 43197, "length": 29, - "parent_index": 2679 + "parent_index": 2680 }, "parameters": [ { - "id": 2681, + "id": 2682, "node_type": 44, "src": { "line": 1187, @@ -3455,12 +3527,12 @@ "start": 43169, "end": 43180, "length": 12, - "parent_index": 2680 + "parent_index": 2681 }, - "scope": 2679, + "scope": 2680, "name": "role", "type_name": { - "id": 2682, + "id": 2683, "node_type": 30, "src": { "line": 1187, @@ -3468,7 +3540,7 @@ "start": 43169, "end": 43175, "length": 7, - "parent_index": 2681 + "parent_index": 2682 }, "name": "bytes32", "referenced_declaration": 0, @@ -3486,7 +3558,7 @@ } }, { - "id": 2683, + "id": 2684, "node_type": 44, "src": { "line": 1187, @@ -3494,12 +3566,12 @@ "start": 43183, "end": 43197, "length": 15, - "parent_index": 2680 + "parent_index": 2681 }, - "scope": 2679, + "scope": 2680, "name": "account", "type_name": { - "id": 2684, + "id": 2685, "node_type": 30, "src": { "line": 1187, @@ -3507,7 +3579,7 @@ "start": 43183, "end": 43189, "length": 7, - "parent_index": 2683 + "parent_index": 2684 }, "name": "address", "state_mutability": 4, @@ -3538,7 +3610,7 @@ ] }, "return_parameters": { - "id": 2691, + "id": 2692, "node_type": 43, "src": { "line": 1187, @@ -3546,21 +3618,22 @@ "start": 43150, "end": 43294, "length": 145, - "parent_index": 2679 + "parent_index": 2680 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "grantRole(bytes32, address)", - "signature": "44f0a842", + "signature_raw": "grantRole(bytes32,address)", + "signature": "2f2ff15d", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functiongrantRole(bytes32role,addressaccount)publicvirtualoverrideonlyRole(getRoleAdmin(role)){_grantRole(role,account);}" }, { - "id": 2698, + "id": 2699, "name": "revokeRole", "node_type": 42, "kind": 41, @@ -3578,10 +3651,10 @@ "start": 43584, "end": 43593, "length": 10, - "parent_index": 2698 + "parent_index": 2699 }, "body": { - "id": 2711, + "id": 2712, "node_type": 46, "kind": 0, "src": { @@ -3590,12 +3663,12 @@ "start": 43679, "end": 43721, "length": 43, - "parent_index": 2698 + "parent_index": 2699 }, "implemented": true, "statements": [ { - "id": 2712, + "id": 2713, "node_type": 24, "kind": 24, "src": { @@ -3604,7 +3677,7 @@ "start": 43689, "end": 43714, "length": 26, - "parent_index": 2711 + "parent_index": 2712 }, "argument_types": [ { @@ -3618,7 +3691,7 @@ ], "arguments": [ { - "id": 2714, + "id": 2715, "node_type": 16, "src": { "line": 1203, @@ -3626,7 +3699,7 @@ "start": 43701, "end": 43704, "length": 4, - "parent_index": 2712 + "parent_index": 2713 }, "name": "role", "type_description": { @@ -3634,11 +3707,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2714, - "is_pure": false + "referenced_declaration": 2715, + "is_pure": false, + "text": "role" }, { - "id": 2715, + "id": 2716, "node_type": 16, "src": { "line": 1203, @@ -3646,7 +3720,7 @@ "start": 43707, "end": 43713, "length": 7, - "parent_index": 2712 + "parent_index": 2713 }, "name": "account", "type_description": { @@ -3654,18 +3728,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2715, + "referenced_declaration": 2716, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2713, + "id": 2714, "node_type": 16, "src": { "line": 1203, @@ -3673,7 +3748,7 @@ "start": 43689, "end": 43699, "length": 11, - "parent_index": 2712 + "parent_index": 2713 }, "name": "_revokeRole", "type_description": { @@ -3682,7 +3757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_revokeRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -3697,7 +3773,7 @@ "virtual": true, "modifiers": [ { - "id": 2704, + "id": 2705, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -3707,7 +3783,7 @@ "start": 43650, "end": 43677, "length": 28, - "parent_index": 2698 + "parent_index": 2699 }, "argument_types": [ { @@ -3717,7 +3793,7 @@ ], "arguments": [ { - "id": 2706, + "id": 2707, "node_type": 24, "kind": 24, "src": { @@ -3726,7 +3802,7 @@ "start": 43659, "end": 43676, "length": 18, - "parent_index": 2704 + "parent_index": 2705 }, "argument_types": [ { @@ -3736,7 +3812,7 @@ ], "arguments": [ { - "id": 2708, + "id": 2709, "node_type": 16, "src": { "line": 1202, @@ -3744,7 +3820,7 @@ "start": 43672, "end": 43675, "length": 4, - "parent_index": 2706 + "parent_index": 2707 }, "name": "role", "type_description": { @@ -3752,12 +3828,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2708, - "is_pure": false + "referenced_declaration": 2709, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2707, + "id": 2708, "node_type": 16, "src": { "line": 1202, @@ -3765,7 +3842,7 @@ "start": 43659, "end": 43670, "length": 12, - "parent_index": 2706 + "parent_index": 2707 }, "name": "getRoleAdmin", "type_description": { @@ -3774,7 +3851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -3783,7 +3861,7 @@ } ], "modifier_name": { - "id": 2705, + "id": 2706, "name": "onlyRole", "node_type": 0, "src": { @@ -3792,14 +3870,14 @@ "start": 43650, "end": 43657, "length": 8, - "parent_index": 2704 + "parent_index": 2705 } } } ], "overrides": [ { - "id": 2709, + "id": 2710, "node_type": 63, "src": { "line": 1202, @@ -3807,7 +3885,7 @@ "start": 43641, "end": 43648, "length": 8, - "parent_index": 2698 + "parent_index": 2699 }, "overrides": [], "referenced_declaration": 0, @@ -3818,7 +3896,7 @@ } ], "parameters": { - "id": 2699, + "id": 2700, "node_type": 43, "src": { "line": 1202, @@ -3826,11 +3904,11 @@ "start": 43595, "end": 43623, "length": 29, - "parent_index": 2698 + "parent_index": 2699 }, "parameters": [ { - "id": 2700, + "id": 2701, "node_type": 44, "src": { "line": 1202, @@ -3838,12 +3916,12 @@ "start": 43595, "end": 43606, "length": 12, - "parent_index": 2699 + "parent_index": 2700 }, - "scope": 2698, + "scope": 2699, "name": "role", "type_name": { - "id": 2701, + "id": 2702, "node_type": 30, "src": { "line": 1202, @@ -3851,7 +3929,7 @@ "start": 43595, "end": 43601, "length": 7, - "parent_index": 2700 + "parent_index": 2701 }, "name": "bytes32", "referenced_declaration": 0, @@ -3869,7 +3947,7 @@ } }, { - "id": 2702, + "id": 2703, "node_type": 44, "src": { "line": 1202, @@ -3877,12 +3955,12 @@ "start": 43609, "end": 43623, "length": 15, - "parent_index": 2699 + "parent_index": 2700 }, - "scope": 2698, + "scope": 2699, "name": "account", "type_name": { - "id": 2703, + "id": 2704, "node_type": 30, "src": { "line": 1202, @@ -3890,7 +3968,7 @@ "start": 43609, "end": 43615, "length": 7, - "parent_index": 2702 + "parent_index": 2703 }, "name": "address", "state_mutability": 4, @@ -3921,7 +3999,7 @@ ] }, "return_parameters": { - "id": 2710, + "id": 2711, "node_type": 43, "src": { "line": 1202, @@ -3929,21 +4007,22 @@ "start": 43575, "end": 43721, "length": 147, - "parent_index": 2698 + "parent_index": 2699 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "revokeRole(bytes32, address)", - "signature": "b3252796", + "signature_raw": "revokeRole(bytes32,address)", + "signature": "d547741f", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrevokeRole(bytes32role,addressaccount)publicvirtualoverrideonlyRole(getRoleAdmin(role)){_revokeRole(role,account);}" }, { - "id": 2717, + "id": 2718, "name": "renounceRole", "node_type": 42, "kind": 41, @@ -3961,10 +4040,10 @@ "start": 44268, "end": 44279, "length": 12, - "parent_index": 2717 + "parent_index": 2718 }, "body": { - "id": 2725, + "id": 2726, "node_type": 46, "kind": 0, "src": { @@ -3973,12 +4052,12 @@ "start": 44336, "end": 44472, "length": 137, - "parent_index": 2717 + "parent_index": 2718 }, "implemented": true, "statements": [ { - "id": 2726, + "id": 2727, "node_type": 24, "kind": 24, "src": { @@ -3987,7 +4066,7 @@ "start": 44346, "end": 44428, "length": 83, - "parent_index": 2725 + "parent_index": 2726 }, "argument_types": [ { @@ -4001,7 +4080,7 @@ ], "arguments": [ { - "id": 2728, + "id": 2729, "is_constant": false, "is_pure": false, "node_type": 19, @@ -4011,11 +4090,11 @@ "start": 44354, "end": 44376, "length": 23, - "parent_index": 2726 + "parent_index": 2727 }, "operator": 11, "left_expression": { - "id": 2729, + "id": 2730, "node_type": 16, "src": { "line": 1223, @@ -4023,7 +4102,7 @@ "start": 44354, "end": 44360, "length": 7, - "parent_index": 2728 + "parent_index": 2729 }, "name": "account", "type_description": { @@ -4031,11 +4110,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2729, - "is_pure": false + "referenced_declaration": 2730, + "is_pure": false, + "text": "account" }, "right_expression": { - "id": 2730, + "id": 2731, "node_type": 24, "kind": 24, "src": { @@ -4044,12 +4124,12 @@ "start": 44365, "end": 44376, "length": 12, - "parent_index": 2728 + "parent_index": 2729 }, "argument_types": [], "arguments": [], "expression": { - "id": 2731, + "id": 2732, "node_type": 16, "src": { "line": 1223, @@ -4057,7 +4137,7 @@ "start": 44365, "end": 44374, "length": 10, - "parent_index": 2730 + "parent_index": 2731 }, "name": "_msgSender", "type_description": { @@ -4066,7 +4146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4079,7 +4160,7 @@ } }, { - "id": 2732, + "id": 2733, "node_type": 17, "kind": 50, "value": "AccessControl: can only renounce roles for self", @@ -4090,7 +4171,7 @@ "start": 44379, "end": 44427, "length": 49, - "parent_index": 2726 + "parent_index": 2727 }, "type_description": { "type_identifier": "t_string_literal", @@ -4104,11 +4185,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"AccessControl: can only renounce roles for self\"" } ], "expression": { - "id": 2727, + "id": 2728, "node_type": 16, "src": { "line": 1223, @@ -4116,7 +4198,7 @@ "start": 44346, "end": 44352, "length": 7, - "parent_index": 2726 + "parent_index": 2727 }, "name": "require", "type_description": { @@ -4125,7 +4207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4133,7 +4216,7 @@ } }, { - "id": 2733, + "id": 2734, "node_type": 24, "kind": 24, "src": { @@ -4142,7 +4225,7 @@ "start": 44440, "end": 44465, "length": 26, - "parent_index": 2725 + "parent_index": 2726 }, "argument_types": [ { @@ -4156,7 +4239,7 @@ ], "arguments": [ { - "id": 2735, + "id": 2736, "node_type": 16, "src": { "line": 1225, @@ -4164,7 +4247,7 @@ "start": 44452, "end": 44455, "length": 4, - "parent_index": 2733 + "parent_index": 2734 }, "name": "role", "type_description": { @@ -4172,11 +4255,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2735, - "is_pure": false + "referenced_declaration": 2736, + "is_pure": false, + "text": "role" }, { - "id": 2736, + "id": 2737, "node_type": 16, "src": { "line": 1225, @@ -4184,7 +4268,7 @@ "start": 44458, "end": 44464, "length": 7, - "parent_index": 2733 + "parent_index": 2734 }, "name": "account", "type_description": { @@ -4192,18 +4276,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2736, + "referenced_declaration": 2737, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2734, + "id": 2735, "node_type": 16, "src": { "line": 1225, @@ -4211,7 +4296,7 @@ "start": 44440, "end": 44450, "length": 11, - "parent_index": 2733 + "parent_index": 2734 }, "name": "_revokeRole", "type_description": { @@ -4220,7 +4305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_revokeRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -4236,7 +4322,7 @@ "modifiers": [], "overrides": [ { - "id": 2723, + "id": 2724, "node_type": 63, "src": { "line": 1222, @@ -4244,7 +4330,7 @@ "start": 44327, "end": 44334, "length": 8, - "parent_index": 2717 + "parent_index": 2718 }, "overrides": [], "referenced_declaration": 0, @@ -4255,7 +4341,7 @@ } ], "parameters": { - "id": 2718, + "id": 2719, "node_type": 43, "src": { "line": 1222, @@ -4263,11 +4349,11 @@ "start": 44281, "end": 44309, "length": 29, - "parent_index": 2717 + "parent_index": 2718 }, "parameters": [ { - "id": 2719, + "id": 2720, "node_type": 44, "src": { "line": 1222, @@ -4275,12 +4361,12 @@ "start": 44281, "end": 44292, "length": 12, - "parent_index": 2718 + "parent_index": 2719 }, - "scope": 2717, + "scope": 2718, "name": "role", "type_name": { - "id": 2720, + "id": 2721, "node_type": 30, "src": { "line": 1222, @@ -4288,7 +4374,7 @@ "start": 44281, "end": 44287, "length": 7, - "parent_index": 2719 + "parent_index": 2720 }, "name": "bytes32", "referenced_declaration": 0, @@ -4306,7 +4392,7 @@ } }, { - "id": 2721, + "id": 2722, "node_type": 44, "src": { "line": 1222, @@ -4314,12 +4400,12 @@ "start": 44295, "end": 44309, "length": 15, - "parent_index": 2718 + "parent_index": 2719 }, - "scope": 2717, + "scope": 2718, "name": "account", "type_name": { - "id": 2722, + "id": 2723, "node_type": 30, "src": { "line": 1222, @@ -4327,7 +4413,7 @@ "start": 44295, "end": 44301, "length": 7, - "parent_index": 2721 + "parent_index": 2722 }, "name": "address", "state_mutability": 4, @@ -4358,7 +4444,7 @@ ] }, "return_parameters": { - "id": 2724, + "id": 2725, "node_type": 43, "src": { "line": 1222, @@ -4366,21 +4452,22 @@ "start": 44259, "end": 44472, "length": 214, - "parent_index": 2717 + "parent_index": 2718 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "renounceRole(bytes32, address)", - "signature": "e8365576", + "signature_raw": "renounceRole(bytes32,address)", + "signature": "36568abe", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrenounceRole(bytes32role,addressaccount)publicvirtualoverride{require(account==_msgSender(),\"AccessControl: can only renounce roles for self\");_revokeRole(role,account);}" }, { - "id": 2738, + "id": 2739, "name": "_setupRole", "node_type": 42, "kind": 41, @@ -4398,10 +4485,10 @@ "start": 45167, "end": 45176, "length": 10, - "parent_index": 2738 + "parent_index": 2739 }, "body": { - "id": 2745, + "id": 2746, "node_type": 46, "kind": 0, "src": { @@ -4410,12 +4497,12 @@ "start": 45226, "end": 45267, "length": 42, - "parent_index": 2738 + "parent_index": 2739 }, "implemented": true, "statements": [ { - "id": 2746, + "id": 2747, "node_type": 24, "kind": 24, "src": { @@ -4424,7 +4511,7 @@ "start": 45236, "end": 45260, "length": 25, - "parent_index": 2745 + "parent_index": 2746 }, "argument_types": [ { @@ -4438,7 +4525,7 @@ ], "arguments": [ { - "id": 2748, + "id": 2749, "node_type": 16, "src": { "line": 1249, @@ -4446,7 +4533,7 @@ "start": 45247, "end": 45250, "length": 4, - "parent_index": 2746 + "parent_index": 2747 }, "name": "role", "type_description": { @@ -4454,11 +4541,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2748, - "is_pure": false + "referenced_declaration": 2749, + "is_pure": false, + "text": "role" }, { - "id": 2749, + "id": 2750, "node_type": 16, "src": { "line": 1249, @@ -4466,7 +4554,7 @@ "start": 45253, "end": 45259, "length": 7, - "parent_index": 2746 + "parent_index": 2747 }, "name": "account", "type_description": { @@ -4474,18 +4562,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2749, + "referenced_declaration": 2750, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2747, + "id": 2748, "node_type": 16, "src": { "line": 1249, @@ -4493,7 +4582,7 @@ "start": 45236, "end": 45245, "length": 10, - "parent_index": 2746 + "parent_index": 2747 }, "name": "_grantRole", "type_description": { @@ -4502,7 +4591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -4518,7 +4608,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2739, + "id": 2740, "node_type": 43, "src": { "line": 1248, @@ -4526,11 +4616,11 @@ "start": 45178, "end": 45206, "length": 29, - "parent_index": 2738 + "parent_index": 2739 }, "parameters": [ { - "id": 2740, + "id": 2741, "node_type": 44, "src": { "line": 1248, @@ -4538,12 +4628,12 @@ "start": 45178, "end": 45189, "length": 12, - "parent_index": 2739 + "parent_index": 2740 }, - "scope": 2738, + "scope": 2739, "name": "role", "type_name": { - "id": 2741, + "id": 2742, "node_type": 30, "src": { "line": 1248, @@ -4551,7 +4641,7 @@ "start": 45178, "end": 45184, "length": 7, - "parent_index": 2740 + "parent_index": 2741 }, "name": "bytes32", "referenced_declaration": 0, @@ -4569,7 +4659,7 @@ } }, { - "id": 2742, + "id": 2743, "node_type": 44, "src": { "line": 1248, @@ -4577,12 +4667,12 @@ "start": 45192, "end": 45206, "length": 15, - "parent_index": 2739 + "parent_index": 2740 }, - "scope": 2738, + "scope": 2739, "name": "account", "type_name": { - "id": 2743, + "id": 2744, "node_type": 30, "src": { "line": 1248, @@ -4590,7 +4680,7 @@ "start": 45192, "end": 45198, "length": 7, - "parent_index": 2742 + "parent_index": 2743 }, "name": "address", "state_mutability": 4, @@ -4621,7 +4711,7 @@ ] }, "return_parameters": { - "id": 2744, + "id": 2745, "node_type": 43, "src": { "line": 1248, @@ -4629,21 +4719,22 @@ "start": 45158, "end": 45267, "length": 110, - "parent_index": 2738 + "parent_index": 2739 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_setupRole(bytes32, address)", - "signature": "95e930c8", + "signature_raw": "_setupRole(bytes32,address)", + "signature": "4fa943a6", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_setupRole(bytes32role,addressaccount)internalvirtual{_grantRole(role,account);}" }, { - "id": 2751, + "id": 2752, "name": "_setRoleAdmin", "node_type": 42, "kind": 41, @@ -4661,10 +4752,10 @@ "start": 45402, "end": 45414, "length": 13, - "parent_index": 2751 + "parent_index": 2752 }, "body": { - "id": 2758, + "id": 2759, "node_type": 46, "kind": 0, "src": { @@ -4673,12 +4764,12 @@ "start": 45466, "end": 45639, "length": 174, - "parent_index": 2751 + "parent_index": 2752 }, "implemented": true, "statements": [ { - "id": 2759, + "id": 2760, "node_type": 44, "src": { "line": 1258, @@ -4686,25 +4777,25 @@ "start": 45476, "end": 45522, "length": 47, - "parent_index": 2758 + "parent_index": 2759 }, "assignments": [ - 2760 + 2761 ], "declarations": [ { - "id": 2760, + "id": 2761, "state_mutability": 1, "name": "previousAdminRole", "node_type": 44, - "scope": 2758, + "scope": 2759, "src": { "line": 1258, "column": 8, "start": 45476, "end": 45500, "length": 25, - "parent_index": 2759 + "parent_index": 2760 }, "name_location": { "line": 1258, @@ -4712,12 +4803,12 @@ "start": 45484, "end": 45500, "length": 17, - "parent_index": 2760 + "parent_index": 2761 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2761, + "id": 2762, "node_type": 30, "src": { "line": 1258, @@ -4725,7 +4816,7 @@ "start": 45476, "end": 45482, "length": 7, - "parent_index": 2760 + "parent_index": 2761 }, "name": "bytes32", "referenced_declaration": 0, @@ -4738,7 +4829,7 @@ } ], "initial_value": { - "id": 2762, + "id": 2763, "node_type": 24, "kind": 24, "src": { @@ -4747,7 +4838,7 @@ "start": 45504, "end": 45521, "length": 18, - "parent_index": 2759 + "parent_index": 2760 }, "argument_types": [ { @@ -4757,7 +4848,7 @@ ], "arguments": [ { - "id": 2764, + "id": 2765, "node_type": 16, "src": { "line": 1258, @@ -4765,7 +4856,7 @@ "start": 45517, "end": 45520, "length": 4, - "parent_index": 2762 + "parent_index": 2763 }, "name": "role", "type_description": { @@ -4773,12 +4864,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2764, - "is_pure": false + "referenced_declaration": 2765, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2763, + "id": 2764, "node_type": 16, "src": { "line": 1258, @@ -4786,7 +4878,7 @@ "start": 45504, "end": 45515, "length": 12, - "parent_index": 2762 + "parent_index": 2763 }, "name": "getRoleAdmin", "type_description": { @@ -4795,7 +4887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -4804,7 +4897,7 @@ } }, { - "id": 2765, + "id": 2766, "node_type": 27, "src": { "line": 1259, @@ -4812,10 +4905,10 @@ "start": 45532, "end": 45566, "length": 35, - "parent_index": 2758 + "parent_index": 2759 }, "expression": { - "id": 2766, + "id": 2767, "node_type": 27, "src": { "line": 1259, @@ -4823,11 +4916,11 @@ "start": 45532, "end": 45565, "length": 34, - "parent_index": 2765 + "parent_index": 2766 }, "operator": 11, "left_expression": { - "id": 2767, + "id": 2768, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4839,7 +4932,7 @@ "start": 45532, "end": 45553, "length": 22, - "parent_index": 2766 + "parent_index": 2767 }, "member_location": { "line": 1259, @@ -4847,10 +4940,10 @@ "start": 45545, "end": 45553, "length": 9, - "parent_index": 2767 + "parent_index": 2768 }, "expression": { - "id": 2768, + "id": 2769, "node_type": 22, "src": { "line": 1259, @@ -4858,10 +4951,10 @@ "start": 45532, "end": 45543, "length": 12, - "parent_index": 2767 + "parent_index": 2768 }, "index_expression": { - "id": 2769, + "id": 2770, "node_type": 16, "src": { "line": 1259, @@ -4869,19 +4962,20 @@ "start": 45532, "end": 45537, "length": 6, - "parent_index": 2768 + "parent_index": 2769 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2770, + "id": 2771, "node_type": 16, "src": { "line": 1259, @@ -4889,7 +4983,7 @@ "start": 45539, "end": 45542, "length": 4, - "parent_index": 2768 + "parent_index": 2769 }, "name": "role", "type_description": { @@ -4897,12 +4991,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2770, - "is_pure": false + "referenced_declaration": 2771, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -4911,19 +5006,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "adminRole", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole" }, "right_expression": { - "id": 2771, + "id": 2772, "node_type": 16, "src": { "line": 1259, @@ -4931,7 +5027,7 @@ "start": 45557, "end": 45565, "length": 9, - "parent_index": 2766 + "parent_index": 2767 }, "name": "adminRole", "type_description": { @@ -4939,21 +5035,23 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2771, - "is_pure": false + "referenced_declaration": 2772, + "is_pure": false, + "text": "adminRole" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole=adminRole;" }, { - "id": 2772, + "id": 2773, "node_type": 64, "src": { "line": 1260, @@ -4961,11 +5059,11 @@ "start": 45576, "end": 45633, "length": 58, - "parent_index": 2751 + "parent_index": 2752 }, "arguments": [ { - "id": 2773, + "id": 2774, "node_type": 16, "src": { "line": 1260, @@ -4973,7 +5071,7 @@ "start": 45598, "end": 45601, "length": 4, - "parent_index": 2772 + "parent_index": 2773 }, "name": "role", "type_description": { @@ -4981,11 +5079,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2773, - "is_pure": false + "referenced_declaration": 2774, + "is_pure": false, + "text": "role" }, { - "id": 2774, + "id": 2775, "node_type": 16, "src": { "line": 1260, @@ -4993,7 +5092,7 @@ "start": 45604, "end": 45620, "length": 17, - "parent_index": 2772 + "parent_index": 2773 }, "name": "previousAdminRole", "type_description": { @@ -5001,11 +5100,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2759, - "is_pure": false + "referenced_declaration": 2760, + "is_pure": false, + "text": "previousAdminRole" }, { - "id": 2775, + "id": 2776, "node_type": 16, "src": { "line": 1260, @@ -5013,7 +5113,7 @@ "start": 45623, "end": 45631, "length": 9, - "parent_index": 2772 + "parent_index": 2773 }, "name": "adminRole", "type_description": { @@ -5021,12 +5121,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2775, - "is_pure": false + "referenced_declaration": 2776, + "is_pure": false, + "text": "adminRole" } ], "expression": { - "id": 2776, + "id": 2777, "node_type": 16, "src": { "line": 1260, @@ -5034,7 +5135,7 @@ "start": 45581, "end": 45596, "length": 16, - "parent_index": 2772 + "parent_index": 2773 }, "name": "RoleAdminChanged", "type_description": { @@ -5043,7 +5144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1586, - "is_pure": false + "is_pure": false, + "text": "RoleAdminChanged" } } ] @@ -5055,7 +5157,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2752, + "id": 2753, "node_type": 43, "src": { "line": 1257, @@ -5063,11 +5165,11 @@ "start": 45416, "end": 45446, "length": 31, - "parent_index": 2751 + "parent_index": 2752 }, "parameters": [ { - "id": 2753, + "id": 2754, "node_type": 44, "src": { "line": 1257, @@ -5075,12 +5177,12 @@ "start": 45416, "end": 45427, "length": 12, - "parent_index": 2752 + "parent_index": 2753 }, - "scope": 2751, + "scope": 2752, "name": "role", "type_name": { - "id": 2754, + "id": 2755, "node_type": 30, "src": { "line": 1257, @@ -5088,7 +5190,7 @@ "start": 45416, "end": 45422, "length": 7, - "parent_index": 2753 + "parent_index": 2754 }, "name": "bytes32", "referenced_declaration": 0, @@ -5106,7 +5208,7 @@ } }, { - "id": 2755, + "id": 2756, "node_type": 44, "src": { "line": 1257, @@ -5114,12 +5216,12 @@ "start": 45430, "end": 45446, "length": 17, - "parent_index": 2752 + "parent_index": 2753 }, - "scope": 2751, + "scope": 2752, "name": "adminRole", "type_name": { - "id": 2756, + "id": 2757, "node_type": 30, "src": { "line": 1257, @@ -5127,7 +5229,7 @@ "start": 45430, "end": 45436, "length": 7, - "parent_index": 2755 + "parent_index": 2756 }, "name": "bytes32", "referenced_declaration": 0, @@ -5157,7 +5259,7 @@ ] }, "return_parameters": { - "id": 2757, + "id": 2758, "node_type": 43, "src": { "line": 1257, @@ -5165,21 +5267,22 @@ "start": 45393, "end": 45639, "length": 247, - "parent_index": 2751 + "parent_index": 2752 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_setRoleAdmin(bytes32, bytes32)", - "signature": "09c75694", + "signature_raw": "_setRoleAdmin(bytes32,bytes32)", + "signature": "7612997d", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32)" - } + }, + "text": "function_setRoleAdmin(bytes32role,bytes32adminRole)internalvirtual{bytes32previousAdminRole=getRoleAdmin(role);_roles[role].adminRole=adminRole;emitRoleAdminChanged(role,previousAdminRole,adminRole);}" }, { - "id": 2778, + "id": 2779, "name": "_grantRole", "node_type": 42, "kind": 41, @@ -5197,10 +5300,10 @@ "start": 45817, "end": 45826, "length": 10, - "parent_index": 2778 + "parent_index": 2779 }, "body": { - "id": 2785, + "id": 2786, "node_type": 46, "kind": 0, "src": { @@ -5209,12 +5312,12 @@ "start": 45876, "end": 46040, "length": 165, - "parent_index": 2778 + "parent_index": 2779 }, "implemented": true, "statements": [ { - "id": 2786, + "id": 2787, "node_type": 48, "src": { "line": 1271, @@ -5222,10 +5325,10 @@ "start": 45886, "end": 46034, "length": 149, - "parent_index": 2785 + "parent_index": 2786 }, "condition": { - "id": 2787, + "id": 2788, "node_type": 18, "kind": 104, "src": { @@ -5234,7 +5337,7 @@ "start": 45890, "end": 45912, "length": 23, - "parent_index": 2778 + "parent_index": 2779 }, "operator": 31, "prefix": false, @@ -5243,7 +5346,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 2788, + "id": 2789, "node_type": 24, "kind": 24, "src": { @@ -5252,7 +5355,7 @@ "start": 45891, "end": 45912, "length": 22, - "parent_index": 2787 + "parent_index": 2788 }, "argument_types": [ { @@ -5266,7 +5369,7 @@ ], "arguments": [ { - "id": 2790, + "id": 2791, "node_type": 16, "src": { "line": 1271, @@ -5274,7 +5377,7 @@ "start": 45899, "end": 45902, "length": 4, - "parent_index": 2788 + "parent_index": 2789 }, "name": "role", "type_description": { @@ -5282,11 +5385,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2790, - "is_pure": false + "referenced_declaration": 2791, + "is_pure": false, + "text": "role" }, { - "id": 2791, + "id": 2792, "node_type": 16, "src": { "line": 1271, @@ -5294,7 +5398,7 @@ "start": 45905, "end": 45911, "length": 7, - "parent_index": 2788 + "parent_index": 2789 }, "name": "account", "type_description": { @@ -5302,18 +5406,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2791, + "referenced_declaration": 2792, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2789, + "id": 2790, "node_type": 16, "src": { "line": 1271, @@ -5321,7 +5426,7 @@ "start": 45891, "end": 45897, "length": 7, - "parent_index": 2788 + "parent_index": 2789 }, "name": "hasRole", "type_description": { @@ -5330,7 +5435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -5343,7 +5449,7 @@ } }, "body": { - "id": 2792, + "id": 2793, "node_type": 46, "kind": 0, "src": { @@ -5352,12 +5458,12 @@ "start": 45915, "end": 46034, "length": 120, - "parent_index": 2778 + "parent_index": 2779 }, "implemented": true, "statements": [ { - "id": 2793, + "id": 2794, "node_type": 27, "src": { "line": 1272, @@ -5365,10 +5471,10 @@ "start": 45929, "end": 45965, "length": 37, - "parent_index": 2792 + "parent_index": 2793 }, "expression": { - "id": 2794, + "id": 2795, "node_type": 27, "src": { "line": 1272, @@ -5376,11 +5482,11 @@ "start": 45929, "end": 45964, "length": 36, - "parent_index": 2793 + "parent_index": 2794 }, "operator": 11, "left_expression": { - "id": 2795, + "id": 2796, "node_type": 22, "src": { "line": 1272, @@ -5388,10 +5494,10 @@ "start": 45929, "end": 45957, "length": 29, - "parent_index": 2794 + "parent_index": 2795 }, "index_expression": { - "id": 2796, + "id": 2797, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5403,7 +5509,7 @@ "start": 45929, "end": 45948, "length": 20, - "parent_index": 2795 + "parent_index": 2796 }, "member_location": { "line": 1272, @@ -5411,10 +5517,10 @@ "start": 45942, "end": 45948, "length": 7, - "parent_index": 2796 + "parent_index": 2797 }, "expression": { - "id": 2797, + "id": 2798, "node_type": 22, "src": { "line": 1272, @@ -5422,10 +5528,10 @@ "start": 45929, "end": 45940, "length": 12, - "parent_index": 2796 + "parent_index": 2797 }, "index_expression": { - "id": 2798, + "id": 2799, "node_type": 16, "src": { "line": 1272, @@ -5433,19 +5539,20 @@ "start": 45929, "end": 45934, "length": 6, - "parent_index": 2797 + "parent_index": 2798 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2799, + "id": 2800, "node_type": 16, "src": { "line": 1272, @@ -5453,7 +5560,7 @@ "start": 45936, "end": 45939, "length": 4, - "parent_index": 2797 + "parent_index": 2798 }, "name": "role", "type_description": { @@ -5461,12 +5568,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2799, - "is_pure": false + "referenced_declaration": 2800, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -5475,19 +5583,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2800, + "id": 2801, "node_type": 16, "src": { "line": 1272, @@ -5495,7 +5604,7 @@ "start": 45950, "end": 45956, "length": 7, - "parent_index": 2795 + "parent_index": 2796 }, "name": "account", "type_description": { @@ -5503,12 +5612,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2800, - "is_pure": false + "referenced_declaration": 2801, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -5517,12 +5627,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "right_expression": { - "id": 2801, + "id": 2802, "node_type": 17, "kind": 61, "value": "true", @@ -5533,7 +5643,7 @@ "start": 45961, "end": 45964, "length": 4, - "parent_index": 2794 + "parent_index": 2795 }, "type_description": { "type_identifier": "t_bool", @@ -5541,20 +5651,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" - } + }, + "text": "_roles[role].members[account]=true;" }, { - "id": 2802, + "id": 2803, "node_type": 64, "src": { "line": 1273, @@ -5562,11 +5674,11 @@ "start": 45979, "end": 46024, "length": 46, - "parent_index": 2778 + "parent_index": 2779 }, "arguments": [ { - "id": 2803, + "id": 2804, "node_type": 16, "src": { "line": 1273, @@ -5574,7 +5686,7 @@ "start": 45996, "end": 45999, "length": 4, - "parent_index": 2802 + "parent_index": 2803 }, "name": "role", "type_description": { @@ -5582,11 +5694,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2803, - "is_pure": false + "referenced_declaration": 2804, + "is_pure": false, + "text": "role" }, { - "id": 2804, + "id": 2805, "node_type": 16, "src": { "line": 1273, @@ -5594,7 +5707,7 @@ "start": 46002, "end": 46008, "length": 7, - "parent_index": 2802 + "parent_index": 2803 }, "name": "account", "type_description": { @@ -5602,11 +5715,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2804, - "is_pure": false + "referenced_declaration": 2805, + "is_pure": false, + "text": "account" }, { - "id": 2805, + "id": 2806, "node_type": 24, "kind": 24, "src": { @@ -5615,12 +5729,12 @@ "start": 46011, "end": 46022, "length": 12, - "parent_index": 2802 + "parent_index": 2803 }, "argument_types": [], "arguments": [], "expression": { - "id": 2806, + "id": 2807, "node_type": 16, "src": { "line": 1273, @@ -5628,7 +5742,7 @@ "start": 46011, "end": 46020, "length": 10, - "parent_index": 2805 + "parent_index": 2806 }, "name": "_msgSender", "type_description": { @@ -5637,7 +5751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5646,7 +5761,7 @@ } ], "expression": { - "id": 2807, + "id": 2808, "node_type": 16, "src": { "line": 1273, @@ -5654,7 +5769,7 @@ "start": 45984, "end": 45994, "length": 11, - "parent_index": 2802 + "parent_index": 2803 }, "name": "RoleGranted", "type_description": { @@ -5663,7 +5778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1595, - "is_pure": false + "is_pure": false, + "text": "RoleGranted" } } ] @@ -5678,7 +5794,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2779, + "id": 2780, "node_type": 43, "src": { "line": 1270, @@ -5686,11 +5802,11 @@ "start": 45828, "end": 45856, "length": 29, - "parent_index": 2778 + "parent_index": 2779 }, "parameters": [ { - "id": 2780, + "id": 2781, "node_type": 44, "src": { "line": 1270, @@ -5698,12 +5814,12 @@ "start": 45828, "end": 45839, "length": 12, - "parent_index": 2779 + "parent_index": 2780 }, - "scope": 2778, + "scope": 2779, "name": "role", "type_name": { - "id": 2781, + "id": 2782, "node_type": 30, "src": { "line": 1270, @@ -5711,7 +5827,7 @@ "start": 45828, "end": 45834, "length": 7, - "parent_index": 2780 + "parent_index": 2781 }, "name": "bytes32", "referenced_declaration": 0, @@ -5729,7 +5845,7 @@ } }, { - "id": 2782, + "id": 2783, "node_type": 44, "src": { "line": 1270, @@ -5737,12 +5853,12 @@ "start": 45842, "end": 45856, "length": 15, - "parent_index": 2779 + "parent_index": 2780 }, - "scope": 2778, + "scope": 2779, "name": "account", "type_name": { - "id": 2783, + "id": 2784, "node_type": 30, "src": { "line": 1270, @@ -5750,7 +5866,7 @@ "start": 45842, "end": 45848, "length": 7, - "parent_index": 2782 + "parent_index": 2783 }, "name": "address", "state_mutability": 4, @@ -5781,7 +5897,7 @@ ] }, "return_parameters": { - "id": 2784, + "id": 2785, "node_type": 43, "src": { "line": 1270, @@ -5789,21 +5905,22 @@ "start": 45808, "end": 46040, "length": 233, - "parent_index": 2778 + "parent_index": 2779 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_grantRole(bytes32, address)", - "signature": "389027d9", + "signature_raw": "_grantRole(bytes32,address)", + "signature": "ce2cc1d0", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_grantRole(bytes32role,addressaccount)internalvirtual{if(!hasRole(role,account)){_roles[role].members[account]=true;emitRoleGranted(role,account,_msgSender());}}" }, { - "id": 2809, + "id": 2810, "name": "_revokeRole", "node_type": 42, "kind": 41, @@ -5821,10 +5938,10 @@ "start": 46221, "end": 46231, "length": 11, - "parent_index": 2809 + "parent_index": 2810 }, "body": { - "id": 2816, + "id": 2817, "node_type": 46, "kind": 0, "src": { @@ -5833,12 +5950,12 @@ "start": 46281, "end": 46445, "length": 165, - "parent_index": 2809 + "parent_index": 2810 }, "implemented": true, "statements": [ { - "id": 2817, + "id": 2818, "node_type": 48, "src": { "line": 1285, @@ -5846,10 +5963,10 @@ "start": 46291, "end": 46439, "length": 149, - "parent_index": 2816 + "parent_index": 2817 }, "condition": { - "id": 2818, + "id": 2819, "node_type": 24, "kind": 24, "src": { @@ -5858,7 +5975,7 @@ "start": 46295, "end": 46316, "length": 22, - "parent_index": 2817 + "parent_index": 2818 }, "argument_types": [ { @@ -5872,7 +5989,7 @@ ], "arguments": [ { - "id": 2820, + "id": 2821, "node_type": 16, "src": { "line": 1285, @@ -5880,7 +5997,7 @@ "start": 46303, "end": 46306, "length": 4, - "parent_index": 2818 + "parent_index": 2819 }, "name": "role", "type_description": { @@ -5888,11 +6005,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2820, - "is_pure": false + "referenced_declaration": 2821, + "is_pure": false, + "text": "role" }, { - "id": 2821, + "id": 2822, "node_type": 16, "src": { "line": 1285, @@ -5900,7 +6018,7 @@ "start": 46309, "end": 46315, "length": 7, - "parent_index": 2818 + "parent_index": 2819 }, "name": "account", "type_description": { @@ -5908,18 +6026,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2821, + "referenced_declaration": 2822, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2819, + "id": 2820, "node_type": 16, "src": { "line": 1285, @@ -5927,7 +6046,7 @@ "start": 46295, "end": 46301, "length": 7, - "parent_index": 2818 + "parent_index": 2819 }, "name": "hasRole", "type_description": { @@ -5936,7 +6055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -5944,7 +6064,7 @@ } }, "body": { - "id": 2822, + "id": 2823, "node_type": 46, "kind": 0, "src": { @@ -5953,12 +6073,12 @@ "start": 46319, "end": 46439, "length": 121, - "parent_index": 2809 + "parent_index": 2810 }, "implemented": true, "statements": [ { - "id": 2823, + "id": 2824, "node_type": 27, "src": { "line": 1286, @@ -5966,10 +6086,10 @@ "start": 46333, "end": 46370, "length": 38, - "parent_index": 2822 + "parent_index": 2823 }, "expression": { - "id": 2824, + "id": 2825, "node_type": 27, "src": { "line": 1286, @@ -5977,11 +6097,11 @@ "start": 46333, "end": 46369, "length": 37, - "parent_index": 2823 + "parent_index": 2824 }, "operator": 11, "left_expression": { - "id": 2825, + "id": 2826, "node_type": 22, "src": { "line": 1286, @@ -5989,10 +6109,10 @@ "start": 46333, "end": 46361, "length": 29, - "parent_index": 2824 + "parent_index": 2825 }, "index_expression": { - "id": 2826, + "id": 2827, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6004,7 +6124,7 @@ "start": 46333, "end": 46352, "length": 20, - "parent_index": 2825 + "parent_index": 2826 }, "member_location": { "line": 1286, @@ -6012,10 +6132,10 @@ "start": 46346, "end": 46352, "length": 7, - "parent_index": 2826 + "parent_index": 2827 }, "expression": { - "id": 2827, + "id": 2828, "node_type": 22, "src": { "line": 1286, @@ -6023,10 +6143,10 @@ "start": 46333, "end": 46344, "length": 12, - "parent_index": 2826 + "parent_index": 2827 }, "index_expression": { - "id": 2828, + "id": 2829, "node_type": 16, "src": { "line": 1286, @@ -6034,19 +6154,20 @@ "start": 46333, "end": 46338, "length": 6, - "parent_index": 2827 + "parent_index": 2828 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2829, + "id": 2830, "node_type": 16, "src": { "line": 1286, @@ -6054,7 +6175,7 @@ "start": 46340, "end": 46343, "length": 4, - "parent_index": 2827 + "parent_index": 2828 }, "name": "role", "type_description": { @@ -6062,12 +6183,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2829, - "is_pure": false + "referenced_declaration": 2830, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -6076,19 +6198,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2830, + "id": 2831, "node_type": 16, "src": { "line": 1286, @@ -6096,7 +6219,7 @@ "start": 46354, "end": 46360, "length": 7, - "parent_index": 2825 + "parent_index": 2826 }, "name": "account", "type_description": { @@ -6104,12 +6227,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2830, - "is_pure": false + "referenced_declaration": 2831, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -6118,12 +6242,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "right_expression": { - "id": 2831, + "id": 2832, "node_type": 17, "kind": 61, "value": "false", @@ -6134,7 +6258,7 @@ "start": 46365, "end": 46369, "length": 5, - "parent_index": 2824 + "parent_index": 2825 }, "type_description": { "type_identifier": "t_bool", @@ -6142,20 +6266,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" - } + }, + "text": "_roles[role].members[account]=false;" }, { - "id": 2832, + "id": 2833, "node_type": 64, "src": { "line": 1287, @@ -6163,11 +6289,11 @@ "start": 46384, "end": 46429, "length": 46, - "parent_index": 2809 + "parent_index": 2810 }, "arguments": [ { - "id": 2833, + "id": 2834, "node_type": 16, "src": { "line": 1287, @@ -6175,7 +6301,7 @@ "start": 46401, "end": 46404, "length": 4, - "parent_index": 2832 + "parent_index": 2833 }, "name": "role", "type_description": { @@ -6183,11 +6309,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2833, - "is_pure": false + "referenced_declaration": 2834, + "is_pure": false, + "text": "role" }, { - "id": 2834, + "id": 2835, "node_type": 16, "src": { "line": 1287, @@ -6195,7 +6322,7 @@ "start": 46407, "end": 46413, "length": 7, - "parent_index": 2832 + "parent_index": 2833 }, "name": "account", "type_description": { @@ -6203,11 +6330,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2834, - "is_pure": false + "referenced_declaration": 2835, + "is_pure": false, + "text": "account" }, { - "id": 2835, + "id": 2836, "node_type": 24, "kind": 24, "src": { @@ -6216,12 +6344,12 @@ "start": 46416, "end": 46427, "length": 12, - "parent_index": 2832 + "parent_index": 2833 }, "argument_types": [], "arguments": [], "expression": { - "id": 2836, + "id": 2837, "node_type": 16, "src": { "line": 1287, @@ -6229,7 +6357,7 @@ "start": 46416, "end": 46425, "length": 10, - "parent_index": 2835 + "parent_index": 2836 }, "name": "_msgSender", "type_description": { @@ -6238,7 +6366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -6247,7 +6376,7 @@ } ], "expression": { - "id": 2837, + "id": 2838, "node_type": 16, "src": { "line": 1287, @@ -6255,7 +6384,7 @@ "start": 46389, "end": 46399, "length": 11, - "parent_index": 2832 + "parent_index": 2833 }, "name": "RoleRevoked", "type_description": { @@ -6264,7 +6393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1604, - "is_pure": false + "is_pure": false, + "text": "RoleRevoked" } } ] @@ -6279,7 +6409,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2810, + "id": 2811, "node_type": 43, "src": { "line": 1284, @@ -6287,11 +6417,11 @@ "start": 46233, "end": 46261, "length": 29, - "parent_index": 2809 + "parent_index": 2810 }, "parameters": [ { - "id": 2811, + "id": 2812, "node_type": 44, "src": { "line": 1284, @@ -6299,12 +6429,12 @@ "start": 46233, "end": 46244, "length": 12, - "parent_index": 2810 + "parent_index": 2811 }, - "scope": 2809, + "scope": 2810, "name": "role", "type_name": { - "id": 2812, + "id": 2813, "node_type": 30, "src": { "line": 1284, @@ -6312,7 +6442,7 @@ "start": 46233, "end": 46239, "length": 7, - "parent_index": 2811 + "parent_index": 2812 }, "name": "bytes32", "referenced_declaration": 0, @@ -6330,7 +6460,7 @@ } }, { - "id": 2813, + "id": 2814, "node_type": 44, "src": { "line": 1284, @@ -6338,12 +6468,12 @@ "start": 46247, "end": 46261, "length": 15, - "parent_index": 2810 + "parent_index": 2811 }, - "scope": 2809, + "scope": 2810, "name": "account", "type_name": { - "id": 2814, + "id": 2815, "node_type": 30, "src": { "line": 1284, @@ -6351,7 +6481,7 @@ "start": 46247, "end": 46253, "length": 7, - "parent_index": 2813 + "parent_index": 2814 }, "name": "address", "state_mutability": 4, @@ -6382,7 +6512,7 @@ ] }, "return_parameters": { - "id": 2815, + "id": 2816, "node_type": 43, "src": { "line": 1284, @@ -6390,21 +6520,22 @@ "start": 46212, "end": 46445, "length": 234, - "parent_index": 2809 + "parent_index": 2810 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_revokeRole(bytes32, address)", - "signature": "ed5226ed", + "signature_raw": "_revokeRole(bytes32,address)", + "signature": "2c95bd23", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_revokeRole(bytes32role,addressaccount)internalvirtual{if(hasRole(role,account)){_roles[role].members[account]=false;emitRoleRevoked(role,account,_msgSender());}}" }, { - "id": 2839, + "id": 2840, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -6426,7 +6557,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2840, + "id": 2841, "node_type": 16, "src": { "line": 1296, @@ -6434,12 +6565,12 @@ "start": 46711, "end": 46717, "length": 7, - "parent_index": 2839 + "parent_index": 2840 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 2842, + "id": 2843, "node_type": 17, "kind": 49, "value": "49", @@ -6450,7 +6581,7 @@ "start": 46719, "end": 46720, "length": 2, - "parent_index": 2840 + "parent_index": 2841 }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -6458,7 +6589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AddressUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AddressUpgradeable.solgo.ast.json index d2ea57a9..aa14c6d3 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AddressUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AddressUpgradeable.solgo.ast.json @@ -186,21 +186,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1688, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 1689, @@ -222,7 +225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -363,7 +367,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 1691, @@ -497,7 +502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -543,7 +549,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -555,7 +562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1707, @@ -575,7 +583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1707, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -608,7 +617,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -629,7 +639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -733,7 +744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -789,14 +801,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1715, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -850,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1709, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1720, @@ -878,7 +893,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -899,7 +915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1031,13 +1048,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 1722, @@ -1131,7 +1149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1735, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1736, @@ -1157,7 +1176,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1737, @@ -1189,7 +1209,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1210,7 +1231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -1388,13 +1410,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 1739, @@ -1492,7 +1515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1754, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1755, @@ -1518,7 +1542,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1756, @@ -1550,7 +1575,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 1757, @@ -1584,7 +1610,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1605,7 +1632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1826,13 +1854,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 1759, @@ -1930,7 +1959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1774, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1775, @@ -1956,7 +1986,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1776, @@ -1986,7 +2017,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 1777, @@ -2022,7 +2054,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2043,7 +2076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2264,13 +2298,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 1779, @@ -2404,7 +2439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2450,7 +2486,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2462,7 +2499,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1801, @@ -2482,7 +2520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1801, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2515,7 +2554,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2536,7 +2576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2603,7 +2644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1807, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -2624,7 +2666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2657,7 +2700,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -2678,7 +2722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -2827,7 +2872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1818, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -2883,14 +2929,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1817, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -2960,7 +3008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1809, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1823, @@ -2986,7 +3035,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1824, @@ -3016,7 +3066,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -3037,7 +3088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -3301,13 +3353,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1826, @@ -3401,7 +3454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1839, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1840, @@ -3427,7 +3481,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1841, @@ -3459,7 +3514,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3480,7 +3536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3658,13 +3715,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 1843, @@ -3761,7 +3819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1859, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -3782,7 +3841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3815,7 +3875,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -3836,7 +3897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -3985,7 +4047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1869, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4029,14 +4092,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1868, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4101,7 +4166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1861, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1874, @@ -4127,7 +4193,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1875, @@ -4157,7 +4224,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4178,7 +4246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -4399,13 +4468,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1877, @@ -4471,7 +4541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1890, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 1891, @@ -4517,7 +4588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1893, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -4735,13 +4807,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AffineGovernable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AffineGovernable.solgo.ast.json index acda8abd..b2f93d66 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AffineGovernable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AffineGovernable.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 4831, + "id": 4832, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 4831, + "id": 4832, "name": "AffineGovernable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AffineGovernable.sol" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 4852, + "id": 4853, "node_type": 10, "src": { "line": 2271, @@ -22,7 +22,7 @@ "start": 82221, "end": 82244, "length": 24, - "parent_index": 4831 + "parent_index": 4832 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 4882, + "id": 4883, "name": "AffineGovernable", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 82247, "end": 82539, "length": 293, - "parent_index": 4831 + "parent_index": 4832 }, "name_location": { "line": 2273, @@ -55,14 +55,14 @@ "start": 82256, "end": 82271, "length": 16, - "parent_index": 4882 + "parent_index": 4883 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 4884, + "id": 4885, "name": "governance", "is_constant": false, "is_state_variable": true, @@ -73,9 +73,9 @@ "start": 82318, "end": 82343, "length": 26, - "parent_index": 4882 + "parent_index": 4883 }, - "scope": 4882, + "scope": 4883, "type_description": { "type_identifier": "t_address", "type_string": "address" @@ -84,7 +84,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4885, + "id": 4886, "node_type": 30, "src": { "line": 2275, @@ -92,7 +92,7 @@ "start": 82318, "end": 82324, "length": 7, - "parent_index": 4884 + "parent_index": 4885 }, "name": "address", "state_mutability": 4, @@ -105,7 +105,7 @@ "initial_value": null }, { - "id": 4887, + "id": 4888, "name": "onlyGovernance", "node_type": 68, "src": { @@ -114,7 +114,7 @@ "start": 82350, "end": 82420, "length": 71, - "parent_index": 4882 + "parent_index": 4883 }, "name_location": { "line": 2277, @@ -122,12 +122,12 @@ "start": 82359, "end": 82372, "length": 14, - "parent_index": 4887 + "parent_index": 4888 }, "visibility": 1, "virtual": false, "parameters": { - "id": 4888, + "id": 4889, "node_type": 43, "src": { "line": 2277, @@ -135,13 +135,13 @@ "start": 82350, "end": 82420, "length": 71, - "parent_index": 4882 + "parent_index": 4883 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 4889, + "id": 4890, "node_type": 46, "kind": 0, "src": { @@ -150,12 +150,12 @@ "start": 82376, "end": 82420, "length": 45, - "parent_index": 4887 + "parent_index": 4888 }, "implemented": true, "statements": [ { - "id": 4890, + "id": 4891, "node_type": 24, "kind": 24, "src": { @@ -164,12 +164,12 @@ "start": 82386, "end": 82402, "length": 17, - "parent_index": 4889 + "parent_index": 4890 }, "argument_types": [], "arguments": [], "expression": { - "id": 4891, + "id": 4892, "node_type": 16, "src": { "line": 2278, @@ -177,7 +177,7 @@ "start": 82386, "end": 82400, "length": 15, - "parent_index": 4890 + "parent_index": 4891 }, "name": "_onlyGovernance", "type_description": { @@ -186,7 +186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_onlyGovernance" }, "type_description": { "type_identifier": "t_function_$", @@ -194,7 +195,7 @@ } }, { - "id": 4892, + "id": 4893, "node_type": 82, "src": { "line": 2279, @@ -202,7 +203,7 @@ "start": 82413, "end": 82413, "length": 1, - "parent_index": 4889 + "parent_index": 4890 }, "name": "_", "type_description": { @@ -211,13 +212,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 4894, + "id": 4895, "name": "_onlyGovernance", "node_type": 42, "kind": 41, @@ -227,7 +229,7 @@ "start": 82427, "end": 82537, "length": 111, - "parent_index": 4882 + "parent_index": 4883 }, "name_location": { "line": 2282, @@ -235,10 +237,10 @@ "start": 82436, "end": 82450, "length": 15, - "parent_index": 4894 + "parent_index": 4895 }, "body": { - "id": 4897, + "id": 4898, "node_type": 46, "kind": 0, "src": { @@ -247,12 +249,12 @@ "start": 82468, "end": 82537, "length": 70, - "parent_index": 4894 + "parent_index": 4895 }, "implemented": true, "statements": [ { - "id": 4898, + "id": 4899, "node_type": 24, "kind": 24, "src": { @@ -261,7 +263,7 @@ "start": 82478, "end": 82530, "length": 53, - "parent_index": 4897 + "parent_index": 4898 }, "argument_types": [ { @@ -275,7 +277,7 @@ ], "arguments": [ { - "id": 4900, + "id": 4901, "is_constant": false, "is_pure": false, "node_type": 19, @@ -285,11 +287,11 @@ "start": 82486, "end": 82509, "length": 24, - "parent_index": 4898 + "parent_index": 4899 }, "operator": 11, "left_expression": { - "id": 4901, + "id": 4902, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -301,7 +303,7 @@ "start": 82486, "end": 82495, "length": 10, - "parent_index": 4900 + "parent_index": 4901 }, "member_location": { "line": 2283, @@ -309,10 +311,10 @@ "start": 82490, "end": 82495, "length": 6, - "parent_index": 4901 + "parent_index": 4902 }, "expression": { - "id": 4902, + "id": 4903, "node_type": 16, "src": { "line": 2283, @@ -320,7 +322,7 @@ "start": 82486, "end": 82488, "length": 3, - "parent_index": 4901 + "parent_index": 4902 }, "name": "msg", "type_description": { @@ -329,17 +331,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 4903, + "id": 4904, "node_type": 16, "src": { "line": 2283, @@ -347,7 +351,7 @@ "start": 82500, "end": 82509, "length": 10, - "parent_index": 4900 + "parent_index": 4901 }, "name": "governance", "type_description": { @@ -355,8 +359,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "type_description": { "type_identifier": "t_bool", @@ -364,7 +369,7 @@ } }, { - "id": 4904, + "id": 4905, "node_type": 17, "kind": 50, "value": "Only Governance.", @@ -375,7 +380,7 @@ "start": 82512, "end": 82529, "length": 18, - "parent_index": 4898 + "parent_index": 4899 }, "type_description": { "type_identifier": "t_string_literal", @@ -389,11 +394,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Only Governance.\"" } ], "expression": { - "id": 4899, + "id": 4900, "node_type": 16, "src": { "line": 2283, @@ -401,7 +407,7 @@ "start": 82478, "end": 82484, "length": 7, - "parent_index": 4898 + "parent_index": 4899 }, "name": "require", "type_description": { @@ -410,7 +416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -426,7 +433,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4895, + "id": 4896, "node_type": 43, "src": { "line": 2282, @@ -434,13 +441,13 @@ "start": 82427, "end": 82537, "length": 111, - "parent_index": 4894 + "parent_index": 4895 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 4896, + "id": 4897, "node_type": 43, "src": { "line": 2282, @@ -448,22 +455,23 @@ "start": 82427, "end": 82537, "length": 111, - "parent_index": 4894 + "parent_index": 4895 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_onlyGovernance()", "signature": "b2ecfa2e", - "scope": 4882, + "scope": 4883, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_onlyGovernance()internalview{require(msg.sender==governance,\"Only Governance.\");}" } ], "linearized_base_contracts": [ - 4882 + 4883 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseStrategy.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseStrategy.solgo.ast.json index b2d24afa..8065cb93 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseStrategy.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseStrategy.solgo.ast.json @@ -1,30 +1,30 @@ { - "id": 4905, + "id": 4906, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 4905, + "id": 4906, "name": "BaseStrategy", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseStrategy.sol" }, { - "id": 4831, + "id": 4832, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 4831, + "id": 4832, "name": "BaseVault", "absolute_path": "BaseVault.sol" }, { - "id": 4831, + "id": 4832, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 4831, + "id": 4832, "name": "Strings", "absolute_path": "Strings.sol" } @@ -34,7 +34,7 @@ "node_type": 1, "nodes": [ { - "id": 4927, + "id": 4928, "node_type": 10, "src": { "line": 2289, @@ -42,7 +42,7 @@ "start": 82580, "end": 82603, "length": 24, - "parent_index": 4905 + "parent_index": 4906 }, "literals": [ "pragma", @@ -58,7 +58,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 4957, + "id": 4958, "node_type": 29, "src": { "line": 2291, @@ -66,18 +66,18 @@ "start": 82606, "end": 82639, "length": 34, - "parent_index": 4905 + "parent_index": 4906 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 4905, + "scope": 4906, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4831 + "source_unit": 4832 }, { - "id": 4958, + "id": 4959, "node_type": 29, "src": { "line": 2292, @@ -85,18 +85,18 @@ "start": 82641, "end": 82682, "length": 42, - "parent_index": 4905 + "parent_index": 4906 }, "absolute_path": "BaseVault.sol", "file": "./BaseVault.sol", - "scope": 4905, + "scope": 4906, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4831 + "source_unit": 4832 }, { - "id": 4959, + "id": 4960, "node_type": 29, "src": { "line": 2293, @@ -104,18 +104,18 @@ "start": 82684, "end": 82737, "length": 54, - "parent_index": 4905 + "parent_index": 4906 }, "absolute_path": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "scope": 4905, + "scope": 4906, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4831 + "source_unit": 4832 }, { - "id": 4960, + "id": 4961, "node_type": 29, "src": { "line": 2294, @@ -123,18 +123,18 @@ "start": 82739, "end": 82776, "length": 38, - "parent_index": 4905 + "parent_index": 4906 }, "absolute_path": "Strings.sol", "file": "./Strings.sol", - "scope": 4905, + "scope": 4906, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4831 + "source_unit": 4832 }, { - "id": 4961, + "id": 4962, "name": "BaseStrategy", "node_type": 35, "src": { @@ -143,7 +143,7 @@ "start": 82814, "end": 85267, "length": 2454, - "parent_index": 4905 + "parent_index": 4906 }, "name_location": { "line": 2297, @@ -151,14 +151,14 @@ "start": 82832, "end": 82843, "length": 12, - "parent_index": 4961 + "parent_index": 4962 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 4963, + "id": 4964, "node_type": 51, "src": { "line": 2298, @@ -166,14 +166,14 @@ "start": 82851, "end": 82882, "length": 32, - "parent_index": 4961 + "parent_index": 4962 }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "type_name": { - "id": 4965, + "id": 4966, "node_type": 69, "src": { "line": 2298, @@ -181,20 +181,20 @@ "start": 82877, "end": 82881, "length": 5, - "parent_index": 4963 + "parent_index": 4964 }, "path_node": { - "id": 4966, + "id": 4967, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2298, "column": 30, "start": 82877, "end": 82881, "length": 5, - "parent_index": 4965 + "parent_index": 4966 }, "name_location": { "line": 2298, @@ -202,17 +202,17 @@ "start": 82877, "end": 82881, "length": 5, - "parent_index": 4965 + "parent_index": 4966 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "library_name": { - "id": 4964, + "id": 4965, "node_type": 52, "src": { "line": 2298, @@ -220,14 +220,14 @@ "start": 82857, "end": 82871, "length": 15, - "parent_index": 4963 + "parent_index": 4964 }, "name": "SafeTransferLib", - "referenced_declaration": 4499 + "referenced_declaration": 4500 } }, { - "id": 4968, + "id": 4969, "node_type": 42, "src": { "line": 2300, @@ -235,7 +235,7 @@ "start": 82889, "end": 82988, "length": 100, - "parent_index": 4961 + "parent_index": 4962 }, "kind": 11, "state_mutability": 4, @@ -243,7 +243,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 4969, + "id": 4970, "node_type": 43, "src": { "line": 2300, @@ -251,11 +251,11 @@ "start": 82901, "end": 82916, "length": 16, - "parent_index": 4968 + "parent_index": 4969 }, "parameters": [ { - "id": 4970, + "id": 4971, "node_type": 44, "src": { "line": 2300, @@ -263,12 +263,12 @@ "start": 82901, "end": 82916, "length": 16, - "parent_index": 4969 + "parent_index": 4970 }, - "scope": 4968, + "scope": 4969, "name": "_vault", "type_name": { - "id": 4971, + "id": 4972, "node_type": 69, "src": { "line": 2300, @@ -276,10 +276,10 @@ "start": 82901, "end": 82909, "length": 9, - "parent_index": 4970 + "parent_index": 4971 }, "path_node": { - "id": 4972, + "id": 4973, "name": "BaseVault", "node_type": 52, "referenced_declaration": 0, @@ -289,7 +289,7 @@ "start": 82901, "end": 82909, "length": 9, - "parent_index": 4971 + "parent_index": 4972 }, "name_location": { "line": 2300, @@ -297,12 +297,12 @@ "start": 82901, "end": 82909, "length": 9, - "parent_index": 4971 + "parent_index": 4972 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, @@ -316,7 +316,7 @@ ] }, "return_parameters": { - "id": 4973, + "id": 4974, "node_type": 43, "src": { "line": 2300, @@ -324,14 +324,14 @@ "start": 82889, "end": 82988, "length": 100, - "parent_index": 4968 + "parent_index": 4969 }, "parameters": [], "parameter_types": [] }, - "scope": 4961, + "scope": 4962, "body": { - "id": 4974, + "id": 4975, "node_type": 46, "kind": 0, "src": { @@ -340,12 +340,12 @@ "start": 82919, "end": 82988, "length": 70, - "parent_index": 4968 + "parent_index": 4969 }, "implemented": true, "statements": [ { - "id": 4975, + "id": 4976, "node_type": 27, "src": { "line": 2301, @@ -353,10 +353,10 @@ "start": 82929, "end": 82943, "length": 15, - "parent_index": 4974 + "parent_index": 4975 }, "expression": { - "id": 4976, + "id": 4977, "node_type": 27, "src": { "line": 2301, @@ -364,11 +364,11 @@ "start": 82929, "end": 82942, "length": 14, - "parent_index": 4975 + "parent_index": 4976 }, "operator": 11, "left_expression": { - "id": 4977, + "id": 4978, "node_type": 16, "src": { "line": 2301, @@ -376,19 +376,20 @@ "start": 82929, "end": 82933, "length": 5, - "parent_index": 4976 + "parent_index": 4977 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 4970, - "is_pure": false + "referenced_declaration": 4971, + "is_pure": false, + "text": "vault" }, "right_expression": { - "id": 4978, + "id": 4979, "node_type": 16, "src": { "line": 2301, @@ -396,25 +397,27 @@ "start": 82937, "end": 82942, "length": 6, - "parent_index": 4976 + "parent_index": 4977 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 4986, - "is_pure": false + "referenced_declaration": 4971, + "is_pure": false, + "text": "_vault" }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } - } + }, + "text": "vault=_vault;" }, { - "id": 4979, + "id": 4980, "node_type": 27, "src": { "line": 2302, @@ -422,10 +425,10 @@ "start": 82953, "end": 82982, "length": 30, - "parent_index": 4974 + "parent_index": 4975 }, "expression": { - "id": 4980, + "id": 4981, "node_type": 27, "src": { "line": 2302, @@ -433,11 +436,11 @@ "start": 82953, "end": 82981, "length": 29, - "parent_index": 4979 + "parent_index": 4980 }, "operator": 11, "left_expression": { - "id": 4981, + "id": 4982, "node_type": 16, "src": { "line": 2302, @@ -445,19 +448,20 @@ "start": 82953, "end": 82957, "length": 5, - "parent_index": 4980 + "parent_index": 4981 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 7867, - "is_pure": false + "referenced_declaration": 7870, + "is_pure": false, + "text": "asset" }, "right_expression": { - "id": 4982, + "id": 4983, "node_type": 24, "kind": 24, "src": { @@ -466,7 +470,7 @@ "start": 82961, "end": 82981, "length": 21, - "parent_index": 4980 + "parent_index": 4981 }, "argument_types": [ { @@ -476,7 +480,7 @@ ], "arguments": [ { - "id": 4984, + "id": 4985, "node_type": 24, "kind": 24, "src": { @@ -485,12 +489,12 @@ "start": 82967, "end": 82980, "length": 14, - "parent_index": 4982 + "parent_index": 4983 }, "argument_types": [], "arguments": [], "expression": { - "id": 4985, + "id": 4986, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -502,7 +506,7 @@ "start": 82967, "end": 82978, "length": 12, - "parent_index": 4984 + "parent_index": 4985 }, "member_location": { "line": 2302, @@ -510,10 +514,10 @@ "start": 82974, "end": 82978, "length": 5, - "parent_index": 4985 + "parent_index": 4986 }, "expression": { - "id": 4986, + "id": 4987, "node_type": 16, "src": { "line": 2302, @@ -521,24 +525,26 @@ "start": 82967, "end": 82972, "length": 6, - "parent_index": 4985 + "parent_index": 4986 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6449, - "is_pure": false + "referenced_declaration": 6451, + "is_pure": false, + "text": "_vault" }, "member_name": "asset", "argument_types": [], - "referenced_declaration": 7867, + "referenced_declaration": 7870, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_vault.asset" }, "type_description": { "type_identifier": "t_function_$", @@ -547,7 +553,7 @@ } ], "expression": { - "id": 4983, + "id": 4984, "node_type": 16, "src": { "line": 2302, @@ -555,7 +561,7 @@ "start": 82961, "end": 82965, "length": 5, - "parent_index": 4982 + "parent_index": 4983 }, "name": "ERC20", "type_description": { @@ -564,7 +570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -579,13 +586,14 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "asset=ERC20(_vault.asset());" } ] } }, { - "id": 4988, + "id": 4989, "name": "vault", "is_constant": false, "is_state_variable": true, @@ -596,18 +604,18 @@ "start": 83072, "end": 83104, "length": 33, - "parent_index": 4961 + "parent_index": 4962 }, - "scope": 4961, + "scope": 4962, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 4989, + "id": 4990, "node_type": 69, "src": { "line": 2306, @@ -615,10 +623,10 @@ "start": 83072, "end": 83080, "length": 9, - "parent_index": 4988 + "parent_index": 4989 }, "path_node": { - "id": 4990, + "id": 4991, "name": "BaseVault", "node_type": 52, "referenced_declaration": 0, @@ -628,7 +636,7 @@ "start": 83072, "end": 83080, "length": 9, - "parent_index": 4989 + "parent_index": 4990 }, "name_location": { "line": 2306, @@ -636,19 +644,19 @@ "start": 83072, "end": 83080, "length": 9, - "parent_index": 4989 + "parent_index": 4990 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "initial_value": null }, { - "id": 4992, + "id": 4993, "name": "onlyVault", "node_type": 68, "src": { @@ -657,7 +665,7 @@ "start": 83111, "end": 83214, "length": 104, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2308, @@ -665,12 +673,12 @@ "start": 83120, "end": 83128, "length": 9, - "parent_index": 4992 + "parent_index": 4993 }, "visibility": 1, "virtual": false, "parameters": { - "id": 4993, + "id": 4994, "node_type": 43, "src": { "line": 2308, @@ -678,13 +686,13 @@ "start": 83111, "end": 83214, "length": 104, - "parent_index": 4961 + "parent_index": 4962 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 4994, + "id": 4995, "node_type": 46, "kind": 0, "src": { @@ -693,12 +701,12 @@ "start": 83132, "end": 83214, "length": 83, - "parent_index": 4992 + "parent_index": 4993 }, "implemented": true, "statements": [ { - "id": 4995, + "id": 4996, "node_type": 24, "kind": 24, "src": { @@ -707,7 +715,7 @@ "start": 83142, "end": 83196, "length": 55, - "parent_index": 4994 + "parent_index": 4995 }, "argument_types": [ { @@ -721,7 +729,7 @@ ], "arguments": [ { - "id": 4997, + "id": 4998, "is_constant": false, "is_pure": false, "node_type": 19, @@ -731,11 +739,11 @@ "start": 83150, "end": 83177, "length": 28, - "parent_index": 4995 + "parent_index": 4996 }, "operator": 11, "left_expression": { - "id": 4998, + "id": 4999, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -747,7 +755,7 @@ "start": 83150, "end": 83159, "length": 10, - "parent_index": 4997 + "parent_index": 4998 }, "member_location": { "line": 2309, @@ -755,10 +763,10 @@ "start": 83154, "end": 83159, "length": 6, - "parent_index": 4998 + "parent_index": 4999 }, "expression": { - "id": 4999, + "id": 5000, "node_type": 16, "src": { "line": 2309, @@ -766,7 +774,7 @@ "start": 83150, "end": 83152, "length": 3, - "parent_index": 4998 + "parent_index": 4999 }, "name": "msg", "type_description": { @@ -775,17 +783,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 5000, + "id": 5001, "node_type": 24, "kind": 24, "src": { @@ -794,7 +804,7 @@ "start": 83164, "end": 83177, "length": 14, - "parent_index": 4997 + "parent_index": 4998 }, "argument_types": [ { @@ -804,7 +814,7 @@ ], "arguments": [ { - "id": 5003, + "id": 5004, "node_type": 16, "src": { "line": 2309, @@ -812,7 +822,7 @@ "start": 83172, "end": 83176, "length": 5, - "parent_index": 5000 + "parent_index": 5001 }, "name": "vault", "type_description": { @@ -821,11 +831,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 5001, + "id": 5002, "node_type": 16, "src": { "line": 2309, @@ -833,11 +844,11 @@ "start": 83164, "end": 83170, "length": 7, - "parent_index": 5000 + "parent_index": 5001 }, "name": "address", "type_name": { - "id": 5002, + "id": 5003, "node_type": 30, "src": { "line": 2309, @@ -845,7 +856,7 @@ "start": 83164, "end": 83170, "length": 7, - "parent_index": 5001 + "parent_index": 5002 }, "name": "address", "state_mutability": 4, @@ -867,7 +878,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -880,7 +892,7 @@ } }, { - "id": 5004, + "id": 5005, "node_type": 17, "kind": 50, "value": "BS: only vault", @@ -891,7 +903,7 @@ "start": 83180, "end": 83195, "length": 16, - "parent_index": 4995 + "parent_index": 4996 }, "type_description": { "type_identifier": "t_string_literal", @@ -905,11 +917,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BS: only vault\"" } ], "expression": { - "id": 4996, + "id": 4997, "node_type": 16, "src": { "line": 2309, @@ -917,7 +930,7 @@ "start": 83142, "end": 83148, "length": 7, - "parent_index": 4995 + "parent_index": 4996 }, "name": "require", "type_description": { @@ -926,7 +939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -934,7 +948,7 @@ } }, { - "id": 5005, + "id": 5006, "node_type": 82, "src": { "line": 2310, @@ -942,7 +956,7 @@ "start": 83207, "end": 83207, "length": 1, - "parent_index": 4994 + "parent_index": 4995 }, "name": "_", "type_description": { @@ -951,13 +965,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 5007, + "id": 5008, "name": "onlyGovernance", "node_type": 68, "src": { @@ -966,7 +981,7 @@ "start": 83221, "end": 83338, "length": 118, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2313, @@ -974,12 +989,12 @@ "start": 83230, "end": 83243, "length": 14, - "parent_index": 5007 + "parent_index": 5008 }, "visibility": 1, "virtual": false, "parameters": { - "id": 5008, + "id": 5009, "node_type": 43, "src": { "line": 2313, @@ -987,13 +1002,13 @@ "start": 83221, "end": 83338, "length": 118, - "parent_index": 4961 + "parent_index": 4962 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 5009, + "id": 5010, "node_type": 46, "kind": 0, "src": { @@ -1002,12 +1017,12 @@ "start": 83247, "end": 83338, "length": 92, - "parent_index": 5007 + "parent_index": 5008 }, "implemented": true, "statements": [ { - "id": 5010, + "id": 5011, "node_type": 24, "kind": 24, "src": { @@ -1016,7 +1031,7 @@ "start": 83257, "end": 83320, "length": 64, - "parent_index": 5009 + "parent_index": 5010 }, "argument_types": [ { @@ -1030,7 +1045,7 @@ ], "arguments": [ { - "id": 5012, + "id": 5013, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1040,11 +1055,11 @@ "start": 83265, "end": 83296, "length": 32, - "parent_index": 5010 + "parent_index": 5011 }, "operator": 11, "left_expression": { - "id": 5013, + "id": 5014, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1056,7 +1071,7 @@ "start": 83265, "end": 83274, "length": 10, - "parent_index": 5012 + "parent_index": 5013 }, "member_location": { "line": 2314, @@ -1064,10 +1079,10 @@ "start": 83269, "end": 83274, "length": 6, - "parent_index": 5013 + "parent_index": 5014 }, "expression": { - "id": 5014, + "id": 5015, "node_type": 16, "src": { "line": 2314, @@ -1075,7 +1090,7 @@ "start": 83265, "end": 83267, "length": 3, - "parent_index": 5013 + "parent_index": 5014 }, "name": "msg", "type_description": { @@ -1084,17 +1099,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 5015, + "id": 5016, "node_type": 24, "kind": 24, "src": { @@ -1103,12 +1120,12 @@ "start": 83279, "end": 83296, "length": 18, - "parent_index": 5012 + "parent_index": 5013 }, "argument_types": [], "arguments": [], "expression": { - "id": 5016, + "id": 5017, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1120,7 +1137,7 @@ "start": 83279, "end": 83294, "length": 16, - "parent_index": 5015 + "parent_index": 5016 }, "member_location": { "line": 2314, @@ -1128,10 +1145,10 @@ "start": 83285, "end": 83294, "length": 10, - "parent_index": 5016 + "parent_index": 5017 }, "expression": { - "id": 5017, + "id": 5018, "node_type": 16, "src": { "line": 2314, @@ -1139,24 +1156,26 @@ "start": 83279, "end": 83283, "length": 5, - "parent_index": 5016 + "parent_index": 5017 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 7864, - "is_pure": false + "referenced_declaration": 7867, + "is_pure": false, + "text": "vault" }, "member_name": "governance", "argument_types": [], - "referenced_declaration": 4884, + "referenced_declaration": 4885, "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "vault.governance" }, "type_description": { "type_identifier": "t_function_$", @@ -1169,7 +1188,7 @@ } }, { - "id": 5018, + "id": 5019, "node_type": 17, "kind": 50, "value": "BS: only governance", @@ -1180,7 +1199,7 @@ "start": 83299, "end": 83319, "length": 21, - "parent_index": 5010 + "parent_index": 5011 }, "type_description": { "type_identifier": "t_string_literal", @@ -1194,11 +1213,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BS: only governance\"" } ], "expression": { - "id": 5011, + "id": 5012, "node_type": 16, "src": { "line": 2314, @@ -1206,7 +1226,7 @@ "start": 83257, "end": 83263, "length": 7, - "parent_index": 5010 + "parent_index": 5011 }, "name": "require", "type_description": { @@ -1215,7 +1235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1223,7 +1244,7 @@ } }, { - "id": 5019, + "id": 5020, "node_type": 82, "src": { "line": 2315, @@ -1231,7 +1252,7 @@ "start": 83331, "end": 83331, "length": 1, - "parent_index": 5009 + "parent_index": 5010 }, "name": "_", "type_description": { @@ -1240,13 +1261,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 5021, + "id": 5022, "name": "asset", "is_constant": false, "is_state_variable": true, @@ -1257,18 +1279,18 @@ "start": 83418, "end": 83446, "length": 29, - "parent_index": 4961 + "parent_index": 4962 }, - "scope": 4961, + "scope": 4962, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 5022, + "id": 5023, "node_type": 69, "src": { "line": 2319, @@ -1276,20 +1298,20 @@ "start": 83418, "end": 83422, "length": 5, - "parent_index": 5021 + "parent_index": 5022 }, "path_node": { - "id": 5023, + "id": 5024, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2319, "column": 4, "start": 83418, "end": 83422, "length": 5, - "parent_index": 5022 + "parent_index": 5023 }, "name_location": { "line": 2319, @@ -1297,19 +1319,19 @@ "start": 83418, "end": 83422, "length": 5, - "parent_index": 5022 + "parent_index": 5023 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "initial_value": null }, { - "id": 5025, + "id": 5026, "name": "balanceOfAsset", "node_type": 42, "kind": 41, @@ -1319,7 +1341,7 @@ "start": 83552, "end": 83670, "length": 119, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2323, @@ -1327,10 +1349,10 @@ "start": 83561, "end": 83574, "length": 14, - "parent_index": 5025 + "parent_index": 5026 }, "body": { - "id": 5032, + "id": 5033, "node_type": 46, "kind": 0, "src": { @@ -1339,12 +1361,12 @@ "start": 83615, "end": 83670, "length": 56, - "parent_index": 5025 + "parent_index": 5026 }, "implemented": true, "statements": [ { - "id": 5033, + "id": 5034, "node_type": 27, "src": { "line": 2324, @@ -1352,10 +1374,10 @@ "start": 83625, "end": 83664, "length": 40, - "parent_index": 5032 + "parent_index": 5033 }, "expression": { - "id": 5034, + "id": 5035, "node_type": 27, "src": { "line": 2324, @@ -1363,11 +1385,11 @@ "start": 83625, "end": 83663, "length": 39, - "parent_index": 5033 + "parent_index": 5034 }, "operator": 11, "left_expression": { - "id": 5035, + "id": 5036, "node_type": 16, "src": { "line": 2324, @@ -1375,7 +1397,7 @@ "start": 83625, "end": 83630, "length": 6, - "parent_index": 5034 + "parent_index": 5035 }, "name": "assets", "type_description": { @@ -1383,11 +1405,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5035, - "is_pure": false + "referenced_declaration": 5036, + "is_pure": false, + "text": "assets" }, "right_expression": { - "id": 5036, + "id": 5037, "node_type": 24, "kind": 24, "src": { @@ -1396,7 +1419,7 @@ "start": 83634, "end": 83663, "length": 30, - "parent_index": 5034 + "parent_index": 5035 }, "argument_types": [ { @@ -1406,7 +1429,7 @@ ], "arguments": [ { - "id": 5039, + "id": 5040, "node_type": 24, "kind": 24, "src": { @@ -1415,17 +1438,17 @@ "start": 83650, "end": 83662, "length": 13, - "parent_index": 5036 + "parent_index": 5037 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" } ], "arguments": [ { - "id": 5042, + "id": 5043, "node_type": 16, "src": { "line": 2324, @@ -1433,20 +1456,21 @@ "start": 83658, "end": 83661, "length": 4, - "parent_index": 5039 + "parent_index": 5040 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 5040, + "id": 5041, "node_type": 16, "src": { "line": 2324, @@ -1454,11 +1478,11 @@ "start": 83650, "end": 83656, "length": 7, - "parent_index": 5039 + "parent_index": 5040 }, "name": "address", "type_name": { - "id": 5041, + "id": 5042, "node_type": 30, "src": { "line": 2324, @@ -1466,7 +1490,7 @@ "start": 83650, "end": 83656, "length": 7, - "parent_index": 5040 + "parent_index": 5041 }, "name": "address", "state_mutability": 4, @@ -1488,7 +1512,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1497,7 +1522,7 @@ } ], "expression": { - "id": 5037, + "id": 5038, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1509,7 +1534,7 @@ "start": 83634, "end": 83648, "length": 15, - "parent_index": 5036 + "parent_index": 5037 }, "member_location": { "line": 2324, @@ -1517,10 +1542,10 @@ "start": 83640, "end": 83648, "length": 9, - "parent_index": 5037 + "parent_index": 5038 }, "expression": { - "id": 5038, + "id": 5039, "node_type": 16, "src": { "line": 2324, @@ -1528,23 +1553,25 @@ "start": 83634, "end": 83638, "length": 5, - "parent_index": 5037 + "parent_index": 5038 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -1559,7 +1586,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "assets=asset.balanceOf(address(this));" } ] }, @@ -1570,7 +1598,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5026, + "id": 5027, "node_type": 43, "src": { "line": 2323, @@ -1578,11 +1606,11 @@ "start": 83599, "end": 83612, "length": 14, - "parent_index": 5025 + "parent_index": 5026 }, "parameters": [ { - "id": 5027, + "id": 5028, "node_type": 44, "src": { "line": 2323, @@ -1590,12 +1618,12 @@ "start": 83599, "end": 83612, "length": 14, - "parent_index": 5026 + "parent_index": 5027 }, - "scope": 5025, + "scope": 5026, "name": "assets", "type_name": { - "id": 5028, + "id": 5029, "node_type": 30, "src": { "line": 2323, @@ -1603,7 +1631,7 @@ "start": 83599, "end": 83605, "length": 7, - "parent_index": 5027 + "parent_index": 5028 }, "name": "uint256", "referenced_declaration": 0, @@ -1629,7 +1657,7 @@ ] }, "return_parameters": { - "id": 5029, + "id": 5030, "node_type": 43, "src": { "line": 2323, @@ -1637,11 +1665,11 @@ "start": 83599, "end": 83612, "length": 14, - "parent_index": 5025 + "parent_index": 5026 }, "parameters": [ { - "id": 5030, + "id": 5031, "node_type": 44, "src": { "line": 2323, @@ -1649,12 +1677,12 @@ "start": 83599, "end": 83612, "length": 14, - "parent_index": 5029 + "parent_index": 5030 }, - "scope": 5025, + "scope": 5026, "name": "assets", "type_name": { - "id": 5031, + "id": 5032, "node_type": 30, "src": { "line": 2323, @@ -1662,7 +1690,7 @@ "start": 83599, "end": 83605, "length": 7, - "parent_index": 5030 + "parent_index": 5031 }, "name": "uint256", "referenced_declaration": 0, @@ -1689,14 +1717,15 @@ }, "signature_raw": "balanceOfAsset(uint256)", "signature": "bd31fdb3", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbalanceOfAsset()publicviewreturns(uint256assets){assets=asset.balanceOf(address(this));}" }, { - "id": 5044, + "id": 5045, "name": "invest", "node_type": 42, "kind": 41, @@ -1706,7 +1735,7 @@ "start": 83845, "end": 83989, "length": 145, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2330, @@ -1714,10 +1743,10 @@ "start": 83854, "end": 83859, "length": 6, - "parent_index": 5044 + "parent_index": 5045 }, "body": { - "id": 5049, + "id": 5050, "node_type": 46, "kind": 0, "src": { @@ -1726,12 +1755,12 @@ "start": 83886, "end": 83989, "length": 104, - "parent_index": 5044 + "parent_index": 5045 }, "implemented": true, "statements": [ { - "id": 5050, + "id": 5051, "node_type": 24, "kind": 24, "src": { @@ -1740,7 +1769,7 @@ "start": 83896, "end": 83952, "length": 57, - "parent_index": 5049 + "parent_index": 5050 }, "argument_types": [ { @@ -1758,7 +1787,7 @@ ], "arguments": [ { - "id": 5053, + "id": 5054, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1770,7 +1799,7 @@ "start": 83919, "end": 83928, "length": 10, - "parent_index": 5050 + "parent_index": 5051 }, "member_location": { "line": 2331, @@ -1778,10 +1807,10 @@ "start": 83923, "end": 83928, "length": 6, - "parent_index": 5053 + "parent_index": 5054 }, "expression": { - "id": 5054, + "id": 5055, "node_type": 16, "src": { "line": 2331, @@ -1789,7 +1818,7 @@ "start": 83919, "end": 83921, "length": 3, - "parent_index": 5053 + "parent_index": 5054 }, "name": "msg", "type_description": { @@ -1798,17 +1827,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 5055, + "id": 5056, "node_type": 24, "kind": 24, "src": { @@ -1817,17 +1848,17 @@ "start": 83931, "end": 83943, "length": 13, - "parent_index": 5050 + "parent_index": 5051 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" } ], "arguments": [ { - "id": 5058, + "id": 5059, "node_type": 16, "src": { "line": 2331, @@ -1835,20 +1866,21 @@ "start": 83939, "end": 83942, "length": 4, - "parent_index": 5055 + "parent_index": 5056 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 5056, + "id": 5057, "node_type": 16, "src": { "line": 2331, @@ -1856,11 +1888,11 @@ "start": 83931, "end": 83937, "length": 7, - "parent_index": 5055 + "parent_index": 5056 }, "name": "address", "type_name": { - "id": 5057, + "id": 5058, "node_type": 30, "src": { "line": 2331, @@ -1868,7 +1900,7 @@ "start": 83931, "end": 83937, "length": 7, - "parent_index": 5056 + "parent_index": 5057 }, "name": "address", "state_mutability": 4, @@ -1890,7 +1922,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1898,7 +1931,7 @@ } }, { - "id": 5059, + "id": 5060, "node_type": 16, "src": { "line": 2331, @@ -1906,7 +1939,7 @@ "start": 83946, "end": 83951, "length": 6, - "parent_index": 5050 + "parent_index": 5051 }, "name": "amount", "type_description": { @@ -1914,7 +1947,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5059, + "referenced_declaration": 5060, "is_pure": false, "argument_types": [ { @@ -1925,11 +1958,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "amount" } ], "expression": { - "id": 5051, + "id": 5052, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1941,7 +1975,7 @@ "start": 83896, "end": 83917, "length": 22, - "parent_index": 5050 + "parent_index": 5051 }, "member_location": { "line": 2331, @@ -1949,10 +1983,10 @@ "start": 83902, "end": 83917, "length": 16, - "parent_index": 5051 + "parent_index": 5052 }, "expression": { - "id": 5052, + "id": 5053, "node_type": 16, "src": { "line": 2331, @@ -1960,23 +1994,25 @@ "start": 83896, "end": 83900, "length": 5, - "parent_index": 5051 + "parent_index": 5052 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -1984,7 +2020,7 @@ } }, { - "id": 5060, + "id": 5061, "node_type": 24, "kind": 24, "src": { @@ -1993,7 +2029,7 @@ "start": 83963, "end": 83982, "length": 20, - "parent_index": 5049 + "parent_index": 5050 }, "argument_types": [ { @@ -2003,7 +2039,7 @@ ], "arguments": [ { - "id": 5062, + "id": 5063, "node_type": 16, "src": { "line": 2332, @@ -2011,7 +2047,7 @@ "start": 83976, "end": 83981, "length": 6, - "parent_index": 5060 + "parent_index": 5061 }, "name": "amount", "type_description": { @@ -2019,12 +2055,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5062, - "is_pure": false + "referenced_declaration": 5063, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 5061, + "id": 5062, "node_type": 16, "src": { "line": 2332, @@ -2032,7 +2069,7 @@ "start": 83963, "end": 83974, "length": 12, - "parent_index": 5060 + "parent_index": 5061 }, "name": "_afterInvest", "type_description": { @@ -2041,7 +2078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterInvest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -2057,7 +2095,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5045, + "id": 5046, "node_type": 43, "src": { "line": 2330, @@ -2065,11 +2103,11 @@ "start": 83861, "end": 83874, "length": 14, - "parent_index": 5044 + "parent_index": 5045 }, "parameters": [ { - "id": 5046, + "id": 5047, "node_type": 44, "src": { "line": 2330, @@ -2077,12 +2115,12 @@ "start": 83861, "end": 83874, "length": 14, - "parent_index": 5045 + "parent_index": 5046 }, - "scope": 5044, + "scope": 5045, "name": "amount", "type_name": { - "id": 5047, + "id": 5048, "node_type": 30, "src": { "line": 2330, @@ -2090,7 +2128,7 @@ "start": 83861, "end": 83867, "length": 7, - "parent_index": 5046 + "parent_index": 5047 }, "name": "uint256", "referenced_declaration": 0, @@ -2116,7 +2154,7 @@ ] }, "return_parameters": { - "id": 5048, + "id": 5049, "node_type": 43, "src": { "line": 2330, @@ -2124,21 +2162,22 @@ "start": 83845, "end": 83989, "length": 145, - "parent_index": 5044 + "parent_index": 5045 }, "parameters": [], "parameter_types": [] }, "signature_raw": "invest(uint256)", "signature": "2afcf480", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functioninvest(uint256amount)external{asset.safeTransferFrom(msg.sender,address(this),amount);_afterInvest(amount);}" }, { - "id": 5064, + "id": 5065, "name": "_afterInvest", "node_type": 42, "kind": 41, @@ -2148,7 +2187,7 @@ "start": 84335, "end": 84391, "length": 57, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2339, @@ -2156,10 +2195,10 @@ "start": 84344, "end": 84355, "length": 12, - "parent_index": 5064 + "parent_index": 5065 }, "body": { - "id": 5069, + "id": 5070, "node_type": 46, "kind": 0, "src": { @@ -2168,7 +2207,7 @@ "start": 84390, "end": 84391, "length": 2, - "parent_index": 5064 + "parent_index": 5065 }, "implemented": true, "statements": [] @@ -2180,7 +2219,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5065, + "id": 5066, "node_type": 43, "src": { "line": 2339, @@ -2188,11 +2227,11 @@ "start": 84357, "end": 84370, "length": 14, - "parent_index": 5064 + "parent_index": 5065 }, "parameters": [ { - "id": 5066, + "id": 5067, "node_type": 44, "src": { "line": 2339, @@ -2200,12 +2239,12 @@ "start": 84357, "end": 84370, "length": 14, - "parent_index": 5065 + "parent_index": 5066 }, - "scope": 5064, + "scope": 5065, "name": "amount", "type_name": { - "id": 5067, + "id": 5068, "node_type": 30, "src": { "line": 2339, @@ -2213,7 +2252,7 @@ "start": 84357, "end": 84363, "length": 7, - "parent_index": 5066 + "parent_index": 5067 }, "name": "uint256", "referenced_declaration": 0, @@ -2239,7 +2278,7 @@ ] }, "return_parameters": { - "id": 5068, + "id": 5069, "node_type": 43, "src": { "line": 2339, @@ -2247,21 +2286,22 @@ "start": 84335, "end": 84391, "length": 57, - "parent_index": 5064 + "parent_index": 5065 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_afterInvest(uint256)", "signature": "d0fae237", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_afterInvest(uint256amount)internalvirtual{}" }, { - "id": 5071, + "id": 5072, "name": "divest", "node_type": 42, "kind": 41, @@ -2271,7 +2311,7 @@ "start": 84574, "end": 84681, "length": 108, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2344, @@ -2279,10 +2319,10 @@ "start": 84583, "end": 84588, "length": 6, - "parent_index": 5071 + "parent_index": 5072 }, "body": { - "id": 5080, + "id": 5081, "node_type": 46, "kind": 0, "src": { @@ -2291,12 +2331,12 @@ "start": 84643, "end": 84681, "length": 39, - "parent_index": 5071 + "parent_index": 5072 }, "implemented": true, "statements": [ { - "id": 5081, + "id": 5082, "node_type": 47, "src": { "line": 2345, @@ -2304,11 +2344,11 @@ "start": 84653, "end": 84675, "length": 23, - "parent_index": 5071 + "parent_index": 5072 }, - "function_return_parameters": 5071, + "function_return_parameters": 5072, "expression": { - "id": 5082, + "id": 5083, "node_type": 24, "kind": 24, "src": { @@ -2317,7 +2357,7 @@ "start": 84660, "end": 84674, "length": 15, - "parent_index": 5081 + "parent_index": 5082 }, "argument_types": [ { @@ -2327,7 +2367,7 @@ ], "arguments": [ { - "id": 5084, + "id": 5085, "node_type": 16, "src": { "line": 2345, @@ -2335,7 +2375,7 @@ "start": 84668, "end": 84673, "length": 6, - "parent_index": 5082 + "parent_index": 5083 }, "name": "amount", "type_description": { @@ -2343,12 +2383,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5084, - "is_pure": false + "referenced_declaration": 5085, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 5083, + "id": 5084, "node_type": 16, "src": { "line": 2345, @@ -2356,7 +2397,7 @@ "start": 84660, "end": 84666, "length": 7, - "parent_index": 5082 + "parent_index": 5083 }, "name": "_divest", "type_description": { @@ -2365,7 +2406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_divest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -2381,7 +2423,7 @@ "virtual": false, "modifiers": [ { - "id": 5075, + "id": 5076, "name": "onlyVault", "node_type": 72, "kind": 72, @@ -2391,12 +2433,12 @@ "start": 84615, "end": 84623, "length": 9, - "parent_index": 5071 + "parent_index": 5072 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5076, + "id": 5077, "name": "onlyVault", "node_type": 0, "src": { @@ -2405,14 +2447,14 @@ "start": 84615, "end": 84623, "length": 9, - "parent_index": 5075 + "parent_index": 5076 } } } ], "overrides": [], "parameters": { - "id": 5072, + "id": 5073, "node_type": 43, "src": { "line": 2344, @@ -2420,11 +2462,11 @@ "start": 84590, "end": 84603, "length": 14, - "parent_index": 5071 + "parent_index": 5072 }, "parameters": [ { - "id": 5073, + "id": 5074, "node_type": 44, "src": { "line": 2344, @@ -2432,12 +2474,12 @@ "start": 84590, "end": 84603, "length": 14, - "parent_index": 5072 + "parent_index": 5073 }, - "scope": 5071, + "scope": 5072, "name": "amount", "type_name": { - "id": 5074, + "id": 5075, "node_type": 30, "src": { "line": 2344, @@ -2445,7 +2487,7 @@ "start": 84590, "end": 84596, "length": 7, - "parent_index": 5073 + "parent_index": 5074 }, "name": "uint256", "referenced_declaration": 0, @@ -2471,7 +2513,7 @@ ] }, "return_parameters": { - "id": 5077, + "id": 5078, "node_type": 43, "src": { "line": 2344, @@ -2479,11 +2521,11 @@ "start": 84634, "end": 84640, "length": 7, - "parent_index": 5071 + "parent_index": 5072 }, "parameters": [ { - "id": 5078, + "id": 5079, "node_type": 44, "src": { "line": 2344, @@ -2491,12 +2533,12 @@ "start": 84634, "end": 84640, "length": 7, - "parent_index": 5077 + "parent_index": 5078 }, - "scope": 5071, + "scope": 5072, "name": "", "type_name": { - "id": 5079, + "id": 5080, "node_type": 30, "src": { "line": 2344, @@ -2504,7 +2546,7 @@ "start": 84634, "end": 84640, "length": 7, - "parent_index": 5078 + "parent_index": 5079 }, "name": "uint256", "referenced_declaration": 0, @@ -2531,14 +2573,15 @@ }, "signature_raw": "divest(uint256)", "signature": "8ca17995", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondivest(uint256amount)externalonlyVaultreturns(uint256){return_divest(amount);}" }, { - "id": 5086, + "id": 5087, "name": "_divest", "node_type": 42, "kind": 41, @@ -2548,7 +2591,7 @@ "start": 84782, "end": 84851, "length": 70, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2349, @@ -2556,10 +2599,10 @@ "start": 84791, "end": 84797, "length": 7, - "parent_index": 5086 + "parent_index": 5087 }, "body": { - "id": 5093, + "id": 5094, "node_type": 46, "kind": 0, "src": { @@ -2568,7 +2611,7 @@ "start": 84850, "end": 84851, "length": 2, - "parent_index": 5086 + "parent_index": 5087 }, "implemented": true, "statements": [] @@ -2580,7 +2623,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5087, + "id": 5088, "node_type": 43, "src": { "line": 2349, @@ -2588,11 +2631,11 @@ "start": 84799, "end": 84812, "length": 14, - "parent_index": 5086 + "parent_index": 5087 }, "parameters": [ { - "id": 5088, + "id": 5089, "node_type": 44, "src": { "line": 2349, @@ -2600,12 +2643,12 @@ "start": 84799, "end": 84812, "length": 14, - "parent_index": 5087 + "parent_index": 5088 }, - "scope": 5086, + "scope": 5087, "name": "amount", "type_name": { - "id": 5089, + "id": 5090, "node_type": 30, "src": { "line": 2349, @@ -2613,7 +2656,7 @@ "start": 84799, "end": 84805, "length": 7, - "parent_index": 5088 + "parent_index": 5089 }, "name": "uint256", "referenced_declaration": 0, @@ -2639,7 +2682,7 @@ ] }, "return_parameters": { - "id": 5090, + "id": 5091, "node_type": 43, "src": { "line": 2349, @@ -2647,11 +2690,11 @@ "start": 84841, "end": 84847, "length": 7, - "parent_index": 5086 + "parent_index": 5087 }, "parameters": [ { - "id": 5091, + "id": 5092, "node_type": 44, "src": { "line": 2349, @@ -2659,12 +2702,12 @@ "start": 84841, "end": 84847, "length": 7, - "parent_index": 5090 + "parent_index": 5091 }, - "scope": 5086, + "scope": 5087, "name": "", "type_name": { - "id": 5092, + "id": 5093, "node_type": 30, "src": { "line": 2349, @@ -2672,7 +2715,7 @@ "start": 84841, "end": 84847, "length": 7, - "parent_index": 5091 + "parent_index": 5092 }, "name": "uint256", "referenced_declaration": 0, @@ -2699,14 +2742,15 @@ }, "signature_raw": "_divest(uint256)", "signature": "4a1b8f2d", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_divest(uint256amount)internalvirtualreturns(uint256){}" }, { - "id": 5095, + "id": 5096, "name": "totalLockedValue", "node_type": 42, "kind": 41, @@ -2716,7 +2760,7 @@ "start": 85058, "end": 85120, "length": 63, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2354, @@ -2724,10 +2768,10 @@ "start": 85067, "end": 85082, "length": 16, - "parent_index": 5095 + "parent_index": 5096 }, "body": { - "id": 5102, + "id": 5103, "node_type": 46, "kind": 0, "src": { @@ -2736,7 +2780,7 @@ "start": 85058, "end": 85120, "length": 63, - "parent_index": 5095 + "parent_index": 5096 }, "implemented": false, "statements": [] @@ -2748,7 +2792,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5096, + "id": 5097, "node_type": 43, "src": { "line": 2354, @@ -2756,11 +2800,11 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5095 + "parent_index": 5096 }, "parameters": [ { - "id": 5097, + "id": 5098, "node_type": 44, "src": { "line": 2354, @@ -2768,12 +2812,12 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5096 + "parent_index": 5097 }, - "scope": 5095, + "scope": 5096, "name": "", "type_name": { - "id": 5098, + "id": 5099, "node_type": 30, "src": { "line": 2354, @@ -2781,7 +2825,7 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5097 + "parent_index": 5098 }, "name": "uint256", "referenced_declaration": 0, @@ -2807,7 +2851,7 @@ ] }, "return_parameters": { - "id": 5099, + "id": 5100, "node_type": 43, "src": { "line": 2354, @@ -2815,11 +2859,11 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5095 + "parent_index": 5096 }, "parameters": [ { - "id": 5100, + "id": 5101, "node_type": 44, "src": { "line": 2354, @@ -2827,12 +2871,12 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5099 + "parent_index": 5100 }, - "scope": 5095, + "scope": 5096, "name": "", "type_name": { - "id": 5101, + "id": 5102, "node_type": 30, "src": { "line": 2354, @@ -2840,7 +2884,7 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5100 + "parent_index": 5101 }, "name": "uint256", "referenced_declaration": 0, @@ -2867,14 +2911,15 @@ }, "signature_raw": "totalLockedValue(uint256)", "signature": "6c261411", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalLockedValue()externalvirtualreturns(uint256);" }, { - "id": 5104, + "id": 5105, "name": "sweep", "node_type": 42, "kind": 41, @@ -2884,7 +2929,7 @@ "start": 85127, "end": 85265, "length": 139, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2356, @@ -2892,10 +2937,10 @@ "start": 85136, "end": 85140, "length": 5, - "parent_index": 5104 + "parent_index": 5105 }, "body": { - "id": 5112, + "id": 5113, "node_type": 46, "kind": 0, "src": { @@ -2904,12 +2949,12 @@ "start": 85179, "end": 85265, "length": 87, - "parent_index": 5104 + "parent_index": 5105 }, "implemented": true, "statements": [ { - "id": 5113, + "id": 5114, "node_type": 24, "kind": 24, "src": { @@ -2918,7 +2963,7 @@ "start": 85189, "end": 85258, "length": 70, - "parent_index": 5112 + "parent_index": 5113 }, "argument_types": [ { @@ -2932,7 +2977,7 @@ ], "arguments": [ { - "id": 5116, + "id": 5117, "node_type": 24, "kind": 24, "src": { @@ -2941,12 +2986,12 @@ "start": 85208, "end": 85225, "length": 18, - "parent_index": 5113 + "parent_index": 5114 }, "argument_types": [], "arguments": [], "expression": { - "id": 5117, + "id": 5118, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2958,7 +3003,7 @@ "start": 85208, "end": 85223, "length": 16, - "parent_index": 5116 + "parent_index": 5117 }, "member_location": { "line": 2357, @@ -2966,10 +3011,10 @@ "start": 85214, "end": 85223, "length": 10, - "parent_index": 5117 + "parent_index": 5118 }, "expression": { - "id": 5118, + "id": 5119, "node_type": 16, "src": { "line": 2357, @@ -2977,24 +3022,26 @@ "start": 85208, "end": 85212, "length": 5, - "parent_index": 5117 + "parent_index": 5118 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 7864, - "is_pure": false + "referenced_declaration": 7867, + "is_pure": false, + "text": "vault" }, "member_name": "governance", "argument_types": [], - "referenced_declaration": 4884, + "referenced_declaration": 4885, "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "vault.governance" }, "type_description": { "type_identifier": "t_function_$", @@ -3002,7 +3049,7 @@ } }, { - "id": 5119, + "id": 5120, "node_type": 24, "kind": 24, "src": { @@ -3011,7 +3058,7 @@ "start": 85228, "end": 85257, "length": 30, - "parent_index": 5113 + "parent_index": 5114 }, "argument_types": [ { @@ -3021,7 +3068,7 @@ ], "arguments": [ { - "id": 5122, + "id": 5123, "node_type": 24, "kind": 24, "src": { @@ -3030,17 +3077,17 @@ "start": 85244, "end": 85256, "length": 13, - "parent_index": 5119 + "parent_index": 5120 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" } ], "arguments": [ { - "id": 5125, + "id": 5126, "node_type": 16, "src": { "line": 2357, @@ -3048,20 +3095,21 @@ "start": 85252, "end": 85255, "length": 4, - "parent_index": 5122 + "parent_index": 5123 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 5123, + "id": 5124, "node_type": 16, "src": { "line": 2357, @@ -3069,11 +3117,11 @@ "start": 85244, "end": 85250, "length": 7, - "parent_index": 5122 + "parent_index": 5123 }, "name": "address", "type_name": { - "id": 5124, + "id": 5125, "node_type": 30, "src": { "line": 2357, @@ -3081,7 +3129,7 @@ "start": 85244, "end": 85250, "length": 7, - "parent_index": 5123 + "parent_index": 5124 }, "name": "address", "state_mutability": 4, @@ -3103,7 +3151,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3112,7 +3161,7 @@ } ], "expression": { - "id": 5120, + "id": 5121, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3124,7 +3173,7 @@ "start": 85228, "end": 85242, "length": 15, - "parent_index": 5119 + "parent_index": 5120 }, "member_location": { "line": 2357, @@ -3132,10 +3181,10 @@ "start": 85234, "end": 85242, "length": 9, - "parent_index": 5120 + "parent_index": 5121 }, "expression": { - "id": 5121, + "id": 5122, "node_type": 16, "src": { "line": 2357, @@ -3143,23 +3192,25 @@ "start": 85228, "end": 85232, "length": 5, - "parent_index": 5120 + "parent_index": 5121 }, "name": "token", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5121, - "is_pure": false + "referenced_declaration": 5122, + "is_pure": false, + "text": "token" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "token.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -3168,7 +3219,7 @@ } ], "expression": { - "id": 5114, + "id": 5115, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3180,7 +3231,7 @@ "start": 85189, "end": 85206, "length": 18, - "parent_index": 5113 + "parent_index": 5114 }, "member_location": { "line": 2357, @@ -3188,10 +3239,10 @@ "start": 85195, "end": 85206, "length": 12, - "parent_index": 5114 + "parent_index": 5115 }, "expression": { - "id": 5115, + "id": 5116, "node_type": 16, "src": { "line": 2357, @@ -3199,23 +3250,25 @@ "start": 85189, "end": 85193, "length": 5, - "parent_index": 5114 + "parent_index": 5115 }, "name": "token", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5115, - "is_pure": false + "referenced_declaration": 5116, + "is_pure": false, + "text": "token" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "token.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_address$", @@ -3230,7 +3283,7 @@ "virtual": false, "modifiers": [ { - "id": 5109, + "id": 5110, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -3240,12 +3293,12 @@ "start": 85164, "end": 85177, "length": 14, - "parent_index": 5104 + "parent_index": 5105 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5110, + "id": 5111, "name": "onlyGovernance", "node_type": 0, "src": { @@ -3254,14 +3307,14 @@ "start": 85164, "end": 85177, "length": 14, - "parent_index": 5109 + "parent_index": 5110 } } } ], "overrides": [], "parameters": { - "id": 5105, + "id": 5106, "node_type": 43, "src": { "line": 2356, @@ -3269,11 +3322,11 @@ "start": 85142, "end": 85152, "length": 11, - "parent_index": 5104 + "parent_index": 5105 }, "parameters": [ { - "id": 5106, + "id": 5107, "node_type": 44, "src": { "line": 2356, @@ -3281,12 +3334,12 @@ "start": 85142, "end": 85152, "length": 11, - "parent_index": 5105 + "parent_index": 5106 }, - "scope": 5104, + "scope": 5105, "name": "token", "type_name": { - "id": 5107, + "id": 5108, "node_type": 69, "src": { "line": 2356, @@ -3294,20 +3347,20 @@ "start": 85142, "end": 85146, "length": 5, - "parent_index": 5106 + "parent_index": 5107 }, "path_node": { - "id": 5108, + "id": 5109, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2356, "column": 19, "start": 85142, "end": 85146, "length": 5, - "parent_index": 5107 + "parent_index": 5108 }, "name_location": { "line": 2356, @@ -3315,12 +3368,12 @@ "start": 85142, "end": 85146, "length": 5, - "parent_index": 5107 + "parent_index": 5108 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -3328,20 +3381,20 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } } ], "parameter_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } ] }, "return_parameters": { - "id": 5111, + "id": 5112, "node_type": 43, "src": { "line": 2356, @@ -3349,33 +3402,34 @@ "start": 85127, "end": 85265, "length": 139, - "parent_index": 5104 + "parent_index": 5105 }, "parameters": [], "parameter_types": [] }, "signature_raw": "sweep()", "signature": "35faa416", - "scope": 4961, + "scope": 4962, "type_description": { - "type_identifier": "t_function_$_t_contract$_ERC20_$4060$", + "type_identifier": "t_function_$_t_contract$_ERC20_$4061$", "type_string": "function(contract ERC20)" - } + }, + "text": "functionsweep(ERC20token)externalonlyGovernance{token.safeTransfer(vault.governance(),token.balanceOf(address(this)));}" } ], "linearized_base_contracts": [ - 4961, - 4957, + 4962, 4958, 4959, - 4960 + 4960, + 4961 ], "base_contracts": [], "contract_dependencies": [ - 4957, 4958, 4959, - 4960 + 4960, + 4961 ] } ], diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseVault.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseVault.solgo.ast.json index 8b79421b..88ae82f2 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseVault.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseVault.solgo.ast.json @@ -1,8 +1,8 @@ { - "id": 5126, + "id": 5127, "base_contracts": [ { - "id": 5194, + "id": 5195, "node_type": 62, "src": { "line": 2384, @@ -10,10 +10,10 @@ "start": 86124, "end": 86147, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5195, + "id": 5196, "node_type": 52, "src": { "line": 2384, @@ -21,14 +21,14 @@ "start": 86124, "end": 86147, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, "name": "AccessControlUpgradeable", "referenced_declaration": 2490 } }, { - "id": 5196, + "id": 5197, "node_type": 62, "src": { "line": 2384, @@ -36,10 +36,10 @@ "start": 86150, "end": 86165, "length": 16, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5197, + "id": 5198, "node_type": 52, "src": { "line": 2384, @@ -47,14 +47,14 @@ "start": 86150, "end": 86165, "length": 16, - "parent_index": 5193 + "parent_index": 5194 }, "name": "AffineGovernable", - "referenced_declaration": 4831 + "referenced_declaration": 4832 } }, { - "id": 5198, + "id": 5199, "node_type": 62, "src": { "line": 2384, @@ -62,10 +62,10 @@ "start": 86168, "end": 86180, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5199, + "id": 5200, "node_type": 52, "src": { "line": 2384, @@ -73,67 +73,67 @@ "start": 86168, "end": 86180, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, "name": "Multicallable", - "referenced_declaration": 3820 + "referenced_declaration": 3821 } } ], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 5126, + "id": 5127, "name": "BaseVault", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseVault.sol" }, { - "id": 4905, + "id": 4906, "name": "AccessControlUpgradeable", "absolute_path": "AccessControlUpgradeable.sol" }, { - "id": 4905, + "id": 4906, "name": "Math", "absolute_path": "Math.sol" }, { - "id": 4905, + "id": 4906, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 4905, + "id": 4906, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 4905, + "id": 4906, "name": "Multicallable", "absolute_path": "Multicallable.sol" }, { - "id": 4905, + "id": 4906, "name": "BaseStrategy", "absolute_path": "BaseStrategy.sol" }, { - "id": 4905, + "id": 4906, "name": "AffineGovernable", "absolute_path": "AffineGovernable.sol" }, { - "id": 4905, + "id": 4906, "name": "BridgeEscrow", "absolute_path": "BridgeEscrow.sol" }, { - "id": 4905, + "id": 4906, "name": "WormholeRouter", "absolute_path": "WormholeRouter.sol" }, { - "id": 4905, + "id": 4906, "name": "Unchecked", "absolute_path": "Unchecked.sol" } @@ -143,7 +143,7 @@ "node_type": 1, "nodes": [ { - "id": 5149, + "id": 5150, "node_type": 10, "src": { "line": 2363, @@ -151,7 +151,7 @@ "start": 85308, "end": 85331, "length": 24, - "parent_index": 5126 + "parent_index": 5127 }, "literals": [ "pragma", @@ -167,7 +167,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 5183, + "id": 5184, "node_type": 29, "src": { "line": 2365, @@ -175,18 +175,18 @@ "start": 85334, "end": 85405, "length": 72, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "AccessControlUpgradeable.sol", "file": "./AccessControlUpgradeable.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5184, + "id": 5185, "node_type": 29, "src": { "line": 2366, @@ -194,18 +194,18 @@ "start": 85407, "end": 85438, "length": 32, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "Math.sol", "file": "./Math.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5185, + "id": 5186, "node_type": 29, "src": { "line": 2368, @@ -213,18 +213,18 @@ "start": 85441, "end": 85474, "length": 34, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5186, + "id": 5187, "node_type": 29, "src": { "line": 2369, @@ -232,18 +232,18 @@ "start": 85476, "end": 85529, "length": 54, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5187, + "id": 5188, "node_type": 29, "src": { "line": 2371, @@ -251,18 +251,18 @@ "start": 85532, "end": 85581, "length": 50, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "Multicallable.sol", "file": "./Multicallable.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5188, + "id": 5189, "node_type": 29, "src": { "line": 2373, @@ -270,20 +270,20 @@ "start": 85584, "end": 85643, "length": 60, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "BaseStrategy.sol", "file": "./BaseStrategy.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [ "Strategy" ], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5189, + "id": 5190, "node_type": 29, "src": { "line": 2374, @@ -291,18 +291,18 @@ "start": 85645, "end": 85700, "length": 56, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "AffineGovernable.sol", "file": "./AffineGovernable.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5190, + "id": 5191, "node_type": 29, "src": { "line": 2375, @@ -310,18 +310,18 @@ "start": 85702, "end": 85749, "length": 48, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "BridgeEscrow.sol", "file": "./BridgeEscrow.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5191, + "id": 5192, "node_type": 29, "src": { "line": 2376, @@ -329,18 +329,18 @@ "start": 85751, "end": 85802, "length": 52, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "WormholeRouter.sol", "file": "./WormholeRouter.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5192, + "id": 5193, "node_type": 29, "src": { "line": 2377, @@ -348,18 +348,18 @@ "start": 85804, "end": 85848, "length": 45, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "Unchecked.sol", "file": "./Unchecked.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5193, + "id": 5194, "name": "BaseVault", "node_type": 35, "src": { @@ -368,7 +368,7 @@ "start": 86093, "end": 108741, "length": 22649, - "parent_index": 5126 + "parent_index": 5127 }, "name_location": { "line": 2384, @@ -376,14 +376,14 @@ "start": 86111, "end": 86119, "length": 9, - "parent_index": 5193 + "parent_index": 5194 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 5201, + "id": 5202, "node_type": 51, "src": { "line": 2385, @@ -391,14 +391,14 @@ "start": 86188, "end": 86219, "length": 32, - "parent_index": 5193 + "parent_index": 5194 }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "type_name": { - "id": 5203, + "id": 5204, "node_type": 69, "src": { "line": 2385, @@ -406,20 +406,20 @@ "start": 86214, "end": 86218, "length": 5, - "parent_index": 5201 + "parent_index": 5202 }, "path_node": { - "id": 5204, + "id": 5205, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2385, "column": 30, "start": 86214, "end": 86218, "length": 5, - "parent_index": 5203 + "parent_index": 5204 }, "name_location": { "line": 2385, @@ -427,17 +427,17 @@ "start": 86214, "end": 86218, "length": 5, - "parent_index": 5203 + "parent_index": 5204 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "library_name": { - "id": 5202, + "id": 5203, "node_type": 52, "src": { "line": 2385, @@ -445,14 +445,14 @@ "start": 86194, "end": 86208, "length": 15, - "parent_index": 5201 + "parent_index": 5202 }, "name": "SafeTransferLib", - "referenced_declaration": 4499 + "referenced_declaration": 4500 } }, { - "id": 5206, + "id": 5207, "name": "_asset", "is_constant": false, "is_state_variable": true, @@ -463,18 +463,18 @@ "start": 86409, "end": 86421, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 5207, + "id": 5208, "node_type": 69, "src": { "line": 2391, @@ -482,20 +482,20 @@ "start": 86409, "end": 86413, "length": 5, - "parent_index": 5206 + "parent_index": 5207 }, "path_node": { - "id": 5208, + "id": 5209, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2391, "column": 4, "start": 86409, "end": 86413, "length": 5, - "parent_index": 5207 + "parent_index": 5208 }, "name_location": { "line": 2391, @@ -503,19 +503,19 @@ "start": 86409, "end": 86413, "length": 5, - "parent_index": 5207 + "parent_index": 5208 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "initial_value": null }, { - "id": 5210, + "id": 5211, "name": "asset", "node_type": 42, "kind": 41, @@ -525,7 +525,7 @@ "start": 86514, "end": 86607, "length": 94, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2394, @@ -533,10 +533,10 @@ "start": 86523, "end": 86527, "length": 5, - "parent_index": 5210 + "parent_index": 5211 }, "body": { - "id": 5217, + "id": 5218, "node_type": 46, "kind": 0, "src": { @@ -545,12 +545,12 @@ "start": 86569, "end": 86607, "length": 39, - "parent_index": 5210 + "parent_index": 5211 }, "implemented": true, "statements": [ { - "id": 5218, + "id": 5219, "node_type": 47, "src": { "line": 2395, @@ -558,11 +558,11 @@ "start": 86579, "end": 86601, "length": 23, - "parent_index": 5210 + "parent_index": 5211 }, - "function_return_parameters": 5210, + "function_return_parameters": 5211, "expression": { - "id": 5219, + "id": 5220, "node_type": 24, "kind": 24, "src": { @@ -571,7 +571,7 @@ "start": 86586, "end": 86600, "length": 15, - "parent_index": 5218 + "parent_index": 5219 }, "argument_types": [ { @@ -581,7 +581,7 @@ ], "arguments": [ { - "id": 5222, + "id": 5223, "node_type": 16, "src": { "line": 2395, @@ -589,7 +589,7 @@ "start": 86594, "end": 86599, "length": 6, - "parent_index": 5219 + "parent_index": 5220 }, "name": "_asset", "type_description": { @@ -598,11 +598,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_asset" } ], "expression": { - "id": 5220, + "id": 5221, "node_type": 16, "src": { "line": 2395, @@ -610,11 +611,11 @@ "start": 86586, "end": 86592, "length": 7, - "parent_index": 5219 + "parent_index": 5220 }, "name": "address", "type_name": { - "id": 5221, + "id": 5222, "node_type": 30, "src": { "line": 2395, @@ -622,7 +623,7 @@ "start": 86586, "end": 86592, "length": 7, - "parent_index": 5220 + "parent_index": 5221 }, "name": "address", "state_mutability": 4, @@ -644,7 +645,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -661,7 +663,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5211, + "id": 5212, "node_type": 43, "src": { "line": 2394, @@ -669,11 +671,11 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5210 + "parent_index": 5211 }, "parameters": [ { - "id": 5212, + "id": 5213, "node_type": 44, "src": { "line": 2394, @@ -681,12 +683,12 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5211 + "parent_index": 5212 }, - "scope": 5210, + "scope": 5211, "name": "", "type_name": { - "id": 5213, + "id": 5214, "node_type": 30, "src": { "line": 2394, @@ -694,7 +696,7 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5212 + "parent_index": 5213 }, "name": "address", "state_mutability": 4, @@ -721,7 +723,7 @@ ] }, "return_parameters": { - "id": 5214, + "id": 5215, "node_type": 43, "src": { "line": 2394, @@ -729,11 +731,11 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5210 + "parent_index": 5211 }, "parameters": [ { - "id": 5215, + "id": 5216, "node_type": 44, "src": { "line": 2394, @@ -741,12 +743,12 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5214 + "parent_index": 5215 }, - "scope": 5210, + "scope": 5211, "name": "", "type_name": { - "id": 5216, + "id": 5217, "node_type": 30, "src": { "line": 2394, @@ -754,7 +756,7 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5215 + "parent_index": 5216 }, "name": "address", "state_mutability": 4, @@ -782,14 +784,15 @@ }, "signature_raw": "asset(address)", "signature": "9c4667a2", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionasset()publicviewvirtualreturns(address){returnaddress(_asset);}" }, { - "id": 5224, + "id": 5225, "name": "baseInitialize", "node_type": 42, "kind": 41, @@ -799,7 +802,7 @@ "start": 86894, "end": 87444, "length": 551, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2405, @@ -807,10 +810,10 @@ "start": 86903, "end": 86916, "length": 14, - "parent_index": 5224 + "parent_index": 5225 }, "body": { - "id": 5237, + "id": 5238, "node_type": 46, "kind": 0, "src": { @@ -819,12 +822,12 @@ "start": 87047, "end": 87444, "length": 398, - "parent_index": 5224 + "parent_index": 5225 }, "implemented": true, "statements": [ { - "id": 5238, + "id": 5239, "node_type": 27, "src": { "line": 2409, @@ -832,10 +835,10 @@ "start": 87057, "end": 87081, "length": 25, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5239, + "id": 5240, "node_type": 27, "src": { "line": 2409, @@ -843,11 +846,11 @@ "start": 87057, "end": 87080, "length": 24, - "parent_index": 5238 + "parent_index": 5239 }, "operator": 11, "left_expression": { - "id": 5240, + "id": 5241, "node_type": 16, "src": { "line": 2409, @@ -855,7 +858,7 @@ "start": 87057, "end": 87066, "length": 10, - "parent_index": 5239 + "parent_index": 5240 }, "name": "governance", "type_description": { @@ -863,11 +866,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "right_expression": { - "id": 5241, + "id": 5242, "node_type": 16, "src": { "line": 2409, @@ -875,7 +879,7 @@ "start": 87070, "end": 87080, "length": 11, - "parent_index": 5239 + "parent_index": 5240 }, "name": "_governance", "type_description": { @@ -883,8 +887,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5241, - "is_pure": false + "referenced_declaration": 5242, + "is_pure": false, + "text": "_governance" }, "type_description": { "type_identifier": "t_address", @@ -894,10 +899,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "governance=_governance;" }, { - "id": 5242, + "id": 5243, "node_type": 27, "src": { "line": 2410, @@ -905,10 +911,10 @@ "start": 87091, "end": 87110, "length": 20, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5243, + "id": 5244, "node_type": 27, "src": { "line": 2410, @@ -916,11 +922,11 @@ "start": 87091, "end": 87109, "length": 19, - "parent_index": 5242 + "parent_index": 5243 }, "operator": 11, "left_expression": { - "id": 5244, + "id": 5245, "node_type": 16, "src": { "line": 2410, @@ -928,19 +934,20 @@ "start": 87091, "end": 87096, "length": 6, - "parent_index": 5243 + "parent_index": 5244 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "right_expression": { - "id": 5245, + "id": 5246, "node_type": 16, "src": { "line": 2410, @@ -948,29 +955,31 @@ "start": 87100, "end": 87109, "length": 10, - "parent_index": 5243 + "parent_index": 5244 }, "name": "vaultAsset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5245, - "is_pure": false + "referenced_declaration": 5246, + "is_pure": false, + "text": "vaultAsset" }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset=vaultAsset;" }, { - "id": 5246, + "id": 5247, "node_type": 27, "src": { "line": 2411, @@ -978,10 +987,10 @@ "start": 87120, "end": 87152, "length": 33, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5247, + "id": 5248, "node_type": 27, "src": { "line": 2411, @@ -989,11 +998,11 @@ "start": 87120, "end": 87151, "length": 32, - "parent_index": 5246 + "parent_index": 5247 }, "operator": 11, "left_expression": { - "id": 5248, + "id": 5249, "node_type": 16, "src": { "line": 2411, @@ -1001,7 +1010,7 @@ "start": 87120, "end": 87133, "length": 14, - "parent_index": 5247 + "parent_index": 5248 }, "name": "wormholeRouter", "type_description": { @@ -1010,10 +1019,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "wormholeRouter" }, "right_expression": { - "id": 5249, + "id": 5250, "node_type": 16, "src": { "line": 2411, @@ -1021,7 +1031,7 @@ "start": 87137, "end": 87151, "length": 15, - "parent_index": 5247 + "parent_index": 5248 }, "name": "_wormholeRouter", "type_description": { @@ -1029,8 +1039,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5249, - "is_pure": false + "referenced_declaration": 5250, + "is_pure": false, + "text": "_wormholeRouter" }, "type_description": { "type_identifier": "t_function_$", @@ -1040,10 +1051,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "wormholeRouter=_wormholeRouter;" }, { - "id": 5250, + "id": 5251, "node_type": 27, "src": { "line": 2412, @@ -1051,10 +1063,10 @@ "start": 87162, "end": 87190, "length": 29, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5251, + "id": 5252, "node_type": 27, "src": { "line": 2412, @@ -1062,11 +1074,11 @@ "start": 87162, "end": 87189, "length": 28, - "parent_index": 5250 + "parent_index": 5251 }, "operator": 11, "left_expression": { - "id": 5252, + "id": 5253, "node_type": 16, "src": { "line": 2412, @@ -1074,19 +1086,20 @@ "start": 87162, "end": 87173, "length": 12, - "parent_index": 5251 + "parent_index": 5252 }, "name": "bridgeEscrow", "type_description": { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" }, "overloaded_declarations": [], "referenced_declaration": 474, - "is_pure": false + "is_pure": false, + "text": "bridgeEscrow" }, "right_expression": { - "id": 5253, + "id": 5254, "node_type": 16, "src": { "line": 2412, @@ -1094,16 +1107,17 @@ "start": 87177, "end": 87189, "length": 13, - "parent_index": 5251 + "parent_index": 5252 }, "name": "_bridgeEscrow", "type_description": { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" }, "overloaded_declarations": [], "referenced_declaration": 474, - "is_pure": false + "is_pure": false, + "text": "_bridgeEscrow" }, "type_description": { "type_identifier": "t_function_$", @@ -1113,10 +1127,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "bridgeEscrow=_bridgeEscrow;" }, { - "id": 5254, + "id": 5255, "node_type": 24, "kind": 24, "src": { @@ -1125,7 +1140,7 @@ "start": 87304, "end": 87345, "length": 42, - "parent_index": 5237 + "parent_index": 5238 }, "argument_types": [ { @@ -1139,7 +1154,7 @@ ], "arguments": [ { - "id": 5256, + "id": 5257, "node_type": 16, "src": { "line": 2416, @@ -1147,7 +1162,7 @@ "start": 87315, "end": 87332, "length": 18, - "parent_index": 5254 + "parent_index": 5255 }, "name": "DEFAULT_ADMIN_ROLE", "type_description": { @@ -1156,10 +1171,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "DEFAULT_ADMIN_ROLE" }, { - "id": 5257, + "id": 5258, "node_type": 16, "src": { "line": 2416, @@ -1167,7 +1183,7 @@ "start": 87335, "end": 87344, "length": 10, - "parent_index": 5254 + "parent_index": 5255 }, "name": "governance", "type_description": { @@ -1182,11 +1198,12 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "governance" } ], "expression": { - "id": 5255, + "id": 5256, "node_type": 16, "src": { "line": 2416, @@ -1194,7 +1211,7 @@ "start": 87304, "end": 87313, "length": 10, - "parent_index": 5254 + "parent_index": 5255 }, "name": "_grantRole", "type_description": { @@ -1203,7 +1220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -1211,7 +1229,7 @@ } }, { - "id": 5258, + "id": 5259, "node_type": 24, "kind": 24, "src": { @@ -1220,7 +1238,7 @@ "start": 87356, "end": 87388, "length": 33, - "parent_index": 5237 + "parent_index": 5238 }, "argument_types": [ { @@ -1234,7 +1252,7 @@ ], "arguments": [ { - "id": 5260, + "id": 5261, "node_type": 16, "src": { "line": 2417, @@ -1242,7 +1260,7 @@ "start": 87367, "end": 87375, "length": 9, - "parent_index": 5258 + "parent_index": 5259 }, "name": "HARVESTER", "type_description": { @@ -1251,10 +1269,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "HARVESTER" }, { - "id": 5261, + "id": 5262, "node_type": 16, "src": { "line": 2417, @@ -1262,7 +1281,7 @@ "start": 87378, "end": 87387, "length": 10, - "parent_index": 5258 + "parent_index": 5259 }, "name": "governance", "type_description": { @@ -1277,11 +1296,12 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "governance" } ], "expression": { - "id": 5259, + "id": 5260, "node_type": 16, "src": { "line": 2417, @@ -1289,7 +1309,7 @@ "start": 87356, "end": 87365, "length": 10, - "parent_index": 5258 + "parent_index": 5259 }, "name": "_grantRole", "type_description": { @@ -1298,7 +1318,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -1306,7 +1327,7 @@ } }, { - "id": 5262, + "id": 5263, "node_type": 27, "src": { "line": 2419, @@ -1314,10 +1335,10 @@ "start": 87400, "end": 87438, "length": 39, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5263, + "id": 5264, "node_type": 27, "src": { "line": 2419, @@ -1325,11 +1346,11 @@ "start": 87400, "end": 87437, "length": 38, - "parent_index": 5262 + "parent_index": 5263 }, "operator": 11, "left_expression": { - "id": 5264, + "id": 5265, "node_type": 16, "src": { "line": 2419, @@ -1337,7 +1358,7 @@ "start": 87400, "end": 87410, "length": 11, - "parent_index": 5263 + "parent_index": 5264 }, "name": "lastHarvest", "type_description": { @@ -1345,11 +1366,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 7988, - "is_pure": false + "referenced_declaration": 7992, + "is_pure": false, + "text": "lastHarvest" }, "right_expression": { - "id": 5265, + "id": 5266, "node_type": 24, "kind": 24, "src": { @@ -1358,7 +1380,7 @@ "start": 87414, "end": 87437, "length": 24, - "parent_index": 5263 + "parent_index": 5264 }, "argument_types": [ { @@ -1368,7 +1390,7 @@ ], "arguments": [ { - "id": 5268, + "id": 5269, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1380,7 +1402,7 @@ "start": 87422, "end": 87436, "length": 15, - "parent_index": 5265 + "parent_index": 5266 }, "member_location": { "line": 2419, @@ -1388,10 +1410,10 @@ "start": 87428, "end": 87436, "length": 9, - "parent_index": 5268 + "parent_index": 5269 }, "expression": { - "id": 5269, + "id": 5270, "node_type": 16, "src": { "line": 2419, @@ -1399,7 +1421,7 @@ "start": 87422, "end": 87426, "length": 5, - "parent_index": 5268 + "parent_index": 5269 }, "name": "block", "type_description": { @@ -1408,18 +1430,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 5266, + "id": 5267, "node_type": 16, "src": { "line": 2419, @@ -1427,11 +1451,11 @@ "start": 87414, "end": 87420, "length": 7, - "parent_index": 5265 + "parent_index": 5266 }, "name": "uint128", "type_name": { - "id": 5267, + "id": 5268, "node_type": 30, "src": { "line": 2419, @@ -1439,7 +1463,7 @@ "start": 87414, "end": 87420, "length": 7, - "parent_index": 5266 + "parent_index": 5267 }, "name": "uint128", "referenced_declaration": 0, @@ -1460,7 +1484,8 @@ "type_identifier": "t_uint128", "type_string": "uint128" } - ] + ], + "text": "uint128" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -1475,7 +1500,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "lastHarvest=uint128(block.timestamp);" } ] }, @@ -1486,7 +1512,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5225, + "id": 5226, "node_type": 43, "src": { "line": 2405, @@ -1494,11 +1520,11 @@ "start": 86918, "end": 87007, "length": 90, - "parent_index": 5224 + "parent_index": 5225 }, "parameters": [ { - "id": 5226, + "id": 5227, "node_type": 44, "src": { "line": 2405, @@ -1506,12 +1532,12 @@ "start": 86918, "end": 86936, "length": 19, - "parent_index": 5225 + "parent_index": 5226 }, - "scope": 5224, + "scope": 5225, "name": "_governance", "type_name": { - "id": 5227, + "id": 5228, "node_type": 30, "src": { "line": 2405, @@ -1519,7 +1545,7 @@ "start": 86918, "end": 86924, "length": 7, - "parent_index": 5226 + "parent_index": 5227 }, "name": "address", "state_mutability": 4, @@ -1538,7 +1564,7 @@ } }, { - "id": 5228, + "id": 5229, "node_type": 44, "src": { "line": 2405, @@ -1546,12 +1572,12 @@ "start": 86939, "end": 86954, "length": 16, - "parent_index": 5225 + "parent_index": 5226 }, - "scope": 5224, + "scope": 5225, "name": "vaultAsset", "type_name": { - "id": 5229, + "id": 5230, "node_type": 69, "src": { "line": 2405, @@ -1559,20 +1585,20 @@ "start": 86939, "end": 86943, "length": 5, - "parent_index": 5228 + "parent_index": 5229 }, "path_node": { - "id": 5230, + "id": 5231, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2405, "column": 49, "start": 86939, "end": 86943, "length": 5, - "parent_index": 5229 + "parent_index": 5230 }, "name_location": { "line": 2405, @@ -1580,12 +1606,12 @@ "start": 86939, "end": 86943, "length": 5, - "parent_index": 5229 + "parent_index": 5230 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -1593,12 +1619,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, { - "id": 5231, + "id": 5232, "node_type": 44, "src": { "line": 2405, @@ -1606,12 +1632,12 @@ "start": 86957, "end": 86979, "length": 23, - "parent_index": 5225 + "parent_index": 5226 }, - "scope": 5224, + "scope": 5225, "name": "_wormholeRouter", "type_name": { - "id": 5232, + "id": 5233, "node_type": 30, "src": { "line": 2405, @@ -1619,7 +1645,7 @@ "start": 86957, "end": 86963, "length": 7, - "parent_index": 5231 + "parent_index": 5232 }, "name": "address", "state_mutability": 4, @@ -1638,7 +1664,7 @@ } }, { - "id": 5233, + "id": 5234, "node_type": 44, "src": { "line": 2405, @@ -1646,12 +1672,12 @@ "start": 86982, "end": 87007, "length": 26, - "parent_index": 5225 + "parent_index": 5226 }, - "scope": 5224, + "scope": 5225, "name": "_bridgeEscrow", "type_name": { - "id": 5234, + "id": 5235, "node_type": 69, "src": { "line": 2405, @@ -1659,10 +1685,10 @@ "start": 86982, "end": 86993, "length": 12, - "parent_index": 5233 + "parent_index": 5234 }, "path_node": { - "id": 5235, + "id": 5236, "name": "BridgeEscrow", "node_type": 52, "referenced_declaration": 0, @@ -1672,7 +1698,7 @@ "start": 86982, "end": 86993, "length": 12, - "parent_index": 5234 + "parent_index": 5235 }, "name_location": { "line": 2405, @@ -1680,12 +1706,12 @@ "start": 86982, "end": 86993, "length": 12, - "parent_index": 5234 + "parent_index": 5235 } }, - "referenced_declaration": 6344, + "referenced_declaration": 6346, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" } }, @@ -1700,7 +1726,7 @@ "type_string": "address" }, { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, { @@ -1711,7 +1737,7 @@ ] }, "return_parameters": { - "id": 5236, + "id": 5237, "node_type": 43, "src": { "line": 2405, @@ -1719,21 +1745,22 @@ "start": 86894, "end": 87444, "length": 551, - "parent_index": 5224 + "parent_index": 5225 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "baseInitialize(address, , address, )", - "signature": "8c708538", - "scope": 5193, + "signature_raw": "baseInitialize(address,,address,)", + "signature": "bbf1c7ba", + "scope": 5194, "type_description": { - "type_identifier": "t_function_$_t_address$_t_contract$_ERC20_$4060$_t_address$_t_unknown_5224$", - "type_string": "function(address,contract ERC20,address,unknown_5224)" - } + "type_identifier": "t_function_$_t_address$_t_contract$_ERC20_$4061$_t_address$_t_unknown_5225$", + "type_string": "function(address,contract ERC20,address,unknown_5225)" + }, + "text": "functionbaseInitialize(address_governance,ERC20vaultAsset,address_wormholeRouter,BridgeEscrow_bridgeEscrow)internalvirtual{governance=_governance;_asset=vaultAsset;wormholeRouter=_wormholeRouter;bridgeEscrow=_bridgeEscrow;_grantRole(DEFAULT_ADMIN_ROLE,governance);_grantRole(HARVESTER,governance);lastHarvest=uint128(block.timestamp);}" }, { - "id": 5271, + "id": 5272, "name": "wormholeRouter", "is_constant": false, "is_state_variable": true, @@ -1744,9 +1771,9 @@ "start": 87822, "end": 87851, "length": 30, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_address", "type_string": "address" @@ -1755,7 +1782,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5272, + "id": 5273, "node_type": 30, "src": { "line": 2430, @@ -1763,7 +1790,7 @@ "start": 87822, "end": 87828, "length": 7, - "parent_index": 5271 + "parent_index": 5272 }, "name": "address", "state_mutability": 4, @@ -1776,7 +1803,7 @@ "initial_value": null }, { - "id": 5274, + "id": 5275, "name": "bridgeEscrow", "is_constant": false, "is_state_variable": true, @@ -1787,18 +1814,18 @@ "start": 87950, "end": 87982, "length": 33, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 5275, + "id": 5276, "node_type": 69, "src": { "line": 2432, @@ -1806,10 +1833,10 @@ "start": 87950, "end": 87961, "length": 12, - "parent_index": 5274 + "parent_index": 5275 }, "path_node": { - "id": 5276, + "id": 5277, "name": "BridgeEscrow", "node_type": 52, "referenced_declaration": 0, @@ -1819,7 +1846,7 @@ "start": 87950, "end": 87961, "length": 12, - "parent_index": 5275 + "parent_index": 5276 }, "name_location": { "line": 2432, @@ -1827,19 +1854,19 @@ "start": 87950, "end": 87961, "length": 12, - "parent_index": 5275 + "parent_index": 5276 } }, - "referenced_declaration": 6344, + "referenced_declaration": 6346, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" } }, "initial_value": null }, { - "id": 5278, + "id": 5279, "name": "setWormholeRouter", "node_type": 42, "kind": 41, @@ -1849,7 +1876,7 @@ "start": 88101, "end": 88290, "length": 190, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2438, @@ -1857,10 +1884,10 @@ "start": 88110, "end": 88126, "length": 17, - "parent_index": 5278 + "parent_index": 5279 }, "body": { - "id": 5285, + "id": 5286, "node_type": 46, "kind": 0, "src": { @@ -1869,12 +1896,12 @@ "start": 88169, "end": 88290, "length": 122, - "parent_index": 5278 + "parent_index": 5279 }, "implemented": true, "statements": [ { - "id": 5286, + "id": 5287, "node_type": 64, "src": { "line": 2439, @@ -1882,11 +1909,11 @@ "start": 88179, "end": 88250, "length": 72, - "parent_index": 5278 + "parent_index": 5279 }, "arguments": [], "expression": { - "id": 5287, + "id": 5288, "node_type": 16, "src": { "line": 2439, @@ -1894,20 +1921,21 @@ "start": 88184, "end": 88200, "length": 17, - "parent_index": 5286 + "parent_index": 5287 }, "name": "WormholeRouterSet", "type_description": { - "type_identifier": "t_event\u0026_Global_WormholeRouterSet_\u00267878", + "type_identifier": "t_event\u0026_Global_WormholeRouterSet_\u00267881", "type_string": "event Global.WormholeRouterSet" }, "overloaded_declarations": [], - "referenced_declaration": 7878, - "is_pure": false + "referenced_declaration": 7881, + "is_pure": false, + "text": "WormholeRouterSet" } }, { - "id": 5288, + "id": 5289, "node_type": 27, "src": { "line": 2440, @@ -1915,10 +1943,10 @@ "start": 88260, "end": 88284, "length": 25, - "parent_index": 5285 + "parent_index": 5286 }, "expression": { - "id": 5289, + "id": 5290, "node_type": 27, "src": { "line": 2440, @@ -1926,11 +1954,11 @@ "start": 88260, "end": 88283, "length": 24, - "parent_index": 5288 + "parent_index": 5289 }, "operator": 11, "left_expression": { - "id": 5290, + "id": 5291, "node_type": 16, "src": { "line": 2440, @@ -1938,7 +1966,7 @@ "start": 88260, "end": 88273, "length": 14, - "parent_index": 5289 + "parent_index": 5290 }, "name": "wormholeRouter", "type_description": { @@ -1946,11 +1974,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5271, - "is_pure": false + "referenced_declaration": 5272, + "is_pure": false, + "text": "wormholeRouter" }, "right_expression": { - "id": 5291, + "id": 5292, "node_type": 16, "src": { "line": 2440, @@ -1958,7 +1987,7 @@ "start": 88277, "end": 88283, "length": 7, - "parent_index": 5289 + "parent_index": 5290 }, "name": "_router", "type_description": { @@ -1966,8 +1995,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5291, - "is_pure": false + "referenced_declaration": 5292, + "is_pure": false, + "text": "_router" }, "type_description": { "type_identifier": "t_address", @@ -1977,7 +2007,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "wormholeRouter=_router;" } ] }, @@ -1987,7 +2018,7 @@ "virtual": false, "modifiers": [ { - "id": 5282, + "id": 5283, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -1997,12 +2028,12 @@ "start": 88154, "end": 88167, "length": 14, - "parent_index": 5278 + "parent_index": 5279 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5283, + "id": 5284, "name": "onlyGovernance", "node_type": 0, "src": { @@ -2011,14 +2042,14 @@ "start": 88154, "end": 88167, "length": 14, - "parent_index": 5282 + "parent_index": 5283 } } } ], "overrides": [], "parameters": { - "id": 5279, + "id": 5280, "node_type": 43, "src": { "line": 2438, @@ -2026,11 +2057,11 @@ "start": 88128, "end": 88142, "length": 15, - "parent_index": 5278 + "parent_index": 5279 }, "parameters": [ { - "id": 5280, + "id": 5281, "node_type": 44, "src": { "line": 2438, @@ -2038,12 +2069,12 @@ "start": 88128, "end": 88142, "length": 15, - "parent_index": 5279 + "parent_index": 5280 }, - "scope": 5278, + "scope": 5279, "name": "_router", "type_name": { - "id": 5281, + "id": 5282, "node_type": 30, "src": { "line": 2438, @@ -2051,7 +2082,7 @@ "start": 88128, "end": 88134, "length": 7, - "parent_index": 5280 + "parent_index": 5281 }, "name": "address", "state_mutability": 4, @@ -2078,7 +2109,7 @@ ] }, "return_parameters": { - "id": 5284, + "id": 5285, "node_type": 43, "src": { "line": 2438, @@ -2086,21 +2117,22 @@ "start": 88101, "end": 88290, "length": 190, - "parent_index": 5278 + "parent_index": 5279 }, "parameters": [], "parameter_types": [] }, "signature_raw": "setWormholeRouter(address)", "signature": "082b5216", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetWormholeRouter(address_router)externalonlyGovernance{emitWormholeRouterSet({oldRouter:wormholeRouter,newRouter:_router});wormholeRouter=_router;}" }, { - "id": 5293, + "id": 5294, "name": "setBridgeEscrow", "node_type": 42, "kind": 41, @@ -2110,7 +2142,7 @@ "start": 88407, "end": 88611, "length": 205, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2447, @@ -2118,10 +2150,10 @@ "start": 88416, "end": 88430, "length": 15, - "parent_index": 5293 + "parent_index": 5294 }, "body": { - "id": 5301, + "id": 5302, "node_type": 46, "kind": 0, "src": { @@ -2130,12 +2162,12 @@ "start": 88478, "end": 88611, "length": 134, - "parent_index": 5293 + "parent_index": 5294 }, "implemented": true, "statements": [ { - "id": 5302, + "id": 5303, "node_type": 64, "src": { "line": 2448, @@ -2143,11 +2175,11 @@ "start": 88488, "end": 88573, "length": 86, - "parent_index": 5293 + "parent_index": 5294 }, "arguments": [], "expression": { - "id": 5303, + "id": 5304, "node_type": 16, "src": { "line": 2448, @@ -2155,20 +2187,21 @@ "start": 88493, "end": 88507, "length": 15, - "parent_index": 5302 + "parent_index": 5303 }, "name": "BridgeEscrowSet", "type_description": { - "type_identifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267884", + "type_identifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267887", "type_string": "event Global.BridgeEscrowSet" }, "overloaded_declarations": [], - "referenced_declaration": 7884, - "is_pure": false + "referenced_declaration": 7887, + "is_pure": false, + "text": "BridgeEscrowSet" } }, { - "id": 5304, + "id": 5305, "node_type": 27, "src": { "line": 2449, @@ -2176,10 +2209,10 @@ "start": 88583, "end": 88605, "length": 23, - "parent_index": 5301 + "parent_index": 5302 }, "expression": { - "id": 5305, + "id": 5306, "node_type": 27, "src": { "line": 2449, @@ -2187,11 +2220,11 @@ "start": 88583, "end": 88604, "length": 22, - "parent_index": 5304 + "parent_index": 5305 }, "operator": 11, "left_expression": { - "id": 5306, + "id": 5307, "node_type": 16, "src": { "line": 2449, @@ -2199,19 +2232,20 @@ "start": 88583, "end": 88594, "length": 12, - "parent_index": 5305 + "parent_index": 5306 }, "name": "bridgeEscrow", "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" }, "overloaded_declarations": [], - "referenced_declaration": 5295, - "is_pure": false + "referenced_declaration": 5296, + "is_pure": false, + "text": "bridgeEscrow" }, "right_expression": { - "id": 5307, + "id": 5308, "node_type": 16, "src": { "line": 2449, @@ -2219,16 +2253,17 @@ "start": 88598, "end": 88604, "length": 7, - "parent_index": 5305 + "parent_index": 5306 }, "name": "_escrow", "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" }, "overloaded_declarations": [], - "referenced_declaration": 5295, - "is_pure": false + "referenced_declaration": 5296, + "is_pure": false, + "text": "_escrow" }, "type_description": { "type_identifier": "t_function_$", @@ -2238,7 +2273,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "bridgeEscrow=_escrow;" } ] }, @@ -2248,7 +2284,7 @@ "virtual": false, "modifiers": [ { - "id": 5298, + "id": 5299, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -2258,12 +2294,12 @@ "start": 88463, "end": 88476, "length": 14, - "parent_index": 5293 + "parent_index": 5294 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5299, + "id": 5300, "name": "onlyGovernance", "node_type": 0, "src": { @@ -2272,14 +2308,14 @@ "start": 88463, "end": 88476, "length": 14, - "parent_index": 5298 + "parent_index": 5299 } } } ], "overrides": [], "parameters": { - "id": 5294, + "id": 5295, "node_type": 43, "src": { "line": 2447, @@ -2287,11 +2323,11 @@ "start": 88432, "end": 88451, "length": 20, - "parent_index": 5293 + "parent_index": 5294 }, "parameters": [ { - "id": 5295, + "id": 5296, "node_type": 44, "src": { "line": 2447, @@ -2299,12 +2335,12 @@ "start": 88432, "end": 88451, "length": 20, - "parent_index": 5294 + "parent_index": 5295 }, - "scope": 5293, + "scope": 5294, "name": "_escrow", "type_name": { - "id": 5296, + "id": 5297, "node_type": 69, "src": { "line": 2447, @@ -2312,10 +2348,10 @@ "start": 88432, "end": 88443, "length": 12, - "parent_index": 5295 + "parent_index": 5296 }, "path_node": { - "id": 5297, + "id": 5298, "name": "BridgeEscrow", "node_type": 52, "referenced_declaration": 0, @@ -2325,7 +2361,7 @@ "start": 88432, "end": 88443, "length": 12, - "parent_index": 5296 + "parent_index": 5297 }, "name_location": { "line": 2447, @@ -2333,12 +2369,12 @@ "start": 88432, "end": 88443, "length": 12, - "parent_index": 5296 + "parent_index": 5297 } }, - "referenced_declaration": 6344, + "referenced_declaration": 6346, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" } }, @@ -2352,7 +2388,7 @@ ] }, "return_parameters": { - "id": 5300, + "id": 5301, "node_type": 43, "src": { "line": 2447, @@ -2360,21 +2396,22 @@ "start": 88407, "end": 88611, "length": 205, - "parent_index": 5293 + "parent_index": 5294 }, "parameters": [], "parameter_types": [] }, "signature_raw": "setBridgeEscrow()", "signature": "6349493d", - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_function_$_t_unknown_5293$", - "type_string": "function(unknown_5293)" - } + "type_identifier": "t_function_$_t_unknown_5294$", + "type_string": "function(unknown_5294)" + }, + "text": "functionsetBridgeEscrow(BridgeEscrow_escrow)externalonlyGovernance{emitBridgeEscrowSet({oldEscrow:address(bridgeEscrow),newEscrow:address(_escrow)});bridgeEscrow=_escrow;}" }, { - "id": 5309, + "id": 5310, "node_type": 57, "src": { "line": 2457, @@ -2382,10 +2419,10 @@ "start": 88774, "end": 88851, "length": 78, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5310, + "id": 5311, "node_type": 43, "src": { "line": 2457, @@ -2393,11 +2430,11 @@ "start": 88774, "end": 88851, "length": 78, - "parent_index": 5309 + "parent_index": 5310 }, "parameters": [ { - "id": 5311, + "id": 5312, "node_type": 44, "src": { "line": 2457, @@ -2405,12 +2442,12 @@ "start": 88798, "end": 88822, "length": 25, - "parent_index": 5310 + "parent_index": 5311 }, - "scope": 5309, + "scope": 5310, "name": "oldRouter", "type_name": { - "id": 5312, + "id": 5313, "node_type": 30, "src": { "line": 2457, @@ -2418,7 +2455,7 @@ "start": 88798, "end": 88804, "length": 7, - "parent_index": 5311 + "parent_index": 5312 }, "name": "address", "state_mutability": 4, @@ -2438,7 +2475,7 @@ "indexed": true }, { - "id": 5313, + "id": 5314, "node_type": 44, "src": { "line": 2457, @@ -2446,12 +2483,12 @@ "start": 88825, "end": 88849, "length": 25, - "parent_index": 5310 + "parent_index": 5311 }, - "scope": 5309, + "scope": 5310, "name": "newRouter", "type_name": { - "id": 5314, + "id": 5315, "node_type": 30, "src": { "line": 2457, @@ -2459,7 +2496,7 @@ "start": 88825, "end": 88831, "length": 7, - "parent_index": 5313 + "parent_index": 5314 }, "name": "address", "state_mutability": 4, @@ -2493,12 +2530,12 @@ "name": "WormholeRouterSet", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_WormholeRouterSet_\u00265309", + "type_identifier": "t_event\u0026_BaseVault_WormholeRouterSet_\u00265310", "type_string": "event BaseVault.WormholeRouterSet" } }, { - "id": 5316, + "id": 5317, "node_type": 57, "src": { "line": 2463, @@ -2506,10 +2543,10 @@ "start": 89004, "end": 89079, "length": 76, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5317, + "id": 5318, "node_type": 43, "src": { "line": 2463, @@ -2517,11 +2554,11 @@ "start": 89004, "end": 89079, "length": 76, - "parent_index": 5316 + "parent_index": 5317 }, "parameters": [ { - "id": 5318, + "id": 5319, "node_type": 44, "src": { "line": 2463, @@ -2529,12 +2566,12 @@ "start": 89026, "end": 89050, "length": 25, - "parent_index": 5317 + "parent_index": 5318 }, - "scope": 5316, + "scope": 5317, "name": "oldEscrow", "type_name": { - "id": 5319, + "id": 5320, "node_type": 30, "src": { "line": 2463, @@ -2542,7 +2579,7 @@ "start": 89026, "end": 89032, "length": 7, - "parent_index": 5318 + "parent_index": 5319 }, "name": "address", "state_mutability": 4, @@ -2562,7 +2599,7 @@ "indexed": true }, { - "id": 5320, + "id": 5321, "node_type": 44, "src": { "line": 2463, @@ -2570,12 +2607,12 @@ "start": 89053, "end": 89077, "length": 25, - "parent_index": 5317 + "parent_index": 5318 }, - "scope": 5316, + "scope": 5317, "name": "newEscrow", "type_name": { - "id": 5321, + "id": 5322, "node_type": 30, "src": { "line": 2463, @@ -2583,7 +2620,7 @@ "start": 89053, "end": 89059, "length": 7, - "parent_index": 5320 + "parent_index": 5321 }, "name": "address", "state_mutability": 4, @@ -2617,12 +2654,12 @@ "name": "BridgeEscrowSet", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_BridgeEscrowSet_\u00265316", + "type_identifier": "t_event\u0026_BaseVault_BridgeEscrowSet_\u00265317", "type_string": "event BaseVault.BridgeEscrowSet" } }, { - "id": 5323, + "id": 5324, "name": "HARVESTER", "is_constant": true, "is_state_variable": true, @@ -2633,9 +2670,9 @@ "start": 89353, "end": 89411, "length": 59, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -2644,7 +2681,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5324, + "id": 5325, "node_type": 30, "src": { "line": 2470, @@ -2652,7 +2689,7 @@ "start": 89353, "end": 89359, "length": 7, - "parent_index": 5323 + "parent_index": 5324 }, "name": "bytes32", "referenced_declaration": 0, @@ -2662,7 +2699,7 @@ } }, "initial_value": { - "id": 5325, + "id": 5326, "node_type": 24, "kind": 24, "src": { @@ -2671,7 +2708,7 @@ "start": 89389, "end": 89410, "length": 22, - "parent_index": 5323 + "parent_index": 5324 }, "argument_types": [ { @@ -2681,7 +2718,7 @@ ], "arguments": [ { - "id": 5327, + "id": 5328, "node_type": 17, "kind": 50, "value": "HARVESTER", @@ -2692,7 +2729,7 @@ "start": 89399, "end": 89409, "length": 11, - "parent_index": 5325 + "parent_index": 5326 }, "type_description": { "type_identifier": "t_string_literal", @@ -2700,11 +2737,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"HARVESTER\"" } ], "expression": { - "id": 5326, + "id": 5327, "node_type": 16, "src": { "line": 2470, @@ -2712,7 +2750,7 @@ "start": 89389, "end": 89397, "length": 9, - "parent_index": 5325 + "parent_index": 5326 }, "name": "keccak256", "type_description": { @@ -2721,7 +2759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -2730,7 +2769,7 @@ } }, { - "id": 5329, + "id": 5330, "name": "MAX_STRATEGIES", "is_constant": true, "is_state_variable": true, @@ -2741,9 +2780,9 @@ "start": 89602, "end": 89636, "length": 35, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_rational_20_by_1", "type_string": "int_const 20" @@ -2752,7 +2791,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5330, + "id": 5331, "node_type": 30, "src": { "line": 2476, @@ -2760,7 +2799,7 @@ "start": 89602, "end": 89606, "length": 5, - "parent_index": 5329 + "parent_index": 5330 }, "name": "uint8", "referenced_declaration": 0, @@ -2770,7 +2809,7 @@ } }, "initial_value": { - "id": 5331, + "id": 5332, "node_type": 17, "kind": 49, "value": "20", @@ -2781,7 +2820,7 @@ "start": 89634, "end": 89635, "length": 2, - "parent_index": 5329 + "parent_index": 5330 }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -2789,11 +2828,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { - "id": 5333, + "id": 5334, "name": "withdrawalQueue", "is_constant": false, "is_state_variable": true, @@ -2804,9 +2844,9 @@ "start": 90055, "end": 90102, "length": 48, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_rational_20_by_1", "type_string": "int_const 20" @@ -2815,7 +2855,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5334, + "id": 5335, "node_type": 16, "src": { "line": 2484, @@ -2823,11 +2863,11 @@ "start": 90055, "end": 90062, "length": 8, - "parent_index": 5333 + "parent_index": 5334 }, "name": "function", "path_node": { - "id": 5335, + "id": 5336, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -2837,12 +2877,12 @@ "start": 90055, "end": 90062, "length": 8, - "parent_index": 5334 + "parent_index": 5335 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5337, + "id": 5338, "node_type": 16, "src": { "line": 2484, @@ -2850,7 +2890,7 @@ "start": 90064, "end": 90077, "length": 14, - "parent_index": 5334 + "parent_index": 5335 }, "name": "MAX_STRATEGIES", "type_description": { @@ -2858,8 +2898,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -2869,7 +2910,7 @@ "initial_value": null }, { - "id": 5339, + "id": 5340, "name": "getWithdrawalQueue", "node_type": 42, "kind": 41, @@ -2879,7 +2920,7 @@ "start": 90312, "end": 90436, "length": 125, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2491, @@ -2887,10 +2928,10 @@ "start": 90321, "end": 90338, "length": 18, - "parent_index": 5339 + "parent_index": 5340 }, "body": { - "id": 5352, + "id": 5353, "node_type": 46, "kind": 0, "src": { @@ -2899,12 +2940,12 @@ "start": 90398, "end": 90436, "length": 39, - "parent_index": 5339 + "parent_index": 5340 }, "implemented": true, "statements": [ { - "id": 5353, + "id": 5354, "node_type": 47, "src": { "line": 2492, @@ -2912,11 +2953,11 @@ "start": 90408, "end": 90430, "length": 23, - "parent_index": 5339 + "parent_index": 5340 }, - "function_return_parameters": 5339, + "function_return_parameters": 5340, "expression": { - "id": 5354, + "id": 5355, "node_type": 16, "src": { "line": 2492, @@ -2924,7 +2965,7 @@ "start": 90415, "end": 90429, "length": 15, - "parent_index": 5353 + "parent_index": 5354 }, "name": "withdrawalQueue", "type_description": { @@ -2932,8 +2973,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" } } ] @@ -2945,7 +2987,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5340, + "id": 5341, "node_type": 43, "src": { "line": 2491, @@ -2953,11 +2995,11 @@ "start": 90365, "end": 90395, "length": 31, - "parent_index": 5339 + "parent_index": 5340 }, "parameters": [ { - "id": 5341, + "id": 5342, "node_type": 44, "src": { "line": 2491, @@ -2965,12 +3007,12 @@ "start": 90365, "end": 90395, "length": 31, - "parent_index": 5340 + "parent_index": 5341 }, - "scope": 5339, + "scope": 5340, "name": "", "type_name": { - "id": 5342, + "id": 5343, "node_type": 16, "src": { "line": 2491, @@ -2978,11 +3020,11 @@ "start": 90365, "end": 90372, "length": 8, - "parent_index": 5341 + "parent_index": 5342 }, "name": "function", "path_node": { - "id": 5343, + "id": 5344, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -2992,12 +3034,12 @@ "start": 90365, "end": 90372, "length": 8, - "parent_index": 5342 + "parent_index": 5343 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5345, + "id": 5346, "node_type": 16, "src": { "line": 2491, @@ -3005,7 +3047,7 @@ "start": 90374, "end": 90387, "length": 14, - "parent_index": 5342 + "parent_index": 5343 }, "name": "MAX_STRATEGIES", "type_description": { @@ -3013,8 +3055,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -3038,7 +3081,7 @@ ] }, "return_parameters": { - "id": 5346, + "id": 5347, "node_type": 43, "src": { "line": 2491, @@ -3046,11 +3089,11 @@ "start": 90365, "end": 90395, "length": 31, - "parent_index": 5339 + "parent_index": 5340 }, "parameters": [ { - "id": 5347, + "id": 5348, "node_type": 44, "src": { "line": 2491, @@ -3058,12 +3101,12 @@ "start": 90365, "end": 90395, "length": 31, - "parent_index": 5346 + "parent_index": 5347 }, - "scope": 5339, + "scope": 5340, "name": "", "type_name": { - "id": 5348, + "id": 5349, "node_type": 16, "src": { "line": 2491, @@ -3071,11 +3114,11 @@ "start": 90365, "end": 90372, "length": 8, - "parent_index": 5347 + "parent_index": 5348 }, "name": "function", "path_node": { - "id": 5349, + "id": 5350, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -3085,12 +3128,12 @@ "start": 90365, "end": 90372, "length": 8, - "parent_index": 5348 + "parent_index": 5349 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5351, + "id": 5352, "node_type": 16, "src": { "line": 2491, @@ -3098,7 +3141,7 @@ "start": 90374, "end": 90387, "length": 14, - "parent_index": 5348 + "parent_index": 5349 }, "name": "MAX_STRATEGIES", "type_description": { @@ -3106,8 +3149,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -3132,14 +3176,15 @@ }, "signature_raw": "getWithdrawalQueue(function)", "signature": "3504edc2", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_rational_20_by_1$", "type_string": "function(int_const 20)" - } + }, + "text": "functiongetWithdrawalQueue()externalviewreturns(Strategy[MAX_STRATEGIES]memory){returnwithdrawalQueue;}" }, { - "id": 5356, + "id": 5357, "name": "setWithdrawalQueue", "node_type": 42, "kind": 41, @@ -3149,7 +3194,7 @@ "start": 90552, "end": 90878, "length": 327, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2499, @@ -3157,10 +3202,10 @@ "start": 90561, "end": 90578, "length": 18, - "parent_index": 5356 + "parent_index": 5357 }, "body": { - "id": 5366, + "id": 5367, "node_type": 46, "kind": 0, "src": { @@ -3169,12 +3214,12 @@ "start": 90648, "end": 90878, "length": 231, - "parent_index": 5356 + "parent_index": 5357 }, "implemented": true, "statements": [ { - "id": 5367, + "id": 5368, "node_type": 24, "kind": 24, "src": { @@ -3183,7 +3228,7 @@ "start": 90689, "end": 90749, "length": 61, - "parent_index": 5366 + "parent_index": 5367 }, "argument_types": [ { @@ -3197,7 +3242,7 @@ ], "arguments": [ { - "id": 5369, + "id": 5370, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3207,11 +3252,11 @@ "start": 90697, "end": 90729, "length": 33, - "parent_index": 5367 + "parent_index": 5368 }, "operator": 11, "left_expression": { - "id": 5370, + "id": 5371, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3223,7 +3268,7 @@ "start": 90697, "end": 90711, "length": 15, - "parent_index": 5369 + "parent_index": 5370 }, "member_location": { "line": 2501, @@ -3231,10 +3276,10 @@ "start": 90706, "end": 90711, "length": 6, - "parent_index": 5370 + "parent_index": 5371 }, "expression": { - "id": 5371, + "id": 5372, "node_type": 16, "src": { "line": 2501, @@ -3242,7 +3287,7 @@ "start": 90697, "end": 90704, "length": 8, - "parent_index": 5370 + "parent_index": 5371 }, "name": "newQueue", "type_description": { @@ -3250,18 +3295,20 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5371, - "is_pure": false + "referenced_declaration": 5372, + "is_pure": false, + "text": "newQueue" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_rational_20_by_1", "type_string": "int_const 20" - } + }, + "text": "newQueue.length" }, "right_expression": { - "id": 5372, + "id": 5373, "node_type": 16, "src": { "line": 2501, @@ -3269,7 +3316,7 @@ "start": 90716, "end": 90729, "length": 14, - "parent_index": 5369 + "parent_index": 5370 }, "name": "MAX_STRATEGIES", "type_description": { @@ -3277,8 +3324,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -3286,7 +3334,7 @@ } }, { - "id": 5373, + "id": 5374, "node_type": 17, "kind": 50, "value": "BV: bad qu size", @@ -3297,7 +3345,7 @@ "start": 90732, "end": 90748, "length": 17, - "parent_index": 5367 + "parent_index": 5368 }, "type_description": { "type_identifier": "t_string_literal", @@ -3311,11 +3359,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BV: bad qu size\"" } ], "expression": { - "id": 5368, + "id": 5369, "node_type": 16, "src": { "line": 2501, @@ -3323,7 +3372,7 @@ "start": 90689, "end": 90695, "length": 7, - "parent_index": 5367 + "parent_index": 5368 }, "name": "require", "type_description": { @@ -3332,7 +3381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3340,7 +3390,7 @@ } }, { - "id": 5374, + "id": 5375, "node_type": 27, "src": { "line": 2504, @@ -3348,10 +3398,10 @@ "start": 90802, "end": 90828, "length": 27, - "parent_index": 5366 + "parent_index": 5367 }, "expression": { - "id": 5375, + "id": 5376, "node_type": 27, "src": { "line": 2504, @@ -3359,11 +3409,11 @@ "start": 90802, "end": 90827, "length": 26, - "parent_index": 5374 + "parent_index": 5375 }, "operator": 11, "left_expression": { - "id": 5376, + "id": 5377, "node_type": 16, "src": { "line": 2504, @@ -3371,7 +3421,7 @@ "start": 90802, "end": 90816, "length": 15, - "parent_index": 5375 + "parent_index": 5376 }, "name": "withdrawalQueue", "type_description": { @@ -3379,11 +3429,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "right_expression": { - "id": 5377, + "id": 5378, "node_type": 16, "src": { "line": 2504, @@ -3391,7 +3442,7 @@ "start": 90820, "end": 90827, "length": 8, - "parent_index": 5375 + "parent_index": 5376 }, "name": "newQueue", "type_description": { @@ -3399,8 +3450,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5377, - "is_pure": false + "referenced_declaration": 5378, + "is_pure": false, + "text": "newQueue" }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -3410,10 +3462,11 @@ "type_description": { "type_identifier": "t_rational_20_by_1", "type_string": "int_const 20" - } + }, + "text": "withdrawalQueue=newQueue;" }, { - "id": 5378, + "id": 5379, "node_type": 64, "src": { "line": 2506, @@ -3421,11 +3474,11 @@ "start": 90839, "end": 90872, "length": 34, - "parent_index": 5356 + "parent_index": 5357 }, "arguments": [ { - "id": 5379, + "id": 5380, "node_type": 16, "src": { "line": 2506, @@ -3433,7 +3486,7 @@ "start": 90863, "end": 90870, "length": 8, - "parent_index": 5378 + "parent_index": 5379 }, "name": "newQueue", "type_description": { @@ -3441,12 +3494,13 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5379, - "is_pure": false + "referenced_declaration": 5380, + "is_pure": false, + "text": "newQueue" } ], "expression": { - "id": 5380, + "id": 5381, "node_type": 16, "src": { "line": 2506, @@ -3454,16 +3508,17 @@ "start": 90844, "end": 90861, "length": 18, - "parent_index": 5378 + "parent_index": 5379 }, "name": "WithdrawalQueueSet", "type_description": { - "type_identifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267903", + "type_identifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267906", "type_string": "event Global.WithdrawalQueueSet" }, "overloaded_declarations": [], - "referenced_declaration": 7903, - "is_pure": false + "referenced_declaration": 7906, + "is_pure": false, + "text": "WithdrawalQueueSet" } } ] @@ -3474,7 +3529,7 @@ "virtual": false, "modifiers": [ { - "id": 5363, + "id": 5364, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -3484,12 +3539,12 @@ "start": 90633, "end": 90646, "length": 14, - "parent_index": 5356 + "parent_index": 5357 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5364, + "id": 5365, "name": "onlyGovernance", "node_type": 0, "src": { @@ -3498,14 +3553,14 @@ "start": 90633, "end": 90646, "length": 14, - "parent_index": 5363 + "parent_index": 5364 } } } ], "overrides": [], "parameters": { - "id": 5357, + "id": 5358, "node_type": 43, "src": { "line": 2499, @@ -3513,11 +3568,11 @@ "start": 90580, "end": 90621, "length": 42, - "parent_index": 5356 + "parent_index": 5357 }, "parameters": [ { - "id": 5358, + "id": 5359, "node_type": 44, "src": { "line": 2499, @@ -3525,12 +3580,12 @@ "start": 90580, "end": 90621, "length": 42, - "parent_index": 5357 + "parent_index": 5358 }, - "scope": 5356, + "scope": 5357, "name": "newQueue", "type_name": { - "id": 5359, + "id": 5360, "node_type": 16, "src": { "line": 2499, @@ -3538,11 +3593,11 @@ "start": 90580, "end": 90587, "length": 8, - "parent_index": 5358 + "parent_index": 5359 }, "name": "function", "path_node": { - "id": 5360, + "id": 5361, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -3552,12 +3607,12 @@ "start": 90580, "end": 90587, "length": 8, - "parent_index": 5359 + "parent_index": 5360 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5362, + "id": 5363, "node_type": 16, "src": { "line": 2499, @@ -3565,7 +3620,7 @@ "start": 90589, "end": 90602, "length": 14, - "parent_index": 5359 + "parent_index": 5360 }, "name": "MAX_STRATEGIES", "type_description": { @@ -3573,8 +3628,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -3598,7 +3654,7 @@ ] }, "return_parameters": { - "id": 5365, + "id": 5366, "node_type": 43, "src": { "line": 2499, @@ -3606,21 +3662,22 @@ "start": 90552, "end": 90878, "length": 327, - "parent_index": 5356 + "parent_index": 5357 }, "parameters": [], "parameter_types": [] }, "signature_raw": "setWithdrawalQueue(function)", "signature": "b7e9fc67", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_rational_20_by_1$", "type_string": "function(int_const 20)" - } + }, + "text": "functionsetWithdrawalQueue(Strategy[MAX_STRATEGIES]calldatanewQueue)externalonlyGovernance{require(newQueue.length==MAX_STRATEGIES,\"BV: bad qu size\");withdrawalQueue=newQueue;emitWithdrawalQueueSet(newQueue);}" }, { - "id": 5382, + "id": 5383, "node_type": 57, "src": { "line": 2513, @@ -3628,10 +3685,10 @@ "start": 91011, "end": 91070, "length": 60, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5383, + "id": 5384, "node_type": 43, "src": { "line": 2513, @@ -3639,11 +3696,11 @@ "start": 91011, "end": 91070, "length": 60, - "parent_index": 5382 + "parent_index": 5383 }, "parameters": [ { - "id": 5384, + "id": 5385, "node_type": 44, "src": { "line": 2513, @@ -3651,12 +3708,12 @@ "start": 91036, "end": 91068, "length": 33, - "parent_index": 5383 + "parent_index": 5384 }, - "scope": 5382, + "scope": 5383, "name": "newQueue", "type_name": { - "id": 5385, + "id": 5386, "node_type": 16, "src": { "line": 2513, @@ -3664,11 +3721,11 @@ "start": 91036, "end": 91043, "length": 8, - "parent_index": 5384 + "parent_index": 5385 }, "name": "function", "path_node": { - "id": 5386, + "id": 5387, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -3678,12 +3735,12 @@ "start": 91036, "end": 91043, "length": 8, - "parent_index": 5385 + "parent_index": 5386 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5388, + "id": 5389, "node_type": 16, "src": { "line": 2513, @@ -3691,7 +3748,7 @@ "start": 91045, "end": 91058, "length": 14, - "parent_index": 5385 + "parent_index": 5386 }, "name": "MAX_STRATEGIES", "type_description": { @@ -3699,8 +3756,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -3726,12 +3784,12 @@ "name": "WithdrawalQueueSet", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_WithdrawalQueueSet_\u00265382", + "type_identifier": "t_event\u0026_BaseVault_WithdrawalQueueSet_\u00265383", "type_string": "event BaseVault.WithdrawalQueueSet" } }, { - "id": 5390, + "id": 5391, "name": "totalStrategyHoldings", "is_constant": false, "is_state_variable": true, @@ -3742,9 +3800,9 @@ "start": 91364, "end": 91400, "length": 37, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -3753,7 +3811,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5391, + "id": 5392, "node_type": 30, "src": { "line": 2520, @@ -3761,7 +3819,7 @@ "start": 91364, "end": 91370, "length": 7, - "parent_index": 5390 + "parent_index": 5391 }, "name": "uint256", "referenced_declaration": 0, @@ -3773,7 +3831,7 @@ "initial_value": null }, { - "id": 5393, + "id": 5394, "node_type": 67, "src": { "line": 2522, @@ -3781,7 +3839,7 @@ "start": 91407, "end": 91504, "length": 98, - "parent_index": 5126 + "parent_index": 5127 }, "name": "StrategyInfo", "name_location": { @@ -3790,16 +3848,16 @@ "start": 91414, "end": 91425, "length": 12, - "parent_index": 5393 + "parent_index": 5394 }, "canonical_name": "BaseVault.StrategyInfo", "type_description": { - "type_identifier": "t_struct$_BaseVault_StrategyInfo_$5393", + "type_identifier": "t_struct$_BaseVault_StrategyInfo_$5394", "type_string": "struct BaseVault.StrategyInfo" }, "members": [ { - "id": 5394, + "id": 5395, "node_type": 44, "src": { "line": 2523, @@ -3807,12 +3865,12 @@ "start": 91437, "end": 91450, "length": 14, - "parent_index": 5393 + "parent_index": 5394 }, - "scope": 5193, + "scope": 5194, "name": "isActive", "type_name": { - "id": 5395, + "id": 5396, "node_type": 30, "src": { "line": 2523, @@ -3820,7 +3878,7 @@ "start": 91437, "end": 91440, "length": 4, - "parent_index": 5394 + "parent_index": 5395 }, "name": "bool", "referenced_declaration": 0, @@ -3837,7 +3895,7 @@ } }, { - "id": 5396, + "id": 5397, "node_type": 44, "src": { "line": 2524, @@ -3845,12 +3903,12 @@ "start": 91460, "end": 91473, "length": 14, - "parent_index": 5393 + "parent_index": 5394 }, - "scope": 5193, + "scope": 5194, "name": "tvlBps", "type_name": { - "id": 5397, + "id": 5398, "node_type": 30, "src": { "line": 2524, @@ -3858,7 +3916,7 @@ "start": 91460, "end": 91465, "length": 6, - "parent_index": 5396 + "parent_index": 5397 }, "name": "uint16", "referenced_declaration": 0, @@ -3875,7 +3933,7 @@ } }, { - "id": 5398, + "id": 5399, "node_type": 44, "src": { "line": 2525, @@ -3883,12 +3941,12 @@ "start": 91483, "end": 91498, "length": 16, - "parent_index": 5393 + "parent_index": 5394 }, - "scope": 5193, + "scope": 5194, "name": "balance", "type_name": { - "id": 5399, + "id": 5400, "node_type": 30, "src": { "line": 2525, @@ -3896,7 +3954,7 @@ "start": 91483, "end": 91489, "length": 7, - "parent_index": 5398 + "parent_index": 5399 }, "name": "uint232", "referenced_declaration": 0, @@ -3917,7 +3975,7 @@ "storage_location": 1 }, { - "id": 5401, + "id": 5402, "name": "strategies", "is_constant": false, "is_state_variable": true, @@ -3928,29 +3986,29 @@ "start": 91566, "end": 91617, "length": 52, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 5402, - "node_type": 0, + "id": 5403, + "node_type": 69, "src": { "line": 2529, "column": 4, "start": 91566, "end": 91598, "length": 33, - "parent_index": 5401 + "parent_index": 5402 }, "key_type": { - "id": 5403, + "id": 5404, "node_type": 30, "src": { "line": 2529, @@ -3958,10 +4016,10 @@ "start": 91574, "end": 91581, "length": 8, - "parent_index": 5402 + "parent_index": 5403 }, "name": "Strategy", - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -3973,24 +4031,24 @@ "start": 91574, "end": 91581, "length": 8, - "parent_index": 5402 + "parent_index": 5403 }, "value_type": { - "id": 5404, - "node_type": 30, + "id": 5405, + "node_type": 69, "src": { "line": 2529, "column": 24, "start": 91586, "end": 91597, "length": 12, - "parent_index": 5402 + "parent_index": 5403 }, "name": "StrategyInfo", - "referenced_declaration": 0, + "referenced_declaration": 5394, "type_description": { - "type_identifier": "t_StrategyInfo", - "type_string": "StrategyInfo" + "type_identifier": "t_struct$_BaseVault_StrategyInfo_$5394", + "type_string": "struct BaseVault.StrategyInfo" } }, "value_name_location": { @@ -3999,18 +4057,40 @@ "start": 91586, "end": 91597, "length": 12, - "parent_index": 5402 + "parent_index": 5403 }, - "referenced_declaration": 0, + "path_node": { + "id": 5406, + "name": "StrategyInfo", + "node_type": 52, + "referenced_declaration": 5394, + "src": { + "line": 2529, + "column": 24, + "start": 91586, + "end": 91597, + "length": 12, + "parent_index": 5403 + }, + "name_location": { + "line": 2529, + "column": 24, + "start": 91586, + "end": 91597, + "length": 12, + "parent_index": 5403 + } + }, + "referenced_declaration": 5394, "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" } }, "initial_value": null }, { - "id": 5406, + "id": 5408, "name": "MAX_BPS", "is_constant": true, "is_state_variable": true, @@ -4021,9 +4101,9 @@ "start": 91624, "end": 91657, "length": 34, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 10_000" @@ -4032,7 +4112,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5407, + "id": 5409, "node_type": 30, "src": { "line": 2531, @@ -4040,7 +4120,7 @@ "start": 91624, "end": 91630, "length": 7, - "parent_index": 5406 + "parent_index": 5408 }, "name": "uint256", "referenced_declaration": 0, @@ -4050,7 +4130,7 @@ } }, "initial_value": { - "id": 5408, + "id": 5410, "node_type": 17, "kind": 49, "value": "10_000", @@ -4061,7 +4141,7 @@ "start": 91651, "end": 91656, "length": 6, - "parent_index": 5406 + "parent_index": 5408 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4069,11 +4149,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10_000" } }, { - "id": 5410, + "id": 5412, "name": "totalBps", "is_constant": false, "is_state_variable": true, @@ -4084,9 +4165,9 @@ "start": 91767, "end": 91790, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -4095,7 +4176,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5411, + "id": 5413, "node_type": 30, "src": { "line": 2533, @@ -4103,7 +4184,7 @@ "start": 91767, "end": 91773, "length": 7, - "parent_index": 5410 + "parent_index": 5412 }, "name": "uint256", "referenced_declaration": 0, @@ -4115,7 +4196,7 @@ "initial_value": null }, { - "id": 5413, + "id": 5415, "node_type": 57, "src": { "line": 2536, @@ -4123,10 +4204,10 @@ "start": 91860, "end": 91906, "length": 47, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5414, + "id": 5416, "node_type": 43, "src": { "line": 2536, @@ -4134,11 +4215,11 @@ "start": 91860, "end": 91906, "length": 47, - "parent_index": 5413 + "parent_index": 5415 }, "parameters": [ { - "id": 5415, + "id": 5417, "node_type": 44, "src": { "line": 2536, @@ -4146,12 +4227,12 @@ "start": 91880, "end": 91904, "length": 25, - "parent_index": 5414 + "parent_index": 5416 }, - "scope": 5413, + "scope": 5415, "name": "strategy", "type_name": { - "id": 5416, + "id": 5418, "node_type": 69, "src": { "line": 2536, @@ -4159,10 +4240,10 @@ "start": 91880, "end": 91887, "length": 8, - "parent_index": 5415 + "parent_index": 5417 }, "path_node": { - "id": 5417, + "id": 5419, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -4172,7 +4253,7 @@ "start": 91880, "end": 91887, "length": 8, - "parent_index": 5416 + "parent_index": 5418 }, "name_location": { "line": 2536, @@ -4180,10 +4261,10 @@ "start": 91880, "end": 91887, "length": 8, - "parent_index": 5416 + "parent_index": 5418 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -4202,12 +4283,12 @@ "name": "StrategyAdded", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265413", + "type_identifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265415", "type_string": "event BaseVault.StrategyAdded" } }, { - "id": 5419, + "id": 5421, "node_type": 57, "src": { "line": 2538, @@ -4215,10 +4296,10 @@ "start": 91977, "end": 92025, "length": 49, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5420, + "id": 5422, "node_type": 43, "src": { "line": 2538, @@ -4226,11 +4307,11 @@ "start": 91977, "end": 92025, "length": 49, - "parent_index": 5419 + "parent_index": 5421 }, "parameters": [ { - "id": 5421, + "id": 5423, "node_type": 44, "src": { "line": 2538, @@ -4238,12 +4319,12 @@ "start": 91999, "end": 92023, "length": 25, - "parent_index": 5420 + "parent_index": 5422 }, - "scope": 5419, + "scope": 5421, "name": "strategy", "type_name": { - "id": 5422, + "id": 5424, "node_type": 69, "src": { "line": 2538, @@ -4251,10 +4332,10 @@ "start": 91999, "end": 92006, "length": 8, - "parent_index": 5421 + "parent_index": 5423 }, "path_node": { - "id": 5423, + "id": 5425, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -4264,7 +4345,7 @@ "start": 91999, "end": 92006, "length": 8, - "parent_index": 5422 + "parent_index": 5424 }, "name_location": { "line": 2538, @@ -4272,10 +4353,10 @@ "start": 91999, "end": 92006, "length": 8, - "parent_index": 5422 + "parent_index": 5424 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -4294,12 +4375,12 @@ "name": "StrategyRemoved", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265419", + "type_identifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265421", "type_string": "event BaseVault.StrategyRemoved" } }, { - "id": 5425, + "id": 5427, "name": "addStrategy", "node_type": 42, "kind": 41, @@ -4309,7 +4390,7 @@ "start": 92234, "end": 92618, "length": 385, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2545, @@ -4317,10 +4398,10 @@ "start": 92243, "end": 92253, "length": 11, - "parent_index": 5425 + "parent_index": 5427 }, "body": { - "id": 5435, + "id": 5437, "node_type": 46, "kind": 0, "src": { @@ -4329,12 +4410,12 @@ "start": 92313, "end": 92618, "length": 306, - "parent_index": 5425 + "parent_index": 5427 }, "implemented": true, "statements": [ { - "id": 5436, + "id": 5438, "node_type": 24, "kind": 24, "src": { @@ -4343,7 +4424,7 @@ "start": 92323, "end": 92345, "length": 23, - "parent_index": 5435 + "parent_index": 5437 }, "argument_types": [ { @@ -4353,7 +4434,7 @@ ], "arguments": [ { - "id": 5438, + "id": 5440, "node_type": 16, "src": { "line": 2546, @@ -4361,7 +4442,7 @@ "start": 92339, "end": 92344, "length": 6, - "parent_index": 5436 + "parent_index": 5438 }, "name": "tvlBps", "type_description": { @@ -4369,12 +4450,13 @@ "type_string": "uint16" }, "overloaded_declarations": [], - "referenced_declaration": 5438, - "is_pure": false + "referenced_declaration": 5440, + "is_pure": false, + "text": "tvlBps" } ], "expression": { - "id": 5437, + "id": 5439, "node_type": 16, "src": { "line": 2546, @@ -4382,7 +4464,7 @@ "start": 92323, "end": 92337, "length": 15, - "parent_index": 5436 + "parent_index": 5438 }, "name": "_increaseTVLBps", "type_description": { @@ -4391,7 +4473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_increaseTVLBps" }, "type_description": { "type_identifier": "t_function_$_t_uint16$", @@ -4399,7 +4482,7 @@ } }, { - "id": 5439, + "id": 5441, "node_type": 27, "src": { "line": 2547, @@ -4407,10 +4490,10 @@ "start": 92356, "end": 92437, "length": 82, - "parent_index": 5435 + "parent_index": 5437 }, "expression": { - "id": 5440, + "id": 5442, "node_type": 27, "src": { "line": 2547, @@ -4418,11 +4501,11 @@ "start": 92356, "end": 92436, "length": 81, - "parent_index": 5439 + "parent_index": 5441 }, "operator": 11, "left_expression": { - "id": 5441, + "id": 5443, "node_type": 22, "src": { "line": 2547, @@ -4430,10 +4513,10 @@ "start": 92356, "end": 92375, "length": 20, - "parent_index": 5440 + "parent_index": 5442 }, "index_expression": { - "id": 5442, + "id": 5444, "node_type": 16, "src": { "line": 2547, @@ -4441,19 +4524,20 @@ "start": 92356, "end": 92365, "length": 10, - "parent_index": 5441 + "parent_index": 5443 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5443, + "id": 5445, "node_type": 16, "src": { "line": 2547, @@ -4461,31 +4545,32 @@ "start": 92367, "end": 92374, "length": 8, - "parent_index": 5441 + "parent_index": 5443 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, null ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "right_expression": { - "id": 5444, + "id": 5446, "node_type": 24, "kind": 24, "src": { @@ -4494,12 +4579,12 @@ "start": 92379, "end": 92436, "length": 58, - "parent_index": 5440 + "parent_index": 5442 }, "argument_types": [], "arguments": [], "expression": { - "id": 5445, + "id": 5447, "node_type": 16, "src": { "line": 2547, @@ -4507,7 +4592,7 @@ "start": 92379, "end": 92390, "length": 12, - "parent_index": 5444 + "parent_index": 5446 }, "name": "StrategyInfo", "type_description": { @@ -4516,7 +4601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "StrategyInfo" }, "type_description": { "type_identifier": "t_function_$", @@ -4524,17 +4610,18 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy]=StrategyInfo({isActive:true,tvlBps:tvlBps,balance:0});" }, { - "id": 5446, + "id": 5448, "node_type": 27, "src": { "line": 2549, @@ -4542,10 +4629,10 @@ "start": 92492, "end": 92538, "length": 47, - "parent_index": 5435 + "parent_index": 5437 }, "expression": { - "id": 5447, + "id": 5449, "node_type": 27, "src": { "line": 2549, @@ -4553,11 +4640,11 @@ "start": 92492, "end": 92537, "length": 46, - "parent_index": 5446 + "parent_index": 5448 }, "operator": 11, "left_expression": { - "id": 5448, + "id": 5450, "node_type": 22, "src": { "line": 2549, @@ -4565,10 +4652,10 @@ "start": 92492, "end": 92526, "length": 35, - "parent_index": 5447 + "parent_index": 5449 }, "index_expression": { - "id": 5449, + "id": 5451, "node_type": 16, "src": { "line": 2549, @@ -4576,7 +4663,7 @@ "start": 92492, "end": 92506, "length": 15, - "parent_index": 5448 + "parent_index": 5450 }, "name": "withdrawalQueue", "type_description": { @@ -4584,11 +4671,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5450, + "id": 5452, "is_constant": false, "is_pure": false, "node_type": 19, @@ -4598,11 +4686,11 @@ "start": 92508, "end": 92525, "length": 18, - "parent_index": 5448 + "parent_index": 5450 }, "operator": 2, "left_expression": { - "id": 5451, + "id": 5453, "node_type": 16, "src": { "line": 2549, @@ -4610,7 +4698,7 @@ "start": 92508, "end": 92521, "length": 14, - "parent_index": 5450 + "parent_index": 5452 }, "name": "MAX_STRATEGIES", "type_description": { @@ -4618,11 +4706,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "right_expression": { - "id": 5452, + "id": 5454, "node_type": 17, "kind": 49, "value": "1", @@ -4633,7 +4722,7 @@ "start": 92525, "end": 92525, "length": 1, - "parent_index": 5450 + "parent_index": 5452 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -4641,7 +4730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -4664,7 +4754,7 @@ } }, "right_expression": { - "id": 5453, + "id": 5455, "node_type": 16, "src": { "line": 2549, @@ -4672,16 +4762,17 @@ "start": 92530, "end": 92537, "length": 8, - "parent_index": 5447 + "parent_index": 5449 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_description": { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_rational_20_by_1]$", @@ -4691,10 +4782,11 @@ "type_description": { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_rational_20_by_1]$", "type_string": "index[int_const 20:int_const 20]" - } + }, + "text": "withdrawalQueue[MAX_STRATEGIES-1]=strategy;" }, { - "id": 5454, + "id": 5456, "node_type": 64, "src": { "line": 2550, @@ -4702,11 +4794,11 @@ "start": 92548, "end": 92576, "length": 29, - "parent_index": 5425 + "parent_index": 5427 }, "arguments": [ { - "id": 5455, + "id": 5457, "node_type": 16, "src": { "line": 2550, @@ -4714,20 +4806,21 @@ "start": 92567, "end": 92574, "length": 8, - "parent_index": 5454 + "parent_index": 5456 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5456, + "id": 5458, "node_type": 16, "src": { "line": 2550, @@ -4735,20 +4828,21 @@ "start": 92553, "end": 92565, "length": 13, - "parent_index": 5454 + "parent_index": 5456 }, "name": "StrategyAdded", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265413", + "type_identifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265415", "type_string": "event BaseVault.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 5413, - "is_pure": false + "referenced_declaration": 5415, + "is_pure": false, + "text": "StrategyAdded" } }, { - "id": 5457, + "id": 5459, "node_type": 24, "kind": 24, "src": { @@ -4757,12 +4851,12 @@ "start": 92586, "end": 92611, "length": 26, - "parent_index": 5435 + "parent_index": 5437 }, "argument_types": [], "arguments": [], "expression": { - "id": 5458, + "id": 5460, "node_type": 16, "src": { "line": 2551, @@ -4770,7 +4864,7 @@ "start": 92586, "end": 92609, "length": 24, - "parent_index": 5457 + "parent_index": 5459 }, "name": "_organizeWithdrawalQueue", "type_description": { @@ -4779,7 +4873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_organizeWithdrawalQueue" }, "type_description": { "type_identifier": "t_function_$", @@ -4794,7 +4889,7 @@ "virtual": false, "modifiers": [ { - "id": 5432, + "id": 5434, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -4804,12 +4899,12 @@ "start": 92298, "end": 92311, "length": 14, - "parent_index": 5425 + "parent_index": 5427 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5433, + "id": 5435, "name": "onlyGovernance", "node_type": 0, "src": { @@ -4818,14 +4913,14 @@ "start": 92298, "end": 92311, "length": 14, - "parent_index": 5432 + "parent_index": 5434 } } } ], "overrides": [], "parameters": { - "id": 5426, + "id": 5428, "node_type": 43, "src": { "line": 2545, @@ -4833,11 +4928,11 @@ "start": 92255, "end": 92286, "length": 32, - "parent_index": 5425 + "parent_index": 5427 }, "parameters": [ { - "id": 5427, + "id": 5429, "node_type": 44, "src": { "line": 2545, @@ -4845,12 +4940,12 @@ "start": 92255, "end": 92271, "length": 17, - "parent_index": 5426 + "parent_index": 5428 }, - "scope": 5425, + "scope": 5427, "name": "strategy", "type_name": { - "id": 5428, + "id": 5430, "node_type": 69, "src": { "line": 2545, @@ -4858,10 +4953,10 @@ "start": 92255, "end": 92262, "length": 8, - "parent_index": 5427 + "parent_index": 5429 }, "path_node": { - "id": 5429, + "id": 5431, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -4871,7 +4966,7 @@ "start": 92255, "end": 92262, "length": 8, - "parent_index": 5428 + "parent_index": 5430 }, "name_location": { "line": 2545, @@ -4879,10 +4974,10 @@ "start": 92255, "end": 92262, "length": 8, - "parent_index": 5428 + "parent_index": 5430 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -4893,7 +4988,7 @@ "state_mutability": 1 }, { - "id": 5430, + "id": 5432, "node_type": 44, "src": { "line": 2545, @@ -4901,12 +4996,12 @@ "start": 92274, "end": 92286, "length": 13, - "parent_index": 5426 + "parent_index": 5428 }, - "scope": 5425, + "scope": 5427, "name": "tvlBps", "type_name": { - "id": 5431, + "id": 5433, "node_type": 30, "src": { "line": 2545, @@ -4914,7 +5009,7 @@ "start": 92274, "end": 92279, "length": 6, - "parent_index": 5430 + "parent_index": 5432 }, "name": "uint16", "referenced_declaration": 0, @@ -4941,7 +5036,7 @@ ] }, "return_parameters": { - "id": 5434, + "id": 5436, "node_type": 43, "src": { "line": 2545, @@ -4949,21 +5044,22 @@ "start": 92234, "end": 92618, "length": 385, - "parent_index": 5425 + "parent_index": 5427 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "addStrategy(, uint16)", - "signature": "c0d4943b", - "scope": 5193, + "signature_raw": "addStrategy(,uint16)", + "signature": "54f4ad68", + "scope": 5194, "type_description": { - "type_identifier": "t_function_$_t_unknown_5425$_t_uint16$", - "type_string": "function(unknown_5425,uint16)" - } + "type_identifier": "t_function_$_t_unknown_5427$_t_uint16$", + "type_string": "function(unknown_5427,uint16)" + }, + "text": "functionaddStrategy(Strategystrategy,uint16tvlBps)externalonlyGovernance{_increaseTVLBps(tvlBps);strategies[strategy]=StrategyInfo({isActive:true,tvlBps:tvlBps,balance:0});withdrawalQueue[MAX_STRATEGIES-1]=strategy;emitStrategyAdded(strategy);_organizeWithdrawalQueue();}" }, { - "id": 5460, + "id": 5462, "name": "_increaseTVLBps", "node_type": 42, "kind": 41, @@ -4973,7 +5069,7 @@ "start": 92742, "end": 92940, "length": 199, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2555, @@ -4981,10 +5077,10 @@ "start": 92751, "end": 92765, "length": 15, - "parent_index": 5460 + "parent_index": 5462 }, "body": { - "id": 5465, + "id": 5467, "node_type": 46, "kind": 0, "src": { @@ -4993,12 +5089,12 @@ "start": 92792, "end": 92940, "length": 149, - "parent_index": 5460 + "parent_index": 5462 }, "implemented": true, "statements": [ { - "id": 5466, + "id": 5468, "node_type": 44, "src": { "line": 2556, @@ -5006,25 +5102,25 @@ "start": 92802, "end": 92841, "length": 40, - "parent_index": 5465 + "parent_index": 5467 }, "assignments": [ - 5467 + 5469 ], "declarations": [ { - "id": 5467, + "id": 5469, "state_mutability": 1, "name": "newTotalBps", "node_type": 44, - "scope": 5465, + "scope": 5467, "src": { "line": 2556, "column": 8, "start": 92802, "end": 92820, "length": 19, - "parent_index": 5466 + "parent_index": 5468 }, "name_location": { "line": 2556, @@ -5032,12 +5128,12 @@ "start": 92810, "end": 92820, "length": 11, - "parent_index": 5467 + "parent_index": 5469 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5468, + "id": 5470, "node_type": 30, "src": { "line": 2556, @@ -5045,7 +5141,7 @@ "start": 92802, "end": 92808, "length": 7, - "parent_index": 5467 + "parent_index": 5469 }, "name": "uint256", "referenced_declaration": 0, @@ -5058,7 +5154,7 @@ } ], "initial_value": { - "id": 5469, + "id": 5471, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5068,11 +5164,11 @@ "start": 92824, "end": 92840, "length": 17, - "parent_index": 5466 + "parent_index": 5468 }, "operator": 1, "left_expression": { - "id": 5470, + "id": 5472, "node_type": 16, "src": { "line": 2556, @@ -5080,7 +5176,7 @@ "start": 92824, "end": 92831, "length": 8, - "parent_index": 5469 + "parent_index": 5471 }, "name": "totalBps", "type_description": { @@ -5088,11 +5184,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5410, - "is_pure": false + "referenced_declaration": 5412, + "is_pure": false, + "text": "totalBps" }, "right_expression": { - "id": 5471, + "id": 5473, "node_type": 16, "src": { "line": 2556, @@ -5100,7 +5197,7 @@ "start": 92835, "end": 92840, "length": 6, - "parent_index": 5469 + "parent_index": 5471 }, "name": "tvlBps", "type_description": { @@ -5108,8 +5205,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5471, - "is_pure": false + "referenced_declaration": 5473, + "is_pure": false, + "text": "tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -5118,7 +5216,7 @@ } }, { - "id": 5472, + "id": 5474, "node_type": 24, "kind": 24, "src": { @@ -5127,7 +5225,7 @@ "start": 92851, "end": 92901, "length": 51, - "parent_index": 5465 + "parent_index": 5467 }, "argument_types": [ { @@ -5141,7 +5239,7 @@ ], "arguments": [ { - "id": 5474, + "id": 5476, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5151,11 +5249,11 @@ "start": 92859, "end": 92880, "length": 22, - "parent_index": 5472 + "parent_index": 5474 }, "operator": 10, "left_expression": { - "id": 5475, + "id": 5477, "node_type": 16, "src": { "line": 2557, @@ -5163,7 +5261,7 @@ "start": 92859, "end": 92869, "length": 11, - "parent_index": 5474 + "parent_index": 5476 }, "name": "newTotalBps", "type_description": { @@ -5171,11 +5269,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5466, - "is_pure": false + "referenced_declaration": 5468, + "is_pure": false, + "text": "newTotalBps" }, "right_expression": { - "id": 5476, + "id": 5478, "node_type": 16, "src": { "line": 2557, @@ -5183,7 +5282,7 @@ "start": 92874, "end": 92880, "length": 7, - "parent_index": 5474 + "parent_index": 5476 }, "name": "MAX_BPS", "type_description": { @@ -5191,8 +5290,9 @@ "type_string": "int_const 10_000" }, "overloaded_declarations": [], - "referenced_declaration": 5406, - "is_pure": false + "referenced_declaration": 5408, + "is_pure": false, + "text": "MAX_BPS" }, "type_description": { "type_identifier": "t_bool", @@ -5200,7 +5300,7 @@ } }, { - "id": 5477, + "id": 5479, "node_type": 17, "kind": 50, "value": "BV: too many bps", @@ -5211,7 +5311,7 @@ "start": 92883, "end": 92900, "length": 18, - "parent_index": 5472 + "parent_index": 5474 }, "type_description": { "type_identifier": "t_string_literal", @@ -5225,11 +5325,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BV: too many bps\"" } ], "expression": { - "id": 5473, + "id": 5475, "node_type": 16, "src": { "line": 2557, @@ -5237,7 +5338,7 @@ "start": 92851, "end": 92857, "length": 7, - "parent_index": 5472 + "parent_index": 5474 }, "name": "require", "type_description": { @@ -5246,7 +5347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5254,7 +5356,7 @@ } }, { - "id": 5478, + "id": 5480, "node_type": 27, "src": { "line": 2558, @@ -5262,10 +5364,10 @@ "start": 92912, "end": 92934, "length": 23, - "parent_index": 5465 + "parent_index": 5467 }, "expression": { - "id": 5479, + "id": 5481, "node_type": 27, "src": { "line": 2558, @@ -5273,11 +5375,11 @@ "start": 92912, "end": 92933, "length": 22, - "parent_index": 5478 + "parent_index": 5480 }, "operator": 11, "left_expression": { - "id": 5480, + "id": 5482, "node_type": 16, "src": { "line": 2558, @@ -5285,7 +5387,7 @@ "start": 92912, "end": 92919, "length": 8, - "parent_index": 5479 + "parent_index": 5481 }, "name": "totalBps", "type_description": { @@ -5293,11 +5395,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5410, - "is_pure": false + "referenced_declaration": 5412, + "is_pure": false, + "text": "totalBps" }, "right_expression": { - "id": 5481, + "id": 5483, "node_type": 16, "src": { "line": 2558, @@ -5305,7 +5408,7 @@ "start": 92923, "end": 92933, "length": 11, - "parent_index": 5479 + "parent_index": 5481 }, "name": "newTotalBps", "type_description": { @@ -5313,8 +5416,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5466, - "is_pure": false + "referenced_declaration": 5468, + "is_pure": false, + "text": "newTotalBps" }, "type_description": { "type_identifier": "t_uint256", @@ -5324,7 +5428,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalBps=newTotalBps;" } ] }, @@ -5335,7 +5440,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5461, + "id": 5463, "node_type": 43, "src": { "line": 2555, @@ -5343,11 +5448,11 @@ "start": 92767, "end": 92780, "length": 14, - "parent_index": 5460 + "parent_index": 5462 }, "parameters": [ { - "id": 5462, + "id": 5464, "node_type": 44, "src": { "line": 2555, @@ -5355,12 +5460,12 @@ "start": 92767, "end": 92780, "length": 14, - "parent_index": 5461 + "parent_index": 5463 }, - "scope": 5460, + "scope": 5462, "name": "tvlBps", "type_name": { - "id": 5463, + "id": 5465, "node_type": 30, "src": { "line": 2555, @@ -5368,7 +5473,7 @@ "start": 92767, "end": 92773, "length": 7, - "parent_index": 5462 + "parent_index": 5464 }, "name": "uint256", "referenced_declaration": 0, @@ -5394,7 +5499,7 @@ ] }, "return_parameters": { - "id": 5464, + "id": 5466, "node_type": 43, "src": { "line": 2555, @@ -5402,21 +5507,22 @@ "start": 92742, "end": 92940, "length": 199, - "parent_index": 5460 + "parent_index": 5462 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_increaseTVLBps(uint256)", "signature": "05680cff", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_increaseTVLBps(uint256tvlBps)internal{uint256newTotalBps=totalBps+tvlBps;require(newTotalBps\u003c=MAX_BPS,\"BV: too many bps\");totalBps=newTotalBps;}" }, { - "id": 5483, + "id": 5485, "name": "_organizeWithdrawalQueue", "node_type": 42, "kind": 41, @@ -5426,7 +5532,7 @@ "start": 93186, "end": 93795, "length": 610, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2566, @@ -5434,10 +5540,10 @@ "start": 93195, "end": 93218, "length": 24, - "parent_index": 5483 + "parent_index": 5485 }, "body": { - "id": 5486, + "id": 5488, "node_type": 46, "kind": 0, "src": { @@ -5446,12 +5552,12 @@ "start": 93231, "end": 93795, "length": 565, - "parent_index": 5483 + "parent_index": 5485 }, "implemented": true, "statements": [ { - "id": 5487, + "id": 5489, "node_type": 44, "src": { "line": 2568, @@ -5459,25 +5565,25 @@ "start": 93315, "end": 93329, "length": 15, - "parent_index": 5486 + "parent_index": 5488 }, "assignments": [ - 5488 + 5490 ], "declarations": [ { - "id": 5488, + "id": 5490, "state_mutability": 1, "name": "offset", "node_type": 44, - "scope": 5486, + "scope": 5488, "src": { "line": 2568, "column": 8, "start": 93315, "end": 93328, "length": 14, - "parent_index": 5487 + "parent_index": 5489 }, "name_location": { "line": 2568, @@ -5485,12 +5591,12 @@ "start": 93323, "end": 93328, "length": 6, - "parent_index": 5488 + "parent_index": 5490 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5489, + "id": 5491, "node_type": 30, "src": { "line": 2568, @@ -5498,7 +5604,7 @@ "start": 93315, "end": 93321, "length": 7, - "parent_index": 5488 + "parent_index": 5490 }, "name": "uint256", "referenced_declaration": 0, @@ -5512,7 +5618,7 @@ ] }, { - "id": 5490, + "id": 5492, "node_type": 79, "src": { "line": 2570, @@ -5520,10 +5626,10 @@ "start": 93340, "end": 93789, "length": 450, - "parent_index": 5486 + "parent_index": 5488 }, "initialiser": { - "id": 5491, + "id": 5493, "node_type": 44, "src": { "line": 2570, @@ -5531,25 +5637,25 @@ "start": 93345, "end": 93358, "length": 14, - "parent_index": 5486 + "parent_index": 5488 }, "assignments": [ - 5492 + 5494 ], "declarations": [ { - "id": 5492, + "id": 5494, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5486, + "scope": 5488, "src": { "line": 2570, "column": 13, "start": 93345, "end": 93353, "length": 9, - "parent_index": 5491 + "parent_index": 5493 }, "name_location": { "line": 2570, @@ -5557,12 +5663,12 @@ "start": 93353, "end": 93353, "length": 1, - "parent_index": 5492 + "parent_index": 5494 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5493, + "id": 5495, "node_type": 30, "src": { "line": 2570, @@ -5570,7 +5676,7 @@ "start": 93345, "end": 93351, "length": 7, - "parent_index": 5492 + "parent_index": 5494 }, "name": "uint256", "referenced_declaration": 0, @@ -5583,7 +5689,7 @@ } ], "initial_value": { - "id": 5494, + "id": 5496, "node_type": 17, "kind": 49, "value": "0", @@ -5594,7 +5700,7 @@ "start": 93357, "end": 93357, "length": 1, - "parent_index": 5491 + "parent_index": 5493 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5602,11 +5708,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5495, + "id": 5497, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5616,11 +5723,11 @@ "start": 93360, "end": 93377, "length": 18, - "parent_index": 5490 + "parent_index": 5492 }, "operator": 9, "left_expression": { - "id": 5496, + "id": 5498, "node_type": 16, "src": { "line": 2570, @@ -5628,7 +5735,7 @@ "start": 93360, "end": 93360, "length": 1, - "parent_index": 5495 + "parent_index": 5497 }, "name": "i", "type_description": { @@ -5637,10 +5744,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5497, + "id": 5499, "node_type": 16, "src": { "line": 2570, @@ -5648,7 +5756,7 @@ "start": 93364, "end": 93377, "length": 14, - "parent_index": 5495 + "parent_index": 5497 }, "name": "MAX_STRATEGIES", "type_description": { @@ -5656,8 +5764,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -5665,7 +5774,7 @@ } }, "closure": { - "id": 5498, + "id": 5500, "node_type": 27, "src": { "line": 2570, @@ -5673,11 +5782,11 @@ "start": 93380, "end": 93398, "length": 19, - "parent_index": 5490 + "parent_index": 5492 }, "operator": 11, "left_expression": { - "id": 5499, + "id": 5501, "node_type": 16, "src": { "line": 2570, @@ -5685,7 +5794,7 @@ "start": 93380, "end": 93380, "length": 1, - "parent_index": 5498 + "parent_index": 5500 }, "name": "i", "type_description": { @@ -5694,10 +5803,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5500, + "id": 5502, "node_type": 24, "kind": 24, "src": { @@ -5706,7 +5816,7 @@ "start": 93384, "end": 93398, "length": 15, - "parent_index": 5498 + "parent_index": 5500 }, "argument_types": [ { @@ -5716,7 +5826,7 @@ ], "arguments": [ { - "id": 5502, + "id": 5504, "node_type": 16, "src": { "line": 2570, @@ -5724,7 +5834,7 @@ "start": 93397, "end": 93397, "length": 1, - "parent_index": 5500 + "parent_index": 5502 }, "name": "i", "type_description": { @@ -5733,11 +5843,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5501, + "id": 5503, "node_type": 16, "src": { "line": 2570, @@ -5745,7 +5856,7 @@ "start": 93384, "end": 93395, "length": 12, - "parent_index": 5500 + "parent_index": 5502 }, "name": "uncheckedInc", "type_description": { @@ -5754,7 +5865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5767,7 +5879,7 @@ } }, "body": { - "id": 5503, + "id": 5505, "node_type": 46, "kind": 0, "src": { @@ -5776,12 +5888,12 @@ "start": 93401, "end": 93789, "length": 389, - "parent_index": 5490 + "parent_index": 5492 }, "implemented": true, "statements": [ { - "id": 5504, + "id": 5506, "node_type": 44, "src": { "line": 2571, @@ -5789,25 +5901,25 @@ "start": 93415, "end": 93453, "length": 39, - "parent_index": 5503 + "parent_index": 5505 }, "assignments": [ - 5505 + 5507 ], "declarations": [ { - "id": 5505, + "id": 5507, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 5503, + "scope": 5505, "src": { "line": 2571, "column": 12, "start": 93415, "end": 93431, "length": 17, - "parent_index": 5504 + "parent_index": 5506 }, "name_location": { "line": 2571, @@ -5815,12 +5927,12 @@ "start": 93424, "end": 93431, "length": 8, - "parent_index": 5505 + "parent_index": 5507 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5506, + "id": 5508, "node_type": 69, "src": { "line": 2571, @@ -5828,10 +5940,10 @@ "start": 93415, "end": 93422, "length": 8, - "parent_index": 5505 + "parent_index": 5507 }, "path_node": { - "id": 5507, + "id": 5509, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -5841,7 +5953,7 @@ "start": 93415, "end": 93422, "length": 8, - "parent_index": 5506 + "parent_index": 5508 }, "name_location": { "line": 2571, @@ -5849,10 +5961,10 @@ "start": 93415, "end": 93422, "length": 8, - "parent_index": 5506 + "parent_index": 5508 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -5862,7 +5974,7 @@ } ], "initial_value": { - "id": 5508, + "id": 5510, "node_type": 22, "src": { "line": 2571, @@ -5870,10 +5982,10 @@ "start": 93435, "end": 93452, "length": 18, - "parent_index": 5504 + "parent_index": 5506 }, "index_expression": { - "id": 5509, + "id": 5511, "node_type": 16, "src": { "line": 2571, @@ -5881,7 +5993,7 @@ "start": 93435, "end": 93449, "length": 15, - "parent_index": 5508 + "parent_index": 5510 }, "name": "withdrawalQueue", "type_description": { @@ -5889,11 +6001,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5510, + "id": 5512, "node_type": 16, "src": { "line": 2571, @@ -5901,7 +6014,7 @@ "start": 93451, "end": 93451, "length": 1, - "parent_index": 5508 + "parent_index": 5510 }, "name": "i", "type_description": { @@ -5910,7 +6023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -5929,7 +6043,7 @@ } }, { - "id": 5511, + "id": 5513, "node_type": 48, "src": { "line": 2572, @@ -5937,10 +6051,10 @@ "start": 93467, "end": 93779, "length": 313, - "parent_index": 5503 + "parent_index": 5505 }, "condition": { - "id": 5512, + "id": 5514, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5950,11 +6064,11 @@ "start": 93471, "end": 93501, "length": 31, - "parent_index": 5511 + "parent_index": 5513 }, "operator": 11, "left_expression": { - "id": 5513, + "id": 5515, "node_type": 24, "kind": 24, "src": { @@ -5963,17 +6077,17 @@ "start": 93471, "end": 93487, "length": 17, - "parent_index": 5512 + "parent_index": 5514 }, "argument_types": [ { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" } ], "arguments": [ { - "id": 5516, + "id": 5518, "node_type": 16, "src": { "line": 2572, @@ -5981,20 +6095,21 @@ "start": 93479, "end": 93486, "length": 8, - "parent_index": 5513 + "parent_index": 5515 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5514, + "id": 5516, "node_type": 16, "src": { "line": 2572, @@ -6002,11 +6117,11 @@ "start": 93471, "end": 93477, "length": 7, - "parent_index": 5513 + "parent_index": 5515 }, "name": "address", "type_name": { - "id": 5515, + "id": 5517, "node_type": 30, "src": { "line": 2572, @@ -6014,7 +6129,7 @@ "start": 93471, "end": 93477, "length": 7, - "parent_index": 5514 + "parent_index": 5516 }, "name": "address", "state_mutability": 4, @@ -6036,15 +6151,16 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { - "type_identifier": "t_function_$_t_event\u0026_Global_StrategyAdded_\u00267928$", + "type_identifier": "t_function_$_t_event\u0026_Global_StrategyAdded_\u00267932$", "type_string": "function(event Global.StrategyAdded)" } }, "right_expression": { - "id": 5517, + "id": 5519, "node_type": 24, "kind": 24, "src": { @@ -6053,7 +6169,7 @@ "start": 93492, "end": 93501, "length": 10, - "parent_index": 5512 + "parent_index": 5514 }, "argument_types": [ { @@ -6063,7 +6179,7 @@ ], "arguments": [ { - "id": 5520, + "id": 5522, "node_type": 17, "kind": 49, "value": "0", @@ -6074,7 +6190,7 @@ "start": 93500, "end": 93500, "length": 1, - "parent_index": 5517 + "parent_index": 5519 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -6082,11 +6198,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 5518, + "id": 5520, "node_type": 16, "src": { "line": 2572, @@ -6094,11 +6211,11 @@ "start": 93492, "end": 93498, "length": 7, - "parent_index": 5517 + "parent_index": 5519 }, "name": "address", "type_name": { - "id": 5519, + "id": 5521, "node_type": 30, "src": { "line": 2572, @@ -6106,7 +6223,7 @@ "start": 93492, "end": 93498, "length": 7, - "parent_index": 5518 + "parent_index": 5520 }, "name": "address", "state_mutability": 4, @@ -6128,7 +6245,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6141,7 +6259,7 @@ } }, "body": { - "id": 5521, + "id": 5523, "node_type": 46, "kind": 0, "src": { @@ -6150,12 +6268,12 @@ "start": 93504, "end": 93547, "length": 44, - "parent_index": 5490 + "parent_index": 5492 }, "implemented": true, "statements": [ { - "id": 5522, + "id": 5524, "node_type": 27, "src": { "line": 2573, @@ -6163,10 +6281,10 @@ "start": 93522, "end": 93533, "length": 12, - "parent_index": 5521 + "parent_index": 5523 }, "expression": { - "id": 5523, + "id": 5525, "node_type": 27, "src": { "line": 2573, @@ -6174,11 +6292,11 @@ "start": 93522, "end": 93532, "length": 11, - "parent_index": 5522 + "parent_index": 5524 }, "operator": 13, "left_expression": { - "id": 5524, + "id": 5526, "node_type": 16, "src": { "line": 2573, @@ -6186,7 +6304,7 @@ "start": 93522, "end": 93527, "length": 6, - "parent_index": 5523 + "parent_index": 5525 }, "name": "offset", "type_description": { @@ -6194,11 +6312,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5487, - "is_pure": false + "referenced_declaration": 5489, + "is_pure": false, + "text": "offset" }, "right_expression": { - "id": 5525, + "id": 5527, "node_type": 17, "kind": 49, "value": "1", @@ -6209,7 +6328,7 @@ "start": 93532, "end": 93532, "length": 1, - "parent_index": 5523 + "parent_index": 5525 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -6217,7 +6336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -6227,7 +6347,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "offset+=1;" } ] } @@ -6244,7 +6365,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5484, + "id": 5486, "node_type": 43, "src": { "line": 2566, @@ -6252,13 +6373,13 @@ "start": 93186, "end": 93795, "length": 610, - "parent_index": 5483 + "parent_index": 5485 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 5485, + "id": 5487, "node_type": 43, "src": { "line": 2566, @@ -6266,21 +6387,22 @@ "start": 93186, "end": 93795, "length": 610, - "parent_index": 5483 + "parent_index": 5485 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_organizeWithdrawalQueue()", "signature": "5d890d05", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_organizeWithdrawalQueue()internal{uint256offset;for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){Strategystrategy=withdrawalQueue[i];if(address(strategy)==address(0)){offset+=1;}elseif(offset\u003e0){withdrawalQueue[i-offset]=strategy;withdrawalQueue[i]=Strategy(address(0));}}}" }, { - "id": 5527, + "id": 5529, "name": "removeStrategy", "node_type": 42, "kind": 41, @@ -6290,7 +6412,7 @@ "start": 94141, "end": 94933, "length": 793, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2588, @@ -6298,10 +6420,10 @@ "start": 94150, "end": 94163, "length": 14, - "parent_index": 5527 + "parent_index": 5529 }, "body": { - "id": 5535, + "id": 5537, "node_type": 46, "kind": 0, "src": { @@ -6310,12 +6432,12 @@ "start": 94208, "end": 94933, "length": 726, - "parent_index": 5527 + "parent_index": 5529 }, "implemented": true, "statements": [ { - "id": 5536, + "id": 5538, "node_type": 79, "src": { "line": 2589, @@ -6323,10 +6445,10 @@ "start": 94218, "end": 94927, "length": 710, - "parent_index": 5535 + "parent_index": 5537 }, "initialiser": { - "id": 5537, + "id": 5539, "node_type": 44, "src": { "line": 2589, @@ -6334,25 +6456,25 @@ "start": 94223, "end": 94236, "length": 14, - "parent_index": 5535 + "parent_index": 5537 }, "assignments": [ - 5538 + 5540 ], "declarations": [ { - "id": 5538, + "id": 5540, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5535, + "scope": 5537, "src": { "line": 2589, "column": 13, "start": 94223, "end": 94231, "length": 9, - "parent_index": 5537 + "parent_index": 5539 }, "name_location": { "line": 2589, @@ -6360,12 +6482,12 @@ "start": 94231, "end": 94231, "length": 1, - "parent_index": 5538 + "parent_index": 5540 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5539, + "id": 5541, "node_type": 30, "src": { "line": 2589, @@ -6373,7 +6495,7 @@ "start": 94223, "end": 94229, "length": 7, - "parent_index": 5538 + "parent_index": 5540 }, "name": "uint256", "referenced_declaration": 0, @@ -6386,7 +6508,7 @@ } ], "initial_value": { - "id": 5540, + "id": 5542, "node_type": 17, "kind": 49, "value": "0", @@ -6397,7 +6519,7 @@ "start": 94235, "end": 94235, "length": 1, - "parent_index": 5537 + "parent_index": 5539 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -6405,11 +6527,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5541, + "id": 5543, "is_constant": false, "is_pure": false, "node_type": 19, @@ -6419,11 +6542,11 @@ "start": 94238, "end": 94255, "length": 18, - "parent_index": 5536 + "parent_index": 5538 }, "operator": 9, "left_expression": { - "id": 5542, + "id": 5544, "node_type": 16, "src": { "line": 2589, @@ -6431,7 +6554,7 @@ "start": 94238, "end": 94238, "length": 1, - "parent_index": 5541 + "parent_index": 5543 }, "name": "i", "type_description": { @@ -6440,10 +6563,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5543, + "id": 5545, "node_type": 16, "src": { "line": 2589, @@ -6451,7 +6575,7 @@ "start": 94242, "end": 94255, "length": 14, - "parent_index": 5541 + "parent_index": 5543 }, "name": "MAX_STRATEGIES", "type_description": { @@ -6459,8 +6583,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -6468,7 +6593,7 @@ } }, "closure": { - "id": 5544, + "id": 5546, "node_type": 27, "src": { "line": 2589, @@ -6476,11 +6601,11 @@ "start": 94258, "end": 94276, "length": 19, - "parent_index": 5536 + "parent_index": 5538 }, "operator": 11, "left_expression": { - "id": 5545, + "id": 5547, "node_type": 16, "src": { "line": 2589, @@ -6488,7 +6613,7 @@ "start": 94258, "end": 94258, "length": 1, - "parent_index": 5544 + "parent_index": 5546 }, "name": "i", "type_description": { @@ -6497,10 +6622,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5546, + "id": 5548, "node_type": 24, "kind": 24, "src": { @@ -6509,7 +6635,7 @@ "start": 94262, "end": 94276, "length": 15, - "parent_index": 5544 + "parent_index": 5546 }, "argument_types": [ { @@ -6519,7 +6645,7 @@ ], "arguments": [ { - "id": 5548, + "id": 5550, "node_type": 16, "src": { "line": 2589, @@ -6527,7 +6653,7 @@ "start": 94275, "end": 94275, "length": 1, - "parent_index": 5546 + "parent_index": 5548 }, "name": "i", "type_description": { @@ -6536,11 +6662,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5547, + "id": 5549, "node_type": 16, "src": { "line": 2589, @@ -6548,7 +6675,7 @@ "start": 94262, "end": 94273, "length": 12, - "parent_index": 5546 + "parent_index": 5548 }, "name": "uncheckedInc", "type_description": { @@ -6557,7 +6684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6570,7 +6698,7 @@ } }, "body": { - "id": 5549, + "id": 5551, "node_type": 46, "kind": 0, "src": { @@ -6579,12 +6707,12 @@ "start": 94279, "end": 94927, "length": 649, - "parent_index": 5536 + "parent_index": 5538 }, "implemented": true, "statements": [ { - "id": 5550, + "id": 5552, "node_type": 48, "src": { "line": 2590, @@ -6592,10 +6720,10 @@ "start": 94293, "end": 94369, "length": 77, - "parent_index": 5549 + "parent_index": 5551 }, "condition": { - "id": 5551, + "id": 5553, "is_constant": false, "is_pure": false, "node_type": 19, @@ -6605,11 +6733,11 @@ "start": 94297, "end": 94326, "length": 30, - "parent_index": 5550 + "parent_index": 5552 }, "operator": 12, "left_expression": { - "id": 5552, + "id": 5554, "node_type": 16, "src": { "line": 2590, @@ -6617,19 +6745,20 @@ "start": 94297, "end": 94304, "length": 8, - "parent_index": 5551 + "parent_index": 5553 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "right_expression": { - "id": 5553, + "id": 5555, "node_type": 22, "src": { "line": 2590, @@ -6637,10 +6766,10 @@ "start": 94309, "end": 94326, "length": 18, - "parent_index": 5551 + "parent_index": 5553 }, "index_expression": { - "id": 5554, + "id": 5556, "node_type": 16, "src": { "line": 2590, @@ -6648,7 +6777,7 @@ "start": 94309, "end": 94323, "length": 15, - "parent_index": 5553 + "parent_index": 5555 }, "name": "withdrawalQueue", "type_description": { @@ -6656,11 +6785,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5555, + "id": 5557, "node_type": 16, "src": { "line": 2590, @@ -6668,7 +6798,7 @@ "start": 94325, "end": 94325, "length": 1, - "parent_index": 5553 + "parent_index": 5555 }, "name": "i", "type_description": { @@ -6677,7 +6807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -6700,7 +6831,7 @@ } }, "body": { - "id": 5556, + "id": 5558, "node_type": 46, "kind": 0, "src": { @@ -6709,12 +6840,12 @@ "start": 94329, "end": 94369, "length": 41, - "parent_index": 5536 + "parent_index": 5538 }, "implemented": true, "statements": [ { - "id": 5557, + "id": 5559, "node_type": 75, "src": { "line": 2591, @@ -6722,14 +6853,14 @@ "start": 94347, "end": 94355, "length": 9, - "parent_index": 5556 + "parent_index": 5558 } } ] } }, { - "id": 5558, + "id": 5560, "node_type": 27, "src": { "line": 2594, @@ -6737,10 +6868,10 @@ "start": 94384, "end": 94421, "length": 38, - "parent_index": 5549 + "parent_index": 5551 }, "expression": { - "id": 5559, + "id": 5561, "node_type": 27, "src": { "line": 2594, @@ -6748,11 +6879,11 @@ "start": 94384, "end": 94420, "length": 37, - "parent_index": 5558 + "parent_index": 5560 }, "operator": 11, "left_expression": { - "id": 5560, + "id": 5562, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6764,7 +6895,7 @@ "start": 94384, "end": 94412, "length": 29, - "parent_index": 5559 + "parent_index": 5561 }, "member_location": { "line": 2594, @@ -6772,10 +6903,10 @@ "start": 94405, "end": 94412, "length": 8, - "parent_index": 5560 + "parent_index": 5562 }, "expression": { - "id": 5561, + "id": 5563, "node_type": 22, "src": { "line": 2594, @@ -6783,10 +6914,10 @@ "start": 94384, "end": 94403, "length": 20, - "parent_index": 5560 + "parent_index": 5562 }, "index_expression": { - "id": 5562, + "id": 5564, "node_type": 16, "src": { "line": 2594, @@ -6794,19 +6925,20 @@ "start": 94384, "end": 94393, "length": 10, - "parent_index": 5561 + "parent_index": 5563 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5563, + "id": 5565, "node_type": 16, "src": { "line": 2594, @@ -6814,38 +6946,40 @@ "start": 94395, "end": 94402, "length": 8, - "parent_index": 5561 + "parent_index": 5563 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, null ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "member_name": "isActive", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].isActive" }, "right_expression": { - "id": 5564, + "id": 5566, "node_type": 17, "kind": 61, "value": "false", @@ -6856,7 +6990,7 @@ "start": 94416, "end": 94420, "length": 5, - "parent_index": 5559 + "parent_index": 5561 }, "type_description": { "type_identifier": "t_bool", @@ -6864,20 +6998,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].isActive=false;" }, { - "id": 5565, + "id": 5567, "node_type": 27, "src": { "line": 2597, @@ -6885,10 +7021,10 @@ "start": 94499, "end": 94538, "length": 40, - "parent_index": 5549 + "parent_index": 5551 }, "expression": { - "id": 5566, + "id": 5568, "node_type": 27, "src": { "line": 2597, @@ -6896,11 +7032,11 @@ "start": 94499, "end": 94537, "length": 39, - "parent_index": 5565 + "parent_index": 5567 }, "operator": 14, "left_expression": { - "id": 5567, + "id": 5569, "node_type": 16, "src": { "line": 2597, @@ -6908,7 +7044,7 @@ "start": 94499, "end": 94506, "length": 8, - "parent_index": 5566 + "parent_index": 5568 }, "name": "totalBps", "type_description": { @@ -6916,11 +7052,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5410, - "is_pure": false + "referenced_declaration": 5412, + "is_pure": false, + "text": "totalBps" }, "right_expression": { - "id": 5568, + "id": 5570, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6932,7 +7069,7 @@ "start": 94511, "end": 94537, "length": 27, - "parent_index": 5566 + "parent_index": 5568 }, "member_location": { "line": 2597, @@ -6940,10 +7077,10 @@ "start": 94532, "end": 94537, "length": 6, - "parent_index": 5568 + "parent_index": 5570 }, "expression": { - "id": 5569, + "id": 5571, "node_type": 22, "src": { "line": 2597, @@ -6951,10 +7088,10 @@ "start": 94511, "end": 94530, "length": 20, - "parent_index": 5568 + "parent_index": 5570 }, "index_expression": { - "id": 5570, + "id": 5572, "node_type": 16, "src": { "line": 2597, @@ -6962,19 +7099,20 @@ "start": 94511, "end": 94520, "length": 10, - "parent_index": 5569 + "parent_index": 5571 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5571, + "id": 5573, "node_type": 16, "src": { "line": 2597, @@ -6982,35 +7120,37 @@ "start": 94522, "end": 94529, "length": 8, - "parent_index": 5569 + "parent_index": 5571 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, null ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -7020,10 +7160,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalBps-=strategies[strategy].tvlBps;" }, { - "id": 5572, + "id": 5574, "node_type": 27, "src": { "line": 2598, @@ -7031,10 +7172,10 @@ "start": 94552, "end": 94583, "length": 32, - "parent_index": 5549 + "parent_index": 5551 }, "expression": { - "id": 5573, + "id": 5575, "node_type": 27, "src": { "line": 2598, @@ -7042,11 +7183,11 @@ "start": 94552, "end": 94582, "length": 31, - "parent_index": 5572 + "parent_index": 5574 }, "operator": 11, "left_expression": { - "id": 5574, + "id": 5576, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -7058,7 +7199,7 @@ "start": 94552, "end": 94578, "length": 27, - "parent_index": 5573 + "parent_index": 5575 }, "member_location": { "line": 2598, @@ -7066,10 +7207,10 @@ "start": 94573, "end": 94578, "length": 6, - "parent_index": 5574 + "parent_index": 5576 }, "expression": { - "id": 5575, + "id": 5577, "node_type": 22, "src": { "line": 2598, @@ -7077,10 +7218,10 @@ "start": 94552, "end": 94571, "length": 20, - "parent_index": 5574 + "parent_index": 5576 }, "index_expression": { - "id": 5576, + "id": 5578, "node_type": 16, "src": { "line": 2598, @@ -7088,19 +7229,20 @@ "start": 94552, "end": 94561, "length": 10, - "parent_index": 5575 + "parent_index": 5577 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5577, + "id": 5579, "node_type": 16, "src": { "line": 2598, @@ -7108,38 +7250,40 @@ "start": 94563, "end": 94570, "length": 8, - "parent_index": 5575 + "parent_index": 5577 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, null ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].tvlBps" }, "right_expression": { - "id": 5578, + "id": 5580, "node_type": 17, "kind": 49, "value": "0", @@ -7150,7 +7294,7 @@ "start": 94582, "end": 94582, "length": 1, - "parent_index": 5573 + "parent_index": 5575 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7158,20 +7302,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].tvlBps=0;" }, { - "id": 5579, + "id": 5581, "node_type": 27, "src": { "line": 2601, @@ -7179,10 +7325,10 @@ "start": 94651, "end": 94692, "length": 42, - "parent_index": 5549 + "parent_index": 5551 }, "expression": { - "id": 5580, + "id": 5582, "node_type": 27, "src": { "line": 2601, @@ -7190,11 +7336,11 @@ "start": 94651, "end": 94691, "length": 41, - "parent_index": 5579 + "parent_index": 5581 }, "operator": 11, "left_expression": { - "id": 5581, + "id": 5583, "node_type": 22, "src": { "line": 2601, @@ -7202,10 +7348,10 @@ "start": 94651, "end": 94668, "length": 18, - "parent_index": 5580 + "parent_index": 5582 }, "index_expression": { - "id": 5582, + "id": 5584, "node_type": 16, "src": { "line": 2601, @@ -7213,7 +7359,7 @@ "start": 94651, "end": 94665, "length": 15, - "parent_index": 5581 + "parent_index": 5583 }, "name": "withdrawalQueue", "type_description": { @@ -7221,11 +7367,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5583, + "id": 5585, "node_type": 16, "src": { "line": 2601, @@ -7233,7 +7380,7 @@ "start": 94667, "end": 94667, "length": 1, - "parent_index": 5581 + "parent_index": 5583 }, "name": "i", "type_description": { @@ -7242,7 +7389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -7260,7 +7408,7 @@ } }, "right_expression": { - "id": 5584, + "id": 5586, "node_type": 24, "kind": 24, "src": { @@ -7269,7 +7417,7 @@ "start": 94672, "end": 94691, "length": 20, - "parent_index": 5580 + "parent_index": 5582 }, "argument_types": [ { @@ -7279,7 +7427,7 @@ ], "arguments": [ { - "id": 5586, + "id": 5588, "node_type": 24, "kind": 24, "src": { @@ -7288,7 +7436,7 @@ "start": 94681, "end": 94690, "length": 10, - "parent_index": 5584 + "parent_index": 5586 }, "argument_types": [ { @@ -7298,7 +7446,7 @@ ], "arguments": [ { - "id": 5589, + "id": 5591, "node_type": 17, "kind": 49, "value": "0", @@ -7309,7 +7457,7 @@ "start": 94689, "end": 94689, "length": 1, - "parent_index": 5586 + "parent_index": 5588 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7317,11 +7465,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 5587, + "id": 5589, "node_type": 16, "src": { "line": 2601, @@ -7329,11 +7478,11 @@ "start": 94681, "end": 94687, "length": 7, - "parent_index": 5586 + "parent_index": 5588 }, "name": "address", "type_name": { - "id": 5588, + "id": 5590, "node_type": 30, "src": { "line": 2601, @@ -7341,7 +7490,7 @@ "start": 94681, "end": 94687, "length": 7, - "parent_index": 5587 + "parent_index": 5589 }, "name": "address", "state_mutability": 4, @@ -7363,7 +7512,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7372,7 +7522,7 @@ } ], "expression": { - "id": 5585, + "id": 5587, "node_type": 16, "src": { "line": 2601, @@ -7380,7 +7530,7 @@ "start": 94672, "end": 94679, "length": 8, - "parent_index": 5584 + "parent_index": 5586 }, "name": "Strategy", "type_description": { @@ -7389,7 +7539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "Strategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -7404,10 +7555,11 @@ "type_description": { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_uint256]$", "type_string": "index[int_const 20:uint256]" - } + }, + "text": "withdrawalQueue[i]=Strategy(address(0));" }, { - "id": 5590, + "id": 5592, "node_type": 64, "src": { "line": 2602, @@ -7415,11 +7567,11 @@ "start": 94706, "end": 94736, "length": 31, - "parent_index": 5536 + "parent_index": 5538 }, "arguments": [ { - "id": 5591, + "id": 5593, "node_type": 16, "src": { "line": 2602, @@ -7427,20 +7579,21 @@ "start": 94727, "end": 94734, "length": 8, - "parent_index": 5590 + "parent_index": 5592 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5592, + "id": 5594, "node_type": 16, "src": { "line": 2602, @@ -7448,20 +7601,21 @@ "start": 94711, "end": 94725, "length": 15, - "parent_index": 5590 + "parent_index": 5592 }, "name": "StrategyRemoved", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265419", + "type_identifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265421", "type_string": "event BaseVault.StrategyRemoved" }, "overloaded_declarations": [], - "referenced_declaration": 5419, - "is_pure": false + "referenced_declaration": 5421, + "is_pure": false, + "text": "StrategyRemoved" } }, { - "id": 5593, + "id": 5595, "node_type": 24, "kind": 24, "src": { @@ -7470,12 +7624,12 @@ "start": 94750, "end": 94775, "length": 26, - "parent_index": 5549 + "parent_index": 5551 }, "argument_types": [], "arguments": [], "expression": { - "id": 5594, + "id": 5596, "node_type": 16, "src": { "line": 2603, @@ -7483,7 +7637,7 @@ "start": 94750, "end": 94773, "length": 24, - "parent_index": 5593 + "parent_index": 5595 }, "name": "_organizeWithdrawalQueue", "type_description": { @@ -7492,7 +7646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_organizeWithdrawalQueue" }, "type_description": { "type_identifier": "t_function_$", @@ -7500,7 +7655,7 @@ } }, { - "id": 5595, + "id": 5597, "node_type": 24, "kind": 24, "src": { @@ -7509,7 +7664,7 @@ "start": 94838, "end": 94897, "length": 60, - "parent_index": 5549 + "parent_index": 5551 }, "argument_types": [ { @@ -7523,7 +7678,7 @@ ], "arguments": [ { - "id": 5597, + "id": 5599, "node_type": 16, "src": { "line": 2606, @@ -7531,7 +7686,7 @@ "start": 94860, "end": 94867, "length": 8, - "parent_index": 5595 + "parent_index": 5597 }, "name": "strategy", "type_description": { @@ -7540,10 +7695,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "strategy" }, { - "id": 5598, + "id": 5600, "node_type": 24, "kind": 24, "src": { @@ -7552,12 +7708,12 @@ "start": 94870, "end": 94896, "length": 27, - "parent_index": 5595 + "parent_index": 5597 }, "argument_types": [], "arguments": [], "expression": { - "id": 5599, + "id": 5601, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -7569,7 +7725,7 @@ "start": 94870, "end": 94894, "length": 25, - "parent_index": 5598 + "parent_index": 5600 }, "member_location": { "line": 2606, @@ -7577,10 +7733,10 @@ "start": 94879, "end": 94894, "length": 16, - "parent_index": 5599 + "parent_index": 5601 }, "expression": { - "id": 5600, + "id": 5602, "node_type": 16, "src": { "line": 2606, @@ -7588,24 +7744,26 @@ "start": 94870, "end": 94877, "length": 8, - "parent_index": 5599 + "parent_index": 5601 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "member_name": "totalLockedValue", "argument_types": [], - "referenced_declaration": 5095, + "referenced_declaration": 5096, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "strategy.totalLockedValue" }, "type_description": { "type_identifier": "t_function_$", @@ -7614,7 +7772,7 @@ } ], "expression": { - "id": 5596, + "id": 5598, "node_type": 16, "src": { "line": 2606, @@ -7622,7 +7780,7 @@ "start": 94838, "end": 94858, "length": 21, - "parent_index": 5595 + "parent_index": 5597 }, "name": "_withdrawFromStrategy", "type_description": { @@ -7631,7 +7789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawFromStrategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -7639,7 +7798,7 @@ } }, { - "id": 5601, + "id": 5603, "node_type": 74, "src": { "line": 2607, @@ -7647,7 +7806,7 @@ "start": 94912, "end": 94917, "length": 6, - "parent_index": 5549 + "parent_index": 5551 } } ] @@ -7661,7 +7820,7 @@ "virtual": false, "modifiers": [ { - "id": 5532, + "id": 5534, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -7671,12 +7830,12 @@ "start": 94193, "end": 94206, "length": 14, - "parent_index": 5527 + "parent_index": 5529 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5533, + "id": 5535, "name": "onlyGovernance", "node_type": 0, "src": { @@ -7685,14 +7844,14 @@ "start": 94193, "end": 94206, "length": 14, - "parent_index": 5532 + "parent_index": 5534 } } } ], "overrides": [], "parameters": { - "id": 5528, + "id": 5530, "node_type": 43, "src": { "line": 2588, @@ -7700,11 +7859,11 @@ "start": 94165, "end": 94181, "length": 17, - "parent_index": 5527 + "parent_index": 5529 }, "parameters": [ { - "id": 5529, + "id": 5531, "node_type": 44, "src": { "line": 2588, @@ -7712,12 +7871,12 @@ "start": 94165, "end": 94181, "length": 17, - "parent_index": 5528 + "parent_index": 5530 }, - "scope": 5527, + "scope": 5529, "name": "strategy", "type_name": { - "id": 5530, + "id": 5532, "node_type": 69, "src": { "line": 2588, @@ -7725,10 +7884,10 @@ "start": 94165, "end": 94172, "length": 8, - "parent_index": 5529 + "parent_index": 5531 }, "path_node": { - "id": 5531, + "id": 5533, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -7738,7 +7897,7 @@ "start": 94165, "end": 94172, "length": 8, - "parent_index": 5530 + "parent_index": 5532 }, "name_location": { "line": 2588, @@ -7746,10 +7905,10 @@ "start": 94165, "end": 94172, "length": 8, - "parent_index": 5530 + "parent_index": 5532 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -7765,7 +7924,7 @@ ] }, "return_parameters": { - "id": 5534, + "id": 5536, "node_type": 43, "src": { "line": 2588, @@ -7773,21 +7932,22 @@ "start": 94141, "end": 94933, "length": 793, - "parent_index": 5527 + "parent_index": 5529 }, "parameters": [], "parameter_types": [] }, "signature_raw": "removeStrategy()", "signature": "e791d11d", - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_function_$_t_unknown_5527$", - "type_string": "function(unknown_5527)" - } + "type_identifier": "t_function_$_t_unknown_5529$", + "type_string": "function(unknown_5529)" + }, + "text": "functionremoveStrategy(Strategystrategy)externalonlyGovernance{for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){if(strategy!=withdrawalQueue[i]){continue;}strategies[strategy].isActive=false;totalBps-=strategies[strategy].tvlBps;strategies[strategy].tvlBps=0;withdrawalQueue[i]=Strategy(address(0));emitStrategyRemoved(strategy);_organizeWithdrawalQueue();_withdrawFromStrategy(strategy,strategy.totalLockedValue());break;}}" }, { - "id": 5603, + "id": 5605, "name": "updateStrategyAllocations", "node_type": 42, "kind": 41, @@ -7797,7 +7957,7 @@ "start": 95115, "end": 95820, "length": 706, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2616, @@ -7805,10 +7965,10 @@ "start": 95124, "end": 95148, "length": 25, - "parent_index": 5603 + "parent_index": 5605 }, "body": { - "id": 5614, + "id": 5616, "node_type": 46, "kind": 0, "src": { @@ -7817,12 +7977,12 @@ "start": 95264, "end": 95820, "length": 557, - "parent_index": 5603 + "parent_index": 5605 }, "implemented": true, "statements": [ { - "id": 5615, + "id": 5617, "node_type": 79, "src": { "line": 2620, @@ -7830,10 +7990,10 @@ "start": 95274, "end": 95751, "length": 478, - "parent_index": 5614 + "parent_index": 5616 }, "initialiser": { - "id": 5616, + "id": 5618, "node_type": 44, "src": { "line": 2620, @@ -7841,25 +8001,25 @@ "start": 95279, "end": 95292, "length": 14, - "parent_index": 5614 + "parent_index": 5616 }, "assignments": [ - 5617 + 5619 ], "declarations": [ { - "id": 5617, + "id": 5619, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5614, + "scope": 5616, "src": { "line": 2620, "column": 13, "start": 95279, "end": 95287, "length": 9, - "parent_index": 5616 + "parent_index": 5618 }, "name_location": { "line": 2620, @@ -7867,12 +8027,12 @@ "start": 95287, "end": 95287, "length": 1, - "parent_index": 5617 + "parent_index": 5619 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5618, + "id": 5620, "node_type": 30, "src": { "line": 2620, @@ -7880,7 +8040,7 @@ "start": 95279, "end": 95285, "length": 7, - "parent_index": 5617 + "parent_index": 5619 }, "name": "uint256", "referenced_declaration": 0, @@ -7893,7 +8053,7 @@ } ], "initial_value": { - "id": 5619, + "id": 5621, "node_type": 17, "kind": 49, "value": "0", @@ -7904,7 +8064,7 @@ "start": 95291, "end": 95291, "length": 1, - "parent_index": 5616 + "parent_index": 5618 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7912,11 +8072,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5620, + "id": 5622, "is_constant": false, "is_pure": false, "node_type": 19, @@ -7926,11 +8087,11 @@ "start": 95294, "end": 95316, "length": 23, - "parent_index": 5615 + "parent_index": 5617 }, "operator": 9, "left_expression": { - "id": 5621, + "id": 5623, "node_type": 16, "src": { "line": 2620, @@ -7938,7 +8099,7 @@ "start": 95294, "end": 95294, "length": 1, - "parent_index": 5620 + "parent_index": 5622 }, "name": "i", "type_description": { @@ -7947,10 +8108,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5622, + "id": 5624, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -7962,7 +8124,7 @@ "start": 95298, "end": 95316, "length": 19, - "parent_index": 5620 + "parent_index": 5622 }, "member_location": { "line": 2620, @@ -7970,10 +8132,10 @@ "start": 95311, "end": 95316, "length": 6, - "parent_index": 5622 + "parent_index": 5624 }, "expression": { - "id": 5623, + "id": 5625, "node_type": 16, "src": { "line": 2620, @@ -7981,7 +8143,7 @@ "start": 95298, "end": 95309, "length": 12, - "parent_index": 5622 + "parent_index": 5624 }, "name": "strategyList", "type_description": { @@ -7989,15 +8151,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5623, - "is_pure": false + "referenced_declaration": 5625, + "is_pure": false, + "text": "strategyList" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategyList.length" }, "type_description": { "type_identifier": "t_bool", @@ -8005,7 +8169,7 @@ } }, "closure": { - "id": 5624, + "id": 5626, "node_type": 27, "src": { "line": 2620, @@ -8013,11 +8177,11 @@ "start": 95319, "end": 95337, "length": 19, - "parent_index": 5615 + "parent_index": 5617 }, "operator": 11, "left_expression": { - "id": 5625, + "id": 5627, "node_type": 16, "src": { "line": 2620, @@ -8025,7 +8189,7 @@ "start": 95319, "end": 95319, "length": 1, - "parent_index": 5624 + "parent_index": 5626 }, "name": "i", "type_description": { @@ -8034,10 +8198,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5626, + "id": 5628, "node_type": 24, "kind": 24, "src": { @@ -8046,7 +8211,7 @@ "start": 95323, "end": 95337, "length": 15, - "parent_index": 5624 + "parent_index": 5626 }, "argument_types": [ { @@ -8056,7 +8221,7 @@ ], "arguments": [ { - "id": 5628, + "id": 5630, "node_type": 16, "src": { "line": 2620, @@ -8064,7 +8229,7 @@ "start": 95336, "end": 95336, "length": 1, - "parent_index": 5626 + "parent_index": 5628 }, "name": "i", "type_description": { @@ -8073,11 +8238,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5627, + "id": 5629, "node_type": 16, "src": { "line": 2620, @@ -8085,7 +8251,7 @@ "start": 95323, "end": 95334, "length": 12, - "parent_index": 5626 + "parent_index": 5628 }, "name": "uncheckedInc", "type_description": { @@ -8094,7 +8260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -8107,7 +8274,7 @@ } }, "body": { - "id": 5629, + "id": 5631, "node_type": 46, "kind": 0, "src": { @@ -8116,12 +8283,12 @@ "start": 95340, "end": 95751, "length": 412, - "parent_index": 5615 + "parent_index": 5617 }, "implemented": true, "statements": [ { - "id": 5630, + "id": 5632, "node_type": 44, "src": { "line": 2622, @@ -8129,25 +8296,25 @@ "start": 95408, "end": 95443, "length": 36, - "parent_index": 5629 + "parent_index": 5631 }, "assignments": [ - 5631 + 5633 ], "declarations": [ { - "id": 5631, + "id": 5633, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 5629, + "scope": 5631, "src": { "line": 2622, "column": 12, "start": 95408, "end": 95424, "length": 17, - "parent_index": 5630 + "parent_index": 5632 }, "name_location": { "line": 2622, @@ -8155,12 +8322,12 @@ "start": 95417, "end": 95424, "length": 8, - "parent_index": 5631 + "parent_index": 5633 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5632, + "id": 5634, "node_type": 69, "src": { "line": 2622, @@ -8168,20 +8335,20 @@ "start": 95408, "end": 95415, "length": 8, - "parent_index": 5631 + "parent_index": 5633 }, "path_node": { - "id": 5633, + "id": 5635, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2622, "column": 12, "start": 95408, "end": 95415, "length": 8, - "parent_index": 5632 + "parent_index": 5634 }, "name_location": { "line": 2622, @@ -8189,10 +8356,10 @@ "start": 95408, "end": 95415, "length": 8, - "parent_index": 5632 + "parent_index": 5634 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -8202,7 +8369,7 @@ } ], "initial_value": { - "id": 5634, + "id": 5636, "node_type": 22, "src": { "line": 2622, @@ -8210,10 +8377,10 @@ "start": 95428, "end": 95442, "length": 15, - "parent_index": 5630 + "parent_index": 5632 }, "index_expression": { - "id": 5635, + "id": 5637, "node_type": 16, "src": { "line": 2622, @@ -8221,7 +8388,7 @@ "start": 95428, "end": 95439, "length": 12, - "parent_index": 5634 + "parent_index": 5636 }, "name": "strategyList", "type_description": { @@ -8229,11 +8396,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5605, - "is_pure": false + "referenced_declaration": 5607, + "is_pure": false, + "text": "strategyList" }, "base_expression": { - "id": 5636, + "id": 5638, "node_type": 16, "src": { "line": 2622, @@ -8241,7 +8409,7 @@ "start": 95441, "end": 95441, "length": 1, - "parent_index": 5634 + "parent_index": 5636 }, "name": "i", "type_description": { @@ -8250,7 +8418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -8269,7 +8438,7 @@ } }, { - "id": 5637, + "id": 5639, "node_type": 48, "src": { "line": 2625, @@ -8277,10 +8446,10 @@ "start": 95510, "end": 95554, "length": 45, - "parent_index": 5629 + "parent_index": 5631 }, "condition": { - "id": 5638, + "id": 5640, "node_type": 18, "kind": 104, "src": { @@ -8289,7 +8458,7 @@ "start": 95514, "end": 95543, "length": 30, - "parent_index": 5615 + "parent_index": 5617 }, "operator": 31, "prefix": false, @@ -8298,7 +8467,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 5639, + "id": 5641, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -8310,7 +8479,7 @@ "start": 95515, "end": 95543, "length": 29, - "parent_index": 5638 + "parent_index": 5640 }, "member_location": { "line": 2625, @@ -8318,10 +8487,10 @@ "start": 95536, "end": 95543, "length": 8, - "parent_index": 5639 + "parent_index": 5641 }, "expression": { - "id": 5640, + "id": 5642, "node_type": 22, "src": { "line": 2625, @@ -8329,10 +8498,10 @@ "start": 95515, "end": 95534, "length": 20, - "parent_index": 5639 + "parent_index": 5641 }, "index_expression": { - "id": 5641, + "id": 5643, "node_type": 16, "src": { "line": 2625, @@ -8340,19 +8509,20 @@ "start": 95515, "end": 95524, "length": 10, - "parent_index": 5640 + "parent_index": 5642 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5642, + "id": 5644, "node_type": 16, "src": { "line": 2625, @@ -8360,7 +8530,7 @@ "start": 95526, "end": 95533, "length": 8, - "parent_index": 5640 + "parent_index": 5642 }, "name": "strategy", "type_description": { @@ -8368,12 +8538,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5630, - "is_pure": false + "referenced_declaration": 5632, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -8382,24 +8553,25 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "isActive", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].isActive" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "body": { - "id": 5643, + "id": 5645, "node_type": 46, "kind": 0, "src": { @@ -8414,7 +8586,7 @@ } }, { - "id": 5644, + "id": 5646, "node_type": 27, "src": { "line": 2628, @@ -8422,10 +8594,10 @@ "start": 95599, "end": 95638, "length": 40, - "parent_index": 5629 + "parent_index": 5631 }, "expression": { - "id": 5645, + "id": 5647, "node_type": 27, "src": { "line": 2628, @@ -8433,11 +8605,11 @@ "start": 95599, "end": 95637, "length": 39, - "parent_index": 5644 + "parent_index": 5646 }, "operator": 14, "left_expression": { - "id": 5646, + "id": 5648, "node_type": 16, "src": { "line": 2628, @@ -8445,7 +8617,7 @@ "start": 95599, "end": 95606, "length": 8, - "parent_index": 5645 + "parent_index": 5647 }, "name": "totalBps", "type_description": { @@ -8453,11 +8625,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5410, - "is_pure": false + "referenced_declaration": 5412, + "is_pure": false, + "text": "totalBps" }, "right_expression": { - "id": 5647, + "id": 5649, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -8469,7 +8642,7 @@ "start": 95611, "end": 95637, "length": 27, - "parent_index": 5645 + "parent_index": 5647 }, "member_location": { "line": 2628, @@ -8477,10 +8650,10 @@ "start": 95632, "end": 95637, "length": 6, - "parent_index": 5647 + "parent_index": 5649 }, "expression": { - "id": 5648, + "id": 5650, "node_type": 22, "src": { "line": 2628, @@ -8488,10 +8661,10 @@ "start": 95611, "end": 95630, "length": 20, - "parent_index": 5647 + "parent_index": 5649 }, "index_expression": { - "id": 5649, + "id": 5651, "node_type": 16, "src": { "line": 2628, @@ -8499,19 +8672,20 @@ "start": 95611, "end": 95620, "length": 10, - "parent_index": 5648 + "parent_index": 5650 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5650, + "id": 5652, "node_type": 16, "src": { "line": 2628, @@ -8519,7 +8693,7 @@ "start": 95622, "end": 95629, "length": 8, - "parent_index": 5648 + "parent_index": 5650 }, "name": "strategy", "type_description": { @@ -8527,12 +8701,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5630, - "is_pure": false + "referenced_declaration": 5632, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -8541,16 +8716,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -8560,10 +8736,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalBps-=strategies[strategy].tvlBps;" }, { - "id": 5651, + "id": 5653, "node_type": 24, "kind": 24, "src": { @@ -8572,7 +8749,7 @@ "start": 95652, "end": 95682, "length": 31, - "parent_index": 5629 + "parent_index": 5631 }, "argument_types": [ { @@ -8582,7 +8759,7 @@ ], "arguments": [ { - "id": 5653, + "id": 5655, "node_type": 22, "src": { "line": 2629, @@ -8590,10 +8767,10 @@ "start": 95668, "end": 95681, "length": 14, - "parent_index": 5651 + "parent_index": 5653 }, "index_expression": { - "id": 5654, + "id": 5656, "node_type": 16, "src": { "line": 2629, @@ -8601,7 +8778,7 @@ "start": 95668, "end": 95678, "length": 11, - "parent_index": 5653 + "parent_index": 5655 }, "name": "strategyBps", "type_description": { @@ -8609,11 +8786,12 @@ "type_string": "uint16" }, "overloaded_declarations": [], - "referenced_declaration": 5608, - "is_pure": false + "referenced_declaration": 5610, + "is_pure": false, + "text": "strategyBps" }, "base_expression": { - "id": 5655, + "id": 5657, "node_type": 16, "src": { "line": 2629, @@ -8621,7 +8799,7 @@ "start": 95680, "end": 95680, "length": 1, - "parent_index": 5653 + "parent_index": 5655 }, "name": "i", "type_description": { @@ -8630,7 +8808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -8649,7 +8828,7 @@ } ], "expression": { - "id": 5652, + "id": 5654, "node_type": 16, "src": { "line": 2629, @@ -8657,7 +8836,7 @@ "start": 95652, "end": 95666, "length": 15, - "parent_index": 5651 + "parent_index": 5653 }, "name": "_increaseTVLBps", "type_description": { @@ -8666,7 +8845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_increaseTVLBps" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_uint16]$_t_uint256]$", @@ -8674,7 +8854,7 @@ } }, { - "id": 5656, + "id": 5658, "node_type": 27, "src": { "line": 2630, @@ -8682,10 +8862,10 @@ "start": 95697, "end": 95741, "length": 45, - "parent_index": 5629 + "parent_index": 5631 }, "expression": { - "id": 5657, + "id": 5659, "node_type": 27, "src": { "line": 2630, @@ -8693,11 +8873,11 @@ "start": 95697, "end": 95740, "length": 44, - "parent_index": 5656 + "parent_index": 5658 }, "operator": 11, "left_expression": { - "id": 5658, + "id": 5660, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -8709,7 +8889,7 @@ "start": 95697, "end": 95723, "length": 27, - "parent_index": 5657 + "parent_index": 5659 }, "member_location": { "line": 2630, @@ -8717,10 +8897,10 @@ "start": 95718, "end": 95723, "length": 6, - "parent_index": 5658 + "parent_index": 5660 }, "expression": { - "id": 5659, + "id": 5661, "node_type": 22, "src": { "line": 2630, @@ -8728,10 +8908,10 @@ "start": 95697, "end": 95716, "length": 20, - "parent_index": 5658 + "parent_index": 5660 }, "index_expression": { - "id": 5660, + "id": 5662, "node_type": 16, "src": { "line": 2630, @@ -8739,19 +8919,20 @@ "start": 95697, "end": 95706, "length": 10, - "parent_index": 5659 + "parent_index": 5661 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5661, + "id": 5663, "node_type": 16, "src": { "line": 2630, @@ -8759,7 +8940,7 @@ "start": 95708, "end": 95715, "length": 8, - "parent_index": 5659 + "parent_index": 5661 }, "name": "strategy", "type_description": { @@ -8767,12 +8948,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5630, - "is_pure": false + "referenced_declaration": 5632, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -8781,19 +8963,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps" }, "right_expression": { - "id": 5662, + "id": 5664, "node_type": 22, "src": { "line": 2630, @@ -8801,10 +8984,10 @@ "start": 95727, "end": 95740, "length": 14, - "parent_index": 5657 + "parent_index": 5659 }, "index_expression": { - "id": 5663, + "id": 5665, "node_type": 16, "src": { "line": 2630, @@ -8812,7 +8995,7 @@ "start": 95727, "end": 95737, "length": 11, - "parent_index": 5662 + "parent_index": 5664 }, "name": "strategyBps", "type_description": { @@ -8820,11 +9003,12 @@ "type_string": "uint16" }, "overloaded_declarations": [], - "referenced_declaration": 5608, - "is_pure": false + "referenced_declaration": 5610, + "is_pure": false, + "text": "strategyBps" }, "base_expression": { - "id": 5664, + "id": 5666, "node_type": 16, "src": { "line": 2630, @@ -8832,7 +9016,7 @@ "start": 95739, "end": 95739, "length": 1, - "parent_index": 5662 + "parent_index": 5664 }, "name": "i", "type_description": { @@ -8841,7 +9025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -8859,20 +9044,21 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps=strategyBps[i];" } ] } }, { - "id": 5665, + "id": 5667, "node_type": 64, "src": { "line": 2632, @@ -8880,11 +9066,11 @@ "start": 95761, "end": 95814, "length": 54, - "parent_index": 5603 + "parent_index": 5605 }, "arguments": [ { - "id": 5666, + "id": 5668, "node_type": 16, "src": { "line": 2632, @@ -8892,7 +9078,7 @@ "start": 95788, "end": 95799, "length": 12, - "parent_index": 5665 + "parent_index": 5667 }, "name": "strategyList", "type_description": { @@ -8900,11 +9086,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5666, - "is_pure": false + "referenced_declaration": 5668, + "is_pure": false, + "text": "strategyList" }, { - "id": 5667, + "id": 5669, "node_type": 16, "src": { "line": 2632, @@ -8912,7 +9099,7 @@ "start": 95802, "end": 95812, "length": 11, - "parent_index": 5665 + "parent_index": 5667 }, "name": "strategyBps", "type_description": { @@ -8920,12 +9107,13 @@ "type_string": "uint16" }, "overloaded_declarations": [], - "referenced_declaration": 5667, - "is_pure": false + "referenced_declaration": 5669, + "is_pure": false, + "text": "strategyBps" } ], "expression": { - "id": 5668, + "id": 5670, "node_type": 16, "src": { "line": 2632, @@ -8933,16 +9121,17 @@ "start": 95766, "end": 95786, "length": 21, - "parent_index": 5665 + "parent_index": 5667 }, "name": "StrategyAllocsUpdated", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267954", + "type_identifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267958", "type_string": "event Global.StrategyAllocsUpdated" }, "overloaded_declarations": [], - "referenced_declaration": 7954, - "is_pure": false + "referenced_declaration": 7958, + "is_pure": false, + "text": "StrategyAllocsUpdated" } } ] @@ -8953,7 +9142,7 @@ "virtual": false, "modifiers": [ { - "id": 5610, + "id": 5612, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -8963,7 +9152,7 @@ "start": 95240, "end": 95258, "length": 19, - "parent_index": 5603 + "parent_index": 5605 }, "argument_types": [ { @@ -8973,7 +9162,7 @@ ], "arguments": [ { - "id": 5612, + "id": 5614, "node_type": 16, "src": { "line": 2618, @@ -8981,7 +9170,7 @@ "start": 95249, "end": 95257, "length": 9, - "parent_index": 5610 + "parent_index": 5612 }, "name": "HARVESTER", "type_description": { @@ -8989,12 +9178,13 @@ "type_string": "function(string memory)" }, "overloaded_declarations": [], - "referenced_declaration": 5323, - "is_pure": false + "referenced_declaration": 5324, + "is_pure": false, + "text": "HARVESTER" } ], "modifier_name": { - "id": 5611, + "id": 5613, "name": "onlyRole", "node_type": 0, "src": { @@ -9003,14 +9193,14 @@ "start": 95240, "end": 95247, "length": 8, - "parent_index": 5610 + "parent_index": 5612 } } } ], "overrides": [], "parameters": { - "id": 5604, + "id": 5606, "node_type": 43, "src": { "line": 2616, @@ -9018,11 +9208,11 @@ "start": 95150, "end": 95212, "length": 63, - "parent_index": 5603 + "parent_index": 5605 }, "parameters": [ { - "id": 5605, + "id": 5607, "node_type": 44, "src": { "line": 2616, @@ -9030,12 +9220,12 @@ "start": 95150, "end": 95181, "length": 32, - "parent_index": 5604 + "parent_index": 5606 }, - "scope": 5603, + "scope": 5605, "name": "strategyList", "type_name": { - "id": 5606, + "id": 5608, "node_type": 69, "src": { "line": 2616, @@ -9043,24 +9233,24 @@ "start": 95150, "end": 95157, "length": 8, - "parent_index": 5605 + "parent_index": 5607 }, "name": "Strategy", "path_node": { - "id": 5607, + "id": 5609, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5585, + "referenced_declaration": 5587, "src": { "line": 2616, "column": 39, "start": 95150, "end": 95157, "length": 8, - "parent_index": 5606 + "parent_index": 5608 } }, - "referenced_declaration": 5585, + "referenced_declaration": 5587, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -9075,7 +9265,7 @@ } }, { - "id": 5608, + "id": 5610, "node_type": 44, "src": { "line": 2616, @@ -9083,12 +9273,12 @@ "start": 95184, "end": 95212, "length": 29, - "parent_index": 5604 + "parent_index": 5606 }, - "scope": 5603, + "scope": 5605, "name": "strategyBps", "type_name": { - "id": 5609, + "id": 5611, "node_type": 16, "src": { "line": 2616, @@ -9096,7 +9286,7 @@ "start": 95184, "end": 95189, "length": 6, - "parent_index": 5608 + "parent_index": 5610 }, "name": "uint16", "referenced_declaration": 0, @@ -9126,7 +9316,7 @@ ] }, "return_parameters": { - "id": 5613, + "id": 5615, "node_type": 43, "src": { "line": 2616, @@ -9134,21 +9324,22 @@ "start": 95115, "end": 95820, "length": 706, - "parent_index": 5603 + "parent_index": 5605 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "updateStrategyAllocations(Strategy, uint16)", - "signature": "fbba262c", - "scope": 5193, + "signature_raw": "updateStrategyAllocations(Strategy,uint16)", + "signature": "62133061", + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint16$", "type_string": "function(function(),uint16)" - } + }, + "text": "functionupdateStrategyAllocations(Strategy[]calldatastrategyList,uint16[]calldatastrategyBps)externalonlyRole(HARVESTER){for(uint256i=0;i\u003cstrategyList.length;i=uncheckedInc(i)){Strategystrategy=strategyList[i];if(!strategies[strategy].isActive)continue;totalBps-=strategies[strategy].tvlBps;_increaseTVLBps(strategyBps[i]);strategies[strategy].tvlBps=strategyBps[i];}emitStrategyAllocsUpdated(strategyList,strategyBps);}" }, { - "id": 5670, + "id": 5672, "node_type": 57, "src": { "line": 2640, @@ -9156,10 +9347,10 @@ "start": 96027, "end": 96101, "length": 75, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5671, + "id": 5673, "node_type": 43, "src": { "line": 2640, @@ -9167,11 +9358,11 @@ "start": 96027, "end": 96101, "length": 75, - "parent_index": 5670 + "parent_index": 5672 }, "parameters": [ { - "id": 5672, + "id": 5674, "node_type": 44, "src": { "line": 2640, @@ -9179,12 +9370,12 @@ "start": 96055, "end": 96077, "length": 23, - "parent_index": 5671 + "parent_index": 5673 }, - "scope": 5670, + "scope": 5672, "name": "strategyList", "type_name": { - "id": 5673, + "id": 5675, "node_type": 69, "src": { "line": 2640, @@ -9192,24 +9383,24 @@ "start": 96055, "end": 96062, "length": 8, - "parent_index": 5672 + "parent_index": 5674 }, "name": "Strategy", "path_node": { - "id": 5674, + "id": 5676, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2640, "column": 32, "start": 96055, "end": 96062, "length": 8, - "parent_index": 5673 + "parent_index": 5675 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -9224,7 +9415,7 @@ } }, { - "id": 5675, + "id": 5677, "node_type": 44, "src": { "line": 2640, @@ -9232,12 +9423,12 @@ "start": 96080, "end": 96099, "length": 20, - "parent_index": 5671 + "parent_index": 5673 }, - "scope": 5670, + "scope": 5672, "name": "strategyBps", "type_name": { - "id": 5676, + "id": 5678, "node_type": 16, "src": { "line": 2640, @@ -9245,7 +9436,7 @@ "start": 96080, "end": 96085, "length": 6, - "parent_index": 5675 + "parent_index": 5677 }, "name": "uint16", "referenced_declaration": 0, @@ -9277,12 +9468,12 @@ "name": "StrategyAllocsUpdated", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyAllocsUpdated_\u00265670", + "type_identifier": "t_event\u0026_BaseVault_StrategyAllocsUpdated_\u00265672", "type_string": "event BaseVault.StrategyAllocsUpdated" } }, { - "id": 5678, + "id": 5680, "node_type": 57, "src": { "line": 2651, @@ -9290,10 +9481,10 @@ "start": 96501, "end": 96565, "length": 65, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5679, + "id": 5681, "node_type": 43, "src": { "line": 2651, @@ -9301,11 +9492,11 @@ "start": 96501, "end": 96565, "length": 65, - "parent_index": 5678 + "parent_index": 5680 }, "parameters": [ { - "id": 5680, + "id": 5682, "node_type": 44, "src": { "line": 2651, @@ -9313,12 +9504,12 @@ "start": 96523, "end": 96547, "length": 25, - "parent_index": 5679 + "parent_index": 5681 }, - "scope": 5678, + "scope": 5680, "name": "strategy", "type_name": { - "id": 5681, + "id": 5683, "node_type": 69, "src": { "line": 2651, @@ -9326,20 +9517,20 @@ "start": 96523, "end": 96530, "length": 8, - "parent_index": 5680 + "parent_index": 5682 }, "path_node": { - "id": 5682, + "id": 5684, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2651, "column": 26, "start": 96523, "end": 96530, "length": 8, - "parent_index": 5681 + "parent_index": 5683 }, "name_location": { "line": 2651, @@ -9347,10 +9538,10 @@ "start": 96523, "end": 96530, "length": 8, - "parent_index": 5681 + "parent_index": 5683 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -9366,7 +9557,7 @@ "indexed": true }, { - "id": 5683, + "id": 5685, "node_type": 44, "src": { "line": 2651, @@ -9374,12 +9565,12 @@ "start": 96550, "end": 96563, "length": 14, - "parent_index": 5679 + "parent_index": 5681 }, - "scope": 5678, + "scope": 5680, "name": "assets", "type_name": { - "id": 5684, + "id": 5686, "node_type": 30, "src": { "line": 2651, @@ -9387,7 +9578,7 @@ "start": 96550, "end": 96556, "length": 7, - "parent_index": 5683 + "parent_index": 5685 }, "name": "uint256", "referenced_declaration": 0, @@ -9419,12 +9610,12 @@ "name": "StrategyDeposit", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265678", + "type_identifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265680", "type_string": "event BaseVault.StrategyDeposit" } }, { - "id": 5686, + "id": 5688, "node_type": 57, "src": { "line": 2659, @@ -9432,10 +9623,10 @@ "start": 96889, "end": 96989, "length": 101, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5687, + "id": 5689, "node_type": 43, "src": { "line": 2659, @@ -9443,11 +9634,11 @@ "start": 96889, "end": 96989, "length": 101, - "parent_index": 5686 + "parent_index": 5688 }, "parameters": [ { - "id": 5688, + "id": 5690, "node_type": 44, "src": { "line": 2659, @@ -9455,12 +9646,12 @@ "start": 96914, "end": 96938, "length": 25, - "parent_index": 5687 + "parent_index": 5689 }, - "scope": 5686, + "scope": 5688, "name": "strategy", "type_name": { - "id": 5689, + "id": 5691, "node_type": 69, "src": { "line": 2659, @@ -9468,20 +9659,20 @@ "start": 96914, "end": 96921, "length": 8, - "parent_index": 5688 + "parent_index": 5690 }, "path_node": { - "id": 5690, + "id": 5692, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2659, "column": 29, "start": 96914, "end": 96921, "length": 8, - "parent_index": 5689 + "parent_index": 5691 }, "name_location": { "line": 2659, @@ -9489,10 +9680,10 @@ "start": 96914, "end": 96921, "length": 8, - "parent_index": 5689 + "parent_index": 5691 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -9508,7 +9699,7 @@ "indexed": true }, { - "id": 5691, + "id": 5693, "node_type": 44, "src": { "line": 2659, @@ -9516,12 +9707,12 @@ "start": 96941, "end": 96963, "length": 23, - "parent_index": 5687 + "parent_index": 5689 }, - "scope": 5686, + "scope": 5688, "name": "assetsRequested", "type_name": { - "id": 5692, + "id": 5694, "node_type": 30, "src": { "line": 2659, @@ -9529,7 +9720,7 @@ "start": 96941, "end": 96947, "length": 7, - "parent_index": 5691 + "parent_index": 5693 }, "name": "uint256", "referenced_declaration": 0, @@ -9547,7 +9738,7 @@ } }, { - "id": 5693, + "id": 5695, "node_type": 44, "src": { "line": 2659, @@ -9555,12 +9746,12 @@ "start": 96966, "end": 96987, "length": 22, - "parent_index": 5687 + "parent_index": 5689 }, - "scope": 5686, + "scope": 5688, "name": "assetsReceived", "type_name": { - "id": 5694, + "id": 5696, "node_type": 30, "src": { "line": 2659, @@ -9568,7 +9759,7 @@ "start": 96966, "end": 96972, "length": 7, - "parent_index": 5693 + "parent_index": 5695 }, "name": "uint256", "referenced_declaration": 0, @@ -9604,12 +9795,12 @@ "name": "StrategyWithdrawal", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265686", + "type_identifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265688", "type_string": "event BaseVault.StrategyWithdrawal" } }, { - "id": 5696, + "id": 5698, "name": "_depositIntoStrategies", "node_type": 42, "kind": 41, @@ -9619,7 +9810,7 @@ "start": 97107, "end": 97541, "length": 435, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2662, @@ -9627,10 +9818,10 @@ "start": 97116, "end": 97137, "length": 22, - "parent_index": 5696 + "parent_index": 5698 }, "body": { - "id": 5701, + "id": 5703, "node_type": 46, "kind": 0, "src": { @@ -9639,12 +9830,12 @@ "start": 97169, "end": 97541, "length": 373, - "parent_index": 5696 + "parent_index": 5698 }, "implemented": true, "statements": [ { - "id": 5702, + "id": 5704, "node_type": 79, "src": { "line": 2664, @@ -9652,10 +9843,10 @@ "start": 97225, "end": 97535, "length": 311, - "parent_index": 5701 + "parent_index": 5703 }, "initialiser": { - "id": 5703, + "id": 5705, "node_type": 44, "src": { "line": 2664, @@ -9663,25 +9854,25 @@ "start": 97230, "end": 97243, "length": 14, - "parent_index": 5701 + "parent_index": 5703 }, "assignments": [ - 5704 + 5706 ], "declarations": [ { - "id": 5704, + "id": 5706, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5701, + "scope": 5703, "src": { "line": 2664, "column": 13, "start": 97230, "end": 97238, "length": 9, - "parent_index": 5703 + "parent_index": 5705 }, "name_location": { "line": 2664, @@ -9689,12 +9880,12 @@ "start": 97238, "end": 97238, "length": 1, - "parent_index": 5704 + "parent_index": 5706 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5705, + "id": 5707, "node_type": 30, "src": { "line": 2664, @@ -9702,7 +9893,7 @@ "start": 97230, "end": 97236, "length": 7, - "parent_index": 5704 + "parent_index": 5706 }, "name": "uint256", "referenced_declaration": 0, @@ -9715,7 +9906,7 @@ } ], "initial_value": { - "id": 5706, + "id": 5708, "node_type": 17, "kind": 49, "value": "0", @@ -9726,7 +9917,7 @@ "start": 97242, "end": 97242, "length": 1, - "parent_index": 5703 + "parent_index": 5705 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -9734,11 +9925,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5707, + "id": 5709, "is_constant": false, "is_pure": false, "node_type": 19, @@ -9748,11 +9940,11 @@ "start": 97245, "end": 97262, "length": 18, - "parent_index": 5702 + "parent_index": 5704 }, "operator": 9, "left_expression": { - "id": 5708, + "id": 5710, "node_type": 16, "src": { "line": 2664, @@ -9760,7 +9952,7 @@ "start": 97245, "end": 97245, "length": 1, - "parent_index": 5707 + "parent_index": 5709 }, "name": "i", "type_description": { @@ -9769,10 +9961,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5709, + "id": 5711, "node_type": 16, "src": { "line": 2664, @@ -9780,7 +9973,7 @@ "start": 97249, "end": 97262, "length": 14, - "parent_index": 5707 + "parent_index": 5709 }, "name": "MAX_STRATEGIES", "type_description": { @@ -9788,8 +9981,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -9797,7 +9991,7 @@ } }, "closure": { - "id": 5710, + "id": 5712, "node_type": 27, "src": { "line": 2664, @@ -9805,11 +9999,11 @@ "start": 97265, "end": 97283, "length": 19, - "parent_index": 5702 + "parent_index": 5704 }, "operator": 11, "left_expression": { - "id": 5711, + "id": 5713, "node_type": 16, "src": { "line": 2664, @@ -9817,7 +10011,7 @@ "start": 97265, "end": 97265, "length": 1, - "parent_index": 5710 + "parent_index": 5712 }, "name": "i", "type_description": { @@ -9826,10 +10020,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5712, + "id": 5714, "node_type": 24, "kind": 24, "src": { @@ -9838,7 +10033,7 @@ "start": 97269, "end": 97283, "length": 15, - "parent_index": 5710 + "parent_index": 5712 }, "argument_types": [ { @@ -9848,7 +10043,7 @@ ], "arguments": [ { - "id": 5714, + "id": 5716, "node_type": 16, "src": { "line": 2664, @@ -9856,7 +10051,7 @@ "start": 97282, "end": 97282, "length": 1, - "parent_index": 5712 + "parent_index": 5714 }, "name": "i", "type_description": { @@ -9865,11 +10060,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5713, + "id": 5715, "node_type": 16, "src": { "line": 2664, @@ -9877,7 +10073,7 @@ "start": 97269, "end": 97280, "length": 12, - "parent_index": 5712 + "parent_index": 5714 }, "name": "uncheckedInc", "type_description": { @@ -9886,7 +10082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -9899,7 +10096,7 @@ } }, "body": { - "id": 5715, + "id": 5717, "node_type": 46, "kind": 0, "src": { @@ -9908,12 +10105,12 @@ "start": 97286, "end": 97535, "length": 250, - "parent_index": 5702 + "parent_index": 5704 }, "implemented": true, "statements": [ { - "id": 5716, + "id": 5718, "node_type": 44, "src": { "line": 2665, @@ -9921,25 +10118,25 @@ "start": 97300, "end": 97338, "length": 39, - "parent_index": 5715 + "parent_index": 5717 }, "assignments": [ - 5717 + 5719 ], "declarations": [ { - "id": 5717, + "id": 5719, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 5715, + "scope": 5717, "src": { "line": 2665, "column": 12, "start": 97300, "end": 97316, "length": 17, - "parent_index": 5716 + "parent_index": 5718 }, "name_location": { "line": 2665, @@ -9947,12 +10144,12 @@ "start": 97309, "end": 97316, "length": 8, - "parent_index": 5717 + "parent_index": 5719 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5718, + "id": 5720, "node_type": 69, "src": { "line": 2665, @@ -9960,20 +10157,20 @@ "start": 97300, "end": 97307, "length": 8, - "parent_index": 5717 + "parent_index": 5719 }, "path_node": { - "id": 5719, + "id": 5721, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2665, "column": 12, "start": 97300, "end": 97307, "length": 8, - "parent_index": 5718 + "parent_index": 5720 }, "name_location": { "line": 2665, @@ -9981,10 +10178,10 @@ "start": 97300, "end": 97307, "length": 8, - "parent_index": 5718 + "parent_index": 5720 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -9994,7 +10191,7 @@ } ], "initial_value": { - "id": 5720, + "id": 5722, "node_type": 22, "src": { "line": 2665, @@ -10002,10 +10199,10 @@ "start": 97320, "end": 97337, "length": 18, - "parent_index": 5716 + "parent_index": 5718 }, "index_expression": { - "id": 5721, + "id": 5723, "node_type": 16, "src": { "line": 2665, @@ -10013,7 +10210,7 @@ "start": 97320, "end": 97334, "length": 15, - "parent_index": 5720 + "parent_index": 5722 }, "name": "withdrawalQueue", "type_description": { @@ -10021,11 +10218,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5722, + "id": 5724, "node_type": 16, "src": { "line": 2665, @@ -10033,7 +10231,7 @@ "start": 97336, "end": 97336, "length": 1, - "parent_index": 5720 + "parent_index": 5722 }, "name": "i", "type_description": { @@ -10042,7 +10240,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -10061,7 +10260,7 @@ } }, { - "id": 5723, + "id": 5725, "node_type": 48, "src": { "line": 2666, @@ -10069,10 +10268,10 @@ "start": 97352, "end": 97426, "length": 75, - "parent_index": 5715 + "parent_index": 5717 }, "condition": { - "id": 5724, + "id": 5726, "is_constant": false, "is_pure": false, "node_type": 19, @@ -10082,11 +10281,11 @@ "start": 97356, "end": 97386, "length": 31, - "parent_index": 5723 + "parent_index": 5725 }, "operator": 11, "left_expression": { - "id": 5725, + "id": 5727, "node_type": 24, "kind": 24, "src": { @@ -10095,7 +10294,7 @@ "start": 97356, "end": 97372, "length": 17, - "parent_index": 5724 + "parent_index": 5726 }, "argument_types": [ { @@ -10105,7 +10304,7 @@ ], "arguments": [ { - "id": 5728, + "id": 5730, "node_type": 16, "src": { "line": 2666, @@ -10113,7 +10312,7 @@ "start": 97364, "end": 97371, "length": 8, - "parent_index": 5725 + "parent_index": 5727 }, "name": "strategy", "type_description": { @@ -10121,12 +10320,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5716, - "is_pure": false + "referenced_declaration": 5718, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5726, + "id": 5728, "node_type": 16, "src": { "line": 2666, @@ -10134,11 +10334,11 @@ "start": 97356, "end": 97362, "length": 7, - "parent_index": 5725 + "parent_index": 5727 }, "name": "address", "type_name": { - "id": 5727, + "id": 5729, "node_type": 30, "src": { "line": 2666, @@ -10146,7 +10346,7 @@ "start": 97356, "end": 97362, "length": 7, - "parent_index": 5726 + "parent_index": 5728 }, "name": "address", "state_mutability": 4, @@ -10168,7 +10368,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -10176,7 +10377,7 @@ } }, "right_expression": { - "id": 5729, + "id": 5731, "node_type": 24, "kind": 24, "src": { @@ -10185,7 +10386,7 @@ "start": 97377, "end": 97386, "length": 10, - "parent_index": 5724 + "parent_index": 5726 }, "argument_types": [ { @@ -10195,7 +10396,7 @@ ], "arguments": [ { - "id": 5732, + "id": 5734, "node_type": 17, "kind": 49, "value": "0", @@ -10206,7 +10407,7 @@ "start": 97385, "end": 97385, "length": 1, - "parent_index": 5729 + "parent_index": 5731 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -10214,11 +10415,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 5730, + "id": 5732, "node_type": 16, "src": { "line": 2666, @@ -10226,11 +10428,11 @@ "start": 97377, "end": 97383, "length": 7, - "parent_index": 5729 + "parent_index": 5731 }, "name": "address", "type_name": { - "id": 5731, + "id": 5733, "node_type": 30, "src": { "line": 2666, @@ -10238,7 +10440,7 @@ "start": 97377, "end": 97383, "length": 7, - "parent_index": 5730 + "parent_index": 5732 }, "name": "address", "state_mutability": 4, @@ -10260,7 +10462,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10273,7 +10476,7 @@ } }, "body": { - "id": 5733, + "id": 5735, "node_type": 46, "kind": 0, "src": { @@ -10282,12 +10485,12 @@ "start": 97389, "end": 97426, "length": 38, - "parent_index": 5702 + "parent_index": 5704 }, "implemented": true, "statements": [ { - "id": 5734, + "id": 5736, "node_type": 74, "src": { "line": 2667, @@ -10295,14 +10498,14 @@ "start": 97407, "end": 97412, "length": 6, - "parent_index": 5733 + "parent_index": 5735 } } ] } }, { - "id": 5735, + "id": 5737, "node_type": 24, "kind": 24, "src": { @@ -10311,7 +10514,7 @@ "start": 97440, "end": 97524, "length": 85, - "parent_index": 5715 + "parent_index": 5717 }, "argument_types": [ { @@ -10325,7 +10528,7 @@ ], "arguments": [ { - "id": 5737, + "id": 5739, "node_type": 16, "src": { "line": 2669, @@ -10333,7 +10536,7 @@ "start": 97461, "end": 97468, "length": 8, - "parent_index": 5735 + "parent_index": 5737 }, "name": "strategy", "type_description": { @@ -10341,11 +10544,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5716, - "is_pure": false + "referenced_declaration": 5718, + "is_pure": false, + "text": "strategy" }, { - "id": 5738, + "id": 5740, "is_constant": false, "is_pure": false, "node_type": 19, @@ -10355,11 +10559,11 @@ "start": 97471, "end": 97523, "length": 53, - "parent_index": 5735 + "parent_index": 5737 }, "operator": 4, "left_expression": { - "id": 5739, + "id": 5741, "node_type": 60, "src": { "line": 2669, @@ -10367,13 +10571,13 @@ "start": 97471, "end": 97513, "length": 43, - "parent_index": 5738 + "parent_index": 5740 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 5740, + "id": 5742, "is_constant": false, "is_pure": false, "node_type": 19, @@ -10383,11 +10587,11 @@ "start": 97472, "end": 97512, "length": 41, - "parent_index": 5739 + "parent_index": 5741 }, "operator": 3, "left_expression": { - "id": 5741, + "id": 5743, "node_type": 16, "src": { "line": 2669, @@ -10395,7 +10599,7 @@ "start": 97472, "end": 97482, "length": 11, - "parent_index": 5740 + "parent_index": 5742 }, "name": "assetAmount", "type_description": { @@ -10403,11 +10607,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5698, - "is_pure": false + "referenced_declaration": 5700, + "is_pure": false, + "text": "assetAmount" }, "right_expression": { - "id": 5742, + "id": 5744, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -10419,7 +10624,7 @@ "start": 97486, "end": 97512, "length": 27, - "parent_index": 5740 + "parent_index": 5742 }, "member_location": { "line": 2669, @@ -10427,10 +10632,10 @@ "start": 97507, "end": 97512, "length": 6, - "parent_index": 5742 + "parent_index": 5744 }, "expression": { - "id": 5743, + "id": 5745, "node_type": 22, "src": { "line": 2669, @@ -10438,10 +10643,10 @@ "start": 97486, "end": 97505, "length": 20, - "parent_index": 5742 + "parent_index": 5744 }, "index_expression": { - "id": 5744, + "id": 5746, "node_type": 16, "src": { "line": 2669, @@ -10449,19 +10654,20 @@ "start": 97486, "end": 97495, "length": 10, - "parent_index": 5743 + "parent_index": 5745 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5745, + "id": 5747, "node_type": 16, "src": { "line": 2669, @@ -10469,7 +10675,7 @@ "start": 97497, "end": 97504, "length": 8, - "parent_index": 5743 + "parent_index": 5745 }, "name": "strategy", "type_description": { @@ -10477,12 +10683,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5716, - "is_pure": false + "referenced_declaration": 5718, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -10491,16 +10698,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -10514,7 +10722,7 @@ } }, "right_expression": { - "id": 5746, + "id": 5748, "node_type": 16, "src": { "line": 2669, @@ -10522,7 +10730,7 @@ "start": 97517, "end": 97523, "length": 7, - "parent_index": 5738 + "parent_index": 5740 }, "name": "MAX_BPS", "type_description": { @@ -10530,8 +10738,9 @@ "type_string": "int_const 10_000" }, "overloaded_declarations": [], - "referenced_declaration": 5406, - "is_pure": false + "referenced_declaration": 5408, + "is_pure": false, + "text": "MAX_BPS" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -10540,7 +10749,7 @@ } ], "expression": { - "id": 5736, + "id": 5738, "node_type": 16, "src": { "line": 2669, @@ -10548,7 +10757,7 @@ "start": 97440, "end": 97459, "length": 20, - "parent_index": 5735 + "parent_index": 5737 }, "name": "_depositIntoStrategy", "type_description": { @@ -10557,7 +10766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_depositIntoStrategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_uint256$", @@ -10576,7 +10786,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5697, + "id": 5699, "node_type": 43, "src": { "line": 2662, @@ -10584,11 +10794,11 @@ "start": 97139, "end": 97157, "length": 19, - "parent_index": 5696 + "parent_index": 5698 }, "parameters": [ { - "id": 5698, + "id": 5700, "node_type": 44, "src": { "line": 2662, @@ -10596,12 +10806,12 @@ "start": 97139, "end": 97157, "length": 19, - "parent_index": 5697 + "parent_index": 5699 }, - "scope": 5696, + "scope": 5698, "name": "assetAmount", "type_name": { - "id": 5699, + "id": 5701, "node_type": 30, "src": { "line": 2662, @@ -10609,7 +10819,7 @@ "start": 97139, "end": 97145, "length": 7, - "parent_index": 5698 + "parent_index": 5700 }, "name": "uint256", "referenced_declaration": 0, @@ -10635,7 +10845,7 @@ ] }, "return_parameters": { - "id": 5700, + "id": 5702, "node_type": 43, "src": { "line": 2662, @@ -10643,21 +10853,22 @@ "start": 97107, "end": 97541, "length": 435, - "parent_index": 5696 + "parent_index": 5698 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_depositIntoStrategies(uint256)", "signature": "7e4023dd", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_depositIntoStrategies(uint256assetAmount)internal{for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){Strategystrategy=withdrawalQueue[i];if(address(strategy)==address(0)){break;}_depositIntoStrategy(strategy,(assetAmount*strategies[strategy].tvlBps)/MAX_BPS);}}" }, { - "id": 5748, + "id": 5750, "name": "_depositIntoStrategy", "node_type": 42, "kind": 41, @@ -10667,7 +10878,7 @@ "start": 97548, "end": 98339, "length": 792, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2673, @@ -10675,10 +10886,10 @@ "start": 97557, "end": 97576, "length": 20, - "parent_index": 5748 + "parent_index": 5750 }, "body": { - "id": 5756, + "id": 5758, "node_type": 46, "kind": 0, "src": { @@ -10687,12 +10898,12 @@ "start": 97622, "end": 98339, "length": 718, - "parent_index": 5748 + "parent_index": 5750 }, "implemented": true, "statements": [ { - "id": 5757, + "id": 5759, "node_type": 48, "src": { "line": 2675, @@ -10700,10 +10911,10 @@ "start": 97673, "end": 97696, "length": 24, - "parent_index": 5756 + "parent_index": 5758 }, "condition": { - "id": 5758, + "id": 5760, "is_constant": false, "is_pure": false, "node_type": 19, @@ -10713,11 +10924,11 @@ "start": 97677, "end": 97687, "length": 11, - "parent_index": 5757 + "parent_index": 5759 }, "operator": 11, "left_expression": { - "id": 5759, + "id": 5761, "node_type": 16, "src": { "line": 2675, @@ -10725,7 +10936,7 @@ "start": 97677, "end": 97682, "length": 6, - "parent_index": 5758 + "parent_index": 5760 }, "name": "assets", "type_description": { @@ -10733,11 +10944,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5759, - "is_pure": false + "referenced_declaration": 5761, + "is_pure": false, + "text": "assets" }, "right_expression": { - "id": 5760, + "id": 5762, "node_type": 17, "kind": 49, "value": "0", @@ -10748,7 +10960,7 @@ "start": 97687, "end": 97687, "length": 1, - "parent_index": 5758 + "parent_index": 5760 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -10756,7 +10968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10764,7 +10977,7 @@ } }, "body": { - "id": 5761, + "id": 5763, "node_type": 46, "kind": 0, "src": { @@ -10779,7 +10992,7 @@ } }, { - "id": 5762, + "id": 5764, "node_type": 27, "src": { "line": 2678, @@ -10787,10 +11000,10 @@ "start": 97777, "end": 97808, "length": 32, - "parent_index": 5756 + "parent_index": 5758 }, "expression": { - "id": 5763, + "id": 5765, "node_type": 27, "src": { "line": 2678, @@ -10798,11 +11011,11 @@ "start": 97777, "end": 97807, "length": 31, - "parent_index": 5762 + "parent_index": 5764 }, "operator": 13, "left_expression": { - "id": 5764, + "id": 5766, "node_type": 16, "src": { "line": 2678, @@ -10810,7 +11023,7 @@ "start": 97777, "end": 97797, "length": 21, - "parent_index": 5763 + "parent_index": 5765 }, "name": "totalStrategyHoldings", "type_description": { @@ -10818,11 +11031,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" }, "right_expression": { - "id": 5765, + "id": 5767, "node_type": 16, "src": { "line": 2678, @@ -10830,7 +11044,7 @@ "start": 97802, "end": 97807, "length": 6, - "parent_index": 5763 + "parent_index": 5765 }, "name": "assets", "type_description": { @@ -10838,8 +11052,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5765, - "is_pure": false + "referenced_declaration": 5767, + "is_pure": false, + "text": "assets" }, "type_description": { "type_identifier": "t_uint256", @@ -10849,10 +11064,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalStrategyHoldings+=assets;" }, { - "id": 5766, + "id": 5768, "node_type": 24, "kind": 24, "src": { @@ -10861,7 +11077,7 @@ "start": 98143, "end": 98187, "length": 45, - "parent_index": 5756 + "parent_index": 5758 }, "argument_types": [ { @@ -10875,7 +11091,7 @@ ], "arguments": [ { - "id": 5769, + "id": 5771, "node_type": 24, "kind": 24, "src": { @@ -10884,7 +11100,7 @@ "start": 98162, "end": 98178, "length": 17, - "parent_index": 5766 + "parent_index": 5768 }, "argument_types": [ { @@ -10894,7 +11110,7 @@ ], "arguments": [ { - "id": 5772, + "id": 5774, "node_type": 16, "src": { "line": 2687, @@ -10902,7 +11118,7 @@ "start": 98170, "end": 98177, "length": 8, - "parent_index": 5769 + "parent_index": 5771 }, "name": "strategy", "type_description": { @@ -10910,12 +11126,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5772, - "is_pure": false + "referenced_declaration": 5774, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5770, + "id": 5772, "node_type": 16, "src": { "line": 2687, @@ -10923,11 +11140,11 @@ "start": 98162, "end": 98168, "length": 7, - "parent_index": 5769 + "parent_index": 5771 }, "name": "address", "type_name": { - "id": 5771, + "id": 5773, "node_type": 30, "src": { "line": 2687, @@ -10935,7 +11152,7 @@ "start": 98162, "end": 98168, "length": 7, - "parent_index": 5770 + "parent_index": 5772 }, "name": "address", "state_mutability": 4, @@ -10957,7 +11174,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -10965,7 +11183,7 @@ } }, { - "id": 5773, + "id": 5775, "node_type": 16, "src": { "line": 2687, @@ -10973,7 +11191,7 @@ "start": 98181, "end": 98186, "length": 6, - "parent_index": 5766 + "parent_index": 5768 }, "name": "assets", "type_description": { @@ -10981,18 +11199,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5773, + "referenced_declaration": 5775, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "assets" } ], "expression": { - "id": 5767, + "id": 5769, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -11004,7 +11223,7 @@ "start": 98143, "end": 98160, "length": 18, - "parent_index": 5766 + "parent_index": 5768 }, "member_location": { "line": 2687, @@ -11012,10 +11231,10 @@ "start": 98150, "end": 98160, "length": 11, - "parent_index": 5767 + "parent_index": 5769 }, "expression": { - "id": 5768, + "id": 5770, "node_type": 16, "src": { "line": 2687, @@ -11023,23 +11242,25 @@ "start": 98143, "end": 98148, "length": 6, - "parent_index": 5767 + "parent_index": 5769 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "member_name": "safeApprove", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset.safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -11047,7 +11268,7 @@ } }, { - "id": 5774, + "id": 5776, "node_type": 24, "kind": 24, "src": { @@ -11056,7 +11277,7 @@ "start": 98262, "end": 98284, "length": 23, - "parent_index": 5756 + "parent_index": 5758 }, "argument_types": [ { @@ -11066,7 +11287,7 @@ ], "arguments": [ { - "id": 5777, + "id": 5779, "node_type": 16, "src": { "line": 2690, @@ -11074,7 +11295,7 @@ "start": 98278, "end": 98283, "length": 6, - "parent_index": 5774 + "parent_index": 5776 }, "name": "assets", "type_description": { @@ -11082,12 +11303,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5777, - "is_pure": false + "referenced_declaration": 5779, + "is_pure": false, + "text": "assets" } ], "expression": { - "id": 5775, + "id": 5777, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -11099,7 +11321,7 @@ "start": 98262, "end": 98276, "length": 15, - "parent_index": 5774 + "parent_index": 5776 }, "member_location": { "line": 2690, @@ -11107,10 +11329,10 @@ "start": 98271, "end": 98276, "length": 6, - "parent_index": 5775 + "parent_index": 5777 }, "expression": { - "id": 5776, + "id": 5778, "node_type": 16, "src": { "line": 2690, @@ -11118,7 +11340,7 @@ "start": 98262, "end": 98269, "length": 8, - "parent_index": 5775 + "parent_index": 5777 }, "name": "strategy", "type_description": { @@ -11126,15 +11348,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5776, - "is_pure": false + "referenced_declaration": 5778, + "is_pure": false, + "text": "strategy" }, "member_name": "invest", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.invest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -11142,7 +11366,7 @@ } }, { - "id": 5778, + "id": 5780, "node_type": 64, "src": { "line": 2691, @@ -11150,11 +11374,11 @@ "start": 98295, "end": 98333, "length": 39, - "parent_index": 5748 + "parent_index": 5750 }, "arguments": [ { - "id": 5779, + "id": 5781, "node_type": 16, "src": { "line": 2691, @@ -11162,7 +11386,7 @@ "start": 98316, "end": 98323, "length": 8, - "parent_index": 5778 + "parent_index": 5780 }, "name": "strategy", "type_description": { @@ -11170,11 +11394,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5779, - "is_pure": false + "referenced_declaration": 5781, + "is_pure": false, + "text": "strategy" }, { - "id": 5780, + "id": 5782, "node_type": 16, "src": { "line": 2691, @@ -11182,7 +11407,7 @@ "start": 98326, "end": 98331, "length": 6, - "parent_index": 5778 + "parent_index": 5780 }, "name": "assets", "type_description": { @@ -11190,12 +11415,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5780, - "is_pure": false + "referenced_declaration": 5782, + "is_pure": false, + "text": "assets" } ], "expression": { - "id": 5781, + "id": 5783, "node_type": 16, "src": { "line": 2691, @@ -11203,20 +11429,21 @@ "start": 98300, "end": 98314, "length": 15, - "parent_index": 5778 + "parent_index": 5780 }, "name": "StrategyDeposit", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265678", + "type_identifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265680", "type_string": "event BaseVault.StrategyDeposit" }, "overloaded_declarations": [], - "referenced_declaration": 5678, - "is_pure": false + "referenced_declaration": 5680, + "is_pure": false, + "text": "StrategyDeposit" } }, { - "id": 5782, + "id": 5784, "node_type": 59, "kind": 0, "src": { @@ -11225,12 +11452,12 @@ "start": 97819, "end": 98071, "length": 253, - "parent_index": 5193 + "parent_index": 5194 }, "implemented": false, "statements": [ { - "id": 5783, + "id": 5785, "node_type": 27, "src": { "line": 2683, @@ -11238,10 +11465,10 @@ "start": 98014, "end": 98061, "length": 48, - "parent_index": 5782 + "parent_index": 5784 }, "expression": { - "id": 5784, + "id": 5786, "node_type": 27, "src": { "line": 2683, @@ -11249,11 +11476,11 @@ "start": 98014, "end": 98060, "length": 47, - "parent_index": 5783 + "parent_index": 5785 }, "operator": 13, "left_expression": { - "id": 5785, + "id": 5787, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -11265,7 +11492,7 @@ "start": 98014, "end": 98041, "length": 28, - "parent_index": 5784 + "parent_index": 5786 }, "member_location": { "line": 2683, @@ -11273,10 +11500,10 @@ "start": 98035, "end": 98041, "length": 7, - "parent_index": 5785 + "parent_index": 5787 }, "expression": { - "id": 5786, + "id": 5788, "node_type": 22, "src": { "line": 2683, @@ -11284,10 +11511,10 @@ "start": 98014, "end": 98033, "length": 20, - "parent_index": 5785 + "parent_index": 5787 }, "index_expression": { - "id": 5787, + "id": 5789, "node_type": 16, "src": { "line": 2683, @@ -11295,19 +11522,20 @@ "start": 98014, "end": 98023, "length": 10, - "parent_index": 5786 + "parent_index": 5788 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5788, + "id": 5790, "node_type": 16, "src": { "line": 2683, @@ -11315,7 +11543,7 @@ "start": 98025, "end": 98032, "length": 8, - "parent_index": 5786 + "parent_index": 5788 }, "name": "strategy", "type_description": { @@ -11323,12 +11551,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5788, - "is_pure": false + "referenced_declaration": 5790, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -11337,19 +11566,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" }, "right_expression": { - "id": 5789, + "id": 5791, "node_type": 24, "kind": 24, "src": { @@ -11358,7 +11588,7 @@ "start": 98046, "end": 98060, "length": 15, - "parent_index": 5784 + "parent_index": 5786 }, "argument_types": [ { @@ -11368,7 +11598,7 @@ ], "arguments": [ { - "id": 5792, + "id": 5794, "node_type": 16, "src": { "line": 2683, @@ -11376,7 +11606,7 @@ "start": 98054, "end": 98059, "length": 6, - "parent_index": 5789 + "parent_index": 5791 }, "name": "assets", "type_description": { @@ -11384,12 +11614,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5792, - "is_pure": false + "referenced_declaration": 5794, + "is_pure": false, + "text": "assets" } ], "expression": { - "id": 5790, + "id": 5792, "node_type": 16, "src": { "line": 2683, @@ -11397,11 +11628,11 @@ "start": 98046, "end": 98052, "length": 7, - "parent_index": 5789 + "parent_index": 5791 }, "name": "uint232", "type_name": { - "id": 5791, + "id": 5793, "node_type": 30, "src": { "line": 2683, @@ -11409,7 +11640,7 @@ "start": 98046, "end": 98052, "length": 7, - "parent_index": 5790 + "parent_index": 5792 }, "name": "uint232", "referenced_declaration": 0, @@ -11430,7 +11661,8 @@ "type_identifier": "t_uint232", "type_string": "uint232" } - ] + ], + "text": "uint232" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -11438,14 +11670,15 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance+=uint232(assets);" } ] } @@ -11458,7 +11691,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5749, + "id": 5751, "node_type": 43, "src": { "line": 2673, @@ -11466,11 +11699,11 @@ "start": 97578, "end": 97610, "length": 33, - "parent_index": 5748 + "parent_index": 5750 }, "parameters": [ { - "id": 5750, + "id": 5752, "node_type": 44, "src": { "line": 2673, @@ -11478,12 +11711,12 @@ "start": 97578, "end": 97594, "length": 17, - "parent_index": 5749 + "parent_index": 5751 }, - "scope": 5748, + "scope": 5750, "name": "strategy", "type_name": { - "id": 5751, + "id": 5753, "node_type": 69, "src": { "line": 2673, @@ -11491,20 +11724,20 @@ "start": 97578, "end": 97585, "length": 8, - "parent_index": 5750 + "parent_index": 5752 }, "path_node": { - "id": 5752, + "id": 5754, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2673, "column": 34, "start": 97578, "end": 97585, "length": 8, - "parent_index": 5751 + "parent_index": 5753 }, "name_location": { "line": 2673, @@ -11512,10 +11745,10 @@ "start": 97578, "end": 97585, "length": 8, - "parent_index": 5751 + "parent_index": 5753 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -11530,7 +11763,7 @@ } }, { - "id": 5753, + "id": 5755, "node_type": 44, "src": { "line": 2673, @@ -11538,12 +11771,12 @@ "start": 97597, "end": 97610, "length": 14, - "parent_index": 5749 + "parent_index": 5751 }, - "scope": 5748, + "scope": 5750, "name": "assets", "type_name": { - "id": 5754, + "id": 5756, "node_type": 30, "src": { "line": 2673, @@ -11551,7 +11784,7 @@ "start": 97597, "end": 97603, "length": 7, - "parent_index": 5753 + "parent_index": 5755 }, "name": "uint256", "referenced_declaration": 0, @@ -11581,7 +11814,7 @@ ] }, "return_parameters": { - "id": 5755, + "id": 5757, "node_type": 43, "src": { "line": 2673, @@ -11589,21 +11822,22 @@ "start": 97548, "end": 98339, "length": 792, - "parent_index": 5748 + "parent_index": 5750 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_depositIntoStrategy(, uint256)", - "signature": "48041b7a", - "scope": 5193, + "signature_raw": "_depositIntoStrategy(,uint256)", + "signature": "6168a132", + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" - } + }, + "text": "function_depositIntoStrategy(Strategystrategy,uint256assets)internal{if(assets==0)return;totalStrategyHoldings+=assets;unchecked{strategies[strategy].balance+=uint232(assets);}_asset.safeApprove(address(strategy),assets);strategy.invest(assets);emitStrategyDeposit(strategy,assets);}" }, { - "id": 5794, + "id": 5796, "name": "_withdrawFromStrategy", "node_type": 42, "kind": 41, @@ -11613,7 +11847,7 @@ "start": 98705, "end": 99733, "length": 1029, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2701, @@ -11621,10 +11855,10 @@ "start": 98714, "end": 98734, "length": 21, - "parent_index": 5794 + "parent_index": 5796 }, "body": { - "id": 5804, + "id": 5806, "node_type": 46, "kind": 0, "src": { @@ -11633,12 +11867,12 @@ "start": 98798, "end": 99733, "length": 936, - "parent_index": 5794 + "parent_index": 5796 }, "implemented": true, "statements": [ { - "id": 5805, + "id": 5807, "node_type": 44, "src": { "line": 2703, @@ -11646,25 +11880,25 @@ "start": 98846, "end": 98897, "length": 52, - "parent_index": 5804 + "parent_index": 5806 }, "assignments": [ - 5806 + 5808 ], "declarations": [ { - "id": 5806, + "id": 5808, "state_mutability": 1, "name": "amountWithdrawn", "node_type": 44, - "scope": 5804, + "scope": 5806, "src": { "line": 2703, "column": 8, "start": 98846, "end": 98868, "length": 23, - "parent_index": 5805 + "parent_index": 5807 }, "name_location": { "line": 2703, @@ -11672,12 +11906,12 @@ "start": 98854, "end": 98868, "length": 15, - "parent_index": 5806 + "parent_index": 5808 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5807, + "id": 5809, "node_type": 30, "src": { "line": 2703, @@ -11685,7 +11919,7 @@ "start": 98846, "end": 98852, "length": 7, - "parent_index": 5806 + "parent_index": 5808 }, "name": "uint256", "referenced_declaration": 0, @@ -11698,7 +11932,7 @@ } ], "initial_value": { - "id": 5808, + "id": 5810, "node_type": 24, "kind": 24, "src": { @@ -11707,7 +11941,7 @@ "start": 98872, "end": 98896, "length": 25, - "parent_index": 5805 + "parent_index": 5807 }, "argument_types": [ { @@ -11721,7 +11955,7 @@ ], "arguments": [ { - "id": 5810, + "id": 5812, "node_type": 16, "src": { "line": 2703, @@ -11729,7 +11963,7 @@ "start": 98880, "end": 98887, "length": 8, - "parent_index": 5808 + "parent_index": 5810 }, "name": "strategy", "type_description": { @@ -11737,11 +11971,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5810, - "is_pure": false + "referenced_declaration": 5812, + "is_pure": false, + "text": "strategy" }, { - "id": 5811, + "id": 5813, "node_type": 16, "src": { "line": 2703, @@ -11749,7 +11984,7 @@ "start": 98890, "end": 98895, "length": 6, - "parent_index": 5808 + "parent_index": 5810 }, "name": "assets", "type_description": { @@ -11757,18 +11992,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5811, + "referenced_declaration": 5813, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "assets" } ], "expression": { - "id": 5809, + "id": 5811, "node_type": 16, "src": { "line": 2703, @@ -11776,7 +12012,7 @@ "start": 98872, "end": 98878, "length": 7, - "parent_index": 5808 + "parent_index": 5810 }, "name": "_divest", "type_description": { @@ -11785,7 +12021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_divest" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -11794,7 +12031,7 @@ } }, { - "id": 5812, + "id": 5814, "node_type": 44, "src": { "line": 2708, @@ -11802,25 +12039,25 @@ "start": 99150, "end": 99200, "length": 51, - "parent_index": 5804 + "parent_index": 5806 }, "assignments": [ - 5813 + 5815 ], "declarations": [ { - "id": 5813, + "id": 5815, "state_mutability": 1, "name": "oldStratTVL", "node_type": 44, - "scope": 5804, + "scope": 5806, "src": { "line": 2708, "column": 8, "start": 99150, "end": 99168, "length": 19, - "parent_index": 5812 + "parent_index": 5814 }, "name_location": { "line": 2708, @@ -11828,12 +12065,12 @@ "start": 99158, "end": 99168, "length": 11, - "parent_index": 5813 + "parent_index": 5815 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5814, + "id": 5816, "node_type": 30, "src": { "line": 2708, @@ -11841,7 +12078,7 @@ "start": 99150, "end": 99156, "length": 7, - "parent_index": 5813 + "parent_index": 5815 }, "name": "uint256", "referenced_declaration": 0, @@ -11854,7 +12091,7 @@ } ], "initial_value": { - "id": 5815, + "id": 5817, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -11866,7 +12103,7 @@ "start": 99172, "end": 99199, "length": 28, - "parent_index": 5812 + "parent_index": 5814 }, "member_location": { "line": 2708, @@ -11874,10 +12111,10 @@ "start": 99193, "end": 99199, "length": 7, - "parent_index": 5815 + "parent_index": 5817 }, "expression": { - "id": 5816, + "id": 5818, "node_type": 22, "src": { "line": 2708, @@ -11885,10 +12122,10 @@ "start": 99172, "end": 99191, "length": 20, - "parent_index": 5812 + "parent_index": 5814 }, "index_expression": { - "id": 5817, + "id": 5819, "node_type": 16, "src": { "line": 2708, @@ -11896,19 +12133,20 @@ "start": 99172, "end": 99181, "length": 10, - "parent_index": 5816 + "parent_index": 5818 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5818, + "id": 5820, "node_type": 16, "src": { "line": 2708, @@ -11916,7 +12154,7 @@ "start": 99183, "end": 99190, "length": 8, - "parent_index": 5816 + "parent_index": 5818 }, "name": "strategy", "type_description": { @@ -11924,12 +12162,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5818, - "is_pure": false + "referenced_declaration": 5820, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -11938,20 +12177,21 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" } }, { - "id": 5819, + "id": 5821, "node_type": 44, "src": { "line": 2709, @@ -11959,25 +12199,25 @@ "start": 99210, "end": 99259, "length": 50, - "parent_index": 5804 + "parent_index": 5806 }, "assignments": [ - 5820 + 5822 ], "declarations": [ { - "id": 5820, + "id": 5822, "state_mutability": 1, "name": "newStratTvl", "node_type": 44, - "scope": 5804, + "scope": 5806, "src": { "line": 2709, "column": 8, "start": 99210, "end": 99228, "length": 19, - "parent_index": 5819 + "parent_index": 5821 }, "name_location": { "line": 2709, @@ -11985,12 +12225,12 @@ "start": 99218, "end": 99228, "length": 11, - "parent_index": 5820 + "parent_index": 5822 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5821, + "id": 5823, "node_type": 30, "src": { "line": 2709, @@ -11998,7 +12238,7 @@ "start": 99210, "end": 99216, "length": 7, - "parent_index": 5820 + "parent_index": 5822 }, "name": "uint256", "referenced_declaration": 0, @@ -12011,7 +12251,7 @@ } ], "initial_value": { - "id": 5822, + "id": 5824, "node_type": 24, "kind": 24, "src": { @@ -12020,12 +12260,12 @@ "start": 99232, "end": 99258, "length": 27, - "parent_index": 5819 + "parent_index": 5821 }, "argument_types": [], "arguments": [], "expression": { - "id": 5823, + "id": 5825, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -12037,7 +12277,7 @@ "start": 99232, "end": 99256, "length": 25, - "parent_index": 5822 + "parent_index": 5824 }, "member_location": { "line": 2709, @@ -12045,10 +12285,10 @@ "start": 99241, "end": 99256, "length": 16, - "parent_index": 5823 + "parent_index": 5825 }, "expression": { - "id": 5824, + "id": 5826, "node_type": 16, "src": { "line": 2709, @@ -12056,7 +12296,7 @@ "start": 99232, "end": 99239, "length": 8, - "parent_index": 5823 + "parent_index": 5825 }, "name": "strategy", "type_description": { @@ -12064,15 +12304,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5824, - "is_pure": false + "referenced_declaration": 5826, + "is_pure": false, + "text": "strategy" }, "member_name": "totalLockedValue", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.totalLockedValue" }, "type_description": { "type_identifier": "t_function_$", @@ -12081,7 +12323,7 @@ } }, { - "id": 5825, + "id": 5827, "node_type": 27, "src": { "line": 2710, @@ -12089,10 +12331,10 @@ "start": 99269, "end": 99320, "length": 52, - "parent_index": 5804 + "parent_index": 5806 }, "expression": { - "id": 5826, + "id": 5828, "node_type": 27, "src": { "line": 2710, @@ -12100,11 +12342,11 @@ "start": 99269, "end": 99319, "length": 51, - "parent_index": 5825 + "parent_index": 5827 }, "operator": 11, "left_expression": { - "id": 5827, + "id": 5829, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -12116,7 +12358,7 @@ "start": 99269, "end": 99296, "length": 28, - "parent_index": 5826 + "parent_index": 5828 }, "member_location": { "line": 2710, @@ -12124,10 +12366,10 @@ "start": 99290, "end": 99296, "length": 7, - "parent_index": 5827 + "parent_index": 5829 }, "expression": { - "id": 5828, + "id": 5830, "node_type": 22, "src": { "line": 2710, @@ -12135,10 +12377,10 @@ "start": 99269, "end": 99288, "length": 20, - "parent_index": 5827 + "parent_index": 5829 }, "index_expression": { - "id": 5829, + "id": 5831, "node_type": 16, "src": { "line": 2710, @@ -12146,19 +12388,20 @@ "start": 99269, "end": 99278, "length": 10, - "parent_index": 5828 + "parent_index": 5830 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5830, + "id": 5832, "node_type": 16, "src": { "line": 2710, @@ -12166,7 +12409,7 @@ "start": 99280, "end": 99287, "length": 8, - "parent_index": 5828 + "parent_index": 5830 }, "name": "strategy", "type_description": { @@ -12174,12 +12417,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5830, - "is_pure": false + "referenced_declaration": 5832, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -12188,19 +12432,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" }, "right_expression": { - "id": 5831, + "id": 5833, "node_type": 24, "kind": 24, "src": { @@ -12209,7 +12454,7 @@ "start": 99300, "end": 99319, "length": 20, - "parent_index": 5826 + "parent_index": 5828 }, "argument_types": [ { @@ -12219,7 +12464,7 @@ ], "arguments": [ { - "id": 5834, + "id": 5836, "node_type": 16, "src": { "line": 2710, @@ -12227,7 +12472,7 @@ "start": 99308, "end": 99318, "length": 11, - "parent_index": 5831 + "parent_index": 5833 }, "name": "newStratTvl", "type_description": { @@ -12235,12 +12480,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5819, - "is_pure": false + "referenced_declaration": 5821, + "is_pure": false, + "text": "newStratTvl" } ], "expression": { - "id": 5832, + "id": 5834, "node_type": 16, "src": { "line": 2710, @@ -12248,11 +12494,11 @@ "start": 99300, "end": 99306, "length": 7, - "parent_index": 5831 + "parent_index": 5833 }, "name": "uint232", "type_name": { - "id": 5833, + "id": 5835, "node_type": 30, "src": { "line": 2710, @@ -12260,7 +12506,7 @@ "start": 99300, "end": 99306, "length": 7, - "parent_index": 5832 + "parent_index": 5834 }, "name": "uint232", "referenced_declaration": 0, @@ -12281,7 +12527,8 @@ "type_identifier": "t_uint232", "type_string": "uint232" } - ] + ], + "text": "uint232" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -12289,17 +12536,18 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance=uint232(newStratTvl);" }, { - "id": 5835, + "id": 5837, "node_type": 27, "src": { "line": 2714, @@ -12307,10 +12555,10 @@ "start": 99500, "end": 99582, "length": 83, - "parent_index": 5804 + "parent_index": 5806 }, "expression": { - "id": 5836, + "id": 5838, "node_type": 27, "src": { "line": 2714, @@ -12318,11 +12566,11 @@ "start": 99500, "end": 99581, "length": 82, - "parent_index": 5835 + "parent_index": 5837 }, "operator": 14, "left_expression": { - "id": 5837, + "id": 5839, "node_type": 16, "src": { "line": 2714, @@ -12330,7 +12578,7 @@ "start": 99500, "end": 99520, "length": 21, - "parent_index": 5836 + "parent_index": 5838 }, "name": "totalStrategyHoldings", "type_description": { @@ -12338,11 +12586,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" }, "right_expression": { - "id": 5839, + "id": 5841, "node_type": 97, "src": { "line": 2714, @@ -12350,11 +12599,11 @@ "start": 99525, "end": 99581, "length": 57, - "parent_index": 5836 + "parent_index": 5838 }, "expressions": [ { - "id": 5840, + "id": 5842, "is_constant": false, "is_pure": false, "node_type": 19, @@ -12364,11 +12613,11 @@ "start": 99525, "end": 99549, "length": 25, - "parent_index": 5839 + "parent_index": 5841 }, "operator": 7, "left_expression": { - "id": 5841, + "id": 5843, "node_type": 16, "src": { "line": 2714, @@ -12376,7 +12625,7 @@ "start": 99525, "end": 99535, "length": 11, - "parent_index": 5840 + "parent_index": 5842 }, "name": "oldStratTVL", "type_description": { @@ -12384,11 +12633,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5812, - "is_pure": false + "referenced_declaration": 5814, + "is_pure": false, + "text": "oldStratTVL" }, "right_expression": { - "id": 5842, + "id": 5844, "node_type": 16, "src": { "line": 2714, @@ -12396,7 +12646,7 @@ "start": 99539, "end": 99549, "length": 11, - "parent_index": 5840 + "parent_index": 5842 }, "name": "newStratTvl", "type_description": { @@ -12404,8 +12654,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5819, - "is_pure": false + "referenced_declaration": 5821, + "is_pure": false, + "text": "newStratTvl" }, "type_description": { "type_identifier": "t_bool", @@ -12413,7 +12664,7 @@ } }, { - "id": 5843, + "id": 5845, "is_constant": false, "is_pure": false, "node_type": 19, @@ -12423,11 +12674,11 @@ "start": 99553, "end": 99577, "length": 25, - "parent_index": 5839 + "parent_index": 5841 }, "operator": 2, "left_expression": { - "id": 5844, + "id": 5846, "node_type": 16, "src": { "line": 2714, @@ -12435,7 +12686,7 @@ "start": 99553, "end": 99563, "length": 11, - "parent_index": 5843 + "parent_index": 5845 }, "name": "oldStratTVL", "type_description": { @@ -12443,11 +12694,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5812, - "is_pure": false + "referenced_declaration": 5814, + "is_pure": false, + "text": "oldStratTVL" }, "right_expression": { - "id": 5845, + "id": 5847, "node_type": 16, "src": { "line": 2714, @@ -12455,7 +12707,7 @@ "start": 99567, "end": 99577, "length": 11, - "parent_index": 5843 + "parent_index": 5845 }, "name": "newStratTvl", "type_description": { @@ -12463,8 +12715,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5819, - "is_pure": false + "referenced_declaration": 5821, + "is_pure": false, + "text": "newStratTvl" }, "type_description": { "type_identifier": "t_uint256", @@ -12472,7 +12725,7 @@ } }, { - "id": 5846, + "id": 5848, "node_type": 17, "kind": 49, "value": "0", @@ -12483,7 +12736,7 @@ "start": 99581, "end": 99581, "length": 1, - "parent_index": 5839 + "parent_index": 5841 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -12491,7 +12744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -12518,10 +12772,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalStrategyHoldings-=oldStratTVL\u003enewStratTvl?oldStratTVL-newStratTvl:0;" }, { - "id": 5847, + "id": 5849, "node_type": 64, "src": { "line": 2715, @@ -12529,11 +12784,11 @@ "start": 99592, "end": 99695, "length": 104, - "parent_index": 5794 + "parent_index": 5796 }, "arguments": [], "expression": { - "id": 5848, + "id": 5850, "node_type": 16, "src": { "line": 2715, @@ -12541,20 +12796,21 @@ "start": 99597, "end": 99614, "length": 18, - "parent_index": 5847 + "parent_index": 5849 }, "name": "StrategyWithdrawal", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265686", + "type_identifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265688", "type_string": "event BaseVault.StrategyWithdrawal" }, "overloaded_declarations": [], - "referenced_declaration": 5686, - "is_pure": false + "referenced_declaration": 5688, + "is_pure": false, + "text": "StrategyWithdrawal" } }, { - "id": 5849, + "id": 5851, "node_type": 47, "src": { "line": 2716, @@ -12562,11 +12818,11 @@ "start": 99705, "end": 99727, "length": 23, - "parent_index": 5794 + "parent_index": 5796 }, - "function_return_parameters": 5794, + "function_return_parameters": 5796, "expression": { - "id": 5850, + "id": 5852, "node_type": 16, "src": { "line": 2716, @@ -12574,7 +12830,7 @@ "start": 99712, "end": 99726, "length": 15, - "parent_index": 5849 + "parent_index": 5851 }, "name": "amountWithdrawn", "type_description": { @@ -12582,8 +12838,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5805, - "is_pure": false + "referenced_declaration": 5807, + "is_pure": false, + "text": "amountWithdrawn" } } ] @@ -12595,7 +12852,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5795, + "id": 5797, "node_type": 43, "src": { "line": 2701, @@ -12603,11 +12860,11 @@ "start": 98736, "end": 98768, "length": 33, - "parent_index": 5794 + "parent_index": 5796 }, "parameters": [ { - "id": 5796, + "id": 5798, "node_type": 44, "src": { "line": 2701, @@ -12615,12 +12872,12 @@ "start": 98736, "end": 98752, "length": 17, - "parent_index": 5795 + "parent_index": 5797 }, - "scope": 5794, + "scope": 5796, "name": "strategy", "type_name": { - "id": 5797, + "id": 5799, "node_type": 69, "src": { "line": 2701, @@ -12628,20 +12885,20 @@ "start": 98736, "end": 98743, "length": 8, - "parent_index": 5796 + "parent_index": 5798 }, "path_node": { - "id": 5798, + "id": 5800, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2701, "column": 35, "start": 98736, "end": 98743, "length": 8, - "parent_index": 5797 + "parent_index": 5799 }, "name_location": { "line": 2701, @@ -12649,10 +12906,10 @@ "start": 98736, "end": 98743, "length": 8, - "parent_index": 5797 + "parent_index": 5799 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -12667,7 +12924,7 @@ } }, { - "id": 5799, + "id": 5801, "node_type": 44, "src": { "line": 2701, @@ -12675,12 +12932,12 @@ "start": 98755, "end": 98768, "length": 14, - "parent_index": 5795 + "parent_index": 5797 }, - "scope": 5794, + "scope": 5796, "name": "assets", "type_name": { - "id": 5800, + "id": 5802, "node_type": 30, "src": { "line": 2701, @@ -12688,7 +12945,7 @@ "start": 98755, "end": 98761, "length": 7, - "parent_index": 5799 + "parent_index": 5801 }, "name": "uint256", "referenced_declaration": 0, @@ -12718,7 +12975,7 @@ ] }, "return_parameters": { - "id": 5801, + "id": 5803, "node_type": 43, "src": { "line": 2701, @@ -12726,11 +12983,11 @@ "start": 98789, "end": 98795, "length": 7, - "parent_index": 5794 + "parent_index": 5796 }, "parameters": [ { - "id": 5802, + "id": 5804, "node_type": 44, "src": { "line": 2701, @@ -12738,12 +12995,12 @@ "start": 98789, "end": 98795, "length": 7, - "parent_index": 5801 + "parent_index": 5803 }, - "scope": 5794, + "scope": 5796, "name": "", "type_name": { - "id": 5803, + "id": 5805, "node_type": 30, "src": { "line": 2701, @@ -12751,7 +13008,7 @@ "start": 98789, "end": 98795, "length": 7, - "parent_index": 5802 + "parent_index": 5804 }, "name": "uint256", "referenced_declaration": 0, @@ -12776,16 +13033,17 @@ } ] }, - "signature_raw": "_withdrawFromStrategy(, uint256)", - "signature": "2db6f4c8", - "scope": 5193, + "signature_raw": "_withdrawFromStrategy(,uint256)", + "signature": "f6afc7d9", + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" - } + }, + "text": "function_withdrawFromStrategy(Strategystrategy,uint256assets)internalreturns(uint256){uint256amountWithdrawn=_divest(strategy,assets);uint256oldStratTVL=strategies[strategy].balance;uint256newStratTvl=strategy.totalLockedValue();strategies[strategy].balance=uint232(newStratTvl);totalStrategyHoldings-=oldStratTVL\u003enewStratTvl?oldStratTVL-newStratTvl:0;emitStrategyWithdrawal({strategy:strategy,assetsRequested:assets,assetsReceived:amountWithdrawn});returnamountWithdrawn;}" }, { - "id": 5852, + "id": 5854, "name": "_divest", "node_type": 42, "kind": 41, @@ -12795,7 +13053,7 @@ "start": 99860, "end": 100101, "length": 242, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2720, @@ -12803,10 +13061,10 @@ "start": 99869, "end": 99875, "length": 7, - "parent_index": 5852 + "parent_index": 5854 }, "body": { - "id": 5862, + "id": 5864, "node_type": 46, "kind": 0, "src": { @@ -12815,12 +13073,12 @@ "start": 99939, "end": 100101, "length": 163, - "parent_index": 5852 + "parent_index": 5854 }, "implemented": true, "statements": [ { - "id": 5863, + "id": 5865, "node_type": 85, "src": { "line": 2721, @@ -12828,10 +13086,10 @@ "start": 99949, "end": 100095, "length": 147, - "parent_index": 5862 + "parent_index": 5864 }, "body": { - "id": 5868, + "id": 5870, "node_type": 46, "kind": 0, "src": { @@ -12840,12 +13098,12 @@ "start": 100010, "end": 100055, "length": 46, - "parent_index": 5863 + "parent_index": 5865 }, "implemented": true, "statements": [ { - "id": 5869, + "id": 5871, "node_type": 47, "src": { "line": 2722, @@ -12853,11 +13111,11 @@ "start": 100024, "end": 100045, "length": 22, - "parent_index": 5863 + "parent_index": 5865 }, - "function_return_parameters": 5863, + "function_return_parameters": 5865, "expression": { - "id": 5870, + "id": 5872, "node_type": 16, "src": { "line": 2722, @@ -12865,7 +13123,7 @@ "start": 100031, "end": 100044, "length": 14, - "parent_index": 5869 + "parent_index": 5871 }, "name": "amountDivested", "type_description": { @@ -12873,8 +13131,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5876, - "is_pure": false + "referenced_declaration": 5878, + "is_pure": false, + "text": "amountDivested" } } ] @@ -12882,7 +13141,7 @@ "kind": 86, "returns": true, "return_parameters": { - "id": 5875, + "id": 5877, "node_type": 43, "src": { "line": 2721, @@ -12890,11 +13149,11 @@ "start": 99986, "end": 100007, "length": 22, - "parent_index": 5863 + "parent_index": 5865 }, "parameters": [ { - "id": 5876, + "id": 5878, "node_type": 44, "src": { "line": 2721, @@ -12902,12 +13161,12 @@ "start": 99986, "end": 100007, "length": 22, - "parent_index": 5875 + "parent_index": 5877 }, - "scope": 5863, + "scope": 5865, "name": "amountDivested", "type_name": { - "id": 5877, + "id": 5879, "node_type": 30, "src": { "line": 2721, @@ -12915,7 +13174,7 @@ "start": 99986, "end": 99992, "length": 7, - "parent_index": 5876 + "parent_index": 5878 }, "name": "uint256", "referenced_declaration": 0, @@ -12941,7 +13200,7 @@ ] }, "expression": { - "id": 5864, + "id": 5866, "node_type": 24, "kind": 24, "src": { @@ -12950,7 +13209,7 @@ "start": 99953, "end": 99975, "length": 23, - "parent_index": 5863 + "parent_index": 5865 }, "argument_types": [ { @@ -12960,7 +13219,7 @@ ], "arguments": [ { - "id": 5867, + "id": 5869, "node_type": 16, "src": { "line": 2721, @@ -12968,7 +13227,7 @@ "start": 99969, "end": 99974, "length": 6, - "parent_index": 5864 + "parent_index": 5866 }, "name": "assets", "type_description": { @@ -12976,12 +13235,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5867, - "is_pure": false + "referenced_declaration": 5869, + "is_pure": false, + "text": "assets" } ], "expression": { - "id": 5865, + "id": 5867, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -12993,7 +13253,7 @@ "start": 99953, "end": 99967, "length": 15, - "parent_index": 5864 + "parent_index": 5866 }, "member_location": { "line": 2721, @@ -13001,10 +13261,10 @@ "start": 99962, "end": 99967, "length": 6, - "parent_index": 5865 + "parent_index": 5867 }, "expression": { - "id": 5866, + "id": 5868, "node_type": 16, "src": { "line": 2721, @@ -13012,7 +13272,7 @@ "start": 99953, "end": 99960, "length": 8, - "parent_index": 5865 + "parent_index": 5867 }, "name": "strategy", "type_description": { @@ -13020,15 +13280,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5866, - "is_pure": false + "referenced_declaration": 5868, + "is_pure": false, + "text": "strategy" }, "member_name": "divest", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.divest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -13046,10 +13308,10 @@ "start": 100057, "end": 100095, "length": 39, - "parent_index": 5863 + "parent_index": 5865 }, "body": { - "id": 5872, + "id": 5874, "node_type": 46, "kind": 0, "src": { @@ -13062,7 +13324,7 @@ "implemented": true, "statements": [ { - "id": 5873, + "id": 5875, "node_type": 47, "src": { "line": 2724, @@ -13073,7 +13335,7 @@ }, "function_return_parameters": 0, "expression": { - "id": 5874, + "id": 5876, "node_type": 17, "kind": 49, "value": "0", @@ -13084,7 +13346,7 @@ "start": 100084, "end": 100084, "length": 1, - "parent_index": 5873 + "parent_index": 5875 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13092,13 +13354,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] }, "parameters": { - "id": 5871, + "id": 5873, "node_type": 43, "src": { "line": 2723, @@ -13123,7 +13386,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5853, + "id": 5855, "node_type": 43, "src": { "line": 2720, @@ -13131,11 +13394,11 @@ "start": 99877, "end": 99909, "length": 33, - "parent_index": 5852 + "parent_index": 5854 }, "parameters": [ { - "id": 5854, + "id": 5856, "node_type": 44, "src": { "line": 2720, @@ -13143,12 +13406,12 @@ "start": 99877, "end": 99893, "length": 17, - "parent_index": 5853 + "parent_index": 5855 }, - "scope": 5852, + "scope": 5854, "name": "strategy", "type_name": { - "id": 5855, + "id": 5857, "node_type": 69, "src": { "line": 2720, @@ -13156,20 +13419,20 @@ "start": 99877, "end": 99884, "length": 8, - "parent_index": 5854 + "parent_index": 5856 }, "path_node": { - "id": 5856, + "id": 5858, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2720, "column": 21, "start": 99877, "end": 99884, "length": 8, - "parent_index": 5855 + "parent_index": 5857 }, "name_location": { "line": 2720, @@ -13177,10 +13440,10 @@ "start": 99877, "end": 99884, "length": 8, - "parent_index": 5855 + "parent_index": 5857 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -13195,7 +13458,7 @@ } }, { - "id": 5857, + "id": 5859, "node_type": 44, "src": { "line": 2720, @@ -13203,12 +13466,12 @@ "start": 99896, "end": 99909, "length": 14, - "parent_index": 5853 + "parent_index": 5855 }, - "scope": 5852, + "scope": 5854, "name": "assets", "type_name": { - "id": 5858, + "id": 5860, "node_type": 30, "src": { "line": 2720, @@ -13216,7 +13479,7 @@ "start": 99896, "end": 99902, "length": 7, - "parent_index": 5857 + "parent_index": 5859 }, "name": "uint256", "referenced_declaration": 0, @@ -13246,7 +13509,7 @@ ] }, "return_parameters": { - "id": 5859, + "id": 5861, "node_type": 43, "src": { "line": 2720, @@ -13254,11 +13517,11 @@ "start": 99930, "end": 99936, "length": 7, - "parent_index": 5852 + "parent_index": 5854 }, "parameters": [ { - "id": 5860, + "id": 5862, "node_type": 44, "src": { "line": 2720, @@ -13266,12 +13529,12 @@ "start": 99930, "end": 99936, "length": 7, - "parent_index": 5859 + "parent_index": 5861 }, - "scope": 5852, + "scope": 5854, "name": "", "type_name": { - "id": 5861, + "id": 5863, "node_type": 30, "src": { "line": 2720, @@ -13279,7 +13542,7 @@ "start": 99930, "end": 99936, "length": 7, - "parent_index": 5860 + "parent_index": 5862 }, "name": "uint256", "referenced_declaration": 0, @@ -13304,16 +13567,17 @@ } ] }, - "signature_raw": "_divest(, uint256)", - "signature": "e1600719", - "scope": 5193, + "signature_raw": "_divest(,uint256)", + "signature": "0bc86df4", + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" - } + }, + "text": "function_divest(Strategystrategy,uint256assets)internalreturns(uint256){trystrategy.divest(assets)returns(uint256amountDivested){returnamountDivested;}catch{return0;}}" }, { - "id": 5879, + "id": 5881, "name": "lastHarvest", "is_constant": false, "is_state_variable": true, @@ -13324,9 +13588,9 @@ "start": 100550, "end": 100576, "length": 27, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" @@ -13335,7 +13599,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5880, + "id": 5882, "node_type": 30, "src": { "line": 2737, @@ -13343,7 +13607,7 @@ "start": 100550, "end": 100556, "length": 7, - "parent_index": 5879 + "parent_index": 5881 }, "name": "uint128", "referenced_declaration": 0, @@ -13355,7 +13619,7 @@ "initial_value": null }, { - "id": 5882, + "id": 5884, "name": "maxLockedProfit", "is_constant": false, "is_state_variable": true, @@ -13366,9 +13630,9 @@ "start": 100672, "end": 100702, "length": 31, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" @@ -13377,7 +13641,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5883, + "id": 5885, "node_type": 30, "src": { "line": 2739, @@ -13385,7 +13649,7 @@ "start": 100672, "end": 100678, "length": 7, - "parent_index": 5882 + "parent_index": 5884 }, "name": "uint128", "referenced_declaration": 0, @@ -13397,7 +13661,7 @@ "initial_value": null }, { - "id": 5885, + "id": 5887, "name": "LOCK_INTERVAL", "is_constant": true, "is_state_variable": true, @@ -13408,9 +13672,9 @@ "start": 100805, "end": 100853, "length": 49, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_bool", "type_string": "bool" @@ -13419,7 +13683,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5886, + "id": 5888, "node_type": 30, "src": { "line": 2741, @@ -13427,7 +13691,7 @@ "start": 100805, "end": 100811, "length": 7, - "parent_index": 5885 + "parent_index": 5887 }, "name": "uint256", "referenced_declaration": 0, @@ -13437,7 +13701,7 @@ } }, "initial_value": { - "id": 5887, + "id": 5889, "node_type": 16, "src": { "line": 2741, @@ -13445,7 +13709,7 @@ "start": 100845, "end": 100852, "length": 8, - "parent_index": 5885 + "parent_index": 5887 }, "type_description": { "type_identifier": "t_bool", @@ -13453,11 +13717,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 552, - "is_pure": false + "is_pure": false, + "text": "24hours" } }, { - "id": 5889, + "id": 5891, "node_type": 57, "src": { "line": 2748, @@ -13465,10 +13730,10 @@ "start": 101062, "end": 101120, "length": 59, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5890, + "id": 5892, "node_type": 43, "src": { "line": 2748, @@ -13476,11 +13741,11 @@ "start": 101062, "end": 101120, "length": 59, - "parent_index": 5889 + "parent_index": 5891 }, "parameters": [ { - "id": 5891, + "id": 5893, "node_type": 44, "src": { "line": 2748, @@ -13488,12 +13753,12 @@ "start": 101076, "end": 101095, "length": 20, - "parent_index": 5890 + "parent_index": 5892 }, - "scope": 5889, + "scope": 5891, "name": "user", "type_name": { - "id": 5892, + "id": 5894, "node_type": 30, "src": { "line": 2748, @@ -13501,7 +13766,7 @@ "start": 101076, "end": 101082, "length": 7, - "parent_index": 5891 + "parent_index": 5893 }, "name": "address", "state_mutability": 4, @@ -13521,7 +13786,7 @@ "indexed": true }, { - "id": 5893, + "id": 5895, "node_type": 44, "src": { "line": 2748, @@ -13529,12 +13794,12 @@ "start": 101098, "end": 101118, "length": 21, - "parent_index": 5890 + "parent_index": 5892 }, - "scope": 5889, + "scope": 5891, "name": "strategies", "type_name": { - "id": 5894, + "id": 5896, "node_type": 69, "src": { "line": 2748, @@ -13542,24 +13807,24 @@ "start": 101098, "end": 101105, "length": 8, - "parent_index": 5893 + "parent_index": 5895 }, "name": "Strategy", "path_node": { - "id": 5895, + "id": 5897, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2748, "column": 40, "start": 101098, "end": 101105, "length": 8, - "parent_index": 5894 + "parent_index": 5896 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -13588,12 +13853,12 @@ "name": "Harvest", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Harvest_\u00265889", + "type_identifier": "t_event\u0026_BaseVault_Harvest_\u00265891", "type_string": "event BaseVault.Harvest" } }, { - "id": 5897, + "id": 5899, "name": "harvest", "node_type": 42, "kind": 41, @@ -13603,7 +13868,7 @@ "start": 101344, "end": 103959, "length": 2616, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2755, @@ -13611,10 +13876,10 @@ "start": 101353, "end": 101359, "length": 7, - "parent_index": 5897 + "parent_index": 5899 }, "body": { - "id": 5906, + "id": 5908, "node_type": 46, "kind": 0, "src": { @@ -13623,12 +13888,12 @@ "start": 101424, "end": 103959, "length": 2536, - "parent_index": 5897 + "parent_index": 5899 }, "implemented": true, "statements": [ { - "id": 5907, + "id": 5909, "node_type": 24, "kind": 24, "src": { @@ -13637,7 +13902,7 @@ "start": 101474, "end": 101552, "length": 79, - "parent_index": 5906 + "parent_index": 5908 }, "argument_types": [ { @@ -13651,7 +13916,7 @@ ], "arguments": [ { - "id": 5909, + "id": 5911, "is_constant": false, "is_pure": false, "node_type": 19, @@ -13661,11 +13926,11 @@ "start": 101482, "end": 101527, "length": 46, - "parent_index": 5907 + "parent_index": 5909 }, "operator": 8, "left_expression": { - "id": 5910, + "id": 5912, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13677,7 +13942,7 @@ "start": 101482, "end": 101496, "length": 15, - "parent_index": 5909 + "parent_index": 5911 }, "member_location": { "line": 2757, @@ -13685,10 +13950,10 @@ "start": 101488, "end": 101496, "length": 9, - "parent_index": 5910 + "parent_index": 5912 }, "expression": { - "id": 5911, + "id": 5913, "node_type": 16, "src": { "line": 2757, @@ -13696,7 +13961,7 @@ "start": 101482, "end": 101486, "length": 5, - "parent_index": 5910 + "parent_index": 5912 }, "name": "block", "type_description": { @@ -13705,17 +13970,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { - "id": 5912, + "id": 5914, "is_constant": false, "is_pure": false, "node_type": 19, @@ -13725,11 +13992,11 @@ "start": 101501, "end": 101527, "length": 27, - "parent_index": 5909 + "parent_index": 5911 }, "operator": 1, "left_expression": { - "id": 5913, + "id": 5915, "node_type": 16, "src": { "line": 2757, @@ -13737,7 +14004,7 @@ "start": 101501, "end": 101511, "length": 11, - "parent_index": 5912 + "parent_index": 5914 }, "name": "lastHarvest", "type_description": { @@ -13745,11 +14012,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5879, - "is_pure": false + "referenced_declaration": 5881, + "is_pure": false, + "text": "lastHarvest" }, "right_expression": { - "id": 5914, + "id": 5916, "node_type": 16, "src": { "line": 2757, @@ -13757,7 +14025,7 @@ "start": 101515, "end": 101527, "length": 13, - "parent_index": 5912 + "parent_index": 5914 }, "name": "LOCK_INTERVAL", "type_description": { @@ -13765,8 +14033,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 5885, - "is_pure": false + "referenced_declaration": 5887, + "is_pure": false, + "text": "LOCK_INTERVAL" }, "type_description": { "type_identifier": "t_uint128", @@ -13779,7 +14048,7 @@ } }, { - "id": 5915, + "id": 5917, "node_type": 17, "kind": 50, "value": "BV: profit unlocking", @@ -13790,7 +14059,7 @@ "start": 101530, "end": 101551, "length": 22, - "parent_index": 5907 + "parent_index": 5909 }, "type_description": { "type_identifier": "t_string_literal", @@ -13804,11 +14073,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BV: profit unlocking\"" } ], "expression": { - "id": 5908, + "id": 5910, "node_type": 16, "src": { "line": 2757, @@ -13816,7 +14086,7 @@ "start": 101474, "end": 101480, "length": 7, - "parent_index": 5907 + "parent_index": 5909 }, "name": "require", "type_description": { @@ -13825,7 +14095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13833,7 +14104,7 @@ } }, { - "id": 5916, + "id": 5918, "node_type": 44, "src": { "line": 2760, @@ -13841,25 +14112,25 @@ "start": 101624, "end": 101680, "length": 57, - "parent_index": 5906 + "parent_index": 5908 }, "assignments": [ - 5917 + 5919 ], "declarations": [ { - "id": 5917, + "id": 5919, "state_mutability": 1, "name": "oldTotalStrategyHoldings", "node_type": 44, - "scope": 5906, + "scope": 5908, "src": { "line": 2760, "column": 8, "start": 101624, "end": 101655, "length": 32, - "parent_index": 5916 + "parent_index": 5918 }, "name_location": { "line": 2760, @@ -13867,12 +14138,12 @@ "start": 101632, "end": 101655, "length": 24, - "parent_index": 5917 + "parent_index": 5919 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5918, + "id": 5920, "node_type": 30, "src": { "line": 2760, @@ -13880,7 +14151,7 @@ "start": 101624, "end": 101630, "length": 7, - "parent_index": 5917 + "parent_index": 5919 }, "name": "uint256", "referenced_declaration": 0, @@ -13893,7 +14164,7 @@ } ], "initial_value": { - "id": 5919, + "id": 5921, "node_type": 16, "src": { "line": 2760, @@ -13901,7 +14172,7 @@ "start": 101659, "end": 101679, "length": 21, - "parent_index": 5916 + "parent_index": 5918 }, "name": "totalStrategyHoldings", "type_description": { @@ -13909,12 +14180,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" } }, { - "id": 5920, + "id": 5922, "node_type": 44, "src": { "line": 2763, @@ -13922,25 +14194,25 @@ "start": 101766, "end": 101825, "length": 60, - "parent_index": 5906 + "parent_index": 5908 }, "assignments": [ - 5921 + 5923 ], "declarations": [ { - "id": 5921, + "id": 5923, "state_mutability": 1, "name": "newTotalStrategyHoldings", "node_type": 44, - "scope": 5906, + "scope": 5908, "src": { "line": 2763, "column": 8, "start": 101766, "end": 101797, "length": 32, - "parent_index": 5920 + "parent_index": 5922 }, "name_location": { "line": 2763, @@ -13948,12 +14220,12 @@ "start": 101774, "end": 101797, "length": 24, - "parent_index": 5921 + "parent_index": 5923 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5922, + "id": 5924, "node_type": 30, "src": { "line": 2763, @@ -13961,7 +14233,7 @@ "start": 101766, "end": 101772, "length": 7, - "parent_index": 5921 + "parent_index": 5923 }, "name": "uint256", "referenced_declaration": 0, @@ -13974,7 +14246,7 @@ } ], "initial_value": { - "id": 5923, + "id": 5925, "node_type": 16, "src": { "line": 2763, @@ -13982,7 +14254,7 @@ "start": 101801, "end": 101824, "length": 24, - "parent_index": 5920 + "parent_index": 5922 }, "name": "oldTotalStrategyHoldings", "type_description": { @@ -13990,12 +14262,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5916, - "is_pure": false + "referenced_declaration": 5918, + "is_pure": false, + "text": "oldTotalStrategyHoldings" } }, { - "id": 5924, + "id": 5926, "node_type": 44, "src": { "line": 2766, @@ -14003,25 +14276,25 @@ "start": 101905, "end": 101931, "length": 27, - "parent_index": 5906 + "parent_index": 5908 }, "assignments": [ - 5925 + 5927 ], "declarations": [ { - "id": 5925, + "id": 5927, "state_mutability": 1, "name": "totalProfitAccrued", "node_type": 44, - "scope": 5906, + "scope": 5908, "src": { "line": 2766, "column": 8, "start": 101905, "end": 101930, "length": 26, - "parent_index": 5924 + "parent_index": 5926 }, "name_location": { "line": 2766, @@ -14029,12 +14302,12 @@ "start": 101913, "end": 101930, "length": 18, - "parent_index": 5925 + "parent_index": 5927 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5926, + "id": 5928, "node_type": 30, "src": { "line": 2766, @@ -14042,7 +14315,7 @@ "start": 101905, "end": 101911, "length": 7, - "parent_index": 5925 + "parent_index": 5927 }, "name": "uint256", "referenced_declaration": 0, @@ -14056,7 +14329,7 @@ ] }, { - "id": 5927, + "id": 5929, "node_type": 79, "src": { "line": 2769, @@ -14064,10 +14337,10 @@ "start": 102015, "end": 103471, "length": 1457, - "parent_index": 5906 + "parent_index": 5908 }, "initialiser": { - "id": 5928, + "id": 5930, "node_type": 44, "src": { "line": 2769, @@ -14075,25 +14348,25 @@ "start": 102020, "end": 102033, "length": 14, - "parent_index": 5906 + "parent_index": 5908 }, "assignments": [ - 5929 + 5931 ], "declarations": [ { - "id": 5929, + "id": 5931, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5906, + "scope": 5908, "src": { "line": 2769, "column": 13, "start": 102020, "end": 102028, "length": 9, - "parent_index": 5928 + "parent_index": 5930 }, "name_location": { "line": 2769, @@ -14101,12 +14374,12 @@ "start": 102028, "end": 102028, "length": 1, - "parent_index": 5929 + "parent_index": 5931 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5930, + "id": 5932, "node_type": 30, "src": { "line": 2769, @@ -14114,7 +14387,7 @@ "start": 102020, "end": 102026, "length": 7, - "parent_index": 5929 + "parent_index": 5931 }, "name": "uint256", "referenced_declaration": 0, @@ -14127,7 +14400,7 @@ } ], "initial_value": { - "id": 5931, + "id": 5933, "node_type": 17, "kind": 49, "value": "0", @@ -14138,7 +14411,7 @@ "start": 102032, "end": 102032, "length": 1, - "parent_index": 5928 + "parent_index": 5930 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -14146,11 +14419,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5932, + "id": 5934, "is_constant": false, "is_pure": false, "node_type": 19, @@ -14160,11 +14434,11 @@ "start": 102035, "end": 102057, "length": 23, - "parent_index": 5927 + "parent_index": 5929 }, "operator": 9, "left_expression": { - "id": 5933, + "id": 5935, "node_type": 16, "src": { "line": 2769, @@ -14172,7 +14446,7 @@ "start": 102035, "end": 102035, "length": 1, - "parent_index": 5932 + "parent_index": 5934 }, "name": "i", "type_description": { @@ -14181,10 +14455,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5934, + "id": 5936, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14196,7 +14471,7 @@ "start": 102039, "end": 102057, "length": 19, - "parent_index": 5932 + "parent_index": 5934 }, "member_location": { "line": 2769, @@ -14204,10 +14479,10 @@ "start": 102052, "end": 102057, "length": 6, - "parent_index": 5934 + "parent_index": 5936 }, "expression": { - "id": 5935, + "id": 5937, "node_type": 16, "src": { "line": 2769, @@ -14215,7 +14490,7 @@ "start": 102039, "end": 102050, "length": 12, - "parent_index": 5934 + "parent_index": 5936 }, "name": "strategyList", "type_description": { @@ -14223,15 +14498,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5935, - "is_pure": false + "referenced_declaration": 5937, + "is_pure": false, + "text": "strategyList" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategyList.length" }, "type_description": { "type_identifier": "t_bool", @@ -14239,7 +14516,7 @@ } }, "closure": { - "id": 5936, + "id": 5938, "node_type": 27, "src": { "line": 2769, @@ -14247,11 +14524,11 @@ "start": 102060, "end": 102078, "length": 19, - "parent_index": 5927 + "parent_index": 5929 }, "operator": 11, "left_expression": { - "id": 5937, + "id": 5939, "node_type": 16, "src": { "line": 2769, @@ -14259,7 +14536,7 @@ "start": 102060, "end": 102060, "length": 1, - "parent_index": 5936 + "parent_index": 5938 }, "name": "i", "type_description": { @@ -14268,10 +14545,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5938, + "id": 5940, "node_type": 24, "kind": 24, "src": { @@ -14280,7 +14558,7 @@ "start": 102064, "end": 102078, "length": 15, - "parent_index": 5936 + "parent_index": 5938 }, "argument_types": [ { @@ -14290,7 +14568,7 @@ ], "arguments": [ { - "id": 5940, + "id": 5942, "node_type": 16, "src": { "line": 2769, @@ -14298,7 +14576,7 @@ "start": 102077, "end": 102077, "length": 1, - "parent_index": 5938 + "parent_index": 5940 }, "name": "i", "type_description": { @@ -14307,11 +14585,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5939, + "id": 5941, "node_type": 16, "src": { "line": 2769, @@ -14319,7 +14598,7 @@ "start": 102064, "end": 102075, "length": 12, - "parent_index": 5938 + "parent_index": 5940 }, "name": "uncheckedInc", "type_description": { @@ -14328,7 +14607,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -14341,7 +14621,7 @@ } }, "body": { - "id": 5941, + "id": 5943, "node_type": 46, "kind": 0, "src": { @@ -14350,12 +14630,12 @@ "start": 102081, "end": 103471, "length": 1391, - "parent_index": 5927 + "parent_index": 5929 }, "implemented": true, "statements": [ { - "id": 5942, + "id": 5944, "node_type": 44, "src": { "line": 2771, @@ -14363,25 +14643,25 @@ "start": 102149, "end": 102184, "length": 36, - "parent_index": 5941 + "parent_index": 5943 }, "assignments": [ - 5943 + 5945 ], "declarations": [ { - "id": 5943, + "id": 5945, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 5941, + "scope": 5943, "src": { "line": 2771, "column": 12, "start": 102149, "end": 102165, "length": 17, - "parent_index": 5942 + "parent_index": 5944 }, "name_location": { "line": 2771, @@ -14389,12 +14669,12 @@ "start": 102158, "end": 102165, "length": 8, - "parent_index": 5943 + "parent_index": 5945 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5944, + "id": 5946, "node_type": 69, "src": { "line": 2771, @@ -14402,20 +14682,20 @@ "start": 102149, "end": 102156, "length": 8, - "parent_index": 5943 + "parent_index": 5945 }, "path_node": { - "id": 5945, + "id": 5947, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2771, "column": 12, "start": 102149, "end": 102156, "length": 8, - "parent_index": 5944 + "parent_index": 5946 }, "name_location": { "line": 2771, @@ -14423,10 +14703,10 @@ "start": 102149, "end": 102156, "length": 8, - "parent_index": 5944 + "parent_index": 5946 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -14436,7 +14716,7 @@ } ], "initial_value": { - "id": 5946, + "id": 5948, "node_type": 22, "src": { "line": 2771, @@ -14444,10 +14724,10 @@ "start": 102169, "end": 102183, "length": 15, - "parent_index": 5942 + "parent_index": 5944 }, "index_expression": { - "id": 5947, + "id": 5949, "node_type": 16, "src": { "line": 2771, @@ -14455,7 +14735,7 @@ "start": 102169, "end": 102180, "length": 12, - "parent_index": 5946 + "parent_index": 5948 }, "name": "strategyList", "type_description": { @@ -14463,11 +14743,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5605, - "is_pure": false + "referenced_declaration": 5607, + "is_pure": false, + "text": "strategyList" }, "base_expression": { - "id": 5948, + "id": 5950, "node_type": 16, "src": { "line": 2771, @@ -14475,7 +14756,7 @@ "start": 102182, "end": 102182, "length": 1, - "parent_index": 5946 + "parent_index": 5948 }, "name": "i", "type_description": { @@ -14484,7 +14765,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -14503,7 +14785,7 @@ } }, { - "id": 5949, + "id": 5951, "node_type": 48, "src": { "line": 2774, @@ -14511,10 +14793,10 @@ "start": 102251, "end": 102327, "length": 77, - "parent_index": 5941 + "parent_index": 5943 }, "condition": { - "id": 5950, + "id": 5952, "node_type": 18, "kind": 104, "src": { @@ -14523,7 +14805,7 @@ "start": 102255, "end": 102284, "length": 30, - "parent_index": 5927 + "parent_index": 5929 }, "operator": 31, "prefix": false, @@ -14532,7 +14814,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 5951, + "id": 5953, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14544,7 +14826,7 @@ "start": 102256, "end": 102284, "length": 29, - "parent_index": 5950 + "parent_index": 5952 }, "member_location": { "line": 2774, @@ -14552,10 +14834,10 @@ "start": 102277, "end": 102284, "length": 8, - "parent_index": 5951 + "parent_index": 5953 }, "expression": { - "id": 5952, + "id": 5954, "node_type": 22, "src": { "line": 2774, @@ -14563,10 +14845,10 @@ "start": 102256, "end": 102275, "length": 20, - "parent_index": 5951 + "parent_index": 5953 }, "index_expression": { - "id": 5953, + "id": 5955, "node_type": 16, "src": { "line": 2774, @@ -14574,19 +14856,20 @@ "start": 102256, "end": 102265, "length": 10, - "parent_index": 5952 + "parent_index": 5954 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5954, + "id": 5956, "node_type": 16, "src": { "line": 2774, @@ -14594,7 +14877,7 @@ "start": 102267, "end": 102274, "length": 8, - "parent_index": 5952 + "parent_index": 5954 }, "name": "strategy", "type_description": { @@ -14602,12 +14885,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5942, - "is_pure": false + "referenced_declaration": 5944, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -14616,24 +14900,25 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "isActive", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].isActive" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "body": { - "id": 5955, + "id": 5957, "node_type": 46, "kind": 0, "src": { @@ -14642,12 +14927,12 @@ "start": 102287, "end": 102327, "length": 41, - "parent_index": 5927 + "parent_index": 5929 }, "implemented": true, "statements": [ { - "id": 5956, + "id": 5958, "node_type": 75, "src": { "line": 2775, @@ -14655,14 +14940,14 @@ "start": 102305, "end": 102313, "length": 9, - "parent_index": 5955 + "parent_index": 5957 } } ] } }, { - "id": 5957, + "id": 5959, "node_type": 44, "src": { "line": 2779, @@ -14670,25 +14955,25 @@ "start": 102406, "end": 102463, "length": 58, - "parent_index": 5941 + "parent_index": 5943 }, "assignments": [ - 5958 + 5960 ], "declarations": [ { - "id": 5958, + "id": 5960, "state_mutability": 1, "name": "balanceLastHarvest", "node_type": 44, - "scope": 5941, + "scope": 5943, "src": { "line": 2779, "column": 12, "start": 102406, "end": 102431, "length": 26, - "parent_index": 5957 + "parent_index": 5959 }, "name_location": { "line": 2779, @@ -14696,12 +14981,12 @@ "start": 102414, "end": 102431, "length": 18, - "parent_index": 5958 + "parent_index": 5960 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5959, + "id": 5961, "node_type": 30, "src": { "line": 2779, @@ -14709,7 +14994,7 @@ "start": 102406, "end": 102412, "length": 7, - "parent_index": 5958 + "parent_index": 5960 }, "name": "uint232", "referenced_declaration": 0, @@ -14722,7 +15007,7 @@ } ], "initial_value": { - "id": 5960, + "id": 5962, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14734,7 +15019,7 @@ "start": 102435, "end": 102462, "length": 28, - "parent_index": 5957 + "parent_index": 5959 }, "member_location": { "line": 2779, @@ -14742,10 +15027,10 @@ "start": 102456, "end": 102462, "length": 7, - "parent_index": 5960 + "parent_index": 5962 }, "expression": { - "id": 5961, + "id": 5963, "node_type": 22, "src": { "line": 2779, @@ -14753,10 +15038,10 @@ "start": 102435, "end": 102454, "length": 20, - "parent_index": 5957 + "parent_index": 5959 }, "index_expression": { - "id": 5962, + "id": 5964, "node_type": 16, "src": { "line": 2779, @@ -14764,19 +15049,20 @@ "start": 102435, "end": 102444, "length": 10, - "parent_index": 5961 + "parent_index": 5963 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5963, + "id": 5965, "node_type": 16, "src": { "line": 2779, @@ -14784,7 +15070,7 @@ "start": 102446, "end": 102453, "length": 8, - "parent_index": 5961 + "parent_index": 5963 }, "name": "strategy", "type_description": { @@ -14792,12 +15078,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5942, - "is_pure": false + "referenced_declaration": 5944, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -14806,20 +15093,21 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" } }, { - "id": 5964, + "id": 5966, "node_type": 44, "src": { "line": 2780, @@ -14827,25 +15115,25 @@ "start": 102477, "end": 102533, "length": 57, - "parent_index": 5941 + "parent_index": 5943 }, "assignments": [ - 5965 + 5967 ], "declarations": [ { - "id": 5965, + "id": 5967, "state_mutability": 1, "name": "balanceThisHarvest", "node_type": 44, - "scope": 5941, + "scope": 5943, "src": { "line": 2780, "column": 12, "start": 102477, "end": 102502, "length": 26, - "parent_index": 5964 + "parent_index": 5966 }, "name_location": { "line": 2780, @@ -14853,12 +15141,12 @@ "start": 102485, "end": 102502, "length": 18, - "parent_index": 5965 + "parent_index": 5967 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5966, + "id": 5968, "node_type": 30, "src": { "line": 2780, @@ -14866,7 +15154,7 @@ "start": 102477, "end": 102483, "length": 7, - "parent_index": 5965 + "parent_index": 5967 }, "name": "uint256", "referenced_declaration": 0, @@ -14879,7 +15167,7 @@ } ], "initial_value": { - "id": 5967, + "id": 5969, "node_type": 24, "kind": 24, "src": { @@ -14888,12 +15176,12 @@ "start": 102506, "end": 102532, "length": 27, - "parent_index": 5964 + "parent_index": 5966 }, "argument_types": [], "arguments": [], "expression": { - "id": 5968, + "id": 5970, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14905,7 +15193,7 @@ "start": 102506, "end": 102530, "length": 25, - "parent_index": 5967 + "parent_index": 5969 }, "member_location": { "line": 2780, @@ -14913,10 +15201,10 @@ "start": 102515, "end": 102530, "length": 16, - "parent_index": 5968 + "parent_index": 5970 }, "expression": { - "id": 5969, + "id": 5971, "node_type": 16, "src": { "line": 2780, @@ -14924,7 +15212,7 @@ "start": 102506, "end": 102513, "length": 8, - "parent_index": 5968 + "parent_index": 5970 }, "name": "strategy", "type_description": { @@ -14932,15 +15220,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5942, - "is_pure": false + "referenced_declaration": 5944, + "is_pure": false, + "text": "strategy" }, "member_name": "totalLockedValue", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.totalLockedValue" }, "type_description": { "type_identifier": "t_function_$", @@ -14949,7 +15239,7 @@ } }, { - "id": 5970, + "id": 5972, "node_type": 27, "src": { "line": 2783, @@ -14957,10 +15247,10 @@ "start": 102601, "end": 102659, "length": 59, - "parent_index": 5941 + "parent_index": 5943 }, "expression": { - "id": 5971, + "id": 5973, "node_type": 27, "src": { "line": 2783, @@ -14968,11 +15258,11 @@ "start": 102601, "end": 102658, "length": 58, - "parent_index": 5970 + "parent_index": 5972 }, "operator": 11, "left_expression": { - "id": 5972, + "id": 5974, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14984,7 +15274,7 @@ "start": 102601, "end": 102628, "length": 28, - "parent_index": 5971 + "parent_index": 5973 }, "member_location": { "line": 2783, @@ -14992,10 +15282,10 @@ "start": 102622, "end": 102628, "length": 7, - "parent_index": 5972 + "parent_index": 5974 }, "expression": { - "id": 5973, + "id": 5975, "node_type": 22, "src": { "line": 2783, @@ -15003,10 +15293,10 @@ "start": 102601, "end": 102620, "length": 20, - "parent_index": 5972 + "parent_index": 5974 }, "index_expression": { - "id": 5974, + "id": 5976, "node_type": 16, "src": { "line": 2783, @@ -15014,19 +15304,20 @@ "start": 102601, "end": 102610, "length": 10, - "parent_index": 5973 + "parent_index": 5975 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5975, + "id": 5977, "node_type": 16, "src": { "line": 2783, @@ -15034,7 +15325,7 @@ "start": 102612, "end": 102619, "length": 8, - "parent_index": 5973 + "parent_index": 5975 }, "name": "strategy", "type_description": { @@ -15042,12 +15333,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5942, - "is_pure": false + "referenced_declaration": 5944, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -15056,19 +15348,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" }, "right_expression": { - "id": 5976, + "id": 5978, "node_type": 24, "kind": 24, "src": { @@ -15077,7 +15370,7 @@ "start": 102632, "end": 102658, "length": 27, - "parent_index": 5971 + "parent_index": 5973 }, "argument_types": [ { @@ -15087,7 +15380,7 @@ ], "arguments": [ { - "id": 5979, + "id": 5981, "node_type": 16, "src": { "line": 2783, @@ -15095,7 +15388,7 @@ "start": 102640, "end": 102657, "length": 18, - "parent_index": 5976 + "parent_index": 5978 }, "name": "balanceThisHarvest", "type_description": { @@ -15103,12 +15396,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5964, - "is_pure": false + "referenced_declaration": 5966, + "is_pure": false, + "text": "balanceThisHarvest" } ], "expression": { - "id": 5977, + "id": 5979, "node_type": 16, "src": { "line": 2783, @@ -15116,11 +15410,11 @@ "start": 102632, "end": 102638, "length": 7, - "parent_index": 5976 + "parent_index": 5978 }, "name": "uint232", "type_name": { - "id": 5978, + "id": 5980, "node_type": 30, "src": { "line": 2783, @@ -15128,7 +15422,7 @@ "start": 102632, "end": 102638, "length": 7, - "parent_index": 5977 + "parent_index": 5979 }, "name": "uint232", "referenced_declaration": 0, @@ -15149,7 +15443,8 @@ "type_identifier": "t_uint232", "type_string": "uint232" } - ] + ], + "text": "uint232" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -15157,17 +15452,18 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance=uint232(balanceThisHarvest);" }, { - "id": 5980, + "id": 5982, "node_type": 27, "src": { "line": 2787, @@ -15175,10 +15471,10 @@ "start": 102880, "end": 102973, "length": 94, - "parent_index": 5941 + "parent_index": 5943 }, "expression": { - "id": 5981, + "id": 5983, "node_type": 27, "src": { "line": 2787, @@ -15186,11 +15482,11 @@ "start": 102880, "end": 102972, "length": 93, - "parent_index": 5980 + "parent_index": 5982 }, "operator": 11, "left_expression": { - "id": 5982, + "id": 5984, "node_type": 16, "src": { "line": 2787, @@ -15198,7 +15494,7 @@ "start": 102880, "end": 102903, "length": 24, - "parent_index": 5981 + "parent_index": 5983 }, "name": "newTotalStrategyHoldings", "type_description": { @@ -15206,11 +15502,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5920, - "is_pure": false + "referenced_declaration": 5922, + "is_pure": false, + "text": "newTotalStrategyHoldings" }, "right_expression": { - "id": 5983, + "id": 5985, "is_constant": false, "is_pure": false, "node_type": 19, @@ -15220,11 +15517,11 @@ "start": 102907, "end": 102972, "length": 66, - "parent_index": 5981 + "parent_index": 5983 }, "operator": 2, "left_expression": { - "id": 5984, + "id": 5986, "is_constant": false, "is_pure": false, "node_type": 19, @@ -15234,11 +15531,11 @@ "start": 102907, "end": 102951, "length": 45, - "parent_index": 5983 + "parent_index": 5985 }, "operator": 1, "left_expression": { - "id": 5985, + "id": 5987, "node_type": 16, "src": { "line": 2787, @@ -15246,7 +15543,7 @@ "start": 102907, "end": 102930, "length": 24, - "parent_index": 5984 + "parent_index": 5986 }, "name": "newTotalStrategyHoldings", "type_description": { @@ -15254,11 +15551,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5920, - "is_pure": false + "referenced_declaration": 5922, + "is_pure": false, + "text": "newTotalStrategyHoldings" }, "right_expression": { - "id": 5986, + "id": 5988, "node_type": 16, "src": { "line": 2787, @@ -15266,7 +15564,7 @@ "start": 102934, "end": 102951, "length": 18, - "parent_index": 5984 + "parent_index": 5986 }, "name": "balanceThisHarvest", "type_description": { @@ -15274,8 +15572,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5964, - "is_pure": false + "referenced_declaration": 5966, + "is_pure": false, + "text": "balanceThisHarvest" }, "type_description": { "type_identifier": "t_uint256", @@ -15283,7 +15582,7 @@ } }, "right_expression": { - "id": 5987, + "id": 5989, "node_type": 16, "src": { "line": 2787, @@ -15291,7 +15590,7 @@ "start": 102955, "end": 102972, "length": 18, - "parent_index": 5983 + "parent_index": 5985 }, "name": "balanceLastHarvest", "type_description": { @@ -15299,8 +15598,9 @@ "type_string": "uint232" }, "overloaded_declarations": [], - "referenced_declaration": 5957, - "is_pure": false + "referenced_declaration": 5959, + "is_pure": false, + "text": "balanceLastHarvest" }, "type_description": { "type_identifier": "t_uint256", @@ -15315,10 +15615,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "newTotalStrategyHoldings=newTotalStrategyHoldings+balanceThisHarvest-balanceLastHarvest;" }, { - "id": 5988, + "id": 5990, "node_type": 59, "kind": 0, "src": { @@ -15327,12 +15628,12 @@ "start": 102988, "end": 103461, "length": 474, - "parent_index": 5193 + "parent_index": 5194 }, "implemented": false, "statements": [ { - "id": 5989, + "id": 5991, "node_type": 27, "src": { "line": 2792, @@ -15340,10 +15641,10 @@ "start": 103198, "end": 103376, "length": 179, - "parent_index": 5988 + "parent_index": 5990 }, "expression": { - "id": 5990, + "id": 5992, "node_type": 27, "src": { "line": 2792, @@ -15351,11 +15652,11 @@ "start": 103198, "end": 103375, "length": 178, - "parent_index": 5989 + "parent_index": 5991 }, "operator": 13, "left_expression": { - "id": 5991, + "id": 5993, "node_type": 16, "src": { "line": 2792, @@ -15363,7 +15664,7 @@ "start": 103198, "end": 103215, "length": 18, - "parent_index": 5990 + "parent_index": 5992 }, "name": "totalProfitAccrued", "type_description": { @@ -15371,11 +15672,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5924, - "is_pure": false + "referenced_declaration": 5926, + "is_pure": false, + "text": "totalProfitAccrued" }, "right_expression": { - "id": 5993, + "id": 5995, "node_type": 97, "src": { "line": 2792, @@ -15383,11 +15685,11 @@ "start": 103220, "end": 103375, "length": 156, - "parent_index": 5990 + "parent_index": 5992 }, "expressions": [ { - "id": 5994, + "id": 5996, "is_constant": false, "is_pure": false, "node_type": 19, @@ -15397,11 +15699,11 @@ "start": 103220, "end": 103258, "length": 39, - "parent_index": 5993 + "parent_index": 5995 }, "operator": 7, "left_expression": { - "id": 5995, + "id": 5997, "node_type": 16, "src": { "line": 2792, @@ -15409,7 +15711,7 @@ "start": 103220, "end": 103237, "length": 18, - "parent_index": 5994 + "parent_index": 5996 }, "name": "balanceThisHarvest", "type_description": { @@ -15417,11 +15719,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5964, - "is_pure": false + "referenced_declaration": 5966, + "is_pure": false, + "text": "balanceThisHarvest" }, "right_expression": { - "id": 5996, + "id": 5998, "node_type": 16, "src": { "line": 2792, @@ -15429,7 +15732,7 @@ "start": 103241, "end": 103258, "length": 18, - "parent_index": 5994 + "parent_index": 5996 }, "name": "balanceLastHarvest", "type_description": { @@ -15437,8 +15740,9 @@ "type_string": "uint232" }, "overloaded_declarations": [], - "referenced_declaration": 5957, - "is_pure": false + "referenced_declaration": 5959, + "is_pure": false, + "text": "balanceLastHarvest" }, "type_description": { "type_identifier": "t_bool", @@ -15446,7 +15750,7 @@ } }, { - "id": 5997, + "id": 5999, "is_constant": false, "is_pure": false, "node_type": 19, @@ -15456,11 +15760,11 @@ "start": 103282, "end": 103320, "length": 39, - "parent_index": 5993 + "parent_index": 5995 }, "operator": 2, "left_expression": { - "id": 5998, + "id": 6000, "node_type": 16, "src": { "line": 2793, @@ -15468,7 +15772,7 @@ "start": 103282, "end": 103299, "length": 18, - "parent_index": 5997 + "parent_index": 5999 }, "name": "balanceThisHarvest", "type_description": { @@ -15476,11 +15780,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5964, - "is_pure": false + "referenced_declaration": 5966, + "is_pure": false, + "text": "balanceThisHarvest" }, "right_expression": { - "id": 5999, + "id": 6001, "node_type": 16, "src": { "line": 2793, @@ -15488,7 +15793,7 @@ "start": 103303, "end": 103320, "length": 18, - "parent_index": 5997 + "parent_index": 5999 }, "name": "balanceLastHarvest", "type_description": { @@ -15496,8 +15801,9 @@ "type_string": "uint232" }, "overloaded_declarations": [], - "referenced_declaration": 5957, - "is_pure": false + "referenced_declaration": 5959, + "is_pure": false, + "text": "balanceLastHarvest" }, "type_description": { "type_identifier": "t_uint256", @@ -15505,7 +15811,7 @@ } }, { - "id": 6000, + "id": 6002, "node_type": 17, "kind": 49, "value": "0", @@ -15516,7 +15822,7 @@ "start": 103375, "end": 103375, "length": 1, - "parent_index": 5993 + "parent_index": 5995 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -15524,7 +15830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -15551,7 +15858,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalProfitAccrued+=balanceThisHarvest\u003ebalanceLastHarvest?balanceThisHarvest-balanceLastHarvest:0;" } ] } @@ -15559,7 +15867,7 @@ } }, { - "id": 6001, + "id": 6003, "node_type": 27, "src": { "line": 2799, @@ -15567,10 +15875,10 @@ "start": 103574, "end": 103636, "length": 63, - "parent_index": 5906 + "parent_index": 5908 }, "expression": { - "id": 6002, + "id": 6004, "node_type": 27, "src": { "line": 2799, @@ -15578,11 +15886,11 @@ "start": 103574, "end": 103635, "length": 62, - "parent_index": 6001 + "parent_index": 6003 }, "operator": 11, "left_expression": { - "id": 6003, + "id": 6005, "node_type": 16, "src": { "line": 2799, @@ -15590,7 +15898,7 @@ "start": 103574, "end": 103588, "length": 15, - "parent_index": 6002 + "parent_index": 6004 }, "name": "maxLockedProfit", "type_description": { @@ -15598,11 +15906,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5882, - "is_pure": false + "referenced_declaration": 5884, + "is_pure": false, + "text": "maxLockedProfit" }, "right_expression": { - "id": 6004, + "id": 6006, "node_type": 24, "kind": 24, "src": { @@ -15611,7 +15920,7 @@ "start": 103592, "end": 103635, "length": 44, - "parent_index": 6002 + "parent_index": 6004 }, "argument_types": [ { @@ -15621,7 +15930,7 @@ ], "arguments": [ { - "id": 6007, + "id": 6009, "is_constant": false, "is_pure": false, "node_type": 19, @@ -15631,11 +15940,11 @@ "start": 103600, "end": 103634, "length": 35, - "parent_index": 6004 + "parent_index": 6006 }, "operator": 1, "left_expression": { - "id": 6008, + "id": 6010, "node_type": 24, "kind": 24, "src": { @@ -15644,12 +15953,12 @@ "start": 103600, "end": 103613, "length": 14, - "parent_index": 6007 + "parent_index": 6009 }, "argument_types": [], "arguments": [], "expression": { - "id": 6009, + "id": 6011, "node_type": 16, "src": { "line": 2799, @@ -15657,7 +15966,7 @@ "start": 103600, "end": 103611, "length": 12, - "parent_index": 6008 + "parent_index": 6010 }, "name": "lockedProfit", "type_description": { @@ -15666,7 +15975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "lockedProfit" }, "type_description": { "type_identifier": "t_function_$", @@ -15674,7 +15984,7 @@ } }, "right_expression": { - "id": 6010, + "id": 6012, "node_type": 16, "src": { "line": 2799, @@ -15682,7 +15992,7 @@ "start": 103617, "end": 103634, "length": 18, - "parent_index": 6007 + "parent_index": 6009 }, "name": "totalProfitAccrued", "type_description": { @@ -15690,8 +16000,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5924, - "is_pure": false + "referenced_declaration": 5926, + "is_pure": false, + "text": "totalProfitAccrued" }, "type_description": { "type_identifier": "t_function_$", @@ -15700,7 +16011,7 @@ } ], "expression": { - "id": 6005, + "id": 6007, "node_type": 16, "src": { "line": 2799, @@ -15708,11 +16019,11 @@ "start": 103592, "end": 103598, "length": 7, - "parent_index": 6004 + "parent_index": 6006 }, "name": "uint128", "type_name": { - "id": 6006, + "id": 6008, "node_type": 30, "src": { "line": 2799, @@ -15720,7 +16031,7 @@ "start": 103592, "end": 103598, "length": 7, - "parent_index": 6005 + "parent_index": 6007 }, "name": "uint128", "referenced_declaration": 0, @@ -15741,7 +16052,8 @@ "type_identifier": "t_uint128", "type_string": "uint128" } - ] + ], + "text": "uint128" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15756,10 +16068,11 @@ "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "maxLockedProfit=uint128(lockedProfit()+totalProfitAccrued);" }, { - "id": 6011, + "id": 6013, "node_type": 27, "src": { "line": 2802, @@ -15767,10 +16080,10 @@ "start": 103698, "end": 103746, "length": 49, - "parent_index": 5906 + "parent_index": 5908 }, "expression": { - "id": 6012, + "id": 6014, "node_type": 27, "src": { "line": 2802, @@ -15778,11 +16091,11 @@ "start": 103698, "end": 103745, "length": 48, - "parent_index": 6011 + "parent_index": 6013 }, "operator": 11, "left_expression": { - "id": 6013, + "id": 6015, "node_type": 16, "src": { "line": 2802, @@ -15790,7 +16103,7 @@ "start": 103698, "end": 103718, "length": 21, - "parent_index": 6012 + "parent_index": 6014 }, "name": "totalStrategyHoldings", "type_description": { @@ -15798,11 +16111,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" }, "right_expression": { - "id": 6014, + "id": 6016, "node_type": 16, "src": { "line": 2802, @@ -15810,7 +16124,7 @@ "start": 103722, "end": 103745, "length": 24, - "parent_index": 6012 + "parent_index": 6014 }, "name": "newTotalStrategyHoldings", "type_description": { @@ -15818,8 +16132,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5920, - "is_pure": false + "referenced_declaration": 5922, + "is_pure": false, + "text": "newTotalStrategyHoldings" }, "type_description": { "type_identifier": "t_uint256", @@ -15829,10 +16144,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalStrategyHoldings=newTotalStrategyHoldings;" }, { - "id": 6015, + "id": 6017, "node_type": 24, "kind": 24, "src": { @@ -15841,12 +16157,12 @@ "start": 103843, "end": 103855, "length": 13, - "parent_index": 5906 + "parent_index": 5908 }, "argument_types": [], "arguments": [], "expression": { - "id": 6016, + "id": 6018, "node_type": 16, "src": { "line": 2805, @@ -15854,7 +16170,7 @@ "start": 103843, "end": 103853, "length": 11, - "parent_index": 6015 + "parent_index": 6017 }, "name": "_assessFees", "type_description": { @@ -15863,7 +16179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_assessFees" }, "type_description": { "type_identifier": "t_function_$", @@ -15871,7 +16188,7 @@ } }, { - "id": 6017, + "id": 6019, "node_type": 27, "src": { "line": 2806, @@ -15879,10 +16196,10 @@ "start": 103866, "end": 103904, "length": 39, - "parent_index": 5906 + "parent_index": 5908 }, "expression": { - "id": 6018, + "id": 6020, "node_type": 27, "src": { "line": 2806, @@ -15890,11 +16207,11 @@ "start": 103866, "end": 103903, "length": 38, - "parent_index": 6017 + "parent_index": 6019 }, "operator": 11, "left_expression": { - "id": 6019, + "id": 6021, "node_type": 16, "src": { "line": 2806, @@ -15902,7 +16219,7 @@ "start": 103866, "end": 103876, "length": 11, - "parent_index": 6018 + "parent_index": 6020 }, "name": "lastHarvest", "type_description": { @@ -15910,11 +16227,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5879, - "is_pure": false + "referenced_declaration": 5881, + "is_pure": false, + "text": "lastHarvest" }, "right_expression": { - "id": 6020, + "id": 6022, "node_type": 24, "kind": 24, "src": { @@ -15923,7 +16241,7 @@ "start": 103880, "end": 103903, "length": 24, - "parent_index": 6018 + "parent_index": 6020 }, "argument_types": [ { @@ -15933,7 +16251,7 @@ ], "arguments": [ { - "id": 6023, + "id": 6025, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -15945,7 +16263,7 @@ "start": 103888, "end": 103902, "length": 15, - "parent_index": 6020 + "parent_index": 6022 }, "member_location": { "line": 2806, @@ -15953,10 +16271,10 @@ "start": 103894, "end": 103902, "length": 9, - "parent_index": 6023 + "parent_index": 6025 }, "expression": { - "id": 6024, + "id": 6026, "node_type": 16, "src": { "line": 2806, @@ -15964,7 +16282,7 @@ "start": 103888, "end": 103892, "length": 5, - "parent_index": 6023 + "parent_index": 6025 }, "name": "block", "type_description": { @@ -15973,18 +16291,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 6021, + "id": 6023, "node_type": 16, "src": { "line": 2806, @@ -15992,11 +16312,11 @@ "start": 103880, "end": 103886, "length": 7, - "parent_index": 6020 + "parent_index": 6022 }, "name": "uint128", "type_name": { - "id": 6022, + "id": 6024, "node_type": 30, "src": { "line": 2806, @@ -16004,7 +16324,7 @@ "start": 103880, "end": 103886, "length": 7, - "parent_index": 6021 + "parent_index": 6023 }, "name": "uint128", "referenced_declaration": 0, @@ -16025,7 +16345,8 @@ "type_identifier": "t_uint128", "type_string": "uint128" } - ] + ], + "text": "uint128" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -16040,10 +16361,11 @@ "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "lastHarvest=uint128(block.timestamp);" }, { - "id": 6025, + "id": 6027, "node_type": 64, "src": { "line": 2808, @@ -16051,11 +16373,11 @@ "start": 103915, "end": 103953, "length": 39, - "parent_index": 5897 + "parent_index": 5899 }, "arguments": [ { - "id": 6026, + "id": 6028, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -16067,7 +16389,7 @@ "start": 103928, "end": 103937, "length": 10, - "parent_index": 6025 + "parent_index": 6027 }, "member_location": { "line": 2808, @@ -16075,10 +16397,10 @@ "start": 103932, "end": 103937, "length": 6, - "parent_index": 6026 + "parent_index": 6028 }, "expression": { - "id": 6027, + "id": 6029, "node_type": 16, "src": { "line": 2808, @@ -16086,7 +16408,7 @@ "start": 103928, "end": 103930, "length": 3, - "parent_index": 6026 + "parent_index": 6028 }, "name": "msg", "type_description": { @@ -16095,17 +16417,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 6028, + "id": 6030, "node_type": 16, "src": { "line": 2808, @@ -16113,7 +16437,7 @@ "start": 103940, "end": 103951, "length": 12, - "parent_index": 6025 + "parent_index": 6027 }, "name": "strategyList", "type_description": { @@ -16121,12 +16445,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6028, - "is_pure": false + "referenced_declaration": 6030, + "is_pure": false, + "text": "strategyList" } ], "expression": { - "id": 6029, + "id": 6031, "node_type": 16, "src": { "line": 2808, @@ -16134,16 +16459,17 @@ "start": 103920, "end": 103926, "length": 7, - "parent_index": 6025 + "parent_index": 6027 }, "name": "Harvest", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Harvest_\u00265889", + "type_identifier": "t_event\u0026_BaseVault_Harvest_\u00265891", "type_string": "event BaseVault.Harvest" }, "overloaded_declarations": [], - "referenced_declaration": 5889, - "is_pure": false + "referenced_declaration": 5891, + "is_pure": false, + "text": "Harvest" } } ] @@ -16154,7 +16480,7 @@ "virtual": false, "modifiers": [ { - "id": 5902, + "id": 5904, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -16164,7 +16490,7 @@ "start": 101404, "end": 101422, "length": 19, - "parent_index": 5897 + "parent_index": 5899 }, "argument_types": [ { @@ -16174,7 +16500,7 @@ ], "arguments": [ { - "id": 5904, + "id": 5906, "node_type": 16, "src": { "line": 2755, @@ -16182,7 +16508,7 @@ "start": 101413, "end": 101421, "length": 9, - "parent_index": 5902 + "parent_index": 5904 }, "name": "HARVESTER", "type_description": { @@ -16190,12 +16516,13 @@ "type_string": "function(string memory)" }, "overloaded_declarations": [], - "referenced_declaration": 5323, - "is_pure": false + "referenced_declaration": 5324, + "is_pure": false, + "text": "HARVESTER" } ], "modifier_name": { - "id": 5903, + "id": 5905, "name": "onlyRole", "node_type": 0, "src": { @@ -16204,14 +16531,14 @@ "start": 101404, "end": 101411, "length": 8, - "parent_index": 5902 + "parent_index": 5904 } } } ], "overrides": [], "parameters": { - "id": 5898, + "id": 5900, "node_type": 43, "src": { "line": 2755, @@ -16219,11 +16546,11 @@ "start": 101361, "end": 101392, "length": 32, - "parent_index": 5897 + "parent_index": 5899 }, "parameters": [ { - "id": 5899, + "id": 5901, "node_type": 44, "src": { "line": 2755, @@ -16231,12 +16558,12 @@ "start": 101361, "end": 101392, "length": 32, - "parent_index": 5898 + "parent_index": 5900 }, - "scope": 5897, + "scope": 5899, "name": "strategyList", "type_name": { - "id": 5900, + "id": 5902, "node_type": 69, "src": { "line": 2755, @@ -16244,24 +16571,24 @@ "start": 101361, "end": 101368, "length": 8, - "parent_index": 5899 + "parent_index": 5901 }, "name": "Strategy", "path_node": { - "id": 5901, + "id": 5903, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2755, "column": 21, "start": 101361, "end": 101368, "length": 8, - "parent_index": 5900 + "parent_index": 5902 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -16284,7 +16611,7 @@ ] }, "return_parameters": { - "id": 5905, + "id": 5907, "node_type": 43, "src": { "line": 2755, @@ -16292,21 +16619,22 @@ "start": 101344, "end": 103959, "length": 2616, - "parent_index": 5897 + "parent_index": 5899 }, "parameters": [], "parameter_types": [] }, "signature_raw": "harvest(Strategy)", "signature": "d1f29967", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "functionharvest(Strategy[]calldatastrategyList)externalonlyRole(HARVESTER){require(block.timestamp\u003e=lastHarvest+LOCK_INTERVAL,\"BV: profit unlocking\");uint256oldTotalStrategyHoldings=totalStrategyHoldings;uint256newTotalStrategyHoldings=oldTotalStrategyHoldings;uint256totalProfitAccrued;for(uint256i=0;i\u003cstrategyList.length;i=uncheckedInc(i)){Strategystrategy=strategyList[i];if(!strategies[strategy].isActive){continue;}uint232balanceLastHarvest=strategies[strategy].balance;uint256balanceThisHarvest=strategy.totalLockedValue();strategies[strategy].balance=uint232(balanceThisHarvest);newTotalStrategyHoldings=newTotalStrategyHoldings+balanceThisHarvest-balanceLastHarvest;unchecked{totalProfitAccrued+=balanceThisHarvest\u003ebalanceLastHarvest?balanceThisHarvest-balanceLastHarvest:0;}}maxLockedProfit=uint128(lockedProfit()+totalProfitAccrued);totalStrategyHoldings=newTotalStrategyHoldings;_assessFees();lastHarvest=uint128(block.timestamp);emitHarvest(msg.sender,strategyList);}" }, { - "id": 6031, + "id": 6033, "name": "lockedProfit", "node_type": 42, "kind": 41, @@ -16316,7 +16644,7 @@ "start": 104116, "end": 104430, "length": 315, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2815, @@ -16324,10 +16652,10 @@ "start": 104125, "end": 104136, "length": 12, - "parent_index": 6031 + "parent_index": 6033 }, "body": { - "id": 6038, + "id": 6040, "node_type": 46, "kind": 0, "src": { @@ -16336,12 +16664,12 @@ "start": 104178, "end": 104430, "length": 253, - "parent_index": 6031 + "parent_index": 6033 }, "implemented": true, "statements": [ { - "id": 6039, + "id": 6041, "node_type": 48, "src": { "line": 2816, @@ -16349,10 +16677,10 @@ "start": 104188, "end": 104272, "length": 85, - "parent_index": 6038 + "parent_index": 6040 }, "condition": { - "id": 6040, + "id": 6042, "is_constant": false, "is_pure": false, "node_type": 19, @@ -16362,11 +16690,11 @@ "start": 104192, "end": 104237, "length": 46, - "parent_index": 6039 + "parent_index": 6041 }, "operator": 8, "left_expression": { - "id": 6041, + "id": 6043, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -16378,7 +16706,7 @@ "start": 104192, "end": 104206, "length": 15, - "parent_index": 6040 + "parent_index": 6042 }, "member_location": { "line": 2816, @@ -16386,10 +16714,10 @@ "start": 104198, "end": 104206, "length": 9, - "parent_index": 6041 + "parent_index": 6043 }, "expression": { - "id": 6042, + "id": 6044, "node_type": 16, "src": { "line": 2816, @@ -16397,7 +16725,7 @@ "start": 104192, "end": 104196, "length": 5, - "parent_index": 6041 + "parent_index": 6043 }, "name": "block", "type_description": { @@ -16406,17 +16734,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { - "id": 6043, + "id": 6045, "is_constant": false, "is_pure": false, "node_type": 19, @@ -16426,11 +16756,11 @@ "start": 104211, "end": 104237, "length": 27, - "parent_index": 6040 + "parent_index": 6042 }, "operator": 1, "left_expression": { - "id": 6044, + "id": 6046, "node_type": 16, "src": { "line": 2816, @@ -16438,7 +16768,7 @@ "start": 104211, "end": 104221, "length": 11, - "parent_index": 6043 + "parent_index": 6045 }, "name": "lastHarvest", "type_description": { @@ -16446,11 +16776,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5879, - "is_pure": false + "referenced_declaration": 5881, + "is_pure": false, + "text": "lastHarvest" }, "right_expression": { - "id": 6045, + "id": 6047, "node_type": 16, "src": { "line": 2816, @@ -16458,7 +16789,7 @@ "start": 104225, "end": 104237, "length": 13, - "parent_index": 6043 + "parent_index": 6045 }, "name": "LOCK_INTERVAL", "type_description": { @@ -16466,8 +16797,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 5885, - "is_pure": false + "referenced_declaration": 5887, + "is_pure": false, + "text": "LOCK_INTERVAL" }, "type_description": { "type_identifier": "t_uint128", @@ -16480,7 +16812,7 @@ } }, "body": { - "id": 6046, + "id": 6048, "node_type": 46, "kind": 0, "src": { @@ -16489,12 +16821,12 @@ "start": 104240, "end": 104272, "length": 33, - "parent_index": 6031 + "parent_index": 6033 }, "implemented": true, "statements": [ { - "id": 6047, + "id": 6049, "node_type": 47, "src": { "line": 2817, @@ -16502,11 +16834,11 @@ "start": 104254, "end": 104262, "length": 9, - "parent_index": 6031 + "parent_index": 6033 }, - "function_return_parameters": 6031, + "function_return_parameters": 6033, "expression": { - "id": 6048, + "id": 6050, "node_type": 17, "kind": 49, "value": "0", @@ -16517,7 +16849,7 @@ "start": 104261, "end": 104261, "length": 1, - "parent_index": 6047 + "parent_index": 6049 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -16525,14 +16857,15 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] } }, { - "id": 6049, + "id": 6051, "node_type": 44, "src": { "line": 2820, @@ -16540,25 +16873,25 @@ "start": 104283, "end": 104375, "length": 93, - "parent_index": 6038 + "parent_index": 6040 }, "assignments": [ - 6050 + 6052 ], "declarations": [ { - "id": 6050, + "id": 6052, "state_mutability": 1, "name": "unlockedProfit", "node_type": 44, - "scope": 6038, + "scope": 6040, "src": { "line": 2820, "column": 8, "start": 104283, "end": 104304, "length": 22, - "parent_index": 6049 + "parent_index": 6051 }, "name_location": { "line": 2820, @@ -16566,12 +16899,12 @@ "start": 104291, "end": 104304, "length": 14, - "parent_index": 6050 + "parent_index": 6052 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6051, + "id": 6053, "node_type": 30, "src": { "line": 2820, @@ -16579,7 +16912,7 @@ "start": 104283, "end": 104289, "length": 7, - "parent_index": 6050 + "parent_index": 6052 }, "name": "uint256", "referenced_declaration": 0, @@ -16592,7 +16925,7 @@ } ], "initial_value": { - "id": 6052, + "id": 6054, "is_constant": false, "is_pure": false, "node_type": 19, @@ -16602,11 +16935,11 @@ "start": 104308, "end": 104374, "length": 67, - "parent_index": 6049 + "parent_index": 6051 }, "operator": 4, "left_expression": { - "id": 6053, + "id": 6055, "node_type": 60, "src": { "line": 2820, @@ -16614,13 +16947,13 @@ "start": 104308, "end": 104358, "length": 51, - "parent_index": 6052 + "parent_index": 6054 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 6054, + "id": 6056, "is_constant": false, "is_pure": false, "node_type": 19, @@ -16630,11 +16963,11 @@ "start": 104309, "end": 104357, "length": 49, - "parent_index": 6053 + "parent_index": 6055 }, "operator": 3, "left_expression": { - "id": 6055, + "id": 6057, "node_type": 16, "src": { "line": 2820, @@ -16642,7 +16975,7 @@ "start": 104309, "end": 104323, "length": 15, - "parent_index": 6054 + "parent_index": 6056 }, "name": "maxLockedProfit", "type_description": { @@ -16650,11 +16983,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5882, - "is_pure": false + "referenced_declaration": 5884, + "is_pure": false, + "text": "maxLockedProfit" }, "right_expression": { - "id": 6056, + "id": 6058, "node_type": 60, "src": { "line": 2820, @@ -16662,13 +16996,13 @@ "start": 104327, "end": 104357, "length": 31, - "parent_index": 6054 + "parent_index": 6056 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 6057, + "id": 6059, "is_constant": false, "is_pure": false, "node_type": 19, @@ -16678,11 +17012,11 @@ "start": 104328, "end": 104356, "length": 29, - "parent_index": 6056 + "parent_index": 6058 }, "operator": 2, "left_expression": { - "id": 6058, + "id": 6060, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -16694,7 +17028,7 @@ "start": 104328, "end": 104342, "length": 15, - "parent_index": 6049 + "parent_index": 6051 }, "member_location": { "line": 2820, @@ -16702,10 +17036,10 @@ "start": 104334, "end": 104342, "length": 9, - "parent_index": 6058 + "parent_index": 6060 }, "expression": { - "id": 6059, + "id": 6061, "node_type": 16, "src": { "line": 2820, @@ -16713,7 +17047,7 @@ "start": 104328, "end": 104332, "length": 5, - "parent_index": 6058 + "parent_index": 6060 }, "name": "block", "type_description": { @@ -16722,17 +17056,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { - "id": 6060, + "id": 6062, "node_type": 16, "src": { "line": 2820, @@ -16740,7 +17076,7 @@ "start": 104346, "end": 104356, "length": 11, - "parent_index": 6057 + "parent_index": 6059 }, "name": "lastHarvest", "type_description": { @@ -16748,8 +17084,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5879, - "is_pure": false + "referenced_declaration": 5881, + "is_pure": false, + "text": "lastHarvest" }, "type_description": { "type_identifier": "t_uint256", @@ -16774,7 +17111,7 @@ } }, "right_expression": { - "id": 6061, + "id": 6063, "node_type": 16, "src": { "line": 2820, @@ -16782,7 +17119,7 @@ "start": 104362, "end": 104374, "length": 13, - "parent_index": 6052 + "parent_index": 6054 }, "name": "LOCK_INTERVAL", "type_description": { @@ -16790,8 +17127,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 5885, - "is_pure": false + "referenced_declaration": 5887, + "is_pure": false, + "text": "LOCK_INTERVAL" }, "type_description": { "type_identifier": "t_tuple_$_t_uint128$", @@ -16800,7 +17138,7 @@ } }, { - "id": 6062, + "id": 6064, "node_type": 47, "src": { "line": 2821, @@ -16808,11 +17146,11 @@ "start": 104385, "end": 104424, "length": 40, - "parent_index": 6031 + "parent_index": 6033 }, - "function_return_parameters": 6031, + "function_return_parameters": 6033, "expression": { - "id": 6063, + "id": 6065, "is_constant": false, "is_pure": false, "node_type": 19, @@ -16822,11 +17160,11 @@ "start": 104392, "end": 104423, "length": 32, - "parent_index": 6062 + "parent_index": 6064 }, "operator": 2, "left_expression": { - "id": 6064, + "id": 6066, "node_type": 16, "src": { "line": 2821, @@ -16834,7 +17172,7 @@ "start": 104392, "end": 104406, "length": 15, - "parent_index": 6063 + "parent_index": 6065 }, "name": "maxLockedProfit", "type_description": { @@ -16842,11 +17180,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5882, - "is_pure": false + "referenced_declaration": 5884, + "is_pure": false, + "text": "maxLockedProfit" }, "right_expression": { - "id": 6065, + "id": 6067, "node_type": 16, "src": { "line": 2821, @@ -16854,7 +17193,7 @@ "start": 104410, "end": 104423, "length": 14, - "parent_index": 6063 + "parent_index": 6065 }, "name": "unlockedProfit", "type_description": { @@ -16862,8 +17201,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6049, - "is_pure": false + "referenced_declaration": 6051, + "is_pure": false, + "text": "unlockedProfit" }, "type_description": { "type_identifier": "t_uint128", @@ -16880,7 +17220,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6032, + "id": 6034, "node_type": 43, "src": { "line": 2815, @@ -16888,11 +17228,11 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6031 + "parent_index": 6033 }, "parameters": [ { - "id": 6033, + "id": 6035, "node_type": 44, "src": { "line": 2815, @@ -16900,12 +17240,12 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6032 + "parent_index": 6034 }, - "scope": 6031, + "scope": 6033, "name": "", "type_name": { - "id": 6034, + "id": 6036, "node_type": 30, "src": { "line": 2815, @@ -16913,7 +17253,7 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6033 + "parent_index": 6035 }, "name": "uint256", "referenced_declaration": 0, @@ -16939,7 +17279,7 @@ ] }, "return_parameters": { - "id": 6035, + "id": 6037, "node_type": 43, "src": { "line": 2815, @@ -16947,11 +17287,11 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6031 + "parent_index": 6033 }, "parameters": [ { - "id": 6036, + "id": 6038, "node_type": 44, "src": { "line": 2815, @@ -16959,12 +17299,12 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6035 + "parent_index": 6037 }, - "scope": 6031, + "scope": 6033, "name": "", "type_name": { - "id": 6037, + "id": 6039, "node_type": 30, "src": { "line": 2815, @@ -16972,7 +17312,7 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6036 + "parent_index": 6038 }, "name": "uint256", "referenced_declaration": 0, @@ -16999,14 +17339,15 @@ }, "signature_raw": "lockedProfit(uint256)", "signature": "5ecc012c", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionlockedProfit()publicviewvirtualreturns(uint256){if(block.timestamp\u003e=lastHarvest+LOCK_INTERVAL){return0;}uint256unlockedProfit=(maxLockedProfit*(block.timestamp-lastHarvest))/LOCK_INTERVAL;returnmaxLockedProfit-unlockedProfit;}" }, { - "id": 6067, + "id": 6069, "name": "vaultTVL", "node_type": 42, "kind": 41, @@ -17016,7 +17357,7 @@ "start": 104696, "end": 104824, "length": 129, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2829, @@ -17024,10 +17365,10 @@ "start": 104705, "end": 104712, "length": 8, - "parent_index": 6067 + "parent_index": 6069 }, "body": { - "id": 6074, + "id": 6076, "node_type": 46, "kind": 0, "src": { @@ -17036,12 +17377,12 @@ "start": 104746, "end": 104824, "length": 79, - "parent_index": 6067 + "parent_index": 6069 }, "implemented": true, "statements": [ { - "id": 6075, + "id": 6077, "node_type": 47, "src": { "line": 2830, @@ -17049,11 +17390,11 @@ "start": 104756, "end": 104818, "length": 63, - "parent_index": 6067 + "parent_index": 6069 }, - "function_return_parameters": 6067, + "function_return_parameters": 6069, "expression": { - "id": 6076, + "id": 6078, "is_constant": false, "is_pure": false, "node_type": 19, @@ -17063,11 +17404,11 @@ "start": 104763, "end": 104817, "length": 55, - "parent_index": 6075 + "parent_index": 6077 }, "operator": 1, "left_expression": { - "id": 6077, + "id": 6079, "node_type": 24, "kind": 24, "src": { @@ -17076,7 +17417,7 @@ "start": 104763, "end": 104793, "length": 31, - "parent_index": 6076 + "parent_index": 6078 }, "argument_types": [ { @@ -17086,7 +17427,7 @@ ], "arguments": [ { - "id": 6080, + "id": 6082, "node_type": 24, "kind": 24, "src": { @@ -17095,17 +17436,17 @@ "start": 104780, "end": 104792, "length": 13, - "parent_index": 6077 + "parent_index": 6079 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } ], "arguments": [ { - "id": 6083, + "id": 6085, "node_type": 16, "src": { "line": 2830, @@ -17113,20 +17454,21 @@ "start": 104788, "end": 104791, "length": 4, - "parent_index": 6080 + "parent_index": 6082 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6081, + "id": 6083, "node_type": 16, "src": { "line": 2830, @@ -17134,11 +17476,11 @@ "start": 104780, "end": 104786, "length": 7, - "parent_index": 6080 + "parent_index": 6082 }, "name": "address", "type_name": { - "id": 6082, + "id": 6084, "node_type": 30, "src": { "line": 2830, @@ -17146,7 +17488,7 @@ "start": 104780, "end": 104786, "length": 7, - "parent_index": 6081 + "parent_index": 6083 }, "name": "address", "state_mutability": 4, @@ -17168,7 +17510,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17177,7 +17520,7 @@ } ], "expression": { - "id": 6078, + "id": 6080, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -17189,7 +17532,7 @@ "start": 104763, "end": 104778, "length": 16, - "parent_index": 6077 + "parent_index": 6079 }, "member_location": { "line": 2830, @@ -17197,10 +17540,10 @@ "start": 104770, "end": 104778, "length": 9, - "parent_index": 6078 + "parent_index": 6080 }, "expression": { - "id": 6079, + "id": 6081, "node_type": 16, "src": { "line": 2830, @@ -17208,23 +17551,25 @@ "start": 104763, "end": 104768, "length": 6, - "parent_index": 6078 + "parent_index": 6080 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -17232,7 +17577,7 @@ } }, "right_expression": { - "id": 6084, + "id": 6086, "node_type": 16, "src": { "line": 2830, @@ -17240,7 +17585,7 @@ "start": 104797, "end": 104817, "length": 21, - "parent_index": 6076 + "parent_index": 6078 }, "name": "totalStrategyHoldings", "type_description": { @@ -17248,8 +17593,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -17266,7 +17612,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6068, + "id": 6070, "node_type": 43, "src": { "line": 2829, @@ -17274,11 +17620,11 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6067 + "parent_index": 6069 }, "parameters": [ { - "id": 6069, + "id": 6071, "node_type": 44, "src": { "line": 2829, @@ -17286,12 +17632,12 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6068 + "parent_index": 6070 }, - "scope": 6067, + "scope": 6069, "name": "", "type_name": { - "id": 6070, + "id": 6072, "node_type": 30, "src": { "line": 2829, @@ -17299,7 +17645,7 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6069 + "parent_index": 6071 }, "name": "uint256", "referenced_declaration": 0, @@ -17325,7 +17671,7 @@ ] }, "return_parameters": { - "id": 6071, + "id": 6073, "node_type": 43, "src": { "line": 2829, @@ -17333,11 +17679,11 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6067 + "parent_index": 6069 }, "parameters": [ { - "id": 6072, + "id": 6074, "node_type": 44, "src": { "line": 2829, @@ -17345,12 +17691,12 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6071 + "parent_index": 6073 }, - "scope": 6067, + "scope": 6069, "name": "", "type_name": { - "id": 6073, + "id": 6075, "node_type": 30, "src": { "line": 2829, @@ -17358,7 +17704,7 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6072 + "parent_index": 6074 }, "name": "uint256", "referenced_declaration": 0, @@ -17385,14 +17731,15 @@ }, "signature_raw": "vaultTVL(uint256)", "signature": "7947f67f", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionvaultTVL()publicviewreturns(uint256){return_asset.balanceOf(address(this))+totalStrategyHoldings;}" }, { - "id": 6086, + "id": 6088, "node_type": 57, "src": { "line": 2839, @@ -17400,10 +17747,10 @@ "start": 105155, "end": 105223, "length": 69, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 6087, + "id": 6089, "node_type": 43, "src": { "line": 2839, @@ -17411,11 +17758,11 @@ "start": 105155, "end": 105223, "length": 69, - "parent_index": 6086 + "parent_index": 6088 }, "parameters": [ { - "id": 6088, + "id": 6090, "node_type": 44, "src": { "line": 2839, @@ -17423,12 +17770,12 @@ "start": 105173, "end": 105195, "length": 23, - "parent_index": 6087 + "parent_index": 6089 }, - "scope": 6086, + "scope": 6088, "name": "assetsRequested", "type_name": { - "id": 6089, + "id": 6091, "node_type": 30, "src": { "line": 2839, @@ -17436,7 +17783,7 @@ "start": 105173, "end": 105179, "length": 7, - "parent_index": 6088 + "parent_index": 6090 }, "name": "uint256", "referenced_declaration": 0, @@ -17454,7 +17801,7 @@ } }, { - "id": 6090, + "id": 6092, "node_type": 44, "src": { "line": 2839, @@ -17462,12 +17809,12 @@ "start": 105198, "end": 105221, "length": 24, - "parent_index": 6087 + "parent_index": 6089 }, - "scope": 6086, + "scope": 6088, "name": "assetsLiquidated", "type_name": { - "id": 6091, + "id": 6093, "node_type": 30, "src": { "line": 2839, @@ -17475,7 +17822,7 @@ "start": 105198, "end": 105204, "length": 7, - "parent_index": 6090 + "parent_index": 6092 }, "name": "uint256", "referenced_declaration": 0, @@ -17507,12 +17854,12 @@ "name": "Liquidation", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Liquidation_\u00266086", + "type_identifier": "t_event\u0026_BaseVault_Liquidation_\u00266088", "type_string": "event BaseVault.Liquidation" } }, { - "id": 6093, + "id": 6095, "name": "_liquidate", "node_type": 42, "kind": 41, @@ -17522,7 +17869,7 @@ "start": 105519, "end": 106414, "length": 896, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2847, @@ -17530,10 +17877,10 @@ "start": 105528, "end": 105537, "length": 10, - "parent_index": 6093 + "parent_index": 6095 }, "body": { - "id": 6100, + "id": 6102, "node_type": 46, "kind": 0, "src": { @@ -17542,12 +17889,12 @@ "start": 105582, "end": 106414, "length": 833, - "parent_index": 6093 + "parent_index": 6095 }, "implemented": true, "statements": [ { - "id": 6101, + "id": 6103, "node_type": 44, "src": { "line": 2848, @@ -17555,25 +17902,25 @@ "start": 105592, "end": 105616, "length": 25, - "parent_index": 6100 + "parent_index": 6102 }, "assignments": [ - 6102 + 6104 ], "declarations": [ { - "id": 6102, + "id": 6104, "state_mutability": 1, "name": "amountLiquidated", "node_type": 44, - "scope": 6100, + "scope": 6102, "src": { "line": 2848, "column": 8, "start": 105592, "end": 105615, "length": 24, - "parent_index": 6101 + "parent_index": 6103 }, "name_location": { "line": 2848, @@ -17581,12 +17928,12 @@ "start": 105600, "end": 105615, "length": 16, - "parent_index": 6102 + "parent_index": 6104 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6103, + "id": 6105, "node_type": 30, "src": { "line": 2848, @@ -17594,7 +17941,7 @@ "start": 105592, "end": 105598, "length": 7, - "parent_index": 6102 + "parent_index": 6104 }, "name": "uint256", "referenced_declaration": 0, @@ -17608,7 +17955,7 @@ ] }, { - "id": 6104, + "id": 6106, "node_type": 79, "src": { "line": 2849, @@ -17616,10 +17963,10 @@ "start": 105626, "end": 106286, "length": 661, - "parent_index": 6100 + "parent_index": 6102 }, "initialiser": { - "id": 6105, + "id": 6107, "node_type": 44, "src": { "line": 2849, @@ -17627,25 +17974,25 @@ "start": 105631, "end": 105644, "length": 14, - "parent_index": 6100 + "parent_index": 6102 }, "assignments": [ - 6106 + 6108 ], "declarations": [ { - "id": 6106, + "id": 6108, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 6100, + "scope": 6102, "src": { "line": 2849, "column": 13, "start": 105631, "end": 105639, "length": 9, - "parent_index": 6105 + "parent_index": 6107 }, "name_location": { "line": 2849, @@ -17653,12 +18000,12 @@ "start": 105639, "end": 105639, "length": 1, - "parent_index": 6106 + "parent_index": 6108 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6107, + "id": 6109, "node_type": 30, "src": { "line": 2849, @@ -17666,7 +18013,7 @@ "start": 105631, "end": 105637, "length": 7, - "parent_index": 6106 + "parent_index": 6108 }, "name": "uint256", "referenced_declaration": 0, @@ -17679,7 +18026,7 @@ } ], "initial_value": { - "id": 6108, + "id": 6110, "node_type": 17, "kind": 49, "value": "0", @@ -17690,7 +18037,7 @@ "start": 105643, "end": 105643, "length": 1, - "parent_index": 6105 + "parent_index": 6107 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -17698,11 +18045,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 6109, + "id": 6111, "is_constant": false, "is_pure": false, "node_type": 19, @@ -17712,11 +18060,11 @@ "start": 105646, "end": 105663, "length": 18, - "parent_index": 6104 + "parent_index": 6106 }, "operator": 9, "left_expression": { - "id": 6110, + "id": 6112, "node_type": 16, "src": { "line": 2849, @@ -17724,7 +18072,7 @@ "start": 105646, "end": 105646, "length": 1, - "parent_index": 6109 + "parent_index": 6111 }, "name": "i", "type_description": { @@ -17733,10 +18081,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6111, + "id": 6113, "node_type": 16, "src": { "line": 2849, @@ -17744,7 +18093,7 @@ "start": 105650, "end": 105663, "length": 14, - "parent_index": 6109 + "parent_index": 6111 }, "name": "MAX_STRATEGIES", "type_description": { @@ -17752,8 +18101,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -17761,7 +18111,7 @@ } }, "closure": { - "id": 6112, + "id": 6114, "node_type": 27, "src": { "line": 2849, @@ -17769,11 +18119,11 @@ "start": 105666, "end": 105684, "length": 19, - "parent_index": 6104 + "parent_index": 6106 }, "operator": 11, "left_expression": { - "id": 6113, + "id": 6115, "node_type": 16, "src": { "line": 2849, @@ -17781,7 +18131,7 @@ "start": 105666, "end": 105666, "length": 1, - "parent_index": 6112 + "parent_index": 6114 }, "name": "i", "type_description": { @@ -17790,10 +18140,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6114, + "id": 6116, "node_type": 24, "kind": 24, "src": { @@ -17802,7 +18153,7 @@ "start": 105670, "end": 105684, "length": 15, - "parent_index": 6112 + "parent_index": 6114 }, "argument_types": [ { @@ -17812,7 +18163,7 @@ ], "arguments": [ { - "id": 6116, + "id": 6118, "node_type": 16, "src": { "line": 2849, @@ -17820,7 +18171,7 @@ "start": 105683, "end": 105683, "length": 1, - "parent_index": 6114 + "parent_index": 6116 }, "name": "i", "type_description": { @@ -17829,11 +18180,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 6115, + "id": 6117, "node_type": 16, "src": { "line": 2849, @@ -17841,7 +18193,7 @@ "start": 105670, "end": 105681, "length": 12, - "parent_index": 6114 + "parent_index": 6116 }, "name": "uncheckedInc", "type_description": { @@ -17850,7 +18202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -17863,7 +18216,7 @@ } }, "body": { - "id": 6117, + "id": 6119, "node_type": 46, "kind": 0, "src": { @@ -17872,12 +18225,12 @@ "start": 105687, "end": 106286, "length": 600, - "parent_index": 6104 + "parent_index": 6106 }, "implemented": true, "statements": [ { - "id": 6118, + "id": 6120, "node_type": 44, "src": { "line": 2850, @@ -17885,25 +18238,25 @@ "start": 105701, "end": 105739, "length": 39, - "parent_index": 6117 + "parent_index": 6119 }, "assignments": [ - 6119 + 6121 ], "declarations": [ { - "id": 6119, + "id": 6121, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 6117, + "scope": 6119, "src": { "line": 2850, "column": 12, "start": 105701, "end": 105717, "length": 17, - "parent_index": 6118 + "parent_index": 6120 }, "name_location": { "line": 2850, @@ -17911,12 +18264,12 @@ "start": 105710, "end": 105717, "length": 8, - "parent_index": 6119 + "parent_index": 6121 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6120, + "id": 6122, "node_type": 69, "src": { "line": 2850, @@ -17924,20 +18277,20 @@ "start": 105701, "end": 105708, "length": 8, - "parent_index": 6119 + "parent_index": 6121 }, "path_node": { - "id": 6121, + "id": 6123, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2850, "column": 12, "start": 105701, "end": 105708, "length": 8, - "parent_index": 6120 + "parent_index": 6122 }, "name_location": { "line": 2850, @@ -17945,10 +18298,10 @@ "start": 105701, "end": 105708, "length": 8, - "parent_index": 6120 + "parent_index": 6122 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -17958,7 +18311,7 @@ } ], "initial_value": { - "id": 6122, + "id": 6124, "node_type": 22, "src": { "line": 2850, @@ -17966,10 +18319,10 @@ "start": 105721, "end": 105738, "length": 18, - "parent_index": 6118 + "parent_index": 6120 }, "index_expression": { - "id": 6123, + "id": 6125, "node_type": 16, "src": { "line": 2850, @@ -17977,7 +18330,7 @@ "start": 105721, "end": 105735, "length": 15, - "parent_index": 6122 + "parent_index": 6124 }, "name": "withdrawalQueue", "type_description": { @@ -17985,11 +18338,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 6124, + "id": 6126, "node_type": 16, "src": { "line": 2850, @@ -17997,7 +18351,7 @@ "start": 105737, "end": 105737, "length": 1, - "parent_index": 6122 + "parent_index": 6124 }, "name": "i", "type_description": { @@ -18006,7 +18360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -18025,7 +18380,7 @@ } }, { - "id": 6125, + "id": 6127, "node_type": 48, "src": { "line": 2851, @@ -18033,10 +18388,10 @@ "start": 105753, "end": 105827, "length": 75, - "parent_index": 6117 + "parent_index": 6119 }, "condition": { - "id": 6126, + "id": 6128, "is_constant": false, "is_pure": false, "node_type": 19, @@ -18046,11 +18401,11 @@ "start": 105757, "end": 105787, "length": 31, - "parent_index": 6125 + "parent_index": 6127 }, "operator": 11, "left_expression": { - "id": 6127, + "id": 6129, "node_type": 24, "kind": 24, "src": { @@ -18059,7 +18414,7 @@ "start": 105757, "end": 105773, "length": 17, - "parent_index": 6126 + "parent_index": 6128 }, "argument_types": [ { @@ -18069,7 +18424,7 @@ ], "arguments": [ { - "id": 6130, + "id": 6132, "node_type": 16, "src": { "line": 2851, @@ -18077,7 +18432,7 @@ "start": 105765, "end": 105772, "length": 8, - "parent_index": 6127 + "parent_index": 6129 }, "name": "strategy", "type_description": { @@ -18085,12 +18440,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6118, - "is_pure": false + "referenced_declaration": 6120, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 6128, + "id": 6130, "node_type": 16, "src": { "line": 2851, @@ -18098,11 +18454,11 @@ "start": 105757, "end": 105763, "length": 7, - "parent_index": 6127 + "parent_index": 6129 }, "name": "address", "type_name": { - "id": 6129, + "id": 6131, "node_type": 30, "src": { "line": 2851, @@ -18110,7 +18466,7 @@ "start": 105757, "end": 105763, "length": 7, - "parent_index": 6128 + "parent_index": 6130 }, "name": "address", "state_mutability": 4, @@ -18132,7 +18488,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18140,7 +18497,7 @@ } }, "right_expression": { - "id": 6131, + "id": 6133, "node_type": 24, "kind": 24, "src": { @@ -18149,7 +18506,7 @@ "start": 105778, "end": 105787, "length": 10, - "parent_index": 6126 + "parent_index": 6128 }, "argument_types": [ { @@ -18159,7 +18516,7 @@ ], "arguments": [ { - "id": 6134, + "id": 6136, "node_type": 17, "kind": 49, "value": "0", @@ -18170,7 +18527,7 @@ "start": 105786, "end": 105786, "length": 1, - "parent_index": 6131 + "parent_index": 6133 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -18178,11 +18535,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 6132, + "id": 6134, "node_type": 16, "src": { "line": 2851, @@ -18190,11 +18548,11 @@ "start": 105778, "end": 105784, "length": 7, - "parent_index": 6131 + "parent_index": 6133 }, "name": "address", "type_name": { - "id": 6133, + "id": 6135, "node_type": 30, "src": { "line": 2851, @@ -18202,7 +18560,7 @@ "start": 105778, "end": 105784, "length": 7, - "parent_index": 6132 + "parent_index": 6134 }, "name": "address", "state_mutability": 4, @@ -18224,7 +18582,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18237,7 +18596,7 @@ } }, "body": { - "id": 6135, + "id": 6137, "node_type": 46, "kind": 0, "src": { @@ -18246,12 +18605,12 @@ "start": 105790, "end": 105827, "length": 38, - "parent_index": 6104 + "parent_index": 6106 }, "implemented": true, "statements": [ { - "id": 6136, + "id": 6138, "node_type": 74, "src": { "line": 2852, @@ -18259,14 +18618,14 @@ "start": 105808, "end": 105813, "length": 6, - "parent_index": 6135 + "parent_index": 6137 } } ] } }, { - "id": 6137, + "id": 6139, "node_type": 44, "src": { "line": 2855, @@ -18274,25 +18633,25 @@ "start": 105842, "end": 105891, "length": 50, - "parent_index": 6117 + "parent_index": 6119 }, "assignments": [ - 6138 + 6140 ], "declarations": [ { - "id": 6138, + "id": 6140, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 6117, + "scope": 6119, "src": { "line": 2855, "column": 12, "start": 105842, "end": 105856, "length": 15, - "parent_index": 6137 + "parent_index": 6139 }, "name_location": { "line": 2855, @@ -18300,12 +18659,12 @@ "start": 105850, "end": 105856, "length": 7, - "parent_index": 6138 + "parent_index": 6140 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6139, + "id": 6141, "node_type": 30, "src": { "line": 2855, @@ -18313,7 +18672,7 @@ "start": 105842, "end": 105848, "length": 7, - "parent_index": 6138 + "parent_index": 6140 }, "name": "uint256", "referenced_declaration": 0, @@ -18326,7 +18685,7 @@ } ], "initial_value": { - "id": 6140, + "id": 6142, "node_type": 24, "kind": 24, "src": { @@ -18335,7 +18694,7 @@ "start": 105860, "end": 105890, "length": 31, - "parent_index": 6137 + "parent_index": 6139 }, "argument_types": [ { @@ -18345,7 +18704,7 @@ ], "arguments": [ { - "id": 6143, + "id": 6145, "node_type": 24, "kind": 24, "src": { @@ -18354,17 +18713,17 @@ "start": 105877, "end": 105889, "length": 13, - "parent_index": 6140 + "parent_index": 6142 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } ], "arguments": [ { - "id": 6146, + "id": 6148, "node_type": 16, "src": { "line": 2855, @@ -18372,20 +18731,21 @@ "start": 105885, "end": 105888, "length": 4, - "parent_index": 6143 + "parent_index": 6145 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6144, + "id": 6146, "node_type": 16, "src": { "line": 2855, @@ -18393,11 +18753,11 @@ "start": 105877, "end": 105883, "length": 7, - "parent_index": 6143 + "parent_index": 6145 }, "name": "address", "type_name": { - "id": 6145, + "id": 6147, "node_type": 30, "src": { "line": 2855, @@ -18405,7 +18765,7 @@ "start": 105877, "end": 105883, "length": 7, - "parent_index": 6144 + "parent_index": 6146 }, "name": "address", "state_mutability": 4, @@ -18427,7 +18787,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18436,7 +18797,7 @@ } ], "expression": { - "id": 6141, + "id": 6143, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -18448,7 +18809,7 @@ "start": 105860, "end": 105875, "length": 16, - "parent_index": 6140 + "parent_index": 6142 }, "member_location": { "line": 2855, @@ -18456,10 +18817,10 @@ "start": 105867, "end": 105875, "length": 9, - "parent_index": 6141 + "parent_index": 6143 }, "expression": { - "id": 6142, + "id": 6144, "node_type": 16, "src": { "line": 2855, @@ -18467,23 +18828,25 @@ "start": 105860, "end": 105865, "length": 6, - "parent_index": 6141 + "parent_index": 6143 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -18492,7 +18855,7 @@ } }, { - "id": 6147, + "id": 6149, "node_type": 48, "src": { "line": 2856, @@ -18500,10 +18863,10 @@ "start": 105905, "end": 105965, "length": 61, - "parent_index": 6117 + "parent_index": 6119 }, "condition": { - "id": 6148, + "id": 6150, "is_constant": false, "is_pure": false, "node_type": 19, @@ -18513,11 +18876,11 @@ "start": 105909, "end": 105925, "length": 17, - "parent_index": 6147 + "parent_index": 6149 }, "operator": 8, "left_expression": { - "id": 6149, + "id": 6151, "node_type": 16, "src": { "line": 2856, @@ -18525,7 +18888,7 @@ "start": 105909, "end": 105915, "length": 7, - "parent_index": 6148 + "parent_index": 6150 }, "name": "balance", "type_description": { @@ -18533,11 +18896,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6137, - "is_pure": false + "referenced_declaration": 6139, + "is_pure": false, + "text": "balance" }, "right_expression": { - "id": 6150, + "id": 6152, "node_type": 16, "src": { "line": 2856, @@ -18545,7 +18909,7 @@ "start": 105920, "end": 105925, "length": 6, - "parent_index": 6148 + "parent_index": 6150 }, "name": "amount", "type_description": { @@ -18554,7 +18918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -18562,7 +18927,7 @@ } }, "body": { - "id": 6151, + "id": 6153, "node_type": 46, "kind": 0, "src": { @@ -18571,12 +18936,12 @@ "start": 105928, "end": 105965, "length": 38, - "parent_index": 6104 + "parent_index": 6106 }, "implemented": true, "statements": [ { - "id": 6152, + "id": 6154, "node_type": 74, "src": { "line": 2857, @@ -18584,14 +18949,14 @@ "start": 105946, "end": 105951, "length": 6, - "parent_index": 6151 + "parent_index": 6153 } } ] } }, { - "id": 6153, + "id": 6155, "node_type": 44, "src": { "line": 2860, @@ -18599,25 +18964,25 @@ "start": 105980, "end": 106019, "length": 40, - "parent_index": 6117 + "parent_index": 6119 }, "assignments": [ - 6154 + 6156 ], "declarations": [ { - "id": 6154, + "id": 6156, "state_mutability": 1, "name": "amountNeeded", "node_type": 44, - "scope": 6117, + "scope": 6119, "src": { "line": 2860, "column": 12, "start": 105980, "end": 105999, "length": 20, - "parent_index": 6153 + "parent_index": 6155 }, "name_location": { "line": 2860, @@ -18625,12 +18990,12 @@ "start": 105988, "end": 105999, "length": 12, - "parent_index": 6154 + "parent_index": 6156 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6155, + "id": 6157, "node_type": 30, "src": { "line": 2860, @@ -18638,7 +19003,7 @@ "start": 105980, "end": 105986, "length": 7, - "parent_index": 6154 + "parent_index": 6156 }, "name": "uint256", "referenced_declaration": 0, @@ -18651,7 +19016,7 @@ } ], "initial_value": { - "id": 6156, + "id": 6158, "is_constant": false, "is_pure": false, "node_type": 19, @@ -18661,11 +19026,11 @@ "start": 106003, "end": 106018, "length": 16, - "parent_index": 6153 + "parent_index": 6155 }, "operator": 2, "left_expression": { - "id": 6157, + "id": 6159, "node_type": 16, "src": { "line": 2860, @@ -18673,7 +19038,7 @@ "start": 106003, "end": 106008, "length": 6, - "parent_index": 6156 + "parent_index": 6158 }, "name": "amount", "type_description": { @@ -18682,10 +19047,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { - "id": 6158, + "id": 6160, "node_type": 16, "src": { "line": 2860, @@ -18693,7 +19059,7 @@ "start": 106012, "end": 106018, "length": 7, - "parent_index": 6156 + "parent_index": 6158 }, "name": "balance", "type_description": { @@ -18701,8 +19067,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6137, - "is_pure": false + "referenced_declaration": 6139, + "is_pure": false, + "text": "balance" }, "type_description": { "type_identifier": "t_uint256", @@ -18711,7 +19078,7 @@ } }, { - "id": 6159, + "id": 6161, "node_type": 27, "src": { "line": 2861, @@ -18719,10 +19086,10 @@ "start": 106033, "end": 106100, "length": 68, - "parent_index": 6117 + "parent_index": 6119 }, "expression": { - "id": 6160, + "id": 6162, "node_type": 27, "src": { "line": 2861, @@ -18730,11 +19097,11 @@ "start": 106033, "end": 106099, "length": 67, - "parent_index": 6159 + "parent_index": 6161 }, "operator": 11, "left_expression": { - "id": 6161, + "id": 6163, "node_type": 16, "src": { "line": 2861, @@ -18742,7 +19109,7 @@ "start": 106033, "end": 106044, "length": 12, - "parent_index": 6160 + "parent_index": 6162 }, "name": "amountNeeded", "type_description": { @@ -18750,11 +19117,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6153, - "is_pure": false + "referenced_declaration": 6155, + "is_pure": false, + "text": "amountNeeded" }, "right_expression": { - "id": 6162, + "id": 6164, "node_type": 24, "kind": 24, "src": { @@ -18763,7 +19131,7 @@ "start": 106048, "end": 106099, "length": 52, - "parent_index": 6160 + "parent_index": 6162 }, "argument_types": [ { @@ -18771,13 +19139,13 @@ "type_string": "uint256" }, { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } ], "arguments": [ { - "id": 6165, + "id": 6167, "node_type": 16, "src": { "line": 2861, @@ -18785,7 +19153,7 @@ "start": 106057, "end": 106068, "length": 12, - "parent_index": 6162 + "parent_index": 6164 }, "name": "amountNeeded", "type_description": { @@ -18793,11 +19161,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6153, - "is_pure": false + "referenced_declaration": 6155, + "is_pure": false, + "text": "amountNeeded" }, { - "id": 6166, + "id": 6168, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -18809,7 +19178,7 @@ "start": 106071, "end": 106098, "length": 28, - "parent_index": 6162 + "parent_index": 6164 }, "member_location": { "line": 2861, @@ -18817,10 +19186,10 @@ "start": 106092, "end": 106098, "length": 7, - "parent_index": 6166 + "parent_index": 6168 }, "expression": { - "id": 6167, + "id": 6169, "node_type": 22, "src": { "line": 2861, @@ -18828,10 +19197,10 @@ "start": 106071, "end": 106090, "length": 20, - "parent_index": 6166 + "parent_index": 6168 }, "index_expression": { - "id": 6168, + "id": 6170, "node_type": 16, "src": { "line": 2861, @@ -18839,19 +19208,20 @@ "start": 106071, "end": 106080, "length": 10, - "parent_index": 6167 + "parent_index": 6169 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 6169, + "id": 6171, "node_type": 16, "src": { "line": 2861, @@ -18859,7 +19229,7 @@ "start": 106082, "end": 106089, "length": 8, - "parent_index": 6167 + "parent_index": 6169 }, "name": "strategy", "type_description": { @@ -18867,12 +19237,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6118, - "is_pure": false + "referenced_declaration": 6120, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -18881,7 +19252,7 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, @@ -18893,13 +19264,14 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" } ], "expression": { - "id": 6163, + "id": 6165, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -18911,7 +19283,7 @@ "start": 106048, "end": 106055, "length": 8, - "parent_index": 6162 + "parent_index": 6164 }, "member_location": { "line": 2861, @@ -18919,10 +19291,10 @@ "start": 106053, "end": 106055, "length": 3, - "parent_index": 6163 + "parent_index": 6165 }, "expression": { - "id": 6164, + "id": 6166, "node_type": 16, "src": { "line": 2861, @@ -18930,7 +19302,7 @@ "start": 106048, "end": 106051, "length": 4, - "parent_index": 6163 + "parent_index": 6165 }, "name": "Math", "type_description": { @@ -18939,17 +19311,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "Math" }, "member_name": "min", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Math_$896", "type_string": "contract Math" - } + }, + "text": "Math.min" }, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_function_$_t_uint256$_t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "function(uint256,index[mapping(Strategy=\u003eStrategyInfo):function()])" } }, @@ -18961,10 +19335,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountNeeded=Math.min(amountNeeded,strategies[strategy].balance);" }, { - "id": 6170, + "id": 6172, "node_type": 44, "src": { "line": 2864, @@ -18972,25 +19347,25 @@ "start": 106168, "end": 106233, "length": 66, - "parent_index": 6117 + "parent_index": 6119 }, "assignments": [ - 6171 + 6173 ], "declarations": [ { - "id": 6171, + "id": 6173, "state_mutability": 1, "name": "withdrawn", "node_type": 44, - "scope": 6117, + "scope": 6119, "src": { "line": 2864, "column": 12, "start": 106168, "end": 106184, "length": 17, - "parent_index": 6170 + "parent_index": 6172 }, "name_location": { "line": 2864, @@ -18998,12 +19373,12 @@ "start": 106176, "end": 106184, "length": 9, - "parent_index": 6171 + "parent_index": 6173 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6172, + "id": 6174, "node_type": 30, "src": { "line": 2864, @@ -19011,7 +19386,7 @@ "start": 106168, "end": 106174, "length": 7, - "parent_index": 6171 + "parent_index": 6173 }, "name": "uint256", "referenced_declaration": 0, @@ -19024,7 +19399,7 @@ } ], "initial_value": { - "id": 6173, + "id": 6175, "node_type": 24, "kind": 24, "src": { @@ -19033,7 +19408,7 @@ "start": 106188, "end": 106232, "length": 45, - "parent_index": 6170 + "parent_index": 6172 }, "argument_types": [ { @@ -19047,7 +19422,7 @@ ], "arguments": [ { - "id": 6175, + "id": 6177, "node_type": 16, "src": { "line": 2864, @@ -19055,7 +19430,7 @@ "start": 106210, "end": 106217, "length": 8, - "parent_index": 6173 + "parent_index": 6175 }, "name": "strategy", "type_description": { @@ -19063,11 +19438,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6118, - "is_pure": false + "referenced_declaration": 6120, + "is_pure": false, + "text": "strategy" }, { - "id": 6176, + "id": 6178, "node_type": 16, "src": { "line": 2864, @@ -19075,7 +19451,7 @@ "start": 106220, "end": 106231, "length": 12, - "parent_index": 6173 + "parent_index": 6175 }, "name": "amountNeeded", "type_description": { @@ -19083,18 +19459,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6153, + "referenced_declaration": 6155, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountNeeded" } ], "expression": { - "id": 6174, + "id": 6176, "node_type": 16, "src": { "line": 2864, @@ -19102,7 +19479,7 @@ "start": 106188, "end": 106208, "length": 21, - "parent_index": 6173 + "parent_index": 6175 }, "name": "_withdrawFromStrategy", "type_description": { @@ -19111,7 +19488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawFromStrategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -19120,7 +19498,7 @@ } }, { - "id": 6177, + "id": 6179, "node_type": 27, "src": { "line": 2865, @@ -19128,10 +19506,10 @@ "start": 106247, "end": 106276, "length": 30, - "parent_index": 6117 + "parent_index": 6119 }, "expression": { - "id": 6178, + "id": 6180, "node_type": 27, "src": { "line": 2865, @@ -19139,11 +19517,11 @@ "start": 106247, "end": 106275, "length": 29, - "parent_index": 6177 + "parent_index": 6179 }, "operator": 13, "left_expression": { - "id": 6179, + "id": 6181, "node_type": 16, "src": { "line": 2865, @@ -19151,7 +19529,7 @@ "start": 106247, "end": 106262, "length": 16, - "parent_index": 6178 + "parent_index": 6180 }, "name": "amountLiquidated", "type_description": { @@ -19159,11 +19537,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6101, - "is_pure": false + "referenced_declaration": 6103, + "is_pure": false, + "text": "amountLiquidated" }, "right_expression": { - "id": 6180, + "id": 6182, "node_type": 16, "src": { "line": 2865, @@ -19171,7 +19550,7 @@ "start": 106267, "end": 106275, "length": 9, - "parent_index": 6178 + "parent_index": 6180 }, "name": "withdrawn", "type_description": { @@ -19179,8 +19558,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6170, - "is_pure": false + "referenced_declaration": 6172, + "is_pure": false, + "text": "withdrawn" }, "type_description": { "type_identifier": "t_uint256", @@ -19190,13 +19570,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountLiquidated+=withdrawn;" } ] } }, { - "id": 6181, + "id": 6183, "node_type": 64, "src": { "line": 2867, @@ -19204,11 +19585,11 @@ "start": 106296, "end": 106375, "length": 80, - "parent_index": 6093 + "parent_index": 6095 }, "arguments": [], "expression": { - "id": 6182, + "id": 6184, "node_type": 16, "src": { "line": 2867, @@ -19216,20 +19597,21 @@ "start": 106301, "end": 106311, "length": 11, - "parent_index": 6181 + "parent_index": 6183 }, "name": "Liquidation", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Liquidation_\u00266086", + "type_identifier": "t_event\u0026_BaseVault_Liquidation_\u00266088", "type_string": "event BaseVault.Liquidation" }, "overloaded_declarations": [], - "referenced_declaration": 6086, - "is_pure": false + "referenced_declaration": 6088, + "is_pure": false, + "text": "Liquidation" } }, { - "id": 6183, + "id": 6185, "node_type": 47, "src": { "line": 2868, @@ -19237,11 +19619,11 @@ "start": 106385, "end": 106408, "length": 24, - "parent_index": 6093 + "parent_index": 6095 }, - "function_return_parameters": 6093, + "function_return_parameters": 6095, "expression": { - "id": 6184, + "id": 6186, "node_type": 16, "src": { "line": 2868, @@ -19249,7 +19631,7 @@ "start": 106392, "end": 106407, "length": 16, - "parent_index": 6183 + "parent_index": 6185 }, "name": "amountLiquidated", "type_description": { @@ -19257,8 +19639,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6101, - "is_pure": false + "referenced_declaration": 6103, + "is_pure": false, + "text": "amountLiquidated" } } ] @@ -19270,7 +19653,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6094, + "id": 6096, "node_type": 43, "src": { "line": 2847, @@ -19278,11 +19661,11 @@ "start": 105539, "end": 105552, "length": 14, - "parent_index": 6093 + "parent_index": 6095 }, "parameters": [ { - "id": 6095, + "id": 6097, "node_type": 44, "src": { "line": 2847, @@ -19290,12 +19673,12 @@ "start": 105539, "end": 105552, "length": 14, - "parent_index": 6094 + "parent_index": 6096 }, - "scope": 6093, + "scope": 6095, "name": "amount", "type_name": { - "id": 6096, + "id": 6098, "node_type": 30, "src": { "line": 2847, @@ -19303,7 +19686,7 @@ "start": 105539, "end": 105545, "length": 7, - "parent_index": 6095 + "parent_index": 6097 }, "name": "uint256", "referenced_declaration": 0, @@ -19329,7 +19712,7 @@ ] }, "return_parameters": { - "id": 6097, + "id": 6099, "node_type": 43, "src": { "line": 2847, @@ -19337,11 +19720,11 @@ "start": 105573, "end": 105579, "length": 7, - "parent_index": 6093 + "parent_index": 6095 }, "parameters": [ { - "id": 6098, + "id": 6100, "node_type": 44, "src": { "line": 2847, @@ -19349,12 +19732,12 @@ "start": 105573, "end": 105579, "length": 7, - "parent_index": 6097 + "parent_index": 6099 }, - "scope": 6093, + "scope": 6095, "name": "", "type_name": { - "id": 6099, + "id": 6101, "node_type": 30, "src": { "line": 2847, @@ -19362,7 +19745,7 @@ "start": 105573, "end": 105579, "length": 7, - "parent_index": 6098 + "parent_index": 6100 }, "name": "uint256", "referenced_declaration": 0, @@ -19389,14 +19772,15 @@ }, "signature_raw": "_liquidate(uint256)", "signature": "267b1cb1", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_liquidate(uint256amount)internalreturns(uint256){uint256amountLiquidated;for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){Strategystrategy=withdrawalQueue[i];if(address(strategy)==address(0)){break;}uint256balance=_asset.balanceOf(address(this));if(balance\u003e=amount){break;}uint256amountNeeded=amount-balance;amountNeeded=Math.min(amountNeeded,strategies[strategy].balance);uint256withdrawn=_withdrawFromStrategy(strategy,amountNeeded);amountLiquidated+=withdrawn;}emitLiquidation({assetsRequested:amount,assetsLiquidated:amountLiquidated});returnamountLiquidated;}" }, { - "id": 6186, + "id": 6188, "name": "_assessFees", "node_type": 42, "kind": 41, @@ -19406,7 +19790,7 @@ "start": 106536, "end": 106577, "length": 42, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2875, @@ -19414,10 +19798,10 @@ "start": 106545, "end": 106555, "length": 11, - "parent_index": 6186 + "parent_index": 6188 }, "body": { - "id": 6189, + "id": 6191, "node_type": 46, "kind": 0, "src": { @@ -19426,7 +19810,7 @@ "start": 106576, "end": 106577, "length": 2, - "parent_index": 6186 + "parent_index": 6188 }, "implemented": true, "statements": [] @@ -19438,7 +19822,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6187, + "id": 6189, "node_type": 43, "src": { "line": 2875, @@ -19446,13 +19830,13 @@ "start": 106536, "end": 106577, "length": 42, - "parent_index": 6186 + "parent_index": 6188 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 6188, + "id": 6190, "node_type": 43, "src": { "line": 2875, @@ -19460,21 +19844,22 @@ "start": 106536, "end": 106577, "length": 42, - "parent_index": 6186 + "parent_index": 6188 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_assessFees()", "signature": "d2be0848", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_assessFees()internalvirtual{}" }, { - "id": 6191, + "id": 6193, "node_type": 57, "src": { "line": 2881, @@ -19482,10 +19867,10 @@ "start": 106744, "end": 106783, "length": 40, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 6192, + "id": 6194, "node_type": 43, "src": { "line": 2881, @@ -19493,11 +19878,11 @@ "start": 106744, "end": 106783, "length": 40, - "parent_index": 6191 + "parent_index": 6193 }, "parameters": [ { - "id": 6193, + "id": 6195, "node_type": 44, "src": { "line": 2881, @@ -19505,12 +19890,12 @@ "start": 106760, "end": 106781, "length": 22, - "parent_index": 6192 + "parent_index": 6194 }, - "scope": 6191, + "scope": 6193, "name": "caller", "type_name": { - "id": 6194, + "id": 6196, "node_type": 30, "src": { "line": 2881, @@ -19518,7 +19903,7 @@ "start": 106760, "end": 106766, "length": 7, - "parent_index": 6193 + "parent_index": 6195 }, "name": "address", "state_mutability": 4, @@ -19548,12 +19933,12 @@ "name": "Rebalance", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Rebalance_\u00266191", + "type_identifier": "t_event\u0026_BaseVault_Rebalance_\u00266193", "type_string": "event BaseVault.Rebalance" } }, { - "id": 6196, + "id": 6198, "name": "rebalance", "node_type": 42, "kind": 41, @@ -19563,7 +19948,7 @@ "start": 106855, "end": 108739, "length": 1885, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2884, @@ -19571,10 +19956,10 @@ "start": 106864, "end": 106872, "length": 9, - "parent_index": 6196 + "parent_index": 6198 }, "body": { - "id": 6202, + "id": 6204, "node_type": 46, "kind": 0, "src": { @@ -19583,12 +19968,12 @@ "start": 106905, "end": 108739, "length": 1835, - "parent_index": 6196 + "parent_index": 6198 }, "implemented": true, "statements": [ { - "id": 6203, + "id": 6205, "node_type": 44, "src": { "line": 2885, @@ -19596,25 +19981,25 @@ "start": 106915, "end": 106939, "length": 25, - "parent_index": 6202 + "parent_index": 6204 }, "assignments": [ - 6204 + 6206 ], "declarations": [ { - "id": 6204, + "id": 6206, "state_mutability": 1, "name": "tvl", "node_type": 44, - "scope": 6202, + "scope": 6204, "src": { "line": 2885, "column": 8, "start": 106915, "end": 106925, "length": 11, - "parent_index": 6203 + "parent_index": 6205 }, "name_location": { "line": 2885, @@ -19622,12 +20007,12 @@ "start": 106923, "end": 106925, "length": 3, - "parent_index": 6204 + "parent_index": 6206 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6205, + "id": 6207, "node_type": 30, "src": { "line": 2885, @@ -19635,7 +20020,7 @@ "start": 106915, "end": 106921, "length": 7, - "parent_index": 6204 + "parent_index": 6206 }, "name": "uint256", "referenced_declaration": 0, @@ -19648,7 +20033,7 @@ } ], "initial_value": { - "id": 6206, + "id": 6208, "node_type": 24, "kind": 24, "src": { @@ -19657,12 +20042,12 @@ "start": 106929, "end": 106938, "length": 10, - "parent_index": 6203 + "parent_index": 6205 }, "argument_types": [], "arguments": [], "expression": { - "id": 6207, + "id": 6209, "node_type": 16, "src": { "line": 2885, @@ -19670,7 +20055,7 @@ "start": 106929, "end": 106936, "length": 8, - "parent_index": 6206 + "parent_index": 6208 }, "name": "vaultTVL", "type_description": { @@ -19679,7 +20064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vaultTVL" }, "type_description": { "type_identifier": "t_function_$", @@ -19688,7 +20074,7 @@ } }, { - "id": 6208, + "id": 6210, "node_type": 44, "src": { "line": 2889, @@ -19696,25 +20082,25 @@ "start": 107082, "end": 107128, "length": 47, - "parent_index": 6202 + "parent_index": 6204 }, "assignments": [ - 6209 + 6211 ], "declarations": [ { - "id": 6209, + "id": 6211, "state_mutability": 1, "name": "amountsToInvest", "node_type": 44, - "scope": 6202, + "scope": 6204, "src": { "line": 2889, "column": 8, "start": 107082, "end": 107127, "length": 46, - "parent_index": 6208 + "parent_index": 6210 }, "name_location": { "line": 2889, @@ -19722,12 +20108,12 @@ "start": 107113, "end": 107127, "length": 15, - "parent_index": 6209 + "parent_index": 6211 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 6210, + "id": 6212, "node_type": 16, "src": { "line": 2889, @@ -19735,12 +20121,12 @@ "start": 107082, "end": 107088, "length": 7, - "parent_index": 6209 + "parent_index": 6211 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 6212, + "id": 6214, "node_type": 16, "src": { "line": 2889, @@ -19748,7 +20134,7 @@ "start": 107090, "end": 107103, "length": 14, - "parent_index": 6210 + "parent_index": 6212 }, "name": "MAX_STRATEGIES", "type_description": { @@ -19756,8 +20142,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -19769,7 +20156,7 @@ ] }, { - "id": 6213, + "id": 6215, "node_type": 79, "src": { "line": 2891, @@ -19777,10 +20164,10 @@ "start": 107139, "end": 107798, "length": 660, - "parent_index": 6202 + "parent_index": 6204 }, "initialiser": { - "id": 6214, + "id": 6216, "node_type": 44, "src": { "line": 2891, @@ -19788,25 +20175,25 @@ "start": 107144, "end": 107157, "length": 14, - "parent_index": 6202 + "parent_index": 6204 }, "assignments": [ - 6215 + 6217 ], "declarations": [ { - "id": 6215, + "id": 6217, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 6202, + "scope": 6204, "src": { "line": 2891, "column": 13, "start": 107144, "end": 107152, "length": 9, - "parent_index": 6214 + "parent_index": 6216 }, "name_location": { "line": 2891, @@ -19814,12 +20201,12 @@ "start": 107152, "end": 107152, "length": 1, - "parent_index": 6215 + "parent_index": 6217 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6216, + "id": 6218, "node_type": 30, "src": { "line": 2891, @@ -19827,7 +20214,7 @@ "start": 107144, "end": 107150, "length": 7, - "parent_index": 6215 + "parent_index": 6217 }, "name": "uint256", "referenced_declaration": 0, @@ -19840,7 +20227,7 @@ } ], "initial_value": { - "id": 6217, + "id": 6219, "node_type": 17, "kind": 49, "value": "0", @@ -19851,7 +20238,7 @@ "start": 107156, "end": 107156, "length": 1, - "parent_index": 6214 + "parent_index": 6216 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -19859,11 +20246,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 6218, + "id": 6220, "is_constant": false, "is_pure": false, "node_type": 19, @@ -19873,11 +20261,11 @@ "start": 107159, "end": 107176, "length": 18, - "parent_index": 6213 + "parent_index": 6215 }, "operator": 9, "left_expression": { - "id": 6219, + "id": 6221, "node_type": 16, "src": { "line": 2891, @@ -19885,7 +20273,7 @@ "start": 107159, "end": 107159, "length": 1, - "parent_index": 6218 + "parent_index": 6220 }, "name": "i", "type_description": { @@ -19894,10 +20282,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6220, + "id": 6222, "node_type": 16, "src": { "line": 2891, @@ -19905,7 +20294,7 @@ "start": 107163, "end": 107176, "length": 14, - "parent_index": 6218 + "parent_index": 6220 }, "name": "MAX_STRATEGIES", "type_description": { @@ -19913,8 +20302,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -19922,7 +20312,7 @@ } }, "closure": { - "id": 6221, + "id": 6223, "node_type": 27, "src": { "line": 2891, @@ -19930,11 +20320,11 @@ "start": 107179, "end": 107197, "length": 19, - "parent_index": 6213 + "parent_index": 6215 }, "operator": 11, "left_expression": { - "id": 6222, + "id": 6224, "node_type": 16, "src": { "line": 2891, @@ -19942,7 +20332,7 @@ "start": 107179, "end": 107179, "length": 1, - "parent_index": 6221 + "parent_index": 6223 }, "name": "i", "type_description": { @@ -19951,10 +20341,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6223, + "id": 6225, "node_type": 24, "kind": 24, "src": { @@ -19963,7 +20354,7 @@ "start": 107183, "end": 107197, "length": 15, - "parent_index": 6221 + "parent_index": 6223 }, "argument_types": [ { @@ -19973,7 +20364,7 @@ ], "arguments": [ { - "id": 6225, + "id": 6227, "node_type": 16, "src": { "line": 2891, @@ -19981,7 +20372,7 @@ "start": 107196, "end": 107196, "length": 1, - "parent_index": 6223 + "parent_index": 6225 }, "name": "i", "type_description": { @@ -19990,11 +20381,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 6224, + "id": 6226, "node_type": 16, "src": { "line": 2891, @@ -20002,7 +20394,7 @@ "start": 107183, "end": 107194, "length": 12, - "parent_index": 6223 + "parent_index": 6225 }, "name": "uncheckedInc", "type_description": { @@ -20011,7 +20403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -20024,7 +20417,7 @@ } }, "body": { - "id": 6226, + "id": 6228, "node_type": 46, "kind": 0, "src": { @@ -20033,12 +20426,12 @@ "start": 107200, "end": 107798, "length": 599, - "parent_index": 6213 + "parent_index": 6215 }, "implemented": true, "statements": [ { - "id": 6227, + "id": 6229, "node_type": 44, "src": { "line": 2892, @@ -20046,25 +20439,25 @@ "start": 107214, "end": 107252, "length": 39, - "parent_index": 6226 + "parent_index": 6228 }, "assignments": [ - 6228 + 6230 ], "declarations": [ { - "id": 6228, + "id": 6230, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 6226, + "scope": 6228, "src": { "line": 2892, "column": 12, "start": 107214, "end": 107230, "length": 17, - "parent_index": 6227 + "parent_index": 6229 }, "name_location": { "line": 2892, @@ -20072,12 +20465,12 @@ "start": 107223, "end": 107230, "length": 8, - "parent_index": 6228 + "parent_index": 6230 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6229, + "id": 6231, "node_type": 69, "src": { "line": 2892, @@ -20085,20 +20478,20 @@ "start": 107214, "end": 107221, "length": 8, - "parent_index": 6228 + "parent_index": 6230 }, "path_node": { - "id": 6230, + "id": 6232, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2892, "column": 12, "start": 107214, "end": 107221, "length": 8, - "parent_index": 6229 + "parent_index": 6231 }, "name_location": { "line": 2892, @@ -20106,10 +20499,10 @@ "start": 107214, "end": 107221, "length": 8, - "parent_index": 6229 + "parent_index": 6231 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -20119,7 +20512,7 @@ } ], "initial_value": { - "id": 6231, + "id": 6233, "node_type": 22, "src": { "line": 2892, @@ -20127,10 +20520,10 @@ "start": 107234, "end": 107251, "length": 18, - "parent_index": 6227 + "parent_index": 6229 }, "index_expression": { - "id": 6232, + "id": 6234, "node_type": 16, "src": { "line": 2892, @@ -20138,7 +20531,7 @@ "start": 107234, "end": 107248, "length": 15, - "parent_index": 6231 + "parent_index": 6233 }, "name": "withdrawalQueue", "type_description": { @@ -20146,11 +20539,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 6233, + "id": 6235, "node_type": 16, "src": { "line": 2892, @@ -20158,7 +20552,7 @@ "start": 107250, "end": 107250, "length": 1, - "parent_index": 6231 + "parent_index": 6233 }, "name": "i", "type_description": { @@ -20167,7 +20561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -20186,7 +20581,7 @@ } }, { - "id": 6234, + "id": 6236, "node_type": 48, "src": { "line": 2893, @@ -20194,10 +20589,10 @@ "start": 107266, "end": 107340, "length": 75, - "parent_index": 6226 + "parent_index": 6228 }, "condition": { - "id": 6235, + "id": 6237, "is_constant": false, "is_pure": false, "node_type": 19, @@ -20207,11 +20602,11 @@ "start": 107270, "end": 107300, "length": 31, - "parent_index": 6234 + "parent_index": 6236 }, "operator": 11, "left_expression": { - "id": 6236, + "id": 6238, "node_type": 24, "kind": 24, "src": { @@ -20220,7 +20615,7 @@ "start": 107270, "end": 107286, "length": 17, - "parent_index": 6235 + "parent_index": 6237 }, "argument_types": [ { @@ -20230,7 +20625,7 @@ ], "arguments": [ { - "id": 6239, + "id": 6241, "node_type": 16, "src": { "line": 2893, @@ -20238,7 +20633,7 @@ "start": 107278, "end": 107285, "length": 8, - "parent_index": 6236 + "parent_index": 6238 }, "name": "strategy", "type_description": { @@ -20246,12 +20641,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6227, - "is_pure": false + "referenced_declaration": 6229, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 6237, + "id": 6239, "node_type": 16, "src": { "line": 2893, @@ -20259,11 +20655,11 @@ "start": 107270, "end": 107276, "length": 7, - "parent_index": 6236 + "parent_index": 6238 }, "name": "address", "type_name": { - "id": 6238, + "id": 6240, "node_type": 30, "src": { "line": 2893, @@ -20271,7 +20667,7 @@ "start": 107270, "end": 107276, "length": 7, - "parent_index": 6237 + "parent_index": 6239 }, "name": "address", "state_mutability": 4, @@ -20293,7 +20689,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -20301,7 +20698,7 @@ } }, "right_expression": { - "id": 6240, + "id": 6242, "node_type": 24, "kind": 24, "src": { @@ -20310,7 +20707,7 @@ "start": 107291, "end": 107300, "length": 10, - "parent_index": 6235 + "parent_index": 6237 }, "argument_types": [ { @@ -20320,7 +20717,7 @@ ], "arguments": [ { - "id": 6243, + "id": 6245, "node_type": 17, "kind": 49, "value": "0", @@ -20331,7 +20728,7 @@ "start": 107299, "end": 107299, "length": 1, - "parent_index": 6240 + "parent_index": 6242 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -20339,11 +20736,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 6241, + "id": 6243, "node_type": 16, "src": { "line": 2893, @@ -20351,11 +20749,11 @@ "start": 107291, "end": 107297, "length": 7, - "parent_index": 6240 + "parent_index": 6242 }, "name": "address", "type_name": { - "id": 6242, + "id": 6244, "node_type": 30, "src": { "line": 2893, @@ -20363,7 +20761,7 @@ "start": 107291, "end": 107297, "length": 7, - "parent_index": 6241 + "parent_index": 6243 }, "name": "address", "state_mutability": 4, @@ -20385,7 +20783,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20398,7 +20797,7 @@ } }, "body": { - "id": 6244, + "id": 6246, "node_type": 46, "kind": 0, "src": { @@ -20407,12 +20806,12 @@ "start": 107303, "end": 107340, "length": 38, - "parent_index": 6213 + "parent_index": 6215 }, "implemented": true, "statements": [ { - "id": 6245, + "id": 6247, "node_type": 74, "src": { "line": 2894, @@ -20420,14 +20819,14 @@ "start": 107321, "end": 107326, "length": 6, - "parent_index": 6244 + "parent_index": 6246 } } ] } }, { - "id": 6246, + "id": 6248, "node_type": 44, "src": { "line": 2897, @@ -20435,25 +20834,25 @@ "start": 107355, "end": 107427, "length": 73, - "parent_index": 6226 + "parent_index": 6228 }, "assignments": [ - 6247 + 6249 ], "declarations": [ { - "id": 6247, + "id": 6249, "state_mutability": 1, "name": "idealStrategyTVL", "node_type": 44, - "scope": 6226, + "scope": 6228, "src": { "line": 2897, "column": 12, "start": 107355, "end": 107378, "length": 24, - "parent_index": 6246 + "parent_index": 6248 }, "name_location": { "line": 2897, @@ -20461,12 +20860,12 @@ "start": 107363, "end": 107378, "length": 16, - "parent_index": 6247 + "parent_index": 6249 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6248, + "id": 6250, "node_type": 30, "src": { "line": 2897, @@ -20474,7 +20873,7 @@ "start": 107355, "end": 107361, "length": 7, - "parent_index": 6247 + "parent_index": 6249 }, "name": "uint256", "referenced_declaration": 0, @@ -20487,7 +20886,7 @@ } ], "initial_value": { - "id": 6249, + "id": 6251, "is_constant": false, "is_pure": false, "node_type": 19, @@ -20497,11 +20896,11 @@ "start": 107382, "end": 107426, "length": 45, - "parent_index": 6246 + "parent_index": 6248 }, "operator": 4, "left_expression": { - "id": 6250, + "id": 6252, "node_type": 60, "src": { "line": 2897, @@ -20509,13 +20908,13 @@ "start": 107382, "end": 107416, "length": 35, - "parent_index": 6249 + "parent_index": 6251 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 6251, + "id": 6253, "is_constant": false, "is_pure": false, "node_type": 19, @@ -20525,11 +20924,11 @@ "start": 107383, "end": 107415, "length": 33, - "parent_index": 6250 + "parent_index": 6252 }, "operator": 3, "left_expression": { - "id": 6252, + "id": 6254, "node_type": 16, "src": { "line": 2897, @@ -20537,7 +20936,7 @@ "start": 107383, "end": 107385, "length": 3, - "parent_index": 6251 + "parent_index": 6253 }, "name": "tvl", "type_description": { @@ -20546,10 +20945,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 527, - "is_pure": false + "is_pure": false, + "text": "tvl" }, "right_expression": { - "id": 6253, + "id": 6255, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20561,7 +20961,7 @@ "start": 107389, "end": 107415, "length": 27, - "parent_index": 6246 + "parent_index": 6248 }, "member_location": { "line": 2897, @@ -20569,10 +20969,10 @@ "start": 107410, "end": 107415, "length": 6, - "parent_index": 6253 + "parent_index": 6255 }, "expression": { - "id": 6254, + "id": 6256, "node_type": 22, "src": { "line": 2897, @@ -20580,10 +20980,10 @@ "start": 107389, "end": 107408, "length": 20, - "parent_index": 6246 + "parent_index": 6248 }, "index_expression": { - "id": 6255, + "id": 6257, "node_type": 16, "src": { "line": 2897, @@ -20591,19 +20991,20 @@ "start": 107389, "end": 107398, "length": 10, - "parent_index": 6254 + "parent_index": 6256 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 6256, + "id": 6258, "node_type": 16, "src": { "line": 2897, @@ -20611,7 +21012,7 @@ "start": 107400, "end": 107407, "length": 8, - "parent_index": 6254 + "parent_index": 6256 }, "name": "strategy", "type_description": { @@ -20619,12 +21020,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6227, - "is_pure": false + "referenced_declaration": 6229, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -20633,16 +21035,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -20656,7 +21059,7 @@ } }, "right_expression": { - "id": 6257, + "id": 6259, "node_type": 16, "src": { "line": 2897, @@ -20664,7 +21067,7 @@ "start": 107420, "end": 107426, "length": 7, - "parent_index": 6249 + "parent_index": 6251 }, "name": "MAX_BPS", "type_description": { @@ -20672,8 +21075,9 @@ "type_string": "int_const 10_000" }, "overloaded_declarations": [], - "referenced_declaration": 5406, - "is_pure": false + "referenced_declaration": 5408, + "is_pure": false, + "text": "MAX_BPS" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -20682,7 +21086,7 @@ } }, { - "id": 6258, + "id": 6260, "node_type": 44, "src": { "line": 2898, @@ -20690,25 +21094,25 @@ "start": 107441, "end": 107494, "length": 54, - "parent_index": 6226 + "parent_index": 6228 }, "assignments": [ - 6259 + 6261 ], "declarations": [ { - "id": 6259, + "id": 6261, "state_mutability": 1, "name": "currStrategyTVL", "node_type": 44, - "scope": 6226, + "scope": 6228, "src": { "line": 2898, "column": 12, "start": 107441, "end": 107463, "length": 23, - "parent_index": 6258 + "parent_index": 6260 }, "name_location": { "line": 2898, @@ -20716,12 +21120,12 @@ "start": 107449, "end": 107463, "length": 15, - "parent_index": 6259 + "parent_index": 6261 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6260, + "id": 6262, "node_type": 30, "src": { "line": 2898, @@ -20729,7 +21133,7 @@ "start": 107441, "end": 107447, "length": 7, - "parent_index": 6259 + "parent_index": 6261 }, "name": "uint256", "referenced_declaration": 0, @@ -20742,7 +21146,7 @@ } ], "initial_value": { - "id": 6261, + "id": 6263, "node_type": 24, "kind": 24, "src": { @@ -20751,12 +21155,12 @@ "start": 107467, "end": 107493, "length": 27, - "parent_index": 6258 + "parent_index": 6260 }, "argument_types": [], "arguments": [], "expression": { - "id": 6262, + "id": 6264, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -20768,7 +21172,7 @@ "start": 107467, "end": 107491, "length": 25, - "parent_index": 6261 + "parent_index": 6263 }, "member_location": { "line": 2898, @@ -20776,10 +21180,10 @@ "start": 107476, "end": 107491, "length": 16, - "parent_index": 6262 + "parent_index": 6264 }, "expression": { - "id": 6263, + "id": 6265, "node_type": 16, "src": { "line": 2898, @@ -20787,7 +21191,7 @@ "start": 107467, "end": 107474, "length": 8, - "parent_index": 6262 + "parent_index": 6264 }, "name": "strategy", "type_description": { @@ -20795,15 +21199,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6227, - "is_pure": false + "referenced_declaration": 6229, + "is_pure": false, + "text": "strategy" }, "member_name": "totalLockedValue", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.totalLockedValue" }, "type_description": { "type_identifier": "t_function_$", @@ -20812,7 +21218,7 @@ } }, { - "id": 6264, + "id": 6266, "node_type": 48, "src": { "line": 2899, @@ -20820,10 +21226,10 @@ "start": 107508, "end": 107647, "length": 140, - "parent_index": 6226 + "parent_index": 6228 }, "condition": { - "id": 6265, + "id": 6267, "is_constant": false, "is_pure": false, "node_type": 19, @@ -20833,11 +21239,11 @@ "start": 107512, "end": 107545, "length": 34, - "parent_index": 6264 + "parent_index": 6266 }, "operator": 9, "left_expression": { - "id": 6266, + "id": 6268, "node_type": 16, "src": { "line": 2899, @@ -20845,7 +21251,7 @@ "start": 107512, "end": 107527, "length": 16, - "parent_index": 6265 + "parent_index": 6267 }, "name": "idealStrategyTVL", "type_description": { @@ -20853,11 +21259,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6246, - "is_pure": false + "referenced_declaration": 6248, + "is_pure": false, + "text": "idealStrategyTVL" }, "right_expression": { - "id": 6267, + "id": 6269, "node_type": 16, "src": { "line": 2899, @@ -20865,7 +21272,7 @@ "start": 107531, "end": 107545, "length": 15, - "parent_index": 6265 + "parent_index": 6267 }, "name": "currStrategyTVL", "type_description": { @@ -20873,8 +21280,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6258, - "is_pure": false + "referenced_declaration": 6260, + "is_pure": false, + "text": "currStrategyTVL" }, "type_description": { "type_identifier": "t_bool", @@ -20882,7 +21290,7 @@ } }, "body": { - "id": 6268, + "id": 6270, "node_type": 46, "kind": 0, "src": { @@ -20891,12 +21299,12 @@ "start": 107548, "end": 107647, "length": 100, - "parent_index": 6213 + "parent_index": 6215 }, "implemented": true, "statements": [ { - "id": 6269, + "id": 6271, "node_type": 24, "kind": 24, "src": { @@ -20905,7 +21313,7 @@ "start": 107566, "end": 107632, "length": 67, - "parent_index": 6268 + "parent_index": 6270 }, "argument_types": [ { @@ -20919,7 +21327,7 @@ ], "arguments": [ { - "id": 6271, + "id": 6273, "node_type": 16, "src": { "line": 2900, @@ -20927,7 +21335,7 @@ "start": 107588, "end": 107595, "length": 8, - "parent_index": 6269 + "parent_index": 6271 }, "name": "strategy", "type_description": { @@ -20936,10 +21344,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "strategy" }, { - "id": 6272, + "id": 6274, "is_constant": false, "is_pure": false, "node_type": 19, @@ -20949,11 +21358,11 @@ "start": 107598, "end": 107631, "length": 34, - "parent_index": 6269 + "parent_index": 6271 }, "operator": 2, "left_expression": { - "id": 6273, + "id": 6275, "node_type": 16, "src": { "line": 2900, @@ -20961,7 +21370,7 @@ "start": 107598, "end": 107612, "length": 15, - "parent_index": 6272 + "parent_index": 6274 }, "name": "currStrategyTVL", "type_description": { @@ -20969,11 +21378,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6258, - "is_pure": false + "referenced_declaration": 6260, + "is_pure": false, + "text": "currStrategyTVL" }, "right_expression": { - "id": 6274, + "id": 6276, "node_type": 16, "src": { "line": 2900, @@ -20981,7 +21391,7 @@ "start": 107616, "end": 107631, "length": 16, - "parent_index": 6272 + "parent_index": 6274 }, "name": "idealStrategyTVL", "type_description": { @@ -20989,8 +21399,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6246, - "is_pure": false + "referenced_declaration": 6248, + "is_pure": false, + "text": "idealStrategyTVL" }, "type_description": { "type_identifier": "t_uint256", @@ -20999,7 +21410,7 @@ } ], "expression": { - "id": 6270, + "id": 6272, "node_type": 16, "src": { "line": 2900, @@ -21007,7 +21418,7 @@ "start": 107566, "end": 107586, "length": 21, - "parent_index": 6269 + "parent_index": 6271 }, "name": "_withdrawFromStrategy", "type_description": { @@ -21016,7 +21427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawFromStrategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -21027,7 +21439,7 @@ } }, { - "id": 6275, + "id": 6277, "node_type": 48, "src": { "line": 2902, @@ -21035,10 +21447,10 @@ "start": 107661, "end": 107788, "length": 128, - "parent_index": 6226 + "parent_index": 6228 }, "condition": { - "id": 6276, + "id": 6278, "is_constant": false, "is_pure": false, "node_type": 19, @@ -21048,11 +21460,11 @@ "start": 107665, "end": 107698, "length": 34, - "parent_index": 6275 + "parent_index": 6277 }, "operator": 7, "left_expression": { - "id": 6277, + "id": 6279, "node_type": 16, "src": { "line": 2902, @@ -21060,7 +21472,7 @@ "start": 107665, "end": 107680, "length": 16, - "parent_index": 6276 + "parent_index": 6278 }, "name": "idealStrategyTVL", "type_description": { @@ -21068,11 +21480,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6246, - "is_pure": false + "referenced_declaration": 6248, + "is_pure": false, + "text": "idealStrategyTVL" }, "right_expression": { - "id": 6278, + "id": 6280, "node_type": 16, "src": { "line": 2902, @@ -21080,7 +21493,7 @@ "start": 107684, "end": 107698, "length": 15, - "parent_index": 6276 + "parent_index": 6278 }, "name": "currStrategyTVL", "type_description": { @@ -21088,8 +21501,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6258, - "is_pure": false + "referenced_declaration": 6260, + "is_pure": false, + "text": "currStrategyTVL" }, "type_description": { "type_identifier": "t_bool", @@ -21097,7 +21511,7 @@ } }, "body": { - "id": 6279, + "id": 6281, "node_type": 46, "kind": 0, "src": { @@ -21106,12 +21520,12 @@ "start": 107701, "end": 107788, "length": 88, - "parent_index": 6213 + "parent_index": 6215 }, "implemented": true, "statements": [ { - "id": 6280, + "id": 6282, "node_type": 27, "src": { "line": 2903, @@ -21119,10 +21533,10 @@ "start": 107719, "end": 107774, "length": 56, - "parent_index": 6279 + "parent_index": 6281 }, "expression": { - "id": 6281, + "id": 6283, "node_type": 27, "src": { "line": 2903, @@ -21130,11 +21544,11 @@ "start": 107719, "end": 107773, "length": 55, - "parent_index": 6280 + "parent_index": 6282 }, "operator": 11, "left_expression": { - "id": 6282, + "id": 6284, "node_type": 22, "src": { "line": 2903, @@ -21142,10 +21556,10 @@ "start": 107719, "end": 107736, "length": 18, - "parent_index": 6281 + "parent_index": 6283 }, "index_expression": { - "id": 6283, + "id": 6285, "node_type": 16, "src": { "line": 2903, @@ -21153,7 +21567,7 @@ "start": 107719, "end": 107733, "length": 15, - "parent_index": 6282 + "parent_index": 6284 }, "name": "amountsToInvest", "type_description": { @@ -21161,11 +21575,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 6208, - "is_pure": false + "referenced_declaration": 6210, + "is_pure": false, + "text": "amountsToInvest" }, "base_expression": { - "id": 6284, + "id": 6286, "node_type": 16, "src": { "line": 2903, @@ -21173,7 +21588,7 @@ "start": 107735, "end": 107735, "length": 1, - "parent_index": 6282 + "parent_index": 6284 }, "name": "i", "type_description": { @@ -21182,7 +21597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -21200,7 +21616,7 @@ } }, "right_expression": { - "id": 6285, + "id": 6287, "is_constant": false, "is_pure": false, "node_type": 19, @@ -21210,11 +21626,11 @@ "start": 107740, "end": 107773, "length": 34, - "parent_index": 6281 + "parent_index": 6283 }, "operator": 2, "left_expression": { - "id": 6286, + "id": 6288, "node_type": 16, "src": { "line": 2903, @@ -21222,7 +21638,7 @@ "start": 107740, "end": 107755, "length": 16, - "parent_index": 6285 + "parent_index": 6287 }, "name": "idealStrategyTVL", "type_description": { @@ -21230,11 +21646,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6246, - "is_pure": false + "referenced_declaration": 6248, + "is_pure": false, + "text": "idealStrategyTVL" }, "right_expression": { - "id": 6287, + "id": 6289, "node_type": 16, "src": { "line": 2903, @@ -21242,7 +21659,7 @@ "start": 107759, "end": 107773, "length": 15, - "parent_index": 6285 + "parent_index": 6287 }, "name": "currStrategyTVL", "type_description": { @@ -21250,8 +21667,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6258, - "is_pure": false + "referenced_declaration": 6260, + "is_pure": false, + "text": "currStrategyTVL" }, "type_description": { "type_identifier": "t_uint256", @@ -21266,7 +21684,8 @@ "type_description": { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_uint256]$", "type_string": "index[int_const 20:uint256]" - } + }, + "text": "amountsToInvest[i]=idealStrategyTVL-currStrategyTVL;" } ] } @@ -21275,7 +21694,7 @@ } }, { - "id": 6288, + "id": 6290, "node_type": 79, "src": { "line": 2908, @@ -21283,10 +21702,10 @@ "start": 107881, "end": 108696, "length": 816, - "parent_index": 6202 + "parent_index": 6204 }, "initialiser": { - "id": 6289, + "id": 6291, "node_type": 44, "src": { "line": 2908, @@ -21294,25 +21713,25 @@ "start": 107886, "end": 107899, "length": 14, - "parent_index": 6202 + "parent_index": 6204 }, "assignments": [ - 6290 + 6292 ], "declarations": [ { - "id": 6290, + "id": 6292, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 6202, + "scope": 6204, "src": { "line": 2908, "column": 13, "start": 107886, "end": 107894, "length": 9, - "parent_index": 6289 + "parent_index": 6291 }, "name_location": { "line": 2908, @@ -21320,12 +21739,12 @@ "start": 107894, "end": 107894, "length": 1, - "parent_index": 6290 + "parent_index": 6292 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6291, + "id": 6293, "node_type": 30, "src": { "line": 2908, @@ -21333,7 +21752,7 @@ "start": 107886, "end": 107892, "length": 7, - "parent_index": 6290 + "parent_index": 6292 }, "name": "uint256", "referenced_declaration": 0, @@ -21346,7 +21765,7 @@ } ], "initial_value": { - "id": 6292, + "id": 6294, "node_type": 17, "kind": 49, "value": "0", @@ -21357,7 +21776,7 @@ "start": 107898, "end": 107898, "length": 1, - "parent_index": 6289 + "parent_index": 6291 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -21365,11 +21784,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 6293, + "id": 6295, "is_constant": false, "is_pure": false, "node_type": 19, @@ -21379,11 +21799,11 @@ "start": 107901, "end": 107918, "length": 18, - "parent_index": 6288 + "parent_index": 6290 }, "operator": 9, "left_expression": { - "id": 6294, + "id": 6296, "node_type": 16, "src": { "line": 2908, @@ -21391,7 +21811,7 @@ "start": 107901, "end": 107901, "length": 1, - "parent_index": 6293 + "parent_index": 6295 }, "name": "i", "type_description": { @@ -21400,10 +21820,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6295, + "id": 6297, "node_type": 16, "src": { "line": 2908, @@ -21411,7 +21832,7 @@ "start": 107905, "end": 107918, "length": 14, - "parent_index": 6293 + "parent_index": 6295 }, "name": "MAX_STRATEGIES", "type_description": { @@ -21419,8 +21840,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -21428,7 +21850,7 @@ } }, "closure": { - "id": 6296, + "id": 6298, "node_type": 27, "src": { "line": 2908, @@ -21436,11 +21858,11 @@ "start": 107921, "end": 107939, "length": 19, - "parent_index": 6288 + "parent_index": 6290 }, "operator": 11, "left_expression": { - "id": 6297, + "id": 6299, "node_type": 16, "src": { "line": 2908, @@ -21448,7 +21870,7 @@ "start": 107921, "end": 107921, "length": 1, - "parent_index": 6296 + "parent_index": 6298 }, "name": "i", "type_description": { @@ -21457,10 +21879,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6298, + "id": 6300, "node_type": 24, "kind": 24, "src": { @@ -21469,7 +21892,7 @@ "start": 107925, "end": 107939, "length": 15, - "parent_index": 6296 + "parent_index": 6298 }, "argument_types": [ { @@ -21479,7 +21902,7 @@ ], "arguments": [ { - "id": 6300, + "id": 6302, "node_type": 16, "src": { "line": 2908, @@ -21487,7 +21910,7 @@ "start": 107938, "end": 107938, "length": 1, - "parent_index": 6298 + "parent_index": 6300 }, "name": "i", "type_description": { @@ -21496,11 +21919,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 6299, + "id": 6301, "node_type": 16, "src": { "line": 2908, @@ -21508,7 +21932,7 @@ "start": 107925, "end": 107936, "length": 12, - "parent_index": 6298 + "parent_index": 6300 }, "name": "uncheckedInc", "type_description": { @@ -21517,7 +21941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -21530,7 +21955,7 @@ } }, "body": { - "id": 6301, + "id": 6303, "node_type": 46, "kind": 0, "src": { @@ -21539,12 +21964,12 @@ "start": 107942, "end": 108696, "length": 755, - "parent_index": 6288 + "parent_index": 6290 }, "implemented": true, "statements": [ { - "id": 6302, + "id": 6304, "node_type": 44, "src": { "line": 2909, @@ -21552,25 +21977,25 @@ "start": 107956, "end": 107999, "length": 44, - "parent_index": 6301 + "parent_index": 6303 }, "assignments": [ - 6303 + 6305 ], "declarations": [ { - "id": 6303, + "id": 6305, "state_mutability": 1, "name": "amountToInvest", "node_type": 44, - "scope": 6301, + "scope": 6303, "src": { "line": 2909, "column": 12, "start": 107956, "end": 107977, "length": 22, - "parent_index": 6302 + "parent_index": 6304 }, "name_location": { "line": 2909, @@ -21578,12 +22003,12 @@ "start": 107964, "end": 107977, "length": 14, - "parent_index": 6303 + "parent_index": 6305 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6304, + "id": 6306, "node_type": 30, "src": { "line": 2909, @@ -21591,7 +22016,7 @@ "start": 107956, "end": 107962, "length": 7, - "parent_index": 6303 + "parent_index": 6305 }, "name": "uint256", "referenced_declaration": 0, @@ -21604,7 +22029,7 @@ } ], "initial_value": { - "id": 6305, + "id": 6307, "node_type": 22, "src": { "line": 2909, @@ -21612,10 +22037,10 @@ "start": 107981, "end": 107998, "length": 18, - "parent_index": 6302 + "parent_index": 6304 }, "index_expression": { - "id": 6306, + "id": 6308, "node_type": 16, "src": { "line": 2909, @@ -21623,7 +22048,7 @@ "start": 107981, "end": 107995, "length": 15, - "parent_index": 6305 + "parent_index": 6307 }, "name": "amountsToInvest", "type_description": { @@ -21631,11 +22056,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 6208, - "is_pure": false + "referenced_declaration": 6210, + "is_pure": false, + "text": "amountsToInvest" }, "base_expression": { - "id": 6307, + "id": 6309, "node_type": 16, "src": { "line": 2909, @@ -21643,7 +22069,7 @@ "start": 107997, "end": 107997, "length": 1, - "parent_index": 6305 + "parent_index": 6307 }, "name": "i", "type_description": { @@ -21652,7 +22078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -21671,7 +22098,7 @@ } }, { - "id": 6308, + "id": 6310, "node_type": 48, "src": { "line": 2910, @@ -21679,10 +22106,10 @@ "start": 108013, "end": 108078, "length": 66, - "parent_index": 6301 + "parent_index": 6303 }, "condition": { - "id": 6309, + "id": 6311, "is_constant": false, "is_pure": false, "node_type": 19, @@ -21692,11 +22119,11 @@ "start": 108017, "end": 108035, "length": 19, - "parent_index": 6308 + "parent_index": 6310 }, "operator": 11, "left_expression": { - "id": 6310, + "id": 6312, "node_type": 16, "src": { "line": 2910, @@ -21704,7 +22131,7 @@ "start": 108017, "end": 108030, "length": 14, - "parent_index": 6309 + "parent_index": 6311 }, "name": "amountToInvest", "type_description": { @@ -21712,11 +22139,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, - "is_pure": false + "referenced_declaration": 6304, + "is_pure": false, + "text": "amountToInvest" }, "right_expression": { - "id": 6311, + "id": 6313, "node_type": 17, "kind": 49, "value": "0", @@ -21727,7 +22155,7 @@ "start": 108035, "end": 108035, "length": 1, - "parent_index": 6309 + "parent_index": 6311 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -21735,7 +22163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -21743,7 +22172,7 @@ } }, "body": { - "id": 6312, + "id": 6314, "node_type": 46, "kind": 0, "src": { @@ -21752,12 +22181,12 @@ "start": 108038, "end": 108078, "length": 41, - "parent_index": 6288 + "parent_index": 6290 }, "implemented": true, "statements": [ { - "id": 6313, + "id": 6315, "node_type": 75, "src": { "line": 2911, @@ -21765,14 +22194,14 @@ "start": 108056, "end": 108064, "length": 9, - "parent_index": 6312 + "parent_index": 6314 } } ] } }, { - "id": 6314, + "id": 6316, "node_type": 27, "src": { "line": 2918, @@ -21780,10 +22209,10 @@ "start": 108375, "end": 108449, "length": 75, - "parent_index": 6301 + "parent_index": 6303 }, "expression": { - "id": 6315, + "id": 6317, "node_type": 27, "src": { "line": 2918, @@ -21791,11 +22220,11 @@ "start": 108375, "end": 108448, "length": 74, - "parent_index": 6314 + "parent_index": 6316 }, "operator": 11, "left_expression": { - "id": 6316, + "id": 6318, "node_type": 16, "src": { "line": 2918, @@ -21803,7 +22232,7 @@ "start": 108375, "end": 108388, "length": 14, - "parent_index": 6315 + "parent_index": 6317 }, "name": "amountToInvest", "type_description": { @@ -21811,11 +22240,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, - "is_pure": false + "referenced_declaration": 6304, + "is_pure": false, + "text": "amountToInvest" }, "right_expression": { - "id": 6317, + "id": 6319, "node_type": 24, "kind": 24, "src": { @@ -21824,7 +22254,7 @@ "start": 108392, "end": 108448, "length": 57, - "parent_index": 6315 + "parent_index": 6317 }, "argument_types": [ { @@ -21838,7 +22268,7 @@ ], "arguments": [ { - "id": 6320, + "id": 6322, "node_type": 16, "src": { "line": 2918, @@ -21846,7 +22276,7 @@ "start": 108401, "end": 108414, "length": 14, - "parent_index": 6317 + "parent_index": 6319 }, "name": "amountToInvest", "type_description": { @@ -21854,11 +22284,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, - "is_pure": false + "referenced_declaration": 6304, + "is_pure": false, + "text": "amountToInvest" }, { - "id": 6321, + "id": 6323, "node_type": 24, "kind": 24, "src": { @@ -21867,7 +22298,7 @@ "start": 108417, "end": 108447, "length": 31, - "parent_index": 6317 + "parent_index": 6319 }, "argument_types": [ { @@ -21877,7 +22308,7 @@ ], "arguments": [ { - "id": 6324, + "id": 6326, "node_type": 24, "kind": 24, "src": { @@ -21886,17 +22317,17 @@ "start": 108434, "end": 108446, "length": 13, - "parent_index": 6321 + "parent_index": 6323 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } ], "arguments": [ { - "id": 6327, + "id": 6329, "node_type": 16, "src": { "line": 2918, @@ -21904,20 +22335,21 @@ "start": 108442, "end": 108445, "length": 4, - "parent_index": 6324 + "parent_index": 6326 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6325, + "id": 6327, "node_type": 16, "src": { "line": 2918, @@ -21925,11 +22357,11 @@ "start": 108434, "end": 108440, "length": 7, - "parent_index": 6324 + "parent_index": 6326 }, "name": "address", "type_name": { - "id": 6326, + "id": 6328, "node_type": 30, "src": { "line": 2918, @@ -21937,7 +22369,7 @@ "start": 108434, "end": 108440, "length": 7, - "parent_index": 6325 + "parent_index": 6327 }, "name": "address", "state_mutability": 4, @@ -21959,7 +22391,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -21968,7 +22401,7 @@ } ], "expression": { - "id": 6322, + "id": 6324, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -21980,7 +22413,7 @@ "start": 108417, "end": 108432, "length": 16, - "parent_index": 6321 + "parent_index": 6323 }, "member_location": { "line": 2918, @@ -21988,10 +22421,10 @@ "start": 108424, "end": 108432, "length": 9, - "parent_index": 6322 + "parent_index": 6324 }, "expression": { - "id": 6323, + "id": 6325, "node_type": 16, "src": { "line": 2918, @@ -21999,23 +22432,25 @@ "start": 108417, "end": 108422, "length": 6, - "parent_index": 6322 + "parent_index": 6324 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -22024,7 +22459,7 @@ } ], "expression": { - "id": 6318, + "id": 6320, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22036,7 +22471,7 @@ "start": 108392, "end": 108399, "length": 8, - "parent_index": 6317 + "parent_index": 6319 }, "member_location": { "line": 2918, @@ -22044,10 +22479,10 @@ "start": 108397, "end": 108399, "length": 3, - "parent_index": 6318 + "parent_index": 6320 }, "expression": { - "id": 6319, + "id": 6321, "node_type": 16, "src": { "line": 2918, @@ -22055,7 +22490,7 @@ "start": 108392, "end": 108395, "length": 4, - "parent_index": 6318 + "parent_index": 6320 }, "name": "Math", "type_description": { @@ -22064,14 +22499,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "Math" }, "member_name": "min", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Math_$896", "type_string": "contract Math" - } + }, + "text": "Math.min" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_function_$_t_function_$_t_address$", @@ -22086,10 +22523,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountToInvest=Math.min(amountToInvest,_asset.balanceOf(address(this)));" }, { - "id": 6328, + "id": 6330, "node_type": 48, "src": { "line": 2919, @@ -22097,10 +22535,10 @@ "start": 108463, "end": 108525, "length": 63, - "parent_index": 6301 + "parent_index": 6303 }, "condition": { - "id": 6329, + "id": 6331, "is_constant": false, "is_pure": false, "node_type": 19, @@ -22110,11 +22548,11 @@ "start": 108467, "end": 108485, "length": 19, - "parent_index": 6328 + "parent_index": 6330 }, "operator": 11, "left_expression": { - "id": 6330, + "id": 6332, "node_type": 16, "src": { "line": 2919, @@ -22122,7 +22560,7 @@ "start": 108467, "end": 108480, "length": 14, - "parent_index": 6329 + "parent_index": 6331 }, "name": "amountToInvest", "type_description": { @@ -22130,11 +22568,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, - "is_pure": false + "referenced_declaration": 6304, + "is_pure": false, + "text": "amountToInvest" }, "right_expression": { - "id": 6331, + "id": 6333, "node_type": 17, "kind": 49, "value": "0", @@ -22145,7 +22584,7 @@ "start": 108485, "end": 108485, "length": 1, - "parent_index": 6329 + "parent_index": 6331 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -22153,7 +22592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -22161,7 +22601,7 @@ } }, "body": { - "id": 6332, + "id": 6334, "node_type": 46, "kind": 0, "src": { @@ -22170,12 +22610,12 @@ "start": 108488, "end": 108525, "length": 38, - "parent_index": 6288 + "parent_index": 6290 }, "implemented": true, "statements": [ { - "id": 6333, + "id": 6335, "node_type": 74, "src": { "line": 2920, @@ -22183,14 +22623,14 @@ "start": 108506, "end": 108511, "length": 6, - "parent_index": 6332 + "parent_index": 6334 } } ] } }, { - "id": 6334, + "id": 6336, "node_type": 24, "kind": 24, "src": { @@ -22199,7 +22639,7 @@ "start": 108630, "end": 108685, "length": 56, - "parent_index": 6301 + "parent_index": 6303 }, "argument_types": [ { @@ -22213,7 +22653,7 @@ ], "arguments": [ { - "id": 6336, + "id": 6338, "node_type": 22, "src": { "line": 2923, @@ -22221,10 +22661,10 @@ "start": 108651, "end": 108668, "length": 18, - "parent_index": 6334 + "parent_index": 6336 }, "index_expression": { - "id": 6337, + "id": 6339, "node_type": 16, "src": { "line": 2923, @@ -22232,7 +22672,7 @@ "start": 108651, "end": 108665, "length": 15, - "parent_index": 6336 + "parent_index": 6338 }, "name": "withdrawalQueue", "type_description": { @@ -22240,11 +22680,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 6338, + "id": 6340, "node_type": 16, "src": { "line": 2923, @@ -22252,7 +22693,7 @@ "start": 108667, "end": 108667, "length": 1, - "parent_index": 6336 + "parent_index": 6338 }, "name": "i", "type_description": { @@ -22261,7 +22702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -22279,7 +22721,7 @@ } }, { - "id": 6339, + "id": 6341, "node_type": 16, "src": { "line": 2923, @@ -22287,7 +22729,7 @@ "start": 108671, "end": 108684, "length": 14, - "parent_index": 6334 + "parent_index": 6336 }, "name": "amountToInvest", "type_description": { @@ -22295,18 +22737,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, + "referenced_declaration": 6304, "is_pure": false, "argument_types": [ { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_uint256]$", "type_string": "index[int_const 20:uint256]" } - ] + ], + "text": "amountToInvest" } ], "expression": { - "id": 6335, + "id": 6337, "node_type": 16, "src": { "line": 2923, @@ -22314,7 +22757,7 @@ "start": 108630, "end": 108649, "length": 20, - "parent_index": 6334 + "parent_index": 6336 }, "name": "_depositIntoStrategy", "type_description": { @@ -22323,7 +22766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_depositIntoStrategy" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_rational_20_by_1]$_t_uint256]$_t_uint256$", @@ -22334,7 +22778,7 @@ } }, { - "id": 6340, + "id": 6342, "node_type": 64, "src": { "line": 2926, @@ -22342,11 +22786,11 @@ "start": 108707, "end": 108733, "length": 27, - "parent_index": 6196 + "parent_index": 6198 }, "arguments": [ { - "id": 6341, + "id": 6343, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22358,7 +22802,7 @@ "start": 108722, "end": 108731, "length": 10, - "parent_index": 6340 + "parent_index": 6342 }, "member_location": { "line": 2926, @@ -22366,10 +22810,10 @@ "start": 108726, "end": 108731, "length": 6, - "parent_index": 6341 + "parent_index": 6343 }, "expression": { - "id": 6342, + "id": 6344, "node_type": 16, "src": { "line": 2926, @@ -22377,7 +22821,7 @@ "start": 108722, "end": 108724, "length": 3, - "parent_index": 6341 + "parent_index": 6343 }, "name": "msg", "type_description": { @@ -22386,18 +22830,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 6343, + "id": 6345, "node_type": 16, "src": { "line": 2926, @@ -22405,16 +22851,17 @@ "start": 108712, "end": 108720, "length": 9, - "parent_index": 6340 + "parent_index": 6342 }, "name": "Rebalance", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Rebalance_\u00266191", + "type_identifier": "t_event\u0026_BaseVault_Rebalance_\u00266193", "type_string": "event BaseVault.Rebalance" }, "overloaded_declarations": [], - "referenced_declaration": 6191, - "is_pure": false + "referenced_declaration": 6193, + "is_pure": false, + "text": "Rebalance" } } ] @@ -22425,7 +22872,7 @@ "virtual": false, "modifiers": [ { - "id": 6198, + "id": 6200, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -22435,7 +22882,7 @@ "start": 106885, "end": 106903, "length": 19, - "parent_index": 6196 + "parent_index": 6198 }, "argument_types": [ { @@ -22445,7 +22892,7 @@ ], "arguments": [ { - "id": 6200, + "id": 6202, "node_type": 16, "src": { "line": 2884, @@ -22453,7 +22900,7 @@ "start": 106894, "end": 106902, "length": 9, - "parent_index": 6198 + "parent_index": 6200 }, "name": "HARVESTER", "type_description": { @@ -22461,12 +22908,13 @@ "type_string": "function(string memory)" }, "overloaded_declarations": [], - "referenced_declaration": 5323, - "is_pure": false + "referenced_declaration": 5324, + "is_pure": false, + "text": "HARVESTER" } ], "modifier_name": { - "id": 6199, + "id": 6201, "name": "onlyRole", "node_type": 0, "src": { @@ -22475,14 +22923,14 @@ "start": 106885, "end": 106892, "length": 8, - "parent_index": 6198 + "parent_index": 6200 } } } ], "overrides": [], "parameters": { - "id": 6197, + "id": 6199, "node_type": 43, "src": { "line": 2884, @@ -22490,13 +22938,13 @@ "start": 106855, "end": 108739, "length": 1885, - "parent_index": 6196 + "parent_index": 6198 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 6201, + "id": 6203, "node_type": 43, "src": { "line": 2884, @@ -22504,26 +22952,26 @@ "start": 106855, "end": 108739, "length": 1885, - "parent_index": 6196 + "parent_index": 6198 }, "parameters": [], "parameter_types": [] }, "signature_raw": "rebalance()", "signature": "7d7c2a1c", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrebalance()externalonlyRole(HARVESTER){uint256tvl=vaultTVL();uint256[MAX_STRATEGIES]memoryamountsToInvest;for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){Strategystrategy=withdrawalQueue[i];if(address(strategy)==address(0)){break;}uint256idealStrategyTVL=(tvl*strategies[strategy].tvlBps)/MAX_BPS;uint256currStrategyTVL=strategy.totalLockedValue();if(idealStrategyTVL\u003ccurrStrategyTVL){_withdrawFromStrategy(strategy,currStrategyTVL-idealStrategyTVL);}if(idealStrategyTVL\u003ecurrStrategyTVL){amountsToInvest[i]=idealStrategyTVL-currStrategyTVL;}}for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){uint256amountToInvest=amountsToInvest[i];if(amountToInvest==0){continue;}amountToInvest=Math.min(amountToInvest,_asset.balanceOf(address(this)));if(amountToInvest==0){break;}_depositIntoStrategy(withdrawalQueue[i],amountToInvest);}emitRebalance(msg.sender);}" } ], "linearized_base_contracts": [ 2490, - 4831, - 3820, - 5193, - 5183, + 4832, + 3821, + 5194, 5184, 5185, 5186, @@ -22532,11 +22980,12 @@ 5189, 5190, 5191, - 5192 + 5192, + 5193 ], "base_contracts": [ { - "id": 5194, + "id": 5195, "node_type": 62, "src": { "line": 2384, @@ -22544,10 +22993,10 @@ "start": 86124, "end": 86147, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5195, + "id": 5196, "node_type": 52, "src": { "line": 2384, @@ -22555,14 +23004,14 @@ "start": 86124, "end": 86147, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, "name": "AccessControlUpgradeable", "referenced_declaration": 2490 } }, { - "id": 5196, + "id": 5197, "node_type": 62, "src": { "line": 2384, @@ -22570,10 +23019,10 @@ "start": 86150, "end": 86165, "length": 16, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5197, + "id": 5198, "node_type": 52, "src": { "line": 2384, @@ -22581,14 +23030,14 @@ "start": 86150, "end": 86165, "length": 16, - "parent_index": 5193 + "parent_index": 5194 }, "name": "AffineGovernable", - "referenced_declaration": 4831 + "referenced_declaration": 4832 } }, { - "id": 5198, + "id": 5199, "node_type": 62, "src": { "line": 2384, @@ -22596,10 +23045,10 @@ "start": 86168, "end": 86180, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5199, + "id": 5200, "node_type": 52, "src": { "line": 2384, @@ -22607,18 +23056,17 @@ "start": 86168, "end": 86180, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, "name": "Multicallable", - "referenced_declaration": 3820 + "referenced_declaration": 3821 } } ], "contract_dependencies": [ 2490, - 4831, - 3820, - 5183, + 4832, + 3821, 5184, 5185, 5186, @@ -22627,7 +23075,8 @@ 5189, 5190, 5191, - 5192 + 5192, + 5193 ] } ], diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BridgeEscrow.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BridgeEscrow.solgo.ast.json index b22c3229..7ae3d308 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BridgeEscrow.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BridgeEscrow.solgo.ast.json @@ -1,25 +1,25 @@ { - "id": 6344, + "id": 6346, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 6344, + "id": 6346, "name": "BridgeEscrow", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BridgeEscrow.sol" }, { - "id": 5126, + "id": 5127, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 5126, + "id": 5127, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 5126, + "id": 5127, "name": "BaseVault", "absolute_path": "BaseVault.sol" } @@ -29,7 +29,7 @@ "node_type": 1, "nodes": [ { - "id": 6368, + "id": 6370, "node_type": 10, "src": { "line": 2932, @@ -37,7 +37,7 @@ "start": 108781, "end": 108804, "length": 24, - "parent_index": 6344 + "parent_index": 6346 }, "literals": [ "pragma", @@ -53,7 +53,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 6412, + "id": 6414, "node_type": 29, "src": { "line": 2934, @@ -61,18 +61,18 @@ "start": 108807, "end": 108840, "length": 34, - "parent_index": 6344 + "parent_index": 6346 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 6344, + "scope": 6346, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 5126 + "source_unit": 5127 }, { - "id": 6413, + "id": 6415, "node_type": 29, "src": { "line": 2935, @@ -80,18 +80,18 @@ "start": 108842, "end": 108895, "length": 54, - "parent_index": 6344 + "parent_index": 6346 }, "absolute_path": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "scope": 6344, + "scope": 6346, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 5126 + "source_unit": 5127 }, { - "id": 6414, + "id": 6416, "node_type": 29, "src": { "line": 2937, @@ -99,18 +99,18 @@ "start": 108898, "end": 108939, "length": 42, - "parent_index": 6344 + "parent_index": 6346 }, "absolute_path": "BaseVault.sol", "file": "./BaseVault.sol", - "scope": 6344, + "scope": 6346, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 5126 + "source_unit": 5127 }, { - "id": 6415, + "id": 6417, "name": "BridgeEscrow", "node_type": 35, "src": { @@ -119,7 +119,7 @@ "start": 108942, "end": 110351, "length": 1410, - "parent_index": 6344 + "parent_index": 6346 }, "name_location": { "line": 2939, @@ -127,14 +127,14 @@ "start": 108960, "end": 108971, "length": 12, - "parent_index": 6415 + "parent_index": 6417 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 6417, + "id": 6419, "node_type": 51, "src": { "line": 2940, @@ -142,14 +142,14 @@ "start": 108979, "end": 109010, "length": 32, - "parent_index": 6415 + "parent_index": 6417 }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "type_name": { - "id": 6419, + "id": 6421, "node_type": 69, "src": { "line": 2940, @@ -157,20 +157,20 @@ "start": 109005, "end": 109009, "length": 5, - "parent_index": 6417 + "parent_index": 6419 }, "path_node": { - "id": 6420, + "id": 6422, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2940, "column": 30, "start": 109005, "end": 109009, "length": 5, - "parent_index": 6419 + "parent_index": 6421 }, "name_location": { "line": 2940, @@ -178,17 +178,17 @@ "start": 109005, "end": 109009, "length": 5, - "parent_index": 6419 + "parent_index": 6421 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "library_name": { - "id": 6418, + "id": 6420, "node_type": 52, "src": { "line": 2940, @@ -196,14 +196,14 @@ "start": 108985, "end": 108999, "length": 15, - "parent_index": 6417 + "parent_index": 6419 }, "name": "SafeTransferLib", - "referenced_declaration": 4499 + "referenced_declaration": 4500 } }, { - "id": 6422, + "id": 6424, "name": "asset", "is_constant": false, "is_state_variable": true, @@ -214,18 +214,18 @@ "start": 109050, "end": 109078, "length": 29, - "parent_index": 6415 + "parent_index": 6417 }, - "scope": 6415, + "scope": 6417, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 6423, + "id": 6425, "node_type": 69, "src": { "line": 2943, @@ -233,20 +233,20 @@ "start": 109050, "end": 109054, "length": 5, - "parent_index": 6422 + "parent_index": 6424 }, "path_node": { - "id": 6424, + "id": 6426, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2943, "column": 4, "start": 109050, "end": 109054, "length": 5, - "parent_index": 6423 + "parent_index": 6425 }, "name_location": { "line": 2943, @@ -254,19 +254,19 @@ "start": 109050, "end": 109054, "length": 5, - "parent_index": 6423 + "parent_index": 6425 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "initial_value": null }, { - "id": 6426, + "id": 6428, "name": "wormholeRouter", "is_constant": false, "is_state_variable": true, @@ -277,9 +277,9 @@ "start": 109130, "end": 109169, "length": 40, - "parent_index": 6415 + "parent_index": 6417 }, - "scope": 6415, + "scope": 6417, "type_description": { "type_identifier": "t_address", "type_string": "address" @@ -288,7 +288,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 6427, + "id": 6429, "node_type": 30, "src": { "line": 2945, @@ -296,7 +296,7 @@ "start": 109130, "end": 109136, "length": 7, - "parent_index": 6426 + "parent_index": 6428 }, "name": "address", "state_mutability": 4, @@ -309,7 +309,7 @@ "initial_value": null }, { - "id": 6429, + "id": 6431, "name": "governance", "is_constant": false, "is_state_variable": true, @@ -320,9 +320,9 @@ "start": 109231, "end": 109266, "length": 36, - "parent_index": 6415 + "parent_index": 6417 }, - "scope": 6415, + "scope": 6417, "type_description": { "type_identifier": "t_address", "type_string": "address" @@ -331,7 +331,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 6430, + "id": 6432, "node_type": 30, "src": { "line": 2947, @@ -339,7 +339,7 @@ "start": 109231, "end": 109237, "length": 7, - "parent_index": 6429 + "parent_index": 6431 }, "name": "address", "state_mutability": 4, @@ -352,7 +352,7 @@ "initial_value": null }, { - "id": 6432, + "id": 6434, "node_type": 57, "src": { "line": 2953, @@ -360,10 +360,10 @@ "start": 109423, "end": 109460, "length": 38, - "parent_index": 6415 + "parent_index": 6417 }, "parameters": { - "id": 6433, + "id": 6435, "node_type": 43, "src": { "line": 2953, @@ -371,11 +371,11 @@ "start": 109423, "end": 109460, "length": 38, - "parent_index": 6432 + "parent_index": 6434 }, "parameters": [ { - "id": 6434, + "id": 6436, "node_type": 44, "src": { "line": 2953, @@ -383,12 +383,12 @@ "start": 109445, "end": 109458, "length": 14, - "parent_index": 6433 + "parent_index": 6435 }, - "scope": 6432, + "scope": 6434, "name": "assets", "type_name": { - "id": 6435, + "id": 6437, "node_type": 30, "src": { "line": 2953, @@ -396,7 +396,7 @@ "start": 109445, "end": 109451, "length": 7, - "parent_index": 6434 + "parent_index": 6436 }, "name": "uint256", "referenced_declaration": 0, @@ -424,12 +424,12 @@ "name": "TransferToVault", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266432", + "type_identifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266434", "type_string": "event BridgeEscrow.TransferToVault" } }, { - "id": 6437, + "id": 6439, "node_type": 42, "src": { "line": 2955, @@ -437,7 +437,7 @@ "start": 109467, "end": 109634, "length": 168, - "parent_index": 6415 + "parent_index": 6417 }, "kind": 11, "state_mutability": 4, @@ -445,7 +445,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 6438, + "id": 6440, "node_type": 43, "src": { "line": 2955, @@ -453,11 +453,11 @@ "start": 109479, "end": 109494, "length": 16, - "parent_index": 6437 + "parent_index": 6439 }, "parameters": [ { - "id": 6439, + "id": 6441, "node_type": 44, "src": { "line": 2955, @@ -465,12 +465,12 @@ "start": 109479, "end": 109494, "length": 16, - "parent_index": 6438 + "parent_index": 6440 }, - "scope": 6437, + "scope": 6439, "name": "_vault", "type_name": { - "id": 6440, + "id": 6442, "node_type": 69, "src": { "line": 2955, @@ -478,20 +478,20 @@ "start": 109479, "end": 109487, "length": 9, - "parent_index": 6439 + "parent_index": 6441 }, "path_node": { - "id": 6441, + "id": 6443, "name": "BaseVault", "node_type": 52, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "src": { "line": 2955, "column": 16, "start": 109479, "end": 109487, "length": 9, - "parent_index": 6440 + "parent_index": 6442 }, "name_location": { "line": 2955, @@ -499,12 +499,12 @@ "start": 109479, "end": 109487, "length": 9, - "parent_index": 6440 + "parent_index": 6442 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, @@ -512,20 +512,20 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } } ], "parameter_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } ] }, "return_parameters": { - "id": 6442, + "id": 6444, "node_type": 43, "src": { "line": 2955, @@ -533,14 +533,14 @@ "start": 109467, "end": 109634, "length": 168, - "parent_index": 6437 + "parent_index": 6439 }, "parameters": [], "parameter_types": [] }, - "scope": 6415, + "scope": 6417, "body": { - "id": 6443, + "id": 6445, "node_type": 46, "kind": 0, "src": { @@ -549,12 +549,12 @@ "start": 109497, "end": 109634, "length": 138, - "parent_index": 6437 + "parent_index": 6439 }, "implemented": true, "statements": [ { - "id": 6444, + "id": 6446, "node_type": 27, "src": { "line": 2956, @@ -562,10 +562,10 @@ "start": 109507, "end": 109547, "length": 41, - "parent_index": 6443 + "parent_index": 6445 }, "expression": { - "id": 6445, + "id": 6447, "node_type": 27, "src": { "line": 2956, @@ -573,11 +573,11 @@ "start": 109507, "end": 109546, "length": 40, - "parent_index": 6444 + "parent_index": 6446 }, "operator": 11, "left_expression": { - "id": 6446, + "id": 6448, "node_type": 16, "src": { "line": 2956, @@ -585,7 +585,7 @@ "start": 109507, "end": 109520, "length": 14, - "parent_index": 6445 + "parent_index": 6447 }, "name": "wormholeRouter", "type_description": { @@ -593,11 +593,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5271, - "is_pure": false + "referenced_declaration": 5272, + "is_pure": false, + "text": "wormholeRouter" }, "right_expression": { - "id": 6447, + "id": 6449, "node_type": 24, "kind": 24, "src": { @@ -606,12 +607,12 @@ "start": 109524, "end": 109546, "length": 23, - "parent_index": 6445 + "parent_index": 6447 }, "argument_types": [], "arguments": [], "expression": { - "id": 6448, + "id": 6450, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -623,7 +624,7 @@ "start": 109524, "end": 109544, "length": 21, - "parent_index": 6447 + "parent_index": 6449 }, "member_location": { "line": 2956, @@ -631,10 +632,10 @@ "start": 109531, "end": 109544, "length": 14, - "parent_index": 6448 + "parent_index": 6450 }, "expression": { - "id": 6449, + "id": 6451, "node_type": 16, "src": { "line": 2956, @@ -642,23 +643,25 @@ "start": 109524, "end": 109529, "length": 6, - "parent_index": 6448 + "parent_index": 6450 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6449, - "is_pure": false + "referenced_declaration": 6451, + "is_pure": false, + "text": "_vault" }, "member_name": "wormholeRouter", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "_vault.wormholeRouter" }, "type_description": { "type_identifier": "t_function_$", @@ -673,10 +676,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "wormholeRouter=_vault.wormholeRouter();" }, { - "id": 6450, + "id": 6452, "node_type": 27, "src": { "line": 2957, @@ -684,10 +688,10 @@ "start": 109557, "end": 109586, "length": 30, - "parent_index": 6443 + "parent_index": 6445 }, "expression": { - "id": 6451, + "id": 6453, "node_type": 27, "src": { "line": 2957, @@ -695,11 +699,11 @@ "start": 109557, "end": 109585, "length": 29, - "parent_index": 6450 + "parent_index": 6452 }, "operator": 11, "left_expression": { - "id": 6452, + "id": 6454, "node_type": 16, "src": { "line": 2957, @@ -707,19 +711,20 @@ "start": 109557, "end": 109561, "length": 5, - "parent_index": 6451 + "parent_index": 6453 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "right_expression": { - "id": 6453, + "id": 6455, "node_type": 24, "kind": 24, "src": { @@ -728,7 +733,7 @@ "start": 109565, "end": 109585, "length": 21, - "parent_index": 6451 + "parent_index": 6453 }, "argument_types": [ { @@ -738,7 +743,7 @@ ], "arguments": [ { - "id": 6455, + "id": 6457, "node_type": 24, "kind": 24, "src": { @@ -747,12 +752,12 @@ "start": 109571, "end": 109584, "length": 14, - "parent_index": 6453 + "parent_index": 6455 }, "argument_types": [], "arguments": [], "expression": { - "id": 6456, + "id": 6458, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -764,7 +769,7 @@ "start": 109571, "end": 109582, "length": 12, - "parent_index": 6455 + "parent_index": 6457 }, "member_location": { "line": 2957, @@ -772,10 +777,10 @@ "start": 109578, "end": 109582, "length": 5, - "parent_index": 6456 + "parent_index": 6458 }, "expression": { - "id": 6457, + "id": 6459, "node_type": 16, "src": { "line": 2957, @@ -783,23 +788,25 @@ "start": 109571, "end": 109576, "length": 6, - "parent_index": 6456 + "parent_index": 6458 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6457, - "is_pure": false + "referenced_declaration": 6459, + "is_pure": false, + "text": "_vault" }, "member_name": "asset", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "_vault.asset" }, "type_description": { "type_identifier": "t_function_$", @@ -808,7 +815,7 @@ } ], "expression": { - "id": 6454, + "id": 6456, "node_type": 16, "src": { "line": 2957, @@ -816,7 +823,7 @@ "start": 109565, "end": 109569, "length": 5, - "parent_index": 6453 + "parent_index": 6455 }, "name": "ERC20", "type_description": { @@ -825,7 +832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -833,17 +841,18 @@ } }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset=ERC20(_vault.asset());" }, { - "id": 6458, + "id": 6460, "node_type": 27, "src": { "line": 2958, @@ -851,10 +860,10 @@ "start": 109596, "end": 109628, "length": 33, - "parent_index": 6443 + "parent_index": 6445 }, "expression": { - "id": 6459, + "id": 6461, "node_type": 27, "src": { "line": 2958, @@ -862,11 +871,11 @@ "start": 109596, "end": 109627, "length": 32, - "parent_index": 6458 + "parent_index": 6460 }, "operator": 11, "left_expression": { - "id": 6460, + "id": 6462, "node_type": 16, "src": { "line": 2958, @@ -874,7 +883,7 @@ "start": 109596, "end": 109605, "length": 10, - "parent_index": 6459 + "parent_index": 6461 }, "name": "governance", "type_description": { @@ -882,11 +891,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "right_expression": { - "id": 6461, + "id": 6463, "node_type": 24, "kind": 24, "src": { @@ -895,12 +905,12 @@ "start": 109609, "end": 109627, "length": 19, - "parent_index": 6459 + "parent_index": 6461 }, "argument_types": [], "arguments": [], "expression": { - "id": 6462, + "id": 6464, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -912,7 +922,7 @@ "start": 109609, "end": 109625, "length": 17, - "parent_index": 6461 + "parent_index": 6463 }, "member_location": { "line": 2958, @@ -920,10 +930,10 @@ "start": 109616, "end": 109625, "length": 10, - "parent_index": 6462 + "parent_index": 6464 }, "expression": { - "id": 6463, + "id": 6465, "node_type": 16, "src": { "line": 2958, @@ -931,23 +941,25 @@ "start": 109609, "end": 109614, "length": 6, - "parent_index": 6462 + "parent_index": 6464 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6463, - "is_pure": false + "referenced_declaration": 6465, + "is_pure": false, + "text": "_vault" }, "member_name": "governance", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "_vault.governance" }, "type_description": { "type_identifier": "t_function_$", @@ -962,13 +974,14 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "governance=_vault.governance();" } ] } }, { - "id": 6465, + "id": 6467, "name": "clearFunds", "node_type": 42, "kind": 41, @@ -978,7 +991,7 @@ "start": 109834, "end": 110021, "length": 188, - "parent_index": 6415 + "parent_index": 6417 }, "name_location": { "line": 2966, @@ -986,10 +999,10 @@ "start": 109843, "end": 109852, "length": 10, - "parent_index": 6465 + "parent_index": 6467 }, "body": { - "id": 6472, + "id": 6474, "node_type": 46, "kind": 0, "src": { @@ -998,12 +1011,12 @@ "start": 109905, "end": 110021, "length": 117, - "parent_index": 6465 + "parent_index": 6467 }, "implemented": true, "statements": [ { - "id": 6473, + "id": 6475, "node_type": 24, "kind": 24, "src": { @@ -1012,7 +1025,7 @@ "start": 109915, "end": 109979, "length": 65, - "parent_index": 6472 + "parent_index": 6474 }, "argument_types": [ { @@ -1026,7 +1039,7 @@ ], "arguments": [ { - "id": 6475, + "id": 6477, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1036,11 +1049,11 @@ "start": 109923, "end": 109950, "length": 28, - "parent_index": 6473 + "parent_index": 6475 }, "operator": 11, "left_expression": { - "id": 6476, + "id": 6478, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1052,7 +1065,7 @@ "start": 109923, "end": 109932, "length": 10, - "parent_index": 6475 + "parent_index": 6477 }, "member_location": { "line": 2967, @@ -1060,10 +1073,10 @@ "start": 109927, "end": 109932, "length": 6, - "parent_index": 6476 + "parent_index": 6478 }, "expression": { - "id": 6477, + "id": 6479, "node_type": 16, "src": { "line": 2967, @@ -1071,7 +1084,7 @@ "start": 109923, "end": 109925, "length": 3, - "parent_index": 6476 + "parent_index": 6478 }, "name": "msg", "type_description": { @@ -1080,17 +1093,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 6478, + "id": 6480, "node_type": 16, "src": { "line": 2967, @@ -1098,7 +1113,7 @@ "start": 109937, "end": 109950, "length": 14, - "parent_index": 6475 + "parent_index": 6477 }, "name": "wormholeRouter", "type_description": { @@ -1106,8 +1121,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5271, - "is_pure": false + "referenced_declaration": 5272, + "is_pure": false, + "text": "wormholeRouter" }, "type_description": { "type_identifier": "t_bool", @@ -1115,7 +1131,7 @@ } }, { - "id": 6479, + "id": 6481, "node_type": 17, "kind": 50, "value": "BE: Only wormhole router", @@ -1126,7 +1142,7 @@ "start": 109953, "end": 109978, "length": 26, - "parent_index": 6473 + "parent_index": 6475 }, "type_description": { "type_identifier": "t_string_literal", @@ -1140,11 +1156,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BE: Only wormhole router\"" } ], "expression": { - "id": 6474, + "id": 6476, "node_type": 16, "src": { "line": 2967, @@ -1152,7 +1169,7 @@ "start": 109915, "end": 109921, "length": 7, - "parent_index": 6473 + "parent_index": 6475 }, "name": "require", "type_description": { @@ -1161,7 +1178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1169,7 +1187,7 @@ } }, { - "id": 6480, + "id": 6482, "node_type": 24, "kind": 24, "src": { @@ -1178,7 +1196,7 @@ "start": 109990, "end": 110014, "length": 25, - "parent_index": 6472 + "parent_index": 6474 }, "argument_types": [ { @@ -1192,7 +1210,7 @@ ], "arguments": [ { - "id": 6482, + "id": 6484, "node_type": 16, "src": { "line": 2968, @@ -1200,7 +1218,7 @@ "start": 109997, "end": 110002, "length": 6, - "parent_index": 6480 + "parent_index": 6482 }, "name": "assets", "type_description": { @@ -1208,11 +1226,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6482, - "is_pure": false + "referenced_declaration": 6484, + "is_pure": false, + "text": "assets" }, { - "id": 6483, + "id": 6485, "node_type": 16, "src": { "line": 2968, @@ -1220,7 +1239,7 @@ "start": 110005, "end": 110013, "length": 9, - "parent_index": 6480 + "parent_index": 6482 }, "name": "exitProof", "type_description": { @@ -1228,18 +1247,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 6483, + "referenced_declaration": 6485, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "exitProof" } ], "expression": { - "id": 6481, + "id": 6483, "node_type": 16, "src": { "line": 2968, @@ -1247,7 +1267,7 @@ "start": 109990, "end": 109995, "length": 6, - "parent_index": 6480 + "parent_index": 6482 }, "name": "_clear", "type_description": { @@ -1256,7 +1276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_clear" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", @@ -1272,7 +1293,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6466, + "id": 6468, "node_type": 43, "src": { "line": 2966, @@ -1280,11 +1301,11 @@ "start": 109854, "end": 109893, "length": 40, - "parent_index": 6465 + "parent_index": 6467 }, "parameters": [ { - "id": 6467, + "id": 6469, "node_type": 44, "src": { "line": 2966, @@ -1292,12 +1313,12 @@ "start": 109854, "end": 109867, "length": 14, - "parent_index": 6466 + "parent_index": 6468 }, - "scope": 6465, + "scope": 6467, "name": "assets", "type_name": { - "id": 6468, + "id": 6470, "node_type": 30, "src": { "line": 2966, @@ -1305,7 +1326,7 @@ "start": 109854, "end": 109860, "length": 7, - "parent_index": 6467 + "parent_index": 6469 }, "name": "uint256", "referenced_declaration": 0, @@ -1323,7 +1344,7 @@ } }, { - "id": 6469, + "id": 6471, "node_type": 44, "src": { "line": 2966, @@ -1331,12 +1352,12 @@ "start": 109870, "end": 109893, "length": 24, - "parent_index": 6466 + "parent_index": 6468 }, - "scope": 6465, + "scope": 6467, "name": "exitProof", "type_name": { - "id": 6470, + "id": 6472, "node_type": 30, "src": { "line": 2966, @@ -1344,7 +1365,7 @@ "start": 109870, "end": 109874, "length": 5, - "parent_index": 6469 + "parent_index": 6471 }, "name": "bytes", "referenced_declaration": 0, @@ -1374,7 +1395,7 @@ ] }, "return_parameters": { - "id": 6471, + "id": 6473, "node_type": 43, "src": { "line": 2966, @@ -1382,21 +1403,22 @@ "start": 109834, "end": 110021, "length": 188, - "parent_index": 6465 + "parent_index": 6467 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "clearFunds(uint256, bytes)", - "signature": "9b80db2c", - "scope": 6415, + "signature_raw": "clearFunds(uint256,bytes)", + "signature": "f29874ac", + "scope": 6417, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", "type_string": "function(uint256,bytes)" - } + }, + "text": "functionclearFunds(uint256assets,bytescalldataexitProof)external{require(msg.sender==wormholeRouter,\"BE: Only wormhole router\");_clear(assets,exitProof);}" }, { - "id": 6485, + "id": 6487, "name": "rescueFunds", "node_type": 42, "kind": 41, @@ -1406,7 +1428,7 @@ "start": 110089, "end": 110268, "length": 180, - "parent_index": 6415 + "parent_index": 6417 }, "name_location": { "line": 2972, @@ -1414,10 +1436,10 @@ "start": 110098, "end": 110108, "length": 11, - "parent_index": 6485 + "parent_index": 6487 }, "body": { - "id": 6492, + "id": 6494, "node_type": 46, "kind": 0, "src": { @@ -1426,12 +1448,12 @@ "start": 110161, "end": 110268, "length": 108, - "parent_index": 6485 + "parent_index": 6487 }, "implemented": true, "statements": [ { - "id": 6493, + "id": 6495, "node_type": 24, "kind": 24, "src": { @@ -1440,7 +1462,7 @@ "start": 110171, "end": 110226, "length": 56, - "parent_index": 6492 + "parent_index": 6494 }, "argument_types": [ { @@ -1454,7 +1476,7 @@ ], "arguments": [ { - "id": 6495, + "id": 6497, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1464,11 +1486,11 @@ "start": 110179, "end": 110202, "length": 24, - "parent_index": 6493 + "parent_index": 6495 }, "operator": 11, "left_expression": { - "id": 6496, + "id": 6498, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1480,7 +1502,7 @@ "start": 110179, "end": 110188, "length": 10, - "parent_index": 6495 + "parent_index": 6497 }, "member_location": { "line": 2973, @@ -1488,10 +1510,10 @@ "start": 110183, "end": 110188, "length": 6, - "parent_index": 6496 + "parent_index": 6498 }, "expression": { - "id": 6497, + "id": 6499, "node_type": 16, "src": { "line": 2973, @@ -1499,7 +1521,7 @@ "start": 110179, "end": 110181, "length": 3, - "parent_index": 6496 + "parent_index": 6498 }, "name": "msg", "type_description": { @@ -1508,17 +1530,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 6498, + "id": 6500, "node_type": 16, "src": { "line": 2973, @@ -1526,7 +1550,7 @@ "start": 110193, "end": 110202, "length": 10, - "parent_index": 6495 + "parent_index": 6497 }, "name": "governance", "type_description": { @@ -1534,8 +1558,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "type_description": { "type_identifier": "t_bool", @@ -1543,7 +1568,7 @@ } }, { - "id": 6499, + "id": 6501, "node_type": 17, "kind": 50, "value": "BE: Only Governance", @@ -1554,7 +1579,7 @@ "start": 110205, "end": 110225, "length": 21, - "parent_index": 6493 + "parent_index": 6495 }, "type_description": { "type_identifier": "t_string_literal", @@ -1568,11 +1593,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BE: Only Governance\"" } ], "expression": { - "id": 6494, + "id": 6496, "node_type": 16, "src": { "line": 2973, @@ -1580,7 +1606,7 @@ "start": 110171, "end": 110177, "length": 7, - "parent_index": 6493 + "parent_index": 6495 }, "name": "require", "type_description": { @@ -1589,7 +1615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1597,7 +1624,7 @@ } }, { - "id": 6500, + "id": 6502, "node_type": 24, "kind": 24, "src": { @@ -1606,7 +1633,7 @@ "start": 110237, "end": 110261, "length": 25, - "parent_index": 6492 + "parent_index": 6494 }, "argument_types": [ { @@ -1620,7 +1647,7 @@ ], "arguments": [ { - "id": 6502, + "id": 6504, "node_type": 16, "src": { "line": 2974, @@ -1628,7 +1655,7 @@ "start": 110244, "end": 110249, "length": 6, - "parent_index": 6500 + "parent_index": 6502 }, "name": "amount", "type_description": { @@ -1636,11 +1663,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6502, - "is_pure": false + "referenced_declaration": 6504, + "is_pure": false, + "text": "amount" }, { - "id": 6503, + "id": 6505, "node_type": 16, "src": { "line": 2974, @@ -1648,7 +1676,7 @@ "start": 110252, "end": 110260, "length": 9, - "parent_index": 6500 + "parent_index": 6502 }, "name": "exitProof", "type_description": { @@ -1656,18 +1684,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 6503, + "referenced_declaration": 6505, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "exitProof" } ], "expression": { - "id": 6501, + "id": 6503, "node_type": 16, "src": { "line": 2974, @@ -1675,7 +1704,7 @@ "start": 110237, "end": 110242, "length": 6, - "parent_index": 6500 + "parent_index": 6502 }, "name": "_clear", "type_description": { @@ -1684,7 +1713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_clear" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", @@ -1700,7 +1730,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6486, + "id": 6488, "node_type": 43, "src": { "line": 2972, @@ -1708,11 +1738,11 @@ "start": 110110, "end": 110149, "length": 40, - "parent_index": 6485 + "parent_index": 6487 }, "parameters": [ { - "id": 6487, + "id": 6489, "node_type": 44, "src": { "line": 2972, @@ -1720,12 +1750,12 @@ "start": 110110, "end": 110123, "length": 14, - "parent_index": 6486 + "parent_index": 6488 }, - "scope": 6485, + "scope": 6487, "name": "amount", "type_name": { - "id": 6488, + "id": 6490, "node_type": 30, "src": { "line": 2972, @@ -1733,7 +1763,7 @@ "start": 110110, "end": 110116, "length": 7, - "parent_index": 6487 + "parent_index": 6489 }, "name": "uint256", "referenced_declaration": 0, @@ -1751,7 +1781,7 @@ } }, { - "id": 6489, + "id": 6491, "node_type": 44, "src": { "line": 2972, @@ -1759,12 +1789,12 @@ "start": 110126, "end": 110149, "length": 24, - "parent_index": 6486 + "parent_index": 6488 }, - "scope": 6485, + "scope": 6487, "name": "exitProof", "type_name": { - "id": 6490, + "id": 6492, "node_type": 30, "src": { "line": 2972, @@ -1772,7 +1802,7 @@ "start": 110126, "end": 110130, "length": 5, - "parent_index": 6489 + "parent_index": 6491 }, "name": "bytes", "referenced_declaration": 0, @@ -1802,7 +1832,7 @@ ] }, "return_parameters": { - "id": 6491, + "id": 6493, "node_type": 43, "src": { "line": 2972, @@ -1810,21 +1840,22 @@ "start": 110089, "end": 110268, "length": 180, - "parent_index": 6485 + "parent_index": 6487 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "rescueFunds(uint256, bytes)", - "signature": "8a89a7ec", - "scope": 6415, + "signature_raw": "rescueFunds(uint256,bytes)", + "signature": "0f73cc4f", + "scope": 6417, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", "type_string": "function(uint256,bytes)" - } + }, + "text": "functionrescueFunds(uint256amount,bytescalldataexitProof)external{require(msg.sender==governance,\"BE: Only Governance\");_clear(amount,exitProof);}" }, { - "id": 6505, + "id": 6507, "name": "_clear", "node_type": 42, "kind": 41, @@ -1834,7 +1865,7 @@ "start": 110275, "end": 110349, "length": 75, - "parent_index": 6415 + "parent_index": 6417 }, "name_location": { "line": 2977, @@ -1842,10 +1873,10 @@ "start": 110284, "end": 110289, "length": 6, - "parent_index": 6505 + "parent_index": 6507 }, "body": { - "id": 6512, + "id": 6514, "node_type": 46, "kind": 0, "src": { @@ -1854,7 +1885,7 @@ "start": 110275, "end": 110349, "length": 75, - "parent_index": 6505 + "parent_index": 6507 }, "implemented": false, "statements": [] @@ -1866,7 +1897,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6506, + "id": 6508, "node_type": 43, "src": { "line": 2977, @@ -1874,11 +1905,11 @@ "start": 110291, "end": 110330, "length": 40, - "parent_index": 6505 + "parent_index": 6507 }, "parameters": [ { - "id": 6507, + "id": 6509, "node_type": 44, "src": { "line": 2977, @@ -1886,12 +1917,12 @@ "start": 110291, "end": 110304, "length": 14, - "parent_index": 6506 + "parent_index": 6508 }, - "scope": 6505, + "scope": 6507, "name": "assets", "type_name": { - "id": 6508, + "id": 6510, "node_type": 30, "src": { "line": 2977, @@ -1899,7 +1930,7 @@ "start": 110291, "end": 110297, "length": 7, - "parent_index": 6507 + "parent_index": 6509 }, "name": "uint256", "referenced_declaration": 0, @@ -1917,7 +1948,7 @@ } }, { - "id": 6509, + "id": 6511, "node_type": 44, "src": { "line": 2977, @@ -1925,12 +1956,12 @@ "start": 110307, "end": 110330, "length": 24, - "parent_index": 6506 + "parent_index": 6508 }, - "scope": 6505, + "scope": 6507, "name": "exitProof", "type_name": { - "id": 6510, + "id": 6512, "node_type": 30, "src": { "line": 2977, @@ -1938,7 +1969,7 @@ "start": 110307, "end": 110311, "length": 5, - "parent_index": 6509 + "parent_index": 6511 }, "name": "bytes", "referenced_declaration": 0, @@ -1968,7 +1999,7 @@ ] }, "return_parameters": { - "id": 6511, + "id": 6513, "node_type": 43, "src": { "line": 2977, @@ -1976,31 +2007,32 @@ "start": 110275, "end": 110349, "length": 75, - "parent_index": 6505 + "parent_index": 6507 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_clear(uint256, bytes)", - "signature": "1894c922", - "scope": 6415, + "signature_raw": "_clear(uint256,bytes)", + "signature": "5a7d604b", + "scope": 6417, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", "type_string": "function(uint256,bytes)" - } + }, + "text": "function_clear(uint256assets,bytescalldataexitProof)internalvirtual;" } ], "linearized_base_contracts": [ + 6417, + 6414, 6415, - 6412, - 6413, - 6414 + 6416 ], "base_contracts": [], "contract_dependencies": [ - 6412, - 6413, - 6414 + 6414, + 6415, + 6416 ] } ], diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Constants.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Constants.solgo.ast.json index fa956f90..769c75f4 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Constants.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Constants.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 7468, + "id": 7470, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 7468, + "id": 7470, "name": "Constants", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Constants.sol" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 7498, + "id": 7500, "node_type": 10, "src": { "line": 3195, @@ -22,7 +22,7 @@ "start": 118414, "end": 118437, "length": 24, - "parent_index": 7468 + "parent_index": 7470 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 7557, + "id": 7559, "name": "Constants", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 118440, "end": 118834, "length": 395, - "parent_index": 7468 + "parent_index": 7470 }, "name_location": { "line": 3197, @@ -55,14 +55,14 @@ "start": 118448, "end": 118456, "length": 9, - "parent_index": 7557 + "parent_index": 7559 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 7559, + "id": 7561, "name": "L2_FUND_TRANSFER_REPORT", "is_constant": true, "is_state_variable": true, @@ -73,9 +73,9 @@ "start": 118516, "end": 118595, "length": 80, - "parent_index": 7557 + "parent_index": 7559 }, - "scope": 7557, + "scope": 7559, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -84,7 +84,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7560, + "id": 7562, "node_type": 30, "src": { "line": 3200, @@ -92,7 +92,7 @@ "start": 118516, "end": 118522, "length": 7, - "parent_index": 7559 + "parent_index": 7561 }, "name": "bytes32", "referenced_declaration": 0, @@ -102,7 +102,7 @@ } }, "initial_value": { - "id": 7561, + "id": 7563, "node_type": 24, "kind": 24, "src": { @@ -111,7 +111,7 @@ "start": 118559, "end": 118594, "length": 36, - "parent_index": 7559 + "parent_index": 7561 }, "argument_types": [ { @@ -121,7 +121,7 @@ ], "arguments": [ { - "id": 7563, + "id": 7565, "node_type": 17, "kind": 50, "value": "L2_FUND_TRANSFER_REPORT", @@ -132,7 +132,7 @@ "start": 118569, "end": 118593, "length": 25, - "parent_index": 7561 + "parent_index": 7563 }, "type_description": { "type_identifier": "t_string_literal", @@ -140,11 +140,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L2_FUND_TRANSFER_REPORT\"" } ], "expression": { - "id": 7562, + "id": 7564, "node_type": 16, "src": { "line": 3200, @@ -152,7 +153,7 @@ "start": 118559, "end": 118567, "length": 9, - "parent_index": 7561 + "parent_index": 7563 }, "name": "keccak256", "type_description": { @@ -161,7 +162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -170,7 +172,7 @@ } }, { - "id": 7565, + "id": 7567, "name": "L2_FUND_REQUEST", "is_constant": true, "is_state_variable": true, @@ -181,9 +183,9 @@ "start": 118601, "end": 118664, "length": 64, - "parent_index": 7557 + "parent_index": 7559 }, - "scope": 7557, + "scope": 7559, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -192,7 +194,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7566, + "id": 7568, "node_type": 30, "src": { "line": 3201, @@ -200,7 +202,7 @@ "start": 118601, "end": 118607, "length": 7, - "parent_index": 7565 + "parent_index": 7567 }, "name": "bytes32", "referenced_declaration": 0, @@ -210,7 +212,7 @@ } }, "initial_value": { - "id": 7567, + "id": 7569, "node_type": 24, "kind": 24, "src": { @@ -219,7 +221,7 @@ "start": 118636, "end": 118663, "length": 28, - "parent_index": 7565 + "parent_index": 7567 }, "argument_types": [ { @@ -229,7 +231,7 @@ ], "arguments": [ { - "id": 7569, + "id": 7571, "node_type": 17, "kind": 50, "value": "L2_FUND_REQUEST", @@ -240,7 +242,7 @@ "start": 118646, "end": 118662, "length": 17, - "parent_index": 7567 + "parent_index": 7569 }, "type_description": { "type_identifier": "t_string_literal", @@ -248,11 +250,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L2_FUND_REQUEST\"" } ], "expression": { - "id": 7568, + "id": 7570, "node_type": 16, "src": { "line": 3201, @@ -260,7 +263,7 @@ "start": 118636, "end": 118644, "length": 9, - "parent_index": 7567 + "parent_index": 7569 }, "name": "keccak256", "type_description": { @@ -269,7 +272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -278,7 +282,7 @@ } }, { - "id": 7571, + "id": 7573, "name": "L1_TVL", "is_constant": true, "is_state_variable": true, @@ -289,9 +293,9 @@ "start": 118702, "end": 118747, "length": 46, - "parent_index": 7557 + "parent_index": 7559 }, - "scope": 7557, + "scope": 7559, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -300,7 +304,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7572, + "id": 7574, "node_type": 30, "src": { "line": 3204, @@ -308,7 +312,7 @@ "start": 118702, "end": 118708, "length": 7, - "parent_index": 7571 + "parent_index": 7573 }, "name": "bytes32", "referenced_declaration": 0, @@ -318,7 +322,7 @@ } }, "initial_value": { - "id": 7573, + "id": 7575, "node_type": 24, "kind": 24, "src": { @@ -327,7 +331,7 @@ "start": 118728, "end": 118746, "length": 19, - "parent_index": 7571 + "parent_index": 7573 }, "argument_types": [ { @@ -337,7 +341,7 @@ ], "arguments": [ { - "id": 7575, + "id": 7577, "node_type": 17, "kind": 50, "value": "L1_TVL", @@ -348,7 +352,7 @@ "start": 118738, "end": 118745, "length": 8, - "parent_index": 7573 + "parent_index": 7575 }, "type_description": { "type_identifier": "t_string_literal", @@ -356,11 +360,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L1_TVL\"" } ], "expression": { - "id": 7574, + "id": 7576, "node_type": 16, "src": { "line": 3204, @@ -368,7 +373,7 @@ "start": 118728, "end": 118736, "length": 9, - "parent_index": 7573 + "parent_index": 7575 }, "name": "keccak256", "type_description": { @@ -377,7 +382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -386,7 +392,7 @@ } }, { - "id": 7577, + "id": 7579, "name": "L1_FUND_TRANSFER_REPORT", "is_constant": true, "is_state_variable": true, @@ -397,9 +403,9 @@ "start": 118753, "end": 118832, "length": 80, - "parent_index": 7557 + "parent_index": 7559 }, - "scope": 7557, + "scope": 7559, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -408,7 +414,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7578, + "id": 7580, "node_type": 30, "src": { "line": 3205, @@ -416,7 +422,7 @@ "start": 118753, "end": 118759, "length": 7, - "parent_index": 7577 + "parent_index": 7579 }, "name": "bytes32", "referenced_declaration": 0, @@ -426,7 +432,7 @@ } }, "initial_value": { - "id": 7579, + "id": 7581, "node_type": 24, "kind": 24, "src": { @@ -435,7 +441,7 @@ "start": 118796, "end": 118831, "length": 36, - "parent_index": 7577 + "parent_index": 7579 }, "argument_types": [ { @@ -445,7 +451,7 @@ ], "arguments": [ { - "id": 7581, + "id": 7583, "node_type": 17, "kind": 50, "value": "L1_FUND_TRANSFER_REPORT", @@ -456,7 +462,7 @@ "start": 118806, "end": 118830, "length": 25, - "parent_index": 7579 + "parent_index": 7581 }, "type_description": { "type_identifier": "t_string_literal", @@ -464,11 +470,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L1_FUND_TRANSFER_REPORT\"" } ], "expression": { - "id": 7580, + "id": 7582, "node_type": 16, "src": { "line": 3205, @@ -476,7 +483,7 @@ "start": 118796, "end": 118804, "length": 9, - "parent_index": 7579 + "parent_index": 7581 }, "name": "keccak256", "type_description": { @@ -485,7 +492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -495,7 +503,7 @@ } ], "linearized_base_contracts": [ - 7557 + 7559 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ContextUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ContextUpgradeable.solgo.ast.json index 05f8c0f7..c2c850f0 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ContextUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ContextUpgradeable.solgo.ast.json @@ -218,7 +218,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init()internalonlyInitializing{}" }, { "id": 2075, @@ -326,7 +327,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init_unchained()internalonlyInitializing{}" }, { "id": 2082, @@ -416,14 +418,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -560,7 +564,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 2094, @@ -650,14 +655,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -792,7 +799,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" }, { "id": 2106, @@ -849,7 +857,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC165Upgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC165Upgradeable.solgo.ast.json index 382b485c..15f05689 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC165Upgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC165Upgradeable.solgo.ast.json @@ -268,7 +268,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC165_init()internalonlyInitializing{}" }, { "id": 2464, @@ -376,7 +377,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC165_init_unchained()internalonlyInitializing{}" }, { "id": 2471, @@ -457,7 +459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2482, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 2483, @@ -504,7 +507,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC165Upgradeable).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -663,7 +667,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IERC165Upgradeable).interfaceId;}" }, { "id": 2486, @@ -720,7 +725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC1967UpgradeUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC1967UpgradeUpgradeable.solgo.ast.json index 459a048f..795a4d25 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC1967UpgradeUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC1967UpgradeUpgradeable.solgo.ast.json @@ -1,8 +1,8 @@ { - "id": 3124, + "id": 3125, "base_contracts": [ { - "id": 3164, + "id": 3165, "node_type": 62, "src": { "line": 1449, @@ -10,10 +10,10 @@ "start": 51388, "end": 51400, "length": 13, - "parent_index": 3163 + "parent_index": 3164 }, "base_name": { - "id": 3165, + "id": 3166, "node_type": 52, "src": { "line": 1449, @@ -21,7 +21,7 @@ "start": 51388, "end": 51400, "length": 13, - "parent_index": 3163 + "parent_index": 3164 }, "name": "Initializable", "referenced_declaration": 1894 @@ -31,32 +31,32 @@ "license": "MIT", "exported_symbols": [ { - "id": 3124, + "id": 3125, "name": "ERC1967UpgradeUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC1967UpgradeUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "IBeaconUpgradeable", "absolute_path": "IBeaconUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "draft-IERC1822Upgradeable", "absolute_path": "draft-IERC1822Upgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "AddressUpgradeable", "absolute_path": "AddressUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "StorageSlotUpgradeable", "absolute_path": "StorageSlotUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "Initializable", "absolute_path": "Initializable.sol" } @@ -66,7 +66,7 @@ "node_type": 1, "nodes": [ { - "id": 3139, + "id": 3140, "node_type": 10, "src": { "line": 1433, @@ -74,7 +74,7 @@ "start": 50897, "end": 50919, "length": 23, - "parent_index": 3124 + "parent_index": 3125 }, "literals": [ "pragma", @@ -90,7 +90,7 @@ "text": "pragma solidity ^0.8.2;" }, { - "id": 3158, + "id": 3159, "node_type": 29, "src": { "line": 1435, @@ -98,18 +98,18 @@ "start": 50922, "end": 50955, "length": 34, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "IBeaconUpgradeable.sol", "file": "./IBeaconUpgradeable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3159, + "id": 3160, "node_type": 29, "src": { "line": 1436, @@ -117,18 +117,18 @@ "start": 50957, "end": 50997, "length": 41, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "draft-IERC1822Upgradeable.sol", "file": "./draft-IERC1822Upgradeable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3160, + "id": 3161, "node_type": 29, "src": { "line": 1437, @@ -136,18 +136,18 @@ "start": 50999, "end": 51032, "length": 34, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "AddressUpgradeable.sol", "file": "./AddressUpgradeable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3161, + "id": 3162, "node_type": 29, "src": { "line": 1438, @@ -155,18 +155,18 @@ "start": 51034, "end": 51071, "length": 38, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "StorageSlotUpgradeable.sol", "file": "./StorageSlotUpgradeable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3162, + "id": 3163, "node_type": 29, "src": { "line": 1439, @@ -174,18 +174,18 @@ "start": 51073, "end": 51101, "length": 29, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "Initializable.sol", "file": "./Initializable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3163, + "id": 3164, "name": "ERC1967UpgradeUpgradeable", "node_type": 35, "src": { @@ -194,7 +194,7 @@ "start": 51341, "end": 58566, "length": 7226, - "parent_index": 3124 + "parent_index": 3125 }, "name_location": { "line": 1449, @@ -202,14 +202,14 @@ "start": 51359, "end": 51383, "length": 25, - "parent_index": 3163 + "parent_index": 3164 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3167, + "id": 3168, "name": "__ERC1967Upgrade_init", "node_type": 42, "kind": 41, @@ -219,7 +219,7 @@ "start": 51408, "end": 51473, "length": 66, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1450, @@ -227,10 +227,10 @@ "start": 51417, "end": 51437, "length": 21, - "parent_index": 3167 + "parent_index": 3168 }, "body": { - "id": 3172, + "id": 3173, "node_type": 46, "kind": 0, "src": { @@ -239,7 +239,7 @@ "start": 51467, "end": 51473, "length": 7, - "parent_index": 3167 + "parent_index": 3168 }, "implemented": true, "statements": [] @@ -250,7 +250,7 @@ "virtual": false, "modifiers": [ { - "id": 3169, + "id": 3170, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -260,12 +260,12 @@ "start": 51450, "end": 51465, "length": 16, - "parent_index": 3167 + "parent_index": 3168 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3170, + "id": 3171, "name": "onlyInitializing", "node_type": 0, "src": { @@ -274,14 +274,14 @@ "start": 51450, "end": 51465, "length": 16, - "parent_index": 3169 + "parent_index": 3170 } } } ], "overrides": [], "parameters": { - "id": 3168, + "id": 3169, "node_type": 43, "src": { "line": 1450, @@ -289,13 +289,13 @@ "start": 51408, "end": 51473, "length": 66, - "parent_index": 3167 + "parent_index": 3168 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3171, + "id": 3172, "node_type": 43, "src": { "line": 1450, @@ -303,21 +303,22 @@ "start": 51408, "end": 51473, "length": 66, - "parent_index": 3167 + "parent_index": 3168 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__ERC1967Upgrade_init()", "signature": "d69dce32", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC1967Upgrade_init()internalonlyInitializing{}" }, { - "id": 3174, + "id": 3175, "name": "__ERC1967Upgrade_init_unchained", "node_type": 42, "kind": 41, @@ -327,7 +328,7 @@ "start": 51480, "end": 51555, "length": 76, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1453, @@ -335,10 +336,10 @@ "start": 51489, "end": 51519, "length": 31, - "parent_index": 3174 + "parent_index": 3175 }, "body": { - "id": 3179, + "id": 3180, "node_type": 46, "kind": 0, "src": { @@ -347,7 +348,7 @@ "start": 51549, "end": 51555, "length": 7, - "parent_index": 3174 + "parent_index": 3175 }, "implemented": true, "statements": [] @@ -358,7 +359,7 @@ "virtual": false, "modifiers": [ { - "id": 3176, + "id": 3177, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -368,12 +369,12 @@ "start": 51532, "end": 51547, "length": 16, - "parent_index": 3174 + "parent_index": 3175 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3177, + "id": 3178, "name": "onlyInitializing", "node_type": 0, "src": { @@ -382,14 +383,14 @@ "start": 51532, "end": 51547, "length": 16, - "parent_index": 3176 + "parent_index": 3177 } } } ], "overrides": [], "parameters": { - "id": 3175, + "id": 3176, "node_type": 43, "src": { "line": 1453, @@ -397,13 +398,13 @@ "start": 51480, "end": 51555, "length": 76, - "parent_index": 3174 + "parent_index": 3175 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3178, + "id": 3179, "node_type": 43, "src": { "line": 1453, @@ -411,21 +412,22 @@ "start": 51480, "end": 51555, "length": 76, - "parent_index": 3174 + "parent_index": 3175 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__ERC1967Upgrade_init_unchained()", "signature": "0f039eff", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC1967Upgrade_init_unchained()internalonlyInitializing{}" }, { - "id": 3181, + "id": 3182, "name": "_ROLLBACK_SLOT", "is_constant": true, "is_state_variable": true, @@ -436,9 +438,9 @@ "start": 51640, "end": 51748, "length": 109, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" @@ -447,7 +449,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3182, + "id": 3183, "node_type": 30, "src": { "line": 1456, @@ -455,7 +457,7 @@ "start": 51640, "end": 51646, "length": 7, - "parent_index": 3181 + "parent_index": 3182 }, "name": "bytes32", "referenced_declaration": 0, @@ -465,7 +467,7 @@ } }, "initial_value": { - "id": 3183, + "id": 3184, "node_type": 17, "kind": 49, "value": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143", @@ -476,7 +478,7 @@ "start": 51682, "end": 51747, "length": 66, - "parent_index": 3181 + "parent_index": 3182 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -484,11 +486,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, { - "id": 3185, + "id": 3186, "name": "_IMPLEMENTATION_SLOT", "is_constant": true, "is_state_variable": true, @@ -499,9 +502,9 @@ "start": 51974, "end": 52089, "length": 116, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" @@ -510,7 +513,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3186, + "id": 3187, "node_type": 30, "src": { "line": 1463, @@ -518,7 +521,7 @@ "start": 51974, "end": 51980, "length": 7, - "parent_index": 3185 + "parent_index": 3186 }, "name": "bytes32", "referenced_declaration": 0, @@ -528,7 +531,7 @@ } }, "initial_value": { - "id": 3187, + "id": 3188, "node_type": 17, "kind": 49, "value": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", @@ -539,7 +542,7 @@ "start": 52023, "end": 52088, "length": 66, - "parent_index": 3185 + "parent_index": 3186 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -547,11 +550,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, { - "id": 3189, + "id": 3190, "node_type": 57, "src": { "line": 1468, @@ -559,10 +563,10 @@ "start": 52169, "end": 52215, "length": 47, - "parent_index": 3163 + "parent_index": 3164 }, "parameters": { - "id": 3190, + "id": 3191, "node_type": 43, "src": { "line": 1468, @@ -570,11 +574,11 @@ "start": 52169, "end": 52215, "length": 47, - "parent_index": 3189 + "parent_index": 3190 }, "parameters": [ { - "id": 3191, + "id": 3192, "node_type": 44, "src": { "line": 1468, @@ -582,12 +586,12 @@ "start": 52184, "end": 52213, "length": 30, - "parent_index": 3190 + "parent_index": 3191 }, - "scope": 3189, + "scope": 3190, "name": "implementation", "type_name": { - "id": 3192, + "id": 3193, "node_type": 30, "src": { "line": 1468, @@ -595,7 +599,7 @@ "start": 52184, "end": 52190, "length": 7, - "parent_index": 3191 + "parent_index": 3192 }, "name": "address", "state_mutability": 4, @@ -625,12 +629,12 @@ "name": "Upgraded", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263189", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263190", "type_string": "event ERC1967UpgradeUpgradeable.Upgraded" } }, { - "id": 3194, + "id": 3195, "name": "_getImplementation", "node_type": 42, "kind": 41, @@ -640,7 +644,7 @@ "start": 52294, "end": 52444, "length": 151, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1473, @@ -648,10 +652,10 @@ "start": 52303, "end": 52320, "length": 18, - "parent_index": 3194 + "parent_index": 3195 }, "body": { - "id": 3201, + "id": 3202, "node_type": 46, "kind": 0, "src": { @@ -660,12 +664,12 @@ "start": 52356, "end": 52444, "length": 89, - "parent_index": 3194 + "parent_index": 3195 }, "implemented": true, "statements": [ { - "id": 3202, + "id": 3203, "node_type": 47, "src": { "line": 1474, @@ -673,11 +677,11 @@ "start": 52366, "end": 52438, "length": 73, - "parent_index": 3194 + "parent_index": 3195 }, - "function_return_parameters": 3194, + "function_return_parameters": 3195, "expression": { - "id": 3203, + "id": 3204, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -689,7 +693,7 @@ "start": 52373, "end": 52437, "length": 65, - "parent_index": 3202 + "parent_index": 3203 }, "member_location": { "line": 1474, @@ -697,10 +701,10 @@ "start": 52433, "end": 52437, "length": 5, - "parent_index": 3203 + "parent_index": 3204 }, "expression": { - "id": 3204, + "id": 3205, "node_type": 24, "kind": 24, "src": { @@ -709,7 +713,7 @@ "start": 52373, "end": 52431, "length": 59, - "parent_index": 3203 + "parent_index": 3204 }, "argument_types": [ { @@ -719,7 +723,7 @@ ], "arguments": [ { - "id": 3207, + "id": 3208, "node_type": 16, "src": { "line": 1474, @@ -727,7 +731,7 @@ "start": 52411, "end": 52430, "length": 20, - "parent_index": 3204 + "parent_index": 3205 }, "name": "_IMPLEMENTATION_SLOT", "type_description": { @@ -736,11 +740,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { - "id": 3205, + "id": 3206, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -752,7 +757,7 @@ "start": 52373, "end": 52409, "length": 37, - "parent_index": 3204 + "parent_index": 3205 }, "member_location": { "line": 1474, @@ -760,10 +765,10 @@ "start": 52396, "end": 52409, "length": 14, - "parent_index": 3205 + "parent_index": 3206 }, "expression": { - "id": 3206, + "id": 3207, "node_type": 16, "src": { "line": 1474, @@ -771,23 +776,25 @@ "start": 52373, "end": 52394, "length": 22, - "parent_index": 3205 + "parent_index": 3206 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -799,7 +806,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value" } } ] @@ -811,7 +819,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3195, + "id": 3196, "node_type": 43, "src": { "line": 1473, @@ -819,11 +827,11 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3194 + "parent_index": 3195 }, "parameters": [ { - "id": 3196, + "id": 3197, "node_type": 44, "src": { "line": 1473, @@ -831,12 +839,12 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3195 + "parent_index": 3196 }, - "scope": 3194, + "scope": 3195, "name": "", "type_name": { - "id": 3197, + "id": 3198, "node_type": 30, "src": { "line": 1473, @@ -844,7 +852,7 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3196 + "parent_index": 3197 }, "name": "address", "state_mutability": 4, @@ -871,7 +879,7 @@ ] }, "return_parameters": { - "id": 3198, + "id": 3199, "node_type": 43, "src": { "line": 1473, @@ -879,11 +887,11 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3194 + "parent_index": 3195 }, "parameters": [ { - "id": 3199, + "id": 3200, "node_type": 44, "src": { "line": 1473, @@ -891,12 +899,12 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3198 + "parent_index": 3199 }, - "scope": 3194, + "scope": 3195, "name": "", "type_name": { - "id": 3200, + "id": 3201, "node_type": 30, "src": { "line": 1473, @@ -904,7 +912,7 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3199 + "parent_index": 3200 }, "name": "address", "state_mutability": 4, @@ -932,14 +940,15 @@ }, "signature_raw": "_getImplementation(address)", "signature": "c54e44b0", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getImplementation()internalviewreturns(address){returnStorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value;}" }, { - "id": 3209, + "id": 3210, "name": "_setImplementation", "node_type": 42, "kind": 41, @@ -949,7 +958,7 @@ "start": 52536, "end": 52816, "length": 281, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1480, @@ -957,10 +966,10 @@ "start": 52545, "end": 52562, "length": 18, - "parent_index": 3209 + "parent_index": 3210 }, "body": { - "id": 3214, + "id": 3215, "node_type": 46, "kind": 0, "src": { @@ -969,12 +978,12 @@ "start": 52599, "end": 52816, "length": 218, - "parent_index": 3209 + "parent_index": 3210 }, "implemented": true, "statements": [ { - "id": 3215, + "id": 3216, "node_type": 24, "kind": 24, "src": { @@ -983,7 +992,7 @@ "start": 52609, "end": 52714, "length": 106, - "parent_index": 3214 + "parent_index": 3215 }, "argument_types": [ { @@ -997,7 +1006,7 @@ ], "arguments": [ { - "id": 3217, + "id": 3218, "node_type": 24, "kind": 24, "src": { @@ -1006,7 +1015,7 @@ "start": 52617, "end": 52664, "length": 48, - "parent_index": 3215 + "parent_index": 3216 }, "argument_types": [ { @@ -1016,7 +1025,7 @@ ], "arguments": [ { - "id": 3220, + "id": 3221, "node_type": 16, "src": { "line": 1481, @@ -1024,7 +1033,7 @@ "start": 52647, "end": 52663, "length": 17, - "parent_index": 3217 + "parent_index": 3218 }, "name": "newImplementation", "type_description": { @@ -1032,12 +1041,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3220, - "is_pure": false + "referenced_declaration": 3221, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3218, + "id": 3219, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1049,7 +1059,7 @@ "start": 52617, "end": 52645, "length": 29, - "parent_index": 3217 + "parent_index": 3218 }, "member_location": { "line": 1481, @@ -1057,10 +1067,10 @@ "start": 52636, "end": 52645, "length": 10, - "parent_index": 3218 + "parent_index": 3219 }, "expression": { - "id": 3219, + "id": 3220, "node_type": 16, "src": { "line": 1481, @@ -1068,7 +1078,7 @@ "start": 52617, "end": 52634, "length": 18, - "parent_index": 3218 + "parent_index": 3219 }, "name": "AddressUpgradeable", "type_description": { @@ -1077,14 +1087,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1092,7 +1104,7 @@ } }, { - "id": 3221, + "id": 3222, "node_type": 17, "kind": 50, "value": "ERC1967: new implementation is not a contract", @@ -1103,7 +1115,7 @@ "start": 52667, "end": 52713, "length": 47, - "parent_index": 3215 + "parent_index": 3216 }, "type_description": { "type_identifier": "t_string_literal", @@ -1117,11 +1129,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new implementation is not a contract\"" } ], "expression": { - "id": 3216, + "id": 3217, "node_type": 16, "src": { "line": 1481, @@ -1129,7 +1142,7 @@ "start": 52609, "end": 52615, "length": 7, - "parent_index": 3215 + "parent_index": 3216 }, "name": "require", "type_description": { @@ -1138,7 +1151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -1146,7 +1160,7 @@ } }, { - "id": 3222, + "id": 3223, "node_type": 27, "src": { "line": 1482, @@ -1154,10 +1168,10 @@ "start": 52725, "end": 52810, "length": 86, - "parent_index": 3214 + "parent_index": 3215 }, "expression": { - "id": 3223, + "id": 3224, "node_type": 27, "src": { "line": 1482, @@ -1165,11 +1179,11 @@ "start": 52725, "end": 52809, "length": 85, - "parent_index": 3222 + "parent_index": 3223 }, "operator": 11, "left_expression": { - "id": 3224, + "id": 3225, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1181,7 +1195,7 @@ "start": 52725, "end": 52789, "length": 65, - "parent_index": 3223 + "parent_index": 3224 }, "member_location": { "line": 1482, @@ -1189,10 +1203,10 @@ "start": 52785, "end": 52789, "length": 5, - "parent_index": 3224 + "parent_index": 3225 }, "expression": { - "id": 3225, + "id": 3226, "node_type": 24, "kind": 24, "src": { @@ -1201,7 +1215,7 @@ "start": 52725, "end": 52783, "length": 59, - "parent_index": 3224 + "parent_index": 3225 }, "argument_types": [ { @@ -1211,7 +1225,7 @@ ], "arguments": [ { - "id": 3228, + "id": 3229, "node_type": 16, "src": { "line": 1482, @@ -1219,7 +1233,7 @@ "start": 52763, "end": 52782, "length": 20, - "parent_index": 3225 + "parent_index": 3226 }, "name": "_IMPLEMENTATION_SLOT", "type_description": { @@ -1228,11 +1242,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { - "id": 3226, + "id": 3227, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1244,7 +1259,7 @@ "start": 52725, "end": 52761, "length": 37, - "parent_index": 3225 + "parent_index": 3226 }, "member_location": { "line": 1482, @@ -1252,10 +1267,10 @@ "start": 52748, "end": 52761, "length": 14, - "parent_index": 3226 + "parent_index": 3227 }, "expression": { - "id": 3227, + "id": 3228, "node_type": 16, "src": { "line": 1482, @@ -1263,23 +1278,25 @@ "start": 52725, "end": 52746, "length": 22, - "parent_index": 3226 + "parent_index": 3227 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1291,10 +1308,11 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value" }, "right_expression": { - "id": 3229, + "id": 3230, "node_type": 16, "src": { "line": 1482, @@ -1302,7 +1320,7 @@ "start": 52793, "end": 52809, "length": 17, - "parent_index": 3223 + "parent_index": 3224 }, "name": "newImplementation", "type_description": { @@ -1310,8 +1328,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3229, - "is_pure": false + "referenced_declaration": 3230, + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1321,7 +1340,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;" } ] }, @@ -1332,7 +1352,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3210, + "id": 3211, "node_type": 43, "src": { "line": 1480, @@ -1340,11 +1360,11 @@ "start": 52564, "end": 52588, "length": 25, - "parent_index": 3209 + "parent_index": 3210 }, "parameters": [ { - "id": 3211, + "id": 3212, "node_type": 44, "src": { "line": 1480, @@ -1352,12 +1372,12 @@ "start": 52564, "end": 52588, "length": 25, - "parent_index": 3210 + "parent_index": 3211 }, - "scope": 3209, + "scope": 3210, "name": "newImplementation", "type_name": { - "id": 3212, + "id": 3213, "node_type": 30, "src": { "line": 1480, @@ -1365,7 +1385,7 @@ "start": 52564, "end": 52570, "length": 7, - "parent_index": 3211 + "parent_index": 3212 }, "name": "address", "state_mutability": 4, @@ -1392,7 +1412,7 @@ ] }, "return_parameters": { - "id": 3213, + "id": 3214, "node_type": 43, "src": { "line": 1480, @@ -1400,21 +1420,22 @@ "start": 52536, "end": 52816, "length": 281, - "parent_index": 3209 + "parent_index": 3210 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_setImplementation(address)", "signature": "bb913f41", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(AddressUpgradeable.isContract(newImplementation),\"ERC1967: new implementation is not a contract\");StorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;}" }, { - "id": 3231, + "id": 3232, "name": "_upgradeTo", "node_type": 42, "kind": 41, @@ -1424,7 +1445,7 @@ "start": 52923, "end": 53074, "length": 152, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1490, @@ -1432,10 +1453,10 @@ "start": 52932, "end": 52941, "length": 10, - "parent_index": 3231 + "parent_index": 3232 }, "body": { - "id": 3236, + "id": 3237, "node_type": 46, "kind": 0, "src": { @@ -1444,12 +1465,12 @@ "start": 52979, "end": 53074, "length": 96, - "parent_index": 3231 + "parent_index": 3232 }, "implemented": true, "statements": [ { - "id": 3237, + "id": 3238, "node_type": 24, "kind": 24, "src": { @@ -1458,7 +1479,7 @@ "start": 52989, "end": 53025, "length": 37, - "parent_index": 3236 + "parent_index": 3237 }, "argument_types": [ { @@ -1468,7 +1489,7 @@ ], "arguments": [ { - "id": 3239, + "id": 3240, "node_type": 16, "src": { "line": 1491, @@ -1476,7 +1497,7 @@ "start": 53008, "end": 53024, "length": 17, - "parent_index": 3237 + "parent_index": 3238 }, "name": "newImplementation", "type_description": { @@ -1484,12 +1505,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3239, - "is_pure": false + "referenced_declaration": 3240, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3238, + "id": 3239, "node_type": 16, "src": { "line": 1491, @@ -1497,7 +1519,7 @@ "start": 52989, "end": 53006, "length": 18, - "parent_index": 3237 + "parent_index": 3238 }, "name": "_setImplementation", "type_description": { @@ -1506,7 +1528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1514,7 +1537,7 @@ } }, { - "id": 3240, + "id": 3241, "node_type": 64, "src": { "line": 1492, @@ -1522,11 +1545,11 @@ "start": 53036, "end": 53068, "length": 33, - "parent_index": 3231 + "parent_index": 3232 }, "arguments": [ { - "id": 3241, + "id": 3242, "node_type": 16, "src": { "line": 1492, @@ -1534,7 +1557,7 @@ "start": 53050, "end": 53066, "length": 17, - "parent_index": 3240 + "parent_index": 3241 }, "name": "newImplementation", "type_description": { @@ -1542,12 +1565,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3241, - "is_pure": false + "referenced_declaration": 3242, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3242, + "id": 3243, "node_type": 16, "src": { "line": 1492, @@ -1555,16 +1579,17 @@ "start": 53041, "end": 53048, "length": 8, - "parent_index": 3240 + "parent_index": 3241 }, "name": "Upgraded", "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263189", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263190", "type_string": "event ERC1967UpgradeUpgradeable.Upgraded" }, "overloaded_declarations": [], - "referenced_declaration": 3189, - "is_pure": false + "referenced_declaration": 3190, + "is_pure": false, + "text": "Upgraded" } } ] @@ -1576,7 +1601,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3232, + "id": 3233, "node_type": 43, "src": { "line": 1490, @@ -1584,11 +1609,11 @@ "start": 52943, "end": 52967, "length": 25, - "parent_index": 3231 + "parent_index": 3232 }, "parameters": [ { - "id": 3233, + "id": 3234, "node_type": 44, "src": { "line": 1490, @@ -1596,12 +1621,12 @@ "start": 52943, "end": 52967, "length": 25, - "parent_index": 3232 + "parent_index": 3233 }, - "scope": 3231, + "scope": 3232, "name": "newImplementation", "type_name": { - "id": 3234, + "id": 3235, "node_type": 30, "src": { "line": 1490, @@ -1609,7 +1634,7 @@ "start": 52943, "end": 52949, "length": 7, - "parent_index": 3233 + "parent_index": 3234 }, "name": "address", "state_mutability": 4, @@ -1636,7 +1661,7 @@ ] }, "return_parameters": { - "id": 3235, + "id": 3236, "node_type": 43, "src": { "line": 1490, @@ -1644,21 +1669,22 @@ "start": 52923, "end": 53074, "length": 152, - "parent_index": 3231 + "parent_index": 3232 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_upgradeTo(address)", "signature": "34140748", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_upgradeTo(addressnewImplementation)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { - "id": 3244, + "id": 3245, "name": "_upgradeToAndCall", "node_type": 42, "kind": 41, @@ -1668,7 +1694,7 @@ "start": 53209, "end": 53496, "length": 288, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1500, @@ -1676,10 +1702,10 @@ "start": 53218, "end": 53234, "length": 17, - "parent_index": 3244 + "parent_index": 3245 }, "body": { - "id": 3253, + "id": 3254, "node_type": 46, "kind": 0, "src": { @@ -1688,12 +1714,12 @@ "start": 53337, "end": 53496, "length": 160, - "parent_index": 3244 + "parent_index": 3245 }, "implemented": true, "statements": [ { - "id": 3254, + "id": 3255, "node_type": 24, "kind": 24, "src": { @@ -1702,7 +1728,7 @@ "start": 53347, "end": 53375, "length": 29, - "parent_index": 3253 + "parent_index": 3254 }, "argument_types": [ { @@ -1712,7 +1738,7 @@ ], "arguments": [ { - "id": 3256, + "id": 3257, "node_type": 16, "src": { "line": 1505, @@ -1720,7 +1746,7 @@ "start": 53358, "end": 53374, "length": 17, - "parent_index": 3254 + "parent_index": 3255 }, "name": "newImplementation", "type_description": { @@ -1728,12 +1754,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3256, - "is_pure": false + "referenced_declaration": 3257, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3255, + "id": 3256, "node_type": 16, "src": { "line": 1505, @@ -1741,7 +1768,7 @@ "start": 53347, "end": 53356, "length": 10, - "parent_index": 3254 + "parent_index": 3255 }, "name": "_upgradeTo", "type_description": { @@ -1750,7 +1777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeTo" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1758,7 +1786,7 @@ } }, { - "id": 3257, + "id": 3258, "node_type": 48, "src": { "line": 1506, @@ -1766,10 +1794,10 @@ "start": 53386, "end": 53490, "length": 105, - "parent_index": 3253 + "parent_index": 3254 }, "condition": { - "id": 3258, + "id": 3259, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1779,11 +1807,11 @@ "start": 53390, "end": 53417, "length": 28, - "parent_index": 3257 + "parent_index": 3258 }, "operator": 33, "left_expression": { - "id": 3259, + "id": 3260, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1793,11 +1821,11 @@ "start": 53390, "end": 53404, "length": 15, - "parent_index": 3258 + "parent_index": 3259 }, "operator": 7, "left_expression": { - "id": 3260, + "id": 3261, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1809,7 +1837,7 @@ "start": 53390, "end": 53400, "length": 11, - "parent_index": 3259 + "parent_index": 3260 }, "member_location": { "line": 1506, @@ -1817,10 +1845,10 @@ "start": 53395, "end": 53400, "length": 6, - "parent_index": 3260 + "parent_index": 3261 }, "expression": { - "id": 3261, + "id": 3262, "node_type": 16, "src": { "line": 1506, @@ -1828,7 +1856,7 @@ "start": 53390, "end": 53393, "length": 4, - "parent_index": 3260 + "parent_index": 3261 }, "name": "data", "type_description": { @@ -1836,18 +1864,20 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3261, - "is_pure": false + "referenced_declaration": 3262, + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { - "id": 3262, + "id": 3263, "node_type": 17, "kind": 49, "value": "0", @@ -1858,7 +1888,7 @@ "start": 53404, "end": 53404, "length": 1, - "parent_index": 3259 + "parent_index": 3260 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1866,7 +1896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1874,7 +1905,7 @@ } }, "right_expression": { - "id": 3263, + "id": 3264, "node_type": 16, "src": { "line": 1506, @@ -1882,7 +1913,7 @@ "start": 53409, "end": 53417, "length": 9, - "parent_index": 3258 + "parent_index": 3259 }, "name": "forceCall", "type_description": { @@ -1890,8 +1921,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3263, - "is_pure": false + "referenced_declaration": 3264, + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -1899,7 +1931,7 @@ } }, "body": { - "id": 3264, + "id": 3265, "node_type": 46, "kind": 0, "src": { @@ -1908,12 +1940,12 @@ "start": 53420, "end": 53490, "length": 71, - "parent_index": 3244 + "parent_index": 3245 }, "implemented": true, "statements": [ { - "id": 3265, + "id": 3266, "node_type": 24, "kind": 24, "src": { @@ -1922,7 +1954,7 @@ "start": 53434, "end": 53479, "length": 46, - "parent_index": 3264 + "parent_index": 3265 }, "argument_types": [ { @@ -1936,7 +1968,7 @@ ], "arguments": [ { - "id": 3267, + "id": 3268, "node_type": 16, "src": { "line": 1507, @@ -1944,7 +1976,7 @@ "start": 53456, "end": 53472, "length": 17, - "parent_index": 3265 + "parent_index": 3266 }, "name": "newImplementation", "type_description": { @@ -1952,11 +1984,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3267, - "is_pure": false + "referenced_declaration": 3268, + "is_pure": false, + "text": "newImplementation" }, { - "id": 3268, + "id": 3269, "node_type": 16, "src": { "line": 1507, @@ -1964,7 +1997,7 @@ "start": 53475, "end": 53478, "length": 4, - "parent_index": 3265 + "parent_index": 3266 }, "name": "data", "type_description": { @@ -1972,18 +2005,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3268, + "referenced_declaration": 3269, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { - "id": 3266, + "id": 3267, "node_type": 16, "src": { "line": 1507, @@ -1991,7 +2025,7 @@ "start": 53434, "end": 53454, "length": 21, - "parent_index": 3265 + "parent_index": 3266 }, "name": "_functionDelegateCall", "type_description": { @@ -2000,7 +2034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -2019,7 +2054,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3245, + "id": 3246, "node_type": 43, "src": { "line": 1501, @@ -2027,11 +2062,11 @@ "start": 53245, "end": 53320, "length": 76, - "parent_index": 3244 + "parent_index": 3245 }, "parameters": [ { - "id": 3246, + "id": 3247, "node_type": 44, "src": { "line": 1501, @@ -2039,12 +2074,12 @@ "start": 53245, "end": 53269, "length": 25, - "parent_index": 3245 + "parent_index": 3246 }, - "scope": 3244, + "scope": 3245, "name": "newImplementation", "type_name": { - "id": 3247, + "id": 3248, "node_type": 30, "src": { "line": 1501, @@ -2052,7 +2087,7 @@ "start": 53245, "end": 53251, "length": 7, - "parent_index": 3246 + "parent_index": 3247 }, "name": "address", "state_mutability": 4, @@ -2071,7 +2106,7 @@ } }, { - "id": 3248, + "id": 3249, "node_type": 44, "src": { "line": 1502, @@ -2079,12 +2114,12 @@ "start": 53280, "end": 53296, "length": 17, - "parent_index": 3245 + "parent_index": 3246 }, - "scope": 3244, + "scope": 3245, "name": "data", "type_name": { - "id": 3249, + "id": 3250, "node_type": 30, "src": { "line": 1502, @@ -2092,7 +2127,7 @@ "start": 53280, "end": 53284, "length": 5, - "parent_index": 3248 + "parent_index": 3249 }, "name": "bytes", "referenced_declaration": 0, @@ -2110,7 +2145,7 @@ } }, { - "id": 3250, + "id": 3251, "node_type": 44, "src": { "line": 1503, @@ -2118,12 +2153,12 @@ "start": 53307, "end": 53320, "length": 14, - "parent_index": 3245 + "parent_index": 3246 }, - "scope": 3244, + "scope": 3245, "name": "forceCall", "type_name": { - "id": 3251, + "id": 3252, "node_type": 30, "src": { "line": 1503, @@ -2131,7 +2166,7 @@ "start": 53307, "end": 53310, "length": 4, - "parent_index": 3250 + "parent_index": 3251 }, "name": "bool", "referenced_declaration": 0, @@ -2165,7 +2200,7 @@ ] }, "return_parameters": { - "id": 3252, + "id": 3253, "node_type": 43, "src": { "line": 1500, @@ -2173,21 +2208,22 @@ "start": 53209, "end": 53496, "length": 288, - "parent_index": 3244 + "parent_index": 3245 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCall(address, bytes, bool)", - "signature": "b2f571b5", - "scope": 3163, + "signature_raw": "_upgradeToAndCall(address,bytes,bool)", + "signature": "267b04ae", + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCall(addressnewImplementation,bytesmemorydata,boolforceCall)internal{_upgradeTo(newImplementation);if(data.length\u003e0||forceCall){_functionDelegateCall(newImplementation,data);}}" }, { - "id": 3270, + "id": 3271, "name": "_upgradeToAndCallUUPS", "node_type": 42, "kind": 41, @@ -2197,7 +2233,7 @@ "start": 53669, "end": 54642, "length": 974, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1516, @@ -2205,10 +2241,10 @@ "start": 53678, "end": 53698, "length": 21, - "parent_index": 3270 + "parent_index": 3271 }, "body": { - "id": 3279, + "id": 3280, "node_type": 46, "kind": 0, "src": { @@ -2217,12 +2253,12 @@ "start": 53801, "end": 54642, "length": 842, - "parent_index": 3270 + "parent_index": 3271 }, "implemented": true, "statements": [ { - "id": 3280, + "id": 3281, "node_type": 48, "src": { "line": 1524, @@ -2230,10 +2266,10 @@ "start": 54111, "end": 54636, "length": 526, - "parent_index": 3279 + "parent_index": 3280 }, "condition": { - "id": 3281, + "id": 3282, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2245,7 +2281,7 @@ "start": 54115, "end": 54173, "length": 59, - "parent_index": 3280 + "parent_index": 3281 }, "member_location": { "line": 1524, @@ -2253,10 +2289,10 @@ "start": 54169, "end": 54173, "length": 5, - "parent_index": 3281 + "parent_index": 3282 }, "expression": { - "id": 3282, + "id": 3283, "node_type": 24, "kind": 24, "src": { @@ -2265,7 +2301,7 @@ "start": 54115, "end": 54167, "length": 53, - "parent_index": 3281 + "parent_index": 3282 }, "argument_types": [ { @@ -2275,7 +2311,7 @@ ], "arguments": [ { - "id": 3285, + "id": 3286, "node_type": 16, "src": { "line": 1524, @@ -2283,7 +2319,7 @@ "start": 54153, "end": 54166, "length": 14, - "parent_index": 3282 + "parent_index": 3283 }, "name": "_ROLLBACK_SLOT", "type_description": { @@ -2292,11 +2328,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ROLLBACK_SLOT" } ], "expression": { - "id": 3283, + "id": 3284, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2308,7 +2345,7 @@ "start": 54115, "end": 54151, "length": 37, - "parent_index": 3282 + "parent_index": 3283 }, "member_location": { "line": 1524, @@ -2316,10 +2353,10 @@ "start": 54138, "end": 54151, "length": 14, - "parent_index": 3283 + "parent_index": 3284 }, "expression": { - "id": 3284, + "id": 3285, "node_type": 16, "src": { "line": 1524, @@ -2327,23 +2364,25 @@ "start": 54115, "end": 54136, "length": 22, - "parent_index": 3283 + "parent_index": 3284 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getBooleanSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getBooleanSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2355,10 +2394,11 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getBooleanSlot(_ROLLBACK_SLOT).value" }, "body": { - "id": 3286, + "id": 3287, "node_type": 46, "kind": 0, "src": { @@ -2367,12 +2407,12 @@ "start": 54176, "end": 54237, "length": 62, - "parent_index": 3270 + "parent_index": 3271 }, "implemented": true, "statements": [ { - "id": 3287, + "id": 3288, "node_type": 24, "kind": 24, "src": { @@ -2381,7 +2421,7 @@ "start": 54190, "end": 54226, "length": 37, - "parent_index": 3286 + "parent_index": 3287 }, "argument_types": [ { @@ -2391,7 +2431,7 @@ ], "arguments": [ { - "id": 3289, + "id": 3290, "node_type": 16, "src": { "line": 1525, @@ -2399,7 +2439,7 @@ "start": 54209, "end": 54225, "length": 17, - "parent_index": 3287 + "parent_index": 3288 }, "name": "newImplementation", "type_description": { @@ -2407,12 +2447,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3289, - "is_pure": false + "referenced_declaration": 3290, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3288, + "id": 3289, "node_type": 16, "src": { "line": 1525, @@ -2420,7 +2461,7 @@ "start": 54190, "end": 54207, "length": 18, - "parent_index": 3287 + "parent_index": 3288 }, "name": "_setImplementation", "type_description": { @@ -2429,7 +2470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2448,7 +2490,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3271, + "id": 3272, "node_type": 43, "src": { "line": 1517, @@ -2456,11 +2498,11 @@ "start": 53709, "end": 53784, "length": 76, - "parent_index": 3270 + "parent_index": 3271 }, "parameters": [ { - "id": 3272, + "id": 3273, "node_type": 44, "src": { "line": 1517, @@ -2468,12 +2510,12 @@ "start": 53709, "end": 53733, "length": 25, - "parent_index": 3271 + "parent_index": 3272 }, - "scope": 3270, + "scope": 3271, "name": "newImplementation", "type_name": { - "id": 3273, + "id": 3274, "node_type": 30, "src": { "line": 1517, @@ -2481,7 +2523,7 @@ "start": 53709, "end": 53715, "length": 7, - "parent_index": 3272 + "parent_index": 3273 }, "name": "address", "state_mutability": 4, @@ -2500,7 +2542,7 @@ } }, { - "id": 3274, + "id": 3275, "node_type": 44, "src": { "line": 1518, @@ -2508,12 +2550,12 @@ "start": 53744, "end": 53760, "length": 17, - "parent_index": 3271 + "parent_index": 3272 }, - "scope": 3270, + "scope": 3271, "name": "data", "type_name": { - "id": 3275, + "id": 3276, "node_type": 30, "src": { "line": 1518, @@ -2521,7 +2563,7 @@ "start": 53744, "end": 53748, "length": 5, - "parent_index": 3274 + "parent_index": 3275 }, "name": "bytes", "referenced_declaration": 0, @@ -2539,7 +2581,7 @@ } }, { - "id": 3276, + "id": 3277, "node_type": 44, "src": { "line": 1519, @@ -2547,12 +2589,12 @@ "start": 53771, "end": 53784, "length": 14, - "parent_index": 3271 + "parent_index": 3272 }, - "scope": 3270, + "scope": 3271, "name": "forceCall", "type_name": { - "id": 3277, + "id": 3278, "node_type": 30, "src": { "line": 1519, @@ -2560,7 +2602,7 @@ "start": 53771, "end": 53774, "length": 4, - "parent_index": 3276 + "parent_index": 3277 }, "name": "bool", "referenced_declaration": 0, @@ -2594,7 +2636,7 @@ ] }, "return_parameters": { - "id": 3278, + "id": 3279, "node_type": 43, "src": { "line": 1516, @@ -2602,21 +2644,22 @@ "start": 53669, "end": 54642, "length": 974, - "parent_index": 3270 + "parent_index": 3271 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCallUUPS(address, bytes, bool)", - "signature": "4dc600bc", - "scope": 3163, + "signature_raw": "_upgradeToAndCallUUPS(address,bytes,bool)", + "signature": "d7a9f039", + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCallUUPS(addressnewImplementation,bytesmemorydata,boolforceCall)internal{if(StorageSlotUpgradeable.getBooleanSlot(_ROLLBACK_SLOT).value){_setImplementation(newImplementation);}else{tryIERC1822ProxiableUpgradeable(newImplementation).proxiableUUID()returns(bytes32slot){require(slot==_IMPLEMENTATION_SLOT,\"ERC1967Upgrade: unsupported proxiableUUID\");}catch{revert(\"ERC1967Upgrade: new implementation is not UUPS\");}_upgradeToAndCall(newImplementation,data,forceCall);}}" }, { - "id": 3291, + "id": 3292, "name": "_ADMIN_SLOT", "is_constant": true, "is_state_variable": true, @@ -2627,9 +2670,9 @@ "start": 54843, "end": 54949, "length": 107, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" @@ -2638,7 +2681,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3292, + "id": 3293, "node_type": 30, "src": { "line": 1541, @@ -2646,7 +2689,7 @@ "start": 54843, "end": 54849, "length": 7, - "parent_index": 3291 + "parent_index": 3292 }, "name": "bytes32", "referenced_declaration": 0, @@ -2656,7 +2699,7 @@ } }, "initial_value": { - "id": 3293, + "id": 3294, "node_type": 17, "kind": 49, "value": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", @@ -2667,7 +2710,7 @@ "start": 54883, "end": 54948, "length": 66, - "parent_index": 3291 + "parent_index": 3292 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -2675,11 +2718,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, { - "id": 3295, + "id": 3296, "node_type": 57, "src": { "line": 1546, @@ -2687,10 +2731,10 @@ "start": 55028, "end": 55087, "length": 60, - "parent_index": 3163 + "parent_index": 3164 }, "parameters": { - "id": 3296, + "id": 3297, "node_type": 43, "src": { "line": 1546, @@ -2698,11 +2742,11 @@ "start": 55028, "end": 55087, "length": 60, - "parent_index": 3295 + "parent_index": 3296 }, "parameters": [ { - "id": 3297, + "id": 3298, "node_type": 44, "src": { "line": 1546, @@ -2710,12 +2754,12 @@ "start": 55047, "end": 55067, "length": 21, - "parent_index": 3296 + "parent_index": 3297 }, - "scope": 3295, + "scope": 3296, "name": "previousAdmin", "type_name": { - "id": 3298, + "id": 3299, "node_type": 30, "src": { "line": 1546, @@ -2723,7 +2767,7 @@ "start": 55047, "end": 55053, "length": 7, - "parent_index": 3297 + "parent_index": 3298 }, "name": "address", "state_mutability": 4, @@ -2742,7 +2786,7 @@ } }, { - "id": 3299, + "id": 3300, "node_type": 44, "src": { "line": 1546, @@ -2750,12 +2794,12 @@ "start": 55070, "end": 55085, "length": 16, - "parent_index": 3296 + "parent_index": 3297 }, - "scope": 3295, + "scope": 3296, "name": "newAdmin", "type_name": { - "id": 3300, + "id": 3301, "node_type": 30, "src": { "line": 1546, @@ -2763,7 +2807,7 @@ "start": 55070, "end": 55076, "length": 7, - "parent_index": 3299 + "parent_index": 3300 }, "name": "address", "state_mutability": 4, @@ -2796,12 +2840,12 @@ "name": "AdminChanged", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263295", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263296", "type_string": "event ERC1967UpgradeUpgradeable.AdminChanged" } }, { - "id": 3302, + "id": 3303, "name": "_getAdmin", "node_type": 42, "kind": 41, @@ -2811,7 +2855,7 @@ "start": 55149, "end": 55281, "length": 133, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1551, @@ -2819,10 +2863,10 @@ "start": 55158, "end": 55166, "length": 9, - "parent_index": 3302 + "parent_index": 3303 }, "body": { - "id": 3309, + "id": 3310, "node_type": 46, "kind": 0, "src": { @@ -2831,12 +2875,12 @@ "start": 55202, "end": 55281, "length": 80, - "parent_index": 3302 + "parent_index": 3303 }, "implemented": true, "statements": [ { - "id": 3310, + "id": 3311, "node_type": 47, "src": { "line": 1552, @@ -2844,11 +2888,11 @@ "start": 55212, "end": 55275, "length": 64, - "parent_index": 3302 + "parent_index": 3303 }, - "function_return_parameters": 3302, + "function_return_parameters": 3303, "expression": { - "id": 3311, + "id": 3312, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2860,7 +2904,7 @@ "start": 55219, "end": 55274, "length": 56, - "parent_index": 3310 + "parent_index": 3311 }, "member_location": { "line": 1552, @@ -2868,10 +2912,10 @@ "start": 55270, "end": 55274, "length": 5, - "parent_index": 3311 + "parent_index": 3312 }, "expression": { - "id": 3312, + "id": 3313, "node_type": 24, "kind": 24, "src": { @@ -2880,7 +2924,7 @@ "start": 55219, "end": 55268, "length": 50, - "parent_index": 3311 + "parent_index": 3312 }, "argument_types": [ { @@ -2890,7 +2934,7 @@ ], "arguments": [ { - "id": 3315, + "id": 3316, "node_type": 16, "src": { "line": 1552, @@ -2898,7 +2942,7 @@ "start": 55257, "end": 55267, "length": 11, - "parent_index": 3312 + "parent_index": 3313 }, "name": "_ADMIN_SLOT", "type_description": { @@ -2907,11 +2951,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { - "id": 3313, + "id": 3314, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2923,7 +2968,7 @@ "start": 55219, "end": 55255, "length": 37, - "parent_index": 3312 + "parent_index": 3313 }, "member_location": { "line": 1552, @@ -2931,10 +2976,10 @@ "start": 55242, "end": 55255, "length": 14, - "parent_index": 3313 + "parent_index": 3314 }, "expression": { - "id": 3314, + "id": 3315, "node_type": 16, "src": { "line": 1552, @@ -2942,23 +2987,25 @@ "start": 55219, "end": 55240, "length": 22, - "parent_index": 3313 + "parent_index": 3314 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2970,7 +3017,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value" } } ] @@ -2982,7 +3030,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3303, + "id": 3304, "node_type": 43, "src": { "line": 1551, @@ -2990,11 +3038,11 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3302 + "parent_index": 3303 }, "parameters": [ { - "id": 3304, + "id": 3305, "node_type": 44, "src": { "line": 1551, @@ -3002,12 +3050,12 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3303 + "parent_index": 3304 }, - "scope": 3302, + "scope": 3303, "name": "", "type_name": { - "id": 3305, + "id": 3306, "node_type": 30, "src": { "line": 1551, @@ -3015,7 +3063,7 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3304 + "parent_index": 3305 }, "name": "address", "state_mutability": 4, @@ -3042,7 +3090,7 @@ ] }, "return_parameters": { - "id": 3306, + "id": 3307, "node_type": 43, "src": { "line": 1551, @@ -3050,11 +3098,11 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3302 + "parent_index": 3303 }, "parameters": [ { - "id": 3307, + "id": 3308, "node_type": 44, "src": { "line": 1551, @@ -3062,12 +3110,12 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3306 + "parent_index": 3307 }, - "scope": 3302, + "scope": 3303, "name": "", "type_name": { - "id": 3308, + "id": 3309, "node_type": 30, "src": { "line": 1551, @@ -3075,7 +3123,7 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3307 + "parent_index": 3308 }, "name": "address", "state_mutability": 4, @@ -3103,14 +3151,15 @@ }, "signature_raw": "_getAdmin(address)", "signature": "a928dc2c", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAdmin()internalviewreturns(address){returnStorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value;}" }, { - "id": 3317, + "id": 3318, "name": "_setAdmin", "node_type": 42, "kind": 41, @@ -3120,7 +3169,7 @@ "start": 55364, "end": 55575, "length": 212, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1558, @@ -3128,10 +3177,10 @@ "start": 55373, "end": 55381, "length": 9, - "parent_index": 3317 + "parent_index": 3318 }, "body": { - "id": 3322, + "id": 3323, "node_type": 46, "kind": 0, "src": { @@ -3140,12 +3189,12 @@ "start": 55409, "end": 55575, "length": 167, - "parent_index": 3317 + "parent_index": 3318 }, "implemented": true, "statements": [ { - "id": 3323, + "id": 3324, "node_type": 24, "kind": 24, "src": { @@ -3154,7 +3203,7 @@ "start": 55419, "end": 55491, "length": 73, - "parent_index": 3322 + "parent_index": 3323 }, "argument_types": [ { @@ -3168,7 +3217,7 @@ ], "arguments": [ { - "id": 3325, + "id": 3326, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3178,11 +3227,11 @@ "start": 55427, "end": 55448, "length": 22, - "parent_index": 3323 + "parent_index": 3324 }, "operator": 12, "left_expression": { - "id": 3326, + "id": 3327, "node_type": 16, "src": { "line": 1559, @@ -3190,7 +3239,7 @@ "start": 55427, "end": 55434, "length": 8, - "parent_index": 3325 + "parent_index": 3326 }, "name": "newAdmin", "type_description": { @@ -3198,11 +3247,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3326, - "is_pure": false + "referenced_declaration": 3327, + "is_pure": false, + "text": "newAdmin" }, "right_expression": { - "id": 3327, + "id": 3328, "node_type": 24, "kind": 24, "src": { @@ -3211,7 +3261,7 @@ "start": 55439, "end": 55448, "length": 10, - "parent_index": 3325 + "parent_index": 3326 }, "argument_types": [ { @@ -3221,7 +3271,7 @@ ], "arguments": [ { - "id": 3330, + "id": 3331, "node_type": 17, "kind": 49, "value": "0", @@ -3232,7 +3282,7 @@ "start": 55447, "end": 55447, "length": 1, - "parent_index": 3327 + "parent_index": 3328 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3240,11 +3290,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 3328, + "id": 3329, "node_type": 16, "src": { "line": 1559, @@ -3252,11 +3303,11 @@ "start": 55439, "end": 55445, "length": 7, - "parent_index": 3327 + "parent_index": 3328 }, "name": "address", "type_name": { - "id": 3329, + "id": 3330, "node_type": 30, "src": { "line": 1559, @@ -3264,7 +3315,7 @@ "start": 55439, "end": 55445, "length": 7, - "parent_index": 3328 + "parent_index": 3329 }, "name": "address", "state_mutability": 4, @@ -3286,7 +3337,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -3299,7 +3351,7 @@ } }, { - "id": 3331, + "id": 3332, "node_type": 17, "kind": 50, "value": "ERC1967: new admin is the zero address", @@ -3310,7 +3362,7 @@ "start": 55451, "end": 55490, "length": 40, - "parent_index": 3323 + "parent_index": 3324 }, "type_description": { "type_identifier": "t_string_literal", @@ -3324,11 +3376,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967: new admin is the zero address\"" } ], "expression": { - "id": 3324, + "id": 3325, "node_type": 16, "src": { "line": 1559, @@ -3336,7 +3389,7 @@ "start": 55419, "end": 55425, "length": 7, - "parent_index": 3323 + "parent_index": 3324 }, "name": "require", "type_description": { @@ -3345,7 +3398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3353,7 +3407,7 @@ } }, { - "id": 3332, + "id": 3333, "node_type": 27, "src": { "line": 1560, @@ -3361,10 +3415,10 @@ "start": 55502, "end": 55569, "length": 68, - "parent_index": 3322 + "parent_index": 3323 }, "expression": { - "id": 3333, + "id": 3334, "node_type": 27, "src": { "line": 1560, @@ -3372,11 +3426,11 @@ "start": 55502, "end": 55568, "length": 67, - "parent_index": 3332 + "parent_index": 3333 }, "operator": 11, "left_expression": { - "id": 3334, + "id": 3335, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3388,7 +3442,7 @@ "start": 55502, "end": 55557, "length": 56, - "parent_index": 3333 + "parent_index": 3334 }, "member_location": { "line": 1560, @@ -3396,10 +3450,10 @@ "start": 55553, "end": 55557, "length": 5, - "parent_index": 3334 + "parent_index": 3335 }, "expression": { - "id": 3335, + "id": 3336, "node_type": 24, "kind": 24, "src": { @@ -3408,7 +3462,7 @@ "start": 55502, "end": 55551, "length": 50, - "parent_index": 3334 + "parent_index": 3335 }, "argument_types": [ { @@ -3418,7 +3472,7 @@ ], "arguments": [ { - "id": 3338, + "id": 3339, "node_type": 16, "src": { "line": 1560, @@ -3426,7 +3480,7 @@ "start": 55540, "end": 55550, "length": 11, - "parent_index": 3335 + "parent_index": 3336 }, "name": "_ADMIN_SLOT", "type_description": { @@ -3435,11 +3489,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { - "id": 3336, + "id": 3337, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3451,7 +3506,7 @@ "start": 55502, "end": 55538, "length": 37, - "parent_index": 3335 + "parent_index": 3336 }, "member_location": { "line": 1560, @@ -3459,10 +3514,10 @@ "start": 55525, "end": 55538, "length": 14, - "parent_index": 3336 + "parent_index": 3337 }, "expression": { - "id": 3337, + "id": 3338, "node_type": 16, "src": { "line": 1560, @@ -3470,23 +3525,25 @@ "start": 55502, "end": 55523, "length": 22, - "parent_index": 3336 + "parent_index": 3337 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3498,10 +3555,11 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value" }, "right_expression": { - "id": 3339, + "id": 3340, "node_type": 16, "src": { "line": 1560, @@ -3509,7 +3567,7 @@ "start": 55561, "end": 55568, "length": 8, - "parent_index": 3333 + "parent_index": 3334 }, "name": "newAdmin", "type_description": { @@ -3517,8 +3575,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3339, - "is_pure": false + "referenced_declaration": 3340, + "is_pure": false, + "text": "newAdmin" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3528,7 +3587,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value=newAdmin;" } ] }, @@ -3539,7 +3599,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3318, + "id": 3319, "node_type": 43, "src": { "line": 1558, @@ -3547,11 +3607,11 @@ "start": 55383, "end": 55398, "length": 16, - "parent_index": 3317 + "parent_index": 3318 }, "parameters": [ { - "id": 3319, + "id": 3320, "node_type": 44, "src": { "line": 1558, @@ -3559,12 +3619,12 @@ "start": 55383, "end": 55398, "length": 16, - "parent_index": 3318 + "parent_index": 3319 }, - "scope": 3317, + "scope": 3318, "name": "newAdmin", "type_name": { - "id": 3320, + "id": 3321, "node_type": 30, "src": { "line": 1558, @@ -3572,7 +3632,7 @@ "start": 55383, "end": 55389, "length": 7, - "parent_index": 3319 + "parent_index": 3320 }, "name": "address", "state_mutability": 4, @@ -3599,7 +3659,7 @@ ] }, "return_parameters": { - "id": 3321, + "id": 3322, "node_type": 43, "src": { "line": 1558, @@ -3607,21 +3667,22 @@ "start": 55364, "end": 55575, "length": 212, - "parent_index": 3317 + "parent_index": 3318 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_setAdmin(address)", "signature": "3a74a767", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setAdmin(addressnewAdmin)private{require(newAdmin!=address(0),\"ERC1967: new admin is the zero address\");StorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value=newAdmin;}" }, { - "id": 3341, + "id": 3342, "name": "_changeAdmin", "node_type": 42, "kind": 41, @@ -3631,7 +3692,7 @@ "start": 55687, "end": 55821, "length": 135, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1568, @@ -3639,10 +3700,10 @@ "start": 55696, "end": 55707, "length": 12, - "parent_index": 3341 + "parent_index": 3342 }, "body": { - "id": 3346, + "id": 3347, "node_type": 46, "kind": 0, "src": { @@ -3651,12 +3712,12 @@ "start": 55736, "end": 55821, "length": 86, - "parent_index": 3341 + "parent_index": 3342 }, "implemented": true, "statements": [ { - "id": 3347, + "id": 3348, "node_type": 64, "src": { "line": 1569, @@ -3664,11 +3725,11 @@ "start": 55746, "end": 55786, "length": 41, - "parent_index": 3341 + "parent_index": 3342 }, "arguments": [ { - "id": 3348, + "id": 3349, "node_type": 24, "kind": 24, "src": { @@ -3677,12 +3738,12 @@ "start": 55764, "end": 55774, "length": 11, - "parent_index": 3347 + "parent_index": 3348 }, "argument_types": [], "arguments": [], "expression": { - "id": 3349, + "id": 3350, "node_type": 16, "src": { "line": 1569, @@ -3690,7 +3751,7 @@ "start": 55764, "end": 55772, "length": 9, - "parent_index": 3348 + "parent_index": 3349 }, "name": "_getAdmin", "type_description": { @@ -3699,7 +3760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -3707,7 +3769,7 @@ } }, { - "id": 3350, + "id": 3351, "node_type": 16, "src": { "line": 1569, @@ -3715,7 +3777,7 @@ "start": 55777, "end": 55784, "length": 8, - "parent_index": 3347 + "parent_index": 3348 }, "name": "newAdmin", "type_description": { @@ -3723,12 +3785,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3350, - "is_pure": false + "referenced_declaration": 3351, + "is_pure": false, + "text": "newAdmin" } ], "expression": { - "id": 3351, + "id": 3352, "node_type": 16, "src": { "line": 1569, @@ -3736,20 +3799,21 @@ "start": 55751, "end": 55762, "length": 12, - "parent_index": 3347 + "parent_index": 3348 }, "name": "AdminChanged", "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263295", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263296", "type_string": "event ERC1967UpgradeUpgradeable.AdminChanged" }, "overloaded_declarations": [], - "referenced_declaration": 3295, - "is_pure": false + "referenced_declaration": 3296, + "is_pure": false, + "text": "AdminChanged" } }, { - "id": 3352, + "id": 3353, "node_type": 24, "kind": 24, "src": { @@ -3758,7 +3822,7 @@ "start": 55796, "end": 55814, "length": 19, - "parent_index": 3346 + "parent_index": 3347 }, "argument_types": [ { @@ -3768,7 +3832,7 @@ ], "arguments": [ { - "id": 3354, + "id": 3355, "node_type": 16, "src": { "line": 1570, @@ -3776,7 +3840,7 @@ "start": 55806, "end": 55813, "length": 8, - "parent_index": 3352 + "parent_index": 3353 }, "name": "newAdmin", "type_description": { @@ -3784,12 +3848,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3354, - "is_pure": false + "referenced_declaration": 3355, + "is_pure": false, + "text": "newAdmin" } ], "expression": { - "id": 3353, + "id": 3354, "node_type": 16, "src": { "line": 1570, @@ -3797,7 +3862,7 @@ "start": 55796, "end": 55804, "length": 9, - "parent_index": 3352 + "parent_index": 3353 }, "name": "_setAdmin", "type_description": { @@ -3806,7 +3871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3822,7 +3888,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3342, + "id": 3343, "node_type": 43, "src": { "line": 1568, @@ -3830,11 +3896,11 @@ "start": 55709, "end": 55724, "length": 16, - "parent_index": 3341 + "parent_index": 3342 }, "parameters": [ { - "id": 3343, + "id": 3344, "node_type": 44, "src": { "line": 1568, @@ -3842,12 +3908,12 @@ "start": 55709, "end": 55724, "length": 16, - "parent_index": 3342 + "parent_index": 3343 }, - "scope": 3341, + "scope": 3342, "name": "newAdmin", "type_name": { - "id": 3344, + "id": 3345, "node_type": 30, "src": { "line": 1568, @@ -3855,7 +3921,7 @@ "start": 55709, "end": 55715, "length": 7, - "parent_index": 3343 + "parent_index": 3344 }, "name": "address", "state_mutability": 4, @@ -3882,7 +3948,7 @@ ] }, "return_parameters": { - "id": 3345, + "id": 3346, "node_type": 43, "src": { "line": 1568, @@ -3890,21 +3956,22 @@ "start": 55687, "end": 55821, "length": 135, - "parent_index": 3341 + "parent_index": 3342 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_changeAdmin(address)", "signature": "353dfc01", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_changeAdmin(addressnewAdmin)internal{emitAdminChanged(_getAdmin(),newAdmin);_setAdmin(newAdmin);}" }, { - "id": 3356, + "id": 3357, "name": "_BEACON_SLOT", "is_constant": true, "is_state_variable": true, @@ -3915,9 +3982,9 @@ "start": 56065, "end": 56172, "length": 108, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" @@ -3926,7 +3993,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3357, + "id": 3358, "node_type": 30, "src": { "line": 1577, @@ -3934,7 +4001,7 @@ "start": 56065, "end": 56071, "length": 7, - "parent_index": 3356 + "parent_index": 3357 }, "name": "bytes32", "referenced_declaration": 0, @@ -3944,7 +4011,7 @@ } }, "initial_value": { - "id": 3358, + "id": 3359, "node_type": 17, "kind": 49, "value": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50", @@ -3955,7 +4022,7 @@ "start": 56106, "end": 56171, "length": 66, - "parent_index": 3356 + "parent_index": 3357 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3963,11 +4030,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, { - "id": 3360, + "id": 3361, "node_type": 57, "src": { "line": 1582, @@ -3975,10 +4043,10 @@ "start": 56244, "end": 56288, "length": 45, - "parent_index": 3163 + "parent_index": 3164 }, "parameters": { - "id": 3361, + "id": 3362, "node_type": 43, "src": { "line": 1582, @@ -3986,11 +4054,11 @@ "start": 56244, "end": 56288, "length": 45, - "parent_index": 3360 + "parent_index": 3361 }, "parameters": [ { - "id": 3362, + "id": 3363, "node_type": 44, "src": { "line": 1582, @@ -3998,12 +4066,12 @@ "start": 56265, "end": 56286, "length": 22, - "parent_index": 3361 + "parent_index": 3362 }, - "scope": 3360, + "scope": 3361, "name": "beacon", "type_name": { - "id": 3363, + "id": 3364, "node_type": 30, "src": { "line": 1582, @@ -4011,7 +4079,7 @@ "start": 56265, "end": 56271, "length": 7, - "parent_index": 3362 + "parent_index": 3363 }, "name": "address", "state_mutability": 4, @@ -4041,12 +4109,12 @@ "name": "BeaconUpgraded", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263360", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263361", "type_string": "event ERC1967UpgradeUpgradeable.BeaconUpgraded" } }, { - "id": 3365, + "id": 3366, "name": "_getBeacon", "node_type": 42, "kind": 41, @@ -4056,7 +4124,7 @@ "start": 56351, "end": 56485, "length": 135, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1587, @@ -4064,10 +4132,10 @@ "start": 56360, "end": 56369, "length": 10, - "parent_index": 3365 + "parent_index": 3366 }, "body": { - "id": 3372, + "id": 3373, "node_type": 46, "kind": 0, "src": { @@ -4076,12 +4144,12 @@ "start": 56405, "end": 56485, "length": 81, - "parent_index": 3365 + "parent_index": 3366 }, "implemented": true, "statements": [ { - "id": 3373, + "id": 3374, "node_type": 47, "src": { "line": 1588, @@ -4089,11 +4157,11 @@ "start": 56415, "end": 56479, "length": 65, - "parent_index": 3365 + "parent_index": 3366 }, - "function_return_parameters": 3365, + "function_return_parameters": 3366, "expression": { - "id": 3374, + "id": 3375, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4105,7 +4173,7 @@ "start": 56422, "end": 56478, "length": 57, - "parent_index": 3373 + "parent_index": 3374 }, "member_location": { "line": 1588, @@ -4113,10 +4181,10 @@ "start": 56474, "end": 56478, "length": 5, - "parent_index": 3374 + "parent_index": 3375 }, "expression": { - "id": 3375, + "id": 3376, "node_type": 24, "kind": 24, "src": { @@ -4125,7 +4193,7 @@ "start": 56422, "end": 56472, "length": 51, - "parent_index": 3374 + "parent_index": 3375 }, "argument_types": [ { @@ -4135,7 +4203,7 @@ ], "arguments": [ { - "id": 3378, + "id": 3379, "node_type": 16, "src": { "line": 1588, @@ -4143,7 +4211,7 @@ "start": 56460, "end": 56471, "length": 12, - "parent_index": 3375 + "parent_index": 3376 }, "name": "_BEACON_SLOT", "type_description": { @@ -4152,11 +4220,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { - "id": 3376, + "id": 3377, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4168,7 +4237,7 @@ "start": 56422, "end": 56458, "length": 37, - "parent_index": 3375 + "parent_index": 3376 }, "member_location": { "line": 1588, @@ -4176,10 +4245,10 @@ "start": 56445, "end": 56458, "length": 14, - "parent_index": 3376 + "parent_index": 3377 }, "expression": { - "id": 3377, + "id": 3378, "node_type": 16, "src": { "line": 1588, @@ -4187,23 +4256,25 @@ "start": 56422, "end": 56443, "length": 22, - "parent_index": 3376 + "parent_index": 3377 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4215,7 +4286,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value" } } ] @@ -4227,7 +4299,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3366, + "id": 3367, "node_type": 43, "src": { "line": 1587, @@ -4235,11 +4307,11 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3365 + "parent_index": 3366 }, "parameters": [ { - "id": 3367, + "id": 3368, "node_type": 44, "src": { "line": 1587, @@ -4247,12 +4319,12 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3366 + "parent_index": 3367 }, - "scope": 3365, + "scope": 3366, "name": "", "type_name": { - "id": 3368, + "id": 3369, "node_type": 30, "src": { "line": 1587, @@ -4260,7 +4332,7 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3367 + "parent_index": 3368 }, "name": "address", "state_mutability": 4, @@ -4287,7 +4359,7 @@ ] }, "return_parameters": { - "id": 3369, + "id": 3370, "node_type": 43, "src": { "line": 1587, @@ -4295,11 +4367,11 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3365 + "parent_index": 3366 }, "parameters": [ { - "id": 3370, + "id": 3371, "node_type": 44, "src": { "line": 1587, @@ -4307,12 +4379,12 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3369 + "parent_index": 3370 }, - "scope": 3365, + "scope": 3366, "name": "", "type_name": { - "id": 3371, + "id": 3372, "node_type": 30, "src": { "line": 1587, @@ -4320,7 +4392,7 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3370 + "parent_index": 3371 }, "name": "address", "state_mutability": 4, @@ -4348,14 +4420,15 @@ }, "signature_raw": "_getBeacon(address)", "signature": "8a03ba6e", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getBeacon()internalviewreturns(address){returnStorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value;}" }, { - "id": 3380, + "id": 3381, "name": "_setBeacon", "node_type": 42, "kind": 41, @@ -4365,7 +4438,7 @@ "start": 56568, "end": 56982, "length": 415, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1594, @@ -4373,10 +4446,10 @@ "start": 56577, "end": 56586, "length": 10, - "parent_index": 3380 + "parent_index": 3381 }, "body": { - "id": 3385, + "id": 3386, "node_type": 46, "kind": 0, "src": { @@ -4385,12 +4458,12 @@ "start": 56615, "end": 56982, "length": 368, - "parent_index": 3380 + "parent_index": 3381 }, "implemented": true, "statements": [ { - "id": 3386, + "id": 3387, "node_type": 24, "kind": 24, "src": { @@ -4399,7 +4472,7 @@ "start": 56625, "end": 56714, "length": 90, - "parent_index": 3385 + "parent_index": 3386 }, "argument_types": [ { @@ -4413,7 +4486,7 @@ ], "arguments": [ { - "id": 3388, + "id": 3389, "node_type": 24, "kind": 24, "src": { @@ -4422,7 +4495,7 @@ "start": 56633, "end": 56672, "length": 40, - "parent_index": 3386 + "parent_index": 3387 }, "argument_types": [ { @@ -4432,7 +4505,7 @@ ], "arguments": [ { - "id": 3391, + "id": 3392, "node_type": 16, "src": { "line": 1595, @@ -4440,7 +4513,7 @@ "start": 56663, "end": 56671, "length": 9, - "parent_index": 3388 + "parent_index": 3389 }, "name": "newBeacon", "type_description": { @@ -4448,12 +4521,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3391, - "is_pure": false + "referenced_declaration": 3392, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3389, + "id": 3390, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4465,7 +4539,7 @@ "start": 56633, "end": 56661, "length": 29, - "parent_index": 3388 + "parent_index": 3389 }, "member_location": { "line": 1595, @@ -4473,10 +4547,10 @@ "start": 56652, "end": 56661, "length": 10, - "parent_index": 3389 + "parent_index": 3390 }, "expression": { - "id": 3390, + "id": 3391, "node_type": 16, "src": { "line": 1595, @@ -4484,7 +4558,7 @@ "start": 56633, "end": 56650, "length": 18, - "parent_index": 3389 + "parent_index": 3390 }, "name": "AddressUpgradeable", "type_description": { @@ -4493,14 +4567,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4508,7 +4584,7 @@ } }, { - "id": 3392, + "id": 3393, "node_type": 17, "kind": 50, "value": "ERC1967: new beacon is not a contract", @@ -4519,7 +4595,7 @@ "start": 56675, "end": 56713, "length": 39, - "parent_index": 3386 + "parent_index": 3387 }, "type_description": { "type_identifier": "t_string_literal", @@ -4533,11 +4609,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new beacon is not a contract\"" } ], "expression": { - "id": 3387, + "id": 3388, "node_type": 16, "src": { "line": 1595, @@ -4545,7 +4622,7 @@ "start": 56625, "end": 56631, "length": 7, - "parent_index": 3386 + "parent_index": 3387 }, "name": "require", "type_description": { @@ -4554,7 +4631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -4562,7 +4640,7 @@ } }, { - "id": 3393, + "id": 3394, "node_type": 24, "kind": 24, "src": { @@ -4571,7 +4649,7 @@ "start": 56725, "end": 56896, "length": 172, - "parent_index": 3385 + "parent_index": 3386 }, "argument_types": [ { @@ -4585,7 +4663,7 @@ ], "arguments": [ { - "id": 3395, + "id": 3396, "node_type": 24, "kind": 24, "src": { @@ -4594,7 +4672,7 @@ "start": 56746, "end": 56822, "length": 77, - "parent_index": 3393 + "parent_index": 3394 }, "argument_types": [ { @@ -4604,7 +4682,7 @@ ], "arguments": [ { - "id": 3398, + "id": 3399, "node_type": 24, "kind": 24, "src": { @@ -4613,12 +4691,12 @@ "start": 56776, "end": 56821, "length": 46, - "parent_index": 3395 + "parent_index": 3396 }, "argument_types": [], "arguments": [], "expression": { - "id": 3399, + "id": 3400, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4630,7 +4708,7 @@ "start": 56776, "end": 56819, "length": 44, - "parent_index": 3398 + "parent_index": 3399 }, "member_location": { "line": 1597, @@ -4638,10 +4716,10 @@ "start": 56806, "end": 56819, "length": 14, - "parent_index": 3399 + "parent_index": 3400 }, "expression": { - "id": 3400, + "id": 3401, "node_type": 24, "kind": 24, "src": { @@ -4650,7 +4728,7 @@ "start": 56776, "end": 56804, "length": 29, - "parent_index": 3399 + "parent_index": 3400 }, "argument_types": [ { @@ -4660,7 +4738,7 @@ ], "arguments": [ { - "id": 3402, + "id": 3403, "node_type": 16, "src": { "line": 1597, @@ -4668,7 +4746,7 @@ "start": 56795, "end": 56803, "length": 9, - "parent_index": 3400 + "parent_index": 3401 }, "name": "newBeacon", "type_description": { @@ -4676,12 +4754,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3402, - "is_pure": false + "referenced_declaration": 3403, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3401, + "id": 3402, "node_type": 16, "src": { "line": 1597, @@ -4689,7 +4768,7 @@ "start": 56776, "end": 56793, "length": 18, - "parent_index": 3400 + "parent_index": 3401 }, "name": "IBeaconUpgradeable", "type_description": { @@ -4698,7 +4777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeaconUpgradeable" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4710,7 +4790,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeaconUpgradeable(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -4719,7 +4800,7 @@ } ], "expression": { - "id": 3396, + "id": 3397, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4731,7 +4812,7 @@ "start": 56746, "end": 56774, "length": 29, - "parent_index": 3395 + "parent_index": 3396 }, "member_location": { "line": 1597, @@ -4739,10 +4820,10 @@ "start": 56765, "end": 56774, "length": 10, - "parent_index": 3396 + "parent_index": 3397 }, "expression": { - "id": 3397, + "id": 3398, "node_type": 16, "src": { "line": 1597, @@ -4750,7 +4831,7 @@ "start": 56746, "end": 56763, "length": 18, - "parent_index": 3396 + "parent_index": 3397 }, "name": "AddressUpgradeable", "type_description": { @@ -4759,14 +4840,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4774,7 +4857,7 @@ } }, { - "id": 3403, + "id": 3404, "node_type": 17, "kind": 50, "value": "ERC1967: beacon implementation is not a contract", @@ -4785,7 +4868,7 @@ "start": 56837, "end": 56886, "length": 50, - "parent_index": 3393 + "parent_index": 3394 }, "type_description": { "type_identifier": "t_string_literal", @@ -4799,11 +4882,12 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "\"ERC1967: beacon implementation is not a contract\"" } ], "expression": { - "id": 3394, + "id": 3395, "node_type": 16, "src": { "line": 1596, @@ -4811,7 +4895,7 @@ "start": 56725, "end": 56731, "length": 7, - "parent_index": 3393 + "parent_index": 3394 }, "name": "require", "type_description": { @@ -4820,7 +4904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_literal$", @@ -4828,7 +4913,7 @@ } }, { - "id": 3404, + "id": 3405, "node_type": 27, "src": { "line": 1600, @@ -4836,10 +4921,10 @@ "start": 56907, "end": 56976, "length": 70, - "parent_index": 3385 + "parent_index": 3386 }, "expression": { - "id": 3405, + "id": 3406, "node_type": 27, "src": { "line": 1600, @@ -4847,11 +4932,11 @@ "start": 56907, "end": 56975, "length": 69, - "parent_index": 3404 + "parent_index": 3405 }, "operator": 11, "left_expression": { - "id": 3406, + "id": 3407, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4863,7 +4948,7 @@ "start": 56907, "end": 56963, "length": 57, - "parent_index": 3405 + "parent_index": 3406 }, "member_location": { "line": 1600, @@ -4871,10 +4956,10 @@ "start": 56959, "end": 56963, "length": 5, - "parent_index": 3406 + "parent_index": 3407 }, "expression": { - "id": 3407, + "id": 3408, "node_type": 24, "kind": 24, "src": { @@ -4883,7 +4968,7 @@ "start": 56907, "end": 56957, "length": 51, - "parent_index": 3406 + "parent_index": 3407 }, "argument_types": [ { @@ -4893,7 +4978,7 @@ ], "arguments": [ { - "id": 3410, + "id": 3411, "node_type": 16, "src": { "line": 1600, @@ -4901,7 +4986,7 @@ "start": 56945, "end": 56956, "length": 12, - "parent_index": 3407 + "parent_index": 3408 }, "name": "_BEACON_SLOT", "type_description": { @@ -4910,11 +4995,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { - "id": 3408, + "id": 3409, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4926,7 +5012,7 @@ "start": 56907, "end": 56943, "length": 37, - "parent_index": 3407 + "parent_index": 3408 }, "member_location": { "line": 1600, @@ -4934,10 +5020,10 @@ "start": 56930, "end": 56943, "length": 14, - "parent_index": 3408 + "parent_index": 3409 }, "expression": { - "id": 3409, + "id": 3410, "node_type": 16, "src": { "line": 1600, @@ -4945,23 +5031,25 @@ "start": 56907, "end": 56928, "length": 22, - "parent_index": 3408 + "parent_index": 3409 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4973,10 +5061,11 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value" }, "right_expression": { - "id": 3411, + "id": 3412, "node_type": 16, "src": { "line": 1600, @@ -4984,7 +5073,7 @@ "start": 56967, "end": 56975, "length": 9, - "parent_index": 3405 + "parent_index": 3406 }, "name": "newBeacon", "type_description": { @@ -4992,8 +5081,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3411, - "is_pure": false + "referenced_declaration": 3412, + "is_pure": false, + "text": "newBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5003,7 +5093,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value=newBeacon;" } ] }, @@ -5014,7 +5105,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3381, + "id": 3382, "node_type": 43, "src": { "line": 1594, @@ -5022,11 +5113,11 @@ "start": 56588, "end": 56604, "length": 17, - "parent_index": 3380 + "parent_index": 3381 }, "parameters": [ { - "id": 3382, + "id": 3383, "node_type": 44, "src": { "line": 1594, @@ -5034,12 +5125,12 @@ "start": 56588, "end": 56604, "length": 17, - "parent_index": 3381 + "parent_index": 3382 }, - "scope": 3380, + "scope": 3381, "name": "newBeacon", "type_name": { - "id": 3383, + "id": 3384, "node_type": 30, "src": { "line": 1594, @@ -5047,7 +5138,7 @@ "start": 56588, "end": 56594, "length": 7, - "parent_index": 3382 + "parent_index": 3383 }, "name": "address", "state_mutability": 4, @@ -5074,7 +5165,7 @@ ] }, "return_parameters": { - "id": 3384, + "id": 3385, "node_type": 43, "src": { "line": 1594, @@ -5082,21 +5173,22 @@ "start": 56568, "end": 56982, "length": 415, - "parent_index": 3380 + "parent_index": 3381 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_setBeacon(address)", "signature": "073d36b4", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setBeacon(addressnewBeacon)private{require(AddressUpgradeable.isContract(newBeacon),\"ERC1967: new beacon is not a contract\");require(AddressUpgradeable.isContract(IBeaconUpgradeable(newBeacon).implementation()),\"ERC1967: beacon implementation is not a contract\");StorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value=newBeacon;}" }, { - "id": 3413, + "id": 3414, "name": "_upgradeBeaconToAndCall", "node_type": 42, "kind": 41, @@ -5106,7 +5198,7 @@ "start": 57286, "end": 57632, "length": 347, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1609, @@ -5114,10 +5206,10 @@ "start": 57295, "end": 57317, "length": 23, - "parent_index": 3413 + "parent_index": 3414 }, "body": { - "id": 3422, + "id": 3423, "node_type": 46, "kind": 0, "src": { @@ -5126,12 +5218,12 @@ "start": 57412, "end": 57632, "length": 221, - "parent_index": 3413 + "parent_index": 3414 }, "implemented": true, "statements": [ { - "id": 3423, + "id": 3424, "node_type": 24, "kind": 24, "src": { @@ -5140,7 +5232,7 @@ "start": 57422, "end": 57442, "length": 21, - "parent_index": 3422 + "parent_index": 3423 }, "argument_types": [ { @@ -5150,7 +5242,7 @@ ], "arguments": [ { - "id": 3425, + "id": 3426, "node_type": 16, "src": { "line": 1614, @@ -5158,7 +5250,7 @@ "start": 57433, "end": 57441, "length": 9, - "parent_index": 3423 + "parent_index": 3424 }, "name": "newBeacon", "type_description": { @@ -5166,12 +5258,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3425, - "is_pure": false + "referenced_declaration": 3426, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3424, + "id": 3425, "node_type": 16, "src": { "line": 1614, @@ -5179,7 +5272,7 @@ "start": 57422, "end": 57431, "length": 10, - "parent_index": 3423 + "parent_index": 3424 }, "name": "_setBeacon", "type_description": { @@ -5188,7 +5281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5196,7 +5290,7 @@ } }, { - "id": 3426, + "id": 3427, "node_type": 64, "src": { "line": 1615, @@ -5204,11 +5298,11 @@ "start": 57453, "end": 57483, "length": 31, - "parent_index": 3413 + "parent_index": 3414 }, "arguments": [ { - "id": 3427, + "id": 3428, "node_type": 16, "src": { "line": 1615, @@ -5216,7 +5310,7 @@ "start": 57473, "end": 57481, "length": 9, - "parent_index": 3426 + "parent_index": 3427 }, "name": "newBeacon", "type_description": { @@ -5224,12 +5318,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3427, - "is_pure": false + "referenced_declaration": 3428, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3428, + "id": 3429, "node_type": 16, "src": { "line": 1615, @@ -5237,20 +5332,21 @@ "start": 57458, "end": 57471, "length": 14, - "parent_index": 3426 + "parent_index": 3427 }, "name": "BeaconUpgraded", "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263360", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263361", "type_string": "event ERC1967UpgradeUpgradeable.BeaconUpgraded" }, "overloaded_declarations": [], - "referenced_declaration": 3360, - "is_pure": false + "referenced_declaration": 3361, + "is_pure": false, + "text": "BeaconUpgraded" } }, { - "id": 3429, + "id": 3430, "node_type": 48, "src": { "line": 1616, @@ -5258,10 +5354,10 @@ "start": 57493, "end": 57626, "length": 134, - "parent_index": 3422 + "parent_index": 3423 }, "condition": { - "id": 3430, + "id": 3431, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5271,11 +5367,11 @@ "start": 57497, "end": 57524, "length": 28, - "parent_index": 3429 + "parent_index": 3430 }, "operator": 33, "left_expression": { - "id": 3431, + "id": 3432, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5285,11 +5381,11 @@ "start": 57497, "end": 57511, "length": 15, - "parent_index": 3430 + "parent_index": 3431 }, "operator": 7, "left_expression": { - "id": 3432, + "id": 3433, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5301,7 +5397,7 @@ "start": 57497, "end": 57507, "length": 11, - "parent_index": 3431 + "parent_index": 3432 }, "member_location": { "line": 1616, @@ -5309,10 +5405,10 @@ "start": 57502, "end": 57507, "length": 6, - "parent_index": 3432 + "parent_index": 3433 }, "expression": { - "id": 3433, + "id": 3434, "node_type": 16, "src": { "line": 1616, @@ -5320,7 +5416,7 @@ "start": 57497, "end": 57500, "length": 4, - "parent_index": 3432 + "parent_index": 3433 }, "name": "data", "type_description": { @@ -5328,18 +5424,20 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3433, - "is_pure": false + "referenced_declaration": 3434, + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { - "id": 3434, + "id": 3435, "node_type": 17, "kind": 49, "value": "0", @@ -5350,7 +5448,7 @@ "start": 57511, "end": 57511, "length": 1, - "parent_index": 3431 + "parent_index": 3432 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5358,7 +5456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5366,7 +5465,7 @@ } }, "right_expression": { - "id": 3435, + "id": 3436, "node_type": 16, "src": { "line": 1616, @@ -5374,7 +5473,7 @@ "start": 57516, "end": 57524, "length": 9, - "parent_index": 3430 + "parent_index": 3431 }, "name": "forceCall", "type_description": { @@ -5382,8 +5481,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3435, - "is_pure": false + "referenced_declaration": 3436, + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -5391,7 +5491,7 @@ } }, "body": { - "id": 3436, + "id": 3437, "node_type": 46, "kind": 0, "src": { @@ -5400,12 +5500,12 @@ "start": 57527, "end": 57626, "length": 100, - "parent_index": 3413 + "parent_index": 3414 }, "implemented": true, "statements": [ { - "id": 3437, + "id": 3438, "node_type": 24, "kind": 24, "src": { @@ -5414,7 +5514,7 @@ "start": 57541, "end": 57615, "length": 75, - "parent_index": 3436 + "parent_index": 3437 }, "argument_types": [ { @@ -5428,7 +5528,7 @@ ], "arguments": [ { - "id": 3439, + "id": 3440, "node_type": 24, "kind": 24, "src": { @@ -5437,12 +5537,12 @@ "start": 57563, "end": 57608, "length": 46, - "parent_index": 3437 + "parent_index": 3438 }, "argument_types": [], "arguments": [], "expression": { - "id": 3440, + "id": 3441, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5454,7 +5554,7 @@ "start": 57563, "end": 57606, "length": 44, - "parent_index": 3439 + "parent_index": 3440 }, "member_location": { "line": 1617, @@ -5462,10 +5562,10 @@ "start": 57593, "end": 57606, "length": 14, - "parent_index": 3440 + "parent_index": 3441 }, "expression": { - "id": 3441, + "id": 3442, "node_type": 24, "kind": 24, "src": { @@ -5474,7 +5574,7 @@ "start": 57563, "end": 57591, "length": 29, - "parent_index": 3440 + "parent_index": 3441 }, "argument_types": [ { @@ -5484,7 +5584,7 @@ ], "arguments": [ { - "id": 3443, + "id": 3444, "node_type": 16, "src": { "line": 1617, @@ -5492,7 +5592,7 @@ "start": 57582, "end": 57590, "length": 9, - "parent_index": 3441 + "parent_index": 3442 }, "name": "newBeacon", "type_description": { @@ -5500,12 +5600,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3443, - "is_pure": false + "referenced_declaration": 3444, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3442, + "id": 3443, "node_type": 16, "src": { "line": 1617, @@ -5513,7 +5614,7 @@ "start": 57563, "end": 57580, "length": 18, - "parent_index": 3441 + "parent_index": 3442 }, "name": "IBeaconUpgradeable", "type_description": { @@ -5522,7 +5623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeaconUpgradeable" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5534,7 +5636,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeaconUpgradeable(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -5542,7 +5645,7 @@ } }, { - "id": 3444, + "id": 3445, "node_type": 16, "src": { "line": 1617, @@ -5550,7 +5653,7 @@ "start": 57611, "end": 57614, "length": 4, - "parent_index": 3437 + "parent_index": 3438 }, "name": "data", "type_description": { @@ -5558,18 +5661,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3444, + "referenced_declaration": 3445, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "data" } ], "expression": { - "id": 3438, + "id": 3439, "node_type": 16, "src": { "line": 1617, @@ -5577,7 +5681,7 @@ "start": 57541, "end": 57561, "length": 21, - "parent_index": 3437 + "parent_index": 3438 }, "name": "_functionDelegateCall", "type_description": { @@ -5586,7 +5690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes$", @@ -5605,7 +5710,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3414, + "id": 3415, "node_type": 43, "src": { "line": 1610, @@ -5613,11 +5718,11 @@ "start": 57328, "end": 57395, "length": 68, - "parent_index": 3413 + "parent_index": 3414 }, "parameters": [ { - "id": 3415, + "id": 3416, "node_type": 44, "src": { "line": 1610, @@ -5625,12 +5730,12 @@ "start": 57328, "end": 57344, "length": 17, - "parent_index": 3414 + "parent_index": 3415 }, - "scope": 3413, + "scope": 3414, "name": "newBeacon", "type_name": { - "id": 3416, + "id": 3417, "node_type": 30, "src": { "line": 1610, @@ -5638,7 +5743,7 @@ "start": 57328, "end": 57334, "length": 7, - "parent_index": 3415 + "parent_index": 3416 }, "name": "address", "state_mutability": 4, @@ -5657,7 +5762,7 @@ } }, { - "id": 3417, + "id": 3418, "node_type": 44, "src": { "line": 1611, @@ -5665,12 +5770,12 @@ "start": 57355, "end": 57371, "length": 17, - "parent_index": 3414 + "parent_index": 3415 }, - "scope": 3413, + "scope": 3414, "name": "data", "type_name": { - "id": 3418, + "id": 3419, "node_type": 30, "src": { "line": 1611, @@ -5678,7 +5783,7 @@ "start": 57355, "end": 57359, "length": 5, - "parent_index": 3417 + "parent_index": 3418 }, "name": "bytes", "referenced_declaration": 0, @@ -5696,7 +5801,7 @@ } }, { - "id": 3419, + "id": 3420, "node_type": 44, "src": { "line": 1612, @@ -5704,12 +5809,12 @@ "start": 57382, "end": 57395, "length": 14, - "parent_index": 3414 + "parent_index": 3415 }, - "scope": 3413, + "scope": 3414, "name": "forceCall", "type_name": { - "id": 3420, + "id": 3421, "node_type": 30, "src": { "line": 1612, @@ -5717,7 +5822,7 @@ "start": 57382, "end": 57385, "length": 4, - "parent_index": 3419 + "parent_index": 3420 }, "name": "bool", "referenced_declaration": 0, @@ -5751,7 +5856,7 @@ ] }, "return_parameters": { - "id": 3421, + "id": 3422, "node_type": 43, "src": { "line": 1609, @@ -5759,21 +5864,22 @@ "start": 57286, "end": 57632, "length": 347, - "parent_index": 3413 + "parent_index": 3414 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeBeaconToAndCall(address, bytes, bool)", - "signature": "01ace874", - "scope": 3163, + "signature_raw": "_upgradeBeaconToAndCall(address,bytes,bool)", + "signature": "9ba186fe", + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeBeaconToAndCall(addressnewBeacon,bytesmemorydata,boolforceCall)internal{_setBeacon(newBeacon);emitBeaconUpgraded(newBeacon);if(data.length\u003e0||forceCall){_functionDelegateCall(IBeaconUpgradeable(newBeacon).implementation(),data);}}" }, { - "id": 3446, + "id": 3447, "name": "_functionDelegateCall", "node_type": 42, "kind": 41, @@ -5783,7 +5889,7 @@ "start": 57819, "end": 58273, "length": 455, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1627, @@ -5791,10 +5897,10 @@ "start": 57828, "end": 57848, "length": 21, - "parent_index": 3446 + "parent_index": 3447 }, "body": { - "id": 3455, + "id": 3456, "node_type": 46, "kind": 0, "src": { @@ -5803,12 +5909,12 @@ "start": 57916, "end": 58273, "length": 358, - "parent_index": 3446 + "parent_index": 3447 }, "implemented": true, "statements": [ { - "id": 3456, + "id": 3457, "node_type": 24, "kind": 24, "src": { @@ -5817,7 +5923,7 @@ "start": 57926, "end": 58013, "length": 88, - "parent_index": 3455 + "parent_index": 3456 }, "argument_types": [ { @@ -5831,7 +5937,7 @@ ], "arguments": [ { - "id": 3458, + "id": 3459, "node_type": 24, "kind": 24, "src": { @@ -5840,7 +5946,7 @@ "start": 57934, "end": 57970, "length": 37, - "parent_index": 3456 + "parent_index": 3457 }, "argument_types": [ { @@ -5850,7 +5956,7 @@ ], "arguments": [ { - "id": 3461, + "id": 3462, "node_type": 16, "src": { "line": 1628, @@ -5858,7 +5964,7 @@ "start": 57964, "end": 57969, "length": 6, - "parent_index": 3458 + "parent_index": 3459 }, "name": "target", "type_description": { @@ -5866,12 +5972,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3461, - "is_pure": false + "referenced_declaration": 3462, + "is_pure": false, + "text": "target" } ], "expression": { - "id": 3459, + "id": 3460, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5883,7 +5990,7 @@ "start": 57934, "end": 57962, "length": 29, - "parent_index": 3458 + "parent_index": 3459 }, "member_location": { "line": 1628, @@ -5891,10 +5998,10 @@ "start": 57953, "end": 57962, "length": 10, - "parent_index": 3459 + "parent_index": 3460 }, "expression": { - "id": 3460, + "id": 3461, "node_type": 16, "src": { "line": 1628, @@ -5902,7 +6009,7 @@ "start": 57934, "end": 57951, "length": 18, - "parent_index": 3459 + "parent_index": 3460 }, "name": "AddressUpgradeable", "type_description": { @@ -5911,14 +6018,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5926,7 +6035,7 @@ } }, { - "id": 3462, + "id": 3463, "node_type": 17, "kind": 50, "value": "Address: delegate call to non-contract", @@ -5937,7 +6046,7 @@ "start": 57973, "end": 58012, "length": 40, - "parent_index": 3456 + "parent_index": 3457 }, "type_description": { "type_identifier": "t_string_literal", @@ -5951,11 +6060,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { - "id": 3457, + "id": 3458, "node_type": 16, "src": { "line": 1628, @@ -5963,7 +6073,7 @@ "start": 57926, "end": 57932, "length": 7, - "parent_index": 3456 + "parent_index": 3457 }, "name": "require", "type_description": { @@ -5972,7 +6082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5980,7 +6091,7 @@ } }, { - "id": 3463, + "id": 3464, "node_type": 44, "src": { "line": 1631, @@ -5988,26 +6099,26 @@ "start": 58084, "end": 58151, "length": 68, - "parent_index": 3455 + "parent_index": 3456 }, "assignments": [ - 3464, - 3466 + 3465, + 3467 ], "declarations": [ { - "id": 3464, + "id": 3465, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 3455, + "scope": 3456, "src": { "line": 1631, "column": 9, "start": 58085, "end": 58096, "length": 12, - "parent_index": 3463 + "parent_index": 3464 }, "name_location": { "line": 1631, @@ -6015,12 +6126,12 @@ "start": 58090, "end": 58096, "length": 7, - "parent_index": 3464 + "parent_index": 3465 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3465, + "id": 3466, "node_type": 30, "src": { "line": 1631, @@ -6028,7 +6139,7 @@ "start": 58085, "end": 58088, "length": 4, - "parent_index": 3464 + "parent_index": 3465 }, "name": "bool", "referenced_declaration": 0, @@ -6040,18 +6151,18 @@ "visibility": 1 }, { - "id": 3466, + "id": 3467, "state_mutability": 1, "name": "returndata", "node_type": 44, - "scope": 3455, + "scope": 3456, "src": { "line": 1631, "column": 23, "start": 58099, "end": 58121, "length": 23, - "parent_index": 3463 + "parent_index": 3464 }, "name_location": { "line": 1631, @@ -6059,12 +6170,12 @@ "start": 58112, "end": 58121, "length": 10, - "parent_index": 3466 + "parent_index": 3467 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 3467, + "id": 3468, "node_type": 30, "src": { "line": 1631, @@ -6072,7 +6183,7 @@ "start": 58099, "end": 58103, "length": 5, - "parent_index": 3466 + "parent_index": 3467 }, "name": "bytes", "referenced_declaration": 0, @@ -6085,7 +6196,7 @@ } ], "initial_value": { - "id": 3468, + "id": 3469, "node_type": 24, "kind": 24, "src": { @@ -6094,7 +6205,7 @@ "start": 58126, "end": 58150, "length": 25, - "parent_index": 3463 + "parent_index": 3464 }, "argument_types": [ { @@ -6104,7 +6215,7 @@ ], "arguments": [ { - "id": 3471, + "id": 3472, "node_type": 16, "src": { "line": 1631, @@ -6112,7 +6223,7 @@ "start": 58146, "end": 58149, "length": 4, - "parent_index": 3468 + "parent_index": 3469 }, "name": "data", "type_description": { @@ -6120,12 +6231,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3471, - "is_pure": false + "referenced_declaration": 3472, + "is_pure": false, + "text": "data" } ], "expression": { - "id": 3469, + "id": 3470, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6137,7 +6249,7 @@ "start": 58126, "end": 58144, "length": 19, - "parent_index": 3468 + "parent_index": 3469 }, "member_location": { "line": 1631, @@ -6145,10 +6257,10 @@ "start": 58133, "end": 58144, "length": 12, - "parent_index": 3469 + "parent_index": 3470 }, "expression": { - "id": 3470, + "id": 3471, "node_type": 16, "src": { "line": 1631, @@ -6156,7 +6268,7 @@ "start": 58126, "end": 58131, "length": 6, - "parent_index": 3469 + "parent_index": 3470 }, "name": "target", "type_description": { @@ -6164,15 +6276,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3470, - "is_pure": false + "referenced_declaration": 3471, + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -6181,7 +6295,7 @@ } }, { - "id": 3472, + "id": 3473, "node_type": 47, "src": { "line": 1632, @@ -6189,11 +6303,11 @@ "start": 58161, "end": 58267, "length": 107, - "parent_index": 3446 + "parent_index": 3447 }, - "function_return_parameters": 3446, + "function_return_parameters": 3447, "expression": { - "id": 3473, + "id": 3474, "node_type": 24, "kind": 24, "src": { @@ -6202,7 +6316,7 @@ "start": 58168, "end": 58266, "length": 99, - "parent_index": 3472 + "parent_index": 3473 }, "argument_types": [ { @@ -6220,7 +6334,7 @@ ], "arguments": [ { - "id": 3476, + "id": 3477, "node_type": 16, "src": { "line": 1632, @@ -6228,7 +6342,7 @@ "start": 58204, "end": 58210, "length": 7, - "parent_index": 3473 + "parent_index": 3474 }, "name": "success", "type_description": { @@ -6236,11 +6350,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3463, - "is_pure": false + "referenced_declaration": 3464, + "is_pure": false, + "text": "success" }, { - "id": 3477, + "id": 3478, "node_type": 16, "src": { "line": 1632, @@ -6248,7 +6363,7 @@ "start": 58213, "end": 58222, "length": 10, - "parent_index": 3473 + "parent_index": 3474 }, "name": "returndata", "type_description": { @@ -6256,17 +6371,18 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3463, + "referenced_declaration": 3464, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { - "id": 3478, + "id": 3479, "node_type": 17, "kind": 50, "value": "Address: low-level delegate call failed", @@ -6277,7 +6393,7 @@ "start": 58225, "end": 58265, "length": 41, - "parent_index": 3473 + "parent_index": 3474 }, "type_description": { "type_identifier": "t_string_literal", @@ -6295,11 +6411,12 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { - "id": 3474, + "id": 3475, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6311,7 +6428,7 @@ "start": 58168, "end": 58202, "length": 35, - "parent_index": 3473 + "parent_index": 3474 }, "member_location": { "line": 1632, @@ -6319,10 +6436,10 @@ "start": 58187, "end": 58202, "length": 16, - "parent_index": 3474 + "parent_index": 3475 }, "expression": { - "id": 3475, + "id": 3476, "node_type": 16, "src": { "line": 1632, @@ -6330,7 +6447,7 @@ "start": 58168, "end": 58185, "length": 18, - "parent_index": 3474 + "parent_index": 3475 }, "name": "AddressUpgradeable", "type_description": { @@ -6339,14 +6456,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "verifyCallResult", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string_literal$", @@ -6363,7 +6482,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3447, + "id": 3448, "node_type": 43, "src": { "line": 1627, @@ -6371,11 +6490,11 @@ "start": 57850, "end": 57882, "length": 33, - "parent_index": 3446 + "parent_index": 3447 }, "parameters": [ { - "id": 3448, + "id": 3449, "node_type": 44, "src": { "line": 1627, @@ -6383,12 +6502,12 @@ "start": 57850, "end": 57863, "length": 14, - "parent_index": 3447 + "parent_index": 3448 }, - "scope": 3446, + "scope": 3447, "name": "target", "type_name": { - "id": 3449, + "id": 3450, "node_type": 30, "src": { "line": 1627, @@ -6396,7 +6515,7 @@ "start": 57850, "end": 57856, "length": 7, - "parent_index": 3448 + "parent_index": 3449 }, "name": "address", "state_mutability": 4, @@ -6415,7 +6534,7 @@ } }, { - "id": 3450, + "id": 3451, "node_type": 44, "src": { "line": 1627, @@ -6423,12 +6542,12 @@ "start": 57866, "end": 57882, "length": 17, - "parent_index": 3447 + "parent_index": 3448 }, - "scope": 3446, + "scope": 3447, "name": "data", "type_name": { - "id": 3451, + "id": 3452, "node_type": 30, "src": { "line": 1627, @@ -6436,7 +6555,7 @@ "start": 57866, "end": 57870, "length": 5, - "parent_index": 3450 + "parent_index": 3451 }, "name": "bytes", "referenced_declaration": 0, @@ -6466,7 +6585,7 @@ ] }, "return_parameters": { - "id": 3452, + "id": 3453, "node_type": 43, "src": { "line": 1627, @@ -6474,11 +6593,11 @@ "start": 57902, "end": 57913, "length": 12, - "parent_index": 3446 + "parent_index": 3447 }, "parameters": [ { - "id": 3453, + "id": 3454, "node_type": 44, "src": { "line": 1627, @@ -6486,12 +6605,12 @@ "start": 57902, "end": 57913, "length": 12, - "parent_index": 3452 + "parent_index": 3453 }, - "scope": 3446, + "scope": 3447, "name": "", "type_name": { - "id": 3454, + "id": 3455, "node_type": 30, "src": { "line": 1627, @@ -6499,7 +6618,7 @@ "start": 57902, "end": 57906, "length": 5, - "parent_index": 3453 + "parent_index": 3454 }, "name": "bytes", "referenced_declaration": 0, @@ -6524,16 +6643,17 @@ } ] }, - "signature_raw": "_functionDelegateCall(address, bytes)", - "signature": "d4f56b32", - "scope": 3163, + "signature_raw": "_functionDelegateCall(address,bytes)", + "signature": "378f61a0", + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "function_functionDelegateCall(addresstarget,bytesmemorydata)privatereturns(bytesmemory){require(AddressUpgradeable.isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnAddressUpgradeable.verifyCallResult(success,returndata,\"Address: low-level delegate call failed\");}" }, { - "id": 3480, + "id": 3481, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -6544,9 +6664,9 @@ "start": 58539, "end": 58564, "length": 26, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_50_by_1", "type_string": "int_const 50" @@ -6555,7 +6675,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3481, + "id": 3482, "node_type": 16, "src": { "line": 1640, @@ -6563,12 +6683,12 @@ "start": 58539, "end": 58545, "length": 7, - "parent_index": 3480 + "parent_index": 3481 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 3483, + "id": 3484, "node_type": 17, "kind": 49, "value": "50", @@ -6579,7 +6699,7 @@ "start": 58547, "end": 58548, "length": 2, - "parent_index": 3481 + "parent_index": 3482 }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -6587,7 +6707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -6599,16 +6720,16 @@ ], "linearized_base_contracts": [ 1894, - 3163, - 3158, + 3164, 3159, 3160, 3161, - 3162 + 3162, + 3163 ], "base_contracts": [ { - "id": 3164, + "id": 3165, "node_type": 62, "src": { "line": 1449, @@ -6616,10 +6737,10 @@ "start": 51388, "end": 51400, "length": 13, - "parent_index": 3163 + "parent_index": 3164 }, "base_name": { - "id": 3165, + "id": 3166, "node_type": 52, "src": { "line": 1449, @@ -6627,7 +6748,7 @@ "start": 51388, "end": 51400, "length": 13, - "parent_index": 3163 + "parent_index": 3164 }, "name": "Initializable", "referenced_declaration": 1894 @@ -6636,11 +6757,11 @@ ], "contract_dependencies": [ 1894, - 3158, 3159, 3160, 3161, - 3162 + 3162, + 3163 ] } ], diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC20.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC20.solgo.ast.json index ed223ec0..621c4939 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC20.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC20.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 4060, + "id": 4061, "base_contracts": [], "license": "AGPL-3.0-only", "exported_symbols": [ { - "id": 4060, + "id": 4061, "name": "ERC20", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC20.sol" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 4079, + "id": 4080, "node_type": 10, "src": { "line": 1937, @@ -22,7 +22,7 @@ "start": 69641, "end": 69664, "length": 24, - "parent_index": 4060 + "parent_index": 4061 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity \u003e=0.8.0;" }, { - "id": 4108, + "id": 4109, "name": "ERC20", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 70070, "end": 76406, "length": 6337, - "parent_index": 4060 + "parent_index": 4061 }, "name_location": { "line": 1943, @@ -55,14 +55,14 @@ "start": 70088, "end": 70092, "length": 5, - "parent_index": 4108 + "parent_index": 4109 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 4110, + "id": 4111, "node_type": 57, "src": { "line": 1948, @@ -70,10 +70,10 @@ "start": 70279, "end": 70351, "length": 73, - "parent_index": 4108 + "parent_index": 4109 }, "parameters": { - "id": 4111, + "id": 4112, "node_type": 43, "src": { "line": 1948, @@ -81,11 +81,11 @@ "start": 70279, "end": 70351, "length": 73, - "parent_index": 4110 + "parent_index": 4111 }, "parameters": [ { - "id": 4112, + "id": 4113, "node_type": 44, "src": { "line": 1948, @@ -93,12 +93,12 @@ "start": 70294, "end": 70313, "length": 20, - "parent_index": 4111 + "parent_index": 4112 }, - "scope": 4110, + "scope": 4111, "name": "from", "type_name": { - "id": 4113, + "id": 4114, "node_type": 30, "src": { "line": 1948, @@ -106,7 +106,7 @@ "start": 70294, "end": 70300, "length": 7, - "parent_index": 4112 + "parent_index": 4113 }, "name": "address", "state_mutability": 4, @@ -126,7 +126,7 @@ "indexed": true }, { - "id": 4114, + "id": 4115, "node_type": 44, "src": { "line": 1948, @@ -134,12 +134,12 @@ "start": 70316, "end": 70333, "length": 18, - "parent_index": 4111 + "parent_index": 4112 }, - "scope": 4110, + "scope": 4111, "name": "to", "type_name": { - "id": 4115, + "id": 4116, "node_type": 30, "src": { "line": 1948, @@ -147,7 +147,7 @@ "start": 70316, "end": 70322, "length": 7, - "parent_index": 4114 + "parent_index": 4115 }, "name": "address", "state_mutability": 4, @@ -167,7 +167,7 @@ "indexed": true }, { - "id": 4116, + "id": 4117, "node_type": 44, "src": { "line": 1948, @@ -175,12 +175,12 @@ "start": 70336, "end": 70349, "length": 14, - "parent_index": 4111 + "parent_index": 4112 }, - "scope": 4110, + "scope": 4111, "name": "amount", "type_name": { - "id": 4117, + "id": 4118, "node_type": 30, "src": { "line": 1948, @@ -188,7 +188,7 @@ "start": 70336, "end": 70342, "length": 7, - "parent_index": 4116 + "parent_index": 4117 }, "name": "uint256", "referenced_declaration": 0, @@ -224,12 +224,12 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" } }, { - "id": 4119, + "id": 4120, "node_type": 57, "src": { "line": 1950, @@ -237,10 +237,10 @@ "start": 70358, "end": 70436, "length": 79, - "parent_index": 4108 + "parent_index": 4109 }, "parameters": { - "id": 4120, + "id": 4121, "node_type": 43, "src": { "line": 1950, @@ -248,11 +248,11 @@ "start": 70358, "end": 70436, "length": 79, - "parent_index": 4119 + "parent_index": 4120 }, "parameters": [ { - "id": 4121, + "id": 4122, "node_type": 44, "src": { "line": 1950, @@ -260,12 +260,12 @@ "start": 70373, "end": 70393, "length": 21, - "parent_index": 4120 + "parent_index": 4121 }, - "scope": 4119, + "scope": 4120, "name": "owner", "type_name": { - "id": 4122, + "id": 4123, "node_type": 30, "src": { "line": 1950, @@ -273,7 +273,7 @@ "start": 70373, "end": 70379, "length": 7, - "parent_index": 4121 + "parent_index": 4122 }, "name": "address", "state_mutability": 4, @@ -293,7 +293,7 @@ "indexed": true }, { - "id": 4123, + "id": 4124, "node_type": 44, "src": { "line": 1950, @@ -301,12 +301,12 @@ "start": 70396, "end": 70418, "length": 23, - "parent_index": 4120 + "parent_index": 4121 }, - "scope": 4119, + "scope": 4120, "name": "spender", "type_name": { - "id": 4124, + "id": 4125, "node_type": 30, "src": { "line": 1950, @@ -314,7 +314,7 @@ "start": 70396, "end": 70402, "length": 7, - "parent_index": 4123 + "parent_index": 4124 }, "name": "address", "state_mutability": 4, @@ -334,7 +334,7 @@ "indexed": true }, { - "id": 4125, + "id": 4126, "node_type": 44, "src": { "line": 1950, @@ -342,12 +342,12 @@ "start": 70421, "end": 70434, "length": 14, - "parent_index": 4120 + "parent_index": 4121 }, - "scope": 4119, + "scope": 4120, "name": "amount", "type_name": { - "id": 4126, + "id": 4127, "node_type": 30, "src": { "line": 1950, @@ -355,7 +355,7 @@ "start": 70421, "end": 70427, "length": 7, - "parent_index": 4125 + "parent_index": 4126 }, "name": "uint256", "referenced_declaration": 0, @@ -391,12 +391,12 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC20_Approval_\u00264119", + "type_identifier": "t_event\u0026_ERC20_Approval_\u00264120", "type_string": "event ERC20.Approval" } }, { - "id": 4128, + "id": 4129, "name": "name", "is_constant": false, "is_state_variable": true, @@ -407,9 +407,9 @@ "start": 70627, "end": 70645, "length": 19, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_string", "type_string": "string" @@ -418,7 +418,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4129, + "id": 4130, "node_type": 30, "src": { "line": 1956, @@ -426,7 +426,7 @@ "start": 70627, "end": 70632, "length": 6, - "parent_index": 4128 + "parent_index": 4129 }, "name": "string", "referenced_declaration": 0, @@ -438,7 +438,7 @@ "initial_value": null }, { - "id": 4131, + "id": 4132, "name": "symbol", "is_constant": false, "is_state_variable": true, @@ -449,9 +449,9 @@ "start": 70652, "end": 70672, "length": 21, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_string", "type_string": "string" @@ -460,7 +460,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4132, + "id": 4133, "node_type": 30, "src": { "line": 1958, @@ -468,7 +468,7 @@ "start": 70652, "end": 70657, "length": 6, - "parent_index": 4131 + "parent_index": 4132 }, "name": "string", "referenced_declaration": 0, @@ -480,7 +480,7 @@ "initial_value": null }, { - "id": 4134, + "id": 4135, "name": "decimals", "is_constant": false, "is_state_variable": true, @@ -491,9 +491,9 @@ "start": 70679, "end": 70710, "length": 32, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" @@ -502,7 +502,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4135, + "id": 4136, "node_type": 30, "src": { "line": 1960, @@ -510,7 +510,7 @@ "start": 70679, "end": 70683, "length": 5, - "parent_index": 4134 + "parent_index": 4135 }, "name": "uint8", "referenced_declaration": 0, @@ -522,7 +522,7 @@ "initial_value": null }, { - "id": 4137, + "id": 4138, "name": "totalSupply", "is_constant": false, "is_state_variable": true, @@ -533,9 +533,9 @@ "start": 70900, "end": 70926, "length": 27, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -544,7 +544,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4138, + "id": 4139, "node_type": 30, "src": { "line": 1966, @@ -552,7 +552,7 @@ "start": 70900, "end": 70906, "length": 7, - "parent_index": 4137 + "parent_index": 4138 }, "name": "uint256", "referenced_declaration": 0, @@ -564,7 +564,7 @@ "initial_value": null }, { - "id": 4140, + "id": 4141, "name": "balanceOf", "is_constant": false, "is_state_variable": true, @@ -575,9 +575,9 @@ "start": 70933, "end": 70977, "length": 45, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_mapping_$t_address_$t_uint256$", "type_string": "mapping(address=\u003euint256)" @@ -586,18 +586,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4141, - "node_type": 0, + "id": 4142, + "node_type": 53, "src": { "line": 1968, "column": 4, "start": 70933, "end": 70959, "length": 27, - "parent_index": 4140 + "parent_index": 4141 }, "key_type": { - "id": 4142, + "id": 4143, "node_type": 30, "src": { "line": 1968, @@ -605,7 +605,7 @@ "start": 70941, "end": 70947, "length": 7, - "parent_index": 4141 + "parent_index": 4142 }, "name": "address", "referenced_declaration": 0, @@ -620,10 +620,10 @@ "start": 70941, "end": 70947, "length": 7, - "parent_index": 4141 + "parent_index": 4142 }, "value_type": { - "id": 4143, + "id": 4144, "node_type": 30, "src": { "line": 1968, @@ -631,7 +631,7 @@ "start": 70952, "end": 70958, "length": 7, - "parent_index": 4141 + "parent_index": 4142 }, "name": "uint256", "referenced_declaration": 0, @@ -646,7 +646,7 @@ "start": 70952, "end": 70958, "length": 7, - "parent_index": 4141 + "parent_index": 4142 }, "referenced_declaration": 0, "type_description": { @@ -657,7 +657,7 @@ "initial_value": null }, { - "id": 4145, + "id": 4146, "name": "allowance", "is_constant": false, "is_state_variable": true, @@ -668,9 +668,9 @@ "start": 70984, "end": 71048, "length": 65, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$", "type_string": "mapping(address=\u003emapping(address=\u003euint256))" @@ -679,18 +679,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4146, - "node_type": 0, + "id": 4147, + "node_type": 53, "src": { "line": 1970, "column": 4, "start": 70984, "end": 71030, "length": 47, - "parent_index": 4145 + "parent_index": 4146 }, "key_type": { - "id": 4147, + "id": 4148, "node_type": 30, "src": { "line": 1970, @@ -698,7 +698,7 @@ "start": 70992, "end": 70998, "length": 7, - "parent_index": 4146 + "parent_index": 4147 }, "name": "address", "referenced_declaration": 0, @@ -713,10 +713,10 @@ "start": 70992, "end": 70998, "length": 7, - "parent_index": 4146 + "parent_index": 4147 }, "value_type": { - "id": 4148, + "id": 4149, "node_type": 53, "src": { "line": 1970, @@ -724,11 +724,11 @@ "start": 71003, "end": 71029, "length": 27, - "parent_index": 4146 + "parent_index": 4147 }, "name": "mapping(address=\u003euint256)", "key_type": { - "id": 4150, + "id": 4151, "node_type": 30, "src": { "line": 1970, @@ -736,7 +736,7 @@ "start": 71011, "end": 71017, "length": 7, - "parent_index": 4146 + "parent_index": 4147 }, "name": "address", "referenced_declaration": 0, @@ -751,10 +751,10 @@ "start": 71011, "end": 71017, "length": 7, - "parent_index": 4148 + "parent_index": 4149 }, "value_type": { - "id": 4151, + "id": 4152, "node_type": 30, "src": { "line": 1970, @@ -762,7 +762,7 @@ "start": 71022, "end": 71028, "length": 7, - "parent_index": 4146 + "parent_index": 4147 }, "name": "uint256", "referenced_declaration": 0, @@ -777,7 +777,7 @@ "start": 71022, "end": 71028, "length": 7, - "parent_index": 4148 + "parent_index": 4149 }, "referenced_declaration": 0, "type_description": { @@ -791,7 +791,7 @@ "start": 71003, "end": 71029, "length": 27, - "parent_index": 4146 + "parent_index": 4147 }, "referenced_declaration": 0, "type_description": { @@ -802,7 +802,7 @@ "initial_value": null }, { - "id": 4153, + "id": 4154, "name": "INITIAL_CHAIN_ID", "is_constant": false, "is_state_variable": true, @@ -813,9 +813,9 @@ "start": 71239, "end": 71282, "length": 44, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -824,7 +824,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4154, + "id": 4155, "node_type": 30, "src": { "line": 1976, @@ -832,7 +832,7 @@ "start": 71239, "end": 71245, "length": 7, - "parent_index": 4153 + "parent_index": 4154 }, "name": "uint256", "referenced_declaration": 0, @@ -844,7 +844,7 @@ "initial_value": null }, { - "id": 4156, + "id": 4157, "name": "INITIAL_DOMAIN_SEPARATOR", "is_constant": false, "is_state_variable": true, @@ -855,9 +855,9 @@ "start": 71289, "end": 71340, "length": 52, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" @@ -866,7 +866,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4157, + "id": 4158, "node_type": 30, "src": { "line": 1978, @@ -874,7 +874,7 @@ "start": 71289, "end": 71295, "length": 7, - "parent_index": 4156 + "parent_index": 4157 }, "name": "bytes32", "referenced_declaration": 0, @@ -886,7 +886,7 @@ "initial_value": null }, { - "id": 4159, + "id": 4160, "name": "nonces", "is_constant": false, "is_state_variable": true, @@ -897,9 +897,9 @@ "start": 71347, "end": 71388, "length": 42, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_mapping_$t_address_$t_uint256$", "type_string": "mapping(address=\u003euint256)" @@ -908,18 +908,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4160, - "node_type": 0, + "id": 4161, + "node_type": 53, "src": { "line": 1980, "column": 4, "start": 71347, "end": 71373, "length": 27, - "parent_index": 4159 + "parent_index": 4160 }, "key_type": { - "id": 4161, + "id": 4162, "node_type": 30, "src": { "line": 1980, @@ -927,7 +927,7 @@ "start": 71355, "end": 71361, "length": 7, - "parent_index": 4160 + "parent_index": 4161 }, "name": "address", "referenced_declaration": 0, @@ -942,10 +942,10 @@ "start": 71355, "end": 71361, "length": 7, - "parent_index": 4160 + "parent_index": 4161 }, "value_type": { - "id": 4162, + "id": 4163, "node_type": 30, "src": { "line": 1980, @@ -953,7 +953,7 @@ "start": 71366, "end": 71372, "length": 7, - "parent_index": 4160 + "parent_index": 4161 }, "name": "uint256", "referenced_declaration": 0, @@ -968,7 +968,7 @@ "start": 71366, "end": 71372, "length": 7, - "parent_index": 4160 + "parent_index": 4161 }, "referenced_declaration": 0, "type_description": { @@ -979,7 +979,7 @@ "initial_value": null }, { - "id": 4164, + "id": 4165, "node_type": 42, "src": { "line": 1986, @@ -987,7 +987,7 @@ "start": 71577, "end": 71868, "length": 292, - "parent_index": 4108 + "parent_index": 4109 }, "kind": 11, "state_mutability": 4, @@ -995,7 +995,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 4165, + "id": 4166, "node_type": 43, "src": { "line": 1987, @@ -1003,11 +1003,11 @@ "start": 71598, "end": 71672, "length": 75, - "parent_index": 4164 + "parent_index": 4165 }, "parameters": [ { - "id": 4166, + "id": 4167, "node_type": 44, "src": { "line": 1987, @@ -1015,12 +1015,12 @@ "start": 71598, "end": 71616, "length": 19, - "parent_index": 4165 + "parent_index": 4166 }, - "scope": 4164, + "scope": 4165, "name": "_name", "type_name": { - "id": 4167, + "id": 4168, "node_type": 30, "src": { "line": 1987, @@ -1028,7 +1028,7 @@ "start": 71598, "end": 71603, "length": 6, - "parent_index": 4166 + "parent_index": 4167 }, "name": "string", "referenced_declaration": 0, @@ -1046,7 +1046,7 @@ } }, { - "id": 4168, + "id": 4169, "node_type": 44, "src": { "line": 1988, @@ -1054,12 +1054,12 @@ "start": 71627, "end": 71647, "length": 21, - "parent_index": 4165 + "parent_index": 4166 }, - "scope": 4164, + "scope": 4165, "name": "_symbol", "type_name": { - "id": 4169, + "id": 4170, "node_type": 30, "src": { "line": 1988, @@ -1067,7 +1067,7 @@ "start": 71627, "end": 71632, "length": 6, - "parent_index": 4168 + "parent_index": 4169 }, "name": "string", "referenced_declaration": 0, @@ -1085,7 +1085,7 @@ } }, { - "id": 4170, + "id": 4171, "node_type": 44, "src": { "line": 1989, @@ -1093,12 +1093,12 @@ "start": 71658, "end": 71672, "length": 15, - "parent_index": 4165 + "parent_index": 4166 }, - "scope": 4164, + "scope": 4165, "name": "_decimals", "type_name": { - "id": 4171, + "id": 4172, "node_type": 30, "src": { "line": 1989, @@ -1106,7 +1106,7 @@ "start": 71658, "end": 71662, "length": 5, - "parent_index": 4170 + "parent_index": 4171 }, "name": "uint8", "referenced_declaration": 0, @@ -1140,7 +1140,7 @@ ] }, "return_parameters": { - "id": 4172, + "id": 4173, "node_type": 43, "src": { "line": 1986, @@ -1148,14 +1148,14 @@ "start": 71577, "end": 71868, "length": 292, - "parent_index": 4164 + "parent_index": 4165 }, "parameters": [], "parameter_types": [] }, - "scope": 4108, + "scope": 4109, "body": { - "id": 4173, + "id": 4174, "node_type": 46, "kind": 0, "src": { @@ -1164,12 +1164,12 @@ "start": 71680, "end": 71868, "length": 189, - "parent_index": 4164 + "parent_index": 4165 }, "implemented": true, "statements": [ { - "id": 4174, + "id": 4175, "node_type": 27, "src": { "line": 1991, @@ -1177,10 +1177,10 @@ "start": 71690, "end": 71702, "length": 13, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4175, + "id": 4176, "node_type": 27, "src": { "line": 1991, @@ -1188,11 +1188,11 @@ "start": 71690, "end": 71701, "length": 12, - "parent_index": 4174 + "parent_index": 4175 }, "operator": 11, "left_expression": { - "id": 4176, + "id": 4177, "node_type": 16, "src": { "line": 1991, @@ -1200,7 +1200,7 @@ "start": 71690, "end": 71693, "length": 4, - "parent_index": 4175 + "parent_index": 4176 }, "name": "name", "type_description": { @@ -1208,11 +1208,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 4128, - "is_pure": false + "referenced_declaration": 4129, + "is_pure": false, + "text": "name" }, "right_expression": { - "id": 4177, + "id": 4178, "node_type": 16, "src": { "line": 1991, @@ -1220,7 +1221,7 @@ "start": 71697, "end": 71701, "length": 5, - "parent_index": 4175 + "parent_index": 4176 }, "name": "_name", "type_description": { @@ -1228,8 +1229,9 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 4177, - "is_pure": false + "referenced_declaration": 4178, + "is_pure": false, + "text": "_name" }, "type_description": { "type_identifier": "t_string", @@ -1239,10 +1241,11 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "name=_name;" }, { - "id": 4178, + "id": 4179, "node_type": 27, "src": { "line": 1992, @@ -1250,10 +1253,10 @@ "start": 71712, "end": 71728, "length": 17, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4179, + "id": 4180, "node_type": 27, "src": { "line": 1992, @@ -1261,11 +1264,11 @@ "start": 71712, "end": 71727, "length": 16, - "parent_index": 4178 + "parent_index": 4179 }, "operator": 11, "left_expression": { - "id": 4180, + "id": 4181, "node_type": 16, "src": { "line": 1992, @@ -1273,7 +1276,7 @@ "start": 71712, "end": 71717, "length": 6, - "parent_index": 4179 + "parent_index": 4180 }, "name": "symbol", "type_description": { @@ -1281,11 +1284,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 4131, - "is_pure": false + "referenced_declaration": 4132, + "is_pure": false, + "text": "symbol" }, "right_expression": { - "id": 4181, + "id": 4182, "node_type": 16, "src": { "line": 1992, @@ -1293,7 +1297,7 @@ "start": 71721, "end": 71727, "length": 7, - "parent_index": 4179 + "parent_index": 4180 }, "name": "_symbol", "type_description": { @@ -1301,8 +1305,9 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 4181, - "is_pure": false + "referenced_declaration": 4182, + "is_pure": false, + "text": "_symbol" }, "type_description": { "type_identifier": "t_string", @@ -1312,10 +1317,11 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "symbol=_symbol;" }, { - "id": 4182, + "id": 4183, "node_type": 27, "src": { "line": 1993, @@ -1323,10 +1329,10 @@ "start": 71738, "end": 71758, "length": 21, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4183, + "id": 4184, "node_type": 27, "src": { "line": 1993, @@ -1334,11 +1340,11 @@ "start": 71738, "end": 71757, "length": 20, - "parent_index": 4182 + "parent_index": 4183 }, "operator": 11, "left_expression": { - "id": 4184, + "id": 4185, "node_type": 16, "src": { "line": 1993, @@ -1346,7 +1352,7 @@ "start": 71738, "end": 71745, "length": 8, - "parent_index": 4183 + "parent_index": 4184 }, "name": "decimals", "type_description": { @@ -1354,11 +1360,12 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 4134, - "is_pure": false + "referenced_declaration": 4135, + "is_pure": false, + "text": "decimals" }, "right_expression": { - "id": 4185, + "id": 4186, "node_type": 16, "src": { "line": 1993, @@ -1366,7 +1373,7 @@ "start": 71749, "end": 71757, "length": 9, - "parent_index": 4183 + "parent_index": 4184 }, "name": "_decimals", "type_description": { @@ -1374,8 +1381,9 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 4185, - "is_pure": false + "referenced_declaration": 4186, + "is_pure": false, + "text": "_decimals" }, "type_description": { "type_identifier": "t_uint8", @@ -1385,10 +1393,11 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "decimals=_decimals;" }, { - "id": 4186, + "id": 4187, "node_type": 27, "src": { "line": 1995, @@ -1396,10 +1405,10 @@ "start": 71769, "end": 71801, "length": 33, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4187, + "id": 4188, "node_type": 27, "src": { "line": 1995, @@ -1407,11 +1416,11 @@ "start": 71769, "end": 71800, "length": 32, - "parent_index": 4186 + "parent_index": 4187 }, "operator": 11, "left_expression": { - "id": 4188, + "id": 4189, "node_type": 16, "src": { "line": 1995, @@ -1419,7 +1428,7 @@ "start": 71769, "end": 71784, "length": 16, - "parent_index": 4187 + "parent_index": 4188 }, "name": "INITIAL_CHAIN_ID", "type_description": { @@ -1427,11 +1436,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4153, - "is_pure": false + "referenced_declaration": 4154, + "is_pure": false, + "text": "INITIAL_CHAIN_ID" }, "right_expression": { - "id": 4189, + "id": 4190, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1443,7 +1453,7 @@ "start": 71788, "end": 71800, "length": 13, - "parent_index": 4187 + "parent_index": 4188 }, "member_location": { "line": 1995, @@ -1451,10 +1461,10 @@ "start": 71794, "end": 71800, "length": 7, - "parent_index": 4189 + "parent_index": 4190 }, "expression": { - "id": 4190, + "id": 4191, "node_type": 16, "src": { "line": 1995, @@ -1462,7 +1472,7 @@ "start": 71788, "end": 71792, "length": 5, - "parent_index": 4189 + "parent_index": 4190 }, "name": "block", "type_description": { @@ -1471,14 +1481,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "chainid", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.chainid" }, "type_description": { "type_identifier": "t_uint256", @@ -1488,10 +1500,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "INITIAL_CHAIN_ID=block.chainid;" }, { - "id": 4191, + "id": 4192, "node_type": 27, "src": { "line": 1996, @@ -1499,10 +1512,10 @@ "start": 71811, "end": 71862, "length": 52, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4192, + "id": 4193, "node_type": 27, "src": { "line": 1996, @@ -1510,11 +1523,11 @@ "start": 71811, "end": 71861, "length": 51, - "parent_index": 4191 + "parent_index": 4192 }, "operator": 11, "left_expression": { - "id": 4193, + "id": 4194, "node_type": 16, "src": { "line": 1996, @@ -1522,7 +1535,7 @@ "start": 71811, "end": 71834, "length": 24, - "parent_index": 4192 + "parent_index": 4193 }, "name": "INITIAL_DOMAIN_SEPARATOR", "type_description": { @@ -1530,11 +1543,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4156, - "is_pure": false + "referenced_declaration": 4157, + "is_pure": false, + "text": "INITIAL_DOMAIN_SEPARATOR" }, "right_expression": { - "id": 4194, + "id": 4195, "node_type": 24, "kind": 24, "src": { @@ -1543,12 +1557,12 @@ "start": 71838, "end": 71861, "length": 24, - "parent_index": 4192 + "parent_index": 4193 }, "argument_types": [], "arguments": [], "expression": { - "id": 4195, + "id": 4196, "node_type": 16, "src": { "line": 1996, @@ -1556,7 +1570,7 @@ "start": 71838, "end": 71859, "length": 22, - "parent_index": 4194 + "parent_index": 4195 }, "name": "computeDomainSeparator", "type_description": { @@ -1565,7 +1579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "computeDomainSeparator" }, "type_description": { "type_identifier": "t_function_$", @@ -1580,13 +1595,14 @@ "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" - } + }, + "text": "INITIAL_DOMAIN_SEPARATOR=computeDomainSeparator();" } ] } }, { - "id": 4197, + "id": 4198, "name": "approve", "node_type": 42, "kind": 41, @@ -1596,7 +1612,7 @@ "start": 72057, "end": 72267, "length": 211, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2003, @@ -1604,10 +1620,10 @@ "start": 72066, "end": 72072, "length": 7, - "parent_index": 4197 + "parent_index": 4198 }, "body": { - "id": 4206, + "id": 4207, "node_type": 46, "kind": 0, "src": { @@ -1616,12 +1632,12 @@ "start": 72137, "end": 72267, "length": 131, - "parent_index": 4197 + "parent_index": 4198 }, "implemented": true, "statements": [ { - "id": 4207, + "id": 4208, "node_type": 27, "src": { "line": 2004, @@ -1629,10 +1645,10 @@ "start": 72147, "end": 72186, "length": 40, - "parent_index": 4206 + "parent_index": 4207 }, "expression": { - "id": 4208, + "id": 4209, "node_type": 27, "src": { "line": 2004, @@ -1640,11 +1656,11 @@ "start": 72147, "end": 72185, "length": 39, - "parent_index": 4207 + "parent_index": 4208 }, "operator": 11, "left_expression": { - "id": 4209, + "id": 4210, "node_type": 22, "src": { "line": 2004, @@ -1652,10 +1668,10 @@ "start": 72147, "end": 72176, "length": 30, - "parent_index": 4208 + "parent_index": 4209 }, "index_expression": { - "id": 4210, + "id": 4211, "node_type": 22, "src": { "line": 2004, @@ -1663,10 +1679,10 @@ "start": 72147, "end": 72167, "length": 21, - "parent_index": 4209 + "parent_index": 4210 }, "index_expression": { - "id": 4211, + "id": 4212, "node_type": 16, "src": { "line": 2004, @@ -1674,7 +1690,7 @@ "start": 72147, "end": 72155, "length": 9, - "parent_index": 4210 + "parent_index": 4211 }, "name": "allowance", "type_description": { @@ -1682,11 +1698,12 @@ "type_string": "mapping(address=\u003emapping(address=\u003euint256))" }, "overloaded_declarations": [], - "referenced_declaration": 4145, - "is_pure": false + "referenced_declaration": 4146, + "is_pure": false, + "text": "allowance" }, "base_expression": { - "id": 4212, + "id": 4213, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1698,7 +1715,7 @@ "start": 72157, "end": 72166, "length": 10, - "parent_index": 4210 + "parent_index": 4211 }, "member_location": { "line": 2004, @@ -1706,10 +1723,10 @@ "start": 72161, "end": 72166, "length": 6, - "parent_index": 4212 + "parent_index": 4213 }, "expression": { - "id": 4213, + "id": 4214, "node_type": 16, "src": { "line": 2004, @@ -1717,7 +1734,7 @@ "start": 72157, "end": 72159, "length": 3, - "parent_index": 4212 + "parent_index": 4213 }, "name": "msg", "type_description": { @@ -1726,14 +1743,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -1751,7 +1770,7 @@ } }, "base_expression": { - "id": 4214, + "id": 4215, "node_type": 16, "src": { "line": 2004, @@ -1759,7 +1778,7 @@ "start": 72169, "end": 72175, "length": 7, - "parent_index": 4209 + "parent_index": 4210 }, "name": "spender", "type_description": { @@ -1767,8 +1786,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4214, - "is_pure": false + "referenced_declaration": 4215, + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -1786,7 +1806,7 @@ } }, "right_expression": { - "id": 4215, + "id": 4216, "node_type": 16, "src": { "line": 2004, @@ -1794,7 +1814,7 @@ "start": 72180, "end": 72185, "length": 6, - "parent_index": 4208 + "parent_index": 4209 }, "name": "amount", "type_description": { @@ -1802,8 +1822,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4215, - "is_pure": false + "referenced_declaration": 4216, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -1813,10 +1834,11 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "allowance[msg.sender][spender]=amount;" }, { - "id": 4216, + "id": 4217, "node_type": 64, "src": { "line": 2006, @@ -1824,11 +1846,11 @@ "start": 72197, "end": 72239, "length": 43, - "parent_index": 4197 + "parent_index": 4198 }, "arguments": [ { - "id": 4217, + "id": 4218, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1840,7 +1862,7 @@ "start": 72211, "end": 72220, "length": 10, - "parent_index": 4216 + "parent_index": 4217 }, "member_location": { "line": 2006, @@ -1848,10 +1870,10 @@ "start": 72215, "end": 72220, "length": 6, - "parent_index": 4217 + "parent_index": 4218 }, "expression": { - "id": 4218, + "id": 4219, "node_type": 16, "src": { "line": 2006, @@ -1859,7 +1881,7 @@ "start": 72211, "end": 72213, "length": 3, - "parent_index": 4217 + "parent_index": 4218 }, "name": "msg", "type_description": { @@ -1868,17 +1890,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 4219, + "id": 4220, "node_type": 16, "src": { "line": 2006, @@ -1886,7 +1910,7 @@ "start": 72223, "end": 72229, "length": 7, - "parent_index": 4216 + "parent_index": 4217 }, "name": "spender", "type_description": { @@ -1894,11 +1918,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4219, - "is_pure": false + "referenced_declaration": 4220, + "is_pure": false, + "text": "spender" }, { - "id": 4220, + "id": 4221, "node_type": 16, "src": { "line": 2006, @@ -1906,7 +1931,7 @@ "start": 72232, "end": 72237, "length": 6, - "parent_index": 4216 + "parent_index": 4217 }, "name": "amount", "type_description": { @@ -1914,12 +1939,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4220, - "is_pure": false + "referenced_declaration": 4221, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4221, + "id": 4222, "node_type": 16, "src": { "line": 2006, @@ -1927,20 +1953,21 @@ "start": 72202, "end": 72209, "length": 8, - "parent_index": 4216 + "parent_index": 4217 }, "name": "Approval", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Approval_\u00264119", + "type_identifier": "t_event\u0026_ERC20_Approval_\u00264120", "type_string": "event ERC20.Approval" }, "overloaded_declarations": [], - "referenced_declaration": 4119, - "is_pure": false + "referenced_declaration": 4120, + "is_pure": false, + "text": "Approval" } }, { - "id": 4222, + "id": 4223, "node_type": 47, "src": { "line": 2008, @@ -1948,11 +1975,11 @@ "start": 72250, "end": 72261, "length": 12, - "parent_index": 4197 + "parent_index": 4198 }, - "function_return_parameters": 4197, + "function_return_parameters": 4198, "expression": { - "id": 4223, + "id": 4224, "node_type": 17, "kind": 61, "value": "true", @@ -1963,7 +1990,7 @@ "start": 72257, "end": 72260, "length": 4, - "parent_index": 4222 + "parent_index": 4223 }, "type_description": { "type_identifier": "t_bool", @@ -1971,7 +1998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -1983,7 +2011,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4198, + "id": 4199, "node_type": 43, "src": { "line": 2003, @@ -1991,11 +2019,11 @@ "start": 72074, "end": 72104, "length": 31, - "parent_index": 4197 + "parent_index": 4198 }, "parameters": [ { - "id": 4199, + "id": 4200, "node_type": 44, "src": { "line": 2003, @@ -2003,12 +2031,12 @@ "start": 72074, "end": 72088, "length": 15, - "parent_index": 4198 + "parent_index": 4199 }, - "scope": 4197, + "scope": 4198, "name": "spender", "type_name": { - "id": 4200, + "id": 4201, "node_type": 30, "src": { "line": 2003, @@ -2016,7 +2044,7 @@ "start": 72074, "end": 72080, "length": 7, - "parent_index": 4199 + "parent_index": 4200 }, "name": "address", "state_mutability": 4, @@ -2035,7 +2063,7 @@ } }, { - "id": 4201, + "id": 4202, "node_type": 44, "src": { "line": 2003, @@ -2043,12 +2071,12 @@ "start": 72091, "end": 72104, "length": 14, - "parent_index": 4198 + "parent_index": 4199 }, - "scope": 4197, + "scope": 4198, "name": "amount", "type_name": { - "id": 4202, + "id": 4203, "node_type": 30, "src": { "line": 2003, @@ -2056,7 +2084,7 @@ "start": 72091, "end": 72097, "length": 7, - "parent_index": 4201 + "parent_index": 4202 }, "name": "uint256", "referenced_declaration": 0, @@ -2086,7 +2114,7 @@ ] }, "return_parameters": { - "id": 4203, + "id": 4204, "node_type": 43, "src": { "line": 2003, @@ -2094,11 +2122,11 @@ "start": 72131, "end": 72134, "length": 4, - "parent_index": 4197 + "parent_index": 4198 }, "parameters": [ { - "id": 4204, + "id": 4205, "node_type": 44, "src": { "line": 2003, @@ -2106,12 +2134,12 @@ "start": 72131, "end": 72134, "length": 4, - "parent_index": 4203 + "parent_index": 4204 }, - "scope": 4197, + "scope": 4198, "name": "", "type_name": { - "id": 4205, + "id": 4206, "node_type": 30, "src": { "line": 2003, @@ -2119,7 +2147,7 @@ "start": 72131, "end": 72134, "length": 4, - "parent_index": 4204 + "parent_index": 4205 }, "name": "bool", "referenced_declaration": 0, @@ -2144,16 +2172,17 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", - "scope": 4108, + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualreturns(bool){allowance[msg.sender][spender]=amount;emitApproval(msg.sender,spender,amount);returntrue;}" }, { - "id": 4225, + "id": 4226, "name": "transfer", "node_type": 42, "kind": 41, @@ -2163,7 +2192,7 @@ "start": 72274, "end": 72646, "length": 373, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2011, @@ -2171,10 +2200,10 @@ "start": 72283, "end": 72290, "length": 8, - "parent_index": 4225 + "parent_index": 4226 }, "body": { - "id": 4234, + "id": 4235, "node_type": 46, "kind": 0, "src": { @@ -2183,12 +2212,12 @@ "start": 72350, "end": 72646, "length": 297, - "parent_index": 4225 + "parent_index": 4226 }, "implemented": true, "statements": [ { - "id": 4235, + "id": 4236, "node_type": 27, "src": { "line": 2012, @@ -2196,10 +2225,10 @@ "start": 72360, "end": 72391, "length": 32, - "parent_index": 4234 + "parent_index": 4235 }, "expression": { - "id": 4236, + "id": 4237, "node_type": 27, "src": { "line": 2012, @@ -2207,11 +2236,11 @@ "start": 72360, "end": 72390, "length": 31, - "parent_index": 4235 + "parent_index": 4236 }, "operator": 14, "left_expression": { - "id": 4237, + "id": 4238, "node_type": 22, "src": { "line": 2012, @@ -2219,10 +2248,10 @@ "start": 72360, "end": 72380, "length": 21, - "parent_index": 4236 + "parent_index": 4237 }, "index_expression": { - "id": 4238, + "id": 4239, "node_type": 16, "src": { "line": 2012, @@ -2230,7 +2259,7 @@ "start": 72360, "end": 72368, "length": 9, - "parent_index": 4237 + "parent_index": 4238 }, "name": "balanceOf", "type_description": { @@ -2238,11 +2267,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4239, + "id": 4240, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2254,7 +2284,7 @@ "start": 72370, "end": 72379, "length": 10, - "parent_index": 4237 + "parent_index": 4238 }, "member_location": { "line": 2012, @@ -2262,10 +2292,10 @@ "start": 72374, "end": 72379, "length": 6, - "parent_index": 4239 + "parent_index": 4240 }, "expression": { - "id": 4240, + "id": 4241, "node_type": 16, "src": { "line": 2012, @@ -2273,7 +2303,7 @@ "start": 72370, "end": 72372, "length": 3, - "parent_index": 4239 + "parent_index": 4240 }, "name": "msg", "type_description": { @@ -2282,14 +2312,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -2307,7 +2339,7 @@ } }, "right_expression": { - "id": 4241, + "id": 4242, "node_type": 16, "src": { "line": 2012, @@ -2315,7 +2347,7 @@ "start": 72385, "end": 72390, "length": 6, - "parent_index": 4236 + "parent_index": 4237 }, "name": "amount", "type_description": { @@ -2323,8 +2355,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4241, - "is_pure": false + "referenced_declaration": 4242, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -2334,10 +2367,11 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[msg.sender]-=amount;" }, { - "id": 4242, + "id": 4243, "node_type": 64, "src": { "line": 2020, @@ -2345,11 +2379,11 @@ "start": 72581, "end": 72618, "length": 38, - "parent_index": 4225 + "parent_index": 4226 }, "arguments": [ { - "id": 4243, + "id": 4244, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2361,7 +2395,7 @@ "start": 72595, "end": 72604, "length": 10, - "parent_index": 4242 + "parent_index": 4243 }, "member_location": { "line": 2020, @@ -2369,10 +2403,10 @@ "start": 72599, "end": 72604, "length": 6, - "parent_index": 4243 + "parent_index": 4244 }, "expression": { - "id": 4244, + "id": 4245, "node_type": 16, "src": { "line": 2020, @@ -2380,7 +2414,7 @@ "start": 72595, "end": 72597, "length": 3, - "parent_index": 4243 + "parent_index": 4244 }, "name": "msg", "type_description": { @@ -2389,17 +2423,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 4245, + "id": 4246, "node_type": 16, "src": { "line": 2020, @@ -2407,7 +2443,7 @@ "start": 72607, "end": 72608, "length": 2, - "parent_index": 4242 + "parent_index": 4243 }, "name": "to", "type_description": { @@ -2415,11 +2451,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4245, - "is_pure": false + "referenced_declaration": 4246, + "is_pure": false, + "text": "to" }, { - "id": 4246, + "id": 4247, "node_type": 16, "src": { "line": 2020, @@ -2427,7 +2464,7 @@ "start": 72611, "end": 72616, "length": 6, - "parent_index": 4242 + "parent_index": 4243 }, "name": "amount", "type_description": { @@ -2435,12 +2472,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4246, - "is_pure": false + "referenced_declaration": 4247, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4247, + "id": 4248, "node_type": 16, "src": { "line": 2020, @@ -2448,20 +2486,21 @@ "start": 72586, "end": 72593, "length": 8, - "parent_index": 4242 + "parent_index": 4243 }, "name": "Transfer", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" }, "overloaded_declarations": [], - "referenced_declaration": 4110, - "is_pure": false + "referenced_declaration": 4111, + "is_pure": false, + "text": "Transfer" } }, { - "id": 4248, + "id": 4249, "node_type": 47, "src": { "line": 2022, @@ -2469,11 +2508,11 @@ "start": 72629, "end": 72640, "length": 12, - "parent_index": 4225 + "parent_index": 4226 }, - "function_return_parameters": 4225, + "function_return_parameters": 4226, "expression": { - "id": 4249, + "id": 4250, "node_type": 17, "kind": 61, "value": "true", @@ -2484,7 +2523,7 @@ "start": 72636, "end": 72639, "length": 4, - "parent_index": 4248 + "parent_index": 4249 }, "type_description": { "type_identifier": "t_bool", @@ -2492,11 +2531,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { - "id": 4250, + "id": 4251, "node_type": 59, "kind": 0, "src": { @@ -2505,12 +2545,12 @@ "start": 72513, "end": 72570, "length": 58, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4251, + "id": 4252, "node_type": 27, "src": { "line": 2017, @@ -2518,10 +2558,10 @@ "start": 72537, "end": 72560, "length": 24, - "parent_index": 4250 + "parent_index": 4251 }, "expression": { - "id": 4252, + "id": 4253, "node_type": 27, "src": { "line": 2017, @@ -2529,11 +2569,11 @@ "start": 72537, "end": 72559, "length": 23, - "parent_index": 4251 + "parent_index": 4252 }, "operator": 13, "left_expression": { - "id": 4253, + "id": 4254, "node_type": 22, "src": { "line": 2017, @@ -2541,10 +2581,10 @@ "start": 72537, "end": 72549, "length": 13, - "parent_index": 4252 + "parent_index": 4253 }, "index_expression": { - "id": 4254, + "id": 4255, "node_type": 16, "src": { "line": 2017, @@ -2552,7 +2592,7 @@ "start": 72537, "end": 72545, "length": 9, - "parent_index": 4253 + "parent_index": 4254 }, "name": "balanceOf", "type_description": { @@ -2560,11 +2600,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4255, + "id": 4256, "node_type": 16, "src": { "line": 2017, @@ -2572,7 +2613,7 @@ "start": 72547, "end": 72548, "length": 2, - "parent_index": 4253 + "parent_index": 4254 }, "name": "to", "type_description": { @@ -2580,8 +2621,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4255, - "is_pure": false + "referenced_declaration": 4256, + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -2599,7 +2641,7 @@ } }, "right_expression": { - "id": 4256, + "id": 4257, "node_type": 16, "src": { "line": 2017, @@ -2607,7 +2649,7 @@ "start": 72554, "end": 72559, "length": 6, - "parent_index": 4252 + "parent_index": 4253 }, "name": "amount", "type_description": { @@ -2615,8 +2657,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4256, - "is_pure": false + "referenced_declaration": 4257, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -2626,7 +2669,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -2639,7 +2683,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4226, + "id": 4227, "node_type": 43, "src": { "line": 2011, @@ -2647,11 +2691,11 @@ "start": 72292, "end": 72317, "length": 26, - "parent_index": 4225 + "parent_index": 4226 }, "parameters": [ { - "id": 4227, + "id": 4228, "node_type": 44, "src": { "line": 2011, @@ -2659,12 +2703,12 @@ "start": 72292, "end": 72301, "length": 10, - "parent_index": 4226 + "parent_index": 4227 }, - "scope": 4225, + "scope": 4226, "name": "to", "type_name": { - "id": 4228, + "id": 4229, "node_type": 30, "src": { "line": 2011, @@ -2672,7 +2716,7 @@ "start": 72292, "end": 72298, "length": 7, - "parent_index": 4227 + "parent_index": 4228 }, "name": "address", "state_mutability": 4, @@ -2691,7 +2735,7 @@ } }, { - "id": 4229, + "id": 4230, "node_type": 44, "src": { "line": 2011, @@ -2699,12 +2743,12 @@ "start": 72304, "end": 72317, "length": 14, - "parent_index": 4226 + "parent_index": 4227 }, - "scope": 4225, + "scope": 4226, "name": "amount", "type_name": { - "id": 4230, + "id": 4231, "node_type": 30, "src": { "line": 2011, @@ -2712,7 +2756,7 @@ "start": 72304, "end": 72310, "length": 7, - "parent_index": 4229 + "parent_index": 4230 }, "name": "uint256", "referenced_declaration": 0, @@ -2742,7 +2786,7 @@ ] }, "return_parameters": { - "id": 4231, + "id": 4232, "node_type": 43, "src": { "line": 2011, @@ -2750,11 +2794,11 @@ "start": 72344, "end": 72347, "length": 4, - "parent_index": 4225 + "parent_index": 4226 }, "parameters": [ { - "id": 4232, + "id": 4233, "node_type": 44, "src": { "line": 2011, @@ -2762,12 +2806,12 @@ "start": 72344, "end": 72347, "length": 4, - "parent_index": 4231 + "parent_index": 4232 }, - "scope": 4225, + "scope": 4226, "name": "", "type_name": { - "id": 4233, + "id": 4234, "node_type": 30, "src": { "line": 2011, @@ -2775,7 +2819,7 @@ "start": 72344, "end": 72347, "length": 4, - "parent_index": 4232 + "parent_index": 4233 }, "name": "bool", "referenced_declaration": 0, @@ -2800,16 +2844,17 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", - "scope": 4108, + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualreturns(bool){balanceOf[msg.sender]-=amount;unchecked{balanceOf[to]+=amount;}emitTransfer(msg.sender,to,amount);returntrue;}" }, { - "id": 4258, + "id": 4259, "name": "transferFrom", "node_type": 42, "kind": 41, @@ -2819,7 +2864,7 @@ "start": 72653, "end": 73244, "length": 592, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2025, @@ -2827,10 +2872,10 @@ "start": 72662, "end": 72673, "length": 12, - "parent_index": 4258 + "parent_index": 4259 }, "body": { - "id": 4269, + "id": 4270, "node_type": 46, "kind": 0, "src": { @@ -2839,12 +2884,12 @@ "start": 72777, "end": 73244, "length": 468, - "parent_index": 4258 + "parent_index": 4259 }, "implemented": true, "statements": [ { - "id": 4270, + "id": 4271, "node_type": 44, "src": { "line": 2030, @@ -2852,25 +2897,25 @@ "start": 72787, "end": 72832, "length": 46, - "parent_index": 4269 + "parent_index": 4270 }, "assignments": [ - 4271 + 4272 ], "declarations": [ { - "id": 4271, + "id": 4272, "state_mutability": 1, "name": "allowed", "node_type": 44, - "scope": 4269, + "scope": 4270, "src": { "line": 2030, "column": 8, "start": 72787, "end": 72801, "length": 15, - "parent_index": 4270 + "parent_index": 4271 }, "name_location": { "line": 2030, @@ -2878,12 +2923,12 @@ "start": 72795, "end": 72801, "length": 7, - "parent_index": 4271 + "parent_index": 4272 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4272, + "id": 4273, "node_type": 30, "src": { "line": 2030, @@ -2891,7 +2936,7 @@ "start": 72787, "end": 72793, "length": 7, - "parent_index": 4271 + "parent_index": 4272 }, "name": "uint256", "referenced_declaration": 0, @@ -2904,7 +2949,7 @@ } ], "initial_value": { - "id": 4273, + "id": 4274, "node_type": 22, "src": { "line": 2030, @@ -2912,10 +2957,10 @@ "start": 72805, "end": 72831, "length": 27, - "parent_index": 4270 + "parent_index": 4271 }, "index_expression": { - "id": 4274, + "id": 4275, "node_type": 22, "src": { "line": 2030, @@ -2923,10 +2968,10 @@ "start": 72805, "end": 72819, "length": 15, - "parent_index": 4270 + "parent_index": 4271 }, "index_expression": { - "id": 4275, + "id": 4276, "node_type": 16, "src": { "line": 2030, @@ -2934,7 +2979,7 @@ "start": 72805, "end": 72813, "length": 9, - "parent_index": 4274 + "parent_index": 4275 }, "name": "allowance", "type_description": { @@ -2942,11 +2987,12 @@ "type_string": "mapping(address=\u003emapping(address=\u003euint256))" }, "overloaded_declarations": [], - "referenced_declaration": 4145, - "is_pure": false + "referenced_declaration": 4146, + "is_pure": false, + "text": "allowance" }, "base_expression": { - "id": 4276, + "id": 4277, "node_type": 16, "src": { "line": 2030, @@ -2954,7 +3000,7 @@ "start": 72815, "end": 72818, "length": 4, - "parent_index": 4274 + "parent_index": 4275 }, "name": "from", "type_description": { @@ -2962,8 +3008,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4276, - "is_pure": false + "referenced_declaration": 4277, + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -2981,7 +3028,7 @@ } }, "base_expression": { - "id": 4277, + "id": 4278, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2993,7 +3040,7 @@ "start": 72821, "end": 72830, "length": 10, - "parent_index": 4270 + "parent_index": 4271 }, "member_location": { "line": 2030, @@ -3001,10 +3048,10 @@ "start": 72825, "end": 72830, "length": 6, - "parent_index": 4277 + "parent_index": 4278 }, "expression": { - "id": 4278, + "id": 4279, "node_type": 16, "src": { "line": 2030, @@ -3012,7 +3059,7 @@ "start": 72821, "end": 72823, "length": 3, - "parent_index": 4277 + "parent_index": 4278 }, "name": "msg", "type_description": { @@ -3021,14 +3068,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -3047,7 +3096,7 @@ } }, { - "id": 4279, + "id": 4280, "node_type": 48, "src": { "line": 2032, @@ -3055,10 +3104,10 @@ "start": 72879, "end": 72959, "length": 81, - "parent_index": 4269 + "parent_index": 4270 }, "condition": { - "id": 4280, + "id": 4281, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3068,11 +3117,11 @@ "start": 72883, "end": 72910, "length": 28, - "parent_index": 4279 + "parent_index": 4280 }, "operator": 12, "left_expression": { - "id": 4281, + "id": 4282, "node_type": 16, "src": { "line": 2032, @@ -3080,7 +3129,7 @@ "start": 72883, "end": 72889, "length": 7, - "parent_index": 4280 + "parent_index": 4281 }, "name": "allowed", "type_description": { @@ -3088,11 +3137,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4270, - "is_pure": false + "referenced_declaration": 4271, + "is_pure": false, + "text": "allowed" }, "right_expression": { - "id": 4282, + "id": 4283, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3104,7 +3154,7 @@ "start": 72894, "end": 72910, "length": 17, - "parent_index": 4280 + "parent_index": 4281 }, "member_location": { "line": 2032, @@ -3112,10 +3162,10 @@ "start": 72908, "end": 72910, "length": 3, - "parent_index": 4282 + "parent_index": 4283 }, "expression": { - "id": 4283, + "id": 4284, "node_type": 16, "name": "type", "src": { @@ -3124,7 +3174,7 @@ "start": 72894, "end": 72906, "length": 13, - "parent_index": 4282 + "parent_index": 4283 }, "type_description": { "type_identifier": "", @@ -3136,7 +3186,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -3144,7 +3195,7 @@ } }, "body": { - "id": 4284, + "id": 4285, "node_type": 46, "kind": 0, "src": { @@ -3159,7 +3210,7 @@ } }, { - "id": 4285, + "id": 4286, "node_type": 27, "src": { "line": 2034, @@ -3167,10 +3218,10 @@ "start": 72970, "end": 72995, "length": 26, - "parent_index": 4269 + "parent_index": 4270 }, "expression": { - "id": 4286, + "id": 4287, "node_type": 27, "src": { "line": 2034, @@ -3178,11 +3229,11 @@ "start": 72970, "end": 72994, "length": 25, - "parent_index": 4285 + "parent_index": 4286 }, "operator": 14, "left_expression": { - "id": 4287, + "id": 4288, "node_type": 22, "src": { "line": 2034, @@ -3190,10 +3241,10 @@ "start": 72970, "end": 72984, "length": 15, - "parent_index": 4286 + "parent_index": 4287 }, "index_expression": { - "id": 4288, + "id": 4289, "node_type": 16, "src": { "line": 2034, @@ -3201,7 +3252,7 @@ "start": 72970, "end": 72978, "length": 9, - "parent_index": 4287 + "parent_index": 4288 }, "name": "balanceOf", "type_description": { @@ -3209,11 +3260,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4289, + "id": 4290, "node_type": 16, "src": { "line": 2034, @@ -3221,7 +3273,7 @@ "start": 72980, "end": 72983, "length": 4, - "parent_index": 4287 + "parent_index": 4288 }, "name": "from", "type_description": { @@ -3229,8 +3281,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4289, - "is_pure": false + "referenced_declaration": 4290, + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -3248,7 +3301,7 @@ } }, "right_expression": { - "id": 4290, + "id": 4291, "node_type": 16, "src": { "line": 2034, @@ -3256,7 +3309,7 @@ "start": 72989, "end": 72994, "length": 6, - "parent_index": 4286 + "parent_index": 4287 }, "name": "amount", "type_description": { @@ -3264,8 +3317,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4290, - "is_pure": false + "referenced_declaration": 4291, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -3275,10 +3329,11 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[from]-=amount;" }, { - "id": 4291, + "id": 4292, "node_type": 64, "src": { "line": 2042, @@ -3286,11 +3341,11 @@ "start": 73185, "end": 73216, "length": 32, - "parent_index": 4258 + "parent_index": 4259 }, "arguments": [ { - "id": 4292, + "id": 4293, "node_type": 16, "src": { "line": 2042, @@ -3298,7 +3353,7 @@ "start": 73199, "end": 73202, "length": 4, - "parent_index": 4291 + "parent_index": 4292 }, "name": "from", "type_description": { @@ -3306,11 +3361,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4292, - "is_pure": false + "referenced_declaration": 4293, + "is_pure": false, + "text": "from" }, { - "id": 4293, + "id": 4294, "node_type": 16, "src": { "line": 2042, @@ -3318,7 +3374,7 @@ "start": 73205, "end": 73206, "length": 2, - "parent_index": 4291 + "parent_index": 4292 }, "name": "to", "type_description": { @@ -3326,11 +3382,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4293, - "is_pure": false + "referenced_declaration": 4294, + "is_pure": false, + "text": "to" }, { - "id": 4294, + "id": 4295, "node_type": 16, "src": { "line": 2042, @@ -3338,7 +3395,7 @@ "start": 73209, "end": 73214, "length": 6, - "parent_index": 4291 + "parent_index": 4292 }, "name": "amount", "type_description": { @@ -3346,12 +3403,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4294, - "is_pure": false + "referenced_declaration": 4295, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4295, + "id": 4296, "node_type": 16, "src": { "line": 2042, @@ -3359,20 +3417,21 @@ "start": 73190, "end": 73197, "length": 8, - "parent_index": 4291 + "parent_index": 4292 }, "name": "Transfer", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" }, "overloaded_declarations": [], - "referenced_declaration": 4110, - "is_pure": false + "referenced_declaration": 4111, + "is_pure": false, + "text": "Transfer" } }, { - "id": 4296, + "id": 4297, "node_type": 47, "src": { "line": 2044, @@ -3380,11 +3439,11 @@ "start": 73227, "end": 73238, "length": 12, - "parent_index": 4258 + "parent_index": 4259 }, - "function_return_parameters": 4258, + "function_return_parameters": 4259, "expression": { - "id": 4297, + "id": 4298, "node_type": 17, "kind": 61, "value": "true", @@ -3395,7 +3454,7 @@ "start": 73234, "end": 73237, "length": 4, - "parent_index": 4296 + "parent_index": 4297 }, "type_description": { "type_identifier": "t_bool", @@ -3403,11 +3462,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { - "id": 4298, + "id": 4299, "node_type": 59, "kind": 0, "src": { @@ -3416,12 +3476,12 @@ "start": 73117, "end": 73174, "length": 58, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4299, + "id": 4300, "node_type": 27, "src": { "line": 2039, @@ -3429,10 +3489,10 @@ "start": 73141, "end": 73164, "length": 24, - "parent_index": 4298 + "parent_index": 4299 }, "expression": { - "id": 4300, + "id": 4301, "node_type": 27, "src": { "line": 2039, @@ -3440,11 +3500,11 @@ "start": 73141, "end": 73163, "length": 23, - "parent_index": 4299 + "parent_index": 4300 }, "operator": 13, "left_expression": { - "id": 4301, + "id": 4302, "node_type": 22, "src": { "line": 2039, @@ -3452,10 +3512,10 @@ "start": 73141, "end": 73153, "length": 13, - "parent_index": 4300 + "parent_index": 4301 }, "index_expression": { - "id": 4302, + "id": 4303, "node_type": 16, "src": { "line": 2039, @@ -3463,7 +3523,7 @@ "start": 73141, "end": 73149, "length": 9, - "parent_index": 4301 + "parent_index": 4302 }, "name": "balanceOf", "type_description": { @@ -3471,11 +3531,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4303, + "id": 4304, "node_type": 16, "src": { "line": 2039, @@ -3483,7 +3544,7 @@ "start": 73151, "end": 73152, "length": 2, - "parent_index": 4301 + "parent_index": 4302 }, "name": "to", "type_description": { @@ -3491,8 +3552,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4303, - "is_pure": false + "referenced_declaration": 4304, + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -3510,7 +3572,7 @@ } }, "right_expression": { - "id": 4304, + "id": 4305, "node_type": 16, "src": { "line": 2039, @@ -3518,7 +3580,7 @@ "start": 73158, "end": 73163, "length": 6, - "parent_index": 4300 + "parent_index": 4301 }, "name": "amount", "type_description": { @@ -3526,8 +3588,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4304, - "is_pure": false + "referenced_declaration": 4305, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -3537,7 +3600,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -3550,7 +3614,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4259, + "id": 4260, "node_type": 43, "src": { "line": 2026, @@ -3558,11 +3622,11 @@ "start": 72684, "end": 72739, "length": 56, - "parent_index": 4258 + "parent_index": 4259 }, "parameters": [ { - "id": 4260, + "id": 4261, "node_type": 44, "src": { "line": 2026, @@ -3570,12 +3634,12 @@ "start": 72684, "end": 72695, "length": 12, - "parent_index": 4259 + "parent_index": 4260 }, - "scope": 4258, + "scope": 4259, "name": "from", "type_name": { - "id": 4261, + "id": 4262, "node_type": 30, "src": { "line": 2026, @@ -3583,7 +3647,7 @@ "start": 72684, "end": 72690, "length": 7, - "parent_index": 4260 + "parent_index": 4261 }, "name": "address", "state_mutability": 4, @@ -3602,7 +3666,7 @@ } }, { - "id": 4262, + "id": 4263, "node_type": 44, "src": { "line": 2027, @@ -3610,12 +3674,12 @@ "start": 72706, "end": 72715, "length": 10, - "parent_index": 4259 + "parent_index": 4260 }, - "scope": 4258, + "scope": 4259, "name": "to", "type_name": { - "id": 4263, + "id": 4264, "node_type": 30, "src": { "line": 2027, @@ -3623,7 +3687,7 @@ "start": 72706, "end": 72712, "length": 7, - "parent_index": 4262 + "parent_index": 4263 }, "name": "address", "state_mutability": 4, @@ -3642,7 +3706,7 @@ } }, { - "id": 4264, + "id": 4265, "node_type": 44, "src": { "line": 2028, @@ -3650,12 +3714,12 @@ "start": 72726, "end": 72739, "length": 14, - "parent_index": 4259 + "parent_index": 4260 }, - "scope": 4258, + "scope": 4259, "name": "amount", "type_name": { - "id": 4265, + "id": 4266, "node_type": 30, "src": { "line": 2028, @@ -3663,7 +3727,7 @@ "start": 72726, "end": 72732, "length": 7, - "parent_index": 4264 + "parent_index": 4265 }, "name": "uint256", "referenced_declaration": 0, @@ -3697,7 +3761,7 @@ ] }, "return_parameters": { - "id": 4266, + "id": 4267, "node_type": 43, "src": { "line": 2029, @@ -3705,11 +3769,11 @@ "start": 72771, "end": 72774, "length": 4, - "parent_index": 4258 + "parent_index": 4259 }, "parameters": [ { - "id": 4267, + "id": 4268, "node_type": 44, "src": { "line": 2029, @@ -3717,12 +3781,12 @@ "start": 72771, "end": 72774, "length": 4, - "parent_index": 4266 + "parent_index": 4267 }, - "scope": 4258, + "scope": 4259, "name": "", "type_name": { - "id": 4268, + "id": 4269, "node_type": 30, "src": { "line": 2029, @@ -3730,7 +3794,7 @@ "start": 72771, "end": 72774, "length": 4, - "parent_index": 4267 + "parent_index": 4268 }, "name": "bool", "referenced_declaration": 0, @@ -3755,16 +3819,17 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", - "scope": 4108, + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualreturns(bool){uint256allowed=allowance[from][msg.sender];if(allowed!=type(uint256).max)allowance[from][msg.sender]=allowed-amount;balanceOf[from]-=amount;unchecked{balanceOf[to]+=amount;}emitTransfer(from,to,amount);returntrue;}" }, { - "id": 4306, + "id": 4307, "name": "permit", "node_type": 42, "kind": 41, @@ -3774,7 +3839,7 @@ "start": 73434, "end": 74916, "length": 1483, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2051, @@ -3782,10 +3847,10 @@ "start": 73443, "end": 73448, "length": 6, - "parent_index": 4306 + "parent_index": 4307 }, "body": { - "id": 4323, + "id": 4324, "node_type": 46, "kind": 0, "src": { @@ -3794,12 +3859,12 @@ "start": 73623, "end": 74916, "length": 1294, - "parent_index": 4306 + "parent_index": 4307 }, "implemented": true, "statements": [ { - "id": 4324, + "id": 4325, "node_type": 24, "kind": 24, "src": { @@ -3808,7 +3873,7 @@ "start": 73633, "end": 73695, "length": 63, - "parent_index": 4323 + "parent_index": 4324 }, "argument_types": [ { @@ -3822,7 +3887,7 @@ ], "arguments": [ { - "id": 4326, + "id": 4327, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3832,11 +3897,11 @@ "start": 73641, "end": 73667, "length": 27, - "parent_index": 4324 + "parent_index": 4325 }, "operator": 8, "left_expression": { - "id": 4327, + "id": 4328, "node_type": 16, "src": { "line": 2060, @@ -3844,7 +3909,7 @@ "start": 73641, "end": 73648, "length": 8, - "parent_index": 4326 + "parent_index": 4327 }, "name": "deadline", "type_description": { @@ -3852,11 +3917,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4327, - "is_pure": false + "referenced_declaration": 4328, + "is_pure": false, + "text": "deadline" }, "right_expression": { - "id": 4328, + "id": 4329, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3868,7 +3934,7 @@ "start": 73653, "end": 73667, "length": 15, - "parent_index": 4326 + "parent_index": 4327 }, "member_location": { "line": 2060, @@ -3876,10 +3942,10 @@ "start": 73659, "end": 73667, "length": 9, - "parent_index": 4328 + "parent_index": 4329 }, "expression": { - "id": 4329, + "id": 4330, "node_type": 16, "src": { "line": 2060, @@ -3887,7 +3953,7 @@ "start": 73653, "end": 73657, "length": 5, - "parent_index": 4328 + "parent_index": 4329 }, "name": "block", "type_description": { @@ -3896,14 +3962,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -3911,7 +3979,7 @@ } }, { - "id": 4330, + "id": 4331, "node_type": 17, "kind": 50, "value": "PERMIT_DEADLINE_EXPIRED", @@ -3922,7 +3990,7 @@ "start": 73670, "end": 73694, "length": 25, - "parent_index": 4324 + "parent_index": 4325 }, "type_description": { "type_identifier": "t_string_literal", @@ -3936,11 +4004,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"PERMIT_DEADLINE_EXPIRED\"" } ], "expression": { - "id": 4325, + "id": 4326, "node_type": 16, "src": { "line": 2060, @@ -3948,7 +4017,7 @@ "start": 73633, "end": 73639, "length": 7, - "parent_index": 4324 + "parent_index": 4325 }, "name": "require", "type_description": { @@ -3957,7 +4026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3965,7 +4035,7 @@ } }, { - "id": 4331, + "id": 4332, "node_type": 64, "src": { "line": 2094, @@ -3973,11 +4043,11 @@ "start": 74874, "end": 74910, "length": 37, - "parent_index": 4306 + "parent_index": 4307 }, "arguments": [ { - "id": 4332, + "id": 4333, "node_type": 16, "src": { "line": 2094, @@ -3985,7 +4055,7 @@ "start": 74888, "end": 74892, "length": 5, - "parent_index": 4331 + "parent_index": 4332 }, "name": "owner", "type_description": { @@ -3993,11 +4063,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4332, - "is_pure": false + "referenced_declaration": 4333, + "is_pure": false, + "text": "owner" }, { - "id": 4333, + "id": 4334, "node_type": 16, "src": { "line": 2094, @@ -4005,7 +4076,7 @@ "start": 74895, "end": 74901, "length": 7, - "parent_index": 4331 + "parent_index": 4332 }, "name": "spender", "type_description": { @@ -4013,11 +4084,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4333, - "is_pure": false + "referenced_declaration": 4334, + "is_pure": false, + "text": "spender" }, { - "id": 4334, + "id": 4335, "node_type": 16, "src": { "line": 2094, @@ -4025,7 +4097,7 @@ "start": 74904, "end": 74908, "length": 5, - "parent_index": 4331 + "parent_index": 4332 }, "name": "value", "type_description": { @@ -4033,12 +4105,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4334, - "is_pure": false + "referenced_declaration": 4335, + "is_pure": false, + "text": "value" } ], "expression": { - "id": 4335, + "id": 4336, "node_type": 16, "src": { "line": 2094, @@ -4046,20 +4119,21 @@ "start": 74879, "end": 74886, "length": 8, - "parent_index": 4331 + "parent_index": 4332 }, "name": "Approval", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Approval_\u00264119", + "type_identifier": "t_event\u0026_ERC20_Approval_\u00264120", "type_string": "event ERC20.Approval" }, "overloaded_declarations": [], - "referenced_declaration": 4119, - "is_pure": false + "referenced_declaration": 4120, + "is_pure": false, + "text": "Approval" } }, { - "id": 4336, + "id": 4337, "node_type": 59, "kind": 0, "src": { @@ -4068,12 +4142,12 @@ "start": 73837, "end": 74863, "length": 1027, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4337, + "id": 4338, "node_type": 44, "src": { "line": 2065, @@ -4081,25 +4155,25 @@ "start": 73861, "end": 74693, "length": 833, - "parent_index": 4336 + "parent_index": 4337 }, "assignments": [ - 4338 + 4339 ], "declarations": [ { - "id": 4338, + "id": 4339, "state_mutability": 1, "name": "recoveredAddress", "node_type": 44, - "scope": 4336, + "scope": 4337, "src": { "line": 2065, "column": 12, "start": 73861, "end": 73884, "length": 24, - "parent_index": 4337 + "parent_index": 4338 }, "name_location": { "line": 2065, @@ -4107,12 +4181,12 @@ "start": 73869, "end": 73884, "length": 16, - "parent_index": 4338 + "parent_index": 4339 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4339, + "id": 4340, "node_type": 30, "src": { "line": 2065, @@ -4120,7 +4194,7 @@ "start": 73861, "end": 73867, "length": 7, - "parent_index": 4338 + "parent_index": 4339 }, "name": "address", "state_mutability": 4, @@ -4134,7 +4208,7 @@ } ], "initial_value": { - "id": 4340, + "id": 4341, "node_type": 24, "kind": 24, "src": { @@ -4143,7 +4217,7 @@ "start": 73888, "end": 74692, "length": 805, - "parent_index": 4337 + "parent_index": 4338 }, "argument_types": [ { @@ -4165,7 +4239,7 @@ ], "arguments": [ { - "id": 4342, + "id": 4343, "node_type": 24, "kind": 24, "src": { @@ -4174,7 +4248,7 @@ "start": 73915, "end": 74621, "length": 707, - "parent_index": 4340 + "parent_index": 4341 }, "argument_types": [ { @@ -4184,7 +4258,7 @@ ], "arguments": [ { - "id": 4344, + "id": 4345, "node_type": 24, "kind": 24, "src": { @@ -4193,7 +4267,7 @@ "start": 73946, "end": 74603, "length": 658, - "parent_index": 4342 + "parent_index": 4343 }, "argument_types": [ { @@ -4211,7 +4285,7 @@ ], "arguments": [ { - "id": 4347, + "id": 4348, "node_type": 17, "kind": 50, "value": "\\x19\\x01", @@ -4222,7 +4296,7 @@ "start": 73988, "end": 73997, "length": 10, - "parent_index": 4344 + "parent_index": 4345 }, "type_description": { "type_identifier": "t_string_literal", @@ -4230,10 +4304,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\\x19\\x01\"" }, { - "id": 4348, + "id": 4349, "node_type": 24, "kind": 24, "src": { @@ -4242,12 +4317,12 @@ "start": 74024, "end": 74041, "length": 18, - "parent_index": 4344 + "parent_index": 4345 }, "argument_types": [], "arguments": [], "expression": { - "id": 4349, + "id": 4350, "node_type": 16, "src": { "line": 2069, @@ -4255,7 +4330,7 @@ "start": 74024, "end": 74039, "length": 16, - "parent_index": 4348 + "parent_index": 4349 }, "name": "DOMAIN_SEPARATOR", "type_description": { @@ -4264,7 +4339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "DOMAIN_SEPARATOR" }, "type_description": { "type_identifier": "t_function_$", @@ -4272,7 +4348,7 @@ } }, { - "id": 4350, + "id": 4351, "node_type": 24, "kind": 24, "src": { @@ -4281,7 +4357,7 @@ "start": 74068, "end": 74581, "length": 514, - "parent_index": 4344 + "parent_index": 4345 }, "argument_types": [ { @@ -4291,7 +4367,7 @@ ], "arguments": [ { - "id": 4352, + "id": 4353, "node_type": 24, "kind": 24, "src": { @@ -4300,7 +4376,7 @@ "start": 74107, "end": 74555, "length": 449, - "parent_index": 4350 + "parent_index": 4351 }, "argument_types": [ { @@ -4330,7 +4406,7 @@ ], "arguments": [ { - "id": 4355, + "id": 4356, "node_type": 24, "kind": 24, "src": { @@ -4339,7 +4415,7 @@ "start": 74151, "end": 74315, "length": 165, - "parent_index": 4352 + "parent_index": 4353 }, "argument_types": [ { @@ -4349,7 +4425,7 @@ ], "arguments": [ { - "id": 4357, + "id": 4358, "node_type": 17, "kind": 50, "value": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)", @@ -4360,7 +4436,7 @@ "start": 74198, "end": 74281, "length": 84, - "parent_index": 4355 + "parent_index": 4356 }, "type_description": { "type_identifier": "t_string_literal", @@ -4368,11 +4444,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"" } ], "expression": { - "id": 4356, + "id": 4357, "node_type": 16, "src": { "line": 2072, @@ -4380,7 +4457,7 @@ "start": 74151, "end": 74159, "length": 9, - "parent_index": 4355 + "parent_index": 4356 }, "name": "keccak256", "type_description": { @@ -4389,7 +4466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -4397,7 +4475,7 @@ } }, { - "id": 4358, + "id": 4359, "node_type": 16, "src": { "line": 2075, @@ -4405,7 +4483,7 @@ "start": 74350, "end": 74354, "length": 5, - "parent_index": 4352 + "parent_index": 4353 }, "name": "owner", "type_description": { @@ -4413,17 +4491,18 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4358, + "referenced_declaration": 4359, "is_pure": false, "argument_types": [ { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" } - ] + ], + "text": "owner" }, { - "id": 4359, + "id": 4360, "node_type": 16, "src": { "line": 2076, @@ -4431,7 +4510,7 @@ "start": 74389, "end": 74395, "length": 7, - "parent_index": 4352 + "parent_index": 4353 }, "name": "spender", "type_description": { @@ -4439,7 +4518,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4359, + "referenced_declaration": 4360, "is_pure": false, "argument_types": [ { @@ -4450,10 +4529,11 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { - "id": 4360, + "id": 4361, "node_type": 16, "src": { "line": 2077, @@ -4461,7 +4541,7 @@ "start": 74430, "end": 74434, "length": 5, - "parent_index": 4352 + "parent_index": 4353 }, "name": "value", "type_description": { @@ -4469,7 +4549,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4360, + "referenced_declaration": 4361, "is_pure": false, "argument_types": [ { @@ -4484,10 +4564,11 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { - "id": 4361, + "id": 4362, "node_type": 18, "kind": 105, "src": { @@ -4496,11 +4577,11 @@ "start": 74469, "end": 74483, "length": 15, - "parent_index": 4306 + "parent_index": 4307 }, "operator": 27, "expression": { - "id": 4362, + "id": 4363, "node_type": 22, "src": { "line": 2078, @@ -4508,10 +4589,10 @@ "start": 74469, "end": 74481, "length": 13, - "parent_index": 4361 + "parent_index": 4362 }, "index_expression": { - "id": 4363, + "id": 4364, "node_type": 16, "src": { "line": 2078, @@ -4519,7 +4600,7 @@ "start": 74469, "end": 74474, "length": 6, - "parent_index": 4362 + "parent_index": 4363 }, "name": "nonces", "type_description": { @@ -4527,11 +4608,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4159, - "is_pure": false + "referenced_declaration": 4160, + "is_pure": false, + "text": "nonces" }, "base_expression": { - "id": 4364, + "id": 4365, "node_type": 16, "src": { "line": 2078, @@ -4539,7 +4621,7 @@ "start": 74476, "end": 74480, "length": 5, - "parent_index": 4362 + "parent_index": 4363 }, "name": "owner", "type_description": { @@ -4547,8 +4629,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4364, - "is_pure": false + "referenced_declaration": 4365, + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -4576,7 +4659,7 @@ "l_value_requested": false }, { - "id": 4365, + "id": 4366, "node_type": 16, "src": { "line": 2079, @@ -4584,7 +4667,7 @@ "start": 74518, "end": 74525, "length": 8, - "parent_index": 4352 + "parent_index": 4353 }, "name": "deadline", "type_description": { @@ -4592,7 +4675,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4365, + "referenced_declaration": 4366, "is_pure": false, "argument_types": [ { @@ -4615,11 +4698,12 @@ "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" } - ] + ], + "text": "deadline" } ], "expression": { - "id": 4353, + "id": 4354, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4631,7 +4715,7 @@ "start": 74107, "end": 74116, "length": 10, - "parent_index": 4352 + "parent_index": 4353 }, "member_location": { "line": 2071, @@ -4639,10 +4723,10 @@ "start": 74111, "end": 74116, "length": 6, - "parent_index": 4353 + "parent_index": 4354 }, "expression": { - "id": 4354, + "id": 4355, "node_type": 16, "src": { "line": 2071, @@ -4650,7 +4734,7 @@ "start": 74107, "end": 74109, "length": 3, - "parent_index": 4353 + "parent_index": 4354 }, "name": "abi", "type_description": { @@ -4659,14 +4743,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -4675,7 +4761,7 @@ } ], "expression": { - "id": 4351, + "id": 4352, "node_type": 16, "src": { "line": 2070, @@ -4683,7 +4769,7 @@ "start": 74068, "end": 74076, "length": 9, - "parent_index": 4350 + "parent_index": 4351 }, "name": "keccak256", "type_description": { @@ -4692,7 +4778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -4701,7 +4788,7 @@ } ], "expression": { - "id": 4345, + "id": 4346, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4713,7 +4800,7 @@ "start": 73946, "end": 73961, "length": 16, - "parent_index": 4344 + "parent_index": 4345 }, "member_location": { "line": 2067, @@ -4721,10 +4808,10 @@ "start": 73950, "end": 73961, "length": 12, - "parent_index": 4345 + "parent_index": 4346 }, "expression": { - "id": 4346, + "id": 4347, "node_type": 16, "src": { "line": 2067, @@ -4732,7 +4819,7 @@ "start": 73946, "end": 73948, "length": 3, - "parent_index": 4345 + "parent_index": 4346 }, "name": "abi", "type_description": { @@ -4741,14 +4828,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -4757,7 +4846,7 @@ } ], "expression": { - "id": 4343, + "id": 4344, "node_type": 16, "src": { "line": 2066, @@ -4765,7 +4854,7 @@ "start": 73915, "end": 73923, "length": 9, - "parent_index": 4342 + "parent_index": 4343 }, "name": "keccak256", "type_description": { @@ -4774,7 +4863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -4782,7 +4872,7 @@ } }, { - "id": 4366, + "id": 4367, "node_type": 16, "src": { "line": 2084, @@ -4790,7 +4880,7 @@ "start": 74640, "end": 74640, "length": 1, - "parent_index": 4340 + "parent_index": 4341 }, "name": "v", "type_description": { @@ -4798,17 +4888,18 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 4366, + "referenced_declaration": 4367, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", "type_string": "function(function(string memory,function(),function(function(function(string memory),address,address,uint256,index[mapping(address=\u003euint256):address],uint256))))" } - ] + ], + "text": "v" }, { - "id": 4367, + "id": 4368, "node_type": 16, "src": { "line": 2085, @@ -4816,7 +4907,7 @@ "start": 74659, "end": 74659, "length": 1, - "parent_index": 4340 + "parent_index": 4341 }, "name": "r", "type_description": { @@ -4824,7 +4915,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4367, + "referenced_declaration": 4368, "is_pure": false, "argument_types": [ { @@ -4835,10 +4926,11 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { - "id": 4368, + "id": 4369, "node_type": 16, "src": { "line": 2086, @@ -4846,7 +4938,7 @@ "start": 74678, "end": 74678, "length": 1, - "parent_index": 4340 + "parent_index": 4341 }, "name": "s", "type_description": { @@ -4854,7 +4946,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4368, + "referenced_declaration": 4369, "is_pure": false, "argument_types": [ { @@ -4869,11 +4961,12 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { - "id": 4341, + "id": 4342, "node_type": 16, "src": { "line": 2065, @@ -4881,7 +4974,7 @@ "start": 73888, "end": 73896, "length": 9, - "parent_index": 4340 + "parent_index": 4341 }, "name": "ecrecover", "type_description": { @@ -4890,7 +4983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ecrecover" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -4899,7 +4993,7 @@ } }, { - "id": 4369, + "id": 4370, "node_type": 24, "kind": 24, "src": { @@ -4908,7 +5002,7 @@ "start": 74708, "end": 74793, "length": 86, - "parent_index": 4336 + "parent_index": 4337 }, "argument_types": [ { @@ -4922,7 +5016,7 @@ ], "arguments": [ { - "id": 4372, + "id": 4373, "node_type": 96, "src": { "line": 2089, @@ -4930,11 +5024,11 @@ "start": 74716, "end": 74774, "length": 59, - "parent_index": 4369 + "parent_index": 4370 }, "expressions": [ { - "id": 4373, + "id": 4374, "is_constant": false, "is_pure": false, "node_type": 19, @@ -4944,11 +5038,11 @@ "start": 74716, "end": 74745, "length": 30, - "parent_index": 4372 + "parent_index": 4373 }, "operator": 12, "left_expression": { - "id": 4374, + "id": 4375, "node_type": 16, "src": { "line": 2089, @@ -4956,7 +5050,7 @@ "start": 74716, "end": 74731, "length": 16, - "parent_index": 4373 + "parent_index": 4374 }, "name": "recoveredAddress", "type_description": { @@ -4964,11 +5058,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4337, - "is_pure": false + "referenced_declaration": 4338, + "is_pure": false, + "text": "recoveredAddress" }, "right_expression": { - "id": 4375, + "id": 4376, "node_type": 24, "kind": 24, "src": { @@ -4977,7 +5072,7 @@ "start": 74736, "end": 74745, "length": 10, - "parent_index": 4373 + "parent_index": 4374 }, "argument_types": [ { @@ -4987,7 +5082,7 @@ ], "arguments": [ { - "id": 4378, + "id": 4379, "node_type": 17, "kind": 49, "value": "0", @@ -4998,7 +5093,7 @@ "start": 74744, "end": 74744, "length": 1, - "parent_index": 4375 + "parent_index": 4376 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5006,11 +5101,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 4376, + "id": 4377, "node_type": 16, "src": { "line": 2089, @@ -5018,11 +5114,11 @@ "start": 74736, "end": 74742, "length": 7, - "parent_index": 4375 + "parent_index": 4376 }, "name": "address", "type_name": { - "id": 4377, + "id": 4378, "node_type": 30, "src": { "line": 2089, @@ -5030,7 +5126,7 @@ "start": 74736, "end": 74742, "length": 7, - "parent_index": 4376 + "parent_index": 4377 }, "name": "address", "state_mutability": 4, @@ -5052,7 +5148,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5065,7 +5162,7 @@ } }, { - "id": 4379, + "id": 4380, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5075,11 +5172,11 @@ "start": 74750, "end": 74774, "length": 25, - "parent_index": 4372 + "parent_index": 4373 }, "operator": 11, "left_expression": { - "id": 4380, + "id": 4381, "node_type": 16, "src": { "line": 2089, @@ -5087,7 +5184,7 @@ "start": 74750, "end": 74765, "length": 16, - "parent_index": 4379 + "parent_index": 4380 }, "name": "recoveredAddress", "type_description": { @@ -5095,11 +5192,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4337, - "is_pure": false + "referenced_declaration": 4338, + "is_pure": false, + "text": "recoveredAddress" }, "right_expression": { - "id": 4381, + "id": 4382, "node_type": 16, "src": { "line": 2089, @@ -5107,7 +5205,7 @@ "start": 74770, "end": 74774, "length": 5, - "parent_index": 4379 + "parent_index": 4380 }, "name": "owner", "type_description": { @@ -5115,8 +5213,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4381, - "is_pure": false + "referenced_declaration": 4382, + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -5136,7 +5235,7 @@ ] }, { - "id": 4382, + "id": 4383, "node_type": 17, "kind": 50, "value": "INVALID_SIGNER", @@ -5147,7 +5246,7 @@ "start": 74777, "end": 74792, "length": 16, - "parent_index": 4369 + "parent_index": 4370 }, "type_description": { "type_identifier": "t_string_literal", @@ -5161,11 +5260,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID_SIGNER\"" } ], "expression": { - "id": 4370, + "id": 4371, "node_type": 16, "src": { "line": 2089, @@ -5173,7 +5273,7 @@ "start": 74708, "end": 74714, "length": 7, - "parent_index": 4369 + "parent_index": 4370 }, "name": "require", "type_description": { @@ -5182,7 +5282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5190,7 +5291,7 @@ } }, { - "id": 4383, + "id": 4384, "node_type": 27, "src": { "line": 2091, @@ -5198,10 +5299,10 @@ "start": 74809, "end": 74853, "length": 45, - "parent_index": 4336 + "parent_index": 4337 }, "expression": { - "id": 4384, + "id": 4385, "node_type": 27, "src": { "line": 2091, @@ -5209,11 +5310,11 @@ "start": 74809, "end": 74852, "length": 44, - "parent_index": 4383 + "parent_index": 4384 }, "operator": 11, "left_expression": { - "id": 4385, + "id": 4386, "node_type": 22, "src": { "line": 2091, @@ -5221,10 +5322,10 @@ "start": 74809, "end": 74844, "length": 36, - "parent_index": 4384 + "parent_index": 4385 }, "index_expression": { - "id": 4386, + "id": 4387, "node_type": 22, "src": { "line": 2091, @@ -5232,10 +5333,10 @@ "start": 74809, "end": 74835, "length": 27, - "parent_index": 4385 + "parent_index": 4386 }, "index_expression": { - "id": 4387, + "id": 4388, "node_type": 16, "src": { "line": 2091, @@ -5243,7 +5344,7 @@ "start": 74809, "end": 74817, "length": 9, - "parent_index": 4386 + "parent_index": 4387 }, "name": "allowance", "type_description": { @@ -5251,11 +5352,12 @@ "type_string": "mapping(address=\u003emapping(address=\u003euint256))" }, "overloaded_declarations": [], - "referenced_declaration": 4145, - "is_pure": false + "referenced_declaration": 4146, + "is_pure": false, + "text": "allowance" }, "base_expression": { - "id": 4388, + "id": 4389, "node_type": 16, "src": { "line": 2091, @@ -5263,7 +5365,7 @@ "start": 74819, "end": 74834, "length": 16, - "parent_index": 4386 + "parent_index": 4387 }, "name": "recoveredAddress", "type_description": { @@ -5271,8 +5373,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4337, - "is_pure": false + "referenced_declaration": 4338, + "is_pure": false, + "text": "recoveredAddress" }, "type_descriptions": [ { @@ -5290,7 +5393,7 @@ } }, "base_expression": { - "id": 4389, + "id": 4390, "node_type": 16, "src": { "line": 2091, @@ -5298,7 +5401,7 @@ "start": 74837, "end": 74843, "length": 7, - "parent_index": 4385 + "parent_index": 4386 }, "name": "spender", "type_description": { @@ -5306,8 +5409,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4389, - "is_pure": false + "referenced_declaration": 4390, + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -5325,7 +5429,7 @@ } }, "right_expression": { - "id": 4390, + "id": 4391, "node_type": 16, "src": { "line": 2091, @@ -5333,7 +5437,7 @@ "start": 74848, "end": 74852, "length": 5, - "parent_index": 4384 + "parent_index": 4385 }, "name": "value", "type_description": { @@ -5341,8 +5445,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4390, - "is_pure": false + "referenced_declaration": 4391, + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -5352,7 +5457,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "allowance[recoveredAddress][spender]=value;" } ] } @@ -5365,7 +5471,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4307, + "id": 4308, "node_type": 43, "src": { "line": 2052, @@ -5373,11 +5479,11 @@ "start": 73459, "end": 73600, "length": 142, - "parent_index": 4306 + "parent_index": 4307 }, "parameters": [ { - "id": 4308, + "id": 4309, "node_type": 44, "src": { "line": 2052, @@ -5385,12 +5491,12 @@ "start": 73459, "end": 73471, "length": 13, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "owner", "type_name": { - "id": 4309, + "id": 4310, "node_type": 30, "src": { "line": 2052, @@ -5398,7 +5504,7 @@ "start": 73459, "end": 73465, "length": 7, - "parent_index": 4308 + "parent_index": 4309 }, "name": "address", "state_mutability": 4, @@ -5417,7 +5523,7 @@ } }, { - "id": 4310, + "id": 4311, "node_type": 44, "src": { "line": 2053, @@ -5425,12 +5531,12 @@ "start": 73482, "end": 73496, "length": 15, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "spender", "type_name": { - "id": 4311, + "id": 4312, "node_type": 30, "src": { "line": 2053, @@ -5438,7 +5544,7 @@ "start": 73482, "end": 73488, "length": 7, - "parent_index": 4310 + "parent_index": 4311 }, "name": "address", "state_mutability": 4, @@ -5457,7 +5563,7 @@ } }, { - "id": 4312, + "id": 4313, "node_type": 44, "src": { "line": 2054, @@ -5465,12 +5571,12 @@ "start": 73507, "end": 73519, "length": 13, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "value", "type_name": { - "id": 4313, + "id": 4314, "node_type": 30, "src": { "line": 2054, @@ -5478,7 +5584,7 @@ "start": 73507, "end": 73513, "length": 7, - "parent_index": 4312 + "parent_index": 4313 }, "name": "uint256", "referenced_declaration": 0, @@ -5496,7 +5602,7 @@ } }, { - "id": 4314, + "id": 4315, "node_type": 44, "src": { "line": 2055, @@ -5504,12 +5610,12 @@ "start": 73530, "end": 73545, "length": 16, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "deadline", "type_name": { - "id": 4315, + "id": 4316, "node_type": 30, "src": { "line": 2055, @@ -5517,7 +5623,7 @@ "start": 73530, "end": 73536, "length": 7, - "parent_index": 4314 + "parent_index": 4315 }, "name": "uint256", "referenced_declaration": 0, @@ -5535,7 +5641,7 @@ } }, { - "id": 4316, + "id": 4317, "node_type": 44, "src": { "line": 2056, @@ -5543,12 +5649,12 @@ "start": 73556, "end": 73562, "length": 7, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "v", "type_name": { - "id": 4317, + "id": 4318, "node_type": 30, "src": { "line": 2056, @@ -5556,7 +5662,7 @@ "start": 73556, "end": 73560, "length": 5, - "parent_index": 4316 + "parent_index": 4317 }, "name": "uint8", "referenced_declaration": 0, @@ -5574,7 +5680,7 @@ } }, { - "id": 4318, + "id": 4319, "node_type": 44, "src": { "line": 2057, @@ -5582,12 +5688,12 @@ "start": 73573, "end": 73581, "length": 9, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "r", "type_name": { - "id": 4319, + "id": 4320, "node_type": 30, "src": { "line": 2057, @@ -5595,7 +5701,7 @@ "start": 73573, "end": 73579, "length": 7, - "parent_index": 4318 + "parent_index": 4319 }, "name": "bytes32", "referenced_declaration": 0, @@ -5613,7 +5719,7 @@ } }, { - "id": 4320, + "id": 4321, "node_type": 44, "src": { "line": 2058, @@ -5621,12 +5727,12 @@ "start": 73592, "end": 73600, "length": 9, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "s", "type_name": { - "id": 4321, + "id": 4322, "node_type": 30, "src": { "line": 2058, @@ -5634,7 +5740,7 @@ "start": 73592, "end": 73598, "length": 7, - "parent_index": 4320 + "parent_index": 4321 }, "name": "bytes32", "referenced_declaration": 0, @@ -5684,7 +5790,7 @@ ] }, "return_parameters": { - "id": 4322, + "id": 4323, "node_type": 43, "src": { "line": 2051, @@ -5692,21 +5798,22 @@ "start": 73434, "end": 74916, "length": 1483, - "parent_index": 4306 + "parent_index": 4307 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", - "scope": 4108, + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)publicvirtual{require(deadline\u003e=block.timestamp,\"PERMIT_DEADLINE_EXPIRED\");unchecked{addressrecoveredAddress=ecrecover(keccak256(abi.encodePacked(\"\\x19\\x01\",DOMAIN_SEPARATOR(),keccak256(abi.encode(keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),owner,spender,value,nonces[owner]++,deadline)))),v,r,s);require(recoveredAddress!=address(0)\u0026\u0026recoveredAddress==owner,\"INVALID_SIGNER\");allowance[recoveredAddress][spender]=value;}emitApproval(owner,spender,value);}" }, { - "id": 4392, + "id": 4393, "name": "DOMAIN_SEPARATOR", "node_type": 42, "kind": 41, @@ -5716,7 +5823,7 @@ "start": 74923, "end": 75099, "length": 177, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2097, @@ -5724,10 +5831,10 @@ "start": 74932, "end": 74947, "length": 16, - "parent_index": 4392 + "parent_index": 4393 }, "body": { - "id": 4399, + "id": 4400, "node_type": 46, "kind": 0, "src": { @@ -5736,12 +5843,12 @@ "start": 74989, "end": 75099, "length": 111, - "parent_index": 4392 + "parent_index": 4393 }, "implemented": true, "statements": [ { - "id": 4400, + "id": 4401, "node_type": 47, "src": { "line": 2098, @@ -5749,11 +5856,11 @@ "start": 74999, "end": 75093, "length": 95, - "parent_index": 4392 + "parent_index": 4393 }, - "function_return_parameters": 4392, + "function_return_parameters": 4393, "expression": { - "id": 4402, + "id": 4403, "node_type": 97, "src": { "line": 2098, @@ -5761,11 +5868,11 @@ "start": 75006, "end": 75092, "length": 87, - "parent_index": 4400 + "parent_index": 4401 }, "expressions": [ { - "id": 4403, + "id": 4404, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5775,11 +5882,11 @@ "start": 75006, "end": 75038, "length": 33, - "parent_index": 4402 + "parent_index": 4403 }, "operator": 11, "left_expression": { - "id": 4404, + "id": 4405, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5791,7 +5898,7 @@ "start": 75006, "end": 75018, "length": 13, - "parent_index": 4403 + "parent_index": 4404 }, "member_location": { "line": 2098, @@ -5799,10 +5906,10 @@ "start": 75012, "end": 75018, "length": 7, - "parent_index": 4404 + "parent_index": 4405 }, "expression": { - "id": 4405, + "id": 4406, "node_type": 16, "src": { "line": 2098, @@ -5810,7 +5917,7 @@ "start": 75006, "end": 75010, "length": 5, - "parent_index": 4404 + "parent_index": 4405 }, "name": "block", "type_description": { @@ -5819,17 +5926,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "chainid", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.chainid" }, "right_expression": { - "id": 4406, + "id": 4407, "node_type": 16, "src": { "line": 2098, @@ -5837,7 +5946,7 @@ "start": 75023, "end": 75038, "length": 16, - "parent_index": 4403 + "parent_index": 4404 }, "name": "INITIAL_CHAIN_ID", "type_description": { @@ -5845,8 +5954,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4153, - "is_pure": false + "referenced_declaration": 4154, + "is_pure": false, + "text": "INITIAL_CHAIN_ID" }, "type_description": { "type_identifier": "t_bool", @@ -5854,7 +5964,7 @@ } }, { - "id": 4407, + "id": 4408, "node_type": 16, "src": { "line": 2098, @@ -5862,7 +5972,7 @@ "start": 75042, "end": 75065, "length": 24, - "parent_index": 4402 + "parent_index": 4403 }, "name": "INITIAL_DOMAIN_SEPARATOR", "type_description": { @@ -5870,11 +5980,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4156, - "is_pure": false + "referenced_declaration": 4157, + "is_pure": false, + "text": "INITIAL_DOMAIN_SEPARATOR" }, { - "id": 4408, + "id": 4409, "node_type": 24, "kind": 24, "src": { @@ -5883,12 +5994,12 @@ "start": 75069, "end": 75092, "length": 24, - "parent_index": 4402 + "parent_index": 4403 }, "argument_types": [], "arguments": [], "expression": { - "id": 4409, + "id": 4410, "node_type": 16, "src": { "line": 2098, @@ -5896,7 +6007,7 @@ "start": 75069, "end": 75090, "length": 22, - "parent_index": 4408 + "parent_index": 4409 }, "name": "computeDomainSeparator", "type_description": { @@ -5905,7 +6016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "computeDomainSeparator" }, "type_description": { "type_identifier": "t_function_$", @@ -5939,7 +6051,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4393, + "id": 4394, "node_type": 43, "src": { "line": 2097, @@ -5947,11 +6059,11 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4392 + "parent_index": 4393 }, "parameters": [ { - "id": 4394, + "id": 4395, "node_type": 44, "src": { "line": 2097, @@ -5959,12 +6071,12 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4393 + "parent_index": 4394 }, - "scope": 4392, + "scope": 4393, "name": "", "type_name": { - "id": 4395, + "id": 4396, "node_type": 30, "src": { "line": 2097, @@ -5972,7 +6084,7 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4394 + "parent_index": 4395 }, "name": "bytes32", "referenced_declaration": 0, @@ -5998,7 +6110,7 @@ ] }, "return_parameters": { - "id": 4396, + "id": 4397, "node_type": 43, "src": { "line": 2097, @@ -6006,11 +6118,11 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4392 + "parent_index": 4393 }, "parameters": [ { - "id": 4397, + "id": 4398, "node_type": 44, "src": { "line": 2097, @@ -6018,12 +6130,12 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4396 + "parent_index": 4397 }, - "scope": 4392, + "scope": 4393, "name": "", "type_name": { - "id": 4398, + "id": 4399, "node_type": 30, "src": { "line": 2097, @@ -6031,7 +6143,7 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4397 + "parent_index": 4398 }, "name": "bytes32", "referenced_declaration": 0, @@ -6058,14 +6170,15 @@ }, "signature_raw": "DOMAIN_SEPARATOR(bytes32)", "signature": "d075954a", - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()publicviewvirtualreturns(bytes32){returnblock.chainid==INITIAL_CHAIN_ID?INITIAL_DOMAIN_SEPARATOR:computeDomainSeparator();}" }, { - "id": 4411, + "id": 4412, "name": "computeDomainSeparator", "node_type": 42, "kind": 41, @@ -6075,7 +6188,7 @@ "start": 75106, "end": 75551, "length": 446, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2101, @@ -6083,10 +6196,10 @@ "start": 75115, "end": 75136, "length": 22, - "parent_index": 4411 + "parent_index": 4412 }, "body": { - "id": 4418, + "id": 4419, "node_type": 46, "kind": 0, "src": { @@ -6095,12 +6208,12 @@ "start": 75180, "end": 75551, "length": 372, - "parent_index": 4411 + "parent_index": 4412 }, "implemented": true, "statements": [ { - "id": 4419, + "id": 4420, "node_type": 47, "src": { "line": 2102, @@ -6108,11 +6221,11 @@ "start": 75190, "end": 75545, "length": 356, - "parent_index": 4411 + "parent_index": 4412 }, - "function_return_parameters": 4411, + "function_return_parameters": 4412, "expression": { - "id": 4420, + "id": 4421, "node_type": 24, "kind": 24, "src": { @@ -6121,7 +6234,7 @@ "start": 75209, "end": 75544, "length": 336, - "parent_index": 4419 + "parent_index": 4420 }, "argument_types": [ { @@ -6131,7 +6244,7 @@ ], "arguments": [ { - "id": 4422, + "id": 4423, "node_type": 24, "kind": 24, "src": { @@ -6140,7 +6253,7 @@ "start": 75236, "end": 75530, "length": 295, - "parent_index": 4420 + "parent_index": 4421 }, "argument_types": [ { @@ -6166,7 +6279,7 @@ ], "arguments": [ { - "id": 4425, + "id": 4426, "node_type": 24, "kind": 24, "src": { @@ -6175,7 +6288,7 @@ "start": 75268, "end": 75362, "length": 95, - "parent_index": 4422 + "parent_index": 4423 }, "argument_types": [ { @@ -6185,7 +6298,7 @@ ], "arguments": [ { - "id": 4427, + "id": 4428, "node_type": 17, "kind": 50, "value": "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)", @@ -6196,7 +6309,7 @@ "start": 75278, "end": 75361, "length": 84, - "parent_index": 4425 + "parent_index": 4426 }, "type_description": { "type_identifier": "t_string_literal", @@ -6204,11 +6317,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" } ], "expression": { - "id": 4426, + "id": 4427, "node_type": 16, "src": { "line": 2105, @@ -6216,7 +6330,7 @@ "start": 75268, "end": 75276, "length": 9, - "parent_index": 4425 + "parent_index": 4426 }, "name": "keccak256", "type_description": { @@ -6225,7 +6339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -6233,7 +6348,7 @@ } }, { - "id": 4428, + "id": 4429, "node_type": 24, "kind": 24, "src": { @@ -6242,7 +6357,7 @@ "start": 75385, "end": 75406, "length": 22, - "parent_index": 4422 + "parent_index": 4423 }, "argument_types": [ { @@ -6252,7 +6367,7 @@ ], "arguments": [ { - "id": 4430, + "id": 4431, "node_type": 24, "kind": 24, "src": { @@ -6261,7 +6376,7 @@ "start": 75395, "end": 75405, "length": 11, - "parent_index": 4428 + "parent_index": 4429 }, "argument_types": [ { @@ -6271,7 +6386,7 @@ ], "arguments": [ { - "id": 4433, + "id": 4434, "node_type": 16, "src": { "line": 2106, @@ -6279,7 +6394,7 @@ "start": 75401, "end": 75404, "length": 4, - "parent_index": 4430 + "parent_index": 4431 }, "name": "name", "type_description": { @@ -6288,11 +6403,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "name" } ], "expression": { - "id": 4431, + "id": 4432, "node_type": 16, "src": { "line": 2106, @@ -6300,11 +6416,11 @@ "start": 75395, "end": 75399, "length": 5, - "parent_index": 4430 + "parent_index": 4431 }, "name": "bytes", "type_name": { - "id": 4432, + "id": 4433, "node_type": 30, "src": { "line": 2106, @@ -6312,7 +6428,7 @@ "start": 75395, "end": 75399, "length": 5, - "parent_index": 4431 + "parent_index": 4432 }, "name": "bytes", "referenced_declaration": 0, @@ -6333,7 +6449,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6342,7 +6459,7 @@ } ], "expression": { - "id": 4429, + "id": 4430, "node_type": 16, "src": { "line": 2106, @@ -6350,7 +6467,7 @@ "start": 75385, "end": 75393, "length": 9, - "parent_index": 4428 + "parent_index": 4429 }, "name": "keccak256", "type_description": { @@ -6359,7 +6476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -6367,7 +6485,7 @@ } }, { - "id": 4434, + "id": 4435, "node_type": 24, "kind": 24, "src": { @@ -6376,7 +6494,7 @@ "start": 75429, "end": 75442, "length": 14, - "parent_index": 4422 + "parent_index": 4423 }, "argument_types": [ { @@ -6386,7 +6504,7 @@ ], "arguments": [ { - "id": 4436, + "id": 4437, "node_type": 17, "kind": 50, "value": "1", @@ -6397,7 +6515,7 @@ "start": 75439, "end": 75441, "length": 3, - "parent_index": 4434 + "parent_index": 4435 }, "type_description": { "type_identifier": "t_string_literal", @@ -6405,11 +6523,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"1\"" } ], "expression": { - "id": 4435, + "id": 4436, "node_type": 16, "src": { "line": 2107, @@ -6417,7 +6536,7 @@ "start": 75429, "end": 75437, "length": 9, - "parent_index": 4434 + "parent_index": 4435 }, "name": "keccak256", "type_description": { @@ -6426,7 +6545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -6434,7 +6554,7 @@ } }, { - "id": 4437, + "id": 4438, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6446,7 +6566,7 @@ "start": 75465, "end": 75477, "length": 13, - "parent_index": 4422 + "parent_index": 4423 }, "member_location": { "line": 2108, @@ -6454,10 +6574,10 @@ "start": 75471, "end": 75477, "length": 7, - "parent_index": 4437 + "parent_index": 4438 }, "expression": { - "id": 4438, + "id": 4439, "node_type": 16, "src": { "line": 2108, @@ -6465,7 +6585,7 @@ "start": 75465, "end": 75469, "length": 5, - "parent_index": 4437 + "parent_index": 4438 }, "name": "block", "type_description": { @@ -6474,7 +6594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "chainid", "argument_types": [ @@ -6494,10 +6615,11 @@ "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.chainid" }, { - "id": 4439, + "id": 4440, "node_type": 24, "kind": 24, "src": { @@ -6506,17 +6628,17 @@ "start": 75500, "end": 75512, "length": 13, - "parent_index": 4422 + "parent_index": 4423 }, "argument_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } ], "arguments": [ { - "id": 4442, + "id": 4443, "node_type": 16, "src": { "line": 2109, @@ -6524,20 +6646,21 @@ "start": 75508, "end": 75511, "length": 4, - "parent_index": 4439 + "parent_index": 4440 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 4440, + "id": 4441, "node_type": 16, "src": { "line": 2109, @@ -6545,11 +6668,11 @@ "start": 75500, "end": 75506, "length": 7, - "parent_index": 4439 + "parent_index": 4440 }, "name": "address", "type_name": { - "id": 4441, + "id": 4442, "node_type": 30, "src": { "line": 2109, @@ -6557,7 +6680,7 @@ "start": 75500, "end": 75506, "length": 7, - "parent_index": 4440 + "parent_index": 4441 }, "name": "address", "state_mutability": 4, @@ -6579,7 +6702,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6588,7 +6712,7 @@ } ], "expression": { - "id": 4423, + "id": 4424, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6600,7 +6724,7 @@ "start": 75236, "end": 75245, "length": 10, - "parent_index": 4422 + "parent_index": 4423 }, "member_location": { "line": 2104, @@ -6608,10 +6732,10 @@ "start": 75240, "end": 75245, "length": 6, - "parent_index": 4423 + "parent_index": 4424 }, "expression": { - "id": 4424, + "id": 4425, "node_type": 16, "src": { "line": 2104, @@ -6619,7 +6743,7 @@ "start": 75236, "end": 75238, "length": 3, - "parent_index": 4423 + "parent_index": 4424 }, "name": "abi", "type_description": { @@ -6628,14 +6752,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_magic_block$_t_function_$_t_address$", @@ -6644,7 +6770,7 @@ } ], "expression": { - "id": 4421, + "id": 4422, "node_type": 16, "src": { "line": 2103, @@ -6652,7 +6778,7 @@ "start": 75209, "end": 75217, "length": 9, - "parent_index": 4420 + "parent_index": 4421 }, "name": "keccak256", "type_description": { @@ -6661,7 +6787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_magic_block$_t_function_$_t_address$", @@ -6678,7 +6805,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4412, + "id": 4413, "node_type": 43, "src": { "line": 2101, @@ -6686,11 +6813,11 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4411 + "parent_index": 4412 }, "parameters": [ { - "id": 4413, + "id": 4414, "node_type": 44, "src": { "line": 2101, @@ -6698,12 +6825,12 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4412 + "parent_index": 4413 }, - "scope": 4411, + "scope": 4412, "name": "", "type_name": { - "id": 4414, + "id": 4415, "node_type": 30, "src": { "line": 2101, @@ -6711,7 +6838,7 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4413 + "parent_index": 4414 }, "name": "bytes32", "referenced_declaration": 0, @@ -6737,7 +6864,7 @@ ] }, "return_parameters": { - "id": 4415, + "id": 4416, "node_type": 43, "src": { "line": 2101, @@ -6745,11 +6872,11 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4411 + "parent_index": 4412 }, "parameters": [ { - "id": 4416, + "id": 4417, "node_type": 44, "src": { "line": 2101, @@ -6757,12 +6884,12 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4415 + "parent_index": 4416 }, - "scope": 4411, + "scope": 4412, "name": "", "type_name": { - "id": 4417, + "id": 4418, "node_type": 30, "src": { "line": 2101, @@ -6770,7 +6897,7 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4416 + "parent_index": 4417 }, "name": "bytes32", "referenced_declaration": 0, @@ -6797,14 +6924,15 @@ }, "signature_raw": "computeDomainSeparator(bytes32)", "signature": "11c9ac30", - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functioncomputeDomainSeparator()internalviewvirtualreturns(bytes32){returnkeccak256(abi.encode(keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),keccak256(bytes(name)),keccak256(\"1\"),block.chainid,address(this)));}" }, { - "id": 4444, + "id": 4445, "name": "_mint", "node_type": 42, "kind": 41, @@ -6814,7 +6942,7 @@ "start": 75746, "end": 76070, "length": 325, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2118, @@ -6822,10 +6950,10 @@ "start": 75755, "end": 75759, "length": 5, - "parent_index": 4444 + "parent_index": 4445 }, "body": { - "id": 4451, + "id": 4452, "node_type": 46, "kind": 0, "src": { @@ -6834,12 +6962,12 @@ "start": 75806, "end": 76070, "length": 265, - "parent_index": 4444 + "parent_index": 4445 }, "implemented": true, "statements": [ { - "id": 4452, + "id": 4453, "node_type": 27, "src": { "line": 2119, @@ -6847,10 +6975,10 @@ "start": 75816, "end": 75837, "length": 22, - "parent_index": 4451 + "parent_index": 4452 }, "expression": { - "id": 4453, + "id": 4454, "node_type": 27, "src": { "line": 2119, @@ -6858,11 +6986,11 @@ "start": 75816, "end": 75836, "length": 21, - "parent_index": 4452 + "parent_index": 4453 }, "operator": 13, "left_expression": { - "id": 4454, + "id": 4455, "node_type": 16, "src": { "line": 2119, @@ -6870,7 +6998,7 @@ "start": 75816, "end": 75826, "length": 11, - "parent_index": 4453 + "parent_index": 4454 }, "name": "totalSupply", "type_description": { @@ -6878,11 +7006,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4137, - "is_pure": false + "referenced_declaration": 4138, + "is_pure": false, + "text": "totalSupply" }, "right_expression": { - "id": 4455, + "id": 4456, "node_type": 16, "src": { "line": 2119, @@ -6890,7 +7019,7 @@ "start": 75831, "end": 75836, "length": 6, - "parent_index": 4453 + "parent_index": 4454 }, "name": "amount", "type_description": { @@ -6898,8 +7027,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4455, - "is_pure": false + "referenced_declaration": 4456, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -6909,10 +7039,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply+=amount;" }, { - "id": 4456, + "id": 4457, "node_type": 64, "src": { "line": 2127, @@ -6920,11 +7051,11 @@ "start": 76027, "end": 76064, "length": 38, - "parent_index": 4444 + "parent_index": 4445 }, "arguments": [ { - "id": 4457, + "id": 4458, "node_type": 24, "kind": 24, "src": { @@ -6933,7 +7064,7 @@ "start": 76041, "end": 76050, "length": 10, - "parent_index": 4456 + "parent_index": 4457 }, "argument_types": [ { @@ -6943,7 +7074,7 @@ ], "arguments": [ { - "id": 4460, + "id": 4461, "node_type": 17, "kind": 49, "value": "0", @@ -6954,7 +7085,7 @@ "start": 76049, "end": 76049, "length": 1, - "parent_index": 4457 + "parent_index": 4458 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -6962,11 +7093,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 4458, + "id": 4459, "node_type": 16, "src": { "line": 2127, @@ -6974,11 +7106,11 @@ "start": 76041, "end": 76047, "length": 7, - "parent_index": 4457 + "parent_index": 4458 }, "name": "address", "type_name": { - "id": 4459, + "id": 4460, "node_type": 30, "src": { "line": 2127, @@ -6986,7 +7118,7 @@ "start": 76041, "end": 76047, "length": 7, - "parent_index": 4458 + "parent_index": 4459 }, "name": "address", "state_mutability": 4, @@ -7008,7 +7140,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7016,7 +7149,7 @@ } }, { - "id": 4461, + "id": 4462, "node_type": 16, "src": { "line": 2127, @@ -7024,7 +7157,7 @@ "start": 76053, "end": 76054, "length": 2, - "parent_index": 4456 + "parent_index": 4457 }, "name": "to", "type_description": { @@ -7032,11 +7165,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4461, - "is_pure": false + "referenced_declaration": 4462, + "is_pure": false, + "text": "to" }, { - "id": 4462, + "id": 4463, "node_type": 16, "src": { "line": 2127, @@ -7044,7 +7178,7 @@ "start": 76057, "end": 76062, "length": 6, - "parent_index": 4456 + "parent_index": 4457 }, "name": "amount", "type_description": { @@ -7052,12 +7186,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4462, - "is_pure": false + "referenced_declaration": 4463, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4463, + "id": 4464, "node_type": 16, "src": { "line": 2127, @@ -7065,20 +7200,21 @@ "start": 76032, "end": 76039, "length": 8, - "parent_index": 4456 + "parent_index": 4457 }, "name": "Transfer", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" }, "overloaded_declarations": [], - "referenced_declaration": 4110, - "is_pure": false + "referenced_declaration": 4111, + "is_pure": false, + "text": "Transfer" } }, { - "id": 4464, + "id": 4465, "node_type": 59, "kind": 0, "src": { @@ -7087,12 +7223,12 @@ "start": 75959, "end": 76016, "length": 58, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4465, + "id": 4466, "node_type": 27, "src": { "line": 2124, @@ -7100,10 +7236,10 @@ "start": 75983, "end": 76006, "length": 24, - "parent_index": 4464 + "parent_index": 4465 }, "expression": { - "id": 4466, + "id": 4467, "node_type": 27, "src": { "line": 2124, @@ -7111,11 +7247,11 @@ "start": 75983, "end": 76005, "length": 23, - "parent_index": 4465 + "parent_index": 4466 }, "operator": 13, "left_expression": { - "id": 4467, + "id": 4468, "node_type": 22, "src": { "line": 2124, @@ -7123,10 +7259,10 @@ "start": 75983, "end": 75995, "length": 13, - "parent_index": 4466 + "parent_index": 4467 }, "index_expression": { - "id": 4468, + "id": 4469, "node_type": 16, "src": { "line": 2124, @@ -7134,7 +7270,7 @@ "start": 75983, "end": 75991, "length": 9, - "parent_index": 4467 + "parent_index": 4468 }, "name": "balanceOf", "type_description": { @@ -7142,11 +7278,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4469, + "id": 4470, "node_type": 16, "src": { "line": 2124, @@ -7154,7 +7291,7 @@ "start": 75993, "end": 75994, "length": 2, - "parent_index": 4467 + "parent_index": 4468 }, "name": "to", "type_description": { @@ -7162,8 +7299,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4469, - "is_pure": false + "referenced_declaration": 4470, + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -7181,7 +7319,7 @@ } }, "right_expression": { - "id": 4470, + "id": 4471, "node_type": 16, "src": { "line": 2124, @@ -7189,7 +7327,7 @@ "start": 76000, "end": 76005, "length": 6, - "parent_index": 4466 + "parent_index": 4467 }, "name": "amount", "type_description": { @@ -7197,8 +7335,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4470, - "is_pure": false + "referenced_declaration": 4471, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -7208,7 +7347,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -7221,7 +7361,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4445, + "id": 4446, "node_type": 43, "src": { "line": 2118, @@ -7229,11 +7369,11 @@ "start": 75761, "end": 75786, "length": 26, - "parent_index": 4444 + "parent_index": 4445 }, "parameters": [ { - "id": 4446, + "id": 4447, "node_type": 44, "src": { "line": 2118, @@ -7241,12 +7381,12 @@ "start": 75761, "end": 75770, "length": 10, - "parent_index": 4445 + "parent_index": 4446 }, - "scope": 4444, + "scope": 4445, "name": "to", "type_name": { - "id": 4447, + "id": 4448, "node_type": 30, "src": { "line": 2118, @@ -7254,7 +7394,7 @@ "start": 75761, "end": 75767, "length": 7, - "parent_index": 4446 + "parent_index": 4447 }, "name": "address", "state_mutability": 4, @@ -7273,7 +7413,7 @@ } }, { - "id": 4448, + "id": 4449, "node_type": 44, "src": { "line": 2118, @@ -7281,12 +7421,12 @@ "start": 75773, "end": 75786, "length": 14, - "parent_index": 4445 + "parent_index": 4446 }, - "scope": 4444, + "scope": 4445, "name": "amount", "type_name": { - "id": 4449, + "id": 4450, "node_type": 30, "src": { "line": 2118, @@ -7294,7 +7434,7 @@ "start": 75773, "end": 75779, "length": 7, - "parent_index": 4448 + "parent_index": 4449 }, "name": "uint256", "referenced_declaration": 0, @@ -7324,7 +7464,7 @@ ] }, "return_parameters": { - "id": 4450, + "id": 4451, "node_type": 43, "src": { "line": 2118, @@ -7332,21 +7472,22 @@ "start": 75746, "end": 76070, "length": 325, - "parent_index": 4444 + "parent_index": 4445 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", - "scope": 4108, + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256amount)internalvirtual{totalSupply+=amount;unchecked{balanceOf[to]+=amount;}emitTransfer(address(0),to,amount);}" }, { - "id": 4472, + "id": 4473, "name": "_burn", "node_type": 42, "kind": 41, @@ -7356,7 +7497,7 @@ "start": 76077, "end": 76404, "length": 328, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2130, @@ -7364,10 +7505,10 @@ "start": 76086, "end": 76090, "length": 5, - "parent_index": 4472 + "parent_index": 4473 }, "body": { - "id": 4479, + "id": 4480, "node_type": 46, "kind": 0, "src": { @@ -7376,12 +7517,12 @@ "start": 76139, "end": 76404, "length": 266, - "parent_index": 4472 + "parent_index": 4473 }, "implemented": true, "statements": [ { - "id": 4480, + "id": 4481, "node_type": 27, "src": { "line": 2131, @@ -7389,10 +7530,10 @@ "start": 76149, "end": 76174, "length": 26, - "parent_index": 4479 + "parent_index": 4480 }, "expression": { - "id": 4481, + "id": 4482, "node_type": 27, "src": { "line": 2131, @@ -7400,11 +7541,11 @@ "start": 76149, "end": 76173, "length": 25, - "parent_index": 4480 + "parent_index": 4481 }, "operator": 14, "left_expression": { - "id": 4482, + "id": 4483, "node_type": 22, "src": { "line": 2131, @@ -7412,10 +7553,10 @@ "start": 76149, "end": 76163, "length": 15, - "parent_index": 4481 + "parent_index": 4482 }, "index_expression": { - "id": 4483, + "id": 4484, "node_type": 16, "src": { "line": 2131, @@ -7423,7 +7564,7 @@ "start": 76149, "end": 76157, "length": 9, - "parent_index": 4482 + "parent_index": 4483 }, "name": "balanceOf", "type_description": { @@ -7431,11 +7572,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4484, + "id": 4485, "node_type": 16, "src": { "line": 2131, @@ -7443,7 +7585,7 @@ "start": 76159, "end": 76162, "length": 4, - "parent_index": 4482 + "parent_index": 4483 }, "name": "from", "type_description": { @@ -7451,8 +7593,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4484, - "is_pure": false + "referenced_declaration": 4485, + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -7470,7 +7613,7 @@ } }, "right_expression": { - "id": 4485, + "id": 4486, "node_type": 16, "src": { "line": 2131, @@ -7478,7 +7621,7 @@ "start": 76168, "end": 76173, "length": 6, - "parent_index": 4481 + "parent_index": 4482 }, "name": "amount", "type_description": { @@ -7486,8 +7629,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4485, - "is_pure": false + "referenced_declaration": 4486, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -7497,10 +7641,11 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[from]-=amount;" }, { - "id": 4486, + "id": 4487, "node_type": 64, "src": { "line": 2139, @@ -7508,11 +7653,11 @@ "start": 76359, "end": 76398, "length": 40, - "parent_index": 4472 + "parent_index": 4473 }, "arguments": [ { - "id": 4487, + "id": 4488, "node_type": 16, "src": { "line": 2139, @@ -7520,7 +7665,7 @@ "start": 76373, "end": 76376, "length": 4, - "parent_index": 4486 + "parent_index": 4487 }, "name": "from", "type_description": { @@ -7528,11 +7673,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4487, - "is_pure": false + "referenced_declaration": 4488, + "is_pure": false, + "text": "from" }, { - "id": 4488, + "id": 4489, "node_type": 24, "kind": 24, "src": { @@ -7541,7 +7687,7 @@ "start": 76379, "end": 76388, "length": 10, - "parent_index": 4486 + "parent_index": 4487 }, "argument_types": [ { @@ -7551,7 +7697,7 @@ ], "arguments": [ { - "id": 4491, + "id": 4492, "node_type": 17, "kind": 49, "value": "0", @@ -7562,7 +7708,7 @@ "start": 76387, "end": 76387, "length": 1, - "parent_index": 4488 + "parent_index": 4489 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7570,11 +7716,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 4489, + "id": 4490, "node_type": 16, "src": { "line": 2139, @@ -7582,11 +7729,11 @@ "start": 76379, "end": 76385, "length": 7, - "parent_index": 4488 + "parent_index": 4489 }, "name": "address", "type_name": { - "id": 4490, + "id": 4491, "node_type": 30, "src": { "line": 2139, @@ -7594,7 +7741,7 @@ "start": 76379, "end": 76385, "length": 7, - "parent_index": 4489 + "parent_index": 4490 }, "name": "address", "state_mutability": 4, @@ -7616,7 +7763,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7624,7 +7772,7 @@ } }, { - "id": 4492, + "id": 4493, "node_type": 16, "src": { "line": 2139, @@ -7632,7 +7780,7 @@ "start": 76391, "end": 76396, "length": 6, - "parent_index": 4486 + "parent_index": 4487 }, "name": "amount", "type_description": { @@ -7640,12 +7788,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4492, - "is_pure": false + "referenced_declaration": 4493, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4493, + "id": 4494, "node_type": 16, "src": { "line": 2139, @@ -7653,20 +7802,21 @@ "start": 76364, "end": 76371, "length": 8, - "parent_index": 4486 + "parent_index": 4487 }, "name": "Transfer", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" }, "overloaded_declarations": [], - "referenced_declaration": 4110, - "is_pure": false + "referenced_declaration": 4111, + "is_pure": false, + "text": "Transfer" } }, { - "id": 4494, + "id": 4495, "node_type": 59, "kind": 0, "src": { @@ -7675,12 +7825,12 @@ "start": 76293, "end": 76348, "length": 56, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4495, + "id": 4496, "node_type": 27, "src": { "line": 2136, @@ -7688,10 +7838,10 @@ "start": 76317, "end": 76338, "length": 22, - "parent_index": 4494 + "parent_index": 4495 }, "expression": { - "id": 4496, + "id": 4497, "node_type": 27, "src": { "line": 2136, @@ -7699,11 +7849,11 @@ "start": 76317, "end": 76337, "length": 21, - "parent_index": 4495 + "parent_index": 4496 }, "operator": 14, "left_expression": { - "id": 4497, + "id": 4498, "node_type": 16, "src": { "line": 2136, @@ -7711,7 +7861,7 @@ "start": 76317, "end": 76327, "length": 11, - "parent_index": 4496 + "parent_index": 4497 }, "name": "totalSupply", "type_description": { @@ -7719,11 +7869,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4137, - "is_pure": false + "referenced_declaration": 4138, + "is_pure": false, + "text": "totalSupply" }, "right_expression": { - "id": 4498, + "id": 4499, "node_type": 16, "src": { "line": 2136, @@ -7731,7 +7882,7 @@ "start": 76332, "end": 76337, "length": 6, - "parent_index": 4496 + "parent_index": 4497 }, "name": "amount", "type_description": { @@ -7739,8 +7890,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4498, - "is_pure": false + "referenced_declaration": 4499, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -7750,7 +7902,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply-=amount;" } ] } @@ -7763,7 +7916,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4473, + "id": 4474, "node_type": 43, "src": { "line": 2130, @@ -7771,11 +7924,11 @@ "start": 76092, "end": 76119, "length": 28, - "parent_index": 4472 + "parent_index": 4473 }, "parameters": [ { - "id": 4474, + "id": 4475, "node_type": 44, "src": { "line": 2130, @@ -7783,12 +7936,12 @@ "start": 76092, "end": 76103, "length": 12, - "parent_index": 4473 + "parent_index": 4474 }, - "scope": 4472, + "scope": 4473, "name": "from", "type_name": { - "id": 4475, + "id": 4476, "node_type": 30, "src": { "line": 2130, @@ -7796,7 +7949,7 @@ "start": 76092, "end": 76098, "length": 7, - "parent_index": 4474 + "parent_index": 4475 }, "name": "address", "state_mutability": 4, @@ -7815,7 +7968,7 @@ } }, { - "id": 4476, + "id": 4477, "node_type": 44, "src": { "line": 2130, @@ -7823,12 +7976,12 @@ "start": 76106, "end": 76119, "length": 14, - "parent_index": 4473 + "parent_index": 4474 }, - "scope": 4472, + "scope": 4473, "name": "amount", "type_name": { - "id": 4477, + "id": 4478, "node_type": 30, "src": { "line": 2130, @@ -7836,7 +7989,7 @@ "start": 76106, "end": 76112, "length": 7, - "parent_index": 4476 + "parent_index": 4477 }, "name": "uint256", "referenced_declaration": 0, @@ -7866,7 +8019,7 @@ ] }, "return_parameters": { - "id": 4478, + "id": 4479, "node_type": 43, "src": { "line": 2130, @@ -7874,22 +8027,23 @@ "start": 76077, "end": 76404, "length": 328, - "parent_index": 4472 + "parent_index": 4473 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", - "scope": 4108, + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressfrom,uint256amount)internalvirtual{balanceOf[from]-=amount;unchecked{totalSupply-=amount;}emitTransfer(from,address(0),amount);}" } ], "linearized_base_contracts": [ - 4108 + 4109 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IAccessControlUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IAccessControlUpgradeable.solgo.ast.json index ce6a0331..2e8dfda3 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IAccessControlUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IAccessControlUpgradeable.solgo.ast.json @@ -767,13 +767,14 @@ } ] }, - "signature_raw": "hasRole(bytes32, address)", - "signature": "86282e07", + "signature_raw": "hasRole(bytes32,address)", + "signature": "91d14854", "scope": 1584, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionhasRole(bytes32role,addressaccount)externalviewreturns(bool);" }, { "id": 1624, @@ -941,7 +942,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetRoleAdmin(bytes32role)externalviewreturns(bytes32);" }, { "id": 1633, @@ -1102,13 +1104,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "grantRole(bytes32, address)", - "signature": "44f0a842", + "signature_raw": "grantRole(bytes32,address)", + "signature": "2f2ff15d", "scope": 1584, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functiongrantRole(bytes32role,addressaccount)external;" }, { "id": 1642, @@ -1269,13 +1272,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "revokeRole(bytes32, address)", - "signature": "b3252796", + "signature_raw": "revokeRole(bytes32,address)", + "signature": "d547741f", "scope": 1584, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrevokeRole(bytes32role,addressaccount)external;" }, { "id": 1651, @@ -1436,13 +1440,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "renounceRole(bytes32, address)", - "signature": "e8365576", + "signature_raw": "renounceRole(bytes32,address)", + "signature": "36568abe", "scope": 1584, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrenounceRole(bytes32role,addressaccount)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IBeaconUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IBeaconUpgradeable.solgo.ast.json index 049445af..e1085bb1 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IBeaconUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IBeaconUpgradeable.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 2924, + "id": 2925, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 2924, + "id": 2925, "name": "IBeaconUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IBeaconUpgradeable.sol" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 2937, + "id": 2938, "node_type": 10, "src": { "line": 1325, @@ -22,7 +22,7 @@ "start": 47727, "end": 47749, "length": 23, - "parent_index": 2924 + "parent_index": 2925 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 2996, + "id": 2997, "name": "IBeaconUpgradeable", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 47832, "end": 48093, "length": 262, - "parent_index": 2924 + "parent_index": 2925 }, "name_location": { "line": 1330, @@ -55,14 +55,14 @@ "start": 47842, "end": 47859, "length": 18, - "parent_index": 2996 + "parent_index": 2997 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 2998, + "id": 2999, "name": "implementation", "node_type": 42, "kind": 41, @@ -72,7 +72,7 @@ "start": 48034, "end": 48091, "length": 58, - "parent_index": 2996 + "parent_index": 2997 }, "name_location": { "line": 1336, @@ -80,10 +80,10 @@ "start": 48043, "end": 48056, "length": 14, - "parent_index": 2998 + "parent_index": 2999 }, "body": { - "id": 3005, + "id": 3006, "node_type": 46, "kind": 0, "src": { @@ -92,7 +92,7 @@ "start": 48034, "end": 48091, "length": 58, - "parent_index": 2998 + "parent_index": 2999 }, "implemented": false, "statements": [] @@ -104,7 +104,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2999, + "id": 3000, "node_type": 43, "src": { "line": 1336, @@ -112,11 +112,11 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 2998 + "parent_index": 2999 }, "parameters": [ { - "id": 3000, + "id": 3001, "node_type": 44, "src": { "line": 1336, @@ -124,12 +124,12 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 2999 + "parent_index": 3000 }, - "scope": 2998, + "scope": 2999, "name": "", "type_name": { - "id": 3001, + "id": 3002, "node_type": 30, "src": { "line": 1336, @@ -137,7 +137,7 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 3000 + "parent_index": 3001 }, "name": "address", "state_mutability": 4, @@ -164,7 +164,7 @@ ] }, "return_parameters": { - "id": 3002, + "id": 3003, "node_type": 43, "src": { "line": 1336, @@ -172,11 +172,11 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 2998 + "parent_index": 2999 }, "parameters": [ { - "id": 3003, + "id": 3004, "node_type": 44, "src": { "line": 1336, @@ -184,12 +184,12 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 3002 + "parent_index": 3003 }, - "scope": 2998, + "scope": 2999, "name": "", "type_name": { - "id": 3004, + "id": 3005, "node_type": 30, "src": { "line": 1336, @@ -197,7 +197,7 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 3003 + "parent_index": 3004 }, "name": "address", "state_mutability": 4, @@ -225,15 +225,16 @@ }, "signature_raw": "implementation(address)", "signature": "6b880718", - "scope": 2996, + "scope": 2997, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalviewreturns(address);" } ], "linearized_base_contracts": [ - 2996 + 2997 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IERC165Upgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IERC165Upgradeable.solgo.ast.json index 02ce25e5..af6e4278 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IERC165Upgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IERC165Upgradeable.solgo.ast.json @@ -227,7 +227,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IERC1822ProxiableUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IERC1822ProxiableUpgradeable.solgo.ast.json index 3c13e7ac..b0a26147 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IERC1822ProxiableUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IERC1822ProxiableUpgradeable.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 2843, + "id": 2844, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 2843, + "id": 2844, "name": "IERC1822ProxiableUpgradeable", "absolute_path": "" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 2855, + "id": 2856, "node_type": 10, "src": { "line": 1303, @@ -22,7 +22,7 @@ "start": 46855, "end": 46877, "length": 23, - "parent_index": 2843 + "parent_index": 2844 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 2914, + "id": 2915, "name": "IERC1822ProxiableUpgradeable", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 47084, "end": 47630, "length": 547, - "parent_index": 2843 + "parent_index": 2844 }, "name_location": { "line": 1309, @@ -55,14 +55,14 @@ "start": 47094, "end": 47121, "length": 28, - "parent_index": 2914 + "parent_index": 2915 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 2916, + "id": 2917, "name": "proxiableUUID", "node_type": 42, "kind": 41, @@ -72,7 +72,7 @@ "start": 47572, "end": 47628, "length": 57, - "parent_index": 2914 + "parent_index": 2915 }, "name_location": { "line": 1318, @@ -80,10 +80,10 @@ "start": 47581, "end": 47593, "length": 13, - "parent_index": 2916 + "parent_index": 2917 }, "body": { - "id": 2923, + "id": 2924, "node_type": 46, "kind": 0, "src": { @@ -92,7 +92,7 @@ "start": 47572, "end": 47628, "length": 57, - "parent_index": 2916 + "parent_index": 2917 }, "implemented": false, "statements": [] @@ -104,7 +104,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2917, + "id": 2918, "node_type": 43, "src": { "line": 1318, @@ -112,11 +112,11 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2916 + "parent_index": 2917 }, "parameters": [ { - "id": 2918, + "id": 2919, "node_type": 44, "src": { "line": 1318, @@ -124,12 +124,12 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2917 + "parent_index": 2918 }, - "scope": 2916, + "scope": 2917, "name": "", "type_name": { - "id": 2919, + "id": 2920, "node_type": 30, "src": { "line": 1318, @@ -137,7 +137,7 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2918 + "parent_index": 2919 }, "name": "bytes32", "referenced_declaration": 0, @@ -163,7 +163,7 @@ ] }, "return_parameters": { - "id": 2920, + "id": 2921, "node_type": 43, "src": { "line": 1318, @@ -171,11 +171,11 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2916 + "parent_index": 2917 }, "parameters": [ { - "id": 2921, + "id": 2922, "node_type": 44, "src": { "line": 1318, @@ -183,12 +183,12 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2920 + "parent_index": 2921 }, - "scope": 2916, + "scope": 2917, "name": "", "type_name": { - "id": 2922, + "id": 2923, "node_type": 30, "src": { "line": 1318, @@ -196,7 +196,7 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2921 + "parent_index": 2922 }, "name": "bytes32", "referenced_declaration": 0, @@ -223,15 +223,16 @@ }, "signature_raw": "proxiableUUID(bytes32)", "signature": "e5f9ca4c", - "scope": 2914, + "scope": 2915, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionproxiableUUID()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ - 2914 + 2915 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IRootChainManager.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IRootChainManager.solgo.ast.json index f37b3535..515cf62f 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IRootChainManager.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IRootChainManager.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 7202, + "id": 7204, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 7202, + "id": 7204, "name": "IRootChainManager", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IRootChainManager.sol" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 7230, + "id": 7232, "node_type": 10, "src": { "line": 3146, @@ -22,7 +22,7 @@ "start": 117266, "end": 117289, "length": 24, - "parent_index": 7202 + "parent_index": 7204 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 7289, + "id": 7291, "name": "IRootChainManager", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 117292, "end": 117466, "length": 175, - "parent_index": 7202 + "parent_index": 7204 }, "name_location": { "line": 3148, @@ -55,14 +55,14 @@ "start": 117302, "end": 117318, "length": 17, - "parent_index": 7289 + "parent_index": 7291 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 7291, + "id": 7293, "name": "depositFor", "node_type": 42, "kind": 41, @@ -72,7 +72,7 @@ "start": 117326, "end": 117415, "length": 90, - "parent_index": 7289 + "parent_index": 7291 }, "name_location": { "line": 3149, @@ -80,10 +80,10 @@ "start": 117335, "end": 117344, "length": 10, - "parent_index": 7291 + "parent_index": 7293 }, "body": { - "id": 7300, + "id": 7302, "node_type": 46, "kind": 0, "src": { @@ -92,7 +92,7 @@ "start": 117326, "end": 117415, "length": 90, - "parent_index": 7291 + "parent_index": 7293 }, "implemented": false, "statements": [] @@ -104,7 +104,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7292, + "id": 7294, "node_type": 43, "src": { "line": 3149, @@ -112,11 +112,11 @@ "start": 117346, "end": 117404, "length": 59, - "parent_index": 7291 + "parent_index": 7293 }, "parameters": [ { - "id": 7293, + "id": 7295, "node_type": 44, "src": { "line": 3149, @@ -124,12 +124,12 @@ "start": 117346, "end": 117357, "length": 12, - "parent_index": 7292 + "parent_index": 7294 }, - "scope": 7291, + "scope": 7293, "name": "user", "type_name": { - "id": 7294, + "id": 7296, "node_type": 30, "src": { "line": 3149, @@ -137,7 +137,7 @@ "start": 117346, "end": 117352, "length": 7, - "parent_index": 7293 + "parent_index": 7295 }, "name": "address", "state_mutability": 4, @@ -156,7 +156,7 @@ } }, { - "id": 7295, + "id": 7297, "node_type": 44, "src": { "line": 3149, @@ -164,12 +164,12 @@ "start": 117360, "end": 117376, "length": 17, - "parent_index": 7292 + "parent_index": 7294 }, - "scope": 7291, + "scope": 7293, "name": "rootToken", "type_name": { - "id": 7296, + "id": 7298, "node_type": 30, "src": { "line": 3149, @@ -177,7 +177,7 @@ "start": 117360, "end": 117366, "length": 7, - "parent_index": 7295 + "parent_index": 7297 }, "name": "address", "state_mutability": 4, @@ -196,7 +196,7 @@ } }, { - "id": 7297, + "id": 7299, "node_type": 44, "src": { "line": 3149, @@ -204,12 +204,12 @@ "start": 117379, "end": 117404, "length": 26, - "parent_index": 7292 + "parent_index": 7294 }, - "scope": 7291, + "scope": 7293, "name": "depositData", "type_name": { - "id": 7298, + "id": 7300, "node_type": 30, "src": { "line": 3149, @@ -217,7 +217,7 @@ "start": 117379, "end": 117383, "length": 5, - "parent_index": 7297 + "parent_index": 7299 }, "name": "bytes", "referenced_declaration": 0, @@ -251,7 +251,7 @@ ] }, "return_parameters": { - "id": 7299, + "id": 7301, "node_type": 43, "src": { "line": 3149, @@ -259,21 +259,22 @@ "start": 117326, "end": 117415, "length": 90, - "parent_index": 7291 + "parent_index": 7293 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "depositFor(address, address, bytes)", - "signature": "03af4fae", - "scope": 7289, + "signature_raw": "depositFor(address,address,bytes)", + "signature": "e3dec8fb", + "scope": 7291, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_bytes$", "type_string": "function(address,address,bytes)" - } + }, + "text": "functiondepositFor(addressuser,addressrootToken,bytescalldatadepositData)external;" }, { - "id": 7302, + "id": 7304, "name": "exit", "node_type": 42, "kind": 41, @@ -283,7 +284,7 @@ "start": 117422, "end": 117464, "length": 43, - "parent_index": 7289 + "parent_index": 7291 }, "name_location": { "line": 3151, @@ -291,10 +292,10 @@ "start": 117431, "end": 117434, "length": 4, - "parent_index": 7302 + "parent_index": 7304 }, "body": { - "id": 7307, + "id": 7309, "node_type": 46, "kind": 0, "src": { @@ -303,7 +304,7 @@ "start": 117422, "end": 117464, "length": 43, - "parent_index": 7302 + "parent_index": 7304 }, "implemented": false, "statements": [] @@ -315,7 +316,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7303, + "id": 7305, "node_type": 43, "src": { "line": 3151, @@ -323,11 +324,11 @@ "start": 117436, "end": 117453, "length": 18, - "parent_index": 7302 + "parent_index": 7304 }, "parameters": [ { - "id": 7304, + "id": 7306, "node_type": 44, "src": { "line": 3151, @@ -335,12 +336,12 @@ "start": 117436, "end": 117453, "length": 18, - "parent_index": 7303 + "parent_index": 7305 }, - "scope": 7302, + "scope": 7304, "name": "_data", "type_name": { - "id": 7305, + "id": 7307, "node_type": 30, "src": { "line": 3151, @@ -348,7 +349,7 @@ "start": 117436, "end": 117440, "length": 5, - "parent_index": 7304 + "parent_index": 7306 }, "name": "bytes", "referenced_declaration": 0, @@ -374,7 +375,7 @@ ] }, "return_parameters": { - "id": 7306, + "id": 7308, "node_type": 43, "src": { "line": 3151, @@ -382,22 +383,23 @@ "start": 117422, "end": 117464, "length": 43, - "parent_index": 7302 + "parent_index": 7304 }, "parameters": [], "parameter_types": [] }, "signature_raw": "exit(bytes)", "signature": "3805550f", - "scope": 7289, + "scope": 7291, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionexit(bytesmemory_data)external;" } ], "linearized_base_contracts": [ - 7289 + 7291 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IWormhole.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IWormhole.solgo.ast.json index 6ac3a16e..684466a9 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IWormhole.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IWormhole.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 7308, + "id": 7310, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 7308, + "id": 7310, "name": "IWormhole", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IWormhole.sol" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 7337, + "id": 7339, "node_type": 10, "src": { "line": 3156, @@ -22,7 +22,7 @@ "start": 117507, "end": 117530, "length": 24, - "parent_index": 7308 + "parent_index": 7310 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 7396, + "id": 7398, "name": "IWormhole", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 117533, "end": 118378, "length": 846, - "parent_index": 7308 + "parent_index": 7310 }, "name_location": { "line": 3158, @@ -55,14 +55,14 @@ "start": 117543, "end": 117551, "length": 9, - "parent_index": 7396 + "parent_index": 7398 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 7398, + "id": 7400, "node_type": 67, "src": { "line": 3159, @@ -70,7 +70,7 @@ "start": 117559, "end": 117666, "length": 108, - "parent_index": 7308 + "parent_index": 7310 }, "name": "Signature", "name_location": { @@ -79,16 +79,16 @@ "start": 117566, "end": 117574, "length": 9, - "parent_index": 7398 + "parent_index": 7400 }, "canonical_name": "IWormhole.Signature", "type_description": { - "type_identifier": "t_struct$_IWormhole_Signature_$7398", + "type_identifier": "t_struct$_IWormhole_Signature_$7400", "type_string": "struct IWormhole.Signature" }, "members": [ { - "id": 7399, + "id": 7401, "node_type": 44, "src": { "line": 3160, @@ -96,12 +96,12 @@ "start": 117586, "end": 117595, "length": 10, - "parent_index": 7398 + "parent_index": 7400 }, - "scope": 7396, + "scope": 7398, "name": "r", "type_name": { - "id": 7400, + "id": 7402, "node_type": 30, "src": { "line": 3160, @@ -109,7 +109,7 @@ "start": 117586, "end": 117592, "length": 7, - "parent_index": 7399 + "parent_index": 7401 }, "name": "bytes32", "referenced_declaration": 0, @@ -126,7 +126,7 @@ } }, { - "id": 7401, + "id": 7403, "node_type": 44, "src": { "line": 3161, @@ -134,12 +134,12 @@ "start": 117605, "end": 117614, "length": 10, - "parent_index": 7398 + "parent_index": 7400 }, - "scope": 7396, + "scope": 7398, "name": "s", "type_name": { - "id": 7402, + "id": 7404, "node_type": 30, "src": { "line": 3161, @@ -147,7 +147,7 @@ "start": 117605, "end": 117611, "length": 7, - "parent_index": 7401 + "parent_index": 7403 }, "name": "bytes32", "referenced_declaration": 0, @@ -164,7 +164,7 @@ } }, { - "id": 7403, + "id": 7405, "node_type": 44, "src": { "line": 3162, @@ -172,12 +172,12 @@ "start": 117624, "end": 117631, "length": 8, - "parent_index": 7398 + "parent_index": 7400 }, - "scope": 7396, + "scope": 7398, "name": "v", "type_name": { - "id": 7404, + "id": 7406, "node_type": 30, "src": { "line": 3162, @@ -185,7 +185,7 @@ "start": 117624, "end": 117628, "length": 5, - "parent_index": 7403 + "parent_index": 7405 }, "name": "uint8", "referenced_declaration": 0, @@ -202,7 +202,7 @@ } }, { - "id": 7405, + "id": 7407, "node_type": 44, "src": { "line": 3163, @@ -210,12 +210,12 @@ "start": 117641, "end": 117660, "length": 20, - "parent_index": 7398 + "parent_index": 7400 }, - "scope": 7396, + "scope": 7398, "name": "guardianIndex", "type_name": { - "id": 7406, + "id": 7408, "node_type": 30, "src": { "line": 3163, @@ -223,7 +223,7 @@ "start": 117641, "end": 117645, "length": 5, - "parent_index": 7405 + "parent_index": 7407 }, "name": "uint8", "referenced_declaration": 0, @@ -244,7 +244,7 @@ "storage_location": 1 }, { - "id": 7408, + "id": 7410, "node_type": 67, "src": { "line": 3166, @@ -252,7 +252,7 @@ "start": 117673, "end": 117990, "length": 318, - "parent_index": 7308 + "parent_index": 7310 }, "name": "VM", "name_location": { @@ -261,16 +261,16 @@ "start": 117680, "end": 117681, "length": 2, - "parent_index": 7408 + "parent_index": 7410 }, "canonical_name": "IWormhole.VM", "type_description": { - "type_identifier": "t_struct$_IWormhole_VM_$7408", + "type_identifier": "t_struct$_IWormhole_VM_$7410", "type_string": "struct IWormhole.VM" }, "members": [ { - "id": 7409, + "id": 7411, "node_type": 44, "src": { "line": 3167, @@ -278,12 +278,12 @@ "start": 117693, "end": 117706, "length": 14, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "version", "type_name": { - "id": 7410, + "id": 7412, "node_type": 30, "src": { "line": 3167, @@ -291,7 +291,7 @@ "start": 117693, "end": 117697, "length": 5, - "parent_index": 7409 + "parent_index": 7411 }, "name": "uint8", "referenced_declaration": 0, @@ -308,7 +308,7 @@ } }, { - "id": 7411, + "id": 7413, "node_type": 44, "src": { "line": 3168, @@ -316,12 +316,12 @@ "start": 117716, "end": 117732, "length": 17, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "timestamp", "type_name": { - "id": 7412, + "id": 7414, "node_type": 30, "src": { "line": 3168, @@ -329,7 +329,7 @@ "start": 117716, "end": 117721, "length": 6, - "parent_index": 7411 + "parent_index": 7413 }, "name": "uint32", "referenced_declaration": 0, @@ -346,7 +346,7 @@ } }, { - "id": 7413, + "id": 7415, "node_type": 44, "src": { "line": 3169, @@ -354,12 +354,12 @@ "start": 117742, "end": 117754, "length": 13, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "nonce", "type_name": { - "id": 7414, + "id": 7416, "node_type": 30, "src": { "line": 3169, @@ -367,7 +367,7 @@ "start": 117742, "end": 117747, "length": 6, - "parent_index": 7413 + "parent_index": 7415 }, "name": "uint32", "referenced_declaration": 0, @@ -384,7 +384,7 @@ } }, { - "id": 7415, + "id": 7417, "node_type": 44, "src": { "line": 3170, @@ -392,12 +392,12 @@ "start": 117764, "end": 117785, "length": 22, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "emitterChainId", "type_name": { - "id": 7416, + "id": 7418, "node_type": 30, "src": { "line": 3170, @@ -405,7 +405,7 @@ "start": 117764, "end": 117769, "length": 6, - "parent_index": 7415 + "parent_index": 7417 }, "name": "uint16", "referenced_declaration": 0, @@ -422,7 +422,7 @@ } }, { - "id": 7417, + "id": 7419, "node_type": 44, "src": { "line": 3171, @@ -430,12 +430,12 @@ "start": 117795, "end": 117817, "length": 23, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "emitterAddress", "type_name": { - "id": 7418, + "id": 7420, "node_type": 30, "src": { "line": 3171, @@ -443,7 +443,7 @@ "start": 117795, "end": 117801, "length": 7, - "parent_index": 7417 + "parent_index": 7419 }, "name": "bytes32", "referenced_declaration": 0, @@ -460,7 +460,7 @@ } }, { - "id": 7419, + "id": 7421, "node_type": 44, "src": { "line": 3172, @@ -468,12 +468,12 @@ "start": 117827, "end": 117842, "length": 16, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "sequence", "type_name": { - "id": 7420, + "id": 7422, "node_type": 30, "src": { "line": 3172, @@ -481,7 +481,7 @@ "start": 117827, "end": 117832, "length": 6, - "parent_index": 7419 + "parent_index": 7421 }, "name": "uint64", "referenced_declaration": 0, @@ -498,7 +498,7 @@ } }, { - "id": 7421, + "id": 7423, "node_type": 44, "src": { "line": 3173, @@ -506,12 +506,12 @@ "start": 117852, "end": 117874, "length": 23, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "consistencyLevel", "type_name": { - "id": 7422, + "id": 7424, "node_type": 30, "src": { "line": 3173, @@ -519,7 +519,7 @@ "start": 117852, "end": 117856, "length": 5, - "parent_index": 7421 + "parent_index": 7423 }, "name": "uint8", "referenced_declaration": 0, @@ -536,7 +536,7 @@ } }, { - "id": 7423, + "id": 7425, "node_type": 44, "src": { "line": 3174, @@ -544,12 +544,12 @@ "start": 117884, "end": 117897, "length": 14, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "payload", "type_name": { - "id": 7424, + "id": 7426, "node_type": 30, "src": { "line": 3174, @@ -557,7 +557,7 @@ "start": 117884, "end": 117888, "length": 5, - "parent_index": 7423 + "parent_index": 7425 }, "name": "bytes", "referenced_declaration": 0, @@ -574,7 +574,7 @@ } }, { - "id": 7425, + "id": 7427, "node_type": 44, "src": { "line": 3175, @@ -582,12 +582,12 @@ "start": 117907, "end": 117930, "length": 24, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "guardianSetIndex", "type_name": { - "id": 7426, + "id": 7428, "node_type": 30, "src": { "line": 3175, @@ -595,7 +595,7 @@ "start": 117907, "end": 117912, "length": 6, - "parent_index": 7425 + "parent_index": 7427 }, "name": "uint32", "referenced_declaration": 0, @@ -612,7 +612,7 @@ } }, { - "id": 7427, + "id": 7429, "node_type": 44, "src": { "line": 3176, @@ -620,12 +620,12 @@ "start": 117940, "end": 117962, "length": 23, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "signatures", "type_name": { - "id": 7428, + "id": 7430, "node_type": 69, "src": { "line": 3176, @@ -633,38 +633,38 @@ "start": 117940, "end": 117948, "length": 9, - "parent_index": 7427 + "parent_index": 7429 }, "name": "Signature", "path_node": { - "id": 7429, + "id": 7431, "name": "Signature", "node_type": 52, - "referenced_declaration": 7398, + "referenced_declaration": 7400, "src": { "line": 3176, "column": 8, "start": 117940, "end": 117948, "length": 9, - "parent_index": 7428 + "parent_index": 7430 } }, - "referenced_declaration": 7398, + "referenced_declaration": 7400, "type_description": { - "type_identifier": "t_struct$_IWormhole_Signature_$7398", + "type_identifier": "t_struct$_IWormhole_Signature_$7400", "type_string": "struct IWormhole.Signature" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_IWormhole_Signature_$7398", + "type_identifier": "t_struct$_IWormhole_Signature_$7400", "type_string": "struct IWormhole.Signature" } }, { - "id": 7430, + "id": 7432, "node_type": 44, "src": { "line": 3177, @@ -672,12 +672,12 @@ "start": 117972, "end": 117984, "length": 13, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "hash", "type_name": { - "id": 7431, + "id": 7433, "node_type": 30, "src": { "line": 3177, @@ -685,7 +685,7 @@ "start": 117972, "end": 117978, "length": 7, - "parent_index": 7430 + "parent_index": 7432 }, "name": "bytes32", "referenced_declaration": 0, @@ -706,7 +706,7 @@ "storage_location": 1 }, { - "id": 7433, + "id": 7435, "name": "publishMessage", "node_type": 42, "kind": 41, @@ -716,7 +716,7 @@ "start": 117997, "end": 118147, "length": 151, - "parent_index": 7396 + "parent_index": 7398 }, "name_location": { "line": 3180, @@ -724,10 +724,10 @@ "start": 118006, "end": 118019, "length": 14, - "parent_index": 7433 + "parent_index": 7435 }, "body": { - "id": 7444, + "id": 7446, "node_type": 46, "kind": 0, "src": { @@ -736,7 +736,7 @@ "start": 117997, "end": 118147, "length": 151, - "parent_index": 7433 + "parent_index": 7435 }, "implemented": false, "statements": [] @@ -748,7 +748,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7434, + "id": 7436, "node_type": 43, "src": { "line": 3180, @@ -756,11 +756,11 @@ "start": 118021, "end": 118078, "length": 58, - "parent_index": 7433 + "parent_index": 7435 }, "parameters": [ { - "id": 7435, + "id": 7437, "node_type": 44, "src": { "line": 3180, @@ -768,12 +768,12 @@ "start": 118021, "end": 118032, "length": 12, - "parent_index": 7434 + "parent_index": 7436 }, - "scope": 7433, + "scope": 7435, "name": "nonce", "type_name": { - "id": 7436, + "id": 7438, "node_type": 30, "src": { "line": 3180, @@ -781,7 +781,7 @@ "start": 118021, "end": 118026, "length": 6, - "parent_index": 7435 + "parent_index": 7437 }, "name": "uint32", "referenced_declaration": 0, @@ -799,7 +799,7 @@ } }, { - "id": 7437, + "id": 7439, "node_type": 44, "src": { "line": 3180, @@ -807,12 +807,12 @@ "start": 118035, "end": 118054, "length": 20, - "parent_index": 7434 + "parent_index": 7436 }, - "scope": 7433, + "scope": 7435, "name": "payload", "type_name": { - "id": 7438, + "id": 7440, "node_type": 30, "src": { "line": 3180, @@ -820,7 +820,7 @@ "start": 118035, "end": 118039, "length": 5, - "parent_index": 7437 + "parent_index": 7439 }, "name": "bytes", "referenced_declaration": 0, @@ -838,7 +838,7 @@ } }, { - "id": 7439, + "id": 7441, "node_type": 44, "src": { "line": 3180, @@ -846,12 +846,12 @@ "start": 118057, "end": 118078, "length": 22, - "parent_index": 7434 + "parent_index": 7436 }, - "scope": 7433, + "scope": 7435, "name": "consistencyLevel", "type_name": { - "id": 7440, + "id": 7442, "node_type": 30, "src": { "line": 3180, @@ -859,7 +859,7 @@ "start": 118057, "end": 118061, "length": 5, - "parent_index": 7439 + "parent_index": 7441 }, "name": "uint8", "referenced_declaration": 0, @@ -893,7 +893,7 @@ ] }, "return_parameters": { - "id": 7441, + "id": 7443, "node_type": 43, "src": { "line": 3183, @@ -901,11 +901,11 @@ "start": 118131, "end": 118145, "length": 15, - "parent_index": 7433 + "parent_index": 7435 }, "parameters": [ { - "id": 7442, + "id": 7444, "node_type": 44, "src": { "line": 3183, @@ -913,12 +913,12 @@ "start": 118131, "end": 118145, "length": 15, - "parent_index": 7441 + "parent_index": 7443 }, - "scope": 7433, + "scope": 7435, "name": "sequence", "type_name": { - "id": 7443, + "id": 7445, "node_type": 30, "src": { "line": 3183, @@ -926,7 +926,7 @@ "start": 118131, "end": 118136, "length": 6, - "parent_index": 7442 + "parent_index": 7444 }, "name": "uint64", "referenced_declaration": 0, @@ -951,16 +951,17 @@ } ] }, - "signature_raw": "publishMessage(uint32, bytes, uint8)", - "signature": "bf991263", - "scope": 7396, + "signature_raw": "publishMessage(uint32,bytes,uint8)", + "signature": "b19a437e", + "scope": 7398, "type_description": { "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", "type_string": "function(uint32,bytes,uint8)" - } + }, + "text": "functionpublishMessage(uint32nonce,bytesmemorypayload,uint8consistencyLevel)externalpayablereturns(uint64sequence);" }, { - "id": 7446, + "id": 7448, "name": "parseAndVerifyVM", "node_type": 42, "kind": 41, @@ -970,7 +971,7 @@ "start": 118154, "end": 118300, "length": 147, - "parent_index": 7396 + "parent_index": 7398 }, "name_location": { "line": 3185, @@ -978,10 +979,10 @@ "start": 118163, "end": 118178, "length": 16, - "parent_index": 7446 + "parent_index": 7448 }, "body": { - "id": 7458, + "id": 7460, "node_type": 46, "kind": 0, "src": { @@ -990,7 +991,7 @@ "start": 118154, "end": 118300, "length": 147, - "parent_index": 7446 + "parent_index": 7448 }, "implemented": false, "statements": [] @@ -1002,7 +1003,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7447, + "id": 7449, "node_type": 43, "src": { "line": 3185, @@ -1010,11 +1011,11 @@ "start": 118180, "end": 118203, "length": 24, - "parent_index": 7446 + "parent_index": 7448 }, "parameters": [ { - "id": 7448, + "id": 7450, "node_type": 44, "src": { "line": 3185, @@ -1022,12 +1023,12 @@ "start": 118180, "end": 118203, "length": 24, - "parent_index": 7447 + "parent_index": 7449 }, - "scope": 7446, + "scope": 7448, "name": "encodedVM", "type_name": { - "id": 7449, + "id": 7451, "node_type": 30, "src": { "line": 3185, @@ -1035,7 +1036,7 @@ "start": 118180, "end": 118184, "length": 5, - "parent_index": 7448 + "parent_index": 7450 }, "name": "bytes", "referenced_declaration": 0, @@ -1061,7 +1062,7 @@ ] }, "return_parameters": { - "id": 7450, + "id": 7452, "node_type": 43, "src": { "line": 3188, @@ -1069,11 +1070,11 @@ "start": 118253, "end": 118298, "length": 46, - "parent_index": 7446 + "parent_index": 7448 }, "parameters": [ { - "id": 7451, + "id": 7453, "node_type": 44, "src": { "line": 3188, @@ -1081,12 +1082,12 @@ "start": 118253, "end": 118264, "length": 12, - "parent_index": 7450 + "parent_index": 7452 }, - "scope": 7446, + "scope": 7448, "name": "vm", "type_name": { - "id": 7452, + "id": 7454, "node_type": 69, "src": { "line": 3188, @@ -1094,20 +1095,20 @@ "start": 118253, "end": 118254, "length": 2, - "parent_index": 7451 + "parent_index": 7453 }, "path_node": { - "id": 7453, + "id": 7455, "name": "VM", "node_type": 52, - "referenced_declaration": 7408, + "referenced_declaration": 7410, "src": { "line": 3188, "column": 17, "start": 118253, "end": 118254, "length": 2, - "parent_index": 7452 + "parent_index": 7454 }, "name_location": { "line": 3188, @@ -1115,12 +1116,12 @@ "start": 118253, "end": 118254, "length": 2, - "parent_index": 7452 + "parent_index": 7454 } }, - "referenced_declaration": 7408, + "referenced_declaration": 7410, "type_description": { - "type_identifier": "t_struct$_IWormhole_VM_$7408", + "type_identifier": "t_struct$_IWormhole_VM_$7410", "type_string": "struct IWormhole.VM" } }, @@ -1128,12 +1129,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_IWormhole_VM_$7408", + "type_identifier": "t_struct$_IWormhole_VM_$7410", "type_string": "struct IWormhole.VM" } }, { - "id": 7454, + "id": 7456, "node_type": 44, "src": { "line": 3188, @@ -1141,12 +1142,12 @@ "start": 118267, "end": 118276, "length": 10, - "parent_index": 7450 + "parent_index": 7452 }, - "scope": 7446, + "scope": 7448, "name": "valid", "type_name": { - "id": 7455, + "id": 7457, "node_type": 30, "src": { "line": 3188, @@ -1154,7 +1155,7 @@ "start": 118267, "end": 118270, "length": 4, - "parent_index": 7454 + "parent_index": 7456 }, "name": "bool", "referenced_declaration": 0, @@ -1172,7 +1173,7 @@ } }, { - "id": 7456, + "id": 7458, "node_type": 44, "src": { "line": 3188, @@ -1180,12 +1181,12 @@ "start": 118279, "end": 118298, "length": 20, - "parent_index": 7450 + "parent_index": 7452 }, - "scope": 7446, + "scope": 7448, "name": "reason", "type_name": { - "id": 7457, + "id": 7459, "node_type": 30, "src": { "line": 3188, @@ -1193,7 +1194,7 @@ "start": 118279, "end": 118284, "length": 6, - "parent_index": 7456 + "parent_index": 7458 }, "name": "string", "referenced_declaration": 0, @@ -1213,7 +1214,7 @@ ], "parameter_types": [ { - "type_identifier": "t_struct$_IWormhole_VM_$7408", + "type_identifier": "t_struct$_IWormhole_VM_$7410", "type_string": "struct IWormhole.VM" }, { @@ -1228,14 +1229,15 @@ }, "signature_raw": "parseAndVerifyVM(bytes)", "signature": "c0fd8bde", - "scope": 7396, + "scope": 7398, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionparseAndVerifyVM(bytescalldataencodedVM)externalviewreturns(VMmemoryvm,boolvalid,stringmemoryreason);" }, { - "id": 7460, + "id": 7462, "name": "nextSequence", "node_type": 42, "kind": 41, @@ -1245,7 +1247,7 @@ "start": 118307, "end": 118376, "length": 70, - "parent_index": 7396 + "parent_index": 7398 }, "name_location": { "line": 3190, @@ -1253,10 +1255,10 @@ "start": 118316, "end": 118327, "length": 12, - "parent_index": 7460 + "parent_index": 7462 }, "body": { - "id": 7467, + "id": 7469, "node_type": 46, "kind": 0, "src": { @@ -1265,7 +1267,7 @@ "start": 118307, "end": 118376, "length": 70, - "parent_index": 7460 + "parent_index": 7462 }, "implemented": false, "statements": [] @@ -1277,7 +1279,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7461, + "id": 7463, "node_type": 43, "src": { "line": 3190, @@ -1285,11 +1287,11 @@ "start": 118329, "end": 118343, "length": 15, - "parent_index": 7460 + "parent_index": 7462 }, "parameters": [ { - "id": 7462, + "id": 7464, "node_type": 44, "src": { "line": 3190, @@ -1297,12 +1299,12 @@ "start": 118329, "end": 118343, "length": 15, - "parent_index": 7461 + "parent_index": 7463 }, - "scope": 7460, + "scope": 7462, "name": "emitter", "type_name": { - "id": 7463, + "id": 7465, "node_type": 30, "src": { "line": 3190, @@ -1310,7 +1312,7 @@ "start": 118329, "end": 118335, "length": 7, - "parent_index": 7462 + "parent_index": 7464 }, "name": "address", "state_mutability": 4, @@ -1337,7 +1339,7 @@ ] }, "return_parameters": { - "id": 7464, + "id": 7466, "node_type": 43, "src": { "line": 3190, @@ -1345,11 +1347,11 @@ "start": 118369, "end": 118374, "length": 6, - "parent_index": 7460 + "parent_index": 7462 }, "parameters": [ { - "id": 7465, + "id": 7467, "node_type": 44, "src": { "line": 3190, @@ -1357,12 +1359,12 @@ "start": 118369, "end": 118374, "length": 6, - "parent_index": 7464 + "parent_index": 7466 }, - "scope": 7460, + "scope": 7462, "name": "", "type_name": { - "id": 7466, + "id": 7468, "node_type": 30, "src": { "line": 3190, @@ -1370,7 +1372,7 @@ "start": 118369, "end": 118374, "length": 6, - "parent_index": 7465 + "parent_index": 7467 }, "name": "uint64", "referenced_declaration": 0, @@ -1397,15 +1399,16 @@ }, "signature_raw": "nextSequence(address)", "signature": "4cf842b5", - "scope": 7396, + "scope": 7398, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnextSequence(addressemitter)externalviewreturns(uint64);" } ], "linearized_base_contracts": [ - 7396 + 7398 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Initializable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Initializable.solgo.ast.json index 82d9a14d..cb862a3a 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Initializable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Initializable.solgo.ast.json @@ -368,7 +368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -457,7 +458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1927, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, { "id": 1939, @@ -491,7 +493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1941, @@ -513,7 +516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -638,7 +642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -684,7 +689,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -733,14 +739,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -784,7 +792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1955, @@ -806,7 +815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -862,7 +872,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -883,7 +894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -931,7 +943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1960, @@ -953,7 +966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint8", @@ -963,7 +977,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=1;" }, { "id": 1961, @@ -994,7 +1009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1927, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 1963, @@ -1051,7 +1067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1967, @@ -1073,7 +1090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -1083,7 +1101,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" } ] } @@ -1106,7 +1125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 1969, @@ -1137,7 +1157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1927, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 1971, @@ -1194,7 +1215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1975, @@ -1216,7 +1238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -1226,7 +1249,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" }, { "id": 1976, @@ -1260,7 +1284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -1281,7 +1306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1919, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -1456,7 +1482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -1495,7 +1522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1993, @@ -1515,7 +1543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1921, - "is_pure": false + "is_pure": false, + "text": "version" }, "type_description": { "type_identifier": "t_bool", @@ -1560,7 +1589,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -1581,7 +1611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1629,7 +1660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1998, @@ -1649,7 +1681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1921, - "is_pure": false + "is_pure": false, + "text": "version" }, "type_description": { "type_identifier": "t_uint8", @@ -1659,7 +1692,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=version;" }, { "id": 1999, @@ -1702,7 +1736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2002, @@ -1724,7 +1759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -1734,7 +1770,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" }, { "id": 2003, @@ -1754,7 +1791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 2004, @@ -1797,7 +1835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2007, @@ -1819,7 +1858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -1829,7 +1869,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" }, { "id": 2008, @@ -1861,7 +1902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1921, - "is_pure": false + "is_pure": false, + "text": "version" } ], "expression": { @@ -1882,7 +1924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1919, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -1979,7 +2022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, { "id": 2018, @@ -2007,7 +2051,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Initializable: contract is not initializing\"" } ], "expression": { @@ -2028,7 +2073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -2053,7 +2099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -2152,7 +2199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -2185,7 +2233,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is initializing\"" } ], "expression": { @@ -2206,7 +2255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2256,7 +2306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 2033, @@ -2303,7 +2354,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" }, "type_description": { "type_identifier": "t_bool", @@ -2365,7 +2417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 2039, @@ -2412,7 +2465,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" }, "type_description": { "type_identifier": "t_uint8", @@ -2422,7 +2476,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=type(uint8).max;" }, { "id": 2041, @@ -2481,7 +2536,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" } ], "expression": { @@ -2502,7 +2558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1919, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -2550,7 +2607,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_disableInitializers()internalvirtual{require(!_initializing,\"Initializable: contract is initializing\");if(_initialized\u003ctype(uint8).max){_initialized=type(uint8).max;emitInitialized(type(uint8).max);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1BridgeEscrow.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1BridgeEscrow.solgo.ast.json index 8008e4e0..453fb78b 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1BridgeEscrow.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1BridgeEscrow.solgo.ast.json @@ -1,8 +1,8 @@ { - "id": 6695, + "id": 6697, "base_contracts": [ { - "id": 6777, + "id": 6779, "node_type": 62, "src": { "line": 3046, @@ -10,10 +10,10 @@ "start": 113011, "end": 113022, "length": 12, - "parent_index": 6776 + "parent_index": 6778 }, "base_name": { - "id": 6778, + "id": 6780, "node_type": 52, "src": { "line": 3046, @@ -21,42 +21,42 @@ "start": 113011, "end": 113022, "length": 12, - "parent_index": 6776 + "parent_index": 6778 }, "name": "BridgeEscrow", - "referenced_declaration": 6344 + "referenced_declaration": 6346 } } ], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 6695, + "id": 6697, "name": "L1BridgeEscrow", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1BridgeEscrow.sol" }, { - "id": 6513, + "id": 6515, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 6513, + "id": 6515, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 6513, + "id": 6515, "name": "IRootChainManager", "absolute_path": "IRootChainManager.sol" }, { - "id": 6513, + "id": 6515, "name": "BridgeEscrow", "absolute_path": "BridgeEscrow.sol" }, { - "id": 6513, + "id": 6515, "name": "L1Vault", "absolute_path": "L1Vault.sol" } @@ -66,7 +66,7 @@ "node_type": 1, "nodes": [ { - "id": 6721, + "id": 6723, "node_type": 10, "src": { "line": 3037, @@ -74,7 +74,7 @@ "start": 112719, "end": 112742, "length": 24, - "parent_index": 6695 + "parent_index": 6697 }, "literals": [ "pragma", @@ -90,7 +90,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 6771, + "id": 6773, "node_type": 29, "src": { "line": 3039, @@ -98,18 +98,18 @@ "start": 112745, "end": 112778, "length": 34, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6772, + "id": 6774, "node_type": 29, "src": { "line": 3040, @@ -117,18 +117,18 @@ "start": 112780, "end": 112833, "length": 54, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6773, + "id": 6775, "node_type": 29, "src": { "line": 3042, @@ -136,18 +136,18 @@ "start": 112836, "end": 112893, "length": 58, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "IRootChainManager.sol", "file": "./IRootChainManager.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6774, + "id": 6776, "node_type": 29, "src": { "line": 3043, @@ -155,18 +155,18 @@ "start": 112895, "end": 112942, "length": 48, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "BridgeEscrow.sol", "file": "./BridgeEscrow.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6775, + "id": 6777, "node_type": 29, "src": { "line": 3044, @@ -174,18 +174,18 @@ "start": 112944, "end": 112981, "length": 38, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "L1Vault.sol", "file": "./L1Vault.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6776, + "id": 6778, "name": "L1BridgeEscrow", "node_type": 35, "src": { @@ -194,7 +194,7 @@ "start": 112984, "end": 114292, "length": 1309, - "parent_index": 6695 + "parent_index": 6697 }, "name_location": { "line": 3046, @@ -202,14 +202,14 @@ "start": 112993, "end": 113006, "length": 14, - "parent_index": 6776 + "parent_index": 6778 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 6780, + "id": 6782, "node_type": 51, "src": { "line": 3047, @@ -217,14 +217,14 @@ "start": 113030, "end": 113061, "length": 32, - "parent_index": 6776 + "parent_index": 6778 }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "type_name": { - "id": 6782, + "id": 6784, "node_type": 69, "src": { "line": 3047, @@ -232,20 +232,20 @@ "start": 113056, "end": 113060, "length": 5, - "parent_index": 6780 + "parent_index": 6782 }, "path_node": { - "id": 6783, + "id": 6785, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 3047, "column": 30, "start": 113056, "end": 113060, "length": 5, - "parent_index": 6782 + "parent_index": 6784 }, "name_location": { "line": 3047, @@ -253,17 +253,17 @@ "start": 113056, "end": 113060, "length": 5, - "parent_index": 6782 + "parent_index": 6784 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "library_name": { - "id": 6781, + "id": 6783, "node_type": 52, "src": { "line": 3047, @@ -271,14 +271,14 @@ "start": 113036, "end": 113050, "length": 15, - "parent_index": 6780 + "parent_index": 6782 }, "name": "SafeTransferLib", - "referenced_declaration": 4499 + "referenced_declaration": 4500 } }, { - "id": 6785, + "id": 6787, "name": "vault", "is_constant": false, "is_state_variable": true, @@ -289,9 +289,9 @@ "start": 113097, "end": 113127, "length": 31, - "parent_index": 6776 + "parent_index": 6778 }, - "scope": 6776, + "scope": 6778, "type_description": { "type_identifier": "t_contract$_L1Vault_$441", "type_string": "contract L1Vault" @@ -300,7 +300,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 6786, + "id": 6788, "node_type": 69, "src": { "line": 3050, @@ -308,10 +308,10 @@ "start": 113097, "end": 113103, "length": 7, - "parent_index": 6785 + "parent_index": 6787 }, "path_node": { - "id": 6787, + "id": 6789, "name": "L1Vault", "node_type": 52, "referenced_declaration": 441, @@ -321,7 +321,7 @@ "start": 113097, "end": 113103, "length": 7, - "parent_index": 6786 + "parent_index": 6788 }, "name_location": { "line": 3050, @@ -329,7 +329,7 @@ "start": 113097, "end": 113103, "length": 7, - "parent_index": 6786 + "parent_index": 6788 } }, "referenced_declaration": 441, @@ -341,7 +341,7 @@ "initial_value": null }, { - "id": 6789, + "id": 6791, "name": "rootChainManager", "is_constant": false, "is_state_variable": true, @@ -352,18 +352,18 @@ "start": 113323, "end": 113374, "length": 52, - "parent_index": 6776 + "parent_index": 6778 }, - "scope": 6776, + "scope": 6778, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 6790, + "id": 6792, "node_type": 69, "src": { "line": 3052, @@ -371,10 +371,10 @@ "start": 113323, "end": 113339, "length": 17, - "parent_index": 6789 + "parent_index": 6791 }, "path_node": { - "id": 6791, + "id": 6793, "name": "IRootChainManager", "node_type": 52, "referenced_declaration": 0, @@ -384,7 +384,7 @@ "start": 113323, "end": 113339, "length": 17, - "parent_index": 6790 + "parent_index": 6792 }, "name_location": { "line": 3052, @@ -392,19 +392,19 @@ "start": 113323, "end": 113339, "length": 17, - "parent_index": 6790 + "parent_index": 6792 } }, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } }, "initial_value": null }, { - "id": 6793, + "id": 6795, "node_type": 42, "src": { "line": 3054, @@ -412,7 +412,7 @@ "start": 113381, "end": 113525, "length": 145, - "parent_index": 6776 + "parent_index": 6778 }, "kind": 11, "state_mutability": 4, @@ -420,7 +420,7 @@ "implemented": true, "modifiers": [ { - "id": 6802, + "id": 6804, "name": "BridgeEscrow", "node_type": 72, "kind": 72, @@ -430,7 +430,7 @@ "start": 113437, "end": 113456, "length": 20, - "parent_index": 6793 + "parent_index": 6795 }, "argument_types": [ { @@ -440,7 +440,7 @@ ], "arguments": [ { - "id": 6804, + "id": 6806, "node_type": 16, "src": { "line": 3054, @@ -448,7 +448,7 @@ "start": 113450, "end": 113455, "length": 6, - "parent_index": 6802 + "parent_index": 6804 }, "name": "_vault", "type_description": { @@ -456,12 +456,13 @@ "type_string": "contract L1Vault" }, "overloaded_declarations": [], - "referenced_declaration": 6804, - "is_pure": false + "referenced_declaration": 6806, + "is_pure": false, + "text": "_vault" } ], "modifier_name": { - "id": 6803, + "id": 6805, "name": "BridgeEscrow", "node_type": 0, "src": { @@ -470,13 +471,13 @@ "start": 113437, "end": 113448, "length": 12, - "parent_index": 6802 + "parent_index": 6804 } } } ], "parameters": { - "id": 6794, + "id": 6796, "node_type": 43, "src": { "line": 3054, @@ -484,11 +485,11 @@ "start": 113393, "end": 113434, "length": 42, - "parent_index": 6793 + "parent_index": 6795 }, "parameters": [ { - "id": 6795, + "id": 6797, "node_type": 44, "src": { "line": 3054, @@ -496,12 +497,12 @@ "start": 113393, "end": 113406, "length": 14, - "parent_index": 6794 + "parent_index": 6796 }, - "scope": 6793, + "scope": 6795, "name": "_vault", "type_name": { - "id": 6796, + "id": 6798, "node_type": 69, "src": { "line": 3054, @@ -509,10 +510,10 @@ "start": 113393, "end": 113399, "length": 7, - "parent_index": 6795 + "parent_index": 6797 }, "path_node": { - "id": 6797, + "id": 6799, "name": "L1Vault", "node_type": 52, "referenced_declaration": 441, @@ -522,7 +523,7 @@ "start": 113393, "end": 113399, "length": 7, - "parent_index": 6796 + "parent_index": 6798 }, "name_location": { "line": 3054, @@ -530,7 +531,7 @@ "start": 113393, "end": 113399, "length": 7, - "parent_index": 6796 + "parent_index": 6798 } }, "referenced_declaration": 441, @@ -548,7 +549,7 @@ } }, { - "id": 6798, + "id": 6800, "node_type": 44, "src": { "line": 3054, @@ -556,12 +557,12 @@ "start": 113409, "end": 113434, "length": 26, - "parent_index": 6794 + "parent_index": 6796 }, - "scope": 6793, + "scope": 6795, "name": "_manager", "type_name": { - "id": 6799, + "id": 6801, "node_type": 69, "src": { "line": 3054, @@ -569,10 +570,10 @@ "start": 113409, "end": 113425, "length": 17, - "parent_index": 6798 + "parent_index": 6800 }, "path_node": { - "id": 6800, + "id": 6802, "name": "IRootChainManager", "node_type": 52, "referenced_declaration": 0, @@ -582,7 +583,7 @@ "start": 113409, "end": 113425, "length": 17, - "parent_index": 6799 + "parent_index": 6801 }, "name_location": { "line": 3054, @@ -590,12 +591,12 @@ "start": 113409, "end": 113425, "length": 17, - "parent_index": 6799 + "parent_index": 6801 } }, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } }, @@ -613,7 +614,7 @@ ] }, "return_parameters": { - "id": 6801, + "id": 6803, "node_type": 43, "src": { "line": 3054, @@ -621,14 +622,14 @@ "start": 113381, "end": 113525, "length": 145, - "parent_index": 6793 + "parent_index": 6795 }, "parameters": [], "parameter_types": [] }, - "scope": 6776, + "scope": 6778, "body": { - "id": 6805, + "id": 6807, "node_type": 46, "kind": 0, "src": { @@ -637,12 +638,12 @@ "start": 113458, "end": 113525, "length": 68, - "parent_index": 6793 + "parent_index": 6795 }, "implemented": true, "statements": [ { - "id": 6806, + "id": 6808, "node_type": 27, "src": { "line": 3055, @@ -650,10 +651,10 @@ "start": 113468, "end": 113482, "length": 15, - "parent_index": 6805 + "parent_index": 6807 }, "expression": { - "id": 6807, + "id": 6809, "node_type": 27, "src": { "line": 3055, @@ -661,11 +662,11 @@ "start": 113468, "end": 113481, "length": 14, - "parent_index": 6806 + "parent_index": 6808 }, "operator": 11, "left_expression": { - "id": 6808, + "id": 6810, "node_type": 16, "src": { "line": 3055, @@ -673,19 +674,20 @@ "start": 113468, "end": 113472, "length": 5, - "parent_index": 6807 + "parent_index": 6809 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6608, - "is_pure": false + "referenced_declaration": 6610, + "is_pure": false, + "text": "vault" }, "right_expression": { - "id": 6809, + "id": 6811, "node_type": 16, "src": { "line": 3055, @@ -693,7 +695,7 @@ "start": 113476, "end": 113481, "length": 6, - "parent_index": 6807 + "parent_index": 6809 }, "name": "_vault", "type_description": { @@ -701,21 +703,23 @@ "type_string": "contract L1Vault" }, "overloaded_declarations": [], - "referenced_declaration": 6809, - "is_pure": false + "referenced_declaration": 6811, + "is_pure": false, + "text": "_vault" }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault=_vault;" }, { - "id": 6810, + "id": 6812, "node_type": 27, "src": { "line": 3056, @@ -723,10 +727,10 @@ "start": 113492, "end": 113519, "length": 28, - "parent_index": 6805 + "parent_index": 6807 }, "expression": { - "id": 6811, + "id": 6813, "node_type": 27, "src": { "line": 3056, @@ -734,11 +738,11 @@ "start": 113492, "end": 113518, "length": 27, - "parent_index": 6810 + "parent_index": 6812 }, "operator": 11, "left_expression": { - "id": 6812, + "id": 6814, "node_type": 16, "src": { "line": 3056, @@ -746,19 +750,20 @@ "start": 113492, "end": 113507, "length": 16, - "parent_index": 6811 + "parent_index": 6813 }, "name": "rootChainManager", "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "overloaded_declarations": [], - "referenced_declaration": 6798, - "is_pure": false + "referenced_declaration": 6800, + "is_pure": false, + "text": "rootChainManager" }, "right_expression": { - "id": 6813, + "id": 6815, "node_type": 16, "src": { "line": 3056, @@ -766,28 +771,30 @@ "start": 113511, "end": 113518, "length": 8, - "parent_index": 6811 + "parent_index": 6813 }, "name": "_manager", "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "overloaded_declarations": [], - "referenced_declaration": 6798, - "is_pure": false + "referenced_declaration": 6800, + "is_pure": false, + "text": "_manager" }, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } - } + }, + "text": "rootChainManager=_manager;" } ] } }, { - "id": 6815, + "id": 6817, "name": "_clear", "node_type": 42, "kind": 41, @@ -797,7 +804,7 @@ "start": 113532, "end": 114290, "length": 759, - "parent_index": 6776 + "parent_index": 6778 }, "name_location": { "line": 3059, @@ -805,10 +812,10 @@ "start": 113541, "end": 113546, "length": 6, - "parent_index": 6815 + "parent_index": 6817 }, "body": { - "id": 6823, + "id": 6825, "node_type": 46, "kind": 0, "src": { @@ -817,12 +824,12 @@ "start": 113608, "end": 114290, "length": 683, - "parent_index": 6815 + "parent_index": 6817 }, "implemented": true, "statements": [ { - "id": 6824, + "id": 6826, "node_type": 85, "src": { "line": 3063, @@ -830,10 +837,10 @@ "start": 113946, "end": 113993, "length": 48, - "parent_index": 6823 + "parent_index": 6825 }, "body": { - "id": 6829, + "id": 6831, "node_type": 46, "kind": 0, "src": { @@ -842,7 +849,7 @@ "start": 113983, "end": 113984, "length": 2, - "parent_index": 6824 + "parent_index": 6826 }, "implemented": true, "statements": [] @@ -850,7 +857,7 @@ "kind": 86, "returns": false, "return_parameters": { - "id": 6832, + "id": 6834, "node_type": 43, "src": { "line": 3063, @@ -858,13 +865,13 @@ "start": 113946, "end": 113993, "length": 48, - "parent_index": 6824 + "parent_index": 6826 }, "parameters": [], "parameter_types": [] }, "expression": { - "id": 6825, + "id": 6827, "node_type": 24, "kind": 24, "src": { @@ -873,7 +880,7 @@ "start": 113950, "end": 113981, "length": 32, - "parent_index": 6824 + "parent_index": 6826 }, "argument_types": [ { @@ -883,7 +890,7 @@ ], "arguments": [ { - "id": 6828, + "id": 6830, "node_type": 16, "src": { "line": 3063, @@ -891,7 +898,7 @@ "start": 113972, "end": 113980, "length": 9, - "parent_index": 6825 + "parent_index": 6827 }, "name": "exitProof", "type_description": { @@ -899,12 +906,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 6828, - "is_pure": false + "referenced_declaration": 6830, + "is_pure": false, + "text": "exitProof" } ], "expression": { - "id": 6826, + "id": 6828, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -916,7 +924,7 @@ "start": 113950, "end": 113970, "length": 21, - "parent_index": 6825 + "parent_index": 6827 }, "member_location": { "line": 3063, @@ -924,10 +932,10 @@ "start": 113967, "end": 113970, "length": 4, - "parent_index": 6826 + "parent_index": 6828 }, "expression": { - "id": 6827, + "id": 6829, "node_type": 16, "src": { "line": 3063, @@ -935,24 +943,26 @@ "start": 113950, "end": 113965, "length": 16, - "parent_index": 6826 + "parent_index": 6828 }, "name": "rootChainManager", "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "overloaded_declarations": [], - "referenced_declaration": 8086, - "is_pure": false + "referenced_declaration": 8090, + "is_pure": false, + "text": "rootChainManager" }, "member_name": "exit", "argument_types": [], - "referenced_declaration": 7302, + "referenced_declaration": 7304, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "rootChainManager.exit" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -970,10 +980,10 @@ "start": 113986, "end": 113993, "length": 8, - "parent_index": 6824 + "parent_index": 6826 }, "body": { - "id": 6831, + "id": 6833, "node_type": 46, "kind": 0, "src": { @@ -987,7 +997,7 @@ "statements": [] }, "parameters": { - "id": 6830, + "id": 6832, "node_type": 43, "src": { "line": 3063, @@ -1004,7 +1014,7 @@ "implemented": false }, { - "id": 6833, + "id": 6835, "node_type": 44, "src": { "line": 3066, @@ -1012,25 +1022,25 @@ "start": 114051, "end": 114099, "length": 49, - "parent_index": 6823 + "parent_index": 6825 }, "assignments": [ - 6834 + 6836 ], "declarations": [ { - "id": 6834, + "id": 6836, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 6823, + "scope": 6825, "src": { "line": 3066, "column": 8, "start": 114051, "end": 114065, "length": 15, - "parent_index": 6833 + "parent_index": 6835 }, "name_location": { "line": 3066, @@ -1038,12 +1048,12 @@ "start": 114059, "end": 114065, "length": 7, - "parent_index": 6834 + "parent_index": 6836 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6835, + "id": 6837, "node_type": 30, "src": { "line": 3066, @@ -1051,7 +1061,7 @@ "start": 114051, "end": 114057, "length": 7, - "parent_index": 6834 + "parent_index": 6836 }, "name": "uint256", "referenced_declaration": 0, @@ -1064,7 +1074,7 @@ } ], "initial_value": { - "id": 6836, + "id": 6838, "node_type": 24, "kind": 24, "src": { @@ -1073,7 +1083,7 @@ "start": 114069, "end": 114098, "length": 30, - "parent_index": 6833 + "parent_index": 6835 }, "argument_types": [ { @@ -1083,7 +1093,7 @@ ], "arguments": [ { - "id": 6839, + "id": 6841, "node_type": 24, "kind": 24, "src": { @@ -1092,17 +1102,17 @@ "start": 114085, "end": 114097, "length": 13, - "parent_index": 6836 + "parent_index": 6838 }, "argument_types": [ { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" } ], "arguments": [ { - "id": 6842, + "id": 6844, "node_type": 16, "src": { "line": 3066, @@ -1110,20 +1120,21 @@ "start": 114093, "end": 114096, "length": 4, - "parent_index": 6839 + "parent_index": 6841 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6840, + "id": 6842, "node_type": 16, "src": { "line": 3066, @@ -1131,11 +1142,11 @@ "start": 114085, "end": 114091, "length": 7, - "parent_index": 6839 + "parent_index": 6841 }, "name": "address", "type_name": { - "id": 6841, + "id": 6843, "node_type": 30, "src": { "line": 3066, @@ -1143,7 +1154,7 @@ "start": 114085, "end": 114091, "length": 7, - "parent_index": 6840 + "parent_index": 6842 }, "name": "address", "state_mutability": 4, @@ -1165,7 +1176,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1174,7 +1186,7 @@ } ], "expression": { - "id": 6837, + "id": 6839, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1186,7 +1198,7 @@ "start": 114069, "end": 114083, "length": 15, - "parent_index": 6836 + "parent_index": 6838 }, "member_location": { "line": 3066, @@ -1194,10 +1206,10 @@ "start": 114075, "end": 114083, "length": 9, - "parent_index": 6837 + "parent_index": 6839 }, "expression": { - "id": 6838, + "id": 6840, "node_type": 16, "src": { "line": 3066, @@ -1205,23 +1217,25 @@ "start": 114069, "end": 114073, "length": 5, - "parent_index": 6837 + "parent_index": 6839 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -1230,7 +1244,7 @@ } }, { - "id": 6843, + "id": 6845, "node_type": 24, "kind": 24, "src": { @@ -1239,7 +1253,7 @@ "start": 114109, "end": 114160, "length": 52, - "parent_index": 6823 + "parent_index": 6825 }, "argument_types": [ { @@ -1253,7 +1267,7 @@ ], "arguments": [ { - "id": 6845, + "id": 6847, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1263,11 +1277,11 @@ "start": 114117, "end": 114133, "length": 17, - "parent_index": 6843 + "parent_index": 6845 }, "operator": 8, "left_expression": { - "id": 6846, + "id": 6848, "node_type": 16, "src": { "line": 3067, @@ -1275,7 +1289,7 @@ "start": 114117, "end": 114123, "length": 7, - "parent_index": 6845 + "parent_index": 6847 }, "name": "balance", "type_description": { @@ -1283,11 +1297,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6833, - "is_pure": false + "referenced_declaration": 6835, + "is_pure": false, + "text": "balance" }, "right_expression": { - "id": 6847, + "id": 6849, "node_type": 16, "src": { "line": 3067, @@ -1295,7 +1310,7 @@ "start": 114128, "end": 114133, "length": 6, - "parent_index": 6845 + "parent_index": 6847 }, "name": "assets", "type_description": { @@ -1303,8 +1318,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6847, - "is_pure": false + "referenced_declaration": 6849, + "is_pure": false, + "text": "assets" }, "type_description": { "type_identifier": "t_bool", @@ -1312,7 +1328,7 @@ } }, { - "id": 6848, + "id": 6850, "node_type": 17, "kind": 50, "value": "BE: Funds not received", @@ -1323,7 +1339,7 @@ "start": 114136, "end": 114159, "length": 24, - "parent_index": 6843 + "parent_index": 6845 }, "type_description": { "type_identifier": "t_string_literal", @@ -1337,11 +1353,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BE: Funds not received\"" } ], "expression": { - "id": 6844, + "id": 6846, "node_type": 16, "src": { "line": 3067, @@ -1349,7 +1366,7 @@ "start": 114109, "end": 114115, "length": 7, - "parent_index": 6843 + "parent_index": 6845 }, "name": "require", "type_description": { @@ -1358,7 +1375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1366,7 +1384,7 @@ } }, { - "id": 6849, + "id": 6851, "node_type": 24, "kind": 24, "src": { @@ -1375,7 +1393,7 @@ "start": 114171, "end": 114213, "length": 43, - "parent_index": 6823 + "parent_index": 6825 }, "argument_types": [ { @@ -1389,7 +1407,7 @@ ], "arguments": [ { - "id": 6852, + "id": 6854, "node_type": 24, "kind": 24, "src": { @@ -1398,7 +1416,7 @@ "start": 114190, "end": 114203, "length": 14, - "parent_index": 6849 + "parent_index": 6851 }, "argument_types": [ { @@ -1408,7 +1426,7 @@ ], "arguments": [ { - "id": 6855, + "id": 6857, "node_type": 16, "src": { "line": 3068, @@ -1416,7 +1434,7 @@ "start": 114198, "end": 114202, "length": 5, - "parent_index": 6852 + "parent_index": 6854 }, "name": "vault", "type_description": { @@ -1425,11 +1443,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 6853, + "id": 6855, "node_type": 16, "src": { "line": 3068, @@ -1437,11 +1456,11 @@ "start": 114190, "end": 114196, "length": 7, - "parent_index": 6852 + "parent_index": 6854 }, "name": "address", "type_name": { - "id": 6854, + "id": 6856, "node_type": 30, "src": { "line": 3068, @@ -1449,7 +1468,7 @@ "start": 114190, "end": 114196, "length": 7, - "parent_index": 6853 + "parent_index": 6855 }, "name": "address", "state_mutability": 4, @@ -1471,7 +1490,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1479,7 +1499,7 @@ } }, { - "id": 6856, + "id": 6858, "node_type": 16, "src": { "line": 3068, @@ -1487,7 +1507,7 @@ "start": 114206, "end": 114212, "length": 7, - "parent_index": 6849 + "parent_index": 6851 }, "name": "balance", "type_description": { @@ -1495,18 +1515,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6833, + "referenced_declaration": 6835, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "balance" } ], "expression": { - "id": 6850, + "id": 6852, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1518,7 +1539,7 @@ "start": 114171, "end": 114188, "length": 18, - "parent_index": 6849 + "parent_index": 6851 }, "member_location": { "line": 3068, @@ -1526,10 +1547,10 @@ "start": 114177, "end": 114188, "length": 12, - "parent_index": 6850 + "parent_index": 6852 }, "expression": { - "id": 6851, + "id": 6853, "node_type": 16, "src": { "line": 3068, @@ -1537,23 +1558,25 @@ "start": 114171, "end": 114175, "length": 5, - "parent_index": 6850 + "parent_index": 6852 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -1561,7 +1584,7 @@ } }, { - "id": 6857, + "id": 6859, "node_type": 64, "src": { "line": 3070, @@ -1569,11 +1592,11 @@ "start": 114225, "end": 114254, "length": 30, - "parent_index": 6815 + "parent_index": 6817 }, "arguments": [ { - "id": 6858, + "id": 6860, "node_type": 16, "src": { "line": 3070, @@ -1581,7 +1604,7 @@ "start": 114246, "end": 114252, "length": 7, - "parent_index": 6857 + "parent_index": 6859 }, "name": "balance", "type_description": { @@ -1589,12 +1612,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6833, - "is_pure": false + "referenced_declaration": 6835, + "is_pure": false, + "text": "balance" } ], "expression": { - "id": 6859, + "id": 6861, "node_type": 16, "src": { "line": 3070, @@ -1602,20 +1626,21 @@ "start": 114230, "end": 114244, "length": 15, - "parent_index": 6857 + "parent_index": 6859 }, "name": "TransferToVault", "type_description": { - "type_identifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266432", + "type_identifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266434", "type_string": "event BridgeEscrow.TransferToVault" }, "overloaded_declarations": [], - "referenced_declaration": 6432, - "is_pure": false + "referenced_declaration": 6434, + "is_pure": false, + "text": "TransferToVault" } }, { - "id": 6860, + "id": 6862, "node_type": 24, "kind": 24, "src": { @@ -1624,12 +1649,12 @@ "start": 114264, "end": 114283, "length": 20, - "parent_index": 6823 + "parent_index": 6825 }, "argument_types": [], "arguments": [], "expression": { - "id": 6861, + "id": 6863, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1641,7 +1666,7 @@ "start": 114264, "end": 114281, "length": 18, - "parent_index": 6860 + "parent_index": 6862 }, "member_location": { "line": 3071, @@ -1649,10 +1674,10 @@ "start": 114270, "end": 114281, "length": 12, - "parent_index": 6861 + "parent_index": 6863 }, "expression": { - "id": 6862, + "id": 6864, "node_type": 16, "src": { "line": 3071, @@ -1660,23 +1685,25 @@ "start": 114264, "end": 114268, "length": 5, - "parent_index": 6861 + "parent_index": 6863 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6608, - "is_pure": false + "referenced_declaration": 6610, + "is_pure": false, + "text": "vault" }, "member_name": "afterReceive", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault.afterReceive" }, "type_description": { "type_identifier": "t_function_$", @@ -1692,7 +1719,7 @@ "modifiers": [], "overrides": [ { - "id": 6821, + "id": 6823, "node_type": 63, "src": { "line": 3059, @@ -1700,7 +1727,7 @@ "start": 113599, "end": 113606, "length": 8, - "parent_index": 6815 + "parent_index": 6817 }, "overrides": [], "referenced_declaration": 0, @@ -1711,7 +1738,7 @@ } ], "parameters": { - "id": 6816, + "id": 6818, "node_type": 43, "src": { "line": 3059, @@ -1719,11 +1746,11 @@ "start": 113548, "end": 113587, "length": 40, - "parent_index": 6815 + "parent_index": 6817 }, "parameters": [ { - "id": 6817, + "id": 6819, "node_type": 44, "src": { "line": 3059, @@ -1731,12 +1758,12 @@ "start": 113548, "end": 113561, "length": 14, - "parent_index": 6816 + "parent_index": 6818 }, - "scope": 6815, + "scope": 6817, "name": "assets", "type_name": { - "id": 6818, + "id": 6820, "node_type": 30, "src": { "line": 3059, @@ -1744,7 +1771,7 @@ "start": 113548, "end": 113554, "length": 7, - "parent_index": 6817 + "parent_index": 6819 }, "name": "uint256", "referenced_declaration": 0, @@ -1762,7 +1789,7 @@ } }, { - "id": 6819, + "id": 6821, "node_type": 44, "src": { "line": 3059, @@ -1770,12 +1797,12 @@ "start": 113564, "end": 113587, "length": 24, - "parent_index": 6816 + "parent_index": 6818 }, - "scope": 6815, + "scope": 6817, "name": "exitProof", "type_name": { - "id": 6820, + "id": 6822, "node_type": 30, "src": { "line": 3059, @@ -1783,7 +1810,7 @@ "start": 113564, "end": 113568, "length": 5, - "parent_index": 6819 + "parent_index": 6821 }, "name": "bytes", "referenced_declaration": 0, @@ -1813,7 +1840,7 @@ ] }, "return_parameters": { - "id": 6822, + "id": 6824, "node_type": 43, "src": { "line": 3059, @@ -1821,32 +1848,33 @@ "start": 113532, "end": 114290, "length": 759, - "parent_index": 6815 + "parent_index": 6817 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_clear(uint256, bytes)", - "signature": "1894c922", - "scope": 6776, + "signature_raw": "_clear(uint256,bytes)", + "signature": "5a7d604b", + "scope": 6778, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", "type_string": "function(uint256,bytes)" - } + }, + "text": "function_clear(uint256assets,bytescalldataexitProof)internaloverride{tryrootChainManager.exit(exitProof){}catch{}uint256balance=asset.balanceOf(address(this));require(balance\u003e=assets,\"BE: Funds not received\");asset.safeTransfer(address(vault),balance);emitTransferToVault(balance);vault.afterReceive();}" } ], "linearized_base_contracts": [ - 6344, - 6776, - 6771, - 6772, + 6346, + 6778, 6773, 6774, - 6775 + 6775, + 6776, + 6777 ], "base_contracts": [ { - "id": 6777, + "id": 6779, "node_type": 62, "src": { "line": 3046, @@ -1854,10 +1882,10 @@ "start": 113011, "end": 113022, "length": 12, - "parent_index": 6776 + "parent_index": 6778 }, "base_name": { - "id": 6778, + "id": 6780, "node_type": 52, "src": { "line": 3046, @@ -1865,20 +1893,20 @@ "start": 113011, "end": 113022, "length": 12, - "parent_index": 6776 + "parent_index": 6778 }, "name": "BridgeEscrow", - "referenced_declaration": 6344 + "referenced_declaration": 6346 } } ], "contract_dependencies": [ - 6344, - 6771, - 6772, + 6346, 6773, 6774, - 6775 + 6775, + 6776, + 6777 ] } ], diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1Vault.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1Vault.solgo.ast.json index a6f26ea8..e124d352 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1Vault.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1Vault.solgo.ast.json @@ -4,7 +4,7 @@ "entry_source_unit": 441, "globals": [ { - "id": 7582, + "id": 7584, "name": "received", "is_constant": false, "is_state_variable": true, @@ -25,7 +25,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7583, + "id": 7585, "node_type": 30, "src": { "line": 46, @@ -33,7 +33,7 @@ "start": 1759, "end": 1762, "length": 4, - "parent_index": 7582 + "parent_index": 7584 }, "name": "bool", "referenced_declaration": 0, @@ -45,7 +45,7 @@ "initial_value": null }, { - "id": 7584, + "id": 7586, "name": "chainManager", "is_constant": false, "is_state_variable": true, @@ -59,14 +59,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 7585, + "id": 7587, "node_type": 69, "src": { "line": 49, @@ -74,20 +74,20 @@ "start": 1878, "end": 1894, "length": 17, - "parent_index": 7584 + "parent_index": 7586 }, "path_node": { - "id": 7586, + "id": 7588, "name": "IRootChainManager", "node_type": 52, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "src": { "line": 49, "column": 4, "start": 1878, "end": 1894, "length": 17, - "parent_index": 7585 + "parent_index": 7587 }, "name_location": { "line": 49, @@ -95,19 +95,19 @@ "start": 1878, "end": 1894, "length": 17, - "parent_index": 7585 + "parent_index": 7587 } }, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } }, "initial_value": null }, { - "id": 7587, + "id": 7589, "name": "predicate", "is_constant": false, "is_state_variable": true, @@ -128,7 +128,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7588, + "id": 7590, "node_type": 30, "src": { "line": 56, @@ -136,7 +136,7 @@ "start": 2285, "end": 2291, "length": 7, - "parent_index": 7587 + "parent_index": 7589 }, "name": "address", "state_mutability": 4, @@ -149,7 +149,7 @@ "initial_value": null }, { - "id": 7589, + "id": 7591, "node_type": 57, "src": { "line": 62, @@ -159,7 +159,7 @@ "length": 27 }, "parameters": { - "id": 7590, + "id": 7592, "node_type": 43, "src": { "line": 62, @@ -167,11 +167,11 @@ "start": 2435, "end": 2461, "length": 27, - "parent_index": 7589 + "parent_index": 7591 }, "parameters": [ { - "id": 7591, + "id": 7593, "node_type": 44, "src": { "line": 62, @@ -179,12 +179,12 @@ "start": 2449, "end": 2459, "length": 11, - "parent_index": 7590 + "parent_index": 7592 }, - "scope": 7589, + "scope": 7591, "name": "tvl", "type_name": { - "id": 7592, + "id": 7594, "node_type": 30, "src": { "line": 62, @@ -192,7 +192,7 @@ "start": 2449, "end": 2455, "length": 7, - "parent_index": 7591 + "parent_index": 7593 }, "name": "uint256", "referenced_declaration": 0, @@ -220,12 +220,12 @@ "name": "SendTVL", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_SendTVL_\u00267589", + "type_identifier": "t_event\u0026_Global_SendTVL_\u00267591", "type_string": "event Global.SendTVL" } }, { - "id": 7593, + "id": 7595, "name": "tvl", "is_constant": true, "is_state_variable": true, @@ -246,7 +246,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7594, + "id": 7596, "node_type": 30, "src": { "line": 66, @@ -254,7 +254,7 @@ "start": 2559, "end": 2565, "length": 7, - "parent_index": 7593 + "parent_index": 7595 }, "name": "uint256", "referenced_declaration": 0, @@ -266,7 +266,7 @@ "initial_value": null }, { - "id": 7595, + "id": 7597, "name": "amountToSend", "is_constant": true, "is_state_variable": true, @@ -287,7 +287,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7596, + "id": 7598, "node_type": 30, "src": { "line": 88, @@ -295,7 +295,7 @@ "start": 3441, "end": 3447, "length": 7, - "parent_index": 7595 + "parent_index": 7597 }, "name": "uint256", "referenced_declaration": 0, @@ -307,7 +307,7 @@ "initial_value": null }, { - "id": 7597, + "id": 7599, "node_type": 57, "src": { "line": 102, @@ -317,7 +317,7 @@ "length": 64 }, "parameters": { - "id": 7598, + "id": 7600, "node_type": 43, "src": { "line": 102, @@ -325,11 +325,11 @@ "start": 4086, "end": 4149, "length": 64, - "parent_index": 7597 + "parent_index": 7599 }, "parameters": [ { - "id": 7599, + "id": 7601, "node_type": 44, "src": { "line": 102, @@ -337,12 +337,12 @@ "start": 4105, "end": 4127, "length": 23, - "parent_index": 7598 + "parent_index": 7600 }, - "scope": 7597, + "scope": 7599, "name": "assetsRequested", "type_name": { - "id": 7600, + "id": 7602, "node_type": 30, "src": { "line": 102, @@ -350,7 +350,7 @@ "start": 4105, "end": 4111, "length": 7, - "parent_index": 7599 + "parent_index": 7601 }, "name": "uint256", "referenced_declaration": 0, @@ -368,7 +368,7 @@ } }, { - "id": 7601, + "id": 7603, "node_type": 44, "src": { "line": 102, @@ -376,12 +376,12 @@ "start": 4130, "end": 4147, "length": 18, - "parent_index": 7598 + "parent_index": 7600 }, - "scope": 7597, + "scope": 7599, "name": "assetsSent", "type_name": { - "id": 7602, + "id": 7604, "node_type": 30, "src": { "line": 102, @@ -389,7 +389,7 @@ "start": 4130, "end": 4136, "length": 7, - "parent_index": 7601 + "parent_index": 7603 }, "name": "uint256", "referenced_declaration": 0, @@ -421,12 +421,12 @@ "name": "TransferToL2", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_TransferToL2_\u00267597", + "type_identifier": "t_event\u0026_Global_TransferToL2_\u00267599", "type_string": "event Global.TransferToL2" } }, { - "id": 7603, + "id": 7605, "name": "_HEX_SYMBOLS", "is_constant": true, "is_state_variable": true, @@ -447,7 +447,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7604, + "id": 7606, "node_type": 30, "src": { "line": 128, @@ -455,7 +455,7 @@ "start": 4929, "end": 4935, "length": 7, - "parent_index": 7603 + "parent_index": 7605 }, "name": "bytes16", "referenced_declaration": 0, @@ -465,7 +465,7 @@ } }, "initial_value": { - "id": 7605, + "id": 7607, "node_type": 17, "kind": 50, "value": "0123456789abcdef", @@ -476,7 +476,7 @@ "start": 4969, "end": 4986, "length": 18, - "parent_index": 7603 + "parent_index": 7605 }, "type_description": { "type_identifier": "t_string_literal", @@ -484,11 +484,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { - "id": 7606, + "id": 7608, "name": "_ADDRESS_LENGTH", "is_constant": true, "is_state_variable": true, @@ -509,7 +510,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7607, + "id": 7609, "node_type": 30, "src": { "line": 129, @@ -517,7 +518,7 @@ "start": 4993, "end": 4997, "length": 5, - "parent_index": 7606 + "parent_index": 7608 }, "name": "uint8", "referenced_declaration": 0, @@ -527,7 +528,7 @@ } }, "initial_value": { - "id": 7608, + "id": 7610, "node_type": 17, "kind": 49, "value": "20", @@ -538,7 +539,7 @@ "start": 5034, "end": 5035, "length": 2, - "parent_index": 7606 + "parent_index": 7608 }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -546,11 +547,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { - "id": 7609, + "id": 7611, "name": "temp", "is_constant": true, "is_state_variable": true, @@ -571,7 +573,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7610, + "id": 7612, "node_type": 30, "src": { "line": 141, @@ -579,7 +581,7 @@ "start": 5467, "end": 5473, "length": 7, - "parent_index": 7609 + "parent_index": 7611 }, "name": "uint256", "referenced_declaration": 0, @@ -591,7 +593,7 @@ "initial_value": null }, { - "id": 7611, + "id": 7613, "name": "digits", "is_constant": true, "is_state_variable": true, @@ -612,7 +614,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7612, + "id": 7614, "node_type": 30, "src": { "line": 142, @@ -620,7 +622,7 @@ "start": 5497, "end": 5503, "length": 7, - "parent_index": 7611 + "parent_index": 7613 }, "name": "uint256", "referenced_declaration": 0, @@ -632,7 +634,7 @@ "initial_value": null }, { - "id": 7613, + "id": 7615, "name": "buffer", "is_constant": true, "is_state_variable": true, @@ -653,7 +655,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7614, + "id": 7616, "node_type": 30, "src": { "line": 147, @@ -661,7 +663,7 @@ "start": 5605, "end": 5609, "length": 5, - "parent_index": 7613 + "parent_index": 7615 }, "name": "bytes", "referenced_declaration": 0, @@ -673,7 +675,7 @@ "initial_value": null }, { - "id": 7615, + "id": 7617, "name": "temp", "is_constant": true, "is_state_variable": true, @@ -694,7 +696,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7616, + "id": 7618, "node_type": 30, "src": { "line": 163, @@ -702,7 +704,7 @@ "start": 6093, "end": 6099, "length": 7, - "parent_index": 7615 + "parent_index": 7617 }, "name": "uint256", "referenced_declaration": 0, @@ -714,7 +716,7 @@ "initial_value": null }, { - "id": 7617, + "id": 7619, "name": "length", "is_constant": true, "is_state_variable": true, @@ -735,7 +737,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7618, + "id": 7620, "node_type": 30, "src": { "line": 164, @@ -743,7 +745,7 @@ "start": 6123, "end": 6129, "length": 7, - "parent_index": 7617 + "parent_index": 7619 }, "name": "uint256", "referenced_declaration": 0, @@ -755,7 +757,7 @@ "initial_value": null }, { - "id": 7619, + "id": 7621, "name": "buffer", "is_constant": true, "is_state_variable": true, @@ -776,7 +778,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7620, + "id": 7622, "node_type": 30, "src": { "line": 176, @@ -784,7 +786,7 @@ "start": 6498, "end": 6502, "length": 5, - "parent_index": 7619 + "parent_index": 7621 }, "name": "bytes", "referenced_declaration": 0, @@ -796,7 +798,7 @@ "initial_value": null }, { - "id": 7621, + "id": 7623, "name": "i", "is_constant": true, "is_state_variable": true, @@ -817,7 +819,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7622, + "id": 7624, "node_type": 30, "src": { "line": 179, @@ -825,7 +827,7 @@ "start": 6610, "end": 6616, "length": 7, - "parent_index": 7621 + "parent_index": 7623 }, "name": "uint256", "referenced_declaration": 0, @@ -837,7 +839,7 @@ "initial_value": null }, { - "id": 7623, + "id": 7625, "node_type": 66, "src": { "line": 205, @@ -852,17 +854,17 @@ "start": 7371, "end": 7378, "length": 8, - "parent_index": 7623 + "parent_index": 7625 }, "name": "Rounding", "canonical_name": "Global.Rounding", "type_description": { - "type_identifier": "t_enum_$_Rounding_$7623", + "type_identifier": "t_enum_$_Rounding_$7625", "type_string": "enum Global.Rounding" }, "members": [ { - "id": 7624, + "id": 7626, "node_type": 15, "src": { "line": 206, @@ -870,7 +872,7 @@ "start": 7390, "end": 7393, "length": 3, - "parent_index": 7623 + "parent_index": 7625 }, "name_location": { "line": 206, @@ -878,16 +880,16 @@ "start": 7390, "end": 7393, "length": 4, - "parent_index": 7623 + "parent_index": 7625 }, "name": "Down", "type_description": { - "type_identifier": "t_enum_$_Rounding$_Down_$7624", + "type_identifier": "t_enum_$_Rounding$_Down_$7626", "type_string": "enum Global.Rounding.Down" } }, { - "id": 7625, + "id": 7627, "node_type": 15, "src": { "line": 207, @@ -895,7 +897,7 @@ "start": 7432, "end": 7433, "length": 1, - "parent_index": 7623 + "parent_index": 7625 }, "name_location": { "line": 207, @@ -903,16 +905,16 @@ "start": 7432, "end": 7433, "length": 2, - "parent_index": 7623 + "parent_index": 7625 }, "name": "Up", "type_description": { - "type_identifier": "t_enum_$_Rounding$_Up_$7625", + "type_identifier": "t_enum_$_Rounding$_Up_$7627", "type_string": "enum Global.Rounding.Up" } }, { - "id": 7626, + "id": 7628, "node_type": 15, "src": { "line": 208, @@ -920,7 +922,7 @@ "start": 7463, "end": 7466, "length": 3, - "parent_index": 7623 + "parent_index": 7625 }, "name_location": { "line": 208, @@ -928,18 +930,18 @@ "start": 7463, "end": 7466, "length": 4, - "parent_index": 7623 + "parent_index": 7625 }, "name": "Zero", "type_description": { - "type_identifier": "t_enum_$_Rounding$_Zero_$7626", + "type_identifier": "t_enum_$_Rounding$_Zero_$7628", "type_string": "enum Global.Rounding.Zero" } } ] }, { - "id": 7627, + "id": 7629, "name": "prod0", "is_constant": true, "is_state_variable": true, @@ -960,7 +962,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7628, + "id": 7630, "node_type": 30, "src": { "line": 259, @@ -968,7 +970,7 @@ "start": 9272, "end": 9278, "length": 7, - "parent_index": 7627 + "parent_index": 7629 }, "name": "uint256", "referenced_declaration": 0, @@ -980,7 +982,7 @@ "initial_value": null }, { - "id": 7629, + "id": 7631, "name": "prod1", "is_constant": true, "is_state_variable": true, @@ -1001,7 +1003,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7630, + "id": 7632, "node_type": 30, "src": { "line": 260, @@ -1009,7 +1011,7 @@ "start": 9344, "end": 9350, "length": 7, - "parent_index": 7629 + "parent_index": 7631 }, "name": "uint256", "referenced_declaration": 0, @@ -1021,7 +1023,7 @@ "initial_value": null }, { - "id": 7631, + "id": 7633, "name": "remainder", "is_constant": true, "is_state_variable": true, @@ -1042,7 +1044,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7632, + "id": 7634, "node_type": 30, "src": { "line": 280, @@ -1050,7 +1052,7 @@ "start": 10119, "end": 10125, "length": 7, - "parent_index": 7631 + "parent_index": 7633 }, "name": "uint256", "referenced_declaration": 0, @@ -1062,7 +1064,7 @@ "initial_value": null }, { - "id": 7633, + "id": 7635, "name": "twos", "is_constant": true, "is_state_variable": true, @@ -1083,7 +1085,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7634, + "id": 7636, "node_type": 30, "src": { "line": 294, @@ -1091,7 +1093,7 @@ "start": 10757, "end": 10763, "length": 7, - "parent_index": 7633 + "parent_index": 7635 }, "name": "uint256", "referenced_declaration": 0, @@ -1103,7 +1105,7 @@ "initial_value": null }, { - "id": 7635, + "id": 7637, "name": "inverse", "is_constant": true, "is_state_variable": true, @@ -1124,7 +1126,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7636, + "id": 7638, "node_type": 30, "src": { "line": 312, @@ -1132,7 +1134,7 @@ "start": 11594, "end": 11600, "length": 7, - "parent_index": 7635 + "parent_index": 7637 }, "name": "uint256", "referenced_declaration": 0, @@ -1144,7 +1146,7 @@ "initial_value": null }, { - "id": 7637, + "id": 7639, "name": "result", "is_constant": true, "is_state_variable": true, @@ -1165,7 +1167,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7638, + "id": 7640, "node_type": 30, "src": { "line": 341, @@ -1173,7 +1175,7 @@ "start": 13028, "end": 13034, "length": 7, - "parent_index": 7637 + "parent_index": 7639 }, "name": "uint256", "referenced_declaration": 0, @@ -1185,7 +1187,7 @@ "initial_value": null }, { - "id": 7639, + "id": 7641, "name": "result", "is_constant": true, "is_state_variable": true, @@ -1206,7 +1208,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7640, + "id": 7642, "node_type": 30, "src": { "line": 365, @@ -1214,7 +1216,7 @@ "start": 14201, "end": 14207, "length": 7, - "parent_index": 7639 + "parent_index": 7641 }, "name": "uint256", "referenced_declaration": 0, @@ -1226,7 +1228,7 @@ "initial_value": null }, { - "id": 7641, + "id": 7643, "name": "x", "is_constant": true, "is_state_variable": true, @@ -1247,7 +1249,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7642, + "id": 7644, "node_type": 30, "src": { "line": 366, @@ -1255,7 +1257,7 @@ "start": 14229, "end": 14235, "length": 7, - "parent_index": 7641 + "parent_index": 7643 }, "name": "uint256", "referenced_declaration": 0, @@ -1267,7 +1269,7 @@ "initial_value": null }, { - "id": 7643, + "id": 7645, "name": "result", "is_constant": true, "is_state_variable": true, @@ -1288,7 +1290,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7644, + "id": 7646, "node_type": 30, "src": { "line": 415, @@ -1296,7 +1298,7 @@ "start": 15816, "end": 15822, "length": 7, - "parent_index": 7643 + "parent_index": 7645 }, "name": "uint256", "referenced_declaration": 0, @@ -1308,7 +1310,7 @@ "initial_value": null }, { - "id": 7645, + "id": 7647, "node_type": 57, "src": { "line": 441, @@ -1318,7 +1320,7 @@ "length": 110 }, "parameters": { - "id": 7646, + "id": 7648, "node_type": 43, "src": { "line": 441, @@ -1326,11 +1328,11 @@ "start": 16520, "end": 16629, "length": 110, - "parent_index": 7645 + "parent_index": 7647 }, "parameters": [ { - "id": 7647, + "id": 7649, "node_type": 44, "src": { "line": 441, @@ -1338,12 +1340,12 @@ "start": 16543, "end": 16562, "length": 20, - "parent_index": 7646 + "parent_index": 7648 }, - "scope": 7645, + "scope": 7647, "name": "role", "type_name": { - "id": 7648, + "id": 7650, "node_type": 30, "src": { "line": 441, @@ -1351,7 +1353,7 @@ "start": 16543, "end": 16549, "length": 7, - "parent_index": 7647 + "parent_index": 7649 }, "name": "bytes32", "referenced_declaration": 0, @@ -1370,7 +1372,7 @@ "indexed": true }, { - "id": 7649, + "id": 7651, "node_type": 44, "src": { "line": 441, @@ -1378,12 +1380,12 @@ "start": 16565, "end": 16597, "length": 33, - "parent_index": 7646 + "parent_index": 7648 }, - "scope": 7645, + "scope": 7647, "name": "previousAdminRole", "type_name": { - "id": 7650, + "id": 7652, "node_type": 30, "src": { "line": 441, @@ -1391,7 +1393,7 @@ "start": 16565, "end": 16571, "length": 7, - "parent_index": 7649 + "parent_index": 7651 }, "name": "bytes32", "referenced_declaration": 0, @@ -1410,7 +1412,7 @@ "indexed": true }, { - "id": 7651, + "id": 7653, "node_type": 44, "src": { "line": 441, @@ -1418,12 +1420,12 @@ "start": 16600, "end": 16627, "length": 28, - "parent_index": 7646 + "parent_index": 7648 }, - "scope": 7645, + "scope": 7647, "name": "newAdminRole", "type_name": { - "id": 7652, + "id": 7654, "node_type": 30, "src": { "line": 441, @@ -1431,7 +1433,7 @@ "start": 16600, "end": 16606, "length": 7, - "parent_index": 7651 + "parent_index": 7653 }, "name": "bytes32", "referenced_declaration": 0, @@ -1468,12 +1470,12 @@ "name": "RoleAdminChanged", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_RoleAdminChanged_\u00267645", + "type_identifier": "t_event\u0026_Global_RoleAdminChanged_\u00267647", "type_string": "event Global.RoleAdminChanged" } }, { - "id": 7653, + "id": 7655, "node_type": 57, "src": { "line": 449, @@ -1483,7 +1485,7 @@ "length": 89 }, "parameters": { - "id": 7654, + "id": 7656, "node_type": 43, "src": { "line": 449, @@ -1491,11 +1493,11 @@ "start": 16853, "end": 16941, "length": 89, - "parent_index": 7653 + "parent_index": 7655 }, "parameters": [ { - "id": 7655, + "id": 7657, "node_type": 44, "src": { "line": 449, @@ -1503,12 +1505,12 @@ "start": 16871, "end": 16890, "length": 20, - "parent_index": 7654 + "parent_index": 7656 }, - "scope": 7653, + "scope": 7655, "name": "role", "type_name": { - "id": 7656, + "id": 7658, "node_type": 30, "src": { "line": 449, @@ -1516,7 +1518,7 @@ "start": 16871, "end": 16877, "length": 7, - "parent_index": 7655 + "parent_index": 7657 }, "name": "bytes32", "referenced_declaration": 0, @@ -1535,7 +1537,7 @@ "indexed": true }, { - "id": 7657, + "id": 7659, "node_type": 44, "src": { "line": 449, @@ -1543,12 +1545,12 @@ "start": 16893, "end": 16915, "length": 23, - "parent_index": 7654 + "parent_index": 7656 }, - "scope": 7653, + "scope": 7655, "name": "account", "type_name": { - "id": 7658, + "id": 7660, "node_type": 30, "src": { "line": 449, @@ -1556,7 +1558,7 @@ "start": 16893, "end": 16899, "length": 7, - "parent_index": 7657 + "parent_index": 7659 }, "name": "address", "state_mutability": 4, @@ -1576,7 +1578,7 @@ "indexed": true }, { - "id": 7659, + "id": 7661, "node_type": 44, "src": { "line": 449, @@ -1584,12 +1586,12 @@ "start": 16918, "end": 16939, "length": 22, - "parent_index": 7654 + "parent_index": 7656 }, - "scope": 7653, + "scope": 7655, "name": "sender", "type_name": { - "id": 7660, + "id": 7662, "node_type": 30, "src": { "line": 449, @@ -1597,7 +1599,7 @@ "start": 16918, "end": 16924, "length": 7, - "parent_index": 7659 + "parent_index": 7661 }, "name": "address", "state_mutability": 4, @@ -1635,12 +1637,12 @@ "name": "RoleGranted", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_RoleGranted_\u00267653", + "type_identifier": "t_event\u0026_Global_RoleGranted_\u00267655", "type_string": "event Global.RoleGranted" } }, { - "id": 7661, + "id": 7663, "node_type": 57, "src": { "line": 458, @@ -1650,7 +1652,7 @@ "length": 89 }, "parameters": { - "id": 7662, + "id": 7664, "node_type": 43, "src": { "line": 458, @@ -1658,11 +1660,11 @@ "start": 17228, "end": 17316, "length": 89, - "parent_index": 7661 + "parent_index": 7663 }, "parameters": [ { - "id": 7663, + "id": 7665, "node_type": 44, "src": { "line": 458, @@ -1670,12 +1672,12 @@ "start": 17246, "end": 17265, "length": 20, - "parent_index": 7662 + "parent_index": 7664 }, - "scope": 7661, + "scope": 7663, "name": "role", "type_name": { - "id": 7664, + "id": 7666, "node_type": 30, "src": { "line": 458, @@ -1683,7 +1685,7 @@ "start": 17246, "end": 17252, "length": 7, - "parent_index": 7663 + "parent_index": 7665 }, "name": "bytes32", "referenced_declaration": 0, @@ -1702,7 +1704,7 @@ "indexed": true }, { - "id": 7665, + "id": 7667, "node_type": 44, "src": { "line": 458, @@ -1710,12 +1712,12 @@ "start": 17268, "end": 17290, "length": 23, - "parent_index": 7662 + "parent_index": 7664 }, - "scope": 7661, + "scope": 7663, "name": "account", "type_name": { - "id": 7666, + "id": 7668, "node_type": 30, "src": { "line": 458, @@ -1723,7 +1725,7 @@ "start": 17268, "end": 17274, "length": 7, - "parent_index": 7665 + "parent_index": 7667 }, "name": "address", "state_mutability": 4, @@ -1743,7 +1745,7 @@ "indexed": true }, { - "id": 7667, + "id": 7669, "node_type": 44, "src": { "line": 458, @@ -1751,12 +1753,12 @@ "start": 17293, "end": 17314, "length": 22, - "parent_index": 7662 + "parent_index": 7664 }, - "scope": 7661, + "scope": 7663, "name": "sender", "type_name": { - "id": 7668, + "id": 7670, "node_type": 30, "src": { "line": 458, @@ -1764,7 +1766,7 @@ "start": 17293, "end": 17299, "length": 7, - "parent_index": 7667 + "parent_index": 7669 }, "name": "address", "state_mutability": 4, @@ -1802,12 +1804,12 @@ "name": "RoleRevoked", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_RoleRevoked_\u00267661", + "type_identifier": "t_event\u0026_Global_RoleRevoked_\u00267663", "type_string": "event Global.RoleRevoked" } }, { - "id": 7669, + "id": 7671, "name": "success", "is_constant": true, "is_state_variable": true, @@ -1828,7 +1830,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7670, + "id": 7672, "node_type": 30, "src": { "line": 576, @@ -1836,7 +1838,7 @@ "start": 21494, "end": 21497, "length": 4, - "parent_index": 7669 + "parent_index": 7671 }, "name": "bool", "referenced_declaration": 0, @@ -1848,7 +1850,7 @@ "initial_value": null }, { - "id": 7671, + "id": 7673, "name": "success", "is_constant": true, "is_state_variable": true, @@ -1869,7 +1871,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7672, + "id": 7674, "node_type": 30, "src": { "line": 650, @@ -1877,7 +1879,7 @@ "start": 24216, "end": 24219, "length": 4, - "parent_index": 7671 + "parent_index": 7673 }, "name": "bool", "referenced_declaration": 0, @@ -1889,7 +1891,7 @@ "initial_value": null }, { - "id": 7673, + "id": 7675, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -1910,7 +1912,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7674, + "id": 7676, "node_type": 30, "src": { "line": 650, @@ -1918,7 +1920,7 @@ "start": 24230, "end": 24234, "length": 5, - "parent_index": 7673 + "parent_index": 7675 }, "name": "bytes", "referenced_declaration": 0, @@ -1930,7 +1932,7 @@ "initial_value": null }, { - "id": 7675, + "id": 7677, "name": "success", "is_constant": true, "is_state_variable": true, @@ -1951,7 +1953,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7676, + "id": 7678, "node_type": 30, "src": { "line": 677, @@ -1959,7 +1961,7 @@ "start": 25168, "end": 25171, "length": 4, - "parent_index": 7675 + "parent_index": 7677 }, "name": "bool", "referenced_declaration": 0, @@ -1971,7 +1973,7 @@ "initial_value": null }, { - "id": 7677, + "id": 7679, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -1992,7 +1994,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7678, + "id": 7680, "node_type": 30, "src": { "line": 677, @@ -2000,7 +2002,7 @@ "start": 25182, "end": 25186, "length": 5, - "parent_index": 7677 + "parent_index": 7679 }, "name": "bytes", "referenced_declaration": 0, @@ -2012,7 +2014,7 @@ "initial_value": null }, { - "id": 7679, + "id": 7681, "name": "_initialized", "is_constant": false, "is_state_variable": true, @@ -2033,7 +2035,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7680, + "id": 7682, "node_type": 30, "src": { "line": 772, @@ -2041,7 +2043,7 @@ "start": 28799, "end": 28803, "length": 5, - "parent_index": 7679 + "parent_index": 7681 }, "name": "uint8", "referenced_declaration": 0, @@ -2053,7 +2055,7 @@ "initial_value": null }, { - "id": 7681, + "id": 7683, "name": "_initializing", "is_constant": false, "is_state_variable": true, @@ -2074,7 +2076,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7682, + "id": 7684, "node_type": 30, "src": { "line": 777, @@ -2082,7 +2084,7 @@ "start": 28928, "end": 28931, "length": 4, - "parent_index": 7681 + "parent_index": 7683 }, "name": "bool", "referenced_declaration": 0, @@ -2094,7 +2096,7 @@ "initial_value": null }, { - "id": 7683, + "id": 7685, "node_type": 57, "src": { "line": 782, @@ -2104,7 +2106,7 @@ "length": 33 }, "parameters": { - "id": 7684, + "id": 7686, "node_type": 43, "src": { "line": 782, @@ -2112,11 +2114,11 @@ "start": 29056, "end": 29088, "length": 33, - "parent_index": 7683 + "parent_index": 7685 }, "parameters": [ { - "id": 7685, + "id": 7687, "node_type": 44, "src": { "line": 782, @@ -2124,12 +2126,12 @@ "start": 29074, "end": 29086, "length": 13, - "parent_index": 7684 + "parent_index": 7686 }, - "scope": 7683, + "scope": 7685, "name": "version", "type_name": { - "id": 7686, + "id": 7688, "node_type": 30, "src": { "line": 782, @@ -2137,7 +2139,7 @@ "start": 29074, "end": 29078, "length": 5, - "parent_index": 7685 + "parent_index": 7687 }, "name": "uint8", "referenced_declaration": 0, @@ -2165,12 +2167,12 @@ "name": "Initialized", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Initialized_\u00267683", + "type_identifier": "t_event\u0026_Global_Initialized_\u00267685", "type_string": "event Global.Initialized" } }, { - "id": 7687, + "id": 7689, "name": "isTopLevelCall", "is_constant": true, "is_state_variable": true, @@ -2191,7 +2193,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7688, + "id": 7690, "node_type": 30, "src": { "line": 789, @@ -2199,7 +2201,7 @@ "start": 29375, "end": 29378, "length": 4, - "parent_index": 7687 + "parent_index": 7689 }, "name": "bool", "referenced_declaration": 0, @@ -2211,7 +2213,7 @@ "initial_value": null }, { - "id": 7689, + "id": 7691, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -2232,7 +2234,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7690, + "id": 7692, "node_type": 16, "src": { "line": 886, @@ -2240,12 +2242,12 @@ "start": 33239, "end": 33245, "length": 7, - "parent_index": 7689 + "parent_index": 7691 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 7692, + "id": 7694, "node_type": 17, "kind": 49, "value": "50", @@ -2256,7 +2258,7 @@ "start": 33247, "end": 33248, "length": 2, - "parent_index": 7690 + "parent_index": 7692 }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -2264,7 +2266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -2274,7 +2277,7 @@ "initial_value": null }, { - "id": 7693, + "id": 7695, "name": "_HEX_SYMBOLS", "is_constant": true, "is_state_variable": true, @@ -2295,7 +2298,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7694, + "id": 7696, "node_type": 30, "src": { "line": 899, @@ -2303,7 +2306,7 @@ "start": 33464, "end": 33470, "length": 7, - "parent_index": 7693 + "parent_index": 7695 }, "name": "bytes16", "referenced_declaration": 0, @@ -2313,7 +2316,7 @@ } }, "initial_value": { - "id": 7695, + "id": 7697, "node_type": 17, "kind": 50, "value": "0123456789abcdef", @@ -2324,7 +2327,7 @@ "start": 33504, "end": 33521, "length": 18, - "parent_index": 7693 + "parent_index": 7695 }, "type_description": { "type_identifier": "t_string_literal", @@ -2332,11 +2335,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { - "id": 7696, + "id": 7698, "name": "_ADDRESS_LENGTH", "is_constant": true, "is_state_variable": true, @@ -2357,7 +2361,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7697, + "id": 7699, "node_type": 30, "src": { "line": 900, @@ -2365,7 +2369,7 @@ "start": 33528, "end": 33532, "length": 5, - "parent_index": 7696 + "parent_index": 7698 }, "name": "uint8", "referenced_declaration": 0, @@ -2375,7 +2379,7 @@ } }, "initial_value": { - "id": 7698, + "id": 7700, "node_type": 17, "kind": 49, "value": "20", @@ -2386,7 +2390,7 @@ "start": 33569, "end": 33570, "length": 2, - "parent_index": 7696 + "parent_index": 7698 }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -2394,11 +2398,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { - "id": 7699, + "id": 7701, "name": "temp", "is_constant": true, "is_state_variable": true, @@ -2419,7 +2424,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7700, + "id": 7702, "node_type": 30, "src": { "line": 912, @@ -2427,7 +2432,7 @@ "start": 34002, "end": 34008, "length": 7, - "parent_index": 7699 + "parent_index": 7701 }, "name": "uint256", "referenced_declaration": 0, @@ -2439,7 +2444,7 @@ "initial_value": null }, { - "id": 7701, + "id": 7703, "name": "digits", "is_constant": true, "is_state_variable": true, @@ -2460,7 +2465,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7702, + "id": 7704, "node_type": 30, "src": { "line": 913, @@ -2468,7 +2473,7 @@ "start": 34032, "end": 34038, "length": 7, - "parent_index": 7701 + "parent_index": 7703 }, "name": "uint256", "referenced_declaration": 0, @@ -2480,7 +2485,7 @@ "initial_value": null }, { - "id": 7703, + "id": 7705, "name": "buffer", "is_constant": true, "is_state_variable": true, @@ -2501,7 +2506,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7704, + "id": 7706, "node_type": 30, "src": { "line": 918, @@ -2509,7 +2514,7 @@ "start": 34140, "end": 34144, "length": 5, - "parent_index": 7703 + "parent_index": 7705 }, "name": "bytes", "referenced_declaration": 0, @@ -2521,7 +2526,7 @@ "initial_value": null }, { - "id": 7705, + "id": 7707, "name": "temp", "is_constant": true, "is_state_variable": true, @@ -2542,7 +2547,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7706, + "id": 7708, "node_type": 30, "src": { "line": 934, @@ -2550,7 +2555,7 @@ "start": 34628, "end": 34634, "length": 7, - "parent_index": 7705 + "parent_index": 7707 }, "name": "uint256", "referenced_declaration": 0, @@ -2562,7 +2567,7 @@ "initial_value": null }, { - "id": 7707, + "id": 7709, "name": "length", "is_constant": true, "is_state_variable": true, @@ -2583,7 +2588,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7708, + "id": 7710, "node_type": 30, "src": { "line": 935, @@ -2591,7 +2596,7 @@ "start": 34658, "end": 34664, "length": 7, - "parent_index": 7707 + "parent_index": 7709 }, "name": "uint256", "referenced_declaration": 0, @@ -2603,7 +2608,7 @@ "initial_value": null }, { - "id": 7709, + "id": 7711, "name": "buffer", "is_constant": true, "is_state_variable": true, @@ -2624,7 +2629,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7710, + "id": 7712, "node_type": 30, "src": { "line": 947, @@ -2632,7 +2637,7 @@ "start": 35033, "end": 35037, "length": 5, - "parent_index": 7709 + "parent_index": 7711 }, "name": "bytes", "referenced_declaration": 0, @@ -2644,7 +2649,7 @@ "initial_value": null }, { - "id": 7711, + "id": 7713, "name": "i", "is_constant": true, "is_state_variable": true, @@ -2665,7 +2670,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7712, + "id": 7714, "node_type": 30, "src": { "line": 950, @@ -2673,7 +2678,7 @@ "start": 35145, "end": 35151, "length": 7, - "parent_index": 7711 + "parent_index": 7713 }, "name": "uint256", "referenced_declaration": 0, @@ -2685,7 +2690,7 @@ "initial_value": null }, { - "id": 7713, + "id": 7715, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -2706,7 +2711,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7714, + "id": 7716, "node_type": 16, "src": { "line": 1034, @@ -2714,12 +2719,12 @@ "start": 38021, "end": 38027, "length": 7, - "parent_index": 7713 + "parent_index": 7715 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 7716, + "id": 7718, "node_type": 17, "kind": 49, "value": "50", @@ -2730,7 +2735,7 @@ "start": 38029, "end": 38030, "length": 2, - "parent_index": 7714 + "parent_index": 7716 }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -2738,7 +2743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -2748,7 +2754,7 @@ "initial_value": null }, { - "id": 7717, + "id": 7719, "node_type": 67, "src": { "line": 1093, @@ -2764,16 +2770,16 @@ "start": 40187, "end": 40194, "length": 8, - "parent_index": 7717 + "parent_index": 7719 }, "canonical_name": "Global.RoleData", "type_description": { - "type_identifier": "t_struct$_Global_RoleData_$7717", + "type_identifier": "t_struct$_Global_RoleData_$7719", "type_string": "struct Global.RoleData" }, "members": [ { - "id": 7718, + "id": 7720, "node_type": 44, "src": { "line": 1094, @@ -2781,22 +2787,22 @@ "start": 40206, "end": 40238, "length": 33, - "parent_index": 7717 + "parent_index": 7719 }, "name": "members", "type_name": { - "id": 7719, - "node_type": 0, + "id": 7721, + "node_type": 53, "src": { "line": 1094, "column": 8, "start": 40206, "end": 40229, "length": 24, - "parent_index": 7718 + "parent_index": 7720 }, "key_type": { - "id": 7720, + "id": 7722, "node_type": 30, "src": { "line": 1094, @@ -2804,7 +2810,7 @@ "start": 40214, "end": 40220, "length": 7, - "parent_index": 7719 + "parent_index": 7721 }, "name": "address", "referenced_declaration": 0, @@ -2819,10 +2825,10 @@ "start": 40214, "end": 40220, "length": 7, - "parent_index": 7719 + "parent_index": 7721 }, "value_type": { - "id": 7721, + "id": 7723, "node_type": 30, "src": { "line": 1094, @@ -2830,7 +2836,7 @@ "start": 40225, "end": 40228, "length": 4, - "parent_index": 7719 + "parent_index": 7721 }, "name": "bool", "referenced_declaration": 0, @@ -2845,7 +2851,7 @@ "start": 40225, "end": 40228, "length": 4, - "parent_index": 7719 + "parent_index": 7721 }, "referenced_declaration": 0, "type_description": { @@ -2861,7 +2867,7 @@ } }, { - "id": 7722, + "id": 7724, "node_type": 44, "src": { "line": 1095, @@ -2869,11 +2875,11 @@ "start": 40248, "end": 40265, "length": 18, - "parent_index": 7717 + "parent_index": 7719 }, "name": "adminRole", "type_name": { - "id": 7723, + "id": 7725, "node_type": 30, "src": { "line": 1095, @@ -2881,7 +2887,7 @@ "start": 40248, "end": 40254, "length": 7, - "parent_index": 7722 + "parent_index": 7724 }, "name": "bytes32", "referenced_declaration": 0, @@ -2902,7 +2908,7 @@ "storage_location": 1 }, { - "id": 7724, + "id": 7726, "name": "_roles", "is_constant": false, "is_state_variable": true, @@ -2916,25 +2922,25 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_Global_RoleData_$7719$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "visibility": 2, "storage_location": 1, "mutability": 1, "type_name": { - "id": 7725, - "node_type": 0, + "id": 7727, + "node_type": 69, "src": { "line": 1098, "column": 4, "start": 40278, "end": 40305, "length": 28, - "parent_index": 7724 + "parent_index": 7726 }, "key_type": { - "id": 7726, + "id": 7728, "node_type": 30, "src": { "line": 1098, @@ -2942,7 +2948,7 @@ "start": 40286, "end": 40292, "length": 7, - "parent_index": 7725 + "parent_index": 7727 }, "name": "bytes32", "referenced_declaration": 0, @@ -2957,24 +2963,24 @@ "start": 40286, "end": 40292, "length": 7, - "parent_index": 7725 + "parent_index": 7727 }, "value_type": { - "id": 7727, - "node_type": 30, + "id": 7729, + "node_type": 69, "src": { "line": 1098, "column": 23, "start": 40297, "end": 40304, "length": 8, - "parent_index": 7725 + "parent_index": 7727 }, "name": "RoleData", - "referenced_declaration": 0, + "referenced_declaration": 7719, "type_description": { - "type_identifier": "t_RoleData", - "type_string": "RoleData" + "type_identifier": "t_struct$_Global_RoleData_$7719", + "type_string": "struct Global.RoleData" } }, "value_name_location": { @@ -2983,18 +2989,40 @@ "start": 40297, "end": 40304, "length": 8, - "parent_index": 7725 + "parent_index": 7727 }, - "referenced_declaration": 0, + "path_node": { + "id": 7730, + "name": "RoleData", + "node_type": 52, + "referenced_declaration": 7719, + "src": { + "line": 1098, + "column": 23, + "start": 40297, + "end": 40304, + "length": 8, + "parent_index": 7727 + }, + "name_location": { + "line": 1098, + "column": 23, + "start": 40297, + "end": 40304, + "length": 8, + "parent_index": 7727 + } + }, + "referenced_declaration": 7719, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_Global_RoleData_$7719$", "type_string": "mapping(bytes32=\u003eRoleData)" } }, "initial_value": null }, { - "id": 7728, + "id": 7731, "name": "DEFAULT_ADMIN_ROLE", "is_constant": true, "is_state_variable": true, @@ -3015,7 +3043,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7729, + "id": 7732, "node_type": 30, "src": { "line": 1100, @@ -3023,7 +3051,7 @@ "start": 40328, "end": 40334, "length": 7, - "parent_index": 7728 + "parent_index": 7731 }, "name": "bytes32", "referenced_declaration": 0, @@ -3033,7 +3061,7 @@ } }, "initial_value": { - "id": 7730, + "id": 7733, "node_type": 17, "kind": 49, "value": "0x00", @@ -3044,7 +3072,7 @@ "start": 40373, "end": 40376, "length": 4, - "parent_index": 7728 + "parent_index": 7731 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3052,11 +3080,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x00" } }, { - "id": 7731, + "id": 7734, "name": "previousAdminRole", "is_constant": true, "is_state_variable": true, @@ -3077,7 +3106,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7732, + "id": 7735, "node_type": 30, "src": { "line": 1258, @@ -3085,7 +3114,7 @@ "start": 45476, "end": 45482, "length": 7, - "parent_index": 7731 + "parent_index": 7734 }, "name": "bytes32", "referenced_declaration": 0, @@ -3097,7 +3126,7 @@ "initial_value": null }, { - "id": 7733, + "id": 7736, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -3118,7 +3147,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7734, + "id": 7737, "node_type": 16, "src": { "line": 1296, @@ -3126,12 +3155,12 @@ "start": 46711, "end": 46717, "length": 7, - "parent_index": 7733 + "parent_index": 7736 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 7736, + "id": 7739, "node_type": 17, "kind": 49, "value": "49", @@ -3142,7 +3171,7 @@ "start": 46719, "end": 46720, "length": 2, - "parent_index": 7734 + "parent_index": 7737 }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -3150,7 +3179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -3160,7 +3190,7 @@ "initial_value": null }, { - "id": 7737, + "id": 7740, "node_type": 67, "src": { "line": 1372, @@ -3176,16 +3206,16 @@ "start": 49420, "end": 49430, "length": 11, - "parent_index": 7737 + "parent_index": 7740 }, "canonical_name": "Global.AddressSlot", "type_description": { - "type_identifier": "t_struct$_Global_AddressSlot_$7737", + "type_identifier": "t_struct$_Global_AddressSlot_$7740", "type_string": "struct Global.AddressSlot" }, "members": [ { - "id": 7738, + "id": 7741, "node_type": 44, "src": { "line": 1373, @@ -3193,11 +3223,11 @@ "start": 49442, "end": 49455, "length": 14, - "parent_index": 7737 + "parent_index": 7740 }, "name": "value", "type_name": { - "id": 7739, + "id": 7742, "node_type": 30, "src": { "line": 1373, @@ -3205,7 +3235,7 @@ "start": 49442, "end": 49448, "length": 7, - "parent_index": 7738 + "parent_index": 7741 }, "name": "address", "state_mutability": 4, @@ -3227,7 +3257,7 @@ "storage_location": 1 }, { - "id": 7740, + "id": 7743, "node_type": 67, "src": { "line": 1376, @@ -3243,16 +3273,16 @@ "start": 49475, "end": 49485, "length": 11, - "parent_index": 7740 + "parent_index": 7743 }, "canonical_name": "Global.BooleanSlot", "type_description": { - "type_identifier": "t_struct$_Global_BooleanSlot_$7740", + "type_identifier": "t_struct$_Global_BooleanSlot_$7743", "type_string": "struct Global.BooleanSlot" }, "members": [ { - "id": 7741, + "id": 7744, "node_type": 44, "src": { "line": 1377, @@ -3260,11 +3290,11 @@ "start": 49497, "end": 49507, "length": 11, - "parent_index": 7740 + "parent_index": 7743 }, "name": "value", "type_name": { - "id": 7742, + "id": 7745, "node_type": 30, "src": { "line": 1377, @@ -3272,7 +3302,7 @@ "start": 49497, "end": 49500, "length": 4, - "parent_index": 7741 + "parent_index": 7744 }, "name": "bool", "referenced_declaration": 0, @@ -3293,7 +3323,7 @@ "storage_location": 1 }, { - "id": 7743, + "id": 7746, "node_type": 67, "src": { "line": 1380, @@ -3309,16 +3339,16 @@ "start": 49527, "end": 49537, "length": 11, - "parent_index": 7743 + "parent_index": 7746 }, "canonical_name": "Global.Bytes32Slot", "type_description": { - "type_identifier": "t_struct$_Global_Bytes32Slot_$7743", + "type_identifier": "t_struct$_Global_Bytes32Slot_$7746", "type_string": "struct Global.Bytes32Slot" }, "members": [ { - "id": 7744, + "id": 7747, "node_type": 44, "src": { "line": 1381, @@ -3326,11 +3356,11 @@ "start": 49549, "end": 49562, "length": 14, - "parent_index": 7743 + "parent_index": 7746 }, "name": "value", "type_name": { - "id": 7745, + "id": 7748, "node_type": 30, "src": { "line": 1381, @@ -3338,7 +3368,7 @@ "start": 49549, "end": 49555, "length": 7, - "parent_index": 7744 + "parent_index": 7747 }, "name": "bytes32", "referenced_declaration": 0, @@ -3359,7 +3389,7 @@ "storage_location": 1 }, { - "id": 7746, + "id": 7749, "node_type": 67, "src": { "line": 1384, @@ -3375,16 +3405,16 @@ "start": 49582, "end": 49592, "length": 11, - "parent_index": 7746 + "parent_index": 7749 }, "canonical_name": "Global.Uint256Slot", "type_description": { - "type_identifier": "t_struct$_Global_Uint256Slot_$7746", + "type_identifier": "t_struct$_Global_Uint256Slot_$7749", "type_string": "struct Global.Uint256Slot" }, "members": [ { - "id": 7747, + "id": 7750, "node_type": 44, "src": { "line": 1385, @@ -3392,11 +3422,11 @@ "start": 49604, "end": 49617, "length": 14, - "parent_index": 7746 + "parent_index": 7749 }, "name": "value", "type_name": { - "id": 7748, + "id": 7751, "node_type": 30, "src": { "line": 1385, @@ -3404,7 +3434,7 @@ "start": 49604, "end": 49610, "length": 7, - "parent_index": 7747 + "parent_index": 7750 }, "name": "uint256", "referenced_declaration": 0, @@ -3425,7 +3455,7 @@ "storage_location": 1 }, { - "id": 7749, + "id": 7752, "name": "_ROLLBACK_SLOT", "is_constant": true, "is_state_variable": true, @@ -3446,7 +3476,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7750, + "id": 7753, "node_type": 30, "src": { "line": 1456, @@ -3454,7 +3484,7 @@ "start": 51640, "end": 51646, "length": 7, - "parent_index": 7749 + "parent_index": 7752 }, "name": "bytes32", "referenced_declaration": 0, @@ -3464,7 +3494,7 @@ } }, "initial_value": { - "id": 7751, + "id": 7754, "node_type": 17, "kind": 49, "value": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143", @@ -3475,7 +3505,7 @@ "start": 51682, "end": 51747, "length": 66, - "parent_index": 7749 + "parent_index": 7752 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3483,11 +3513,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, { - "id": 7752, + "id": 7755, "name": "_IMPLEMENTATION_SLOT", "is_constant": true, "is_state_variable": true, @@ -3508,7 +3539,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7753, + "id": 7756, "node_type": 30, "src": { "line": 1463, @@ -3516,7 +3547,7 @@ "start": 51974, "end": 51980, "length": 7, - "parent_index": 7752 + "parent_index": 7755 }, "name": "bytes32", "referenced_declaration": 0, @@ -3526,7 +3557,7 @@ } }, "initial_value": { - "id": 7754, + "id": 7757, "node_type": 17, "kind": 49, "value": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", @@ -3537,7 +3568,7 @@ "start": 52023, "end": 52088, "length": 66, - "parent_index": 7752 + "parent_index": 7755 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3545,11 +3576,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, { - "id": 7755, + "id": 7758, "node_type": 57, "src": { "line": 1468, @@ -3559,7 +3591,7 @@ "length": 47 }, "parameters": { - "id": 7756, + "id": 7759, "node_type": 43, "src": { "line": 1468, @@ -3567,11 +3599,11 @@ "start": 52169, "end": 52215, "length": 47, - "parent_index": 7755 + "parent_index": 7758 }, "parameters": [ { - "id": 7757, + "id": 7760, "node_type": 44, "src": { "line": 1468, @@ -3579,12 +3611,12 @@ "start": 52184, "end": 52213, "length": 30, - "parent_index": 7756 + "parent_index": 7759 }, - "scope": 7755, + "scope": 7758, "name": "implementation", "type_name": { - "id": 7758, + "id": 7761, "node_type": 30, "src": { "line": 1468, @@ -3592,7 +3624,7 @@ "start": 52184, "end": 52190, "length": 7, - "parent_index": 7757 + "parent_index": 7760 }, "name": "address", "state_mutability": 4, @@ -3622,12 +3654,12 @@ "name": "Upgraded", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Upgraded_\u00267755", + "type_identifier": "t_event\u0026_Global_Upgraded_\u00267758", "type_string": "event Global.Upgraded" } }, { - "id": 7759, + "id": 7762, "name": "_ADMIN_SLOT", "is_constant": true, "is_state_variable": true, @@ -3648,7 +3680,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7760, + "id": 7763, "node_type": 30, "src": { "line": 1541, @@ -3656,7 +3688,7 @@ "start": 54843, "end": 54849, "length": 7, - "parent_index": 7759 + "parent_index": 7762 }, "name": "bytes32", "referenced_declaration": 0, @@ -3666,7 +3698,7 @@ } }, "initial_value": { - "id": 7761, + "id": 7764, "node_type": 17, "kind": 49, "value": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", @@ -3677,7 +3709,7 @@ "start": 54883, "end": 54948, "length": 66, - "parent_index": 7759 + "parent_index": 7762 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3685,11 +3717,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, { - "id": 7762, + "id": 7765, "node_type": 57, "src": { "line": 1546, @@ -3699,7 +3732,7 @@ "length": 60 }, "parameters": { - "id": 7763, + "id": 7766, "node_type": 43, "src": { "line": 1546, @@ -3707,11 +3740,11 @@ "start": 55028, "end": 55087, "length": 60, - "parent_index": 7762 + "parent_index": 7765 }, "parameters": [ { - "id": 7764, + "id": 7767, "node_type": 44, "src": { "line": 1546, @@ -3719,12 +3752,12 @@ "start": 55047, "end": 55067, "length": 21, - "parent_index": 7763 + "parent_index": 7766 }, - "scope": 7762, + "scope": 7765, "name": "previousAdmin", "type_name": { - "id": 7765, + "id": 7768, "node_type": 30, "src": { "line": 1546, @@ -3732,7 +3765,7 @@ "start": 55047, "end": 55053, "length": 7, - "parent_index": 7764 + "parent_index": 7767 }, "name": "address", "state_mutability": 4, @@ -3751,7 +3784,7 @@ } }, { - "id": 7766, + "id": 7769, "node_type": 44, "src": { "line": 1546, @@ -3759,12 +3792,12 @@ "start": 55070, "end": 55085, "length": 16, - "parent_index": 7763 + "parent_index": 7766 }, - "scope": 7762, + "scope": 7765, "name": "newAdmin", "type_name": { - "id": 7767, + "id": 7770, "node_type": 30, "src": { "line": 1546, @@ -3772,7 +3805,7 @@ "start": 55070, "end": 55076, "length": 7, - "parent_index": 7766 + "parent_index": 7769 }, "name": "address", "state_mutability": 4, @@ -3805,12 +3838,12 @@ "name": "AdminChanged", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_AdminChanged_\u00267762", + "type_identifier": "t_event\u0026_Global_AdminChanged_\u00267765", "type_string": "event Global.AdminChanged" } }, { - "id": 7768, + "id": 7771, "name": "_BEACON_SLOT", "is_constant": true, "is_state_variable": true, @@ -3831,7 +3864,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7769, + "id": 7772, "node_type": 30, "src": { "line": 1577, @@ -3839,7 +3872,7 @@ "start": 56065, "end": 56071, "length": 7, - "parent_index": 7768 + "parent_index": 7771 }, "name": "bytes32", "referenced_declaration": 0, @@ -3849,7 +3882,7 @@ } }, "initial_value": { - "id": 7770, + "id": 7773, "node_type": 17, "kind": 49, "value": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50", @@ -3860,7 +3893,7 @@ "start": 56106, "end": 56171, "length": 66, - "parent_index": 7768 + "parent_index": 7771 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3868,11 +3901,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, { - "id": 7771, + "id": 7774, "node_type": 57, "src": { "line": 1582, @@ -3882,7 +3916,7 @@ "length": 45 }, "parameters": { - "id": 7772, + "id": 7775, "node_type": 43, "src": { "line": 1582, @@ -3890,11 +3924,11 @@ "start": 56244, "end": 56288, "length": 45, - "parent_index": 7771 + "parent_index": 7774 }, "parameters": [ { - "id": 7773, + "id": 7776, "node_type": 44, "src": { "line": 1582, @@ -3902,12 +3936,12 @@ "start": 56265, "end": 56286, "length": 22, - "parent_index": 7772 + "parent_index": 7775 }, - "scope": 7771, + "scope": 7774, "name": "beacon", "type_name": { - "id": 7774, + "id": 7777, "node_type": 30, "src": { "line": 1582, @@ -3915,7 +3949,7 @@ "start": 56265, "end": 56271, "length": 7, - "parent_index": 7773 + "parent_index": 7776 }, "name": "address", "state_mutability": 4, @@ -3945,12 +3979,12 @@ "name": "BeaconUpgraded", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_BeaconUpgraded_\u00267771", + "type_identifier": "t_event\u0026_Global_BeaconUpgraded_\u00267774", "type_string": "event Global.BeaconUpgraded" } }, { - "id": 7775, + "id": 7778, "name": "success", "is_constant": true, "is_state_variable": true, @@ -3971,7 +4005,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7776, + "id": 7779, "node_type": 30, "src": { "line": 1631, @@ -3979,7 +4013,7 @@ "start": 58085, "end": 58088, "length": 4, - "parent_index": 7775 + "parent_index": 7778 }, "name": "bool", "referenced_declaration": 0, @@ -3991,7 +4025,7 @@ "initial_value": null }, { - "id": 7777, + "id": 7780, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -4012,7 +4046,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7778, + "id": 7781, "node_type": 30, "src": { "line": 1631, @@ -4020,7 +4054,7 @@ "start": 58099, "end": 58103, "length": 5, - "parent_index": 7777 + "parent_index": 7780 }, "name": "bytes", "referenced_declaration": 0, @@ -4032,7 +4066,7 @@ "initial_value": null }, { - "id": 7779, + "id": 7782, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -4053,7 +4087,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7780, + "id": 7783, "node_type": 16, "src": { "line": 1640, @@ -4061,12 +4095,12 @@ "start": 58539, "end": 58545, "length": 7, - "parent_index": 7779 + "parent_index": 7782 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 7782, + "id": 7785, "node_type": 17, "kind": 49, "value": "50", @@ -4077,7 +4111,7 @@ "start": 58547, "end": 58548, "length": 2, - "parent_index": 7780 + "parent_index": 7783 }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -4085,7 +4119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -4095,7 +4130,7 @@ "initial_value": null }, { - "id": 7783, + "id": 7786, "name": "__self", "is_constant": false, "is_state_variable": true, @@ -4116,7 +4151,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 7784, + "id": 7787, "node_type": 30, "src": { "line": 1672, @@ -4124,7 +4159,7 @@ "start": 59835, "end": 59841, "length": 7, - "parent_index": 7783 + "parent_index": 7786 }, "name": "address", "state_mutability": 4, @@ -4135,7 +4170,7 @@ } }, "initial_value": { - "id": 7785, + "id": 7788, "node_type": 24, "kind": 24, "src": { @@ -4144,7 +4179,7 @@ "start": 59870, "end": 59882, "length": 13, - "parent_index": 7783 + "parent_index": 7786 }, "argument_types": [ { @@ -4154,7 +4189,7 @@ ], "arguments": [ { - "id": 7788, + "id": 7791, "node_type": 16, "src": { "line": 1672, @@ -4162,7 +4197,7 @@ "start": 59878, "end": 59881, "length": 4, - "parent_index": 7785 + "parent_index": 7788 }, "name": "this", "type_description": { @@ -4171,11 +4206,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 7786, + "id": 7789, "node_type": 16, "src": { "line": 1672, @@ -4183,11 +4219,11 @@ "start": 59870, "end": 59876, "length": 7, - "parent_index": 7785 + "parent_index": 7788 }, "name": "address", "type_name": { - "id": 7787, + "id": 7790, "node_type": 30, "src": { "line": 1672, @@ -4195,7 +4231,7 @@ "start": 59870, "end": 59876, "length": 7, - "parent_index": 7786 + "parent_index": 7789 }, "name": "address", "state_mutability": 4, @@ -4217,7 +4253,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_magic_this$", @@ -4226,7 +4263,7 @@ } }, { - "id": 7789, + "id": 7792, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -4247,7 +4284,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7790, + "id": 7793, "node_type": 16, "src": { "line": 1750, @@ -4255,12 +4292,12 @@ "start": 63273, "end": 63279, "length": 7, - "parent_index": 7789 + "parent_index": 7792 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 7792, + "id": 7795, "node_type": 17, "kind": 49, "value": "50", @@ -4271,7 +4308,7 @@ "start": 63281, "end": 63282, "length": 2, - "parent_index": 7790 + "parent_index": 7793 }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -4279,7 +4316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -4289,7 +4327,7 @@ "initial_value": null }, { - "id": 7793, + "id": 7796, "node_type": 57, "src": { "line": 1775, @@ -4299,7 +4337,7 @@ "length": 30 }, "parameters": { - "id": 7794, + "id": 7797, "node_type": 43, "src": { "line": 1775, @@ -4307,11 +4345,11 @@ "start": 64099, "end": 64128, "length": 30, - "parent_index": 7793 + "parent_index": 7796 }, "parameters": [ { - "id": 7795, + "id": 7798, "node_type": 44, "src": { "line": 1775, @@ -4319,12 +4357,12 @@ "start": 64112, "end": 64126, "length": 15, - "parent_index": 7794 + "parent_index": 7797 }, - "scope": 7793, + "scope": 7796, "name": "account", "type_name": { - "id": 7796, + "id": 7799, "node_type": 30, "src": { "line": 1775, @@ -4332,7 +4370,7 @@ "start": 64112, "end": 64118, "length": 7, - "parent_index": 7795 + "parent_index": 7798 }, "name": "address", "state_mutability": 4, @@ -4361,12 +4399,12 @@ "name": "Paused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Paused_\u00267793", + "type_identifier": "t_event\u0026_Global_Paused_\u00267796", "type_string": "event Global.Paused" } }, { - "id": 7797, + "id": 7800, "node_type": 57, "src": { "line": 1780, @@ -4376,7 +4414,7 @@ "length": 32 }, "parameters": { - "id": 7798, + "id": 7801, "node_type": 43, "src": { "line": 1780, @@ -4384,11 +4422,11 @@ "start": 64210, "end": 64241, "length": 32, - "parent_index": 7797 + "parent_index": 7800 }, "parameters": [ { - "id": 7799, + "id": 7802, "node_type": 44, "src": { "line": 1780, @@ -4396,12 +4434,12 @@ "start": 64225, "end": 64239, "length": 15, - "parent_index": 7798 + "parent_index": 7801 }, - "scope": 7797, + "scope": 7800, "name": "account", "type_name": { - "id": 7800, + "id": 7803, "node_type": 30, "src": { "line": 1780, @@ -4409,7 +4447,7 @@ "start": 64225, "end": 64231, "length": 7, - "parent_index": 7799 + "parent_index": 7802 }, "name": "address", "state_mutability": 4, @@ -4438,12 +4476,12 @@ "name": "Unpaused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Unpaused_\u00267797", + "type_identifier": "t_event\u0026_Global_Unpaused_\u00267800", "type_string": "event Global.Unpaused" } }, { - "id": 7801, + "id": 7804, "name": "_paused", "is_constant": false, "is_state_variable": true, @@ -4464,7 +4502,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7802, + "id": 7805, "node_type": 30, "src": { "line": 1782, @@ -4472,7 +4510,7 @@ "start": 64248, "end": 64251, "length": 4, - "parent_index": 7801 + "parent_index": 7804 }, "name": "bool", "referenced_declaration": 0, @@ -4484,7 +4522,7 @@ "initial_value": null }, { - "id": 7803, + "id": 7806, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -4505,7 +4543,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7804, + "id": 7807, "node_type": 16, "src": { "line": 1869, @@ -4513,12 +4551,12 @@ "start": 66342, "end": 66348, "length": 7, - "parent_index": 7803 + "parent_index": 7806 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 7806, + "id": 7809, "node_type": 17, "kind": 49, "value": "49", @@ -4529,7 +4567,7 @@ "start": 66350, "end": 66351, "length": 2, - "parent_index": 7804 + "parent_index": 7807 }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -4537,7 +4575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -4547,7 +4586,7 @@ "initial_value": null }, { - "id": 7807, + "id": 7810, "node_type": 57, "src": { "line": 1948, @@ -4557,7 +4596,7 @@ "length": 73 }, "parameters": { - "id": 7808, + "id": 7811, "node_type": 43, "src": { "line": 1948, @@ -4565,11 +4604,11 @@ "start": 70279, "end": 70351, "length": 73, - "parent_index": 7807 + "parent_index": 7810 }, "parameters": [ { - "id": 7809, + "id": 7812, "node_type": 44, "src": { "line": 1948, @@ -4577,12 +4616,12 @@ "start": 70294, "end": 70313, "length": 20, - "parent_index": 7808 + "parent_index": 7811 }, - "scope": 7807, + "scope": 7810, "name": "from", "type_name": { - "id": 7810, + "id": 7813, "node_type": 30, "src": { "line": 1948, @@ -4590,7 +4629,7 @@ "start": 70294, "end": 70300, "length": 7, - "parent_index": 7809 + "parent_index": 7812 }, "name": "address", "state_mutability": 4, @@ -4610,7 +4649,7 @@ "indexed": true }, { - "id": 7811, + "id": 7814, "node_type": 44, "src": { "line": 1948, @@ -4618,12 +4657,12 @@ "start": 70316, "end": 70333, "length": 18, - "parent_index": 7808 + "parent_index": 7811 }, - "scope": 7807, + "scope": 7810, "name": "to", "type_name": { - "id": 7812, + "id": 7815, "node_type": 30, "src": { "line": 1948, @@ -4631,7 +4670,7 @@ "start": 70316, "end": 70322, "length": 7, - "parent_index": 7811 + "parent_index": 7814 }, "name": "address", "state_mutability": 4, @@ -4651,7 +4690,7 @@ "indexed": true }, { - "id": 7813, + "id": 7816, "node_type": 44, "src": { "line": 1948, @@ -4659,12 +4698,12 @@ "start": 70336, "end": 70349, "length": 14, - "parent_index": 7808 + "parent_index": 7811 }, - "scope": 7807, + "scope": 7810, "name": "amount", "type_name": { - "id": 7814, + "id": 7817, "node_type": 30, "src": { "line": 1948, @@ -4672,7 +4711,7 @@ "start": 70336, "end": 70342, "length": 7, - "parent_index": 7813 + "parent_index": 7816 }, "name": "uint256", "referenced_declaration": 0, @@ -4708,12 +4747,12 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Transfer_\u00267807", + "type_identifier": "t_event\u0026_Global_Transfer_\u00267810", "type_string": "event Global.Transfer" } }, { - "id": 7815, + "id": 7818, "node_type": 57, "src": { "line": 1950, @@ -4723,7 +4762,7 @@ "length": 79 }, "parameters": { - "id": 7816, + "id": 7819, "node_type": 43, "src": { "line": 1950, @@ -4731,11 +4770,11 @@ "start": 70358, "end": 70436, "length": 79, - "parent_index": 7815 + "parent_index": 7818 }, "parameters": [ { - "id": 7817, + "id": 7820, "node_type": 44, "src": { "line": 1950, @@ -4743,12 +4782,12 @@ "start": 70373, "end": 70393, "length": 21, - "parent_index": 7816 + "parent_index": 7819 }, - "scope": 7815, + "scope": 7818, "name": "owner", "type_name": { - "id": 7818, + "id": 7821, "node_type": 30, "src": { "line": 1950, @@ -4756,7 +4795,7 @@ "start": 70373, "end": 70379, "length": 7, - "parent_index": 7817 + "parent_index": 7820 }, "name": "address", "state_mutability": 4, @@ -4776,7 +4815,7 @@ "indexed": true }, { - "id": 7819, + "id": 7822, "node_type": 44, "src": { "line": 1950, @@ -4784,12 +4823,12 @@ "start": 70396, "end": 70418, "length": 23, - "parent_index": 7816 + "parent_index": 7819 }, - "scope": 7815, + "scope": 7818, "name": "spender", "type_name": { - "id": 7820, + "id": 7823, "node_type": 30, "src": { "line": 1950, @@ -4797,7 +4836,7 @@ "start": 70396, "end": 70402, "length": 7, - "parent_index": 7819 + "parent_index": 7822 }, "name": "address", "state_mutability": 4, @@ -4817,7 +4856,7 @@ "indexed": true }, { - "id": 7821, + "id": 7824, "node_type": 44, "src": { "line": 1950, @@ -4825,12 +4864,12 @@ "start": 70421, "end": 70434, "length": 14, - "parent_index": 7816 + "parent_index": 7819 }, - "scope": 7815, + "scope": 7818, "name": "amount", "type_name": { - "id": 7822, + "id": 7825, "node_type": 30, "src": { "line": 1950, @@ -4838,7 +4877,7 @@ "start": 70421, "end": 70427, "length": 7, - "parent_index": 7821 + "parent_index": 7824 }, "name": "uint256", "referenced_declaration": 0, @@ -4874,12 +4913,12 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Approval_\u00267815", + "type_identifier": "t_event\u0026_Global_Approval_\u00267818", "type_string": "event Global.Approval" } }, { - "id": 7823, + "id": 7826, "name": "name", "is_constant": false, "is_state_variable": true, @@ -4900,7 +4939,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7824, + "id": 7827, "node_type": 30, "src": { "line": 1956, @@ -4908,7 +4947,7 @@ "start": 70627, "end": 70632, "length": 6, - "parent_index": 7823 + "parent_index": 7826 }, "name": "string", "referenced_declaration": 0, @@ -4920,7 +4959,7 @@ "initial_value": null }, { - "id": 7825, + "id": 7828, "name": "symbol", "is_constant": false, "is_state_variable": true, @@ -4941,7 +4980,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7826, + "id": 7829, "node_type": 30, "src": { "line": 1958, @@ -4949,7 +4988,7 @@ "start": 70652, "end": 70657, "length": 6, - "parent_index": 7825 + "parent_index": 7828 }, "name": "string", "referenced_declaration": 0, @@ -4961,7 +5000,7 @@ "initial_value": null }, { - "id": 7827, + "id": 7830, "name": "decimals", "is_constant": false, "is_state_variable": true, @@ -4982,7 +5021,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 7828, + "id": 7831, "node_type": 30, "src": { "line": 1960, @@ -4990,7 +5029,7 @@ "start": 70679, "end": 70683, "length": 5, - "parent_index": 7827 + "parent_index": 7830 }, "name": "uint8", "referenced_declaration": 0, @@ -5002,7 +5041,7 @@ "initial_value": null }, { - "id": 7829, + "id": 7832, "name": "totalSupply", "is_constant": false, "is_state_variable": true, @@ -5023,7 +5062,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7830, + "id": 7833, "node_type": 30, "src": { "line": 1966, @@ -5031,7 +5070,7 @@ "start": 70900, "end": 70906, "length": 7, - "parent_index": 7829 + "parent_index": 7832 }, "name": "uint256", "referenced_declaration": 0, @@ -5043,7 +5082,7 @@ "initial_value": null }, { - "id": 7831, + "id": 7834, "name": "balanceOf", "is_constant": false, "is_state_variable": true, @@ -5064,18 +5103,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7832, - "node_type": 0, + "id": 7835, + "node_type": 53, "src": { "line": 1968, "column": 4, "start": 70933, "end": 70959, "length": 27, - "parent_index": 7831 + "parent_index": 7834 }, "key_type": { - "id": 7833, + "id": 7836, "node_type": 30, "src": { "line": 1968, @@ -5083,7 +5122,7 @@ "start": 70941, "end": 70947, "length": 7, - "parent_index": 7832 + "parent_index": 7835 }, "name": "address", "referenced_declaration": 0, @@ -5098,10 +5137,10 @@ "start": 70941, "end": 70947, "length": 7, - "parent_index": 7832 + "parent_index": 7835 }, "value_type": { - "id": 7834, + "id": 7837, "node_type": 30, "src": { "line": 1968, @@ -5109,7 +5148,7 @@ "start": 70952, "end": 70958, "length": 7, - "parent_index": 7832 + "parent_index": 7835 }, "name": "uint256", "referenced_declaration": 0, @@ -5124,7 +5163,7 @@ "start": 70952, "end": 70958, "length": 7, - "parent_index": 7832 + "parent_index": 7835 }, "referenced_declaration": 0, "type_description": { @@ -5135,7 +5174,7 @@ "initial_value": null }, { - "id": 7835, + "id": 7838, "name": "allowance", "is_constant": false, "is_state_variable": true, @@ -5156,18 +5195,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7836, - "node_type": 0, + "id": 7839, + "node_type": 53, "src": { "line": 1970, "column": 4, "start": 70984, "end": 71030, "length": 47, - "parent_index": 7835 + "parent_index": 7838 }, "key_type": { - "id": 7837, + "id": 7840, "node_type": 30, "src": { "line": 1970, @@ -5175,7 +5214,7 @@ "start": 70992, "end": 70998, "length": 7, - "parent_index": 7836 + "parent_index": 7839 }, "name": "address", "referenced_declaration": 0, @@ -5190,10 +5229,10 @@ "start": 70992, "end": 70998, "length": 7, - "parent_index": 7836 + "parent_index": 7839 }, "value_type": { - "id": 7838, + "id": 7841, "node_type": 53, "src": { "line": 1970, @@ -5201,11 +5240,11 @@ "start": 71003, "end": 71029, "length": 27, - "parent_index": 7836 + "parent_index": 7839 }, "name": "mapping(address=\u003euint256)", "key_type": { - "id": 7840, + "id": 7843, "node_type": 30, "src": { "line": 1970, @@ -5213,7 +5252,7 @@ "start": 71011, "end": 71017, "length": 7, - "parent_index": 7836 + "parent_index": 7839 }, "name": "address", "referenced_declaration": 0, @@ -5228,10 +5267,10 @@ "start": 71011, "end": 71017, "length": 7, - "parent_index": 7838 + "parent_index": 7841 }, "value_type": { - "id": 7841, + "id": 7844, "node_type": 30, "src": { "line": 1970, @@ -5239,7 +5278,7 @@ "start": 71022, "end": 71028, "length": 7, - "parent_index": 7836 + "parent_index": 7839 }, "name": "uint256", "referenced_declaration": 0, @@ -5254,7 +5293,7 @@ "start": 71022, "end": 71028, "length": 7, - "parent_index": 7838 + "parent_index": 7841 }, "referenced_declaration": 0, "type_description": { @@ -5268,7 +5307,7 @@ "start": 71003, "end": 71029, "length": 27, - "parent_index": 7836 + "parent_index": 7839 }, "referenced_declaration": 0, "type_description": { @@ -5279,7 +5318,7 @@ "initial_value": null }, { - "id": 7842, + "id": 7845, "name": "INITIAL_CHAIN_ID", "is_constant": false, "is_state_variable": true, @@ -5300,7 +5339,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 7843, + "id": 7846, "node_type": 30, "src": { "line": 1976, @@ -5308,7 +5347,7 @@ "start": 71239, "end": 71245, "length": 7, - "parent_index": 7842 + "parent_index": 7845 }, "name": "uint256", "referenced_declaration": 0, @@ -5320,7 +5359,7 @@ "initial_value": null }, { - "id": 7844, + "id": 7847, "name": "INITIAL_DOMAIN_SEPARATOR", "is_constant": false, "is_state_variable": true, @@ -5341,7 +5380,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 7845, + "id": 7848, "node_type": 30, "src": { "line": 1978, @@ -5349,7 +5388,7 @@ "start": 71289, "end": 71295, "length": 7, - "parent_index": 7844 + "parent_index": 7847 }, "name": "bytes32", "referenced_declaration": 0, @@ -5361,7 +5400,7 @@ "initial_value": null }, { - "id": 7846, + "id": 7849, "name": "nonces", "is_constant": false, "is_state_variable": true, @@ -5382,18 +5421,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7847, - "node_type": 0, + "id": 7850, + "node_type": 53, "src": { "line": 1980, "column": 4, "start": 71347, "end": 71373, "length": 27, - "parent_index": 7846 + "parent_index": 7849 }, "key_type": { - "id": 7848, + "id": 7851, "node_type": 30, "src": { "line": 1980, @@ -5401,7 +5440,7 @@ "start": 71355, "end": 71361, "length": 7, - "parent_index": 7847 + "parent_index": 7850 }, "name": "address", "referenced_declaration": 0, @@ -5416,10 +5455,10 @@ "start": 71355, "end": 71361, "length": 7, - "parent_index": 7847 + "parent_index": 7850 }, "value_type": { - "id": 7849, + "id": 7852, "node_type": 30, "src": { "line": 1980, @@ -5427,7 +5466,7 @@ "start": 71366, "end": 71372, "length": 7, - "parent_index": 7847 + "parent_index": 7850 }, "name": "uint256", "referenced_declaration": 0, @@ -5442,7 +5481,7 @@ "start": 71366, "end": 71372, "length": 7, - "parent_index": 7847 + "parent_index": 7850 }, "referenced_declaration": 0, "type_description": { @@ -5453,7 +5492,7 @@ "initial_value": null }, { - "id": 7850, + "id": 7853, "name": "allowed", "is_constant": true, "is_state_variable": true, @@ -5474,7 +5513,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7851, + "id": 7854, "node_type": 30, "src": { "line": 2030, @@ -5482,7 +5521,7 @@ "start": 72787, "end": 72793, "length": 7, - "parent_index": 7850 + "parent_index": 7853 }, "name": "uint256", "referenced_declaration": 0, @@ -5494,7 +5533,7 @@ "initial_value": null }, { - "id": 7852, + "id": 7855, "name": "recoveredAddress", "is_constant": true, "is_state_variable": true, @@ -5515,7 +5554,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7853, + "id": 7856, "node_type": 30, "src": { "line": 2065, @@ -5523,7 +5562,7 @@ "start": 73861, "end": 73867, "length": 7, - "parent_index": 7852 + "parent_index": 7855 }, "name": "address", "state_mutability": 4, @@ -5536,7 +5575,7 @@ "initial_value": null }, { - "id": 7854, + "id": 7857, "name": "success", "is_constant": true, "is_state_variable": true, @@ -5557,7 +5596,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7855, + "id": 7858, "node_type": 30, "src": { "line": 2159, @@ -5565,7 +5604,7 @@ "start": 77270, "end": 77273, "length": 4, - "parent_index": 7854 + "parent_index": 7857 }, "name": "bool", "referenced_declaration": 0, @@ -5577,7 +5616,7 @@ "initial_value": null }, { - "id": 7856, + "id": 7859, "name": "success", "is_constant": true, "is_state_variable": true, @@ -5598,7 +5637,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7857, + "id": 7860, "node_type": 30, "src": { "line": 2179, @@ -5606,7 +5645,7 @@ "start": 77822, "end": 77825, "length": 4, - "parent_index": 7856 + "parent_index": 7859 }, "name": "bool", "referenced_declaration": 0, @@ -5618,7 +5657,7 @@ "initial_value": null }, { - "id": 7858, + "id": 7861, "name": "success", "is_constant": true, "is_state_variable": true, @@ -5639,7 +5678,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7859, + "id": 7862, "node_type": 30, "src": { "line": 2211, @@ -5647,7 +5686,7 @@ "start": 79375, "end": 79378, "length": 4, - "parent_index": 7858 + "parent_index": 7861 }, "name": "bool", "referenced_declaration": 0, @@ -5659,7 +5698,7 @@ "initial_value": null }, { - "id": 7860, + "id": 7863, "name": "success", "is_constant": true, "is_state_variable": true, @@ -5680,7 +5719,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7861, + "id": 7864, "node_type": 30, "src": { "line": 2242, @@ -5688,7 +5727,7 @@ "start": 80836, "end": 80839, "length": 4, - "parent_index": 7860 + "parent_index": 7863 }, "name": "bool", "referenced_declaration": 0, @@ -5700,7 +5739,7 @@ "initial_value": null }, { - "id": 7862, + "id": 7865, "name": "governance", "is_constant": false, "is_state_variable": true, @@ -5721,7 +5760,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7863, + "id": 7866, "node_type": 30, "src": { "line": 2275, @@ -5729,7 +5768,7 @@ "start": 82318, "end": 82324, "length": 7, - "parent_index": 7862 + "parent_index": 7865 }, "name": "address", "state_mutability": 4, @@ -5742,7 +5781,7 @@ "initial_value": null }, { - "id": 7864, + "id": 7867, "name": "vault", "is_constant": false, "is_state_variable": true, @@ -5756,14 +5795,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 7865, + "id": 7868, "node_type": 69, "src": { "line": 2306, @@ -5771,20 +5810,20 @@ "start": 83072, "end": 83080, "length": 9, - "parent_index": 7864 + "parent_index": 7867 }, "path_node": { - "id": 7866, + "id": 7869, "name": "BaseVault", "node_type": 52, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "src": { "line": 2306, "column": 4, "start": 83072, "end": 83080, "length": 9, - "parent_index": 7865 + "parent_index": 7868 }, "name_location": { "line": 2306, @@ -5792,19 +5831,19 @@ "start": 83072, "end": 83080, "length": 9, - "parent_index": 7865 + "parent_index": 7868 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "initial_value": null }, { - "id": 7867, + "id": 7870, "name": "asset", "is_constant": false, "is_state_variable": true, @@ -5818,14 +5857,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 7868, + "id": 7871, "node_type": 69, "src": { "line": 2319, @@ -5833,20 +5872,20 @@ "start": 83418, "end": 83422, "length": 5, - "parent_index": 7867 + "parent_index": 7870 }, "path_node": { - "id": 7869, + "id": 7872, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2319, "column": 4, "start": 83418, "end": 83422, "length": 5, - "parent_index": 7868 + "parent_index": 7871 }, "name_location": { "line": 2319, @@ -5854,19 +5893,19 @@ "start": 83418, "end": 83422, "length": 5, - "parent_index": 7868 + "parent_index": 7871 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "initial_value": null }, { - "id": 7870, + "id": 7873, "name": "_asset", "is_constant": false, "is_state_variable": true, @@ -5880,14 +5919,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 7871, + "id": 7874, "node_type": 69, "src": { "line": 2391, @@ -5895,20 +5934,20 @@ "start": 86409, "end": 86413, "length": 5, - "parent_index": 7870 + "parent_index": 7873 }, "path_node": { - "id": 7872, + "id": 7875, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2391, "column": 4, "start": 86409, "end": 86413, "length": 5, - "parent_index": 7871 + "parent_index": 7874 }, "name_location": { "line": 2391, @@ -5916,19 +5955,19 @@ "start": 86409, "end": 86413, "length": 5, - "parent_index": 7871 + "parent_index": 7874 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "initial_value": null }, { - "id": 7873, + "id": 7876, "name": "wormholeRouter", "is_constant": false, "is_state_variable": true, @@ -5949,7 +5988,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7874, + "id": 7877, "node_type": 30, "src": { "line": 2430, @@ -5957,7 +5996,7 @@ "start": 87822, "end": 87828, "length": 7, - "parent_index": 7873 + "parent_index": 7876 }, "name": "address", "state_mutability": 4, @@ -5970,7 +6009,7 @@ "initial_value": null }, { - "id": 7875, + "id": 7878, "name": "bridgeEscrow", "is_constant": false, "is_state_variable": true, @@ -5984,14 +6023,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 7876, + "id": 7879, "node_type": 69, "src": { "line": 2432, @@ -5999,20 +6038,20 @@ "start": 87950, "end": 87961, "length": 12, - "parent_index": 7875 + "parent_index": 7878 }, "path_node": { - "id": 7877, + "id": 7880, "name": "BridgeEscrow", "node_type": 52, - "referenced_declaration": 6344, + "referenced_declaration": 6346, "src": { "line": 2432, "column": 4, "start": 87950, "end": 87961, "length": 12, - "parent_index": 7876 + "parent_index": 7879 }, "name_location": { "line": 2432, @@ -6020,19 +6059,19 @@ "start": 87950, "end": 87961, "length": 12, - "parent_index": 7876 + "parent_index": 7879 } }, - "referenced_declaration": 6344, + "referenced_declaration": 6346, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" } }, "initial_value": null }, { - "id": 7878, + "id": 7881, "node_type": 57, "src": { "line": 2457, @@ -6042,7 +6081,7 @@ "length": 78 }, "parameters": { - "id": 7879, + "id": 7882, "node_type": 43, "src": { "line": 2457, @@ -6050,11 +6089,11 @@ "start": 88774, "end": 88851, "length": 78, - "parent_index": 7878 + "parent_index": 7881 }, "parameters": [ { - "id": 7880, + "id": 7883, "node_type": 44, "src": { "line": 2457, @@ -6062,12 +6101,12 @@ "start": 88798, "end": 88822, "length": 25, - "parent_index": 7879 + "parent_index": 7882 }, - "scope": 7878, + "scope": 7881, "name": "oldRouter", "type_name": { - "id": 7881, + "id": 7884, "node_type": 30, "src": { "line": 2457, @@ -6075,7 +6114,7 @@ "start": 88798, "end": 88804, "length": 7, - "parent_index": 7880 + "parent_index": 7883 }, "name": "address", "state_mutability": 4, @@ -6095,7 +6134,7 @@ "indexed": true }, { - "id": 7882, + "id": 7885, "node_type": 44, "src": { "line": 2457, @@ -6103,12 +6142,12 @@ "start": 88825, "end": 88849, "length": 25, - "parent_index": 7879 + "parent_index": 7882 }, - "scope": 7878, + "scope": 7881, "name": "newRouter", "type_name": { - "id": 7883, + "id": 7886, "node_type": 30, "src": { "line": 2457, @@ -6116,7 +6155,7 @@ "start": 88825, "end": 88831, "length": 7, - "parent_index": 7882 + "parent_index": 7885 }, "name": "address", "state_mutability": 4, @@ -6150,12 +6189,12 @@ "name": "WormholeRouterSet", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_WormholeRouterSet_\u00267878", + "type_identifier": "t_event\u0026_Global_WormholeRouterSet_\u00267881", "type_string": "event Global.WormholeRouterSet" } }, { - "id": 7884, + "id": 7887, "node_type": 57, "src": { "line": 2463, @@ -6165,7 +6204,7 @@ "length": 76 }, "parameters": { - "id": 7885, + "id": 7888, "node_type": 43, "src": { "line": 2463, @@ -6173,11 +6212,11 @@ "start": 89004, "end": 89079, "length": 76, - "parent_index": 7884 + "parent_index": 7887 }, "parameters": [ { - "id": 7886, + "id": 7889, "node_type": 44, "src": { "line": 2463, @@ -6185,12 +6224,12 @@ "start": 89026, "end": 89050, "length": 25, - "parent_index": 7885 + "parent_index": 7888 }, - "scope": 7884, + "scope": 7887, "name": "oldEscrow", "type_name": { - "id": 7887, + "id": 7890, "node_type": 30, "src": { "line": 2463, @@ -6198,7 +6237,7 @@ "start": 89026, "end": 89032, "length": 7, - "parent_index": 7886 + "parent_index": 7889 }, "name": "address", "state_mutability": 4, @@ -6218,7 +6257,7 @@ "indexed": true }, { - "id": 7888, + "id": 7891, "node_type": 44, "src": { "line": 2463, @@ -6226,12 +6265,12 @@ "start": 89053, "end": 89077, "length": 25, - "parent_index": 7885 + "parent_index": 7888 }, - "scope": 7884, + "scope": 7887, "name": "newEscrow", "type_name": { - "id": 7889, + "id": 7892, "node_type": 30, "src": { "line": 2463, @@ -6239,7 +6278,7 @@ "start": 89053, "end": 89059, "length": 7, - "parent_index": 7888 + "parent_index": 7891 }, "name": "address", "state_mutability": 4, @@ -6273,12 +6312,12 @@ "name": "BridgeEscrowSet", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267884", + "type_identifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267887", "type_string": "event Global.BridgeEscrowSet" } }, { - "id": 7890, + "id": 7893, "name": "HARVESTER", "is_constant": true, "is_state_variable": true, @@ -6299,7 +6338,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7891, + "id": 7894, "node_type": 30, "src": { "line": 2470, @@ -6307,7 +6346,7 @@ "start": 89353, "end": 89359, "length": 7, - "parent_index": 7890 + "parent_index": 7893 }, "name": "bytes32", "referenced_declaration": 0, @@ -6317,7 +6356,7 @@ } }, "initial_value": { - "id": 7892, + "id": 7895, "node_type": 24, "kind": 24, "src": { @@ -6326,7 +6365,7 @@ "start": 89389, "end": 89410, "length": 22, - "parent_index": 7890 + "parent_index": 7893 }, "argument_types": [ { @@ -6336,7 +6375,7 @@ ], "arguments": [ { - "id": 7894, + "id": 7897, "node_type": 17, "kind": 50, "value": "HARVESTER", @@ -6347,7 +6386,7 @@ "start": 89399, "end": 89409, "length": 11, - "parent_index": 7892 + "parent_index": 7895 }, "type_description": { "type_identifier": "t_string_literal", @@ -6355,11 +6394,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"HARVESTER\"" } ], "expression": { - "id": 7893, + "id": 7896, "node_type": 16, "src": { "line": 2470, @@ -6367,7 +6407,7 @@ "start": 89389, "end": 89397, "length": 9, - "parent_index": 7892 + "parent_index": 7895 }, "name": "keccak256", "type_description": { @@ -6376,7 +6416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -6385,7 +6426,7 @@ } }, { - "id": 7895, + "id": 7898, "name": "MAX_STRATEGIES", "is_constant": true, "is_state_variable": true, @@ -6406,7 +6447,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7896, + "id": 7899, "node_type": 30, "src": { "line": 2476, @@ -6414,7 +6455,7 @@ "start": 89602, "end": 89606, "length": 5, - "parent_index": 7895 + "parent_index": 7898 }, "name": "uint8", "referenced_declaration": 0, @@ -6424,7 +6465,7 @@ } }, "initial_value": { - "id": 7897, + "id": 7900, "node_type": 17, "kind": 49, "value": "20", @@ -6435,7 +6476,7 @@ "start": 89634, "end": 89635, "length": 2, - "parent_index": 7895 + "parent_index": 7898 }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -6443,11 +6484,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { - "id": 7898, + "id": 7901, "name": "withdrawalQueue", "is_constant": false, "is_state_variable": true, @@ -6468,7 +6510,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7899, + "id": 7902, "node_type": 16, "src": { "line": 2484, @@ -6476,26 +6518,26 @@ "start": 90055, "end": 90062, "length": 8, - "parent_index": 7898 + "parent_index": 7901 }, "name": "function", "path_node": { - "id": 7900, + "id": 7903, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2484, "column": 4, "start": 90055, "end": 90062, "length": 8, - "parent_index": 7899 + "parent_index": 7902 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 7902, + "id": 7905, "node_type": 16, "src": { "line": 2484, @@ -6503,7 +6545,7 @@ "start": 90064, "end": 90077, "length": 14, - "parent_index": 7899 + "parent_index": 7902 }, "name": "MAX_STRATEGIES", "type_description": { @@ -6511,8 +6553,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 7895, - "is_pure": false + "referenced_declaration": 7898, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -6522,7 +6565,7 @@ "initial_value": null }, { - "id": 7903, + "id": 7906, "node_type": 57, "src": { "line": 2513, @@ -6532,7 +6575,7 @@ "length": 60 }, "parameters": { - "id": 7904, + "id": 7907, "node_type": 43, "src": { "line": 2513, @@ -6540,11 +6583,11 @@ "start": 91011, "end": 91070, "length": 60, - "parent_index": 7903 + "parent_index": 7906 }, "parameters": [ { - "id": 7905, + "id": 7908, "node_type": 44, "src": { "line": 2513, @@ -6552,12 +6595,12 @@ "start": 91036, "end": 91068, "length": 33, - "parent_index": 7904 + "parent_index": 7907 }, - "scope": 7903, + "scope": 7906, "name": "newQueue", "type_name": { - "id": 7906, + "id": 7909, "node_type": 16, "src": { "line": 2513, @@ -6565,26 +6608,26 @@ "start": 91036, "end": 91043, "length": 8, - "parent_index": 7905 + "parent_index": 7908 }, "name": "function", "path_node": { - "id": 7907, + "id": 7910, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2513, "column": 29, "start": 91036, "end": 91043, "length": 8, - "parent_index": 7906 + "parent_index": 7909 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 7909, + "id": 7912, "node_type": 16, "src": { "line": 2513, @@ -6592,7 +6635,7 @@ "start": 91045, "end": 91058, "length": 14, - "parent_index": 7906 + "parent_index": 7909 }, "name": "MAX_STRATEGIES", "type_description": { @@ -6600,8 +6643,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 7895, - "is_pure": false + "referenced_declaration": 7898, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -6627,12 +6671,12 @@ "name": "WithdrawalQueueSet", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267903", + "type_identifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267906", "type_string": "event Global.WithdrawalQueueSet" } }, { - "id": 7910, + "id": 7913, "name": "totalStrategyHoldings", "is_constant": false, "is_state_variable": true, @@ -6653,7 +6697,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7911, + "id": 7914, "node_type": 30, "src": { "line": 2520, @@ -6661,7 +6705,7 @@ "start": 91364, "end": 91370, "length": 7, - "parent_index": 7910 + "parent_index": 7913 }, "name": "uint256", "referenced_declaration": 0, @@ -6673,7 +6717,7 @@ "initial_value": null }, { - "id": 7912, + "id": 7915, "node_type": 67, "src": { "line": 2522, @@ -6689,16 +6733,16 @@ "start": 91414, "end": 91425, "length": 12, - "parent_index": 7912 + "parent_index": 7915 }, "canonical_name": "Global.StrategyInfo", "type_description": { - "type_identifier": "t_struct$_Global_StrategyInfo_$7912", + "type_identifier": "t_struct$_Global_StrategyInfo_$7915", "type_string": "struct Global.StrategyInfo" }, "members": [ { - "id": 7913, + "id": 7916, "node_type": 44, "src": { "line": 2523, @@ -6706,11 +6750,11 @@ "start": 91437, "end": 91450, "length": 14, - "parent_index": 7912 + "parent_index": 7915 }, "name": "isActive", "type_name": { - "id": 7914, + "id": 7917, "node_type": 30, "src": { "line": 2523, @@ -6718,7 +6762,7 @@ "start": 91437, "end": 91440, "length": 4, - "parent_index": 7913 + "parent_index": 7916 }, "name": "bool", "referenced_declaration": 0, @@ -6735,7 +6779,7 @@ } }, { - "id": 7915, + "id": 7918, "node_type": 44, "src": { "line": 2524, @@ -6743,11 +6787,11 @@ "start": 91460, "end": 91473, "length": 14, - "parent_index": 7912 + "parent_index": 7915 }, "name": "tvlBps", "type_name": { - "id": 7916, + "id": 7919, "node_type": 30, "src": { "line": 2524, @@ -6755,7 +6799,7 @@ "start": 91460, "end": 91465, "length": 6, - "parent_index": 7915 + "parent_index": 7918 }, "name": "uint16", "referenced_declaration": 0, @@ -6772,7 +6816,7 @@ } }, { - "id": 7917, + "id": 7920, "node_type": 44, "src": { "line": 2525, @@ -6780,11 +6824,11 @@ "start": 91483, "end": 91498, "length": 16, - "parent_index": 7912 + "parent_index": 7915 }, "name": "balance", "type_name": { - "id": 7918, + "id": 7921, "node_type": 30, "src": { "line": 2525, @@ -6792,7 +6836,7 @@ "start": 91483, "end": 91489, "length": 7, - "parent_index": 7917 + "parent_index": 7920 }, "name": "uint232", "referenced_declaration": 0, @@ -6813,7 +6857,7 @@ "storage_location": 1 }, { - "id": 7919, + "id": 7922, "name": "strategies", "is_constant": false, "is_state_variable": true, @@ -6827,25 +6871,25 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_mapping_$t_function_$_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_function_$_$t_struct$_Global_StrategyInfo_$7915$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 7920, - "node_type": 0, + "id": 7923, + "node_type": 69, "src": { "line": 2529, "column": 4, "start": 91566, "end": 91598, "length": 33, - "parent_index": 7919 + "parent_index": 7922 }, "key_type": { - "id": 7921, + "id": 7924, "node_type": 30, "src": { "line": 2529, @@ -6853,10 +6897,10 @@ "start": 91574, "end": 91581, "length": 8, - "parent_index": 7920 + "parent_index": 7923 }, "name": "Strategy", - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -6868,24 +6912,24 @@ "start": 91574, "end": 91581, "length": 8, - "parent_index": 7920 + "parent_index": 7923 }, "value_type": { - "id": 7922, - "node_type": 30, + "id": 7925, + "node_type": 69, "src": { "line": 2529, "column": 24, "start": 91586, "end": 91597, "length": 12, - "parent_index": 7920 + "parent_index": 7923 }, "name": "StrategyInfo", - "referenced_declaration": 0, + "referenced_declaration": 7915, "type_description": { - "type_identifier": "t_StrategyInfo", - "type_string": "StrategyInfo" + "type_identifier": "t_struct$_Global_StrategyInfo_$7915", + "type_string": "struct Global.StrategyInfo" } }, "value_name_location": { @@ -6894,18 +6938,40 @@ "start": 91586, "end": 91597, "length": 12, - "parent_index": 7920 + "parent_index": 7923 }, - "referenced_declaration": 0, + "path_node": { + "id": 7926, + "name": "StrategyInfo", + "node_type": 52, + "referenced_declaration": 7915, + "src": { + "line": 2529, + "column": 24, + "start": 91586, + "end": 91597, + "length": 12, + "parent_index": 7923 + }, + "name_location": { + "line": 2529, + "column": 24, + "start": 91586, + "end": 91597, + "length": 12, + "parent_index": 7923 + } + }, + "referenced_declaration": 7915, "type_description": { - "type_identifier": "t_mapping_$t_function_$_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_function_$_$t_struct$_Global_StrategyInfo_$7915$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" } }, "initial_value": null }, { - "id": 7923, + "id": 7927, "name": "MAX_BPS", "is_constant": true, "is_state_variable": true, @@ -6926,7 +6992,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7924, + "id": 7928, "node_type": 30, "src": { "line": 2531, @@ -6934,7 +7000,7 @@ "start": 91624, "end": 91630, "length": 7, - "parent_index": 7923 + "parent_index": 7927 }, "name": "uint256", "referenced_declaration": 0, @@ -6944,7 +7010,7 @@ } }, "initial_value": { - "id": 7925, + "id": 7929, "node_type": 17, "kind": 49, "value": "10_000", @@ -6955,7 +7021,7 @@ "start": 91651, "end": 91656, "length": 6, - "parent_index": 7923 + "parent_index": 7927 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -6963,11 +7029,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10_000" } }, { - "id": 7926, + "id": 7930, "name": "totalBps", "is_constant": false, "is_state_variable": true, @@ -6988,7 +7055,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7927, + "id": 7931, "node_type": 30, "src": { "line": 2533, @@ -6996,7 +7063,7 @@ "start": 91767, "end": 91773, "length": 7, - "parent_index": 7926 + "parent_index": 7930 }, "name": "uint256", "referenced_declaration": 0, @@ -7008,7 +7075,7 @@ "initial_value": null }, { - "id": 7928, + "id": 7932, "node_type": 57, "src": { "line": 2536, @@ -7018,7 +7085,7 @@ "length": 47 }, "parameters": { - "id": 7929, + "id": 7933, "node_type": 43, "src": { "line": 2536, @@ -7026,11 +7093,11 @@ "start": 91860, "end": 91906, "length": 47, - "parent_index": 7928 + "parent_index": 7932 }, "parameters": [ { - "id": 7930, + "id": 7934, "node_type": 44, "src": { "line": 2536, @@ -7038,12 +7105,12 @@ "start": 91880, "end": 91904, "length": 25, - "parent_index": 7929 + "parent_index": 7933 }, - "scope": 7928, + "scope": 7932, "name": "strategy", "type_name": { - "id": 7931, + "id": 7935, "node_type": 69, "src": { "line": 2536, @@ -7051,20 +7118,20 @@ "start": 91880, "end": 91887, "length": 8, - "parent_index": 7930 + "parent_index": 7934 }, "path_node": { - "id": 7932, + "id": 7936, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2536, "column": 24, "start": 91880, "end": 91887, "length": 8, - "parent_index": 7931 + "parent_index": 7935 }, "name_location": { "line": 2536, @@ -7072,10 +7139,10 @@ "start": 91880, "end": 91887, "length": 8, - "parent_index": 7931 + "parent_index": 7935 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -7101,12 +7168,12 @@ "name": "StrategyAdded", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" } }, { - "id": 7933, + "id": 7937, "node_type": 57, "src": { "line": 2538, @@ -7116,7 +7183,7 @@ "length": 49 }, "parameters": { - "id": 7934, + "id": 7938, "node_type": 43, "src": { "line": 2538, @@ -7124,11 +7191,11 @@ "start": 91977, "end": 92025, "length": 49, - "parent_index": 7933 + "parent_index": 7937 }, "parameters": [ { - "id": 7935, + "id": 7939, "node_type": 44, "src": { "line": 2538, @@ -7136,12 +7203,12 @@ "start": 91999, "end": 92023, "length": 25, - "parent_index": 7934 + "parent_index": 7938 }, - "scope": 7933, + "scope": 7937, "name": "strategy", "type_name": { - "id": 7936, + "id": 7940, "node_type": 69, "src": { "line": 2538, @@ -7149,20 +7216,20 @@ "start": 91999, "end": 92006, "length": 8, - "parent_index": 7935 + "parent_index": 7939 }, "path_node": { - "id": 7937, + "id": 7941, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2538, "column": 26, "start": 91999, "end": 92006, "length": 8, - "parent_index": 7936 + "parent_index": 7940 }, "name_location": { "line": 2538, @@ -7170,10 +7237,10 @@ "start": 91999, "end": 92006, "length": 8, - "parent_index": 7936 + "parent_index": 7940 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -7199,12 +7266,12 @@ "name": "StrategyRemoved", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyRemoved_\u00267933", + "type_identifier": "t_event\u0026_Global_StrategyRemoved_\u00267937", "type_string": "event Global.StrategyRemoved" } }, { - "id": 7938, + "id": 7942, "name": "newTotalBps", "is_constant": true, "is_state_variable": true, @@ -7225,7 +7292,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7939, + "id": 7943, "node_type": 30, "src": { "line": 2556, @@ -7233,7 +7300,7 @@ "start": 92802, "end": 92808, "length": 7, - "parent_index": 7938 + "parent_index": 7942 }, "name": "uint256", "referenced_declaration": 0, @@ -7245,7 +7312,7 @@ "initial_value": null }, { - "id": 7940, + "id": 7944, "name": "offset", "is_constant": true, "is_state_variable": true, @@ -7266,7 +7333,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7941, + "id": 7945, "node_type": 30, "src": { "line": 2568, @@ -7274,7 +7341,7 @@ "start": 93315, "end": 93321, "length": 7, - "parent_index": 7940 + "parent_index": 7944 }, "name": "uint256", "referenced_declaration": 0, @@ -7286,7 +7353,7 @@ "initial_value": null }, { - "id": 7942, + "id": 7946, "name": "i", "is_constant": true, "is_state_variable": true, @@ -7307,7 +7374,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7943, + "id": 7947, "node_type": 30, "src": { "line": 2570, @@ -7315,7 +7382,7 @@ "start": 93345, "end": 93351, "length": 7, - "parent_index": 7942 + "parent_index": 7946 }, "name": "uint256", "referenced_declaration": 0, @@ -7327,7 +7394,7 @@ "initial_value": null }, { - "id": 7944, + "id": 7948, "name": "strategy", "is_constant": true, "is_state_variable": true, @@ -7348,7 +7415,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7945, + "id": 7949, "node_type": 69, "src": { "line": 2571, @@ -7356,20 +7423,20 @@ "start": 93415, "end": 93422, "length": 8, - "parent_index": 7944 + "parent_index": 7948 }, "path_node": { - "id": 7946, + "id": 7950, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2571, "column": 12, "start": 93415, "end": 93422, "length": 8, - "parent_index": 7945 + "parent_index": 7949 }, "name_location": { "line": 2571, @@ -7377,10 +7444,10 @@ "start": 93415, "end": 93422, "length": 8, - "parent_index": 7945 + "parent_index": 7949 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -7389,7 +7456,7 @@ "initial_value": null }, { - "id": 7947, + "id": 7951, "name": "i", "is_constant": true, "is_state_variable": true, @@ -7410,7 +7477,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7948, + "id": 7952, "node_type": 30, "src": { "line": 2589, @@ -7418,7 +7485,7 @@ "start": 94223, "end": 94229, "length": 7, - "parent_index": 7947 + "parent_index": 7951 }, "name": "uint256", "referenced_declaration": 0, @@ -7430,7 +7497,7 @@ "initial_value": null }, { - "id": 7949, + "id": 7953, "name": "i", "is_constant": true, "is_state_variable": true, @@ -7451,7 +7518,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7950, + "id": 7954, "node_type": 30, "src": { "line": 2620, @@ -7459,7 +7526,7 @@ "start": 95279, "end": 95285, "length": 7, - "parent_index": 7949 + "parent_index": 7953 }, "name": "uint256", "referenced_declaration": 0, @@ -7471,7 +7538,7 @@ "initial_value": null }, { - "id": 7951, + "id": 7955, "name": "strategy", "is_constant": true, "is_state_variable": true, @@ -7492,7 +7559,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7952, + "id": 7956, "node_type": 69, "src": { "line": 2622, @@ -7500,20 +7567,20 @@ "start": 95408, "end": 95415, "length": 8, - "parent_index": 7951 + "parent_index": 7955 }, "path_node": { - "id": 7953, + "id": 7957, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2622, "column": 12, "start": 95408, "end": 95415, "length": 8, - "parent_index": 7952 + "parent_index": 7956 }, "name_location": { "line": 2622, @@ -7521,10 +7588,10 @@ "start": 95408, "end": 95415, "length": 8, - "parent_index": 7952 + "parent_index": 7956 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -7533,7 +7600,7 @@ "initial_value": null }, { - "id": 7954, + "id": 7958, "node_type": 57, "src": { "line": 2640, @@ -7543,7 +7610,7 @@ "length": 75 }, "parameters": { - "id": 7955, + "id": 7959, "node_type": 43, "src": { "line": 2640, @@ -7551,11 +7618,11 @@ "start": 96027, "end": 96101, "length": 75, - "parent_index": 7954 + "parent_index": 7958 }, "parameters": [ { - "id": 7956, + "id": 7960, "node_type": 44, "src": { "line": 2640, @@ -7563,12 +7630,12 @@ "start": 96055, "end": 96077, "length": 23, - "parent_index": 7955 + "parent_index": 7959 }, - "scope": 7954, + "scope": 7958, "name": "strategyList", "type_name": { - "id": 7957, + "id": 7961, "node_type": 69, "src": { "line": 2640, @@ -7576,24 +7643,24 @@ "start": 96055, "end": 96062, "length": 8, - "parent_index": 7956 + "parent_index": 7960 }, "name": "Strategy", "path_node": { - "id": 7958, + "id": 7962, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2640, "column": 32, "start": 96055, "end": 96062, "length": 8, - "parent_index": 7957 + "parent_index": 7961 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -7608,7 +7675,7 @@ } }, { - "id": 7959, + "id": 7963, "node_type": 44, "src": { "line": 2640, @@ -7616,12 +7683,12 @@ "start": 96080, "end": 96099, "length": 20, - "parent_index": 7955 + "parent_index": 7959 }, - "scope": 7954, + "scope": 7958, "name": "strategyBps", "type_name": { - "id": 7960, + "id": 7964, "node_type": 16, "src": { "line": 2640, @@ -7629,7 +7696,7 @@ "start": 96080, "end": 96085, "length": 6, - "parent_index": 7959 + "parent_index": 7963 }, "name": "uint16", "referenced_declaration": 0, @@ -7661,12 +7728,12 @@ "name": "StrategyAllocsUpdated", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267954", + "type_identifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267958", "type_string": "event Global.StrategyAllocsUpdated" } }, { - "id": 7961, + "id": 7965, "node_type": 57, "src": { "line": 2651, @@ -7676,7 +7743,7 @@ "length": 65 }, "parameters": { - "id": 7962, + "id": 7966, "node_type": 43, "src": { "line": 2651, @@ -7684,11 +7751,11 @@ "start": 96501, "end": 96565, "length": 65, - "parent_index": 7961 + "parent_index": 7965 }, "parameters": [ { - "id": 7963, + "id": 7967, "node_type": 44, "src": { "line": 2651, @@ -7696,12 +7763,12 @@ "start": 96523, "end": 96547, "length": 25, - "parent_index": 7962 + "parent_index": 7966 }, - "scope": 7961, + "scope": 7965, "name": "strategy", "type_name": { - "id": 7964, + "id": 7968, "node_type": 69, "src": { "line": 2651, @@ -7709,20 +7776,20 @@ "start": 96523, "end": 96530, "length": 8, - "parent_index": 7963 + "parent_index": 7967 }, "path_node": { - "id": 7965, + "id": 7969, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2651, "column": 26, "start": 96523, "end": 96530, "length": 8, - "parent_index": 7964 + "parent_index": 7968 }, "name_location": { "line": 2651, @@ -7730,10 +7797,10 @@ "start": 96523, "end": 96530, "length": 8, - "parent_index": 7964 + "parent_index": 7968 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -7749,7 +7816,7 @@ "indexed": true }, { - "id": 7966, + "id": 7970, "node_type": 44, "src": { "line": 2651, @@ -7757,12 +7824,12 @@ "start": 96550, "end": 96563, "length": 14, - "parent_index": 7962 + "parent_index": 7966 }, - "scope": 7961, + "scope": 7965, "name": "assets", "type_name": { - "id": 7967, + "id": 7971, "node_type": 30, "src": { "line": 2651, @@ -7770,7 +7837,7 @@ "start": 96550, "end": 96556, "length": 7, - "parent_index": 7966 + "parent_index": 7970 }, "name": "uint256", "referenced_declaration": 0, @@ -7802,12 +7869,12 @@ "name": "StrategyDeposit", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyDeposit_\u00267961", + "type_identifier": "t_event\u0026_Global_StrategyDeposit_\u00267965", "type_string": "event Global.StrategyDeposit" } }, { - "id": 7968, + "id": 7972, "node_type": 57, "src": { "line": 2659, @@ -7817,7 +7884,7 @@ "length": 101 }, "parameters": { - "id": 7969, + "id": 7973, "node_type": 43, "src": { "line": 2659, @@ -7825,11 +7892,11 @@ "start": 96889, "end": 96989, "length": 101, - "parent_index": 7968 + "parent_index": 7972 }, "parameters": [ { - "id": 7970, + "id": 7974, "node_type": 44, "src": { "line": 2659, @@ -7837,12 +7904,12 @@ "start": 96914, "end": 96938, "length": 25, - "parent_index": 7969 + "parent_index": 7973 }, - "scope": 7968, + "scope": 7972, "name": "strategy", "type_name": { - "id": 7971, + "id": 7975, "node_type": 69, "src": { "line": 2659, @@ -7850,20 +7917,20 @@ "start": 96914, "end": 96921, "length": 8, - "parent_index": 7970 + "parent_index": 7974 }, "path_node": { - "id": 7972, + "id": 7976, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2659, "column": 29, "start": 96914, "end": 96921, "length": 8, - "parent_index": 7971 + "parent_index": 7975 }, "name_location": { "line": 2659, @@ -7871,10 +7938,10 @@ "start": 96914, "end": 96921, "length": 8, - "parent_index": 7971 + "parent_index": 7975 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -7890,7 +7957,7 @@ "indexed": true }, { - "id": 7973, + "id": 7977, "node_type": 44, "src": { "line": 2659, @@ -7898,12 +7965,12 @@ "start": 96941, "end": 96963, "length": 23, - "parent_index": 7969 + "parent_index": 7973 }, - "scope": 7968, + "scope": 7972, "name": "assetsRequested", "type_name": { - "id": 7974, + "id": 7978, "node_type": 30, "src": { "line": 2659, @@ -7911,7 +7978,7 @@ "start": 96941, "end": 96947, "length": 7, - "parent_index": 7973 + "parent_index": 7977 }, "name": "uint256", "referenced_declaration": 0, @@ -7929,7 +7996,7 @@ } }, { - "id": 7975, + "id": 7979, "node_type": 44, "src": { "line": 2659, @@ -7937,12 +8004,12 @@ "start": 96966, "end": 96987, "length": 22, - "parent_index": 7969 + "parent_index": 7973 }, - "scope": 7968, + "scope": 7972, "name": "assetsReceived", "type_name": { - "id": 7976, + "id": 7980, "node_type": 30, "src": { "line": 2659, @@ -7950,7 +8017,7 @@ "start": 96966, "end": 96972, "length": 7, - "parent_index": 7975 + "parent_index": 7979 }, "name": "uint256", "referenced_declaration": 0, @@ -7986,12 +8053,12 @@ "name": "StrategyWithdrawal", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyWithdrawal_\u00267968", + "type_identifier": "t_event\u0026_Global_StrategyWithdrawal_\u00267972", "type_string": "event Global.StrategyWithdrawal" } }, { - "id": 7977, + "id": 7981, "name": "i", "is_constant": true, "is_state_variable": true, @@ -8012,7 +8079,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7978, + "id": 7982, "node_type": 30, "src": { "line": 2664, @@ -8020,7 +8087,7 @@ "start": 97230, "end": 97236, "length": 7, - "parent_index": 7977 + "parent_index": 7981 }, "name": "uint256", "referenced_declaration": 0, @@ -8032,7 +8099,7 @@ "initial_value": null }, { - "id": 7979, + "id": 7983, "name": "strategy", "is_constant": true, "is_state_variable": true, @@ -8053,7 +8120,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7980, + "id": 7984, "node_type": 69, "src": { "line": 2665, @@ -8061,20 +8128,20 @@ "start": 97300, "end": 97307, "length": 8, - "parent_index": 7979 + "parent_index": 7983 }, "path_node": { - "id": 7981, + "id": 7985, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2665, "column": 12, "start": 97300, "end": 97307, "length": 8, - "parent_index": 7980 + "parent_index": 7984 }, "name_location": { "line": 2665, @@ -8082,10 +8149,10 @@ "start": 97300, "end": 97307, "length": 8, - "parent_index": 7980 + "parent_index": 7984 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -8094,7 +8161,7 @@ "initial_value": null }, { - "id": 7982, + "id": 7986, "name": "amountWithdrawn", "is_constant": true, "is_state_variable": true, @@ -8115,7 +8182,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7983, + "id": 7987, "node_type": 30, "src": { "line": 2703, @@ -8123,7 +8190,7 @@ "start": 98846, "end": 98852, "length": 7, - "parent_index": 7982 + "parent_index": 7986 }, "name": "uint256", "referenced_declaration": 0, @@ -8135,7 +8202,7 @@ "initial_value": null }, { - "id": 7984, + "id": 7988, "name": "oldStratTVL", "is_constant": true, "is_state_variable": true, @@ -8156,7 +8223,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7985, + "id": 7989, "node_type": 30, "src": { "line": 2708, @@ -8164,7 +8231,7 @@ "start": 99150, "end": 99156, "length": 7, - "parent_index": 7984 + "parent_index": 7988 }, "name": "uint256", "referenced_declaration": 0, @@ -8176,7 +8243,7 @@ "initial_value": null }, { - "id": 7986, + "id": 7990, "name": "newStratTvl", "is_constant": true, "is_state_variable": true, @@ -8197,7 +8264,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7987, + "id": 7991, "node_type": 30, "src": { "line": 2709, @@ -8205,7 +8272,7 @@ "start": 99210, "end": 99216, "length": 7, - "parent_index": 7986 + "parent_index": 7990 }, "name": "uint256", "referenced_declaration": 0, @@ -8217,7 +8284,7 @@ "initial_value": null }, { - "id": 7988, + "id": 7992, "name": "lastHarvest", "is_constant": false, "is_state_variable": true, @@ -8238,7 +8305,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7989, + "id": 7993, "node_type": 30, "src": { "line": 2737, @@ -8246,7 +8313,7 @@ "start": 100550, "end": 100556, "length": 7, - "parent_index": 7988 + "parent_index": 7992 }, "name": "uint128", "referenced_declaration": 0, @@ -8258,7 +8325,7 @@ "initial_value": null }, { - "id": 7990, + "id": 7994, "name": "maxLockedProfit", "is_constant": false, "is_state_variable": true, @@ -8279,7 +8346,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7991, + "id": 7995, "node_type": 30, "src": { "line": 2739, @@ -8287,7 +8354,7 @@ "start": 100672, "end": 100678, "length": 7, - "parent_index": 7990 + "parent_index": 7994 }, "name": "uint128", "referenced_declaration": 0, @@ -8299,7 +8366,7 @@ "initial_value": null }, { - "id": 7992, + "id": 7996, "name": "LOCK_INTERVAL", "is_constant": true, "is_state_variable": true, @@ -8320,7 +8387,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7993, + "id": 7997, "node_type": 30, "src": { "line": 2741, @@ -8328,7 +8395,7 @@ "start": 100805, "end": 100811, "length": 7, - "parent_index": 7992 + "parent_index": 7996 }, "name": "uint256", "referenced_declaration": 0, @@ -8338,7 +8405,7 @@ } }, "initial_value": { - "id": 7994, + "id": 7998, "node_type": 16, "src": { "line": 2741, @@ -8346,19 +8413,20 @@ "start": 100845, "end": 100852, "length": 8, - "parent_index": 7992 + "parent_index": 7996 }, "type_description": { "type_identifier": "t_string_literal", "type_string": "literal_string \"0123456789abcdef\"" }, "overloaded_declarations": [], - "referenced_declaration": 7605, - "is_pure": false + "referenced_declaration": 7607, + "is_pure": false, + "text": "24hours" } }, { - "id": 7995, + "id": 7999, "node_type": 57, "src": { "line": 2748, @@ -8368,7 +8436,7 @@ "length": 59 }, "parameters": { - "id": 7996, + "id": 8000, "node_type": 43, "src": { "line": 2748, @@ -8376,11 +8444,11 @@ "start": 101062, "end": 101120, "length": 59, - "parent_index": 7995 + "parent_index": 7999 }, "parameters": [ { - "id": 7997, + "id": 8001, "node_type": 44, "src": { "line": 2748, @@ -8388,12 +8456,12 @@ "start": 101076, "end": 101095, "length": 20, - "parent_index": 7996 + "parent_index": 8000 }, - "scope": 7995, + "scope": 7999, "name": "user", "type_name": { - "id": 7998, + "id": 8002, "node_type": 30, "src": { "line": 2748, @@ -8401,7 +8469,7 @@ "start": 101076, "end": 101082, "length": 7, - "parent_index": 7997 + "parent_index": 8001 }, "name": "address", "state_mutability": 4, @@ -8421,7 +8489,7 @@ "indexed": true }, { - "id": 7999, + "id": 8003, "node_type": 44, "src": { "line": 2748, @@ -8429,12 +8497,12 @@ "start": 101098, "end": 101118, "length": 21, - "parent_index": 7996 + "parent_index": 8000 }, - "scope": 7995, + "scope": 7999, "name": "strategies", "type_name": { - "id": 8000, + "id": 8004, "node_type": 69, "src": { "line": 2748, @@ -8442,24 +8510,24 @@ "start": 101098, "end": 101105, "length": 8, - "parent_index": 7999 + "parent_index": 8003 }, "name": "Strategy", "path_node": { - "id": 8001, + "id": 8005, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2748, "column": 40, "start": 101098, "end": 101105, "length": 8, - "parent_index": 8000 + "parent_index": 8004 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -8488,12 +8556,12 @@ "name": "Harvest", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Harvest_\u00267995", + "type_identifier": "t_event\u0026_Global_Harvest_\u00267999", "type_string": "event Global.Harvest" } }, { - "id": 8002, + "id": 8006, "name": "oldTotalStrategyHoldings", "is_constant": true, "is_state_variable": true, @@ -8514,7 +8582,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8003, + "id": 8007, "node_type": 30, "src": { "line": 2760, @@ -8522,7 +8590,7 @@ "start": 101624, "end": 101630, "length": 7, - "parent_index": 8002 + "parent_index": 8006 }, "name": "uint256", "referenced_declaration": 0, @@ -8534,7 +8602,7 @@ "initial_value": null }, { - "id": 8004, + "id": 8008, "name": "newTotalStrategyHoldings", "is_constant": true, "is_state_variable": true, @@ -8555,7 +8623,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8005, + "id": 8009, "node_type": 30, "src": { "line": 2763, @@ -8563,7 +8631,7 @@ "start": 101766, "end": 101772, "length": 7, - "parent_index": 8004 + "parent_index": 8008 }, "name": "uint256", "referenced_declaration": 0, @@ -8575,7 +8643,7 @@ "initial_value": null }, { - "id": 8006, + "id": 8010, "name": "totalProfitAccrued", "is_constant": true, "is_state_variable": true, @@ -8596,7 +8664,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8007, + "id": 8011, "node_type": 30, "src": { "line": 2766, @@ -8604,7 +8672,7 @@ "start": 101905, "end": 101911, "length": 7, - "parent_index": 8006 + "parent_index": 8010 }, "name": "uint256", "referenced_declaration": 0, @@ -8616,7 +8684,7 @@ "initial_value": null }, { - "id": 8008, + "id": 8012, "name": "i", "is_constant": true, "is_state_variable": true, @@ -8637,7 +8705,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8009, + "id": 8013, "node_type": 30, "src": { "line": 2769, @@ -8645,7 +8713,7 @@ "start": 102020, "end": 102026, "length": 7, - "parent_index": 8008 + "parent_index": 8012 }, "name": "uint256", "referenced_declaration": 0, @@ -8657,7 +8725,7 @@ "initial_value": null }, { - "id": 8010, + "id": 8014, "name": "strategy", "is_constant": true, "is_state_variable": true, @@ -8678,7 +8746,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8011, + "id": 8015, "node_type": 69, "src": { "line": 2771, @@ -8686,20 +8754,20 @@ "start": 102149, "end": 102156, "length": 8, - "parent_index": 8010 + "parent_index": 8014 }, "path_node": { - "id": 8012, + "id": 8016, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2771, "column": 12, "start": 102149, "end": 102156, "length": 8, - "parent_index": 8011 + "parent_index": 8015 }, "name_location": { "line": 2771, @@ -8707,10 +8775,10 @@ "start": 102149, "end": 102156, "length": 8, - "parent_index": 8011 + "parent_index": 8015 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -8719,7 +8787,7 @@ "initial_value": null }, { - "id": 8013, + "id": 8017, "name": "balanceLastHarvest", "is_constant": true, "is_state_variable": true, @@ -8740,7 +8808,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8014, + "id": 8018, "node_type": 30, "src": { "line": 2779, @@ -8748,7 +8816,7 @@ "start": 102406, "end": 102412, "length": 7, - "parent_index": 8013 + "parent_index": 8017 }, "name": "uint232", "referenced_declaration": 0, @@ -8760,7 +8828,7 @@ "initial_value": null }, { - "id": 8015, + "id": 8019, "name": "balanceThisHarvest", "is_constant": true, "is_state_variable": true, @@ -8781,7 +8849,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8016, + "id": 8020, "node_type": 30, "src": { "line": 2780, @@ -8789,7 +8857,7 @@ "start": 102477, "end": 102483, "length": 7, - "parent_index": 8015 + "parent_index": 8019 }, "name": "uint256", "referenced_declaration": 0, @@ -8801,7 +8869,7 @@ "initial_value": null }, { - "id": 8017, + "id": 8021, "name": "unlockedProfit", "is_constant": true, "is_state_variable": true, @@ -8822,7 +8890,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8018, + "id": 8022, "node_type": 30, "src": { "line": 2820, @@ -8830,7 +8898,7 @@ "start": 104283, "end": 104289, "length": 7, - "parent_index": 8017 + "parent_index": 8021 }, "name": "uint256", "referenced_declaration": 0, @@ -8842,7 +8910,7 @@ "initial_value": null }, { - "id": 8019, + "id": 8023, "node_type": 57, "src": { "line": 2839, @@ -8852,7 +8920,7 @@ "length": 69 }, "parameters": { - "id": 8020, + "id": 8024, "node_type": 43, "src": { "line": 2839, @@ -8860,11 +8928,11 @@ "start": 105155, "end": 105223, "length": 69, - "parent_index": 8019 + "parent_index": 8023 }, "parameters": [ { - "id": 8021, + "id": 8025, "node_type": 44, "src": { "line": 2839, @@ -8872,12 +8940,12 @@ "start": 105173, "end": 105195, "length": 23, - "parent_index": 8020 + "parent_index": 8024 }, - "scope": 8019, + "scope": 8023, "name": "assetsRequested", "type_name": { - "id": 8022, + "id": 8026, "node_type": 30, "src": { "line": 2839, @@ -8885,7 +8953,7 @@ "start": 105173, "end": 105179, "length": 7, - "parent_index": 8021 + "parent_index": 8025 }, "name": "uint256", "referenced_declaration": 0, @@ -8903,7 +8971,7 @@ } }, { - "id": 8023, + "id": 8027, "node_type": 44, "src": { "line": 2839, @@ -8911,12 +8979,12 @@ "start": 105198, "end": 105221, "length": 24, - "parent_index": 8020 + "parent_index": 8024 }, - "scope": 8019, + "scope": 8023, "name": "assetsLiquidated", "type_name": { - "id": 8024, + "id": 8028, "node_type": 30, "src": { "line": 2839, @@ -8924,7 +8992,7 @@ "start": 105198, "end": 105204, "length": 7, - "parent_index": 8023 + "parent_index": 8027 }, "name": "uint256", "referenced_declaration": 0, @@ -8956,12 +9024,12 @@ "name": "Liquidation", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Liquidation_\u00268019", + "type_identifier": "t_event\u0026_Global_Liquidation_\u00268023", "type_string": "event Global.Liquidation" } }, { - "id": 8025, + "id": 8029, "name": "amountLiquidated", "is_constant": true, "is_state_variable": true, @@ -8982,7 +9050,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8026, + "id": 8030, "node_type": 30, "src": { "line": 2848, @@ -8990,7 +9058,7 @@ "start": 105592, "end": 105598, "length": 7, - "parent_index": 8025 + "parent_index": 8029 }, "name": "uint256", "referenced_declaration": 0, @@ -9002,7 +9070,7 @@ "initial_value": null }, { - "id": 8027, + "id": 8031, "name": "i", "is_constant": true, "is_state_variable": true, @@ -9023,7 +9091,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8028, + "id": 8032, "node_type": 30, "src": { "line": 2849, @@ -9031,7 +9099,7 @@ "start": 105631, "end": 105637, "length": 7, - "parent_index": 8027 + "parent_index": 8031 }, "name": "uint256", "referenced_declaration": 0, @@ -9043,7 +9111,7 @@ "initial_value": null }, { - "id": 8029, + "id": 8033, "name": "strategy", "is_constant": true, "is_state_variable": true, @@ -9064,7 +9132,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8030, + "id": 8034, "node_type": 69, "src": { "line": 2850, @@ -9072,20 +9140,20 @@ "start": 105701, "end": 105708, "length": 8, - "parent_index": 8029 + "parent_index": 8033 }, "path_node": { - "id": 8031, + "id": 8035, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2850, "column": 12, "start": 105701, "end": 105708, "length": 8, - "parent_index": 8030 + "parent_index": 8034 }, "name_location": { "line": 2850, @@ -9093,10 +9161,10 @@ "start": 105701, "end": 105708, "length": 8, - "parent_index": 8030 + "parent_index": 8034 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -9105,7 +9173,7 @@ "initial_value": null }, { - "id": 8032, + "id": 8036, "name": "balance", "is_constant": true, "is_state_variable": true, @@ -9126,7 +9194,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8033, + "id": 8037, "node_type": 30, "src": { "line": 2855, @@ -9134,7 +9202,7 @@ "start": 105842, "end": 105848, "length": 7, - "parent_index": 8032 + "parent_index": 8036 }, "name": "uint256", "referenced_declaration": 0, @@ -9146,7 +9214,7 @@ "initial_value": null }, { - "id": 8034, + "id": 8038, "name": "amountNeeded", "is_constant": true, "is_state_variable": true, @@ -9167,7 +9235,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8035, + "id": 8039, "node_type": 30, "src": { "line": 2860, @@ -9175,7 +9243,7 @@ "start": 105980, "end": 105986, "length": 7, - "parent_index": 8034 + "parent_index": 8038 }, "name": "uint256", "referenced_declaration": 0, @@ -9187,7 +9255,7 @@ "initial_value": null }, { - "id": 8036, + "id": 8040, "name": "withdrawn", "is_constant": true, "is_state_variable": true, @@ -9208,7 +9276,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8037, + "id": 8041, "node_type": 30, "src": { "line": 2864, @@ -9216,7 +9284,7 @@ "start": 106168, "end": 106174, "length": 7, - "parent_index": 8036 + "parent_index": 8040 }, "name": "uint256", "referenced_declaration": 0, @@ -9228,7 +9296,7 @@ "initial_value": null }, { - "id": 8038, + "id": 8042, "node_type": 57, "src": { "line": 2881, @@ -9238,7 +9306,7 @@ "length": 40 }, "parameters": { - "id": 8039, + "id": 8043, "node_type": 43, "src": { "line": 2881, @@ -9246,11 +9314,11 @@ "start": 106744, "end": 106783, "length": 40, - "parent_index": 8038 + "parent_index": 8042 }, "parameters": [ { - "id": 8040, + "id": 8044, "node_type": 44, "src": { "line": 2881, @@ -9258,12 +9326,12 @@ "start": 106760, "end": 106781, "length": 22, - "parent_index": 8039 + "parent_index": 8043 }, - "scope": 8038, + "scope": 8042, "name": "caller", "type_name": { - "id": 8041, + "id": 8045, "node_type": 30, "src": { "line": 2881, @@ -9271,7 +9339,7 @@ "start": 106760, "end": 106766, "length": 7, - "parent_index": 8040 + "parent_index": 8044 }, "name": "address", "state_mutability": 4, @@ -9301,12 +9369,12 @@ "name": "Rebalance", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Rebalance_\u00268038", + "type_identifier": "t_event\u0026_Global_Rebalance_\u00268042", "type_string": "event Global.Rebalance" } }, { - "id": 8042, + "id": 8046, "name": "tvl", "is_constant": true, "is_state_variable": true, @@ -9327,7 +9395,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8043, + "id": 8047, "node_type": 30, "src": { "line": 2885, @@ -9335,7 +9403,7 @@ "start": 106915, "end": 106921, "length": 7, - "parent_index": 8042 + "parent_index": 8046 }, "name": "uint256", "referenced_declaration": 0, @@ -9347,7 +9415,7 @@ "initial_value": null }, { - "id": 8044, + "id": 8048, "name": "amountsToInvest", "is_constant": true, "is_state_variable": true, @@ -9368,7 +9436,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8045, + "id": 8049, "node_type": 16, "src": { "line": 2889, @@ -9376,12 +9444,12 @@ "start": 107082, "end": 107088, "length": 7, - "parent_index": 8044 + "parent_index": 8048 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 8047, + "id": 8051, "node_type": 16, "src": { "line": 2889, @@ -9389,7 +9457,7 @@ "start": 107090, "end": 107103, "length": 14, - "parent_index": 8045 + "parent_index": 8049 }, "name": "MAX_STRATEGIES", "type_description": { @@ -9397,8 +9465,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 7895, - "is_pure": false + "referenced_declaration": 7898, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -9408,7 +9477,7 @@ "initial_value": null }, { - "id": 8048, + "id": 8052, "name": "i", "is_constant": true, "is_state_variable": true, @@ -9429,7 +9498,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8049, + "id": 8053, "node_type": 30, "src": { "line": 2891, @@ -9437,7 +9506,7 @@ "start": 107144, "end": 107150, "length": 7, - "parent_index": 8048 + "parent_index": 8052 }, "name": "uint256", "referenced_declaration": 0, @@ -9449,7 +9518,7 @@ "initial_value": null }, { - "id": 8050, + "id": 8054, "name": "strategy", "is_constant": true, "is_state_variable": true, @@ -9470,7 +9539,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8051, + "id": 8055, "node_type": 69, "src": { "line": 2892, @@ -9478,20 +9547,20 @@ "start": 107214, "end": 107221, "length": 8, - "parent_index": 8050 + "parent_index": 8054 }, "path_node": { - "id": 8052, + "id": 8056, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2892, "column": 12, "start": 107214, "end": 107221, "length": 8, - "parent_index": 8051 + "parent_index": 8055 }, "name_location": { "line": 2892, @@ -9499,10 +9568,10 @@ "start": 107214, "end": 107221, "length": 8, - "parent_index": 8051 + "parent_index": 8055 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -9511,7 +9580,7 @@ "initial_value": null }, { - "id": 8053, + "id": 8057, "name": "idealStrategyTVL", "is_constant": true, "is_state_variable": true, @@ -9532,7 +9601,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8054, + "id": 8058, "node_type": 30, "src": { "line": 2897, @@ -9540,7 +9609,7 @@ "start": 107355, "end": 107361, "length": 7, - "parent_index": 8053 + "parent_index": 8057 }, "name": "uint256", "referenced_declaration": 0, @@ -9552,7 +9621,7 @@ "initial_value": null }, { - "id": 8055, + "id": 8059, "name": "currStrategyTVL", "is_constant": true, "is_state_variable": true, @@ -9573,7 +9642,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8056, + "id": 8060, "node_type": 30, "src": { "line": 2898, @@ -9581,7 +9650,7 @@ "start": 107441, "end": 107447, "length": 7, - "parent_index": 8055 + "parent_index": 8059 }, "name": "uint256", "referenced_declaration": 0, @@ -9593,7 +9662,7 @@ "initial_value": null }, { - "id": 8057, + "id": 8061, "name": "i", "is_constant": true, "is_state_variable": true, @@ -9614,7 +9683,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8058, + "id": 8062, "node_type": 30, "src": { "line": 2908, @@ -9622,7 +9691,7 @@ "start": 107886, "end": 107892, "length": 7, - "parent_index": 8057 + "parent_index": 8061 }, "name": "uint256", "referenced_declaration": 0, @@ -9634,7 +9703,7 @@ "initial_value": null }, { - "id": 8059, + "id": 8063, "name": "amountToInvest", "is_constant": true, "is_state_variable": true, @@ -9655,7 +9724,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8060, + "id": 8064, "node_type": 30, "src": { "line": 2909, @@ -9663,7 +9732,7 @@ "start": 107956, "end": 107962, "length": 7, - "parent_index": 8059 + "parent_index": 8063 }, "name": "uint256", "referenced_declaration": 0, @@ -9675,7 +9744,7 @@ "initial_value": null }, { - "id": 8061, + "id": 8065, "name": "asset", "is_constant": false, "is_state_variable": true, @@ -9689,14 +9758,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 8062, + "id": 8066, "node_type": 69, "src": { "line": 2943, @@ -9704,20 +9773,20 @@ "start": 109050, "end": 109054, "length": 5, - "parent_index": 8061 + "parent_index": 8065 }, "path_node": { - "id": 8063, + "id": 8067, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2943, "column": 4, "start": 109050, "end": 109054, "length": 5, - "parent_index": 8062 + "parent_index": 8066 }, "name_location": { "line": 2943, @@ -9725,19 +9794,19 @@ "start": 109050, "end": 109054, "length": 5, - "parent_index": 8062 + "parent_index": 8066 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "initial_value": null }, { - "id": 8064, + "id": 8068, "name": "wormholeRouter", "is_constant": false, "is_state_variable": true, @@ -9758,7 +9827,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 8065, + "id": 8069, "node_type": 30, "src": { "line": 2945, @@ -9766,7 +9835,7 @@ "start": 109130, "end": 109136, "length": 7, - "parent_index": 8064 + "parent_index": 8068 }, "name": "address", "state_mutability": 4, @@ -9779,7 +9848,7 @@ "initial_value": null }, { - "id": 8066, + "id": 8070, "name": "governance", "is_constant": false, "is_state_variable": true, @@ -9800,7 +9869,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 8067, + "id": 8071, "node_type": 30, "src": { "line": 2947, @@ -9808,7 +9877,7 @@ "start": 109231, "end": 109237, "length": 7, - "parent_index": 8066 + "parent_index": 8070 }, "name": "address", "state_mutability": 4, @@ -9821,7 +9890,7 @@ "initial_value": null }, { - "id": 8068, + "id": 8072, "node_type": 57, "src": { "line": 2953, @@ -9831,7 +9900,7 @@ "length": 38 }, "parameters": { - "id": 8069, + "id": 8073, "node_type": 43, "src": { "line": 2953, @@ -9839,11 +9908,11 @@ "start": 109423, "end": 109460, "length": 38, - "parent_index": 8068 + "parent_index": 8072 }, "parameters": [ { - "id": 8070, + "id": 8074, "node_type": 44, "src": { "line": 2953, @@ -9851,12 +9920,12 @@ "start": 109445, "end": 109458, "length": 14, - "parent_index": 8069 + "parent_index": 8073 }, - "scope": 8068, + "scope": 8072, "name": "assets", "type_name": { - "id": 8071, + "id": 8075, "node_type": 30, "src": { "line": 2953, @@ -9864,7 +9933,7 @@ "start": 109445, "end": 109451, "length": 7, - "parent_index": 8070 + "parent_index": 8074 }, "name": "uint256", "referenced_declaration": 0, @@ -9892,12 +9961,12 @@ "name": "TransferToVault", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_TransferToVault_\u00268068", + "type_identifier": "t_event\u0026_Global_TransferToVault_\u00268072", "type_string": "event Global.TransferToVault" } }, { - "id": 8072, + "id": 8076, "name": "vault", "is_constant": false, "is_state_variable": true, @@ -9911,14 +9980,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 8073, + "id": 8077, "node_type": 69, "src": { "line": 2990, @@ -9926,20 +9995,20 @@ "start": 110671, "end": 110679, "length": 9, - "parent_index": 8072 + "parent_index": 8076 }, "path_node": { - "id": 8074, + "id": 8078, "name": "BaseVault", "node_type": 52, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "src": { "line": 2990, "column": 4, "start": 110671, "end": 110679, "length": 9, - "parent_index": 8073 + "parent_index": 8077 }, "name_location": { "line": 2990, @@ -9947,19 +10016,19 @@ "start": 110671, "end": 110679, "length": 9, - "parent_index": 8073 + "parent_index": 8077 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "initial_value": null }, { - "id": 8075, + "id": 8079, "name": "wormhole", "is_constant": false, "is_state_variable": true, @@ -9973,14 +10042,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 8076, + "id": 8080, "node_type": 69, "src": { "line": 3002, @@ -9988,20 +10057,20 @@ "start": 111114, "end": 111122, "length": 9, - "parent_index": 8075 + "parent_index": 8079 }, "path_node": { - "id": 8077, + "id": 8081, "name": "IWormhole", "node_type": 52, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "src": { "line": 3002, "column": 4, "start": 111114, "end": 111122, "length": 9, - "parent_index": 8076 + "parent_index": 8080 }, "name_location": { "line": 3002, @@ -10009,19 +10078,19 @@ "start": 111114, "end": 111122, "length": 9, - "parent_index": 8076 + "parent_index": 8080 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, "initial_value": null }, { - "id": 8078, + "id": 8082, "name": "consistencyLevel", "is_constant": false, "is_state_variable": true, @@ -10042,7 +10111,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8079, + "id": 8083, "node_type": 30, "src": { "line": 3009, @@ -10050,7 +10119,7 @@ "start": 111591, "end": 111595, "length": 5, - "parent_index": 8078 + "parent_index": 8082 }, "name": "uint8", "referenced_declaration": 0, @@ -10060,7 +10129,7 @@ } }, "initial_value": { - "id": 8080, + "id": 8084, "node_type": 17, "kind": 49, "value": "4", @@ -10071,7 +10140,7 @@ "start": 111623, "end": 111623, "length": 1, - "parent_index": 8078 + "parent_index": 8082 }, "type_description": { "type_identifier": "t_rational_4_by_1", @@ -10079,11 +10148,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } }, { - "id": 8081, + "id": 8085, "name": "nextValidNonce", "is_constant": false, "is_state_variable": true, @@ -10104,7 +10174,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8082, + "id": 8086, "node_type": 30, "src": { "line": 3022, @@ -10112,7 +10182,7 @@ "start": 112113, "end": 112119, "length": 7, - "parent_index": 8081 + "parent_index": 8085 }, "name": "uint256", "referenced_declaration": 0, @@ -10124,7 +10194,7 @@ "initial_value": null }, { - "id": 8083, + "id": 8087, "name": "vault", "is_constant": false, "is_state_variable": true, @@ -10145,7 +10215,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 8084, + "id": 8088, "node_type": 69, "src": { "line": 3050, @@ -10153,10 +10223,10 @@ "start": 113097, "end": 113103, "length": 7, - "parent_index": 8083 + "parent_index": 8087 }, "path_node": { - "id": 8085, + "id": 8089, "name": "L1Vault", "node_type": 52, "referenced_declaration": 441, @@ -10166,7 +10236,7 @@ "start": 113097, "end": 113103, "length": 7, - "parent_index": 8084 + "parent_index": 8088 }, "name_location": { "line": 3050, @@ -10174,7 +10244,7 @@ "start": 113097, "end": 113103, "length": 7, - "parent_index": 8084 + "parent_index": 8088 } }, "referenced_declaration": 441, @@ -10186,7 +10256,7 @@ "initial_value": null }, { - "id": 8086, + "id": 8090, "name": "rootChainManager", "is_constant": false, "is_state_variable": true, @@ -10200,14 +10270,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 8087, + "id": 8091, "node_type": 69, "src": { "line": 3052, @@ -10215,20 +10285,20 @@ "start": 113323, "end": 113339, "length": 17, - "parent_index": 8086 + "parent_index": 8090 }, "path_node": { - "id": 8088, + "id": 8092, "name": "IRootChainManager", "node_type": 52, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "src": { "line": 3052, "column": 4, "start": 113323, "end": 113339, "length": 17, - "parent_index": 8087 + "parent_index": 8091 }, "name_location": { "line": 3052, @@ -10236,19 +10306,19 @@ "start": 113323, "end": 113339, "length": 17, - "parent_index": 8087 + "parent_index": 8091 } }, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } }, "initial_value": null }, { - "id": 8089, + "id": 8093, "name": "balance", "is_constant": true, "is_state_variable": true, @@ -10269,7 +10339,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8090, + "id": 8094, "node_type": 30, "src": { "line": 3066, @@ -10277,7 +10347,7 @@ "start": 114051, "end": 114057, "length": 7, - "parent_index": 8089 + "parent_index": 8093 }, "name": "uint256", "referenced_declaration": 0, @@ -10289,7 +10359,7 @@ "initial_value": null }, { - "id": 8091, + "id": 8095, "name": "payload", "is_constant": true, "is_state_variable": true, @@ -10310,7 +10380,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8092, + "id": 8096, "node_type": 30, "src": { "line": 3098, @@ -10318,7 +10388,7 @@ "start": 115092, "end": 115096, "length": 5, - "parent_index": 8091 + "parent_index": 8095 }, "name": "bytes", "referenced_declaration": 0, @@ -10330,7 +10400,7 @@ "initial_value": null }, { - "id": 8093, + "id": 8097, "name": "sequence", "is_constant": true, "is_state_variable": true, @@ -10351,7 +10421,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8094, + "id": 8098, "node_type": 30, "src": { "line": 3101, @@ -10359,7 +10429,7 @@ "start": 115285, "end": 115290, "length": 6, - "parent_index": 8093 + "parent_index": 8097 }, "name": "uint64", "referenced_declaration": 0, @@ -10371,7 +10441,7 @@ "initial_value": null }, { - "id": 8095, + "id": 8099, "name": "payload", "is_constant": true, "is_state_variable": true, @@ -10392,7 +10462,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8096, + "id": 8100, "node_type": 30, "src": { "line": 3108, @@ -10400,7 +10470,7 @@ "start": 115656, "end": 115660, "length": 5, - "parent_index": 8095 + "parent_index": 8099 }, "name": "bytes", "referenced_declaration": 0, @@ -10412,7 +10482,7 @@ "initial_value": null }, { - "id": 8097, + "id": 8101, "name": "sequence", "is_constant": true, "is_state_variable": true, @@ -10433,7 +10503,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8098, + "id": 8102, "node_type": 30, "src": { "line": 3109, @@ -10441,7 +10511,7 @@ "start": 115742, "end": 115747, "length": 6, - "parent_index": 8097 + "parent_index": 8101 }, "name": "uint64", "referenced_declaration": 0, @@ -10453,7 +10523,7 @@ "initial_value": null }, { - "id": 8099, + "id": 8103, "name": "vm", "is_constant": true, "is_state_variable": true, @@ -10467,14 +10537,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 8100, + "id": 8104, "node_type": 69, "src": { "line": 3119, @@ -10482,20 +10552,20 @@ "start": 116191, "end": 116202, "length": 12, - "parent_index": 8099 + "parent_index": 8103 }, "path_node": { - "id": 8101, + "id": 8105, "name": "IWormhole", "node_type": 52, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "src": { "line": 3119, "column": 9, "start": 116191, "end": 116202, "length": 12, - "parent_index": 8100 + "parent_index": 8104 }, "name_location": { "line": 3119, @@ -10503,19 +10573,19 @@ "start": 116191, "end": 116199, "length": 9, - "parent_index": 8100 + "parent_index": 8104 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, "initial_value": null }, { - "id": 8102, + "id": 8106, "name": "valid", "is_constant": true, "is_state_variable": true, @@ -10536,7 +10606,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8103, + "id": 8107, "node_type": 30, "src": { "line": 3119, @@ -10544,7 +10614,7 @@ "start": 116215, "end": 116218, "length": 4, - "parent_index": 8102 + "parent_index": 8106 }, "name": "bool", "referenced_declaration": 0, @@ -10556,7 +10626,7 @@ "initial_value": null }, { - "id": 8104, + "id": 8108, "name": "reason", "is_constant": true, "is_state_variable": true, @@ -10577,7 +10647,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8105, + "id": 8109, "node_type": 30, "src": { "line": 3119, @@ -10585,7 +10655,7 @@ "start": 116227, "end": 116232, "length": 6, - "parent_index": 8104 + "parent_index": 8108 }, "name": "string", "referenced_declaration": 0, @@ -10597,7 +10667,7 @@ "initial_value": null }, { - "id": 8106, + "id": 8110, "name": "msgType", "is_constant": true, "is_state_variable": true, @@ -10618,7 +10688,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8107, + "id": 8111, "node_type": 30, "src": { "line": 3123, @@ -10626,7 +10696,7 @@ "start": 116412, "end": 116418, "length": 7, - "parent_index": 8106 + "parent_index": 8110 }, "name": "bytes32", "referenced_declaration": 0, @@ -10638,7 +10708,7 @@ "initial_value": null }, { - "id": 8108, + "id": 8112, "name": "amount", "is_constant": true, "is_state_variable": true, @@ -10659,7 +10729,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8109, + "id": 8113, "node_type": 30, "src": { "line": 3123, @@ -10667,7 +10737,7 @@ "start": 116429, "end": 116435, "length": 7, - "parent_index": 8108 + "parent_index": 8112 }, "name": "uint256", "referenced_declaration": 0, @@ -10679,7 +10749,7 @@ "initial_value": null }, { - "id": 8110, + "id": 8114, "name": "vm", "is_constant": true, "is_state_variable": true, @@ -10693,14 +10763,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 8111, + "id": 8115, "node_type": 69, "src": { "line": 3131, @@ -10708,20 +10778,20 @@ "start": 116781, "end": 116792, "length": 12, - "parent_index": 8110 + "parent_index": 8114 }, "path_node": { - "id": 8112, + "id": 8116, "name": "IWormhole", "node_type": 52, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "src": { "line": 3131, "column": 9, "start": 116781, "end": 116792, "length": 12, - "parent_index": 8111 + "parent_index": 8115 }, "name_location": { "line": 3131, @@ -10729,19 +10799,19 @@ "start": 116781, "end": 116789, "length": 9, - "parent_index": 8111 + "parent_index": 8115 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, "initial_value": null }, { - "id": 8113, + "id": 8117, "name": "valid", "is_constant": true, "is_state_variable": true, @@ -10762,7 +10832,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8114, + "id": 8118, "node_type": 30, "src": { "line": 3131, @@ -10770,7 +10840,7 @@ "start": 116805, "end": 116808, "length": 4, - "parent_index": 8113 + "parent_index": 8117 }, "name": "bool", "referenced_declaration": 0, @@ -10782,7 +10852,7 @@ "initial_value": null }, { - "id": 8115, + "id": 8119, "name": "reason", "is_constant": true, "is_state_variable": true, @@ -10803,7 +10873,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8116, + "id": 8120, "node_type": 30, "src": { "line": 3131, @@ -10811,7 +10881,7 @@ "start": 116817, "end": 116822, "length": 6, - "parent_index": 8115 + "parent_index": 8119 }, "name": "string", "referenced_declaration": 0, @@ -10823,7 +10893,7 @@ "initial_value": null }, { - "id": 8117, + "id": 8121, "name": "msgType", "is_constant": true, "is_state_variable": true, @@ -10844,7 +10914,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8118, + "id": 8122, "node_type": 30, "src": { "line": 3137, @@ -10852,7 +10922,7 @@ "start": 117004, "end": 117010, "length": 7, - "parent_index": 8117 + "parent_index": 8121 }, "name": "bytes32", "referenced_declaration": 0, @@ -10864,7 +10934,7 @@ "initial_value": null }, { - "id": 8119, + "id": 8123, "name": "amount", "is_constant": true, "is_state_variable": true, @@ -10885,7 +10955,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8120, + "id": 8124, "node_type": 30, "src": { "line": 3137, @@ -10893,7 +10963,7 @@ "start": 117021, "end": 117027, "length": 7, - "parent_index": 8119 + "parent_index": 8123 }, "name": "uint256", "referenced_declaration": 0, @@ -10905,7 +10975,7 @@ "initial_value": null }, { - "id": 8121, + "id": 8125, "node_type": 67, "src": { "line": 3159, @@ -10921,16 +10991,16 @@ "start": 117566, "end": 117574, "length": 9, - "parent_index": 8121 + "parent_index": 8125 }, "canonical_name": "Global.Signature", "type_description": { - "type_identifier": "t_struct$_Global_Signature_$8121", + "type_identifier": "t_struct$_Global_Signature_$8125", "type_string": "struct Global.Signature" }, "members": [ { - "id": 8122, + "id": 8126, "node_type": 44, "src": { "line": 3160, @@ -10938,11 +11008,11 @@ "start": 117586, "end": 117595, "length": 10, - "parent_index": 8121 + "parent_index": 8125 }, "name": "r", "type_name": { - "id": 8123, + "id": 8127, "node_type": 30, "src": { "line": 3160, @@ -10950,7 +11020,7 @@ "start": 117586, "end": 117592, "length": 7, - "parent_index": 8122 + "parent_index": 8126 }, "name": "bytes32", "referenced_declaration": 0, @@ -10967,7 +11037,7 @@ } }, { - "id": 8124, + "id": 8128, "node_type": 44, "src": { "line": 3161, @@ -10975,11 +11045,11 @@ "start": 117605, "end": 117614, "length": 10, - "parent_index": 8121 + "parent_index": 8125 }, "name": "s", "type_name": { - "id": 8125, + "id": 8129, "node_type": 30, "src": { "line": 3161, @@ -10987,7 +11057,7 @@ "start": 117605, "end": 117611, "length": 7, - "parent_index": 8124 + "parent_index": 8128 }, "name": "bytes32", "referenced_declaration": 0, @@ -11004,7 +11074,7 @@ } }, { - "id": 8126, + "id": 8130, "node_type": 44, "src": { "line": 3162, @@ -11012,11 +11082,11 @@ "start": 117624, "end": 117631, "length": 8, - "parent_index": 8121 + "parent_index": 8125 }, "name": "v", "type_name": { - "id": 8127, + "id": 8131, "node_type": 30, "src": { "line": 3162, @@ -11024,7 +11094,7 @@ "start": 117624, "end": 117628, "length": 5, - "parent_index": 8126 + "parent_index": 8130 }, "name": "uint8", "referenced_declaration": 0, @@ -11041,7 +11111,7 @@ } }, { - "id": 8128, + "id": 8132, "node_type": 44, "src": { "line": 3163, @@ -11049,11 +11119,11 @@ "start": 117641, "end": 117660, "length": 20, - "parent_index": 8121 + "parent_index": 8125 }, "name": "guardianIndex", "type_name": { - "id": 8129, + "id": 8133, "node_type": 30, "src": { "line": 3163, @@ -11061,7 +11131,7 @@ "start": 117641, "end": 117645, "length": 5, - "parent_index": 8128 + "parent_index": 8132 }, "name": "uint8", "referenced_declaration": 0, @@ -11082,7 +11152,7 @@ "storage_location": 1 }, { - "id": 8130, + "id": 8134, "node_type": 67, "src": { "line": 3166, @@ -11098,16 +11168,16 @@ "start": 117680, "end": 117681, "length": 2, - "parent_index": 8130 + "parent_index": 8134 }, "canonical_name": "Global.VM", "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" }, "members": [ { - "id": 8131, + "id": 8135, "node_type": 44, "src": { "line": 3167, @@ -11115,11 +11185,11 @@ "start": 117693, "end": 117706, "length": 14, - "parent_index": 8130 + "parent_index": 8134 }, "name": "version", "type_name": { - "id": 8132, + "id": 8136, "node_type": 30, "src": { "line": 3167, @@ -11127,7 +11197,7 @@ "start": 117693, "end": 117697, "length": 5, - "parent_index": 8131 + "parent_index": 8135 }, "name": "uint8", "referenced_declaration": 0, @@ -11144,7 +11214,7 @@ } }, { - "id": 8133, + "id": 8137, "node_type": 44, "src": { "line": 3168, @@ -11152,11 +11222,11 @@ "start": 117716, "end": 117732, "length": 17, - "parent_index": 8130 + "parent_index": 8134 }, "name": "timestamp", "type_name": { - "id": 8134, + "id": 8138, "node_type": 30, "src": { "line": 3168, @@ -11164,7 +11234,7 @@ "start": 117716, "end": 117721, "length": 6, - "parent_index": 8133 + "parent_index": 8137 }, "name": "uint32", "referenced_declaration": 0, @@ -11181,7 +11251,7 @@ } }, { - "id": 8135, + "id": 8139, "node_type": 44, "src": { "line": 3169, @@ -11189,11 +11259,11 @@ "start": 117742, "end": 117754, "length": 13, - "parent_index": 8130 + "parent_index": 8134 }, "name": "nonce", "type_name": { - "id": 8136, + "id": 8140, "node_type": 30, "src": { "line": 3169, @@ -11201,7 +11271,7 @@ "start": 117742, "end": 117747, "length": 6, - "parent_index": 8135 + "parent_index": 8139 }, "name": "uint32", "referenced_declaration": 0, @@ -11218,7 +11288,7 @@ } }, { - "id": 8137, + "id": 8141, "node_type": 44, "src": { "line": 3170, @@ -11226,11 +11296,11 @@ "start": 117764, "end": 117785, "length": 22, - "parent_index": 8130 + "parent_index": 8134 }, "name": "emitterChainId", "type_name": { - "id": 8138, + "id": 8142, "node_type": 30, "src": { "line": 3170, @@ -11238,7 +11308,7 @@ "start": 117764, "end": 117769, "length": 6, - "parent_index": 8137 + "parent_index": 8141 }, "name": "uint16", "referenced_declaration": 0, @@ -11255,7 +11325,7 @@ } }, { - "id": 8139, + "id": 8143, "node_type": 44, "src": { "line": 3171, @@ -11263,11 +11333,11 @@ "start": 117795, "end": 117817, "length": 23, - "parent_index": 8130 + "parent_index": 8134 }, "name": "emitterAddress", "type_name": { - "id": 8140, + "id": 8144, "node_type": 30, "src": { "line": 3171, @@ -11275,7 +11345,7 @@ "start": 117795, "end": 117801, "length": 7, - "parent_index": 8139 + "parent_index": 8143 }, "name": "bytes32", "referenced_declaration": 0, @@ -11292,7 +11362,7 @@ } }, { - "id": 8141, + "id": 8145, "node_type": 44, "src": { "line": 3172, @@ -11300,11 +11370,11 @@ "start": 117827, "end": 117842, "length": 16, - "parent_index": 8130 + "parent_index": 8134 }, "name": "sequence", "type_name": { - "id": 8142, + "id": 8146, "node_type": 30, "src": { "line": 3172, @@ -11312,7 +11382,7 @@ "start": 117827, "end": 117832, "length": 6, - "parent_index": 8141 + "parent_index": 8145 }, "name": "uint64", "referenced_declaration": 0, @@ -11329,7 +11399,7 @@ } }, { - "id": 8143, + "id": 8147, "node_type": 44, "src": { "line": 3173, @@ -11337,11 +11407,11 @@ "start": 117852, "end": 117874, "length": 23, - "parent_index": 8130 + "parent_index": 8134 }, "name": "consistencyLevel", "type_name": { - "id": 8144, + "id": 8148, "node_type": 30, "src": { "line": 3173, @@ -11349,7 +11419,7 @@ "start": 117852, "end": 117856, "length": 5, - "parent_index": 8143 + "parent_index": 8147 }, "name": "uint8", "referenced_declaration": 0, @@ -11366,7 +11436,7 @@ } }, { - "id": 8145, + "id": 8149, "node_type": 44, "src": { "line": 3174, @@ -11374,11 +11444,11 @@ "start": 117884, "end": 117897, "length": 14, - "parent_index": 8130 + "parent_index": 8134 }, "name": "payload", "type_name": { - "id": 8146, + "id": 8150, "node_type": 30, "src": { "line": 3174, @@ -11386,7 +11456,7 @@ "start": 117884, "end": 117888, "length": 5, - "parent_index": 8145 + "parent_index": 8149 }, "name": "bytes", "referenced_declaration": 0, @@ -11403,7 +11473,7 @@ } }, { - "id": 8147, + "id": 8151, "node_type": 44, "src": { "line": 3175, @@ -11411,11 +11481,11 @@ "start": 117907, "end": 117930, "length": 24, - "parent_index": 8130 + "parent_index": 8134 }, "name": "guardianSetIndex", "type_name": { - "id": 8148, + "id": 8152, "node_type": 30, "src": { "line": 3175, @@ -11423,7 +11493,7 @@ "start": 117907, "end": 117912, "length": 6, - "parent_index": 8147 + "parent_index": 8151 }, "name": "uint32", "referenced_declaration": 0, @@ -11440,7 +11510,7 @@ } }, { - "id": 8149, + "id": 8153, "node_type": 44, "src": { "line": 3176, @@ -11448,11 +11518,11 @@ "start": 117940, "end": 117962, "length": 23, - "parent_index": 8130 + "parent_index": 8134 }, "name": "signatures", "type_name": { - "id": 8150, + "id": 8154, "node_type": 69, "src": { "line": 3176, @@ -11460,38 +11530,38 @@ "start": 117940, "end": 117948, "length": 9, - "parent_index": 8149 + "parent_index": 8153 }, "name": "Signature", "path_node": { - "id": 8151, + "id": 8155, "name": "Signature", "node_type": 52, - "referenced_declaration": 8121, + "referenced_declaration": 8125, "src": { "line": 3176, "column": 8, "start": 117940, "end": 117948, "length": 9, - "parent_index": 8150 + "parent_index": 8154 } }, - "referenced_declaration": 8121, + "referenced_declaration": 8125, "type_description": { - "type_identifier": "t_struct$_Global_Signature_$8121", + "type_identifier": "t_struct$_Global_Signature_$8125", "type_string": "struct Global.Signature" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_Global_Signature_$8121", + "type_identifier": "t_struct$_Global_Signature_$8125", "type_string": "struct Global.Signature" } }, { - "id": 8152, + "id": 8156, "node_type": 44, "src": { "line": 3177, @@ -11499,11 +11569,11 @@ "start": 117972, "end": 117984, "length": 13, - "parent_index": 8130 + "parent_index": 8134 }, "name": "hash", "type_name": { - "id": 8153, + "id": 8157, "node_type": 30, "src": { "line": 3177, @@ -11511,7 +11581,7 @@ "start": 117972, "end": 117978, "length": 7, - "parent_index": 8152 + "parent_index": 8156 }, "name": "bytes32", "referenced_declaration": 0, @@ -11532,7 +11602,7 @@ "storage_location": 1 }, { - "id": 8154, + "id": 8158, "name": "L2_FUND_TRANSFER_REPORT", "is_constant": true, "is_state_variable": true, @@ -11553,7 +11623,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8155, + "id": 8159, "node_type": 30, "src": { "line": 3200, @@ -11561,7 +11631,7 @@ "start": 118516, "end": 118522, "length": 7, - "parent_index": 8154 + "parent_index": 8158 }, "name": "bytes32", "referenced_declaration": 0, @@ -11571,7 +11641,7 @@ } }, "initial_value": { - "id": 8156, + "id": 8160, "node_type": 24, "kind": 24, "src": { @@ -11580,7 +11650,7 @@ "start": 118559, "end": 118594, "length": 36, - "parent_index": 8154 + "parent_index": 8158 }, "argument_types": [ { @@ -11590,7 +11660,7 @@ ], "arguments": [ { - "id": 8158, + "id": 8162, "node_type": 17, "kind": 50, "value": "L2_FUND_TRANSFER_REPORT", @@ -11601,7 +11671,7 @@ "start": 118569, "end": 118593, "length": 25, - "parent_index": 8156 + "parent_index": 8160 }, "type_description": { "type_identifier": "t_string_literal", @@ -11609,11 +11679,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L2_FUND_TRANSFER_REPORT\"" } ], "expression": { - "id": 8157, + "id": 8161, "node_type": 16, "src": { "line": 3200, @@ -11621,7 +11692,7 @@ "start": 118559, "end": 118567, "length": 9, - "parent_index": 8156 + "parent_index": 8160 }, "name": "keccak256", "type_description": { @@ -11630,7 +11701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -11639,7 +11711,7 @@ } }, { - "id": 8159, + "id": 8163, "name": "L2_FUND_REQUEST", "is_constant": true, "is_state_variable": true, @@ -11660,7 +11732,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8160, + "id": 8164, "node_type": 30, "src": { "line": 3201, @@ -11668,7 +11740,7 @@ "start": 118601, "end": 118607, "length": 7, - "parent_index": 8159 + "parent_index": 8163 }, "name": "bytes32", "referenced_declaration": 0, @@ -11678,7 +11750,7 @@ } }, "initial_value": { - "id": 8161, + "id": 8165, "node_type": 24, "kind": 24, "src": { @@ -11687,7 +11759,7 @@ "start": 118636, "end": 118663, "length": 28, - "parent_index": 8159 + "parent_index": 8163 }, "argument_types": [ { @@ -11697,7 +11769,7 @@ ], "arguments": [ { - "id": 8163, + "id": 8167, "node_type": 17, "kind": 50, "value": "L2_FUND_REQUEST", @@ -11708,7 +11780,7 @@ "start": 118646, "end": 118662, "length": 17, - "parent_index": 8161 + "parent_index": 8165 }, "type_description": { "type_identifier": "t_string_literal", @@ -11716,11 +11788,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L2_FUND_REQUEST\"" } ], "expression": { - "id": 8162, + "id": 8166, "node_type": 16, "src": { "line": 3201, @@ -11728,7 +11801,7 @@ "start": 118636, "end": 118644, "length": 9, - "parent_index": 8161 + "parent_index": 8165 }, "name": "keccak256", "type_description": { @@ -11737,7 +11810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -11746,7 +11820,7 @@ } }, { - "id": 8164, + "id": 8168, "name": "L1_TVL", "is_constant": true, "is_state_variable": true, @@ -11767,7 +11841,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8165, + "id": 8169, "node_type": 30, "src": { "line": 3204, @@ -11775,7 +11849,7 @@ "start": 118702, "end": 118708, "length": 7, - "parent_index": 8164 + "parent_index": 8168 }, "name": "bytes32", "referenced_declaration": 0, @@ -11785,7 +11859,7 @@ } }, "initial_value": { - "id": 8166, + "id": 8170, "node_type": 24, "kind": 24, "src": { @@ -11794,7 +11868,7 @@ "start": 118728, "end": 118746, "length": 19, - "parent_index": 8164 + "parent_index": 8168 }, "argument_types": [ { @@ -11804,7 +11878,7 @@ ], "arguments": [ { - "id": 8168, + "id": 8172, "node_type": 17, "kind": 50, "value": "L1_TVL", @@ -11815,7 +11889,7 @@ "start": 118738, "end": 118745, "length": 8, - "parent_index": 8166 + "parent_index": 8170 }, "type_description": { "type_identifier": "t_string_literal", @@ -11823,11 +11897,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L1_TVL\"" } ], "expression": { - "id": 8167, + "id": 8171, "node_type": 16, "src": { "line": 3204, @@ -11835,7 +11910,7 @@ "start": 118728, "end": 118736, "length": 9, - "parent_index": 8166 + "parent_index": 8170 }, "name": "keccak256", "type_description": { @@ -11844,7 +11919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -11853,7 +11929,7 @@ } }, { - "id": 8169, + "id": 8173, "name": "L1_FUND_TRANSFER_REPORT", "is_constant": true, "is_state_variable": true, @@ -11874,7 +11950,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 8170, + "id": 8174, "node_type": 30, "src": { "line": 3205, @@ -11882,7 +11958,7 @@ "start": 118753, "end": 118759, "length": 7, - "parent_index": 8169 + "parent_index": 8173 }, "name": "bytes32", "referenced_declaration": 0, @@ -11892,7 +11968,7 @@ } }, "initial_value": { - "id": 8171, + "id": 8175, "node_type": 24, "kind": 24, "src": { @@ -11901,7 +11977,7 @@ "start": 118796, "end": 118831, "length": 36, - "parent_index": 8169 + "parent_index": 8173 }, "argument_types": [ { @@ -11911,7 +11987,7 @@ ], "arguments": [ { - "id": 8173, + "id": 8177, "node_type": 17, "kind": 50, "value": "L1_FUND_TRANSFER_REPORT", @@ -11922,7 +11998,7 @@ "start": 118806, "end": 118830, "length": 25, - "parent_index": 8171 + "parent_index": 8175 }, "type_description": { "type_identifier": "t_string_literal", @@ -11930,11 +12006,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L1_FUND_TRANSFER_REPORT\"" } ], "expression": { - "id": 8172, + "id": 8176, "node_type": 16, "src": { "line": 3205, @@ -11942,7 +12019,7 @@ "start": 118796, "end": 118804, "length": 9, - "parent_index": 8171 + "parent_index": 8175 }, "name": "keccak256", "type_description": { @@ -11951,7 +12028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -11987,7 +12065,7 @@ "parent_index": 452 }, "name": "PausableUpgradeable", - "referenced_declaration": 3655 + "referenced_declaration": 3656 } }, { @@ -12013,7 +12091,7 @@ "parent_index": 452 }, "name": "UUPSUpgradeable", - "referenced_declaration": 3484 + "referenced_declaration": 3485 } }, { @@ -12039,7 +12117,7 @@ "parent_index": 452 }, "name": "BaseVault", - "referenced_declaration": 5126 + "referenced_declaration": 5127 } } ], @@ -12331,7 +12409,7 @@ "parent_index": 452 }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "type_name": { @@ -12367,9 +12445,9 @@ "parent_index": 462 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -12385,7 +12463,7 @@ "parent_index": 460 }, "name": "SafeTransferLib", - "referenced_declaration": 4060 + "referenced_declaration": 4061 } }, { @@ -12455,7 +12533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__UUPSUpgradeable_init" }, "type_description": { "type_identifier": "t_function_$", @@ -12494,7 +12573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Pausable_init" }, "type_description": { "type_identifier": "t_function_$", @@ -12519,7 +12599,7 @@ "type_string": "address" }, { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, { @@ -12527,7 +12607,7 @@ "type_string": "address" }, { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" } ], @@ -12550,7 +12630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 492, - "is_pure": false + "is_pure": false, + "text": "_governance" }, { "id": 493, @@ -12565,7 +12646,7 @@ }, "name": "_token", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], @@ -12576,7 +12657,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_token" }, { "id": 494, @@ -12602,7 +12684,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_wormholeRouter" }, { "id": 495, @@ -12617,7 +12700,7 @@ }, "name": "_bridgeEscrow", "type_description": { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" }, "overloaded_declarations": [], @@ -12632,7 +12715,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_bridgeEscrow" } ], "expression": { @@ -12653,7 +12737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "baseInitialize" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_address$", @@ -12696,12 +12781,13 @@ }, "name": "chainManager", "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "overloaded_declarations": [], "referenced_declaration": 477, - "is_pure": false + "is_pure": false, + "text": "chainManager" }, "right_expression": { "id": 499, @@ -12716,18 +12802,20 @@ }, "name": "_chainManager", "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "overloaded_declarations": [], "referenced_declaration": 477, - "is_pure": false + "is_pure": false, + "text": "_chainManager" }, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } - } + }, + "text": "chainManager=_chainManager;" }, { "id": 500, @@ -12769,8 +12857,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 7587, - "is_pure": false + "referenced_declaration": 7589, + "is_pure": false, + "text": "predicate" }, "right_expression": { "id": 503, @@ -12790,7 +12879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 503, - "is_pure": false + "is_pure": false, + "text": "_predicate" }, "type_description": { "type_identifier": "t_address", @@ -12800,7 +12890,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "predicate=_predicate;" } ] }, @@ -12938,9 +13029,9 @@ "parent_index": 470 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -13034,9 +13125,9 @@ "parent_index": 475 } }, - "referenced_declaration": 6695, + "referenced_declaration": 6697, "type_description": { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" } }, @@ -13090,9 +13181,9 @@ "parent_index": 478 } }, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } }, @@ -13173,13 +13264,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(address, , address, , , address)", - "signature": "d6257495", + "signature_raw": "initialize(address,,address,,,address)", + "signature": "f02c9b88", "scope": 452, "type_description": { "type_identifier": "t_function_$_t_address$_t_unknown_465$_t_address$_t_unknown_465$_t_unknown_465$_t_address$", "type_string": "function(address,unknown_465,address,unknown_465,unknown_465,address)" - } + }, + "text": "functioninitialize(address_governance,ERC20_token,address_wormholeRouter,L1BridgeEscrow_bridgeEscrow,IRootChainManager_chainManager,address_predicate)publicinitializer{__UUPSUpgradeable_init();__Pausable_init();baseInitialize(_governance,_token,_wormholeRouter,_bridgeEscrow);chainManager=_chainManager;predicate=_predicate;}" }, { "id": 505, @@ -13352,7 +13444,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_authorizeUpgrade(addressnewImplementation)internaloverrideonlyGovernance{}" }, { "id": 515, @@ -13412,7 +13505,7 @@ }, "scope": 452, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "visibility": 3, @@ -13451,9 +13544,9 @@ "parent_index": 519 } }, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } }, @@ -13706,7 +13799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vaultTVL" }, "type_description": { "type_identifier": "t_function_$", @@ -13755,7 +13849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 534, - "is_pure": false + "is_pure": false, + "text": "tvl" }, { "id": 545, @@ -13781,7 +13876,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "received" } ], "expression": { @@ -13844,7 +13940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "wormholeRouter" } ], "expression": { @@ -13865,7 +13962,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "L1WormholeRouter" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -13877,7 +13975,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "L1WormholeRouter(wormholeRouter).reportTVL" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_function_$_t_uint256$", @@ -13913,7 +14012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 515, - "is_pure": false + "is_pure": false, + "text": "received" }, "body": { "id": 548, @@ -13970,7 +14070,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 515, - "is_pure": false + "is_pure": false, + "text": "received" }, "right_expression": { "id": 552, @@ -13992,7 +14093,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -14002,7 +14104,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "received=false;" } ] } @@ -14037,7 +14140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 534, - "is_pure": false + "is_pure": false, + "text": "tvl" } ], "expression": { @@ -14058,7 +14162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 525, - "is_pure": false + "is_pure": false, + "text": "SendTVL" } } ] @@ -14103,7 +14208,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsendTVL()external{uint256tvl=vaultTVL();L1WormholeRouter(wormholeRouter).reportTVL(tvl,received);if(received){received=false;}emitSendTVL(tvl);}" }, { "id": 557, @@ -14218,14 +14324,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 568, @@ -14264,7 +14372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "wormholeRouter" } ], "expression": { @@ -14310,7 +14419,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -14348,7 +14458,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"L1: only router\"" } ], "expression": { @@ -14369,7 +14480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -14413,7 +14525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 575, - "is_pure": false + "is_pure": false, + "text": "amountRequested" } ], "expression": { @@ -14434,7 +14547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_liquidate" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -14580,7 +14694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -14626,7 +14741,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -14670,20 +14786,22 @@ }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 7870, - "is_pure": false + "referenced_declaration": 7873, + "is_pure": false, + "text": "_asset" }, "member_name": "balanceOf", "argument_types": [], - "referenced_declaration": 7831, + "referenced_declaration": 7834, "type_description": { "type_identifier": "t_mapping_$t_address_$t_uint256$", "type_string": "mapping(address=\u003euint256)" - } + }, + "text": "_asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -14714,7 +14832,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" } - ] + ], + "text": "amountRequested" } ], "expression": { @@ -14758,7 +14877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "Math" }, "member_name": "min", "argument_types": [], @@ -14766,7 +14886,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "Math.min" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_uint256$", @@ -14815,7 +14936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "predicate" }, { "id": 594, @@ -14841,7 +14963,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountToSend" } ], "expression": { @@ -14880,20 +15003,22 @@ }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 7870, - "is_pure": false + "referenced_declaration": 7873, + "is_pure": false, + "text": "_asset" }, "member_name": "safeApprove", "argument_types": [], - "referenced_declaration": 591, + "referenced_declaration": 4753, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", - "type_string": "contract ERC20" - } + "type_identifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_uint256$", + "type_string": "function(contract ERC20,address,uint256)" + }, + "text": "_asset.safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -14964,7 +15089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bridgeEscrow" } ], "expression": { @@ -15010,7 +15136,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15054,7 +15181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_asset" } ], "expression": { @@ -15100,7 +15228,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15144,7 +15273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 576, - "is_pure": false + "is_pure": false, + "text": "amountToSend" } ], "expression": { @@ -15188,14 +15318,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -15239,20 +15371,22 @@ }, "name": "chainManager", "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "overloaded_declarations": [], - "referenced_declaration": 7584, - "is_pure": false + "referenced_declaration": 7586, + "is_pure": false, + "text": "chainManager" }, "member_name": "depositFor", "argument_types": [], - "referenced_declaration": 7291, + "referenced_declaration": 596, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_bytes$", - "type_string": "function(address,address,bytes)" - } + "type_identifier": "t_contract$_IRootChainManager_$7204", + "type_string": "contract IRootChainManager" + }, + "text": "chainManager.depositFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_uint256$", @@ -15296,7 +15430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 576, - "is_pure": false + "is_pure": false, + "text": "amountToSend" } ], "expression": { @@ -15359,7 +15494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "wormholeRouter" } ], "expression": { @@ -15380,7 +15516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "L1WormholeRouter" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15392,7 +15529,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "L1WormholeRouter(wormholeRouter).reportFundTransfer" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -15424,12 +15562,13 @@ }, "name": "TransferToL2", "type_description": { - "type_identifier": "t_event\u0026_Global_TransferToL2_\u00267597", + "type_identifier": "t_event\u0026_Global_TransferToL2_\u00267599", "type_string": "event Global.TransferToL2" }, "overloaded_declarations": [], - "referenced_declaration": 7597, - "is_pure": false + "referenced_declaration": 7599, + "is_pure": false, + "text": "TransferToL2" } } ] @@ -15519,7 +15658,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocessFundRequest(uint256amountRequested)external{require(msg.sender==address(wormholeRouter),\"L1: only router\");_liquidate(amountRequested);uint256amountToSend=Math.min(_asset.balanceOf(address(this)),amountRequested);_asset.safeApprove(predicate,amountToSend);chainManager.depositFor(address(bridgeEscrow),address(_asset),abi.encodePacked(amountToSend));L1WormholeRouter(wormholeRouter).reportFundTransfer(amountToSend);emitTransferToL2({assetsRequested:amountRequested,assetsSent:amountToSend});}" }, { "id": 619, @@ -15754,14 +15894,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 635, @@ -15800,7 +15942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bridgeEscrow" } ], "expression": { @@ -15846,7 +15989,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15884,7 +16028,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"L1: only escrow\"" } ], "expression": { @@ -15905,7 +16050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15953,7 +16099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 515, - "is_pure": false + "is_pure": false, + "text": "received" }, "right_expression": { "id": 643, @@ -15975,7 +16122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -15985,7 +16133,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "received=true;" }, { "id": 644, @@ -16062,7 +16211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -16108,7 +16258,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16157,14 +16308,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 605, - "is_pure": false + "is_pure": false, + "text": "_asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "_asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -16190,7 +16343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_depositIntoStrategies" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -16239,7 +16393,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionafterReceive()external{require(msg.sender==address(bridgeEscrow),\"L1: only escrow\");received=true;_depositIntoStrategies(_asset.balanceOf(address(this)));}" }, { "id": 654, @@ -16308,7 +16463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -16462,7 +16618,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionlockedProfit()publicpureoverridereturns(uint256){return0;}" } ], "linearized_base_contracts": [ @@ -16501,7 +16658,7 @@ "parent_index": 452 }, "name": "PausableUpgradeable", - "referenced_declaration": 3655 + "referenced_declaration": 3656 } }, { @@ -16527,7 +16684,7 @@ "parent_index": 452 }, "name": "UUPSUpgradeable", - "referenced_declaration": 3484 + "referenced_declaration": 3485 } }, { @@ -16553,7 +16710,7 @@ "parent_index": 452 }, "name": "BaseVault", - "referenced_declaration": 5126 + "referenced_declaration": 5127 } } ], @@ -16702,7 +16859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -16765,7 +16923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { @@ -16846,7 +17005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 697, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 698, @@ -16868,7 +17028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -16921,7 +17082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -17005,7 +17167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 705, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -17112,7 +17275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 711, @@ -17134,7 +17298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17184,7 +17349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -17237,7 +17403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 718, @@ -17259,7 +17426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -17269,7 +17437,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -17371,7 +17540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -17458,7 +17628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 727, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 728, @@ -17480,7 +17651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17541,7 +17713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 733, @@ -17563,7 +17736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -17573,7 +17747,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 734, @@ -17627,7 +17802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 738, @@ -17647,7 +17823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -17736,7 +17913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 747, @@ -17789,7 +17967,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 752, @@ -17811,7 +17990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -17861,7 +18041,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -17916,7 +18097,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -17966,7 +18148,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -17981,7 +18164,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 753, @@ -18024,7 +18208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 756, @@ -18046,7 +18231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -18056,7 +18242,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -18110,7 +18297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -18155,7 +18343,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -18295,7 +18484,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 763, @@ -18375,7 +18565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 774, @@ -18397,7 +18588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -18450,7 +18642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -18534,7 +18727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 781, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -18617,7 +18811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -18663,7 +18858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 778, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 788, @@ -18685,7 +18881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -18735,7 +18932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -18788,7 +18986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 795, @@ -18810,7 +19009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -18820,7 +19020,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -18878,7 +19079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 799, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 800, @@ -18904,7 +19106,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -18925,7 +19128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -19065,7 +19269,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 802, @@ -19229,7 +19434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 821, @@ -19249,7 +19455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 821, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -19276,7 +19483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -19377,7 +19585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 812, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 827, @@ -19399,7 +19608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -19436,7 +19646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -19446,7 +19657,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 829, @@ -19500,7 +19712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 812, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 833, @@ -19522,7 +19735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -19559,7 +19773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -19569,7 +19784,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 835, @@ -19690,7 +19906,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 842, @@ -19710,7 +19927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 842, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -19737,7 +19955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -19777,7 +19996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 846, @@ -19799,7 +20019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -19842,7 +20063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -19915,7 +20137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 854, @@ -19935,7 +20158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -19981,7 +20205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 679, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 858, @@ -20013,7 +20238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 860, @@ -20035,7 +20261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -20072,7 +20299,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 861, @@ -20115,7 +20343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 864, @@ -20137,7 +20366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -20147,7 +20377,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -20207,7 +20438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 868, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 869, @@ -20229,7 +20461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -20262,7 +20495,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -20283,7 +20517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20339,7 +20574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 812, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -20384,7 +20620,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -20561,13 +20798,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 677, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" }, { "id": 877, @@ -20695,7 +20933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 894, - "is_pure": false + "is_pure": false, + "text": "addr" } ], "expression": { @@ -20740,7 +20979,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -20790,7 +21030,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -20821,7 +21062,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" } - ] + ], + "text": "_ADDRESS_LENGTH" } ], "expression": { @@ -20842,7 +21084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_function_$_t_address$", @@ -20983,7 +21226,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoHexString(addressaddr)internalpurereturns(stringmemory){returntoHexString(uint256(uint160(addr)),_ADDRESS_LENGTH);}" } ], "linearized_base_contracts": [ @@ -21259,7 +21503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 930, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 931, @@ -21279,7 +21524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 931, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -21304,7 +21550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 933, @@ -21324,7 +21571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 933, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -21513,13 +21761,14 @@ } ] }, - "signature_raw": "max(uint256, uint256)", - "signature": "944ae7a2", + "signature_raw": "max(uint256,uint256)", + "signature": "6d5433e6", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmax(uint256a,uint256b)internalpurereturns(uint256){returna\u003e=b?a:b;}" }, { "id": 935, @@ -21612,7 +21861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 950, @@ -21632,7 +21882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 950, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -21657,7 +21908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 951, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 952, @@ -21677,7 +21929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 952, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -21866,13 +22119,14 @@ } ] }, - "signature_raw": "min(uint256, uint256)", - "signature": "a2611414", + "signature_raw": "min(uint256,uint256)", + "signature": "7ae2b5c7", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmin(uint256a,uint256b)internalpurereturns(uint256){returna\u003cb?a:b;}" }, { "id": 954, @@ -21979,7 +22233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 969, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 970, @@ -21999,7 +22254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 970, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -22077,7 +22333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 975, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 976, @@ -22097,7 +22354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 976, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -22141,7 +22399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -22323,13 +22582,14 @@ } ] }, - "signature_raw": "average(uint256, uint256)", - "signature": "517eaec2", + "signature_raw": "average(uint256,uint256)", + "signature": "2b7423ab", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionaverage(uint256a,uint256b)internalpurereturns(uint256){return(a\u0026b)+(a^b)/2;}" }, { "id": 979, @@ -22422,7 +22682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 993, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 994, @@ -22444,7 +22705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -22471,7 +22733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 996, @@ -22547,7 +22810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1001, @@ -22569,7 +22833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -22600,7 +22865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -22627,7 +22893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -22821,13 +23088,14 @@ } ] }, - "signature_raw": "ceilDiv(uint256, uint256)", - "signature": "1340d3c6", + "signature_raw": "ceilDiv(uint256,uint256)", + "signature": "9cb35327", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionceilDiv(uint256a,uint256b)internalpurereturns(uint256){returna==0?0:(a-1)/b+1;}" }, { "id": 1005, @@ -24310,7 +24578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "prod1" }, "right_expression": { "id": 1060, @@ -24332,7 +24601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24397,7 +24667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1018, - "is_pure": false + "is_pure": false, + "text": "prod0" }, "right_expression": { "id": 1065, @@ -24417,7 +24688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1065, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -24479,7 +24751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1069, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1070, @@ -24499,7 +24772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "prod1" }, "type_description": { "type_identifier": "t_bool", @@ -24525,7 +24799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -25740,7 +26015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1107, - "is_pure": false + "is_pure": false, + "text": "denominator" }, { "id": 1108, @@ -25806,7 +26082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1111, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -25833,7 +26110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -27050,7 +27328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1018, - "is_pure": false + "is_pure": false, + "text": "prod0" }, "right_expression": { "id": 1146, @@ -27084,7 +27363,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "prod1" }, "right_expression": { "id": 1148, @@ -27104,7 +27384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1102, - "is_pure": false + "is_pure": false, + "text": "twos" }, "type_description": { "type_identifier": "t_uint256", @@ -27119,7 +27400,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "prod0|=prod1*twos;" }, { "id": 1149, @@ -27241,7 +27523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "right_expression": { "id": 1157, @@ -27261,7 +27544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1157, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_rational_3_by_1", @@ -27294,7 +27578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "type_descriptions": [ @@ -27354,7 +27639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1162, @@ -27390,7 +27676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1164, @@ -27424,7 +27711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1166, @@ -27444,7 +27732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -27464,7 +27753,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1167, @@ -27507,7 +27797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1170, @@ -27543,7 +27834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1172, @@ -27577,7 +27869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1173, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1174, @@ -27597,7 +27890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -27617,7 +27911,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1175, @@ -27660,7 +27955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1178, @@ -27696,7 +27992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1180, @@ -27730,7 +28027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1181, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1182, @@ -27750,7 +28048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -27770,7 +28069,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1183, @@ -27813,7 +28113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1186, @@ -27849,7 +28150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1188, @@ -27883,7 +28185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1190, @@ -27903,7 +28206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -27923,7 +28227,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1191, @@ -27966,7 +28271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1194, @@ -28002,7 +28308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1196, @@ -28036,7 +28343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1197, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1198, @@ -28056,7 +28364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -28076,7 +28385,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1199, @@ -28119,7 +28429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1202, @@ -28155,7 +28466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1204, @@ -28189,7 +28501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1205, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1206, @@ -28209,7 +28522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -28229,7 +28543,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1207, @@ -28272,7 +28587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1210, @@ -28306,7 +28622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1018, - "is_pure": false + "is_pure": false, + "text": "prod0" }, "right_expression": { "id": 1212, @@ -28326,7 +28643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -28341,7 +28659,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=prod0*inverse;" }, { "id": 1213, @@ -28373,7 +28692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -28590,13 +28910,14 @@ } ] }, - "signature_raw": "mulDiv(uint256, uint256, uint256)", - "signature": "7a718488", + "signature_raw": "mulDiv(uint256,uint256,uint256)", + "signature": "aa9a0912", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionmulDiv(uint256x,uint256y,uint256denominator)internalpurereturns(uint256result){unchecked{uint256prod0;uint256prod1;assembly{letmm:=mulmod(x,y,not(0))prod0:=mul(x,y)prod1:=sub(sub(mm,prod0),lt(mm,prod0))}if(prod1==0){returnprod0/denominator;}require(denominator\u003eprod1);uint256remainder;assembly{remainder:=mulmod(x,y,denominator)prod1:=sub(prod1,gt(remainder,prod0))prod0:=sub(prod0,remainder)}uint256twos=denominator\u0026(~denominator+1);assembly{denominator:=div(denominator,twos)prod0:=div(prod0,twos)twos:=add(div(sub(0,twos),twos),1)}prod0|=prod1*twos;uint256inverse=(3*denominator)^2;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;result=prod0*inverse;returnresult;}}" }, { "id": 1216, @@ -28738,7 +29059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1236, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1237, @@ -28764,7 +29086,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "y" }, { "id": 1238, @@ -28794,7 +29117,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "denominator" } ], "expression": { @@ -28815,7 +29139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "mulDiv" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", @@ -28878,7 +29203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1243, - "is_pure": false + "is_pure": false, + "text": "rounding" }, "right_expression": { "id": 1244, @@ -28921,14 +29247,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "Rounding" }, "member_name": "Up", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_Rounding_$911", "type_string": "enum Math.Rounding" - } + }, + "text": "Rounding.Up" }, "type_description": { "type_identifier": "t_bool", @@ -28994,7 +29322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1249, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1250, @@ -29020,7 +29349,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "y" }, { "id": 1251, @@ -29050,7 +29380,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "denominator" } ], "expression": { @@ -29071,7 +29402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "mulmod" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", @@ -29098,7 +29430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -29172,7 +29505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1257, @@ -29194,7 +29528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -29204,7 +29539,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result+=1;" } ] } @@ -29239,7 +29575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1231, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -29518,13 +29855,14 @@ } ] }, - "signature_raw": "mulDiv(uint256, uint256, uint256, )", - "signature": "95e997e0", + "signature_raw": "mulDiv(uint256,uint256,uint256,)", + "signature": "5946641e", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_enum_$_Rounding_$911$", "type_string": "function(uint256,uint256,uint256,enum Math.Rounding)" - } + }, + "text": "functionmulDiv(uint256x,uint256y,uint256denominator,Roundingrounding)internalpurereturns(uint256){uint256result=mulDiv(x,y,denominator);if(rounding==Rounding.Up\u0026\u0026mulmod(x,y,denominator)\u003e0){result+=1;}returnresult;}" }, { "id": 1261, @@ -29604,7 +29942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1271, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1272, @@ -29626,7 +29965,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -29679,7 +30019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -29765,7 +30106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -29846,7 +30188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "a" } }, { @@ -29905,7 +30248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1289, @@ -29927,7 +30271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" } ], "type_descriptions": [ @@ -29965,7 +30310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -30027,7 +30373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1295, @@ -30049,7 +30396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" }, "type_description": { "type_identifier": "t_uint256", @@ -30059,7 +30407,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=128;" }, { "id": 1296, @@ -30102,7 +30451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1299, @@ -30124,7 +30474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" }, "type_description": { "type_identifier": "t_uint256", @@ -30134,7 +30485,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=64;" } ] } @@ -30195,7 +30547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1305, @@ -30217,7 +30570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } ], "type_descriptions": [ @@ -30255,7 +30609,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -30317,7 +30672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1311, @@ -30339,7 +30695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" }, "type_description": { "type_identifier": "t_uint256", @@ -30349,7 +30706,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=64;" }, { "id": 1312, @@ -30392,7 +30750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1315, @@ -30414,7 +30773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "32" }, "type_description": { "type_identifier": "t_uint256", @@ -30424,7 +30784,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=32;" } ] } @@ -30485,7 +30846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1321, @@ -30507,7 +30869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "32" } ], "type_descriptions": [ @@ -30545,7 +30908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -30607,7 +30971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1327, @@ -30629,7 +30994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "32" }, "type_description": { "type_identifier": "t_uint256", @@ -30639,7 +31005,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=32;" }, { "id": 1328, @@ -30682,7 +31049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1331, @@ -30704,7 +31072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "16" }, "type_description": { "type_identifier": "t_uint256", @@ -30714,7 +31083,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=16;" } ] } @@ -30775,7 +31145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1337, @@ -30797,7 +31168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "16" } ], "type_descriptions": [ @@ -30835,7 +31207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -30897,7 +31270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1343, @@ -30919,7 +31293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "16" }, "type_description": { "type_identifier": "t_uint256", @@ -30929,7 +31304,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=16;" }, { "id": 1344, @@ -30972,7 +31348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1347, @@ -30994,7 +31371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -31004,7 +31382,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=8;" } ] } @@ -31065,7 +31444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1353, @@ -31087,7 +31467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" } ], "type_descriptions": [ @@ -31125,7 +31506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -31187,7 +31569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1359, @@ -31209,7 +31592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -31219,7 +31603,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=8;" }, { "id": 1360, @@ -31262,7 +31647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1363, @@ -31284,7 +31670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -31294,7 +31681,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=4;" } ] } @@ -31355,7 +31743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1369, @@ -31377,7 +31766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } ], "type_descriptions": [ @@ -31415,7 +31805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -31477,7 +31868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1375, @@ -31499,7 +31891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -31509,7 +31902,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=4;" }, { "id": 1376, @@ -31552,7 +31946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1379, @@ -31574,7 +31969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -31584,7 +31980,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=2;" } ] } @@ -31645,7 +32042,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1385, @@ -31667,7 +32065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "type_descriptions": [ @@ -31705,7 +32104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -31767,7 +32167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1391, @@ -31789,7 +32190,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -31799,7 +32201,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=1;" } ] } @@ -31859,7 +32262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1397, @@ -31920,7 +32324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1401, @@ -31954,7 +32359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1402, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1403, @@ -31974,7 +32380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -32012,7 +32419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -32038,7 +32446,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1405, @@ -32081,7 +32490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1409, @@ -32142,7 +32552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1413, @@ -32176,7 +32587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1414, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1415, @@ -32196,7 +32608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -32234,7 +32647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -32260,7 +32674,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1417, @@ -32303,7 +32718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1421, @@ -32364,7 +32780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1425, @@ -32398,7 +32815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1426, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1427, @@ -32418,7 +32836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -32456,7 +32875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -32482,7 +32902,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1429, @@ -32525,7 +32946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1433, @@ -32586,7 +33008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1437, @@ -32620,7 +33043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1438, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1439, @@ -32640,7 +33064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -32678,7 +33103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -32704,7 +33130,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1441, @@ -32747,7 +33174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1445, @@ -32808,7 +33236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1449, @@ -32842,7 +33271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1450, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1451, @@ -32862,7 +33292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -32900,7 +33331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -32926,7 +33358,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1453, @@ -32969,7 +33402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1457, @@ -33030,7 +33464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1461, @@ -33064,7 +33499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1462, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1463, @@ -33084,7 +33520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -33122,7 +33559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -33148,7 +33586,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1465, @@ -33191,7 +33630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1469, @@ -33252,7 +33692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1473, @@ -33286,7 +33727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1474, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1475, @@ -33306,7 +33748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -33344,7 +33787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -33370,7 +33814,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1477, @@ -33425,7 +33870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "result" }, { "id": 1481, @@ -33459,7 +33905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1482, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1483, @@ -33479,7 +33926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -33505,7 +33953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "min" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -33647,7 +34096,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsqrt(uint256a)internalpurereturns(uint256){if(a==0){return0;}uint256result=1;uint256x=a;if(x\u003e\u003e128\u003e0){x\u003e\u003e=128;result\u003c\u003c=64;}if(x\u003e\u003e64\u003e0){x\u003e\u003e=64;result\u003c\u003c=32;}if(x\u003e\u003e32\u003e0){x\u003e\u003e=32;result\u003c\u003c=16;}if(x\u003e\u003e16\u003e0){x\u003e\u003e=16;result\u003c\u003c=8;}if(x\u003e\u003e8\u003e0){x\u003e\u003e=8;result\u003c\u003c=4;}if(x\u003e\u003e4\u003e0){x\u003e\u003e=4;result\u003c\u003c=2;}if(x\u003e\u003e2\u003e0){result\u003c\u003c=1;}unchecked{result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;returnmin(result,a/result);}}" }, { "id": 1485, @@ -33781,7 +34231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1501, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -33802,7 +34253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "sqrt" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -33865,7 +34317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1506, - "is_pure": false + "is_pure": false, + "text": "rounding" }, "right_expression": { "id": 1507, @@ -33908,14 +34361,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "Rounding" }, "member_name": "Up", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_Rounding_$911", "type_string": "enum Math.Rounding" - } + }, + "text": "Rounding.Up" }, "type_description": { "type_identifier": "t_bool", @@ -33968,7 +34423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1512, @@ -33988,7 +34444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -34013,7 +34470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1513, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -34087,7 +34545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1518, @@ -34109,7 +34568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -34119,7 +34579,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result+=1;" } ] } @@ -34154,7 +34615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -34347,13 +34809,14 @@ } ] }, - "signature_raw": "sqrt(uint256, )", - "signature": "ef9a63ed", + "signature_raw": "sqrt(uint256,)", + "signature": "6e548084", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_enum_$_Rounding_$911$", "type_string": "function(uint256,enum Math.Rounding)" - } + }, + "text": "functionsqrt(uint256a,Roundingrounding)internalpurereturns(uint256){uint256result=sqrt(a);if(rounding==Rounding.Up\u0026\u0026result*result\u003ca){result+=1;}returnresult;}" } ], "linearized_base_contracts": [ @@ -35141,13 +35604,14 @@ } ] }, - "signature_raw": "hasRole(bytes32, address)", - "signature": "86282e07", + "signature_raw": "hasRole(bytes32,address)", + "signature": "91d14854", "scope": 1584, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionhasRole(bytes32role,addressaccount)externalviewreturns(bool);" }, { "id": 1624, @@ -35315,7 +35779,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetRoleAdmin(bytes32role)externalviewreturns(bytes32);" }, { "id": 1633, @@ -35476,13 +35941,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "grantRole(bytes32, address)", - "signature": "44f0a842", + "signature_raw": "grantRole(bytes32,address)", + "signature": "2f2ff15d", "scope": 1584, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functiongrantRole(bytes32role,addressaccount)external;" }, { "id": 1642, @@ -35643,13 +36109,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "revokeRole(bytes32, address)", - "signature": "b3252796", + "signature_raw": "revokeRole(bytes32,address)", + "signature": "d547741f", "scope": 1584, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrevokeRole(bytes32role,addressaccount)external;" }, { "id": 1651, @@ -35810,13 +36277,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "renounceRole(bytes32, address)", - "signature": "e8365576", + "signature_raw": "renounceRole(bytes32,address)", + "signature": "36568abe", "scope": 1584, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrenounceRole(bytes32role,addressaccount)external;" } ], "linearized_base_contracts": [ @@ -36023,21 +36491,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1688, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 1689, @@ -36059,7 +36530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -36200,7 +36672,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 1691, @@ -36334,7 +36807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -36380,7 +36854,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -36392,7 +36867,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1707, @@ -36412,7 +36888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1707, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -36445,7 +36922,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -36466,7 +36944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -36570,7 +37049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -36626,14 +37106,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1715, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -36687,7 +37169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1709, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1720, @@ -36715,7 +37198,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -36736,7 +37220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -36868,13 +37353,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 1722, @@ -36968,7 +37454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1735, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1736, @@ -36994,7 +37481,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1737, @@ -37026,7 +37514,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -37047,7 +37536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -37225,13 +37715,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 1739, @@ -37329,7 +37820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1754, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1755, @@ -37355,7 +37847,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1756, @@ -37387,7 +37880,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 1757, @@ -37421,7 +37915,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -37442,7 +37937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -37663,13 +38159,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 1759, @@ -37767,7 +38264,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1774, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1775, @@ -37793,7 +38291,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1776, @@ -37823,7 +38322,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 1777, @@ -37859,7 +38359,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -37880,7 +38381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -38101,13 +38603,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 1779, @@ -38241,7 +38744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -38287,7 +38791,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -38299,7 +38804,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1801, @@ -38319,7 +38825,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1801, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -38352,7 +38859,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -38373,7 +38881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -38440,7 +38949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1807, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -38461,7 +38971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -38494,7 +39005,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -38515,7 +39027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -38664,7 +39177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1818, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -38720,14 +39234,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1817, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -38797,7 +39313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1809, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1823, @@ -38823,7 +39340,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1824, @@ -38853,7 +39371,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -38874,7 +39393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -39138,13 +39658,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1826, @@ -39238,7 +39759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1839, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1840, @@ -39264,7 +39786,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1841, @@ -39296,7 +39819,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -39317,7 +39841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -39495,13 +40020,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 1843, @@ -39598,7 +40124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1859, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -39619,7 +40146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -39652,7 +40180,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -39673,7 +40202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -39822,7 +40352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1869, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -39866,14 +40397,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1868, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -39938,7 +40471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1861, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1874, @@ -39964,7 +40498,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1875, @@ -39994,7 +40529,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -40015,7 +40551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -40236,13 +40773,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1877, @@ -40308,7 +40846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1890, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 1891, @@ -40354,7 +40893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1893, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -40572,13 +41112,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 1674, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ @@ -40967,7 +41508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -41056,7 +41598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1927, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, { "id": 1939, @@ -41090,7 +41633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1941, @@ -41112,7 +41656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -41237,7 +41782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -41283,7 +41829,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -41332,14 +41879,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -41383,7 +41932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1955, @@ -41405,7 +41955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -41461,7 +42012,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -41482,7 +42034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -41530,7 +42083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1960, @@ -41552,7 +42106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint8", @@ -41562,7 +42117,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=1;" }, { "id": 1961, @@ -41593,7 +42149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1927, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 1963, @@ -41650,7 +42207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1967, @@ -41672,7 +42230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -41682,7 +42241,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" } ] } @@ -41705,7 +42265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 1969, @@ -41736,7 +42297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1927, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 1971, @@ -41793,7 +42355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1975, @@ -41815,7 +42378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -41825,7 +42389,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" }, { "id": 1976, @@ -41859,7 +42424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -41880,7 +42446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1919, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -42055,7 +42622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -42094,7 +42662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1993, @@ -42114,7 +42683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1921, - "is_pure": false + "is_pure": false, + "text": "version" }, "type_description": { "type_identifier": "t_bool", @@ -42159,7 +42729,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -42180,7 +42751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -42228,7 +42800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1998, @@ -42248,7 +42821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1921, - "is_pure": false + "is_pure": false, + "text": "version" }, "type_description": { "type_identifier": "t_uint8", @@ -42258,7 +42832,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=version;" }, { "id": 1999, @@ -42301,7 +42876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2002, @@ -42323,7 +42899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -42333,7 +42910,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" }, { "id": 2003, @@ -42353,7 +42931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 2004, @@ -42396,7 +42975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2007, @@ -42418,7 +42998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -42428,7 +43009,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" }, { "id": 2008, @@ -42460,7 +43042,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1921, - "is_pure": false + "is_pure": false, + "text": "version" } ], "expression": { @@ -42481,7 +43064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1919, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -42578,7 +43162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, { "id": 2018, @@ -42606,7 +43191,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Initializable: contract is not initializing\"" } ], "expression": { @@ -42627,7 +43213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -42652,7 +43239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -42751,7 +43339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1916, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -42784,7 +43373,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is initializing\"" } ], "expression": { @@ -42805,7 +43395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -42855,7 +43446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 2033, @@ -42902,7 +43494,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" }, "type_description": { "type_identifier": "t_bool", @@ -42964,7 +43557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 2039, @@ -43011,7 +43605,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" }, "type_description": { "type_identifier": "t_uint8", @@ -43021,7 +43616,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=type(uint8).max;" }, { "id": 2041, @@ -43080,7 +43676,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" } ], "expression": { @@ -43101,7 +43698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1919, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -43149,7 +43747,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_disableInitializers()internalvirtual{require(!_initializing,\"Initializable: contract is initializing\");if(_initialized\u003ctype(uint8).max){_initialized=type(uint8).max;emitInitialized(type(uint8).max);}}" } ], "linearized_base_contracts": [ @@ -43388,7 +43987,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init()internalonlyInitializing{}" }, { "id": 2075, @@ -43496,7 +44096,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init_unchained()internalonlyInitializing{}" }, { "id": 2082, @@ -43586,14 +44187,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -43730,7 +44333,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 2094, @@ -43820,14 +44424,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -43962,7 +44568,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" }, { "id": 2106, @@ -44019,7 +44626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -44200,7 +44808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -44263,7 +44872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { @@ -44344,7 +44954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2150, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2151, @@ -44366,7 +44977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -44419,7 +45031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -44503,7 +45116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2158, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -44610,7 +45224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2155, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 2164, @@ -44632,7 +45247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -44682,7 +45298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -44735,7 +45352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 2171, @@ -44757,7 +45375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -44767,7 +45386,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -44869,7 +45489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2159, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -44956,7 +45577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2180, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2181, @@ -44978,7 +45600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -45039,7 +45662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 2186, @@ -45061,7 +45685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -45071,7 +45696,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 2187, @@ -45125,7 +45751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 2191, @@ -45145,7 +45772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -45234,7 +45862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 2200, @@ -45287,7 +45916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2205, @@ -45309,7 +45939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -45359,7 +45990,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -45414,7 +46046,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -45464,7 +46097,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -45479,7 +46113,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 2206, @@ -45522,7 +46157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2209, @@ -45544,7 +46180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -45554,7 +46191,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -45608,7 +46246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2172, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -45653,7 +46292,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -45793,7 +46433,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 2216, @@ -45873,7 +46514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2226, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2227, @@ -45895,7 +46537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -45948,7 +46591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -46032,7 +46676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2234, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -46115,7 +46760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -46161,7 +46807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2231, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 2241, @@ -46183,7 +46830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -46233,7 +46881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -46286,7 +46935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 2248, @@ -46308,7 +46958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -46318,7 +46969,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -46376,7 +47028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 2253, @@ -46402,7 +47055,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -46423,7 +47077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -46563,7 +47218,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 2255, @@ -46727,7 +47383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 2274, @@ -46747,7 +47404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2274, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -46774,7 +47432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -46875,7 +47534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2265, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 2280, @@ -46897,7 +47557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -46934,7 +47595,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -46944,7 +47606,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 2282, @@ -46998,7 +47661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2265, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 2286, @@ -47020,7 +47684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -47057,7 +47722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -47067,7 +47733,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 2288, @@ -47188,7 +47855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 2295, @@ -47208,7 +47876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2295, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -47235,7 +47904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -47275,7 +47945,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 2299, @@ -47297,7 +47968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -47340,7 +48012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -47413,7 +48086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 2307, @@ -47433,7 +48107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -47479,7 +48154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 679, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 2311, @@ -47511,7 +48187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 2313, @@ -47533,7 +48210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -47570,7 +48248,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 2314, @@ -47613,7 +48292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2317, @@ -47635,7 +48315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -47645,7 +48326,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -47705,7 +48387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2321, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2322, @@ -47727,7 +48410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -47760,7 +48444,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -47781,7 +48466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -47837,7 +48523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2265, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -47882,7 +48569,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -48059,13 +48747,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 2130, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" }, { "id": 2330, @@ -48193,7 +48882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2347, - "is_pure": false + "is_pure": false, + "text": "addr" } ], "expression": { @@ -48238,7 +48928,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -48288,7 +48979,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -48319,7 +49011,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" } - ] + ], + "text": "_ADDRESS_LENGTH" } ], "expression": { @@ -48340,7 +49033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_function_$_t_address$", @@ -48481,7 +49175,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoHexString(addressaddr)internalpurereturns(stringmemory){returntoHexString(uint256(uint160(addr)),_ADDRESS_LENGTH);}" } ], "linearized_base_contracts": [ @@ -48729,7 +49424,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" } ], "linearized_base_contracts": [ @@ -49018,7 +49714,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC165_init()internalonlyInitializing{}" }, { "id": 2464, @@ -49126,7 +49823,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC165_init_unchained()internalonlyInitializing{}" }, { "id": 2471, @@ -49207,7 +49905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2482, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 2483, @@ -49254,7 +49953,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC165Upgradeable).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -49413,7 +50113,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IERC165Upgradeable).interfaceId;}" }, { "id": 2486, @@ -49470,7 +50171,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -49852,7 +50554,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__AccessControl_init()internalonlyInitializing{}" }, { "id": 2537, @@ -49960,7 +50663,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__AccessControl_init_unchained()internalonlyInitializing{}" }, { "id": 2544, @@ -50003,7 +50707,7 @@ "name": "members", "type_name": { "id": 2546, - "node_type": 0, + "node_type": 53, "src": { "line": 1094, "column": 8, @@ -50135,7 +50839,7 @@ }, "scope": 2520, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "visibility": 2, @@ -50143,7 +50847,7 @@ "mutability": 1, "type_name": { "id": 2553, - "node_type": 0, + "node_type": 69, "src": { "line": 1098, "column": 4, @@ -50180,7 +50884,7 @@ }, "value_type": { "id": 2555, - "node_type": 30, + "node_type": 69, "src": { "line": 1098, "column": 23, @@ -50190,10 +50894,10 @@ "parent_index": 2553 }, "name": "RoleData", - "referenced_declaration": 0, + "referenced_declaration": 2544, "type_description": { - "type_identifier": "t_RoleData", - "type_string": "RoleData" + "type_identifier": "t_struct$_AccessControlUpgradeable_RoleData_$2544", + "type_string": "struct AccessControlUpgradeable.RoleData" } }, "value_name_location": { @@ -50204,16 +50908,38 @@ "length": 8, "parent_index": 2553 }, - "referenced_declaration": 0, + "path_node": { + "id": 2556, + "name": "RoleData", + "node_type": 52, + "referenced_declaration": 2544, + "src": { + "line": 1098, + "column": 23, + "start": 40297, + "end": 40304, + "length": 8, + "parent_index": 2553 + }, + "name_location": { + "line": 1098, + "column": 23, + "start": 40297, + "end": 40304, + "length": 8, + "parent_index": 2553 + } + }, + "referenced_declaration": 2544, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" } }, "initial_value": null }, { - "id": 2557, + "id": 2558, "name": "DEFAULT_ADMIN_ROLE", "is_constant": true, "is_state_variable": true, @@ -50235,7 +50961,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2558, + "id": 2559, "node_type": 30, "src": { "line": 1100, @@ -50243,7 +50969,7 @@ "start": 40328, "end": 40334, "length": 7, - "parent_index": 2557 + "parent_index": 2558 }, "name": "bytes32", "referenced_declaration": 0, @@ -50253,7 +50979,7 @@ } }, "initial_value": { - "id": 2559, + "id": 2560, "node_type": 17, "kind": 49, "value": "0x00", @@ -50264,7 +50990,7 @@ "start": 40373, "end": 40376, "length": 4, - "parent_index": 2557 + "parent_index": 2558 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -50272,11 +50998,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x00" } }, { - "id": 2561, + "id": 2562, "name": "onlyRole", "node_type": 68, "src": { @@ -50293,12 +51020,12 @@ "start": 40773, "end": 40780, "length": 8, - "parent_index": 2561 + "parent_index": 2562 }, "visibility": 1, "virtual": false, "parameters": { - "id": 2562, + "id": 2563, "node_type": 43, "src": { "line": 1112, @@ -50310,7 +51037,7 @@ }, "parameters": [ { - "id": 2563, + "id": 2564, "node_type": 44, "src": { "line": 1112, @@ -50318,12 +51045,12 @@ "start": 40782, "end": 40793, "length": 12, - "parent_index": 2562 + "parent_index": 2563 }, "scope": 2520, "name": "role", "type_name": { - "id": 2564, + "id": 2565, "node_type": 30, "src": { "line": 1112, @@ -50331,7 +51058,7 @@ "start": 40782, "end": 40788, "length": 7, - "parent_index": 2563 + "parent_index": 2564 }, "name": "bytes32", "referenced_declaration": 0, @@ -50357,7 +51084,7 @@ ] }, "body": { - "id": 2565, + "id": 2566, "node_type": 46, "kind": 0, "src": { @@ -50366,12 +51093,12 @@ "start": 40796, "end": 40839, "length": 44, - "parent_index": 2561 + "parent_index": 2562 }, "implemented": true, "statements": [ { - "id": 2566, + "id": 2567, "node_type": 24, "kind": 24, "src": { @@ -50380,7 +51107,7 @@ "start": 40806, "end": 40821, "length": 16, - "parent_index": 2565 + "parent_index": 2566 }, "argument_types": [ { @@ -50390,7 +51117,7 @@ ], "arguments": [ { - "id": 2568, + "id": 2569, "node_type": 16, "src": { "line": 1113, @@ -50398,7 +51125,7 @@ "start": 40817, "end": 40820, "length": 4, - "parent_index": 2566 + "parent_index": 2567 }, "name": "role", "type_description": { @@ -50407,11 +51134,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2567, + "id": 2568, "node_type": 16, "src": { "line": 1113, @@ -50419,7 +51147,7 @@ "start": 40806, "end": 40815, "length": 10, - "parent_index": 2566 + "parent_index": 2567 }, "name": "_checkRole", "type_description": { @@ -50428,7 +51156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -50436,7 +51165,7 @@ } }, { - "id": 2569, + "id": 2570, "node_type": 82, "src": { "line": 1114, @@ -50444,7 +51173,7 @@ "start": 40832, "end": 40832, "length": 1, - "parent_index": 2565 + "parent_index": 2566 }, "name": "_", "type_description": { @@ -50453,13 +51182,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 2571, + "id": 2572, "name": "supportsInterface", "node_type": 42, "kind": 41, @@ -50477,10 +51207,10 @@ "start": 40916, "end": 40932, "length": 17, - "parent_index": 2571 + "parent_index": 2572 }, "body": { - "id": 2579, + "id": 2580, "node_type": 46, "kind": 0, "src": { @@ -50489,12 +51219,12 @@ "start": 40998, "end": 41119, "length": 122, - "parent_index": 2571 + "parent_index": 2572 }, "implemented": true, "statements": [ { - "id": 2580, + "id": 2581, "node_type": 47, "src": { "line": 1121, @@ -50502,11 +51232,11 @@ "start": 41008, "end": 41113, "length": 106, - "parent_index": 2571 + "parent_index": 2572 }, - "function_return_parameters": 2571, + "function_return_parameters": 2572, "expression": { - "id": 2581, + "id": 2582, "is_constant": false, "is_pure": false, "node_type": 19, @@ -50516,11 +51246,11 @@ "start": 41015, "end": 41112, "length": 98, - "parent_index": 2580 + "parent_index": 2581 }, "operator": 33, "left_expression": { - "id": 2582, + "id": 2583, "is_constant": false, "is_pure": false, "node_type": 19, @@ -50530,11 +51260,11 @@ "start": 41015, "end": 41072, "length": 58, - "parent_index": 2581 + "parent_index": 2582 }, "operator": 11, "left_expression": { - "id": 2583, + "id": 2584, "node_type": 16, "src": { "line": 1121, @@ -50542,7 +51272,7 @@ "start": 41015, "end": 41025, "length": 11, - "parent_index": 2582 + "parent_index": 2583 }, "name": "interfaceId", "type_description": { @@ -50550,11 +51280,12 @@ "type_string": "bytes4" }, "overloaded_declarations": [], - "referenced_declaration": 2583, - "is_pure": false + "referenced_declaration": 2584, + "is_pure": false, + "text": "interfaceId" }, "right_expression": { - "id": 2584, + "id": 2585, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -50566,7 +51297,7 @@ "start": 41030, "end": 41072, "length": 43, - "parent_index": 2582 + "parent_index": 2583 }, "member_location": { "line": 1121, @@ -50574,10 +51305,10 @@ "start": 41062, "end": 41072, "length": 11, - "parent_index": 2584 + "parent_index": 2585 }, "expression": { - "id": 2585, + "id": 2586, "node_type": 16, "name": "type", "src": { @@ -50586,7 +51317,7 @@ "start": 41030, "end": 41060, "length": 31, - "parent_index": 2584 + "parent_index": 2585 }, "type_description": { "type_identifier": "", @@ -50598,7 +51329,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IAccessControlUpgradeable).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -50606,7 +51338,7 @@ } }, "right_expression": { - "id": 2586, + "id": 2587, "node_type": 24, "kind": 24, "src": { @@ -50615,7 +51347,7 @@ "start": 41077, "end": 41112, "length": 36, - "parent_index": 2581 + "parent_index": 2582 }, "argument_types": [ { @@ -50625,7 +51357,7 @@ ], "arguments": [ { - "id": 2589, + "id": 2590, "node_type": 16, "src": { "line": 1121, @@ -50633,7 +51365,7 @@ "start": 41101, "end": 41111, "length": 11, - "parent_index": 2586 + "parent_index": 2587 }, "name": "interfaceId", "type_description": { @@ -50641,12 +51373,13 @@ "type_string": "bytes4" }, "overloaded_declarations": [], - "referenced_declaration": 2589, - "is_pure": false + "referenced_declaration": 2590, + "is_pure": false, + "text": "interfaceId" } ], "expression": { - "id": 2587, + "id": 2588, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -50658,7 +51391,7 @@ "start": 41077, "end": 41099, "length": 23, - "parent_index": 2586 + "parent_index": 2587 }, "member_location": { "line": 1121, @@ -50666,10 +51399,10 @@ "start": 41083, "end": 41099, "length": 17, - "parent_index": 2587 + "parent_index": 2588 }, "expression": { - "id": 2588, + "id": 2589, "node_type": 16, "src": { "line": 1121, @@ -50677,7 +51410,7 @@ "start": 41077, "end": 41081, "length": 5, - "parent_index": 2587 + "parent_index": 2588 }, "name": "super", "type_description": { @@ -50686,14 +51419,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -50715,7 +51450,7 @@ "modifiers": [], "overrides": [ { - "id": 2575, + "id": 2576, "node_type": 63, "src": { "line": 1120, @@ -50723,7 +51458,7 @@ "start": 40974, "end": 40981, "length": 8, - "parent_index": 2571 + "parent_index": 2572 }, "overrides": [], "referenced_declaration": 0, @@ -50734,7 +51469,7 @@ } ], "parameters": { - "id": 2572, + "id": 2573, "node_type": 43, "src": { "line": 1120, @@ -50742,11 +51477,11 @@ "start": 40934, "end": 40951, "length": 18, - "parent_index": 2571 + "parent_index": 2572 }, "parameters": [ { - "id": 2573, + "id": 2574, "node_type": 44, "src": { "line": 1120, @@ -50754,12 +51489,12 @@ "start": 40934, "end": 40951, "length": 18, - "parent_index": 2572 + "parent_index": 2573 }, - "scope": 2571, + "scope": 2572, "name": "interfaceId", "type_name": { - "id": 2574, + "id": 2575, "node_type": 30, "src": { "line": 1120, @@ -50767,7 +51502,7 @@ "start": 40934, "end": 40939, "length": 6, - "parent_index": 2573 + "parent_index": 2574 }, "name": "bytes4", "referenced_declaration": 0, @@ -50793,7 +51528,7 @@ ] }, "return_parameters": { - "id": 2576, + "id": 2577, "node_type": 43, "src": { "line": 1120, @@ -50801,11 +51536,11 @@ "start": 40992, "end": 40995, "length": 4, - "parent_index": 2571 + "parent_index": 2572 }, "parameters": [ { - "id": 2577, + "id": 2578, "node_type": 44, "src": { "line": 1120, @@ -50813,12 +51548,12 @@ "start": 40992, "end": 40995, "length": 4, - "parent_index": 2576 + "parent_index": 2577 }, - "scope": 2571, + "scope": 2572, "name": "", "type_name": { - "id": 2578, + "id": 2579, "node_type": 30, "src": { "line": 1120, @@ -50826,7 +51561,7 @@ "start": 40992, "end": 40995, "length": 4, - "parent_index": 2577 + "parent_index": 2578 }, "name": "bool", "referenced_declaration": 0, @@ -50857,10 +51592,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IAccessControlUpgradeable).interfaceId||super.supportsInterface(interfaceId);}" }, { - "id": 2591, + "id": 2592, "name": "hasRole", "node_type": 42, "kind": 41, @@ -50878,10 +51614,10 @@ "start": 41216, "end": 41222, "length": 7, - "parent_index": 2591 + "parent_index": 2592 }, "body": { - "id": 2601, + "id": 2602, "node_type": 46, "kind": 0, "src": { @@ -50890,12 +51626,12 @@ "start": 41299, "end": 41351, "length": 53, - "parent_index": 2591 + "parent_index": 2592 }, "implemented": true, "statements": [ { - "id": 2602, + "id": 2603, "node_type": 47, "src": { "line": 1128, @@ -50903,11 +51639,11 @@ "start": 41309, "end": 41345, "length": 37, - "parent_index": 2591 + "parent_index": 2592 }, - "function_return_parameters": 2591, + "function_return_parameters": 2592, "expression": { - "id": 2603, + "id": 2604, "node_type": 22, "src": { "line": 1128, @@ -50915,10 +51651,10 @@ "start": 41316, "end": 41344, "length": 29, - "parent_index": 2602 + "parent_index": 2603 }, "index_expression": { - "id": 2604, + "id": 2605, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -50930,7 +51666,7 @@ "start": 41316, "end": 41335, "length": 20, - "parent_index": 2603 + "parent_index": 2604 }, "member_location": { "line": 1128, @@ -50938,10 +51674,10 @@ "start": 41329, "end": 41335, "length": 7, - "parent_index": 2604 + "parent_index": 2605 }, "expression": { - "id": 2605, + "id": 2606, "node_type": 22, "src": { "line": 1128, @@ -50949,10 +51685,10 @@ "start": 41316, "end": 41327, "length": 12, - "parent_index": 2604 + "parent_index": 2605 }, "index_expression": { - "id": 2606, + "id": 2607, "node_type": 16, "src": { "line": 1128, @@ -50960,19 +51696,20 @@ "start": 41316, "end": 41321, "length": 6, - "parent_index": 2605 + "parent_index": 2606 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2607, + "id": 2608, "node_type": 16, "src": { "line": 1128, @@ -50980,7 +51717,7 @@ "start": 41323, "end": 41326, "length": 4, - "parent_index": 2605 + "parent_index": 2606 }, "name": "role", "type_description": { @@ -50988,12 +51725,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2607, - "is_pure": false + "referenced_declaration": 2608, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -51002,19 +51740,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2608, + "id": 2609, "node_type": 16, "src": { "line": 1128, @@ -51022,7 +51761,7 @@ "start": 41337, "end": 41343, "length": 7, - "parent_index": 2603 + "parent_index": 2604 }, "name": "account", "type_description": { @@ -51030,12 +51769,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2608, - "is_pure": false + "referenced_declaration": 2609, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -51044,7 +51784,7 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } @@ -51058,7 +51798,7 @@ "modifiers": [], "overrides": [ { - "id": 2597, + "id": 2598, "node_type": 63, "src": { "line": 1127, @@ -51066,7 +51806,7 @@ "start": 41275, "end": 41282, "length": 8, - "parent_index": 2591 + "parent_index": 2592 }, "overrides": [], "referenced_declaration": 0, @@ -51077,7 +51817,7 @@ } ], "parameters": { - "id": 2592, + "id": 2593, "node_type": 43, "src": { "line": 1127, @@ -51085,11 +51825,11 @@ "start": 41224, "end": 41252, "length": 29, - "parent_index": 2591 + "parent_index": 2592 }, "parameters": [ { - "id": 2593, + "id": 2594, "node_type": 44, "src": { "line": 1127, @@ -51097,12 +51837,12 @@ "start": 41224, "end": 41235, "length": 12, - "parent_index": 2592 + "parent_index": 2593 }, - "scope": 2591, + "scope": 2592, "name": "role", "type_name": { - "id": 2594, + "id": 2595, "node_type": 30, "src": { "line": 1127, @@ -51110,7 +51850,7 @@ "start": 41224, "end": 41230, "length": 7, - "parent_index": 2593 + "parent_index": 2594 }, "name": "bytes32", "referenced_declaration": 0, @@ -51128,7 +51868,7 @@ } }, { - "id": 2595, + "id": 2596, "node_type": 44, "src": { "line": 1127, @@ -51136,12 +51876,12 @@ "start": 41238, "end": 41252, "length": 15, - "parent_index": 2592 + "parent_index": 2593 }, - "scope": 2591, + "scope": 2592, "name": "account", "type_name": { - "id": 2596, + "id": 2597, "node_type": 30, "src": { "line": 1127, @@ -51149,7 +51889,7 @@ "start": 41238, "end": 41244, "length": 7, - "parent_index": 2595 + "parent_index": 2596 }, "name": "address", "state_mutability": 4, @@ -51180,7 +51920,7 @@ ] }, "return_parameters": { - "id": 2598, + "id": 2599, "node_type": 43, "src": { "line": 1127, @@ -51188,11 +51928,11 @@ "start": 41293, "end": 41296, "length": 4, - "parent_index": 2591 + "parent_index": 2592 }, "parameters": [ { - "id": 2599, + "id": 2600, "node_type": 44, "src": { "line": 1127, @@ -51200,12 +51940,12 @@ "start": 41293, "end": 41296, "length": 4, - "parent_index": 2598 + "parent_index": 2599 }, - "scope": 2591, + "scope": 2592, "name": "", "type_name": { - "id": 2600, + "id": 2601, "node_type": 30, "src": { "line": 1127, @@ -51213,7 +51953,7 @@ "start": 41293, "end": 41296, "length": 4, - "parent_index": 2599 + "parent_index": 2600 }, "name": "bool", "referenced_declaration": 0, @@ -51238,16 +51978,17 @@ } ] }, - "signature_raw": "hasRole(bytes32, address)", - "signature": "86282e07", + "signature_raw": "hasRole(bytes32,address)", + "signature": "91d14854", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionhasRole(bytes32role,addressaccount)publicviewvirtualoverridereturns(bool){return_roles[role].members[account];}" }, { - "id": 2610, + "id": 2611, "name": "_checkRole", "node_type": 42, "kind": 41, @@ -51265,10 +52006,10 @@ "start": 41655, "end": 41664, "length": 10, - "parent_index": 2610 + "parent_index": 2611 }, "body": { - "id": 2615, + "id": 2616, "node_type": 46, "kind": 0, "src": { @@ -51277,12 +52018,12 @@ "start": 41702, "end": 41748, "length": 47, - "parent_index": 2610 + "parent_index": 2611 }, "implemented": true, "statements": [ { - "id": 2616, + "id": 2617, "node_type": 24, "kind": 24, "src": { @@ -51291,7 +52032,7 @@ "start": 41712, "end": 41741, "length": 30, - "parent_index": 2615 + "parent_index": 2616 }, "argument_types": [ { @@ -51305,7 +52046,7 @@ ], "arguments": [ { - "id": 2618, + "id": 2619, "node_type": 16, "src": { "line": 1140, @@ -51313,7 +52054,7 @@ "start": 41723, "end": 41726, "length": 4, - "parent_index": 2616 + "parent_index": 2617 }, "name": "role", "type_description": { @@ -51321,11 +52062,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2618, - "is_pure": false + "referenced_declaration": 2619, + "is_pure": false, + "text": "role" }, { - "id": 2619, + "id": 2620, "node_type": 24, "kind": 24, "src": { @@ -51334,12 +52076,12 @@ "start": 41729, "end": 41740, "length": 12, - "parent_index": 2616 + "parent_index": 2617 }, "argument_types": [], "arguments": [], "expression": { - "id": 2620, + "id": 2621, "node_type": 16, "src": { "line": 1140, @@ -51347,7 +52089,7 @@ "start": 41729, "end": 41738, "length": 10, - "parent_index": 2619 + "parent_index": 2620 }, "name": "_msgSender", "type_description": { @@ -51356,7 +52098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -51365,7 +52108,7 @@ } ], "expression": { - "id": 2617, + "id": 2618, "node_type": 16, "src": { "line": 1140, @@ -51373,7 +52116,7 @@ "start": 41712, "end": 41721, "length": 10, - "parent_index": 2616 + "parent_index": 2617 }, "name": "_checkRole", "type_description": { @@ -51382,7 +52125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_function_$", @@ -51398,7 +52142,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2611, + "id": 2612, "node_type": 43, "src": { "line": 1139, @@ -51406,11 +52150,11 @@ "start": 41666, "end": 41677, "length": 12, - "parent_index": 2610 + "parent_index": 2611 }, "parameters": [ { - "id": 2612, + "id": 2613, "node_type": 44, "src": { "line": 1139, @@ -51418,12 +52162,12 @@ "start": 41666, "end": 41677, "length": 12, - "parent_index": 2611 + "parent_index": 2612 }, - "scope": 2610, + "scope": 2611, "name": "role", "type_name": { - "id": 2613, + "id": 2614, "node_type": 30, "src": { "line": 1139, @@ -51431,7 +52175,7 @@ "start": 41666, "end": 41672, "length": 7, - "parent_index": 2612 + "parent_index": 2613 }, "name": "bytes32", "referenced_declaration": 0, @@ -51457,7 +52201,7 @@ ] }, "return_parameters": { - "id": 2614, + "id": 2615, "node_type": 43, "src": { "line": 1139, @@ -51465,7 +52209,7 @@ "start": 41646, "end": 41748, "length": 103, - "parent_index": 2610 + "parent_index": 2611 }, "parameters": [], "parameter_types": [] @@ -51476,10 +52220,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "function_checkRole(bytes32role)internalviewvirtual{_checkRole(role,_msgSender());}" }, { - "id": 2622, + "id": 2623, "name": "_checkRole", "node_type": 42, "kind": 41, @@ -51497,10 +52242,10 @@ "start": 42039, "end": 42048, "length": 10, - "parent_index": 2622 + "parent_index": 2623 }, "body": { - "id": 2629, + "id": 2630, "node_type": 46, "kind": 0, "src": { @@ -51509,12 +52254,12 @@ "start": 42103, "end": 42543, "length": 441, - "parent_index": 2622 + "parent_index": 2623 }, "implemented": true, "statements": [ { - "id": 2630, + "id": 2631, "node_type": 48, "src": { "line": 1151, @@ -51522,10 +52267,10 @@ "start": 42113, "end": 42537, "length": 425, - "parent_index": 2629 + "parent_index": 2630 }, "condition": { - "id": 2631, + "id": 2632, "node_type": 18, "kind": 104, "src": { @@ -51534,7 +52279,7 @@ "start": 42117, "end": 42139, "length": 23, - "parent_index": 2622 + "parent_index": 2623 }, "operator": 31, "prefix": false, @@ -51543,7 +52288,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 2632, + "id": 2633, "node_type": 24, "kind": 24, "src": { @@ -51552,7 +52297,7 @@ "start": 42118, "end": 42139, "length": 22, - "parent_index": 2631 + "parent_index": 2632 }, "argument_types": [ { @@ -51566,7 +52311,7 @@ ], "arguments": [ { - "id": 2634, + "id": 2635, "node_type": 16, "src": { "line": 1151, @@ -51574,7 +52319,7 @@ "start": 42126, "end": 42129, "length": 4, - "parent_index": 2632 + "parent_index": 2633 }, "name": "role", "type_description": { @@ -51582,11 +52327,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2634, - "is_pure": false + "referenced_declaration": 2635, + "is_pure": false, + "text": "role" }, { - "id": 2635, + "id": 2636, "node_type": 16, "src": { "line": 1151, @@ -51594,7 +52340,7 @@ "start": 42132, "end": 42138, "length": 7, - "parent_index": 2632 + "parent_index": 2633 }, "name": "account", "type_description": { @@ -51602,18 +52348,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2635, + "referenced_declaration": 2636, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2633, + "id": 2634, "node_type": 16, "src": { "line": 1151, @@ -51621,7 +52368,7 @@ "start": 42118, "end": 42124, "length": 7, - "parent_index": 2632 + "parent_index": 2633 }, "name": "hasRole", "type_description": { @@ -51630,7 +52377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -51643,7 +52391,7 @@ } }, "body": { - "id": 2636, + "id": 2637, "node_type": 46, "kind": 0, "src": { @@ -51652,12 +52400,12 @@ "start": 42142, "end": 42537, "length": 396, - "parent_index": 2622 + "parent_index": 2623 }, "implemented": true, "statements": [ { - "id": 2637, + "id": 2638, "node_type": 24, "kind": 24, "src": { @@ -51666,7 +52414,7 @@ "start": 42156, "end": 42526, "length": 371, - "parent_index": 2636 + "parent_index": 2637 }, "argument_types": [ { @@ -51676,7 +52424,7 @@ ], "arguments": [ { - "id": 2639, + "id": 2640, "node_type": 24, "kind": 24, "src": { @@ -51685,7 +52433,7 @@ "start": 42180, "end": 42512, "length": 333, - "parent_index": 2637 + "parent_index": 2638 }, "argument_types": [ { @@ -51695,7 +52443,7 @@ ], "arguments": [ { - "id": 2642, + "id": 2643, "node_type": 24, "kind": 24, "src": { @@ -51704,7 +52452,7 @@ "start": 42208, "end": 42494, "length": 287, - "parent_index": 2639 + "parent_index": 2640 }, "argument_types": [ { @@ -51726,7 +52474,7 @@ ], "arguments": [ { - "id": 2645, + "id": 2646, "node_type": 17, "kind": 50, "value": "AccessControl: account", @@ -51737,7 +52485,7 @@ "start": 42250, "end": 42274, "length": 25, - "parent_index": 2642 + "parent_index": 2643 }, "type_description": { "type_identifier": "t_string_literal", @@ -51745,10 +52493,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"AccessControl: account \"" }, { - "id": 2646, + "id": 2647, "node_type": 24, "kind": 24, "src": { @@ -51757,7 +52506,7 @@ "start": 42301, "end": 42352, "length": 52, - "parent_index": 2642 + "parent_index": 2643 }, "argument_types": [ { @@ -51771,7 +52520,7 @@ ], "arguments": [ { - "id": 2649, + "id": 2650, "node_type": 24, "kind": 24, "src": { @@ -51780,7 +52529,7 @@ "start": 42332, "end": 42347, "length": 16, - "parent_index": 2646 + "parent_index": 2647 }, "argument_types": [ { @@ -51790,7 +52539,7 @@ ], "arguments": [ { - "id": 2652, + "id": 2653, "node_type": 16, "src": { "line": 1156, @@ -51798,7 +52547,7 @@ "start": 42340, "end": 42346, "length": 7, - "parent_index": 2649 + "parent_index": 2650 }, "name": "account", "type_description": { @@ -51806,12 +52555,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2652, - "is_pure": false + "referenced_declaration": 2653, + "is_pure": false, + "text": "account" } ], "expression": { - "id": 2650, + "id": 2651, "node_type": 16, "src": { "line": 1156, @@ -51819,11 +52569,11 @@ "start": 42332, "end": 42338, "length": 7, - "parent_index": 2649 + "parent_index": 2650 }, "name": "uint160", "type_name": { - "id": 2651, + "id": 2652, "node_type": 30, "src": { "line": 1156, @@ -51831,7 +52581,7 @@ "start": 42332, "end": 42338, "length": 7, - "parent_index": 2650 + "parent_index": 2651 }, "name": "uint160", "referenced_declaration": 0, @@ -51852,7 +52602,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -51860,7 +52611,7 @@ } }, { - "id": 2653, + "id": 2654, "node_type": 17, "kind": 49, "value": "20", @@ -51871,7 +52622,7 @@ "start": 42350, "end": 42351, "length": 2, - "parent_index": 2646 + "parent_index": 2647 }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -51885,11 +52636,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "20" } ], "expression": { - "id": 2647, + "id": 2648, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -51901,7 +52653,7 @@ "start": 42301, "end": 42330, "length": 30, - "parent_index": 2646 + "parent_index": 2647 }, "member_location": { "line": 1156, @@ -51909,10 +52661,10 @@ "start": 42320, "end": 42330, "length": 11, - "parent_index": 2647 + "parent_index": 2648 }, "expression": { - "id": 2648, + "id": 2649, "node_type": 16, "src": { "line": 1156, @@ -51920,7 +52672,7 @@ "start": 42301, "end": 42318, "length": 18, - "parent_index": 2647 + "parent_index": 2648 }, "name": "StringsUpgradeable", "type_description": { @@ -51929,14 +52681,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2110, - "is_pure": false + "is_pure": false, + "text": "StringsUpgradeable" }, "member_name": "toHexString", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StringsUpgradeable_$2110", "type_string": "contract StringsUpgradeable" - } + }, + "text": "StringsUpgradeable.toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_rational_20_by_1$", @@ -51944,7 +52698,7 @@ } }, { - "id": 2654, + "id": 2655, "node_type": 17, "kind": 50, "value": "is missing role", @@ -51955,7 +52709,7 @@ "start": 42379, "end": 42397, "length": 19, - "parent_index": 2642 + "parent_index": 2643 }, "type_description": { "type_identifier": "t_string_literal", @@ -51973,10 +52727,11 @@ "type_identifier": "t_function_$_t_function_$_t_address$_t_rational_20_by_1$", "type_string": "function(function(address),int_const 20)" } - ] + ], + "text": "\" is missing role \"" }, { - "id": 2655, + "id": 2656, "node_type": 24, "kind": 24, "src": { @@ -51985,7 +52740,7 @@ "start": 42424, "end": 42472, "length": 49, - "parent_index": 2642 + "parent_index": 2643 }, "argument_types": [ { @@ -51999,7 +52754,7 @@ ], "arguments": [ { - "id": 2658, + "id": 2659, "node_type": 24, "kind": 24, "src": { @@ -52008,7 +52763,7 @@ "start": 42455, "end": 42467, "length": 13, - "parent_index": 2655 + "parent_index": 2656 }, "argument_types": [ { @@ -52018,7 +52773,7 @@ ], "arguments": [ { - "id": 2661, + "id": 2662, "node_type": 16, "src": { "line": 1158, @@ -52026,7 +52781,7 @@ "start": 42463, "end": 42466, "length": 4, - "parent_index": 2658 + "parent_index": 2659 }, "name": "role", "type_description": { @@ -52034,12 +52789,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2661, - "is_pure": false + "referenced_declaration": 2662, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2659, + "id": 2660, "node_type": 16, "src": { "line": 1158, @@ -52047,11 +52803,11 @@ "start": 42455, "end": 42461, "length": 7, - "parent_index": 2658 + "parent_index": 2659 }, "name": "uint256", "type_name": { - "id": 2660, + "id": 2661, "node_type": 30, "src": { "line": 1158, @@ -52059,7 +52815,7 @@ "start": 42455, "end": 42461, "length": 7, - "parent_index": 2659 + "parent_index": 2660 }, "name": "uint256", "referenced_declaration": 0, @@ -52080,7 +52836,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -52088,7 +52845,7 @@ } }, { - "id": 2662, + "id": 2663, "node_type": 17, "kind": 49, "value": "32", @@ -52099,7 +52856,7 @@ "start": 42470, "end": 42471, "length": 2, - "parent_index": 2655 + "parent_index": 2656 }, "type_description": { "type_identifier": "t_rational_32_by_1", @@ -52113,11 +52870,12 @@ "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" } - ] + ], + "text": "32" } ], "expression": { - "id": 2656, + "id": 2657, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -52129,7 +52887,7 @@ "start": 42424, "end": 42453, "length": 30, - "parent_index": 2655 + "parent_index": 2656 }, "member_location": { "line": 1158, @@ -52137,10 +52895,10 @@ "start": 42443, "end": 42453, "length": 11, - "parent_index": 2656 + "parent_index": 2657 }, "expression": { - "id": 2657, + "id": 2658, "node_type": 16, "src": { "line": 1158, @@ -52148,7 +52906,7 @@ "start": 42424, "end": 42441, "length": 18, - "parent_index": 2656 + "parent_index": 2657 }, "name": "StringsUpgradeable", "type_description": { @@ -52157,14 +52915,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2110, - "is_pure": false + "is_pure": false, + "text": "StringsUpgradeable" }, "member_name": "toHexString", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StringsUpgradeable_$2110", "type_string": "contract StringsUpgradeable" - } + }, + "text": "StringsUpgradeable.toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -52173,7 +52933,7 @@ } ], "expression": { - "id": 2643, + "id": 2644, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -52185,7 +52945,7 @@ "start": 42208, "end": 42223, "length": 16, - "parent_index": 2642 + "parent_index": 2643 }, "member_location": { "line": 1154, @@ -52193,10 +52953,10 @@ "start": 42212, "end": 42223, "length": 12, - "parent_index": 2643 + "parent_index": 2644 }, "expression": { - "id": 2644, + "id": 2645, "node_type": 16, "src": { "line": 1154, @@ -52204,7 +52964,7 @@ "start": 42208, "end": 42210, "length": 3, - "parent_index": 2643 + "parent_index": 2644 }, "name": "abi", "type_description": { @@ -52213,14 +52973,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -52229,7 +52991,7 @@ } ], "expression": { - "id": 2640, + "id": 2641, "node_type": 16, "src": { "line": 1153, @@ -52237,11 +52999,11 @@ "start": 42180, "end": 42185, "length": 6, - "parent_index": 2639 + "parent_index": 2640 }, "name": "string", "type_name": { - "id": 2641, + "id": 2642, "node_type": 30, "src": { "line": 1153, @@ -52249,7 +53011,7 @@ "start": 42180, "end": 42185, "length": 6, - "parent_index": 2640 + "parent_index": 2641 }, "name": "string", "referenced_declaration": 0, @@ -52270,7 +53032,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -52279,7 +53042,7 @@ } ], "expression": { - "id": 2638, + "id": 2639, "node_type": 16, "src": { "line": 1152, @@ -52287,7 +53050,7 @@ "start": 42156, "end": 42161, "length": 6, - "parent_index": 2637 + "parent_index": 2638 }, "name": "revert", "type_description": { @@ -52296,7 +53059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -52315,7 +53079,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2623, + "id": 2624, "node_type": 43, "src": { "line": 1150, @@ -52323,11 +53087,11 @@ "start": 42050, "end": 42078, "length": 29, - "parent_index": 2622 + "parent_index": 2623 }, "parameters": [ { - "id": 2624, + "id": 2625, "node_type": 44, "src": { "line": 1150, @@ -52335,12 +53099,12 @@ "start": 42050, "end": 42061, "length": 12, - "parent_index": 2623 + "parent_index": 2624 }, - "scope": 2622, + "scope": 2623, "name": "role", "type_name": { - "id": 2625, + "id": 2626, "node_type": 30, "src": { "line": 1150, @@ -52348,7 +53112,7 @@ "start": 42050, "end": 42056, "length": 7, - "parent_index": 2624 + "parent_index": 2625 }, "name": "bytes32", "referenced_declaration": 0, @@ -52366,7 +53130,7 @@ } }, { - "id": 2626, + "id": 2627, "node_type": 44, "src": { "line": 1150, @@ -52374,12 +53138,12 @@ "start": 42064, "end": 42078, "length": 15, - "parent_index": 2623 + "parent_index": 2624 }, - "scope": 2622, + "scope": 2623, "name": "account", "type_name": { - "id": 2627, + "id": 2628, "node_type": 30, "src": { "line": 1150, @@ -52387,7 +53151,7 @@ "start": 42064, "end": 42070, "length": 7, - "parent_index": 2626 + "parent_index": 2627 }, "name": "address", "state_mutability": 4, @@ -52418,7 +53182,7 @@ ] }, "return_parameters": { - "id": 2628, + "id": 2629, "node_type": 43, "src": { "line": 1150, @@ -52426,21 +53190,22 @@ "start": 42030, "end": 42543, "length": 514, - "parent_index": 2622 + "parent_index": 2623 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_checkRole(bytes32, address)", - "signature": "ad90b429", + "signature_raw": "_checkRole(bytes32,address)", + "signature": "5b7b2c38", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_checkRole(bytes32role,addressaccount)internalviewvirtual{if(!hasRole(role,account)){revert(string(abi.encodePacked(\"AccessControl: account \",StringsUpgradeable.toHexString(uint160(account),20),\" is missing role \",StringsUpgradeable.toHexString(uint256(role),32))));}}" }, { - "id": 2664, + "id": 2665, "name": "getRoleAdmin", "node_type": 42, "kind": 41, @@ -52458,10 +53223,10 @@ "start": 42734, "end": 42745, "length": 12, - "parent_index": 2664 + "parent_index": 2665 }, "body": { - "id": 2672, + "id": 2673, "node_type": 46, "kind": 0, "src": { @@ -52470,12 +53235,12 @@ "start": 42808, "end": 42853, "length": 46, - "parent_index": 2664 + "parent_index": 2665 }, "implemented": true, "statements": [ { - "id": 2673, + "id": 2674, "node_type": 47, "src": { "line": 1172, @@ -52483,11 +53248,11 @@ "start": 42818, "end": 42847, "length": 30, - "parent_index": 2664 + "parent_index": 2665 }, - "function_return_parameters": 2664, + "function_return_parameters": 2665, "expression": { - "id": 2674, + "id": 2675, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -52499,7 +53264,7 @@ "start": 42825, "end": 42846, "length": 22, - "parent_index": 2673 + "parent_index": 2674 }, "member_location": { "line": 1172, @@ -52507,10 +53272,10 @@ "start": 42838, "end": 42846, "length": 9, - "parent_index": 2674 + "parent_index": 2675 }, "expression": { - "id": 2675, + "id": 2676, "node_type": 22, "src": { "line": 1172, @@ -52518,10 +53283,10 @@ "start": 42825, "end": 42836, "length": 12, - "parent_index": 2674 + "parent_index": 2675 }, "index_expression": { - "id": 2676, + "id": 2677, "node_type": 16, "src": { "line": 1172, @@ -52529,19 +53294,20 @@ "start": 42825, "end": 42830, "length": 6, - "parent_index": 2675 + "parent_index": 2676 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2677, + "id": 2678, "node_type": 16, "src": { "line": 1172, @@ -52549,7 +53315,7 @@ "start": 42832, "end": 42835, "length": 4, - "parent_index": 2675 + "parent_index": 2676 }, "name": "role", "type_description": { @@ -52557,12 +53323,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2677, - "is_pure": false + "referenced_declaration": 2678, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -52571,16 +53338,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "adminRole", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole" } } ] @@ -52592,7 +53360,7 @@ "modifiers": [], "overrides": [ { - "id": 2668, + "id": 2669, "node_type": 63, "src": { "line": 1171, @@ -52600,7 +53368,7 @@ "start": 42781, "end": 42788, "length": 8, - "parent_index": 2664 + "parent_index": 2665 }, "overrides": [], "referenced_declaration": 0, @@ -52611,7 +53379,7 @@ } ], "parameters": { - "id": 2665, + "id": 2666, "node_type": 43, "src": { "line": 1171, @@ -52619,11 +53387,11 @@ "start": 42747, "end": 42758, "length": 12, - "parent_index": 2664 + "parent_index": 2665 }, "parameters": [ { - "id": 2666, + "id": 2667, "node_type": 44, "src": { "line": 1171, @@ -52631,12 +53399,12 @@ "start": 42747, "end": 42758, "length": 12, - "parent_index": 2665 + "parent_index": 2666 }, - "scope": 2664, + "scope": 2665, "name": "role", "type_name": { - "id": 2667, + "id": 2668, "node_type": 30, "src": { "line": 1171, @@ -52644,7 +53412,7 @@ "start": 42747, "end": 42753, "length": 7, - "parent_index": 2666 + "parent_index": 2667 }, "name": "bytes32", "referenced_declaration": 0, @@ -52670,7 +53438,7 @@ ] }, "return_parameters": { - "id": 2669, + "id": 2670, "node_type": 43, "src": { "line": 1171, @@ -52678,11 +53446,11 @@ "start": 42799, "end": 42805, "length": 7, - "parent_index": 2664 + "parent_index": 2665 }, "parameters": [ { - "id": 2670, + "id": 2671, "node_type": 44, "src": { "line": 1171, @@ -52690,12 +53458,12 @@ "start": 42799, "end": 42805, "length": 7, - "parent_index": 2669 + "parent_index": 2670 }, - "scope": 2664, + "scope": 2665, "name": "", "type_name": { - "id": 2671, + "id": 2672, "node_type": 30, "src": { "line": 1171, @@ -52703,7 +53471,7 @@ "start": 42799, "end": 42805, "length": 7, - "parent_index": 2670 + "parent_index": 2671 }, "name": "bytes32", "referenced_declaration": 0, @@ -52734,10 +53502,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetRoleAdmin(bytes32role)publicviewvirtualoverridereturns(bytes32){return_roles[role].adminRole;}" }, { - "id": 2679, + "id": 2680, "name": "grantRole", "node_type": 42, "kind": 41, @@ -52755,10 +53524,10 @@ "start": 43159, "end": 43167, "length": 9, - "parent_index": 2679 + "parent_index": 2680 }, "body": { - "id": 2692, + "id": 2693, "node_type": 46, "kind": 0, "src": { @@ -52767,12 +53536,12 @@ "start": 43253, "end": 43294, "length": 42, - "parent_index": 2679 + "parent_index": 2680 }, "implemented": true, "statements": [ { - "id": 2693, + "id": 2694, "node_type": 24, "kind": 24, "src": { @@ -52781,7 +53550,7 @@ "start": 43263, "end": 43287, "length": 25, - "parent_index": 2692 + "parent_index": 2693 }, "argument_types": [ { @@ -52795,7 +53564,7 @@ ], "arguments": [ { - "id": 2695, + "id": 2696, "node_type": 16, "src": { "line": 1188, @@ -52803,7 +53572,7 @@ "start": 43274, "end": 43277, "length": 4, - "parent_index": 2693 + "parent_index": 2694 }, "name": "role", "type_description": { @@ -52811,11 +53580,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2695, - "is_pure": false + "referenced_declaration": 2696, + "is_pure": false, + "text": "role" }, { - "id": 2696, + "id": 2697, "node_type": 16, "src": { "line": 1188, @@ -52823,7 +53593,7 @@ "start": 43280, "end": 43286, "length": 7, - "parent_index": 2693 + "parent_index": 2694 }, "name": "account", "type_description": { @@ -52831,18 +53601,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2696, + "referenced_declaration": 2697, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2694, + "id": 2695, "node_type": 16, "src": { "line": 1188, @@ -52850,7 +53621,7 @@ "start": 43263, "end": 43272, "length": 10, - "parent_index": 2693 + "parent_index": 2694 }, "name": "_grantRole", "type_description": { @@ -52859,7 +53630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -52874,7 +53646,7 @@ "virtual": true, "modifiers": [ { - "id": 2685, + "id": 2686, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -52884,7 +53656,7 @@ "start": 43224, "end": 43251, "length": 28, - "parent_index": 2679 + "parent_index": 2680 }, "argument_types": [ { @@ -52894,7 +53666,7 @@ ], "arguments": [ { - "id": 2687, + "id": 2688, "node_type": 24, "kind": 24, "src": { @@ -52903,7 +53675,7 @@ "start": 43233, "end": 43250, "length": 18, - "parent_index": 2685 + "parent_index": 2686 }, "argument_types": [ { @@ -52913,7 +53685,7 @@ ], "arguments": [ { - "id": 2689, + "id": 2690, "node_type": 16, "src": { "line": 1187, @@ -52921,7 +53693,7 @@ "start": 43246, "end": 43249, "length": 4, - "parent_index": 2687 + "parent_index": 2688 }, "name": "role", "type_description": { @@ -52929,12 +53701,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2689, - "is_pure": false + "referenced_declaration": 2690, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2688, + "id": 2689, "node_type": 16, "src": { "line": 1187, @@ -52942,7 +53715,7 @@ "start": 43233, "end": 43244, "length": 12, - "parent_index": 2687 + "parent_index": 2688 }, "name": "getRoleAdmin", "type_description": { @@ -52951,7 +53724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -52960,7 +53734,7 @@ } ], "modifier_name": { - "id": 2686, + "id": 2687, "name": "onlyRole", "node_type": 0, "src": { @@ -52969,14 +53743,14 @@ "start": 43224, "end": 43231, "length": 8, - "parent_index": 2685 + "parent_index": 2686 } } } ], "overrides": [ { - "id": 2690, + "id": 2691, "node_type": 63, "src": { "line": 1187, @@ -52984,7 +53758,7 @@ "start": 43215, "end": 43222, "length": 8, - "parent_index": 2679 + "parent_index": 2680 }, "overrides": [], "referenced_declaration": 0, @@ -52995,7 +53769,7 @@ } ], "parameters": { - "id": 2680, + "id": 2681, "node_type": 43, "src": { "line": 1187, @@ -53003,11 +53777,11 @@ "start": 43169, "end": 43197, "length": 29, - "parent_index": 2679 + "parent_index": 2680 }, "parameters": [ { - "id": 2681, + "id": 2682, "node_type": 44, "src": { "line": 1187, @@ -53015,12 +53789,12 @@ "start": 43169, "end": 43180, "length": 12, - "parent_index": 2680 + "parent_index": 2681 }, - "scope": 2679, + "scope": 2680, "name": "role", "type_name": { - "id": 2682, + "id": 2683, "node_type": 30, "src": { "line": 1187, @@ -53028,7 +53802,7 @@ "start": 43169, "end": 43175, "length": 7, - "parent_index": 2681 + "parent_index": 2682 }, "name": "bytes32", "referenced_declaration": 0, @@ -53046,7 +53820,7 @@ } }, { - "id": 2683, + "id": 2684, "node_type": 44, "src": { "line": 1187, @@ -53054,12 +53828,12 @@ "start": 43183, "end": 43197, "length": 15, - "parent_index": 2680 + "parent_index": 2681 }, - "scope": 2679, + "scope": 2680, "name": "account", "type_name": { - "id": 2684, + "id": 2685, "node_type": 30, "src": { "line": 1187, @@ -53067,7 +53841,7 @@ "start": 43183, "end": 43189, "length": 7, - "parent_index": 2683 + "parent_index": 2684 }, "name": "address", "state_mutability": 4, @@ -53098,7 +53872,7 @@ ] }, "return_parameters": { - "id": 2691, + "id": 2692, "node_type": 43, "src": { "line": 1187, @@ -53106,21 +53880,22 @@ "start": 43150, "end": 43294, "length": 145, - "parent_index": 2679 + "parent_index": 2680 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "grantRole(bytes32, address)", - "signature": "44f0a842", + "signature_raw": "grantRole(bytes32,address)", + "signature": "2f2ff15d", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functiongrantRole(bytes32role,addressaccount)publicvirtualoverrideonlyRole(getRoleAdmin(role)){_grantRole(role,account);}" }, { - "id": 2698, + "id": 2699, "name": "revokeRole", "node_type": 42, "kind": 41, @@ -53138,10 +53913,10 @@ "start": 43584, "end": 43593, "length": 10, - "parent_index": 2698 + "parent_index": 2699 }, "body": { - "id": 2711, + "id": 2712, "node_type": 46, "kind": 0, "src": { @@ -53150,12 +53925,12 @@ "start": 43679, "end": 43721, "length": 43, - "parent_index": 2698 + "parent_index": 2699 }, "implemented": true, "statements": [ { - "id": 2712, + "id": 2713, "node_type": 24, "kind": 24, "src": { @@ -53164,7 +53939,7 @@ "start": 43689, "end": 43714, "length": 26, - "parent_index": 2711 + "parent_index": 2712 }, "argument_types": [ { @@ -53178,7 +53953,7 @@ ], "arguments": [ { - "id": 2714, + "id": 2715, "node_type": 16, "src": { "line": 1203, @@ -53186,7 +53961,7 @@ "start": 43701, "end": 43704, "length": 4, - "parent_index": 2712 + "parent_index": 2713 }, "name": "role", "type_description": { @@ -53194,11 +53969,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2714, - "is_pure": false + "referenced_declaration": 2715, + "is_pure": false, + "text": "role" }, { - "id": 2715, + "id": 2716, "node_type": 16, "src": { "line": 1203, @@ -53206,7 +53982,7 @@ "start": 43707, "end": 43713, "length": 7, - "parent_index": 2712 + "parent_index": 2713 }, "name": "account", "type_description": { @@ -53214,18 +53990,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2715, + "referenced_declaration": 2716, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2713, + "id": 2714, "node_type": 16, "src": { "line": 1203, @@ -53233,7 +54010,7 @@ "start": 43689, "end": 43699, "length": 11, - "parent_index": 2712 + "parent_index": 2713 }, "name": "_revokeRole", "type_description": { @@ -53242,7 +54019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_revokeRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -53257,7 +54035,7 @@ "virtual": true, "modifiers": [ { - "id": 2704, + "id": 2705, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -53267,7 +54045,7 @@ "start": 43650, "end": 43677, "length": 28, - "parent_index": 2698 + "parent_index": 2699 }, "argument_types": [ { @@ -53277,7 +54055,7 @@ ], "arguments": [ { - "id": 2706, + "id": 2707, "node_type": 24, "kind": 24, "src": { @@ -53286,7 +54064,7 @@ "start": 43659, "end": 43676, "length": 18, - "parent_index": 2704 + "parent_index": 2705 }, "argument_types": [ { @@ -53296,7 +54074,7 @@ ], "arguments": [ { - "id": 2708, + "id": 2709, "node_type": 16, "src": { "line": 1202, @@ -53304,7 +54082,7 @@ "start": 43672, "end": 43675, "length": 4, - "parent_index": 2706 + "parent_index": 2707 }, "name": "role", "type_description": { @@ -53312,12 +54090,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2708, - "is_pure": false + "referenced_declaration": 2709, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2707, + "id": 2708, "node_type": 16, "src": { "line": 1202, @@ -53325,7 +54104,7 @@ "start": 43659, "end": 43670, "length": 12, - "parent_index": 2706 + "parent_index": 2707 }, "name": "getRoleAdmin", "type_description": { @@ -53334,7 +54113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -53343,7 +54123,7 @@ } ], "modifier_name": { - "id": 2705, + "id": 2706, "name": "onlyRole", "node_type": 0, "src": { @@ -53352,14 +54132,14 @@ "start": 43650, "end": 43657, "length": 8, - "parent_index": 2704 + "parent_index": 2705 } } } ], "overrides": [ { - "id": 2709, + "id": 2710, "node_type": 63, "src": { "line": 1202, @@ -53367,7 +54147,7 @@ "start": 43641, "end": 43648, "length": 8, - "parent_index": 2698 + "parent_index": 2699 }, "overrides": [], "referenced_declaration": 0, @@ -53378,7 +54158,7 @@ } ], "parameters": { - "id": 2699, + "id": 2700, "node_type": 43, "src": { "line": 1202, @@ -53386,11 +54166,11 @@ "start": 43595, "end": 43623, "length": 29, - "parent_index": 2698 + "parent_index": 2699 }, "parameters": [ { - "id": 2700, + "id": 2701, "node_type": 44, "src": { "line": 1202, @@ -53398,12 +54178,12 @@ "start": 43595, "end": 43606, "length": 12, - "parent_index": 2699 + "parent_index": 2700 }, - "scope": 2698, + "scope": 2699, "name": "role", "type_name": { - "id": 2701, + "id": 2702, "node_type": 30, "src": { "line": 1202, @@ -53411,7 +54191,7 @@ "start": 43595, "end": 43601, "length": 7, - "parent_index": 2700 + "parent_index": 2701 }, "name": "bytes32", "referenced_declaration": 0, @@ -53429,7 +54209,7 @@ } }, { - "id": 2702, + "id": 2703, "node_type": 44, "src": { "line": 1202, @@ -53437,12 +54217,12 @@ "start": 43609, "end": 43623, "length": 15, - "parent_index": 2699 + "parent_index": 2700 }, - "scope": 2698, + "scope": 2699, "name": "account", "type_name": { - "id": 2703, + "id": 2704, "node_type": 30, "src": { "line": 1202, @@ -53450,7 +54230,7 @@ "start": 43609, "end": 43615, "length": 7, - "parent_index": 2702 + "parent_index": 2703 }, "name": "address", "state_mutability": 4, @@ -53481,7 +54261,7 @@ ] }, "return_parameters": { - "id": 2710, + "id": 2711, "node_type": 43, "src": { "line": 1202, @@ -53489,21 +54269,22 @@ "start": 43575, "end": 43721, "length": 147, - "parent_index": 2698 + "parent_index": 2699 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "revokeRole(bytes32, address)", - "signature": "b3252796", + "signature_raw": "revokeRole(bytes32,address)", + "signature": "d547741f", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrevokeRole(bytes32role,addressaccount)publicvirtualoverrideonlyRole(getRoleAdmin(role)){_revokeRole(role,account);}" }, { - "id": 2717, + "id": 2718, "name": "renounceRole", "node_type": 42, "kind": 41, @@ -53521,10 +54302,10 @@ "start": 44268, "end": 44279, "length": 12, - "parent_index": 2717 + "parent_index": 2718 }, "body": { - "id": 2725, + "id": 2726, "node_type": 46, "kind": 0, "src": { @@ -53533,12 +54314,12 @@ "start": 44336, "end": 44472, "length": 137, - "parent_index": 2717 + "parent_index": 2718 }, "implemented": true, "statements": [ { - "id": 2726, + "id": 2727, "node_type": 24, "kind": 24, "src": { @@ -53547,7 +54328,7 @@ "start": 44346, "end": 44428, "length": 83, - "parent_index": 2725 + "parent_index": 2726 }, "argument_types": [ { @@ -53561,7 +54342,7 @@ ], "arguments": [ { - "id": 2728, + "id": 2729, "is_constant": false, "is_pure": false, "node_type": 19, @@ -53571,11 +54352,11 @@ "start": 44354, "end": 44376, "length": 23, - "parent_index": 2726 + "parent_index": 2727 }, "operator": 11, "left_expression": { - "id": 2729, + "id": 2730, "node_type": 16, "src": { "line": 1223, @@ -53583,7 +54364,7 @@ "start": 44354, "end": 44360, "length": 7, - "parent_index": 2728 + "parent_index": 2729 }, "name": "account", "type_description": { @@ -53591,11 +54372,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2729, - "is_pure": false + "referenced_declaration": 2730, + "is_pure": false, + "text": "account" }, "right_expression": { - "id": 2730, + "id": 2731, "node_type": 24, "kind": 24, "src": { @@ -53604,12 +54386,12 @@ "start": 44365, "end": 44376, "length": 12, - "parent_index": 2728 + "parent_index": 2729 }, "argument_types": [], "arguments": [], "expression": { - "id": 2731, + "id": 2732, "node_type": 16, "src": { "line": 1223, @@ -53617,7 +54399,7 @@ "start": 44365, "end": 44374, "length": 10, - "parent_index": 2730 + "parent_index": 2731 }, "name": "_msgSender", "type_description": { @@ -53626,7 +54408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -53639,7 +54422,7 @@ } }, { - "id": 2732, + "id": 2733, "node_type": 17, "kind": 50, "value": "AccessControl: can only renounce roles for self", @@ -53650,7 +54433,7 @@ "start": 44379, "end": 44427, "length": 49, - "parent_index": 2726 + "parent_index": 2727 }, "type_description": { "type_identifier": "t_string_literal", @@ -53664,11 +54447,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"AccessControl: can only renounce roles for self\"" } ], "expression": { - "id": 2727, + "id": 2728, "node_type": 16, "src": { "line": 1223, @@ -53676,7 +54460,7 @@ "start": 44346, "end": 44352, "length": 7, - "parent_index": 2726 + "parent_index": 2727 }, "name": "require", "type_description": { @@ -53685,7 +54469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -53693,7 +54478,7 @@ } }, { - "id": 2733, + "id": 2734, "node_type": 24, "kind": 24, "src": { @@ -53702,7 +54487,7 @@ "start": 44440, "end": 44465, "length": 26, - "parent_index": 2725 + "parent_index": 2726 }, "argument_types": [ { @@ -53716,7 +54501,7 @@ ], "arguments": [ { - "id": 2735, + "id": 2736, "node_type": 16, "src": { "line": 1225, @@ -53724,7 +54509,7 @@ "start": 44452, "end": 44455, "length": 4, - "parent_index": 2733 + "parent_index": 2734 }, "name": "role", "type_description": { @@ -53732,11 +54517,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2735, - "is_pure": false + "referenced_declaration": 2736, + "is_pure": false, + "text": "role" }, { - "id": 2736, + "id": 2737, "node_type": 16, "src": { "line": 1225, @@ -53744,7 +54530,7 @@ "start": 44458, "end": 44464, "length": 7, - "parent_index": 2733 + "parent_index": 2734 }, "name": "account", "type_description": { @@ -53752,18 +54538,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2736, + "referenced_declaration": 2737, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2734, + "id": 2735, "node_type": 16, "src": { "line": 1225, @@ -53771,7 +54558,7 @@ "start": 44440, "end": 44450, "length": 11, - "parent_index": 2733 + "parent_index": 2734 }, "name": "_revokeRole", "type_description": { @@ -53780,7 +54567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_revokeRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -53796,7 +54584,7 @@ "modifiers": [], "overrides": [ { - "id": 2723, + "id": 2724, "node_type": 63, "src": { "line": 1222, @@ -53804,7 +54592,7 @@ "start": 44327, "end": 44334, "length": 8, - "parent_index": 2717 + "parent_index": 2718 }, "overrides": [], "referenced_declaration": 0, @@ -53815,7 +54603,7 @@ } ], "parameters": { - "id": 2718, + "id": 2719, "node_type": 43, "src": { "line": 1222, @@ -53823,11 +54611,11 @@ "start": 44281, "end": 44309, "length": 29, - "parent_index": 2717 + "parent_index": 2718 }, "parameters": [ { - "id": 2719, + "id": 2720, "node_type": 44, "src": { "line": 1222, @@ -53835,12 +54623,12 @@ "start": 44281, "end": 44292, "length": 12, - "parent_index": 2718 + "parent_index": 2719 }, - "scope": 2717, + "scope": 2718, "name": "role", "type_name": { - "id": 2720, + "id": 2721, "node_type": 30, "src": { "line": 1222, @@ -53848,7 +54636,7 @@ "start": 44281, "end": 44287, "length": 7, - "parent_index": 2719 + "parent_index": 2720 }, "name": "bytes32", "referenced_declaration": 0, @@ -53866,7 +54654,7 @@ } }, { - "id": 2721, + "id": 2722, "node_type": 44, "src": { "line": 1222, @@ -53874,12 +54662,12 @@ "start": 44295, "end": 44309, "length": 15, - "parent_index": 2718 + "parent_index": 2719 }, - "scope": 2717, + "scope": 2718, "name": "account", "type_name": { - "id": 2722, + "id": 2723, "node_type": 30, "src": { "line": 1222, @@ -53887,7 +54675,7 @@ "start": 44295, "end": 44301, "length": 7, - "parent_index": 2721 + "parent_index": 2722 }, "name": "address", "state_mutability": 4, @@ -53918,7 +54706,7 @@ ] }, "return_parameters": { - "id": 2724, + "id": 2725, "node_type": 43, "src": { "line": 1222, @@ -53926,21 +54714,22 @@ "start": 44259, "end": 44472, "length": 214, - "parent_index": 2717 + "parent_index": 2718 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "renounceRole(bytes32, address)", - "signature": "e8365576", + "signature_raw": "renounceRole(bytes32,address)", + "signature": "36568abe", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrenounceRole(bytes32role,addressaccount)publicvirtualoverride{require(account==_msgSender(),\"AccessControl: can only renounce roles for self\");_revokeRole(role,account);}" }, { - "id": 2738, + "id": 2739, "name": "_setupRole", "node_type": 42, "kind": 41, @@ -53958,10 +54747,10 @@ "start": 45167, "end": 45176, "length": 10, - "parent_index": 2738 + "parent_index": 2739 }, "body": { - "id": 2745, + "id": 2746, "node_type": 46, "kind": 0, "src": { @@ -53970,12 +54759,12 @@ "start": 45226, "end": 45267, "length": 42, - "parent_index": 2738 + "parent_index": 2739 }, "implemented": true, "statements": [ { - "id": 2746, + "id": 2747, "node_type": 24, "kind": 24, "src": { @@ -53984,7 +54773,7 @@ "start": 45236, "end": 45260, "length": 25, - "parent_index": 2745 + "parent_index": 2746 }, "argument_types": [ { @@ -53998,7 +54787,7 @@ ], "arguments": [ { - "id": 2748, + "id": 2749, "node_type": 16, "src": { "line": 1249, @@ -54006,7 +54795,7 @@ "start": 45247, "end": 45250, "length": 4, - "parent_index": 2746 + "parent_index": 2747 }, "name": "role", "type_description": { @@ -54014,11 +54803,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2748, - "is_pure": false + "referenced_declaration": 2749, + "is_pure": false, + "text": "role" }, { - "id": 2749, + "id": 2750, "node_type": 16, "src": { "line": 1249, @@ -54026,7 +54816,7 @@ "start": 45253, "end": 45259, "length": 7, - "parent_index": 2746 + "parent_index": 2747 }, "name": "account", "type_description": { @@ -54034,18 +54824,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2749, + "referenced_declaration": 2750, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2747, + "id": 2748, "node_type": 16, "src": { "line": 1249, @@ -54053,7 +54844,7 @@ "start": 45236, "end": 45245, "length": 10, - "parent_index": 2746 + "parent_index": 2747 }, "name": "_grantRole", "type_description": { @@ -54062,7 +54853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -54078,7 +54870,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2739, + "id": 2740, "node_type": 43, "src": { "line": 1248, @@ -54086,11 +54878,11 @@ "start": 45178, "end": 45206, "length": 29, - "parent_index": 2738 + "parent_index": 2739 }, "parameters": [ { - "id": 2740, + "id": 2741, "node_type": 44, "src": { "line": 1248, @@ -54098,12 +54890,12 @@ "start": 45178, "end": 45189, "length": 12, - "parent_index": 2739 + "parent_index": 2740 }, - "scope": 2738, + "scope": 2739, "name": "role", "type_name": { - "id": 2741, + "id": 2742, "node_type": 30, "src": { "line": 1248, @@ -54111,7 +54903,7 @@ "start": 45178, "end": 45184, "length": 7, - "parent_index": 2740 + "parent_index": 2741 }, "name": "bytes32", "referenced_declaration": 0, @@ -54129,7 +54921,7 @@ } }, { - "id": 2742, + "id": 2743, "node_type": 44, "src": { "line": 1248, @@ -54137,12 +54929,12 @@ "start": 45192, "end": 45206, "length": 15, - "parent_index": 2739 + "parent_index": 2740 }, - "scope": 2738, + "scope": 2739, "name": "account", "type_name": { - "id": 2743, + "id": 2744, "node_type": 30, "src": { "line": 1248, @@ -54150,7 +54942,7 @@ "start": 45192, "end": 45198, "length": 7, - "parent_index": 2742 + "parent_index": 2743 }, "name": "address", "state_mutability": 4, @@ -54181,7 +54973,7 @@ ] }, "return_parameters": { - "id": 2744, + "id": 2745, "node_type": 43, "src": { "line": 1248, @@ -54189,21 +54981,22 @@ "start": 45158, "end": 45267, "length": 110, - "parent_index": 2738 + "parent_index": 2739 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_setupRole(bytes32, address)", - "signature": "95e930c8", + "signature_raw": "_setupRole(bytes32,address)", + "signature": "4fa943a6", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_setupRole(bytes32role,addressaccount)internalvirtual{_grantRole(role,account);}" }, { - "id": 2751, + "id": 2752, "name": "_setRoleAdmin", "node_type": 42, "kind": 41, @@ -54221,10 +55014,10 @@ "start": 45402, "end": 45414, "length": 13, - "parent_index": 2751 + "parent_index": 2752 }, "body": { - "id": 2758, + "id": 2759, "node_type": 46, "kind": 0, "src": { @@ -54233,12 +55026,12 @@ "start": 45466, "end": 45639, "length": 174, - "parent_index": 2751 + "parent_index": 2752 }, "implemented": true, "statements": [ { - "id": 2759, + "id": 2760, "node_type": 44, "src": { "line": 1258, @@ -54246,25 +55039,25 @@ "start": 45476, "end": 45522, "length": 47, - "parent_index": 2758 + "parent_index": 2759 }, "assignments": [ - 2760 + 2761 ], "declarations": [ { - "id": 2760, + "id": 2761, "state_mutability": 1, "name": "previousAdminRole", "node_type": 44, - "scope": 2758, + "scope": 2759, "src": { "line": 1258, "column": 8, "start": 45476, "end": 45500, "length": 25, - "parent_index": 2759 + "parent_index": 2760 }, "name_location": { "line": 1258, @@ -54272,12 +55065,12 @@ "start": 45484, "end": 45500, "length": 17, - "parent_index": 2760 + "parent_index": 2761 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2761, + "id": 2762, "node_type": 30, "src": { "line": 1258, @@ -54285,7 +55078,7 @@ "start": 45476, "end": 45482, "length": 7, - "parent_index": 2760 + "parent_index": 2761 }, "name": "bytes32", "referenced_declaration": 0, @@ -54298,7 +55091,7 @@ } ], "initial_value": { - "id": 2762, + "id": 2763, "node_type": 24, "kind": 24, "src": { @@ -54307,7 +55100,7 @@ "start": 45504, "end": 45521, "length": 18, - "parent_index": 2759 + "parent_index": 2760 }, "argument_types": [ { @@ -54317,7 +55110,7 @@ ], "arguments": [ { - "id": 2764, + "id": 2765, "node_type": 16, "src": { "line": 1258, @@ -54325,7 +55118,7 @@ "start": 45517, "end": 45520, "length": 4, - "parent_index": 2762 + "parent_index": 2763 }, "name": "role", "type_description": { @@ -54333,12 +55126,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2764, - "is_pure": false + "referenced_declaration": 2765, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2763, + "id": 2764, "node_type": 16, "src": { "line": 1258, @@ -54346,7 +55140,7 @@ "start": 45504, "end": 45515, "length": 12, - "parent_index": 2762 + "parent_index": 2763 }, "name": "getRoleAdmin", "type_description": { @@ -54355,7 +55149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -54364,7 +55159,7 @@ } }, { - "id": 2765, + "id": 2766, "node_type": 27, "src": { "line": 1259, @@ -54372,10 +55167,10 @@ "start": 45532, "end": 45566, "length": 35, - "parent_index": 2758 + "parent_index": 2759 }, "expression": { - "id": 2766, + "id": 2767, "node_type": 27, "src": { "line": 1259, @@ -54383,11 +55178,11 @@ "start": 45532, "end": 45565, "length": 34, - "parent_index": 2765 + "parent_index": 2766 }, "operator": 11, "left_expression": { - "id": 2767, + "id": 2768, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54399,7 +55194,7 @@ "start": 45532, "end": 45553, "length": 22, - "parent_index": 2766 + "parent_index": 2767 }, "member_location": { "line": 1259, @@ -54407,10 +55202,10 @@ "start": 45545, "end": 45553, "length": 9, - "parent_index": 2767 + "parent_index": 2768 }, "expression": { - "id": 2768, + "id": 2769, "node_type": 22, "src": { "line": 1259, @@ -54418,10 +55213,10 @@ "start": 45532, "end": 45543, "length": 12, - "parent_index": 2767 + "parent_index": 2768 }, "index_expression": { - "id": 2769, + "id": 2770, "node_type": 16, "src": { "line": 1259, @@ -54429,19 +55224,20 @@ "start": 45532, "end": 45537, "length": 6, - "parent_index": 2768 + "parent_index": 2769 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2770, + "id": 2771, "node_type": 16, "src": { "line": 1259, @@ -54449,7 +55245,7 @@ "start": 45539, "end": 45542, "length": 4, - "parent_index": 2768 + "parent_index": 2769 }, "name": "role", "type_description": { @@ -54457,12 +55253,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2770, - "is_pure": false + "referenced_declaration": 2771, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -54471,19 +55268,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "adminRole", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole" }, "right_expression": { - "id": 2771, + "id": 2772, "node_type": 16, "src": { "line": 1259, @@ -54491,7 +55289,7 @@ "start": 45557, "end": 45565, "length": 9, - "parent_index": 2766 + "parent_index": 2767 }, "name": "adminRole", "type_description": { @@ -54499,21 +55297,23 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2771, - "is_pure": false + "referenced_declaration": 2772, + "is_pure": false, + "text": "adminRole" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole=adminRole;" }, { - "id": 2772, + "id": 2773, "node_type": 64, "src": { "line": 1260, @@ -54521,11 +55321,11 @@ "start": 45576, "end": 45633, "length": 58, - "parent_index": 2751 + "parent_index": 2752 }, "arguments": [ { - "id": 2773, + "id": 2774, "node_type": 16, "src": { "line": 1260, @@ -54533,7 +55333,7 @@ "start": 45598, "end": 45601, "length": 4, - "parent_index": 2772 + "parent_index": 2773 }, "name": "role", "type_description": { @@ -54541,11 +55341,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2773, - "is_pure": false + "referenced_declaration": 2774, + "is_pure": false, + "text": "role" }, { - "id": 2774, + "id": 2775, "node_type": 16, "src": { "line": 1260, @@ -54553,7 +55354,7 @@ "start": 45604, "end": 45620, "length": 17, - "parent_index": 2772 + "parent_index": 2773 }, "name": "previousAdminRole", "type_description": { @@ -54561,11 +55362,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2759, - "is_pure": false + "referenced_declaration": 2760, + "is_pure": false, + "text": "previousAdminRole" }, { - "id": 2775, + "id": 2776, "node_type": 16, "src": { "line": 1260, @@ -54573,7 +55375,7 @@ "start": 45623, "end": 45631, "length": 9, - "parent_index": 2772 + "parent_index": 2773 }, "name": "adminRole", "type_description": { @@ -54581,12 +55383,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2775, - "is_pure": false + "referenced_declaration": 2776, + "is_pure": false, + "text": "adminRole" } ], "expression": { - "id": 2776, + "id": 2777, "node_type": 16, "src": { "line": 1260, @@ -54594,7 +55397,7 @@ "start": 45581, "end": 45596, "length": 16, - "parent_index": 2772 + "parent_index": 2773 }, "name": "RoleAdminChanged", "type_description": { @@ -54603,7 +55406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1586, - "is_pure": false + "is_pure": false, + "text": "RoleAdminChanged" } } ] @@ -54615,7 +55419,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2752, + "id": 2753, "node_type": 43, "src": { "line": 1257, @@ -54623,11 +55427,11 @@ "start": 45416, "end": 45446, "length": 31, - "parent_index": 2751 + "parent_index": 2752 }, "parameters": [ { - "id": 2753, + "id": 2754, "node_type": 44, "src": { "line": 1257, @@ -54635,12 +55439,12 @@ "start": 45416, "end": 45427, "length": 12, - "parent_index": 2752 + "parent_index": 2753 }, - "scope": 2751, + "scope": 2752, "name": "role", "type_name": { - "id": 2754, + "id": 2755, "node_type": 30, "src": { "line": 1257, @@ -54648,7 +55452,7 @@ "start": 45416, "end": 45422, "length": 7, - "parent_index": 2753 + "parent_index": 2754 }, "name": "bytes32", "referenced_declaration": 0, @@ -54666,7 +55470,7 @@ } }, { - "id": 2755, + "id": 2756, "node_type": 44, "src": { "line": 1257, @@ -54674,12 +55478,12 @@ "start": 45430, "end": 45446, "length": 17, - "parent_index": 2752 + "parent_index": 2753 }, - "scope": 2751, + "scope": 2752, "name": "adminRole", "type_name": { - "id": 2756, + "id": 2757, "node_type": 30, "src": { "line": 1257, @@ -54687,7 +55491,7 @@ "start": 45430, "end": 45436, "length": 7, - "parent_index": 2755 + "parent_index": 2756 }, "name": "bytes32", "referenced_declaration": 0, @@ -54717,7 +55521,7 @@ ] }, "return_parameters": { - "id": 2757, + "id": 2758, "node_type": 43, "src": { "line": 1257, @@ -54725,21 +55529,22 @@ "start": 45393, "end": 45639, "length": 247, - "parent_index": 2751 + "parent_index": 2752 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_setRoleAdmin(bytes32, bytes32)", - "signature": "09c75694", + "signature_raw": "_setRoleAdmin(bytes32,bytes32)", + "signature": "7612997d", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32)" - } + }, + "text": "function_setRoleAdmin(bytes32role,bytes32adminRole)internalvirtual{bytes32previousAdminRole=getRoleAdmin(role);_roles[role].adminRole=adminRole;emitRoleAdminChanged(role,previousAdminRole,adminRole);}" }, { - "id": 2778, + "id": 2779, "name": "_grantRole", "node_type": 42, "kind": 41, @@ -54757,10 +55562,10 @@ "start": 45817, "end": 45826, "length": 10, - "parent_index": 2778 + "parent_index": 2779 }, "body": { - "id": 2785, + "id": 2786, "node_type": 46, "kind": 0, "src": { @@ -54769,12 +55574,12 @@ "start": 45876, "end": 46040, "length": 165, - "parent_index": 2778 + "parent_index": 2779 }, "implemented": true, "statements": [ { - "id": 2786, + "id": 2787, "node_type": 48, "src": { "line": 1271, @@ -54782,10 +55587,10 @@ "start": 45886, "end": 46034, "length": 149, - "parent_index": 2785 + "parent_index": 2786 }, "condition": { - "id": 2787, + "id": 2788, "node_type": 18, "kind": 104, "src": { @@ -54794,7 +55599,7 @@ "start": 45890, "end": 45912, "length": 23, - "parent_index": 2778 + "parent_index": 2779 }, "operator": 31, "prefix": false, @@ -54803,7 +55608,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 2788, + "id": 2789, "node_type": 24, "kind": 24, "src": { @@ -54812,7 +55617,7 @@ "start": 45891, "end": 45912, "length": 22, - "parent_index": 2787 + "parent_index": 2788 }, "argument_types": [ { @@ -54826,7 +55631,7 @@ ], "arguments": [ { - "id": 2790, + "id": 2791, "node_type": 16, "src": { "line": 1271, @@ -54834,7 +55639,7 @@ "start": 45899, "end": 45902, "length": 4, - "parent_index": 2788 + "parent_index": 2789 }, "name": "role", "type_description": { @@ -54842,11 +55647,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2790, - "is_pure": false + "referenced_declaration": 2791, + "is_pure": false, + "text": "role" }, { - "id": 2791, + "id": 2792, "node_type": 16, "src": { "line": 1271, @@ -54854,7 +55660,7 @@ "start": 45905, "end": 45911, "length": 7, - "parent_index": 2788 + "parent_index": 2789 }, "name": "account", "type_description": { @@ -54862,18 +55668,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2791, + "referenced_declaration": 2792, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2789, + "id": 2790, "node_type": 16, "src": { "line": 1271, @@ -54881,7 +55688,7 @@ "start": 45891, "end": 45897, "length": 7, - "parent_index": 2788 + "parent_index": 2789 }, "name": "hasRole", "type_description": { @@ -54890,7 +55697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -54903,7 +55711,7 @@ } }, "body": { - "id": 2792, + "id": 2793, "node_type": 46, "kind": 0, "src": { @@ -54912,12 +55720,12 @@ "start": 45915, "end": 46034, "length": 120, - "parent_index": 2778 + "parent_index": 2779 }, "implemented": true, "statements": [ { - "id": 2793, + "id": 2794, "node_type": 27, "src": { "line": 1272, @@ -54925,10 +55733,10 @@ "start": 45929, "end": 45965, "length": 37, - "parent_index": 2792 + "parent_index": 2793 }, "expression": { - "id": 2794, + "id": 2795, "node_type": 27, "src": { "line": 1272, @@ -54936,11 +55744,11 @@ "start": 45929, "end": 45964, "length": 36, - "parent_index": 2793 + "parent_index": 2794 }, "operator": 11, "left_expression": { - "id": 2795, + "id": 2796, "node_type": 22, "src": { "line": 1272, @@ -54948,10 +55756,10 @@ "start": 45929, "end": 45957, "length": 29, - "parent_index": 2794 + "parent_index": 2795 }, "index_expression": { - "id": 2796, + "id": 2797, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54963,7 +55771,7 @@ "start": 45929, "end": 45948, "length": 20, - "parent_index": 2795 + "parent_index": 2796 }, "member_location": { "line": 1272, @@ -54971,10 +55779,10 @@ "start": 45942, "end": 45948, "length": 7, - "parent_index": 2796 + "parent_index": 2797 }, "expression": { - "id": 2797, + "id": 2798, "node_type": 22, "src": { "line": 1272, @@ -54982,10 +55790,10 @@ "start": 45929, "end": 45940, "length": 12, - "parent_index": 2796 + "parent_index": 2797 }, "index_expression": { - "id": 2798, + "id": 2799, "node_type": 16, "src": { "line": 1272, @@ -54993,19 +55801,20 @@ "start": 45929, "end": 45934, "length": 6, - "parent_index": 2797 + "parent_index": 2798 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2799, + "id": 2800, "node_type": 16, "src": { "line": 1272, @@ -55013,7 +55822,7 @@ "start": 45936, "end": 45939, "length": 4, - "parent_index": 2797 + "parent_index": 2798 }, "name": "role", "type_description": { @@ -55021,12 +55830,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2799, - "is_pure": false + "referenced_declaration": 2800, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -55035,19 +55845,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2800, + "id": 2801, "node_type": 16, "src": { "line": 1272, @@ -55055,7 +55866,7 @@ "start": 45950, "end": 45956, "length": 7, - "parent_index": 2795 + "parent_index": 2796 }, "name": "account", "type_description": { @@ -55063,12 +55874,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2800, - "is_pure": false + "referenced_declaration": 2801, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -55077,12 +55889,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "right_expression": { - "id": 2801, + "id": 2802, "node_type": 17, "kind": 61, "value": "true", @@ -55093,7 +55905,7 @@ "start": 45961, "end": 45964, "length": 4, - "parent_index": 2794 + "parent_index": 2795 }, "type_description": { "type_identifier": "t_bool", @@ -55101,20 +55913,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" - } + }, + "text": "_roles[role].members[account]=true;" }, { - "id": 2802, + "id": 2803, "node_type": 64, "src": { "line": 1273, @@ -55122,11 +55936,11 @@ "start": 45979, "end": 46024, "length": 46, - "parent_index": 2778 + "parent_index": 2779 }, "arguments": [ { - "id": 2803, + "id": 2804, "node_type": 16, "src": { "line": 1273, @@ -55134,7 +55948,7 @@ "start": 45996, "end": 45999, "length": 4, - "parent_index": 2802 + "parent_index": 2803 }, "name": "role", "type_description": { @@ -55142,11 +55956,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2803, - "is_pure": false + "referenced_declaration": 2804, + "is_pure": false, + "text": "role" }, { - "id": 2804, + "id": 2805, "node_type": 16, "src": { "line": 1273, @@ -55154,7 +55969,7 @@ "start": 46002, "end": 46008, "length": 7, - "parent_index": 2802 + "parent_index": 2803 }, "name": "account", "type_description": { @@ -55162,11 +55977,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2804, - "is_pure": false + "referenced_declaration": 2805, + "is_pure": false, + "text": "account" }, { - "id": 2805, + "id": 2806, "node_type": 24, "kind": 24, "src": { @@ -55175,12 +55991,12 @@ "start": 46011, "end": 46022, "length": 12, - "parent_index": 2802 + "parent_index": 2803 }, "argument_types": [], "arguments": [], "expression": { - "id": 2806, + "id": 2807, "node_type": 16, "src": { "line": 1273, @@ -55188,7 +56004,7 @@ "start": 46011, "end": 46020, "length": 10, - "parent_index": 2805 + "parent_index": 2806 }, "name": "_msgSender", "type_description": { @@ -55197,7 +56013,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -55206,7 +56023,7 @@ } ], "expression": { - "id": 2807, + "id": 2808, "node_type": 16, "src": { "line": 1273, @@ -55214,7 +56031,7 @@ "start": 45984, "end": 45994, "length": 11, - "parent_index": 2802 + "parent_index": 2803 }, "name": "RoleGranted", "type_description": { @@ -55223,7 +56040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1595, - "is_pure": false + "is_pure": false, + "text": "RoleGranted" } } ] @@ -55238,7 +56056,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2779, + "id": 2780, "node_type": 43, "src": { "line": 1270, @@ -55246,11 +56064,11 @@ "start": 45828, "end": 45856, "length": 29, - "parent_index": 2778 + "parent_index": 2779 }, "parameters": [ { - "id": 2780, + "id": 2781, "node_type": 44, "src": { "line": 1270, @@ -55258,12 +56076,12 @@ "start": 45828, "end": 45839, "length": 12, - "parent_index": 2779 + "parent_index": 2780 }, - "scope": 2778, + "scope": 2779, "name": "role", "type_name": { - "id": 2781, + "id": 2782, "node_type": 30, "src": { "line": 1270, @@ -55271,7 +56089,7 @@ "start": 45828, "end": 45834, "length": 7, - "parent_index": 2780 + "parent_index": 2781 }, "name": "bytes32", "referenced_declaration": 0, @@ -55289,7 +56107,7 @@ } }, { - "id": 2782, + "id": 2783, "node_type": 44, "src": { "line": 1270, @@ -55297,12 +56115,12 @@ "start": 45842, "end": 45856, "length": 15, - "parent_index": 2779 + "parent_index": 2780 }, - "scope": 2778, + "scope": 2779, "name": "account", "type_name": { - "id": 2783, + "id": 2784, "node_type": 30, "src": { "line": 1270, @@ -55310,7 +56128,7 @@ "start": 45842, "end": 45848, "length": 7, - "parent_index": 2782 + "parent_index": 2783 }, "name": "address", "state_mutability": 4, @@ -55341,7 +56159,7 @@ ] }, "return_parameters": { - "id": 2784, + "id": 2785, "node_type": 43, "src": { "line": 1270, @@ -55349,21 +56167,22 @@ "start": 45808, "end": 46040, "length": 233, - "parent_index": 2778 + "parent_index": 2779 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_grantRole(bytes32, address)", - "signature": "389027d9", + "signature_raw": "_grantRole(bytes32,address)", + "signature": "ce2cc1d0", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_grantRole(bytes32role,addressaccount)internalvirtual{if(!hasRole(role,account)){_roles[role].members[account]=true;emitRoleGranted(role,account,_msgSender());}}" }, { - "id": 2809, + "id": 2810, "name": "_revokeRole", "node_type": 42, "kind": 41, @@ -55381,10 +56200,10 @@ "start": 46221, "end": 46231, "length": 11, - "parent_index": 2809 + "parent_index": 2810 }, "body": { - "id": 2816, + "id": 2817, "node_type": 46, "kind": 0, "src": { @@ -55393,12 +56212,12 @@ "start": 46281, "end": 46445, "length": 165, - "parent_index": 2809 + "parent_index": 2810 }, "implemented": true, "statements": [ { - "id": 2817, + "id": 2818, "node_type": 48, "src": { "line": 1285, @@ -55406,10 +56225,10 @@ "start": 46291, "end": 46439, "length": 149, - "parent_index": 2816 + "parent_index": 2817 }, "condition": { - "id": 2818, + "id": 2819, "node_type": 24, "kind": 24, "src": { @@ -55418,7 +56237,7 @@ "start": 46295, "end": 46316, "length": 22, - "parent_index": 2817 + "parent_index": 2818 }, "argument_types": [ { @@ -55432,7 +56251,7 @@ ], "arguments": [ { - "id": 2820, + "id": 2821, "node_type": 16, "src": { "line": 1285, @@ -55440,7 +56259,7 @@ "start": 46303, "end": 46306, "length": 4, - "parent_index": 2818 + "parent_index": 2819 }, "name": "role", "type_description": { @@ -55448,11 +56267,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2820, - "is_pure": false + "referenced_declaration": 2821, + "is_pure": false, + "text": "role" }, { - "id": 2821, + "id": 2822, "node_type": 16, "src": { "line": 1285, @@ -55460,7 +56280,7 @@ "start": 46309, "end": 46315, "length": 7, - "parent_index": 2818 + "parent_index": 2819 }, "name": "account", "type_description": { @@ -55468,18 +56288,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2821, + "referenced_declaration": 2822, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2819, + "id": 2820, "node_type": 16, "src": { "line": 1285, @@ -55487,7 +56308,7 @@ "start": 46295, "end": 46301, "length": 7, - "parent_index": 2818 + "parent_index": 2819 }, "name": "hasRole", "type_description": { @@ -55496,7 +56317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -55504,7 +56326,7 @@ } }, "body": { - "id": 2822, + "id": 2823, "node_type": 46, "kind": 0, "src": { @@ -55513,12 +56335,12 @@ "start": 46319, "end": 46439, "length": 121, - "parent_index": 2809 + "parent_index": 2810 }, "implemented": true, "statements": [ { - "id": 2823, + "id": 2824, "node_type": 27, "src": { "line": 1286, @@ -55526,10 +56348,10 @@ "start": 46333, "end": 46370, "length": 38, - "parent_index": 2822 + "parent_index": 2823 }, "expression": { - "id": 2824, + "id": 2825, "node_type": 27, "src": { "line": 1286, @@ -55537,11 +56359,11 @@ "start": 46333, "end": 46369, "length": 37, - "parent_index": 2823 + "parent_index": 2824 }, "operator": 11, "left_expression": { - "id": 2825, + "id": 2826, "node_type": 22, "src": { "line": 1286, @@ -55549,10 +56371,10 @@ "start": 46333, "end": 46361, "length": 29, - "parent_index": 2824 + "parent_index": 2825 }, "index_expression": { - "id": 2826, + "id": 2827, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55564,7 +56386,7 @@ "start": 46333, "end": 46352, "length": 20, - "parent_index": 2825 + "parent_index": 2826 }, "member_location": { "line": 1286, @@ -55572,10 +56394,10 @@ "start": 46346, "end": 46352, "length": 7, - "parent_index": 2826 + "parent_index": 2827 }, "expression": { - "id": 2827, + "id": 2828, "node_type": 22, "src": { "line": 1286, @@ -55583,10 +56405,10 @@ "start": 46333, "end": 46344, "length": 12, - "parent_index": 2826 + "parent_index": 2827 }, "index_expression": { - "id": 2828, + "id": 2829, "node_type": 16, "src": { "line": 1286, @@ -55594,19 +56416,20 @@ "start": 46333, "end": 46338, "length": 6, - "parent_index": 2827 + "parent_index": 2828 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 2552, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2829, + "id": 2830, "node_type": 16, "src": { "line": 1286, @@ -55614,7 +56437,7 @@ "start": 46340, "end": 46343, "length": 4, - "parent_index": 2827 + "parent_index": 2828 }, "name": "role", "type_description": { @@ -55622,12 +56445,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2829, - "is_pure": false + "referenced_declaration": 2830, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -55636,19 +56460,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2830, + "id": 2831, "node_type": 16, "src": { "line": 1286, @@ -55656,7 +56481,7 @@ "start": 46354, "end": 46360, "length": 7, - "parent_index": 2825 + "parent_index": 2826 }, "name": "account", "type_description": { @@ -55664,12 +56489,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2830, - "is_pure": false + "referenced_declaration": 2831, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -55678,12 +56504,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "right_expression": { - "id": 2831, + "id": 2832, "node_type": 17, "kind": 61, "value": "false", @@ -55694,7 +56520,7 @@ "start": 46365, "end": 46369, "length": 5, - "parent_index": 2824 + "parent_index": 2825 }, "type_description": { "type_identifier": "t_bool", @@ -55702,20 +56528,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" - } + }, + "text": "_roles[role].members[account]=false;" }, { - "id": 2832, + "id": 2833, "node_type": 64, "src": { "line": 1287, @@ -55723,11 +56551,11 @@ "start": 46384, "end": 46429, "length": 46, - "parent_index": 2809 + "parent_index": 2810 }, "arguments": [ { - "id": 2833, + "id": 2834, "node_type": 16, "src": { "line": 1287, @@ -55735,7 +56563,7 @@ "start": 46401, "end": 46404, "length": 4, - "parent_index": 2832 + "parent_index": 2833 }, "name": "role", "type_description": { @@ -55743,11 +56571,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2833, - "is_pure": false + "referenced_declaration": 2834, + "is_pure": false, + "text": "role" }, { - "id": 2834, + "id": 2835, "node_type": 16, "src": { "line": 1287, @@ -55755,7 +56584,7 @@ "start": 46407, "end": 46413, "length": 7, - "parent_index": 2832 + "parent_index": 2833 }, "name": "account", "type_description": { @@ -55763,11 +56592,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2834, - "is_pure": false + "referenced_declaration": 2835, + "is_pure": false, + "text": "account" }, { - "id": 2835, + "id": 2836, "node_type": 24, "kind": 24, "src": { @@ -55776,12 +56606,12 @@ "start": 46416, "end": 46427, "length": 12, - "parent_index": 2832 + "parent_index": 2833 }, "argument_types": [], "arguments": [], "expression": { - "id": 2836, + "id": 2837, "node_type": 16, "src": { "line": 1287, @@ -55789,7 +56619,7 @@ "start": 46416, "end": 46425, "length": 10, - "parent_index": 2835 + "parent_index": 2836 }, "name": "_msgSender", "type_description": { @@ -55798,7 +56628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -55807,7 +56638,7 @@ } ], "expression": { - "id": 2837, + "id": 2838, "node_type": 16, "src": { "line": 1287, @@ -55815,7 +56646,7 @@ "start": 46389, "end": 46399, "length": 11, - "parent_index": 2832 + "parent_index": 2833 }, "name": "RoleRevoked", "type_description": { @@ -55824,7 +56655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1604, - "is_pure": false + "is_pure": false, + "text": "RoleRevoked" } } ] @@ -55839,7 +56671,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2810, + "id": 2811, "node_type": 43, "src": { "line": 1284, @@ -55847,11 +56679,11 @@ "start": 46233, "end": 46261, "length": 29, - "parent_index": 2809 + "parent_index": 2810 }, "parameters": [ { - "id": 2811, + "id": 2812, "node_type": 44, "src": { "line": 1284, @@ -55859,12 +56691,12 @@ "start": 46233, "end": 46244, "length": 12, - "parent_index": 2810 + "parent_index": 2811 }, - "scope": 2809, + "scope": 2810, "name": "role", "type_name": { - "id": 2812, + "id": 2813, "node_type": 30, "src": { "line": 1284, @@ -55872,7 +56704,7 @@ "start": 46233, "end": 46239, "length": 7, - "parent_index": 2811 + "parent_index": 2812 }, "name": "bytes32", "referenced_declaration": 0, @@ -55890,7 +56722,7 @@ } }, { - "id": 2813, + "id": 2814, "node_type": 44, "src": { "line": 1284, @@ -55898,12 +56730,12 @@ "start": 46247, "end": 46261, "length": 15, - "parent_index": 2810 + "parent_index": 2811 }, - "scope": 2809, + "scope": 2810, "name": "account", "type_name": { - "id": 2814, + "id": 2815, "node_type": 30, "src": { "line": 1284, @@ -55911,7 +56743,7 @@ "start": 46247, "end": 46253, "length": 7, - "parent_index": 2813 + "parent_index": 2814 }, "name": "address", "state_mutability": 4, @@ -55942,7 +56774,7 @@ ] }, "return_parameters": { - "id": 2815, + "id": 2816, "node_type": 43, "src": { "line": 1284, @@ -55950,21 +56782,22 @@ "start": 46212, "end": 46445, "length": 234, - "parent_index": 2809 + "parent_index": 2810 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_revokeRole(bytes32, address)", - "signature": "ed5226ed", + "signature_raw": "_revokeRole(bytes32,address)", + "signature": "2c95bd23", "scope": 2520, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_revokeRole(bytes32role,addressaccount)internalvirtual{if(hasRole(role,account)){_roles[role].members[account]=false;emitRoleRevoked(role,account,_msgSender());}}" }, { - "id": 2839, + "id": 2840, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -55986,7 +56819,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2840, + "id": 2841, "node_type": 16, "src": { "line": 1296, @@ -55994,12 +56827,12 @@ "start": 46711, "end": 46717, "length": 7, - "parent_index": 2839 + "parent_index": 2840 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 2842, + "id": 2843, "node_type": 17, "kind": 49, "value": "49", @@ -56010,7 +56843,7 @@ "start": 46719, "end": 46720, "length": 2, - "parent_index": 2840 + "parent_index": 2841 }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -56018,7 +56851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -56159,12 +56993,12 @@ } }, { - "id": 2843, + "id": 2844, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 2843, + "id": 2844, "name": "IERC1822ProxiableUpgradeable", "absolute_path": "" } @@ -56174,7 +57008,7 @@ "node_type": 1, "nodes": [ { - "id": 2855, + "id": 2856, "node_type": 10, "src": { "line": 1303, @@ -56182,7 +57016,7 @@ "start": 46855, "end": 46877, "length": 23, - "parent_index": 2843 + "parent_index": 2844 }, "literals": [ "pragma", @@ -56198,7 +57032,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 2914, + "id": 2915, "name": "IERC1822ProxiableUpgradeable", "node_type": 35, "src": { @@ -56207,7 +57041,7 @@ "start": 47084, "end": 47630, "length": 547, - "parent_index": 2843 + "parent_index": 2844 }, "name_location": { "line": 1309, @@ -56215,14 +57049,14 @@ "start": 47094, "end": 47121, "length": 28, - "parent_index": 2914 + "parent_index": 2915 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 2916, + "id": 2917, "name": "proxiableUUID", "node_type": 42, "kind": 41, @@ -56232,7 +57066,7 @@ "start": 47572, "end": 47628, "length": 57, - "parent_index": 2914 + "parent_index": 2915 }, "name_location": { "line": 1318, @@ -56240,10 +57074,10 @@ "start": 47581, "end": 47593, "length": 13, - "parent_index": 2916 + "parent_index": 2917 }, "body": { - "id": 2923, + "id": 2924, "node_type": 46, "kind": 0, "src": { @@ -56252,7 +57086,7 @@ "start": 47572, "end": 47628, "length": 57, - "parent_index": 2916 + "parent_index": 2917 }, "implemented": false, "statements": [] @@ -56264,7 +57098,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2917, + "id": 2918, "node_type": 43, "src": { "line": 1318, @@ -56272,11 +57106,11 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2916 + "parent_index": 2917 }, "parameters": [ { - "id": 2918, + "id": 2919, "node_type": 44, "src": { "line": 1318, @@ -56284,12 +57118,12 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2917 + "parent_index": 2918 }, - "scope": 2916, + "scope": 2917, "name": "", "type_name": { - "id": 2919, + "id": 2920, "node_type": 30, "src": { "line": 1318, @@ -56297,7 +57131,7 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2918 + "parent_index": 2919 }, "name": "bytes32", "referenced_declaration": 0, @@ -56323,7 +57157,7 @@ ] }, "return_parameters": { - "id": 2920, + "id": 2921, "node_type": 43, "src": { "line": 1318, @@ -56331,11 +57165,11 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2916 + "parent_index": 2917 }, "parameters": [ { - "id": 2921, + "id": 2922, "node_type": 44, "src": { "line": 1318, @@ -56343,12 +57177,12 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2920 + "parent_index": 2921 }, - "scope": 2916, + "scope": 2917, "name": "", "type_name": { - "id": 2922, + "id": 2923, "node_type": 30, "src": { "line": 1318, @@ -56356,7 +57190,7 @@ "start": 47620, "end": 47626, "length": 7, - "parent_index": 2921 + "parent_index": 2922 }, "name": "bytes32", "referenced_declaration": 0, @@ -56383,15 +57217,16 @@ }, "signature_raw": "proxiableUUID(bytes32)", "signature": "e5f9ca4c", - "scope": 2914, + "scope": 2915, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionproxiableUUID()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ - 2914 + 2915 ], "base_contracts": [], "contract_dependencies": [] @@ -56407,12 +57242,12 @@ } }, { - "id": 2924, + "id": 2925, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 2924, + "id": 2925, "name": "IBeaconUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IBeaconUpgradeable.sol" } @@ -56422,7 +57257,7 @@ "node_type": 1, "nodes": [ { - "id": 2937, + "id": 2938, "node_type": 10, "src": { "line": 1325, @@ -56430,7 +57265,7 @@ "start": 47727, "end": 47749, "length": 23, - "parent_index": 2924 + "parent_index": 2925 }, "literals": [ "pragma", @@ -56446,7 +57281,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 2996, + "id": 2997, "name": "IBeaconUpgradeable", "node_type": 35, "src": { @@ -56455,7 +57290,7 @@ "start": 47832, "end": 48093, "length": 262, - "parent_index": 2924 + "parent_index": 2925 }, "name_location": { "line": 1330, @@ -56463,14 +57298,14 @@ "start": 47842, "end": 47859, "length": 18, - "parent_index": 2996 + "parent_index": 2997 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 2998, + "id": 2999, "name": "implementation", "node_type": 42, "kind": 41, @@ -56480,7 +57315,7 @@ "start": 48034, "end": 48091, "length": 58, - "parent_index": 2996 + "parent_index": 2997 }, "name_location": { "line": 1336, @@ -56488,10 +57323,10 @@ "start": 48043, "end": 48056, "length": 14, - "parent_index": 2998 + "parent_index": 2999 }, "body": { - "id": 3005, + "id": 3006, "node_type": 46, "kind": 0, "src": { @@ -56500,7 +57335,7 @@ "start": 48034, "end": 48091, "length": 58, - "parent_index": 2998 + "parent_index": 2999 }, "implemented": false, "statements": [] @@ -56512,7 +57347,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2999, + "id": 3000, "node_type": 43, "src": { "line": 1336, @@ -56520,11 +57355,11 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 2998 + "parent_index": 2999 }, "parameters": [ { - "id": 3000, + "id": 3001, "node_type": 44, "src": { "line": 1336, @@ -56532,12 +57367,12 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 2999 + "parent_index": 3000 }, - "scope": 2998, + "scope": 2999, "name": "", "type_name": { - "id": 3001, + "id": 3002, "node_type": 30, "src": { "line": 1336, @@ -56545,7 +57380,7 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 3000 + "parent_index": 3001 }, "name": "address", "state_mutability": 4, @@ -56572,7 +57407,7 @@ ] }, "return_parameters": { - "id": 3002, + "id": 3003, "node_type": 43, "src": { "line": 1336, @@ -56580,11 +57415,11 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 2998 + "parent_index": 2999 }, "parameters": [ { - "id": 3003, + "id": 3004, "node_type": 44, "src": { "line": 1336, @@ -56592,12 +57427,12 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 3002 + "parent_index": 3003 }, - "scope": 2998, + "scope": 2999, "name": "", "type_name": { - "id": 3004, + "id": 3005, "node_type": 30, "src": { "line": 1336, @@ -56605,7 +57440,7 @@ "start": 48083, "end": 48089, "length": 7, - "parent_index": 3003 + "parent_index": 3004 }, "name": "address", "state_mutability": 4, @@ -56633,15 +57468,16 @@ }, "signature_raw": "implementation(address)", "signature": "6b880718", - "scope": 2996, + "scope": 2997, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalviewreturns(address);" } ], "linearized_base_contracts": [ - 2996 + 2997 ], "base_contracts": [], "contract_dependencies": [] @@ -56657,12 +57493,12 @@ } }, { - "id": 3006, + "id": 3007, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 3006, + "id": 3007, "name": "StorageSlotUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StorageSlotUpgradeable.sol" } @@ -56672,7 +57508,7 @@ "node_type": 1, "nodes": [ { - "id": 3020, + "id": 3021, "node_type": 10, "src": { "line": 1343, @@ -56680,7 +57516,7 @@ "start": 48202, "end": 48224, "length": 23, - "parent_index": 3006 + "parent_index": 3007 }, "literals": [ "pragma", @@ -56696,7 +57532,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 3039, + "id": 3040, "name": "StorageSlotUpgradeable", "node_type": 35, "src": { @@ -56705,7 +57541,7 @@ "start": 49376, "end": 50777, "length": 1402, - "parent_index": 3006 + "parent_index": 3007 }, "name_location": { "line": 1371, @@ -56713,14 +57549,14 @@ "start": 49384, "end": 49405, "length": 22, - "parent_index": 3039 + "parent_index": 3040 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 3041, + "id": 3042, "node_type": 67, "src": { "line": 1372, @@ -56728,7 +57564,7 @@ "start": 49413, "end": 49461, "length": 49, - "parent_index": 3006 + "parent_index": 3007 }, "name": "AddressSlot", "name_location": { @@ -56737,16 +57573,16 @@ "start": 49420, "end": 49430, "length": 11, - "parent_index": 3041 + "parent_index": 3042 }, "canonical_name": "StorageSlotUpgradeable.AddressSlot", "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "type_string": "struct StorageSlotUpgradeable.AddressSlot" }, "members": [ { - "id": 3042, + "id": 3043, "node_type": 44, "src": { "line": 1373, @@ -56754,12 +57590,12 @@ "start": 49442, "end": 49455, "length": 14, - "parent_index": 3041 + "parent_index": 3042 }, - "scope": 3039, + "scope": 3040, "name": "value", "type_name": { - "id": 3043, + "id": 3044, "node_type": 30, "src": { "line": 1373, @@ -56767,7 +57603,7 @@ "start": 49442, "end": 49448, "length": 7, - "parent_index": 3042 + "parent_index": 3043 }, "name": "address", "state_mutability": 4, @@ -56789,7 +57625,7 @@ "storage_location": 1 }, { - "id": 3045, + "id": 3046, "node_type": 67, "src": { "line": 1376, @@ -56797,7 +57633,7 @@ "start": 49468, "end": 49513, "length": 46, - "parent_index": 3006 + "parent_index": 3007 }, "name": "BooleanSlot", "name_location": { @@ -56806,16 +57642,16 @@ "start": 49475, "end": 49485, "length": 11, - "parent_index": 3045 + "parent_index": 3046 }, "canonical_name": "StorageSlotUpgradeable.BooleanSlot", "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "type_string": "struct StorageSlotUpgradeable.BooleanSlot" }, "members": [ { - "id": 3046, + "id": 3047, "node_type": 44, "src": { "line": 1377, @@ -56823,12 +57659,12 @@ "start": 49497, "end": 49507, "length": 11, - "parent_index": 3045 + "parent_index": 3046 }, - "scope": 3039, + "scope": 3040, "name": "value", "type_name": { - "id": 3047, + "id": 3048, "node_type": 30, "src": { "line": 1377, @@ -56836,7 +57672,7 @@ "start": 49497, "end": 49500, "length": 4, - "parent_index": 3046 + "parent_index": 3047 }, "name": "bool", "referenced_declaration": 0, @@ -56857,7 +57693,7 @@ "storage_location": 1 }, { - "id": 3049, + "id": 3050, "node_type": 67, "src": { "line": 1380, @@ -56865,7 +57701,7 @@ "start": 49520, "end": 49568, "length": 49, - "parent_index": 3006 + "parent_index": 3007 }, "name": "Bytes32Slot", "name_location": { @@ -56874,16 +57710,16 @@ "start": 49527, "end": 49537, "length": 11, - "parent_index": 3049 + "parent_index": 3050 }, "canonical_name": "StorageSlotUpgradeable.Bytes32Slot", "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "type_string": "struct StorageSlotUpgradeable.Bytes32Slot" }, "members": [ { - "id": 3050, + "id": 3051, "node_type": 44, "src": { "line": 1381, @@ -56891,12 +57727,12 @@ "start": 49549, "end": 49562, "length": 14, - "parent_index": 3049 + "parent_index": 3050 }, - "scope": 3039, + "scope": 3040, "name": "value", "type_name": { - "id": 3051, + "id": 3052, "node_type": 30, "src": { "line": 1381, @@ -56904,7 +57740,7 @@ "start": 49549, "end": 49555, "length": 7, - "parent_index": 3050 + "parent_index": 3051 }, "name": "bytes32", "referenced_declaration": 0, @@ -56925,7 +57761,7 @@ "storage_location": 1 }, { - "id": 3053, + "id": 3054, "node_type": 67, "src": { "line": 1384, @@ -56933,7 +57769,7 @@ "start": 49575, "end": 49623, "length": 49, - "parent_index": 3006 + "parent_index": 3007 }, "name": "Uint256Slot", "name_location": { @@ -56942,16 +57778,16 @@ "start": 49582, "end": 49592, "length": 11, - "parent_index": 3053 + "parent_index": 3054 }, "canonical_name": "StorageSlotUpgradeable.Uint256Slot", "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "type_string": "struct StorageSlotUpgradeable.Uint256Slot" }, "members": [ { - "id": 3054, + "id": 3055, "node_type": 44, "src": { "line": 1385, @@ -56959,12 +57795,12 @@ "start": 49604, "end": 49617, "length": 14, - "parent_index": 3053 + "parent_index": 3054 }, - "scope": 3039, + "scope": 3040, "name": "value", "type_name": { - "id": 3055, + "id": 3056, "node_type": 30, "src": { "line": 1385, @@ -56972,7 +57808,7 @@ "start": 49604, "end": 49610, "length": 7, - "parent_index": 3054 + "parent_index": 3055 }, "name": "uint256", "referenced_declaration": 0, @@ -56993,7 +57829,7 @@ "storage_location": 1 }, { - "id": 3057, + "id": 3058, "name": "getAddressSlot", "node_type": 42, "kind": 41, @@ -57003,7 +57839,7 @@ "start": 49722, "end": 49911, "length": 190, - "parent_index": 3039 + "parent_index": 3040 }, "name_location": { "line": 1391, @@ -57011,10 +57847,10 @@ "start": 49731, "end": 49744, "length": 14, - "parent_index": 3057 + "parent_index": 3058 }, "body": { - "id": 3065, + "id": 3066, "node_type": 46, "kind": 0, "src": { @@ -57023,12 +57859,12 @@ "start": 49806, "end": 49911, "length": 106, - "parent_index": 3057 + "parent_index": 3058 }, "implemented": true, "statements": [ { - "id": 3066, + "id": 3067, "node_type": 89, "src": { "line": 1393, @@ -57036,10 +57872,10 @@ "start": 49859, "end": 49905, "length": 47, - "parent_index": 3065 + "parent_index": 3066 }, "body": { - "id": 3067, + "id": 3068, "node_type": 111, "kind": 0, "src": { @@ -57048,12 +57884,12 @@ "start": 49859, "end": 49905, "length": 47, - "parent_index": 3066 + "parent_index": 3067 }, "implemented": false, "statements": [ { - "id": 3068, + "id": 3069, "node_type": 91, "src": { "line": 1394, @@ -57061,11 +57897,11 @@ "start": 49882, "end": 49895, "length": 14, - "parent_index": 3066 + "parent_index": 3067 }, "statements": [ { - "id": 3069, + "id": 3070, "node_type": 92, "src": { "line": 1394, @@ -57073,11 +57909,11 @@ "start": 49882, "end": 49895, "length": 14, - "parent_index": 3066 + "parent_index": 3067 }, "variable_names": [ { - "id": 3070, + "id": 3071, "node_type": 107, "src": { "line": 1394, @@ -57085,12 +57921,12 @@ "start": 49882, "end": 49882, "length": 1, - "parent_index": 3069 + "parent_index": 3070 }, "name": "r" }, { - "id": 3071, + "id": 3072, "node_type": 107, "src": { "line": 1394, @@ -57098,13 +57934,13 @@ "start": 49884, "end": 49887, "length": 4, - "parent_index": 3069 + "parent_index": 3070 }, "name": "slot" } ], "value": { - "id": 3072, + "id": 3073, "node_type": 123, "src": { "line": 1394, @@ -57112,7 +57948,7 @@ "start": 49892, "end": 49895, "length": 4, - "parent_index": 3069 + "parent_index": 3070 }, "expression": null } @@ -57131,7 +57967,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3058, + "id": 3059, "node_type": 43, "src": { "line": 1391, @@ -57139,11 +57975,11 @@ "start": 49746, "end": 49757, "length": 12, - "parent_index": 3057 + "parent_index": 3058 }, "parameters": [ { - "id": 3059, + "id": 3060, "node_type": 44, "src": { "line": 1391, @@ -57151,12 +57987,12 @@ "start": 49746, "end": 49757, "length": 12, - "parent_index": 3058 + "parent_index": 3059 }, - "scope": 3057, + "scope": 3058, "name": "slot", "type_name": { - "id": 3060, + "id": 3061, "node_type": 30, "src": { "line": 1391, @@ -57164,7 +58000,7 @@ "start": 49746, "end": 49752, "length": 7, - "parent_index": 3059 + "parent_index": 3060 }, "name": "bytes32", "referenced_declaration": 0, @@ -57190,7 +58026,7 @@ ] }, "return_parameters": { - "id": 3061, + "id": 3062, "node_type": 43, "src": { "line": 1391, @@ -57198,11 +58034,11 @@ "start": 49783, "end": 49803, "length": 21, - "parent_index": 3057 + "parent_index": 3058 }, "parameters": [ { - "id": 3062, + "id": 3063, "node_type": 44, "src": { "line": 1391, @@ -57210,12 +58046,12 @@ "start": 49783, "end": 49803, "length": 21, - "parent_index": 3061 + "parent_index": 3062 }, - "scope": 3057, + "scope": 3058, "name": "r", "type_name": { - "id": 3063, + "id": 3064, "node_type": 69, "src": { "line": 1391, @@ -57223,20 +58059,20 @@ "start": 49783, "end": 49793, "length": 11, - "parent_index": 3062 + "parent_index": 3063 }, "path_node": { - "id": 3064, + "id": 3065, "name": "AddressSlot", "node_type": 52, - "referenced_declaration": 3041, + "referenced_declaration": 3042, "src": { "line": 1391, "column": 65, "start": 49783, "end": 49793, "length": 11, - "parent_index": 3063 + "parent_index": 3064 }, "name_location": { "line": 1391, @@ -57244,12 +58080,12 @@ "start": 49783, "end": 49793, "length": 11, - "parent_index": 3063 + "parent_index": 3064 } }, - "referenced_declaration": 3041, + "referenced_declaration": 3042, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "type_string": "struct StorageSlotUpgradeable.AddressSlot" } }, @@ -57257,28 +58093,29 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "type_string": "struct StorageSlotUpgradeable.AddressSlot" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "type_string": "struct StorageSlotUpgradeable.AddressSlot" } ] }, "signature_raw": "getAddressSlot(bytes32)", "signature": "e8ff0b1d", - "scope": 3039, + "scope": 3040, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetAddressSlot(bytes32slot)internalpurereturns(AddressSlotstorager){assembly{r.slot:=slot}}" }, { - "id": 3074, + "id": 3075, "name": "getBooleanSlot", "node_type": 42, "kind": 41, @@ -57288,7 +58125,7 @@ "start": 50010, "end": 50199, "length": 190, - "parent_index": 3039 + "parent_index": 3040 }, "name_location": { "line": 1401, @@ -57296,10 +58133,10 @@ "start": 50019, "end": 50032, "length": 14, - "parent_index": 3074 + "parent_index": 3075 }, "body": { - "id": 3082, + "id": 3083, "node_type": 46, "kind": 0, "src": { @@ -57308,12 +58145,12 @@ "start": 50094, "end": 50199, "length": 106, - "parent_index": 3074 + "parent_index": 3075 }, "implemented": true, "statements": [ { - "id": 3083, + "id": 3084, "node_type": 89, "src": { "line": 1403, @@ -57321,10 +58158,10 @@ "start": 50147, "end": 50193, "length": 47, - "parent_index": 3082 + "parent_index": 3083 }, "body": { - "id": 3084, + "id": 3085, "node_type": 111, "kind": 0, "src": { @@ -57333,12 +58170,12 @@ "start": 50147, "end": 50193, "length": 47, - "parent_index": 3083 + "parent_index": 3084 }, "implemented": false, "statements": [ { - "id": 3085, + "id": 3086, "node_type": 91, "src": { "line": 1404, @@ -57346,11 +58183,11 @@ "start": 50170, "end": 50183, "length": 14, - "parent_index": 3083 + "parent_index": 3084 }, "statements": [ { - "id": 3086, + "id": 3087, "node_type": 92, "src": { "line": 1404, @@ -57358,11 +58195,11 @@ "start": 50170, "end": 50183, "length": 14, - "parent_index": 3083 + "parent_index": 3084 }, "variable_names": [ { - "id": 3087, + "id": 3088, "node_type": 107, "src": { "line": 1404, @@ -57370,12 +58207,12 @@ "start": 50170, "end": 50170, "length": 1, - "parent_index": 3086 + "parent_index": 3087 }, "name": "r" }, { - "id": 3088, + "id": 3089, "node_type": 107, "src": { "line": 1404, @@ -57383,13 +58220,13 @@ "start": 50172, "end": 50175, "length": 4, - "parent_index": 3086 + "parent_index": 3087 }, "name": "slot" } ], "value": { - "id": 3089, + "id": 3090, "node_type": 123, "src": { "line": 1404, @@ -57397,7 +58234,7 @@ "start": 50180, "end": 50183, "length": 4, - "parent_index": 3086 + "parent_index": 3087 }, "expression": null } @@ -57416,7 +58253,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3075, + "id": 3076, "node_type": 43, "src": { "line": 1401, @@ -57424,11 +58261,11 @@ "start": 50034, "end": 50045, "length": 12, - "parent_index": 3074 + "parent_index": 3075 }, "parameters": [ { - "id": 3076, + "id": 3077, "node_type": 44, "src": { "line": 1401, @@ -57436,12 +58273,12 @@ "start": 50034, "end": 50045, "length": 12, - "parent_index": 3075 + "parent_index": 3076 }, - "scope": 3074, + "scope": 3075, "name": "slot", "type_name": { - "id": 3077, + "id": 3078, "node_type": 30, "src": { "line": 1401, @@ -57449,7 +58286,7 @@ "start": 50034, "end": 50040, "length": 7, - "parent_index": 3076 + "parent_index": 3077 }, "name": "bytes32", "referenced_declaration": 0, @@ -57475,7 +58312,7 @@ ] }, "return_parameters": { - "id": 3078, + "id": 3079, "node_type": 43, "src": { "line": 1401, @@ -57483,11 +58320,11 @@ "start": 50071, "end": 50091, "length": 21, - "parent_index": 3074 + "parent_index": 3075 }, "parameters": [ { - "id": 3079, + "id": 3080, "node_type": 44, "src": { "line": 1401, @@ -57495,12 +58332,12 @@ "start": 50071, "end": 50091, "length": 21, - "parent_index": 3078 + "parent_index": 3079 }, - "scope": 3074, + "scope": 3075, "name": "r", "type_name": { - "id": 3080, + "id": 3081, "node_type": 69, "src": { "line": 1401, @@ -57508,20 +58345,20 @@ "start": 50071, "end": 50081, "length": 11, - "parent_index": 3079 + "parent_index": 3080 }, "path_node": { - "id": 3081, + "id": 3082, "name": "BooleanSlot", "node_type": 52, - "referenced_declaration": 3045, + "referenced_declaration": 3046, "src": { "line": 1401, "column": 65, "start": 50071, "end": 50081, "length": 11, - "parent_index": 3080 + "parent_index": 3081 }, "name_location": { "line": 1401, @@ -57529,12 +58366,12 @@ "start": 50071, "end": 50081, "length": 11, - "parent_index": 3080 + "parent_index": 3081 } }, - "referenced_declaration": 3045, + "referenced_declaration": 3046, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "type_string": "struct StorageSlotUpgradeable.BooleanSlot" } }, @@ -57542,28 +58379,29 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "type_string": "struct StorageSlotUpgradeable.BooleanSlot" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "type_string": "struct StorageSlotUpgradeable.BooleanSlot" } ] }, "signature_raw": "getBooleanSlot(bytes32)", "signature": "37f4a46d", - "scope": 3039, + "scope": 3040, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBooleanSlot(bytes32slot)internalpurereturns(BooleanSlotstorager){assembly{r.slot:=slot}}" }, { - "id": 3091, + "id": 3092, "name": "getBytes32Slot", "node_type": 42, "kind": 41, @@ -57573,7 +58411,7 @@ "start": 50298, "end": 50487, "length": 190, - "parent_index": 3039 + "parent_index": 3040 }, "name_location": { "line": 1411, @@ -57581,10 +58419,10 @@ "start": 50307, "end": 50320, "length": 14, - "parent_index": 3091 + "parent_index": 3092 }, "body": { - "id": 3099, + "id": 3100, "node_type": 46, "kind": 0, "src": { @@ -57593,12 +58431,12 @@ "start": 50382, "end": 50487, "length": 106, - "parent_index": 3091 + "parent_index": 3092 }, "implemented": true, "statements": [ { - "id": 3100, + "id": 3101, "node_type": 89, "src": { "line": 1413, @@ -57606,10 +58444,10 @@ "start": 50435, "end": 50481, "length": 47, - "parent_index": 3099 + "parent_index": 3100 }, "body": { - "id": 3101, + "id": 3102, "node_type": 111, "kind": 0, "src": { @@ -57618,12 +58456,12 @@ "start": 50435, "end": 50481, "length": 47, - "parent_index": 3100 + "parent_index": 3101 }, "implemented": false, "statements": [ { - "id": 3102, + "id": 3103, "node_type": 91, "src": { "line": 1414, @@ -57631,11 +58469,11 @@ "start": 50458, "end": 50471, "length": 14, - "parent_index": 3100 + "parent_index": 3101 }, "statements": [ { - "id": 3103, + "id": 3104, "node_type": 92, "src": { "line": 1414, @@ -57643,11 +58481,11 @@ "start": 50458, "end": 50471, "length": 14, - "parent_index": 3100 + "parent_index": 3101 }, "variable_names": [ { - "id": 3104, + "id": 3105, "node_type": 107, "src": { "line": 1414, @@ -57655,12 +58493,12 @@ "start": 50458, "end": 50458, "length": 1, - "parent_index": 3103 + "parent_index": 3104 }, "name": "r" }, { - "id": 3105, + "id": 3106, "node_type": 107, "src": { "line": 1414, @@ -57668,13 +58506,13 @@ "start": 50460, "end": 50463, "length": 4, - "parent_index": 3103 + "parent_index": 3104 }, "name": "slot" } ], "value": { - "id": 3106, + "id": 3107, "node_type": 123, "src": { "line": 1414, @@ -57682,7 +58520,7 @@ "start": 50468, "end": 50471, "length": 4, - "parent_index": 3103 + "parent_index": 3104 }, "expression": null } @@ -57701,7 +58539,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3092, + "id": 3093, "node_type": 43, "src": { "line": 1411, @@ -57709,11 +58547,11 @@ "start": 50322, "end": 50333, "length": 12, - "parent_index": 3091 + "parent_index": 3092 }, "parameters": [ { - "id": 3093, + "id": 3094, "node_type": 44, "src": { "line": 1411, @@ -57721,12 +58559,12 @@ "start": 50322, "end": 50333, "length": 12, - "parent_index": 3092 + "parent_index": 3093 }, - "scope": 3091, + "scope": 3092, "name": "slot", "type_name": { - "id": 3094, + "id": 3095, "node_type": 30, "src": { "line": 1411, @@ -57734,7 +58572,7 @@ "start": 50322, "end": 50328, "length": 7, - "parent_index": 3093 + "parent_index": 3094 }, "name": "bytes32", "referenced_declaration": 0, @@ -57760,7 +58598,7 @@ ] }, "return_parameters": { - "id": 3095, + "id": 3096, "node_type": 43, "src": { "line": 1411, @@ -57768,11 +58606,11 @@ "start": 50359, "end": 50379, "length": 21, - "parent_index": 3091 + "parent_index": 3092 }, "parameters": [ { - "id": 3096, + "id": 3097, "node_type": 44, "src": { "line": 1411, @@ -57780,12 +58618,12 @@ "start": 50359, "end": 50379, "length": 21, - "parent_index": 3095 + "parent_index": 3096 }, - "scope": 3091, + "scope": 3092, "name": "r", "type_name": { - "id": 3097, + "id": 3098, "node_type": 69, "src": { "line": 1411, @@ -57793,20 +58631,20 @@ "start": 50359, "end": 50369, "length": 11, - "parent_index": 3096 + "parent_index": 3097 }, "path_node": { - "id": 3098, + "id": 3099, "name": "Bytes32Slot", "node_type": 52, - "referenced_declaration": 3049, + "referenced_declaration": 3050, "src": { "line": 1411, "column": 65, "start": 50359, "end": 50369, "length": 11, - "parent_index": 3097 + "parent_index": 3098 }, "name_location": { "line": 1411, @@ -57814,12 +58652,12 @@ "start": 50359, "end": 50369, "length": 11, - "parent_index": 3097 + "parent_index": 3098 } }, - "referenced_declaration": 3049, + "referenced_declaration": 3050, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "type_string": "struct StorageSlotUpgradeable.Bytes32Slot" } }, @@ -57827,28 +58665,29 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "type_string": "struct StorageSlotUpgradeable.Bytes32Slot" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "type_string": "struct StorageSlotUpgradeable.Bytes32Slot" } ] }, "signature_raw": "getBytes32Slot(bytes32)", "signature": "dd4e2762", - "scope": 3039, + "scope": 3040, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBytes32Slot(bytes32slot)internalpurereturns(Bytes32Slotstorager){assembly{r.slot:=slot}}" }, { - "id": 3108, + "id": 3109, "name": "getUint256Slot", "node_type": 42, "kind": 41, @@ -57858,7 +58697,7 @@ "start": 50586, "end": 50775, "length": 190, - "parent_index": 3039 + "parent_index": 3040 }, "name_location": { "line": 1421, @@ -57866,10 +58705,10 @@ "start": 50595, "end": 50608, "length": 14, - "parent_index": 3108 + "parent_index": 3109 }, "body": { - "id": 3116, + "id": 3117, "node_type": 46, "kind": 0, "src": { @@ -57878,12 +58717,12 @@ "start": 50670, "end": 50775, "length": 106, - "parent_index": 3108 + "parent_index": 3109 }, "implemented": true, "statements": [ { - "id": 3117, + "id": 3118, "node_type": 89, "src": { "line": 1423, @@ -57891,10 +58730,10 @@ "start": 50723, "end": 50769, "length": 47, - "parent_index": 3116 + "parent_index": 3117 }, "body": { - "id": 3118, + "id": 3119, "node_type": 111, "kind": 0, "src": { @@ -57903,12 +58742,12 @@ "start": 50723, "end": 50769, "length": 47, - "parent_index": 3117 + "parent_index": 3118 }, "implemented": false, "statements": [ { - "id": 3119, + "id": 3120, "node_type": 91, "src": { "line": 1424, @@ -57916,11 +58755,11 @@ "start": 50746, "end": 50759, "length": 14, - "parent_index": 3117 + "parent_index": 3118 }, "statements": [ { - "id": 3120, + "id": 3121, "node_type": 92, "src": { "line": 1424, @@ -57928,11 +58767,11 @@ "start": 50746, "end": 50759, "length": 14, - "parent_index": 3117 + "parent_index": 3118 }, "variable_names": [ { - "id": 3121, + "id": 3122, "node_type": 107, "src": { "line": 1424, @@ -57940,12 +58779,12 @@ "start": 50746, "end": 50746, "length": 1, - "parent_index": 3120 + "parent_index": 3121 }, "name": "r" }, { - "id": 3122, + "id": 3123, "node_type": 107, "src": { "line": 1424, @@ -57953,13 +58792,13 @@ "start": 50748, "end": 50751, "length": 4, - "parent_index": 3120 + "parent_index": 3121 }, "name": "slot" } ], "value": { - "id": 3123, + "id": 3124, "node_type": 123, "src": { "line": 1424, @@ -57967,7 +58806,7 @@ "start": 50756, "end": 50759, "length": 4, - "parent_index": 3120 + "parent_index": 3121 }, "expression": null } @@ -57986,7 +58825,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3109, + "id": 3110, "node_type": 43, "src": { "line": 1421, @@ -57994,11 +58833,11 @@ "start": 50610, "end": 50621, "length": 12, - "parent_index": 3108 + "parent_index": 3109 }, "parameters": [ { - "id": 3110, + "id": 3111, "node_type": 44, "src": { "line": 1421, @@ -58006,12 +58845,12 @@ "start": 50610, "end": 50621, "length": 12, - "parent_index": 3109 + "parent_index": 3110 }, - "scope": 3108, + "scope": 3109, "name": "slot", "type_name": { - "id": 3111, + "id": 3112, "node_type": 30, "src": { "line": 1421, @@ -58019,7 +58858,7 @@ "start": 50610, "end": 50616, "length": 7, - "parent_index": 3110 + "parent_index": 3111 }, "name": "bytes32", "referenced_declaration": 0, @@ -58045,7 +58884,7 @@ ] }, "return_parameters": { - "id": 3112, + "id": 3113, "node_type": 43, "src": { "line": 1421, @@ -58053,11 +58892,11 @@ "start": 50647, "end": 50667, "length": 21, - "parent_index": 3108 + "parent_index": 3109 }, "parameters": [ { - "id": 3113, + "id": 3114, "node_type": 44, "src": { "line": 1421, @@ -58065,12 +58904,12 @@ "start": 50647, "end": 50667, "length": 21, - "parent_index": 3112 + "parent_index": 3113 }, - "scope": 3108, + "scope": 3109, "name": "r", "type_name": { - "id": 3114, + "id": 3115, "node_type": 69, "src": { "line": 1421, @@ -58078,20 +58917,20 @@ "start": 50647, "end": 50657, "length": 11, - "parent_index": 3113 + "parent_index": 3114 }, "path_node": { - "id": 3115, + "id": 3116, "name": "Uint256Slot", "node_type": 52, - "referenced_declaration": 3053, + "referenced_declaration": 3054, "src": { "line": 1421, "column": 65, "start": 50647, "end": 50657, "length": 11, - "parent_index": 3114 + "parent_index": 3115 }, "name_location": { "line": 1421, @@ -58099,12 +58938,12 @@ "start": 50647, "end": 50657, "length": 11, - "parent_index": 3114 + "parent_index": 3115 } }, - "referenced_declaration": 3053, + "referenced_declaration": 3054, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "type_string": "struct StorageSlotUpgradeable.Uint256Slot" } }, @@ -58112,29 +58951,30 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "type_string": "struct StorageSlotUpgradeable.Uint256Slot" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "type_string": "struct StorageSlotUpgradeable.Uint256Slot" } ] }, "signature_raw": "getUint256Slot(bytes32)", "signature": "949a352c", - "scope": 3039, + "scope": 3040, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetUint256Slot(bytes32slot)internalpurereturns(Uint256Slotstorager){assembly{r.slot:=slot}}" } ], "linearized_base_contracts": [ - 3039 + 3040 ], "base_contracts": [], "contract_dependencies": [] @@ -58150,10 +58990,10 @@ } }, { - "id": 3124, + "id": 3125, "base_contracts": [ { - "id": 3164, + "id": 3165, "node_type": 62, "src": { "line": 1449, @@ -58161,10 +59001,10 @@ "start": 51388, "end": 51400, "length": 13, - "parent_index": 3163 + "parent_index": 3164 }, "base_name": { - "id": 3165, + "id": 3166, "node_type": 52, "src": { "line": 1449, @@ -58172,7 +59012,7 @@ "start": 51388, "end": 51400, "length": 13, - "parent_index": 3163 + "parent_index": 3164 }, "name": "Initializable", "referenced_declaration": 1894 @@ -58182,32 +59022,32 @@ "license": "MIT", "exported_symbols": [ { - "id": 3124, + "id": 3125, "name": "ERC1967UpgradeUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC1967UpgradeUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "IBeaconUpgradeable", "absolute_path": "IBeaconUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "draft-IERC1822Upgradeable", "absolute_path": "draft-IERC1822Upgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "AddressUpgradeable", "absolute_path": "AddressUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "StorageSlotUpgradeable", "absolute_path": "StorageSlotUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "Initializable", "absolute_path": "Initializable.sol" } @@ -58217,7 +59057,7 @@ "node_type": 1, "nodes": [ { - "id": 3139, + "id": 3140, "node_type": 10, "src": { "line": 1433, @@ -58225,7 +59065,7 @@ "start": 50897, "end": 50919, "length": 23, - "parent_index": 3124 + "parent_index": 3125 }, "literals": [ "pragma", @@ -58241,7 +59081,7 @@ "text": "pragma solidity ^0.8.2;" }, { - "id": 3158, + "id": 3159, "node_type": 29, "src": { "line": 1435, @@ -58249,18 +59089,18 @@ "start": 50922, "end": 50955, "length": 34, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "IBeaconUpgradeable.sol", "file": "./IBeaconUpgradeable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3159, + "id": 3160, "node_type": 29, "src": { "line": 1436, @@ -58268,18 +59108,18 @@ "start": 50957, "end": 50997, "length": 41, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "draft-IERC1822Upgradeable.sol", "file": "./draft-IERC1822Upgradeable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3160, + "id": 3161, "node_type": 29, "src": { "line": 1437, @@ -58287,18 +59127,18 @@ "start": 50999, "end": 51032, "length": 34, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "AddressUpgradeable.sol", "file": "./AddressUpgradeable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3161, + "id": 3162, "node_type": 29, "src": { "line": 1438, @@ -58306,18 +59146,18 @@ "start": 51034, "end": 51071, "length": 38, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "StorageSlotUpgradeable.sol", "file": "./StorageSlotUpgradeable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3162, + "id": 3163, "node_type": 29, "src": { "line": 1439, @@ -58325,18 +59165,18 @@ "start": 51073, "end": 51101, "length": 29, - "parent_index": 3124 + "parent_index": 3125 }, "absolute_path": "Initializable.sol", "file": "./Initializable.sol", - "scope": 3124, + "scope": 3125, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3006 + "source_unit": 3007 }, { - "id": 3163, + "id": 3164, "name": "ERC1967UpgradeUpgradeable", "node_type": 35, "src": { @@ -58345,7 +59185,7 @@ "start": 51341, "end": 58566, "length": 7226, - "parent_index": 3124 + "parent_index": 3125 }, "name_location": { "line": 1449, @@ -58353,14 +59193,14 @@ "start": 51359, "end": 51383, "length": 25, - "parent_index": 3163 + "parent_index": 3164 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3167, + "id": 3168, "name": "__ERC1967Upgrade_init", "node_type": 42, "kind": 41, @@ -58370,7 +59210,7 @@ "start": 51408, "end": 51473, "length": 66, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1450, @@ -58378,10 +59218,10 @@ "start": 51417, "end": 51437, "length": 21, - "parent_index": 3167 + "parent_index": 3168 }, "body": { - "id": 3172, + "id": 3173, "node_type": 46, "kind": 0, "src": { @@ -58390,7 +59230,7 @@ "start": 51467, "end": 51473, "length": 7, - "parent_index": 3167 + "parent_index": 3168 }, "implemented": true, "statements": [] @@ -58401,7 +59241,7 @@ "virtual": false, "modifiers": [ { - "id": 3169, + "id": 3170, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -58411,12 +59251,12 @@ "start": 51450, "end": 51465, "length": 16, - "parent_index": 3167 + "parent_index": 3168 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3170, + "id": 3171, "name": "onlyInitializing", "node_type": 0, "src": { @@ -58425,14 +59265,14 @@ "start": 51450, "end": 51465, "length": 16, - "parent_index": 3169 + "parent_index": 3170 } } } ], "overrides": [], "parameters": { - "id": 3168, + "id": 3169, "node_type": 43, "src": { "line": 1450, @@ -58440,13 +59280,13 @@ "start": 51408, "end": 51473, "length": 66, - "parent_index": 3167 + "parent_index": 3168 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3171, + "id": 3172, "node_type": 43, "src": { "line": 1450, @@ -58454,21 +59294,22 @@ "start": 51408, "end": 51473, "length": 66, - "parent_index": 3167 + "parent_index": 3168 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__ERC1967Upgrade_init()", "signature": "d69dce32", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC1967Upgrade_init()internalonlyInitializing{}" }, { - "id": 3174, + "id": 3175, "name": "__ERC1967Upgrade_init_unchained", "node_type": 42, "kind": 41, @@ -58478,7 +59319,7 @@ "start": 51480, "end": 51555, "length": 76, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1453, @@ -58486,10 +59327,10 @@ "start": 51489, "end": 51519, "length": 31, - "parent_index": 3174 + "parent_index": 3175 }, "body": { - "id": 3179, + "id": 3180, "node_type": 46, "kind": 0, "src": { @@ -58498,7 +59339,7 @@ "start": 51549, "end": 51555, "length": 7, - "parent_index": 3174 + "parent_index": 3175 }, "implemented": true, "statements": [] @@ -58509,7 +59350,7 @@ "virtual": false, "modifiers": [ { - "id": 3176, + "id": 3177, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -58519,12 +59360,12 @@ "start": 51532, "end": 51547, "length": 16, - "parent_index": 3174 + "parent_index": 3175 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3177, + "id": 3178, "name": "onlyInitializing", "node_type": 0, "src": { @@ -58533,14 +59374,14 @@ "start": 51532, "end": 51547, "length": 16, - "parent_index": 3176 + "parent_index": 3177 } } } ], "overrides": [], "parameters": { - "id": 3175, + "id": 3176, "node_type": 43, "src": { "line": 1453, @@ -58548,13 +59389,13 @@ "start": 51480, "end": 51555, "length": 76, - "parent_index": 3174 + "parent_index": 3175 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3178, + "id": 3179, "node_type": 43, "src": { "line": 1453, @@ -58562,21 +59403,22 @@ "start": 51480, "end": 51555, "length": 76, - "parent_index": 3174 + "parent_index": 3175 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__ERC1967Upgrade_init_unchained()", "signature": "0f039eff", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC1967Upgrade_init_unchained()internalonlyInitializing{}" }, { - "id": 3181, + "id": 3182, "name": "_ROLLBACK_SLOT", "is_constant": true, "is_state_variable": true, @@ -58587,9 +59429,9 @@ "start": 51640, "end": 51748, "length": 109, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" @@ -58598,7 +59440,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3182, + "id": 3183, "node_type": 30, "src": { "line": 1456, @@ -58606,7 +59448,7 @@ "start": 51640, "end": 51646, "length": 7, - "parent_index": 3181 + "parent_index": 3182 }, "name": "bytes32", "referenced_declaration": 0, @@ -58616,7 +59458,7 @@ } }, "initial_value": { - "id": 3183, + "id": 3184, "node_type": 17, "kind": 49, "value": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143", @@ -58627,7 +59469,7 @@ "start": 51682, "end": 51747, "length": 66, - "parent_index": 3181 + "parent_index": 3182 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -58635,11 +59477,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, { - "id": 3185, + "id": 3186, "name": "_IMPLEMENTATION_SLOT", "is_constant": true, "is_state_variable": true, @@ -58650,9 +59493,9 @@ "start": 51974, "end": 52089, "length": 116, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" @@ -58661,7 +59504,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3186, + "id": 3187, "node_type": 30, "src": { "line": 1463, @@ -58669,7 +59512,7 @@ "start": 51974, "end": 51980, "length": 7, - "parent_index": 3185 + "parent_index": 3186 }, "name": "bytes32", "referenced_declaration": 0, @@ -58679,7 +59522,7 @@ } }, "initial_value": { - "id": 3187, + "id": 3188, "node_type": 17, "kind": 49, "value": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", @@ -58690,7 +59533,7 @@ "start": 52023, "end": 52088, "length": 66, - "parent_index": 3185 + "parent_index": 3186 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -58698,11 +59541,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, { - "id": 3189, + "id": 3190, "node_type": 57, "src": { "line": 1468, @@ -58710,10 +59554,10 @@ "start": 52169, "end": 52215, "length": 47, - "parent_index": 3163 + "parent_index": 3164 }, "parameters": { - "id": 3190, + "id": 3191, "node_type": 43, "src": { "line": 1468, @@ -58721,11 +59565,11 @@ "start": 52169, "end": 52215, "length": 47, - "parent_index": 3189 + "parent_index": 3190 }, "parameters": [ { - "id": 3191, + "id": 3192, "node_type": 44, "src": { "line": 1468, @@ -58733,12 +59577,12 @@ "start": 52184, "end": 52213, "length": 30, - "parent_index": 3190 + "parent_index": 3191 }, - "scope": 3189, + "scope": 3190, "name": "implementation", "type_name": { - "id": 3192, + "id": 3193, "node_type": 30, "src": { "line": 1468, @@ -58746,7 +59590,7 @@ "start": 52184, "end": 52190, "length": 7, - "parent_index": 3191 + "parent_index": 3192 }, "name": "address", "state_mutability": 4, @@ -58776,12 +59620,12 @@ "name": "Upgraded", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263189", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263190", "type_string": "event ERC1967UpgradeUpgradeable.Upgraded" } }, { - "id": 3194, + "id": 3195, "name": "_getImplementation", "node_type": 42, "kind": 41, @@ -58791,7 +59635,7 @@ "start": 52294, "end": 52444, "length": 151, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1473, @@ -58799,10 +59643,10 @@ "start": 52303, "end": 52320, "length": 18, - "parent_index": 3194 + "parent_index": 3195 }, "body": { - "id": 3201, + "id": 3202, "node_type": 46, "kind": 0, "src": { @@ -58811,12 +59655,12 @@ "start": 52356, "end": 52444, "length": 89, - "parent_index": 3194 + "parent_index": 3195 }, "implemented": true, "statements": [ { - "id": 3202, + "id": 3203, "node_type": 47, "src": { "line": 1474, @@ -58824,11 +59668,11 @@ "start": 52366, "end": 52438, "length": 73, - "parent_index": 3194 + "parent_index": 3195 }, - "function_return_parameters": 3194, + "function_return_parameters": 3195, "expression": { - "id": 3203, + "id": 3204, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -58840,7 +59684,7 @@ "start": 52373, "end": 52437, "length": 65, - "parent_index": 3202 + "parent_index": 3203 }, "member_location": { "line": 1474, @@ -58848,10 +59692,10 @@ "start": 52433, "end": 52437, "length": 5, - "parent_index": 3203 + "parent_index": 3204 }, "expression": { - "id": 3204, + "id": 3205, "node_type": 24, "kind": 24, "src": { @@ -58860,7 +59704,7 @@ "start": 52373, "end": 52431, "length": 59, - "parent_index": 3203 + "parent_index": 3204 }, "argument_types": [ { @@ -58870,7 +59714,7 @@ ], "arguments": [ { - "id": 3207, + "id": 3208, "node_type": 16, "src": { "line": 1474, @@ -58878,7 +59722,7 @@ "start": 52411, "end": 52430, "length": 20, - "parent_index": 3204 + "parent_index": 3205 }, "name": "_IMPLEMENTATION_SLOT", "type_description": { @@ -58887,11 +59731,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { - "id": 3205, + "id": 3206, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -58903,7 +59748,7 @@ "start": 52373, "end": 52409, "length": 37, - "parent_index": 3204 + "parent_index": 3205 }, "member_location": { "line": 1474, @@ -58911,10 +59756,10 @@ "start": 52396, "end": 52409, "length": 14, - "parent_index": 3205 + "parent_index": 3206 }, "expression": { - "id": 3206, + "id": 3207, "node_type": 16, "src": { "line": 1474, @@ -58922,23 +59767,25 @@ "start": 52373, "end": 52394, "length": 22, - "parent_index": 3205 + "parent_index": 3206 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -58950,7 +59797,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value" } } ] @@ -58962,7 +59810,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3195, + "id": 3196, "node_type": 43, "src": { "line": 1473, @@ -58970,11 +59818,11 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3194 + "parent_index": 3195 }, "parameters": [ { - "id": 3196, + "id": 3197, "node_type": 44, "src": { "line": 1473, @@ -58982,12 +59830,12 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3195 + "parent_index": 3196 }, - "scope": 3194, + "scope": 3195, "name": "", "type_name": { - "id": 3197, + "id": 3198, "node_type": 30, "src": { "line": 1473, @@ -58995,7 +59843,7 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3196 + "parent_index": 3197 }, "name": "address", "state_mutability": 4, @@ -59022,7 +59870,7 @@ ] }, "return_parameters": { - "id": 3198, + "id": 3199, "node_type": 43, "src": { "line": 1473, @@ -59030,11 +59878,11 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3194 + "parent_index": 3195 }, "parameters": [ { - "id": 3199, + "id": 3200, "node_type": 44, "src": { "line": 1473, @@ -59042,12 +59890,12 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3198 + "parent_index": 3199 }, - "scope": 3194, + "scope": 3195, "name": "", "type_name": { - "id": 3200, + "id": 3201, "node_type": 30, "src": { "line": 1473, @@ -59055,7 +59903,7 @@ "start": 52347, "end": 52353, "length": 7, - "parent_index": 3199 + "parent_index": 3200 }, "name": "address", "state_mutability": 4, @@ -59083,14 +59931,15 @@ }, "signature_raw": "_getImplementation(address)", "signature": "c54e44b0", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getImplementation()internalviewreturns(address){returnStorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value;}" }, { - "id": 3209, + "id": 3210, "name": "_setImplementation", "node_type": 42, "kind": 41, @@ -59100,7 +59949,7 @@ "start": 52536, "end": 52816, "length": 281, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1480, @@ -59108,10 +59957,10 @@ "start": 52545, "end": 52562, "length": 18, - "parent_index": 3209 + "parent_index": 3210 }, "body": { - "id": 3214, + "id": 3215, "node_type": 46, "kind": 0, "src": { @@ -59120,12 +59969,12 @@ "start": 52599, "end": 52816, "length": 218, - "parent_index": 3209 + "parent_index": 3210 }, "implemented": true, "statements": [ { - "id": 3215, + "id": 3216, "node_type": 24, "kind": 24, "src": { @@ -59134,7 +59983,7 @@ "start": 52609, "end": 52714, "length": 106, - "parent_index": 3214 + "parent_index": 3215 }, "argument_types": [ { @@ -59148,7 +59997,7 @@ ], "arguments": [ { - "id": 3217, + "id": 3218, "node_type": 24, "kind": 24, "src": { @@ -59157,7 +60006,7 @@ "start": 52617, "end": 52664, "length": 48, - "parent_index": 3215 + "parent_index": 3216 }, "argument_types": [ { @@ -59167,7 +60016,7 @@ ], "arguments": [ { - "id": 3220, + "id": 3221, "node_type": 16, "src": { "line": 1481, @@ -59175,7 +60024,7 @@ "start": 52647, "end": 52663, "length": 17, - "parent_index": 3217 + "parent_index": 3218 }, "name": "newImplementation", "type_description": { @@ -59183,12 +60032,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3220, - "is_pure": false + "referenced_declaration": 3221, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3218, + "id": 3219, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59200,7 +60050,7 @@ "start": 52617, "end": 52645, "length": 29, - "parent_index": 3217 + "parent_index": 3218 }, "member_location": { "line": 1481, @@ -59208,10 +60058,10 @@ "start": 52636, "end": 52645, "length": 10, - "parent_index": 3218 + "parent_index": 3219 }, "expression": { - "id": 3219, + "id": 3220, "node_type": 16, "src": { "line": 1481, @@ -59219,7 +60069,7 @@ "start": 52617, "end": 52634, "length": 18, - "parent_index": 3218 + "parent_index": 3219 }, "name": "AddressUpgradeable", "type_description": { @@ -59228,14 +60078,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -59243,7 +60095,7 @@ } }, { - "id": 3221, + "id": 3222, "node_type": 17, "kind": 50, "value": "ERC1967: new implementation is not a contract", @@ -59254,7 +60106,7 @@ "start": 52667, "end": 52713, "length": 47, - "parent_index": 3215 + "parent_index": 3216 }, "type_description": { "type_identifier": "t_string_literal", @@ -59268,11 +60120,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new implementation is not a contract\"" } ], "expression": { - "id": 3216, + "id": 3217, "node_type": 16, "src": { "line": 1481, @@ -59280,7 +60133,7 @@ "start": 52609, "end": 52615, "length": 7, - "parent_index": 3215 + "parent_index": 3216 }, "name": "require", "type_description": { @@ -59289,7 +60142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -59297,7 +60151,7 @@ } }, { - "id": 3222, + "id": 3223, "node_type": 27, "src": { "line": 1482, @@ -59305,10 +60159,10 @@ "start": 52725, "end": 52810, "length": 86, - "parent_index": 3214 + "parent_index": 3215 }, "expression": { - "id": 3223, + "id": 3224, "node_type": 27, "src": { "line": 1482, @@ -59316,11 +60170,11 @@ "start": 52725, "end": 52809, "length": 85, - "parent_index": 3222 + "parent_index": 3223 }, "operator": 11, "left_expression": { - "id": 3224, + "id": 3225, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59332,7 +60186,7 @@ "start": 52725, "end": 52789, "length": 65, - "parent_index": 3223 + "parent_index": 3224 }, "member_location": { "line": 1482, @@ -59340,10 +60194,10 @@ "start": 52785, "end": 52789, "length": 5, - "parent_index": 3224 + "parent_index": 3225 }, "expression": { - "id": 3225, + "id": 3226, "node_type": 24, "kind": 24, "src": { @@ -59352,7 +60206,7 @@ "start": 52725, "end": 52783, "length": 59, - "parent_index": 3224 + "parent_index": 3225 }, "argument_types": [ { @@ -59362,7 +60216,7 @@ ], "arguments": [ { - "id": 3228, + "id": 3229, "node_type": 16, "src": { "line": 1482, @@ -59370,7 +60224,7 @@ "start": 52763, "end": 52782, "length": 20, - "parent_index": 3225 + "parent_index": 3226 }, "name": "_IMPLEMENTATION_SLOT", "type_description": { @@ -59379,11 +60233,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { - "id": 3226, + "id": 3227, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59395,7 +60250,7 @@ "start": 52725, "end": 52761, "length": 37, - "parent_index": 3225 + "parent_index": 3226 }, "member_location": { "line": 1482, @@ -59403,10 +60258,10 @@ "start": 52748, "end": 52761, "length": 14, - "parent_index": 3226 + "parent_index": 3227 }, "expression": { - "id": 3227, + "id": 3228, "node_type": 16, "src": { "line": 1482, @@ -59414,23 +60269,25 @@ "start": 52725, "end": 52746, "length": 22, - "parent_index": 3226 + "parent_index": 3227 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -59442,10 +60299,11 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value" }, "right_expression": { - "id": 3229, + "id": 3230, "node_type": 16, "src": { "line": 1482, @@ -59453,7 +60311,7 @@ "start": 52793, "end": 52809, "length": 17, - "parent_index": 3223 + "parent_index": 3224 }, "name": "newImplementation", "type_description": { @@ -59461,8 +60319,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3229, - "is_pure": false + "referenced_declaration": 3230, + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -59472,7 +60331,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;" } ] }, @@ -59483,7 +60343,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3210, + "id": 3211, "node_type": 43, "src": { "line": 1480, @@ -59491,11 +60351,11 @@ "start": 52564, "end": 52588, "length": 25, - "parent_index": 3209 + "parent_index": 3210 }, "parameters": [ { - "id": 3211, + "id": 3212, "node_type": 44, "src": { "line": 1480, @@ -59503,12 +60363,12 @@ "start": 52564, "end": 52588, "length": 25, - "parent_index": 3210 + "parent_index": 3211 }, - "scope": 3209, + "scope": 3210, "name": "newImplementation", "type_name": { - "id": 3212, + "id": 3213, "node_type": 30, "src": { "line": 1480, @@ -59516,7 +60376,7 @@ "start": 52564, "end": 52570, "length": 7, - "parent_index": 3211 + "parent_index": 3212 }, "name": "address", "state_mutability": 4, @@ -59543,7 +60403,7 @@ ] }, "return_parameters": { - "id": 3213, + "id": 3214, "node_type": 43, "src": { "line": 1480, @@ -59551,21 +60411,22 @@ "start": 52536, "end": 52816, "length": 281, - "parent_index": 3209 + "parent_index": 3210 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_setImplementation(address)", "signature": "bb913f41", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(AddressUpgradeable.isContract(newImplementation),\"ERC1967: new implementation is not a contract\");StorageSlotUpgradeable.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;}" }, { - "id": 3231, + "id": 3232, "name": "_upgradeTo", "node_type": 42, "kind": 41, @@ -59575,7 +60436,7 @@ "start": 52923, "end": 53074, "length": 152, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1490, @@ -59583,10 +60444,10 @@ "start": 52932, "end": 52941, "length": 10, - "parent_index": 3231 + "parent_index": 3232 }, "body": { - "id": 3236, + "id": 3237, "node_type": 46, "kind": 0, "src": { @@ -59595,12 +60456,12 @@ "start": 52979, "end": 53074, "length": 96, - "parent_index": 3231 + "parent_index": 3232 }, "implemented": true, "statements": [ { - "id": 3237, + "id": 3238, "node_type": 24, "kind": 24, "src": { @@ -59609,7 +60470,7 @@ "start": 52989, "end": 53025, "length": 37, - "parent_index": 3236 + "parent_index": 3237 }, "argument_types": [ { @@ -59619,7 +60480,7 @@ ], "arguments": [ { - "id": 3239, + "id": 3240, "node_type": 16, "src": { "line": 1491, @@ -59627,7 +60488,7 @@ "start": 53008, "end": 53024, "length": 17, - "parent_index": 3237 + "parent_index": 3238 }, "name": "newImplementation", "type_description": { @@ -59635,12 +60496,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3239, - "is_pure": false + "referenced_declaration": 3240, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3238, + "id": 3239, "node_type": 16, "src": { "line": 1491, @@ -59648,7 +60510,7 @@ "start": 52989, "end": 53006, "length": 18, - "parent_index": 3237 + "parent_index": 3238 }, "name": "_setImplementation", "type_description": { @@ -59657,7 +60519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -59665,7 +60528,7 @@ } }, { - "id": 3240, + "id": 3241, "node_type": 64, "src": { "line": 1492, @@ -59673,11 +60536,11 @@ "start": 53036, "end": 53068, "length": 33, - "parent_index": 3231 + "parent_index": 3232 }, "arguments": [ { - "id": 3241, + "id": 3242, "node_type": 16, "src": { "line": 1492, @@ -59685,7 +60548,7 @@ "start": 53050, "end": 53066, "length": 17, - "parent_index": 3240 + "parent_index": 3241 }, "name": "newImplementation", "type_description": { @@ -59693,12 +60556,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3241, - "is_pure": false + "referenced_declaration": 3242, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3242, + "id": 3243, "node_type": 16, "src": { "line": 1492, @@ -59706,16 +60570,17 @@ "start": 53041, "end": 53048, "length": 8, - "parent_index": 3240 + "parent_index": 3241 }, "name": "Upgraded", "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263189", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263190", "type_string": "event ERC1967UpgradeUpgradeable.Upgraded" }, "overloaded_declarations": [], - "referenced_declaration": 3189, - "is_pure": false + "referenced_declaration": 3190, + "is_pure": false, + "text": "Upgraded" } } ] @@ -59727,7 +60592,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3232, + "id": 3233, "node_type": 43, "src": { "line": 1490, @@ -59735,11 +60600,11 @@ "start": 52943, "end": 52967, "length": 25, - "parent_index": 3231 + "parent_index": 3232 }, "parameters": [ { - "id": 3233, + "id": 3234, "node_type": 44, "src": { "line": 1490, @@ -59747,12 +60612,12 @@ "start": 52943, "end": 52967, "length": 25, - "parent_index": 3232 + "parent_index": 3233 }, - "scope": 3231, + "scope": 3232, "name": "newImplementation", "type_name": { - "id": 3234, + "id": 3235, "node_type": 30, "src": { "line": 1490, @@ -59760,7 +60625,7 @@ "start": 52943, "end": 52949, "length": 7, - "parent_index": 3233 + "parent_index": 3234 }, "name": "address", "state_mutability": 4, @@ -59787,7 +60652,7 @@ ] }, "return_parameters": { - "id": 3235, + "id": 3236, "node_type": 43, "src": { "line": 1490, @@ -59795,21 +60660,22 @@ "start": 52923, "end": 53074, "length": 152, - "parent_index": 3231 + "parent_index": 3232 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_upgradeTo(address)", "signature": "34140748", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_upgradeTo(addressnewImplementation)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { - "id": 3244, + "id": 3245, "name": "_upgradeToAndCall", "node_type": 42, "kind": 41, @@ -59819,7 +60685,7 @@ "start": 53209, "end": 53496, "length": 288, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1500, @@ -59827,10 +60693,10 @@ "start": 53218, "end": 53234, "length": 17, - "parent_index": 3244 + "parent_index": 3245 }, "body": { - "id": 3253, + "id": 3254, "node_type": 46, "kind": 0, "src": { @@ -59839,12 +60705,12 @@ "start": 53337, "end": 53496, "length": 160, - "parent_index": 3244 + "parent_index": 3245 }, "implemented": true, "statements": [ { - "id": 3254, + "id": 3255, "node_type": 24, "kind": 24, "src": { @@ -59853,7 +60719,7 @@ "start": 53347, "end": 53375, "length": 29, - "parent_index": 3253 + "parent_index": 3254 }, "argument_types": [ { @@ -59863,7 +60729,7 @@ ], "arguments": [ { - "id": 3256, + "id": 3257, "node_type": 16, "src": { "line": 1505, @@ -59871,7 +60737,7 @@ "start": 53358, "end": 53374, "length": 17, - "parent_index": 3254 + "parent_index": 3255 }, "name": "newImplementation", "type_description": { @@ -59879,12 +60745,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3256, - "is_pure": false + "referenced_declaration": 3257, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3255, + "id": 3256, "node_type": 16, "src": { "line": 1505, @@ -59892,7 +60759,7 @@ "start": 53347, "end": 53356, "length": 10, - "parent_index": 3254 + "parent_index": 3255 }, "name": "_upgradeTo", "type_description": { @@ -59901,7 +60768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeTo" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -59909,7 +60777,7 @@ } }, { - "id": 3257, + "id": 3258, "node_type": 48, "src": { "line": 1506, @@ -59917,10 +60785,10 @@ "start": 53386, "end": 53490, "length": 105, - "parent_index": 3253 + "parent_index": 3254 }, "condition": { - "id": 3258, + "id": 3259, "is_constant": false, "is_pure": false, "node_type": 19, @@ -59930,11 +60798,11 @@ "start": 53390, "end": 53417, "length": 28, - "parent_index": 3257 + "parent_index": 3258 }, "operator": 33, "left_expression": { - "id": 3259, + "id": 3260, "is_constant": false, "is_pure": false, "node_type": 19, @@ -59944,11 +60812,11 @@ "start": 53390, "end": 53404, "length": 15, - "parent_index": 3258 + "parent_index": 3259 }, "operator": 7, "left_expression": { - "id": 3260, + "id": 3261, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59960,7 +60828,7 @@ "start": 53390, "end": 53400, "length": 11, - "parent_index": 3259 + "parent_index": 3260 }, "member_location": { "line": 1506, @@ -59968,10 +60836,10 @@ "start": 53395, "end": 53400, "length": 6, - "parent_index": 3260 + "parent_index": 3261 }, "expression": { - "id": 3261, + "id": 3262, "node_type": 16, "src": { "line": 1506, @@ -59979,7 +60847,7 @@ "start": 53390, "end": 53393, "length": 4, - "parent_index": 3260 + "parent_index": 3261 }, "name": "data", "type_description": { @@ -59987,18 +60855,20 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3261, - "is_pure": false + "referenced_declaration": 3262, + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { - "id": 3262, + "id": 3263, "node_type": 17, "kind": 49, "value": "0", @@ -60009,7 +60879,7 @@ "start": 53404, "end": 53404, "length": 1, - "parent_index": 3259 + "parent_index": 3260 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -60017,7 +60887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -60025,7 +60896,7 @@ } }, "right_expression": { - "id": 3263, + "id": 3264, "node_type": 16, "src": { "line": 1506, @@ -60033,7 +60904,7 @@ "start": 53409, "end": 53417, "length": 9, - "parent_index": 3258 + "parent_index": 3259 }, "name": "forceCall", "type_description": { @@ -60041,8 +60912,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3263, - "is_pure": false + "referenced_declaration": 3264, + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -60050,7 +60922,7 @@ } }, "body": { - "id": 3264, + "id": 3265, "node_type": 46, "kind": 0, "src": { @@ -60059,12 +60931,12 @@ "start": 53420, "end": 53490, "length": 71, - "parent_index": 3244 + "parent_index": 3245 }, "implemented": true, "statements": [ { - "id": 3265, + "id": 3266, "node_type": 24, "kind": 24, "src": { @@ -60073,7 +60945,7 @@ "start": 53434, "end": 53479, "length": 46, - "parent_index": 3264 + "parent_index": 3265 }, "argument_types": [ { @@ -60087,7 +60959,7 @@ ], "arguments": [ { - "id": 3267, + "id": 3268, "node_type": 16, "src": { "line": 1507, @@ -60095,7 +60967,7 @@ "start": 53456, "end": 53472, "length": 17, - "parent_index": 3265 + "parent_index": 3266 }, "name": "newImplementation", "type_description": { @@ -60103,11 +60975,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3267, - "is_pure": false + "referenced_declaration": 3268, + "is_pure": false, + "text": "newImplementation" }, { - "id": 3268, + "id": 3269, "node_type": 16, "src": { "line": 1507, @@ -60115,7 +60988,7 @@ "start": 53475, "end": 53478, "length": 4, - "parent_index": 3265 + "parent_index": 3266 }, "name": "data", "type_description": { @@ -60123,18 +60996,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3268, + "referenced_declaration": 3269, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { - "id": 3266, + "id": 3267, "node_type": 16, "src": { "line": 1507, @@ -60142,7 +61016,7 @@ "start": 53434, "end": 53454, "length": 21, - "parent_index": 3265 + "parent_index": 3266 }, "name": "_functionDelegateCall", "type_description": { @@ -60151,7 +61025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -60170,7 +61045,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3245, + "id": 3246, "node_type": 43, "src": { "line": 1501, @@ -60178,11 +61053,11 @@ "start": 53245, "end": 53320, "length": 76, - "parent_index": 3244 + "parent_index": 3245 }, "parameters": [ { - "id": 3246, + "id": 3247, "node_type": 44, "src": { "line": 1501, @@ -60190,12 +61065,12 @@ "start": 53245, "end": 53269, "length": 25, - "parent_index": 3245 + "parent_index": 3246 }, - "scope": 3244, + "scope": 3245, "name": "newImplementation", "type_name": { - "id": 3247, + "id": 3248, "node_type": 30, "src": { "line": 1501, @@ -60203,7 +61078,7 @@ "start": 53245, "end": 53251, "length": 7, - "parent_index": 3246 + "parent_index": 3247 }, "name": "address", "state_mutability": 4, @@ -60222,7 +61097,7 @@ } }, { - "id": 3248, + "id": 3249, "node_type": 44, "src": { "line": 1502, @@ -60230,12 +61105,12 @@ "start": 53280, "end": 53296, "length": 17, - "parent_index": 3245 + "parent_index": 3246 }, - "scope": 3244, + "scope": 3245, "name": "data", "type_name": { - "id": 3249, + "id": 3250, "node_type": 30, "src": { "line": 1502, @@ -60243,7 +61118,7 @@ "start": 53280, "end": 53284, "length": 5, - "parent_index": 3248 + "parent_index": 3249 }, "name": "bytes", "referenced_declaration": 0, @@ -60261,7 +61136,7 @@ } }, { - "id": 3250, + "id": 3251, "node_type": 44, "src": { "line": 1503, @@ -60269,12 +61144,12 @@ "start": 53307, "end": 53320, "length": 14, - "parent_index": 3245 + "parent_index": 3246 }, - "scope": 3244, + "scope": 3245, "name": "forceCall", "type_name": { - "id": 3251, + "id": 3252, "node_type": 30, "src": { "line": 1503, @@ -60282,7 +61157,7 @@ "start": 53307, "end": 53310, "length": 4, - "parent_index": 3250 + "parent_index": 3251 }, "name": "bool", "referenced_declaration": 0, @@ -60316,7 +61191,7 @@ ] }, "return_parameters": { - "id": 3252, + "id": 3253, "node_type": 43, "src": { "line": 1500, @@ -60324,21 +61199,22 @@ "start": 53209, "end": 53496, "length": 288, - "parent_index": 3244 + "parent_index": 3245 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCall(address, bytes, bool)", - "signature": "b2f571b5", - "scope": 3163, + "signature_raw": "_upgradeToAndCall(address,bytes,bool)", + "signature": "267b04ae", + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCall(addressnewImplementation,bytesmemorydata,boolforceCall)internal{_upgradeTo(newImplementation);if(data.length\u003e0||forceCall){_functionDelegateCall(newImplementation,data);}}" }, { - "id": 3270, + "id": 3271, "name": "_upgradeToAndCallUUPS", "node_type": 42, "kind": 41, @@ -60348,7 +61224,7 @@ "start": 53669, "end": 54642, "length": 974, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1516, @@ -60356,10 +61232,10 @@ "start": 53678, "end": 53698, "length": 21, - "parent_index": 3270 + "parent_index": 3271 }, "body": { - "id": 3279, + "id": 3280, "node_type": 46, "kind": 0, "src": { @@ -60368,12 +61244,12 @@ "start": 53801, "end": 54642, "length": 842, - "parent_index": 3270 + "parent_index": 3271 }, "implemented": true, "statements": [ { - "id": 3280, + "id": 3281, "node_type": 48, "src": { "line": 1524, @@ -60381,10 +61257,10 @@ "start": 54111, "end": 54636, "length": 526, - "parent_index": 3279 + "parent_index": 3280 }, "condition": { - "id": 3281, + "id": 3282, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60396,7 +61272,7 @@ "start": 54115, "end": 54173, "length": 59, - "parent_index": 3280 + "parent_index": 3281 }, "member_location": { "line": 1524, @@ -60404,10 +61280,10 @@ "start": 54169, "end": 54173, "length": 5, - "parent_index": 3281 + "parent_index": 3282 }, "expression": { - "id": 3282, + "id": 3283, "node_type": 24, "kind": 24, "src": { @@ -60416,7 +61292,7 @@ "start": 54115, "end": 54167, "length": 53, - "parent_index": 3281 + "parent_index": 3282 }, "argument_types": [ { @@ -60426,7 +61302,7 @@ ], "arguments": [ { - "id": 3285, + "id": 3286, "node_type": 16, "src": { "line": 1524, @@ -60434,7 +61310,7 @@ "start": 54153, "end": 54166, "length": 14, - "parent_index": 3282 + "parent_index": 3283 }, "name": "_ROLLBACK_SLOT", "type_description": { @@ -60443,11 +61319,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ROLLBACK_SLOT" } ], "expression": { - "id": 3283, + "id": 3284, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60459,7 +61336,7 @@ "start": 54115, "end": 54151, "length": 37, - "parent_index": 3282 + "parent_index": 3283 }, "member_location": { "line": 1524, @@ -60467,10 +61344,10 @@ "start": 54138, "end": 54151, "length": 14, - "parent_index": 3283 + "parent_index": 3284 }, "expression": { - "id": 3284, + "id": 3285, "node_type": 16, "src": { "line": 1524, @@ -60478,23 +61355,25 @@ "start": 54115, "end": 54136, "length": 22, - "parent_index": 3283 + "parent_index": 3284 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getBooleanSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getBooleanSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -60506,10 +61385,11 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getBooleanSlot(_ROLLBACK_SLOT).value" }, "body": { - "id": 3286, + "id": 3287, "node_type": 46, "kind": 0, "src": { @@ -60518,12 +61398,12 @@ "start": 54176, "end": 54237, "length": 62, - "parent_index": 3270 + "parent_index": 3271 }, "implemented": true, "statements": [ { - "id": 3287, + "id": 3288, "node_type": 24, "kind": 24, "src": { @@ -60532,7 +61412,7 @@ "start": 54190, "end": 54226, "length": 37, - "parent_index": 3286 + "parent_index": 3287 }, "argument_types": [ { @@ -60542,7 +61422,7 @@ ], "arguments": [ { - "id": 3289, + "id": 3290, "node_type": 16, "src": { "line": 1525, @@ -60550,7 +61430,7 @@ "start": 54209, "end": 54225, "length": 17, - "parent_index": 3287 + "parent_index": 3288 }, "name": "newImplementation", "type_description": { @@ -60558,12 +61438,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3289, - "is_pure": false + "referenced_declaration": 3290, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3288, + "id": 3289, "node_type": 16, "src": { "line": 1525, @@ -60571,7 +61452,7 @@ "start": 54190, "end": 54207, "length": 18, - "parent_index": 3287 + "parent_index": 3288 }, "name": "_setImplementation", "type_description": { @@ -60580,7 +61461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -60599,7 +61481,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3271, + "id": 3272, "node_type": 43, "src": { "line": 1517, @@ -60607,11 +61489,11 @@ "start": 53709, "end": 53784, "length": 76, - "parent_index": 3270 + "parent_index": 3271 }, "parameters": [ { - "id": 3272, + "id": 3273, "node_type": 44, "src": { "line": 1517, @@ -60619,12 +61501,12 @@ "start": 53709, "end": 53733, "length": 25, - "parent_index": 3271 + "parent_index": 3272 }, - "scope": 3270, + "scope": 3271, "name": "newImplementation", "type_name": { - "id": 3273, + "id": 3274, "node_type": 30, "src": { "line": 1517, @@ -60632,7 +61514,7 @@ "start": 53709, "end": 53715, "length": 7, - "parent_index": 3272 + "parent_index": 3273 }, "name": "address", "state_mutability": 4, @@ -60651,7 +61533,7 @@ } }, { - "id": 3274, + "id": 3275, "node_type": 44, "src": { "line": 1518, @@ -60659,12 +61541,12 @@ "start": 53744, "end": 53760, "length": 17, - "parent_index": 3271 + "parent_index": 3272 }, - "scope": 3270, + "scope": 3271, "name": "data", "type_name": { - "id": 3275, + "id": 3276, "node_type": 30, "src": { "line": 1518, @@ -60672,7 +61554,7 @@ "start": 53744, "end": 53748, "length": 5, - "parent_index": 3274 + "parent_index": 3275 }, "name": "bytes", "referenced_declaration": 0, @@ -60690,7 +61572,7 @@ } }, { - "id": 3276, + "id": 3277, "node_type": 44, "src": { "line": 1519, @@ -60698,12 +61580,12 @@ "start": 53771, "end": 53784, "length": 14, - "parent_index": 3271 + "parent_index": 3272 }, - "scope": 3270, + "scope": 3271, "name": "forceCall", "type_name": { - "id": 3277, + "id": 3278, "node_type": 30, "src": { "line": 1519, @@ -60711,7 +61593,7 @@ "start": 53771, "end": 53774, "length": 4, - "parent_index": 3276 + "parent_index": 3277 }, "name": "bool", "referenced_declaration": 0, @@ -60745,7 +61627,7 @@ ] }, "return_parameters": { - "id": 3278, + "id": 3279, "node_type": 43, "src": { "line": 1516, @@ -60753,21 +61635,22 @@ "start": 53669, "end": 54642, "length": 974, - "parent_index": 3270 + "parent_index": 3271 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCallUUPS(address, bytes, bool)", - "signature": "4dc600bc", - "scope": 3163, + "signature_raw": "_upgradeToAndCallUUPS(address,bytes,bool)", + "signature": "d7a9f039", + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCallUUPS(addressnewImplementation,bytesmemorydata,boolforceCall)internal{if(StorageSlotUpgradeable.getBooleanSlot(_ROLLBACK_SLOT).value){_setImplementation(newImplementation);}else{tryIERC1822ProxiableUpgradeable(newImplementation).proxiableUUID()returns(bytes32slot){require(slot==_IMPLEMENTATION_SLOT,\"ERC1967Upgrade: unsupported proxiableUUID\");}catch{revert(\"ERC1967Upgrade: new implementation is not UUPS\");}_upgradeToAndCall(newImplementation,data,forceCall);}}" }, { - "id": 3291, + "id": 3292, "name": "_ADMIN_SLOT", "is_constant": true, "is_state_variable": true, @@ -60778,9 +61661,9 @@ "start": 54843, "end": 54949, "length": 107, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" @@ -60789,7 +61672,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3292, + "id": 3293, "node_type": 30, "src": { "line": 1541, @@ -60797,7 +61680,7 @@ "start": 54843, "end": 54849, "length": 7, - "parent_index": 3291 + "parent_index": 3292 }, "name": "bytes32", "referenced_declaration": 0, @@ -60807,7 +61690,7 @@ } }, "initial_value": { - "id": 3293, + "id": 3294, "node_type": 17, "kind": 49, "value": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", @@ -60818,7 +61701,7 @@ "start": 54883, "end": 54948, "length": 66, - "parent_index": 3291 + "parent_index": 3292 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -60826,11 +61709,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, { - "id": 3295, + "id": 3296, "node_type": 57, "src": { "line": 1546, @@ -60838,10 +61722,10 @@ "start": 55028, "end": 55087, "length": 60, - "parent_index": 3163 + "parent_index": 3164 }, "parameters": { - "id": 3296, + "id": 3297, "node_type": 43, "src": { "line": 1546, @@ -60849,11 +61733,11 @@ "start": 55028, "end": 55087, "length": 60, - "parent_index": 3295 + "parent_index": 3296 }, "parameters": [ { - "id": 3297, + "id": 3298, "node_type": 44, "src": { "line": 1546, @@ -60861,12 +61745,12 @@ "start": 55047, "end": 55067, "length": 21, - "parent_index": 3296 + "parent_index": 3297 }, - "scope": 3295, + "scope": 3296, "name": "previousAdmin", "type_name": { - "id": 3298, + "id": 3299, "node_type": 30, "src": { "line": 1546, @@ -60874,7 +61758,7 @@ "start": 55047, "end": 55053, "length": 7, - "parent_index": 3297 + "parent_index": 3298 }, "name": "address", "state_mutability": 4, @@ -60893,7 +61777,7 @@ } }, { - "id": 3299, + "id": 3300, "node_type": 44, "src": { "line": 1546, @@ -60901,12 +61785,12 @@ "start": 55070, "end": 55085, "length": 16, - "parent_index": 3296 + "parent_index": 3297 }, - "scope": 3295, + "scope": 3296, "name": "newAdmin", "type_name": { - "id": 3300, + "id": 3301, "node_type": 30, "src": { "line": 1546, @@ -60914,7 +61798,7 @@ "start": 55070, "end": 55076, "length": 7, - "parent_index": 3299 + "parent_index": 3300 }, "name": "address", "state_mutability": 4, @@ -60947,12 +61831,12 @@ "name": "AdminChanged", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263295", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263296", "type_string": "event ERC1967UpgradeUpgradeable.AdminChanged" } }, { - "id": 3302, + "id": 3303, "name": "_getAdmin", "node_type": 42, "kind": 41, @@ -60962,7 +61846,7 @@ "start": 55149, "end": 55281, "length": 133, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1551, @@ -60970,10 +61854,10 @@ "start": 55158, "end": 55166, "length": 9, - "parent_index": 3302 + "parent_index": 3303 }, "body": { - "id": 3309, + "id": 3310, "node_type": 46, "kind": 0, "src": { @@ -60982,12 +61866,12 @@ "start": 55202, "end": 55281, "length": 80, - "parent_index": 3302 + "parent_index": 3303 }, "implemented": true, "statements": [ { - "id": 3310, + "id": 3311, "node_type": 47, "src": { "line": 1552, @@ -60995,11 +61879,11 @@ "start": 55212, "end": 55275, "length": 64, - "parent_index": 3302 + "parent_index": 3303 }, - "function_return_parameters": 3302, + "function_return_parameters": 3303, "expression": { - "id": 3311, + "id": 3312, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -61011,7 +61895,7 @@ "start": 55219, "end": 55274, "length": 56, - "parent_index": 3310 + "parent_index": 3311 }, "member_location": { "line": 1552, @@ -61019,10 +61903,10 @@ "start": 55270, "end": 55274, "length": 5, - "parent_index": 3311 + "parent_index": 3312 }, "expression": { - "id": 3312, + "id": 3313, "node_type": 24, "kind": 24, "src": { @@ -61031,7 +61915,7 @@ "start": 55219, "end": 55268, "length": 50, - "parent_index": 3311 + "parent_index": 3312 }, "argument_types": [ { @@ -61041,7 +61925,7 @@ ], "arguments": [ { - "id": 3315, + "id": 3316, "node_type": 16, "src": { "line": 1552, @@ -61049,7 +61933,7 @@ "start": 55257, "end": 55267, "length": 11, - "parent_index": 3312 + "parent_index": 3313 }, "name": "_ADMIN_SLOT", "type_description": { @@ -61058,11 +61942,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { - "id": 3313, + "id": 3314, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -61074,7 +61959,7 @@ "start": 55219, "end": 55255, "length": 37, - "parent_index": 3312 + "parent_index": 3313 }, "member_location": { "line": 1552, @@ -61082,10 +61967,10 @@ "start": 55242, "end": 55255, "length": 14, - "parent_index": 3313 + "parent_index": 3314 }, "expression": { - "id": 3314, + "id": 3315, "node_type": 16, "src": { "line": 1552, @@ -61093,23 +61978,25 @@ "start": 55219, "end": 55240, "length": 22, - "parent_index": 3313 + "parent_index": 3314 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -61121,7 +62008,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value" } } ] @@ -61133,7 +62021,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3303, + "id": 3304, "node_type": 43, "src": { "line": 1551, @@ -61141,11 +62029,11 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3302 + "parent_index": 3303 }, "parameters": [ { - "id": 3304, + "id": 3305, "node_type": 44, "src": { "line": 1551, @@ -61153,12 +62041,12 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3303 + "parent_index": 3304 }, - "scope": 3302, + "scope": 3303, "name": "", "type_name": { - "id": 3305, + "id": 3306, "node_type": 30, "src": { "line": 1551, @@ -61166,7 +62054,7 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3304 + "parent_index": 3305 }, "name": "address", "state_mutability": 4, @@ -61193,7 +62081,7 @@ ] }, "return_parameters": { - "id": 3306, + "id": 3307, "node_type": 43, "src": { "line": 1551, @@ -61201,11 +62089,11 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3302 + "parent_index": 3303 }, "parameters": [ { - "id": 3307, + "id": 3308, "node_type": 44, "src": { "line": 1551, @@ -61213,12 +62101,12 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3306 + "parent_index": 3307 }, - "scope": 3302, + "scope": 3303, "name": "", "type_name": { - "id": 3308, + "id": 3309, "node_type": 30, "src": { "line": 1551, @@ -61226,7 +62114,7 @@ "start": 55193, "end": 55199, "length": 7, - "parent_index": 3307 + "parent_index": 3308 }, "name": "address", "state_mutability": 4, @@ -61254,14 +62142,15 @@ }, "signature_raw": "_getAdmin(address)", "signature": "a928dc2c", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAdmin()internalviewreturns(address){returnStorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value;}" }, { - "id": 3317, + "id": 3318, "name": "_setAdmin", "node_type": 42, "kind": 41, @@ -61271,7 +62160,7 @@ "start": 55364, "end": 55575, "length": 212, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1558, @@ -61279,10 +62168,10 @@ "start": 55373, "end": 55381, "length": 9, - "parent_index": 3317 + "parent_index": 3318 }, "body": { - "id": 3322, + "id": 3323, "node_type": 46, "kind": 0, "src": { @@ -61291,12 +62180,12 @@ "start": 55409, "end": 55575, "length": 167, - "parent_index": 3317 + "parent_index": 3318 }, "implemented": true, "statements": [ { - "id": 3323, + "id": 3324, "node_type": 24, "kind": 24, "src": { @@ -61305,7 +62194,7 @@ "start": 55419, "end": 55491, "length": 73, - "parent_index": 3322 + "parent_index": 3323 }, "argument_types": [ { @@ -61319,7 +62208,7 @@ ], "arguments": [ { - "id": 3325, + "id": 3326, "is_constant": false, "is_pure": false, "node_type": 19, @@ -61329,11 +62218,11 @@ "start": 55427, "end": 55448, "length": 22, - "parent_index": 3323 + "parent_index": 3324 }, "operator": 12, "left_expression": { - "id": 3326, + "id": 3327, "node_type": 16, "src": { "line": 1559, @@ -61341,7 +62230,7 @@ "start": 55427, "end": 55434, "length": 8, - "parent_index": 3325 + "parent_index": 3326 }, "name": "newAdmin", "type_description": { @@ -61349,11 +62238,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3326, - "is_pure": false + "referenced_declaration": 3327, + "is_pure": false, + "text": "newAdmin" }, "right_expression": { - "id": 3327, + "id": 3328, "node_type": 24, "kind": 24, "src": { @@ -61362,7 +62252,7 @@ "start": 55439, "end": 55448, "length": 10, - "parent_index": 3325 + "parent_index": 3326 }, "argument_types": [ { @@ -61372,7 +62262,7 @@ ], "arguments": [ { - "id": 3330, + "id": 3331, "node_type": 17, "kind": 49, "value": "0", @@ -61383,7 +62273,7 @@ "start": 55447, "end": 55447, "length": 1, - "parent_index": 3327 + "parent_index": 3328 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -61391,11 +62281,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 3328, + "id": 3329, "node_type": 16, "src": { "line": 1559, @@ -61403,11 +62294,11 @@ "start": 55439, "end": 55445, "length": 7, - "parent_index": 3327 + "parent_index": 3328 }, "name": "address", "type_name": { - "id": 3329, + "id": 3330, "node_type": 30, "src": { "line": 1559, @@ -61415,7 +62306,7 @@ "start": 55439, "end": 55445, "length": 7, - "parent_index": 3328 + "parent_index": 3329 }, "name": "address", "state_mutability": 4, @@ -61437,7 +62328,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -61450,7 +62342,7 @@ } }, { - "id": 3331, + "id": 3332, "node_type": 17, "kind": 50, "value": "ERC1967: new admin is the zero address", @@ -61461,7 +62353,7 @@ "start": 55451, "end": 55490, "length": 40, - "parent_index": 3323 + "parent_index": 3324 }, "type_description": { "type_identifier": "t_string_literal", @@ -61475,11 +62367,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967: new admin is the zero address\"" } ], "expression": { - "id": 3324, + "id": 3325, "node_type": 16, "src": { "line": 1559, @@ -61487,7 +62380,7 @@ "start": 55419, "end": 55425, "length": 7, - "parent_index": 3323 + "parent_index": 3324 }, "name": "require", "type_description": { @@ -61496,7 +62389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -61504,7 +62398,7 @@ } }, { - "id": 3332, + "id": 3333, "node_type": 27, "src": { "line": 1560, @@ -61512,10 +62406,10 @@ "start": 55502, "end": 55569, "length": 68, - "parent_index": 3322 + "parent_index": 3323 }, "expression": { - "id": 3333, + "id": 3334, "node_type": 27, "src": { "line": 1560, @@ -61523,11 +62417,11 @@ "start": 55502, "end": 55568, "length": 67, - "parent_index": 3332 + "parent_index": 3333 }, "operator": 11, "left_expression": { - "id": 3334, + "id": 3335, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -61539,7 +62433,7 @@ "start": 55502, "end": 55557, "length": 56, - "parent_index": 3333 + "parent_index": 3334 }, "member_location": { "line": 1560, @@ -61547,10 +62441,10 @@ "start": 55553, "end": 55557, "length": 5, - "parent_index": 3334 + "parent_index": 3335 }, "expression": { - "id": 3335, + "id": 3336, "node_type": 24, "kind": 24, "src": { @@ -61559,7 +62453,7 @@ "start": 55502, "end": 55551, "length": 50, - "parent_index": 3334 + "parent_index": 3335 }, "argument_types": [ { @@ -61569,7 +62463,7 @@ ], "arguments": [ { - "id": 3338, + "id": 3339, "node_type": 16, "src": { "line": 1560, @@ -61577,7 +62471,7 @@ "start": 55540, "end": 55550, "length": 11, - "parent_index": 3335 + "parent_index": 3336 }, "name": "_ADMIN_SLOT", "type_description": { @@ -61586,11 +62480,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { - "id": 3336, + "id": 3337, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -61602,7 +62497,7 @@ "start": 55502, "end": 55538, "length": 37, - "parent_index": 3335 + "parent_index": 3336 }, "member_location": { "line": 1560, @@ -61610,10 +62505,10 @@ "start": 55525, "end": 55538, "length": 14, - "parent_index": 3336 + "parent_index": 3337 }, "expression": { - "id": 3337, + "id": 3338, "node_type": 16, "src": { "line": 1560, @@ -61621,23 +62516,25 @@ "start": 55502, "end": 55523, "length": 22, - "parent_index": 3336 + "parent_index": 3337 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -61649,10 +62546,11 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value" }, "right_expression": { - "id": 3339, + "id": 3340, "node_type": 16, "src": { "line": 1560, @@ -61660,7 +62558,7 @@ "start": 55561, "end": 55568, "length": 8, - "parent_index": 3333 + "parent_index": 3334 }, "name": "newAdmin", "type_description": { @@ -61668,8 +62566,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3339, - "is_pure": false + "referenced_declaration": 3340, + "is_pure": false, + "text": "newAdmin" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -61679,7 +62578,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value=newAdmin;" } ] }, @@ -61690,7 +62590,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3318, + "id": 3319, "node_type": 43, "src": { "line": 1558, @@ -61698,11 +62598,11 @@ "start": 55383, "end": 55398, "length": 16, - "parent_index": 3317 + "parent_index": 3318 }, "parameters": [ { - "id": 3319, + "id": 3320, "node_type": 44, "src": { "line": 1558, @@ -61710,12 +62610,12 @@ "start": 55383, "end": 55398, "length": 16, - "parent_index": 3318 + "parent_index": 3319 }, - "scope": 3317, + "scope": 3318, "name": "newAdmin", "type_name": { - "id": 3320, + "id": 3321, "node_type": 30, "src": { "line": 1558, @@ -61723,7 +62623,7 @@ "start": 55383, "end": 55389, "length": 7, - "parent_index": 3319 + "parent_index": 3320 }, "name": "address", "state_mutability": 4, @@ -61750,7 +62650,7 @@ ] }, "return_parameters": { - "id": 3321, + "id": 3322, "node_type": 43, "src": { "line": 1558, @@ -61758,21 +62658,22 @@ "start": 55364, "end": 55575, "length": 212, - "parent_index": 3317 + "parent_index": 3318 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_setAdmin(address)", "signature": "3a74a767", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setAdmin(addressnewAdmin)private{require(newAdmin!=address(0),\"ERC1967: new admin is the zero address\");StorageSlotUpgradeable.getAddressSlot(_ADMIN_SLOT).value=newAdmin;}" }, { - "id": 3341, + "id": 3342, "name": "_changeAdmin", "node_type": 42, "kind": 41, @@ -61782,7 +62683,7 @@ "start": 55687, "end": 55821, "length": 135, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1568, @@ -61790,10 +62691,10 @@ "start": 55696, "end": 55707, "length": 12, - "parent_index": 3341 + "parent_index": 3342 }, "body": { - "id": 3346, + "id": 3347, "node_type": 46, "kind": 0, "src": { @@ -61802,12 +62703,12 @@ "start": 55736, "end": 55821, "length": 86, - "parent_index": 3341 + "parent_index": 3342 }, "implemented": true, "statements": [ { - "id": 3347, + "id": 3348, "node_type": 64, "src": { "line": 1569, @@ -61815,11 +62716,11 @@ "start": 55746, "end": 55786, "length": 41, - "parent_index": 3341 + "parent_index": 3342 }, "arguments": [ { - "id": 3348, + "id": 3349, "node_type": 24, "kind": 24, "src": { @@ -61828,12 +62729,12 @@ "start": 55764, "end": 55774, "length": 11, - "parent_index": 3347 + "parent_index": 3348 }, "argument_types": [], "arguments": [], "expression": { - "id": 3349, + "id": 3350, "node_type": 16, "src": { "line": 1569, @@ -61841,7 +62742,7 @@ "start": 55764, "end": 55772, "length": 9, - "parent_index": 3348 + "parent_index": 3349 }, "name": "_getAdmin", "type_description": { @@ -61850,7 +62751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -61858,7 +62760,7 @@ } }, { - "id": 3350, + "id": 3351, "node_type": 16, "src": { "line": 1569, @@ -61866,7 +62768,7 @@ "start": 55777, "end": 55784, "length": 8, - "parent_index": 3347 + "parent_index": 3348 }, "name": "newAdmin", "type_description": { @@ -61874,12 +62776,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3350, - "is_pure": false + "referenced_declaration": 3351, + "is_pure": false, + "text": "newAdmin" } ], "expression": { - "id": 3351, + "id": 3352, "node_type": 16, "src": { "line": 1569, @@ -61887,20 +62790,21 @@ "start": 55751, "end": 55762, "length": 12, - "parent_index": 3347 + "parent_index": 3348 }, "name": "AdminChanged", "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263295", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263296", "type_string": "event ERC1967UpgradeUpgradeable.AdminChanged" }, "overloaded_declarations": [], - "referenced_declaration": 3295, - "is_pure": false + "referenced_declaration": 3296, + "is_pure": false, + "text": "AdminChanged" } }, { - "id": 3352, + "id": 3353, "node_type": 24, "kind": 24, "src": { @@ -61909,7 +62813,7 @@ "start": 55796, "end": 55814, "length": 19, - "parent_index": 3346 + "parent_index": 3347 }, "argument_types": [ { @@ -61919,7 +62823,7 @@ ], "arguments": [ { - "id": 3354, + "id": 3355, "node_type": 16, "src": { "line": 1570, @@ -61927,7 +62831,7 @@ "start": 55806, "end": 55813, "length": 8, - "parent_index": 3352 + "parent_index": 3353 }, "name": "newAdmin", "type_description": { @@ -61935,12 +62839,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3354, - "is_pure": false + "referenced_declaration": 3355, + "is_pure": false, + "text": "newAdmin" } ], "expression": { - "id": 3353, + "id": 3354, "node_type": 16, "src": { "line": 1570, @@ -61948,7 +62853,7 @@ "start": 55796, "end": 55804, "length": 9, - "parent_index": 3352 + "parent_index": 3353 }, "name": "_setAdmin", "type_description": { @@ -61957,7 +62862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -61973,7 +62879,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3342, + "id": 3343, "node_type": 43, "src": { "line": 1568, @@ -61981,11 +62887,11 @@ "start": 55709, "end": 55724, "length": 16, - "parent_index": 3341 + "parent_index": 3342 }, "parameters": [ { - "id": 3343, + "id": 3344, "node_type": 44, "src": { "line": 1568, @@ -61993,12 +62899,12 @@ "start": 55709, "end": 55724, "length": 16, - "parent_index": 3342 + "parent_index": 3343 }, - "scope": 3341, + "scope": 3342, "name": "newAdmin", "type_name": { - "id": 3344, + "id": 3345, "node_type": 30, "src": { "line": 1568, @@ -62006,7 +62912,7 @@ "start": 55709, "end": 55715, "length": 7, - "parent_index": 3343 + "parent_index": 3344 }, "name": "address", "state_mutability": 4, @@ -62033,7 +62939,7 @@ ] }, "return_parameters": { - "id": 3345, + "id": 3346, "node_type": 43, "src": { "line": 1568, @@ -62041,21 +62947,22 @@ "start": 55687, "end": 55821, "length": 135, - "parent_index": 3341 + "parent_index": 3342 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_changeAdmin(address)", "signature": "353dfc01", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_changeAdmin(addressnewAdmin)internal{emitAdminChanged(_getAdmin(),newAdmin);_setAdmin(newAdmin);}" }, { - "id": 3356, + "id": 3357, "name": "_BEACON_SLOT", "is_constant": true, "is_state_variable": true, @@ -62066,9 +62973,9 @@ "start": 56065, "end": 56172, "length": 108, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" @@ -62077,7 +62984,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3357, + "id": 3358, "node_type": 30, "src": { "line": 1577, @@ -62085,7 +62992,7 @@ "start": 56065, "end": 56071, "length": 7, - "parent_index": 3356 + "parent_index": 3357 }, "name": "bytes32", "referenced_declaration": 0, @@ -62095,7 +63002,7 @@ } }, "initial_value": { - "id": 3358, + "id": 3359, "node_type": 17, "kind": 49, "value": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50", @@ -62106,7 +63013,7 @@ "start": 56106, "end": 56171, "length": 66, - "parent_index": 3356 + "parent_index": 3357 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -62114,11 +63021,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, { - "id": 3360, + "id": 3361, "node_type": 57, "src": { "line": 1582, @@ -62126,10 +63034,10 @@ "start": 56244, "end": 56288, "length": 45, - "parent_index": 3163 + "parent_index": 3164 }, "parameters": { - "id": 3361, + "id": 3362, "node_type": 43, "src": { "line": 1582, @@ -62137,11 +63045,11 @@ "start": 56244, "end": 56288, "length": 45, - "parent_index": 3360 + "parent_index": 3361 }, "parameters": [ { - "id": 3362, + "id": 3363, "node_type": 44, "src": { "line": 1582, @@ -62149,12 +63057,12 @@ "start": 56265, "end": 56286, "length": 22, - "parent_index": 3361 + "parent_index": 3362 }, - "scope": 3360, + "scope": 3361, "name": "beacon", "type_name": { - "id": 3363, + "id": 3364, "node_type": 30, "src": { "line": 1582, @@ -62162,7 +63070,7 @@ "start": 56265, "end": 56271, "length": 7, - "parent_index": 3362 + "parent_index": 3363 }, "name": "address", "state_mutability": 4, @@ -62192,12 +63100,12 @@ "name": "BeaconUpgraded", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263360", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263361", "type_string": "event ERC1967UpgradeUpgradeable.BeaconUpgraded" } }, { - "id": 3365, + "id": 3366, "name": "_getBeacon", "node_type": 42, "kind": 41, @@ -62207,7 +63115,7 @@ "start": 56351, "end": 56485, "length": 135, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1587, @@ -62215,10 +63123,10 @@ "start": 56360, "end": 56369, "length": 10, - "parent_index": 3365 + "parent_index": 3366 }, "body": { - "id": 3372, + "id": 3373, "node_type": 46, "kind": 0, "src": { @@ -62227,12 +63135,12 @@ "start": 56405, "end": 56485, "length": 81, - "parent_index": 3365 + "parent_index": 3366 }, "implemented": true, "statements": [ { - "id": 3373, + "id": 3374, "node_type": 47, "src": { "line": 1588, @@ -62240,11 +63148,11 @@ "start": 56415, "end": 56479, "length": 65, - "parent_index": 3365 + "parent_index": 3366 }, - "function_return_parameters": 3365, + "function_return_parameters": 3366, "expression": { - "id": 3374, + "id": 3375, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62256,7 +63164,7 @@ "start": 56422, "end": 56478, "length": 57, - "parent_index": 3373 + "parent_index": 3374 }, "member_location": { "line": 1588, @@ -62264,10 +63172,10 @@ "start": 56474, "end": 56478, "length": 5, - "parent_index": 3374 + "parent_index": 3375 }, "expression": { - "id": 3375, + "id": 3376, "node_type": 24, "kind": 24, "src": { @@ -62276,7 +63184,7 @@ "start": 56422, "end": 56472, "length": 51, - "parent_index": 3374 + "parent_index": 3375 }, "argument_types": [ { @@ -62286,7 +63194,7 @@ ], "arguments": [ { - "id": 3378, + "id": 3379, "node_type": 16, "src": { "line": 1588, @@ -62294,7 +63202,7 @@ "start": 56460, "end": 56471, "length": 12, - "parent_index": 3375 + "parent_index": 3376 }, "name": "_BEACON_SLOT", "type_description": { @@ -62303,11 +63211,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { - "id": 3376, + "id": 3377, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62319,7 +63228,7 @@ "start": 56422, "end": 56458, "length": 37, - "parent_index": 3375 + "parent_index": 3376 }, "member_location": { "line": 1588, @@ -62327,10 +63236,10 @@ "start": 56445, "end": 56458, "length": 14, - "parent_index": 3376 + "parent_index": 3377 }, "expression": { - "id": 3377, + "id": 3378, "node_type": 16, "src": { "line": 1588, @@ -62338,23 +63247,25 @@ "start": 56422, "end": 56443, "length": 22, - "parent_index": 3376 + "parent_index": 3377 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -62366,7 +63277,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value" } } ] @@ -62378,7 +63290,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3366, + "id": 3367, "node_type": 43, "src": { "line": 1587, @@ -62386,11 +63298,11 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3365 + "parent_index": 3366 }, "parameters": [ { - "id": 3367, + "id": 3368, "node_type": 44, "src": { "line": 1587, @@ -62398,12 +63310,12 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3366 + "parent_index": 3367 }, - "scope": 3365, + "scope": 3366, "name": "", "type_name": { - "id": 3368, + "id": 3369, "node_type": 30, "src": { "line": 1587, @@ -62411,7 +63323,7 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3367 + "parent_index": 3368 }, "name": "address", "state_mutability": 4, @@ -62438,7 +63350,7 @@ ] }, "return_parameters": { - "id": 3369, + "id": 3370, "node_type": 43, "src": { "line": 1587, @@ -62446,11 +63358,11 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3365 + "parent_index": 3366 }, "parameters": [ { - "id": 3370, + "id": 3371, "node_type": 44, "src": { "line": 1587, @@ -62458,12 +63370,12 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3369 + "parent_index": 3370 }, - "scope": 3365, + "scope": 3366, "name": "", "type_name": { - "id": 3371, + "id": 3372, "node_type": 30, "src": { "line": 1587, @@ -62471,7 +63383,7 @@ "start": 56396, "end": 56402, "length": 7, - "parent_index": 3370 + "parent_index": 3371 }, "name": "address", "state_mutability": 4, @@ -62499,14 +63411,15 @@ }, "signature_raw": "_getBeacon(address)", "signature": "8a03ba6e", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getBeacon()internalviewreturns(address){returnStorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value;}" }, { - "id": 3380, + "id": 3381, "name": "_setBeacon", "node_type": 42, "kind": 41, @@ -62516,7 +63429,7 @@ "start": 56568, "end": 56982, "length": 415, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1594, @@ -62524,10 +63437,10 @@ "start": 56577, "end": 56586, "length": 10, - "parent_index": 3380 + "parent_index": 3381 }, "body": { - "id": 3385, + "id": 3386, "node_type": 46, "kind": 0, "src": { @@ -62536,12 +63449,12 @@ "start": 56615, "end": 56982, "length": 368, - "parent_index": 3380 + "parent_index": 3381 }, "implemented": true, "statements": [ { - "id": 3386, + "id": 3387, "node_type": 24, "kind": 24, "src": { @@ -62550,7 +63463,7 @@ "start": 56625, "end": 56714, "length": 90, - "parent_index": 3385 + "parent_index": 3386 }, "argument_types": [ { @@ -62564,7 +63477,7 @@ ], "arguments": [ { - "id": 3388, + "id": 3389, "node_type": 24, "kind": 24, "src": { @@ -62573,7 +63486,7 @@ "start": 56633, "end": 56672, "length": 40, - "parent_index": 3386 + "parent_index": 3387 }, "argument_types": [ { @@ -62583,7 +63496,7 @@ ], "arguments": [ { - "id": 3391, + "id": 3392, "node_type": 16, "src": { "line": 1595, @@ -62591,7 +63504,7 @@ "start": 56663, "end": 56671, "length": 9, - "parent_index": 3388 + "parent_index": 3389 }, "name": "newBeacon", "type_description": { @@ -62599,12 +63512,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3391, - "is_pure": false + "referenced_declaration": 3392, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3389, + "id": 3390, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62616,7 +63530,7 @@ "start": 56633, "end": 56661, "length": 29, - "parent_index": 3388 + "parent_index": 3389 }, "member_location": { "line": 1595, @@ -62624,10 +63538,10 @@ "start": 56652, "end": 56661, "length": 10, - "parent_index": 3389 + "parent_index": 3390 }, "expression": { - "id": 3390, + "id": 3391, "node_type": 16, "src": { "line": 1595, @@ -62635,7 +63549,7 @@ "start": 56633, "end": 56650, "length": 18, - "parent_index": 3389 + "parent_index": 3390 }, "name": "AddressUpgradeable", "type_description": { @@ -62644,14 +63558,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -62659,7 +63575,7 @@ } }, { - "id": 3392, + "id": 3393, "node_type": 17, "kind": 50, "value": "ERC1967: new beacon is not a contract", @@ -62670,7 +63586,7 @@ "start": 56675, "end": 56713, "length": 39, - "parent_index": 3386 + "parent_index": 3387 }, "type_description": { "type_identifier": "t_string_literal", @@ -62684,11 +63600,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new beacon is not a contract\"" } ], "expression": { - "id": 3387, + "id": 3388, "node_type": 16, "src": { "line": 1595, @@ -62696,7 +63613,7 @@ "start": 56625, "end": 56631, "length": 7, - "parent_index": 3386 + "parent_index": 3387 }, "name": "require", "type_description": { @@ -62705,7 +63622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -62713,7 +63631,7 @@ } }, { - "id": 3393, + "id": 3394, "node_type": 24, "kind": 24, "src": { @@ -62722,7 +63640,7 @@ "start": 56725, "end": 56896, "length": 172, - "parent_index": 3385 + "parent_index": 3386 }, "argument_types": [ { @@ -62736,7 +63654,7 @@ ], "arguments": [ { - "id": 3395, + "id": 3396, "node_type": 24, "kind": 24, "src": { @@ -62745,7 +63663,7 @@ "start": 56746, "end": 56822, "length": 77, - "parent_index": 3393 + "parent_index": 3394 }, "argument_types": [ { @@ -62755,7 +63673,7 @@ ], "arguments": [ { - "id": 3398, + "id": 3399, "node_type": 24, "kind": 24, "src": { @@ -62764,12 +63682,12 @@ "start": 56776, "end": 56821, "length": 46, - "parent_index": 3395 + "parent_index": 3396 }, "argument_types": [], "arguments": [], "expression": { - "id": 3399, + "id": 3400, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62781,7 +63699,7 @@ "start": 56776, "end": 56819, "length": 44, - "parent_index": 3398 + "parent_index": 3399 }, "member_location": { "line": 1597, @@ -62789,10 +63707,10 @@ "start": 56806, "end": 56819, "length": 14, - "parent_index": 3399 + "parent_index": 3400 }, "expression": { - "id": 3400, + "id": 3401, "node_type": 24, "kind": 24, "src": { @@ -62801,7 +63719,7 @@ "start": 56776, "end": 56804, "length": 29, - "parent_index": 3399 + "parent_index": 3400 }, "argument_types": [ { @@ -62811,7 +63729,7 @@ ], "arguments": [ { - "id": 3402, + "id": 3403, "node_type": 16, "src": { "line": 1597, @@ -62819,7 +63737,7 @@ "start": 56795, "end": 56803, "length": 9, - "parent_index": 3400 + "parent_index": 3401 }, "name": "newBeacon", "type_description": { @@ -62827,12 +63745,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3402, - "is_pure": false + "referenced_declaration": 3403, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3401, + "id": 3402, "node_type": 16, "src": { "line": 1597, @@ -62840,7 +63759,7 @@ "start": 56776, "end": 56793, "length": 18, - "parent_index": 3400 + "parent_index": 3401 }, "name": "IBeaconUpgradeable", "type_description": { @@ -62849,7 +63768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeaconUpgradeable" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -62861,7 +63781,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeaconUpgradeable(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -62870,7 +63791,7 @@ } ], "expression": { - "id": 3396, + "id": 3397, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62882,7 +63803,7 @@ "start": 56746, "end": 56774, "length": 29, - "parent_index": 3395 + "parent_index": 3396 }, "member_location": { "line": 1597, @@ -62890,10 +63811,10 @@ "start": 56765, "end": 56774, "length": 10, - "parent_index": 3396 + "parent_index": 3397 }, "expression": { - "id": 3397, + "id": 3398, "node_type": 16, "src": { "line": 1597, @@ -62901,7 +63822,7 @@ "start": 56746, "end": 56763, "length": 18, - "parent_index": 3396 + "parent_index": 3397 }, "name": "AddressUpgradeable", "type_description": { @@ -62910,14 +63831,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -62925,7 +63848,7 @@ } }, { - "id": 3403, + "id": 3404, "node_type": 17, "kind": 50, "value": "ERC1967: beacon implementation is not a contract", @@ -62936,7 +63859,7 @@ "start": 56837, "end": 56886, "length": 50, - "parent_index": 3393 + "parent_index": 3394 }, "type_description": { "type_identifier": "t_string_literal", @@ -62950,11 +63873,12 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "\"ERC1967: beacon implementation is not a contract\"" } ], "expression": { - "id": 3394, + "id": 3395, "node_type": 16, "src": { "line": 1596, @@ -62962,7 +63886,7 @@ "start": 56725, "end": 56731, "length": 7, - "parent_index": 3393 + "parent_index": 3394 }, "name": "require", "type_description": { @@ -62971,7 +63895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_literal$", @@ -62979,7 +63904,7 @@ } }, { - "id": 3404, + "id": 3405, "node_type": 27, "src": { "line": 1600, @@ -62987,10 +63912,10 @@ "start": 56907, "end": 56976, "length": 70, - "parent_index": 3385 + "parent_index": 3386 }, "expression": { - "id": 3405, + "id": 3406, "node_type": 27, "src": { "line": 1600, @@ -62998,11 +63923,11 @@ "start": 56907, "end": 56975, "length": 69, - "parent_index": 3404 + "parent_index": 3405 }, "operator": 11, "left_expression": { - "id": 3406, + "id": 3407, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63014,7 +63939,7 @@ "start": 56907, "end": 56963, "length": 57, - "parent_index": 3405 + "parent_index": 3406 }, "member_location": { "line": 1600, @@ -63022,10 +63947,10 @@ "start": 56959, "end": 56963, "length": 5, - "parent_index": 3406 + "parent_index": 3407 }, "expression": { - "id": 3407, + "id": 3408, "node_type": 24, "kind": 24, "src": { @@ -63034,7 +63959,7 @@ "start": 56907, "end": 56957, "length": 51, - "parent_index": 3406 + "parent_index": 3407 }, "argument_types": [ { @@ -63044,7 +63969,7 @@ ], "arguments": [ { - "id": 3410, + "id": 3411, "node_type": 16, "src": { "line": 1600, @@ -63052,7 +63977,7 @@ "start": 56945, "end": 56956, "length": 12, - "parent_index": 3407 + "parent_index": 3408 }, "name": "_BEACON_SLOT", "type_description": { @@ -63061,11 +63986,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { - "id": 3408, + "id": 3409, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63077,7 +64003,7 @@ "start": 56907, "end": 56943, "length": 37, - "parent_index": 3407 + "parent_index": 3408 }, "member_location": { "line": 1600, @@ -63085,10 +64011,10 @@ "start": 56930, "end": 56943, "length": 14, - "parent_index": 3408 + "parent_index": 3409 }, "expression": { - "id": 3409, + "id": 3410, "node_type": 16, "src": { "line": 1600, @@ -63096,23 +64022,25 @@ "start": 56907, "end": 56928, "length": 22, - "parent_index": 3408 + "parent_index": 3409 }, "name": "StorageSlotUpgradeable", "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" }, "overloaded_declarations": [], - "referenced_declaration": 3006, - "is_pure": false + "referenced_declaration": 3007, + "is_pure": false, + "text": "StorageSlotUpgradeable" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_StorageSlotUpgradeable_$3006", + "type_identifier": "t_contract$_StorageSlotUpgradeable_$3007", "type_string": "contract StorageSlotUpgradeable" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -63124,10 +64052,11 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value" }, "right_expression": { - "id": 3411, + "id": 3412, "node_type": 16, "src": { "line": 1600, @@ -63135,7 +64064,7 @@ "start": 56967, "end": 56975, "length": 9, - "parent_index": 3405 + "parent_index": 3406 }, "name": "newBeacon", "type_description": { @@ -63143,8 +64072,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3411, - "is_pure": false + "referenced_declaration": 3412, + "is_pure": false, + "text": "newBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -63154,7 +64084,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value=newBeacon;" } ] }, @@ -63165,7 +64096,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3381, + "id": 3382, "node_type": 43, "src": { "line": 1594, @@ -63173,11 +64104,11 @@ "start": 56588, "end": 56604, "length": 17, - "parent_index": 3380 + "parent_index": 3381 }, "parameters": [ { - "id": 3382, + "id": 3383, "node_type": 44, "src": { "line": 1594, @@ -63185,12 +64116,12 @@ "start": 56588, "end": 56604, "length": 17, - "parent_index": 3381 + "parent_index": 3382 }, - "scope": 3380, + "scope": 3381, "name": "newBeacon", "type_name": { - "id": 3383, + "id": 3384, "node_type": 30, "src": { "line": 1594, @@ -63198,7 +64129,7 @@ "start": 56588, "end": 56594, "length": 7, - "parent_index": 3382 + "parent_index": 3383 }, "name": "address", "state_mutability": 4, @@ -63225,7 +64156,7 @@ ] }, "return_parameters": { - "id": 3384, + "id": 3385, "node_type": 43, "src": { "line": 1594, @@ -63233,21 +64164,22 @@ "start": 56568, "end": 56982, "length": 415, - "parent_index": 3380 + "parent_index": 3381 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_setBeacon(address)", "signature": "073d36b4", - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setBeacon(addressnewBeacon)private{require(AddressUpgradeable.isContract(newBeacon),\"ERC1967: new beacon is not a contract\");require(AddressUpgradeable.isContract(IBeaconUpgradeable(newBeacon).implementation()),\"ERC1967: beacon implementation is not a contract\");StorageSlotUpgradeable.getAddressSlot(_BEACON_SLOT).value=newBeacon;}" }, { - "id": 3413, + "id": 3414, "name": "_upgradeBeaconToAndCall", "node_type": 42, "kind": 41, @@ -63257,7 +64189,7 @@ "start": 57286, "end": 57632, "length": 347, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1609, @@ -63265,10 +64197,10 @@ "start": 57295, "end": 57317, "length": 23, - "parent_index": 3413 + "parent_index": 3414 }, "body": { - "id": 3422, + "id": 3423, "node_type": 46, "kind": 0, "src": { @@ -63277,12 +64209,12 @@ "start": 57412, "end": 57632, "length": 221, - "parent_index": 3413 + "parent_index": 3414 }, "implemented": true, "statements": [ { - "id": 3423, + "id": 3424, "node_type": 24, "kind": 24, "src": { @@ -63291,7 +64223,7 @@ "start": 57422, "end": 57442, "length": 21, - "parent_index": 3422 + "parent_index": 3423 }, "argument_types": [ { @@ -63301,7 +64233,7 @@ ], "arguments": [ { - "id": 3425, + "id": 3426, "node_type": 16, "src": { "line": 1614, @@ -63309,7 +64241,7 @@ "start": 57433, "end": 57441, "length": 9, - "parent_index": 3423 + "parent_index": 3424 }, "name": "newBeacon", "type_description": { @@ -63317,12 +64249,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3425, - "is_pure": false + "referenced_declaration": 3426, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3424, + "id": 3425, "node_type": 16, "src": { "line": 1614, @@ -63330,7 +64263,7 @@ "start": 57422, "end": 57431, "length": 10, - "parent_index": 3423 + "parent_index": 3424 }, "name": "_setBeacon", "type_description": { @@ -63339,7 +64272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -63347,7 +64281,7 @@ } }, { - "id": 3426, + "id": 3427, "node_type": 64, "src": { "line": 1615, @@ -63355,11 +64289,11 @@ "start": 57453, "end": 57483, "length": 31, - "parent_index": 3413 + "parent_index": 3414 }, "arguments": [ { - "id": 3427, + "id": 3428, "node_type": 16, "src": { "line": 1615, @@ -63367,7 +64301,7 @@ "start": 57473, "end": 57481, "length": 9, - "parent_index": 3426 + "parent_index": 3427 }, "name": "newBeacon", "type_description": { @@ -63375,12 +64309,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3427, - "is_pure": false + "referenced_declaration": 3428, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3428, + "id": 3429, "node_type": 16, "src": { "line": 1615, @@ -63388,20 +64323,21 @@ "start": 57458, "end": 57471, "length": 14, - "parent_index": 3426 + "parent_index": 3427 }, "name": "BeaconUpgraded", "type_description": { - "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263360", + "type_identifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263361", "type_string": "event ERC1967UpgradeUpgradeable.BeaconUpgraded" }, "overloaded_declarations": [], - "referenced_declaration": 3360, - "is_pure": false + "referenced_declaration": 3361, + "is_pure": false, + "text": "BeaconUpgraded" } }, { - "id": 3429, + "id": 3430, "node_type": 48, "src": { "line": 1616, @@ -63409,10 +64345,10 @@ "start": 57493, "end": 57626, "length": 134, - "parent_index": 3422 + "parent_index": 3423 }, "condition": { - "id": 3430, + "id": 3431, "is_constant": false, "is_pure": false, "node_type": 19, @@ -63422,11 +64358,11 @@ "start": 57497, "end": 57524, "length": 28, - "parent_index": 3429 + "parent_index": 3430 }, "operator": 33, "left_expression": { - "id": 3431, + "id": 3432, "is_constant": false, "is_pure": false, "node_type": 19, @@ -63436,11 +64372,11 @@ "start": 57497, "end": 57511, "length": 15, - "parent_index": 3430 + "parent_index": 3431 }, "operator": 7, "left_expression": { - "id": 3432, + "id": 3433, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63452,7 +64388,7 @@ "start": 57497, "end": 57507, "length": 11, - "parent_index": 3431 + "parent_index": 3432 }, "member_location": { "line": 1616, @@ -63460,10 +64396,10 @@ "start": 57502, "end": 57507, "length": 6, - "parent_index": 3432 + "parent_index": 3433 }, "expression": { - "id": 3433, + "id": 3434, "node_type": 16, "src": { "line": 1616, @@ -63471,7 +64407,7 @@ "start": 57497, "end": 57500, "length": 4, - "parent_index": 3432 + "parent_index": 3433 }, "name": "data", "type_description": { @@ -63479,18 +64415,20 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3433, - "is_pure": false + "referenced_declaration": 3434, + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { - "id": 3434, + "id": 3435, "node_type": 17, "kind": 49, "value": "0", @@ -63501,7 +64439,7 @@ "start": 57511, "end": 57511, "length": 1, - "parent_index": 3431 + "parent_index": 3432 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -63509,7 +64447,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -63517,7 +64456,7 @@ } }, "right_expression": { - "id": 3435, + "id": 3436, "node_type": 16, "src": { "line": 1616, @@ -63525,7 +64464,7 @@ "start": 57516, "end": 57524, "length": 9, - "parent_index": 3430 + "parent_index": 3431 }, "name": "forceCall", "type_description": { @@ -63533,8 +64472,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3435, - "is_pure": false + "referenced_declaration": 3436, + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -63542,7 +64482,7 @@ } }, "body": { - "id": 3436, + "id": 3437, "node_type": 46, "kind": 0, "src": { @@ -63551,12 +64491,12 @@ "start": 57527, "end": 57626, "length": 100, - "parent_index": 3413 + "parent_index": 3414 }, "implemented": true, "statements": [ { - "id": 3437, + "id": 3438, "node_type": 24, "kind": 24, "src": { @@ -63565,7 +64505,7 @@ "start": 57541, "end": 57615, "length": 75, - "parent_index": 3436 + "parent_index": 3437 }, "argument_types": [ { @@ -63579,7 +64519,7 @@ ], "arguments": [ { - "id": 3439, + "id": 3440, "node_type": 24, "kind": 24, "src": { @@ -63588,12 +64528,12 @@ "start": 57563, "end": 57608, "length": 46, - "parent_index": 3437 + "parent_index": 3438 }, "argument_types": [], "arguments": [], "expression": { - "id": 3440, + "id": 3441, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63605,7 +64545,7 @@ "start": 57563, "end": 57606, "length": 44, - "parent_index": 3439 + "parent_index": 3440 }, "member_location": { "line": 1617, @@ -63613,10 +64553,10 @@ "start": 57593, "end": 57606, "length": 14, - "parent_index": 3440 + "parent_index": 3441 }, "expression": { - "id": 3441, + "id": 3442, "node_type": 24, "kind": 24, "src": { @@ -63625,7 +64565,7 @@ "start": 57563, "end": 57591, "length": 29, - "parent_index": 3440 + "parent_index": 3441 }, "argument_types": [ { @@ -63635,7 +64575,7 @@ ], "arguments": [ { - "id": 3443, + "id": 3444, "node_type": 16, "src": { "line": 1617, @@ -63643,7 +64583,7 @@ "start": 57582, "end": 57590, "length": 9, - "parent_index": 3441 + "parent_index": 3442 }, "name": "newBeacon", "type_description": { @@ -63651,12 +64591,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3443, - "is_pure": false + "referenced_declaration": 3444, + "is_pure": false, + "text": "newBeacon" } ], "expression": { - "id": 3442, + "id": 3443, "node_type": 16, "src": { "line": 1617, @@ -63664,7 +64605,7 @@ "start": 57563, "end": 57580, "length": 18, - "parent_index": 3441 + "parent_index": 3442 }, "name": "IBeaconUpgradeable", "type_description": { @@ -63673,7 +64614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeaconUpgradeable" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -63685,7 +64627,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeaconUpgradeable(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -63693,7 +64636,7 @@ } }, { - "id": 3444, + "id": 3445, "node_type": 16, "src": { "line": 1617, @@ -63701,7 +64644,7 @@ "start": 57611, "end": 57614, "length": 4, - "parent_index": 3437 + "parent_index": 3438 }, "name": "data", "type_description": { @@ -63709,18 +64652,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3444, + "referenced_declaration": 3445, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "data" } ], "expression": { - "id": 3438, + "id": 3439, "node_type": 16, "src": { "line": 1617, @@ -63728,7 +64672,7 @@ "start": 57541, "end": 57561, "length": 21, - "parent_index": 3437 + "parent_index": 3438 }, "name": "_functionDelegateCall", "type_description": { @@ -63737,7 +64681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes$", @@ -63756,7 +64701,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3414, + "id": 3415, "node_type": 43, "src": { "line": 1610, @@ -63764,11 +64709,11 @@ "start": 57328, "end": 57395, "length": 68, - "parent_index": 3413 + "parent_index": 3414 }, "parameters": [ { - "id": 3415, + "id": 3416, "node_type": 44, "src": { "line": 1610, @@ -63776,12 +64721,12 @@ "start": 57328, "end": 57344, "length": 17, - "parent_index": 3414 + "parent_index": 3415 }, - "scope": 3413, + "scope": 3414, "name": "newBeacon", "type_name": { - "id": 3416, + "id": 3417, "node_type": 30, "src": { "line": 1610, @@ -63789,7 +64734,7 @@ "start": 57328, "end": 57334, "length": 7, - "parent_index": 3415 + "parent_index": 3416 }, "name": "address", "state_mutability": 4, @@ -63808,7 +64753,7 @@ } }, { - "id": 3417, + "id": 3418, "node_type": 44, "src": { "line": 1611, @@ -63816,12 +64761,12 @@ "start": 57355, "end": 57371, "length": 17, - "parent_index": 3414 + "parent_index": 3415 }, - "scope": 3413, + "scope": 3414, "name": "data", "type_name": { - "id": 3418, + "id": 3419, "node_type": 30, "src": { "line": 1611, @@ -63829,7 +64774,7 @@ "start": 57355, "end": 57359, "length": 5, - "parent_index": 3417 + "parent_index": 3418 }, "name": "bytes", "referenced_declaration": 0, @@ -63847,7 +64792,7 @@ } }, { - "id": 3419, + "id": 3420, "node_type": 44, "src": { "line": 1612, @@ -63855,12 +64800,12 @@ "start": 57382, "end": 57395, "length": 14, - "parent_index": 3414 + "parent_index": 3415 }, - "scope": 3413, + "scope": 3414, "name": "forceCall", "type_name": { - "id": 3420, + "id": 3421, "node_type": 30, "src": { "line": 1612, @@ -63868,7 +64813,7 @@ "start": 57382, "end": 57385, "length": 4, - "parent_index": 3419 + "parent_index": 3420 }, "name": "bool", "referenced_declaration": 0, @@ -63902,7 +64847,7 @@ ] }, "return_parameters": { - "id": 3421, + "id": 3422, "node_type": 43, "src": { "line": 1609, @@ -63910,21 +64855,22 @@ "start": 57286, "end": 57632, "length": 347, - "parent_index": 3413 + "parent_index": 3414 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeBeaconToAndCall(address, bytes, bool)", - "signature": "01ace874", - "scope": 3163, + "signature_raw": "_upgradeBeaconToAndCall(address,bytes,bool)", + "signature": "9ba186fe", + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeBeaconToAndCall(addressnewBeacon,bytesmemorydata,boolforceCall)internal{_setBeacon(newBeacon);emitBeaconUpgraded(newBeacon);if(data.length\u003e0||forceCall){_functionDelegateCall(IBeaconUpgradeable(newBeacon).implementation(),data);}}" }, { - "id": 3446, + "id": 3447, "name": "_functionDelegateCall", "node_type": 42, "kind": 41, @@ -63934,7 +64880,7 @@ "start": 57819, "end": 58273, "length": 455, - "parent_index": 3163 + "parent_index": 3164 }, "name_location": { "line": 1627, @@ -63942,10 +64888,10 @@ "start": 57828, "end": 57848, "length": 21, - "parent_index": 3446 + "parent_index": 3447 }, "body": { - "id": 3455, + "id": 3456, "node_type": 46, "kind": 0, "src": { @@ -63954,12 +64900,12 @@ "start": 57916, "end": 58273, "length": 358, - "parent_index": 3446 + "parent_index": 3447 }, "implemented": true, "statements": [ { - "id": 3456, + "id": 3457, "node_type": 24, "kind": 24, "src": { @@ -63968,7 +64914,7 @@ "start": 57926, "end": 58013, "length": 88, - "parent_index": 3455 + "parent_index": 3456 }, "argument_types": [ { @@ -63982,7 +64928,7 @@ ], "arguments": [ { - "id": 3458, + "id": 3459, "node_type": 24, "kind": 24, "src": { @@ -63991,7 +64937,7 @@ "start": 57934, "end": 57970, "length": 37, - "parent_index": 3456 + "parent_index": 3457 }, "argument_types": [ { @@ -64001,7 +64947,7 @@ ], "arguments": [ { - "id": 3461, + "id": 3462, "node_type": 16, "src": { "line": 1628, @@ -64009,7 +64955,7 @@ "start": 57964, "end": 57969, "length": 6, - "parent_index": 3458 + "parent_index": 3459 }, "name": "target", "type_description": { @@ -64017,12 +64963,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3461, - "is_pure": false + "referenced_declaration": 3462, + "is_pure": false, + "text": "target" } ], "expression": { - "id": 3459, + "id": 3460, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -64034,7 +64981,7 @@ "start": 57934, "end": 57962, "length": 29, - "parent_index": 3458 + "parent_index": 3459 }, "member_location": { "line": 1628, @@ -64042,10 +64989,10 @@ "start": 57953, "end": 57962, "length": 10, - "parent_index": 3459 + "parent_index": 3460 }, "expression": { - "id": 3460, + "id": 3461, "node_type": 16, "src": { "line": 1628, @@ -64053,7 +65000,7 @@ "start": 57934, "end": 57951, "length": 18, - "parent_index": 3459 + "parent_index": 3460 }, "name": "AddressUpgradeable", "type_description": { @@ -64062,14 +65009,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -64077,7 +65026,7 @@ } }, { - "id": 3462, + "id": 3463, "node_type": 17, "kind": 50, "value": "Address: delegate call to non-contract", @@ -64088,7 +65037,7 @@ "start": 57973, "end": 58012, "length": 40, - "parent_index": 3456 + "parent_index": 3457 }, "type_description": { "type_identifier": "t_string_literal", @@ -64102,11 +65051,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { - "id": 3457, + "id": 3458, "node_type": 16, "src": { "line": 1628, @@ -64114,7 +65064,7 @@ "start": 57926, "end": 57932, "length": 7, - "parent_index": 3456 + "parent_index": 3457 }, "name": "require", "type_description": { @@ -64123,7 +65073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -64131,7 +65082,7 @@ } }, { - "id": 3463, + "id": 3464, "node_type": 44, "src": { "line": 1631, @@ -64139,26 +65090,26 @@ "start": 58084, "end": 58151, "length": 68, - "parent_index": 3455 + "parent_index": 3456 }, "assignments": [ - 3464, - 3466 + 3465, + 3467 ], "declarations": [ { - "id": 3464, + "id": 3465, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 3455, + "scope": 3456, "src": { "line": 1631, "column": 9, "start": 58085, "end": 58096, "length": 12, - "parent_index": 3463 + "parent_index": 3464 }, "name_location": { "line": 1631, @@ -64166,12 +65117,12 @@ "start": 58090, "end": 58096, "length": 7, - "parent_index": 3464 + "parent_index": 3465 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3465, + "id": 3466, "node_type": 30, "src": { "line": 1631, @@ -64179,7 +65130,7 @@ "start": 58085, "end": 58088, "length": 4, - "parent_index": 3464 + "parent_index": 3465 }, "name": "bool", "referenced_declaration": 0, @@ -64191,18 +65142,18 @@ "visibility": 1 }, { - "id": 3466, + "id": 3467, "state_mutability": 1, "name": "returndata", "node_type": 44, - "scope": 3455, + "scope": 3456, "src": { "line": 1631, "column": 23, "start": 58099, "end": 58121, "length": 23, - "parent_index": 3463 + "parent_index": 3464 }, "name_location": { "line": 1631, @@ -64210,12 +65161,12 @@ "start": 58112, "end": 58121, "length": 10, - "parent_index": 3466 + "parent_index": 3467 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 3467, + "id": 3468, "node_type": 30, "src": { "line": 1631, @@ -64223,7 +65174,7 @@ "start": 58099, "end": 58103, "length": 5, - "parent_index": 3466 + "parent_index": 3467 }, "name": "bytes", "referenced_declaration": 0, @@ -64236,7 +65187,7 @@ } ], "initial_value": { - "id": 3468, + "id": 3469, "node_type": 24, "kind": 24, "src": { @@ -64245,7 +65196,7 @@ "start": 58126, "end": 58150, "length": 25, - "parent_index": 3463 + "parent_index": 3464 }, "argument_types": [ { @@ -64255,7 +65206,7 @@ ], "arguments": [ { - "id": 3471, + "id": 3472, "node_type": 16, "src": { "line": 1631, @@ -64263,7 +65214,7 @@ "start": 58146, "end": 58149, "length": 4, - "parent_index": 3468 + "parent_index": 3469 }, "name": "data", "type_description": { @@ -64271,12 +65222,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3471, - "is_pure": false + "referenced_declaration": 3472, + "is_pure": false, + "text": "data" } ], "expression": { - "id": 3469, + "id": 3470, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -64288,7 +65240,7 @@ "start": 58126, "end": 58144, "length": 19, - "parent_index": 3468 + "parent_index": 3469 }, "member_location": { "line": 1631, @@ -64296,10 +65248,10 @@ "start": 58133, "end": 58144, "length": 12, - "parent_index": 3469 + "parent_index": 3470 }, "expression": { - "id": 3470, + "id": 3471, "node_type": 16, "src": { "line": 1631, @@ -64307,7 +65259,7 @@ "start": 58126, "end": 58131, "length": 6, - "parent_index": 3469 + "parent_index": 3470 }, "name": "target", "type_description": { @@ -64315,15 +65267,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3470, - "is_pure": false + "referenced_declaration": 3471, + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -64332,7 +65286,7 @@ } }, { - "id": 3472, + "id": 3473, "node_type": 47, "src": { "line": 1632, @@ -64340,11 +65294,11 @@ "start": 58161, "end": 58267, "length": 107, - "parent_index": 3446 + "parent_index": 3447 }, - "function_return_parameters": 3446, + "function_return_parameters": 3447, "expression": { - "id": 3473, + "id": 3474, "node_type": 24, "kind": 24, "src": { @@ -64353,7 +65307,7 @@ "start": 58168, "end": 58266, "length": 99, - "parent_index": 3472 + "parent_index": 3473 }, "argument_types": [ { @@ -64371,7 +65325,7 @@ ], "arguments": [ { - "id": 3476, + "id": 3477, "node_type": 16, "src": { "line": 1632, @@ -64379,7 +65333,7 @@ "start": 58204, "end": 58210, "length": 7, - "parent_index": 3473 + "parent_index": 3474 }, "name": "success", "type_description": { @@ -64387,11 +65341,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3463, - "is_pure": false + "referenced_declaration": 3464, + "is_pure": false, + "text": "success" }, { - "id": 3477, + "id": 3478, "node_type": 16, "src": { "line": 1632, @@ -64399,7 +65354,7 @@ "start": 58213, "end": 58222, "length": 10, - "parent_index": 3473 + "parent_index": 3474 }, "name": "returndata", "type_description": { @@ -64407,17 +65362,18 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3463, + "referenced_declaration": 3464, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { - "id": 3478, + "id": 3479, "node_type": 17, "kind": 50, "value": "Address: low-level delegate call failed", @@ -64428,7 +65384,7 @@ "start": 58225, "end": 58265, "length": 41, - "parent_index": 3473 + "parent_index": 3474 }, "type_description": { "type_identifier": "t_string_literal", @@ -64446,11 +65402,12 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { - "id": 3474, + "id": 3475, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -64462,7 +65419,7 @@ "start": 58168, "end": 58202, "length": 35, - "parent_index": 3473 + "parent_index": 3474 }, "member_location": { "line": 1632, @@ -64470,10 +65427,10 @@ "start": 58187, "end": 58202, "length": 16, - "parent_index": 3474 + "parent_index": 3475 }, "expression": { - "id": 3475, + "id": 3476, "node_type": 16, "src": { "line": 1632, @@ -64481,7 +65438,7 @@ "start": 58168, "end": 58185, "length": 18, - "parent_index": 3474 + "parent_index": 3475 }, "name": "AddressUpgradeable", "type_description": { @@ -64490,14 +65447,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "verifyCallResult", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$1659", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string_literal$", @@ -64514,7 +65473,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3447, + "id": 3448, "node_type": 43, "src": { "line": 1627, @@ -64522,11 +65481,11 @@ "start": 57850, "end": 57882, "length": 33, - "parent_index": 3446 + "parent_index": 3447 }, "parameters": [ { - "id": 3448, + "id": 3449, "node_type": 44, "src": { "line": 1627, @@ -64534,12 +65493,12 @@ "start": 57850, "end": 57863, "length": 14, - "parent_index": 3447 + "parent_index": 3448 }, - "scope": 3446, + "scope": 3447, "name": "target", "type_name": { - "id": 3449, + "id": 3450, "node_type": 30, "src": { "line": 1627, @@ -64547,7 +65506,7 @@ "start": 57850, "end": 57856, "length": 7, - "parent_index": 3448 + "parent_index": 3449 }, "name": "address", "state_mutability": 4, @@ -64566,7 +65525,7 @@ } }, { - "id": 3450, + "id": 3451, "node_type": 44, "src": { "line": 1627, @@ -64574,12 +65533,12 @@ "start": 57866, "end": 57882, "length": 17, - "parent_index": 3447 + "parent_index": 3448 }, - "scope": 3446, + "scope": 3447, "name": "data", "type_name": { - "id": 3451, + "id": 3452, "node_type": 30, "src": { "line": 1627, @@ -64587,7 +65546,7 @@ "start": 57866, "end": 57870, "length": 5, - "parent_index": 3450 + "parent_index": 3451 }, "name": "bytes", "referenced_declaration": 0, @@ -64617,7 +65576,7 @@ ] }, "return_parameters": { - "id": 3452, + "id": 3453, "node_type": 43, "src": { "line": 1627, @@ -64625,11 +65584,11 @@ "start": 57902, "end": 57913, "length": 12, - "parent_index": 3446 + "parent_index": 3447 }, "parameters": [ { - "id": 3453, + "id": 3454, "node_type": 44, "src": { "line": 1627, @@ -64637,12 +65596,12 @@ "start": 57902, "end": 57913, "length": 12, - "parent_index": 3452 + "parent_index": 3453 }, - "scope": 3446, + "scope": 3447, "name": "", "type_name": { - "id": 3454, + "id": 3455, "node_type": 30, "src": { "line": 1627, @@ -64650,7 +65609,7 @@ "start": 57902, "end": 57906, "length": 5, - "parent_index": 3453 + "parent_index": 3454 }, "name": "bytes", "referenced_declaration": 0, @@ -64675,16 +65634,17 @@ } ] }, - "signature_raw": "_functionDelegateCall(address, bytes)", - "signature": "d4f56b32", - "scope": 3163, + "signature_raw": "_functionDelegateCall(address,bytes)", + "signature": "378f61a0", + "scope": 3164, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "function_functionDelegateCall(addresstarget,bytesmemorydata)privatereturns(bytesmemory){require(AddressUpgradeable.isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnAddressUpgradeable.verifyCallResult(success,returndata,\"Address: low-level delegate call failed\");}" }, { - "id": 3480, + "id": 3481, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -64695,9 +65655,9 @@ "start": 58539, "end": 58564, "length": 26, - "parent_index": 3163 + "parent_index": 3164 }, - "scope": 3163, + "scope": 3164, "type_description": { "type_identifier": "t_rational_50_by_1", "type_string": "int_const 50" @@ -64706,7 +65666,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3481, + "id": 3482, "node_type": 16, "src": { "line": 1640, @@ -64714,12 +65674,12 @@ "start": 58539, "end": 58545, "length": 7, - "parent_index": 3480 + "parent_index": 3481 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 3483, + "id": 3484, "node_type": 17, "kind": 49, "value": "50", @@ -64730,7 +65690,7 @@ "start": 58547, "end": 58548, "length": 2, - "parent_index": 3481 + "parent_index": 3482 }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -64738,7 +65698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -64750,16 +65711,16 @@ ], "linearized_base_contracts": [ 1894, - 3163, - 3158, + 3164, 3159, 3160, 3161, - 3162 + 3162, + 3163 ], "base_contracts": [ { - "id": 3164, + "id": 3165, "node_type": 62, "src": { "line": 1449, @@ -64767,10 +65728,10 @@ "start": 51388, "end": 51400, "length": 13, - "parent_index": 3163 + "parent_index": 3164 }, "base_name": { - "id": 3165, + "id": 3166, "node_type": 52, "src": { "line": 1449, @@ -64778,7 +65739,7 @@ "start": 51388, "end": 51400, "length": 13, - "parent_index": 3163 + "parent_index": 3164 }, "name": "Initializable", "referenced_declaration": 1894 @@ -64787,11 +65748,11 @@ ], "contract_dependencies": [ 1894, - 3158, 3159, 3160, 3161, - 3162 + 3162, + 3163 ] } ], @@ -64805,10 +65766,10 @@ } }, { - "id": 3484, + "id": 3485, "base_contracts": [ { - "id": 3528, + "id": 3529, "node_type": 62, "src": { "line": 1665, @@ -64816,10 +65777,10 @@ "start": 59511, "end": 59523, "length": 13, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3529, + "id": 3530, "node_type": 52, "src": { "line": 1665, @@ -64827,14 +65788,14 @@ "start": 59511, "end": 59523, "length": 13, - "parent_index": 3527 + "parent_index": 3528 }, "name": "Initializable", "referenced_declaration": 1894 } }, { - "id": 3530, + "id": 3531, "node_type": 62, "src": { "line": 1665, @@ -64842,10 +65803,10 @@ "start": 59526, "end": 59553, "length": 28, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3531, + "id": 3532, "node_type": 52, "src": { "line": 1665, @@ -64853,14 +65814,14 @@ "start": 59526, "end": 59553, "length": 28, - "parent_index": 3527 + "parent_index": 3528 }, "name": "IERC1822ProxiableUpgradeable", - "referenced_declaration": 2843 + "referenced_declaration": 2844 } }, { - "id": 3532, + "id": 3533, "node_type": 62, "src": { "line": 1665, @@ -64868,10 +65829,10 @@ "start": 59556, "end": 59580, "length": 25, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3533, + "id": 3534, "node_type": 52, "src": { "line": 1665, @@ -64879,37 +65840,37 @@ "start": 59556, "end": 59580, "length": 25, - "parent_index": 3527 + "parent_index": 3528 }, "name": "ERC1967UpgradeUpgradeable", - "referenced_declaration": 3124 + "referenced_declaration": 3125 } } ], "license": "MIT", "exported_symbols": [ { - "id": 3484, + "id": 3485, "name": "UUPSUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/UUPSUpgradeable.sol" }, { - "id": 3124, + "id": 3125, "name": "draft-IERC1822Upgradeable", "absolute_path": "draft-IERC1822Upgradeable.sol" }, { - "id": 3124, + "id": 3125, "name": "ERC1967UpgradeUpgradeable", "absolute_path": "ERC1967UpgradeUpgradeable.sol" }, { - "id": 3124, + "id": 3125, "name": "Initializable", "absolute_path": "Initializable.sol" }, { - "id": 3530, + "id": 3531, "name": "IERC1822ProxiableUpgradeable", "absolute_path": "" } @@ -64919,7 +65880,7 @@ "node_type": 1, "nodes": [ { - "id": 3500, + "id": 3501, "node_type": 10, "src": { "line": 1647, @@ -64927,7 +65888,7 @@ "start": 58685, "end": 58707, "length": 23, - "parent_index": 3484 + "parent_index": 3485 }, "literals": [ "pragma", @@ -64943,7 +65904,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 3524, + "id": 3525, "node_type": 29, "src": { "line": 1649, @@ -64951,18 +65912,18 @@ "start": 58710, "end": 58750, "length": 41, - "parent_index": 3484 + "parent_index": 3485 }, "absolute_path": "draft-IERC1822Upgradeable.sol", "file": "./draft-IERC1822Upgradeable.sol", - "scope": 3484, + "scope": 3485, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3124 + "source_unit": 3125 }, { - "id": 3525, + "id": 3526, "node_type": 29, "src": { "line": 1650, @@ -64970,18 +65931,18 @@ "start": 58752, "end": 58792, "length": 41, - "parent_index": 3484 + "parent_index": 3485 }, "absolute_path": "ERC1967UpgradeUpgradeable.sol", "file": "./ERC1967UpgradeUpgradeable.sol", - "scope": 3484, + "scope": 3485, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3124 + "source_unit": 3125 }, { - "id": 3526, + "id": 3527, "node_type": 29, "src": { "line": 1651, @@ -64989,18 +65950,18 @@ "start": 58794, "end": 58822, "length": 29, - "parent_index": 3484 + "parent_index": 3485 }, "absolute_path": "Initializable.sol", "file": "./Initializable.sol", - "scope": 3484, + "scope": 3485, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3124 + "source_unit": 3125 }, { - "id": 3527, + "id": 3528, "name": "UUPSUpgradeable", "node_type": 35, "src": { @@ -65009,7 +65970,7 @@ "start": 59474, "end": 63300, "length": 3827, - "parent_index": 3484 + "parent_index": 3485 }, "name_location": { "line": 1665, @@ -65017,14 +65978,14 @@ "start": 59492, "end": 59506, "length": 15, - "parent_index": 3527 + "parent_index": 3528 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3535, + "id": 3536, "name": "__UUPSUpgradeable_init", "node_type": 42, "kind": 41, @@ -65034,7 +65995,7 @@ "start": 59588, "end": 59654, "length": 67, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1666, @@ -65042,10 +66003,10 @@ "start": 59597, "end": 59618, "length": 22, - "parent_index": 3535 + "parent_index": 3536 }, "body": { - "id": 3540, + "id": 3541, "node_type": 46, "kind": 0, "src": { @@ -65054,7 +66015,7 @@ "start": 59648, "end": 59654, "length": 7, - "parent_index": 3535 + "parent_index": 3536 }, "implemented": true, "statements": [] @@ -65065,7 +66026,7 @@ "virtual": false, "modifiers": [ { - "id": 3537, + "id": 3538, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -65075,12 +66036,12 @@ "start": 59631, "end": 59646, "length": 16, - "parent_index": 3535 + "parent_index": 3536 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3538, + "id": 3539, "name": "onlyInitializing", "node_type": 0, "src": { @@ -65089,14 +66050,14 @@ "start": 59631, "end": 59646, "length": 16, - "parent_index": 3537 + "parent_index": 3538 } } } ], "overrides": [], "parameters": { - "id": 3536, + "id": 3537, "node_type": 43, "src": { "line": 1666, @@ -65104,13 +66065,13 @@ "start": 59588, "end": 59654, "length": 67, - "parent_index": 3535 + "parent_index": 3536 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3539, + "id": 3540, "node_type": 43, "src": { "line": 1666, @@ -65118,21 +66079,22 @@ "start": 59588, "end": 59654, "length": 67, - "parent_index": 3535 + "parent_index": 3536 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__UUPSUpgradeable_init()", "signature": "6e7fd379", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__UUPSUpgradeable_init()internalonlyInitializing{}" }, { - "id": 3542, + "id": 3543, "name": "__UUPSUpgradeable_init_unchained", "node_type": 42, "kind": 41, @@ -65142,7 +66104,7 @@ "start": 59661, "end": 59737, "length": 77, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1669, @@ -65150,10 +66112,10 @@ "start": 59670, "end": 59701, "length": 32, - "parent_index": 3542 + "parent_index": 3543 }, "body": { - "id": 3547, + "id": 3548, "node_type": 46, "kind": 0, "src": { @@ -65162,7 +66124,7 @@ "start": 59731, "end": 59737, "length": 7, - "parent_index": 3542 + "parent_index": 3543 }, "implemented": true, "statements": [] @@ -65173,7 +66135,7 @@ "virtual": false, "modifiers": [ { - "id": 3544, + "id": 3545, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -65183,12 +66145,12 @@ "start": 59714, "end": 59729, "length": 16, - "parent_index": 3542 + "parent_index": 3543 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3545, + "id": 3546, "name": "onlyInitializing", "node_type": 0, "src": { @@ -65197,14 +66159,14 @@ "start": 59714, "end": 59729, "length": 16, - "parent_index": 3544 + "parent_index": 3545 } } } ], "overrides": [], "parameters": { - "id": 3543, + "id": 3544, "node_type": 43, "src": { "line": 1669, @@ -65212,13 +66174,13 @@ "start": 59661, "end": 59737, "length": 77, - "parent_index": 3542 + "parent_index": 3543 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3546, + "id": 3547, "node_type": 43, "src": { "line": 1669, @@ -65226,21 +66188,22 @@ "start": 59661, "end": 59737, "length": 77, - "parent_index": 3542 + "parent_index": 3543 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__UUPSUpgradeable_init_unchained()", "signature": "ce8a1477", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__UUPSUpgradeable_init_unchained()internalonlyInitializing{}" }, { - "id": 3549, + "id": 3550, "name": "__self", "is_constant": false, "is_state_variable": true, @@ -65251,9 +66214,9 @@ "start": 59835, "end": 59883, "length": 49, - "parent_index": 3527 + "parent_index": 3528 }, - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" @@ -65262,7 +66225,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 3550, + "id": 3551, "node_type": 30, "src": { "line": 1672, @@ -65270,7 +66233,7 @@ "start": 59835, "end": 59841, "length": 7, - "parent_index": 3549 + "parent_index": 3550 }, "name": "address", "state_mutability": 4, @@ -65281,7 +66244,7 @@ } }, "initial_value": { - "id": 3551, + "id": 3552, "node_type": 24, "kind": 24, "src": { @@ -65290,17 +66253,17 @@ "start": 59870, "end": 59882, "length": 13, - "parent_index": 3549 + "parent_index": 3550 }, "argument_types": [ { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" } ], "arguments": [ { - "id": 3554, + "id": 3555, "node_type": 16, "src": { "line": 1672, @@ -65308,20 +66271,21 @@ "start": 59878, "end": 59881, "length": 4, - "parent_index": 3551 + "parent_index": 3552 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3552, + "id": 3553, "node_type": 16, "src": { "line": 1672, @@ -65329,11 +66293,11 @@ "start": 59870, "end": 59876, "length": 7, - "parent_index": 3551 + "parent_index": 3552 }, "name": "address", "type_name": { - "id": 3553, + "id": 3554, "node_type": 30, "src": { "line": 1672, @@ -65341,7 +66305,7 @@ "start": 59870, "end": 59876, "length": 7, - "parent_index": 3552 + "parent_index": 3553 }, "name": "address", "state_mutability": 4, @@ -65363,7 +66327,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -65372,7 +66337,7 @@ } }, { - "id": 3556, + "id": 3557, "name": "onlyProxy", "node_type": 68, "src": { @@ -65381,7 +66346,7 @@ "start": 60388, "end": 60613, "length": 226, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1681, @@ -65389,12 +66354,12 @@ "start": 60397, "end": 60405, "length": 9, - "parent_index": 3556 + "parent_index": 3557 }, "visibility": 1, "virtual": false, "parameters": { - "id": 3557, + "id": 3558, "node_type": 43, "src": { "line": 1681, @@ -65402,13 +66367,13 @@ "start": 60388, "end": 60613, "length": 226, - "parent_index": 3527 + "parent_index": 3528 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 3558, + "id": 3559, "node_type": 46, "kind": 0, "src": { @@ -65417,12 +66382,12 @@ "start": 60409, "end": 60613, "length": 205, - "parent_index": 3556 + "parent_index": 3557 }, "implemented": true, "statements": [ { - "id": 3559, + "id": 3560, "node_type": 24, "kind": 24, "src": { @@ -65431,7 +66396,7 @@ "start": 60419, "end": 60498, "length": 80, - "parent_index": 3558 + "parent_index": 3559 }, "argument_types": [ { @@ -65445,7 +66410,7 @@ ], "arguments": [ { - "id": 3561, + "id": 3562, "is_constant": false, "is_pure": false, "node_type": 19, @@ -65455,11 +66420,11 @@ "start": 60427, "end": 60449, "length": 23, - "parent_index": 3559 + "parent_index": 3560 }, "operator": 12, "left_expression": { - "id": 3562, + "id": 3563, "node_type": 24, "kind": 24, "src": { @@ -65468,17 +66433,17 @@ "start": 60427, "end": 60439, "length": 13, - "parent_index": 3561 + "parent_index": 3562 }, "argument_types": [ { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" } ], "arguments": [ { - "id": 3565, + "id": 3566, "node_type": 16, "src": { "line": 1682, @@ -65486,20 +66451,21 @@ "start": 60435, "end": 60438, "length": 4, - "parent_index": 3562 + "parent_index": 3563 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3563, + "id": 3564, "node_type": 16, "src": { "line": 1682, @@ -65507,11 +66473,11 @@ "start": 60427, "end": 60433, "length": 7, - "parent_index": 3562 + "parent_index": 3563 }, "name": "address", "type_name": { - "id": 3564, + "id": 3565, "node_type": 30, "src": { "line": 1682, @@ -65519,7 +66485,7 @@ "start": 60427, "end": 60433, "length": 7, - "parent_index": 3563 + "parent_index": 3564 }, "name": "address", "state_mutability": 4, @@ -65541,7 +66507,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -65549,7 +66516,7 @@ } }, "right_expression": { - "id": 3566, + "id": 3567, "node_type": 16, "src": { "line": 1682, @@ -65557,7 +66524,7 @@ "start": 60444, "end": 60449, "length": 6, - "parent_index": 3561 + "parent_index": 3562 }, "name": "__self", "type_description": { @@ -65565,8 +66532,9 @@ "type_string": "function(address)" }, "overloaded_declarations": [], - "referenced_declaration": 3549, - "is_pure": false + "referenced_declaration": 3550, + "is_pure": false, + "text": "__self" }, "type_description": { "type_identifier": "t_bool", @@ -65574,7 +66542,7 @@ } }, { - "id": 3567, + "id": 3568, "node_type": 17, "kind": 50, "value": "Function must be called through delegatecall", @@ -65585,7 +66553,7 @@ "start": 60452, "end": 60497, "length": 46, - "parent_index": 3559 + "parent_index": 3560 }, "type_description": { "type_identifier": "t_string_literal", @@ -65599,11 +66567,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Function must be called through delegatecall\"" } ], "expression": { - "id": 3560, + "id": 3561, "node_type": 16, "src": { "line": 1682, @@ -65611,7 +66580,7 @@ "start": 60419, "end": 60425, "length": 7, - "parent_index": 3559 + "parent_index": 3560 }, "name": "require", "type_description": { @@ -65620,7 +66589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -65628,7 +66598,7 @@ } }, { - "id": 3568, + "id": 3569, "node_type": 24, "kind": 24, "src": { @@ -65637,7 +66607,7 @@ "start": 60509, "end": 60595, "length": 87, - "parent_index": 3558 + "parent_index": 3559 }, "argument_types": [ { @@ -65651,7 +66621,7 @@ ], "arguments": [ { - "id": 3570, + "id": 3571, "is_constant": false, "is_pure": false, "node_type": 19, @@ -65661,11 +66631,11 @@ "start": 60517, "end": 60546, "length": 30, - "parent_index": 3568 + "parent_index": 3569 }, "operator": 11, "left_expression": { - "id": 3571, + "id": 3572, "node_type": 24, "kind": 24, "src": { @@ -65674,12 +66644,12 @@ "start": 60517, "end": 60536, "length": 20, - "parent_index": 3570 + "parent_index": 3571 }, "argument_types": [], "arguments": [], "expression": { - "id": 3572, + "id": 3573, "node_type": 16, "src": { "line": 1683, @@ -65687,7 +66657,7 @@ "start": 60517, "end": 60534, "length": 18, - "parent_index": 3571 + "parent_index": 3572 }, "name": "_getImplementation", "type_description": { @@ -65696,7 +66666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -65704,7 +66675,7 @@ } }, "right_expression": { - "id": 3573, + "id": 3574, "node_type": 16, "src": { "line": 1683, @@ -65712,7 +66683,7 @@ "start": 60541, "end": 60546, "length": 6, - "parent_index": 3570 + "parent_index": 3571 }, "name": "__self", "type_description": { @@ -65720,8 +66691,9 @@ "type_string": "function(address)" }, "overloaded_declarations": [], - "referenced_declaration": 3549, - "is_pure": false + "referenced_declaration": 3550, + "is_pure": false, + "text": "__self" }, "type_description": { "type_identifier": "t_bool", @@ -65729,7 +66701,7 @@ } }, { - "id": 3574, + "id": 3575, "node_type": 17, "kind": 50, "value": "Function must be called through active proxy", @@ -65740,7 +66712,7 @@ "start": 60549, "end": 60594, "length": 46, - "parent_index": 3568 + "parent_index": 3569 }, "type_description": { "type_identifier": "t_string_literal", @@ -65754,11 +66726,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Function must be called through active proxy\"" } ], "expression": { - "id": 3569, + "id": 3570, "node_type": 16, "src": { "line": 1683, @@ -65766,7 +66739,7 @@ "start": 60509, "end": 60515, "length": 7, - "parent_index": 3568 + "parent_index": 3569 }, "name": "require", "type_description": { @@ -65775,7 +66748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -65783,7 +66757,7 @@ } }, { - "id": 3575, + "id": 3576, "node_type": 82, "src": { "line": 1684, @@ -65791,7 +66765,7 @@ "start": 60606, "end": 60606, "length": 1, - "parent_index": 3558 + "parent_index": 3559 }, "name": "_", "type_description": { @@ -65800,13 +66774,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 3577, + "id": 3578, "name": "notDelegated", "node_type": 68, "src": { @@ -65815,7 +66790,7 @@ "start": 60820, "end": 60963, "length": 144, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1691, @@ -65823,12 +66798,12 @@ "start": 60829, "end": 60840, "length": 12, - "parent_index": 3577 + "parent_index": 3578 }, "visibility": 1, "virtual": false, "parameters": { - "id": 3578, + "id": 3579, "node_type": 43, "src": { "line": 1691, @@ -65836,13 +66811,13 @@ "start": 60820, "end": 60963, "length": 144, - "parent_index": 3527 + "parent_index": 3528 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 3579, + "id": 3580, "node_type": 46, "kind": 0, "src": { @@ -65851,12 +66826,12 @@ "start": 60844, "end": 60963, "length": 120, - "parent_index": 3577 + "parent_index": 3578 }, "implemented": true, "statements": [ { - "id": 3580, + "id": 3581, "node_type": 24, "kind": 24, "src": { @@ -65865,7 +66840,7 @@ "start": 60854, "end": 60945, "length": 92, - "parent_index": 3579 + "parent_index": 3580 }, "argument_types": [ { @@ -65879,7 +66854,7 @@ ], "arguments": [ { - "id": 3582, + "id": 3583, "is_constant": false, "is_pure": false, "node_type": 19, @@ -65889,11 +66864,11 @@ "start": 60862, "end": 60884, "length": 23, - "parent_index": 3580 + "parent_index": 3581 }, "operator": 11, "left_expression": { - "id": 3583, + "id": 3584, "node_type": 24, "kind": 24, "src": { @@ -65902,17 +66877,17 @@ "start": 60862, "end": 60874, "length": 13, - "parent_index": 3582 + "parent_index": 3583 }, "argument_types": [ { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" } ], "arguments": [ { - "id": 3586, + "id": 3587, "node_type": 16, "src": { "line": 1692, @@ -65920,20 +66895,21 @@ "start": 60870, "end": 60873, "length": 4, - "parent_index": 3583 + "parent_index": 3584 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3584, + "id": 3585, "node_type": 16, "src": { "line": 1692, @@ -65941,11 +66917,11 @@ "start": 60862, "end": 60868, "length": 7, - "parent_index": 3583 + "parent_index": 3584 }, "name": "address", "type_name": { - "id": 3585, + "id": 3586, "node_type": 30, "src": { "line": 1692, @@ -65953,7 +66929,7 @@ "start": 60862, "end": 60868, "length": 7, - "parent_index": 3584 + "parent_index": 3585 }, "name": "address", "state_mutability": 4, @@ -65975,7 +66951,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -65983,7 +66960,7 @@ } }, "right_expression": { - "id": 3587, + "id": 3588, "node_type": 16, "src": { "line": 1692, @@ -65991,7 +66968,7 @@ "start": 60879, "end": 60884, "length": 6, - "parent_index": 3582 + "parent_index": 3583 }, "name": "__self", "type_description": { @@ -65999,8 +66976,9 @@ "type_string": "function(address)" }, "overloaded_declarations": [], - "referenced_declaration": 3549, - "is_pure": false + "referenced_declaration": 3550, + "is_pure": false, + "text": "__self" }, "type_description": { "type_identifier": "t_bool", @@ -66008,7 +66986,7 @@ } }, { - "id": 3588, + "id": 3589, "node_type": 17, "kind": 50, "value": "UUPSUpgradeable: must not be called through delegatecall", @@ -66019,7 +66997,7 @@ "start": 60887, "end": 60944, "length": 58, - "parent_index": 3580 + "parent_index": 3581 }, "type_description": { "type_identifier": "t_string_literal", @@ -66033,11 +67011,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UUPSUpgradeable: must not be called through delegatecall\"" } ], "expression": { - "id": 3581, + "id": 3582, "node_type": 16, "src": { "line": 1692, @@ -66045,7 +67024,7 @@ "start": 60854, "end": 60860, "length": 7, - "parent_index": 3580 + "parent_index": 3581 }, "name": "require", "type_description": { @@ -66054,7 +67033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -66062,7 +67042,7 @@ } }, { - "id": 3589, + "id": 3590, "node_type": 82, "src": { "line": 1693, @@ -66070,7 +67050,7 @@ "start": 60956, "end": 60956, "length": 1, - "parent_index": 3579 + "parent_index": 3580 }, "name": "_", "type_description": { @@ -66079,13 +67059,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 3591, + "id": 3592, "name": "proxiableUUID", "node_type": 42, "kind": 41, @@ -66095,7 +67076,7 @@ "start": 61550, "end": 61680, "length": 131, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1704, @@ -66103,10 +67084,10 @@ "start": 61559, "end": 61571, "length": 13, - "parent_index": 3591 + "parent_index": 3592 }, "body": { - "id": 3601, + "id": 3602, "node_type": 46, "kind": 0, "src": { @@ -66115,12 +67096,12 @@ "start": 61637, "end": 61680, "length": 44, - "parent_index": 3591 + "parent_index": 3592 }, "implemented": true, "statements": [ { - "id": 3602, + "id": 3603, "node_type": 47, "src": { "line": 1705, @@ -66128,11 +67109,11 @@ "start": 61647, "end": 61674, "length": 28, - "parent_index": 3591 + "parent_index": 3592 }, - "function_return_parameters": 3591, + "function_return_parameters": 3592, "expression": { - "id": 3603, + "id": 3604, "node_type": 16, "src": { "line": 1705, @@ -66140,7 +67121,7 @@ "start": 61654, "end": 61673, "length": 20, - "parent_index": 3602 + "parent_index": 3603 }, "name": "_IMPLEMENTATION_SLOT", "type_description": { @@ -66148,8 +67129,9 @@ "type_string": "int_const 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" }, "overloaded_declarations": [], - "referenced_declaration": 3185, - "is_pure": false + "referenced_declaration": 3186, + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } } ] @@ -66160,7 +67142,7 @@ "virtual": true, "modifiers": [ { - "id": 3595, + "id": 3596, "name": "notDelegated", "node_type": 72, "kind": 72, @@ -66170,12 +67152,12 @@ "start": 61606, "end": 61617, "length": 12, - "parent_index": 3591 + "parent_index": 3592 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3596, + "id": 3597, "name": "notDelegated", "node_type": 0, "src": { @@ -66184,14 +67166,14 @@ "start": 61606, "end": 61617, "length": 12, - "parent_index": 3595 + "parent_index": 3596 } } } ], "overrides": [ { - "id": 3597, + "id": 3598, "node_type": 63, "src": { "line": 1704, @@ -66199,7 +67181,7 @@ "start": 61597, "end": 61604, "length": 8, - "parent_index": 3591 + "parent_index": 3592 }, "overrides": [], "referenced_declaration": 0, @@ -66210,7 +67192,7 @@ } ], "parameters": { - "id": 3592, + "id": 3593, "node_type": 43, "src": { "line": 1704, @@ -66218,11 +67200,11 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3591 + "parent_index": 3592 }, "parameters": [ { - "id": 3593, + "id": 3594, "node_type": 44, "src": { "line": 1704, @@ -66230,12 +67212,12 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3592 + "parent_index": 3593 }, - "scope": 3591, + "scope": 3592, "name": "", "type_name": { - "id": 3594, + "id": 3595, "node_type": 30, "src": { "line": 1704, @@ -66243,7 +67225,7 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3593 + "parent_index": 3594 }, "name": "bytes32", "referenced_declaration": 0, @@ -66269,7 +67251,7 @@ ] }, "return_parameters": { - "id": 3598, + "id": 3599, "node_type": 43, "src": { "line": 1704, @@ -66277,11 +67259,11 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3591 + "parent_index": 3592 }, "parameters": [ { - "id": 3599, + "id": 3600, "node_type": 44, "src": { "line": 1704, @@ -66289,12 +67271,12 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3598 + "parent_index": 3599 }, - "scope": 3591, + "scope": 3592, "name": "", "type_name": { - "id": 3600, + "id": 3601, "node_type": 30, "src": { "line": 1704, @@ -66302,7 +67284,7 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3599 + "parent_index": 3600 }, "name": "bytes32", "referenced_declaration": 0, @@ -66329,14 +67311,15 @@ }, "signature_raw": "proxiableUUID(bytes32)", "signature": "e5f9ca4c", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionproxiableUUID()externalviewvirtualoverridenotDelegatedreturns(bytes32){return_IMPLEMENTATION_SLOT;}" }, { - "id": 3605, + "id": 3606, "name": "upgradeTo", "node_type": 42, "kind": 41, @@ -66346,7 +67329,7 @@ "start": 61861, "end": 62057, "length": 197, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1715, @@ -66354,10 +67337,10 @@ "start": 61870, "end": 61878, "length": 9, - "parent_index": 3605 + "parent_index": 3606 }, "body": { - "id": 3612, + "id": 3613, "node_type": 46, "kind": 0, "src": { @@ -66366,12 +67349,12 @@ "start": 61934, "end": 62057, "length": 124, - "parent_index": 3605 + "parent_index": 3606 }, "implemented": true, "statements": [ { - "id": 3613, + "id": 3614, "node_type": 24, "kind": 24, "src": { @@ -66380,7 +67363,7 @@ "start": 61944, "end": 61979, "length": 36, - "parent_index": 3612 + "parent_index": 3613 }, "argument_types": [ { @@ -66390,7 +67373,7 @@ ], "arguments": [ { - "id": 3615, + "id": 3616, "node_type": 16, "src": { "line": 1716, @@ -66398,7 +67381,7 @@ "start": 61962, "end": 61978, "length": 17, - "parent_index": 3613 + "parent_index": 3614 }, "name": "newImplementation", "type_description": { @@ -66406,12 +67389,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3615, - "is_pure": false + "referenced_declaration": 3616, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3614, + "id": 3615, "node_type": 16, "src": { "line": 1716, @@ -66419,7 +67403,7 @@ "start": 61944, "end": 61960, "length": 17, - "parent_index": 3613 + "parent_index": 3614 }, "name": "_authorizeUpgrade", "type_description": { @@ -66428,7 +67412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_authorizeUpgrade" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -66436,7 +67421,7 @@ } }, { - "id": 3616, + "id": 3617, "node_type": 24, "kind": 24, "src": { @@ -66445,7 +67430,7 @@ "start": 61990, "end": 62050, "length": 61, - "parent_index": 3612 + "parent_index": 3613 }, "argument_types": [ { @@ -66463,7 +67448,7 @@ ], "arguments": [ { - "id": 3618, + "id": 3619, "node_type": 16, "src": { "line": 1717, @@ -66471,7 +67456,7 @@ "start": 62012, "end": 62028, "length": 17, - "parent_index": 3616 + "parent_index": 3617 }, "name": "newImplementation", "type_description": { @@ -66479,11 +67464,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3618, - "is_pure": false + "referenced_declaration": 3619, + "is_pure": false, + "text": "newImplementation" }, { - "id": 3619, + "id": 3620, "node_type": 24, "kind": 24, "src": { @@ -66492,7 +67478,7 @@ "start": 62031, "end": 62042, "length": 12, - "parent_index": 3616 + "parent_index": 3617 }, "argument_types": [ { @@ -66502,7 +67488,7 @@ ], "arguments": [ { - "id": 3622, + "id": 3623, "node_type": 17, "kind": 49, "value": "0", @@ -66513,7 +67499,7 @@ "start": 62041, "end": 62041, "length": 1, - "parent_index": 3619 + "parent_index": 3620 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -66521,11 +67507,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 3620, + "id": 3621, "node_type": 25, "src": { "line": 1717, @@ -66533,11 +67520,11 @@ "start": 62031, "end": 62039, "length": 9, - "parent_index": 3619 + "parent_index": 3620 }, "argument_types": [], "type_name": { - "id": 3621, + "id": 3622, "node_type": 30, "src": { "line": 1717, @@ -66545,7 +67532,7 @@ "start": 62035, "end": 62039, "length": 5, - "parent_index": 3620 + "parent_index": 3621 }, "name": "bytes", "referenced_declaration": 0, @@ -66565,7 +67552,7 @@ } }, { - "id": 3623, + "id": 3624, "node_type": 17, "kind": 61, "value": "false", @@ -66576,7 +67563,7 @@ "start": 62045, "end": 62049, "length": 5, - "parent_index": 3616 + "parent_index": 3617 }, "type_description": { "type_identifier": "t_bool", @@ -66594,11 +67581,12 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "false" } ], "expression": { - "id": 3617, + "id": 3618, "node_type": 16, "src": { "line": 1717, @@ -66606,7 +67594,7 @@ "start": 61990, "end": 62010, "length": 21, - "parent_index": 3616 + "parent_index": 3617 }, "name": "_upgradeToAndCallUUPS", "type_description": { @@ -66615,7 +67603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCallUUPS" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_bool$", @@ -66630,7 +67619,7 @@ "virtual": true, "modifiers": [ { - "id": 3609, + "id": 3610, "name": "onlyProxy", "node_type": 72, "kind": 72, @@ -66640,12 +67629,12 @@ "start": 61924, "end": 61932, "length": 9, - "parent_index": 3605 + "parent_index": 3606 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3610, + "id": 3611, "name": "onlyProxy", "node_type": 0, "src": { @@ -66654,14 +67643,14 @@ "start": 61924, "end": 61932, "length": 9, - "parent_index": 3609 + "parent_index": 3610 } } } ], "overrides": [], "parameters": { - "id": 3606, + "id": 3607, "node_type": 43, "src": { "line": 1715, @@ -66669,11 +67658,11 @@ "start": 61880, "end": 61904, "length": 25, - "parent_index": 3605 + "parent_index": 3606 }, "parameters": [ { - "id": 3607, + "id": 3608, "node_type": 44, "src": { "line": 1715, @@ -66681,12 +67670,12 @@ "start": 61880, "end": 61904, "length": 25, - "parent_index": 3606 + "parent_index": 3607 }, - "scope": 3605, + "scope": 3606, "name": "newImplementation", "type_name": { - "id": 3608, + "id": 3609, "node_type": 30, "src": { "line": 1715, @@ -66694,7 +67683,7 @@ "start": 61880, "end": 61886, "length": 7, - "parent_index": 3607 + "parent_index": 3608 }, "name": "address", "state_mutability": 4, @@ -66721,7 +67710,7 @@ ] }, "return_parameters": { - "id": 3611, + "id": 3612, "node_type": 43, "src": { "line": 1715, @@ -66729,21 +67718,22 @@ "start": 61861, "end": 62057, "length": 197, - "parent_index": 3605 + "parent_index": 3606 }, "parameters": [], "parameter_types": [] }, "signature_raw": "upgradeTo(address)", "signature": "3659cfe6", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)externalvirtualonlyProxy{_authorizeUpgrade(newImplementation);_upgradeToAndCallUUPS(newImplementation,newbytes(0),false);}" }, { - "id": 3625, + "id": 3626, "name": "upgradeToAndCall", "node_type": 42, "kind": 41, @@ -66753,7 +67743,7 @@ "start": 62307, "end": 62528, "length": 222, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1728, @@ -66761,10 +67751,10 @@ "start": 62316, "end": 62331, "length": 16, - "parent_index": 3625 + "parent_index": 3626 }, "body": { - "id": 3634, + "id": 3635, "node_type": 46, "kind": 0, "src": { @@ -66773,12 +67763,12 @@ "start": 62414, "end": 62528, "length": 115, - "parent_index": 3625 + "parent_index": 3626 }, "implemented": true, "statements": [ { - "id": 3635, + "id": 3636, "node_type": 24, "kind": 24, "src": { @@ -66787,7 +67777,7 @@ "start": 62424, "end": 62459, "length": 36, - "parent_index": 3634 + "parent_index": 3635 }, "argument_types": [ { @@ -66797,7 +67787,7 @@ ], "arguments": [ { - "id": 3637, + "id": 3638, "node_type": 16, "src": { "line": 1729, @@ -66805,7 +67795,7 @@ "start": 62442, "end": 62458, "length": 17, - "parent_index": 3635 + "parent_index": 3636 }, "name": "newImplementation", "type_description": { @@ -66813,12 +67803,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3637, - "is_pure": false + "referenced_declaration": 3638, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3636, + "id": 3637, "node_type": 16, "src": { "line": 1729, @@ -66826,7 +67817,7 @@ "start": 62424, "end": 62440, "length": 17, - "parent_index": 3635 + "parent_index": 3636 }, "name": "_authorizeUpgrade", "type_description": { @@ -66835,7 +67826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_authorizeUpgrade" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -66843,7 +67835,7 @@ } }, { - "id": 3638, + "id": 3639, "node_type": 24, "kind": 24, "src": { @@ -66852,7 +67844,7 @@ "start": 62470, "end": 62521, "length": 52, - "parent_index": 3634 + "parent_index": 3635 }, "argument_types": [ { @@ -66870,7 +67862,7 @@ ], "arguments": [ { - "id": 3640, + "id": 3641, "node_type": 16, "src": { "line": 1730, @@ -66878,7 +67870,7 @@ "start": 62492, "end": 62508, "length": 17, - "parent_index": 3638 + "parent_index": 3639 }, "name": "newImplementation", "type_description": { @@ -66886,11 +67878,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3640, - "is_pure": false + "referenced_declaration": 3641, + "is_pure": false, + "text": "newImplementation" }, { - "id": 3641, + "id": 3642, "node_type": 16, "src": { "line": 1730, @@ -66898,7 +67891,7 @@ "start": 62511, "end": 62514, "length": 4, - "parent_index": 3638 + "parent_index": 3639 }, "name": "data", "type_description": { @@ -66906,17 +67899,18 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3641, + "referenced_declaration": 3642, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { - "id": 3642, + "id": 3643, "node_type": 17, "kind": 61, "value": "true", @@ -66927,7 +67921,7 @@ "start": 62517, "end": 62520, "length": 4, - "parent_index": 3638 + "parent_index": 3639 }, "type_description": { "type_identifier": "t_bool", @@ -66945,11 +67939,12 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "true" } ], "expression": { - "id": 3639, + "id": 3640, "node_type": 16, "src": { "line": 1730, @@ -66957,7 +67952,7 @@ "start": 62470, "end": 62490, "length": 21, - "parent_index": 3638 + "parent_index": 3639 }, "name": "_upgradeToAndCallUUPS", "type_description": { @@ -66966,7 +67961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCallUUPS" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -66981,7 +67977,7 @@ "virtual": true, "modifiers": [ { - "id": 3631, + "id": 3632, "name": "onlyProxy", "node_type": 72, "kind": 72, @@ -66991,12 +67987,12 @@ "start": 62404, "end": 62412, "length": 9, - "parent_index": 3625 + "parent_index": 3626 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3632, + "id": 3633, "name": "onlyProxy", "node_type": 0, "src": { @@ -67005,14 +68001,14 @@ "start": 62404, "end": 62412, "length": 9, - "parent_index": 3631 + "parent_index": 3632 } } } ], "overrides": [], "parameters": { - "id": 3626, + "id": 3627, "node_type": 43, "src": { "line": 1728, @@ -67020,11 +68016,11 @@ "start": 62333, "end": 62376, "length": 44, - "parent_index": 3625 + "parent_index": 3626 }, "parameters": [ { - "id": 3627, + "id": 3628, "node_type": 44, "src": { "line": 1728, @@ -67032,12 +68028,12 @@ "start": 62333, "end": 62357, "length": 25, - "parent_index": 3626 + "parent_index": 3627 }, - "scope": 3625, + "scope": 3626, "name": "newImplementation", "type_name": { - "id": 3628, + "id": 3629, "node_type": 30, "src": { "line": 1728, @@ -67045,7 +68041,7 @@ "start": 62333, "end": 62339, "length": 7, - "parent_index": 3627 + "parent_index": 3628 }, "name": "address", "state_mutability": 4, @@ -67064,7 +68060,7 @@ } }, { - "id": 3629, + "id": 3630, "node_type": 44, "src": { "line": 1728, @@ -67072,12 +68068,12 @@ "start": 62360, "end": 62376, "length": 17, - "parent_index": 3626 + "parent_index": 3627 }, - "scope": 3625, + "scope": 3626, "name": "data", "type_name": { - "id": 3630, + "id": 3631, "node_type": 30, "src": { "line": 1728, @@ -67085,7 +68081,7 @@ "start": 62360, "end": 62364, "length": 5, - "parent_index": 3629 + "parent_index": 3630 }, "name": "bytes", "referenced_declaration": 0, @@ -67115,7 +68111,7 @@ ] }, "return_parameters": { - "id": 3633, + "id": 3634, "node_type": 43, "src": { "line": 1728, @@ -67123,21 +68119,22 @@ "start": 62307, "end": 62528, "length": 222, - "parent_index": 3625 + "parent_index": 3626 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeToAndCall(address, bytes)", - "signature": "cf553a4d", - "scope": 3527, + "signature_raw": "upgradeToAndCall(address,bytes)", + "signature": "4f1ef286", + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionupgradeToAndCall(addressnewImplementation,bytesmemorydata)externalpayablevirtualonlyProxy{_authorizeUpgrade(newImplementation);_upgradeToAndCallUUPS(newImplementation,data,true);}" }, { - "id": 3644, + "id": 3645, "name": "_authorizeUpgrade", "node_type": 42, "kind": 41, @@ -67147,7 +68144,7 @@ "start": 62937, "end": 63007, "length": 71, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1743, @@ -67155,10 +68152,10 @@ "start": 62946, "end": 62962, "length": 17, - "parent_index": 3644 + "parent_index": 3645 }, "body": { - "id": 3649, + "id": 3650, "node_type": 46, "kind": 0, "src": { @@ -67167,7 +68164,7 @@ "start": 62937, "end": 63007, "length": 71, - "parent_index": 3644 + "parent_index": 3645 }, "implemented": false, "statements": [] @@ -67179,7 +68176,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3645, + "id": 3646, "node_type": 43, "src": { "line": 1743, @@ -67187,11 +68184,11 @@ "start": 62964, "end": 62988, "length": 25, - "parent_index": 3644 + "parent_index": 3645 }, "parameters": [ { - "id": 3646, + "id": 3647, "node_type": 44, "src": { "line": 1743, @@ -67199,12 +68196,12 @@ "start": 62964, "end": 62988, "length": 25, - "parent_index": 3645 + "parent_index": 3646 }, - "scope": 3644, + "scope": 3645, "name": "newImplementation", "type_name": { - "id": 3647, + "id": 3648, "node_type": 30, "src": { "line": 1743, @@ -67212,7 +68209,7 @@ "start": 62964, "end": 62970, "length": 7, - "parent_index": 3646 + "parent_index": 3647 }, "name": "address", "state_mutability": 4, @@ -67239,7 +68236,7 @@ ] }, "return_parameters": { - "id": 3648, + "id": 3649, "node_type": 43, "src": { "line": 1743, @@ -67247,21 +68244,22 @@ "start": 62937, "end": 63007, "length": 71, - "parent_index": 3644 + "parent_index": 3645 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_authorizeUpgrade(address)", "signature": "5ec29272", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_authorizeUpgrade(addressnewImplementation)internalvirtual;" }, { - "id": 3651, + "id": 3652, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -67272,9 +68270,9 @@ "start": 63273, "end": 63298, "length": 26, - "parent_index": 3527 + "parent_index": 3528 }, - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_rational_50_by_1", "type_string": "int_const 50" @@ -67283,7 +68281,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3652, + "id": 3653, "node_type": 16, "src": { "line": 1750, @@ -67291,12 +68289,12 @@ "start": 63273, "end": 63279, "length": 7, - "parent_index": 3651 + "parent_index": 3652 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 3654, + "id": 3655, "node_type": 17, "kind": 49, "value": "50", @@ -67307,7 +68305,7 @@ "start": 63281, "end": 63282, "length": 2, - "parent_index": 3652 + "parent_index": 3653 }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -67315,7 +68313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -67327,16 +68326,16 @@ ], "linearized_base_contracts": [ 1894, - 2843, - 3124, - 3527, - 3524, + 2844, + 3125, + 3528, 3525, - 3526 + 3526, + 3527 ], "base_contracts": [ { - "id": 3528, + "id": 3529, "node_type": 62, "src": { "line": 1665, @@ -67344,10 +68343,10 @@ "start": 59511, "end": 59523, "length": 13, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3529, + "id": 3530, "node_type": 52, "src": { "line": 1665, @@ -67355,14 +68354,14 @@ "start": 59511, "end": 59523, "length": 13, - "parent_index": 3527 + "parent_index": 3528 }, "name": "Initializable", "referenced_declaration": 1894 } }, { - "id": 3530, + "id": 3531, "node_type": 62, "src": { "line": 1665, @@ -67370,10 +68369,10 @@ "start": 59526, "end": 59553, "length": 28, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3531, + "id": 3532, "node_type": 52, "src": { "line": 1665, @@ -67381,14 +68380,14 @@ "start": 59526, "end": 59553, "length": 28, - "parent_index": 3527 + "parent_index": 3528 }, "name": "IERC1822ProxiableUpgradeable", - "referenced_declaration": 2843 + "referenced_declaration": 2844 } }, { - "id": 3532, + "id": 3533, "node_type": 62, "src": { "line": 1665, @@ -67396,10 +68395,10 @@ "start": 59556, "end": 59580, "length": 25, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3533, + "id": 3534, "node_type": 52, "src": { "line": 1665, @@ -67407,20 +68406,20 @@ "start": 59556, "end": 59580, "length": 25, - "parent_index": 3527 + "parent_index": 3528 }, "name": "ERC1967UpgradeUpgradeable", - "referenced_declaration": 3124 + "referenced_declaration": 3125 } } ], "contract_dependencies": [ 1894, - 2843, - 3124, - 3524, + 2844, + 3125, 3525, - 3526 + 3526, + 3527 ] } ], @@ -67434,10 +68433,10 @@ } }, { - "id": 3655, + "id": 3656, "base_contracts": [ { - "id": 3702, + "id": 3703, "node_type": 62, "src": { "line": 1771, @@ -67445,10 +68444,10 @@ "start": 63981, "end": 63993, "length": 13, - "parent_index": 3701 + "parent_index": 3702 }, "base_name": { - "id": 3703, + "id": 3704, "node_type": 52, "src": { "line": 1771, @@ -67456,14 +68455,14 @@ "start": 63981, "end": 63993, "length": 13, - "parent_index": 3701 + "parent_index": 3702 }, "name": "Initializable", "referenced_declaration": 1894 } }, { - "id": 3704, + "id": 3705, "node_type": 62, "src": { "line": 1771, @@ -67471,10 +68470,10 @@ "start": 63996, "end": 64013, "length": 18, - "parent_index": 3701 + "parent_index": 3702 }, "base_name": { - "id": 3705, + "id": 3706, "node_type": 52, "src": { "line": 1771, @@ -67482,7 +68481,7 @@ "start": 63996, "end": 64013, "length": 18, - "parent_index": 3701 + "parent_index": 3702 }, "name": "ContextUpgradeable", "referenced_declaration": 2045 @@ -67492,17 +68491,17 @@ "license": "MIT", "exported_symbols": [ { - "id": 3655, + "id": 3656, "name": "PausableUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/PausableUpgradeable.sol" }, { - "id": 3484, + "id": 3485, "name": "ContextUpgradeable", "absolute_path": "ContextUpgradeable.sol" }, { - "id": 3484, + "id": 3485, "name": "Initializable", "absolute_path": "Initializable.sol" } @@ -67512,7 +68511,7 @@ "node_type": 1, "nodes": [ { - "id": 3672, + "id": 3673, "node_type": 10, "src": { "line": 1757, @@ -67520,7 +68519,7 @@ "start": 63409, "end": 63431, "length": 23, - "parent_index": 3655 + "parent_index": 3656 }, "literals": [ "pragma", @@ -67536,7 +68535,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 3699, + "id": 3700, "node_type": 29, "src": { "line": 1759, @@ -67544,18 +68543,18 @@ "start": 63434, "end": 63467, "length": 34, - "parent_index": 3655 + "parent_index": 3656 }, "absolute_path": "ContextUpgradeable.sol", "file": "./ContextUpgradeable.sol", - "scope": 3655, + "scope": 3656, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3484 + "source_unit": 3485 }, { - "id": 3700, + "id": 3701, "node_type": 29, "src": { "line": 1760, @@ -67563,18 +68562,18 @@ "start": 63469, "end": 63497, "length": 29, - "parent_index": 3655 + "parent_index": 3656 }, "absolute_path": "Initializable.sol", "file": "./Initializable.sol", - "scope": 3655, + "scope": 3656, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3484 + "source_unit": 3485 }, { - "id": 3701, + "id": 3702, "name": "PausableUpgradeable", "node_type": 35, "src": { @@ -67583,7 +68582,7 @@ "start": 63940, "end": 66369, "length": 2430, - "parent_index": 3655 + "parent_index": 3656 }, "name_location": { "line": 1771, @@ -67591,14 +68590,14 @@ "start": 63958, "end": 63976, "length": 19, - "parent_index": 3701 + "parent_index": 3702 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3707, + "id": 3708, "node_type": 57, "src": { "line": 1775, @@ -67606,10 +68605,10 @@ "start": 64099, "end": 64128, "length": 30, - "parent_index": 3701 + "parent_index": 3702 }, "parameters": { - "id": 3708, + "id": 3709, "node_type": 43, "src": { "line": 1775, @@ -67617,11 +68616,11 @@ "start": 64099, "end": 64128, "length": 30, - "parent_index": 3707 + "parent_index": 3708 }, "parameters": [ { - "id": 3709, + "id": 3710, "node_type": 44, "src": { "line": 1775, @@ -67629,12 +68628,12 @@ "start": 64112, "end": 64126, "length": 15, - "parent_index": 3708 + "parent_index": 3709 }, - "scope": 3707, + "scope": 3708, "name": "account", "type_name": { - "id": 3710, + "id": 3711, "node_type": 30, "src": { "line": 1775, @@ -67642,7 +68641,7 @@ "start": 64112, "end": 64118, "length": 7, - "parent_index": 3709 + "parent_index": 3710 }, "name": "address", "state_mutability": 4, @@ -67671,12 +68670,12 @@ "name": "Paused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263707", + "type_identifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263708", "type_string": "event PausableUpgradeable.Paused" } }, { - "id": 3712, + "id": 3713, "node_type": 57, "src": { "line": 1780, @@ -67684,10 +68683,10 @@ "start": 64210, "end": 64241, "length": 32, - "parent_index": 3701 + "parent_index": 3702 }, "parameters": { - "id": 3713, + "id": 3714, "node_type": 43, "src": { "line": 1780, @@ -67695,11 +68694,11 @@ "start": 64210, "end": 64241, "length": 32, - "parent_index": 3712 + "parent_index": 3713 }, "parameters": [ { - "id": 3714, + "id": 3715, "node_type": 44, "src": { "line": 1780, @@ -67707,12 +68706,12 @@ "start": 64225, "end": 64239, "length": 15, - "parent_index": 3713 + "parent_index": 3714 }, - "scope": 3712, + "scope": 3713, "name": "account", "type_name": { - "id": 3715, + "id": 3716, "node_type": 30, "src": { "line": 1780, @@ -67720,7 +68719,7 @@ "start": 64225, "end": 64231, "length": 7, - "parent_index": 3714 + "parent_index": 3715 }, "name": "address", "state_mutability": 4, @@ -67749,12 +68748,12 @@ "name": "Unpaused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263712", + "type_identifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263713", "type_string": "event PausableUpgradeable.Unpaused" } }, { - "id": 3717, + "id": 3718, "name": "_paused", "is_constant": false, "is_state_variable": true, @@ -67765,9 +68764,9 @@ "start": 64248, "end": 64268, "length": 21, - "parent_index": 3701 + "parent_index": 3702 }, - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_bool", "type_string": "bool" @@ -67776,7 +68775,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3718, + "id": 3719, "node_type": 30, "src": { "line": 1782, @@ -67784,7 +68783,7 @@ "start": 64248, "end": 64251, "length": 4, - "parent_index": 3717 + "parent_index": 3718 }, "name": "bool", "referenced_declaration": 0, @@ -67796,7 +68795,7 @@ "initial_value": null }, { - "id": 3720, + "id": 3721, "name": "__Pausable_init", "node_type": 42, "kind": 41, @@ -67806,7 +68805,7 @@ "start": 64347, "end": 64443, "length": 97, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1787, @@ -67814,10 +68813,10 @@ "start": 64356, "end": 64370, "length": 15, - "parent_index": 3720 + "parent_index": 3721 }, "body": { - "id": 3725, + "id": 3726, "node_type": 46, "kind": 0, "src": { @@ -67826,12 +68825,12 @@ "start": 64400, "end": 64443, "length": 44, - "parent_index": 3720 + "parent_index": 3721 }, "implemented": true, "statements": [ { - "id": 3726, + "id": 3727, "node_type": 24, "kind": 24, "src": { @@ -67840,12 +68839,12 @@ "start": 64410, "end": 64436, "length": 27, - "parent_index": 3725 + "parent_index": 3726 }, "argument_types": [], "arguments": [], "expression": { - "id": 3727, + "id": 3728, "node_type": 16, "src": { "line": 1788, @@ -67853,7 +68852,7 @@ "start": 64410, "end": 64434, "length": 25, - "parent_index": 3726 + "parent_index": 3727 }, "name": "__Pausable_init_unchained", "type_description": { @@ -67862,7 +68861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Pausable_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -67877,7 +68877,7 @@ "virtual": false, "modifiers": [ { - "id": 3722, + "id": 3723, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -67887,12 +68887,12 @@ "start": 64383, "end": 64398, "length": 16, - "parent_index": 3720 + "parent_index": 3721 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3723, + "id": 3724, "name": "onlyInitializing", "node_type": 0, "src": { @@ -67901,14 +68901,14 @@ "start": 64383, "end": 64398, "length": 16, - "parent_index": 3722 + "parent_index": 3723 } } } ], "overrides": [], "parameters": { - "id": 3721, + "id": 3722, "node_type": 43, "src": { "line": 1787, @@ -67916,13 +68916,13 @@ "start": 64347, "end": 64443, "length": 97, - "parent_index": 3720 + "parent_index": 3721 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3724, + "id": 3725, "node_type": 43, "src": { "line": 1787, @@ -67930,21 +68930,22 @@ "start": 64347, "end": 64443, "length": 97, - "parent_index": 3720 + "parent_index": 3721 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__Pausable_init()", "signature": "84d2023a", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Pausable_init()internalonlyInitializing{__Pausable_init_unchained();}" }, { - "id": 3729, + "id": 3730, "name": "__Pausable_init_unchained", "node_type": 42, "kind": 41, @@ -67954,7 +68955,7 @@ "start": 64450, "end": 64544, "length": 95, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1791, @@ -67962,10 +68963,10 @@ "start": 64459, "end": 64483, "length": 25, - "parent_index": 3729 + "parent_index": 3730 }, "body": { - "id": 3734, + "id": 3735, "node_type": 46, "kind": 0, "src": { @@ -67974,12 +68975,12 @@ "start": 64513, "end": 64544, "length": 32, - "parent_index": 3729 + "parent_index": 3730 }, "implemented": true, "statements": [ { - "id": 3735, + "id": 3736, "node_type": 27, "src": { "line": 1792, @@ -67987,10 +68988,10 @@ "start": 64523, "end": 64538, "length": 16, - "parent_index": 3734 + "parent_index": 3735 }, "expression": { - "id": 3736, + "id": 3737, "node_type": 27, "src": { "line": 1792, @@ -67998,11 +68999,11 @@ "start": 64523, "end": 64537, "length": 15, - "parent_index": 3735 + "parent_index": 3736 }, "operator": 11, "left_expression": { - "id": 3737, + "id": 3738, "node_type": 16, "src": { "line": 1792, @@ -68010,7 +69011,7 @@ "start": 64523, "end": 64529, "length": 7, - "parent_index": 3736 + "parent_index": 3737 }, "name": "_paused", "type_description": { @@ -68018,11 +69019,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3717, - "is_pure": false + "referenced_declaration": 3718, + "is_pure": false, + "text": "_paused" }, "right_expression": { - "id": 3738, + "id": 3739, "node_type": 17, "kind": 61, "value": "false", @@ -68033,7 +69035,7 @@ "start": 64533, "end": 64537, "length": 5, - "parent_index": 3736 + "parent_index": 3737 }, "type_description": { "type_identifier": "t_bool", @@ -68041,7 +69043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -68051,7 +69054,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] }, @@ -68061,7 +69065,7 @@ "virtual": false, "modifiers": [ { - "id": 3731, + "id": 3732, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -68071,12 +69075,12 @@ "start": 64496, "end": 64511, "length": 16, - "parent_index": 3729 + "parent_index": 3730 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3732, + "id": 3733, "name": "onlyInitializing", "node_type": 0, "src": { @@ -68085,14 +69089,14 @@ "start": 64496, "end": 64511, "length": 16, - "parent_index": 3731 + "parent_index": 3732 } } } ], "overrides": [], "parameters": { - "id": 3730, + "id": 3731, "node_type": 43, "src": { "line": 1791, @@ -68100,13 +69104,13 @@ "start": 64450, "end": 64544, "length": 95, - "parent_index": 3729 + "parent_index": 3730 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3733, + "id": 3734, "node_type": 43, "src": { "line": 1791, @@ -68114,21 +69118,22 @@ "start": 64450, "end": 64544, "length": 95, - "parent_index": 3729 + "parent_index": 3730 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__Pausable_init_unchained()", "signature": "715b3778", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Pausable_init_unchained()internalonlyInitializing{_paused=false;}" }, { - "id": 3740, + "id": 3741, "name": "whenNotPaused", "node_type": 68, "src": { @@ -68137,7 +69142,7 @@ "start": 64731, "end": 64802, "length": 72, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1802, @@ -68145,12 +69150,12 @@ "start": 64740, "end": 64752, "length": 13, - "parent_index": 3740 + "parent_index": 3741 }, "visibility": 1, "virtual": false, "parameters": { - "id": 3741, + "id": 3742, "node_type": 43, "src": { "line": 1802, @@ -68158,13 +69163,13 @@ "start": 64731, "end": 64802, "length": 72, - "parent_index": 3701 + "parent_index": 3702 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 3742, + "id": 3743, "node_type": 46, "kind": 0, "src": { @@ -68173,12 +69178,12 @@ "start": 64756, "end": 64802, "length": 47, - "parent_index": 3740 + "parent_index": 3741 }, "implemented": true, "statements": [ { - "id": 3743, + "id": 3744, "node_type": 24, "kind": 24, "src": { @@ -68187,12 +69192,12 @@ "start": 64766, "end": 64784, "length": 19, - "parent_index": 3742 + "parent_index": 3743 }, "argument_types": [], "arguments": [], "expression": { - "id": 3744, + "id": 3745, "node_type": 16, "src": { "line": 1803, @@ -68200,7 +69205,7 @@ "start": 64766, "end": 64782, "length": 17, - "parent_index": 3743 + "parent_index": 3744 }, "name": "_requireNotPaused", "type_description": { @@ -68209,7 +69214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireNotPaused" }, "type_description": { "type_identifier": "t_function_$", @@ -68217,7 +69223,7 @@ } }, { - "id": 3745, + "id": 3746, "node_type": 82, "src": { "line": 1804, @@ -68225,7 +69231,7 @@ "start": 64795, "end": 64795, "length": 1, - "parent_index": 3742 + "parent_index": 3743 }, "name": "_", "type_description": { @@ -68234,13 +69240,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 3747, + "id": 3748, "name": "whenPaused", "node_type": 68, "src": { @@ -68249,7 +69256,7 @@ "start": 64981, "end": 65046, "length": 66, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1814, @@ -68257,12 +69264,12 @@ "start": 64990, "end": 64999, "length": 10, - "parent_index": 3747 + "parent_index": 3748 }, "visibility": 1, "virtual": false, "parameters": { - "id": 3748, + "id": 3749, "node_type": 43, "src": { "line": 1814, @@ -68270,13 +69277,13 @@ "start": 64981, "end": 65046, "length": 66, - "parent_index": 3701 + "parent_index": 3702 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 3749, + "id": 3750, "node_type": 46, "kind": 0, "src": { @@ -68285,12 +69292,12 @@ "start": 65003, "end": 65046, "length": 44, - "parent_index": 3747 + "parent_index": 3748 }, "implemented": true, "statements": [ { - "id": 3750, + "id": 3751, "node_type": 24, "kind": 24, "src": { @@ -68299,12 +69306,12 @@ "start": 65013, "end": 65028, "length": 16, - "parent_index": 3749 + "parent_index": 3750 }, "argument_types": [], "arguments": [], "expression": { - "id": 3751, + "id": 3752, "node_type": 16, "src": { "line": 1815, @@ -68312,7 +69319,7 @@ "start": 65013, "end": 65026, "length": 14, - "parent_index": 3750 + "parent_index": 3751 }, "name": "_requirePaused", "type_description": { @@ -68321,7 +69328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requirePaused" }, "type_description": { "type_identifier": "t_function_$", @@ -68329,7 +69337,7 @@ } }, { - "id": 3752, + "id": 3753, "node_type": 82, "src": { "line": 1816, @@ -68337,7 +69345,7 @@ "start": 65039, "end": 65039, "length": 1, - "parent_index": 3749 + "parent_index": 3750 }, "name": "_", "type_description": { @@ -68346,13 +69354,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 3754, + "id": 3755, "name": "paused", "node_type": 42, "kind": 41, @@ -68362,7 +69371,7 @@ "start": 65142, "end": 65225, "length": 84, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1822, @@ -68370,10 +69379,10 @@ "start": 65151, "end": 65156, "length": 6, - "parent_index": 3754 + "parent_index": 3755 }, "body": { - "id": 3761, + "id": 3762, "node_type": 46, "kind": 0, "src": { @@ -68382,12 +69391,12 @@ "start": 65195, "end": 65225, "length": 31, - "parent_index": 3754 + "parent_index": 3755 }, "implemented": true, "statements": [ { - "id": 3762, + "id": 3763, "node_type": 47, "src": { "line": 1823, @@ -68395,11 +69404,11 @@ "start": 65205, "end": 65219, "length": 15, - "parent_index": 3754 + "parent_index": 3755 }, - "function_return_parameters": 3754, + "function_return_parameters": 3755, "expression": { - "id": 3763, + "id": 3764, "node_type": 16, "src": { "line": 1823, @@ -68407,7 +69416,7 @@ "start": 65212, "end": 65218, "length": 7, - "parent_index": 3762 + "parent_index": 3763 }, "name": "_paused", "type_description": { @@ -68415,8 +69424,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3717, - "is_pure": false + "referenced_declaration": 3718, + "is_pure": false, + "text": "_paused" } } ] @@ -68428,7 +69438,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3755, + "id": 3756, "node_type": 43, "src": { "line": 1822, @@ -68436,11 +69446,11 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3754 + "parent_index": 3755 }, "parameters": [ { - "id": 3756, + "id": 3757, "node_type": 44, "src": { "line": 1822, @@ -68448,12 +69458,12 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3755 + "parent_index": 3756 }, - "scope": 3754, + "scope": 3755, "name": "", "type_name": { - "id": 3757, + "id": 3758, "node_type": 30, "src": { "line": 1822, @@ -68461,7 +69471,7 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3756 + "parent_index": 3757 }, "name": "bool", "referenced_declaration": 0, @@ -68487,7 +69497,7 @@ ] }, "return_parameters": { - "id": 3758, + "id": 3759, "node_type": 43, "src": { "line": 1822, @@ -68495,11 +69505,11 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3754 + "parent_index": 3755 }, "parameters": [ { - "id": 3759, + "id": 3760, "node_type": 44, "src": { "line": 1822, @@ -68507,12 +69517,12 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3758 + "parent_index": 3759 }, - "scope": 3754, + "scope": 3755, "name": "", "type_name": { - "id": 3760, + "id": 3761, "node_type": 30, "src": { "line": 1822, @@ -68520,7 +69530,7 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3759 + "parent_index": 3760 }, "name": "bool", "referenced_declaration": 0, @@ -68547,14 +69557,15 @@ }, "signature_raw": "paused(bool)", "signature": "837150cf", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { - "id": 3765, + "id": 3766, "name": "_requireNotPaused", "node_type": 42, "kind": 41, @@ -68564,7 +69575,7 @@ "start": 65294, "end": 65399, "length": 106, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1829, @@ -68572,10 +69583,10 @@ "start": 65303, "end": 65319, "length": 17, - "parent_index": 3765 + "parent_index": 3766 }, "body": { - "id": 3768, + "id": 3769, "node_type": 46, "kind": 0, "src": { @@ -68584,12 +69595,12 @@ "start": 65345, "end": 65399, "length": 55, - "parent_index": 3765 + "parent_index": 3766 }, "implemented": true, "statements": [ { - "id": 3769, + "id": 3770, "node_type": 24, "kind": 24, "src": { @@ -68598,7 +69609,7 @@ "start": 65355, "end": 65392, "length": 38, - "parent_index": 3768 + "parent_index": 3769 }, "argument_types": [ { @@ -68612,7 +69623,7 @@ ], "arguments": [ { - "id": 3771, + "id": 3772, "node_type": 18, "kind": 104, "src": { @@ -68621,7 +69632,7 @@ "start": 65363, "end": 65371, "length": 9, - "parent_index": 3765 + "parent_index": 3766 }, "operator": 31, "prefix": false, @@ -68630,7 +69641,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 3772, + "id": 3773, "node_type": 24, "kind": 24, "src": { @@ -68639,12 +69650,12 @@ "start": 65364, "end": 65371, "length": 8, - "parent_index": 3771 + "parent_index": 3772 }, "argument_types": [], "arguments": [], "expression": { - "id": 3773, + "id": 3774, "node_type": 16, "src": { "line": 1830, @@ -68652,7 +69663,7 @@ "start": 65364, "end": 65369, "length": 6, - "parent_index": 3772 + "parent_index": 3773 }, "name": "paused", "type_description": { @@ -68661,7 +69672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -68674,7 +69686,7 @@ } }, { - "id": 3774, + "id": 3775, "node_type": 17, "kind": 50, "value": "Pausable: paused", @@ -68685,7 +69697,7 @@ "start": 65374, "end": 65391, "length": 18, - "parent_index": 3769 + "parent_index": 3770 }, "type_description": { "type_identifier": "t_string_literal", @@ -68699,11 +69711,12 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { - "id": 3770, + "id": 3771, "node_type": 16, "src": { "line": 1830, @@ -68711,7 +69724,7 @@ "start": 65355, "end": 65361, "length": 7, - "parent_index": 3769 + "parent_index": 3770 }, "name": "require", "type_description": { @@ -68720,7 +69733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -68736,7 +69750,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3766, + "id": 3767, "node_type": 43, "src": { "line": 1829, @@ -68744,13 +69758,13 @@ "start": 65294, "end": 65399, "length": 106, - "parent_index": 3765 + "parent_index": 3766 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3767, + "id": 3768, "node_type": 43, "src": { "line": 1829, @@ -68758,21 +69772,22 @@ "start": 65294, "end": 65399, "length": 106, - "parent_index": 3765 + "parent_index": 3766 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_requireNotPaused()", "signature": "abb87a6f", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requireNotPaused()internalviewvirtual{require(!paused(),\"Pausable: paused\");}" }, { - "id": 3776, + "id": 3777, "name": "_requirePaused", "node_type": 42, "kind": 41, @@ -68782,7 +69797,7 @@ "start": 65472, "end": 65577, "length": 106, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1836, @@ -68790,10 +69805,10 @@ "start": 65481, "end": 65494, "length": 14, - "parent_index": 3776 + "parent_index": 3777 }, "body": { - "id": 3779, + "id": 3780, "node_type": 46, "kind": 0, "src": { @@ -68802,12 +69817,12 @@ "start": 65520, "end": 65577, "length": 58, - "parent_index": 3776 + "parent_index": 3777 }, "implemented": true, "statements": [ { - "id": 3780, + "id": 3781, "node_type": 24, "kind": 24, "src": { @@ -68816,7 +69831,7 @@ "start": 65530, "end": 65570, "length": 41, - "parent_index": 3779 + "parent_index": 3780 }, "argument_types": [ { @@ -68830,7 +69845,7 @@ ], "arguments": [ { - "id": 3782, + "id": 3783, "node_type": 24, "kind": 24, "src": { @@ -68839,12 +69854,12 @@ "start": 65538, "end": 65545, "length": 8, - "parent_index": 3780 + "parent_index": 3781 }, "argument_types": [], "arguments": [], "expression": { - "id": 3783, + "id": 3784, "node_type": 16, "src": { "line": 1837, @@ -68852,7 +69867,7 @@ "start": 65538, "end": 65543, "length": 6, - "parent_index": 3782 + "parent_index": 3783 }, "name": "paused", "type_description": { @@ -68861,7 +69876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -68869,7 +69885,7 @@ } }, { - "id": 3784, + "id": 3785, "node_type": 17, "kind": 50, "value": "Pausable: not paused", @@ -68880,7 +69896,7 @@ "start": 65548, "end": 65569, "length": 22, - "parent_index": 3780 + "parent_index": 3781 }, "type_description": { "type_identifier": "t_string_literal", @@ -68894,11 +69910,12 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { - "id": 3781, + "id": 3782, "node_type": 16, "src": { "line": 1837, @@ -68906,7 +69923,7 @@ "start": 65530, "end": 65536, "length": 7, - "parent_index": 3780 + "parent_index": 3781 }, "name": "require", "type_description": { @@ -68915,7 +69932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -68931,7 +69949,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3777, + "id": 3778, "node_type": 43, "src": { "line": 1836, @@ -68939,13 +69957,13 @@ "start": 65472, "end": 65577, "length": 106, - "parent_index": 3776 + "parent_index": 3777 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3778, + "id": 3779, "node_type": 43, "src": { "line": 1836, @@ -68953,21 +69971,22 @@ "start": 65472, "end": 65577, "length": 106, - "parent_index": 3776 + "parent_index": 3777 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_requirePaused()", "signature": "4a994e05", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requirePaused()internalviewvirtual{require(paused(),\"Pausable: not paused\");}" }, { - "id": 3786, + "id": 3787, "name": "_pause", "node_type": 42, "kind": 41, @@ -68977,7 +69996,7 @@ "start": 65713, "end": 65827, "length": 115, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1847, @@ -68985,10 +70004,10 @@ "start": 65722, "end": 65727, "length": 6, - "parent_index": 3786 + "parent_index": 3787 }, "body": { - "id": 3791, + "id": 3792, "node_type": 46, "kind": 0, "src": { @@ -68997,12 +70016,12 @@ "start": 65762, "end": 65827, "length": 66, - "parent_index": 3786 + "parent_index": 3787 }, "implemented": true, "statements": [ { - "id": 3792, + "id": 3793, "node_type": 27, "src": { "line": 1848, @@ -69010,10 +70029,10 @@ "start": 65772, "end": 65786, "length": 15, - "parent_index": 3791 + "parent_index": 3792 }, "expression": { - "id": 3793, + "id": 3794, "node_type": 27, "src": { "line": 1848, @@ -69021,11 +70040,11 @@ "start": 65772, "end": 65785, "length": 14, - "parent_index": 3792 + "parent_index": 3793 }, "operator": 11, "left_expression": { - "id": 3794, + "id": 3795, "node_type": 16, "src": { "line": 1848, @@ -69033,7 +70052,7 @@ "start": 65772, "end": 65778, "length": 7, - "parent_index": 3793 + "parent_index": 3794 }, "name": "_paused", "type_description": { @@ -69041,11 +70060,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3717, - "is_pure": false + "referenced_declaration": 3718, + "is_pure": false, + "text": "_paused" }, "right_expression": { - "id": 3795, + "id": 3796, "node_type": 17, "kind": 61, "value": "true", @@ -69056,7 +70076,7 @@ "start": 65782, "end": 65785, "length": 4, - "parent_index": 3793 + "parent_index": 3794 }, "type_description": { "type_identifier": "t_bool", @@ -69064,7 +70084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -69074,10 +70095,11 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { - "id": 3796, + "id": 3797, "node_type": 64, "src": { "line": 1849, @@ -69085,11 +70107,11 @@ "start": 65796, "end": 65821, "length": 26, - "parent_index": 3786 + "parent_index": 3787 }, "arguments": [ { - "id": 3797, + "id": 3798, "node_type": 24, "kind": 24, "src": { @@ -69098,12 +70120,12 @@ "start": 65808, "end": 65819, "length": 12, - "parent_index": 3796 + "parent_index": 3797 }, "argument_types": [], "arguments": [], "expression": { - "id": 3798, + "id": 3799, "node_type": 16, "src": { "line": 1849, @@ -69111,7 +70133,7 @@ "start": 65808, "end": 65817, "length": 10, - "parent_index": 3797 + "parent_index": 3798 }, "name": "_msgSender", "type_description": { @@ -69120,7 +70142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -69129,7 +70152,7 @@ } ], "expression": { - "id": 3799, + "id": 3800, "node_type": 16, "src": { "line": 1849, @@ -69137,16 +70160,17 @@ "start": 65801, "end": 65806, "length": 6, - "parent_index": 3796 + "parent_index": 3797 }, "name": "Paused", "type_description": { - "type_identifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263707", + "type_identifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263708", "type_string": "event PausableUpgradeable.Paused" }, "overloaded_declarations": [], - "referenced_declaration": 3707, - "is_pure": false + "referenced_declaration": 3708, + "is_pure": false, + "text": "Paused" } } ] @@ -69157,7 +70181,7 @@ "virtual": true, "modifiers": [ { - "id": 3788, + "id": 3789, "name": "whenNotPaused", "node_type": 72, "kind": 72, @@ -69167,12 +70191,12 @@ "start": 65748, "end": 65760, "length": 13, - "parent_index": 3786 + "parent_index": 3787 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3789, + "id": 3790, "name": "whenNotPaused", "node_type": 0, "src": { @@ -69181,14 +70205,14 @@ "start": 65748, "end": 65760, "length": 13, - "parent_index": 3788 + "parent_index": 3789 } } } ], "overrides": [], "parameters": { - "id": 3787, + "id": 3788, "node_type": 43, "src": { "line": 1847, @@ -69196,13 +70220,13 @@ "start": 65713, "end": 65827, "length": 115, - "parent_index": 3786 + "parent_index": 3787 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3790, + "id": 3791, "node_type": 43, "src": { "line": 1847, @@ -69210,21 +70234,22 @@ "start": 65713, "end": 65827, "length": 115, - "parent_index": 3786 + "parent_index": 3787 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_pause()", "signature": "320b2ad9", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { - "id": 3801, + "id": 3802, "name": "_unpause", "node_type": 42, "kind": 41, @@ -69234,7 +70259,7 @@ "start": 65960, "end": 66076, "length": 117, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1859, @@ -69242,10 +70267,10 @@ "start": 65969, "end": 65976, "length": 8, - "parent_index": 3801 + "parent_index": 3802 }, "body": { - "id": 3806, + "id": 3807, "node_type": 46, "kind": 0, "src": { @@ -69254,12 +70279,12 @@ "start": 66008, "end": 66076, "length": 69, - "parent_index": 3801 + "parent_index": 3802 }, "implemented": true, "statements": [ { - "id": 3807, + "id": 3808, "node_type": 27, "src": { "line": 1860, @@ -69267,10 +70292,10 @@ "start": 66018, "end": 66033, "length": 16, - "parent_index": 3806 + "parent_index": 3807 }, "expression": { - "id": 3808, + "id": 3809, "node_type": 27, "src": { "line": 1860, @@ -69278,11 +70303,11 @@ "start": 66018, "end": 66032, "length": 15, - "parent_index": 3807 + "parent_index": 3808 }, "operator": 11, "left_expression": { - "id": 3809, + "id": 3810, "node_type": 16, "src": { "line": 1860, @@ -69290,7 +70315,7 @@ "start": 66018, "end": 66024, "length": 7, - "parent_index": 3808 + "parent_index": 3809 }, "name": "_paused", "type_description": { @@ -69298,11 +70323,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3717, - "is_pure": false + "referenced_declaration": 3718, + "is_pure": false, + "text": "_paused" }, "right_expression": { - "id": 3810, + "id": 3811, "node_type": 17, "kind": 61, "value": "false", @@ -69313,7 +70339,7 @@ "start": 66028, "end": 66032, "length": 5, - "parent_index": 3808 + "parent_index": 3809 }, "type_description": { "type_identifier": "t_bool", @@ -69321,7 +70347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -69331,10 +70358,11 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { - "id": 3811, + "id": 3812, "node_type": 64, "src": { "line": 1861, @@ -69342,11 +70370,11 @@ "start": 66043, "end": 66070, "length": 28, - "parent_index": 3801 + "parent_index": 3802 }, "arguments": [ { - "id": 3812, + "id": 3813, "node_type": 24, "kind": 24, "src": { @@ -69355,12 +70383,12 @@ "start": 66057, "end": 66068, "length": 12, - "parent_index": 3811 + "parent_index": 3812 }, "argument_types": [], "arguments": [], "expression": { - "id": 3813, + "id": 3814, "node_type": 16, "src": { "line": 1861, @@ -69368,7 +70396,7 @@ "start": 66057, "end": 66066, "length": 10, - "parent_index": 3812 + "parent_index": 3813 }, "name": "_msgSender", "type_description": { @@ -69377,7 +70405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -69386,7 +70415,7 @@ } ], "expression": { - "id": 3814, + "id": 3815, "node_type": 16, "src": { "line": 1861, @@ -69394,16 +70423,17 @@ "start": 66048, "end": 66055, "length": 8, - "parent_index": 3811 + "parent_index": 3812 }, "name": "Unpaused", "type_description": { - "type_identifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263712", + "type_identifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263713", "type_string": "event PausableUpgradeable.Unpaused" }, "overloaded_declarations": [], - "referenced_declaration": 3712, - "is_pure": false + "referenced_declaration": 3713, + "is_pure": false, + "text": "Unpaused" } } ] @@ -69414,7 +70444,7 @@ "virtual": true, "modifiers": [ { - "id": 3803, + "id": 3804, "name": "whenPaused", "node_type": 72, "kind": 72, @@ -69424,12 +70454,12 @@ "start": 65997, "end": 66006, "length": 10, - "parent_index": 3801 + "parent_index": 3802 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3804, + "id": 3805, "name": "whenPaused", "node_type": 0, "src": { @@ -69438,14 +70468,14 @@ "start": 65997, "end": 66006, "length": 10, - "parent_index": 3803 + "parent_index": 3804 } } } ], "overrides": [], "parameters": { - "id": 3802, + "id": 3803, "node_type": 43, "src": { "line": 1859, @@ -69453,13 +70483,13 @@ "start": 65960, "end": 66076, "length": 117, - "parent_index": 3801 + "parent_index": 3802 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3805, + "id": 3806, "node_type": 43, "src": { "line": 1859, @@ -69467,21 +70497,22 @@ "start": 65960, "end": 66076, "length": 117, - "parent_index": 3801 + "parent_index": 3802 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_unpause()", "signature": "fc8234cb", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" }, { - "id": 3816, + "id": 3817, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -69492,9 +70523,9 @@ "start": 66342, "end": 66367, "length": 26, - "parent_index": 3701 + "parent_index": 3702 }, - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_rational_49_by_1", "type_string": "int_const 49" @@ -69503,7 +70534,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3817, + "id": 3818, "node_type": 16, "src": { "line": 1869, @@ -69511,12 +70542,12 @@ "start": 66342, "end": 66348, "length": 7, - "parent_index": 3816 + "parent_index": 3817 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 3819, + "id": 3820, "node_type": 17, "kind": 49, "value": "49", @@ -69527,7 +70558,7 @@ "start": 66350, "end": 66351, "length": 2, - "parent_index": 3817 + "parent_index": 3818 }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -69535,7 +70566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -69548,13 +70580,13 @@ "linearized_base_contracts": [ 1894, 2045, - 3701, - 3699, - 3700 + 3702, + 3700, + 3701 ], "base_contracts": [ { - "id": 3702, + "id": 3703, "node_type": 62, "src": { "line": 1771, @@ -69562,10 +70594,10 @@ "start": 63981, "end": 63993, "length": 13, - "parent_index": 3701 + "parent_index": 3702 }, "base_name": { - "id": 3703, + "id": 3704, "node_type": 52, "src": { "line": 1771, @@ -69573,14 +70605,14 @@ "start": 63981, "end": 63993, "length": 13, - "parent_index": 3701 + "parent_index": 3702 }, "name": "Initializable", "referenced_declaration": 1894 } }, { - "id": 3704, + "id": 3705, "node_type": 62, "src": { "line": 1771, @@ -69588,10 +70620,10 @@ "start": 63996, "end": 64013, "length": 18, - "parent_index": 3701 + "parent_index": 3702 }, "base_name": { - "id": 3705, + "id": 3706, "node_type": 52, "src": { "line": 1771, @@ -69599,7 +70631,7 @@ "start": 63996, "end": 64013, "length": 18, - "parent_index": 3701 + "parent_index": 3702 }, "name": "ContextUpgradeable", "referenced_declaration": 2045 @@ -69609,8 +70641,8 @@ "contract_dependencies": [ 1894, 2045, - 3699, - 3700 + 3700, + 3701 ] } ], @@ -69624,12 +70656,12 @@ } }, { - "id": 3820, + "id": 3821, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 3820, + "id": 3821, "name": "Multicallable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Multicallable.sol" } @@ -69639,7 +70671,7 @@ "node_type": 1, "nodes": [ { - "id": 3838, + "id": 3839, "node_type": 10, "src": { "line": 1874, @@ -69647,7 +70679,7 @@ "start": 66405, "end": 66427, "length": 23, - "parent_index": 3820 + "parent_index": 3821 }, "literals": [ "pragma", @@ -69663,7 +70695,7 @@ "text": "pragma solidity ^0.8.4;" }, { - "id": 3867, + "id": 3868, "name": "Multicallable", "node_type": 35, "src": { @@ -69672,7 +70704,7 @@ "start": 67069, "end": 69595, "length": 2527, - "parent_index": 3820 + "parent_index": 3821 }, "name_location": { "line": 1884, @@ -69680,14 +70712,14 @@ "start": 67087, "end": 67099, "length": 13, - "parent_index": 3867 + "parent_index": 3868 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3869, + "id": 3870, "name": "multicall", "node_type": 42, "kind": 41, @@ -69697,7 +70729,7 @@ "start": 67107, "end": 69593, "length": 2487, - "parent_index": 3867 + "parent_index": 3868 }, "name_location": { "line": 1885, @@ -69705,10 +70737,10 @@ "start": 67116, "end": 67124, "length": 9, - "parent_index": 3869 + "parent_index": 3870 }, "body": { - "id": 3876, + "id": 3877, "node_type": 46, "kind": 0, "src": { @@ -69717,12 +70749,12 @@ "start": 67197, "end": 69593, "length": 2397, - "parent_index": 3869 + "parent_index": 3870 }, "implemented": true, "statements": [ { - "id": 3877, + "id": 3878, "node_type": 89, "src": { "line": 1886, @@ -69730,10 +70762,10 @@ "start": 67207, "end": 69587, "length": 2381, - "parent_index": 3876 + "parent_index": 3877 }, "body": { - "id": 3878, + "id": 3879, "node_type": 111, "kind": 0, "src": { @@ -69742,12 +70774,12 @@ "start": 67207, "end": 69587, "length": 2381, - "parent_index": 3877 + "parent_index": 3878 }, "implemented": false, "statements": [ { - "id": 3879, + "id": 3880, "node_type": 91, "src": { "line": 1887, @@ -69755,11 +70787,11 @@ "start": 67230, "end": 69577, "length": 2348, - "parent_index": 3877 + "parent_index": 3878 }, "statements": [ { - "id": 3880, + "id": 3881, "node_type": 120, "src": { "line": 1887, @@ -69767,11 +70799,11 @@ "start": 67230, "end": 69577, "length": 2348, - "parent_index": 3877 + "parent_index": 3878 }, "condition": null, "body": { - "id": 3881, + "id": 3882, "node_type": 111, "src": { "line": 1887, @@ -69779,11 +70811,11 @@ "start": 67245, "end": 69577, "length": 2333, - "parent_index": 3880 + "parent_index": 3881 }, "statements": [ { - "id": 3882, + "id": 3883, "node_type": 91, "src": { "line": 1888, @@ -69791,11 +70823,11 @@ "start": 67263, "end": 67284, "length": 22, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3883, + "id": 3884, "node_type": 92, "src": { "line": 1888, @@ -69803,11 +70835,11 @@ "start": 67263, "end": 67284, "length": 22, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 3884, + "id": 3885, "node_type": 107, "src": { "line": 1888, @@ -69815,13 +70847,13 @@ "start": 67263, "end": 67269, "length": 7, - "parent_index": 3883 + "parent_index": 3884 }, "name": "results" } ], "value": { - "id": 3885, + "id": 3886, "node_type": 123, "src": { "line": 1888, @@ -69829,10 +70861,10 @@ "start": 67274, "end": 67278, "length": 5, - "parent_index": 3883 + "parent_index": 3884 }, "expression": { - "id": 3886, + "id": 3887, "node_type": 110, "src": { "line": 1888, @@ -69840,10 +70872,10 @@ "start": 67274, "end": 67284, "length": 11, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3887, + "id": 3888, "node_type": 107, "src": { "line": 1888, @@ -69851,13 +70883,13 @@ "start": 67274, "end": 67278, "length": 5, - "parent_index": 3886 + "parent_index": 3887 }, "name": "mload" }, "arguments": [ { - "id": 3888, + "id": 3889, "node_type": 109, "kind": 124, "src": { @@ -69866,7 +70898,7 @@ "start": 67280, "end": 67283, "length": 4, - "parent_index": 3886 + "parent_index": 3887 }, "value": "64", "hex_value": "0x40" @@ -69878,7 +70910,7 @@ ] }, { - "id": 3889, + "id": 3890, "node_type": 91, "src": { "line": 1889, @@ -69886,11 +70918,11 @@ "start": 67346, "end": 67373, "length": 28, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3890, + "id": 3891, "node_type": 110, "src": { "line": 1889, @@ -69898,10 +70930,10 @@ "start": 67346, "end": 67373, "length": 28, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3891, + "id": 3892, "node_type": 107, "src": { "line": 1889, @@ -69909,13 +70941,13 @@ "start": 67346, "end": 67351, "length": 6, - "parent_index": 3890 + "parent_index": 3891 }, "name": "mstore" }, "arguments": [ { - "id": 3892, + "id": 3893, "node_type": 107, "src": { "line": 1889, @@ -69923,12 +70955,12 @@ "start": 67353, "end": 67359, "length": 7, - "parent_index": 3890 + "parent_index": 3891 }, "name": "results" }, { - "id": 3893, + "id": 3894, "node_type": 107, "src": { "line": 1889, @@ -69936,12 +70968,12 @@ "start": 67362, "end": 67365, "length": 4, - "parent_index": 3890 + "parent_index": 3891 }, "name": "data" }, { - "id": 3894, + "id": 3895, "node_type": 107, "src": { "line": 1889, @@ -69949,7 +70981,7 @@ "start": 67367, "end": 67372, "length": 6, - "parent_index": 3890 + "parent_index": 3891 }, "name": "length" } @@ -69958,7 +70990,7 @@ ] }, { - "id": 3895, + "id": 3896, "node_type": 91, "src": { "line": 1890, @@ -69966,11 +70998,11 @@ "start": 67430, "end": 67458, "length": 29, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3896, + "id": 3897, "node_type": 92, "src": { "line": 1890, @@ -69978,11 +71010,11 @@ "start": 67430, "end": 67458, "length": 29, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 3897, + "id": 3898, "node_type": 107, "src": { "line": 1890, @@ -69990,13 +71022,13 @@ "start": 67430, "end": 67436, "length": 7, - "parent_index": 3896 + "parent_index": 3897 }, "name": "results" } ], "value": { - "id": 3898, + "id": 3899, "node_type": 123, "src": { "line": 1890, @@ -70004,10 +71036,10 @@ "start": 67441, "end": 67443, "length": 3, - "parent_index": 3896 + "parent_index": 3897 }, "expression": { - "id": 3899, + "id": 3900, "node_type": 110, "src": { "line": 1890, @@ -70015,10 +71047,10 @@ "start": 67441, "end": 67458, "length": 18, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3900, + "id": 3901, "node_type": 107, "src": { "line": 1890, @@ -70026,13 +71058,13 @@ "start": 67441, "end": 67443, "length": 3, - "parent_index": 3899 + "parent_index": 3900 }, "name": "add" }, "arguments": [ { - "id": 3901, + "id": 3902, "node_type": 107, "src": { "line": 1890, @@ -70040,12 +71072,12 @@ "start": 67445, "end": 67451, "length": 7, - "parent_index": 3899 + "parent_index": 3900 }, "name": "results" }, { - "id": 3902, + "id": 3903, "node_type": 109, "kind": 124, "src": { @@ -70054,7 +71086,7 @@ "start": 67454, "end": 67457, "length": 4, - "parent_index": 3899 + "parent_index": 3900 }, "value": "32", "hex_value": "0x20" @@ -70066,7 +71098,7 @@ ] }, { - "id": 3903, + "id": 3904, "node_type": 91, "src": { "line": 1893, @@ -70074,11 +71106,11 @@ "start": 67542, "end": 67571, "length": 30, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3904, + "id": 3905, "node_type": 122, "src": { "line": 1893, @@ -70086,11 +71118,11 @@ "start": 67542, "end": 67571, "length": 30, - "parent_index": 3903 + "parent_index": 3904 }, "let": true, "value": { - "id": 3906, + "id": 3907, "node_type": 123, "src": { "line": 1893, @@ -70098,10 +71130,10 @@ "start": 67553, "end": 67555, "length": 3, - "parent_index": 3904 + "parent_index": 3905 }, "expression": { - "id": 3907, + "id": 3908, "node_type": 110, "src": { "line": 1893, @@ -70109,10 +71141,10 @@ "start": 67553, "end": 67571, "length": 19, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3908, + "id": 3909, "node_type": 107, "src": { "line": 1893, @@ -70120,13 +71152,13 @@ "start": 67553, "end": 67555, "length": 3, - "parent_index": 3907 + "parent_index": 3908 }, "name": "shl" }, "arguments": [ { - "id": 3909, + "id": 3910, "node_type": 109, "kind": 115, "src": { @@ -70135,13 +71167,13 @@ "start": 67557, "end": 67557, "length": 1, - "parent_index": 3907 + "parent_index": 3908 }, "value": "5", "hex_value": "" }, { - "id": 3910, + "id": 3911, "node_type": 107, "src": { "line": 1893, @@ -70149,12 +71181,12 @@ "start": 67560, "end": 67563, "length": 4, - "parent_index": 3907 + "parent_index": 3908 }, "name": "data" }, { - "id": 3911, + "id": 3912, "node_type": 107, "src": { "line": 1893, @@ -70162,7 +71194,7 @@ "start": 67565, "end": 67570, "length": 6, - "parent_index": 3907 + "parent_index": 3908 }, "name": "length" } @@ -70171,7 +71203,7 @@ }, "variables": [ { - "id": 3905, + "id": 3906, "node_type": 107, "src": { "line": 1893, @@ -70179,7 +71211,7 @@ "start": 67546, "end": 67548, "length": 3, - "parent_index": 3904 + "parent_index": 3905 }, "name": "end" } @@ -70188,7 +71220,7 @@ ] }, { - "id": 3912, + "id": 3913, "node_type": 91, "src": { "line": 1895, @@ -70196,11 +71228,11 @@ "start": 67652, "end": 67690, "length": 39, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3913, + "id": 3914, "node_type": 110, "src": { "line": 1895, @@ -70208,10 +71240,10 @@ "start": 67652, "end": 67690, "length": 39, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3914, + "id": 3915, "node_type": 107, "src": { "line": 1895, @@ -70219,13 +71251,13 @@ "start": 67652, "end": 67663, "length": 12, - "parent_index": 3913 + "parent_index": 3914 }, "name": "calldatacopy" }, "arguments": [ { - "id": 3915, + "id": 3916, "node_type": 107, "src": { "line": 1895, @@ -70233,12 +71265,12 @@ "start": 67665, "end": 67671, "length": 7, - "parent_index": 3913 + "parent_index": 3914 }, "name": "results" }, { - "id": 3916, + "id": 3917, "node_type": 107, "src": { "line": 1895, @@ -70246,12 +71278,12 @@ "start": 67674, "end": 67677, "length": 4, - "parent_index": 3913 + "parent_index": 3914 }, "name": "data" }, { - "id": 3917, + "id": 3918, "node_type": 107, "src": { "line": 1895, @@ -70259,12 +71291,12 @@ "start": 67679, "end": 67684, "length": 6, - "parent_index": 3913 + "parent_index": 3914 }, "name": "offset" }, { - "id": 3918, + "id": 3919, "node_type": 107, "src": { "line": 1895, @@ -70272,7 +71304,7 @@ "start": 67687, "end": 67689, "length": 3, - "parent_index": 3913 + "parent_index": 3914 }, "name": "end" } @@ -70281,7 +71313,7 @@ ] }, { - "id": 3919, + "id": 3920, "node_type": 91, "src": { "line": 1897, @@ -70289,11 +71321,11 @@ "start": 67793, "end": 67823, "length": 31, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3920, + "id": 3921, "node_type": 122, "src": { "line": 1897, @@ -70301,11 +71333,11 @@ "start": 67793, "end": 67823, "length": 31, - "parent_index": 3919 + "parent_index": 3920 }, "let": true, "value": { - "id": 3922, + "id": 3923, "node_type": 123, "src": { "line": 1897, @@ -70313,10 +71345,10 @@ "start": 67807, "end": 67809, "length": 3, - "parent_index": 3920 + "parent_index": 3921 }, "expression": { - "id": 3923, + "id": 3924, "node_type": 110, "src": { "line": 1897, @@ -70324,10 +71356,10 @@ "start": 67807, "end": 67823, "length": 17, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3924, + "id": 3925, "node_type": 107, "src": { "line": 1897, @@ -70335,13 +71367,13 @@ "start": 67807, "end": 67809, "length": 3, - "parent_index": 3923 + "parent_index": 3924 }, "name": "add" }, "arguments": [ { - "id": 3925, + "id": 3926, "node_type": 107, "src": { "line": 1897, @@ -70349,12 +71381,12 @@ "start": 67811, "end": 67817, "length": 7, - "parent_index": 3923 + "parent_index": 3924 }, "name": "results" }, { - "id": 3926, + "id": 3927, "node_type": 107, "src": { "line": 1897, @@ -70362,7 +71394,7 @@ "start": 67820, "end": 67822, "length": 3, - "parent_index": 3923 + "parent_index": 3924 }, "name": "end" } @@ -70371,7 +71403,7 @@ }, "variables": [ { - "id": 3921, + "id": 3922, "node_type": 107, "src": { "line": 1897, @@ -70379,7 +71411,7 @@ "start": 67797, "end": 67802, "length": 6, - "parent_index": 3920 + "parent_index": 3921 }, "name": "memPtr" } @@ -70388,7 +71420,7 @@ ] }, { - "id": 3927, + "id": 3928, "node_type": 91, "src": { "line": 1898, @@ -70396,11 +71428,11 @@ "start": 67841, "end": 67864, "length": 24, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3928, + "id": 3929, "node_type": 92, "src": { "line": 1898, @@ -70408,11 +71440,11 @@ "start": 67841, "end": 67864, "length": 24, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 3929, + "id": 3930, "node_type": 107, "src": { "line": 1898, @@ -70420,13 +71452,13 @@ "start": 67841, "end": 67843, "length": 3, - "parent_index": 3928 + "parent_index": 3929 }, "name": "end" } ], "value": { - "id": 3930, + "id": 3931, "node_type": 123, "src": { "line": 1898, @@ -70434,10 +71466,10 @@ "start": 67848, "end": 67850, "length": 3, - "parent_index": 3928 + "parent_index": 3929 }, "expression": { - "id": 3931, + "id": 3932, "node_type": 110, "src": { "line": 1898, @@ -70445,10 +71477,10 @@ "start": 67848, "end": 67864, "length": 17, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3932, + "id": 3933, "node_type": 107, "src": { "line": 1898, @@ -70456,13 +71488,13 @@ "start": 67848, "end": 67850, "length": 3, - "parent_index": 3931 + "parent_index": 3932 }, "name": "add" }, "arguments": [ { - "id": 3933, + "id": 3934, "node_type": 107, "src": { "line": 1898, @@ -70470,12 +71502,12 @@ "start": 67852, "end": 67858, "length": 7, - "parent_index": 3931 + "parent_index": 3932 }, "name": "results" }, { - "id": 3934, + "id": 3935, "node_type": 107, "src": { "line": 1898, @@ -70483,7 +71515,7 @@ "start": 67861, "end": 67863, "length": 3, - "parent_index": 3931 + "parent_index": 3932 }, "name": "end" } @@ -70494,7 +71526,7 @@ ] }, { - "id": 3935, + "id": 3936, "node_type": 91, "src": { "line": 1901, @@ -70502,11 +71534,11 @@ "start": 67918, "end": 69422, "length": 1505, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3936, + "id": 3937, "node_type": 119, "src": { "line": 1901, @@ -70514,10 +71546,10 @@ "start": 67918, "end": 69422, "length": 1505, - "parent_index": 3877 + "parent_index": 3878 }, "pre": { - "id": 3938, + "id": 3939, "node_type": 111, "src": { "line": 1901, @@ -70525,12 +71557,12 @@ "start": 67922, "end": 67923, "length": 2, - "parent_index": 3936 + "parent_index": 3937 }, "statements": [] }, "post": { - "id": 3939, + "id": 3940, "node_type": 111, "src": { "line": 1901, @@ -70538,12 +71570,12 @@ "start": 67927, "end": 67928, "length": 2, - "parent_index": 3936 + "parent_index": 3937 }, "statements": [] }, "condition": { - "id": 3937, + "id": 3938, "node_type": 109, "kind": 115, "src": { @@ -70552,13 +71584,13 @@ "start": 67925, "end": 67925, "length": 1, - "parent_index": 3936 + "parent_index": 3937 }, "value": "1", "hex_value": "" }, "body": { - "id": 3940, + "id": 3941, "node_type": 111, "src": { "line": 1901, @@ -70566,11 +71598,11 @@ "start": 67930, "end": 69422, "length": 1493, - "parent_index": 3936 + "parent_index": 3937 }, "statements": [ { - "id": 3941, + "id": 3942, "node_type": 91, "src": { "line": 1903, @@ -70578,11 +71610,11 @@ "start": 68024, "end": 68064, "length": 41, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3942, + "id": 3943, "node_type": 122, "src": { "line": 1903, @@ -70590,11 +71622,11 @@ "start": 68024, "end": 68064, "length": 41, - "parent_index": 3941 + "parent_index": 3942 }, "let": true, "value": { - "id": 3944, + "id": 3945, "node_type": 123, "src": { "line": 1903, @@ -70602,10 +71634,10 @@ "start": 68033, "end": 68035, "length": 3, - "parent_index": 3942 + "parent_index": 3943 }, "expression": { - "id": 3945, + "id": 3946, "node_type": 110, "src": { "line": 1903, @@ -70613,10 +71645,10 @@ "start": 68033, "end": 68064, "length": 32, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3946, + "id": 3947, "node_type": 107, "src": { "line": 1903, @@ -70624,13 +71656,13 @@ "start": 68033, "end": 68035, "length": 3, - "parent_index": 3945 + "parent_index": 3946 }, "name": "add" }, "arguments": [ { - "id": 3947, + "id": 3948, "node_type": 107, "src": { "line": 1903, @@ -70638,12 +71670,12 @@ "start": 68037, "end": 68040, "length": 4, - "parent_index": 3945 + "parent_index": 3946 }, "name": "data" }, { - "id": 3948, + "id": 3949, "node_type": 107, "src": { "line": 1903, @@ -70651,12 +71683,12 @@ "start": 68042, "end": 68047, "length": 6, - "parent_index": 3945 + "parent_index": 3946 }, "name": "offset" }, { - "id": 3949, + "id": 3950, "node_type": 110, "src": { "line": 1903, @@ -70664,10 +71696,10 @@ "start": 68050, "end": 68063, "length": 14, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3950, + "id": 3951, "node_type": 107, "src": { "line": 1903, @@ -70675,13 +71707,13 @@ "start": 68050, "end": 68054, "length": 5, - "parent_index": 3949 + "parent_index": 3950 }, "name": "mload" }, "arguments": [ { - "id": 3951, + "id": 3952, "node_type": 107, "src": { "line": 1903, @@ -70689,7 +71721,7 @@ "start": 68056, "end": 68062, "length": 7, - "parent_index": 3949 + "parent_index": 3950 }, "name": "results" } @@ -70700,7 +71732,7 @@ }, "variables": [ { - "id": 3943, + "id": 3944, "node_type": 107, "src": { "line": 1903, @@ -70708,7 +71740,7 @@ "start": 68028, "end": 68028, "length": 1, - "parent_index": 3942 + "parent_index": 3943 }, "name": "o" } @@ -70717,7 +71749,7 @@ ] }, { - "id": 3952, + "id": 3953, "node_type": 91, "src": { "line": 1905, @@ -70725,11 +71757,11 @@ "start": 68161, "end": 68384, "length": 224, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3953, + "id": 3954, "node_type": 110, "src": { "line": 1905, @@ -70737,10 +71769,10 @@ "start": 68161, "end": 68384, "length": 224, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3954, + "id": 3955, "node_type": 107, "src": { "line": 1905, @@ -70748,13 +71780,13 @@ "start": 68161, "end": 68172, "length": 12, - "parent_index": 3953 + "parent_index": 3954 }, "name": "calldatacopy" }, "arguments": [ { - "id": 3955, + "id": 3956, "node_type": 107, "src": { "line": 1906, @@ -70762,12 +71794,12 @@ "start": 68199, "end": 68204, "length": 6, - "parent_index": 3953 + "parent_index": 3954 }, "name": "memPtr" }, { - "id": 3956, + "id": 3957, "node_type": 110, "src": { "line": 1907, @@ -70775,10 +71807,10 @@ "start": 68231, "end": 68242, "length": 12, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3957, + "id": 3958, "node_type": 107, "src": { "line": 1907, @@ -70786,13 +71818,13 @@ "start": 68231, "end": 68233, "length": 3, - "parent_index": 3956 + "parent_index": 3957 }, "name": "add" }, "arguments": [ { - "id": 3958, + "id": 3959, "node_type": 107, "src": { "line": 1907, @@ -70800,12 +71832,12 @@ "start": 68235, "end": 68235, "length": 1, - "parent_index": 3956 + "parent_index": 3957 }, "name": "o" }, { - "id": 3959, + "id": 3960, "node_type": 109, "kind": 124, "src": { @@ -70814,7 +71846,7 @@ "start": 68238, "end": 68241, "length": 4, - "parent_index": 3956 + "parent_index": 3957 }, "value": "32", "hex_value": "0x20" @@ -70822,7 +71854,7 @@ ] }, { - "id": 3960, + "id": 3961, "node_type": 110, "src": { "line": 1908, @@ -70830,10 +71862,10 @@ "start": 68312, "end": 68326, "length": 15, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3961, + "id": 3962, "node_type": 107, "src": { "line": 1908, @@ -70841,13 +71873,13 @@ "start": 68312, "end": 68323, "length": 12, - "parent_index": 3960 + "parent_index": 3961 }, "name": "calldataload" }, "arguments": [ { - "id": 3962, + "id": 3963, "node_type": 107, "src": { "line": 1908, @@ -70855,7 +71887,7 @@ "start": 68325, "end": 68325, "length": 1, - "parent_index": 3960 + "parent_index": 3961 }, "name": "o" } @@ -70866,7 +71898,7 @@ ] }, { - "id": 3963, + "id": 3964, "node_type": 91, "src": { "line": 1910, @@ -70874,11 +71906,11 @@ "start": 68406, "end": 68708, "length": 303, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3964, + "id": 3965, "node_type": 120, "src": { "line": 1910, @@ -70886,10 +71918,10 @@ "start": 68406, "end": 68708, "length": 303, - "parent_index": 3877 + "parent_index": 3878 }, "condition": { - "id": 3965, + "id": 3966, "node_type": 110, "src": { "line": 1910, @@ -70897,10 +71929,10 @@ "start": 68409, "end": 68483, "length": 75, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3966, + "id": 3967, "node_type": 107, "src": { "line": 1910, @@ -70908,13 +71940,13 @@ "start": 68409, "end": 68414, "length": 6, - "parent_index": 3965 + "parent_index": 3966 }, "name": "iszero" }, "arguments": [ { - "id": 3967, + "id": 3968, "node_type": 110, "src": { "line": 1910, @@ -70922,10 +71954,10 @@ "start": 68416, "end": 68482, "length": 67, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3968, + "id": 3969, "node_type": 107, "src": { "line": 1910, @@ -70933,13 +71965,13 @@ "start": 68416, "end": 68427, "length": 12, - "parent_index": 3967 + "parent_index": 3968 }, "name": "delegatecall" }, "arguments": [ { - "id": 3969, + "id": 3970, "node_type": 110, "src": { "line": 1910, @@ -70947,10 +71979,10 @@ "start": 68429, "end": 68433, "length": 5, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3970, + "id": 3971, "node_type": 107, "src": { "line": 1910, @@ -70958,14 +71990,14 @@ "start": 68429, "end": 68431, "length": 3, - "parent_index": 3969 + "parent_index": 3970 }, "name": "gas" }, "arguments": [] }, { - "id": 3971, + "id": 3972, "node_type": 110, "src": { "line": 1910, @@ -70973,10 +72005,10 @@ "start": 68436, "end": 68444, "length": 9, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3972, + "id": 3973, "node_type": 107, "src": { "line": 1910, @@ -70984,14 +72016,14 @@ "start": 68436, "end": 68442, "length": 7, - "parent_index": 3971 + "parent_index": 3972 }, "name": "address" }, "arguments": [] }, { - "id": 3973, + "id": 3974, "node_type": 107, "src": { "line": 1910, @@ -70999,12 +72031,12 @@ "start": 68447, "end": 68452, "length": 6, - "parent_index": 3967 + "parent_index": 3968 }, "name": "memPtr" }, { - "id": 3974, + "id": 3975, "node_type": 110, "src": { "line": 1910, @@ -71012,10 +72044,10 @@ "start": 68455, "end": 68469, "length": 15, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3975, + "id": 3976, "node_type": 107, "src": { "line": 1910, @@ -71023,13 +72055,13 @@ "start": 68455, "end": 68466, "length": 12, - "parent_index": 3974 + "parent_index": 3975 }, "name": "calldataload" }, "arguments": [ { - "id": 3976, + "id": 3977, "node_type": 107, "src": { "line": 1910, @@ -71037,14 +72069,14 @@ "start": 68468, "end": 68468, "length": 1, - "parent_index": 3974 + "parent_index": 3975 }, "name": "o" } ] }, { - "id": 3977, + "id": 3978, "node_type": 109, "kind": 124, "src": { @@ -71053,13 +72085,13 @@ "start": 68472, "end": 68475, "length": 4, - "parent_index": 3967 + "parent_index": 3968 }, "value": "0", "hex_value": "0x00" }, { - "id": 3978, + "id": 3979, "node_type": 109, "kind": 124, "src": { @@ -71068,7 +72100,7 @@ "start": 68478, "end": 68481, "length": 4, - "parent_index": 3967 + "parent_index": 3968 }, "value": "0", "hex_value": "0x00" @@ -71078,7 +72110,7 @@ ] }, "body": { - "id": 3979, + "id": 3980, "node_type": 111, "src": { "line": 1910, @@ -71086,11 +72118,11 @@ "start": 68485, "end": 68708, "length": 224, - "parent_index": 3964 + "parent_index": 3965 }, "statements": [ { - "id": 3980, + "id": 3981, "node_type": 91, "src": { "line": 1912, @@ -71098,11 +72130,11 @@ "start": 68588, "end": 68631, "length": 44, - "parent_index": 3979 + "parent_index": 3980 }, "statements": [ { - "id": 3981, + "id": 3982, "node_type": 110, "src": { "line": 1912, @@ -71110,10 +72142,10 @@ "start": 68588, "end": 68631, "length": 44, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3982, + "id": 3983, "node_type": 107, "src": { "line": 1912, @@ -71121,13 +72153,13 @@ "start": 68588, "end": 68601, "length": 14, - "parent_index": 3981 + "parent_index": 3982 }, "name": "returndatacopy" }, "arguments": [ { - "id": 3983, + "id": 3984, "node_type": 109, "kind": 124, "src": { @@ -71136,13 +72168,13 @@ "start": 68603, "end": 68606, "length": 4, - "parent_index": 3981 + "parent_index": 3982 }, "value": "0", "hex_value": "0x00" }, { - "id": 3984, + "id": 3985, "node_type": 109, "kind": 124, "src": { @@ -71151,13 +72183,13 @@ "start": 68609, "end": 68612, "length": 4, - "parent_index": 3981 + "parent_index": 3982 }, "value": "0", "hex_value": "0x00" }, { - "id": 3985, + "id": 3986, "node_type": 110, "src": { "line": 1912, @@ -71165,10 +72197,10 @@ "start": 68615, "end": 68630, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3986, + "id": 3987, "node_type": 107, "src": { "line": 1912, @@ -71176,7 +72208,7 @@ "start": 68615, "end": 68628, "length": 14, - "parent_index": 3985 + "parent_index": 3986 }, "name": "returndatasize" }, @@ -71187,7 +72219,7 @@ ] }, { - "id": 3987, + "id": 3988, "node_type": 91, "src": { "line": 1913, @@ -71195,11 +72227,11 @@ "start": 68657, "end": 68686, "length": 30, - "parent_index": 3979 + "parent_index": 3980 }, "statements": [ { - "id": 3988, + "id": 3989, "node_type": 110, "src": { "line": 1913, @@ -71207,10 +72239,10 @@ "start": 68657, "end": 68686, "length": 30, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3989, + "id": 3990, "node_type": 107, "src": { "line": 1913, @@ -71218,13 +72250,13 @@ "start": 68657, "end": 68662, "length": 6, - "parent_index": 3988 + "parent_index": 3989 }, "name": "revert" }, "arguments": [ { - "id": 3990, + "id": 3991, "node_type": 109, "kind": 124, "src": { @@ -71233,13 +72265,13 @@ "start": 68664, "end": 68667, "length": 4, - "parent_index": 3988 + "parent_index": 3989 }, "value": "0", "hex_value": "0x00" }, { - "id": 3991, + "id": 3992, "node_type": 110, "src": { "line": 1913, @@ -71247,10 +72279,10 @@ "start": 68670, "end": 68685, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3992, + "id": 3993, "node_type": 107, "src": { "line": 1913, @@ -71258,7 +72290,7 @@ "start": 68670, "end": 68683, "length": 14, - "parent_index": 3991 + "parent_index": 3992 }, "name": "returndatasize" }, @@ -71274,7 +72306,7 @@ ] }, { - "id": 3993, + "id": 3994, "node_type": 91, "src": { "line": 1916, @@ -71282,11 +72314,11 @@ "start": 68797, "end": 68819, "length": 23, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3994, + "id": 3995, "node_type": 110, "src": { "line": 1916, @@ -71294,10 +72326,10 @@ "start": 68797, "end": 68819, "length": 23, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3995, + "id": 3996, "node_type": 107, "src": { "line": 1916, @@ -71305,13 +72337,13 @@ "start": 68797, "end": 68802, "length": 6, - "parent_index": 3994 + "parent_index": 3995 }, "name": "mstore" }, "arguments": [ { - "id": 3996, + "id": 3997, "node_type": 107, "src": { "line": 1916, @@ -71319,12 +72351,12 @@ "start": 68804, "end": 68810, "length": 7, - "parent_index": 3994 + "parent_index": 3995 }, "name": "results" }, { - "id": 3997, + "id": 3998, "node_type": 107, "src": { "line": 1916, @@ -71332,7 +72364,7 @@ "start": 68813, "end": 68818, "length": 6, - "parent_index": 3994 + "parent_index": 3995 }, "name": "memPtr" } @@ -71341,7 +72373,7 @@ ] }, { - "id": 3998, + "id": 3999, "node_type": 91, "src": { "line": 1917, @@ -71349,11 +72381,11 @@ "start": 68841, "end": 68869, "length": 29, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3999, + "id": 4000, "node_type": 92, "src": { "line": 1917, @@ -71361,11 +72393,11 @@ "start": 68841, "end": 68869, "length": 29, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 4000, + "id": 4001, "node_type": 107, "src": { "line": 1917, @@ -71373,13 +72405,13 @@ "start": 68841, "end": 68847, "length": 7, - "parent_index": 3999 + "parent_index": 4000 }, "name": "results" } ], "value": { - "id": 4001, + "id": 4002, "node_type": 123, "src": { "line": 1917, @@ -71387,10 +72419,10 @@ "start": 68852, "end": 68854, "length": 3, - "parent_index": 3999 + "parent_index": 4000 }, "expression": { - "id": 4002, + "id": 4003, "node_type": 110, "src": { "line": 1917, @@ -71398,10 +72430,10 @@ "start": 68852, "end": 68869, "length": 18, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4003, + "id": 4004, "node_type": 107, "src": { "line": 1917, @@ -71409,13 +72441,13 @@ "start": 68852, "end": 68854, "length": 3, - "parent_index": 4002 + "parent_index": 4003 }, "name": "add" }, "arguments": [ { - "id": 4004, + "id": 4005, "node_type": 107, "src": { "line": 1917, @@ -71423,12 +72455,12 @@ "start": 68856, "end": 68862, "length": 7, - "parent_index": 4002 + "parent_index": 4003 }, "name": "results" }, { - "id": 4005, + "id": 4006, "node_type": 109, "kind": 124, "src": { @@ -71437,7 +72469,7 @@ "start": 68865, "end": 68868, "length": 4, - "parent_index": 4002 + "parent_index": 4003 }, "value": "32", "hex_value": "0x20" @@ -71449,7 +72481,7 @@ ] }, { - "id": 4006, + "id": 4007, "node_type": 91, "src": { "line": 1919, @@ -71457,11 +72489,11 @@ "start": 68966, "end": 68997, "length": 32, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 4007, + "id": 4008, "node_type": 110, "src": { "line": 1919, @@ -71469,10 +72501,10 @@ "start": 68966, "end": 68997, "length": 32, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4008, + "id": 4009, "node_type": 107, "src": { "line": 1919, @@ -71480,13 +72512,13 @@ "start": 68966, "end": 68971, "length": 6, - "parent_index": 4007 + "parent_index": 4008 }, "name": "mstore" }, "arguments": [ { - "id": 4009, + "id": 4010, "node_type": 107, "src": { "line": 1919, @@ -71494,12 +72526,12 @@ "start": 68973, "end": 68978, "length": 6, - "parent_index": 4007 + "parent_index": 4008 }, "name": "memPtr" }, { - "id": 4010, + "id": 4011, "node_type": 110, "src": { "line": 1919, @@ -71507,10 +72539,10 @@ "start": 68981, "end": 68996, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4011, + "id": 4012, "node_type": 107, "src": { "line": 1919, @@ -71518,7 +72550,7 @@ "start": 68981, "end": 68994, "length": 14, - "parent_index": 4010 + "parent_index": 4011 }, "name": "returndatasize" }, @@ -71529,7 +72561,7 @@ ] }, { - "id": 4012, + "id": 4013, "node_type": 91, "src": { "line": 1920, @@ -71537,11 +72569,11 @@ "start": 69019, "end": 69075, "length": 57, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 4013, + "id": 4014, "node_type": 110, "src": { "line": 1920, @@ -71549,10 +72581,10 @@ "start": 69019, "end": 69075, "length": 57, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4014, + "id": 4015, "node_type": 107, "src": { "line": 1920, @@ -71560,13 +72592,13 @@ "start": 69019, "end": 69032, "length": 14, - "parent_index": 4013 + "parent_index": 4014 }, "name": "returndatacopy" }, "arguments": [ { - "id": 4015, + "id": 4016, "node_type": 110, "src": { "line": 1920, @@ -71574,10 +72606,10 @@ "start": 69034, "end": 69050, "length": 17, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4016, + "id": 4017, "node_type": 107, "src": { "line": 1920, @@ -71585,13 +72617,13 @@ "start": 69034, "end": 69036, "length": 3, - "parent_index": 4015 + "parent_index": 4016 }, "name": "add" }, "arguments": [ { - "id": 4017, + "id": 4018, "node_type": 107, "src": { "line": 1920, @@ -71599,12 +72631,12 @@ "start": 69038, "end": 69043, "length": 6, - "parent_index": 4015 + "parent_index": 4016 }, "name": "memPtr" }, { - "id": 4018, + "id": 4019, "node_type": 109, "kind": 124, "src": { @@ -71613,7 +72645,7 @@ "start": 69046, "end": 69049, "length": 4, - "parent_index": 4015 + "parent_index": 4016 }, "value": "32", "hex_value": "0x20" @@ -71621,7 +72653,7 @@ ] }, { - "id": 4019, + "id": 4020, "node_type": 109, "kind": 124, "src": { @@ -71630,13 +72662,13 @@ "start": 69053, "end": 69056, "length": 4, - "parent_index": 4013 + "parent_index": 4014 }, "value": "0", "hex_value": "0x00" }, { - "id": 4020, + "id": 4021, "node_type": 110, "src": { "line": 1920, @@ -71644,10 +72676,10 @@ "start": 69059, "end": 69074, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4021, + "id": 4022, "node_type": 107, "src": { "line": 1920, @@ -71655,7 +72687,7 @@ "start": 69059, "end": 69072, "length": 14, - "parent_index": 4020 + "parent_index": 4021 }, "name": "returndatasize" }, @@ -71666,7 +72698,7 @@ ] }, { - "id": 4022, + "id": 4023, "node_type": 91, "src": { "line": 1923, @@ -71674,11 +72706,11 @@ "start": 69233, "end": 69307, "length": 75, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 4023, + "id": 4024, "node_type": 92, "src": { "line": 1923, @@ -71686,11 +72718,11 @@ "start": 69233, "end": 69307, "length": 75, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 4024, + "id": 4025, "node_type": 107, "src": { "line": 1923, @@ -71698,13 +72730,13 @@ "start": 69233, "end": 69238, "length": 6, - "parent_index": 4023 + "parent_index": 4024 }, "name": "memPtr" } ], "value": { - "id": 4025, + "id": 4026, "node_type": 123, "src": { "line": 1923, @@ -71712,10 +72744,10 @@ "start": 69243, "end": 69245, "length": 3, - "parent_index": 4023 + "parent_index": 4024 }, "expression": { - "id": 4026, + "id": 4027, "node_type": 110, "src": { "line": 1923, @@ -71723,10 +72755,10 @@ "start": 69243, "end": 69307, "length": 65, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4027, + "id": 4028, "node_type": 107, "src": { "line": 1923, @@ -71734,13 +72766,13 @@ "start": 69243, "end": 69245, "length": 3, - "parent_index": 4026 + "parent_index": 4027 }, "name": "and" }, "arguments": [ { - "id": 4028, + "id": 4029, "node_type": 110, "src": { "line": 1923, @@ -71748,10 +72780,10 @@ "start": 69247, "end": 69286, "length": 40, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4029, + "id": 4030, "node_type": 107, "src": { "line": 1923, @@ -71759,13 +72791,13 @@ "start": 69247, "end": 69249, "length": 3, - "parent_index": 4028 + "parent_index": 4029 }, "name": "add" }, "arguments": [ { - "id": 4030, + "id": 4031, "node_type": 110, "src": { "line": 1923, @@ -71773,10 +72805,10 @@ "start": 69251, "end": 69279, "length": 29, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4031, + "id": 4032, "node_type": 107, "src": { "line": 1923, @@ -71784,13 +72816,13 @@ "start": 69251, "end": 69253, "length": 3, - "parent_index": 4030 + "parent_index": 4031 }, "name": "add" }, "arguments": [ { - "id": 4032, + "id": 4033, "node_type": 107, "src": { "line": 1923, @@ -71798,12 +72830,12 @@ "start": 69255, "end": 69260, "length": 6, - "parent_index": 4030 + "parent_index": 4031 }, "name": "memPtr" }, { - "id": 4033, + "id": 4034, "node_type": 110, "src": { "line": 1923, @@ -71811,10 +72843,10 @@ "start": 69263, "end": 69278, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4034, + "id": 4035, "node_type": 107, "src": { "line": 1923, @@ -71822,7 +72854,7 @@ "start": 69263, "end": 69276, "length": 14, - "parent_index": 4033 + "parent_index": 4034 }, "name": "returndatasize" }, @@ -71831,7 +72863,7 @@ ] }, { - "id": 4035, + "id": 4036, "node_type": 109, "kind": 124, "src": { @@ -71840,7 +72872,7 @@ "start": 69282, "end": 69285, "length": 4, - "parent_index": 4028 + "parent_index": 4029 }, "value": "63", "hex_value": "0x3f" @@ -71848,7 +72880,7 @@ ] }, { - "id": 4036, + "id": 4037, "node_type": 109, "kind": 124, "src": { @@ -71857,7 +72889,7 @@ "start": 69289, "end": 69306, "length": 18, - "parent_index": 4026 + "parent_index": 4027 }, "value": "-32", "hex_value": "0xffffffffffffffe0" @@ -71869,7 +72901,7 @@ ] }, { - "id": 4037, + "id": 4038, "node_type": 91, "src": { "line": 1925, @@ -71877,11 +72909,11 @@ "start": 69368, "end": 69404, "length": 37, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 4038, + "id": 4039, "node_type": 120, "src": { "line": 1925, @@ -71889,10 +72921,10 @@ "start": 69368, "end": 69404, "length": 37, - "parent_index": 3877 + "parent_index": 3878 }, "condition": { - "id": 4039, + "id": 4040, "node_type": 110, "src": { "line": 1925, @@ -71900,10 +72932,10 @@ "start": 69371, "end": 69394, "length": 24, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4040, + "id": 4041, "node_type": 107, "src": { "line": 1925, @@ -71911,13 +72943,13 @@ "start": 69371, "end": 69376, "length": 6, - "parent_index": 4039 + "parent_index": 4040 }, "name": "iszero" }, "arguments": [ { - "id": 4041, + "id": 4042, "node_type": 110, "src": { "line": 1925, @@ -71925,10 +72957,10 @@ "start": 69378, "end": 69393, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4042, + "id": 4043, "node_type": 107, "src": { "line": 1925, @@ -71936,13 +72968,13 @@ "start": 69378, "end": 69379, "length": 2, - "parent_index": 4041 + "parent_index": 4042 }, "name": "lt" }, "arguments": [ { - "id": 4043, + "id": 4044, "node_type": 107, "src": { "line": 1925, @@ -71950,12 +72982,12 @@ "start": 69381, "end": 69387, "length": 7, - "parent_index": 4041 + "parent_index": 4042 }, "name": "results" }, { - "id": 4044, + "id": 4045, "node_type": 107, "src": { "line": 1925, @@ -71963,7 +72995,7 @@ "start": 69390, "end": 69392, "length": 3, - "parent_index": 4041 + "parent_index": 4042 }, "name": "end" } @@ -71972,7 +73004,7 @@ ] }, "body": { - "id": 4045, + "id": 4046, "node_type": 111, "src": { "line": 1925, @@ -71980,11 +73012,11 @@ "start": 69396, "end": 69404, "length": 9, - "parent_index": 4038 + "parent_index": 4039 }, "statements": [ { - "id": 4046, + "id": 4047, "node_type": 91, "src": { "line": 1925, @@ -71992,11 +73024,11 @@ "start": 69398, "end": 69402, "length": 5, - "parent_index": 4045 + "parent_index": 4046 }, "statements": [ { - "id": 4047, + "id": 4048, "node_type": 117, "src": { "line": 1925, @@ -72004,7 +73036,7 @@ "start": 69398, "end": 69402, "length": 5, - "parent_index": 4046 + "parent_index": 4047 } } ] @@ -72020,7 +73052,7 @@ ] }, { - "id": 4048, + "id": 4049, "node_type": 91, "src": { "line": 1928, @@ -72028,11 +73060,11 @@ "start": 69505, "end": 69526, "length": 22, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 4049, + "id": 4050, "node_type": 92, "src": { "line": 1928, @@ -72040,11 +73072,11 @@ "start": 69505, "end": 69526, "length": 22, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 4050, + "id": 4051, "node_type": 107, "src": { "line": 1928, @@ -72052,13 +73084,13 @@ "start": 69505, "end": 69511, "length": 7, - "parent_index": 4049 + "parent_index": 4050 }, "name": "results" } ], "value": { - "id": 4051, + "id": 4052, "node_type": 123, "src": { "line": 1928, @@ -72066,10 +73098,10 @@ "start": 69516, "end": 69520, "length": 5, - "parent_index": 4049 + "parent_index": 4050 }, "expression": { - "id": 4052, + "id": 4053, "node_type": 110, "src": { "line": 1928, @@ -72077,10 +73109,10 @@ "start": 69516, "end": 69526, "length": 11, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4053, + "id": 4054, "node_type": 107, "src": { "line": 1928, @@ -72088,13 +73120,13 @@ "start": 69516, "end": 69520, "length": 5, - "parent_index": 4052 + "parent_index": 4053 }, "name": "mload" }, "arguments": [ { - "id": 4054, + "id": 4055, "node_type": 109, "kind": 124, "src": { @@ -72103,7 +73135,7 @@ "start": 69522, "end": 69525, "length": 4, - "parent_index": 4052 + "parent_index": 4053 }, "value": "64", "hex_value": "0x40" @@ -72115,7 +73147,7 @@ ] }, { - "id": 4055, + "id": 4056, "node_type": 91, "src": { "line": 1929, @@ -72123,11 +73155,11 @@ "start": 69544, "end": 69563, "length": 20, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 4056, + "id": 4057, "node_type": 110, "src": { "line": 1929, @@ -72135,10 +73167,10 @@ "start": 69544, "end": 69563, "length": 20, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4057, + "id": 4058, "node_type": 107, "src": { "line": 1929, @@ -72146,13 +73178,13 @@ "start": 69544, "end": 69549, "length": 6, - "parent_index": 4056 + "parent_index": 4057 }, "name": "mstore" }, "arguments": [ { - "id": 4058, + "id": 4059, "node_type": 109, "kind": 124, "src": { @@ -72161,13 +73193,13 @@ "start": 69551, "end": 69554, "length": 4, - "parent_index": 4056 + "parent_index": 4057 }, "value": "64", "hex_value": "0x40" }, { - "id": 4059, + "id": 4060, "node_type": 107, "src": { "line": 1929, @@ -72175,7 +73207,7 @@ "start": 69557, "end": 69562, "length": 6, - "parent_index": 4056 + "parent_index": 4057 }, "name": "memPtr" } @@ -72200,7 +73232,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3870, + "id": 3871, "node_type": 43, "src": { "line": 1885, @@ -72208,11 +73240,11 @@ "start": 67126, "end": 67146, "length": 21, - "parent_index": 3869 + "parent_index": 3870 }, "parameters": [ { - "id": 3871, + "id": 3872, "node_type": 44, "src": { "line": 1885, @@ -72220,12 +73252,12 @@ "start": 67126, "end": 67146, "length": 21, - "parent_index": 3870 + "parent_index": 3871 }, - "scope": 3869, + "scope": 3870, "name": "data", "type_name": { - "id": 3872, + "id": 3873, "node_type": 16, "src": { "line": 1885, @@ -72233,7 +73265,7 @@ "start": 67126, "end": 67130, "length": 5, - "parent_index": 3871 + "parent_index": 3872 }, "name": "bytes", "referenced_declaration": 0, @@ -72259,7 +73291,7 @@ ] }, "return_parameters": { - "id": 3873, + "id": 3874, "node_type": 43, "src": { "line": 1885, @@ -72267,11 +73299,11 @@ "start": 67173, "end": 67194, "length": 22, - "parent_index": 3869 + "parent_index": 3870 }, "parameters": [ { - "id": 3874, + "id": 3875, "node_type": 44, "src": { "line": 1885, @@ -72279,12 +73311,12 @@ "start": 67173, "end": 67194, "length": 22, - "parent_index": 3873 + "parent_index": 3874 }, - "scope": 3869, + "scope": 3870, "name": "results", "type_name": { - "id": 3875, + "id": 3876, "node_type": 16, "src": { "line": 1885, @@ -72292,7 +73324,7 @@ "start": 67173, "end": 67177, "length": 5, - "parent_index": 3874 + "parent_index": 3875 }, "name": "bytes", "referenced_declaration": 0, @@ -72319,15 +73351,16 @@ }, "signature_raw": "multicall(bytes)", "signature": "29451959", - "scope": 3867, + "scope": 3868, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionmulticall(bytes[]calldatadata)publicpayablereturns(bytes[]memoryresults){assembly{ifdata.length{results:=mload(0x40)mstore(results,data.length)results:=add(results,0x20)letend:=shl(5,data.length)calldatacopy(results,data.offset,end)letmemPtr:=add(results,end)end:=add(results,end)for{}1{}{leto:=add(data.offset,mload(results))calldatacopy(memPtr,add(o,0x20),calldataload(o))ifiszero(delegatecall(gas(),address(),memPtr,calldataload(o),0x00,0x00)){returndatacopy(0x00,0x00,returndatasize())revert(0x00,returndatasize())}mstore(results,memPtr)results:=add(results,0x20)mstore(memPtr,returndatasize())returndatacopy(add(memPtr,0x20),0x00,returndatasize())memPtr:=and(add(add(memPtr,returndatasize()),0x3f),0xffffffffffffffe0)ifiszero(lt(results,end)){break}}results:=mload(0x40)mstore(0x40,memPtr)}}}" } ], "linearized_base_contracts": [ - 3867 + 3868 ], "base_contracts": [], "contract_dependencies": [] @@ -72343,12 +73376,12 @@ } }, { - "id": 4060, + "id": 4061, "base_contracts": [], "license": "AGPL-3.0-only", "exported_symbols": [ { - "id": 4060, + "id": 4061, "name": "ERC20", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC20.sol" } @@ -72358,7 +73391,7 @@ "node_type": 1, "nodes": [ { - "id": 4079, + "id": 4080, "node_type": 10, "src": { "line": 1937, @@ -72366,7 +73399,7 @@ "start": 69641, "end": 69664, "length": 24, - "parent_index": 4060 + "parent_index": 4061 }, "literals": [ "pragma", @@ -72382,7 +73415,7 @@ "text": "pragma solidity \u003e=0.8.0;" }, { - "id": 4108, + "id": 4109, "name": "ERC20", "node_type": 35, "src": { @@ -72391,7 +73424,7 @@ "start": 70070, "end": 76406, "length": 6337, - "parent_index": 4060 + "parent_index": 4061 }, "name_location": { "line": 1943, @@ -72399,14 +73432,14 @@ "start": 70088, "end": 70092, "length": 5, - "parent_index": 4108 + "parent_index": 4109 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 4110, + "id": 4111, "node_type": 57, "src": { "line": 1948, @@ -72414,10 +73447,10 @@ "start": 70279, "end": 70351, "length": 73, - "parent_index": 4108 + "parent_index": 4109 }, "parameters": { - "id": 4111, + "id": 4112, "node_type": 43, "src": { "line": 1948, @@ -72425,11 +73458,11 @@ "start": 70279, "end": 70351, "length": 73, - "parent_index": 4110 + "parent_index": 4111 }, "parameters": [ { - "id": 4112, + "id": 4113, "node_type": 44, "src": { "line": 1948, @@ -72437,12 +73470,12 @@ "start": 70294, "end": 70313, "length": 20, - "parent_index": 4111 + "parent_index": 4112 }, - "scope": 4110, + "scope": 4111, "name": "from", "type_name": { - "id": 4113, + "id": 4114, "node_type": 30, "src": { "line": 1948, @@ -72450,7 +73483,7 @@ "start": 70294, "end": 70300, "length": 7, - "parent_index": 4112 + "parent_index": 4113 }, "name": "address", "state_mutability": 4, @@ -72470,7 +73503,7 @@ "indexed": true }, { - "id": 4114, + "id": 4115, "node_type": 44, "src": { "line": 1948, @@ -72478,12 +73511,12 @@ "start": 70316, "end": 70333, "length": 18, - "parent_index": 4111 + "parent_index": 4112 }, - "scope": 4110, + "scope": 4111, "name": "to", "type_name": { - "id": 4115, + "id": 4116, "node_type": 30, "src": { "line": 1948, @@ -72491,7 +73524,7 @@ "start": 70316, "end": 70322, "length": 7, - "parent_index": 4114 + "parent_index": 4115 }, "name": "address", "state_mutability": 4, @@ -72511,7 +73544,7 @@ "indexed": true }, { - "id": 4116, + "id": 4117, "node_type": 44, "src": { "line": 1948, @@ -72519,12 +73552,12 @@ "start": 70336, "end": 70349, "length": 14, - "parent_index": 4111 + "parent_index": 4112 }, - "scope": 4110, + "scope": 4111, "name": "amount", "type_name": { - "id": 4117, + "id": 4118, "node_type": 30, "src": { "line": 1948, @@ -72532,7 +73565,7 @@ "start": 70336, "end": 70342, "length": 7, - "parent_index": 4116 + "parent_index": 4117 }, "name": "uint256", "referenced_declaration": 0, @@ -72568,12 +73601,12 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" } }, { - "id": 4119, + "id": 4120, "node_type": 57, "src": { "line": 1950, @@ -72581,10 +73614,10 @@ "start": 70358, "end": 70436, "length": 79, - "parent_index": 4108 + "parent_index": 4109 }, "parameters": { - "id": 4120, + "id": 4121, "node_type": 43, "src": { "line": 1950, @@ -72592,11 +73625,11 @@ "start": 70358, "end": 70436, "length": 79, - "parent_index": 4119 + "parent_index": 4120 }, "parameters": [ { - "id": 4121, + "id": 4122, "node_type": 44, "src": { "line": 1950, @@ -72604,12 +73637,12 @@ "start": 70373, "end": 70393, "length": 21, - "parent_index": 4120 + "parent_index": 4121 }, - "scope": 4119, + "scope": 4120, "name": "owner", "type_name": { - "id": 4122, + "id": 4123, "node_type": 30, "src": { "line": 1950, @@ -72617,7 +73650,7 @@ "start": 70373, "end": 70379, "length": 7, - "parent_index": 4121 + "parent_index": 4122 }, "name": "address", "state_mutability": 4, @@ -72637,7 +73670,7 @@ "indexed": true }, { - "id": 4123, + "id": 4124, "node_type": 44, "src": { "line": 1950, @@ -72645,12 +73678,12 @@ "start": 70396, "end": 70418, "length": 23, - "parent_index": 4120 + "parent_index": 4121 }, - "scope": 4119, + "scope": 4120, "name": "spender", "type_name": { - "id": 4124, + "id": 4125, "node_type": 30, "src": { "line": 1950, @@ -72658,7 +73691,7 @@ "start": 70396, "end": 70402, "length": 7, - "parent_index": 4123 + "parent_index": 4124 }, "name": "address", "state_mutability": 4, @@ -72678,7 +73711,7 @@ "indexed": true }, { - "id": 4125, + "id": 4126, "node_type": 44, "src": { "line": 1950, @@ -72686,12 +73719,12 @@ "start": 70421, "end": 70434, "length": 14, - "parent_index": 4120 + "parent_index": 4121 }, - "scope": 4119, + "scope": 4120, "name": "amount", "type_name": { - "id": 4126, + "id": 4127, "node_type": 30, "src": { "line": 1950, @@ -72699,7 +73732,7 @@ "start": 70421, "end": 70427, "length": 7, - "parent_index": 4125 + "parent_index": 4126 }, "name": "uint256", "referenced_declaration": 0, @@ -72735,12 +73768,12 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_ERC20_Approval_\u00264119", + "type_identifier": "t_event\u0026_ERC20_Approval_\u00264120", "type_string": "event ERC20.Approval" } }, { - "id": 4128, + "id": 4129, "name": "name", "is_constant": false, "is_state_variable": true, @@ -72751,9 +73784,9 @@ "start": 70627, "end": 70645, "length": 19, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_string", "type_string": "string" @@ -72762,7 +73795,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4129, + "id": 4130, "node_type": 30, "src": { "line": 1956, @@ -72770,7 +73803,7 @@ "start": 70627, "end": 70632, "length": 6, - "parent_index": 4128 + "parent_index": 4129 }, "name": "string", "referenced_declaration": 0, @@ -72782,7 +73815,7 @@ "initial_value": null }, { - "id": 4131, + "id": 4132, "name": "symbol", "is_constant": false, "is_state_variable": true, @@ -72793,9 +73826,9 @@ "start": 70652, "end": 70672, "length": 21, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_string", "type_string": "string" @@ -72804,7 +73837,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4132, + "id": 4133, "node_type": 30, "src": { "line": 1958, @@ -72812,7 +73845,7 @@ "start": 70652, "end": 70657, "length": 6, - "parent_index": 4131 + "parent_index": 4132 }, "name": "string", "referenced_declaration": 0, @@ -72824,7 +73857,7 @@ "initial_value": null }, { - "id": 4134, + "id": 4135, "name": "decimals", "is_constant": false, "is_state_variable": true, @@ -72835,9 +73868,9 @@ "start": 70679, "end": 70710, "length": 32, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" @@ -72846,7 +73879,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4135, + "id": 4136, "node_type": 30, "src": { "line": 1960, @@ -72854,7 +73887,7 @@ "start": 70679, "end": 70683, "length": 5, - "parent_index": 4134 + "parent_index": 4135 }, "name": "uint8", "referenced_declaration": 0, @@ -72866,7 +73899,7 @@ "initial_value": null }, { - "id": 4137, + "id": 4138, "name": "totalSupply", "is_constant": false, "is_state_variable": true, @@ -72877,9 +73910,9 @@ "start": 70900, "end": 70926, "length": 27, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -72888,7 +73921,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4138, + "id": 4139, "node_type": 30, "src": { "line": 1966, @@ -72896,7 +73929,7 @@ "start": 70900, "end": 70906, "length": 7, - "parent_index": 4137 + "parent_index": 4138 }, "name": "uint256", "referenced_declaration": 0, @@ -72908,7 +73941,7 @@ "initial_value": null }, { - "id": 4140, + "id": 4141, "name": "balanceOf", "is_constant": false, "is_state_variable": true, @@ -72919,9 +73952,9 @@ "start": 70933, "end": 70977, "length": 45, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_mapping_$t_address_$t_uint256$", "type_string": "mapping(address=\u003euint256)" @@ -72930,18 +73963,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4141, - "node_type": 0, + "id": 4142, + "node_type": 53, "src": { "line": 1968, "column": 4, "start": 70933, "end": 70959, "length": 27, - "parent_index": 4140 + "parent_index": 4141 }, "key_type": { - "id": 4142, + "id": 4143, "node_type": 30, "src": { "line": 1968, @@ -72949,7 +73982,7 @@ "start": 70941, "end": 70947, "length": 7, - "parent_index": 4141 + "parent_index": 4142 }, "name": "address", "referenced_declaration": 0, @@ -72964,10 +73997,10 @@ "start": 70941, "end": 70947, "length": 7, - "parent_index": 4141 + "parent_index": 4142 }, "value_type": { - "id": 4143, + "id": 4144, "node_type": 30, "src": { "line": 1968, @@ -72975,7 +74008,7 @@ "start": 70952, "end": 70958, "length": 7, - "parent_index": 4141 + "parent_index": 4142 }, "name": "uint256", "referenced_declaration": 0, @@ -72990,7 +74023,7 @@ "start": 70952, "end": 70958, "length": 7, - "parent_index": 4141 + "parent_index": 4142 }, "referenced_declaration": 0, "type_description": { @@ -73001,7 +74034,7 @@ "initial_value": null }, { - "id": 4145, + "id": 4146, "name": "allowance", "is_constant": false, "is_state_variable": true, @@ -73012,9 +74045,9 @@ "start": 70984, "end": 71048, "length": 65, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$", "type_string": "mapping(address=\u003emapping(address=\u003euint256))" @@ -73023,18 +74056,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4146, - "node_type": 0, + "id": 4147, + "node_type": 53, "src": { "line": 1970, "column": 4, "start": 70984, "end": 71030, "length": 47, - "parent_index": 4145 + "parent_index": 4146 }, "key_type": { - "id": 4147, + "id": 4148, "node_type": 30, "src": { "line": 1970, @@ -73042,7 +74075,7 @@ "start": 70992, "end": 70998, "length": 7, - "parent_index": 4146 + "parent_index": 4147 }, "name": "address", "referenced_declaration": 0, @@ -73057,10 +74090,10 @@ "start": 70992, "end": 70998, "length": 7, - "parent_index": 4146 + "parent_index": 4147 }, "value_type": { - "id": 4148, + "id": 4149, "node_type": 53, "src": { "line": 1970, @@ -73068,11 +74101,11 @@ "start": 71003, "end": 71029, "length": 27, - "parent_index": 4146 + "parent_index": 4147 }, "name": "mapping(address=\u003euint256)", "key_type": { - "id": 4150, + "id": 4151, "node_type": 30, "src": { "line": 1970, @@ -73080,7 +74113,7 @@ "start": 71011, "end": 71017, "length": 7, - "parent_index": 4146 + "parent_index": 4147 }, "name": "address", "referenced_declaration": 0, @@ -73095,10 +74128,10 @@ "start": 71011, "end": 71017, "length": 7, - "parent_index": 4148 + "parent_index": 4149 }, "value_type": { - "id": 4151, + "id": 4152, "node_type": 30, "src": { "line": 1970, @@ -73106,7 +74139,7 @@ "start": 71022, "end": 71028, "length": 7, - "parent_index": 4146 + "parent_index": 4147 }, "name": "uint256", "referenced_declaration": 0, @@ -73121,7 +74154,7 @@ "start": 71022, "end": 71028, "length": 7, - "parent_index": 4148 + "parent_index": 4149 }, "referenced_declaration": 0, "type_description": { @@ -73135,7 +74168,7 @@ "start": 71003, "end": 71029, "length": 27, - "parent_index": 4146 + "parent_index": 4147 }, "referenced_declaration": 0, "type_description": { @@ -73146,7 +74179,7 @@ "initial_value": null }, { - "id": 4153, + "id": 4154, "name": "INITIAL_CHAIN_ID", "is_constant": false, "is_state_variable": true, @@ -73157,9 +74190,9 @@ "start": 71239, "end": 71282, "length": 44, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -73168,7 +74201,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4154, + "id": 4155, "node_type": 30, "src": { "line": 1976, @@ -73176,7 +74209,7 @@ "start": 71239, "end": 71245, "length": 7, - "parent_index": 4153 + "parent_index": 4154 }, "name": "uint256", "referenced_declaration": 0, @@ -73188,7 +74221,7 @@ "initial_value": null }, { - "id": 4156, + "id": 4157, "name": "INITIAL_DOMAIN_SEPARATOR", "is_constant": false, "is_state_variable": true, @@ -73199,9 +74232,9 @@ "start": 71289, "end": 71340, "length": 52, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" @@ -73210,7 +74243,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4157, + "id": 4158, "node_type": 30, "src": { "line": 1978, @@ -73218,7 +74251,7 @@ "start": 71289, "end": 71295, "length": 7, - "parent_index": 4156 + "parent_index": 4157 }, "name": "bytes32", "referenced_declaration": 0, @@ -73230,7 +74263,7 @@ "initial_value": null }, { - "id": 4159, + "id": 4160, "name": "nonces", "is_constant": false, "is_state_variable": true, @@ -73241,9 +74274,9 @@ "start": 71347, "end": 71388, "length": 42, - "parent_index": 4108 + "parent_index": 4109 }, - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_mapping_$t_address_$t_uint256$", "type_string": "mapping(address=\u003euint256)" @@ -73252,18 +74285,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4160, - "node_type": 0, + "id": 4161, + "node_type": 53, "src": { "line": 1980, "column": 4, "start": 71347, "end": 71373, "length": 27, - "parent_index": 4159 + "parent_index": 4160 }, "key_type": { - "id": 4161, + "id": 4162, "node_type": 30, "src": { "line": 1980, @@ -73271,7 +74304,7 @@ "start": 71355, "end": 71361, "length": 7, - "parent_index": 4160 + "parent_index": 4161 }, "name": "address", "referenced_declaration": 0, @@ -73286,10 +74319,10 @@ "start": 71355, "end": 71361, "length": 7, - "parent_index": 4160 + "parent_index": 4161 }, "value_type": { - "id": 4162, + "id": 4163, "node_type": 30, "src": { "line": 1980, @@ -73297,7 +74330,7 @@ "start": 71366, "end": 71372, "length": 7, - "parent_index": 4160 + "parent_index": 4161 }, "name": "uint256", "referenced_declaration": 0, @@ -73312,7 +74345,7 @@ "start": 71366, "end": 71372, "length": 7, - "parent_index": 4160 + "parent_index": 4161 }, "referenced_declaration": 0, "type_description": { @@ -73323,7 +74356,7 @@ "initial_value": null }, { - "id": 4164, + "id": 4165, "node_type": 42, "src": { "line": 1986, @@ -73331,7 +74364,7 @@ "start": 71577, "end": 71868, "length": 292, - "parent_index": 4108 + "parent_index": 4109 }, "kind": 11, "state_mutability": 4, @@ -73339,7 +74372,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 4165, + "id": 4166, "node_type": 43, "src": { "line": 1987, @@ -73347,11 +74380,11 @@ "start": 71598, "end": 71672, "length": 75, - "parent_index": 4164 + "parent_index": 4165 }, "parameters": [ { - "id": 4166, + "id": 4167, "node_type": 44, "src": { "line": 1987, @@ -73359,12 +74392,12 @@ "start": 71598, "end": 71616, "length": 19, - "parent_index": 4165 + "parent_index": 4166 }, - "scope": 4164, + "scope": 4165, "name": "_name", "type_name": { - "id": 4167, + "id": 4168, "node_type": 30, "src": { "line": 1987, @@ -73372,7 +74405,7 @@ "start": 71598, "end": 71603, "length": 6, - "parent_index": 4166 + "parent_index": 4167 }, "name": "string", "referenced_declaration": 0, @@ -73390,7 +74423,7 @@ } }, { - "id": 4168, + "id": 4169, "node_type": 44, "src": { "line": 1988, @@ -73398,12 +74431,12 @@ "start": 71627, "end": 71647, "length": 21, - "parent_index": 4165 + "parent_index": 4166 }, - "scope": 4164, + "scope": 4165, "name": "_symbol", "type_name": { - "id": 4169, + "id": 4170, "node_type": 30, "src": { "line": 1988, @@ -73411,7 +74444,7 @@ "start": 71627, "end": 71632, "length": 6, - "parent_index": 4168 + "parent_index": 4169 }, "name": "string", "referenced_declaration": 0, @@ -73429,7 +74462,7 @@ } }, { - "id": 4170, + "id": 4171, "node_type": 44, "src": { "line": 1989, @@ -73437,12 +74470,12 @@ "start": 71658, "end": 71672, "length": 15, - "parent_index": 4165 + "parent_index": 4166 }, - "scope": 4164, + "scope": 4165, "name": "_decimals", "type_name": { - "id": 4171, + "id": 4172, "node_type": 30, "src": { "line": 1989, @@ -73450,7 +74483,7 @@ "start": 71658, "end": 71662, "length": 5, - "parent_index": 4170 + "parent_index": 4171 }, "name": "uint8", "referenced_declaration": 0, @@ -73484,7 +74517,7 @@ ] }, "return_parameters": { - "id": 4172, + "id": 4173, "node_type": 43, "src": { "line": 1986, @@ -73492,14 +74525,14 @@ "start": 71577, "end": 71868, "length": 292, - "parent_index": 4164 + "parent_index": 4165 }, "parameters": [], "parameter_types": [] }, - "scope": 4108, + "scope": 4109, "body": { - "id": 4173, + "id": 4174, "node_type": 46, "kind": 0, "src": { @@ -73508,12 +74541,12 @@ "start": 71680, "end": 71868, "length": 189, - "parent_index": 4164 + "parent_index": 4165 }, "implemented": true, "statements": [ { - "id": 4174, + "id": 4175, "node_type": 27, "src": { "line": 1991, @@ -73521,10 +74554,10 @@ "start": 71690, "end": 71702, "length": 13, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4175, + "id": 4176, "node_type": 27, "src": { "line": 1991, @@ -73532,11 +74565,11 @@ "start": 71690, "end": 71701, "length": 12, - "parent_index": 4174 + "parent_index": 4175 }, "operator": 11, "left_expression": { - "id": 4176, + "id": 4177, "node_type": 16, "src": { "line": 1991, @@ -73544,7 +74577,7 @@ "start": 71690, "end": 71693, "length": 4, - "parent_index": 4175 + "parent_index": 4176 }, "name": "name", "type_description": { @@ -73552,11 +74585,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 4128, - "is_pure": false + "referenced_declaration": 4129, + "is_pure": false, + "text": "name" }, "right_expression": { - "id": 4177, + "id": 4178, "node_type": 16, "src": { "line": 1991, @@ -73564,7 +74598,7 @@ "start": 71697, "end": 71701, "length": 5, - "parent_index": 4175 + "parent_index": 4176 }, "name": "_name", "type_description": { @@ -73572,8 +74606,9 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 4177, - "is_pure": false + "referenced_declaration": 4178, + "is_pure": false, + "text": "_name" }, "type_description": { "type_identifier": "t_string", @@ -73583,10 +74618,11 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "name=_name;" }, { - "id": 4178, + "id": 4179, "node_type": 27, "src": { "line": 1992, @@ -73594,10 +74630,10 @@ "start": 71712, "end": 71728, "length": 17, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4179, + "id": 4180, "node_type": 27, "src": { "line": 1992, @@ -73605,11 +74641,11 @@ "start": 71712, "end": 71727, "length": 16, - "parent_index": 4178 + "parent_index": 4179 }, "operator": 11, "left_expression": { - "id": 4180, + "id": 4181, "node_type": 16, "src": { "line": 1992, @@ -73617,7 +74653,7 @@ "start": 71712, "end": 71717, "length": 6, - "parent_index": 4179 + "parent_index": 4180 }, "name": "symbol", "type_description": { @@ -73625,11 +74661,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 4131, - "is_pure": false + "referenced_declaration": 4132, + "is_pure": false, + "text": "symbol" }, "right_expression": { - "id": 4181, + "id": 4182, "node_type": 16, "src": { "line": 1992, @@ -73637,7 +74674,7 @@ "start": 71721, "end": 71727, "length": 7, - "parent_index": 4179 + "parent_index": 4180 }, "name": "_symbol", "type_description": { @@ -73645,8 +74682,9 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 4181, - "is_pure": false + "referenced_declaration": 4182, + "is_pure": false, + "text": "_symbol" }, "type_description": { "type_identifier": "t_string", @@ -73656,10 +74694,11 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "symbol=_symbol;" }, { - "id": 4182, + "id": 4183, "node_type": 27, "src": { "line": 1993, @@ -73667,10 +74706,10 @@ "start": 71738, "end": 71758, "length": 21, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4183, + "id": 4184, "node_type": 27, "src": { "line": 1993, @@ -73678,11 +74717,11 @@ "start": 71738, "end": 71757, "length": 20, - "parent_index": 4182 + "parent_index": 4183 }, "operator": 11, "left_expression": { - "id": 4184, + "id": 4185, "node_type": 16, "src": { "line": 1993, @@ -73690,7 +74729,7 @@ "start": 71738, "end": 71745, "length": 8, - "parent_index": 4183 + "parent_index": 4184 }, "name": "decimals", "type_description": { @@ -73698,11 +74737,12 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 4134, - "is_pure": false + "referenced_declaration": 4135, + "is_pure": false, + "text": "decimals" }, "right_expression": { - "id": 4185, + "id": 4186, "node_type": 16, "src": { "line": 1993, @@ -73710,7 +74750,7 @@ "start": 71749, "end": 71757, "length": 9, - "parent_index": 4183 + "parent_index": 4184 }, "name": "_decimals", "type_description": { @@ -73718,8 +74758,9 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 4185, - "is_pure": false + "referenced_declaration": 4186, + "is_pure": false, + "text": "_decimals" }, "type_description": { "type_identifier": "t_uint8", @@ -73729,10 +74770,11 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "decimals=_decimals;" }, { - "id": 4186, + "id": 4187, "node_type": 27, "src": { "line": 1995, @@ -73740,10 +74782,10 @@ "start": 71769, "end": 71801, "length": 33, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4187, + "id": 4188, "node_type": 27, "src": { "line": 1995, @@ -73751,11 +74793,11 @@ "start": 71769, "end": 71800, "length": 32, - "parent_index": 4186 + "parent_index": 4187 }, "operator": 11, "left_expression": { - "id": 4188, + "id": 4189, "node_type": 16, "src": { "line": 1995, @@ -73763,7 +74805,7 @@ "start": 71769, "end": 71784, "length": 16, - "parent_index": 4187 + "parent_index": 4188 }, "name": "INITIAL_CHAIN_ID", "type_description": { @@ -73771,11 +74813,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4153, - "is_pure": false + "referenced_declaration": 4154, + "is_pure": false, + "text": "INITIAL_CHAIN_ID" }, "right_expression": { - "id": 4189, + "id": 4190, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -73787,7 +74830,7 @@ "start": 71788, "end": 71800, "length": 13, - "parent_index": 4187 + "parent_index": 4188 }, "member_location": { "line": 1995, @@ -73795,10 +74838,10 @@ "start": 71794, "end": 71800, "length": 7, - "parent_index": 4189 + "parent_index": 4190 }, "expression": { - "id": 4190, + "id": 4191, "node_type": 16, "src": { "line": 1995, @@ -73806,7 +74849,7 @@ "start": 71788, "end": 71792, "length": 5, - "parent_index": 4189 + "parent_index": 4190 }, "name": "block", "type_description": { @@ -73815,14 +74858,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "chainid", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.chainid" }, "type_description": { "type_identifier": "t_uint256", @@ -73832,10 +74877,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "INITIAL_CHAIN_ID=block.chainid;" }, { - "id": 4191, + "id": 4192, "node_type": 27, "src": { "line": 1996, @@ -73843,10 +74889,10 @@ "start": 71811, "end": 71862, "length": 52, - "parent_index": 4173 + "parent_index": 4174 }, "expression": { - "id": 4192, + "id": 4193, "node_type": 27, "src": { "line": 1996, @@ -73854,11 +74900,11 @@ "start": 71811, "end": 71861, "length": 51, - "parent_index": 4191 + "parent_index": 4192 }, "operator": 11, "left_expression": { - "id": 4193, + "id": 4194, "node_type": 16, "src": { "line": 1996, @@ -73866,7 +74912,7 @@ "start": 71811, "end": 71834, "length": 24, - "parent_index": 4192 + "parent_index": 4193 }, "name": "INITIAL_DOMAIN_SEPARATOR", "type_description": { @@ -73874,11 +74920,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4156, - "is_pure": false + "referenced_declaration": 4157, + "is_pure": false, + "text": "INITIAL_DOMAIN_SEPARATOR" }, "right_expression": { - "id": 4194, + "id": 4195, "node_type": 24, "kind": 24, "src": { @@ -73887,12 +74934,12 @@ "start": 71838, "end": 71861, "length": 24, - "parent_index": 4192 + "parent_index": 4193 }, "argument_types": [], "arguments": [], "expression": { - "id": 4195, + "id": 4196, "node_type": 16, "src": { "line": 1996, @@ -73900,7 +74947,7 @@ "start": 71838, "end": 71859, "length": 22, - "parent_index": 4194 + "parent_index": 4195 }, "name": "computeDomainSeparator", "type_description": { @@ -73909,7 +74956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "computeDomainSeparator" }, "type_description": { "type_identifier": "t_function_$", @@ -73924,13 +74972,14 @@ "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" - } + }, + "text": "INITIAL_DOMAIN_SEPARATOR=computeDomainSeparator();" } ] } }, { - "id": 4197, + "id": 4198, "name": "approve", "node_type": 42, "kind": 41, @@ -73940,7 +74989,7 @@ "start": 72057, "end": 72267, "length": 211, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2003, @@ -73948,10 +74997,10 @@ "start": 72066, "end": 72072, "length": 7, - "parent_index": 4197 + "parent_index": 4198 }, "body": { - "id": 4206, + "id": 4207, "node_type": 46, "kind": 0, "src": { @@ -73960,12 +75009,12 @@ "start": 72137, "end": 72267, "length": 131, - "parent_index": 4197 + "parent_index": 4198 }, "implemented": true, "statements": [ { - "id": 4207, + "id": 4208, "node_type": 27, "src": { "line": 2004, @@ -73973,10 +75022,10 @@ "start": 72147, "end": 72186, "length": 40, - "parent_index": 4206 + "parent_index": 4207 }, "expression": { - "id": 4208, + "id": 4209, "node_type": 27, "src": { "line": 2004, @@ -73984,11 +75033,11 @@ "start": 72147, "end": 72185, "length": 39, - "parent_index": 4207 + "parent_index": 4208 }, "operator": 11, "left_expression": { - "id": 4209, + "id": 4210, "node_type": 22, "src": { "line": 2004, @@ -73996,10 +75045,10 @@ "start": 72147, "end": 72176, "length": 30, - "parent_index": 4208 + "parent_index": 4209 }, "index_expression": { - "id": 4210, + "id": 4211, "node_type": 22, "src": { "line": 2004, @@ -74007,10 +75056,10 @@ "start": 72147, "end": 72167, "length": 21, - "parent_index": 4209 + "parent_index": 4210 }, "index_expression": { - "id": 4211, + "id": 4212, "node_type": 16, "src": { "line": 2004, @@ -74018,7 +75067,7 @@ "start": 72147, "end": 72155, "length": 9, - "parent_index": 4210 + "parent_index": 4211 }, "name": "allowance", "type_description": { @@ -74026,11 +75075,12 @@ "type_string": "mapping(address=\u003emapping(address=\u003euint256))" }, "overloaded_declarations": [], - "referenced_declaration": 4145, - "is_pure": false + "referenced_declaration": 4146, + "is_pure": false, + "text": "allowance" }, "base_expression": { - "id": 4212, + "id": 4213, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -74042,7 +75092,7 @@ "start": 72157, "end": 72166, "length": 10, - "parent_index": 4210 + "parent_index": 4211 }, "member_location": { "line": 2004, @@ -74050,10 +75100,10 @@ "start": 72161, "end": 72166, "length": 6, - "parent_index": 4212 + "parent_index": 4213 }, "expression": { - "id": 4213, + "id": 4214, "node_type": 16, "src": { "line": 2004, @@ -74061,7 +75111,7 @@ "start": 72157, "end": 72159, "length": 3, - "parent_index": 4212 + "parent_index": 4213 }, "name": "msg", "type_description": { @@ -74070,14 +75120,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -74095,7 +75147,7 @@ } }, "base_expression": { - "id": 4214, + "id": 4215, "node_type": 16, "src": { "line": 2004, @@ -74103,7 +75155,7 @@ "start": 72169, "end": 72175, "length": 7, - "parent_index": 4209 + "parent_index": 4210 }, "name": "spender", "type_description": { @@ -74111,8 +75163,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4214, - "is_pure": false + "referenced_declaration": 4215, + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -74130,7 +75183,7 @@ } }, "right_expression": { - "id": 4215, + "id": 4216, "node_type": 16, "src": { "line": 2004, @@ -74138,7 +75191,7 @@ "start": 72180, "end": 72185, "length": 6, - "parent_index": 4208 + "parent_index": 4209 }, "name": "amount", "type_description": { @@ -74146,8 +75199,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4215, - "is_pure": false + "referenced_declaration": 4216, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -74157,10 +75211,11 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "allowance[msg.sender][spender]=amount;" }, { - "id": 4216, + "id": 4217, "node_type": 64, "src": { "line": 2006, @@ -74168,11 +75223,11 @@ "start": 72197, "end": 72239, "length": 43, - "parent_index": 4197 + "parent_index": 4198 }, "arguments": [ { - "id": 4217, + "id": 4218, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -74184,7 +75239,7 @@ "start": 72211, "end": 72220, "length": 10, - "parent_index": 4216 + "parent_index": 4217 }, "member_location": { "line": 2006, @@ -74192,10 +75247,10 @@ "start": 72215, "end": 72220, "length": 6, - "parent_index": 4217 + "parent_index": 4218 }, "expression": { - "id": 4218, + "id": 4219, "node_type": 16, "src": { "line": 2006, @@ -74203,7 +75258,7 @@ "start": 72211, "end": 72213, "length": 3, - "parent_index": 4217 + "parent_index": 4218 }, "name": "msg", "type_description": { @@ -74212,17 +75267,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 4219, + "id": 4220, "node_type": 16, "src": { "line": 2006, @@ -74230,7 +75287,7 @@ "start": 72223, "end": 72229, "length": 7, - "parent_index": 4216 + "parent_index": 4217 }, "name": "spender", "type_description": { @@ -74238,11 +75295,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4219, - "is_pure": false + "referenced_declaration": 4220, + "is_pure": false, + "text": "spender" }, { - "id": 4220, + "id": 4221, "node_type": 16, "src": { "line": 2006, @@ -74250,7 +75308,7 @@ "start": 72232, "end": 72237, "length": 6, - "parent_index": 4216 + "parent_index": 4217 }, "name": "amount", "type_description": { @@ -74258,12 +75316,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4220, - "is_pure": false + "referenced_declaration": 4221, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4221, + "id": 4222, "node_type": 16, "src": { "line": 2006, @@ -74271,20 +75330,21 @@ "start": 72202, "end": 72209, "length": 8, - "parent_index": 4216 + "parent_index": 4217 }, "name": "Approval", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Approval_\u00264119", + "type_identifier": "t_event\u0026_ERC20_Approval_\u00264120", "type_string": "event ERC20.Approval" }, "overloaded_declarations": [], - "referenced_declaration": 4119, - "is_pure": false + "referenced_declaration": 4120, + "is_pure": false, + "text": "Approval" } }, { - "id": 4222, + "id": 4223, "node_type": 47, "src": { "line": 2008, @@ -74292,11 +75352,11 @@ "start": 72250, "end": 72261, "length": 12, - "parent_index": 4197 + "parent_index": 4198 }, - "function_return_parameters": 4197, + "function_return_parameters": 4198, "expression": { - "id": 4223, + "id": 4224, "node_type": 17, "kind": 61, "value": "true", @@ -74307,7 +75367,7 @@ "start": 72257, "end": 72260, "length": 4, - "parent_index": 4222 + "parent_index": 4223 }, "type_description": { "type_identifier": "t_bool", @@ -74315,7 +75375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -74327,7 +75388,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4198, + "id": 4199, "node_type": 43, "src": { "line": 2003, @@ -74335,11 +75396,11 @@ "start": 72074, "end": 72104, "length": 31, - "parent_index": 4197 + "parent_index": 4198 }, "parameters": [ { - "id": 4199, + "id": 4200, "node_type": 44, "src": { "line": 2003, @@ -74347,12 +75408,12 @@ "start": 72074, "end": 72088, "length": 15, - "parent_index": 4198 + "parent_index": 4199 }, - "scope": 4197, + "scope": 4198, "name": "spender", "type_name": { - "id": 4200, + "id": 4201, "node_type": 30, "src": { "line": 2003, @@ -74360,7 +75421,7 @@ "start": 72074, "end": 72080, "length": 7, - "parent_index": 4199 + "parent_index": 4200 }, "name": "address", "state_mutability": 4, @@ -74379,7 +75440,7 @@ } }, { - "id": 4201, + "id": 4202, "node_type": 44, "src": { "line": 2003, @@ -74387,12 +75448,12 @@ "start": 72091, "end": 72104, "length": 14, - "parent_index": 4198 + "parent_index": 4199 }, - "scope": 4197, + "scope": 4198, "name": "amount", "type_name": { - "id": 4202, + "id": 4203, "node_type": 30, "src": { "line": 2003, @@ -74400,7 +75461,7 @@ "start": 72091, "end": 72097, "length": 7, - "parent_index": 4201 + "parent_index": 4202 }, "name": "uint256", "referenced_declaration": 0, @@ -74430,7 +75491,7 @@ ] }, "return_parameters": { - "id": 4203, + "id": 4204, "node_type": 43, "src": { "line": 2003, @@ -74438,11 +75499,11 @@ "start": 72131, "end": 72134, "length": 4, - "parent_index": 4197 + "parent_index": 4198 }, "parameters": [ { - "id": 4204, + "id": 4205, "node_type": 44, "src": { "line": 2003, @@ -74450,12 +75511,12 @@ "start": 72131, "end": 72134, "length": 4, - "parent_index": 4203 + "parent_index": 4204 }, - "scope": 4197, + "scope": 4198, "name": "", "type_name": { - "id": 4205, + "id": 4206, "node_type": 30, "src": { "line": 2003, @@ -74463,7 +75524,7 @@ "start": 72131, "end": 72134, "length": 4, - "parent_index": 4204 + "parent_index": 4205 }, "name": "bool", "referenced_declaration": 0, @@ -74488,16 +75549,17 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", - "scope": 4108, + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualreturns(bool){allowance[msg.sender][spender]=amount;emitApproval(msg.sender,spender,amount);returntrue;}" }, { - "id": 4225, + "id": 4226, "name": "transfer", "node_type": 42, "kind": 41, @@ -74507,7 +75569,7 @@ "start": 72274, "end": 72646, "length": 373, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2011, @@ -74515,10 +75577,10 @@ "start": 72283, "end": 72290, "length": 8, - "parent_index": 4225 + "parent_index": 4226 }, "body": { - "id": 4234, + "id": 4235, "node_type": 46, "kind": 0, "src": { @@ -74527,12 +75589,12 @@ "start": 72350, "end": 72646, "length": 297, - "parent_index": 4225 + "parent_index": 4226 }, "implemented": true, "statements": [ { - "id": 4235, + "id": 4236, "node_type": 27, "src": { "line": 2012, @@ -74540,10 +75602,10 @@ "start": 72360, "end": 72391, "length": 32, - "parent_index": 4234 + "parent_index": 4235 }, "expression": { - "id": 4236, + "id": 4237, "node_type": 27, "src": { "line": 2012, @@ -74551,11 +75613,11 @@ "start": 72360, "end": 72390, "length": 31, - "parent_index": 4235 + "parent_index": 4236 }, "operator": 14, "left_expression": { - "id": 4237, + "id": 4238, "node_type": 22, "src": { "line": 2012, @@ -74563,10 +75625,10 @@ "start": 72360, "end": 72380, "length": 21, - "parent_index": 4236 + "parent_index": 4237 }, "index_expression": { - "id": 4238, + "id": 4239, "node_type": 16, "src": { "line": 2012, @@ -74574,7 +75636,7 @@ "start": 72360, "end": 72368, "length": 9, - "parent_index": 4237 + "parent_index": 4238 }, "name": "balanceOf", "type_description": { @@ -74582,11 +75644,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4239, + "id": 4240, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -74598,7 +75661,7 @@ "start": 72370, "end": 72379, "length": 10, - "parent_index": 4237 + "parent_index": 4238 }, "member_location": { "line": 2012, @@ -74606,10 +75669,10 @@ "start": 72374, "end": 72379, "length": 6, - "parent_index": 4239 + "parent_index": 4240 }, "expression": { - "id": 4240, + "id": 4241, "node_type": 16, "src": { "line": 2012, @@ -74617,7 +75680,7 @@ "start": 72370, "end": 72372, "length": 3, - "parent_index": 4239 + "parent_index": 4240 }, "name": "msg", "type_description": { @@ -74626,14 +75689,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -74651,7 +75716,7 @@ } }, "right_expression": { - "id": 4241, + "id": 4242, "node_type": 16, "src": { "line": 2012, @@ -74659,7 +75724,7 @@ "start": 72385, "end": 72390, "length": 6, - "parent_index": 4236 + "parent_index": 4237 }, "name": "amount", "type_description": { @@ -74667,8 +75732,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4241, - "is_pure": false + "referenced_declaration": 4242, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -74678,10 +75744,11 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[msg.sender]-=amount;" }, { - "id": 4242, + "id": 4243, "node_type": 64, "src": { "line": 2020, @@ -74689,11 +75756,11 @@ "start": 72581, "end": 72618, "length": 38, - "parent_index": 4225 + "parent_index": 4226 }, "arguments": [ { - "id": 4243, + "id": 4244, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -74705,7 +75772,7 @@ "start": 72595, "end": 72604, "length": 10, - "parent_index": 4242 + "parent_index": 4243 }, "member_location": { "line": 2020, @@ -74713,10 +75780,10 @@ "start": 72599, "end": 72604, "length": 6, - "parent_index": 4243 + "parent_index": 4244 }, "expression": { - "id": 4244, + "id": 4245, "node_type": 16, "src": { "line": 2020, @@ -74724,7 +75791,7 @@ "start": 72595, "end": 72597, "length": 3, - "parent_index": 4243 + "parent_index": 4244 }, "name": "msg", "type_description": { @@ -74733,17 +75800,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 4245, + "id": 4246, "node_type": 16, "src": { "line": 2020, @@ -74751,7 +75820,7 @@ "start": 72607, "end": 72608, "length": 2, - "parent_index": 4242 + "parent_index": 4243 }, "name": "to", "type_description": { @@ -74759,11 +75828,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4245, - "is_pure": false + "referenced_declaration": 4246, + "is_pure": false, + "text": "to" }, { - "id": 4246, + "id": 4247, "node_type": 16, "src": { "line": 2020, @@ -74771,7 +75841,7 @@ "start": 72611, "end": 72616, "length": 6, - "parent_index": 4242 + "parent_index": 4243 }, "name": "amount", "type_description": { @@ -74779,12 +75849,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4246, - "is_pure": false + "referenced_declaration": 4247, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4247, + "id": 4248, "node_type": 16, "src": { "line": 2020, @@ -74792,20 +75863,21 @@ "start": 72586, "end": 72593, "length": 8, - "parent_index": 4242 + "parent_index": 4243 }, "name": "Transfer", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" }, "overloaded_declarations": [], - "referenced_declaration": 4110, - "is_pure": false + "referenced_declaration": 4111, + "is_pure": false, + "text": "Transfer" } }, { - "id": 4248, + "id": 4249, "node_type": 47, "src": { "line": 2022, @@ -74813,11 +75885,11 @@ "start": 72629, "end": 72640, "length": 12, - "parent_index": 4225 + "parent_index": 4226 }, - "function_return_parameters": 4225, + "function_return_parameters": 4226, "expression": { - "id": 4249, + "id": 4250, "node_type": 17, "kind": 61, "value": "true", @@ -74828,7 +75900,7 @@ "start": 72636, "end": 72639, "length": 4, - "parent_index": 4248 + "parent_index": 4249 }, "type_description": { "type_identifier": "t_bool", @@ -74836,11 +75908,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { - "id": 4250, + "id": 4251, "node_type": 59, "kind": 0, "src": { @@ -74849,12 +75922,12 @@ "start": 72513, "end": 72570, "length": 58, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4251, + "id": 4252, "node_type": 27, "src": { "line": 2017, @@ -74862,10 +75935,10 @@ "start": 72537, "end": 72560, "length": 24, - "parent_index": 4250 + "parent_index": 4251 }, "expression": { - "id": 4252, + "id": 4253, "node_type": 27, "src": { "line": 2017, @@ -74873,11 +75946,11 @@ "start": 72537, "end": 72559, "length": 23, - "parent_index": 4251 + "parent_index": 4252 }, "operator": 13, "left_expression": { - "id": 4253, + "id": 4254, "node_type": 22, "src": { "line": 2017, @@ -74885,10 +75958,10 @@ "start": 72537, "end": 72549, "length": 13, - "parent_index": 4252 + "parent_index": 4253 }, "index_expression": { - "id": 4254, + "id": 4255, "node_type": 16, "src": { "line": 2017, @@ -74896,7 +75969,7 @@ "start": 72537, "end": 72545, "length": 9, - "parent_index": 4253 + "parent_index": 4254 }, "name": "balanceOf", "type_description": { @@ -74904,11 +75977,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4255, + "id": 4256, "node_type": 16, "src": { "line": 2017, @@ -74916,7 +75990,7 @@ "start": 72547, "end": 72548, "length": 2, - "parent_index": 4253 + "parent_index": 4254 }, "name": "to", "type_description": { @@ -74924,8 +75998,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4255, - "is_pure": false + "referenced_declaration": 4256, + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -74943,7 +76018,7 @@ } }, "right_expression": { - "id": 4256, + "id": 4257, "node_type": 16, "src": { "line": 2017, @@ -74951,7 +76026,7 @@ "start": 72554, "end": 72559, "length": 6, - "parent_index": 4252 + "parent_index": 4253 }, "name": "amount", "type_description": { @@ -74959,8 +76034,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4256, - "is_pure": false + "referenced_declaration": 4257, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -74970,7 +76046,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -74983,7 +76060,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4226, + "id": 4227, "node_type": 43, "src": { "line": 2011, @@ -74991,11 +76068,11 @@ "start": 72292, "end": 72317, "length": 26, - "parent_index": 4225 + "parent_index": 4226 }, "parameters": [ { - "id": 4227, + "id": 4228, "node_type": 44, "src": { "line": 2011, @@ -75003,12 +76080,12 @@ "start": 72292, "end": 72301, "length": 10, - "parent_index": 4226 + "parent_index": 4227 }, - "scope": 4225, + "scope": 4226, "name": "to", "type_name": { - "id": 4228, + "id": 4229, "node_type": 30, "src": { "line": 2011, @@ -75016,7 +76093,7 @@ "start": 72292, "end": 72298, "length": 7, - "parent_index": 4227 + "parent_index": 4228 }, "name": "address", "state_mutability": 4, @@ -75035,7 +76112,7 @@ } }, { - "id": 4229, + "id": 4230, "node_type": 44, "src": { "line": 2011, @@ -75043,12 +76120,12 @@ "start": 72304, "end": 72317, "length": 14, - "parent_index": 4226 + "parent_index": 4227 }, - "scope": 4225, + "scope": 4226, "name": "amount", "type_name": { - "id": 4230, + "id": 4231, "node_type": 30, "src": { "line": 2011, @@ -75056,7 +76133,7 @@ "start": 72304, "end": 72310, "length": 7, - "parent_index": 4229 + "parent_index": 4230 }, "name": "uint256", "referenced_declaration": 0, @@ -75086,7 +76163,7 @@ ] }, "return_parameters": { - "id": 4231, + "id": 4232, "node_type": 43, "src": { "line": 2011, @@ -75094,11 +76171,11 @@ "start": 72344, "end": 72347, "length": 4, - "parent_index": 4225 + "parent_index": 4226 }, "parameters": [ { - "id": 4232, + "id": 4233, "node_type": 44, "src": { "line": 2011, @@ -75106,12 +76183,12 @@ "start": 72344, "end": 72347, "length": 4, - "parent_index": 4231 + "parent_index": 4232 }, - "scope": 4225, + "scope": 4226, "name": "", "type_name": { - "id": 4233, + "id": 4234, "node_type": 30, "src": { "line": 2011, @@ -75119,7 +76196,7 @@ "start": 72344, "end": 72347, "length": 4, - "parent_index": 4232 + "parent_index": 4233 }, "name": "bool", "referenced_declaration": 0, @@ -75144,16 +76221,17 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", - "scope": 4108, + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualreturns(bool){balanceOf[msg.sender]-=amount;unchecked{balanceOf[to]+=amount;}emitTransfer(msg.sender,to,amount);returntrue;}" }, { - "id": 4258, + "id": 4259, "name": "transferFrom", "node_type": 42, "kind": 41, @@ -75163,7 +76241,7 @@ "start": 72653, "end": 73244, "length": 592, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2025, @@ -75171,10 +76249,10 @@ "start": 72662, "end": 72673, "length": 12, - "parent_index": 4258 + "parent_index": 4259 }, "body": { - "id": 4269, + "id": 4270, "node_type": 46, "kind": 0, "src": { @@ -75183,12 +76261,12 @@ "start": 72777, "end": 73244, "length": 468, - "parent_index": 4258 + "parent_index": 4259 }, "implemented": true, "statements": [ { - "id": 4270, + "id": 4271, "node_type": 44, "src": { "line": 2030, @@ -75196,25 +76274,25 @@ "start": 72787, "end": 72832, "length": 46, - "parent_index": 4269 + "parent_index": 4270 }, "assignments": [ - 4271 + 4272 ], "declarations": [ { - "id": 4271, + "id": 4272, "state_mutability": 1, "name": "allowed", "node_type": 44, - "scope": 4269, + "scope": 4270, "src": { "line": 2030, "column": 8, "start": 72787, "end": 72801, "length": 15, - "parent_index": 4270 + "parent_index": 4271 }, "name_location": { "line": 2030, @@ -75222,12 +76300,12 @@ "start": 72795, "end": 72801, "length": 7, - "parent_index": 4271 + "parent_index": 4272 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4272, + "id": 4273, "node_type": 30, "src": { "line": 2030, @@ -75235,7 +76313,7 @@ "start": 72787, "end": 72793, "length": 7, - "parent_index": 4271 + "parent_index": 4272 }, "name": "uint256", "referenced_declaration": 0, @@ -75248,7 +76326,7 @@ } ], "initial_value": { - "id": 4273, + "id": 4274, "node_type": 22, "src": { "line": 2030, @@ -75256,10 +76334,10 @@ "start": 72805, "end": 72831, "length": 27, - "parent_index": 4270 + "parent_index": 4271 }, "index_expression": { - "id": 4274, + "id": 4275, "node_type": 22, "src": { "line": 2030, @@ -75267,10 +76345,10 @@ "start": 72805, "end": 72819, "length": 15, - "parent_index": 4270 + "parent_index": 4271 }, "index_expression": { - "id": 4275, + "id": 4276, "node_type": 16, "src": { "line": 2030, @@ -75278,7 +76356,7 @@ "start": 72805, "end": 72813, "length": 9, - "parent_index": 4274 + "parent_index": 4275 }, "name": "allowance", "type_description": { @@ -75286,11 +76364,12 @@ "type_string": "mapping(address=\u003emapping(address=\u003euint256))" }, "overloaded_declarations": [], - "referenced_declaration": 4145, - "is_pure": false + "referenced_declaration": 4146, + "is_pure": false, + "text": "allowance" }, "base_expression": { - "id": 4276, + "id": 4277, "node_type": 16, "src": { "line": 2030, @@ -75298,7 +76377,7 @@ "start": 72815, "end": 72818, "length": 4, - "parent_index": 4274 + "parent_index": 4275 }, "name": "from", "type_description": { @@ -75306,8 +76385,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4276, - "is_pure": false + "referenced_declaration": 4277, + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -75325,7 +76405,7 @@ } }, "base_expression": { - "id": 4277, + "id": 4278, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -75337,7 +76417,7 @@ "start": 72821, "end": 72830, "length": 10, - "parent_index": 4270 + "parent_index": 4271 }, "member_location": { "line": 2030, @@ -75345,10 +76425,10 @@ "start": 72825, "end": 72830, "length": 6, - "parent_index": 4277 + "parent_index": 4278 }, "expression": { - "id": 4278, + "id": 4279, "node_type": 16, "src": { "line": 2030, @@ -75356,7 +76436,7 @@ "start": 72821, "end": 72823, "length": 3, - "parent_index": 4277 + "parent_index": 4278 }, "name": "msg", "type_description": { @@ -75365,14 +76445,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -75391,7 +76473,7 @@ } }, { - "id": 4279, + "id": 4280, "node_type": 48, "src": { "line": 2032, @@ -75399,10 +76481,10 @@ "start": 72879, "end": 72959, "length": 81, - "parent_index": 4269 + "parent_index": 4270 }, "condition": { - "id": 4280, + "id": 4281, "is_constant": false, "is_pure": false, "node_type": 19, @@ -75412,11 +76494,11 @@ "start": 72883, "end": 72910, "length": 28, - "parent_index": 4279 + "parent_index": 4280 }, "operator": 12, "left_expression": { - "id": 4281, + "id": 4282, "node_type": 16, "src": { "line": 2032, @@ -75424,7 +76506,7 @@ "start": 72883, "end": 72889, "length": 7, - "parent_index": 4280 + "parent_index": 4281 }, "name": "allowed", "type_description": { @@ -75432,11 +76514,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4270, - "is_pure": false + "referenced_declaration": 4271, + "is_pure": false, + "text": "allowed" }, "right_expression": { - "id": 4282, + "id": 4283, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -75448,7 +76531,7 @@ "start": 72894, "end": 72910, "length": 17, - "parent_index": 4280 + "parent_index": 4281 }, "member_location": { "line": 2032, @@ -75456,10 +76539,10 @@ "start": 72908, "end": 72910, "length": 3, - "parent_index": 4282 + "parent_index": 4283 }, "expression": { - "id": 4283, + "id": 4284, "node_type": 16, "name": "type", "src": { @@ -75468,7 +76551,7 @@ "start": 72894, "end": 72906, "length": 13, - "parent_index": 4282 + "parent_index": 4283 }, "type_description": { "type_identifier": "", @@ -75480,7 +76563,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -75488,7 +76572,7 @@ } }, "body": { - "id": 4284, + "id": 4285, "node_type": 46, "kind": 0, "src": { @@ -75503,7 +76587,7 @@ } }, { - "id": 4285, + "id": 4286, "node_type": 27, "src": { "line": 2034, @@ -75511,10 +76595,10 @@ "start": 72970, "end": 72995, "length": 26, - "parent_index": 4269 + "parent_index": 4270 }, "expression": { - "id": 4286, + "id": 4287, "node_type": 27, "src": { "line": 2034, @@ -75522,11 +76606,11 @@ "start": 72970, "end": 72994, "length": 25, - "parent_index": 4285 + "parent_index": 4286 }, "operator": 14, "left_expression": { - "id": 4287, + "id": 4288, "node_type": 22, "src": { "line": 2034, @@ -75534,10 +76618,10 @@ "start": 72970, "end": 72984, "length": 15, - "parent_index": 4286 + "parent_index": 4287 }, "index_expression": { - "id": 4288, + "id": 4289, "node_type": 16, "src": { "line": 2034, @@ -75545,7 +76629,7 @@ "start": 72970, "end": 72978, "length": 9, - "parent_index": 4287 + "parent_index": 4288 }, "name": "balanceOf", "type_description": { @@ -75553,11 +76637,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4289, + "id": 4290, "node_type": 16, "src": { "line": 2034, @@ -75565,7 +76650,7 @@ "start": 72980, "end": 72983, "length": 4, - "parent_index": 4287 + "parent_index": 4288 }, "name": "from", "type_description": { @@ -75573,8 +76658,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4289, - "is_pure": false + "referenced_declaration": 4290, + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -75592,7 +76678,7 @@ } }, "right_expression": { - "id": 4290, + "id": 4291, "node_type": 16, "src": { "line": 2034, @@ -75600,7 +76686,7 @@ "start": 72989, "end": 72994, "length": 6, - "parent_index": 4286 + "parent_index": 4287 }, "name": "amount", "type_description": { @@ -75608,8 +76694,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4290, - "is_pure": false + "referenced_declaration": 4291, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -75619,10 +76706,11 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[from]-=amount;" }, { - "id": 4291, + "id": 4292, "node_type": 64, "src": { "line": 2042, @@ -75630,11 +76718,11 @@ "start": 73185, "end": 73216, "length": 32, - "parent_index": 4258 + "parent_index": 4259 }, "arguments": [ { - "id": 4292, + "id": 4293, "node_type": 16, "src": { "line": 2042, @@ -75642,7 +76730,7 @@ "start": 73199, "end": 73202, "length": 4, - "parent_index": 4291 + "parent_index": 4292 }, "name": "from", "type_description": { @@ -75650,11 +76738,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4292, - "is_pure": false + "referenced_declaration": 4293, + "is_pure": false, + "text": "from" }, { - "id": 4293, + "id": 4294, "node_type": 16, "src": { "line": 2042, @@ -75662,7 +76751,7 @@ "start": 73205, "end": 73206, "length": 2, - "parent_index": 4291 + "parent_index": 4292 }, "name": "to", "type_description": { @@ -75670,11 +76759,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4293, - "is_pure": false + "referenced_declaration": 4294, + "is_pure": false, + "text": "to" }, { - "id": 4294, + "id": 4295, "node_type": 16, "src": { "line": 2042, @@ -75682,7 +76772,7 @@ "start": 73209, "end": 73214, "length": 6, - "parent_index": 4291 + "parent_index": 4292 }, "name": "amount", "type_description": { @@ -75690,12 +76780,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4294, - "is_pure": false + "referenced_declaration": 4295, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4295, + "id": 4296, "node_type": 16, "src": { "line": 2042, @@ -75703,20 +76794,21 @@ "start": 73190, "end": 73197, "length": 8, - "parent_index": 4291 + "parent_index": 4292 }, "name": "Transfer", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" }, "overloaded_declarations": [], - "referenced_declaration": 4110, - "is_pure": false + "referenced_declaration": 4111, + "is_pure": false, + "text": "Transfer" } }, { - "id": 4296, + "id": 4297, "node_type": 47, "src": { "line": 2044, @@ -75724,11 +76816,11 @@ "start": 73227, "end": 73238, "length": 12, - "parent_index": 4258 + "parent_index": 4259 }, - "function_return_parameters": 4258, + "function_return_parameters": 4259, "expression": { - "id": 4297, + "id": 4298, "node_type": 17, "kind": 61, "value": "true", @@ -75739,7 +76831,7 @@ "start": 73234, "end": 73237, "length": 4, - "parent_index": 4296 + "parent_index": 4297 }, "type_description": { "type_identifier": "t_bool", @@ -75747,11 +76839,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { - "id": 4298, + "id": 4299, "node_type": 59, "kind": 0, "src": { @@ -75760,12 +76853,12 @@ "start": 73117, "end": 73174, "length": 58, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4299, + "id": 4300, "node_type": 27, "src": { "line": 2039, @@ -75773,10 +76866,10 @@ "start": 73141, "end": 73164, "length": 24, - "parent_index": 4298 + "parent_index": 4299 }, "expression": { - "id": 4300, + "id": 4301, "node_type": 27, "src": { "line": 2039, @@ -75784,11 +76877,11 @@ "start": 73141, "end": 73163, "length": 23, - "parent_index": 4299 + "parent_index": 4300 }, "operator": 13, "left_expression": { - "id": 4301, + "id": 4302, "node_type": 22, "src": { "line": 2039, @@ -75796,10 +76889,10 @@ "start": 73141, "end": 73153, "length": 13, - "parent_index": 4300 + "parent_index": 4301 }, "index_expression": { - "id": 4302, + "id": 4303, "node_type": 16, "src": { "line": 2039, @@ -75807,7 +76900,7 @@ "start": 73141, "end": 73149, "length": 9, - "parent_index": 4301 + "parent_index": 4302 }, "name": "balanceOf", "type_description": { @@ -75815,11 +76908,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4303, + "id": 4304, "node_type": 16, "src": { "line": 2039, @@ -75827,7 +76921,7 @@ "start": 73151, "end": 73152, "length": 2, - "parent_index": 4301 + "parent_index": 4302 }, "name": "to", "type_description": { @@ -75835,8 +76929,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4303, - "is_pure": false + "referenced_declaration": 4304, + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -75854,7 +76949,7 @@ } }, "right_expression": { - "id": 4304, + "id": 4305, "node_type": 16, "src": { "line": 2039, @@ -75862,7 +76957,7 @@ "start": 73158, "end": 73163, "length": 6, - "parent_index": 4300 + "parent_index": 4301 }, "name": "amount", "type_description": { @@ -75870,8 +76965,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4304, - "is_pure": false + "referenced_declaration": 4305, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -75881,7 +76977,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -75894,7 +76991,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4259, + "id": 4260, "node_type": 43, "src": { "line": 2026, @@ -75902,11 +76999,11 @@ "start": 72684, "end": 72739, "length": 56, - "parent_index": 4258 + "parent_index": 4259 }, "parameters": [ { - "id": 4260, + "id": 4261, "node_type": 44, "src": { "line": 2026, @@ -75914,12 +77011,12 @@ "start": 72684, "end": 72695, "length": 12, - "parent_index": 4259 + "parent_index": 4260 }, - "scope": 4258, + "scope": 4259, "name": "from", "type_name": { - "id": 4261, + "id": 4262, "node_type": 30, "src": { "line": 2026, @@ -75927,7 +77024,7 @@ "start": 72684, "end": 72690, "length": 7, - "parent_index": 4260 + "parent_index": 4261 }, "name": "address", "state_mutability": 4, @@ -75946,7 +77043,7 @@ } }, { - "id": 4262, + "id": 4263, "node_type": 44, "src": { "line": 2027, @@ -75954,12 +77051,12 @@ "start": 72706, "end": 72715, "length": 10, - "parent_index": 4259 + "parent_index": 4260 }, - "scope": 4258, + "scope": 4259, "name": "to", "type_name": { - "id": 4263, + "id": 4264, "node_type": 30, "src": { "line": 2027, @@ -75967,7 +77064,7 @@ "start": 72706, "end": 72712, "length": 7, - "parent_index": 4262 + "parent_index": 4263 }, "name": "address", "state_mutability": 4, @@ -75986,7 +77083,7 @@ } }, { - "id": 4264, + "id": 4265, "node_type": 44, "src": { "line": 2028, @@ -75994,12 +77091,12 @@ "start": 72726, "end": 72739, "length": 14, - "parent_index": 4259 + "parent_index": 4260 }, - "scope": 4258, + "scope": 4259, "name": "amount", "type_name": { - "id": 4265, + "id": 4266, "node_type": 30, "src": { "line": 2028, @@ -76007,7 +77104,7 @@ "start": 72726, "end": 72732, "length": 7, - "parent_index": 4264 + "parent_index": 4265 }, "name": "uint256", "referenced_declaration": 0, @@ -76041,7 +77138,7 @@ ] }, "return_parameters": { - "id": 4266, + "id": 4267, "node_type": 43, "src": { "line": 2029, @@ -76049,11 +77146,11 @@ "start": 72771, "end": 72774, "length": 4, - "parent_index": 4258 + "parent_index": 4259 }, "parameters": [ { - "id": 4267, + "id": 4268, "node_type": 44, "src": { "line": 2029, @@ -76061,12 +77158,12 @@ "start": 72771, "end": 72774, "length": 4, - "parent_index": 4266 + "parent_index": 4267 }, - "scope": 4258, + "scope": 4259, "name": "", "type_name": { - "id": 4268, + "id": 4269, "node_type": 30, "src": { "line": 2029, @@ -76074,7 +77171,7 @@ "start": 72771, "end": 72774, "length": 4, - "parent_index": 4267 + "parent_index": 4268 }, "name": "bool", "referenced_declaration": 0, @@ -76099,16 +77196,17 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", - "scope": 4108, + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualreturns(bool){uint256allowed=allowance[from][msg.sender];if(allowed!=type(uint256).max)allowance[from][msg.sender]=allowed-amount;balanceOf[from]-=amount;unchecked{balanceOf[to]+=amount;}emitTransfer(from,to,amount);returntrue;}" }, { - "id": 4306, + "id": 4307, "name": "permit", "node_type": 42, "kind": 41, @@ -76118,7 +77216,7 @@ "start": 73434, "end": 74916, "length": 1483, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2051, @@ -76126,10 +77224,10 @@ "start": 73443, "end": 73448, "length": 6, - "parent_index": 4306 + "parent_index": 4307 }, "body": { - "id": 4323, + "id": 4324, "node_type": 46, "kind": 0, "src": { @@ -76138,12 +77236,12 @@ "start": 73623, "end": 74916, "length": 1294, - "parent_index": 4306 + "parent_index": 4307 }, "implemented": true, "statements": [ { - "id": 4324, + "id": 4325, "node_type": 24, "kind": 24, "src": { @@ -76152,7 +77250,7 @@ "start": 73633, "end": 73695, "length": 63, - "parent_index": 4323 + "parent_index": 4324 }, "argument_types": [ { @@ -76166,7 +77264,7 @@ ], "arguments": [ { - "id": 4326, + "id": 4327, "is_constant": false, "is_pure": false, "node_type": 19, @@ -76176,11 +77274,11 @@ "start": 73641, "end": 73667, "length": 27, - "parent_index": 4324 + "parent_index": 4325 }, "operator": 8, "left_expression": { - "id": 4327, + "id": 4328, "node_type": 16, "src": { "line": 2060, @@ -76188,7 +77286,7 @@ "start": 73641, "end": 73648, "length": 8, - "parent_index": 4326 + "parent_index": 4327 }, "name": "deadline", "type_description": { @@ -76196,11 +77294,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4327, - "is_pure": false + "referenced_declaration": 4328, + "is_pure": false, + "text": "deadline" }, "right_expression": { - "id": 4328, + "id": 4329, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76212,7 +77311,7 @@ "start": 73653, "end": 73667, "length": 15, - "parent_index": 4326 + "parent_index": 4327 }, "member_location": { "line": 2060, @@ -76220,10 +77319,10 @@ "start": 73659, "end": 73667, "length": 9, - "parent_index": 4328 + "parent_index": 4329 }, "expression": { - "id": 4329, + "id": 4330, "node_type": 16, "src": { "line": 2060, @@ -76231,7 +77330,7 @@ "start": 73653, "end": 73657, "length": 5, - "parent_index": 4328 + "parent_index": 4329 }, "name": "block", "type_description": { @@ -76240,14 +77339,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -76255,7 +77356,7 @@ } }, { - "id": 4330, + "id": 4331, "node_type": 17, "kind": 50, "value": "PERMIT_DEADLINE_EXPIRED", @@ -76266,7 +77367,7 @@ "start": 73670, "end": 73694, "length": 25, - "parent_index": 4324 + "parent_index": 4325 }, "type_description": { "type_identifier": "t_string_literal", @@ -76280,11 +77381,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"PERMIT_DEADLINE_EXPIRED\"" } ], "expression": { - "id": 4325, + "id": 4326, "node_type": 16, "src": { "line": 2060, @@ -76292,7 +77394,7 @@ "start": 73633, "end": 73639, "length": 7, - "parent_index": 4324 + "parent_index": 4325 }, "name": "require", "type_description": { @@ -76301,7 +77403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -76309,7 +77412,7 @@ } }, { - "id": 4331, + "id": 4332, "node_type": 64, "src": { "line": 2094, @@ -76317,11 +77420,11 @@ "start": 74874, "end": 74910, "length": 37, - "parent_index": 4306 + "parent_index": 4307 }, "arguments": [ { - "id": 4332, + "id": 4333, "node_type": 16, "src": { "line": 2094, @@ -76329,7 +77432,7 @@ "start": 74888, "end": 74892, "length": 5, - "parent_index": 4331 + "parent_index": 4332 }, "name": "owner", "type_description": { @@ -76337,11 +77440,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4332, - "is_pure": false + "referenced_declaration": 4333, + "is_pure": false, + "text": "owner" }, { - "id": 4333, + "id": 4334, "node_type": 16, "src": { "line": 2094, @@ -76349,7 +77453,7 @@ "start": 74895, "end": 74901, "length": 7, - "parent_index": 4331 + "parent_index": 4332 }, "name": "spender", "type_description": { @@ -76357,11 +77461,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4333, - "is_pure": false + "referenced_declaration": 4334, + "is_pure": false, + "text": "spender" }, { - "id": 4334, + "id": 4335, "node_type": 16, "src": { "line": 2094, @@ -76369,7 +77474,7 @@ "start": 74904, "end": 74908, "length": 5, - "parent_index": 4331 + "parent_index": 4332 }, "name": "value", "type_description": { @@ -76377,12 +77482,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4334, - "is_pure": false + "referenced_declaration": 4335, + "is_pure": false, + "text": "value" } ], "expression": { - "id": 4335, + "id": 4336, "node_type": 16, "src": { "line": 2094, @@ -76390,20 +77496,21 @@ "start": 74879, "end": 74886, "length": 8, - "parent_index": 4331 + "parent_index": 4332 }, "name": "Approval", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Approval_\u00264119", + "type_identifier": "t_event\u0026_ERC20_Approval_\u00264120", "type_string": "event ERC20.Approval" }, "overloaded_declarations": [], - "referenced_declaration": 4119, - "is_pure": false + "referenced_declaration": 4120, + "is_pure": false, + "text": "Approval" } }, { - "id": 4336, + "id": 4337, "node_type": 59, "kind": 0, "src": { @@ -76412,12 +77519,12 @@ "start": 73837, "end": 74863, "length": 1027, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4337, + "id": 4338, "node_type": 44, "src": { "line": 2065, @@ -76425,25 +77532,25 @@ "start": 73861, "end": 74693, "length": 833, - "parent_index": 4336 + "parent_index": 4337 }, "assignments": [ - 4338 + 4339 ], "declarations": [ { - "id": 4338, + "id": 4339, "state_mutability": 1, "name": "recoveredAddress", "node_type": 44, - "scope": 4336, + "scope": 4337, "src": { "line": 2065, "column": 12, "start": 73861, "end": 73884, "length": 24, - "parent_index": 4337 + "parent_index": 4338 }, "name_location": { "line": 2065, @@ -76451,12 +77558,12 @@ "start": 73869, "end": 73884, "length": 16, - "parent_index": 4338 + "parent_index": 4339 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4339, + "id": 4340, "node_type": 30, "src": { "line": 2065, @@ -76464,7 +77571,7 @@ "start": 73861, "end": 73867, "length": 7, - "parent_index": 4338 + "parent_index": 4339 }, "name": "address", "state_mutability": 4, @@ -76478,7 +77585,7 @@ } ], "initial_value": { - "id": 4340, + "id": 4341, "node_type": 24, "kind": 24, "src": { @@ -76487,7 +77594,7 @@ "start": 73888, "end": 74692, "length": 805, - "parent_index": 4337 + "parent_index": 4338 }, "argument_types": [ { @@ -76509,7 +77616,7 @@ ], "arguments": [ { - "id": 4342, + "id": 4343, "node_type": 24, "kind": 24, "src": { @@ -76518,7 +77625,7 @@ "start": 73915, "end": 74621, "length": 707, - "parent_index": 4340 + "parent_index": 4341 }, "argument_types": [ { @@ -76528,7 +77635,7 @@ ], "arguments": [ { - "id": 4344, + "id": 4345, "node_type": 24, "kind": 24, "src": { @@ -76537,7 +77644,7 @@ "start": 73946, "end": 74603, "length": 658, - "parent_index": 4342 + "parent_index": 4343 }, "argument_types": [ { @@ -76555,7 +77662,7 @@ ], "arguments": [ { - "id": 4347, + "id": 4348, "node_type": 17, "kind": 50, "value": "\\x19\\x01", @@ -76566,7 +77673,7 @@ "start": 73988, "end": 73997, "length": 10, - "parent_index": 4344 + "parent_index": 4345 }, "type_description": { "type_identifier": "t_string_literal", @@ -76574,10 +77681,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\\x19\\x01\"" }, { - "id": 4348, + "id": 4349, "node_type": 24, "kind": 24, "src": { @@ -76586,12 +77694,12 @@ "start": 74024, "end": 74041, "length": 18, - "parent_index": 4344 + "parent_index": 4345 }, "argument_types": [], "arguments": [], "expression": { - "id": 4349, + "id": 4350, "node_type": 16, "src": { "line": 2069, @@ -76599,7 +77707,7 @@ "start": 74024, "end": 74039, "length": 16, - "parent_index": 4348 + "parent_index": 4349 }, "name": "DOMAIN_SEPARATOR", "type_description": { @@ -76608,7 +77716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "DOMAIN_SEPARATOR" }, "type_description": { "type_identifier": "t_function_$", @@ -76616,7 +77725,7 @@ } }, { - "id": 4350, + "id": 4351, "node_type": 24, "kind": 24, "src": { @@ -76625,7 +77734,7 @@ "start": 74068, "end": 74581, "length": 514, - "parent_index": 4344 + "parent_index": 4345 }, "argument_types": [ { @@ -76635,7 +77744,7 @@ ], "arguments": [ { - "id": 4352, + "id": 4353, "node_type": 24, "kind": 24, "src": { @@ -76644,7 +77753,7 @@ "start": 74107, "end": 74555, "length": 449, - "parent_index": 4350 + "parent_index": 4351 }, "argument_types": [ { @@ -76674,7 +77783,7 @@ ], "arguments": [ { - "id": 4355, + "id": 4356, "node_type": 24, "kind": 24, "src": { @@ -76683,7 +77792,7 @@ "start": 74151, "end": 74315, "length": 165, - "parent_index": 4352 + "parent_index": 4353 }, "argument_types": [ { @@ -76693,7 +77802,7 @@ ], "arguments": [ { - "id": 4357, + "id": 4358, "node_type": 17, "kind": 50, "value": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)", @@ -76704,7 +77813,7 @@ "start": 74198, "end": 74281, "length": 84, - "parent_index": 4355 + "parent_index": 4356 }, "type_description": { "type_identifier": "t_string_literal", @@ -76712,11 +77821,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"" } ], "expression": { - "id": 4356, + "id": 4357, "node_type": 16, "src": { "line": 2072, @@ -76724,7 +77834,7 @@ "start": 74151, "end": 74159, "length": 9, - "parent_index": 4355 + "parent_index": 4356 }, "name": "keccak256", "type_description": { @@ -76733,7 +77843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -76741,7 +77852,7 @@ } }, { - "id": 4358, + "id": 4359, "node_type": 16, "src": { "line": 2075, @@ -76749,7 +77860,7 @@ "start": 74350, "end": 74354, "length": 5, - "parent_index": 4352 + "parent_index": 4353 }, "name": "owner", "type_description": { @@ -76757,17 +77868,18 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4358, + "referenced_declaration": 4359, "is_pure": false, "argument_types": [ { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" } - ] + ], + "text": "owner" }, { - "id": 4359, + "id": 4360, "node_type": 16, "src": { "line": 2076, @@ -76775,7 +77887,7 @@ "start": 74389, "end": 74395, "length": 7, - "parent_index": 4352 + "parent_index": 4353 }, "name": "spender", "type_description": { @@ -76783,7 +77895,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4359, + "referenced_declaration": 4360, "is_pure": false, "argument_types": [ { @@ -76794,10 +77906,11 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { - "id": 4360, + "id": 4361, "node_type": 16, "src": { "line": 2077, @@ -76805,7 +77918,7 @@ "start": 74430, "end": 74434, "length": 5, - "parent_index": 4352 + "parent_index": 4353 }, "name": "value", "type_description": { @@ -76813,7 +77926,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4360, + "referenced_declaration": 4361, "is_pure": false, "argument_types": [ { @@ -76828,10 +77941,11 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { - "id": 4361, + "id": 4362, "node_type": 18, "kind": 105, "src": { @@ -76840,11 +77954,11 @@ "start": 74469, "end": 74483, "length": 15, - "parent_index": 4306 + "parent_index": 4307 }, "operator": 27, "expression": { - "id": 4362, + "id": 4363, "node_type": 22, "src": { "line": 2078, @@ -76852,10 +77966,10 @@ "start": 74469, "end": 74481, "length": 13, - "parent_index": 4361 + "parent_index": 4362 }, "index_expression": { - "id": 4363, + "id": 4364, "node_type": 16, "src": { "line": 2078, @@ -76863,7 +77977,7 @@ "start": 74469, "end": 74474, "length": 6, - "parent_index": 4362 + "parent_index": 4363 }, "name": "nonces", "type_description": { @@ -76871,11 +77985,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4159, - "is_pure": false + "referenced_declaration": 4160, + "is_pure": false, + "text": "nonces" }, "base_expression": { - "id": 4364, + "id": 4365, "node_type": 16, "src": { "line": 2078, @@ -76883,7 +77998,7 @@ "start": 74476, "end": 74480, "length": 5, - "parent_index": 4362 + "parent_index": 4363 }, "name": "owner", "type_description": { @@ -76891,8 +78006,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4364, - "is_pure": false + "referenced_declaration": 4365, + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -76920,7 +78036,7 @@ "l_value_requested": false }, { - "id": 4365, + "id": 4366, "node_type": 16, "src": { "line": 2079, @@ -76928,7 +78044,7 @@ "start": 74518, "end": 74525, "length": 8, - "parent_index": 4352 + "parent_index": 4353 }, "name": "deadline", "type_description": { @@ -76936,7 +78052,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4365, + "referenced_declaration": 4366, "is_pure": false, "argument_types": [ { @@ -76959,11 +78075,12 @@ "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" } - ] + ], + "text": "deadline" } ], "expression": { - "id": 4353, + "id": 4354, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76975,7 +78092,7 @@ "start": 74107, "end": 74116, "length": 10, - "parent_index": 4352 + "parent_index": 4353 }, "member_location": { "line": 2071, @@ -76983,10 +78100,10 @@ "start": 74111, "end": 74116, "length": 6, - "parent_index": 4353 + "parent_index": 4354 }, "expression": { - "id": 4354, + "id": 4355, "node_type": 16, "src": { "line": 2071, @@ -76994,7 +78111,7 @@ "start": 74107, "end": 74109, "length": 3, - "parent_index": 4353 + "parent_index": 4354 }, "name": "abi", "type_description": { @@ -77003,14 +78120,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -77019,7 +78138,7 @@ } ], "expression": { - "id": 4351, + "id": 4352, "node_type": 16, "src": { "line": 2070, @@ -77027,7 +78146,7 @@ "start": 74068, "end": 74076, "length": 9, - "parent_index": 4350 + "parent_index": 4351 }, "name": "keccak256", "type_description": { @@ -77036,7 +78155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -77045,7 +78165,7 @@ } ], "expression": { - "id": 4345, + "id": 4346, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -77057,7 +78177,7 @@ "start": 73946, "end": 73961, "length": 16, - "parent_index": 4344 + "parent_index": 4345 }, "member_location": { "line": 2067, @@ -77065,10 +78185,10 @@ "start": 73950, "end": 73961, "length": 12, - "parent_index": 4345 + "parent_index": 4346 }, "expression": { - "id": 4346, + "id": 4347, "node_type": 16, "src": { "line": 2067, @@ -77076,7 +78196,7 @@ "start": 73946, "end": 73948, "length": 3, - "parent_index": 4345 + "parent_index": 4346 }, "name": "abi", "type_description": { @@ -77085,14 +78205,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -77101,7 +78223,7 @@ } ], "expression": { - "id": 4343, + "id": 4344, "node_type": 16, "src": { "line": 2066, @@ -77109,7 +78231,7 @@ "start": 73915, "end": 73923, "length": 9, - "parent_index": 4342 + "parent_index": 4343 }, "name": "keccak256", "type_description": { @@ -77118,7 +78240,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -77126,7 +78249,7 @@ } }, { - "id": 4366, + "id": 4367, "node_type": 16, "src": { "line": 2084, @@ -77134,7 +78257,7 @@ "start": 74640, "end": 74640, "length": 1, - "parent_index": 4340 + "parent_index": 4341 }, "name": "v", "type_description": { @@ -77142,17 +78265,18 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 4366, + "referenced_declaration": 4367, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", "type_string": "function(function(string memory,function(),function(function(function(string memory),address,address,uint256,index[mapping(address=\u003euint256):address],uint256))))" } - ] + ], + "text": "v" }, { - "id": 4367, + "id": 4368, "node_type": 16, "src": { "line": 2085, @@ -77160,7 +78284,7 @@ "start": 74659, "end": 74659, "length": 1, - "parent_index": 4340 + "parent_index": 4341 }, "name": "r", "type_description": { @@ -77168,7 +78292,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4367, + "referenced_declaration": 4368, "is_pure": false, "argument_types": [ { @@ -77179,10 +78303,11 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { - "id": 4368, + "id": 4369, "node_type": 16, "src": { "line": 2086, @@ -77190,7 +78315,7 @@ "start": 74678, "end": 74678, "length": 1, - "parent_index": 4340 + "parent_index": 4341 }, "name": "s", "type_description": { @@ -77198,7 +78323,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4368, + "referenced_declaration": 4369, "is_pure": false, "argument_types": [ { @@ -77213,11 +78338,12 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { - "id": 4341, + "id": 4342, "node_type": 16, "src": { "line": 2065, @@ -77225,7 +78351,7 @@ "start": 73888, "end": 73896, "length": 9, - "parent_index": 4340 + "parent_index": 4341 }, "name": "ecrecover", "type_description": { @@ -77234,7 +78360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ecrecover" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_address$_t_address$_t_uint256$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -77243,7 +78370,7 @@ } }, { - "id": 4369, + "id": 4370, "node_type": 24, "kind": 24, "src": { @@ -77252,7 +78379,7 @@ "start": 74708, "end": 74793, "length": 86, - "parent_index": 4336 + "parent_index": 4337 }, "argument_types": [ { @@ -77266,7 +78393,7 @@ ], "arguments": [ { - "id": 4372, + "id": 4373, "node_type": 96, "src": { "line": 2089, @@ -77274,11 +78401,11 @@ "start": 74716, "end": 74774, "length": 59, - "parent_index": 4369 + "parent_index": 4370 }, "expressions": [ { - "id": 4373, + "id": 4374, "is_constant": false, "is_pure": false, "node_type": 19, @@ -77288,11 +78415,11 @@ "start": 74716, "end": 74745, "length": 30, - "parent_index": 4372 + "parent_index": 4373 }, "operator": 12, "left_expression": { - "id": 4374, + "id": 4375, "node_type": 16, "src": { "line": 2089, @@ -77300,7 +78427,7 @@ "start": 74716, "end": 74731, "length": 16, - "parent_index": 4373 + "parent_index": 4374 }, "name": "recoveredAddress", "type_description": { @@ -77308,11 +78435,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4337, - "is_pure": false + "referenced_declaration": 4338, + "is_pure": false, + "text": "recoveredAddress" }, "right_expression": { - "id": 4375, + "id": 4376, "node_type": 24, "kind": 24, "src": { @@ -77321,7 +78449,7 @@ "start": 74736, "end": 74745, "length": 10, - "parent_index": 4373 + "parent_index": 4374 }, "argument_types": [ { @@ -77331,7 +78459,7 @@ ], "arguments": [ { - "id": 4378, + "id": 4379, "node_type": 17, "kind": 49, "value": "0", @@ -77342,7 +78470,7 @@ "start": 74744, "end": 74744, "length": 1, - "parent_index": 4375 + "parent_index": 4376 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -77350,11 +78478,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 4376, + "id": 4377, "node_type": 16, "src": { "line": 2089, @@ -77362,11 +78491,11 @@ "start": 74736, "end": 74742, "length": 7, - "parent_index": 4375 + "parent_index": 4376 }, "name": "address", "type_name": { - "id": 4377, + "id": 4378, "node_type": 30, "src": { "line": 2089, @@ -77374,7 +78503,7 @@ "start": 74736, "end": 74742, "length": 7, - "parent_index": 4376 + "parent_index": 4377 }, "name": "address", "state_mutability": 4, @@ -77396,7 +78525,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -77409,7 +78539,7 @@ } }, { - "id": 4379, + "id": 4380, "is_constant": false, "is_pure": false, "node_type": 19, @@ -77419,11 +78549,11 @@ "start": 74750, "end": 74774, "length": 25, - "parent_index": 4372 + "parent_index": 4373 }, "operator": 11, "left_expression": { - "id": 4380, + "id": 4381, "node_type": 16, "src": { "line": 2089, @@ -77431,7 +78561,7 @@ "start": 74750, "end": 74765, "length": 16, - "parent_index": 4379 + "parent_index": 4380 }, "name": "recoveredAddress", "type_description": { @@ -77439,11 +78569,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4337, - "is_pure": false + "referenced_declaration": 4338, + "is_pure": false, + "text": "recoveredAddress" }, "right_expression": { - "id": 4381, + "id": 4382, "node_type": 16, "src": { "line": 2089, @@ -77451,7 +78582,7 @@ "start": 74770, "end": 74774, "length": 5, - "parent_index": 4379 + "parent_index": 4380 }, "name": "owner", "type_description": { @@ -77459,8 +78590,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4381, - "is_pure": false + "referenced_declaration": 4382, + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -77480,7 +78612,7 @@ ] }, { - "id": 4382, + "id": 4383, "node_type": 17, "kind": 50, "value": "INVALID_SIGNER", @@ -77491,7 +78623,7 @@ "start": 74777, "end": 74792, "length": 16, - "parent_index": 4369 + "parent_index": 4370 }, "type_description": { "type_identifier": "t_string_literal", @@ -77505,11 +78637,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID_SIGNER\"" } ], "expression": { - "id": 4370, + "id": 4371, "node_type": 16, "src": { "line": 2089, @@ -77517,7 +78650,7 @@ "start": 74708, "end": 74714, "length": 7, - "parent_index": 4369 + "parent_index": 4370 }, "name": "require", "type_description": { @@ -77526,7 +78659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -77534,7 +78668,7 @@ } }, { - "id": 4383, + "id": 4384, "node_type": 27, "src": { "line": 2091, @@ -77542,10 +78676,10 @@ "start": 74809, "end": 74853, "length": 45, - "parent_index": 4336 + "parent_index": 4337 }, "expression": { - "id": 4384, + "id": 4385, "node_type": 27, "src": { "line": 2091, @@ -77553,11 +78687,11 @@ "start": 74809, "end": 74852, "length": 44, - "parent_index": 4383 + "parent_index": 4384 }, "operator": 11, "left_expression": { - "id": 4385, + "id": 4386, "node_type": 22, "src": { "line": 2091, @@ -77565,10 +78699,10 @@ "start": 74809, "end": 74844, "length": 36, - "parent_index": 4384 + "parent_index": 4385 }, "index_expression": { - "id": 4386, + "id": 4387, "node_type": 22, "src": { "line": 2091, @@ -77576,10 +78710,10 @@ "start": 74809, "end": 74835, "length": 27, - "parent_index": 4385 + "parent_index": 4386 }, "index_expression": { - "id": 4387, + "id": 4388, "node_type": 16, "src": { "line": 2091, @@ -77587,7 +78721,7 @@ "start": 74809, "end": 74817, "length": 9, - "parent_index": 4386 + "parent_index": 4387 }, "name": "allowance", "type_description": { @@ -77595,11 +78729,12 @@ "type_string": "mapping(address=\u003emapping(address=\u003euint256))" }, "overloaded_declarations": [], - "referenced_declaration": 4145, - "is_pure": false + "referenced_declaration": 4146, + "is_pure": false, + "text": "allowance" }, "base_expression": { - "id": 4388, + "id": 4389, "node_type": 16, "src": { "line": 2091, @@ -77607,7 +78742,7 @@ "start": 74819, "end": 74834, "length": 16, - "parent_index": 4386 + "parent_index": 4387 }, "name": "recoveredAddress", "type_description": { @@ -77615,8 +78750,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4337, - "is_pure": false + "referenced_declaration": 4338, + "is_pure": false, + "text": "recoveredAddress" }, "type_descriptions": [ { @@ -77634,7 +78770,7 @@ } }, "base_expression": { - "id": 4389, + "id": 4390, "node_type": 16, "src": { "line": 2091, @@ -77642,7 +78778,7 @@ "start": 74837, "end": 74843, "length": 7, - "parent_index": 4385 + "parent_index": 4386 }, "name": "spender", "type_description": { @@ -77650,8 +78786,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4389, - "is_pure": false + "referenced_declaration": 4390, + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -77669,7 +78806,7 @@ } }, "right_expression": { - "id": 4390, + "id": 4391, "node_type": 16, "src": { "line": 2091, @@ -77677,7 +78814,7 @@ "start": 74848, "end": 74852, "length": 5, - "parent_index": 4384 + "parent_index": 4385 }, "name": "value", "type_description": { @@ -77685,8 +78822,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4390, - "is_pure": false + "referenced_declaration": 4391, + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -77696,7 +78834,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "allowance[recoveredAddress][spender]=value;" } ] } @@ -77709,7 +78848,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4307, + "id": 4308, "node_type": 43, "src": { "line": 2052, @@ -77717,11 +78856,11 @@ "start": 73459, "end": 73600, "length": 142, - "parent_index": 4306 + "parent_index": 4307 }, "parameters": [ { - "id": 4308, + "id": 4309, "node_type": 44, "src": { "line": 2052, @@ -77729,12 +78868,12 @@ "start": 73459, "end": 73471, "length": 13, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "owner", "type_name": { - "id": 4309, + "id": 4310, "node_type": 30, "src": { "line": 2052, @@ -77742,7 +78881,7 @@ "start": 73459, "end": 73465, "length": 7, - "parent_index": 4308 + "parent_index": 4309 }, "name": "address", "state_mutability": 4, @@ -77761,7 +78900,7 @@ } }, { - "id": 4310, + "id": 4311, "node_type": 44, "src": { "line": 2053, @@ -77769,12 +78908,12 @@ "start": 73482, "end": 73496, "length": 15, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "spender", "type_name": { - "id": 4311, + "id": 4312, "node_type": 30, "src": { "line": 2053, @@ -77782,7 +78921,7 @@ "start": 73482, "end": 73488, "length": 7, - "parent_index": 4310 + "parent_index": 4311 }, "name": "address", "state_mutability": 4, @@ -77801,7 +78940,7 @@ } }, { - "id": 4312, + "id": 4313, "node_type": 44, "src": { "line": 2054, @@ -77809,12 +78948,12 @@ "start": 73507, "end": 73519, "length": 13, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "value", "type_name": { - "id": 4313, + "id": 4314, "node_type": 30, "src": { "line": 2054, @@ -77822,7 +78961,7 @@ "start": 73507, "end": 73513, "length": 7, - "parent_index": 4312 + "parent_index": 4313 }, "name": "uint256", "referenced_declaration": 0, @@ -77840,7 +78979,7 @@ } }, { - "id": 4314, + "id": 4315, "node_type": 44, "src": { "line": 2055, @@ -77848,12 +78987,12 @@ "start": 73530, "end": 73545, "length": 16, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "deadline", "type_name": { - "id": 4315, + "id": 4316, "node_type": 30, "src": { "line": 2055, @@ -77861,7 +79000,7 @@ "start": 73530, "end": 73536, "length": 7, - "parent_index": 4314 + "parent_index": 4315 }, "name": "uint256", "referenced_declaration": 0, @@ -77879,7 +79018,7 @@ } }, { - "id": 4316, + "id": 4317, "node_type": 44, "src": { "line": 2056, @@ -77887,12 +79026,12 @@ "start": 73556, "end": 73562, "length": 7, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "v", "type_name": { - "id": 4317, + "id": 4318, "node_type": 30, "src": { "line": 2056, @@ -77900,7 +79039,7 @@ "start": 73556, "end": 73560, "length": 5, - "parent_index": 4316 + "parent_index": 4317 }, "name": "uint8", "referenced_declaration": 0, @@ -77918,7 +79057,7 @@ } }, { - "id": 4318, + "id": 4319, "node_type": 44, "src": { "line": 2057, @@ -77926,12 +79065,12 @@ "start": 73573, "end": 73581, "length": 9, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "r", "type_name": { - "id": 4319, + "id": 4320, "node_type": 30, "src": { "line": 2057, @@ -77939,7 +79078,7 @@ "start": 73573, "end": 73579, "length": 7, - "parent_index": 4318 + "parent_index": 4319 }, "name": "bytes32", "referenced_declaration": 0, @@ -77957,7 +79096,7 @@ } }, { - "id": 4320, + "id": 4321, "node_type": 44, "src": { "line": 2058, @@ -77965,12 +79104,12 @@ "start": 73592, "end": 73600, "length": 9, - "parent_index": 4307 + "parent_index": 4308 }, - "scope": 4306, + "scope": 4307, "name": "s", "type_name": { - "id": 4321, + "id": 4322, "node_type": 30, "src": { "line": 2058, @@ -77978,7 +79117,7 @@ "start": 73592, "end": 73598, "length": 7, - "parent_index": 4320 + "parent_index": 4321 }, "name": "bytes32", "referenced_declaration": 0, @@ -78028,7 +79167,7 @@ ] }, "return_parameters": { - "id": 4322, + "id": 4323, "node_type": 43, "src": { "line": 2051, @@ -78036,21 +79175,22 @@ "start": 73434, "end": 74916, "length": 1483, - "parent_index": 4306 + "parent_index": 4307 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", - "scope": 4108, + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)publicvirtual{require(deadline\u003e=block.timestamp,\"PERMIT_DEADLINE_EXPIRED\");unchecked{addressrecoveredAddress=ecrecover(keccak256(abi.encodePacked(\"\\x19\\x01\",DOMAIN_SEPARATOR(),keccak256(abi.encode(keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),owner,spender,value,nonces[owner]++,deadline)))),v,r,s);require(recoveredAddress!=address(0)\u0026\u0026recoveredAddress==owner,\"INVALID_SIGNER\");allowance[recoveredAddress][spender]=value;}emitApproval(owner,spender,value);}" }, { - "id": 4392, + "id": 4393, "name": "DOMAIN_SEPARATOR", "node_type": 42, "kind": 41, @@ -78060,7 +79200,7 @@ "start": 74923, "end": 75099, "length": 177, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2097, @@ -78068,10 +79208,10 @@ "start": 74932, "end": 74947, "length": 16, - "parent_index": 4392 + "parent_index": 4393 }, "body": { - "id": 4399, + "id": 4400, "node_type": 46, "kind": 0, "src": { @@ -78080,12 +79220,12 @@ "start": 74989, "end": 75099, "length": 111, - "parent_index": 4392 + "parent_index": 4393 }, "implemented": true, "statements": [ { - "id": 4400, + "id": 4401, "node_type": 47, "src": { "line": 2098, @@ -78093,11 +79233,11 @@ "start": 74999, "end": 75093, "length": 95, - "parent_index": 4392 + "parent_index": 4393 }, - "function_return_parameters": 4392, + "function_return_parameters": 4393, "expression": { - "id": 4402, + "id": 4403, "node_type": 97, "src": { "line": 2098, @@ -78105,11 +79245,11 @@ "start": 75006, "end": 75092, "length": 87, - "parent_index": 4400 + "parent_index": 4401 }, "expressions": [ { - "id": 4403, + "id": 4404, "is_constant": false, "is_pure": false, "node_type": 19, @@ -78119,11 +79259,11 @@ "start": 75006, "end": 75038, "length": 33, - "parent_index": 4402 + "parent_index": 4403 }, "operator": 11, "left_expression": { - "id": 4404, + "id": 4405, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -78135,7 +79275,7 @@ "start": 75006, "end": 75018, "length": 13, - "parent_index": 4403 + "parent_index": 4404 }, "member_location": { "line": 2098, @@ -78143,10 +79283,10 @@ "start": 75012, "end": 75018, "length": 7, - "parent_index": 4404 + "parent_index": 4405 }, "expression": { - "id": 4405, + "id": 4406, "node_type": 16, "src": { "line": 2098, @@ -78154,7 +79294,7 @@ "start": 75006, "end": 75010, "length": 5, - "parent_index": 4404 + "parent_index": 4405 }, "name": "block", "type_description": { @@ -78163,17 +79303,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "chainid", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.chainid" }, "right_expression": { - "id": 4406, + "id": 4407, "node_type": 16, "src": { "line": 2098, @@ -78181,7 +79323,7 @@ "start": 75023, "end": 75038, "length": 16, - "parent_index": 4403 + "parent_index": 4404 }, "name": "INITIAL_CHAIN_ID", "type_description": { @@ -78189,8 +79331,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4153, - "is_pure": false + "referenced_declaration": 4154, + "is_pure": false, + "text": "INITIAL_CHAIN_ID" }, "type_description": { "type_identifier": "t_bool", @@ -78198,7 +79341,7 @@ } }, { - "id": 4407, + "id": 4408, "node_type": 16, "src": { "line": 2098, @@ -78206,7 +79349,7 @@ "start": 75042, "end": 75065, "length": 24, - "parent_index": 4402 + "parent_index": 4403 }, "name": "INITIAL_DOMAIN_SEPARATOR", "type_description": { @@ -78214,11 +79357,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4156, - "is_pure": false + "referenced_declaration": 4157, + "is_pure": false, + "text": "INITIAL_DOMAIN_SEPARATOR" }, { - "id": 4408, + "id": 4409, "node_type": 24, "kind": 24, "src": { @@ -78227,12 +79371,12 @@ "start": 75069, "end": 75092, "length": 24, - "parent_index": 4402 + "parent_index": 4403 }, "argument_types": [], "arguments": [], "expression": { - "id": 4409, + "id": 4410, "node_type": 16, "src": { "line": 2098, @@ -78240,7 +79384,7 @@ "start": 75069, "end": 75090, "length": 22, - "parent_index": 4408 + "parent_index": 4409 }, "name": "computeDomainSeparator", "type_description": { @@ -78249,7 +79393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "computeDomainSeparator" }, "type_description": { "type_identifier": "t_function_$", @@ -78283,7 +79428,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4393, + "id": 4394, "node_type": 43, "src": { "line": 2097, @@ -78291,11 +79436,11 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4392 + "parent_index": 4393 }, "parameters": [ { - "id": 4394, + "id": 4395, "node_type": 44, "src": { "line": 2097, @@ -78303,12 +79448,12 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4393 + "parent_index": 4394 }, - "scope": 4392, + "scope": 4393, "name": "", "type_name": { - "id": 4395, + "id": 4396, "node_type": 30, "src": { "line": 2097, @@ -78316,7 +79461,7 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4394 + "parent_index": 4395 }, "name": "bytes32", "referenced_declaration": 0, @@ -78342,7 +79487,7 @@ ] }, "return_parameters": { - "id": 4396, + "id": 4397, "node_type": 43, "src": { "line": 2097, @@ -78350,11 +79495,11 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4392 + "parent_index": 4393 }, "parameters": [ { - "id": 4397, + "id": 4398, "node_type": 44, "src": { "line": 2097, @@ -78362,12 +79507,12 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4396 + "parent_index": 4397 }, - "scope": 4392, + "scope": 4393, "name": "", "type_name": { - "id": 4398, + "id": 4399, "node_type": 30, "src": { "line": 2097, @@ -78375,7 +79520,7 @@ "start": 74980, "end": 74986, "length": 7, - "parent_index": 4397 + "parent_index": 4398 }, "name": "bytes32", "referenced_declaration": 0, @@ -78402,14 +79547,15 @@ }, "signature_raw": "DOMAIN_SEPARATOR(bytes32)", "signature": "d075954a", - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()publicviewvirtualreturns(bytes32){returnblock.chainid==INITIAL_CHAIN_ID?INITIAL_DOMAIN_SEPARATOR:computeDomainSeparator();}" }, { - "id": 4411, + "id": 4412, "name": "computeDomainSeparator", "node_type": 42, "kind": 41, @@ -78419,7 +79565,7 @@ "start": 75106, "end": 75551, "length": 446, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2101, @@ -78427,10 +79573,10 @@ "start": 75115, "end": 75136, "length": 22, - "parent_index": 4411 + "parent_index": 4412 }, "body": { - "id": 4418, + "id": 4419, "node_type": 46, "kind": 0, "src": { @@ -78439,12 +79585,12 @@ "start": 75180, "end": 75551, "length": 372, - "parent_index": 4411 + "parent_index": 4412 }, "implemented": true, "statements": [ { - "id": 4419, + "id": 4420, "node_type": 47, "src": { "line": 2102, @@ -78452,11 +79598,11 @@ "start": 75190, "end": 75545, "length": 356, - "parent_index": 4411 + "parent_index": 4412 }, - "function_return_parameters": 4411, + "function_return_parameters": 4412, "expression": { - "id": 4420, + "id": 4421, "node_type": 24, "kind": 24, "src": { @@ -78465,7 +79611,7 @@ "start": 75209, "end": 75544, "length": 336, - "parent_index": 4419 + "parent_index": 4420 }, "argument_types": [ { @@ -78475,7 +79621,7 @@ ], "arguments": [ { - "id": 4422, + "id": 4423, "node_type": 24, "kind": 24, "src": { @@ -78484,7 +79630,7 @@ "start": 75236, "end": 75530, "length": 295, - "parent_index": 4420 + "parent_index": 4421 }, "argument_types": [ { @@ -78510,7 +79656,7 @@ ], "arguments": [ { - "id": 4425, + "id": 4426, "node_type": 24, "kind": 24, "src": { @@ -78519,7 +79665,7 @@ "start": 75268, "end": 75362, "length": 95, - "parent_index": 4422 + "parent_index": 4423 }, "argument_types": [ { @@ -78529,7 +79675,7 @@ ], "arguments": [ { - "id": 4427, + "id": 4428, "node_type": 17, "kind": 50, "value": "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)", @@ -78540,7 +79686,7 @@ "start": 75278, "end": 75361, "length": 84, - "parent_index": 4425 + "parent_index": 4426 }, "type_description": { "type_identifier": "t_string_literal", @@ -78548,11 +79694,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" } ], "expression": { - "id": 4426, + "id": 4427, "node_type": 16, "src": { "line": 2105, @@ -78560,7 +79707,7 @@ "start": 75268, "end": 75276, "length": 9, - "parent_index": 4425 + "parent_index": 4426 }, "name": "keccak256", "type_description": { @@ -78569,7 +79716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -78577,7 +79725,7 @@ } }, { - "id": 4428, + "id": 4429, "node_type": 24, "kind": 24, "src": { @@ -78586,7 +79734,7 @@ "start": 75385, "end": 75406, "length": 22, - "parent_index": 4422 + "parent_index": 4423 }, "argument_types": [ { @@ -78596,7 +79744,7 @@ ], "arguments": [ { - "id": 4430, + "id": 4431, "node_type": 24, "kind": 24, "src": { @@ -78605,7 +79753,7 @@ "start": 75395, "end": 75405, "length": 11, - "parent_index": 4428 + "parent_index": 4429 }, "argument_types": [ { @@ -78615,7 +79763,7 @@ ], "arguments": [ { - "id": 4433, + "id": 4434, "node_type": 16, "src": { "line": 2106, @@ -78623,7 +79771,7 @@ "start": 75401, "end": 75404, "length": 4, - "parent_index": 4430 + "parent_index": 4431 }, "name": "name", "type_description": { @@ -78632,11 +79780,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "name" } ], "expression": { - "id": 4431, + "id": 4432, "node_type": 16, "src": { "line": 2106, @@ -78644,11 +79793,11 @@ "start": 75395, "end": 75399, "length": 5, - "parent_index": 4430 + "parent_index": 4431 }, "name": "bytes", "type_name": { - "id": 4432, + "id": 4433, "node_type": 30, "src": { "line": 2106, @@ -78656,7 +79805,7 @@ "start": 75395, "end": 75399, "length": 5, - "parent_index": 4431 + "parent_index": 4432 }, "name": "bytes", "referenced_declaration": 0, @@ -78677,7 +79826,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -78686,7 +79836,7 @@ } ], "expression": { - "id": 4429, + "id": 4430, "node_type": 16, "src": { "line": 2106, @@ -78694,7 +79844,7 @@ "start": 75385, "end": 75393, "length": 9, - "parent_index": 4428 + "parent_index": 4429 }, "name": "keccak256", "type_description": { @@ -78703,7 +79853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -78711,7 +79862,7 @@ } }, { - "id": 4434, + "id": 4435, "node_type": 24, "kind": 24, "src": { @@ -78720,7 +79871,7 @@ "start": 75429, "end": 75442, "length": 14, - "parent_index": 4422 + "parent_index": 4423 }, "argument_types": [ { @@ -78730,7 +79881,7 @@ ], "arguments": [ { - "id": 4436, + "id": 4437, "node_type": 17, "kind": 50, "value": "1", @@ -78741,7 +79892,7 @@ "start": 75439, "end": 75441, "length": 3, - "parent_index": 4434 + "parent_index": 4435 }, "type_description": { "type_identifier": "t_string_literal", @@ -78749,11 +79900,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"1\"" } ], "expression": { - "id": 4435, + "id": 4436, "node_type": 16, "src": { "line": 2107, @@ -78761,7 +79913,7 @@ "start": 75429, "end": 75437, "length": 9, - "parent_index": 4434 + "parent_index": 4435 }, "name": "keccak256", "type_description": { @@ -78770,7 +79922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -78778,7 +79931,7 @@ } }, { - "id": 4437, + "id": 4438, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -78790,7 +79943,7 @@ "start": 75465, "end": 75477, "length": 13, - "parent_index": 4422 + "parent_index": 4423 }, "member_location": { "line": 2108, @@ -78798,10 +79951,10 @@ "start": 75471, "end": 75477, "length": 7, - "parent_index": 4437 + "parent_index": 4438 }, "expression": { - "id": 4438, + "id": 4439, "node_type": 16, "src": { "line": 2108, @@ -78809,7 +79962,7 @@ "start": 75465, "end": 75469, "length": 5, - "parent_index": 4437 + "parent_index": 4438 }, "name": "block", "type_description": { @@ -78818,7 +79971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "chainid", "argument_types": [ @@ -78838,10 +79992,11 @@ "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.chainid" }, { - "id": 4439, + "id": 4440, "node_type": 24, "kind": 24, "src": { @@ -78850,17 +80005,17 @@ "start": 75500, "end": 75512, "length": 13, - "parent_index": 4422 + "parent_index": 4423 }, "argument_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } ], "arguments": [ { - "id": 4442, + "id": 4443, "node_type": 16, "src": { "line": 2109, @@ -78868,20 +80023,21 @@ "start": 75508, "end": 75511, "length": 4, - "parent_index": 4439 + "parent_index": 4440 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 4440, + "id": 4441, "node_type": 16, "src": { "line": 2109, @@ -78889,11 +80045,11 @@ "start": 75500, "end": 75506, "length": 7, - "parent_index": 4439 + "parent_index": 4440 }, "name": "address", "type_name": { - "id": 4441, + "id": 4442, "node_type": 30, "src": { "line": 2109, @@ -78901,7 +80057,7 @@ "start": 75500, "end": 75506, "length": 7, - "parent_index": 4440 + "parent_index": 4441 }, "name": "address", "state_mutability": 4, @@ -78923,7 +80079,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -78932,7 +80089,7 @@ } ], "expression": { - "id": 4423, + "id": 4424, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -78944,7 +80101,7 @@ "start": 75236, "end": 75245, "length": 10, - "parent_index": 4422 + "parent_index": 4423 }, "member_location": { "line": 2104, @@ -78952,10 +80109,10 @@ "start": 75240, "end": 75245, "length": 6, - "parent_index": 4423 + "parent_index": 4424 }, "expression": { - "id": 4424, + "id": 4425, "node_type": 16, "src": { "line": 2104, @@ -78963,7 +80120,7 @@ "start": 75236, "end": 75238, "length": 3, - "parent_index": 4423 + "parent_index": 4424 }, "name": "abi", "type_description": { @@ -78972,14 +80129,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_magic_block$_t_function_$_t_address$", @@ -78988,7 +80147,7 @@ } ], "expression": { - "id": 4421, + "id": 4422, "node_type": 16, "src": { "line": 2103, @@ -78996,7 +80155,7 @@ "start": 75209, "end": 75217, "length": 9, - "parent_index": 4420 + "parent_index": 4421 }, "name": "keccak256", "type_description": { @@ -79005,7 +80164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_function_$_t_function__t_string_literal$_t_magic_block$_t_function_$_t_address$", @@ -79022,7 +80182,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4412, + "id": 4413, "node_type": 43, "src": { "line": 2101, @@ -79030,11 +80190,11 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4411 + "parent_index": 4412 }, "parameters": [ { - "id": 4413, + "id": 4414, "node_type": 44, "src": { "line": 2101, @@ -79042,12 +80202,12 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4412 + "parent_index": 4413 }, - "scope": 4411, + "scope": 4412, "name": "", "type_name": { - "id": 4414, + "id": 4415, "node_type": 30, "src": { "line": 2101, @@ -79055,7 +80215,7 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4413 + "parent_index": 4414 }, "name": "bytes32", "referenced_declaration": 0, @@ -79081,7 +80241,7 @@ ] }, "return_parameters": { - "id": 4415, + "id": 4416, "node_type": 43, "src": { "line": 2101, @@ -79089,11 +80249,11 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4411 + "parent_index": 4412 }, "parameters": [ { - "id": 4416, + "id": 4417, "node_type": 44, "src": { "line": 2101, @@ -79101,12 +80261,12 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4415 + "parent_index": 4416 }, - "scope": 4411, + "scope": 4412, "name": "", "type_name": { - "id": 4417, + "id": 4418, "node_type": 30, "src": { "line": 2101, @@ -79114,7 +80274,7 @@ "start": 75171, "end": 75177, "length": 7, - "parent_index": 4416 + "parent_index": 4417 }, "name": "bytes32", "referenced_declaration": 0, @@ -79141,14 +80301,15 @@ }, "signature_raw": "computeDomainSeparator(bytes32)", "signature": "11c9ac30", - "scope": 4108, + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functioncomputeDomainSeparator()internalviewvirtualreturns(bytes32){returnkeccak256(abi.encode(keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),keccak256(bytes(name)),keccak256(\"1\"),block.chainid,address(this)));}" }, { - "id": 4444, + "id": 4445, "name": "_mint", "node_type": 42, "kind": 41, @@ -79158,7 +80319,7 @@ "start": 75746, "end": 76070, "length": 325, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2118, @@ -79166,10 +80327,10 @@ "start": 75755, "end": 75759, "length": 5, - "parent_index": 4444 + "parent_index": 4445 }, "body": { - "id": 4451, + "id": 4452, "node_type": 46, "kind": 0, "src": { @@ -79178,12 +80339,12 @@ "start": 75806, "end": 76070, "length": 265, - "parent_index": 4444 + "parent_index": 4445 }, "implemented": true, "statements": [ { - "id": 4452, + "id": 4453, "node_type": 27, "src": { "line": 2119, @@ -79191,10 +80352,10 @@ "start": 75816, "end": 75837, "length": 22, - "parent_index": 4451 + "parent_index": 4452 }, "expression": { - "id": 4453, + "id": 4454, "node_type": 27, "src": { "line": 2119, @@ -79202,11 +80363,11 @@ "start": 75816, "end": 75836, "length": 21, - "parent_index": 4452 + "parent_index": 4453 }, "operator": 13, "left_expression": { - "id": 4454, + "id": 4455, "node_type": 16, "src": { "line": 2119, @@ -79214,7 +80375,7 @@ "start": 75816, "end": 75826, "length": 11, - "parent_index": 4453 + "parent_index": 4454 }, "name": "totalSupply", "type_description": { @@ -79222,11 +80383,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4137, - "is_pure": false + "referenced_declaration": 4138, + "is_pure": false, + "text": "totalSupply" }, "right_expression": { - "id": 4455, + "id": 4456, "node_type": 16, "src": { "line": 2119, @@ -79234,7 +80396,7 @@ "start": 75831, "end": 75836, "length": 6, - "parent_index": 4453 + "parent_index": 4454 }, "name": "amount", "type_description": { @@ -79242,8 +80404,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4455, - "is_pure": false + "referenced_declaration": 4456, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -79253,10 +80416,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply+=amount;" }, { - "id": 4456, + "id": 4457, "node_type": 64, "src": { "line": 2127, @@ -79264,11 +80428,11 @@ "start": 76027, "end": 76064, "length": 38, - "parent_index": 4444 + "parent_index": 4445 }, "arguments": [ { - "id": 4457, + "id": 4458, "node_type": 24, "kind": 24, "src": { @@ -79277,7 +80441,7 @@ "start": 76041, "end": 76050, "length": 10, - "parent_index": 4456 + "parent_index": 4457 }, "argument_types": [ { @@ -79287,7 +80451,7 @@ ], "arguments": [ { - "id": 4460, + "id": 4461, "node_type": 17, "kind": 49, "value": "0", @@ -79298,7 +80462,7 @@ "start": 76049, "end": 76049, "length": 1, - "parent_index": 4457 + "parent_index": 4458 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -79306,11 +80470,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 4458, + "id": 4459, "node_type": 16, "src": { "line": 2127, @@ -79318,11 +80483,11 @@ "start": 76041, "end": 76047, "length": 7, - "parent_index": 4457 + "parent_index": 4458 }, "name": "address", "type_name": { - "id": 4459, + "id": 4460, "node_type": 30, "src": { "line": 2127, @@ -79330,7 +80495,7 @@ "start": 76041, "end": 76047, "length": 7, - "parent_index": 4458 + "parent_index": 4459 }, "name": "address", "state_mutability": 4, @@ -79352,7 +80517,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -79360,7 +80526,7 @@ } }, { - "id": 4461, + "id": 4462, "node_type": 16, "src": { "line": 2127, @@ -79368,7 +80534,7 @@ "start": 76053, "end": 76054, "length": 2, - "parent_index": 4456 + "parent_index": 4457 }, "name": "to", "type_description": { @@ -79376,11 +80542,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4461, - "is_pure": false + "referenced_declaration": 4462, + "is_pure": false, + "text": "to" }, { - "id": 4462, + "id": 4463, "node_type": 16, "src": { "line": 2127, @@ -79388,7 +80555,7 @@ "start": 76057, "end": 76062, "length": 6, - "parent_index": 4456 + "parent_index": 4457 }, "name": "amount", "type_description": { @@ -79396,12 +80563,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4462, - "is_pure": false + "referenced_declaration": 4463, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4463, + "id": 4464, "node_type": 16, "src": { "line": 2127, @@ -79409,20 +80577,21 @@ "start": 76032, "end": 76039, "length": 8, - "parent_index": 4456 + "parent_index": 4457 }, "name": "Transfer", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" }, "overloaded_declarations": [], - "referenced_declaration": 4110, - "is_pure": false + "referenced_declaration": 4111, + "is_pure": false, + "text": "Transfer" } }, { - "id": 4464, + "id": 4465, "node_type": 59, "kind": 0, "src": { @@ -79431,12 +80600,12 @@ "start": 75959, "end": 76016, "length": 58, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4465, + "id": 4466, "node_type": 27, "src": { "line": 2124, @@ -79444,10 +80613,10 @@ "start": 75983, "end": 76006, "length": 24, - "parent_index": 4464 + "parent_index": 4465 }, "expression": { - "id": 4466, + "id": 4467, "node_type": 27, "src": { "line": 2124, @@ -79455,11 +80624,11 @@ "start": 75983, "end": 76005, "length": 23, - "parent_index": 4465 + "parent_index": 4466 }, "operator": 13, "left_expression": { - "id": 4467, + "id": 4468, "node_type": 22, "src": { "line": 2124, @@ -79467,10 +80636,10 @@ "start": 75983, "end": 75995, "length": 13, - "parent_index": 4466 + "parent_index": 4467 }, "index_expression": { - "id": 4468, + "id": 4469, "node_type": 16, "src": { "line": 2124, @@ -79478,7 +80647,7 @@ "start": 75983, "end": 75991, "length": 9, - "parent_index": 4467 + "parent_index": 4468 }, "name": "balanceOf", "type_description": { @@ -79486,11 +80655,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4469, + "id": 4470, "node_type": 16, "src": { "line": 2124, @@ -79498,7 +80668,7 @@ "start": 75993, "end": 75994, "length": 2, - "parent_index": 4467 + "parent_index": 4468 }, "name": "to", "type_description": { @@ -79506,8 +80676,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4469, - "is_pure": false + "referenced_declaration": 4470, + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -79525,7 +80696,7 @@ } }, "right_expression": { - "id": 4470, + "id": 4471, "node_type": 16, "src": { "line": 2124, @@ -79533,7 +80704,7 @@ "start": 76000, "end": 76005, "length": 6, - "parent_index": 4466 + "parent_index": 4467 }, "name": "amount", "type_description": { @@ -79541,8 +80712,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4470, - "is_pure": false + "referenced_declaration": 4471, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -79552,7 +80724,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -79565,7 +80738,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4445, + "id": 4446, "node_type": 43, "src": { "line": 2118, @@ -79573,11 +80746,11 @@ "start": 75761, "end": 75786, "length": 26, - "parent_index": 4444 + "parent_index": 4445 }, "parameters": [ { - "id": 4446, + "id": 4447, "node_type": 44, "src": { "line": 2118, @@ -79585,12 +80758,12 @@ "start": 75761, "end": 75770, "length": 10, - "parent_index": 4445 + "parent_index": 4446 }, - "scope": 4444, + "scope": 4445, "name": "to", "type_name": { - "id": 4447, + "id": 4448, "node_type": 30, "src": { "line": 2118, @@ -79598,7 +80771,7 @@ "start": 75761, "end": 75767, "length": 7, - "parent_index": 4446 + "parent_index": 4447 }, "name": "address", "state_mutability": 4, @@ -79617,7 +80790,7 @@ } }, { - "id": 4448, + "id": 4449, "node_type": 44, "src": { "line": 2118, @@ -79625,12 +80798,12 @@ "start": 75773, "end": 75786, "length": 14, - "parent_index": 4445 + "parent_index": 4446 }, - "scope": 4444, + "scope": 4445, "name": "amount", "type_name": { - "id": 4449, + "id": 4450, "node_type": 30, "src": { "line": 2118, @@ -79638,7 +80811,7 @@ "start": 75773, "end": 75779, "length": 7, - "parent_index": 4448 + "parent_index": 4449 }, "name": "uint256", "referenced_declaration": 0, @@ -79668,7 +80841,7 @@ ] }, "return_parameters": { - "id": 4450, + "id": 4451, "node_type": 43, "src": { "line": 2118, @@ -79676,21 +80849,22 @@ "start": 75746, "end": 76070, "length": 325, - "parent_index": 4444 + "parent_index": 4445 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", - "scope": 4108, + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256amount)internalvirtual{totalSupply+=amount;unchecked{balanceOf[to]+=amount;}emitTransfer(address(0),to,amount);}" }, { - "id": 4472, + "id": 4473, "name": "_burn", "node_type": 42, "kind": 41, @@ -79700,7 +80874,7 @@ "start": 76077, "end": 76404, "length": 328, - "parent_index": 4108 + "parent_index": 4109 }, "name_location": { "line": 2130, @@ -79708,10 +80882,10 @@ "start": 76086, "end": 76090, "length": 5, - "parent_index": 4472 + "parent_index": 4473 }, "body": { - "id": 4479, + "id": 4480, "node_type": 46, "kind": 0, "src": { @@ -79720,12 +80894,12 @@ "start": 76139, "end": 76404, "length": 266, - "parent_index": 4472 + "parent_index": 4473 }, "implemented": true, "statements": [ { - "id": 4480, + "id": 4481, "node_type": 27, "src": { "line": 2131, @@ -79733,10 +80907,10 @@ "start": 76149, "end": 76174, "length": 26, - "parent_index": 4479 + "parent_index": 4480 }, "expression": { - "id": 4481, + "id": 4482, "node_type": 27, "src": { "line": 2131, @@ -79744,11 +80918,11 @@ "start": 76149, "end": 76173, "length": 25, - "parent_index": 4480 + "parent_index": 4481 }, "operator": 14, "left_expression": { - "id": 4482, + "id": 4483, "node_type": 22, "src": { "line": 2131, @@ -79756,10 +80930,10 @@ "start": 76149, "end": 76163, "length": 15, - "parent_index": 4481 + "parent_index": 4482 }, "index_expression": { - "id": 4483, + "id": 4484, "node_type": 16, "src": { "line": 2131, @@ -79767,7 +80941,7 @@ "start": 76149, "end": 76157, "length": 9, - "parent_index": 4482 + "parent_index": 4483 }, "name": "balanceOf", "type_description": { @@ -79775,11 +80949,12 @@ "type_string": "mapping(address=\u003euint256)" }, "overloaded_declarations": [], - "referenced_declaration": 4140, - "is_pure": false + "referenced_declaration": 4141, + "is_pure": false, + "text": "balanceOf" }, "base_expression": { - "id": 4484, + "id": 4485, "node_type": 16, "src": { "line": 2131, @@ -79787,7 +80962,7 @@ "start": 76159, "end": 76162, "length": 4, - "parent_index": 4482 + "parent_index": 4483 }, "name": "from", "type_description": { @@ -79795,8 +80970,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4484, - "is_pure": false + "referenced_declaration": 4485, + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -79814,7 +80990,7 @@ } }, "right_expression": { - "id": 4485, + "id": 4486, "node_type": 16, "src": { "line": 2131, @@ -79822,7 +80998,7 @@ "start": 76168, "end": 76173, "length": 6, - "parent_index": 4481 + "parent_index": 4482 }, "name": "amount", "type_description": { @@ -79830,8 +81006,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4485, - "is_pure": false + "referenced_declaration": 4486, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -79841,10 +81018,11 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[from]-=amount;" }, { - "id": 4486, + "id": 4487, "node_type": 64, "src": { "line": 2139, @@ -79852,11 +81030,11 @@ "start": 76359, "end": 76398, "length": 40, - "parent_index": 4472 + "parent_index": 4473 }, "arguments": [ { - "id": 4487, + "id": 4488, "node_type": 16, "src": { "line": 2139, @@ -79864,7 +81042,7 @@ "start": 76373, "end": 76376, "length": 4, - "parent_index": 4486 + "parent_index": 4487 }, "name": "from", "type_description": { @@ -79872,11 +81050,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4487, - "is_pure": false + "referenced_declaration": 4488, + "is_pure": false, + "text": "from" }, { - "id": 4488, + "id": 4489, "node_type": 24, "kind": 24, "src": { @@ -79885,7 +81064,7 @@ "start": 76379, "end": 76388, "length": 10, - "parent_index": 4486 + "parent_index": 4487 }, "argument_types": [ { @@ -79895,7 +81074,7 @@ ], "arguments": [ { - "id": 4491, + "id": 4492, "node_type": 17, "kind": 49, "value": "0", @@ -79906,7 +81085,7 @@ "start": 76387, "end": 76387, "length": 1, - "parent_index": 4488 + "parent_index": 4489 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -79914,11 +81093,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 4489, + "id": 4490, "node_type": 16, "src": { "line": 2139, @@ -79926,11 +81106,11 @@ "start": 76379, "end": 76385, "length": 7, - "parent_index": 4488 + "parent_index": 4489 }, "name": "address", "type_name": { - "id": 4490, + "id": 4491, "node_type": 30, "src": { "line": 2139, @@ -79938,7 +81118,7 @@ "start": 76379, "end": 76385, "length": 7, - "parent_index": 4489 + "parent_index": 4490 }, "name": "address", "state_mutability": 4, @@ -79960,7 +81140,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -79968,7 +81149,7 @@ } }, { - "id": 4492, + "id": 4493, "node_type": 16, "src": { "line": 2139, @@ -79976,7 +81157,7 @@ "start": 76391, "end": 76396, "length": 6, - "parent_index": 4486 + "parent_index": 4487 }, "name": "amount", "type_description": { @@ -79984,12 +81165,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4492, - "is_pure": false + "referenced_declaration": 4493, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 4493, + "id": 4494, "node_type": 16, "src": { "line": 2139, @@ -79997,20 +81179,21 @@ "start": 76364, "end": 76371, "length": 8, - "parent_index": 4486 + "parent_index": 4487 }, "name": "Transfer", "type_description": { - "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "type_identifier": "t_event\u0026_ERC20_Transfer_\u00264111", "type_string": "event ERC20.Transfer" }, "overloaded_declarations": [], - "referenced_declaration": 4110, - "is_pure": false + "referenced_declaration": 4111, + "is_pure": false, + "text": "Transfer" } }, { - "id": 4494, + "id": 4495, "node_type": 59, "kind": 0, "src": { @@ -80019,12 +81202,12 @@ "start": 76293, "end": 76348, "length": 56, - "parent_index": 4108 + "parent_index": 4109 }, "implemented": false, "statements": [ { - "id": 4495, + "id": 4496, "node_type": 27, "src": { "line": 2136, @@ -80032,10 +81215,10 @@ "start": 76317, "end": 76338, "length": 22, - "parent_index": 4494 + "parent_index": 4495 }, "expression": { - "id": 4496, + "id": 4497, "node_type": 27, "src": { "line": 2136, @@ -80043,11 +81226,11 @@ "start": 76317, "end": 76337, "length": 21, - "parent_index": 4495 + "parent_index": 4496 }, "operator": 14, "left_expression": { - "id": 4497, + "id": 4498, "node_type": 16, "src": { "line": 2136, @@ -80055,7 +81238,7 @@ "start": 76317, "end": 76327, "length": 11, - "parent_index": 4496 + "parent_index": 4497 }, "name": "totalSupply", "type_description": { @@ -80063,11 +81246,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4137, - "is_pure": false + "referenced_declaration": 4138, + "is_pure": false, + "text": "totalSupply" }, "right_expression": { - "id": 4498, + "id": 4499, "node_type": 16, "src": { "line": 2136, @@ -80075,7 +81259,7 @@ "start": 76332, "end": 76337, "length": 6, - "parent_index": 4496 + "parent_index": 4497 }, "name": "amount", "type_description": { @@ -80083,8 +81267,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4498, - "is_pure": false + "referenced_declaration": 4499, + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -80094,7 +81279,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply-=amount;" } ] } @@ -80107,7 +81293,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4473, + "id": 4474, "node_type": 43, "src": { "line": 2130, @@ -80115,11 +81301,11 @@ "start": 76092, "end": 76119, "length": 28, - "parent_index": 4472 + "parent_index": 4473 }, "parameters": [ { - "id": 4474, + "id": 4475, "node_type": 44, "src": { "line": 2130, @@ -80127,12 +81313,12 @@ "start": 76092, "end": 76103, "length": 12, - "parent_index": 4473 + "parent_index": 4474 }, - "scope": 4472, + "scope": 4473, "name": "from", "type_name": { - "id": 4475, + "id": 4476, "node_type": 30, "src": { "line": 2130, @@ -80140,7 +81326,7 @@ "start": 76092, "end": 76098, "length": 7, - "parent_index": 4474 + "parent_index": 4475 }, "name": "address", "state_mutability": 4, @@ -80159,7 +81345,7 @@ } }, { - "id": 4476, + "id": 4477, "node_type": 44, "src": { "line": 2130, @@ -80167,12 +81353,12 @@ "start": 76106, "end": 76119, "length": 14, - "parent_index": 4473 + "parent_index": 4474 }, - "scope": 4472, + "scope": 4473, "name": "amount", "type_name": { - "id": 4477, + "id": 4478, "node_type": 30, "src": { "line": 2130, @@ -80180,7 +81366,7 @@ "start": 76106, "end": 76112, "length": 7, - "parent_index": 4476 + "parent_index": 4477 }, "name": "uint256", "referenced_declaration": 0, @@ -80210,7 +81396,7 @@ ] }, "return_parameters": { - "id": 4478, + "id": 4479, "node_type": 43, "src": { "line": 2130, @@ -80218,22 +81404,23 @@ "start": 76077, "end": 76404, "length": 328, - "parent_index": 4472 + "parent_index": 4473 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", - "scope": 4108, + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", + "scope": 4109, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressfrom,uint256amount)internalvirtual{balanceOf[from]-=amount;unchecked{totalSupply-=amount;}emitTransfer(from,address(0),amount);}" } ], "linearized_base_contracts": [ - 4108 + 4109 ], "base_contracts": [], "contract_dependencies": [] @@ -80249,17 +81436,17 @@ } }, { - "id": 4499, + "id": 4500, "base_contracts": [], "license": "AGPL-3.0-only", "exported_symbols": [ { - "id": 4499, + "id": 4500, "name": "SafeTransferLib", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/SafeTransferLib.sol" }, { - "id": 4060, + "id": 4061, "name": "ERC20", "absolute_path": "ERC20.sol" } @@ -80269,7 +81456,7 @@ "node_type": 1, "nodes": [ { - "id": 4519, + "id": 4520, "node_type": 10, "src": { "line": 2145, @@ -80277,7 +81464,7 @@ "start": 76452, "end": 76475, "length": 24, - "parent_index": 4499 + "parent_index": 4500 }, "literals": [ "pragma", @@ -80293,7 +81480,7 @@ "text": "pragma solidity \u003e=0.8.0;" }, { - "id": 4548, + "id": 4549, "node_type": 29, "src": { "line": 2147, @@ -80301,18 +81488,18 @@ "start": 76478, "end": 76511, "length": 34, - "parent_index": 4499 + "parent_index": 4500 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 4499, + "scope": 4500, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4060 + "source_unit": 4061 }, { - "id": 4549, + "id": 4550, "name": "SafeTransferLib", "node_type": 35, "src": { @@ -80321,7 +81508,7 @@ "start": 76985, "end": 82180, "length": 5196, - "parent_index": 4499 + "parent_index": 4500 }, "name_location": { "line": 2153, @@ -80329,14 +81516,14 @@ "start": 76993, "end": 77007, "length": 15, - "parent_index": 4549 + "parent_index": 4550 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 4551, + "id": 4552, "name": "safeTransferETH", "node_type": 42, "kind": 41, @@ -80346,7 +81533,7 @@ "start": 77198, "end": 77493, "length": 296, - "parent_index": 4549 + "parent_index": 4550 }, "name_location": { "line": 2158, @@ -80354,10 +81541,10 @@ "start": 77207, "end": 77221, "length": 15, - "parent_index": 4551 + "parent_index": 4552 }, "body": { - "id": 4558, + "id": 4559, "node_type": 46, "kind": 0, "src": { @@ -80366,12 +81553,12 @@ "start": 77260, "end": 77493, "length": 234, - "parent_index": 4551 + "parent_index": 4552 }, "implemented": true, "statements": [ { - "id": 4559, + "id": 4560, "node_type": 44, "src": { "line": 2159, @@ -80379,25 +81566,25 @@ "start": 77270, "end": 77282, "length": 13, - "parent_index": 4558 + "parent_index": 4559 }, "assignments": [ - 4560 + 4561 ], "declarations": [ { - "id": 4560, + "id": 4561, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 4558, + "scope": 4559, "src": { "line": 2159, "column": 8, "start": 77270, "end": 77281, "length": 12, - "parent_index": 4559 + "parent_index": 4560 }, "name_location": { "line": 2159, @@ -80405,12 +81592,12 @@ "start": 77275, "end": 77281, "length": 7, - "parent_index": 4560 + "parent_index": 4561 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4561, + "id": 4562, "node_type": 30, "src": { "line": 2159, @@ -80418,7 +81605,7 @@ "start": 77270, "end": 77273, "length": 4, - "parent_index": 4560 + "parent_index": 4561 }, "name": "bool", "referenced_declaration": 0, @@ -80432,7 +81619,7 @@ ] }, { - "id": 4562, + "id": 4563, "node_type": 89, "src": { "line": 2161, @@ -80440,10 +81627,10 @@ "start": 77293, "end": 77437, "length": 145, - "parent_index": 4558 + "parent_index": 4559 }, "body": { - "id": 4563, + "id": 4564, "node_type": 111, "kind": 0, "src": { @@ -80452,12 +81639,12 @@ "start": 77293, "end": 77437, "length": 145, - "parent_index": 4562 + "parent_index": 4563 }, "implemented": false, "statements": [ { - "id": 4564, + "id": 4565, "node_type": 91, "src": { "line": 2163, @@ -80465,11 +81652,11 @@ "start": 77382, "end": 77427, "length": 46, - "parent_index": 4562 + "parent_index": 4563 }, "statements": [ { - "id": 4565, + "id": 4566, "node_type": 92, "src": { "line": 2163, @@ -80477,11 +81664,11 @@ "start": 77382, "end": 77427, "length": 46, - "parent_index": 4562 + "parent_index": 4563 }, "variable_names": [ { - "id": 4566, + "id": 4567, "node_type": 107, "src": { "line": 2163, @@ -80489,13 +81676,13 @@ "start": 77382, "end": 77388, "length": 7, - "parent_index": 4565 + "parent_index": 4566 }, "name": "success" } ], "value": { - "id": 4567, + "id": 4568, "node_type": 123, "src": { "line": 2163, @@ -80503,10 +81690,10 @@ "start": 77393, "end": 77396, "length": 4, - "parent_index": 4565 + "parent_index": 4566 }, "expression": { - "id": 4568, + "id": 4569, "node_type": 110, "src": { "line": 2163, @@ -80514,10 +81701,10 @@ "start": 77393, "end": 77427, "length": 35, - "parent_index": 4562 + "parent_index": 4563 }, "function_name": { - "id": 4569, + "id": 4570, "node_type": 107, "src": { "line": 2163, @@ -80525,13 +81712,13 @@ "start": 77393, "end": 77396, "length": 4, - "parent_index": 4568 + "parent_index": 4569 }, "name": "call" }, "arguments": [ { - "id": 4570, + "id": 4571, "node_type": 110, "src": { "line": 2163, @@ -80539,10 +81726,10 @@ "start": 77398, "end": 77402, "length": 5, - "parent_index": 4562 + "parent_index": 4563 }, "function_name": { - "id": 4571, + "id": 4572, "node_type": 107, "src": { "line": 2163, @@ -80550,14 +81737,14 @@ "start": 77398, "end": 77400, "length": 3, - "parent_index": 4570 + "parent_index": 4571 }, "name": "gas" }, "arguments": [] }, { - "id": 4572, + "id": 4573, "node_type": 107, "src": { "line": 2163, @@ -80565,12 +81752,12 @@ "start": 77405, "end": 77406, "length": 2, - "parent_index": 4568 + "parent_index": 4569 }, "name": "to" }, { - "id": 4573, + "id": 4574, "node_type": 107, "src": { "line": 2163, @@ -80578,12 +81765,12 @@ "start": 77409, "end": 77414, "length": 6, - "parent_index": 4568 + "parent_index": 4569 }, "name": "amount" }, { - "id": 4574, + "id": 4575, "node_type": 109, "kind": 115, "src": { @@ -80592,13 +81779,13 @@ "start": 77417, "end": 77417, "length": 1, - "parent_index": 4568 + "parent_index": 4569 }, "value": "0", "hex_value": "" }, { - "id": 4575, + "id": 4576, "node_type": 109, "kind": 115, "src": { @@ -80607,13 +81794,13 @@ "start": 77420, "end": 77420, "length": 1, - "parent_index": 4568 + "parent_index": 4569 }, "value": "0", "hex_value": "" }, { - "id": 4576, + "id": 4577, "node_type": 109, "kind": 115, "src": { @@ -80622,13 +81809,13 @@ "start": 77423, "end": 77423, "length": 1, - "parent_index": 4568 + "parent_index": 4569 }, "value": "0", "hex_value": "" }, { - "id": 4577, + "id": 4578, "node_type": 109, "kind": 115, "src": { @@ -80637,7 +81824,7 @@ "start": 77426, "end": 77426, "length": 1, - "parent_index": 4568 + "parent_index": 4569 }, "value": "0", "hex_value": "" @@ -80652,7 +81839,7 @@ } }, { - "id": 4578, + "id": 4579, "node_type": 24, "kind": 24, "src": { @@ -80661,7 +81848,7 @@ "start": 77448, "end": 77486, "length": 39, - "parent_index": 4558 + "parent_index": 4559 }, "argument_types": [ { @@ -80675,7 +81862,7 @@ ], "arguments": [ { - "id": 4580, + "id": 4581, "node_type": 16, "src": { "line": 2166, @@ -80683,7 +81870,7 @@ "start": 77456, "end": 77462, "length": 7, - "parent_index": 4578 + "parent_index": 4579 }, "name": "success", "type_description": { @@ -80691,11 +81878,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4559, - "is_pure": false + "referenced_declaration": 4560, + "is_pure": false, + "text": "success" }, { - "id": 4581, + "id": 4582, "node_type": 17, "kind": 50, "value": "ETH_TRANSFER_FAILED", @@ -80706,7 +81894,7 @@ "start": 77465, "end": 77485, "length": 21, - "parent_index": 4578 + "parent_index": 4579 }, "type_description": { "type_identifier": "t_string_literal", @@ -80720,11 +81908,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ETH_TRANSFER_FAILED\"" } ], "expression": { - "id": 4579, + "id": 4580, "node_type": 16, "src": { "line": 2166, @@ -80732,7 +81921,7 @@ "start": 77448, "end": 77454, "length": 7, - "parent_index": 4578 + "parent_index": 4579 }, "name": "require", "type_description": { @@ -80741,7 +81930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -80757,7 +81947,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4552, + "id": 4553, "node_type": 43, "src": { "line": 2158, @@ -80765,11 +81955,11 @@ "start": 77223, "end": 77248, "length": 26, - "parent_index": 4551 + "parent_index": 4552 }, "parameters": [ { - "id": 4553, + "id": 4554, "node_type": 44, "src": { "line": 2158, @@ -80777,12 +81967,12 @@ "start": 77223, "end": 77232, "length": 10, - "parent_index": 4552 + "parent_index": 4553 }, - "scope": 4551, + "scope": 4552, "name": "to", "type_name": { - "id": 4554, + "id": 4555, "node_type": 30, "src": { "line": 2158, @@ -80790,7 +81980,7 @@ "start": 77223, "end": 77229, "length": 7, - "parent_index": 4553 + "parent_index": 4554 }, "name": "address", "state_mutability": 4, @@ -80809,7 +81999,7 @@ } }, { - "id": 4555, + "id": 4556, "node_type": 44, "src": { "line": 2158, @@ -80817,12 +82007,12 @@ "start": 77235, "end": 77248, "length": 14, - "parent_index": 4552 + "parent_index": 4553 }, - "scope": 4551, + "scope": 4552, "name": "amount", "type_name": { - "id": 4556, + "id": 4557, "node_type": 30, "src": { "line": 2158, @@ -80830,7 +82020,7 @@ "start": 77235, "end": 77241, "length": 7, - "parent_index": 4555 + "parent_index": 4556 }, "name": "uint256", "referenced_declaration": 0, @@ -80860,7 +82050,7 @@ ] }, "return_parameters": { - "id": 4557, + "id": 4558, "node_type": 43, "src": { "line": 2158, @@ -80868,21 +82058,22 @@ "start": 77198, "end": 77493, "length": 296, - "parent_index": 4551 + "parent_index": 4552 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferETH(address, uint256)", - "signature": "3bf28eb1", - "scope": 4549, + "signature_raw": "safeTransferETH(address,uint256)", + "signature": "7c4368c1", + "scope": 4550, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsafeTransferETH(addressto,uint256amount)internal{boolsuccess;assembly{success:=call(gas(),to,amount,0,0,0,0)}require(success,\"ETH_TRANSFER_FAILED\");}" }, { - "id": 4583, + "id": 4584, "name": "safeTransferFrom", "node_type": 42, "kind": 41, @@ -80892,7 +82083,7 @@ "start": 77684, "end": 79256, "length": 1573, - "parent_index": 4549 + "parent_index": 4550 }, "name_location": { "line": 2173, @@ -80900,10 +82091,10 @@ "start": 77693, "end": 77708, "length": 16, - "parent_index": 4583 + "parent_index": 4584 }, "body": { - "id": 4595, + "id": 4596, "node_type": 46, "kind": 0, "src": { @@ -80912,12 +82103,12 @@ "start": 77812, "end": 79256, "length": 1445, - "parent_index": 4583 + "parent_index": 4584 }, "implemented": true, "statements": [ { - "id": 4596, + "id": 4597, "node_type": 44, "src": { "line": 2179, @@ -80925,25 +82116,25 @@ "start": 77822, "end": 77834, "length": 13, - "parent_index": 4595 + "parent_index": 4596 }, "assignments": [ - 4597 + 4598 ], "declarations": [ { - "id": 4597, + "id": 4598, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 4595, + "scope": 4596, "src": { "line": 2179, "column": 8, "start": 77822, "end": 77833, "length": 12, - "parent_index": 4596 + "parent_index": 4597 }, "name_location": { "line": 2179, @@ -80951,12 +82142,12 @@ "start": 77827, "end": 77833, "length": 7, - "parent_index": 4597 + "parent_index": 4598 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4598, + "id": 4599, "node_type": 30, "src": { "line": 2179, @@ -80964,7 +82155,7 @@ "start": 77822, "end": 77825, "length": 4, - "parent_index": 4597 + "parent_index": 4598 }, "name": "bool", "referenced_declaration": 0, @@ -80978,7 +82169,7 @@ ] }, { - "id": 4599, + "id": 4600, "node_type": 89, "src": { "line": 2181, @@ -80986,10 +82177,10 @@ "start": 77845, "end": 79199, "length": 1355, - "parent_index": 4595 + "parent_index": 4596 }, "body": { - "id": 4600, + "id": 4601, "node_type": 111, "kind": 0, "src": { @@ -80998,12 +82189,12 @@ "start": 77845, "end": 79199, "length": 1355, - "parent_index": 4599 + "parent_index": 4600 }, "implemented": false, "statements": [ { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -81011,11 +82202,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -81023,11 +82214,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -81035,10 +82226,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -81046,10 +82237,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -81057,13 +82248,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -81072,7 +82263,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -81082,7 +82273,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -81090,14 +82281,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -81105,10 +82296,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -81116,13 +82307,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -81130,12 +82321,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -81144,7 +82335,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -81152,7 +82343,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -81160,10 +82351,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -81171,13 +82362,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -81185,10 +82376,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -81196,13 +82387,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -81210,12 +82401,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -81224,7 +82415,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -81232,7 +82423,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -81240,14 +82431,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -81255,10 +82446,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -81266,13 +82457,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -81280,10 +82471,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -81291,13 +82482,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -81305,12 +82496,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -81319,7 +82510,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -81327,7 +82518,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -81335,14 +82526,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -81350,10 +82541,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -81361,13 +82552,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -81375,10 +82566,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -81386,13 +82577,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -81400,12 +82591,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -81414,7 +82605,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -81422,7 +82613,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -81430,14 +82621,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -81445,11 +82636,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -81457,13 +82648,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -81471,10 +82662,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -81482,10 +82673,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -81493,13 +82684,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -81507,10 +82698,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -81518,13 +82709,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -81532,10 +82723,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -81543,13 +82734,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -81557,10 +82748,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -81568,13 +82759,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -81582,10 +82773,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -81593,13 +82784,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -81608,7 +82799,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -81616,7 +82807,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -81625,7 +82816,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -81633,7 +82824,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -81641,10 +82832,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -81652,13 +82843,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -81666,10 +82857,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -81677,14 +82868,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -81693,7 +82884,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -81703,7 +82894,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -81711,10 +82902,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -81722,13 +82913,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -81736,10 +82927,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -81747,7 +82938,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -81758,7 +82949,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -81766,10 +82957,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -81777,13 +82968,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -81791,10 +82982,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -81802,14 +82993,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -81817,12 +83008,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -81831,13 +83022,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -81845,12 +83036,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -81859,13 +83050,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -81874,13 +83065,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -81889,7 +83080,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -81903,7 +83094,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -81911,11 +83102,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -81923,11 +83114,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -81935,10 +83126,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -81946,10 +83137,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -81957,13 +83148,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -81972,7 +83163,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -81982,7 +83173,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -81990,14 +83181,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -82005,10 +83196,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -82016,13 +83207,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -82030,12 +83221,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -82044,7 +83235,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -82052,7 +83243,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -82060,10 +83251,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -82071,13 +83262,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -82085,10 +83276,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -82096,13 +83287,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -82110,12 +83301,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -82124,7 +83315,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -82132,7 +83323,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -82140,14 +83331,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -82155,10 +83346,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -82166,13 +83357,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -82180,10 +83371,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -82191,13 +83382,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -82205,12 +83396,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -82219,7 +83410,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -82227,7 +83418,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -82235,14 +83426,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -82250,10 +83441,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -82261,13 +83452,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -82275,10 +83466,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -82286,13 +83477,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -82300,12 +83491,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -82314,7 +83505,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -82322,7 +83513,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -82330,14 +83521,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -82345,11 +83536,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -82357,13 +83548,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -82371,10 +83562,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -82382,10 +83573,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -82393,13 +83584,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -82407,10 +83598,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -82418,13 +83609,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -82432,10 +83623,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -82443,13 +83634,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -82457,10 +83648,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -82468,13 +83659,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -82482,10 +83673,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -82493,13 +83684,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -82508,7 +83699,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -82516,7 +83707,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -82525,7 +83716,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -82533,7 +83724,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -82541,10 +83732,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -82552,13 +83743,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -82566,10 +83757,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -82577,14 +83768,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -82593,7 +83784,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -82603,7 +83794,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -82611,10 +83802,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -82622,13 +83813,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -82636,10 +83827,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -82647,7 +83838,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -82658,7 +83849,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -82666,10 +83857,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -82677,13 +83868,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -82691,10 +83882,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -82702,14 +83893,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -82717,12 +83908,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -82731,13 +83922,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -82745,12 +83936,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -82759,13 +83950,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -82774,13 +83965,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -82789,7 +83980,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -82803,7 +83994,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -82811,11 +84002,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -82823,11 +84014,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -82835,10 +84026,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -82846,10 +84037,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -82857,13 +84048,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -82872,7 +84063,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -82882,7 +84073,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -82890,14 +84081,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -82905,10 +84096,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -82916,13 +84107,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -82930,12 +84121,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -82944,7 +84135,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -82952,7 +84143,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -82960,10 +84151,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -82971,13 +84162,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -82985,10 +84176,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -82996,13 +84187,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -83010,12 +84201,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -83024,7 +84215,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -83032,7 +84223,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -83040,14 +84231,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -83055,10 +84246,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -83066,13 +84257,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -83080,10 +84271,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -83091,13 +84282,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -83105,12 +84296,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -83119,7 +84310,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -83127,7 +84318,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -83135,14 +84326,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -83150,10 +84341,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -83161,13 +84352,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -83175,10 +84366,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -83186,13 +84377,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -83200,12 +84391,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -83214,7 +84405,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -83222,7 +84413,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -83230,14 +84421,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -83245,11 +84436,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -83257,13 +84448,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -83271,10 +84462,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -83282,10 +84473,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -83293,13 +84484,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -83307,10 +84498,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -83318,13 +84509,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -83332,10 +84523,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -83343,13 +84534,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -83357,10 +84548,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -83368,13 +84559,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -83382,10 +84573,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -83393,13 +84584,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -83408,7 +84599,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -83416,7 +84607,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -83425,7 +84616,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -83433,7 +84624,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -83441,10 +84632,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -83452,13 +84643,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -83466,10 +84657,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -83477,14 +84668,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -83493,7 +84684,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -83503,7 +84694,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -83511,10 +84702,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -83522,13 +84713,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -83536,10 +84727,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -83547,7 +84738,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -83558,7 +84749,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -83566,10 +84757,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -83577,13 +84768,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -83591,10 +84782,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -83602,14 +84793,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -83617,12 +84808,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -83631,13 +84822,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -83645,12 +84836,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -83659,13 +84850,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -83674,13 +84865,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -83689,7 +84880,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -83703,7 +84894,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -83711,11 +84902,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -83723,11 +84914,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -83735,10 +84926,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -83746,10 +84937,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -83757,13 +84948,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -83772,7 +84963,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -83782,7 +84973,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -83790,14 +84981,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -83805,10 +84996,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -83816,13 +85007,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -83830,12 +85021,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -83844,7 +85035,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -83852,7 +85043,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -83860,10 +85051,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -83871,13 +85062,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -83885,10 +85076,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -83896,13 +85087,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -83910,12 +85101,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -83924,7 +85115,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -83932,7 +85123,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -83940,14 +85131,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -83955,10 +85146,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -83966,13 +85157,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -83980,10 +85171,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -83991,13 +85182,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -84005,12 +85196,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -84019,7 +85210,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -84027,7 +85218,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -84035,14 +85226,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -84050,10 +85241,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -84061,13 +85252,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -84075,10 +85266,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -84086,13 +85277,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -84100,12 +85291,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -84114,7 +85305,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -84122,7 +85313,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -84130,14 +85321,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -84145,11 +85336,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -84157,13 +85348,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -84171,10 +85362,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -84182,10 +85373,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -84193,13 +85384,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -84207,10 +85398,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -84218,13 +85409,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -84232,10 +85423,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -84243,13 +85434,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -84257,10 +85448,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -84268,13 +85459,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -84282,10 +85473,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -84293,13 +85484,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -84308,7 +85499,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -84316,7 +85507,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -84325,7 +85516,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -84333,7 +85524,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -84341,10 +85532,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -84352,13 +85543,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -84366,10 +85557,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -84377,14 +85568,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -84393,7 +85584,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -84403,7 +85594,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -84411,10 +85602,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -84422,13 +85613,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -84436,10 +85627,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -84447,7 +85638,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -84458,7 +85649,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -84466,10 +85657,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -84477,13 +85668,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -84491,10 +85682,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -84502,14 +85693,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -84517,12 +85708,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -84531,13 +85722,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -84545,12 +85736,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -84559,13 +85750,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -84574,13 +85765,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -84589,7 +85780,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -84603,7 +85794,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -84611,11 +85802,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -84623,11 +85814,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -84635,10 +85826,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -84646,10 +85837,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -84657,13 +85848,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -84672,7 +85863,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -84682,7 +85873,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -84690,14 +85881,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -84705,10 +85896,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -84716,13 +85907,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -84730,12 +85921,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -84744,7 +85935,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -84752,7 +85943,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -84760,10 +85951,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -84771,13 +85962,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -84785,10 +85976,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -84796,13 +85987,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -84810,12 +86001,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -84824,7 +86015,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -84832,7 +86023,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -84840,14 +86031,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -84855,10 +86046,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -84866,13 +86057,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -84880,10 +86071,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -84891,13 +86082,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -84905,12 +86096,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -84919,7 +86110,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -84927,7 +86118,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -84935,14 +86126,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -84950,10 +86141,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -84961,13 +86152,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -84975,10 +86166,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -84986,13 +86177,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -85000,12 +86191,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -85014,7 +86205,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -85022,7 +86213,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -85030,14 +86221,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -85045,11 +86236,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -85057,13 +86248,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -85071,10 +86262,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -85082,10 +86273,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -85093,13 +86284,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -85107,10 +86298,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -85118,13 +86309,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -85132,10 +86323,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -85143,13 +86334,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -85157,10 +86348,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -85168,13 +86359,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -85182,10 +86373,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -85193,13 +86384,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -85208,7 +86399,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -85216,7 +86407,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -85225,7 +86416,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -85233,7 +86424,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -85241,10 +86432,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -85252,13 +86443,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -85266,10 +86457,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -85277,14 +86468,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -85293,7 +86484,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -85303,7 +86494,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -85311,10 +86502,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -85322,13 +86513,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -85336,10 +86527,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -85347,7 +86538,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -85358,7 +86549,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -85366,10 +86557,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -85377,13 +86568,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -85391,10 +86582,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -85402,14 +86593,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -85417,12 +86608,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -85431,13 +86622,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -85445,12 +86636,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -85459,13 +86650,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -85474,13 +86665,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -85489,7 +86680,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -85503,7 +86694,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -85511,11 +86702,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -85523,11 +86714,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -85535,10 +86726,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -85546,10 +86737,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -85557,13 +86748,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -85572,7 +86763,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -85582,7 +86773,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -85590,14 +86781,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -85605,10 +86796,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -85616,13 +86807,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -85630,12 +86821,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -85644,7 +86835,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -85652,7 +86843,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -85660,10 +86851,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -85671,13 +86862,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -85685,10 +86876,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -85696,13 +86887,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -85710,12 +86901,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -85724,7 +86915,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -85732,7 +86923,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -85740,14 +86931,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -85755,10 +86946,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -85766,13 +86957,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -85780,10 +86971,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -85791,13 +86982,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -85805,12 +86996,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -85819,7 +87010,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -85827,7 +87018,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -85835,14 +87026,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -85850,10 +87041,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -85861,13 +87052,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -85875,10 +87066,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -85886,13 +87077,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -85900,12 +87091,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -85914,7 +87105,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -85922,7 +87113,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -85930,14 +87121,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -85945,11 +87136,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -85957,13 +87148,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -85971,10 +87162,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -85982,10 +87173,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -85993,13 +87184,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -86007,10 +87198,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -86018,13 +87209,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -86032,10 +87223,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -86043,13 +87234,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -86057,10 +87248,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -86068,13 +87259,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -86082,10 +87273,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -86093,13 +87284,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -86108,7 +87299,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -86116,7 +87307,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -86125,7 +87316,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -86133,7 +87324,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -86141,10 +87332,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -86152,13 +87343,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -86166,10 +87357,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -86177,14 +87368,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -86193,7 +87384,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -86203,7 +87394,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -86211,10 +87402,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -86222,13 +87413,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -86236,10 +87427,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -86247,7 +87438,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -86258,7 +87449,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -86266,10 +87457,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -86277,13 +87468,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -86291,10 +87482,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -86302,14 +87493,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -86317,12 +87508,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -86331,13 +87522,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -86345,12 +87536,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -86359,13 +87550,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -86374,13 +87565,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -86389,7 +87580,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -86406,7 +87597,7 @@ } }, { - "id": 4667, + "id": 4668, "node_type": 24, "kind": 24, "src": { @@ -86415,7 +87606,7 @@ "start": 79210, "end": 79249, "length": 40, - "parent_index": 4595 + "parent_index": 4596 }, "argument_types": [ { @@ -86429,7 +87620,7 @@ ], "arguments": [ { - "id": 4669, + "id": 4670, "node_type": 16, "src": { "line": 2203, @@ -86437,7 +87628,7 @@ "start": 79218, "end": 79224, "length": 7, - "parent_index": 4667 + "parent_index": 4668 }, "name": "success", "type_description": { @@ -86445,11 +87636,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4596, - "is_pure": false + "referenced_declaration": 4597, + "is_pure": false, + "text": "success" }, { - "id": 4670, + "id": 4671, "node_type": 17, "kind": 50, "value": "TRANSFER_FROM_FAILED", @@ -86460,7 +87652,7 @@ "start": 79227, "end": 79248, "length": 22, - "parent_index": 4667 + "parent_index": 4668 }, "type_description": { "type_identifier": "t_string_literal", @@ -86474,11 +87666,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TRANSFER_FROM_FAILED\"" } ], "expression": { - "id": 4668, + "id": 4669, "node_type": 16, "src": { "line": 2203, @@ -86486,7 +87679,7 @@ "start": 79210, "end": 79216, "length": 7, - "parent_index": 4667 + "parent_index": 4668 }, "name": "require", "type_description": { @@ -86495,7 +87688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -86511,7 +87705,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4584, + "id": 4585, "node_type": 43, "src": { "line": 2174, @@ -86519,11 +87713,11 @@ "start": 77719, "end": 77795, "length": 77, - "parent_index": 4583 + "parent_index": 4584 }, "parameters": [ { - "id": 4585, + "id": 4586, "node_type": 44, "src": { "line": 2174, @@ -86531,12 +87725,12 @@ "start": 77719, "end": 77729, "length": 11, - "parent_index": 4584 + "parent_index": 4585 }, - "scope": 4583, + "scope": 4584, "name": "token", "type_name": { - "id": 4586, + "id": 4587, "node_type": 69, "src": { "line": 2174, @@ -86544,20 +87738,20 @@ "start": 77719, "end": 77723, "length": 5, - "parent_index": 4585 + "parent_index": 4586 }, "path_node": { - "id": 4587, + "id": 4588, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2174, "column": 8, "start": 77719, "end": 77723, "length": 5, - "parent_index": 4586 + "parent_index": 4587 }, "name_location": { "line": 2174, @@ -86565,12 +87759,12 @@ "start": 77719, "end": 77723, "length": 5, - "parent_index": 4586 + "parent_index": 4587 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -86578,12 +87772,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, { - "id": 4588, + "id": 4589, "node_type": 44, "src": { "line": 2175, @@ -86591,12 +87785,12 @@ "start": 77740, "end": 77751, "length": 12, - "parent_index": 4584 + "parent_index": 4585 }, - "scope": 4583, + "scope": 4584, "name": "from", "type_name": { - "id": 4589, + "id": 4590, "node_type": 30, "src": { "line": 2175, @@ -86604,7 +87798,7 @@ "start": 77740, "end": 77746, "length": 7, - "parent_index": 4588 + "parent_index": 4589 }, "name": "address", "state_mutability": 4, @@ -86623,7 +87817,7 @@ } }, { - "id": 4590, + "id": 4591, "node_type": 44, "src": { "line": 2176, @@ -86631,12 +87825,12 @@ "start": 77762, "end": 77771, "length": 10, - "parent_index": 4584 + "parent_index": 4585 }, - "scope": 4583, + "scope": 4584, "name": "to", "type_name": { - "id": 4591, + "id": 4592, "node_type": 30, "src": { "line": 2176, @@ -86644,7 +87838,7 @@ "start": 77762, "end": 77768, "length": 7, - "parent_index": 4590 + "parent_index": 4591 }, "name": "address", "state_mutability": 4, @@ -86663,7 +87857,7 @@ } }, { - "id": 4592, + "id": 4593, "node_type": 44, "src": { "line": 2177, @@ -86671,12 +87865,12 @@ "start": 77782, "end": 77795, "length": 14, - "parent_index": 4584 + "parent_index": 4585 }, - "scope": 4583, + "scope": 4584, "name": "amount", "type_name": { - "id": 4593, + "id": 4594, "node_type": 30, "src": { "line": 2177, @@ -86684,7 +87878,7 @@ "start": 77782, "end": 77788, "length": 7, - "parent_index": 4592 + "parent_index": 4593 }, "name": "uint256", "referenced_declaration": 0, @@ -86704,7 +87898,7 @@ ], "parameter_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, { @@ -86722,7 +87916,7 @@ ] }, "return_parameters": { - "id": 4594, + "id": 4595, "node_type": 43, "src": { "line": 2173, @@ -86730,21 +87924,22 @@ "start": 77684, "end": 79256, "length": 1573, - "parent_index": 4583 + "parent_index": 4584 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", - "scope": 4549, + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", + "scope": 4550, "type_description": { - "type_identifier": "t_function_$_t_contract$_ERC20_$4060$_t_address$_t_address$_t_uint256$", + "type_identifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_address$_t_uint256$", "type_string": "function(contract ERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(ERC20token,addressfrom,addressto,uint256amount)internal{boolsuccess;assembly{letfreeMemoryPointer:=mload(0x40)mstore(freeMemoryPointer,0x23b872dd00000000000000000000000000000000000000000000000000000000)mstore(add(freeMemoryPointer,4),from)mstore(add(freeMemoryPointer,36),to)mstore(add(freeMemoryPointer,68),amount)success:=and(or(and(eq(mload(0),1),gt(returndatasize(),31)),iszero(returndatasize())),call(gas(),token,0,freeMemoryPointer,100,0,32))}require(success,\"TRANSFER_FROM_FAILED\");}" }, { - "id": 4672, + "id": 4673, "name": "safeTransfer", "node_type": 42, "kind": 41, @@ -86754,7 +87949,7 @@ "start": 79263, "end": 80718, "length": 1456, - "parent_index": 4549 + "parent_index": 4550 }, "name_location": { "line": 2206, @@ -86762,10 +87957,10 @@ "start": 79272, "end": 79283, "length": 12, - "parent_index": 4672 + "parent_index": 4673 }, "body": { - "id": 4682, + "id": 4683, "node_type": 46, "kind": 0, "src": { @@ -86774,12 +87969,12 @@ "start": 79365, "end": 80718, "length": 1354, - "parent_index": 4672 + "parent_index": 4673 }, "implemented": true, "statements": [ { - "id": 4683, + "id": 4684, "node_type": 44, "src": { "line": 2211, @@ -86787,25 +87982,25 @@ "start": 79375, "end": 79387, "length": 13, - "parent_index": 4682 + "parent_index": 4683 }, "assignments": [ - 4684 + 4685 ], "declarations": [ { - "id": 4684, + "id": 4685, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 4682, + "scope": 4683, "src": { "line": 2211, "column": 8, "start": 79375, "end": 79386, "length": 12, - "parent_index": 4683 + "parent_index": 4684 }, "name_location": { "line": 2211, @@ -86813,12 +88008,12 @@ "start": 79380, "end": 79386, "length": 7, - "parent_index": 4684 + "parent_index": 4685 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4685, + "id": 4686, "node_type": 30, "src": { "line": 2211, @@ -86826,7 +88021,7 @@ "start": 79375, "end": 79378, "length": 4, - "parent_index": 4684 + "parent_index": 4685 }, "name": "bool", "referenced_declaration": 0, @@ -86840,7 +88035,7 @@ ] }, { - "id": 4686, + "id": 4687, "node_type": 89, "src": { "line": 2213, @@ -86848,10 +88043,10 @@ "start": 79398, "end": 80666, "length": 1269, - "parent_index": 4682 + "parent_index": 4683 }, "body": { - "id": 4687, + "id": 4688, "node_type": 111, "kind": 0, "src": { @@ -86860,12 +88055,12 @@ "start": 79398, "end": 80666, "length": 1269, - "parent_index": 4686 + "parent_index": 4687 }, "implemented": false, "statements": [ { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -86873,11 +88068,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -86885,11 +88080,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -86897,10 +88092,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -86908,10 +88103,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -86919,13 +88114,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -86934,7 +88129,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -86944,7 +88139,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -86952,14 +88147,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -86967,10 +88162,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -86978,13 +88173,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -86992,12 +88187,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -87006,7 +88201,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -87014,7 +88209,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -87022,10 +88217,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -87033,13 +88228,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -87047,10 +88242,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -87058,13 +88253,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -87072,12 +88267,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -87086,7 +88281,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -87094,7 +88289,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -87102,14 +88297,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -87117,10 +88312,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -87128,13 +88323,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -87142,10 +88337,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -87153,13 +88348,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -87167,12 +88362,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -87181,7 +88376,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -87189,7 +88384,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -87197,14 +88392,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -87212,11 +88407,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -87224,13 +88419,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -87238,10 +88433,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -87249,10 +88444,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -87260,13 +88455,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -87274,10 +88469,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -87285,13 +88480,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -87299,10 +88494,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -87310,13 +88505,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -87324,10 +88519,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -87335,13 +88530,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -87349,10 +88544,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -87360,13 +88555,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -87375,7 +88570,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -87383,7 +88578,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -87392,7 +88587,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -87400,7 +88595,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -87408,10 +88603,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -87419,13 +88614,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -87433,10 +88628,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -87444,14 +88639,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -87460,7 +88655,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -87470,7 +88665,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -87478,10 +88673,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -87489,13 +88684,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -87503,10 +88698,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -87514,7 +88709,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -87525,7 +88720,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -87533,10 +88728,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -87544,13 +88739,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -87558,10 +88753,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -87569,14 +88764,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -87584,12 +88779,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -87598,13 +88793,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -87612,12 +88807,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -87626,13 +88821,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -87641,13 +88836,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -87656,7 +88851,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -87670,7 +88865,7 @@ ] }, { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -87678,11 +88873,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -87690,11 +88885,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -87702,10 +88897,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -87713,10 +88908,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -87724,13 +88919,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -87739,7 +88934,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -87749,7 +88944,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -87757,14 +88952,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -87772,10 +88967,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -87783,13 +88978,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -87797,12 +88992,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -87811,7 +89006,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -87819,7 +89014,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -87827,10 +89022,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -87838,13 +89033,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -87852,10 +89047,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -87863,13 +89058,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -87877,12 +89072,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -87891,7 +89086,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -87899,7 +89094,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -87907,14 +89102,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -87922,10 +89117,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -87933,13 +89128,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -87947,10 +89142,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -87958,13 +89153,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -87972,12 +89167,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -87986,7 +89181,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -87994,7 +89189,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -88002,14 +89197,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -88017,11 +89212,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -88029,13 +89224,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -88043,10 +89238,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -88054,10 +89249,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -88065,13 +89260,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -88079,10 +89274,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -88090,13 +89285,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -88104,10 +89299,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -88115,13 +89310,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -88129,10 +89324,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -88140,13 +89335,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -88154,10 +89349,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -88165,13 +89360,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -88180,7 +89375,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -88188,7 +89383,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -88197,7 +89392,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -88205,7 +89400,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -88213,10 +89408,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -88224,13 +89419,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -88238,10 +89433,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -88249,14 +89444,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -88265,7 +89460,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -88275,7 +89470,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -88283,10 +89478,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -88294,13 +89489,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -88308,10 +89503,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -88319,7 +89514,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -88330,7 +89525,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -88338,10 +89533,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -88349,13 +89544,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -88363,10 +89558,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -88374,14 +89569,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -88389,12 +89584,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -88403,13 +89598,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -88417,12 +89612,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -88431,13 +89626,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -88446,13 +89641,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -88461,7 +89656,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -88475,7 +89670,7 @@ ] }, { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -88483,11 +89678,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -88495,11 +89690,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -88507,10 +89702,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -88518,10 +89713,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -88529,13 +89724,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -88544,7 +89739,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -88554,7 +89749,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -88562,14 +89757,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -88577,10 +89772,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -88588,13 +89783,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -88602,12 +89797,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -88616,7 +89811,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -88624,7 +89819,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -88632,10 +89827,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -88643,13 +89838,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -88657,10 +89852,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -88668,13 +89863,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -88682,12 +89877,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -88696,7 +89891,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -88704,7 +89899,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -88712,14 +89907,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -88727,10 +89922,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -88738,13 +89933,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -88752,10 +89947,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -88763,13 +89958,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -88777,12 +89972,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -88791,7 +89986,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -88799,7 +89994,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -88807,14 +90002,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -88822,11 +90017,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -88834,13 +90029,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -88848,10 +90043,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -88859,10 +90054,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -88870,13 +90065,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -88884,10 +90079,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -88895,13 +90090,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -88909,10 +90104,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -88920,13 +90115,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -88934,10 +90129,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -88945,13 +90140,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -88959,10 +90154,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -88970,13 +90165,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -88985,7 +90180,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -88993,7 +90188,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -89002,7 +90197,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -89010,7 +90205,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -89018,10 +90213,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -89029,13 +90224,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -89043,10 +90238,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -89054,14 +90249,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -89070,7 +90265,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -89080,7 +90275,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -89088,10 +90283,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -89099,13 +90294,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -89113,10 +90308,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -89124,7 +90319,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -89135,7 +90330,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -89143,10 +90338,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -89154,13 +90349,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -89168,10 +90363,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -89179,14 +90374,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -89194,12 +90389,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -89208,13 +90403,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -89222,12 +90417,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -89236,13 +90431,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -89251,13 +90446,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -89266,7 +90461,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -89280,7 +90475,7 @@ ] }, { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -89288,11 +90483,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -89300,11 +90495,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -89312,10 +90507,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -89323,10 +90518,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -89334,13 +90529,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -89349,7 +90544,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -89359,7 +90554,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -89367,14 +90562,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -89382,10 +90577,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -89393,13 +90588,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -89407,12 +90602,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -89421,7 +90616,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -89429,7 +90624,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -89437,10 +90632,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -89448,13 +90643,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -89462,10 +90657,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -89473,13 +90668,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -89487,12 +90682,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -89501,7 +90696,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -89509,7 +90704,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -89517,14 +90712,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -89532,10 +90727,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -89543,13 +90738,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -89557,10 +90752,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -89568,13 +90763,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -89582,12 +90777,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -89596,7 +90791,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -89604,7 +90799,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -89612,14 +90807,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -89627,11 +90822,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -89639,13 +90834,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -89653,10 +90848,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -89664,10 +90859,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -89675,13 +90870,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -89689,10 +90884,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -89700,13 +90895,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -89714,10 +90909,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -89725,13 +90920,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -89739,10 +90934,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -89750,13 +90945,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -89764,10 +90959,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -89775,13 +90970,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -89790,7 +90985,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -89798,7 +90993,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -89807,7 +91002,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -89815,7 +91010,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -89823,10 +91018,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -89834,13 +91029,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -89848,10 +91043,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -89859,14 +91054,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -89875,7 +91070,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -89885,7 +91080,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -89893,10 +91088,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -89904,13 +91099,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -89918,10 +91113,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -89929,7 +91124,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -89940,7 +91135,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -89948,10 +91143,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -89959,13 +91154,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -89973,10 +91168,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -89984,14 +91179,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -89999,12 +91194,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -90013,13 +91208,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -90027,12 +91222,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -90041,13 +91236,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -90056,13 +91251,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -90071,7 +91266,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -90085,7 +91280,7 @@ ] }, { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -90093,11 +91288,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -90105,11 +91300,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -90117,10 +91312,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -90128,10 +91323,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -90139,13 +91334,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -90154,7 +91349,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -90164,7 +91359,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -90172,14 +91367,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -90187,10 +91382,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -90198,13 +91393,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -90212,12 +91407,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -90226,7 +91421,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -90234,7 +91429,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -90242,10 +91437,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -90253,13 +91448,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -90267,10 +91462,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -90278,13 +91473,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -90292,12 +91487,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -90306,7 +91501,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -90314,7 +91509,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -90322,14 +91517,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -90337,10 +91532,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -90348,13 +91543,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -90362,10 +91557,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -90373,13 +91568,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -90387,12 +91582,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -90401,7 +91596,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -90409,7 +91604,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -90417,14 +91612,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -90432,11 +91627,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -90444,13 +91639,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -90458,10 +91653,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -90469,10 +91664,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -90480,13 +91675,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -90494,10 +91689,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -90505,13 +91700,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -90519,10 +91714,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -90530,13 +91725,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -90544,10 +91739,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -90555,13 +91750,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -90569,10 +91764,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -90580,13 +91775,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -90595,7 +91790,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -90603,7 +91798,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -90612,7 +91807,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -90620,7 +91815,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -90628,10 +91823,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -90639,13 +91834,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -90653,10 +91848,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -90664,14 +91859,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -90680,7 +91875,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -90690,7 +91885,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -90698,10 +91893,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -90709,13 +91904,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -90723,10 +91918,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -90734,7 +91929,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -90745,7 +91940,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -90753,10 +91948,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -90764,13 +91959,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -90778,10 +91973,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -90789,14 +91984,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -90804,12 +91999,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -90818,13 +92013,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -90832,12 +92027,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -90846,13 +92041,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -90861,13 +92056,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -90876,7 +92071,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -90893,7 +92088,7 @@ } }, { - "id": 4747, + "id": 4748, "node_type": 24, "kind": 24, "src": { @@ -90902,7 +92097,7 @@ "start": 80677, "end": 80711, "length": 35, - "parent_index": 4682 + "parent_index": 4683 }, "argument_types": [ { @@ -90916,7 +92111,7 @@ ], "arguments": [ { - "id": 4749, + "id": 4750, "node_type": 16, "src": { "line": 2234, @@ -90924,7 +92119,7 @@ "start": 80685, "end": 80691, "length": 7, - "parent_index": 4747 + "parent_index": 4748 }, "name": "success", "type_description": { @@ -90932,11 +92127,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4683, - "is_pure": false + "referenced_declaration": 4684, + "is_pure": false, + "text": "success" }, { - "id": 4750, + "id": 4751, "node_type": 17, "kind": 50, "value": "TRANSFER_FAILED", @@ -90947,7 +92143,7 @@ "start": 80694, "end": 80710, "length": 17, - "parent_index": 4747 + "parent_index": 4748 }, "type_description": { "type_identifier": "t_string_literal", @@ -90961,11 +92157,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TRANSFER_FAILED\"" } ], "expression": { - "id": 4748, + "id": 4749, "node_type": 16, "src": { "line": 2234, @@ -90973,7 +92170,7 @@ "start": 80677, "end": 80683, "length": 7, - "parent_index": 4747 + "parent_index": 4748 }, "name": "require", "type_description": { @@ -90982,7 +92179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -90998,7 +92196,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4673, + "id": 4674, "node_type": 43, "src": { "line": 2207, @@ -91006,11 +92204,11 @@ "start": 79294, "end": 79348, "length": 55, - "parent_index": 4672 + "parent_index": 4673 }, "parameters": [ { - "id": 4674, + "id": 4675, "node_type": 44, "src": { "line": 2207, @@ -91018,12 +92216,12 @@ "start": 79294, "end": 79304, "length": 11, - "parent_index": 4673 + "parent_index": 4674 }, - "scope": 4672, + "scope": 4673, "name": "token", "type_name": { - "id": 4675, + "id": 4676, "node_type": 69, "src": { "line": 2207, @@ -91031,20 +92229,20 @@ "start": 79294, "end": 79298, "length": 5, - "parent_index": 4674 + "parent_index": 4675 }, "path_node": { - "id": 4676, + "id": 4677, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2207, "column": 8, "start": 79294, "end": 79298, "length": 5, - "parent_index": 4675 + "parent_index": 4676 }, "name_location": { "line": 2207, @@ -91052,12 +92250,12 @@ "start": 79294, "end": 79298, "length": 5, - "parent_index": 4675 + "parent_index": 4676 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -91065,12 +92263,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, { - "id": 4677, + "id": 4678, "node_type": 44, "src": { "line": 2208, @@ -91078,12 +92276,12 @@ "start": 79315, "end": 79324, "length": 10, - "parent_index": 4673 + "parent_index": 4674 }, - "scope": 4672, + "scope": 4673, "name": "to", "type_name": { - "id": 4678, + "id": 4679, "node_type": 30, "src": { "line": 2208, @@ -91091,7 +92289,7 @@ "start": 79315, "end": 79321, "length": 7, - "parent_index": 4677 + "parent_index": 4678 }, "name": "address", "state_mutability": 4, @@ -91110,7 +92308,7 @@ } }, { - "id": 4679, + "id": 4680, "node_type": 44, "src": { "line": 2209, @@ -91118,12 +92316,12 @@ "start": 79335, "end": 79348, "length": 14, - "parent_index": 4673 + "parent_index": 4674 }, - "scope": 4672, + "scope": 4673, "name": "amount", "type_name": { - "id": 4680, + "id": 4681, "node_type": 30, "src": { "line": 2209, @@ -91131,7 +92329,7 @@ "start": 79335, "end": 79341, "length": 7, - "parent_index": 4679 + "parent_index": 4680 }, "name": "uint256", "referenced_declaration": 0, @@ -91151,7 +92349,7 @@ ], "parameter_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, { @@ -91165,7 +92363,7 @@ ] }, "return_parameters": { - "id": 4681, + "id": 4682, "node_type": 43, "src": { "line": 2206, @@ -91173,21 +92371,22 @@ "start": 79263, "end": 80718, "length": 1456, - "parent_index": 4672 + "parent_index": 4673 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", - "scope": 4549, + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", + "scope": 4550, "type_description": { - "type_identifier": "t_function_$_t_contract$_ERC20_$4060$_t_address$_t_uint256$", + "type_identifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_uint256$", "type_string": "function(contract ERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(ERC20token,addressto,uint256amount)internal{boolsuccess;assembly{letfreeMemoryPointer:=mload(0x40)mstore(freeMemoryPointer,0xa9059cbb00000000000000000000000000000000000000000000000000000000)mstore(add(freeMemoryPointer,4),to)mstore(add(freeMemoryPointer,36),amount)success:=and(or(and(eq(mload(0),1),gt(returndatasize(),31)),iszero(returndatasize())),call(gas(),token,0,freeMemoryPointer,68,0,32))}require(success,\"TRANSFER_FAILED\");}" }, { - "id": 4752, + "id": 4753, "name": "safeApprove", "node_type": 42, "kind": 41, @@ -91197,7 +92396,7 @@ "start": 80725, "end": 82178, "length": 1454, - "parent_index": 4549 + "parent_index": 4550 }, "name_location": { "line": 2237, @@ -91205,10 +92404,10 @@ "start": 80734, "end": 80744, "length": 11, - "parent_index": 4752 + "parent_index": 4753 }, "body": { - "id": 4762, + "id": 4763, "node_type": 46, "kind": 0, "src": { @@ -91217,12 +92416,12 @@ "start": 80826, "end": 82178, "length": 1353, - "parent_index": 4752 + "parent_index": 4753 }, "implemented": true, "statements": [ { - "id": 4763, + "id": 4764, "node_type": 44, "src": { "line": 2242, @@ -91230,25 +92429,25 @@ "start": 80836, "end": 80848, "length": 13, - "parent_index": 4762 + "parent_index": 4763 }, "assignments": [ - 4764 + 4765 ], "declarations": [ { - "id": 4764, + "id": 4765, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 4762, + "scope": 4763, "src": { "line": 2242, "column": 8, "start": 80836, "end": 80847, "length": 12, - "parent_index": 4763 + "parent_index": 4764 }, "name_location": { "line": 2242, @@ -91256,12 +92455,12 @@ "start": 80841, "end": 80847, "length": 7, - "parent_index": 4764 + "parent_index": 4765 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4765, + "id": 4766, "node_type": 30, "src": { "line": 2242, @@ -91269,7 +92468,7 @@ "start": 80836, "end": 80839, "length": 4, - "parent_index": 4764 + "parent_index": 4765 }, "name": "bool", "referenced_declaration": 0, @@ -91283,7 +92482,7 @@ ] }, { - "id": 4766, + "id": 4767, "node_type": 89, "src": { "line": 2244, @@ -91291,10 +92490,10 @@ "start": 80859, "end": 82127, "length": 1269, - "parent_index": 4762 + "parent_index": 4763 }, "body": { - "id": 4767, + "id": 4768, "node_type": 111, "kind": 0, "src": { @@ -91303,12 +92502,12 @@ "start": 80859, "end": 82127, "length": 1269, - "parent_index": 4766 + "parent_index": 4767 }, "implemented": false, "statements": [ { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -91316,11 +92515,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -91328,11 +92527,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -91340,10 +92539,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -91351,10 +92550,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -91362,13 +92561,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -91377,7 +92576,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -91387,7 +92586,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -91395,14 +92594,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -91410,10 +92609,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -91421,13 +92620,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -91435,12 +92634,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -91449,7 +92648,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -91457,7 +92656,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -91465,10 +92664,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -91476,13 +92675,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -91490,10 +92689,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -91501,13 +92700,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -91515,12 +92714,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -91529,7 +92728,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -91537,7 +92736,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -91545,14 +92744,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -91560,10 +92759,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -91571,13 +92770,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -91585,10 +92784,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -91596,13 +92795,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -91610,12 +92809,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -91624,7 +92823,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -91632,7 +92831,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -91640,14 +92839,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -91655,11 +92854,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -91667,13 +92866,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -91681,10 +92880,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -91692,10 +92891,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -91703,13 +92902,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -91717,10 +92916,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -91728,13 +92927,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -91742,10 +92941,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -91753,13 +92952,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -91767,10 +92966,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -91778,13 +92977,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -91792,10 +92991,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -91803,13 +93002,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -91818,7 +93017,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -91826,7 +93025,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -91835,7 +93034,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -91843,7 +93042,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -91851,10 +93050,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -91862,13 +93061,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -91876,10 +93075,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -91887,14 +93086,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -91903,7 +93102,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -91913,7 +93112,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -91921,10 +93120,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -91932,13 +93131,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -91946,10 +93145,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -91957,7 +93156,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -91968,7 +93167,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -91976,10 +93175,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -91987,13 +93186,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -92001,10 +93200,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -92012,14 +93211,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -92027,12 +93226,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -92041,13 +93240,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -92055,12 +93254,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -92069,13 +93268,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -92084,13 +93283,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -92099,7 +93298,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -92113,7 +93312,7 @@ ] }, { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -92121,11 +93320,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -92133,11 +93332,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -92145,10 +93344,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -92156,10 +93355,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -92167,13 +93366,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -92182,7 +93381,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -92192,7 +93391,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -92200,14 +93399,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -92215,10 +93414,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -92226,13 +93425,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -92240,12 +93439,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -92254,7 +93453,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -92262,7 +93461,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -92270,10 +93469,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -92281,13 +93480,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -92295,10 +93494,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -92306,13 +93505,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -92320,12 +93519,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -92334,7 +93533,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -92342,7 +93541,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -92350,14 +93549,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -92365,10 +93564,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -92376,13 +93575,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -92390,10 +93589,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -92401,13 +93600,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -92415,12 +93614,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -92429,7 +93628,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -92437,7 +93636,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -92445,14 +93644,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -92460,11 +93659,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -92472,13 +93671,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -92486,10 +93685,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -92497,10 +93696,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -92508,13 +93707,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -92522,10 +93721,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -92533,13 +93732,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -92547,10 +93746,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -92558,13 +93757,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -92572,10 +93771,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -92583,13 +93782,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -92597,10 +93796,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -92608,13 +93807,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -92623,7 +93822,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -92631,7 +93830,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -92640,7 +93839,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -92648,7 +93847,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -92656,10 +93855,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -92667,13 +93866,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -92681,10 +93880,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -92692,14 +93891,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -92708,7 +93907,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -92718,7 +93917,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -92726,10 +93925,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -92737,13 +93936,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -92751,10 +93950,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -92762,7 +93961,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -92773,7 +93972,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -92781,10 +93980,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -92792,13 +93991,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -92806,10 +94005,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -92817,14 +94016,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -92832,12 +94031,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -92846,13 +94045,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -92860,12 +94059,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -92874,13 +94073,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -92889,13 +94088,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -92904,7 +94103,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -92918,7 +94117,7 @@ ] }, { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -92926,11 +94125,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -92938,11 +94137,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -92950,10 +94149,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -92961,10 +94160,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -92972,13 +94171,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -92987,7 +94186,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -92997,7 +94196,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -93005,14 +94204,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -93020,10 +94219,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -93031,13 +94230,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -93045,12 +94244,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -93059,7 +94258,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -93067,7 +94266,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -93075,10 +94274,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -93086,13 +94285,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -93100,10 +94299,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -93111,13 +94310,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -93125,12 +94324,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -93139,7 +94338,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -93147,7 +94346,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -93155,14 +94354,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -93170,10 +94369,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -93181,13 +94380,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -93195,10 +94394,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -93206,13 +94405,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -93220,12 +94419,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -93234,7 +94433,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -93242,7 +94441,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -93250,14 +94449,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -93265,11 +94464,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -93277,13 +94476,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -93291,10 +94490,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -93302,10 +94501,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -93313,13 +94512,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -93327,10 +94526,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -93338,13 +94537,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -93352,10 +94551,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -93363,13 +94562,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -93377,10 +94576,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -93388,13 +94587,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -93402,10 +94601,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -93413,13 +94612,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -93428,7 +94627,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -93436,7 +94635,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -93445,7 +94644,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -93453,7 +94652,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -93461,10 +94660,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -93472,13 +94671,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -93486,10 +94685,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -93497,14 +94696,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -93513,7 +94712,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -93523,7 +94722,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -93531,10 +94730,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -93542,13 +94741,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -93556,10 +94755,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -93567,7 +94766,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -93578,7 +94777,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -93586,10 +94785,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -93597,13 +94796,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -93611,10 +94810,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -93622,14 +94821,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -93637,12 +94836,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -93651,13 +94850,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -93665,12 +94864,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -93679,13 +94878,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -93694,13 +94893,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -93709,7 +94908,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -93723,7 +94922,7 @@ ] }, { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -93731,11 +94930,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -93743,11 +94942,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -93755,10 +94954,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -93766,10 +94965,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -93777,13 +94976,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -93792,7 +94991,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -93802,7 +95001,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -93810,14 +95009,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -93825,10 +95024,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -93836,13 +95035,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -93850,12 +95049,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -93864,7 +95063,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -93872,7 +95071,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -93880,10 +95079,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -93891,13 +95090,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -93905,10 +95104,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -93916,13 +95115,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -93930,12 +95129,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -93944,7 +95143,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -93952,7 +95151,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -93960,14 +95159,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -93975,10 +95174,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -93986,13 +95185,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -94000,10 +95199,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -94011,13 +95210,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -94025,12 +95224,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -94039,7 +95238,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -94047,7 +95246,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -94055,14 +95254,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -94070,11 +95269,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -94082,13 +95281,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -94096,10 +95295,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -94107,10 +95306,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -94118,13 +95317,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -94132,10 +95331,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -94143,13 +95342,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -94157,10 +95356,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -94168,13 +95367,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -94182,10 +95381,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -94193,13 +95392,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -94207,10 +95406,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -94218,13 +95417,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -94233,7 +95432,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -94241,7 +95440,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -94250,7 +95449,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -94258,7 +95457,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -94266,10 +95465,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -94277,13 +95476,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -94291,10 +95490,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -94302,14 +95501,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -94318,7 +95517,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -94328,7 +95527,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -94336,10 +95535,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -94347,13 +95546,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -94361,10 +95560,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -94372,7 +95571,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -94383,7 +95582,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -94391,10 +95590,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -94402,13 +95601,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -94416,10 +95615,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -94427,14 +95626,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -94442,12 +95641,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -94456,13 +95655,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -94470,12 +95669,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -94484,13 +95683,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -94499,13 +95698,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -94514,7 +95713,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -94528,7 +95727,7 @@ ] }, { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -94536,11 +95735,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -94548,11 +95747,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -94560,10 +95759,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -94571,10 +95770,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -94582,13 +95781,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -94597,7 +95796,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -94607,7 +95806,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -94615,14 +95814,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -94630,10 +95829,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -94641,13 +95840,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -94655,12 +95854,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -94669,7 +95868,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -94677,7 +95876,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -94685,10 +95884,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -94696,13 +95895,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -94710,10 +95909,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -94721,13 +95920,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -94735,12 +95934,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -94749,7 +95948,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -94757,7 +95956,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -94765,14 +95964,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -94780,10 +95979,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -94791,13 +95990,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -94805,10 +96004,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -94816,13 +96015,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -94830,12 +96029,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -94844,7 +96043,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -94852,7 +96051,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -94860,14 +96059,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -94875,11 +96074,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -94887,13 +96086,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -94901,10 +96100,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -94912,10 +96111,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -94923,13 +96122,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -94937,10 +96136,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -94948,13 +96147,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -94962,10 +96161,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -94973,13 +96172,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -94987,10 +96186,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -94998,13 +96197,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -95012,10 +96211,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -95023,13 +96222,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -95038,7 +96237,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -95046,7 +96245,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -95055,7 +96254,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -95063,7 +96262,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -95071,10 +96270,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -95082,13 +96281,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -95096,10 +96295,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -95107,14 +96306,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -95123,7 +96322,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -95133,7 +96332,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -95141,10 +96340,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -95152,13 +96351,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -95166,10 +96365,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -95177,7 +96376,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -95188,7 +96387,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -95196,10 +96395,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -95207,13 +96406,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -95221,10 +96420,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -95232,14 +96431,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -95247,12 +96446,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -95261,13 +96460,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -95275,12 +96474,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -95289,13 +96488,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -95304,13 +96503,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -95319,7 +96518,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -95336,7 +96535,7 @@ } }, { - "id": 4827, + "id": 4828, "node_type": 24, "kind": 24, "src": { @@ -95345,7 +96544,7 @@ "start": 82138, "end": 82171, "length": 34, - "parent_index": 4762 + "parent_index": 4763 }, "argument_types": [ { @@ -95359,7 +96558,7 @@ ], "arguments": [ { - "id": 4829, + "id": 4830, "node_type": 16, "src": { "line": 2265, @@ -95367,7 +96566,7 @@ "start": 82146, "end": 82152, "length": 7, - "parent_index": 4827 + "parent_index": 4828 }, "name": "success", "type_description": { @@ -95375,11 +96574,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4763, - "is_pure": false + "referenced_declaration": 4764, + "is_pure": false, + "text": "success" }, { - "id": 4830, + "id": 4831, "node_type": 17, "kind": 50, "value": "APPROVE_FAILED", @@ -95390,7 +96590,7 @@ "start": 82155, "end": 82170, "length": 16, - "parent_index": 4827 + "parent_index": 4828 }, "type_description": { "type_identifier": "t_string_literal", @@ -95404,11 +96604,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"APPROVE_FAILED\"" } ], "expression": { - "id": 4828, + "id": 4829, "node_type": 16, "src": { "line": 2265, @@ -95416,7 +96617,7 @@ "start": 82138, "end": 82144, "length": 7, - "parent_index": 4827 + "parent_index": 4828 }, "name": "require", "type_description": { @@ -95425,7 +96626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -95441,7 +96643,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4753, + "id": 4754, "node_type": 43, "src": { "line": 2238, @@ -95449,11 +96651,11 @@ "start": 80755, "end": 80809, "length": 55, - "parent_index": 4752 + "parent_index": 4753 }, "parameters": [ { - "id": 4754, + "id": 4755, "node_type": 44, "src": { "line": 2238, @@ -95461,12 +96663,12 @@ "start": 80755, "end": 80765, "length": 11, - "parent_index": 4753 + "parent_index": 4754 }, - "scope": 4752, + "scope": 4753, "name": "token", "type_name": { - "id": 4755, + "id": 4756, "node_type": 69, "src": { "line": 2238, @@ -95474,20 +96676,20 @@ "start": 80755, "end": 80759, "length": 5, - "parent_index": 4754 + "parent_index": 4755 }, "path_node": { - "id": 4756, + "id": 4757, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2238, "column": 8, "start": 80755, "end": 80759, "length": 5, - "parent_index": 4755 + "parent_index": 4756 }, "name_location": { "line": 2238, @@ -95495,12 +96697,12 @@ "start": 80755, "end": 80759, "length": 5, - "parent_index": 4755 + "parent_index": 4756 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -95508,12 +96710,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, { - "id": 4757, + "id": 4758, "node_type": 44, "src": { "line": 2239, @@ -95521,12 +96723,12 @@ "start": 80776, "end": 80785, "length": 10, - "parent_index": 4753 + "parent_index": 4754 }, - "scope": 4752, + "scope": 4753, "name": "to", "type_name": { - "id": 4758, + "id": 4759, "node_type": 30, "src": { "line": 2239, @@ -95534,7 +96736,7 @@ "start": 80776, "end": 80782, "length": 7, - "parent_index": 4757 + "parent_index": 4758 }, "name": "address", "state_mutability": 4, @@ -95553,7 +96755,7 @@ } }, { - "id": 4759, + "id": 4760, "node_type": 44, "src": { "line": 2240, @@ -95561,12 +96763,12 @@ "start": 80796, "end": 80809, "length": 14, - "parent_index": 4753 + "parent_index": 4754 }, - "scope": 4752, + "scope": 4753, "name": "amount", "type_name": { - "id": 4760, + "id": 4761, "node_type": 30, "src": { "line": 2240, @@ -95574,7 +96776,7 @@ "start": 80796, "end": 80802, "length": 7, - "parent_index": 4759 + "parent_index": 4760 }, "name": "uint256", "referenced_declaration": 0, @@ -95594,7 +96796,7 @@ ], "parameter_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, { @@ -95608,7 +96810,7 @@ ] }, "return_parameters": { - "id": 4761, + "id": 4762, "node_type": 43, "src": { "line": 2237, @@ -95616,22 +96818,23 @@ "start": 80725, "end": 82178, "length": 1454, - "parent_index": 4752 + "parent_index": 4753 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", - "scope": 4549, + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", + "scope": 4550, "type_description": { - "type_identifier": "t_function_$_t_contract$_ERC20_$4060$_t_address$_t_uint256$", + "type_identifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_uint256$", "type_string": "function(contract ERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(ERC20token,addressto,uint256amount)internal{boolsuccess;assembly{letfreeMemoryPointer:=mload(0x40)mstore(freeMemoryPointer,0x095ea7b300000000000000000000000000000000000000000000000000000000)mstore(add(freeMemoryPointer,4),to)mstore(add(freeMemoryPointer,36),amount)success:=and(or(and(eq(mload(0),1),gt(returndatasize(),31)),iszero(returndatasize())),call(gas(),token,0,freeMemoryPointer,68,0,32))}require(success,\"APPROVE_FAILED\");}" } ], "linearized_base_contracts": [ - 4549 + 4550 ], "base_contracts": [], "contract_dependencies": [] @@ -95647,12 +96850,12 @@ } }, { - "id": 4831, + "id": 4832, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 4831, + "id": 4832, "name": "AffineGovernable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AffineGovernable.sol" } @@ -95662,7 +96865,7 @@ "node_type": 1, "nodes": [ { - "id": 4852, + "id": 4853, "node_type": 10, "src": { "line": 2271, @@ -95670,7 +96873,7 @@ "start": 82221, "end": 82244, "length": 24, - "parent_index": 4831 + "parent_index": 4832 }, "literals": [ "pragma", @@ -95686,7 +96889,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 4882, + "id": 4883, "name": "AffineGovernable", "node_type": 35, "src": { @@ -95695,7 +96898,7 @@ "start": 82247, "end": 82539, "length": 293, - "parent_index": 4831 + "parent_index": 4832 }, "name_location": { "line": 2273, @@ -95703,14 +96906,14 @@ "start": 82256, "end": 82271, "length": 16, - "parent_index": 4882 + "parent_index": 4883 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 4884, + "id": 4885, "name": "governance", "is_constant": false, "is_state_variable": true, @@ -95721,9 +96924,9 @@ "start": 82318, "end": 82343, "length": 26, - "parent_index": 4882 + "parent_index": 4883 }, - "scope": 4882, + "scope": 4883, "type_description": { "type_identifier": "t_address", "type_string": "address" @@ -95732,7 +96935,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4885, + "id": 4886, "node_type": 30, "src": { "line": 2275, @@ -95740,7 +96943,7 @@ "start": 82318, "end": 82324, "length": 7, - "parent_index": 4884 + "parent_index": 4885 }, "name": "address", "state_mutability": 4, @@ -95753,7 +96956,7 @@ "initial_value": null }, { - "id": 4887, + "id": 4888, "name": "onlyGovernance", "node_type": 68, "src": { @@ -95762,7 +96965,7 @@ "start": 82350, "end": 82420, "length": 71, - "parent_index": 4882 + "parent_index": 4883 }, "name_location": { "line": 2277, @@ -95770,12 +96973,12 @@ "start": 82359, "end": 82372, "length": 14, - "parent_index": 4887 + "parent_index": 4888 }, "visibility": 1, "virtual": false, "parameters": { - "id": 4888, + "id": 4889, "node_type": 43, "src": { "line": 2277, @@ -95783,13 +96986,13 @@ "start": 82350, "end": 82420, "length": 71, - "parent_index": 4882 + "parent_index": 4883 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 4889, + "id": 4890, "node_type": 46, "kind": 0, "src": { @@ -95798,12 +97001,12 @@ "start": 82376, "end": 82420, "length": 45, - "parent_index": 4887 + "parent_index": 4888 }, "implemented": true, "statements": [ { - "id": 4890, + "id": 4891, "node_type": 24, "kind": 24, "src": { @@ -95812,12 +97015,12 @@ "start": 82386, "end": 82402, "length": 17, - "parent_index": 4889 + "parent_index": 4890 }, "argument_types": [], "arguments": [], "expression": { - "id": 4891, + "id": 4892, "node_type": 16, "src": { "line": 2278, @@ -95825,7 +97028,7 @@ "start": 82386, "end": 82400, "length": 15, - "parent_index": 4890 + "parent_index": 4891 }, "name": "_onlyGovernance", "type_description": { @@ -95834,7 +97037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_onlyGovernance" }, "type_description": { "type_identifier": "t_function_$", @@ -95842,7 +97046,7 @@ } }, { - "id": 4892, + "id": 4893, "node_type": 82, "src": { "line": 2279, @@ -95850,7 +97054,7 @@ "start": 82413, "end": 82413, "length": 1, - "parent_index": 4889 + "parent_index": 4890 }, "name": "_", "type_description": { @@ -95859,13 +97063,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 4894, + "id": 4895, "name": "_onlyGovernance", "node_type": 42, "kind": 41, @@ -95875,7 +97080,7 @@ "start": 82427, "end": 82537, "length": 111, - "parent_index": 4882 + "parent_index": 4883 }, "name_location": { "line": 2282, @@ -95883,10 +97088,10 @@ "start": 82436, "end": 82450, "length": 15, - "parent_index": 4894 + "parent_index": 4895 }, "body": { - "id": 4897, + "id": 4898, "node_type": 46, "kind": 0, "src": { @@ -95895,12 +97100,12 @@ "start": 82468, "end": 82537, "length": 70, - "parent_index": 4894 + "parent_index": 4895 }, "implemented": true, "statements": [ { - "id": 4898, + "id": 4899, "node_type": 24, "kind": 24, "src": { @@ -95909,7 +97114,7 @@ "start": 82478, "end": 82530, "length": 53, - "parent_index": 4897 + "parent_index": 4898 }, "argument_types": [ { @@ -95923,7 +97128,7 @@ ], "arguments": [ { - "id": 4900, + "id": 4901, "is_constant": false, "is_pure": false, "node_type": 19, @@ -95933,11 +97138,11 @@ "start": 82486, "end": 82509, "length": 24, - "parent_index": 4898 + "parent_index": 4899 }, "operator": 11, "left_expression": { - "id": 4901, + "id": 4902, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -95949,7 +97154,7 @@ "start": 82486, "end": 82495, "length": 10, - "parent_index": 4900 + "parent_index": 4901 }, "member_location": { "line": 2283, @@ -95957,10 +97162,10 @@ "start": 82490, "end": 82495, "length": 6, - "parent_index": 4901 + "parent_index": 4902 }, "expression": { - "id": 4902, + "id": 4903, "node_type": 16, "src": { "line": 2283, @@ -95968,7 +97173,7 @@ "start": 82486, "end": 82488, "length": 3, - "parent_index": 4901 + "parent_index": 4902 }, "name": "msg", "type_description": { @@ -95977,17 +97182,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 4903, + "id": 4904, "node_type": 16, "src": { "line": 2283, @@ -95995,7 +97202,7 @@ "start": 82500, "end": 82509, "length": 10, - "parent_index": 4900 + "parent_index": 4901 }, "name": "governance", "type_description": { @@ -96003,8 +97210,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "type_description": { "type_identifier": "t_bool", @@ -96012,7 +97220,7 @@ } }, { - "id": 4904, + "id": 4905, "node_type": 17, "kind": 50, "value": "Only Governance.", @@ -96023,7 +97231,7 @@ "start": 82512, "end": 82529, "length": 18, - "parent_index": 4898 + "parent_index": 4899 }, "type_description": { "type_identifier": "t_string_literal", @@ -96037,11 +97245,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Only Governance.\"" } ], "expression": { - "id": 4899, + "id": 4900, "node_type": 16, "src": { "line": 2283, @@ -96049,7 +97258,7 @@ "start": 82478, "end": 82484, "length": 7, - "parent_index": 4898 + "parent_index": 4899 }, "name": "require", "type_description": { @@ -96058,7 +97267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -96074,7 +97284,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4895, + "id": 4896, "node_type": 43, "src": { "line": 2282, @@ -96082,13 +97292,13 @@ "start": 82427, "end": 82537, "length": 111, - "parent_index": 4894 + "parent_index": 4895 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 4896, + "id": 4897, "node_type": 43, "src": { "line": 2282, @@ -96096,22 +97306,23 @@ "start": 82427, "end": 82537, "length": 111, - "parent_index": 4894 + "parent_index": 4895 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_onlyGovernance()", "signature": "b2ecfa2e", - "scope": 4882, + "scope": 4883, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_onlyGovernance()internalview{require(msg.sender==governance,\"Only Governance.\");}" } ], "linearized_base_contracts": [ - 4882 + 4883 ], "base_contracts": [], "contract_dependencies": [] @@ -96127,32 +97338,32 @@ } }, { - "id": 4905, + "id": 4906, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 4905, + "id": 4906, "name": "BaseStrategy", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseStrategy.sol" }, { - "id": 4831, + "id": 4832, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 4831, + "id": 4832, "name": "BaseVault", "absolute_path": "BaseVault.sol" }, { - "id": 4831, + "id": 4832, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 4831, + "id": 4832, "name": "Strings", "absolute_path": "Strings.sol" } @@ -96162,7 +97373,7 @@ "node_type": 1, "nodes": [ { - "id": 4927, + "id": 4928, "node_type": 10, "src": { "line": 2289, @@ -96170,7 +97381,7 @@ "start": 82580, "end": 82603, "length": 24, - "parent_index": 4905 + "parent_index": 4906 }, "literals": [ "pragma", @@ -96186,7 +97397,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 4957, + "id": 4958, "node_type": 29, "src": { "line": 2291, @@ -96194,18 +97405,18 @@ "start": 82606, "end": 82639, "length": 34, - "parent_index": 4905 + "parent_index": 4906 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 4905, + "scope": 4906, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4831 + "source_unit": 4832 }, { - "id": 4958, + "id": 4959, "node_type": 29, "src": { "line": 2292, @@ -96213,18 +97424,18 @@ "start": 82641, "end": 82682, "length": 42, - "parent_index": 4905 + "parent_index": 4906 }, "absolute_path": "BaseVault.sol", "file": "./BaseVault.sol", - "scope": 4905, + "scope": 4906, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4831 + "source_unit": 4832 }, { - "id": 4959, + "id": 4960, "node_type": 29, "src": { "line": 2293, @@ -96232,18 +97443,18 @@ "start": 82684, "end": 82737, "length": 54, - "parent_index": 4905 + "parent_index": 4906 }, "absolute_path": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "scope": 4905, + "scope": 4906, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4831 + "source_unit": 4832 }, { - "id": 4960, + "id": 4961, "node_type": 29, "src": { "line": 2294, @@ -96251,18 +97462,18 @@ "start": 82739, "end": 82776, "length": 38, - "parent_index": 4905 + "parent_index": 4906 }, "absolute_path": "Strings.sol", "file": "./Strings.sol", - "scope": 4905, + "scope": 4906, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4831 + "source_unit": 4832 }, { - "id": 4961, + "id": 4962, "name": "BaseStrategy", "node_type": 35, "src": { @@ -96271,7 +97482,7 @@ "start": 82814, "end": 85267, "length": 2454, - "parent_index": 4905 + "parent_index": 4906 }, "name_location": { "line": 2297, @@ -96279,14 +97490,14 @@ "start": 82832, "end": 82843, "length": 12, - "parent_index": 4961 + "parent_index": 4962 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 4963, + "id": 4964, "node_type": 51, "src": { "line": 2298, @@ -96294,14 +97505,14 @@ "start": 82851, "end": 82882, "length": 32, - "parent_index": 4961 + "parent_index": 4962 }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "type_name": { - "id": 4965, + "id": 4966, "node_type": 69, "src": { "line": 2298, @@ -96309,20 +97520,20 @@ "start": 82877, "end": 82881, "length": 5, - "parent_index": 4963 + "parent_index": 4964 }, "path_node": { - "id": 4966, + "id": 4967, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2298, "column": 30, "start": 82877, "end": 82881, "length": 5, - "parent_index": 4965 + "parent_index": 4966 }, "name_location": { "line": 2298, @@ -96330,17 +97541,17 @@ "start": 82877, "end": 82881, "length": 5, - "parent_index": 4965 + "parent_index": 4966 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "library_name": { - "id": 4964, + "id": 4965, "node_type": 52, "src": { "line": 2298, @@ -96348,14 +97559,14 @@ "start": 82857, "end": 82871, "length": 15, - "parent_index": 4963 + "parent_index": 4964 }, "name": "SafeTransferLib", - "referenced_declaration": 4499 + "referenced_declaration": 4500 } }, { - "id": 4968, + "id": 4969, "node_type": 42, "src": { "line": 2300, @@ -96363,7 +97574,7 @@ "start": 82889, "end": 82988, "length": 100, - "parent_index": 4961 + "parent_index": 4962 }, "kind": 11, "state_mutability": 4, @@ -96371,7 +97582,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 4969, + "id": 4970, "node_type": 43, "src": { "line": 2300, @@ -96379,11 +97590,11 @@ "start": 82901, "end": 82916, "length": 16, - "parent_index": 4968 + "parent_index": 4969 }, "parameters": [ { - "id": 4970, + "id": 4971, "node_type": 44, "src": { "line": 2300, @@ -96391,12 +97602,12 @@ "start": 82901, "end": 82916, "length": 16, - "parent_index": 4969 + "parent_index": 4970 }, - "scope": 4968, + "scope": 4969, "name": "_vault", "type_name": { - "id": 4971, + "id": 4972, "node_type": 69, "src": { "line": 2300, @@ -96404,10 +97615,10 @@ "start": 82901, "end": 82909, "length": 9, - "parent_index": 4970 + "parent_index": 4971 }, "path_node": { - "id": 4972, + "id": 4973, "name": "BaseVault", "node_type": 52, "referenced_declaration": 0, @@ -96417,7 +97628,7 @@ "start": 82901, "end": 82909, "length": 9, - "parent_index": 4971 + "parent_index": 4972 }, "name_location": { "line": 2300, @@ -96425,12 +97636,12 @@ "start": 82901, "end": 82909, "length": 9, - "parent_index": 4971 + "parent_index": 4972 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, @@ -96444,7 +97655,7 @@ ] }, "return_parameters": { - "id": 4973, + "id": 4974, "node_type": 43, "src": { "line": 2300, @@ -96452,14 +97663,14 @@ "start": 82889, "end": 82988, "length": 100, - "parent_index": 4968 + "parent_index": 4969 }, "parameters": [], "parameter_types": [] }, - "scope": 4961, + "scope": 4962, "body": { - "id": 4974, + "id": 4975, "node_type": 46, "kind": 0, "src": { @@ -96468,12 +97679,12 @@ "start": 82919, "end": 82988, "length": 70, - "parent_index": 4968 + "parent_index": 4969 }, "implemented": true, "statements": [ { - "id": 4975, + "id": 4976, "node_type": 27, "src": { "line": 2301, @@ -96481,10 +97692,10 @@ "start": 82929, "end": 82943, "length": 15, - "parent_index": 4974 + "parent_index": 4975 }, "expression": { - "id": 4976, + "id": 4977, "node_type": 27, "src": { "line": 2301, @@ -96492,11 +97703,11 @@ "start": 82929, "end": 82942, "length": 14, - "parent_index": 4975 + "parent_index": 4976 }, "operator": 11, "left_expression": { - "id": 4977, + "id": 4978, "node_type": 16, "src": { "line": 2301, @@ -96504,19 +97715,20 @@ "start": 82929, "end": 82933, "length": 5, - "parent_index": 4976 + "parent_index": 4977 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 4970, - "is_pure": false + "referenced_declaration": 4971, + "is_pure": false, + "text": "vault" }, "right_expression": { - "id": 4978, + "id": 4979, "node_type": 16, "src": { "line": 2301, @@ -96524,25 +97736,27 @@ "start": 82937, "end": 82942, "length": 6, - "parent_index": 4976 + "parent_index": 4977 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 4986, - "is_pure": false + "referenced_declaration": 4971, + "is_pure": false, + "text": "_vault" }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } - } + }, + "text": "vault=_vault;" }, { - "id": 4979, + "id": 4980, "node_type": 27, "src": { "line": 2302, @@ -96550,10 +97764,10 @@ "start": 82953, "end": 82982, "length": 30, - "parent_index": 4974 + "parent_index": 4975 }, "expression": { - "id": 4980, + "id": 4981, "node_type": 27, "src": { "line": 2302, @@ -96561,11 +97775,11 @@ "start": 82953, "end": 82981, "length": 29, - "parent_index": 4979 + "parent_index": 4980 }, "operator": 11, "left_expression": { - "id": 4981, + "id": 4982, "node_type": 16, "src": { "line": 2302, @@ -96573,19 +97787,20 @@ "start": 82953, "end": 82957, "length": 5, - "parent_index": 4980 + "parent_index": 4981 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 7867, - "is_pure": false + "referenced_declaration": 7870, + "is_pure": false, + "text": "asset" }, "right_expression": { - "id": 4982, + "id": 4983, "node_type": 24, "kind": 24, "src": { @@ -96594,7 +97809,7 @@ "start": 82961, "end": 82981, "length": 21, - "parent_index": 4980 + "parent_index": 4981 }, "argument_types": [ { @@ -96604,7 +97819,7 @@ ], "arguments": [ { - "id": 4984, + "id": 4985, "node_type": 24, "kind": 24, "src": { @@ -96613,12 +97828,12 @@ "start": 82967, "end": 82980, "length": 14, - "parent_index": 4982 + "parent_index": 4983 }, "argument_types": [], "arguments": [], "expression": { - "id": 4985, + "id": 4986, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -96630,7 +97845,7 @@ "start": 82967, "end": 82978, "length": 12, - "parent_index": 4984 + "parent_index": 4985 }, "member_location": { "line": 2302, @@ -96638,10 +97853,10 @@ "start": 82974, "end": 82978, "length": 5, - "parent_index": 4985 + "parent_index": 4986 }, "expression": { - "id": 4986, + "id": 4987, "node_type": 16, "src": { "line": 2302, @@ -96649,24 +97864,26 @@ "start": 82967, "end": 82972, "length": 6, - "parent_index": 4985 + "parent_index": 4986 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6449, - "is_pure": false + "referenced_declaration": 6451, + "is_pure": false, + "text": "_vault" }, "member_name": "asset", "argument_types": [], - "referenced_declaration": 7867, + "referenced_declaration": 7870, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_vault.asset" }, "type_description": { "type_identifier": "t_function_$", @@ -96675,7 +97892,7 @@ } ], "expression": { - "id": 4983, + "id": 4984, "node_type": 16, "src": { "line": 2302, @@ -96683,7 +97900,7 @@ "start": 82961, "end": 82965, "length": 5, - "parent_index": 4982 + "parent_index": 4983 }, "name": "ERC20", "type_description": { @@ -96692,7 +97909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -96707,13 +97925,14 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "asset=ERC20(_vault.asset());" } ] } }, { - "id": 4988, + "id": 4989, "name": "vault", "is_constant": false, "is_state_variable": true, @@ -96724,18 +97943,18 @@ "start": 83072, "end": 83104, "length": 33, - "parent_index": 4961 + "parent_index": 4962 }, - "scope": 4961, + "scope": 4962, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 4989, + "id": 4990, "node_type": 69, "src": { "line": 2306, @@ -96743,10 +97962,10 @@ "start": 83072, "end": 83080, "length": 9, - "parent_index": 4988 + "parent_index": 4989 }, "path_node": { - "id": 4990, + "id": 4991, "name": "BaseVault", "node_type": 52, "referenced_declaration": 0, @@ -96756,7 +97975,7 @@ "start": 83072, "end": 83080, "length": 9, - "parent_index": 4989 + "parent_index": 4990 }, "name_location": { "line": 2306, @@ -96764,19 +97983,19 @@ "start": 83072, "end": 83080, "length": 9, - "parent_index": 4989 + "parent_index": 4990 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "initial_value": null }, { - "id": 4992, + "id": 4993, "name": "onlyVault", "node_type": 68, "src": { @@ -96785,7 +98004,7 @@ "start": 83111, "end": 83214, "length": 104, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2308, @@ -96793,12 +98012,12 @@ "start": 83120, "end": 83128, "length": 9, - "parent_index": 4992 + "parent_index": 4993 }, "visibility": 1, "virtual": false, "parameters": { - "id": 4993, + "id": 4994, "node_type": 43, "src": { "line": 2308, @@ -96806,13 +98025,13 @@ "start": 83111, "end": 83214, "length": 104, - "parent_index": 4961 + "parent_index": 4962 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 4994, + "id": 4995, "node_type": 46, "kind": 0, "src": { @@ -96821,12 +98040,12 @@ "start": 83132, "end": 83214, "length": 83, - "parent_index": 4992 + "parent_index": 4993 }, "implemented": true, "statements": [ { - "id": 4995, + "id": 4996, "node_type": 24, "kind": 24, "src": { @@ -96835,7 +98054,7 @@ "start": 83142, "end": 83196, "length": 55, - "parent_index": 4994 + "parent_index": 4995 }, "argument_types": [ { @@ -96849,7 +98068,7 @@ ], "arguments": [ { - "id": 4997, + "id": 4998, "is_constant": false, "is_pure": false, "node_type": 19, @@ -96859,11 +98078,11 @@ "start": 83150, "end": 83177, "length": 28, - "parent_index": 4995 + "parent_index": 4996 }, "operator": 11, "left_expression": { - "id": 4998, + "id": 4999, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -96875,7 +98094,7 @@ "start": 83150, "end": 83159, "length": 10, - "parent_index": 4997 + "parent_index": 4998 }, "member_location": { "line": 2309, @@ -96883,10 +98102,10 @@ "start": 83154, "end": 83159, "length": 6, - "parent_index": 4998 + "parent_index": 4999 }, "expression": { - "id": 4999, + "id": 5000, "node_type": 16, "src": { "line": 2309, @@ -96894,7 +98113,7 @@ "start": 83150, "end": 83152, "length": 3, - "parent_index": 4998 + "parent_index": 4999 }, "name": "msg", "type_description": { @@ -96903,17 +98122,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 5000, + "id": 5001, "node_type": 24, "kind": 24, "src": { @@ -96922,7 +98143,7 @@ "start": 83164, "end": 83177, "length": 14, - "parent_index": 4997 + "parent_index": 4998 }, "argument_types": [ { @@ -96932,7 +98153,7 @@ ], "arguments": [ { - "id": 5003, + "id": 5004, "node_type": 16, "src": { "line": 2309, @@ -96940,7 +98161,7 @@ "start": 83172, "end": 83176, "length": 5, - "parent_index": 5000 + "parent_index": 5001 }, "name": "vault", "type_description": { @@ -96949,11 +98170,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 5001, + "id": 5002, "node_type": 16, "src": { "line": 2309, @@ -96961,11 +98183,11 @@ "start": 83164, "end": 83170, "length": 7, - "parent_index": 5000 + "parent_index": 5001 }, "name": "address", "type_name": { - "id": 5002, + "id": 5003, "node_type": 30, "src": { "line": 2309, @@ -96973,7 +98195,7 @@ "start": 83164, "end": 83170, "length": 7, - "parent_index": 5001 + "parent_index": 5002 }, "name": "address", "state_mutability": 4, @@ -96995,7 +98217,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -97008,7 +98231,7 @@ } }, { - "id": 5004, + "id": 5005, "node_type": 17, "kind": 50, "value": "BS: only vault", @@ -97019,7 +98242,7 @@ "start": 83180, "end": 83195, "length": 16, - "parent_index": 4995 + "parent_index": 4996 }, "type_description": { "type_identifier": "t_string_literal", @@ -97033,11 +98256,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BS: only vault\"" } ], "expression": { - "id": 4996, + "id": 4997, "node_type": 16, "src": { "line": 2309, @@ -97045,7 +98269,7 @@ "start": 83142, "end": 83148, "length": 7, - "parent_index": 4995 + "parent_index": 4996 }, "name": "require", "type_description": { @@ -97054,7 +98278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -97062,7 +98287,7 @@ } }, { - "id": 5005, + "id": 5006, "node_type": 82, "src": { "line": 2310, @@ -97070,7 +98295,7 @@ "start": 83207, "end": 83207, "length": 1, - "parent_index": 4994 + "parent_index": 4995 }, "name": "_", "type_description": { @@ -97079,13 +98304,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 5007, + "id": 5008, "name": "onlyGovernance", "node_type": 68, "src": { @@ -97094,7 +98320,7 @@ "start": 83221, "end": 83338, "length": 118, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2313, @@ -97102,12 +98328,12 @@ "start": 83230, "end": 83243, "length": 14, - "parent_index": 5007 + "parent_index": 5008 }, "visibility": 1, "virtual": false, "parameters": { - "id": 5008, + "id": 5009, "node_type": 43, "src": { "line": 2313, @@ -97115,13 +98341,13 @@ "start": 83221, "end": 83338, "length": 118, - "parent_index": 4961 + "parent_index": 4962 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 5009, + "id": 5010, "node_type": 46, "kind": 0, "src": { @@ -97130,12 +98356,12 @@ "start": 83247, "end": 83338, "length": 92, - "parent_index": 5007 + "parent_index": 5008 }, "implemented": true, "statements": [ { - "id": 5010, + "id": 5011, "node_type": 24, "kind": 24, "src": { @@ -97144,7 +98370,7 @@ "start": 83257, "end": 83320, "length": 64, - "parent_index": 5009 + "parent_index": 5010 }, "argument_types": [ { @@ -97158,7 +98384,7 @@ ], "arguments": [ { - "id": 5012, + "id": 5013, "is_constant": false, "is_pure": false, "node_type": 19, @@ -97168,11 +98394,11 @@ "start": 83265, "end": 83296, "length": 32, - "parent_index": 5010 + "parent_index": 5011 }, "operator": 11, "left_expression": { - "id": 5013, + "id": 5014, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -97184,7 +98410,7 @@ "start": 83265, "end": 83274, "length": 10, - "parent_index": 5012 + "parent_index": 5013 }, "member_location": { "line": 2314, @@ -97192,10 +98418,10 @@ "start": 83269, "end": 83274, "length": 6, - "parent_index": 5013 + "parent_index": 5014 }, "expression": { - "id": 5014, + "id": 5015, "node_type": 16, "src": { "line": 2314, @@ -97203,7 +98429,7 @@ "start": 83265, "end": 83267, "length": 3, - "parent_index": 5013 + "parent_index": 5014 }, "name": "msg", "type_description": { @@ -97212,17 +98438,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 5015, + "id": 5016, "node_type": 24, "kind": 24, "src": { @@ -97231,12 +98459,12 @@ "start": 83279, "end": 83296, "length": 18, - "parent_index": 5012 + "parent_index": 5013 }, "argument_types": [], "arguments": [], "expression": { - "id": 5016, + "id": 5017, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -97248,7 +98476,7 @@ "start": 83279, "end": 83294, "length": 16, - "parent_index": 5015 + "parent_index": 5016 }, "member_location": { "line": 2314, @@ -97256,10 +98484,10 @@ "start": 83285, "end": 83294, "length": 10, - "parent_index": 5016 + "parent_index": 5017 }, "expression": { - "id": 5017, + "id": 5018, "node_type": 16, "src": { "line": 2314, @@ -97267,24 +98495,26 @@ "start": 83279, "end": 83283, "length": 5, - "parent_index": 5016 + "parent_index": 5017 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 7864, - "is_pure": false + "referenced_declaration": 7867, + "is_pure": false, + "text": "vault" }, "member_name": "governance", "argument_types": [], - "referenced_declaration": 4884, + "referenced_declaration": 4885, "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "vault.governance" }, "type_description": { "type_identifier": "t_function_$", @@ -97297,7 +98527,7 @@ } }, { - "id": 5018, + "id": 5019, "node_type": 17, "kind": 50, "value": "BS: only governance", @@ -97308,7 +98538,7 @@ "start": 83299, "end": 83319, "length": 21, - "parent_index": 5010 + "parent_index": 5011 }, "type_description": { "type_identifier": "t_string_literal", @@ -97322,11 +98552,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BS: only governance\"" } ], "expression": { - "id": 5011, + "id": 5012, "node_type": 16, "src": { "line": 2314, @@ -97334,7 +98565,7 @@ "start": 83257, "end": 83263, "length": 7, - "parent_index": 5010 + "parent_index": 5011 }, "name": "require", "type_description": { @@ -97343,7 +98574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -97351,7 +98583,7 @@ } }, { - "id": 5019, + "id": 5020, "node_type": 82, "src": { "line": 2315, @@ -97359,7 +98591,7 @@ "start": 83331, "end": 83331, "length": 1, - "parent_index": 5009 + "parent_index": 5010 }, "name": "_", "type_description": { @@ -97368,13 +98600,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 5021, + "id": 5022, "name": "asset", "is_constant": false, "is_state_variable": true, @@ -97385,18 +98618,18 @@ "start": 83418, "end": 83446, "length": 29, - "parent_index": 4961 + "parent_index": 4962 }, - "scope": 4961, + "scope": 4962, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 5022, + "id": 5023, "node_type": 69, "src": { "line": 2319, @@ -97404,20 +98637,20 @@ "start": 83418, "end": 83422, "length": 5, - "parent_index": 5021 + "parent_index": 5022 }, "path_node": { - "id": 5023, + "id": 5024, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2319, "column": 4, "start": 83418, "end": 83422, "length": 5, - "parent_index": 5022 + "parent_index": 5023 }, "name_location": { "line": 2319, @@ -97425,19 +98658,19 @@ "start": 83418, "end": 83422, "length": 5, - "parent_index": 5022 + "parent_index": 5023 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "initial_value": null }, { - "id": 5025, + "id": 5026, "name": "balanceOfAsset", "node_type": 42, "kind": 41, @@ -97447,7 +98680,7 @@ "start": 83552, "end": 83670, "length": 119, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2323, @@ -97455,10 +98688,10 @@ "start": 83561, "end": 83574, "length": 14, - "parent_index": 5025 + "parent_index": 5026 }, "body": { - "id": 5032, + "id": 5033, "node_type": 46, "kind": 0, "src": { @@ -97467,12 +98700,12 @@ "start": 83615, "end": 83670, "length": 56, - "parent_index": 5025 + "parent_index": 5026 }, "implemented": true, "statements": [ { - "id": 5033, + "id": 5034, "node_type": 27, "src": { "line": 2324, @@ -97480,10 +98713,10 @@ "start": 83625, "end": 83664, "length": 40, - "parent_index": 5032 + "parent_index": 5033 }, "expression": { - "id": 5034, + "id": 5035, "node_type": 27, "src": { "line": 2324, @@ -97491,11 +98724,11 @@ "start": 83625, "end": 83663, "length": 39, - "parent_index": 5033 + "parent_index": 5034 }, "operator": 11, "left_expression": { - "id": 5035, + "id": 5036, "node_type": 16, "src": { "line": 2324, @@ -97503,7 +98736,7 @@ "start": 83625, "end": 83630, "length": 6, - "parent_index": 5034 + "parent_index": 5035 }, "name": "assets", "type_description": { @@ -97511,11 +98744,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5035, - "is_pure": false + "referenced_declaration": 5036, + "is_pure": false, + "text": "assets" }, "right_expression": { - "id": 5036, + "id": 5037, "node_type": 24, "kind": 24, "src": { @@ -97524,7 +98758,7 @@ "start": 83634, "end": 83663, "length": 30, - "parent_index": 5034 + "parent_index": 5035 }, "argument_types": [ { @@ -97534,7 +98768,7 @@ ], "arguments": [ { - "id": 5039, + "id": 5040, "node_type": 24, "kind": 24, "src": { @@ -97543,17 +98777,17 @@ "start": 83650, "end": 83662, "length": 13, - "parent_index": 5036 + "parent_index": 5037 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" } ], "arguments": [ { - "id": 5042, + "id": 5043, "node_type": 16, "src": { "line": 2324, @@ -97561,20 +98795,21 @@ "start": 83658, "end": 83661, "length": 4, - "parent_index": 5039 + "parent_index": 5040 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 5040, + "id": 5041, "node_type": 16, "src": { "line": 2324, @@ -97582,11 +98817,11 @@ "start": 83650, "end": 83656, "length": 7, - "parent_index": 5039 + "parent_index": 5040 }, "name": "address", "type_name": { - "id": 5041, + "id": 5042, "node_type": 30, "src": { "line": 2324, @@ -97594,7 +98829,7 @@ "start": 83650, "end": 83656, "length": 7, - "parent_index": 5040 + "parent_index": 5041 }, "name": "address", "state_mutability": 4, @@ -97616,7 +98851,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -97625,7 +98861,7 @@ } ], "expression": { - "id": 5037, + "id": 5038, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -97637,7 +98873,7 @@ "start": 83634, "end": 83648, "length": 15, - "parent_index": 5036 + "parent_index": 5037 }, "member_location": { "line": 2324, @@ -97645,10 +98881,10 @@ "start": 83640, "end": 83648, "length": 9, - "parent_index": 5037 + "parent_index": 5038 }, "expression": { - "id": 5038, + "id": 5039, "node_type": 16, "src": { "line": 2324, @@ -97656,23 +98892,25 @@ "start": 83634, "end": 83638, "length": 5, - "parent_index": 5037 + "parent_index": 5038 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -97687,7 +98925,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "assets=asset.balanceOf(address(this));" } ] }, @@ -97698,7 +98937,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5026, + "id": 5027, "node_type": 43, "src": { "line": 2323, @@ -97706,11 +98945,11 @@ "start": 83599, "end": 83612, "length": 14, - "parent_index": 5025 + "parent_index": 5026 }, "parameters": [ { - "id": 5027, + "id": 5028, "node_type": 44, "src": { "line": 2323, @@ -97718,12 +98957,12 @@ "start": 83599, "end": 83612, "length": 14, - "parent_index": 5026 + "parent_index": 5027 }, - "scope": 5025, + "scope": 5026, "name": "assets", "type_name": { - "id": 5028, + "id": 5029, "node_type": 30, "src": { "line": 2323, @@ -97731,7 +98970,7 @@ "start": 83599, "end": 83605, "length": 7, - "parent_index": 5027 + "parent_index": 5028 }, "name": "uint256", "referenced_declaration": 0, @@ -97757,7 +98996,7 @@ ] }, "return_parameters": { - "id": 5029, + "id": 5030, "node_type": 43, "src": { "line": 2323, @@ -97765,11 +99004,11 @@ "start": 83599, "end": 83612, "length": 14, - "parent_index": 5025 + "parent_index": 5026 }, "parameters": [ { - "id": 5030, + "id": 5031, "node_type": 44, "src": { "line": 2323, @@ -97777,12 +99016,12 @@ "start": 83599, "end": 83612, "length": 14, - "parent_index": 5029 + "parent_index": 5030 }, - "scope": 5025, + "scope": 5026, "name": "assets", "type_name": { - "id": 5031, + "id": 5032, "node_type": 30, "src": { "line": 2323, @@ -97790,7 +99029,7 @@ "start": 83599, "end": 83605, "length": 7, - "parent_index": 5030 + "parent_index": 5031 }, "name": "uint256", "referenced_declaration": 0, @@ -97817,14 +99056,15 @@ }, "signature_raw": "balanceOfAsset(uint256)", "signature": "bd31fdb3", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbalanceOfAsset()publicviewreturns(uint256assets){assets=asset.balanceOf(address(this));}" }, { - "id": 5044, + "id": 5045, "name": "invest", "node_type": 42, "kind": 41, @@ -97834,7 +99074,7 @@ "start": 83845, "end": 83989, "length": 145, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2330, @@ -97842,10 +99082,10 @@ "start": 83854, "end": 83859, "length": 6, - "parent_index": 5044 + "parent_index": 5045 }, "body": { - "id": 5049, + "id": 5050, "node_type": 46, "kind": 0, "src": { @@ -97854,12 +99094,12 @@ "start": 83886, "end": 83989, "length": 104, - "parent_index": 5044 + "parent_index": 5045 }, "implemented": true, "statements": [ { - "id": 5050, + "id": 5051, "node_type": 24, "kind": 24, "src": { @@ -97868,7 +99108,7 @@ "start": 83896, "end": 83952, "length": 57, - "parent_index": 5049 + "parent_index": 5050 }, "argument_types": [ { @@ -97886,7 +99126,7 @@ ], "arguments": [ { - "id": 5053, + "id": 5054, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -97898,7 +99138,7 @@ "start": 83919, "end": 83928, "length": 10, - "parent_index": 5050 + "parent_index": 5051 }, "member_location": { "line": 2331, @@ -97906,10 +99146,10 @@ "start": 83923, "end": 83928, "length": 6, - "parent_index": 5053 + "parent_index": 5054 }, "expression": { - "id": 5054, + "id": 5055, "node_type": 16, "src": { "line": 2331, @@ -97917,7 +99157,7 @@ "start": 83919, "end": 83921, "length": 3, - "parent_index": 5053 + "parent_index": 5054 }, "name": "msg", "type_description": { @@ -97926,17 +99166,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 5055, + "id": 5056, "node_type": 24, "kind": 24, "src": { @@ -97945,17 +99187,17 @@ "start": 83931, "end": 83943, "length": 13, - "parent_index": 5050 + "parent_index": 5051 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" } ], "arguments": [ { - "id": 5058, + "id": 5059, "node_type": 16, "src": { "line": 2331, @@ -97963,20 +99205,21 @@ "start": 83939, "end": 83942, "length": 4, - "parent_index": 5055 + "parent_index": 5056 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 5056, + "id": 5057, "node_type": 16, "src": { "line": 2331, @@ -97984,11 +99227,11 @@ "start": 83931, "end": 83937, "length": 7, - "parent_index": 5055 + "parent_index": 5056 }, "name": "address", "type_name": { - "id": 5057, + "id": 5058, "node_type": 30, "src": { "line": 2331, @@ -97996,7 +99239,7 @@ "start": 83931, "end": 83937, "length": 7, - "parent_index": 5056 + "parent_index": 5057 }, "name": "address", "state_mutability": 4, @@ -98018,7 +99261,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -98026,7 +99270,7 @@ } }, { - "id": 5059, + "id": 5060, "node_type": 16, "src": { "line": 2331, @@ -98034,7 +99278,7 @@ "start": 83946, "end": 83951, "length": 6, - "parent_index": 5050 + "parent_index": 5051 }, "name": "amount", "type_description": { @@ -98042,7 +99286,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5059, + "referenced_declaration": 5060, "is_pure": false, "argument_types": [ { @@ -98053,11 +99297,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "amount" } ], "expression": { - "id": 5051, + "id": 5052, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -98069,7 +99314,7 @@ "start": 83896, "end": 83917, "length": 22, - "parent_index": 5050 + "parent_index": 5051 }, "member_location": { "line": 2331, @@ -98077,10 +99322,10 @@ "start": 83902, "end": 83917, "length": 16, - "parent_index": 5051 + "parent_index": 5052 }, "expression": { - "id": 5052, + "id": 5053, "node_type": 16, "src": { "line": 2331, @@ -98088,23 +99333,25 @@ "start": 83896, "end": 83900, "length": 5, - "parent_index": 5051 + "parent_index": 5052 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -98112,7 +99359,7 @@ } }, { - "id": 5060, + "id": 5061, "node_type": 24, "kind": 24, "src": { @@ -98121,7 +99368,7 @@ "start": 83963, "end": 83982, "length": 20, - "parent_index": 5049 + "parent_index": 5050 }, "argument_types": [ { @@ -98131,7 +99378,7 @@ ], "arguments": [ { - "id": 5062, + "id": 5063, "node_type": 16, "src": { "line": 2332, @@ -98139,7 +99386,7 @@ "start": 83976, "end": 83981, "length": 6, - "parent_index": 5060 + "parent_index": 5061 }, "name": "amount", "type_description": { @@ -98147,12 +99394,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5062, - "is_pure": false + "referenced_declaration": 5063, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 5061, + "id": 5062, "node_type": 16, "src": { "line": 2332, @@ -98160,7 +99408,7 @@ "start": 83963, "end": 83974, "length": 12, - "parent_index": 5060 + "parent_index": 5061 }, "name": "_afterInvest", "type_description": { @@ -98169,7 +99417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterInvest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -98185,7 +99434,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5045, + "id": 5046, "node_type": 43, "src": { "line": 2330, @@ -98193,11 +99442,11 @@ "start": 83861, "end": 83874, "length": 14, - "parent_index": 5044 + "parent_index": 5045 }, "parameters": [ { - "id": 5046, + "id": 5047, "node_type": 44, "src": { "line": 2330, @@ -98205,12 +99454,12 @@ "start": 83861, "end": 83874, "length": 14, - "parent_index": 5045 + "parent_index": 5046 }, - "scope": 5044, + "scope": 5045, "name": "amount", "type_name": { - "id": 5047, + "id": 5048, "node_type": 30, "src": { "line": 2330, @@ -98218,7 +99467,7 @@ "start": 83861, "end": 83867, "length": 7, - "parent_index": 5046 + "parent_index": 5047 }, "name": "uint256", "referenced_declaration": 0, @@ -98244,7 +99493,7 @@ ] }, "return_parameters": { - "id": 5048, + "id": 5049, "node_type": 43, "src": { "line": 2330, @@ -98252,21 +99501,22 @@ "start": 83845, "end": 83989, "length": 145, - "parent_index": 5044 + "parent_index": 5045 }, "parameters": [], "parameter_types": [] }, "signature_raw": "invest(uint256)", "signature": "2afcf480", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functioninvest(uint256amount)external{asset.safeTransferFrom(msg.sender,address(this),amount);_afterInvest(amount);}" }, { - "id": 5064, + "id": 5065, "name": "_afterInvest", "node_type": 42, "kind": 41, @@ -98276,7 +99526,7 @@ "start": 84335, "end": 84391, "length": 57, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2339, @@ -98284,10 +99534,10 @@ "start": 84344, "end": 84355, "length": 12, - "parent_index": 5064 + "parent_index": 5065 }, "body": { - "id": 5069, + "id": 5070, "node_type": 46, "kind": 0, "src": { @@ -98296,7 +99546,7 @@ "start": 84390, "end": 84391, "length": 2, - "parent_index": 5064 + "parent_index": 5065 }, "implemented": true, "statements": [] @@ -98308,7 +99558,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5065, + "id": 5066, "node_type": 43, "src": { "line": 2339, @@ -98316,11 +99566,11 @@ "start": 84357, "end": 84370, "length": 14, - "parent_index": 5064 + "parent_index": 5065 }, "parameters": [ { - "id": 5066, + "id": 5067, "node_type": 44, "src": { "line": 2339, @@ -98328,12 +99578,12 @@ "start": 84357, "end": 84370, "length": 14, - "parent_index": 5065 + "parent_index": 5066 }, - "scope": 5064, + "scope": 5065, "name": "amount", "type_name": { - "id": 5067, + "id": 5068, "node_type": 30, "src": { "line": 2339, @@ -98341,7 +99591,7 @@ "start": 84357, "end": 84363, "length": 7, - "parent_index": 5066 + "parent_index": 5067 }, "name": "uint256", "referenced_declaration": 0, @@ -98367,7 +99617,7 @@ ] }, "return_parameters": { - "id": 5068, + "id": 5069, "node_type": 43, "src": { "line": 2339, @@ -98375,21 +99625,22 @@ "start": 84335, "end": 84391, "length": 57, - "parent_index": 5064 + "parent_index": 5065 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_afterInvest(uint256)", "signature": "d0fae237", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_afterInvest(uint256amount)internalvirtual{}" }, { - "id": 5071, + "id": 5072, "name": "divest", "node_type": 42, "kind": 41, @@ -98399,7 +99650,7 @@ "start": 84574, "end": 84681, "length": 108, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2344, @@ -98407,10 +99658,10 @@ "start": 84583, "end": 84588, "length": 6, - "parent_index": 5071 + "parent_index": 5072 }, "body": { - "id": 5080, + "id": 5081, "node_type": 46, "kind": 0, "src": { @@ -98419,12 +99670,12 @@ "start": 84643, "end": 84681, "length": 39, - "parent_index": 5071 + "parent_index": 5072 }, "implemented": true, "statements": [ { - "id": 5081, + "id": 5082, "node_type": 47, "src": { "line": 2345, @@ -98432,11 +99683,11 @@ "start": 84653, "end": 84675, "length": 23, - "parent_index": 5071 + "parent_index": 5072 }, - "function_return_parameters": 5071, + "function_return_parameters": 5072, "expression": { - "id": 5082, + "id": 5083, "node_type": 24, "kind": 24, "src": { @@ -98445,7 +99696,7 @@ "start": 84660, "end": 84674, "length": 15, - "parent_index": 5081 + "parent_index": 5082 }, "argument_types": [ { @@ -98455,7 +99706,7 @@ ], "arguments": [ { - "id": 5084, + "id": 5085, "node_type": 16, "src": { "line": 2345, @@ -98463,7 +99714,7 @@ "start": 84668, "end": 84673, "length": 6, - "parent_index": 5082 + "parent_index": 5083 }, "name": "amount", "type_description": { @@ -98471,12 +99722,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5084, - "is_pure": false + "referenced_declaration": 5085, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 5083, + "id": 5084, "node_type": 16, "src": { "line": 2345, @@ -98484,7 +99736,7 @@ "start": 84660, "end": 84666, "length": 7, - "parent_index": 5082 + "parent_index": 5083 }, "name": "_divest", "type_description": { @@ -98493,7 +99745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_divest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -98509,7 +99762,7 @@ "virtual": false, "modifiers": [ { - "id": 5075, + "id": 5076, "name": "onlyVault", "node_type": 72, "kind": 72, @@ -98519,12 +99772,12 @@ "start": 84615, "end": 84623, "length": 9, - "parent_index": 5071 + "parent_index": 5072 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5076, + "id": 5077, "name": "onlyVault", "node_type": 0, "src": { @@ -98533,14 +99786,14 @@ "start": 84615, "end": 84623, "length": 9, - "parent_index": 5075 + "parent_index": 5076 } } } ], "overrides": [], "parameters": { - "id": 5072, + "id": 5073, "node_type": 43, "src": { "line": 2344, @@ -98548,11 +99801,11 @@ "start": 84590, "end": 84603, "length": 14, - "parent_index": 5071 + "parent_index": 5072 }, "parameters": [ { - "id": 5073, + "id": 5074, "node_type": 44, "src": { "line": 2344, @@ -98560,12 +99813,12 @@ "start": 84590, "end": 84603, "length": 14, - "parent_index": 5072 + "parent_index": 5073 }, - "scope": 5071, + "scope": 5072, "name": "amount", "type_name": { - "id": 5074, + "id": 5075, "node_type": 30, "src": { "line": 2344, @@ -98573,7 +99826,7 @@ "start": 84590, "end": 84596, "length": 7, - "parent_index": 5073 + "parent_index": 5074 }, "name": "uint256", "referenced_declaration": 0, @@ -98599,7 +99852,7 @@ ] }, "return_parameters": { - "id": 5077, + "id": 5078, "node_type": 43, "src": { "line": 2344, @@ -98607,11 +99860,11 @@ "start": 84634, "end": 84640, "length": 7, - "parent_index": 5071 + "parent_index": 5072 }, "parameters": [ { - "id": 5078, + "id": 5079, "node_type": 44, "src": { "line": 2344, @@ -98619,12 +99872,12 @@ "start": 84634, "end": 84640, "length": 7, - "parent_index": 5077 + "parent_index": 5078 }, - "scope": 5071, + "scope": 5072, "name": "", "type_name": { - "id": 5079, + "id": 5080, "node_type": 30, "src": { "line": 2344, @@ -98632,7 +99885,7 @@ "start": 84634, "end": 84640, "length": 7, - "parent_index": 5078 + "parent_index": 5079 }, "name": "uint256", "referenced_declaration": 0, @@ -98659,14 +99912,15 @@ }, "signature_raw": "divest(uint256)", "signature": "8ca17995", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondivest(uint256amount)externalonlyVaultreturns(uint256){return_divest(amount);}" }, { - "id": 5086, + "id": 5087, "name": "_divest", "node_type": 42, "kind": 41, @@ -98676,7 +99930,7 @@ "start": 84782, "end": 84851, "length": 70, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2349, @@ -98684,10 +99938,10 @@ "start": 84791, "end": 84797, "length": 7, - "parent_index": 5086 + "parent_index": 5087 }, "body": { - "id": 5093, + "id": 5094, "node_type": 46, "kind": 0, "src": { @@ -98696,7 +99950,7 @@ "start": 84850, "end": 84851, "length": 2, - "parent_index": 5086 + "parent_index": 5087 }, "implemented": true, "statements": [] @@ -98708,7 +99962,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5087, + "id": 5088, "node_type": 43, "src": { "line": 2349, @@ -98716,11 +99970,11 @@ "start": 84799, "end": 84812, "length": 14, - "parent_index": 5086 + "parent_index": 5087 }, "parameters": [ { - "id": 5088, + "id": 5089, "node_type": 44, "src": { "line": 2349, @@ -98728,12 +99982,12 @@ "start": 84799, "end": 84812, "length": 14, - "parent_index": 5087 + "parent_index": 5088 }, - "scope": 5086, + "scope": 5087, "name": "amount", "type_name": { - "id": 5089, + "id": 5090, "node_type": 30, "src": { "line": 2349, @@ -98741,7 +99995,7 @@ "start": 84799, "end": 84805, "length": 7, - "parent_index": 5088 + "parent_index": 5089 }, "name": "uint256", "referenced_declaration": 0, @@ -98767,7 +100021,7 @@ ] }, "return_parameters": { - "id": 5090, + "id": 5091, "node_type": 43, "src": { "line": 2349, @@ -98775,11 +100029,11 @@ "start": 84841, "end": 84847, "length": 7, - "parent_index": 5086 + "parent_index": 5087 }, "parameters": [ { - "id": 5091, + "id": 5092, "node_type": 44, "src": { "line": 2349, @@ -98787,12 +100041,12 @@ "start": 84841, "end": 84847, "length": 7, - "parent_index": 5090 + "parent_index": 5091 }, - "scope": 5086, + "scope": 5087, "name": "", "type_name": { - "id": 5092, + "id": 5093, "node_type": 30, "src": { "line": 2349, @@ -98800,7 +100054,7 @@ "start": 84841, "end": 84847, "length": 7, - "parent_index": 5091 + "parent_index": 5092 }, "name": "uint256", "referenced_declaration": 0, @@ -98827,14 +100081,15 @@ }, "signature_raw": "_divest(uint256)", "signature": "4a1b8f2d", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_divest(uint256amount)internalvirtualreturns(uint256){}" }, { - "id": 5095, + "id": 5096, "name": "totalLockedValue", "node_type": 42, "kind": 41, @@ -98844,7 +100099,7 @@ "start": 85058, "end": 85120, "length": 63, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2354, @@ -98852,10 +100107,10 @@ "start": 85067, "end": 85082, "length": 16, - "parent_index": 5095 + "parent_index": 5096 }, "body": { - "id": 5102, + "id": 5103, "node_type": 46, "kind": 0, "src": { @@ -98864,7 +100119,7 @@ "start": 85058, "end": 85120, "length": 63, - "parent_index": 5095 + "parent_index": 5096 }, "implemented": false, "statements": [] @@ -98876,7 +100131,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5096, + "id": 5097, "node_type": 43, "src": { "line": 2354, @@ -98884,11 +100139,11 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5095 + "parent_index": 5096 }, "parameters": [ { - "id": 5097, + "id": 5098, "node_type": 44, "src": { "line": 2354, @@ -98896,12 +100151,12 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5096 + "parent_index": 5097 }, - "scope": 5095, + "scope": 5096, "name": "", "type_name": { - "id": 5098, + "id": 5099, "node_type": 30, "src": { "line": 2354, @@ -98909,7 +100164,7 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5097 + "parent_index": 5098 }, "name": "uint256", "referenced_declaration": 0, @@ -98935,7 +100190,7 @@ ] }, "return_parameters": { - "id": 5099, + "id": 5100, "node_type": 43, "src": { "line": 2354, @@ -98943,11 +100198,11 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5095 + "parent_index": 5096 }, "parameters": [ { - "id": 5100, + "id": 5101, "node_type": 44, "src": { "line": 2354, @@ -98955,12 +100210,12 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5099 + "parent_index": 5100 }, - "scope": 5095, + "scope": 5096, "name": "", "type_name": { - "id": 5101, + "id": 5102, "node_type": 30, "src": { "line": 2354, @@ -98968,7 +100223,7 @@ "start": 85112, "end": 85118, "length": 7, - "parent_index": 5100 + "parent_index": 5101 }, "name": "uint256", "referenced_declaration": 0, @@ -98995,14 +100250,15 @@ }, "signature_raw": "totalLockedValue(uint256)", "signature": "6c261411", - "scope": 4961, + "scope": 4962, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalLockedValue()externalvirtualreturns(uint256);" }, { - "id": 5104, + "id": 5105, "name": "sweep", "node_type": 42, "kind": 41, @@ -99012,7 +100268,7 @@ "start": 85127, "end": 85265, "length": 139, - "parent_index": 4961 + "parent_index": 4962 }, "name_location": { "line": 2356, @@ -99020,10 +100276,10 @@ "start": 85136, "end": 85140, "length": 5, - "parent_index": 5104 + "parent_index": 5105 }, "body": { - "id": 5112, + "id": 5113, "node_type": 46, "kind": 0, "src": { @@ -99032,12 +100288,12 @@ "start": 85179, "end": 85265, "length": 87, - "parent_index": 5104 + "parent_index": 5105 }, "implemented": true, "statements": [ { - "id": 5113, + "id": 5114, "node_type": 24, "kind": 24, "src": { @@ -99046,7 +100302,7 @@ "start": 85189, "end": 85258, "length": 70, - "parent_index": 5112 + "parent_index": 5113 }, "argument_types": [ { @@ -99060,7 +100316,7 @@ ], "arguments": [ { - "id": 5116, + "id": 5117, "node_type": 24, "kind": 24, "src": { @@ -99069,12 +100325,12 @@ "start": 85208, "end": 85225, "length": 18, - "parent_index": 5113 + "parent_index": 5114 }, "argument_types": [], "arguments": [], "expression": { - "id": 5117, + "id": 5118, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -99086,7 +100342,7 @@ "start": 85208, "end": 85223, "length": 16, - "parent_index": 5116 + "parent_index": 5117 }, "member_location": { "line": 2357, @@ -99094,10 +100350,10 @@ "start": 85214, "end": 85223, "length": 10, - "parent_index": 5117 + "parent_index": 5118 }, "expression": { - "id": 5118, + "id": 5119, "node_type": 16, "src": { "line": 2357, @@ -99105,24 +100361,26 @@ "start": 85208, "end": 85212, "length": 5, - "parent_index": 5117 + "parent_index": 5118 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 7864, - "is_pure": false + "referenced_declaration": 7867, + "is_pure": false, + "text": "vault" }, "member_name": "governance", "argument_types": [], - "referenced_declaration": 4884, + "referenced_declaration": 4885, "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "vault.governance" }, "type_description": { "type_identifier": "t_function_$", @@ -99130,7 +100388,7 @@ } }, { - "id": 5119, + "id": 5120, "node_type": 24, "kind": 24, "src": { @@ -99139,7 +100397,7 @@ "start": 85228, "end": 85257, "length": 30, - "parent_index": 5113 + "parent_index": 5114 }, "argument_types": [ { @@ -99149,7 +100407,7 @@ ], "arguments": [ { - "id": 5122, + "id": 5123, "node_type": 24, "kind": 24, "src": { @@ -99158,17 +100416,17 @@ "start": 85244, "end": 85256, "length": 13, - "parent_index": 5119 + "parent_index": 5120 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" } ], "arguments": [ { - "id": 5125, + "id": 5126, "node_type": 16, "src": { "line": 2357, @@ -99176,20 +100434,21 @@ "start": 85252, "end": 85255, "length": 4, - "parent_index": 5122 + "parent_index": 5123 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseStrategy_$4905", + "type_identifier": "t_contract$_BaseStrategy_$4906", "type_string": "contract BaseStrategy" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 5123, + "id": 5124, "node_type": 16, "src": { "line": 2357, @@ -99197,11 +100456,11 @@ "start": 85244, "end": 85250, "length": 7, - "parent_index": 5122 + "parent_index": 5123 }, "name": "address", "type_name": { - "id": 5124, + "id": 5125, "node_type": 30, "src": { "line": 2357, @@ -99209,7 +100468,7 @@ "start": 85244, "end": 85250, "length": 7, - "parent_index": 5123 + "parent_index": 5124 }, "name": "address", "state_mutability": 4, @@ -99231,7 +100490,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -99240,7 +100500,7 @@ } ], "expression": { - "id": 5120, + "id": 5121, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -99252,7 +100512,7 @@ "start": 85228, "end": 85242, "length": 15, - "parent_index": 5119 + "parent_index": 5120 }, "member_location": { "line": 2357, @@ -99260,10 +100520,10 @@ "start": 85234, "end": 85242, "length": 9, - "parent_index": 5120 + "parent_index": 5121 }, "expression": { - "id": 5121, + "id": 5122, "node_type": 16, "src": { "line": 2357, @@ -99271,23 +100531,25 @@ "start": 85228, "end": 85232, "length": 5, - "parent_index": 5120 + "parent_index": 5121 }, "name": "token", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5121, - "is_pure": false + "referenced_declaration": 5122, + "is_pure": false, + "text": "token" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "token.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -99296,7 +100558,7 @@ } ], "expression": { - "id": 5114, + "id": 5115, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -99308,7 +100570,7 @@ "start": 85189, "end": 85206, "length": 18, - "parent_index": 5113 + "parent_index": 5114 }, "member_location": { "line": 2357, @@ -99316,10 +100578,10 @@ "start": 85195, "end": 85206, "length": 12, - "parent_index": 5114 + "parent_index": 5115 }, "expression": { - "id": 5115, + "id": 5116, "node_type": 16, "src": { "line": 2357, @@ -99327,23 +100589,25 @@ "start": 85189, "end": 85193, "length": 5, - "parent_index": 5114 + "parent_index": 5115 }, "name": "token", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5115, - "is_pure": false + "referenced_declaration": 5116, + "is_pure": false, + "text": "token" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "token.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_address$", @@ -99358,7 +100622,7 @@ "virtual": false, "modifiers": [ { - "id": 5109, + "id": 5110, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -99368,12 +100632,12 @@ "start": 85164, "end": 85177, "length": 14, - "parent_index": 5104 + "parent_index": 5105 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5110, + "id": 5111, "name": "onlyGovernance", "node_type": 0, "src": { @@ -99382,14 +100646,14 @@ "start": 85164, "end": 85177, "length": 14, - "parent_index": 5109 + "parent_index": 5110 } } } ], "overrides": [], "parameters": { - "id": 5105, + "id": 5106, "node_type": 43, "src": { "line": 2356, @@ -99397,11 +100661,11 @@ "start": 85142, "end": 85152, "length": 11, - "parent_index": 5104 + "parent_index": 5105 }, "parameters": [ { - "id": 5106, + "id": 5107, "node_type": 44, "src": { "line": 2356, @@ -99409,12 +100673,12 @@ "start": 85142, "end": 85152, "length": 11, - "parent_index": 5105 + "parent_index": 5106 }, - "scope": 5104, + "scope": 5105, "name": "token", "type_name": { - "id": 5107, + "id": 5108, "node_type": 69, "src": { "line": 2356, @@ -99422,20 +100686,20 @@ "start": 85142, "end": 85146, "length": 5, - "parent_index": 5106 + "parent_index": 5107 }, "path_node": { - "id": 5108, + "id": 5109, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2356, "column": 19, "start": 85142, "end": 85146, "length": 5, - "parent_index": 5107 + "parent_index": 5108 }, "name_location": { "line": 2356, @@ -99443,12 +100707,12 @@ "start": 85142, "end": 85146, "length": 5, - "parent_index": 5107 + "parent_index": 5108 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -99456,20 +100720,20 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } } ], "parameter_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } ] }, "return_parameters": { - "id": 5111, + "id": 5112, "node_type": 43, "src": { "line": 2356, @@ -99477,33 +100741,34 @@ "start": 85127, "end": 85265, "length": 139, - "parent_index": 5104 + "parent_index": 5105 }, "parameters": [], "parameter_types": [] }, "signature_raw": "sweep()", "signature": "35faa416", - "scope": 4961, + "scope": 4962, "type_description": { - "type_identifier": "t_function_$_t_contract$_ERC20_$4060$", + "type_identifier": "t_function_$_t_contract$_ERC20_$4061$", "type_string": "function(contract ERC20)" - } + }, + "text": "functionsweep(ERC20token)externalonlyGovernance{token.safeTransfer(vault.governance(),token.balanceOf(address(this)));}" } ], "linearized_base_contracts": [ - 4961, - 4957, + 4962, 4958, 4959, - 4960 + 4960, + 4961 ], "base_contracts": [], "contract_dependencies": [ - 4957, 4958, 4959, - 4960 + 4960, + 4961 ] } ], @@ -99517,10 +100782,10 @@ } }, { - "id": 5126, + "id": 5127, "base_contracts": [ { - "id": 5194, + "id": 5195, "node_type": 62, "src": { "line": 2384, @@ -99528,10 +100793,10 @@ "start": 86124, "end": 86147, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5195, + "id": 5196, "node_type": 52, "src": { "line": 2384, @@ -99539,14 +100804,14 @@ "start": 86124, "end": 86147, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, "name": "AccessControlUpgradeable", "referenced_declaration": 2490 } }, { - "id": 5196, + "id": 5197, "node_type": 62, "src": { "line": 2384, @@ -99554,10 +100819,10 @@ "start": 86150, "end": 86165, "length": 16, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5197, + "id": 5198, "node_type": 52, "src": { "line": 2384, @@ -99565,14 +100830,14 @@ "start": 86150, "end": 86165, "length": 16, - "parent_index": 5193 + "parent_index": 5194 }, "name": "AffineGovernable", - "referenced_declaration": 4831 + "referenced_declaration": 4832 } }, { - "id": 5198, + "id": 5199, "node_type": 62, "src": { "line": 2384, @@ -99580,10 +100845,10 @@ "start": 86168, "end": 86180, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5199, + "id": 5200, "node_type": 52, "src": { "line": 2384, @@ -99591,67 +100856,67 @@ "start": 86168, "end": 86180, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, "name": "Multicallable", - "referenced_declaration": 3820 + "referenced_declaration": 3821 } } ], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 5126, + "id": 5127, "name": "BaseVault", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseVault.sol" }, { - "id": 4905, + "id": 4906, "name": "AccessControlUpgradeable", "absolute_path": "AccessControlUpgradeable.sol" }, { - "id": 4905, + "id": 4906, "name": "Math", "absolute_path": "Math.sol" }, { - "id": 4905, + "id": 4906, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 4905, + "id": 4906, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 4905, + "id": 4906, "name": "Multicallable", "absolute_path": "Multicallable.sol" }, { - "id": 4905, + "id": 4906, "name": "BaseStrategy", "absolute_path": "BaseStrategy.sol" }, { - "id": 4905, + "id": 4906, "name": "AffineGovernable", "absolute_path": "AffineGovernable.sol" }, { - "id": 4905, + "id": 4906, "name": "BridgeEscrow", "absolute_path": "BridgeEscrow.sol" }, { - "id": 4905, + "id": 4906, "name": "WormholeRouter", "absolute_path": "WormholeRouter.sol" }, { - "id": 4905, + "id": 4906, "name": "Unchecked", "absolute_path": "Unchecked.sol" } @@ -99661,7 +100926,7 @@ "node_type": 1, "nodes": [ { - "id": 5149, + "id": 5150, "node_type": 10, "src": { "line": 2363, @@ -99669,7 +100934,7 @@ "start": 85308, "end": 85331, "length": 24, - "parent_index": 5126 + "parent_index": 5127 }, "literals": [ "pragma", @@ -99685,7 +100950,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 5183, + "id": 5184, "node_type": 29, "src": { "line": 2365, @@ -99693,18 +100958,18 @@ "start": 85334, "end": 85405, "length": 72, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "AccessControlUpgradeable.sol", "file": "./AccessControlUpgradeable.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5184, + "id": 5185, "node_type": 29, "src": { "line": 2366, @@ -99712,18 +100977,18 @@ "start": 85407, "end": 85438, "length": 32, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "Math.sol", "file": "./Math.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5185, + "id": 5186, "node_type": 29, "src": { "line": 2368, @@ -99731,18 +100996,18 @@ "start": 85441, "end": 85474, "length": 34, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5186, + "id": 5187, "node_type": 29, "src": { "line": 2369, @@ -99750,18 +101015,18 @@ "start": 85476, "end": 85529, "length": 54, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5187, + "id": 5188, "node_type": 29, "src": { "line": 2371, @@ -99769,18 +101034,18 @@ "start": 85532, "end": 85581, "length": 50, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "Multicallable.sol", "file": "./Multicallable.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5188, + "id": 5189, "node_type": 29, "src": { "line": 2373, @@ -99788,20 +101053,20 @@ "start": 85584, "end": 85643, "length": 60, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "BaseStrategy.sol", "file": "./BaseStrategy.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [ "Strategy" ], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5189, + "id": 5190, "node_type": 29, "src": { "line": 2374, @@ -99809,18 +101074,18 @@ "start": 85645, "end": 85700, "length": 56, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "AffineGovernable.sol", "file": "./AffineGovernable.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5190, + "id": 5191, "node_type": 29, "src": { "line": 2375, @@ -99828,18 +101093,18 @@ "start": 85702, "end": 85749, "length": 48, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "BridgeEscrow.sol", "file": "./BridgeEscrow.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5191, + "id": 5192, "node_type": 29, "src": { "line": 2376, @@ -99847,18 +101112,18 @@ "start": 85751, "end": 85802, "length": 52, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "WormholeRouter.sol", "file": "./WormholeRouter.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5192, + "id": 5193, "node_type": 29, "src": { "line": 2377, @@ -99866,18 +101131,18 @@ "start": 85804, "end": 85848, "length": 45, - "parent_index": 5126 + "parent_index": 5127 }, "absolute_path": "Unchecked.sol", "file": "./Unchecked.sol", - "scope": 5126, + "scope": 5127, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4905 + "source_unit": 4906 }, { - "id": 5193, + "id": 5194, "name": "BaseVault", "node_type": 35, "src": { @@ -99886,7 +101151,7 @@ "start": 86093, "end": 108741, "length": 22649, - "parent_index": 5126 + "parent_index": 5127 }, "name_location": { "line": 2384, @@ -99894,14 +101159,14 @@ "start": 86111, "end": 86119, "length": 9, - "parent_index": 5193 + "parent_index": 5194 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 5201, + "id": 5202, "node_type": 51, "src": { "line": 2385, @@ -99909,14 +101174,14 @@ "start": 86188, "end": 86219, "length": 32, - "parent_index": 5193 + "parent_index": 5194 }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "type_name": { - "id": 5203, + "id": 5204, "node_type": 69, "src": { "line": 2385, @@ -99924,20 +101189,20 @@ "start": 86214, "end": 86218, "length": 5, - "parent_index": 5201 + "parent_index": 5202 }, "path_node": { - "id": 5204, + "id": 5205, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2385, "column": 30, "start": 86214, "end": 86218, "length": 5, - "parent_index": 5203 + "parent_index": 5204 }, "name_location": { "line": 2385, @@ -99945,17 +101210,17 @@ "start": 86214, "end": 86218, "length": 5, - "parent_index": 5203 + "parent_index": 5204 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "library_name": { - "id": 5202, + "id": 5203, "node_type": 52, "src": { "line": 2385, @@ -99963,14 +101228,14 @@ "start": 86194, "end": 86208, "length": 15, - "parent_index": 5201 + "parent_index": 5202 }, "name": "SafeTransferLib", - "referenced_declaration": 4499 + "referenced_declaration": 4500 } }, { - "id": 5206, + "id": 5207, "name": "_asset", "is_constant": false, "is_state_variable": true, @@ -99981,18 +101246,18 @@ "start": 86409, "end": 86421, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 5207, + "id": 5208, "node_type": 69, "src": { "line": 2391, @@ -100000,20 +101265,20 @@ "start": 86409, "end": 86413, "length": 5, - "parent_index": 5206 + "parent_index": 5207 }, "path_node": { - "id": 5208, + "id": 5209, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2391, "column": 4, "start": 86409, "end": 86413, "length": 5, - "parent_index": 5207 + "parent_index": 5208 }, "name_location": { "line": 2391, @@ -100021,19 +101286,19 @@ "start": 86409, "end": 86413, "length": 5, - "parent_index": 5207 + "parent_index": 5208 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "initial_value": null }, { - "id": 5210, + "id": 5211, "name": "asset", "node_type": 42, "kind": 41, @@ -100043,7 +101308,7 @@ "start": 86514, "end": 86607, "length": 94, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2394, @@ -100051,10 +101316,10 @@ "start": 86523, "end": 86527, "length": 5, - "parent_index": 5210 + "parent_index": 5211 }, "body": { - "id": 5217, + "id": 5218, "node_type": 46, "kind": 0, "src": { @@ -100063,12 +101328,12 @@ "start": 86569, "end": 86607, "length": 39, - "parent_index": 5210 + "parent_index": 5211 }, "implemented": true, "statements": [ { - "id": 5218, + "id": 5219, "node_type": 47, "src": { "line": 2395, @@ -100076,11 +101341,11 @@ "start": 86579, "end": 86601, "length": 23, - "parent_index": 5210 + "parent_index": 5211 }, - "function_return_parameters": 5210, + "function_return_parameters": 5211, "expression": { - "id": 5219, + "id": 5220, "node_type": 24, "kind": 24, "src": { @@ -100089,7 +101354,7 @@ "start": 86586, "end": 86600, "length": 15, - "parent_index": 5218 + "parent_index": 5219 }, "argument_types": [ { @@ -100099,7 +101364,7 @@ ], "arguments": [ { - "id": 5222, + "id": 5223, "node_type": 16, "src": { "line": 2395, @@ -100107,7 +101372,7 @@ "start": 86594, "end": 86599, "length": 6, - "parent_index": 5219 + "parent_index": 5220 }, "name": "_asset", "type_description": { @@ -100116,11 +101381,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_asset" } ], "expression": { - "id": 5220, + "id": 5221, "node_type": 16, "src": { "line": 2395, @@ -100128,11 +101394,11 @@ "start": 86586, "end": 86592, "length": 7, - "parent_index": 5219 + "parent_index": 5220 }, "name": "address", "type_name": { - "id": 5221, + "id": 5222, "node_type": 30, "src": { "line": 2395, @@ -100140,7 +101406,7 @@ "start": 86586, "end": 86592, "length": 7, - "parent_index": 5220 + "parent_index": 5221 }, "name": "address", "state_mutability": 4, @@ -100162,7 +101428,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -100179,7 +101446,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5211, + "id": 5212, "node_type": 43, "src": { "line": 2394, @@ -100187,11 +101454,11 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5210 + "parent_index": 5211 }, "parameters": [ { - "id": 5212, + "id": 5213, "node_type": 44, "src": { "line": 2394, @@ -100199,12 +101466,12 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5211 + "parent_index": 5212 }, - "scope": 5210, + "scope": 5211, "name": "", "type_name": { - "id": 5213, + "id": 5214, "node_type": 30, "src": { "line": 2394, @@ -100212,7 +101479,7 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5212 + "parent_index": 5213 }, "name": "address", "state_mutability": 4, @@ -100239,7 +101506,7 @@ ] }, "return_parameters": { - "id": 5214, + "id": 5215, "node_type": 43, "src": { "line": 2394, @@ -100247,11 +101514,11 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5210 + "parent_index": 5211 }, "parameters": [ { - "id": 5215, + "id": 5216, "node_type": 44, "src": { "line": 2394, @@ -100259,12 +101526,12 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5214 + "parent_index": 5215 }, - "scope": 5210, + "scope": 5211, "name": "", "type_name": { - "id": 5216, + "id": 5217, "node_type": 30, "src": { "line": 2394, @@ -100272,7 +101539,7 @@ "start": 86560, "end": 86566, "length": 7, - "parent_index": 5215 + "parent_index": 5216 }, "name": "address", "state_mutability": 4, @@ -100300,14 +101567,15 @@ }, "signature_raw": "asset(address)", "signature": "9c4667a2", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionasset()publicviewvirtualreturns(address){returnaddress(_asset);}" }, { - "id": 5224, + "id": 5225, "name": "baseInitialize", "node_type": 42, "kind": 41, @@ -100317,7 +101585,7 @@ "start": 86894, "end": 87444, "length": 551, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2405, @@ -100325,10 +101593,10 @@ "start": 86903, "end": 86916, "length": 14, - "parent_index": 5224 + "parent_index": 5225 }, "body": { - "id": 5237, + "id": 5238, "node_type": 46, "kind": 0, "src": { @@ -100337,12 +101605,12 @@ "start": 87047, "end": 87444, "length": 398, - "parent_index": 5224 + "parent_index": 5225 }, "implemented": true, "statements": [ { - "id": 5238, + "id": 5239, "node_type": 27, "src": { "line": 2409, @@ -100350,10 +101618,10 @@ "start": 87057, "end": 87081, "length": 25, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5239, + "id": 5240, "node_type": 27, "src": { "line": 2409, @@ -100361,11 +101629,11 @@ "start": 87057, "end": 87080, "length": 24, - "parent_index": 5238 + "parent_index": 5239 }, "operator": 11, "left_expression": { - "id": 5240, + "id": 5241, "node_type": 16, "src": { "line": 2409, @@ -100373,7 +101641,7 @@ "start": 87057, "end": 87066, "length": 10, - "parent_index": 5239 + "parent_index": 5240 }, "name": "governance", "type_description": { @@ -100381,11 +101649,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "right_expression": { - "id": 5241, + "id": 5242, "node_type": 16, "src": { "line": 2409, @@ -100393,7 +101662,7 @@ "start": 87070, "end": 87080, "length": 11, - "parent_index": 5239 + "parent_index": 5240 }, "name": "_governance", "type_description": { @@ -100401,8 +101670,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5241, - "is_pure": false + "referenced_declaration": 5242, + "is_pure": false, + "text": "_governance" }, "type_description": { "type_identifier": "t_address", @@ -100412,10 +101682,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "governance=_governance;" }, { - "id": 5242, + "id": 5243, "node_type": 27, "src": { "line": 2410, @@ -100423,10 +101694,10 @@ "start": 87091, "end": 87110, "length": 20, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5243, + "id": 5244, "node_type": 27, "src": { "line": 2410, @@ -100434,11 +101705,11 @@ "start": 87091, "end": 87109, "length": 19, - "parent_index": 5242 + "parent_index": 5243 }, "operator": 11, "left_expression": { - "id": 5244, + "id": 5245, "node_type": 16, "src": { "line": 2410, @@ -100446,19 +101717,20 @@ "start": 87091, "end": 87096, "length": 6, - "parent_index": 5243 + "parent_index": 5244 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "right_expression": { - "id": 5245, + "id": 5246, "node_type": 16, "src": { "line": 2410, @@ -100466,29 +101738,31 @@ "start": 87100, "end": 87109, "length": 10, - "parent_index": 5243 + "parent_index": 5244 }, "name": "vaultAsset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5245, - "is_pure": false + "referenced_declaration": 5246, + "is_pure": false, + "text": "vaultAsset" }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset=vaultAsset;" }, { - "id": 5246, + "id": 5247, "node_type": 27, "src": { "line": 2411, @@ -100496,10 +101770,10 @@ "start": 87120, "end": 87152, "length": 33, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5247, + "id": 5248, "node_type": 27, "src": { "line": 2411, @@ -100507,11 +101781,11 @@ "start": 87120, "end": 87151, "length": 32, - "parent_index": 5246 + "parent_index": 5247 }, "operator": 11, "left_expression": { - "id": 5248, + "id": 5249, "node_type": 16, "src": { "line": 2411, @@ -100519,7 +101793,7 @@ "start": 87120, "end": 87133, "length": 14, - "parent_index": 5247 + "parent_index": 5248 }, "name": "wormholeRouter", "type_description": { @@ -100528,10 +101802,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "wormholeRouter" }, "right_expression": { - "id": 5249, + "id": 5250, "node_type": 16, "src": { "line": 2411, @@ -100539,7 +101814,7 @@ "start": 87137, "end": 87151, "length": 15, - "parent_index": 5247 + "parent_index": 5248 }, "name": "_wormholeRouter", "type_description": { @@ -100547,8 +101822,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5249, - "is_pure": false + "referenced_declaration": 5250, + "is_pure": false, + "text": "_wormholeRouter" }, "type_description": { "type_identifier": "t_function_$", @@ -100558,10 +101834,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "wormholeRouter=_wormholeRouter;" }, { - "id": 5250, + "id": 5251, "node_type": 27, "src": { "line": 2412, @@ -100569,10 +101846,10 @@ "start": 87162, "end": 87190, "length": 29, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5251, + "id": 5252, "node_type": 27, "src": { "line": 2412, @@ -100580,11 +101857,11 @@ "start": 87162, "end": 87189, "length": 28, - "parent_index": 5250 + "parent_index": 5251 }, "operator": 11, "left_expression": { - "id": 5252, + "id": 5253, "node_type": 16, "src": { "line": 2412, @@ -100592,19 +101869,20 @@ "start": 87162, "end": 87173, "length": 12, - "parent_index": 5251 + "parent_index": 5252 }, "name": "bridgeEscrow", "type_description": { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" }, "overloaded_declarations": [], "referenced_declaration": 474, - "is_pure": false + "is_pure": false, + "text": "bridgeEscrow" }, "right_expression": { - "id": 5253, + "id": 5254, "node_type": 16, "src": { "line": 2412, @@ -100612,16 +101890,17 @@ "start": 87177, "end": 87189, "length": 13, - "parent_index": 5251 + "parent_index": 5252 }, "name": "_bridgeEscrow", "type_description": { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" }, "overloaded_declarations": [], "referenced_declaration": 474, - "is_pure": false + "is_pure": false, + "text": "_bridgeEscrow" }, "type_description": { "type_identifier": "t_function_$", @@ -100631,10 +101910,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "bridgeEscrow=_bridgeEscrow;" }, { - "id": 5254, + "id": 5255, "node_type": 24, "kind": 24, "src": { @@ -100643,7 +101923,7 @@ "start": 87304, "end": 87345, "length": 42, - "parent_index": 5237 + "parent_index": 5238 }, "argument_types": [ { @@ -100657,7 +101937,7 @@ ], "arguments": [ { - "id": 5256, + "id": 5257, "node_type": 16, "src": { "line": 2416, @@ -100665,7 +101945,7 @@ "start": 87315, "end": 87332, "length": 18, - "parent_index": 5254 + "parent_index": 5255 }, "name": "DEFAULT_ADMIN_ROLE", "type_description": { @@ -100674,10 +101954,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "DEFAULT_ADMIN_ROLE" }, { - "id": 5257, + "id": 5258, "node_type": 16, "src": { "line": 2416, @@ -100685,7 +101966,7 @@ "start": 87335, "end": 87344, "length": 10, - "parent_index": 5254 + "parent_index": 5255 }, "name": "governance", "type_description": { @@ -100700,11 +101981,12 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "governance" } ], "expression": { - "id": 5255, + "id": 5256, "node_type": 16, "src": { "line": 2416, @@ -100712,7 +101994,7 @@ "start": 87304, "end": 87313, "length": 10, - "parent_index": 5254 + "parent_index": 5255 }, "name": "_grantRole", "type_description": { @@ -100721,7 +102003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -100729,7 +102012,7 @@ } }, { - "id": 5258, + "id": 5259, "node_type": 24, "kind": 24, "src": { @@ -100738,7 +102021,7 @@ "start": 87356, "end": 87388, "length": 33, - "parent_index": 5237 + "parent_index": 5238 }, "argument_types": [ { @@ -100752,7 +102035,7 @@ ], "arguments": [ { - "id": 5260, + "id": 5261, "node_type": 16, "src": { "line": 2417, @@ -100760,7 +102043,7 @@ "start": 87367, "end": 87375, "length": 9, - "parent_index": 5258 + "parent_index": 5259 }, "name": "HARVESTER", "type_description": { @@ -100769,10 +102052,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "HARVESTER" }, { - "id": 5261, + "id": 5262, "node_type": 16, "src": { "line": 2417, @@ -100780,7 +102064,7 @@ "start": 87378, "end": 87387, "length": 10, - "parent_index": 5258 + "parent_index": 5259 }, "name": "governance", "type_description": { @@ -100795,11 +102079,12 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "governance" } ], "expression": { - "id": 5259, + "id": 5260, "node_type": 16, "src": { "line": 2417, @@ -100807,7 +102092,7 @@ "start": 87356, "end": 87365, "length": 10, - "parent_index": 5258 + "parent_index": 5259 }, "name": "_grantRole", "type_description": { @@ -100816,7 +102101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -100824,7 +102110,7 @@ } }, { - "id": 5262, + "id": 5263, "node_type": 27, "src": { "line": 2419, @@ -100832,10 +102118,10 @@ "start": 87400, "end": 87438, "length": 39, - "parent_index": 5237 + "parent_index": 5238 }, "expression": { - "id": 5263, + "id": 5264, "node_type": 27, "src": { "line": 2419, @@ -100843,11 +102129,11 @@ "start": 87400, "end": 87437, "length": 38, - "parent_index": 5262 + "parent_index": 5263 }, "operator": 11, "left_expression": { - "id": 5264, + "id": 5265, "node_type": 16, "src": { "line": 2419, @@ -100855,7 +102141,7 @@ "start": 87400, "end": 87410, "length": 11, - "parent_index": 5263 + "parent_index": 5264 }, "name": "lastHarvest", "type_description": { @@ -100863,11 +102149,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 7988, - "is_pure": false + "referenced_declaration": 7992, + "is_pure": false, + "text": "lastHarvest" }, "right_expression": { - "id": 5265, + "id": 5266, "node_type": 24, "kind": 24, "src": { @@ -100876,7 +102163,7 @@ "start": 87414, "end": 87437, "length": 24, - "parent_index": 5263 + "parent_index": 5264 }, "argument_types": [ { @@ -100886,7 +102173,7 @@ ], "arguments": [ { - "id": 5268, + "id": 5269, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -100898,7 +102185,7 @@ "start": 87422, "end": 87436, "length": 15, - "parent_index": 5265 + "parent_index": 5266 }, "member_location": { "line": 2419, @@ -100906,10 +102193,10 @@ "start": 87428, "end": 87436, "length": 9, - "parent_index": 5268 + "parent_index": 5269 }, "expression": { - "id": 5269, + "id": 5270, "node_type": 16, "src": { "line": 2419, @@ -100917,7 +102204,7 @@ "start": 87422, "end": 87426, "length": 5, - "parent_index": 5268 + "parent_index": 5269 }, "name": "block", "type_description": { @@ -100926,18 +102213,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 5266, + "id": 5267, "node_type": 16, "src": { "line": 2419, @@ -100945,11 +102234,11 @@ "start": 87414, "end": 87420, "length": 7, - "parent_index": 5265 + "parent_index": 5266 }, "name": "uint128", "type_name": { - "id": 5267, + "id": 5268, "node_type": 30, "src": { "line": 2419, @@ -100957,7 +102246,7 @@ "start": 87414, "end": 87420, "length": 7, - "parent_index": 5266 + "parent_index": 5267 }, "name": "uint128", "referenced_declaration": 0, @@ -100978,7 +102267,8 @@ "type_identifier": "t_uint128", "type_string": "uint128" } - ] + ], + "text": "uint128" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -100993,7 +102283,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "lastHarvest=uint128(block.timestamp);" } ] }, @@ -101004,7 +102295,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5225, + "id": 5226, "node_type": 43, "src": { "line": 2405, @@ -101012,11 +102303,11 @@ "start": 86918, "end": 87007, "length": 90, - "parent_index": 5224 + "parent_index": 5225 }, "parameters": [ { - "id": 5226, + "id": 5227, "node_type": 44, "src": { "line": 2405, @@ -101024,12 +102315,12 @@ "start": 86918, "end": 86936, "length": 19, - "parent_index": 5225 + "parent_index": 5226 }, - "scope": 5224, + "scope": 5225, "name": "_governance", "type_name": { - "id": 5227, + "id": 5228, "node_type": 30, "src": { "line": 2405, @@ -101037,7 +102328,7 @@ "start": 86918, "end": 86924, "length": 7, - "parent_index": 5226 + "parent_index": 5227 }, "name": "address", "state_mutability": 4, @@ -101056,7 +102347,7 @@ } }, { - "id": 5228, + "id": 5229, "node_type": 44, "src": { "line": 2405, @@ -101064,12 +102355,12 @@ "start": 86939, "end": 86954, "length": 16, - "parent_index": 5225 + "parent_index": 5226 }, - "scope": 5224, + "scope": 5225, "name": "vaultAsset", "type_name": { - "id": 5229, + "id": 5230, "node_type": 69, "src": { "line": 2405, @@ -101077,20 +102368,20 @@ "start": 86939, "end": 86943, "length": 5, - "parent_index": 5228 + "parent_index": 5229 }, "path_node": { - "id": 5230, + "id": 5231, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2405, "column": 49, "start": 86939, "end": 86943, "length": 5, - "parent_index": 5229 + "parent_index": 5230 }, "name_location": { "line": 2405, @@ -101098,12 +102389,12 @@ "start": 86939, "end": 86943, "length": 5, - "parent_index": 5229 + "parent_index": 5230 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -101111,12 +102402,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, { - "id": 5231, + "id": 5232, "node_type": 44, "src": { "line": 2405, @@ -101124,12 +102415,12 @@ "start": 86957, "end": 86979, "length": 23, - "parent_index": 5225 + "parent_index": 5226 }, - "scope": 5224, + "scope": 5225, "name": "_wormholeRouter", "type_name": { - "id": 5232, + "id": 5233, "node_type": 30, "src": { "line": 2405, @@ -101137,7 +102428,7 @@ "start": 86957, "end": 86963, "length": 7, - "parent_index": 5231 + "parent_index": 5232 }, "name": "address", "state_mutability": 4, @@ -101156,7 +102447,7 @@ } }, { - "id": 5233, + "id": 5234, "node_type": 44, "src": { "line": 2405, @@ -101164,12 +102455,12 @@ "start": 86982, "end": 87007, "length": 26, - "parent_index": 5225 + "parent_index": 5226 }, - "scope": 5224, + "scope": 5225, "name": "_bridgeEscrow", "type_name": { - "id": 5234, + "id": 5235, "node_type": 69, "src": { "line": 2405, @@ -101177,10 +102468,10 @@ "start": 86982, "end": 86993, "length": 12, - "parent_index": 5233 + "parent_index": 5234 }, "path_node": { - "id": 5235, + "id": 5236, "name": "BridgeEscrow", "node_type": 52, "referenced_declaration": 0, @@ -101190,7 +102481,7 @@ "start": 86982, "end": 86993, "length": 12, - "parent_index": 5234 + "parent_index": 5235 }, "name_location": { "line": 2405, @@ -101198,12 +102489,12 @@ "start": 86982, "end": 86993, "length": 12, - "parent_index": 5234 + "parent_index": 5235 } }, - "referenced_declaration": 6344, + "referenced_declaration": 6346, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" } }, @@ -101218,7 +102509,7 @@ "type_string": "address" }, { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, { @@ -101229,7 +102520,7 @@ ] }, "return_parameters": { - "id": 5236, + "id": 5237, "node_type": 43, "src": { "line": 2405, @@ -101237,21 +102528,22 @@ "start": 86894, "end": 87444, "length": 551, - "parent_index": 5224 + "parent_index": 5225 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "baseInitialize(address, , address, )", - "signature": "8c708538", - "scope": 5193, + "signature_raw": "baseInitialize(address,,address,)", + "signature": "bbf1c7ba", + "scope": 5194, "type_description": { - "type_identifier": "t_function_$_t_address$_t_contract$_ERC20_$4060$_t_address$_t_unknown_5224$", - "type_string": "function(address,contract ERC20,address,unknown_5224)" - } + "type_identifier": "t_function_$_t_address$_t_contract$_ERC20_$4061$_t_address$_t_unknown_5225$", + "type_string": "function(address,contract ERC20,address,unknown_5225)" + }, + "text": "functionbaseInitialize(address_governance,ERC20vaultAsset,address_wormholeRouter,BridgeEscrow_bridgeEscrow)internalvirtual{governance=_governance;_asset=vaultAsset;wormholeRouter=_wormholeRouter;bridgeEscrow=_bridgeEscrow;_grantRole(DEFAULT_ADMIN_ROLE,governance);_grantRole(HARVESTER,governance);lastHarvest=uint128(block.timestamp);}" }, { - "id": 5271, + "id": 5272, "name": "wormholeRouter", "is_constant": false, "is_state_variable": true, @@ -101262,9 +102554,9 @@ "start": 87822, "end": 87851, "length": 30, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_address", "type_string": "address" @@ -101273,7 +102565,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5272, + "id": 5273, "node_type": 30, "src": { "line": 2430, @@ -101281,7 +102573,7 @@ "start": 87822, "end": 87828, "length": 7, - "parent_index": 5271 + "parent_index": 5272 }, "name": "address", "state_mutability": 4, @@ -101294,7 +102586,7 @@ "initial_value": null }, { - "id": 5274, + "id": 5275, "name": "bridgeEscrow", "is_constant": false, "is_state_variable": true, @@ -101305,18 +102597,18 @@ "start": 87950, "end": 87982, "length": 33, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 5275, + "id": 5276, "node_type": 69, "src": { "line": 2432, @@ -101324,10 +102616,10 @@ "start": 87950, "end": 87961, "length": 12, - "parent_index": 5274 + "parent_index": 5275 }, "path_node": { - "id": 5276, + "id": 5277, "name": "BridgeEscrow", "node_type": 52, "referenced_declaration": 0, @@ -101337,7 +102629,7 @@ "start": 87950, "end": 87961, "length": 12, - "parent_index": 5275 + "parent_index": 5276 }, "name_location": { "line": 2432, @@ -101345,19 +102637,19 @@ "start": 87950, "end": 87961, "length": 12, - "parent_index": 5275 + "parent_index": 5276 } }, - "referenced_declaration": 6344, + "referenced_declaration": 6346, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" } }, "initial_value": null }, { - "id": 5278, + "id": 5279, "name": "setWormholeRouter", "node_type": 42, "kind": 41, @@ -101367,7 +102659,7 @@ "start": 88101, "end": 88290, "length": 190, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2438, @@ -101375,10 +102667,10 @@ "start": 88110, "end": 88126, "length": 17, - "parent_index": 5278 + "parent_index": 5279 }, "body": { - "id": 5285, + "id": 5286, "node_type": 46, "kind": 0, "src": { @@ -101387,12 +102679,12 @@ "start": 88169, "end": 88290, "length": 122, - "parent_index": 5278 + "parent_index": 5279 }, "implemented": true, "statements": [ { - "id": 5286, + "id": 5287, "node_type": 64, "src": { "line": 2439, @@ -101400,11 +102692,11 @@ "start": 88179, "end": 88250, "length": 72, - "parent_index": 5278 + "parent_index": 5279 }, "arguments": [], "expression": { - "id": 5287, + "id": 5288, "node_type": 16, "src": { "line": 2439, @@ -101412,20 +102704,21 @@ "start": 88184, "end": 88200, "length": 17, - "parent_index": 5286 + "parent_index": 5287 }, "name": "WormholeRouterSet", "type_description": { - "type_identifier": "t_event\u0026_Global_WormholeRouterSet_\u00267878", + "type_identifier": "t_event\u0026_Global_WormholeRouterSet_\u00267881", "type_string": "event Global.WormholeRouterSet" }, "overloaded_declarations": [], - "referenced_declaration": 7878, - "is_pure": false + "referenced_declaration": 7881, + "is_pure": false, + "text": "WormholeRouterSet" } }, { - "id": 5288, + "id": 5289, "node_type": 27, "src": { "line": 2440, @@ -101433,10 +102726,10 @@ "start": 88260, "end": 88284, "length": 25, - "parent_index": 5285 + "parent_index": 5286 }, "expression": { - "id": 5289, + "id": 5290, "node_type": 27, "src": { "line": 2440, @@ -101444,11 +102737,11 @@ "start": 88260, "end": 88283, "length": 24, - "parent_index": 5288 + "parent_index": 5289 }, "operator": 11, "left_expression": { - "id": 5290, + "id": 5291, "node_type": 16, "src": { "line": 2440, @@ -101456,7 +102749,7 @@ "start": 88260, "end": 88273, "length": 14, - "parent_index": 5289 + "parent_index": 5290 }, "name": "wormholeRouter", "type_description": { @@ -101464,11 +102757,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5271, - "is_pure": false + "referenced_declaration": 5272, + "is_pure": false, + "text": "wormholeRouter" }, "right_expression": { - "id": 5291, + "id": 5292, "node_type": 16, "src": { "line": 2440, @@ -101476,7 +102770,7 @@ "start": 88277, "end": 88283, "length": 7, - "parent_index": 5289 + "parent_index": 5290 }, "name": "_router", "type_description": { @@ -101484,8 +102778,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5291, - "is_pure": false + "referenced_declaration": 5292, + "is_pure": false, + "text": "_router" }, "type_description": { "type_identifier": "t_address", @@ -101495,7 +102790,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "wormholeRouter=_router;" } ] }, @@ -101505,7 +102801,7 @@ "virtual": false, "modifiers": [ { - "id": 5282, + "id": 5283, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -101515,12 +102811,12 @@ "start": 88154, "end": 88167, "length": 14, - "parent_index": 5278 + "parent_index": 5279 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5283, + "id": 5284, "name": "onlyGovernance", "node_type": 0, "src": { @@ -101529,14 +102825,14 @@ "start": 88154, "end": 88167, "length": 14, - "parent_index": 5282 + "parent_index": 5283 } } } ], "overrides": [], "parameters": { - "id": 5279, + "id": 5280, "node_type": 43, "src": { "line": 2438, @@ -101544,11 +102840,11 @@ "start": 88128, "end": 88142, "length": 15, - "parent_index": 5278 + "parent_index": 5279 }, "parameters": [ { - "id": 5280, + "id": 5281, "node_type": 44, "src": { "line": 2438, @@ -101556,12 +102852,12 @@ "start": 88128, "end": 88142, "length": 15, - "parent_index": 5279 + "parent_index": 5280 }, - "scope": 5278, + "scope": 5279, "name": "_router", "type_name": { - "id": 5281, + "id": 5282, "node_type": 30, "src": { "line": 2438, @@ -101569,7 +102865,7 @@ "start": 88128, "end": 88134, "length": 7, - "parent_index": 5280 + "parent_index": 5281 }, "name": "address", "state_mutability": 4, @@ -101596,7 +102892,7 @@ ] }, "return_parameters": { - "id": 5284, + "id": 5285, "node_type": 43, "src": { "line": 2438, @@ -101604,21 +102900,22 @@ "start": 88101, "end": 88290, "length": 190, - "parent_index": 5278 + "parent_index": 5279 }, "parameters": [], "parameter_types": [] }, "signature_raw": "setWormholeRouter(address)", "signature": "082b5216", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetWormholeRouter(address_router)externalonlyGovernance{emitWormholeRouterSet({oldRouter:wormholeRouter,newRouter:_router});wormholeRouter=_router;}" }, { - "id": 5293, + "id": 5294, "name": "setBridgeEscrow", "node_type": 42, "kind": 41, @@ -101628,7 +102925,7 @@ "start": 88407, "end": 88611, "length": 205, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2447, @@ -101636,10 +102933,10 @@ "start": 88416, "end": 88430, "length": 15, - "parent_index": 5293 + "parent_index": 5294 }, "body": { - "id": 5301, + "id": 5302, "node_type": 46, "kind": 0, "src": { @@ -101648,12 +102945,12 @@ "start": 88478, "end": 88611, "length": 134, - "parent_index": 5293 + "parent_index": 5294 }, "implemented": true, "statements": [ { - "id": 5302, + "id": 5303, "node_type": 64, "src": { "line": 2448, @@ -101661,11 +102958,11 @@ "start": 88488, "end": 88573, "length": 86, - "parent_index": 5293 + "parent_index": 5294 }, "arguments": [], "expression": { - "id": 5303, + "id": 5304, "node_type": 16, "src": { "line": 2448, @@ -101673,20 +102970,21 @@ "start": 88493, "end": 88507, "length": 15, - "parent_index": 5302 + "parent_index": 5303 }, "name": "BridgeEscrowSet", "type_description": { - "type_identifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267884", + "type_identifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267887", "type_string": "event Global.BridgeEscrowSet" }, "overloaded_declarations": [], - "referenced_declaration": 7884, - "is_pure": false + "referenced_declaration": 7887, + "is_pure": false, + "text": "BridgeEscrowSet" } }, { - "id": 5304, + "id": 5305, "node_type": 27, "src": { "line": 2449, @@ -101694,10 +102992,10 @@ "start": 88583, "end": 88605, "length": 23, - "parent_index": 5301 + "parent_index": 5302 }, "expression": { - "id": 5305, + "id": 5306, "node_type": 27, "src": { "line": 2449, @@ -101705,11 +103003,11 @@ "start": 88583, "end": 88604, "length": 22, - "parent_index": 5304 + "parent_index": 5305 }, "operator": 11, "left_expression": { - "id": 5306, + "id": 5307, "node_type": 16, "src": { "line": 2449, @@ -101717,19 +103015,20 @@ "start": 88583, "end": 88594, "length": 12, - "parent_index": 5305 + "parent_index": 5306 }, "name": "bridgeEscrow", "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" }, "overloaded_declarations": [], - "referenced_declaration": 5295, - "is_pure": false + "referenced_declaration": 5296, + "is_pure": false, + "text": "bridgeEscrow" }, "right_expression": { - "id": 5307, + "id": 5308, "node_type": 16, "src": { "line": 2449, @@ -101737,16 +103036,17 @@ "start": 88598, "end": 88604, "length": 7, - "parent_index": 5305 + "parent_index": 5306 }, "name": "_escrow", "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" }, "overloaded_declarations": [], - "referenced_declaration": 5295, - "is_pure": false + "referenced_declaration": 5296, + "is_pure": false, + "text": "_escrow" }, "type_description": { "type_identifier": "t_function_$", @@ -101756,7 +103056,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "bridgeEscrow=_escrow;" } ] }, @@ -101766,7 +103067,7 @@ "virtual": false, "modifiers": [ { - "id": 5298, + "id": 5299, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -101776,12 +103077,12 @@ "start": 88463, "end": 88476, "length": 14, - "parent_index": 5293 + "parent_index": 5294 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5299, + "id": 5300, "name": "onlyGovernance", "node_type": 0, "src": { @@ -101790,14 +103091,14 @@ "start": 88463, "end": 88476, "length": 14, - "parent_index": 5298 + "parent_index": 5299 } } } ], "overrides": [], "parameters": { - "id": 5294, + "id": 5295, "node_type": 43, "src": { "line": 2447, @@ -101805,11 +103106,11 @@ "start": 88432, "end": 88451, "length": 20, - "parent_index": 5293 + "parent_index": 5294 }, "parameters": [ { - "id": 5295, + "id": 5296, "node_type": 44, "src": { "line": 2447, @@ -101817,12 +103118,12 @@ "start": 88432, "end": 88451, "length": 20, - "parent_index": 5294 + "parent_index": 5295 }, - "scope": 5293, + "scope": 5294, "name": "_escrow", "type_name": { - "id": 5296, + "id": 5297, "node_type": 69, "src": { "line": 2447, @@ -101830,10 +103131,10 @@ "start": 88432, "end": 88443, "length": 12, - "parent_index": 5295 + "parent_index": 5296 }, "path_node": { - "id": 5297, + "id": 5298, "name": "BridgeEscrow", "node_type": 52, "referenced_declaration": 0, @@ -101843,7 +103144,7 @@ "start": 88432, "end": 88443, "length": 12, - "parent_index": 5296 + "parent_index": 5297 }, "name_location": { "line": 2447, @@ -101851,12 +103152,12 @@ "start": 88432, "end": 88443, "length": 12, - "parent_index": 5296 + "parent_index": 5297 } }, - "referenced_declaration": 6344, + "referenced_declaration": 6346, "type_description": { - "type_identifier": "t_contract$_BridgeEscrow_$6344", + "type_identifier": "t_contract$_BridgeEscrow_$6346", "type_string": "contract BridgeEscrow" } }, @@ -101870,7 +103171,7 @@ ] }, "return_parameters": { - "id": 5300, + "id": 5301, "node_type": 43, "src": { "line": 2447, @@ -101878,21 +103179,22 @@ "start": 88407, "end": 88611, "length": 205, - "parent_index": 5293 + "parent_index": 5294 }, "parameters": [], "parameter_types": [] }, "signature_raw": "setBridgeEscrow()", "signature": "6349493d", - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_function_$_t_unknown_5293$", - "type_string": "function(unknown_5293)" - } + "type_identifier": "t_function_$_t_unknown_5294$", + "type_string": "function(unknown_5294)" + }, + "text": "functionsetBridgeEscrow(BridgeEscrow_escrow)externalonlyGovernance{emitBridgeEscrowSet({oldEscrow:address(bridgeEscrow),newEscrow:address(_escrow)});bridgeEscrow=_escrow;}" }, { - "id": 5309, + "id": 5310, "node_type": 57, "src": { "line": 2457, @@ -101900,10 +103202,10 @@ "start": 88774, "end": 88851, "length": 78, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5310, + "id": 5311, "node_type": 43, "src": { "line": 2457, @@ -101911,11 +103213,11 @@ "start": 88774, "end": 88851, "length": 78, - "parent_index": 5309 + "parent_index": 5310 }, "parameters": [ { - "id": 5311, + "id": 5312, "node_type": 44, "src": { "line": 2457, @@ -101923,12 +103225,12 @@ "start": 88798, "end": 88822, "length": 25, - "parent_index": 5310 + "parent_index": 5311 }, - "scope": 5309, + "scope": 5310, "name": "oldRouter", "type_name": { - "id": 5312, + "id": 5313, "node_type": 30, "src": { "line": 2457, @@ -101936,7 +103238,7 @@ "start": 88798, "end": 88804, "length": 7, - "parent_index": 5311 + "parent_index": 5312 }, "name": "address", "state_mutability": 4, @@ -101956,7 +103258,7 @@ "indexed": true }, { - "id": 5313, + "id": 5314, "node_type": 44, "src": { "line": 2457, @@ -101964,12 +103266,12 @@ "start": 88825, "end": 88849, "length": 25, - "parent_index": 5310 + "parent_index": 5311 }, - "scope": 5309, + "scope": 5310, "name": "newRouter", "type_name": { - "id": 5314, + "id": 5315, "node_type": 30, "src": { "line": 2457, @@ -101977,7 +103279,7 @@ "start": 88825, "end": 88831, "length": 7, - "parent_index": 5313 + "parent_index": 5314 }, "name": "address", "state_mutability": 4, @@ -102011,12 +103313,12 @@ "name": "WormholeRouterSet", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_WormholeRouterSet_\u00265309", + "type_identifier": "t_event\u0026_BaseVault_WormholeRouterSet_\u00265310", "type_string": "event BaseVault.WormholeRouterSet" } }, { - "id": 5316, + "id": 5317, "node_type": 57, "src": { "line": 2463, @@ -102024,10 +103326,10 @@ "start": 89004, "end": 89079, "length": 76, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5317, + "id": 5318, "node_type": 43, "src": { "line": 2463, @@ -102035,11 +103337,11 @@ "start": 89004, "end": 89079, "length": 76, - "parent_index": 5316 + "parent_index": 5317 }, "parameters": [ { - "id": 5318, + "id": 5319, "node_type": 44, "src": { "line": 2463, @@ -102047,12 +103349,12 @@ "start": 89026, "end": 89050, "length": 25, - "parent_index": 5317 + "parent_index": 5318 }, - "scope": 5316, + "scope": 5317, "name": "oldEscrow", "type_name": { - "id": 5319, + "id": 5320, "node_type": 30, "src": { "line": 2463, @@ -102060,7 +103362,7 @@ "start": 89026, "end": 89032, "length": 7, - "parent_index": 5318 + "parent_index": 5319 }, "name": "address", "state_mutability": 4, @@ -102080,7 +103382,7 @@ "indexed": true }, { - "id": 5320, + "id": 5321, "node_type": 44, "src": { "line": 2463, @@ -102088,12 +103390,12 @@ "start": 89053, "end": 89077, "length": 25, - "parent_index": 5317 + "parent_index": 5318 }, - "scope": 5316, + "scope": 5317, "name": "newEscrow", "type_name": { - "id": 5321, + "id": 5322, "node_type": 30, "src": { "line": 2463, @@ -102101,7 +103403,7 @@ "start": 89053, "end": 89059, "length": 7, - "parent_index": 5320 + "parent_index": 5321 }, "name": "address", "state_mutability": 4, @@ -102135,12 +103437,12 @@ "name": "BridgeEscrowSet", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_BridgeEscrowSet_\u00265316", + "type_identifier": "t_event\u0026_BaseVault_BridgeEscrowSet_\u00265317", "type_string": "event BaseVault.BridgeEscrowSet" } }, { - "id": 5323, + "id": 5324, "name": "HARVESTER", "is_constant": true, "is_state_variable": true, @@ -102151,9 +103453,9 @@ "start": 89353, "end": 89411, "length": 59, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -102162,7 +103464,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5324, + "id": 5325, "node_type": 30, "src": { "line": 2470, @@ -102170,7 +103472,7 @@ "start": 89353, "end": 89359, "length": 7, - "parent_index": 5323 + "parent_index": 5324 }, "name": "bytes32", "referenced_declaration": 0, @@ -102180,7 +103482,7 @@ } }, "initial_value": { - "id": 5325, + "id": 5326, "node_type": 24, "kind": 24, "src": { @@ -102189,7 +103491,7 @@ "start": 89389, "end": 89410, "length": 22, - "parent_index": 5323 + "parent_index": 5324 }, "argument_types": [ { @@ -102199,7 +103501,7 @@ ], "arguments": [ { - "id": 5327, + "id": 5328, "node_type": 17, "kind": 50, "value": "HARVESTER", @@ -102210,7 +103512,7 @@ "start": 89399, "end": 89409, "length": 11, - "parent_index": 5325 + "parent_index": 5326 }, "type_description": { "type_identifier": "t_string_literal", @@ -102218,11 +103520,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"HARVESTER\"" } ], "expression": { - "id": 5326, + "id": 5327, "node_type": 16, "src": { "line": 2470, @@ -102230,7 +103533,7 @@ "start": 89389, "end": 89397, "length": 9, - "parent_index": 5325 + "parent_index": 5326 }, "name": "keccak256", "type_description": { @@ -102239,7 +103542,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -102248,7 +103552,7 @@ } }, { - "id": 5329, + "id": 5330, "name": "MAX_STRATEGIES", "is_constant": true, "is_state_variable": true, @@ -102259,9 +103563,9 @@ "start": 89602, "end": 89636, "length": 35, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_rational_20_by_1", "type_string": "int_const 20" @@ -102270,7 +103574,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5330, + "id": 5331, "node_type": 30, "src": { "line": 2476, @@ -102278,7 +103582,7 @@ "start": 89602, "end": 89606, "length": 5, - "parent_index": 5329 + "parent_index": 5330 }, "name": "uint8", "referenced_declaration": 0, @@ -102288,7 +103592,7 @@ } }, "initial_value": { - "id": 5331, + "id": 5332, "node_type": 17, "kind": 49, "value": "20", @@ -102299,7 +103603,7 @@ "start": 89634, "end": 89635, "length": 2, - "parent_index": 5329 + "parent_index": 5330 }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -102307,11 +103611,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { - "id": 5333, + "id": 5334, "name": "withdrawalQueue", "is_constant": false, "is_state_variable": true, @@ -102322,9 +103627,9 @@ "start": 90055, "end": 90102, "length": 48, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_rational_20_by_1", "type_string": "int_const 20" @@ -102333,7 +103638,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5334, + "id": 5335, "node_type": 16, "src": { "line": 2484, @@ -102341,11 +103646,11 @@ "start": 90055, "end": 90062, "length": 8, - "parent_index": 5333 + "parent_index": 5334 }, "name": "function", "path_node": { - "id": 5335, + "id": 5336, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -102355,12 +103660,12 @@ "start": 90055, "end": 90062, "length": 8, - "parent_index": 5334 + "parent_index": 5335 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5337, + "id": 5338, "node_type": 16, "src": { "line": 2484, @@ -102368,7 +103673,7 @@ "start": 90064, "end": 90077, "length": 14, - "parent_index": 5334 + "parent_index": 5335 }, "name": "MAX_STRATEGIES", "type_description": { @@ -102376,8 +103681,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -102387,7 +103693,7 @@ "initial_value": null }, { - "id": 5339, + "id": 5340, "name": "getWithdrawalQueue", "node_type": 42, "kind": 41, @@ -102397,7 +103703,7 @@ "start": 90312, "end": 90436, "length": 125, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2491, @@ -102405,10 +103711,10 @@ "start": 90321, "end": 90338, "length": 18, - "parent_index": 5339 + "parent_index": 5340 }, "body": { - "id": 5352, + "id": 5353, "node_type": 46, "kind": 0, "src": { @@ -102417,12 +103723,12 @@ "start": 90398, "end": 90436, "length": 39, - "parent_index": 5339 + "parent_index": 5340 }, "implemented": true, "statements": [ { - "id": 5353, + "id": 5354, "node_type": 47, "src": { "line": 2492, @@ -102430,11 +103736,11 @@ "start": 90408, "end": 90430, "length": 23, - "parent_index": 5339 + "parent_index": 5340 }, - "function_return_parameters": 5339, + "function_return_parameters": 5340, "expression": { - "id": 5354, + "id": 5355, "node_type": 16, "src": { "line": 2492, @@ -102442,7 +103748,7 @@ "start": 90415, "end": 90429, "length": 15, - "parent_index": 5353 + "parent_index": 5354 }, "name": "withdrawalQueue", "type_description": { @@ -102450,8 +103756,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" } } ] @@ -102463,7 +103770,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5340, + "id": 5341, "node_type": 43, "src": { "line": 2491, @@ -102471,11 +103778,11 @@ "start": 90365, "end": 90395, "length": 31, - "parent_index": 5339 + "parent_index": 5340 }, "parameters": [ { - "id": 5341, + "id": 5342, "node_type": 44, "src": { "line": 2491, @@ -102483,12 +103790,12 @@ "start": 90365, "end": 90395, "length": 31, - "parent_index": 5340 + "parent_index": 5341 }, - "scope": 5339, + "scope": 5340, "name": "", "type_name": { - "id": 5342, + "id": 5343, "node_type": 16, "src": { "line": 2491, @@ -102496,11 +103803,11 @@ "start": 90365, "end": 90372, "length": 8, - "parent_index": 5341 + "parent_index": 5342 }, "name": "function", "path_node": { - "id": 5343, + "id": 5344, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -102510,12 +103817,12 @@ "start": 90365, "end": 90372, "length": 8, - "parent_index": 5342 + "parent_index": 5343 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5345, + "id": 5346, "node_type": 16, "src": { "line": 2491, @@ -102523,7 +103830,7 @@ "start": 90374, "end": 90387, "length": 14, - "parent_index": 5342 + "parent_index": 5343 }, "name": "MAX_STRATEGIES", "type_description": { @@ -102531,8 +103838,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -102556,7 +103864,7 @@ ] }, "return_parameters": { - "id": 5346, + "id": 5347, "node_type": 43, "src": { "line": 2491, @@ -102564,11 +103872,11 @@ "start": 90365, "end": 90395, "length": 31, - "parent_index": 5339 + "parent_index": 5340 }, "parameters": [ { - "id": 5347, + "id": 5348, "node_type": 44, "src": { "line": 2491, @@ -102576,12 +103884,12 @@ "start": 90365, "end": 90395, "length": 31, - "parent_index": 5346 + "parent_index": 5347 }, - "scope": 5339, + "scope": 5340, "name": "", "type_name": { - "id": 5348, + "id": 5349, "node_type": 16, "src": { "line": 2491, @@ -102589,11 +103897,11 @@ "start": 90365, "end": 90372, "length": 8, - "parent_index": 5347 + "parent_index": 5348 }, "name": "function", "path_node": { - "id": 5349, + "id": 5350, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -102603,12 +103911,12 @@ "start": 90365, "end": 90372, "length": 8, - "parent_index": 5348 + "parent_index": 5349 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5351, + "id": 5352, "node_type": 16, "src": { "line": 2491, @@ -102616,7 +103924,7 @@ "start": 90374, "end": 90387, "length": 14, - "parent_index": 5348 + "parent_index": 5349 }, "name": "MAX_STRATEGIES", "type_description": { @@ -102624,8 +103932,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -102650,14 +103959,15 @@ }, "signature_raw": "getWithdrawalQueue(function)", "signature": "3504edc2", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_rational_20_by_1$", "type_string": "function(int_const 20)" - } + }, + "text": "functiongetWithdrawalQueue()externalviewreturns(Strategy[MAX_STRATEGIES]memory){returnwithdrawalQueue;}" }, { - "id": 5356, + "id": 5357, "name": "setWithdrawalQueue", "node_type": 42, "kind": 41, @@ -102667,7 +103977,7 @@ "start": 90552, "end": 90878, "length": 327, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2499, @@ -102675,10 +103985,10 @@ "start": 90561, "end": 90578, "length": 18, - "parent_index": 5356 + "parent_index": 5357 }, "body": { - "id": 5366, + "id": 5367, "node_type": 46, "kind": 0, "src": { @@ -102687,12 +103997,12 @@ "start": 90648, "end": 90878, "length": 231, - "parent_index": 5356 + "parent_index": 5357 }, "implemented": true, "statements": [ { - "id": 5367, + "id": 5368, "node_type": 24, "kind": 24, "src": { @@ -102701,7 +104011,7 @@ "start": 90689, "end": 90749, "length": 61, - "parent_index": 5366 + "parent_index": 5367 }, "argument_types": [ { @@ -102715,7 +104025,7 @@ ], "arguments": [ { - "id": 5369, + "id": 5370, "is_constant": false, "is_pure": false, "node_type": 19, @@ -102725,11 +104035,11 @@ "start": 90697, "end": 90729, "length": 33, - "parent_index": 5367 + "parent_index": 5368 }, "operator": 11, "left_expression": { - "id": 5370, + "id": 5371, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -102741,7 +104051,7 @@ "start": 90697, "end": 90711, "length": 15, - "parent_index": 5369 + "parent_index": 5370 }, "member_location": { "line": 2501, @@ -102749,10 +104059,10 @@ "start": 90706, "end": 90711, "length": 6, - "parent_index": 5370 + "parent_index": 5371 }, "expression": { - "id": 5371, + "id": 5372, "node_type": 16, "src": { "line": 2501, @@ -102760,7 +104070,7 @@ "start": 90697, "end": 90704, "length": 8, - "parent_index": 5370 + "parent_index": 5371 }, "name": "newQueue", "type_description": { @@ -102768,18 +104078,20 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5371, - "is_pure": false + "referenced_declaration": 5372, + "is_pure": false, + "text": "newQueue" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_rational_20_by_1", "type_string": "int_const 20" - } + }, + "text": "newQueue.length" }, "right_expression": { - "id": 5372, + "id": 5373, "node_type": 16, "src": { "line": 2501, @@ -102787,7 +104099,7 @@ "start": 90716, "end": 90729, "length": 14, - "parent_index": 5369 + "parent_index": 5370 }, "name": "MAX_STRATEGIES", "type_description": { @@ -102795,8 +104107,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -102804,7 +104117,7 @@ } }, { - "id": 5373, + "id": 5374, "node_type": 17, "kind": 50, "value": "BV: bad qu size", @@ -102815,7 +104128,7 @@ "start": 90732, "end": 90748, "length": 17, - "parent_index": 5367 + "parent_index": 5368 }, "type_description": { "type_identifier": "t_string_literal", @@ -102829,11 +104142,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BV: bad qu size\"" } ], "expression": { - "id": 5368, + "id": 5369, "node_type": 16, "src": { "line": 2501, @@ -102841,7 +104155,7 @@ "start": 90689, "end": 90695, "length": 7, - "parent_index": 5367 + "parent_index": 5368 }, "name": "require", "type_description": { @@ -102850,7 +104164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -102858,7 +104173,7 @@ } }, { - "id": 5374, + "id": 5375, "node_type": 27, "src": { "line": 2504, @@ -102866,10 +104181,10 @@ "start": 90802, "end": 90828, "length": 27, - "parent_index": 5366 + "parent_index": 5367 }, "expression": { - "id": 5375, + "id": 5376, "node_type": 27, "src": { "line": 2504, @@ -102877,11 +104192,11 @@ "start": 90802, "end": 90827, "length": 26, - "parent_index": 5374 + "parent_index": 5375 }, "operator": 11, "left_expression": { - "id": 5376, + "id": 5377, "node_type": 16, "src": { "line": 2504, @@ -102889,7 +104204,7 @@ "start": 90802, "end": 90816, "length": 15, - "parent_index": 5375 + "parent_index": 5376 }, "name": "withdrawalQueue", "type_description": { @@ -102897,11 +104212,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "right_expression": { - "id": 5377, + "id": 5378, "node_type": 16, "src": { "line": 2504, @@ -102909,7 +104225,7 @@ "start": 90820, "end": 90827, "length": 8, - "parent_index": 5375 + "parent_index": 5376 }, "name": "newQueue", "type_description": { @@ -102917,8 +104233,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5377, - "is_pure": false + "referenced_declaration": 5378, + "is_pure": false, + "text": "newQueue" }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -102928,10 +104245,11 @@ "type_description": { "type_identifier": "t_rational_20_by_1", "type_string": "int_const 20" - } + }, + "text": "withdrawalQueue=newQueue;" }, { - "id": 5378, + "id": 5379, "node_type": 64, "src": { "line": 2506, @@ -102939,11 +104257,11 @@ "start": 90839, "end": 90872, "length": 34, - "parent_index": 5356 + "parent_index": 5357 }, "arguments": [ { - "id": 5379, + "id": 5380, "node_type": 16, "src": { "line": 2506, @@ -102951,7 +104269,7 @@ "start": 90863, "end": 90870, "length": 8, - "parent_index": 5378 + "parent_index": 5379 }, "name": "newQueue", "type_description": { @@ -102959,12 +104277,13 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5379, - "is_pure": false + "referenced_declaration": 5380, + "is_pure": false, + "text": "newQueue" } ], "expression": { - "id": 5380, + "id": 5381, "node_type": 16, "src": { "line": 2506, @@ -102972,16 +104291,17 @@ "start": 90844, "end": 90861, "length": 18, - "parent_index": 5378 + "parent_index": 5379 }, "name": "WithdrawalQueueSet", "type_description": { - "type_identifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267903", + "type_identifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267906", "type_string": "event Global.WithdrawalQueueSet" }, "overloaded_declarations": [], - "referenced_declaration": 7903, - "is_pure": false + "referenced_declaration": 7906, + "is_pure": false, + "text": "WithdrawalQueueSet" } } ] @@ -102992,7 +104312,7 @@ "virtual": false, "modifiers": [ { - "id": 5363, + "id": 5364, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -103002,12 +104322,12 @@ "start": 90633, "end": 90646, "length": 14, - "parent_index": 5356 + "parent_index": 5357 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5364, + "id": 5365, "name": "onlyGovernance", "node_type": 0, "src": { @@ -103016,14 +104336,14 @@ "start": 90633, "end": 90646, "length": 14, - "parent_index": 5363 + "parent_index": 5364 } } } ], "overrides": [], "parameters": { - "id": 5357, + "id": 5358, "node_type": 43, "src": { "line": 2499, @@ -103031,11 +104351,11 @@ "start": 90580, "end": 90621, "length": 42, - "parent_index": 5356 + "parent_index": 5357 }, "parameters": [ { - "id": 5358, + "id": 5359, "node_type": 44, "src": { "line": 2499, @@ -103043,12 +104363,12 @@ "start": 90580, "end": 90621, "length": 42, - "parent_index": 5357 + "parent_index": 5358 }, - "scope": 5356, + "scope": 5357, "name": "newQueue", "type_name": { - "id": 5359, + "id": 5360, "node_type": 16, "src": { "line": 2499, @@ -103056,11 +104376,11 @@ "start": 90580, "end": 90587, "length": 8, - "parent_index": 5358 + "parent_index": 5359 }, "name": "function", "path_node": { - "id": 5360, + "id": 5361, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -103070,12 +104390,12 @@ "start": 90580, "end": 90587, "length": 8, - "parent_index": 5359 + "parent_index": 5360 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5362, + "id": 5363, "node_type": 16, "src": { "line": 2499, @@ -103083,7 +104403,7 @@ "start": 90589, "end": 90602, "length": 14, - "parent_index": 5359 + "parent_index": 5360 }, "name": "MAX_STRATEGIES", "type_description": { @@ -103091,8 +104411,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -103116,7 +104437,7 @@ ] }, "return_parameters": { - "id": 5365, + "id": 5366, "node_type": 43, "src": { "line": 2499, @@ -103124,21 +104445,22 @@ "start": 90552, "end": 90878, "length": 327, - "parent_index": 5356 + "parent_index": 5357 }, "parameters": [], "parameter_types": [] }, "signature_raw": "setWithdrawalQueue(function)", "signature": "b7e9fc67", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_rational_20_by_1$", "type_string": "function(int_const 20)" - } + }, + "text": "functionsetWithdrawalQueue(Strategy[MAX_STRATEGIES]calldatanewQueue)externalonlyGovernance{require(newQueue.length==MAX_STRATEGIES,\"BV: bad qu size\");withdrawalQueue=newQueue;emitWithdrawalQueueSet(newQueue);}" }, { - "id": 5382, + "id": 5383, "node_type": 57, "src": { "line": 2513, @@ -103146,10 +104468,10 @@ "start": 91011, "end": 91070, "length": 60, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5383, + "id": 5384, "node_type": 43, "src": { "line": 2513, @@ -103157,11 +104479,11 @@ "start": 91011, "end": 91070, "length": 60, - "parent_index": 5382 + "parent_index": 5383 }, "parameters": [ { - "id": 5384, + "id": 5385, "node_type": 44, "src": { "line": 2513, @@ -103169,12 +104491,12 @@ "start": 91036, "end": 91068, "length": 33, - "parent_index": 5383 + "parent_index": 5384 }, - "scope": 5382, + "scope": 5383, "name": "newQueue", "type_name": { - "id": 5385, + "id": 5386, "node_type": 16, "src": { "line": 2513, @@ -103182,11 +104504,11 @@ "start": 91036, "end": 91043, "length": 8, - "parent_index": 5384 + "parent_index": 5385 }, "name": "function", "path_node": { - "id": 5386, + "id": 5387, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -103196,12 +104518,12 @@ "start": 91036, "end": 91043, "length": 8, - "parent_index": 5385 + "parent_index": 5386 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "expression": { - "id": 5388, + "id": 5389, "node_type": 16, "src": { "line": 2513, @@ -103209,7 +104531,7 @@ "start": 91045, "end": 91058, "length": 14, - "parent_index": 5385 + "parent_index": 5386 }, "name": "MAX_STRATEGIES", "type_description": { @@ -103217,8 +104539,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_function_$", @@ -103244,12 +104567,12 @@ "name": "WithdrawalQueueSet", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_WithdrawalQueueSet_\u00265382", + "type_identifier": "t_event\u0026_BaseVault_WithdrawalQueueSet_\u00265383", "type_string": "event BaseVault.WithdrawalQueueSet" } }, { - "id": 5390, + "id": 5391, "name": "totalStrategyHoldings", "is_constant": false, "is_state_variable": true, @@ -103260,9 +104583,9 @@ "start": 91364, "end": 91400, "length": 37, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -103271,7 +104594,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5391, + "id": 5392, "node_type": 30, "src": { "line": 2520, @@ -103279,7 +104602,7 @@ "start": 91364, "end": 91370, "length": 7, - "parent_index": 5390 + "parent_index": 5391 }, "name": "uint256", "referenced_declaration": 0, @@ -103291,7 +104614,7 @@ "initial_value": null }, { - "id": 5393, + "id": 5394, "node_type": 67, "src": { "line": 2522, @@ -103299,7 +104622,7 @@ "start": 91407, "end": 91504, "length": 98, - "parent_index": 5126 + "parent_index": 5127 }, "name": "StrategyInfo", "name_location": { @@ -103308,16 +104631,16 @@ "start": 91414, "end": 91425, "length": 12, - "parent_index": 5393 + "parent_index": 5394 }, "canonical_name": "BaseVault.StrategyInfo", "type_description": { - "type_identifier": "t_struct$_BaseVault_StrategyInfo_$5393", + "type_identifier": "t_struct$_BaseVault_StrategyInfo_$5394", "type_string": "struct BaseVault.StrategyInfo" }, "members": [ { - "id": 5394, + "id": 5395, "node_type": 44, "src": { "line": 2523, @@ -103325,12 +104648,12 @@ "start": 91437, "end": 91450, "length": 14, - "parent_index": 5393 + "parent_index": 5394 }, - "scope": 5193, + "scope": 5194, "name": "isActive", "type_name": { - "id": 5395, + "id": 5396, "node_type": 30, "src": { "line": 2523, @@ -103338,7 +104661,7 @@ "start": 91437, "end": 91440, "length": 4, - "parent_index": 5394 + "parent_index": 5395 }, "name": "bool", "referenced_declaration": 0, @@ -103355,7 +104678,7 @@ } }, { - "id": 5396, + "id": 5397, "node_type": 44, "src": { "line": 2524, @@ -103363,12 +104686,12 @@ "start": 91460, "end": 91473, "length": 14, - "parent_index": 5393 + "parent_index": 5394 }, - "scope": 5193, + "scope": 5194, "name": "tvlBps", "type_name": { - "id": 5397, + "id": 5398, "node_type": 30, "src": { "line": 2524, @@ -103376,7 +104699,7 @@ "start": 91460, "end": 91465, "length": 6, - "parent_index": 5396 + "parent_index": 5397 }, "name": "uint16", "referenced_declaration": 0, @@ -103393,7 +104716,7 @@ } }, { - "id": 5398, + "id": 5399, "node_type": 44, "src": { "line": 2525, @@ -103401,12 +104724,12 @@ "start": 91483, "end": 91498, "length": 16, - "parent_index": 5393 + "parent_index": 5394 }, - "scope": 5193, + "scope": 5194, "name": "balance", "type_name": { - "id": 5399, + "id": 5400, "node_type": 30, "src": { "line": 2525, @@ -103414,7 +104737,7 @@ "start": 91483, "end": 91489, "length": 7, - "parent_index": 5398 + "parent_index": 5399 }, "name": "uint232", "referenced_declaration": 0, @@ -103435,7 +104758,7 @@ "storage_location": 1 }, { - "id": 5401, + "id": 5402, "name": "strategies", "is_constant": false, "is_state_variable": true, @@ -103446,29 +104769,29 @@ "start": 91566, "end": 91617, "length": 52, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 5402, - "node_type": 0, + "id": 5403, + "node_type": 69, "src": { "line": 2529, "column": 4, "start": 91566, "end": 91598, "length": 33, - "parent_index": 5401 + "parent_index": 5402 }, "key_type": { - "id": 5403, + "id": 5404, "node_type": 30, "src": { "line": 2529, @@ -103476,10 +104799,10 @@ "start": 91574, "end": 91581, "length": 8, - "parent_index": 5402 + "parent_index": 5403 }, "name": "Strategy", - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -103491,24 +104814,24 @@ "start": 91574, "end": 91581, "length": 8, - "parent_index": 5402 + "parent_index": 5403 }, "value_type": { - "id": 5404, - "node_type": 30, + "id": 5405, + "node_type": 69, "src": { "line": 2529, "column": 24, "start": 91586, "end": 91597, "length": 12, - "parent_index": 5402 + "parent_index": 5403 }, "name": "StrategyInfo", - "referenced_declaration": 0, + "referenced_declaration": 5394, "type_description": { - "type_identifier": "t_StrategyInfo", - "type_string": "StrategyInfo" + "type_identifier": "t_struct$_BaseVault_StrategyInfo_$5394", + "type_string": "struct BaseVault.StrategyInfo" } }, "value_name_location": { @@ -103517,18 +104840,40 @@ "start": 91586, "end": 91597, "length": 12, - "parent_index": 5402 + "parent_index": 5403 }, - "referenced_declaration": 0, + "path_node": { + "id": 5406, + "name": "StrategyInfo", + "node_type": 52, + "referenced_declaration": 5394, + "src": { + "line": 2529, + "column": 24, + "start": 91586, + "end": 91597, + "length": 12, + "parent_index": 5403 + }, + "name_location": { + "line": 2529, + "column": 24, + "start": 91586, + "end": 91597, + "length": 12, + "parent_index": 5403 + } + }, + "referenced_declaration": 5394, "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" } }, "initial_value": null }, { - "id": 5406, + "id": 5408, "name": "MAX_BPS", "is_constant": true, "is_state_variable": true, @@ -103539,9 +104884,9 @@ "start": 91624, "end": 91657, "length": 34, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 10_000" @@ -103550,7 +104895,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5407, + "id": 5409, "node_type": 30, "src": { "line": 2531, @@ -103558,7 +104903,7 @@ "start": 91624, "end": 91630, "length": 7, - "parent_index": 5406 + "parent_index": 5408 }, "name": "uint256", "referenced_declaration": 0, @@ -103568,7 +104913,7 @@ } }, "initial_value": { - "id": 5408, + "id": 5410, "node_type": 17, "kind": 49, "value": "10_000", @@ -103579,7 +104924,7 @@ "start": 91651, "end": 91656, "length": 6, - "parent_index": 5406 + "parent_index": 5408 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -103587,11 +104932,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10_000" } }, { - "id": 5410, + "id": 5412, "name": "totalBps", "is_constant": false, "is_state_variable": true, @@ -103602,9 +104948,9 @@ "start": 91767, "end": 91790, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -103613,7 +104959,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5411, + "id": 5413, "node_type": 30, "src": { "line": 2533, @@ -103621,7 +104967,7 @@ "start": 91767, "end": 91773, "length": 7, - "parent_index": 5410 + "parent_index": 5412 }, "name": "uint256", "referenced_declaration": 0, @@ -103633,7 +104979,7 @@ "initial_value": null }, { - "id": 5413, + "id": 5415, "node_type": 57, "src": { "line": 2536, @@ -103641,10 +104987,10 @@ "start": 91860, "end": 91906, "length": 47, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5414, + "id": 5416, "node_type": 43, "src": { "line": 2536, @@ -103652,11 +104998,11 @@ "start": 91860, "end": 91906, "length": 47, - "parent_index": 5413 + "parent_index": 5415 }, "parameters": [ { - "id": 5415, + "id": 5417, "node_type": 44, "src": { "line": 2536, @@ -103664,12 +105010,12 @@ "start": 91880, "end": 91904, "length": 25, - "parent_index": 5414 + "parent_index": 5416 }, - "scope": 5413, + "scope": 5415, "name": "strategy", "type_name": { - "id": 5416, + "id": 5418, "node_type": 69, "src": { "line": 2536, @@ -103677,10 +105023,10 @@ "start": 91880, "end": 91887, "length": 8, - "parent_index": 5415 + "parent_index": 5417 }, "path_node": { - "id": 5417, + "id": 5419, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -103690,7 +105036,7 @@ "start": 91880, "end": 91887, "length": 8, - "parent_index": 5416 + "parent_index": 5418 }, "name_location": { "line": 2536, @@ -103698,10 +105044,10 @@ "start": 91880, "end": 91887, "length": 8, - "parent_index": 5416 + "parent_index": 5418 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -103720,12 +105066,12 @@ "name": "StrategyAdded", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265413", + "type_identifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265415", "type_string": "event BaseVault.StrategyAdded" } }, { - "id": 5419, + "id": 5421, "node_type": 57, "src": { "line": 2538, @@ -103733,10 +105079,10 @@ "start": 91977, "end": 92025, "length": 49, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5420, + "id": 5422, "node_type": 43, "src": { "line": 2538, @@ -103744,11 +105090,11 @@ "start": 91977, "end": 92025, "length": 49, - "parent_index": 5419 + "parent_index": 5421 }, "parameters": [ { - "id": 5421, + "id": 5423, "node_type": 44, "src": { "line": 2538, @@ -103756,12 +105102,12 @@ "start": 91999, "end": 92023, "length": 25, - "parent_index": 5420 + "parent_index": 5422 }, - "scope": 5419, + "scope": 5421, "name": "strategy", "type_name": { - "id": 5422, + "id": 5424, "node_type": 69, "src": { "line": 2538, @@ -103769,10 +105115,10 @@ "start": 91999, "end": 92006, "length": 8, - "parent_index": 5421 + "parent_index": 5423 }, "path_node": { - "id": 5423, + "id": 5425, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -103782,7 +105128,7 @@ "start": 91999, "end": 92006, "length": 8, - "parent_index": 5422 + "parent_index": 5424 }, "name_location": { "line": 2538, @@ -103790,10 +105136,10 @@ "start": 91999, "end": 92006, "length": 8, - "parent_index": 5422 + "parent_index": 5424 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -103812,12 +105158,12 @@ "name": "StrategyRemoved", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265419", + "type_identifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265421", "type_string": "event BaseVault.StrategyRemoved" } }, { - "id": 5425, + "id": 5427, "name": "addStrategy", "node_type": 42, "kind": 41, @@ -103827,7 +105173,7 @@ "start": 92234, "end": 92618, "length": 385, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2545, @@ -103835,10 +105181,10 @@ "start": 92243, "end": 92253, "length": 11, - "parent_index": 5425 + "parent_index": 5427 }, "body": { - "id": 5435, + "id": 5437, "node_type": 46, "kind": 0, "src": { @@ -103847,12 +105193,12 @@ "start": 92313, "end": 92618, "length": 306, - "parent_index": 5425 + "parent_index": 5427 }, "implemented": true, "statements": [ { - "id": 5436, + "id": 5438, "node_type": 24, "kind": 24, "src": { @@ -103861,7 +105207,7 @@ "start": 92323, "end": 92345, "length": 23, - "parent_index": 5435 + "parent_index": 5437 }, "argument_types": [ { @@ -103871,7 +105217,7 @@ ], "arguments": [ { - "id": 5438, + "id": 5440, "node_type": 16, "src": { "line": 2546, @@ -103879,7 +105225,7 @@ "start": 92339, "end": 92344, "length": 6, - "parent_index": 5436 + "parent_index": 5438 }, "name": "tvlBps", "type_description": { @@ -103887,12 +105233,13 @@ "type_string": "uint16" }, "overloaded_declarations": [], - "referenced_declaration": 5438, - "is_pure": false + "referenced_declaration": 5440, + "is_pure": false, + "text": "tvlBps" } ], "expression": { - "id": 5437, + "id": 5439, "node_type": 16, "src": { "line": 2546, @@ -103900,7 +105247,7 @@ "start": 92323, "end": 92337, "length": 15, - "parent_index": 5436 + "parent_index": 5438 }, "name": "_increaseTVLBps", "type_description": { @@ -103909,7 +105256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_increaseTVLBps" }, "type_description": { "type_identifier": "t_function_$_t_uint16$", @@ -103917,7 +105265,7 @@ } }, { - "id": 5439, + "id": 5441, "node_type": 27, "src": { "line": 2547, @@ -103925,10 +105273,10 @@ "start": 92356, "end": 92437, "length": 82, - "parent_index": 5435 + "parent_index": 5437 }, "expression": { - "id": 5440, + "id": 5442, "node_type": 27, "src": { "line": 2547, @@ -103936,11 +105284,11 @@ "start": 92356, "end": 92436, "length": 81, - "parent_index": 5439 + "parent_index": 5441 }, "operator": 11, "left_expression": { - "id": 5441, + "id": 5443, "node_type": 22, "src": { "line": 2547, @@ -103948,10 +105296,10 @@ "start": 92356, "end": 92375, "length": 20, - "parent_index": 5440 + "parent_index": 5442 }, "index_expression": { - "id": 5442, + "id": 5444, "node_type": 16, "src": { "line": 2547, @@ -103959,19 +105307,20 @@ "start": 92356, "end": 92365, "length": 10, - "parent_index": 5441 + "parent_index": 5443 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5443, + "id": 5445, "node_type": 16, "src": { "line": 2547, @@ -103979,31 +105328,32 @@ "start": 92367, "end": 92374, "length": 8, - "parent_index": 5441 + "parent_index": 5443 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, null ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "right_expression": { - "id": 5444, + "id": 5446, "node_type": 24, "kind": 24, "src": { @@ -104012,12 +105362,12 @@ "start": 92379, "end": 92436, "length": 58, - "parent_index": 5440 + "parent_index": 5442 }, "argument_types": [], "arguments": [], "expression": { - "id": 5445, + "id": 5447, "node_type": 16, "src": { "line": 2547, @@ -104025,7 +105375,7 @@ "start": 92379, "end": 92390, "length": 12, - "parent_index": 5444 + "parent_index": 5446 }, "name": "StrategyInfo", "type_description": { @@ -104034,7 +105384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "StrategyInfo" }, "type_description": { "type_identifier": "t_function_$", @@ -104042,17 +105393,18 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy]=StrategyInfo({isActive:true,tvlBps:tvlBps,balance:0});" }, { - "id": 5446, + "id": 5448, "node_type": 27, "src": { "line": 2549, @@ -104060,10 +105412,10 @@ "start": 92492, "end": 92538, "length": 47, - "parent_index": 5435 + "parent_index": 5437 }, "expression": { - "id": 5447, + "id": 5449, "node_type": 27, "src": { "line": 2549, @@ -104071,11 +105423,11 @@ "start": 92492, "end": 92537, "length": 46, - "parent_index": 5446 + "parent_index": 5448 }, "operator": 11, "left_expression": { - "id": 5448, + "id": 5450, "node_type": 22, "src": { "line": 2549, @@ -104083,10 +105435,10 @@ "start": 92492, "end": 92526, "length": 35, - "parent_index": 5447 + "parent_index": 5449 }, "index_expression": { - "id": 5449, + "id": 5451, "node_type": 16, "src": { "line": 2549, @@ -104094,7 +105446,7 @@ "start": 92492, "end": 92506, "length": 15, - "parent_index": 5448 + "parent_index": 5450 }, "name": "withdrawalQueue", "type_description": { @@ -104102,11 +105454,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5450, + "id": 5452, "is_constant": false, "is_pure": false, "node_type": 19, @@ -104116,11 +105469,11 @@ "start": 92508, "end": 92525, "length": 18, - "parent_index": 5448 + "parent_index": 5450 }, "operator": 2, "left_expression": { - "id": 5451, + "id": 5453, "node_type": 16, "src": { "line": 2549, @@ -104128,7 +105481,7 @@ "start": 92508, "end": 92521, "length": 14, - "parent_index": 5450 + "parent_index": 5452 }, "name": "MAX_STRATEGIES", "type_description": { @@ -104136,11 +105489,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "right_expression": { - "id": 5452, + "id": 5454, "node_type": 17, "kind": 49, "value": "1", @@ -104151,7 +105505,7 @@ "start": 92525, "end": 92525, "length": 1, - "parent_index": 5450 + "parent_index": 5452 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -104159,7 +105513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -104182,7 +105537,7 @@ } }, "right_expression": { - "id": 5453, + "id": 5455, "node_type": 16, "src": { "line": 2549, @@ -104190,16 +105545,17 @@ "start": 92530, "end": 92537, "length": 8, - "parent_index": 5447 + "parent_index": 5449 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_description": { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_rational_20_by_1]$", @@ -104209,10 +105565,11 @@ "type_description": { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_rational_20_by_1]$", "type_string": "index[int_const 20:int_const 20]" - } + }, + "text": "withdrawalQueue[MAX_STRATEGIES-1]=strategy;" }, { - "id": 5454, + "id": 5456, "node_type": 64, "src": { "line": 2550, @@ -104220,11 +105577,11 @@ "start": 92548, "end": 92576, "length": 29, - "parent_index": 5425 + "parent_index": 5427 }, "arguments": [ { - "id": 5455, + "id": 5457, "node_type": 16, "src": { "line": 2550, @@ -104232,20 +105589,21 @@ "start": 92567, "end": 92574, "length": 8, - "parent_index": 5454 + "parent_index": 5456 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5456, + "id": 5458, "node_type": 16, "src": { "line": 2550, @@ -104253,20 +105611,21 @@ "start": 92553, "end": 92565, "length": 13, - "parent_index": 5454 + "parent_index": 5456 }, "name": "StrategyAdded", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265413", + "type_identifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265415", "type_string": "event BaseVault.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 5413, - "is_pure": false + "referenced_declaration": 5415, + "is_pure": false, + "text": "StrategyAdded" } }, { - "id": 5457, + "id": 5459, "node_type": 24, "kind": 24, "src": { @@ -104275,12 +105634,12 @@ "start": 92586, "end": 92611, "length": 26, - "parent_index": 5435 + "parent_index": 5437 }, "argument_types": [], "arguments": [], "expression": { - "id": 5458, + "id": 5460, "node_type": 16, "src": { "line": 2551, @@ -104288,7 +105647,7 @@ "start": 92586, "end": 92609, "length": 24, - "parent_index": 5457 + "parent_index": 5459 }, "name": "_organizeWithdrawalQueue", "type_description": { @@ -104297,7 +105656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_organizeWithdrawalQueue" }, "type_description": { "type_identifier": "t_function_$", @@ -104312,7 +105672,7 @@ "virtual": false, "modifiers": [ { - "id": 5432, + "id": 5434, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -104322,12 +105682,12 @@ "start": 92298, "end": 92311, "length": 14, - "parent_index": 5425 + "parent_index": 5427 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5433, + "id": 5435, "name": "onlyGovernance", "node_type": 0, "src": { @@ -104336,14 +105696,14 @@ "start": 92298, "end": 92311, "length": 14, - "parent_index": 5432 + "parent_index": 5434 } } } ], "overrides": [], "parameters": { - "id": 5426, + "id": 5428, "node_type": 43, "src": { "line": 2545, @@ -104351,11 +105711,11 @@ "start": 92255, "end": 92286, "length": 32, - "parent_index": 5425 + "parent_index": 5427 }, "parameters": [ { - "id": 5427, + "id": 5429, "node_type": 44, "src": { "line": 2545, @@ -104363,12 +105723,12 @@ "start": 92255, "end": 92271, "length": 17, - "parent_index": 5426 + "parent_index": 5428 }, - "scope": 5425, + "scope": 5427, "name": "strategy", "type_name": { - "id": 5428, + "id": 5430, "node_type": 69, "src": { "line": 2545, @@ -104376,10 +105736,10 @@ "start": 92255, "end": 92262, "length": 8, - "parent_index": 5427 + "parent_index": 5429 }, "path_node": { - "id": 5429, + "id": 5431, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -104389,7 +105749,7 @@ "start": 92255, "end": 92262, "length": 8, - "parent_index": 5428 + "parent_index": 5430 }, "name_location": { "line": 2545, @@ -104397,10 +105757,10 @@ "start": 92255, "end": 92262, "length": 8, - "parent_index": 5428 + "parent_index": 5430 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -104411,7 +105771,7 @@ "state_mutability": 1 }, { - "id": 5430, + "id": 5432, "node_type": 44, "src": { "line": 2545, @@ -104419,12 +105779,12 @@ "start": 92274, "end": 92286, "length": 13, - "parent_index": 5426 + "parent_index": 5428 }, - "scope": 5425, + "scope": 5427, "name": "tvlBps", "type_name": { - "id": 5431, + "id": 5433, "node_type": 30, "src": { "line": 2545, @@ -104432,7 +105792,7 @@ "start": 92274, "end": 92279, "length": 6, - "parent_index": 5430 + "parent_index": 5432 }, "name": "uint16", "referenced_declaration": 0, @@ -104459,7 +105819,7 @@ ] }, "return_parameters": { - "id": 5434, + "id": 5436, "node_type": 43, "src": { "line": 2545, @@ -104467,21 +105827,22 @@ "start": 92234, "end": 92618, "length": 385, - "parent_index": 5425 + "parent_index": 5427 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "addStrategy(, uint16)", - "signature": "c0d4943b", - "scope": 5193, + "signature_raw": "addStrategy(,uint16)", + "signature": "54f4ad68", + "scope": 5194, "type_description": { - "type_identifier": "t_function_$_t_unknown_5425$_t_uint16$", - "type_string": "function(unknown_5425,uint16)" - } + "type_identifier": "t_function_$_t_unknown_5427$_t_uint16$", + "type_string": "function(unknown_5427,uint16)" + }, + "text": "functionaddStrategy(Strategystrategy,uint16tvlBps)externalonlyGovernance{_increaseTVLBps(tvlBps);strategies[strategy]=StrategyInfo({isActive:true,tvlBps:tvlBps,balance:0});withdrawalQueue[MAX_STRATEGIES-1]=strategy;emitStrategyAdded(strategy);_organizeWithdrawalQueue();}" }, { - "id": 5460, + "id": 5462, "name": "_increaseTVLBps", "node_type": 42, "kind": 41, @@ -104491,7 +105852,7 @@ "start": 92742, "end": 92940, "length": 199, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2555, @@ -104499,10 +105860,10 @@ "start": 92751, "end": 92765, "length": 15, - "parent_index": 5460 + "parent_index": 5462 }, "body": { - "id": 5465, + "id": 5467, "node_type": 46, "kind": 0, "src": { @@ -104511,12 +105872,12 @@ "start": 92792, "end": 92940, "length": 149, - "parent_index": 5460 + "parent_index": 5462 }, "implemented": true, "statements": [ { - "id": 5466, + "id": 5468, "node_type": 44, "src": { "line": 2556, @@ -104524,25 +105885,25 @@ "start": 92802, "end": 92841, "length": 40, - "parent_index": 5465 + "parent_index": 5467 }, "assignments": [ - 5467 + 5469 ], "declarations": [ { - "id": 5467, + "id": 5469, "state_mutability": 1, "name": "newTotalBps", "node_type": 44, - "scope": 5465, + "scope": 5467, "src": { "line": 2556, "column": 8, "start": 92802, "end": 92820, "length": 19, - "parent_index": 5466 + "parent_index": 5468 }, "name_location": { "line": 2556, @@ -104550,12 +105911,12 @@ "start": 92810, "end": 92820, "length": 11, - "parent_index": 5467 + "parent_index": 5469 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5468, + "id": 5470, "node_type": 30, "src": { "line": 2556, @@ -104563,7 +105924,7 @@ "start": 92802, "end": 92808, "length": 7, - "parent_index": 5467 + "parent_index": 5469 }, "name": "uint256", "referenced_declaration": 0, @@ -104576,7 +105937,7 @@ } ], "initial_value": { - "id": 5469, + "id": 5471, "is_constant": false, "is_pure": false, "node_type": 19, @@ -104586,11 +105947,11 @@ "start": 92824, "end": 92840, "length": 17, - "parent_index": 5466 + "parent_index": 5468 }, "operator": 1, "left_expression": { - "id": 5470, + "id": 5472, "node_type": 16, "src": { "line": 2556, @@ -104598,7 +105959,7 @@ "start": 92824, "end": 92831, "length": 8, - "parent_index": 5469 + "parent_index": 5471 }, "name": "totalBps", "type_description": { @@ -104606,11 +105967,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5410, - "is_pure": false + "referenced_declaration": 5412, + "is_pure": false, + "text": "totalBps" }, "right_expression": { - "id": 5471, + "id": 5473, "node_type": 16, "src": { "line": 2556, @@ -104618,7 +105980,7 @@ "start": 92835, "end": 92840, "length": 6, - "parent_index": 5469 + "parent_index": 5471 }, "name": "tvlBps", "type_description": { @@ -104626,8 +105988,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5471, - "is_pure": false + "referenced_declaration": 5473, + "is_pure": false, + "text": "tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -104636,7 +105999,7 @@ } }, { - "id": 5472, + "id": 5474, "node_type": 24, "kind": 24, "src": { @@ -104645,7 +106008,7 @@ "start": 92851, "end": 92901, "length": 51, - "parent_index": 5465 + "parent_index": 5467 }, "argument_types": [ { @@ -104659,7 +106022,7 @@ ], "arguments": [ { - "id": 5474, + "id": 5476, "is_constant": false, "is_pure": false, "node_type": 19, @@ -104669,11 +106032,11 @@ "start": 92859, "end": 92880, "length": 22, - "parent_index": 5472 + "parent_index": 5474 }, "operator": 10, "left_expression": { - "id": 5475, + "id": 5477, "node_type": 16, "src": { "line": 2557, @@ -104681,7 +106044,7 @@ "start": 92859, "end": 92869, "length": 11, - "parent_index": 5474 + "parent_index": 5476 }, "name": "newTotalBps", "type_description": { @@ -104689,11 +106052,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5466, - "is_pure": false + "referenced_declaration": 5468, + "is_pure": false, + "text": "newTotalBps" }, "right_expression": { - "id": 5476, + "id": 5478, "node_type": 16, "src": { "line": 2557, @@ -104701,7 +106065,7 @@ "start": 92874, "end": 92880, "length": 7, - "parent_index": 5474 + "parent_index": 5476 }, "name": "MAX_BPS", "type_description": { @@ -104709,8 +106073,9 @@ "type_string": "int_const 10_000" }, "overloaded_declarations": [], - "referenced_declaration": 5406, - "is_pure": false + "referenced_declaration": 5408, + "is_pure": false, + "text": "MAX_BPS" }, "type_description": { "type_identifier": "t_bool", @@ -104718,7 +106083,7 @@ } }, { - "id": 5477, + "id": 5479, "node_type": 17, "kind": 50, "value": "BV: too many bps", @@ -104729,7 +106094,7 @@ "start": 92883, "end": 92900, "length": 18, - "parent_index": 5472 + "parent_index": 5474 }, "type_description": { "type_identifier": "t_string_literal", @@ -104743,11 +106108,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BV: too many bps\"" } ], "expression": { - "id": 5473, + "id": 5475, "node_type": 16, "src": { "line": 2557, @@ -104755,7 +106121,7 @@ "start": 92851, "end": 92857, "length": 7, - "parent_index": 5472 + "parent_index": 5474 }, "name": "require", "type_description": { @@ -104764,7 +106130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -104772,7 +106139,7 @@ } }, { - "id": 5478, + "id": 5480, "node_type": 27, "src": { "line": 2558, @@ -104780,10 +106147,10 @@ "start": 92912, "end": 92934, "length": 23, - "parent_index": 5465 + "parent_index": 5467 }, "expression": { - "id": 5479, + "id": 5481, "node_type": 27, "src": { "line": 2558, @@ -104791,11 +106158,11 @@ "start": 92912, "end": 92933, "length": 22, - "parent_index": 5478 + "parent_index": 5480 }, "operator": 11, "left_expression": { - "id": 5480, + "id": 5482, "node_type": 16, "src": { "line": 2558, @@ -104803,7 +106170,7 @@ "start": 92912, "end": 92919, "length": 8, - "parent_index": 5479 + "parent_index": 5481 }, "name": "totalBps", "type_description": { @@ -104811,11 +106178,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5410, - "is_pure": false + "referenced_declaration": 5412, + "is_pure": false, + "text": "totalBps" }, "right_expression": { - "id": 5481, + "id": 5483, "node_type": 16, "src": { "line": 2558, @@ -104823,7 +106191,7 @@ "start": 92923, "end": 92933, "length": 11, - "parent_index": 5479 + "parent_index": 5481 }, "name": "newTotalBps", "type_description": { @@ -104831,8 +106199,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5466, - "is_pure": false + "referenced_declaration": 5468, + "is_pure": false, + "text": "newTotalBps" }, "type_description": { "type_identifier": "t_uint256", @@ -104842,7 +106211,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalBps=newTotalBps;" } ] }, @@ -104853,7 +106223,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5461, + "id": 5463, "node_type": 43, "src": { "line": 2555, @@ -104861,11 +106231,11 @@ "start": 92767, "end": 92780, "length": 14, - "parent_index": 5460 + "parent_index": 5462 }, "parameters": [ { - "id": 5462, + "id": 5464, "node_type": 44, "src": { "line": 2555, @@ -104873,12 +106243,12 @@ "start": 92767, "end": 92780, "length": 14, - "parent_index": 5461 + "parent_index": 5463 }, - "scope": 5460, + "scope": 5462, "name": "tvlBps", "type_name": { - "id": 5463, + "id": 5465, "node_type": 30, "src": { "line": 2555, @@ -104886,7 +106256,7 @@ "start": 92767, "end": 92773, "length": 7, - "parent_index": 5462 + "parent_index": 5464 }, "name": "uint256", "referenced_declaration": 0, @@ -104912,7 +106282,7 @@ ] }, "return_parameters": { - "id": 5464, + "id": 5466, "node_type": 43, "src": { "line": 2555, @@ -104920,21 +106290,22 @@ "start": 92742, "end": 92940, "length": 199, - "parent_index": 5460 + "parent_index": 5462 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_increaseTVLBps(uint256)", "signature": "05680cff", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_increaseTVLBps(uint256tvlBps)internal{uint256newTotalBps=totalBps+tvlBps;require(newTotalBps\u003c=MAX_BPS,\"BV: too many bps\");totalBps=newTotalBps;}" }, { - "id": 5483, + "id": 5485, "name": "_organizeWithdrawalQueue", "node_type": 42, "kind": 41, @@ -104944,7 +106315,7 @@ "start": 93186, "end": 93795, "length": 610, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2566, @@ -104952,10 +106323,10 @@ "start": 93195, "end": 93218, "length": 24, - "parent_index": 5483 + "parent_index": 5485 }, "body": { - "id": 5486, + "id": 5488, "node_type": 46, "kind": 0, "src": { @@ -104964,12 +106335,12 @@ "start": 93231, "end": 93795, "length": 565, - "parent_index": 5483 + "parent_index": 5485 }, "implemented": true, "statements": [ { - "id": 5487, + "id": 5489, "node_type": 44, "src": { "line": 2568, @@ -104977,25 +106348,25 @@ "start": 93315, "end": 93329, "length": 15, - "parent_index": 5486 + "parent_index": 5488 }, "assignments": [ - 5488 + 5490 ], "declarations": [ { - "id": 5488, + "id": 5490, "state_mutability": 1, "name": "offset", "node_type": 44, - "scope": 5486, + "scope": 5488, "src": { "line": 2568, "column": 8, "start": 93315, "end": 93328, "length": 14, - "parent_index": 5487 + "parent_index": 5489 }, "name_location": { "line": 2568, @@ -105003,12 +106374,12 @@ "start": 93323, "end": 93328, "length": 6, - "parent_index": 5488 + "parent_index": 5490 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5489, + "id": 5491, "node_type": 30, "src": { "line": 2568, @@ -105016,7 +106387,7 @@ "start": 93315, "end": 93321, "length": 7, - "parent_index": 5488 + "parent_index": 5490 }, "name": "uint256", "referenced_declaration": 0, @@ -105030,7 +106401,7 @@ ] }, { - "id": 5490, + "id": 5492, "node_type": 79, "src": { "line": 2570, @@ -105038,10 +106409,10 @@ "start": 93340, "end": 93789, "length": 450, - "parent_index": 5486 + "parent_index": 5488 }, "initialiser": { - "id": 5491, + "id": 5493, "node_type": 44, "src": { "line": 2570, @@ -105049,25 +106420,25 @@ "start": 93345, "end": 93358, "length": 14, - "parent_index": 5486 + "parent_index": 5488 }, "assignments": [ - 5492 + 5494 ], "declarations": [ { - "id": 5492, + "id": 5494, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5486, + "scope": 5488, "src": { "line": 2570, "column": 13, "start": 93345, "end": 93353, "length": 9, - "parent_index": 5491 + "parent_index": 5493 }, "name_location": { "line": 2570, @@ -105075,12 +106446,12 @@ "start": 93353, "end": 93353, "length": 1, - "parent_index": 5492 + "parent_index": 5494 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5493, + "id": 5495, "node_type": 30, "src": { "line": 2570, @@ -105088,7 +106459,7 @@ "start": 93345, "end": 93351, "length": 7, - "parent_index": 5492 + "parent_index": 5494 }, "name": "uint256", "referenced_declaration": 0, @@ -105101,7 +106472,7 @@ } ], "initial_value": { - "id": 5494, + "id": 5496, "node_type": 17, "kind": 49, "value": "0", @@ -105112,7 +106483,7 @@ "start": 93357, "end": 93357, "length": 1, - "parent_index": 5491 + "parent_index": 5493 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -105120,11 +106491,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5495, + "id": 5497, "is_constant": false, "is_pure": false, "node_type": 19, @@ -105134,11 +106506,11 @@ "start": 93360, "end": 93377, "length": 18, - "parent_index": 5490 + "parent_index": 5492 }, "operator": 9, "left_expression": { - "id": 5496, + "id": 5498, "node_type": 16, "src": { "line": 2570, @@ -105146,7 +106518,7 @@ "start": 93360, "end": 93360, "length": 1, - "parent_index": 5495 + "parent_index": 5497 }, "name": "i", "type_description": { @@ -105155,10 +106527,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5497, + "id": 5499, "node_type": 16, "src": { "line": 2570, @@ -105166,7 +106539,7 @@ "start": 93364, "end": 93377, "length": 14, - "parent_index": 5495 + "parent_index": 5497 }, "name": "MAX_STRATEGIES", "type_description": { @@ -105174,8 +106547,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -105183,7 +106557,7 @@ } }, "closure": { - "id": 5498, + "id": 5500, "node_type": 27, "src": { "line": 2570, @@ -105191,11 +106565,11 @@ "start": 93380, "end": 93398, "length": 19, - "parent_index": 5490 + "parent_index": 5492 }, "operator": 11, "left_expression": { - "id": 5499, + "id": 5501, "node_type": 16, "src": { "line": 2570, @@ -105203,7 +106577,7 @@ "start": 93380, "end": 93380, "length": 1, - "parent_index": 5498 + "parent_index": 5500 }, "name": "i", "type_description": { @@ -105212,10 +106586,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5500, + "id": 5502, "node_type": 24, "kind": 24, "src": { @@ -105224,7 +106599,7 @@ "start": 93384, "end": 93398, "length": 15, - "parent_index": 5498 + "parent_index": 5500 }, "argument_types": [ { @@ -105234,7 +106609,7 @@ ], "arguments": [ { - "id": 5502, + "id": 5504, "node_type": 16, "src": { "line": 2570, @@ -105242,7 +106617,7 @@ "start": 93397, "end": 93397, "length": 1, - "parent_index": 5500 + "parent_index": 5502 }, "name": "i", "type_description": { @@ -105251,11 +106626,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5501, + "id": 5503, "node_type": 16, "src": { "line": 2570, @@ -105263,7 +106639,7 @@ "start": 93384, "end": 93395, "length": 12, - "parent_index": 5500 + "parent_index": 5502 }, "name": "uncheckedInc", "type_description": { @@ -105272,7 +106648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -105285,7 +106662,7 @@ } }, "body": { - "id": 5503, + "id": 5505, "node_type": 46, "kind": 0, "src": { @@ -105294,12 +106671,12 @@ "start": 93401, "end": 93789, "length": 389, - "parent_index": 5490 + "parent_index": 5492 }, "implemented": true, "statements": [ { - "id": 5504, + "id": 5506, "node_type": 44, "src": { "line": 2571, @@ -105307,25 +106684,25 @@ "start": 93415, "end": 93453, "length": 39, - "parent_index": 5503 + "parent_index": 5505 }, "assignments": [ - 5505 + 5507 ], "declarations": [ { - "id": 5505, + "id": 5507, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 5503, + "scope": 5505, "src": { "line": 2571, "column": 12, "start": 93415, "end": 93431, "length": 17, - "parent_index": 5504 + "parent_index": 5506 }, "name_location": { "line": 2571, @@ -105333,12 +106710,12 @@ "start": 93424, "end": 93431, "length": 8, - "parent_index": 5505 + "parent_index": 5507 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5506, + "id": 5508, "node_type": 69, "src": { "line": 2571, @@ -105346,10 +106723,10 @@ "start": 93415, "end": 93422, "length": 8, - "parent_index": 5505 + "parent_index": 5507 }, "path_node": { - "id": 5507, + "id": 5509, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -105359,7 +106736,7 @@ "start": 93415, "end": 93422, "length": 8, - "parent_index": 5506 + "parent_index": 5508 }, "name_location": { "line": 2571, @@ -105367,10 +106744,10 @@ "start": 93415, "end": 93422, "length": 8, - "parent_index": 5506 + "parent_index": 5508 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -105380,7 +106757,7 @@ } ], "initial_value": { - "id": 5508, + "id": 5510, "node_type": 22, "src": { "line": 2571, @@ -105388,10 +106765,10 @@ "start": 93435, "end": 93452, "length": 18, - "parent_index": 5504 + "parent_index": 5506 }, "index_expression": { - "id": 5509, + "id": 5511, "node_type": 16, "src": { "line": 2571, @@ -105399,7 +106776,7 @@ "start": 93435, "end": 93449, "length": 15, - "parent_index": 5508 + "parent_index": 5510 }, "name": "withdrawalQueue", "type_description": { @@ -105407,11 +106784,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5510, + "id": 5512, "node_type": 16, "src": { "line": 2571, @@ -105419,7 +106797,7 @@ "start": 93451, "end": 93451, "length": 1, - "parent_index": 5508 + "parent_index": 5510 }, "name": "i", "type_description": { @@ -105428,7 +106806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -105447,7 +106826,7 @@ } }, { - "id": 5511, + "id": 5513, "node_type": 48, "src": { "line": 2572, @@ -105455,10 +106834,10 @@ "start": 93467, "end": 93779, "length": 313, - "parent_index": 5503 + "parent_index": 5505 }, "condition": { - "id": 5512, + "id": 5514, "is_constant": false, "is_pure": false, "node_type": 19, @@ -105468,11 +106847,11 @@ "start": 93471, "end": 93501, "length": 31, - "parent_index": 5511 + "parent_index": 5513 }, "operator": 11, "left_expression": { - "id": 5513, + "id": 5515, "node_type": 24, "kind": 24, "src": { @@ -105481,17 +106860,17 @@ "start": 93471, "end": 93487, "length": 17, - "parent_index": 5512 + "parent_index": 5514 }, "argument_types": [ { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" } ], "arguments": [ { - "id": 5516, + "id": 5518, "node_type": 16, "src": { "line": 2572, @@ -105499,20 +106878,21 @@ "start": 93479, "end": 93486, "length": 8, - "parent_index": 5513 + "parent_index": 5515 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5514, + "id": 5516, "node_type": 16, "src": { "line": 2572, @@ -105520,11 +106900,11 @@ "start": 93471, "end": 93477, "length": 7, - "parent_index": 5513 + "parent_index": 5515 }, "name": "address", "type_name": { - "id": 5515, + "id": 5517, "node_type": 30, "src": { "line": 2572, @@ -105532,7 +106912,7 @@ "start": 93471, "end": 93477, "length": 7, - "parent_index": 5514 + "parent_index": 5516 }, "name": "address", "state_mutability": 4, @@ -105554,15 +106934,16 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { - "type_identifier": "t_function_$_t_event\u0026_Global_StrategyAdded_\u00267928$", + "type_identifier": "t_function_$_t_event\u0026_Global_StrategyAdded_\u00267932$", "type_string": "function(event Global.StrategyAdded)" } }, "right_expression": { - "id": 5517, + "id": 5519, "node_type": 24, "kind": 24, "src": { @@ -105571,7 +106952,7 @@ "start": 93492, "end": 93501, "length": 10, - "parent_index": 5512 + "parent_index": 5514 }, "argument_types": [ { @@ -105581,7 +106962,7 @@ ], "arguments": [ { - "id": 5520, + "id": 5522, "node_type": 17, "kind": 49, "value": "0", @@ -105592,7 +106973,7 @@ "start": 93500, "end": 93500, "length": 1, - "parent_index": 5517 + "parent_index": 5519 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -105600,11 +106981,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 5518, + "id": 5520, "node_type": 16, "src": { "line": 2572, @@ -105612,11 +106994,11 @@ "start": 93492, "end": 93498, "length": 7, - "parent_index": 5517 + "parent_index": 5519 }, "name": "address", "type_name": { - "id": 5519, + "id": 5521, "node_type": 30, "src": { "line": 2572, @@ -105624,7 +107006,7 @@ "start": 93492, "end": 93498, "length": 7, - "parent_index": 5518 + "parent_index": 5520 }, "name": "address", "state_mutability": 4, @@ -105646,7 +107028,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -105659,7 +107042,7 @@ } }, "body": { - "id": 5521, + "id": 5523, "node_type": 46, "kind": 0, "src": { @@ -105668,12 +107051,12 @@ "start": 93504, "end": 93547, "length": 44, - "parent_index": 5490 + "parent_index": 5492 }, "implemented": true, "statements": [ { - "id": 5522, + "id": 5524, "node_type": 27, "src": { "line": 2573, @@ -105681,10 +107064,10 @@ "start": 93522, "end": 93533, "length": 12, - "parent_index": 5521 + "parent_index": 5523 }, "expression": { - "id": 5523, + "id": 5525, "node_type": 27, "src": { "line": 2573, @@ -105692,11 +107075,11 @@ "start": 93522, "end": 93532, "length": 11, - "parent_index": 5522 + "parent_index": 5524 }, "operator": 13, "left_expression": { - "id": 5524, + "id": 5526, "node_type": 16, "src": { "line": 2573, @@ -105704,7 +107087,7 @@ "start": 93522, "end": 93527, "length": 6, - "parent_index": 5523 + "parent_index": 5525 }, "name": "offset", "type_description": { @@ -105712,11 +107095,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5487, - "is_pure": false + "referenced_declaration": 5489, + "is_pure": false, + "text": "offset" }, "right_expression": { - "id": 5525, + "id": 5527, "node_type": 17, "kind": 49, "value": "1", @@ -105727,7 +107111,7 @@ "start": 93532, "end": 93532, "length": 1, - "parent_index": 5523 + "parent_index": 5525 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -105735,7 +107119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -105745,7 +107130,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "offset+=1;" } ] } @@ -105762,7 +107148,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5484, + "id": 5486, "node_type": 43, "src": { "line": 2566, @@ -105770,13 +107156,13 @@ "start": 93186, "end": 93795, "length": 610, - "parent_index": 5483 + "parent_index": 5485 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 5485, + "id": 5487, "node_type": 43, "src": { "line": 2566, @@ -105784,21 +107170,22 @@ "start": 93186, "end": 93795, "length": 610, - "parent_index": 5483 + "parent_index": 5485 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_organizeWithdrawalQueue()", "signature": "5d890d05", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_organizeWithdrawalQueue()internal{uint256offset;for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){Strategystrategy=withdrawalQueue[i];if(address(strategy)==address(0)){offset+=1;}elseif(offset\u003e0){withdrawalQueue[i-offset]=strategy;withdrawalQueue[i]=Strategy(address(0));}}}" }, { - "id": 5527, + "id": 5529, "name": "removeStrategy", "node_type": 42, "kind": 41, @@ -105808,7 +107195,7 @@ "start": 94141, "end": 94933, "length": 793, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2588, @@ -105816,10 +107203,10 @@ "start": 94150, "end": 94163, "length": 14, - "parent_index": 5527 + "parent_index": 5529 }, "body": { - "id": 5535, + "id": 5537, "node_type": 46, "kind": 0, "src": { @@ -105828,12 +107215,12 @@ "start": 94208, "end": 94933, "length": 726, - "parent_index": 5527 + "parent_index": 5529 }, "implemented": true, "statements": [ { - "id": 5536, + "id": 5538, "node_type": 79, "src": { "line": 2589, @@ -105841,10 +107228,10 @@ "start": 94218, "end": 94927, "length": 710, - "parent_index": 5535 + "parent_index": 5537 }, "initialiser": { - "id": 5537, + "id": 5539, "node_type": 44, "src": { "line": 2589, @@ -105852,25 +107239,25 @@ "start": 94223, "end": 94236, "length": 14, - "parent_index": 5535 + "parent_index": 5537 }, "assignments": [ - 5538 + 5540 ], "declarations": [ { - "id": 5538, + "id": 5540, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5535, + "scope": 5537, "src": { "line": 2589, "column": 13, "start": 94223, "end": 94231, "length": 9, - "parent_index": 5537 + "parent_index": 5539 }, "name_location": { "line": 2589, @@ -105878,12 +107265,12 @@ "start": 94231, "end": 94231, "length": 1, - "parent_index": 5538 + "parent_index": 5540 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5539, + "id": 5541, "node_type": 30, "src": { "line": 2589, @@ -105891,7 +107278,7 @@ "start": 94223, "end": 94229, "length": 7, - "parent_index": 5538 + "parent_index": 5540 }, "name": "uint256", "referenced_declaration": 0, @@ -105904,7 +107291,7 @@ } ], "initial_value": { - "id": 5540, + "id": 5542, "node_type": 17, "kind": 49, "value": "0", @@ -105915,7 +107302,7 @@ "start": 94235, "end": 94235, "length": 1, - "parent_index": 5537 + "parent_index": 5539 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -105923,11 +107310,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5541, + "id": 5543, "is_constant": false, "is_pure": false, "node_type": 19, @@ -105937,11 +107325,11 @@ "start": 94238, "end": 94255, "length": 18, - "parent_index": 5536 + "parent_index": 5538 }, "operator": 9, "left_expression": { - "id": 5542, + "id": 5544, "node_type": 16, "src": { "line": 2589, @@ -105949,7 +107337,7 @@ "start": 94238, "end": 94238, "length": 1, - "parent_index": 5541 + "parent_index": 5543 }, "name": "i", "type_description": { @@ -105958,10 +107346,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5543, + "id": 5545, "node_type": 16, "src": { "line": 2589, @@ -105969,7 +107358,7 @@ "start": 94242, "end": 94255, "length": 14, - "parent_index": 5541 + "parent_index": 5543 }, "name": "MAX_STRATEGIES", "type_description": { @@ -105977,8 +107366,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -105986,7 +107376,7 @@ } }, "closure": { - "id": 5544, + "id": 5546, "node_type": 27, "src": { "line": 2589, @@ -105994,11 +107384,11 @@ "start": 94258, "end": 94276, "length": 19, - "parent_index": 5536 + "parent_index": 5538 }, "operator": 11, "left_expression": { - "id": 5545, + "id": 5547, "node_type": 16, "src": { "line": 2589, @@ -106006,7 +107396,7 @@ "start": 94258, "end": 94258, "length": 1, - "parent_index": 5544 + "parent_index": 5546 }, "name": "i", "type_description": { @@ -106015,10 +107405,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5546, + "id": 5548, "node_type": 24, "kind": 24, "src": { @@ -106027,7 +107418,7 @@ "start": 94262, "end": 94276, "length": 15, - "parent_index": 5544 + "parent_index": 5546 }, "argument_types": [ { @@ -106037,7 +107428,7 @@ ], "arguments": [ { - "id": 5548, + "id": 5550, "node_type": 16, "src": { "line": 2589, @@ -106045,7 +107436,7 @@ "start": 94275, "end": 94275, "length": 1, - "parent_index": 5546 + "parent_index": 5548 }, "name": "i", "type_description": { @@ -106054,11 +107445,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5547, + "id": 5549, "node_type": 16, "src": { "line": 2589, @@ -106066,7 +107458,7 @@ "start": 94262, "end": 94273, "length": 12, - "parent_index": 5546 + "parent_index": 5548 }, "name": "uncheckedInc", "type_description": { @@ -106075,7 +107467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -106088,7 +107481,7 @@ } }, "body": { - "id": 5549, + "id": 5551, "node_type": 46, "kind": 0, "src": { @@ -106097,12 +107490,12 @@ "start": 94279, "end": 94927, "length": 649, - "parent_index": 5536 + "parent_index": 5538 }, "implemented": true, "statements": [ { - "id": 5550, + "id": 5552, "node_type": 48, "src": { "line": 2590, @@ -106110,10 +107503,10 @@ "start": 94293, "end": 94369, "length": 77, - "parent_index": 5549 + "parent_index": 5551 }, "condition": { - "id": 5551, + "id": 5553, "is_constant": false, "is_pure": false, "node_type": 19, @@ -106123,11 +107516,11 @@ "start": 94297, "end": 94326, "length": 30, - "parent_index": 5550 + "parent_index": 5552 }, "operator": 12, "left_expression": { - "id": 5552, + "id": 5554, "node_type": 16, "src": { "line": 2590, @@ -106135,19 +107528,20 @@ "start": 94297, "end": 94304, "length": 8, - "parent_index": 5551 + "parent_index": 5553 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "right_expression": { - "id": 5553, + "id": 5555, "node_type": 22, "src": { "line": 2590, @@ -106155,10 +107549,10 @@ "start": 94309, "end": 94326, "length": 18, - "parent_index": 5551 + "parent_index": 5553 }, "index_expression": { - "id": 5554, + "id": 5556, "node_type": 16, "src": { "line": 2590, @@ -106166,7 +107560,7 @@ "start": 94309, "end": 94323, "length": 15, - "parent_index": 5553 + "parent_index": 5555 }, "name": "withdrawalQueue", "type_description": { @@ -106174,11 +107568,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5555, + "id": 5557, "node_type": 16, "src": { "line": 2590, @@ -106186,7 +107581,7 @@ "start": 94325, "end": 94325, "length": 1, - "parent_index": 5553 + "parent_index": 5555 }, "name": "i", "type_description": { @@ -106195,7 +107590,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -106218,7 +107614,7 @@ } }, "body": { - "id": 5556, + "id": 5558, "node_type": 46, "kind": 0, "src": { @@ -106227,12 +107623,12 @@ "start": 94329, "end": 94369, "length": 41, - "parent_index": 5536 + "parent_index": 5538 }, "implemented": true, "statements": [ { - "id": 5557, + "id": 5559, "node_type": 75, "src": { "line": 2591, @@ -106240,14 +107636,14 @@ "start": 94347, "end": 94355, "length": 9, - "parent_index": 5556 + "parent_index": 5558 } } ] } }, { - "id": 5558, + "id": 5560, "node_type": 27, "src": { "line": 2594, @@ -106255,10 +107651,10 @@ "start": 94384, "end": 94421, "length": 38, - "parent_index": 5549 + "parent_index": 5551 }, "expression": { - "id": 5559, + "id": 5561, "node_type": 27, "src": { "line": 2594, @@ -106266,11 +107662,11 @@ "start": 94384, "end": 94420, "length": 37, - "parent_index": 5558 + "parent_index": 5560 }, "operator": 11, "left_expression": { - "id": 5560, + "id": 5562, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -106282,7 +107678,7 @@ "start": 94384, "end": 94412, "length": 29, - "parent_index": 5559 + "parent_index": 5561 }, "member_location": { "line": 2594, @@ -106290,10 +107686,10 @@ "start": 94405, "end": 94412, "length": 8, - "parent_index": 5560 + "parent_index": 5562 }, "expression": { - "id": 5561, + "id": 5563, "node_type": 22, "src": { "line": 2594, @@ -106301,10 +107697,10 @@ "start": 94384, "end": 94403, "length": 20, - "parent_index": 5560 + "parent_index": 5562 }, "index_expression": { - "id": 5562, + "id": 5564, "node_type": 16, "src": { "line": 2594, @@ -106312,19 +107708,20 @@ "start": 94384, "end": 94393, "length": 10, - "parent_index": 5561 + "parent_index": 5563 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5563, + "id": 5565, "node_type": 16, "src": { "line": 2594, @@ -106332,38 +107729,40 @@ "start": 94395, "end": 94402, "length": 8, - "parent_index": 5561 + "parent_index": 5563 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, null ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "member_name": "isActive", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].isActive" }, "right_expression": { - "id": 5564, + "id": 5566, "node_type": 17, "kind": 61, "value": "false", @@ -106374,7 +107773,7 @@ "start": 94416, "end": 94420, "length": 5, - "parent_index": 5559 + "parent_index": 5561 }, "type_description": { "type_identifier": "t_bool", @@ -106382,20 +107781,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].isActive=false;" }, { - "id": 5565, + "id": 5567, "node_type": 27, "src": { "line": 2597, @@ -106403,10 +107804,10 @@ "start": 94499, "end": 94538, "length": 40, - "parent_index": 5549 + "parent_index": 5551 }, "expression": { - "id": 5566, + "id": 5568, "node_type": 27, "src": { "line": 2597, @@ -106414,11 +107815,11 @@ "start": 94499, "end": 94537, "length": 39, - "parent_index": 5565 + "parent_index": 5567 }, "operator": 14, "left_expression": { - "id": 5567, + "id": 5569, "node_type": 16, "src": { "line": 2597, @@ -106426,7 +107827,7 @@ "start": 94499, "end": 94506, "length": 8, - "parent_index": 5566 + "parent_index": 5568 }, "name": "totalBps", "type_description": { @@ -106434,11 +107835,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5410, - "is_pure": false + "referenced_declaration": 5412, + "is_pure": false, + "text": "totalBps" }, "right_expression": { - "id": 5568, + "id": 5570, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -106450,7 +107852,7 @@ "start": 94511, "end": 94537, "length": 27, - "parent_index": 5566 + "parent_index": 5568 }, "member_location": { "line": 2597, @@ -106458,10 +107860,10 @@ "start": 94532, "end": 94537, "length": 6, - "parent_index": 5568 + "parent_index": 5570 }, "expression": { - "id": 5569, + "id": 5571, "node_type": 22, "src": { "line": 2597, @@ -106469,10 +107871,10 @@ "start": 94511, "end": 94530, "length": 20, - "parent_index": 5568 + "parent_index": 5570 }, "index_expression": { - "id": 5570, + "id": 5572, "node_type": 16, "src": { "line": 2597, @@ -106480,19 +107882,20 @@ "start": 94511, "end": 94520, "length": 10, - "parent_index": 5569 + "parent_index": 5571 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5571, + "id": 5573, "node_type": 16, "src": { "line": 2597, @@ -106500,35 +107903,37 @@ "start": 94522, "end": 94529, "length": 8, - "parent_index": 5569 + "parent_index": 5571 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, null ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -106538,10 +107943,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalBps-=strategies[strategy].tvlBps;" }, { - "id": 5572, + "id": 5574, "node_type": 27, "src": { "line": 2598, @@ -106549,10 +107955,10 @@ "start": 94552, "end": 94583, "length": 32, - "parent_index": 5549 + "parent_index": 5551 }, "expression": { - "id": 5573, + "id": 5575, "node_type": 27, "src": { "line": 2598, @@ -106560,11 +107966,11 @@ "start": 94552, "end": 94582, "length": 31, - "parent_index": 5572 + "parent_index": 5574 }, "operator": 11, "left_expression": { - "id": 5574, + "id": 5576, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -106576,7 +107982,7 @@ "start": 94552, "end": 94578, "length": 27, - "parent_index": 5573 + "parent_index": 5575 }, "member_location": { "line": 2598, @@ -106584,10 +107990,10 @@ "start": 94573, "end": 94578, "length": 6, - "parent_index": 5574 + "parent_index": 5576 }, "expression": { - "id": 5575, + "id": 5577, "node_type": 22, "src": { "line": 2598, @@ -106595,10 +108001,10 @@ "start": 94552, "end": 94571, "length": 20, - "parent_index": 5574 + "parent_index": 5576 }, "index_expression": { - "id": 5576, + "id": 5578, "node_type": 16, "src": { "line": 2598, @@ -106606,19 +108012,20 @@ "start": 94552, "end": 94561, "length": 10, - "parent_index": 5575 + "parent_index": 5577 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5577, + "id": 5579, "node_type": 16, "src": { "line": 2598, @@ -106626,38 +108033,40 @@ "start": 94563, "end": 94570, "length": 8, - "parent_index": 5575 + "parent_index": 5577 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, null ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].tvlBps" }, "right_expression": { - "id": 5578, + "id": 5580, "node_type": 17, "kind": 49, "value": "0", @@ -106668,7 +108077,7 @@ "start": 94582, "end": 94582, "length": 1, - "parent_index": 5573 + "parent_index": 5575 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -106676,20 +108085,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" - } + }, + "text": "strategies[strategy].tvlBps=0;" }, { - "id": 5579, + "id": 5581, "node_type": 27, "src": { "line": 2601, @@ -106697,10 +108108,10 @@ "start": 94651, "end": 94692, "length": 42, - "parent_index": 5549 + "parent_index": 5551 }, "expression": { - "id": 5580, + "id": 5582, "node_type": 27, "src": { "line": 2601, @@ -106708,11 +108119,11 @@ "start": 94651, "end": 94691, "length": 41, - "parent_index": 5579 + "parent_index": 5581 }, "operator": 11, "left_expression": { - "id": 5581, + "id": 5583, "node_type": 22, "src": { "line": 2601, @@ -106720,10 +108131,10 @@ "start": 94651, "end": 94668, "length": 18, - "parent_index": 5580 + "parent_index": 5582 }, "index_expression": { - "id": 5582, + "id": 5584, "node_type": 16, "src": { "line": 2601, @@ -106731,7 +108142,7 @@ "start": 94651, "end": 94665, "length": 15, - "parent_index": 5581 + "parent_index": 5583 }, "name": "withdrawalQueue", "type_description": { @@ -106739,11 +108150,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5583, + "id": 5585, "node_type": 16, "src": { "line": 2601, @@ -106751,7 +108163,7 @@ "start": 94667, "end": 94667, "length": 1, - "parent_index": 5581 + "parent_index": 5583 }, "name": "i", "type_description": { @@ -106760,7 +108172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -106778,7 +108191,7 @@ } }, "right_expression": { - "id": 5584, + "id": 5586, "node_type": 24, "kind": 24, "src": { @@ -106787,7 +108200,7 @@ "start": 94672, "end": 94691, "length": 20, - "parent_index": 5580 + "parent_index": 5582 }, "argument_types": [ { @@ -106797,7 +108210,7 @@ ], "arguments": [ { - "id": 5586, + "id": 5588, "node_type": 24, "kind": 24, "src": { @@ -106806,7 +108219,7 @@ "start": 94681, "end": 94690, "length": 10, - "parent_index": 5584 + "parent_index": 5586 }, "argument_types": [ { @@ -106816,7 +108229,7 @@ ], "arguments": [ { - "id": 5589, + "id": 5591, "node_type": 17, "kind": 49, "value": "0", @@ -106827,7 +108240,7 @@ "start": 94689, "end": 94689, "length": 1, - "parent_index": 5586 + "parent_index": 5588 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -106835,11 +108248,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 5587, + "id": 5589, "node_type": 16, "src": { "line": 2601, @@ -106847,11 +108261,11 @@ "start": 94681, "end": 94687, "length": 7, - "parent_index": 5586 + "parent_index": 5588 }, "name": "address", "type_name": { - "id": 5588, + "id": 5590, "node_type": 30, "src": { "line": 2601, @@ -106859,7 +108273,7 @@ "start": 94681, "end": 94687, "length": 7, - "parent_index": 5587 + "parent_index": 5589 }, "name": "address", "state_mutability": 4, @@ -106881,7 +108295,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -106890,7 +108305,7 @@ } ], "expression": { - "id": 5585, + "id": 5587, "node_type": 16, "src": { "line": 2601, @@ -106898,7 +108313,7 @@ "start": 94672, "end": 94679, "length": 8, - "parent_index": 5584 + "parent_index": 5586 }, "name": "Strategy", "type_description": { @@ -106907,7 +108322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "Strategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -106922,10 +108338,11 @@ "type_description": { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_uint256]$", "type_string": "index[int_const 20:uint256]" - } + }, + "text": "withdrawalQueue[i]=Strategy(address(0));" }, { - "id": 5590, + "id": 5592, "node_type": 64, "src": { "line": 2602, @@ -106933,11 +108350,11 @@ "start": 94706, "end": 94736, "length": 31, - "parent_index": 5536 + "parent_index": 5538 }, "arguments": [ { - "id": 5591, + "id": 5593, "node_type": 16, "src": { "line": 2602, @@ -106945,20 +108362,21 @@ "start": 94727, "end": 94734, "length": 8, - "parent_index": 5590 + "parent_index": 5592 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5592, + "id": 5594, "node_type": 16, "src": { "line": 2602, @@ -106966,20 +108384,21 @@ "start": 94711, "end": 94725, "length": 15, - "parent_index": 5590 + "parent_index": 5592 }, "name": "StrategyRemoved", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265419", + "type_identifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265421", "type_string": "event BaseVault.StrategyRemoved" }, "overloaded_declarations": [], - "referenced_declaration": 5419, - "is_pure": false + "referenced_declaration": 5421, + "is_pure": false, + "text": "StrategyRemoved" } }, { - "id": 5593, + "id": 5595, "node_type": 24, "kind": 24, "src": { @@ -106988,12 +108407,12 @@ "start": 94750, "end": 94775, "length": 26, - "parent_index": 5549 + "parent_index": 5551 }, "argument_types": [], "arguments": [], "expression": { - "id": 5594, + "id": 5596, "node_type": 16, "src": { "line": 2603, @@ -107001,7 +108420,7 @@ "start": 94750, "end": 94773, "length": 24, - "parent_index": 5593 + "parent_index": 5595 }, "name": "_organizeWithdrawalQueue", "type_description": { @@ -107010,7 +108429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_organizeWithdrawalQueue" }, "type_description": { "type_identifier": "t_function_$", @@ -107018,7 +108438,7 @@ } }, { - "id": 5595, + "id": 5597, "node_type": 24, "kind": 24, "src": { @@ -107027,7 +108447,7 @@ "start": 94838, "end": 94897, "length": 60, - "parent_index": 5549 + "parent_index": 5551 }, "argument_types": [ { @@ -107041,7 +108461,7 @@ ], "arguments": [ { - "id": 5597, + "id": 5599, "node_type": 16, "src": { "line": 2606, @@ -107049,7 +108469,7 @@ "start": 94860, "end": 94867, "length": 8, - "parent_index": 5595 + "parent_index": 5597 }, "name": "strategy", "type_description": { @@ -107058,10 +108478,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "strategy" }, { - "id": 5598, + "id": 5600, "node_type": 24, "kind": 24, "src": { @@ -107070,12 +108491,12 @@ "start": 94870, "end": 94896, "length": 27, - "parent_index": 5595 + "parent_index": 5597 }, "argument_types": [], "arguments": [], "expression": { - "id": 5599, + "id": 5601, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -107087,7 +108508,7 @@ "start": 94870, "end": 94894, "length": 25, - "parent_index": 5598 + "parent_index": 5600 }, "member_location": { "line": 2606, @@ -107095,10 +108516,10 @@ "start": 94879, "end": 94894, "length": 16, - "parent_index": 5599 + "parent_index": 5601 }, "expression": { - "id": 5600, + "id": 5602, "node_type": 16, "src": { "line": 2606, @@ -107106,24 +108527,26 @@ "start": 94870, "end": 94877, "length": 8, - "parent_index": 5599 + "parent_index": 5601 }, "name": "strategy", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "type_identifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "type_string": "event Global.StrategyAdded" }, "overloaded_declarations": [], - "referenced_declaration": 7928, - "is_pure": false + "referenced_declaration": 7932, + "is_pure": false, + "text": "strategy" }, "member_name": "totalLockedValue", "argument_types": [], - "referenced_declaration": 5095, + "referenced_declaration": 5096, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "strategy.totalLockedValue" }, "type_description": { "type_identifier": "t_function_$", @@ -107132,7 +108555,7 @@ } ], "expression": { - "id": 5596, + "id": 5598, "node_type": 16, "src": { "line": 2606, @@ -107140,7 +108563,7 @@ "start": 94838, "end": 94858, "length": 21, - "parent_index": 5595 + "parent_index": 5597 }, "name": "_withdrawFromStrategy", "type_description": { @@ -107149,7 +108572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawFromStrategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -107157,7 +108581,7 @@ } }, { - "id": 5601, + "id": 5603, "node_type": 74, "src": { "line": 2607, @@ -107165,7 +108589,7 @@ "start": 94912, "end": 94917, "length": 6, - "parent_index": 5549 + "parent_index": 5551 } } ] @@ -107179,7 +108603,7 @@ "virtual": false, "modifiers": [ { - "id": 5532, + "id": 5534, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -107189,12 +108613,12 @@ "start": 94193, "end": 94206, "length": 14, - "parent_index": 5527 + "parent_index": 5529 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 5533, + "id": 5535, "name": "onlyGovernance", "node_type": 0, "src": { @@ -107203,14 +108627,14 @@ "start": 94193, "end": 94206, "length": 14, - "parent_index": 5532 + "parent_index": 5534 } } } ], "overrides": [], "parameters": { - "id": 5528, + "id": 5530, "node_type": 43, "src": { "line": 2588, @@ -107218,11 +108642,11 @@ "start": 94165, "end": 94181, "length": 17, - "parent_index": 5527 + "parent_index": 5529 }, "parameters": [ { - "id": 5529, + "id": 5531, "node_type": 44, "src": { "line": 2588, @@ -107230,12 +108654,12 @@ "start": 94165, "end": 94181, "length": 17, - "parent_index": 5528 + "parent_index": 5530 }, - "scope": 5527, + "scope": 5529, "name": "strategy", "type_name": { - "id": 5530, + "id": 5532, "node_type": 69, "src": { "line": 2588, @@ -107243,10 +108667,10 @@ "start": 94165, "end": 94172, "length": 8, - "parent_index": 5529 + "parent_index": 5531 }, "path_node": { - "id": 5531, + "id": 5533, "name": "Strategy", "node_type": 52, "referenced_declaration": 0, @@ -107256,7 +108680,7 @@ "start": 94165, "end": 94172, "length": 8, - "parent_index": 5530 + "parent_index": 5532 }, "name_location": { "line": 2588, @@ -107264,10 +108688,10 @@ "start": 94165, "end": 94172, "length": 8, - "parent_index": 5530 + "parent_index": 5532 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -107283,7 +108707,7 @@ ] }, "return_parameters": { - "id": 5534, + "id": 5536, "node_type": 43, "src": { "line": 2588, @@ -107291,21 +108715,22 @@ "start": 94141, "end": 94933, "length": 793, - "parent_index": 5527 + "parent_index": 5529 }, "parameters": [], "parameter_types": [] }, "signature_raw": "removeStrategy()", "signature": "e791d11d", - "scope": 5193, + "scope": 5194, "type_description": { - "type_identifier": "t_function_$_t_unknown_5527$", - "type_string": "function(unknown_5527)" - } + "type_identifier": "t_function_$_t_unknown_5529$", + "type_string": "function(unknown_5529)" + }, + "text": "functionremoveStrategy(Strategystrategy)externalonlyGovernance{for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){if(strategy!=withdrawalQueue[i]){continue;}strategies[strategy].isActive=false;totalBps-=strategies[strategy].tvlBps;strategies[strategy].tvlBps=0;withdrawalQueue[i]=Strategy(address(0));emitStrategyRemoved(strategy);_organizeWithdrawalQueue();_withdrawFromStrategy(strategy,strategy.totalLockedValue());break;}}" }, { - "id": 5603, + "id": 5605, "name": "updateStrategyAllocations", "node_type": 42, "kind": 41, @@ -107315,7 +108740,7 @@ "start": 95115, "end": 95820, "length": 706, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2616, @@ -107323,10 +108748,10 @@ "start": 95124, "end": 95148, "length": 25, - "parent_index": 5603 + "parent_index": 5605 }, "body": { - "id": 5614, + "id": 5616, "node_type": 46, "kind": 0, "src": { @@ -107335,12 +108760,12 @@ "start": 95264, "end": 95820, "length": 557, - "parent_index": 5603 + "parent_index": 5605 }, "implemented": true, "statements": [ { - "id": 5615, + "id": 5617, "node_type": 79, "src": { "line": 2620, @@ -107348,10 +108773,10 @@ "start": 95274, "end": 95751, "length": 478, - "parent_index": 5614 + "parent_index": 5616 }, "initialiser": { - "id": 5616, + "id": 5618, "node_type": 44, "src": { "line": 2620, @@ -107359,25 +108784,25 @@ "start": 95279, "end": 95292, "length": 14, - "parent_index": 5614 + "parent_index": 5616 }, "assignments": [ - 5617 + 5619 ], "declarations": [ { - "id": 5617, + "id": 5619, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5614, + "scope": 5616, "src": { "line": 2620, "column": 13, "start": 95279, "end": 95287, "length": 9, - "parent_index": 5616 + "parent_index": 5618 }, "name_location": { "line": 2620, @@ -107385,12 +108810,12 @@ "start": 95287, "end": 95287, "length": 1, - "parent_index": 5617 + "parent_index": 5619 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5618, + "id": 5620, "node_type": 30, "src": { "line": 2620, @@ -107398,7 +108823,7 @@ "start": 95279, "end": 95285, "length": 7, - "parent_index": 5617 + "parent_index": 5619 }, "name": "uint256", "referenced_declaration": 0, @@ -107411,7 +108836,7 @@ } ], "initial_value": { - "id": 5619, + "id": 5621, "node_type": 17, "kind": 49, "value": "0", @@ -107422,7 +108847,7 @@ "start": 95291, "end": 95291, "length": 1, - "parent_index": 5616 + "parent_index": 5618 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -107430,11 +108855,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5620, + "id": 5622, "is_constant": false, "is_pure": false, "node_type": 19, @@ -107444,11 +108870,11 @@ "start": 95294, "end": 95316, "length": 23, - "parent_index": 5615 + "parent_index": 5617 }, "operator": 9, "left_expression": { - "id": 5621, + "id": 5623, "node_type": 16, "src": { "line": 2620, @@ -107456,7 +108882,7 @@ "start": 95294, "end": 95294, "length": 1, - "parent_index": 5620 + "parent_index": 5622 }, "name": "i", "type_description": { @@ -107465,10 +108891,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5622, + "id": 5624, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -107480,7 +108907,7 @@ "start": 95298, "end": 95316, "length": 19, - "parent_index": 5620 + "parent_index": 5622 }, "member_location": { "line": 2620, @@ -107488,10 +108915,10 @@ "start": 95311, "end": 95316, "length": 6, - "parent_index": 5622 + "parent_index": 5624 }, "expression": { - "id": 5623, + "id": 5625, "node_type": 16, "src": { "line": 2620, @@ -107499,7 +108926,7 @@ "start": 95298, "end": 95309, "length": 12, - "parent_index": 5622 + "parent_index": 5624 }, "name": "strategyList", "type_description": { @@ -107507,15 +108934,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5623, - "is_pure": false + "referenced_declaration": 5625, + "is_pure": false, + "text": "strategyList" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategyList.length" }, "type_description": { "type_identifier": "t_bool", @@ -107523,7 +108952,7 @@ } }, "closure": { - "id": 5624, + "id": 5626, "node_type": 27, "src": { "line": 2620, @@ -107531,11 +108960,11 @@ "start": 95319, "end": 95337, "length": 19, - "parent_index": 5615 + "parent_index": 5617 }, "operator": 11, "left_expression": { - "id": 5625, + "id": 5627, "node_type": 16, "src": { "line": 2620, @@ -107543,7 +108972,7 @@ "start": 95319, "end": 95319, "length": 1, - "parent_index": 5624 + "parent_index": 5626 }, "name": "i", "type_description": { @@ -107552,10 +108981,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5626, + "id": 5628, "node_type": 24, "kind": 24, "src": { @@ -107564,7 +108994,7 @@ "start": 95323, "end": 95337, "length": 15, - "parent_index": 5624 + "parent_index": 5626 }, "argument_types": [ { @@ -107574,7 +109004,7 @@ ], "arguments": [ { - "id": 5628, + "id": 5630, "node_type": 16, "src": { "line": 2620, @@ -107582,7 +109012,7 @@ "start": 95336, "end": 95336, "length": 1, - "parent_index": 5626 + "parent_index": 5628 }, "name": "i", "type_description": { @@ -107591,11 +109021,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5627, + "id": 5629, "node_type": 16, "src": { "line": 2620, @@ -107603,7 +109034,7 @@ "start": 95323, "end": 95334, "length": 12, - "parent_index": 5626 + "parent_index": 5628 }, "name": "uncheckedInc", "type_description": { @@ -107612,7 +109043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -107625,7 +109057,7 @@ } }, "body": { - "id": 5629, + "id": 5631, "node_type": 46, "kind": 0, "src": { @@ -107634,12 +109066,12 @@ "start": 95340, "end": 95751, "length": 412, - "parent_index": 5615 + "parent_index": 5617 }, "implemented": true, "statements": [ { - "id": 5630, + "id": 5632, "node_type": 44, "src": { "line": 2622, @@ -107647,25 +109079,25 @@ "start": 95408, "end": 95443, "length": 36, - "parent_index": 5629 + "parent_index": 5631 }, "assignments": [ - 5631 + 5633 ], "declarations": [ { - "id": 5631, + "id": 5633, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 5629, + "scope": 5631, "src": { "line": 2622, "column": 12, "start": 95408, "end": 95424, "length": 17, - "parent_index": 5630 + "parent_index": 5632 }, "name_location": { "line": 2622, @@ -107673,12 +109105,12 @@ "start": 95417, "end": 95424, "length": 8, - "parent_index": 5631 + "parent_index": 5633 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5632, + "id": 5634, "node_type": 69, "src": { "line": 2622, @@ -107686,20 +109118,20 @@ "start": 95408, "end": 95415, "length": 8, - "parent_index": 5631 + "parent_index": 5633 }, "path_node": { - "id": 5633, + "id": 5635, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2622, "column": 12, "start": 95408, "end": 95415, "length": 8, - "parent_index": 5632 + "parent_index": 5634 }, "name_location": { "line": 2622, @@ -107707,10 +109139,10 @@ "start": 95408, "end": 95415, "length": 8, - "parent_index": 5632 + "parent_index": 5634 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -107720,7 +109152,7 @@ } ], "initial_value": { - "id": 5634, + "id": 5636, "node_type": 22, "src": { "line": 2622, @@ -107728,10 +109160,10 @@ "start": 95428, "end": 95442, "length": 15, - "parent_index": 5630 + "parent_index": 5632 }, "index_expression": { - "id": 5635, + "id": 5637, "node_type": 16, "src": { "line": 2622, @@ -107739,7 +109171,7 @@ "start": 95428, "end": 95439, "length": 12, - "parent_index": 5634 + "parent_index": 5636 }, "name": "strategyList", "type_description": { @@ -107747,11 +109179,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5605, - "is_pure": false + "referenced_declaration": 5607, + "is_pure": false, + "text": "strategyList" }, "base_expression": { - "id": 5636, + "id": 5638, "node_type": 16, "src": { "line": 2622, @@ -107759,7 +109192,7 @@ "start": 95441, "end": 95441, "length": 1, - "parent_index": 5634 + "parent_index": 5636 }, "name": "i", "type_description": { @@ -107768,7 +109201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -107787,7 +109221,7 @@ } }, { - "id": 5637, + "id": 5639, "node_type": 48, "src": { "line": 2625, @@ -107795,10 +109229,10 @@ "start": 95510, "end": 95554, "length": 45, - "parent_index": 5629 + "parent_index": 5631 }, "condition": { - "id": 5638, + "id": 5640, "node_type": 18, "kind": 104, "src": { @@ -107807,7 +109241,7 @@ "start": 95514, "end": 95543, "length": 30, - "parent_index": 5615 + "parent_index": 5617 }, "operator": 31, "prefix": false, @@ -107816,7 +109250,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 5639, + "id": 5641, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -107828,7 +109262,7 @@ "start": 95515, "end": 95543, "length": 29, - "parent_index": 5638 + "parent_index": 5640 }, "member_location": { "line": 2625, @@ -107836,10 +109270,10 @@ "start": 95536, "end": 95543, "length": 8, - "parent_index": 5639 + "parent_index": 5641 }, "expression": { - "id": 5640, + "id": 5642, "node_type": 22, "src": { "line": 2625, @@ -107847,10 +109281,10 @@ "start": 95515, "end": 95534, "length": 20, - "parent_index": 5639 + "parent_index": 5641 }, "index_expression": { - "id": 5641, + "id": 5643, "node_type": 16, "src": { "line": 2625, @@ -107858,19 +109292,20 @@ "start": 95515, "end": 95524, "length": 10, - "parent_index": 5640 + "parent_index": 5642 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5642, + "id": 5644, "node_type": 16, "src": { "line": 2625, @@ -107878,7 +109313,7 @@ "start": 95526, "end": 95533, "length": 8, - "parent_index": 5640 + "parent_index": 5642 }, "name": "strategy", "type_description": { @@ -107886,12 +109321,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5630, - "is_pure": false + "referenced_declaration": 5632, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -107900,24 +109336,25 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "isActive", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].isActive" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "body": { - "id": 5643, + "id": 5645, "node_type": 46, "kind": 0, "src": { @@ -107932,7 +109369,7 @@ } }, { - "id": 5644, + "id": 5646, "node_type": 27, "src": { "line": 2628, @@ -107940,10 +109377,10 @@ "start": 95599, "end": 95638, "length": 40, - "parent_index": 5629 + "parent_index": 5631 }, "expression": { - "id": 5645, + "id": 5647, "node_type": 27, "src": { "line": 2628, @@ -107951,11 +109388,11 @@ "start": 95599, "end": 95637, "length": 39, - "parent_index": 5644 + "parent_index": 5646 }, "operator": 14, "left_expression": { - "id": 5646, + "id": 5648, "node_type": 16, "src": { "line": 2628, @@ -107963,7 +109400,7 @@ "start": 95599, "end": 95606, "length": 8, - "parent_index": 5645 + "parent_index": 5647 }, "name": "totalBps", "type_description": { @@ -107971,11 +109408,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5410, - "is_pure": false + "referenced_declaration": 5412, + "is_pure": false, + "text": "totalBps" }, "right_expression": { - "id": 5647, + "id": 5649, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -107987,7 +109425,7 @@ "start": 95611, "end": 95637, "length": 27, - "parent_index": 5645 + "parent_index": 5647 }, "member_location": { "line": 2628, @@ -107995,10 +109433,10 @@ "start": 95632, "end": 95637, "length": 6, - "parent_index": 5647 + "parent_index": 5649 }, "expression": { - "id": 5648, + "id": 5650, "node_type": 22, "src": { "line": 2628, @@ -108006,10 +109444,10 @@ "start": 95611, "end": 95630, "length": 20, - "parent_index": 5647 + "parent_index": 5649 }, "index_expression": { - "id": 5649, + "id": 5651, "node_type": 16, "src": { "line": 2628, @@ -108017,19 +109455,20 @@ "start": 95611, "end": 95620, "length": 10, - "parent_index": 5648 + "parent_index": 5650 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5650, + "id": 5652, "node_type": 16, "src": { "line": 2628, @@ -108037,7 +109476,7 @@ "start": 95622, "end": 95629, "length": 8, - "parent_index": 5648 + "parent_index": 5650 }, "name": "strategy", "type_description": { @@ -108045,12 +109484,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5630, - "is_pure": false + "referenced_declaration": 5632, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -108059,16 +109499,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -108078,10 +109519,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalBps-=strategies[strategy].tvlBps;" }, { - "id": 5651, + "id": 5653, "node_type": 24, "kind": 24, "src": { @@ -108090,7 +109532,7 @@ "start": 95652, "end": 95682, "length": 31, - "parent_index": 5629 + "parent_index": 5631 }, "argument_types": [ { @@ -108100,7 +109542,7 @@ ], "arguments": [ { - "id": 5653, + "id": 5655, "node_type": 22, "src": { "line": 2629, @@ -108108,10 +109550,10 @@ "start": 95668, "end": 95681, "length": 14, - "parent_index": 5651 + "parent_index": 5653 }, "index_expression": { - "id": 5654, + "id": 5656, "node_type": 16, "src": { "line": 2629, @@ -108119,7 +109561,7 @@ "start": 95668, "end": 95678, "length": 11, - "parent_index": 5653 + "parent_index": 5655 }, "name": "strategyBps", "type_description": { @@ -108127,11 +109569,12 @@ "type_string": "uint16" }, "overloaded_declarations": [], - "referenced_declaration": 5608, - "is_pure": false + "referenced_declaration": 5610, + "is_pure": false, + "text": "strategyBps" }, "base_expression": { - "id": 5655, + "id": 5657, "node_type": 16, "src": { "line": 2629, @@ -108139,7 +109582,7 @@ "start": 95680, "end": 95680, "length": 1, - "parent_index": 5653 + "parent_index": 5655 }, "name": "i", "type_description": { @@ -108148,7 +109591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -108167,7 +109611,7 @@ } ], "expression": { - "id": 5652, + "id": 5654, "node_type": 16, "src": { "line": 2629, @@ -108175,7 +109619,7 @@ "start": 95652, "end": 95666, "length": 15, - "parent_index": 5651 + "parent_index": 5653 }, "name": "_increaseTVLBps", "type_description": { @@ -108184,7 +109628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_increaseTVLBps" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_uint16]$_t_uint256]$", @@ -108192,7 +109637,7 @@ } }, { - "id": 5656, + "id": 5658, "node_type": 27, "src": { "line": 2630, @@ -108200,10 +109645,10 @@ "start": 95697, "end": 95741, "length": 45, - "parent_index": 5629 + "parent_index": 5631 }, "expression": { - "id": 5657, + "id": 5659, "node_type": 27, "src": { "line": 2630, @@ -108211,11 +109656,11 @@ "start": 95697, "end": 95740, "length": 44, - "parent_index": 5656 + "parent_index": 5658 }, "operator": 11, "left_expression": { - "id": 5658, + "id": 5660, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -108227,7 +109672,7 @@ "start": 95697, "end": 95723, "length": 27, - "parent_index": 5657 + "parent_index": 5659 }, "member_location": { "line": 2630, @@ -108235,10 +109680,10 @@ "start": 95718, "end": 95723, "length": 6, - "parent_index": 5658 + "parent_index": 5660 }, "expression": { - "id": 5659, + "id": 5661, "node_type": 22, "src": { "line": 2630, @@ -108246,10 +109691,10 @@ "start": 95697, "end": 95716, "length": 20, - "parent_index": 5658 + "parent_index": 5660 }, "index_expression": { - "id": 5660, + "id": 5662, "node_type": 16, "src": { "line": 2630, @@ -108257,19 +109702,20 @@ "start": 95697, "end": 95706, "length": 10, - "parent_index": 5659 + "parent_index": 5661 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5661, + "id": 5663, "node_type": 16, "src": { "line": 2630, @@ -108277,7 +109723,7 @@ "start": 95708, "end": 95715, "length": 8, - "parent_index": 5659 + "parent_index": 5661 }, "name": "strategy", "type_description": { @@ -108285,12 +109731,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5630, - "is_pure": false + "referenced_declaration": 5632, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -108299,19 +109746,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps" }, "right_expression": { - "id": 5662, + "id": 5664, "node_type": 22, "src": { "line": 2630, @@ -108319,10 +109767,10 @@ "start": 95727, "end": 95740, "length": 14, - "parent_index": 5657 + "parent_index": 5659 }, "index_expression": { - "id": 5663, + "id": 5665, "node_type": 16, "src": { "line": 2630, @@ -108330,7 +109778,7 @@ "start": 95727, "end": 95737, "length": 11, - "parent_index": 5662 + "parent_index": 5664 }, "name": "strategyBps", "type_description": { @@ -108338,11 +109786,12 @@ "type_string": "uint16" }, "overloaded_declarations": [], - "referenced_declaration": 5608, - "is_pure": false + "referenced_declaration": 5610, + "is_pure": false, + "text": "strategyBps" }, "base_expression": { - "id": 5664, + "id": 5666, "node_type": 16, "src": { "line": 2630, @@ -108350,7 +109799,7 @@ "start": 95739, "end": 95739, "length": 1, - "parent_index": 5662 + "parent_index": 5664 }, "name": "i", "type_description": { @@ -108359,7 +109808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -108377,20 +109827,21 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps=strategyBps[i];" } ] } }, { - "id": 5665, + "id": 5667, "node_type": 64, "src": { "line": 2632, @@ -108398,11 +109849,11 @@ "start": 95761, "end": 95814, "length": 54, - "parent_index": 5603 + "parent_index": 5605 }, "arguments": [ { - "id": 5666, + "id": 5668, "node_type": 16, "src": { "line": 2632, @@ -108410,7 +109861,7 @@ "start": 95788, "end": 95799, "length": 12, - "parent_index": 5665 + "parent_index": 5667 }, "name": "strategyList", "type_description": { @@ -108418,11 +109869,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5666, - "is_pure": false + "referenced_declaration": 5668, + "is_pure": false, + "text": "strategyList" }, { - "id": 5667, + "id": 5669, "node_type": 16, "src": { "line": 2632, @@ -108430,7 +109882,7 @@ "start": 95802, "end": 95812, "length": 11, - "parent_index": 5665 + "parent_index": 5667 }, "name": "strategyBps", "type_description": { @@ -108438,12 +109890,13 @@ "type_string": "uint16" }, "overloaded_declarations": [], - "referenced_declaration": 5667, - "is_pure": false + "referenced_declaration": 5669, + "is_pure": false, + "text": "strategyBps" } ], "expression": { - "id": 5668, + "id": 5670, "node_type": 16, "src": { "line": 2632, @@ -108451,16 +109904,17 @@ "start": 95766, "end": 95786, "length": 21, - "parent_index": 5665 + "parent_index": 5667 }, "name": "StrategyAllocsUpdated", "type_description": { - "type_identifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267954", + "type_identifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267958", "type_string": "event Global.StrategyAllocsUpdated" }, "overloaded_declarations": [], - "referenced_declaration": 7954, - "is_pure": false + "referenced_declaration": 7958, + "is_pure": false, + "text": "StrategyAllocsUpdated" } } ] @@ -108471,7 +109925,7 @@ "virtual": false, "modifiers": [ { - "id": 5610, + "id": 5612, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -108481,7 +109935,7 @@ "start": 95240, "end": 95258, "length": 19, - "parent_index": 5603 + "parent_index": 5605 }, "argument_types": [ { @@ -108491,7 +109945,7 @@ ], "arguments": [ { - "id": 5612, + "id": 5614, "node_type": 16, "src": { "line": 2618, @@ -108499,7 +109953,7 @@ "start": 95249, "end": 95257, "length": 9, - "parent_index": 5610 + "parent_index": 5612 }, "name": "HARVESTER", "type_description": { @@ -108507,12 +109961,13 @@ "type_string": "function(string memory)" }, "overloaded_declarations": [], - "referenced_declaration": 5323, - "is_pure": false + "referenced_declaration": 5324, + "is_pure": false, + "text": "HARVESTER" } ], "modifier_name": { - "id": 5611, + "id": 5613, "name": "onlyRole", "node_type": 0, "src": { @@ -108521,14 +109976,14 @@ "start": 95240, "end": 95247, "length": 8, - "parent_index": 5610 + "parent_index": 5612 } } } ], "overrides": [], "parameters": { - "id": 5604, + "id": 5606, "node_type": 43, "src": { "line": 2616, @@ -108536,11 +109991,11 @@ "start": 95150, "end": 95212, "length": 63, - "parent_index": 5603 + "parent_index": 5605 }, "parameters": [ { - "id": 5605, + "id": 5607, "node_type": 44, "src": { "line": 2616, @@ -108548,12 +110003,12 @@ "start": 95150, "end": 95181, "length": 32, - "parent_index": 5604 + "parent_index": 5606 }, - "scope": 5603, + "scope": 5605, "name": "strategyList", "type_name": { - "id": 5606, + "id": 5608, "node_type": 69, "src": { "line": 2616, @@ -108561,24 +110016,24 @@ "start": 95150, "end": 95157, "length": 8, - "parent_index": 5605 + "parent_index": 5607 }, "name": "Strategy", "path_node": { - "id": 5607, + "id": 5609, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5585, + "referenced_declaration": 5587, "src": { "line": 2616, "column": 39, "start": 95150, "end": 95157, "length": 8, - "parent_index": 5606 + "parent_index": 5608 } }, - "referenced_declaration": 5585, + "referenced_declaration": 5587, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -108593,7 +110048,7 @@ } }, { - "id": 5608, + "id": 5610, "node_type": 44, "src": { "line": 2616, @@ -108601,12 +110056,12 @@ "start": 95184, "end": 95212, "length": 29, - "parent_index": 5604 + "parent_index": 5606 }, - "scope": 5603, + "scope": 5605, "name": "strategyBps", "type_name": { - "id": 5609, + "id": 5611, "node_type": 16, "src": { "line": 2616, @@ -108614,7 +110069,7 @@ "start": 95184, "end": 95189, "length": 6, - "parent_index": 5608 + "parent_index": 5610 }, "name": "uint16", "referenced_declaration": 0, @@ -108644,7 +110099,7 @@ ] }, "return_parameters": { - "id": 5613, + "id": 5615, "node_type": 43, "src": { "line": 2616, @@ -108652,21 +110107,22 @@ "start": 95115, "end": 95820, "length": 706, - "parent_index": 5603 + "parent_index": 5605 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "updateStrategyAllocations(Strategy, uint16)", - "signature": "fbba262c", - "scope": 5193, + "signature_raw": "updateStrategyAllocations(Strategy,uint16)", + "signature": "62133061", + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint16$", "type_string": "function(function(),uint16)" - } + }, + "text": "functionupdateStrategyAllocations(Strategy[]calldatastrategyList,uint16[]calldatastrategyBps)externalonlyRole(HARVESTER){for(uint256i=0;i\u003cstrategyList.length;i=uncheckedInc(i)){Strategystrategy=strategyList[i];if(!strategies[strategy].isActive)continue;totalBps-=strategies[strategy].tvlBps;_increaseTVLBps(strategyBps[i]);strategies[strategy].tvlBps=strategyBps[i];}emitStrategyAllocsUpdated(strategyList,strategyBps);}" }, { - "id": 5670, + "id": 5672, "node_type": 57, "src": { "line": 2640, @@ -108674,10 +110130,10 @@ "start": 96027, "end": 96101, "length": 75, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5671, + "id": 5673, "node_type": 43, "src": { "line": 2640, @@ -108685,11 +110141,11 @@ "start": 96027, "end": 96101, "length": 75, - "parent_index": 5670 + "parent_index": 5672 }, "parameters": [ { - "id": 5672, + "id": 5674, "node_type": 44, "src": { "line": 2640, @@ -108697,12 +110153,12 @@ "start": 96055, "end": 96077, "length": 23, - "parent_index": 5671 + "parent_index": 5673 }, - "scope": 5670, + "scope": 5672, "name": "strategyList", "type_name": { - "id": 5673, + "id": 5675, "node_type": 69, "src": { "line": 2640, @@ -108710,24 +110166,24 @@ "start": 96055, "end": 96062, "length": 8, - "parent_index": 5672 + "parent_index": 5674 }, "name": "Strategy", "path_node": { - "id": 5674, + "id": 5676, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2640, "column": 32, "start": 96055, "end": 96062, "length": 8, - "parent_index": 5673 + "parent_index": 5675 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -108742,7 +110198,7 @@ } }, { - "id": 5675, + "id": 5677, "node_type": 44, "src": { "line": 2640, @@ -108750,12 +110206,12 @@ "start": 96080, "end": 96099, "length": 20, - "parent_index": 5671 + "parent_index": 5673 }, - "scope": 5670, + "scope": 5672, "name": "strategyBps", "type_name": { - "id": 5676, + "id": 5678, "node_type": 16, "src": { "line": 2640, @@ -108763,7 +110219,7 @@ "start": 96080, "end": 96085, "length": 6, - "parent_index": 5675 + "parent_index": 5677 }, "name": "uint16", "referenced_declaration": 0, @@ -108795,12 +110251,12 @@ "name": "StrategyAllocsUpdated", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyAllocsUpdated_\u00265670", + "type_identifier": "t_event\u0026_BaseVault_StrategyAllocsUpdated_\u00265672", "type_string": "event BaseVault.StrategyAllocsUpdated" } }, { - "id": 5678, + "id": 5680, "node_type": 57, "src": { "line": 2651, @@ -108808,10 +110264,10 @@ "start": 96501, "end": 96565, "length": 65, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5679, + "id": 5681, "node_type": 43, "src": { "line": 2651, @@ -108819,11 +110275,11 @@ "start": 96501, "end": 96565, "length": 65, - "parent_index": 5678 + "parent_index": 5680 }, "parameters": [ { - "id": 5680, + "id": 5682, "node_type": 44, "src": { "line": 2651, @@ -108831,12 +110287,12 @@ "start": 96523, "end": 96547, "length": 25, - "parent_index": 5679 + "parent_index": 5681 }, - "scope": 5678, + "scope": 5680, "name": "strategy", "type_name": { - "id": 5681, + "id": 5683, "node_type": 69, "src": { "line": 2651, @@ -108844,20 +110300,20 @@ "start": 96523, "end": 96530, "length": 8, - "parent_index": 5680 + "parent_index": 5682 }, "path_node": { - "id": 5682, + "id": 5684, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2651, "column": 26, "start": 96523, "end": 96530, "length": 8, - "parent_index": 5681 + "parent_index": 5683 }, "name_location": { "line": 2651, @@ -108865,10 +110321,10 @@ "start": 96523, "end": 96530, "length": 8, - "parent_index": 5681 + "parent_index": 5683 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -108884,7 +110340,7 @@ "indexed": true }, { - "id": 5683, + "id": 5685, "node_type": 44, "src": { "line": 2651, @@ -108892,12 +110348,12 @@ "start": 96550, "end": 96563, "length": 14, - "parent_index": 5679 + "parent_index": 5681 }, - "scope": 5678, + "scope": 5680, "name": "assets", "type_name": { - "id": 5684, + "id": 5686, "node_type": 30, "src": { "line": 2651, @@ -108905,7 +110361,7 @@ "start": 96550, "end": 96556, "length": 7, - "parent_index": 5683 + "parent_index": 5685 }, "name": "uint256", "referenced_declaration": 0, @@ -108937,12 +110393,12 @@ "name": "StrategyDeposit", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265678", + "type_identifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265680", "type_string": "event BaseVault.StrategyDeposit" } }, { - "id": 5686, + "id": 5688, "node_type": 57, "src": { "line": 2659, @@ -108950,10 +110406,10 @@ "start": 96889, "end": 96989, "length": 101, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5687, + "id": 5689, "node_type": 43, "src": { "line": 2659, @@ -108961,11 +110417,11 @@ "start": 96889, "end": 96989, "length": 101, - "parent_index": 5686 + "parent_index": 5688 }, "parameters": [ { - "id": 5688, + "id": 5690, "node_type": 44, "src": { "line": 2659, @@ -108973,12 +110429,12 @@ "start": 96914, "end": 96938, "length": 25, - "parent_index": 5687 + "parent_index": 5689 }, - "scope": 5686, + "scope": 5688, "name": "strategy", "type_name": { - "id": 5689, + "id": 5691, "node_type": 69, "src": { "line": 2659, @@ -108986,20 +110442,20 @@ "start": 96914, "end": 96921, "length": 8, - "parent_index": 5688 + "parent_index": 5690 }, "path_node": { - "id": 5690, + "id": 5692, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2659, "column": 29, "start": 96914, "end": 96921, "length": 8, - "parent_index": 5689 + "parent_index": 5691 }, "name_location": { "line": 2659, @@ -109007,10 +110463,10 @@ "start": 96914, "end": 96921, "length": 8, - "parent_index": 5689 + "parent_index": 5691 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -109026,7 +110482,7 @@ "indexed": true }, { - "id": 5691, + "id": 5693, "node_type": 44, "src": { "line": 2659, @@ -109034,12 +110490,12 @@ "start": 96941, "end": 96963, "length": 23, - "parent_index": 5687 + "parent_index": 5689 }, - "scope": 5686, + "scope": 5688, "name": "assetsRequested", "type_name": { - "id": 5692, + "id": 5694, "node_type": 30, "src": { "line": 2659, @@ -109047,7 +110503,7 @@ "start": 96941, "end": 96947, "length": 7, - "parent_index": 5691 + "parent_index": 5693 }, "name": "uint256", "referenced_declaration": 0, @@ -109065,7 +110521,7 @@ } }, { - "id": 5693, + "id": 5695, "node_type": 44, "src": { "line": 2659, @@ -109073,12 +110529,12 @@ "start": 96966, "end": 96987, "length": 22, - "parent_index": 5687 + "parent_index": 5689 }, - "scope": 5686, + "scope": 5688, "name": "assetsReceived", "type_name": { - "id": 5694, + "id": 5696, "node_type": 30, "src": { "line": 2659, @@ -109086,7 +110542,7 @@ "start": 96966, "end": 96972, "length": 7, - "parent_index": 5693 + "parent_index": 5695 }, "name": "uint256", "referenced_declaration": 0, @@ -109122,12 +110578,12 @@ "name": "StrategyWithdrawal", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265686", + "type_identifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265688", "type_string": "event BaseVault.StrategyWithdrawal" } }, { - "id": 5696, + "id": 5698, "name": "_depositIntoStrategies", "node_type": 42, "kind": 41, @@ -109137,7 +110593,7 @@ "start": 97107, "end": 97541, "length": 435, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2662, @@ -109145,10 +110601,10 @@ "start": 97116, "end": 97137, "length": 22, - "parent_index": 5696 + "parent_index": 5698 }, "body": { - "id": 5701, + "id": 5703, "node_type": 46, "kind": 0, "src": { @@ -109157,12 +110613,12 @@ "start": 97169, "end": 97541, "length": 373, - "parent_index": 5696 + "parent_index": 5698 }, "implemented": true, "statements": [ { - "id": 5702, + "id": 5704, "node_type": 79, "src": { "line": 2664, @@ -109170,10 +110626,10 @@ "start": 97225, "end": 97535, "length": 311, - "parent_index": 5701 + "parent_index": 5703 }, "initialiser": { - "id": 5703, + "id": 5705, "node_type": 44, "src": { "line": 2664, @@ -109181,25 +110637,25 @@ "start": 97230, "end": 97243, "length": 14, - "parent_index": 5701 + "parent_index": 5703 }, "assignments": [ - 5704 + 5706 ], "declarations": [ { - "id": 5704, + "id": 5706, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5701, + "scope": 5703, "src": { "line": 2664, "column": 13, "start": 97230, "end": 97238, "length": 9, - "parent_index": 5703 + "parent_index": 5705 }, "name_location": { "line": 2664, @@ -109207,12 +110663,12 @@ "start": 97238, "end": 97238, "length": 1, - "parent_index": 5704 + "parent_index": 5706 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5705, + "id": 5707, "node_type": 30, "src": { "line": 2664, @@ -109220,7 +110676,7 @@ "start": 97230, "end": 97236, "length": 7, - "parent_index": 5704 + "parent_index": 5706 }, "name": "uint256", "referenced_declaration": 0, @@ -109233,7 +110689,7 @@ } ], "initial_value": { - "id": 5706, + "id": 5708, "node_type": 17, "kind": 49, "value": "0", @@ -109244,7 +110700,7 @@ "start": 97242, "end": 97242, "length": 1, - "parent_index": 5703 + "parent_index": 5705 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -109252,11 +110708,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5707, + "id": 5709, "is_constant": false, "is_pure": false, "node_type": 19, @@ -109266,11 +110723,11 @@ "start": 97245, "end": 97262, "length": 18, - "parent_index": 5702 + "parent_index": 5704 }, "operator": 9, "left_expression": { - "id": 5708, + "id": 5710, "node_type": 16, "src": { "line": 2664, @@ -109278,7 +110735,7 @@ "start": 97245, "end": 97245, "length": 1, - "parent_index": 5707 + "parent_index": 5709 }, "name": "i", "type_description": { @@ -109287,10 +110744,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5709, + "id": 5711, "node_type": 16, "src": { "line": 2664, @@ -109298,7 +110756,7 @@ "start": 97249, "end": 97262, "length": 14, - "parent_index": 5707 + "parent_index": 5709 }, "name": "MAX_STRATEGIES", "type_description": { @@ -109306,8 +110764,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -109315,7 +110774,7 @@ } }, "closure": { - "id": 5710, + "id": 5712, "node_type": 27, "src": { "line": 2664, @@ -109323,11 +110782,11 @@ "start": 97265, "end": 97283, "length": 19, - "parent_index": 5702 + "parent_index": 5704 }, "operator": 11, "left_expression": { - "id": 5711, + "id": 5713, "node_type": 16, "src": { "line": 2664, @@ -109335,7 +110794,7 @@ "start": 97265, "end": 97265, "length": 1, - "parent_index": 5710 + "parent_index": 5712 }, "name": "i", "type_description": { @@ -109344,10 +110803,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5712, + "id": 5714, "node_type": 24, "kind": 24, "src": { @@ -109356,7 +110816,7 @@ "start": 97269, "end": 97283, "length": 15, - "parent_index": 5710 + "parent_index": 5712 }, "argument_types": [ { @@ -109366,7 +110826,7 @@ ], "arguments": [ { - "id": 5714, + "id": 5716, "node_type": 16, "src": { "line": 2664, @@ -109374,7 +110834,7 @@ "start": 97282, "end": 97282, "length": 1, - "parent_index": 5712 + "parent_index": 5714 }, "name": "i", "type_description": { @@ -109383,11 +110843,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5713, + "id": 5715, "node_type": 16, "src": { "line": 2664, @@ -109395,7 +110856,7 @@ "start": 97269, "end": 97280, "length": 12, - "parent_index": 5712 + "parent_index": 5714 }, "name": "uncheckedInc", "type_description": { @@ -109404,7 +110865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -109417,7 +110879,7 @@ } }, "body": { - "id": 5715, + "id": 5717, "node_type": 46, "kind": 0, "src": { @@ -109426,12 +110888,12 @@ "start": 97286, "end": 97535, "length": 250, - "parent_index": 5702 + "parent_index": 5704 }, "implemented": true, "statements": [ { - "id": 5716, + "id": 5718, "node_type": 44, "src": { "line": 2665, @@ -109439,25 +110901,25 @@ "start": 97300, "end": 97338, "length": 39, - "parent_index": 5715 + "parent_index": 5717 }, "assignments": [ - 5717 + 5719 ], "declarations": [ { - "id": 5717, + "id": 5719, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 5715, + "scope": 5717, "src": { "line": 2665, "column": 12, "start": 97300, "end": 97316, "length": 17, - "parent_index": 5716 + "parent_index": 5718 }, "name_location": { "line": 2665, @@ -109465,12 +110927,12 @@ "start": 97309, "end": 97316, "length": 8, - "parent_index": 5717 + "parent_index": 5719 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5718, + "id": 5720, "node_type": 69, "src": { "line": 2665, @@ -109478,20 +110940,20 @@ "start": 97300, "end": 97307, "length": 8, - "parent_index": 5717 + "parent_index": 5719 }, "path_node": { - "id": 5719, + "id": 5721, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2665, "column": 12, "start": 97300, "end": 97307, "length": 8, - "parent_index": 5718 + "parent_index": 5720 }, "name_location": { "line": 2665, @@ -109499,10 +110961,10 @@ "start": 97300, "end": 97307, "length": 8, - "parent_index": 5718 + "parent_index": 5720 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -109512,7 +110974,7 @@ } ], "initial_value": { - "id": 5720, + "id": 5722, "node_type": 22, "src": { "line": 2665, @@ -109520,10 +110982,10 @@ "start": 97320, "end": 97337, "length": 18, - "parent_index": 5716 + "parent_index": 5718 }, "index_expression": { - "id": 5721, + "id": 5723, "node_type": 16, "src": { "line": 2665, @@ -109531,7 +110993,7 @@ "start": 97320, "end": 97334, "length": 15, - "parent_index": 5720 + "parent_index": 5722 }, "name": "withdrawalQueue", "type_description": { @@ -109539,11 +111001,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 5722, + "id": 5724, "node_type": 16, "src": { "line": 2665, @@ -109551,7 +111014,7 @@ "start": 97336, "end": 97336, "length": 1, - "parent_index": 5720 + "parent_index": 5722 }, "name": "i", "type_description": { @@ -109560,7 +111023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -109579,7 +111043,7 @@ } }, { - "id": 5723, + "id": 5725, "node_type": 48, "src": { "line": 2666, @@ -109587,10 +111051,10 @@ "start": 97352, "end": 97426, "length": 75, - "parent_index": 5715 + "parent_index": 5717 }, "condition": { - "id": 5724, + "id": 5726, "is_constant": false, "is_pure": false, "node_type": 19, @@ -109600,11 +111064,11 @@ "start": 97356, "end": 97386, "length": 31, - "parent_index": 5723 + "parent_index": 5725 }, "operator": 11, "left_expression": { - "id": 5725, + "id": 5727, "node_type": 24, "kind": 24, "src": { @@ -109613,7 +111077,7 @@ "start": 97356, "end": 97372, "length": 17, - "parent_index": 5724 + "parent_index": 5726 }, "argument_types": [ { @@ -109623,7 +111087,7 @@ ], "arguments": [ { - "id": 5728, + "id": 5730, "node_type": 16, "src": { "line": 2666, @@ -109631,7 +111095,7 @@ "start": 97364, "end": 97371, "length": 8, - "parent_index": 5725 + "parent_index": 5727 }, "name": "strategy", "type_description": { @@ -109639,12 +111103,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5716, - "is_pure": false + "referenced_declaration": 5718, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5726, + "id": 5728, "node_type": 16, "src": { "line": 2666, @@ -109652,11 +111117,11 @@ "start": 97356, "end": 97362, "length": 7, - "parent_index": 5725 + "parent_index": 5727 }, "name": "address", "type_name": { - "id": 5727, + "id": 5729, "node_type": 30, "src": { "line": 2666, @@ -109664,7 +111129,7 @@ "start": 97356, "end": 97362, "length": 7, - "parent_index": 5726 + "parent_index": 5728 }, "name": "address", "state_mutability": 4, @@ -109686,7 +111151,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -109694,7 +111160,7 @@ } }, "right_expression": { - "id": 5729, + "id": 5731, "node_type": 24, "kind": 24, "src": { @@ -109703,7 +111169,7 @@ "start": 97377, "end": 97386, "length": 10, - "parent_index": 5724 + "parent_index": 5726 }, "argument_types": [ { @@ -109713,7 +111179,7 @@ ], "arguments": [ { - "id": 5732, + "id": 5734, "node_type": 17, "kind": 49, "value": "0", @@ -109724,7 +111190,7 @@ "start": 97385, "end": 97385, "length": 1, - "parent_index": 5729 + "parent_index": 5731 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -109732,11 +111198,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 5730, + "id": 5732, "node_type": 16, "src": { "line": 2666, @@ -109744,11 +111211,11 @@ "start": 97377, "end": 97383, "length": 7, - "parent_index": 5729 + "parent_index": 5731 }, "name": "address", "type_name": { - "id": 5731, + "id": 5733, "node_type": 30, "src": { "line": 2666, @@ -109756,7 +111223,7 @@ "start": 97377, "end": 97383, "length": 7, - "parent_index": 5730 + "parent_index": 5732 }, "name": "address", "state_mutability": 4, @@ -109778,7 +111245,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -109791,7 +111259,7 @@ } }, "body": { - "id": 5733, + "id": 5735, "node_type": 46, "kind": 0, "src": { @@ -109800,12 +111268,12 @@ "start": 97389, "end": 97426, "length": 38, - "parent_index": 5702 + "parent_index": 5704 }, "implemented": true, "statements": [ { - "id": 5734, + "id": 5736, "node_type": 74, "src": { "line": 2667, @@ -109813,14 +111281,14 @@ "start": 97407, "end": 97412, "length": 6, - "parent_index": 5733 + "parent_index": 5735 } } ] } }, { - "id": 5735, + "id": 5737, "node_type": 24, "kind": 24, "src": { @@ -109829,7 +111297,7 @@ "start": 97440, "end": 97524, "length": 85, - "parent_index": 5715 + "parent_index": 5717 }, "argument_types": [ { @@ -109843,7 +111311,7 @@ ], "arguments": [ { - "id": 5737, + "id": 5739, "node_type": 16, "src": { "line": 2669, @@ -109851,7 +111319,7 @@ "start": 97461, "end": 97468, "length": 8, - "parent_index": 5735 + "parent_index": 5737 }, "name": "strategy", "type_description": { @@ -109859,11 +111327,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5716, - "is_pure": false + "referenced_declaration": 5718, + "is_pure": false, + "text": "strategy" }, { - "id": 5738, + "id": 5740, "is_constant": false, "is_pure": false, "node_type": 19, @@ -109873,11 +111342,11 @@ "start": 97471, "end": 97523, "length": 53, - "parent_index": 5735 + "parent_index": 5737 }, "operator": 4, "left_expression": { - "id": 5739, + "id": 5741, "node_type": 60, "src": { "line": 2669, @@ -109885,13 +111354,13 @@ "start": 97471, "end": 97513, "length": 43, - "parent_index": 5738 + "parent_index": 5740 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 5740, + "id": 5742, "is_constant": false, "is_pure": false, "node_type": 19, @@ -109901,11 +111370,11 @@ "start": 97472, "end": 97512, "length": 41, - "parent_index": 5739 + "parent_index": 5741 }, "operator": 3, "left_expression": { - "id": 5741, + "id": 5743, "node_type": 16, "src": { "line": 2669, @@ -109913,7 +111382,7 @@ "start": 97472, "end": 97482, "length": 11, - "parent_index": 5740 + "parent_index": 5742 }, "name": "assetAmount", "type_description": { @@ -109921,11 +111390,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5698, - "is_pure": false + "referenced_declaration": 5700, + "is_pure": false, + "text": "assetAmount" }, "right_expression": { - "id": 5742, + "id": 5744, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -109937,7 +111407,7 @@ "start": 97486, "end": 97512, "length": 27, - "parent_index": 5740 + "parent_index": 5742 }, "member_location": { "line": 2669, @@ -109945,10 +111415,10 @@ "start": 97507, "end": 97512, "length": 6, - "parent_index": 5742 + "parent_index": 5744 }, "expression": { - "id": 5743, + "id": 5745, "node_type": 22, "src": { "line": 2669, @@ -109956,10 +111426,10 @@ "start": 97486, "end": 97505, "length": 20, - "parent_index": 5742 + "parent_index": 5744 }, "index_expression": { - "id": 5744, + "id": 5746, "node_type": 16, "src": { "line": 2669, @@ -109967,19 +111437,20 @@ "start": 97486, "end": 97495, "length": 10, - "parent_index": 5743 + "parent_index": 5745 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5745, + "id": 5747, "node_type": 16, "src": { "line": 2669, @@ -109987,7 +111458,7 @@ "start": 97497, "end": 97504, "length": 8, - "parent_index": 5743 + "parent_index": 5745 }, "name": "strategy", "type_description": { @@ -109995,12 +111466,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5716, - "is_pure": false + "referenced_declaration": 5718, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -110009,16 +111481,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -110032,7 +111505,7 @@ } }, "right_expression": { - "id": 5746, + "id": 5748, "node_type": 16, "src": { "line": 2669, @@ -110040,7 +111513,7 @@ "start": 97517, "end": 97523, "length": 7, - "parent_index": 5738 + "parent_index": 5740 }, "name": "MAX_BPS", "type_description": { @@ -110048,8 +111521,9 @@ "type_string": "int_const 10_000" }, "overloaded_declarations": [], - "referenced_declaration": 5406, - "is_pure": false + "referenced_declaration": 5408, + "is_pure": false, + "text": "MAX_BPS" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -110058,7 +111532,7 @@ } ], "expression": { - "id": 5736, + "id": 5738, "node_type": 16, "src": { "line": 2669, @@ -110066,7 +111540,7 @@ "start": 97440, "end": 97459, "length": 20, - "parent_index": 5735 + "parent_index": 5737 }, "name": "_depositIntoStrategy", "type_description": { @@ -110075,7 +111549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_depositIntoStrategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_uint256$", @@ -110094,7 +111569,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5697, + "id": 5699, "node_type": 43, "src": { "line": 2662, @@ -110102,11 +111577,11 @@ "start": 97139, "end": 97157, "length": 19, - "parent_index": 5696 + "parent_index": 5698 }, "parameters": [ { - "id": 5698, + "id": 5700, "node_type": 44, "src": { "line": 2662, @@ -110114,12 +111589,12 @@ "start": 97139, "end": 97157, "length": 19, - "parent_index": 5697 + "parent_index": 5699 }, - "scope": 5696, + "scope": 5698, "name": "assetAmount", "type_name": { - "id": 5699, + "id": 5701, "node_type": 30, "src": { "line": 2662, @@ -110127,7 +111602,7 @@ "start": 97139, "end": 97145, "length": 7, - "parent_index": 5698 + "parent_index": 5700 }, "name": "uint256", "referenced_declaration": 0, @@ -110153,7 +111628,7 @@ ] }, "return_parameters": { - "id": 5700, + "id": 5702, "node_type": 43, "src": { "line": 2662, @@ -110161,21 +111636,22 @@ "start": 97107, "end": 97541, "length": 435, - "parent_index": 5696 + "parent_index": 5698 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_depositIntoStrategies(uint256)", "signature": "7e4023dd", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_depositIntoStrategies(uint256assetAmount)internal{for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){Strategystrategy=withdrawalQueue[i];if(address(strategy)==address(0)){break;}_depositIntoStrategy(strategy,(assetAmount*strategies[strategy].tvlBps)/MAX_BPS);}}" }, { - "id": 5748, + "id": 5750, "name": "_depositIntoStrategy", "node_type": 42, "kind": 41, @@ -110185,7 +111661,7 @@ "start": 97548, "end": 98339, "length": 792, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2673, @@ -110193,10 +111669,10 @@ "start": 97557, "end": 97576, "length": 20, - "parent_index": 5748 + "parent_index": 5750 }, "body": { - "id": 5756, + "id": 5758, "node_type": 46, "kind": 0, "src": { @@ -110205,12 +111681,12 @@ "start": 97622, "end": 98339, "length": 718, - "parent_index": 5748 + "parent_index": 5750 }, "implemented": true, "statements": [ { - "id": 5757, + "id": 5759, "node_type": 48, "src": { "line": 2675, @@ -110218,10 +111694,10 @@ "start": 97673, "end": 97696, "length": 24, - "parent_index": 5756 + "parent_index": 5758 }, "condition": { - "id": 5758, + "id": 5760, "is_constant": false, "is_pure": false, "node_type": 19, @@ -110231,11 +111707,11 @@ "start": 97677, "end": 97687, "length": 11, - "parent_index": 5757 + "parent_index": 5759 }, "operator": 11, "left_expression": { - "id": 5759, + "id": 5761, "node_type": 16, "src": { "line": 2675, @@ -110243,7 +111719,7 @@ "start": 97677, "end": 97682, "length": 6, - "parent_index": 5758 + "parent_index": 5760 }, "name": "assets", "type_description": { @@ -110251,11 +111727,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5759, - "is_pure": false + "referenced_declaration": 5761, + "is_pure": false, + "text": "assets" }, "right_expression": { - "id": 5760, + "id": 5762, "node_type": 17, "kind": 49, "value": "0", @@ -110266,7 +111743,7 @@ "start": 97687, "end": 97687, "length": 1, - "parent_index": 5758 + "parent_index": 5760 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -110274,7 +111751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -110282,7 +111760,7 @@ } }, "body": { - "id": 5761, + "id": 5763, "node_type": 46, "kind": 0, "src": { @@ -110297,7 +111775,7 @@ } }, { - "id": 5762, + "id": 5764, "node_type": 27, "src": { "line": 2678, @@ -110305,10 +111783,10 @@ "start": 97777, "end": 97808, "length": 32, - "parent_index": 5756 + "parent_index": 5758 }, "expression": { - "id": 5763, + "id": 5765, "node_type": 27, "src": { "line": 2678, @@ -110316,11 +111794,11 @@ "start": 97777, "end": 97807, "length": 31, - "parent_index": 5762 + "parent_index": 5764 }, "operator": 13, "left_expression": { - "id": 5764, + "id": 5766, "node_type": 16, "src": { "line": 2678, @@ -110328,7 +111806,7 @@ "start": 97777, "end": 97797, "length": 21, - "parent_index": 5763 + "parent_index": 5765 }, "name": "totalStrategyHoldings", "type_description": { @@ -110336,11 +111814,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" }, "right_expression": { - "id": 5765, + "id": 5767, "node_type": 16, "src": { "line": 2678, @@ -110348,7 +111827,7 @@ "start": 97802, "end": 97807, "length": 6, - "parent_index": 5763 + "parent_index": 5765 }, "name": "assets", "type_description": { @@ -110356,8 +111835,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5765, - "is_pure": false + "referenced_declaration": 5767, + "is_pure": false, + "text": "assets" }, "type_description": { "type_identifier": "t_uint256", @@ -110367,10 +111847,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalStrategyHoldings+=assets;" }, { - "id": 5766, + "id": 5768, "node_type": 24, "kind": 24, "src": { @@ -110379,7 +111860,7 @@ "start": 98143, "end": 98187, "length": 45, - "parent_index": 5756 + "parent_index": 5758 }, "argument_types": [ { @@ -110393,7 +111874,7 @@ ], "arguments": [ { - "id": 5769, + "id": 5771, "node_type": 24, "kind": 24, "src": { @@ -110402,7 +111883,7 @@ "start": 98162, "end": 98178, "length": 17, - "parent_index": 5766 + "parent_index": 5768 }, "argument_types": [ { @@ -110412,7 +111893,7 @@ ], "arguments": [ { - "id": 5772, + "id": 5774, "node_type": 16, "src": { "line": 2687, @@ -110420,7 +111901,7 @@ "start": 98170, "end": 98177, "length": 8, - "parent_index": 5769 + "parent_index": 5771 }, "name": "strategy", "type_description": { @@ -110428,12 +111909,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5772, - "is_pure": false + "referenced_declaration": 5774, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 5770, + "id": 5772, "node_type": 16, "src": { "line": 2687, @@ -110441,11 +111923,11 @@ "start": 98162, "end": 98168, "length": 7, - "parent_index": 5769 + "parent_index": 5771 }, "name": "address", "type_name": { - "id": 5771, + "id": 5773, "node_type": 30, "src": { "line": 2687, @@ -110453,7 +111935,7 @@ "start": 98162, "end": 98168, "length": 7, - "parent_index": 5770 + "parent_index": 5772 }, "name": "address", "state_mutability": 4, @@ -110475,7 +111957,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -110483,7 +111966,7 @@ } }, { - "id": 5773, + "id": 5775, "node_type": 16, "src": { "line": 2687, @@ -110491,7 +111974,7 @@ "start": 98181, "end": 98186, "length": 6, - "parent_index": 5766 + "parent_index": 5768 }, "name": "assets", "type_description": { @@ -110499,18 +111982,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5773, + "referenced_declaration": 5775, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "assets" } ], "expression": { - "id": 5767, + "id": 5769, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -110522,7 +112006,7 @@ "start": 98143, "end": 98160, "length": 18, - "parent_index": 5766 + "parent_index": 5768 }, "member_location": { "line": 2687, @@ -110530,10 +112014,10 @@ "start": 98150, "end": 98160, "length": 11, - "parent_index": 5767 + "parent_index": 5769 }, "expression": { - "id": 5768, + "id": 5770, "node_type": 16, "src": { "line": 2687, @@ -110541,23 +112025,25 @@ "start": 98143, "end": 98148, "length": 6, - "parent_index": 5767 + "parent_index": 5769 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "member_name": "safeApprove", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset.safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -110565,7 +112051,7 @@ } }, { - "id": 5774, + "id": 5776, "node_type": 24, "kind": 24, "src": { @@ -110574,7 +112060,7 @@ "start": 98262, "end": 98284, "length": 23, - "parent_index": 5756 + "parent_index": 5758 }, "argument_types": [ { @@ -110584,7 +112070,7 @@ ], "arguments": [ { - "id": 5777, + "id": 5779, "node_type": 16, "src": { "line": 2690, @@ -110592,7 +112078,7 @@ "start": 98278, "end": 98283, "length": 6, - "parent_index": 5774 + "parent_index": 5776 }, "name": "assets", "type_description": { @@ -110600,12 +112086,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5777, - "is_pure": false + "referenced_declaration": 5779, + "is_pure": false, + "text": "assets" } ], "expression": { - "id": 5775, + "id": 5777, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -110617,7 +112104,7 @@ "start": 98262, "end": 98276, "length": 15, - "parent_index": 5774 + "parent_index": 5776 }, "member_location": { "line": 2690, @@ -110625,10 +112112,10 @@ "start": 98271, "end": 98276, "length": 6, - "parent_index": 5775 + "parent_index": 5777 }, "expression": { - "id": 5776, + "id": 5778, "node_type": 16, "src": { "line": 2690, @@ -110636,7 +112123,7 @@ "start": 98262, "end": 98269, "length": 8, - "parent_index": 5775 + "parent_index": 5777 }, "name": "strategy", "type_description": { @@ -110644,15 +112131,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5776, - "is_pure": false + "referenced_declaration": 5778, + "is_pure": false, + "text": "strategy" }, "member_name": "invest", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.invest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -110660,7 +112149,7 @@ } }, { - "id": 5778, + "id": 5780, "node_type": 64, "src": { "line": 2691, @@ -110668,11 +112157,11 @@ "start": 98295, "end": 98333, "length": 39, - "parent_index": 5748 + "parent_index": 5750 }, "arguments": [ { - "id": 5779, + "id": 5781, "node_type": 16, "src": { "line": 2691, @@ -110680,7 +112169,7 @@ "start": 98316, "end": 98323, "length": 8, - "parent_index": 5778 + "parent_index": 5780 }, "name": "strategy", "type_description": { @@ -110688,11 +112177,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5779, - "is_pure": false + "referenced_declaration": 5781, + "is_pure": false, + "text": "strategy" }, { - "id": 5780, + "id": 5782, "node_type": 16, "src": { "line": 2691, @@ -110700,7 +112190,7 @@ "start": 98326, "end": 98331, "length": 6, - "parent_index": 5778 + "parent_index": 5780 }, "name": "assets", "type_description": { @@ -110708,12 +112198,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5780, - "is_pure": false + "referenced_declaration": 5782, + "is_pure": false, + "text": "assets" } ], "expression": { - "id": 5781, + "id": 5783, "node_type": 16, "src": { "line": 2691, @@ -110721,20 +112212,21 @@ "start": 98300, "end": 98314, "length": 15, - "parent_index": 5778 + "parent_index": 5780 }, "name": "StrategyDeposit", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265678", + "type_identifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265680", "type_string": "event BaseVault.StrategyDeposit" }, "overloaded_declarations": [], - "referenced_declaration": 5678, - "is_pure": false + "referenced_declaration": 5680, + "is_pure": false, + "text": "StrategyDeposit" } }, { - "id": 5782, + "id": 5784, "node_type": 59, "kind": 0, "src": { @@ -110743,12 +112235,12 @@ "start": 97819, "end": 98071, "length": 253, - "parent_index": 5193 + "parent_index": 5194 }, "implemented": false, "statements": [ { - "id": 5783, + "id": 5785, "node_type": 27, "src": { "line": 2683, @@ -110756,10 +112248,10 @@ "start": 98014, "end": 98061, "length": 48, - "parent_index": 5782 + "parent_index": 5784 }, "expression": { - "id": 5784, + "id": 5786, "node_type": 27, "src": { "line": 2683, @@ -110767,11 +112259,11 @@ "start": 98014, "end": 98060, "length": 47, - "parent_index": 5783 + "parent_index": 5785 }, "operator": 13, "left_expression": { - "id": 5785, + "id": 5787, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -110783,7 +112275,7 @@ "start": 98014, "end": 98041, "length": 28, - "parent_index": 5784 + "parent_index": 5786 }, "member_location": { "line": 2683, @@ -110791,10 +112283,10 @@ "start": 98035, "end": 98041, "length": 7, - "parent_index": 5785 + "parent_index": 5787 }, "expression": { - "id": 5786, + "id": 5788, "node_type": 22, "src": { "line": 2683, @@ -110802,10 +112294,10 @@ "start": 98014, "end": 98033, "length": 20, - "parent_index": 5785 + "parent_index": 5787 }, "index_expression": { - "id": 5787, + "id": 5789, "node_type": 16, "src": { "line": 2683, @@ -110813,19 +112305,20 @@ "start": 98014, "end": 98023, "length": 10, - "parent_index": 5786 + "parent_index": 5788 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5788, + "id": 5790, "node_type": 16, "src": { "line": 2683, @@ -110833,7 +112326,7 @@ "start": 98025, "end": 98032, "length": 8, - "parent_index": 5786 + "parent_index": 5788 }, "name": "strategy", "type_description": { @@ -110841,12 +112334,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5788, - "is_pure": false + "referenced_declaration": 5790, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -110855,19 +112349,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" }, "right_expression": { - "id": 5789, + "id": 5791, "node_type": 24, "kind": 24, "src": { @@ -110876,7 +112371,7 @@ "start": 98046, "end": 98060, "length": 15, - "parent_index": 5784 + "parent_index": 5786 }, "argument_types": [ { @@ -110886,7 +112381,7 @@ ], "arguments": [ { - "id": 5792, + "id": 5794, "node_type": 16, "src": { "line": 2683, @@ -110894,7 +112389,7 @@ "start": 98054, "end": 98059, "length": 6, - "parent_index": 5789 + "parent_index": 5791 }, "name": "assets", "type_description": { @@ -110902,12 +112397,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5792, - "is_pure": false + "referenced_declaration": 5794, + "is_pure": false, + "text": "assets" } ], "expression": { - "id": 5790, + "id": 5792, "node_type": 16, "src": { "line": 2683, @@ -110915,11 +112411,11 @@ "start": 98046, "end": 98052, "length": 7, - "parent_index": 5789 + "parent_index": 5791 }, "name": "uint232", "type_name": { - "id": 5791, + "id": 5793, "node_type": 30, "src": { "line": 2683, @@ -110927,7 +112423,7 @@ "start": 98046, "end": 98052, "length": 7, - "parent_index": 5790 + "parent_index": 5792 }, "name": "uint232", "referenced_declaration": 0, @@ -110948,7 +112444,8 @@ "type_identifier": "t_uint232", "type_string": "uint232" } - ] + ], + "text": "uint232" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -110956,14 +112453,15 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance+=uint232(assets);" } ] } @@ -110976,7 +112474,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5749, + "id": 5751, "node_type": 43, "src": { "line": 2673, @@ -110984,11 +112482,11 @@ "start": 97578, "end": 97610, "length": 33, - "parent_index": 5748 + "parent_index": 5750 }, "parameters": [ { - "id": 5750, + "id": 5752, "node_type": 44, "src": { "line": 2673, @@ -110996,12 +112494,12 @@ "start": 97578, "end": 97594, "length": 17, - "parent_index": 5749 + "parent_index": 5751 }, - "scope": 5748, + "scope": 5750, "name": "strategy", "type_name": { - "id": 5751, + "id": 5753, "node_type": 69, "src": { "line": 2673, @@ -111009,20 +112507,20 @@ "start": 97578, "end": 97585, "length": 8, - "parent_index": 5750 + "parent_index": 5752 }, "path_node": { - "id": 5752, + "id": 5754, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2673, "column": 34, "start": 97578, "end": 97585, "length": 8, - "parent_index": 5751 + "parent_index": 5753 }, "name_location": { "line": 2673, @@ -111030,10 +112528,10 @@ "start": 97578, "end": 97585, "length": 8, - "parent_index": 5751 + "parent_index": 5753 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -111048,7 +112546,7 @@ } }, { - "id": 5753, + "id": 5755, "node_type": 44, "src": { "line": 2673, @@ -111056,12 +112554,12 @@ "start": 97597, "end": 97610, "length": 14, - "parent_index": 5749 + "parent_index": 5751 }, - "scope": 5748, + "scope": 5750, "name": "assets", "type_name": { - "id": 5754, + "id": 5756, "node_type": 30, "src": { "line": 2673, @@ -111069,7 +112567,7 @@ "start": 97597, "end": 97603, "length": 7, - "parent_index": 5753 + "parent_index": 5755 }, "name": "uint256", "referenced_declaration": 0, @@ -111099,7 +112597,7 @@ ] }, "return_parameters": { - "id": 5755, + "id": 5757, "node_type": 43, "src": { "line": 2673, @@ -111107,21 +112605,22 @@ "start": 97548, "end": 98339, "length": 792, - "parent_index": 5748 + "parent_index": 5750 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_depositIntoStrategy(, uint256)", - "signature": "48041b7a", - "scope": 5193, + "signature_raw": "_depositIntoStrategy(,uint256)", + "signature": "6168a132", + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" - } + }, + "text": "function_depositIntoStrategy(Strategystrategy,uint256assets)internal{if(assets==0)return;totalStrategyHoldings+=assets;unchecked{strategies[strategy].balance+=uint232(assets);}_asset.safeApprove(address(strategy),assets);strategy.invest(assets);emitStrategyDeposit(strategy,assets);}" }, { - "id": 5794, + "id": 5796, "name": "_withdrawFromStrategy", "node_type": 42, "kind": 41, @@ -111131,7 +112630,7 @@ "start": 98705, "end": 99733, "length": 1029, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2701, @@ -111139,10 +112638,10 @@ "start": 98714, "end": 98734, "length": 21, - "parent_index": 5794 + "parent_index": 5796 }, "body": { - "id": 5804, + "id": 5806, "node_type": 46, "kind": 0, "src": { @@ -111151,12 +112650,12 @@ "start": 98798, "end": 99733, "length": 936, - "parent_index": 5794 + "parent_index": 5796 }, "implemented": true, "statements": [ { - "id": 5805, + "id": 5807, "node_type": 44, "src": { "line": 2703, @@ -111164,25 +112663,25 @@ "start": 98846, "end": 98897, "length": 52, - "parent_index": 5804 + "parent_index": 5806 }, "assignments": [ - 5806 + 5808 ], "declarations": [ { - "id": 5806, + "id": 5808, "state_mutability": 1, "name": "amountWithdrawn", "node_type": 44, - "scope": 5804, + "scope": 5806, "src": { "line": 2703, "column": 8, "start": 98846, "end": 98868, "length": 23, - "parent_index": 5805 + "parent_index": 5807 }, "name_location": { "line": 2703, @@ -111190,12 +112689,12 @@ "start": 98854, "end": 98868, "length": 15, - "parent_index": 5806 + "parent_index": 5808 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5807, + "id": 5809, "node_type": 30, "src": { "line": 2703, @@ -111203,7 +112702,7 @@ "start": 98846, "end": 98852, "length": 7, - "parent_index": 5806 + "parent_index": 5808 }, "name": "uint256", "referenced_declaration": 0, @@ -111216,7 +112715,7 @@ } ], "initial_value": { - "id": 5808, + "id": 5810, "node_type": 24, "kind": 24, "src": { @@ -111225,7 +112724,7 @@ "start": 98872, "end": 98896, "length": 25, - "parent_index": 5805 + "parent_index": 5807 }, "argument_types": [ { @@ -111239,7 +112738,7 @@ ], "arguments": [ { - "id": 5810, + "id": 5812, "node_type": 16, "src": { "line": 2703, @@ -111247,7 +112746,7 @@ "start": 98880, "end": 98887, "length": 8, - "parent_index": 5808 + "parent_index": 5810 }, "name": "strategy", "type_description": { @@ -111255,11 +112754,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5810, - "is_pure": false + "referenced_declaration": 5812, + "is_pure": false, + "text": "strategy" }, { - "id": 5811, + "id": 5813, "node_type": 16, "src": { "line": 2703, @@ -111267,7 +112767,7 @@ "start": 98890, "end": 98895, "length": 6, - "parent_index": 5808 + "parent_index": 5810 }, "name": "assets", "type_description": { @@ -111275,18 +112775,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5811, + "referenced_declaration": 5813, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "assets" } ], "expression": { - "id": 5809, + "id": 5811, "node_type": 16, "src": { "line": 2703, @@ -111294,7 +112795,7 @@ "start": 98872, "end": 98878, "length": 7, - "parent_index": 5808 + "parent_index": 5810 }, "name": "_divest", "type_description": { @@ -111303,7 +112804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_divest" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -111312,7 +112814,7 @@ } }, { - "id": 5812, + "id": 5814, "node_type": 44, "src": { "line": 2708, @@ -111320,25 +112822,25 @@ "start": 99150, "end": 99200, "length": 51, - "parent_index": 5804 + "parent_index": 5806 }, "assignments": [ - 5813 + 5815 ], "declarations": [ { - "id": 5813, + "id": 5815, "state_mutability": 1, "name": "oldStratTVL", "node_type": 44, - "scope": 5804, + "scope": 5806, "src": { "line": 2708, "column": 8, "start": 99150, "end": 99168, "length": 19, - "parent_index": 5812 + "parent_index": 5814 }, "name_location": { "line": 2708, @@ -111346,12 +112848,12 @@ "start": 99158, "end": 99168, "length": 11, - "parent_index": 5813 + "parent_index": 5815 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5814, + "id": 5816, "node_type": 30, "src": { "line": 2708, @@ -111359,7 +112861,7 @@ "start": 99150, "end": 99156, "length": 7, - "parent_index": 5813 + "parent_index": 5815 }, "name": "uint256", "referenced_declaration": 0, @@ -111372,7 +112874,7 @@ } ], "initial_value": { - "id": 5815, + "id": 5817, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -111384,7 +112886,7 @@ "start": 99172, "end": 99199, "length": 28, - "parent_index": 5812 + "parent_index": 5814 }, "member_location": { "line": 2708, @@ -111392,10 +112894,10 @@ "start": 99193, "end": 99199, "length": 7, - "parent_index": 5815 + "parent_index": 5817 }, "expression": { - "id": 5816, + "id": 5818, "node_type": 22, "src": { "line": 2708, @@ -111403,10 +112905,10 @@ "start": 99172, "end": 99191, "length": 20, - "parent_index": 5812 + "parent_index": 5814 }, "index_expression": { - "id": 5817, + "id": 5819, "node_type": 16, "src": { "line": 2708, @@ -111414,19 +112916,20 @@ "start": 99172, "end": 99181, "length": 10, - "parent_index": 5816 + "parent_index": 5818 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5818, + "id": 5820, "node_type": 16, "src": { "line": 2708, @@ -111434,7 +112937,7 @@ "start": 99183, "end": 99190, "length": 8, - "parent_index": 5816 + "parent_index": 5818 }, "name": "strategy", "type_description": { @@ -111442,12 +112945,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5818, - "is_pure": false + "referenced_declaration": 5820, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -111456,20 +112960,21 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" } }, { - "id": 5819, + "id": 5821, "node_type": 44, "src": { "line": 2709, @@ -111477,25 +112982,25 @@ "start": 99210, "end": 99259, "length": 50, - "parent_index": 5804 + "parent_index": 5806 }, "assignments": [ - 5820 + 5822 ], "declarations": [ { - "id": 5820, + "id": 5822, "state_mutability": 1, "name": "newStratTvl", "node_type": 44, - "scope": 5804, + "scope": 5806, "src": { "line": 2709, "column": 8, "start": 99210, "end": 99228, "length": 19, - "parent_index": 5819 + "parent_index": 5821 }, "name_location": { "line": 2709, @@ -111503,12 +113008,12 @@ "start": 99218, "end": 99228, "length": 11, - "parent_index": 5820 + "parent_index": 5822 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5821, + "id": 5823, "node_type": 30, "src": { "line": 2709, @@ -111516,7 +113021,7 @@ "start": 99210, "end": 99216, "length": 7, - "parent_index": 5820 + "parent_index": 5822 }, "name": "uint256", "referenced_declaration": 0, @@ -111529,7 +113034,7 @@ } ], "initial_value": { - "id": 5822, + "id": 5824, "node_type": 24, "kind": 24, "src": { @@ -111538,12 +113043,12 @@ "start": 99232, "end": 99258, "length": 27, - "parent_index": 5819 + "parent_index": 5821 }, "argument_types": [], "arguments": [], "expression": { - "id": 5823, + "id": 5825, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -111555,7 +113060,7 @@ "start": 99232, "end": 99256, "length": 25, - "parent_index": 5822 + "parent_index": 5824 }, "member_location": { "line": 2709, @@ -111563,10 +113068,10 @@ "start": 99241, "end": 99256, "length": 16, - "parent_index": 5823 + "parent_index": 5825 }, "expression": { - "id": 5824, + "id": 5826, "node_type": 16, "src": { "line": 2709, @@ -111574,7 +113079,7 @@ "start": 99232, "end": 99239, "length": 8, - "parent_index": 5823 + "parent_index": 5825 }, "name": "strategy", "type_description": { @@ -111582,15 +113087,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5824, - "is_pure": false + "referenced_declaration": 5826, + "is_pure": false, + "text": "strategy" }, "member_name": "totalLockedValue", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.totalLockedValue" }, "type_description": { "type_identifier": "t_function_$", @@ -111599,7 +113106,7 @@ } }, { - "id": 5825, + "id": 5827, "node_type": 27, "src": { "line": 2710, @@ -111607,10 +113114,10 @@ "start": 99269, "end": 99320, "length": 52, - "parent_index": 5804 + "parent_index": 5806 }, "expression": { - "id": 5826, + "id": 5828, "node_type": 27, "src": { "line": 2710, @@ -111618,11 +113125,11 @@ "start": 99269, "end": 99319, "length": 51, - "parent_index": 5825 + "parent_index": 5827 }, "operator": 11, "left_expression": { - "id": 5827, + "id": 5829, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -111634,7 +113141,7 @@ "start": 99269, "end": 99296, "length": 28, - "parent_index": 5826 + "parent_index": 5828 }, "member_location": { "line": 2710, @@ -111642,10 +113149,10 @@ "start": 99290, "end": 99296, "length": 7, - "parent_index": 5827 + "parent_index": 5829 }, "expression": { - "id": 5828, + "id": 5830, "node_type": 22, "src": { "line": 2710, @@ -111653,10 +113160,10 @@ "start": 99269, "end": 99288, "length": 20, - "parent_index": 5827 + "parent_index": 5829 }, "index_expression": { - "id": 5829, + "id": 5831, "node_type": 16, "src": { "line": 2710, @@ -111664,19 +113171,20 @@ "start": 99269, "end": 99278, "length": 10, - "parent_index": 5828 + "parent_index": 5830 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5830, + "id": 5832, "node_type": 16, "src": { "line": 2710, @@ -111684,7 +113192,7 @@ "start": 99280, "end": 99287, "length": 8, - "parent_index": 5828 + "parent_index": 5830 }, "name": "strategy", "type_description": { @@ -111692,12 +113200,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5830, - "is_pure": false + "referenced_declaration": 5832, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -111706,19 +113215,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" }, "right_expression": { - "id": 5831, + "id": 5833, "node_type": 24, "kind": 24, "src": { @@ -111727,7 +113237,7 @@ "start": 99300, "end": 99319, "length": 20, - "parent_index": 5826 + "parent_index": 5828 }, "argument_types": [ { @@ -111737,7 +113247,7 @@ ], "arguments": [ { - "id": 5834, + "id": 5836, "node_type": 16, "src": { "line": 2710, @@ -111745,7 +113255,7 @@ "start": 99308, "end": 99318, "length": 11, - "parent_index": 5831 + "parent_index": 5833 }, "name": "newStratTvl", "type_description": { @@ -111753,12 +113263,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5819, - "is_pure": false + "referenced_declaration": 5821, + "is_pure": false, + "text": "newStratTvl" } ], "expression": { - "id": 5832, + "id": 5834, "node_type": 16, "src": { "line": 2710, @@ -111766,11 +113277,11 @@ "start": 99300, "end": 99306, "length": 7, - "parent_index": 5831 + "parent_index": 5833 }, "name": "uint232", "type_name": { - "id": 5833, + "id": 5835, "node_type": 30, "src": { "line": 2710, @@ -111778,7 +113289,7 @@ "start": 99300, "end": 99306, "length": 7, - "parent_index": 5832 + "parent_index": 5834 }, "name": "uint232", "referenced_declaration": 0, @@ -111799,7 +113310,8 @@ "type_identifier": "t_uint232", "type_string": "uint232" } - ] + ], + "text": "uint232" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -111807,17 +113319,18 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance=uint232(newStratTvl);" }, { - "id": 5835, + "id": 5837, "node_type": 27, "src": { "line": 2714, @@ -111825,10 +113338,10 @@ "start": 99500, "end": 99582, "length": 83, - "parent_index": 5804 + "parent_index": 5806 }, "expression": { - "id": 5836, + "id": 5838, "node_type": 27, "src": { "line": 2714, @@ -111836,11 +113349,11 @@ "start": 99500, "end": 99581, "length": 82, - "parent_index": 5835 + "parent_index": 5837 }, "operator": 14, "left_expression": { - "id": 5837, + "id": 5839, "node_type": 16, "src": { "line": 2714, @@ -111848,7 +113361,7 @@ "start": 99500, "end": 99520, "length": 21, - "parent_index": 5836 + "parent_index": 5838 }, "name": "totalStrategyHoldings", "type_description": { @@ -111856,11 +113369,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" }, "right_expression": { - "id": 5839, + "id": 5841, "node_type": 97, "src": { "line": 2714, @@ -111868,11 +113382,11 @@ "start": 99525, "end": 99581, "length": 57, - "parent_index": 5836 + "parent_index": 5838 }, "expressions": [ { - "id": 5840, + "id": 5842, "is_constant": false, "is_pure": false, "node_type": 19, @@ -111882,11 +113396,11 @@ "start": 99525, "end": 99549, "length": 25, - "parent_index": 5839 + "parent_index": 5841 }, "operator": 7, "left_expression": { - "id": 5841, + "id": 5843, "node_type": 16, "src": { "line": 2714, @@ -111894,7 +113408,7 @@ "start": 99525, "end": 99535, "length": 11, - "parent_index": 5840 + "parent_index": 5842 }, "name": "oldStratTVL", "type_description": { @@ -111902,11 +113416,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5812, - "is_pure": false + "referenced_declaration": 5814, + "is_pure": false, + "text": "oldStratTVL" }, "right_expression": { - "id": 5842, + "id": 5844, "node_type": 16, "src": { "line": 2714, @@ -111914,7 +113429,7 @@ "start": 99539, "end": 99549, "length": 11, - "parent_index": 5840 + "parent_index": 5842 }, "name": "newStratTvl", "type_description": { @@ -111922,8 +113437,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5819, - "is_pure": false + "referenced_declaration": 5821, + "is_pure": false, + "text": "newStratTvl" }, "type_description": { "type_identifier": "t_bool", @@ -111931,7 +113447,7 @@ } }, { - "id": 5843, + "id": 5845, "is_constant": false, "is_pure": false, "node_type": 19, @@ -111941,11 +113457,11 @@ "start": 99553, "end": 99577, "length": 25, - "parent_index": 5839 + "parent_index": 5841 }, "operator": 2, "left_expression": { - "id": 5844, + "id": 5846, "node_type": 16, "src": { "line": 2714, @@ -111953,7 +113469,7 @@ "start": 99553, "end": 99563, "length": 11, - "parent_index": 5843 + "parent_index": 5845 }, "name": "oldStratTVL", "type_description": { @@ -111961,11 +113477,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5812, - "is_pure": false + "referenced_declaration": 5814, + "is_pure": false, + "text": "oldStratTVL" }, "right_expression": { - "id": 5845, + "id": 5847, "node_type": 16, "src": { "line": 2714, @@ -111973,7 +113490,7 @@ "start": 99567, "end": 99577, "length": 11, - "parent_index": 5843 + "parent_index": 5845 }, "name": "newStratTvl", "type_description": { @@ -111981,8 +113498,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5819, - "is_pure": false + "referenced_declaration": 5821, + "is_pure": false, + "text": "newStratTvl" }, "type_description": { "type_identifier": "t_uint256", @@ -111990,7 +113508,7 @@ } }, { - "id": 5846, + "id": 5848, "node_type": 17, "kind": 49, "value": "0", @@ -112001,7 +113519,7 @@ "start": 99581, "end": 99581, "length": 1, - "parent_index": 5839 + "parent_index": 5841 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -112009,7 +113527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -112036,10 +113555,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalStrategyHoldings-=oldStratTVL\u003enewStratTvl?oldStratTVL-newStratTvl:0;" }, { - "id": 5847, + "id": 5849, "node_type": 64, "src": { "line": 2715, @@ -112047,11 +113567,11 @@ "start": 99592, "end": 99695, "length": 104, - "parent_index": 5794 + "parent_index": 5796 }, "arguments": [], "expression": { - "id": 5848, + "id": 5850, "node_type": 16, "src": { "line": 2715, @@ -112059,20 +113579,21 @@ "start": 99597, "end": 99614, "length": 18, - "parent_index": 5847 + "parent_index": 5849 }, "name": "StrategyWithdrawal", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265686", + "type_identifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265688", "type_string": "event BaseVault.StrategyWithdrawal" }, "overloaded_declarations": [], - "referenced_declaration": 5686, - "is_pure": false + "referenced_declaration": 5688, + "is_pure": false, + "text": "StrategyWithdrawal" } }, { - "id": 5849, + "id": 5851, "node_type": 47, "src": { "line": 2716, @@ -112080,11 +113601,11 @@ "start": 99705, "end": 99727, "length": 23, - "parent_index": 5794 + "parent_index": 5796 }, - "function_return_parameters": 5794, + "function_return_parameters": 5796, "expression": { - "id": 5850, + "id": 5852, "node_type": 16, "src": { "line": 2716, @@ -112092,7 +113613,7 @@ "start": 99712, "end": 99726, "length": 15, - "parent_index": 5849 + "parent_index": 5851 }, "name": "amountWithdrawn", "type_description": { @@ -112100,8 +113621,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5805, - "is_pure": false + "referenced_declaration": 5807, + "is_pure": false, + "text": "amountWithdrawn" } } ] @@ -112113,7 +113635,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5795, + "id": 5797, "node_type": 43, "src": { "line": 2701, @@ -112121,11 +113643,11 @@ "start": 98736, "end": 98768, "length": 33, - "parent_index": 5794 + "parent_index": 5796 }, "parameters": [ { - "id": 5796, + "id": 5798, "node_type": 44, "src": { "line": 2701, @@ -112133,12 +113655,12 @@ "start": 98736, "end": 98752, "length": 17, - "parent_index": 5795 + "parent_index": 5797 }, - "scope": 5794, + "scope": 5796, "name": "strategy", "type_name": { - "id": 5797, + "id": 5799, "node_type": 69, "src": { "line": 2701, @@ -112146,20 +113668,20 @@ "start": 98736, "end": 98743, "length": 8, - "parent_index": 5796 + "parent_index": 5798 }, "path_node": { - "id": 5798, + "id": 5800, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2701, "column": 35, "start": 98736, "end": 98743, "length": 8, - "parent_index": 5797 + "parent_index": 5799 }, "name_location": { "line": 2701, @@ -112167,10 +113689,10 @@ "start": 98736, "end": 98743, "length": 8, - "parent_index": 5797 + "parent_index": 5799 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -112185,7 +113707,7 @@ } }, { - "id": 5799, + "id": 5801, "node_type": 44, "src": { "line": 2701, @@ -112193,12 +113715,12 @@ "start": 98755, "end": 98768, "length": 14, - "parent_index": 5795 + "parent_index": 5797 }, - "scope": 5794, + "scope": 5796, "name": "assets", "type_name": { - "id": 5800, + "id": 5802, "node_type": 30, "src": { "line": 2701, @@ -112206,7 +113728,7 @@ "start": 98755, "end": 98761, "length": 7, - "parent_index": 5799 + "parent_index": 5801 }, "name": "uint256", "referenced_declaration": 0, @@ -112236,7 +113758,7 @@ ] }, "return_parameters": { - "id": 5801, + "id": 5803, "node_type": 43, "src": { "line": 2701, @@ -112244,11 +113766,11 @@ "start": 98789, "end": 98795, "length": 7, - "parent_index": 5794 + "parent_index": 5796 }, "parameters": [ { - "id": 5802, + "id": 5804, "node_type": 44, "src": { "line": 2701, @@ -112256,12 +113778,12 @@ "start": 98789, "end": 98795, "length": 7, - "parent_index": 5801 + "parent_index": 5803 }, - "scope": 5794, + "scope": 5796, "name": "", "type_name": { - "id": 5803, + "id": 5805, "node_type": 30, "src": { "line": 2701, @@ -112269,7 +113791,7 @@ "start": 98789, "end": 98795, "length": 7, - "parent_index": 5802 + "parent_index": 5804 }, "name": "uint256", "referenced_declaration": 0, @@ -112294,16 +113816,17 @@ } ] }, - "signature_raw": "_withdrawFromStrategy(, uint256)", - "signature": "2db6f4c8", - "scope": 5193, + "signature_raw": "_withdrawFromStrategy(,uint256)", + "signature": "f6afc7d9", + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" - } + }, + "text": "function_withdrawFromStrategy(Strategystrategy,uint256assets)internalreturns(uint256){uint256amountWithdrawn=_divest(strategy,assets);uint256oldStratTVL=strategies[strategy].balance;uint256newStratTvl=strategy.totalLockedValue();strategies[strategy].balance=uint232(newStratTvl);totalStrategyHoldings-=oldStratTVL\u003enewStratTvl?oldStratTVL-newStratTvl:0;emitStrategyWithdrawal({strategy:strategy,assetsRequested:assets,assetsReceived:amountWithdrawn});returnamountWithdrawn;}" }, { - "id": 5852, + "id": 5854, "name": "_divest", "node_type": 42, "kind": 41, @@ -112313,7 +113836,7 @@ "start": 99860, "end": 100101, "length": 242, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2720, @@ -112321,10 +113844,10 @@ "start": 99869, "end": 99875, "length": 7, - "parent_index": 5852 + "parent_index": 5854 }, "body": { - "id": 5862, + "id": 5864, "node_type": 46, "kind": 0, "src": { @@ -112333,12 +113856,12 @@ "start": 99939, "end": 100101, "length": 163, - "parent_index": 5852 + "parent_index": 5854 }, "implemented": true, "statements": [ { - "id": 5863, + "id": 5865, "node_type": 85, "src": { "line": 2721, @@ -112346,10 +113869,10 @@ "start": 99949, "end": 100095, "length": 147, - "parent_index": 5862 + "parent_index": 5864 }, "body": { - "id": 5868, + "id": 5870, "node_type": 46, "kind": 0, "src": { @@ -112358,12 +113881,12 @@ "start": 100010, "end": 100055, "length": 46, - "parent_index": 5863 + "parent_index": 5865 }, "implemented": true, "statements": [ { - "id": 5869, + "id": 5871, "node_type": 47, "src": { "line": 2722, @@ -112371,11 +113894,11 @@ "start": 100024, "end": 100045, "length": 22, - "parent_index": 5863 + "parent_index": 5865 }, - "function_return_parameters": 5863, + "function_return_parameters": 5865, "expression": { - "id": 5870, + "id": 5872, "node_type": 16, "src": { "line": 2722, @@ -112383,7 +113906,7 @@ "start": 100031, "end": 100044, "length": 14, - "parent_index": 5869 + "parent_index": 5871 }, "name": "amountDivested", "type_description": { @@ -112391,8 +113914,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5876, - "is_pure": false + "referenced_declaration": 5878, + "is_pure": false, + "text": "amountDivested" } } ] @@ -112400,7 +113924,7 @@ "kind": 86, "returns": true, "return_parameters": { - "id": 5875, + "id": 5877, "node_type": 43, "src": { "line": 2721, @@ -112408,11 +113932,11 @@ "start": 99986, "end": 100007, "length": 22, - "parent_index": 5863 + "parent_index": 5865 }, "parameters": [ { - "id": 5876, + "id": 5878, "node_type": 44, "src": { "line": 2721, @@ -112420,12 +113944,12 @@ "start": 99986, "end": 100007, "length": 22, - "parent_index": 5875 + "parent_index": 5877 }, - "scope": 5863, + "scope": 5865, "name": "amountDivested", "type_name": { - "id": 5877, + "id": 5879, "node_type": 30, "src": { "line": 2721, @@ -112433,7 +113957,7 @@ "start": 99986, "end": 99992, "length": 7, - "parent_index": 5876 + "parent_index": 5878 }, "name": "uint256", "referenced_declaration": 0, @@ -112459,7 +113983,7 @@ ] }, "expression": { - "id": 5864, + "id": 5866, "node_type": 24, "kind": 24, "src": { @@ -112468,7 +113992,7 @@ "start": 99953, "end": 99975, "length": 23, - "parent_index": 5863 + "parent_index": 5865 }, "argument_types": [ { @@ -112478,7 +114002,7 @@ ], "arguments": [ { - "id": 5867, + "id": 5869, "node_type": 16, "src": { "line": 2721, @@ -112486,7 +114010,7 @@ "start": 99969, "end": 99974, "length": 6, - "parent_index": 5864 + "parent_index": 5866 }, "name": "assets", "type_description": { @@ -112494,12 +114018,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5867, - "is_pure": false + "referenced_declaration": 5869, + "is_pure": false, + "text": "assets" } ], "expression": { - "id": 5865, + "id": 5867, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -112511,7 +114036,7 @@ "start": 99953, "end": 99967, "length": 15, - "parent_index": 5864 + "parent_index": 5866 }, "member_location": { "line": 2721, @@ -112519,10 +114044,10 @@ "start": 99962, "end": 99967, "length": 6, - "parent_index": 5865 + "parent_index": 5867 }, "expression": { - "id": 5866, + "id": 5868, "node_type": 16, "src": { "line": 2721, @@ -112530,7 +114055,7 @@ "start": 99953, "end": 99960, "length": 8, - "parent_index": 5865 + "parent_index": 5867 }, "name": "strategy", "type_description": { @@ -112538,15 +114063,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5866, - "is_pure": false + "referenced_declaration": 5868, + "is_pure": false, + "text": "strategy" }, "member_name": "divest", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.divest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -112564,10 +114091,10 @@ "start": 100057, "end": 100095, "length": 39, - "parent_index": 5863 + "parent_index": 5865 }, "body": { - "id": 5872, + "id": 5874, "node_type": 46, "kind": 0, "src": { @@ -112580,7 +114107,7 @@ "implemented": true, "statements": [ { - "id": 5873, + "id": 5875, "node_type": 47, "src": { "line": 2724, @@ -112591,7 +114118,7 @@ }, "function_return_parameters": 0, "expression": { - "id": 5874, + "id": 5876, "node_type": 17, "kind": 49, "value": "0", @@ -112602,7 +114129,7 @@ "start": 100084, "end": 100084, "length": 1, - "parent_index": 5873 + "parent_index": 5875 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -112610,13 +114137,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] }, "parameters": { - "id": 5871, + "id": 5873, "node_type": 43, "src": { "line": 2723, @@ -112641,7 +114169,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 5853, + "id": 5855, "node_type": 43, "src": { "line": 2720, @@ -112649,11 +114177,11 @@ "start": 99877, "end": 99909, "length": 33, - "parent_index": 5852 + "parent_index": 5854 }, "parameters": [ { - "id": 5854, + "id": 5856, "node_type": 44, "src": { "line": 2720, @@ -112661,12 +114189,12 @@ "start": 99877, "end": 99893, "length": 17, - "parent_index": 5853 + "parent_index": 5855 }, - "scope": 5852, + "scope": 5854, "name": "strategy", "type_name": { - "id": 5855, + "id": 5857, "node_type": 69, "src": { "line": 2720, @@ -112674,20 +114202,20 @@ "start": 99877, "end": 99884, "length": 8, - "parent_index": 5854 + "parent_index": 5856 }, "path_node": { - "id": 5856, + "id": 5858, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2720, "column": 21, "start": 99877, "end": 99884, "length": 8, - "parent_index": 5855 + "parent_index": 5857 }, "name_location": { "line": 2720, @@ -112695,10 +114223,10 @@ "start": 99877, "end": 99884, "length": 8, - "parent_index": 5855 + "parent_index": 5857 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -112713,7 +114241,7 @@ } }, { - "id": 5857, + "id": 5859, "node_type": 44, "src": { "line": 2720, @@ -112721,12 +114249,12 @@ "start": 99896, "end": 99909, "length": 14, - "parent_index": 5853 + "parent_index": 5855 }, - "scope": 5852, + "scope": 5854, "name": "assets", "type_name": { - "id": 5858, + "id": 5860, "node_type": 30, "src": { "line": 2720, @@ -112734,7 +114262,7 @@ "start": 99896, "end": 99902, "length": 7, - "parent_index": 5857 + "parent_index": 5859 }, "name": "uint256", "referenced_declaration": 0, @@ -112764,7 +114292,7 @@ ] }, "return_parameters": { - "id": 5859, + "id": 5861, "node_type": 43, "src": { "line": 2720, @@ -112772,11 +114300,11 @@ "start": 99930, "end": 99936, "length": 7, - "parent_index": 5852 + "parent_index": 5854 }, "parameters": [ { - "id": 5860, + "id": 5862, "node_type": 44, "src": { "line": 2720, @@ -112784,12 +114312,12 @@ "start": 99930, "end": 99936, "length": 7, - "parent_index": 5859 + "parent_index": 5861 }, - "scope": 5852, + "scope": 5854, "name": "", "type_name": { - "id": 5861, + "id": 5863, "node_type": 30, "src": { "line": 2720, @@ -112797,7 +114325,7 @@ "start": 99930, "end": 99936, "length": 7, - "parent_index": 5860 + "parent_index": 5862 }, "name": "uint256", "referenced_declaration": 0, @@ -112822,16 +114350,17 @@ } ] }, - "signature_raw": "_divest(, uint256)", - "signature": "e1600719", - "scope": 5193, + "signature_raw": "_divest(,uint256)", + "signature": "0bc86df4", + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" - } + }, + "text": "function_divest(Strategystrategy,uint256assets)internalreturns(uint256){trystrategy.divest(assets)returns(uint256amountDivested){returnamountDivested;}catch{return0;}}" }, { - "id": 5879, + "id": 5881, "name": "lastHarvest", "is_constant": false, "is_state_variable": true, @@ -112842,9 +114371,9 @@ "start": 100550, "end": 100576, "length": 27, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" @@ -112853,7 +114382,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5880, + "id": 5882, "node_type": 30, "src": { "line": 2737, @@ -112861,7 +114390,7 @@ "start": 100550, "end": 100556, "length": 7, - "parent_index": 5879 + "parent_index": 5881 }, "name": "uint128", "referenced_declaration": 0, @@ -112873,7 +114402,7 @@ "initial_value": null }, { - "id": 5882, + "id": 5884, "name": "maxLockedProfit", "is_constant": false, "is_state_variable": true, @@ -112884,9 +114413,9 @@ "start": 100672, "end": 100702, "length": 31, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" @@ -112895,7 +114424,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5883, + "id": 5885, "node_type": 30, "src": { "line": 2739, @@ -112903,7 +114432,7 @@ "start": 100672, "end": 100678, "length": 7, - "parent_index": 5882 + "parent_index": 5884 }, "name": "uint128", "referenced_declaration": 0, @@ -112915,7 +114444,7 @@ "initial_value": null }, { - "id": 5885, + "id": 5887, "name": "LOCK_INTERVAL", "is_constant": true, "is_state_variable": true, @@ -112926,9 +114455,9 @@ "start": 100805, "end": 100853, "length": 49, - "parent_index": 5193 + "parent_index": 5194 }, - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_bool", "type_string": "bool" @@ -112937,7 +114466,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 5886, + "id": 5888, "node_type": 30, "src": { "line": 2741, @@ -112945,7 +114474,7 @@ "start": 100805, "end": 100811, "length": 7, - "parent_index": 5885 + "parent_index": 5887 }, "name": "uint256", "referenced_declaration": 0, @@ -112955,7 +114484,7 @@ } }, "initial_value": { - "id": 5887, + "id": 5889, "node_type": 16, "src": { "line": 2741, @@ -112963,7 +114492,7 @@ "start": 100845, "end": 100852, "length": 8, - "parent_index": 5885 + "parent_index": 5887 }, "type_description": { "type_identifier": "t_bool", @@ -112971,11 +114500,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 552, - "is_pure": false + "is_pure": false, + "text": "24hours" } }, { - "id": 5889, + "id": 5891, "node_type": 57, "src": { "line": 2748, @@ -112983,10 +114513,10 @@ "start": 101062, "end": 101120, "length": 59, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 5890, + "id": 5892, "node_type": 43, "src": { "line": 2748, @@ -112994,11 +114524,11 @@ "start": 101062, "end": 101120, "length": 59, - "parent_index": 5889 + "parent_index": 5891 }, "parameters": [ { - "id": 5891, + "id": 5893, "node_type": 44, "src": { "line": 2748, @@ -113006,12 +114536,12 @@ "start": 101076, "end": 101095, "length": 20, - "parent_index": 5890 + "parent_index": 5892 }, - "scope": 5889, + "scope": 5891, "name": "user", "type_name": { - "id": 5892, + "id": 5894, "node_type": 30, "src": { "line": 2748, @@ -113019,7 +114549,7 @@ "start": 101076, "end": 101082, "length": 7, - "parent_index": 5891 + "parent_index": 5893 }, "name": "address", "state_mutability": 4, @@ -113039,7 +114569,7 @@ "indexed": true }, { - "id": 5893, + "id": 5895, "node_type": 44, "src": { "line": 2748, @@ -113047,12 +114577,12 @@ "start": 101098, "end": 101118, "length": 21, - "parent_index": 5890 + "parent_index": 5892 }, - "scope": 5889, + "scope": 5891, "name": "strategies", "type_name": { - "id": 5894, + "id": 5896, "node_type": 69, "src": { "line": 2748, @@ -113060,24 +114590,24 @@ "start": 101098, "end": 101105, "length": 8, - "parent_index": 5893 + "parent_index": 5895 }, "name": "Strategy", "path_node": { - "id": 5895, + "id": 5897, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2748, "column": 40, "start": 101098, "end": 101105, "length": 8, - "parent_index": 5894 + "parent_index": 5896 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -113106,12 +114636,12 @@ "name": "Harvest", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Harvest_\u00265889", + "type_identifier": "t_event\u0026_BaseVault_Harvest_\u00265891", "type_string": "event BaseVault.Harvest" } }, { - "id": 5897, + "id": 5899, "name": "harvest", "node_type": 42, "kind": 41, @@ -113121,7 +114651,7 @@ "start": 101344, "end": 103959, "length": 2616, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2755, @@ -113129,10 +114659,10 @@ "start": 101353, "end": 101359, "length": 7, - "parent_index": 5897 + "parent_index": 5899 }, "body": { - "id": 5906, + "id": 5908, "node_type": 46, "kind": 0, "src": { @@ -113141,12 +114671,12 @@ "start": 101424, "end": 103959, "length": 2536, - "parent_index": 5897 + "parent_index": 5899 }, "implemented": true, "statements": [ { - "id": 5907, + "id": 5909, "node_type": 24, "kind": 24, "src": { @@ -113155,7 +114685,7 @@ "start": 101474, "end": 101552, "length": 79, - "parent_index": 5906 + "parent_index": 5908 }, "argument_types": [ { @@ -113169,7 +114699,7 @@ ], "arguments": [ { - "id": 5909, + "id": 5911, "is_constant": false, "is_pure": false, "node_type": 19, @@ -113179,11 +114709,11 @@ "start": 101482, "end": 101527, "length": 46, - "parent_index": 5907 + "parent_index": 5909 }, "operator": 8, "left_expression": { - "id": 5910, + "id": 5912, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -113195,7 +114725,7 @@ "start": 101482, "end": 101496, "length": 15, - "parent_index": 5909 + "parent_index": 5911 }, "member_location": { "line": 2757, @@ -113203,10 +114733,10 @@ "start": 101488, "end": 101496, "length": 9, - "parent_index": 5910 + "parent_index": 5912 }, "expression": { - "id": 5911, + "id": 5913, "node_type": 16, "src": { "line": 2757, @@ -113214,7 +114744,7 @@ "start": 101482, "end": 101486, "length": 5, - "parent_index": 5910 + "parent_index": 5912 }, "name": "block", "type_description": { @@ -113223,17 +114753,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { - "id": 5912, + "id": 5914, "is_constant": false, "is_pure": false, "node_type": 19, @@ -113243,11 +114775,11 @@ "start": 101501, "end": 101527, "length": 27, - "parent_index": 5909 + "parent_index": 5911 }, "operator": 1, "left_expression": { - "id": 5913, + "id": 5915, "node_type": 16, "src": { "line": 2757, @@ -113255,7 +114787,7 @@ "start": 101501, "end": 101511, "length": 11, - "parent_index": 5912 + "parent_index": 5914 }, "name": "lastHarvest", "type_description": { @@ -113263,11 +114795,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5879, - "is_pure": false + "referenced_declaration": 5881, + "is_pure": false, + "text": "lastHarvest" }, "right_expression": { - "id": 5914, + "id": 5916, "node_type": 16, "src": { "line": 2757, @@ -113275,7 +114808,7 @@ "start": 101515, "end": 101527, "length": 13, - "parent_index": 5912 + "parent_index": 5914 }, "name": "LOCK_INTERVAL", "type_description": { @@ -113283,8 +114816,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 5885, - "is_pure": false + "referenced_declaration": 5887, + "is_pure": false, + "text": "LOCK_INTERVAL" }, "type_description": { "type_identifier": "t_uint128", @@ -113297,7 +114831,7 @@ } }, { - "id": 5915, + "id": 5917, "node_type": 17, "kind": 50, "value": "BV: profit unlocking", @@ -113308,7 +114842,7 @@ "start": 101530, "end": 101551, "length": 22, - "parent_index": 5907 + "parent_index": 5909 }, "type_description": { "type_identifier": "t_string_literal", @@ -113322,11 +114856,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BV: profit unlocking\"" } ], "expression": { - "id": 5908, + "id": 5910, "node_type": 16, "src": { "line": 2757, @@ -113334,7 +114869,7 @@ "start": 101474, "end": 101480, "length": 7, - "parent_index": 5907 + "parent_index": 5909 }, "name": "require", "type_description": { @@ -113343,7 +114878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -113351,7 +114887,7 @@ } }, { - "id": 5916, + "id": 5918, "node_type": 44, "src": { "line": 2760, @@ -113359,25 +114895,25 @@ "start": 101624, "end": 101680, "length": 57, - "parent_index": 5906 + "parent_index": 5908 }, "assignments": [ - 5917 + 5919 ], "declarations": [ { - "id": 5917, + "id": 5919, "state_mutability": 1, "name": "oldTotalStrategyHoldings", "node_type": 44, - "scope": 5906, + "scope": 5908, "src": { "line": 2760, "column": 8, "start": 101624, "end": 101655, "length": 32, - "parent_index": 5916 + "parent_index": 5918 }, "name_location": { "line": 2760, @@ -113385,12 +114921,12 @@ "start": 101632, "end": 101655, "length": 24, - "parent_index": 5917 + "parent_index": 5919 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5918, + "id": 5920, "node_type": 30, "src": { "line": 2760, @@ -113398,7 +114934,7 @@ "start": 101624, "end": 101630, "length": 7, - "parent_index": 5917 + "parent_index": 5919 }, "name": "uint256", "referenced_declaration": 0, @@ -113411,7 +114947,7 @@ } ], "initial_value": { - "id": 5919, + "id": 5921, "node_type": 16, "src": { "line": 2760, @@ -113419,7 +114955,7 @@ "start": 101659, "end": 101679, "length": 21, - "parent_index": 5916 + "parent_index": 5918 }, "name": "totalStrategyHoldings", "type_description": { @@ -113427,12 +114963,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" } }, { - "id": 5920, + "id": 5922, "node_type": 44, "src": { "line": 2763, @@ -113440,25 +114977,25 @@ "start": 101766, "end": 101825, "length": 60, - "parent_index": 5906 + "parent_index": 5908 }, "assignments": [ - 5921 + 5923 ], "declarations": [ { - "id": 5921, + "id": 5923, "state_mutability": 1, "name": "newTotalStrategyHoldings", "node_type": 44, - "scope": 5906, + "scope": 5908, "src": { "line": 2763, "column": 8, "start": 101766, "end": 101797, "length": 32, - "parent_index": 5920 + "parent_index": 5922 }, "name_location": { "line": 2763, @@ -113466,12 +115003,12 @@ "start": 101774, "end": 101797, "length": 24, - "parent_index": 5921 + "parent_index": 5923 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5922, + "id": 5924, "node_type": 30, "src": { "line": 2763, @@ -113479,7 +115016,7 @@ "start": 101766, "end": 101772, "length": 7, - "parent_index": 5921 + "parent_index": 5923 }, "name": "uint256", "referenced_declaration": 0, @@ -113492,7 +115029,7 @@ } ], "initial_value": { - "id": 5923, + "id": 5925, "node_type": 16, "src": { "line": 2763, @@ -113500,7 +115037,7 @@ "start": 101801, "end": 101824, "length": 24, - "parent_index": 5920 + "parent_index": 5922 }, "name": "oldTotalStrategyHoldings", "type_description": { @@ -113508,12 +115045,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5916, - "is_pure": false + "referenced_declaration": 5918, + "is_pure": false, + "text": "oldTotalStrategyHoldings" } }, { - "id": 5924, + "id": 5926, "node_type": 44, "src": { "line": 2766, @@ -113521,25 +115059,25 @@ "start": 101905, "end": 101931, "length": 27, - "parent_index": 5906 + "parent_index": 5908 }, "assignments": [ - 5925 + 5927 ], "declarations": [ { - "id": 5925, + "id": 5927, "state_mutability": 1, "name": "totalProfitAccrued", "node_type": 44, - "scope": 5906, + "scope": 5908, "src": { "line": 2766, "column": 8, "start": 101905, "end": 101930, "length": 26, - "parent_index": 5924 + "parent_index": 5926 }, "name_location": { "line": 2766, @@ -113547,12 +115085,12 @@ "start": 101913, "end": 101930, "length": 18, - "parent_index": 5925 + "parent_index": 5927 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5926, + "id": 5928, "node_type": 30, "src": { "line": 2766, @@ -113560,7 +115098,7 @@ "start": 101905, "end": 101911, "length": 7, - "parent_index": 5925 + "parent_index": 5927 }, "name": "uint256", "referenced_declaration": 0, @@ -113574,7 +115112,7 @@ ] }, { - "id": 5927, + "id": 5929, "node_type": 79, "src": { "line": 2769, @@ -113582,10 +115120,10 @@ "start": 102015, "end": 103471, "length": 1457, - "parent_index": 5906 + "parent_index": 5908 }, "initialiser": { - "id": 5928, + "id": 5930, "node_type": 44, "src": { "line": 2769, @@ -113593,25 +115131,25 @@ "start": 102020, "end": 102033, "length": 14, - "parent_index": 5906 + "parent_index": 5908 }, "assignments": [ - 5929 + 5931 ], "declarations": [ { - "id": 5929, + "id": 5931, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 5906, + "scope": 5908, "src": { "line": 2769, "column": 13, "start": 102020, "end": 102028, "length": 9, - "parent_index": 5928 + "parent_index": 5930 }, "name_location": { "line": 2769, @@ -113619,12 +115157,12 @@ "start": 102028, "end": 102028, "length": 1, - "parent_index": 5929 + "parent_index": 5931 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5930, + "id": 5932, "node_type": 30, "src": { "line": 2769, @@ -113632,7 +115170,7 @@ "start": 102020, "end": 102026, "length": 7, - "parent_index": 5929 + "parent_index": 5931 }, "name": "uint256", "referenced_declaration": 0, @@ -113645,7 +115183,7 @@ } ], "initial_value": { - "id": 5931, + "id": 5933, "node_type": 17, "kind": 49, "value": "0", @@ -113656,7 +115194,7 @@ "start": 102032, "end": 102032, "length": 1, - "parent_index": 5928 + "parent_index": 5930 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -113664,11 +115202,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 5932, + "id": 5934, "is_constant": false, "is_pure": false, "node_type": 19, @@ -113678,11 +115217,11 @@ "start": 102035, "end": 102057, "length": 23, - "parent_index": 5927 + "parent_index": 5929 }, "operator": 9, "left_expression": { - "id": 5933, + "id": 5935, "node_type": 16, "src": { "line": 2769, @@ -113690,7 +115229,7 @@ "start": 102035, "end": 102035, "length": 1, - "parent_index": 5932 + "parent_index": 5934 }, "name": "i", "type_description": { @@ -113699,10 +115238,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5934, + "id": 5936, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -113714,7 +115254,7 @@ "start": 102039, "end": 102057, "length": 19, - "parent_index": 5932 + "parent_index": 5934 }, "member_location": { "line": 2769, @@ -113722,10 +115262,10 @@ "start": 102052, "end": 102057, "length": 6, - "parent_index": 5934 + "parent_index": 5936 }, "expression": { - "id": 5935, + "id": 5937, "node_type": 16, "src": { "line": 2769, @@ -113733,7 +115273,7 @@ "start": 102039, "end": 102050, "length": 12, - "parent_index": 5934 + "parent_index": 5936 }, "name": "strategyList", "type_description": { @@ -113741,15 +115281,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5935, - "is_pure": false + "referenced_declaration": 5937, + "is_pure": false, + "text": "strategyList" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategyList.length" }, "type_description": { "type_identifier": "t_bool", @@ -113757,7 +115299,7 @@ } }, "closure": { - "id": 5936, + "id": 5938, "node_type": 27, "src": { "line": 2769, @@ -113765,11 +115307,11 @@ "start": 102060, "end": 102078, "length": 19, - "parent_index": 5927 + "parent_index": 5929 }, "operator": 11, "left_expression": { - "id": 5937, + "id": 5939, "node_type": 16, "src": { "line": 2769, @@ -113777,7 +115319,7 @@ "start": 102060, "end": 102060, "length": 1, - "parent_index": 5936 + "parent_index": 5938 }, "name": "i", "type_description": { @@ -113786,10 +115328,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 5938, + "id": 5940, "node_type": 24, "kind": 24, "src": { @@ -113798,7 +115341,7 @@ "start": 102064, "end": 102078, "length": 15, - "parent_index": 5936 + "parent_index": 5938 }, "argument_types": [ { @@ -113808,7 +115351,7 @@ ], "arguments": [ { - "id": 5940, + "id": 5942, "node_type": 16, "src": { "line": 2769, @@ -113816,7 +115359,7 @@ "start": 102077, "end": 102077, "length": 1, - "parent_index": 5938 + "parent_index": 5940 }, "name": "i", "type_description": { @@ -113825,11 +115368,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 5939, + "id": 5941, "node_type": 16, "src": { "line": 2769, @@ -113837,7 +115381,7 @@ "start": 102064, "end": 102075, "length": 12, - "parent_index": 5938 + "parent_index": 5940 }, "name": "uncheckedInc", "type_description": { @@ -113846,7 +115390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -113859,7 +115404,7 @@ } }, "body": { - "id": 5941, + "id": 5943, "node_type": 46, "kind": 0, "src": { @@ -113868,12 +115413,12 @@ "start": 102081, "end": 103471, "length": 1391, - "parent_index": 5927 + "parent_index": 5929 }, "implemented": true, "statements": [ { - "id": 5942, + "id": 5944, "node_type": 44, "src": { "line": 2771, @@ -113881,25 +115426,25 @@ "start": 102149, "end": 102184, "length": 36, - "parent_index": 5941 + "parent_index": 5943 }, "assignments": [ - 5943 + 5945 ], "declarations": [ { - "id": 5943, + "id": 5945, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 5941, + "scope": 5943, "src": { "line": 2771, "column": 12, "start": 102149, "end": 102165, "length": 17, - "parent_index": 5942 + "parent_index": 5944 }, "name_location": { "line": 2771, @@ -113907,12 +115452,12 @@ "start": 102158, "end": 102165, "length": 8, - "parent_index": 5943 + "parent_index": 5945 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5944, + "id": 5946, "node_type": 69, "src": { "line": 2771, @@ -113920,20 +115465,20 @@ "start": 102149, "end": 102156, "length": 8, - "parent_index": 5943 + "parent_index": 5945 }, "path_node": { - "id": 5945, + "id": 5947, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2771, "column": 12, "start": 102149, "end": 102156, "length": 8, - "parent_index": 5944 + "parent_index": 5946 }, "name_location": { "line": 2771, @@ -113941,10 +115486,10 @@ "start": 102149, "end": 102156, "length": 8, - "parent_index": 5944 + "parent_index": 5946 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -113954,7 +115499,7 @@ } ], "initial_value": { - "id": 5946, + "id": 5948, "node_type": 22, "src": { "line": 2771, @@ -113962,10 +115507,10 @@ "start": 102169, "end": 102183, "length": 15, - "parent_index": 5942 + "parent_index": 5944 }, "index_expression": { - "id": 5947, + "id": 5949, "node_type": 16, "src": { "line": 2771, @@ -113973,7 +115518,7 @@ "start": 102169, "end": 102180, "length": 12, - "parent_index": 5946 + "parent_index": 5948 }, "name": "strategyList", "type_description": { @@ -113981,11 +115526,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5605, - "is_pure": false + "referenced_declaration": 5607, + "is_pure": false, + "text": "strategyList" }, "base_expression": { - "id": 5948, + "id": 5950, "node_type": 16, "src": { "line": 2771, @@ -113993,7 +115539,7 @@ "start": 102182, "end": 102182, "length": 1, - "parent_index": 5946 + "parent_index": 5948 }, "name": "i", "type_description": { @@ -114002,7 +115548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -114021,7 +115568,7 @@ } }, { - "id": 5949, + "id": 5951, "node_type": 48, "src": { "line": 2774, @@ -114029,10 +115576,10 @@ "start": 102251, "end": 102327, "length": 77, - "parent_index": 5941 + "parent_index": 5943 }, "condition": { - "id": 5950, + "id": 5952, "node_type": 18, "kind": 104, "src": { @@ -114041,7 +115588,7 @@ "start": 102255, "end": 102284, "length": 30, - "parent_index": 5927 + "parent_index": 5929 }, "operator": 31, "prefix": false, @@ -114050,7 +115597,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 5951, + "id": 5953, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -114062,7 +115609,7 @@ "start": 102256, "end": 102284, "length": 29, - "parent_index": 5950 + "parent_index": 5952 }, "member_location": { "line": 2774, @@ -114070,10 +115617,10 @@ "start": 102277, "end": 102284, "length": 8, - "parent_index": 5951 + "parent_index": 5953 }, "expression": { - "id": 5952, + "id": 5954, "node_type": 22, "src": { "line": 2774, @@ -114081,10 +115628,10 @@ "start": 102256, "end": 102275, "length": 20, - "parent_index": 5951 + "parent_index": 5953 }, "index_expression": { - "id": 5953, + "id": 5955, "node_type": 16, "src": { "line": 2774, @@ -114092,19 +115639,20 @@ "start": 102256, "end": 102265, "length": 10, - "parent_index": 5952 + "parent_index": 5954 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5954, + "id": 5956, "node_type": 16, "src": { "line": 2774, @@ -114112,7 +115660,7 @@ "start": 102267, "end": 102274, "length": 8, - "parent_index": 5952 + "parent_index": 5954 }, "name": "strategy", "type_description": { @@ -114120,12 +115668,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5942, - "is_pure": false + "referenced_declaration": 5944, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -114134,24 +115683,25 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "isActive", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].isActive" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "body": { - "id": 5955, + "id": 5957, "node_type": 46, "kind": 0, "src": { @@ -114160,12 +115710,12 @@ "start": 102287, "end": 102327, "length": 41, - "parent_index": 5927 + "parent_index": 5929 }, "implemented": true, "statements": [ { - "id": 5956, + "id": 5958, "node_type": 75, "src": { "line": 2775, @@ -114173,14 +115723,14 @@ "start": 102305, "end": 102313, "length": 9, - "parent_index": 5955 + "parent_index": 5957 } } ] } }, { - "id": 5957, + "id": 5959, "node_type": 44, "src": { "line": 2779, @@ -114188,25 +115738,25 @@ "start": 102406, "end": 102463, "length": 58, - "parent_index": 5941 + "parent_index": 5943 }, "assignments": [ - 5958 + 5960 ], "declarations": [ { - "id": 5958, + "id": 5960, "state_mutability": 1, "name": "balanceLastHarvest", "node_type": 44, - "scope": 5941, + "scope": 5943, "src": { "line": 2779, "column": 12, "start": 102406, "end": 102431, "length": 26, - "parent_index": 5957 + "parent_index": 5959 }, "name_location": { "line": 2779, @@ -114214,12 +115764,12 @@ "start": 102414, "end": 102431, "length": 18, - "parent_index": 5958 + "parent_index": 5960 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5959, + "id": 5961, "node_type": 30, "src": { "line": 2779, @@ -114227,7 +115777,7 @@ "start": 102406, "end": 102412, "length": 7, - "parent_index": 5958 + "parent_index": 5960 }, "name": "uint232", "referenced_declaration": 0, @@ -114240,7 +115790,7 @@ } ], "initial_value": { - "id": 5960, + "id": 5962, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -114252,7 +115802,7 @@ "start": 102435, "end": 102462, "length": 28, - "parent_index": 5957 + "parent_index": 5959 }, "member_location": { "line": 2779, @@ -114260,10 +115810,10 @@ "start": 102456, "end": 102462, "length": 7, - "parent_index": 5960 + "parent_index": 5962 }, "expression": { - "id": 5961, + "id": 5963, "node_type": 22, "src": { "line": 2779, @@ -114271,10 +115821,10 @@ "start": 102435, "end": 102454, "length": 20, - "parent_index": 5957 + "parent_index": 5959 }, "index_expression": { - "id": 5962, + "id": 5964, "node_type": 16, "src": { "line": 2779, @@ -114282,19 +115832,20 @@ "start": 102435, "end": 102444, "length": 10, - "parent_index": 5961 + "parent_index": 5963 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5963, + "id": 5965, "node_type": 16, "src": { "line": 2779, @@ -114302,7 +115853,7 @@ "start": 102446, "end": 102453, "length": 8, - "parent_index": 5961 + "parent_index": 5963 }, "name": "strategy", "type_description": { @@ -114310,12 +115861,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5942, - "is_pure": false + "referenced_declaration": 5944, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -114324,20 +115876,21 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" } }, { - "id": 5964, + "id": 5966, "node_type": 44, "src": { "line": 2780, @@ -114345,25 +115898,25 @@ "start": 102477, "end": 102533, "length": 57, - "parent_index": 5941 + "parent_index": 5943 }, "assignments": [ - 5965 + 5967 ], "declarations": [ { - "id": 5965, + "id": 5967, "state_mutability": 1, "name": "balanceThisHarvest", "node_type": 44, - "scope": 5941, + "scope": 5943, "src": { "line": 2780, "column": 12, "start": 102477, "end": 102502, "length": 26, - "parent_index": 5964 + "parent_index": 5966 }, "name_location": { "line": 2780, @@ -114371,12 +115924,12 @@ "start": 102485, "end": 102502, "length": 18, - "parent_index": 5965 + "parent_index": 5967 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 5966, + "id": 5968, "node_type": 30, "src": { "line": 2780, @@ -114384,7 +115937,7 @@ "start": 102477, "end": 102483, "length": 7, - "parent_index": 5965 + "parent_index": 5967 }, "name": "uint256", "referenced_declaration": 0, @@ -114397,7 +115950,7 @@ } ], "initial_value": { - "id": 5967, + "id": 5969, "node_type": 24, "kind": 24, "src": { @@ -114406,12 +115959,12 @@ "start": 102506, "end": 102532, "length": 27, - "parent_index": 5964 + "parent_index": 5966 }, "argument_types": [], "arguments": [], "expression": { - "id": 5968, + "id": 5970, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -114423,7 +115976,7 @@ "start": 102506, "end": 102530, "length": 25, - "parent_index": 5967 + "parent_index": 5969 }, "member_location": { "line": 2780, @@ -114431,10 +115984,10 @@ "start": 102515, "end": 102530, "length": 16, - "parent_index": 5968 + "parent_index": 5970 }, "expression": { - "id": 5969, + "id": 5971, "node_type": 16, "src": { "line": 2780, @@ -114442,7 +115995,7 @@ "start": 102506, "end": 102513, "length": 8, - "parent_index": 5968 + "parent_index": 5970 }, "name": "strategy", "type_description": { @@ -114450,15 +116003,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5942, - "is_pure": false + "referenced_declaration": 5944, + "is_pure": false, + "text": "strategy" }, "member_name": "totalLockedValue", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.totalLockedValue" }, "type_description": { "type_identifier": "t_function_$", @@ -114467,7 +116022,7 @@ } }, { - "id": 5970, + "id": 5972, "node_type": 27, "src": { "line": 2783, @@ -114475,10 +116030,10 @@ "start": 102601, "end": 102659, "length": 59, - "parent_index": 5941 + "parent_index": 5943 }, "expression": { - "id": 5971, + "id": 5973, "node_type": 27, "src": { "line": 2783, @@ -114486,11 +116041,11 @@ "start": 102601, "end": 102658, "length": 58, - "parent_index": 5970 + "parent_index": 5972 }, "operator": 11, "left_expression": { - "id": 5972, + "id": 5974, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -114502,7 +116057,7 @@ "start": 102601, "end": 102628, "length": 28, - "parent_index": 5971 + "parent_index": 5973 }, "member_location": { "line": 2783, @@ -114510,10 +116065,10 @@ "start": 102622, "end": 102628, "length": 7, - "parent_index": 5972 + "parent_index": 5974 }, "expression": { - "id": 5973, + "id": 5975, "node_type": 22, "src": { "line": 2783, @@ -114521,10 +116076,10 @@ "start": 102601, "end": 102620, "length": 20, - "parent_index": 5972 + "parent_index": 5974 }, "index_expression": { - "id": 5974, + "id": 5976, "node_type": 16, "src": { "line": 2783, @@ -114532,19 +116087,20 @@ "start": 102601, "end": 102610, "length": 10, - "parent_index": 5973 + "parent_index": 5975 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 5975, + "id": 5977, "node_type": 16, "src": { "line": 2783, @@ -114552,7 +116108,7 @@ "start": 102612, "end": 102619, "length": 8, - "parent_index": 5973 + "parent_index": 5975 }, "name": "strategy", "type_description": { @@ -114560,12 +116116,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 5942, - "is_pure": false + "referenced_declaration": 5944, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -114574,19 +116131,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "balance", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" }, "right_expression": { - "id": 5976, + "id": 5978, "node_type": 24, "kind": 24, "src": { @@ -114595,7 +116153,7 @@ "start": 102632, "end": 102658, "length": 27, - "parent_index": 5971 + "parent_index": 5973 }, "argument_types": [ { @@ -114605,7 +116163,7 @@ ], "arguments": [ { - "id": 5979, + "id": 5981, "node_type": 16, "src": { "line": 2783, @@ -114613,7 +116171,7 @@ "start": 102640, "end": 102657, "length": 18, - "parent_index": 5976 + "parent_index": 5978 }, "name": "balanceThisHarvest", "type_description": { @@ -114621,12 +116179,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5964, - "is_pure": false + "referenced_declaration": 5966, + "is_pure": false, + "text": "balanceThisHarvest" } ], "expression": { - "id": 5977, + "id": 5979, "node_type": 16, "src": { "line": 2783, @@ -114634,11 +116193,11 @@ "start": 102632, "end": 102638, "length": 7, - "parent_index": 5976 + "parent_index": 5978 }, "name": "uint232", "type_name": { - "id": 5978, + "id": 5980, "node_type": 30, "src": { "line": 2783, @@ -114646,7 +116205,7 @@ "start": 102632, "end": 102638, "length": 7, - "parent_index": 5977 + "parent_index": 5979 }, "name": "uint232", "referenced_declaration": 0, @@ -114667,7 +116226,8 @@ "type_identifier": "t_uint232", "type_string": "uint232" } - ] + ], + "text": "uint232" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -114675,17 +116235,18 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance=uint232(balanceThisHarvest);" }, { - "id": 5980, + "id": 5982, "node_type": 27, "src": { "line": 2787, @@ -114693,10 +116254,10 @@ "start": 102880, "end": 102973, "length": 94, - "parent_index": 5941 + "parent_index": 5943 }, "expression": { - "id": 5981, + "id": 5983, "node_type": 27, "src": { "line": 2787, @@ -114704,11 +116265,11 @@ "start": 102880, "end": 102972, "length": 93, - "parent_index": 5980 + "parent_index": 5982 }, "operator": 11, "left_expression": { - "id": 5982, + "id": 5984, "node_type": 16, "src": { "line": 2787, @@ -114716,7 +116277,7 @@ "start": 102880, "end": 102903, "length": 24, - "parent_index": 5981 + "parent_index": 5983 }, "name": "newTotalStrategyHoldings", "type_description": { @@ -114724,11 +116285,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5920, - "is_pure": false + "referenced_declaration": 5922, + "is_pure": false, + "text": "newTotalStrategyHoldings" }, "right_expression": { - "id": 5983, + "id": 5985, "is_constant": false, "is_pure": false, "node_type": 19, @@ -114738,11 +116300,11 @@ "start": 102907, "end": 102972, "length": 66, - "parent_index": 5981 + "parent_index": 5983 }, "operator": 2, "left_expression": { - "id": 5984, + "id": 5986, "is_constant": false, "is_pure": false, "node_type": 19, @@ -114752,11 +116314,11 @@ "start": 102907, "end": 102951, "length": 45, - "parent_index": 5983 + "parent_index": 5985 }, "operator": 1, "left_expression": { - "id": 5985, + "id": 5987, "node_type": 16, "src": { "line": 2787, @@ -114764,7 +116326,7 @@ "start": 102907, "end": 102930, "length": 24, - "parent_index": 5984 + "parent_index": 5986 }, "name": "newTotalStrategyHoldings", "type_description": { @@ -114772,11 +116334,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5920, - "is_pure": false + "referenced_declaration": 5922, + "is_pure": false, + "text": "newTotalStrategyHoldings" }, "right_expression": { - "id": 5986, + "id": 5988, "node_type": 16, "src": { "line": 2787, @@ -114784,7 +116347,7 @@ "start": 102934, "end": 102951, "length": 18, - "parent_index": 5984 + "parent_index": 5986 }, "name": "balanceThisHarvest", "type_description": { @@ -114792,8 +116355,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5964, - "is_pure": false + "referenced_declaration": 5966, + "is_pure": false, + "text": "balanceThisHarvest" }, "type_description": { "type_identifier": "t_uint256", @@ -114801,7 +116365,7 @@ } }, "right_expression": { - "id": 5987, + "id": 5989, "node_type": 16, "src": { "line": 2787, @@ -114809,7 +116373,7 @@ "start": 102955, "end": 102972, "length": 18, - "parent_index": 5983 + "parent_index": 5985 }, "name": "balanceLastHarvest", "type_description": { @@ -114817,8 +116381,9 @@ "type_string": "uint232" }, "overloaded_declarations": [], - "referenced_declaration": 5957, - "is_pure": false + "referenced_declaration": 5959, + "is_pure": false, + "text": "balanceLastHarvest" }, "type_description": { "type_identifier": "t_uint256", @@ -114833,10 +116398,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "newTotalStrategyHoldings=newTotalStrategyHoldings+balanceThisHarvest-balanceLastHarvest;" }, { - "id": 5988, + "id": 5990, "node_type": 59, "kind": 0, "src": { @@ -114845,12 +116411,12 @@ "start": 102988, "end": 103461, "length": 474, - "parent_index": 5193 + "parent_index": 5194 }, "implemented": false, "statements": [ { - "id": 5989, + "id": 5991, "node_type": 27, "src": { "line": 2792, @@ -114858,10 +116424,10 @@ "start": 103198, "end": 103376, "length": 179, - "parent_index": 5988 + "parent_index": 5990 }, "expression": { - "id": 5990, + "id": 5992, "node_type": 27, "src": { "line": 2792, @@ -114869,11 +116435,11 @@ "start": 103198, "end": 103375, "length": 178, - "parent_index": 5989 + "parent_index": 5991 }, "operator": 13, "left_expression": { - "id": 5991, + "id": 5993, "node_type": 16, "src": { "line": 2792, @@ -114881,7 +116447,7 @@ "start": 103198, "end": 103215, "length": 18, - "parent_index": 5990 + "parent_index": 5992 }, "name": "totalProfitAccrued", "type_description": { @@ -114889,11 +116455,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5924, - "is_pure": false + "referenced_declaration": 5926, + "is_pure": false, + "text": "totalProfitAccrued" }, "right_expression": { - "id": 5993, + "id": 5995, "node_type": 97, "src": { "line": 2792, @@ -114901,11 +116468,11 @@ "start": 103220, "end": 103375, "length": 156, - "parent_index": 5990 + "parent_index": 5992 }, "expressions": [ { - "id": 5994, + "id": 5996, "is_constant": false, "is_pure": false, "node_type": 19, @@ -114915,11 +116482,11 @@ "start": 103220, "end": 103258, "length": 39, - "parent_index": 5993 + "parent_index": 5995 }, "operator": 7, "left_expression": { - "id": 5995, + "id": 5997, "node_type": 16, "src": { "line": 2792, @@ -114927,7 +116494,7 @@ "start": 103220, "end": 103237, "length": 18, - "parent_index": 5994 + "parent_index": 5996 }, "name": "balanceThisHarvest", "type_description": { @@ -114935,11 +116502,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5964, - "is_pure": false + "referenced_declaration": 5966, + "is_pure": false, + "text": "balanceThisHarvest" }, "right_expression": { - "id": 5996, + "id": 5998, "node_type": 16, "src": { "line": 2792, @@ -114947,7 +116515,7 @@ "start": 103241, "end": 103258, "length": 18, - "parent_index": 5994 + "parent_index": 5996 }, "name": "balanceLastHarvest", "type_description": { @@ -114955,8 +116523,9 @@ "type_string": "uint232" }, "overloaded_declarations": [], - "referenced_declaration": 5957, - "is_pure": false + "referenced_declaration": 5959, + "is_pure": false, + "text": "balanceLastHarvest" }, "type_description": { "type_identifier": "t_bool", @@ -114964,7 +116533,7 @@ } }, { - "id": 5997, + "id": 5999, "is_constant": false, "is_pure": false, "node_type": 19, @@ -114974,11 +116543,11 @@ "start": 103282, "end": 103320, "length": 39, - "parent_index": 5993 + "parent_index": 5995 }, "operator": 2, "left_expression": { - "id": 5998, + "id": 6000, "node_type": 16, "src": { "line": 2793, @@ -114986,7 +116555,7 @@ "start": 103282, "end": 103299, "length": 18, - "parent_index": 5997 + "parent_index": 5999 }, "name": "balanceThisHarvest", "type_description": { @@ -114994,11 +116563,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5964, - "is_pure": false + "referenced_declaration": 5966, + "is_pure": false, + "text": "balanceThisHarvest" }, "right_expression": { - "id": 5999, + "id": 6001, "node_type": 16, "src": { "line": 2793, @@ -115006,7 +116576,7 @@ "start": 103303, "end": 103320, "length": 18, - "parent_index": 5997 + "parent_index": 5999 }, "name": "balanceLastHarvest", "type_description": { @@ -115014,8 +116584,9 @@ "type_string": "uint232" }, "overloaded_declarations": [], - "referenced_declaration": 5957, - "is_pure": false + "referenced_declaration": 5959, + "is_pure": false, + "text": "balanceLastHarvest" }, "type_description": { "type_identifier": "t_uint256", @@ -115023,7 +116594,7 @@ } }, { - "id": 6000, + "id": 6002, "node_type": 17, "kind": 49, "value": "0", @@ -115034,7 +116605,7 @@ "start": 103375, "end": 103375, "length": 1, - "parent_index": 5993 + "parent_index": 5995 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -115042,7 +116613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -115069,7 +116641,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalProfitAccrued+=balanceThisHarvest\u003ebalanceLastHarvest?balanceThisHarvest-balanceLastHarvest:0;" } ] } @@ -115077,7 +116650,7 @@ } }, { - "id": 6001, + "id": 6003, "node_type": 27, "src": { "line": 2799, @@ -115085,10 +116658,10 @@ "start": 103574, "end": 103636, "length": 63, - "parent_index": 5906 + "parent_index": 5908 }, "expression": { - "id": 6002, + "id": 6004, "node_type": 27, "src": { "line": 2799, @@ -115096,11 +116669,11 @@ "start": 103574, "end": 103635, "length": 62, - "parent_index": 6001 + "parent_index": 6003 }, "operator": 11, "left_expression": { - "id": 6003, + "id": 6005, "node_type": 16, "src": { "line": 2799, @@ -115108,7 +116681,7 @@ "start": 103574, "end": 103588, "length": 15, - "parent_index": 6002 + "parent_index": 6004 }, "name": "maxLockedProfit", "type_description": { @@ -115116,11 +116689,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5882, - "is_pure": false + "referenced_declaration": 5884, + "is_pure": false, + "text": "maxLockedProfit" }, "right_expression": { - "id": 6004, + "id": 6006, "node_type": 24, "kind": 24, "src": { @@ -115129,7 +116703,7 @@ "start": 103592, "end": 103635, "length": 44, - "parent_index": 6002 + "parent_index": 6004 }, "argument_types": [ { @@ -115139,7 +116713,7 @@ ], "arguments": [ { - "id": 6007, + "id": 6009, "is_constant": false, "is_pure": false, "node_type": 19, @@ -115149,11 +116723,11 @@ "start": 103600, "end": 103634, "length": 35, - "parent_index": 6004 + "parent_index": 6006 }, "operator": 1, "left_expression": { - "id": 6008, + "id": 6010, "node_type": 24, "kind": 24, "src": { @@ -115162,12 +116736,12 @@ "start": 103600, "end": 103613, "length": 14, - "parent_index": 6007 + "parent_index": 6009 }, "argument_types": [], "arguments": [], "expression": { - "id": 6009, + "id": 6011, "node_type": 16, "src": { "line": 2799, @@ -115175,7 +116749,7 @@ "start": 103600, "end": 103611, "length": 12, - "parent_index": 6008 + "parent_index": 6010 }, "name": "lockedProfit", "type_description": { @@ -115184,7 +116758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "lockedProfit" }, "type_description": { "type_identifier": "t_function_$", @@ -115192,7 +116767,7 @@ } }, "right_expression": { - "id": 6010, + "id": 6012, "node_type": 16, "src": { "line": 2799, @@ -115200,7 +116775,7 @@ "start": 103617, "end": 103634, "length": 18, - "parent_index": 6007 + "parent_index": 6009 }, "name": "totalProfitAccrued", "type_description": { @@ -115208,8 +116783,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5924, - "is_pure": false + "referenced_declaration": 5926, + "is_pure": false, + "text": "totalProfitAccrued" }, "type_description": { "type_identifier": "t_function_$", @@ -115218,7 +116794,7 @@ } ], "expression": { - "id": 6005, + "id": 6007, "node_type": 16, "src": { "line": 2799, @@ -115226,11 +116802,11 @@ "start": 103592, "end": 103598, "length": 7, - "parent_index": 6004 + "parent_index": 6006 }, "name": "uint128", "type_name": { - "id": 6006, + "id": 6008, "node_type": 30, "src": { "line": 2799, @@ -115238,7 +116814,7 @@ "start": 103592, "end": 103598, "length": 7, - "parent_index": 6005 + "parent_index": 6007 }, "name": "uint128", "referenced_declaration": 0, @@ -115259,7 +116835,8 @@ "type_identifier": "t_uint128", "type_string": "uint128" } - ] + ], + "text": "uint128" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -115274,10 +116851,11 @@ "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "maxLockedProfit=uint128(lockedProfit()+totalProfitAccrued);" }, { - "id": 6011, + "id": 6013, "node_type": 27, "src": { "line": 2802, @@ -115285,10 +116863,10 @@ "start": 103698, "end": 103746, "length": 49, - "parent_index": 5906 + "parent_index": 5908 }, "expression": { - "id": 6012, + "id": 6014, "node_type": 27, "src": { "line": 2802, @@ -115296,11 +116874,11 @@ "start": 103698, "end": 103745, "length": 48, - "parent_index": 6011 + "parent_index": 6013 }, "operator": 11, "left_expression": { - "id": 6013, + "id": 6015, "node_type": 16, "src": { "line": 2802, @@ -115308,7 +116886,7 @@ "start": 103698, "end": 103718, "length": 21, - "parent_index": 6012 + "parent_index": 6014 }, "name": "totalStrategyHoldings", "type_description": { @@ -115316,11 +116894,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" }, "right_expression": { - "id": 6014, + "id": 6016, "node_type": 16, "src": { "line": 2802, @@ -115328,7 +116907,7 @@ "start": 103722, "end": 103745, "length": 24, - "parent_index": 6012 + "parent_index": 6014 }, "name": "newTotalStrategyHoldings", "type_description": { @@ -115336,8 +116915,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5920, - "is_pure": false + "referenced_declaration": 5922, + "is_pure": false, + "text": "newTotalStrategyHoldings" }, "type_description": { "type_identifier": "t_uint256", @@ -115347,10 +116927,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalStrategyHoldings=newTotalStrategyHoldings;" }, { - "id": 6015, + "id": 6017, "node_type": 24, "kind": 24, "src": { @@ -115359,12 +116940,12 @@ "start": 103843, "end": 103855, "length": 13, - "parent_index": 5906 + "parent_index": 5908 }, "argument_types": [], "arguments": [], "expression": { - "id": 6016, + "id": 6018, "node_type": 16, "src": { "line": 2805, @@ -115372,7 +116953,7 @@ "start": 103843, "end": 103853, "length": 11, - "parent_index": 6015 + "parent_index": 6017 }, "name": "_assessFees", "type_description": { @@ -115381,7 +116962,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_assessFees" }, "type_description": { "type_identifier": "t_function_$", @@ -115389,7 +116971,7 @@ } }, { - "id": 6017, + "id": 6019, "node_type": 27, "src": { "line": 2806, @@ -115397,10 +116979,10 @@ "start": 103866, "end": 103904, "length": 39, - "parent_index": 5906 + "parent_index": 5908 }, "expression": { - "id": 6018, + "id": 6020, "node_type": 27, "src": { "line": 2806, @@ -115408,11 +116990,11 @@ "start": 103866, "end": 103903, "length": 38, - "parent_index": 6017 + "parent_index": 6019 }, "operator": 11, "left_expression": { - "id": 6019, + "id": 6021, "node_type": 16, "src": { "line": 2806, @@ -115420,7 +117002,7 @@ "start": 103866, "end": 103876, "length": 11, - "parent_index": 6018 + "parent_index": 6020 }, "name": "lastHarvest", "type_description": { @@ -115428,11 +117010,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5879, - "is_pure": false + "referenced_declaration": 5881, + "is_pure": false, + "text": "lastHarvest" }, "right_expression": { - "id": 6020, + "id": 6022, "node_type": 24, "kind": 24, "src": { @@ -115441,7 +117024,7 @@ "start": 103880, "end": 103903, "length": 24, - "parent_index": 6018 + "parent_index": 6020 }, "argument_types": [ { @@ -115451,7 +117034,7 @@ ], "arguments": [ { - "id": 6023, + "id": 6025, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -115463,7 +117046,7 @@ "start": 103888, "end": 103902, "length": 15, - "parent_index": 6020 + "parent_index": 6022 }, "member_location": { "line": 2806, @@ -115471,10 +117054,10 @@ "start": 103894, "end": 103902, "length": 9, - "parent_index": 6023 + "parent_index": 6025 }, "expression": { - "id": 6024, + "id": 6026, "node_type": 16, "src": { "line": 2806, @@ -115482,7 +117065,7 @@ "start": 103888, "end": 103892, "length": 5, - "parent_index": 6023 + "parent_index": 6025 }, "name": "block", "type_description": { @@ -115491,18 +117074,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 6021, + "id": 6023, "node_type": 16, "src": { "line": 2806, @@ -115510,11 +117095,11 @@ "start": 103880, "end": 103886, "length": 7, - "parent_index": 6020 + "parent_index": 6022 }, "name": "uint128", "type_name": { - "id": 6022, + "id": 6024, "node_type": 30, "src": { "line": 2806, @@ -115522,7 +117107,7 @@ "start": 103880, "end": 103886, "length": 7, - "parent_index": 6021 + "parent_index": 6023 }, "name": "uint128", "referenced_declaration": 0, @@ -115543,7 +117128,8 @@ "type_identifier": "t_uint128", "type_string": "uint128" } - ] + ], + "text": "uint128" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -115558,10 +117144,11 @@ "type_description": { "type_identifier": "t_uint128", "type_string": "uint128" - } + }, + "text": "lastHarvest=uint128(block.timestamp);" }, { - "id": 6025, + "id": 6027, "node_type": 64, "src": { "line": 2808, @@ -115569,11 +117156,11 @@ "start": 103915, "end": 103953, "length": 39, - "parent_index": 5897 + "parent_index": 5899 }, "arguments": [ { - "id": 6026, + "id": 6028, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -115585,7 +117172,7 @@ "start": 103928, "end": 103937, "length": 10, - "parent_index": 6025 + "parent_index": 6027 }, "member_location": { "line": 2808, @@ -115593,10 +117180,10 @@ "start": 103932, "end": 103937, "length": 6, - "parent_index": 6026 + "parent_index": 6028 }, "expression": { - "id": 6027, + "id": 6029, "node_type": 16, "src": { "line": 2808, @@ -115604,7 +117191,7 @@ "start": 103928, "end": 103930, "length": 3, - "parent_index": 6026 + "parent_index": 6028 }, "name": "msg", "type_description": { @@ -115613,17 +117200,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 6028, + "id": 6030, "node_type": 16, "src": { "line": 2808, @@ -115631,7 +117220,7 @@ "start": 103940, "end": 103951, "length": 12, - "parent_index": 6025 + "parent_index": 6027 }, "name": "strategyList", "type_description": { @@ -115639,12 +117228,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6028, - "is_pure": false + "referenced_declaration": 6030, + "is_pure": false, + "text": "strategyList" } ], "expression": { - "id": 6029, + "id": 6031, "node_type": 16, "src": { "line": 2808, @@ -115652,16 +117242,17 @@ "start": 103920, "end": 103926, "length": 7, - "parent_index": 6025 + "parent_index": 6027 }, "name": "Harvest", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Harvest_\u00265889", + "type_identifier": "t_event\u0026_BaseVault_Harvest_\u00265891", "type_string": "event BaseVault.Harvest" }, "overloaded_declarations": [], - "referenced_declaration": 5889, - "is_pure": false + "referenced_declaration": 5891, + "is_pure": false, + "text": "Harvest" } } ] @@ -115672,7 +117263,7 @@ "virtual": false, "modifiers": [ { - "id": 5902, + "id": 5904, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -115682,7 +117273,7 @@ "start": 101404, "end": 101422, "length": 19, - "parent_index": 5897 + "parent_index": 5899 }, "argument_types": [ { @@ -115692,7 +117283,7 @@ ], "arguments": [ { - "id": 5904, + "id": 5906, "node_type": 16, "src": { "line": 2755, @@ -115700,7 +117291,7 @@ "start": 101413, "end": 101421, "length": 9, - "parent_index": 5902 + "parent_index": 5904 }, "name": "HARVESTER", "type_description": { @@ -115708,12 +117299,13 @@ "type_string": "function(string memory)" }, "overloaded_declarations": [], - "referenced_declaration": 5323, - "is_pure": false + "referenced_declaration": 5324, + "is_pure": false, + "text": "HARVESTER" } ], "modifier_name": { - "id": 5903, + "id": 5905, "name": "onlyRole", "node_type": 0, "src": { @@ -115722,14 +117314,14 @@ "start": 101404, "end": 101411, "length": 8, - "parent_index": 5902 + "parent_index": 5904 } } } ], "overrides": [], "parameters": { - "id": 5898, + "id": 5900, "node_type": 43, "src": { "line": 2755, @@ -115737,11 +117329,11 @@ "start": 101361, "end": 101392, "length": 32, - "parent_index": 5897 + "parent_index": 5899 }, "parameters": [ { - "id": 5899, + "id": 5901, "node_type": 44, "src": { "line": 2755, @@ -115749,12 +117341,12 @@ "start": 101361, "end": 101392, "length": 32, - "parent_index": 5898 + "parent_index": 5900 }, - "scope": 5897, + "scope": 5899, "name": "strategyList", "type_name": { - "id": 5900, + "id": 5902, "node_type": 69, "src": { "line": 2755, @@ -115762,24 +117354,24 @@ "start": 101361, "end": 101368, "length": 8, - "parent_index": 5899 + "parent_index": 5901 }, "name": "Strategy", "path_node": { - "id": 5901, + "id": 5903, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2755, "column": 21, "start": 101361, "end": 101368, "length": 8, - "parent_index": 5900 + "parent_index": 5902 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -115802,7 +117394,7 @@ ] }, "return_parameters": { - "id": 5905, + "id": 5907, "node_type": 43, "src": { "line": 2755, @@ -115810,21 +117402,22 @@ "start": 101344, "end": 103959, "length": 2616, - "parent_index": 5897 + "parent_index": 5899 }, "parameters": [], "parameter_types": [] }, "signature_raw": "harvest(Strategy)", "signature": "d1f29967", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "functionharvest(Strategy[]calldatastrategyList)externalonlyRole(HARVESTER){require(block.timestamp\u003e=lastHarvest+LOCK_INTERVAL,\"BV: profit unlocking\");uint256oldTotalStrategyHoldings=totalStrategyHoldings;uint256newTotalStrategyHoldings=oldTotalStrategyHoldings;uint256totalProfitAccrued;for(uint256i=0;i\u003cstrategyList.length;i=uncheckedInc(i)){Strategystrategy=strategyList[i];if(!strategies[strategy].isActive){continue;}uint232balanceLastHarvest=strategies[strategy].balance;uint256balanceThisHarvest=strategy.totalLockedValue();strategies[strategy].balance=uint232(balanceThisHarvest);newTotalStrategyHoldings=newTotalStrategyHoldings+balanceThisHarvest-balanceLastHarvest;unchecked{totalProfitAccrued+=balanceThisHarvest\u003ebalanceLastHarvest?balanceThisHarvest-balanceLastHarvest:0;}}maxLockedProfit=uint128(lockedProfit()+totalProfitAccrued);totalStrategyHoldings=newTotalStrategyHoldings;_assessFees();lastHarvest=uint128(block.timestamp);emitHarvest(msg.sender,strategyList);}" }, { - "id": 6031, + "id": 6033, "name": "lockedProfit", "node_type": 42, "kind": 41, @@ -115834,7 +117427,7 @@ "start": 104116, "end": 104430, "length": 315, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2815, @@ -115842,10 +117435,10 @@ "start": 104125, "end": 104136, "length": 12, - "parent_index": 6031 + "parent_index": 6033 }, "body": { - "id": 6038, + "id": 6040, "node_type": 46, "kind": 0, "src": { @@ -115854,12 +117447,12 @@ "start": 104178, "end": 104430, "length": 253, - "parent_index": 6031 + "parent_index": 6033 }, "implemented": true, "statements": [ { - "id": 6039, + "id": 6041, "node_type": 48, "src": { "line": 2816, @@ -115867,10 +117460,10 @@ "start": 104188, "end": 104272, "length": 85, - "parent_index": 6038 + "parent_index": 6040 }, "condition": { - "id": 6040, + "id": 6042, "is_constant": false, "is_pure": false, "node_type": 19, @@ -115880,11 +117473,11 @@ "start": 104192, "end": 104237, "length": 46, - "parent_index": 6039 + "parent_index": 6041 }, "operator": 8, "left_expression": { - "id": 6041, + "id": 6043, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -115896,7 +117489,7 @@ "start": 104192, "end": 104206, "length": 15, - "parent_index": 6040 + "parent_index": 6042 }, "member_location": { "line": 2816, @@ -115904,10 +117497,10 @@ "start": 104198, "end": 104206, "length": 9, - "parent_index": 6041 + "parent_index": 6043 }, "expression": { - "id": 6042, + "id": 6044, "node_type": 16, "src": { "line": 2816, @@ -115915,7 +117508,7 @@ "start": 104192, "end": 104196, "length": 5, - "parent_index": 6041 + "parent_index": 6043 }, "name": "block", "type_description": { @@ -115924,17 +117517,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { - "id": 6043, + "id": 6045, "is_constant": false, "is_pure": false, "node_type": 19, @@ -115944,11 +117539,11 @@ "start": 104211, "end": 104237, "length": 27, - "parent_index": 6040 + "parent_index": 6042 }, "operator": 1, "left_expression": { - "id": 6044, + "id": 6046, "node_type": 16, "src": { "line": 2816, @@ -115956,7 +117551,7 @@ "start": 104211, "end": 104221, "length": 11, - "parent_index": 6043 + "parent_index": 6045 }, "name": "lastHarvest", "type_description": { @@ -115964,11 +117559,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5879, - "is_pure": false + "referenced_declaration": 5881, + "is_pure": false, + "text": "lastHarvest" }, "right_expression": { - "id": 6045, + "id": 6047, "node_type": 16, "src": { "line": 2816, @@ -115976,7 +117572,7 @@ "start": 104225, "end": 104237, "length": 13, - "parent_index": 6043 + "parent_index": 6045 }, "name": "LOCK_INTERVAL", "type_description": { @@ -115984,8 +117580,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 5885, - "is_pure": false + "referenced_declaration": 5887, + "is_pure": false, + "text": "LOCK_INTERVAL" }, "type_description": { "type_identifier": "t_uint128", @@ -115998,7 +117595,7 @@ } }, "body": { - "id": 6046, + "id": 6048, "node_type": 46, "kind": 0, "src": { @@ -116007,12 +117604,12 @@ "start": 104240, "end": 104272, "length": 33, - "parent_index": 6031 + "parent_index": 6033 }, "implemented": true, "statements": [ { - "id": 6047, + "id": 6049, "node_type": 47, "src": { "line": 2817, @@ -116020,11 +117617,11 @@ "start": 104254, "end": 104262, "length": 9, - "parent_index": 6031 + "parent_index": 6033 }, - "function_return_parameters": 6031, + "function_return_parameters": 6033, "expression": { - "id": 6048, + "id": 6050, "node_type": 17, "kind": 49, "value": "0", @@ -116035,7 +117632,7 @@ "start": 104261, "end": 104261, "length": 1, - "parent_index": 6047 + "parent_index": 6049 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -116043,14 +117640,15 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] } }, { - "id": 6049, + "id": 6051, "node_type": 44, "src": { "line": 2820, @@ -116058,25 +117656,25 @@ "start": 104283, "end": 104375, "length": 93, - "parent_index": 6038 + "parent_index": 6040 }, "assignments": [ - 6050 + 6052 ], "declarations": [ { - "id": 6050, + "id": 6052, "state_mutability": 1, "name": "unlockedProfit", "node_type": 44, - "scope": 6038, + "scope": 6040, "src": { "line": 2820, "column": 8, "start": 104283, "end": 104304, "length": 22, - "parent_index": 6049 + "parent_index": 6051 }, "name_location": { "line": 2820, @@ -116084,12 +117682,12 @@ "start": 104291, "end": 104304, "length": 14, - "parent_index": 6050 + "parent_index": 6052 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6051, + "id": 6053, "node_type": 30, "src": { "line": 2820, @@ -116097,7 +117695,7 @@ "start": 104283, "end": 104289, "length": 7, - "parent_index": 6050 + "parent_index": 6052 }, "name": "uint256", "referenced_declaration": 0, @@ -116110,7 +117708,7 @@ } ], "initial_value": { - "id": 6052, + "id": 6054, "is_constant": false, "is_pure": false, "node_type": 19, @@ -116120,11 +117718,11 @@ "start": 104308, "end": 104374, "length": 67, - "parent_index": 6049 + "parent_index": 6051 }, "operator": 4, "left_expression": { - "id": 6053, + "id": 6055, "node_type": 60, "src": { "line": 2820, @@ -116132,13 +117730,13 @@ "start": 104308, "end": 104358, "length": 51, - "parent_index": 6052 + "parent_index": 6054 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 6054, + "id": 6056, "is_constant": false, "is_pure": false, "node_type": 19, @@ -116148,11 +117746,11 @@ "start": 104309, "end": 104357, "length": 49, - "parent_index": 6053 + "parent_index": 6055 }, "operator": 3, "left_expression": { - "id": 6055, + "id": 6057, "node_type": 16, "src": { "line": 2820, @@ -116160,7 +117758,7 @@ "start": 104309, "end": 104323, "length": 15, - "parent_index": 6054 + "parent_index": 6056 }, "name": "maxLockedProfit", "type_description": { @@ -116168,11 +117766,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5882, - "is_pure": false + "referenced_declaration": 5884, + "is_pure": false, + "text": "maxLockedProfit" }, "right_expression": { - "id": 6056, + "id": 6058, "node_type": 60, "src": { "line": 2820, @@ -116180,13 +117779,13 @@ "start": 104327, "end": 104357, "length": 31, - "parent_index": 6054 + "parent_index": 6056 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 6057, + "id": 6059, "is_constant": false, "is_pure": false, "node_type": 19, @@ -116196,11 +117795,11 @@ "start": 104328, "end": 104356, "length": 29, - "parent_index": 6056 + "parent_index": 6058 }, "operator": 2, "left_expression": { - "id": 6058, + "id": 6060, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -116212,7 +117811,7 @@ "start": 104328, "end": 104342, "length": 15, - "parent_index": 6049 + "parent_index": 6051 }, "member_location": { "line": 2820, @@ -116220,10 +117819,10 @@ "start": 104334, "end": 104342, "length": 9, - "parent_index": 6058 + "parent_index": 6060 }, "expression": { - "id": 6059, + "id": 6061, "node_type": 16, "src": { "line": 2820, @@ -116231,7 +117830,7 @@ "start": 104328, "end": 104332, "length": 5, - "parent_index": 6058 + "parent_index": 6060 }, "name": "block", "type_description": { @@ -116240,17 +117839,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { - "id": 6060, + "id": 6062, "node_type": 16, "src": { "line": 2820, @@ -116258,7 +117859,7 @@ "start": 104346, "end": 104356, "length": 11, - "parent_index": 6057 + "parent_index": 6059 }, "name": "lastHarvest", "type_description": { @@ -116266,8 +117867,9 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5879, - "is_pure": false + "referenced_declaration": 5881, + "is_pure": false, + "text": "lastHarvest" }, "type_description": { "type_identifier": "t_uint256", @@ -116292,7 +117894,7 @@ } }, "right_expression": { - "id": 6061, + "id": 6063, "node_type": 16, "src": { "line": 2820, @@ -116300,7 +117902,7 @@ "start": 104362, "end": 104374, "length": 13, - "parent_index": 6052 + "parent_index": 6054 }, "name": "LOCK_INTERVAL", "type_description": { @@ -116308,8 +117910,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 5885, - "is_pure": false + "referenced_declaration": 5887, + "is_pure": false, + "text": "LOCK_INTERVAL" }, "type_description": { "type_identifier": "t_tuple_$_t_uint128$", @@ -116318,7 +117921,7 @@ } }, { - "id": 6062, + "id": 6064, "node_type": 47, "src": { "line": 2821, @@ -116326,11 +117929,11 @@ "start": 104385, "end": 104424, "length": 40, - "parent_index": 6031 + "parent_index": 6033 }, - "function_return_parameters": 6031, + "function_return_parameters": 6033, "expression": { - "id": 6063, + "id": 6065, "is_constant": false, "is_pure": false, "node_type": 19, @@ -116340,11 +117943,11 @@ "start": 104392, "end": 104423, "length": 32, - "parent_index": 6062 + "parent_index": 6064 }, "operator": 2, "left_expression": { - "id": 6064, + "id": 6066, "node_type": 16, "src": { "line": 2821, @@ -116352,7 +117955,7 @@ "start": 104392, "end": 104406, "length": 15, - "parent_index": 6063 + "parent_index": 6065 }, "name": "maxLockedProfit", "type_description": { @@ -116360,11 +117963,12 @@ "type_string": "uint128" }, "overloaded_declarations": [], - "referenced_declaration": 5882, - "is_pure": false + "referenced_declaration": 5884, + "is_pure": false, + "text": "maxLockedProfit" }, "right_expression": { - "id": 6065, + "id": 6067, "node_type": 16, "src": { "line": 2821, @@ -116372,7 +117976,7 @@ "start": 104410, "end": 104423, "length": 14, - "parent_index": 6063 + "parent_index": 6065 }, "name": "unlockedProfit", "type_description": { @@ -116380,8 +117984,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6049, - "is_pure": false + "referenced_declaration": 6051, + "is_pure": false, + "text": "unlockedProfit" }, "type_description": { "type_identifier": "t_uint128", @@ -116398,7 +118003,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6032, + "id": 6034, "node_type": 43, "src": { "line": 2815, @@ -116406,11 +118011,11 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6031 + "parent_index": 6033 }, "parameters": [ { - "id": 6033, + "id": 6035, "node_type": 44, "src": { "line": 2815, @@ -116418,12 +118023,12 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6032 + "parent_index": 6034 }, - "scope": 6031, + "scope": 6033, "name": "", "type_name": { - "id": 6034, + "id": 6036, "node_type": 30, "src": { "line": 2815, @@ -116431,7 +118036,7 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6033 + "parent_index": 6035 }, "name": "uint256", "referenced_declaration": 0, @@ -116457,7 +118062,7 @@ ] }, "return_parameters": { - "id": 6035, + "id": 6037, "node_type": 43, "src": { "line": 2815, @@ -116465,11 +118070,11 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6031 + "parent_index": 6033 }, "parameters": [ { - "id": 6036, + "id": 6038, "node_type": 44, "src": { "line": 2815, @@ -116477,12 +118082,12 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6035 + "parent_index": 6037 }, - "scope": 6031, + "scope": 6033, "name": "", "type_name": { - "id": 6037, + "id": 6039, "node_type": 30, "src": { "line": 2815, @@ -116490,7 +118095,7 @@ "start": 104169, "end": 104175, "length": 7, - "parent_index": 6036 + "parent_index": 6038 }, "name": "uint256", "referenced_declaration": 0, @@ -116517,14 +118122,15 @@ }, "signature_raw": "lockedProfit(uint256)", "signature": "5ecc012c", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionlockedProfit()publicviewvirtualreturns(uint256){if(block.timestamp\u003e=lastHarvest+LOCK_INTERVAL){return0;}uint256unlockedProfit=(maxLockedProfit*(block.timestamp-lastHarvest))/LOCK_INTERVAL;returnmaxLockedProfit-unlockedProfit;}" }, { - "id": 6067, + "id": 6069, "name": "vaultTVL", "node_type": 42, "kind": 41, @@ -116534,7 +118140,7 @@ "start": 104696, "end": 104824, "length": 129, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2829, @@ -116542,10 +118148,10 @@ "start": 104705, "end": 104712, "length": 8, - "parent_index": 6067 + "parent_index": 6069 }, "body": { - "id": 6074, + "id": 6076, "node_type": 46, "kind": 0, "src": { @@ -116554,12 +118160,12 @@ "start": 104746, "end": 104824, "length": 79, - "parent_index": 6067 + "parent_index": 6069 }, "implemented": true, "statements": [ { - "id": 6075, + "id": 6077, "node_type": 47, "src": { "line": 2830, @@ -116567,11 +118173,11 @@ "start": 104756, "end": 104818, "length": 63, - "parent_index": 6067 + "parent_index": 6069 }, - "function_return_parameters": 6067, + "function_return_parameters": 6069, "expression": { - "id": 6076, + "id": 6078, "is_constant": false, "is_pure": false, "node_type": 19, @@ -116581,11 +118187,11 @@ "start": 104763, "end": 104817, "length": 55, - "parent_index": 6075 + "parent_index": 6077 }, "operator": 1, "left_expression": { - "id": 6077, + "id": 6079, "node_type": 24, "kind": 24, "src": { @@ -116594,7 +118200,7 @@ "start": 104763, "end": 104793, "length": 31, - "parent_index": 6076 + "parent_index": 6078 }, "argument_types": [ { @@ -116604,7 +118210,7 @@ ], "arguments": [ { - "id": 6080, + "id": 6082, "node_type": 24, "kind": 24, "src": { @@ -116613,17 +118219,17 @@ "start": 104780, "end": 104792, "length": 13, - "parent_index": 6077 + "parent_index": 6079 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } ], "arguments": [ { - "id": 6083, + "id": 6085, "node_type": 16, "src": { "line": 2830, @@ -116631,20 +118237,21 @@ "start": 104788, "end": 104791, "length": 4, - "parent_index": 6080 + "parent_index": 6082 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6081, + "id": 6083, "node_type": 16, "src": { "line": 2830, @@ -116652,11 +118259,11 @@ "start": 104780, "end": 104786, "length": 7, - "parent_index": 6080 + "parent_index": 6082 }, "name": "address", "type_name": { - "id": 6082, + "id": 6084, "node_type": 30, "src": { "line": 2830, @@ -116664,7 +118271,7 @@ "start": 104780, "end": 104786, "length": 7, - "parent_index": 6081 + "parent_index": 6083 }, "name": "address", "state_mutability": 4, @@ -116686,7 +118293,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -116695,7 +118303,7 @@ } ], "expression": { - "id": 6078, + "id": 6080, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -116707,7 +118315,7 @@ "start": 104763, "end": 104778, "length": 16, - "parent_index": 6077 + "parent_index": 6079 }, "member_location": { "line": 2830, @@ -116715,10 +118323,10 @@ "start": 104770, "end": 104778, "length": 9, - "parent_index": 6078 + "parent_index": 6080 }, "expression": { - "id": 6079, + "id": 6081, "node_type": 16, "src": { "line": 2830, @@ -116726,23 +118334,25 @@ "start": 104763, "end": 104768, "length": 6, - "parent_index": 6078 + "parent_index": 6080 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -116750,7 +118360,7 @@ } }, "right_expression": { - "id": 6084, + "id": 6086, "node_type": 16, "src": { "line": 2830, @@ -116758,7 +118368,7 @@ "start": 104797, "end": 104817, "length": 21, - "parent_index": 6076 + "parent_index": 6078 }, "name": "totalStrategyHoldings", "type_description": { @@ -116766,8 +118376,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 5390, - "is_pure": false + "referenced_declaration": 5391, + "is_pure": false, + "text": "totalStrategyHoldings" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -116784,7 +118395,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6068, + "id": 6070, "node_type": 43, "src": { "line": 2829, @@ -116792,11 +118403,11 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6067 + "parent_index": 6069 }, "parameters": [ { - "id": 6069, + "id": 6071, "node_type": 44, "src": { "line": 2829, @@ -116804,12 +118415,12 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6068 + "parent_index": 6070 }, - "scope": 6067, + "scope": 6069, "name": "", "type_name": { - "id": 6070, + "id": 6072, "node_type": 30, "src": { "line": 2829, @@ -116817,7 +118428,7 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6069 + "parent_index": 6071 }, "name": "uint256", "referenced_declaration": 0, @@ -116843,7 +118454,7 @@ ] }, "return_parameters": { - "id": 6071, + "id": 6073, "node_type": 43, "src": { "line": 2829, @@ -116851,11 +118462,11 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6067 + "parent_index": 6069 }, "parameters": [ { - "id": 6072, + "id": 6074, "node_type": 44, "src": { "line": 2829, @@ -116863,12 +118474,12 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6071 + "parent_index": 6073 }, - "scope": 6067, + "scope": 6069, "name": "", "type_name": { - "id": 6073, + "id": 6075, "node_type": 30, "src": { "line": 2829, @@ -116876,7 +118487,7 @@ "start": 104737, "end": 104743, "length": 7, - "parent_index": 6072 + "parent_index": 6074 }, "name": "uint256", "referenced_declaration": 0, @@ -116903,14 +118514,15 @@ }, "signature_raw": "vaultTVL(uint256)", "signature": "7947f67f", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionvaultTVL()publicviewreturns(uint256){return_asset.balanceOf(address(this))+totalStrategyHoldings;}" }, { - "id": 6086, + "id": 6088, "node_type": 57, "src": { "line": 2839, @@ -116918,10 +118530,10 @@ "start": 105155, "end": 105223, "length": 69, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 6087, + "id": 6089, "node_type": 43, "src": { "line": 2839, @@ -116929,11 +118541,11 @@ "start": 105155, "end": 105223, "length": 69, - "parent_index": 6086 + "parent_index": 6088 }, "parameters": [ { - "id": 6088, + "id": 6090, "node_type": 44, "src": { "line": 2839, @@ -116941,12 +118553,12 @@ "start": 105173, "end": 105195, "length": 23, - "parent_index": 6087 + "parent_index": 6089 }, - "scope": 6086, + "scope": 6088, "name": "assetsRequested", "type_name": { - "id": 6089, + "id": 6091, "node_type": 30, "src": { "line": 2839, @@ -116954,7 +118566,7 @@ "start": 105173, "end": 105179, "length": 7, - "parent_index": 6088 + "parent_index": 6090 }, "name": "uint256", "referenced_declaration": 0, @@ -116972,7 +118584,7 @@ } }, { - "id": 6090, + "id": 6092, "node_type": 44, "src": { "line": 2839, @@ -116980,12 +118592,12 @@ "start": 105198, "end": 105221, "length": 24, - "parent_index": 6087 + "parent_index": 6089 }, - "scope": 6086, + "scope": 6088, "name": "assetsLiquidated", "type_name": { - "id": 6091, + "id": 6093, "node_type": 30, "src": { "line": 2839, @@ -116993,7 +118605,7 @@ "start": 105198, "end": 105204, "length": 7, - "parent_index": 6090 + "parent_index": 6092 }, "name": "uint256", "referenced_declaration": 0, @@ -117025,12 +118637,12 @@ "name": "Liquidation", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Liquidation_\u00266086", + "type_identifier": "t_event\u0026_BaseVault_Liquidation_\u00266088", "type_string": "event BaseVault.Liquidation" } }, { - "id": 6093, + "id": 6095, "name": "_liquidate", "node_type": 42, "kind": 41, @@ -117040,7 +118652,7 @@ "start": 105519, "end": 106414, "length": 896, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2847, @@ -117048,10 +118660,10 @@ "start": 105528, "end": 105537, "length": 10, - "parent_index": 6093 + "parent_index": 6095 }, "body": { - "id": 6100, + "id": 6102, "node_type": 46, "kind": 0, "src": { @@ -117060,12 +118672,12 @@ "start": 105582, "end": 106414, "length": 833, - "parent_index": 6093 + "parent_index": 6095 }, "implemented": true, "statements": [ { - "id": 6101, + "id": 6103, "node_type": 44, "src": { "line": 2848, @@ -117073,25 +118685,25 @@ "start": 105592, "end": 105616, "length": 25, - "parent_index": 6100 + "parent_index": 6102 }, "assignments": [ - 6102 + 6104 ], "declarations": [ { - "id": 6102, + "id": 6104, "state_mutability": 1, "name": "amountLiquidated", "node_type": 44, - "scope": 6100, + "scope": 6102, "src": { "line": 2848, "column": 8, "start": 105592, "end": 105615, "length": 24, - "parent_index": 6101 + "parent_index": 6103 }, "name_location": { "line": 2848, @@ -117099,12 +118711,12 @@ "start": 105600, "end": 105615, "length": 16, - "parent_index": 6102 + "parent_index": 6104 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6103, + "id": 6105, "node_type": 30, "src": { "line": 2848, @@ -117112,7 +118724,7 @@ "start": 105592, "end": 105598, "length": 7, - "parent_index": 6102 + "parent_index": 6104 }, "name": "uint256", "referenced_declaration": 0, @@ -117126,7 +118738,7 @@ ] }, { - "id": 6104, + "id": 6106, "node_type": 79, "src": { "line": 2849, @@ -117134,10 +118746,10 @@ "start": 105626, "end": 106286, "length": 661, - "parent_index": 6100 + "parent_index": 6102 }, "initialiser": { - "id": 6105, + "id": 6107, "node_type": 44, "src": { "line": 2849, @@ -117145,25 +118757,25 @@ "start": 105631, "end": 105644, "length": 14, - "parent_index": 6100 + "parent_index": 6102 }, "assignments": [ - 6106 + 6108 ], "declarations": [ { - "id": 6106, + "id": 6108, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 6100, + "scope": 6102, "src": { "line": 2849, "column": 13, "start": 105631, "end": 105639, "length": 9, - "parent_index": 6105 + "parent_index": 6107 }, "name_location": { "line": 2849, @@ -117171,12 +118783,12 @@ "start": 105639, "end": 105639, "length": 1, - "parent_index": 6106 + "parent_index": 6108 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6107, + "id": 6109, "node_type": 30, "src": { "line": 2849, @@ -117184,7 +118796,7 @@ "start": 105631, "end": 105637, "length": 7, - "parent_index": 6106 + "parent_index": 6108 }, "name": "uint256", "referenced_declaration": 0, @@ -117197,7 +118809,7 @@ } ], "initial_value": { - "id": 6108, + "id": 6110, "node_type": 17, "kind": 49, "value": "0", @@ -117208,7 +118820,7 @@ "start": 105643, "end": 105643, "length": 1, - "parent_index": 6105 + "parent_index": 6107 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -117216,11 +118828,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 6109, + "id": 6111, "is_constant": false, "is_pure": false, "node_type": 19, @@ -117230,11 +118843,11 @@ "start": 105646, "end": 105663, "length": 18, - "parent_index": 6104 + "parent_index": 6106 }, "operator": 9, "left_expression": { - "id": 6110, + "id": 6112, "node_type": 16, "src": { "line": 2849, @@ -117242,7 +118855,7 @@ "start": 105646, "end": 105646, "length": 1, - "parent_index": 6109 + "parent_index": 6111 }, "name": "i", "type_description": { @@ -117251,10 +118864,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6111, + "id": 6113, "node_type": 16, "src": { "line": 2849, @@ -117262,7 +118876,7 @@ "start": 105650, "end": 105663, "length": 14, - "parent_index": 6109 + "parent_index": 6111 }, "name": "MAX_STRATEGIES", "type_description": { @@ -117270,8 +118884,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -117279,7 +118894,7 @@ } }, "closure": { - "id": 6112, + "id": 6114, "node_type": 27, "src": { "line": 2849, @@ -117287,11 +118902,11 @@ "start": 105666, "end": 105684, "length": 19, - "parent_index": 6104 + "parent_index": 6106 }, "operator": 11, "left_expression": { - "id": 6113, + "id": 6115, "node_type": 16, "src": { "line": 2849, @@ -117299,7 +118914,7 @@ "start": 105666, "end": 105666, "length": 1, - "parent_index": 6112 + "parent_index": 6114 }, "name": "i", "type_description": { @@ -117308,10 +118923,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6114, + "id": 6116, "node_type": 24, "kind": 24, "src": { @@ -117320,7 +118936,7 @@ "start": 105670, "end": 105684, "length": 15, - "parent_index": 6112 + "parent_index": 6114 }, "argument_types": [ { @@ -117330,7 +118946,7 @@ ], "arguments": [ { - "id": 6116, + "id": 6118, "node_type": 16, "src": { "line": 2849, @@ -117338,7 +118954,7 @@ "start": 105683, "end": 105683, "length": 1, - "parent_index": 6114 + "parent_index": 6116 }, "name": "i", "type_description": { @@ -117347,11 +118963,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 6115, + "id": 6117, "node_type": 16, "src": { "line": 2849, @@ -117359,7 +118976,7 @@ "start": 105670, "end": 105681, "length": 12, - "parent_index": 6114 + "parent_index": 6116 }, "name": "uncheckedInc", "type_description": { @@ -117368,7 +118985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -117381,7 +118999,7 @@ } }, "body": { - "id": 6117, + "id": 6119, "node_type": 46, "kind": 0, "src": { @@ -117390,12 +119008,12 @@ "start": 105687, "end": 106286, "length": 600, - "parent_index": 6104 + "parent_index": 6106 }, "implemented": true, "statements": [ { - "id": 6118, + "id": 6120, "node_type": 44, "src": { "line": 2850, @@ -117403,25 +119021,25 @@ "start": 105701, "end": 105739, "length": 39, - "parent_index": 6117 + "parent_index": 6119 }, "assignments": [ - 6119 + 6121 ], "declarations": [ { - "id": 6119, + "id": 6121, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 6117, + "scope": 6119, "src": { "line": 2850, "column": 12, "start": 105701, "end": 105717, "length": 17, - "parent_index": 6118 + "parent_index": 6120 }, "name_location": { "line": 2850, @@ -117429,12 +119047,12 @@ "start": 105710, "end": 105717, "length": 8, - "parent_index": 6119 + "parent_index": 6121 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6120, + "id": 6122, "node_type": 69, "src": { "line": 2850, @@ -117442,20 +119060,20 @@ "start": 105701, "end": 105708, "length": 8, - "parent_index": 6119 + "parent_index": 6121 }, "path_node": { - "id": 6121, + "id": 6123, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2850, "column": 12, "start": 105701, "end": 105708, "length": 8, - "parent_index": 6120 + "parent_index": 6122 }, "name_location": { "line": 2850, @@ -117463,10 +119081,10 @@ "start": 105701, "end": 105708, "length": 8, - "parent_index": 6120 + "parent_index": 6122 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -117476,7 +119094,7 @@ } ], "initial_value": { - "id": 6122, + "id": 6124, "node_type": 22, "src": { "line": 2850, @@ -117484,10 +119102,10 @@ "start": 105721, "end": 105738, "length": 18, - "parent_index": 6118 + "parent_index": 6120 }, "index_expression": { - "id": 6123, + "id": 6125, "node_type": 16, "src": { "line": 2850, @@ -117495,7 +119113,7 @@ "start": 105721, "end": 105735, "length": 15, - "parent_index": 6122 + "parent_index": 6124 }, "name": "withdrawalQueue", "type_description": { @@ -117503,11 +119121,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 6124, + "id": 6126, "node_type": 16, "src": { "line": 2850, @@ -117515,7 +119134,7 @@ "start": 105737, "end": 105737, "length": 1, - "parent_index": 6122 + "parent_index": 6124 }, "name": "i", "type_description": { @@ -117524,7 +119143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -117543,7 +119163,7 @@ } }, { - "id": 6125, + "id": 6127, "node_type": 48, "src": { "line": 2851, @@ -117551,10 +119171,10 @@ "start": 105753, "end": 105827, "length": 75, - "parent_index": 6117 + "parent_index": 6119 }, "condition": { - "id": 6126, + "id": 6128, "is_constant": false, "is_pure": false, "node_type": 19, @@ -117564,11 +119184,11 @@ "start": 105757, "end": 105787, "length": 31, - "parent_index": 6125 + "parent_index": 6127 }, "operator": 11, "left_expression": { - "id": 6127, + "id": 6129, "node_type": 24, "kind": 24, "src": { @@ -117577,7 +119197,7 @@ "start": 105757, "end": 105773, "length": 17, - "parent_index": 6126 + "parent_index": 6128 }, "argument_types": [ { @@ -117587,7 +119207,7 @@ ], "arguments": [ { - "id": 6130, + "id": 6132, "node_type": 16, "src": { "line": 2851, @@ -117595,7 +119215,7 @@ "start": 105765, "end": 105772, "length": 8, - "parent_index": 6127 + "parent_index": 6129 }, "name": "strategy", "type_description": { @@ -117603,12 +119223,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6118, - "is_pure": false + "referenced_declaration": 6120, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 6128, + "id": 6130, "node_type": 16, "src": { "line": 2851, @@ -117616,11 +119237,11 @@ "start": 105757, "end": 105763, "length": 7, - "parent_index": 6127 + "parent_index": 6129 }, "name": "address", "type_name": { - "id": 6129, + "id": 6131, "node_type": 30, "src": { "line": 2851, @@ -117628,7 +119249,7 @@ "start": 105757, "end": 105763, "length": 7, - "parent_index": 6128 + "parent_index": 6130 }, "name": "address", "state_mutability": 4, @@ -117650,7 +119271,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -117658,7 +119280,7 @@ } }, "right_expression": { - "id": 6131, + "id": 6133, "node_type": 24, "kind": 24, "src": { @@ -117667,7 +119289,7 @@ "start": 105778, "end": 105787, "length": 10, - "parent_index": 6126 + "parent_index": 6128 }, "argument_types": [ { @@ -117677,7 +119299,7 @@ ], "arguments": [ { - "id": 6134, + "id": 6136, "node_type": 17, "kind": 49, "value": "0", @@ -117688,7 +119310,7 @@ "start": 105786, "end": 105786, "length": 1, - "parent_index": 6131 + "parent_index": 6133 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -117696,11 +119318,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 6132, + "id": 6134, "node_type": 16, "src": { "line": 2851, @@ -117708,11 +119331,11 @@ "start": 105778, "end": 105784, "length": 7, - "parent_index": 6131 + "parent_index": 6133 }, "name": "address", "type_name": { - "id": 6133, + "id": 6135, "node_type": 30, "src": { "line": 2851, @@ -117720,7 +119343,7 @@ "start": 105778, "end": 105784, "length": 7, - "parent_index": 6132 + "parent_index": 6134 }, "name": "address", "state_mutability": 4, @@ -117742,7 +119365,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -117755,7 +119379,7 @@ } }, "body": { - "id": 6135, + "id": 6137, "node_type": 46, "kind": 0, "src": { @@ -117764,12 +119388,12 @@ "start": 105790, "end": 105827, "length": 38, - "parent_index": 6104 + "parent_index": 6106 }, "implemented": true, "statements": [ { - "id": 6136, + "id": 6138, "node_type": 74, "src": { "line": 2852, @@ -117777,14 +119401,14 @@ "start": 105808, "end": 105813, "length": 6, - "parent_index": 6135 + "parent_index": 6137 } } ] } }, { - "id": 6137, + "id": 6139, "node_type": 44, "src": { "line": 2855, @@ -117792,25 +119416,25 @@ "start": 105842, "end": 105891, "length": 50, - "parent_index": 6117 + "parent_index": 6119 }, "assignments": [ - 6138 + 6140 ], "declarations": [ { - "id": 6138, + "id": 6140, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 6117, + "scope": 6119, "src": { "line": 2855, "column": 12, "start": 105842, "end": 105856, "length": 15, - "parent_index": 6137 + "parent_index": 6139 }, "name_location": { "line": 2855, @@ -117818,12 +119442,12 @@ "start": 105850, "end": 105856, "length": 7, - "parent_index": 6138 + "parent_index": 6140 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6139, + "id": 6141, "node_type": 30, "src": { "line": 2855, @@ -117831,7 +119455,7 @@ "start": 105842, "end": 105848, "length": 7, - "parent_index": 6138 + "parent_index": 6140 }, "name": "uint256", "referenced_declaration": 0, @@ -117844,7 +119468,7 @@ } ], "initial_value": { - "id": 6140, + "id": 6142, "node_type": 24, "kind": 24, "src": { @@ -117853,7 +119477,7 @@ "start": 105860, "end": 105890, "length": 31, - "parent_index": 6137 + "parent_index": 6139 }, "argument_types": [ { @@ -117863,7 +119487,7 @@ ], "arguments": [ { - "id": 6143, + "id": 6145, "node_type": 24, "kind": 24, "src": { @@ -117872,17 +119496,17 @@ "start": 105877, "end": 105889, "length": 13, - "parent_index": 6140 + "parent_index": 6142 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } ], "arguments": [ { - "id": 6146, + "id": 6148, "node_type": 16, "src": { "line": 2855, @@ -117890,20 +119514,21 @@ "start": 105885, "end": 105888, "length": 4, - "parent_index": 6143 + "parent_index": 6145 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6144, + "id": 6146, "node_type": 16, "src": { "line": 2855, @@ -117911,11 +119536,11 @@ "start": 105877, "end": 105883, "length": 7, - "parent_index": 6143 + "parent_index": 6145 }, "name": "address", "type_name": { - "id": 6145, + "id": 6147, "node_type": 30, "src": { "line": 2855, @@ -117923,7 +119548,7 @@ "start": 105877, "end": 105883, "length": 7, - "parent_index": 6144 + "parent_index": 6146 }, "name": "address", "state_mutability": 4, @@ -117945,7 +119570,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -117954,7 +119580,7 @@ } ], "expression": { - "id": 6141, + "id": 6143, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -117966,7 +119592,7 @@ "start": 105860, "end": 105875, "length": 16, - "parent_index": 6140 + "parent_index": 6142 }, "member_location": { "line": 2855, @@ -117974,10 +119600,10 @@ "start": 105867, "end": 105875, "length": 9, - "parent_index": 6141 + "parent_index": 6143 }, "expression": { - "id": 6142, + "id": 6144, "node_type": 16, "src": { "line": 2855, @@ -117985,23 +119611,25 @@ "start": 105860, "end": 105865, "length": 6, - "parent_index": 6141 + "parent_index": 6143 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -118010,7 +119638,7 @@ } }, { - "id": 6147, + "id": 6149, "node_type": 48, "src": { "line": 2856, @@ -118018,10 +119646,10 @@ "start": 105905, "end": 105965, "length": 61, - "parent_index": 6117 + "parent_index": 6119 }, "condition": { - "id": 6148, + "id": 6150, "is_constant": false, "is_pure": false, "node_type": 19, @@ -118031,11 +119659,11 @@ "start": 105909, "end": 105925, "length": 17, - "parent_index": 6147 + "parent_index": 6149 }, "operator": 8, "left_expression": { - "id": 6149, + "id": 6151, "node_type": 16, "src": { "line": 2856, @@ -118043,7 +119671,7 @@ "start": 105909, "end": 105915, "length": 7, - "parent_index": 6148 + "parent_index": 6150 }, "name": "balance", "type_description": { @@ -118051,11 +119679,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6137, - "is_pure": false + "referenced_declaration": 6139, + "is_pure": false, + "text": "balance" }, "right_expression": { - "id": 6150, + "id": 6152, "node_type": 16, "src": { "line": 2856, @@ -118063,7 +119692,7 @@ "start": 105920, "end": 105925, "length": 6, - "parent_index": 6148 + "parent_index": 6150 }, "name": "amount", "type_description": { @@ -118072,7 +119701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -118080,7 +119710,7 @@ } }, "body": { - "id": 6151, + "id": 6153, "node_type": 46, "kind": 0, "src": { @@ -118089,12 +119719,12 @@ "start": 105928, "end": 105965, "length": 38, - "parent_index": 6104 + "parent_index": 6106 }, "implemented": true, "statements": [ { - "id": 6152, + "id": 6154, "node_type": 74, "src": { "line": 2857, @@ -118102,14 +119732,14 @@ "start": 105946, "end": 105951, "length": 6, - "parent_index": 6151 + "parent_index": 6153 } } ] } }, { - "id": 6153, + "id": 6155, "node_type": 44, "src": { "line": 2860, @@ -118117,25 +119747,25 @@ "start": 105980, "end": 106019, "length": 40, - "parent_index": 6117 + "parent_index": 6119 }, "assignments": [ - 6154 + 6156 ], "declarations": [ { - "id": 6154, + "id": 6156, "state_mutability": 1, "name": "amountNeeded", "node_type": 44, - "scope": 6117, + "scope": 6119, "src": { "line": 2860, "column": 12, "start": 105980, "end": 105999, "length": 20, - "parent_index": 6153 + "parent_index": 6155 }, "name_location": { "line": 2860, @@ -118143,12 +119773,12 @@ "start": 105988, "end": 105999, "length": 12, - "parent_index": 6154 + "parent_index": 6156 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6155, + "id": 6157, "node_type": 30, "src": { "line": 2860, @@ -118156,7 +119786,7 @@ "start": 105980, "end": 105986, "length": 7, - "parent_index": 6154 + "parent_index": 6156 }, "name": "uint256", "referenced_declaration": 0, @@ -118169,7 +119799,7 @@ } ], "initial_value": { - "id": 6156, + "id": 6158, "is_constant": false, "is_pure": false, "node_type": 19, @@ -118179,11 +119809,11 @@ "start": 106003, "end": 106018, "length": 16, - "parent_index": 6153 + "parent_index": 6155 }, "operator": 2, "left_expression": { - "id": 6157, + "id": 6159, "node_type": 16, "src": { "line": 2860, @@ -118191,7 +119821,7 @@ "start": 106003, "end": 106008, "length": 6, - "parent_index": 6156 + "parent_index": 6158 }, "name": "amount", "type_description": { @@ -118200,10 +119830,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { - "id": 6158, + "id": 6160, "node_type": 16, "src": { "line": 2860, @@ -118211,7 +119842,7 @@ "start": 106012, "end": 106018, "length": 7, - "parent_index": 6156 + "parent_index": 6158 }, "name": "balance", "type_description": { @@ -118219,8 +119850,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6137, - "is_pure": false + "referenced_declaration": 6139, + "is_pure": false, + "text": "balance" }, "type_description": { "type_identifier": "t_uint256", @@ -118229,7 +119861,7 @@ } }, { - "id": 6159, + "id": 6161, "node_type": 27, "src": { "line": 2861, @@ -118237,10 +119869,10 @@ "start": 106033, "end": 106100, "length": 68, - "parent_index": 6117 + "parent_index": 6119 }, "expression": { - "id": 6160, + "id": 6162, "node_type": 27, "src": { "line": 2861, @@ -118248,11 +119880,11 @@ "start": 106033, "end": 106099, "length": 67, - "parent_index": 6159 + "parent_index": 6161 }, "operator": 11, "left_expression": { - "id": 6161, + "id": 6163, "node_type": 16, "src": { "line": 2861, @@ -118260,7 +119892,7 @@ "start": 106033, "end": 106044, "length": 12, - "parent_index": 6160 + "parent_index": 6162 }, "name": "amountNeeded", "type_description": { @@ -118268,11 +119900,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6153, - "is_pure": false + "referenced_declaration": 6155, + "is_pure": false, + "text": "amountNeeded" }, "right_expression": { - "id": 6162, + "id": 6164, "node_type": 24, "kind": 24, "src": { @@ -118281,7 +119914,7 @@ "start": 106048, "end": 106099, "length": 52, - "parent_index": 6160 + "parent_index": 6162 }, "argument_types": [ { @@ -118289,13 +119922,13 @@ "type_string": "uint256" }, { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } ], "arguments": [ { - "id": 6165, + "id": 6167, "node_type": 16, "src": { "line": 2861, @@ -118303,7 +119936,7 @@ "start": 106057, "end": 106068, "length": 12, - "parent_index": 6162 + "parent_index": 6164 }, "name": "amountNeeded", "type_description": { @@ -118311,11 +119944,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6153, - "is_pure": false + "referenced_declaration": 6155, + "is_pure": false, + "text": "amountNeeded" }, { - "id": 6166, + "id": 6168, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -118327,7 +119961,7 @@ "start": 106071, "end": 106098, "length": 28, - "parent_index": 6162 + "parent_index": 6164 }, "member_location": { "line": 2861, @@ -118335,10 +119969,10 @@ "start": 106092, "end": 106098, "length": 7, - "parent_index": 6166 + "parent_index": 6168 }, "expression": { - "id": 6167, + "id": 6169, "node_type": 22, "src": { "line": 2861, @@ -118346,10 +119980,10 @@ "start": 106071, "end": 106090, "length": 20, - "parent_index": 6166 + "parent_index": 6168 }, "index_expression": { - "id": 6168, + "id": 6170, "node_type": 16, "src": { "line": 2861, @@ -118357,19 +119991,20 @@ "start": 106071, "end": 106080, "length": 10, - "parent_index": 6167 + "parent_index": 6169 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 6169, + "id": 6171, "node_type": 16, "src": { "line": 2861, @@ -118377,7 +120012,7 @@ "start": 106082, "end": 106089, "length": 8, - "parent_index": 6167 + "parent_index": 6169 }, "name": "strategy", "type_description": { @@ -118385,12 +120020,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6118, - "is_pure": false + "referenced_declaration": 6120, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -118399,7 +120035,7 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, @@ -118411,13 +120047,14 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].balance" } ], "expression": { - "id": 6163, + "id": 6165, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -118429,7 +120066,7 @@ "start": 106048, "end": 106055, "length": 8, - "parent_index": 6162 + "parent_index": 6164 }, "member_location": { "line": 2861, @@ -118437,10 +120074,10 @@ "start": 106053, "end": 106055, "length": 3, - "parent_index": 6163 + "parent_index": 6165 }, "expression": { - "id": 6164, + "id": 6166, "node_type": 16, "src": { "line": 2861, @@ -118448,7 +120085,7 @@ "start": 106048, "end": 106051, "length": 4, - "parent_index": 6163 + "parent_index": 6165 }, "name": "Math", "type_description": { @@ -118457,17 +120094,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "Math" }, "member_name": "min", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Math_$896", "type_string": "contract Math" - } + }, + "text": "Math.min" }, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_function_$_t_uint256$_t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "function(uint256,index[mapping(Strategy=\u003eStrategyInfo):function()])" } }, @@ -118479,10 +120118,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountNeeded=Math.min(amountNeeded,strategies[strategy].balance);" }, { - "id": 6170, + "id": 6172, "node_type": 44, "src": { "line": 2864, @@ -118490,25 +120130,25 @@ "start": 106168, "end": 106233, "length": 66, - "parent_index": 6117 + "parent_index": 6119 }, "assignments": [ - 6171 + 6173 ], "declarations": [ { - "id": 6171, + "id": 6173, "state_mutability": 1, "name": "withdrawn", "node_type": 44, - "scope": 6117, + "scope": 6119, "src": { "line": 2864, "column": 12, "start": 106168, "end": 106184, "length": 17, - "parent_index": 6170 + "parent_index": 6172 }, "name_location": { "line": 2864, @@ -118516,12 +120156,12 @@ "start": 106176, "end": 106184, "length": 9, - "parent_index": 6171 + "parent_index": 6173 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6172, + "id": 6174, "node_type": 30, "src": { "line": 2864, @@ -118529,7 +120169,7 @@ "start": 106168, "end": 106174, "length": 7, - "parent_index": 6171 + "parent_index": 6173 }, "name": "uint256", "referenced_declaration": 0, @@ -118542,7 +120182,7 @@ } ], "initial_value": { - "id": 6173, + "id": 6175, "node_type": 24, "kind": 24, "src": { @@ -118551,7 +120191,7 @@ "start": 106188, "end": 106232, "length": 45, - "parent_index": 6170 + "parent_index": 6172 }, "argument_types": [ { @@ -118565,7 +120205,7 @@ ], "arguments": [ { - "id": 6175, + "id": 6177, "node_type": 16, "src": { "line": 2864, @@ -118573,7 +120213,7 @@ "start": 106210, "end": 106217, "length": 8, - "parent_index": 6173 + "parent_index": 6175 }, "name": "strategy", "type_description": { @@ -118581,11 +120221,12 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6118, - "is_pure": false + "referenced_declaration": 6120, + "is_pure": false, + "text": "strategy" }, { - "id": 6176, + "id": 6178, "node_type": 16, "src": { "line": 2864, @@ -118593,7 +120234,7 @@ "start": 106220, "end": 106231, "length": 12, - "parent_index": 6173 + "parent_index": 6175 }, "name": "amountNeeded", "type_description": { @@ -118601,18 +120242,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6153, + "referenced_declaration": 6155, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountNeeded" } ], "expression": { - "id": 6174, + "id": 6176, "node_type": 16, "src": { "line": 2864, @@ -118620,7 +120262,7 @@ "start": 106188, "end": 106208, "length": 21, - "parent_index": 6173 + "parent_index": 6175 }, "name": "_withdrawFromStrategy", "type_description": { @@ -118629,7 +120271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawFromStrategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -118638,7 +120281,7 @@ } }, { - "id": 6177, + "id": 6179, "node_type": 27, "src": { "line": 2865, @@ -118646,10 +120289,10 @@ "start": 106247, "end": 106276, "length": 30, - "parent_index": 6117 + "parent_index": 6119 }, "expression": { - "id": 6178, + "id": 6180, "node_type": 27, "src": { "line": 2865, @@ -118657,11 +120300,11 @@ "start": 106247, "end": 106275, "length": 29, - "parent_index": 6177 + "parent_index": 6179 }, "operator": 13, "left_expression": { - "id": 6179, + "id": 6181, "node_type": 16, "src": { "line": 2865, @@ -118669,7 +120312,7 @@ "start": 106247, "end": 106262, "length": 16, - "parent_index": 6178 + "parent_index": 6180 }, "name": "amountLiquidated", "type_description": { @@ -118677,11 +120320,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6101, - "is_pure": false + "referenced_declaration": 6103, + "is_pure": false, + "text": "amountLiquidated" }, "right_expression": { - "id": 6180, + "id": 6182, "node_type": 16, "src": { "line": 2865, @@ -118689,7 +120333,7 @@ "start": 106267, "end": 106275, "length": 9, - "parent_index": 6178 + "parent_index": 6180 }, "name": "withdrawn", "type_description": { @@ -118697,8 +120341,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6170, - "is_pure": false + "referenced_declaration": 6172, + "is_pure": false, + "text": "withdrawn" }, "type_description": { "type_identifier": "t_uint256", @@ -118708,13 +120353,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountLiquidated+=withdrawn;" } ] } }, { - "id": 6181, + "id": 6183, "node_type": 64, "src": { "line": 2867, @@ -118722,11 +120368,11 @@ "start": 106296, "end": 106375, "length": 80, - "parent_index": 6093 + "parent_index": 6095 }, "arguments": [], "expression": { - "id": 6182, + "id": 6184, "node_type": 16, "src": { "line": 2867, @@ -118734,20 +120380,21 @@ "start": 106301, "end": 106311, "length": 11, - "parent_index": 6181 + "parent_index": 6183 }, "name": "Liquidation", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Liquidation_\u00266086", + "type_identifier": "t_event\u0026_BaseVault_Liquidation_\u00266088", "type_string": "event BaseVault.Liquidation" }, "overloaded_declarations": [], - "referenced_declaration": 6086, - "is_pure": false + "referenced_declaration": 6088, + "is_pure": false, + "text": "Liquidation" } }, { - "id": 6183, + "id": 6185, "node_type": 47, "src": { "line": 2868, @@ -118755,11 +120402,11 @@ "start": 106385, "end": 106408, "length": 24, - "parent_index": 6093 + "parent_index": 6095 }, - "function_return_parameters": 6093, + "function_return_parameters": 6095, "expression": { - "id": 6184, + "id": 6186, "node_type": 16, "src": { "line": 2868, @@ -118767,7 +120414,7 @@ "start": 106392, "end": 106407, "length": 16, - "parent_index": 6183 + "parent_index": 6185 }, "name": "amountLiquidated", "type_description": { @@ -118775,8 +120422,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6101, - "is_pure": false + "referenced_declaration": 6103, + "is_pure": false, + "text": "amountLiquidated" } } ] @@ -118788,7 +120436,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6094, + "id": 6096, "node_type": 43, "src": { "line": 2847, @@ -118796,11 +120444,11 @@ "start": 105539, "end": 105552, "length": 14, - "parent_index": 6093 + "parent_index": 6095 }, "parameters": [ { - "id": 6095, + "id": 6097, "node_type": 44, "src": { "line": 2847, @@ -118808,12 +120456,12 @@ "start": 105539, "end": 105552, "length": 14, - "parent_index": 6094 + "parent_index": 6096 }, - "scope": 6093, + "scope": 6095, "name": "amount", "type_name": { - "id": 6096, + "id": 6098, "node_type": 30, "src": { "line": 2847, @@ -118821,7 +120469,7 @@ "start": 105539, "end": 105545, "length": 7, - "parent_index": 6095 + "parent_index": 6097 }, "name": "uint256", "referenced_declaration": 0, @@ -118847,7 +120495,7 @@ ] }, "return_parameters": { - "id": 6097, + "id": 6099, "node_type": 43, "src": { "line": 2847, @@ -118855,11 +120503,11 @@ "start": 105573, "end": 105579, "length": 7, - "parent_index": 6093 + "parent_index": 6095 }, "parameters": [ { - "id": 6098, + "id": 6100, "node_type": 44, "src": { "line": 2847, @@ -118867,12 +120515,12 @@ "start": 105573, "end": 105579, "length": 7, - "parent_index": 6097 + "parent_index": 6099 }, - "scope": 6093, + "scope": 6095, "name": "", "type_name": { - "id": 6099, + "id": 6101, "node_type": 30, "src": { "line": 2847, @@ -118880,7 +120528,7 @@ "start": 105573, "end": 105579, "length": 7, - "parent_index": 6098 + "parent_index": 6100 }, "name": "uint256", "referenced_declaration": 0, @@ -118907,14 +120555,15 @@ }, "signature_raw": "_liquidate(uint256)", "signature": "267b1cb1", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_liquidate(uint256amount)internalreturns(uint256){uint256amountLiquidated;for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){Strategystrategy=withdrawalQueue[i];if(address(strategy)==address(0)){break;}uint256balance=_asset.balanceOf(address(this));if(balance\u003e=amount){break;}uint256amountNeeded=amount-balance;amountNeeded=Math.min(amountNeeded,strategies[strategy].balance);uint256withdrawn=_withdrawFromStrategy(strategy,amountNeeded);amountLiquidated+=withdrawn;}emitLiquidation({assetsRequested:amount,assetsLiquidated:amountLiquidated});returnamountLiquidated;}" }, { - "id": 6186, + "id": 6188, "name": "_assessFees", "node_type": 42, "kind": 41, @@ -118924,7 +120573,7 @@ "start": 106536, "end": 106577, "length": 42, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2875, @@ -118932,10 +120581,10 @@ "start": 106545, "end": 106555, "length": 11, - "parent_index": 6186 + "parent_index": 6188 }, "body": { - "id": 6189, + "id": 6191, "node_type": 46, "kind": 0, "src": { @@ -118944,7 +120593,7 @@ "start": 106576, "end": 106577, "length": 2, - "parent_index": 6186 + "parent_index": 6188 }, "implemented": true, "statements": [] @@ -118956,7 +120605,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6187, + "id": 6189, "node_type": 43, "src": { "line": 2875, @@ -118964,13 +120613,13 @@ "start": 106536, "end": 106577, "length": 42, - "parent_index": 6186 + "parent_index": 6188 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 6188, + "id": 6190, "node_type": 43, "src": { "line": 2875, @@ -118978,21 +120627,22 @@ "start": 106536, "end": 106577, "length": 42, - "parent_index": 6186 + "parent_index": 6188 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_assessFees()", "signature": "d2be0848", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_assessFees()internalvirtual{}" }, { - "id": 6191, + "id": 6193, "node_type": 57, "src": { "line": 2881, @@ -119000,10 +120650,10 @@ "start": 106744, "end": 106783, "length": 40, - "parent_index": 5193 + "parent_index": 5194 }, "parameters": { - "id": 6192, + "id": 6194, "node_type": 43, "src": { "line": 2881, @@ -119011,11 +120661,11 @@ "start": 106744, "end": 106783, "length": 40, - "parent_index": 6191 + "parent_index": 6193 }, "parameters": [ { - "id": 6193, + "id": 6195, "node_type": 44, "src": { "line": 2881, @@ -119023,12 +120673,12 @@ "start": 106760, "end": 106781, "length": 22, - "parent_index": 6192 + "parent_index": 6194 }, - "scope": 6191, + "scope": 6193, "name": "caller", "type_name": { - "id": 6194, + "id": 6196, "node_type": 30, "src": { "line": 2881, @@ -119036,7 +120686,7 @@ "start": 106760, "end": 106766, "length": 7, - "parent_index": 6193 + "parent_index": 6195 }, "name": "address", "state_mutability": 4, @@ -119066,12 +120716,12 @@ "name": "Rebalance", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Rebalance_\u00266191", + "type_identifier": "t_event\u0026_BaseVault_Rebalance_\u00266193", "type_string": "event BaseVault.Rebalance" } }, { - "id": 6196, + "id": 6198, "name": "rebalance", "node_type": 42, "kind": 41, @@ -119081,7 +120731,7 @@ "start": 106855, "end": 108739, "length": 1885, - "parent_index": 5193 + "parent_index": 5194 }, "name_location": { "line": 2884, @@ -119089,10 +120739,10 @@ "start": 106864, "end": 106872, "length": 9, - "parent_index": 6196 + "parent_index": 6198 }, "body": { - "id": 6202, + "id": 6204, "node_type": 46, "kind": 0, "src": { @@ -119101,12 +120751,12 @@ "start": 106905, "end": 108739, "length": 1835, - "parent_index": 6196 + "parent_index": 6198 }, "implemented": true, "statements": [ { - "id": 6203, + "id": 6205, "node_type": 44, "src": { "line": 2885, @@ -119114,25 +120764,25 @@ "start": 106915, "end": 106939, "length": 25, - "parent_index": 6202 + "parent_index": 6204 }, "assignments": [ - 6204 + 6206 ], "declarations": [ { - "id": 6204, + "id": 6206, "state_mutability": 1, "name": "tvl", "node_type": 44, - "scope": 6202, + "scope": 6204, "src": { "line": 2885, "column": 8, "start": 106915, "end": 106925, "length": 11, - "parent_index": 6203 + "parent_index": 6205 }, "name_location": { "line": 2885, @@ -119140,12 +120790,12 @@ "start": 106923, "end": 106925, "length": 3, - "parent_index": 6204 + "parent_index": 6206 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6205, + "id": 6207, "node_type": 30, "src": { "line": 2885, @@ -119153,7 +120803,7 @@ "start": 106915, "end": 106921, "length": 7, - "parent_index": 6204 + "parent_index": 6206 }, "name": "uint256", "referenced_declaration": 0, @@ -119166,7 +120816,7 @@ } ], "initial_value": { - "id": 6206, + "id": 6208, "node_type": 24, "kind": 24, "src": { @@ -119175,12 +120825,12 @@ "start": 106929, "end": 106938, "length": 10, - "parent_index": 6203 + "parent_index": 6205 }, "argument_types": [], "arguments": [], "expression": { - "id": 6207, + "id": 6209, "node_type": 16, "src": { "line": 2885, @@ -119188,7 +120838,7 @@ "start": 106929, "end": 106936, "length": 8, - "parent_index": 6206 + "parent_index": 6208 }, "name": "vaultTVL", "type_description": { @@ -119197,7 +120847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vaultTVL" }, "type_description": { "type_identifier": "t_function_$", @@ -119206,7 +120857,7 @@ } }, { - "id": 6208, + "id": 6210, "node_type": 44, "src": { "line": 2889, @@ -119214,25 +120865,25 @@ "start": 107082, "end": 107128, "length": 47, - "parent_index": 6202 + "parent_index": 6204 }, "assignments": [ - 6209 + 6211 ], "declarations": [ { - "id": 6209, + "id": 6211, "state_mutability": 1, "name": "amountsToInvest", "node_type": 44, - "scope": 6202, + "scope": 6204, "src": { "line": 2889, "column": 8, "start": 107082, "end": 107127, "length": 46, - "parent_index": 6208 + "parent_index": 6210 }, "name_location": { "line": 2889, @@ -119240,12 +120891,12 @@ "start": 107113, "end": 107127, "length": 15, - "parent_index": 6209 + "parent_index": 6211 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 6210, + "id": 6212, "node_type": 16, "src": { "line": 2889, @@ -119253,12 +120904,12 @@ "start": 107082, "end": 107088, "length": 7, - "parent_index": 6209 + "parent_index": 6211 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 6212, + "id": 6214, "node_type": 16, "src": { "line": 2889, @@ -119266,7 +120917,7 @@ "start": 107090, "end": 107103, "length": 14, - "parent_index": 6210 + "parent_index": 6212 }, "name": "MAX_STRATEGIES", "type_description": { @@ -119274,8 +120925,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -119287,7 +120939,7 @@ ] }, { - "id": 6213, + "id": 6215, "node_type": 79, "src": { "line": 2891, @@ -119295,10 +120947,10 @@ "start": 107139, "end": 107798, "length": 660, - "parent_index": 6202 + "parent_index": 6204 }, "initialiser": { - "id": 6214, + "id": 6216, "node_type": 44, "src": { "line": 2891, @@ -119306,25 +120958,25 @@ "start": 107144, "end": 107157, "length": 14, - "parent_index": 6202 + "parent_index": 6204 }, "assignments": [ - 6215 + 6217 ], "declarations": [ { - "id": 6215, + "id": 6217, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 6202, + "scope": 6204, "src": { "line": 2891, "column": 13, "start": 107144, "end": 107152, "length": 9, - "parent_index": 6214 + "parent_index": 6216 }, "name_location": { "line": 2891, @@ -119332,12 +120984,12 @@ "start": 107152, "end": 107152, "length": 1, - "parent_index": 6215 + "parent_index": 6217 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6216, + "id": 6218, "node_type": 30, "src": { "line": 2891, @@ -119345,7 +120997,7 @@ "start": 107144, "end": 107150, "length": 7, - "parent_index": 6215 + "parent_index": 6217 }, "name": "uint256", "referenced_declaration": 0, @@ -119358,7 +121010,7 @@ } ], "initial_value": { - "id": 6217, + "id": 6219, "node_type": 17, "kind": 49, "value": "0", @@ -119369,7 +121021,7 @@ "start": 107156, "end": 107156, "length": 1, - "parent_index": 6214 + "parent_index": 6216 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -119377,11 +121029,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 6218, + "id": 6220, "is_constant": false, "is_pure": false, "node_type": 19, @@ -119391,11 +121044,11 @@ "start": 107159, "end": 107176, "length": 18, - "parent_index": 6213 + "parent_index": 6215 }, "operator": 9, "left_expression": { - "id": 6219, + "id": 6221, "node_type": 16, "src": { "line": 2891, @@ -119403,7 +121056,7 @@ "start": 107159, "end": 107159, "length": 1, - "parent_index": 6218 + "parent_index": 6220 }, "name": "i", "type_description": { @@ -119412,10 +121065,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6220, + "id": 6222, "node_type": 16, "src": { "line": 2891, @@ -119423,7 +121077,7 @@ "start": 107163, "end": 107176, "length": 14, - "parent_index": 6218 + "parent_index": 6220 }, "name": "MAX_STRATEGIES", "type_description": { @@ -119431,8 +121085,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -119440,7 +121095,7 @@ } }, "closure": { - "id": 6221, + "id": 6223, "node_type": 27, "src": { "line": 2891, @@ -119448,11 +121103,11 @@ "start": 107179, "end": 107197, "length": 19, - "parent_index": 6213 + "parent_index": 6215 }, "operator": 11, "left_expression": { - "id": 6222, + "id": 6224, "node_type": 16, "src": { "line": 2891, @@ -119460,7 +121115,7 @@ "start": 107179, "end": 107179, "length": 1, - "parent_index": 6221 + "parent_index": 6223 }, "name": "i", "type_description": { @@ -119469,10 +121124,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6223, + "id": 6225, "node_type": 24, "kind": 24, "src": { @@ -119481,7 +121137,7 @@ "start": 107183, "end": 107197, "length": 15, - "parent_index": 6221 + "parent_index": 6223 }, "argument_types": [ { @@ -119491,7 +121147,7 @@ ], "arguments": [ { - "id": 6225, + "id": 6227, "node_type": 16, "src": { "line": 2891, @@ -119499,7 +121155,7 @@ "start": 107196, "end": 107196, "length": 1, - "parent_index": 6223 + "parent_index": 6225 }, "name": "i", "type_description": { @@ -119508,11 +121164,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 6224, + "id": 6226, "node_type": 16, "src": { "line": 2891, @@ -119520,7 +121177,7 @@ "start": 107183, "end": 107194, "length": 12, - "parent_index": 6223 + "parent_index": 6225 }, "name": "uncheckedInc", "type_description": { @@ -119529,7 +121186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -119542,7 +121200,7 @@ } }, "body": { - "id": 6226, + "id": 6228, "node_type": 46, "kind": 0, "src": { @@ -119551,12 +121209,12 @@ "start": 107200, "end": 107798, "length": 599, - "parent_index": 6213 + "parent_index": 6215 }, "implemented": true, "statements": [ { - "id": 6227, + "id": 6229, "node_type": 44, "src": { "line": 2892, @@ -119564,25 +121222,25 @@ "start": 107214, "end": 107252, "length": 39, - "parent_index": 6226 + "parent_index": 6228 }, "assignments": [ - 6228 + 6230 ], "declarations": [ { - "id": 6228, + "id": 6230, "state_mutability": 1, "name": "strategy", "node_type": 44, - "scope": 6226, + "scope": 6228, "src": { "line": 2892, "column": 12, "start": 107214, "end": 107230, "length": 17, - "parent_index": 6227 + "parent_index": 6229 }, "name_location": { "line": 2892, @@ -119590,12 +121248,12 @@ "start": 107223, "end": 107230, "length": 8, - "parent_index": 6228 + "parent_index": 6230 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6229, + "id": 6231, "node_type": 69, "src": { "line": 2892, @@ -119603,20 +121261,20 @@ "start": 107214, "end": 107221, "length": 8, - "parent_index": 6228 + "parent_index": 6230 }, "path_node": { - "id": 6230, + "id": 6232, "name": "Strategy", "node_type": 52, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "src": { "line": 2892, "column": 12, "start": 107214, "end": 107221, "length": 8, - "parent_index": 6229 + "parent_index": 6231 }, "name_location": { "line": 2892, @@ -119624,10 +121282,10 @@ "start": 107214, "end": 107221, "length": 8, - "parent_index": 6229 + "parent_index": 6231 } }, - "referenced_declaration": 5605, + "referenced_declaration": 5607, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" @@ -119637,7 +121295,7 @@ } ], "initial_value": { - "id": 6231, + "id": 6233, "node_type": 22, "src": { "line": 2892, @@ -119645,10 +121303,10 @@ "start": 107234, "end": 107251, "length": 18, - "parent_index": 6227 + "parent_index": 6229 }, "index_expression": { - "id": 6232, + "id": 6234, "node_type": 16, "src": { "line": 2892, @@ -119656,7 +121314,7 @@ "start": 107234, "end": 107248, "length": 15, - "parent_index": 6231 + "parent_index": 6233 }, "name": "withdrawalQueue", "type_description": { @@ -119664,11 +121322,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 6233, + "id": 6235, "node_type": 16, "src": { "line": 2892, @@ -119676,7 +121335,7 @@ "start": 107250, "end": 107250, "length": 1, - "parent_index": 6231 + "parent_index": 6233 }, "name": "i", "type_description": { @@ -119685,7 +121344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -119704,7 +121364,7 @@ } }, { - "id": 6234, + "id": 6236, "node_type": 48, "src": { "line": 2893, @@ -119712,10 +121372,10 @@ "start": 107266, "end": 107340, "length": 75, - "parent_index": 6226 + "parent_index": 6228 }, "condition": { - "id": 6235, + "id": 6237, "is_constant": false, "is_pure": false, "node_type": 19, @@ -119725,11 +121385,11 @@ "start": 107270, "end": 107300, "length": 31, - "parent_index": 6234 + "parent_index": 6236 }, "operator": 11, "left_expression": { - "id": 6236, + "id": 6238, "node_type": 24, "kind": 24, "src": { @@ -119738,7 +121398,7 @@ "start": 107270, "end": 107286, "length": 17, - "parent_index": 6235 + "parent_index": 6237 }, "argument_types": [ { @@ -119748,7 +121408,7 @@ ], "arguments": [ { - "id": 6239, + "id": 6241, "node_type": 16, "src": { "line": 2893, @@ -119756,7 +121416,7 @@ "start": 107278, "end": 107285, "length": 8, - "parent_index": 6236 + "parent_index": 6238 }, "name": "strategy", "type_description": { @@ -119764,12 +121424,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6227, - "is_pure": false + "referenced_declaration": 6229, + "is_pure": false, + "text": "strategy" } ], "expression": { - "id": 6237, + "id": 6239, "node_type": 16, "src": { "line": 2893, @@ -119777,11 +121438,11 @@ "start": 107270, "end": 107276, "length": 7, - "parent_index": 6236 + "parent_index": 6238 }, "name": "address", "type_name": { - "id": 6238, + "id": 6240, "node_type": 30, "src": { "line": 2893, @@ -119789,7 +121450,7 @@ "start": 107270, "end": 107276, "length": 7, - "parent_index": 6237 + "parent_index": 6239 }, "name": "address", "state_mutability": 4, @@ -119811,7 +121472,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -119819,7 +121481,7 @@ } }, "right_expression": { - "id": 6240, + "id": 6242, "node_type": 24, "kind": 24, "src": { @@ -119828,7 +121490,7 @@ "start": 107291, "end": 107300, "length": 10, - "parent_index": 6235 + "parent_index": 6237 }, "argument_types": [ { @@ -119838,7 +121500,7 @@ ], "arguments": [ { - "id": 6243, + "id": 6245, "node_type": 17, "kind": 49, "value": "0", @@ -119849,7 +121511,7 @@ "start": 107299, "end": 107299, "length": 1, - "parent_index": 6240 + "parent_index": 6242 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -119857,11 +121519,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 6241, + "id": 6243, "node_type": 16, "src": { "line": 2893, @@ -119869,11 +121532,11 @@ "start": 107291, "end": 107297, "length": 7, - "parent_index": 6240 + "parent_index": 6242 }, "name": "address", "type_name": { - "id": 6242, + "id": 6244, "node_type": 30, "src": { "line": 2893, @@ -119881,7 +121544,7 @@ "start": 107291, "end": 107297, "length": 7, - "parent_index": 6241 + "parent_index": 6243 }, "name": "address", "state_mutability": 4, @@ -119903,7 +121566,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -119916,7 +121580,7 @@ } }, "body": { - "id": 6244, + "id": 6246, "node_type": 46, "kind": 0, "src": { @@ -119925,12 +121589,12 @@ "start": 107303, "end": 107340, "length": 38, - "parent_index": 6213 + "parent_index": 6215 }, "implemented": true, "statements": [ { - "id": 6245, + "id": 6247, "node_type": 74, "src": { "line": 2894, @@ -119938,14 +121602,14 @@ "start": 107321, "end": 107326, "length": 6, - "parent_index": 6244 + "parent_index": 6246 } } ] } }, { - "id": 6246, + "id": 6248, "node_type": 44, "src": { "line": 2897, @@ -119953,25 +121617,25 @@ "start": 107355, "end": 107427, "length": 73, - "parent_index": 6226 + "parent_index": 6228 }, "assignments": [ - 6247 + 6249 ], "declarations": [ { - "id": 6247, + "id": 6249, "state_mutability": 1, "name": "idealStrategyTVL", "node_type": 44, - "scope": 6226, + "scope": 6228, "src": { "line": 2897, "column": 12, "start": 107355, "end": 107378, "length": 24, - "parent_index": 6246 + "parent_index": 6248 }, "name_location": { "line": 2897, @@ -119979,12 +121643,12 @@ "start": 107363, "end": 107378, "length": 16, - "parent_index": 6247 + "parent_index": 6249 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6248, + "id": 6250, "node_type": 30, "src": { "line": 2897, @@ -119992,7 +121656,7 @@ "start": 107355, "end": 107361, "length": 7, - "parent_index": 6247 + "parent_index": 6249 }, "name": "uint256", "referenced_declaration": 0, @@ -120005,7 +121669,7 @@ } ], "initial_value": { - "id": 6249, + "id": 6251, "is_constant": false, "is_pure": false, "node_type": 19, @@ -120015,11 +121679,11 @@ "start": 107382, "end": 107426, "length": 45, - "parent_index": 6246 + "parent_index": 6248 }, "operator": 4, "left_expression": { - "id": 6250, + "id": 6252, "node_type": 60, "src": { "line": 2897, @@ -120027,13 +121691,13 @@ "start": 107382, "end": 107416, "length": 35, - "parent_index": 6249 + "parent_index": 6251 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 6251, + "id": 6253, "is_constant": false, "is_pure": false, "node_type": 19, @@ -120043,11 +121707,11 @@ "start": 107383, "end": 107415, "length": 33, - "parent_index": 6250 + "parent_index": 6252 }, "operator": 3, "left_expression": { - "id": 6252, + "id": 6254, "node_type": 16, "src": { "line": 2897, @@ -120055,7 +121719,7 @@ "start": 107383, "end": 107385, "length": 3, - "parent_index": 6251 + "parent_index": 6253 }, "name": "tvl", "type_description": { @@ -120064,10 +121728,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 527, - "is_pure": false + "is_pure": false, + "text": "tvl" }, "right_expression": { - "id": 6253, + "id": 6255, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -120079,7 +121744,7 @@ "start": 107389, "end": 107415, "length": 27, - "parent_index": 6246 + "parent_index": 6248 }, "member_location": { "line": 2897, @@ -120087,10 +121752,10 @@ "start": 107410, "end": 107415, "length": 6, - "parent_index": 6253 + "parent_index": 6255 }, "expression": { - "id": 6254, + "id": 6256, "node_type": 22, "src": { "line": 2897, @@ -120098,10 +121763,10 @@ "start": 107389, "end": 107408, "length": 20, - "parent_index": 6246 + "parent_index": 6248 }, "index_expression": { - "id": 6255, + "id": 6257, "node_type": 16, "src": { "line": 2897, @@ -120109,19 +121774,20 @@ "start": 107389, "end": 107398, "length": 10, - "parent_index": 6254 + "parent_index": 6256 }, "name": "strategies", "type_description": { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, "overloaded_declarations": [], - "referenced_declaration": 5401, - "is_pure": false + "referenced_declaration": 5402, + "is_pure": false, + "text": "strategies" }, "base_expression": { - "id": 6256, + "id": 6258, "node_type": 16, "src": { "line": 2897, @@ -120129,7 +121795,7 @@ "start": 107400, "end": 107407, "length": 8, - "parent_index": 6254 + "parent_index": 6256 }, "name": "strategy", "type_description": { @@ -120137,12 +121803,13 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6227, - "is_pure": false + "referenced_declaration": 6229, + "is_pure": false, + "text": "strategy" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "type_identifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "type_string": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -120151,16 +121818,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } }, "member_name": "tvlBps", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "type_identifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "type_string": "index[mapping(Strategy=\u003eStrategyInfo):function()]" - } + }, + "text": "strategies[strategy].tvlBps" }, "type_description": { "type_identifier": "t_uint256", @@ -120174,7 +121842,7 @@ } }, "right_expression": { - "id": 6257, + "id": 6259, "node_type": 16, "src": { "line": 2897, @@ -120182,7 +121850,7 @@ "start": 107420, "end": 107426, "length": 7, - "parent_index": 6249 + "parent_index": 6251 }, "name": "MAX_BPS", "type_description": { @@ -120190,8 +121858,9 @@ "type_string": "int_const 10_000" }, "overloaded_declarations": [], - "referenced_declaration": 5406, - "is_pure": false + "referenced_declaration": 5408, + "is_pure": false, + "text": "MAX_BPS" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -120200,7 +121869,7 @@ } }, { - "id": 6258, + "id": 6260, "node_type": 44, "src": { "line": 2898, @@ -120208,25 +121877,25 @@ "start": 107441, "end": 107494, "length": 54, - "parent_index": 6226 + "parent_index": 6228 }, "assignments": [ - 6259 + 6261 ], "declarations": [ { - "id": 6259, + "id": 6261, "state_mutability": 1, "name": "currStrategyTVL", "node_type": 44, - "scope": 6226, + "scope": 6228, "src": { "line": 2898, "column": 12, "start": 107441, "end": 107463, "length": 23, - "parent_index": 6258 + "parent_index": 6260 }, "name_location": { "line": 2898, @@ -120234,12 +121903,12 @@ "start": 107449, "end": 107463, "length": 15, - "parent_index": 6259 + "parent_index": 6261 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6260, + "id": 6262, "node_type": 30, "src": { "line": 2898, @@ -120247,7 +121916,7 @@ "start": 107441, "end": 107447, "length": 7, - "parent_index": 6259 + "parent_index": 6261 }, "name": "uint256", "referenced_declaration": 0, @@ -120260,7 +121929,7 @@ } ], "initial_value": { - "id": 6261, + "id": 6263, "node_type": 24, "kind": 24, "src": { @@ -120269,12 +121938,12 @@ "start": 107467, "end": 107493, "length": 27, - "parent_index": 6258 + "parent_index": 6260 }, "argument_types": [], "arguments": [], "expression": { - "id": 6262, + "id": 6264, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -120286,7 +121955,7 @@ "start": 107467, "end": 107491, "length": 25, - "parent_index": 6261 + "parent_index": 6263 }, "member_location": { "line": 2898, @@ -120294,10 +121963,10 @@ "start": 107476, "end": 107491, "length": 16, - "parent_index": 6262 + "parent_index": 6264 }, "expression": { - "id": 6263, + "id": 6265, "node_type": 16, "src": { "line": 2898, @@ -120305,7 +121974,7 @@ "start": 107467, "end": 107474, "length": 8, - "parent_index": 6262 + "parent_index": 6264 }, "name": "strategy", "type_description": { @@ -120313,15 +121982,17 @@ "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 6227, - "is_pure": false + "referenced_declaration": 6229, + "is_pure": false, + "text": "strategy" }, "member_name": "totalLockedValue", "argument_types": [], "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "strategy.totalLockedValue" }, "type_description": { "type_identifier": "t_function_$", @@ -120330,7 +122001,7 @@ } }, { - "id": 6264, + "id": 6266, "node_type": 48, "src": { "line": 2899, @@ -120338,10 +122009,10 @@ "start": 107508, "end": 107647, "length": 140, - "parent_index": 6226 + "parent_index": 6228 }, "condition": { - "id": 6265, + "id": 6267, "is_constant": false, "is_pure": false, "node_type": 19, @@ -120351,11 +122022,11 @@ "start": 107512, "end": 107545, "length": 34, - "parent_index": 6264 + "parent_index": 6266 }, "operator": 9, "left_expression": { - "id": 6266, + "id": 6268, "node_type": 16, "src": { "line": 2899, @@ -120363,7 +122034,7 @@ "start": 107512, "end": 107527, "length": 16, - "parent_index": 6265 + "parent_index": 6267 }, "name": "idealStrategyTVL", "type_description": { @@ -120371,11 +122042,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6246, - "is_pure": false + "referenced_declaration": 6248, + "is_pure": false, + "text": "idealStrategyTVL" }, "right_expression": { - "id": 6267, + "id": 6269, "node_type": 16, "src": { "line": 2899, @@ -120383,7 +122055,7 @@ "start": 107531, "end": 107545, "length": 15, - "parent_index": 6265 + "parent_index": 6267 }, "name": "currStrategyTVL", "type_description": { @@ -120391,8 +122063,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6258, - "is_pure": false + "referenced_declaration": 6260, + "is_pure": false, + "text": "currStrategyTVL" }, "type_description": { "type_identifier": "t_bool", @@ -120400,7 +122073,7 @@ } }, "body": { - "id": 6268, + "id": 6270, "node_type": 46, "kind": 0, "src": { @@ -120409,12 +122082,12 @@ "start": 107548, "end": 107647, "length": 100, - "parent_index": 6213 + "parent_index": 6215 }, "implemented": true, "statements": [ { - "id": 6269, + "id": 6271, "node_type": 24, "kind": 24, "src": { @@ -120423,7 +122096,7 @@ "start": 107566, "end": 107632, "length": 67, - "parent_index": 6268 + "parent_index": 6270 }, "argument_types": [ { @@ -120437,7 +122110,7 @@ ], "arguments": [ { - "id": 6271, + "id": 6273, "node_type": 16, "src": { "line": 2900, @@ -120445,7 +122118,7 @@ "start": 107588, "end": 107595, "length": 8, - "parent_index": 6269 + "parent_index": 6271 }, "name": "strategy", "type_description": { @@ -120454,10 +122127,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "strategy" }, { - "id": 6272, + "id": 6274, "is_constant": false, "is_pure": false, "node_type": 19, @@ -120467,11 +122141,11 @@ "start": 107598, "end": 107631, "length": 34, - "parent_index": 6269 + "parent_index": 6271 }, "operator": 2, "left_expression": { - "id": 6273, + "id": 6275, "node_type": 16, "src": { "line": 2900, @@ -120479,7 +122153,7 @@ "start": 107598, "end": 107612, "length": 15, - "parent_index": 6272 + "parent_index": 6274 }, "name": "currStrategyTVL", "type_description": { @@ -120487,11 +122161,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6258, - "is_pure": false + "referenced_declaration": 6260, + "is_pure": false, + "text": "currStrategyTVL" }, "right_expression": { - "id": 6274, + "id": 6276, "node_type": 16, "src": { "line": 2900, @@ -120499,7 +122174,7 @@ "start": 107616, "end": 107631, "length": 16, - "parent_index": 6272 + "parent_index": 6274 }, "name": "idealStrategyTVL", "type_description": { @@ -120507,8 +122182,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6246, - "is_pure": false + "referenced_declaration": 6248, + "is_pure": false, + "text": "idealStrategyTVL" }, "type_description": { "type_identifier": "t_uint256", @@ -120517,7 +122193,7 @@ } ], "expression": { - "id": 6270, + "id": 6272, "node_type": 16, "src": { "line": 2900, @@ -120525,7 +122201,7 @@ "start": 107566, "end": 107586, "length": 21, - "parent_index": 6269 + "parent_index": 6271 }, "name": "_withdrawFromStrategy", "type_description": { @@ -120534,7 +122210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawFromStrategy" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -120545,7 +122222,7 @@ } }, { - "id": 6275, + "id": 6277, "node_type": 48, "src": { "line": 2902, @@ -120553,10 +122230,10 @@ "start": 107661, "end": 107788, "length": 128, - "parent_index": 6226 + "parent_index": 6228 }, "condition": { - "id": 6276, + "id": 6278, "is_constant": false, "is_pure": false, "node_type": 19, @@ -120566,11 +122243,11 @@ "start": 107665, "end": 107698, "length": 34, - "parent_index": 6275 + "parent_index": 6277 }, "operator": 7, "left_expression": { - "id": 6277, + "id": 6279, "node_type": 16, "src": { "line": 2902, @@ -120578,7 +122255,7 @@ "start": 107665, "end": 107680, "length": 16, - "parent_index": 6276 + "parent_index": 6278 }, "name": "idealStrategyTVL", "type_description": { @@ -120586,11 +122263,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6246, - "is_pure": false + "referenced_declaration": 6248, + "is_pure": false, + "text": "idealStrategyTVL" }, "right_expression": { - "id": 6278, + "id": 6280, "node_type": 16, "src": { "line": 2902, @@ -120598,7 +122276,7 @@ "start": 107684, "end": 107698, "length": 15, - "parent_index": 6276 + "parent_index": 6278 }, "name": "currStrategyTVL", "type_description": { @@ -120606,8 +122284,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6258, - "is_pure": false + "referenced_declaration": 6260, + "is_pure": false, + "text": "currStrategyTVL" }, "type_description": { "type_identifier": "t_bool", @@ -120615,7 +122294,7 @@ } }, "body": { - "id": 6279, + "id": 6281, "node_type": 46, "kind": 0, "src": { @@ -120624,12 +122303,12 @@ "start": 107701, "end": 107788, "length": 88, - "parent_index": 6213 + "parent_index": 6215 }, "implemented": true, "statements": [ { - "id": 6280, + "id": 6282, "node_type": 27, "src": { "line": 2903, @@ -120637,10 +122316,10 @@ "start": 107719, "end": 107774, "length": 56, - "parent_index": 6279 + "parent_index": 6281 }, "expression": { - "id": 6281, + "id": 6283, "node_type": 27, "src": { "line": 2903, @@ -120648,11 +122327,11 @@ "start": 107719, "end": 107773, "length": 55, - "parent_index": 6280 + "parent_index": 6282 }, "operator": 11, "left_expression": { - "id": 6282, + "id": 6284, "node_type": 22, "src": { "line": 2903, @@ -120660,10 +122339,10 @@ "start": 107719, "end": 107736, "length": 18, - "parent_index": 6281 + "parent_index": 6283 }, "index_expression": { - "id": 6283, + "id": 6285, "node_type": 16, "src": { "line": 2903, @@ -120671,7 +122350,7 @@ "start": 107719, "end": 107733, "length": 15, - "parent_index": 6282 + "parent_index": 6284 }, "name": "amountsToInvest", "type_description": { @@ -120679,11 +122358,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 6208, - "is_pure": false + "referenced_declaration": 6210, + "is_pure": false, + "text": "amountsToInvest" }, "base_expression": { - "id": 6284, + "id": 6286, "node_type": 16, "src": { "line": 2903, @@ -120691,7 +122371,7 @@ "start": 107735, "end": 107735, "length": 1, - "parent_index": 6282 + "parent_index": 6284 }, "name": "i", "type_description": { @@ -120700,7 +122380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -120718,7 +122399,7 @@ } }, "right_expression": { - "id": 6285, + "id": 6287, "is_constant": false, "is_pure": false, "node_type": 19, @@ -120728,11 +122409,11 @@ "start": 107740, "end": 107773, "length": 34, - "parent_index": 6281 + "parent_index": 6283 }, "operator": 2, "left_expression": { - "id": 6286, + "id": 6288, "node_type": 16, "src": { "line": 2903, @@ -120740,7 +122421,7 @@ "start": 107740, "end": 107755, "length": 16, - "parent_index": 6285 + "parent_index": 6287 }, "name": "idealStrategyTVL", "type_description": { @@ -120748,11 +122429,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6246, - "is_pure": false + "referenced_declaration": 6248, + "is_pure": false, + "text": "idealStrategyTVL" }, "right_expression": { - "id": 6287, + "id": 6289, "node_type": 16, "src": { "line": 2903, @@ -120760,7 +122442,7 @@ "start": 107759, "end": 107773, "length": 15, - "parent_index": 6285 + "parent_index": 6287 }, "name": "currStrategyTVL", "type_description": { @@ -120768,8 +122450,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6258, - "is_pure": false + "referenced_declaration": 6260, + "is_pure": false, + "text": "currStrategyTVL" }, "type_description": { "type_identifier": "t_uint256", @@ -120784,7 +122467,8 @@ "type_description": { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_uint256]$", "type_string": "index[int_const 20:uint256]" - } + }, + "text": "amountsToInvest[i]=idealStrategyTVL-currStrategyTVL;" } ] } @@ -120793,7 +122477,7 @@ } }, { - "id": 6288, + "id": 6290, "node_type": 79, "src": { "line": 2908, @@ -120801,10 +122485,10 @@ "start": 107881, "end": 108696, "length": 816, - "parent_index": 6202 + "parent_index": 6204 }, "initialiser": { - "id": 6289, + "id": 6291, "node_type": 44, "src": { "line": 2908, @@ -120812,25 +122496,25 @@ "start": 107886, "end": 107899, "length": 14, - "parent_index": 6202 + "parent_index": 6204 }, "assignments": [ - 6290 + 6292 ], "declarations": [ { - "id": 6290, + "id": 6292, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 6202, + "scope": 6204, "src": { "line": 2908, "column": 13, "start": 107886, "end": 107894, "length": 9, - "parent_index": 6289 + "parent_index": 6291 }, "name_location": { "line": 2908, @@ -120838,12 +122522,12 @@ "start": 107894, "end": 107894, "length": 1, - "parent_index": 6290 + "parent_index": 6292 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6291, + "id": 6293, "node_type": 30, "src": { "line": 2908, @@ -120851,7 +122535,7 @@ "start": 107886, "end": 107892, "length": 7, - "parent_index": 6290 + "parent_index": 6292 }, "name": "uint256", "referenced_declaration": 0, @@ -120864,7 +122548,7 @@ } ], "initial_value": { - "id": 6292, + "id": 6294, "node_type": 17, "kind": 49, "value": "0", @@ -120875,7 +122559,7 @@ "start": 107898, "end": 107898, "length": 1, - "parent_index": 6289 + "parent_index": 6291 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -120883,11 +122567,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 6293, + "id": 6295, "is_constant": false, "is_pure": false, "node_type": 19, @@ -120897,11 +122582,11 @@ "start": 107901, "end": 107918, "length": 18, - "parent_index": 6288 + "parent_index": 6290 }, "operator": 9, "left_expression": { - "id": 6294, + "id": 6296, "node_type": 16, "src": { "line": 2908, @@ -120909,7 +122594,7 @@ "start": 107901, "end": 107901, "length": 1, - "parent_index": 6293 + "parent_index": 6295 }, "name": "i", "type_description": { @@ -120918,10 +122603,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6295, + "id": 6297, "node_type": 16, "src": { "line": 2908, @@ -120929,7 +122615,7 @@ "start": 107905, "end": 107918, "length": 14, - "parent_index": 6293 + "parent_index": 6295 }, "name": "MAX_STRATEGIES", "type_description": { @@ -120937,8 +122623,9 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5329, - "is_pure": false + "referenced_declaration": 5330, + "is_pure": false, + "text": "MAX_STRATEGIES" }, "type_description": { "type_identifier": "t_bool", @@ -120946,7 +122633,7 @@ } }, "closure": { - "id": 6296, + "id": 6298, "node_type": 27, "src": { "line": 2908, @@ -120954,11 +122641,11 @@ "start": 107921, "end": 107939, "length": 19, - "parent_index": 6288 + "parent_index": 6290 }, "operator": 11, "left_expression": { - "id": 6297, + "id": 6299, "node_type": 16, "src": { "line": 2908, @@ -120966,7 +122653,7 @@ "start": 107921, "end": 107921, "length": 1, - "parent_index": 6296 + "parent_index": 6298 }, "name": "i", "type_description": { @@ -120975,10 +122662,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 6298, + "id": 6300, "node_type": 24, "kind": 24, "src": { @@ -120987,7 +122675,7 @@ "start": 107925, "end": 107939, "length": 15, - "parent_index": 6296 + "parent_index": 6298 }, "argument_types": [ { @@ -120997,7 +122685,7 @@ ], "arguments": [ { - "id": 6300, + "id": 6302, "node_type": 16, "src": { "line": 2908, @@ -121005,7 +122693,7 @@ "start": 107938, "end": 107938, "length": 1, - "parent_index": 6298 + "parent_index": 6300 }, "name": "i", "type_description": { @@ -121014,11 +122702,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 6299, + "id": 6301, "node_type": 16, "src": { "line": 2908, @@ -121026,7 +122715,7 @@ "start": 107925, "end": 107936, "length": 12, - "parent_index": 6298 + "parent_index": 6300 }, "name": "uncheckedInc", "type_description": { @@ -121035,7 +122724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uncheckedInc" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -121048,7 +122738,7 @@ } }, "body": { - "id": 6301, + "id": 6303, "node_type": 46, "kind": 0, "src": { @@ -121057,12 +122747,12 @@ "start": 107942, "end": 108696, "length": 755, - "parent_index": 6288 + "parent_index": 6290 }, "implemented": true, "statements": [ { - "id": 6302, + "id": 6304, "node_type": 44, "src": { "line": 2909, @@ -121070,25 +122760,25 @@ "start": 107956, "end": 107999, "length": 44, - "parent_index": 6301 + "parent_index": 6303 }, "assignments": [ - 6303 + 6305 ], "declarations": [ { - "id": 6303, + "id": 6305, "state_mutability": 1, "name": "amountToInvest", "node_type": 44, - "scope": 6301, + "scope": 6303, "src": { "line": 2909, "column": 12, "start": 107956, "end": 107977, "length": 22, - "parent_index": 6302 + "parent_index": 6304 }, "name_location": { "line": 2909, @@ -121096,12 +122786,12 @@ "start": 107964, "end": 107977, "length": 14, - "parent_index": 6303 + "parent_index": 6305 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6304, + "id": 6306, "node_type": 30, "src": { "line": 2909, @@ -121109,7 +122799,7 @@ "start": 107956, "end": 107962, "length": 7, - "parent_index": 6303 + "parent_index": 6305 }, "name": "uint256", "referenced_declaration": 0, @@ -121122,7 +122812,7 @@ } ], "initial_value": { - "id": 6305, + "id": 6307, "node_type": 22, "src": { "line": 2909, @@ -121130,10 +122820,10 @@ "start": 107981, "end": 107998, "length": 18, - "parent_index": 6302 + "parent_index": 6304 }, "index_expression": { - "id": 6306, + "id": 6308, "node_type": 16, "src": { "line": 2909, @@ -121141,7 +122831,7 @@ "start": 107981, "end": 107995, "length": 15, - "parent_index": 6305 + "parent_index": 6307 }, "name": "amountsToInvest", "type_description": { @@ -121149,11 +122839,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 6208, - "is_pure": false + "referenced_declaration": 6210, + "is_pure": false, + "text": "amountsToInvest" }, "base_expression": { - "id": 6307, + "id": 6309, "node_type": 16, "src": { "line": 2909, @@ -121161,7 +122852,7 @@ "start": 107997, "end": 107997, "length": 1, - "parent_index": 6305 + "parent_index": 6307 }, "name": "i", "type_description": { @@ -121170,7 +122861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -121189,7 +122881,7 @@ } }, { - "id": 6308, + "id": 6310, "node_type": 48, "src": { "line": 2910, @@ -121197,10 +122889,10 @@ "start": 108013, "end": 108078, "length": 66, - "parent_index": 6301 + "parent_index": 6303 }, "condition": { - "id": 6309, + "id": 6311, "is_constant": false, "is_pure": false, "node_type": 19, @@ -121210,11 +122902,11 @@ "start": 108017, "end": 108035, "length": 19, - "parent_index": 6308 + "parent_index": 6310 }, "operator": 11, "left_expression": { - "id": 6310, + "id": 6312, "node_type": 16, "src": { "line": 2910, @@ -121222,7 +122914,7 @@ "start": 108017, "end": 108030, "length": 14, - "parent_index": 6309 + "parent_index": 6311 }, "name": "amountToInvest", "type_description": { @@ -121230,11 +122922,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, - "is_pure": false + "referenced_declaration": 6304, + "is_pure": false, + "text": "amountToInvest" }, "right_expression": { - "id": 6311, + "id": 6313, "node_type": 17, "kind": 49, "value": "0", @@ -121245,7 +122938,7 @@ "start": 108035, "end": 108035, "length": 1, - "parent_index": 6309 + "parent_index": 6311 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -121253,7 +122946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -121261,7 +122955,7 @@ } }, "body": { - "id": 6312, + "id": 6314, "node_type": 46, "kind": 0, "src": { @@ -121270,12 +122964,12 @@ "start": 108038, "end": 108078, "length": 41, - "parent_index": 6288 + "parent_index": 6290 }, "implemented": true, "statements": [ { - "id": 6313, + "id": 6315, "node_type": 75, "src": { "line": 2911, @@ -121283,14 +122977,14 @@ "start": 108056, "end": 108064, "length": 9, - "parent_index": 6312 + "parent_index": 6314 } } ] } }, { - "id": 6314, + "id": 6316, "node_type": 27, "src": { "line": 2918, @@ -121298,10 +122992,10 @@ "start": 108375, "end": 108449, "length": 75, - "parent_index": 6301 + "parent_index": 6303 }, "expression": { - "id": 6315, + "id": 6317, "node_type": 27, "src": { "line": 2918, @@ -121309,11 +123003,11 @@ "start": 108375, "end": 108448, "length": 74, - "parent_index": 6314 + "parent_index": 6316 }, "operator": 11, "left_expression": { - "id": 6316, + "id": 6318, "node_type": 16, "src": { "line": 2918, @@ -121321,7 +123015,7 @@ "start": 108375, "end": 108388, "length": 14, - "parent_index": 6315 + "parent_index": 6317 }, "name": "amountToInvest", "type_description": { @@ -121329,11 +123023,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, - "is_pure": false + "referenced_declaration": 6304, + "is_pure": false, + "text": "amountToInvest" }, "right_expression": { - "id": 6317, + "id": 6319, "node_type": 24, "kind": 24, "src": { @@ -121342,7 +123037,7 @@ "start": 108392, "end": 108448, "length": 57, - "parent_index": 6315 + "parent_index": 6317 }, "argument_types": [ { @@ -121356,7 +123051,7 @@ ], "arguments": [ { - "id": 6320, + "id": 6322, "node_type": 16, "src": { "line": 2918, @@ -121364,7 +123059,7 @@ "start": 108401, "end": 108414, "length": 14, - "parent_index": 6317 + "parent_index": 6319 }, "name": "amountToInvest", "type_description": { @@ -121372,11 +123067,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, - "is_pure": false + "referenced_declaration": 6304, + "is_pure": false, + "text": "amountToInvest" }, { - "id": 6321, + "id": 6323, "node_type": 24, "kind": 24, "src": { @@ -121385,7 +123081,7 @@ "start": 108417, "end": 108447, "length": 31, - "parent_index": 6317 + "parent_index": 6319 }, "argument_types": [ { @@ -121395,7 +123091,7 @@ ], "arguments": [ { - "id": 6324, + "id": 6326, "node_type": 24, "kind": 24, "src": { @@ -121404,17 +123100,17 @@ "start": 108434, "end": 108446, "length": 13, - "parent_index": 6321 + "parent_index": 6323 }, "argument_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } ], "arguments": [ { - "id": 6327, + "id": 6329, "node_type": 16, "src": { "line": 2918, @@ -121422,20 +123118,21 @@ "start": 108442, "end": 108445, "length": 4, - "parent_index": 6324 + "parent_index": 6326 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6325, + "id": 6327, "node_type": 16, "src": { "line": 2918, @@ -121443,11 +123140,11 @@ "start": 108434, "end": 108440, "length": 7, - "parent_index": 6324 + "parent_index": 6326 }, "name": "address", "type_name": { - "id": 6326, + "id": 6328, "node_type": 30, "src": { "line": 2918, @@ -121455,7 +123152,7 @@ "start": 108434, "end": 108440, "length": 7, - "parent_index": 6325 + "parent_index": 6327 }, "name": "address", "state_mutability": 4, @@ -121477,7 +123174,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -121486,7 +123184,7 @@ } ], "expression": { - "id": 6322, + "id": 6324, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -121498,7 +123196,7 @@ "start": 108417, "end": 108432, "length": 16, - "parent_index": 6321 + "parent_index": 6323 }, "member_location": { "line": 2918, @@ -121506,10 +123204,10 @@ "start": 108424, "end": 108432, "length": 9, - "parent_index": 6322 + "parent_index": 6324 }, "expression": { - "id": 6323, + "id": 6325, "node_type": 16, "src": { "line": 2918, @@ -121517,23 +123215,25 @@ "start": 108417, "end": 108422, "length": 6, - "parent_index": 6322 + "parent_index": 6324 }, "name": "_asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5206, - "is_pure": false + "referenced_declaration": 5207, + "is_pure": false, + "text": "_asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "_asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -121542,7 +123242,7 @@ } ], "expression": { - "id": 6318, + "id": 6320, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -121554,7 +123254,7 @@ "start": 108392, "end": 108399, "length": 8, - "parent_index": 6317 + "parent_index": 6319 }, "member_location": { "line": 2918, @@ -121562,10 +123262,10 @@ "start": 108397, "end": 108399, "length": 3, - "parent_index": 6318 + "parent_index": 6320 }, "expression": { - "id": 6319, + "id": 6321, "node_type": 16, "src": { "line": 2918, @@ -121573,7 +123273,7 @@ "start": 108392, "end": 108395, "length": 4, - "parent_index": 6318 + "parent_index": 6320 }, "name": "Math", "type_description": { @@ -121582,14 +123282,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "Math" }, "member_name": "min", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Math_$896", "type_string": "contract Math" - } + }, + "text": "Math.min" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_function_$_t_function_$_t_address$", @@ -121604,10 +123306,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountToInvest=Math.min(amountToInvest,_asset.balanceOf(address(this)));" }, { - "id": 6328, + "id": 6330, "node_type": 48, "src": { "line": 2919, @@ -121615,10 +123318,10 @@ "start": 108463, "end": 108525, "length": 63, - "parent_index": 6301 + "parent_index": 6303 }, "condition": { - "id": 6329, + "id": 6331, "is_constant": false, "is_pure": false, "node_type": 19, @@ -121628,11 +123331,11 @@ "start": 108467, "end": 108485, "length": 19, - "parent_index": 6328 + "parent_index": 6330 }, "operator": 11, "left_expression": { - "id": 6330, + "id": 6332, "node_type": 16, "src": { "line": 2919, @@ -121640,7 +123343,7 @@ "start": 108467, "end": 108480, "length": 14, - "parent_index": 6329 + "parent_index": 6331 }, "name": "amountToInvest", "type_description": { @@ -121648,11 +123351,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, - "is_pure": false + "referenced_declaration": 6304, + "is_pure": false, + "text": "amountToInvest" }, "right_expression": { - "id": 6331, + "id": 6333, "node_type": 17, "kind": 49, "value": "0", @@ -121663,7 +123367,7 @@ "start": 108485, "end": 108485, "length": 1, - "parent_index": 6329 + "parent_index": 6331 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -121671,7 +123375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -121679,7 +123384,7 @@ } }, "body": { - "id": 6332, + "id": 6334, "node_type": 46, "kind": 0, "src": { @@ -121688,12 +123393,12 @@ "start": 108488, "end": 108525, "length": 38, - "parent_index": 6288 + "parent_index": 6290 }, "implemented": true, "statements": [ { - "id": 6333, + "id": 6335, "node_type": 74, "src": { "line": 2920, @@ -121701,14 +123406,14 @@ "start": 108506, "end": 108511, "length": 6, - "parent_index": 6332 + "parent_index": 6334 } } ] } }, { - "id": 6334, + "id": 6336, "node_type": 24, "kind": 24, "src": { @@ -121717,7 +123422,7 @@ "start": 108630, "end": 108685, "length": 56, - "parent_index": 6301 + "parent_index": 6303 }, "argument_types": [ { @@ -121731,7 +123436,7 @@ ], "arguments": [ { - "id": 6336, + "id": 6338, "node_type": 22, "src": { "line": 2923, @@ -121739,10 +123444,10 @@ "start": 108651, "end": 108668, "length": 18, - "parent_index": 6334 + "parent_index": 6336 }, "index_expression": { - "id": 6337, + "id": 6339, "node_type": 16, "src": { "line": 2923, @@ -121750,7 +123455,7 @@ "start": 108651, "end": 108665, "length": 15, - "parent_index": 6336 + "parent_index": 6338 }, "name": "withdrawalQueue", "type_description": { @@ -121758,11 +123463,12 @@ "type_string": "int_const 20" }, "overloaded_declarations": [], - "referenced_declaration": 5333, - "is_pure": false + "referenced_declaration": 5334, + "is_pure": false, + "text": "withdrawalQueue" }, "base_expression": { - "id": 6338, + "id": 6340, "node_type": 16, "src": { "line": 2923, @@ -121770,7 +123476,7 @@ "start": 108667, "end": 108667, "length": 1, - "parent_index": 6336 + "parent_index": 6338 }, "name": "i", "type_description": { @@ -121779,7 +123485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -121797,7 +123504,7 @@ } }, { - "id": 6339, + "id": 6341, "node_type": 16, "src": { "line": 2923, @@ -121805,7 +123512,7 @@ "start": 108671, "end": 108684, "length": 14, - "parent_index": 6334 + "parent_index": 6336 }, "name": "amountToInvest", "type_description": { @@ -121813,18 +123520,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6302, + "referenced_declaration": 6304, "is_pure": false, "argument_types": [ { "type_identifier": "t_[_[$_t_rational_20_by_1]$_t_uint256]$", "type_string": "index[int_const 20:uint256]" } - ] + ], + "text": "amountToInvest" } ], "expression": { - "id": 6335, + "id": 6337, "node_type": 16, "src": { "line": 2923, @@ -121832,7 +123540,7 @@ "start": 108630, "end": 108649, "length": 20, - "parent_index": 6334 + "parent_index": 6336 }, "name": "_depositIntoStrategy", "type_description": { @@ -121841,7 +123549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_depositIntoStrategy" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_rational_20_by_1]$_t_uint256]$_t_uint256$", @@ -121852,7 +123561,7 @@ } }, { - "id": 6340, + "id": 6342, "node_type": 64, "src": { "line": 2926, @@ -121860,11 +123569,11 @@ "start": 108707, "end": 108733, "length": 27, - "parent_index": 6196 + "parent_index": 6198 }, "arguments": [ { - "id": 6341, + "id": 6343, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -121876,7 +123585,7 @@ "start": 108722, "end": 108731, "length": 10, - "parent_index": 6340 + "parent_index": 6342 }, "member_location": { "line": 2926, @@ -121884,10 +123593,10 @@ "start": 108726, "end": 108731, "length": 6, - "parent_index": 6341 + "parent_index": 6343 }, "expression": { - "id": 6342, + "id": 6344, "node_type": 16, "src": { "line": 2926, @@ -121895,7 +123604,7 @@ "start": 108722, "end": 108724, "length": 3, - "parent_index": 6341 + "parent_index": 6343 }, "name": "msg", "type_description": { @@ -121904,18 +123613,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 6343, + "id": 6345, "node_type": 16, "src": { "line": 2926, @@ -121923,16 +123634,17 @@ "start": 108712, "end": 108720, "length": 9, - "parent_index": 6340 + "parent_index": 6342 }, "name": "Rebalance", "type_description": { - "type_identifier": "t_event\u0026_BaseVault_Rebalance_\u00266191", + "type_identifier": "t_event\u0026_BaseVault_Rebalance_\u00266193", "type_string": "event BaseVault.Rebalance" }, "overloaded_declarations": [], - "referenced_declaration": 6191, - "is_pure": false + "referenced_declaration": 6193, + "is_pure": false, + "text": "Rebalance" } } ] @@ -121943,7 +123655,7 @@ "virtual": false, "modifiers": [ { - "id": 6198, + "id": 6200, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -121953,7 +123665,7 @@ "start": 106885, "end": 106903, "length": 19, - "parent_index": 6196 + "parent_index": 6198 }, "argument_types": [ { @@ -121963,7 +123675,7 @@ ], "arguments": [ { - "id": 6200, + "id": 6202, "node_type": 16, "src": { "line": 2884, @@ -121971,7 +123683,7 @@ "start": 106894, "end": 106902, "length": 9, - "parent_index": 6198 + "parent_index": 6200 }, "name": "HARVESTER", "type_description": { @@ -121979,12 +123691,13 @@ "type_string": "function(string memory)" }, "overloaded_declarations": [], - "referenced_declaration": 5323, - "is_pure": false + "referenced_declaration": 5324, + "is_pure": false, + "text": "HARVESTER" } ], "modifier_name": { - "id": 6199, + "id": 6201, "name": "onlyRole", "node_type": 0, "src": { @@ -121993,14 +123706,14 @@ "start": 106885, "end": 106892, "length": 8, - "parent_index": 6198 + "parent_index": 6200 } } } ], "overrides": [], "parameters": { - "id": 6197, + "id": 6199, "node_type": 43, "src": { "line": 2884, @@ -122008,13 +123721,13 @@ "start": 106855, "end": 108739, "length": 1885, - "parent_index": 6196 + "parent_index": 6198 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 6201, + "id": 6203, "node_type": 43, "src": { "line": 2884, @@ -122022,26 +123735,26 @@ "start": 106855, "end": 108739, "length": 1885, - "parent_index": 6196 + "parent_index": 6198 }, "parameters": [], "parameter_types": [] }, "signature_raw": "rebalance()", "signature": "7d7c2a1c", - "scope": 5193, + "scope": 5194, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrebalance()externalonlyRole(HARVESTER){uint256tvl=vaultTVL();uint256[MAX_STRATEGIES]memoryamountsToInvest;for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){Strategystrategy=withdrawalQueue[i];if(address(strategy)==address(0)){break;}uint256idealStrategyTVL=(tvl*strategies[strategy].tvlBps)/MAX_BPS;uint256currStrategyTVL=strategy.totalLockedValue();if(idealStrategyTVL\u003ccurrStrategyTVL){_withdrawFromStrategy(strategy,currStrategyTVL-idealStrategyTVL);}if(idealStrategyTVL\u003ecurrStrategyTVL){amountsToInvest[i]=idealStrategyTVL-currStrategyTVL;}}for(uint256i=0;i\u003cMAX_STRATEGIES;i=uncheckedInc(i)){uint256amountToInvest=amountsToInvest[i];if(amountToInvest==0){continue;}amountToInvest=Math.min(amountToInvest,_asset.balanceOf(address(this)));if(amountToInvest==0){break;}_depositIntoStrategy(withdrawalQueue[i],amountToInvest);}emitRebalance(msg.sender);}" } ], "linearized_base_contracts": [ 2490, - 4831, - 3820, - 5193, - 5183, + 4832, + 3821, + 5194, 5184, 5185, 5186, @@ -122050,11 +123763,12 @@ 5189, 5190, 5191, - 5192 + 5192, + 5193 ], "base_contracts": [ { - "id": 5194, + "id": 5195, "node_type": 62, "src": { "line": 2384, @@ -122062,10 +123776,10 @@ "start": 86124, "end": 86147, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5195, + "id": 5196, "node_type": 52, "src": { "line": 2384, @@ -122073,14 +123787,14 @@ "start": 86124, "end": 86147, "length": 24, - "parent_index": 5193 + "parent_index": 5194 }, "name": "AccessControlUpgradeable", "referenced_declaration": 2490 } }, { - "id": 5196, + "id": 5197, "node_type": 62, "src": { "line": 2384, @@ -122088,10 +123802,10 @@ "start": 86150, "end": 86165, "length": 16, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5197, + "id": 5198, "node_type": 52, "src": { "line": 2384, @@ -122099,14 +123813,14 @@ "start": 86150, "end": 86165, "length": 16, - "parent_index": 5193 + "parent_index": 5194 }, "name": "AffineGovernable", - "referenced_declaration": 4831 + "referenced_declaration": 4832 } }, { - "id": 5198, + "id": 5199, "node_type": 62, "src": { "line": 2384, @@ -122114,10 +123828,10 @@ "start": 86168, "end": 86180, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, "base_name": { - "id": 5199, + "id": 5200, "node_type": 52, "src": { "line": 2384, @@ -122125,18 +123839,17 @@ "start": 86168, "end": 86180, "length": 13, - "parent_index": 5193 + "parent_index": 5194 }, "name": "Multicallable", - "referenced_declaration": 3820 + "referenced_declaration": 3821 } } ], "contract_dependencies": [ 2490, - 4831, - 3820, - 5183, + 4832, + 3821, 5184, 5185, 5186, @@ -122145,7 +123858,8 @@ 5189, 5190, 5191, - 5192 + 5192, + 5193 ] } ], @@ -122159,27 +123873,27 @@ } }, { - "id": 6344, + "id": 6346, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 6344, + "id": 6346, "name": "BridgeEscrow", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BridgeEscrow.sol" }, { - "id": 5126, + "id": 5127, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 5126, + "id": 5127, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 5126, + "id": 5127, "name": "BaseVault", "absolute_path": "BaseVault.sol" } @@ -122189,7 +123903,7 @@ "node_type": 1, "nodes": [ { - "id": 6368, + "id": 6370, "node_type": 10, "src": { "line": 2932, @@ -122197,7 +123911,7 @@ "start": 108781, "end": 108804, "length": 24, - "parent_index": 6344 + "parent_index": 6346 }, "literals": [ "pragma", @@ -122213,7 +123927,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 6412, + "id": 6414, "node_type": 29, "src": { "line": 2934, @@ -122221,18 +123935,18 @@ "start": 108807, "end": 108840, "length": 34, - "parent_index": 6344 + "parent_index": 6346 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 6344, + "scope": 6346, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 5126 + "source_unit": 5127 }, { - "id": 6413, + "id": 6415, "node_type": 29, "src": { "line": 2935, @@ -122240,18 +123954,18 @@ "start": 108842, "end": 108895, "length": 54, - "parent_index": 6344 + "parent_index": 6346 }, "absolute_path": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "scope": 6344, + "scope": 6346, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 5126 + "source_unit": 5127 }, { - "id": 6414, + "id": 6416, "node_type": 29, "src": { "line": 2937, @@ -122259,18 +123973,18 @@ "start": 108898, "end": 108939, "length": 42, - "parent_index": 6344 + "parent_index": 6346 }, "absolute_path": "BaseVault.sol", "file": "./BaseVault.sol", - "scope": 6344, + "scope": 6346, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 5126 + "source_unit": 5127 }, { - "id": 6415, + "id": 6417, "name": "BridgeEscrow", "node_type": 35, "src": { @@ -122279,7 +123993,7 @@ "start": 108942, "end": 110351, "length": 1410, - "parent_index": 6344 + "parent_index": 6346 }, "name_location": { "line": 2939, @@ -122287,14 +124001,14 @@ "start": 108960, "end": 108971, "length": 12, - "parent_index": 6415 + "parent_index": 6417 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 6417, + "id": 6419, "node_type": 51, "src": { "line": 2940, @@ -122302,14 +124016,14 @@ "start": 108979, "end": 109010, "length": 32, - "parent_index": 6415 + "parent_index": 6417 }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "type_name": { - "id": 6419, + "id": 6421, "node_type": 69, "src": { "line": 2940, @@ -122317,20 +124031,20 @@ "start": 109005, "end": 109009, "length": 5, - "parent_index": 6417 + "parent_index": 6419 }, "path_node": { - "id": 6420, + "id": 6422, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2940, "column": 30, "start": 109005, "end": 109009, "length": 5, - "parent_index": 6419 + "parent_index": 6421 }, "name_location": { "line": 2940, @@ -122338,17 +124052,17 @@ "start": 109005, "end": 109009, "length": 5, - "parent_index": 6419 + "parent_index": 6421 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "library_name": { - "id": 6418, + "id": 6420, "node_type": 52, "src": { "line": 2940, @@ -122356,14 +124070,14 @@ "start": 108985, "end": 108999, "length": 15, - "parent_index": 6417 + "parent_index": 6419 }, "name": "SafeTransferLib", - "referenced_declaration": 4499 + "referenced_declaration": 4500 } }, { - "id": 6422, + "id": 6424, "name": "asset", "is_constant": false, "is_state_variable": true, @@ -122374,18 +124088,18 @@ "start": 109050, "end": 109078, "length": 29, - "parent_index": 6415 + "parent_index": 6417 }, - "scope": 6415, + "scope": 6417, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 6423, + "id": 6425, "node_type": 69, "src": { "line": 2943, @@ -122393,20 +124107,20 @@ "start": 109050, "end": 109054, "length": 5, - "parent_index": 6422 + "parent_index": 6424 }, "path_node": { - "id": 6424, + "id": 6426, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2943, "column": 4, "start": 109050, "end": 109054, "length": 5, - "parent_index": 6423 + "parent_index": 6425 }, "name_location": { "line": 2943, @@ -122414,19 +124128,19 @@ "start": 109050, "end": 109054, "length": 5, - "parent_index": 6423 + "parent_index": 6425 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "initial_value": null }, { - "id": 6426, + "id": 6428, "name": "wormholeRouter", "is_constant": false, "is_state_variable": true, @@ -122437,9 +124151,9 @@ "start": 109130, "end": 109169, "length": 40, - "parent_index": 6415 + "parent_index": 6417 }, - "scope": 6415, + "scope": 6417, "type_description": { "type_identifier": "t_address", "type_string": "address" @@ -122448,7 +124162,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 6427, + "id": 6429, "node_type": 30, "src": { "line": 2945, @@ -122456,7 +124170,7 @@ "start": 109130, "end": 109136, "length": 7, - "parent_index": 6426 + "parent_index": 6428 }, "name": "address", "state_mutability": 4, @@ -122469,7 +124183,7 @@ "initial_value": null }, { - "id": 6429, + "id": 6431, "name": "governance", "is_constant": false, "is_state_variable": true, @@ -122480,9 +124194,9 @@ "start": 109231, "end": 109266, "length": 36, - "parent_index": 6415 + "parent_index": 6417 }, - "scope": 6415, + "scope": 6417, "type_description": { "type_identifier": "t_address", "type_string": "address" @@ -122491,7 +124205,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 6430, + "id": 6432, "node_type": 30, "src": { "line": 2947, @@ -122499,7 +124213,7 @@ "start": 109231, "end": 109237, "length": 7, - "parent_index": 6429 + "parent_index": 6431 }, "name": "address", "state_mutability": 4, @@ -122512,7 +124226,7 @@ "initial_value": null }, { - "id": 6432, + "id": 6434, "node_type": 57, "src": { "line": 2953, @@ -122520,10 +124234,10 @@ "start": 109423, "end": 109460, "length": 38, - "parent_index": 6415 + "parent_index": 6417 }, "parameters": { - "id": 6433, + "id": 6435, "node_type": 43, "src": { "line": 2953, @@ -122531,11 +124245,11 @@ "start": 109423, "end": 109460, "length": 38, - "parent_index": 6432 + "parent_index": 6434 }, "parameters": [ { - "id": 6434, + "id": 6436, "node_type": 44, "src": { "line": 2953, @@ -122543,12 +124257,12 @@ "start": 109445, "end": 109458, "length": 14, - "parent_index": 6433 + "parent_index": 6435 }, - "scope": 6432, + "scope": 6434, "name": "assets", "type_name": { - "id": 6435, + "id": 6437, "node_type": 30, "src": { "line": 2953, @@ -122556,7 +124270,7 @@ "start": 109445, "end": 109451, "length": 7, - "parent_index": 6434 + "parent_index": 6436 }, "name": "uint256", "referenced_declaration": 0, @@ -122584,12 +124298,12 @@ "name": "TransferToVault", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266432", + "type_identifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266434", "type_string": "event BridgeEscrow.TransferToVault" } }, { - "id": 6437, + "id": 6439, "node_type": 42, "src": { "line": 2955, @@ -122597,7 +124311,7 @@ "start": 109467, "end": 109634, "length": 168, - "parent_index": 6415 + "parent_index": 6417 }, "kind": 11, "state_mutability": 4, @@ -122605,7 +124319,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 6438, + "id": 6440, "node_type": 43, "src": { "line": 2955, @@ -122613,11 +124327,11 @@ "start": 109479, "end": 109494, "length": 16, - "parent_index": 6437 + "parent_index": 6439 }, "parameters": [ { - "id": 6439, + "id": 6441, "node_type": 44, "src": { "line": 2955, @@ -122625,12 +124339,12 @@ "start": 109479, "end": 109494, "length": 16, - "parent_index": 6438 + "parent_index": 6440 }, - "scope": 6437, + "scope": 6439, "name": "_vault", "type_name": { - "id": 6440, + "id": 6442, "node_type": 69, "src": { "line": 2955, @@ -122638,20 +124352,20 @@ "start": 109479, "end": 109487, "length": 9, - "parent_index": 6439 + "parent_index": 6441 }, "path_node": { - "id": 6441, + "id": 6443, "name": "BaseVault", "node_type": 52, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "src": { "line": 2955, "column": 16, "start": 109479, "end": 109487, "length": 9, - "parent_index": 6440 + "parent_index": 6442 }, "name_location": { "line": 2955, @@ -122659,12 +124373,12 @@ "start": 109479, "end": 109487, "length": 9, - "parent_index": 6440 + "parent_index": 6442 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, @@ -122672,20 +124386,20 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } } ], "parameter_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } ] }, "return_parameters": { - "id": 6442, + "id": 6444, "node_type": 43, "src": { "line": 2955, @@ -122693,14 +124407,14 @@ "start": 109467, "end": 109634, "length": 168, - "parent_index": 6437 + "parent_index": 6439 }, "parameters": [], "parameter_types": [] }, - "scope": 6415, + "scope": 6417, "body": { - "id": 6443, + "id": 6445, "node_type": 46, "kind": 0, "src": { @@ -122709,12 +124423,12 @@ "start": 109497, "end": 109634, "length": 138, - "parent_index": 6437 + "parent_index": 6439 }, "implemented": true, "statements": [ { - "id": 6444, + "id": 6446, "node_type": 27, "src": { "line": 2956, @@ -122722,10 +124436,10 @@ "start": 109507, "end": 109547, "length": 41, - "parent_index": 6443 + "parent_index": 6445 }, "expression": { - "id": 6445, + "id": 6447, "node_type": 27, "src": { "line": 2956, @@ -122733,11 +124447,11 @@ "start": 109507, "end": 109546, "length": 40, - "parent_index": 6444 + "parent_index": 6446 }, "operator": 11, "left_expression": { - "id": 6446, + "id": 6448, "node_type": 16, "src": { "line": 2956, @@ -122745,7 +124459,7 @@ "start": 109507, "end": 109520, "length": 14, - "parent_index": 6445 + "parent_index": 6447 }, "name": "wormholeRouter", "type_description": { @@ -122753,11 +124467,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5271, - "is_pure": false + "referenced_declaration": 5272, + "is_pure": false, + "text": "wormholeRouter" }, "right_expression": { - "id": 6447, + "id": 6449, "node_type": 24, "kind": 24, "src": { @@ -122766,12 +124481,12 @@ "start": 109524, "end": 109546, "length": 23, - "parent_index": 6445 + "parent_index": 6447 }, "argument_types": [], "arguments": [], "expression": { - "id": 6448, + "id": 6450, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -122783,7 +124498,7 @@ "start": 109524, "end": 109544, "length": 21, - "parent_index": 6447 + "parent_index": 6449 }, "member_location": { "line": 2956, @@ -122791,10 +124506,10 @@ "start": 109531, "end": 109544, "length": 14, - "parent_index": 6448 + "parent_index": 6450 }, "expression": { - "id": 6449, + "id": 6451, "node_type": 16, "src": { "line": 2956, @@ -122802,23 +124517,25 @@ "start": 109524, "end": 109529, "length": 6, - "parent_index": 6448 + "parent_index": 6450 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6449, - "is_pure": false + "referenced_declaration": 6451, + "is_pure": false, + "text": "_vault" }, "member_name": "wormholeRouter", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "_vault.wormholeRouter" }, "type_description": { "type_identifier": "t_function_$", @@ -122833,10 +124550,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "wormholeRouter=_vault.wormholeRouter();" }, { - "id": 6450, + "id": 6452, "node_type": 27, "src": { "line": 2957, @@ -122844,10 +124562,10 @@ "start": 109557, "end": 109586, "length": 30, - "parent_index": 6443 + "parent_index": 6445 }, "expression": { - "id": 6451, + "id": 6453, "node_type": 27, "src": { "line": 2957, @@ -122855,11 +124573,11 @@ "start": 109557, "end": 109585, "length": 29, - "parent_index": 6450 + "parent_index": 6452 }, "operator": 11, "left_expression": { - "id": 6452, + "id": 6454, "node_type": 16, "src": { "line": 2957, @@ -122867,19 +124585,20 @@ "start": 109557, "end": 109561, "length": 5, - "parent_index": 6451 + "parent_index": 6453 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "right_expression": { - "id": 6453, + "id": 6455, "node_type": 24, "kind": 24, "src": { @@ -122888,7 +124607,7 @@ "start": 109565, "end": 109585, "length": 21, - "parent_index": 6451 + "parent_index": 6453 }, "argument_types": [ { @@ -122898,7 +124617,7 @@ ], "arguments": [ { - "id": 6455, + "id": 6457, "node_type": 24, "kind": 24, "src": { @@ -122907,12 +124626,12 @@ "start": 109571, "end": 109584, "length": 14, - "parent_index": 6453 + "parent_index": 6455 }, "argument_types": [], "arguments": [], "expression": { - "id": 6456, + "id": 6458, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -122924,7 +124643,7 @@ "start": 109571, "end": 109582, "length": 12, - "parent_index": 6455 + "parent_index": 6457 }, "member_location": { "line": 2957, @@ -122932,10 +124651,10 @@ "start": 109578, "end": 109582, "length": 5, - "parent_index": 6456 + "parent_index": 6458 }, "expression": { - "id": 6457, + "id": 6459, "node_type": 16, "src": { "line": 2957, @@ -122943,23 +124662,25 @@ "start": 109571, "end": 109576, "length": 6, - "parent_index": 6456 + "parent_index": 6458 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6457, - "is_pure": false + "referenced_declaration": 6459, + "is_pure": false, + "text": "_vault" }, "member_name": "asset", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "_vault.asset" }, "type_description": { "type_identifier": "t_function_$", @@ -122968,7 +124689,7 @@ } ], "expression": { - "id": 6454, + "id": 6456, "node_type": 16, "src": { "line": 2957, @@ -122976,7 +124697,7 @@ "start": 109565, "end": 109569, "length": 5, - "parent_index": 6453 + "parent_index": 6455 }, "name": "ERC20", "type_description": { @@ -122985,7 +124706,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -122993,17 +124715,18 @@ } }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset=ERC20(_vault.asset());" }, { - "id": 6458, + "id": 6460, "node_type": 27, "src": { "line": 2958, @@ -123011,10 +124734,10 @@ "start": 109596, "end": 109628, "length": 33, - "parent_index": 6443 + "parent_index": 6445 }, "expression": { - "id": 6459, + "id": 6461, "node_type": 27, "src": { "line": 2958, @@ -123022,11 +124745,11 @@ "start": 109596, "end": 109627, "length": 32, - "parent_index": 6458 + "parent_index": 6460 }, "operator": 11, "left_expression": { - "id": 6460, + "id": 6462, "node_type": 16, "src": { "line": 2958, @@ -123034,7 +124757,7 @@ "start": 109596, "end": 109605, "length": 10, - "parent_index": 6459 + "parent_index": 6461 }, "name": "governance", "type_description": { @@ -123042,11 +124765,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "right_expression": { - "id": 6461, + "id": 6463, "node_type": 24, "kind": 24, "src": { @@ -123055,12 +124779,12 @@ "start": 109609, "end": 109627, "length": 19, - "parent_index": 6459 + "parent_index": 6461 }, "argument_types": [], "arguments": [], "expression": { - "id": 6462, + "id": 6464, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -123072,7 +124796,7 @@ "start": 109609, "end": 109625, "length": 17, - "parent_index": 6461 + "parent_index": 6463 }, "member_location": { "line": 2958, @@ -123080,10 +124804,10 @@ "start": 109616, "end": 109625, "length": 10, - "parent_index": 6462 + "parent_index": 6464 }, "expression": { - "id": 6463, + "id": 6465, "node_type": 16, "src": { "line": 2958, @@ -123091,23 +124815,25 @@ "start": 109609, "end": 109614, "length": 6, - "parent_index": 6462 + "parent_index": 6464 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6463, - "is_pure": false + "referenced_declaration": 6465, + "is_pure": false, + "text": "_vault" }, "member_name": "governance", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "_vault.governance" }, "type_description": { "type_identifier": "t_function_$", @@ -123122,13 +124848,14 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "governance=_vault.governance();" } ] } }, { - "id": 6465, + "id": 6467, "name": "clearFunds", "node_type": 42, "kind": 41, @@ -123138,7 +124865,7 @@ "start": 109834, "end": 110021, "length": 188, - "parent_index": 6415 + "parent_index": 6417 }, "name_location": { "line": 2966, @@ -123146,10 +124873,10 @@ "start": 109843, "end": 109852, "length": 10, - "parent_index": 6465 + "parent_index": 6467 }, "body": { - "id": 6472, + "id": 6474, "node_type": 46, "kind": 0, "src": { @@ -123158,12 +124885,12 @@ "start": 109905, "end": 110021, "length": 117, - "parent_index": 6465 + "parent_index": 6467 }, "implemented": true, "statements": [ { - "id": 6473, + "id": 6475, "node_type": 24, "kind": 24, "src": { @@ -123172,7 +124899,7 @@ "start": 109915, "end": 109979, "length": 65, - "parent_index": 6472 + "parent_index": 6474 }, "argument_types": [ { @@ -123186,7 +124913,7 @@ ], "arguments": [ { - "id": 6475, + "id": 6477, "is_constant": false, "is_pure": false, "node_type": 19, @@ -123196,11 +124923,11 @@ "start": 109923, "end": 109950, "length": 28, - "parent_index": 6473 + "parent_index": 6475 }, "operator": 11, "left_expression": { - "id": 6476, + "id": 6478, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -123212,7 +124939,7 @@ "start": 109923, "end": 109932, "length": 10, - "parent_index": 6475 + "parent_index": 6477 }, "member_location": { "line": 2967, @@ -123220,10 +124947,10 @@ "start": 109927, "end": 109932, "length": 6, - "parent_index": 6476 + "parent_index": 6478 }, "expression": { - "id": 6477, + "id": 6479, "node_type": 16, "src": { "line": 2967, @@ -123231,7 +124958,7 @@ "start": 109923, "end": 109925, "length": 3, - "parent_index": 6476 + "parent_index": 6478 }, "name": "msg", "type_description": { @@ -123240,17 +124967,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 6478, + "id": 6480, "node_type": 16, "src": { "line": 2967, @@ -123258,7 +124987,7 @@ "start": 109937, "end": 109950, "length": 14, - "parent_index": 6475 + "parent_index": 6477 }, "name": "wormholeRouter", "type_description": { @@ -123266,8 +124995,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 5271, - "is_pure": false + "referenced_declaration": 5272, + "is_pure": false, + "text": "wormholeRouter" }, "type_description": { "type_identifier": "t_bool", @@ -123275,7 +125005,7 @@ } }, { - "id": 6479, + "id": 6481, "node_type": 17, "kind": 50, "value": "BE: Only wormhole router", @@ -123286,7 +125016,7 @@ "start": 109953, "end": 109978, "length": 26, - "parent_index": 6473 + "parent_index": 6475 }, "type_description": { "type_identifier": "t_string_literal", @@ -123300,11 +125030,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BE: Only wormhole router\"" } ], "expression": { - "id": 6474, + "id": 6476, "node_type": 16, "src": { "line": 2967, @@ -123312,7 +125043,7 @@ "start": 109915, "end": 109921, "length": 7, - "parent_index": 6473 + "parent_index": 6475 }, "name": "require", "type_description": { @@ -123321,7 +125052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -123329,7 +125061,7 @@ } }, { - "id": 6480, + "id": 6482, "node_type": 24, "kind": 24, "src": { @@ -123338,7 +125070,7 @@ "start": 109990, "end": 110014, "length": 25, - "parent_index": 6472 + "parent_index": 6474 }, "argument_types": [ { @@ -123352,7 +125084,7 @@ ], "arguments": [ { - "id": 6482, + "id": 6484, "node_type": 16, "src": { "line": 2968, @@ -123360,7 +125092,7 @@ "start": 109997, "end": 110002, "length": 6, - "parent_index": 6480 + "parent_index": 6482 }, "name": "assets", "type_description": { @@ -123368,11 +125100,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6482, - "is_pure": false + "referenced_declaration": 6484, + "is_pure": false, + "text": "assets" }, { - "id": 6483, + "id": 6485, "node_type": 16, "src": { "line": 2968, @@ -123380,7 +125113,7 @@ "start": 110005, "end": 110013, "length": 9, - "parent_index": 6480 + "parent_index": 6482 }, "name": "exitProof", "type_description": { @@ -123388,18 +125121,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 6483, + "referenced_declaration": 6485, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "exitProof" } ], "expression": { - "id": 6481, + "id": 6483, "node_type": 16, "src": { "line": 2968, @@ -123407,7 +125141,7 @@ "start": 109990, "end": 109995, "length": 6, - "parent_index": 6480 + "parent_index": 6482 }, "name": "_clear", "type_description": { @@ -123416,7 +125150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_clear" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", @@ -123432,7 +125167,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6466, + "id": 6468, "node_type": 43, "src": { "line": 2966, @@ -123440,11 +125175,11 @@ "start": 109854, "end": 109893, "length": 40, - "parent_index": 6465 + "parent_index": 6467 }, "parameters": [ { - "id": 6467, + "id": 6469, "node_type": 44, "src": { "line": 2966, @@ -123452,12 +125187,12 @@ "start": 109854, "end": 109867, "length": 14, - "parent_index": 6466 + "parent_index": 6468 }, - "scope": 6465, + "scope": 6467, "name": "assets", "type_name": { - "id": 6468, + "id": 6470, "node_type": 30, "src": { "line": 2966, @@ -123465,7 +125200,7 @@ "start": 109854, "end": 109860, "length": 7, - "parent_index": 6467 + "parent_index": 6469 }, "name": "uint256", "referenced_declaration": 0, @@ -123483,7 +125218,7 @@ } }, { - "id": 6469, + "id": 6471, "node_type": 44, "src": { "line": 2966, @@ -123491,12 +125226,12 @@ "start": 109870, "end": 109893, "length": 24, - "parent_index": 6466 + "parent_index": 6468 }, - "scope": 6465, + "scope": 6467, "name": "exitProof", "type_name": { - "id": 6470, + "id": 6472, "node_type": 30, "src": { "line": 2966, @@ -123504,7 +125239,7 @@ "start": 109870, "end": 109874, "length": 5, - "parent_index": 6469 + "parent_index": 6471 }, "name": "bytes", "referenced_declaration": 0, @@ -123534,7 +125269,7 @@ ] }, "return_parameters": { - "id": 6471, + "id": 6473, "node_type": 43, "src": { "line": 2966, @@ -123542,21 +125277,22 @@ "start": 109834, "end": 110021, "length": 188, - "parent_index": 6465 + "parent_index": 6467 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "clearFunds(uint256, bytes)", - "signature": "9b80db2c", - "scope": 6415, + "signature_raw": "clearFunds(uint256,bytes)", + "signature": "f29874ac", + "scope": 6417, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", "type_string": "function(uint256,bytes)" - } + }, + "text": "functionclearFunds(uint256assets,bytescalldataexitProof)external{require(msg.sender==wormholeRouter,\"BE: Only wormhole router\");_clear(assets,exitProof);}" }, { - "id": 6485, + "id": 6487, "name": "rescueFunds", "node_type": 42, "kind": 41, @@ -123566,7 +125302,7 @@ "start": 110089, "end": 110268, "length": 180, - "parent_index": 6415 + "parent_index": 6417 }, "name_location": { "line": 2972, @@ -123574,10 +125310,10 @@ "start": 110098, "end": 110108, "length": 11, - "parent_index": 6485 + "parent_index": 6487 }, "body": { - "id": 6492, + "id": 6494, "node_type": 46, "kind": 0, "src": { @@ -123586,12 +125322,12 @@ "start": 110161, "end": 110268, "length": 108, - "parent_index": 6485 + "parent_index": 6487 }, "implemented": true, "statements": [ { - "id": 6493, + "id": 6495, "node_type": 24, "kind": 24, "src": { @@ -123600,7 +125336,7 @@ "start": 110171, "end": 110226, "length": 56, - "parent_index": 6492 + "parent_index": 6494 }, "argument_types": [ { @@ -123614,7 +125350,7 @@ ], "arguments": [ { - "id": 6495, + "id": 6497, "is_constant": false, "is_pure": false, "node_type": 19, @@ -123624,11 +125360,11 @@ "start": 110179, "end": 110202, "length": 24, - "parent_index": 6493 + "parent_index": 6495 }, "operator": 11, "left_expression": { - "id": 6496, + "id": 6498, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -123640,7 +125376,7 @@ "start": 110179, "end": 110188, "length": 10, - "parent_index": 6495 + "parent_index": 6497 }, "member_location": { "line": 2973, @@ -123648,10 +125384,10 @@ "start": 110183, "end": 110188, "length": 6, - "parent_index": 6496 + "parent_index": 6498 }, "expression": { - "id": 6497, + "id": 6499, "node_type": 16, "src": { "line": 2973, @@ -123659,7 +125395,7 @@ "start": 110179, "end": 110181, "length": 3, - "parent_index": 6496 + "parent_index": 6498 }, "name": "msg", "type_description": { @@ -123668,17 +125404,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 6498, + "id": 6500, "node_type": 16, "src": { "line": 2973, @@ -123686,7 +125424,7 @@ "start": 110193, "end": 110202, "length": 10, - "parent_index": 6495 + "parent_index": 6497 }, "name": "governance", "type_description": { @@ -123694,8 +125432,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "type_description": { "type_identifier": "t_bool", @@ -123703,7 +125442,7 @@ } }, { - "id": 6499, + "id": 6501, "node_type": 17, "kind": 50, "value": "BE: Only Governance", @@ -123714,7 +125453,7 @@ "start": 110205, "end": 110225, "length": 21, - "parent_index": 6493 + "parent_index": 6495 }, "type_description": { "type_identifier": "t_string_literal", @@ -123728,11 +125467,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BE: Only Governance\"" } ], "expression": { - "id": 6494, + "id": 6496, "node_type": 16, "src": { "line": 2973, @@ -123740,7 +125480,7 @@ "start": 110171, "end": 110177, "length": 7, - "parent_index": 6493 + "parent_index": 6495 }, "name": "require", "type_description": { @@ -123749,7 +125489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -123757,7 +125498,7 @@ } }, { - "id": 6500, + "id": 6502, "node_type": 24, "kind": 24, "src": { @@ -123766,7 +125507,7 @@ "start": 110237, "end": 110261, "length": 25, - "parent_index": 6492 + "parent_index": 6494 }, "argument_types": [ { @@ -123780,7 +125521,7 @@ ], "arguments": [ { - "id": 6502, + "id": 6504, "node_type": 16, "src": { "line": 2974, @@ -123788,7 +125529,7 @@ "start": 110244, "end": 110249, "length": 6, - "parent_index": 6500 + "parent_index": 6502 }, "name": "amount", "type_description": { @@ -123796,11 +125537,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6502, - "is_pure": false + "referenced_declaration": 6504, + "is_pure": false, + "text": "amount" }, { - "id": 6503, + "id": 6505, "node_type": 16, "src": { "line": 2974, @@ -123808,7 +125550,7 @@ "start": 110252, "end": 110260, "length": 9, - "parent_index": 6500 + "parent_index": 6502 }, "name": "exitProof", "type_description": { @@ -123816,18 +125558,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 6503, + "referenced_declaration": 6505, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "exitProof" } ], "expression": { - "id": 6501, + "id": 6503, "node_type": 16, "src": { "line": 2974, @@ -123835,7 +125578,7 @@ "start": 110237, "end": 110242, "length": 6, - "parent_index": 6500 + "parent_index": 6502 }, "name": "_clear", "type_description": { @@ -123844,7 +125587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_clear" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", @@ -123860,7 +125604,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6486, + "id": 6488, "node_type": 43, "src": { "line": 2972, @@ -123868,11 +125612,11 @@ "start": 110110, "end": 110149, "length": 40, - "parent_index": 6485 + "parent_index": 6487 }, "parameters": [ { - "id": 6487, + "id": 6489, "node_type": 44, "src": { "line": 2972, @@ -123880,12 +125624,12 @@ "start": 110110, "end": 110123, "length": 14, - "parent_index": 6486 + "parent_index": 6488 }, - "scope": 6485, + "scope": 6487, "name": "amount", "type_name": { - "id": 6488, + "id": 6490, "node_type": 30, "src": { "line": 2972, @@ -123893,7 +125637,7 @@ "start": 110110, "end": 110116, "length": 7, - "parent_index": 6487 + "parent_index": 6489 }, "name": "uint256", "referenced_declaration": 0, @@ -123911,7 +125655,7 @@ } }, { - "id": 6489, + "id": 6491, "node_type": 44, "src": { "line": 2972, @@ -123919,12 +125663,12 @@ "start": 110126, "end": 110149, "length": 24, - "parent_index": 6486 + "parent_index": 6488 }, - "scope": 6485, + "scope": 6487, "name": "exitProof", "type_name": { - "id": 6490, + "id": 6492, "node_type": 30, "src": { "line": 2972, @@ -123932,7 +125676,7 @@ "start": 110126, "end": 110130, "length": 5, - "parent_index": 6489 + "parent_index": 6491 }, "name": "bytes", "referenced_declaration": 0, @@ -123962,7 +125706,7 @@ ] }, "return_parameters": { - "id": 6491, + "id": 6493, "node_type": 43, "src": { "line": 2972, @@ -123970,21 +125714,22 @@ "start": 110089, "end": 110268, "length": 180, - "parent_index": 6485 + "parent_index": 6487 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "rescueFunds(uint256, bytes)", - "signature": "8a89a7ec", - "scope": 6415, + "signature_raw": "rescueFunds(uint256,bytes)", + "signature": "0f73cc4f", + "scope": 6417, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", "type_string": "function(uint256,bytes)" - } + }, + "text": "functionrescueFunds(uint256amount,bytescalldataexitProof)external{require(msg.sender==governance,\"BE: Only Governance\");_clear(amount,exitProof);}" }, { - "id": 6505, + "id": 6507, "name": "_clear", "node_type": 42, "kind": 41, @@ -123994,7 +125739,7 @@ "start": 110275, "end": 110349, "length": 75, - "parent_index": 6415 + "parent_index": 6417 }, "name_location": { "line": 2977, @@ -124002,10 +125747,10 @@ "start": 110284, "end": 110289, "length": 6, - "parent_index": 6505 + "parent_index": 6507 }, "body": { - "id": 6512, + "id": 6514, "node_type": 46, "kind": 0, "src": { @@ -124014,7 +125759,7 @@ "start": 110275, "end": 110349, "length": 75, - "parent_index": 6505 + "parent_index": 6507 }, "implemented": false, "statements": [] @@ -124026,7 +125771,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6506, + "id": 6508, "node_type": 43, "src": { "line": 2977, @@ -124034,11 +125779,11 @@ "start": 110291, "end": 110330, "length": 40, - "parent_index": 6505 + "parent_index": 6507 }, "parameters": [ { - "id": 6507, + "id": 6509, "node_type": 44, "src": { "line": 2977, @@ -124046,12 +125791,12 @@ "start": 110291, "end": 110304, "length": 14, - "parent_index": 6506 + "parent_index": 6508 }, - "scope": 6505, + "scope": 6507, "name": "assets", "type_name": { - "id": 6508, + "id": 6510, "node_type": 30, "src": { "line": 2977, @@ -124059,7 +125804,7 @@ "start": 110291, "end": 110297, "length": 7, - "parent_index": 6507 + "parent_index": 6509 }, "name": "uint256", "referenced_declaration": 0, @@ -124077,7 +125822,7 @@ } }, { - "id": 6509, + "id": 6511, "node_type": 44, "src": { "line": 2977, @@ -124085,12 +125830,12 @@ "start": 110307, "end": 110330, "length": 24, - "parent_index": 6506 + "parent_index": 6508 }, - "scope": 6505, + "scope": 6507, "name": "exitProof", "type_name": { - "id": 6510, + "id": 6512, "node_type": 30, "src": { "line": 2977, @@ -124098,7 +125843,7 @@ "start": 110307, "end": 110311, "length": 5, - "parent_index": 6509 + "parent_index": 6511 }, "name": "bytes", "referenced_declaration": 0, @@ -124128,7 +125873,7 @@ ] }, "return_parameters": { - "id": 6511, + "id": 6513, "node_type": 43, "src": { "line": 2977, @@ -124136,31 +125881,32 @@ "start": 110275, "end": 110349, "length": 75, - "parent_index": 6505 + "parent_index": 6507 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_clear(uint256, bytes)", - "signature": "1894c922", - "scope": 6415, + "signature_raw": "_clear(uint256,bytes)", + "signature": "5a7d604b", + "scope": 6417, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", "type_string": "function(uint256,bytes)" - } + }, + "text": "function_clear(uint256assets,bytescalldataexitProof)internalvirtual;" } ], "linearized_base_contracts": [ + 6417, + 6414, 6415, - 6412, - 6413, - 6414 + 6416 ], "base_contracts": [], "contract_dependencies": [ - 6412, - 6413, - 6414 + 6414, + 6415, + 6416 ] } ], @@ -124174,10 +125920,10 @@ } }, { - "id": 6513, + "id": 6515, "base_contracts": [ { - "id": 6589, + "id": 6591, "node_type": 62, "src": { "line": 2988, @@ -124185,10 +125931,10 @@ "start": 110592, "end": 110607, "length": 16, - "parent_index": 6588 + "parent_index": 6590 }, "base_name": { - "id": 6590, + "id": 6592, "node_type": 52, "src": { "line": 2988, @@ -124196,32 +125942,32 @@ "start": 110592, "end": 110607, "length": 16, - "parent_index": 6588 + "parent_index": 6590 }, "name": "AffineGovernable", - "referenced_declaration": 4831 + "referenced_declaration": 4832 } } ], "license": "MIT", "exported_symbols": [ { - "id": 6513, + "id": 6515, "name": "WormholeRouter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/WormholeRouter.sol" }, { - "id": 6344, + "id": 6346, "name": "IWormhole", "absolute_path": "IWormhole.sol" }, { - "id": 6344, + "id": 6346, "name": "BaseVault", "absolute_path": "BaseVault.sol" }, { - "id": 6344, + "id": 6346, "name": "AffineGovernable", "absolute_path": "AffineGovernable.sol" } @@ -124231,7 +125977,7 @@ "node_type": 1, "nodes": [ { - "id": 6538, + "id": 6540, "node_type": 10, "src": { "line": 2982, @@ -124239,7 +125985,7 @@ "start": 110386, "end": 110409, "length": 24, - "parent_index": 6513 + "parent_index": 6515 }, "literals": [ "pragma", @@ -124255,7 +126001,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 6585, + "id": 6587, "node_type": 29, "src": { "line": 2984, @@ -124263,18 +126009,18 @@ "start": 110412, "end": 110453, "length": 42, - "parent_index": 6513 + "parent_index": 6515 }, "absolute_path": "IWormhole.sol", "file": "./IWormhole.sol", - "scope": 6513, + "scope": 6515, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6344 + "source_unit": 6346 }, { - "id": 6586, + "id": 6588, "node_type": 29, "src": { "line": 2985, @@ -124282,18 +126028,18 @@ "start": 110455, "end": 110496, "length": 42, - "parent_index": 6513 + "parent_index": 6515 }, "absolute_path": "BaseVault.sol", "file": "./BaseVault.sol", - "scope": 6513, + "scope": 6515, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6344 + "source_unit": 6346 }, { - "id": 6587, + "id": 6589, "node_type": 29, "src": { "line": 2986, @@ -124301,18 +126047,18 @@ "start": 110498, "end": 110553, "length": 56, - "parent_index": 6513 + "parent_index": 6515 }, "absolute_path": "AffineGovernable.sol", "file": "./AffineGovernable.sol", - "scope": 6513, + "scope": 6515, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6344 + "source_unit": 6346 }, { - "id": 6588, + "id": 6590, "name": "WormholeRouter", "node_type": 35, "src": { @@ -124321,7 +126067,7 @@ "start": 110556, "end": 112679, "length": 2124, - "parent_index": 6513 + "parent_index": 6515 }, "name_location": { "line": 2988, @@ -124329,14 +126075,14 @@ "start": 110574, "end": 110587, "length": 14, - "parent_index": 6588 + "parent_index": 6590 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 6592, + "id": 6594, "name": "vault", "is_constant": false, "is_state_variable": true, @@ -124347,18 +126093,18 @@ "start": 110671, "end": 110703, "length": 33, - "parent_index": 6588 + "parent_index": 6590 }, - "scope": 6588, + "scope": 6590, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 6593, + "id": 6595, "node_type": 69, "src": { "line": 2990, @@ -124366,20 +126112,20 @@ "start": 110671, "end": 110679, "length": 9, - "parent_index": 6592 + "parent_index": 6594 }, "path_node": { - "id": 6594, + "id": 6596, "name": "BaseVault", "node_type": 52, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "src": { "line": 2990, "column": 4, "start": 110671, "end": 110679, "length": 9, - "parent_index": 6593 + "parent_index": 6595 }, "name_location": { "line": 2990, @@ -124387,19 +126133,19 @@ "start": 110671, "end": 110679, "length": 9, - "parent_index": 6593 + "parent_index": 6595 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "initial_value": null }, { - "id": 6596, + "id": 6598, "node_type": 42, "src": { "line": 2992, @@ -124407,7 +126153,7 @@ "start": 110710, "end": 110862, "length": 153, - "parent_index": 6588 + "parent_index": 6590 }, "kind": 11, "state_mutability": 4, @@ -124415,7 +126161,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 6597, + "id": 6599, "node_type": 43, "src": { "line": 2992, @@ -124423,11 +126169,11 @@ "start": 110722, "end": 110758, "length": 37, - "parent_index": 6596 + "parent_index": 6598 }, "parameters": [ { - "id": 6598, + "id": 6600, "node_type": 44, "src": { "line": 2992, @@ -124435,12 +126181,12 @@ "start": 110722, "end": 110737, "length": 16, - "parent_index": 6597 + "parent_index": 6599 }, - "scope": 6596, + "scope": 6598, "name": "_vault", "type_name": { - "id": 6599, + "id": 6601, "node_type": 69, "src": { "line": 2992, @@ -124448,20 +126194,20 @@ "start": 110722, "end": 110730, "length": 9, - "parent_index": 6598 + "parent_index": 6600 }, "path_node": { - "id": 6600, + "id": 6602, "name": "BaseVault", "node_type": 52, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "src": { "line": 2992, "column": 16, "start": 110722, "end": 110730, "length": 9, - "parent_index": 6599 + "parent_index": 6601 }, "name_location": { "line": 2992, @@ -124469,12 +126215,12 @@ "start": 110722, "end": 110730, "length": 9, - "parent_index": 6599 + "parent_index": 6601 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, @@ -124482,12 +126228,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, { - "id": 6601, + "id": 6603, "node_type": 44, "src": { "line": 2992, @@ -124495,12 +126241,12 @@ "start": 110740, "end": 110758, "length": 19, - "parent_index": 6597 + "parent_index": 6599 }, - "scope": 6596, + "scope": 6598, "name": "_wormhole", "type_name": { - "id": 6602, + "id": 6604, "node_type": 69, "src": { "line": 2992, @@ -124508,10 +126254,10 @@ "start": 110740, "end": 110748, "length": 9, - "parent_index": 6601 + "parent_index": 6603 }, "path_node": { - "id": 6603, + "id": 6605, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -124521,7 +126267,7 @@ "start": 110740, "end": 110748, "length": 9, - "parent_index": 6602 + "parent_index": 6604 }, "name_location": { "line": 2992, @@ -124529,12 +126275,12 @@ "start": 110740, "end": 110748, "length": 9, - "parent_index": 6602 + "parent_index": 6604 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, @@ -124545,14 +126291,14 @@ ], "parameter_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, null ] }, "return_parameters": { - "id": 6604, + "id": 6606, "node_type": 43, "src": { "line": 2992, @@ -124560,14 +126306,14 @@ "start": 110710, "end": 110862, "length": 153, - "parent_index": 6596 + "parent_index": 6598 }, "parameters": [], "parameter_types": [] }, - "scope": 6588, + "scope": 6590, "body": { - "id": 6605, + "id": 6607, "node_type": 46, "kind": 0, "src": { @@ -124576,12 +126322,12 @@ "start": 110761, "end": 110862, "length": 102, - "parent_index": 6596 + "parent_index": 6598 }, "implemented": true, "statements": [ { - "id": 6606, + "id": 6608, "node_type": 27, "src": { "line": 2993, @@ -124589,10 +126335,10 @@ "start": 110771, "end": 110785, "length": 15, - "parent_index": 6605 + "parent_index": 6607 }, "expression": { - "id": 6607, + "id": 6609, "node_type": 27, "src": { "line": 2993, @@ -124600,11 +126346,11 @@ "start": 110771, "end": 110784, "length": 14, - "parent_index": 6606 + "parent_index": 6608 }, "operator": 11, "left_expression": { - "id": 6608, + "id": 6610, "node_type": 16, "src": { "line": 2993, @@ -124612,19 +126358,20 @@ "start": 110771, "end": 110775, "length": 5, - "parent_index": 6607 + "parent_index": 6609 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 7864, - "is_pure": false + "referenced_declaration": 7867, + "is_pure": false, + "text": "vault" }, "right_expression": { - "id": 6609, + "id": 6611, "node_type": 16, "src": { "line": 2993, @@ -124632,29 +126379,31 @@ "start": 110779, "end": 110784, "length": 6, - "parent_index": 6607 + "parent_index": 6609 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6609, - "is_pure": false + "referenced_declaration": 6611, + "is_pure": false, + "text": "_vault" }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault=_vault;" }, { - "id": 6610, + "id": 6612, "node_type": 27, "src": { "line": 2994, @@ -124662,10 +126411,10 @@ "start": 110795, "end": 110826, "length": 32, - "parent_index": 6605 + "parent_index": 6607 }, "expression": { - "id": 6611, + "id": 6613, "node_type": 27, "src": { "line": 2994, @@ -124673,11 +126422,11 @@ "start": 110795, "end": 110825, "length": 31, - "parent_index": 6610 + "parent_index": 6612 }, "operator": 11, "left_expression": { - "id": 6612, + "id": 6614, "node_type": 16, "src": { "line": 2994, @@ -124685,7 +126434,7 @@ "start": 110795, "end": 110804, "length": 10, - "parent_index": 6611 + "parent_index": 6613 }, "name": "governance", "type_description": { @@ -124693,11 +126442,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "right_expression": { - "id": 6613, + "id": 6615, "node_type": 24, "kind": 24, "src": { @@ -124706,12 +126456,12 @@ "start": 110808, "end": 110825, "length": 18, - "parent_index": 6611 + "parent_index": 6613 }, "argument_types": [], "arguments": [], "expression": { - "id": 6614, + "id": 6616, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -124723,7 +126473,7 @@ "start": 110808, "end": 110823, "length": 16, - "parent_index": 6613 + "parent_index": 6615 }, "member_location": { "line": 2994, @@ -124731,10 +126481,10 @@ "start": 110814, "end": 110823, "length": 10, - "parent_index": 6614 + "parent_index": 6616 }, "expression": { - "id": 6615, + "id": 6617, "node_type": 16, "src": { "line": 2994, @@ -124742,23 +126492,25 @@ "start": 110808, "end": 110812, "length": 5, - "parent_index": 6614 + "parent_index": 6616 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 7864, - "is_pure": false + "referenced_declaration": 7867, + "is_pure": false, + "text": "vault" }, "member_name": "governance", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault.governance" }, "type_description": { "type_identifier": "t_function_$", @@ -124773,10 +126525,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "governance=vault.governance();" }, { - "id": 6616, + "id": 6618, "node_type": 27, "src": { "line": 2995, @@ -124784,10 +126537,10 @@ "start": 110836, "end": 110856, "length": 21, - "parent_index": 6605 + "parent_index": 6607 }, "expression": { - "id": 6617, + "id": 6619, "node_type": 27, "src": { "line": 2995, @@ -124795,11 +126548,11 @@ "start": 110836, "end": 110855, "length": 20, - "parent_index": 6616 + "parent_index": 6618 }, "operator": 11, "left_expression": { - "id": 6618, + "id": 6620, "node_type": 16, "src": { "line": 2995, @@ -124807,19 +126560,20 @@ "start": 110836, "end": 110843, "length": 8, - "parent_index": 6617 + "parent_index": 6619 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 6601, - "is_pure": false + "referenced_declaration": 6603, + "is_pure": false, + "text": "wormhole" }, "right_expression": { - "id": 6619, + "id": 6621, "node_type": 16, "src": { "line": 2995, @@ -124827,28 +126581,30 @@ "start": 110847, "end": 110855, "length": 9, - "parent_index": 6617 + "parent_index": 6619 }, "name": "_wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 6601, - "is_pure": false + "referenced_declaration": 6603, + "is_pure": false, + "text": "_wormhole" }, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } - } + }, + "text": "wormhole=_wormhole;" } ] } }, { - "id": 6621, + "id": 6623, "name": "wormhole", "is_constant": false, "is_state_variable": true, @@ -124859,18 +126615,18 @@ "start": 111114, "end": 111149, "length": 36, - "parent_index": 6588 + "parent_index": 6590 }, - "scope": 6588, + "scope": 6590, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 6622, + "id": 6624, "node_type": 69, "src": { "line": 3002, @@ -124878,10 +126634,10 @@ "start": 111114, "end": 111122, "length": 9, - "parent_index": 6621 + "parent_index": 6623 }, "path_node": { - "id": 6623, + "id": 6625, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -124891,7 +126647,7 @@ "start": 111114, "end": 111122, "length": 9, - "parent_index": 6622 + "parent_index": 6624 }, "name_location": { "line": 3002, @@ -124899,19 +126655,19 @@ "start": 111114, "end": 111122, "length": 9, - "parent_index": 6622 + "parent_index": 6624 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, "initial_value": null }, { - "id": 6625, + "id": 6627, "name": "consistencyLevel", "is_constant": false, "is_state_variable": true, @@ -124922,9 +126678,9 @@ "start": 111591, "end": 111624, "length": 34, - "parent_index": 6588 + "parent_index": 6590 }, - "scope": 6588, + "scope": 6590, "type_description": { "type_identifier": "t_rational_4_by_1", "type_string": "int_const 4" @@ -124933,7 +126689,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 6626, + "id": 6628, "node_type": 30, "src": { "line": 3009, @@ -124941,7 +126697,7 @@ "start": 111591, "end": 111595, "length": 5, - "parent_index": 6625 + "parent_index": 6627 }, "name": "uint8", "referenced_declaration": 0, @@ -124951,7 +126707,7 @@ } }, "initial_value": { - "id": 6627, + "id": 6629, "node_type": 17, "kind": 49, "value": "4", @@ -124962,7 +126718,7 @@ "start": 111623, "end": 111623, "length": 1, - "parent_index": 6625 + "parent_index": 6627 }, "type_description": { "type_identifier": "t_rational_4_by_1", @@ -124970,11 +126726,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } }, { - "id": 6629, + "id": 6631, "name": "setConsistencyLevel", "node_type": 42, "kind": 41, @@ -124984,7 +126741,7 @@ "start": 111716, "end": 111846, "length": 131, - "parent_index": 6588 + "parent_index": 6590 }, "name_location": { "line": 3012, @@ -124992,10 +126749,10 @@ "start": 111725, "end": 111743, "length": 19, - "parent_index": 6629 + "parent_index": 6631 }, "body": { - "id": 6636, + "id": 6638, "node_type": 46, "kind": 0, "src": { @@ -125004,12 +126761,12 @@ "start": 111794, "end": 111846, "length": 53, - "parent_index": 6629 + "parent_index": 6631 }, "implemented": true, "statements": [ { - "id": 6637, + "id": 6639, "node_type": 27, "src": { "line": 3013, @@ -125017,10 +126774,10 @@ "start": 111804, "end": 111840, "length": 37, - "parent_index": 6636 + "parent_index": 6638 }, "expression": { - "id": 6638, + "id": 6640, "node_type": 27, "src": { "line": 3013, @@ -125028,11 +126785,11 @@ "start": 111804, "end": 111839, "length": 36, - "parent_index": 6637 + "parent_index": 6639 }, "operator": 11, "left_expression": { - "id": 6639, + "id": 6641, "node_type": 16, "src": { "line": 3013, @@ -125040,7 +126797,7 @@ "start": 111804, "end": 111819, "length": 16, - "parent_index": 6638 + "parent_index": 6640 }, "name": "consistencyLevel", "type_description": { @@ -125048,11 +126805,12 @@ "type_string": "int_const 4" }, "overloaded_declarations": [], - "referenced_declaration": 6625, - "is_pure": false + "referenced_declaration": 6627, + "is_pure": false, + "text": "consistencyLevel" }, "right_expression": { - "id": 6640, + "id": 6642, "node_type": 16, "src": { "line": 3013, @@ -125060,7 +126818,7 @@ "start": 111823, "end": 111839, "length": 17, - "parent_index": 6638 + "parent_index": 6640 }, "name": "_consistencyLevel", "type_description": { @@ -125068,8 +126826,9 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 6640, - "is_pure": false + "referenced_declaration": 6642, + "is_pure": false, + "text": "_consistencyLevel" }, "type_description": { "type_identifier": "t_rational_4_by_1", @@ -125079,7 +126838,8 @@ "type_description": { "type_identifier": "t_rational_4_by_1", "type_string": "int_const 4" - } + }, + "text": "consistencyLevel=_consistencyLevel;" } ] }, @@ -125089,7 +126849,7 @@ "virtual": false, "modifiers": [ { - "id": 6633, + "id": 6635, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -125099,12 +126859,12 @@ "start": 111779, "end": 111792, "length": 14, - "parent_index": 6629 + "parent_index": 6631 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 6634, + "id": 6636, "name": "onlyGovernance", "node_type": 0, "src": { @@ -125113,14 +126873,14 @@ "start": 111779, "end": 111792, "length": 14, - "parent_index": 6633 + "parent_index": 6635 } } } ], "overrides": [], "parameters": { - "id": 6630, + "id": 6632, "node_type": 43, "src": { "line": 3012, @@ -125128,11 +126888,11 @@ "start": 111745, "end": 111767, "length": 23, - "parent_index": 6629 + "parent_index": 6631 }, "parameters": [ { - "id": 6631, + "id": 6633, "node_type": 44, "src": { "line": 3012, @@ -125140,12 +126900,12 @@ "start": 111745, "end": 111767, "length": 23, - "parent_index": 6630 + "parent_index": 6632 }, - "scope": 6629, + "scope": 6631, "name": "_consistencyLevel", "type_name": { - "id": 6632, + "id": 6634, "node_type": 30, "src": { "line": 3012, @@ -125153,7 +126913,7 @@ "start": 111745, "end": 111749, "length": 5, - "parent_index": 6631 + "parent_index": 6633 }, "name": "uint8", "referenced_declaration": 0, @@ -125179,7 +126939,7 @@ ] }, "return_parameters": { - "id": 6635, + "id": 6637, "node_type": 43, "src": { "line": 3012, @@ -125187,21 +126947,22 @@ "start": 111716, "end": 111846, "length": 131, - "parent_index": 6629 + "parent_index": 6631 }, "parameters": [], "parameter_types": [] }, "signature_raw": "setConsistencyLevel(uint8)", "signature": "538ee295", - "scope": 6588, + "scope": 6590, "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functionsetConsistencyLevel(uint8_consistencyLevel)externalonlyGovernance{consistencyLevel=_consistencyLevel;}" }, { - "id": 6642, + "id": 6644, "name": "otherLayerWormholeId", "node_type": 42, "kind": 41, @@ -125211,7 +126972,7 @@ "start": 112036, "end": 112106, "length": 71, - "parent_index": 6588 + "parent_index": 6590 }, "name_location": { "line": 3020, @@ -125219,10 +126980,10 @@ "start": 112045, "end": 112064, "length": 20, - "parent_index": 6642 + "parent_index": 6644 }, "body": { - "id": 6649, + "id": 6651, "node_type": 46, "kind": 0, "src": { @@ -125231,7 +126992,7 @@ "start": 112105, "end": 112106, "length": 2, - "parent_index": 6642 + "parent_index": 6644 }, "implemented": true, "statements": [] @@ -125243,7 +127004,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6643, + "id": 6645, "node_type": 43, "src": { "line": 3020, @@ -125251,11 +127012,11 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6642 + "parent_index": 6644 }, "parameters": [ { - "id": 6644, + "id": 6646, "node_type": 44, "src": { "line": 3020, @@ -125263,12 +127024,12 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6643 + "parent_index": 6645 }, - "scope": 6642, + "scope": 6644, "name": "", "type_name": { - "id": 6645, + "id": 6647, "node_type": 30, "src": { "line": 3020, @@ -125276,7 +127037,7 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6644 + "parent_index": 6646 }, "name": "uint16", "referenced_declaration": 0, @@ -125302,7 +127063,7 @@ ] }, "return_parameters": { - "id": 6646, + "id": 6648, "node_type": 43, "src": { "line": 3020, @@ -125310,11 +127071,11 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6642 + "parent_index": 6644 }, "parameters": [ { - "id": 6647, + "id": 6649, "node_type": 44, "src": { "line": 3020, @@ -125322,12 +127083,12 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6646 + "parent_index": 6648 }, - "scope": 6642, + "scope": 6644, "name": "", "type_name": { - "id": 6648, + "id": 6650, "node_type": 30, "src": { "line": 3020, @@ -125335,7 +127096,7 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6647 + "parent_index": 6649 }, "name": "uint16", "referenced_declaration": 0, @@ -125362,14 +127123,15 @@ }, "signature_raw": "otherLayerWormholeId(uint16)", "signature": "ea6e78ce", - "scope": 6588, + "scope": 6590, "type_description": { "type_identifier": "t_function_$_t_uint16$", "type_string": "function(uint16)" - } + }, + "text": "functionotherLayerWormholeId()publicviewvirtualreturns(uint16){}" }, { - "id": 6651, + "id": 6653, "name": "nextValidNonce", "is_constant": false, "is_state_variable": true, @@ -125380,9 +127142,9 @@ "start": 112113, "end": 112142, "length": 30, - "parent_index": 6588 + "parent_index": 6590 }, - "scope": 6588, + "scope": 6590, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -125391,7 +127153,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 6652, + "id": 6654, "node_type": 30, "src": { "line": 3022, @@ -125399,7 +127161,7 @@ "start": 112113, "end": 112119, "length": 7, - "parent_index": 6651 + "parent_index": 6653 }, "name": "uint256", "referenced_declaration": 0, @@ -125411,7 +127173,7 @@ "initial_value": null }, { - "id": 6654, + "id": 6656, "name": "_validateWormholeMessageEmitter", "node_type": 42, "kind": 41, @@ -125421,7 +127183,7 @@ "start": 112330, "end": 112677, "length": 348, - "parent_index": 6588 + "parent_index": 6590 }, "name_location": { "line": 3028, @@ -125429,10 +127191,10 @@ "start": 112339, "end": 112369, "length": 31, - "parent_index": 6654 + "parent_index": 6656 }, "body": { - "id": 6660, + "id": 6662, "node_type": 46, "kind": 0, "src": { @@ -125441,12 +127203,12 @@ "start": 112409, "end": 112677, "length": 269, - "parent_index": 6654 + "parent_index": 6656 }, "implemented": true, "statements": [ { - "id": 6661, + "id": 6663, "node_type": 24, "kind": 24, "src": { @@ -125455,7 +127217,7 @@ "start": 112419, "end": 112515, "length": 97, - "parent_index": 6660 + "parent_index": 6662 }, "argument_types": [ { @@ -125469,7 +127231,7 @@ ], "arguments": [ { - "id": 6663, + "id": 6665, "is_constant": false, "is_pure": false, "node_type": 19, @@ -125479,11 +127241,11 @@ "start": 112427, "end": 112487, "length": 61, - "parent_index": 6661 + "parent_index": 6663 }, "operator": 11, "left_expression": { - "id": 6664, + "id": 6666, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -125495,7 +127257,7 @@ "start": 112427, "end": 112443, "length": 17, - "parent_index": 6663 + "parent_index": 6665 }, "member_location": { "line": 3029, @@ -125503,10 +127265,10 @@ "start": 112430, "end": 112443, "length": 14, - "parent_index": 6664 + "parent_index": 6666 }, "expression": { - "id": 6665, + "id": 6667, "node_type": 16, "src": { "line": 3029, @@ -125514,27 +127276,29 @@ "start": 112427, "end": 112428, "length": 2, - "parent_index": 6664 + "parent_index": 6666 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "emitterAddress", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.emitterAddress" }, "right_expression": { - "id": 6666, + "id": 6668, "node_type": 24, "kind": 24, "src": { @@ -125543,7 +127307,7 @@ "start": 112448, "end": 112487, "length": 40, - "parent_index": 6663 + "parent_index": 6665 }, "argument_types": [ { @@ -125553,7 +127317,7 @@ ], "arguments": [ { - "id": 6669, + "id": 6671, "node_type": 24, "kind": 24, "src": { @@ -125562,7 +127326,7 @@ "start": 112456, "end": 112486, "length": 31, - "parent_index": 6666 + "parent_index": 6668 }, "argument_types": [ { @@ -125572,7 +127336,7 @@ ], "arguments": [ { - "id": 6672, + "id": 6674, "node_type": 24, "kind": 24, "src": { @@ -125581,7 +127345,7 @@ "start": 112464, "end": 112485, "length": 22, - "parent_index": 6669 + "parent_index": 6671 }, "argument_types": [ { @@ -125591,7 +127355,7 @@ ], "arguments": [ { - "id": 6675, + "id": 6677, "node_type": 24, "kind": 24, "src": { @@ -125600,17 +127364,17 @@ "start": 112472, "end": 112484, "length": 13, - "parent_index": 6672 + "parent_index": 6674 }, "argument_types": [ { - "type_identifier": "t_contract$_WormholeRouter_$6513", + "type_identifier": "t_contract$_WormholeRouter_$6515", "type_string": "contract WormholeRouter" } ], "arguments": [ { - "id": 6678, + "id": 6680, "node_type": 16, "src": { "line": 3029, @@ -125618,20 +127382,21 @@ "start": 112480, "end": 112483, "length": 4, - "parent_index": 6675 + "parent_index": 6677 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_WormholeRouter_$6513", + "type_identifier": "t_contract$_WormholeRouter_$6515", "type_string": "contract WormholeRouter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6676, + "id": 6678, "node_type": 16, "src": { "line": 3029, @@ -125639,11 +127404,11 @@ "start": 112472, "end": 112478, "length": 7, - "parent_index": 6675 + "parent_index": 6677 }, "name": "address", "type_name": { - "id": 6677, + "id": 6679, "node_type": 30, "src": { "line": 3029, @@ -125651,7 +127416,7 @@ "start": 112472, "end": 112478, "length": 7, - "parent_index": 6676 + "parent_index": 6678 }, "name": "address", "state_mutability": 4, @@ -125673,7 +127438,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -125682,7 +127448,7 @@ } ], "expression": { - "id": 6673, + "id": 6675, "node_type": 16, "src": { "line": 3029, @@ -125690,11 +127456,11 @@ "start": 112464, "end": 112470, "length": 7, - "parent_index": 6672 + "parent_index": 6674 }, "name": "uint160", "type_name": { - "id": 6674, + "id": 6676, "node_type": 30, "src": { "line": 3029, @@ -125702,7 +127468,7 @@ "start": 112464, "end": 112470, "length": 7, - "parent_index": 6673 + "parent_index": 6675 }, "name": "uint160", "referenced_declaration": 0, @@ -125723,7 +127489,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -125732,7 +127499,7 @@ } ], "expression": { - "id": 6670, + "id": 6672, "node_type": 16, "src": { "line": 3029, @@ -125740,11 +127507,11 @@ "start": 112456, "end": 112462, "length": 7, - "parent_index": 6669 + "parent_index": 6671 }, "name": "uint256", "type_name": { - "id": 6671, + "id": 6673, "node_type": 30, "src": { "line": 3029, @@ -125752,7 +127519,7 @@ "start": 112456, "end": 112462, "length": 7, - "parent_index": 6670 + "parent_index": 6672 }, "name": "uint256", "referenced_declaration": 0, @@ -125773,7 +127540,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -125782,7 +127550,7 @@ } ], "expression": { - "id": 6667, + "id": 6669, "node_type": 16, "src": { "line": 3029, @@ -125790,11 +127558,11 @@ "start": 112448, "end": 112454, "length": 7, - "parent_index": 6666 + "parent_index": 6668 }, "name": "bytes32", "type_name": { - "id": 6668, + "id": 6670, "node_type": 30, "src": { "line": 3029, @@ -125802,7 +127570,7 @@ "start": 112448, "end": 112454, "length": 7, - "parent_index": 6667 + "parent_index": 6669 }, "name": "bytes32", "referenced_declaration": 0, @@ -125823,7 +127591,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_address$", @@ -125836,7 +127605,7 @@ } }, { - "id": 6679, + "id": 6681, "node_type": 17, "kind": 50, "value": "WR: bad emitter address", @@ -125847,7 +127616,7 @@ "start": 112490, "end": 112514, "length": 25, - "parent_index": 6661 + "parent_index": 6663 }, "type_description": { "type_identifier": "t_string_literal", @@ -125861,11 +127630,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: bad emitter address\"" } ], "expression": { - "id": 6662, + "id": 6664, "node_type": 16, "src": { "line": 3029, @@ -125873,7 +127643,7 @@ "start": 112419, "end": 112425, "length": 7, - "parent_index": 6661 + "parent_index": 6663 }, "name": "require", "type_description": { @@ -125882,7 +127652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -125890,7 +127661,7 @@ } }, { - "id": 6680, + "id": 6682, "node_type": 24, "kind": 24, "src": { @@ -125899,7 +127670,7 @@ "start": 112526, "end": 112602, "length": 77, - "parent_index": 6660 + "parent_index": 6662 }, "argument_types": [ { @@ -125913,7 +127684,7 @@ ], "arguments": [ { - "id": 6682, + "id": 6684, "is_constant": false, "is_pure": false, "node_type": 19, @@ -125923,11 +127694,11 @@ "start": 112534, "end": 112576, "length": 43, - "parent_index": 6680 + "parent_index": 6682 }, "operator": 11, "left_expression": { - "id": 6683, + "id": 6685, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -125939,7 +127710,7 @@ "start": 112534, "end": 112550, "length": 17, - "parent_index": 6682 + "parent_index": 6684 }, "member_location": { "line": 3030, @@ -125947,10 +127718,10 @@ "start": 112537, "end": 112550, "length": 14, - "parent_index": 6683 + "parent_index": 6685 }, "expression": { - "id": 6684, + "id": 6686, "node_type": 16, "src": { "line": 3030, @@ -125958,27 +127729,29 @@ "start": 112534, "end": 112535, "length": 2, - "parent_index": 6683 + "parent_index": 6685 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "emitterChainId", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.emitterChainId" }, "right_expression": { - "id": 6685, + "id": 6687, "node_type": 24, "kind": 24, "src": { @@ -125987,12 +127760,12 @@ "start": 112555, "end": 112576, "length": 22, - "parent_index": 6682 + "parent_index": 6684 }, "argument_types": [], "arguments": [], "expression": { - "id": 6686, + "id": 6688, "node_type": 16, "src": { "line": 3030, @@ -126000,7 +127773,7 @@ "start": 112555, "end": 112574, "length": 20, - "parent_index": 6685 + "parent_index": 6687 }, "name": "otherLayerWormholeId", "type_description": { @@ -126009,7 +127782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "otherLayerWormholeId" }, "type_description": { "type_identifier": "t_function_$", @@ -126022,7 +127796,7 @@ } }, { - "id": 6687, + "id": 6689, "node_type": 17, "kind": 50, "value": "WR: bad emitter chain", @@ -126033,7 +127807,7 @@ "start": 112579, "end": 112601, "length": 23, - "parent_index": 6680 + "parent_index": 6682 }, "type_description": { "type_identifier": "t_string_literal", @@ -126047,11 +127821,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: bad emitter chain\"" } ], "expression": { - "id": 6681, + "id": 6683, "node_type": 16, "src": { "line": 3030, @@ -126059,7 +127834,7 @@ "start": 112526, "end": 112532, "length": 7, - "parent_index": 6680 + "parent_index": 6682 }, "name": "require", "type_description": { @@ -126068,7 +127843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -126076,7 +127852,7 @@ } }, { - "id": 6688, + "id": 6690, "node_type": 24, "kind": 24, "src": { @@ -126085,7 +127861,7 @@ "start": 112613, "end": 112670, "length": 58, - "parent_index": 6660 + "parent_index": 6662 }, "argument_types": [ { @@ -126099,7 +127875,7 @@ ], "arguments": [ { - "id": 6690, + "id": 6692, "is_constant": false, "is_pure": false, "node_type": 19, @@ -126109,11 +127885,11 @@ "start": 112621, "end": 112646, "length": 26, - "parent_index": 6688 + "parent_index": 6690 }, "operator": 8, "left_expression": { - "id": 6691, + "id": 6693, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -126125,7 +127901,7 @@ "start": 112621, "end": 112628, "length": 8, - "parent_index": 6690 + "parent_index": 6692 }, "member_location": { "line": 3031, @@ -126133,10 +127909,10 @@ "start": 112624, "end": 112628, "length": 5, - "parent_index": 6691 + "parent_index": 6693 }, "expression": { - "id": 6692, + "id": 6694, "node_type": 16, "src": { "line": 3031, @@ -126144,27 +127920,29 @@ "start": 112621, "end": 112622, "length": 2, - "parent_index": 6691 + "parent_index": 6693 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "nonce", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.nonce" }, "right_expression": { - "id": 6693, + "id": 6695, "node_type": 16, "src": { "line": 3031, @@ -126172,7 +127950,7 @@ "start": 112633, "end": 112646, "length": 14, - "parent_index": 6690 + "parent_index": 6692 }, "name": "nextValidNonce", "type_description": { @@ -126180,8 +127958,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6651, - "is_pure": false + "referenced_declaration": 6653, + "is_pure": false, + "text": "nextValidNonce" }, "type_description": { "type_identifier": "t_bool", @@ -126189,7 +127968,7 @@ } }, { - "id": 6694, + "id": 6696, "node_type": 17, "kind": 50, "value": "WR: old transaction", @@ -126200,7 +127979,7 @@ "start": 112649, "end": 112669, "length": 21, - "parent_index": 6688 + "parent_index": 6690 }, "type_description": { "type_identifier": "t_string_literal", @@ -126214,11 +127993,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: old transaction\"" } ], "expression": { - "id": 6689, + "id": 6691, "node_type": 16, "src": { "line": 3031, @@ -126226,7 +128006,7 @@ "start": 112613, "end": 112619, "length": 7, - "parent_index": 6688 + "parent_index": 6690 }, "name": "require", "type_description": { @@ -126235,7 +128015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -126251,7 +128032,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6655, + "id": 6657, "node_type": 43, "src": { "line": 3028, @@ -126259,11 +128040,11 @@ "start": 112371, "end": 112392, "length": 22, - "parent_index": 6654 + "parent_index": 6656 }, "parameters": [ { - "id": 6656, + "id": 6658, "node_type": 44, "src": { "line": 3028, @@ -126271,12 +128052,12 @@ "start": 112371, "end": 112392, "length": 22, - "parent_index": 6655 + "parent_index": 6657 }, - "scope": 6654, + "scope": 6656, "name": "vm", "type_name": { - "id": 6657, + "id": 6659, "node_type": 69, "src": { "line": 3028, @@ -126284,10 +128065,10 @@ "start": 112371, "end": 112382, "length": 12, - "parent_index": 6656 + "parent_index": 6658 }, "path_node": { - "id": 6658, + "id": 6660, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -126297,7 +128078,7 @@ "start": 112371, "end": 112382, "length": 12, - "parent_index": 6657 + "parent_index": 6659 }, "name_location": { "line": 3028, @@ -126305,12 +128086,12 @@ "start": 112371, "end": 112379, "length": 9, - "parent_index": 6657 + "parent_index": 6659 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, @@ -126324,7 +128105,7 @@ ] }, "return_parameters": { - "id": 6659, + "id": 6661, "node_type": 43, "src": { "line": 3028, @@ -126332,30 +128113,31 @@ "start": 112330, "end": 112677, "length": 348, - "parent_index": 6654 + "parent_index": 6656 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_validateWormholeMessageEmitter()", "signature": "889a61b5", - "scope": 6588, + "scope": 6590, "type_description": { - "type_identifier": "t_function_$_t_unknown_6654$", - "type_string": "function(unknown_6654)" - } + "type_identifier": "t_function_$_t_unknown_6656$", + "type_string": "function(unknown_6656)" + }, + "text": "function_validateWormholeMessageEmitter(IWormhole.VMmemoryvm)internalview{require(vm.emitterAddress==bytes32(uint256(uint160(address(this)))),\"WR: bad emitter address\");require(vm.emitterChainId==otherLayerWormholeId(),\"WR: bad emitter chain\");require(vm.nonce\u003e=nextValidNonce,\"WR: old transaction\");}" } ], "linearized_base_contracts": [ - 4831, + 4832, + 6590, + 6587, 6588, - 6585, - 6586, - 6587 + 6589 ], "base_contracts": [ { - "id": 6589, + "id": 6591, "node_type": 62, "src": { "line": 2988, @@ -126363,10 +128145,10 @@ "start": 110592, "end": 110607, "length": 16, - "parent_index": 6588 + "parent_index": 6590 }, "base_name": { - "id": 6590, + "id": 6592, "node_type": 52, "src": { "line": 2988, @@ -126374,18 +128156,18 @@ "start": 110592, "end": 110607, "length": 16, - "parent_index": 6588 + "parent_index": 6590 }, "name": "AffineGovernable", - "referenced_declaration": 4831 + "referenced_declaration": 4832 } } ], "contract_dependencies": [ - 4831, - 6585, - 6586, - 6587 + 4832, + 6587, + 6588, + 6589 ] } ], @@ -126399,10 +128181,10 @@ } }, { - "id": 6695, + "id": 6697, "base_contracts": [ { - "id": 6777, + "id": 6779, "node_type": 62, "src": { "line": 3046, @@ -126410,10 +128192,10 @@ "start": 113011, "end": 113022, "length": 12, - "parent_index": 6776 + "parent_index": 6778 }, "base_name": { - "id": 6778, + "id": 6780, "node_type": 52, "src": { "line": 3046, @@ -126421,42 +128203,42 @@ "start": 113011, "end": 113022, "length": 12, - "parent_index": 6776 + "parent_index": 6778 }, "name": "BridgeEscrow", - "referenced_declaration": 6344 + "referenced_declaration": 6346 } } ], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 6695, + "id": 6697, "name": "L1BridgeEscrow", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1BridgeEscrow.sol" }, { - "id": 6513, + "id": 6515, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 6513, + "id": 6515, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 6513, + "id": 6515, "name": "IRootChainManager", "absolute_path": "IRootChainManager.sol" }, { - "id": 6513, + "id": 6515, "name": "BridgeEscrow", "absolute_path": "BridgeEscrow.sol" }, { - "id": 6513, + "id": 6515, "name": "L1Vault", "absolute_path": "L1Vault.sol" } @@ -126466,7 +128248,7 @@ "node_type": 1, "nodes": [ { - "id": 6721, + "id": 6723, "node_type": 10, "src": { "line": 3037, @@ -126474,7 +128256,7 @@ "start": 112719, "end": 112742, "length": 24, - "parent_index": 6695 + "parent_index": 6697 }, "literals": [ "pragma", @@ -126490,7 +128272,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 6771, + "id": 6773, "node_type": 29, "src": { "line": 3039, @@ -126498,18 +128280,18 @@ "start": 112745, "end": 112778, "length": 34, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6772, + "id": 6774, "node_type": 29, "src": { "line": 3040, @@ -126517,18 +128299,18 @@ "start": 112780, "end": 112833, "length": 54, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6773, + "id": 6775, "node_type": 29, "src": { "line": 3042, @@ -126536,18 +128318,18 @@ "start": 112836, "end": 112893, "length": 58, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "IRootChainManager.sol", "file": "./IRootChainManager.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6774, + "id": 6776, "node_type": 29, "src": { "line": 3043, @@ -126555,18 +128337,18 @@ "start": 112895, "end": 112942, "length": 48, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "BridgeEscrow.sol", "file": "./BridgeEscrow.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6775, + "id": 6777, "node_type": 29, "src": { "line": 3044, @@ -126574,18 +128356,18 @@ "start": 112944, "end": 112981, "length": 38, - "parent_index": 6695 + "parent_index": 6697 }, "absolute_path": "L1Vault.sol", "file": "./L1Vault.sol", - "scope": 6695, + "scope": 6697, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6513 + "source_unit": 6515 }, { - "id": 6776, + "id": 6778, "name": "L1BridgeEscrow", "node_type": 35, "src": { @@ -126594,7 +128376,7 @@ "start": 112984, "end": 114292, "length": 1309, - "parent_index": 6695 + "parent_index": 6697 }, "name_location": { "line": 3046, @@ -126602,14 +128384,14 @@ "start": 112993, "end": 113006, "length": 14, - "parent_index": 6776 + "parent_index": 6778 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 6780, + "id": 6782, "node_type": 51, "src": { "line": 3047, @@ -126617,14 +128399,14 @@ "start": 113030, "end": 113061, "length": 32, - "parent_index": 6776 + "parent_index": 6778 }, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "type_name": { - "id": 6782, + "id": 6784, "node_type": 69, "src": { "line": 3047, @@ -126632,20 +128414,20 @@ "start": 113056, "end": 113060, "length": 5, - "parent_index": 6780 + "parent_index": 6782 }, "path_node": { - "id": 6783, + "id": 6785, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 3047, "column": 30, "start": 113056, "end": 113060, "length": 5, - "parent_index": 6782 + "parent_index": 6784 }, "name_location": { "line": 3047, @@ -126653,17 +128435,17 @@ "start": 113056, "end": 113060, "length": 5, - "parent_index": 6782 + "parent_index": 6784 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, "library_name": { - "id": 6781, + "id": 6783, "node_type": 52, "src": { "line": 3047, @@ -126671,14 +128453,14 @@ "start": 113036, "end": 113050, "length": 15, - "parent_index": 6780 + "parent_index": 6782 }, "name": "SafeTransferLib", - "referenced_declaration": 4499 + "referenced_declaration": 4500 } }, { - "id": 6785, + "id": 6787, "name": "vault", "is_constant": false, "is_state_variable": true, @@ -126689,9 +128471,9 @@ "start": 113097, "end": 113127, "length": 31, - "parent_index": 6776 + "parent_index": 6778 }, - "scope": 6776, + "scope": 6778, "type_description": { "type_identifier": "t_contract$_L1Vault_$441", "type_string": "contract L1Vault" @@ -126700,7 +128482,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 6786, + "id": 6788, "node_type": 69, "src": { "line": 3050, @@ -126708,10 +128490,10 @@ "start": 113097, "end": 113103, "length": 7, - "parent_index": 6785 + "parent_index": 6787 }, "path_node": { - "id": 6787, + "id": 6789, "name": "L1Vault", "node_type": 52, "referenced_declaration": 441, @@ -126721,7 +128503,7 @@ "start": 113097, "end": 113103, "length": 7, - "parent_index": 6786 + "parent_index": 6788 }, "name_location": { "line": 3050, @@ -126729,7 +128511,7 @@ "start": 113097, "end": 113103, "length": 7, - "parent_index": 6786 + "parent_index": 6788 } }, "referenced_declaration": 441, @@ -126741,7 +128523,7 @@ "initial_value": null }, { - "id": 6789, + "id": 6791, "name": "rootChainManager", "is_constant": false, "is_state_variable": true, @@ -126752,18 +128534,18 @@ "start": 113323, "end": 113374, "length": 52, - "parent_index": 6776 + "parent_index": 6778 }, - "scope": 6776, + "scope": 6778, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 6790, + "id": 6792, "node_type": 69, "src": { "line": 3052, @@ -126771,10 +128553,10 @@ "start": 113323, "end": 113339, "length": 17, - "parent_index": 6789 + "parent_index": 6791 }, "path_node": { - "id": 6791, + "id": 6793, "name": "IRootChainManager", "node_type": 52, "referenced_declaration": 0, @@ -126784,7 +128566,7 @@ "start": 113323, "end": 113339, "length": 17, - "parent_index": 6790 + "parent_index": 6792 }, "name_location": { "line": 3052, @@ -126792,19 +128574,19 @@ "start": 113323, "end": 113339, "length": 17, - "parent_index": 6790 + "parent_index": 6792 } }, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } }, "initial_value": null }, { - "id": 6793, + "id": 6795, "node_type": 42, "src": { "line": 3054, @@ -126812,7 +128594,7 @@ "start": 113381, "end": 113525, "length": 145, - "parent_index": 6776 + "parent_index": 6778 }, "kind": 11, "state_mutability": 4, @@ -126820,7 +128602,7 @@ "implemented": true, "modifiers": [ { - "id": 6802, + "id": 6804, "name": "BridgeEscrow", "node_type": 72, "kind": 72, @@ -126830,7 +128612,7 @@ "start": 113437, "end": 113456, "length": 20, - "parent_index": 6793 + "parent_index": 6795 }, "argument_types": [ { @@ -126840,7 +128622,7 @@ ], "arguments": [ { - "id": 6804, + "id": 6806, "node_type": 16, "src": { "line": 3054, @@ -126848,7 +128630,7 @@ "start": 113450, "end": 113455, "length": 6, - "parent_index": 6802 + "parent_index": 6804 }, "name": "_vault", "type_description": { @@ -126856,12 +128638,13 @@ "type_string": "contract L1Vault" }, "overloaded_declarations": [], - "referenced_declaration": 6804, - "is_pure": false + "referenced_declaration": 6806, + "is_pure": false, + "text": "_vault" } ], "modifier_name": { - "id": 6803, + "id": 6805, "name": "BridgeEscrow", "node_type": 0, "src": { @@ -126870,13 +128653,13 @@ "start": 113437, "end": 113448, "length": 12, - "parent_index": 6802 + "parent_index": 6804 } } } ], "parameters": { - "id": 6794, + "id": 6796, "node_type": 43, "src": { "line": 3054, @@ -126884,11 +128667,11 @@ "start": 113393, "end": 113434, "length": 42, - "parent_index": 6793 + "parent_index": 6795 }, "parameters": [ { - "id": 6795, + "id": 6797, "node_type": 44, "src": { "line": 3054, @@ -126896,12 +128679,12 @@ "start": 113393, "end": 113406, "length": 14, - "parent_index": 6794 + "parent_index": 6796 }, - "scope": 6793, + "scope": 6795, "name": "_vault", "type_name": { - "id": 6796, + "id": 6798, "node_type": 69, "src": { "line": 3054, @@ -126909,10 +128692,10 @@ "start": 113393, "end": 113399, "length": 7, - "parent_index": 6795 + "parent_index": 6797 }, "path_node": { - "id": 6797, + "id": 6799, "name": "L1Vault", "node_type": 52, "referenced_declaration": 441, @@ -126922,7 +128705,7 @@ "start": 113393, "end": 113399, "length": 7, - "parent_index": 6796 + "parent_index": 6798 }, "name_location": { "line": 3054, @@ -126930,7 +128713,7 @@ "start": 113393, "end": 113399, "length": 7, - "parent_index": 6796 + "parent_index": 6798 } }, "referenced_declaration": 441, @@ -126948,7 +128731,7 @@ } }, { - "id": 6798, + "id": 6800, "node_type": 44, "src": { "line": 3054, @@ -126956,12 +128739,12 @@ "start": 113409, "end": 113434, "length": 26, - "parent_index": 6794 + "parent_index": 6796 }, - "scope": 6793, + "scope": 6795, "name": "_manager", "type_name": { - "id": 6799, + "id": 6801, "node_type": 69, "src": { "line": 3054, @@ -126969,10 +128752,10 @@ "start": 113409, "end": 113425, "length": 17, - "parent_index": 6798 + "parent_index": 6800 }, "path_node": { - "id": 6800, + "id": 6802, "name": "IRootChainManager", "node_type": 52, "referenced_declaration": 0, @@ -126982,7 +128765,7 @@ "start": 113409, "end": 113425, "length": 17, - "parent_index": 6799 + "parent_index": 6801 }, "name_location": { "line": 3054, @@ -126990,12 +128773,12 @@ "start": 113409, "end": 113425, "length": 17, - "parent_index": 6799 + "parent_index": 6801 } }, - "referenced_declaration": 7202, + "referenced_declaration": 7204, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } }, @@ -127013,7 +128796,7 @@ ] }, "return_parameters": { - "id": 6801, + "id": 6803, "node_type": 43, "src": { "line": 3054, @@ -127021,14 +128804,14 @@ "start": 113381, "end": 113525, "length": 145, - "parent_index": 6793 + "parent_index": 6795 }, "parameters": [], "parameter_types": [] }, - "scope": 6776, + "scope": 6778, "body": { - "id": 6805, + "id": 6807, "node_type": 46, "kind": 0, "src": { @@ -127037,12 +128820,12 @@ "start": 113458, "end": 113525, "length": 68, - "parent_index": 6793 + "parent_index": 6795 }, "implemented": true, "statements": [ { - "id": 6806, + "id": 6808, "node_type": 27, "src": { "line": 3055, @@ -127050,10 +128833,10 @@ "start": 113468, "end": 113482, "length": 15, - "parent_index": 6805 + "parent_index": 6807 }, "expression": { - "id": 6807, + "id": 6809, "node_type": 27, "src": { "line": 3055, @@ -127061,11 +128844,11 @@ "start": 113468, "end": 113481, "length": 14, - "parent_index": 6806 + "parent_index": 6808 }, "operator": 11, "left_expression": { - "id": 6808, + "id": 6810, "node_type": 16, "src": { "line": 3055, @@ -127073,19 +128856,20 @@ "start": 113468, "end": 113472, "length": 5, - "parent_index": 6807 + "parent_index": 6809 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6608, - "is_pure": false + "referenced_declaration": 6610, + "is_pure": false, + "text": "vault" }, "right_expression": { - "id": 6809, + "id": 6811, "node_type": 16, "src": { "line": 3055, @@ -127093,7 +128877,7 @@ "start": 113476, "end": 113481, "length": 6, - "parent_index": 6807 + "parent_index": 6809 }, "name": "_vault", "type_description": { @@ -127101,21 +128885,23 @@ "type_string": "contract L1Vault" }, "overloaded_declarations": [], - "referenced_declaration": 6809, - "is_pure": false + "referenced_declaration": 6811, + "is_pure": false, + "text": "_vault" }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault=_vault;" }, { - "id": 6810, + "id": 6812, "node_type": 27, "src": { "line": 3056, @@ -127123,10 +128909,10 @@ "start": 113492, "end": 113519, "length": 28, - "parent_index": 6805 + "parent_index": 6807 }, "expression": { - "id": 6811, + "id": 6813, "node_type": 27, "src": { "line": 3056, @@ -127134,11 +128920,11 @@ "start": 113492, "end": 113518, "length": 27, - "parent_index": 6810 + "parent_index": 6812 }, "operator": 11, "left_expression": { - "id": 6812, + "id": 6814, "node_type": 16, "src": { "line": 3056, @@ -127146,19 +128932,20 @@ "start": 113492, "end": 113507, "length": 16, - "parent_index": 6811 + "parent_index": 6813 }, "name": "rootChainManager", "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "overloaded_declarations": [], - "referenced_declaration": 6798, - "is_pure": false + "referenced_declaration": 6800, + "is_pure": false, + "text": "rootChainManager" }, "right_expression": { - "id": 6813, + "id": 6815, "node_type": 16, "src": { "line": 3056, @@ -127166,28 +128953,30 @@ "start": 113511, "end": 113518, "length": 8, - "parent_index": 6811 + "parent_index": 6813 }, "name": "_manager", "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "overloaded_declarations": [], - "referenced_declaration": 6798, - "is_pure": false + "referenced_declaration": 6800, + "is_pure": false, + "text": "_manager" }, "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" } - } + }, + "text": "rootChainManager=_manager;" } ] } }, { - "id": 6815, + "id": 6817, "name": "_clear", "node_type": 42, "kind": 41, @@ -127197,7 +128986,7 @@ "start": 113532, "end": 114290, "length": 759, - "parent_index": 6776 + "parent_index": 6778 }, "name_location": { "line": 3059, @@ -127205,10 +128994,10 @@ "start": 113541, "end": 113546, "length": 6, - "parent_index": 6815 + "parent_index": 6817 }, "body": { - "id": 6823, + "id": 6825, "node_type": 46, "kind": 0, "src": { @@ -127217,12 +129006,12 @@ "start": 113608, "end": 114290, "length": 683, - "parent_index": 6815 + "parent_index": 6817 }, "implemented": true, "statements": [ { - "id": 6824, + "id": 6826, "node_type": 85, "src": { "line": 3063, @@ -127230,10 +129019,10 @@ "start": 113946, "end": 113993, "length": 48, - "parent_index": 6823 + "parent_index": 6825 }, "body": { - "id": 6829, + "id": 6831, "node_type": 46, "kind": 0, "src": { @@ -127242,7 +129031,7 @@ "start": 113983, "end": 113984, "length": 2, - "parent_index": 6824 + "parent_index": 6826 }, "implemented": true, "statements": [] @@ -127250,7 +129039,7 @@ "kind": 86, "returns": false, "return_parameters": { - "id": 6832, + "id": 6834, "node_type": 43, "src": { "line": 3063, @@ -127258,13 +129047,13 @@ "start": 113946, "end": 113993, "length": 48, - "parent_index": 6824 + "parent_index": 6826 }, "parameters": [], "parameter_types": [] }, "expression": { - "id": 6825, + "id": 6827, "node_type": 24, "kind": 24, "src": { @@ -127273,7 +129062,7 @@ "start": 113950, "end": 113981, "length": 32, - "parent_index": 6824 + "parent_index": 6826 }, "argument_types": [ { @@ -127283,7 +129072,7 @@ ], "arguments": [ { - "id": 6828, + "id": 6830, "node_type": 16, "src": { "line": 3063, @@ -127291,7 +129080,7 @@ "start": 113972, "end": 113980, "length": 9, - "parent_index": 6825 + "parent_index": 6827 }, "name": "exitProof", "type_description": { @@ -127299,12 +129088,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 6828, - "is_pure": false + "referenced_declaration": 6830, + "is_pure": false, + "text": "exitProof" } ], "expression": { - "id": 6826, + "id": 6828, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -127316,7 +129106,7 @@ "start": 113950, "end": 113970, "length": 21, - "parent_index": 6825 + "parent_index": 6827 }, "member_location": { "line": 3063, @@ -127324,10 +129114,10 @@ "start": 113967, "end": 113970, "length": 4, - "parent_index": 6826 + "parent_index": 6828 }, "expression": { - "id": 6827, + "id": 6829, "node_type": 16, "src": { "line": 3063, @@ -127335,24 +129125,26 @@ "start": 113950, "end": 113965, "length": 16, - "parent_index": 6826 + "parent_index": 6828 }, "name": "rootChainManager", "type_description": { - "type_identifier": "t_contract$_IRootChainManager_$7202", + "type_identifier": "t_contract$_IRootChainManager_$7204", "type_string": "contract IRootChainManager" }, "overloaded_declarations": [], - "referenced_declaration": 8086, - "is_pure": false + "referenced_declaration": 8090, + "is_pure": false, + "text": "rootChainManager" }, "member_name": "exit", "argument_types": [], - "referenced_declaration": 7302, + "referenced_declaration": 7304, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "rootChainManager.exit" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -127370,10 +129162,10 @@ "start": 113986, "end": 113993, "length": 8, - "parent_index": 6824 + "parent_index": 6826 }, "body": { - "id": 6831, + "id": 6833, "node_type": 46, "kind": 0, "src": { @@ -127387,7 +129179,7 @@ "statements": [] }, "parameters": { - "id": 6830, + "id": 6832, "node_type": 43, "src": { "line": 3063, @@ -127404,7 +129196,7 @@ "implemented": false }, { - "id": 6833, + "id": 6835, "node_type": 44, "src": { "line": 3066, @@ -127412,25 +129204,25 @@ "start": 114051, "end": 114099, "length": 49, - "parent_index": 6823 + "parent_index": 6825 }, "assignments": [ - 6834 + 6836 ], "declarations": [ { - "id": 6834, + "id": 6836, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 6823, + "scope": 6825, "src": { "line": 3066, "column": 8, "start": 114051, "end": 114065, "length": 15, - "parent_index": 6833 + "parent_index": 6835 }, "name_location": { "line": 3066, @@ -127438,12 +129230,12 @@ "start": 114059, "end": 114065, "length": 7, - "parent_index": 6834 + "parent_index": 6836 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 6835, + "id": 6837, "node_type": 30, "src": { "line": 3066, @@ -127451,7 +129243,7 @@ "start": 114051, "end": 114057, "length": 7, - "parent_index": 6834 + "parent_index": 6836 }, "name": "uint256", "referenced_declaration": 0, @@ -127464,7 +129256,7 @@ } ], "initial_value": { - "id": 6836, + "id": 6838, "node_type": 24, "kind": 24, "src": { @@ -127473,7 +129265,7 @@ "start": 114069, "end": 114098, "length": 30, - "parent_index": 6833 + "parent_index": 6835 }, "argument_types": [ { @@ -127483,7 +129275,7 @@ ], "arguments": [ { - "id": 6839, + "id": 6841, "node_type": 24, "kind": 24, "src": { @@ -127492,17 +129284,17 @@ "start": 114085, "end": 114097, "length": 13, - "parent_index": 6836 + "parent_index": 6838 }, "argument_types": [ { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" } ], "arguments": [ { - "id": 6842, + "id": 6844, "node_type": 16, "src": { "line": 3066, @@ -127510,20 +129302,21 @@ "start": 114093, "end": 114096, "length": 4, - "parent_index": 6839 + "parent_index": 6841 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_L1BridgeEscrow_$6695", + "type_identifier": "t_contract$_L1BridgeEscrow_$6697", "type_string": "contract L1BridgeEscrow" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6840, + "id": 6842, "node_type": 16, "src": { "line": 3066, @@ -127531,11 +129324,11 @@ "start": 114085, "end": 114091, "length": 7, - "parent_index": 6839 + "parent_index": 6841 }, "name": "address", "type_name": { - "id": 6841, + "id": 6843, "node_type": 30, "src": { "line": 3066, @@ -127543,7 +129336,7 @@ "start": 114085, "end": 114091, "length": 7, - "parent_index": 6840 + "parent_index": 6842 }, "name": "address", "state_mutability": 4, @@ -127565,7 +129358,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -127574,7 +129368,7 @@ } ], "expression": { - "id": 6837, + "id": 6839, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -127586,7 +129380,7 @@ "start": 114069, "end": 114083, "length": 15, - "parent_index": 6836 + "parent_index": 6838 }, "member_location": { "line": 3066, @@ -127594,10 +129388,10 @@ "start": 114075, "end": 114083, "length": 9, - "parent_index": 6837 + "parent_index": 6839 }, "expression": { - "id": 6838, + "id": 6840, "node_type": 16, "src": { "line": 3066, @@ -127605,23 +129399,25 @@ "start": 114069, "end": 114073, "length": 5, - "parent_index": 6837 + "parent_index": 6839 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -127630,7 +129426,7 @@ } }, { - "id": 6843, + "id": 6845, "node_type": 24, "kind": 24, "src": { @@ -127639,7 +129435,7 @@ "start": 114109, "end": 114160, "length": 52, - "parent_index": 6823 + "parent_index": 6825 }, "argument_types": [ { @@ -127653,7 +129449,7 @@ ], "arguments": [ { - "id": 6845, + "id": 6847, "is_constant": false, "is_pure": false, "node_type": 19, @@ -127663,11 +129459,11 @@ "start": 114117, "end": 114133, "length": 17, - "parent_index": 6843 + "parent_index": 6845 }, "operator": 8, "left_expression": { - "id": 6846, + "id": 6848, "node_type": 16, "src": { "line": 3067, @@ -127675,7 +129471,7 @@ "start": 114117, "end": 114123, "length": 7, - "parent_index": 6845 + "parent_index": 6847 }, "name": "balance", "type_description": { @@ -127683,11 +129479,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6833, - "is_pure": false + "referenced_declaration": 6835, + "is_pure": false, + "text": "balance" }, "right_expression": { - "id": 6847, + "id": 6849, "node_type": 16, "src": { "line": 3067, @@ -127695,7 +129492,7 @@ "start": 114128, "end": 114133, "length": 6, - "parent_index": 6845 + "parent_index": 6847 }, "name": "assets", "type_description": { @@ -127703,8 +129500,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6847, - "is_pure": false + "referenced_declaration": 6849, + "is_pure": false, + "text": "assets" }, "type_description": { "type_identifier": "t_bool", @@ -127712,7 +129510,7 @@ } }, { - "id": 6848, + "id": 6850, "node_type": 17, "kind": 50, "value": "BE: Funds not received", @@ -127723,7 +129521,7 @@ "start": 114136, "end": 114159, "length": 24, - "parent_index": 6843 + "parent_index": 6845 }, "type_description": { "type_identifier": "t_string_literal", @@ -127737,11 +129535,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BE: Funds not received\"" } ], "expression": { - "id": 6844, + "id": 6846, "node_type": 16, "src": { "line": 3067, @@ -127749,7 +129548,7 @@ "start": 114109, "end": 114115, "length": 7, - "parent_index": 6843 + "parent_index": 6845 }, "name": "require", "type_description": { @@ -127758,7 +129557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -127766,7 +129566,7 @@ } }, { - "id": 6849, + "id": 6851, "node_type": 24, "kind": 24, "src": { @@ -127775,7 +129575,7 @@ "start": 114171, "end": 114213, "length": 43, - "parent_index": 6823 + "parent_index": 6825 }, "argument_types": [ { @@ -127789,7 +129589,7 @@ ], "arguments": [ { - "id": 6852, + "id": 6854, "node_type": 24, "kind": 24, "src": { @@ -127798,7 +129598,7 @@ "start": 114190, "end": 114203, "length": 14, - "parent_index": 6849 + "parent_index": 6851 }, "argument_types": [ { @@ -127808,7 +129608,7 @@ ], "arguments": [ { - "id": 6855, + "id": 6857, "node_type": 16, "src": { "line": 3068, @@ -127816,7 +129616,7 @@ "start": 114198, "end": 114202, "length": 5, - "parent_index": 6852 + "parent_index": 6854 }, "name": "vault", "type_description": { @@ -127825,11 +129625,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 6853, + "id": 6855, "node_type": 16, "src": { "line": 3068, @@ -127837,11 +129638,11 @@ "start": 114190, "end": 114196, "length": 7, - "parent_index": 6852 + "parent_index": 6854 }, "name": "address", "type_name": { - "id": 6854, + "id": 6856, "node_type": 30, "src": { "line": 3068, @@ -127849,7 +129650,7 @@ "start": 114190, "end": 114196, "length": 7, - "parent_index": 6853 + "parent_index": 6855 }, "name": "address", "state_mutability": 4, @@ -127871,7 +129672,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -127879,7 +129681,7 @@ } }, { - "id": 6856, + "id": 6858, "node_type": 16, "src": { "line": 3068, @@ -127887,7 +129689,7 @@ "start": 114206, "end": 114212, "length": 7, - "parent_index": 6849 + "parent_index": 6851 }, "name": "balance", "type_description": { @@ -127895,18 +129697,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6833, + "referenced_declaration": 6835, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "balance" } ], "expression": { - "id": 6850, + "id": 6852, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -127918,7 +129721,7 @@ "start": 114171, "end": 114188, "length": 18, - "parent_index": 6849 + "parent_index": 6851 }, "member_location": { "line": 3068, @@ -127926,10 +129729,10 @@ "start": 114177, "end": 114188, "length": 12, - "parent_index": 6850 + "parent_index": 6852 }, "expression": { - "id": 6851, + "id": 6853, "node_type": 16, "src": { "line": 3068, @@ -127937,23 +129740,25 @@ "start": 114171, "end": 114175, "length": 5, - "parent_index": 6850 + "parent_index": 6852 }, "name": "asset", "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, "overloaded_declarations": [], - "referenced_declaration": 5021, - "is_pure": false + "referenced_declaration": 5022, + "is_pure": false, + "text": "asset" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" - } + }, + "text": "asset.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -127961,7 +129766,7 @@ } }, { - "id": 6857, + "id": 6859, "node_type": 64, "src": { "line": 3070, @@ -127969,11 +129774,11 @@ "start": 114225, "end": 114254, "length": 30, - "parent_index": 6815 + "parent_index": 6817 }, "arguments": [ { - "id": 6858, + "id": 6860, "node_type": 16, "src": { "line": 3070, @@ -127981,7 +129786,7 @@ "start": 114246, "end": 114252, "length": 7, - "parent_index": 6857 + "parent_index": 6859 }, "name": "balance", "type_description": { @@ -127989,12 +129794,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6833, - "is_pure": false + "referenced_declaration": 6835, + "is_pure": false, + "text": "balance" } ], "expression": { - "id": 6859, + "id": 6861, "node_type": 16, "src": { "line": 3070, @@ -128002,20 +129808,21 @@ "start": 114230, "end": 114244, "length": 15, - "parent_index": 6857 + "parent_index": 6859 }, "name": "TransferToVault", "type_description": { - "type_identifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266432", + "type_identifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266434", "type_string": "event BridgeEscrow.TransferToVault" }, "overloaded_declarations": [], - "referenced_declaration": 6432, - "is_pure": false + "referenced_declaration": 6434, + "is_pure": false, + "text": "TransferToVault" } }, { - "id": 6860, + "id": 6862, "node_type": 24, "kind": 24, "src": { @@ -128024,12 +129831,12 @@ "start": 114264, "end": 114283, "length": 20, - "parent_index": 6823 + "parent_index": 6825 }, "argument_types": [], "arguments": [], "expression": { - "id": 6861, + "id": 6863, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -128041,7 +129848,7 @@ "start": 114264, "end": 114281, "length": 18, - "parent_index": 6860 + "parent_index": 6862 }, "member_location": { "line": 3071, @@ -128049,10 +129856,10 @@ "start": 114270, "end": 114281, "length": 12, - "parent_index": 6861 + "parent_index": 6863 }, "expression": { - "id": 6862, + "id": 6864, "node_type": 16, "src": { "line": 3071, @@ -128060,23 +129867,25 @@ "start": 114264, "end": 114268, "length": 5, - "parent_index": 6861 + "parent_index": 6863 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6608, - "is_pure": false + "referenced_declaration": 6610, + "is_pure": false, + "text": "vault" }, "member_name": "afterReceive", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault.afterReceive" }, "type_description": { "type_identifier": "t_function_$", @@ -128092,7 +129901,7 @@ "modifiers": [], "overrides": [ { - "id": 6821, + "id": 6823, "node_type": 63, "src": { "line": 3059, @@ -128100,7 +129909,7 @@ "start": 113599, "end": 113606, "length": 8, - "parent_index": 6815 + "parent_index": 6817 }, "overrides": [], "referenced_declaration": 0, @@ -128111,7 +129920,7 @@ } ], "parameters": { - "id": 6816, + "id": 6818, "node_type": 43, "src": { "line": 3059, @@ -128119,11 +129928,11 @@ "start": 113548, "end": 113587, "length": 40, - "parent_index": 6815 + "parent_index": 6817 }, "parameters": [ { - "id": 6817, + "id": 6819, "node_type": 44, "src": { "line": 3059, @@ -128131,12 +129940,12 @@ "start": 113548, "end": 113561, "length": 14, - "parent_index": 6816 + "parent_index": 6818 }, - "scope": 6815, + "scope": 6817, "name": "assets", "type_name": { - "id": 6818, + "id": 6820, "node_type": 30, "src": { "line": 3059, @@ -128144,7 +129953,7 @@ "start": 113548, "end": 113554, "length": 7, - "parent_index": 6817 + "parent_index": 6819 }, "name": "uint256", "referenced_declaration": 0, @@ -128162,7 +129971,7 @@ } }, { - "id": 6819, + "id": 6821, "node_type": 44, "src": { "line": 3059, @@ -128170,12 +129979,12 @@ "start": 113564, "end": 113587, "length": 24, - "parent_index": 6816 + "parent_index": 6818 }, - "scope": 6815, + "scope": 6817, "name": "exitProof", "type_name": { - "id": 6820, + "id": 6822, "node_type": 30, "src": { "line": 3059, @@ -128183,7 +129992,7 @@ "start": 113564, "end": 113568, "length": 5, - "parent_index": 6819 + "parent_index": 6821 }, "name": "bytes", "referenced_declaration": 0, @@ -128213,7 +130022,7 @@ ] }, "return_parameters": { - "id": 6822, + "id": 6824, "node_type": 43, "src": { "line": 3059, @@ -128221,32 +130030,33 @@ "start": 113532, "end": 114290, "length": 759, - "parent_index": 6815 + "parent_index": 6817 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_clear(uint256, bytes)", - "signature": "1894c922", - "scope": 6776, + "signature_raw": "_clear(uint256,bytes)", + "signature": "5a7d604b", + "scope": 6778, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", "type_string": "function(uint256,bytes)" - } + }, + "text": "function_clear(uint256assets,bytescalldataexitProof)internaloverride{tryrootChainManager.exit(exitProof){}catch{}uint256balance=asset.balanceOf(address(this));require(balance\u003e=assets,\"BE: Funds not received\");asset.safeTransfer(address(vault),balance);emitTransferToVault(balance);vault.afterReceive();}" } ], "linearized_base_contracts": [ - 6344, - 6776, - 6771, - 6772, + 6346, + 6778, 6773, 6774, - 6775 + 6775, + 6776, + 6777 ], "base_contracts": [ { - "id": 6777, + "id": 6779, "node_type": 62, "src": { "line": 3046, @@ -128254,10 +130064,10 @@ "start": 113011, "end": 113022, "length": 12, - "parent_index": 6776 + "parent_index": 6778 }, "base_name": { - "id": 6778, + "id": 6780, "node_type": 52, "src": { "line": 3046, @@ -128265,20 +130075,20 @@ "start": 113011, "end": 113022, "length": 12, - "parent_index": 6776 + "parent_index": 6778 }, "name": "BridgeEscrow", - "referenced_declaration": 6344 + "referenced_declaration": 6346 } } ], "contract_dependencies": [ - 6344, - 6771, - 6772, + 6346, 6773, 6774, - 6775 + 6775, + 6776, + 6777 ] } ], @@ -128292,10 +130102,10 @@ } }, { - "id": 6863, + "id": 6865, "base_contracts": [ { - "id": 6950, + "id": 6952, "node_type": 62, "src": { "line": 3084, @@ -128303,10 +130113,10 @@ "start": 114567, "end": 114580, "length": 14, - "parent_index": 6949 + "parent_index": 6951 }, "base_name": { - "id": 6951, + "id": 6953, "node_type": 52, "src": { "line": 3084, @@ -128314,37 +130124,37 @@ "start": 114567, "end": 114580, "length": 14, - "parent_index": 6949 + "parent_index": 6951 }, "name": "WormholeRouter", - "referenced_declaration": 6513 + "referenced_declaration": 6515 } } ], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 6863, + "id": 6865, "name": "L1WormholeRouter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1WormholeRouter.sol" }, { - "id": 6695, + "id": 6697, "name": "IWormhole", "absolute_path": "IWormhole.sol" }, { - "id": 6695, + "id": 6697, "name": "L1Vault", "absolute_path": "L1Vault.sol" }, { - "id": 6695, + "id": 6697, "name": "WormholeRouter", "absolute_path": "WormholeRouter.sol" }, { - "id": 6695, + "id": 6697, "name": "Constants", "absolute_path": "Constants.sol" } @@ -128354,7 +130164,7 @@ "node_type": 1, "nodes": [ { - "id": 6890, + "id": 6892, "node_type": 10, "src": { "line": 3077, @@ -128362,7 +130172,7 @@ "start": 114333, "end": 114356, "length": 24, - "parent_index": 6863 + "parent_index": 6865 }, "literals": [ "pragma", @@ -128378,7 +130188,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 6945, + "id": 6947, "node_type": 29, "src": { "line": 3079, @@ -128386,18 +130196,18 @@ "start": 114359, "end": 114400, "length": 42, - "parent_index": 6863 + "parent_index": 6865 }, "absolute_path": "IWormhole.sol", "file": "./IWormhole.sol", - "scope": 6863, + "scope": 6865, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6695 + "source_unit": 6697 }, { - "id": 6946, + "id": 6948, "node_type": 29, "src": { "line": 3080, @@ -128405,18 +130215,18 @@ "start": 114402, "end": 114439, "length": 38, - "parent_index": 6863 + "parent_index": 6865 }, "absolute_path": "L1Vault.sol", "file": "./L1Vault.sol", - "scope": 6863, + "scope": 6865, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6695 + "source_unit": 6697 }, { - "id": 6947, + "id": 6949, "node_type": 29, "src": { "line": 3081, @@ -128424,18 +130234,18 @@ "start": 114441, "end": 114492, "length": 52, - "parent_index": 6863 + "parent_index": 6865 }, "absolute_path": "WormholeRouter.sol", "file": "./WormholeRouter.sol", - "scope": 6863, + "scope": 6865, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6695 + "source_unit": 6697 }, { - "id": 6948, + "id": 6950, "node_type": 29, "src": { "line": 3082, @@ -128443,18 +130253,18 @@ "start": 114494, "end": 114535, "length": 42, - "parent_index": 6863 + "parent_index": 6865 }, "absolute_path": "Constants.sol", "file": "./Constants.sol", - "scope": 6863, + "scope": 6865, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6695 + "source_unit": 6697 }, { - "id": 6949, + "id": 6951, "name": "L1WormholeRouter", "node_type": 35, "src": { @@ -128463,7 +130273,7 @@ "start": 114538, "end": 117225, "length": 2688, - "parent_index": 6863 + "parent_index": 6865 }, "name_location": { "line": 3084, @@ -128471,14 +130281,14 @@ "start": 114547, "end": 114562, "length": 16, - "parent_index": 6949 + "parent_index": 6951 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 6953, + "id": 6955, "name": "otherLayerWormholeId", "node_type": 42, "kind": 41, @@ -128488,7 +130298,7 @@ "start": 114588, "end": 114682, "length": 95, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3085, @@ -128496,10 +130306,10 @@ "start": 114597, "end": 114616, "length": 20, - "parent_index": 6953 + "parent_index": 6955 }, "body": { - "id": 6961, + "id": 6963, "node_type": 46, "kind": 0, "src": { @@ -128508,12 +130318,12 @@ "start": 114658, "end": 114682, "length": 25, - "parent_index": 6953 + "parent_index": 6955 }, "implemented": true, "statements": [ { - "id": 6962, + "id": 6964, "node_type": 47, "src": { "line": 3086, @@ -128521,11 +130331,11 @@ "start": 114668, "end": 114676, "length": 9, - "parent_index": 6953 + "parent_index": 6955 }, - "function_return_parameters": 6953, + "function_return_parameters": 6955, "expression": { - "id": 6963, + "id": 6965, "node_type": 17, "kind": 49, "value": "5", @@ -128536,7 +130346,7 @@ "start": 114675, "end": 114675, "length": 1, - "parent_index": 6962 + "parent_index": 6964 }, "type_description": { "type_identifier": "t_rational_5_by_1", @@ -128544,7 +130354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5" } } ] @@ -128556,7 +130367,7 @@ "modifiers": [], "overrides": [ { - "id": 6957, + "id": 6959, "node_type": 63, "src": { "line": 3085, @@ -128564,7 +130375,7 @@ "start": 114632, "end": 114639, "length": 8, - "parent_index": 6953 + "parent_index": 6955 }, "overrides": [], "referenced_declaration": 0, @@ -128575,7 +130386,7 @@ } ], "parameters": { - "id": 6954, + "id": 6956, "node_type": 43, "src": { "line": 3085, @@ -128583,11 +130394,11 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6953 + "parent_index": 6955 }, "parameters": [ { - "id": 6955, + "id": 6957, "node_type": 44, "src": { "line": 3085, @@ -128595,12 +130406,12 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6954 + "parent_index": 6956 }, - "scope": 6953, + "scope": 6955, "name": "", "type_name": { - "id": 6956, + "id": 6958, "node_type": 30, "src": { "line": 3085, @@ -128608,7 +130419,7 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6955 + "parent_index": 6957 }, "name": "uint16", "referenced_declaration": 0, @@ -128634,7 +130445,7 @@ ] }, "return_parameters": { - "id": 6958, + "id": 6960, "node_type": 43, "src": { "line": 3085, @@ -128642,11 +130453,11 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6953 + "parent_index": 6955 }, "parameters": [ { - "id": 6959, + "id": 6961, "node_type": 44, "src": { "line": 3085, @@ -128654,12 +130465,12 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6958 + "parent_index": 6960 }, - "scope": 6953, + "scope": 6955, "name": "", "type_name": { - "id": 6960, + "id": 6962, "node_type": 30, "src": { "line": 3085, @@ -128667,7 +130478,7 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6959 + "parent_index": 6961 }, "name": "uint16", "referenced_declaration": 0, @@ -128694,14 +130505,15 @@ }, "signature_raw": "otherLayerWormholeId(uint16)", "signature": "ea6e78ce", - "scope": 6949, + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_uint16$", "type_string": "function(uint16)" - } + }, + "text": "functionotherLayerWormholeId()publicpureoverridereturns(uint16){return5;}" }, { - "id": 6965, + "id": 6967, "node_type": 42, "src": { "line": 3089, @@ -128709,7 +130521,7 @@ "start": 114689, "end": 114773, "length": 85, - "parent_index": 6949 + "parent_index": 6951 }, "kind": 11, "state_mutability": 4, @@ -128717,7 +130529,7 @@ "implemented": true, "modifiers": [ { - "id": 6974, + "id": 6976, "name": "WormholeRouter", "node_type": 72, "kind": 72, @@ -128727,7 +130539,7 @@ "start": 114738, "end": 114770, "length": 33, - "parent_index": 6965 + "parent_index": 6967 }, "argument_types": [ { @@ -128738,7 +130550,7 @@ ], "arguments": [ { - "id": 6976, + "id": 6978, "node_type": 16, "src": { "line": 3089, @@ -128746,7 +130558,7 @@ "start": 114753, "end": 114758, "length": 6, - "parent_index": 6974 + "parent_index": 6976 }, "name": "_vault", "type_description": { @@ -128754,11 +130566,12 @@ "type_string": "contract L1Vault" }, "overloaded_declarations": [], - "referenced_declaration": 6976, - "is_pure": false + "referenced_declaration": 6978, + "is_pure": false, + "text": "_vault" }, { - "id": 6977, + "id": 6979, "node_type": 16, "src": { "line": 3089, @@ -128766,20 +130579,21 @@ "start": 114761, "end": 114769, "length": 9, - "parent_index": 6974 + "parent_index": 6976 }, "name": "_wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 6601, - "is_pure": false + "referenced_declaration": 6603, + "is_pure": false, + "text": "_wormhole" } ], "modifier_name": { - "id": 6975, + "id": 6977, "name": "WormholeRouter", "node_type": 0, "src": { @@ -128788,13 +130602,13 @@ "start": 114738, "end": 114751, "length": 14, - "parent_index": 6974 + "parent_index": 6976 } } } ], "parameters": { - "id": 6966, + "id": 6968, "node_type": 43, "src": { "line": 3089, @@ -128802,11 +130616,11 @@ "start": 114701, "end": 114735, "length": 35, - "parent_index": 6965 + "parent_index": 6967 }, "parameters": [ { - "id": 6967, + "id": 6969, "node_type": 44, "src": { "line": 3089, @@ -128814,12 +130628,12 @@ "start": 114701, "end": 114714, "length": 14, - "parent_index": 6966 + "parent_index": 6968 }, - "scope": 6965, + "scope": 6967, "name": "_vault", "type_name": { - "id": 6968, + "id": 6970, "node_type": 69, "src": { "line": 3089, @@ -128827,10 +130641,10 @@ "start": 114701, "end": 114707, "length": 7, - "parent_index": 6967 + "parent_index": 6969 }, "path_node": { - "id": 6969, + "id": 6971, "name": "L1Vault", "node_type": 52, "referenced_declaration": 441, @@ -128840,7 +130654,7 @@ "start": 114701, "end": 114707, "length": 7, - "parent_index": 6968 + "parent_index": 6970 }, "name_location": { "line": 3089, @@ -128848,7 +130662,7 @@ "start": 114701, "end": 114707, "length": 7, - "parent_index": 6968 + "parent_index": 6970 } }, "referenced_declaration": 441, @@ -128866,7 +130680,7 @@ } }, { - "id": 6970, + "id": 6972, "node_type": 44, "src": { "line": 3089, @@ -128874,12 +130688,12 @@ "start": 114717, "end": 114735, "length": 19, - "parent_index": 6966 + "parent_index": 6968 }, - "scope": 6965, + "scope": 6967, "name": "_wormhole", "type_name": { - "id": 6971, + "id": 6973, "node_type": 69, "src": { "line": 3089, @@ -128887,10 +130701,10 @@ "start": 114717, "end": 114725, "length": 9, - "parent_index": 6970 + "parent_index": 6972 }, "path_node": { - "id": 6972, + "id": 6974, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -128900,7 +130714,7 @@ "start": 114717, "end": 114725, "length": 9, - "parent_index": 6971 + "parent_index": 6973 }, "name_location": { "line": 3089, @@ -128908,12 +130722,12 @@ "start": 114717, "end": 114725, "length": 9, - "parent_index": 6971 + "parent_index": 6973 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, @@ -128931,7 +130745,7 @@ ] }, "return_parameters": { - "id": 6973, + "id": 6975, "node_type": 43, "src": { "line": 3089, @@ -128939,14 +130753,14 @@ "start": 114689, "end": 114773, "length": 85, - "parent_index": 6965 + "parent_index": 6967 }, "parameters": [], "parameter_types": [] }, - "scope": 6949, + "scope": 6951, "body": { - "id": 6978, + "id": 6980, "node_type": 46, "kind": 0, "src": { @@ -128955,14 +130769,14 @@ "start": 114772, "end": 114773, "length": 2, - "parent_index": 6965 + "parent_index": 6967 }, "implemented": true, "statements": [] } }, { - "id": 6980, + "id": 6982, "name": "reportTVL", "node_type": 42, "kind": 41, @@ -128972,7 +130786,7 @@ "start": 114953, "end": 115441, "length": 489, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3096, @@ -128980,10 +130794,10 @@ "start": 114962, "end": 114970, "length": 9, - "parent_index": 6980 + "parent_index": 6982 }, "body": { - "id": 6987, + "id": 6989, "node_type": 46, "kind": 0, "src": { @@ -128992,12 +130806,12 @@ "start": 115017, "end": 115441, "length": 425, - "parent_index": 6980 + "parent_index": 6982 }, "implemented": true, "statements": [ { - "id": 6988, + "id": 6990, "node_type": 24, "kind": 24, "src": { @@ -129006,7 +130820,7 @@ "start": 115027, "end": 115081, "length": 55, - "parent_index": 6987 + "parent_index": 6989 }, "argument_types": [ { @@ -129020,7 +130834,7 @@ ], "arguments": [ { - "id": 6990, + "id": 6992, "is_constant": false, "is_pure": false, "node_type": 19, @@ -129030,11 +130844,11 @@ "start": 115035, "end": 115062, "length": 28, - "parent_index": 6988 + "parent_index": 6990 }, "operator": 11, "left_expression": { - "id": 6991, + "id": 6993, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -129046,7 +130860,7 @@ "start": 115035, "end": 115044, "length": 10, - "parent_index": 6990 + "parent_index": 6992 }, "member_location": { "line": 3097, @@ -129054,10 +130868,10 @@ "start": 115039, "end": 115044, "length": 6, - "parent_index": 6991 + "parent_index": 6993 }, "expression": { - "id": 6992, + "id": 6994, "node_type": 16, "src": { "line": 3097, @@ -129065,7 +130879,7 @@ "start": 115035, "end": 115037, "length": 3, - "parent_index": 6991 + "parent_index": 6993 }, "name": "msg", "type_description": { @@ -129074,17 +130888,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 6993, + "id": 6995, "node_type": 24, "kind": 24, "src": { @@ -129093,7 +130909,7 @@ "start": 115049, "end": 115062, "length": 14, - "parent_index": 6990 + "parent_index": 6992 }, "argument_types": [ { @@ -129103,7 +130919,7 @@ ], "arguments": [ { - "id": 6996, + "id": 6998, "node_type": 16, "src": { "line": 3097, @@ -129111,7 +130927,7 @@ "start": 115057, "end": 115061, "length": 5, - "parent_index": 6993 + "parent_index": 6995 }, "name": "vault", "type_description": { @@ -129120,11 +130936,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 6994, + "id": 6996, "node_type": 16, "src": { "line": 3097, @@ -129132,11 +130949,11 @@ "start": 115049, "end": 115055, "length": 7, - "parent_index": 6993 + "parent_index": 6995 }, "name": "address", "type_name": { - "id": 6995, + "id": 6997, "node_type": 30, "src": { "line": 3097, @@ -129144,7 +130961,7 @@ "start": 115049, "end": 115055, "length": 7, - "parent_index": 6994 + "parent_index": 6996 }, "name": "address", "state_mutability": 4, @@ -129166,7 +130983,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -129179,7 +130997,7 @@ } }, { - "id": 6997, + "id": 6999, "node_type": 17, "kind": 50, "value": "WR: only vault", @@ -129190,7 +131008,7 @@ "start": 115065, "end": 115080, "length": 16, - "parent_index": 6988 + "parent_index": 6990 }, "type_description": { "type_identifier": "t_string_literal", @@ -129204,11 +131022,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: only vault\"" } ], "expression": { - "id": 6989, + "id": 6991, "node_type": 16, "src": { "line": 3097, @@ -129216,7 +131035,7 @@ "start": 115027, "end": 115033, "length": 7, - "parent_index": 6988 + "parent_index": 6990 }, "name": "require", "type_description": { @@ -129225,7 +131044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -129233,7 +131053,7 @@ } }, { - "id": 6998, + "id": 7000, "node_type": 44, "src": { "line": 3098, @@ -129241,25 +131061,25 @@ "start": 115092, "end": 115158, "length": 67, - "parent_index": 6987 + "parent_index": 6989 }, "assignments": [ - 6999 + 7001 ], "declarations": [ { - "id": 6999, + "id": 7001, "state_mutability": 1, "name": "payload", "node_type": 44, - "scope": 6987, + "scope": 6989, "src": { "line": 3098, "column": 8, "start": 115092, "end": 115111, "length": 20, - "parent_index": 6998 + "parent_index": 7000 }, "name_location": { "line": 3098, @@ -129267,12 +131087,12 @@ "start": 115105, "end": 115111, "length": 7, - "parent_index": 6999 + "parent_index": 7001 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7000, + "id": 7002, "node_type": 30, "src": { "line": 3098, @@ -129280,7 +131100,7 @@ "start": 115092, "end": 115096, "length": 5, - "parent_index": 6999 + "parent_index": 7001 }, "name": "bytes", "referenced_declaration": 0, @@ -129293,7 +131113,7 @@ } ], "initial_value": { - "id": 7001, + "id": 7003, "node_type": 24, "kind": 24, "src": { @@ -129302,7 +131122,7 @@ "start": 115115, "end": 115157, "length": 43, - "parent_index": 6998 + "parent_index": 7000 }, "argument_types": [ null, @@ -129317,7 +131137,7 @@ ], "arguments": [ { - "id": 7004, + "id": 7006, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -129329,7 +131149,7 @@ "start": 115126, "end": 115141, "length": 16, - "parent_index": 7001 + "parent_index": 7003 }, "member_location": { "line": 3098, @@ -129337,10 +131157,10 @@ "start": 115136, "end": 115141, "length": 6, - "parent_index": 7004 + "parent_index": 7006 }, "expression": { - "id": 7005, + "id": 7007, "node_type": 16, "src": { "line": 3098, @@ -129348,27 +131168,29 @@ "start": 115126, "end": 115134, "length": 9, - "parent_index": 7004 + "parent_index": 7006 }, "name": "Constants", "type_description": { - "type_identifier": "t_contract$_Constants_$7468", + "type_identifier": "t_contract$_Constants_$7470", "type_string": "contract Constants" }, "overloaded_declarations": [], - "referenced_declaration": 7468, - "is_pure": false + "referenced_declaration": 7470, + "is_pure": false, + "text": "Constants" }, "member_name": "L1_TVL", "argument_types": [], - "referenced_declaration": 8164, + "referenced_declaration": 8168, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" - } + }, + "text": "Constants.L1_TVL" }, { - "id": 7006, + "id": 7008, "node_type": 16, "src": { "line": 3098, @@ -129376,7 +131198,7 @@ "start": 115144, "end": 115146, "length": 3, - "parent_index": 7001 + "parent_index": 7003 }, "name": "tvl", "type_description": { @@ -129384,11 +131206,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 7006, - "is_pure": false + "referenced_declaration": 7008, + "is_pure": false, + "text": "tvl" }, { - "id": 7007, + "id": 7009, "node_type": 16, "src": { "line": 3098, @@ -129396,7 +131219,7 @@ "start": 115149, "end": 115156, "length": 8, - "parent_index": 7001 + "parent_index": 7003 }, "name": "received", "type_description": { @@ -129404,18 +131227,19 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 7007, + "referenced_declaration": 7009, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "received" } ], "expression": { - "id": 7002, + "id": 7004, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -129427,7 +131251,7 @@ "start": 115115, "end": 115124, "length": 10, - "parent_index": 7001 + "parent_index": 7003 }, "member_location": { "line": 3098, @@ -129435,10 +131259,10 @@ "start": 115119, "end": 115124, "length": 6, - "parent_index": 7002 + "parent_index": 7004 }, "expression": { - "id": 7003, + "id": 7005, "node_type": 16, "src": { "line": 3098, @@ -129446,7 +131270,7 @@ "start": 115115, "end": 115117, "length": 3, - "parent_index": 7002 + "parent_index": 7004 }, "name": "abi", "type_description": { @@ -129455,23 +131279,25 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { - "type_identifier": "t_function_$_t_unknown_7001$_t_uint256$_t_bool$", - "type_string": "function(unknown_7001,uint256,bool)" + "type_identifier": "t_function_$_t_unknown_7003$_t_uint256$_t_bool$", + "type_string": "function(unknown_7003,uint256,bool)" } } }, { - "id": 7008, + "id": 7010, "node_type": 44, "src": { "line": 3101, @@ -129479,25 +131305,25 @@ "start": 115285, "end": 115339, "length": 55, - "parent_index": 6987 + "parent_index": 6989 }, "assignments": [ - 7009 + 7011 ], "declarations": [ { - "id": 7009, + "id": 7011, "state_mutability": 1, "name": "sequence", "node_type": 44, - "scope": 6987, + "scope": 6989, "src": { "line": 3101, "column": 8, "start": 115285, "end": 115299, "length": 15, - "parent_index": 7008 + "parent_index": 7010 }, "name_location": { "line": 3101, @@ -129505,12 +131331,12 @@ "start": 115292, "end": 115299, "length": 8, - "parent_index": 7009 + "parent_index": 7011 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7010, + "id": 7012, "node_type": 30, "src": { "line": 3101, @@ -129518,7 +131344,7 @@ "start": 115285, "end": 115290, "length": 6, - "parent_index": 7009 + "parent_index": 7011 }, "name": "uint64", "referenced_declaration": 0, @@ -129531,7 +131357,7 @@ } ], "initial_value": { - "id": 7011, + "id": 7013, "node_type": 24, "kind": 24, "src": { @@ -129540,7 +131366,7 @@ "start": 115303, "end": 115338, "length": 36, - "parent_index": 7008 + "parent_index": 7010 }, "argument_types": [ { @@ -129550,7 +131376,7 @@ ], "arguments": [ { - "id": 7014, + "id": 7016, "node_type": 24, "kind": 24, "src": { @@ -129559,17 +131385,17 @@ "start": 115325, "end": 115337, "length": 13, - "parent_index": 7011 + "parent_index": 7013 }, "argument_types": [ { - "type_identifier": "t_contract$_L1WormholeRouter_$6863", + "type_identifier": "t_contract$_L1WormholeRouter_$6865", "type_string": "contract L1WormholeRouter" } ], "arguments": [ { - "id": 7017, + "id": 7019, "node_type": 16, "src": { "line": 3101, @@ -129577,20 +131403,21 @@ "start": 115333, "end": 115336, "length": 4, - "parent_index": 7014 + "parent_index": 7016 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_L1WormholeRouter_$6863", + "type_identifier": "t_contract$_L1WormholeRouter_$6865", "type_string": "contract L1WormholeRouter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 7015, + "id": 7017, "node_type": 16, "src": { "line": 3101, @@ -129598,11 +131425,11 @@ "start": 115325, "end": 115331, "length": 7, - "parent_index": 7014 + "parent_index": 7016 }, "name": "address", "type_name": { - "id": 7016, + "id": 7018, "node_type": 30, "src": { "line": 3101, @@ -129610,7 +131437,7 @@ "start": 115325, "end": 115331, "length": 7, - "parent_index": 7015 + "parent_index": 7017 }, "name": "address", "state_mutability": 4, @@ -129632,7 +131459,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -129641,7 +131469,7 @@ } ], "expression": { - "id": 7012, + "id": 7014, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -129653,7 +131481,7 @@ "start": 115303, "end": 115323, "length": 21, - "parent_index": 7011 + "parent_index": 7013 }, "member_location": { "line": 3101, @@ -129661,10 +131489,10 @@ "start": 115312, "end": 115323, "length": 12, - "parent_index": 7012 + "parent_index": 7014 }, "expression": { - "id": 7013, + "id": 7015, "node_type": 16, "src": { "line": 3101, @@ -129672,24 +131500,26 @@ "start": 115303, "end": 115310, "length": 8, - "parent_index": 7012 + "parent_index": 7014 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "nextSequence", "argument_types": [], - "referenced_declaration": 7012, + "referenced_declaration": 7462, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", - "type_string": "contract IWormhole" - } + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "wormhole.nextSequence" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -129698,7 +131528,7 @@ } }, { - "id": 7018, + "id": 7020, "node_type": 24, "kind": 24, "src": { @@ -129707,7 +131537,7 @@ "start": 115349, "end": 115434, "length": 86, - "parent_index": 6987 + "parent_index": 6989 }, "argument_types": [ { @@ -129725,7 +131555,7 @@ ], "arguments": [ { - "id": 7022, + "id": 7024, "node_type": 24, "kind": 24, "src": { @@ -129734,7 +131564,7 @@ "start": 115391, "end": 115406, "length": 16, - "parent_index": 7018 + "parent_index": 7020 }, "argument_types": [ { @@ -129744,7 +131574,7 @@ ], "arguments": [ { - "id": 7025, + "id": 7027, "node_type": 16, "src": { "line": 3102, @@ -129752,7 +131582,7 @@ "start": 115398, "end": 115405, "length": 8, - "parent_index": 7022 + "parent_index": 7024 }, "name": "sequence", "type_description": { @@ -129760,12 +131590,13 @@ "type_string": "uint64" }, "overloaded_declarations": [], - "referenced_declaration": 7008, - "is_pure": false + "referenced_declaration": 7010, + "is_pure": false, + "text": "sequence" } ], "expression": { - "id": 7023, + "id": 7025, "node_type": 16, "src": { "line": 3102, @@ -129773,11 +131604,11 @@ "start": 115391, "end": 115396, "length": 6, - "parent_index": 7022 + "parent_index": 7024 }, "name": "uint32", "type_name": { - "id": 7024, + "id": 7026, "node_type": 30, "src": { "line": 3102, @@ -129785,7 +131616,7 @@ "start": 115391, "end": 115396, "length": 6, - "parent_index": 7023 + "parent_index": 7025 }, "name": "uint32", "referenced_declaration": 0, @@ -129806,7 +131637,8 @@ "type_identifier": "t_uint32", "type_string": "uint32" } - ] + ], + "text": "uint32" }, "type_description": { "type_identifier": "t_function_$_t_uint64$", @@ -129814,7 +131646,7 @@ } }, { - "id": 7026, + "id": 7028, "node_type": 16, "src": { "line": 3102, @@ -129822,7 +131654,7 @@ "start": 115409, "end": 115415, "length": 7, - "parent_index": 7018 + "parent_index": 7020 }, "name": "payload", "type_description": { @@ -129830,17 +131662,18 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 6998, + "referenced_declaration": 7000, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_uint64$", "type_string": "function(uint64)" } - ] + ], + "text": "payload" }, { - "id": 7027, + "id": 7029, "node_type": 16, "src": { "line": 3102, @@ -129848,7 +131681,7 @@ "start": 115418, "end": 115433, "length": 16, - "parent_index": 7018 + "parent_index": 7020 }, "name": "consistencyLevel", "type_description": { @@ -129867,11 +131700,12 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "consistencyLevel" } ], "expression": { - "id": 7019, + "id": 7021, "node_type": 93, "kind": 93, "src": { @@ -129880,10 +131714,10 @@ "start": 115349, "end": 115389, "length": 41, - "parent_index": 7018 + "parent_index": 7020 }, "expression": { - "id": 7020, + "id": 7022, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -129895,7 +131729,7 @@ "start": 115349, "end": 115371, "length": 23, - "parent_index": 7019 + "parent_index": 7021 }, "member_location": { "line": 3102, @@ -129903,10 +131737,10 @@ "start": 115358, "end": 115371, "length": 14, - "parent_index": 7020 + "parent_index": 7022 }, "expression": { - "id": 7021, + "id": 7023, "node_type": 16, "src": { "line": 3102, @@ -129914,29 +131748,31 @@ "start": 115349, "end": 115356, "length": 8, - "parent_index": 7020 + "parent_index": 7022 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "publishMessage", "argument_types": [], - "referenced_declaration": 7066, + "referenced_declaration": 7022, "type_description": { - "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "type_string": "function(uint32,bytes,uint8)" - } + "type_identifier": "t_contract$_IWormhole_$7310", + "type_string": "contract IWormhole" + }, + "text": "wormhole.publishMessage" }, - "referenced_declaration": 7066, + "referenced_declaration": 7022, "type_description": { - "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "type_string": "function(uint32,bytes,uint8)" + "type_identifier": "t_contract$_IWormhole_$7310", + "type_string": "contract IWormhole" } }, "type_description": { @@ -129953,7 +131789,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6981, + "id": 6983, "node_type": 43, "src": { "line": 3096, @@ -129961,11 +131797,11 @@ "start": 114972, "end": 114997, "length": 26, - "parent_index": 6980 + "parent_index": 6982 }, "parameters": [ { - "id": 6982, + "id": 6984, "node_type": 44, "src": { "line": 3096, @@ -129973,12 +131809,12 @@ "start": 114972, "end": 114982, "length": 11, - "parent_index": 6981 + "parent_index": 6983 }, - "scope": 6980, + "scope": 6982, "name": "tvl", "type_name": { - "id": 6983, + "id": 6985, "node_type": 30, "src": { "line": 3096, @@ -129986,7 +131822,7 @@ "start": 114972, "end": 114978, "length": 7, - "parent_index": 6982 + "parent_index": 6984 }, "name": "uint256", "referenced_declaration": 0, @@ -130004,7 +131840,7 @@ } }, { - "id": 6984, + "id": 6986, "node_type": 44, "src": { "line": 3096, @@ -130012,12 +131848,12 @@ "start": 114985, "end": 114997, "length": 13, - "parent_index": 6981 + "parent_index": 6983 }, - "scope": 6980, + "scope": 6982, "name": "received", "type_name": { - "id": 6985, + "id": 6987, "node_type": 30, "src": { "line": 3096, @@ -130025,7 +131861,7 @@ "start": 114985, "end": 114988, "length": 4, - "parent_index": 6984 + "parent_index": 6986 }, "name": "bool", "referenced_declaration": 0, @@ -130055,7 +131891,7 @@ ] }, "return_parameters": { - "id": 6986, + "id": 6988, "node_type": 43, "src": { "line": 3096, @@ -130063,21 +131899,22 @@ "start": 114953, "end": 115441, "length": 489, - "parent_index": 6980 + "parent_index": 6982 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "reportTVL(uint256, bool)", - "signature": "9353987b", - "scope": 6949, + "signature_raw": "reportTVL(uint256,bool)", + "signature": "3593d993", + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bool$", "type_string": "function(uint256,bool)" - } + }, + "text": "functionreportTVL(uint256tvl,boolreceived)externalpayable{require(msg.sender==address(vault),\"WR: only vault\");bytesmemorypayload=abi.encode(Constants.L1_TVL,tvl,received);uint64sequence=wormhole.nextSequence(address(this));wormhole.publishMessage{value:msg.value}(uint32(sequence),payload,consistencyLevel);}" }, { - "id": 7029, + "id": 7031, "name": "reportFundTransfer", "node_type": 42, "kind": 41, @@ -130087,7 +131924,7 @@ "start": 115520, "end": 115898, "length": 379, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3106, @@ -130095,10 +131932,10 @@ "start": 115529, "end": 115546, "length": 18, - "parent_index": 7029 + "parent_index": 7031 }, "body": { - "id": 7034, + "id": 7036, "node_type": 46, "kind": 0, "src": { @@ -130107,12 +131944,12 @@ "start": 115581, "end": 115898, "length": 318, - "parent_index": 7029 + "parent_index": 7031 }, "implemented": true, "statements": [ { - "id": 7035, + "id": 7037, "node_type": 24, "kind": 24, "src": { @@ -130121,7 +131958,7 @@ "start": 115591, "end": 115645, "length": 55, - "parent_index": 7034 + "parent_index": 7036 }, "argument_types": [ { @@ -130135,7 +131972,7 @@ ], "arguments": [ { - "id": 7037, + "id": 7039, "is_constant": false, "is_pure": false, "node_type": 19, @@ -130145,11 +131982,11 @@ "start": 115599, "end": 115626, "length": 28, - "parent_index": 7035 + "parent_index": 7037 }, "operator": 11, "left_expression": { - "id": 7038, + "id": 7040, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -130161,7 +131998,7 @@ "start": 115599, "end": 115608, "length": 10, - "parent_index": 7037 + "parent_index": 7039 }, "member_location": { "line": 3107, @@ -130169,10 +132006,10 @@ "start": 115603, "end": 115608, "length": 6, - "parent_index": 7038 + "parent_index": 7040 }, "expression": { - "id": 7039, + "id": 7041, "node_type": 16, "src": { "line": 3107, @@ -130180,7 +132017,7 @@ "start": 115599, "end": 115601, "length": 3, - "parent_index": 7038 + "parent_index": 7040 }, "name": "msg", "type_description": { @@ -130189,17 +132026,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 7040, + "id": 7042, "node_type": 24, "kind": 24, "src": { @@ -130208,7 +132047,7 @@ "start": 115613, "end": 115626, "length": 14, - "parent_index": 7037 + "parent_index": 7039 }, "argument_types": [ { @@ -130218,7 +132057,7 @@ ], "arguments": [ { - "id": 7043, + "id": 7045, "node_type": 16, "src": { "line": 3107, @@ -130226,7 +132065,7 @@ "start": 115621, "end": 115625, "length": 5, - "parent_index": 7040 + "parent_index": 7042 }, "name": "vault", "type_description": { @@ -130235,11 +132074,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 7041, + "id": 7043, "node_type": 16, "src": { "line": 3107, @@ -130247,11 +132087,11 @@ "start": 115613, "end": 115619, "length": 7, - "parent_index": 7040 + "parent_index": 7042 }, "name": "address", "type_name": { - "id": 7042, + "id": 7044, "node_type": 30, "src": { "line": 3107, @@ -130259,7 +132099,7 @@ "start": 115613, "end": 115619, "length": 7, - "parent_index": 7041 + "parent_index": 7043 }, "name": "address", "state_mutability": 4, @@ -130281,7 +132121,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -130294,7 +132135,7 @@ } }, { - "id": 7044, + "id": 7046, "node_type": 17, "kind": 50, "value": "WR: only vault", @@ -130305,7 +132146,7 @@ "start": 115629, "end": 115644, "length": 16, - "parent_index": 7035 + "parent_index": 7037 }, "type_description": { "type_identifier": "t_string_literal", @@ -130319,11 +132160,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: only vault\"" } ], "expression": { - "id": 7036, + "id": 7038, "node_type": 16, "src": { "line": 3107, @@ -130331,7 +132173,7 @@ "start": 115591, "end": 115597, "length": 7, - "parent_index": 7035 + "parent_index": 7037 }, "name": "require", "type_description": { @@ -130340,7 +132182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -130348,7 +132191,7 @@ } }, { - "id": 7045, + "id": 7047, "node_type": 44, "src": { "line": 3108, @@ -130356,25 +132199,25 @@ "start": 115656, "end": 115732, "length": 77, - "parent_index": 7034 + "parent_index": 7036 }, "assignments": [ - 7046 + 7048 ], "declarations": [ { - "id": 7046, + "id": 7048, "state_mutability": 1, "name": "payload", "node_type": 44, - "scope": 7034, + "scope": 7036, "src": { "line": 3108, "column": 8, "start": 115656, "end": 115675, "length": 20, - "parent_index": 7045 + "parent_index": 7047 }, "name_location": { "line": 3108, @@ -130382,12 +132225,12 @@ "start": 115669, "end": 115675, "length": 7, - "parent_index": 7046 + "parent_index": 7048 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7047, + "id": 7049, "node_type": 30, "src": { "line": 3108, @@ -130395,7 +132238,7 @@ "start": 115656, "end": 115660, "length": 5, - "parent_index": 7046 + "parent_index": 7048 }, "name": "bytes", "referenced_declaration": 0, @@ -130408,7 +132251,7 @@ } ], "initial_value": { - "id": 7048, + "id": 7050, "node_type": 24, "kind": 24, "src": { @@ -130417,7 +132260,7 @@ "start": 115679, "end": 115731, "length": 53, - "parent_index": 7045 + "parent_index": 7047 }, "argument_types": [ null, @@ -130428,7 +132271,7 @@ ], "arguments": [ { - "id": 7051, + "id": 7053, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -130440,7 +132283,7 @@ "start": 115690, "end": 115722, "length": 33, - "parent_index": 7048 + "parent_index": 7050 }, "member_location": { "line": 3108, @@ -130448,10 +132291,10 @@ "start": 115700, "end": 115722, "length": 23, - "parent_index": 7051 + "parent_index": 7053 }, "expression": { - "id": 7052, + "id": 7054, "node_type": 16, "src": { "line": 3108, @@ -130459,27 +132302,29 @@ "start": 115690, "end": 115698, "length": 9, - "parent_index": 7051 + "parent_index": 7053 }, "name": "Constants", "type_description": { - "type_identifier": "t_contract$_Constants_$7468", + "type_identifier": "t_contract$_Constants_$7470", "type_string": "contract Constants" }, "overloaded_declarations": [], - "referenced_declaration": 7468, - "is_pure": false + "referenced_declaration": 7470, + "is_pure": false, + "text": "Constants" }, "member_name": "L1_FUND_TRANSFER_REPORT", "argument_types": [], - "referenced_declaration": 8169, + "referenced_declaration": 8173, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" - } + }, + "text": "Constants.L1_FUND_TRANSFER_REPORT" }, { - "id": 7053, + "id": 7055, "node_type": 16, "src": { "line": 3108, @@ -130487,7 +132332,7 @@ "start": 115725, "end": 115730, "length": 6, - "parent_index": 7048 + "parent_index": 7050 }, "name": "amount", "type_description": { @@ -130495,12 +132340,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 7053, - "is_pure": false + "referenced_declaration": 7055, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 7049, + "id": 7051, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -130512,7 +132358,7 @@ "start": 115679, "end": 115688, "length": 10, - "parent_index": 7048 + "parent_index": 7050 }, "member_location": { "line": 3108, @@ -130520,10 +132366,10 @@ "start": 115683, "end": 115688, "length": 6, - "parent_index": 7049 + "parent_index": 7051 }, "expression": { - "id": 7050, + "id": 7052, "node_type": 16, "src": { "line": 3108, @@ -130531,7 +132377,7 @@ "start": 115679, "end": 115681, "length": 3, - "parent_index": 7049 + "parent_index": 7051 }, "name": "abi", "type_description": { @@ -130540,23 +132386,25 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { - "type_identifier": "t_function_$_t_unknown_7048$_t_uint256$", - "type_string": "function(unknown_7048,uint256)" + "type_identifier": "t_function_$_t_unknown_7050$_t_uint256$", + "type_string": "function(unknown_7050,uint256)" } } }, { - "id": 7054, + "id": 7056, "node_type": 44, "src": { "line": 3109, @@ -130564,25 +132412,25 @@ "start": 115742, "end": 115796, "length": 55, - "parent_index": 7034 + "parent_index": 7036 }, "assignments": [ - 7055 + 7057 ], "declarations": [ { - "id": 7055, + "id": 7057, "state_mutability": 1, "name": "sequence", "node_type": 44, - "scope": 7034, + "scope": 7036, "src": { "line": 3109, "column": 8, "start": 115742, "end": 115756, "length": 15, - "parent_index": 7054 + "parent_index": 7056 }, "name_location": { "line": 3109, @@ -130590,12 +132438,12 @@ "start": 115749, "end": 115756, "length": 8, - "parent_index": 7055 + "parent_index": 7057 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7056, + "id": 7058, "node_type": 30, "src": { "line": 3109, @@ -130603,7 +132451,7 @@ "start": 115742, "end": 115747, "length": 6, - "parent_index": 7055 + "parent_index": 7057 }, "name": "uint64", "referenced_declaration": 0, @@ -130616,7 +132464,7 @@ } ], "initial_value": { - "id": 7057, + "id": 7059, "node_type": 24, "kind": 24, "src": { @@ -130625,7 +132473,7 @@ "start": 115760, "end": 115795, "length": 36, - "parent_index": 7054 + "parent_index": 7056 }, "argument_types": [ { @@ -130635,7 +132483,7 @@ ], "arguments": [ { - "id": 7060, + "id": 7062, "node_type": 24, "kind": 24, "src": { @@ -130644,17 +132492,17 @@ "start": 115782, "end": 115794, "length": 13, - "parent_index": 7057 + "parent_index": 7059 }, "argument_types": [ { - "type_identifier": "t_contract$_L1WormholeRouter_$6863", + "type_identifier": "t_contract$_L1WormholeRouter_$6865", "type_string": "contract L1WormholeRouter" } ], "arguments": [ { - "id": 7063, + "id": 7065, "node_type": 16, "src": { "line": 3109, @@ -130662,20 +132510,21 @@ "start": 115790, "end": 115793, "length": 4, - "parent_index": 7060 + "parent_index": 7062 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_L1WormholeRouter_$6863", + "type_identifier": "t_contract$_L1WormholeRouter_$6865", "type_string": "contract L1WormholeRouter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 7061, + "id": 7063, "node_type": 16, "src": { "line": 3109, @@ -130683,11 +132532,11 @@ "start": 115782, "end": 115788, "length": 7, - "parent_index": 7060 + "parent_index": 7062 }, "name": "address", "type_name": { - "id": 7062, + "id": 7064, "node_type": 30, "src": { "line": 3109, @@ -130695,7 +132544,7 @@ "start": 115782, "end": 115788, "length": 7, - "parent_index": 7061 + "parent_index": 7063 }, "name": "address", "state_mutability": 4, @@ -130717,7 +132566,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -130726,7 +132576,7 @@ } ], "expression": { - "id": 7058, + "id": 7060, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -130738,7 +132588,7 @@ "start": 115760, "end": 115780, "length": 21, - "parent_index": 7057 + "parent_index": 7059 }, "member_location": { "line": 3109, @@ -130746,10 +132596,10 @@ "start": 115769, "end": 115780, "length": 12, - "parent_index": 7058 + "parent_index": 7060 }, "expression": { - "id": 7059, + "id": 7061, "node_type": 16, "src": { "line": 3109, @@ -130757,24 +132607,26 @@ "start": 115760, "end": 115767, "length": 8, - "parent_index": 7058 + "parent_index": 7060 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "nextSequence", "argument_types": [], - "referenced_declaration": 7012, + "referenced_declaration": 7014, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", - "type_string": "contract IWormhole" - } + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "wormhole.nextSequence" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -130783,7 +132635,7 @@ } }, { - "id": 7064, + "id": 7066, "node_type": 24, "kind": 24, "src": { @@ -130792,7 +132644,7 @@ "start": 115806, "end": 115891, "length": 86, - "parent_index": 7034 + "parent_index": 7036 }, "argument_types": [ { @@ -130810,7 +132662,7 @@ ], "arguments": [ { - "id": 7068, + "id": 7070, "node_type": 24, "kind": 24, "src": { @@ -130819,7 +132671,7 @@ "start": 115848, "end": 115863, "length": 16, - "parent_index": 7064 + "parent_index": 7066 }, "argument_types": [ { @@ -130829,7 +132681,7 @@ ], "arguments": [ { - "id": 7071, + "id": 7073, "node_type": 16, "src": { "line": 3110, @@ -130837,7 +132689,7 @@ "start": 115855, "end": 115862, "length": 8, - "parent_index": 7068 + "parent_index": 7070 }, "name": "sequence", "type_description": { @@ -130845,12 +132697,13 @@ "type_string": "uint64" }, "overloaded_declarations": [], - "referenced_declaration": 7054, - "is_pure": false + "referenced_declaration": 7056, + "is_pure": false, + "text": "sequence" } ], "expression": { - "id": 7069, + "id": 7071, "node_type": 16, "src": { "line": 3110, @@ -130858,11 +132711,11 @@ "start": 115848, "end": 115853, "length": 6, - "parent_index": 7068 + "parent_index": 7070 }, "name": "uint32", "type_name": { - "id": 7070, + "id": 7072, "node_type": 30, "src": { "line": 3110, @@ -130870,7 +132723,7 @@ "start": 115848, "end": 115853, "length": 6, - "parent_index": 7069 + "parent_index": 7071 }, "name": "uint32", "referenced_declaration": 0, @@ -130891,7 +132744,8 @@ "type_identifier": "t_uint32", "type_string": "uint32" } - ] + ], + "text": "uint32" }, "type_description": { "type_identifier": "t_function_$_t_uint64$", @@ -130899,7 +132753,7 @@ } }, { - "id": 7072, + "id": 7074, "node_type": 16, "src": { "line": 3110, @@ -130907,7 +132761,7 @@ "start": 115866, "end": 115872, "length": 7, - "parent_index": 7064 + "parent_index": 7066 }, "name": "payload", "type_description": { @@ -130915,17 +132769,18 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 7045, + "referenced_declaration": 7047, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_uint64$", "type_string": "function(uint64)" } - ] + ], + "text": "payload" }, { - "id": 7073, + "id": 7075, "node_type": 16, "src": { "line": 3110, @@ -130933,7 +132788,7 @@ "start": 115875, "end": 115890, "length": 16, - "parent_index": 7064 + "parent_index": 7066 }, "name": "consistencyLevel", "type_description": { @@ -130952,11 +132807,12 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "consistencyLevel" } ], "expression": { - "id": 7065, + "id": 7067, "node_type": 93, "kind": 93, "src": { @@ -130965,10 +132821,10 @@ "start": 115806, "end": 115846, "length": 41, - "parent_index": 7064 + "parent_index": 7066 }, "expression": { - "id": 7066, + "id": 7068, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -130980,7 +132836,7 @@ "start": 115806, "end": 115828, "length": 23, - "parent_index": 7065 + "parent_index": 7067 }, "member_location": { "line": 3110, @@ -130988,10 +132844,10 @@ "start": 115815, "end": 115828, "length": 14, - "parent_index": 7066 + "parent_index": 7068 }, "expression": { - "id": 7067, + "id": 7069, "node_type": 16, "src": { "line": 3110, @@ -130999,29 +132855,31 @@ "start": 115806, "end": 115813, "length": 8, - "parent_index": 7066 + "parent_index": 7068 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "publishMessage", "argument_types": [], - "referenced_declaration": 7433, + "referenced_declaration": 7022, "type_description": { - "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "type_string": "function(uint32,bytes,uint8)" - } + "type_identifier": "t_contract$_IWormhole_$7310", + "type_string": "contract IWormhole" + }, + "text": "wormhole.publishMessage" }, - "referenced_declaration": 7433, + "referenced_declaration": 7022, "type_description": { - "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "type_string": "function(uint32,bytes,uint8)" + "type_identifier": "t_contract$_IWormhole_$7310", + "type_string": "contract IWormhole" } }, "type_description": { @@ -131038,7 +132896,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7030, + "id": 7032, "node_type": 43, "src": { "line": 3106, @@ -131046,11 +132904,11 @@ "start": 115548, "end": 115561, "length": 14, - "parent_index": 7029 + "parent_index": 7031 }, "parameters": [ { - "id": 7031, + "id": 7033, "node_type": 44, "src": { "line": 3106, @@ -131058,12 +132916,12 @@ "start": 115548, "end": 115561, "length": 14, - "parent_index": 7030 + "parent_index": 7032 }, - "scope": 7029, + "scope": 7031, "name": "amount", "type_name": { - "id": 7032, + "id": 7034, "node_type": 30, "src": { "line": 3106, @@ -131071,7 +132929,7 @@ "start": 115548, "end": 115554, "length": 7, - "parent_index": 7031 + "parent_index": 7033 }, "name": "uint256", "referenced_declaration": 0, @@ -131097,7 +132955,7 @@ ] }, "return_parameters": { - "id": 7033, + "id": 7035, "node_type": 43, "src": { "line": 3106, @@ -131105,21 +132963,22 @@ "start": 115520, "end": 115898, "length": 379, - "parent_index": 7029 + "parent_index": 7031 }, "parameters": [], "parameter_types": [] }, "signature_raw": "reportFundTransfer(uint256)", "signature": "6c5af8c7", - "scope": 6949, + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionreportFundTransfer(uint256amount)externalpayable{require(msg.sender==address(vault),\"WR: only vault\");bytesmemorypayload=abi.encode(Constants.L1_FUND_TRANSFER_REPORT,amount);uint64sequence=wormhole.nextSequence(address(this));wormhole.publishMessage{value:msg.value}(uint32(sequence),payload,consistencyLevel);}" }, { - "id": 7075, + "id": 7077, "name": "receiveFunds", "node_type": 42, "kind": 41, @@ -131129,7 +132988,7 @@ "start": 116104, "end": 116634, "length": 531, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3118, @@ -131137,10 +132996,10 @@ "start": 116113, "end": 116124, "length": 12, - "parent_index": 7075 + "parent_index": 7077 }, "body": { - "id": 7082, + "id": 7084, "node_type": 46, "kind": 0, "src": { @@ -131149,12 +133008,12 @@ "start": 116180, "end": 116634, "length": 455, - "parent_index": 7075 + "parent_index": 7077 }, "implemented": true, "statements": [ { - "id": 7083, + "id": 7085, "node_type": 44, "src": { "line": 3119, @@ -131162,27 +133021,27 @@ "start": 116190, "end": 116285, "length": 96, - "parent_index": 7082 + "parent_index": 7084 }, "assignments": [ - 7084, - 7087, - 7089 + 7086, + 7089, + 7091 ], "declarations": [ { - "id": 7084, + "id": 7086, "state_mutability": 1, "name": "vm", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3119, "column": 9, "start": 116191, "end": 116212, "length": 22, - "parent_index": 7083 + "parent_index": 7085 }, "name_location": { "line": 3119, @@ -131190,12 +133049,12 @@ "start": 116211, "end": 116212, "length": 2, - "parent_index": 7084 + "parent_index": 7086 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7085, + "id": 7087, "node_type": 69, "src": { "line": 3119, @@ -131203,10 +133062,10 @@ "start": 116191, "end": 116202, "length": 12, - "parent_index": 7084 + "parent_index": 7086 }, "path_node": { - "id": 7086, + "id": 7088, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -131216,7 +133075,7 @@ "start": 116191, "end": 116202, "length": 12, - "parent_index": 7085 + "parent_index": 7087 }, "name_location": { "line": 3119, @@ -131224,30 +133083,30 @@ "start": 116191, "end": 116199, "length": 9, - "parent_index": 7085 + "parent_index": 7087 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, "visibility": 1 }, { - "id": 7087, + "id": 7089, "state_mutability": 1, "name": "valid", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3119, "column": 33, "start": 116215, "end": 116224, "length": 10, - "parent_index": 7083 + "parent_index": 7085 }, "name_location": { "line": 3119, @@ -131255,12 +133114,12 @@ "start": 116220, "end": 116224, "length": 5, - "parent_index": 7087 + "parent_index": 7089 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7088, + "id": 7090, "node_type": 30, "src": { "line": 3119, @@ -131268,7 +133127,7 @@ "start": 116215, "end": 116218, "length": 4, - "parent_index": 7087 + "parent_index": 7089 }, "name": "bool", "referenced_declaration": 0, @@ -131280,18 +133139,18 @@ "visibility": 1 }, { - "id": 7089, + "id": 7091, "state_mutability": 1, "name": "reason", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3119, "column": 45, "start": 116227, "end": 116246, "length": 20, - "parent_index": 7083 + "parent_index": 7085 }, "name_location": { "line": 3119, @@ -131299,12 +133158,12 @@ "start": 116241, "end": 116246, "length": 6, - "parent_index": 7089 + "parent_index": 7091 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7090, + "id": 7092, "node_type": 30, "src": { "line": 3119, @@ -131312,7 +133171,7 @@ "start": 116227, "end": 116232, "length": 6, - "parent_index": 7089 + "parent_index": 7091 }, "name": "string", "referenced_declaration": 0, @@ -131325,7 +133184,7 @@ } ], "initial_value": { - "id": 7091, + "id": 7093, "node_type": 24, "kind": 24, "src": { @@ -131334,7 +133193,7 @@ "start": 116251, "end": 116284, "length": 34, - "parent_index": 7083 + "parent_index": 7085 }, "argument_types": [ { @@ -131344,7 +133203,7 @@ ], "arguments": [ { - "id": 7094, + "id": 7096, "node_type": 16, "src": { "line": 3119, @@ -131352,7 +133211,7 @@ "start": 116277, "end": 116283, "length": 7, - "parent_index": 7091 + "parent_index": 7093 }, "name": "message", "type_description": { @@ -131360,12 +133219,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 7094, - "is_pure": false + "referenced_declaration": 7096, + "is_pure": false, + "text": "message" } ], "expression": { - "id": 7092, + "id": 7094, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -131377,7 +133237,7 @@ "start": 116251, "end": 116275, "length": 25, - "parent_index": 7091 + "parent_index": 7093 }, "member_location": { "line": 3119, @@ -131385,10 +133245,10 @@ "start": 116260, "end": 116275, "length": 16, - "parent_index": 7092 + "parent_index": 7094 }, "expression": { - "id": 7093, + "id": 7095, "node_type": 16, "src": { "line": 3119, @@ -131396,24 +133256,26 @@ "start": 116251, "end": 116258, "length": 8, - "parent_index": 7092 + "parent_index": 7094 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "parseAndVerifyVM", "argument_types": [], - "referenced_declaration": 7154, + "referenced_declaration": 7156, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "wormhole.parseAndVerifyVM" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -131422,7 +133284,7 @@ } }, { - "id": 7095, + "id": 7097, "node_type": 24, "kind": 24, "src": { @@ -131431,7 +133293,7 @@ "start": 116295, "end": 116316, "length": 22, - "parent_index": 7082 + "parent_index": 7084 }, "argument_types": [ { @@ -131445,7 +133307,7 @@ ], "arguments": [ { - "id": 7097, + "id": 7099, "node_type": 16, "src": { "line": 3120, @@ -131453,7 +133315,7 @@ "start": 116303, "end": 116307, "length": 5, - "parent_index": 7095 + "parent_index": 7097 }, "name": "valid", "type_description": { @@ -131461,11 +133323,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 7083, - "is_pure": false + "referenced_declaration": 7085, + "is_pure": false, + "text": "valid" }, { - "id": 7098, + "id": 7100, "node_type": 16, "src": { "line": 3120, @@ -131473,7 +133336,7 @@ "start": 116310, "end": 116315, "length": 6, - "parent_index": 7095 + "parent_index": 7097 }, "name": "reason", "type_description": { @@ -131481,18 +133344,19 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 7083, + "referenced_declaration": 7085, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "reason" } ], "expression": { - "id": 7096, + "id": 7098, "node_type": 16, "src": { "line": 3120, @@ -131500,7 +133364,7 @@ "start": 116295, "end": 116301, "length": 7, - "parent_index": 7095 + "parent_index": 7097 }, "name": "require", "type_description": { @@ -131509,7 +133373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -131517,7 +133382,7 @@ } }, { - "id": 7099, + "id": 7101, "node_type": 24, "kind": 24, "src": { @@ -131526,17 +133391,17 @@ "start": 116327, "end": 116361, "length": 35, - "parent_index": 7082 + "parent_index": 7084 }, "argument_types": [ { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } ], "arguments": [ { - "id": 7101, + "id": 7103, "node_type": 16, "src": { "line": 3121, @@ -131544,20 +133409,21 @@ "start": 116359, "end": 116360, "length": 2, - "parent_index": 7099 + "parent_index": 7101 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" } ], "expression": { - "id": 7100, + "id": 7102, "node_type": 16, "src": { "line": 3121, @@ -131565,7 +133431,7 @@ "start": 116327, "end": 116357, "length": 31, - "parent_index": 7099 + "parent_index": 7101 }, "name": "_validateWormholeMessageEmitter", "type_description": { @@ -131574,7 +133440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_validateWormholeMessageEmitter" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -131582,7 +133449,7 @@ } }, { - "id": 7102, + "id": 7104, "node_type": 27, "src": { "line": 3122, @@ -131590,10 +133457,10 @@ "start": 116372, "end": 116401, "length": 30, - "parent_index": 7082 + "parent_index": 7084 }, "expression": { - "id": 7103, + "id": 7105, "node_type": 27, "src": { "line": 3122, @@ -131601,11 +133468,11 @@ "start": 116372, "end": 116400, "length": 29, - "parent_index": 7102 + "parent_index": 7104 }, "operator": 11, "left_expression": { - "id": 7104, + "id": 7106, "node_type": 16, "src": { "line": 3122, @@ -131613,7 +133480,7 @@ "start": 116372, "end": 116385, "length": 14, - "parent_index": 7103 + "parent_index": 7105 }, "name": "nextValidNonce", "type_description": { @@ -131621,11 +133488,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6651, - "is_pure": false + "referenced_declaration": 6653, + "is_pure": false, + "text": "nextValidNonce" }, "right_expression": { - "id": 7105, + "id": 7107, "is_constant": false, "is_pure": false, "node_type": 19, @@ -131635,11 +133503,11 @@ "start": 116389, "end": 116400, "length": 12, - "parent_index": 7103 + "parent_index": 7105 }, "operator": 1, "left_expression": { - "id": 7106, + "id": 7108, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -131651,7 +133519,7 @@ "start": 116389, "end": 116396, "length": 8, - "parent_index": 7105 + "parent_index": 7107 }, "member_location": { "line": 3122, @@ -131659,10 +133527,10 @@ "start": 116392, "end": 116396, "length": 5, - "parent_index": 7106 + "parent_index": 7108 }, "expression": { - "id": 7107, + "id": 7109, "node_type": 16, "src": { "line": 3122, @@ -131670,27 +133538,29 @@ "start": 116389, "end": 116390, "length": 2, - "parent_index": 7106 + "parent_index": 7108 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "nonce", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.nonce" }, "right_expression": { - "id": 7108, + "id": 7110, "node_type": 17, "kind": 49, "value": "1", @@ -131701,7 +133571,7 @@ "start": 116400, "end": 116400, "length": 1, - "parent_index": 7105 + "parent_index": 7107 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -131709,10 +133579,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" } }, @@ -131724,10 +133595,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextValidNonce=vm.nonce+1;" }, { - "id": 7109, + "id": 7111, "node_type": 44, "src": { "line": 3123, @@ -131735,26 +133607,26 @@ "start": 116411, "end": 116489, "length": 79, - "parent_index": 7082 + "parent_index": 7084 }, "assignments": [ - 7110, - 7112 + 7112, + 7114 ], "declarations": [ { - "id": 7110, + "id": 7112, "state_mutability": 1, "name": "msgType", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3123, "column": 9, "start": 116412, "end": 116426, "length": 15, - "parent_index": 7109 + "parent_index": 7111 }, "name_location": { "line": 3123, @@ -131762,12 +133634,12 @@ "start": 116420, "end": 116426, "length": 7, - "parent_index": 7110 + "parent_index": 7112 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7111, + "id": 7113, "node_type": 30, "src": { "line": 3123, @@ -131775,7 +133647,7 @@ "start": 116412, "end": 116418, "length": 7, - "parent_index": 7110 + "parent_index": 7112 }, "name": "bytes32", "referenced_declaration": 0, @@ -131787,18 +133659,18 @@ "visibility": 1 }, { - "id": 7112, + "id": 7114, "state_mutability": 1, "name": "amount", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3123, "column": 26, "start": 116429, "end": 116442, "length": 14, - "parent_index": 7109 + "parent_index": 7111 }, "name_location": { "line": 3123, @@ -131806,12 +133678,12 @@ "start": 116437, "end": 116442, "length": 6, - "parent_index": 7112 + "parent_index": 7114 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7113, + "id": 7115, "node_type": 30, "src": { "line": 3123, @@ -131819,7 +133691,7 @@ "start": 116429, "end": 116435, "length": 7, - "parent_index": 7112 + "parent_index": 7114 }, "name": "uint256", "referenced_declaration": 0, @@ -131832,7 +133704,7 @@ } ], "initial_value": { - "id": 7114, + "id": 7116, "node_type": 24, "kind": 24, "src": { @@ -131841,7 +133713,7 @@ "start": 116447, "end": 116488, "length": 42, - "parent_index": 7109 + "parent_index": 7111 }, "argument_types": [ { @@ -131855,7 +133727,7 @@ ], "arguments": [ { - "id": 7117, + "id": 7119, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -131867,7 +133739,7 @@ "start": 116458, "end": 116467, "length": 10, - "parent_index": 7114 + "parent_index": 7116 }, "member_location": { "line": 3123, @@ -131875,10 +133747,10 @@ "start": 116461, "end": 116467, "length": 7, - "parent_index": 7117 + "parent_index": 7119 }, "expression": { - "id": 7118, + "id": 7120, "node_type": 16, "src": { "line": 3123, @@ -131886,27 +133758,29 @@ "start": 116458, "end": 116459, "length": 2, - "parent_index": 7117 + "parent_index": 7119 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "payload", "argument_types": [], - "referenced_declaration": 6998, + "referenced_declaration": 7000, "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "vm.payload" }, { - "id": 7119, + "id": 7121, "node_type": 60, "src": { "line": 3123, @@ -131914,13 +133788,13 @@ "start": 116470, "end": 116487, "length": 18, - "parent_index": 7114 + "parent_index": 7116 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 7120, + "id": 7122, "node_type": 16, "src": { "line": 3123, @@ -131928,11 +133802,11 @@ "start": 116471, "end": 116477, "length": 7, - "parent_index": 7119 + "parent_index": 7121 }, "name": "bytes32", "type_name": { - "id": 7121, + "id": 7123, "node_type": 30, "src": { "line": 3123, @@ -131940,7 +133814,7 @@ "start": 116471, "end": 116477, "length": 7, - "parent_index": 7120 + "parent_index": 7122 }, "name": "bytes32", "referenced_declaration": 0, @@ -131955,10 +133829,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bytes32" }, { - "id": 7122, + "id": 7124, "node_type": 16, "src": { "line": 3123, @@ -131966,11 +133841,11 @@ "start": 116480, "end": 116486, "length": 7, - "parent_index": 7119 + "parent_index": 7121 }, "name": "uint256", "type_name": { - "id": 7123, + "id": 7125, "node_type": 30, "src": { "line": 3123, @@ -131978,7 +133853,7 @@ "start": 116480, "end": 116486, "length": 7, - "parent_index": 7122 + "parent_index": 7124 }, "name": "uint256", "referenced_declaration": 0, @@ -131993,7 +133868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint256" } ], "type_description": { @@ -132003,7 +133879,7 @@ } ], "expression": { - "id": 7115, + "id": 7117, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -132015,7 +133891,7 @@ "start": 116447, "end": 116456, "length": 10, - "parent_index": 7114 + "parent_index": 7116 }, "member_location": { "line": 3123, @@ -132023,10 +133899,10 @@ "start": 116451, "end": 116456, "length": 6, - "parent_index": 7115 + "parent_index": 7117 }, "expression": { - "id": 7116, + "id": 7118, "node_type": 16, "src": { "line": 3123, @@ -132034,7 +133910,7 @@ "start": 116447, "end": 116449, "length": 3, - "parent_index": 7115 + "parent_index": 7117 }, "name": "abi", "type_description": { @@ -132043,14 +133919,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bytes32_$_t_uint256$", @@ -132059,7 +133937,7 @@ } }, { - "id": 7124, + "id": 7126, "node_type": 24, "kind": 24, "src": { @@ -132068,7 +133946,7 @@ "start": 116499, "end": 116571, "length": 73, - "parent_index": 7082 + "parent_index": 7084 }, "argument_types": [ { @@ -132082,7 +133960,7 @@ ], "arguments": [ { - "id": 7126, + "id": 7128, "is_constant": false, "is_pure": false, "node_type": 19, @@ -132092,11 +133970,11 @@ "start": 116507, "end": 116550, "length": 44, - "parent_index": 7124 + "parent_index": 7126 }, "operator": 11, "left_expression": { - "id": 7127, + "id": 7129, "node_type": 16, "src": { "line": 3124, @@ -132104,7 +133982,7 @@ "start": 116507, "end": 116513, "length": 7, - "parent_index": 7126 + "parent_index": 7128 }, "name": "msgType", "type_description": { @@ -132112,11 +133990,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 7109, - "is_pure": false + "referenced_declaration": 7111, + "is_pure": false, + "text": "msgType" }, "right_expression": { - "id": 7128, + "id": 7130, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -132128,7 +134007,7 @@ "start": 116518, "end": 116550, "length": 33, - "parent_index": 7126 + "parent_index": 7128 }, "member_location": { "line": 3124, @@ -132136,10 +134015,10 @@ "start": 116528, "end": 116550, "length": 23, - "parent_index": 7128 + "parent_index": 7130 }, "expression": { - "id": 7129, + "id": 7131, "node_type": 16, "src": { "line": 3124, @@ -132147,24 +134026,26 @@ "start": 116518, "end": 116526, "length": 9, - "parent_index": 7128 + "parent_index": 7130 }, "name": "Constants", "type_description": { - "type_identifier": "t_contract$_Constants_$7468", + "type_identifier": "t_contract$_Constants_$7470", "type_string": "contract Constants" }, "overloaded_declarations": [], - "referenced_declaration": 7468, - "is_pure": false + "referenced_declaration": 7470, + "is_pure": false, + "text": "Constants" }, "member_name": "L2_FUND_TRANSFER_REPORT", "argument_types": [], - "referenced_declaration": 8154, + "referenced_declaration": 8158, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" - } + }, + "text": "Constants.L2_FUND_TRANSFER_REPORT" }, "type_description": { "type_identifier": "t_bool", @@ -132172,7 +134053,7 @@ } }, { - "id": 7130, + "id": 7132, "node_type": 17, "kind": 50, "value": "WR: bad msg type", @@ -132183,7 +134064,7 @@ "start": 116553, "end": 116570, "length": 18, - "parent_index": 7124 + "parent_index": 7126 }, "type_description": { "type_identifier": "t_string_literal", @@ -132197,11 +134078,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: bad msg type\"" } ], "expression": { - "id": 7125, + "id": 7127, "node_type": 16, "src": { "line": 3124, @@ -132209,7 +134091,7 @@ "start": 116499, "end": 116505, "length": 7, - "parent_index": 7124 + "parent_index": 7126 }, "name": "require", "type_description": { @@ -132218,7 +134100,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -132226,7 +134109,7 @@ } }, { - "id": 7131, + "id": 7133, "node_type": 24, "kind": 24, "src": { @@ -132235,7 +134118,7 @@ "start": 116583, "end": 116627, "length": 45, - "parent_index": 7082 + "parent_index": 7084 }, "argument_types": [ { @@ -132249,7 +134132,7 @@ ], "arguments": [ { - "id": 7136, + "id": 7138, "node_type": 16, "src": { "line": 3126, @@ -132257,7 +134140,7 @@ "start": 116615, "end": 116620, "length": 6, - "parent_index": 7131 + "parent_index": 7133 }, "name": "amount", "type_description": { @@ -132265,11 +134148,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 7109, - "is_pure": false + "referenced_declaration": 7111, + "is_pure": false, + "text": "amount" }, { - "id": 7137, + "id": 7139, "node_type": 16, "src": { "line": 3126, @@ -132277,7 +134161,7 @@ "start": 116623, "end": 116626, "length": 4, - "parent_index": 7131 + "parent_index": 7133 }, "name": "data", "type_description": { @@ -132285,18 +134169,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 7137, + "referenced_declaration": 7139, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { - "id": 7132, + "id": 7134, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -132308,7 +134193,7 @@ "start": 116583, "end": 116613, "length": 31, - "parent_index": 7131 + "parent_index": 7133 }, "member_location": { "line": 3126, @@ -132316,10 +134201,10 @@ "start": 116604, "end": 116613, "length": 10, - "parent_index": 7132 + "parent_index": 7134 }, "expression": { - "id": 7133, + "id": 7135, "node_type": 24, "kind": 24, "src": { @@ -132328,12 +134213,12 @@ "start": 116583, "end": 116602, "length": 20, - "parent_index": 7132 + "parent_index": 7134 }, "argument_types": [], "arguments": [], "expression": { - "id": 7134, + "id": 7136, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -132345,7 +134230,7 @@ "start": 116583, "end": 116600, "length": 18, - "parent_index": 7133 + "parent_index": 7135 }, "member_location": { "line": 3126, @@ -132353,10 +134238,10 @@ "start": 116589, "end": 116600, "length": 12, - "parent_index": 7134 + "parent_index": 7136 }, "expression": { - "id": 7135, + "id": 7137, "node_type": 16, "src": { "line": 3126, @@ -132364,23 +134249,25 @@ "start": 116583, "end": 116587, "length": 5, - "parent_index": 7134 + "parent_index": 7136 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6608, - "is_pure": false + "referenced_declaration": 6610, + "is_pure": false, + "text": "vault" }, "member_name": "bridgeEscrow", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault.bridgeEscrow" }, "type_description": { "type_identifier": "t_function_$", @@ -132392,7 +134279,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "vault.bridgeEscrow().clearFunds" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", @@ -132408,7 +134296,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7076, + "id": 7078, "node_type": 43, "src": { "line": 3118, @@ -132416,11 +134304,11 @@ "start": 116126, "end": 116168, "length": 43, - "parent_index": 7075 + "parent_index": 7077 }, "parameters": [ { - "id": 7077, + "id": 7079, "node_type": 44, "src": { "line": 3118, @@ -132428,12 +134316,12 @@ "start": 116126, "end": 116147, "length": 22, - "parent_index": 7076 + "parent_index": 7078 }, - "scope": 7075, + "scope": 7077, "name": "message", "type_name": { - "id": 7078, + "id": 7080, "node_type": 30, "src": { "line": 3118, @@ -132441,7 +134329,7 @@ "start": 116126, "end": 116130, "length": 5, - "parent_index": 7077 + "parent_index": 7079 }, "name": "bytes", "referenced_declaration": 0, @@ -132459,7 +134347,7 @@ } }, { - "id": 7079, + "id": 7081, "node_type": 44, "src": { "line": 3118, @@ -132467,12 +134355,12 @@ "start": 116150, "end": 116168, "length": 19, - "parent_index": 7076 + "parent_index": 7078 }, - "scope": 7075, + "scope": 7077, "name": "data", "type_name": { - "id": 7080, + "id": 7082, "node_type": 30, "src": { "line": 3118, @@ -132480,7 +134368,7 @@ "start": 116150, "end": 116154, "length": 5, - "parent_index": 7079 + "parent_index": 7081 }, "name": "bytes", "referenced_declaration": 0, @@ -132510,7 +134398,7 @@ ] }, "return_parameters": { - "id": 7081, + "id": 7083, "node_type": 43, "src": { "line": 3118, @@ -132518,21 +134406,22 @@ "start": 116104, "end": 116634, "length": 531, - "parent_index": 7075 + "parent_index": 7077 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "receiveFunds(bytes, bytes)", - "signature": "69fb128a", - "scope": 6949, + "signature_raw": "receiveFunds(bytes,bytes)", + "signature": "04fb0438", + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_bytes$", "type_string": "function(bytes,bytes)" - } + }, + "text": "functionreceiveFunds(bytescalldatamessage,bytescalldatadata)external{(IWormhole.VMmemoryvm,boolvalid,stringmemoryreason)=wormhole.parseAndVerifyVM(message);require(valid,reason);_validateWormholeMessageEmitter(vm);nextValidNonce=vm.nonce+1;(bytes32msgType,uint256amount)=abi.decode(vm.payload,(bytes32,uint256));require(msgType==Constants.L2_FUND_TRANSFER_REPORT,\"WR: bad msg type\");vault.bridgeEscrow().clearFunds(amount,data);}" }, { - "id": 7139, + "id": 7141, "name": "receiveFundRequest", "node_type": 42, "kind": 41, @@ -132542,7 +134431,7 @@ "start": 116709, "end": 117223, "length": 515, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3130, @@ -132550,10 +134439,10 @@ "start": 116718, "end": 116735, "length": 18, - "parent_index": 7139 + "parent_index": 7141 }, "body": { - "id": 7144, + "id": 7146, "node_type": 46, "kind": 0, "src": { @@ -132562,12 +134451,12 @@ "start": 116770, "end": 117223, "length": 454, - "parent_index": 7139 + "parent_index": 7141 }, "implemented": true, "statements": [ { - "id": 7145, + "id": 7147, "node_type": 44, "src": { "line": 3131, @@ -132575,27 +134464,27 @@ "start": 116780, "end": 116875, "length": 96, - "parent_index": 7144 + "parent_index": 7146 }, "assignments": [ - 7146, - 7149, - 7151 + 7148, + 7151, + 7153 ], "declarations": [ { - "id": 7146, + "id": 7148, "state_mutability": 1, "name": "vm", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3131, "column": 9, "start": 116781, "end": 116802, "length": 22, - "parent_index": 7145 + "parent_index": 7147 }, "name_location": { "line": 3131, @@ -132603,12 +134492,12 @@ "start": 116801, "end": 116802, "length": 2, - "parent_index": 7146 + "parent_index": 7148 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7147, + "id": 7149, "node_type": 69, "src": { "line": 3131, @@ -132616,10 +134505,10 @@ "start": 116781, "end": 116792, "length": 12, - "parent_index": 7146 + "parent_index": 7148 }, "path_node": { - "id": 7148, + "id": 7150, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -132629,7 +134518,7 @@ "start": 116781, "end": 116792, "length": 12, - "parent_index": 7147 + "parent_index": 7149 }, "name_location": { "line": 3131, @@ -132637,30 +134526,30 @@ "start": 116781, "end": 116789, "length": 9, - "parent_index": 7147 + "parent_index": 7149 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, "visibility": 1 }, { - "id": 7149, + "id": 7151, "state_mutability": 1, "name": "valid", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3131, "column": 33, "start": 116805, "end": 116814, "length": 10, - "parent_index": 7145 + "parent_index": 7147 }, "name_location": { "line": 3131, @@ -132668,12 +134557,12 @@ "start": 116810, "end": 116814, "length": 5, - "parent_index": 7149 + "parent_index": 7151 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7150, + "id": 7152, "node_type": 30, "src": { "line": 3131, @@ -132681,7 +134570,7 @@ "start": 116805, "end": 116808, "length": 4, - "parent_index": 7149 + "parent_index": 7151 }, "name": "bool", "referenced_declaration": 0, @@ -132693,18 +134582,18 @@ "visibility": 1 }, { - "id": 7151, + "id": 7153, "state_mutability": 1, "name": "reason", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3131, "column": 45, "start": 116817, "end": 116836, "length": 20, - "parent_index": 7145 + "parent_index": 7147 }, "name_location": { "line": 3131, @@ -132712,12 +134601,12 @@ "start": 116831, "end": 116836, "length": 6, - "parent_index": 7151 + "parent_index": 7153 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7152, + "id": 7154, "node_type": 30, "src": { "line": 3131, @@ -132725,7 +134614,7 @@ "start": 116817, "end": 116822, "length": 6, - "parent_index": 7151 + "parent_index": 7153 }, "name": "string", "referenced_declaration": 0, @@ -132738,7 +134627,7 @@ } ], "initial_value": { - "id": 7153, + "id": 7155, "node_type": 24, "kind": 24, "src": { @@ -132747,7 +134636,7 @@ "start": 116841, "end": 116874, "length": 34, - "parent_index": 7145 + "parent_index": 7147 }, "argument_types": [ { @@ -132757,7 +134646,7 @@ ], "arguments": [ { - "id": 7156, + "id": 7158, "node_type": 16, "src": { "line": 3131, @@ -132765,7 +134654,7 @@ "start": 116867, "end": 116873, "length": 7, - "parent_index": 7153 + "parent_index": 7155 }, "name": "message", "type_description": { @@ -132773,12 +134662,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 7156, - "is_pure": false + "referenced_declaration": 7158, + "is_pure": false, + "text": "message" } ], "expression": { - "id": 7154, + "id": 7156, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -132790,7 +134680,7 @@ "start": 116841, "end": 116865, "length": 25, - "parent_index": 7153 + "parent_index": 7155 }, "member_location": { "line": 3131, @@ -132798,10 +134688,10 @@ "start": 116850, "end": 116865, "length": 16, - "parent_index": 7154 + "parent_index": 7156 }, "expression": { - "id": 7155, + "id": 7157, "node_type": 16, "src": { "line": 3131, @@ -132809,24 +134699,26 @@ "start": 116841, "end": 116848, "length": 8, - "parent_index": 7154 + "parent_index": 7156 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "parseAndVerifyVM", "argument_types": [], - "referenced_declaration": 7446, + "referenced_declaration": 7448, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "wormhole.parseAndVerifyVM" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -132835,7 +134727,7 @@ } }, { - "id": 7157, + "id": 7159, "node_type": 24, "kind": 24, "src": { @@ -132844,7 +134736,7 @@ "start": 116885, "end": 116906, "length": 22, - "parent_index": 7144 + "parent_index": 7146 }, "argument_types": [ { @@ -132858,7 +134750,7 @@ ], "arguments": [ { - "id": 7159, + "id": 7161, "node_type": 16, "src": { "line": 3132, @@ -132866,7 +134758,7 @@ "start": 116893, "end": 116897, "length": 5, - "parent_index": 7157 + "parent_index": 7159 }, "name": "valid", "type_description": { @@ -132874,11 +134766,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 7145, - "is_pure": false + "referenced_declaration": 7147, + "is_pure": false, + "text": "valid" }, { - "id": 7160, + "id": 7162, "node_type": 16, "src": { "line": 3132, @@ -132886,7 +134779,7 @@ "start": 116900, "end": 116905, "length": 6, - "parent_index": 7157 + "parent_index": 7159 }, "name": "reason", "type_description": { @@ -132894,18 +134787,19 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 7145, + "referenced_declaration": 7147, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "reason" } ], "expression": { - "id": 7158, + "id": 7160, "node_type": 16, "src": { "line": 3132, @@ -132913,7 +134807,7 @@ "start": 116885, "end": 116891, "length": 7, - "parent_index": 7157 + "parent_index": 7159 }, "name": "require", "type_description": { @@ -132922,7 +134816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -132930,7 +134825,7 @@ } }, { - "id": 7161, + "id": 7163, "node_type": 24, "kind": 24, "src": { @@ -132939,17 +134834,17 @@ "start": 116918, "end": 116952, "length": 35, - "parent_index": 7144 + "parent_index": 7146 }, "argument_types": [ { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } ], "arguments": [ { - "id": 7163, + "id": 7165, "node_type": 16, "src": { "line": 3134, @@ -132957,20 +134852,21 @@ "start": 116950, "end": 116951, "length": 2, - "parent_index": 7161 + "parent_index": 7163 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" } ], "expression": { - "id": 7162, + "id": 7164, "node_type": 16, "src": { "line": 3134, @@ -132978,7 +134874,7 @@ "start": 116918, "end": 116948, "length": 31, - "parent_index": 7161 + "parent_index": 7163 }, "name": "_validateWormholeMessageEmitter", "type_description": { @@ -132987,7 +134883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_validateWormholeMessageEmitter" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -132995,7 +134892,7 @@ } }, { - "id": 7164, + "id": 7166, "node_type": 27, "src": { "line": 3135, @@ -133003,10 +134900,10 @@ "start": 116963, "end": 116992, "length": 30, - "parent_index": 7144 + "parent_index": 7146 }, "expression": { - "id": 7165, + "id": 7167, "node_type": 27, "src": { "line": 3135, @@ -133014,11 +134911,11 @@ "start": 116963, "end": 116991, "length": 29, - "parent_index": 7164 + "parent_index": 7166 }, "operator": 11, "left_expression": { - "id": 7166, + "id": 7168, "node_type": 16, "src": { "line": 3135, @@ -133026,7 +134923,7 @@ "start": 116963, "end": 116976, "length": 14, - "parent_index": 7165 + "parent_index": 7167 }, "name": "nextValidNonce", "type_description": { @@ -133034,11 +134931,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6651, - "is_pure": false + "referenced_declaration": 6653, + "is_pure": false, + "text": "nextValidNonce" }, "right_expression": { - "id": 7167, + "id": 7169, "is_constant": false, "is_pure": false, "node_type": 19, @@ -133048,11 +134946,11 @@ "start": 116980, "end": 116991, "length": 12, - "parent_index": 7165 + "parent_index": 7167 }, "operator": 1, "left_expression": { - "id": 7168, + "id": 7170, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -133064,7 +134962,7 @@ "start": 116980, "end": 116987, "length": 8, - "parent_index": 7167 + "parent_index": 7169 }, "member_location": { "line": 3135, @@ -133072,10 +134970,10 @@ "start": 116983, "end": 116987, "length": 5, - "parent_index": 7168 + "parent_index": 7170 }, "expression": { - "id": 7169, + "id": 7171, "node_type": 16, "src": { "line": 3135, @@ -133083,27 +134981,29 @@ "start": 116980, "end": 116981, "length": 2, - "parent_index": 7168 + "parent_index": 7170 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "nonce", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.nonce" }, "right_expression": { - "id": 7170, + "id": 7172, "node_type": 17, "kind": 49, "value": "1", @@ -133114,7 +135014,7 @@ "start": 116991, "end": 116991, "length": 1, - "parent_index": 7167 + "parent_index": 7169 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -133122,10 +135022,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" } }, @@ -133137,10 +135038,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextValidNonce=vm.nonce+1;" }, { - "id": 7171, + "id": 7173, "node_type": 44, "src": { "line": 3137, @@ -133148,26 +135050,26 @@ "start": 117003, "end": 117081, "length": 79, - "parent_index": 7144 + "parent_index": 7146 }, "assignments": [ - 7172, - 7174 + 7174, + 7176 ], "declarations": [ { - "id": 7172, + "id": 7174, "state_mutability": 1, "name": "msgType", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3137, "column": 9, "start": 117004, "end": 117018, "length": 15, - "parent_index": 7171 + "parent_index": 7173 }, "name_location": { "line": 3137, @@ -133175,12 +135077,12 @@ "start": 117012, "end": 117018, "length": 7, - "parent_index": 7172 + "parent_index": 7174 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7173, + "id": 7175, "node_type": 30, "src": { "line": 3137, @@ -133188,7 +135090,7 @@ "start": 117004, "end": 117010, "length": 7, - "parent_index": 7172 + "parent_index": 7174 }, "name": "bytes32", "referenced_declaration": 0, @@ -133200,18 +135102,18 @@ "visibility": 1 }, { - "id": 7174, + "id": 7176, "state_mutability": 1, "name": "amount", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3137, "column": 26, "start": 117021, "end": 117034, "length": 14, - "parent_index": 7171 + "parent_index": 7173 }, "name_location": { "line": 3137, @@ -133219,12 +135121,12 @@ "start": 117029, "end": 117034, "length": 6, - "parent_index": 7174 + "parent_index": 7176 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7175, + "id": 7177, "node_type": 30, "src": { "line": 3137, @@ -133232,7 +135134,7 @@ "start": 117021, "end": 117027, "length": 7, - "parent_index": 7174 + "parent_index": 7176 }, "name": "uint256", "referenced_declaration": 0, @@ -133245,7 +135147,7 @@ } ], "initial_value": { - "id": 7176, + "id": 7178, "node_type": 24, "kind": 24, "src": { @@ -133254,7 +135156,7 @@ "start": 117039, "end": 117080, "length": 42, - "parent_index": 7171 + "parent_index": 7173 }, "argument_types": [ { @@ -133268,7 +135170,7 @@ ], "arguments": [ { - "id": 7179, + "id": 7181, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -133280,7 +135182,7 @@ "start": 117050, "end": 117059, "length": 10, - "parent_index": 7176 + "parent_index": 7178 }, "member_location": { "line": 3137, @@ -133288,10 +135190,10 @@ "start": 117053, "end": 117059, "length": 7, - "parent_index": 7179 + "parent_index": 7181 }, "expression": { - "id": 7180, + "id": 7182, "node_type": 16, "src": { "line": 3137, @@ -133299,27 +135201,29 @@ "start": 117050, "end": 117051, "length": 2, - "parent_index": 7179 + "parent_index": 7181 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "payload", "argument_types": [], - "referenced_declaration": 6998, + "referenced_declaration": 7000, "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "vm.payload" }, { - "id": 7181, + "id": 7183, "node_type": 60, "src": { "line": 3137, @@ -133327,13 +135231,13 @@ "start": 117062, "end": 117079, "length": 18, - "parent_index": 7176 + "parent_index": 7178 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 7182, + "id": 7184, "node_type": 16, "src": { "line": 3137, @@ -133341,11 +135245,11 @@ "start": 117063, "end": 117069, "length": 7, - "parent_index": 7181 + "parent_index": 7183 }, "name": "bytes32", "type_name": { - "id": 7183, + "id": 7185, "node_type": 30, "src": { "line": 3137, @@ -133353,7 +135257,7 @@ "start": 117063, "end": 117069, "length": 7, - "parent_index": 7182 + "parent_index": 7184 }, "name": "bytes32", "referenced_declaration": 0, @@ -133368,10 +135272,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bytes32" }, { - "id": 7184, + "id": 7186, "node_type": 16, "src": { "line": 3137, @@ -133379,11 +135284,11 @@ "start": 117072, "end": 117078, "length": 7, - "parent_index": 7181 + "parent_index": 7183 }, "name": "uint256", "type_name": { - "id": 7185, + "id": 7187, "node_type": 30, "src": { "line": 3137, @@ -133391,7 +135296,7 @@ "start": 117072, "end": 117078, "length": 7, - "parent_index": 7184 + "parent_index": 7186 }, "name": "uint256", "referenced_declaration": 0, @@ -133406,7 +135311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint256" } ], "type_description": { @@ -133416,7 +135322,7 @@ } ], "expression": { - "id": 7177, + "id": 7179, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -133428,7 +135334,7 @@ "start": 117039, "end": 117048, "length": 10, - "parent_index": 7176 + "parent_index": 7178 }, "member_location": { "line": 3137, @@ -133436,10 +135342,10 @@ "start": 117043, "end": 117048, "length": 6, - "parent_index": 7177 + "parent_index": 7179 }, "expression": { - "id": 7178, + "id": 7180, "node_type": 16, "src": { "line": 3137, @@ -133447,7 +135353,7 @@ "start": 117039, "end": 117041, "length": 3, - "parent_index": 7177 + "parent_index": 7179 }, "name": "abi", "type_description": { @@ -133456,14 +135362,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bytes32_$_t_uint256$", @@ -133472,7 +135380,7 @@ } }, { - "id": 7186, + "id": 7188, "node_type": 24, "kind": 24, "src": { @@ -133481,7 +135389,7 @@ "start": 117091, "end": 117155, "length": 65, - "parent_index": 7144 + "parent_index": 7146 }, "argument_types": [ { @@ -133495,7 +135403,7 @@ ], "arguments": [ { - "id": 7188, + "id": 7190, "is_constant": false, "is_pure": false, "node_type": 19, @@ -133505,11 +135413,11 @@ "start": 117099, "end": 117134, "length": 36, - "parent_index": 7186 + "parent_index": 7188 }, "operator": 11, "left_expression": { - "id": 7189, + "id": 7191, "node_type": 16, "src": { "line": 3138, @@ -133517,7 +135425,7 @@ "start": 117099, "end": 117105, "length": 7, - "parent_index": 7188 + "parent_index": 7190 }, "name": "msgType", "type_description": { @@ -133525,11 +135433,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 7171, - "is_pure": false + "referenced_declaration": 7173, + "is_pure": false, + "text": "msgType" }, "right_expression": { - "id": 7190, + "id": 7192, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -133541,7 +135450,7 @@ "start": 117110, "end": 117134, "length": 25, - "parent_index": 7188 + "parent_index": 7190 }, "member_location": { "line": 3138, @@ -133549,10 +135458,10 @@ "start": 117120, "end": 117134, "length": 15, - "parent_index": 7190 + "parent_index": 7192 }, "expression": { - "id": 7191, + "id": 7193, "node_type": 16, "src": { "line": 3138, @@ -133560,24 +135469,26 @@ "start": 117110, "end": 117118, "length": 9, - "parent_index": 7190 + "parent_index": 7192 }, "name": "Constants", "type_description": { - "type_identifier": "t_contract$_Constants_$7468", + "type_identifier": "t_contract$_Constants_$7470", "type_string": "contract Constants" }, "overloaded_declarations": [], - "referenced_declaration": 7468, - "is_pure": false + "referenced_declaration": 7470, + "is_pure": false, + "text": "Constants" }, "member_name": "L2_FUND_REQUEST", "argument_types": [], - "referenced_declaration": 8159, + "referenced_declaration": 8163, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" - } + }, + "text": "Constants.L2_FUND_REQUEST" }, "type_description": { "type_identifier": "t_bool", @@ -133585,7 +135496,7 @@ } }, { - "id": 7192, + "id": 7194, "node_type": 17, "kind": 50, "value": "WR: bad msg type", @@ -133596,7 +135507,7 @@ "start": 117137, "end": 117154, "length": 18, - "parent_index": 7186 + "parent_index": 7188 }, "type_description": { "type_identifier": "t_string_literal", @@ -133610,11 +135521,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: bad msg type\"" } ], "expression": { - "id": 7187, + "id": 7189, "node_type": 16, "src": { "line": 3138, @@ -133622,7 +135534,7 @@ "start": 117091, "end": 117097, "length": 7, - "parent_index": 7186 + "parent_index": 7188 }, "name": "require", "type_description": { @@ -133631,7 +135543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -133639,7 +135552,7 @@ } }, { - "id": 7193, + "id": 7195, "node_type": 24, "kind": 24, "src": { @@ -133648,7 +135561,7 @@ "start": 117167, "end": 117216, "length": 50, - "parent_index": 7144 + "parent_index": 7146 }, "argument_types": [ { @@ -133658,7 +135571,7 @@ ], "arguments": [ { - "id": 7201, + "id": 7203, "node_type": 16, "src": { "line": 3140, @@ -133666,7 +135579,7 @@ "start": 117210, "end": 117215, "length": 6, - "parent_index": 7193 + "parent_index": 7195 }, "name": "amount", "type_description": { @@ -133674,12 +135587,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 7171, - "is_pure": false + "referenced_declaration": 7173, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 7194, + "id": 7196, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -133691,7 +135605,7 @@ "start": 117167, "end": 117208, "length": 42, - "parent_index": 7193 + "parent_index": 7195 }, "member_location": { "line": 3140, @@ -133699,10 +135613,10 @@ "start": 117191, "end": 117208, "length": 18, - "parent_index": 7194 + "parent_index": 7196 }, "expression": { - "id": 7195, + "id": 7197, "node_type": 24, "kind": 24, "src": { @@ -133711,7 +135625,7 @@ "start": 117167, "end": 117189, "length": 23, - "parent_index": 7194 + "parent_index": 7196 }, "argument_types": [ { @@ -133721,7 +135635,7 @@ ], "arguments": [ { - "id": 7197, + "id": 7199, "node_type": 24, "kind": 24, "src": { @@ -133730,7 +135644,7 @@ "start": 117175, "end": 117188, "length": 14, - "parent_index": 7195 + "parent_index": 7197 }, "argument_types": [ { @@ -133740,7 +135654,7 @@ ], "arguments": [ { - "id": 7200, + "id": 7202, "node_type": 16, "src": { "line": 3140, @@ -133748,7 +135662,7 @@ "start": 117183, "end": 117187, "length": 5, - "parent_index": 7197 + "parent_index": 7199 }, "name": "vault", "type_description": { @@ -133757,11 +135671,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 7198, + "id": 7200, "node_type": 16, "src": { "line": 3140, @@ -133769,11 +135684,11 @@ "start": 117175, "end": 117181, "length": 7, - "parent_index": 7197 + "parent_index": 7199 }, "name": "address", "type_name": { - "id": 7199, + "id": 7201, "node_type": 30, "src": { "line": 3140, @@ -133781,7 +135696,7 @@ "start": 117175, "end": 117181, "length": 7, - "parent_index": 7198 + "parent_index": 7200 }, "name": "address", "state_mutability": 4, @@ -133803,7 +135718,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -133812,7 +135728,7 @@ } ], "expression": { - "id": 7196, + "id": 7198, "node_type": 16, "src": { "line": 3140, @@ -133820,7 +135736,7 @@ "start": 117167, "end": 117173, "length": 7, - "parent_index": 7195 + "parent_index": 7197 }, "name": "L1Vault", "type_description": { @@ -133829,7 +135745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "L1Vault" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -133841,7 +135758,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", "type_string": "function(function(function()))" - } + }, + "text": "L1Vault(address(vault)).processFundRequest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -133857,7 +135775,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7140, + "id": 7142, "node_type": 43, "src": { "line": 3130, @@ -133865,11 +135783,11 @@ "start": 116737, "end": 116758, "length": 22, - "parent_index": 7139 + "parent_index": 7141 }, "parameters": [ { - "id": 7141, + "id": 7143, "node_type": 44, "src": { "line": 3130, @@ -133877,12 +135795,12 @@ "start": 116737, "end": 116758, "length": 22, - "parent_index": 7140 + "parent_index": 7142 }, - "scope": 7139, + "scope": 7141, "name": "message", "type_name": { - "id": 7142, + "id": 7144, "node_type": 30, "src": { "line": 3130, @@ -133890,7 +135808,7 @@ "start": 116737, "end": 116741, "length": 5, - "parent_index": 7141 + "parent_index": 7143 }, "name": "bytes", "referenced_declaration": 0, @@ -133916,7 +135834,7 @@ ] }, "return_parameters": { - "id": 7143, + "id": 7145, "node_type": 43, "src": { "line": 3130, @@ -133924,31 +135842,32 @@ "start": 116709, "end": 117223, "length": 515, - "parent_index": 7139 + "parent_index": 7141 }, "parameters": [], "parameter_types": [] }, "signature_raw": "receiveFundRequest(bytes)", "signature": "a64fa6e3", - "scope": 6949, + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionreceiveFundRequest(bytescalldatamessage)external{(IWormhole.VMmemoryvm,boolvalid,stringmemoryreason)=wormhole.parseAndVerifyVM(message);require(valid,reason);_validateWormholeMessageEmitter(vm);nextValidNonce=vm.nonce+1;(bytes32msgType,uint256amount)=abi.decode(vm.payload,(bytes32,uint256));require(msgType==Constants.L2_FUND_REQUEST,\"WR: bad msg type\");L1Vault(address(vault)).processFundRequest(amount);}" } ], "linearized_base_contracts": [ - 6513, - 6949, - 6945, - 6946, + 6515, + 6951, 6947, - 6948 + 6948, + 6949, + 6950 ], "base_contracts": [ { - "id": 6950, + "id": 6952, "node_type": 62, "src": { "line": 3084, @@ -133956,10 +135875,10 @@ "start": 114567, "end": 114580, "length": 14, - "parent_index": 6949 + "parent_index": 6951 }, "base_name": { - "id": 6951, + "id": 6953, "node_type": 52, "src": { "line": 3084, @@ -133967,19 +135886,19 @@ "start": 114567, "end": 114580, "length": 14, - "parent_index": 6949 + "parent_index": 6951 }, "name": "WormholeRouter", - "referenced_declaration": 6513 + "referenced_declaration": 6515 } } ], "contract_dependencies": [ - 6513, - 6945, - 6946, + 6515, 6947, - 6948 + 6948, + 6949, + 6950 ] } ], @@ -133993,12 +135912,12 @@ } }, { - "id": 7202, + "id": 7204, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 7202, + "id": 7204, "name": "IRootChainManager", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IRootChainManager.sol" } @@ -134008,7 +135927,7 @@ "node_type": 1, "nodes": [ { - "id": 7230, + "id": 7232, "node_type": 10, "src": { "line": 3146, @@ -134016,7 +135935,7 @@ "start": 117266, "end": 117289, "length": 24, - "parent_index": 7202 + "parent_index": 7204 }, "literals": [ "pragma", @@ -134032,7 +135951,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 7289, + "id": 7291, "name": "IRootChainManager", "node_type": 35, "src": { @@ -134041,7 +135960,7 @@ "start": 117292, "end": 117466, "length": 175, - "parent_index": 7202 + "parent_index": 7204 }, "name_location": { "line": 3148, @@ -134049,14 +135968,14 @@ "start": 117302, "end": 117318, "length": 17, - "parent_index": 7289 + "parent_index": 7291 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 7291, + "id": 7293, "name": "depositFor", "node_type": 42, "kind": 41, @@ -134066,7 +135985,7 @@ "start": 117326, "end": 117415, "length": 90, - "parent_index": 7289 + "parent_index": 7291 }, "name_location": { "line": 3149, @@ -134074,10 +135993,10 @@ "start": 117335, "end": 117344, "length": 10, - "parent_index": 7291 + "parent_index": 7293 }, "body": { - "id": 7300, + "id": 7302, "node_type": 46, "kind": 0, "src": { @@ -134086,7 +136005,7 @@ "start": 117326, "end": 117415, "length": 90, - "parent_index": 7291 + "parent_index": 7293 }, "implemented": false, "statements": [] @@ -134098,7 +136017,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7292, + "id": 7294, "node_type": 43, "src": { "line": 3149, @@ -134106,11 +136025,11 @@ "start": 117346, "end": 117404, "length": 59, - "parent_index": 7291 + "parent_index": 7293 }, "parameters": [ { - "id": 7293, + "id": 7295, "node_type": 44, "src": { "line": 3149, @@ -134118,12 +136037,12 @@ "start": 117346, "end": 117357, "length": 12, - "parent_index": 7292 + "parent_index": 7294 }, - "scope": 7291, + "scope": 7293, "name": "user", "type_name": { - "id": 7294, + "id": 7296, "node_type": 30, "src": { "line": 3149, @@ -134131,7 +136050,7 @@ "start": 117346, "end": 117352, "length": 7, - "parent_index": 7293 + "parent_index": 7295 }, "name": "address", "state_mutability": 4, @@ -134150,7 +136069,7 @@ } }, { - "id": 7295, + "id": 7297, "node_type": 44, "src": { "line": 3149, @@ -134158,12 +136077,12 @@ "start": 117360, "end": 117376, "length": 17, - "parent_index": 7292 + "parent_index": 7294 }, - "scope": 7291, + "scope": 7293, "name": "rootToken", "type_name": { - "id": 7296, + "id": 7298, "node_type": 30, "src": { "line": 3149, @@ -134171,7 +136090,7 @@ "start": 117360, "end": 117366, "length": 7, - "parent_index": 7295 + "parent_index": 7297 }, "name": "address", "state_mutability": 4, @@ -134190,7 +136109,7 @@ } }, { - "id": 7297, + "id": 7299, "node_type": 44, "src": { "line": 3149, @@ -134198,12 +136117,12 @@ "start": 117379, "end": 117404, "length": 26, - "parent_index": 7292 + "parent_index": 7294 }, - "scope": 7291, + "scope": 7293, "name": "depositData", "type_name": { - "id": 7298, + "id": 7300, "node_type": 30, "src": { "line": 3149, @@ -134211,7 +136130,7 @@ "start": 117379, "end": 117383, "length": 5, - "parent_index": 7297 + "parent_index": 7299 }, "name": "bytes", "referenced_declaration": 0, @@ -134245,7 +136164,7 @@ ] }, "return_parameters": { - "id": 7299, + "id": 7301, "node_type": 43, "src": { "line": 3149, @@ -134253,21 +136172,22 @@ "start": 117326, "end": 117415, "length": 90, - "parent_index": 7291 + "parent_index": 7293 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "depositFor(address, address, bytes)", - "signature": "03af4fae", - "scope": 7289, + "signature_raw": "depositFor(address,address,bytes)", + "signature": "e3dec8fb", + "scope": 7291, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_bytes$", "type_string": "function(address,address,bytes)" - } + }, + "text": "functiondepositFor(addressuser,addressrootToken,bytescalldatadepositData)external;" }, { - "id": 7302, + "id": 7304, "name": "exit", "node_type": 42, "kind": 41, @@ -134277,7 +136197,7 @@ "start": 117422, "end": 117464, "length": 43, - "parent_index": 7289 + "parent_index": 7291 }, "name_location": { "line": 3151, @@ -134285,10 +136205,10 @@ "start": 117431, "end": 117434, "length": 4, - "parent_index": 7302 + "parent_index": 7304 }, "body": { - "id": 7307, + "id": 7309, "node_type": 46, "kind": 0, "src": { @@ -134297,7 +136217,7 @@ "start": 117422, "end": 117464, "length": 43, - "parent_index": 7302 + "parent_index": 7304 }, "implemented": false, "statements": [] @@ -134309,7 +136229,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7303, + "id": 7305, "node_type": 43, "src": { "line": 3151, @@ -134317,11 +136237,11 @@ "start": 117436, "end": 117453, "length": 18, - "parent_index": 7302 + "parent_index": 7304 }, "parameters": [ { - "id": 7304, + "id": 7306, "node_type": 44, "src": { "line": 3151, @@ -134329,12 +136249,12 @@ "start": 117436, "end": 117453, "length": 18, - "parent_index": 7303 + "parent_index": 7305 }, - "scope": 7302, + "scope": 7304, "name": "_data", "type_name": { - "id": 7305, + "id": 7307, "node_type": 30, "src": { "line": 3151, @@ -134342,7 +136262,7 @@ "start": 117436, "end": 117440, "length": 5, - "parent_index": 7304 + "parent_index": 7306 }, "name": "bytes", "referenced_declaration": 0, @@ -134368,7 +136288,7 @@ ] }, "return_parameters": { - "id": 7306, + "id": 7308, "node_type": 43, "src": { "line": 3151, @@ -134376,22 +136296,23 @@ "start": 117422, "end": 117464, "length": 43, - "parent_index": 7302 + "parent_index": 7304 }, "parameters": [], "parameter_types": [] }, "signature_raw": "exit(bytes)", "signature": "3805550f", - "scope": 7289, + "scope": 7291, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionexit(bytesmemory_data)external;" } ], "linearized_base_contracts": [ - 7289 + 7291 ], "base_contracts": [], "contract_dependencies": [] @@ -134407,12 +136328,12 @@ } }, { - "id": 7308, + "id": 7310, "base_contracts": [], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 7308, + "id": 7310, "name": "IWormhole", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IWormhole.sol" } @@ -134422,7 +136343,7 @@ "node_type": 1, "nodes": [ { - "id": 7337, + "id": 7339, "node_type": 10, "src": { "line": 3156, @@ -134430,7 +136351,7 @@ "start": 117507, "end": 117530, "length": 24, - "parent_index": 7308 + "parent_index": 7310 }, "literals": [ "pragma", @@ -134446,7 +136367,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 7396, + "id": 7398, "name": "IWormhole", "node_type": 35, "src": { @@ -134455,7 +136376,7 @@ "start": 117533, "end": 118378, "length": 846, - "parent_index": 7308 + "parent_index": 7310 }, "name_location": { "line": 3158, @@ -134463,14 +136384,14 @@ "start": 117543, "end": 117551, "length": 9, - "parent_index": 7396 + "parent_index": 7398 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 7398, + "id": 7400, "node_type": 67, "src": { "line": 3159, @@ -134478,7 +136399,7 @@ "start": 117559, "end": 117666, "length": 108, - "parent_index": 7308 + "parent_index": 7310 }, "name": "Signature", "name_location": { @@ -134487,16 +136408,16 @@ "start": 117566, "end": 117574, "length": 9, - "parent_index": 7398 + "parent_index": 7400 }, "canonical_name": "IWormhole.Signature", "type_description": { - "type_identifier": "t_struct$_IWormhole_Signature_$7398", + "type_identifier": "t_struct$_IWormhole_Signature_$7400", "type_string": "struct IWormhole.Signature" }, "members": [ { - "id": 7399, + "id": 7401, "node_type": 44, "src": { "line": 3160, @@ -134504,12 +136425,12 @@ "start": 117586, "end": 117595, "length": 10, - "parent_index": 7398 + "parent_index": 7400 }, - "scope": 7396, + "scope": 7398, "name": "r", "type_name": { - "id": 7400, + "id": 7402, "node_type": 30, "src": { "line": 3160, @@ -134517,7 +136438,7 @@ "start": 117586, "end": 117592, "length": 7, - "parent_index": 7399 + "parent_index": 7401 }, "name": "bytes32", "referenced_declaration": 0, @@ -134534,7 +136455,7 @@ } }, { - "id": 7401, + "id": 7403, "node_type": 44, "src": { "line": 3161, @@ -134542,12 +136463,12 @@ "start": 117605, "end": 117614, "length": 10, - "parent_index": 7398 + "parent_index": 7400 }, - "scope": 7396, + "scope": 7398, "name": "s", "type_name": { - "id": 7402, + "id": 7404, "node_type": 30, "src": { "line": 3161, @@ -134555,7 +136476,7 @@ "start": 117605, "end": 117611, "length": 7, - "parent_index": 7401 + "parent_index": 7403 }, "name": "bytes32", "referenced_declaration": 0, @@ -134572,7 +136493,7 @@ } }, { - "id": 7403, + "id": 7405, "node_type": 44, "src": { "line": 3162, @@ -134580,12 +136501,12 @@ "start": 117624, "end": 117631, "length": 8, - "parent_index": 7398 + "parent_index": 7400 }, - "scope": 7396, + "scope": 7398, "name": "v", "type_name": { - "id": 7404, + "id": 7406, "node_type": 30, "src": { "line": 3162, @@ -134593,7 +136514,7 @@ "start": 117624, "end": 117628, "length": 5, - "parent_index": 7403 + "parent_index": 7405 }, "name": "uint8", "referenced_declaration": 0, @@ -134610,7 +136531,7 @@ } }, { - "id": 7405, + "id": 7407, "node_type": 44, "src": { "line": 3163, @@ -134618,12 +136539,12 @@ "start": 117641, "end": 117660, "length": 20, - "parent_index": 7398 + "parent_index": 7400 }, - "scope": 7396, + "scope": 7398, "name": "guardianIndex", "type_name": { - "id": 7406, + "id": 7408, "node_type": 30, "src": { "line": 3163, @@ -134631,7 +136552,7 @@ "start": 117641, "end": 117645, "length": 5, - "parent_index": 7405 + "parent_index": 7407 }, "name": "uint8", "referenced_declaration": 0, @@ -134652,7 +136573,7 @@ "storage_location": 1 }, { - "id": 7408, + "id": 7410, "node_type": 67, "src": { "line": 3166, @@ -134660,7 +136581,7 @@ "start": 117673, "end": 117990, "length": 318, - "parent_index": 7308 + "parent_index": 7310 }, "name": "VM", "name_location": { @@ -134669,16 +136590,16 @@ "start": 117680, "end": 117681, "length": 2, - "parent_index": 7408 + "parent_index": 7410 }, "canonical_name": "IWormhole.VM", "type_description": { - "type_identifier": "t_struct$_IWormhole_VM_$7408", + "type_identifier": "t_struct$_IWormhole_VM_$7410", "type_string": "struct IWormhole.VM" }, "members": [ { - "id": 7409, + "id": 7411, "node_type": 44, "src": { "line": 3167, @@ -134686,12 +136607,12 @@ "start": 117693, "end": 117706, "length": 14, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "version", "type_name": { - "id": 7410, + "id": 7412, "node_type": 30, "src": { "line": 3167, @@ -134699,7 +136620,7 @@ "start": 117693, "end": 117697, "length": 5, - "parent_index": 7409 + "parent_index": 7411 }, "name": "uint8", "referenced_declaration": 0, @@ -134716,7 +136637,7 @@ } }, { - "id": 7411, + "id": 7413, "node_type": 44, "src": { "line": 3168, @@ -134724,12 +136645,12 @@ "start": 117716, "end": 117732, "length": 17, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "timestamp", "type_name": { - "id": 7412, + "id": 7414, "node_type": 30, "src": { "line": 3168, @@ -134737,7 +136658,7 @@ "start": 117716, "end": 117721, "length": 6, - "parent_index": 7411 + "parent_index": 7413 }, "name": "uint32", "referenced_declaration": 0, @@ -134754,7 +136675,7 @@ } }, { - "id": 7413, + "id": 7415, "node_type": 44, "src": { "line": 3169, @@ -134762,12 +136683,12 @@ "start": 117742, "end": 117754, "length": 13, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "nonce", "type_name": { - "id": 7414, + "id": 7416, "node_type": 30, "src": { "line": 3169, @@ -134775,7 +136696,7 @@ "start": 117742, "end": 117747, "length": 6, - "parent_index": 7413 + "parent_index": 7415 }, "name": "uint32", "referenced_declaration": 0, @@ -134792,7 +136713,7 @@ } }, { - "id": 7415, + "id": 7417, "node_type": 44, "src": { "line": 3170, @@ -134800,12 +136721,12 @@ "start": 117764, "end": 117785, "length": 22, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "emitterChainId", "type_name": { - "id": 7416, + "id": 7418, "node_type": 30, "src": { "line": 3170, @@ -134813,7 +136734,7 @@ "start": 117764, "end": 117769, "length": 6, - "parent_index": 7415 + "parent_index": 7417 }, "name": "uint16", "referenced_declaration": 0, @@ -134830,7 +136751,7 @@ } }, { - "id": 7417, + "id": 7419, "node_type": 44, "src": { "line": 3171, @@ -134838,12 +136759,12 @@ "start": 117795, "end": 117817, "length": 23, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "emitterAddress", "type_name": { - "id": 7418, + "id": 7420, "node_type": 30, "src": { "line": 3171, @@ -134851,7 +136772,7 @@ "start": 117795, "end": 117801, "length": 7, - "parent_index": 7417 + "parent_index": 7419 }, "name": "bytes32", "referenced_declaration": 0, @@ -134868,7 +136789,7 @@ } }, { - "id": 7419, + "id": 7421, "node_type": 44, "src": { "line": 3172, @@ -134876,12 +136797,12 @@ "start": 117827, "end": 117842, "length": 16, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "sequence", "type_name": { - "id": 7420, + "id": 7422, "node_type": 30, "src": { "line": 3172, @@ -134889,7 +136810,7 @@ "start": 117827, "end": 117832, "length": 6, - "parent_index": 7419 + "parent_index": 7421 }, "name": "uint64", "referenced_declaration": 0, @@ -134906,7 +136827,7 @@ } }, { - "id": 7421, + "id": 7423, "node_type": 44, "src": { "line": 3173, @@ -134914,12 +136835,12 @@ "start": 117852, "end": 117874, "length": 23, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "consistencyLevel", "type_name": { - "id": 7422, + "id": 7424, "node_type": 30, "src": { "line": 3173, @@ -134927,7 +136848,7 @@ "start": 117852, "end": 117856, "length": 5, - "parent_index": 7421 + "parent_index": 7423 }, "name": "uint8", "referenced_declaration": 0, @@ -134944,7 +136865,7 @@ } }, { - "id": 7423, + "id": 7425, "node_type": 44, "src": { "line": 3174, @@ -134952,12 +136873,12 @@ "start": 117884, "end": 117897, "length": 14, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "payload", "type_name": { - "id": 7424, + "id": 7426, "node_type": 30, "src": { "line": 3174, @@ -134965,7 +136886,7 @@ "start": 117884, "end": 117888, "length": 5, - "parent_index": 7423 + "parent_index": 7425 }, "name": "bytes", "referenced_declaration": 0, @@ -134982,7 +136903,7 @@ } }, { - "id": 7425, + "id": 7427, "node_type": 44, "src": { "line": 3175, @@ -134990,12 +136911,12 @@ "start": 117907, "end": 117930, "length": 24, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "guardianSetIndex", "type_name": { - "id": 7426, + "id": 7428, "node_type": 30, "src": { "line": 3175, @@ -135003,7 +136924,7 @@ "start": 117907, "end": 117912, "length": 6, - "parent_index": 7425 + "parent_index": 7427 }, "name": "uint32", "referenced_declaration": 0, @@ -135020,7 +136941,7 @@ } }, { - "id": 7427, + "id": 7429, "node_type": 44, "src": { "line": 3176, @@ -135028,12 +136949,12 @@ "start": 117940, "end": 117962, "length": 23, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "signatures", "type_name": { - "id": 7428, + "id": 7430, "node_type": 69, "src": { "line": 3176, @@ -135041,38 +136962,38 @@ "start": 117940, "end": 117948, "length": 9, - "parent_index": 7427 + "parent_index": 7429 }, "name": "Signature", "path_node": { - "id": 7429, + "id": 7431, "name": "Signature", "node_type": 52, - "referenced_declaration": 7398, + "referenced_declaration": 7400, "src": { "line": 3176, "column": 8, "start": 117940, "end": 117948, "length": 9, - "parent_index": 7428 + "parent_index": 7430 } }, - "referenced_declaration": 7398, + "referenced_declaration": 7400, "type_description": { - "type_identifier": "t_struct$_IWormhole_Signature_$7398", + "type_identifier": "t_struct$_IWormhole_Signature_$7400", "type_string": "struct IWormhole.Signature" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_IWormhole_Signature_$7398", + "type_identifier": "t_struct$_IWormhole_Signature_$7400", "type_string": "struct IWormhole.Signature" } }, { - "id": 7430, + "id": 7432, "node_type": 44, "src": { "line": 3177, @@ -135080,12 +137001,12 @@ "start": 117972, "end": 117984, "length": 13, - "parent_index": 7408 + "parent_index": 7410 }, - "scope": 7396, + "scope": 7398, "name": "hash", "type_name": { - "id": 7431, + "id": 7433, "node_type": 30, "src": { "line": 3177, @@ -135093,7 +137014,7 @@ "start": 117972, "end": 117978, "length": 7, - "parent_index": 7430 + "parent_index": 7432 }, "name": "bytes32", "referenced_declaration": 0, @@ -135114,7 +137035,7 @@ "storage_location": 1 }, { - "id": 7433, + "id": 7435, "name": "publishMessage", "node_type": 42, "kind": 41, @@ -135124,7 +137045,7 @@ "start": 117997, "end": 118147, "length": 151, - "parent_index": 7396 + "parent_index": 7398 }, "name_location": { "line": 3180, @@ -135132,10 +137053,10 @@ "start": 118006, "end": 118019, "length": 14, - "parent_index": 7433 + "parent_index": 7435 }, "body": { - "id": 7444, + "id": 7446, "node_type": 46, "kind": 0, "src": { @@ -135144,7 +137065,7 @@ "start": 117997, "end": 118147, "length": 151, - "parent_index": 7433 + "parent_index": 7435 }, "implemented": false, "statements": [] @@ -135156,7 +137077,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7434, + "id": 7436, "node_type": 43, "src": { "line": 3180, @@ -135164,11 +137085,11 @@ "start": 118021, "end": 118078, "length": 58, - "parent_index": 7433 + "parent_index": 7435 }, "parameters": [ { - "id": 7435, + "id": 7437, "node_type": 44, "src": { "line": 3180, @@ -135176,12 +137097,12 @@ "start": 118021, "end": 118032, "length": 12, - "parent_index": 7434 + "parent_index": 7436 }, - "scope": 7433, + "scope": 7435, "name": "nonce", "type_name": { - "id": 7436, + "id": 7438, "node_type": 30, "src": { "line": 3180, @@ -135189,7 +137110,7 @@ "start": 118021, "end": 118026, "length": 6, - "parent_index": 7435 + "parent_index": 7437 }, "name": "uint32", "referenced_declaration": 0, @@ -135207,7 +137128,7 @@ } }, { - "id": 7437, + "id": 7439, "node_type": 44, "src": { "line": 3180, @@ -135215,12 +137136,12 @@ "start": 118035, "end": 118054, "length": 20, - "parent_index": 7434 + "parent_index": 7436 }, - "scope": 7433, + "scope": 7435, "name": "payload", "type_name": { - "id": 7438, + "id": 7440, "node_type": 30, "src": { "line": 3180, @@ -135228,7 +137149,7 @@ "start": 118035, "end": 118039, "length": 5, - "parent_index": 7437 + "parent_index": 7439 }, "name": "bytes", "referenced_declaration": 0, @@ -135246,7 +137167,7 @@ } }, { - "id": 7439, + "id": 7441, "node_type": 44, "src": { "line": 3180, @@ -135254,12 +137175,12 @@ "start": 118057, "end": 118078, "length": 22, - "parent_index": 7434 + "parent_index": 7436 }, - "scope": 7433, + "scope": 7435, "name": "consistencyLevel", "type_name": { - "id": 7440, + "id": 7442, "node_type": 30, "src": { "line": 3180, @@ -135267,7 +137188,7 @@ "start": 118057, "end": 118061, "length": 5, - "parent_index": 7439 + "parent_index": 7441 }, "name": "uint8", "referenced_declaration": 0, @@ -135301,7 +137222,7 @@ ] }, "return_parameters": { - "id": 7441, + "id": 7443, "node_type": 43, "src": { "line": 3183, @@ -135309,11 +137230,11 @@ "start": 118131, "end": 118145, "length": 15, - "parent_index": 7433 + "parent_index": 7435 }, "parameters": [ { - "id": 7442, + "id": 7444, "node_type": 44, "src": { "line": 3183, @@ -135321,12 +137242,12 @@ "start": 118131, "end": 118145, "length": 15, - "parent_index": 7441 + "parent_index": 7443 }, - "scope": 7433, + "scope": 7435, "name": "sequence", "type_name": { - "id": 7443, + "id": 7445, "node_type": 30, "src": { "line": 3183, @@ -135334,7 +137255,7 @@ "start": 118131, "end": 118136, "length": 6, - "parent_index": 7442 + "parent_index": 7444 }, "name": "uint64", "referenced_declaration": 0, @@ -135359,16 +137280,17 @@ } ] }, - "signature_raw": "publishMessage(uint32, bytes, uint8)", - "signature": "bf991263", - "scope": 7396, + "signature_raw": "publishMessage(uint32,bytes,uint8)", + "signature": "b19a437e", + "scope": 7398, "type_description": { "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", "type_string": "function(uint32,bytes,uint8)" - } + }, + "text": "functionpublishMessage(uint32nonce,bytesmemorypayload,uint8consistencyLevel)externalpayablereturns(uint64sequence);" }, { - "id": 7446, + "id": 7448, "name": "parseAndVerifyVM", "node_type": 42, "kind": 41, @@ -135378,7 +137300,7 @@ "start": 118154, "end": 118300, "length": 147, - "parent_index": 7396 + "parent_index": 7398 }, "name_location": { "line": 3185, @@ -135386,10 +137308,10 @@ "start": 118163, "end": 118178, "length": 16, - "parent_index": 7446 + "parent_index": 7448 }, "body": { - "id": 7458, + "id": 7460, "node_type": 46, "kind": 0, "src": { @@ -135398,7 +137320,7 @@ "start": 118154, "end": 118300, "length": 147, - "parent_index": 7446 + "parent_index": 7448 }, "implemented": false, "statements": [] @@ -135410,7 +137332,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7447, + "id": 7449, "node_type": 43, "src": { "line": 3185, @@ -135418,11 +137340,11 @@ "start": 118180, "end": 118203, "length": 24, - "parent_index": 7446 + "parent_index": 7448 }, "parameters": [ { - "id": 7448, + "id": 7450, "node_type": 44, "src": { "line": 3185, @@ -135430,12 +137352,12 @@ "start": 118180, "end": 118203, "length": 24, - "parent_index": 7447 + "parent_index": 7449 }, - "scope": 7446, + "scope": 7448, "name": "encodedVM", "type_name": { - "id": 7449, + "id": 7451, "node_type": 30, "src": { "line": 3185, @@ -135443,7 +137365,7 @@ "start": 118180, "end": 118184, "length": 5, - "parent_index": 7448 + "parent_index": 7450 }, "name": "bytes", "referenced_declaration": 0, @@ -135469,7 +137391,7 @@ ] }, "return_parameters": { - "id": 7450, + "id": 7452, "node_type": 43, "src": { "line": 3188, @@ -135477,11 +137399,11 @@ "start": 118253, "end": 118298, "length": 46, - "parent_index": 7446 + "parent_index": 7448 }, "parameters": [ { - "id": 7451, + "id": 7453, "node_type": 44, "src": { "line": 3188, @@ -135489,12 +137411,12 @@ "start": 118253, "end": 118264, "length": 12, - "parent_index": 7450 + "parent_index": 7452 }, - "scope": 7446, + "scope": 7448, "name": "vm", "type_name": { - "id": 7452, + "id": 7454, "node_type": 69, "src": { "line": 3188, @@ -135502,20 +137424,20 @@ "start": 118253, "end": 118254, "length": 2, - "parent_index": 7451 + "parent_index": 7453 }, "path_node": { - "id": 7453, + "id": 7455, "name": "VM", "node_type": 52, - "referenced_declaration": 7408, + "referenced_declaration": 7410, "src": { "line": 3188, "column": 17, "start": 118253, "end": 118254, "length": 2, - "parent_index": 7452 + "parent_index": 7454 }, "name_location": { "line": 3188, @@ -135523,12 +137445,12 @@ "start": 118253, "end": 118254, "length": 2, - "parent_index": 7452 + "parent_index": 7454 } }, - "referenced_declaration": 7408, + "referenced_declaration": 7410, "type_description": { - "type_identifier": "t_struct$_IWormhole_VM_$7408", + "type_identifier": "t_struct$_IWormhole_VM_$7410", "type_string": "struct IWormhole.VM" } }, @@ -135536,12 +137458,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_IWormhole_VM_$7408", + "type_identifier": "t_struct$_IWormhole_VM_$7410", "type_string": "struct IWormhole.VM" } }, { - "id": 7454, + "id": 7456, "node_type": 44, "src": { "line": 3188, @@ -135549,12 +137471,12 @@ "start": 118267, "end": 118276, "length": 10, - "parent_index": 7450 + "parent_index": 7452 }, - "scope": 7446, + "scope": 7448, "name": "valid", "type_name": { - "id": 7455, + "id": 7457, "node_type": 30, "src": { "line": 3188, @@ -135562,7 +137484,7 @@ "start": 118267, "end": 118270, "length": 4, - "parent_index": 7454 + "parent_index": 7456 }, "name": "bool", "referenced_declaration": 0, @@ -135580,7 +137502,7 @@ } }, { - "id": 7456, + "id": 7458, "node_type": 44, "src": { "line": 3188, @@ -135588,12 +137510,12 @@ "start": 118279, "end": 118298, "length": 20, - "parent_index": 7450 + "parent_index": 7452 }, - "scope": 7446, + "scope": 7448, "name": "reason", "type_name": { - "id": 7457, + "id": 7459, "node_type": 30, "src": { "line": 3188, @@ -135601,7 +137523,7 @@ "start": 118279, "end": 118284, "length": 6, - "parent_index": 7456 + "parent_index": 7458 }, "name": "string", "referenced_declaration": 0, @@ -135621,7 +137543,7 @@ ], "parameter_types": [ { - "type_identifier": "t_struct$_IWormhole_VM_$7408", + "type_identifier": "t_struct$_IWormhole_VM_$7410", "type_string": "struct IWormhole.VM" }, { @@ -135636,14 +137558,15 @@ }, "signature_raw": "parseAndVerifyVM(bytes)", "signature": "c0fd8bde", - "scope": 7396, + "scope": 7398, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionparseAndVerifyVM(bytescalldataencodedVM)externalviewreturns(VMmemoryvm,boolvalid,stringmemoryreason);" }, { - "id": 7460, + "id": 7462, "name": "nextSequence", "node_type": 42, "kind": 41, @@ -135653,7 +137576,7 @@ "start": 118307, "end": 118376, "length": 70, - "parent_index": 7396 + "parent_index": 7398 }, "name_location": { "line": 3190, @@ -135661,10 +137584,10 @@ "start": 118316, "end": 118327, "length": 12, - "parent_index": 7460 + "parent_index": 7462 }, "body": { - "id": 7467, + "id": 7469, "node_type": 46, "kind": 0, "src": { @@ -135673,7 +137596,7 @@ "start": 118307, "end": 118376, "length": 70, - "parent_index": 7460 + "parent_index": 7462 }, "implemented": false, "statements": [] @@ -135685,7 +137608,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7461, + "id": 7463, "node_type": 43, "src": { "line": 3190, @@ -135693,11 +137616,11 @@ "start": 118329, "end": 118343, "length": 15, - "parent_index": 7460 + "parent_index": 7462 }, "parameters": [ { - "id": 7462, + "id": 7464, "node_type": 44, "src": { "line": 3190, @@ -135705,12 +137628,12 @@ "start": 118329, "end": 118343, "length": 15, - "parent_index": 7461 + "parent_index": 7463 }, - "scope": 7460, + "scope": 7462, "name": "emitter", "type_name": { - "id": 7463, + "id": 7465, "node_type": 30, "src": { "line": 3190, @@ -135718,7 +137641,7 @@ "start": 118329, "end": 118335, "length": 7, - "parent_index": 7462 + "parent_index": 7464 }, "name": "address", "state_mutability": 4, @@ -135745,7 +137668,7 @@ ] }, "return_parameters": { - "id": 7464, + "id": 7466, "node_type": 43, "src": { "line": 3190, @@ -135753,11 +137676,11 @@ "start": 118369, "end": 118374, "length": 6, - "parent_index": 7460 + "parent_index": 7462 }, "parameters": [ { - "id": 7465, + "id": 7467, "node_type": 44, "src": { "line": 3190, @@ -135765,12 +137688,12 @@ "start": 118369, "end": 118374, "length": 6, - "parent_index": 7464 + "parent_index": 7466 }, - "scope": 7460, + "scope": 7462, "name": "", "type_name": { - "id": 7466, + "id": 7468, "node_type": 30, "src": { "line": 3190, @@ -135778,7 +137701,7 @@ "start": 118369, "end": 118374, "length": 6, - "parent_index": 7465 + "parent_index": 7467 }, "name": "uint64", "referenced_declaration": 0, @@ -135805,15 +137728,16 @@ }, "signature_raw": "nextSequence(address)", "signature": "4cf842b5", - "scope": 7396, + "scope": 7398, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnextSequence(addressemitter)externalviewreturns(uint64);" } ], "linearized_base_contracts": [ - 7396 + 7398 ], "base_contracts": [], "contract_dependencies": [] @@ -135829,12 +137753,12 @@ } }, { - "id": 7468, + "id": 7470, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 7468, + "id": 7470, "name": "Constants", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Constants.sol" } @@ -135844,7 +137768,7 @@ "node_type": 1, "nodes": [ { - "id": 7498, + "id": 7500, "node_type": 10, "src": { "line": 3195, @@ -135852,7 +137776,7 @@ "start": 118414, "end": 118437, "length": 24, - "parent_index": 7468 + "parent_index": 7470 }, "literals": [ "pragma", @@ -135868,7 +137792,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 7557, + "id": 7559, "name": "Constants", "node_type": 35, "src": { @@ -135877,7 +137801,7 @@ "start": 118440, "end": 118834, "length": 395, - "parent_index": 7468 + "parent_index": 7470 }, "name_location": { "line": 3197, @@ -135885,14 +137809,14 @@ "start": 118448, "end": 118456, "length": 9, - "parent_index": 7557 + "parent_index": 7559 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 7559, + "id": 7561, "name": "L2_FUND_TRANSFER_REPORT", "is_constant": true, "is_state_variable": true, @@ -135903,9 +137827,9 @@ "start": 118516, "end": 118595, "length": 80, - "parent_index": 7557 + "parent_index": 7559 }, - "scope": 7557, + "scope": 7559, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -135914,7 +137838,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7560, + "id": 7562, "node_type": 30, "src": { "line": 3200, @@ -135922,7 +137846,7 @@ "start": 118516, "end": 118522, "length": 7, - "parent_index": 7559 + "parent_index": 7561 }, "name": "bytes32", "referenced_declaration": 0, @@ -135932,7 +137856,7 @@ } }, "initial_value": { - "id": 7561, + "id": 7563, "node_type": 24, "kind": 24, "src": { @@ -135941,7 +137865,7 @@ "start": 118559, "end": 118594, "length": 36, - "parent_index": 7559 + "parent_index": 7561 }, "argument_types": [ { @@ -135951,7 +137875,7 @@ ], "arguments": [ { - "id": 7563, + "id": 7565, "node_type": 17, "kind": 50, "value": "L2_FUND_TRANSFER_REPORT", @@ -135962,7 +137886,7 @@ "start": 118569, "end": 118593, "length": 25, - "parent_index": 7561 + "parent_index": 7563 }, "type_description": { "type_identifier": "t_string_literal", @@ -135970,11 +137894,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L2_FUND_TRANSFER_REPORT\"" } ], "expression": { - "id": 7562, + "id": 7564, "node_type": 16, "src": { "line": 3200, @@ -135982,7 +137907,7 @@ "start": 118559, "end": 118567, "length": 9, - "parent_index": 7561 + "parent_index": 7563 }, "name": "keccak256", "type_description": { @@ -135991,7 +137916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -136000,7 +137926,7 @@ } }, { - "id": 7565, + "id": 7567, "name": "L2_FUND_REQUEST", "is_constant": true, "is_state_variable": true, @@ -136011,9 +137937,9 @@ "start": 118601, "end": 118664, "length": 64, - "parent_index": 7557 + "parent_index": 7559 }, - "scope": 7557, + "scope": 7559, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -136022,7 +137948,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7566, + "id": 7568, "node_type": 30, "src": { "line": 3201, @@ -136030,7 +137956,7 @@ "start": 118601, "end": 118607, "length": 7, - "parent_index": 7565 + "parent_index": 7567 }, "name": "bytes32", "referenced_declaration": 0, @@ -136040,7 +137966,7 @@ } }, "initial_value": { - "id": 7567, + "id": 7569, "node_type": 24, "kind": 24, "src": { @@ -136049,7 +137975,7 @@ "start": 118636, "end": 118663, "length": 28, - "parent_index": 7565 + "parent_index": 7567 }, "argument_types": [ { @@ -136059,7 +137985,7 @@ ], "arguments": [ { - "id": 7569, + "id": 7571, "node_type": 17, "kind": 50, "value": "L2_FUND_REQUEST", @@ -136070,7 +137996,7 @@ "start": 118646, "end": 118662, "length": 17, - "parent_index": 7567 + "parent_index": 7569 }, "type_description": { "type_identifier": "t_string_literal", @@ -136078,11 +138004,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L2_FUND_REQUEST\"" } ], "expression": { - "id": 7568, + "id": 7570, "node_type": 16, "src": { "line": 3201, @@ -136090,7 +138017,7 @@ "start": 118636, "end": 118644, "length": 9, - "parent_index": 7567 + "parent_index": 7569 }, "name": "keccak256", "type_description": { @@ -136099,7 +138026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -136108,7 +138036,7 @@ } }, { - "id": 7571, + "id": 7573, "name": "L1_TVL", "is_constant": true, "is_state_variable": true, @@ -136119,9 +138047,9 @@ "start": 118702, "end": 118747, "length": 46, - "parent_index": 7557 + "parent_index": 7559 }, - "scope": 7557, + "scope": 7559, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -136130,7 +138058,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7572, + "id": 7574, "node_type": 30, "src": { "line": 3204, @@ -136138,7 +138066,7 @@ "start": 118702, "end": 118708, "length": 7, - "parent_index": 7571 + "parent_index": 7573 }, "name": "bytes32", "referenced_declaration": 0, @@ -136148,7 +138076,7 @@ } }, "initial_value": { - "id": 7573, + "id": 7575, "node_type": 24, "kind": 24, "src": { @@ -136157,7 +138085,7 @@ "start": 118728, "end": 118746, "length": 19, - "parent_index": 7571 + "parent_index": 7573 }, "argument_types": [ { @@ -136167,7 +138095,7 @@ ], "arguments": [ { - "id": 7575, + "id": 7577, "node_type": 17, "kind": 50, "value": "L1_TVL", @@ -136178,7 +138106,7 @@ "start": 118738, "end": 118745, "length": 8, - "parent_index": 7573 + "parent_index": 7575 }, "type_description": { "type_identifier": "t_string_literal", @@ -136186,11 +138114,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L1_TVL\"" } ], "expression": { - "id": 7574, + "id": 7576, "node_type": 16, "src": { "line": 3204, @@ -136198,7 +138127,7 @@ "start": 118728, "end": 118736, "length": 9, - "parent_index": 7573 + "parent_index": 7575 }, "name": "keccak256", "type_description": { @@ -136207,7 +138136,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -136216,7 +138146,7 @@ } }, { - "id": 7577, + "id": 7579, "name": "L1_FUND_TRANSFER_REPORT", "is_constant": true, "is_state_variable": true, @@ -136227,9 +138157,9 @@ "start": 118753, "end": 118832, "length": 80, - "parent_index": 7557 + "parent_index": 7559 }, - "scope": 7557, + "scope": 7559, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -136238,7 +138168,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 7578, + "id": 7580, "node_type": 30, "src": { "line": 3205, @@ -136246,7 +138176,7 @@ "start": 118753, "end": 118759, "length": 7, - "parent_index": 7577 + "parent_index": 7579 }, "name": "bytes32", "referenced_declaration": 0, @@ -136256,7 +138186,7 @@ } }, "initial_value": { - "id": 7579, + "id": 7581, "node_type": 24, "kind": 24, "src": { @@ -136265,7 +138195,7 @@ "start": 118796, "end": 118831, "length": 36, - "parent_index": 7577 + "parent_index": 7579 }, "argument_types": [ { @@ -136275,7 +138205,7 @@ ], "arguments": [ { - "id": 7581, + "id": 7583, "node_type": 17, "kind": 50, "value": "L1_FUND_TRANSFER_REPORT", @@ -136286,7 +138216,7 @@ "start": 118806, "end": 118830, "length": 25, - "parent_index": 7579 + "parent_index": 7581 }, "type_description": { "type_identifier": "t_string_literal", @@ -136294,11 +138224,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"L1_FUND_TRANSFER_REPORT\"" } ], "expression": { - "id": 7580, + "id": 7582, "node_type": 16, "src": { "line": 3205, @@ -136306,7 +138237,7 @@ "start": 118796, "end": 118804, "length": 9, - "parent_index": 7579 + "parent_index": 7581 }, "name": "keccak256", "type_description": { @@ -136315,7 +138246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -136325,7 +138257,7 @@ } ], "linearized_base_contracts": [ - 7557 + 7559 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1Vault.solgo.ast.proto.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1Vault.solgo.ast.proto.json index 7a28de5b..bba6e955 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1Vault.solgo.ast.proto.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1Vault.solgo.ast.proto.json @@ -6,7 +6,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7582", + "id": "7584", "isStateVariable": true, "name": "received", "nodeType": "VARIABLE_DECLARATION", @@ -24,7 +24,7 @@ "typeString": "bool" }, "typeName": { - "id": "7583", + "id": "7585", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -32,7 +32,7 @@ "end": "1762", "length": "4", "line": "46", - "parentIndex": "7582", + "parentIndex": "7584", "start": "1759" }, "typeDescription": { @@ -46,7 +46,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7584", + "id": "7586", "isStateVariable": true, "name": "chainManager", "nodeType": "VARIABLE_DECLARATION", @@ -60,45 +60,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" }, "typeName": { - "id": "7585", + "id": "7587", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7586", + "id": "7588", "name": "IRootChainManager", "nameLocation": { "column": "4", "end": "1894", "length": "17", "line": "49", - "parentIndex": "7585", + "parentIndex": "7587", "start": "1878" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "7202", + "referencedDeclaration": "7204", "src": { "column": "4", "end": "1894", "length": "17", "line": "49", - "parentIndex": "7585", + "parentIndex": "7587", "start": "1878" } }, - "referencedDeclaration": "7202", + "referencedDeclaration": "7204", "src": { "column": "4", "end": "1894", "length": "17", "line": "49", - "parentIndex": "7584", + "parentIndex": "7586", "start": "1878" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } }, @@ -108,7 +108,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7587", + "id": "7589", "isStateVariable": true, "name": "predicate", "nodeType": "VARIABLE_DECLARATION", @@ -126,7 +126,7 @@ "typeString": "address" }, "typeName": { - "id": "7588", + "id": "7590", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -134,7 +134,7 @@ "end": "2291", "length": "7", "line": "56", - "parentIndex": "7587", + "parentIndex": "7589", "start": "2285" }, "stateMutability": "NONPAYABLE", @@ -149,24 +149,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7589", + "id": "7591", "name": "SendTVL", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7590", + "id": "7592", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7591", + "id": "7593", "name": "tvl", "nodeType": "VARIABLE_DECLARATION", - "scope": "7591", + "scope": "7593", "src": { "column": "18", "end": "2459", "length": "11", "line": "62", - "parentIndex": "7590", + "parentIndex": "7592", "start": "2449" }, "stateMutability": "MUTABLE", @@ -176,7 +176,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7592", + "id": "7594", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -184,7 +184,7 @@ "end": "2455", "length": "7", "line": "62", - "parentIndex": "7591", + "parentIndex": "7593", "start": "2449" }, "typeDescription": { @@ -200,7 +200,7 @@ "end": "2461", "length": "27", "line": "62", - "parentIndex": "7589", + "parentIndex": "7591", "start": "2435" } }, @@ -212,7 +212,7 @@ "start": "2435" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_SendTVL_\u00267589", + "typeIdentifier": "t_event\u0026_Global_SendTVL_\u00267591", "typeString": "event Global.SendTVL" } } @@ -220,7 +220,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7593", + "id": "7595", "isConstant": true, "isStateVariable": true, "name": "tvl", @@ -239,7 +239,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7594", + "id": "7596", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -247,7 +247,7 @@ "end": "2565", "length": "7", "line": "66", - "parentIndex": "7593", + "parentIndex": "7595", "start": "2559" }, "typeDescription": { @@ -261,7 +261,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7595", + "id": "7597", "isConstant": true, "isStateVariable": true, "name": "amountToSend", @@ -280,7 +280,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7596", + "id": "7598", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -288,7 +288,7 @@ "end": "3447", "length": "7", "line": "88", - "parentIndex": "7595", + "parentIndex": "7597", "start": "3441" }, "typeDescription": { @@ -302,24 +302,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7597", + "id": "7599", "name": "TransferToL2", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7598", + "id": "7600", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7599", + "id": "7601", "name": "assetsRequested", "nodeType": "VARIABLE_DECLARATION", - "scope": "7599", + "scope": "7601", "src": { "column": "23", "end": "4127", "length": "23", "line": "102", - "parentIndex": "7598", + "parentIndex": "7600", "start": "4105" }, "stateMutability": "MUTABLE", @@ -329,7 +329,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7600", + "id": "7602", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -337,7 +337,7 @@ "end": "4111", "length": "7", "line": "102", - "parentIndex": "7599", + "parentIndex": "7601", "start": "4105" }, "typeDescription": { @@ -348,16 +348,16 @@ "visibility": "INTERNAL" }, { - "id": "7601", + "id": "7603", "name": "assetsSent", "nodeType": "VARIABLE_DECLARATION", - "scope": "7601", + "scope": "7603", "src": { "column": "48", "end": "4147", "length": "18", "line": "102", - "parentIndex": "7598", + "parentIndex": "7600", "start": "4130" }, "stateMutability": "MUTABLE", @@ -367,7 +367,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7602", + "id": "7604", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -375,7 +375,7 @@ "end": "4136", "length": "7", "line": "102", - "parentIndex": "7601", + "parentIndex": "7603", "start": "4130" }, "typeDescription": { @@ -391,7 +391,7 @@ "end": "4149", "length": "64", "line": "102", - "parentIndex": "7597", + "parentIndex": "7599", "start": "4086" } }, @@ -403,7 +403,7 @@ "start": "4086" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_TransferToL2_\u00267597", + "typeIdentifier": "t_event\u0026_Global_TransferToL2_\u00267599", "typeString": "event Global.TransferToL2" } } @@ -411,12 +411,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7603", + "id": "7605", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30313233343536373839616263646566", - "id": "7605", + "id": "7607", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -425,7 +425,7 @@ "end": "4986", "length": "18", "line": "128", - "parentIndex": "7603", + "parentIndex": "7605", "start": "4969" }, "typeDescription": { @@ -453,7 +453,7 @@ "typeString": "literal_string \"0123456789abcdef\"" }, "typeName": { - "id": "7604", + "id": "7606", "name": "bytes16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -461,7 +461,7 @@ "end": "4935", "length": "7", "line": "128", - "parentIndex": "7603", + "parentIndex": "7605", "start": "4929" }, "typeDescription": { @@ -475,12 +475,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7606", + "id": "7608", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3230", - "id": "7608", + "id": "7610", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -489,7 +489,7 @@ "end": "5035", "length": "2", "line": "129", - "parentIndex": "7606", + "parentIndex": "7608", "start": "5034" }, "typeDescription": { @@ -517,7 +517,7 @@ "typeString": "int_const 20" }, "typeName": { - "id": "7607", + "id": "7609", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -525,7 +525,7 @@ "end": "4997", "length": "5", "line": "129", - "parentIndex": "7606", + "parentIndex": "7608", "start": "4993" }, "typeDescription": { @@ -539,7 +539,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7609", + "id": "7611", "isConstant": true, "isStateVariable": true, "name": "temp", @@ -558,7 +558,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7610", + "id": "7612", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -566,7 +566,7 @@ "end": "5473", "length": "7", "line": "141", - "parentIndex": "7609", + "parentIndex": "7611", "start": "5467" }, "typeDescription": { @@ -580,7 +580,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7611", + "id": "7613", "isConstant": true, "isStateVariable": true, "name": "digits", @@ -599,7 +599,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7612", + "id": "7614", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -607,7 +607,7 @@ "end": "5503", "length": "7", "line": "142", - "parentIndex": "7611", + "parentIndex": "7613", "start": "5497" }, "typeDescription": { @@ -621,7 +621,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7613", + "id": "7615", "isConstant": true, "isStateVariable": true, "name": "buffer", @@ -640,7 +640,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7614", + "id": "7616", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -648,7 +648,7 @@ "end": "5609", "length": "5", "line": "147", - "parentIndex": "7613", + "parentIndex": "7615", "start": "5605" }, "typeDescription": { @@ -662,7 +662,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7615", + "id": "7617", "isConstant": true, "isStateVariable": true, "name": "temp", @@ -681,7 +681,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7616", + "id": "7618", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -689,7 +689,7 @@ "end": "6099", "length": "7", "line": "163", - "parentIndex": "7615", + "parentIndex": "7617", "start": "6093" }, "typeDescription": { @@ -703,7 +703,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7617", + "id": "7619", "isConstant": true, "isStateVariable": true, "name": "length", @@ -722,7 +722,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7618", + "id": "7620", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -730,7 +730,7 @@ "end": "6129", "length": "7", "line": "164", - "parentIndex": "7617", + "parentIndex": "7619", "start": "6123" }, "typeDescription": { @@ -744,7 +744,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7619", + "id": "7621", "isConstant": true, "isStateVariable": true, "name": "buffer", @@ -763,7 +763,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7620", + "id": "7622", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -771,7 +771,7 @@ "end": "6502", "length": "5", "line": "176", - "parentIndex": "7619", + "parentIndex": "7621", "start": "6498" }, "typeDescription": { @@ -785,7 +785,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7621", + "id": "7623", "isConstant": true, "isStateVariable": true, "name": "i", @@ -804,7 +804,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7622", + "id": "7624", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -812,7 +812,7 @@ "end": "6616", "length": "7", "line": "179", - "parentIndex": "7621", + "parentIndex": "7623", "start": "6610" }, "typeDescription": { @@ -827,83 +827,83 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Enum", "value": { "canonicalName": "Global.Rounding", - "id": "7623", + "id": "7625", "members": [ { - "id": "7624", + "id": "7626", "name": "Down", "nameLocation": { "column": "8", "end": "7393", "length": "4", "line": "206", - "parentIndex": "7623", + "parentIndex": "7625", "start": "7390" }, "nodeType": "ENUM_VALUE", - "scope": "7624", + "scope": "7626", "src": { "column": "8", "end": "7393", "length": "3", "line": "206", - "parentIndex": "7623", + "parentIndex": "7625", "start": "7390" }, "typeDescription": { - "typeIdentifier": "t_enum_$_Rounding$_Down_$7624", + "typeIdentifier": "t_enum_$_Rounding$_Down_$7626", "typeString": "enum Global.Rounding.Down" } }, { - "id": "7625", + "id": "7627", "name": "Up", "nameLocation": { "column": "8", "end": "7433", "length": "2", "line": "207", - "parentIndex": "7623", + "parentIndex": "7625", "start": "7432" }, "nodeType": "ENUM_VALUE", - "scope": "7625", + "scope": "7627", "src": { "column": "8", "end": "7433", "length": "1", "line": "207", - "parentIndex": "7623", + "parentIndex": "7625", "start": "7432" }, "typeDescription": { - "typeIdentifier": "t_enum_$_Rounding$_Up_$7625", + "typeIdentifier": "t_enum_$_Rounding$_Up_$7627", "typeString": "enum Global.Rounding.Up" } }, { - "id": "7626", + "id": "7628", "name": "Zero", "nameLocation": { "column": "8", "end": "7466", "length": "4", "line": "208", - "parentIndex": "7623", + "parentIndex": "7625", "start": "7463" }, "nodeType": "ENUM_VALUE", - "scope": "7626", + "scope": "7628", "src": { "column": "8", "end": "7466", "length": "3", "line": "208", - "parentIndex": "7623", + "parentIndex": "7625", "start": "7463" }, "typeDescription": { - "typeIdentifier": "t_enum_$_Rounding$_Zero_$7626", + "typeIdentifier": "t_enum_$_Rounding$_Zero_$7628", "typeString": "enum Global.Rounding.Zero" } } @@ -914,7 +914,7 @@ "end": "7378", "length": "8", "line": "205", - "parentIndex": "7623", + "parentIndex": "7625", "start": "7371" }, "nodeType": "ENUM_DEFINITION", @@ -926,7 +926,7 @@ "start": "7366" }, "typeDescription": { - "typeIdentifier": "t_enum_$_Rounding_$7623", + "typeIdentifier": "t_enum_$_Rounding_$7625", "typeString": "enum Global.Rounding" } } @@ -934,7 +934,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7627", + "id": "7629", "isConstant": true, "isStateVariable": true, "name": "prod0", @@ -953,7 +953,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7628", + "id": "7630", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -961,7 +961,7 @@ "end": "9278", "length": "7", "line": "259", - "parentIndex": "7627", + "parentIndex": "7629", "start": "9272" }, "typeDescription": { @@ -975,7 +975,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7629", + "id": "7631", "isConstant": true, "isStateVariable": true, "name": "prod1", @@ -994,7 +994,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7630", + "id": "7632", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1002,7 +1002,7 @@ "end": "9350", "length": "7", "line": "260", - "parentIndex": "7629", + "parentIndex": "7631", "start": "9344" }, "typeDescription": { @@ -1016,7 +1016,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7631", + "id": "7633", "isConstant": true, "isStateVariable": true, "name": "remainder", @@ -1035,7 +1035,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7632", + "id": "7634", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1043,7 +1043,7 @@ "end": "10125", "length": "7", "line": "280", - "parentIndex": "7631", + "parentIndex": "7633", "start": "10119" }, "typeDescription": { @@ -1057,7 +1057,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7633", + "id": "7635", "isConstant": true, "isStateVariable": true, "name": "twos", @@ -1076,7 +1076,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7634", + "id": "7636", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1084,7 +1084,7 @@ "end": "10763", "length": "7", "line": "294", - "parentIndex": "7633", + "parentIndex": "7635", "start": "10757" }, "typeDescription": { @@ -1098,7 +1098,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7635", + "id": "7637", "isConstant": true, "isStateVariable": true, "name": "inverse", @@ -1117,7 +1117,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7636", + "id": "7638", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1125,7 +1125,7 @@ "end": "11600", "length": "7", "line": "312", - "parentIndex": "7635", + "parentIndex": "7637", "start": "11594" }, "typeDescription": { @@ -1139,7 +1139,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7637", + "id": "7639", "isConstant": true, "isStateVariable": true, "name": "result", @@ -1158,7 +1158,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7638", + "id": "7640", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1166,7 +1166,7 @@ "end": "13034", "length": "7", "line": "341", - "parentIndex": "7637", + "parentIndex": "7639", "start": "13028" }, "typeDescription": { @@ -1180,7 +1180,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7639", + "id": "7641", "isConstant": true, "isStateVariable": true, "name": "result", @@ -1199,7 +1199,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7640", + "id": "7642", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1207,7 +1207,7 @@ "end": "14207", "length": "7", "line": "365", - "parentIndex": "7639", + "parentIndex": "7641", "start": "14201" }, "typeDescription": { @@ -1221,7 +1221,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7641", + "id": "7643", "isConstant": true, "isStateVariable": true, "name": "x", @@ -1240,7 +1240,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7642", + "id": "7644", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1248,7 +1248,7 @@ "end": "14235", "length": "7", "line": "366", - "parentIndex": "7641", + "parentIndex": "7643", "start": "14229" }, "typeDescription": { @@ -1262,7 +1262,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7643", + "id": "7645", "isConstant": true, "isStateVariable": true, "name": "result", @@ -1281,7 +1281,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7644", + "id": "7646", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1289,7 +1289,7 @@ "end": "15822", "length": "7", "line": "415", - "parentIndex": "7643", + "parentIndex": "7645", "start": "15816" }, "typeDescription": { @@ -1303,25 +1303,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7645", + "id": "7647", "name": "RoleAdminChanged", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7646", + "id": "7648", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7647", + "id": "7649", "indexed": true, "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "7647", + "scope": "7649", "src": { "column": "27", "end": "16562", "length": "20", "line": "441", - "parentIndex": "7646", + "parentIndex": "7648", "start": "16543" }, "stateMutability": "MUTABLE", @@ -1331,7 +1331,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7648", + "id": "7650", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1339,7 +1339,7 @@ "end": "16549", "length": "7", "line": "441", - "parentIndex": "7647", + "parentIndex": "7649", "start": "16543" }, "typeDescription": { @@ -1350,17 +1350,17 @@ "visibility": "INTERNAL" }, { - "id": "7649", + "id": "7651", "indexed": true, "name": "previousAdminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "7649", + "scope": "7651", "src": { "column": "49", "end": "16597", "length": "33", "line": "441", - "parentIndex": "7646", + "parentIndex": "7648", "start": "16565" }, "stateMutability": "MUTABLE", @@ -1370,7 +1370,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7650", + "id": "7652", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1378,7 +1378,7 @@ "end": "16571", "length": "7", "line": "441", - "parentIndex": "7649", + "parentIndex": "7651", "start": "16565" }, "typeDescription": { @@ -1389,17 +1389,17 @@ "visibility": "INTERNAL" }, { - "id": "7651", + "id": "7653", "indexed": true, "name": "newAdminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "7651", + "scope": "7653", "src": { "column": "84", "end": "16627", "length": "28", "line": "441", - "parentIndex": "7646", + "parentIndex": "7648", "start": "16600" }, "stateMutability": "MUTABLE", @@ -1409,7 +1409,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7652", + "id": "7654", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1417,7 +1417,7 @@ "end": "16606", "length": "7", "line": "441", - "parentIndex": "7651", + "parentIndex": "7653", "start": "16600" }, "typeDescription": { @@ -1433,7 +1433,7 @@ "end": "16629", "length": "110", "line": "441", - "parentIndex": "7645", + "parentIndex": "7647", "start": "16520" } }, @@ -1445,7 +1445,7 @@ "start": "16520" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_RoleAdminChanged_\u00267645", + "typeIdentifier": "t_event\u0026_Global_RoleAdminChanged_\u00267647", "typeString": "event Global.RoleAdminChanged" } } @@ -1453,25 +1453,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7653", + "id": "7655", "name": "RoleGranted", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7654", + "id": "7656", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7655", + "id": "7657", "indexed": true, "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "7655", + "scope": "7657", "src": { "column": "22", "end": "16890", "length": "20", "line": "449", - "parentIndex": "7654", + "parentIndex": "7656", "start": "16871" }, "stateMutability": "MUTABLE", @@ -1481,7 +1481,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7656", + "id": "7658", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1489,7 +1489,7 @@ "end": "16877", "length": "7", "line": "449", - "parentIndex": "7655", + "parentIndex": "7657", "start": "16871" }, "typeDescription": { @@ -1500,17 +1500,17 @@ "visibility": "INTERNAL" }, { - "id": "7657", + "id": "7659", "indexed": true, "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "7657", + "scope": "7659", "src": { "column": "44", "end": "16915", "length": "23", "line": "449", - "parentIndex": "7654", + "parentIndex": "7656", "start": "16893" }, "stateMutability": "NONPAYABLE", @@ -1520,7 +1520,7 @@ "typeString": "address" }, "typeName": { - "id": "7658", + "id": "7660", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1528,7 +1528,7 @@ "end": "16899", "length": "7", "line": "449", - "parentIndex": "7657", + "parentIndex": "7659", "start": "16893" }, "stateMutability": "NONPAYABLE", @@ -1540,17 +1540,17 @@ "visibility": "INTERNAL" }, { - "id": "7659", + "id": "7661", "indexed": true, "name": "sender", "nodeType": "VARIABLE_DECLARATION", - "scope": "7659", + "scope": "7661", "src": { "column": "69", "end": "16939", "length": "22", "line": "449", - "parentIndex": "7654", + "parentIndex": "7656", "start": "16918" }, "stateMutability": "NONPAYABLE", @@ -1560,7 +1560,7 @@ "typeString": "address" }, "typeName": { - "id": "7660", + "id": "7662", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1568,7 +1568,7 @@ "end": "16924", "length": "7", "line": "449", - "parentIndex": "7659", + "parentIndex": "7661", "start": "16918" }, "stateMutability": "NONPAYABLE", @@ -1585,7 +1585,7 @@ "end": "16941", "length": "89", "line": "449", - "parentIndex": "7653", + "parentIndex": "7655", "start": "16853" } }, @@ -1597,7 +1597,7 @@ "start": "16853" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_RoleGranted_\u00267653", + "typeIdentifier": "t_event\u0026_Global_RoleGranted_\u00267655", "typeString": "event Global.RoleGranted" } } @@ -1605,25 +1605,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7661", + "id": "7663", "name": "RoleRevoked", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7662", + "id": "7664", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7663", + "id": "7665", "indexed": true, "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "7663", + "scope": "7665", "src": { "column": "22", "end": "17265", "length": "20", "line": "458", - "parentIndex": "7662", + "parentIndex": "7664", "start": "17246" }, "stateMutability": "MUTABLE", @@ -1633,7 +1633,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7664", + "id": "7666", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1641,7 +1641,7 @@ "end": "17252", "length": "7", "line": "458", - "parentIndex": "7663", + "parentIndex": "7665", "start": "17246" }, "typeDescription": { @@ -1652,17 +1652,17 @@ "visibility": "INTERNAL" }, { - "id": "7665", + "id": "7667", "indexed": true, "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "7665", + "scope": "7667", "src": { "column": "44", "end": "17290", "length": "23", "line": "458", - "parentIndex": "7662", + "parentIndex": "7664", "start": "17268" }, "stateMutability": "NONPAYABLE", @@ -1672,7 +1672,7 @@ "typeString": "address" }, "typeName": { - "id": "7666", + "id": "7668", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1680,7 +1680,7 @@ "end": "17274", "length": "7", "line": "458", - "parentIndex": "7665", + "parentIndex": "7667", "start": "17268" }, "stateMutability": "NONPAYABLE", @@ -1692,17 +1692,17 @@ "visibility": "INTERNAL" }, { - "id": "7667", + "id": "7669", "indexed": true, "name": "sender", "nodeType": "VARIABLE_DECLARATION", - "scope": "7667", + "scope": "7669", "src": { "column": "69", "end": "17314", "length": "22", "line": "458", - "parentIndex": "7662", + "parentIndex": "7664", "start": "17293" }, "stateMutability": "NONPAYABLE", @@ -1712,7 +1712,7 @@ "typeString": "address" }, "typeName": { - "id": "7668", + "id": "7670", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1720,7 +1720,7 @@ "end": "17299", "length": "7", "line": "458", - "parentIndex": "7667", + "parentIndex": "7669", "start": "17293" }, "stateMutability": "NONPAYABLE", @@ -1737,7 +1737,7 @@ "end": "17316", "length": "89", "line": "458", - "parentIndex": "7661", + "parentIndex": "7663", "start": "17228" } }, @@ -1749,7 +1749,7 @@ "start": "17228" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_RoleRevoked_\u00267661", + "typeIdentifier": "t_event\u0026_Global_RoleRevoked_\u00267663", "typeString": "event Global.RoleRevoked" } } @@ -1757,7 +1757,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7669", + "id": "7671", "isConstant": true, "isStateVariable": true, "name": "success", @@ -1776,7 +1776,7 @@ "typeString": "bool" }, "typeName": { - "id": "7670", + "id": "7672", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1784,7 +1784,7 @@ "end": "21497", "length": "4", "line": "576", - "parentIndex": "7669", + "parentIndex": "7671", "start": "21494" }, "typeDescription": { @@ -1798,7 +1798,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7671", + "id": "7673", "isConstant": true, "isStateVariable": true, "name": "success", @@ -1817,7 +1817,7 @@ "typeString": "bool" }, "typeName": { - "id": "7672", + "id": "7674", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1825,7 +1825,7 @@ "end": "24219", "length": "4", "line": "650", - "parentIndex": "7671", + "parentIndex": "7673", "start": "24216" }, "typeDescription": { @@ -1839,7 +1839,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7673", + "id": "7675", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -1858,7 +1858,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7674", + "id": "7676", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1866,7 +1866,7 @@ "end": "24234", "length": "5", "line": "650", - "parentIndex": "7673", + "parentIndex": "7675", "start": "24230" }, "typeDescription": { @@ -1880,7 +1880,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7675", + "id": "7677", "isConstant": true, "isStateVariable": true, "name": "success", @@ -1899,7 +1899,7 @@ "typeString": "bool" }, "typeName": { - "id": "7676", + "id": "7678", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1907,7 +1907,7 @@ "end": "25171", "length": "4", "line": "677", - "parentIndex": "7675", + "parentIndex": "7677", "start": "25168" }, "typeDescription": { @@ -1921,7 +1921,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7677", + "id": "7679", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -1940,7 +1940,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7678", + "id": "7680", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1948,7 +1948,7 @@ "end": "25186", "length": "5", "line": "677", - "parentIndex": "7677", + "parentIndex": "7679", "start": "25182" }, "typeDescription": { @@ -1962,7 +1962,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7679", + "id": "7681", "isStateVariable": true, "name": "_initialized", "nodeType": "VARIABLE_DECLARATION", @@ -1980,7 +1980,7 @@ "typeString": "uint8" }, "typeName": { - "id": "7680", + "id": "7682", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1988,7 +1988,7 @@ "end": "28803", "length": "5", "line": "772", - "parentIndex": "7679", + "parentIndex": "7681", "start": "28799" }, "typeDescription": { @@ -2002,7 +2002,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7681", + "id": "7683", "isStateVariable": true, "name": "_initializing", "nodeType": "VARIABLE_DECLARATION", @@ -2020,7 +2020,7 @@ "typeString": "bool" }, "typeName": { - "id": "7682", + "id": "7684", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2028,7 +2028,7 @@ "end": "28931", "length": "4", "line": "777", - "parentIndex": "7681", + "parentIndex": "7683", "start": "28928" }, "typeDescription": { @@ -2042,24 +2042,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7683", + "id": "7685", "name": "Initialized", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7684", + "id": "7686", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7685", + "id": "7687", "name": "version", "nodeType": "VARIABLE_DECLARATION", - "scope": "7685", + "scope": "7687", "src": { "column": "22", "end": "29086", "length": "13", "line": "782", - "parentIndex": "7684", + "parentIndex": "7686", "start": "29074" }, "stateMutability": "MUTABLE", @@ -2069,7 +2069,7 @@ "typeString": "uint8" }, "typeName": { - "id": "7686", + "id": "7688", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2077,7 +2077,7 @@ "end": "29078", "length": "5", "line": "782", - "parentIndex": "7685", + "parentIndex": "7687", "start": "29074" }, "typeDescription": { @@ -2093,7 +2093,7 @@ "end": "29088", "length": "33", "line": "782", - "parentIndex": "7683", + "parentIndex": "7685", "start": "29056" } }, @@ -2105,7 +2105,7 @@ "start": "29056" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Initialized_\u00267683", + "typeIdentifier": "t_event\u0026_Global_Initialized_\u00267685", "typeString": "event Global.Initialized" } } @@ -2113,7 +2113,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7687", + "id": "7689", "isConstant": true, "isStateVariable": true, "name": "isTopLevelCall", @@ -2132,7 +2132,7 @@ "typeString": "bool" }, "typeName": { - "id": "7688", + "id": "7690", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2140,7 +2140,7 @@ "end": "29378", "length": "4", "line": "789", - "parentIndex": "7687", + "parentIndex": "7689", "start": "29375" }, "typeDescription": { @@ -2154,7 +2154,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7689", + "id": "7691", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", @@ -2176,7 +2176,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3530", - "id": "7692", + "id": "7694", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -2185,7 +2185,7 @@ "end": "33248", "length": "2", "line": "886", - "parentIndex": "7690", + "parentIndex": "7692", "start": "33247" }, "typeDescription": { @@ -2195,7 +2195,7 @@ "value": "50" } }, - "id": "7690", + "id": "7692", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -2203,7 +2203,7 @@ "end": "33245", "length": "7", "line": "886", - "parentIndex": "7689", + "parentIndex": "7691", "start": "33239" }, "typeDescription": { @@ -2217,12 +2217,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7693", + "id": "7695", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30313233343536373839616263646566", - "id": "7695", + "id": "7697", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -2231,7 +2231,7 @@ "end": "33521", "length": "18", "line": "899", - "parentIndex": "7693", + "parentIndex": "7695", "start": "33504" }, "typeDescription": { @@ -2259,7 +2259,7 @@ "typeString": "literal_string \"0123456789abcdef\"" }, "typeName": { - "id": "7694", + "id": "7696", "name": "bytes16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2267,7 +2267,7 @@ "end": "33470", "length": "7", "line": "899", - "parentIndex": "7693", + "parentIndex": "7695", "start": "33464" }, "typeDescription": { @@ -2281,12 +2281,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7696", + "id": "7698", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3230", - "id": "7698", + "id": "7700", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -2295,7 +2295,7 @@ "end": "33570", "length": "2", "line": "900", - "parentIndex": "7696", + "parentIndex": "7698", "start": "33569" }, "typeDescription": { @@ -2323,7 +2323,7 @@ "typeString": "int_const 20" }, "typeName": { - "id": "7697", + "id": "7699", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2331,7 +2331,7 @@ "end": "33532", "length": "5", "line": "900", - "parentIndex": "7696", + "parentIndex": "7698", "start": "33528" }, "typeDescription": { @@ -2345,7 +2345,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7699", + "id": "7701", "isConstant": true, "isStateVariable": true, "name": "temp", @@ -2364,7 +2364,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7700", + "id": "7702", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2372,7 +2372,7 @@ "end": "34008", "length": "7", "line": "912", - "parentIndex": "7699", + "parentIndex": "7701", "start": "34002" }, "typeDescription": { @@ -2386,7 +2386,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7701", + "id": "7703", "isConstant": true, "isStateVariable": true, "name": "digits", @@ -2405,7 +2405,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7702", + "id": "7704", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2413,7 +2413,7 @@ "end": "34038", "length": "7", "line": "913", - "parentIndex": "7701", + "parentIndex": "7703", "start": "34032" }, "typeDescription": { @@ -2427,7 +2427,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7703", + "id": "7705", "isConstant": true, "isStateVariable": true, "name": "buffer", @@ -2446,7 +2446,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7704", + "id": "7706", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2454,7 +2454,7 @@ "end": "34144", "length": "5", "line": "918", - "parentIndex": "7703", + "parentIndex": "7705", "start": "34140" }, "typeDescription": { @@ -2468,7 +2468,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7705", + "id": "7707", "isConstant": true, "isStateVariable": true, "name": "temp", @@ -2487,7 +2487,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7706", + "id": "7708", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2495,7 +2495,7 @@ "end": "34634", "length": "7", "line": "934", - "parentIndex": "7705", + "parentIndex": "7707", "start": "34628" }, "typeDescription": { @@ -2509,7 +2509,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7707", + "id": "7709", "isConstant": true, "isStateVariable": true, "name": "length", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7708", + "id": "7710", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2536,7 +2536,7 @@ "end": "34664", "length": "7", "line": "935", - "parentIndex": "7707", + "parentIndex": "7709", "start": "34658" }, "typeDescription": { @@ -2550,7 +2550,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7709", + "id": "7711", "isConstant": true, "isStateVariable": true, "name": "buffer", @@ -2569,7 +2569,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7710", + "id": "7712", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2577,7 +2577,7 @@ "end": "35037", "length": "5", "line": "947", - "parentIndex": "7709", + "parentIndex": "7711", "start": "35033" }, "typeDescription": { @@ -2591,7 +2591,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7711", + "id": "7713", "isConstant": true, "isStateVariable": true, "name": "i", @@ -2610,7 +2610,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7712", + "id": "7714", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2618,7 +2618,7 @@ "end": "35151", "length": "7", "line": "950", - "parentIndex": "7711", + "parentIndex": "7713", "start": "35145" }, "typeDescription": { @@ -2632,7 +2632,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7713", + "id": "7715", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", @@ -2654,7 +2654,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3530", - "id": "7716", + "id": "7718", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -2663,7 +2663,7 @@ "end": "38030", "length": "2", "line": "1034", - "parentIndex": "7714", + "parentIndex": "7716", "start": "38029" }, "typeDescription": { @@ -2673,7 +2673,7 @@ "value": "50" } }, - "id": "7714", + "id": "7716", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -2681,7 +2681,7 @@ "end": "38027", "length": "7", "line": "1034", - "parentIndex": "7713", + "parentIndex": "7715", "start": "38021" }, "typeDescription": { @@ -2696,19 +2696,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.RoleData", - "id": "7717", + "id": "7719", "members": [ { - "id": "7718", + "id": "7720", "name": "members", "nodeType": "VARIABLE_DECLARATION", - "scope": "7718", + "scope": "7720", "src": { "column": "8", "end": "40238", "length": "33", "line": "1094", - "parentIndex": "7717", + "parentIndex": "7719", "start": "40206" }, "stateMutability": "MUTABLE", @@ -2717,9 +2717,9 @@ "typeString": "mapping(address=\u003ebool)" }, "typeName": { - "id": "7719", + "id": "7721", "keyType": { - "id": "7720", + "id": "7722", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2727,7 +2727,7 @@ "end": "40220", "length": "7", "line": "1094", - "parentIndex": "7719", + "parentIndex": "7721", "start": "40214" }, "typeDescription": { @@ -2740,15 +2740,16 @@ "end": "40220", "length": "7", "line": "1094", - "parentIndex": "7719", + "parentIndex": "7721", "start": "40214" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "40229", "length": "24", "line": "1094", - "parentIndex": "7718", + "parentIndex": "7720", "start": "40206" }, "typeDescription": { @@ -2756,7 +2757,7 @@ "typeString": "mapping(address=\u003ebool)" }, "valueType": { - "id": "7721", + "id": "7723", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2764,7 +2765,7 @@ "end": "40228", "length": "4", "line": "1094", - "parentIndex": "7719", + "parentIndex": "7721", "start": "40225" }, "typeDescription": { @@ -2777,23 +2778,23 @@ "end": "40228", "length": "4", "line": "1094", - "parentIndex": "7719", + "parentIndex": "7721", "start": "40225" } }, "visibility": "INTERNAL" }, { - "id": "7722", + "id": "7724", "name": "adminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "7722", + "scope": "7724", "src": { "column": "8", "end": "40265", "length": "18", "line": "1095", - "parentIndex": "7717", + "parentIndex": "7719", "start": "40248" }, "stateMutability": "MUTABLE", @@ -2802,7 +2803,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7723", + "id": "7725", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2810,7 +2811,7 @@ "end": "40254", "length": "7", "line": "1095", - "parentIndex": "7722", + "parentIndex": "7724", "start": "40248" }, "typeDescription": { @@ -2827,7 +2828,7 @@ "end": "40194", "length": "8", "line": "1093", - "parentIndex": "7717", + "parentIndex": "7719", "start": "40187" }, "nodeType": "STRUCT_DEFINITION", @@ -2840,7 +2841,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_RoleData_$7717", + "typeIdentifier": "t_struct$_Global_RoleData_$7719", "typeString": "struct Global.RoleData" }, "visibility": "PUBLIC" @@ -2849,7 +2850,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7724", + "id": "7726", "isStateVariable": true, "name": "_roles", "nodeType": "VARIABLE_DECLARATION", @@ -2863,13 +2864,13 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_Global_RoleData_$7719$", "typeString": "mapping(bytes32=\u003eRoleData)" }, "typeName": { - "id": "7725", + "id": "7727", "keyType": { - "id": "7726", + "id": "7728", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2877,7 +2878,7 @@ "end": "40292", "length": "7", "line": "1098", - "parentIndex": "7725", + "parentIndex": "7727", "start": "40286" }, "typeDescription": { @@ -2890,36 +2891,61 @@ "end": "40292", "length": "7", "line": "1098", - "parentIndex": "7725", + "parentIndex": "7727", "start": "40286" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "7730", + "name": "RoleData", + "nameLocation": { + "column": "23", + "end": "40304", + "length": "8", + "line": "1098", + "parentIndex": "7727", + "start": "40297" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "7719", + "src": { + "column": "23", + "end": "40304", + "length": "8", + "line": "1098", + "parentIndex": "7727", + "start": "40297" + } + }, + "referencedDeclaration": "7719", "src": { "column": "4", "end": "40305", "length": "28", "line": "1098", - "parentIndex": "7724", + "parentIndex": "7726", "start": "40278" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_Global_RoleData_$7719$", "typeString": "mapping(bytes32=\u003eRoleData)" }, "valueType": { - "id": "7727", + "id": "7729", "name": "RoleData", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "7719", "src": { "column": "23", "end": "40304", "length": "8", "line": "1098", - "parentIndex": "7725", + "parentIndex": "7727", "start": "40297" }, "typeDescription": { - "typeIdentifier": "t_RoleData", - "typeString": "RoleData" + "typeIdentifier": "t_struct$_Global_RoleData_$7719", + "typeString": "struct Global.RoleData" } }, "valueTypeLocation": { @@ -2927,7 +2953,7 @@ "end": "40304", "length": "8", "line": "1098", - "parentIndex": "7725", + "parentIndex": "7727", "start": "40297" } }, @@ -2937,12 +2963,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7728", + "id": "7731", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30783030", - "id": "7730", + "id": "7733", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -2951,7 +2977,7 @@ "end": "40376", "length": "4", "line": "1100", - "parentIndex": "7728", + "parentIndex": "7731", "start": "40373" }, "typeDescription": { @@ -2979,7 +3005,7 @@ "typeString": "int_const 0x00" }, "typeName": { - "id": "7729", + "id": "7732", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2987,7 +3013,7 @@ "end": "40334", "length": "7", "line": "1100", - "parentIndex": "7728", + "parentIndex": "7731", "start": "40328" }, "typeDescription": { @@ -3001,7 +3027,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7731", + "id": "7734", "isConstant": true, "isStateVariable": true, "name": "previousAdminRole", @@ -3020,7 +3046,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7732", + "id": "7735", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3028,7 +3054,7 @@ "end": "45482", "length": "7", "line": "1258", - "parentIndex": "7731", + "parentIndex": "7734", "start": "45476" }, "typeDescription": { @@ -3042,7 +3068,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7733", + "id": "7736", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", @@ -3064,7 +3090,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3439", - "id": "7736", + "id": "7739", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -3073,7 +3099,7 @@ "end": "46720", "length": "2", "line": "1296", - "parentIndex": "7734", + "parentIndex": "7737", "start": "46719" }, "typeDescription": { @@ -3083,7 +3109,7 @@ "value": "49" } }, - "id": "7734", + "id": "7737", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -3091,7 +3117,7 @@ "end": "46717", "length": "7", "line": "1296", - "parentIndex": "7733", + "parentIndex": "7736", "start": "46711" }, "typeDescription": { @@ -3106,19 +3132,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.AddressSlot", - "id": "7737", + "id": "7740", "members": [ { - "id": "7738", + "id": "7741", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "7738", + "scope": "7741", "src": { "column": "8", "end": "49455", "length": "14", "line": "1373", - "parentIndex": "7737", + "parentIndex": "7740", "start": "49442" }, "stateMutability": "NONPAYABLE", @@ -3127,7 +3153,7 @@ "typeString": "address" }, "typeName": { - "id": "7739", + "id": "7742", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3135,7 +3161,7 @@ "end": "49448", "length": "7", "line": "1373", - "parentIndex": "7738", + "parentIndex": "7741", "start": "49442" }, "stateMutability": "NONPAYABLE", @@ -3153,7 +3179,7 @@ "end": "49430", "length": "11", "line": "1372", - "parentIndex": "7737", + "parentIndex": "7740", "start": "49420" }, "nodeType": "STRUCT_DEFINITION", @@ -3166,7 +3192,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_AddressSlot_$7737", + "typeIdentifier": "t_struct$_Global_AddressSlot_$7740", "typeString": "struct Global.AddressSlot" }, "visibility": "PUBLIC" @@ -3176,19 +3202,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.BooleanSlot", - "id": "7740", + "id": "7743", "members": [ { - "id": "7741", + "id": "7744", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "7741", + "scope": "7744", "src": { "column": "8", "end": "49507", "length": "11", "line": "1377", - "parentIndex": "7740", + "parentIndex": "7743", "start": "49497" }, "stateMutability": "MUTABLE", @@ -3197,7 +3223,7 @@ "typeString": "bool" }, "typeName": { - "id": "7742", + "id": "7745", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3205,7 +3231,7 @@ "end": "49500", "length": "4", "line": "1377", - "parentIndex": "7741", + "parentIndex": "7744", "start": "49497" }, "typeDescription": { @@ -3222,7 +3248,7 @@ "end": "49485", "length": "11", "line": "1376", - "parentIndex": "7740", + "parentIndex": "7743", "start": "49475" }, "nodeType": "STRUCT_DEFINITION", @@ -3235,7 +3261,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_BooleanSlot_$7740", + "typeIdentifier": "t_struct$_Global_BooleanSlot_$7743", "typeString": "struct Global.BooleanSlot" }, "visibility": "PUBLIC" @@ -3245,19 +3271,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Bytes32Slot", - "id": "7743", + "id": "7746", "members": [ { - "id": "7744", + "id": "7747", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "7744", + "scope": "7747", "src": { "column": "8", "end": "49562", "length": "14", "line": "1381", - "parentIndex": "7743", + "parentIndex": "7746", "start": "49549" }, "stateMutability": "MUTABLE", @@ -3266,7 +3292,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7745", + "id": "7748", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3274,7 +3300,7 @@ "end": "49555", "length": "7", "line": "1381", - "parentIndex": "7744", + "parentIndex": "7747", "start": "49549" }, "typeDescription": { @@ -3291,7 +3317,7 @@ "end": "49537", "length": "11", "line": "1380", - "parentIndex": "7743", + "parentIndex": "7746", "start": "49527" }, "nodeType": "STRUCT_DEFINITION", @@ -3304,7 +3330,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Bytes32Slot_$7743", + "typeIdentifier": "t_struct$_Global_Bytes32Slot_$7746", "typeString": "struct Global.Bytes32Slot" }, "visibility": "PUBLIC" @@ -3314,19 +3340,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Uint256Slot", - "id": "7746", + "id": "7749", "members": [ { - "id": "7747", + "id": "7750", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "7747", + "scope": "7750", "src": { "column": "8", "end": "49617", "length": "14", "line": "1385", - "parentIndex": "7746", + "parentIndex": "7749", "start": "49604" }, "stateMutability": "MUTABLE", @@ -3335,7 +3361,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7748", + "id": "7751", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3343,7 +3369,7 @@ "end": "49610", "length": "7", "line": "1385", - "parentIndex": "7747", + "parentIndex": "7750", "start": "49604" }, "typeDescription": { @@ -3360,7 +3386,7 @@ "end": "49592", "length": "11", "line": "1384", - "parentIndex": "7746", + "parentIndex": "7749", "start": "49582" }, "nodeType": "STRUCT_DEFINITION", @@ -3373,7 +3399,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Uint256Slot_$7746", + "typeIdentifier": "t_struct$_Global_Uint256Slot_$7749", "typeString": "struct Global.Uint256Slot" }, "visibility": "PUBLIC" @@ -3382,12 +3408,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7749", + "id": "7752", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307834393130666466613136666564333236306564306537313437663763633664613131613630323038623562393430366431326136333536313466666439313433", - "id": "7751", + "id": "7754", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -3396,7 +3422,7 @@ "end": "51747", "length": "66", "line": "1456", - "parentIndex": "7749", + "parentIndex": "7752", "start": "51682" }, "typeDescription": { @@ -3424,7 +3450,7 @@ "typeString": "int_const 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" }, "typeName": { - "id": "7750", + "id": "7753", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3432,7 +3458,7 @@ "end": "51646", "length": "7", "line": "1456", - "parentIndex": "7749", + "parentIndex": "7752", "start": "51640" }, "typeDescription": { @@ -3446,12 +3472,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7752", + "id": "7755", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", - "id": "7754", + "id": "7757", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -3460,7 +3486,7 @@ "end": "52088", "length": "66", "line": "1463", - "parentIndex": "7752", + "parentIndex": "7755", "start": "52023" }, "typeDescription": { @@ -3488,7 +3514,7 @@ "typeString": "int_const 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" }, "typeName": { - "id": "7753", + "id": "7756", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3496,7 +3522,7 @@ "end": "51980", "length": "7", "line": "1463", - "parentIndex": "7752", + "parentIndex": "7755", "start": "51974" }, "typeDescription": { @@ -3510,25 +3536,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7755", + "id": "7758", "name": "Upgraded", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7756", + "id": "7759", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7757", + "id": "7760", "indexed": true, "name": "implementation", "nodeType": "VARIABLE_DECLARATION", - "scope": "7757", + "scope": "7760", "src": { "column": "19", "end": "52213", "length": "30", "line": "1468", - "parentIndex": "7756", + "parentIndex": "7759", "start": "52184" }, "stateMutability": "NONPAYABLE", @@ -3538,7 +3564,7 @@ "typeString": "address" }, "typeName": { - "id": "7758", + "id": "7761", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3546,7 +3572,7 @@ "end": "52190", "length": "7", "line": "1468", - "parentIndex": "7757", + "parentIndex": "7760", "start": "52184" }, "stateMutability": "NONPAYABLE", @@ -3563,7 +3589,7 @@ "end": "52215", "length": "47", "line": "1468", - "parentIndex": "7755", + "parentIndex": "7758", "start": "52169" } }, @@ -3575,7 +3601,7 @@ "start": "52169" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Upgraded_\u00267755", + "typeIdentifier": "t_event\u0026_Global_Upgraded_\u00267758", "typeString": "event Global.Upgraded" } } @@ -3583,12 +3609,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7759", + "id": "7762", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307862353331323736383461353638623331373361653133623966386136303136653234336536336236653865653131373864366137313738353062356436313033", - "id": "7761", + "id": "7764", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -3597,7 +3623,7 @@ "end": "54948", "length": "66", "line": "1541", - "parentIndex": "7759", + "parentIndex": "7762", "start": "54883" }, "typeDescription": { @@ -3625,7 +3651,7 @@ "typeString": "int_const 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" }, "typeName": { - "id": "7760", + "id": "7763", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3633,7 +3659,7 @@ "end": "54849", "length": "7", "line": "1541", - "parentIndex": "7759", + "parentIndex": "7762", "start": "54843" }, "typeDescription": { @@ -3647,24 +3673,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7762", + "id": "7765", "name": "AdminChanged", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7763", + "id": "7766", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7764", + "id": "7767", "name": "previousAdmin", "nodeType": "VARIABLE_DECLARATION", - "scope": "7764", + "scope": "7767", "src": { "column": "23", "end": "55067", "length": "21", "line": "1546", - "parentIndex": "7763", + "parentIndex": "7766", "start": "55047" }, "stateMutability": "NONPAYABLE", @@ -3674,7 +3700,7 @@ "typeString": "address" }, "typeName": { - "id": "7765", + "id": "7768", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3682,7 +3708,7 @@ "end": "55053", "length": "7", "line": "1546", - "parentIndex": "7764", + "parentIndex": "7767", "start": "55047" }, "stateMutability": "NONPAYABLE", @@ -3694,16 +3720,16 @@ "visibility": "INTERNAL" }, { - "id": "7766", + "id": "7769", "name": "newAdmin", "nodeType": "VARIABLE_DECLARATION", - "scope": "7766", + "scope": "7769", "src": { "column": "46", "end": "55085", "length": "16", "line": "1546", - "parentIndex": "7763", + "parentIndex": "7766", "start": "55070" }, "stateMutability": "NONPAYABLE", @@ -3713,7 +3739,7 @@ "typeString": "address" }, "typeName": { - "id": "7767", + "id": "7770", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3721,7 +3747,7 @@ "end": "55076", "length": "7", "line": "1546", - "parentIndex": "7766", + "parentIndex": "7769", "start": "55070" }, "stateMutability": "NONPAYABLE", @@ -3738,7 +3764,7 @@ "end": "55087", "length": "60", "line": "1546", - "parentIndex": "7762", + "parentIndex": "7765", "start": "55028" } }, @@ -3750,7 +3776,7 @@ "start": "55028" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_AdminChanged_\u00267762", + "typeIdentifier": "t_event\u0026_Global_AdminChanged_\u00267765", "typeString": "event Global.AdminChanged" } } @@ -3758,12 +3784,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7768", + "id": "7771", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307861336630616437346535343233616562666438306433656634333436353738333335613961373261656165653539666636636233353832623335313333643530", - "id": "7770", + "id": "7773", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -3772,7 +3798,7 @@ "end": "56171", "length": "66", "line": "1577", - "parentIndex": "7768", + "parentIndex": "7771", "start": "56106" }, "typeDescription": { @@ -3800,7 +3826,7 @@ "typeString": "int_const 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" }, "typeName": { - "id": "7769", + "id": "7772", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3808,7 +3834,7 @@ "end": "56071", "length": "7", "line": "1577", - "parentIndex": "7768", + "parentIndex": "7771", "start": "56065" }, "typeDescription": { @@ -3822,25 +3848,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7771", + "id": "7774", "name": "BeaconUpgraded", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7772", + "id": "7775", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7773", + "id": "7776", "indexed": true, "name": "beacon", "nodeType": "VARIABLE_DECLARATION", - "scope": "7773", + "scope": "7776", "src": { "column": "25", "end": "56286", "length": "22", "line": "1582", - "parentIndex": "7772", + "parentIndex": "7775", "start": "56265" }, "stateMutability": "NONPAYABLE", @@ -3850,7 +3876,7 @@ "typeString": "address" }, "typeName": { - "id": "7774", + "id": "7777", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3858,7 +3884,7 @@ "end": "56271", "length": "7", "line": "1582", - "parentIndex": "7773", + "parentIndex": "7776", "start": "56265" }, "stateMutability": "NONPAYABLE", @@ -3875,7 +3901,7 @@ "end": "56288", "length": "45", "line": "1582", - "parentIndex": "7771", + "parentIndex": "7774", "start": "56244" } }, @@ -3887,7 +3913,7 @@ "start": "56244" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_BeaconUpgraded_\u00267771", + "typeIdentifier": "t_event\u0026_Global_BeaconUpgraded_\u00267774", "typeString": "event Global.BeaconUpgraded" } } @@ -3895,7 +3921,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7775", + "id": "7778", "isConstant": true, "isStateVariable": true, "name": "success", @@ -3914,7 +3940,7 @@ "typeString": "bool" }, "typeName": { - "id": "7776", + "id": "7779", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3922,7 +3948,7 @@ "end": "58088", "length": "4", "line": "1631", - "parentIndex": "7775", + "parentIndex": "7778", "start": "58085" }, "typeDescription": { @@ -3936,7 +3962,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7777", + "id": "7780", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -3955,7 +3981,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7778", + "id": "7781", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3963,7 +3989,7 @@ "end": "58103", "length": "5", "line": "1631", - "parentIndex": "7777", + "parentIndex": "7780", "start": "58099" }, "typeDescription": { @@ -3977,7 +4003,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7779", + "id": "7782", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", @@ -3999,7 +4025,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3530", - "id": "7782", + "id": "7785", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -4008,7 +4034,7 @@ "end": "58548", "length": "2", "line": "1640", - "parentIndex": "7780", + "parentIndex": "7783", "start": "58547" }, "typeDescription": { @@ -4018,7 +4044,7 @@ "value": "50" } }, - "id": "7780", + "id": "7783", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -4026,7 +4052,7 @@ "end": "58545", "length": "7", "line": "1640", - "parentIndex": "7779", + "parentIndex": "7782", "start": "58539" }, "typeDescription": { @@ -4040,7 +4066,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7783", + "id": "7786", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -4054,7 +4080,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7788", + "id": "7791", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -4062,7 +4088,7 @@ "end": "59881", "length": "4", "line": "1672", - "parentIndex": "7785", + "parentIndex": "7788", "start": "59878" }, "typeDescription": { @@ -4081,7 +4107,7 @@ "typeString": "address" } ], - "id": "7786", + "id": "7789", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -4089,7 +4115,7 @@ "end": "59876", "length": "7", "line": "1672", - "parentIndex": "7785", + "parentIndex": "7788", "start": "59870" }, "typeDescription": { @@ -4097,7 +4123,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "7787", + "id": "7790", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4105,7 +4131,7 @@ "end": "59876", "length": "7", "line": "1672", - "parentIndex": "7786", + "parentIndex": "7789", "start": "59870" }, "stateMutability": "NONPAYABLE", @@ -4116,7 +4142,7 @@ } } }, - "id": "7785", + "id": "7788", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -4124,7 +4150,7 @@ "end": "59882", "length": "13", "line": "1672", - "parentIndex": "7783", + "parentIndex": "7786", "start": "59870" }, "typeDescription": { @@ -4150,7 +4176,7 @@ "typeString": "function(this)" }, "typeName": { - "id": "7784", + "id": "7787", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4158,7 +4184,7 @@ "end": "59841", "length": "7", "line": "1672", - "parentIndex": "7783", + "parentIndex": "7786", "start": "59835" }, "stateMutability": "NONPAYABLE", @@ -4173,7 +4199,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7789", + "id": "7792", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", @@ -4195,7 +4221,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3530", - "id": "7792", + "id": "7795", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -4204,7 +4230,7 @@ "end": "63282", "length": "2", "line": "1750", - "parentIndex": "7790", + "parentIndex": "7793", "start": "63281" }, "typeDescription": { @@ -4214,7 +4240,7 @@ "value": "50" } }, - "id": "7790", + "id": "7793", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -4222,7 +4248,7 @@ "end": "63279", "length": "7", "line": "1750", - "parentIndex": "7789", + "parentIndex": "7792", "start": "63273" }, "typeDescription": { @@ -4236,24 +4262,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7793", + "id": "7796", "name": "Paused", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7794", + "id": "7797", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7795", + "id": "7798", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "7795", + "scope": "7798", "src": { "column": "17", "end": "64126", "length": "15", "line": "1775", - "parentIndex": "7794", + "parentIndex": "7797", "start": "64112" }, "stateMutability": "NONPAYABLE", @@ -4263,7 +4289,7 @@ "typeString": "address" }, "typeName": { - "id": "7796", + "id": "7799", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4271,7 +4297,7 @@ "end": "64118", "length": "7", "line": "1775", - "parentIndex": "7795", + "parentIndex": "7798", "start": "64112" }, "stateMutability": "NONPAYABLE", @@ -4288,7 +4314,7 @@ "end": "64128", "length": "30", "line": "1775", - "parentIndex": "7793", + "parentIndex": "7796", "start": "64099" } }, @@ -4300,7 +4326,7 @@ "start": "64099" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Paused_\u00267793", + "typeIdentifier": "t_event\u0026_Global_Paused_\u00267796", "typeString": "event Global.Paused" } } @@ -4308,24 +4334,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7797", + "id": "7800", "name": "Unpaused", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7798", + "id": "7801", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7799", + "id": "7802", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "7799", + "scope": "7802", "src": { "column": "19", "end": "64239", "length": "15", "line": "1780", - "parentIndex": "7798", + "parentIndex": "7801", "start": "64225" }, "stateMutability": "NONPAYABLE", @@ -4335,7 +4361,7 @@ "typeString": "address" }, "typeName": { - "id": "7800", + "id": "7803", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4343,7 +4369,7 @@ "end": "64231", "length": "7", "line": "1780", - "parentIndex": "7799", + "parentIndex": "7802", "start": "64225" }, "stateMutability": "NONPAYABLE", @@ -4360,7 +4386,7 @@ "end": "64241", "length": "32", "line": "1780", - "parentIndex": "7797", + "parentIndex": "7800", "start": "64210" } }, @@ -4372,7 +4398,7 @@ "start": "64210" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Unpaused_\u00267797", + "typeIdentifier": "t_event\u0026_Global_Unpaused_\u00267800", "typeString": "event Global.Unpaused" } } @@ -4380,7 +4406,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7801", + "id": "7804", "isStateVariable": true, "name": "_paused", "nodeType": "VARIABLE_DECLARATION", @@ -4398,7 +4424,7 @@ "typeString": "bool" }, "typeName": { - "id": "7802", + "id": "7805", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4406,7 +4432,7 @@ "end": "64251", "length": "4", "line": "1782", - "parentIndex": "7801", + "parentIndex": "7804", "start": "64248" }, "typeDescription": { @@ -4420,7 +4446,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7803", + "id": "7806", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", @@ -4442,7 +4468,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3439", - "id": "7806", + "id": "7809", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -4451,7 +4477,7 @@ "end": "66351", "length": "2", "line": "1869", - "parentIndex": "7804", + "parentIndex": "7807", "start": "66350" }, "typeDescription": { @@ -4461,7 +4487,7 @@ "value": "49" } }, - "id": "7804", + "id": "7807", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -4469,7 +4495,7 @@ "end": "66348", "length": "7", "line": "1869", - "parentIndex": "7803", + "parentIndex": "7806", "start": "66342" }, "typeDescription": { @@ -4483,25 +4509,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7807", + "id": "7810", "name": "Transfer", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7808", + "id": "7811", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7809", + "id": "7812", "indexed": true, "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "7809", + "scope": "7812", "src": { "column": "19", "end": "70313", "length": "20", "line": "1948", - "parentIndex": "7808", + "parentIndex": "7811", "start": "70294" }, "stateMutability": "NONPAYABLE", @@ -4511,7 +4537,7 @@ "typeString": "address" }, "typeName": { - "id": "7810", + "id": "7813", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4519,7 +4545,7 @@ "end": "70300", "length": "7", "line": "1948", - "parentIndex": "7809", + "parentIndex": "7812", "start": "70294" }, "stateMutability": "NONPAYABLE", @@ -4531,17 +4557,17 @@ "visibility": "INTERNAL" }, { - "id": "7811", + "id": "7814", "indexed": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "7811", + "scope": "7814", "src": { "column": "41", "end": "70333", "length": "18", "line": "1948", - "parentIndex": "7808", + "parentIndex": "7811", "start": "70316" }, "stateMutability": "NONPAYABLE", @@ -4551,7 +4577,7 @@ "typeString": "address" }, "typeName": { - "id": "7812", + "id": "7815", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4559,7 +4585,7 @@ "end": "70322", "length": "7", "line": "1948", - "parentIndex": "7811", + "parentIndex": "7814", "start": "70316" }, "stateMutability": "NONPAYABLE", @@ -4571,16 +4597,16 @@ "visibility": "INTERNAL" }, { - "id": "7813", + "id": "7816", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "7813", + "scope": "7816", "src": { "column": "61", "end": "70349", "length": "14", "line": "1948", - "parentIndex": "7808", + "parentIndex": "7811", "start": "70336" }, "stateMutability": "MUTABLE", @@ -4590,7 +4616,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7814", + "id": "7817", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4598,7 +4624,7 @@ "end": "70342", "length": "7", "line": "1948", - "parentIndex": "7813", + "parentIndex": "7816", "start": "70336" }, "typeDescription": { @@ -4614,7 +4640,7 @@ "end": "70351", "length": "73", "line": "1948", - "parentIndex": "7807", + "parentIndex": "7810", "start": "70279" } }, @@ -4626,7 +4652,7 @@ "start": "70279" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Transfer_\u00267807", + "typeIdentifier": "t_event\u0026_Global_Transfer_\u00267810", "typeString": "event Global.Transfer" } } @@ -4634,25 +4660,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7815", + "id": "7818", "name": "Approval", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7816", + "id": "7819", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7817", + "id": "7820", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "7817", + "scope": "7820", "src": { "column": "19", "end": "70393", "length": "21", "line": "1950", - "parentIndex": "7816", + "parentIndex": "7819", "start": "70373" }, "stateMutability": "NONPAYABLE", @@ -4662,7 +4688,7 @@ "typeString": "address" }, "typeName": { - "id": "7818", + "id": "7821", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4670,7 +4696,7 @@ "end": "70379", "length": "7", "line": "1950", - "parentIndex": "7817", + "parentIndex": "7820", "start": "70373" }, "stateMutability": "NONPAYABLE", @@ -4682,17 +4708,17 @@ "visibility": "INTERNAL" }, { - "id": "7819", + "id": "7822", "indexed": true, "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "7819", + "scope": "7822", "src": { "column": "42", "end": "70418", "length": "23", "line": "1950", - "parentIndex": "7816", + "parentIndex": "7819", "start": "70396" }, "stateMutability": "NONPAYABLE", @@ -4702,7 +4728,7 @@ "typeString": "address" }, "typeName": { - "id": "7820", + "id": "7823", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4710,7 +4736,7 @@ "end": "70402", "length": "7", "line": "1950", - "parentIndex": "7819", + "parentIndex": "7822", "start": "70396" }, "stateMutability": "NONPAYABLE", @@ -4722,16 +4748,16 @@ "visibility": "INTERNAL" }, { - "id": "7821", + "id": "7824", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "7821", + "scope": "7824", "src": { "column": "67", "end": "70434", "length": "14", "line": "1950", - "parentIndex": "7816", + "parentIndex": "7819", "start": "70421" }, "stateMutability": "MUTABLE", @@ -4741,7 +4767,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7822", + "id": "7825", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4749,7 +4775,7 @@ "end": "70427", "length": "7", "line": "1950", - "parentIndex": "7821", + "parentIndex": "7824", "start": "70421" }, "typeDescription": { @@ -4765,7 +4791,7 @@ "end": "70436", "length": "79", "line": "1950", - "parentIndex": "7815", + "parentIndex": "7818", "start": "70358" } }, @@ -4777,7 +4803,7 @@ "start": "70358" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Approval_\u00267815", + "typeIdentifier": "t_event\u0026_Global_Approval_\u00267818", "typeString": "event Global.Approval" } } @@ -4785,7 +4811,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7823", + "id": "7826", "isStateVariable": true, "name": "name", "nodeType": "VARIABLE_DECLARATION", @@ -4803,7 +4829,7 @@ "typeString": "string" }, "typeName": { - "id": "7824", + "id": "7827", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4811,7 +4837,7 @@ "end": "70632", "length": "6", "line": "1956", - "parentIndex": "7823", + "parentIndex": "7826", "start": "70627" }, "typeDescription": { @@ -4825,7 +4851,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7825", + "id": "7828", "isStateVariable": true, "name": "symbol", "nodeType": "VARIABLE_DECLARATION", @@ -4843,7 +4869,7 @@ "typeString": "string" }, "typeName": { - "id": "7826", + "id": "7829", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4851,7 +4877,7 @@ "end": "70657", "length": "6", "line": "1958", - "parentIndex": "7825", + "parentIndex": "7828", "start": "70652" }, "typeDescription": { @@ -4865,7 +4891,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7827", + "id": "7830", "isStateVariable": true, "name": "decimals", "nodeType": "VARIABLE_DECLARATION", @@ -4883,7 +4909,7 @@ "typeString": "uint8" }, "typeName": { - "id": "7828", + "id": "7831", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4891,7 +4917,7 @@ "end": "70683", "length": "5", "line": "1960", - "parentIndex": "7827", + "parentIndex": "7830", "start": "70679" }, "typeDescription": { @@ -4905,7 +4931,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7829", + "id": "7832", "isStateVariable": true, "name": "totalSupply", "nodeType": "VARIABLE_DECLARATION", @@ -4923,7 +4949,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7830", + "id": "7833", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4931,7 +4957,7 @@ "end": "70906", "length": "7", "line": "1966", - "parentIndex": "7829", + "parentIndex": "7832", "start": "70900" }, "typeDescription": { @@ -4945,7 +4971,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7831", + "id": "7834", "isStateVariable": true, "name": "balanceOf", "nodeType": "VARIABLE_DECLARATION", @@ -4963,9 +4989,9 @@ "typeString": "mapping(address=\u003euint256)" }, "typeName": { - "id": "7832", + "id": "7835", "keyType": { - "id": "7833", + "id": "7836", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4973,7 +4999,7 @@ "end": "70947", "length": "7", "line": "1968", - "parentIndex": "7832", + "parentIndex": "7835", "start": "70941" }, "typeDescription": { @@ -4986,15 +5012,16 @@ "end": "70947", "length": "7", "line": "1968", - "parentIndex": "7832", + "parentIndex": "7835", "start": "70941" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "70959", "length": "27", "line": "1968", - "parentIndex": "7831", + "parentIndex": "7834", "start": "70933" }, "typeDescription": { @@ -5002,7 +5029,7 @@ "typeString": "mapping(address=\u003euint256)" }, "valueType": { - "id": "7834", + "id": "7837", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5010,7 +5037,7 @@ "end": "70958", "length": "7", "line": "1968", - "parentIndex": "7832", + "parentIndex": "7835", "start": "70952" }, "typeDescription": { @@ -5023,7 +5050,7 @@ "end": "70958", "length": "7", "line": "1968", - "parentIndex": "7832", + "parentIndex": "7835", "start": "70952" } }, @@ -5033,7 +5060,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7835", + "id": "7838", "isStateVariable": true, "name": "allowance", "nodeType": "VARIABLE_DECLARATION", @@ -5051,9 +5078,9 @@ "typeString": "mapping(address=\u003emapping(address=\u003euint256))" }, "typeName": { - "id": "7836", + "id": "7839", "keyType": { - "id": "7837", + "id": "7840", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5061,7 +5088,7 @@ "end": "70998", "length": "7", "line": "1970", - "parentIndex": "7836", + "parentIndex": "7839", "start": "70992" }, "typeDescription": { @@ -5074,15 +5101,16 @@ "end": "70998", "length": "7", "line": "1970", - "parentIndex": "7836", + "parentIndex": "7839", "start": "70992" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "71030", "length": "47", "line": "1970", - "parentIndex": "7835", + "parentIndex": "7838", "start": "70984" }, "typeDescription": { @@ -5090,9 +5118,9 @@ "typeString": "mapping(address=\u003emapping(address=\u003euint256))" }, "valueType": { - "id": "7838", + "id": "7841", "keyType": { - "id": "7840", + "id": "7843", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5100,7 +5128,7 @@ "end": "71017", "length": "7", "line": "1970", - "parentIndex": "7836", + "parentIndex": "7839", "start": "71011" }, "typeDescription": { @@ -5113,7 +5141,7 @@ "end": "71017", "length": "7", "line": "1970", - "parentIndex": "7838", + "parentIndex": "7841", "start": "71011" }, "name": "mapping(address=\u003euint256)", @@ -5123,7 +5151,7 @@ "end": "71029", "length": "27", "line": "1970", - "parentIndex": "7836", + "parentIndex": "7839", "start": "71003" }, "typeDescription": { @@ -5131,7 +5159,7 @@ "typeString": "mapping(address=\u003euint256)" }, "valueType": { - "id": "7841", + "id": "7844", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5139,7 +5167,7 @@ "end": "71028", "length": "7", "line": "1970", - "parentIndex": "7836", + "parentIndex": "7839", "start": "71022" }, "typeDescription": { @@ -5152,7 +5180,7 @@ "end": "71028", "length": "7", "line": "1970", - "parentIndex": "7838", + "parentIndex": "7841", "start": "71022" } }, @@ -5161,7 +5189,7 @@ "end": "71029", "length": "27", "line": "1970", - "parentIndex": "7836", + "parentIndex": "7839", "start": "71003" } }, @@ -5171,7 +5199,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7842", + "id": "7845", "isStateVariable": true, "name": "INITIAL_CHAIN_ID", "nodeType": "VARIABLE_DECLARATION", @@ -5189,7 +5217,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7843", + "id": "7846", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5197,7 +5225,7 @@ "end": "71245", "length": "7", "line": "1976", - "parentIndex": "7842", + "parentIndex": "7845", "start": "71239" }, "typeDescription": { @@ -5211,7 +5239,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7844", + "id": "7847", "isStateVariable": true, "name": "INITIAL_DOMAIN_SEPARATOR", "nodeType": "VARIABLE_DECLARATION", @@ -5229,7 +5257,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7845", + "id": "7848", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5237,7 +5265,7 @@ "end": "71295", "length": "7", "line": "1978", - "parentIndex": "7844", + "parentIndex": "7847", "start": "71289" }, "typeDescription": { @@ -5251,7 +5279,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7846", + "id": "7849", "isStateVariable": true, "name": "nonces", "nodeType": "VARIABLE_DECLARATION", @@ -5269,9 +5297,9 @@ "typeString": "mapping(address=\u003euint256)" }, "typeName": { - "id": "7847", + "id": "7850", "keyType": { - "id": "7848", + "id": "7851", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5279,7 +5307,7 @@ "end": "71361", "length": "7", "line": "1980", - "parentIndex": "7847", + "parentIndex": "7850", "start": "71355" }, "typeDescription": { @@ -5292,15 +5320,16 @@ "end": "71361", "length": "7", "line": "1980", - "parentIndex": "7847", + "parentIndex": "7850", "start": "71355" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "71373", "length": "27", "line": "1980", - "parentIndex": "7846", + "parentIndex": "7849", "start": "71347" }, "typeDescription": { @@ -5308,7 +5337,7 @@ "typeString": "mapping(address=\u003euint256)" }, "valueType": { - "id": "7849", + "id": "7852", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5316,7 +5345,7 @@ "end": "71372", "length": "7", "line": "1980", - "parentIndex": "7847", + "parentIndex": "7850", "start": "71366" }, "typeDescription": { @@ -5329,7 +5358,7 @@ "end": "71372", "length": "7", "line": "1980", - "parentIndex": "7847", + "parentIndex": "7850", "start": "71366" } }, @@ -5339,7 +5368,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7850", + "id": "7853", "isConstant": true, "isStateVariable": true, "name": "allowed", @@ -5358,7 +5387,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7851", + "id": "7854", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5366,7 +5395,7 @@ "end": "72793", "length": "7", "line": "2030", - "parentIndex": "7850", + "parentIndex": "7853", "start": "72787" }, "typeDescription": { @@ -5380,7 +5409,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7852", + "id": "7855", "isConstant": true, "isStateVariable": true, "name": "recoveredAddress", @@ -5399,7 +5428,7 @@ "typeString": "address" }, "typeName": { - "id": "7853", + "id": "7856", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5407,7 +5436,7 @@ "end": "73867", "length": "7", "line": "2065", - "parentIndex": "7852", + "parentIndex": "7855", "start": "73861" }, "stateMutability": "NONPAYABLE", @@ -5422,7 +5451,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7854", + "id": "7857", "isConstant": true, "isStateVariable": true, "name": "success", @@ -5441,7 +5470,7 @@ "typeString": "bool" }, "typeName": { - "id": "7855", + "id": "7858", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5449,7 +5478,7 @@ "end": "77273", "length": "4", "line": "2159", - "parentIndex": "7854", + "parentIndex": "7857", "start": "77270" }, "typeDescription": { @@ -5463,7 +5492,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7856", + "id": "7859", "isConstant": true, "isStateVariable": true, "name": "success", @@ -5482,7 +5511,7 @@ "typeString": "bool" }, "typeName": { - "id": "7857", + "id": "7860", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5490,7 +5519,7 @@ "end": "77825", "length": "4", "line": "2179", - "parentIndex": "7856", + "parentIndex": "7859", "start": "77822" }, "typeDescription": { @@ -5504,7 +5533,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7858", + "id": "7861", "isConstant": true, "isStateVariable": true, "name": "success", @@ -5523,7 +5552,7 @@ "typeString": "bool" }, "typeName": { - "id": "7859", + "id": "7862", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5531,7 +5560,7 @@ "end": "79378", "length": "4", "line": "2211", - "parentIndex": "7858", + "parentIndex": "7861", "start": "79375" }, "typeDescription": { @@ -5545,7 +5574,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7860", + "id": "7863", "isConstant": true, "isStateVariable": true, "name": "success", @@ -5564,7 +5593,7 @@ "typeString": "bool" }, "typeName": { - "id": "7861", + "id": "7864", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5572,7 +5601,7 @@ "end": "80839", "length": "4", "line": "2242", - "parentIndex": "7860", + "parentIndex": "7863", "start": "80836" }, "typeDescription": { @@ -5586,7 +5615,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7862", + "id": "7865", "isStateVariable": true, "name": "governance", "nodeType": "VARIABLE_DECLARATION", @@ -5604,7 +5633,7 @@ "typeString": "address" }, "typeName": { - "id": "7863", + "id": "7866", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5612,7 +5641,7 @@ "end": "82324", "length": "7", "line": "2275", - "parentIndex": "7862", + "parentIndex": "7865", "start": "82318" }, "stateMutability": "NONPAYABLE", @@ -5627,7 +5656,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7864", + "id": "7867", "isStateVariable": true, "name": "vault", "nodeType": "VARIABLE_DECLARATION", @@ -5641,45 +5670,45 @@ "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" }, "typeName": { - "id": "7865", + "id": "7868", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7866", + "id": "7869", "name": "BaseVault", "nameLocation": { "column": "4", "end": "83080", "length": "9", "line": "2306", - "parentIndex": "7865", + "parentIndex": "7868", "start": "83072" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "4", "end": "83080", "length": "9", "line": "2306", - "parentIndex": "7865", + "parentIndex": "7868", "start": "83072" } }, - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "4", "end": "83080", "length": "9", "line": "2306", - "parentIndex": "7864", + "parentIndex": "7867", "start": "83072" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } }, @@ -5689,7 +5718,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7867", + "id": "7870", "isStateVariable": true, "name": "asset", "nodeType": "VARIABLE_DECLARATION", @@ -5703,45 +5732,45 @@ "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "7868", + "id": "7871", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7869", + "id": "7872", "name": "ERC20", "nameLocation": { "column": "4", "end": "83422", "length": "5", "line": "2319", - "parentIndex": "7868", + "parentIndex": "7871", "start": "83418" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "83422", "length": "5", "line": "2319", - "parentIndex": "7868", + "parentIndex": "7871", "start": "83418" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "83422", "length": "5", "line": "2319", - "parentIndex": "7867", + "parentIndex": "7870", "start": "83418" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, @@ -5751,7 +5780,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7870", + "id": "7873", "isStateVariable": true, "name": "_asset", "nodeType": "VARIABLE_DECLARATION", @@ -5765,45 +5794,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "7871", + "id": "7874", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7872", + "id": "7875", "name": "ERC20", "nameLocation": { "column": "4", "end": "86413", "length": "5", "line": "2391", - "parentIndex": "7871", + "parentIndex": "7874", "start": "86409" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "86413", "length": "5", "line": "2391", - "parentIndex": "7871", + "parentIndex": "7874", "start": "86409" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "86413", "length": "5", "line": "2391", - "parentIndex": "7870", + "parentIndex": "7873", "start": "86409" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, @@ -5813,7 +5842,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7873", + "id": "7876", "isStateVariable": true, "name": "wormholeRouter", "nodeType": "VARIABLE_DECLARATION", @@ -5831,7 +5860,7 @@ "typeString": "address" }, "typeName": { - "id": "7874", + "id": "7877", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5839,7 +5868,7 @@ "end": "87828", "length": "7", "line": "2430", - "parentIndex": "7873", + "parentIndex": "7876", "start": "87822" }, "stateMutability": "NONPAYABLE", @@ -5854,7 +5883,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7875", + "id": "7878", "isStateVariable": true, "name": "bridgeEscrow", "nodeType": "VARIABLE_DECLARATION", @@ -5868,45 +5897,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" }, "typeName": { - "id": "7876", + "id": "7879", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7877", + "id": "7880", "name": "BridgeEscrow", "nameLocation": { "column": "4", "end": "87961", "length": "12", "line": "2432", - "parentIndex": "7876", + "parentIndex": "7879", "start": "87950" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "6344", + "referencedDeclaration": "6346", "src": { "column": "4", "end": "87961", "length": "12", "line": "2432", - "parentIndex": "7876", + "parentIndex": "7879", "start": "87950" } }, - "referencedDeclaration": "6344", + "referencedDeclaration": "6346", "src": { "column": "4", "end": "87961", "length": "12", "line": "2432", - "parentIndex": "7875", + "parentIndex": "7878", "start": "87950" }, "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" } }, @@ -5916,25 +5945,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7878", + "id": "7881", "name": "WormholeRouterSet", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7879", + "id": "7882", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7880", + "id": "7883", "indexed": true, "name": "oldRouter", "nodeType": "VARIABLE_DECLARATION", - "scope": "7880", + "scope": "7883", "src": { "column": "28", "end": "88822", "length": "25", "line": "2457", - "parentIndex": "7879", + "parentIndex": "7882", "start": "88798" }, "stateMutability": "NONPAYABLE", @@ -5944,7 +5973,7 @@ "typeString": "address" }, "typeName": { - "id": "7881", + "id": "7884", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5952,7 +5981,7 @@ "end": "88804", "length": "7", "line": "2457", - "parentIndex": "7880", + "parentIndex": "7883", "start": "88798" }, "stateMutability": "NONPAYABLE", @@ -5964,17 +5993,17 @@ "visibility": "INTERNAL" }, { - "id": "7882", + "id": "7885", "indexed": true, "name": "newRouter", "nodeType": "VARIABLE_DECLARATION", - "scope": "7882", + "scope": "7885", "src": { "column": "55", "end": "88849", "length": "25", "line": "2457", - "parentIndex": "7879", + "parentIndex": "7882", "start": "88825" }, "stateMutability": "NONPAYABLE", @@ -5984,7 +6013,7 @@ "typeString": "address" }, "typeName": { - "id": "7883", + "id": "7886", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5992,7 +6021,7 @@ "end": "88831", "length": "7", "line": "2457", - "parentIndex": "7882", + "parentIndex": "7885", "start": "88825" }, "stateMutability": "NONPAYABLE", @@ -6009,7 +6038,7 @@ "end": "88851", "length": "78", "line": "2457", - "parentIndex": "7878", + "parentIndex": "7881", "start": "88774" } }, @@ -6021,7 +6050,7 @@ "start": "88774" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_WormholeRouterSet_\u00267878", + "typeIdentifier": "t_event\u0026_Global_WormholeRouterSet_\u00267881", "typeString": "event Global.WormholeRouterSet" } } @@ -6029,25 +6058,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7884", + "id": "7887", "name": "BridgeEscrowSet", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7885", + "id": "7888", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7886", + "id": "7889", "indexed": true, "name": "oldEscrow", "nodeType": "VARIABLE_DECLARATION", - "scope": "7886", + "scope": "7889", "src": { "column": "26", "end": "89050", "length": "25", "line": "2463", - "parentIndex": "7885", + "parentIndex": "7888", "start": "89026" }, "stateMutability": "NONPAYABLE", @@ -6057,7 +6086,7 @@ "typeString": "address" }, "typeName": { - "id": "7887", + "id": "7890", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6065,7 +6094,7 @@ "end": "89032", "length": "7", "line": "2463", - "parentIndex": "7886", + "parentIndex": "7889", "start": "89026" }, "stateMutability": "NONPAYABLE", @@ -6077,17 +6106,17 @@ "visibility": "INTERNAL" }, { - "id": "7888", + "id": "7891", "indexed": true, "name": "newEscrow", "nodeType": "VARIABLE_DECLARATION", - "scope": "7888", + "scope": "7891", "src": { "column": "53", "end": "89077", "length": "25", "line": "2463", - "parentIndex": "7885", + "parentIndex": "7888", "start": "89053" }, "stateMutability": "NONPAYABLE", @@ -6097,7 +6126,7 @@ "typeString": "address" }, "typeName": { - "id": "7889", + "id": "7892", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6105,7 +6134,7 @@ "end": "89059", "length": "7", "line": "2463", - "parentIndex": "7888", + "parentIndex": "7891", "start": "89053" }, "stateMutability": "NONPAYABLE", @@ -6122,7 +6151,7 @@ "end": "89079", "length": "76", "line": "2463", - "parentIndex": "7884", + "parentIndex": "7887", "start": "89004" } }, @@ -6134,7 +6163,7 @@ "start": "89004" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267884", + "typeIdentifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267887", "typeString": "event Global.BridgeEscrowSet" } } @@ -6142,7 +6171,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7890", + "id": "7893", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -6157,7 +6186,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "484152564553544552", - "id": "7894", + "id": "7897", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -6166,7 +6195,7 @@ "end": "89409", "length": "11", "line": "2470", - "parentIndex": "7892", + "parentIndex": "7895", "start": "89399" }, "typeDescription": { @@ -6180,7 +6209,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7893", + "id": "7896", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -6188,7 +6217,7 @@ "end": "89397", "length": "9", "line": "2470", - "parentIndex": "7892", + "parentIndex": "7895", "start": "89389" }, "typeDescription": { @@ -6197,7 +6226,7 @@ } } }, - "id": "7892", + "id": "7895", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -6205,7 +6234,7 @@ "end": "89410", "length": "22", "line": "2470", - "parentIndex": "7890", + "parentIndex": "7893", "start": "89389" }, "typeDescription": { @@ -6232,7 +6261,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "7891", + "id": "7894", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6240,7 +6269,7 @@ "end": "89359", "length": "7", "line": "2470", - "parentIndex": "7890", + "parentIndex": "7893", "start": "89353" }, "typeDescription": { @@ -6254,12 +6283,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7895", + "id": "7898", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3230", - "id": "7897", + "id": "7900", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -6268,7 +6297,7 @@ "end": "89635", "length": "2", "line": "2476", - "parentIndex": "7895", + "parentIndex": "7898", "start": "89634" }, "typeDescription": { @@ -6296,7 +6325,7 @@ "typeString": "int_const 20" }, "typeName": { - "id": "7896", + "id": "7899", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6304,7 +6333,7 @@ "end": "89606", "length": "5", "line": "2476", - "parentIndex": "7895", + "parentIndex": "7898", "start": "89602" }, "typeDescription": { @@ -6318,7 +6347,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7898", + "id": "7901", "isStateVariable": true, "name": "withdrawalQueue", "nodeType": "VARIABLE_DECLARATION", @@ -6339,16 +6368,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7902", + "id": "7905", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7895", + "referencedDeclaration": "7898", "src": { "column": "13", "end": "90077", "length": "14", "line": "2484", - "parentIndex": "7899", + "parentIndex": "7902", "start": "90064" }, "typeDescription": { @@ -6357,30 +6386,30 @@ } } }, - "id": "7899", + "id": "7902", "name": "function", "nodeType": "IDENTIFIER", "pathNode": { - "id": "7900", + "id": "7903", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "4", "end": "90062", "length": "8", "line": "2484", - "parentIndex": "7899", + "parentIndex": "7902", "start": "90055" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "4", "end": "90062", "length": "8", "line": "2484", - "parentIndex": "7898", + "parentIndex": "7901", "start": "90055" }, "typeDescription": { @@ -6394,24 +6423,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7903", + "id": "7906", "name": "WithdrawalQueueSet", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7904", + "id": "7907", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7905", + "id": "7908", "name": "newQueue", "nodeType": "VARIABLE_DECLARATION", - "scope": "7905", + "scope": "7908", "src": { "column": "29", "end": "91068", "length": "33", "line": "2513", - "parentIndex": "7904", + "parentIndex": "7907", "start": "91036" }, "stateMutability": "MUTABLE", @@ -6424,16 +6453,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7909", + "id": "7912", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7895", + "referencedDeclaration": "7898", "src": { "column": "38", "end": "91058", "length": "14", "line": "2513", - "parentIndex": "7906", + "parentIndex": "7909", "start": "91045" }, "typeDescription": { @@ -6442,30 +6471,30 @@ } } }, - "id": "7906", + "id": "7909", "name": "function", "nodeType": "IDENTIFIER", "pathNode": { - "id": "7907", + "id": "7910", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "29", "end": "91043", "length": "8", "line": "2513", - "parentIndex": "7906", + "parentIndex": "7909", "start": "91036" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "29", "end": "91043", "length": "8", "line": "2513", - "parentIndex": "7905", + "parentIndex": "7908", "start": "91036" }, "typeDescription": { @@ -6481,7 +6510,7 @@ "end": "91070", "length": "60", "line": "2513", - "parentIndex": "7903", + "parentIndex": "7906", "start": "91011" } }, @@ -6493,7 +6522,7 @@ "start": "91011" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267903", + "typeIdentifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267906", "typeString": "event Global.WithdrawalQueueSet" } } @@ -6501,7 +6530,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7910", + "id": "7913", "isStateVariable": true, "name": "totalStrategyHoldings", "nodeType": "VARIABLE_DECLARATION", @@ -6519,7 +6548,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7911", + "id": "7914", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6527,7 +6556,7 @@ "end": "91370", "length": "7", "line": "2520", - "parentIndex": "7910", + "parentIndex": "7913", "start": "91364" }, "typeDescription": { @@ -6542,19 +6571,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.StrategyInfo", - "id": "7912", + "id": "7915", "members": [ { - "id": "7913", + "id": "7916", "name": "isActive", "nodeType": "VARIABLE_DECLARATION", - "scope": "7913", + "scope": "7916", "src": { "column": "8", "end": "91450", "length": "14", "line": "2523", - "parentIndex": "7912", + "parentIndex": "7915", "start": "91437" }, "stateMutability": "MUTABLE", @@ -6563,7 +6592,7 @@ "typeString": "bool" }, "typeName": { - "id": "7914", + "id": "7917", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6571,7 +6600,7 @@ "end": "91440", "length": "4", "line": "2523", - "parentIndex": "7913", + "parentIndex": "7916", "start": "91437" }, "typeDescription": { @@ -6582,16 +6611,16 @@ "visibility": "INTERNAL" }, { - "id": "7915", + "id": "7918", "name": "tvlBps", "nodeType": "VARIABLE_DECLARATION", - "scope": "7915", + "scope": "7918", "src": { "column": "8", "end": "91473", "length": "14", "line": "2524", - "parentIndex": "7912", + "parentIndex": "7915", "start": "91460" }, "stateMutability": "MUTABLE", @@ -6600,7 +6629,7 @@ "typeString": "uint16" }, "typeName": { - "id": "7916", + "id": "7919", "name": "uint16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6608,7 +6637,7 @@ "end": "91465", "length": "6", "line": "2524", - "parentIndex": "7915", + "parentIndex": "7918", "start": "91460" }, "typeDescription": { @@ -6619,16 +6648,16 @@ "visibility": "INTERNAL" }, { - "id": "7917", + "id": "7920", "name": "balance", "nodeType": "VARIABLE_DECLARATION", - "scope": "7917", + "scope": "7920", "src": { "column": "8", "end": "91498", "length": "16", "line": "2525", - "parentIndex": "7912", + "parentIndex": "7915", "start": "91483" }, "stateMutability": "MUTABLE", @@ -6637,7 +6666,7 @@ "typeString": "uint232" }, "typeName": { - "id": "7918", + "id": "7921", "name": "uint232", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6645,7 +6674,7 @@ "end": "91489", "length": "7", "line": "2525", - "parentIndex": "7917", + "parentIndex": "7920", "start": "91483" }, "typeDescription": { @@ -6662,7 +6691,7 @@ "end": "91425", "length": "12", "line": "2522", - "parentIndex": "7912", + "parentIndex": "7915", "start": "91414" }, "nodeType": "STRUCT_DEFINITION", @@ -6675,7 +6704,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_StrategyInfo_$7912", + "typeIdentifier": "t_struct$_Global_StrategyInfo_$7915", "typeString": "struct Global.StrategyInfo" }, "visibility": "PUBLIC" @@ -6684,7 +6713,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7919", + "id": "7922", "isStateVariable": true, "name": "strategies", "nodeType": "VARIABLE_DECLARATION", @@ -6698,22 +6727,22 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_function_$_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_function_$_$t_struct$_Global_StrategyInfo_$7915$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, "typeName": { - "id": "7920", + "id": "7923", "keyType": { - "id": "7921", + "id": "7924", "name": "Strategy", "nodeType": "ELEMENTARY_TYPE_NAME", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "91581", "length": "8", "line": "2529", - "parentIndex": "7920", + "parentIndex": "7923", "start": "91574" }, "typeDescription": { @@ -6726,36 +6755,61 @@ "end": "91581", "length": "8", "line": "2529", - "parentIndex": "7920", + "parentIndex": "7923", "start": "91574" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "7926", + "name": "StrategyInfo", + "nameLocation": { + "column": "24", + "end": "91597", + "length": "12", + "line": "2529", + "parentIndex": "7923", + "start": "91586" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "7915", + "src": { + "column": "24", + "end": "91597", + "length": "12", + "line": "2529", + "parentIndex": "7923", + "start": "91586" + } + }, + "referencedDeclaration": "7915", "src": { "column": "4", "end": "91598", "length": "33", "line": "2529", - "parentIndex": "7919", + "parentIndex": "7922", "start": "91566" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_function_$_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_function_$_$t_struct$_Global_StrategyInfo_$7915$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, "valueType": { - "id": "7922", + "id": "7925", "name": "StrategyInfo", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "7915", "src": { "column": "24", "end": "91597", "length": "12", "line": "2529", - "parentIndex": "7920", + "parentIndex": "7923", "start": "91586" }, "typeDescription": { - "typeIdentifier": "t_StrategyInfo", - "typeString": "StrategyInfo" + "typeIdentifier": "t_struct$_Global_StrategyInfo_$7915", + "typeString": "struct Global.StrategyInfo" } }, "valueTypeLocation": { @@ -6763,7 +6817,7 @@ "end": "91597", "length": "12", "line": "2529", - "parentIndex": "7920", + "parentIndex": "7923", "start": "91586" } }, @@ -6773,12 +6827,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7923", + "id": "7927", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31305f303030", - "id": "7925", + "id": "7929", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -6787,7 +6841,7 @@ "end": "91656", "length": "6", "line": "2531", - "parentIndex": "7923", + "parentIndex": "7927", "start": "91651" }, "typeDescription": { @@ -6815,7 +6869,7 @@ "typeString": "int_const 10_000" }, "typeName": { - "id": "7924", + "id": "7928", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6823,7 +6877,7 @@ "end": "91630", "length": "7", "line": "2531", - "parentIndex": "7923", + "parentIndex": "7927", "start": "91624" }, "typeDescription": { @@ -6837,7 +6891,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7926", + "id": "7930", "isStateVariable": true, "name": "totalBps", "nodeType": "VARIABLE_DECLARATION", @@ -6855,7 +6909,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7927", + "id": "7931", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -6863,7 +6917,7 @@ "end": "91773", "length": "7", "line": "2533", - "parentIndex": "7926", + "parentIndex": "7930", "start": "91767" }, "typeDescription": { @@ -6877,25 +6931,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7928", + "id": "7932", "name": "StrategyAdded", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7929", + "id": "7933", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7930", + "id": "7934", "indexed": true, "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "7930", + "scope": "7934", "src": { "column": "24", "end": "91904", "length": "25", "line": "2536", - "parentIndex": "7929", + "parentIndex": "7933", "start": "91880" }, "stateMutability": "MUTABLE", @@ -6905,37 +6959,37 @@ "typeString": "function()" }, "typeName": { - "id": "7931", + "id": "7935", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7932", + "id": "7936", "name": "Strategy", "nameLocation": { "column": "24", "end": "91887", "length": "8", "line": "2536", - "parentIndex": "7931", + "parentIndex": "7935", "start": "91880" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "24", "end": "91887", "length": "8", "line": "2536", - "parentIndex": "7931", + "parentIndex": "7935", "start": "91880" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "24", "end": "91887", "length": "8", "line": "2536", - "parentIndex": "7930", + "parentIndex": "7934", "start": "91880" }, "typeDescription": { @@ -6951,7 +7005,7 @@ "end": "91906", "length": "47", "line": "2536", - "parentIndex": "7928", + "parentIndex": "7932", "start": "91860" } }, @@ -6963,7 +7017,7 @@ "start": "91860" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } @@ -6971,25 +7025,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7933", + "id": "7937", "name": "StrategyRemoved", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7934", + "id": "7938", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7935", + "id": "7939", "indexed": true, "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "7935", + "scope": "7939", "src": { "column": "26", "end": "92023", "length": "25", "line": "2538", - "parentIndex": "7934", + "parentIndex": "7938", "start": "91999" }, "stateMutability": "MUTABLE", @@ -6999,37 +7053,37 @@ "typeString": "function()" }, "typeName": { - "id": "7936", + "id": "7940", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7937", + "id": "7941", "name": "Strategy", "nameLocation": { "column": "26", "end": "92006", "length": "8", "line": "2538", - "parentIndex": "7936", + "parentIndex": "7940", "start": "91999" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "26", "end": "92006", "length": "8", "line": "2538", - "parentIndex": "7936", + "parentIndex": "7940", "start": "91999" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "26", "end": "92006", "length": "8", "line": "2538", - "parentIndex": "7935", + "parentIndex": "7939", "start": "91999" }, "typeDescription": { @@ -7045,7 +7099,7 @@ "end": "92025", "length": "49", "line": "2538", - "parentIndex": "7933", + "parentIndex": "7937", "start": "91977" } }, @@ -7057,7 +7111,7 @@ "start": "91977" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyRemoved_\u00267933", + "typeIdentifier": "t_event\u0026_Global_StrategyRemoved_\u00267937", "typeString": "event Global.StrategyRemoved" } } @@ -7065,7 +7119,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7938", + "id": "7942", "isConstant": true, "isStateVariable": true, "name": "newTotalBps", @@ -7084,7 +7138,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7939", + "id": "7943", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7092,7 +7146,7 @@ "end": "92808", "length": "7", "line": "2556", - "parentIndex": "7938", + "parentIndex": "7942", "start": "92802" }, "typeDescription": { @@ -7106,7 +7160,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7940", + "id": "7944", "isConstant": true, "isStateVariable": true, "name": "offset", @@ -7125,7 +7179,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7941", + "id": "7945", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7133,7 +7187,7 @@ "end": "93321", "length": "7", "line": "2568", - "parentIndex": "7940", + "parentIndex": "7944", "start": "93315" }, "typeDescription": { @@ -7147,7 +7201,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7942", + "id": "7946", "isConstant": true, "isStateVariable": true, "name": "i", @@ -7166,7 +7220,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7943", + "id": "7947", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7174,7 +7228,7 @@ "end": "93351", "length": "7", "line": "2570", - "parentIndex": "7942", + "parentIndex": "7946", "start": "93345" }, "typeDescription": { @@ -7188,7 +7242,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7944", + "id": "7948", "isConstant": true, "isStateVariable": true, "name": "strategy", @@ -7207,37 +7261,37 @@ "typeString": "function()" }, "typeName": { - "id": "7945", + "id": "7949", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7946", + "id": "7950", "name": "Strategy", "nameLocation": { "column": "12", "end": "93422", "length": "8", "line": "2571", - "parentIndex": "7945", + "parentIndex": "7949", "start": "93415" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "93422", "length": "8", "line": "2571", - "parentIndex": "7945", + "parentIndex": "7949", "start": "93415" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "93422", "length": "8", "line": "2571", - "parentIndex": "7944", + "parentIndex": "7948", "start": "93415" }, "typeDescription": { @@ -7251,7 +7305,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7947", + "id": "7951", "isConstant": true, "isStateVariable": true, "name": "i", @@ -7270,7 +7324,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7948", + "id": "7952", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7278,7 +7332,7 @@ "end": "94229", "length": "7", "line": "2589", - "parentIndex": "7947", + "parentIndex": "7951", "start": "94223" }, "typeDescription": { @@ -7292,7 +7346,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7949", + "id": "7953", "isConstant": true, "isStateVariable": true, "name": "i", @@ -7311,7 +7365,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7950", + "id": "7954", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7319,7 +7373,7 @@ "end": "95285", "length": "7", "line": "2620", - "parentIndex": "7949", + "parentIndex": "7953", "start": "95279" }, "typeDescription": { @@ -7333,7 +7387,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7951", + "id": "7955", "isConstant": true, "isStateVariable": true, "name": "strategy", @@ -7352,37 +7406,37 @@ "typeString": "function()" }, "typeName": { - "id": "7952", + "id": "7956", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7953", + "id": "7957", "name": "Strategy", "nameLocation": { "column": "12", "end": "95415", "length": "8", "line": "2622", - "parentIndex": "7952", + "parentIndex": "7956", "start": "95408" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "95415", "length": "8", "line": "2622", - "parentIndex": "7952", + "parentIndex": "7956", "start": "95408" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "95415", "length": "8", "line": "2622", - "parentIndex": "7951", + "parentIndex": "7955", "start": "95408" }, "typeDescription": { @@ -7396,24 +7450,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7954", + "id": "7958", "name": "StrategyAllocsUpdated", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7955", + "id": "7959", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7956", + "id": "7960", "name": "strategyList", "nodeType": "VARIABLE_DECLARATION", - "scope": "7956", + "scope": "7960", "src": { "column": "32", "end": "96077", "length": "23", "line": "2640", - "parentIndex": "7955", + "parentIndex": "7959", "start": "96055" }, "stateMutability": "MUTABLE", @@ -7423,30 +7477,30 @@ "typeString": "function()" }, "typeName": { - "id": "7957", + "id": "7961", "name": "Strategy", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7958", + "id": "7962", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "32", "end": "96062", "length": "8", "line": "2640", - "parentIndex": "7957", + "parentIndex": "7961", "start": "96055" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "32", "end": "96062", "length": "8", "line": "2640", - "parentIndex": "7956", + "parentIndex": "7960", "start": "96055" }, "typeDescription": { @@ -7457,16 +7511,16 @@ "visibility": "INTERNAL" }, { - "id": "7959", + "id": "7963", "name": "strategyBps", "nodeType": "VARIABLE_DECLARATION", - "scope": "7959", + "scope": "7963", "src": { "column": "57", "end": "96099", "length": "20", "line": "2640", - "parentIndex": "7955", + "parentIndex": "7959", "start": "96080" }, "stateMutability": "MUTABLE", @@ -7476,7 +7530,7 @@ "typeString": "uint16" }, "typeName": { - "id": "7960", + "id": "7964", "name": "uint16", "nodeType": "IDENTIFIER", "src": { @@ -7484,7 +7538,7 @@ "end": "96085", "length": "6", "line": "2640", - "parentIndex": "7959", + "parentIndex": "7963", "start": "96080" }, "typeDescription": { @@ -7500,7 +7554,7 @@ "end": "96101", "length": "75", "line": "2640", - "parentIndex": "7954", + "parentIndex": "7958", "start": "96027" } }, @@ -7512,7 +7566,7 @@ "start": "96027" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267954", + "typeIdentifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267958", "typeString": "event Global.StrategyAllocsUpdated" } } @@ -7520,25 +7574,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7961", + "id": "7965", "name": "StrategyDeposit", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7962", + "id": "7966", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7963", + "id": "7967", "indexed": true, "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "7963", + "scope": "7967", "src": { "column": "26", "end": "96547", "length": "25", "line": "2651", - "parentIndex": "7962", + "parentIndex": "7966", "start": "96523" }, "stateMutability": "MUTABLE", @@ -7548,37 +7602,37 @@ "typeString": "function()" }, "typeName": { - "id": "7964", + "id": "7968", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7965", + "id": "7969", "name": "Strategy", "nameLocation": { "column": "26", "end": "96530", "length": "8", "line": "2651", - "parentIndex": "7964", + "parentIndex": "7968", "start": "96523" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "26", "end": "96530", "length": "8", "line": "2651", - "parentIndex": "7964", + "parentIndex": "7968", "start": "96523" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "26", "end": "96530", "length": "8", "line": "2651", - "parentIndex": "7963", + "parentIndex": "7967", "start": "96523" }, "typeDescription": { @@ -7589,16 +7643,16 @@ "visibility": "INTERNAL" }, { - "id": "7966", + "id": "7970", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "7966", + "scope": "7970", "src": { "column": "53", "end": "96563", "length": "14", "line": "2651", - "parentIndex": "7962", + "parentIndex": "7966", "start": "96550" }, "stateMutability": "MUTABLE", @@ -7608,7 +7662,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7967", + "id": "7971", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7616,7 +7670,7 @@ "end": "96556", "length": "7", "line": "2651", - "parentIndex": "7966", + "parentIndex": "7970", "start": "96550" }, "typeDescription": { @@ -7632,7 +7686,7 @@ "end": "96565", "length": "65", "line": "2651", - "parentIndex": "7961", + "parentIndex": "7965", "start": "96501" } }, @@ -7644,7 +7698,7 @@ "start": "96501" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyDeposit_\u00267961", + "typeIdentifier": "t_event\u0026_Global_StrategyDeposit_\u00267965", "typeString": "event Global.StrategyDeposit" } } @@ -7652,25 +7706,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7968", + "id": "7972", "name": "StrategyWithdrawal", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7969", + "id": "7973", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7970", + "id": "7974", "indexed": true, "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "7970", + "scope": "7974", "src": { "column": "29", "end": "96938", "length": "25", "line": "2659", - "parentIndex": "7969", + "parentIndex": "7973", "start": "96914" }, "stateMutability": "MUTABLE", @@ -7680,37 +7734,37 @@ "typeString": "function()" }, "typeName": { - "id": "7971", + "id": "7975", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7972", + "id": "7976", "name": "Strategy", "nameLocation": { "column": "29", "end": "96921", "length": "8", "line": "2659", - "parentIndex": "7971", + "parentIndex": "7975", "start": "96914" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "29", "end": "96921", "length": "8", "line": "2659", - "parentIndex": "7971", + "parentIndex": "7975", "start": "96914" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "29", "end": "96921", "length": "8", "line": "2659", - "parentIndex": "7970", + "parentIndex": "7974", "start": "96914" }, "typeDescription": { @@ -7721,16 +7775,16 @@ "visibility": "INTERNAL" }, { - "id": "7973", + "id": "7977", "name": "assetsRequested", "nodeType": "VARIABLE_DECLARATION", - "scope": "7973", + "scope": "7977", "src": { "column": "56", "end": "96963", "length": "23", "line": "2659", - "parentIndex": "7969", + "parentIndex": "7973", "start": "96941" }, "stateMutability": "MUTABLE", @@ -7740,7 +7794,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7974", + "id": "7978", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7748,7 +7802,7 @@ "end": "96947", "length": "7", "line": "2659", - "parentIndex": "7973", + "parentIndex": "7977", "start": "96941" }, "typeDescription": { @@ -7759,16 +7813,16 @@ "visibility": "INTERNAL" }, { - "id": "7975", + "id": "7979", "name": "assetsReceived", "nodeType": "VARIABLE_DECLARATION", - "scope": "7975", + "scope": "7979", "src": { "column": "81", "end": "96987", "length": "22", "line": "2659", - "parentIndex": "7969", + "parentIndex": "7973", "start": "96966" }, "stateMutability": "MUTABLE", @@ -7778,7 +7832,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7976", + "id": "7980", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7786,7 +7840,7 @@ "end": "96972", "length": "7", "line": "2659", - "parentIndex": "7975", + "parentIndex": "7979", "start": "96966" }, "typeDescription": { @@ -7802,7 +7856,7 @@ "end": "96989", "length": "101", "line": "2659", - "parentIndex": "7968", + "parentIndex": "7972", "start": "96889" } }, @@ -7814,7 +7868,7 @@ "start": "96889" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyWithdrawal_\u00267968", + "typeIdentifier": "t_event\u0026_Global_StrategyWithdrawal_\u00267972", "typeString": "event Global.StrategyWithdrawal" } } @@ -7822,7 +7876,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7977", + "id": "7981", "isConstant": true, "isStateVariable": true, "name": "i", @@ -7841,7 +7895,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7978", + "id": "7982", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7849,7 +7903,7 @@ "end": "97236", "length": "7", "line": "2664", - "parentIndex": "7977", + "parentIndex": "7981", "start": "97230" }, "typeDescription": { @@ -7863,7 +7917,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7979", + "id": "7983", "isConstant": true, "isStateVariable": true, "name": "strategy", @@ -7882,37 +7936,37 @@ "typeString": "function()" }, "typeName": { - "id": "7980", + "id": "7984", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7981", + "id": "7985", "name": "Strategy", "nameLocation": { "column": "12", "end": "97307", "length": "8", "line": "2665", - "parentIndex": "7980", + "parentIndex": "7984", "start": "97300" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "97307", "length": "8", "line": "2665", - "parentIndex": "7980", + "parentIndex": "7984", "start": "97300" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "97307", "length": "8", "line": "2665", - "parentIndex": "7979", + "parentIndex": "7983", "start": "97300" }, "typeDescription": { @@ -7926,7 +7980,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7982", + "id": "7986", "isConstant": true, "isStateVariable": true, "name": "amountWithdrawn", @@ -7945,7 +7999,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7983", + "id": "7987", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7953,7 +8007,7 @@ "end": "98852", "length": "7", "line": "2703", - "parentIndex": "7982", + "parentIndex": "7986", "start": "98846" }, "typeDescription": { @@ -7967,7 +8021,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7984", + "id": "7988", "isConstant": true, "isStateVariable": true, "name": "oldStratTVL", @@ -7986,7 +8040,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7985", + "id": "7989", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -7994,7 +8048,7 @@ "end": "99156", "length": "7", "line": "2708", - "parentIndex": "7984", + "parentIndex": "7988", "start": "99150" }, "typeDescription": { @@ -8008,7 +8062,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7986", + "id": "7990", "isConstant": true, "isStateVariable": true, "name": "newStratTvl", @@ -8027,7 +8081,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7987", + "id": "7991", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8035,7 +8089,7 @@ "end": "99216", "length": "7", "line": "2709", - "parentIndex": "7986", + "parentIndex": "7990", "start": "99210" }, "typeDescription": { @@ -8049,7 +8103,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7988", + "id": "7992", "isStateVariable": true, "name": "lastHarvest", "nodeType": "VARIABLE_DECLARATION", @@ -8067,7 +8121,7 @@ "typeString": "uint128" }, "typeName": { - "id": "7989", + "id": "7993", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8075,7 +8129,7 @@ "end": "100556", "length": "7", "line": "2737", - "parentIndex": "7988", + "parentIndex": "7992", "start": "100550" }, "typeDescription": { @@ -8089,7 +8143,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7990", + "id": "7994", "isStateVariable": true, "name": "maxLockedProfit", "nodeType": "VARIABLE_DECLARATION", @@ -8107,7 +8161,7 @@ "typeString": "uint128" }, "typeName": { - "id": "7991", + "id": "7995", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8115,7 +8169,7 @@ "end": "100678", "length": "7", "line": "2739", - "parentIndex": "7990", + "parentIndex": "7994", "start": "100672" }, "typeDescription": { @@ -8129,19 +8183,19 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7992", + "id": "7996", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7994", + "id": "7998", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7605", + "referencedDeclaration": "7607", "src": { "column": "44", "end": "100852", "length": "8", "line": "2741", - "parentIndex": "7992", + "parentIndex": "7996", "start": "100845" }, "typeDescription": { @@ -8168,7 +8222,7 @@ "typeString": "literal_string \"0123456789abcdef\"" }, "typeName": { - "id": "7993", + "id": "7997", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8176,7 +8230,7 @@ "end": "100811", "length": "7", "line": "2741", - "parentIndex": "7992", + "parentIndex": "7996", "start": "100805" }, "typeDescription": { @@ -8190,25 +8244,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "7995", + "id": "7999", "name": "Harvest", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "7996", + "id": "8000", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7997", + "id": "8001", "indexed": true, "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "7997", + "scope": "8001", "src": { "column": "18", "end": "101095", "length": "20", "line": "2748", - "parentIndex": "7996", + "parentIndex": "8000", "start": "101076" }, "stateMutability": "NONPAYABLE", @@ -8218,7 +8272,7 @@ "typeString": "address" }, "typeName": { - "id": "7998", + "id": "8002", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8226,7 +8280,7 @@ "end": "101082", "length": "7", "line": "2748", - "parentIndex": "7997", + "parentIndex": "8001", "start": "101076" }, "stateMutability": "NONPAYABLE", @@ -8238,16 +8292,16 @@ "visibility": "INTERNAL" }, { - "id": "7999", + "id": "8003", "name": "strategies", "nodeType": "VARIABLE_DECLARATION", - "scope": "7999", + "scope": "8003", "src": { "column": "40", "end": "101118", "length": "21", "line": "2748", - "parentIndex": "7996", + "parentIndex": "8000", "start": "101098" }, "stateMutability": "MUTABLE", @@ -8257,30 +8311,30 @@ "typeString": "function()" }, "typeName": { - "id": "8000", + "id": "8004", "name": "Strategy", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8001", + "id": "8005", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "40", "end": "101105", "length": "8", "line": "2748", - "parentIndex": "8000", + "parentIndex": "8004", "start": "101098" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "40", "end": "101105", "length": "8", "line": "2748", - "parentIndex": "7999", + "parentIndex": "8003", "start": "101098" }, "typeDescription": { @@ -8296,7 +8350,7 @@ "end": "101120", "length": "59", "line": "2748", - "parentIndex": "7995", + "parentIndex": "7999", "start": "101062" } }, @@ -8308,7 +8362,7 @@ "start": "101062" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Harvest_\u00267995", + "typeIdentifier": "t_event\u0026_Global_Harvest_\u00267999", "typeString": "event Global.Harvest" } } @@ -8316,7 +8370,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8002", + "id": "8006", "isConstant": true, "isStateVariable": true, "name": "oldTotalStrategyHoldings", @@ -8335,7 +8389,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8003", + "id": "8007", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8343,7 +8397,7 @@ "end": "101630", "length": "7", "line": "2760", - "parentIndex": "8002", + "parentIndex": "8006", "start": "101624" }, "typeDescription": { @@ -8357,7 +8411,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8004", + "id": "8008", "isConstant": true, "isStateVariable": true, "name": "newTotalStrategyHoldings", @@ -8376,7 +8430,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8005", + "id": "8009", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8384,7 +8438,7 @@ "end": "101772", "length": "7", "line": "2763", - "parentIndex": "8004", + "parentIndex": "8008", "start": "101766" }, "typeDescription": { @@ -8398,7 +8452,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8006", + "id": "8010", "isConstant": true, "isStateVariable": true, "name": "totalProfitAccrued", @@ -8417,7 +8471,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8007", + "id": "8011", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8425,7 +8479,7 @@ "end": "101911", "length": "7", "line": "2766", - "parentIndex": "8006", + "parentIndex": "8010", "start": "101905" }, "typeDescription": { @@ -8439,7 +8493,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8008", + "id": "8012", "isConstant": true, "isStateVariable": true, "name": "i", @@ -8458,7 +8512,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8009", + "id": "8013", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8466,7 +8520,7 @@ "end": "102026", "length": "7", "line": "2769", - "parentIndex": "8008", + "parentIndex": "8012", "start": "102020" }, "typeDescription": { @@ -8480,7 +8534,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8010", + "id": "8014", "isConstant": true, "isStateVariable": true, "name": "strategy", @@ -8499,37 +8553,37 @@ "typeString": "function()" }, "typeName": { - "id": "8011", + "id": "8015", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8012", + "id": "8016", "name": "Strategy", "nameLocation": { "column": "12", "end": "102156", "length": "8", "line": "2771", - "parentIndex": "8011", + "parentIndex": "8015", "start": "102149" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "102156", "length": "8", "line": "2771", - "parentIndex": "8011", + "parentIndex": "8015", "start": "102149" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "102156", "length": "8", "line": "2771", - "parentIndex": "8010", + "parentIndex": "8014", "start": "102149" }, "typeDescription": { @@ -8543,7 +8597,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8013", + "id": "8017", "isConstant": true, "isStateVariable": true, "name": "balanceLastHarvest", @@ -8562,7 +8616,7 @@ "typeString": "uint232" }, "typeName": { - "id": "8014", + "id": "8018", "name": "uint232", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8570,7 +8624,7 @@ "end": "102412", "length": "7", "line": "2779", - "parentIndex": "8013", + "parentIndex": "8017", "start": "102406" }, "typeDescription": { @@ -8584,7 +8638,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8015", + "id": "8019", "isConstant": true, "isStateVariable": true, "name": "balanceThisHarvest", @@ -8603,7 +8657,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8016", + "id": "8020", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8611,7 +8665,7 @@ "end": "102483", "length": "7", "line": "2780", - "parentIndex": "8015", + "parentIndex": "8019", "start": "102477" }, "typeDescription": { @@ -8625,7 +8679,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8017", + "id": "8021", "isConstant": true, "isStateVariable": true, "name": "unlockedProfit", @@ -8644,7 +8698,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8018", + "id": "8022", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8652,7 +8706,7 @@ "end": "104289", "length": "7", "line": "2820", - "parentIndex": "8017", + "parentIndex": "8021", "start": "104283" }, "typeDescription": { @@ -8666,24 +8720,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "8019", + "id": "8023", "name": "Liquidation", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "8020", + "id": "8024", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "8021", + "id": "8025", "name": "assetsRequested", "nodeType": "VARIABLE_DECLARATION", - "scope": "8021", + "scope": "8025", "src": { "column": "22", "end": "105195", "length": "23", "line": "2839", - "parentIndex": "8020", + "parentIndex": "8024", "start": "105173" }, "stateMutability": "MUTABLE", @@ -8693,7 +8747,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8022", + "id": "8026", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8701,7 +8755,7 @@ "end": "105179", "length": "7", "line": "2839", - "parentIndex": "8021", + "parentIndex": "8025", "start": "105173" }, "typeDescription": { @@ -8712,16 +8766,16 @@ "visibility": "INTERNAL" }, { - "id": "8023", + "id": "8027", "name": "assetsLiquidated", "nodeType": "VARIABLE_DECLARATION", - "scope": "8023", + "scope": "8027", "src": { "column": "47", "end": "105221", "length": "24", "line": "2839", - "parentIndex": "8020", + "parentIndex": "8024", "start": "105198" }, "stateMutability": "MUTABLE", @@ -8731,7 +8785,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8024", + "id": "8028", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8739,7 +8793,7 @@ "end": "105204", "length": "7", "line": "2839", - "parentIndex": "8023", + "parentIndex": "8027", "start": "105198" }, "typeDescription": { @@ -8755,7 +8809,7 @@ "end": "105223", "length": "69", "line": "2839", - "parentIndex": "8019", + "parentIndex": "8023", "start": "105155" } }, @@ -8767,7 +8821,7 @@ "start": "105155" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Liquidation_\u00268019", + "typeIdentifier": "t_event\u0026_Global_Liquidation_\u00268023", "typeString": "event Global.Liquidation" } } @@ -8775,7 +8829,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8025", + "id": "8029", "isConstant": true, "isStateVariable": true, "name": "amountLiquidated", @@ -8794,7 +8848,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8026", + "id": "8030", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8802,7 +8856,7 @@ "end": "105598", "length": "7", "line": "2848", - "parentIndex": "8025", + "parentIndex": "8029", "start": "105592" }, "typeDescription": { @@ -8816,7 +8870,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8027", + "id": "8031", "isConstant": true, "isStateVariable": true, "name": "i", @@ -8835,7 +8889,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8028", + "id": "8032", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8843,7 +8897,7 @@ "end": "105637", "length": "7", "line": "2849", - "parentIndex": "8027", + "parentIndex": "8031", "start": "105631" }, "typeDescription": { @@ -8857,7 +8911,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8029", + "id": "8033", "isConstant": true, "isStateVariable": true, "name": "strategy", @@ -8876,37 +8930,37 @@ "typeString": "function()" }, "typeName": { - "id": "8030", + "id": "8034", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8031", + "id": "8035", "name": "Strategy", "nameLocation": { "column": "12", "end": "105708", "length": "8", "line": "2850", - "parentIndex": "8030", + "parentIndex": "8034", "start": "105701" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "105708", "length": "8", "line": "2850", - "parentIndex": "8030", + "parentIndex": "8034", "start": "105701" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "105708", "length": "8", "line": "2850", - "parentIndex": "8029", + "parentIndex": "8033", "start": "105701" }, "typeDescription": { @@ -8920,7 +8974,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8032", + "id": "8036", "isConstant": true, "isStateVariable": true, "name": "balance", @@ -8939,7 +8993,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8033", + "id": "8037", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8947,7 +9001,7 @@ "end": "105848", "length": "7", "line": "2855", - "parentIndex": "8032", + "parentIndex": "8036", "start": "105842" }, "typeDescription": { @@ -8961,7 +9015,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8034", + "id": "8038", "isConstant": true, "isStateVariable": true, "name": "amountNeeded", @@ -8980,7 +9034,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8035", + "id": "8039", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -8988,7 +9042,7 @@ "end": "105986", "length": "7", "line": "2860", - "parentIndex": "8034", + "parentIndex": "8038", "start": "105980" }, "typeDescription": { @@ -9002,7 +9056,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8036", + "id": "8040", "isConstant": true, "isStateVariable": true, "name": "withdrawn", @@ -9021,7 +9075,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8037", + "id": "8041", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9029,7 +9083,7 @@ "end": "106174", "length": "7", "line": "2864", - "parentIndex": "8036", + "parentIndex": "8040", "start": "106168" }, "typeDescription": { @@ -9043,25 +9097,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "8038", + "id": "8042", "name": "Rebalance", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "8039", + "id": "8043", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "8040", + "id": "8044", "indexed": true, "name": "caller", "nodeType": "VARIABLE_DECLARATION", - "scope": "8040", + "scope": "8044", "src": { "column": "20", "end": "106781", "length": "22", "line": "2881", - "parentIndex": "8039", + "parentIndex": "8043", "start": "106760" }, "stateMutability": "NONPAYABLE", @@ -9071,7 +9125,7 @@ "typeString": "address" }, "typeName": { - "id": "8041", + "id": "8045", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9079,7 +9133,7 @@ "end": "106766", "length": "7", "line": "2881", - "parentIndex": "8040", + "parentIndex": "8044", "start": "106760" }, "stateMutability": "NONPAYABLE", @@ -9096,7 +9150,7 @@ "end": "106783", "length": "40", "line": "2881", - "parentIndex": "8038", + "parentIndex": "8042", "start": "106744" } }, @@ -9108,7 +9162,7 @@ "start": "106744" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Rebalance_\u00268038", + "typeIdentifier": "t_event\u0026_Global_Rebalance_\u00268042", "typeString": "event Global.Rebalance" } } @@ -9116,7 +9170,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8042", + "id": "8046", "isConstant": true, "isStateVariable": true, "name": "tvl", @@ -9135,7 +9189,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8043", + "id": "8047", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9143,7 +9197,7 @@ "end": "106921", "length": "7", "line": "2885", - "parentIndex": "8042", + "parentIndex": "8046", "start": "106915" }, "typeDescription": { @@ -9157,7 +9211,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8044", + "id": "8048", "isConstant": true, "isStateVariable": true, "name": "amountsToInvest", @@ -9179,16 +9233,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "8047", + "id": "8051", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7895", + "referencedDeclaration": "7898", "src": { "column": "16", "end": "107103", "length": "14", "line": "2889", - "parentIndex": "8045", + "parentIndex": "8049", "start": "107090" }, "typeDescription": { @@ -9197,7 +9251,7 @@ } } }, - "id": "8045", + "id": "8049", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -9205,7 +9259,7 @@ "end": "107088", "length": "7", "line": "2889", - "parentIndex": "8044", + "parentIndex": "8048", "start": "107082" }, "typeDescription": { @@ -9219,7 +9273,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8048", + "id": "8052", "isConstant": true, "isStateVariable": true, "name": "i", @@ -9238,7 +9292,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8049", + "id": "8053", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9246,7 +9300,7 @@ "end": "107150", "length": "7", "line": "2891", - "parentIndex": "8048", + "parentIndex": "8052", "start": "107144" }, "typeDescription": { @@ -9260,7 +9314,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8050", + "id": "8054", "isConstant": true, "isStateVariable": true, "name": "strategy", @@ -9279,37 +9333,37 @@ "typeString": "function()" }, "typeName": { - "id": "8051", + "id": "8055", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8052", + "id": "8056", "name": "Strategy", "nameLocation": { "column": "12", "end": "107221", "length": "8", "line": "2892", - "parentIndex": "8051", + "parentIndex": "8055", "start": "107214" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "107221", "length": "8", "line": "2892", - "parentIndex": "8051", + "parentIndex": "8055", "start": "107214" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "107221", "length": "8", "line": "2892", - "parentIndex": "8050", + "parentIndex": "8054", "start": "107214" }, "typeDescription": { @@ -9323,7 +9377,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8053", + "id": "8057", "isConstant": true, "isStateVariable": true, "name": "idealStrategyTVL", @@ -9342,7 +9396,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8054", + "id": "8058", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9350,7 +9404,7 @@ "end": "107361", "length": "7", "line": "2897", - "parentIndex": "8053", + "parentIndex": "8057", "start": "107355" }, "typeDescription": { @@ -9364,7 +9418,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8055", + "id": "8059", "isConstant": true, "isStateVariable": true, "name": "currStrategyTVL", @@ -9383,7 +9437,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8056", + "id": "8060", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9391,7 +9445,7 @@ "end": "107447", "length": "7", "line": "2898", - "parentIndex": "8055", + "parentIndex": "8059", "start": "107441" }, "typeDescription": { @@ -9405,7 +9459,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8057", + "id": "8061", "isConstant": true, "isStateVariable": true, "name": "i", @@ -9424,7 +9478,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8058", + "id": "8062", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9432,7 +9486,7 @@ "end": "107892", "length": "7", "line": "2908", - "parentIndex": "8057", + "parentIndex": "8061", "start": "107886" }, "typeDescription": { @@ -9446,7 +9500,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8059", + "id": "8063", "isConstant": true, "isStateVariable": true, "name": "amountToInvest", @@ -9465,7 +9519,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8060", + "id": "8064", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9473,7 +9527,7 @@ "end": "107962", "length": "7", "line": "2909", - "parentIndex": "8059", + "parentIndex": "8063", "start": "107956" }, "typeDescription": { @@ -9487,7 +9541,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8061", + "id": "8065", "isStateVariable": true, "name": "asset", "nodeType": "VARIABLE_DECLARATION", @@ -9501,45 +9555,45 @@ "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "8062", + "id": "8066", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8063", + "id": "8067", "name": "ERC20", "nameLocation": { "column": "4", "end": "109054", "length": "5", "line": "2943", - "parentIndex": "8062", + "parentIndex": "8066", "start": "109050" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "109054", "length": "5", "line": "2943", - "parentIndex": "8062", + "parentIndex": "8066", "start": "109050" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "109054", "length": "5", "line": "2943", - "parentIndex": "8061", + "parentIndex": "8065", "start": "109050" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, @@ -9549,7 +9603,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8064", + "id": "8068", "isStateVariable": true, "name": "wormholeRouter", "nodeType": "VARIABLE_DECLARATION", @@ -9567,7 +9621,7 @@ "typeString": "address" }, "typeName": { - "id": "8065", + "id": "8069", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9575,7 +9629,7 @@ "end": "109136", "length": "7", "line": "2945", - "parentIndex": "8064", + "parentIndex": "8068", "start": "109130" }, "stateMutability": "NONPAYABLE", @@ -9590,7 +9644,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8066", + "id": "8070", "isStateVariable": true, "name": "governance", "nodeType": "VARIABLE_DECLARATION", @@ -9608,7 +9662,7 @@ "typeString": "address" }, "typeName": { - "id": "8067", + "id": "8071", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9616,7 +9670,7 @@ "end": "109237", "length": "7", "line": "2947", - "parentIndex": "8066", + "parentIndex": "8070", "start": "109231" }, "stateMutability": "NONPAYABLE", @@ -9631,24 +9685,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "8068", + "id": "8072", "name": "TransferToVault", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "8069", + "id": "8073", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "8070", + "id": "8074", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "8070", + "scope": "8074", "src": { "column": "26", "end": "109458", "length": "14", "line": "2953", - "parentIndex": "8069", + "parentIndex": "8073", "start": "109445" }, "stateMutability": "MUTABLE", @@ -9658,7 +9712,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8071", + "id": "8075", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9666,7 +9720,7 @@ "end": "109451", "length": "7", "line": "2953", - "parentIndex": "8070", + "parentIndex": "8074", "start": "109445" }, "typeDescription": { @@ -9682,7 +9736,7 @@ "end": "109460", "length": "38", "line": "2953", - "parentIndex": "8068", + "parentIndex": "8072", "start": "109423" } }, @@ -9694,7 +9748,7 @@ "start": "109423" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_TransferToVault_\u00268068", + "typeIdentifier": "t_event\u0026_Global_TransferToVault_\u00268072", "typeString": "event Global.TransferToVault" } } @@ -9702,7 +9756,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8072", + "id": "8076", "isStateVariable": true, "name": "vault", "nodeType": "VARIABLE_DECLARATION", @@ -9716,45 +9770,45 @@ "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" }, "typeName": { - "id": "8073", + "id": "8077", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8074", + "id": "8078", "name": "BaseVault", "nameLocation": { "column": "4", "end": "110679", "length": "9", "line": "2990", - "parentIndex": "8073", + "parentIndex": "8077", "start": "110671" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "4", "end": "110679", "length": "9", "line": "2990", - "parentIndex": "8073", + "parentIndex": "8077", "start": "110671" } }, - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "4", "end": "110679", "length": "9", "line": "2990", - "parentIndex": "8072", + "parentIndex": "8076", "start": "110671" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } }, @@ -9764,7 +9818,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8075", + "id": "8079", "isStateVariable": true, "name": "wormhole", "nodeType": "VARIABLE_DECLARATION", @@ -9778,45 +9832,45 @@ "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" }, "typeName": { - "id": "8076", + "id": "8080", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8077", + "id": "8081", "name": "IWormhole", "nameLocation": { "column": "4", "end": "111122", "length": "9", "line": "3002", - "parentIndex": "8076", + "parentIndex": "8080", "start": "111114" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "4", "end": "111122", "length": "9", "line": "3002", - "parentIndex": "8076", + "parentIndex": "8080", "start": "111114" } }, - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "4", "end": "111122", "length": "9", "line": "3002", - "parentIndex": "8075", + "parentIndex": "8079", "start": "111114" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } }, @@ -9826,12 +9880,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8078", + "id": "8082", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "34", - "id": "8080", + "id": "8084", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -9840,7 +9894,7 @@ "end": "111623", "length": "1", "line": "3009", - "parentIndex": "8078", + "parentIndex": "8082", "start": "111623" }, "typeDescription": { @@ -9867,7 +9921,7 @@ "typeString": "int_const 4" }, "typeName": { - "id": "8079", + "id": "8083", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9875,7 +9929,7 @@ "end": "111595", "length": "5", "line": "3009", - "parentIndex": "8078", + "parentIndex": "8082", "start": "111591" }, "typeDescription": { @@ -9889,7 +9943,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8081", + "id": "8085", "isStateVariable": true, "name": "nextValidNonce", "nodeType": "VARIABLE_DECLARATION", @@ -9907,7 +9961,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8082", + "id": "8086", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -9915,7 +9969,7 @@ "end": "112119", "length": "7", "line": "3022", - "parentIndex": "8081", + "parentIndex": "8085", "start": "112113" }, "typeDescription": { @@ -9929,7 +9983,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8083", + "id": "8087", "isStateVariable": true, "name": "vault", "nodeType": "VARIABLE_DECLARATION", @@ -9947,17 +10001,17 @@ "typeString": "contract L1Vault" }, "typeName": { - "id": "8084", + "id": "8088", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8085", + "id": "8089", "name": "L1Vault", "nameLocation": { "column": "4", "end": "113103", "length": "7", "line": "3050", - "parentIndex": "8084", + "parentIndex": "8088", "start": "113097" }, "nodeType": "IDENTIFIER_PATH", @@ -9967,7 +10021,7 @@ "end": "113103", "length": "7", "line": "3050", - "parentIndex": "8084", + "parentIndex": "8088", "start": "113097" } }, @@ -9977,7 +10031,7 @@ "end": "113103", "length": "7", "line": "3050", - "parentIndex": "8083", + "parentIndex": "8087", "start": "113097" }, "typeDescription": { @@ -9991,7 +10045,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8086", + "id": "8090", "isStateVariable": true, "name": "rootChainManager", "nodeType": "VARIABLE_DECLARATION", @@ -10005,45 +10059,45 @@ "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" }, "typeName": { - "id": "8087", + "id": "8091", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8088", + "id": "8092", "name": "IRootChainManager", "nameLocation": { "column": "4", "end": "113339", "length": "17", "line": "3052", - "parentIndex": "8087", + "parentIndex": "8091", "start": "113323" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "7202", + "referencedDeclaration": "7204", "src": { "column": "4", "end": "113339", "length": "17", "line": "3052", - "parentIndex": "8087", + "parentIndex": "8091", "start": "113323" } }, - "referencedDeclaration": "7202", + "referencedDeclaration": "7204", "src": { "column": "4", "end": "113339", "length": "17", "line": "3052", - "parentIndex": "8086", + "parentIndex": "8090", "start": "113323" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } }, @@ -10053,7 +10107,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8089", + "id": "8093", "isConstant": true, "isStateVariable": true, "name": "balance", @@ -10072,7 +10126,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8090", + "id": "8094", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10080,7 +10134,7 @@ "end": "114057", "length": "7", "line": "3066", - "parentIndex": "8089", + "parentIndex": "8093", "start": "114051" }, "typeDescription": { @@ -10094,7 +10148,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8091", + "id": "8095", "isConstant": true, "isStateVariable": true, "name": "payload", @@ -10113,7 +10167,7 @@ "typeString": "bytes" }, "typeName": { - "id": "8092", + "id": "8096", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10121,7 +10175,7 @@ "end": "115096", "length": "5", "line": "3098", - "parentIndex": "8091", + "parentIndex": "8095", "start": "115092" }, "typeDescription": { @@ -10135,7 +10189,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8093", + "id": "8097", "isConstant": true, "isStateVariable": true, "name": "sequence", @@ -10154,7 +10208,7 @@ "typeString": "uint64" }, "typeName": { - "id": "8094", + "id": "8098", "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10162,7 +10216,7 @@ "end": "115290", "length": "6", "line": "3101", - "parentIndex": "8093", + "parentIndex": "8097", "start": "115285" }, "typeDescription": { @@ -10176,7 +10230,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8095", + "id": "8099", "isConstant": true, "isStateVariable": true, "name": "payload", @@ -10195,7 +10249,7 @@ "typeString": "bytes" }, "typeName": { - "id": "8096", + "id": "8100", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10203,7 +10257,7 @@ "end": "115660", "length": "5", "line": "3108", - "parentIndex": "8095", + "parentIndex": "8099", "start": "115656" }, "typeDescription": { @@ -10217,7 +10271,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8097", + "id": "8101", "isConstant": true, "isStateVariable": true, "name": "sequence", @@ -10236,7 +10290,7 @@ "typeString": "uint64" }, "typeName": { - "id": "8098", + "id": "8102", "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10244,7 +10298,7 @@ "end": "115747", "length": "6", "line": "3109", - "parentIndex": "8097", + "parentIndex": "8101", "start": "115742" }, "typeDescription": { @@ -10258,7 +10312,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8099", + "id": "8103", "isConstant": true, "isStateVariable": true, "name": "vm", @@ -10273,45 +10327,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" }, "typeName": { - "id": "8100", + "id": "8104", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8101", + "id": "8105", "name": "IWormhole", "nameLocation": { "column": "9", "end": "116199", "length": "9", "line": "3119", - "parentIndex": "8100", + "parentIndex": "8104", "start": "116191" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "9", "end": "116202", "length": "12", "line": "3119", - "parentIndex": "8100", + "parentIndex": "8104", "start": "116191" } }, - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "9", "end": "116202", "length": "12", "line": "3119", - "parentIndex": "8099", + "parentIndex": "8103", "start": "116191" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } }, @@ -10321,7 +10375,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8102", + "id": "8106", "isConstant": true, "isStateVariable": true, "name": "valid", @@ -10340,7 +10394,7 @@ "typeString": "bool" }, "typeName": { - "id": "8103", + "id": "8107", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10348,7 +10402,7 @@ "end": "116218", "length": "4", "line": "3119", - "parentIndex": "8102", + "parentIndex": "8106", "start": "116215" }, "typeDescription": { @@ -10362,7 +10416,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8104", + "id": "8108", "isConstant": true, "isStateVariable": true, "name": "reason", @@ -10381,7 +10435,7 @@ "typeString": "string" }, "typeName": { - "id": "8105", + "id": "8109", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10389,7 +10443,7 @@ "end": "116232", "length": "6", "line": "3119", - "parentIndex": "8104", + "parentIndex": "8108", "start": "116227" }, "typeDescription": { @@ -10403,7 +10457,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8106", + "id": "8110", "isConstant": true, "isStateVariable": true, "name": "msgType", @@ -10422,7 +10476,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "8107", + "id": "8111", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10430,7 +10484,7 @@ "end": "116418", "length": "7", "line": "3123", - "parentIndex": "8106", + "parentIndex": "8110", "start": "116412" }, "typeDescription": { @@ -10444,7 +10498,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8108", + "id": "8112", "isConstant": true, "isStateVariable": true, "name": "amount", @@ -10463,7 +10517,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8109", + "id": "8113", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10471,7 +10525,7 @@ "end": "116435", "length": "7", "line": "3123", - "parentIndex": "8108", + "parentIndex": "8112", "start": "116429" }, "typeDescription": { @@ -10485,7 +10539,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8110", + "id": "8114", "isConstant": true, "isStateVariable": true, "name": "vm", @@ -10500,45 +10554,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" }, "typeName": { - "id": "8111", + "id": "8115", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8112", + "id": "8116", "name": "IWormhole", "nameLocation": { "column": "9", "end": "116789", "length": "9", "line": "3131", - "parentIndex": "8111", + "parentIndex": "8115", "start": "116781" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "9", "end": "116792", "length": "12", "line": "3131", - "parentIndex": "8111", + "parentIndex": "8115", "start": "116781" } }, - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "9", "end": "116792", "length": "12", "line": "3131", - "parentIndex": "8110", + "parentIndex": "8114", "start": "116781" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } }, @@ -10548,7 +10602,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8113", + "id": "8117", "isConstant": true, "isStateVariable": true, "name": "valid", @@ -10567,7 +10621,7 @@ "typeString": "bool" }, "typeName": { - "id": "8114", + "id": "8118", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10575,7 +10629,7 @@ "end": "116808", "length": "4", "line": "3131", - "parentIndex": "8113", + "parentIndex": "8117", "start": "116805" }, "typeDescription": { @@ -10589,7 +10643,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8115", + "id": "8119", "isConstant": true, "isStateVariable": true, "name": "reason", @@ -10608,7 +10662,7 @@ "typeString": "string" }, "typeName": { - "id": "8116", + "id": "8120", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10616,7 +10670,7 @@ "end": "116822", "length": "6", "line": "3131", - "parentIndex": "8115", + "parentIndex": "8119", "start": "116817" }, "typeDescription": { @@ -10630,7 +10684,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8117", + "id": "8121", "isConstant": true, "isStateVariable": true, "name": "msgType", @@ -10649,7 +10703,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "8118", + "id": "8122", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10657,7 +10711,7 @@ "end": "117010", "length": "7", "line": "3137", - "parentIndex": "8117", + "parentIndex": "8121", "start": "117004" }, "typeDescription": { @@ -10671,7 +10725,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8119", + "id": "8123", "isConstant": true, "isStateVariable": true, "name": "amount", @@ -10690,7 +10744,7 @@ "typeString": "uint256" }, "typeName": { - "id": "8120", + "id": "8124", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10698,7 +10752,7 @@ "end": "117027", "length": "7", "line": "3137", - "parentIndex": "8119", + "parentIndex": "8123", "start": "117021" }, "typeDescription": { @@ -10713,19 +10767,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Signature", - "id": "8121", + "id": "8125", "members": [ { - "id": "8122", + "id": "8126", "name": "r", "nodeType": "VARIABLE_DECLARATION", - "scope": "8122", + "scope": "8126", "src": { "column": "8", "end": "117595", "length": "10", "line": "3160", - "parentIndex": "8121", + "parentIndex": "8125", "start": "117586" }, "stateMutability": "MUTABLE", @@ -10734,7 +10788,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "8123", + "id": "8127", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10742,7 +10796,7 @@ "end": "117592", "length": "7", "line": "3160", - "parentIndex": "8122", + "parentIndex": "8126", "start": "117586" }, "typeDescription": { @@ -10753,16 +10807,16 @@ "visibility": "INTERNAL" }, { - "id": "8124", + "id": "8128", "name": "s", "nodeType": "VARIABLE_DECLARATION", - "scope": "8124", + "scope": "8128", "src": { "column": "8", "end": "117614", "length": "10", "line": "3161", - "parentIndex": "8121", + "parentIndex": "8125", "start": "117605" }, "stateMutability": "MUTABLE", @@ -10771,7 +10825,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "8125", + "id": "8129", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10779,7 +10833,7 @@ "end": "117611", "length": "7", "line": "3161", - "parentIndex": "8124", + "parentIndex": "8128", "start": "117605" }, "typeDescription": { @@ -10790,16 +10844,16 @@ "visibility": "INTERNAL" }, { - "id": "8126", + "id": "8130", "name": "v", "nodeType": "VARIABLE_DECLARATION", - "scope": "8126", + "scope": "8130", "src": { "column": "8", "end": "117631", "length": "8", "line": "3162", - "parentIndex": "8121", + "parentIndex": "8125", "start": "117624" }, "stateMutability": "MUTABLE", @@ -10808,7 +10862,7 @@ "typeString": "uint8" }, "typeName": { - "id": "8127", + "id": "8131", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10816,7 +10870,7 @@ "end": "117628", "length": "5", "line": "3162", - "parentIndex": "8126", + "parentIndex": "8130", "start": "117624" }, "typeDescription": { @@ -10827,16 +10881,16 @@ "visibility": "INTERNAL" }, { - "id": "8128", + "id": "8132", "name": "guardianIndex", "nodeType": "VARIABLE_DECLARATION", - "scope": "8128", + "scope": "8132", "src": { "column": "8", "end": "117660", "length": "20", "line": "3163", - "parentIndex": "8121", + "parentIndex": "8125", "start": "117641" }, "stateMutability": "MUTABLE", @@ -10845,7 +10899,7 @@ "typeString": "uint8" }, "typeName": { - "id": "8129", + "id": "8133", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10853,7 +10907,7 @@ "end": "117645", "length": "5", "line": "3163", - "parentIndex": "8128", + "parentIndex": "8132", "start": "117641" }, "typeDescription": { @@ -10870,7 +10924,7 @@ "end": "117574", "length": "9", "line": "3159", - "parentIndex": "8121", + "parentIndex": "8125", "start": "117566" }, "nodeType": "STRUCT_DEFINITION", @@ -10883,7 +10937,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Signature_$8121", + "typeIdentifier": "t_struct$_Global_Signature_$8125", "typeString": "struct Global.Signature" }, "visibility": "PUBLIC" @@ -10893,19 +10947,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.VM", - "id": "8130", + "id": "8134", "members": [ { - "id": "8131", + "id": "8135", "name": "version", "nodeType": "VARIABLE_DECLARATION", - "scope": "8131", + "scope": "8135", "src": { "column": "8", "end": "117706", "length": "14", "line": "3167", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117693" }, "stateMutability": "MUTABLE", @@ -10914,7 +10968,7 @@ "typeString": "uint8" }, "typeName": { - "id": "8132", + "id": "8136", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10922,7 +10976,7 @@ "end": "117697", "length": "5", "line": "3167", - "parentIndex": "8131", + "parentIndex": "8135", "start": "117693" }, "typeDescription": { @@ -10933,16 +10987,16 @@ "visibility": "INTERNAL" }, { - "id": "8133", + "id": "8137", "name": "timestamp", "nodeType": "VARIABLE_DECLARATION", - "scope": "8133", + "scope": "8137", "src": { "column": "8", "end": "117732", "length": "17", "line": "3168", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117716" }, "stateMutability": "MUTABLE", @@ -10951,7 +11005,7 @@ "typeString": "uint32" }, "typeName": { - "id": "8134", + "id": "8138", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10959,7 +11013,7 @@ "end": "117721", "length": "6", "line": "3168", - "parentIndex": "8133", + "parentIndex": "8137", "start": "117716" }, "typeDescription": { @@ -10970,16 +11024,16 @@ "visibility": "INTERNAL" }, { - "id": "8135", + "id": "8139", "name": "nonce", "nodeType": "VARIABLE_DECLARATION", - "scope": "8135", + "scope": "8139", "src": { "column": "8", "end": "117754", "length": "13", "line": "3169", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117742" }, "stateMutability": "MUTABLE", @@ -10988,7 +11042,7 @@ "typeString": "uint32" }, "typeName": { - "id": "8136", + "id": "8140", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -10996,7 +11050,7 @@ "end": "117747", "length": "6", "line": "3169", - "parentIndex": "8135", + "parentIndex": "8139", "start": "117742" }, "typeDescription": { @@ -11007,16 +11061,16 @@ "visibility": "INTERNAL" }, { - "id": "8137", + "id": "8141", "name": "emitterChainId", "nodeType": "VARIABLE_DECLARATION", - "scope": "8137", + "scope": "8141", "src": { "column": "8", "end": "117785", "length": "22", "line": "3170", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117764" }, "stateMutability": "MUTABLE", @@ -11025,7 +11079,7 @@ "typeString": "uint16" }, "typeName": { - "id": "8138", + "id": "8142", "name": "uint16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11033,7 +11087,7 @@ "end": "117769", "length": "6", "line": "3170", - "parentIndex": "8137", + "parentIndex": "8141", "start": "117764" }, "typeDescription": { @@ -11044,16 +11098,16 @@ "visibility": "INTERNAL" }, { - "id": "8139", + "id": "8143", "name": "emitterAddress", "nodeType": "VARIABLE_DECLARATION", - "scope": "8139", + "scope": "8143", "src": { "column": "8", "end": "117817", "length": "23", "line": "3171", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117795" }, "stateMutability": "MUTABLE", @@ -11062,7 +11116,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "8140", + "id": "8144", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11070,7 +11124,7 @@ "end": "117801", "length": "7", "line": "3171", - "parentIndex": "8139", + "parentIndex": "8143", "start": "117795" }, "typeDescription": { @@ -11081,16 +11135,16 @@ "visibility": "INTERNAL" }, { - "id": "8141", + "id": "8145", "name": "sequence", "nodeType": "VARIABLE_DECLARATION", - "scope": "8141", + "scope": "8145", "src": { "column": "8", "end": "117842", "length": "16", "line": "3172", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117827" }, "stateMutability": "MUTABLE", @@ -11099,7 +11153,7 @@ "typeString": "uint64" }, "typeName": { - "id": "8142", + "id": "8146", "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11107,7 +11161,7 @@ "end": "117832", "length": "6", "line": "3172", - "parentIndex": "8141", + "parentIndex": "8145", "start": "117827" }, "typeDescription": { @@ -11118,16 +11172,16 @@ "visibility": "INTERNAL" }, { - "id": "8143", + "id": "8147", "name": "consistencyLevel", "nodeType": "VARIABLE_DECLARATION", - "scope": "8143", + "scope": "8147", "src": { "column": "8", "end": "117874", "length": "23", "line": "3173", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117852" }, "stateMutability": "MUTABLE", @@ -11136,7 +11190,7 @@ "typeString": "uint8" }, "typeName": { - "id": "8144", + "id": "8148", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11144,7 +11198,7 @@ "end": "117856", "length": "5", "line": "3173", - "parentIndex": "8143", + "parentIndex": "8147", "start": "117852" }, "typeDescription": { @@ -11155,16 +11209,16 @@ "visibility": "INTERNAL" }, { - "id": "8145", + "id": "8149", "name": "payload", "nodeType": "VARIABLE_DECLARATION", - "scope": "8145", + "scope": "8149", "src": { "column": "8", "end": "117897", "length": "14", "line": "3174", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117884" }, "stateMutability": "MUTABLE", @@ -11173,7 +11227,7 @@ "typeString": "bytes" }, "typeName": { - "id": "8146", + "id": "8150", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11181,7 +11235,7 @@ "end": "117888", "length": "5", "line": "3174", - "parentIndex": "8145", + "parentIndex": "8149", "start": "117884" }, "typeDescription": { @@ -11192,16 +11246,16 @@ "visibility": "INTERNAL" }, { - "id": "8147", + "id": "8151", "name": "guardianSetIndex", "nodeType": "VARIABLE_DECLARATION", - "scope": "8147", + "scope": "8151", "src": { "column": "8", "end": "117930", "length": "24", "line": "3175", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117907" }, "stateMutability": "MUTABLE", @@ -11210,7 +11264,7 @@ "typeString": "uint32" }, "typeName": { - "id": "8148", + "id": "8152", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11218,7 +11272,7 @@ "end": "117912", "length": "6", "line": "3175", - "parentIndex": "8147", + "parentIndex": "8151", "start": "117907" }, "typeDescription": { @@ -11229,68 +11283,68 @@ "visibility": "INTERNAL" }, { - "id": "8149", + "id": "8153", "name": "signatures", "nodeType": "VARIABLE_DECLARATION", - "scope": "8149", + "scope": "8153", "src": { "column": "8", "end": "117962", "length": "23", "line": "3176", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117940" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Signature_$8121", + "typeIdentifier": "t_struct$_Global_Signature_$8125", "typeString": "struct Global.Signature" }, "typeName": { - "id": "8150", + "id": "8154", "name": "Signature", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "8151", + "id": "8155", "name": "Signature", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "8121", + "referencedDeclaration": "8125", "src": { "column": "8", "end": "117948", "length": "9", "line": "3176", - "parentIndex": "8150", + "parentIndex": "8154", "start": "117940" } }, - "referencedDeclaration": "8121", + "referencedDeclaration": "8125", "src": { "column": "8", "end": "117948", "length": "9", "line": "3176", - "parentIndex": "8149", + "parentIndex": "8153", "start": "117940" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Signature_$8121", + "typeIdentifier": "t_struct$_Global_Signature_$8125", "typeString": "struct Global.Signature" } }, "visibility": "INTERNAL" }, { - "id": "8152", + "id": "8156", "name": "hash", "nodeType": "VARIABLE_DECLARATION", - "scope": "8152", + "scope": "8156", "src": { "column": "8", "end": "117984", "length": "13", "line": "3177", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117972" }, "stateMutability": "MUTABLE", @@ -11299,7 +11353,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "8153", + "id": "8157", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11307,7 +11361,7 @@ "end": "117978", "length": "7", "line": "3177", - "parentIndex": "8152", + "parentIndex": "8156", "start": "117972" }, "typeDescription": { @@ -11324,7 +11378,7 @@ "end": "117681", "length": "2", "line": "3166", - "parentIndex": "8130", + "parentIndex": "8134", "start": "117680" }, "nodeType": "STRUCT_DEFINITION", @@ -11337,7 +11391,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_VM_$8130", + "typeIdentifier": "t_struct$_Global_VM_$8134", "typeString": "struct Global.VM" }, "visibility": "PUBLIC" @@ -11346,7 +11400,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8154", + "id": "8158", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -11361,7 +11415,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4c325f46554e445f5452414e534645525f5245504f5254", - "id": "8158", + "id": "8162", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -11370,7 +11424,7 @@ "end": "118593", "length": "25", "line": "3200", - "parentIndex": "8156", + "parentIndex": "8160", "start": "118569" }, "typeDescription": { @@ -11384,7 +11438,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "8157", + "id": "8161", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -11392,7 +11446,7 @@ "end": "118567", "length": "9", "line": "3200", - "parentIndex": "8156", + "parentIndex": "8160", "start": "118559" }, "typeDescription": { @@ -11401,7 +11455,7 @@ } } }, - "id": "8156", + "id": "8160", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -11409,7 +11463,7 @@ "end": "118594", "length": "36", "line": "3200", - "parentIndex": "8154", + "parentIndex": "8158", "start": "118559" }, "typeDescription": { @@ -11436,7 +11490,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "8155", + "id": "8159", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11444,7 +11498,7 @@ "end": "118522", "length": "7", "line": "3200", - "parentIndex": "8154", + "parentIndex": "8158", "start": "118516" }, "typeDescription": { @@ -11458,7 +11512,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8159", + "id": "8163", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -11473,7 +11527,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4c325f46554e445f52455155455354", - "id": "8163", + "id": "8167", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -11482,7 +11536,7 @@ "end": "118662", "length": "17", "line": "3201", - "parentIndex": "8161", + "parentIndex": "8165", "start": "118646" }, "typeDescription": { @@ -11496,7 +11550,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "8162", + "id": "8166", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -11504,7 +11558,7 @@ "end": "118644", "length": "9", "line": "3201", - "parentIndex": "8161", + "parentIndex": "8165", "start": "118636" }, "typeDescription": { @@ -11513,7 +11567,7 @@ } } }, - "id": "8161", + "id": "8165", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -11521,7 +11575,7 @@ "end": "118663", "length": "28", "line": "3201", - "parentIndex": "8159", + "parentIndex": "8163", "start": "118636" }, "typeDescription": { @@ -11548,7 +11602,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "8160", + "id": "8164", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11556,7 +11610,7 @@ "end": "118607", "length": "7", "line": "3201", - "parentIndex": "8159", + "parentIndex": "8163", "start": "118601" }, "typeDescription": { @@ -11570,7 +11624,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8164", + "id": "8168", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -11585,7 +11639,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4c315f54564c", - "id": "8168", + "id": "8172", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -11594,7 +11648,7 @@ "end": "118745", "length": "8", "line": "3204", - "parentIndex": "8166", + "parentIndex": "8170", "start": "118738" }, "typeDescription": { @@ -11608,7 +11662,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "8167", + "id": "8171", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -11616,7 +11670,7 @@ "end": "118736", "length": "9", "line": "3204", - "parentIndex": "8166", + "parentIndex": "8170", "start": "118728" }, "typeDescription": { @@ -11625,7 +11679,7 @@ } } }, - "id": "8166", + "id": "8170", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -11633,7 +11687,7 @@ "end": "118746", "length": "19", "line": "3204", - "parentIndex": "8164", + "parentIndex": "8168", "start": "118728" }, "typeDescription": { @@ -11660,7 +11714,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "8165", + "id": "8169", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11668,7 +11722,7 @@ "end": "118708", "length": "7", "line": "3204", - "parentIndex": "8164", + "parentIndex": "8168", "start": "118702" }, "typeDescription": { @@ -11682,7 +11736,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "8169", + "id": "8173", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -11697,7 +11751,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4c315f46554e445f5452414e534645525f5245504f5254", - "id": "8173", + "id": "8177", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -11706,7 +11760,7 @@ "end": "118830", "length": "25", "line": "3205", - "parentIndex": "8171", + "parentIndex": "8175", "start": "118806" }, "typeDescription": { @@ -11720,7 +11774,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "8172", + "id": "8176", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -11728,7 +11782,7 @@ "end": "118804", "length": "9", "line": "3205", - "parentIndex": "8171", + "parentIndex": "8175", "start": "118796" }, "typeDescription": { @@ -11737,7 +11791,7 @@ } } }, - "id": "8171", + "id": "8175", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -11745,7 +11799,7 @@ "end": "118831", "length": "36", "line": "3205", - "parentIndex": "8169", + "parentIndex": "8173", "start": "118796" }, "typeDescription": { @@ -11772,7 +11826,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "8170", + "id": "8174", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -11780,7 +11834,7 @@ "end": "118759", "length": "7", "line": "3205", - "parentIndex": "8169", + "parentIndex": "8173", "start": "118753" }, "typeDescription": { @@ -12032,7 +12086,7 @@ "id": "454", "name": "PausableUpgradeable", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3655", + "referencedDeclaration": "3656", "src": { "column": "20", "end": "556", @@ -12058,7 +12112,7 @@ "id": "456", "name": "UUPSUpgradeable", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3484", + "referencedDeclaration": "3485", "src": { "column": "41", "end": "573", @@ -12084,7 +12138,7 @@ "id": "458", "name": "BaseVault", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "58", "end": "584", @@ -12151,7 +12205,7 @@ "id": "461", "name": "SafeTransferLib", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "end": "612", "length": "15", @@ -12193,7 +12247,7 @@ "start": "618" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "30", "end": "622", @@ -12203,7 +12257,7 @@ "start": "618" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -12314,7 +12368,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, { @@ -12322,7 +12376,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_L1BridgeEscrow_$6695", + "typeIdentifier": "t_contract$_L1BridgeEscrow_$6697", "typeString": "contract L1BridgeEscrow" } ], @@ -12370,7 +12424,7 @@ "start": "1191" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -12428,7 +12482,7 @@ "start": "1216" }, "typeDescription": { - "typeIdentifier": "t_contract$_L1BridgeEscrow_$6695", + "typeIdentifier": "t_contract$_L1BridgeEscrow_$6697", "typeString": "contract L1BridgeEscrow" } } @@ -12494,7 +12548,7 @@ "start": "1240" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } @@ -12517,7 +12571,7 @@ "start": "1255" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } @@ -12531,7 +12585,7 @@ "start": "1240" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } @@ -12547,7 +12601,7 @@ "start": "1240" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } @@ -12565,7 +12619,7 @@ "id": "502", "name": "predicate", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7587", + "referencedDeclaration": "7589", "src": { "column": "8", "end": "1286", @@ -12735,7 +12789,7 @@ "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { @@ -12762,7 +12816,7 @@ "start": "914" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "8", "end": "918", @@ -12772,7 +12826,7 @@ "start": "914" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, @@ -12833,7 +12887,7 @@ "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_L1BridgeEscrow_$6695", + "typeIdentifier": "t_contract$_L1BridgeEscrow_$6697", "typeString": "contract L1BridgeEscrow" }, "typeName": { @@ -12860,7 +12914,7 @@ "start": "969" } }, - "referencedDeclaration": "6695", + "referencedDeclaration": "6697", "src": { "column": "8", "end": "982", @@ -12870,7 +12924,7 @@ "start": "969" }, "typeDescription": { - "typeIdentifier": "t_contract$_L1BridgeEscrow_$6695", + "typeIdentifier": "t_contract$_L1BridgeEscrow_$6697", "typeString": "contract L1BridgeEscrow" } }, @@ -12892,7 +12946,7 @@ "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" }, "typeName": { @@ -12919,7 +12973,7 @@ "start": "1007" } }, - "referencedDeclaration": "7202", + "referencedDeclaration": "7204", "src": { "column": "8", "end": "1023", @@ -12929,7 +12983,7 @@ "start": "1007" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } }, @@ -12997,7 +13051,7 @@ } }, "scope": "452", - "signature": "d6257495", + "signature": "f02c9b88", "src": { "column": "4", "end": "1306", @@ -13233,7 +13287,7 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" }, "typeName": { @@ -13260,7 +13314,7 @@ "start": "1878" } }, - "referencedDeclaration": "7202", + "referencedDeclaration": "7204", "src": { "column": "4", "end": "1894", @@ -13270,7 +13324,7 @@ "start": "1878" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } }, @@ -14446,7 +14500,7 @@ "id": "584", "name": "_asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7870", + "referencedDeclaration": "7873", "src": { "column": "40", "end": "3478", @@ -14456,7 +14510,7 @@ "start": "3473" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -14472,7 +14526,7 @@ }, "memberName": "balanceOf", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7831", + "referencedDeclaration": "7834", "src": { "column": "40", "end": "3488", @@ -14681,7 +14735,7 @@ "id": "592", "name": "_asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7870", + "referencedDeclaration": "7873", "src": { "column": "8", "end": "3537", @@ -14691,7 +14745,7 @@ "start": "3532" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -14707,7 +14761,7 @@ }, "memberName": "safeApprove", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "591", + "referencedDeclaration": "4753", "src": { "column": "8", "end": "3549", @@ -14717,8 +14771,8 @@ "start": "3532" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", - "typeString": "contract ERC20" + "typeIdentifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_uint256$", + "typeString": "function(contract ERC20,address,uint256)" } } }, @@ -15048,7 +15102,7 @@ "id": "597", "name": "chainManager", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7584", + "referencedDeclaration": "7586", "src": { "column": "8", "end": "3596", @@ -15058,7 +15112,7 @@ "start": "3585" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } @@ -15074,7 +15128,7 @@ }, "memberName": "depositFor", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7291", + "referencedDeclaration": "596", "src": { "column": "8", "end": "3607", @@ -15084,8 +15138,8 @@ "start": "3585" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$_t_bytes$", - "typeString": "function(address,address,bytes)" + "typeIdentifier": "t_contract$_IRootChainManager_$7204", + "typeString": "contract IRootChainManager" } } }, @@ -15260,7 +15314,7 @@ "id": "617", "name": "TransferToL2", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7597", + "referencedDeclaration": "7599", "src": { "column": "13", "end": "3828", @@ -15270,7 +15324,7 @@ "start": "3817" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_TransferToL2_\u00267597", + "typeIdentifier": "t_event\u0026_Global_TransferToL2_\u00267599", "typeString": "event Global.TransferToL2" } } @@ -20499,7 +20553,7 @@ } }, "scope": "677", - "signature": "b440c739", + "signature": "63e1cbea", "src": { "column": "4", "end": "6838", @@ -21448,7 +21502,7 @@ } }, "scope": "909", - "signature": "944ae7a2", + "signature": "6d5433e6", "src": { "column": "4", "end": "7662", @@ -21793,7 +21847,7 @@ } }, "scope": "909", - "signature": "a2611414", + "signature": "7ae2b5c7", "src": { "column": "4", "end": "7837", @@ -22246,7 +22300,7 @@ } }, "scope": "909", - "signature": "517eaec2", + "signature": "2b7423ab", "src": { "column": "4", "end": "8103", @@ -22743,7 +22797,7 @@ } }, "scope": "909", - "signature": "1340d3c6", + "signature": "9cb35327", "src": { "column": "4", "end": "8496", @@ -29401,7 +29455,7 @@ } }, "scope": "909", - "signature": "7a718488", + "signature": "aa9a0912", "src": { "column": "4", "end": "12737", @@ -30338,7 +30392,7 @@ } }, "scope": "909", - "signature": "95e997e0", + "signature": "5946641e", "src": { "column": "4", "end": "13206", @@ -35410,7 +35464,7 @@ } }, "scope": "909", - "signature": "ef9a63ed", + "signature": "6e548084", "src": { "column": "4", "end": "15966", @@ -36135,7 +36189,7 @@ } }, "scope": "1584", - "signature": "86282e07", + "signature": "91d14854", "src": { "column": "4", "end": "17480", @@ -36431,7 +36485,7 @@ } }, "scope": "1584", - "signature": "44f0a842", + "signature": "2f2ff15d", "src": { "column": "4", "end": "18052", @@ -36579,7 +36633,7 @@ } }, "scope": "1584", - "signature": "b3252796", + "signature": "d547741f", "src": { "column": "4", "end": "18346", @@ -36727,7 +36781,7 @@ } }, "scope": "1584", - "signature": "e8365576", + "signature": "36568abe", "src": { "column": "4", "end": "18899", @@ -37783,7 +37837,7 @@ } }, "scope": "1674", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "21639", @@ -38131,7 +38185,7 @@ } }, "scope": "1674", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "22554", @@ -38556,7 +38610,7 @@ } }, "scope": "1674", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "22999", @@ -38981,7 +39035,7 @@ } }, "scope": "1674", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "23615", @@ -40028,7 +40082,7 @@ } }, "scope": "1674", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "24362", @@ -40376,7 +40430,7 @@ } }, "scope": "1674", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "24736", @@ -41122,7 +41176,7 @@ } }, "scope": "1674", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "25306", @@ -41441,7 +41495,7 @@ } }, "scope": "1674", - "signature": "15a412bd", + "signature": "946b5793", "src": { "column": "4", "end": "26268", @@ -49152,7 +49206,7 @@ } }, "scope": "2130", - "signature": "b440c739", + "signature": "63e1cbea", "src": { "column": "4", "end": "35373", @@ -51006,6 +51060,7 @@ "parentIndex": "2546", "start": "40214" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "40229", @@ -51129,7 +51184,7 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" }, "typeName": { @@ -51159,6 +51214,30 @@ "parentIndex": "2553", "start": "40286" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "2556", + "name": "RoleData", + "nameLocation": { + "column": "23", + "end": "40304", + "length": "8", + "line": "1098", + "parentIndex": "2553", + "start": "40297" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "2544", + "src": { + "column": "23", + "end": "40304", + "length": "8", + "line": "1098", + "parentIndex": "2553", + "start": "40297" + } + }, + "referencedDeclaration": "2544", "src": { "column": "4", "end": "40305", @@ -51168,13 +51247,14 @@ "start": "40278" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" }, "valueType": { "id": "2555", "name": "RoleData", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "2544", "src": { "column": "23", "end": "40304", @@ -51184,8 +51264,8 @@ "start": "40297" }, "typeDescription": { - "typeIdentifier": "t_RoleData", - "typeString": "RoleData" + "typeIdentifier": "t_struct$_AccessControlUpgradeable_RoleData_$2544", + "typeString": "struct AccessControlUpgradeable.RoleData" } }, "valueTypeLocation": { @@ -51203,12 +51283,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2557", + "id": "2558", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30783030", - "id": "2559", + "id": "2560", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -51217,7 +51297,7 @@ "end": "40376", "length": "4", "line": "1100", - "parentIndex": "2557", + "parentIndex": "2558", "start": "40373" }, "typeDescription": { @@ -51247,7 +51327,7 @@ "typeString": "int_const 0x00" }, "typeName": { - "id": "2558", + "id": "2559", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -51255,7 +51335,7 @@ "end": "40334", "length": "7", "line": "1100", - "parentIndex": "2557", + "parentIndex": "2558", "start": "40328" }, "typeDescription": { @@ -51270,7 +51350,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "2565", + "id": "2566", "implemented": true, "nodeType": "BLOCK", "src": { @@ -51278,7 +51358,7 @@ "end": "40839", "length": "44", "line": "1112", - "parentIndex": "2561", + "parentIndex": "2562", "start": "40796" }, "statements": [ @@ -51295,7 +51375,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2568", + "id": "2569", "name": "role", "nodeType": "IDENTIFIER", "src": { @@ -51303,7 +51383,7 @@ "end": "40820", "length": "4", "line": "1113", - "parentIndex": "2566", + "parentIndex": "2567", "start": "40817" }, "typeDescription": { @@ -51316,7 +51396,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2567", + "id": "2568", "name": "_checkRole", "nodeType": "IDENTIFIER", "src": { @@ -51324,7 +51404,7 @@ "end": "40815", "length": "10", "line": "1113", - "parentIndex": "2566", + "parentIndex": "2567", "start": "40806" }, "typeDescription": { @@ -51333,7 +51413,7 @@ } } }, - "id": "2566", + "id": "2567", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -51341,7 +51421,7 @@ "end": "40821", "length": "16", "line": "1113", - "parentIndex": "2565", + "parentIndex": "2566", "start": "40806" }, "typeDescription": { @@ -51353,7 +51433,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2569", + "id": "2570", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -51361,7 +51441,7 @@ "end": "40832", "length": "1", "line": "1114", - "parentIndex": "2565", + "parentIndex": "2566", "start": "40832" }, "typeDescription": { @@ -51372,32 +51452,32 @@ } ] }, - "id": "2561", + "id": "2562", "name": "onlyRole", "nameLocation": { "column": "13", "end": "40780", "length": "8", "line": "1112", - "parentIndex": "2561", + "parentIndex": "2562", "start": "40773" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "2562", + "id": "2563", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2563", + "id": "2564", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2563", + "scope": "2564", "src": { "column": "22", "end": "40793", "length": "12", "line": "1112", - "parentIndex": "2562", + "parentIndex": "2563", "start": "40782" }, "stateMutability": "MUTABLE", @@ -51407,7 +51487,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2564", + "id": "2565", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -51415,7 +51495,7 @@ "end": "40788", "length": "7", "line": "1112", - "parentIndex": "2563", + "parentIndex": "2564", "start": "40782" }, "typeDescription": { @@ -51450,7 +51530,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2579", + "id": "2580", "implemented": true, "nodeType": "BLOCK", "src": { @@ -51458,7 +51538,7 @@ "end": "41119", "length": "122", "line": "1120", - "parentIndex": "2571", + "parentIndex": "2572", "start": "40998" }, "statements": [ @@ -51468,24 +51548,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2581", + "id": "2582", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2582", + "id": "2583", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2583", + "id": "2584", "name": "interfaceId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2583", + "referencedDeclaration": "2584", "src": { "column": "15", "end": "41025", "length": "11", "line": "1121", - "parentIndex": "2582", + "parentIndex": "2583", "start": "41015" }, "typeDescription": { @@ -51502,7 +51582,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MetaType", "value": { - "id": "2585", + "id": "2586", "name": "type", "nodeType": "IDENTIFIER", "src": { @@ -51510,7 +51590,7 @@ "end": "41060", "length": "31", "line": "1121", - "parentIndex": "2584", + "parentIndex": "2585", "start": "41030" }, "typeDescription": { @@ -51518,13 +51598,13 @@ } } }, - "id": "2584", + "id": "2585", "memberLocation": { "column": "62", "end": "41072", "length": "11", "line": "1121", - "parentIndex": "2584", + "parentIndex": "2585", "start": "41062" }, "memberName": "interfaceId", @@ -51534,7 +51614,7 @@ "end": "41072", "length": "43", "line": "1121", - "parentIndex": "2582", + "parentIndex": "2583", "start": "41030" }, "typeDescription": { @@ -51547,7 +51627,7 @@ "end": "41072", "length": "58", "line": "1121", - "parentIndex": "2581", + "parentIndex": "2582", "start": "41015" }, "typeDescription": { @@ -51571,16 +51651,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2589", + "id": "2590", "name": "interfaceId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2589", + "referencedDeclaration": "2590", "src": { "column": "101", "end": "41111", "length": "11", "line": "1121", - "parentIndex": "2586", + "parentIndex": "2587", "start": "41101" }, "typeDescription": { @@ -51596,7 +51676,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2588", + "id": "2589", "name": "super", "nodeType": "IDENTIFIER", "src": { @@ -51604,7 +51684,7 @@ "end": "41081", "length": "5", "line": "1121", - "parentIndex": "2587", + "parentIndex": "2588", "start": "41077" }, "typeDescription": { @@ -51613,13 +51693,13 @@ } } }, - "id": "2587", + "id": "2588", "memberLocation": { "column": "83", "end": "41099", "length": "17", "line": "1121", - "parentIndex": "2587", + "parentIndex": "2588", "start": "41083" }, "memberName": "supportsInterface", @@ -51629,7 +51709,7 @@ "end": "41099", "length": "23", "line": "1121", - "parentIndex": "2586", + "parentIndex": "2587", "start": "41077" }, "typeDescription": { @@ -51638,7 +51718,7 @@ } } }, - "id": "2586", + "id": "2587", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -51646,7 +51726,7 @@ "end": "41112", "length": "36", "line": "1121", - "parentIndex": "2581", + "parentIndex": "2582", "start": "41077" }, "typeDescription": { @@ -51660,7 +51740,7 @@ "end": "41112", "length": "98", "line": "1121", - "parentIndex": "2580", + "parentIndex": "2581", "start": "41015" }, "typeDescription": { @@ -51669,15 +51749,15 @@ } } }, - "functionReturnParameters": "2571", - "id": "2580", + "functionReturnParameters": "2572", + "id": "2581", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "41113", "length": "106", "line": "1121", - "parentIndex": "2571", + "parentIndex": "2572", "start": "41008" }, "typeDescription": { @@ -51688,7 +51768,7 @@ } ] }, - "id": "2571", + "id": "2572", "implemented": true, "kind": "KIND_FUNCTION", "name": "supportsInterface", @@ -51697,20 +51777,20 @@ "end": "40932", "length": "17", "line": "1120", - "parentIndex": "2571", + "parentIndex": "2572", "start": "40916" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2575", + "id": "2576", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "71", "end": "40981", "length": "8", "line": "1120", - "parentIndex": "2571", + "parentIndex": "2572", "start": "40974" }, "typeDescription": { @@ -51720,20 +51800,20 @@ } ], "parameters": { - "id": "2572", + "id": "2573", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2573", + "id": "2574", "name": "interfaceId", "nodeType": "VARIABLE_DECLARATION", - "scope": "2573", + "scope": "2574", "src": { "column": "31", "end": "40951", "length": "18", "line": "1120", - "parentIndex": "2572", + "parentIndex": "2573", "start": "40934" }, "stateMutability": "MUTABLE", @@ -51743,7 +51823,7 @@ "typeString": "bytes4" }, "typeName": { - "id": "2574", + "id": "2575", "name": "bytes4", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -51751,7 +51831,7 @@ "end": "40939", "length": "6", "line": "1120", - "parentIndex": "2573", + "parentIndex": "2574", "start": "40934" }, "typeDescription": { @@ -51767,24 +51847,24 @@ "end": "40951", "length": "18", "line": "1120", - "parentIndex": "2571", + "parentIndex": "2572", "start": "40934" } }, "returnParameters": { - "id": "2576", + "id": "2577", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2577", + "id": "2578", "nodeType": "VARIABLE_DECLARATION", - "scope": "2577", + "scope": "2578", "src": { "column": "89", "end": "40995", "length": "4", "line": "1120", - "parentIndex": "2576", + "parentIndex": "2577", "start": "40992" }, "stateMutability": "MUTABLE", @@ -51794,7 +51874,7 @@ "typeString": "bool" }, "typeName": { - "id": "2578", + "id": "2579", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -51802,7 +51882,7 @@ "end": "40995", "length": "4", "line": "1120", - "parentIndex": "2577", + "parentIndex": "2578", "start": "40992" }, "typeDescription": { @@ -51818,7 +51898,7 @@ "end": "40995", "length": "4", "line": "1120", - "parentIndex": "2571", + "parentIndex": "2572", "start": "40992" } }, @@ -51845,7 +51925,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2601", + "id": "2602", "implemented": true, "nodeType": "BLOCK", "src": { @@ -51853,7 +51933,7 @@ "end": "41351", "length": "53", "line": "1127", - "parentIndex": "2591", + "parentIndex": "2592", "start": "41299" }, "statements": [ @@ -51866,16 +51946,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2608", + "id": "2609", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2608", + "referencedDeclaration": "2609", "src": { "column": "36", "end": "41343", "length": "7", "line": "1128", - "parentIndex": "2603", + "parentIndex": "2604", "start": "41337" }, "typeDescription": { @@ -51884,7 +51964,7 @@ } } }, - "id": "2603", + "id": "2604", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -51894,16 +51974,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2607", + "id": "2608", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2607", + "referencedDeclaration": "2608", "src": { "column": "22", "end": "41326", "length": "4", "line": "1128", - "parentIndex": "2605", + "parentIndex": "2606", "start": "41323" }, "typeDescription": { @@ -51912,11 +51992,11 @@ } } }, - "id": "2605", + "id": "2606", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2606", + "id": "2607", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "2552", @@ -51925,11 +52005,11 @@ "end": "41321", "length": "6", "line": "1128", - "parentIndex": "2605", + "parentIndex": "2606", "start": "41316" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -51940,16 +52020,16 @@ "end": "41327", "length": "12", "line": "1128", - "parentIndex": "2604", + "parentIndex": "2605", "start": "41316" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -51959,13 +52039,13 @@ ] } }, - "id": "2604", + "id": "2605", "memberLocation": { "column": "28", "end": "41335", "length": "7", "line": "1128", - "parentIndex": "2604", + "parentIndex": "2605", "start": "41329" }, "memberName": "members", @@ -51975,11 +52055,11 @@ "end": "41335", "length": "20", "line": "1128", - "parentIndex": "2603", + "parentIndex": "2604", "start": "41316" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } @@ -51990,16 +52070,16 @@ "end": "41344", "length": "29", "line": "1128", - "parentIndex": "2602", + "parentIndex": "2603", "start": "41316" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -52009,26 +52089,26 @@ ] } }, - "functionReturnParameters": "2591", - "id": "2602", + "functionReturnParameters": "2592", + "id": "2603", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "41345", "length": "37", "line": "1128", - "parentIndex": "2591", + "parentIndex": "2592", "start": "41309" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } } ] }, - "id": "2591", + "id": "2592", "implemented": true, "kind": "KIND_FUNCTION", "name": "hasRole", @@ -52037,20 +52117,20 @@ "end": "41222", "length": "7", "line": "1127", - "parentIndex": "2591", + "parentIndex": "2592", "start": "41216" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2597", + "id": "2598", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "72", "end": "41282", "length": "8", "line": "1127", - "parentIndex": "2591", + "parentIndex": "2592", "start": "41275" }, "typeDescription": { @@ -52060,20 +52140,20 @@ } ], "parameters": { - "id": "2592", + "id": "2593", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2593", + "id": "2594", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2593", + "scope": "2594", "src": { "column": "21", "end": "41235", "length": "12", "line": "1127", - "parentIndex": "2592", + "parentIndex": "2593", "start": "41224" }, "stateMutability": "MUTABLE", @@ -52083,7 +52163,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2594", + "id": "2595", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -52091,7 +52171,7 @@ "end": "41230", "length": "7", "line": "1127", - "parentIndex": "2593", + "parentIndex": "2594", "start": "41224" }, "typeDescription": { @@ -52102,16 +52182,16 @@ "visibility": "INTERNAL" }, { - "id": "2595", + "id": "2596", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2595", + "scope": "2596", "src": { "column": "35", "end": "41252", "length": "15", "line": "1127", - "parentIndex": "2592", + "parentIndex": "2593", "start": "41238" }, "stateMutability": "NONPAYABLE", @@ -52121,7 +52201,7 @@ "typeString": "address" }, "typeName": { - "id": "2596", + "id": "2597", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -52129,7 +52209,7 @@ "end": "41244", "length": "7", "line": "1127", - "parentIndex": "2595", + "parentIndex": "2596", "start": "41238" }, "stateMutability": "NONPAYABLE", @@ -52146,24 +52226,24 @@ "end": "41252", "length": "29", "line": "1127", - "parentIndex": "2591", + "parentIndex": "2592", "start": "41224" } }, "returnParameters": { - "id": "2598", + "id": "2599", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2599", + "id": "2600", "nodeType": "VARIABLE_DECLARATION", - "scope": "2599", + "scope": "2600", "src": { "column": "90", "end": "41296", "length": "4", "line": "1127", - "parentIndex": "2598", + "parentIndex": "2599", "start": "41293" }, "stateMutability": "MUTABLE", @@ -52173,7 +52253,7 @@ "typeString": "bool" }, "typeName": { - "id": "2600", + "id": "2601", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -52181,7 +52261,7 @@ "end": "41296", "length": "4", "line": "1127", - "parentIndex": "2599", + "parentIndex": "2600", "start": "41293" }, "typeDescription": { @@ -52197,12 +52277,12 @@ "end": "41296", "length": "4", "line": "1127", - "parentIndex": "2591", + "parentIndex": "2592", "start": "41293" } }, "scope": "2520", - "signature": "86282e07", + "signature": "91d14854", "src": { "column": "4", "end": "41351", @@ -52224,7 +52304,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2615", + "id": "2616", "implemented": true, "nodeType": "BLOCK", "src": { @@ -52232,7 +52312,7 @@ "end": "41748", "length": "47", "line": "1139", - "parentIndex": "2610", + "parentIndex": "2611", "start": "41702" }, "statements": [ @@ -52253,16 +52333,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2618", + "id": "2619", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2618", + "referencedDeclaration": "2619", "src": { "column": "19", "end": "41726", "length": "4", "line": "1140", - "parentIndex": "2616", + "parentIndex": "2617", "start": "41723" }, "typeDescription": { @@ -52277,7 +52357,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2620", + "id": "2621", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -52285,7 +52365,7 @@ "end": "41738", "length": "10", "line": "1140", - "parentIndex": "2619", + "parentIndex": "2620", "start": "41729" }, "typeDescription": { @@ -52294,7 +52374,7 @@ } } }, - "id": "2619", + "id": "2620", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -52302,7 +52382,7 @@ "end": "41740", "length": "12", "line": "1140", - "parentIndex": "2616", + "parentIndex": "2617", "start": "41729" }, "typeDescription": { @@ -52315,7 +52395,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2617", + "id": "2618", "name": "_checkRole", "nodeType": "IDENTIFIER", "src": { @@ -52323,7 +52403,7 @@ "end": "41721", "length": "10", "line": "1140", - "parentIndex": "2616", + "parentIndex": "2617", "start": "41712" }, "typeDescription": { @@ -52332,7 +52412,7 @@ } } }, - "id": "2616", + "id": "2617", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -52340,7 +52420,7 @@ "end": "41741", "length": "30", "line": "1140", - "parentIndex": "2615", + "parentIndex": "2616", "start": "41712" }, "typeDescription": { @@ -52351,7 +52431,7 @@ } ] }, - "id": "2610", + "id": "2611", "implemented": true, "kind": "KIND_FUNCTION", "name": "_checkRole", @@ -52360,25 +52440,25 @@ "end": "41664", "length": "10", "line": "1139", - "parentIndex": "2610", + "parentIndex": "2611", "start": "41655" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2611", + "id": "2612", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2612", + "id": "2613", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2612", + "scope": "2613", "src": { "column": "24", "end": "41677", "length": "12", "line": "1139", - "parentIndex": "2611", + "parentIndex": "2612", "start": "41666" }, "stateMutability": "MUTABLE", @@ -52388,7 +52468,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2613", + "id": "2614", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -52396,7 +52476,7 @@ "end": "41672", "length": "7", "line": "1139", - "parentIndex": "2612", + "parentIndex": "2613", "start": "41666" }, "typeDescription": { @@ -52412,19 +52492,19 @@ "end": "41677", "length": "12", "line": "1139", - "parentIndex": "2610", + "parentIndex": "2611", "start": "41666" } }, "returnParameters": { - "id": "2614", + "id": "2615", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "41748", "length": "103", "line": "1139", - "parentIndex": "2610", + "parentIndex": "2611", "start": "41646" } }, @@ -52451,7 +52531,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2629", + "id": "2630", "implemented": true, "nodeType": "BLOCK", "src": { @@ -52459,7 +52539,7 @@ "end": "42543", "length": "441", "line": "1150", - "parentIndex": "2622", + "parentIndex": "2623", "start": "42103" }, "statements": [ @@ -52467,7 +52547,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2636", + "id": "2637", "implemented": true, "nodeType": "BLOCK", "src": { @@ -52475,7 +52555,7 @@ "end": "42537", "length": "396", "line": "1151", - "parentIndex": "2622", + "parentIndex": "2623", "start": "42142" }, "statements": [ @@ -52525,7 +52605,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "416363657373436f6e74726f6c3a206163636f756e74", - "id": "2645", + "id": "2646", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -52534,7 +52614,7 @@ "end": "42274", "length": "25", "line": "1155", - "parentIndex": "2642", + "parentIndex": "2643", "start": "42250" }, "typeDescription": { @@ -52571,16 +52651,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2652", + "id": "2653", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2652", + "referencedDeclaration": "2653", "src": { "column": "63", "end": "42346", "length": "7", "line": "1156", - "parentIndex": "2649", + "parentIndex": "2650", "start": "42340" }, "typeDescription": { @@ -52599,7 +52679,7 @@ "typeString": "uint160" } ], - "id": "2650", + "id": "2651", "name": "uint160", "nodeType": "IDENTIFIER", "src": { @@ -52607,7 +52687,7 @@ "end": "42338", "length": "7", "line": "1156", - "parentIndex": "2649", + "parentIndex": "2650", "start": "42332" }, "typeDescription": { @@ -52615,7 +52695,7 @@ "typeString": "function(uint160)" }, "typeName": { - "id": "2651", + "id": "2652", "name": "uint160", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -52623,7 +52703,7 @@ "end": "42338", "length": "7", "line": "1156", - "parentIndex": "2650", + "parentIndex": "2651", "start": "42332" }, "typeDescription": { @@ -52633,7 +52713,7 @@ } } }, - "id": "2649", + "id": "2650", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -52641,7 +52721,7 @@ "end": "42347", "length": "16", "line": "1156", - "parentIndex": "2646", + "parentIndex": "2647", "start": "42332" }, "typeDescription": { @@ -52660,7 +52740,7 @@ } ], "hexValue": "3230", - "id": "2653", + "id": "2654", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -52669,7 +52749,7 @@ "end": "42351", "length": "2", "line": "1156", - "parentIndex": "2646", + "parentIndex": "2647", "start": "42350" }, "typeDescription": { @@ -52686,7 +52766,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2648", + "id": "2649", "name": "StringsUpgradeable", "nodeType": "IDENTIFIER", "referencedDeclaration": "2110", @@ -52695,7 +52775,7 @@ "end": "42318", "length": "18", "line": "1156", - "parentIndex": "2647", + "parentIndex": "2648", "start": "42301" }, "typeDescription": { @@ -52704,13 +52784,13 @@ } } }, - "id": "2647", + "id": "2648", "memberLocation": { "column": "43", "end": "42330", "length": "11", "line": "1156", - "parentIndex": "2647", + "parentIndex": "2648", "start": "42320" }, "memberName": "toHexString", @@ -52720,7 +52800,7 @@ "end": "42330", "length": "30", "line": "1156", - "parentIndex": "2646", + "parentIndex": "2647", "start": "42301" }, "typeDescription": { @@ -52729,7 +52809,7 @@ } } }, - "id": "2646", + "id": "2647", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -52737,7 +52817,7 @@ "end": "42352", "length": "52", "line": "1156", - "parentIndex": "2642", + "parentIndex": "2643", "start": "42301" }, "typeDescription": { @@ -52760,7 +52840,7 @@ } ], "hexValue": "6973206d697373696e6720726f6c65", - "id": "2654", + "id": "2655", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -52769,7 +52849,7 @@ "end": "42397", "length": "19", "line": "1157", - "parentIndex": "2642", + "parentIndex": "2643", "start": "42379" }, "typeDescription": { @@ -52806,16 +52886,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2661", + "id": "2662", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2661", + "referencedDeclaration": "2662", "src": { "column": "63", "end": "42466", "length": "4", "line": "1158", - "parentIndex": "2658", + "parentIndex": "2659", "start": "42463" }, "typeDescription": { @@ -52834,7 +52914,7 @@ "typeString": "uint256" } ], - "id": "2659", + "id": "2660", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -52842,7 +52922,7 @@ "end": "42461", "length": "7", "line": "1158", - "parentIndex": "2658", + "parentIndex": "2659", "start": "42455" }, "typeDescription": { @@ -52850,7 +52930,7 @@ "typeString": "function(uint256)" }, "typeName": { - "id": "2660", + "id": "2661", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -52858,7 +52938,7 @@ "end": "42461", "length": "7", "line": "1158", - "parentIndex": "2659", + "parentIndex": "2660", "start": "42455" }, "typeDescription": { @@ -52868,7 +52948,7 @@ } } }, - "id": "2658", + "id": "2659", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -52876,7 +52956,7 @@ "end": "42467", "length": "13", "line": "1158", - "parentIndex": "2655", + "parentIndex": "2656", "start": "42455" }, "typeDescription": { @@ -52895,7 +52975,7 @@ } ], "hexValue": "3332", - "id": "2662", + "id": "2663", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -52904,7 +52984,7 @@ "end": "42471", "length": "2", "line": "1158", - "parentIndex": "2655", + "parentIndex": "2656", "start": "42470" }, "typeDescription": { @@ -52921,7 +53001,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2657", + "id": "2658", "name": "StringsUpgradeable", "nodeType": "IDENTIFIER", "referencedDeclaration": "2110", @@ -52930,7 +53010,7 @@ "end": "42441", "length": "18", "line": "1158", - "parentIndex": "2656", + "parentIndex": "2657", "start": "42424" }, "typeDescription": { @@ -52939,13 +53019,13 @@ } } }, - "id": "2656", + "id": "2657", "memberLocation": { "column": "43", "end": "42453", "length": "11", "line": "1158", - "parentIndex": "2656", + "parentIndex": "2657", "start": "42443" }, "memberName": "toHexString", @@ -52955,7 +53035,7 @@ "end": "42453", "length": "30", "line": "1158", - "parentIndex": "2655", + "parentIndex": "2656", "start": "42424" }, "typeDescription": { @@ -52964,7 +53044,7 @@ } } }, - "id": "2655", + "id": "2656", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -52972,7 +53052,7 @@ "end": "42472", "length": "49", "line": "1158", - "parentIndex": "2642", + "parentIndex": "2643", "start": "42424" }, "typeDescription": { @@ -52988,7 +53068,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2644", + "id": "2645", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -52996,7 +53076,7 @@ "end": "42210", "length": "3", "line": "1154", - "parentIndex": "2643", + "parentIndex": "2644", "start": "42208" }, "typeDescription": { @@ -53005,13 +53085,13 @@ } } }, - "id": "2643", + "id": "2644", "memberLocation": { "column": "24", "end": "42223", "length": "12", "line": "1154", - "parentIndex": "2643", + "parentIndex": "2644", "start": "42212" }, "memberName": "encodePacked", @@ -53021,7 +53101,7 @@ "end": "42223", "length": "16", "line": "1154", - "parentIndex": "2642", + "parentIndex": "2643", "start": "42208" }, "typeDescription": { @@ -53030,7 +53110,7 @@ } } }, - "id": "2642", + "id": "2643", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -53038,7 +53118,7 @@ "end": "42494", "length": "287", "line": "1154", - "parentIndex": "2639", + "parentIndex": "2640", "start": "42208" }, "typeDescription": { @@ -53057,7 +53137,7 @@ "typeString": "string" } ], - "id": "2640", + "id": "2641", "name": "string", "nodeType": "IDENTIFIER", "src": { @@ -53065,7 +53145,7 @@ "end": "42185", "length": "6", "line": "1153", - "parentIndex": "2639", + "parentIndex": "2640", "start": "42180" }, "typeDescription": { @@ -53073,7 +53153,7 @@ "typeString": "function(string)" }, "typeName": { - "id": "2641", + "id": "2642", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -53081,7 +53161,7 @@ "end": "42185", "length": "6", "line": "1153", - "parentIndex": "2640", + "parentIndex": "2641", "start": "42180" }, "typeDescription": { @@ -53091,7 +53171,7 @@ } } }, - "id": "2639", + "id": "2640", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -53099,7 +53179,7 @@ "end": "42512", "length": "333", "line": "1153", - "parentIndex": "2637", + "parentIndex": "2638", "start": "42180" }, "typeDescription": { @@ -53112,7 +53192,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2638", + "id": "2639", "name": "revert", "nodeType": "IDENTIFIER", "src": { @@ -53120,7 +53200,7 @@ "end": "42161", "length": "6", "line": "1152", - "parentIndex": "2637", + "parentIndex": "2638", "start": "42156" }, "typeDescription": { @@ -53129,7 +53209,7 @@ } } }, - "id": "2637", + "id": "2638", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -53137,7 +53217,7 @@ "end": "42526", "length": "371", "line": "1152", - "parentIndex": "2636", + "parentIndex": "2637", "start": "42156" }, "typeDescription": { @@ -53168,16 +53248,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2634", + "id": "2635", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2634", + "referencedDeclaration": "2635", "src": { "column": "21", "end": "42129", "length": "4", "line": "1151", - "parentIndex": "2632", + "parentIndex": "2633", "start": "42126" }, "typeDescription": { @@ -53195,16 +53275,16 @@ "typeString": "bytes32" } ], - "id": "2635", + "id": "2636", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", + "referencedDeclaration": "2636", "src": { "column": "27", "end": "42138", "length": "7", "line": "1151", - "parentIndex": "2632", + "parentIndex": "2633", "start": "42132" }, "typeDescription": { @@ -53217,7 +53297,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2633", + "id": "2634", "name": "hasRole", "nodeType": "IDENTIFIER", "src": { @@ -53225,7 +53305,7 @@ "end": "42124", "length": "7", "line": "1151", - "parentIndex": "2632", + "parentIndex": "2633", "start": "42118" }, "typeDescription": { @@ -53234,7 +53314,7 @@ } } }, - "id": "2632", + "id": "2633", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -53242,7 +53322,7 @@ "end": "42139", "length": "22", "line": "1151", - "parentIndex": "2631", + "parentIndex": "2632", "start": "42118" }, "typeDescription": { @@ -53251,7 +53331,7 @@ } } }, - "id": "2631", + "id": "2632", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -53260,7 +53340,7 @@ "end": "42139", "length": "23", "line": "1151", - "parentIndex": "2622", + "parentIndex": "2623", "start": "42117" }, "typeDescription": { @@ -53269,20 +53349,20 @@ } } }, - "id": "2630", + "id": "2631", "nodeType": "IF_STATEMENT", "src": { "end": "42537", "length": "425", "line": "1151", - "parentIndex": "2629", + "parentIndex": "2630", "start": "42113" } } } ] }, - "id": "2622", + "id": "2623", "implemented": true, "kind": "KIND_FUNCTION", "name": "_checkRole", @@ -53291,25 +53371,25 @@ "end": "42048", "length": "10", "line": "1150", - "parentIndex": "2622", + "parentIndex": "2623", "start": "42039" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2623", + "id": "2624", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2624", + "id": "2625", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2624", + "scope": "2625", "src": { "column": "24", "end": "42061", "length": "12", "line": "1150", - "parentIndex": "2623", + "parentIndex": "2624", "start": "42050" }, "stateMutability": "MUTABLE", @@ -53319,7 +53399,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2625", + "id": "2626", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -53327,7 +53407,7 @@ "end": "42056", "length": "7", "line": "1150", - "parentIndex": "2624", + "parentIndex": "2625", "start": "42050" }, "typeDescription": { @@ -53338,16 +53418,16 @@ "visibility": "INTERNAL" }, { - "id": "2626", + "id": "2627", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2626", + "scope": "2627", "src": { "column": "38", "end": "42078", "length": "15", "line": "1150", - "parentIndex": "2623", + "parentIndex": "2624", "start": "42064" }, "stateMutability": "NONPAYABLE", @@ -53357,7 +53437,7 @@ "typeString": "address" }, "typeName": { - "id": "2627", + "id": "2628", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -53365,7 +53445,7 @@ "end": "42070", "length": "7", "line": "1150", - "parentIndex": "2626", + "parentIndex": "2627", "start": "42064" }, "stateMutability": "NONPAYABLE", @@ -53382,24 +53462,24 @@ "end": "42078", "length": "29", "line": "1150", - "parentIndex": "2622", + "parentIndex": "2623", "start": "42050" } }, "returnParameters": { - "id": "2628", + "id": "2629", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "42543", "length": "514", "line": "1150", - "parentIndex": "2622", + "parentIndex": "2623", "start": "42030" } }, "scope": "2520", - "signature": "ad90b429", + "signature": "5b7b2c38", "src": { "column": "4", "end": "42543", @@ -53421,7 +53501,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2672", + "id": "2673", "implemented": true, "nodeType": "BLOCK", "src": { @@ -53429,7 +53509,7 @@ "end": "42853", "length": "46", "line": "1171", - "parentIndex": "2664", + "parentIndex": "2665", "start": "42808" }, "statements": [ @@ -53445,16 +53525,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2677", + "id": "2678", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2677", + "referencedDeclaration": "2678", "src": { "column": "22", "end": "42835", "length": "4", "line": "1172", - "parentIndex": "2675", + "parentIndex": "2676", "start": "42832" }, "typeDescription": { @@ -53463,11 +53543,11 @@ } } }, - "id": "2675", + "id": "2676", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2676", + "id": "2677", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "2552", @@ -53476,11 +53556,11 @@ "end": "42830", "length": "6", "line": "1172", - "parentIndex": "2675", + "parentIndex": "2676", "start": "42825" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -53491,16 +53571,16 @@ "end": "42836", "length": "12", "line": "1172", - "parentIndex": "2674", + "parentIndex": "2675", "start": "42825" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -53510,13 +53590,13 @@ ] } }, - "id": "2674", + "id": "2675", "memberLocation": { "column": "28", "end": "42846", "length": "9", "line": "1172", - "parentIndex": "2674", + "parentIndex": "2675", "start": "42838" }, "memberName": "adminRole", @@ -53526,35 +53606,35 @@ "end": "42846", "length": "22", "line": "1172", - "parentIndex": "2673", + "parentIndex": "2674", "start": "42825" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } }, - "functionReturnParameters": "2664", - "id": "2673", + "functionReturnParameters": "2665", + "id": "2674", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "42847", "length": "30", "line": "1172", - "parentIndex": "2664", + "parentIndex": "2665", "start": "42818" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } } ] }, - "id": "2664", + "id": "2665", "implemented": true, "kind": "KIND_FUNCTION", "name": "getRoleAdmin", @@ -53563,20 +53643,20 @@ "end": "42745", "length": "12", "line": "1171", - "parentIndex": "2664", + "parentIndex": "2665", "start": "42734" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2668", + "id": "2669", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "60", "end": "42788", "length": "8", "line": "1171", - "parentIndex": "2664", + "parentIndex": "2665", "start": "42781" }, "typeDescription": { @@ -53586,20 +53666,20 @@ } ], "parameters": { - "id": "2665", + "id": "2666", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2666", + "id": "2667", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2666", + "scope": "2667", "src": { "column": "26", "end": "42758", "length": "12", "line": "1171", - "parentIndex": "2665", + "parentIndex": "2666", "start": "42747" }, "stateMutability": "MUTABLE", @@ -53609,7 +53689,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2667", + "id": "2668", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -53617,7 +53697,7 @@ "end": "42753", "length": "7", "line": "1171", - "parentIndex": "2666", + "parentIndex": "2667", "start": "42747" }, "typeDescription": { @@ -53633,24 +53713,24 @@ "end": "42758", "length": "12", "line": "1171", - "parentIndex": "2664", + "parentIndex": "2665", "start": "42747" } }, "returnParameters": { - "id": "2669", + "id": "2670", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2670", + "id": "2671", "nodeType": "VARIABLE_DECLARATION", - "scope": "2670", + "scope": "2671", "src": { "column": "78", "end": "42805", "length": "7", "line": "1171", - "parentIndex": "2669", + "parentIndex": "2670", "start": "42799" }, "stateMutability": "MUTABLE", @@ -53660,7 +53740,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2671", + "id": "2672", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -53668,7 +53748,7 @@ "end": "42805", "length": "7", "line": "1171", - "parentIndex": "2670", + "parentIndex": "2671", "start": "42799" }, "typeDescription": { @@ -53684,7 +53764,7 @@ "end": "42805", "length": "7", "line": "1171", - "parentIndex": "2664", + "parentIndex": "2665", "start": "42799" } }, @@ -53711,7 +53791,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2692", + "id": "2693", "implemented": true, "nodeType": "BLOCK", "src": { @@ -53719,7 +53799,7 @@ "end": "43294", "length": "42", "line": "1187", - "parentIndex": "2679", + "parentIndex": "2680", "start": "43253" }, "statements": [ @@ -53740,16 +53820,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2695", + "id": "2696", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2695", + "referencedDeclaration": "2696", "src": { "column": "19", "end": "43277", "length": "4", "line": "1188", - "parentIndex": "2693", + "parentIndex": "2694", "start": "43274" }, "typeDescription": { @@ -53767,16 +53847,16 @@ "typeString": "bytes32" } ], - "id": "2696", + "id": "2697", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2696", + "referencedDeclaration": "2697", "src": { "column": "25", "end": "43286", "length": "7", "line": "1188", - "parentIndex": "2693", + "parentIndex": "2694", "start": "43280" }, "typeDescription": { @@ -53789,7 +53869,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2694", + "id": "2695", "name": "_grantRole", "nodeType": "IDENTIFIER", "src": { @@ -53797,7 +53877,7 @@ "end": "43272", "length": "10", "line": "1188", - "parentIndex": "2693", + "parentIndex": "2694", "start": "43263" }, "typeDescription": { @@ -53806,7 +53886,7 @@ } } }, - "id": "2693", + "id": "2694", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -53814,7 +53894,7 @@ "end": "43287", "length": "25", "line": "1188", - "parentIndex": "2692", + "parentIndex": "2693", "start": "43263" }, "typeDescription": { @@ -53825,7 +53905,7 @@ } ] }, - "id": "2679", + "id": "2680", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -53850,16 +53930,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2689", + "id": "2690", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2689", + "referencedDeclaration": "2690", "src": { "column": "100", "end": "43249", "length": "4", "line": "1187", - "parentIndex": "2687", + "parentIndex": "2688", "start": "43246" }, "typeDescription": { @@ -53872,7 +53952,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2688", + "id": "2689", "name": "getRoleAdmin", "nodeType": "IDENTIFIER", "src": { @@ -53880,7 +53960,7 @@ "end": "43244", "length": "12", "line": "1187", - "parentIndex": "2687", + "parentIndex": "2688", "start": "43233" }, "typeDescription": { @@ -53889,7 +53969,7 @@ } } }, - "id": "2687", + "id": "2688", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -53897,7 +53977,7 @@ "end": "43250", "length": "18", "line": "1187", - "parentIndex": "2685", + "parentIndex": "2686", "start": "43233" }, "typeDescription": { @@ -53907,17 +53987,17 @@ } } ], - "id": "2685", + "id": "2686", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2686", + "id": "2687", "name": "onlyRole", "src": { "column": "78", "end": "43231", "length": "8", "line": "1187", - "parentIndex": "2685", + "parentIndex": "2686", "start": "43224" } }, @@ -53928,7 +54008,7 @@ "end": "43251", "length": "28", "line": "1187", - "parentIndex": "2679", + "parentIndex": "2680", "start": "43224" } } @@ -53939,20 +54019,20 @@ "end": "43167", "length": "9", "line": "1187", - "parentIndex": "2679", + "parentIndex": "2680", "start": "43159" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2690", + "id": "2691", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "69", "end": "43222", "length": "8", "line": "1187", - "parentIndex": "2679", + "parentIndex": "2680", "start": "43215" }, "typeDescription": { @@ -53962,20 +54042,20 @@ } ], "parameters": { - "id": "2680", + "id": "2681", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2681", + "id": "2682", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2681", + "scope": "2682", "src": { "column": "23", "end": "43180", "length": "12", "line": "1187", - "parentIndex": "2680", + "parentIndex": "2681", "start": "43169" }, "stateMutability": "MUTABLE", @@ -53985,7 +54065,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2682", + "id": "2683", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -53993,7 +54073,7 @@ "end": "43175", "length": "7", "line": "1187", - "parentIndex": "2681", + "parentIndex": "2682", "start": "43169" }, "typeDescription": { @@ -54004,16 +54084,16 @@ "visibility": "INTERNAL" }, { - "id": "2683", + "id": "2684", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2683", + "scope": "2684", "src": { "column": "37", "end": "43197", "length": "15", "line": "1187", - "parentIndex": "2680", + "parentIndex": "2681", "start": "43183" }, "stateMutability": "NONPAYABLE", @@ -54023,7 +54103,7 @@ "typeString": "address" }, "typeName": { - "id": "2684", + "id": "2685", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -54031,7 +54111,7 @@ "end": "43189", "length": "7", "line": "1187", - "parentIndex": "2683", + "parentIndex": "2684", "start": "43183" }, "stateMutability": "NONPAYABLE", @@ -54048,24 +54128,24 @@ "end": "43197", "length": "29", "line": "1187", - "parentIndex": "2679", + "parentIndex": "2680", "start": "43169" } }, "returnParameters": { - "id": "2691", + "id": "2692", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "43294", "length": "145", "line": "1187", - "parentIndex": "2679", + "parentIndex": "2680", "start": "43150" } }, "scope": "2520", - "signature": "44f0a842", + "signature": "2f2ff15d", "src": { "column": "4", "end": "43294", @@ -54087,7 +54167,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2711", + "id": "2712", "implemented": true, "nodeType": "BLOCK", "src": { @@ -54095,7 +54175,7 @@ "end": "43721", "length": "43", "line": "1202", - "parentIndex": "2698", + "parentIndex": "2699", "start": "43679" }, "statements": [ @@ -54116,16 +54196,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2714", + "id": "2715", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2714", + "referencedDeclaration": "2715", "src": { "column": "20", "end": "43704", "length": "4", "line": "1203", - "parentIndex": "2712", + "parentIndex": "2713", "start": "43701" }, "typeDescription": { @@ -54143,16 +54223,16 @@ "typeString": "bytes32" } ], - "id": "2715", + "id": "2716", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2715", + "referencedDeclaration": "2716", "src": { "column": "26", "end": "43713", "length": "7", "line": "1203", - "parentIndex": "2712", + "parentIndex": "2713", "start": "43707" }, "typeDescription": { @@ -54165,7 +54245,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2713", + "id": "2714", "name": "_revokeRole", "nodeType": "IDENTIFIER", "src": { @@ -54173,7 +54253,7 @@ "end": "43699", "length": "11", "line": "1203", - "parentIndex": "2712", + "parentIndex": "2713", "start": "43689" }, "typeDescription": { @@ -54182,7 +54262,7 @@ } } }, - "id": "2712", + "id": "2713", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -54190,7 +54270,7 @@ "end": "43714", "length": "26", "line": "1203", - "parentIndex": "2711", + "parentIndex": "2712", "start": "43689" }, "typeDescription": { @@ -54201,7 +54281,7 @@ } ] }, - "id": "2698", + "id": "2699", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -54226,16 +54306,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2708", + "id": "2709", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2708", + "referencedDeclaration": "2709", "src": { "column": "101", "end": "43675", "length": "4", "line": "1202", - "parentIndex": "2706", + "parentIndex": "2707", "start": "43672" }, "typeDescription": { @@ -54248,7 +54328,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2707", + "id": "2708", "name": "getRoleAdmin", "nodeType": "IDENTIFIER", "src": { @@ -54256,7 +54336,7 @@ "end": "43670", "length": "12", "line": "1202", - "parentIndex": "2706", + "parentIndex": "2707", "start": "43659" }, "typeDescription": { @@ -54265,7 +54345,7 @@ } } }, - "id": "2706", + "id": "2707", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -54273,7 +54353,7 @@ "end": "43676", "length": "18", "line": "1202", - "parentIndex": "2704", + "parentIndex": "2705", "start": "43659" }, "typeDescription": { @@ -54283,17 +54363,17 @@ } } ], - "id": "2704", + "id": "2705", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2705", + "id": "2706", "name": "onlyRole", "src": { "column": "79", "end": "43657", "length": "8", "line": "1202", - "parentIndex": "2704", + "parentIndex": "2705", "start": "43650" } }, @@ -54304,7 +54384,7 @@ "end": "43677", "length": "28", "line": "1202", - "parentIndex": "2698", + "parentIndex": "2699", "start": "43650" } } @@ -54315,20 +54395,20 @@ "end": "43593", "length": "10", "line": "1202", - "parentIndex": "2698", + "parentIndex": "2699", "start": "43584" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2709", + "id": "2710", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "70", "end": "43648", "length": "8", "line": "1202", - "parentIndex": "2698", + "parentIndex": "2699", "start": "43641" }, "typeDescription": { @@ -54338,20 +54418,20 @@ } ], "parameters": { - "id": "2699", + "id": "2700", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2700", + "id": "2701", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2700", + "scope": "2701", "src": { "column": "24", "end": "43606", "length": "12", "line": "1202", - "parentIndex": "2699", + "parentIndex": "2700", "start": "43595" }, "stateMutability": "MUTABLE", @@ -54361,7 +54441,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2701", + "id": "2702", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -54369,7 +54449,7 @@ "end": "43601", "length": "7", "line": "1202", - "parentIndex": "2700", + "parentIndex": "2701", "start": "43595" }, "typeDescription": { @@ -54380,16 +54460,16 @@ "visibility": "INTERNAL" }, { - "id": "2702", + "id": "2703", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2702", + "scope": "2703", "src": { "column": "38", "end": "43623", "length": "15", "line": "1202", - "parentIndex": "2699", + "parentIndex": "2700", "start": "43609" }, "stateMutability": "NONPAYABLE", @@ -54399,7 +54479,7 @@ "typeString": "address" }, "typeName": { - "id": "2703", + "id": "2704", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -54407,7 +54487,7 @@ "end": "43615", "length": "7", "line": "1202", - "parentIndex": "2702", + "parentIndex": "2703", "start": "43609" }, "stateMutability": "NONPAYABLE", @@ -54424,24 +54504,24 @@ "end": "43623", "length": "29", "line": "1202", - "parentIndex": "2698", + "parentIndex": "2699", "start": "43595" } }, "returnParameters": { - "id": "2710", + "id": "2711", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "43721", "length": "147", "line": "1202", - "parentIndex": "2698", + "parentIndex": "2699", "start": "43575" } }, "scope": "2520", - "signature": "b3252796", + "signature": "d547741f", "src": { "column": "4", "end": "43721", @@ -54463,7 +54543,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2725", + "id": "2726", "implemented": true, "nodeType": "BLOCK", "src": { @@ -54471,7 +54551,7 @@ "end": "44472", "length": "137", "line": "1222", - "parentIndex": "2717", + "parentIndex": "2718", "start": "44336" }, "statements": [ @@ -54492,20 +54572,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2728", + "id": "2729", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2729", + "id": "2730", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2729", + "referencedDeclaration": "2730", "src": { "column": "16", "end": "44360", "length": "7", "line": "1223", - "parentIndex": "2728", + "parentIndex": "2729", "start": "44354" }, "typeDescription": { @@ -54522,7 +54602,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2731", + "id": "2732", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -54530,7 +54610,7 @@ "end": "44374", "length": "10", "line": "1223", - "parentIndex": "2730", + "parentIndex": "2731", "start": "44365" }, "typeDescription": { @@ -54539,7 +54619,7 @@ } } }, - "id": "2730", + "id": "2731", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -54547,7 +54627,7 @@ "end": "44376", "length": "12", "line": "1223", - "parentIndex": "2728", + "parentIndex": "2729", "start": "44365" }, "typeDescription": { @@ -54561,7 +54641,7 @@ "end": "44376", "length": "23", "line": "1223", - "parentIndex": "2726", + "parentIndex": "2727", "start": "44354" }, "typeDescription": { @@ -54580,7 +54660,7 @@ } ], "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66", - "id": "2732", + "id": "2733", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -54589,7 +54669,7 @@ "end": "44427", "length": "49", "line": "1223", - "parentIndex": "2726", + "parentIndex": "2727", "start": "44379" }, "typeDescription": { @@ -54603,7 +54683,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2727", + "id": "2728", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -54612,7 +54692,7 @@ "end": "44352", "length": "7", "line": "1223", - "parentIndex": "2726", + "parentIndex": "2727", "start": "44346" }, "typeDescription": { @@ -54621,7 +54701,7 @@ } } }, - "id": "2726", + "id": "2727", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -54629,7 +54709,7 @@ "end": "44428", "length": "83", "line": "1223", - "parentIndex": "2725", + "parentIndex": "2726", "start": "44346" }, "typeDescription": { @@ -54655,16 +54735,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2735", + "id": "2736", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2735", + "referencedDeclaration": "2736", "src": { "column": "20", "end": "44455", "length": "4", "line": "1225", - "parentIndex": "2733", + "parentIndex": "2734", "start": "44452" }, "typeDescription": { @@ -54682,16 +54762,16 @@ "typeString": "bytes32" } ], - "id": "2736", + "id": "2737", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2736", + "referencedDeclaration": "2737", "src": { "column": "26", "end": "44464", "length": "7", "line": "1225", - "parentIndex": "2733", + "parentIndex": "2734", "start": "44458" }, "typeDescription": { @@ -54704,7 +54784,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2734", + "id": "2735", "name": "_revokeRole", "nodeType": "IDENTIFIER", "src": { @@ -54712,7 +54792,7 @@ "end": "44450", "length": "11", "line": "1225", - "parentIndex": "2733", + "parentIndex": "2734", "start": "44440" }, "typeDescription": { @@ -54721,7 +54801,7 @@ } } }, - "id": "2733", + "id": "2734", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -54729,7 +54809,7 @@ "end": "44465", "length": "26", "line": "1225", - "parentIndex": "2725", + "parentIndex": "2726", "start": "44440" }, "typeDescription": { @@ -54740,7 +54820,7 @@ } ] }, - "id": "2717", + "id": "2718", "implemented": true, "kind": "KIND_FUNCTION", "name": "renounceRole", @@ -54749,20 +54829,20 @@ "end": "44279", "length": "12", "line": "1222", - "parentIndex": "2717", + "parentIndex": "2718", "start": "44268" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2723", + "id": "2724", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "72", "end": "44334", "length": "8", "line": "1222", - "parentIndex": "2717", + "parentIndex": "2718", "start": "44327" }, "typeDescription": { @@ -54772,20 +54852,20 @@ } ], "parameters": { - "id": "2718", + "id": "2719", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2719", + "id": "2720", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2719", + "scope": "2720", "src": { "column": "26", "end": "44292", "length": "12", "line": "1222", - "parentIndex": "2718", + "parentIndex": "2719", "start": "44281" }, "stateMutability": "MUTABLE", @@ -54795,7 +54875,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2720", + "id": "2721", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -54803,7 +54883,7 @@ "end": "44287", "length": "7", "line": "1222", - "parentIndex": "2719", + "parentIndex": "2720", "start": "44281" }, "typeDescription": { @@ -54814,16 +54894,16 @@ "visibility": "INTERNAL" }, { - "id": "2721", + "id": "2722", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2721", + "scope": "2722", "src": { "column": "40", "end": "44309", "length": "15", "line": "1222", - "parentIndex": "2718", + "parentIndex": "2719", "start": "44295" }, "stateMutability": "NONPAYABLE", @@ -54833,7 +54913,7 @@ "typeString": "address" }, "typeName": { - "id": "2722", + "id": "2723", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -54841,7 +54921,7 @@ "end": "44301", "length": "7", "line": "1222", - "parentIndex": "2721", + "parentIndex": "2722", "start": "44295" }, "stateMutability": "NONPAYABLE", @@ -54858,24 +54938,24 @@ "end": "44309", "length": "29", "line": "1222", - "parentIndex": "2717", + "parentIndex": "2718", "start": "44281" } }, "returnParameters": { - "id": "2724", + "id": "2725", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "44472", "length": "214", "line": "1222", - "parentIndex": "2717", + "parentIndex": "2718", "start": "44259" } }, "scope": "2520", - "signature": "e8365576", + "signature": "36568abe", "src": { "column": "4", "end": "44472", @@ -54897,7 +54977,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2745", + "id": "2746", "implemented": true, "nodeType": "BLOCK", "src": { @@ -54905,7 +54985,7 @@ "end": "45267", "length": "42", "line": "1248", - "parentIndex": "2738", + "parentIndex": "2739", "start": "45226" }, "statements": [ @@ -54926,16 +55006,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2748", + "id": "2749", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2748", + "referencedDeclaration": "2749", "src": { "column": "19", "end": "45250", "length": "4", "line": "1249", - "parentIndex": "2746", + "parentIndex": "2747", "start": "45247" }, "typeDescription": { @@ -54953,16 +55033,16 @@ "typeString": "bytes32" } ], - "id": "2749", + "id": "2750", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2749", + "referencedDeclaration": "2750", "src": { "column": "25", "end": "45259", "length": "7", "line": "1249", - "parentIndex": "2746", + "parentIndex": "2747", "start": "45253" }, "typeDescription": { @@ -54975,7 +55055,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2747", + "id": "2748", "name": "_grantRole", "nodeType": "IDENTIFIER", "src": { @@ -54983,7 +55063,7 @@ "end": "45245", "length": "10", "line": "1249", - "parentIndex": "2746", + "parentIndex": "2747", "start": "45236" }, "typeDescription": { @@ -54992,7 +55072,7 @@ } } }, - "id": "2746", + "id": "2747", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -55000,7 +55080,7 @@ "end": "45260", "length": "25", "line": "1249", - "parentIndex": "2745", + "parentIndex": "2746", "start": "45236" }, "typeDescription": { @@ -55011,7 +55091,7 @@ } ] }, - "id": "2738", + "id": "2739", "implemented": true, "kind": "KIND_FUNCTION", "name": "_setupRole", @@ -55020,25 +55100,25 @@ "end": "45176", "length": "10", "line": "1248", - "parentIndex": "2738", + "parentIndex": "2739", "start": "45167" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2739", + "id": "2740", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2740", + "id": "2741", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2740", + "scope": "2741", "src": { "column": "24", "end": "45189", "length": "12", "line": "1248", - "parentIndex": "2739", + "parentIndex": "2740", "start": "45178" }, "stateMutability": "MUTABLE", @@ -55048,7 +55128,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2741", + "id": "2742", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55056,7 +55136,7 @@ "end": "45184", "length": "7", "line": "1248", - "parentIndex": "2740", + "parentIndex": "2741", "start": "45178" }, "typeDescription": { @@ -55067,16 +55147,16 @@ "visibility": "INTERNAL" }, { - "id": "2742", + "id": "2743", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2742", + "scope": "2743", "src": { "column": "38", "end": "45206", "length": "15", "line": "1248", - "parentIndex": "2739", + "parentIndex": "2740", "start": "45192" }, "stateMutability": "NONPAYABLE", @@ -55086,7 +55166,7 @@ "typeString": "address" }, "typeName": { - "id": "2743", + "id": "2744", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55094,7 +55174,7 @@ "end": "45198", "length": "7", "line": "1248", - "parentIndex": "2742", + "parentIndex": "2743", "start": "45192" }, "stateMutability": "NONPAYABLE", @@ -55111,24 +55191,24 @@ "end": "45206", "length": "29", "line": "1248", - "parentIndex": "2738", + "parentIndex": "2739", "start": "45178" } }, "returnParameters": { - "id": "2744", + "id": "2745", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "45267", "length": "110", "line": "1248", - "parentIndex": "2738", + "parentIndex": "2739", "start": "45158" } }, "scope": "2520", - "signature": "95e930c8", + "signature": "4fa943a6", "src": { "column": "4", "end": "45267", @@ -55150,7 +55230,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2758", + "id": "2759", "implemented": true, "nodeType": "BLOCK", "src": { @@ -55158,7 +55238,7 @@ "end": "45639", "length": "174", "line": "1257", - "parentIndex": "2751", + "parentIndex": "2752", "start": "45466" }, "statements": [ @@ -55166,11 +55246,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2760" + "2761" ], "declarations": [ { - "id": "2760", + "id": "2761", "mutability": "MUTABLE", "name": "previousAdminRole", "nameLocation": { @@ -55178,17 +55258,17 @@ "end": "45500", "length": "17", "line": "1258", - "parentIndex": "2760", + "parentIndex": "2761", "start": "45484" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2758", + "scope": "2759", "src": { "column": "8", "end": "45500", "length": "25", "line": "1258", - "parentIndex": "2759", + "parentIndex": "2760", "start": "45476" }, "storageLocation": "DEFAULT", @@ -55197,7 +55277,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2761", + "id": "2762", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55205,7 +55285,7 @@ "end": "45482", "length": "7", "line": "1258", - "parentIndex": "2760", + "parentIndex": "2761", "start": "45476" }, "typeDescription": { @@ -55216,7 +55296,7 @@ "visibility": "INTERNAL" } ], - "id": "2759", + "id": "2760", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -55230,16 +55310,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2764", + "id": "2765", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2764", + "referencedDeclaration": "2765", "src": { "column": "49", "end": "45520", "length": "4", "line": "1258", - "parentIndex": "2762", + "parentIndex": "2763", "start": "45517" }, "typeDescription": { @@ -55252,7 +55332,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2763", + "id": "2764", "name": "getRoleAdmin", "nodeType": "IDENTIFIER", "src": { @@ -55260,7 +55340,7 @@ "end": "45515", "length": "12", "line": "1258", - "parentIndex": "2762", + "parentIndex": "2763", "start": "45504" }, "typeDescription": { @@ -55269,7 +55349,7 @@ } } }, - "id": "2762", + "id": "2763", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -55277,7 +55357,7 @@ "end": "45521", "length": "18", "line": "1258", - "parentIndex": "2759", + "parentIndex": "2760", "start": "45504" }, "typeDescription": { @@ -55292,7 +55372,7 @@ "end": "45522", "length": "47", "line": "1258", - "parentIndex": "2758", + "parentIndex": "2759", "start": "45476" } } @@ -55303,7 +55383,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2766", + "id": "2767", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -55313,16 +55393,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2770", + "id": "2771", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2770", + "referencedDeclaration": "2771", "src": { "column": "15", "end": "45542", "length": "4", "line": "1259", - "parentIndex": "2768", + "parentIndex": "2769", "start": "45539" }, "typeDescription": { @@ -55331,11 +55411,11 @@ } } }, - "id": "2768", + "id": "2769", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2769", + "id": "2770", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "2552", @@ -55344,11 +55424,11 @@ "end": "45537", "length": "6", "line": "1259", - "parentIndex": "2768", + "parentIndex": "2769", "start": "45532" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -55359,16 +55439,16 @@ "end": "45543", "length": "12", "line": "1259", - "parentIndex": "2767", + "parentIndex": "2768", "start": "45532" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -55378,13 +55458,13 @@ ] } }, - "id": "2767", + "id": "2768", "memberLocation": { "column": "21", "end": "45553", "length": "9", "line": "1259", - "parentIndex": "2767", + "parentIndex": "2768", "start": "45545" }, "memberName": "adminRole", @@ -55394,11 +55474,11 @@ "end": "45553", "length": "22", "line": "1259", - "parentIndex": "2766", + "parentIndex": "2767", "start": "45532" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } @@ -55408,16 +55488,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2771", + "id": "2772", "name": "adminRole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2771", + "referencedDeclaration": "2772", "src": { "column": "33", "end": "45565", "length": "9", "line": "1259", - "parentIndex": "2766", + "parentIndex": "2767", "start": "45557" }, "typeDescription": { @@ -55431,27 +55511,27 @@ "end": "45565", "length": "34", "line": "1259", - "parentIndex": "2765", + "parentIndex": "2766", "start": "45532" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } }, - "id": "2765", + "id": "2766", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "45566", "length": "35", "line": "1259", - "parentIndex": "2758", + "parentIndex": "2759", "start": "45532" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } @@ -55463,16 +55543,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2773", + "id": "2774", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2773", + "referencedDeclaration": "2774", "src": { "column": "30", "end": "45601", "length": "4", "line": "1260", - "parentIndex": "2772", + "parentIndex": "2773", "start": "45598" }, "typeDescription": { @@ -55484,16 +55564,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2774", + "id": "2775", "name": "previousAdminRole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2759", + "referencedDeclaration": "2760", "src": { "column": "36", "end": "45620", "length": "17", "line": "1260", - "parentIndex": "2772", + "parentIndex": "2773", "start": "45604" }, "typeDescription": { @@ -55505,16 +55585,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2775", + "id": "2776", "name": "adminRole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2775", + "referencedDeclaration": "2776", "src": { "column": "55", "end": "45631", "length": "9", "line": "1260", - "parentIndex": "2772", + "parentIndex": "2773", "start": "45623" }, "typeDescription": { @@ -55527,7 +55607,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2776", + "id": "2777", "name": "RoleAdminChanged", "nodeType": "IDENTIFIER", "referencedDeclaration": "1586", @@ -55536,7 +55616,7 @@ "end": "45596", "length": "16", "line": "1260", - "parentIndex": "2772", + "parentIndex": "2773", "start": "45581" }, "typeDescription": { @@ -55545,21 +55625,21 @@ } } }, - "id": "2772", + "id": "2773", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "45633", "length": "58", "line": "1260", - "parentIndex": "2751", + "parentIndex": "2752", "start": "45576" } } } ] }, - "id": "2751", + "id": "2752", "implemented": true, "kind": "KIND_FUNCTION", "name": "_setRoleAdmin", @@ -55568,25 +55648,25 @@ "end": "45414", "length": "13", "line": "1257", - "parentIndex": "2751", + "parentIndex": "2752", "start": "45402" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2752", + "id": "2753", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2753", + "id": "2754", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2753", + "scope": "2754", "src": { "column": "27", "end": "45427", "length": "12", "line": "1257", - "parentIndex": "2752", + "parentIndex": "2753", "start": "45416" }, "stateMutability": "MUTABLE", @@ -55596,7 +55676,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2754", + "id": "2755", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55604,7 +55684,7 @@ "end": "45422", "length": "7", "line": "1257", - "parentIndex": "2753", + "parentIndex": "2754", "start": "45416" }, "typeDescription": { @@ -55615,16 +55695,16 @@ "visibility": "INTERNAL" }, { - "id": "2755", + "id": "2756", "name": "adminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "2755", + "scope": "2756", "src": { "column": "41", "end": "45446", "length": "17", "line": "1257", - "parentIndex": "2752", + "parentIndex": "2753", "start": "45430" }, "stateMutability": "MUTABLE", @@ -55634,7 +55714,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2756", + "id": "2757", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55642,7 +55722,7 @@ "end": "45436", "length": "7", "line": "1257", - "parentIndex": "2755", + "parentIndex": "2756", "start": "45430" }, "typeDescription": { @@ -55658,24 +55738,24 @@ "end": "45446", "length": "31", "line": "1257", - "parentIndex": "2751", + "parentIndex": "2752", "start": "45416" } }, "returnParameters": { - "id": "2757", + "id": "2758", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "45639", "length": "247", "line": "1257", - "parentIndex": "2751", + "parentIndex": "2752", "start": "45393" } }, "scope": "2520", - "signature": "09c75694", + "signature": "7612997d", "src": { "column": "4", "end": "45639", @@ -55697,7 +55777,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2785", + "id": "2786", "implemented": true, "nodeType": "BLOCK", "src": { @@ -55705,7 +55785,7 @@ "end": "46040", "length": "165", "line": "1270", - "parentIndex": "2778", + "parentIndex": "2779", "start": "45876" }, "statements": [ @@ -55713,7 +55793,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2792", + "id": "2793", "implemented": true, "nodeType": "BLOCK", "src": { @@ -55721,7 +55801,7 @@ "end": "46034", "length": "120", "line": "1271", - "parentIndex": "2778", + "parentIndex": "2779", "start": "45915" }, "statements": [ @@ -55731,23 +55811,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2794", + "id": "2795", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2800", + "id": "2801", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2800", + "referencedDeclaration": "2801", "src": { "column": "33", "end": "45956", "length": "7", "line": "1272", - "parentIndex": "2795", + "parentIndex": "2796", "start": "45950" }, "typeDescription": { @@ -55756,7 +55836,7 @@ } } }, - "id": "2795", + "id": "2796", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -55766,16 +55846,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2799", + "id": "2800", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2799", + "referencedDeclaration": "2800", "src": { "column": "19", "end": "45939", "length": "4", "line": "1272", - "parentIndex": "2797", + "parentIndex": "2798", "start": "45936" }, "typeDescription": { @@ -55784,11 +55864,11 @@ } } }, - "id": "2797", + "id": "2798", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2798", + "id": "2799", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "2552", @@ -55797,11 +55877,11 @@ "end": "45934", "length": "6", "line": "1272", - "parentIndex": "2797", + "parentIndex": "2798", "start": "45929" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -55812,16 +55892,16 @@ "end": "45940", "length": "12", "line": "1272", - "parentIndex": "2796", + "parentIndex": "2797", "start": "45929" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -55831,13 +55911,13 @@ ] } }, - "id": "2796", + "id": "2797", "memberLocation": { "column": "25", "end": "45948", "length": "7", "line": "1272", - "parentIndex": "2796", + "parentIndex": "2797", "start": "45942" }, "memberName": "members", @@ -55847,11 +55927,11 @@ "end": "45948", "length": "20", "line": "1272", - "parentIndex": "2795", + "parentIndex": "2796", "start": "45929" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } @@ -55862,16 +55942,16 @@ "end": "45957", "length": "29", "line": "1272", - "parentIndex": "2794", + "parentIndex": "2795", "start": "45929" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -55887,7 +55967,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "2801", + "id": "2802", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -55896,7 +55976,7 @@ "end": "45964", "length": "4", "line": "1272", - "parentIndex": "2794", + "parentIndex": "2795", "start": "45961" }, "typeDescription": { @@ -55911,27 +55991,27 @@ "end": "45964", "length": "36", "line": "1272", - "parentIndex": "2793", + "parentIndex": "2794", "start": "45929" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } }, - "id": "2793", + "id": "2794", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "45965", "length": "37", "line": "1272", - "parentIndex": "2792", + "parentIndex": "2793", "start": "45929" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } @@ -55943,16 +56023,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2803", + "id": "2804", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2803", + "referencedDeclaration": "2804", "src": { "column": "29", "end": "45999", "length": "4", "line": "1273", - "parentIndex": "2802", + "parentIndex": "2803", "start": "45996" }, "typeDescription": { @@ -55964,16 +56044,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2804", + "id": "2805", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2804", + "referencedDeclaration": "2805", "src": { "column": "35", "end": "46008", "length": "7", "line": "1273", - "parentIndex": "2802", + "parentIndex": "2803", "start": "46002" }, "typeDescription": { @@ -55988,7 +56068,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2806", + "id": "2807", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -55996,7 +56076,7 @@ "end": "46020", "length": "10", "line": "1273", - "parentIndex": "2805", + "parentIndex": "2806", "start": "46011" }, "typeDescription": { @@ -56005,7 +56085,7 @@ } } }, - "id": "2805", + "id": "2806", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -56013,7 +56093,7 @@ "end": "46022", "length": "12", "line": "1273", - "parentIndex": "2802", + "parentIndex": "2803", "start": "46011" }, "typeDescription": { @@ -56026,7 +56106,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2807", + "id": "2808", "name": "RoleGranted", "nodeType": "IDENTIFIER", "referencedDeclaration": "1595", @@ -56035,7 +56115,7 @@ "end": "45994", "length": "11", "line": "1273", - "parentIndex": "2802", + "parentIndex": "2803", "start": "45984" }, "typeDescription": { @@ -56044,14 +56124,14 @@ } } }, - "id": "2802", + "id": "2803", "nodeType": "EMIT_STATEMENT", "src": { "column": "12", "end": "46024", "length": "46", "line": "1273", - "parentIndex": "2778", + "parentIndex": "2779", "start": "45979" } } @@ -56078,16 +56158,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2790", + "id": "2791", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2790", + "referencedDeclaration": "2791", "src": { "column": "21", "end": "45902", "length": "4", "line": "1271", - "parentIndex": "2788", + "parentIndex": "2789", "start": "45899" }, "typeDescription": { @@ -56105,16 +56185,16 @@ "typeString": "bytes32" } ], - "id": "2791", + "id": "2792", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2791", + "referencedDeclaration": "2792", "src": { "column": "27", "end": "45911", "length": "7", "line": "1271", - "parentIndex": "2788", + "parentIndex": "2789", "start": "45905" }, "typeDescription": { @@ -56127,7 +56207,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2789", + "id": "2790", "name": "hasRole", "nodeType": "IDENTIFIER", "src": { @@ -56135,7 +56215,7 @@ "end": "45897", "length": "7", "line": "1271", - "parentIndex": "2788", + "parentIndex": "2789", "start": "45891" }, "typeDescription": { @@ -56144,7 +56224,7 @@ } } }, - "id": "2788", + "id": "2789", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -56152,7 +56232,7 @@ "end": "45912", "length": "22", "line": "1271", - "parentIndex": "2787", + "parentIndex": "2788", "start": "45891" }, "typeDescription": { @@ -56161,7 +56241,7 @@ } } }, - "id": "2787", + "id": "2788", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -56170,7 +56250,7 @@ "end": "45912", "length": "23", "line": "1271", - "parentIndex": "2778", + "parentIndex": "2779", "start": "45890" }, "typeDescription": { @@ -56179,20 +56259,20 @@ } } }, - "id": "2786", + "id": "2787", "nodeType": "IF_STATEMENT", "src": { "end": "46034", "length": "149", "line": "1271", - "parentIndex": "2785", + "parentIndex": "2786", "start": "45886" } } } ] }, - "id": "2778", + "id": "2779", "implemented": true, "kind": "KIND_FUNCTION", "name": "_grantRole", @@ -56201,25 +56281,25 @@ "end": "45826", "length": "10", "line": "1270", - "parentIndex": "2778", + "parentIndex": "2779", "start": "45817" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2779", + "id": "2780", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2780", + "id": "2781", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2780", + "scope": "2781", "src": { "column": "24", "end": "45839", "length": "12", "line": "1270", - "parentIndex": "2779", + "parentIndex": "2780", "start": "45828" }, "stateMutability": "MUTABLE", @@ -56229,7 +56309,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2781", + "id": "2782", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -56237,7 +56317,7 @@ "end": "45834", "length": "7", "line": "1270", - "parentIndex": "2780", + "parentIndex": "2781", "start": "45828" }, "typeDescription": { @@ -56248,16 +56328,16 @@ "visibility": "INTERNAL" }, { - "id": "2782", + "id": "2783", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2782", + "scope": "2783", "src": { "column": "38", "end": "45856", "length": "15", "line": "1270", - "parentIndex": "2779", + "parentIndex": "2780", "start": "45842" }, "stateMutability": "NONPAYABLE", @@ -56267,7 +56347,7 @@ "typeString": "address" }, "typeName": { - "id": "2783", + "id": "2784", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -56275,7 +56355,7 @@ "end": "45848", "length": "7", "line": "1270", - "parentIndex": "2782", + "parentIndex": "2783", "start": "45842" }, "stateMutability": "NONPAYABLE", @@ -56292,24 +56372,24 @@ "end": "45856", "length": "29", "line": "1270", - "parentIndex": "2778", + "parentIndex": "2779", "start": "45828" } }, "returnParameters": { - "id": "2784", + "id": "2785", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "46040", "length": "233", "line": "1270", - "parentIndex": "2778", + "parentIndex": "2779", "start": "45808" } }, "scope": "2520", - "signature": "389027d9", + "signature": "ce2cc1d0", "src": { "column": "4", "end": "46040", @@ -56331,7 +56411,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2816", + "id": "2817", "implemented": true, "nodeType": "BLOCK", "src": { @@ -56339,7 +56419,7 @@ "end": "46445", "length": "165", "line": "1284", - "parentIndex": "2809", + "parentIndex": "2810", "start": "46281" }, "statements": [ @@ -56347,7 +56427,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2822", + "id": "2823", "implemented": true, "nodeType": "BLOCK", "src": { @@ -56355,7 +56435,7 @@ "end": "46439", "length": "121", "line": "1285", - "parentIndex": "2809", + "parentIndex": "2810", "start": "46319" }, "statements": [ @@ -56365,23 +56445,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2824", + "id": "2825", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2830", + "id": "2831", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2830", + "referencedDeclaration": "2831", "src": { "column": "33", "end": "46360", "length": "7", "line": "1286", - "parentIndex": "2825", + "parentIndex": "2826", "start": "46354" }, "typeDescription": { @@ -56390,7 +56470,7 @@ } } }, - "id": "2825", + "id": "2826", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -56400,16 +56480,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2829", + "id": "2830", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2829", + "referencedDeclaration": "2830", "src": { "column": "19", "end": "46343", "length": "4", "line": "1286", - "parentIndex": "2827", + "parentIndex": "2828", "start": "46340" }, "typeDescription": { @@ -56418,11 +56498,11 @@ } } }, - "id": "2827", + "id": "2828", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2828", + "id": "2829", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "2552", @@ -56431,11 +56511,11 @@ "end": "46338", "length": "6", "line": "1286", - "parentIndex": "2827", + "parentIndex": "2828", "start": "46333" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -56446,16 +56526,16 @@ "end": "46344", "length": "12", "line": "1286", - "parentIndex": "2826", + "parentIndex": "2827", "start": "46333" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -56465,13 +56545,13 @@ ] } }, - "id": "2826", + "id": "2827", "memberLocation": { "column": "25", "end": "46352", "length": "7", "line": "1286", - "parentIndex": "2826", + "parentIndex": "2827", "start": "46346" }, "memberName": "members", @@ -56481,11 +56561,11 @@ "end": "46352", "length": "20", "line": "1286", - "parentIndex": "2825", + "parentIndex": "2826", "start": "46333" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } @@ -56496,16 +56576,16 @@ "end": "46361", "length": "29", "line": "1286", - "parentIndex": "2824", + "parentIndex": "2825", "start": "46333" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -56521,7 +56601,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "66616c7365", - "id": "2831", + "id": "2832", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -56530,7 +56610,7 @@ "end": "46369", "length": "5", "line": "1286", - "parentIndex": "2824", + "parentIndex": "2825", "start": "46365" }, "typeDescription": { @@ -56545,27 +56625,27 @@ "end": "46369", "length": "37", "line": "1286", - "parentIndex": "2823", + "parentIndex": "2824", "start": "46333" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } }, - "id": "2823", + "id": "2824", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "46370", "length": "38", "line": "1286", - "parentIndex": "2822", + "parentIndex": "2823", "start": "46333" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControlUpgradeable_RoleData_$2544$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } @@ -56577,16 +56657,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2833", + "id": "2834", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2833", + "referencedDeclaration": "2834", "src": { "column": "29", "end": "46404", "length": "4", "line": "1287", - "parentIndex": "2832", + "parentIndex": "2833", "start": "46401" }, "typeDescription": { @@ -56598,16 +56678,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2834", + "id": "2835", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2834", + "referencedDeclaration": "2835", "src": { "column": "35", "end": "46413", "length": "7", "line": "1287", - "parentIndex": "2832", + "parentIndex": "2833", "start": "46407" }, "typeDescription": { @@ -56622,7 +56702,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2836", + "id": "2837", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -56630,7 +56710,7 @@ "end": "46425", "length": "10", "line": "1287", - "parentIndex": "2835", + "parentIndex": "2836", "start": "46416" }, "typeDescription": { @@ -56639,7 +56719,7 @@ } } }, - "id": "2835", + "id": "2836", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -56647,7 +56727,7 @@ "end": "46427", "length": "12", "line": "1287", - "parentIndex": "2832", + "parentIndex": "2833", "start": "46416" }, "typeDescription": { @@ -56660,7 +56740,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2837", + "id": "2838", "name": "RoleRevoked", "nodeType": "IDENTIFIER", "referencedDeclaration": "1604", @@ -56669,7 +56749,7 @@ "end": "46399", "length": "11", "line": "1287", - "parentIndex": "2832", + "parentIndex": "2833", "start": "46389" }, "typeDescription": { @@ -56678,14 +56758,14 @@ } } }, - "id": "2832", + "id": "2833", "nodeType": "EMIT_STATEMENT", "src": { "column": "12", "end": "46429", "length": "46", "line": "1287", - "parentIndex": "2809", + "parentIndex": "2810", "start": "46384" } } @@ -56709,16 +56789,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2820", + "id": "2821", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2820", + "referencedDeclaration": "2821", "src": { "column": "20", "end": "46306", "length": "4", "line": "1285", - "parentIndex": "2818", + "parentIndex": "2819", "start": "46303" }, "typeDescription": { @@ -56736,16 +56816,16 @@ "typeString": "bytes32" } ], - "id": "2821", + "id": "2822", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2821", + "referencedDeclaration": "2822", "src": { "column": "26", "end": "46315", "length": "7", "line": "1285", - "parentIndex": "2818", + "parentIndex": "2819", "start": "46309" }, "typeDescription": { @@ -56758,7 +56838,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2819", + "id": "2820", "name": "hasRole", "nodeType": "IDENTIFIER", "src": { @@ -56766,7 +56846,7 @@ "end": "46301", "length": "7", "line": "1285", - "parentIndex": "2818", + "parentIndex": "2819", "start": "46295" }, "typeDescription": { @@ -56775,7 +56855,7 @@ } } }, - "id": "2818", + "id": "2819", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -56783,7 +56863,7 @@ "end": "46316", "length": "22", "line": "1285", - "parentIndex": "2817", + "parentIndex": "2818", "start": "46295" }, "typeDescription": { @@ -56792,20 +56872,20 @@ } } }, - "id": "2817", + "id": "2818", "nodeType": "IF_STATEMENT", "src": { "end": "46439", "length": "149", "line": "1285", - "parentIndex": "2816", + "parentIndex": "2817", "start": "46291" } } } ] }, - "id": "2809", + "id": "2810", "implemented": true, "kind": "KIND_FUNCTION", "name": "_revokeRole", @@ -56814,25 +56894,25 @@ "end": "46231", "length": "11", "line": "1284", - "parentIndex": "2809", + "parentIndex": "2810", "start": "46221" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2810", + "id": "2811", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2811", + "id": "2812", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2811", + "scope": "2812", "src": { "column": "25", "end": "46244", "length": "12", "line": "1284", - "parentIndex": "2810", + "parentIndex": "2811", "start": "46233" }, "stateMutability": "MUTABLE", @@ -56842,7 +56922,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2812", + "id": "2813", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -56850,7 +56930,7 @@ "end": "46239", "length": "7", "line": "1284", - "parentIndex": "2811", + "parentIndex": "2812", "start": "46233" }, "typeDescription": { @@ -56861,16 +56941,16 @@ "visibility": "INTERNAL" }, { - "id": "2813", + "id": "2814", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2813", + "scope": "2814", "src": { "column": "39", "end": "46261", "length": "15", "line": "1284", - "parentIndex": "2810", + "parentIndex": "2811", "start": "46247" }, "stateMutability": "NONPAYABLE", @@ -56880,7 +56960,7 @@ "typeString": "address" }, "typeName": { - "id": "2814", + "id": "2815", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -56888,7 +56968,7 @@ "end": "46253", "length": "7", "line": "1284", - "parentIndex": "2813", + "parentIndex": "2814", "start": "46247" }, "stateMutability": "NONPAYABLE", @@ -56905,24 +56985,24 @@ "end": "46261", "length": "29", "line": "1284", - "parentIndex": "2809", + "parentIndex": "2810", "start": "46233" } }, "returnParameters": { - "id": "2815", + "id": "2816", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "46445", "length": "234", "line": "1284", - "parentIndex": "2809", + "parentIndex": "2810", "start": "46212" } }, "scope": "2520", - "signature": "ed5226ed", + "signature": "2c95bd23", "src": { "column": "4", "end": "46445", @@ -56943,7 +57023,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2839", + "id": "2840", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", @@ -56967,7 +57047,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3439", - "id": "2842", + "id": "2843", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -56976,7 +57056,7 @@ "end": "46720", "length": "2", "line": "1296", - "parentIndex": "2840", + "parentIndex": "2841", "start": "46719" }, "typeDescription": { @@ -56986,7 +57066,7 @@ "value": "49" } }, - "id": "2840", + "id": "2841", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -56994,7 +57074,7 @@ "end": "46717", "length": "7", "line": "1296", - "parentIndex": "2839", + "parentIndex": "2840", "start": "46711" }, "typeDescription": { @@ -57026,12 +57106,12 @@ } }, { - "id": 2843, + "id": 2844, "license": "BUSL-1.1", "name": "IERC1822ProxiableUpgradeable", "exported_symbols": [ { - "id": 2843, + "id": 2844, "name": "IERC1822ProxiableUpgradeable" } ], @@ -57041,7 +57121,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "2855", + "id": "2856", "literals": [ "pragma", "solidity", @@ -57058,7 +57138,7 @@ "end": "46877", "length": "23", "line": "1303", - "parentIndex": "2843", + "parentIndex": "2844", "start": "46855" }, "text": "pragma solidity ^0.8.0;" @@ -57068,10 +57148,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "2914", + "id": "2915", "kind": "KIND_INTERFACE", "linearizedBaseContracts": [ - "2914" + "2915" ], "name": "IERC1822ProxiableUpgradeable", "nameLocation": { @@ -57079,7 +57159,7 @@ "end": "47121", "length": "28", "line": "1309", - "parentIndex": "2914", + "parentIndex": "2915", "start": "47094" }, "nodeType": "CONTRACT_DEFINITION", @@ -57088,18 +57168,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2923", + "id": "2924", "nodeType": "BLOCK", "src": { "column": "4", "end": "47628", "length": "57", "line": "1318", - "parentIndex": "2916", + "parentIndex": "2917", "start": "47572" } }, - "id": "2916", + "id": "2917", "kind": "KIND_FUNCTION", "name": "proxiableUUID", "nameLocation": { @@ -57107,24 +57187,24 @@ "end": "47593", "length": "13", "line": "1318", - "parentIndex": "2916", + "parentIndex": "2917", "start": "47581" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2917", + "id": "2918", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2918", + "id": "2919", "nodeType": "VARIABLE_DECLARATION", - "scope": "2918", + "scope": "2919", "src": { "column": "52", "end": "47626", "length": "7", "line": "1318", - "parentIndex": "2917", + "parentIndex": "2918", "start": "47620" }, "stateMutability": "MUTABLE", @@ -57134,7 +57214,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2919", + "id": "2920", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57142,7 +57222,7 @@ "end": "47626", "length": "7", "line": "1318", - "parentIndex": "2918", + "parentIndex": "2919", "start": "47620" }, "typeDescription": { @@ -57158,24 +57238,24 @@ "end": "47626", "length": "7", "line": "1318", - "parentIndex": "2916", + "parentIndex": "2917", "start": "47620" } }, "returnParameters": { - "id": "2920", + "id": "2921", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2921", + "id": "2922", "nodeType": "VARIABLE_DECLARATION", - "scope": "2921", + "scope": "2922", "src": { "column": "52", "end": "47626", "length": "7", "line": "1318", - "parentIndex": "2920", + "parentIndex": "2921", "start": "47620" }, "stateMutability": "MUTABLE", @@ -57185,7 +57265,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2922", + "id": "2923", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57193,7 +57273,7 @@ "end": "47626", "length": "7", "line": "1318", - "parentIndex": "2921", + "parentIndex": "2922", "start": "47620" }, "typeDescription": { @@ -57209,18 +57289,18 @@ "end": "47626", "length": "7", "line": "1318", - "parentIndex": "2916", + "parentIndex": "2917", "start": "47620" } }, - "scope": "2914", + "scope": "2915", "signature": "e5f9ca4c", "src": { "column": "4", "end": "47628", "length": "57", "line": "1318", - "parentIndex": "2914", + "parentIndex": "2915", "start": "47572" }, "stateMutability": "VIEW", @@ -57236,7 +57316,7 @@ "end": "47630", "length": "547", "line": "1309", - "parentIndex": "2843", + "parentIndex": "2844", "start": "47084" } } @@ -57252,13 +57332,13 @@ } }, { - "id": 2924, + "id": 2925, "license": "MIT", "name": "IBeaconUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IBeaconUpgradeable.sol", "exported_symbols": [ { - "id": 2924, + "id": 2925, "name": "IBeaconUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IBeaconUpgradeable.sol" } @@ -57269,7 +57349,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "2937", + "id": "2938", "literals": [ "pragma", "solidity", @@ -57286,7 +57366,7 @@ "end": "47749", "length": "23", "line": "1325", - "parentIndex": "2924", + "parentIndex": "2925", "start": "47727" }, "text": "pragma solidity ^0.8.0;" @@ -57296,10 +57376,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "2996", + "id": "2997", "kind": "KIND_INTERFACE", "linearizedBaseContracts": [ - "2996" + "2997" ], "name": "IBeaconUpgradeable", "nameLocation": { @@ -57307,7 +57387,7 @@ "end": "47859", "length": "18", "line": "1330", - "parentIndex": "2996", + "parentIndex": "2997", "start": "47842" }, "nodeType": "CONTRACT_DEFINITION", @@ -57316,18 +57396,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3005", + "id": "3006", "nodeType": "BLOCK", "src": { "column": "4", "end": "48091", "length": "58", "line": "1336", - "parentIndex": "2998", + "parentIndex": "2999", "start": "48034" } }, - "id": "2998", + "id": "2999", "kind": "KIND_FUNCTION", "name": "implementation", "nameLocation": { @@ -57335,24 +57415,24 @@ "end": "48056", "length": "14", "line": "1336", - "parentIndex": "2998", + "parentIndex": "2999", "start": "48043" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2999", + "id": "3000", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3000", + "id": "3001", "nodeType": "VARIABLE_DECLARATION", - "scope": "3000", + "scope": "3001", "src": { "column": "53", "end": "48089", "length": "7", "line": "1336", - "parentIndex": "2999", + "parentIndex": "3000", "start": "48083" }, "stateMutability": "NONPAYABLE", @@ -57362,7 +57442,7 @@ "typeString": "address" }, "typeName": { - "id": "3001", + "id": "3002", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57370,7 +57450,7 @@ "end": "48089", "length": "7", "line": "1336", - "parentIndex": "3000", + "parentIndex": "3001", "start": "48083" }, "stateMutability": "NONPAYABLE", @@ -57387,24 +57467,24 @@ "end": "48089", "length": "7", "line": "1336", - "parentIndex": "2998", + "parentIndex": "2999", "start": "48083" } }, "returnParameters": { - "id": "3002", + "id": "3003", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3003", + "id": "3004", "nodeType": "VARIABLE_DECLARATION", - "scope": "3003", + "scope": "3004", "src": { "column": "53", "end": "48089", "length": "7", "line": "1336", - "parentIndex": "3002", + "parentIndex": "3003", "start": "48083" }, "stateMutability": "NONPAYABLE", @@ -57414,7 +57494,7 @@ "typeString": "address" }, "typeName": { - "id": "3004", + "id": "3005", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57422,7 +57502,7 @@ "end": "48089", "length": "7", "line": "1336", - "parentIndex": "3003", + "parentIndex": "3004", "start": "48083" }, "stateMutability": "NONPAYABLE", @@ -57439,18 +57519,18 @@ "end": "48089", "length": "7", "line": "1336", - "parentIndex": "2998", + "parentIndex": "2999", "start": "48083" } }, - "scope": "2996", + "scope": "2997", "signature": "6b880718", "src": { "column": "4", "end": "48091", "length": "58", "line": "1336", - "parentIndex": "2996", + "parentIndex": "2997", "start": "48034" }, "stateMutability": "VIEW", @@ -57466,7 +57546,7 @@ "end": "48093", "length": "262", "line": "1330", - "parentIndex": "2924", + "parentIndex": "2925", "start": "47832" } } @@ -57482,13 +57562,13 @@ } }, { - "id": 3006, + "id": 3007, "license": "MIT", "name": "StorageSlotUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StorageSlotUpgradeable.sol", "exported_symbols": [ { - "id": 3006, + "id": 3007, "name": "StorageSlotUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StorageSlotUpgradeable.sol" } @@ -57499,7 +57579,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "3020", + "id": "3021", "literals": [ "pragma", "solidity", @@ -57516,7 +57596,7 @@ "end": "48224", "length": "23", "line": "1343", - "parentIndex": "3006", + "parentIndex": "3007", "start": "48202" }, "text": "pragma solidity ^0.8.0;" @@ -57526,10 +57606,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "3039", + "id": "3040", "kind": "KIND_LIBRARY", "linearizedBaseContracts": [ - "3039" + "3040" ], "name": "StorageSlotUpgradeable", "nameLocation": { @@ -57537,7 +57617,7 @@ "end": "49405", "length": "22", "line": "1371", - "parentIndex": "3039", + "parentIndex": "3040", "start": "49384" }, "nodeType": "CONTRACT_DEFINITION", @@ -57546,19 +57626,19 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "StorageSlotUpgradeable.AddressSlot", - "id": "3041", + "id": "3042", "members": [ { - "id": "3042", + "id": "3043", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "3042", + "scope": "3043", "src": { "column": "8", "end": "49455", "length": "14", "line": "1373", - "parentIndex": "3041", + "parentIndex": "3042", "start": "49442" }, "stateMutability": "NONPAYABLE", @@ -57567,7 +57647,7 @@ "typeString": "address" }, "typeName": { - "id": "3043", + "id": "3044", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57575,7 +57655,7 @@ "end": "49448", "length": "7", "line": "1373", - "parentIndex": "3042", + "parentIndex": "3043", "start": "49442" }, "stateMutability": "NONPAYABLE", @@ -57593,7 +57673,7 @@ "end": "49430", "length": "11", "line": "1372", - "parentIndex": "3041", + "parentIndex": "3042", "start": "49420" }, "nodeType": "STRUCT_DEFINITION", @@ -57602,12 +57682,12 @@ "end": "49461", "length": "49", "line": "1372", - "parentIndex": "3006", + "parentIndex": "3007", "start": "49413" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "typeString": "struct StorageSlotUpgradeable.AddressSlot" }, "visibility": "PUBLIC" @@ -57617,19 +57697,19 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "StorageSlotUpgradeable.BooleanSlot", - "id": "3045", + "id": "3046", "members": [ { - "id": "3046", + "id": "3047", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "3046", + "scope": "3047", "src": { "column": "8", "end": "49507", "length": "11", "line": "1377", - "parentIndex": "3045", + "parentIndex": "3046", "start": "49497" }, "stateMutability": "MUTABLE", @@ -57638,7 +57718,7 @@ "typeString": "bool" }, "typeName": { - "id": "3047", + "id": "3048", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57646,7 +57726,7 @@ "end": "49500", "length": "4", "line": "1377", - "parentIndex": "3046", + "parentIndex": "3047", "start": "49497" }, "typeDescription": { @@ -57663,7 +57743,7 @@ "end": "49485", "length": "11", "line": "1376", - "parentIndex": "3045", + "parentIndex": "3046", "start": "49475" }, "nodeType": "STRUCT_DEFINITION", @@ -57672,12 +57752,12 @@ "end": "49513", "length": "46", "line": "1376", - "parentIndex": "3006", + "parentIndex": "3007", "start": "49468" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "typeString": "struct StorageSlotUpgradeable.BooleanSlot" }, "visibility": "PUBLIC" @@ -57687,19 +57767,19 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "StorageSlotUpgradeable.Bytes32Slot", - "id": "3049", + "id": "3050", "members": [ { - "id": "3050", + "id": "3051", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "3050", + "scope": "3051", "src": { "column": "8", "end": "49562", "length": "14", "line": "1381", - "parentIndex": "3049", + "parentIndex": "3050", "start": "49549" }, "stateMutability": "MUTABLE", @@ -57708,7 +57788,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3051", + "id": "3052", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57716,7 +57796,7 @@ "end": "49555", "length": "7", "line": "1381", - "parentIndex": "3050", + "parentIndex": "3051", "start": "49549" }, "typeDescription": { @@ -57733,7 +57813,7 @@ "end": "49537", "length": "11", "line": "1380", - "parentIndex": "3049", + "parentIndex": "3050", "start": "49527" }, "nodeType": "STRUCT_DEFINITION", @@ -57742,12 +57822,12 @@ "end": "49568", "length": "49", "line": "1380", - "parentIndex": "3006", + "parentIndex": "3007", "start": "49520" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "typeString": "struct StorageSlotUpgradeable.Bytes32Slot" }, "visibility": "PUBLIC" @@ -57757,19 +57837,19 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "StorageSlotUpgradeable.Uint256Slot", - "id": "3053", + "id": "3054", "members": [ { - "id": "3054", + "id": "3055", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "3054", + "scope": "3055", "src": { "column": "8", "end": "49617", "length": "14", "line": "1385", - "parentIndex": "3053", + "parentIndex": "3054", "start": "49604" }, "stateMutability": "MUTABLE", @@ -57778,7 +57858,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3055", + "id": "3056", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57786,7 +57866,7 @@ "end": "49610", "length": "7", "line": "1385", - "parentIndex": "3054", + "parentIndex": "3055", "start": "49604" }, "typeDescription": { @@ -57803,7 +57883,7 @@ "end": "49592", "length": "11", "line": "1384", - "parentIndex": "3053", + "parentIndex": "3054", "start": "49582" }, "nodeType": "STRUCT_DEFINITION", @@ -57812,12 +57892,12 @@ "end": "49623", "length": "49", "line": "1384", - "parentIndex": "3006", + "parentIndex": "3007", "start": "49575" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "typeString": "struct StorageSlotUpgradeable.Uint256Slot" }, "visibility": "PUBLIC" @@ -57827,7 +57907,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3065", + "id": "3066", "implemented": true, "nodeType": "BLOCK", "src": { @@ -57835,7 +57915,7 @@ "end": "49911", "length": "106", "line": "1391", - "parentIndex": "3057", + "parentIndex": "3058", "start": "49806" }, "statements": [ @@ -57843,55 +57923,55 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "3067", + "id": "3068", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "49905", "length": "47", "line": "1393", - "parentIndex": "3066", + "parentIndex": "3067", "start": "49859" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3068", + "id": "3069", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "49895", "length": "14", "line": "1394", - "parentIndex": "3066", + "parentIndex": "3067", "start": "49882" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "3069", + "id": "3070", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "49895", "length": "14", "line": "1394", - "parentIndex": "3066", + "parentIndex": "3067", "start": "49882" }, "value": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulExpressionStatement", "value": { - "id": "3072", + "id": "3073", "nodeType": "YUL_EXPRESSION", "src": { "column": "22", "end": "49895", "length": "4", "line": "1394", - "parentIndex": "3069", + "parentIndex": "3070", "start": "49892" } } @@ -57900,7 +57980,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3070", + "id": "3071", "name": "r", "nodeType": "YUL_IDENTIFIER", "src": { @@ -57908,7 +57988,7 @@ "end": "49882", "length": "1", "line": "1394", - "parentIndex": "3069", + "parentIndex": "3070", "start": "49882" } } @@ -57916,7 +57996,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3071", + "id": "3072", "name": "slot", "nodeType": "YUL_IDENTIFIER", "src": { @@ -57924,7 +58004,7 @@ "end": "49887", "length": "4", "line": "1394", - "parentIndex": "3069", + "parentIndex": "3070", "start": "49884" } } @@ -57937,21 +58017,21 @@ } ] }, - "id": "3066", + "id": "3067", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "49905", "length": "47", "line": "1393", - "parentIndex": "3065", + "parentIndex": "3066", "start": "49859" } } } ] }, - "id": "3057", + "id": "3058", "implemented": true, "kind": "KIND_FUNCTION", "name": "getAddressSlot", @@ -57960,25 +58040,25 @@ "end": "49744", "length": "14", "line": "1391", - "parentIndex": "3057", + "parentIndex": "3058", "start": "49731" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3058", + "id": "3059", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3059", + "id": "3060", "name": "slot", "nodeType": "VARIABLE_DECLARATION", - "scope": "3059", + "scope": "3060", "src": { "column": "28", "end": "49757", "length": "12", "line": "1391", - "parentIndex": "3058", + "parentIndex": "3059", "start": "49746" }, "stateMutability": "MUTABLE", @@ -57988,7 +58068,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3060", + "id": "3061", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57996,7 +58076,7 @@ "end": "49752", "length": "7", "line": "1391", - "parentIndex": "3059", + "parentIndex": "3060", "start": "49746" }, "typeDescription": { @@ -58012,69 +58092,69 @@ "end": "49757", "length": "12", "line": "1391", - "parentIndex": "3057", + "parentIndex": "3058", "start": "49746" } }, "returnParameters": { - "id": "3061", + "id": "3062", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3062", + "id": "3063", "name": "r", "nodeType": "VARIABLE_DECLARATION", - "scope": "3062", + "scope": "3063", "src": { "column": "65", "end": "49803", "length": "21", "line": "1391", - "parentIndex": "3061", + "parentIndex": "3062", "start": "49783" }, "stateMutability": "MUTABLE", "storageLocation": "STORAGE", "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "typeString": "struct StorageSlotUpgradeable.AddressSlot" }, "typeName": { - "id": "3063", + "id": "3064", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3064", + "id": "3065", "name": "AddressSlot", "nameLocation": { "column": "65", "end": "49793", "length": "11", "line": "1391", - "parentIndex": "3063", + "parentIndex": "3064", "start": "49783" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3041", + "referencedDeclaration": "3042", "src": { "column": "65", "end": "49793", "length": "11", "line": "1391", - "parentIndex": "3063", + "parentIndex": "3064", "start": "49783" } }, - "referencedDeclaration": "3041", + "referencedDeclaration": "3042", "src": { "column": "65", "end": "49793", "length": "11", "line": "1391", - "parentIndex": "3062", + "parentIndex": "3063", "start": "49783" }, "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "typeString": "struct StorageSlotUpgradeable.AddressSlot" } }, @@ -58086,18 +58166,18 @@ "end": "49803", "length": "21", "line": "1391", - "parentIndex": "3057", + "parentIndex": "3058", "start": "49783" } }, - "scope": "3039", + "scope": "3040", "signature": "e8ff0b1d", "src": { "column": "4", "end": "49911", "length": "190", "line": "1391", - "parentIndex": "3039", + "parentIndex": "3040", "start": "49722" }, "stateMutability": "PURE", @@ -58112,7 +58192,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3082", + "id": "3083", "implemented": true, "nodeType": "BLOCK", "src": { @@ -58120,7 +58200,7 @@ "end": "50199", "length": "106", "line": "1401", - "parentIndex": "3074", + "parentIndex": "3075", "start": "50094" }, "statements": [ @@ -58128,55 +58208,55 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "3084", + "id": "3085", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "50193", "length": "47", "line": "1403", - "parentIndex": "3083", + "parentIndex": "3084", "start": "50147" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3085", + "id": "3086", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "50183", "length": "14", "line": "1404", - "parentIndex": "3083", + "parentIndex": "3084", "start": "50170" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "3086", + "id": "3087", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "50183", "length": "14", "line": "1404", - "parentIndex": "3083", + "parentIndex": "3084", "start": "50170" }, "value": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulExpressionStatement", "value": { - "id": "3089", + "id": "3090", "nodeType": "YUL_EXPRESSION", "src": { "column": "22", "end": "50183", "length": "4", "line": "1404", - "parentIndex": "3086", + "parentIndex": "3087", "start": "50180" } } @@ -58185,7 +58265,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3087", + "id": "3088", "name": "r", "nodeType": "YUL_IDENTIFIER", "src": { @@ -58193,7 +58273,7 @@ "end": "50170", "length": "1", "line": "1404", - "parentIndex": "3086", + "parentIndex": "3087", "start": "50170" } } @@ -58201,7 +58281,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3088", + "id": "3089", "name": "slot", "nodeType": "YUL_IDENTIFIER", "src": { @@ -58209,7 +58289,7 @@ "end": "50175", "length": "4", "line": "1404", - "parentIndex": "3086", + "parentIndex": "3087", "start": "50172" } } @@ -58222,21 +58302,21 @@ } ] }, - "id": "3083", + "id": "3084", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "50193", "length": "47", "line": "1403", - "parentIndex": "3082", + "parentIndex": "3083", "start": "50147" } } } ] }, - "id": "3074", + "id": "3075", "implemented": true, "kind": "KIND_FUNCTION", "name": "getBooleanSlot", @@ -58245,25 +58325,25 @@ "end": "50032", "length": "14", "line": "1401", - "parentIndex": "3074", + "parentIndex": "3075", "start": "50019" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3075", + "id": "3076", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3076", + "id": "3077", "name": "slot", "nodeType": "VARIABLE_DECLARATION", - "scope": "3076", + "scope": "3077", "src": { "column": "28", "end": "50045", "length": "12", "line": "1401", - "parentIndex": "3075", + "parentIndex": "3076", "start": "50034" }, "stateMutability": "MUTABLE", @@ -58273,7 +58353,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3077", + "id": "3078", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -58281,7 +58361,7 @@ "end": "50040", "length": "7", "line": "1401", - "parentIndex": "3076", + "parentIndex": "3077", "start": "50034" }, "typeDescription": { @@ -58297,69 +58377,69 @@ "end": "50045", "length": "12", "line": "1401", - "parentIndex": "3074", + "parentIndex": "3075", "start": "50034" } }, "returnParameters": { - "id": "3078", + "id": "3079", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3079", + "id": "3080", "name": "r", "nodeType": "VARIABLE_DECLARATION", - "scope": "3079", + "scope": "3080", "src": { "column": "65", "end": "50091", "length": "21", "line": "1401", - "parentIndex": "3078", + "parentIndex": "3079", "start": "50071" }, "stateMutability": "MUTABLE", "storageLocation": "STORAGE", "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "typeString": "struct StorageSlotUpgradeable.BooleanSlot" }, "typeName": { - "id": "3080", + "id": "3081", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3081", + "id": "3082", "name": "BooleanSlot", "nameLocation": { "column": "65", "end": "50081", "length": "11", "line": "1401", - "parentIndex": "3080", + "parentIndex": "3081", "start": "50071" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3045", + "referencedDeclaration": "3046", "src": { "column": "65", "end": "50081", "length": "11", "line": "1401", - "parentIndex": "3080", + "parentIndex": "3081", "start": "50071" } }, - "referencedDeclaration": "3045", + "referencedDeclaration": "3046", "src": { "column": "65", "end": "50081", "length": "11", "line": "1401", - "parentIndex": "3079", + "parentIndex": "3080", "start": "50071" }, "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "typeString": "struct StorageSlotUpgradeable.BooleanSlot" } }, @@ -58371,18 +58451,18 @@ "end": "50091", "length": "21", "line": "1401", - "parentIndex": "3074", + "parentIndex": "3075", "start": "50071" } }, - "scope": "3039", + "scope": "3040", "signature": "37f4a46d", "src": { "column": "4", "end": "50199", "length": "190", "line": "1401", - "parentIndex": "3039", + "parentIndex": "3040", "start": "50010" }, "stateMutability": "PURE", @@ -58397,7 +58477,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3099", + "id": "3100", "implemented": true, "nodeType": "BLOCK", "src": { @@ -58405,7 +58485,7 @@ "end": "50487", "length": "106", "line": "1411", - "parentIndex": "3091", + "parentIndex": "3092", "start": "50382" }, "statements": [ @@ -58413,55 +58493,55 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "3101", + "id": "3102", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "50481", "length": "47", "line": "1413", - "parentIndex": "3100", + "parentIndex": "3101", "start": "50435" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3102", + "id": "3103", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "50471", "length": "14", "line": "1414", - "parentIndex": "3100", + "parentIndex": "3101", "start": "50458" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "3103", + "id": "3104", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "50471", "length": "14", "line": "1414", - "parentIndex": "3100", + "parentIndex": "3101", "start": "50458" }, "value": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulExpressionStatement", "value": { - "id": "3106", + "id": "3107", "nodeType": "YUL_EXPRESSION", "src": { "column": "22", "end": "50471", "length": "4", "line": "1414", - "parentIndex": "3103", + "parentIndex": "3104", "start": "50468" } } @@ -58470,7 +58550,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3104", + "id": "3105", "name": "r", "nodeType": "YUL_IDENTIFIER", "src": { @@ -58478,7 +58558,7 @@ "end": "50458", "length": "1", "line": "1414", - "parentIndex": "3103", + "parentIndex": "3104", "start": "50458" } } @@ -58486,7 +58566,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3105", + "id": "3106", "name": "slot", "nodeType": "YUL_IDENTIFIER", "src": { @@ -58494,7 +58574,7 @@ "end": "50463", "length": "4", "line": "1414", - "parentIndex": "3103", + "parentIndex": "3104", "start": "50460" } } @@ -58507,21 +58587,21 @@ } ] }, - "id": "3100", + "id": "3101", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "50481", "length": "47", "line": "1413", - "parentIndex": "3099", + "parentIndex": "3100", "start": "50435" } } } ] }, - "id": "3091", + "id": "3092", "implemented": true, "kind": "KIND_FUNCTION", "name": "getBytes32Slot", @@ -58530,25 +58610,25 @@ "end": "50320", "length": "14", "line": "1411", - "parentIndex": "3091", + "parentIndex": "3092", "start": "50307" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3092", + "id": "3093", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3093", + "id": "3094", "name": "slot", "nodeType": "VARIABLE_DECLARATION", - "scope": "3093", + "scope": "3094", "src": { "column": "28", "end": "50333", "length": "12", "line": "1411", - "parentIndex": "3092", + "parentIndex": "3093", "start": "50322" }, "stateMutability": "MUTABLE", @@ -58558,7 +58638,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3094", + "id": "3095", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -58566,7 +58646,7 @@ "end": "50328", "length": "7", "line": "1411", - "parentIndex": "3093", + "parentIndex": "3094", "start": "50322" }, "typeDescription": { @@ -58582,69 +58662,69 @@ "end": "50333", "length": "12", "line": "1411", - "parentIndex": "3091", + "parentIndex": "3092", "start": "50322" } }, "returnParameters": { - "id": "3095", + "id": "3096", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3096", + "id": "3097", "name": "r", "nodeType": "VARIABLE_DECLARATION", - "scope": "3096", + "scope": "3097", "src": { "column": "65", "end": "50379", "length": "21", "line": "1411", - "parentIndex": "3095", + "parentIndex": "3096", "start": "50359" }, "stateMutability": "MUTABLE", "storageLocation": "STORAGE", "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "typeString": "struct StorageSlotUpgradeable.Bytes32Slot" }, "typeName": { - "id": "3097", + "id": "3098", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3098", + "id": "3099", "name": "Bytes32Slot", "nameLocation": { "column": "65", "end": "50369", "length": "11", "line": "1411", - "parentIndex": "3097", + "parentIndex": "3098", "start": "50359" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3049", + "referencedDeclaration": "3050", "src": { "column": "65", "end": "50369", "length": "11", "line": "1411", - "parentIndex": "3097", + "parentIndex": "3098", "start": "50359" } }, - "referencedDeclaration": "3049", + "referencedDeclaration": "3050", "src": { "column": "65", "end": "50369", "length": "11", "line": "1411", - "parentIndex": "3096", + "parentIndex": "3097", "start": "50359" }, "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "typeString": "struct StorageSlotUpgradeable.Bytes32Slot" } }, @@ -58656,18 +58736,18 @@ "end": "50379", "length": "21", "line": "1411", - "parentIndex": "3091", + "parentIndex": "3092", "start": "50359" } }, - "scope": "3039", + "scope": "3040", "signature": "dd4e2762", "src": { "column": "4", "end": "50487", "length": "190", "line": "1411", - "parentIndex": "3039", + "parentIndex": "3040", "start": "50298" }, "stateMutability": "PURE", @@ -58682,7 +58762,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3116", + "id": "3117", "implemented": true, "nodeType": "BLOCK", "src": { @@ -58690,7 +58770,7 @@ "end": "50775", "length": "106", "line": "1421", - "parentIndex": "3108", + "parentIndex": "3109", "start": "50670" }, "statements": [ @@ -58698,55 +58778,55 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "3118", + "id": "3119", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "50769", "length": "47", "line": "1423", - "parentIndex": "3117", + "parentIndex": "3118", "start": "50723" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3119", + "id": "3120", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "50759", "length": "14", "line": "1424", - "parentIndex": "3117", + "parentIndex": "3118", "start": "50746" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "3120", + "id": "3121", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "50759", "length": "14", "line": "1424", - "parentIndex": "3117", + "parentIndex": "3118", "start": "50746" }, "value": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulExpressionStatement", "value": { - "id": "3123", + "id": "3124", "nodeType": "YUL_EXPRESSION", "src": { "column": "22", "end": "50759", "length": "4", "line": "1424", - "parentIndex": "3120", + "parentIndex": "3121", "start": "50756" } } @@ -58755,7 +58835,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3121", + "id": "3122", "name": "r", "nodeType": "YUL_IDENTIFIER", "src": { @@ -58763,7 +58843,7 @@ "end": "50746", "length": "1", "line": "1424", - "parentIndex": "3120", + "parentIndex": "3121", "start": "50746" } } @@ -58771,7 +58851,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3122", + "id": "3123", "name": "slot", "nodeType": "YUL_IDENTIFIER", "src": { @@ -58779,7 +58859,7 @@ "end": "50751", "length": "4", "line": "1424", - "parentIndex": "3120", + "parentIndex": "3121", "start": "50748" } } @@ -58792,21 +58872,21 @@ } ] }, - "id": "3117", + "id": "3118", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "50769", "length": "47", "line": "1423", - "parentIndex": "3116", + "parentIndex": "3117", "start": "50723" } } } ] }, - "id": "3108", + "id": "3109", "implemented": true, "kind": "KIND_FUNCTION", "name": "getUint256Slot", @@ -58815,25 +58895,25 @@ "end": "50608", "length": "14", "line": "1421", - "parentIndex": "3108", + "parentIndex": "3109", "start": "50595" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3109", + "id": "3110", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3110", + "id": "3111", "name": "slot", "nodeType": "VARIABLE_DECLARATION", - "scope": "3110", + "scope": "3111", "src": { "column": "28", "end": "50621", "length": "12", "line": "1421", - "parentIndex": "3109", + "parentIndex": "3110", "start": "50610" }, "stateMutability": "MUTABLE", @@ -58843,7 +58923,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3111", + "id": "3112", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -58851,7 +58931,7 @@ "end": "50616", "length": "7", "line": "1421", - "parentIndex": "3110", + "parentIndex": "3111", "start": "50610" }, "typeDescription": { @@ -58867,69 +58947,69 @@ "end": "50621", "length": "12", "line": "1421", - "parentIndex": "3108", + "parentIndex": "3109", "start": "50610" } }, "returnParameters": { - "id": "3112", + "id": "3113", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3113", + "id": "3114", "name": "r", "nodeType": "VARIABLE_DECLARATION", - "scope": "3113", + "scope": "3114", "src": { "column": "65", "end": "50667", "length": "21", "line": "1421", - "parentIndex": "3112", + "parentIndex": "3113", "start": "50647" }, "stateMutability": "MUTABLE", "storageLocation": "STORAGE", "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "typeString": "struct StorageSlotUpgradeable.Uint256Slot" }, "typeName": { - "id": "3114", + "id": "3115", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3115", + "id": "3116", "name": "Uint256Slot", "nameLocation": { "column": "65", "end": "50657", "length": "11", "line": "1421", - "parentIndex": "3114", + "parentIndex": "3115", "start": "50647" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3053", + "referencedDeclaration": "3054", "src": { "column": "65", "end": "50657", "length": "11", "line": "1421", - "parentIndex": "3114", + "parentIndex": "3115", "start": "50647" } }, - "referencedDeclaration": "3053", + "referencedDeclaration": "3054", "src": { "column": "65", "end": "50657", "length": "11", "line": "1421", - "parentIndex": "3113", + "parentIndex": "3114", "start": "50647" }, "typeDescription": { - "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "typeIdentifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "typeString": "struct StorageSlotUpgradeable.Uint256Slot" } }, @@ -58941,18 +59021,18 @@ "end": "50667", "length": "21", "line": "1421", - "parentIndex": "3108", + "parentIndex": "3109", "start": "50647" } }, - "scope": "3039", + "scope": "3040", "signature": "949a352c", "src": { "column": "4", "end": "50775", "length": "190", "line": "1421", - "parentIndex": "3039", + "parentIndex": "3040", "start": "50586" }, "stateMutability": "PURE", @@ -58968,7 +59048,7 @@ "end": "50777", "length": "1402", "line": "1371", - "parentIndex": "3006", + "parentIndex": "3007", "start": "49376" } } @@ -58984,38 +59064,38 @@ } }, { - "id": 3124, + "id": 3125, "license": "MIT", "name": "ERC1967UpgradeUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC1967UpgradeUpgradeable.sol", "exported_symbols": [ { - "id": 3124, + "id": 3125, "name": "ERC1967UpgradeUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC1967UpgradeUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "IBeaconUpgradeable", "absolute_path": "IBeaconUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "draft-IERC1822Upgradeable", "absolute_path": "draft-IERC1822Upgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "AddressUpgradeable", "absolute_path": "AddressUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "StorageSlotUpgradeable", "absolute_path": "StorageSlotUpgradeable.sol" }, { - "id": 3006, + "id": 3007, "name": "Initializable", "absolute_path": "Initializable.sol" } @@ -59026,7 +59106,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "3139", + "id": "3140", "literals": [ "pragma", "solidity", @@ -59043,7 +59123,7 @@ "end": "50919", "length": "23", "line": "1433", - "parentIndex": "3124", + "parentIndex": "3125", "start": "50897" }, "text": "pragma solidity ^0.8.2;" @@ -59054,15 +59134,15 @@ "value": { "absolutePath": "IBeaconUpgradeable.sol", "file": "./IBeaconUpgradeable.sol", - "id": "3158", + "id": "3159", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3124", - "sourceUnit": "3006", + "scope": "3125", + "sourceUnit": "3007", "src": { "end": "50955", "length": "34", "line": "1435", - "parentIndex": "3124", + "parentIndex": "3125", "start": "50922" } } @@ -59072,15 +59152,15 @@ "value": { "absolutePath": "draft-IERC1822Upgradeable.sol", "file": "./draft-IERC1822Upgradeable.sol", - "id": "3159", + "id": "3160", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3124", - "sourceUnit": "3006", + "scope": "3125", + "sourceUnit": "3007", "src": { "end": "50997", "length": "41", "line": "1436", - "parentIndex": "3124", + "parentIndex": "3125", "start": "50957" } } @@ -59090,15 +59170,15 @@ "value": { "absolutePath": "AddressUpgradeable.sol", "file": "./AddressUpgradeable.sol", - "id": "3160", + "id": "3161", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3124", - "sourceUnit": "3006", + "scope": "3125", + "sourceUnit": "3007", "src": { "end": "51032", "length": "34", "line": "1437", - "parentIndex": "3124", + "parentIndex": "3125", "start": "50999" } } @@ -59108,15 +59188,15 @@ "value": { "absolutePath": "StorageSlotUpgradeable.sol", "file": "./StorageSlotUpgradeable.sol", - "id": "3161", + "id": "3162", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3124", - "sourceUnit": "3006", + "scope": "3125", + "sourceUnit": "3007", "src": { "end": "51071", "length": "38", "line": "1438", - "parentIndex": "3124", + "parentIndex": "3125", "start": "51034" } } @@ -59126,15 +59206,15 @@ "value": { "absolutePath": "Initializable.sol", "file": "./Initializable.sol", - "id": "3162", + "id": "3163", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3124", - "sourceUnit": "3006", + "scope": "3125", + "sourceUnit": "3007", "src": { "end": "51101", "length": "29", "line": "1439", - "parentIndex": "3124", + "parentIndex": "3125", "start": "51073" } } @@ -59145,7 +59225,7 @@ "baseContracts": [ { "baseName": { - "id": "3165", + "id": "3166", "name": "Initializable", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1894", @@ -59154,41 +59234,41 @@ "end": "51400", "length": "13", "line": "1449", - "parentIndex": "3163", + "parentIndex": "3164", "start": "51388" } }, - "id": "3164", + "id": "3165", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "47", "end": "51400", "length": "13", "line": "1449", - "parentIndex": "3163", + "parentIndex": "3164", "start": "51388" } } ], "contractDependencies": [ "1894", - "3158", "3159", "3160", "3161", - "3162" + "3162", + "3163" ], "fullyImplemented": true, - "id": "3163", + "id": "3164", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ "1894", - "3163", - "3158", + "3164", "3159", "3160", "3161", - "3162" + "3162", + "3163" ], "name": "ERC1967UpgradeUpgradeable", "nameLocation": { @@ -59196,7 +59276,7 @@ "end": "51383", "length": "25", "line": "1449", - "parentIndex": "3163", + "parentIndex": "3164", "start": "51359" }, "nodeType": "CONTRACT_DEFINITION", @@ -59205,7 +59285,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3172", + "id": "3173", "implemented": true, "nodeType": "BLOCK", "src": { @@ -59213,26 +59293,26 @@ "end": "51473", "length": "7", "line": "1450", - "parentIndex": "3167", + "parentIndex": "3168", "start": "51467" } }, - "id": "3167", + "id": "3168", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3169", + "id": "3170", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3170", + "id": "3171", "name": "onlyInitializing", "src": { "column": "46", "end": "51465", "length": "16", "line": "1450", - "parentIndex": "3169", + "parentIndex": "3170", "start": "51450" } }, @@ -59243,7 +59323,7 @@ "end": "51465", "length": "16", "line": "1450", - "parentIndex": "3167", + "parentIndex": "3168", "start": "51450" } } @@ -59254,42 +59334,42 @@ "end": "51437", "length": "21", "line": "1450", - "parentIndex": "3167", + "parentIndex": "3168", "start": "51417" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3168", + "id": "3169", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "51473", "length": "66", "line": "1450", - "parentIndex": "3167", + "parentIndex": "3168", "start": "51408" } }, "returnParameters": { - "id": "3171", + "id": "3172", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "51473", "length": "66", "line": "1450", - "parentIndex": "3167", + "parentIndex": "3168", "start": "51408" } }, - "scope": "3163", + "scope": "3164", "signature": "d69dce32", "src": { "column": "4", "end": "51473", "length": "66", "line": "1450", - "parentIndex": "3163", + "parentIndex": "3164", "start": "51408" }, "stateMutability": "NONPAYABLE", @@ -59304,7 +59384,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3179", + "id": "3180", "implemented": true, "nodeType": "BLOCK", "src": { @@ -59312,26 +59392,26 @@ "end": "51555", "length": "7", "line": "1453", - "parentIndex": "3174", + "parentIndex": "3175", "start": "51549" } }, - "id": "3174", + "id": "3175", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3176", + "id": "3177", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3177", + "id": "3178", "name": "onlyInitializing", "src": { "column": "56", "end": "51547", "length": "16", "line": "1453", - "parentIndex": "3176", + "parentIndex": "3177", "start": "51532" } }, @@ -59342,7 +59422,7 @@ "end": "51547", "length": "16", "line": "1453", - "parentIndex": "3174", + "parentIndex": "3175", "start": "51532" } } @@ -59353,42 +59433,42 @@ "end": "51519", "length": "31", "line": "1453", - "parentIndex": "3174", + "parentIndex": "3175", "start": "51489" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3175", + "id": "3176", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "51555", "length": "76", "line": "1453", - "parentIndex": "3174", + "parentIndex": "3175", "start": "51480" } }, "returnParameters": { - "id": "3178", + "id": "3179", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "51555", "length": "76", "line": "1453", - "parentIndex": "3174", + "parentIndex": "3175", "start": "51480" } }, - "scope": "3163", + "scope": "3164", "signature": "0f039eff", "src": { "column": "4", "end": "51555", "length": "76", "line": "1453", - "parentIndex": "3163", + "parentIndex": "3164", "start": "51480" }, "stateMutability": "NONPAYABLE", @@ -59402,12 +59482,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3181", + "id": "3182", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307834393130666466613136666564333236306564306537313437663763633664613131613630323038623562393430366431326136333536313466666439313433", - "id": "3183", + "id": "3184", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -59416,7 +59496,7 @@ "end": "51747", "length": "66", "line": "1456", - "parentIndex": "3181", + "parentIndex": "3182", "start": "51682" }, "typeDescription": { @@ -59430,13 +59510,13 @@ "isStateVariable": true, "name": "_ROLLBACK_SLOT", "nodeType": "VARIABLE_DECLARATION", - "scope": "3163", + "scope": "3164", "src": { "column": "4", "end": "51748", "length": "109", "line": "1456", - "parentIndex": "3163", + "parentIndex": "3164", "start": "51640" }, "stateMutability": "MUTABLE", @@ -59446,7 +59526,7 @@ "typeString": "int_const 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" }, "typeName": { - "id": "3182", + "id": "3183", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -59454,7 +59534,7 @@ "end": "51646", "length": "7", "line": "1456", - "parentIndex": "3181", + "parentIndex": "3182", "start": "51640" }, "typeDescription": { @@ -59468,12 +59548,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3185", + "id": "3186", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", - "id": "3187", + "id": "3188", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -59482,7 +59562,7 @@ "end": "52088", "length": "66", "line": "1463", - "parentIndex": "3185", + "parentIndex": "3186", "start": "52023" }, "typeDescription": { @@ -59496,13 +59576,13 @@ "isStateVariable": true, "name": "_IMPLEMENTATION_SLOT", "nodeType": "VARIABLE_DECLARATION", - "scope": "3163", + "scope": "3164", "src": { "column": "4", "end": "52089", "length": "116", "line": "1463", - "parentIndex": "3163", + "parentIndex": "3164", "start": "51974" }, "stateMutability": "MUTABLE", @@ -59512,7 +59592,7 @@ "typeString": "int_const 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" }, "typeName": { - "id": "3186", + "id": "3187", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -59520,7 +59600,7 @@ "end": "51980", "length": "7", "line": "1463", - "parentIndex": "3185", + "parentIndex": "3186", "start": "51974" }, "typeDescription": { @@ -59534,25 +59614,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3189", + "id": "3190", "name": "Upgraded", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3190", + "id": "3191", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3191", + "id": "3192", "indexed": true, "name": "implementation", "nodeType": "VARIABLE_DECLARATION", - "scope": "3191", + "scope": "3192", "src": { "column": "19", "end": "52213", "length": "30", "line": "1468", - "parentIndex": "3190", + "parentIndex": "3191", "start": "52184" }, "stateMutability": "NONPAYABLE", @@ -59562,7 +59642,7 @@ "typeString": "address" }, "typeName": { - "id": "3192", + "id": "3193", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -59570,7 +59650,7 @@ "end": "52190", "length": "7", "line": "1468", - "parentIndex": "3191", + "parentIndex": "3192", "start": "52184" }, "stateMutability": "NONPAYABLE", @@ -59587,7 +59667,7 @@ "end": "52215", "length": "47", "line": "1468", - "parentIndex": "3189", + "parentIndex": "3190", "start": "52169" } }, @@ -59596,11 +59676,11 @@ "end": "52215", "length": "47", "line": "1468", - "parentIndex": "3163", + "parentIndex": "3164", "start": "52169" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263189", + "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263190", "typeString": "event ERC1967UpgradeUpgradeable.Upgraded" } } @@ -59609,7 +59689,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3201", + "id": "3202", "implemented": true, "nodeType": "BLOCK", "src": { @@ -59617,7 +59697,7 @@ "end": "52444", "length": "89", "line": "1473", - "parentIndex": "3194", + "parentIndex": "3195", "start": "52356" }, "statements": [ @@ -59640,7 +59720,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3207", + "id": "3208", "name": "_IMPLEMENTATION_SLOT", "nodeType": "IDENTIFIER", "src": { @@ -59648,7 +59728,7 @@ "end": "52430", "length": "20", "line": "1474", - "parentIndex": "3204", + "parentIndex": "3205", "start": "52411" }, "typeDescription": { @@ -59664,31 +59744,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3206", + "id": "3207", "name": "StorageSlotUpgradeable", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3006", + "referencedDeclaration": "3007", "src": { "column": "15", "end": "52394", "length": "22", "line": "1474", - "parentIndex": "3205", + "parentIndex": "3206", "start": "52373" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3205", + "id": "3206", "memberLocation": { "column": "38", "end": "52409", "length": "14", "line": "1474", - "parentIndex": "3205", + "parentIndex": "3206", "start": "52396" }, "memberName": "getAddressSlot", @@ -59698,16 +59778,16 @@ "end": "52409", "length": "37", "line": "1474", - "parentIndex": "3204", + "parentIndex": "3205", "start": "52373" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3204", + "id": "3205", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -59715,7 +59795,7 @@ "end": "52431", "length": "59", "line": "1474", - "parentIndex": "3203", + "parentIndex": "3204", "start": "52373" }, "typeDescription": { @@ -59724,13 +59804,13 @@ } } }, - "id": "3203", + "id": "3204", "memberLocation": { "column": "75", "end": "52437", "length": "5", "line": "1474", - "parentIndex": "3203", + "parentIndex": "3204", "start": "52433" }, "memberName": "value", @@ -59740,7 +59820,7 @@ "end": "52437", "length": "65", "line": "1474", - "parentIndex": "3202", + "parentIndex": "3203", "start": "52373" }, "typeDescription": { @@ -59749,15 +59829,15 @@ } } }, - "functionReturnParameters": "3194", - "id": "3202", + "functionReturnParameters": "3195", + "id": "3203", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "52438", "length": "73", "line": "1474", - "parentIndex": "3194", + "parentIndex": "3195", "start": "52366" }, "typeDescription": { @@ -59768,7 +59848,7 @@ } ] }, - "id": "3194", + "id": "3195", "implemented": true, "kind": "KIND_FUNCTION", "name": "_getImplementation", @@ -59777,24 +59857,24 @@ "end": "52320", "length": "18", "line": "1473", - "parentIndex": "3194", + "parentIndex": "3195", "start": "52303" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3195", + "id": "3196", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3196", + "id": "3197", "nodeType": "VARIABLE_DECLARATION", - "scope": "3196", + "scope": "3197", "src": { "column": "57", "end": "52353", "length": "7", "line": "1473", - "parentIndex": "3195", + "parentIndex": "3196", "start": "52347" }, "stateMutability": "NONPAYABLE", @@ -59804,7 +59884,7 @@ "typeString": "address" }, "typeName": { - "id": "3197", + "id": "3198", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -59812,7 +59892,7 @@ "end": "52353", "length": "7", "line": "1473", - "parentIndex": "3196", + "parentIndex": "3197", "start": "52347" }, "stateMutability": "NONPAYABLE", @@ -59829,24 +59909,24 @@ "end": "52353", "length": "7", "line": "1473", - "parentIndex": "3194", + "parentIndex": "3195", "start": "52347" } }, "returnParameters": { - "id": "3198", + "id": "3199", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3199", + "id": "3200", "nodeType": "VARIABLE_DECLARATION", - "scope": "3199", + "scope": "3200", "src": { "column": "57", "end": "52353", "length": "7", "line": "1473", - "parentIndex": "3198", + "parentIndex": "3199", "start": "52347" }, "stateMutability": "NONPAYABLE", @@ -59856,7 +59936,7 @@ "typeString": "address" }, "typeName": { - "id": "3200", + "id": "3201", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -59864,7 +59944,7 @@ "end": "52353", "length": "7", "line": "1473", - "parentIndex": "3199", + "parentIndex": "3200", "start": "52347" }, "stateMutability": "NONPAYABLE", @@ -59881,18 +59961,18 @@ "end": "52353", "length": "7", "line": "1473", - "parentIndex": "3194", + "parentIndex": "3195", "start": "52347" } }, - "scope": "3163", + "scope": "3164", "signature": "c54e44b0", "src": { "column": "4", "end": "52444", "length": "151", "line": "1473", - "parentIndex": "3163", + "parentIndex": "3164", "start": "52294" }, "stateMutability": "VIEW", @@ -59907,7 +59987,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3214", + "id": "3215", "implemented": true, "nodeType": "BLOCK", "src": { @@ -59915,7 +59995,7 @@ "end": "52816", "length": "218", "line": "1480", - "parentIndex": "3209", + "parentIndex": "3210", "start": "52599" }, "statements": [ @@ -59946,16 +60026,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3220", + "id": "3221", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3220", + "referencedDeclaration": "3221", "src": { "column": "46", "end": "52663", "length": "17", "line": "1481", - "parentIndex": "3217", + "parentIndex": "3218", "start": "52647" }, "typeDescription": { @@ -59971,7 +60051,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3219", + "id": "3220", "name": "AddressUpgradeable", "nodeType": "IDENTIFIER", "referencedDeclaration": "1659", @@ -59980,7 +60060,7 @@ "end": "52634", "length": "18", "line": "1481", - "parentIndex": "3218", + "parentIndex": "3219", "start": "52617" }, "typeDescription": { @@ -59989,13 +60069,13 @@ } } }, - "id": "3218", + "id": "3219", "memberLocation": { "column": "35", "end": "52645", "length": "10", "line": "1481", - "parentIndex": "3218", + "parentIndex": "3219", "start": "52636" }, "memberName": "isContract", @@ -60005,7 +60085,7 @@ "end": "52645", "length": "29", "line": "1481", - "parentIndex": "3217", + "parentIndex": "3218", "start": "52617" }, "typeDescription": { @@ -60014,7 +60094,7 @@ } } }, - "id": "3217", + "id": "3218", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60022,7 +60102,7 @@ "end": "52664", "length": "48", "line": "1481", - "parentIndex": "3215", + "parentIndex": "3216", "start": "52617" }, "typeDescription": { @@ -60041,7 +60121,7 @@ } ], "hexValue": "455243313936373a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374", - "id": "3221", + "id": "3222", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -60050,7 +60130,7 @@ "end": "52713", "length": "47", "line": "1481", - "parentIndex": "3215", + "parentIndex": "3216", "start": "52667" }, "typeDescription": { @@ -60064,7 +60144,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3216", + "id": "3217", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -60073,7 +60153,7 @@ "end": "52615", "length": "7", "line": "1481", - "parentIndex": "3215", + "parentIndex": "3216", "start": "52609" }, "typeDescription": { @@ -60082,7 +60162,7 @@ } } }, - "id": "3215", + "id": "3216", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60090,7 +60170,7 @@ "end": "52714", "length": "106", "line": "1481", - "parentIndex": "3214", + "parentIndex": "3215", "start": "52609" }, "typeDescription": { @@ -60105,7 +60185,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3223", + "id": "3224", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -60122,7 +60202,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3228", + "id": "3229", "name": "_IMPLEMENTATION_SLOT", "nodeType": "IDENTIFIER", "src": { @@ -60130,7 +60210,7 @@ "end": "52782", "length": "20", "line": "1482", - "parentIndex": "3225", + "parentIndex": "3226", "start": "52763" }, "typeDescription": { @@ -60146,31 +60226,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3227", + "id": "3228", "name": "StorageSlotUpgradeable", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3006", + "referencedDeclaration": "3007", "src": { "column": "8", "end": "52746", "length": "22", "line": "1482", - "parentIndex": "3226", + "parentIndex": "3227", "start": "52725" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3226", + "id": "3227", "memberLocation": { "column": "31", "end": "52761", "length": "14", "line": "1482", - "parentIndex": "3226", + "parentIndex": "3227", "start": "52748" }, "memberName": "getAddressSlot", @@ -60180,16 +60260,16 @@ "end": "52761", "length": "37", "line": "1482", - "parentIndex": "3225", + "parentIndex": "3226", "start": "52725" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3225", + "id": "3226", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60197,7 +60277,7 @@ "end": "52783", "length": "59", "line": "1482", - "parentIndex": "3224", + "parentIndex": "3225", "start": "52725" }, "typeDescription": { @@ -60206,13 +60286,13 @@ } } }, - "id": "3224", + "id": "3225", "memberLocation": { "column": "68", "end": "52789", "length": "5", "line": "1482", - "parentIndex": "3224", + "parentIndex": "3225", "start": "52785" }, "memberName": "value", @@ -60222,7 +60302,7 @@ "end": "52789", "length": "65", "line": "1482", - "parentIndex": "3223", + "parentIndex": "3224", "start": "52725" }, "typeDescription": { @@ -60236,16 +60316,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3229", + "id": "3230", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3229", + "referencedDeclaration": "3230", "src": { "column": "76", "end": "52809", "length": "17", "line": "1482", - "parentIndex": "3223", + "parentIndex": "3224", "start": "52793" }, "typeDescription": { @@ -60259,7 +60339,7 @@ "end": "52809", "length": "85", "line": "1482", - "parentIndex": "3222", + "parentIndex": "3223", "start": "52725" }, "typeDescription": { @@ -60268,14 +60348,14 @@ } } }, - "id": "3222", + "id": "3223", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "52810", "length": "86", "line": "1482", - "parentIndex": "3214", + "parentIndex": "3215", "start": "52725" }, "typeDescription": { @@ -60286,7 +60366,7 @@ } ] }, - "id": "3209", + "id": "3210", "implemented": true, "kind": "KIND_FUNCTION", "name": "_setImplementation", @@ -60295,25 +60375,25 @@ "end": "52562", "length": "18", "line": "1480", - "parentIndex": "3209", + "parentIndex": "3210", "start": "52545" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3210", + "id": "3211", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3211", + "id": "3212", "name": "newImplementation", "nodeType": "VARIABLE_DECLARATION", - "scope": "3211", + "scope": "3212", "src": { "column": "32", "end": "52588", "length": "25", "line": "1480", - "parentIndex": "3210", + "parentIndex": "3211", "start": "52564" }, "stateMutability": "NONPAYABLE", @@ -60323,7 +60403,7 @@ "typeString": "address" }, "typeName": { - "id": "3212", + "id": "3213", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -60331,7 +60411,7 @@ "end": "52570", "length": "7", "line": "1480", - "parentIndex": "3211", + "parentIndex": "3212", "start": "52564" }, "stateMutability": "NONPAYABLE", @@ -60348,30 +60428,30 @@ "end": "52588", "length": "25", "line": "1480", - "parentIndex": "3209", + "parentIndex": "3210", "start": "52564" } }, "returnParameters": { - "id": "3213", + "id": "3214", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "52816", "length": "281", "line": "1480", - "parentIndex": "3209", + "parentIndex": "3210", "start": "52536" } }, - "scope": "3163", + "scope": "3164", "signature": "bb913f41", "src": { "column": "4", "end": "52816", "length": "281", "line": "1480", - "parentIndex": "3163", + "parentIndex": "3164", "start": "52536" }, "stateMutability": "NONPAYABLE", @@ -60386,7 +60466,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3236", + "id": "3237", "implemented": true, "nodeType": "BLOCK", "src": { @@ -60394,7 +60474,7 @@ "end": "53074", "length": "96", "line": "1490", - "parentIndex": "3231", + "parentIndex": "3232", "start": "52979" }, "statements": [ @@ -60411,16 +60491,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3239", + "id": "3240", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3239", + "referencedDeclaration": "3240", "src": { "column": "27", "end": "53024", "length": "17", "line": "1491", - "parentIndex": "3237", + "parentIndex": "3238", "start": "53008" }, "typeDescription": { @@ -60433,7 +60513,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3238", + "id": "3239", "name": "_setImplementation", "nodeType": "IDENTIFIER", "src": { @@ -60441,7 +60521,7 @@ "end": "53006", "length": "18", "line": "1491", - "parentIndex": "3237", + "parentIndex": "3238", "start": "52989" }, "typeDescription": { @@ -60450,7 +60530,7 @@ } } }, - "id": "3237", + "id": "3238", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60458,7 +60538,7 @@ "end": "53025", "length": "37", "line": "1491", - "parentIndex": "3236", + "parentIndex": "3237", "start": "52989" }, "typeDescription": { @@ -60474,16 +60554,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3241", + "id": "3242", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3241", + "referencedDeclaration": "3242", "src": { "column": "22", "end": "53066", "length": "17", "line": "1492", - "parentIndex": "3240", + "parentIndex": "3241", "start": "53050" }, "typeDescription": { @@ -60496,39 +60576,39 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3242", + "id": "3243", "name": "Upgraded", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3189", + "referencedDeclaration": "3190", "src": { "column": "13", "end": "53048", "length": "8", "line": "1492", - "parentIndex": "3240", + "parentIndex": "3241", "start": "53041" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263189", + "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_Upgraded_\u00263190", "typeString": "event ERC1967UpgradeUpgradeable.Upgraded" } } }, - "id": "3240", + "id": "3241", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "53068", "length": "33", "line": "1492", - "parentIndex": "3231", + "parentIndex": "3232", "start": "53036" } } } ] }, - "id": "3231", + "id": "3232", "implemented": true, "kind": "KIND_FUNCTION", "name": "_upgradeTo", @@ -60537,25 +60617,25 @@ "end": "52941", "length": "10", "line": "1490", - "parentIndex": "3231", + "parentIndex": "3232", "start": "52932" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3232", + "id": "3233", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3233", + "id": "3234", "name": "newImplementation", "nodeType": "VARIABLE_DECLARATION", - "scope": "3233", + "scope": "3234", "src": { "column": "24", "end": "52967", "length": "25", "line": "1490", - "parentIndex": "3232", + "parentIndex": "3233", "start": "52943" }, "stateMutability": "NONPAYABLE", @@ -60565,7 +60645,7 @@ "typeString": "address" }, "typeName": { - "id": "3234", + "id": "3235", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -60573,7 +60653,7 @@ "end": "52949", "length": "7", "line": "1490", - "parentIndex": "3233", + "parentIndex": "3234", "start": "52943" }, "stateMutability": "NONPAYABLE", @@ -60590,30 +60670,30 @@ "end": "52967", "length": "25", "line": "1490", - "parentIndex": "3231", + "parentIndex": "3232", "start": "52943" } }, "returnParameters": { - "id": "3235", + "id": "3236", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "53074", "length": "152", "line": "1490", - "parentIndex": "3231", + "parentIndex": "3232", "start": "52923" } }, - "scope": "3163", + "scope": "3164", "signature": "34140748", "src": { "column": "4", "end": "53074", "length": "152", "line": "1490", - "parentIndex": "3163", + "parentIndex": "3164", "start": "52923" }, "stateMutability": "NONPAYABLE", @@ -60628,7 +60708,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3253", + "id": "3254", "implemented": true, "nodeType": "BLOCK", "src": { @@ -60636,7 +60716,7 @@ "end": "53496", "length": "160", "line": "1504", - "parentIndex": "3244", + "parentIndex": "3245", "start": "53337" }, "statements": [ @@ -60653,16 +60733,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3256", + "id": "3257", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3256", + "referencedDeclaration": "3257", "src": { "column": "19", "end": "53374", "length": "17", "line": "1505", - "parentIndex": "3254", + "parentIndex": "3255", "start": "53358" }, "typeDescription": { @@ -60675,7 +60755,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3255", + "id": "3256", "name": "_upgradeTo", "nodeType": "IDENTIFIER", "src": { @@ -60683,7 +60763,7 @@ "end": "53356", "length": "10", "line": "1505", - "parentIndex": "3254", + "parentIndex": "3255", "start": "53347" }, "typeDescription": { @@ -60692,7 +60772,7 @@ } } }, - "id": "3254", + "id": "3255", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60700,7 +60780,7 @@ "end": "53375", "length": "29", "line": "1505", - "parentIndex": "3253", + "parentIndex": "3254", "start": "53347" }, "typeDescription": { @@ -60713,7 +60793,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "3264", + "id": "3265", "implemented": true, "nodeType": "BLOCK", "src": { @@ -60721,7 +60801,7 @@ "end": "53490", "length": "71", "line": "1506", - "parentIndex": "3244", + "parentIndex": "3245", "start": "53420" }, "statements": [ @@ -60742,16 +60822,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3267", + "id": "3268", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3267", + "referencedDeclaration": "3268", "src": { "column": "34", "end": "53472", "length": "17", "line": "1507", - "parentIndex": "3265", + "parentIndex": "3266", "start": "53456" }, "typeDescription": { @@ -60769,16 +60849,16 @@ "typeString": "address" } ], - "id": "3268", + "id": "3269", "name": "data", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3268", + "referencedDeclaration": "3269", "src": { "column": "53", "end": "53478", "length": "4", "line": "1507", - "parentIndex": "3265", + "parentIndex": "3266", "start": "53475" }, "typeDescription": { @@ -60791,7 +60871,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3266", + "id": "3267", "name": "_functionDelegateCall", "nodeType": "IDENTIFIER", "src": { @@ -60799,7 +60879,7 @@ "end": "53454", "length": "21", "line": "1507", - "parentIndex": "3265", + "parentIndex": "3266", "start": "53434" }, "typeDescription": { @@ -60808,7 +60888,7 @@ } } }, - "id": "3265", + "id": "3266", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60816,7 +60896,7 @@ "end": "53479", "length": "46", "line": "1507", - "parentIndex": "3264", + "parentIndex": "3265", "start": "53434" }, "typeDescription": { @@ -60830,27 +60910,27 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3258", + "id": "3259", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3259", + "id": "3260", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3261", + "id": "3262", "name": "data", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3261", + "referencedDeclaration": "3262", "src": { "column": "12", "end": "53393", "length": "4", "line": "1506", - "parentIndex": "3260", + "parentIndex": "3261", "start": "53390" }, "typeDescription": { @@ -60859,13 +60939,13 @@ } } }, - "id": "3260", + "id": "3261", "memberLocation": { "column": "17", "end": "53400", "length": "6", "line": "1506", - "parentIndex": "3260", + "parentIndex": "3261", "start": "53395" }, "memberName": "length", @@ -60875,7 +60955,7 @@ "end": "53400", "length": "11", "line": "1506", - "parentIndex": "3259", + "parentIndex": "3260", "start": "53390" }, "typeDescription": { @@ -60890,7 +60970,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3262", + "id": "3263", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -60899,7 +60979,7 @@ "end": "53404", "length": "1", "line": "1506", - "parentIndex": "3259", + "parentIndex": "3260", "start": "53404" }, "typeDescription": { @@ -60914,7 +60994,7 @@ "end": "53404", "length": "15", "line": "1506", - "parentIndex": "3258", + "parentIndex": "3259", "start": "53390" }, "typeDescription": { @@ -60928,16 +61008,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3263", + "id": "3264", "name": "forceCall", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3263", + "referencedDeclaration": "3264", "src": { "column": "31", "end": "53417", "length": "9", "line": "1506", - "parentIndex": "3258", + "parentIndex": "3259", "start": "53409" }, "typeDescription": { @@ -60951,7 +61031,7 @@ "end": "53417", "length": "28", "line": "1506", - "parentIndex": "3257", + "parentIndex": "3258", "start": "53390" }, "typeDescription": { @@ -60960,20 +61040,20 @@ } } }, - "id": "3257", + "id": "3258", "nodeType": "IF_STATEMENT", "src": { "end": "53490", "length": "105", "line": "1506", - "parentIndex": "3253", + "parentIndex": "3254", "start": "53386" } } } ] }, - "id": "3244", + "id": "3245", "implemented": true, "kind": "KIND_FUNCTION", "name": "_upgradeToAndCall", @@ -60982,25 +61062,25 @@ "end": "53234", "length": "17", "line": "1500", - "parentIndex": "3244", + "parentIndex": "3245", "start": "53218" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3245", + "id": "3246", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3246", + "id": "3247", "name": "newImplementation", "nodeType": "VARIABLE_DECLARATION", - "scope": "3246", + "scope": "3247", "src": { "column": "8", "end": "53269", "length": "25", "line": "1501", - "parentIndex": "3245", + "parentIndex": "3246", "start": "53245" }, "stateMutability": "NONPAYABLE", @@ -61010,7 +61090,7 @@ "typeString": "address" }, "typeName": { - "id": "3247", + "id": "3248", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61018,7 +61098,7 @@ "end": "53251", "length": "7", "line": "1501", - "parentIndex": "3246", + "parentIndex": "3247", "start": "53245" }, "stateMutability": "NONPAYABLE", @@ -61030,16 +61110,16 @@ "visibility": "INTERNAL" }, { - "id": "3248", + "id": "3249", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "3248", + "scope": "3249", "src": { "column": "8", "end": "53296", "length": "17", "line": "1502", - "parentIndex": "3245", + "parentIndex": "3246", "start": "53280" }, "stateMutability": "MUTABLE", @@ -61049,7 +61129,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3249", + "id": "3250", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61057,7 +61137,7 @@ "end": "53284", "length": "5", "line": "1502", - "parentIndex": "3248", + "parentIndex": "3249", "start": "53280" }, "typeDescription": { @@ -61068,16 +61148,16 @@ "visibility": "INTERNAL" }, { - "id": "3250", + "id": "3251", "name": "forceCall", "nodeType": "VARIABLE_DECLARATION", - "scope": "3250", + "scope": "3251", "src": { "column": "8", "end": "53320", "length": "14", "line": "1503", - "parentIndex": "3245", + "parentIndex": "3246", "start": "53307" }, "stateMutability": "MUTABLE", @@ -61087,7 +61167,7 @@ "typeString": "bool" }, "typeName": { - "id": "3251", + "id": "3252", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61095,7 +61175,7 @@ "end": "53310", "length": "4", "line": "1503", - "parentIndex": "3250", + "parentIndex": "3251", "start": "53307" }, "typeDescription": { @@ -61111,30 +61191,30 @@ "end": "53320", "length": "76", "line": "1501", - "parentIndex": "3244", + "parentIndex": "3245", "start": "53245" } }, "returnParameters": { - "id": "3252", + "id": "3253", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "53496", "length": "288", "line": "1500", - "parentIndex": "3244", + "parentIndex": "3245", "start": "53209" } }, - "scope": "3163", - "signature": "b2f571b5", + "scope": "3164", + "signature": "267b04ae", "src": { "column": "4", "end": "53496", "length": "288", "line": "1500", - "parentIndex": "3163", + "parentIndex": "3164", "start": "53209" }, "stateMutability": "NONPAYABLE", @@ -61149,7 +61229,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3279", + "id": "3280", "implemented": true, "nodeType": "BLOCK", "src": { @@ -61157,7 +61237,7 @@ "end": "54642", "length": "842", "line": "1520", - "parentIndex": "3270", + "parentIndex": "3271", "start": "53801" }, "statements": [ @@ -61165,7 +61245,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "3286", + "id": "3287", "implemented": true, "nodeType": "BLOCK", "src": { @@ -61173,7 +61253,7 @@ "end": "54237", "length": "62", "line": "1524", - "parentIndex": "3270", + "parentIndex": "3271", "start": "54176" }, "statements": [ @@ -61190,16 +61270,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3289", + "id": "3290", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3289", + "referencedDeclaration": "3290", "src": { "column": "31", "end": "54225", "length": "17", "line": "1525", - "parentIndex": "3287", + "parentIndex": "3288", "start": "54209" }, "typeDescription": { @@ -61212,7 +61292,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3288", + "id": "3289", "name": "_setImplementation", "nodeType": "IDENTIFIER", "src": { @@ -61220,7 +61300,7 @@ "end": "54207", "length": "18", "line": "1525", - "parentIndex": "3287", + "parentIndex": "3288", "start": "54190" }, "typeDescription": { @@ -61229,7 +61309,7 @@ } } }, - "id": "3287", + "id": "3288", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -61237,7 +61317,7 @@ "end": "54226", "length": "37", "line": "1525", - "parentIndex": "3286", + "parentIndex": "3287", "start": "54190" }, "typeDescription": { @@ -61264,7 +61344,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3285", + "id": "3286", "name": "_ROLLBACK_SLOT", "nodeType": "IDENTIFIER", "src": { @@ -61272,7 +61352,7 @@ "end": "54166", "length": "14", "line": "1524", - "parentIndex": "3282", + "parentIndex": "3283", "start": "54153" }, "typeDescription": { @@ -61288,31 +61368,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3284", + "id": "3285", "name": "StorageSlotUpgradeable", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3006", + "referencedDeclaration": "3007", "src": { "column": "12", "end": "54136", "length": "22", "line": "1524", - "parentIndex": "3283", + "parentIndex": "3284", "start": "54115" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3283", + "id": "3284", "memberLocation": { "column": "35", "end": "54151", "length": "14", "line": "1524", - "parentIndex": "3283", + "parentIndex": "3284", "start": "54138" }, "memberName": "getBooleanSlot", @@ -61322,16 +61402,16 @@ "end": "54151", "length": "37", "line": "1524", - "parentIndex": "3282", + "parentIndex": "3283", "start": "54115" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3282", + "id": "3283", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -61339,7 +61419,7 @@ "end": "54167", "length": "53", "line": "1524", - "parentIndex": "3281", + "parentIndex": "3282", "start": "54115" }, "typeDescription": { @@ -61348,13 +61428,13 @@ } } }, - "id": "3281", + "id": "3282", "memberLocation": { "column": "66", "end": "54173", "length": "5", "line": "1524", - "parentIndex": "3281", + "parentIndex": "3282", "start": "54169" }, "memberName": "value", @@ -61364,7 +61444,7 @@ "end": "54173", "length": "59", "line": "1524", - "parentIndex": "3280", + "parentIndex": "3281", "start": "54115" }, "typeDescription": { @@ -61373,20 +61453,20 @@ } } }, - "id": "3280", + "id": "3281", "nodeType": "IF_STATEMENT", "src": { "end": "54636", "length": "526", "line": "1524", - "parentIndex": "3279", + "parentIndex": "3280", "start": "54111" } } } ] }, - "id": "3270", + "id": "3271", "implemented": true, "kind": "KIND_FUNCTION", "name": "_upgradeToAndCallUUPS", @@ -61395,25 +61475,25 @@ "end": "53698", "length": "21", "line": "1516", - "parentIndex": "3270", + "parentIndex": "3271", "start": "53678" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3271", + "id": "3272", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3272", + "id": "3273", "name": "newImplementation", "nodeType": "VARIABLE_DECLARATION", - "scope": "3272", + "scope": "3273", "src": { "column": "8", "end": "53733", "length": "25", "line": "1517", - "parentIndex": "3271", + "parentIndex": "3272", "start": "53709" }, "stateMutability": "NONPAYABLE", @@ -61423,7 +61503,7 @@ "typeString": "address" }, "typeName": { - "id": "3273", + "id": "3274", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61431,7 +61511,7 @@ "end": "53715", "length": "7", "line": "1517", - "parentIndex": "3272", + "parentIndex": "3273", "start": "53709" }, "stateMutability": "NONPAYABLE", @@ -61443,16 +61523,16 @@ "visibility": "INTERNAL" }, { - "id": "3274", + "id": "3275", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "3274", + "scope": "3275", "src": { "column": "8", "end": "53760", "length": "17", "line": "1518", - "parentIndex": "3271", + "parentIndex": "3272", "start": "53744" }, "stateMutability": "MUTABLE", @@ -61462,7 +61542,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3275", + "id": "3276", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61470,7 +61550,7 @@ "end": "53748", "length": "5", "line": "1518", - "parentIndex": "3274", + "parentIndex": "3275", "start": "53744" }, "typeDescription": { @@ -61481,16 +61561,16 @@ "visibility": "INTERNAL" }, { - "id": "3276", + "id": "3277", "name": "forceCall", "nodeType": "VARIABLE_DECLARATION", - "scope": "3276", + "scope": "3277", "src": { "column": "8", "end": "53784", "length": "14", "line": "1519", - "parentIndex": "3271", + "parentIndex": "3272", "start": "53771" }, "stateMutability": "MUTABLE", @@ -61500,7 +61580,7 @@ "typeString": "bool" }, "typeName": { - "id": "3277", + "id": "3278", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61508,7 +61588,7 @@ "end": "53774", "length": "4", "line": "1519", - "parentIndex": "3276", + "parentIndex": "3277", "start": "53771" }, "typeDescription": { @@ -61524,30 +61604,30 @@ "end": "53784", "length": "76", "line": "1517", - "parentIndex": "3270", + "parentIndex": "3271", "start": "53709" } }, "returnParameters": { - "id": "3278", + "id": "3279", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "54642", "length": "974", "line": "1516", - "parentIndex": "3270", + "parentIndex": "3271", "start": "53669" } }, - "scope": "3163", - "signature": "4dc600bc", + "scope": "3164", + "signature": "d7a9f039", "src": { "column": "4", "end": "54642", "length": "974", "line": "1516", - "parentIndex": "3163", + "parentIndex": "3164", "start": "53669" }, "stateMutability": "NONPAYABLE", @@ -61561,12 +61641,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3291", + "id": "3292", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307862353331323736383461353638623331373361653133623966386136303136653234336536336236653865653131373864366137313738353062356436313033", - "id": "3293", + "id": "3294", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -61575,7 +61655,7 @@ "end": "54948", "length": "66", "line": "1541", - "parentIndex": "3291", + "parentIndex": "3292", "start": "54883" }, "typeDescription": { @@ -61589,13 +61669,13 @@ "isStateVariable": true, "name": "_ADMIN_SLOT", "nodeType": "VARIABLE_DECLARATION", - "scope": "3163", + "scope": "3164", "src": { "column": "4", "end": "54949", "length": "107", "line": "1541", - "parentIndex": "3163", + "parentIndex": "3164", "start": "54843" }, "stateMutability": "MUTABLE", @@ -61605,7 +61685,7 @@ "typeString": "int_const 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" }, "typeName": { - "id": "3292", + "id": "3293", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61613,7 +61693,7 @@ "end": "54849", "length": "7", "line": "1541", - "parentIndex": "3291", + "parentIndex": "3292", "start": "54843" }, "typeDescription": { @@ -61627,24 +61707,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3295", + "id": "3296", "name": "AdminChanged", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3296", + "id": "3297", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3297", + "id": "3298", "name": "previousAdmin", "nodeType": "VARIABLE_DECLARATION", - "scope": "3297", + "scope": "3298", "src": { "column": "23", "end": "55067", "length": "21", "line": "1546", - "parentIndex": "3296", + "parentIndex": "3297", "start": "55047" }, "stateMutability": "NONPAYABLE", @@ -61654,7 +61734,7 @@ "typeString": "address" }, "typeName": { - "id": "3298", + "id": "3299", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61662,7 +61742,7 @@ "end": "55053", "length": "7", "line": "1546", - "parentIndex": "3297", + "parentIndex": "3298", "start": "55047" }, "stateMutability": "NONPAYABLE", @@ -61674,16 +61754,16 @@ "visibility": "INTERNAL" }, { - "id": "3299", + "id": "3300", "name": "newAdmin", "nodeType": "VARIABLE_DECLARATION", - "scope": "3299", + "scope": "3300", "src": { "column": "46", "end": "55085", "length": "16", "line": "1546", - "parentIndex": "3296", + "parentIndex": "3297", "start": "55070" }, "stateMutability": "NONPAYABLE", @@ -61693,7 +61773,7 @@ "typeString": "address" }, "typeName": { - "id": "3300", + "id": "3301", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61701,7 +61781,7 @@ "end": "55076", "length": "7", "line": "1546", - "parentIndex": "3299", + "parentIndex": "3300", "start": "55070" }, "stateMutability": "NONPAYABLE", @@ -61718,7 +61798,7 @@ "end": "55087", "length": "60", "line": "1546", - "parentIndex": "3295", + "parentIndex": "3296", "start": "55028" } }, @@ -61727,11 +61807,11 @@ "end": "55087", "length": "60", "line": "1546", - "parentIndex": "3163", + "parentIndex": "3164", "start": "55028" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263295", + "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263296", "typeString": "event ERC1967UpgradeUpgradeable.AdminChanged" } } @@ -61740,7 +61820,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3309", + "id": "3310", "implemented": true, "nodeType": "BLOCK", "src": { @@ -61748,7 +61828,7 @@ "end": "55281", "length": "80", "line": "1551", - "parentIndex": "3302", + "parentIndex": "3303", "start": "55202" }, "statements": [ @@ -61771,7 +61851,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3315", + "id": "3316", "name": "_ADMIN_SLOT", "nodeType": "IDENTIFIER", "src": { @@ -61779,7 +61859,7 @@ "end": "55267", "length": "11", "line": "1552", - "parentIndex": "3312", + "parentIndex": "3313", "start": "55257" }, "typeDescription": { @@ -61795,31 +61875,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3314", + "id": "3315", "name": "StorageSlotUpgradeable", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3006", + "referencedDeclaration": "3007", "src": { "column": "15", "end": "55240", "length": "22", "line": "1552", - "parentIndex": "3313", + "parentIndex": "3314", "start": "55219" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3313", + "id": "3314", "memberLocation": { "column": "38", "end": "55255", "length": "14", "line": "1552", - "parentIndex": "3313", + "parentIndex": "3314", "start": "55242" }, "memberName": "getAddressSlot", @@ -61829,16 +61909,16 @@ "end": "55255", "length": "37", "line": "1552", - "parentIndex": "3312", + "parentIndex": "3313", "start": "55219" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3312", + "id": "3313", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -61846,7 +61926,7 @@ "end": "55268", "length": "50", "line": "1552", - "parentIndex": "3311", + "parentIndex": "3312", "start": "55219" }, "typeDescription": { @@ -61855,13 +61935,13 @@ } } }, - "id": "3311", + "id": "3312", "memberLocation": { "column": "66", "end": "55274", "length": "5", "line": "1552", - "parentIndex": "3311", + "parentIndex": "3312", "start": "55270" }, "memberName": "value", @@ -61871,7 +61951,7 @@ "end": "55274", "length": "56", "line": "1552", - "parentIndex": "3310", + "parentIndex": "3311", "start": "55219" }, "typeDescription": { @@ -61880,15 +61960,15 @@ } } }, - "functionReturnParameters": "3302", - "id": "3310", + "functionReturnParameters": "3303", + "id": "3311", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "55275", "length": "64", "line": "1552", - "parentIndex": "3302", + "parentIndex": "3303", "start": "55212" }, "typeDescription": { @@ -61899,7 +61979,7 @@ } ] }, - "id": "3302", + "id": "3303", "implemented": true, "kind": "KIND_FUNCTION", "name": "_getAdmin", @@ -61908,24 +61988,24 @@ "end": "55166", "length": "9", "line": "1551", - "parentIndex": "3302", + "parentIndex": "3303", "start": "55158" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3303", + "id": "3304", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3304", + "id": "3305", "nodeType": "VARIABLE_DECLARATION", - "scope": "3304", + "scope": "3305", "src": { "column": "48", "end": "55199", "length": "7", "line": "1551", - "parentIndex": "3303", + "parentIndex": "3304", "start": "55193" }, "stateMutability": "NONPAYABLE", @@ -61935,7 +62015,7 @@ "typeString": "address" }, "typeName": { - "id": "3305", + "id": "3306", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61943,7 +62023,7 @@ "end": "55199", "length": "7", "line": "1551", - "parentIndex": "3304", + "parentIndex": "3305", "start": "55193" }, "stateMutability": "NONPAYABLE", @@ -61960,24 +62040,24 @@ "end": "55199", "length": "7", "line": "1551", - "parentIndex": "3302", + "parentIndex": "3303", "start": "55193" } }, "returnParameters": { - "id": "3306", + "id": "3307", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3307", + "id": "3308", "nodeType": "VARIABLE_DECLARATION", - "scope": "3307", + "scope": "3308", "src": { "column": "48", "end": "55199", "length": "7", "line": "1551", - "parentIndex": "3306", + "parentIndex": "3307", "start": "55193" }, "stateMutability": "NONPAYABLE", @@ -61987,7 +62067,7 @@ "typeString": "address" }, "typeName": { - "id": "3308", + "id": "3309", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61995,7 +62075,7 @@ "end": "55199", "length": "7", "line": "1551", - "parentIndex": "3307", + "parentIndex": "3308", "start": "55193" }, "stateMutability": "NONPAYABLE", @@ -62012,18 +62092,18 @@ "end": "55199", "length": "7", "line": "1551", - "parentIndex": "3302", + "parentIndex": "3303", "start": "55193" } }, - "scope": "3163", + "scope": "3164", "signature": "a928dc2c", "src": { "column": "4", "end": "55281", "length": "133", "line": "1551", - "parentIndex": "3163", + "parentIndex": "3164", "start": "55149" }, "stateMutability": "VIEW", @@ -62038,7 +62118,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3322", + "id": "3323", "implemented": true, "nodeType": "BLOCK", "src": { @@ -62046,7 +62126,7 @@ "end": "55575", "length": "167", "line": "1558", - "parentIndex": "3317", + "parentIndex": "3318", "start": "55409" }, "statements": [ @@ -62067,20 +62147,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3325", + "id": "3326", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3326", + "id": "3327", "name": "newAdmin", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3326", + "referencedDeclaration": "3327", "src": { "column": "16", "end": "55434", "length": "8", "line": "1559", - "parentIndex": "3325", + "parentIndex": "3326", "start": "55427" }, "typeDescription": { @@ -62105,7 +62185,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3330", + "id": "3331", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -62114,7 +62194,7 @@ "end": "55447", "length": "1", "line": "1559", - "parentIndex": "3327", + "parentIndex": "3328", "start": "55447" }, "typeDescription": { @@ -62134,7 +62214,7 @@ "typeString": "address" } ], - "id": "3328", + "id": "3329", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -62142,7 +62222,7 @@ "end": "55445", "length": "7", "line": "1559", - "parentIndex": "3327", + "parentIndex": "3328", "start": "55439" }, "typeDescription": { @@ -62150,7 +62230,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3329", + "id": "3330", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -62158,7 +62238,7 @@ "end": "55445", "length": "7", "line": "1559", - "parentIndex": "3328", + "parentIndex": "3329", "start": "55439" }, "stateMutability": "NONPAYABLE", @@ -62169,7 +62249,7 @@ } } }, - "id": "3327", + "id": "3328", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62177,7 +62257,7 @@ "end": "55448", "length": "10", "line": "1559", - "parentIndex": "3325", + "parentIndex": "3326", "start": "55439" }, "typeDescription": { @@ -62191,7 +62271,7 @@ "end": "55448", "length": "22", "line": "1559", - "parentIndex": "3323", + "parentIndex": "3324", "start": "55427" }, "typeDescription": { @@ -62210,7 +62290,7 @@ } ], "hexValue": "455243313936373a206e65772061646d696e20697320746865207a65726f2061646472657373", - "id": "3331", + "id": "3332", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -62219,7 +62299,7 @@ "end": "55490", "length": "40", "line": "1559", - "parentIndex": "3323", + "parentIndex": "3324", "start": "55451" }, "typeDescription": { @@ -62233,7 +62313,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3324", + "id": "3325", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -62242,7 +62322,7 @@ "end": "55425", "length": "7", "line": "1559", - "parentIndex": "3323", + "parentIndex": "3324", "start": "55419" }, "typeDescription": { @@ -62251,7 +62331,7 @@ } } }, - "id": "3323", + "id": "3324", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62259,7 +62339,7 @@ "end": "55491", "length": "73", "line": "1559", - "parentIndex": "3322", + "parentIndex": "3323", "start": "55419" }, "typeDescription": { @@ -62274,7 +62354,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3333", + "id": "3334", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -62291,7 +62371,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3338", + "id": "3339", "name": "_ADMIN_SLOT", "nodeType": "IDENTIFIER", "src": { @@ -62299,7 +62379,7 @@ "end": "55550", "length": "11", "line": "1560", - "parentIndex": "3335", + "parentIndex": "3336", "start": "55540" }, "typeDescription": { @@ -62315,31 +62395,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3337", + "id": "3338", "name": "StorageSlotUpgradeable", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3006", + "referencedDeclaration": "3007", "src": { "column": "8", "end": "55523", "length": "22", "line": "1560", - "parentIndex": "3336", + "parentIndex": "3337", "start": "55502" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3336", + "id": "3337", "memberLocation": { "column": "31", "end": "55538", "length": "14", "line": "1560", - "parentIndex": "3336", + "parentIndex": "3337", "start": "55525" }, "memberName": "getAddressSlot", @@ -62349,16 +62429,16 @@ "end": "55538", "length": "37", "line": "1560", - "parentIndex": "3335", + "parentIndex": "3336", "start": "55502" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3335", + "id": "3336", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62366,7 +62446,7 @@ "end": "55551", "length": "50", "line": "1560", - "parentIndex": "3334", + "parentIndex": "3335", "start": "55502" }, "typeDescription": { @@ -62375,13 +62455,13 @@ } } }, - "id": "3334", + "id": "3335", "memberLocation": { "column": "59", "end": "55557", "length": "5", "line": "1560", - "parentIndex": "3334", + "parentIndex": "3335", "start": "55553" }, "memberName": "value", @@ -62391,7 +62471,7 @@ "end": "55557", "length": "56", "line": "1560", - "parentIndex": "3333", + "parentIndex": "3334", "start": "55502" }, "typeDescription": { @@ -62405,16 +62485,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3339", + "id": "3340", "name": "newAdmin", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3339", + "referencedDeclaration": "3340", "src": { "column": "67", "end": "55568", "length": "8", "line": "1560", - "parentIndex": "3333", + "parentIndex": "3334", "start": "55561" }, "typeDescription": { @@ -62428,7 +62508,7 @@ "end": "55568", "length": "67", "line": "1560", - "parentIndex": "3332", + "parentIndex": "3333", "start": "55502" }, "typeDescription": { @@ -62437,14 +62517,14 @@ } } }, - "id": "3332", + "id": "3333", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "55569", "length": "68", "line": "1560", - "parentIndex": "3322", + "parentIndex": "3323", "start": "55502" }, "typeDescription": { @@ -62455,7 +62535,7 @@ } ] }, - "id": "3317", + "id": "3318", "implemented": true, "kind": "KIND_FUNCTION", "name": "_setAdmin", @@ -62464,25 +62544,25 @@ "end": "55381", "length": "9", "line": "1558", - "parentIndex": "3317", + "parentIndex": "3318", "start": "55373" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3318", + "id": "3319", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3319", + "id": "3320", "name": "newAdmin", "nodeType": "VARIABLE_DECLARATION", - "scope": "3319", + "scope": "3320", "src": { "column": "23", "end": "55398", "length": "16", "line": "1558", - "parentIndex": "3318", + "parentIndex": "3319", "start": "55383" }, "stateMutability": "NONPAYABLE", @@ -62492,7 +62572,7 @@ "typeString": "address" }, "typeName": { - "id": "3320", + "id": "3321", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -62500,7 +62580,7 @@ "end": "55389", "length": "7", "line": "1558", - "parentIndex": "3319", + "parentIndex": "3320", "start": "55383" }, "stateMutability": "NONPAYABLE", @@ -62517,30 +62597,30 @@ "end": "55398", "length": "16", "line": "1558", - "parentIndex": "3317", + "parentIndex": "3318", "start": "55383" } }, "returnParameters": { - "id": "3321", + "id": "3322", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "55575", "length": "212", "line": "1558", - "parentIndex": "3317", + "parentIndex": "3318", "start": "55364" } }, - "scope": "3163", + "scope": "3164", "signature": "3a74a767", "src": { "column": "4", "end": "55575", "length": "212", "line": "1558", - "parentIndex": "3163", + "parentIndex": "3164", "start": "55364" }, "stateMutability": "NONPAYABLE", @@ -62555,7 +62635,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3346", + "id": "3347", "implemented": true, "nodeType": "BLOCK", "src": { @@ -62563,7 +62643,7 @@ "end": "55821", "length": "86", "line": "1568", - "parentIndex": "3341", + "parentIndex": "3342", "start": "55736" }, "statements": [ @@ -62577,7 +62657,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3349", + "id": "3350", "name": "_getAdmin", "nodeType": "IDENTIFIER", "src": { @@ -62585,7 +62665,7 @@ "end": "55772", "length": "9", "line": "1569", - "parentIndex": "3348", + "parentIndex": "3349", "start": "55764" }, "typeDescription": { @@ -62594,7 +62674,7 @@ } } }, - "id": "3348", + "id": "3349", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62602,7 +62682,7 @@ "end": "55774", "length": "11", "line": "1569", - "parentIndex": "3347", + "parentIndex": "3348", "start": "55764" }, "typeDescription": { @@ -62614,16 +62694,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3350", + "id": "3351", "name": "newAdmin", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3350", + "referencedDeclaration": "3351", "src": { "column": "39", "end": "55784", "length": "8", "line": "1569", - "parentIndex": "3347", + "parentIndex": "3348", "start": "55777" }, "typeDescription": { @@ -62636,32 +62716,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3351", + "id": "3352", "name": "AdminChanged", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3295", + "referencedDeclaration": "3296", "src": { "column": "13", "end": "55762", "length": "12", "line": "1569", - "parentIndex": "3347", + "parentIndex": "3348", "start": "55751" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263295", + "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_AdminChanged_\u00263296", "typeString": "event ERC1967UpgradeUpgradeable.AdminChanged" } } }, - "id": "3347", + "id": "3348", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "55786", "length": "41", "line": "1569", - "parentIndex": "3341", + "parentIndex": "3342", "start": "55746" } } @@ -62679,16 +62759,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3354", + "id": "3355", "name": "newAdmin", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3354", + "referencedDeclaration": "3355", "src": { "column": "18", "end": "55813", "length": "8", "line": "1570", - "parentIndex": "3352", + "parentIndex": "3353", "start": "55806" }, "typeDescription": { @@ -62701,7 +62781,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3353", + "id": "3354", "name": "_setAdmin", "nodeType": "IDENTIFIER", "src": { @@ -62709,7 +62789,7 @@ "end": "55804", "length": "9", "line": "1570", - "parentIndex": "3352", + "parentIndex": "3353", "start": "55796" }, "typeDescription": { @@ -62718,7 +62798,7 @@ } } }, - "id": "3352", + "id": "3353", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62726,7 +62806,7 @@ "end": "55814", "length": "19", "line": "1570", - "parentIndex": "3346", + "parentIndex": "3347", "start": "55796" }, "typeDescription": { @@ -62737,7 +62817,7 @@ } ] }, - "id": "3341", + "id": "3342", "implemented": true, "kind": "KIND_FUNCTION", "name": "_changeAdmin", @@ -62746,25 +62826,25 @@ "end": "55707", "length": "12", "line": "1568", - "parentIndex": "3341", + "parentIndex": "3342", "start": "55696" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3342", + "id": "3343", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3343", + "id": "3344", "name": "newAdmin", "nodeType": "VARIABLE_DECLARATION", - "scope": "3343", + "scope": "3344", "src": { "column": "26", "end": "55724", "length": "16", "line": "1568", - "parentIndex": "3342", + "parentIndex": "3343", "start": "55709" }, "stateMutability": "NONPAYABLE", @@ -62774,7 +62854,7 @@ "typeString": "address" }, "typeName": { - "id": "3344", + "id": "3345", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -62782,7 +62862,7 @@ "end": "55715", "length": "7", "line": "1568", - "parentIndex": "3343", + "parentIndex": "3344", "start": "55709" }, "stateMutability": "NONPAYABLE", @@ -62799,30 +62879,30 @@ "end": "55724", "length": "16", "line": "1568", - "parentIndex": "3341", + "parentIndex": "3342", "start": "55709" } }, "returnParameters": { - "id": "3345", + "id": "3346", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "55821", "length": "135", "line": "1568", - "parentIndex": "3341", + "parentIndex": "3342", "start": "55687" } }, - "scope": "3163", + "scope": "3164", "signature": "353dfc01", "src": { "column": "4", "end": "55821", "length": "135", "line": "1568", - "parentIndex": "3163", + "parentIndex": "3164", "start": "55687" }, "stateMutability": "NONPAYABLE", @@ -62836,12 +62916,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3356", + "id": "3357", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307861336630616437346535343233616562666438306433656634333436353738333335613961373261656165653539666636636233353832623335313333643530", - "id": "3358", + "id": "3359", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -62850,7 +62930,7 @@ "end": "56171", "length": "66", "line": "1577", - "parentIndex": "3356", + "parentIndex": "3357", "start": "56106" }, "typeDescription": { @@ -62864,13 +62944,13 @@ "isStateVariable": true, "name": "_BEACON_SLOT", "nodeType": "VARIABLE_DECLARATION", - "scope": "3163", + "scope": "3164", "src": { "column": "4", "end": "56172", "length": "108", "line": "1577", - "parentIndex": "3163", + "parentIndex": "3164", "start": "56065" }, "stateMutability": "MUTABLE", @@ -62880,7 +62960,7 @@ "typeString": "int_const 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" }, "typeName": { - "id": "3357", + "id": "3358", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -62888,7 +62968,7 @@ "end": "56071", "length": "7", "line": "1577", - "parentIndex": "3356", + "parentIndex": "3357", "start": "56065" }, "typeDescription": { @@ -62902,25 +62982,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3360", + "id": "3361", "name": "BeaconUpgraded", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3361", + "id": "3362", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3362", + "id": "3363", "indexed": true, "name": "beacon", "nodeType": "VARIABLE_DECLARATION", - "scope": "3362", + "scope": "3363", "src": { "column": "25", "end": "56286", "length": "22", "line": "1582", - "parentIndex": "3361", + "parentIndex": "3362", "start": "56265" }, "stateMutability": "NONPAYABLE", @@ -62930,7 +63010,7 @@ "typeString": "address" }, "typeName": { - "id": "3363", + "id": "3364", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -62938,7 +63018,7 @@ "end": "56271", "length": "7", "line": "1582", - "parentIndex": "3362", + "parentIndex": "3363", "start": "56265" }, "stateMutability": "NONPAYABLE", @@ -62955,7 +63035,7 @@ "end": "56288", "length": "45", "line": "1582", - "parentIndex": "3360", + "parentIndex": "3361", "start": "56244" } }, @@ -62964,11 +63044,11 @@ "end": "56288", "length": "45", "line": "1582", - "parentIndex": "3163", + "parentIndex": "3164", "start": "56244" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263360", + "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263361", "typeString": "event ERC1967UpgradeUpgradeable.BeaconUpgraded" } } @@ -62977,7 +63057,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3372", + "id": "3373", "implemented": true, "nodeType": "BLOCK", "src": { @@ -62985,7 +63065,7 @@ "end": "56485", "length": "81", "line": "1587", - "parentIndex": "3365", + "parentIndex": "3366", "start": "56405" }, "statements": [ @@ -63008,7 +63088,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3378", + "id": "3379", "name": "_BEACON_SLOT", "nodeType": "IDENTIFIER", "src": { @@ -63016,7 +63096,7 @@ "end": "56471", "length": "12", "line": "1588", - "parentIndex": "3375", + "parentIndex": "3376", "start": "56460" }, "typeDescription": { @@ -63032,31 +63112,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3377", + "id": "3378", "name": "StorageSlotUpgradeable", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3006", + "referencedDeclaration": "3007", "src": { "column": "15", "end": "56443", "length": "22", "line": "1588", - "parentIndex": "3376", + "parentIndex": "3377", "start": "56422" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3376", + "id": "3377", "memberLocation": { "column": "38", "end": "56458", "length": "14", "line": "1588", - "parentIndex": "3376", + "parentIndex": "3377", "start": "56445" }, "memberName": "getAddressSlot", @@ -63066,16 +63146,16 @@ "end": "56458", "length": "37", "line": "1588", - "parentIndex": "3375", + "parentIndex": "3376", "start": "56422" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3375", + "id": "3376", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -63083,7 +63163,7 @@ "end": "56472", "length": "51", "line": "1588", - "parentIndex": "3374", + "parentIndex": "3375", "start": "56422" }, "typeDescription": { @@ -63092,13 +63172,13 @@ } } }, - "id": "3374", + "id": "3375", "memberLocation": { "column": "67", "end": "56478", "length": "5", "line": "1588", - "parentIndex": "3374", + "parentIndex": "3375", "start": "56474" }, "memberName": "value", @@ -63108,7 +63188,7 @@ "end": "56478", "length": "57", "line": "1588", - "parentIndex": "3373", + "parentIndex": "3374", "start": "56422" }, "typeDescription": { @@ -63117,15 +63197,15 @@ } } }, - "functionReturnParameters": "3365", - "id": "3373", + "functionReturnParameters": "3366", + "id": "3374", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "56479", "length": "65", "line": "1588", - "parentIndex": "3365", + "parentIndex": "3366", "start": "56415" }, "typeDescription": { @@ -63136,7 +63216,7 @@ } ] }, - "id": "3365", + "id": "3366", "implemented": true, "kind": "KIND_FUNCTION", "name": "_getBeacon", @@ -63145,24 +63225,24 @@ "end": "56369", "length": "10", "line": "1587", - "parentIndex": "3365", + "parentIndex": "3366", "start": "56360" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3366", + "id": "3367", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3367", + "id": "3368", "nodeType": "VARIABLE_DECLARATION", - "scope": "3367", + "scope": "3368", "src": { "column": "49", "end": "56402", "length": "7", "line": "1587", - "parentIndex": "3366", + "parentIndex": "3367", "start": "56396" }, "stateMutability": "NONPAYABLE", @@ -63172,7 +63252,7 @@ "typeString": "address" }, "typeName": { - "id": "3368", + "id": "3369", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -63180,7 +63260,7 @@ "end": "56402", "length": "7", "line": "1587", - "parentIndex": "3367", + "parentIndex": "3368", "start": "56396" }, "stateMutability": "NONPAYABLE", @@ -63197,24 +63277,24 @@ "end": "56402", "length": "7", "line": "1587", - "parentIndex": "3365", + "parentIndex": "3366", "start": "56396" } }, "returnParameters": { - "id": "3369", + "id": "3370", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3370", + "id": "3371", "nodeType": "VARIABLE_DECLARATION", - "scope": "3370", + "scope": "3371", "src": { "column": "49", "end": "56402", "length": "7", "line": "1587", - "parentIndex": "3369", + "parentIndex": "3370", "start": "56396" }, "stateMutability": "NONPAYABLE", @@ -63224,7 +63304,7 @@ "typeString": "address" }, "typeName": { - "id": "3371", + "id": "3372", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -63232,7 +63312,7 @@ "end": "56402", "length": "7", "line": "1587", - "parentIndex": "3370", + "parentIndex": "3371", "start": "56396" }, "stateMutability": "NONPAYABLE", @@ -63249,18 +63329,18 @@ "end": "56402", "length": "7", "line": "1587", - "parentIndex": "3365", + "parentIndex": "3366", "start": "56396" } }, - "scope": "3163", + "scope": "3164", "signature": "8a03ba6e", "src": { "column": "4", "end": "56485", "length": "135", "line": "1587", - "parentIndex": "3163", + "parentIndex": "3164", "start": "56351" }, "stateMutability": "VIEW", @@ -63275,7 +63355,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3385", + "id": "3386", "implemented": true, "nodeType": "BLOCK", "src": { @@ -63283,7 +63363,7 @@ "end": "56982", "length": "368", "line": "1594", - "parentIndex": "3380", + "parentIndex": "3381", "start": "56615" }, "statements": [ @@ -63314,16 +63394,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3391", + "id": "3392", "name": "newBeacon", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3391", + "referencedDeclaration": "3392", "src": { "column": "46", "end": "56671", "length": "9", "line": "1595", - "parentIndex": "3388", + "parentIndex": "3389", "start": "56663" }, "typeDescription": { @@ -63339,7 +63419,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3390", + "id": "3391", "name": "AddressUpgradeable", "nodeType": "IDENTIFIER", "referencedDeclaration": "1659", @@ -63348,7 +63428,7 @@ "end": "56650", "length": "18", "line": "1595", - "parentIndex": "3389", + "parentIndex": "3390", "start": "56633" }, "typeDescription": { @@ -63357,13 +63437,13 @@ } } }, - "id": "3389", + "id": "3390", "memberLocation": { "column": "35", "end": "56661", "length": "10", "line": "1595", - "parentIndex": "3389", + "parentIndex": "3390", "start": "56652" }, "memberName": "isContract", @@ -63373,7 +63453,7 @@ "end": "56661", "length": "29", "line": "1595", - "parentIndex": "3388", + "parentIndex": "3389", "start": "56633" }, "typeDescription": { @@ -63382,7 +63462,7 @@ } } }, - "id": "3388", + "id": "3389", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -63390,7 +63470,7 @@ "end": "56672", "length": "40", "line": "1595", - "parentIndex": "3386", + "parentIndex": "3387", "start": "56633" }, "typeDescription": { @@ -63409,7 +63489,7 @@ } ], "hexValue": "455243313936373a206e657720626561636f6e206973206e6f74206120636f6e7472616374", - "id": "3392", + "id": "3393", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -63418,7 +63498,7 @@ "end": "56713", "length": "39", "line": "1595", - "parentIndex": "3386", + "parentIndex": "3387", "start": "56675" }, "typeDescription": { @@ -63432,7 +63512,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3387", + "id": "3388", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -63441,7 +63521,7 @@ "end": "56631", "length": "7", "line": "1595", - "parentIndex": "3386", + "parentIndex": "3387", "start": "56625" }, "typeDescription": { @@ -63450,7 +63530,7 @@ } } }, - "id": "3386", + "id": "3387", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -63458,7 +63538,7 @@ "end": "56714", "length": "90", "line": "1595", - "parentIndex": "3385", + "parentIndex": "3386", "start": "56625" }, "typeDescription": { @@ -63510,16 +63590,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3402", + "id": "3403", "name": "newBeacon", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3402", + "referencedDeclaration": "3403", "src": { "column": "61", "end": "56803", "length": "9", "line": "1597", - "parentIndex": "3400", + "parentIndex": "3401", "start": "56795" }, "typeDescription": { @@ -63532,7 +63612,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3401", + "id": "3402", "name": "IBeaconUpgradeable", "nodeType": "IDENTIFIER", "src": { @@ -63540,7 +63620,7 @@ "end": "56793", "length": "18", "line": "1597", - "parentIndex": "3400", + "parentIndex": "3401", "start": "56776" }, "typeDescription": { @@ -63549,7 +63629,7 @@ } } }, - "id": "3400", + "id": "3401", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -63557,7 +63637,7 @@ "end": "56804", "length": "29", "line": "1597", - "parentIndex": "3399", + "parentIndex": "3400", "start": "56776" }, "typeDescription": { @@ -63566,13 +63646,13 @@ } } }, - "id": "3399", + "id": "3400", "memberLocation": { "column": "72", "end": "56819", "length": "14", "line": "1597", - "parentIndex": "3399", + "parentIndex": "3400", "start": "56806" }, "memberName": "implementation", @@ -63582,7 +63662,7 @@ "end": "56819", "length": "44", "line": "1597", - "parentIndex": "3398", + "parentIndex": "3399", "start": "56776" }, "typeDescription": { @@ -63591,7 +63671,7 @@ } } }, - "id": "3398", + "id": "3399", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -63599,7 +63679,7 @@ "end": "56821", "length": "46", "line": "1597", - "parentIndex": "3395", + "parentIndex": "3396", "start": "56776" }, "typeDescription": { @@ -63615,7 +63695,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3397", + "id": "3398", "name": "AddressUpgradeable", "nodeType": "IDENTIFIER", "referencedDeclaration": "1659", @@ -63624,7 +63704,7 @@ "end": "56763", "length": "18", "line": "1597", - "parentIndex": "3396", + "parentIndex": "3397", "start": "56746" }, "typeDescription": { @@ -63633,13 +63713,13 @@ } } }, - "id": "3396", + "id": "3397", "memberLocation": { "column": "31", "end": "56774", "length": "10", "line": "1597", - "parentIndex": "3396", + "parentIndex": "3397", "start": "56765" }, "memberName": "isContract", @@ -63649,7 +63729,7 @@ "end": "56774", "length": "29", "line": "1597", - "parentIndex": "3395", + "parentIndex": "3396", "start": "56746" }, "typeDescription": { @@ -63658,7 +63738,7 @@ } } }, - "id": "3395", + "id": "3396", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -63666,7 +63746,7 @@ "end": "56822", "length": "77", "line": "1597", - "parentIndex": "3393", + "parentIndex": "3394", "start": "56746" }, "typeDescription": { @@ -63685,7 +63765,7 @@ } ], "hexValue": "455243313936373a20626561636f6e20696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374", - "id": "3403", + "id": "3404", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -63694,7 +63774,7 @@ "end": "56886", "length": "50", "line": "1598", - "parentIndex": "3393", + "parentIndex": "3394", "start": "56837" }, "typeDescription": { @@ -63708,7 +63788,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3394", + "id": "3395", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -63717,7 +63797,7 @@ "end": "56731", "length": "7", "line": "1596", - "parentIndex": "3393", + "parentIndex": "3394", "start": "56725" }, "typeDescription": { @@ -63726,7 +63806,7 @@ } } }, - "id": "3393", + "id": "3394", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -63734,7 +63814,7 @@ "end": "56896", "length": "172", "line": "1596", - "parentIndex": "3385", + "parentIndex": "3386", "start": "56725" }, "typeDescription": { @@ -63749,7 +63829,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3405", + "id": "3406", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -63766,7 +63846,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3410", + "id": "3411", "name": "_BEACON_SLOT", "nodeType": "IDENTIFIER", "src": { @@ -63774,7 +63854,7 @@ "end": "56956", "length": "12", "line": "1600", - "parentIndex": "3407", + "parentIndex": "3408", "start": "56945" }, "typeDescription": { @@ -63790,31 +63870,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3409", + "id": "3410", "name": "StorageSlotUpgradeable", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3006", + "referencedDeclaration": "3007", "src": { "column": "8", "end": "56928", "length": "22", "line": "1600", - "parentIndex": "3408", + "parentIndex": "3409", "start": "56907" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3408", + "id": "3409", "memberLocation": { "column": "31", "end": "56943", "length": "14", "line": "1600", - "parentIndex": "3408", + "parentIndex": "3409", "start": "56930" }, "memberName": "getAddressSlot", @@ -63824,16 +63904,16 @@ "end": "56943", "length": "37", "line": "1600", - "parentIndex": "3407", + "parentIndex": "3408", "start": "56907" }, "typeDescription": { - "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3006", + "typeIdentifier": "t_contract$_StorageSlotUpgradeable_$3007", "typeString": "contract StorageSlotUpgradeable" } } }, - "id": "3407", + "id": "3408", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -63841,7 +63921,7 @@ "end": "56957", "length": "51", "line": "1600", - "parentIndex": "3406", + "parentIndex": "3407", "start": "56907" }, "typeDescription": { @@ -63850,13 +63930,13 @@ } } }, - "id": "3406", + "id": "3407", "memberLocation": { "column": "60", "end": "56963", "length": "5", "line": "1600", - "parentIndex": "3406", + "parentIndex": "3407", "start": "56959" }, "memberName": "value", @@ -63866,7 +63946,7 @@ "end": "56963", "length": "57", "line": "1600", - "parentIndex": "3405", + "parentIndex": "3406", "start": "56907" }, "typeDescription": { @@ -63880,16 +63960,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3411", + "id": "3412", "name": "newBeacon", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3411", + "referencedDeclaration": "3412", "src": { "column": "68", "end": "56975", "length": "9", "line": "1600", - "parentIndex": "3405", + "parentIndex": "3406", "start": "56967" }, "typeDescription": { @@ -63903,7 +63983,7 @@ "end": "56975", "length": "69", "line": "1600", - "parentIndex": "3404", + "parentIndex": "3405", "start": "56907" }, "typeDescription": { @@ -63912,14 +63992,14 @@ } } }, - "id": "3404", + "id": "3405", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "56976", "length": "70", "line": "1600", - "parentIndex": "3385", + "parentIndex": "3386", "start": "56907" }, "typeDescription": { @@ -63930,7 +64010,7 @@ } ] }, - "id": "3380", + "id": "3381", "implemented": true, "kind": "KIND_FUNCTION", "name": "_setBeacon", @@ -63939,25 +64019,25 @@ "end": "56586", "length": "10", "line": "1594", - "parentIndex": "3380", + "parentIndex": "3381", "start": "56577" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3381", + "id": "3382", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3382", + "id": "3383", "name": "newBeacon", "nodeType": "VARIABLE_DECLARATION", - "scope": "3382", + "scope": "3383", "src": { "column": "24", "end": "56604", "length": "17", "line": "1594", - "parentIndex": "3381", + "parentIndex": "3382", "start": "56588" }, "stateMutability": "NONPAYABLE", @@ -63967,7 +64047,7 @@ "typeString": "address" }, "typeName": { - "id": "3383", + "id": "3384", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -63975,7 +64055,7 @@ "end": "56594", "length": "7", "line": "1594", - "parentIndex": "3382", + "parentIndex": "3383", "start": "56588" }, "stateMutability": "NONPAYABLE", @@ -63992,30 +64072,30 @@ "end": "56604", "length": "17", "line": "1594", - "parentIndex": "3380", + "parentIndex": "3381", "start": "56588" } }, "returnParameters": { - "id": "3384", + "id": "3385", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "56982", "length": "415", "line": "1594", - "parentIndex": "3380", + "parentIndex": "3381", "start": "56568" } }, - "scope": "3163", + "scope": "3164", "signature": "073d36b4", "src": { "column": "4", "end": "56982", "length": "415", "line": "1594", - "parentIndex": "3163", + "parentIndex": "3164", "start": "56568" }, "stateMutability": "NONPAYABLE", @@ -64030,7 +64110,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3422", + "id": "3423", "implemented": true, "nodeType": "BLOCK", "src": { @@ -64038,7 +64118,7 @@ "end": "57632", "length": "221", "line": "1613", - "parentIndex": "3413", + "parentIndex": "3414", "start": "57412" }, "statements": [ @@ -64055,16 +64135,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3425", + "id": "3426", "name": "newBeacon", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3425", + "referencedDeclaration": "3426", "src": { "column": "19", "end": "57441", "length": "9", "line": "1614", - "parentIndex": "3423", + "parentIndex": "3424", "start": "57433" }, "typeDescription": { @@ -64077,7 +64157,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3424", + "id": "3425", "name": "_setBeacon", "nodeType": "IDENTIFIER", "src": { @@ -64085,7 +64165,7 @@ "end": "57431", "length": "10", "line": "1614", - "parentIndex": "3423", + "parentIndex": "3424", "start": "57422" }, "typeDescription": { @@ -64094,7 +64174,7 @@ } } }, - "id": "3423", + "id": "3424", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -64102,7 +64182,7 @@ "end": "57442", "length": "21", "line": "1614", - "parentIndex": "3422", + "parentIndex": "3423", "start": "57422" }, "typeDescription": { @@ -64118,16 +64198,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3427", + "id": "3428", "name": "newBeacon", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3427", + "referencedDeclaration": "3428", "src": { "column": "28", "end": "57481", "length": "9", "line": "1615", - "parentIndex": "3426", + "parentIndex": "3427", "start": "57473" }, "typeDescription": { @@ -64140,32 +64220,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3428", + "id": "3429", "name": "BeaconUpgraded", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3360", + "referencedDeclaration": "3361", "src": { "column": "13", "end": "57471", "length": "14", "line": "1615", - "parentIndex": "3426", + "parentIndex": "3427", "start": "57458" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263360", + "typeIdentifier": "t_event\u0026_ERC1967UpgradeUpgradeable_BeaconUpgraded_\u00263361", "typeString": "event ERC1967UpgradeUpgradeable.BeaconUpgraded" } } }, - "id": "3426", + "id": "3427", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "57483", "length": "31", "line": "1615", - "parentIndex": "3413", + "parentIndex": "3414", "start": "57453" } } @@ -64174,7 +64254,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "3436", + "id": "3437", "implemented": true, "nodeType": "BLOCK", "src": { @@ -64182,7 +64262,7 @@ "end": "57626", "length": "100", "line": "1616", - "parentIndex": "3413", + "parentIndex": "3414", "start": "57527" }, "statements": [ @@ -64219,16 +64299,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3443", + "id": "3444", "name": "newBeacon", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3443", + "referencedDeclaration": "3444", "src": { "column": "53", "end": "57590", "length": "9", "line": "1617", - "parentIndex": "3441", + "parentIndex": "3442", "start": "57582" }, "typeDescription": { @@ -64241,7 +64321,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3442", + "id": "3443", "name": "IBeaconUpgradeable", "nodeType": "IDENTIFIER", "src": { @@ -64249,7 +64329,7 @@ "end": "57580", "length": "18", "line": "1617", - "parentIndex": "3441", + "parentIndex": "3442", "start": "57563" }, "typeDescription": { @@ -64258,7 +64338,7 @@ } } }, - "id": "3441", + "id": "3442", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -64266,7 +64346,7 @@ "end": "57591", "length": "29", "line": "1617", - "parentIndex": "3440", + "parentIndex": "3441", "start": "57563" }, "typeDescription": { @@ -64275,13 +64355,13 @@ } } }, - "id": "3440", + "id": "3441", "memberLocation": { "column": "64", "end": "57606", "length": "14", "line": "1617", - "parentIndex": "3440", + "parentIndex": "3441", "start": "57593" }, "memberName": "implementation", @@ -64291,7 +64371,7 @@ "end": "57606", "length": "44", "line": "1617", - "parentIndex": "3439", + "parentIndex": "3440", "start": "57563" }, "typeDescription": { @@ -64300,7 +64380,7 @@ } } }, - "id": "3439", + "id": "3440", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -64308,7 +64388,7 @@ "end": "57608", "length": "46", "line": "1617", - "parentIndex": "3437", + "parentIndex": "3438", "start": "57563" }, "typeDescription": { @@ -64326,16 +64406,16 @@ "typeString": "function()" } ], - "id": "3444", + "id": "3445", "name": "data", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3444", + "referencedDeclaration": "3445", "src": { "column": "82", "end": "57614", "length": "4", "line": "1617", - "parentIndex": "3437", + "parentIndex": "3438", "start": "57611" }, "typeDescription": { @@ -64348,7 +64428,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3438", + "id": "3439", "name": "_functionDelegateCall", "nodeType": "IDENTIFIER", "src": { @@ -64356,7 +64436,7 @@ "end": "57561", "length": "21", "line": "1617", - "parentIndex": "3437", + "parentIndex": "3438", "start": "57541" }, "typeDescription": { @@ -64365,7 +64445,7 @@ } } }, - "id": "3437", + "id": "3438", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -64373,7 +64453,7 @@ "end": "57615", "length": "75", "line": "1617", - "parentIndex": "3436", + "parentIndex": "3437", "start": "57541" }, "typeDescription": { @@ -64387,27 +64467,27 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3430", + "id": "3431", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3431", + "id": "3432", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3433", + "id": "3434", "name": "data", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3433", + "referencedDeclaration": "3434", "src": { "column": "12", "end": "57500", "length": "4", "line": "1616", - "parentIndex": "3432", + "parentIndex": "3433", "start": "57497" }, "typeDescription": { @@ -64416,13 +64496,13 @@ } } }, - "id": "3432", + "id": "3433", "memberLocation": { "column": "17", "end": "57507", "length": "6", "line": "1616", - "parentIndex": "3432", + "parentIndex": "3433", "start": "57502" }, "memberName": "length", @@ -64432,7 +64512,7 @@ "end": "57507", "length": "11", "line": "1616", - "parentIndex": "3431", + "parentIndex": "3432", "start": "57497" }, "typeDescription": { @@ -64447,7 +64527,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3434", + "id": "3435", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -64456,7 +64536,7 @@ "end": "57511", "length": "1", "line": "1616", - "parentIndex": "3431", + "parentIndex": "3432", "start": "57511" }, "typeDescription": { @@ -64471,7 +64551,7 @@ "end": "57511", "length": "15", "line": "1616", - "parentIndex": "3430", + "parentIndex": "3431", "start": "57497" }, "typeDescription": { @@ -64485,16 +64565,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3435", + "id": "3436", "name": "forceCall", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3435", + "referencedDeclaration": "3436", "src": { "column": "31", "end": "57524", "length": "9", "line": "1616", - "parentIndex": "3430", + "parentIndex": "3431", "start": "57516" }, "typeDescription": { @@ -64508,7 +64588,7 @@ "end": "57524", "length": "28", "line": "1616", - "parentIndex": "3429", + "parentIndex": "3430", "start": "57497" }, "typeDescription": { @@ -64517,20 +64597,20 @@ } } }, - "id": "3429", + "id": "3430", "nodeType": "IF_STATEMENT", "src": { "end": "57626", "length": "134", "line": "1616", - "parentIndex": "3422", + "parentIndex": "3423", "start": "57493" } } } ] }, - "id": "3413", + "id": "3414", "implemented": true, "kind": "KIND_FUNCTION", "name": "_upgradeBeaconToAndCall", @@ -64539,25 +64619,25 @@ "end": "57317", "length": "23", "line": "1609", - "parentIndex": "3413", + "parentIndex": "3414", "start": "57295" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3414", + "id": "3415", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3415", + "id": "3416", "name": "newBeacon", "nodeType": "VARIABLE_DECLARATION", - "scope": "3415", + "scope": "3416", "src": { "column": "8", "end": "57344", "length": "17", "line": "1610", - "parentIndex": "3414", + "parentIndex": "3415", "start": "57328" }, "stateMutability": "NONPAYABLE", @@ -64567,7 +64647,7 @@ "typeString": "address" }, "typeName": { - "id": "3416", + "id": "3417", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -64575,7 +64655,7 @@ "end": "57334", "length": "7", "line": "1610", - "parentIndex": "3415", + "parentIndex": "3416", "start": "57328" }, "stateMutability": "NONPAYABLE", @@ -64587,16 +64667,16 @@ "visibility": "INTERNAL" }, { - "id": "3417", + "id": "3418", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "3417", + "scope": "3418", "src": { "column": "8", "end": "57371", "length": "17", "line": "1611", - "parentIndex": "3414", + "parentIndex": "3415", "start": "57355" }, "stateMutability": "MUTABLE", @@ -64606,7 +64686,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3418", + "id": "3419", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -64614,7 +64694,7 @@ "end": "57359", "length": "5", "line": "1611", - "parentIndex": "3417", + "parentIndex": "3418", "start": "57355" }, "typeDescription": { @@ -64625,16 +64705,16 @@ "visibility": "INTERNAL" }, { - "id": "3419", + "id": "3420", "name": "forceCall", "nodeType": "VARIABLE_DECLARATION", - "scope": "3419", + "scope": "3420", "src": { "column": "8", "end": "57395", "length": "14", "line": "1612", - "parentIndex": "3414", + "parentIndex": "3415", "start": "57382" }, "stateMutability": "MUTABLE", @@ -64644,7 +64724,7 @@ "typeString": "bool" }, "typeName": { - "id": "3420", + "id": "3421", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -64652,7 +64732,7 @@ "end": "57385", "length": "4", "line": "1612", - "parentIndex": "3419", + "parentIndex": "3420", "start": "57382" }, "typeDescription": { @@ -64668,30 +64748,30 @@ "end": "57395", "length": "68", "line": "1610", - "parentIndex": "3413", + "parentIndex": "3414", "start": "57328" } }, "returnParameters": { - "id": "3421", + "id": "3422", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "57632", "length": "347", "line": "1609", - "parentIndex": "3413", + "parentIndex": "3414", "start": "57286" } }, - "scope": "3163", - "signature": "01ace874", + "scope": "3164", + "signature": "9ba186fe", "src": { "column": "4", "end": "57632", "length": "347", "line": "1609", - "parentIndex": "3163", + "parentIndex": "3164", "start": "57286" }, "stateMutability": "NONPAYABLE", @@ -64706,7 +64786,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3455", + "id": "3456", "implemented": true, "nodeType": "BLOCK", "src": { @@ -64714,7 +64794,7 @@ "end": "58273", "length": "358", "line": "1627", - "parentIndex": "3446", + "parentIndex": "3447", "start": "57916" }, "statements": [ @@ -64745,16 +64825,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3461", + "id": "3462", "name": "target", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3461", + "referencedDeclaration": "3462", "src": { "column": "46", "end": "57969", "length": "6", "line": "1628", - "parentIndex": "3458", + "parentIndex": "3459", "start": "57964" }, "typeDescription": { @@ -64770,7 +64850,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3460", + "id": "3461", "name": "AddressUpgradeable", "nodeType": "IDENTIFIER", "referencedDeclaration": "1659", @@ -64779,7 +64859,7 @@ "end": "57951", "length": "18", "line": "1628", - "parentIndex": "3459", + "parentIndex": "3460", "start": "57934" }, "typeDescription": { @@ -64788,13 +64868,13 @@ } } }, - "id": "3459", + "id": "3460", "memberLocation": { "column": "35", "end": "57962", "length": "10", "line": "1628", - "parentIndex": "3459", + "parentIndex": "3460", "start": "57953" }, "memberName": "isContract", @@ -64804,7 +64884,7 @@ "end": "57962", "length": "29", "line": "1628", - "parentIndex": "3458", + "parentIndex": "3459", "start": "57934" }, "typeDescription": { @@ -64813,7 +64893,7 @@ } } }, - "id": "3458", + "id": "3459", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -64821,7 +64901,7 @@ "end": "57970", "length": "37", "line": "1628", - "parentIndex": "3456", + "parentIndex": "3457", "start": "57934" }, "typeDescription": { @@ -64840,7 +64920,7 @@ } ], "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374", - "id": "3462", + "id": "3463", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -64849,7 +64929,7 @@ "end": "58012", "length": "40", "line": "1628", - "parentIndex": "3456", + "parentIndex": "3457", "start": "57973" }, "typeDescription": { @@ -64863,7 +64943,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3457", + "id": "3458", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -64872,7 +64952,7 @@ "end": "57932", "length": "7", "line": "1628", - "parentIndex": "3456", + "parentIndex": "3457", "start": "57926" }, "typeDescription": { @@ -64881,7 +64961,7 @@ } } }, - "id": "3456", + "id": "3457", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -64889,7 +64969,7 @@ "end": "58013", "length": "88", "line": "1628", - "parentIndex": "3455", + "parentIndex": "3456", "start": "57926" }, "typeDescription": { @@ -64902,12 +64982,12 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3464", - "3466" + "3465", + "3467" ], "declarations": [ { - "id": "3464", + "id": "3465", "mutability": "MUTABLE", "name": "success", "nameLocation": { @@ -64915,17 +64995,17 @@ "end": "58096", "length": "7", "line": "1631", - "parentIndex": "3464", + "parentIndex": "3465", "start": "58090" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3455", + "scope": "3456", "src": { "column": "9", "end": "58096", "length": "12", "line": "1631", - "parentIndex": "3463", + "parentIndex": "3464", "start": "58085" }, "storageLocation": "DEFAULT", @@ -64934,7 +65014,7 @@ "typeString": "bool" }, "typeName": { - "id": "3465", + "id": "3466", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -64942,7 +65022,7 @@ "end": "58088", "length": "4", "line": "1631", - "parentIndex": "3464", + "parentIndex": "3465", "start": "58085" }, "typeDescription": { @@ -64953,7 +65033,7 @@ "visibility": "INTERNAL" }, { - "id": "3466", + "id": "3467", "mutability": "MUTABLE", "name": "returndata", "nameLocation": { @@ -64961,17 +65041,17 @@ "end": "58121", "length": "10", "line": "1631", - "parentIndex": "3466", + "parentIndex": "3467", "start": "58112" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3455", + "scope": "3456", "src": { "column": "23", "end": "58121", "length": "23", "line": "1631", - "parentIndex": "3463", + "parentIndex": "3464", "start": "58099" }, "storageLocation": "MEMORY", @@ -64980,7 +65060,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3467", + "id": "3468", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -64988,7 +65068,7 @@ "end": "58103", "length": "5", "line": "1631", - "parentIndex": "3466", + "parentIndex": "3467", "start": "58099" }, "typeDescription": { @@ -64999,7 +65079,7 @@ "visibility": "INTERNAL" } ], - "id": "3463", + "id": "3464", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -65013,16 +65093,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3471", + "id": "3472", "name": "data", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3471", + "referencedDeclaration": "3472", "src": { "column": "70", "end": "58149", "length": "4", "line": "1631", - "parentIndex": "3468", + "parentIndex": "3469", "start": "58146" }, "typeDescription": { @@ -65038,16 +65118,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3470", + "id": "3471", "name": "target", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3470", + "referencedDeclaration": "3471", "src": { "column": "50", "end": "58131", "length": "6", "line": "1631", - "parentIndex": "3469", + "parentIndex": "3470", "start": "58126" }, "typeDescription": { @@ -65056,13 +65136,13 @@ } } }, - "id": "3469", + "id": "3470", "memberLocation": { "column": "57", "end": "58144", "length": "12", "line": "1631", - "parentIndex": "3469", + "parentIndex": "3470", "start": "58133" }, "memberName": "delegatecall", @@ -65072,7 +65152,7 @@ "end": "58144", "length": "19", "line": "1631", - "parentIndex": "3468", + "parentIndex": "3469", "start": "58126" }, "typeDescription": { @@ -65081,7 +65161,7 @@ } } }, - "id": "3468", + "id": "3469", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -65089,7 +65169,7 @@ "end": "58150", "length": "25", "line": "1631", - "parentIndex": "3463", + "parentIndex": "3464", "start": "58126" }, "typeDescription": { @@ -65104,7 +65184,7 @@ "end": "58151", "length": "68", "line": "1631", - "parentIndex": "3455", + "parentIndex": "3456", "start": "58084" } } @@ -65133,16 +65213,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3476", + "id": "3477", "name": "success", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3463", + "referencedDeclaration": "3464", "src": { "column": "51", "end": "58210", "length": "7", "line": "1632", - "parentIndex": "3473", + "parentIndex": "3474", "start": "58204" }, "typeDescription": { @@ -65160,16 +65240,16 @@ "typeString": "bool" } ], - "id": "3477", + "id": "3478", "name": "returndata", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3463", + "referencedDeclaration": "3464", "src": { "column": "60", "end": "58222", "length": "10", "line": "1632", - "parentIndex": "3473", + "parentIndex": "3474", "start": "58213" }, "typeDescription": { @@ -65192,7 +65272,7 @@ } ], "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": "3478", + "id": "3479", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -65201,7 +65281,7 @@ "end": "58265", "length": "41", "line": "1632", - "parentIndex": "3473", + "parentIndex": "3474", "start": "58225" }, "typeDescription": { @@ -65218,7 +65298,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3475", + "id": "3476", "name": "AddressUpgradeable", "nodeType": "IDENTIFIER", "referencedDeclaration": "1659", @@ -65227,7 +65307,7 @@ "end": "58185", "length": "18", "line": "1632", - "parentIndex": "3474", + "parentIndex": "3475", "start": "58168" }, "typeDescription": { @@ -65236,13 +65316,13 @@ } } }, - "id": "3474", + "id": "3475", "memberLocation": { "column": "34", "end": "58202", "length": "16", "line": "1632", - "parentIndex": "3474", + "parentIndex": "3475", "start": "58187" }, "memberName": "verifyCallResult", @@ -65252,7 +65332,7 @@ "end": "58202", "length": "35", "line": "1632", - "parentIndex": "3473", + "parentIndex": "3474", "start": "58168" }, "typeDescription": { @@ -65261,7 +65341,7 @@ } } }, - "id": "3473", + "id": "3474", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -65269,7 +65349,7 @@ "end": "58266", "length": "99", "line": "1632", - "parentIndex": "3472", + "parentIndex": "3473", "start": "58168" }, "typeDescription": { @@ -65278,15 +65358,15 @@ } } }, - "functionReturnParameters": "3446", - "id": "3472", + "functionReturnParameters": "3447", + "id": "3473", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "58267", "length": "107", "line": "1632", - "parentIndex": "3446", + "parentIndex": "3447", "start": "58161" }, "typeDescription": { @@ -65297,7 +65377,7 @@ } ] }, - "id": "3446", + "id": "3447", "implemented": true, "kind": "KIND_FUNCTION", "name": "_functionDelegateCall", @@ -65306,25 +65386,25 @@ "end": "57848", "length": "21", "line": "1627", - "parentIndex": "3446", + "parentIndex": "3447", "start": "57828" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3447", + "id": "3448", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3448", + "id": "3449", "name": "target", "nodeType": "VARIABLE_DECLARATION", - "scope": "3448", + "scope": "3449", "src": { "column": "35", "end": "57863", "length": "14", "line": "1627", - "parentIndex": "3447", + "parentIndex": "3448", "start": "57850" }, "stateMutability": "NONPAYABLE", @@ -65334,7 +65414,7 @@ "typeString": "address" }, "typeName": { - "id": "3449", + "id": "3450", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -65342,7 +65422,7 @@ "end": "57856", "length": "7", "line": "1627", - "parentIndex": "3448", + "parentIndex": "3449", "start": "57850" }, "stateMutability": "NONPAYABLE", @@ -65354,16 +65434,16 @@ "visibility": "INTERNAL" }, { - "id": "3450", + "id": "3451", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "3450", + "scope": "3451", "src": { "column": "51", "end": "57882", "length": "17", "line": "1627", - "parentIndex": "3447", + "parentIndex": "3448", "start": "57866" }, "stateMutability": "MUTABLE", @@ -65373,7 +65453,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3451", + "id": "3452", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -65381,7 +65461,7 @@ "end": "57870", "length": "5", "line": "1627", - "parentIndex": "3450", + "parentIndex": "3451", "start": "57866" }, "typeDescription": { @@ -65397,24 +65477,24 @@ "end": "57882", "length": "33", "line": "1627", - "parentIndex": "3446", + "parentIndex": "3447", "start": "57850" } }, "returnParameters": { - "id": "3452", + "id": "3453", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3453", + "id": "3454", "nodeType": "VARIABLE_DECLARATION", - "scope": "3453", + "scope": "3454", "src": { "column": "87", "end": "57913", "length": "12", "line": "1627", - "parentIndex": "3452", + "parentIndex": "3453", "start": "57902" }, "stateMutability": "MUTABLE", @@ -65424,7 +65504,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3454", + "id": "3455", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -65432,7 +65512,7 @@ "end": "57906", "length": "5", "line": "1627", - "parentIndex": "3453", + "parentIndex": "3454", "start": "57902" }, "typeDescription": { @@ -65448,18 +65528,18 @@ "end": "57913", "length": "12", "line": "1627", - "parentIndex": "3446", + "parentIndex": "3447", "start": "57902" } }, - "scope": "3163", - "signature": "d4f56b32", + "scope": "3164", + "signature": "378f61a0", "src": { "column": "4", "end": "58273", "length": "455", "line": "1627", - "parentIndex": "3163", + "parentIndex": "3164", "start": "57819" }, "stateMutability": "NONPAYABLE", @@ -65473,17 +65553,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3480", + "id": "3481", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", - "scope": "3163", + "scope": "3164", "src": { "column": "4", "end": "58564", "length": "26", "line": "1640", - "parentIndex": "3163", + "parentIndex": "3164", "start": "58539" }, "stateMutability": "MUTABLE", @@ -65497,7 +65577,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3530", - "id": "3483", + "id": "3484", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -65506,7 +65586,7 @@ "end": "58548", "length": "2", "line": "1640", - "parentIndex": "3481", + "parentIndex": "3482", "start": "58547" }, "typeDescription": { @@ -65516,7 +65596,7 @@ "value": "50" } }, - "id": "3481", + "id": "3482", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -65524,7 +65604,7 @@ "end": "58545", "length": "7", "line": "1640", - "parentIndex": "3480", + "parentIndex": "3481", "start": "58539" }, "typeDescription": { @@ -65540,7 +65620,7 @@ "end": "58566", "length": "7226", "line": "1449", - "parentIndex": "3124", + "parentIndex": "3125", "start": "51341" } } @@ -65556,33 +65636,33 @@ } }, { - "id": 3484, + "id": 3485, "license": "MIT", "name": "UUPSUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/UUPSUpgradeable.sol", "exported_symbols": [ { - "id": 3484, + "id": 3485, "name": "UUPSUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/UUPSUpgradeable.sol" }, { - "id": 3124, + "id": 3125, "name": "draft-IERC1822Upgradeable", "absolute_path": "draft-IERC1822Upgradeable.sol" }, { - "id": 3124, + "id": 3125, "name": "ERC1967UpgradeUpgradeable", "absolute_path": "ERC1967UpgradeUpgradeable.sol" }, { - "id": 3124, + "id": 3125, "name": "Initializable", "absolute_path": "Initializable.sol" }, { - "id": 3530, + "id": 3531, "name": "IERC1822ProxiableUpgradeable" } ], @@ -65592,7 +65672,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "3500", + "id": "3501", "literals": [ "pragma", "solidity", @@ -65609,7 +65689,7 @@ "end": "58707", "length": "23", "line": "1647", - "parentIndex": "3484", + "parentIndex": "3485", "start": "58685" }, "text": "pragma solidity ^0.8.0;" @@ -65620,15 +65700,15 @@ "value": { "absolutePath": "draft-IERC1822Upgradeable.sol", "file": "./draft-IERC1822Upgradeable.sol", - "id": "3524", + "id": "3525", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3484", - "sourceUnit": "3124", + "scope": "3485", + "sourceUnit": "3125", "src": { "end": "58750", "length": "41", "line": "1649", - "parentIndex": "3484", + "parentIndex": "3485", "start": "58710" } } @@ -65638,15 +65718,15 @@ "value": { "absolutePath": "ERC1967UpgradeUpgradeable.sol", "file": "./ERC1967UpgradeUpgradeable.sol", - "id": "3525", + "id": "3526", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3484", - "sourceUnit": "3124", + "scope": "3485", + "sourceUnit": "3125", "src": { "end": "58792", "length": "41", "line": "1650", - "parentIndex": "3484", + "parentIndex": "3485", "start": "58752" } } @@ -65656,15 +65736,15 @@ "value": { "absolutePath": "Initializable.sol", "file": "./Initializable.sol", - "id": "3526", + "id": "3527", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3484", - "sourceUnit": "3124", + "scope": "3485", + "sourceUnit": "3125", "src": { "end": "58822", "length": "29", "line": "1651", - "parentIndex": "3484", + "parentIndex": "3485", "start": "58794" } } @@ -65675,7 +65755,7 @@ "baseContracts": [ { "baseName": { - "id": "3529", + "id": "3530", "name": "Initializable", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1894", @@ -65684,93 +65764,93 @@ "end": "59523", "length": "13", "line": "1665", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59511" } }, - "id": "3528", + "id": "3529", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "37", "end": "59523", "length": "13", "line": "1665", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59511" } }, { "baseName": { - "id": "3531", + "id": "3532", "name": "IERC1822ProxiableUpgradeable", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "2843", + "referencedDeclaration": "2844", "src": { "column": "52", "end": "59553", "length": "28", "line": "1665", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59526" } }, - "id": "3530", + "id": "3531", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "52", "end": "59553", "length": "28", "line": "1665", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59526" } }, { "baseName": { - "id": "3533", + "id": "3534", "name": "ERC1967UpgradeUpgradeable", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3124", + "referencedDeclaration": "3125", "src": { "column": "82", "end": "59580", "length": "25", "line": "1665", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59556" } }, - "id": "3532", + "id": "3533", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "82", "end": "59580", "length": "25", "line": "1665", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59556" } } ], "contractDependencies": [ "1894", - "2843", - "3124", - "3524", + "2844", + "3125", "3525", - "3526" + "3526", + "3527" ], "fullyImplemented": true, - "id": "3527", + "id": "3528", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ "1894", - "2843", - "3124", - "3527", - "3524", + "2844", + "3125", + "3528", "3525", - "3526" + "3526", + "3527" ], "name": "UUPSUpgradeable", "nameLocation": { @@ -65778,7 +65858,7 @@ "end": "59506", "length": "15", "line": "1665", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59492" }, "nodeType": "CONTRACT_DEFINITION", @@ -65787,7 +65867,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3540", + "id": "3541", "implemented": true, "nodeType": "BLOCK", "src": { @@ -65795,26 +65875,26 @@ "end": "59654", "length": "7", "line": "1666", - "parentIndex": "3535", + "parentIndex": "3536", "start": "59648" } }, - "id": "3535", + "id": "3536", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3537", + "id": "3538", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3538", + "id": "3539", "name": "onlyInitializing", "src": { "column": "47", "end": "59646", "length": "16", "line": "1666", - "parentIndex": "3537", + "parentIndex": "3538", "start": "59631" } }, @@ -65825,7 +65905,7 @@ "end": "59646", "length": "16", "line": "1666", - "parentIndex": "3535", + "parentIndex": "3536", "start": "59631" } } @@ -65836,42 +65916,42 @@ "end": "59618", "length": "22", "line": "1666", - "parentIndex": "3535", + "parentIndex": "3536", "start": "59597" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3536", + "id": "3537", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "59654", "length": "67", "line": "1666", - "parentIndex": "3535", + "parentIndex": "3536", "start": "59588" } }, "returnParameters": { - "id": "3539", + "id": "3540", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "59654", "length": "67", "line": "1666", - "parentIndex": "3535", + "parentIndex": "3536", "start": "59588" } }, - "scope": "3527", + "scope": "3528", "signature": "6e7fd379", "src": { "column": "4", "end": "59654", "length": "67", "line": "1666", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59588" }, "stateMutability": "NONPAYABLE", @@ -65886,7 +65966,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3547", + "id": "3548", "implemented": true, "nodeType": "BLOCK", "src": { @@ -65894,26 +65974,26 @@ "end": "59737", "length": "7", "line": "1669", - "parentIndex": "3542", + "parentIndex": "3543", "start": "59731" } }, - "id": "3542", + "id": "3543", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3544", + "id": "3545", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3545", + "id": "3546", "name": "onlyInitializing", "src": { "column": "57", "end": "59729", "length": "16", "line": "1669", - "parentIndex": "3544", + "parentIndex": "3545", "start": "59714" } }, @@ -65924,7 +66004,7 @@ "end": "59729", "length": "16", "line": "1669", - "parentIndex": "3542", + "parentIndex": "3543", "start": "59714" } } @@ -65935,42 +66015,42 @@ "end": "59701", "length": "32", "line": "1669", - "parentIndex": "3542", + "parentIndex": "3543", "start": "59670" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3543", + "id": "3544", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "59737", "length": "77", "line": "1669", - "parentIndex": "3542", + "parentIndex": "3543", "start": "59661" } }, "returnParameters": { - "id": "3546", + "id": "3547", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "59737", "length": "77", "line": "1669", - "parentIndex": "3542", + "parentIndex": "3543", "start": "59661" } }, - "scope": "3527", + "scope": "3528", "signature": "ce8a1477", "src": { "column": "4", "end": "59737", "length": "77", "line": "1669", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59661" }, "stateMutability": "NONPAYABLE", @@ -65984,13 +66064,13 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3549", + "id": "3550", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UUPSUpgradeable_$3484", + "typeIdentifier": "t_contract$_UUPSUpgradeable_$3485", "typeString": "contract UUPSUpgradeable" } ], @@ -65998,7 +66078,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3554", + "id": "3555", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -66006,11 +66086,11 @@ "end": "59881", "length": "4", "line": "1672", - "parentIndex": "3551", + "parentIndex": "3552", "start": "59878" }, "typeDescription": { - "typeIdentifier": "t_contract$_UUPSUpgradeable_$3484", + "typeIdentifier": "t_contract$_UUPSUpgradeable_$3485", "typeString": "contract UUPSUpgradeable" } } @@ -66025,7 +66105,7 @@ "typeString": "address" } ], - "id": "3552", + "id": "3553", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -66033,7 +66113,7 @@ "end": "59876", "length": "7", "line": "1672", - "parentIndex": "3551", + "parentIndex": "3552", "start": "59870" }, "typeDescription": { @@ -66041,7 +66121,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3553", + "id": "3554", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -66049,7 +66129,7 @@ "end": "59876", "length": "7", "line": "1672", - "parentIndex": "3552", + "parentIndex": "3553", "start": "59870" }, "stateMutability": "NONPAYABLE", @@ -66060,7 +66140,7 @@ } } }, - "id": "3551", + "id": "3552", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -66068,7 +66148,7 @@ "end": "59882", "length": "13", "line": "1672", - "parentIndex": "3549", + "parentIndex": "3550", "start": "59870" }, "typeDescription": { @@ -66080,13 +66160,13 @@ "isStateVariable": true, "name": "__self", "nodeType": "VARIABLE_DECLARATION", - "scope": "3527", + "scope": "3528", "src": { "column": "4", "end": "59883", "length": "49", "line": "1672", - "parentIndex": "3527", + "parentIndex": "3528", "start": "59835" }, "stateMutability": "IMMUTABLE", @@ -66096,7 +66176,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3550", + "id": "3551", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -66104,7 +66184,7 @@ "end": "59841", "length": "7", "line": "1672", - "parentIndex": "3549", + "parentIndex": "3550", "start": "59835" }, "stateMutability": "NONPAYABLE", @@ -66120,7 +66200,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "3558", + "id": "3559", "implemented": true, "nodeType": "BLOCK", "src": { @@ -66128,7 +66208,7 @@ "end": "60613", "length": "205", "line": "1681", - "parentIndex": "3556", + "parentIndex": "3557", "start": "60409" }, "statements": [ @@ -66149,13 +66229,13 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3561", + "id": "3562", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UUPSUpgradeable_$3484", + "typeIdentifier": "t_contract$_UUPSUpgradeable_$3485", "typeString": "contract UUPSUpgradeable" } ], @@ -66163,7 +66243,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3565", + "id": "3566", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -66171,11 +66251,11 @@ "end": "60438", "length": "4", "line": "1682", - "parentIndex": "3562", + "parentIndex": "3563", "start": "60435" }, "typeDescription": { - "typeIdentifier": "t_contract$_UUPSUpgradeable_$3484", + "typeIdentifier": "t_contract$_UUPSUpgradeable_$3485", "typeString": "contract UUPSUpgradeable" } } @@ -66190,7 +66270,7 @@ "typeString": "address" } ], - "id": "3563", + "id": "3564", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -66198,7 +66278,7 @@ "end": "60433", "length": "7", "line": "1682", - "parentIndex": "3562", + "parentIndex": "3563", "start": "60427" }, "typeDescription": { @@ -66206,7 +66286,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3564", + "id": "3565", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -66214,7 +66294,7 @@ "end": "60433", "length": "7", "line": "1682", - "parentIndex": "3563", + "parentIndex": "3564", "start": "60427" }, "stateMutability": "NONPAYABLE", @@ -66225,7 +66305,7 @@ } } }, - "id": "3562", + "id": "3563", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -66233,7 +66313,7 @@ "end": "60439", "length": "13", "line": "1682", - "parentIndex": "3561", + "parentIndex": "3562", "start": "60427" }, "typeDescription": { @@ -66247,16 +66327,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3566", + "id": "3567", "name": "__self", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3549", + "referencedDeclaration": "3550", "src": { "column": "33", "end": "60449", "length": "6", "line": "1682", - "parentIndex": "3561", + "parentIndex": "3562", "start": "60444" }, "typeDescription": { @@ -66270,7 +66350,7 @@ "end": "60449", "length": "23", "line": "1682", - "parentIndex": "3559", + "parentIndex": "3560", "start": "60427" }, "typeDescription": { @@ -66289,7 +66369,7 @@ } ], "hexValue": "46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682064656c656761746563616c6c", - "id": "3567", + "id": "3568", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -66298,7 +66378,7 @@ "end": "60497", "length": "46", "line": "1682", - "parentIndex": "3559", + "parentIndex": "3560", "start": "60452" }, "typeDescription": { @@ -66312,7 +66392,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3560", + "id": "3561", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -66321,7 +66401,7 @@ "end": "60425", "length": "7", "line": "1682", - "parentIndex": "3559", + "parentIndex": "3560", "start": "60419" }, "typeDescription": { @@ -66330,7 +66410,7 @@ } } }, - "id": "3559", + "id": "3560", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -66338,7 +66418,7 @@ "end": "60498", "length": "80", "line": "1682", - "parentIndex": "3558", + "parentIndex": "3559", "start": "60419" }, "typeDescription": { @@ -66364,14 +66444,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3570", + "id": "3571", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3572", + "id": "3573", "name": "_getImplementation", "nodeType": "IDENTIFIER", "src": { @@ -66379,7 +66459,7 @@ "end": "60534", "length": "18", "line": "1683", - "parentIndex": "3571", + "parentIndex": "3572", "start": "60517" }, "typeDescription": { @@ -66388,7 +66468,7 @@ } } }, - "id": "3571", + "id": "3572", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -66396,7 +66476,7 @@ "end": "60536", "length": "20", "line": "1683", - "parentIndex": "3570", + "parentIndex": "3571", "start": "60517" }, "typeDescription": { @@ -66410,16 +66490,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3573", + "id": "3574", "name": "__self", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3549", + "referencedDeclaration": "3550", "src": { "column": "40", "end": "60546", "length": "6", "line": "1683", - "parentIndex": "3570", + "parentIndex": "3571", "start": "60541" }, "typeDescription": { @@ -66433,7 +66513,7 @@ "end": "60546", "length": "30", "line": "1683", - "parentIndex": "3568", + "parentIndex": "3569", "start": "60517" }, "typeDescription": { @@ -66452,7 +66532,7 @@ } ], "hexValue": "46756e6374696f6e206d7573742062652063616c6c6564207468726f756768206163746976652070726f7879", - "id": "3574", + "id": "3575", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -66461,7 +66541,7 @@ "end": "60594", "length": "46", "line": "1683", - "parentIndex": "3568", + "parentIndex": "3569", "start": "60549" }, "typeDescription": { @@ -66475,7 +66555,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3569", + "id": "3570", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -66484,7 +66564,7 @@ "end": "60515", "length": "7", "line": "1683", - "parentIndex": "3568", + "parentIndex": "3569", "start": "60509" }, "typeDescription": { @@ -66493,7 +66573,7 @@ } } }, - "id": "3568", + "id": "3569", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -66501,7 +66581,7 @@ "end": "60595", "length": "87", "line": "1683", - "parentIndex": "3558", + "parentIndex": "3559", "start": "60509" }, "typeDescription": { @@ -66513,7 +66593,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3575", + "id": "3576", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -66521,7 +66601,7 @@ "end": "60606", "length": "1", "line": "1684", - "parentIndex": "3558", + "parentIndex": "3559", "start": "60606" }, "typeDescription": { @@ -66532,26 +66612,26 @@ } ] }, - "id": "3556", + "id": "3557", "name": "onlyProxy", "nameLocation": { "column": "13", "end": "60405", "length": "9", "line": "1681", - "parentIndex": "3556", + "parentIndex": "3557", "start": "60397" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "3557", + "id": "3558", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "60613", "length": "226", "line": "1681", - "parentIndex": "3527", + "parentIndex": "3528", "start": "60388" } }, @@ -66560,7 +66640,7 @@ "end": "60613", "length": "226", "line": "1681", - "parentIndex": "3527", + "parentIndex": "3528", "start": "60388" }, "visibility": "INTERNAL" @@ -66570,7 +66650,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "3579", + "id": "3580", "implemented": true, "nodeType": "BLOCK", "src": { @@ -66578,7 +66658,7 @@ "end": "60963", "length": "120", "line": "1691", - "parentIndex": "3577", + "parentIndex": "3578", "start": "60844" }, "statements": [ @@ -66599,13 +66679,13 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3582", + "id": "3583", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UUPSUpgradeable_$3484", + "typeIdentifier": "t_contract$_UUPSUpgradeable_$3485", "typeString": "contract UUPSUpgradeable" } ], @@ -66613,7 +66693,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3586", + "id": "3587", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -66621,11 +66701,11 @@ "end": "60873", "length": "4", "line": "1692", - "parentIndex": "3583", + "parentIndex": "3584", "start": "60870" }, "typeDescription": { - "typeIdentifier": "t_contract$_UUPSUpgradeable_$3484", + "typeIdentifier": "t_contract$_UUPSUpgradeable_$3485", "typeString": "contract UUPSUpgradeable" } } @@ -66640,7 +66720,7 @@ "typeString": "address" } ], - "id": "3584", + "id": "3585", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -66648,7 +66728,7 @@ "end": "60868", "length": "7", "line": "1692", - "parentIndex": "3583", + "parentIndex": "3584", "start": "60862" }, "typeDescription": { @@ -66656,7 +66736,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3585", + "id": "3586", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -66664,7 +66744,7 @@ "end": "60868", "length": "7", "line": "1692", - "parentIndex": "3584", + "parentIndex": "3585", "start": "60862" }, "stateMutability": "NONPAYABLE", @@ -66675,7 +66755,7 @@ } } }, - "id": "3583", + "id": "3584", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -66683,7 +66763,7 @@ "end": "60874", "length": "13", "line": "1692", - "parentIndex": "3582", + "parentIndex": "3583", "start": "60862" }, "typeDescription": { @@ -66697,16 +66777,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3587", + "id": "3588", "name": "__self", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3549", + "referencedDeclaration": "3550", "src": { "column": "33", "end": "60884", "length": "6", "line": "1692", - "parentIndex": "3582", + "parentIndex": "3583", "start": "60879" }, "typeDescription": { @@ -66720,7 +66800,7 @@ "end": "60884", "length": "23", "line": "1692", - "parentIndex": "3580", + "parentIndex": "3581", "start": "60862" }, "typeDescription": { @@ -66739,7 +66819,7 @@ } ], "hexValue": "555550535570677261646561626c653a206d757374206e6f742062652063616c6c6564207468726f7567682064656c656761746563616c6c", - "id": "3588", + "id": "3589", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -66748,7 +66828,7 @@ "end": "60944", "length": "58", "line": "1692", - "parentIndex": "3580", + "parentIndex": "3581", "start": "60887" }, "typeDescription": { @@ -66762,7 +66842,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3581", + "id": "3582", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -66771,7 +66851,7 @@ "end": "60860", "length": "7", "line": "1692", - "parentIndex": "3580", + "parentIndex": "3581", "start": "60854" }, "typeDescription": { @@ -66780,7 +66860,7 @@ } } }, - "id": "3580", + "id": "3581", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -66788,7 +66868,7 @@ "end": "60945", "length": "92", "line": "1692", - "parentIndex": "3579", + "parentIndex": "3580", "start": "60854" }, "typeDescription": { @@ -66800,7 +66880,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3589", + "id": "3590", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -66808,7 +66888,7 @@ "end": "60956", "length": "1", "line": "1693", - "parentIndex": "3579", + "parentIndex": "3580", "start": "60956" }, "typeDescription": { @@ -66819,26 +66899,26 @@ } ] }, - "id": "3577", + "id": "3578", "name": "notDelegated", "nameLocation": { "column": "13", "end": "60840", "length": "12", "line": "1691", - "parentIndex": "3577", + "parentIndex": "3578", "start": "60829" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "3578", + "id": "3579", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "60963", "length": "144", "line": "1691", - "parentIndex": "3527", + "parentIndex": "3528", "start": "60820" } }, @@ -66847,7 +66927,7 @@ "end": "60963", "length": "144", "line": "1691", - "parentIndex": "3527", + "parentIndex": "3528", "start": "60820" }, "visibility": "INTERNAL" @@ -66857,7 +66937,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3601", + "id": "3602", "implemented": true, "nodeType": "BLOCK", "src": { @@ -66865,7 +66945,7 @@ "end": "61680", "length": "44", "line": "1704", - "parentIndex": "3591", + "parentIndex": "3592", "start": "61637" }, "statements": [ @@ -66875,16 +66955,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3603", + "id": "3604", "name": "_IMPLEMENTATION_SLOT", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3185", + "referencedDeclaration": "3186", "src": { "column": "15", "end": "61673", "length": "20", "line": "1705", - "parentIndex": "3602", + "parentIndex": "3603", "start": "61654" }, "typeDescription": { @@ -66893,15 +66973,15 @@ } } }, - "functionReturnParameters": "3591", - "id": "3602", + "functionReturnParameters": "3592", + "id": "3603", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "61674", "length": "28", "line": "1705", - "parentIndex": "3591", + "parentIndex": "3592", "start": "61647" }, "typeDescription": { @@ -66912,22 +66992,22 @@ } ] }, - "id": "3591", + "id": "3592", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3595", + "id": "3596", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3596", + "id": "3597", "name": "notDelegated", "src": { "column": "60", "end": "61617", "length": "12", "line": "1704", - "parentIndex": "3595", + "parentIndex": "3596", "start": "61606" } }, @@ -66938,7 +67018,7 @@ "end": "61617", "length": "12", "line": "1704", - "parentIndex": "3591", + "parentIndex": "3592", "start": "61606" } } @@ -66949,20 +67029,20 @@ "end": "61571", "length": "13", "line": "1704", - "parentIndex": "3591", + "parentIndex": "3592", "start": "61559" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "3597", + "id": "3598", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "51", "end": "61604", "length": "8", "line": "1704", - "parentIndex": "3591", + "parentIndex": "3592", "start": "61597" }, "typeDescription": { @@ -66972,19 +67052,19 @@ } ], "parameters": { - "id": "3592", + "id": "3593", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3593", + "id": "3594", "nodeType": "VARIABLE_DECLARATION", - "scope": "3593", + "scope": "3594", "src": { "column": "82", "end": "61634", "length": "7", "line": "1704", - "parentIndex": "3592", + "parentIndex": "3593", "start": "61628" }, "stateMutability": "MUTABLE", @@ -66994,7 +67074,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3594", + "id": "3595", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67002,7 +67082,7 @@ "end": "61634", "length": "7", "line": "1704", - "parentIndex": "3593", + "parentIndex": "3594", "start": "61628" }, "typeDescription": { @@ -67018,24 +67098,24 @@ "end": "61634", "length": "7", "line": "1704", - "parentIndex": "3591", + "parentIndex": "3592", "start": "61628" } }, "returnParameters": { - "id": "3598", + "id": "3599", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3599", + "id": "3600", "nodeType": "VARIABLE_DECLARATION", - "scope": "3599", + "scope": "3600", "src": { "column": "82", "end": "61634", "length": "7", "line": "1704", - "parentIndex": "3598", + "parentIndex": "3599", "start": "61628" }, "stateMutability": "MUTABLE", @@ -67045,7 +67125,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3600", + "id": "3601", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67053,7 +67133,7 @@ "end": "61634", "length": "7", "line": "1704", - "parentIndex": "3599", + "parentIndex": "3600", "start": "61628" }, "typeDescription": { @@ -67069,18 +67149,18 @@ "end": "61634", "length": "7", "line": "1704", - "parentIndex": "3591", + "parentIndex": "3592", "start": "61628" } }, - "scope": "3527", + "scope": "3528", "signature": "e5f9ca4c", "src": { "column": "4", "end": "61680", "length": "131", "line": "1704", - "parentIndex": "3527", + "parentIndex": "3528", "start": "61550" }, "stateMutability": "VIEW", @@ -67096,7 +67176,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3612", + "id": "3613", "implemented": true, "nodeType": "BLOCK", "src": { @@ -67104,7 +67184,7 @@ "end": "62057", "length": "124", "line": "1715", - "parentIndex": "3605", + "parentIndex": "3606", "start": "61934" }, "statements": [ @@ -67121,16 +67201,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3615", + "id": "3616", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3615", + "referencedDeclaration": "3616", "src": { "column": "26", "end": "61978", "length": "17", "line": "1716", - "parentIndex": "3613", + "parentIndex": "3614", "start": "61962" }, "typeDescription": { @@ -67143,7 +67223,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3614", + "id": "3615", "name": "_authorizeUpgrade", "nodeType": "IDENTIFIER", "src": { @@ -67151,7 +67231,7 @@ "end": "61960", "length": "17", "line": "1716", - "parentIndex": "3613", + "parentIndex": "3614", "start": "61944" }, "typeDescription": { @@ -67160,7 +67240,7 @@ } } }, - "id": "3613", + "id": "3614", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -67168,7 +67248,7 @@ "end": "61979", "length": "36", "line": "1716", - "parentIndex": "3612", + "parentIndex": "3613", "start": "61944" }, "typeDescription": { @@ -67198,16 +67278,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3618", + "id": "3619", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3618", + "referencedDeclaration": "3619", "src": { "column": "30", "end": "62028", "length": "17", "line": "1717", - "parentIndex": "3616", + "parentIndex": "3617", "start": "62012" }, "typeDescription": { @@ -67230,7 +67310,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3622", + "id": "3623", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -67239,7 +67319,7 @@ "end": "62041", "length": "1", "line": "1717", - "parentIndex": "3619", + "parentIndex": "3620", "start": "62041" }, "typeDescription": { @@ -67253,14 +67333,14 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.NewExpression", "value": { - "id": "3620", + "id": "3621", "nodeType": "NEW_EXPRESSION", "src": { "column": "49", "end": "62039", "length": "9", "line": "1717", - "parentIndex": "3619", + "parentIndex": "3620", "start": "62031" }, "typeDescription": { @@ -67268,7 +67348,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3621", + "id": "3622", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67276,7 +67356,7 @@ "end": "62039", "length": "5", "line": "1717", - "parentIndex": "3620", + "parentIndex": "3621", "start": "62035" }, "typeDescription": { @@ -67286,7 +67366,7 @@ } } }, - "id": "3619", + "id": "3620", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -67294,7 +67374,7 @@ "end": "62042", "length": "12", "line": "1717", - "parentIndex": "3616", + "parentIndex": "3617", "start": "62031" }, "typeDescription": { @@ -67317,7 +67397,7 @@ } ], "hexValue": "66616c7365", - "id": "3623", + "id": "3624", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -67326,7 +67406,7 @@ "end": "62049", "length": "5", "line": "1717", - "parentIndex": "3616", + "parentIndex": "3617", "start": "62045" }, "typeDescription": { @@ -67340,7 +67420,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3617", + "id": "3618", "name": "_upgradeToAndCallUUPS", "nodeType": "IDENTIFIER", "src": { @@ -67348,7 +67428,7 @@ "end": "62010", "length": "21", "line": "1717", - "parentIndex": "3616", + "parentIndex": "3617", "start": "61990" }, "typeDescription": { @@ -67357,7 +67437,7 @@ } } }, - "id": "3616", + "id": "3617", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -67365,7 +67445,7 @@ "end": "62050", "length": "61", "line": "1717", - "parentIndex": "3612", + "parentIndex": "3613", "start": "61990" }, "typeDescription": { @@ -67376,22 +67456,22 @@ } ] }, - "id": "3605", + "id": "3606", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3609", + "id": "3610", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3610", + "id": "3611", "name": "onlyProxy", "src": { "column": "67", "end": "61932", "length": "9", "line": "1715", - "parentIndex": "3609", + "parentIndex": "3610", "start": "61924" } }, @@ -67402,7 +67482,7 @@ "end": "61932", "length": "9", "line": "1715", - "parentIndex": "3605", + "parentIndex": "3606", "start": "61924" } } @@ -67413,25 +67493,25 @@ "end": "61878", "length": "9", "line": "1715", - "parentIndex": "3605", + "parentIndex": "3606", "start": "61870" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3606", + "id": "3607", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3607", + "id": "3608", "name": "newImplementation", "nodeType": "VARIABLE_DECLARATION", - "scope": "3607", + "scope": "3608", "src": { "column": "23", "end": "61904", "length": "25", "line": "1715", - "parentIndex": "3606", + "parentIndex": "3607", "start": "61880" }, "stateMutability": "NONPAYABLE", @@ -67441,7 +67521,7 @@ "typeString": "address" }, "typeName": { - "id": "3608", + "id": "3609", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67449,7 +67529,7 @@ "end": "61886", "length": "7", "line": "1715", - "parentIndex": "3607", + "parentIndex": "3608", "start": "61880" }, "stateMutability": "NONPAYABLE", @@ -67466,30 +67546,30 @@ "end": "61904", "length": "25", "line": "1715", - "parentIndex": "3605", + "parentIndex": "3606", "start": "61880" } }, "returnParameters": { - "id": "3611", + "id": "3612", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "62057", "length": "197", "line": "1715", - "parentIndex": "3605", + "parentIndex": "3606", "start": "61861" } }, - "scope": "3527", + "scope": "3528", "signature": "3659cfe6", "src": { "column": "4", "end": "62057", "length": "197", "line": "1715", - "parentIndex": "3527", + "parentIndex": "3528", "start": "61861" }, "stateMutability": "NONPAYABLE", @@ -67505,7 +67585,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3634", + "id": "3635", "implemented": true, "nodeType": "BLOCK", "src": { @@ -67513,7 +67593,7 @@ "end": "62528", "length": "115", "line": "1728", - "parentIndex": "3625", + "parentIndex": "3626", "start": "62414" }, "statements": [ @@ -67530,16 +67610,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3637", + "id": "3638", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3637", + "referencedDeclaration": "3638", "src": { "column": "26", "end": "62458", "length": "17", "line": "1729", - "parentIndex": "3635", + "parentIndex": "3636", "start": "62442" }, "typeDescription": { @@ -67552,7 +67632,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3636", + "id": "3637", "name": "_authorizeUpgrade", "nodeType": "IDENTIFIER", "src": { @@ -67560,7 +67640,7 @@ "end": "62440", "length": "17", "line": "1729", - "parentIndex": "3635", + "parentIndex": "3636", "start": "62424" }, "typeDescription": { @@ -67569,7 +67649,7 @@ } } }, - "id": "3635", + "id": "3636", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -67577,7 +67657,7 @@ "end": "62459", "length": "36", "line": "1729", - "parentIndex": "3634", + "parentIndex": "3635", "start": "62424" }, "typeDescription": { @@ -67607,16 +67687,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3640", + "id": "3641", "name": "newImplementation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3640", + "referencedDeclaration": "3641", "src": { "column": "30", "end": "62508", "length": "17", "line": "1730", - "parentIndex": "3638", + "parentIndex": "3639", "start": "62492" }, "typeDescription": { @@ -67634,16 +67714,16 @@ "typeString": "address" } ], - "id": "3641", + "id": "3642", "name": "data", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3641", + "referencedDeclaration": "3642", "src": { "column": "49", "end": "62514", "length": "4", "line": "1730", - "parentIndex": "3638", + "parentIndex": "3639", "start": "62511" }, "typeDescription": { @@ -67666,7 +67746,7 @@ } ], "hexValue": "74727565", - "id": "3642", + "id": "3643", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -67675,7 +67755,7 @@ "end": "62520", "length": "4", "line": "1730", - "parentIndex": "3638", + "parentIndex": "3639", "start": "62517" }, "typeDescription": { @@ -67689,7 +67769,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3639", + "id": "3640", "name": "_upgradeToAndCallUUPS", "nodeType": "IDENTIFIER", "src": { @@ -67697,7 +67777,7 @@ "end": "62490", "length": "21", "line": "1730", - "parentIndex": "3638", + "parentIndex": "3639", "start": "62470" }, "typeDescription": { @@ -67706,7 +67786,7 @@ } } }, - "id": "3638", + "id": "3639", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -67714,7 +67794,7 @@ "end": "62521", "length": "52", "line": "1730", - "parentIndex": "3634", + "parentIndex": "3635", "start": "62470" }, "typeDescription": { @@ -67725,22 +67805,22 @@ } ] }, - "id": "3625", + "id": "3626", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3631", + "id": "3632", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3632", + "id": "3633", "name": "onlyProxy", "src": { "column": "101", "end": "62412", "length": "9", "line": "1728", - "parentIndex": "3631", + "parentIndex": "3632", "start": "62404" } }, @@ -67751,7 +67831,7 @@ "end": "62412", "length": "9", "line": "1728", - "parentIndex": "3625", + "parentIndex": "3626", "start": "62404" } } @@ -67762,25 +67842,25 @@ "end": "62331", "length": "16", "line": "1728", - "parentIndex": "3625", + "parentIndex": "3626", "start": "62316" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3626", + "id": "3627", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3627", + "id": "3628", "name": "newImplementation", "nodeType": "VARIABLE_DECLARATION", - "scope": "3627", + "scope": "3628", "src": { "column": "30", "end": "62357", "length": "25", "line": "1728", - "parentIndex": "3626", + "parentIndex": "3627", "start": "62333" }, "stateMutability": "NONPAYABLE", @@ -67790,7 +67870,7 @@ "typeString": "address" }, "typeName": { - "id": "3628", + "id": "3629", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67798,7 +67878,7 @@ "end": "62339", "length": "7", "line": "1728", - "parentIndex": "3627", + "parentIndex": "3628", "start": "62333" }, "stateMutability": "NONPAYABLE", @@ -67810,16 +67890,16 @@ "visibility": "INTERNAL" }, { - "id": "3629", + "id": "3630", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "3629", + "scope": "3630", "src": { "column": "57", "end": "62376", "length": "17", "line": "1728", - "parentIndex": "3626", + "parentIndex": "3627", "start": "62360" }, "stateMutability": "MUTABLE", @@ -67829,7 +67909,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3630", + "id": "3631", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67837,7 +67917,7 @@ "end": "62364", "length": "5", "line": "1728", - "parentIndex": "3629", + "parentIndex": "3630", "start": "62360" }, "typeDescription": { @@ -67853,30 +67933,30 @@ "end": "62376", "length": "44", "line": "1728", - "parentIndex": "3625", + "parentIndex": "3626", "start": "62333" } }, "returnParameters": { - "id": "3633", + "id": "3634", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "62528", "length": "222", "line": "1728", - "parentIndex": "3625", + "parentIndex": "3626", "start": "62307" } }, - "scope": "3527", - "signature": "cf553a4d", + "scope": "3528", + "signature": "4f1ef286", "src": { "column": "4", "end": "62528", "length": "222", "line": "1728", - "parentIndex": "3527", + "parentIndex": "3528", "start": "62307" }, "stateMutability": "PAYABLE", @@ -67892,18 +67972,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3649", + "id": "3650", "nodeType": "BLOCK", "src": { "column": "4", "end": "63007", "length": "71", "line": "1743", - "parentIndex": "3644", + "parentIndex": "3645", "start": "62937" } }, - "id": "3644", + "id": "3645", "kind": "KIND_FUNCTION", "name": "_authorizeUpgrade", "nameLocation": { @@ -67911,25 +67991,25 @@ "end": "62962", "length": "17", "line": "1743", - "parentIndex": "3644", + "parentIndex": "3645", "start": "62946" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3645", + "id": "3646", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3646", + "id": "3647", "name": "newImplementation", "nodeType": "VARIABLE_DECLARATION", - "scope": "3646", + "scope": "3647", "src": { "column": "31", "end": "62988", "length": "25", "line": "1743", - "parentIndex": "3645", + "parentIndex": "3646", "start": "62964" }, "stateMutability": "NONPAYABLE", @@ -67939,7 +68019,7 @@ "typeString": "address" }, "typeName": { - "id": "3647", + "id": "3648", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67947,7 +68027,7 @@ "end": "62970", "length": "7", "line": "1743", - "parentIndex": "3646", + "parentIndex": "3647", "start": "62964" }, "stateMutability": "NONPAYABLE", @@ -67964,30 +68044,30 @@ "end": "62988", "length": "25", "line": "1743", - "parentIndex": "3644", + "parentIndex": "3645", "start": "62964" } }, "returnParameters": { - "id": "3648", + "id": "3649", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "63007", "length": "71", "line": "1743", - "parentIndex": "3644", + "parentIndex": "3645", "start": "62937" } }, - "scope": "3527", + "scope": "3528", "signature": "5ec29272", "src": { "column": "4", "end": "63007", "length": "71", "line": "1743", - "parentIndex": "3527", + "parentIndex": "3528", "start": "62937" }, "stateMutability": "NONPAYABLE", @@ -68002,17 +68082,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3651", + "id": "3652", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", - "scope": "3527", + "scope": "3528", "src": { "column": "4", "end": "63298", "length": "26", "line": "1750", - "parentIndex": "3527", + "parentIndex": "3528", "start": "63273" }, "stateMutability": "MUTABLE", @@ -68026,7 +68106,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3530", - "id": "3654", + "id": "3655", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -68035,7 +68115,7 @@ "end": "63282", "length": "2", "line": "1750", - "parentIndex": "3652", + "parentIndex": "3653", "start": "63281" }, "typeDescription": { @@ -68045,7 +68125,7 @@ "value": "50" } }, - "id": "3652", + "id": "3653", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -68053,7 +68133,7 @@ "end": "63279", "length": "7", "line": "1750", - "parentIndex": "3651", + "parentIndex": "3652", "start": "63273" }, "typeDescription": { @@ -68069,7 +68149,7 @@ "end": "63300", "length": "3827", "line": "1665", - "parentIndex": "3484", + "parentIndex": "3485", "start": "59474" } } @@ -68085,23 +68165,23 @@ } }, { - "id": 3655, + "id": 3656, "license": "MIT", "name": "PausableUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/PausableUpgradeable.sol", "exported_symbols": [ { - "id": 3655, + "id": 3656, "name": "PausableUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/PausableUpgradeable.sol" }, { - "id": 3484, + "id": 3485, "name": "ContextUpgradeable", "absolute_path": "ContextUpgradeable.sol" }, { - "id": 3484, + "id": 3485, "name": "Initializable", "absolute_path": "Initializable.sol" } @@ -68112,7 +68192,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "3672", + "id": "3673", "literals": [ "pragma", "solidity", @@ -68129,7 +68209,7 @@ "end": "63431", "length": "23", "line": "1757", - "parentIndex": "3655", + "parentIndex": "3656", "start": "63409" }, "text": "pragma solidity ^0.8.0;" @@ -68140,15 +68220,15 @@ "value": { "absolutePath": "ContextUpgradeable.sol", "file": "./ContextUpgradeable.sol", - "id": "3699", + "id": "3700", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3655", - "sourceUnit": "3484", + "scope": "3656", + "sourceUnit": "3485", "src": { "end": "63467", "length": "34", "line": "1759", - "parentIndex": "3655", + "parentIndex": "3656", "start": "63434" } } @@ -68158,15 +68238,15 @@ "value": { "absolutePath": "Initializable.sol", "file": "./Initializable.sol", - "id": "3700", + "id": "3701", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3655", - "sourceUnit": "3484", + "scope": "3656", + "sourceUnit": "3485", "src": { "end": "63497", "length": "29", "line": "1760", - "parentIndex": "3655", + "parentIndex": "3656", "start": "63469" } } @@ -68177,7 +68257,7 @@ "baseContracts": [ { "baseName": { - "id": "3703", + "id": "3704", "name": "Initializable", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1894", @@ -68186,24 +68266,24 @@ "end": "63993", "length": "13", "line": "1771", - "parentIndex": "3701", + "parentIndex": "3702", "start": "63981" } }, - "id": "3702", + "id": "3703", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "41", "end": "63993", "length": "13", "line": "1771", - "parentIndex": "3701", + "parentIndex": "3702", "start": "63981" } }, { "baseName": { - "id": "3705", + "id": "3706", "name": "ContextUpgradeable", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "2045", @@ -68212,18 +68292,18 @@ "end": "64013", "length": "18", "line": "1771", - "parentIndex": "3701", + "parentIndex": "3702", "start": "63996" } }, - "id": "3704", + "id": "3705", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "56", "end": "64013", "length": "18", "line": "1771", - "parentIndex": "3701", + "parentIndex": "3702", "start": "63996" } } @@ -68231,18 +68311,18 @@ "contractDependencies": [ "1894", "2045", - "3699", - "3700" + "3700", + "3701" ], "fullyImplemented": true, - "id": "3701", + "id": "3702", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ "1894", "2045", - "3701", - "3699", - "3700" + "3702", + "3700", + "3701" ], "name": "PausableUpgradeable", "nameLocation": { @@ -68250,7 +68330,7 @@ "end": "63976", "length": "19", "line": "1771", - "parentIndex": "3701", + "parentIndex": "3702", "start": "63958" }, "nodeType": "CONTRACT_DEFINITION", @@ -68258,24 +68338,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3707", + "id": "3708", "name": "Paused", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3708", + "id": "3709", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3709", + "id": "3710", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "3709", + "scope": "3710", "src": { "column": "17", "end": "64126", "length": "15", "line": "1775", - "parentIndex": "3708", + "parentIndex": "3709", "start": "64112" }, "stateMutability": "NONPAYABLE", @@ -68285,7 +68365,7 @@ "typeString": "address" }, "typeName": { - "id": "3710", + "id": "3711", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -68293,7 +68373,7 @@ "end": "64118", "length": "7", "line": "1775", - "parentIndex": "3709", + "parentIndex": "3710", "start": "64112" }, "stateMutability": "NONPAYABLE", @@ -68310,7 +68390,7 @@ "end": "64128", "length": "30", "line": "1775", - "parentIndex": "3707", + "parentIndex": "3708", "start": "64099" } }, @@ -68319,11 +68399,11 @@ "end": "64128", "length": "30", "line": "1775", - "parentIndex": "3701", + "parentIndex": "3702", "start": "64099" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263707", + "typeIdentifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263708", "typeString": "event PausableUpgradeable.Paused" } } @@ -68331,24 +68411,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3712", + "id": "3713", "name": "Unpaused", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3713", + "id": "3714", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3714", + "id": "3715", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "3714", + "scope": "3715", "src": { "column": "19", "end": "64239", "length": "15", "line": "1780", - "parentIndex": "3713", + "parentIndex": "3714", "start": "64225" }, "stateMutability": "NONPAYABLE", @@ -68358,7 +68438,7 @@ "typeString": "address" }, "typeName": { - "id": "3715", + "id": "3716", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -68366,7 +68446,7 @@ "end": "64231", "length": "7", "line": "1780", - "parentIndex": "3714", + "parentIndex": "3715", "start": "64225" }, "stateMutability": "NONPAYABLE", @@ -68383,7 +68463,7 @@ "end": "64241", "length": "32", "line": "1780", - "parentIndex": "3712", + "parentIndex": "3713", "start": "64210" } }, @@ -68392,11 +68472,11 @@ "end": "64241", "length": "32", "line": "1780", - "parentIndex": "3701", + "parentIndex": "3702", "start": "64210" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263712", + "typeIdentifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263713", "typeString": "event PausableUpgradeable.Unpaused" } } @@ -68404,17 +68484,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3717", + "id": "3718", "isStateVariable": true, "name": "_paused", "nodeType": "VARIABLE_DECLARATION", - "scope": "3701", + "scope": "3702", "src": { "column": "4", "end": "64268", "length": "21", "line": "1782", - "parentIndex": "3701", + "parentIndex": "3702", "start": "64248" }, "stateMutability": "MUTABLE", @@ -68424,7 +68504,7 @@ "typeString": "bool" }, "typeName": { - "id": "3718", + "id": "3719", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -68432,7 +68512,7 @@ "end": "64251", "length": "4", "line": "1782", - "parentIndex": "3717", + "parentIndex": "3718", "start": "64248" }, "typeDescription": { @@ -68447,7 +68527,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3725", + "id": "3726", "implemented": true, "nodeType": "BLOCK", "src": { @@ -68455,7 +68535,7 @@ "end": "64443", "length": "44", "line": "1787", - "parentIndex": "3720", + "parentIndex": "3721", "start": "64400" }, "statements": [ @@ -68465,7 +68545,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3727", + "id": "3728", "name": "__Pausable_init_unchained", "nodeType": "IDENTIFIER", "src": { @@ -68473,7 +68553,7 @@ "end": "64434", "length": "25", "line": "1788", - "parentIndex": "3726", + "parentIndex": "3727", "start": "64410" }, "typeDescription": { @@ -68482,7 +68562,7 @@ } } }, - "id": "3726", + "id": "3727", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -68490,7 +68570,7 @@ "end": "64436", "length": "27", "line": "1788", - "parentIndex": "3725", + "parentIndex": "3726", "start": "64410" }, "typeDescription": { @@ -68501,22 +68581,22 @@ } ] }, - "id": "3720", + "id": "3721", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3722", + "id": "3723", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3723", + "id": "3724", "name": "onlyInitializing", "src": { "column": "40", "end": "64398", "length": "16", "line": "1787", - "parentIndex": "3722", + "parentIndex": "3723", "start": "64383" } }, @@ -68527,7 +68607,7 @@ "end": "64398", "length": "16", "line": "1787", - "parentIndex": "3720", + "parentIndex": "3721", "start": "64383" } } @@ -68538,42 +68618,42 @@ "end": "64370", "length": "15", "line": "1787", - "parentIndex": "3720", + "parentIndex": "3721", "start": "64356" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3721", + "id": "3722", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "64443", "length": "97", "line": "1787", - "parentIndex": "3720", + "parentIndex": "3721", "start": "64347" } }, "returnParameters": { - "id": "3724", + "id": "3725", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "64443", "length": "97", "line": "1787", - "parentIndex": "3720", + "parentIndex": "3721", "start": "64347" } }, - "scope": "3701", + "scope": "3702", "signature": "84d2023a", "src": { "column": "4", "end": "64443", "length": "97", "line": "1787", - "parentIndex": "3701", + "parentIndex": "3702", "start": "64347" }, "stateMutability": "NONPAYABLE", @@ -68588,7 +68668,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3734", + "id": "3735", "implemented": true, "nodeType": "BLOCK", "src": { @@ -68596,7 +68676,7 @@ "end": "64544", "length": "32", "line": "1791", - "parentIndex": "3729", + "parentIndex": "3730", "start": "64513" }, "statements": [ @@ -68606,20 +68686,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3736", + "id": "3737", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3737", + "id": "3738", "name": "_paused", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3717", + "referencedDeclaration": "3718", "src": { "column": "8", "end": "64529", "length": "7", "line": "1792", - "parentIndex": "3736", + "parentIndex": "3737", "start": "64523" }, "typeDescription": { @@ -68634,7 +68714,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "66616c7365", - "id": "3738", + "id": "3739", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -68643,7 +68723,7 @@ "end": "64537", "length": "5", "line": "1792", - "parentIndex": "3736", + "parentIndex": "3737", "start": "64533" }, "typeDescription": { @@ -68658,7 +68738,7 @@ "end": "64537", "length": "15", "line": "1792", - "parentIndex": "3735", + "parentIndex": "3736", "start": "64523" }, "typeDescription": { @@ -68667,14 +68747,14 @@ } } }, - "id": "3735", + "id": "3736", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "64538", "length": "16", "line": "1792", - "parentIndex": "3734", + "parentIndex": "3735", "start": "64523" }, "typeDescription": { @@ -68685,22 +68765,22 @@ } ] }, - "id": "3729", + "id": "3730", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3731", + "id": "3732", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3732", + "id": "3733", "name": "onlyInitializing", "src": { "column": "50", "end": "64511", "length": "16", "line": "1791", - "parentIndex": "3731", + "parentIndex": "3732", "start": "64496" } }, @@ -68711,7 +68791,7 @@ "end": "64511", "length": "16", "line": "1791", - "parentIndex": "3729", + "parentIndex": "3730", "start": "64496" } } @@ -68722,42 +68802,42 @@ "end": "64483", "length": "25", "line": "1791", - "parentIndex": "3729", + "parentIndex": "3730", "start": "64459" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3730", + "id": "3731", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "64544", "length": "95", "line": "1791", - "parentIndex": "3729", + "parentIndex": "3730", "start": "64450" } }, "returnParameters": { - "id": "3733", + "id": "3734", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "64544", "length": "95", "line": "1791", - "parentIndex": "3729", + "parentIndex": "3730", "start": "64450" } }, - "scope": "3701", + "scope": "3702", "signature": "715b3778", "src": { "column": "4", "end": "64544", "length": "95", "line": "1791", - "parentIndex": "3701", + "parentIndex": "3702", "start": "64450" }, "stateMutability": "NONPAYABLE", @@ -68772,7 +68852,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "3742", + "id": "3743", "implemented": true, "nodeType": "BLOCK", "src": { @@ -68780,7 +68860,7 @@ "end": "64802", "length": "47", "line": "1802", - "parentIndex": "3740", + "parentIndex": "3741", "start": "64756" }, "statements": [ @@ -68790,7 +68870,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3744", + "id": "3745", "name": "_requireNotPaused", "nodeType": "IDENTIFIER", "src": { @@ -68798,7 +68878,7 @@ "end": "64782", "length": "17", "line": "1803", - "parentIndex": "3743", + "parentIndex": "3744", "start": "64766" }, "typeDescription": { @@ -68807,7 +68887,7 @@ } } }, - "id": "3743", + "id": "3744", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -68815,7 +68895,7 @@ "end": "64784", "length": "19", "line": "1803", - "parentIndex": "3742", + "parentIndex": "3743", "start": "64766" }, "typeDescription": { @@ -68827,7 +68907,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3745", + "id": "3746", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -68835,7 +68915,7 @@ "end": "64795", "length": "1", "line": "1804", - "parentIndex": "3742", + "parentIndex": "3743", "start": "64795" }, "typeDescription": { @@ -68846,26 +68926,26 @@ } ] }, - "id": "3740", + "id": "3741", "name": "whenNotPaused", "nameLocation": { "column": "13", "end": "64752", "length": "13", "line": "1802", - "parentIndex": "3740", + "parentIndex": "3741", "start": "64740" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "3741", + "id": "3742", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "64802", "length": "72", "line": "1802", - "parentIndex": "3701", + "parentIndex": "3702", "start": "64731" } }, @@ -68874,7 +68954,7 @@ "end": "64802", "length": "72", "line": "1802", - "parentIndex": "3701", + "parentIndex": "3702", "start": "64731" }, "visibility": "INTERNAL" @@ -68884,7 +68964,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "3749", + "id": "3750", "implemented": true, "nodeType": "BLOCK", "src": { @@ -68892,7 +68972,7 @@ "end": "65046", "length": "44", "line": "1814", - "parentIndex": "3747", + "parentIndex": "3748", "start": "65003" }, "statements": [ @@ -68902,7 +68982,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3751", + "id": "3752", "name": "_requirePaused", "nodeType": "IDENTIFIER", "src": { @@ -68910,7 +68990,7 @@ "end": "65026", "length": "14", "line": "1815", - "parentIndex": "3750", + "parentIndex": "3751", "start": "65013" }, "typeDescription": { @@ -68919,7 +68999,7 @@ } } }, - "id": "3750", + "id": "3751", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -68927,7 +69007,7 @@ "end": "65028", "length": "16", "line": "1815", - "parentIndex": "3749", + "parentIndex": "3750", "start": "65013" }, "typeDescription": { @@ -68939,7 +69019,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3752", + "id": "3753", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -68947,7 +69027,7 @@ "end": "65039", "length": "1", "line": "1816", - "parentIndex": "3749", + "parentIndex": "3750", "start": "65039" }, "typeDescription": { @@ -68958,26 +69038,26 @@ } ] }, - "id": "3747", + "id": "3748", "name": "whenPaused", "nameLocation": { "column": "13", "end": "64999", "length": "10", "line": "1814", - "parentIndex": "3747", + "parentIndex": "3748", "start": "64990" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "3748", + "id": "3749", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "65046", "length": "66", "line": "1814", - "parentIndex": "3701", + "parentIndex": "3702", "start": "64981" } }, @@ -68986,7 +69066,7 @@ "end": "65046", "length": "66", "line": "1814", - "parentIndex": "3701", + "parentIndex": "3702", "start": "64981" }, "visibility": "INTERNAL" @@ -68996,7 +69076,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3761", + "id": "3762", "implemented": true, "nodeType": "BLOCK", "src": { @@ -69004,7 +69084,7 @@ "end": "65225", "length": "31", "line": "1822", - "parentIndex": "3754", + "parentIndex": "3755", "start": "65195" }, "statements": [ @@ -69014,16 +69094,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3763", + "id": "3764", "name": "_paused", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3717", + "referencedDeclaration": "3718", "src": { "column": "15", "end": "65218", "length": "7", "line": "1823", - "parentIndex": "3762", + "parentIndex": "3763", "start": "65212" }, "typeDescription": { @@ -69032,15 +69112,15 @@ } } }, - "functionReturnParameters": "3754", - "id": "3762", + "functionReturnParameters": "3755", + "id": "3763", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "65219", "length": "15", "line": "1823", - "parentIndex": "3754", + "parentIndex": "3755", "start": "65205" }, "typeDescription": { @@ -69051,7 +69131,7 @@ } ] }, - "id": "3754", + "id": "3755", "implemented": true, "kind": "KIND_FUNCTION", "name": "paused", @@ -69060,24 +69140,24 @@ "end": "65156", "length": "6", "line": "1822", - "parentIndex": "3754", + "parentIndex": "3755", "start": "65151" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3755", + "id": "3756", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3756", + "id": "3757", "nodeType": "VARIABLE_DECLARATION", - "scope": "3756", + "scope": "3757", "src": { "column": "51", "end": "65192", "length": "4", "line": "1822", - "parentIndex": "3755", + "parentIndex": "3756", "start": "65189" }, "stateMutability": "MUTABLE", @@ -69087,7 +69167,7 @@ "typeString": "bool" }, "typeName": { - "id": "3757", + "id": "3758", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -69095,7 +69175,7 @@ "end": "65192", "length": "4", "line": "1822", - "parentIndex": "3756", + "parentIndex": "3757", "start": "65189" }, "typeDescription": { @@ -69111,24 +69191,24 @@ "end": "65192", "length": "4", "line": "1822", - "parentIndex": "3754", + "parentIndex": "3755", "start": "65189" } }, "returnParameters": { - "id": "3758", + "id": "3759", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3759", + "id": "3760", "nodeType": "VARIABLE_DECLARATION", - "scope": "3759", + "scope": "3760", "src": { "column": "51", "end": "65192", "length": "4", "line": "1822", - "parentIndex": "3758", + "parentIndex": "3759", "start": "65189" }, "stateMutability": "MUTABLE", @@ -69138,7 +69218,7 @@ "typeString": "bool" }, "typeName": { - "id": "3760", + "id": "3761", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -69146,7 +69226,7 @@ "end": "65192", "length": "4", "line": "1822", - "parentIndex": "3759", + "parentIndex": "3760", "start": "65189" }, "typeDescription": { @@ -69162,18 +69242,18 @@ "end": "65192", "length": "4", "line": "1822", - "parentIndex": "3754", + "parentIndex": "3755", "start": "65189" } }, - "scope": "3701", + "scope": "3702", "signature": "837150cf", "src": { "column": "4", "end": "65225", "length": "84", "line": "1822", - "parentIndex": "3701", + "parentIndex": "3702", "start": "65142" }, "stateMutability": "VIEW", @@ -69189,7 +69269,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3768", + "id": "3769", "implemented": true, "nodeType": "BLOCK", "src": { @@ -69197,7 +69277,7 @@ "end": "65399", "length": "55", "line": "1829", - "parentIndex": "3765", + "parentIndex": "3766", "start": "65345" }, "statements": [ @@ -69224,7 +69304,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3773", + "id": "3774", "name": "paused", "nodeType": "IDENTIFIER", "src": { @@ -69232,7 +69312,7 @@ "end": "65369", "length": "6", "line": "1830", - "parentIndex": "3772", + "parentIndex": "3773", "start": "65364" }, "typeDescription": { @@ -69241,7 +69321,7 @@ } } }, - "id": "3772", + "id": "3773", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -69249,7 +69329,7 @@ "end": "65371", "length": "8", "line": "1830", - "parentIndex": "3771", + "parentIndex": "3772", "start": "65364" }, "typeDescription": { @@ -69258,7 +69338,7 @@ } } }, - "id": "3771", + "id": "3772", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -69267,7 +69347,7 @@ "end": "65371", "length": "9", "line": "1830", - "parentIndex": "3765", + "parentIndex": "3766", "start": "65363" }, "typeDescription": { @@ -69286,7 +69366,7 @@ } ], "hexValue": "5061757361626c653a20706175736564", - "id": "3774", + "id": "3775", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -69295,7 +69375,7 @@ "end": "65391", "length": "18", "line": "1830", - "parentIndex": "3769", + "parentIndex": "3770", "start": "65374" }, "typeDescription": { @@ -69309,7 +69389,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3770", + "id": "3771", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -69318,7 +69398,7 @@ "end": "65361", "length": "7", "line": "1830", - "parentIndex": "3769", + "parentIndex": "3770", "start": "65355" }, "typeDescription": { @@ -69327,7 +69407,7 @@ } } }, - "id": "3769", + "id": "3770", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -69335,7 +69415,7 @@ "end": "65392", "length": "38", "line": "1830", - "parentIndex": "3768", + "parentIndex": "3769", "start": "65355" }, "typeDescription": { @@ -69346,7 +69426,7 @@ } ] }, - "id": "3765", + "id": "3766", "implemented": true, "kind": "KIND_FUNCTION", "name": "_requireNotPaused", @@ -69355,42 +69435,42 @@ "end": "65319", "length": "17", "line": "1829", - "parentIndex": "3765", + "parentIndex": "3766", "start": "65303" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3766", + "id": "3767", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "65399", "length": "106", "line": "1829", - "parentIndex": "3765", + "parentIndex": "3766", "start": "65294" } }, "returnParameters": { - "id": "3767", + "id": "3768", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "65399", "length": "106", "line": "1829", - "parentIndex": "3765", + "parentIndex": "3766", "start": "65294" } }, - "scope": "3701", + "scope": "3702", "signature": "abb87a6f", "src": { "column": "4", "end": "65399", "length": "106", "line": "1829", - "parentIndex": "3701", + "parentIndex": "3702", "start": "65294" }, "stateMutability": "VIEW", @@ -69406,7 +69486,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3779", + "id": "3780", "implemented": true, "nodeType": "BLOCK", "src": { @@ -69414,7 +69494,7 @@ "end": "65577", "length": "58", "line": "1836", - "parentIndex": "3776", + "parentIndex": "3777", "start": "65520" }, "statements": [ @@ -69438,7 +69518,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3783", + "id": "3784", "name": "paused", "nodeType": "IDENTIFIER", "src": { @@ -69446,7 +69526,7 @@ "end": "65543", "length": "6", "line": "1837", - "parentIndex": "3782", + "parentIndex": "3783", "start": "65538" }, "typeDescription": { @@ -69455,7 +69535,7 @@ } } }, - "id": "3782", + "id": "3783", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -69463,7 +69543,7 @@ "end": "65545", "length": "8", "line": "1837", - "parentIndex": "3780", + "parentIndex": "3781", "start": "65538" }, "typeDescription": { @@ -69482,7 +69562,7 @@ } ], "hexValue": "5061757361626c653a206e6f7420706175736564", - "id": "3784", + "id": "3785", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -69491,7 +69571,7 @@ "end": "65569", "length": "22", "line": "1837", - "parentIndex": "3780", + "parentIndex": "3781", "start": "65548" }, "typeDescription": { @@ -69505,7 +69585,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3781", + "id": "3782", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -69514,7 +69594,7 @@ "end": "65536", "length": "7", "line": "1837", - "parentIndex": "3780", + "parentIndex": "3781", "start": "65530" }, "typeDescription": { @@ -69523,7 +69603,7 @@ } } }, - "id": "3780", + "id": "3781", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -69531,7 +69611,7 @@ "end": "65570", "length": "41", "line": "1837", - "parentIndex": "3779", + "parentIndex": "3780", "start": "65530" }, "typeDescription": { @@ -69542,7 +69622,7 @@ } ] }, - "id": "3776", + "id": "3777", "implemented": true, "kind": "KIND_FUNCTION", "name": "_requirePaused", @@ -69551,42 +69631,42 @@ "end": "65494", "length": "14", "line": "1836", - "parentIndex": "3776", + "parentIndex": "3777", "start": "65481" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3777", + "id": "3778", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "65577", "length": "106", "line": "1836", - "parentIndex": "3776", + "parentIndex": "3777", "start": "65472" } }, "returnParameters": { - "id": "3778", + "id": "3779", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "65577", "length": "106", "line": "1836", - "parentIndex": "3776", + "parentIndex": "3777", "start": "65472" } }, - "scope": "3701", + "scope": "3702", "signature": "4a994e05", "src": { "column": "4", "end": "65577", "length": "106", "line": "1836", - "parentIndex": "3701", + "parentIndex": "3702", "start": "65472" }, "stateMutability": "VIEW", @@ -69602,7 +69682,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3791", + "id": "3792", "implemented": true, "nodeType": "BLOCK", "src": { @@ -69610,7 +69690,7 @@ "end": "65827", "length": "66", "line": "1847", - "parentIndex": "3786", + "parentIndex": "3787", "start": "65762" }, "statements": [ @@ -69620,20 +69700,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3793", + "id": "3794", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3794", + "id": "3795", "name": "_paused", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3717", + "referencedDeclaration": "3718", "src": { "column": "8", "end": "65778", "length": "7", "line": "1848", - "parentIndex": "3793", + "parentIndex": "3794", "start": "65772" }, "typeDescription": { @@ -69648,7 +69728,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "3795", + "id": "3796", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -69657,7 +69737,7 @@ "end": "65785", "length": "4", "line": "1848", - "parentIndex": "3793", + "parentIndex": "3794", "start": "65782" }, "typeDescription": { @@ -69672,7 +69752,7 @@ "end": "65785", "length": "14", "line": "1848", - "parentIndex": "3792", + "parentIndex": "3793", "start": "65772" }, "typeDescription": { @@ -69681,14 +69761,14 @@ } } }, - "id": "3792", + "id": "3793", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "65786", "length": "15", "line": "1848", - "parentIndex": "3791", + "parentIndex": "3792", "start": "65772" }, "typeDescription": { @@ -69707,7 +69787,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3798", + "id": "3799", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -69715,7 +69795,7 @@ "end": "65817", "length": "10", "line": "1849", - "parentIndex": "3797", + "parentIndex": "3798", "start": "65808" }, "typeDescription": { @@ -69724,7 +69804,7 @@ } } }, - "id": "3797", + "id": "3798", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -69732,7 +69812,7 @@ "end": "65819", "length": "12", "line": "1849", - "parentIndex": "3796", + "parentIndex": "3797", "start": "65808" }, "typeDescription": { @@ -69745,54 +69825,54 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3799", + "id": "3800", "name": "Paused", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3707", + "referencedDeclaration": "3708", "src": { "column": "13", "end": "65806", "length": "6", "line": "1849", - "parentIndex": "3796", + "parentIndex": "3797", "start": "65801" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263707", + "typeIdentifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263708", "typeString": "event PausableUpgradeable.Paused" } } }, - "id": "3796", + "id": "3797", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "65821", "length": "26", "line": "1849", - "parentIndex": "3786", + "parentIndex": "3787", "start": "65796" } } } ] }, - "id": "3786", + "id": "3787", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3788", + "id": "3789", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3789", + "id": "3790", "name": "whenNotPaused", "src": { "column": "39", "end": "65760", "length": "13", "line": "1847", - "parentIndex": "3788", + "parentIndex": "3789", "start": "65748" } }, @@ -69803,7 +69883,7 @@ "end": "65760", "length": "13", "line": "1847", - "parentIndex": "3786", + "parentIndex": "3787", "start": "65748" } } @@ -69814,42 +69894,42 @@ "end": "65727", "length": "6", "line": "1847", - "parentIndex": "3786", + "parentIndex": "3787", "start": "65722" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3787", + "id": "3788", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "65827", "length": "115", "line": "1847", - "parentIndex": "3786", + "parentIndex": "3787", "start": "65713" } }, "returnParameters": { - "id": "3790", + "id": "3791", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "65827", "length": "115", "line": "1847", - "parentIndex": "3786", + "parentIndex": "3787", "start": "65713" } }, - "scope": "3701", + "scope": "3702", "signature": "320b2ad9", "src": { "column": "4", "end": "65827", "length": "115", "line": "1847", - "parentIndex": "3701", + "parentIndex": "3702", "start": "65713" }, "stateMutability": "NONPAYABLE", @@ -69865,7 +69945,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3806", + "id": "3807", "implemented": true, "nodeType": "BLOCK", "src": { @@ -69873,7 +69953,7 @@ "end": "66076", "length": "69", "line": "1859", - "parentIndex": "3801", + "parentIndex": "3802", "start": "66008" }, "statements": [ @@ -69883,20 +69963,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3808", + "id": "3809", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3809", + "id": "3810", "name": "_paused", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3717", + "referencedDeclaration": "3718", "src": { "column": "8", "end": "66024", "length": "7", "line": "1860", - "parentIndex": "3808", + "parentIndex": "3809", "start": "66018" }, "typeDescription": { @@ -69911,7 +69991,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "66616c7365", - "id": "3810", + "id": "3811", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -69920,7 +70000,7 @@ "end": "66032", "length": "5", "line": "1860", - "parentIndex": "3808", + "parentIndex": "3809", "start": "66028" }, "typeDescription": { @@ -69935,7 +70015,7 @@ "end": "66032", "length": "15", "line": "1860", - "parentIndex": "3807", + "parentIndex": "3808", "start": "66018" }, "typeDescription": { @@ -69944,14 +70024,14 @@ } } }, - "id": "3807", + "id": "3808", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "66033", "length": "16", "line": "1860", - "parentIndex": "3806", + "parentIndex": "3807", "start": "66018" }, "typeDescription": { @@ -69970,7 +70050,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3813", + "id": "3814", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -69978,7 +70058,7 @@ "end": "66066", "length": "10", "line": "1861", - "parentIndex": "3812", + "parentIndex": "3813", "start": "66057" }, "typeDescription": { @@ -69987,7 +70067,7 @@ } } }, - "id": "3812", + "id": "3813", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -69995,7 +70075,7 @@ "end": "66068", "length": "12", "line": "1861", - "parentIndex": "3811", + "parentIndex": "3812", "start": "66057" }, "typeDescription": { @@ -70008,54 +70088,54 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3814", + "id": "3815", "name": "Unpaused", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3712", + "referencedDeclaration": "3713", "src": { "column": "13", "end": "66055", "length": "8", "line": "1861", - "parentIndex": "3811", + "parentIndex": "3812", "start": "66048" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263712", + "typeIdentifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263713", "typeString": "event PausableUpgradeable.Unpaused" } } }, - "id": "3811", + "id": "3812", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "66070", "length": "28", "line": "1861", - "parentIndex": "3801", + "parentIndex": "3802", "start": "66043" } } } ] }, - "id": "3801", + "id": "3802", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3803", + "id": "3804", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3804", + "id": "3805", "name": "whenPaused", "src": { "column": "41", "end": "66006", "length": "10", "line": "1859", - "parentIndex": "3803", + "parentIndex": "3804", "start": "65997" } }, @@ -70066,7 +70146,7 @@ "end": "66006", "length": "10", "line": "1859", - "parentIndex": "3801", + "parentIndex": "3802", "start": "65997" } } @@ -70077,42 +70157,42 @@ "end": "65976", "length": "8", "line": "1859", - "parentIndex": "3801", + "parentIndex": "3802", "start": "65969" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3802", + "id": "3803", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "66076", "length": "117", "line": "1859", - "parentIndex": "3801", + "parentIndex": "3802", "start": "65960" } }, "returnParameters": { - "id": "3805", + "id": "3806", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "66076", "length": "117", "line": "1859", - "parentIndex": "3801", + "parentIndex": "3802", "start": "65960" } }, - "scope": "3701", + "scope": "3702", "signature": "fc8234cb", "src": { "column": "4", "end": "66076", "length": "117", "line": "1859", - "parentIndex": "3701", + "parentIndex": "3702", "start": "65960" }, "stateMutability": "NONPAYABLE", @@ -70127,17 +70207,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3816", + "id": "3817", "isStateVariable": true, "name": "__gap", "nodeType": "VARIABLE_DECLARATION", - "scope": "3701", + "scope": "3702", "src": { "column": "4", "end": "66367", "length": "26", "line": "1869", - "parentIndex": "3701", + "parentIndex": "3702", "start": "66342" }, "stateMutability": "MUTABLE", @@ -70151,7 +70231,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3439", - "id": "3819", + "id": "3820", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -70160,7 +70240,7 @@ "end": "66351", "length": "2", "line": "1869", - "parentIndex": "3817", + "parentIndex": "3818", "start": "66350" }, "typeDescription": { @@ -70170,7 +70250,7 @@ "value": "49" } }, - "id": "3817", + "id": "3818", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -70178,7 +70258,7 @@ "end": "66348", "length": "7", "line": "1869", - "parentIndex": "3816", + "parentIndex": "3817", "start": "66342" }, "typeDescription": { @@ -70194,7 +70274,7 @@ "end": "66369", "length": "2430", "line": "1771", - "parentIndex": "3655", + "parentIndex": "3656", "start": "63940" } } @@ -70210,13 +70290,13 @@ } }, { - "id": 3820, + "id": 3821, "license": "MIT", "name": "Multicallable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Multicallable.sol", "exported_symbols": [ { - "id": 3820, + "id": 3821, "name": "Multicallable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Multicallable.sol" } @@ -70227,7 +70307,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "3838", + "id": "3839", "literals": [ "pragma", "solidity", @@ -70244,7 +70324,7 @@ "end": "66427", "length": "23", "line": "1874", - "parentIndex": "3820", + "parentIndex": "3821", "start": "66405" }, "text": "pragma solidity ^0.8.4;" @@ -70254,10 +70334,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "3867", + "id": "3868", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "3867" + "3868" ], "name": "Multicallable", "nameLocation": { @@ -70265,7 +70345,7 @@ "end": "67099", "length": "13", "line": "1884", - "parentIndex": "3867", + "parentIndex": "3868", "start": "67087" }, "nodeType": "CONTRACT_DEFINITION", @@ -70274,7 +70354,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3876", + "id": "3877", "implemented": true, "nodeType": "BLOCK", "src": { @@ -70282,7 +70362,7 @@ "end": "69593", "length": "2397", "line": "1885", - "parentIndex": "3869", + "parentIndex": "3870", "start": "67197" }, "statements": [ @@ -70290,28 +70370,28 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "3878", + "id": "3879", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "69587", "length": "2381", "line": "1886", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67207" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3879", + "id": "3880", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "69577", "length": "2348", "line": "1887", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67230" }, "statements": [ @@ -70321,42 +70401,42 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulBlockStatement", "value": { - "id": "3881", + "id": "3882", "nodeType": "YUL_BLOCK", "src": { "column": "27", "end": "69577", "length": "2333", "line": "1887", - "parentIndex": "3880", + "parentIndex": "3881", "start": "67245" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3882", + "id": "3883", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "67284", "length": "22", "line": "1888", - "parentIndex": "3881", + "parentIndex": "3882", "start": "67263" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "3883", + "id": "3884", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "16", "end": "67284", "length": "22", "line": "1888", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67263" }, "value": { @@ -70370,7 +70450,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "3888", + "id": "3889", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -70378,7 +70458,7 @@ "end": "67283", "length": "4", "line": "1888", - "parentIndex": "3886", + "parentIndex": "3887", "start": "67280" }, "value": "64" @@ -70388,7 +70468,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3887", + "id": "3888", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70396,31 +70476,31 @@ "end": "67278", "length": "5", "line": "1888", - "parentIndex": "3886", + "parentIndex": "3887", "start": "67274" } } }, - "id": "3886", + "id": "3887", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "27", "end": "67284", "length": "11", "line": "1888", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67274" } } }, - "id": "3885", + "id": "3886", "nodeType": "YUL_EXPRESSION", "src": { "column": "27", "end": "67278", "length": "5", "line": "1888", - "parentIndex": "3883", + "parentIndex": "3884", "start": "67274" } } @@ -70429,7 +70509,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3884", + "id": "3885", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70437,7 +70517,7 @@ "end": "67269", "length": "7", "line": "1888", - "parentIndex": "3883", + "parentIndex": "3884", "start": "67263" } } @@ -70451,14 +70531,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3889", + "id": "3890", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "67373", "length": "28", "line": "1889", - "parentIndex": "3881", + "parentIndex": "3882", "start": "67346" }, "statements": [ @@ -70469,7 +70549,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3892", + "id": "3893", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70477,7 +70557,7 @@ "end": "67359", "length": "7", "line": "1889", - "parentIndex": "3890", + "parentIndex": "3891", "start": "67353" } } @@ -70485,7 +70565,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3893", + "id": "3894", "name": "data", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70493,7 +70573,7 @@ "end": "67365", "length": "4", "line": "1889", - "parentIndex": "3890", + "parentIndex": "3891", "start": "67362" } } @@ -70501,7 +70581,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3894", + "id": "3895", "name": "length", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70509,7 +70589,7 @@ "end": "67372", "length": "6", "line": "1889", - "parentIndex": "3890", + "parentIndex": "3891", "start": "67367" } } @@ -70518,7 +70598,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3891", + "id": "3892", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70526,19 +70606,19 @@ "end": "67351", "length": "6", "line": "1889", - "parentIndex": "3890", + "parentIndex": "3891", "start": "67346" } } }, - "id": "3890", + "id": "3891", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "67373", "length": "28", "line": "1889", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67346" } } @@ -70549,28 +70629,28 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3895", + "id": "3896", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "67458", "length": "29", "line": "1890", - "parentIndex": "3881", + "parentIndex": "3882", "start": "67430" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "3896", + "id": "3897", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "16", "end": "67458", "length": "29", "line": "1890", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67430" }, "value": { @@ -70583,7 +70663,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3901", + "id": "3902", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70591,7 +70671,7 @@ "end": "67451", "length": "7", "line": "1890", - "parentIndex": "3899", + "parentIndex": "3900", "start": "67445" } } @@ -70600,7 +70680,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x20", - "id": "3902", + "id": "3903", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -70608,7 +70688,7 @@ "end": "67457", "length": "4", "line": "1890", - "parentIndex": "3899", + "parentIndex": "3900", "start": "67454" }, "value": "32" @@ -70618,7 +70698,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3900", + "id": "3901", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70626,31 +70706,31 @@ "end": "67443", "length": "3", "line": "1890", - "parentIndex": "3899", + "parentIndex": "3900", "start": "67441" } } }, - "id": "3899", + "id": "3900", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "27", "end": "67458", "length": "18", "line": "1890", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67441" } } }, - "id": "3898", + "id": "3899", "nodeType": "YUL_EXPRESSION", "src": { "column": "27", "end": "67443", "length": "3", "line": "1890", - "parentIndex": "3896", + "parentIndex": "3897", "start": "67441" } } @@ -70659,7 +70739,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3897", + "id": "3898", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70667,7 +70747,7 @@ "end": "67436", "length": "7", "line": "1890", - "parentIndex": "3896", + "parentIndex": "3897", "start": "67430" } } @@ -70681,21 +70761,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3903", + "id": "3904", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "67571", "length": "30", "line": "1893", - "parentIndex": "3881", + "parentIndex": "3882", "start": "67542" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "3904", + "id": "3905", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -70703,7 +70783,7 @@ "end": "67571", "length": "30", "line": "1893", - "parentIndex": "3903", + "parentIndex": "3904", "start": "67542" }, "value": { @@ -70716,7 +70796,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "3909", + "id": "3910", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -70724,7 +70804,7 @@ "end": "67557", "length": "1", "line": "1893", - "parentIndex": "3907", + "parentIndex": "3908", "start": "67557" }, "value": "5" @@ -70733,7 +70813,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3910", + "id": "3911", "name": "data", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70741,7 +70821,7 @@ "end": "67563", "length": "4", "line": "1893", - "parentIndex": "3907", + "parentIndex": "3908", "start": "67560" } } @@ -70749,7 +70829,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3911", + "id": "3912", "name": "length", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70757,7 +70837,7 @@ "end": "67570", "length": "6", "line": "1893", - "parentIndex": "3907", + "parentIndex": "3908", "start": "67565" } } @@ -70766,7 +70846,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3908", + "id": "3909", "name": "shl", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70774,31 +70854,31 @@ "end": "67555", "length": "3", "line": "1893", - "parentIndex": "3907", + "parentIndex": "3908", "start": "67553" } } }, - "id": "3907", + "id": "3908", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "27", "end": "67571", "length": "19", "line": "1893", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67553" } } }, - "id": "3906", + "id": "3907", "nodeType": "YUL_EXPRESSION", "src": { "column": "27", "end": "67555", "length": "3", "line": "1893", - "parentIndex": "3904", + "parentIndex": "3905", "start": "67553" } } @@ -70807,7 +70887,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3905", + "id": "3906", "name": "end", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70815,7 +70895,7 @@ "end": "67548", "length": "3", "line": "1893", - "parentIndex": "3904", + "parentIndex": "3905", "start": "67546" } } @@ -70829,14 +70909,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3912", + "id": "3913", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "67690", "length": "39", "line": "1895", - "parentIndex": "3881", + "parentIndex": "3882", "start": "67652" }, "statements": [ @@ -70847,7 +70927,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3915", + "id": "3916", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70855,7 +70935,7 @@ "end": "67671", "length": "7", "line": "1895", - "parentIndex": "3913", + "parentIndex": "3914", "start": "67665" } } @@ -70863,7 +70943,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3916", + "id": "3917", "name": "data", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70871,7 +70951,7 @@ "end": "67677", "length": "4", "line": "1895", - "parentIndex": "3913", + "parentIndex": "3914", "start": "67674" } } @@ -70879,7 +70959,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3917", + "id": "3918", "name": "offset", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70887,7 +70967,7 @@ "end": "67684", "length": "6", "line": "1895", - "parentIndex": "3913", + "parentIndex": "3914", "start": "67679" } } @@ -70895,7 +70975,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3918", + "id": "3919", "name": "end", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70903,7 +70983,7 @@ "end": "67689", "length": "3", "line": "1895", - "parentIndex": "3913", + "parentIndex": "3914", "start": "67687" } } @@ -70912,7 +70992,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3914", + "id": "3915", "name": "calldatacopy", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70920,19 +71000,19 @@ "end": "67663", "length": "12", "line": "1895", - "parentIndex": "3913", + "parentIndex": "3914", "start": "67652" } } }, - "id": "3913", + "id": "3914", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "67690", "length": "39", "line": "1895", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67652" } } @@ -70943,21 +71023,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3919", + "id": "3920", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "67823", "length": "31", "line": "1897", - "parentIndex": "3881", + "parentIndex": "3882", "start": "67793" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "3920", + "id": "3921", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -70965,7 +71045,7 @@ "end": "67823", "length": "31", "line": "1897", - "parentIndex": "3919", + "parentIndex": "3920", "start": "67793" }, "value": { @@ -70978,7 +71058,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3925", + "id": "3926", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -70986,7 +71066,7 @@ "end": "67817", "length": "7", "line": "1897", - "parentIndex": "3923", + "parentIndex": "3924", "start": "67811" } } @@ -70994,7 +71074,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3926", + "id": "3927", "name": "end", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71002,7 +71082,7 @@ "end": "67822", "length": "3", "line": "1897", - "parentIndex": "3923", + "parentIndex": "3924", "start": "67820" } } @@ -71011,7 +71091,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3924", + "id": "3925", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71019,31 +71099,31 @@ "end": "67809", "length": "3", "line": "1897", - "parentIndex": "3923", + "parentIndex": "3924", "start": "67807" } } }, - "id": "3923", + "id": "3924", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "30", "end": "67823", "length": "17", "line": "1897", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67807" } } }, - "id": "3922", + "id": "3923", "nodeType": "YUL_EXPRESSION", "src": { "column": "30", "end": "67809", "length": "3", "line": "1897", - "parentIndex": "3920", + "parentIndex": "3921", "start": "67807" } } @@ -71052,7 +71132,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3921", + "id": "3922", "name": "memPtr", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71060,7 +71140,7 @@ "end": "67802", "length": "6", "line": "1897", - "parentIndex": "3920", + "parentIndex": "3921", "start": "67797" } } @@ -71074,28 +71154,28 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3927", + "id": "3928", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "67864", "length": "24", "line": "1898", - "parentIndex": "3881", + "parentIndex": "3882", "start": "67841" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "3928", + "id": "3929", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "16", "end": "67864", "length": "24", "line": "1898", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67841" }, "value": { @@ -71108,7 +71188,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3933", + "id": "3934", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71116,7 +71196,7 @@ "end": "67858", "length": "7", "line": "1898", - "parentIndex": "3931", + "parentIndex": "3932", "start": "67852" } } @@ -71124,7 +71204,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3934", + "id": "3935", "name": "end", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71132,7 +71212,7 @@ "end": "67863", "length": "3", "line": "1898", - "parentIndex": "3931", + "parentIndex": "3932", "start": "67861" } } @@ -71141,7 +71221,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3932", + "id": "3933", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71149,31 +71229,31 @@ "end": "67850", "length": "3", "line": "1898", - "parentIndex": "3931", + "parentIndex": "3932", "start": "67848" } } }, - "id": "3931", + "id": "3932", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "67864", "length": "17", "line": "1898", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67848" } } }, - "id": "3930", + "id": "3931", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "67850", "length": "3", "line": "1898", - "parentIndex": "3928", + "parentIndex": "3929", "start": "67848" } } @@ -71182,7 +71262,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3929", + "id": "3930", "name": "end", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71190,7 +71270,7 @@ "end": "67843", "length": "3", "line": "1898", - "parentIndex": "3928", + "parentIndex": "3929", "start": "67841" } } @@ -71204,14 +71284,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3935", + "id": "3936", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "69422", "length": "1505", "line": "1901", - "parentIndex": "3881", + "parentIndex": "3882", "start": "67918" }, "statements": [ @@ -71221,35 +71301,35 @@ "body": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulBlockStatement", "value": { - "id": "3940", + "id": "3941", "nodeType": "YUL_BLOCK", "src": { "column": "28", "end": "69422", "length": "1493", "line": "1901", - "parentIndex": "3936", + "parentIndex": "3937", "start": "67930" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3941", + "id": "3942", "nodeType": "YUL_STATEMENT", "src": { "column": "20", "end": "68064", "length": "41", "line": "1903", - "parentIndex": "3940", + "parentIndex": "3941", "start": "68024" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "3942", + "id": "3943", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -71257,7 +71337,7 @@ "end": "68064", "length": "41", "line": "1903", - "parentIndex": "3941", + "parentIndex": "3942", "start": "68024" }, "value": { @@ -71270,7 +71350,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3947", + "id": "3948", "name": "data", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71278,7 +71358,7 @@ "end": "68040", "length": "4", "line": "1903", - "parentIndex": "3945", + "parentIndex": "3946", "start": "68037" } } @@ -71286,7 +71366,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3948", + "id": "3949", "name": "offset", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71294,7 +71374,7 @@ "end": "68047", "length": "6", "line": "1903", - "parentIndex": "3945", + "parentIndex": "3946", "start": "68042" } } @@ -71306,7 +71386,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3951", + "id": "3952", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71314,7 +71394,7 @@ "end": "68062", "length": "7", "line": "1903", - "parentIndex": "3949", + "parentIndex": "3950", "start": "68056" } } @@ -71323,7 +71403,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3950", + "id": "3951", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71331,19 +71411,19 @@ "end": "68054", "length": "5", "line": "1903", - "parentIndex": "3949", + "parentIndex": "3950", "start": "68050" } } }, - "id": "3949", + "id": "3950", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "46", "end": "68063", "length": "14", "line": "1903", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68050" } } @@ -71352,7 +71432,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3946", + "id": "3947", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71360,31 +71440,31 @@ "end": "68035", "length": "3", "line": "1903", - "parentIndex": "3945", + "parentIndex": "3946", "start": "68033" } } }, - "id": "3945", + "id": "3946", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "29", "end": "68064", "length": "32", "line": "1903", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68033" } } }, - "id": "3944", + "id": "3945", "nodeType": "YUL_EXPRESSION", "src": { "column": "29", "end": "68035", "length": "3", "line": "1903", - "parentIndex": "3942", + "parentIndex": "3943", "start": "68033" } } @@ -71393,7 +71473,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3943", + "id": "3944", "name": "o", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71401,7 +71481,7 @@ "end": "68028", "length": "1", "line": "1903", - "parentIndex": "3942", + "parentIndex": "3943", "start": "68028" } } @@ -71415,14 +71495,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3952", + "id": "3953", "nodeType": "YUL_STATEMENT", "src": { "column": "20", "end": "68384", "length": "224", "line": "1905", - "parentIndex": "3940", + "parentIndex": "3941", "start": "68161" }, "statements": [ @@ -71433,7 +71513,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3955", + "id": "3956", "name": "memPtr", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71441,7 +71521,7 @@ "end": "68204", "length": "6", "line": "1906", - "parentIndex": "3953", + "parentIndex": "3954", "start": "68199" } } @@ -71453,7 +71533,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3958", + "id": "3959", "name": "o", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71461,7 +71541,7 @@ "end": "68235", "length": "1", "line": "1907", - "parentIndex": "3956", + "parentIndex": "3957", "start": "68235" } } @@ -71470,7 +71550,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x20", - "id": "3959", + "id": "3960", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -71478,7 +71558,7 @@ "end": "68241", "length": "4", "line": "1907", - "parentIndex": "3956", + "parentIndex": "3957", "start": "68238" }, "value": "32" @@ -71488,7 +71568,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3957", + "id": "3958", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71496,19 +71576,19 @@ "end": "68233", "length": "3", "line": "1907", - "parentIndex": "3956", + "parentIndex": "3957", "start": "68231" } } }, - "id": "3956", + "id": "3957", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "24", "end": "68242", "length": "12", "line": "1907", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68231" } } @@ -71520,7 +71600,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3962", + "id": "3963", "name": "o", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71528,7 +71608,7 @@ "end": "68325", "length": "1", "line": "1908", - "parentIndex": "3960", + "parentIndex": "3961", "start": "68325" } } @@ -71537,7 +71617,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3961", + "id": "3962", "name": "calldataload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71545,19 +71625,19 @@ "end": "68323", "length": "12", "line": "1908", - "parentIndex": "3960", + "parentIndex": "3961", "start": "68312" } } }, - "id": "3960", + "id": "3961", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "24", "end": "68326", "length": "15", "line": "1908", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68312" } } @@ -71566,7 +71646,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3954", + "id": "3955", "name": "calldatacopy", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71574,19 +71654,19 @@ "end": "68172", "length": "12", "line": "1905", - "parentIndex": "3953", + "parentIndex": "3954", "start": "68161" } } }, - "id": "3953", + "id": "3954", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "20", "end": "68384", "length": "224", "line": "1905", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68161" } } @@ -71597,14 +71677,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3963", + "id": "3964", "nodeType": "YUL_STATEMENT", "src": { "column": "20", "end": "68708", "length": "303", "line": "1910", - "parentIndex": "3940", + "parentIndex": "3941", "start": "68406" }, "statements": [ @@ -71614,28 +71694,28 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulBlockStatement", "value": { - "id": "3979", + "id": "3980", "nodeType": "YUL_BLOCK", "src": { "column": "99", "end": "68708", "length": "224", "line": "1910", - "parentIndex": "3964", + "parentIndex": "3965", "start": "68485" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3980", + "id": "3981", "nodeType": "YUL_STATEMENT", "src": { "column": "24", "end": "68631", "length": "44", "line": "1912", - "parentIndex": "3979", + "parentIndex": "3980", "start": "68588" }, "statements": [ @@ -71647,7 +71727,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x00", - "id": "3983", + "id": "3984", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -71655,7 +71735,7 @@ "end": "68606", "length": "4", "line": "1912", - "parentIndex": "3981", + "parentIndex": "3982", "start": "68603" }, "value": "0" @@ -71665,7 +71745,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x00", - "id": "3984", + "id": "3985", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -71673,7 +71753,7 @@ "end": "68612", "length": "4", "line": "1912", - "parentIndex": "3981", + "parentIndex": "3982", "start": "68609" }, "value": "0" @@ -71685,7 +71765,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3986", + "id": "3987", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71693,19 +71773,19 @@ "end": "68628", "length": "14", "line": "1912", - "parentIndex": "3985", + "parentIndex": "3986", "start": "68615" } } }, - "id": "3985", + "id": "3986", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "51", "end": "68630", "length": "16", "line": "1912", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68615" } } @@ -71714,7 +71794,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3982", + "id": "3983", "name": "returndatacopy", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71722,19 +71802,19 @@ "end": "68601", "length": "14", "line": "1912", - "parentIndex": "3981", + "parentIndex": "3982", "start": "68588" } } }, - "id": "3981", + "id": "3982", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "24", "end": "68631", "length": "44", "line": "1912", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68588" } } @@ -71745,14 +71825,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3987", + "id": "3988", "nodeType": "YUL_STATEMENT", "src": { "column": "24", "end": "68686", "length": "30", "line": "1913", - "parentIndex": "3979", + "parentIndex": "3980", "start": "68657" }, "statements": [ @@ -71764,7 +71844,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x00", - "id": "3990", + "id": "3991", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -71772,7 +71852,7 @@ "end": "68667", "length": "4", "line": "1913", - "parentIndex": "3988", + "parentIndex": "3989", "start": "68664" }, "value": "0" @@ -71784,7 +71864,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3992", + "id": "3993", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71792,19 +71872,19 @@ "end": "68683", "length": "14", "line": "1913", - "parentIndex": "3991", + "parentIndex": "3992", "start": "68670" } } }, - "id": "3991", + "id": "3992", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "68685", "length": "16", "line": "1913", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68670" } } @@ -71813,7 +71893,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3989", + "id": "3990", "name": "revert", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71821,19 +71901,19 @@ "end": "68662", "length": "6", "line": "1913", - "parentIndex": "3988", + "parentIndex": "3989", "start": "68657" } } }, - "id": "3988", + "id": "3989", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "24", "end": "68686", "length": "30", "line": "1913", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68657" } } @@ -71844,14 +71924,14 @@ ] } }, - "id": "3964", + "id": "3965", "nodeType": "YUL_IF", "src": { "column": "20", "end": "68708", "length": "303", "line": "1910", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68406" } } @@ -71862,14 +71942,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3993", + "id": "3994", "nodeType": "YUL_STATEMENT", "src": { "column": "20", "end": "68819", "length": "23", "line": "1916", - "parentIndex": "3940", + "parentIndex": "3941", "start": "68797" }, "statements": [ @@ -71880,7 +71960,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3996", + "id": "3997", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71888,7 +71968,7 @@ "end": "68810", "length": "7", "line": "1916", - "parentIndex": "3994", + "parentIndex": "3995", "start": "68804" } } @@ -71896,7 +71976,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3997", + "id": "3998", "name": "memPtr", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71904,7 +71984,7 @@ "end": "68818", "length": "6", "line": "1916", - "parentIndex": "3994", + "parentIndex": "3995", "start": "68813" } } @@ -71913,7 +71993,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "3995", + "id": "3996", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71921,19 +72001,19 @@ "end": "68802", "length": "6", "line": "1916", - "parentIndex": "3994", + "parentIndex": "3995", "start": "68797" } } }, - "id": "3994", + "id": "3995", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "20", "end": "68819", "length": "23", "line": "1916", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68797" } } @@ -71944,28 +72024,28 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "3998", + "id": "3999", "nodeType": "YUL_STATEMENT", "src": { "column": "20", "end": "68869", "length": "29", "line": "1917", - "parentIndex": "3940", + "parentIndex": "3941", "start": "68841" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "3999", + "id": "4000", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "20", "end": "68869", "length": "29", "line": "1917", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68841" }, "value": { @@ -71978,7 +72058,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4004", + "id": "4005", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -71986,7 +72066,7 @@ "end": "68862", "length": "7", "line": "1917", - "parentIndex": "4002", + "parentIndex": "4003", "start": "68856" } } @@ -71995,7 +72075,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x20", - "id": "4005", + "id": "4006", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -72003,7 +72083,7 @@ "end": "68868", "length": "4", "line": "1917", - "parentIndex": "4002", + "parentIndex": "4003", "start": "68865" }, "value": "32" @@ -72013,7 +72093,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4003", + "id": "4004", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72021,31 +72101,31 @@ "end": "68854", "length": "3", "line": "1917", - "parentIndex": "4002", + "parentIndex": "4003", "start": "68852" } } }, - "id": "4002", + "id": "4003", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "31", "end": "68869", "length": "18", "line": "1917", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68852" } } }, - "id": "4001", + "id": "4002", "nodeType": "YUL_EXPRESSION", "src": { "column": "31", "end": "68854", "length": "3", "line": "1917", - "parentIndex": "3999", + "parentIndex": "4000", "start": "68852" } } @@ -72054,7 +72134,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4000", + "id": "4001", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72062,7 +72142,7 @@ "end": "68847", "length": "7", "line": "1917", - "parentIndex": "3999", + "parentIndex": "4000", "start": "68841" } } @@ -72076,14 +72156,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4006", + "id": "4007", "nodeType": "YUL_STATEMENT", "src": { "column": "20", "end": "68997", "length": "32", "line": "1919", - "parentIndex": "3940", + "parentIndex": "3941", "start": "68966" }, "statements": [ @@ -72094,7 +72174,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4009", + "id": "4010", "name": "memPtr", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72102,7 +72182,7 @@ "end": "68978", "length": "6", "line": "1919", - "parentIndex": "4007", + "parentIndex": "4008", "start": "68973" } } @@ -72113,7 +72193,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4011", + "id": "4012", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72121,19 +72201,19 @@ "end": "68994", "length": "14", "line": "1919", - "parentIndex": "4010", + "parentIndex": "4011", "start": "68981" } } }, - "id": "4010", + "id": "4011", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "35", "end": "68996", "length": "16", "line": "1919", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68981" } } @@ -72142,7 +72222,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4008", + "id": "4009", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72150,19 +72230,19 @@ "end": "68971", "length": "6", "line": "1919", - "parentIndex": "4007", + "parentIndex": "4008", "start": "68966" } } }, - "id": "4007", + "id": "4008", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "20", "end": "68997", "length": "32", "line": "1919", - "parentIndex": "3877", + "parentIndex": "3878", "start": "68966" } } @@ -72173,14 +72253,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4012", + "id": "4013", "nodeType": "YUL_STATEMENT", "src": { "column": "20", "end": "69075", "length": "57", "line": "1920", - "parentIndex": "3940", + "parentIndex": "3941", "start": "69019" }, "statements": [ @@ -72195,7 +72275,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4017", + "id": "4018", "name": "memPtr", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72203,7 +72283,7 @@ "end": "69043", "length": "6", "line": "1920", - "parentIndex": "4015", + "parentIndex": "4016", "start": "69038" } } @@ -72212,7 +72292,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x20", - "id": "4018", + "id": "4019", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -72220,7 +72300,7 @@ "end": "69049", "length": "4", "line": "1920", - "parentIndex": "4015", + "parentIndex": "4016", "start": "69046" }, "value": "32" @@ -72230,7 +72310,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4016", + "id": "4017", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72238,19 +72318,19 @@ "end": "69036", "length": "3", "line": "1920", - "parentIndex": "4015", + "parentIndex": "4016", "start": "69034" } } }, - "id": "4015", + "id": "4016", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "35", "end": "69050", "length": "17", "line": "1920", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69034" } } @@ -72259,7 +72339,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x00", - "id": "4019", + "id": "4020", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -72267,7 +72347,7 @@ "end": "69056", "length": "4", "line": "1920", - "parentIndex": "4013", + "parentIndex": "4014", "start": "69053" }, "value": "0" @@ -72279,7 +72359,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4021", + "id": "4022", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72287,19 +72367,19 @@ "end": "69072", "length": "14", "line": "1920", - "parentIndex": "4020", + "parentIndex": "4021", "start": "69059" } } }, - "id": "4020", + "id": "4021", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "60", "end": "69074", "length": "16", "line": "1920", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69059" } } @@ -72308,7 +72388,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4014", + "id": "4015", "name": "returndatacopy", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72316,19 +72396,19 @@ "end": "69032", "length": "14", "line": "1920", - "parentIndex": "4013", + "parentIndex": "4014", "start": "69019" } } }, - "id": "4013", + "id": "4014", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "20", "end": "69075", "length": "57", "line": "1920", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69019" } } @@ -72339,28 +72419,28 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4022", + "id": "4023", "nodeType": "YUL_STATEMENT", "src": { "column": "20", "end": "69307", "length": "75", "line": "1923", - "parentIndex": "3940", + "parentIndex": "3941", "start": "69233" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4023", + "id": "4024", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "20", "end": "69307", "length": "75", "line": "1923", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69233" }, "value": { @@ -72381,7 +72461,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4032", + "id": "4033", "name": "memPtr", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72389,7 +72469,7 @@ "end": "69260", "length": "6", "line": "1923", - "parentIndex": "4030", + "parentIndex": "4031", "start": "69255" } } @@ -72400,7 +72480,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4034", + "id": "4035", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72408,19 +72488,19 @@ "end": "69276", "length": "14", "line": "1923", - "parentIndex": "4033", + "parentIndex": "4034", "start": "69263" } } }, - "id": "4033", + "id": "4034", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "50", "end": "69278", "length": "16", "line": "1923", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69263" } } @@ -72429,7 +72509,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4031", + "id": "4032", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72437,19 +72517,19 @@ "end": "69253", "length": "3", "line": "1923", - "parentIndex": "4030", + "parentIndex": "4031", "start": "69251" } } }, - "id": "4030", + "id": "4031", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "38", "end": "69279", "length": "29", "line": "1923", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69251" } } @@ -72458,7 +72538,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x3f", - "id": "4035", + "id": "4036", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -72466,7 +72546,7 @@ "end": "69285", "length": "4", "line": "1923", - "parentIndex": "4028", + "parentIndex": "4029", "start": "69282" }, "value": "63" @@ -72476,7 +72556,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4029", + "id": "4030", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72484,19 +72564,19 @@ "end": "69249", "length": "3", "line": "1923", - "parentIndex": "4028", + "parentIndex": "4029", "start": "69247" } } }, - "id": "4028", + "id": "4029", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "34", "end": "69286", "length": "40", "line": "1923", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69247" } } @@ -72505,7 +72585,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0xffffffffffffffe0", - "id": "4036", + "id": "4037", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -72513,7 +72593,7 @@ "end": "69306", "length": "18", "line": "1923", - "parentIndex": "4026", + "parentIndex": "4027", "start": "69289" }, "value": "-32" @@ -72523,7 +72603,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4027", + "id": "4028", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72531,31 +72611,31 @@ "end": "69245", "length": "3", "line": "1923", - "parentIndex": "4026", + "parentIndex": "4027", "start": "69243" } } }, - "id": "4026", + "id": "4027", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "30", "end": "69307", "length": "65", "line": "1923", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69243" } } }, - "id": "4025", + "id": "4026", "nodeType": "YUL_EXPRESSION", "src": { "column": "30", "end": "69245", "length": "3", "line": "1923", - "parentIndex": "4023", + "parentIndex": "4024", "start": "69243" } } @@ -72564,7 +72644,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4024", + "id": "4025", "name": "memPtr", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72572,7 +72652,7 @@ "end": "69238", "length": "6", "line": "1923", - "parentIndex": "4023", + "parentIndex": "4024", "start": "69233" } } @@ -72586,14 +72666,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4037", + "id": "4038", "nodeType": "YUL_STATEMENT", "src": { "column": "20", "end": "69404", "length": "37", "line": "1925", - "parentIndex": "3940", + "parentIndex": "3941", "start": "69368" }, "statements": [ @@ -72603,42 +72683,42 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulBlockStatement", "value": { - "id": "4045", + "id": "4046", "nodeType": "YUL_BLOCK", "src": { "column": "48", "end": "69404", "length": "9", "line": "1925", - "parentIndex": "4038", + "parentIndex": "4039", "start": "69396" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4046", + "id": "4047", "nodeType": "YUL_STATEMENT", "src": { "column": "50", "end": "69402", "length": "5", "line": "1925", - "parentIndex": "4045", + "parentIndex": "4046", "start": "69398" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulBreakStatement", "value": { - "id": "4047", + "id": "4048", "nodeType": "YUL_BREAK", "src": { "column": "50", "end": "69402", "length": "5", "line": "1925", - "parentIndex": "4046", + "parentIndex": "4047", "start": "69398" } } @@ -72649,14 +72729,14 @@ ] } }, - "id": "4038", + "id": "4039", "nodeType": "YUL_IF", "src": { "column": "20", "end": "69404", "length": "37", "line": "1925", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69368" } } @@ -72670,7 +72750,7 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "3937", + "id": "3938", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -72678,25 +72758,25 @@ "end": "67925", "length": "1", "line": "1901", - "parentIndex": "3936", + "parentIndex": "3937", "start": "67925" }, "value": "1" } }, - "id": "3936", + "id": "3937", "nodeType": "YUL_FOR", "post": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulBlockStatement", "value": { - "id": "3939", + "id": "3940", "nodeType": "YUL_BLOCK", "src": { "column": "25", "end": "67928", "length": "2", "line": "1901", - "parentIndex": "3936", + "parentIndex": "3937", "start": "67927" } } @@ -72704,14 +72784,14 @@ "pre": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulBlockStatement", "value": { - "id": "3938", + "id": "3939", "nodeType": "YUL_BLOCK", "src": { "column": "20", "end": "67923", "length": "2", "line": "1901", - "parentIndex": "3936", + "parentIndex": "3937", "start": "67922" } } @@ -72721,7 +72801,7 @@ "end": "69422", "length": "1505", "line": "1901", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67918" } } @@ -72732,28 +72812,28 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4048", + "id": "4049", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "69526", "length": "22", "line": "1928", - "parentIndex": "3881", + "parentIndex": "3882", "start": "69505" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4049", + "id": "4050", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "16", "end": "69526", "length": "22", "line": "1928", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69505" }, "value": { @@ -72767,7 +72847,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4054", + "id": "4055", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -72775,7 +72855,7 @@ "end": "69525", "length": "4", "line": "1928", - "parentIndex": "4052", + "parentIndex": "4053", "start": "69522" }, "value": "64" @@ -72785,7 +72865,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4053", + "id": "4054", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72793,31 +72873,31 @@ "end": "69520", "length": "5", "line": "1928", - "parentIndex": "4052", + "parentIndex": "4053", "start": "69516" } } }, - "id": "4052", + "id": "4053", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "27", "end": "69526", "length": "11", "line": "1928", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69516" } } }, - "id": "4051", + "id": "4052", "nodeType": "YUL_EXPRESSION", "src": { "column": "27", "end": "69520", "length": "5", "line": "1928", - "parentIndex": "4049", + "parentIndex": "4050", "start": "69516" } } @@ -72826,7 +72906,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4050", + "id": "4051", "name": "results", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72834,7 +72914,7 @@ "end": "69511", "length": "7", "line": "1928", - "parentIndex": "4049", + "parentIndex": "4050", "start": "69505" } } @@ -72848,14 +72928,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4055", + "id": "4056", "nodeType": "YUL_STATEMENT", "src": { "column": "16", "end": "69563", "length": "20", "line": "1929", - "parentIndex": "3881", + "parentIndex": "3882", "start": "69544" }, "statements": [ @@ -72867,7 +72947,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4058", + "id": "4059", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -72875,7 +72955,7 @@ "end": "69554", "length": "4", "line": "1929", - "parentIndex": "4056", + "parentIndex": "4057", "start": "69551" }, "value": "64" @@ -72884,7 +72964,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4059", + "id": "4060", "name": "memPtr", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72892,7 +72972,7 @@ "end": "69562", "length": "6", "line": "1929", - "parentIndex": "4056", + "parentIndex": "4057", "start": "69557" } } @@ -72901,7 +72981,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4057", + "id": "4058", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -72909,19 +72989,19 @@ "end": "69549", "length": "6", "line": "1929", - "parentIndex": "4056", + "parentIndex": "4057", "start": "69544" } } }, - "id": "4056", + "id": "4057", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "69563", "length": "20", "line": "1929", - "parentIndex": "3877", + "parentIndex": "3878", "start": "69544" } } @@ -72932,14 +73012,14 @@ ] } }, - "id": "3880", + "id": "3881", "nodeType": "YUL_IF", "src": { "column": "12", "end": "69577", "length": "2348", "line": "1887", - "parentIndex": "3877", + "parentIndex": "3878", "start": "67230" } } @@ -72949,21 +73029,21 @@ } ] }, - "id": "3877", + "id": "3878", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "69587", "length": "2381", "line": "1886", - "parentIndex": "3876", + "parentIndex": "3877", "start": "67207" } } } ] }, - "id": "3869", + "id": "3870", "implemented": true, "kind": "KIND_FUNCTION", "name": "multicall", @@ -72972,25 +73052,25 @@ "end": "67124", "length": "9", "line": "1885", - "parentIndex": "3869", + "parentIndex": "3870", "start": "67116" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3870", + "id": "3871", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3871", + "id": "3872", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "3871", + "scope": "3872", "src": { "column": "23", "end": "67146", "length": "21", "line": "1885", - "parentIndex": "3870", + "parentIndex": "3871", "start": "67126" }, "stateMutability": "MUTABLE", @@ -73000,7 +73080,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3872", + "id": "3873", "name": "bytes", "nodeType": "IDENTIFIER", "src": { @@ -73008,7 +73088,7 @@ "end": "67130", "length": "5", "line": "1885", - "parentIndex": "3871", + "parentIndex": "3872", "start": "67126" }, "typeDescription": { @@ -73024,25 +73104,25 @@ "end": "67146", "length": "21", "line": "1885", - "parentIndex": "3869", + "parentIndex": "3870", "start": "67126" } }, "returnParameters": { - "id": "3873", + "id": "3874", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3874", + "id": "3875", "name": "results", "nodeType": "VARIABLE_DECLARATION", - "scope": "3874", + "scope": "3875", "src": { "column": "70", "end": "67194", "length": "22", "line": "1885", - "parentIndex": "3873", + "parentIndex": "3874", "start": "67173" }, "stateMutability": "MUTABLE", @@ -73052,7 +73132,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3875", + "id": "3876", "name": "bytes", "nodeType": "IDENTIFIER", "src": { @@ -73060,7 +73140,7 @@ "end": "67177", "length": "5", "line": "1885", - "parentIndex": "3874", + "parentIndex": "3875", "start": "67173" }, "typeDescription": { @@ -73076,18 +73156,18 @@ "end": "67194", "length": "22", "line": "1885", - "parentIndex": "3869", + "parentIndex": "3870", "start": "67173" } }, - "scope": "3867", + "scope": "3868", "signature": "29451959", "src": { "column": "4", "end": "69593", "length": "2487", "line": "1885", - "parentIndex": "3867", + "parentIndex": "3868", "start": "67107" }, "stateMutability": "PAYABLE", @@ -73103,7 +73183,7 @@ "end": "69595", "length": "2527", "line": "1884", - "parentIndex": "3820", + "parentIndex": "3821", "start": "67069" } } @@ -73119,13 +73199,13 @@ } }, { - "id": 4060, + "id": 4061, "license": "AGPL-3.0-only", "name": "ERC20", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC20.sol", "exported_symbols": [ { - "id": 4060, + "id": 4061, "name": "ERC20", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/ERC20.sol" } @@ -73136,7 +73216,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "4079", + "id": "4080", "literals": [ "pragma", "solidity", @@ -73153,7 +73233,7 @@ "end": "69664", "length": "24", "line": "1937", - "parentIndex": "4060", + "parentIndex": "4061", "start": "69641" }, "text": "pragma solidity \u003e=0.8.0;" @@ -73163,10 +73243,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "4108", + "id": "4109", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "4108" + "4109" ], "name": "ERC20", "nameLocation": { @@ -73174,7 +73254,7 @@ "end": "70092", "length": "5", "line": "1943", - "parentIndex": "4108", + "parentIndex": "4109", "start": "70088" }, "nodeType": "CONTRACT_DEFINITION", @@ -73182,25 +73262,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4110", + "id": "4111", "name": "Transfer", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "4111", + "id": "4112", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4112", + "id": "4113", "indexed": true, "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "4112", + "scope": "4113", "src": { "column": "19", "end": "70313", "length": "20", "line": "1948", - "parentIndex": "4111", + "parentIndex": "4112", "start": "70294" }, "stateMutability": "NONPAYABLE", @@ -73210,7 +73290,7 @@ "typeString": "address" }, "typeName": { - "id": "4113", + "id": "4114", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73218,7 +73298,7 @@ "end": "70300", "length": "7", "line": "1948", - "parentIndex": "4112", + "parentIndex": "4113", "start": "70294" }, "stateMutability": "NONPAYABLE", @@ -73230,17 +73310,17 @@ "visibility": "INTERNAL" }, { - "id": "4114", + "id": "4115", "indexed": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4114", + "scope": "4115", "src": { "column": "41", "end": "70333", "length": "18", "line": "1948", - "parentIndex": "4111", + "parentIndex": "4112", "start": "70316" }, "stateMutability": "NONPAYABLE", @@ -73250,7 +73330,7 @@ "typeString": "address" }, "typeName": { - "id": "4115", + "id": "4116", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73258,7 +73338,7 @@ "end": "70322", "length": "7", "line": "1948", - "parentIndex": "4114", + "parentIndex": "4115", "start": "70316" }, "stateMutability": "NONPAYABLE", @@ -73270,16 +73350,16 @@ "visibility": "INTERNAL" }, { - "id": "4116", + "id": "4117", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4116", + "scope": "4117", "src": { "column": "61", "end": "70349", "length": "14", "line": "1948", - "parentIndex": "4111", + "parentIndex": "4112", "start": "70336" }, "stateMutability": "MUTABLE", @@ -73289,7 +73369,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4117", + "id": "4118", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73297,7 +73377,7 @@ "end": "70342", "length": "7", "line": "1948", - "parentIndex": "4116", + "parentIndex": "4117", "start": "70336" }, "typeDescription": { @@ -73313,7 +73393,7 @@ "end": "70351", "length": "73", "line": "1948", - "parentIndex": "4110", + "parentIndex": "4111", "start": "70279" } }, @@ -73322,11 +73402,11 @@ "end": "70351", "length": "73", "line": "1948", - "parentIndex": "4108", + "parentIndex": "4109", "start": "70279" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264111", "typeString": "event ERC20.Transfer" } } @@ -73334,25 +73414,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4119", + "id": "4120", "name": "Approval", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "4120", + "id": "4121", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4121", + "id": "4122", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "4121", + "scope": "4122", "src": { "column": "19", "end": "70393", "length": "21", "line": "1950", - "parentIndex": "4120", + "parentIndex": "4121", "start": "70373" }, "stateMutability": "NONPAYABLE", @@ -73362,7 +73442,7 @@ "typeString": "address" }, "typeName": { - "id": "4122", + "id": "4123", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73370,7 +73450,7 @@ "end": "70379", "length": "7", "line": "1950", - "parentIndex": "4121", + "parentIndex": "4122", "start": "70373" }, "stateMutability": "NONPAYABLE", @@ -73382,17 +73462,17 @@ "visibility": "INTERNAL" }, { - "id": "4123", + "id": "4124", "indexed": true, "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "4123", + "scope": "4124", "src": { "column": "42", "end": "70418", "length": "23", "line": "1950", - "parentIndex": "4120", + "parentIndex": "4121", "start": "70396" }, "stateMutability": "NONPAYABLE", @@ -73402,7 +73482,7 @@ "typeString": "address" }, "typeName": { - "id": "4124", + "id": "4125", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73410,7 +73490,7 @@ "end": "70402", "length": "7", "line": "1950", - "parentIndex": "4123", + "parentIndex": "4124", "start": "70396" }, "stateMutability": "NONPAYABLE", @@ -73422,16 +73502,16 @@ "visibility": "INTERNAL" }, { - "id": "4125", + "id": "4126", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4125", + "scope": "4126", "src": { "column": "67", "end": "70434", "length": "14", "line": "1950", - "parentIndex": "4120", + "parentIndex": "4121", "start": "70421" }, "stateMutability": "MUTABLE", @@ -73441,7 +73521,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4126", + "id": "4127", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73449,7 +73529,7 @@ "end": "70427", "length": "7", "line": "1950", - "parentIndex": "4125", + "parentIndex": "4126", "start": "70421" }, "typeDescription": { @@ -73465,7 +73545,7 @@ "end": "70436", "length": "79", "line": "1950", - "parentIndex": "4119", + "parentIndex": "4120", "start": "70358" } }, @@ -73474,11 +73554,11 @@ "end": "70436", "length": "79", "line": "1950", - "parentIndex": "4108", + "parentIndex": "4109", "start": "70358" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC20_Approval_\u00264119", + "typeIdentifier": "t_event\u0026_ERC20_Approval_\u00264120", "typeString": "event ERC20.Approval" } } @@ -73486,17 +73566,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4128", + "id": "4129", "isStateVariable": true, "name": "name", "nodeType": "VARIABLE_DECLARATION", - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "70645", "length": "19", "line": "1956", - "parentIndex": "4108", + "parentIndex": "4109", "start": "70627" }, "stateMutability": "MUTABLE", @@ -73506,7 +73586,7 @@ "typeString": "string" }, "typeName": { - "id": "4129", + "id": "4130", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73514,7 +73594,7 @@ "end": "70632", "length": "6", "line": "1956", - "parentIndex": "4128", + "parentIndex": "4129", "start": "70627" }, "typeDescription": { @@ -73528,17 +73608,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4131", + "id": "4132", "isStateVariable": true, "name": "symbol", "nodeType": "VARIABLE_DECLARATION", - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "70672", "length": "21", "line": "1958", - "parentIndex": "4108", + "parentIndex": "4109", "start": "70652" }, "stateMutability": "MUTABLE", @@ -73548,7 +73628,7 @@ "typeString": "string" }, "typeName": { - "id": "4132", + "id": "4133", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73556,7 +73636,7 @@ "end": "70657", "length": "6", "line": "1958", - "parentIndex": "4131", + "parentIndex": "4132", "start": "70652" }, "typeDescription": { @@ -73570,17 +73650,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4134", + "id": "4135", "isStateVariable": true, "name": "decimals", "nodeType": "VARIABLE_DECLARATION", - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "70710", "length": "32", "line": "1960", - "parentIndex": "4108", + "parentIndex": "4109", "start": "70679" }, "stateMutability": "IMMUTABLE", @@ -73590,7 +73670,7 @@ "typeString": "uint8" }, "typeName": { - "id": "4135", + "id": "4136", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73598,7 +73678,7 @@ "end": "70683", "length": "5", "line": "1960", - "parentIndex": "4134", + "parentIndex": "4135", "start": "70679" }, "typeDescription": { @@ -73612,17 +73692,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4137", + "id": "4138", "isStateVariable": true, "name": "totalSupply", "nodeType": "VARIABLE_DECLARATION", - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "70926", "length": "27", "line": "1966", - "parentIndex": "4108", + "parentIndex": "4109", "start": "70900" }, "stateMutability": "MUTABLE", @@ -73632,7 +73712,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4138", + "id": "4139", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73640,7 +73720,7 @@ "end": "70906", "length": "7", "line": "1966", - "parentIndex": "4137", + "parentIndex": "4138", "start": "70900" }, "typeDescription": { @@ -73654,17 +73734,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4140", + "id": "4141", "isStateVariable": true, "name": "balanceOf", "nodeType": "VARIABLE_DECLARATION", - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "70977", "length": "45", "line": "1968", - "parentIndex": "4108", + "parentIndex": "4109", "start": "70933" }, "stateMutability": "MUTABLE", @@ -73674,9 +73754,9 @@ "typeString": "mapping(address=\u003euint256)" }, "typeName": { - "id": "4141", + "id": "4142", "keyType": { - "id": "4142", + "id": "4143", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73684,7 +73764,7 @@ "end": "70947", "length": "7", "line": "1968", - "parentIndex": "4141", + "parentIndex": "4142", "start": "70941" }, "typeDescription": { @@ -73697,15 +73777,16 @@ "end": "70947", "length": "7", "line": "1968", - "parentIndex": "4141", + "parentIndex": "4142", "start": "70941" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "70959", "length": "27", "line": "1968", - "parentIndex": "4140", + "parentIndex": "4141", "start": "70933" }, "typeDescription": { @@ -73713,7 +73794,7 @@ "typeString": "mapping(address=\u003euint256)" }, "valueType": { - "id": "4143", + "id": "4144", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73721,7 +73802,7 @@ "end": "70958", "length": "7", "line": "1968", - "parentIndex": "4141", + "parentIndex": "4142", "start": "70952" }, "typeDescription": { @@ -73734,7 +73815,7 @@ "end": "70958", "length": "7", "line": "1968", - "parentIndex": "4141", + "parentIndex": "4142", "start": "70952" } }, @@ -73744,17 +73825,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4145", + "id": "4146", "isStateVariable": true, "name": "allowance", "nodeType": "VARIABLE_DECLARATION", - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "71048", "length": "65", "line": "1970", - "parentIndex": "4108", + "parentIndex": "4109", "start": "70984" }, "stateMutability": "MUTABLE", @@ -73764,9 +73845,9 @@ "typeString": "mapping(address=\u003emapping(address=\u003euint256))" }, "typeName": { - "id": "4146", + "id": "4147", "keyType": { - "id": "4147", + "id": "4148", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73774,7 +73855,7 @@ "end": "70998", "length": "7", "line": "1970", - "parentIndex": "4146", + "parentIndex": "4147", "start": "70992" }, "typeDescription": { @@ -73787,15 +73868,16 @@ "end": "70998", "length": "7", "line": "1970", - "parentIndex": "4146", + "parentIndex": "4147", "start": "70992" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "71030", "length": "47", "line": "1970", - "parentIndex": "4145", + "parentIndex": "4146", "start": "70984" }, "typeDescription": { @@ -73803,9 +73885,9 @@ "typeString": "mapping(address=\u003emapping(address=\u003euint256))" }, "valueType": { - "id": "4148", + "id": "4149", "keyType": { - "id": "4150", + "id": "4151", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73813,7 +73895,7 @@ "end": "71017", "length": "7", "line": "1970", - "parentIndex": "4146", + "parentIndex": "4147", "start": "71011" }, "typeDescription": { @@ -73826,7 +73908,7 @@ "end": "71017", "length": "7", "line": "1970", - "parentIndex": "4148", + "parentIndex": "4149", "start": "71011" }, "name": "mapping(address=\u003euint256)", @@ -73836,7 +73918,7 @@ "end": "71029", "length": "27", "line": "1970", - "parentIndex": "4146", + "parentIndex": "4147", "start": "71003" }, "typeDescription": { @@ -73844,7 +73926,7 @@ "typeString": "mapping(address=\u003euint256)" }, "valueType": { - "id": "4151", + "id": "4152", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73852,7 +73934,7 @@ "end": "71028", "length": "7", "line": "1970", - "parentIndex": "4146", + "parentIndex": "4147", "start": "71022" }, "typeDescription": { @@ -73865,7 +73947,7 @@ "end": "71028", "length": "7", "line": "1970", - "parentIndex": "4148", + "parentIndex": "4149", "start": "71022" } }, @@ -73874,7 +73956,7 @@ "end": "71029", "length": "27", "line": "1970", - "parentIndex": "4146", + "parentIndex": "4147", "start": "71003" } }, @@ -73884,17 +73966,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4153", + "id": "4154", "isStateVariable": true, "name": "INITIAL_CHAIN_ID", "nodeType": "VARIABLE_DECLARATION", - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "71282", "length": "44", "line": "1976", - "parentIndex": "4108", + "parentIndex": "4109", "start": "71239" }, "stateMutability": "IMMUTABLE", @@ -73904,7 +73986,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4154", + "id": "4155", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73912,7 +73994,7 @@ "end": "71245", "length": "7", "line": "1976", - "parentIndex": "4153", + "parentIndex": "4154", "start": "71239" }, "typeDescription": { @@ -73926,17 +74008,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4156", + "id": "4157", "isStateVariable": true, "name": "INITIAL_DOMAIN_SEPARATOR", "nodeType": "VARIABLE_DECLARATION", - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "71340", "length": "52", "line": "1978", - "parentIndex": "4108", + "parentIndex": "4109", "start": "71289" }, "stateMutability": "IMMUTABLE", @@ -73946,7 +74028,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4157", + "id": "4158", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73954,7 +74036,7 @@ "end": "71295", "length": "7", "line": "1978", - "parentIndex": "4156", + "parentIndex": "4157", "start": "71289" }, "typeDescription": { @@ -73968,17 +74050,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4159", + "id": "4160", "isStateVariable": true, "name": "nonces", "nodeType": "VARIABLE_DECLARATION", - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "71388", "length": "42", "line": "1980", - "parentIndex": "4108", + "parentIndex": "4109", "start": "71347" }, "stateMutability": "MUTABLE", @@ -73988,9 +74070,9 @@ "typeString": "mapping(address=\u003euint256)" }, "typeName": { - "id": "4160", + "id": "4161", "keyType": { - "id": "4161", + "id": "4162", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73998,7 +74080,7 @@ "end": "71361", "length": "7", "line": "1980", - "parentIndex": "4160", + "parentIndex": "4161", "start": "71355" }, "typeDescription": { @@ -74011,15 +74093,16 @@ "end": "71361", "length": "7", "line": "1980", - "parentIndex": "4160", + "parentIndex": "4161", "start": "71355" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "71373", "length": "27", "line": "1980", - "parentIndex": "4159", + "parentIndex": "4160", "start": "71347" }, "typeDescription": { @@ -74027,7 +74110,7 @@ "typeString": "mapping(address=\u003euint256)" }, "valueType": { - "id": "4162", + "id": "4163", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74035,7 +74118,7 @@ "end": "71372", "length": "7", "line": "1980", - "parentIndex": "4160", + "parentIndex": "4161", "start": "71366" }, "typeDescription": { @@ -74048,7 +74131,7 @@ "end": "71372", "length": "7", "line": "1980", - "parentIndex": "4160", + "parentIndex": "4161", "start": "71366" } }, @@ -74059,7 +74142,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4173", + "id": "4174", "implemented": true, "nodeType": "BLOCK", "src": { @@ -74067,7 +74150,7 @@ "end": "71868", "length": "189", "line": "1990", - "parentIndex": "4164", + "parentIndex": "4165", "start": "71680" }, "statements": [ @@ -74077,20 +74160,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4175", + "id": "4176", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4176", + "id": "4177", "name": "name", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4128", + "referencedDeclaration": "4129", "src": { "column": "8", "end": "71693", "length": "4", "line": "1991", - "parentIndex": "4175", + "parentIndex": "4176", "start": "71690" }, "typeDescription": { @@ -74104,16 +74187,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4177", + "id": "4178", "name": "_name", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4177", + "referencedDeclaration": "4178", "src": { "column": "15", "end": "71701", "length": "5", "line": "1991", - "parentIndex": "4175", + "parentIndex": "4176", "start": "71697" }, "typeDescription": { @@ -74127,7 +74210,7 @@ "end": "71701", "length": "12", "line": "1991", - "parentIndex": "4174", + "parentIndex": "4175", "start": "71690" }, "typeDescription": { @@ -74136,14 +74219,14 @@ } } }, - "id": "4174", + "id": "4175", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "71702", "length": "13", "line": "1991", - "parentIndex": "4173", + "parentIndex": "4174", "start": "71690" }, "typeDescription": { @@ -74158,20 +74241,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4179", + "id": "4180", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4180", + "id": "4181", "name": "symbol", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4131", + "referencedDeclaration": "4132", "src": { "column": "8", "end": "71717", "length": "6", "line": "1992", - "parentIndex": "4179", + "parentIndex": "4180", "start": "71712" }, "typeDescription": { @@ -74185,16 +74268,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4181", + "id": "4182", "name": "_symbol", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4181", + "referencedDeclaration": "4182", "src": { "column": "17", "end": "71727", "length": "7", "line": "1992", - "parentIndex": "4179", + "parentIndex": "4180", "start": "71721" }, "typeDescription": { @@ -74208,7 +74291,7 @@ "end": "71727", "length": "16", "line": "1992", - "parentIndex": "4178", + "parentIndex": "4179", "start": "71712" }, "typeDescription": { @@ -74217,14 +74300,14 @@ } } }, - "id": "4178", + "id": "4179", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "71728", "length": "17", "line": "1992", - "parentIndex": "4173", + "parentIndex": "4174", "start": "71712" }, "typeDescription": { @@ -74239,20 +74322,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4183", + "id": "4184", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4184", + "id": "4185", "name": "decimals", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4134", + "referencedDeclaration": "4135", "src": { "column": "8", "end": "71745", "length": "8", "line": "1993", - "parentIndex": "4183", + "parentIndex": "4184", "start": "71738" }, "typeDescription": { @@ -74266,16 +74349,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4185", + "id": "4186", "name": "_decimals", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4185", + "referencedDeclaration": "4186", "src": { "column": "19", "end": "71757", "length": "9", "line": "1993", - "parentIndex": "4183", + "parentIndex": "4184", "start": "71749" }, "typeDescription": { @@ -74289,7 +74372,7 @@ "end": "71757", "length": "20", "line": "1993", - "parentIndex": "4182", + "parentIndex": "4183", "start": "71738" }, "typeDescription": { @@ -74298,14 +74381,14 @@ } } }, - "id": "4182", + "id": "4183", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "71758", "length": "21", "line": "1993", - "parentIndex": "4173", + "parentIndex": "4174", "start": "71738" }, "typeDescription": { @@ -74320,20 +74403,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4187", + "id": "4188", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4188", + "id": "4189", "name": "INITIAL_CHAIN_ID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4153", + "referencedDeclaration": "4154", "src": { "column": "8", "end": "71784", "length": "16", "line": "1995", - "parentIndex": "4187", + "parentIndex": "4188", "start": "71769" }, "typeDescription": { @@ -74350,7 +74433,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4190", + "id": "4191", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -74358,7 +74441,7 @@ "end": "71792", "length": "5", "line": "1995", - "parentIndex": "4189", + "parentIndex": "4190", "start": "71788" }, "typeDescription": { @@ -74367,13 +74450,13 @@ } } }, - "id": "4189", + "id": "4190", "memberLocation": { "column": "33", "end": "71800", "length": "7", "line": "1995", - "parentIndex": "4189", + "parentIndex": "4190", "start": "71794" }, "memberName": "chainid", @@ -74383,7 +74466,7 @@ "end": "71800", "length": "13", "line": "1995", - "parentIndex": "4187", + "parentIndex": "4188", "start": "71788" }, "typeDescription": { @@ -74397,7 +74480,7 @@ "end": "71800", "length": "32", "line": "1995", - "parentIndex": "4186", + "parentIndex": "4187", "start": "71769" }, "typeDescription": { @@ -74406,14 +74489,14 @@ } } }, - "id": "4186", + "id": "4187", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "71801", "length": "33", "line": "1995", - "parentIndex": "4173", + "parentIndex": "4174", "start": "71769" }, "typeDescription": { @@ -74428,20 +74511,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4192", + "id": "4193", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4193", + "id": "4194", "name": "INITIAL_DOMAIN_SEPARATOR", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4156", + "referencedDeclaration": "4157", "src": { "column": "8", "end": "71834", "length": "24", "line": "1996", - "parentIndex": "4192", + "parentIndex": "4193", "start": "71811" }, "typeDescription": { @@ -74458,7 +74541,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4195", + "id": "4196", "name": "computeDomainSeparator", "nodeType": "IDENTIFIER", "src": { @@ -74466,7 +74549,7 @@ "end": "71859", "length": "22", "line": "1996", - "parentIndex": "4194", + "parentIndex": "4195", "start": "71838" }, "typeDescription": { @@ -74475,7 +74558,7 @@ } } }, - "id": "4194", + "id": "4195", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -74483,7 +74566,7 @@ "end": "71861", "length": "24", "line": "1996", - "parentIndex": "4192", + "parentIndex": "4193", "start": "71838" }, "typeDescription": { @@ -74497,7 +74580,7 @@ "end": "71861", "length": "51", "line": "1996", - "parentIndex": "4191", + "parentIndex": "4192", "start": "71811" }, "typeDescription": { @@ -74506,14 +74589,14 @@ } } }, - "id": "4191", + "id": "4192", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "71862", "length": "52", "line": "1996", - "parentIndex": "4173", + "parentIndex": "4174", "start": "71811" }, "typeDescription": { @@ -74524,25 +74607,25 @@ } ] }, - "id": "4164", + "id": "4165", "implemented": true, "kind": "CONSTRUCTOR", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4165", + "id": "4166", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4166", + "id": "4167", "name": "_name", "nodeType": "VARIABLE_DECLARATION", - "scope": "4166", + "scope": "4167", "src": { "column": "8", "end": "71616", "length": "19", "line": "1987", - "parentIndex": "4165", + "parentIndex": "4166", "start": "71598" }, "stateMutability": "MUTABLE", @@ -74552,7 +74635,7 @@ "typeString": "string" }, "typeName": { - "id": "4167", + "id": "4168", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74560,7 +74643,7 @@ "end": "71603", "length": "6", "line": "1987", - "parentIndex": "4166", + "parentIndex": "4167", "start": "71598" }, "typeDescription": { @@ -74571,16 +74654,16 @@ "visibility": "INTERNAL" }, { - "id": "4168", + "id": "4169", "name": "_symbol", "nodeType": "VARIABLE_DECLARATION", - "scope": "4168", + "scope": "4169", "src": { "column": "8", "end": "71647", "length": "21", "line": "1988", - "parentIndex": "4165", + "parentIndex": "4166", "start": "71627" }, "stateMutability": "MUTABLE", @@ -74590,7 +74673,7 @@ "typeString": "string" }, "typeName": { - "id": "4169", + "id": "4170", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74598,7 +74681,7 @@ "end": "71632", "length": "6", "line": "1988", - "parentIndex": "4168", + "parentIndex": "4169", "start": "71627" }, "typeDescription": { @@ -74609,16 +74692,16 @@ "visibility": "INTERNAL" }, { - "id": "4170", + "id": "4171", "name": "_decimals", "nodeType": "VARIABLE_DECLARATION", - "scope": "4170", + "scope": "4171", "src": { "column": "8", "end": "71672", "length": "15", "line": "1989", - "parentIndex": "4165", + "parentIndex": "4166", "start": "71658" }, "stateMutability": "MUTABLE", @@ -74628,7 +74711,7 @@ "typeString": "uint8" }, "typeName": { - "id": "4171", + "id": "4172", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74636,7 +74719,7 @@ "end": "71662", "length": "5", "line": "1989", - "parentIndex": "4170", + "parentIndex": "4171", "start": "71658" }, "typeDescription": { @@ -74652,29 +74735,29 @@ "end": "71672", "length": "75", "line": "1987", - "parentIndex": "4164", + "parentIndex": "4165", "start": "71598" } }, "returnParameters": { - "id": "4172", + "id": "4173", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "71868", "length": "292", "line": "1986", - "parentIndex": "4164", + "parentIndex": "4165", "start": "71577" } }, - "scope": "4108", + "scope": "4109", "src": { "column": "4", "end": "71868", "length": "292", "line": "1986", - "parentIndex": "4108", + "parentIndex": "4109", "start": "71577" }, "stateMutability": "NONPAYABLE", @@ -74689,7 +74772,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4206", + "id": "4207", "implemented": true, "nodeType": "BLOCK", "src": { @@ -74697,7 +74780,7 @@ "end": "72267", "length": "131", "line": "2003", - "parentIndex": "4197", + "parentIndex": "4198", "start": "72137" }, "statements": [ @@ -74707,23 +74790,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4208", + "id": "4209", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4214", + "id": "4215", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4214", + "referencedDeclaration": "4215", "src": { "column": "30", "end": "72175", "length": "7", "line": "2004", - "parentIndex": "4209", + "parentIndex": "4210", "start": "72169" }, "typeDescription": { @@ -74732,7 +74815,7 @@ } } }, - "id": "4209", + "id": "4210", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -74742,7 +74825,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4213", + "id": "4214", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -74750,7 +74833,7 @@ "end": "72159", "length": "3", "line": "2004", - "parentIndex": "4212", + "parentIndex": "4213", "start": "72157" }, "typeDescription": { @@ -74759,13 +74842,13 @@ } } }, - "id": "4212", + "id": "4213", "memberLocation": { "column": "22", "end": "72166", "length": "6", "line": "2004", - "parentIndex": "4212", + "parentIndex": "4213", "start": "72161" }, "memberName": "sender", @@ -74775,7 +74858,7 @@ "end": "72166", "length": "10", "line": "2004", - "parentIndex": "4210", + "parentIndex": "4211", "start": "72157" }, "typeDescription": { @@ -74784,20 +74867,20 @@ } } }, - "id": "4210", + "id": "4211", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4211", + "id": "4212", "name": "allowance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4145", + "referencedDeclaration": "4146", "src": { "column": "8", "end": "72155", "length": "9", "line": "2004", - "parentIndex": "4210", + "parentIndex": "4211", "start": "72147" }, "typeDescription": { @@ -74812,7 +74895,7 @@ "end": "72167", "length": "21", "line": "2004", - "parentIndex": "4209", + "parentIndex": "4210", "start": "72147" }, "typeDescription": { @@ -74837,7 +74920,7 @@ "end": "72176", "length": "30", "line": "2004", - "parentIndex": "4208", + "parentIndex": "4209", "start": "72147" }, "typeDescription": { @@ -74861,16 +74944,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4215", + "id": "4216", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4215", + "referencedDeclaration": "4216", "src": { "column": "41", "end": "72185", "length": "6", "line": "2004", - "parentIndex": "4208", + "parentIndex": "4209", "start": "72180" }, "typeDescription": { @@ -74884,7 +74967,7 @@ "end": "72185", "length": "39", "line": "2004", - "parentIndex": "4207", + "parentIndex": "4208", "start": "72147" }, "typeDescription": { @@ -74893,14 +74976,14 @@ } } }, - "id": "4207", + "id": "4208", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "72186", "length": "40", "line": "2004", - "parentIndex": "4206", + "parentIndex": "4207", "start": "72147" }, "typeDescription": { @@ -74919,7 +75002,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4218", + "id": "4219", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -74927,7 +75010,7 @@ "end": "72213", "length": "3", "line": "2006", - "parentIndex": "4217", + "parentIndex": "4218", "start": "72211" }, "typeDescription": { @@ -74936,13 +75019,13 @@ } } }, - "id": "4217", + "id": "4218", "memberLocation": { "column": "26", "end": "72220", "length": "6", "line": "2006", - "parentIndex": "4217", + "parentIndex": "4218", "start": "72215" }, "memberName": "sender", @@ -74952,7 +75035,7 @@ "end": "72220", "length": "10", "line": "2006", - "parentIndex": "4216", + "parentIndex": "4217", "start": "72211" }, "typeDescription": { @@ -74964,16 +75047,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4219", + "id": "4220", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4219", + "referencedDeclaration": "4220", "src": { "column": "34", "end": "72229", "length": "7", "line": "2006", - "parentIndex": "4216", + "parentIndex": "4217", "start": "72223" }, "typeDescription": { @@ -74985,16 +75068,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4220", + "id": "4221", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4220", + "referencedDeclaration": "4221", "src": { "column": "43", "end": "72237", "length": "6", "line": "2006", - "parentIndex": "4216", + "parentIndex": "4217", "start": "72232" }, "typeDescription": { @@ -75007,32 +75090,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4221", + "id": "4222", "name": "Approval", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4119", + "referencedDeclaration": "4120", "src": { "column": "13", "end": "72209", "length": "8", "line": "2006", - "parentIndex": "4216", + "parentIndex": "4217", "start": "72202" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC20_Approval_\u00264119", + "typeIdentifier": "t_event\u0026_ERC20_Approval_\u00264120", "typeString": "event ERC20.Approval" } } }, - "id": "4216", + "id": "4217", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "72239", "length": "43", "line": "2006", - "parentIndex": "4197", + "parentIndex": "4198", "start": "72197" } } @@ -75044,7 +75127,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "4223", + "id": "4224", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -75053,7 +75136,7 @@ "end": "72260", "length": "4", "line": "2008", - "parentIndex": "4222", + "parentIndex": "4223", "start": "72257" }, "typeDescription": { @@ -75063,15 +75146,15 @@ "value": "true" } }, - "functionReturnParameters": "4197", - "id": "4222", + "functionReturnParameters": "4198", + "id": "4223", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "72261", "length": "12", "line": "2008", - "parentIndex": "4197", + "parentIndex": "4198", "start": "72250" }, "typeDescription": { @@ -75082,7 +75165,7 @@ } ] }, - "id": "4197", + "id": "4198", "implemented": true, "kind": "KIND_FUNCTION", "name": "approve", @@ -75091,25 +75174,25 @@ "end": "72072", "length": "7", "line": "2003", - "parentIndex": "4197", + "parentIndex": "4198", "start": "72066" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4198", + "id": "4199", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4199", + "id": "4200", "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "4199", + "scope": "4200", "src": { "column": "21", "end": "72088", "length": "15", "line": "2003", - "parentIndex": "4198", + "parentIndex": "4199", "start": "72074" }, "stateMutability": "NONPAYABLE", @@ -75119,7 +75202,7 @@ "typeString": "address" }, "typeName": { - "id": "4200", + "id": "4201", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75127,7 +75210,7 @@ "end": "72080", "length": "7", "line": "2003", - "parentIndex": "4199", + "parentIndex": "4200", "start": "72074" }, "stateMutability": "NONPAYABLE", @@ -75139,16 +75222,16 @@ "visibility": "INTERNAL" }, { - "id": "4201", + "id": "4202", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4201", + "scope": "4202", "src": { "column": "38", "end": "72104", "length": "14", "line": "2003", - "parentIndex": "4198", + "parentIndex": "4199", "start": "72091" }, "stateMutability": "MUTABLE", @@ -75158,7 +75241,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4202", + "id": "4203", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75166,7 +75249,7 @@ "end": "72097", "length": "7", "line": "2003", - "parentIndex": "4201", + "parentIndex": "4202", "start": "72091" }, "typeDescription": { @@ -75182,24 +75265,24 @@ "end": "72104", "length": "31", "line": "2003", - "parentIndex": "4197", + "parentIndex": "4198", "start": "72074" } }, "returnParameters": { - "id": "4203", + "id": "4204", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4204", + "id": "4205", "nodeType": "VARIABLE_DECLARATION", - "scope": "4204", + "scope": "4205", "src": { "column": "78", "end": "72134", "length": "4", "line": "2003", - "parentIndex": "4203", + "parentIndex": "4204", "start": "72131" }, "stateMutability": "MUTABLE", @@ -75209,7 +75292,7 @@ "typeString": "bool" }, "typeName": { - "id": "4205", + "id": "4206", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75217,7 +75300,7 @@ "end": "72134", "length": "4", "line": "2003", - "parentIndex": "4204", + "parentIndex": "4205", "start": "72131" }, "typeDescription": { @@ -75233,18 +75316,18 @@ "end": "72134", "length": "4", "line": "2003", - "parentIndex": "4197", + "parentIndex": "4198", "start": "72131" } }, - "scope": "4108", - "signature": "8b069f2a", + "scope": "4109", + "signature": "095ea7b3", "src": { "column": "4", "end": "72267", "length": "211", "line": "2003", - "parentIndex": "4108", + "parentIndex": "4109", "start": "72057" }, "stateMutability": "NONPAYABLE", @@ -75260,7 +75343,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4234", + "id": "4235", "implemented": true, "nodeType": "BLOCK", "src": { @@ -75268,7 +75351,7 @@ "end": "72646", "length": "297", "line": "2011", - "parentIndex": "4225", + "parentIndex": "4226", "start": "72350" }, "statements": [ @@ -75278,7 +75361,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4236", + "id": "4237", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -75288,7 +75371,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4240", + "id": "4241", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -75296,7 +75379,7 @@ "end": "72372", "length": "3", "line": "2012", - "parentIndex": "4239", + "parentIndex": "4240", "start": "72370" }, "typeDescription": { @@ -75305,13 +75388,13 @@ } } }, - "id": "4239", + "id": "4240", "memberLocation": { "column": "22", "end": "72379", "length": "6", "line": "2012", - "parentIndex": "4239", + "parentIndex": "4240", "start": "72374" }, "memberName": "sender", @@ -75321,7 +75404,7 @@ "end": "72379", "length": "10", "line": "2012", - "parentIndex": "4237", + "parentIndex": "4238", "start": "72370" }, "typeDescription": { @@ -75330,20 +75413,20 @@ } } }, - "id": "4237", + "id": "4238", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4238", + "id": "4239", "name": "balanceOf", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4140", + "referencedDeclaration": "4141", "src": { "column": "8", "end": "72368", "length": "9", "line": "2012", - "parentIndex": "4237", + "parentIndex": "4238", "start": "72360" }, "typeDescription": { @@ -75358,7 +75441,7 @@ "end": "72380", "length": "21", "line": "2012", - "parentIndex": "4236", + "parentIndex": "4237", "start": "72360" }, "typeDescription": { @@ -75382,16 +75465,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4241", + "id": "4242", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4241", + "referencedDeclaration": "4242", "src": { "column": "33", "end": "72390", "length": "6", "line": "2012", - "parentIndex": "4236", + "parentIndex": "4237", "start": "72385" }, "typeDescription": { @@ -75405,7 +75488,7 @@ "end": "72390", "length": "31", "line": "2012", - "parentIndex": "4235", + "parentIndex": "4236", "start": "72360" }, "typeDescription": { @@ -75414,14 +75497,14 @@ } } }, - "id": "4235", + "id": "4236", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "72391", "length": "32", "line": "2012", - "parentIndex": "4234", + "parentIndex": "4235", "start": "72360" }, "typeDescription": { @@ -75440,7 +75523,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4244", + "id": "4245", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -75448,7 +75531,7 @@ "end": "72597", "length": "3", "line": "2020", - "parentIndex": "4243", + "parentIndex": "4244", "start": "72595" }, "typeDescription": { @@ -75457,13 +75540,13 @@ } } }, - "id": "4243", + "id": "4244", "memberLocation": { "column": "26", "end": "72604", "length": "6", "line": "2020", - "parentIndex": "4243", + "parentIndex": "4244", "start": "72599" }, "memberName": "sender", @@ -75473,7 +75556,7 @@ "end": "72604", "length": "10", "line": "2020", - "parentIndex": "4242", + "parentIndex": "4243", "start": "72595" }, "typeDescription": { @@ -75485,16 +75568,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4245", + "id": "4246", "name": "to", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4245", + "referencedDeclaration": "4246", "src": { "column": "34", "end": "72608", "length": "2", "line": "2020", - "parentIndex": "4242", + "parentIndex": "4243", "start": "72607" }, "typeDescription": { @@ -75506,16 +75589,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4246", + "id": "4247", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4246", + "referencedDeclaration": "4247", "src": { "column": "38", "end": "72616", "length": "6", "line": "2020", - "parentIndex": "4242", + "parentIndex": "4243", "start": "72611" }, "typeDescription": { @@ -75528,32 +75611,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4247", + "id": "4248", "name": "Transfer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4110", + "referencedDeclaration": "4111", "src": { "column": "13", "end": "72593", "length": "8", "line": "2020", - "parentIndex": "4242", + "parentIndex": "4243", "start": "72586" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264111", "typeString": "event ERC20.Transfer" } } }, - "id": "4242", + "id": "4243", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "72618", "length": "38", "line": "2020", - "parentIndex": "4225", + "parentIndex": "4226", "start": "72581" } } @@ -75565,7 +75648,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "4249", + "id": "4250", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -75574,7 +75657,7 @@ "end": "72639", "length": "4", "line": "2022", - "parentIndex": "4248", + "parentIndex": "4249", "start": "72636" }, "typeDescription": { @@ -75584,15 +75667,15 @@ "value": "true" } }, - "functionReturnParameters": "4225", - "id": "4248", + "functionReturnParameters": "4226", + "id": "4249", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "72640", "length": "12", "line": "2022", - "parentIndex": "4225", + "parentIndex": "4226", "start": "72629" }, "typeDescription": { @@ -75604,14 +75687,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "4250", + "id": "4251", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", "end": "72570", "length": "58", "line": "2016", - "parentIndex": "4108", + "parentIndex": "4109", "start": "72513" }, "statements": [ @@ -75621,23 +75704,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4252", + "id": "4253", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4255", + "id": "4256", "name": "to", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4255", + "referencedDeclaration": "4256", "src": { "column": "22", "end": "72548", "length": "2", "line": "2017", - "parentIndex": "4253", + "parentIndex": "4254", "start": "72547" }, "typeDescription": { @@ -75646,20 +75729,20 @@ } } }, - "id": "4253", + "id": "4254", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4254", + "id": "4255", "name": "balanceOf", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4140", + "referencedDeclaration": "4141", "src": { "column": "12", "end": "72545", "length": "9", "line": "2017", - "parentIndex": "4253", + "parentIndex": "4254", "start": "72537" }, "typeDescription": { @@ -75674,7 +75757,7 @@ "end": "72549", "length": "13", "line": "2017", - "parentIndex": "4252", + "parentIndex": "4253", "start": "72537" }, "typeDescription": { @@ -75698,16 +75781,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4256", + "id": "4257", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4256", + "referencedDeclaration": "4257", "src": { "column": "29", "end": "72559", "length": "6", "line": "2017", - "parentIndex": "4252", + "parentIndex": "4253", "start": "72554" }, "typeDescription": { @@ -75721,7 +75804,7 @@ "end": "72559", "length": "23", "line": "2017", - "parentIndex": "4251", + "parentIndex": "4252", "start": "72537" }, "typeDescription": { @@ -75730,14 +75813,14 @@ } } }, - "id": "4251", + "id": "4252", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "72560", "length": "24", "line": "2017", - "parentIndex": "4250", + "parentIndex": "4251", "start": "72537" }, "typeDescription": { @@ -75751,7 +75834,7 @@ } ] }, - "id": "4225", + "id": "4226", "kind": "KIND_FUNCTION", "name": "transfer", "nameLocation": { @@ -75759,25 +75842,25 @@ "end": "72290", "length": "8", "line": "2011", - "parentIndex": "4225", + "parentIndex": "4226", "start": "72283" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4226", + "id": "4227", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4227", + "id": "4228", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4227", + "scope": "4228", "src": { "column": "22", "end": "72301", "length": "10", "line": "2011", - "parentIndex": "4226", + "parentIndex": "4227", "start": "72292" }, "stateMutability": "NONPAYABLE", @@ -75787,7 +75870,7 @@ "typeString": "address" }, "typeName": { - "id": "4228", + "id": "4229", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75795,7 +75878,7 @@ "end": "72298", "length": "7", "line": "2011", - "parentIndex": "4227", + "parentIndex": "4228", "start": "72292" }, "stateMutability": "NONPAYABLE", @@ -75807,16 +75890,16 @@ "visibility": "INTERNAL" }, { - "id": "4229", + "id": "4230", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4229", + "scope": "4230", "src": { "column": "34", "end": "72317", "length": "14", "line": "2011", - "parentIndex": "4226", + "parentIndex": "4227", "start": "72304" }, "stateMutability": "MUTABLE", @@ -75826,7 +75909,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4230", + "id": "4231", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75834,7 +75917,7 @@ "end": "72310", "length": "7", "line": "2011", - "parentIndex": "4229", + "parentIndex": "4230", "start": "72304" }, "typeDescription": { @@ -75850,24 +75933,24 @@ "end": "72317", "length": "26", "line": "2011", - "parentIndex": "4225", + "parentIndex": "4226", "start": "72292" } }, "returnParameters": { - "id": "4231", + "id": "4232", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4232", + "id": "4233", "nodeType": "VARIABLE_DECLARATION", - "scope": "4232", + "scope": "4233", "src": { "column": "74", "end": "72347", "length": "4", "line": "2011", - "parentIndex": "4231", + "parentIndex": "4232", "start": "72344" }, "stateMutability": "MUTABLE", @@ -75877,7 +75960,7 @@ "typeString": "bool" }, "typeName": { - "id": "4233", + "id": "4234", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75885,7 +75968,7 @@ "end": "72347", "length": "4", "line": "2011", - "parentIndex": "4232", + "parentIndex": "4233", "start": "72344" }, "typeDescription": { @@ -75901,18 +75984,18 @@ "end": "72347", "length": "4", "line": "2011", - "parentIndex": "4225", + "parentIndex": "4226", "start": "72344" } }, - "scope": "4108", - "signature": "9d61d234", + "scope": "4109", + "signature": "a9059cbb", "src": { "column": "4", "end": "72646", "length": "373", "line": "2011", - "parentIndex": "4108", + "parentIndex": "4109", "start": "72274" }, "stateMutability": "NONPAYABLE", @@ -75928,7 +76011,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4269", + "id": "4270", "implemented": true, "nodeType": "BLOCK", "src": { @@ -75936,7 +76019,7 @@ "end": "73244", "length": "468", "line": "2029", - "parentIndex": "4258", + "parentIndex": "4259", "start": "72777" }, "statements": [ @@ -75944,11 +76027,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4271" + "4272" ], "declarations": [ { - "id": "4271", + "id": "4272", "mutability": "MUTABLE", "name": "allowed", "nameLocation": { @@ -75956,17 +76039,17 @@ "end": "72801", "length": "7", "line": "2030", - "parentIndex": "4271", + "parentIndex": "4272", "start": "72795" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4269", + "scope": "4270", "src": { "column": "8", "end": "72801", "length": "15", "line": "2030", - "parentIndex": "4270", + "parentIndex": "4271", "start": "72787" }, "storageLocation": "DEFAULT", @@ -75975,7 +76058,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4272", + "id": "4273", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75983,7 +76066,7 @@ "end": "72793", "length": "7", "line": "2030", - "parentIndex": "4271", + "parentIndex": "4272", "start": "72787" }, "typeDescription": { @@ -75994,7 +76077,7 @@ "visibility": "INTERNAL" } ], - "id": "4270", + "id": "4271", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -76004,7 +76087,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4278", + "id": "4279", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -76012,7 +76095,7 @@ "end": "72823", "length": "3", "line": "2030", - "parentIndex": "4277", + "parentIndex": "4278", "start": "72821" }, "typeDescription": { @@ -76021,13 +76104,13 @@ } } }, - "id": "4277", + "id": "4278", "memberLocation": { "column": "46", "end": "72830", "length": "6", "line": "2030", - "parentIndex": "4277", + "parentIndex": "4278", "start": "72825" }, "memberName": "sender", @@ -76037,7 +76120,7 @@ "end": "72830", "length": "10", "line": "2030", - "parentIndex": "4270", + "parentIndex": "4271", "start": "72821" }, "typeDescription": { @@ -76046,23 +76129,23 @@ } } }, - "id": "4273", + "id": "4274", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4276", + "id": "4277", "name": "from", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4276", + "referencedDeclaration": "4277", "src": { "column": "36", "end": "72818", "length": "4", "line": "2030", - "parentIndex": "4274", + "parentIndex": "4275", "start": "72815" }, "typeDescription": { @@ -76071,20 +76154,20 @@ } } }, - "id": "4274", + "id": "4275", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4275", + "id": "4276", "name": "allowance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4145", + "referencedDeclaration": "4146", "src": { "column": "26", "end": "72813", "length": "9", "line": "2030", - "parentIndex": "4274", + "parentIndex": "4275", "start": "72805" }, "typeDescription": { @@ -76099,7 +76182,7 @@ "end": "72819", "length": "15", "line": "2030", - "parentIndex": "4270", + "parentIndex": "4271", "start": "72805" }, "typeDescription": { @@ -76124,7 +76207,7 @@ "end": "72831", "length": "27", "line": "2030", - "parentIndex": "4270", + "parentIndex": "4271", "start": "72805" }, "typeDescription": { @@ -76149,7 +76232,7 @@ "end": "72832", "length": "46", "line": "2030", - "parentIndex": "4269", + "parentIndex": "4270", "start": "72787" } } @@ -76158,27 +76241,27 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "4284", + "id": "4285", "nodeType": "BLOCK", "src": {} }, "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4280", + "id": "4281", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4281", + "id": "4282", "name": "allowed", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4270", + "referencedDeclaration": "4271", "src": { "column": "12", "end": "72889", "length": "7", "line": "2032", - "parentIndex": "4280", + "parentIndex": "4281", "start": "72883" }, "typeDescription": { @@ -76195,7 +76278,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MetaType", "value": { - "id": "4283", + "id": "4284", "name": "type", "nodeType": "IDENTIFIER", "src": { @@ -76203,7 +76286,7 @@ "end": "72906", "length": "13", "line": "2032", - "parentIndex": "4282", + "parentIndex": "4283", "start": "72894" }, "typeDescription": { @@ -76211,13 +76294,13 @@ } } }, - "id": "4282", + "id": "4283", "memberLocation": { "column": "37", "end": "72910", "length": "3", "line": "2032", - "parentIndex": "4282", + "parentIndex": "4283", "start": "72908" }, "memberName": "max", @@ -76227,7 +76310,7 @@ "end": "72910", "length": "17", "line": "2032", - "parentIndex": "4280", + "parentIndex": "4281", "start": "72894" }, "typeDescription": { @@ -76240,7 +76323,7 @@ "end": "72910", "length": "28", "line": "2032", - "parentIndex": "4279", + "parentIndex": "4280", "start": "72883" }, "typeDescription": { @@ -76249,13 +76332,13 @@ } } }, - "id": "4279", + "id": "4280", "nodeType": "IF_STATEMENT", "src": { "end": "72959", "length": "81", "line": "2032", - "parentIndex": "4269", + "parentIndex": "4270", "start": "72879" } } @@ -76266,23 +76349,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4286", + "id": "4287", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4289", + "id": "4290", "name": "from", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4289", + "referencedDeclaration": "4290", "src": { "column": "18", "end": "72983", "length": "4", "line": "2034", - "parentIndex": "4287", + "parentIndex": "4288", "start": "72980" }, "typeDescription": { @@ -76291,20 +76374,20 @@ } } }, - "id": "4287", + "id": "4288", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4288", + "id": "4289", "name": "balanceOf", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4140", + "referencedDeclaration": "4141", "src": { "column": "8", "end": "72978", "length": "9", "line": "2034", - "parentIndex": "4287", + "parentIndex": "4288", "start": "72970" }, "typeDescription": { @@ -76319,7 +76402,7 @@ "end": "72984", "length": "15", "line": "2034", - "parentIndex": "4286", + "parentIndex": "4287", "start": "72970" }, "typeDescription": { @@ -76343,16 +76426,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4290", + "id": "4291", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4290", + "referencedDeclaration": "4291", "src": { "column": "27", "end": "72994", "length": "6", "line": "2034", - "parentIndex": "4286", + "parentIndex": "4287", "start": "72989" }, "typeDescription": { @@ -76366,7 +76449,7 @@ "end": "72994", "length": "25", "line": "2034", - "parentIndex": "4285", + "parentIndex": "4286", "start": "72970" }, "typeDescription": { @@ -76375,14 +76458,14 @@ } } }, - "id": "4285", + "id": "4286", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "72995", "length": "26", "line": "2034", - "parentIndex": "4269", + "parentIndex": "4270", "start": "72970" }, "typeDescription": { @@ -76398,16 +76481,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4292", + "id": "4293", "name": "from", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4292", + "referencedDeclaration": "4293", "src": { "column": "22", "end": "73202", "length": "4", "line": "2042", - "parentIndex": "4291", + "parentIndex": "4292", "start": "73199" }, "typeDescription": { @@ -76419,16 +76502,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4293", + "id": "4294", "name": "to", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4293", + "referencedDeclaration": "4294", "src": { "column": "28", "end": "73206", "length": "2", "line": "2042", - "parentIndex": "4291", + "parentIndex": "4292", "start": "73205" }, "typeDescription": { @@ -76440,16 +76523,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4294", + "id": "4295", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4294", + "referencedDeclaration": "4295", "src": { "column": "32", "end": "73214", "length": "6", "line": "2042", - "parentIndex": "4291", + "parentIndex": "4292", "start": "73209" }, "typeDescription": { @@ -76462,32 +76545,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4295", + "id": "4296", "name": "Transfer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4110", + "referencedDeclaration": "4111", "src": { "column": "13", "end": "73197", "length": "8", "line": "2042", - "parentIndex": "4291", + "parentIndex": "4292", "start": "73190" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264111", "typeString": "event ERC20.Transfer" } } }, - "id": "4291", + "id": "4292", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "73216", "length": "32", "line": "2042", - "parentIndex": "4258", + "parentIndex": "4259", "start": "73185" } } @@ -76499,7 +76582,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "4297", + "id": "4298", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -76508,7 +76591,7 @@ "end": "73237", "length": "4", "line": "2044", - "parentIndex": "4296", + "parentIndex": "4297", "start": "73234" }, "typeDescription": { @@ -76518,15 +76601,15 @@ "value": "true" } }, - "functionReturnParameters": "4258", - "id": "4296", + "functionReturnParameters": "4259", + "id": "4297", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "73238", "length": "12", "line": "2044", - "parentIndex": "4258", + "parentIndex": "4259", "start": "73227" }, "typeDescription": { @@ -76538,14 +76621,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "4298", + "id": "4299", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", "end": "73174", "length": "58", "line": "2038", - "parentIndex": "4108", + "parentIndex": "4109", "start": "73117" }, "statements": [ @@ -76555,23 +76638,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4300", + "id": "4301", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4303", + "id": "4304", "name": "to", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4303", + "referencedDeclaration": "4304", "src": { "column": "22", "end": "73152", "length": "2", "line": "2039", - "parentIndex": "4301", + "parentIndex": "4302", "start": "73151" }, "typeDescription": { @@ -76580,20 +76663,20 @@ } } }, - "id": "4301", + "id": "4302", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4302", + "id": "4303", "name": "balanceOf", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4140", + "referencedDeclaration": "4141", "src": { "column": "12", "end": "73149", "length": "9", "line": "2039", - "parentIndex": "4301", + "parentIndex": "4302", "start": "73141" }, "typeDescription": { @@ -76608,7 +76691,7 @@ "end": "73153", "length": "13", "line": "2039", - "parentIndex": "4300", + "parentIndex": "4301", "start": "73141" }, "typeDescription": { @@ -76632,16 +76715,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4304", + "id": "4305", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4304", + "referencedDeclaration": "4305", "src": { "column": "29", "end": "73163", "length": "6", "line": "2039", - "parentIndex": "4300", + "parentIndex": "4301", "start": "73158" }, "typeDescription": { @@ -76655,7 +76738,7 @@ "end": "73163", "length": "23", "line": "2039", - "parentIndex": "4299", + "parentIndex": "4300", "start": "73141" }, "typeDescription": { @@ -76664,14 +76747,14 @@ } } }, - "id": "4299", + "id": "4300", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "73164", "length": "24", "line": "2039", - "parentIndex": "4298", + "parentIndex": "4299", "start": "73141" }, "typeDescription": { @@ -76685,7 +76768,7 @@ } ] }, - "id": "4258", + "id": "4259", "kind": "KIND_FUNCTION", "name": "transferFrom", "nameLocation": { @@ -76693,25 +76776,25 @@ "end": "72673", "length": "12", "line": "2025", - "parentIndex": "4258", + "parentIndex": "4259", "start": "72662" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4259", + "id": "4260", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4260", + "id": "4261", "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4261", "src": { "column": "8", "end": "72695", "length": "12", "line": "2026", - "parentIndex": "4259", + "parentIndex": "4260", "start": "72684" }, "stateMutability": "NONPAYABLE", @@ -76721,7 +76804,7 @@ "typeString": "address" }, "typeName": { - "id": "4261", + "id": "4262", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76729,7 +76812,7 @@ "end": "72690", "length": "7", "line": "2026", - "parentIndex": "4260", + "parentIndex": "4261", "start": "72684" }, "stateMutability": "NONPAYABLE", @@ -76741,16 +76824,16 @@ "visibility": "INTERNAL" }, { - "id": "4262", + "id": "4263", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4262", + "scope": "4263", "src": { "column": "8", "end": "72715", "length": "10", "line": "2027", - "parentIndex": "4259", + "parentIndex": "4260", "start": "72706" }, "stateMutability": "NONPAYABLE", @@ -76760,7 +76843,7 @@ "typeString": "address" }, "typeName": { - "id": "4263", + "id": "4264", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76768,7 +76851,7 @@ "end": "72712", "length": "7", "line": "2027", - "parentIndex": "4262", + "parentIndex": "4263", "start": "72706" }, "stateMutability": "NONPAYABLE", @@ -76780,16 +76863,16 @@ "visibility": "INTERNAL" }, { - "id": "4264", + "id": "4265", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4264", + "scope": "4265", "src": { "column": "8", "end": "72739", "length": "14", "line": "2028", - "parentIndex": "4259", + "parentIndex": "4260", "start": "72726" }, "stateMutability": "MUTABLE", @@ -76799,7 +76882,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4265", + "id": "4266", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76807,7 +76890,7 @@ "end": "72732", "length": "7", "line": "2028", - "parentIndex": "4264", + "parentIndex": "4265", "start": "72726" }, "typeDescription": { @@ -76823,24 +76906,24 @@ "end": "72739", "length": "56", "line": "2026", - "parentIndex": "4258", + "parentIndex": "4259", "start": "72684" } }, "returnParameters": { - "id": "4266", + "id": "4267", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4267", + "id": "4268", "nodeType": "VARIABLE_DECLARATION", - "scope": "4267", + "scope": "4268", "src": { "column": "30", "end": "72774", "length": "4", "line": "2029", - "parentIndex": "4266", + "parentIndex": "4267", "start": "72771" }, "stateMutability": "MUTABLE", @@ -76850,7 +76933,7 @@ "typeString": "bool" }, "typeName": { - "id": "4268", + "id": "4269", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76858,7 +76941,7 @@ "end": "72774", "length": "4", "line": "2029", - "parentIndex": "4267", + "parentIndex": "4268", "start": "72771" }, "typeDescription": { @@ -76874,18 +76957,18 @@ "end": "72774", "length": "4", "line": "2029", - "parentIndex": "4258", + "parentIndex": "4259", "start": "72771" } }, - "scope": "4108", - "signature": "b642fe57", + "scope": "4109", + "signature": "23b872dd", "src": { "column": "4", "end": "73244", "length": "592", "line": "2025", - "parentIndex": "4108", + "parentIndex": "4109", "start": "72653" }, "stateMutability": "NONPAYABLE", @@ -76901,7 +76984,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4323", + "id": "4324", "implemented": true, "nodeType": "BLOCK", "src": { @@ -76909,7 +76992,7 @@ "end": "74916", "length": "1294", "line": "2059", - "parentIndex": "4306", + "parentIndex": "4307", "start": "73623" }, "statements": [ @@ -76930,20 +77013,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4326", + "id": "4327", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4327", + "id": "4328", "name": "deadline", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4327", + "referencedDeclaration": "4328", "src": { "column": "16", "end": "73648", "length": "8", "line": "2060", - "parentIndex": "4326", + "parentIndex": "4327", "start": "73641" }, "typeDescription": { @@ -76960,7 +77043,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4329", + "id": "4330", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -76968,7 +77051,7 @@ "end": "73657", "length": "5", "line": "2060", - "parentIndex": "4328", + "parentIndex": "4329", "start": "73653" }, "typeDescription": { @@ -76977,13 +77060,13 @@ } } }, - "id": "4328", + "id": "4329", "memberLocation": { "column": "34", "end": "73667", "length": "9", "line": "2060", - "parentIndex": "4328", + "parentIndex": "4329", "start": "73659" }, "memberName": "timestamp", @@ -76993,7 +77076,7 @@ "end": "73667", "length": "15", "line": "2060", - "parentIndex": "4326", + "parentIndex": "4327", "start": "73653" }, "typeDescription": { @@ -77007,7 +77090,7 @@ "end": "73667", "length": "27", "line": "2060", - "parentIndex": "4324", + "parentIndex": "4325", "start": "73641" }, "typeDescription": { @@ -77026,7 +77109,7 @@ } ], "hexValue": "5045524d49545f444541444c494e455f45585049524544", - "id": "4330", + "id": "4331", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -77035,7 +77118,7 @@ "end": "73694", "length": "25", "line": "2060", - "parentIndex": "4324", + "parentIndex": "4325", "start": "73670" }, "typeDescription": { @@ -77049,7 +77132,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4325", + "id": "4326", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -77058,7 +77141,7 @@ "end": "73639", "length": "7", "line": "2060", - "parentIndex": "4324", + "parentIndex": "4325", "start": "73633" }, "typeDescription": { @@ -77067,7 +77150,7 @@ } } }, - "id": "4324", + "id": "4325", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77075,7 +77158,7 @@ "end": "73695", "length": "63", "line": "2060", - "parentIndex": "4323", + "parentIndex": "4324", "start": "73633" }, "typeDescription": { @@ -77091,16 +77174,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4332", + "id": "4333", "name": "owner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4332", + "referencedDeclaration": "4333", "src": { "column": "22", "end": "74892", "length": "5", "line": "2094", - "parentIndex": "4331", + "parentIndex": "4332", "start": "74888" }, "typeDescription": { @@ -77112,16 +77195,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4333", + "id": "4334", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4333", + "referencedDeclaration": "4334", "src": { "column": "29", "end": "74901", "length": "7", "line": "2094", - "parentIndex": "4331", + "parentIndex": "4332", "start": "74895" }, "typeDescription": { @@ -77133,16 +77216,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4334", + "id": "4335", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4334", + "referencedDeclaration": "4335", "src": { "column": "38", "end": "74908", "length": "5", "line": "2094", - "parentIndex": "4331", + "parentIndex": "4332", "start": "74904" }, "typeDescription": { @@ -77155,32 +77238,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4335", + "id": "4336", "name": "Approval", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4119", + "referencedDeclaration": "4120", "src": { "column": "13", "end": "74886", "length": "8", "line": "2094", - "parentIndex": "4331", + "parentIndex": "4332", "start": "74879" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC20_Approval_\u00264119", + "typeIdentifier": "t_event\u0026_ERC20_Approval_\u00264120", "typeString": "event ERC20.Approval" } } }, - "id": "4331", + "id": "4332", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "74910", "length": "37", "line": "2094", - "parentIndex": "4306", + "parentIndex": "4307", "start": "74874" } } @@ -77188,14 +77271,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "4336", + "id": "4337", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", "end": "74863", "length": "1027", "line": "2064", - "parentIndex": "4108", + "parentIndex": "4109", "start": "73837" }, "statements": [ @@ -77203,11 +77286,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4338" + "4339" ], "declarations": [ { - "id": "4338", + "id": "4339", "mutability": "MUTABLE", "name": "recoveredAddress", "nameLocation": { @@ -77215,17 +77298,17 @@ "end": "73884", "length": "16", "line": "2065", - "parentIndex": "4338", + "parentIndex": "4339", "start": "73869" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4336", + "scope": "4337", "src": { "column": "12", "end": "73884", "length": "24", "line": "2065", - "parentIndex": "4337", + "parentIndex": "4338", "start": "73861" }, "storageLocation": "DEFAULT", @@ -77234,7 +77317,7 @@ "typeString": "address" }, "typeName": { - "id": "4339", + "id": "4340", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -77242,7 +77325,7 @@ "end": "73867", "length": "7", "line": "2065", - "parentIndex": "4338", + "parentIndex": "4339", "start": "73861" }, "stateMutability": "NONPAYABLE", @@ -77254,7 +77337,7 @@ "visibility": "INTERNAL" } ], - "id": "4337", + "id": "4338", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -77309,7 +77392,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "5c7831395c783031", - "id": "4347", + "id": "4348", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -77318,7 +77401,7 @@ "end": "73997", "length": "10", "line": "2068", - "parentIndex": "4344", + "parentIndex": "4345", "start": "73988" }, "typeDescription": { @@ -77334,7 +77417,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4349", + "id": "4350", "name": "DOMAIN_SEPARATOR", "nodeType": "IDENTIFIER", "src": { @@ -77342,7 +77425,7 @@ "end": "74039", "length": "16", "line": "2069", - "parentIndex": "4348", + "parentIndex": "4349", "start": "74024" }, "typeDescription": { @@ -77351,7 +77434,7 @@ } } }, - "id": "4348", + "id": "4349", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77359,7 +77442,7 @@ "end": "74041", "length": "18", "line": "2069", - "parentIndex": "4344", + "parentIndex": "4345", "start": "74024" }, "typeDescription": { @@ -77422,7 +77505,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529", - "id": "4357", + "id": "4358", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -77431,7 +77514,7 @@ "end": "74281", "length": "84", "line": "2073", - "parentIndex": "4355", + "parentIndex": "4356", "start": "74198" }, "typeDescription": { @@ -77445,7 +77528,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4356", + "id": "4357", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -77453,7 +77536,7 @@ "end": "74159", "length": "9", "line": "2072", - "parentIndex": "4355", + "parentIndex": "4356", "start": "74151" }, "typeDescription": { @@ -77462,7 +77545,7 @@ } } }, - "id": "4355", + "id": "4356", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77470,7 +77553,7 @@ "end": "74315", "length": "165", "line": "2072", - "parentIndex": "4352", + "parentIndex": "4353", "start": "74151" }, "typeDescription": { @@ -77488,16 +77571,16 @@ "typeString": "function(string memory)" } ], - "id": "4358", + "id": "4359", "name": "owner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4358", + "referencedDeclaration": "4359", "src": { "column": "32", "end": "74354", "length": "5", "line": "2075", - "parentIndex": "4352", + "parentIndex": "4353", "start": "74350" }, "typeDescription": { @@ -77519,16 +77602,16 @@ "typeString": "address" } ], - "id": "4359", + "id": "4360", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4359", + "referencedDeclaration": "4360", "src": { "column": "32", "end": "74395", "length": "7", "line": "2076", - "parentIndex": "4352", + "parentIndex": "4353", "start": "74389" }, "typeDescription": { @@ -77554,16 +77637,16 @@ "typeString": "address" } ], - "id": "4360", + "id": "4361", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4360", + "referencedDeclaration": "4361", "src": { "column": "32", "end": "74434", "length": "5", "line": "2077", - "parentIndex": "4352", + "parentIndex": "4353", "start": "74430" }, "typeDescription": { @@ -77581,16 +77664,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4364", + "id": "4365", "name": "owner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4364", + "referencedDeclaration": "4365", "src": { "column": "39", "end": "74480", "length": "5", "line": "2078", - "parentIndex": "4362", + "parentIndex": "4363", "start": "74476" }, "typeDescription": { @@ -77599,20 +77682,20 @@ } } }, - "id": "4362", + "id": "4363", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4363", + "id": "4364", "name": "nonces", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4159", + "referencedDeclaration": "4160", "src": { "column": "32", "end": "74474", "length": "6", "line": "2078", - "parentIndex": "4362", + "parentIndex": "4363", "start": "74469" }, "typeDescription": { @@ -77627,7 +77710,7 @@ "end": "74481", "length": "13", "line": "2078", - "parentIndex": "4361", + "parentIndex": "4362", "start": "74469" }, "typeDescription": { @@ -77646,7 +77729,7 @@ ] } }, - "id": "4361", + "id": "4362", "kind": "KIND_UNARY_SUFFIX", "nodeType": "UNARY_OPERATION", "operator": "INCREMENT", @@ -77655,7 +77738,7 @@ "end": "74483", "length": "15", "line": "2078", - "parentIndex": "4306", + "parentIndex": "4307", "start": "74469" }, "typeDescription": { @@ -77689,16 +77772,16 @@ "typeString": "index[mapping(address=\u003euint256):address]" } ], - "id": "4365", + "id": "4366", "name": "deadline", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4365", + "referencedDeclaration": "4366", "src": { "column": "32", "end": "74525", "length": "8", "line": "2079", - "parentIndex": "4352", + "parentIndex": "4353", "start": "74518" }, "typeDescription": { @@ -77714,7 +77797,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4354", + "id": "4355", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -77722,7 +77805,7 @@ "end": "74109", "length": "3", "line": "2071", - "parentIndex": "4353", + "parentIndex": "4354", "start": "74107" }, "typeDescription": { @@ -77731,13 +77814,13 @@ } } }, - "id": "4353", + "id": "4354", "memberLocation": { "column": "32", "end": "74116", "length": "6", "line": "2071", - "parentIndex": "4353", + "parentIndex": "4354", "start": "74111" }, "memberName": "encode", @@ -77747,7 +77830,7 @@ "end": "74116", "length": "10", "line": "2071", - "parentIndex": "4352", + "parentIndex": "4353", "start": "74107" }, "typeDescription": { @@ -77756,7 +77839,7 @@ } } }, - "id": "4352", + "id": "4353", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77764,7 +77847,7 @@ "end": "74555", "length": "449", "line": "2071", - "parentIndex": "4350", + "parentIndex": "4351", "start": "74107" }, "typeDescription": { @@ -77777,7 +77860,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4351", + "id": "4352", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -77785,7 +77868,7 @@ "end": "74076", "length": "9", "line": "2070", - "parentIndex": "4350", + "parentIndex": "4351", "start": "74068" }, "typeDescription": { @@ -77794,7 +77877,7 @@ } } }, - "id": "4350", + "id": "4351", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77802,7 +77885,7 @@ "end": "74581", "length": "514", "line": "2070", - "parentIndex": "4344", + "parentIndex": "4345", "start": "74068" }, "typeDescription": { @@ -77818,7 +77901,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4346", + "id": "4347", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -77826,7 +77909,7 @@ "end": "73948", "length": "3", "line": "2067", - "parentIndex": "4345", + "parentIndex": "4346", "start": "73946" }, "typeDescription": { @@ -77835,13 +77918,13 @@ } } }, - "id": "4345", + "id": "4346", "memberLocation": { "column": "24", "end": "73961", "length": "12", "line": "2067", - "parentIndex": "4345", + "parentIndex": "4346", "start": "73950" }, "memberName": "encodePacked", @@ -77851,7 +77934,7 @@ "end": "73961", "length": "16", "line": "2067", - "parentIndex": "4344", + "parentIndex": "4345", "start": "73946" }, "typeDescription": { @@ -77860,7 +77943,7 @@ } } }, - "id": "4344", + "id": "4345", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77868,7 +77951,7 @@ "end": "74603", "length": "658", "line": "2067", - "parentIndex": "4342", + "parentIndex": "4343", "start": "73946" }, "typeDescription": { @@ -77881,7 +77964,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4343", + "id": "4344", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -77889,7 +77972,7 @@ "end": "73923", "length": "9", "line": "2066", - "parentIndex": "4342", + "parentIndex": "4343", "start": "73915" }, "typeDescription": { @@ -77898,7 +77981,7 @@ } } }, - "id": "4342", + "id": "4343", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77906,7 +77989,7 @@ "end": "74621", "length": "707", "line": "2066", - "parentIndex": "4340", + "parentIndex": "4341", "start": "73915" }, "typeDescription": { @@ -77924,16 +78007,16 @@ "typeString": "function(function(string memory,function(),function(function(function(string memory),address,address,uint256,index[mapping(address=\u003euint256):address],uint256))))" } ], - "id": "4366", + "id": "4367", "name": "v", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4366", + "referencedDeclaration": "4367", "src": { "column": "16", "end": "74640", "length": "1", "line": "2084", - "parentIndex": "4340", + "parentIndex": "4341", "start": "74640" }, "typeDescription": { @@ -77955,16 +78038,16 @@ "typeString": "uint8" } ], - "id": "4367", + "id": "4368", "name": "r", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4367", + "referencedDeclaration": "4368", "src": { "column": "16", "end": "74659", "length": "1", "line": "2085", - "parentIndex": "4340", + "parentIndex": "4341", "start": "74659" }, "typeDescription": { @@ -77990,16 +78073,16 @@ "typeString": "bytes32" } ], - "id": "4368", + "id": "4369", "name": "s", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4368", + "referencedDeclaration": "4369", "src": { "column": "16", "end": "74678", "length": "1", "line": "2086", - "parentIndex": "4340", + "parentIndex": "4341", "start": "74678" }, "typeDescription": { @@ -78012,7 +78095,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4341", + "id": "4342", "name": "ecrecover", "nodeType": "IDENTIFIER", "src": { @@ -78020,7 +78103,7 @@ "end": "73896", "length": "9", "line": "2065", - "parentIndex": "4340", + "parentIndex": "4341", "start": "73888" }, "typeDescription": { @@ -78029,7 +78112,7 @@ } } }, - "id": "4340", + "id": "4341", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -78037,7 +78120,7 @@ "end": "74692", "length": "805", "line": "2065", - "parentIndex": "4337", + "parentIndex": "4338", "start": "73888" }, "typeDescription": { @@ -78052,7 +78135,7 @@ "end": "74693", "length": "833", "line": "2065", - "parentIndex": "4336", + "parentIndex": "4337", "start": "73861" } } @@ -78078,20 +78161,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4373", + "id": "4374", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4374", + "id": "4375", "name": "recoveredAddress", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4337", + "referencedDeclaration": "4338", "src": { "column": "20", "end": "74731", "length": "16", "line": "2089", - "parentIndex": "4373", + "parentIndex": "4374", "start": "74716" }, "typeDescription": { @@ -78116,7 +78199,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "4378", + "id": "4379", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -78125,7 +78208,7 @@ "end": "74744", "length": "1", "line": "2089", - "parentIndex": "4375", + "parentIndex": "4376", "start": "74744" }, "typeDescription": { @@ -78145,7 +78228,7 @@ "typeString": "address" } ], - "id": "4376", + "id": "4377", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -78153,7 +78236,7 @@ "end": "74742", "length": "7", "line": "2089", - "parentIndex": "4375", + "parentIndex": "4376", "start": "74736" }, "typeDescription": { @@ -78161,7 +78244,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "4377", + "id": "4378", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -78169,7 +78252,7 @@ "end": "74742", "length": "7", "line": "2089", - "parentIndex": "4376", + "parentIndex": "4377", "start": "74736" }, "stateMutability": "NONPAYABLE", @@ -78180,7 +78263,7 @@ } } }, - "id": "4375", + "id": "4376", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -78188,7 +78271,7 @@ "end": "74745", "length": "10", "line": "2089", - "parentIndex": "4373", + "parentIndex": "4374", "start": "74736" }, "typeDescription": { @@ -78202,7 +78285,7 @@ "end": "74745", "length": "30", "line": "2089", - "parentIndex": "4372", + "parentIndex": "4373", "start": "74716" }, "typeDescription": { @@ -78214,20 +78297,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4379", + "id": "4380", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4380", + "id": "4381", "name": "recoveredAddress", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4337", + "referencedDeclaration": "4338", "src": { "column": "54", "end": "74765", "length": "16", "line": "2089", - "parentIndex": "4379", + "parentIndex": "4380", "start": "74750" }, "typeDescription": { @@ -78241,16 +78324,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4381", + "id": "4382", "name": "owner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4381", + "referencedDeclaration": "4382", "src": { "column": "74", "end": "74774", "length": "5", "line": "2089", - "parentIndex": "4379", + "parentIndex": "4380", "start": "74770" }, "typeDescription": { @@ -78264,7 +78347,7 @@ "end": "74774", "length": "25", "line": "2089", - "parentIndex": "4372", + "parentIndex": "4373", "start": "74750" }, "typeDescription": { @@ -78274,14 +78357,14 @@ } } ], - "id": "4372", + "id": "4373", "nodeType": "AND_OPERATION", "src": { "column": "20", "end": "74774", "length": "59", "line": "2089", - "parentIndex": "4369", + "parentIndex": "4370", "start": "74716" }, "typeDescriptions": [ @@ -78306,7 +78389,7 @@ } ], "hexValue": "494e56414c49445f5349474e4552", - "id": "4382", + "id": "4383", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -78315,7 +78398,7 @@ "end": "74792", "length": "16", "line": "2089", - "parentIndex": "4369", + "parentIndex": "4370", "start": "74777" }, "typeDescription": { @@ -78329,7 +78412,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4370", + "id": "4371", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -78338,7 +78421,7 @@ "end": "74714", "length": "7", "line": "2089", - "parentIndex": "4369", + "parentIndex": "4370", "start": "74708" }, "typeDescription": { @@ -78347,7 +78430,7 @@ } } }, - "id": "4369", + "id": "4370", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -78355,7 +78438,7 @@ "end": "74793", "length": "86", "line": "2089", - "parentIndex": "4336", + "parentIndex": "4337", "start": "74708" }, "typeDescription": { @@ -78370,23 +78453,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4384", + "id": "4385", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4389", + "id": "4390", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4389", + "referencedDeclaration": "4390", "src": { "column": "40", "end": "74843", "length": "7", "line": "2091", - "parentIndex": "4385", + "parentIndex": "4386", "start": "74837" }, "typeDescription": { @@ -78395,23 +78478,23 @@ } } }, - "id": "4385", + "id": "4386", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4388", + "id": "4389", "name": "recoveredAddress", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4337", + "referencedDeclaration": "4338", "src": { "column": "22", "end": "74834", "length": "16", "line": "2091", - "parentIndex": "4386", + "parentIndex": "4387", "start": "74819" }, "typeDescription": { @@ -78420,20 +78503,20 @@ } } }, - "id": "4386", + "id": "4387", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4387", + "id": "4388", "name": "allowance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4145", + "referencedDeclaration": "4146", "src": { "column": "12", "end": "74817", "length": "9", "line": "2091", - "parentIndex": "4386", + "parentIndex": "4387", "start": "74809" }, "typeDescription": { @@ -78448,7 +78531,7 @@ "end": "74835", "length": "27", "line": "2091", - "parentIndex": "4385", + "parentIndex": "4386", "start": "74809" }, "typeDescription": { @@ -78473,7 +78556,7 @@ "end": "74844", "length": "36", "line": "2091", - "parentIndex": "4384", + "parentIndex": "4385", "start": "74809" }, "typeDescription": { @@ -78497,16 +78580,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4390", + "id": "4391", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4390", + "referencedDeclaration": "4391", "src": { "column": "51", "end": "74852", "length": "5", "line": "2091", - "parentIndex": "4384", + "parentIndex": "4385", "start": "74848" }, "typeDescription": { @@ -78520,7 +78603,7 @@ "end": "74852", "length": "44", "line": "2091", - "parentIndex": "4383", + "parentIndex": "4384", "start": "74809" }, "typeDescription": { @@ -78529,14 +78612,14 @@ } } }, - "id": "4383", + "id": "4384", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "74853", "length": "45", "line": "2091", - "parentIndex": "4336", + "parentIndex": "4337", "start": "74809" }, "typeDescription": { @@ -78550,7 +78633,7 @@ } ] }, - "id": "4306", + "id": "4307", "kind": "KIND_FUNCTION", "name": "permit", "nameLocation": { @@ -78558,25 +78641,25 @@ "end": "73448", "length": "6", "line": "2051", - "parentIndex": "4306", + "parentIndex": "4307", "start": "73443" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4307", + "id": "4308", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4308", + "id": "4309", "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "4308", + "scope": "4309", "src": { "column": "8", "end": "73471", "length": "13", "line": "2052", - "parentIndex": "4307", + "parentIndex": "4308", "start": "73459" }, "stateMutability": "NONPAYABLE", @@ -78586,7 +78669,7 @@ "typeString": "address" }, "typeName": { - "id": "4309", + "id": "4310", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -78594,7 +78677,7 @@ "end": "73465", "length": "7", "line": "2052", - "parentIndex": "4308", + "parentIndex": "4309", "start": "73459" }, "stateMutability": "NONPAYABLE", @@ -78606,16 +78689,16 @@ "visibility": "INTERNAL" }, { - "id": "4310", + "id": "4311", "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "4310", + "scope": "4311", "src": { "column": "8", "end": "73496", "length": "15", "line": "2053", - "parentIndex": "4307", + "parentIndex": "4308", "start": "73482" }, "stateMutability": "NONPAYABLE", @@ -78625,7 +78708,7 @@ "typeString": "address" }, "typeName": { - "id": "4311", + "id": "4312", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -78633,7 +78716,7 @@ "end": "73488", "length": "7", "line": "2053", - "parentIndex": "4310", + "parentIndex": "4311", "start": "73482" }, "stateMutability": "NONPAYABLE", @@ -78645,16 +78728,16 @@ "visibility": "INTERNAL" }, { - "id": "4312", + "id": "4313", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "4312", + "scope": "4313", "src": { "column": "8", "end": "73519", "length": "13", "line": "2054", - "parentIndex": "4307", + "parentIndex": "4308", "start": "73507" }, "stateMutability": "MUTABLE", @@ -78664,7 +78747,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4313", + "id": "4314", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -78672,7 +78755,7 @@ "end": "73513", "length": "7", "line": "2054", - "parentIndex": "4312", + "parentIndex": "4313", "start": "73507" }, "typeDescription": { @@ -78683,16 +78766,16 @@ "visibility": "INTERNAL" }, { - "id": "4314", + "id": "4315", "name": "deadline", "nodeType": "VARIABLE_DECLARATION", - "scope": "4314", + "scope": "4315", "src": { "column": "8", "end": "73545", "length": "16", "line": "2055", - "parentIndex": "4307", + "parentIndex": "4308", "start": "73530" }, "stateMutability": "MUTABLE", @@ -78702,7 +78785,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4315", + "id": "4316", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -78710,7 +78793,7 @@ "end": "73536", "length": "7", "line": "2055", - "parentIndex": "4314", + "parentIndex": "4315", "start": "73530" }, "typeDescription": { @@ -78721,16 +78804,16 @@ "visibility": "INTERNAL" }, { - "id": "4316", + "id": "4317", "name": "v", "nodeType": "VARIABLE_DECLARATION", - "scope": "4316", + "scope": "4317", "src": { "column": "8", "end": "73562", "length": "7", "line": "2056", - "parentIndex": "4307", + "parentIndex": "4308", "start": "73556" }, "stateMutability": "MUTABLE", @@ -78740,7 +78823,7 @@ "typeString": "uint8" }, "typeName": { - "id": "4317", + "id": "4318", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -78748,7 +78831,7 @@ "end": "73560", "length": "5", "line": "2056", - "parentIndex": "4316", + "parentIndex": "4317", "start": "73556" }, "typeDescription": { @@ -78759,16 +78842,16 @@ "visibility": "INTERNAL" }, { - "id": "4318", + "id": "4319", "name": "r", "nodeType": "VARIABLE_DECLARATION", - "scope": "4318", + "scope": "4319", "src": { "column": "8", "end": "73581", "length": "9", "line": "2057", - "parentIndex": "4307", + "parentIndex": "4308", "start": "73573" }, "stateMutability": "MUTABLE", @@ -78778,7 +78861,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4319", + "id": "4320", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -78786,7 +78869,7 @@ "end": "73579", "length": "7", "line": "2057", - "parentIndex": "4318", + "parentIndex": "4319", "start": "73573" }, "typeDescription": { @@ -78797,16 +78880,16 @@ "visibility": "INTERNAL" }, { - "id": "4320", + "id": "4321", "name": "s", "nodeType": "VARIABLE_DECLARATION", - "scope": "4320", + "scope": "4321", "src": { "column": "8", "end": "73600", "length": "9", "line": "2058", - "parentIndex": "4307", + "parentIndex": "4308", "start": "73592" }, "stateMutability": "MUTABLE", @@ -78816,7 +78899,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4321", + "id": "4322", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -78824,7 +78907,7 @@ "end": "73598", "length": "7", "line": "2058", - "parentIndex": "4320", + "parentIndex": "4321", "start": "73592" }, "typeDescription": { @@ -78840,30 +78923,30 @@ "end": "73600", "length": "142", "line": "2052", - "parentIndex": "4306", + "parentIndex": "4307", "start": "73459" } }, "returnParameters": { - "id": "4322", + "id": "4323", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "74916", "length": "1483", "line": "2051", - "parentIndex": "4306", + "parentIndex": "4307", "start": "73434" } }, - "scope": "4108", - "signature": "f8e100d5", + "scope": "4109", + "signature": "d505accf", "src": { "column": "4", "end": "74916", "length": "1483", "line": "2051", - "parentIndex": "4108", + "parentIndex": "4109", "start": "73434" }, "stateMutability": "NONPAYABLE", @@ -78879,7 +78962,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4399", + "id": "4400", "implemented": true, "nodeType": "BLOCK", "src": { @@ -78887,7 +78970,7 @@ "end": "75099", "length": "111", "line": "2097", - "parentIndex": "4392", + "parentIndex": "4393", "start": "74989" }, "statements": [ @@ -78901,14 +78984,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4403", + "id": "4404", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4405", + "id": "4406", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -78916,7 +78999,7 @@ "end": "75010", "length": "5", "line": "2098", - "parentIndex": "4404", + "parentIndex": "4405", "start": "75006" }, "typeDescription": { @@ -78925,13 +79008,13 @@ } } }, - "id": "4404", + "id": "4405", "memberLocation": { "column": "21", "end": "75018", "length": "7", "line": "2098", - "parentIndex": "4404", + "parentIndex": "4405", "start": "75012" }, "memberName": "chainid", @@ -78941,7 +79024,7 @@ "end": "75018", "length": "13", "line": "2098", - "parentIndex": "4403", + "parentIndex": "4404", "start": "75006" }, "typeDescription": { @@ -78955,16 +79038,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4406", + "id": "4407", "name": "INITIAL_CHAIN_ID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4153", + "referencedDeclaration": "4154", "src": { "column": "32", "end": "75038", "length": "16", "line": "2098", - "parentIndex": "4403", + "parentIndex": "4404", "start": "75023" }, "typeDescription": { @@ -78978,7 +79061,7 @@ "end": "75038", "length": "33", "line": "2098", - "parentIndex": "4402", + "parentIndex": "4403", "start": "75006" }, "typeDescription": { @@ -78990,16 +79073,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4407", + "id": "4408", "name": "INITIAL_DOMAIN_SEPARATOR", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4156", + "referencedDeclaration": "4157", "src": { "column": "51", "end": "75065", "length": "24", "line": "2098", - "parentIndex": "4402", + "parentIndex": "4403", "start": "75042" }, "typeDescription": { @@ -79014,7 +79097,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4409", + "id": "4410", "name": "computeDomainSeparator", "nodeType": "IDENTIFIER", "src": { @@ -79022,7 +79105,7 @@ "end": "75090", "length": "22", "line": "2098", - "parentIndex": "4408", + "parentIndex": "4409", "start": "75069" }, "typeDescription": { @@ -79031,7 +79114,7 @@ } } }, - "id": "4408", + "id": "4409", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -79039,7 +79122,7 @@ "end": "75092", "length": "24", "line": "2098", - "parentIndex": "4402", + "parentIndex": "4403", "start": "75069" }, "typeDescription": { @@ -79049,14 +79132,14 @@ } } ], - "id": "4402", + "id": "4403", "nodeType": "CONDITIONAL_EXPRESSION", "src": { "column": "15", "end": "75092", "length": "87", "line": "2098", - "parentIndex": "4400", + "parentIndex": "4401", "start": "75006" }, "typeDescriptions": [ @@ -79075,15 +79158,15 @@ ] } }, - "functionReturnParameters": "4392", - "id": "4400", + "functionReturnParameters": "4393", + "id": "4401", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "75093", "length": "95", "line": "2098", - "parentIndex": "4392", + "parentIndex": "4393", "start": "74999" }, "typeDescription": { @@ -79094,7 +79177,7 @@ } ] }, - "id": "4392", + "id": "4393", "implemented": true, "kind": "KIND_FUNCTION", "name": "DOMAIN_SEPARATOR", @@ -79103,24 +79186,24 @@ "end": "74947", "length": "16", "line": "2097", - "parentIndex": "4392", + "parentIndex": "4393", "start": "74932" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4393", + "id": "4394", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4394", + "id": "4395", "nodeType": "VARIABLE_DECLARATION", - "scope": "4394", + "scope": "4395", "src": { "column": "61", "end": "74986", "length": "7", "line": "2097", - "parentIndex": "4393", + "parentIndex": "4394", "start": "74980" }, "stateMutability": "MUTABLE", @@ -79130,7 +79213,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4395", + "id": "4396", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -79138,7 +79221,7 @@ "end": "74986", "length": "7", "line": "2097", - "parentIndex": "4394", + "parentIndex": "4395", "start": "74980" }, "typeDescription": { @@ -79154,24 +79237,24 @@ "end": "74986", "length": "7", "line": "2097", - "parentIndex": "4392", + "parentIndex": "4393", "start": "74980" } }, "returnParameters": { - "id": "4396", + "id": "4397", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4397", + "id": "4398", "nodeType": "VARIABLE_DECLARATION", - "scope": "4397", + "scope": "4398", "src": { "column": "61", "end": "74986", "length": "7", "line": "2097", - "parentIndex": "4396", + "parentIndex": "4397", "start": "74980" }, "stateMutability": "MUTABLE", @@ -79181,7 +79264,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4398", + "id": "4399", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -79189,7 +79272,7 @@ "end": "74986", "length": "7", "line": "2097", - "parentIndex": "4397", + "parentIndex": "4398", "start": "74980" }, "typeDescription": { @@ -79205,18 +79288,18 @@ "end": "74986", "length": "7", "line": "2097", - "parentIndex": "4392", + "parentIndex": "4393", "start": "74980" } }, - "scope": "4108", + "scope": "4109", "signature": "d075954a", "src": { "column": "4", "end": "75099", "length": "177", "line": "2097", - "parentIndex": "4108", + "parentIndex": "4109", "start": "74923" }, "stateMutability": "VIEW", @@ -79232,7 +79315,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4418", + "id": "4419", "implemented": true, "nodeType": "BLOCK", "src": { @@ -79240,7 +79323,7 @@ "end": "75551", "length": "372", "line": "2101", - "parentIndex": "4411", + "parentIndex": "4412", "start": "75180" }, "statements": [ @@ -79297,7 +79380,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", - "id": "4427", + "id": "4428", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -79306,7 +79389,7 @@ "end": "75361", "length": "84", "line": "2105", - "parentIndex": "4425", + "parentIndex": "4426", "start": "75278" }, "typeDescription": { @@ -79320,7 +79403,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4426", + "id": "4427", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -79328,7 +79411,7 @@ "end": "75276", "length": "9", "line": "2105", - "parentIndex": "4425", + "parentIndex": "4426", "start": "75268" }, "typeDescription": { @@ -79337,7 +79420,7 @@ } } }, - "id": "4425", + "id": "4426", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -79345,7 +79428,7 @@ "end": "75362", "length": "95", "line": "2105", - "parentIndex": "4422", + "parentIndex": "4423", "start": "75268" }, "typeDescription": { @@ -79377,7 +79460,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4433", + "id": "4434", "name": "name", "nodeType": "IDENTIFIER", "src": { @@ -79385,7 +79468,7 @@ "end": "75404", "length": "4", "line": "2106", - "parentIndex": "4430", + "parentIndex": "4431", "start": "75401" }, "typeDescription": { @@ -79404,7 +79487,7 @@ "typeString": "bytes" } ], - "id": "4431", + "id": "4432", "name": "bytes", "nodeType": "IDENTIFIER", "src": { @@ -79412,7 +79495,7 @@ "end": "75399", "length": "5", "line": "2106", - "parentIndex": "4430", + "parentIndex": "4431", "start": "75395" }, "typeDescription": { @@ -79420,7 +79503,7 @@ "typeString": "function(bytes)" }, "typeName": { - "id": "4432", + "id": "4433", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -79428,7 +79511,7 @@ "end": "75399", "length": "5", "line": "2106", - "parentIndex": "4431", + "parentIndex": "4432", "start": "75395" }, "typeDescription": { @@ -79438,7 +79521,7 @@ } } }, - "id": "4430", + "id": "4431", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -79446,7 +79529,7 @@ "end": "75405", "length": "11", "line": "2106", - "parentIndex": "4428", + "parentIndex": "4429", "start": "75395" }, "typeDescription": { @@ -79459,7 +79542,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4429", + "id": "4430", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -79467,7 +79550,7 @@ "end": "75393", "length": "9", "line": "2106", - "parentIndex": "4428", + "parentIndex": "4429", "start": "75385" }, "typeDescription": { @@ -79476,7 +79559,7 @@ } } }, - "id": "4428", + "id": "4429", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -79484,7 +79567,7 @@ "end": "75406", "length": "22", "line": "2106", - "parentIndex": "4422", + "parentIndex": "4423", "start": "75385" }, "typeDescription": { @@ -79507,7 +79590,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "4436", + "id": "4437", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -79516,7 +79599,7 @@ "end": "75441", "length": "3", "line": "2107", - "parentIndex": "4434", + "parentIndex": "4435", "start": "75439" }, "typeDescription": { @@ -79530,7 +79613,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4435", + "id": "4436", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -79538,7 +79621,7 @@ "end": "75437", "length": "9", "line": "2107", - "parentIndex": "4434", + "parentIndex": "4435", "start": "75429" }, "typeDescription": { @@ -79547,7 +79630,7 @@ } } }, - "id": "4434", + "id": "4435", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -79555,7 +79638,7 @@ "end": "75442", "length": "14", "line": "2107", - "parentIndex": "4422", + "parentIndex": "4423", "start": "75429" }, "typeDescription": { @@ -79584,7 +79667,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4438", + "id": "4439", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -79592,7 +79675,7 @@ "end": "75469", "length": "5", "line": "2108", - "parentIndex": "4437", + "parentIndex": "4438", "start": "75465" }, "typeDescription": { @@ -79601,13 +79684,13 @@ } } }, - "id": "4437", + "id": "4438", "memberLocation": { "column": "26", "end": "75477", "length": "7", "line": "2108", - "parentIndex": "4437", + "parentIndex": "4438", "start": "75471" }, "memberName": "chainid", @@ -79617,7 +79700,7 @@ "end": "75477", "length": "13", "line": "2108", - "parentIndex": "4422", + "parentIndex": "4423", "start": "75465" }, "typeDescription": { @@ -79631,7 +79714,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } ], @@ -79639,7 +79722,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4442", + "id": "4443", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -79647,11 +79730,11 @@ "end": "75511", "length": "4", "line": "2109", - "parentIndex": "4439", + "parentIndex": "4440", "start": "75508" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -79666,7 +79749,7 @@ "typeString": "address" } ], - "id": "4440", + "id": "4441", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -79674,7 +79757,7 @@ "end": "75506", "length": "7", "line": "2109", - "parentIndex": "4439", + "parentIndex": "4440", "start": "75500" }, "typeDescription": { @@ -79682,7 +79765,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "4441", + "id": "4442", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -79690,7 +79773,7 @@ "end": "75506", "length": "7", "line": "2109", - "parentIndex": "4440", + "parentIndex": "4441", "start": "75500" }, "stateMutability": "NONPAYABLE", @@ -79701,7 +79784,7 @@ } } }, - "id": "4439", + "id": "4440", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -79709,7 +79792,7 @@ "end": "75512", "length": "13", "line": "2109", - "parentIndex": "4422", + "parentIndex": "4423", "start": "75500" }, "typeDescription": { @@ -79725,7 +79808,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4424", + "id": "4425", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -79733,7 +79816,7 @@ "end": "75238", "length": "3", "line": "2104", - "parentIndex": "4423", + "parentIndex": "4424", "start": "75236" }, "typeDescription": { @@ -79742,13 +79825,13 @@ } } }, - "id": "4423", + "id": "4424", "memberLocation": { "column": "20", "end": "75245", "length": "6", "line": "2104", - "parentIndex": "4423", + "parentIndex": "4424", "start": "75240" }, "memberName": "encode", @@ -79758,7 +79841,7 @@ "end": "75245", "length": "10", "line": "2104", - "parentIndex": "4422", + "parentIndex": "4423", "start": "75236" }, "typeDescription": { @@ -79767,7 +79850,7 @@ } } }, - "id": "4422", + "id": "4423", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -79775,7 +79858,7 @@ "end": "75530", "length": "295", "line": "2104", - "parentIndex": "4420", + "parentIndex": "4421", "start": "75236" }, "typeDescription": { @@ -79788,7 +79871,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4421", + "id": "4422", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -79796,7 +79879,7 @@ "end": "75217", "length": "9", "line": "2103", - "parentIndex": "4420", + "parentIndex": "4421", "start": "75209" }, "typeDescription": { @@ -79805,7 +79888,7 @@ } } }, - "id": "4420", + "id": "4421", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -79813,7 +79896,7 @@ "end": "75544", "length": "336", "line": "2103", - "parentIndex": "4419", + "parentIndex": "4420", "start": "75209" }, "typeDescription": { @@ -79822,15 +79905,15 @@ } } }, - "functionReturnParameters": "4411", - "id": "4419", + "functionReturnParameters": "4412", + "id": "4420", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "75545", "length": "356", "line": "2102", - "parentIndex": "4411", + "parentIndex": "4412", "start": "75190" }, "typeDescription": { @@ -79841,7 +79924,7 @@ } ] }, - "id": "4411", + "id": "4412", "implemented": true, "kind": "KIND_FUNCTION", "name": "computeDomainSeparator", @@ -79850,24 +79933,24 @@ "end": "75136", "length": "22", "line": "2101", - "parentIndex": "4411", + "parentIndex": "4412", "start": "75115" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4412", + "id": "4413", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4413", + "id": "4414", "nodeType": "VARIABLE_DECLARATION", - "scope": "4413", + "scope": "4414", "src": { "column": "69", "end": "75177", "length": "7", "line": "2101", - "parentIndex": "4412", + "parentIndex": "4413", "start": "75171" }, "stateMutability": "MUTABLE", @@ -79877,7 +79960,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4414", + "id": "4415", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -79885,7 +79968,7 @@ "end": "75177", "length": "7", "line": "2101", - "parentIndex": "4413", + "parentIndex": "4414", "start": "75171" }, "typeDescription": { @@ -79901,24 +79984,24 @@ "end": "75177", "length": "7", "line": "2101", - "parentIndex": "4411", + "parentIndex": "4412", "start": "75171" } }, "returnParameters": { - "id": "4415", + "id": "4416", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4416", + "id": "4417", "nodeType": "VARIABLE_DECLARATION", - "scope": "4416", + "scope": "4417", "src": { "column": "69", "end": "75177", "length": "7", "line": "2101", - "parentIndex": "4415", + "parentIndex": "4416", "start": "75171" }, "stateMutability": "MUTABLE", @@ -79928,7 +80011,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4417", + "id": "4418", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -79936,7 +80019,7 @@ "end": "75177", "length": "7", "line": "2101", - "parentIndex": "4416", + "parentIndex": "4417", "start": "75171" }, "typeDescription": { @@ -79952,18 +80035,18 @@ "end": "75177", "length": "7", "line": "2101", - "parentIndex": "4411", + "parentIndex": "4412", "start": "75171" } }, - "scope": "4108", + "scope": "4109", "signature": "11c9ac30", "src": { "column": "4", "end": "75551", "length": "446", "line": "2101", - "parentIndex": "4108", + "parentIndex": "4109", "start": "75106" }, "stateMutability": "VIEW", @@ -79979,7 +80062,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4451", + "id": "4452", "implemented": true, "nodeType": "BLOCK", "src": { @@ -79987,7 +80070,7 @@ "end": "76070", "length": "265", "line": "2118", - "parentIndex": "4444", + "parentIndex": "4445", "start": "75806" }, "statements": [ @@ -79997,20 +80080,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4453", + "id": "4454", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4454", + "id": "4455", "name": "totalSupply", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4137", + "referencedDeclaration": "4138", "src": { "column": "8", "end": "75826", "length": "11", "line": "2119", - "parentIndex": "4453", + "parentIndex": "4454", "start": "75816" }, "typeDescription": { @@ -80024,16 +80107,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4455", + "id": "4456", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4455", + "referencedDeclaration": "4456", "src": { "column": "23", "end": "75836", "length": "6", "line": "2119", - "parentIndex": "4453", + "parentIndex": "4454", "start": "75831" }, "typeDescription": { @@ -80047,7 +80130,7 @@ "end": "75836", "length": "21", "line": "2119", - "parentIndex": "4452", + "parentIndex": "4453", "start": "75816" }, "typeDescription": { @@ -80056,14 +80139,14 @@ } } }, - "id": "4452", + "id": "4453", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "75837", "length": "22", "line": "2119", - "parentIndex": "4451", + "parentIndex": "4452", "start": "75816" }, "typeDescription": { @@ -80090,7 +80173,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "4460", + "id": "4461", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -80099,7 +80182,7 @@ "end": "76049", "length": "1", "line": "2127", - "parentIndex": "4457", + "parentIndex": "4458", "start": "76049" }, "typeDescription": { @@ -80119,7 +80202,7 @@ "typeString": "address" } ], - "id": "4458", + "id": "4459", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -80127,7 +80210,7 @@ "end": "76047", "length": "7", "line": "2127", - "parentIndex": "4457", + "parentIndex": "4458", "start": "76041" }, "typeDescription": { @@ -80135,7 +80218,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "4459", + "id": "4460", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -80143,7 +80226,7 @@ "end": "76047", "length": "7", "line": "2127", - "parentIndex": "4458", + "parentIndex": "4459", "start": "76041" }, "stateMutability": "NONPAYABLE", @@ -80154,7 +80237,7 @@ } } }, - "id": "4457", + "id": "4458", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -80162,7 +80245,7 @@ "end": "76050", "length": "10", "line": "2127", - "parentIndex": "4456", + "parentIndex": "4457", "start": "76041" }, "typeDescription": { @@ -80174,16 +80257,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4461", + "id": "4462", "name": "to", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4461", + "referencedDeclaration": "4462", "src": { "column": "34", "end": "76054", "length": "2", "line": "2127", - "parentIndex": "4456", + "parentIndex": "4457", "start": "76053" }, "typeDescription": { @@ -80195,16 +80278,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4462", + "id": "4463", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4462", + "referencedDeclaration": "4463", "src": { "column": "38", "end": "76062", "length": "6", "line": "2127", - "parentIndex": "4456", + "parentIndex": "4457", "start": "76057" }, "typeDescription": { @@ -80217,32 +80300,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4463", + "id": "4464", "name": "Transfer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4110", + "referencedDeclaration": "4111", "src": { "column": "13", "end": "76039", "length": "8", "line": "2127", - "parentIndex": "4456", + "parentIndex": "4457", "start": "76032" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264111", "typeString": "event ERC20.Transfer" } } }, - "id": "4456", + "id": "4457", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "76064", "length": "38", "line": "2127", - "parentIndex": "4444", + "parentIndex": "4445", "start": "76027" } } @@ -80250,14 +80333,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "4464", + "id": "4465", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", "end": "76016", "length": "58", "line": "2123", - "parentIndex": "4108", + "parentIndex": "4109", "start": "75959" }, "statements": [ @@ -80267,23 +80350,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4466", + "id": "4467", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4469", + "id": "4470", "name": "to", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4469", + "referencedDeclaration": "4470", "src": { "column": "22", "end": "75994", "length": "2", "line": "2124", - "parentIndex": "4467", + "parentIndex": "4468", "start": "75993" }, "typeDescription": { @@ -80292,20 +80375,20 @@ } } }, - "id": "4467", + "id": "4468", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4468", + "id": "4469", "name": "balanceOf", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4140", + "referencedDeclaration": "4141", "src": { "column": "12", "end": "75991", "length": "9", "line": "2124", - "parentIndex": "4467", + "parentIndex": "4468", "start": "75983" }, "typeDescription": { @@ -80320,7 +80403,7 @@ "end": "75995", "length": "13", "line": "2124", - "parentIndex": "4466", + "parentIndex": "4467", "start": "75983" }, "typeDescription": { @@ -80344,16 +80427,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4470", + "id": "4471", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4470", + "referencedDeclaration": "4471", "src": { "column": "29", "end": "76005", "length": "6", "line": "2124", - "parentIndex": "4466", + "parentIndex": "4467", "start": "76000" }, "typeDescription": { @@ -80367,7 +80450,7 @@ "end": "76005", "length": "23", "line": "2124", - "parentIndex": "4465", + "parentIndex": "4466", "start": "75983" }, "typeDescription": { @@ -80376,14 +80459,14 @@ } } }, - "id": "4465", + "id": "4466", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "76006", "length": "24", "line": "2124", - "parentIndex": "4464", + "parentIndex": "4465", "start": "75983" }, "typeDescription": { @@ -80397,7 +80480,7 @@ } ] }, - "id": "4444", + "id": "4445", "kind": "KIND_FUNCTION", "name": "_mint", "nameLocation": { @@ -80405,25 +80488,25 @@ "end": "75759", "length": "5", "line": "2118", - "parentIndex": "4444", + "parentIndex": "4445", "start": "75755" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4445", + "id": "4446", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4446", + "id": "4447", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4446", + "scope": "4447", "src": { "column": "19", "end": "75770", "length": "10", "line": "2118", - "parentIndex": "4445", + "parentIndex": "4446", "start": "75761" }, "stateMutability": "NONPAYABLE", @@ -80433,7 +80516,7 @@ "typeString": "address" }, "typeName": { - "id": "4447", + "id": "4448", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -80441,7 +80524,7 @@ "end": "75767", "length": "7", "line": "2118", - "parentIndex": "4446", + "parentIndex": "4447", "start": "75761" }, "stateMutability": "NONPAYABLE", @@ -80453,16 +80536,16 @@ "visibility": "INTERNAL" }, { - "id": "4448", + "id": "4449", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4448", + "scope": "4449", "src": { "column": "31", "end": "75786", "length": "14", "line": "2118", - "parentIndex": "4445", + "parentIndex": "4446", "start": "75773" }, "stateMutability": "MUTABLE", @@ -80472,7 +80555,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4449", + "id": "4450", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -80480,7 +80563,7 @@ "end": "75779", "length": "7", "line": "2118", - "parentIndex": "4448", + "parentIndex": "4449", "start": "75773" }, "typeDescription": { @@ -80496,30 +80579,30 @@ "end": "75786", "length": "26", "line": "2118", - "parentIndex": "4444", + "parentIndex": "4445", "start": "75761" } }, "returnParameters": { - "id": "4450", + "id": "4451", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "76070", "length": "325", "line": "2118", - "parentIndex": "4444", + "parentIndex": "4445", "start": "75746" } }, - "scope": "4108", - "signature": "7dbf8efb", + "scope": "4109", + "signature": "4e6ec247", "src": { "column": "4", "end": "76070", "length": "325", "line": "2118", - "parentIndex": "4108", + "parentIndex": "4109", "start": "75746" }, "stateMutability": "NONPAYABLE", @@ -80535,7 +80618,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4479", + "id": "4480", "implemented": true, "nodeType": "BLOCK", "src": { @@ -80543,7 +80626,7 @@ "end": "76404", "length": "266", "line": "2130", - "parentIndex": "4472", + "parentIndex": "4473", "start": "76139" }, "statements": [ @@ -80553,23 +80636,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4481", + "id": "4482", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4484", + "id": "4485", "name": "from", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4484", + "referencedDeclaration": "4485", "src": { "column": "18", "end": "76162", "length": "4", "line": "2131", - "parentIndex": "4482", + "parentIndex": "4483", "start": "76159" }, "typeDescription": { @@ -80578,20 +80661,20 @@ } } }, - "id": "4482", + "id": "4483", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4483", + "id": "4484", "name": "balanceOf", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4140", + "referencedDeclaration": "4141", "src": { "column": "8", "end": "76157", "length": "9", "line": "2131", - "parentIndex": "4482", + "parentIndex": "4483", "start": "76149" }, "typeDescription": { @@ -80606,7 +80689,7 @@ "end": "76163", "length": "15", "line": "2131", - "parentIndex": "4481", + "parentIndex": "4482", "start": "76149" }, "typeDescription": { @@ -80630,16 +80713,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4485", + "id": "4486", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4485", + "referencedDeclaration": "4486", "src": { "column": "27", "end": "76173", "length": "6", "line": "2131", - "parentIndex": "4481", + "parentIndex": "4482", "start": "76168" }, "typeDescription": { @@ -80653,7 +80736,7 @@ "end": "76173", "length": "25", "line": "2131", - "parentIndex": "4480", + "parentIndex": "4481", "start": "76149" }, "typeDescription": { @@ -80662,14 +80745,14 @@ } } }, - "id": "4480", + "id": "4481", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "76174", "length": "26", "line": "2131", - "parentIndex": "4479", + "parentIndex": "4480", "start": "76149" }, "typeDescription": { @@ -80685,16 +80768,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4487", + "id": "4488", "name": "from", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4487", + "referencedDeclaration": "4488", "src": { "column": "22", "end": "76376", "length": "4", "line": "2139", - "parentIndex": "4486", + "parentIndex": "4487", "start": "76373" }, "typeDescription": { @@ -80717,7 +80800,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "4491", + "id": "4492", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -80726,7 +80809,7 @@ "end": "76387", "length": "1", "line": "2139", - "parentIndex": "4488", + "parentIndex": "4489", "start": "76387" }, "typeDescription": { @@ -80746,7 +80829,7 @@ "typeString": "address" } ], - "id": "4489", + "id": "4490", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -80754,7 +80837,7 @@ "end": "76385", "length": "7", "line": "2139", - "parentIndex": "4488", + "parentIndex": "4489", "start": "76379" }, "typeDescription": { @@ -80762,7 +80845,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "4490", + "id": "4491", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -80770,7 +80853,7 @@ "end": "76385", "length": "7", "line": "2139", - "parentIndex": "4489", + "parentIndex": "4490", "start": "76379" }, "stateMutability": "NONPAYABLE", @@ -80781,7 +80864,7 @@ } } }, - "id": "4488", + "id": "4489", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -80789,7 +80872,7 @@ "end": "76388", "length": "10", "line": "2139", - "parentIndex": "4486", + "parentIndex": "4487", "start": "76379" }, "typeDescription": { @@ -80801,16 +80884,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4492", + "id": "4493", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4492", + "referencedDeclaration": "4493", "src": { "column": "40", "end": "76396", "length": "6", "line": "2139", - "parentIndex": "4486", + "parentIndex": "4487", "start": "76391" }, "typeDescription": { @@ -80823,32 +80906,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4493", + "id": "4494", "name": "Transfer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4110", + "referencedDeclaration": "4111", "src": { "column": "13", "end": "76371", "length": "8", "line": "2139", - "parentIndex": "4486", + "parentIndex": "4487", "start": "76364" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264110", + "typeIdentifier": "t_event\u0026_ERC20_Transfer_\u00264111", "typeString": "event ERC20.Transfer" } } }, - "id": "4486", + "id": "4487", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "76398", "length": "40", "line": "2139", - "parentIndex": "4472", + "parentIndex": "4473", "start": "76359" } } @@ -80856,14 +80939,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "4494", + "id": "4495", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", "end": "76348", "length": "56", "line": "2135", - "parentIndex": "4108", + "parentIndex": "4109", "start": "76293" }, "statements": [ @@ -80873,20 +80956,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4496", + "id": "4497", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4497", + "id": "4498", "name": "totalSupply", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4137", + "referencedDeclaration": "4138", "src": { "column": "12", "end": "76327", "length": "11", "line": "2136", - "parentIndex": "4496", + "parentIndex": "4497", "start": "76317" }, "typeDescription": { @@ -80900,16 +80983,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4498", + "id": "4499", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4498", + "referencedDeclaration": "4499", "src": { "column": "27", "end": "76337", "length": "6", "line": "2136", - "parentIndex": "4496", + "parentIndex": "4497", "start": "76332" }, "typeDescription": { @@ -80923,7 +81006,7 @@ "end": "76337", "length": "21", "line": "2136", - "parentIndex": "4495", + "parentIndex": "4496", "start": "76317" }, "typeDescription": { @@ -80932,14 +81015,14 @@ } } }, - "id": "4495", + "id": "4496", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "76338", "length": "22", "line": "2136", - "parentIndex": "4494", + "parentIndex": "4495", "start": "76317" }, "typeDescription": { @@ -80953,7 +81036,7 @@ } ] }, - "id": "4472", + "id": "4473", "kind": "KIND_FUNCTION", "name": "_burn", "nameLocation": { @@ -80961,25 +81044,25 @@ "end": "76090", "length": "5", "line": "2130", - "parentIndex": "4472", + "parentIndex": "4473", "start": "76086" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4473", + "id": "4474", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4474", + "id": "4475", "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "4474", + "scope": "4475", "src": { "column": "19", "end": "76103", "length": "12", "line": "2130", - "parentIndex": "4473", + "parentIndex": "4474", "start": "76092" }, "stateMutability": "NONPAYABLE", @@ -80989,7 +81072,7 @@ "typeString": "address" }, "typeName": { - "id": "4475", + "id": "4476", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -80997,7 +81080,7 @@ "end": "76098", "length": "7", "line": "2130", - "parentIndex": "4474", + "parentIndex": "4475", "start": "76092" }, "stateMutability": "NONPAYABLE", @@ -81009,16 +81092,16 @@ "visibility": "INTERNAL" }, { - "id": "4476", + "id": "4477", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4476", + "scope": "4477", "src": { "column": "33", "end": "76119", "length": "14", "line": "2130", - "parentIndex": "4473", + "parentIndex": "4474", "start": "76106" }, "stateMutability": "MUTABLE", @@ -81028,7 +81111,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4477", + "id": "4478", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -81036,7 +81119,7 @@ "end": "76112", "length": "7", "line": "2130", - "parentIndex": "4476", + "parentIndex": "4477", "start": "76106" }, "typeDescription": { @@ -81052,30 +81135,30 @@ "end": "76119", "length": "28", "line": "2130", - "parentIndex": "4472", + "parentIndex": "4473", "start": "76092" } }, "returnParameters": { - "id": "4478", + "id": "4479", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "76404", "length": "328", "line": "2130", - "parentIndex": "4472", + "parentIndex": "4473", "start": "76077" } }, - "scope": "4108", - "signature": "dd1607d7", + "scope": "4109", + "signature": "6161eb18", "src": { "column": "4", "end": "76404", "length": "328", "line": "2130", - "parentIndex": "4108", + "parentIndex": "4109", "start": "76077" }, "stateMutability": "NONPAYABLE", @@ -81092,7 +81175,7 @@ "end": "76406", "length": "6337", "line": "1943", - "parentIndex": "4060", + "parentIndex": "4061", "start": "70070" } } @@ -81108,18 +81191,18 @@ } }, { - "id": 4499, + "id": 4500, "license": "AGPL-3.0-only", "name": "SafeTransferLib", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/SafeTransferLib.sol", "exported_symbols": [ { - "id": 4499, + "id": 4500, "name": "SafeTransferLib", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/SafeTransferLib.sol" }, { - "id": 4060, + "id": 4061, "name": "ERC20", "absolute_path": "ERC20.sol" } @@ -81130,7 +81213,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "4519", + "id": "4520", "literals": [ "pragma", "solidity", @@ -81147,7 +81230,7 @@ "end": "76475", "length": "24", "line": "2145", - "parentIndex": "4499", + "parentIndex": "4500", "start": "76452" }, "text": "pragma solidity \u003e=0.8.0;" @@ -81158,15 +81241,15 @@ "value": { "absolutePath": "ERC20.sol", "file": "./ERC20.sol", - "id": "4548", + "id": "4549", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4499", - "sourceUnit": "4060", + "scope": "4500", + "sourceUnit": "4061", "src": { "end": "76511", "length": "34", "line": "2147", - "parentIndex": "4499", + "parentIndex": "4500", "start": "76478" } } @@ -81175,10 +81258,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "4549", + "id": "4550", "kind": "KIND_LIBRARY", "linearizedBaseContracts": [ - "4549" + "4550" ], "name": "SafeTransferLib", "nameLocation": { @@ -81186,7 +81269,7 @@ "end": "77007", "length": "15", "line": "2153", - "parentIndex": "4549", + "parentIndex": "4550", "start": "76993" }, "nodeType": "CONTRACT_DEFINITION", @@ -81195,7 +81278,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4558", + "id": "4559", "implemented": true, "nodeType": "BLOCK", "src": { @@ -81203,7 +81286,7 @@ "end": "77493", "length": "234", "line": "2158", - "parentIndex": "4551", + "parentIndex": "4552", "start": "77260" }, "statements": [ @@ -81211,11 +81294,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4560" + "4561" ], "declarations": [ { - "id": "4560", + "id": "4561", "mutability": "MUTABLE", "name": "success", "nameLocation": { @@ -81223,17 +81306,17 @@ "end": "77281", "length": "7", "line": "2159", - "parentIndex": "4560", + "parentIndex": "4561", "start": "77275" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4558", + "scope": "4559", "src": { "column": "8", "end": "77281", "length": "12", "line": "2159", - "parentIndex": "4559", + "parentIndex": "4560", "start": "77270" }, "storageLocation": "DEFAULT", @@ -81242,7 +81325,7 @@ "typeString": "bool" }, "typeName": { - "id": "4561", + "id": "4562", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -81250,7 +81333,7 @@ "end": "77273", "length": "4", "line": "2159", - "parentIndex": "4560", + "parentIndex": "4561", "start": "77270" }, "typeDescription": { @@ -81261,14 +81344,14 @@ "visibility": "INTERNAL" } ], - "id": "4559", + "id": "4560", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "77282", "length": "13", "line": "2159", - "parentIndex": "4558", + "parentIndex": "4559", "start": "77270" } } @@ -81277,42 +81360,42 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "4563", + "id": "4564", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "77437", "length": "145", "line": "2161", - "parentIndex": "4562", + "parentIndex": "4563", "start": "77293" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4564", + "id": "4565", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "77427", "length": "46", "line": "2163", - "parentIndex": "4562", + "parentIndex": "4563", "start": "77382" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4565", + "id": "4566", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "77427", "length": "46", "line": "2163", - "parentIndex": "4562", + "parentIndex": "4563", "start": "77382" }, "value": { @@ -81328,7 +81411,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4571", + "id": "4572", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -81336,19 +81419,19 @@ "end": "77400", "length": "3", "line": "2163", - "parentIndex": "4570", + "parentIndex": "4571", "start": "77398" } } }, - "id": "4570", + "id": "4571", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "28", "end": "77402", "length": "5", "line": "2163", - "parentIndex": "4562", + "parentIndex": "4563", "start": "77398" } } @@ -81356,7 +81439,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4572", + "id": "4573", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -81364,7 +81447,7 @@ "end": "77406", "length": "2", "line": "2163", - "parentIndex": "4568", + "parentIndex": "4569", "start": "77405" } } @@ -81372,7 +81455,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4573", + "id": "4574", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -81380,7 +81463,7 @@ "end": "77414", "length": "6", "line": "2163", - "parentIndex": "4568", + "parentIndex": "4569", "start": "77409" } } @@ -81388,7 +81471,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4574", + "id": "4575", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -81396,7 +81479,7 @@ "end": "77417", "length": "1", "line": "2163", - "parentIndex": "4568", + "parentIndex": "4569", "start": "77417" }, "value": "0" @@ -81405,7 +81488,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4575", + "id": "4576", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -81413,7 +81496,7 @@ "end": "77420", "length": "1", "line": "2163", - "parentIndex": "4568", + "parentIndex": "4569", "start": "77420" }, "value": "0" @@ -81422,7 +81505,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4576", + "id": "4577", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -81430,7 +81513,7 @@ "end": "77423", "length": "1", "line": "2163", - "parentIndex": "4568", + "parentIndex": "4569", "start": "77423" }, "value": "0" @@ -81439,7 +81522,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4577", + "id": "4578", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -81447,7 +81530,7 @@ "end": "77426", "length": "1", "line": "2163", - "parentIndex": "4568", + "parentIndex": "4569", "start": "77426" }, "value": "0" @@ -81457,7 +81540,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4569", + "id": "4570", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -81465,31 +81548,31 @@ "end": "77396", "length": "4", "line": "2163", - "parentIndex": "4568", + "parentIndex": "4569", "start": "77393" } } }, - "id": "4568", + "id": "4569", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "77427", "length": "35", "line": "2163", - "parentIndex": "4562", + "parentIndex": "4563", "start": "77393" } } }, - "id": "4567", + "id": "4568", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "77396", "length": "4", "line": "2163", - "parentIndex": "4565", + "parentIndex": "4566", "start": "77393" } } @@ -81498,7 +81581,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4566", + "id": "4567", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -81506,7 +81589,7 @@ "end": "77388", "length": "7", "line": "2163", - "parentIndex": "4565", + "parentIndex": "4566", "start": "77382" } } @@ -81519,14 +81602,14 @@ } ] }, - "id": "4562", + "id": "4563", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "77437", "length": "145", "line": "2161", - "parentIndex": "4558", + "parentIndex": "4559", "start": "77293" } } @@ -81548,16 +81631,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4580", + "id": "4581", "name": "success", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4559", + "referencedDeclaration": "4560", "src": { "column": "16", "end": "77462", "length": "7", "line": "2166", - "parentIndex": "4578", + "parentIndex": "4579", "start": "77456" }, "typeDescription": { @@ -81576,7 +81659,7 @@ } ], "hexValue": "4554485f5452414e534645525f4641494c4544", - "id": "4581", + "id": "4582", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -81585,7 +81668,7 @@ "end": "77485", "length": "21", "line": "2166", - "parentIndex": "4578", + "parentIndex": "4579", "start": "77465" }, "typeDescription": { @@ -81599,7 +81682,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4579", + "id": "4580", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -81608,7 +81691,7 @@ "end": "77454", "length": "7", "line": "2166", - "parentIndex": "4578", + "parentIndex": "4579", "start": "77448" }, "typeDescription": { @@ -81617,7 +81700,7 @@ } } }, - "id": "4578", + "id": "4579", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -81625,7 +81708,7 @@ "end": "77486", "length": "39", "line": "2166", - "parentIndex": "4558", + "parentIndex": "4559", "start": "77448" }, "typeDescription": { @@ -81636,7 +81719,7 @@ } ] }, - "id": "4551", + "id": "4552", "implemented": true, "kind": "KIND_FUNCTION", "name": "safeTransferETH", @@ -81645,25 +81728,25 @@ "end": "77221", "length": "15", "line": "2158", - "parentIndex": "4551", + "parentIndex": "4552", "start": "77207" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4552", + "id": "4553", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4553", + "id": "4554", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4553", + "scope": "4554", "src": { "column": "29", "end": "77232", "length": "10", "line": "2158", - "parentIndex": "4552", + "parentIndex": "4553", "start": "77223" }, "stateMutability": "NONPAYABLE", @@ -81673,7 +81756,7 @@ "typeString": "address" }, "typeName": { - "id": "4554", + "id": "4555", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -81681,7 +81764,7 @@ "end": "77229", "length": "7", "line": "2158", - "parentIndex": "4553", + "parentIndex": "4554", "start": "77223" }, "stateMutability": "NONPAYABLE", @@ -81693,16 +81776,16 @@ "visibility": "INTERNAL" }, { - "id": "4555", + "id": "4556", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4555", + "scope": "4556", "src": { "column": "41", "end": "77248", "length": "14", "line": "2158", - "parentIndex": "4552", + "parentIndex": "4553", "start": "77235" }, "stateMutability": "MUTABLE", @@ -81712,7 +81795,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4556", + "id": "4557", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -81720,7 +81803,7 @@ "end": "77241", "length": "7", "line": "2158", - "parentIndex": "4555", + "parentIndex": "4556", "start": "77235" }, "typeDescription": { @@ -81736,30 +81819,30 @@ "end": "77248", "length": "26", "line": "2158", - "parentIndex": "4551", + "parentIndex": "4552", "start": "77223" } }, "returnParameters": { - "id": "4557", + "id": "4558", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "77493", "length": "296", "line": "2158", - "parentIndex": "4551", + "parentIndex": "4552", "start": "77198" } }, - "scope": "4549", - "signature": "3bf28eb1", + "scope": "4550", + "signature": "7c4368c1", "src": { "column": "4", "end": "77493", "length": "296", "line": "2158", - "parentIndex": "4549", + "parentIndex": "4550", "start": "77198" }, "stateMutability": "NONPAYABLE", @@ -81774,7 +81857,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4595", + "id": "4596", "implemented": true, "nodeType": "BLOCK", "src": { @@ -81782,7 +81865,7 @@ "end": "79256", "length": "1445", "line": "2178", - "parentIndex": "4583", + "parentIndex": "4584", "start": "77812" }, "statements": [ @@ -81790,11 +81873,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4597" + "4598" ], "declarations": [ { - "id": "4597", + "id": "4598", "mutability": "MUTABLE", "name": "success", "nameLocation": { @@ -81802,17 +81885,17 @@ "end": "77833", "length": "7", "line": "2179", - "parentIndex": "4597", + "parentIndex": "4598", "start": "77827" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4595", + "scope": "4596", "src": { "column": "8", "end": "77833", "length": "12", "line": "2179", - "parentIndex": "4596", + "parentIndex": "4597", "start": "77822" }, "storageLocation": "DEFAULT", @@ -81821,7 +81904,7 @@ "typeString": "bool" }, "typeName": { - "id": "4598", + "id": "4599", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -81829,7 +81912,7 @@ "end": "77825", "length": "4", "line": "2179", - "parentIndex": "4597", + "parentIndex": "4598", "start": "77822" }, "typeDescription": { @@ -81840,14 +81923,14 @@ "visibility": "INTERNAL" } ], - "id": "4596", + "id": "4597", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "77834", "length": "13", "line": "2179", - "parentIndex": "4595", + "parentIndex": "4596", "start": "77822" } } @@ -81856,35 +81939,35 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "4600", + "id": "4601", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "79199", "length": "1355", "line": "2181", - "parentIndex": "4599", + "parentIndex": "4600", "start": "77845" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4601", + "id": "4602", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4602", + "id": "4603", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -81892,7 +81975,7 @@ "end": "77953", "length": "36", "line": "2183", - "parentIndex": "4601", + "parentIndex": "4602", "start": "77918" }, "value": { @@ -81906,7 +81989,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4607", + "id": "4608", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -81914,7 +81997,7 @@ "end": "77952", "length": "4", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77949" }, "value": "64" @@ -81924,7 +82007,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4606", + "id": "4607", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -81932,31 +82015,31 @@ "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77943" } } }, - "id": "4605", + "id": "4606", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "77953", "length": "11", "line": "2183", - "parentIndex": "4599", + "parentIndex": "4600", "start": "77943" } } }, - "id": "4604", + "id": "4605", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77943" } } @@ -81965,7 +82048,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4603", + "id": "4604", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -81973,7 +82056,7 @@ "end": "77938", "length": "17", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77922" } } @@ -81988,7 +82071,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4610", + "id": "4611", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -81996,7 +82079,7 @@ "end": "78088", "length": "17", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78072" } } @@ -82005,7 +82088,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x23b872dd00000000000000000000000000000000000000000000000000000000", - "id": "4611", + "id": "4612", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82013,7 +82096,7 @@ "end": "78156", "length": "66", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78091" }, "value": "0" @@ -82023,7 +82106,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4609", + "id": "4610", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82031,19 +82114,19 @@ "end": "78070", "length": "6", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78065" } } }, - "id": "4608", + "id": "4609", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78157", "length": "93", "line": "2186", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78065" } } @@ -82059,7 +82142,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4616", + "id": "4617", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82067,7 +82150,7 @@ "end": "78198", "length": "17", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78182" } } @@ -82075,7 +82158,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4617", + "id": "4618", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82083,7 +82166,7 @@ "end": "78201", "length": "1", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78201" }, "value": "4" @@ -82093,7 +82176,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4615", + "id": "4616", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82101,19 +82184,19 @@ "end": "78180", "length": "3", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78178" } } }, - "id": "4614", + "id": "4615", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78202", "length": "25", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78178" } } @@ -82121,7 +82204,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4618", + "id": "4619", "name": "from", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82129,7 +82212,7 @@ "end": "78208", "length": "4", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78205" } } @@ -82138,7 +82221,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4613", + "id": "4614", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82146,19 +82229,19 @@ "end": "78176", "length": "6", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78171" } } }, - "id": "4612", + "id": "4613", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78209", "length": "39", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78171" } } @@ -82174,7 +82257,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4623", + "id": "4624", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82182,7 +82265,7 @@ "end": "78281", "length": "17", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78265" } } @@ -82190,7 +82273,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4624", + "id": "4625", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82198,7 +82281,7 @@ "end": "78285", "length": "2", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78284" }, "value": "36" @@ -82208,7 +82291,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4622", + "id": "4623", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82216,19 +82299,19 @@ "end": "78263", "length": "3", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78261" } } }, - "id": "4621", + "id": "4622", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78286", "length": "26", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78261" } } @@ -82236,7 +82319,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4625", + "id": "4626", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82244,7 +82327,7 @@ "end": "78290", "length": "2", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78289" } } @@ -82253,7 +82336,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4620", + "id": "4621", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82261,19 +82344,19 @@ "end": "78259", "length": "6", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78254" } } }, - "id": "4619", + "id": "4620", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78291", "length": "38", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78254" } } @@ -82289,7 +82372,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4630", + "id": "4631", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82297,7 +82380,7 @@ "end": "78361", "length": "17", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78345" } } @@ -82305,7 +82388,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4631", + "id": "4632", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82313,7 +82396,7 @@ "end": "78365", "length": "2", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78364" }, "value": "68" @@ -82323,7 +82406,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4629", + "id": "4630", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82331,19 +82414,19 @@ "end": "78343", "length": "3", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78341" } } }, - "id": "4628", + "id": "4629", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78366", "length": "26", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78341" } } @@ -82351,7 +82434,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4632", + "id": "4633", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82359,7 +82442,7 @@ "end": "78374", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78369" } } @@ -82368,7 +82451,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4627", + "id": "4628", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82376,19 +82459,19 @@ "end": "78339", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78334" } } }, - "id": "4626", + "id": "4627", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78375", "length": "42", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78334" } } @@ -82396,14 +82479,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4633", + "id": "4634", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "value": { @@ -82432,7 +82515,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4646", + "id": "4647", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82440,7 +82523,7 @@ "end": "78650", "length": "1", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78650" }, "value": "0" @@ -82450,7 +82533,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4645", + "id": "4646", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82458,19 +82541,19 @@ "end": "78648", "length": "5", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78644" } } }, - "id": "4644", + "id": "4645", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "78651", "length": "8", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78644" } } @@ -82478,7 +82561,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4647", + "id": "4648", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82486,7 +82569,7 @@ "end": "78654", "length": "1", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78654" }, "value": "1" @@ -82496,7 +82579,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4643", + "id": "4644", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82504,19 +82587,19 @@ "end": "78642", "length": "2", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78641" } } }, - "id": "4642", + "id": "4643", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "78655", "length": "15", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78641" } } @@ -82531,7 +82614,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4651", + "id": "4652", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82539,19 +82622,19 @@ "end": "78674", "length": "14", "line": "2194", - "parentIndex": "4650", + "parentIndex": "4651", "start": "78661" } } }, - "id": "4650", + "id": "4651", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "78676", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78661" } } @@ -82559,7 +82642,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4652", + "id": "4653", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82567,7 +82650,7 @@ "end": "78680", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78679" }, "value": "31" @@ -82577,7 +82660,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4649", + "id": "4650", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82585,19 +82668,19 @@ "end": "78659", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78658" } } }, - "id": "4648", + "id": "4649", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "78681", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78658" } } @@ -82606,7 +82689,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4641", + "id": "4642", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82614,19 +82697,19 @@ "end": "78639", "length": "3", "line": "2194", - "parentIndex": "4640", + "parentIndex": "4641", "start": "78637" } } }, - "id": "4640", + "id": "4641", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78682", "length": "46", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78637" } } @@ -82641,7 +82724,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4656", + "id": "4657", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82649,19 +82732,19 @@ "end": "78705", "length": "14", "line": "2194", - "parentIndex": "4655", + "parentIndex": "4656", "start": "78692" } } }, - "id": "4655", + "id": "4656", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "78707", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78692" } } @@ -82670,7 +82753,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4654", + "id": "4655", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82678,19 +82761,19 @@ "end": "78690", "length": "6", "line": "2194", - "parentIndex": "4653", + "parentIndex": "4654", "start": "78685" } } }, - "id": "4653", + "id": "4654", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "78708", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78685" } } @@ -82699,7 +82782,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4639", + "id": "4640", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82707,19 +82790,19 @@ "end": "78635", "length": "2", "line": "2194", - "parentIndex": "4638", + "parentIndex": "4639", "start": "78634" } } }, - "id": "4638", + "id": "4639", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "78709", "length": "76", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78634" } } @@ -82734,7 +82817,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4660", + "id": "4661", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82742,19 +82825,19 @@ "end": "79131", "length": "3", "line": "2199", - "parentIndex": "4659", + "parentIndex": "4660", "start": "79129" } } }, - "id": "4659", + "id": "4660", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "79133", "length": "5", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79129" } } @@ -82762,7 +82845,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4661", + "id": "4662", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82770,7 +82853,7 @@ "end": "79140", "length": "5", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79136" } } @@ -82778,7 +82861,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4662", + "id": "4663", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82786,7 +82869,7 @@ "end": "79143", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79143" }, "value": "0" @@ -82795,7 +82878,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4663", + "id": "4664", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82803,7 +82886,7 @@ "end": "79162", "length": "17", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79146" } } @@ -82811,7 +82894,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4664", + "id": "4665", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82819,7 +82902,7 @@ "end": "79167", "length": "3", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79165" }, "value": "100" @@ -82828,7 +82911,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4665", + "id": "4666", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82836,7 +82919,7 @@ "end": "79170", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79170" }, "value": "0" @@ -82845,7 +82928,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4666", + "id": "4667", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82853,7 +82936,7 @@ "end": "79174", "length": "2", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79173" }, "value": "32" @@ -82863,7 +82946,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4658", + "id": "4659", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82871,19 +82954,19 @@ "end": "79127", "length": "4", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79124" } } }, - "id": "4657", + "id": "4658", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "79175", "length": "52", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79124" } } @@ -82892,7 +82975,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4637", + "id": "4638", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82900,31 +82983,31 @@ "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4636", + "parentIndex": "4637", "start": "78434" } } }, - "id": "4636", + "id": "4637", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "79189", "length": "756", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78434" } } }, - "id": "4635", + "id": "4636", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78434" } } @@ -82933,7 +83016,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4634", + "id": "4635", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -82941,7 +83024,7 @@ "end": "78429", "length": "7", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78423" } } @@ -82955,21 +83038,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4601", + "id": "4602", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4602", + "id": "4603", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -82977,7 +83060,7 @@ "end": "77953", "length": "36", "line": "2183", - "parentIndex": "4601", + "parentIndex": "4602", "start": "77918" }, "value": { @@ -82991,7 +83074,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4607", + "id": "4608", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -82999,7 +83082,7 @@ "end": "77952", "length": "4", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77949" }, "value": "64" @@ -83009,7 +83092,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4606", + "id": "4607", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83017,31 +83100,31 @@ "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77943" } } }, - "id": "4605", + "id": "4606", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "77953", "length": "11", "line": "2183", - "parentIndex": "4599", + "parentIndex": "4600", "start": "77943" } } }, - "id": "4604", + "id": "4605", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77943" } } @@ -83050,7 +83133,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4603", + "id": "4604", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83058,7 +83141,7 @@ "end": "77938", "length": "17", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77922" } } @@ -83073,7 +83156,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4610", + "id": "4611", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83081,7 +83164,7 @@ "end": "78088", "length": "17", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78072" } } @@ -83090,7 +83173,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x23b872dd00000000000000000000000000000000000000000000000000000000", - "id": "4611", + "id": "4612", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83098,7 +83181,7 @@ "end": "78156", "length": "66", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78091" }, "value": "0" @@ -83108,7 +83191,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4609", + "id": "4610", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83116,19 +83199,19 @@ "end": "78070", "length": "6", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78065" } } }, - "id": "4608", + "id": "4609", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78157", "length": "93", "line": "2186", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78065" } } @@ -83144,7 +83227,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4616", + "id": "4617", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83152,7 +83235,7 @@ "end": "78198", "length": "17", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78182" } } @@ -83160,7 +83243,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4617", + "id": "4618", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83168,7 +83251,7 @@ "end": "78201", "length": "1", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78201" }, "value": "4" @@ -83178,7 +83261,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4615", + "id": "4616", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83186,19 +83269,19 @@ "end": "78180", "length": "3", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78178" } } }, - "id": "4614", + "id": "4615", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78202", "length": "25", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78178" } } @@ -83206,7 +83289,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4618", + "id": "4619", "name": "from", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83214,7 +83297,7 @@ "end": "78208", "length": "4", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78205" } } @@ -83223,7 +83306,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4613", + "id": "4614", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83231,19 +83314,19 @@ "end": "78176", "length": "6", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78171" } } }, - "id": "4612", + "id": "4613", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78209", "length": "39", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78171" } } @@ -83259,7 +83342,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4623", + "id": "4624", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83267,7 +83350,7 @@ "end": "78281", "length": "17", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78265" } } @@ -83275,7 +83358,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4624", + "id": "4625", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83283,7 +83366,7 @@ "end": "78285", "length": "2", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78284" }, "value": "36" @@ -83293,7 +83376,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4622", + "id": "4623", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83301,19 +83384,19 @@ "end": "78263", "length": "3", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78261" } } }, - "id": "4621", + "id": "4622", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78286", "length": "26", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78261" } } @@ -83321,7 +83404,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4625", + "id": "4626", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83329,7 +83412,7 @@ "end": "78290", "length": "2", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78289" } } @@ -83338,7 +83421,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4620", + "id": "4621", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83346,19 +83429,19 @@ "end": "78259", "length": "6", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78254" } } }, - "id": "4619", + "id": "4620", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78291", "length": "38", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78254" } } @@ -83374,7 +83457,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4630", + "id": "4631", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83382,7 +83465,7 @@ "end": "78361", "length": "17", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78345" } } @@ -83390,7 +83473,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4631", + "id": "4632", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83398,7 +83481,7 @@ "end": "78365", "length": "2", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78364" }, "value": "68" @@ -83408,7 +83491,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4629", + "id": "4630", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83416,19 +83499,19 @@ "end": "78343", "length": "3", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78341" } } }, - "id": "4628", + "id": "4629", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78366", "length": "26", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78341" } } @@ -83436,7 +83519,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4632", + "id": "4633", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83444,7 +83527,7 @@ "end": "78374", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78369" } } @@ -83453,7 +83536,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4627", + "id": "4628", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83461,19 +83544,19 @@ "end": "78339", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78334" } } }, - "id": "4626", + "id": "4627", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78375", "length": "42", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78334" } } @@ -83481,14 +83564,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4633", + "id": "4634", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "value": { @@ -83517,7 +83600,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4646", + "id": "4647", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83525,7 +83608,7 @@ "end": "78650", "length": "1", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78650" }, "value": "0" @@ -83535,7 +83618,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4645", + "id": "4646", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83543,19 +83626,19 @@ "end": "78648", "length": "5", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78644" } } }, - "id": "4644", + "id": "4645", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "78651", "length": "8", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78644" } } @@ -83563,7 +83646,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4647", + "id": "4648", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83571,7 +83654,7 @@ "end": "78654", "length": "1", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78654" }, "value": "1" @@ -83581,7 +83664,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4643", + "id": "4644", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83589,19 +83672,19 @@ "end": "78642", "length": "2", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78641" } } }, - "id": "4642", + "id": "4643", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "78655", "length": "15", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78641" } } @@ -83616,7 +83699,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4651", + "id": "4652", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83624,19 +83707,19 @@ "end": "78674", "length": "14", "line": "2194", - "parentIndex": "4650", + "parentIndex": "4651", "start": "78661" } } }, - "id": "4650", + "id": "4651", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "78676", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78661" } } @@ -83644,7 +83727,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4652", + "id": "4653", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83652,7 +83735,7 @@ "end": "78680", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78679" }, "value": "31" @@ -83662,7 +83745,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4649", + "id": "4650", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83670,19 +83753,19 @@ "end": "78659", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78658" } } }, - "id": "4648", + "id": "4649", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "78681", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78658" } } @@ -83691,7 +83774,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4641", + "id": "4642", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83699,19 +83782,19 @@ "end": "78639", "length": "3", "line": "2194", - "parentIndex": "4640", + "parentIndex": "4641", "start": "78637" } } }, - "id": "4640", + "id": "4641", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78682", "length": "46", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78637" } } @@ -83726,7 +83809,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4656", + "id": "4657", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83734,19 +83817,19 @@ "end": "78705", "length": "14", "line": "2194", - "parentIndex": "4655", + "parentIndex": "4656", "start": "78692" } } }, - "id": "4655", + "id": "4656", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "78707", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78692" } } @@ -83755,7 +83838,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4654", + "id": "4655", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83763,19 +83846,19 @@ "end": "78690", "length": "6", "line": "2194", - "parentIndex": "4653", + "parentIndex": "4654", "start": "78685" } } }, - "id": "4653", + "id": "4654", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "78708", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78685" } } @@ -83784,7 +83867,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4639", + "id": "4640", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83792,19 +83875,19 @@ "end": "78635", "length": "2", "line": "2194", - "parentIndex": "4638", + "parentIndex": "4639", "start": "78634" } } }, - "id": "4638", + "id": "4639", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "78709", "length": "76", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78634" } } @@ -83819,7 +83902,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4660", + "id": "4661", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83827,19 +83910,19 @@ "end": "79131", "length": "3", "line": "2199", - "parentIndex": "4659", + "parentIndex": "4660", "start": "79129" } } }, - "id": "4659", + "id": "4660", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "79133", "length": "5", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79129" } } @@ -83847,7 +83930,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4661", + "id": "4662", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83855,7 +83938,7 @@ "end": "79140", "length": "5", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79136" } } @@ -83863,7 +83946,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4662", + "id": "4663", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83871,7 +83954,7 @@ "end": "79143", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79143" }, "value": "0" @@ -83880,7 +83963,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4663", + "id": "4664", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83888,7 +83971,7 @@ "end": "79162", "length": "17", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79146" } } @@ -83896,7 +83979,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4664", + "id": "4665", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83904,7 +83987,7 @@ "end": "79167", "length": "3", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79165" }, "value": "100" @@ -83913,7 +83996,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4665", + "id": "4666", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83921,7 +84004,7 @@ "end": "79170", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79170" }, "value": "0" @@ -83930,7 +84013,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4666", + "id": "4667", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -83938,7 +84021,7 @@ "end": "79174", "length": "2", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79173" }, "value": "32" @@ -83948,7 +84031,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4658", + "id": "4659", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83956,19 +84039,19 @@ "end": "79127", "length": "4", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79124" } } }, - "id": "4657", + "id": "4658", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "79175", "length": "52", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79124" } } @@ -83977,7 +84060,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4637", + "id": "4638", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -83985,31 +84068,31 @@ "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4636", + "parentIndex": "4637", "start": "78434" } } }, - "id": "4636", + "id": "4637", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "79189", "length": "756", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78434" } } }, - "id": "4635", + "id": "4636", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78434" } } @@ -84018,7 +84101,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4634", + "id": "4635", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84026,7 +84109,7 @@ "end": "78429", "length": "7", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78423" } } @@ -84040,21 +84123,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4601", + "id": "4602", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4602", + "id": "4603", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -84062,7 +84145,7 @@ "end": "77953", "length": "36", "line": "2183", - "parentIndex": "4601", + "parentIndex": "4602", "start": "77918" }, "value": { @@ -84076,7 +84159,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4607", + "id": "4608", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84084,7 +84167,7 @@ "end": "77952", "length": "4", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77949" }, "value": "64" @@ -84094,7 +84177,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4606", + "id": "4607", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84102,31 +84185,31 @@ "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77943" } } }, - "id": "4605", + "id": "4606", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "77953", "length": "11", "line": "2183", - "parentIndex": "4599", + "parentIndex": "4600", "start": "77943" } } }, - "id": "4604", + "id": "4605", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77943" } } @@ -84135,7 +84218,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4603", + "id": "4604", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84143,7 +84226,7 @@ "end": "77938", "length": "17", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77922" } } @@ -84158,7 +84241,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4610", + "id": "4611", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84166,7 +84249,7 @@ "end": "78088", "length": "17", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78072" } } @@ -84175,7 +84258,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x23b872dd00000000000000000000000000000000000000000000000000000000", - "id": "4611", + "id": "4612", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84183,7 +84266,7 @@ "end": "78156", "length": "66", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78091" }, "value": "0" @@ -84193,7 +84276,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4609", + "id": "4610", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84201,19 +84284,19 @@ "end": "78070", "length": "6", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78065" } } }, - "id": "4608", + "id": "4609", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78157", "length": "93", "line": "2186", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78065" } } @@ -84229,7 +84312,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4616", + "id": "4617", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84237,7 +84320,7 @@ "end": "78198", "length": "17", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78182" } } @@ -84245,7 +84328,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4617", + "id": "4618", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84253,7 +84336,7 @@ "end": "78201", "length": "1", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78201" }, "value": "4" @@ -84263,7 +84346,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4615", + "id": "4616", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84271,19 +84354,19 @@ "end": "78180", "length": "3", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78178" } } }, - "id": "4614", + "id": "4615", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78202", "length": "25", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78178" } } @@ -84291,7 +84374,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4618", + "id": "4619", "name": "from", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84299,7 +84382,7 @@ "end": "78208", "length": "4", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78205" } } @@ -84308,7 +84391,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4613", + "id": "4614", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84316,19 +84399,19 @@ "end": "78176", "length": "6", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78171" } } }, - "id": "4612", + "id": "4613", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78209", "length": "39", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78171" } } @@ -84344,7 +84427,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4623", + "id": "4624", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84352,7 +84435,7 @@ "end": "78281", "length": "17", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78265" } } @@ -84360,7 +84443,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4624", + "id": "4625", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84368,7 +84451,7 @@ "end": "78285", "length": "2", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78284" }, "value": "36" @@ -84378,7 +84461,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4622", + "id": "4623", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84386,19 +84469,19 @@ "end": "78263", "length": "3", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78261" } } }, - "id": "4621", + "id": "4622", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78286", "length": "26", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78261" } } @@ -84406,7 +84489,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4625", + "id": "4626", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84414,7 +84497,7 @@ "end": "78290", "length": "2", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78289" } } @@ -84423,7 +84506,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4620", + "id": "4621", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84431,19 +84514,19 @@ "end": "78259", "length": "6", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78254" } } }, - "id": "4619", + "id": "4620", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78291", "length": "38", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78254" } } @@ -84459,7 +84542,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4630", + "id": "4631", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84467,7 +84550,7 @@ "end": "78361", "length": "17", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78345" } } @@ -84475,7 +84558,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4631", + "id": "4632", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84483,7 +84566,7 @@ "end": "78365", "length": "2", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78364" }, "value": "68" @@ -84493,7 +84576,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4629", + "id": "4630", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84501,19 +84584,19 @@ "end": "78343", "length": "3", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78341" } } }, - "id": "4628", + "id": "4629", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78366", "length": "26", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78341" } } @@ -84521,7 +84604,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4632", + "id": "4633", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84529,7 +84612,7 @@ "end": "78374", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78369" } } @@ -84538,7 +84621,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4627", + "id": "4628", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84546,19 +84629,19 @@ "end": "78339", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78334" } } }, - "id": "4626", + "id": "4627", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78375", "length": "42", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78334" } } @@ -84566,14 +84649,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4633", + "id": "4634", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "value": { @@ -84602,7 +84685,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4646", + "id": "4647", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84610,7 +84693,7 @@ "end": "78650", "length": "1", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78650" }, "value": "0" @@ -84620,7 +84703,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4645", + "id": "4646", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84628,19 +84711,19 @@ "end": "78648", "length": "5", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78644" } } }, - "id": "4644", + "id": "4645", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "78651", "length": "8", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78644" } } @@ -84648,7 +84731,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4647", + "id": "4648", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84656,7 +84739,7 @@ "end": "78654", "length": "1", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78654" }, "value": "1" @@ -84666,7 +84749,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4643", + "id": "4644", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84674,19 +84757,19 @@ "end": "78642", "length": "2", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78641" } } }, - "id": "4642", + "id": "4643", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "78655", "length": "15", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78641" } } @@ -84701,7 +84784,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4651", + "id": "4652", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84709,19 +84792,19 @@ "end": "78674", "length": "14", "line": "2194", - "parentIndex": "4650", + "parentIndex": "4651", "start": "78661" } } }, - "id": "4650", + "id": "4651", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "78676", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78661" } } @@ -84729,7 +84812,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4652", + "id": "4653", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84737,7 +84820,7 @@ "end": "78680", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78679" }, "value": "31" @@ -84747,7 +84830,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4649", + "id": "4650", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84755,19 +84838,19 @@ "end": "78659", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78658" } } }, - "id": "4648", + "id": "4649", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "78681", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78658" } } @@ -84776,7 +84859,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4641", + "id": "4642", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84784,19 +84867,19 @@ "end": "78639", "length": "3", "line": "2194", - "parentIndex": "4640", + "parentIndex": "4641", "start": "78637" } } }, - "id": "4640", + "id": "4641", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78682", "length": "46", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78637" } } @@ -84811,7 +84894,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4656", + "id": "4657", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84819,19 +84902,19 @@ "end": "78705", "length": "14", "line": "2194", - "parentIndex": "4655", + "parentIndex": "4656", "start": "78692" } } }, - "id": "4655", + "id": "4656", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "78707", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78692" } } @@ -84840,7 +84923,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4654", + "id": "4655", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84848,19 +84931,19 @@ "end": "78690", "length": "6", "line": "2194", - "parentIndex": "4653", + "parentIndex": "4654", "start": "78685" } } }, - "id": "4653", + "id": "4654", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "78708", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78685" } } @@ -84869,7 +84952,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4639", + "id": "4640", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84877,19 +84960,19 @@ "end": "78635", "length": "2", "line": "2194", - "parentIndex": "4638", + "parentIndex": "4639", "start": "78634" } } }, - "id": "4638", + "id": "4639", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "78709", "length": "76", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78634" } } @@ -84904,7 +84987,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4660", + "id": "4661", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84912,19 +84995,19 @@ "end": "79131", "length": "3", "line": "2199", - "parentIndex": "4659", + "parentIndex": "4660", "start": "79129" } } }, - "id": "4659", + "id": "4660", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "79133", "length": "5", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79129" } } @@ -84932,7 +85015,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4661", + "id": "4662", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84940,7 +85023,7 @@ "end": "79140", "length": "5", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79136" } } @@ -84948,7 +85031,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4662", + "id": "4663", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84956,7 +85039,7 @@ "end": "79143", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79143" }, "value": "0" @@ -84965,7 +85048,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4663", + "id": "4664", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -84973,7 +85056,7 @@ "end": "79162", "length": "17", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79146" } } @@ -84981,7 +85064,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4664", + "id": "4665", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -84989,7 +85072,7 @@ "end": "79167", "length": "3", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79165" }, "value": "100" @@ -84998,7 +85081,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4665", + "id": "4666", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85006,7 +85089,7 @@ "end": "79170", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79170" }, "value": "0" @@ -85015,7 +85098,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4666", + "id": "4667", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85023,7 +85106,7 @@ "end": "79174", "length": "2", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79173" }, "value": "32" @@ -85033,7 +85116,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4658", + "id": "4659", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85041,19 +85124,19 @@ "end": "79127", "length": "4", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79124" } } }, - "id": "4657", + "id": "4658", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "79175", "length": "52", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79124" } } @@ -85062,7 +85145,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4637", + "id": "4638", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85070,31 +85153,31 @@ "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4636", + "parentIndex": "4637", "start": "78434" } } }, - "id": "4636", + "id": "4637", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "79189", "length": "756", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78434" } } }, - "id": "4635", + "id": "4636", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78434" } } @@ -85103,7 +85186,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4634", + "id": "4635", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85111,7 +85194,7 @@ "end": "78429", "length": "7", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78423" } } @@ -85125,21 +85208,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4601", + "id": "4602", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4602", + "id": "4603", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -85147,7 +85230,7 @@ "end": "77953", "length": "36", "line": "2183", - "parentIndex": "4601", + "parentIndex": "4602", "start": "77918" }, "value": { @@ -85161,7 +85244,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4607", + "id": "4608", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85169,7 +85252,7 @@ "end": "77952", "length": "4", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77949" }, "value": "64" @@ -85179,7 +85262,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4606", + "id": "4607", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85187,31 +85270,31 @@ "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77943" } } }, - "id": "4605", + "id": "4606", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "77953", "length": "11", "line": "2183", - "parentIndex": "4599", + "parentIndex": "4600", "start": "77943" } } }, - "id": "4604", + "id": "4605", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77943" } } @@ -85220,7 +85303,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4603", + "id": "4604", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85228,7 +85311,7 @@ "end": "77938", "length": "17", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77922" } } @@ -85243,7 +85326,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4610", + "id": "4611", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85251,7 +85334,7 @@ "end": "78088", "length": "17", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78072" } } @@ -85260,7 +85343,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x23b872dd00000000000000000000000000000000000000000000000000000000", - "id": "4611", + "id": "4612", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85268,7 +85351,7 @@ "end": "78156", "length": "66", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78091" }, "value": "0" @@ -85278,7 +85361,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4609", + "id": "4610", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85286,19 +85369,19 @@ "end": "78070", "length": "6", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78065" } } }, - "id": "4608", + "id": "4609", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78157", "length": "93", "line": "2186", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78065" } } @@ -85314,7 +85397,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4616", + "id": "4617", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85322,7 +85405,7 @@ "end": "78198", "length": "17", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78182" } } @@ -85330,7 +85413,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4617", + "id": "4618", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85338,7 +85421,7 @@ "end": "78201", "length": "1", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78201" }, "value": "4" @@ -85348,7 +85431,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4615", + "id": "4616", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85356,19 +85439,19 @@ "end": "78180", "length": "3", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78178" } } }, - "id": "4614", + "id": "4615", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78202", "length": "25", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78178" } } @@ -85376,7 +85459,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4618", + "id": "4619", "name": "from", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85384,7 +85467,7 @@ "end": "78208", "length": "4", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78205" } } @@ -85393,7 +85476,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4613", + "id": "4614", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85401,19 +85484,19 @@ "end": "78176", "length": "6", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78171" } } }, - "id": "4612", + "id": "4613", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78209", "length": "39", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78171" } } @@ -85429,7 +85512,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4623", + "id": "4624", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85437,7 +85520,7 @@ "end": "78281", "length": "17", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78265" } } @@ -85445,7 +85528,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4624", + "id": "4625", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85453,7 +85536,7 @@ "end": "78285", "length": "2", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78284" }, "value": "36" @@ -85463,7 +85546,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4622", + "id": "4623", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85471,19 +85554,19 @@ "end": "78263", "length": "3", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78261" } } }, - "id": "4621", + "id": "4622", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78286", "length": "26", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78261" } } @@ -85491,7 +85574,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4625", + "id": "4626", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85499,7 +85582,7 @@ "end": "78290", "length": "2", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78289" } } @@ -85508,7 +85591,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4620", + "id": "4621", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85516,19 +85599,19 @@ "end": "78259", "length": "6", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78254" } } }, - "id": "4619", + "id": "4620", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78291", "length": "38", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78254" } } @@ -85544,7 +85627,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4630", + "id": "4631", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85552,7 +85635,7 @@ "end": "78361", "length": "17", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78345" } } @@ -85560,7 +85643,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4631", + "id": "4632", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85568,7 +85651,7 @@ "end": "78365", "length": "2", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78364" }, "value": "68" @@ -85578,7 +85661,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4629", + "id": "4630", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85586,19 +85669,19 @@ "end": "78343", "length": "3", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78341" } } }, - "id": "4628", + "id": "4629", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78366", "length": "26", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78341" } } @@ -85606,7 +85689,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4632", + "id": "4633", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85614,7 +85697,7 @@ "end": "78374", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78369" } } @@ -85623,7 +85706,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4627", + "id": "4628", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85631,19 +85714,19 @@ "end": "78339", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78334" } } }, - "id": "4626", + "id": "4627", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78375", "length": "42", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78334" } } @@ -85651,14 +85734,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4633", + "id": "4634", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "value": { @@ -85687,7 +85770,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4646", + "id": "4647", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85695,7 +85778,7 @@ "end": "78650", "length": "1", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78650" }, "value": "0" @@ -85705,7 +85788,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4645", + "id": "4646", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85713,19 +85796,19 @@ "end": "78648", "length": "5", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78644" } } }, - "id": "4644", + "id": "4645", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "78651", "length": "8", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78644" } } @@ -85733,7 +85816,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4647", + "id": "4648", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85741,7 +85824,7 @@ "end": "78654", "length": "1", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78654" }, "value": "1" @@ -85751,7 +85834,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4643", + "id": "4644", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85759,19 +85842,19 @@ "end": "78642", "length": "2", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78641" } } }, - "id": "4642", + "id": "4643", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "78655", "length": "15", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78641" } } @@ -85786,7 +85869,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4651", + "id": "4652", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85794,19 +85877,19 @@ "end": "78674", "length": "14", "line": "2194", - "parentIndex": "4650", + "parentIndex": "4651", "start": "78661" } } }, - "id": "4650", + "id": "4651", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "78676", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78661" } } @@ -85814,7 +85897,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4652", + "id": "4653", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -85822,7 +85905,7 @@ "end": "78680", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78679" }, "value": "31" @@ -85832,7 +85915,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4649", + "id": "4650", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85840,19 +85923,19 @@ "end": "78659", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78658" } } }, - "id": "4648", + "id": "4649", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "78681", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78658" } } @@ -85861,7 +85944,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4641", + "id": "4642", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85869,19 +85952,19 @@ "end": "78639", "length": "3", "line": "2194", - "parentIndex": "4640", + "parentIndex": "4641", "start": "78637" } } }, - "id": "4640", + "id": "4641", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78682", "length": "46", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78637" } } @@ -85896,7 +85979,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4656", + "id": "4657", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85904,19 +85987,19 @@ "end": "78705", "length": "14", "line": "2194", - "parentIndex": "4655", + "parentIndex": "4656", "start": "78692" } } }, - "id": "4655", + "id": "4656", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "78707", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78692" } } @@ -85925,7 +86008,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4654", + "id": "4655", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85933,19 +86016,19 @@ "end": "78690", "length": "6", "line": "2194", - "parentIndex": "4653", + "parentIndex": "4654", "start": "78685" } } }, - "id": "4653", + "id": "4654", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "78708", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78685" } } @@ -85954,7 +86037,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4639", + "id": "4640", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85962,19 +86045,19 @@ "end": "78635", "length": "2", "line": "2194", - "parentIndex": "4638", + "parentIndex": "4639", "start": "78634" } } }, - "id": "4638", + "id": "4639", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "78709", "length": "76", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78634" } } @@ -85989,7 +86072,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4660", + "id": "4661", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -85997,19 +86080,19 @@ "end": "79131", "length": "3", "line": "2199", - "parentIndex": "4659", + "parentIndex": "4660", "start": "79129" } } }, - "id": "4659", + "id": "4660", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "79133", "length": "5", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79129" } } @@ -86017,7 +86100,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4661", + "id": "4662", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86025,7 +86108,7 @@ "end": "79140", "length": "5", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79136" } } @@ -86033,7 +86116,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4662", + "id": "4663", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86041,7 +86124,7 @@ "end": "79143", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79143" }, "value": "0" @@ -86050,7 +86133,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4663", + "id": "4664", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86058,7 +86141,7 @@ "end": "79162", "length": "17", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79146" } } @@ -86066,7 +86149,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4664", + "id": "4665", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86074,7 +86157,7 @@ "end": "79167", "length": "3", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79165" }, "value": "100" @@ -86083,7 +86166,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4665", + "id": "4666", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86091,7 +86174,7 @@ "end": "79170", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79170" }, "value": "0" @@ -86100,7 +86183,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4666", + "id": "4667", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86108,7 +86191,7 @@ "end": "79174", "length": "2", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79173" }, "value": "32" @@ -86118,7 +86201,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4658", + "id": "4659", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86126,19 +86209,19 @@ "end": "79127", "length": "4", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79124" } } }, - "id": "4657", + "id": "4658", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "79175", "length": "52", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79124" } } @@ -86147,7 +86230,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4637", + "id": "4638", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86155,31 +86238,31 @@ "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4636", + "parentIndex": "4637", "start": "78434" } } }, - "id": "4636", + "id": "4637", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "79189", "length": "756", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78434" } } }, - "id": "4635", + "id": "4636", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78434" } } @@ -86188,7 +86271,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4634", + "id": "4635", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86196,7 +86279,7 @@ "end": "78429", "length": "7", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78423" } } @@ -86210,21 +86293,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4601", + "id": "4602", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4602", + "id": "4603", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -86232,7 +86315,7 @@ "end": "77953", "length": "36", "line": "2183", - "parentIndex": "4601", + "parentIndex": "4602", "start": "77918" }, "value": { @@ -86246,7 +86329,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4607", + "id": "4608", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86254,7 +86337,7 @@ "end": "77952", "length": "4", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77949" }, "value": "64" @@ -86264,7 +86347,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4606", + "id": "4607", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86272,31 +86355,31 @@ "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77943" } } }, - "id": "4605", + "id": "4606", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "77953", "length": "11", "line": "2183", - "parentIndex": "4599", + "parentIndex": "4600", "start": "77943" } } }, - "id": "4604", + "id": "4605", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77943" } } @@ -86305,7 +86388,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4603", + "id": "4604", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86313,7 +86396,7 @@ "end": "77938", "length": "17", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77922" } } @@ -86328,7 +86411,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4610", + "id": "4611", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86336,7 +86419,7 @@ "end": "78088", "length": "17", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78072" } } @@ -86345,7 +86428,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x23b872dd00000000000000000000000000000000000000000000000000000000", - "id": "4611", + "id": "4612", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86353,7 +86436,7 @@ "end": "78156", "length": "66", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78091" }, "value": "0" @@ -86363,7 +86446,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4609", + "id": "4610", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86371,19 +86454,19 @@ "end": "78070", "length": "6", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78065" } } }, - "id": "4608", + "id": "4609", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78157", "length": "93", "line": "2186", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78065" } } @@ -86399,7 +86482,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4616", + "id": "4617", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86407,7 +86490,7 @@ "end": "78198", "length": "17", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78182" } } @@ -86415,7 +86498,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4617", + "id": "4618", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86423,7 +86506,7 @@ "end": "78201", "length": "1", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78201" }, "value": "4" @@ -86433,7 +86516,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4615", + "id": "4616", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86441,19 +86524,19 @@ "end": "78180", "length": "3", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78178" } } }, - "id": "4614", + "id": "4615", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78202", "length": "25", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78178" } } @@ -86461,7 +86544,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4618", + "id": "4619", "name": "from", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86469,7 +86552,7 @@ "end": "78208", "length": "4", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78205" } } @@ -86478,7 +86561,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4613", + "id": "4614", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86486,19 +86569,19 @@ "end": "78176", "length": "6", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78171" } } }, - "id": "4612", + "id": "4613", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78209", "length": "39", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78171" } } @@ -86514,7 +86597,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4623", + "id": "4624", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86522,7 +86605,7 @@ "end": "78281", "length": "17", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78265" } } @@ -86530,7 +86613,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4624", + "id": "4625", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86538,7 +86621,7 @@ "end": "78285", "length": "2", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78284" }, "value": "36" @@ -86548,7 +86631,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4622", + "id": "4623", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86556,19 +86639,19 @@ "end": "78263", "length": "3", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78261" } } }, - "id": "4621", + "id": "4622", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78286", "length": "26", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78261" } } @@ -86576,7 +86659,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4625", + "id": "4626", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86584,7 +86667,7 @@ "end": "78290", "length": "2", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78289" } } @@ -86593,7 +86676,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4620", + "id": "4621", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86601,19 +86684,19 @@ "end": "78259", "length": "6", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78254" } } }, - "id": "4619", + "id": "4620", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78291", "length": "38", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78254" } } @@ -86629,7 +86712,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4630", + "id": "4631", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86637,7 +86720,7 @@ "end": "78361", "length": "17", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78345" } } @@ -86645,7 +86728,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4631", + "id": "4632", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86653,7 +86736,7 @@ "end": "78365", "length": "2", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78364" }, "value": "68" @@ -86663,7 +86746,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4629", + "id": "4630", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86671,19 +86754,19 @@ "end": "78343", "length": "3", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78341" } } }, - "id": "4628", + "id": "4629", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78366", "length": "26", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78341" } } @@ -86691,7 +86774,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4632", + "id": "4633", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86699,7 +86782,7 @@ "end": "78374", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78369" } } @@ -86708,7 +86791,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4627", + "id": "4628", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86716,19 +86799,19 @@ "end": "78339", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78334" } } }, - "id": "4626", + "id": "4627", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78375", "length": "42", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78334" } } @@ -86736,14 +86819,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4633", + "id": "4634", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "value": { @@ -86772,7 +86855,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4646", + "id": "4647", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86780,7 +86863,7 @@ "end": "78650", "length": "1", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78650" }, "value": "0" @@ -86790,7 +86873,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4645", + "id": "4646", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86798,19 +86881,19 @@ "end": "78648", "length": "5", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78644" } } }, - "id": "4644", + "id": "4645", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "78651", "length": "8", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78644" } } @@ -86818,7 +86901,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4647", + "id": "4648", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86826,7 +86909,7 @@ "end": "78654", "length": "1", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78654" }, "value": "1" @@ -86836,7 +86919,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4643", + "id": "4644", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86844,19 +86927,19 @@ "end": "78642", "length": "2", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78641" } } }, - "id": "4642", + "id": "4643", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "78655", "length": "15", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78641" } } @@ -86871,7 +86954,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4651", + "id": "4652", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86879,19 +86962,19 @@ "end": "78674", "length": "14", "line": "2194", - "parentIndex": "4650", + "parentIndex": "4651", "start": "78661" } } }, - "id": "4650", + "id": "4651", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "78676", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78661" } } @@ -86899,7 +86982,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4652", + "id": "4653", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -86907,7 +86990,7 @@ "end": "78680", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78679" }, "value": "31" @@ -86917,7 +87000,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4649", + "id": "4650", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86925,19 +87008,19 @@ "end": "78659", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78658" } } }, - "id": "4648", + "id": "4649", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "78681", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78658" } } @@ -86946,7 +87029,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4641", + "id": "4642", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86954,19 +87037,19 @@ "end": "78639", "length": "3", "line": "2194", - "parentIndex": "4640", + "parentIndex": "4641", "start": "78637" } } }, - "id": "4640", + "id": "4641", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78682", "length": "46", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78637" } } @@ -86981,7 +87064,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4656", + "id": "4657", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -86989,19 +87072,19 @@ "end": "78705", "length": "14", "line": "2194", - "parentIndex": "4655", + "parentIndex": "4656", "start": "78692" } } }, - "id": "4655", + "id": "4656", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "78707", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78692" } } @@ -87010,7 +87093,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4654", + "id": "4655", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87018,19 +87101,19 @@ "end": "78690", "length": "6", "line": "2194", - "parentIndex": "4653", + "parentIndex": "4654", "start": "78685" } } }, - "id": "4653", + "id": "4654", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "78708", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78685" } } @@ -87039,7 +87122,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4639", + "id": "4640", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87047,19 +87130,19 @@ "end": "78635", "length": "2", "line": "2194", - "parentIndex": "4638", + "parentIndex": "4639", "start": "78634" } } }, - "id": "4638", + "id": "4639", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "78709", "length": "76", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78634" } } @@ -87074,7 +87157,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4660", + "id": "4661", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87082,19 +87165,19 @@ "end": "79131", "length": "3", "line": "2199", - "parentIndex": "4659", + "parentIndex": "4660", "start": "79129" } } }, - "id": "4659", + "id": "4660", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "79133", "length": "5", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79129" } } @@ -87102,7 +87185,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4661", + "id": "4662", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87110,7 +87193,7 @@ "end": "79140", "length": "5", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79136" } } @@ -87118,7 +87201,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4662", + "id": "4663", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87126,7 +87209,7 @@ "end": "79143", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79143" }, "value": "0" @@ -87135,7 +87218,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4663", + "id": "4664", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87143,7 +87226,7 @@ "end": "79162", "length": "17", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79146" } } @@ -87151,7 +87234,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4664", + "id": "4665", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87159,7 +87242,7 @@ "end": "79167", "length": "3", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79165" }, "value": "100" @@ -87168,7 +87251,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4665", + "id": "4666", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87176,7 +87259,7 @@ "end": "79170", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79170" }, "value": "0" @@ -87185,7 +87268,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4666", + "id": "4667", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87193,7 +87276,7 @@ "end": "79174", "length": "2", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79173" }, "value": "32" @@ -87203,7 +87286,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4658", + "id": "4659", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87211,19 +87294,19 @@ "end": "79127", "length": "4", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79124" } } }, - "id": "4657", + "id": "4658", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "79175", "length": "52", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79124" } } @@ -87232,7 +87315,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4637", + "id": "4638", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87240,31 +87323,31 @@ "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4636", + "parentIndex": "4637", "start": "78434" } } }, - "id": "4636", + "id": "4637", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "79189", "length": "756", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78434" } } }, - "id": "4635", + "id": "4636", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78434" } } @@ -87273,7 +87356,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4634", + "id": "4635", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87281,7 +87364,7 @@ "end": "78429", "length": "7", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78423" } } @@ -87295,21 +87378,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4601", + "id": "4602", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4602", + "id": "4603", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -87317,7 +87400,7 @@ "end": "77953", "length": "36", "line": "2183", - "parentIndex": "4601", + "parentIndex": "4602", "start": "77918" }, "value": { @@ -87331,7 +87414,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4607", + "id": "4608", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87339,7 +87422,7 @@ "end": "77952", "length": "4", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77949" }, "value": "64" @@ -87349,7 +87432,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4606", + "id": "4607", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87357,31 +87440,31 @@ "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4605", + "parentIndex": "4606", "start": "77943" } } }, - "id": "4605", + "id": "4606", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "77953", "length": "11", "line": "2183", - "parentIndex": "4599", + "parentIndex": "4600", "start": "77943" } } }, - "id": "4604", + "id": "4605", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "77947", "length": "5", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77943" } } @@ -87390,7 +87473,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4603", + "id": "4604", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87398,7 +87481,7 @@ "end": "77938", "length": "17", "line": "2183", - "parentIndex": "4602", + "parentIndex": "4603", "start": "77922" } } @@ -87413,7 +87496,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4610", + "id": "4611", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87421,7 +87504,7 @@ "end": "78088", "length": "17", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78072" } } @@ -87430,7 +87513,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x23b872dd00000000000000000000000000000000000000000000000000000000", - "id": "4611", + "id": "4612", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87438,7 +87521,7 @@ "end": "78156", "length": "66", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78091" }, "value": "0" @@ -87448,7 +87531,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4609", + "id": "4610", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87456,19 +87539,19 @@ "end": "78070", "length": "6", "line": "2186", - "parentIndex": "4608", + "parentIndex": "4609", "start": "78065" } } }, - "id": "4608", + "id": "4609", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78157", "length": "93", "line": "2186", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78065" } } @@ -87484,7 +87567,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4616", + "id": "4617", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87492,7 +87575,7 @@ "end": "78198", "length": "17", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78182" } } @@ -87500,7 +87583,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4617", + "id": "4618", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87508,7 +87591,7 @@ "end": "78201", "length": "1", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78201" }, "value": "4" @@ -87518,7 +87601,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4615", + "id": "4616", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87526,19 +87609,19 @@ "end": "78180", "length": "3", "line": "2187", - "parentIndex": "4614", + "parentIndex": "4615", "start": "78178" } } }, - "id": "4614", + "id": "4615", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78202", "length": "25", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78178" } } @@ -87546,7 +87629,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4618", + "id": "4619", "name": "from", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87554,7 +87637,7 @@ "end": "78208", "length": "4", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78205" } } @@ -87563,7 +87646,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4613", + "id": "4614", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87571,19 +87654,19 @@ "end": "78176", "length": "6", "line": "2187", - "parentIndex": "4612", + "parentIndex": "4613", "start": "78171" } } }, - "id": "4612", + "id": "4613", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78209", "length": "39", "line": "2187", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78171" } } @@ -87599,7 +87682,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4623", + "id": "4624", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87607,7 +87690,7 @@ "end": "78281", "length": "17", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78265" } } @@ -87615,7 +87698,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4624", + "id": "4625", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87623,7 +87706,7 @@ "end": "78285", "length": "2", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78284" }, "value": "36" @@ -87633,7 +87716,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4622", + "id": "4623", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87641,19 +87724,19 @@ "end": "78263", "length": "3", "line": "2188", - "parentIndex": "4621", + "parentIndex": "4622", "start": "78261" } } }, - "id": "4621", + "id": "4622", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78286", "length": "26", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78261" } } @@ -87661,7 +87744,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4625", + "id": "4626", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87669,7 +87752,7 @@ "end": "78290", "length": "2", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78289" } } @@ -87678,7 +87761,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4620", + "id": "4621", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87686,19 +87769,19 @@ "end": "78259", "length": "6", "line": "2188", - "parentIndex": "4619", + "parentIndex": "4620", "start": "78254" } } }, - "id": "4619", + "id": "4620", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78291", "length": "38", "line": "2188", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78254" } } @@ -87714,7 +87797,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4630", + "id": "4631", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87722,7 +87805,7 @@ "end": "78361", "length": "17", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78345" } } @@ -87730,7 +87813,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4631", + "id": "4632", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87738,7 +87821,7 @@ "end": "78365", "length": "2", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78364" }, "value": "68" @@ -87748,7 +87831,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4629", + "id": "4630", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87756,19 +87839,19 @@ "end": "78343", "length": "3", "line": "2189", - "parentIndex": "4628", + "parentIndex": "4629", "start": "78341" } } }, - "id": "4628", + "id": "4629", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78366", "length": "26", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78341" } } @@ -87776,7 +87859,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4632", + "id": "4633", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87784,7 +87867,7 @@ "end": "78374", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78369" } } @@ -87793,7 +87876,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4627", + "id": "4628", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87801,19 +87884,19 @@ "end": "78339", "length": "6", "line": "2189", - "parentIndex": "4626", + "parentIndex": "4627", "start": "78334" } } }, - "id": "4626", + "id": "4627", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "78375", "length": "42", "line": "2189", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78334" } } @@ -87821,14 +87904,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4633", + "id": "4634", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "79189", "length": "767", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78423" }, "value": { @@ -87857,7 +87940,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4646", + "id": "4647", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87865,7 +87948,7 @@ "end": "78650", "length": "1", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78650" }, "value": "0" @@ -87875,7 +87958,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4645", + "id": "4646", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87883,19 +87966,19 @@ "end": "78648", "length": "5", "line": "2194", - "parentIndex": "4644", + "parentIndex": "4645", "start": "78644" } } }, - "id": "4644", + "id": "4645", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "78651", "length": "8", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78644" } } @@ -87903,7 +87986,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4647", + "id": "4648", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87911,7 +87994,7 @@ "end": "78654", "length": "1", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78654" }, "value": "1" @@ -87921,7 +88004,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4643", + "id": "4644", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87929,19 +88012,19 @@ "end": "78642", "length": "2", "line": "2194", - "parentIndex": "4642", + "parentIndex": "4643", "start": "78641" } } }, - "id": "4642", + "id": "4643", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "78655", "length": "15", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78641" } } @@ -87956,7 +88039,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4651", + "id": "4652", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -87964,19 +88047,19 @@ "end": "78674", "length": "14", "line": "2194", - "parentIndex": "4650", + "parentIndex": "4651", "start": "78661" } } }, - "id": "4650", + "id": "4651", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "78676", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78661" } } @@ -87984,7 +88067,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4652", + "id": "4653", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -87992,7 +88075,7 @@ "end": "78680", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78679" }, "value": "31" @@ -88002,7 +88085,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4649", + "id": "4650", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88010,19 +88093,19 @@ "end": "78659", "length": "2", "line": "2194", - "parentIndex": "4648", + "parentIndex": "4649", "start": "78658" } } }, - "id": "4648", + "id": "4649", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "78681", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78658" } } @@ -88031,7 +88114,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4641", + "id": "4642", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88039,19 +88122,19 @@ "end": "78639", "length": "3", "line": "2194", - "parentIndex": "4640", + "parentIndex": "4641", "start": "78637" } } }, - "id": "4640", + "id": "4641", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "78682", "length": "46", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78637" } } @@ -88066,7 +88149,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4656", + "id": "4657", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88074,19 +88157,19 @@ "end": "78705", "length": "14", "line": "2194", - "parentIndex": "4655", + "parentIndex": "4656", "start": "78692" } } }, - "id": "4655", + "id": "4656", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "78707", "length": "16", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78692" } } @@ -88095,7 +88178,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4654", + "id": "4655", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88103,19 +88186,19 @@ "end": "78690", "length": "6", "line": "2194", - "parentIndex": "4653", + "parentIndex": "4654", "start": "78685" } } }, - "id": "4653", + "id": "4654", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "78708", "length": "24", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78685" } } @@ -88124,7 +88207,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4639", + "id": "4640", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88132,19 +88215,19 @@ "end": "78635", "length": "2", "line": "2194", - "parentIndex": "4638", + "parentIndex": "4639", "start": "78634" } } }, - "id": "4638", + "id": "4639", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "78709", "length": "76", "line": "2194", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78634" } } @@ -88159,7 +88242,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4660", + "id": "4661", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88167,19 +88250,19 @@ "end": "79131", "length": "3", "line": "2199", - "parentIndex": "4659", + "parentIndex": "4660", "start": "79129" } } }, - "id": "4659", + "id": "4660", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "79133", "length": "5", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79129" } } @@ -88187,7 +88270,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4661", + "id": "4662", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88195,7 +88278,7 @@ "end": "79140", "length": "5", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79136" } } @@ -88203,7 +88286,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4662", + "id": "4663", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -88211,7 +88294,7 @@ "end": "79143", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79143" }, "value": "0" @@ -88220,7 +88303,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4663", + "id": "4664", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88228,7 +88311,7 @@ "end": "79162", "length": "17", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79146" } } @@ -88236,7 +88319,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4664", + "id": "4665", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -88244,7 +88327,7 @@ "end": "79167", "length": "3", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79165" }, "value": "100" @@ -88253,7 +88336,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4665", + "id": "4666", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -88261,7 +88344,7 @@ "end": "79170", "length": "1", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79170" }, "value": "0" @@ -88270,7 +88353,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4666", + "id": "4667", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -88278,7 +88361,7 @@ "end": "79174", "length": "2", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79173" }, "value": "32" @@ -88288,7 +88371,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4658", + "id": "4659", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88296,19 +88379,19 @@ "end": "79127", "length": "4", "line": "2199", - "parentIndex": "4657", + "parentIndex": "4658", "start": "79124" } } }, - "id": "4657", + "id": "4658", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "79175", "length": "52", "line": "2199", - "parentIndex": "4599", + "parentIndex": "4600", "start": "79124" } } @@ -88317,7 +88400,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4637", + "id": "4638", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88325,31 +88408,31 @@ "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4636", + "parentIndex": "4637", "start": "78434" } } }, - "id": "4636", + "id": "4637", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "79189", "length": "756", "line": "2191", - "parentIndex": "4599", + "parentIndex": "4600", "start": "78434" } } }, - "id": "4635", + "id": "4636", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "78436", "length": "3", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78434" } } @@ -88358,7 +88441,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4634", + "id": "4635", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88366,7 +88449,7 @@ "end": "78429", "length": "7", "line": "2191", - "parentIndex": "4633", + "parentIndex": "4634", "start": "78423" } } @@ -88379,14 +88462,14 @@ } ] }, - "id": "4599", + "id": "4600", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "79199", "length": "1355", "line": "2181", - "parentIndex": "4595", + "parentIndex": "4596", "start": "77845" } } @@ -88408,16 +88491,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4669", + "id": "4670", "name": "success", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4596", + "referencedDeclaration": "4597", "src": { "column": "16", "end": "79224", "length": "7", "line": "2203", - "parentIndex": "4667", + "parentIndex": "4668", "start": "79218" }, "typeDescription": { @@ -88436,7 +88519,7 @@ } ], "hexValue": "5452414e534645525f46524f4d5f4641494c4544", - "id": "4670", + "id": "4671", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -88445,7 +88528,7 @@ "end": "79248", "length": "22", "line": "2203", - "parentIndex": "4667", + "parentIndex": "4668", "start": "79227" }, "typeDescription": { @@ -88459,7 +88542,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4668", + "id": "4669", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -88468,7 +88551,7 @@ "end": "79216", "length": "7", "line": "2203", - "parentIndex": "4667", + "parentIndex": "4668", "start": "79210" }, "typeDescription": { @@ -88477,7 +88560,7 @@ } } }, - "id": "4667", + "id": "4668", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -88485,7 +88568,7 @@ "end": "79249", "length": "40", "line": "2203", - "parentIndex": "4595", + "parentIndex": "4596", "start": "79210" }, "typeDescription": { @@ -88496,7 +88579,7 @@ } ] }, - "id": "4583", + "id": "4584", "implemented": true, "kind": "KIND_FUNCTION", "name": "safeTransferFrom", @@ -88505,85 +88588,85 @@ "end": "77708", "length": "16", "line": "2173", - "parentIndex": "4583", + "parentIndex": "4584", "start": "77693" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4584", + "id": "4585", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4585", + "id": "4586", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "4585", + "scope": "4586", "src": { "column": "8", "end": "77729", "length": "11", "line": "2174", - "parentIndex": "4584", + "parentIndex": "4585", "start": "77719" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "4586", + "id": "4587", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4587", + "id": "4588", "name": "ERC20", "nameLocation": { "column": "8", "end": "77723", "length": "5", "line": "2174", - "parentIndex": "4586", + "parentIndex": "4587", "start": "77719" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "8", "end": "77723", "length": "5", "line": "2174", - "parentIndex": "4586", + "parentIndex": "4587", "start": "77719" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "8", "end": "77723", "length": "5", "line": "2174", - "parentIndex": "4585", + "parentIndex": "4586", "start": "77719" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, "visibility": "INTERNAL" }, { - "id": "4588", + "id": "4589", "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "4588", + "scope": "4589", "src": { "column": "8", "end": "77751", "length": "12", "line": "2175", - "parentIndex": "4584", + "parentIndex": "4585", "start": "77740" }, "stateMutability": "NONPAYABLE", @@ -88593,7 +88676,7 @@ "typeString": "address" }, "typeName": { - "id": "4589", + "id": "4590", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -88601,7 +88684,7 @@ "end": "77746", "length": "7", "line": "2175", - "parentIndex": "4588", + "parentIndex": "4589", "start": "77740" }, "stateMutability": "NONPAYABLE", @@ -88613,16 +88696,16 @@ "visibility": "INTERNAL" }, { - "id": "4590", + "id": "4591", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4590", + "scope": "4591", "src": { "column": "8", "end": "77771", "length": "10", "line": "2176", - "parentIndex": "4584", + "parentIndex": "4585", "start": "77762" }, "stateMutability": "NONPAYABLE", @@ -88632,7 +88715,7 @@ "typeString": "address" }, "typeName": { - "id": "4591", + "id": "4592", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -88640,7 +88723,7 @@ "end": "77768", "length": "7", "line": "2176", - "parentIndex": "4590", + "parentIndex": "4591", "start": "77762" }, "stateMutability": "NONPAYABLE", @@ -88652,16 +88735,16 @@ "visibility": "INTERNAL" }, { - "id": "4592", + "id": "4593", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4592", + "scope": "4593", "src": { "column": "8", "end": "77795", "length": "14", "line": "2177", - "parentIndex": "4584", + "parentIndex": "4585", "start": "77782" }, "stateMutability": "MUTABLE", @@ -88671,7 +88754,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4593", + "id": "4594", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -88679,7 +88762,7 @@ "end": "77788", "length": "7", "line": "2177", - "parentIndex": "4592", + "parentIndex": "4593", "start": "77782" }, "typeDescription": { @@ -88695,35 +88778,35 @@ "end": "77795", "length": "77", "line": "2174", - "parentIndex": "4583", + "parentIndex": "4584", "start": "77719" } }, "returnParameters": { - "id": "4594", + "id": "4595", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "79256", "length": "1573", "line": "2173", - "parentIndex": "4583", + "parentIndex": "4584", "start": "77684" } }, - "scope": "4549", - "signature": "d9098537", + "scope": "4550", + "signature": "d0e2343c", "src": { "column": "4", "end": "79256", "length": "1573", "line": "2173", - "parentIndex": "4549", + "parentIndex": "4550", "start": "77684" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_contract$_ERC20_$4060$_t_address$_t_address$_t_uint256$", + "typeIdentifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_address$_t_uint256$", "typeString": "function(contract ERC20,address,address,uint256)" }, "visibility": "INTERNAL" @@ -88733,7 +88816,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4682", + "id": "4683", "implemented": true, "nodeType": "BLOCK", "src": { @@ -88741,7 +88824,7 @@ "end": "80718", "length": "1354", "line": "2210", - "parentIndex": "4672", + "parentIndex": "4673", "start": "79365" }, "statements": [ @@ -88749,11 +88832,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4684" + "4685" ], "declarations": [ { - "id": "4684", + "id": "4685", "mutability": "MUTABLE", "name": "success", "nameLocation": { @@ -88761,17 +88844,17 @@ "end": "79386", "length": "7", "line": "2211", - "parentIndex": "4684", + "parentIndex": "4685", "start": "79380" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4682", + "scope": "4683", "src": { "column": "8", "end": "79386", "length": "12", "line": "2211", - "parentIndex": "4683", + "parentIndex": "4684", "start": "79375" }, "storageLocation": "DEFAULT", @@ -88780,7 +88863,7 @@ "typeString": "bool" }, "typeName": { - "id": "4685", + "id": "4686", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -88788,7 +88871,7 @@ "end": "79378", "length": "4", "line": "2211", - "parentIndex": "4684", + "parentIndex": "4685", "start": "79375" }, "typeDescription": { @@ -88799,14 +88882,14 @@ "visibility": "INTERNAL" } ], - "id": "4683", + "id": "4684", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "79387", "length": "13", "line": "2211", - "parentIndex": "4682", + "parentIndex": "4683", "start": "79375" } } @@ -88815,35 +88898,35 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "4687", + "id": "4688", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "80666", "length": "1269", "line": "2213", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79398" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4688", + "id": "4689", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4689", + "id": "4690", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -88851,7 +88934,7 @@ "end": "79506", "length": "36", "line": "2215", - "parentIndex": "4688", + "parentIndex": "4689", "start": "79471" }, "value": { @@ -88865,7 +88948,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4694", + "id": "4695", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -88873,7 +88956,7 @@ "end": "79505", "length": "4", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79502" }, "value": "64" @@ -88883,7 +88966,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4693", + "id": "4694", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88891,31 +88974,31 @@ "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79496" } } }, - "id": "4692", + "id": "4693", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "79506", "length": "11", "line": "2215", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79496" } } }, - "id": "4691", + "id": "4692", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79496" } } @@ -88924,7 +89007,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4690", + "id": "4691", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88932,7 +89015,7 @@ "end": "79491", "length": "17", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79475" } } @@ -88947,7 +89030,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4697", + "id": "4698", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88955,7 +89038,7 @@ "end": "79641", "length": "17", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79625" } } @@ -88964,7 +89047,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0xa9059cbb00000000000000000000000000000000000000000000000000000000", - "id": "4698", + "id": "4699", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -88972,7 +89055,7 @@ "end": "79709", "length": "66", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79644" }, "value": "0" @@ -88982,7 +89065,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4696", + "id": "4697", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -88990,19 +89073,19 @@ "end": "79623", "length": "6", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79618" } } }, - "id": "4695", + "id": "4696", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79710", "length": "93", "line": "2218", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79618" } } @@ -89018,7 +89101,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4703", + "id": "4704", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89026,7 +89109,7 @@ "end": "79751", "length": "17", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79735" } } @@ -89034,7 +89117,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4704", + "id": "4705", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89042,7 +89125,7 @@ "end": "79754", "length": "1", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79754" }, "value": "4" @@ -89052,7 +89135,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4702", + "id": "4703", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89060,19 +89143,19 @@ "end": "79733", "length": "3", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79731" } } }, - "id": "4701", + "id": "4702", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79755", "length": "25", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79731" } } @@ -89080,7 +89163,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4705", + "id": "4706", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89088,7 +89171,7 @@ "end": "79759", "length": "2", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79758" } } @@ -89097,7 +89180,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4700", + "id": "4701", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89105,19 +89188,19 @@ "end": "79729", "length": "6", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79724" } } }, - "id": "4699", + "id": "4700", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79760", "length": "37", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79724" } } @@ -89133,7 +89216,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4710", + "id": "4711", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89141,7 +89224,7 @@ "end": "79830", "length": "17", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79814" } } @@ -89149,7 +89232,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4711", + "id": "4712", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89157,7 +89240,7 @@ "end": "79834", "length": "2", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79833" }, "value": "36" @@ -89167,7 +89250,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4709", + "id": "4710", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89175,19 +89258,19 @@ "end": "79812", "length": "3", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79810" } } }, - "id": "4708", + "id": "4709", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79835", "length": "26", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79810" } } @@ -89195,7 +89278,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4712", + "id": "4713", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89203,7 +89286,7 @@ "end": "79843", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79838" } } @@ -89212,7 +89295,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4707", + "id": "4708", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89220,19 +89303,19 @@ "end": "79808", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79803" } } }, - "id": "4706", + "id": "4707", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79844", "length": "42", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79803" } } @@ -89240,14 +89323,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4713", + "id": "4714", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "value": { @@ -89276,7 +89359,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4726", + "id": "4727", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89284,7 +89367,7 @@ "end": "80119", "length": "1", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80119" }, "value": "0" @@ -89294,7 +89377,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4725", + "id": "4726", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89302,19 +89385,19 @@ "end": "80117", "length": "5", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80113" } } }, - "id": "4724", + "id": "4725", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "80120", "length": "8", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80113" } } @@ -89322,7 +89405,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4727", + "id": "4728", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89330,7 +89413,7 @@ "end": "80123", "length": "1", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80123" }, "value": "1" @@ -89340,7 +89423,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4723", + "id": "4724", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89348,19 +89431,19 @@ "end": "80111", "length": "2", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80110" } } }, - "id": "4722", + "id": "4723", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80124", "length": "15", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80110" } } @@ -89375,7 +89458,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4731", + "id": "4732", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89383,19 +89466,19 @@ "end": "80143", "length": "14", "line": "2225", - "parentIndex": "4730", + "parentIndex": "4731", "start": "80130" } } }, - "id": "4730", + "id": "4731", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "80145", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80130" } } @@ -89403,7 +89486,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4732", + "id": "4733", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89411,7 +89494,7 @@ "end": "80149", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80148" }, "value": "31" @@ -89421,7 +89504,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4729", + "id": "4730", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89429,19 +89512,19 @@ "end": "80128", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80127" } } }, - "id": "4728", + "id": "4729", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "80150", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80127" } } @@ -89450,7 +89533,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4721", + "id": "4722", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89458,19 +89541,19 @@ "end": "80108", "length": "3", "line": "2225", - "parentIndex": "4720", + "parentIndex": "4721", "start": "80106" } } }, - "id": "4720", + "id": "4721", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "80151", "length": "46", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80106" } } @@ -89485,7 +89568,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4736", + "id": "4737", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89493,19 +89576,19 @@ "end": "80174", "length": "14", "line": "2225", - "parentIndex": "4735", + "parentIndex": "4736", "start": "80161" } } }, - "id": "4735", + "id": "4736", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "80176", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80161" } } @@ -89514,7 +89597,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4734", + "id": "4735", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89522,19 +89605,19 @@ "end": "80159", "length": "6", "line": "2225", - "parentIndex": "4733", + "parentIndex": "4734", "start": "80154" } } }, - "id": "4733", + "id": "4734", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "80177", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80154" } } @@ -89543,7 +89626,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4719", + "id": "4720", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89551,19 +89634,19 @@ "end": "80104", "length": "2", "line": "2225", - "parentIndex": "4718", + "parentIndex": "4719", "start": "80103" } } }, - "id": "4718", + "id": "4719", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80178", "length": "76", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80103" } } @@ -89578,7 +89661,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4740", + "id": "4741", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89586,19 +89669,19 @@ "end": "80599", "length": "3", "line": "2230", - "parentIndex": "4739", + "parentIndex": "4740", "start": "80597" } } }, - "id": "4739", + "id": "4740", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "80601", "length": "5", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80597" } } @@ -89606,7 +89689,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4741", + "id": "4742", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89614,7 +89697,7 @@ "end": "80608", "length": "5", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80604" } } @@ -89622,7 +89705,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4742", + "id": "4743", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89630,7 +89713,7 @@ "end": "80611", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80611" }, "value": "0" @@ -89639,7 +89722,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4743", + "id": "4744", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89647,7 +89730,7 @@ "end": "80630", "length": "17", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80614" } } @@ -89655,7 +89738,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4744", + "id": "4745", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89663,7 +89746,7 @@ "end": "80634", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80633" }, "value": "68" @@ -89672,7 +89755,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4745", + "id": "4746", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89680,7 +89763,7 @@ "end": "80637", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80637" }, "value": "0" @@ -89689,7 +89772,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4746", + "id": "4747", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89697,7 +89780,7 @@ "end": "80641", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80640" }, "value": "32" @@ -89707,7 +89790,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4738", + "id": "4739", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89715,19 +89798,19 @@ "end": "80595", "length": "4", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80592" } } }, - "id": "4737", + "id": "4738", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80642", "length": "51", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80592" } } @@ -89736,7 +89819,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4717", + "id": "4718", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89744,31 +89827,31 @@ "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4716", + "parentIndex": "4717", "start": "79903" } } }, - "id": "4716", + "id": "4717", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80656", "length": "754", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79903" } } }, - "id": "4715", + "id": "4716", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79903" } } @@ -89777,7 +89860,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4714", + "id": "4715", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89785,7 +89868,7 @@ "end": "79898", "length": "7", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79892" } } @@ -89799,21 +89882,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4688", + "id": "4689", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4689", + "id": "4690", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -89821,7 +89904,7 @@ "end": "79506", "length": "36", "line": "2215", - "parentIndex": "4688", + "parentIndex": "4689", "start": "79471" }, "value": { @@ -89835,7 +89918,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4694", + "id": "4695", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89843,7 +89926,7 @@ "end": "79505", "length": "4", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79502" }, "value": "64" @@ -89853,7 +89936,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4693", + "id": "4694", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89861,31 +89944,31 @@ "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79496" } } }, - "id": "4692", + "id": "4693", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "79506", "length": "11", "line": "2215", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79496" } } }, - "id": "4691", + "id": "4692", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79496" } } @@ -89894,7 +89977,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4690", + "id": "4691", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89902,7 +89985,7 @@ "end": "79491", "length": "17", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79475" } } @@ -89917,7 +90000,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4697", + "id": "4698", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89925,7 +90008,7 @@ "end": "79641", "length": "17", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79625" } } @@ -89934,7 +90017,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0xa9059cbb00000000000000000000000000000000000000000000000000000000", - "id": "4698", + "id": "4699", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -89942,7 +90025,7 @@ "end": "79709", "length": "66", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79644" }, "value": "0" @@ -89952,7 +90035,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4696", + "id": "4697", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89960,19 +90043,19 @@ "end": "79623", "length": "6", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79618" } } }, - "id": "4695", + "id": "4696", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79710", "length": "93", "line": "2218", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79618" } } @@ -89988,7 +90071,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4703", + "id": "4704", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -89996,7 +90079,7 @@ "end": "79751", "length": "17", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79735" } } @@ -90004,7 +90087,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4704", + "id": "4705", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90012,7 +90095,7 @@ "end": "79754", "length": "1", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79754" }, "value": "4" @@ -90022,7 +90105,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4702", + "id": "4703", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90030,19 +90113,19 @@ "end": "79733", "length": "3", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79731" } } }, - "id": "4701", + "id": "4702", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79755", "length": "25", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79731" } } @@ -90050,7 +90133,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4705", + "id": "4706", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90058,7 +90141,7 @@ "end": "79759", "length": "2", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79758" } } @@ -90067,7 +90150,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4700", + "id": "4701", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90075,19 +90158,19 @@ "end": "79729", "length": "6", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79724" } } }, - "id": "4699", + "id": "4700", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79760", "length": "37", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79724" } } @@ -90103,7 +90186,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4710", + "id": "4711", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90111,7 +90194,7 @@ "end": "79830", "length": "17", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79814" } } @@ -90119,7 +90202,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4711", + "id": "4712", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90127,7 +90210,7 @@ "end": "79834", "length": "2", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79833" }, "value": "36" @@ -90137,7 +90220,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4709", + "id": "4710", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90145,19 +90228,19 @@ "end": "79812", "length": "3", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79810" } } }, - "id": "4708", + "id": "4709", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79835", "length": "26", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79810" } } @@ -90165,7 +90248,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4712", + "id": "4713", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90173,7 +90256,7 @@ "end": "79843", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79838" } } @@ -90182,7 +90265,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4707", + "id": "4708", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90190,19 +90273,19 @@ "end": "79808", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79803" } } }, - "id": "4706", + "id": "4707", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79844", "length": "42", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79803" } } @@ -90210,14 +90293,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4713", + "id": "4714", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "value": { @@ -90246,7 +90329,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4726", + "id": "4727", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90254,7 +90337,7 @@ "end": "80119", "length": "1", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80119" }, "value": "0" @@ -90264,7 +90347,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4725", + "id": "4726", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90272,19 +90355,19 @@ "end": "80117", "length": "5", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80113" } } }, - "id": "4724", + "id": "4725", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "80120", "length": "8", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80113" } } @@ -90292,7 +90375,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4727", + "id": "4728", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90300,7 +90383,7 @@ "end": "80123", "length": "1", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80123" }, "value": "1" @@ -90310,7 +90393,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4723", + "id": "4724", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90318,19 +90401,19 @@ "end": "80111", "length": "2", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80110" } } }, - "id": "4722", + "id": "4723", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80124", "length": "15", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80110" } } @@ -90345,7 +90428,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4731", + "id": "4732", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90353,19 +90436,19 @@ "end": "80143", "length": "14", "line": "2225", - "parentIndex": "4730", + "parentIndex": "4731", "start": "80130" } } }, - "id": "4730", + "id": "4731", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "80145", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80130" } } @@ -90373,7 +90456,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4732", + "id": "4733", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90381,7 +90464,7 @@ "end": "80149", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80148" }, "value": "31" @@ -90391,7 +90474,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4729", + "id": "4730", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90399,19 +90482,19 @@ "end": "80128", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80127" } } }, - "id": "4728", + "id": "4729", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "80150", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80127" } } @@ -90420,7 +90503,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4721", + "id": "4722", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90428,19 +90511,19 @@ "end": "80108", "length": "3", "line": "2225", - "parentIndex": "4720", + "parentIndex": "4721", "start": "80106" } } }, - "id": "4720", + "id": "4721", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "80151", "length": "46", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80106" } } @@ -90455,7 +90538,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4736", + "id": "4737", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90463,19 +90546,19 @@ "end": "80174", "length": "14", "line": "2225", - "parentIndex": "4735", + "parentIndex": "4736", "start": "80161" } } }, - "id": "4735", + "id": "4736", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "80176", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80161" } } @@ -90484,7 +90567,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4734", + "id": "4735", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90492,19 +90575,19 @@ "end": "80159", "length": "6", "line": "2225", - "parentIndex": "4733", + "parentIndex": "4734", "start": "80154" } } }, - "id": "4733", + "id": "4734", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "80177", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80154" } } @@ -90513,7 +90596,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4719", + "id": "4720", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90521,19 +90604,19 @@ "end": "80104", "length": "2", "line": "2225", - "parentIndex": "4718", + "parentIndex": "4719", "start": "80103" } } }, - "id": "4718", + "id": "4719", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80178", "length": "76", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80103" } } @@ -90548,7 +90631,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4740", + "id": "4741", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90556,19 +90639,19 @@ "end": "80599", "length": "3", "line": "2230", - "parentIndex": "4739", + "parentIndex": "4740", "start": "80597" } } }, - "id": "4739", + "id": "4740", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "80601", "length": "5", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80597" } } @@ -90576,7 +90659,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4741", + "id": "4742", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90584,7 +90667,7 @@ "end": "80608", "length": "5", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80604" } } @@ -90592,7 +90675,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4742", + "id": "4743", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90600,7 +90683,7 @@ "end": "80611", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80611" }, "value": "0" @@ -90609,7 +90692,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4743", + "id": "4744", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90617,7 +90700,7 @@ "end": "80630", "length": "17", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80614" } } @@ -90625,7 +90708,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4744", + "id": "4745", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90633,7 +90716,7 @@ "end": "80634", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80633" }, "value": "68" @@ -90642,7 +90725,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4745", + "id": "4746", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90650,7 +90733,7 @@ "end": "80637", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80637" }, "value": "0" @@ -90659,7 +90742,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4746", + "id": "4747", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90667,7 +90750,7 @@ "end": "80641", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80640" }, "value": "32" @@ -90677,7 +90760,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4738", + "id": "4739", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90685,19 +90768,19 @@ "end": "80595", "length": "4", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80592" } } }, - "id": "4737", + "id": "4738", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80642", "length": "51", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80592" } } @@ -90706,7 +90789,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4717", + "id": "4718", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90714,31 +90797,31 @@ "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4716", + "parentIndex": "4717", "start": "79903" } } }, - "id": "4716", + "id": "4717", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80656", "length": "754", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79903" } } }, - "id": "4715", + "id": "4716", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79903" } } @@ -90747,7 +90830,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4714", + "id": "4715", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90755,7 +90838,7 @@ "end": "79898", "length": "7", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79892" } } @@ -90769,21 +90852,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4688", + "id": "4689", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4689", + "id": "4690", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -90791,7 +90874,7 @@ "end": "79506", "length": "36", "line": "2215", - "parentIndex": "4688", + "parentIndex": "4689", "start": "79471" }, "value": { @@ -90805,7 +90888,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4694", + "id": "4695", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90813,7 +90896,7 @@ "end": "79505", "length": "4", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79502" }, "value": "64" @@ -90823,7 +90906,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4693", + "id": "4694", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90831,31 +90914,31 @@ "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79496" } } }, - "id": "4692", + "id": "4693", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "79506", "length": "11", "line": "2215", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79496" } } }, - "id": "4691", + "id": "4692", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79496" } } @@ -90864,7 +90947,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4690", + "id": "4691", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90872,7 +90955,7 @@ "end": "79491", "length": "17", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79475" } } @@ -90887,7 +90970,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4697", + "id": "4698", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90895,7 +90978,7 @@ "end": "79641", "length": "17", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79625" } } @@ -90904,7 +90987,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0xa9059cbb00000000000000000000000000000000000000000000000000000000", - "id": "4698", + "id": "4699", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90912,7 +90995,7 @@ "end": "79709", "length": "66", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79644" }, "value": "0" @@ -90922,7 +91005,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4696", + "id": "4697", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90930,19 +91013,19 @@ "end": "79623", "length": "6", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79618" } } }, - "id": "4695", + "id": "4696", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79710", "length": "93", "line": "2218", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79618" } } @@ -90958,7 +91041,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4703", + "id": "4704", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -90966,7 +91049,7 @@ "end": "79751", "length": "17", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79735" } } @@ -90974,7 +91057,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4704", + "id": "4705", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -90982,7 +91065,7 @@ "end": "79754", "length": "1", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79754" }, "value": "4" @@ -90992,7 +91075,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4702", + "id": "4703", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91000,19 +91083,19 @@ "end": "79733", "length": "3", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79731" } } }, - "id": "4701", + "id": "4702", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79755", "length": "25", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79731" } } @@ -91020,7 +91103,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4705", + "id": "4706", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91028,7 +91111,7 @@ "end": "79759", "length": "2", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79758" } } @@ -91037,7 +91120,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4700", + "id": "4701", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91045,19 +91128,19 @@ "end": "79729", "length": "6", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79724" } } }, - "id": "4699", + "id": "4700", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79760", "length": "37", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79724" } } @@ -91073,7 +91156,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4710", + "id": "4711", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91081,7 +91164,7 @@ "end": "79830", "length": "17", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79814" } } @@ -91089,7 +91172,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4711", + "id": "4712", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91097,7 +91180,7 @@ "end": "79834", "length": "2", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79833" }, "value": "36" @@ -91107,7 +91190,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4709", + "id": "4710", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91115,19 +91198,19 @@ "end": "79812", "length": "3", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79810" } } }, - "id": "4708", + "id": "4709", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79835", "length": "26", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79810" } } @@ -91135,7 +91218,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4712", + "id": "4713", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91143,7 +91226,7 @@ "end": "79843", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79838" } } @@ -91152,7 +91235,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4707", + "id": "4708", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91160,19 +91243,19 @@ "end": "79808", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79803" } } }, - "id": "4706", + "id": "4707", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79844", "length": "42", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79803" } } @@ -91180,14 +91263,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4713", + "id": "4714", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "value": { @@ -91216,7 +91299,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4726", + "id": "4727", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91224,7 +91307,7 @@ "end": "80119", "length": "1", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80119" }, "value": "0" @@ -91234,7 +91317,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4725", + "id": "4726", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91242,19 +91325,19 @@ "end": "80117", "length": "5", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80113" } } }, - "id": "4724", + "id": "4725", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "80120", "length": "8", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80113" } } @@ -91262,7 +91345,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4727", + "id": "4728", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91270,7 +91353,7 @@ "end": "80123", "length": "1", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80123" }, "value": "1" @@ -91280,7 +91363,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4723", + "id": "4724", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91288,19 +91371,19 @@ "end": "80111", "length": "2", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80110" } } }, - "id": "4722", + "id": "4723", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80124", "length": "15", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80110" } } @@ -91315,7 +91398,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4731", + "id": "4732", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91323,19 +91406,19 @@ "end": "80143", "length": "14", "line": "2225", - "parentIndex": "4730", + "parentIndex": "4731", "start": "80130" } } }, - "id": "4730", + "id": "4731", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "80145", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80130" } } @@ -91343,7 +91426,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4732", + "id": "4733", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91351,7 +91434,7 @@ "end": "80149", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80148" }, "value": "31" @@ -91361,7 +91444,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4729", + "id": "4730", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91369,19 +91452,19 @@ "end": "80128", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80127" } } }, - "id": "4728", + "id": "4729", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "80150", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80127" } } @@ -91390,7 +91473,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4721", + "id": "4722", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91398,19 +91481,19 @@ "end": "80108", "length": "3", "line": "2225", - "parentIndex": "4720", + "parentIndex": "4721", "start": "80106" } } }, - "id": "4720", + "id": "4721", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "80151", "length": "46", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80106" } } @@ -91425,7 +91508,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4736", + "id": "4737", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91433,19 +91516,19 @@ "end": "80174", "length": "14", "line": "2225", - "parentIndex": "4735", + "parentIndex": "4736", "start": "80161" } } }, - "id": "4735", + "id": "4736", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "80176", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80161" } } @@ -91454,7 +91537,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4734", + "id": "4735", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91462,19 +91545,19 @@ "end": "80159", "length": "6", "line": "2225", - "parentIndex": "4733", + "parentIndex": "4734", "start": "80154" } } }, - "id": "4733", + "id": "4734", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "80177", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80154" } } @@ -91483,7 +91566,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4719", + "id": "4720", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91491,19 +91574,19 @@ "end": "80104", "length": "2", "line": "2225", - "parentIndex": "4718", + "parentIndex": "4719", "start": "80103" } } }, - "id": "4718", + "id": "4719", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80178", "length": "76", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80103" } } @@ -91518,7 +91601,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4740", + "id": "4741", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91526,19 +91609,19 @@ "end": "80599", "length": "3", "line": "2230", - "parentIndex": "4739", + "parentIndex": "4740", "start": "80597" } } }, - "id": "4739", + "id": "4740", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "80601", "length": "5", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80597" } } @@ -91546,7 +91629,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4741", + "id": "4742", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91554,7 +91637,7 @@ "end": "80608", "length": "5", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80604" } } @@ -91562,7 +91645,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4742", + "id": "4743", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91570,7 +91653,7 @@ "end": "80611", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80611" }, "value": "0" @@ -91579,7 +91662,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4743", + "id": "4744", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91587,7 +91670,7 @@ "end": "80630", "length": "17", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80614" } } @@ -91595,7 +91678,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4744", + "id": "4745", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91603,7 +91686,7 @@ "end": "80634", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80633" }, "value": "68" @@ -91612,7 +91695,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4745", + "id": "4746", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91620,7 +91703,7 @@ "end": "80637", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80637" }, "value": "0" @@ -91629,7 +91712,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4746", + "id": "4747", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91637,7 +91720,7 @@ "end": "80641", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80640" }, "value": "32" @@ -91647,7 +91730,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4738", + "id": "4739", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91655,19 +91738,19 @@ "end": "80595", "length": "4", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80592" } } }, - "id": "4737", + "id": "4738", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80642", "length": "51", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80592" } } @@ -91676,7 +91759,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4717", + "id": "4718", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91684,31 +91767,31 @@ "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4716", + "parentIndex": "4717", "start": "79903" } } }, - "id": "4716", + "id": "4717", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80656", "length": "754", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79903" } } }, - "id": "4715", + "id": "4716", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79903" } } @@ -91717,7 +91800,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4714", + "id": "4715", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91725,7 +91808,7 @@ "end": "79898", "length": "7", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79892" } } @@ -91739,21 +91822,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4688", + "id": "4689", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4689", + "id": "4690", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -91761,7 +91844,7 @@ "end": "79506", "length": "36", "line": "2215", - "parentIndex": "4688", + "parentIndex": "4689", "start": "79471" }, "value": { @@ -91775,7 +91858,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4694", + "id": "4695", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91783,7 +91866,7 @@ "end": "79505", "length": "4", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79502" }, "value": "64" @@ -91793,7 +91876,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4693", + "id": "4694", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91801,31 +91884,31 @@ "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79496" } } }, - "id": "4692", + "id": "4693", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "79506", "length": "11", "line": "2215", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79496" } } }, - "id": "4691", + "id": "4692", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79496" } } @@ -91834,7 +91917,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4690", + "id": "4691", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91842,7 +91925,7 @@ "end": "79491", "length": "17", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79475" } } @@ -91857,7 +91940,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4697", + "id": "4698", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91865,7 +91948,7 @@ "end": "79641", "length": "17", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79625" } } @@ -91874,7 +91957,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0xa9059cbb00000000000000000000000000000000000000000000000000000000", - "id": "4698", + "id": "4699", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91882,7 +91965,7 @@ "end": "79709", "length": "66", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79644" }, "value": "0" @@ -91892,7 +91975,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4696", + "id": "4697", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91900,19 +91983,19 @@ "end": "79623", "length": "6", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79618" } } }, - "id": "4695", + "id": "4696", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79710", "length": "93", "line": "2218", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79618" } } @@ -91928,7 +92011,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4703", + "id": "4704", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91936,7 +92019,7 @@ "end": "79751", "length": "17", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79735" } } @@ -91944,7 +92027,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4704", + "id": "4705", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -91952,7 +92035,7 @@ "end": "79754", "length": "1", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79754" }, "value": "4" @@ -91962,7 +92045,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4702", + "id": "4703", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91970,19 +92053,19 @@ "end": "79733", "length": "3", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79731" } } }, - "id": "4701", + "id": "4702", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79755", "length": "25", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79731" } } @@ -91990,7 +92073,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4705", + "id": "4706", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -91998,7 +92081,7 @@ "end": "79759", "length": "2", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79758" } } @@ -92007,7 +92090,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4700", + "id": "4701", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92015,19 +92098,19 @@ "end": "79729", "length": "6", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79724" } } }, - "id": "4699", + "id": "4700", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79760", "length": "37", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79724" } } @@ -92043,7 +92126,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4710", + "id": "4711", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92051,7 +92134,7 @@ "end": "79830", "length": "17", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79814" } } @@ -92059,7 +92142,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4711", + "id": "4712", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92067,7 +92150,7 @@ "end": "79834", "length": "2", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79833" }, "value": "36" @@ -92077,7 +92160,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4709", + "id": "4710", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92085,19 +92168,19 @@ "end": "79812", "length": "3", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79810" } } }, - "id": "4708", + "id": "4709", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79835", "length": "26", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79810" } } @@ -92105,7 +92188,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4712", + "id": "4713", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92113,7 +92196,7 @@ "end": "79843", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79838" } } @@ -92122,7 +92205,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4707", + "id": "4708", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92130,19 +92213,19 @@ "end": "79808", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79803" } } }, - "id": "4706", + "id": "4707", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79844", "length": "42", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79803" } } @@ -92150,14 +92233,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4713", + "id": "4714", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "value": { @@ -92186,7 +92269,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4726", + "id": "4727", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92194,7 +92277,7 @@ "end": "80119", "length": "1", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80119" }, "value": "0" @@ -92204,7 +92287,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4725", + "id": "4726", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92212,19 +92295,19 @@ "end": "80117", "length": "5", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80113" } } }, - "id": "4724", + "id": "4725", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "80120", "length": "8", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80113" } } @@ -92232,7 +92315,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4727", + "id": "4728", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92240,7 +92323,7 @@ "end": "80123", "length": "1", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80123" }, "value": "1" @@ -92250,7 +92333,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4723", + "id": "4724", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92258,19 +92341,19 @@ "end": "80111", "length": "2", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80110" } } }, - "id": "4722", + "id": "4723", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80124", "length": "15", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80110" } } @@ -92285,7 +92368,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4731", + "id": "4732", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92293,19 +92376,19 @@ "end": "80143", "length": "14", "line": "2225", - "parentIndex": "4730", + "parentIndex": "4731", "start": "80130" } } }, - "id": "4730", + "id": "4731", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "80145", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80130" } } @@ -92313,7 +92396,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4732", + "id": "4733", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92321,7 +92404,7 @@ "end": "80149", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80148" }, "value": "31" @@ -92331,7 +92414,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4729", + "id": "4730", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92339,19 +92422,19 @@ "end": "80128", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80127" } } }, - "id": "4728", + "id": "4729", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "80150", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80127" } } @@ -92360,7 +92443,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4721", + "id": "4722", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92368,19 +92451,19 @@ "end": "80108", "length": "3", "line": "2225", - "parentIndex": "4720", + "parentIndex": "4721", "start": "80106" } } }, - "id": "4720", + "id": "4721", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "80151", "length": "46", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80106" } } @@ -92395,7 +92478,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4736", + "id": "4737", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92403,19 +92486,19 @@ "end": "80174", "length": "14", "line": "2225", - "parentIndex": "4735", + "parentIndex": "4736", "start": "80161" } } }, - "id": "4735", + "id": "4736", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "80176", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80161" } } @@ -92424,7 +92507,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4734", + "id": "4735", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92432,19 +92515,19 @@ "end": "80159", "length": "6", "line": "2225", - "parentIndex": "4733", + "parentIndex": "4734", "start": "80154" } } }, - "id": "4733", + "id": "4734", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "80177", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80154" } } @@ -92453,7 +92536,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4719", + "id": "4720", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92461,19 +92544,19 @@ "end": "80104", "length": "2", "line": "2225", - "parentIndex": "4718", + "parentIndex": "4719", "start": "80103" } } }, - "id": "4718", + "id": "4719", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80178", "length": "76", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80103" } } @@ -92488,7 +92571,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4740", + "id": "4741", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92496,19 +92579,19 @@ "end": "80599", "length": "3", "line": "2230", - "parentIndex": "4739", + "parentIndex": "4740", "start": "80597" } } }, - "id": "4739", + "id": "4740", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "80601", "length": "5", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80597" } } @@ -92516,7 +92599,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4741", + "id": "4742", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92524,7 +92607,7 @@ "end": "80608", "length": "5", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80604" } } @@ -92532,7 +92615,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4742", + "id": "4743", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92540,7 +92623,7 @@ "end": "80611", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80611" }, "value": "0" @@ -92549,7 +92632,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4743", + "id": "4744", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92557,7 +92640,7 @@ "end": "80630", "length": "17", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80614" } } @@ -92565,7 +92648,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4744", + "id": "4745", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92573,7 +92656,7 @@ "end": "80634", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80633" }, "value": "68" @@ -92582,7 +92665,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4745", + "id": "4746", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92590,7 +92673,7 @@ "end": "80637", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80637" }, "value": "0" @@ -92599,7 +92682,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4746", + "id": "4747", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92607,7 +92690,7 @@ "end": "80641", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80640" }, "value": "32" @@ -92617,7 +92700,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4738", + "id": "4739", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92625,19 +92708,19 @@ "end": "80595", "length": "4", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80592" } } }, - "id": "4737", + "id": "4738", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80642", "length": "51", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80592" } } @@ -92646,7 +92729,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4717", + "id": "4718", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92654,31 +92737,31 @@ "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4716", + "parentIndex": "4717", "start": "79903" } } }, - "id": "4716", + "id": "4717", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80656", "length": "754", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79903" } } }, - "id": "4715", + "id": "4716", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79903" } } @@ -92687,7 +92770,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4714", + "id": "4715", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92695,7 +92778,7 @@ "end": "79898", "length": "7", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79892" } } @@ -92709,21 +92792,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4688", + "id": "4689", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4689", + "id": "4690", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -92731,7 +92814,7 @@ "end": "79506", "length": "36", "line": "2215", - "parentIndex": "4688", + "parentIndex": "4689", "start": "79471" }, "value": { @@ -92745,7 +92828,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4694", + "id": "4695", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92753,7 +92836,7 @@ "end": "79505", "length": "4", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79502" }, "value": "64" @@ -92763,7 +92846,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4693", + "id": "4694", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92771,31 +92854,31 @@ "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4692", + "parentIndex": "4693", "start": "79496" } } }, - "id": "4692", + "id": "4693", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "79506", "length": "11", "line": "2215", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79496" } } }, - "id": "4691", + "id": "4692", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "79500", "length": "5", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79496" } } @@ -92804,7 +92887,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4690", + "id": "4691", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92812,7 +92895,7 @@ "end": "79491", "length": "17", "line": "2215", - "parentIndex": "4689", + "parentIndex": "4690", "start": "79475" } } @@ -92827,7 +92910,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4697", + "id": "4698", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92835,7 +92918,7 @@ "end": "79641", "length": "17", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79625" } } @@ -92844,7 +92927,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0xa9059cbb00000000000000000000000000000000000000000000000000000000", - "id": "4698", + "id": "4699", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92852,7 +92935,7 @@ "end": "79709", "length": "66", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79644" }, "value": "0" @@ -92862,7 +92945,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4696", + "id": "4697", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92870,19 +92953,19 @@ "end": "79623", "length": "6", "line": "2218", - "parentIndex": "4695", + "parentIndex": "4696", "start": "79618" } } }, - "id": "4695", + "id": "4696", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79710", "length": "93", "line": "2218", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79618" } } @@ -92898,7 +92981,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4703", + "id": "4704", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92906,7 +92989,7 @@ "end": "79751", "length": "17", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79735" } } @@ -92914,7 +92997,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4704", + "id": "4705", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -92922,7 +93005,7 @@ "end": "79754", "length": "1", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79754" }, "value": "4" @@ -92932,7 +93015,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4702", + "id": "4703", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92940,19 +93023,19 @@ "end": "79733", "length": "3", "line": "2219", - "parentIndex": "4701", + "parentIndex": "4702", "start": "79731" } } }, - "id": "4701", + "id": "4702", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79755", "length": "25", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79731" } } @@ -92960,7 +93043,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4705", + "id": "4706", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92968,7 +93051,7 @@ "end": "79759", "length": "2", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79758" } } @@ -92977,7 +93060,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4700", + "id": "4701", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -92985,19 +93068,19 @@ "end": "79729", "length": "6", "line": "2219", - "parentIndex": "4699", + "parentIndex": "4700", "start": "79724" } } }, - "id": "4699", + "id": "4700", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79760", "length": "37", "line": "2219", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79724" } } @@ -93013,7 +93096,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4710", + "id": "4711", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93021,7 +93104,7 @@ "end": "79830", "length": "17", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79814" } } @@ -93029,7 +93112,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4711", + "id": "4712", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -93037,7 +93120,7 @@ "end": "79834", "length": "2", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79833" }, "value": "36" @@ -93047,7 +93130,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4709", + "id": "4710", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93055,19 +93138,19 @@ "end": "79812", "length": "3", "line": "2220", - "parentIndex": "4708", + "parentIndex": "4709", "start": "79810" } } }, - "id": "4708", + "id": "4709", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "79835", "length": "26", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79810" } } @@ -93075,7 +93158,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4712", + "id": "4713", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93083,7 +93166,7 @@ "end": "79843", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79838" } } @@ -93092,7 +93175,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4707", + "id": "4708", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93100,19 +93183,19 @@ "end": "79808", "length": "6", "line": "2220", - "parentIndex": "4706", + "parentIndex": "4707", "start": "79803" } } }, - "id": "4706", + "id": "4707", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "79844", "length": "42", "line": "2220", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79803" } } @@ -93120,14 +93203,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4713", + "id": "4714", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "80656", "length": "765", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79892" }, "value": { @@ -93156,7 +93239,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4726", + "id": "4727", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -93164,7 +93247,7 @@ "end": "80119", "length": "1", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80119" }, "value": "0" @@ -93174,7 +93257,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4725", + "id": "4726", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93182,19 +93265,19 @@ "end": "80117", "length": "5", "line": "2225", - "parentIndex": "4724", + "parentIndex": "4725", "start": "80113" } } }, - "id": "4724", + "id": "4725", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "80120", "length": "8", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80113" } } @@ -93202,7 +93285,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4727", + "id": "4728", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -93210,7 +93293,7 @@ "end": "80123", "length": "1", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80123" }, "value": "1" @@ -93220,7 +93303,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4723", + "id": "4724", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93228,19 +93311,19 @@ "end": "80111", "length": "2", "line": "2225", - "parentIndex": "4722", + "parentIndex": "4723", "start": "80110" } } }, - "id": "4722", + "id": "4723", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80124", "length": "15", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80110" } } @@ -93255,7 +93338,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4731", + "id": "4732", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93263,19 +93346,19 @@ "end": "80143", "length": "14", "line": "2225", - "parentIndex": "4730", + "parentIndex": "4731", "start": "80130" } } }, - "id": "4730", + "id": "4731", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "80145", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80130" } } @@ -93283,7 +93366,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4732", + "id": "4733", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -93291,7 +93374,7 @@ "end": "80149", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80148" }, "value": "31" @@ -93301,7 +93384,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4729", + "id": "4730", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93309,19 +93392,19 @@ "end": "80128", "length": "2", "line": "2225", - "parentIndex": "4728", + "parentIndex": "4729", "start": "80127" } } }, - "id": "4728", + "id": "4729", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "80150", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80127" } } @@ -93330,7 +93413,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4721", + "id": "4722", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93338,19 +93421,19 @@ "end": "80108", "length": "3", "line": "2225", - "parentIndex": "4720", + "parentIndex": "4721", "start": "80106" } } }, - "id": "4720", + "id": "4721", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "80151", "length": "46", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80106" } } @@ -93365,7 +93448,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4736", + "id": "4737", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93373,19 +93456,19 @@ "end": "80174", "length": "14", "line": "2225", - "parentIndex": "4735", + "parentIndex": "4736", "start": "80161" } } }, - "id": "4735", + "id": "4736", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "80176", "length": "16", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80161" } } @@ -93394,7 +93477,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4734", + "id": "4735", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93402,19 +93485,19 @@ "end": "80159", "length": "6", "line": "2225", - "parentIndex": "4733", + "parentIndex": "4734", "start": "80154" } } }, - "id": "4733", + "id": "4734", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "80177", "length": "24", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80154" } } @@ -93423,7 +93506,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4719", + "id": "4720", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93431,19 +93514,19 @@ "end": "80104", "length": "2", "line": "2225", - "parentIndex": "4718", + "parentIndex": "4719", "start": "80103" } } }, - "id": "4718", + "id": "4719", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80178", "length": "76", "line": "2225", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80103" } } @@ -93458,7 +93541,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4740", + "id": "4741", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93466,19 +93549,19 @@ "end": "80599", "length": "3", "line": "2230", - "parentIndex": "4739", + "parentIndex": "4740", "start": "80597" } } }, - "id": "4739", + "id": "4740", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "80601", "length": "5", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80597" } } @@ -93486,7 +93569,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4741", + "id": "4742", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93494,7 +93577,7 @@ "end": "80608", "length": "5", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80604" } } @@ -93502,7 +93585,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4742", + "id": "4743", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -93510,7 +93593,7 @@ "end": "80611", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80611" }, "value": "0" @@ -93519,7 +93602,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4743", + "id": "4744", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93527,7 +93610,7 @@ "end": "80630", "length": "17", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80614" } } @@ -93535,7 +93618,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4744", + "id": "4745", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -93543,7 +93626,7 @@ "end": "80634", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80633" }, "value": "68" @@ -93552,7 +93635,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4745", + "id": "4746", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -93560,7 +93643,7 @@ "end": "80637", "length": "1", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80637" }, "value": "0" @@ -93569,7 +93652,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4746", + "id": "4747", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -93577,7 +93660,7 @@ "end": "80641", "length": "2", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80640" }, "value": "32" @@ -93587,7 +93670,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4738", + "id": "4739", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93595,19 +93678,19 @@ "end": "80595", "length": "4", "line": "2230", - "parentIndex": "4737", + "parentIndex": "4738", "start": "80592" } } }, - "id": "4737", + "id": "4738", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "80642", "length": "51", "line": "2230", - "parentIndex": "4686", + "parentIndex": "4687", "start": "80592" } } @@ -93616,7 +93699,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4717", + "id": "4718", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93624,31 +93707,31 @@ "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4716", + "parentIndex": "4717", "start": "79903" } } }, - "id": "4716", + "id": "4717", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "80656", "length": "754", "line": "2222", - "parentIndex": "4686", + "parentIndex": "4687", "start": "79903" } } }, - "id": "4715", + "id": "4716", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "79905", "length": "3", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79903" } } @@ -93657,7 +93740,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4714", + "id": "4715", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -93665,7 +93748,7 @@ "end": "79898", "length": "7", "line": "2222", - "parentIndex": "4713", + "parentIndex": "4714", "start": "79892" } } @@ -93678,14 +93761,14 @@ } ] }, - "id": "4686", + "id": "4687", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "80666", "length": "1269", "line": "2213", - "parentIndex": "4682", + "parentIndex": "4683", "start": "79398" } } @@ -93707,16 +93790,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4749", + "id": "4750", "name": "success", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4683", + "referencedDeclaration": "4684", "src": { "column": "16", "end": "80691", "length": "7", "line": "2234", - "parentIndex": "4747", + "parentIndex": "4748", "start": "80685" }, "typeDescription": { @@ -93735,7 +93818,7 @@ } ], "hexValue": "5452414e534645525f4641494c4544", - "id": "4750", + "id": "4751", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -93744,7 +93827,7 @@ "end": "80710", "length": "17", "line": "2234", - "parentIndex": "4747", + "parentIndex": "4748", "start": "80694" }, "typeDescription": { @@ -93758,7 +93841,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4748", + "id": "4749", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -93767,7 +93850,7 @@ "end": "80683", "length": "7", "line": "2234", - "parentIndex": "4747", + "parentIndex": "4748", "start": "80677" }, "typeDescription": { @@ -93776,7 +93859,7 @@ } } }, - "id": "4747", + "id": "4748", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -93784,7 +93867,7 @@ "end": "80711", "length": "35", "line": "2234", - "parentIndex": "4682", + "parentIndex": "4683", "start": "80677" }, "typeDescription": { @@ -93795,7 +93878,7 @@ } ] }, - "id": "4672", + "id": "4673", "implemented": true, "kind": "KIND_FUNCTION", "name": "safeTransfer", @@ -93804,85 +93887,85 @@ "end": "79283", "length": "12", "line": "2206", - "parentIndex": "4672", + "parentIndex": "4673", "start": "79272" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4673", + "id": "4674", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4674", + "id": "4675", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "4674", + "scope": "4675", "src": { "column": "8", "end": "79304", "length": "11", "line": "2207", - "parentIndex": "4673", + "parentIndex": "4674", "start": "79294" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "4675", + "id": "4676", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4676", + "id": "4677", "name": "ERC20", "nameLocation": { "column": "8", "end": "79298", "length": "5", "line": "2207", - "parentIndex": "4675", + "parentIndex": "4676", "start": "79294" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "8", "end": "79298", "length": "5", "line": "2207", - "parentIndex": "4675", + "parentIndex": "4676", "start": "79294" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "8", "end": "79298", "length": "5", "line": "2207", - "parentIndex": "4674", + "parentIndex": "4675", "start": "79294" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, "visibility": "INTERNAL" }, { - "id": "4677", + "id": "4678", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4677", + "scope": "4678", "src": { "column": "8", "end": "79324", "length": "10", "line": "2208", - "parentIndex": "4673", + "parentIndex": "4674", "start": "79315" }, "stateMutability": "NONPAYABLE", @@ -93892,7 +93975,7 @@ "typeString": "address" }, "typeName": { - "id": "4678", + "id": "4679", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -93900,7 +93983,7 @@ "end": "79321", "length": "7", "line": "2208", - "parentIndex": "4677", + "parentIndex": "4678", "start": "79315" }, "stateMutability": "NONPAYABLE", @@ -93912,16 +93995,16 @@ "visibility": "INTERNAL" }, { - "id": "4679", + "id": "4680", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4679", + "scope": "4680", "src": { "column": "8", "end": "79348", "length": "14", "line": "2209", - "parentIndex": "4673", + "parentIndex": "4674", "start": "79335" }, "stateMutability": "MUTABLE", @@ -93931,7 +94014,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4680", + "id": "4681", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -93939,7 +94022,7 @@ "end": "79341", "length": "7", "line": "2209", - "parentIndex": "4679", + "parentIndex": "4680", "start": "79335" }, "typeDescription": { @@ -93955,35 +94038,35 @@ "end": "79348", "length": "55", "line": "2207", - "parentIndex": "4672", + "parentIndex": "4673", "start": "79294" } }, "returnParameters": { - "id": "4681", + "id": "4682", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "80718", "length": "1456", "line": "2206", - "parentIndex": "4672", + "parentIndex": "4673", "start": "79263" } }, - "scope": "4549", - "signature": "8d2f8c29", + "scope": "4550", + "signature": "d6e935fe", "src": { "column": "4", "end": "80718", "length": "1456", "line": "2206", - "parentIndex": "4549", + "parentIndex": "4550", "start": "79263" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_contract$_ERC20_$4060$_t_address$_t_uint256$", + "typeIdentifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_uint256$", "typeString": "function(contract ERC20,address,uint256)" }, "visibility": "INTERNAL" @@ -93993,7 +94076,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4762", + "id": "4763", "implemented": true, "nodeType": "BLOCK", "src": { @@ -94001,7 +94084,7 @@ "end": "82178", "length": "1353", "line": "2241", - "parentIndex": "4752", + "parentIndex": "4753", "start": "80826" }, "statements": [ @@ -94009,11 +94092,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4764" + "4765" ], "declarations": [ { - "id": "4764", + "id": "4765", "mutability": "MUTABLE", "name": "success", "nameLocation": { @@ -94021,17 +94104,17 @@ "end": "80847", "length": "7", "line": "2242", - "parentIndex": "4764", + "parentIndex": "4765", "start": "80841" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4762", + "scope": "4763", "src": { "column": "8", "end": "80847", "length": "12", "line": "2242", - "parentIndex": "4763", + "parentIndex": "4764", "start": "80836" }, "storageLocation": "DEFAULT", @@ -94040,7 +94123,7 @@ "typeString": "bool" }, "typeName": { - "id": "4765", + "id": "4766", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -94048,7 +94131,7 @@ "end": "80839", "length": "4", "line": "2242", - "parentIndex": "4764", + "parentIndex": "4765", "start": "80836" }, "typeDescription": { @@ -94059,14 +94142,14 @@ "visibility": "INTERNAL" } ], - "id": "4763", + "id": "4764", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "80848", "length": "13", "line": "2242", - "parentIndex": "4762", + "parentIndex": "4763", "start": "80836" } } @@ -94075,35 +94158,35 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AssemblyStatement", "value": { "body": { - "id": "4767", + "id": "4768", "nodeType": "YUL_BLOCK", "src": { "column": "8", "end": "82127", "length": "1269", "line": "2244", - "parentIndex": "4766", + "parentIndex": "4767", "start": "80859" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4768", + "id": "4769", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4769", + "id": "4770", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -94111,7 +94194,7 @@ "end": "80967", "length": "36", "line": "2246", - "parentIndex": "4768", + "parentIndex": "4769", "start": "80932" }, "value": { @@ -94125,7 +94208,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4774", + "id": "4775", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94133,7 +94216,7 @@ "end": "80966", "length": "4", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80963" }, "value": "64" @@ -94143,7 +94226,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4773", + "id": "4774", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94151,31 +94234,31 @@ "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80957" } } }, - "id": "4772", + "id": "4773", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "80967", "length": "11", "line": "2246", - "parentIndex": "4766", + "parentIndex": "4767", "start": "80957" } } }, - "id": "4771", + "id": "4772", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80957" } } @@ -94184,7 +94267,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4770", + "id": "4771", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94192,7 +94275,7 @@ "end": "80952", "length": "17", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80936" } } @@ -94207,7 +94290,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4777", + "id": "4778", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94215,7 +94298,7 @@ "end": "81102", "length": "17", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81086" } } @@ -94224,7 +94307,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x095ea7b300000000000000000000000000000000000000000000000000000000", - "id": "4778", + "id": "4779", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94232,7 +94315,7 @@ "end": "81170", "length": "66", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81105" }, "value": "0" @@ -94242,7 +94325,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4776", + "id": "4777", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94250,19 +94333,19 @@ "end": "81084", "length": "6", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81079" } } }, - "id": "4775", + "id": "4776", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81171", "length": "93", "line": "2249", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81079" } } @@ -94278,7 +94361,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4783", + "id": "4784", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94286,7 +94369,7 @@ "end": "81212", "length": "17", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81196" } } @@ -94294,7 +94377,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4784", + "id": "4785", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94302,7 +94385,7 @@ "end": "81215", "length": "1", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81215" }, "value": "4" @@ -94312,7 +94395,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4782", + "id": "4783", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94320,19 +94403,19 @@ "end": "81194", "length": "3", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81192" } } }, - "id": "4781", + "id": "4782", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81216", "length": "25", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81192" } } @@ -94340,7 +94423,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4785", + "id": "4786", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94348,7 +94431,7 @@ "end": "81220", "length": "2", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81219" } } @@ -94357,7 +94440,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4780", + "id": "4781", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94365,19 +94448,19 @@ "end": "81190", "length": "6", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81185" } } }, - "id": "4779", + "id": "4780", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81221", "length": "37", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81185" } } @@ -94393,7 +94476,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4790", + "id": "4791", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94401,7 +94484,7 @@ "end": "81291", "length": "17", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81275" } } @@ -94409,7 +94492,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4791", + "id": "4792", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94417,7 +94500,7 @@ "end": "81295", "length": "2", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81294" }, "value": "36" @@ -94427,7 +94510,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4789", + "id": "4790", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94435,19 +94518,19 @@ "end": "81273", "length": "3", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81271" } } }, - "id": "4788", + "id": "4789", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81296", "length": "26", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81271" } } @@ -94455,7 +94538,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4792", + "id": "4793", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94463,7 +94546,7 @@ "end": "81304", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81299" } } @@ -94472,7 +94555,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4787", + "id": "4788", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94480,19 +94563,19 @@ "end": "81269", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81264" } } }, - "id": "4786", + "id": "4787", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81305", "length": "42", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81264" } } @@ -94500,14 +94583,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4793", + "id": "4794", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "value": { @@ -94536,7 +94619,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4806", + "id": "4807", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94544,7 +94627,7 @@ "end": "81580", "length": "1", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81580" }, "value": "0" @@ -94554,7 +94637,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4805", + "id": "4806", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94562,19 +94645,19 @@ "end": "81578", "length": "5", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81574" } } }, - "id": "4804", + "id": "4805", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "81581", "length": "8", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81574" } } @@ -94582,7 +94665,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4807", + "id": "4808", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94590,7 +94673,7 @@ "end": "81584", "length": "1", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81584" }, "value": "1" @@ -94600,7 +94683,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4803", + "id": "4804", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94608,19 +94691,19 @@ "end": "81572", "length": "2", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81571" } } }, - "id": "4802", + "id": "4803", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "81585", "length": "15", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81571" } } @@ -94635,7 +94718,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4811", + "id": "4812", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94643,19 +94726,19 @@ "end": "81604", "length": "14", "line": "2256", - "parentIndex": "4810", + "parentIndex": "4811", "start": "81591" } } }, - "id": "4810", + "id": "4811", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "81606", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81591" } } @@ -94663,7 +94746,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4812", + "id": "4813", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94671,7 +94754,7 @@ "end": "81610", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81609" }, "value": "31" @@ -94681,7 +94764,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4809", + "id": "4810", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94689,19 +94772,19 @@ "end": "81589", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81588" } } }, - "id": "4808", + "id": "4809", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "81611", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81588" } } @@ -94710,7 +94793,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4801", + "id": "4802", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94718,19 +94801,19 @@ "end": "81569", "length": "3", "line": "2256", - "parentIndex": "4800", + "parentIndex": "4801", "start": "81567" } } }, - "id": "4800", + "id": "4801", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81612", "length": "46", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81567" } } @@ -94745,7 +94828,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4816", + "id": "4817", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94753,19 +94836,19 @@ "end": "81635", "length": "14", "line": "2256", - "parentIndex": "4815", + "parentIndex": "4816", "start": "81622" } } }, - "id": "4815", + "id": "4816", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "81637", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81622" } } @@ -94774,7 +94857,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4814", + "id": "4815", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94782,19 +94865,19 @@ "end": "81620", "length": "6", "line": "2256", - "parentIndex": "4813", + "parentIndex": "4814", "start": "81615" } } }, - "id": "4813", + "id": "4814", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "81638", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81615" } } @@ -94803,7 +94886,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4799", + "id": "4800", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94811,19 +94894,19 @@ "end": "81565", "length": "2", "line": "2256", - "parentIndex": "4798", + "parentIndex": "4799", "start": "81564" } } }, - "id": "4798", + "id": "4799", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "81639", "length": "76", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81564" } } @@ -94838,7 +94921,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4820", + "id": "4821", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94846,19 +94929,19 @@ "end": "82060", "length": "3", "line": "2261", - "parentIndex": "4819", + "parentIndex": "4820", "start": "82058" } } }, - "id": "4819", + "id": "4820", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "82062", "length": "5", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82058" } } @@ -94866,7 +94949,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4821", + "id": "4822", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94874,7 +94957,7 @@ "end": "82069", "length": "5", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82065" } } @@ -94882,7 +94965,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4822", + "id": "4823", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94890,7 +94973,7 @@ "end": "82072", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82072" }, "value": "0" @@ -94899,7 +94982,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4823", + "id": "4824", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94907,7 +94990,7 @@ "end": "82091", "length": "17", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82075" } } @@ -94915,7 +94998,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4824", + "id": "4825", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94923,7 +95006,7 @@ "end": "82095", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82094" }, "value": "68" @@ -94932,7 +95015,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4825", + "id": "4826", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94940,7 +95023,7 @@ "end": "82098", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82098" }, "value": "0" @@ -94949,7 +95032,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4826", + "id": "4827", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -94957,7 +95040,7 @@ "end": "82102", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82101" }, "value": "32" @@ -94967,7 +95050,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4818", + "id": "4819", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -94975,19 +95058,19 @@ "end": "82056", "length": "4", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82053" } } }, - "id": "4817", + "id": "4818", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "82103", "length": "51", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82053" } } @@ -94996,7 +95079,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4797", + "id": "4798", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95004,31 +95087,31 @@ "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4796", + "parentIndex": "4797", "start": "81364" } } }, - "id": "4796", + "id": "4797", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "82117", "length": "754", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81364" } } }, - "id": "4795", + "id": "4796", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81364" } } @@ -95037,7 +95120,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4794", + "id": "4795", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95045,7 +95128,7 @@ "end": "81359", "length": "7", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81353" } } @@ -95059,21 +95142,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4768", + "id": "4769", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4769", + "id": "4770", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -95081,7 +95164,7 @@ "end": "80967", "length": "36", "line": "2246", - "parentIndex": "4768", + "parentIndex": "4769", "start": "80932" }, "value": { @@ -95095,7 +95178,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4774", + "id": "4775", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95103,7 +95186,7 @@ "end": "80966", "length": "4", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80963" }, "value": "64" @@ -95113,7 +95196,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4773", + "id": "4774", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95121,31 +95204,31 @@ "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80957" } } }, - "id": "4772", + "id": "4773", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "80967", "length": "11", "line": "2246", - "parentIndex": "4766", + "parentIndex": "4767", "start": "80957" } } }, - "id": "4771", + "id": "4772", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80957" } } @@ -95154,7 +95237,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4770", + "id": "4771", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95162,7 +95245,7 @@ "end": "80952", "length": "17", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80936" } } @@ -95177,7 +95260,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4777", + "id": "4778", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95185,7 +95268,7 @@ "end": "81102", "length": "17", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81086" } } @@ -95194,7 +95277,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x095ea7b300000000000000000000000000000000000000000000000000000000", - "id": "4778", + "id": "4779", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95202,7 +95285,7 @@ "end": "81170", "length": "66", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81105" }, "value": "0" @@ -95212,7 +95295,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4776", + "id": "4777", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95220,19 +95303,19 @@ "end": "81084", "length": "6", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81079" } } }, - "id": "4775", + "id": "4776", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81171", "length": "93", "line": "2249", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81079" } } @@ -95248,7 +95331,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4783", + "id": "4784", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95256,7 +95339,7 @@ "end": "81212", "length": "17", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81196" } } @@ -95264,7 +95347,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4784", + "id": "4785", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95272,7 +95355,7 @@ "end": "81215", "length": "1", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81215" }, "value": "4" @@ -95282,7 +95365,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4782", + "id": "4783", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95290,19 +95373,19 @@ "end": "81194", "length": "3", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81192" } } }, - "id": "4781", + "id": "4782", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81216", "length": "25", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81192" } } @@ -95310,7 +95393,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4785", + "id": "4786", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95318,7 +95401,7 @@ "end": "81220", "length": "2", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81219" } } @@ -95327,7 +95410,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4780", + "id": "4781", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95335,19 +95418,19 @@ "end": "81190", "length": "6", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81185" } } }, - "id": "4779", + "id": "4780", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81221", "length": "37", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81185" } } @@ -95363,7 +95446,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4790", + "id": "4791", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95371,7 +95454,7 @@ "end": "81291", "length": "17", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81275" } } @@ -95379,7 +95462,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4791", + "id": "4792", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95387,7 +95470,7 @@ "end": "81295", "length": "2", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81294" }, "value": "36" @@ -95397,7 +95480,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4789", + "id": "4790", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95405,19 +95488,19 @@ "end": "81273", "length": "3", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81271" } } }, - "id": "4788", + "id": "4789", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81296", "length": "26", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81271" } } @@ -95425,7 +95508,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4792", + "id": "4793", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95433,7 +95516,7 @@ "end": "81304", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81299" } } @@ -95442,7 +95525,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4787", + "id": "4788", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95450,19 +95533,19 @@ "end": "81269", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81264" } } }, - "id": "4786", + "id": "4787", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81305", "length": "42", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81264" } } @@ -95470,14 +95553,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4793", + "id": "4794", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "value": { @@ -95506,7 +95589,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4806", + "id": "4807", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95514,7 +95597,7 @@ "end": "81580", "length": "1", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81580" }, "value": "0" @@ -95524,7 +95607,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4805", + "id": "4806", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95532,19 +95615,19 @@ "end": "81578", "length": "5", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81574" } } }, - "id": "4804", + "id": "4805", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "81581", "length": "8", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81574" } } @@ -95552,7 +95635,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4807", + "id": "4808", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95560,7 +95643,7 @@ "end": "81584", "length": "1", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81584" }, "value": "1" @@ -95570,7 +95653,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4803", + "id": "4804", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95578,19 +95661,19 @@ "end": "81572", "length": "2", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81571" } } }, - "id": "4802", + "id": "4803", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "81585", "length": "15", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81571" } } @@ -95605,7 +95688,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4811", + "id": "4812", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95613,19 +95696,19 @@ "end": "81604", "length": "14", "line": "2256", - "parentIndex": "4810", + "parentIndex": "4811", "start": "81591" } } }, - "id": "4810", + "id": "4811", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "81606", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81591" } } @@ -95633,7 +95716,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4812", + "id": "4813", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95641,7 +95724,7 @@ "end": "81610", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81609" }, "value": "31" @@ -95651,7 +95734,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4809", + "id": "4810", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95659,19 +95742,19 @@ "end": "81589", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81588" } } }, - "id": "4808", + "id": "4809", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "81611", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81588" } } @@ -95680,7 +95763,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4801", + "id": "4802", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95688,19 +95771,19 @@ "end": "81569", "length": "3", "line": "2256", - "parentIndex": "4800", + "parentIndex": "4801", "start": "81567" } } }, - "id": "4800", + "id": "4801", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81612", "length": "46", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81567" } } @@ -95715,7 +95798,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4816", + "id": "4817", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95723,19 +95806,19 @@ "end": "81635", "length": "14", "line": "2256", - "parentIndex": "4815", + "parentIndex": "4816", "start": "81622" } } }, - "id": "4815", + "id": "4816", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "81637", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81622" } } @@ -95744,7 +95827,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4814", + "id": "4815", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95752,19 +95835,19 @@ "end": "81620", "length": "6", "line": "2256", - "parentIndex": "4813", + "parentIndex": "4814", "start": "81615" } } }, - "id": "4813", + "id": "4814", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "81638", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81615" } } @@ -95773,7 +95856,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4799", + "id": "4800", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95781,19 +95864,19 @@ "end": "81565", "length": "2", "line": "2256", - "parentIndex": "4798", + "parentIndex": "4799", "start": "81564" } } }, - "id": "4798", + "id": "4799", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "81639", "length": "76", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81564" } } @@ -95808,7 +95891,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4820", + "id": "4821", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95816,19 +95899,19 @@ "end": "82060", "length": "3", "line": "2261", - "parentIndex": "4819", + "parentIndex": "4820", "start": "82058" } } }, - "id": "4819", + "id": "4820", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "82062", "length": "5", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82058" } } @@ -95836,7 +95919,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4821", + "id": "4822", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95844,7 +95927,7 @@ "end": "82069", "length": "5", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82065" } } @@ -95852,7 +95935,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4822", + "id": "4823", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95860,7 +95943,7 @@ "end": "82072", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82072" }, "value": "0" @@ -95869,7 +95952,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4823", + "id": "4824", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95877,7 +95960,7 @@ "end": "82091", "length": "17", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82075" } } @@ -95885,7 +95968,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4824", + "id": "4825", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95893,7 +95976,7 @@ "end": "82095", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82094" }, "value": "68" @@ -95902,7 +95985,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4825", + "id": "4826", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95910,7 +95993,7 @@ "end": "82098", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82098" }, "value": "0" @@ -95919,7 +96002,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4826", + "id": "4827", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -95927,7 +96010,7 @@ "end": "82102", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82101" }, "value": "32" @@ -95937,7 +96020,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4818", + "id": "4819", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95945,19 +96028,19 @@ "end": "82056", "length": "4", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82053" } } }, - "id": "4817", + "id": "4818", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "82103", "length": "51", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82053" } } @@ -95966,7 +96049,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4797", + "id": "4798", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -95974,31 +96057,31 @@ "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4796", + "parentIndex": "4797", "start": "81364" } } }, - "id": "4796", + "id": "4797", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "82117", "length": "754", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81364" } } }, - "id": "4795", + "id": "4796", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81364" } } @@ -96007,7 +96090,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4794", + "id": "4795", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96015,7 +96098,7 @@ "end": "81359", "length": "7", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81353" } } @@ -96029,21 +96112,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4768", + "id": "4769", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4769", + "id": "4770", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -96051,7 +96134,7 @@ "end": "80967", "length": "36", "line": "2246", - "parentIndex": "4768", + "parentIndex": "4769", "start": "80932" }, "value": { @@ -96065,7 +96148,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4774", + "id": "4775", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96073,7 +96156,7 @@ "end": "80966", "length": "4", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80963" }, "value": "64" @@ -96083,7 +96166,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4773", + "id": "4774", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96091,31 +96174,31 @@ "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80957" } } }, - "id": "4772", + "id": "4773", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "80967", "length": "11", "line": "2246", - "parentIndex": "4766", + "parentIndex": "4767", "start": "80957" } } }, - "id": "4771", + "id": "4772", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80957" } } @@ -96124,7 +96207,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4770", + "id": "4771", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96132,7 +96215,7 @@ "end": "80952", "length": "17", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80936" } } @@ -96147,7 +96230,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4777", + "id": "4778", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96155,7 +96238,7 @@ "end": "81102", "length": "17", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81086" } } @@ -96164,7 +96247,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x095ea7b300000000000000000000000000000000000000000000000000000000", - "id": "4778", + "id": "4779", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96172,7 +96255,7 @@ "end": "81170", "length": "66", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81105" }, "value": "0" @@ -96182,7 +96265,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4776", + "id": "4777", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96190,19 +96273,19 @@ "end": "81084", "length": "6", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81079" } } }, - "id": "4775", + "id": "4776", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81171", "length": "93", "line": "2249", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81079" } } @@ -96218,7 +96301,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4783", + "id": "4784", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96226,7 +96309,7 @@ "end": "81212", "length": "17", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81196" } } @@ -96234,7 +96317,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4784", + "id": "4785", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96242,7 +96325,7 @@ "end": "81215", "length": "1", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81215" }, "value": "4" @@ -96252,7 +96335,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4782", + "id": "4783", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96260,19 +96343,19 @@ "end": "81194", "length": "3", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81192" } } }, - "id": "4781", + "id": "4782", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81216", "length": "25", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81192" } } @@ -96280,7 +96363,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4785", + "id": "4786", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96288,7 +96371,7 @@ "end": "81220", "length": "2", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81219" } } @@ -96297,7 +96380,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4780", + "id": "4781", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96305,19 +96388,19 @@ "end": "81190", "length": "6", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81185" } } }, - "id": "4779", + "id": "4780", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81221", "length": "37", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81185" } } @@ -96333,7 +96416,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4790", + "id": "4791", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96341,7 +96424,7 @@ "end": "81291", "length": "17", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81275" } } @@ -96349,7 +96432,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4791", + "id": "4792", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96357,7 +96440,7 @@ "end": "81295", "length": "2", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81294" }, "value": "36" @@ -96367,7 +96450,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4789", + "id": "4790", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96375,19 +96458,19 @@ "end": "81273", "length": "3", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81271" } } }, - "id": "4788", + "id": "4789", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81296", "length": "26", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81271" } } @@ -96395,7 +96478,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4792", + "id": "4793", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96403,7 +96486,7 @@ "end": "81304", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81299" } } @@ -96412,7 +96495,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4787", + "id": "4788", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96420,19 +96503,19 @@ "end": "81269", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81264" } } }, - "id": "4786", + "id": "4787", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81305", "length": "42", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81264" } } @@ -96440,14 +96523,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4793", + "id": "4794", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "value": { @@ -96476,7 +96559,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4806", + "id": "4807", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96484,7 +96567,7 @@ "end": "81580", "length": "1", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81580" }, "value": "0" @@ -96494,7 +96577,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4805", + "id": "4806", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96502,19 +96585,19 @@ "end": "81578", "length": "5", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81574" } } }, - "id": "4804", + "id": "4805", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "81581", "length": "8", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81574" } } @@ -96522,7 +96605,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4807", + "id": "4808", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96530,7 +96613,7 @@ "end": "81584", "length": "1", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81584" }, "value": "1" @@ -96540,7 +96623,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4803", + "id": "4804", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96548,19 +96631,19 @@ "end": "81572", "length": "2", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81571" } } }, - "id": "4802", + "id": "4803", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "81585", "length": "15", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81571" } } @@ -96575,7 +96658,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4811", + "id": "4812", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96583,19 +96666,19 @@ "end": "81604", "length": "14", "line": "2256", - "parentIndex": "4810", + "parentIndex": "4811", "start": "81591" } } }, - "id": "4810", + "id": "4811", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "81606", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81591" } } @@ -96603,7 +96686,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4812", + "id": "4813", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96611,7 +96694,7 @@ "end": "81610", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81609" }, "value": "31" @@ -96621,7 +96704,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4809", + "id": "4810", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96629,19 +96712,19 @@ "end": "81589", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81588" } } }, - "id": "4808", + "id": "4809", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "81611", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81588" } } @@ -96650,7 +96733,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4801", + "id": "4802", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96658,19 +96741,19 @@ "end": "81569", "length": "3", "line": "2256", - "parentIndex": "4800", + "parentIndex": "4801", "start": "81567" } } }, - "id": "4800", + "id": "4801", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81612", "length": "46", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81567" } } @@ -96685,7 +96768,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4816", + "id": "4817", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96693,19 +96776,19 @@ "end": "81635", "length": "14", "line": "2256", - "parentIndex": "4815", + "parentIndex": "4816", "start": "81622" } } }, - "id": "4815", + "id": "4816", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "81637", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81622" } } @@ -96714,7 +96797,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4814", + "id": "4815", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96722,19 +96805,19 @@ "end": "81620", "length": "6", "line": "2256", - "parentIndex": "4813", + "parentIndex": "4814", "start": "81615" } } }, - "id": "4813", + "id": "4814", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "81638", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81615" } } @@ -96743,7 +96826,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4799", + "id": "4800", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96751,19 +96834,19 @@ "end": "81565", "length": "2", "line": "2256", - "parentIndex": "4798", + "parentIndex": "4799", "start": "81564" } } }, - "id": "4798", + "id": "4799", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "81639", "length": "76", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81564" } } @@ -96778,7 +96861,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4820", + "id": "4821", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96786,19 +96869,19 @@ "end": "82060", "length": "3", "line": "2261", - "parentIndex": "4819", + "parentIndex": "4820", "start": "82058" } } }, - "id": "4819", + "id": "4820", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "82062", "length": "5", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82058" } } @@ -96806,7 +96889,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4821", + "id": "4822", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96814,7 +96897,7 @@ "end": "82069", "length": "5", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82065" } } @@ -96822,7 +96905,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4822", + "id": "4823", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96830,7 +96913,7 @@ "end": "82072", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82072" }, "value": "0" @@ -96839,7 +96922,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4823", + "id": "4824", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96847,7 +96930,7 @@ "end": "82091", "length": "17", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82075" } } @@ -96855,7 +96938,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4824", + "id": "4825", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96863,7 +96946,7 @@ "end": "82095", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82094" }, "value": "68" @@ -96872,7 +96955,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4825", + "id": "4826", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96880,7 +96963,7 @@ "end": "82098", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82098" }, "value": "0" @@ -96889,7 +96972,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4826", + "id": "4827", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -96897,7 +96980,7 @@ "end": "82102", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82101" }, "value": "32" @@ -96907,7 +96990,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4818", + "id": "4819", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96915,19 +96998,19 @@ "end": "82056", "length": "4", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82053" } } }, - "id": "4817", + "id": "4818", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "82103", "length": "51", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82053" } } @@ -96936,7 +97019,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4797", + "id": "4798", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96944,31 +97027,31 @@ "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4796", + "parentIndex": "4797", "start": "81364" } } }, - "id": "4796", + "id": "4797", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "82117", "length": "754", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81364" } } }, - "id": "4795", + "id": "4796", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81364" } } @@ -96977,7 +97060,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4794", + "id": "4795", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -96985,7 +97068,7 @@ "end": "81359", "length": "7", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81353" } } @@ -96999,21 +97082,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4768", + "id": "4769", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4769", + "id": "4770", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -97021,7 +97104,7 @@ "end": "80967", "length": "36", "line": "2246", - "parentIndex": "4768", + "parentIndex": "4769", "start": "80932" }, "value": { @@ -97035,7 +97118,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4774", + "id": "4775", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97043,7 +97126,7 @@ "end": "80966", "length": "4", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80963" }, "value": "64" @@ -97053,7 +97136,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4773", + "id": "4774", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97061,31 +97144,31 @@ "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80957" } } }, - "id": "4772", + "id": "4773", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "80967", "length": "11", "line": "2246", - "parentIndex": "4766", + "parentIndex": "4767", "start": "80957" } } }, - "id": "4771", + "id": "4772", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80957" } } @@ -97094,7 +97177,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4770", + "id": "4771", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97102,7 +97185,7 @@ "end": "80952", "length": "17", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80936" } } @@ -97117,7 +97200,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4777", + "id": "4778", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97125,7 +97208,7 @@ "end": "81102", "length": "17", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81086" } } @@ -97134,7 +97217,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x095ea7b300000000000000000000000000000000000000000000000000000000", - "id": "4778", + "id": "4779", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97142,7 +97225,7 @@ "end": "81170", "length": "66", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81105" }, "value": "0" @@ -97152,7 +97235,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4776", + "id": "4777", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97160,19 +97243,19 @@ "end": "81084", "length": "6", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81079" } } }, - "id": "4775", + "id": "4776", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81171", "length": "93", "line": "2249", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81079" } } @@ -97188,7 +97271,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4783", + "id": "4784", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97196,7 +97279,7 @@ "end": "81212", "length": "17", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81196" } } @@ -97204,7 +97287,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4784", + "id": "4785", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97212,7 +97295,7 @@ "end": "81215", "length": "1", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81215" }, "value": "4" @@ -97222,7 +97305,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4782", + "id": "4783", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97230,19 +97313,19 @@ "end": "81194", "length": "3", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81192" } } }, - "id": "4781", + "id": "4782", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81216", "length": "25", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81192" } } @@ -97250,7 +97333,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4785", + "id": "4786", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97258,7 +97341,7 @@ "end": "81220", "length": "2", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81219" } } @@ -97267,7 +97350,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4780", + "id": "4781", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97275,19 +97358,19 @@ "end": "81190", "length": "6", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81185" } } }, - "id": "4779", + "id": "4780", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81221", "length": "37", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81185" } } @@ -97303,7 +97386,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4790", + "id": "4791", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97311,7 +97394,7 @@ "end": "81291", "length": "17", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81275" } } @@ -97319,7 +97402,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4791", + "id": "4792", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97327,7 +97410,7 @@ "end": "81295", "length": "2", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81294" }, "value": "36" @@ -97337,7 +97420,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4789", + "id": "4790", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97345,19 +97428,19 @@ "end": "81273", "length": "3", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81271" } } }, - "id": "4788", + "id": "4789", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81296", "length": "26", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81271" } } @@ -97365,7 +97448,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4792", + "id": "4793", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97373,7 +97456,7 @@ "end": "81304", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81299" } } @@ -97382,7 +97465,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4787", + "id": "4788", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97390,19 +97473,19 @@ "end": "81269", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81264" } } }, - "id": "4786", + "id": "4787", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81305", "length": "42", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81264" } } @@ -97410,14 +97493,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4793", + "id": "4794", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "value": { @@ -97446,7 +97529,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4806", + "id": "4807", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97454,7 +97537,7 @@ "end": "81580", "length": "1", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81580" }, "value": "0" @@ -97464,7 +97547,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4805", + "id": "4806", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97472,19 +97555,19 @@ "end": "81578", "length": "5", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81574" } } }, - "id": "4804", + "id": "4805", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "81581", "length": "8", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81574" } } @@ -97492,7 +97575,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4807", + "id": "4808", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97500,7 +97583,7 @@ "end": "81584", "length": "1", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81584" }, "value": "1" @@ -97510,7 +97593,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4803", + "id": "4804", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97518,19 +97601,19 @@ "end": "81572", "length": "2", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81571" } } }, - "id": "4802", + "id": "4803", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "81585", "length": "15", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81571" } } @@ -97545,7 +97628,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4811", + "id": "4812", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97553,19 +97636,19 @@ "end": "81604", "length": "14", "line": "2256", - "parentIndex": "4810", + "parentIndex": "4811", "start": "81591" } } }, - "id": "4810", + "id": "4811", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "81606", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81591" } } @@ -97573,7 +97656,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4812", + "id": "4813", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97581,7 +97664,7 @@ "end": "81610", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81609" }, "value": "31" @@ -97591,7 +97674,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4809", + "id": "4810", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97599,19 +97682,19 @@ "end": "81589", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81588" } } }, - "id": "4808", + "id": "4809", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "81611", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81588" } } @@ -97620,7 +97703,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4801", + "id": "4802", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97628,19 +97711,19 @@ "end": "81569", "length": "3", "line": "2256", - "parentIndex": "4800", + "parentIndex": "4801", "start": "81567" } } }, - "id": "4800", + "id": "4801", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81612", "length": "46", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81567" } } @@ -97655,7 +97738,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4816", + "id": "4817", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97663,19 +97746,19 @@ "end": "81635", "length": "14", "line": "2256", - "parentIndex": "4815", + "parentIndex": "4816", "start": "81622" } } }, - "id": "4815", + "id": "4816", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "81637", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81622" } } @@ -97684,7 +97767,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4814", + "id": "4815", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97692,19 +97775,19 @@ "end": "81620", "length": "6", "line": "2256", - "parentIndex": "4813", + "parentIndex": "4814", "start": "81615" } } }, - "id": "4813", + "id": "4814", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "81638", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81615" } } @@ -97713,7 +97796,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4799", + "id": "4800", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97721,19 +97804,19 @@ "end": "81565", "length": "2", "line": "2256", - "parentIndex": "4798", + "parentIndex": "4799", "start": "81564" } } }, - "id": "4798", + "id": "4799", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "81639", "length": "76", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81564" } } @@ -97748,7 +97831,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4820", + "id": "4821", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97756,19 +97839,19 @@ "end": "82060", "length": "3", "line": "2261", - "parentIndex": "4819", + "parentIndex": "4820", "start": "82058" } } }, - "id": "4819", + "id": "4820", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "82062", "length": "5", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82058" } } @@ -97776,7 +97859,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4821", + "id": "4822", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97784,7 +97867,7 @@ "end": "82069", "length": "5", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82065" } } @@ -97792,7 +97875,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4822", + "id": "4823", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97800,7 +97883,7 @@ "end": "82072", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82072" }, "value": "0" @@ -97809,7 +97892,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4823", + "id": "4824", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97817,7 +97900,7 @@ "end": "82091", "length": "17", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82075" } } @@ -97825,7 +97908,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4824", + "id": "4825", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97833,7 +97916,7 @@ "end": "82095", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82094" }, "value": "68" @@ -97842,7 +97925,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4825", + "id": "4826", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97850,7 +97933,7 @@ "end": "82098", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82098" }, "value": "0" @@ -97859,7 +97942,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4826", + "id": "4827", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -97867,7 +97950,7 @@ "end": "82102", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82101" }, "value": "32" @@ -97877,7 +97960,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4818", + "id": "4819", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97885,19 +97968,19 @@ "end": "82056", "length": "4", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82053" } } }, - "id": "4817", + "id": "4818", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "82103", "length": "51", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82053" } } @@ -97906,7 +97989,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4797", + "id": "4798", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97914,31 +97997,31 @@ "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4796", + "parentIndex": "4797", "start": "81364" } } }, - "id": "4796", + "id": "4797", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "82117", "length": "754", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81364" } } }, - "id": "4795", + "id": "4796", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81364" } } @@ -97947,7 +98030,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4794", + "id": "4795", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -97955,7 +98038,7 @@ "end": "81359", "length": "7", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81353" } } @@ -97969,21 +98052,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulStatement", "value": { - "id": "4768", + "id": "4769", "nodeType": "YUL_STATEMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulVariableStatement", "value": { - "id": "4769", + "id": "4770", "let": true, "nodeType": "YUL_VARIABLE_DECLARATION", "src": { @@ -97991,7 +98074,7 @@ "end": "80967", "length": "36", "line": "2246", - "parentIndex": "4768", + "parentIndex": "4769", "start": "80932" }, "value": { @@ -98005,7 +98088,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x40", - "id": "4774", + "id": "4775", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98013,7 +98096,7 @@ "end": "80966", "length": "4", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80963" }, "value": "64" @@ -98023,7 +98106,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4773", + "id": "4774", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98031,31 +98114,31 @@ "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4772", + "parentIndex": "4773", "start": "80957" } } }, - "id": "4772", + "id": "4773", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "37", "end": "80967", "length": "11", "line": "2246", - "parentIndex": "4766", + "parentIndex": "4767", "start": "80957" } } }, - "id": "4771", + "id": "4772", "nodeType": "YUL_EXPRESSION", "src": { "column": "37", "end": "80961", "length": "5", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80957" } } @@ -98064,7 +98147,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4770", + "id": "4771", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98072,7 +98155,7 @@ "end": "80952", "length": "17", "line": "2246", - "parentIndex": "4769", + "parentIndex": "4770", "start": "80936" } } @@ -98087,7 +98170,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4777", + "id": "4778", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98095,7 +98178,7 @@ "end": "81102", "length": "17", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81086" } } @@ -98104,7 +98187,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { "hexValue": "0x095ea7b300000000000000000000000000000000000000000000000000000000", - "id": "4778", + "id": "4779", "kind": "HEX_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98112,7 +98195,7 @@ "end": "81170", "length": "66", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81105" }, "value": "0" @@ -98122,7 +98205,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4776", + "id": "4777", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98130,19 +98213,19 @@ "end": "81084", "length": "6", "line": "2249", - "parentIndex": "4775", + "parentIndex": "4776", "start": "81079" } } }, - "id": "4775", + "id": "4776", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81171", "length": "93", "line": "2249", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81079" } } @@ -98158,7 +98241,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4783", + "id": "4784", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98166,7 +98249,7 @@ "end": "81212", "length": "17", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81196" } } @@ -98174,7 +98257,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4784", + "id": "4785", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98182,7 +98265,7 @@ "end": "81215", "length": "1", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81215" }, "value": "4" @@ -98192,7 +98275,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4782", + "id": "4783", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98200,19 +98283,19 @@ "end": "81194", "length": "3", "line": "2250", - "parentIndex": "4781", + "parentIndex": "4782", "start": "81192" } } }, - "id": "4781", + "id": "4782", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81216", "length": "25", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81192" } } @@ -98220,7 +98303,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4785", + "id": "4786", "name": "to", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98228,7 +98311,7 @@ "end": "81220", "length": "2", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81219" } } @@ -98237,7 +98320,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4780", + "id": "4781", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98245,19 +98328,19 @@ "end": "81190", "length": "6", "line": "2250", - "parentIndex": "4779", + "parentIndex": "4780", "start": "81185" } } }, - "id": "4779", + "id": "4780", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81221", "length": "37", "line": "2250", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81185" } } @@ -98273,7 +98356,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4790", + "id": "4791", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98281,7 +98364,7 @@ "end": "81291", "length": "17", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81275" } } @@ -98289,7 +98372,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4791", + "id": "4792", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98297,7 +98380,7 @@ "end": "81295", "length": "2", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81294" }, "value": "36" @@ -98307,7 +98390,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4789", + "id": "4790", "name": "add", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98315,19 +98398,19 @@ "end": "81273", "length": "3", "line": "2251", - "parentIndex": "4788", + "parentIndex": "4789", "start": "81271" } } }, - "id": "4788", + "id": "4789", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81296", "length": "26", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81271" } } @@ -98335,7 +98418,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4792", + "id": "4793", "name": "amount", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98343,7 +98426,7 @@ "end": "81304", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81299" } } @@ -98352,7 +98435,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4787", + "id": "4788", "name": "mstore", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98360,19 +98443,19 @@ "end": "81269", "length": "6", "line": "2251", - "parentIndex": "4786", + "parentIndex": "4787", "start": "81264" } } }, - "id": "4786", + "id": "4787", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "12", "end": "81305", "length": "42", "line": "2251", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81264" } } @@ -98380,14 +98463,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulAssignmentStatement", "value": { - "id": "4793", + "id": "4794", "nodeType": "YUL_ASSIGNMENT", "src": { "column": "12", "end": "82117", "length": "765", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81353" }, "value": { @@ -98416,7 +98499,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4806", + "id": "4807", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98424,7 +98507,7 @@ "end": "81580", "length": "1", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81580" }, "value": "0" @@ -98434,7 +98517,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4805", + "id": "4806", "name": "mload", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98442,19 +98525,19 @@ "end": "81578", "length": "5", "line": "2256", - "parentIndex": "4804", + "parentIndex": "4805", "start": "81574" } } }, - "id": "4804", + "id": "4805", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "26", "end": "81581", "length": "8", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81574" } } @@ -98462,7 +98545,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4807", + "id": "4808", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98470,7 +98553,7 @@ "end": "81584", "length": "1", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81584" }, "value": "1" @@ -98480,7 +98563,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4803", + "id": "4804", "name": "eq", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98488,19 +98571,19 @@ "end": "81572", "length": "2", "line": "2256", - "parentIndex": "4802", + "parentIndex": "4803", "start": "81571" } } }, - "id": "4802", + "id": "4803", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "81585", "length": "15", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81571" } } @@ -98515,7 +98598,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4811", + "id": "4812", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98523,19 +98606,19 @@ "end": "81604", "length": "14", "line": "2256", - "parentIndex": "4810", + "parentIndex": "4811", "start": "81591" } } }, - "id": "4810", + "id": "4811", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "43", "end": "81606", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81591" } } @@ -98543,7 +98626,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4812", + "id": "4813", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98551,7 +98634,7 @@ "end": "81610", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81609" }, "value": "31" @@ -98561,7 +98644,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4809", + "id": "4810", "name": "gt", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98569,19 +98652,19 @@ "end": "81589", "length": "2", "line": "2256", - "parentIndex": "4808", + "parentIndex": "4809", "start": "81588" } } }, - "id": "4808", + "id": "4809", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "40", "end": "81611", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81588" } } @@ -98590,7 +98673,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4801", + "id": "4802", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98598,19 +98681,19 @@ "end": "81569", "length": "3", "line": "2256", - "parentIndex": "4800", + "parentIndex": "4801", "start": "81567" } } }, - "id": "4800", + "id": "4801", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "19", "end": "81612", "length": "46", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81567" } } @@ -98625,7 +98708,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4816", + "id": "4817", "name": "returndatasize", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98633,19 +98716,19 @@ "end": "81635", "length": "14", "line": "2256", - "parentIndex": "4815", + "parentIndex": "4816", "start": "81622" } } }, - "id": "4815", + "id": "4816", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "74", "end": "81637", "length": "16", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81622" } } @@ -98654,7 +98737,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4814", + "id": "4815", "name": "iszero", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98662,19 +98745,19 @@ "end": "81620", "length": "6", "line": "2256", - "parentIndex": "4813", + "parentIndex": "4814", "start": "81615" } } }, - "id": "4813", + "id": "4814", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "67", "end": "81638", "length": "24", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81615" } } @@ -98683,7 +98766,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4799", + "id": "4800", "name": "or", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98691,19 +98774,19 @@ "end": "81565", "length": "2", "line": "2256", - "parentIndex": "4798", + "parentIndex": "4799", "start": "81564" } } }, - "id": "4798", + "id": "4799", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "81639", "length": "76", "line": "2256", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81564" } } @@ -98718,7 +98801,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4820", + "id": "4821", "name": "gas", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98726,19 +98809,19 @@ "end": "82060", "length": "3", "line": "2261", - "parentIndex": "4819", + "parentIndex": "4820", "start": "82058" } } }, - "id": "4819", + "id": "4820", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "21", "end": "82062", "length": "5", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82058" } } @@ -98746,7 +98829,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4821", + "id": "4822", "name": "token", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98754,7 +98837,7 @@ "end": "82069", "length": "5", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82065" } } @@ -98762,7 +98845,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4822", + "id": "4823", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98770,7 +98853,7 @@ "end": "82072", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82072" }, "value": "0" @@ -98779,7 +98862,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4823", + "id": "4824", "name": "freeMemoryPointer", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98787,7 +98870,7 @@ "end": "82091", "length": "17", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82075" } } @@ -98795,7 +98878,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4824", + "id": "4825", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98803,7 +98886,7 @@ "end": "82095", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82094" }, "value": "68" @@ -98812,7 +98895,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4825", + "id": "4826", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98820,7 +98903,7 @@ "end": "82098", "length": "1", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82098" }, "value": "0" @@ -98829,7 +98912,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulLiteralStatement", "value": { - "id": "4826", + "id": "4827", "kind": "DECIMAL_NUMBER", "nodeType": "YUL_LITERAL", "src": { @@ -98837,7 +98920,7 @@ "end": "82102", "length": "2", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82101" }, "value": "32" @@ -98847,7 +98930,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4818", + "id": "4819", "name": "call", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98855,19 +98938,19 @@ "end": "82056", "length": "4", "line": "2261", - "parentIndex": "4817", + "parentIndex": "4818", "start": "82053" } } }, - "id": "4817", + "id": "4818", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "16", "end": "82103", "length": "51", "line": "2261", - "parentIndex": "4766", + "parentIndex": "4767", "start": "82053" } } @@ -98876,7 +98959,7 @@ "functionName": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4797", + "id": "4798", "name": "and", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98884,31 +98967,31 @@ "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4796", + "parentIndex": "4797", "start": "81364" } } }, - "id": "4796", + "id": "4797", "nodeType": "YUL_FUNCTION_CALL", "src": { "column": "23", "end": "82117", "length": "754", "line": "2253", - "parentIndex": "4766", + "parentIndex": "4767", "start": "81364" } } }, - "id": "4795", + "id": "4796", "nodeType": "YUL_EXPRESSION", "src": { "column": "23", "end": "81366", "length": "3", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81364" } } @@ -98917,7 +99000,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.YulIdentifier", "value": { - "id": "4794", + "id": "4795", "name": "success", "nodeType": "YUL_IDENTIFIER", "src": { @@ -98925,7 +99008,7 @@ "end": "81359", "length": "7", "line": "2253", - "parentIndex": "4793", + "parentIndex": "4794", "start": "81353" } } @@ -98938,14 +99021,14 @@ } ] }, - "id": "4766", + "id": "4767", "nodeType": "ASSEMBLY_STATEMENT", "src": { "column": "8", "end": "82127", "length": "1269", "line": "2244", - "parentIndex": "4762", + "parentIndex": "4763", "start": "80859" } } @@ -98967,16 +99050,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4829", + "id": "4830", "name": "success", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4763", + "referencedDeclaration": "4764", "src": { "column": "16", "end": "82152", "length": "7", "line": "2265", - "parentIndex": "4827", + "parentIndex": "4828", "start": "82146" }, "typeDescription": { @@ -98995,7 +99078,7 @@ } ], "hexValue": "415050524f56455f4641494c4544", - "id": "4830", + "id": "4831", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -99004,7 +99087,7 @@ "end": "82170", "length": "16", "line": "2265", - "parentIndex": "4827", + "parentIndex": "4828", "start": "82155" }, "typeDescription": { @@ -99018,7 +99101,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4828", + "id": "4829", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -99027,7 +99110,7 @@ "end": "82144", "length": "7", "line": "2265", - "parentIndex": "4827", + "parentIndex": "4828", "start": "82138" }, "typeDescription": { @@ -99036,7 +99119,7 @@ } } }, - "id": "4827", + "id": "4828", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -99044,7 +99127,7 @@ "end": "82171", "length": "34", "line": "2265", - "parentIndex": "4762", + "parentIndex": "4763", "start": "82138" }, "typeDescription": { @@ -99055,7 +99138,7 @@ } ] }, - "id": "4752", + "id": "4753", "implemented": true, "kind": "KIND_FUNCTION", "name": "safeApprove", @@ -99064,85 +99147,85 @@ "end": "80744", "length": "11", "line": "2237", - "parentIndex": "4752", + "parentIndex": "4753", "start": "80734" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4753", + "id": "4754", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4754", + "id": "4755", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "4754", + "scope": "4755", "src": { "column": "8", "end": "80765", "length": "11", "line": "2238", - "parentIndex": "4753", + "parentIndex": "4754", "start": "80755" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "4755", + "id": "4756", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4756", + "id": "4757", "name": "ERC20", "nameLocation": { "column": "8", "end": "80759", "length": "5", "line": "2238", - "parentIndex": "4755", + "parentIndex": "4756", "start": "80755" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "8", "end": "80759", "length": "5", "line": "2238", - "parentIndex": "4755", + "parentIndex": "4756", "start": "80755" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "8", "end": "80759", "length": "5", "line": "2238", - "parentIndex": "4754", + "parentIndex": "4755", "start": "80755" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, "visibility": "INTERNAL" }, { - "id": "4757", + "id": "4758", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4757", + "scope": "4758", "src": { "column": "8", "end": "80785", "length": "10", "line": "2239", - "parentIndex": "4753", + "parentIndex": "4754", "start": "80776" }, "stateMutability": "NONPAYABLE", @@ -99152,7 +99235,7 @@ "typeString": "address" }, "typeName": { - "id": "4758", + "id": "4759", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -99160,7 +99243,7 @@ "end": "80782", "length": "7", "line": "2239", - "parentIndex": "4757", + "parentIndex": "4758", "start": "80776" }, "stateMutability": "NONPAYABLE", @@ -99172,16 +99255,16 @@ "visibility": "INTERNAL" }, { - "id": "4759", + "id": "4760", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4759", + "scope": "4760", "src": { "column": "8", "end": "80809", "length": "14", "line": "2240", - "parentIndex": "4753", + "parentIndex": "4754", "start": "80796" }, "stateMutability": "MUTABLE", @@ -99191,7 +99274,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4760", + "id": "4761", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -99199,7 +99282,7 @@ "end": "80802", "length": "7", "line": "2240", - "parentIndex": "4759", + "parentIndex": "4760", "start": "80796" }, "typeDescription": { @@ -99215,35 +99298,35 @@ "end": "80809", "length": "55", "line": "2238", - "parentIndex": "4752", + "parentIndex": "4753", "start": "80755" } }, "returnParameters": { - "id": "4761", + "id": "4762", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "82178", "length": "1454", "line": "2237", - "parentIndex": "4752", + "parentIndex": "4753", "start": "80725" } }, - "scope": "4549", - "signature": "11e8fd6d", + "scope": "4550", + "signature": "75a98b8a", "src": { "column": "4", "end": "82178", "length": "1454", "line": "2237", - "parentIndex": "4549", + "parentIndex": "4550", "start": "80725" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_contract$_ERC20_$4060$_t_address$_t_uint256$", + "typeIdentifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_uint256$", "typeString": "function(contract ERC20,address,uint256)" }, "visibility": "INTERNAL" @@ -99254,7 +99337,7 @@ "end": "82180", "length": "5196", "line": "2153", - "parentIndex": "4499", + "parentIndex": "4500", "start": "76985" } } @@ -99270,13 +99353,13 @@ } }, { - "id": 4831, + "id": 4832, "license": "BUSL-1.1", "name": "AffineGovernable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AffineGovernable.sol", "exported_symbols": [ { - "id": 4831, + "id": 4832, "name": "AffineGovernable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/AffineGovernable.sol" } @@ -99287,7 +99370,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "4852", + "id": "4853", "literals": [ "pragma", "solidity", @@ -99304,7 +99387,7 @@ "end": "82244", "length": "24", "line": "2271", - "parentIndex": "4831", + "parentIndex": "4832", "start": "82221" }, "text": "pragma solidity =0.8.16;" @@ -99314,10 +99397,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "4882", + "id": "4883", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "4882" + "4883" ], "name": "AffineGovernable", "nameLocation": { @@ -99325,7 +99408,7 @@ "end": "82271", "length": "16", "line": "2273", - "parentIndex": "4882", + "parentIndex": "4883", "start": "82256" }, "nodeType": "CONTRACT_DEFINITION", @@ -99333,17 +99416,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4884", + "id": "4885", "isStateVariable": true, "name": "governance", "nodeType": "VARIABLE_DECLARATION", - "scope": "4882", + "scope": "4883", "src": { "column": "4", "end": "82343", "length": "26", "line": "2275", - "parentIndex": "4882", + "parentIndex": "4883", "start": "82318" }, "stateMutability": "MUTABLE", @@ -99353,7 +99436,7 @@ "typeString": "address" }, "typeName": { - "id": "4885", + "id": "4886", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -99361,7 +99444,7 @@ "end": "82324", "length": "7", "line": "2275", - "parentIndex": "4884", + "parentIndex": "4885", "start": "82318" }, "stateMutability": "NONPAYABLE", @@ -99377,7 +99460,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "4889", + "id": "4890", "implemented": true, "nodeType": "BLOCK", "src": { @@ -99385,7 +99468,7 @@ "end": "82420", "length": "45", "line": "2277", - "parentIndex": "4887", + "parentIndex": "4888", "start": "82376" }, "statements": [ @@ -99395,7 +99478,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4891", + "id": "4892", "name": "_onlyGovernance", "nodeType": "IDENTIFIER", "src": { @@ -99403,7 +99486,7 @@ "end": "82400", "length": "15", "line": "2278", - "parentIndex": "4890", + "parentIndex": "4891", "start": "82386" }, "typeDescription": { @@ -99412,7 +99495,7 @@ } } }, - "id": "4890", + "id": "4891", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -99420,7 +99503,7 @@ "end": "82402", "length": "17", "line": "2278", - "parentIndex": "4889", + "parentIndex": "4890", "start": "82386" }, "typeDescription": { @@ -99432,7 +99515,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4892", + "id": "4893", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -99440,7 +99523,7 @@ "end": "82413", "length": "1", "line": "2279", - "parentIndex": "4889", + "parentIndex": "4890", "start": "82413" }, "typeDescription": { @@ -99451,26 +99534,26 @@ } ] }, - "id": "4887", + "id": "4888", "name": "onlyGovernance", "nameLocation": { "column": "13", "end": "82372", "length": "14", "line": "2277", - "parentIndex": "4887", + "parentIndex": "4888", "start": "82359" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "4888", + "id": "4889", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "82420", "length": "71", "line": "2277", - "parentIndex": "4882", + "parentIndex": "4883", "start": "82350" } }, @@ -99479,7 +99562,7 @@ "end": "82420", "length": "71", "line": "2277", - "parentIndex": "4882", + "parentIndex": "4883", "start": "82350" }, "visibility": "INTERNAL" @@ -99489,7 +99572,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4897", + "id": "4898", "implemented": true, "nodeType": "BLOCK", "src": { @@ -99497,7 +99580,7 @@ "end": "82537", "length": "70", "line": "2282", - "parentIndex": "4894", + "parentIndex": "4895", "start": "82468" }, "statements": [ @@ -99518,14 +99601,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4900", + "id": "4901", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4902", + "id": "4903", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -99533,7 +99616,7 @@ "end": "82488", "length": "3", "line": "2283", - "parentIndex": "4901", + "parentIndex": "4902", "start": "82486" }, "typeDescription": { @@ -99542,13 +99625,13 @@ } } }, - "id": "4901", + "id": "4902", "memberLocation": { "column": "20", "end": "82495", "length": "6", "line": "2283", - "parentIndex": "4901", + "parentIndex": "4902", "start": "82490" }, "memberName": "sender", @@ -99558,7 +99641,7 @@ "end": "82495", "length": "10", "line": "2283", - "parentIndex": "4900", + "parentIndex": "4901", "start": "82486" }, "typeDescription": { @@ -99572,16 +99655,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4903", + "id": "4904", "name": "governance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4884", + "referencedDeclaration": "4885", "src": { "column": "30", "end": "82509", "length": "10", "line": "2283", - "parentIndex": "4900", + "parentIndex": "4901", "start": "82500" }, "typeDescription": { @@ -99595,7 +99678,7 @@ "end": "82509", "length": "24", "line": "2283", - "parentIndex": "4898", + "parentIndex": "4899", "start": "82486" }, "typeDescription": { @@ -99614,7 +99697,7 @@ } ], "hexValue": "4f6e6c7920476f7665726e616e63652e", - "id": "4904", + "id": "4905", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -99623,7 +99706,7 @@ "end": "82529", "length": "18", "line": "2283", - "parentIndex": "4898", + "parentIndex": "4899", "start": "82512" }, "typeDescription": { @@ -99637,7 +99720,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4899", + "id": "4900", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -99646,7 +99729,7 @@ "end": "82484", "length": "7", "line": "2283", - "parentIndex": "4898", + "parentIndex": "4899", "start": "82478" }, "typeDescription": { @@ -99655,7 +99738,7 @@ } } }, - "id": "4898", + "id": "4899", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -99663,7 +99746,7 @@ "end": "82530", "length": "53", "line": "2283", - "parentIndex": "4897", + "parentIndex": "4898", "start": "82478" }, "typeDescription": { @@ -99674,7 +99757,7 @@ } ] }, - "id": "4894", + "id": "4895", "implemented": true, "kind": "KIND_FUNCTION", "name": "_onlyGovernance", @@ -99683,42 +99766,42 @@ "end": "82450", "length": "15", "line": "2282", - "parentIndex": "4894", + "parentIndex": "4895", "start": "82436" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4895", + "id": "4896", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "82537", "length": "111", "line": "2282", - "parentIndex": "4894", + "parentIndex": "4895", "start": "82427" } }, "returnParameters": { - "id": "4896", + "id": "4897", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "82537", "length": "111", "line": "2282", - "parentIndex": "4894", + "parentIndex": "4895", "start": "82427" } }, - "scope": "4882", + "scope": "4883", "signature": "b2ecfa2e", "src": { "column": "4", "end": "82537", "length": "111", "line": "2282", - "parentIndex": "4882", + "parentIndex": "4883", "start": "82427" }, "stateMutability": "VIEW", @@ -99734,7 +99817,7 @@ "end": "82539", "length": "293", "line": "2273", - "parentIndex": "4831", + "parentIndex": "4832", "start": "82247" } } @@ -99750,33 +99833,33 @@ } }, { - "id": 4905, + "id": 4906, "license": "BUSL-1.1", "name": "BaseStrategy", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseStrategy.sol", "exported_symbols": [ { - "id": 4905, + "id": 4906, "name": "BaseStrategy", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseStrategy.sol" }, { - "id": 4831, + "id": 4832, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 4831, + "id": 4832, "name": "BaseVault", "absolute_path": "BaseVault.sol" }, { - "id": 4831, + "id": 4832, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 4831, + "id": 4832, "name": "Strings", "absolute_path": "Strings.sol" } @@ -99787,7 +99870,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "4927", + "id": "4928", "literals": [ "pragma", "solidity", @@ -99804,7 +99887,7 @@ "end": "82603", "length": "24", "line": "2289", - "parentIndex": "4905", + "parentIndex": "4906", "start": "82580" }, "text": "pragma solidity =0.8.16;" @@ -99815,15 +99898,15 @@ "value": { "absolutePath": "ERC20.sol", "file": "./ERC20.sol", - "id": "4957", + "id": "4958", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4905", - "sourceUnit": "4831", + "scope": "4906", + "sourceUnit": "4832", "src": { "end": "82639", "length": "34", "line": "2291", - "parentIndex": "4905", + "parentIndex": "4906", "start": "82606" } } @@ -99833,15 +99916,15 @@ "value": { "absolutePath": "BaseVault.sol", "file": "./BaseVault.sol", - "id": "4958", + "id": "4959", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4905", - "sourceUnit": "4831", + "scope": "4906", + "sourceUnit": "4832", "src": { "end": "82682", "length": "42", "line": "2292", - "parentIndex": "4905", + "parentIndex": "4906", "start": "82641" } } @@ -99851,15 +99934,15 @@ "value": { "absolutePath": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "id": "4959", + "id": "4960", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4905", - "sourceUnit": "4831", + "scope": "4906", + "sourceUnit": "4832", "src": { "end": "82737", "length": "54", "line": "2293", - "parentIndex": "4905", + "parentIndex": "4906", "start": "82684" } } @@ -99869,15 +99952,15 @@ "value": { "absolutePath": "Strings.sol", "file": "./Strings.sol", - "id": "4960", + "id": "4961", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4905", - "sourceUnit": "4831", + "scope": "4906", + "sourceUnit": "4832", "src": { "end": "82776", "length": "38", "line": "2294", - "parentIndex": "4905", + "parentIndex": "4906", "start": "82739" } } @@ -99886,20 +99969,20 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "contractDependencies": [ - "4957", "4958", "4959", - "4960" + "4960", + "4961" ], "fullyImplemented": true, - "id": "4961", + "id": "4962", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "4961", - "4957", + "4962", "4958", "4959", - "4960" + "4960", + "4961" ], "name": "BaseStrategy", "nameLocation": { @@ -99907,7 +99990,7 @@ "end": "82843", "length": "12", "line": "2297", - "parentIndex": "4961", + "parentIndex": "4962", "start": "82832" }, "nodeType": "CONTRACT_DEFINITION", @@ -99915,17 +99998,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", "value": { - "id": "4963", + "id": "4964", "libraryName": { - "id": "4964", + "id": "4965", "name": "SafeTransferLib", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4499", + "referencedDeclaration": "4500", "src": { "end": "82871", "length": "15", "line": "2298", - "parentIndex": "4963", + "parentIndex": "4964", "start": "82857" } }, @@ -99935,45 +100018,45 @@ "end": "82882", "length": "32", "line": "2298", - "parentIndex": "4961", + "parentIndex": "4962", "start": "82851" }, "typeName": { - "id": "4965", + "id": "4966", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4966", + "id": "4967", "name": "ERC20", "nameLocation": { "column": "30", "end": "82881", "length": "5", "line": "2298", - "parentIndex": "4965", + "parentIndex": "4966", "start": "82877" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "30", "end": "82881", "length": "5", "line": "2298", - "parentIndex": "4965", + "parentIndex": "4966", "start": "82877" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "30", "end": "82881", "length": "5", "line": "2298", - "parentIndex": "4963", + "parentIndex": "4964", "start": "82877" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -99983,7 +100066,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4974", + "id": "4975", "implemented": true, "nodeType": "BLOCK", "src": { @@ -99991,7 +100074,7 @@ "end": "82988", "length": "70", "line": "2300", - "parentIndex": "4968", + "parentIndex": "4969", "start": "82919" }, "statements": [ @@ -100001,24 +100084,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4976", + "id": "4977", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4977", + "id": "4978", "name": "vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4970", + "referencedDeclaration": "4971", "src": { "column": "8", "end": "82933", "length": "5", "line": "2301", - "parentIndex": "4976", + "parentIndex": "4977", "start": "82929" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -100028,20 +100111,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4978", + "id": "4979", "name": "_vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4986", + "referencedDeclaration": "4971", "src": { "column": "16", "end": "82942", "length": "6", "line": "2301", - "parentIndex": "4976", + "parentIndex": "4977", "start": "82937" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -100051,27 +100134,27 @@ "end": "82942", "length": "14", "line": "2301", - "parentIndex": "4975", + "parentIndex": "4976", "start": "82929" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "4975", + "id": "4976", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "82943", "length": "15", "line": "2301", - "parentIndex": "4974", + "parentIndex": "4975", "start": "82929" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -100082,24 +100165,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4980", + "id": "4981", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4981", + "id": "4982", "name": "asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7867", + "referencedDeclaration": "7870", "src": { "column": "8", "end": "82957", "length": "5", "line": "2302", - "parentIndex": "4980", + "parentIndex": "4981", "start": "82953" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -100125,51 +100208,51 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4986", + "id": "4987", "name": "_vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6449", + "referencedDeclaration": "6451", "src": { "column": "22", "end": "82972", "length": "6", "line": "2302", - "parentIndex": "4985", + "parentIndex": "4986", "start": "82967" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "4985", + "id": "4986", "memberLocation": { "column": "29", "end": "82978", "length": "5", "line": "2302", - "parentIndex": "4985", + "parentIndex": "4986", "start": "82974" }, "memberName": "asset", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7867", + "referencedDeclaration": "7870", "src": { "column": "22", "end": "82978", "length": "12", "line": "2302", - "parentIndex": "4984", + "parentIndex": "4985", "start": "82967" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "4984", + "id": "4985", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -100177,7 +100260,7 @@ "end": "82980", "length": "14", "line": "2302", - "parentIndex": "4982", + "parentIndex": "4983", "start": "82967" }, "typeDescription": { @@ -100190,7 +100273,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4983", + "id": "4984", "name": "ERC20", "nodeType": "IDENTIFIER", "src": { @@ -100198,7 +100281,7 @@ "end": "82965", "length": "5", "line": "2302", - "parentIndex": "4982", + "parentIndex": "4983", "start": "82961" }, "typeDescription": { @@ -100207,7 +100290,7 @@ } } }, - "id": "4982", + "id": "4983", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -100215,7 +100298,7 @@ "end": "82981", "length": "21", "line": "2302", - "parentIndex": "4980", + "parentIndex": "4981", "start": "82961" }, "typeDescription": { @@ -100229,7 +100312,7 @@ "end": "82981", "length": "29", "line": "2302", - "parentIndex": "4979", + "parentIndex": "4980", "start": "82953" }, "typeDescription": { @@ -100238,14 +100321,14 @@ } } }, - "id": "4979", + "id": "4980", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "82982", "length": "30", "line": "2302", - "parentIndex": "4974", + "parentIndex": "4975", "start": "82953" }, "typeDescription": { @@ -100256,45 +100339,45 @@ } ] }, - "id": "4968", + "id": "4969", "implemented": true, "kind": "CONSTRUCTOR", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4969", + "id": "4970", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4970", + "id": "4971", "name": "_vault", "nodeType": "VARIABLE_DECLARATION", - "scope": "4970", + "scope": "4971", "src": { "column": "16", "end": "82916", "length": "16", "line": "2300", - "parentIndex": "4969", + "parentIndex": "4970", "start": "82901" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" }, "typeName": { - "id": "4971", + "id": "4972", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4972", + "id": "4973", "name": "BaseVault", "nameLocation": { "column": "16", "end": "82909", "length": "9", "line": "2300", - "parentIndex": "4971", + "parentIndex": "4972", "start": "82901" }, "nodeType": "IDENTIFIER_PATH", @@ -100303,21 +100386,21 @@ "end": "82909", "length": "9", "line": "2300", - "parentIndex": "4971", + "parentIndex": "4972", "start": "82901" } }, - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "16", "end": "82909", "length": "9", "line": "2300", - "parentIndex": "4970", + "parentIndex": "4971", "start": "82901" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } }, @@ -100329,29 +100412,29 @@ "end": "82916", "length": "16", "line": "2300", - "parentIndex": "4968", + "parentIndex": "4969", "start": "82901" } }, "returnParameters": { - "id": "4973", + "id": "4974", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "82988", "length": "100", "line": "2300", - "parentIndex": "4968", + "parentIndex": "4969", "start": "82889" } }, - "scope": "4961", + "scope": "4962", "src": { "column": "4", "end": "82988", "length": "100", "line": "2300", - "parentIndex": "4961", + "parentIndex": "4962", "start": "82889" }, "stateMutability": "NONPAYABLE", @@ -100365,37 +100448,37 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4988", + "id": "4989", "isStateVariable": true, "name": "vault", "nodeType": "VARIABLE_DECLARATION", - "scope": "4961", + "scope": "4962", "src": { "column": "4", "end": "83104", "length": "33", "line": "2306", - "parentIndex": "4961", + "parentIndex": "4962", "start": "83072" }, "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" }, "typeName": { - "id": "4989", + "id": "4990", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4990", + "id": "4991", "name": "BaseVault", "nameLocation": { "column": "4", "end": "83080", "length": "9", "line": "2306", - "parentIndex": "4989", + "parentIndex": "4990", "start": "83072" }, "nodeType": "IDENTIFIER_PATH", @@ -100404,21 +100487,21 @@ "end": "83080", "length": "9", "line": "2306", - "parentIndex": "4989", + "parentIndex": "4990", "start": "83072" } }, - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "4", "end": "83080", "length": "9", "line": "2306", - "parentIndex": "4988", + "parentIndex": "4989", "start": "83072" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } }, @@ -100429,7 +100512,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "4994", + "id": "4995", "implemented": true, "nodeType": "BLOCK", "src": { @@ -100437,7 +100520,7 @@ "end": "83214", "length": "83", "line": "2308", - "parentIndex": "4992", + "parentIndex": "4993", "start": "83132" }, "statements": [ @@ -100458,14 +100541,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4997", + "id": "4998", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4999", + "id": "5000", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -100473,7 +100556,7 @@ "end": "83152", "length": "3", "line": "2309", - "parentIndex": "4998", + "parentIndex": "4999", "start": "83150" }, "typeDescription": { @@ -100482,13 +100565,13 @@ } } }, - "id": "4998", + "id": "4999", "memberLocation": { "column": "20", "end": "83159", "length": "6", "line": "2309", - "parentIndex": "4998", + "parentIndex": "4999", "start": "83154" }, "memberName": "sender", @@ -100498,7 +100581,7 @@ "end": "83159", "length": "10", "line": "2309", - "parentIndex": "4997", + "parentIndex": "4998", "start": "83150" }, "typeDescription": { @@ -100522,7 +100605,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5003", + "id": "5004", "name": "vault", "nodeType": "IDENTIFIER", "src": { @@ -100530,7 +100613,7 @@ "end": "83176", "length": "5", "line": "2309", - "parentIndex": "5000", + "parentIndex": "5001", "start": "83172" }, "typeDescription": { @@ -100549,7 +100632,7 @@ "typeString": "address" } ], - "id": "5001", + "id": "5002", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -100557,7 +100640,7 @@ "end": "83170", "length": "7", "line": "2309", - "parentIndex": "5000", + "parentIndex": "5001", "start": "83164" }, "typeDescription": { @@ -100565,7 +100648,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5002", + "id": "5003", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -100573,7 +100656,7 @@ "end": "83170", "length": "7", "line": "2309", - "parentIndex": "5001", + "parentIndex": "5002", "start": "83164" }, "stateMutability": "NONPAYABLE", @@ -100584,7 +100667,7 @@ } } }, - "id": "5000", + "id": "5001", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -100592,7 +100675,7 @@ "end": "83177", "length": "14", "line": "2309", - "parentIndex": "4997", + "parentIndex": "4998", "start": "83164" }, "typeDescription": { @@ -100606,7 +100689,7 @@ "end": "83177", "length": "28", "line": "2309", - "parentIndex": "4995", + "parentIndex": "4996", "start": "83150" }, "typeDescription": { @@ -100625,7 +100708,7 @@ } ], "hexValue": "42533a206f6e6c79207661756c74", - "id": "5004", + "id": "5005", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -100634,7 +100717,7 @@ "end": "83195", "length": "16", "line": "2309", - "parentIndex": "4995", + "parentIndex": "4996", "start": "83180" }, "typeDescription": { @@ -100648,7 +100731,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4996", + "id": "4997", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -100657,7 +100740,7 @@ "end": "83148", "length": "7", "line": "2309", - "parentIndex": "4995", + "parentIndex": "4996", "start": "83142" }, "typeDescription": { @@ -100666,7 +100749,7 @@ } } }, - "id": "4995", + "id": "4996", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -100674,7 +100757,7 @@ "end": "83196", "length": "55", "line": "2309", - "parentIndex": "4994", + "parentIndex": "4995", "start": "83142" }, "typeDescription": { @@ -100686,7 +100769,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5005", + "id": "5006", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -100694,7 +100777,7 @@ "end": "83207", "length": "1", "line": "2310", - "parentIndex": "4994", + "parentIndex": "4995", "start": "83207" }, "typeDescription": { @@ -100705,26 +100788,26 @@ } ] }, - "id": "4992", + "id": "4993", "name": "onlyVault", "nameLocation": { "column": "13", "end": "83128", "length": "9", "line": "2308", - "parentIndex": "4992", + "parentIndex": "4993", "start": "83120" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "4993", + "id": "4994", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "83214", "length": "104", "line": "2308", - "parentIndex": "4961", + "parentIndex": "4962", "start": "83111" } }, @@ -100733,7 +100816,7 @@ "end": "83214", "length": "104", "line": "2308", - "parentIndex": "4961", + "parentIndex": "4962", "start": "83111" }, "visibility": "INTERNAL" @@ -100743,7 +100826,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "5009", + "id": "5010", "implemented": true, "nodeType": "BLOCK", "src": { @@ -100751,7 +100834,7 @@ "end": "83338", "length": "92", "line": "2313", - "parentIndex": "5007", + "parentIndex": "5008", "start": "83247" }, "statements": [ @@ -100772,14 +100855,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5012", + "id": "5013", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5014", + "id": "5015", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -100787,7 +100870,7 @@ "end": "83267", "length": "3", "line": "2314", - "parentIndex": "5013", + "parentIndex": "5014", "start": "83265" }, "typeDescription": { @@ -100796,13 +100879,13 @@ } } }, - "id": "5013", + "id": "5014", "memberLocation": { "column": "20", "end": "83274", "length": "6", "line": "2314", - "parentIndex": "5013", + "parentIndex": "5014", "start": "83269" }, "memberName": "sender", @@ -100812,7 +100895,7 @@ "end": "83274", "length": "10", "line": "2314", - "parentIndex": "5012", + "parentIndex": "5013", "start": "83265" }, "typeDescription": { @@ -100832,42 +100915,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5017", + "id": "5018", "name": "vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7864", + "referencedDeclaration": "7867", "src": { "column": "30", "end": "83283", "length": "5", "line": "2314", - "parentIndex": "5016", + "parentIndex": "5017", "start": "83279" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "5016", + "id": "5017", "memberLocation": { "column": "36", "end": "83294", "length": "10", "line": "2314", - "parentIndex": "5016", + "parentIndex": "5017", "start": "83285" }, "memberName": "governance", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "4884", + "referencedDeclaration": "4885", "src": { "column": "30", "end": "83294", "length": "16", "line": "2314", - "parentIndex": "5015", + "parentIndex": "5016", "start": "83279" }, "typeDescription": { @@ -100876,7 +100959,7 @@ } } }, - "id": "5015", + "id": "5016", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -100884,7 +100967,7 @@ "end": "83296", "length": "18", "line": "2314", - "parentIndex": "5012", + "parentIndex": "5013", "start": "83279" }, "typeDescription": { @@ -100898,7 +100981,7 @@ "end": "83296", "length": "32", "line": "2314", - "parentIndex": "5010", + "parentIndex": "5011", "start": "83265" }, "typeDescription": { @@ -100917,7 +101000,7 @@ } ], "hexValue": "42533a206f6e6c7920676f7665726e616e6365", - "id": "5018", + "id": "5019", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -100926,7 +101009,7 @@ "end": "83319", "length": "21", "line": "2314", - "parentIndex": "5010", + "parentIndex": "5011", "start": "83299" }, "typeDescription": { @@ -100940,7 +101023,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5011", + "id": "5012", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -100949,7 +101032,7 @@ "end": "83263", "length": "7", "line": "2314", - "parentIndex": "5010", + "parentIndex": "5011", "start": "83257" }, "typeDescription": { @@ -100958,7 +101041,7 @@ } } }, - "id": "5010", + "id": "5011", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -100966,7 +101049,7 @@ "end": "83320", "length": "64", "line": "2314", - "parentIndex": "5009", + "parentIndex": "5010", "start": "83257" }, "typeDescription": { @@ -100978,7 +101061,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5019", + "id": "5020", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -100986,7 +101069,7 @@ "end": "83331", "length": "1", "line": "2315", - "parentIndex": "5009", + "parentIndex": "5010", "start": "83331" }, "typeDescription": { @@ -100997,26 +101080,26 @@ } ] }, - "id": "5007", + "id": "5008", "name": "onlyGovernance", "nameLocation": { "column": "13", "end": "83243", "length": "14", "line": "2313", - "parentIndex": "5007", + "parentIndex": "5008", "start": "83230" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "5008", + "id": "5009", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "83338", "length": "118", "line": "2313", - "parentIndex": "4961", + "parentIndex": "4962", "start": "83221" } }, @@ -101025,7 +101108,7 @@ "end": "83338", "length": "118", "line": "2313", - "parentIndex": "4961", + "parentIndex": "4962", "start": "83221" }, "visibility": "INTERNAL" @@ -101034,61 +101117,61 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5021", + "id": "5022", "isStateVariable": true, "name": "asset", "nodeType": "VARIABLE_DECLARATION", - "scope": "4961", + "scope": "4962", "src": { "column": "4", "end": "83446", "length": "29", "line": "2319", - "parentIndex": "4961", + "parentIndex": "4962", "start": "83418" }, "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "5022", + "id": "5023", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5023", + "id": "5024", "name": "ERC20", "nameLocation": { "column": "4", "end": "83422", "length": "5", "line": "2319", - "parentIndex": "5022", + "parentIndex": "5023", "start": "83418" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "83422", "length": "5", "line": "2319", - "parentIndex": "5022", + "parentIndex": "5023", "start": "83418" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "83422", "length": "5", "line": "2319", - "parentIndex": "5021", + "parentIndex": "5022", "start": "83418" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, @@ -101099,7 +101182,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5032", + "id": "5033", "implemented": true, "nodeType": "BLOCK", "src": { @@ -101107,7 +101190,7 @@ "end": "83670", "length": "56", "line": "2323", - "parentIndex": "5025", + "parentIndex": "5026", "start": "83615" }, "statements": [ @@ -101117,20 +101200,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5034", + "id": "5035", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5035", + "id": "5036", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5035", + "referencedDeclaration": "5036", "src": { "column": "8", "end": "83630", "length": "6", "line": "2324", - "parentIndex": "5034", + "parentIndex": "5035", "start": "83625" }, "typeDescription": { @@ -101156,7 +101239,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BaseStrategy_$4905", + "typeIdentifier": "t_contract$_BaseStrategy_$4906", "typeString": "contract BaseStrategy" } ], @@ -101164,7 +101247,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5042", + "id": "5043", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -101172,11 +101255,11 @@ "end": "83661", "length": "4", "line": "2324", - "parentIndex": "5039", + "parentIndex": "5040", "start": "83658" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseStrategy_$4905", + "typeIdentifier": "t_contract$_BaseStrategy_$4906", "typeString": "contract BaseStrategy" } } @@ -101191,7 +101274,7 @@ "typeString": "address" } ], - "id": "5040", + "id": "5041", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -101199,7 +101282,7 @@ "end": "83656", "length": "7", "line": "2324", - "parentIndex": "5039", + "parentIndex": "5040", "start": "83650" }, "typeDescription": { @@ -101207,7 +101290,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5041", + "id": "5042", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -101215,7 +101298,7 @@ "end": "83656", "length": "7", "line": "2324", - "parentIndex": "5040", + "parentIndex": "5041", "start": "83650" }, "stateMutability": "NONPAYABLE", @@ -101226,7 +101309,7 @@ } } }, - "id": "5039", + "id": "5040", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -101234,7 +101317,7 @@ "end": "83662", "length": "13", "line": "2324", - "parentIndex": "5036", + "parentIndex": "5037", "start": "83650" }, "typeDescription": { @@ -101250,31 +101333,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5038", + "id": "5039", "name": "asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5021", + "referencedDeclaration": "5022", "src": { "column": "17", "end": "83638", "length": "5", "line": "2324", - "parentIndex": "5037", + "parentIndex": "5038", "start": "83634" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5037", + "id": "5038", "memberLocation": { "column": "23", "end": "83648", "length": "9", "line": "2324", - "parentIndex": "5037", + "parentIndex": "5038", "start": "83640" }, "memberName": "balanceOf", @@ -101284,16 +101367,16 @@ "end": "83648", "length": "15", "line": "2324", - "parentIndex": "5036", + "parentIndex": "5037", "start": "83634" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5036", + "id": "5037", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -101301,7 +101384,7 @@ "end": "83663", "length": "30", "line": "2324", - "parentIndex": "5034", + "parentIndex": "5035", "start": "83634" }, "typeDescription": { @@ -101315,7 +101398,7 @@ "end": "83663", "length": "39", "line": "2324", - "parentIndex": "5033", + "parentIndex": "5034", "start": "83625" }, "typeDescription": { @@ -101324,14 +101407,14 @@ } } }, - "id": "5033", + "id": "5034", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "83664", "length": "40", "line": "2324", - "parentIndex": "5032", + "parentIndex": "5033", "start": "83625" }, "typeDescription": { @@ -101342,7 +101425,7 @@ } ] }, - "id": "5025", + "id": "5026", "implemented": true, "kind": "KIND_FUNCTION", "name": "balanceOfAsset", @@ -101351,25 +101434,25 @@ "end": "83574", "length": "14", "line": "2323", - "parentIndex": "5025", + "parentIndex": "5026", "start": "83561" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5026", + "id": "5027", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5027", + "id": "5028", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "5027", + "scope": "5028", "src": { "column": "51", "end": "83612", "length": "14", "line": "2323", - "parentIndex": "5026", + "parentIndex": "5027", "start": "83599" }, "stateMutability": "MUTABLE", @@ -101379,7 +101462,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5028", + "id": "5029", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -101387,7 +101470,7 @@ "end": "83605", "length": "7", "line": "2323", - "parentIndex": "5027", + "parentIndex": "5028", "start": "83599" }, "typeDescription": { @@ -101403,25 +101486,25 @@ "end": "83612", "length": "14", "line": "2323", - "parentIndex": "5025", + "parentIndex": "5026", "start": "83599" } }, "returnParameters": { - "id": "5029", + "id": "5030", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5030", + "id": "5031", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "5030", + "scope": "5031", "src": { "column": "51", "end": "83612", "length": "14", "line": "2323", - "parentIndex": "5029", + "parentIndex": "5030", "start": "83599" }, "stateMutability": "MUTABLE", @@ -101431,7 +101514,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5031", + "id": "5032", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -101439,7 +101522,7 @@ "end": "83605", "length": "7", "line": "2323", - "parentIndex": "5030", + "parentIndex": "5031", "start": "83599" }, "typeDescription": { @@ -101455,18 +101538,18 @@ "end": "83612", "length": "14", "line": "2323", - "parentIndex": "5025", + "parentIndex": "5026", "start": "83599" } }, - "scope": "4961", + "scope": "4962", "signature": "bd31fdb3", "src": { "column": "4", "end": "83670", "length": "119", "line": "2323", - "parentIndex": "4961", + "parentIndex": "4962", "start": "83552" }, "stateMutability": "VIEW", @@ -101481,7 +101564,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5049", + "id": "5050", "implemented": true, "nodeType": "BLOCK", "src": { @@ -101489,7 +101572,7 @@ "end": "83989", "length": "104", "line": "2330", - "parentIndex": "5044", + "parentIndex": "5045", "start": "83886" }, "statements": [ @@ -101517,7 +101600,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5054", + "id": "5055", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -101525,7 +101608,7 @@ "end": "83921", "length": "3", "line": "2331", - "parentIndex": "5053", + "parentIndex": "5054", "start": "83919" }, "typeDescription": { @@ -101534,13 +101617,13 @@ } } }, - "id": "5053", + "id": "5054", "memberLocation": { "column": "35", "end": "83928", "length": "6", "line": "2331", - "parentIndex": "5053", + "parentIndex": "5054", "start": "83923" }, "memberName": "sender", @@ -101550,7 +101633,7 @@ "end": "83928", "length": "10", "line": "2331", - "parentIndex": "5050", + "parentIndex": "5051", "start": "83919" }, "typeDescription": { @@ -101564,7 +101647,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BaseStrategy_$4905", + "typeIdentifier": "t_contract$_BaseStrategy_$4906", "typeString": "contract BaseStrategy" } ], @@ -101572,7 +101655,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5058", + "id": "5059", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -101580,11 +101663,11 @@ "end": "83942", "length": "4", "line": "2331", - "parentIndex": "5055", + "parentIndex": "5056", "start": "83939" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseStrategy_$4905", + "typeIdentifier": "t_contract$_BaseStrategy_$4906", "typeString": "contract BaseStrategy" } } @@ -101599,7 +101682,7 @@ "typeString": "address" } ], - "id": "5056", + "id": "5057", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -101607,7 +101690,7 @@ "end": "83937", "length": "7", "line": "2331", - "parentIndex": "5055", + "parentIndex": "5056", "start": "83931" }, "typeDescription": { @@ -101615,7 +101698,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5057", + "id": "5058", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -101623,7 +101706,7 @@ "end": "83937", "length": "7", "line": "2331", - "parentIndex": "5056", + "parentIndex": "5057", "start": "83931" }, "stateMutability": "NONPAYABLE", @@ -101634,7 +101717,7 @@ } } }, - "id": "5055", + "id": "5056", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -101642,7 +101725,7 @@ "end": "83943", "length": "13", "line": "2331", - "parentIndex": "5050", + "parentIndex": "5051", "start": "83931" }, "typeDescription": { @@ -101664,16 +101747,16 @@ "typeString": "function(address)" } ], - "id": "5059", + "id": "5060", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5059", + "referencedDeclaration": "5060", "src": { "column": "58", "end": "83951", "length": "6", "line": "2331", - "parentIndex": "5050", + "parentIndex": "5051", "start": "83946" }, "typeDescription": { @@ -101689,31 +101772,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5052", + "id": "5053", "name": "asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5021", + "referencedDeclaration": "5022", "src": { "column": "8", "end": "83900", "length": "5", "line": "2331", - "parentIndex": "5051", + "parentIndex": "5052", "start": "83896" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5051", + "id": "5052", "memberLocation": { "column": "14", "end": "83917", "length": "16", "line": "2331", - "parentIndex": "5051", + "parentIndex": "5052", "start": "83902" }, "memberName": "safeTransferFrom", @@ -101723,16 +101806,16 @@ "end": "83917", "length": "22", "line": "2331", - "parentIndex": "5050", + "parentIndex": "5051", "start": "83896" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5050", + "id": "5051", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -101740,7 +101823,7 @@ "end": "83952", "length": "57", "line": "2331", - "parentIndex": "5049", + "parentIndex": "5050", "start": "83896" }, "typeDescription": { @@ -101762,16 +101845,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5062", + "id": "5063", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5062", + "referencedDeclaration": "5063", "src": { "column": "21", "end": "83981", "length": "6", "line": "2332", - "parentIndex": "5060", + "parentIndex": "5061", "start": "83976" }, "typeDescription": { @@ -101784,7 +101867,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5061", + "id": "5062", "name": "_afterInvest", "nodeType": "IDENTIFIER", "src": { @@ -101792,7 +101875,7 @@ "end": "83974", "length": "12", "line": "2332", - "parentIndex": "5060", + "parentIndex": "5061", "start": "83963" }, "typeDescription": { @@ -101801,7 +101884,7 @@ } } }, - "id": "5060", + "id": "5061", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -101809,7 +101892,7 @@ "end": "83982", "length": "20", "line": "2332", - "parentIndex": "5049", + "parentIndex": "5050", "start": "83963" }, "typeDescription": { @@ -101820,7 +101903,7 @@ } ] }, - "id": "5044", + "id": "5045", "implemented": true, "kind": "KIND_FUNCTION", "name": "invest", @@ -101829,25 +101912,25 @@ "end": "83859", "length": "6", "line": "2330", - "parentIndex": "5044", + "parentIndex": "5045", "start": "83854" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5045", + "id": "5046", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5046", + "id": "5047", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "5046", + "scope": "5047", "src": { "column": "20", "end": "83874", "length": "14", "line": "2330", - "parentIndex": "5045", + "parentIndex": "5046", "start": "83861" }, "stateMutability": "MUTABLE", @@ -101857,7 +101940,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5047", + "id": "5048", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -101865,7 +101948,7 @@ "end": "83867", "length": "7", "line": "2330", - "parentIndex": "5046", + "parentIndex": "5047", "start": "83861" }, "typeDescription": { @@ -101881,30 +101964,30 @@ "end": "83874", "length": "14", "line": "2330", - "parentIndex": "5044", + "parentIndex": "5045", "start": "83861" } }, "returnParameters": { - "id": "5048", + "id": "5049", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "83989", "length": "145", "line": "2330", - "parentIndex": "5044", + "parentIndex": "5045", "start": "83845" } }, - "scope": "4961", + "scope": "4962", "signature": "2afcf480", "src": { "column": "4", "end": "83989", "length": "145", "line": "2330", - "parentIndex": "4961", + "parentIndex": "4962", "start": "83845" }, "stateMutability": "NONPAYABLE", @@ -101919,7 +102002,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5069", + "id": "5070", "implemented": true, "nodeType": "BLOCK", "src": { @@ -101927,11 +102010,11 @@ "end": "84391", "length": "2", "line": "2339", - "parentIndex": "5064", + "parentIndex": "5065", "start": "84390" } }, - "id": "5064", + "id": "5065", "implemented": true, "kind": "KIND_FUNCTION", "name": "_afterInvest", @@ -101940,25 +102023,25 @@ "end": "84355", "length": "12", "line": "2339", - "parentIndex": "5064", + "parentIndex": "5065", "start": "84344" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5065", + "id": "5066", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5066", + "id": "5067", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "5066", + "scope": "5067", "src": { "column": "26", "end": "84370", "length": "14", "line": "2339", - "parentIndex": "5065", + "parentIndex": "5066", "start": "84357" }, "stateMutability": "MUTABLE", @@ -101968,7 +102051,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5067", + "id": "5068", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -101976,7 +102059,7 @@ "end": "84363", "length": "7", "line": "2339", - "parentIndex": "5066", + "parentIndex": "5067", "start": "84357" }, "typeDescription": { @@ -101992,30 +102075,30 @@ "end": "84370", "length": "14", "line": "2339", - "parentIndex": "5064", + "parentIndex": "5065", "start": "84357" } }, "returnParameters": { - "id": "5068", + "id": "5069", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "84391", "length": "57", "line": "2339", - "parentIndex": "5064", + "parentIndex": "5065", "start": "84335" } }, - "scope": "4961", + "scope": "4962", "signature": "d0fae237", "src": { "column": "4", "end": "84391", "length": "57", "line": "2339", - "parentIndex": "4961", + "parentIndex": "4962", "start": "84335" }, "stateMutability": "NONPAYABLE", @@ -102031,7 +102114,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5080", + "id": "5081", "implemented": true, "nodeType": "BLOCK", "src": { @@ -102039,7 +102122,7 @@ "end": "84681", "length": "39", "line": "2344", - "parentIndex": "5071", + "parentIndex": "5072", "start": "84643" }, "statements": [ @@ -102059,16 +102142,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5084", + "id": "5085", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5084", + "referencedDeclaration": "5085", "src": { "column": "23", "end": "84673", "length": "6", "line": "2345", - "parentIndex": "5082", + "parentIndex": "5083", "start": "84668" }, "typeDescription": { @@ -102081,7 +102164,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5083", + "id": "5084", "name": "_divest", "nodeType": "IDENTIFIER", "src": { @@ -102089,7 +102172,7 @@ "end": "84666", "length": "7", "line": "2345", - "parentIndex": "5082", + "parentIndex": "5083", "start": "84660" }, "typeDescription": { @@ -102098,7 +102181,7 @@ } } }, - "id": "5082", + "id": "5083", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -102106,7 +102189,7 @@ "end": "84674", "length": "15", "line": "2345", - "parentIndex": "5081", + "parentIndex": "5082", "start": "84660" }, "typeDescription": { @@ -102115,15 +102198,15 @@ } } }, - "functionReturnParameters": "5071", - "id": "5081", + "functionReturnParameters": "5072", + "id": "5082", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "84675", "length": "23", "line": "2345", - "parentIndex": "5071", + "parentIndex": "5072", "start": "84653" }, "typeDescription": { @@ -102134,22 +102217,22 @@ } ] }, - "id": "5071", + "id": "5072", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "5075", + "id": "5076", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "5076", + "id": "5077", "name": "onlyVault", "src": { "column": "45", "end": "84623", "length": "9", "line": "2344", - "parentIndex": "5075", + "parentIndex": "5076", "start": "84615" } }, @@ -102160,7 +102243,7 @@ "end": "84623", "length": "9", "line": "2344", - "parentIndex": "5071", + "parentIndex": "5072", "start": "84615" } } @@ -102171,25 +102254,25 @@ "end": "84588", "length": "6", "line": "2344", - "parentIndex": "5071", + "parentIndex": "5072", "start": "84583" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5072", + "id": "5073", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5073", + "id": "5074", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "5073", + "scope": "5074", "src": { "column": "20", "end": "84603", "length": "14", "line": "2344", - "parentIndex": "5072", + "parentIndex": "5073", "start": "84590" }, "stateMutability": "MUTABLE", @@ -102199,7 +102282,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5074", + "id": "5075", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -102207,7 +102290,7 @@ "end": "84596", "length": "7", "line": "2344", - "parentIndex": "5073", + "parentIndex": "5074", "start": "84590" }, "typeDescription": { @@ -102223,24 +102306,24 @@ "end": "84603", "length": "14", "line": "2344", - "parentIndex": "5071", + "parentIndex": "5072", "start": "84590" } }, "returnParameters": { - "id": "5077", + "id": "5078", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5078", + "id": "5079", "nodeType": "VARIABLE_DECLARATION", - "scope": "5078", + "scope": "5079", "src": { "column": "64", "end": "84640", "length": "7", "line": "2344", - "parentIndex": "5077", + "parentIndex": "5078", "start": "84634" }, "stateMutability": "MUTABLE", @@ -102250,7 +102333,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5079", + "id": "5080", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -102258,7 +102341,7 @@ "end": "84640", "length": "7", "line": "2344", - "parentIndex": "5078", + "parentIndex": "5079", "start": "84634" }, "typeDescription": { @@ -102274,18 +102357,18 @@ "end": "84640", "length": "7", "line": "2344", - "parentIndex": "5071", + "parentIndex": "5072", "start": "84634" } }, - "scope": "4961", + "scope": "4962", "signature": "8ca17995", "src": { "column": "4", "end": "84681", "length": "108", "line": "2344", - "parentIndex": "4961", + "parentIndex": "4962", "start": "84574" }, "stateMutability": "NONPAYABLE", @@ -102300,7 +102383,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5093", + "id": "5094", "implemented": true, "nodeType": "BLOCK", "src": { @@ -102308,11 +102391,11 @@ "end": "84851", "length": "2", "line": "2349", - "parentIndex": "5086", + "parentIndex": "5087", "start": "84850" } }, - "id": "5086", + "id": "5087", "implemented": true, "kind": "KIND_FUNCTION", "name": "_divest", @@ -102321,25 +102404,25 @@ "end": "84797", "length": "7", "line": "2349", - "parentIndex": "5086", + "parentIndex": "5087", "start": "84791" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5087", + "id": "5088", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5088", + "id": "5089", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "5088", + "scope": "5089", "src": { "column": "21", "end": "84812", "length": "14", "line": "2349", - "parentIndex": "5087", + "parentIndex": "5088", "start": "84799" }, "stateMutability": "MUTABLE", @@ -102349,7 +102432,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5089", + "id": "5090", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -102357,7 +102440,7 @@ "end": "84805", "length": "7", "line": "2349", - "parentIndex": "5088", + "parentIndex": "5089", "start": "84799" }, "typeDescription": { @@ -102373,24 +102456,24 @@ "end": "84812", "length": "14", "line": "2349", - "parentIndex": "5086", + "parentIndex": "5087", "start": "84799" } }, "returnParameters": { - "id": "5090", + "id": "5091", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5091", + "id": "5092", "nodeType": "VARIABLE_DECLARATION", - "scope": "5091", + "scope": "5092", "src": { "column": "63", "end": "84847", "length": "7", "line": "2349", - "parentIndex": "5090", + "parentIndex": "5091", "start": "84841" }, "stateMutability": "MUTABLE", @@ -102400,7 +102483,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5092", + "id": "5093", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -102408,7 +102491,7 @@ "end": "84847", "length": "7", "line": "2349", - "parentIndex": "5091", + "parentIndex": "5092", "start": "84841" }, "typeDescription": { @@ -102424,18 +102507,18 @@ "end": "84847", "length": "7", "line": "2349", - "parentIndex": "5086", + "parentIndex": "5087", "start": "84841" } }, - "scope": "4961", + "scope": "4962", "signature": "4a1b8f2d", "src": { "column": "4", "end": "84851", "length": "70", "line": "2349", - "parentIndex": "4961", + "parentIndex": "4962", "start": "84782" }, "stateMutability": "NONPAYABLE", @@ -102451,18 +102534,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5102", + "id": "5103", "nodeType": "BLOCK", "src": { "column": "4", "end": "85120", "length": "63", "line": "2354", - "parentIndex": "5095", + "parentIndex": "5096", "start": "85058" } }, - "id": "5095", + "id": "5096", "kind": "KIND_FUNCTION", "name": "totalLockedValue", "nameLocation": { @@ -102470,24 +102553,24 @@ "end": "85082", "length": "16", "line": "2354", - "parentIndex": "5095", + "parentIndex": "5096", "start": "85067" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5096", + "id": "5097", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5097", + "id": "5098", "nodeType": "VARIABLE_DECLARATION", - "scope": "5097", + "scope": "5098", "src": { "column": "58", "end": "85118", "length": "7", "line": "2354", - "parentIndex": "5096", + "parentIndex": "5097", "start": "85112" }, "stateMutability": "MUTABLE", @@ -102497,7 +102580,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5098", + "id": "5099", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -102505,7 +102588,7 @@ "end": "85118", "length": "7", "line": "2354", - "parentIndex": "5097", + "parentIndex": "5098", "start": "85112" }, "typeDescription": { @@ -102521,24 +102604,24 @@ "end": "85118", "length": "7", "line": "2354", - "parentIndex": "5095", + "parentIndex": "5096", "start": "85112" } }, "returnParameters": { - "id": "5099", + "id": "5100", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5100", + "id": "5101", "nodeType": "VARIABLE_DECLARATION", - "scope": "5100", + "scope": "5101", "src": { "column": "58", "end": "85118", "length": "7", "line": "2354", - "parentIndex": "5099", + "parentIndex": "5100", "start": "85112" }, "stateMutability": "MUTABLE", @@ -102548,7 +102631,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5101", + "id": "5102", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -102556,7 +102639,7 @@ "end": "85118", "length": "7", "line": "2354", - "parentIndex": "5100", + "parentIndex": "5101", "start": "85112" }, "typeDescription": { @@ -102572,18 +102655,18 @@ "end": "85118", "length": "7", "line": "2354", - "parentIndex": "5095", + "parentIndex": "5096", "start": "85112" } }, - "scope": "4961", + "scope": "4962", "signature": "6c261411", "src": { "column": "4", "end": "85120", "length": "63", "line": "2354", - "parentIndex": "4961", + "parentIndex": "4962", "start": "85058" }, "stateMutability": "NONPAYABLE", @@ -102599,7 +102682,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5112", + "id": "5113", "implemented": true, "nodeType": "BLOCK", "src": { @@ -102607,7 +102690,7 @@ "end": "85265", "length": "87", "line": "2356", - "parentIndex": "5104", + "parentIndex": "5105", "start": "85179" }, "statements": [ @@ -102634,42 +102717,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5118", + "id": "5119", "name": "vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7864", + "referencedDeclaration": "7867", "src": { "column": "27", "end": "85212", "length": "5", "line": "2357", - "parentIndex": "5117", + "parentIndex": "5118", "start": "85208" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "5117", + "id": "5118", "memberLocation": { "column": "33", "end": "85223", "length": "10", "line": "2357", - "parentIndex": "5117", + "parentIndex": "5118", "start": "85214" }, "memberName": "governance", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "4884", + "referencedDeclaration": "4885", "src": { "column": "27", "end": "85223", "length": "16", "line": "2357", - "parentIndex": "5116", + "parentIndex": "5117", "start": "85208" }, "typeDescription": { @@ -102678,7 +102761,7 @@ } } }, - "id": "5116", + "id": "5117", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -102686,7 +102769,7 @@ "end": "85225", "length": "18", "line": "2357", - "parentIndex": "5113", + "parentIndex": "5114", "start": "85208" }, "typeDescription": { @@ -102710,7 +102793,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BaseStrategy_$4905", + "typeIdentifier": "t_contract$_BaseStrategy_$4906", "typeString": "contract BaseStrategy" } ], @@ -102718,7 +102801,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5125", + "id": "5126", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -102726,11 +102809,11 @@ "end": "85255", "length": "4", "line": "2357", - "parentIndex": "5122", + "parentIndex": "5123", "start": "85252" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseStrategy_$4905", + "typeIdentifier": "t_contract$_BaseStrategy_$4906", "typeString": "contract BaseStrategy" } } @@ -102745,7 +102828,7 @@ "typeString": "address" } ], - "id": "5123", + "id": "5124", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -102753,7 +102836,7 @@ "end": "85250", "length": "7", "line": "2357", - "parentIndex": "5122", + "parentIndex": "5123", "start": "85244" }, "typeDescription": { @@ -102761,7 +102844,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5124", + "id": "5125", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -102769,7 +102852,7 @@ "end": "85250", "length": "7", "line": "2357", - "parentIndex": "5123", + "parentIndex": "5124", "start": "85244" }, "stateMutability": "NONPAYABLE", @@ -102780,7 +102863,7 @@ } } }, - "id": "5122", + "id": "5123", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -102788,7 +102871,7 @@ "end": "85256", "length": "13", "line": "2357", - "parentIndex": "5119", + "parentIndex": "5120", "start": "85244" }, "typeDescription": { @@ -102804,31 +102887,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5121", + "id": "5122", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5121", + "referencedDeclaration": "5122", "src": { "column": "47", "end": "85232", "length": "5", "line": "2357", - "parentIndex": "5120", + "parentIndex": "5121", "start": "85228" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5120", + "id": "5121", "memberLocation": { "column": "53", "end": "85242", "length": "9", "line": "2357", - "parentIndex": "5120", + "parentIndex": "5121", "start": "85234" }, "memberName": "balanceOf", @@ -102838,16 +102921,16 @@ "end": "85242", "length": "15", "line": "2357", - "parentIndex": "5119", + "parentIndex": "5120", "start": "85228" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5119", + "id": "5120", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -102855,7 +102938,7 @@ "end": "85257", "length": "30", "line": "2357", - "parentIndex": "5113", + "parentIndex": "5114", "start": "85228" }, "typeDescription": { @@ -102871,31 +102954,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5115", + "id": "5116", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5115", + "referencedDeclaration": "5116", "src": { "column": "8", "end": "85193", "length": "5", "line": "2357", - "parentIndex": "5114", + "parentIndex": "5115", "start": "85189" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5114", + "id": "5115", "memberLocation": { "column": "14", "end": "85206", "length": "12", "line": "2357", - "parentIndex": "5114", + "parentIndex": "5115", "start": "85195" }, "memberName": "safeTransfer", @@ -102905,16 +102988,16 @@ "end": "85206", "length": "18", "line": "2357", - "parentIndex": "5113", + "parentIndex": "5114", "start": "85189" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5113", + "id": "5114", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -102922,7 +103005,7 @@ "end": "85258", "length": "70", "line": "2357", - "parentIndex": "5112", + "parentIndex": "5113", "start": "85189" }, "typeDescription": { @@ -102933,22 +103016,22 @@ } ] }, - "id": "5104", + "id": "5105", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "5109", + "id": "5110", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "5110", + "id": "5111", "name": "onlyGovernance", "src": { "column": "41", "end": "85177", "length": "14", "line": "2356", - "parentIndex": "5109", + "parentIndex": "5110", "start": "85164" } }, @@ -102959,7 +103042,7 @@ "end": "85177", "length": "14", "line": "2356", - "parentIndex": "5104", + "parentIndex": "5105", "start": "85164" } } @@ -102970,69 +103053,69 @@ "end": "85140", "length": "5", "line": "2356", - "parentIndex": "5104", + "parentIndex": "5105", "start": "85136" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5105", + "id": "5106", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5106", + "id": "5107", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "5106", + "scope": "5107", "src": { "column": "19", "end": "85152", "length": "11", "line": "2356", - "parentIndex": "5105", + "parentIndex": "5106", "start": "85142" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "5107", + "id": "5108", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5108", + "id": "5109", "name": "ERC20", "nameLocation": { "column": "19", "end": "85146", "length": "5", "line": "2356", - "parentIndex": "5107", + "parentIndex": "5108", "start": "85142" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "19", "end": "85146", "length": "5", "line": "2356", - "parentIndex": "5107", + "parentIndex": "5108", "start": "85142" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "19", "end": "85146", "length": "5", "line": "2356", - "parentIndex": "5106", + "parentIndex": "5107", "start": "85142" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, @@ -103044,35 +103127,35 @@ "end": "85152", "length": "11", "line": "2356", - "parentIndex": "5104", + "parentIndex": "5105", "start": "85142" } }, "returnParameters": { - "id": "5111", + "id": "5112", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "85265", "length": "139", "line": "2356", - "parentIndex": "5104", + "parentIndex": "5105", "start": "85127" } }, - "scope": "4961", + "scope": "4962", "signature": "35faa416", "src": { "column": "4", "end": "85265", "length": "139", "line": "2356", - "parentIndex": "4961", + "parentIndex": "4962", "start": "85127" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_contract$_ERC20_$4060$", + "typeIdentifier": "t_function_$_t_contract$_ERC20_$4061$", "typeString": "function(contract ERC20)" }, "visibility": "EXTERNAL" @@ -103083,7 +103166,7 @@ "end": "85267", "length": "2454", "line": "2297", - "parentIndex": "4905", + "parentIndex": "4906", "start": "82814" } } @@ -103099,63 +103182,63 @@ } }, { - "id": 5126, + "id": 5127, "license": "BUSL-1.1", "name": "BaseVault", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseVault.sol", "exported_symbols": [ { - "id": 5126, + "id": 5127, "name": "BaseVault", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BaseVault.sol" }, { - "id": 4905, + "id": 4906, "name": "AccessControlUpgradeable", "absolute_path": "AccessControlUpgradeable.sol" }, { - "id": 4905, + "id": 4906, "name": "Math", "absolute_path": "Math.sol" }, { - "id": 4905, + "id": 4906, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 4905, + "id": 4906, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 4905, + "id": 4906, "name": "Multicallable", "absolute_path": "Multicallable.sol" }, { - "id": 4905, + "id": 4906, "name": "BaseStrategy", "absolute_path": "BaseStrategy.sol" }, { - "id": 4905, + "id": 4906, "name": "AffineGovernable", "absolute_path": "AffineGovernable.sol" }, { - "id": 4905, + "id": 4906, "name": "BridgeEscrow", "absolute_path": "BridgeEscrow.sol" }, { - "id": 4905, + "id": 4906, "name": "WormholeRouter", "absolute_path": "WormholeRouter.sol" }, { - "id": 4905, + "id": 4906, "name": "Unchecked", "absolute_path": "Unchecked.sol" } @@ -103166,7 +103249,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "5149", + "id": "5150", "literals": [ "pragma", "solidity", @@ -103183,7 +103266,7 @@ "end": "85331", "length": "24", "line": "2363", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85308" }, "text": "pragma solidity =0.8.16;" @@ -103194,15 +103277,15 @@ "value": { "absolutePath": "AccessControlUpgradeable.sol", "file": "./AccessControlUpgradeable.sol", - "id": "5183", + "id": "5184", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85405", "length": "72", "line": "2365", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85334" } } @@ -103212,15 +103295,15 @@ "value": { "absolutePath": "Math.sol", "file": "./Math.sol", - "id": "5184", + "id": "5185", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85438", "length": "32", "line": "2366", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85407" } } @@ -103230,15 +103313,15 @@ "value": { "absolutePath": "ERC20.sol", "file": "./ERC20.sol", - "id": "5185", + "id": "5186", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85474", "length": "34", "line": "2368", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85441" } } @@ -103248,15 +103331,15 @@ "value": { "absolutePath": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "id": "5186", + "id": "5187", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85529", "length": "54", "line": "2369", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85476" } } @@ -103266,15 +103349,15 @@ "value": { "absolutePath": "Multicallable.sol", "file": "./Multicallable.sol", - "id": "5187", + "id": "5188", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85581", "length": "50", "line": "2371", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85532" } } @@ -103284,15 +103367,15 @@ "value": { "absolutePath": "BaseStrategy.sol", "file": "./BaseStrategy.sol", - "id": "5188", + "id": "5189", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85643", "length": "60", "line": "2373", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85584" }, "unitAliases": [ @@ -103305,15 +103388,15 @@ "value": { "absolutePath": "AffineGovernable.sol", "file": "./AffineGovernable.sol", - "id": "5189", + "id": "5190", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85700", "length": "56", "line": "2374", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85645" } } @@ -103323,15 +103406,15 @@ "value": { "absolutePath": "BridgeEscrow.sol", "file": "./BridgeEscrow.sol", - "id": "5190", + "id": "5191", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85749", "length": "48", "line": "2375", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85702" } } @@ -103341,15 +103424,15 @@ "value": { "absolutePath": "WormholeRouter.sol", "file": "./WormholeRouter.sol", - "id": "5191", + "id": "5192", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85802", "length": "52", "line": "2376", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85751" } } @@ -103359,15 +103442,15 @@ "value": { "absolutePath": "Unchecked.sol", "file": "./Unchecked.sol", - "id": "5192", + "id": "5193", "nodeType": "IMPORT_DIRECTIVE", - "scope": "5126", - "sourceUnit": "4905", + "scope": "5127", + "sourceUnit": "4906", "src": { "end": "85848", "length": "45", "line": "2377", - "parentIndex": "5126", + "parentIndex": "5127", "start": "85804" } } @@ -103378,7 +103461,7 @@ "baseContracts": [ { "baseName": { - "id": "5195", + "id": "5196", "name": "AccessControlUpgradeable", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "2490", @@ -103387,79 +103470,78 @@ "end": "86147", "length": "24", "line": "2384", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86124" } }, - "id": "5194", + "id": "5195", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "31", "end": "86147", "length": "24", "line": "2384", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86124" } }, { "baseName": { - "id": "5197", + "id": "5198", "name": "AffineGovernable", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4831", + "referencedDeclaration": "4832", "src": { "column": "57", "end": "86165", "length": "16", "line": "2384", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86150" } }, - "id": "5196", + "id": "5197", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "57", "end": "86165", "length": "16", "line": "2384", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86150" } }, { "baseName": { - "id": "5199", + "id": "5200", "name": "Multicallable", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3820", + "referencedDeclaration": "3821", "src": { "column": "75", "end": "86180", "length": "13", "line": "2384", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86168" } }, - "id": "5198", + "id": "5199", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "75", "end": "86180", "length": "13", "line": "2384", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86168" } } ], "contractDependencies": [ "2490", - "4831", - "3820", - "5183", + "4832", + "3821", "5184", "5185", "5186", @@ -103468,17 +103550,17 @@ "5189", "5190", "5191", - "5192" + "5192", + "5193" ], "fullyImplemented": true, - "id": "5193", + "id": "5194", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ "2490", - "4831", - "3820", - "5193", - "5183", + "4832", + "3821", + "5194", "5184", "5185", "5186", @@ -103487,7 +103569,8 @@ "5189", "5190", "5191", - "5192" + "5192", + "5193" ], "name": "BaseVault", "nameLocation": { @@ -103495,7 +103578,7 @@ "end": "86119", "length": "9", "line": "2384", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86111" }, "nodeType": "CONTRACT_DEFINITION", @@ -103503,17 +103586,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", "value": { - "id": "5201", + "id": "5202", "libraryName": { - "id": "5202", + "id": "5203", "name": "SafeTransferLib", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4499", + "referencedDeclaration": "4500", "src": { "end": "86208", "length": "15", "line": "2385", - "parentIndex": "5201", + "parentIndex": "5202", "start": "86194" } }, @@ -103523,45 +103606,45 @@ "end": "86219", "length": "32", "line": "2385", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86188" }, "typeName": { - "id": "5203", + "id": "5204", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5204", + "id": "5205", "name": "ERC20", "nameLocation": { "column": "30", "end": "86218", "length": "5", "line": "2385", - "parentIndex": "5203", + "parentIndex": "5204", "start": "86214" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "30", "end": "86218", "length": "5", "line": "2385", - "parentIndex": "5203", + "parentIndex": "5204", "start": "86214" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "30", "end": "86218", "length": "5", "line": "2385", - "parentIndex": "5201", + "parentIndex": "5202", "start": "86214" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -103570,61 +103653,61 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5206", + "id": "5207", "isStateVariable": true, "name": "_asset", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "86421", "length": "13", "line": "2391", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86409" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "5207", + "id": "5208", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5208", + "id": "5209", "name": "ERC20", "nameLocation": { "column": "4", "end": "86413", "length": "5", "line": "2391", - "parentIndex": "5207", + "parentIndex": "5208", "start": "86409" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "86413", "length": "5", "line": "2391", - "parentIndex": "5207", + "parentIndex": "5208", "start": "86409" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "86413", "length": "5", "line": "2391", - "parentIndex": "5206", + "parentIndex": "5207", "start": "86409" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, @@ -103635,7 +103718,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5217", + "id": "5218", "implemented": true, "nodeType": "BLOCK", "src": { @@ -103643,7 +103726,7 @@ "end": "86607", "length": "39", "line": "2394", - "parentIndex": "5210", + "parentIndex": "5211", "start": "86569" }, "statements": [ @@ -103663,7 +103746,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5222", + "id": "5223", "name": "_asset", "nodeType": "IDENTIFIER", "src": { @@ -103671,7 +103754,7 @@ "end": "86599", "length": "6", "line": "2395", - "parentIndex": "5219", + "parentIndex": "5220", "start": "86594" }, "typeDescription": { @@ -103690,7 +103773,7 @@ "typeString": "address" } ], - "id": "5220", + "id": "5221", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -103698,7 +103781,7 @@ "end": "86592", "length": "7", "line": "2395", - "parentIndex": "5219", + "parentIndex": "5220", "start": "86586" }, "typeDescription": { @@ -103706,7 +103789,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5221", + "id": "5222", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -103714,7 +103797,7 @@ "end": "86592", "length": "7", "line": "2395", - "parentIndex": "5220", + "parentIndex": "5221", "start": "86586" }, "stateMutability": "NONPAYABLE", @@ -103725,7 +103808,7 @@ } } }, - "id": "5219", + "id": "5220", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -103733,7 +103816,7 @@ "end": "86600", "length": "15", "line": "2395", - "parentIndex": "5218", + "parentIndex": "5219", "start": "86586" }, "typeDescription": { @@ -103742,15 +103825,15 @@ } } }, - "functionReturnParameters": "5210", - "id": "5218", + "functionReturnParameters": "5211", + "id": "5219", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "86601", "length": "23", "line": "2395", - "parentIndex": "5210", + "parentIndex": "5211", "start": "86579" }, "typeDescription": { @@ -103761,7 +103844,7 @@ } ] }, - "id": "5210", + "id": "5211", "implemented": true, "kind": "KIND_FUNCTION", "name": "asset", @@ -103770,24 +103853,24 @@ "end": "86527", "length": "5", "line": "2394", - "parentIndex": "5210", + "parentIndex": "5211", "start": "86523" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5211", + "id": "5212", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5212", + "id": "5213", "nodeType": "VARIABLE_DECLARATION", - "scope": "5212", + "scope": "5213", "src": { "column": "50", "end": "86566", "length": "7", "line": "2394", - "parentIndex": "5211", + "parentIndex": "5212", "start": "86560" }, "stateMutability": "NONPAYABLE", @@ -103797,7 +103880,7 @@ "typeString": "address" }, "typeName": { - "id": "5213", + "id": "5214", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -103805,7 +103888,7 @@ "end": "86566", "length": "7", "line": "2394", - "parentIndex": "5212", + "parentIndex": "5213", "start": "86560" }, "stateMutability": "NONPAYABLE", @@ -103822,24 +103905,24 @@ "end": "86566", "length": "7", "line": "2394", - "parentIndex": "5210", + "parentIndex": "5211", "start": "86560" } }, "returnParameters": { - "id": "5214", + "id": "5215", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5215", + "id": "5216", "nodeType": "VARIABLE_DECLARATION", - "scope": "5215", + "scope": "5216", "src": { "column": "50", "end": "86566", "length": "7", "line": "2394", - "parentIndex": "5214", + "parentIndex": "5215", "start": "86560" }, "stateMutability": "NONPAYABLE", @@ -103849,7 +103932,7 @@ "typeString": "address" }, "typeName": { - "id": "5216", + "id": "5217", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -103857,7 +103940,7 @@ "end": "86566", "length": "7", "line": "2394", - "parentIndex": "5215", + "parentIndex": "5216", "start": "86560" }, "stateMutability": "NONPAYABLE", @@ -103874,18 +103957,18 @@ "end": "86566", "length": "7", "line": "2394", - "parentIndex": "5210", + "parentIndex": "5211", "start": "86560" } }, - "scope": "5193", + "scope": "5194", "signature": "9c4667a2", "src": { "column": "4", "end": "86607", "length": "94", "line": "2394", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86514" }, "stateMutability": "VIEW", @@ -103901,7 +103984,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5237", + "id": "5238", "implemented": true, "nodeType": "BLOCK", "src": { @@ -103909,7 +103992,7 @@ "end": "87444", "length": "398", "line": "2408", - "parentIndex": "5224", + "parentIndex": "5225", "start": "87047" }, "statements": [ @@ -103919,20 +104002,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5239", + "id": "5240", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5240", + "id": "5241", "name": "governance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4884", + "referencedDeclaration": "4885", "src": { "column": "8", "end": "87066", "length": "10", "line": "2409", - "parentIndex": "5239", + "parentIndex": "5240", "start": "87057" }, "typeDescription": { @@ -103946,16 +104029,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5241", + "id": "5242", "name": "_governance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5241", + "referencedDeclaration": "5242", "src": { "column": "21", "end": "87080", "length": "11", "line": "2409", - "parentIndex": "5239", + "parentIndex": "5240", "start": "87070" }, "typeDescription": { @@ -103969,7 +104052,7 @@ "end": "87080", "length": "24", "line": "2409", - "parentIndex": "5238", + "parentIndex": "5239", "start": "87057" }, "typeDescription": { @@ -103978,14 +104061,14 @@ } } }, - "id": "5238", + "id": "5239", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "87081", "length": "25", "line": "2409", - "parentIndex": "5237", + "parentIndex": "5238", "start": "87057" }, "typeDescription": { @@ -104000,24 +104083,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5243", + "id": "5244", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5244", + "id": "5245", "name": "_asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5206", + "referencedDeclaration": "5207", "src": { "column": "8", "end": "87096", "length": "6", "line": "2410", - "parentIndex": "5243", + "parentIndex": "5244", "start": "87091" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -104027,20 +104110,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5245", + "id": "5246", "name": "vaultAsset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5245", + "referencedDeclaration": "5246", "src": { "column": "17", "end": "87109", "length": "10", "line": "2410", - "parentIndex": "5243", + "parentIndex": "5244", "start": "87100" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -104050,27 +104133,27 @@ "end": "87109", "length": "19", "line": "2410", - "parentIndex": "5242", + "parentIndex": "5243", "start": "87091" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5242", + "id": "5243", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "87110", "length": "20", "line": "2410", - "parentIndex": "5237", + "parentIndex": "5238", "start": "87091" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -104081,11 +104164,11 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5247", + "id": "5248", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5248", + "id": "5249", "name": "wormholeRouter", "nodeType": "IDENTIFIER", "referencedDeclaration": "543", @@ -104094,7 +104177,7 @@ "end": "87133", "length": "14", "line": "2411", - "parentIndex": "5247", + "parentIndex": "5248", "start": "87120" }, "typeDescription": { @@ -104108,16 +104191,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5249", + "id": "5250", "name": "_wormholeRouter", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5249", + "referencedDeclaration": "5250", "src": { "column": "25", "end": "87151", "length": "15", "line": "2411", - "parentIndex": "5247", + "parentIndex": "5248", "start": "87137" }, "typeDescription": { @@ -104131,7 +104214,7 @@ "end": "87151", "length": "32", "line": "2411", - "parentIndex": "5246", + "parentIndex": "5247", "start": "87120" }, "typeDescription": { @@ -104140,14 +104223,14 @@ } } }, - "id": "5246", + "id": "5247", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "87152", "length": "33", "line": "2411", - "parentIndex": "5237", + "parentIndex": "5238", "start": "87120" }, "typeDescription": { @@ -104162,11 +104245,11 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5251", + "id": "5252", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5252", + "id": "5253", "name": "bridgeEscrow", "nodeType": "IDENTIFIER", "referencedDeclaration": "474", @@ -104175,11 +104258,11 @@ "end": "87173", "length": "12", "line": "2412", - "parentIndex": "5251", + "parentIndex": "5252", "start": "87162" }, "typeDescription": { - "typeIdentifier": "t_contract$_L1BridgeEscrow_$6695", + "typeIdentifier": "t_contract$_L1BridgeEscrow_$6697", "typeString": "contract L1BridgeEscrow" } } @@ -104189,7 +104272,7 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5253", + "id": "5254", "name": "_bridgeEscrow", "nodeType": "IDENTIFIER", "referencedDeclaration": "474", @@ -104198,11 +104281,11 @@ "end": "87189", "length": "13", "line": "2412", - "parentIndex": "5251", + "parentIndex": "5252", "start": "87177" }, "typeDescription": { - "typeIdentifier": "t_contract$_L1BridgeEscrow_$6695", + "typeIdentifier": "t_contract$_L1BridgeEscrow_$6697", "typeString": "contract L1BridgeEscrow" } } @@ -104212,7 +104295,7 @@ "end": "87189", "length": "28", "line": "2412", - "parentIndex": "5250", + "parentIndex": "5251", "start": "87162" }, "typeDescription": { @@ -104221,14 +104304,14 @@ } } }, - "id": "5250", + "id": "5251", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "87190", "length": "29", "line": "2412", - "parentIndex": "5237", + "parentIndex": "5238", "start": "87162" }, "typeDescription": { @@ -104254,7 +104337,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5256", + "id": "5257", "name": "DEFAULT_ADMIN_ROLE", "nodeType": "IDENTIFIER", "src": { @@ -104262,7 +104345,7 @@ "end": "87332", "length": "18", "line": "2416", - "parentIndex": "5254", + "parentIndex": "5255", "start": "87315" }, "typeDescription": { @@ -104280,7 +104363,7 @@ "typeString": "function()" } ], - "id": "5257", + "id": "5258", "name": "governance", "nodeType": "IDENTIFIER", "src": { @@ -104288,7 +104371,7 @@ "end": "87344", "length": "10", "line": "2416", - "parentIndex": "5254", + "parentIndex": "5255", "start": "87335" }, "typeDescription": { @@ -104301,7 +104384,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5255", + "id": "5256", "name": "_grantRole", "nodeType": "IDENTIFIER", "src": { @@ -104309,7 +104392,7 @@ "end": "87313", "length": "10", "line": "2416", - "parentIndex": "5254", + "parentIndex": "5255", "start": "87304" }, "typeDescription": { @@ -104318,7 +104401,7 @@ } } }, - "id": "5254", + "id": "5255", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -104326,7 +104409,7 @@ "end": "87345", "length": "42", "line": "2416", - "parentIndex": "5237", + "parentIndex": "5238", "start": "87304" }, "typeDescription": { @@ -104352,7 +104435,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5260", + "id": "5261", "name": "HARVESTER", "nodeType": "IDENTIFIER", "src": { @@ -104360,7 +104443,7 @@ "end": "87375", "length": "9", "line": "2417", - "parentIndex": "5258", + "parentIndex": "5259", "start": "87367" }, "typeDescription": { @@ -104378,7 +104461,7 @@ "typeString": "function()" } ], - "id": "5261", + "id": "5262", "name": "governance", "nodeType": "IDENTIFIER", "src": { @@ -104386,7 +104469,7 @@ "end": "87387", "length": "10", "line": "2417", - "parentIndex": "5258", + "parentIndex": "5259", "start": "87378" }, "typeDescription": { @@ -104399,7 +104482,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5259", + "id": "5260", "name": "_grantRole", "nodeType": "IDENTIFIER", "src": { @@ -104407,7 +104490,7 @@ "end": "87365", "length": "10", "line": "2417", - "parentIndex": "5258", + "parentIndex": "5259", "start": "87356" }, "typeDescription": { @@ -104416,7 +104499,7 @@ } } }, - "id": "5258", + "id": "5259", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -104424,7 +104507,7 @@ "end": "87388", "length": "33", "line": "2417", - "parentIndex": "5237", + "parentIndex": "5238", "start": "87356" }, "typeDescription": { @@ -104439,20 +104522,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5263", + "id": "5264", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5264", + "id": "5265", "name": "lastHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7988", + "referencedDeclaration": "7992", "src": { "column": "8", "end": "87410", "length": "11", "line": "2419", - "parentIndex": "5263", + "parentIndex": "5264", "start": "87400" }, "typeDescription": { @@ -104479,7 +104562,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5269", + "id": "5270", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -104487,7 +104570,7 @@ "end": "87426", "length": "5", "line": "2419", - "parentIndex": "5268", + "parentIndex": "5269", "start": "87422" }, "typeDescription": { @@ -104496,13 +104579,13 @@ } } }, - "id": "5268", + "id": "5269", "memberLocation": { "column": "36", "end": "87436", "length": "9", "line": "2419", - "parentIndex": "5268", + "parentIndex": "5269", "start": "87428" }, "memberName": "timestamp", @@ -104512,7 +104595,7 @@ "end": "87436", "length": "15", "line": "2419", - "parentIndex": "5265", + "parentIndex": "5266", "start": "87422" }, "typeDescription": { @@ -104531,7 +104614,7 @@ "typeString": "uint128" } ], - "id": "5266", + "id": "5267", "name": "uint128", "nodeType": "IDENTIFIER", "src": { @@ -104539,7 +104622,7 @@ "end": "87420", "length": "7", "line": "2419", - "parentIndex": "5265", + "parentIndex": "5266", "start": "87414" }, "typeDescription": { @@ -104547,7 +104630,7 @@ "typeString": "function(uint128)" }, "typeName": { - "id": "5267", + "id": "5268", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -104555,7 +104638,7 @@ "end": "87420", "length": "7", "line": "2419", - "parentIndex": "5266", + "parentIndex": "5267", "start": "87414" }, "typeDescription": { @@ -104565,7 +104648,7 @@ } } }, - "id": "5265", + "id": "5266", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -104573,7 +104656,7 @@ "end": "87437", "length": "24", "line": "2419", - "parentIndex": "5263", + "parentIndex": "5264", "start": "87414" }, "typeDescription": { @@ -104587,7 +104670,7 @@ "end": "87437", "length": "38", "line": "2419", - "parentIndex": "5262", + "parentIndex": "5263", "start": "87400" }, "typeDescription": { @@ -104596,14 +104679,14 @@ } } }, - "id": "5262", + "id": "5263", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "87438", "length": "39", "line": "2419", - "parentIndex": "5237", + "parentIndex": "5238", "start": "87400" }, "typeDescription": { @@ -104614,7 +104697,7 @@ } ] }, - "id": "5224", + "id": "5225", "implemented": true, "kind": "KIND_FUNCTION", "name": "baseInitialize", @@ -104623,25 +104706,25 @@ "end": "86916", "length": "14", "line": "2405", - "parentIndex": "5224", + "parentIndex": "5225", "start": "86903" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5225", + "id": "5226", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5226", + "id": "5227", "name": "_governance", "nodeType": "VARIABLE_DECLARATION", - "scope": "5226", + "scope": "5227", "src": { "column": "28", "end": "86936", "length": "19", "line": "2405", - "parentIndex": "5225", + "parentIndex": "5226", "start": "86918" }, "stateMutability": "NONPAYABLE", @@ -104651,7 +104734,7 @@ "typeString": "address" }, "typeName": { - "id": "5227", + "id": "5228", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -104659,7 +104742,7 @@ "end": "86924", "length": "7", "line": "2405", - "parentIndex": "5226", + "parentIndex": "5227", "start": "86918" }, "stateMutability": "NONPAYABLE", @@ -104671,76 +104754,76 @@ "visibility": "INTERNAL" }, { - "id": "5228", + "id": "5229", "name": "vaultAsset", "nodeType": "VARIABLE_DECLARATION", - "scope": "5228", + "scope": "5229", "src": { "column": "49", "end": "86954", "length": "16", "line": "2405", - "parentIndex": "5225", + "parentIndex": "5226", "start": "86939" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "5229", + "id": "5230", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5230", + "id": "5231", "name": "ERC20", "nameLocation": { "column": "49", "end": "86943", "length": "5", "line": "2405", - "parentIndex": "5229", + "parentIndex": "5230", "start": "86939" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "49", "end": "86943", "length": "5", "line": "2405", - "parentIndex": "5229", + "parentIndex": "5230", "start": "86939" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "49", "end": "86943", "length": "5", "line": "2405", - "parentIndex": "5228", + "parentIndex": "5229", "start": "86939" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, "visibility": "INTERNAL" }, { - "id": "5231", + "id": "5232", "name": "_wormholeRouter", "nodeType": "VARIABLE_DECLARATION", - "scope": "5231", + "scope": "5232", "src": { "column": "67", "end": "86979", "length": "23", "line": "2405", - "parentIndex": "5225", + "parentIndex": "5226", "start": "86957" }, "stateMutability": "NONPAYABLE", @@ -104750,7 +104833,7 @@ "typeString": "address" }, "typeName": { - "id": "5232", + "id": "5233", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -104758,7 +104841,7 @@ "end": "86963", "length": "7", "line": "2405", - "parentIndex": "5231", + "parentIndex": "5232", "start": "86957" }, "stateMutability": "NONPAYABLE", @@ -104770,36 +104853,36 @@ "visibility": "INTERNAL" }, { - "id": "5233", + "id": "5234", "name": "_bridgeEscrow", "nodeType": "VARIABLE_DECLARATION", - "scope": "5233", + "scope": "5234", "src": { "column": "92", "end": "87007", "length": "26", "line": "2405", - "parentIndex": "5225", + "parentIndex": "5226", "start": "86982" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" }, "typeName": { - "id": "5234", + "id": "5235", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5235", + "id": "5236", "name": "BridgeEscrow", "nameLocation": { "column": "92", "end": "86993", "length": "12", "line": "2405", - "parentIndex": "5234", + "parentIndex": "5235", "start": "86982" }, "nodeType": "IDENTIFIER_PATH", @@ -104808,21 +104891,21 @@ "end": "86993", "length": "12", "line": "2405", - "parentIndex": "5234", + "parentIndex": "5235", "start": "86982" } }, - "referencedDeclaration": "6344", + "referencedDeclaration": "6346", "src": { "column": "92", "end": "86993", "length": "12", "line": "2405", - "parentIndex": "5233", + "parentIndex": "5234", "start": "86982" }, "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" } }, @@ -104834,36 +104917,36 @@ "end": "87007", "length": "90", "line": "2405", - "parentIndex": "5224", + "parentIndex": "5225", "start": "86918" } }, "returnParameters": { - "id": "5236", + "id": "5237", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "87444", "length": "551", "line": "2405", - "parentIndex": "5224", + "parentIndex": "5225", "start": "86894" } }, - "scope": "5193", - "signature": "8c708538", + "scope": "5194", + "signature": "bbf1c7ba", "src": { "column": "4", "end": "87444", "length": "551", "line": "2405", - "parentIndex": "5193", + "parentIndex": "5194", "start": "86894" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_contract$_ERC20_$4060$_t_address$_t_unknown_5224$", - "typeString": "function(address,contract ERC20,address,unknown_5224)" + "typeIdentifier": "t_function_$_t_address$_t_contract$_ERC20_$4061$_t_address$_t_unknown_5225$", + "typeString": "function(address,contract ERC20,address,unknown_5225)" }, "virtual": true, "visibility": "INTERNAL" @@ -104872,17 +104955,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5271", + "id": "5272", "isStateVariable": true, "name": "wormholeRouter", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "87851", "length": "30", "line": "2430", - "parentIndex": "5193", + "parentIndex": "5194", "start": "87822" }, "stateMutability": "MUTABLE", @@ -104892,7 +104975,7 @@ "typeString": "address" }, "typeName": { - "id": "5272", + "id": "5273", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -104900,7 +104983,7 @@ "end": "87828", "length": "7", "line": "2430", - "parentIndex": "5271", + "parentIndex": "5272", "start": "87822" }, "stateMutability": "NONPAYABLE", @@ -104915,37 +104998,37 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5274", + "id": "5275", "isStateVariable": true, "name": "bridgeEscrow", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "87982", "length": "33", "line": "2432", - "parentIndex": "5193", + "parentIndex": "5194", "start": "87950" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" }, "typeName": { - "id": "5275", + "id": "5276", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5276", + "id": "5277", "name": "BridgeEscrow", "nameLocation": { "column": "4", "end": "87961", "length": "12", "line": "2432", - "parentIndex": "5275", + "parentIndex": "5276", "start": "87950" }, "nodeType": "IDENTIFIER_PATH", @@ -104954,21 +105037,21 @@ "end": "87961", "length": "12", "line": "2432", - "parentIndex": "5275", + "parentIndex": "5276", "start": "87950" } }, - "referencedDeclaration": "6344", + "referencedDeclaration": "6346", "src": { "column": "4", "end": "87961", "length": "12", "line": "2432", - "parentIndex": "5274", + "parentIndex": "5275", "start": "87950" }, "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" } }, @@ -104979,7 +105062,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5285", + "id": "5286", "implemented": true, "nodeType": "BLOCK", "src": { @@ -104987,7 +105070,7 @@ "end": "88290", "length": "122", "line": "2438", - "parentIndex": "5278", + "parentIndex": "5279", "start": "88169" }, "statements": [ @@ -104997,32 +105080,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5287", + "id": "5288", "name": "WormholeRouterSet", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7878", + "referencedDeclaration": "7881", "src": { "column": "13", "end": "88200", "length": "17", "line": "2439", - "parentIndex": "5286", + "parentIndex": "5287", "start": "88184" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_WormholeRouterSet_\u00267878", + "typeIdentifier": "t_event\u0026_Global_WormholeRouterSet_\u00267881", "typeString": "event Global.WormholeRouterSet" } } }, - "id": "5286", + "id": "5287", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "88250", "length": "72", "line": "2439", - "parentIndex": "5278", + "parentIndex": "5279", "start": "88179" } } @@ -105033,20 +105116,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5289", + "id": "5290", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5290", + "id": "5291", "name": "wormholeRouter", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5271", + "referencedDeclaration": "5272", "src": { "column": "8", "end": "88273", "length": "14", "line": "2440", - "parentIndex": "5289", + "parentIndex": "5290", "start": "88260" }, "typeDescription": { @@ -105060,16 +105143,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5291", + "id": "5292", "name": "_router", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5291", + "referencedDeclaration": "5292", "src": { "column": "25", "end": "88283", "length": "7", "line": "2440", - "parentIndex": "5289", + "parentIndex": "5290", "start": "88277" }, "typeDescription": { @@ -105083,7 +105166,7 @@ "end": "88283", "length": "24", "line": "2440", - "parentIndex": "5288", + "parentIndex": "5289", "start": "88260" }, "typeDescription": { @@ -105092,14 +105175,14 @@ } } }, - "id": "5288", + "id": "5289", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "88284", "length": "25", "line": "2440", - "parentIndex": "5285", + "parentIndex": "5286", "start": "88260" }, "typeDescription": { @@ -105110,22 +105193,22 @@ } ] }, - "id": "5278", + "id": "5279", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "5282", + "id": "5283", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "5283", + "id": "5284", "name": "onlyGovernance", "src": { "column": "57", "end": "88167", "length": "14", "line": "2438", - "parentIndex": "5282", + "parentIndex": "5283", "start": "88154" } }, @@ -105136,7 +105219,7 @@ "end": "88167", "length": "14", "line": "2438", - "parentIndex": "5278", + "parentIndex": "5279", "start": "88154" } } @@ -105147,25 +105230,25 @@ "end": "88126", "length": "17", "line": "2438", - "parentIndex": "5278", + "parentIndex": "5279", "start": "88110" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5279", + "id": "5280", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5280", + "id": "5281", "name": "_router", "nodeType": "VARIABLE_DECLARATION", - "scope": "5280", + "scope": "5281", "src": { "column": "31", "end": "88142", "length": "15", "line": "2438", - "parentIndex": "5279", + "parentIndex": "5280", "start": "88128" }, "stateMutability": "NONPAYABLE", @@ -105175,7 +105258,7 @@ "typeString": "address" }, "typeName": { - "id": "5281", + "id": "5282", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -105183,7 +105266,7 @@ "end": "88134", "length": "7", "line": "2438", - "parentIndex": "5280", + "parentIndex": "5281", "start": "88128" }, "stateMutability": "NONPAYABLE", @@ -105200,30 +105283,30 @@ "end": "88142", "length": "15", "line": "2438", - "parentIndex": "5278", + "parentIndex": "5279", "start": "88128" } }, "returnParameters": { - "id": "5284", + "id": "5285", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "88290", "length": "190", "line": "2438", - "parentIndex": "5278", + "parentIndex": "5279", "start": "88101" } }, - "scope": "5193", + "scope": "5194", "signature": "082b5216", "src": { "column": "4", "end": "88290", "length": "190", "line": "2438", - "parentIndex": "5193", + "parentIndex": "5194", "start": "88101" }, "stateMutability": "NONPAYABLE", @@ -105238,7 +105321,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5301", + "id": "5302", "implemented": true, "nodeType": "BLOCK", "src": { @@ -105246,7 +105329,7 @@ "end": "88611", "length": "134", "line": "2447", - "parentIndex": "5293", + "parentIndex": "5294", "start": "88478" }, "statements": [ @@ -105256,32 +105339,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5303", + "id": "5304", "name": "BridgeEscrowSet", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7884", + "referencedDeclaration": "7887", "src": { "column": "13", "end": "88507", "length": "15", "line": "2448", - "parentIndex": "5302", + "parentIndex": "5303", "start": "88493" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267884", + "typeIdentifier": "t_event\u0026_Global_BridgeEscrowSet_\u00267887", "typeString": "event Global.BridgeEscrowSet" } } }, - "id": "5302", + "id": "5303", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "88573", "length": "86", "line": "2448", - "parentIndex": "5293", + "parentIndex": "5294", "start": "88488" } } @@ -105292,24 +105375,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5305", + "id": "5306", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5306", + "id": "5307", "name": "bridgeEscrow", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5295", + "referencedDeclaration": "5296", "src": { "column": "8", "end": "88594", "length": "12", "line": "2449", - "parentIndex": "5305", + "parentIndex": "5306", "start": "88583" }, "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" } } @@ -105319,20 +105402,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5307", + "id": "5308", "name": "_escrow", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5295", + "referencedDeclaration": "5296", "src": { "column": "23", "end": "88604", "length": "7", "line": "2449", - "parentIndex": "5305", + "parentIndex": "5306", "start": "88598" }, "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" } } @@ -105342,7 +105425,7 @@ "end": "88604", "length": "22", "line": "2449", - "parentIndex": "5304", + "parentIndex": "5305", "start": "88583" }, "typeDescription": { @@ -105351,14 +105434,14 @@ } } }, - "id": "5304", + "id": "5305", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "88605", "length": "23", "line": "2449", - "parentIndex": "5301", + "parentIndex": "5302", "start": "88583" }, "typeDescription": { @@ -105369,22 +105452,22 @@ } ] }, - "id": "5293", + "id": "5294", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "5298", + "id": "5299", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "5299", + "id": "5300", "name": "onlyGovernance", "src": { "column": "60", "end": "88476", "length": "14", "line": "2447", - "parentIndex": "5298", + "parentIndex": "5299", "start": "88463" } }, @@ -105395,7 +105478,7 @@ "end": "88476", "length": "14", "line": "2447", - "parentIndex": "5293", + "parentIndex": "5294", "start": "88463" } } @@ -105406,45 +105489,45 @@ "end": "88430", "length": "15", "line": "2447", - "parentIndex": "5293", + "parentIndex": "5294", "start": "88416" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5294", + "id": "5295", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5295", + "id": "5296", "name": "_escrow", "nodeType": "VARIABLE_DECLARATION", - "scope": "5295", + "scope": "5296", "src": { "column": "29", "end": "88451", "length": "20", "line": "2447", - "parentIndex": "5294", + "parentIndex": "5295", "start": "88432" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" }, "typeName": { - "id": "5296", + "id": "5297", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5297", + "id": "5298", "name": "BridgeEscrow", "nameLocation": { "column": "29", "end": "88443", "length": "12", "line": "2447", - "parentIndex": "5296", + "parentIndex": "5297", "start": "88432" }, "nodeType": "IDENTIFIER_PATH", @@ -105453,21 +105536,21 @@ "end": "88443", "length": "12", "line": "2447", - "parentIndex": "5296", + "parentIndex": "5297", "start": "88432" } }, - "referencedDeclaration": "6344", + "referencedDeclaration": "6346", "src": { "column": "29", "end": "88443", "length": "12", "line": "2447", - "parentIndex": "5295", + "parentIndex": "5296", "start": "88432" }, "typeDescription": { - "typeIdentifier": "t_contract$_BridgeEscrow_$6344", + "typeIdentifier": "t_contract$_BridgeEscrow_$6346", "typeString": "contract BridgeEscrow" } }, @@ -105479,36 +105562,36 @@ "end": "88451", "length": "20", "line": "2447", - "parentIndex": "5293", + "parentIndex": "5294", "start": "88432" } }, "returnParameters": { - "id": "5300", + "id": "5301", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "88611", "length": "205", "line": "2447", - "parentIndex": "5293", + "parentIndex": "5294", "start": "88407" } }, - "scope": "5193", + "scope": "5194", "signature": "6349493d", "src": { "column": "4", "end": "88611", "length": "205", "line": "2447", - "parentIndex": "5193", + "parentIndex": "5194", "start": "88407" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_unknown_5293$", - "typeString": "function(unknown_5293)" + "typeIdentifier": "t_function_$_t_unknown_5294$", + "typeString": "function(unknown_5294)" }, "visibility": "EXTERNAL" } @@ -105516,25 +105599,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "5309", + "id": "5310", "name": "WormholeRouterSet", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "5310", + "id": "5311", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5311", + "id": "5312", "indexed": true, "name": "oldRouter", "nodeType": "VARIABLE_DECLARATION", - "scope": "5311", + "scope": "5312", "src": { "column": "28", "end": "88822", "length": "25", "line": "2457", - "parentIndex": "5310", + "parentIndex": "5311", "start": "88798" }, "stateMutability": "NONPAYABLE", @@ -105544,7 +105627,7 @@ "typeString": "address" }, "typeName": { - "id": "5312", + "id": "5313", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -105552,7 +105635,7 @@ "end": "88804", "length": "7", "line": "2457", - "parentIndex": "5311", + "parentIndex": "5312", "start": "88798" }, "stateMutability": "NONPAYABLE", @@ -105564,17 +105647,17 @@ "visibility": "INTERNAL" }, { - "id": "5313", + "id": "5314", "indexed": true, "name": "newRouter", "nodeType": "VARIABLE_DECLARATION", - "scope": "5313", + "scope": "5314", "src": { "column": "55", "end": "88849", "length": "25", "line": "2457", - "parentIndex": "5310", + "parentIndex": "5311", "start": "88825" }, "stateMutability": "NONPAYABLE", @@ -105584,7 +105667,7 @@ "typeString": "address" }, "typeName": { - "id": "5314", + "id": "5315", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -105592,7 +105675,7 @@ "end": "88831", "length": "7", "line": "2457", - "parentIndex": "5313", + "parentIndex": "5314", "start": "88825" }, "stateMutability": "NONPAYABLE", @@ -105609,7 +105692,7 @@ "end": "88851", "length": "78", "line": "2457", - "parentIndex": "5309", + "parentIndex": "5310", "start": "88774" } }, @@ -105618,11 +105701,11 @@ "end": "88851", "length": "78", "line": "2457", - "parentIndex": "5193", + "parentIndex": "5194", "start": "88774" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_WormholeRouterSet_\u00265309", + "typeIdentifier": "t_event\u0026_BaseVault_WormholeRouterSet_\u00265310", "typeString": "event BaseVault.WormholeRouterSet" } } @@ -105630,25 +105713,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "5316", + "id": "5317", "name": "BridgeEscrowSet", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "5317", + "id": "5318", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5318", + "id": "5319", "indexed": true, "name": "oldEscrow", "nodeType": "VARIABLE_DECLARATION", - "scope": "5318", + "scope": "5319", "src": { "column": "26", "end": "89050", "length": "25", "line": "2463", - "parentIndex": "5317", + "parentIndex": "5318", "start": "89026" }, "stateMutability": "NONPAYABLE", @@ -105658,7 +105741,7 @@ "typeString": "address" }, "typeName": { - "id": "5319", + "id": "5320", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -105666,7 +105749,7 @@ "end": "89032", "length": "7", "line": "2463", - "parentIndex": "5318", + "parentIndex": "5319", "start": "89026" }, "stateMutability": "NONPAYABLE", @@ -105678,17 +105761,17 @@ "visibility": "INTERNAL" }, { - "id": "5320", + "id": "5321", "indexed": true, "name": "newEscrow", "nodeType": "VARIABLE_DECLARATION", - "scope": "5320", + "scope": "5321", "src": { "column": "53", "end": "89077", "length": "25", "line": "2463", - "parentIndex": "5317", + "parentIndex": "5318", "start": "89053" }, "stateMutability": "NONPAYABLE", @@ -105698,7 +105781,7 @@ "typeString": "address" }, "typeName": { - "id": "5321", + "id": "5322", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -105706,7 +105789,7 @@ "end": "89059", "length": "7", "line": "2463", - "parentIndex": "5320", + "parentIndex": "5321", "start": "89053" }, "stateMutability": "NONPAYABLE", @@ -105723,7 +105806,7 @@ "end": "89079", "length": "76", "line": "2463", - "parentIndex": "5316", + "parentIndex": "5317", "start": "89004" } }, @@ -105732,11 +105815,11 @@ "end": "89079", "length": "76", "line": "2463", - "parentIndex": "5193", + "parentIndex": "5194", "start": "89004" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_BridgeEscrowSet_\u00265316", + "typeIdentifier": "t_event\u0026_BaseVault_BridgeEscrowSet_\u00265317", "typeString": "event BaseVault.BridgeEscrowSet" } } @@ -105744,7 +105827,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5323", + "id": "5324", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -105759,7 +105842,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "484152564553544552", - "id": "5327", + "id": "5328", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -105768,7 +105851,7 @@ "end": "89409", "length": "11", "line": "2470", - "parentIndex": "5325", + "parentIndex": "5326", "start": "89399" }, "typeDescription": { @@ -105782,7 +105865,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5326", + "id": "5327", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -105790,7 +105873,7 @@ "end": "89397", "length": "9", "line": "2470", - "parentIndex": "5325", + "parentIndex": "5326", "start": "89389" }, "typeDescription": { @@ -105799,7 +105882,7 @@ } } }, - "id": "5325", + "id": "5326", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -105807,7 +105890,7 @@ "end": "89410", "length": "22", "line": "2470", - "parentIndex": "5323", + "parentIndex": "5324", "start": "89389" }, "typeDescription": { @@ -105820,13 +105903,13 @@ "isStateVariable": true, "name": "HARVESTER", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "89411", "length": "59", "line": "2470", - "parentIndex": "5193", + "parentIndex": "5194", "start": "89353" }, "stateMutability": "MUTABLE", @@ -105836,7 +105919,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "5324", + "id": "5325", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -105844,7 +105927,7 @@ "end": "89359", "length": "7", "line": "2470", - "parentIndex": "5323", + "parentIndex": "5324", "start": "89353" }, "typeDescription": { @@ -105858,12 +105941,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5329", + "id": "5330", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3230", - "id": "5331", + "id": "5332", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -105872,7 +105955,7 @@ "end": "89635", "length": "2", "line": "2476", - "parentIndex": "5329", + "parentIndex": "5330", "start": "89634" }, "typeDescription": { @@ -105886,13 +105969,13 @@ "isStateVariable": true, "name": "MAX_STRATEGIES", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "89636", "length": "35", "line": "2476", - "parentIndex": "5193", + "parentIndex": "5194", "start": "89602" }, "stateMutability": "MUTABLE", @@ -105902,7 +105985,7 @@ "typeString": "int_const 20" }, "typeName": { - "id": "5330", + "id": "5331", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -105910,7 +105993,7 @@ "end": "89606", "length": "5", "line": "2476", - "parentIndex": "5329", + "parentIndex": "5330", "start": "89602" }, "typeDescription": { @@ -105924,17 +106007,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5333", + "id": "5334", "isStateVariable": true, "name": "withdrawalQueue", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "90102", "length": "48", "line": "2484", - "parentIndex": "5193", + "parentIndex": "5194", "start": "90055" }, "stateMutability": "MUTABLE", @@ -105947,16 +106030,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5337", + "id": "5338", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "13", "end": "90077", "length": "14", "line": "2484", - "parentIndex": "5334", + "parentIndex": "5335", "start": "90064" }, "typeDescription": { @@ -105965,11 +106048,11 @@ } } }, - "id": "5334", + "id": "5335", "name": "function", "nodeType": "IDENTIFIER", "pathNode": { - "id": "5335", + "id": "5336", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", "src": { @@ -105977,17 +106060,17 @@ "end": "90062", "length": "8", "line": "2484", - "parentIndex": "5334", + "parentIndex": "5335", "start": "90055" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "4", "end": "90062", "length": "8", "line": "2484", - "parentIndex": "5333", + "parentIndex": "5334", "start": "90055" }, "typeDescription": { @@ -106002,7 +106085,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5352", + "id": "5353", "implemented": true, "nodeType": "BLOCK", "src": { @@ -106010,7 +106093,7 @@ "end": "90436", "length": "39", "line": "2491", - "parentIndex": "5339", + "parentIndex": "5340", "start": "90398" }, "statements": [ @@ -106020,16 +106103,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5354", + "id": "5355", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "15", "end": "90429", "length": "15", "line": "2492", - "parentIndex": "5353", + "parentIndex": "5354", "start": "90415" }, "typeDescription": { @@ -106038,15 +106121,15 @@ } } }, - "functionReturnParameters": "5339", - "id": "5353", + "functionReturnParameters": "5340", + "id": "5354", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "90430", "length": "23", "line": "2492", - "parentIndex": "5339", + "parentIndex": "5340", "start": "90408" }, "typeDescription": { @@ -106057,7 +106140,7 @@ } ] }, - "id": "5339", + "id": "5340", "implemented": true, "kind": "KIND_FUNCTION", "name": "getWithdrawalQueue", @@ -106066,24 +106149,24 @@ "end": "90338", "length": "18", "line": "2491", - "parentIndex": "5339", + "parentIndex": "5340", "start": "90321" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5340", + "id": "5341", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5341", + "id": "5342", "nodeType": "VARIABLE_DECLARATION", - "scope": "5341", + "scope": "5342", "src": { "column": "57", "end": "90395", "length": "31", "line": "2491", - "parentIndex": "5340", + "parentIndex": "5341", "start": "90365" }, "stateMutability": "MUTABLE", @@ -106096,16 +106179,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5345", + "id": "5346", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "66", "end": "90387", "length": "14", "line": "2491", - "parentIndex": "5342", + "parentIndex": "5343", "start": "90374" }, "typeDescription": { @@ -106114,11 +106197,11 @@ } } }, - "id": "5342", + "id": "5343", "name": "function", "nodeType": "IDENTIFIER", "pathNode": { - "id": "5343", + "id": "5344", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", "src": { @@ -106126,17 +106209,17 @@ "end": "90372", "length": "8", "line": "2491", - "parentIndex": "5342", + "parentIndex": "5343", "start": "90365" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "57", "end": "90372", "length": "8", "line": "2491", - "parentIndex": "5341", + "parentIndex": "5342", "start": "90365" }, "typeDescription": { @@ -106152,24 +106235,24 @@ "end": "90395", "length": "31", "line": "2491", - "parentIndex": "5339", + "parentIndex": "5340", "start": "90365" } }, "returnParameters": { - "id": "5346", + "id": "5347", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5347", + "id": "5348", "nodeType": "VARIABLE_DECLARATION", - "scope": "5347", + "scope": "5348", "src": { "column": "57", "end": "90395", "length": "31", "line": "2491", - "parentIndex": "5346", + "parentIndex": "5347", "start": "90365" }, "stateMutability": "MUTABLE", @@ -106182,16 +106265,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5351", + "id": "5352", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "66", "end": "90387", "length": "14", "line": "2491", - "parentIndex": "5348", + "parentIndex": "5349", "start": "90374" }, "typeDescription": { @@ -106200,11 +106283,11 @@ } } }, - "id": "5348", + "id": "5349", "name": "function", "nodeType": "IDENTIFIER", "pathNode": { - "id": "5349", + "id": "5350", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", "src": { @@ -106212,17 +106295,17 @@ "end": "90372", "length": "8", "line": "2491", - "parentIndex": "5348", + "parentIndex": "5349", "start": "90365" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "57", "end": "90372", "length": "8", "line": "2491", - "parentIndex": "5347", + "parentIndex": "5348", "start": "90365" }, "typeDescription": { @@ -106238,18 +106321,18 @@ "end": "90395", "length": "31", "line": "2491", - "parentIndex": "5339", + "parentIndex": "5340", "start": "90365" } }, - "scope": "5193", + "scope": "5194", "signature": "3504edc2", "src": { "column": "4", "end": "90436", "length": "125", "line": "2491", - "parentIndex": "5193", + "parentIndex": "5194", "start": "90312" }, "stateMutability": "VIEW", @@ -106264,7 +106347,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5366", + "id": "5367", "implemented": true, "nodeType": "BLOCK", "src": { @@ -106272,7 +106355,7 @@ "end": "90878", "length": "231", "line": "2499", - "parentIndex": "5356", + "parentIndex": "5357", "start": "90648" }, "statements": [ @@ -106293,23 +106376,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5369", + "id": "5370", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5371", + "id": "5372", "name": "newQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5371", + "referencedDeclaration": "5372", "src": { "column": "16", "end": "90704", "length": "8", "line": "2501", - "parentIndex": "5370", + "parentIndex": "5371", "start": "90697" }, "typeDescription": { @@ -106318,13 +106401,13 @@ } } }, - "id": "5370", + "id": "5371", "memberLocation": { "column": "25", "end": "90711", "length": "6", "line": "2501", - "parentIndex": "5370", + "parentIndex": "5371", "start": "90706" }, "memberName": "length", @@ -106334,7 +106417,7 @@ "end": "90711", "length": "15", "line": "2501", - "parentIndex": "5369", + "parentIndex": "5370", "start": "90697" }, "typeDescription": { @@ -106348,16 +106431,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5372", + "id": "5373", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "35", "end": "90729", "length": "14", "line": "2501", - "parentIndex": "5369", + "parentIndex": "5370", "start": "90716" }, "typeDescription": { @@ -106371,7 +106454,7 @@ "end": "90729", "length": "33", "line": "2501", - "parentIndex": "5367", + "parentIndex": "5368", "start": "90697" }, "typeDescription": { @@ -106390,7 +106473,7 @@ } ], "hexValue": "42563a206261642071752073697a65", - "id": "5373", + "id": "5374", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -106399,7 +106482,7 @@ "end": "90748", "length": "17", "line": "2501", - "parentIndex": "5367", + "parentIndex": "5368", "start": "90732" }, "typeDescription": { @@ -106413,7 +106496,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5368", + "id": "5369", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -106422,7 +106505,7 @@ "end": "90695", "length": "7", "line": "2501", - "parentIndex": "5367", + "parentIndex": "5368", "start": "90689" }, "typeDescription": { @@ -106431,7 +106514,7 @@ } } }, - "id": "5367", + "id": "5368", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -106439,7 +106522,7 @@ "end": "90749", "length": "61", "line": "2501", - "parentIndex": "5366", + "parentIndex": "5367", "start": "90689" }, "typeDescription": { @@ -106454,20 +106537,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5375", + "id": "5376", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5376", + "id": "5377", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "8", "end": "90816", "length": "15", "line": "2504", - "parentIndex": "5375", + "parentIndex": "5376", "start": "90802" }, "typeDescription": { @@ -106481,16 +106564,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5377", + "id": "5378", "name": "newQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5377", + "referencedDeclaration": "5378", "src": { "column": "26", "end": "90827", "length": "8", "line": "2504", - "parentIndex": "5375", + "parentIndex": "5376", "start": "90820" }, "typeDescription": { @@ -106504,7 +106587,7 @@ "end": "90827", "length": "26", "line": "2504", - "parentIndex": "5374", + "parentIndex": "5375", "start": "90802" }, "typeDescription": { @@ -106513,14 +106596,14 @@ } } }, - "id": "5374", + "id": "5375", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "90828", "length": "27", "line": "2504", - "parentIndex": "5366", + "parentIndex": "5367", "start": "90802" }, "typeDescription": { @@ -106536,16 +106619,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5379", + "id": "5380", "name": "newQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5379", + "referencedDeclaration": "5380", "src": { "column": "32", "end": "90870", "length": "8", "line": "2506", - "parentIndex": "5378", + "parentIndex": "5379", "start": "90863" }, "typeDescription": { @@ -106558,54 +106641,54 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5380", + "id": "5381", "name": "WithdrawalQueueSet", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7903", + "referencedDeclaration": "7906", "src": { "column": "13", "end": "90861", "length": "18", "line": "2506", - "parentIndex": "5378", + "parentIndex": "5379", "start": "90844" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267903", + "typeIdentifier": "t_event\u0026_Global_WithdrawalQueueSet_\u00267906", "typeString": "event Global.WithdrawalQueueSet" } } }, - "id": "5378", + "id": "5379", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "90872", "length": "34", "line": "2506", - "parentIndex": "5356", + "parentIndex": "5357", "start": "90839" } } } ] }, - "id": "5356", + "id": "5357", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "5363", + "id": "5364", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "5364", + "id": "5365", "name": "onlyGovernance", "src": { "column": "85", "end": "90646", "length": "14", "line": "2499", - "parentIndex": "5363", + "parentIndex": "5364", "start": "90633" } }, @@ -106616,7 +106699,7 @@ "end": "90646", "length": "14", "line": "2499", - "parentIndex": "5356", + "parentIndex": "5357", "start": "90633" } } @@ -106627,25 +106710,25 @@ "end": "90578", "length": "18", "line": "2499", - "parentIndex": "5356", + "parentIndex": "5357", "start": "90561" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5357", + "id": "5358", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5358", + "id": "5359", "name": "newQueue", "nodeType": "VARIABLE_DECLARATION", - "scope": "5358", + "scope": "5359", "src": { "column": "32", "end": "90621", "length": "42", "line": "2499", - "parentIndex": "5357", + "parentIndex": "5358", "start": "90580" }, "stateMutability": "MUTABLE", @@ -106658,16 +106741,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5362", + "id": "5363", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "41", "end": "90602", "length": "14", "line": "2499", - "parentIndex": "5359", + "parentIndex": "5360", "start": "90589" }, "typeDescription": { @@ -106676,11 +106759,11 @@ } } }, - "id": "5359", + "id": "5360", "name": "function", "nodeType": "IDENTIFIER", "pathNode": { - "id": "5360", + "id": "5361", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", "src": { @@ -106688,17 +106771,17 @@ "end": "90587", "length": "8", "line": "2499", - "parentIndex": "5359", + "parentIndex": "5360", "start": "90580" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "32", "end": "90587", "length": "8", "line": "2499", - "parentIndex": "5358", + "parentIndex": "5359", "start": "90580" }, "typeDescription": { @@ -106714,30 +106797,30 @@ "end": "90621", "length": "42", "line": "2499", - "parentIndex": "5356", + "parentIndex": "5357", "start": "90580" } }, "returnParameters": { - "id": "5365", + "id": "5366", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "90878", "length": "327", "line": "2499", - "parentIndex": "5356", + "parentIndex": "5357", "start": "90552" } }, - "scope": "5193", + "scope": "5194", "signature": "b7e9fc67", "src": { "column": "4", "end": "90878", "length": "327", "line": "2499", - "parentIndex": "5193", + "parentIndex": "5194", "start": "90552" }, "stateMutability": "NONPAYABLE", @@ -106751,24 +106834,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "5382", + "id": "5383", "name": "WithdrawalQueueSet", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "5383", + "id": "5384", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5384", + "id": "5385", "name": "newQueue", "nodeType": "VARIABLE_DECLARATION", - "scope": "5384", + "scope": "5385", "src": { "column": "29", "end": "91068", "length": "33", "line": "2513", - "parentIndex": "5383", + "parentIndex": "5384", "start": "91036" }, "stateMutability": "MUTABLE", @@ -106781,16 +106864,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5388", + "id": "5389", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "38", "end": "91058", "length": "14", "line": "2513", - "parentIndex": "5385", + "parentIndex": "5386", "start": "91045" }, "typeDescription": { @@ -106799,11 +106882,11 @@ } } }, - "id": "5385", + "id": "5386", "name": "function", "nodeType": "IDENTIFIER", "pathNode": { - "id": "5386", + "id": "5387", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", "src": { @@ -106811,17 +106894,17 @@ "end": "91043", "length": "8", "line": "2513", - "parentIndex": "5385", + "parentIndex": "5386", "start": "91036" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "29", "end": "91043", "length": "8", "line": "2513", - "parentIndex": "5384", + "parentIndex": "5385", "start": "91036" }, "typeDescription": { @@ -106837,7 +106920,7 @@ "end": "91070", "length": "60", "line": "2513", - "parentIndex": "5382", + "parentIndex": "5383", "start": "91011" } }, @@ -106846,11 +106929,11 @@ "end": "91070", "length": "60", "line": "2513", - "parentIndex": "5193", + "parentIndex": "5194", "start": "91011" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_WithdrawalQueueSet_\u00265382", + "typeIdentifier": "t_event\u0026_BaseVault_WithdrawalQueueSet_\u00265383", "typeString": "event BaseVault.WithdrawalQueueSet" } } @@ -106858,17 +106941,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5390", + "id": "5391", "isStateVariable": true, "name": "totalStrategyHoldings", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "91400", "length": "37", "line": "2520", - "parentIndex": "5193", + "parentIndex": "5194", "start": "91364" }, "stateMutability": "MUTABLE", @@ -106878,7 +106961,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5391", + "id": "5392", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -106886,7 +106969,7 @@ "end": "91370", "length": "7", "line": "2520", - "parentIndex": "5390", + "parentIndex": "5391", "start": "91364" }, "typeDescription": { @@ -106901,19 +106984,19 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "BaseVault.StrategyInfo", - "id": "5393", + "id": "5394", "members": [ { - "id": "5394", + "id": "5395", "name": "isActive", "nodeType": "VARIABLE_DECLARATION", - "scope": "5394", + "scope": "5395", "src": { "column": "8", "end": "91450", "length": "14", "line": "2523", - "parentIndex": "5393", + "parentIndex": "5394", "start": "91437" }, "stateMutability": "MUTABLE", @@ -106922,7 +107005,7 @@ "typeString": "bool" }, "typeName": { - "id": "5395", + "id": "5396", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -106930,7 +107013,7 @@ "end": "91440", "length": "4", "line": "2523", - "parentIndex": "5394", + "parentIndex": "5395", "start": "91437" }, "typeDescription": { @@ -106941,16 +107024,16 @@ "visibility": "INTERNAL" }, { - "id": "5396", + "id": "5397", "name": "tvlBps", "nodeType": "VARIABLE_DECLARATION", - "scope": "5396", + "scope": "5397", "src": { "column": "8", "end": "91473", "length": "14", "line": "2524", - "parentIndex": "5393", + "parentIndex": "5394", "start": "91460" }, "stateMutability": "MUTABLE", @@ -106959,7 +107042,7 @@ "typeString": "uint16" }, "typeName": { - "id": "5397", + "id": "5398", "name": "uint16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -106967,7 +107050,7 @@ "end": "91465", "length": "6", "line": "2524", - "parentIndex": "5396", + "parentIndex": "5397", "start": "91460" }, "typeDescription": { @@ -106978,16 +107061,16 @@ "visibility": "INTERNAL" }, { - "id": "5398", + "id": "5399", "name": "balance", "nodeType": "VARIABLE_DECLARATION", - "scope": "5398", + "scope": "5399", "src": { "column": "8", "end": "91498", "length": "16", "line": "2525", - "parentIndex": "5393", + "parentIndex": "5394", "start": "91483" }, "stateMutability": "MUTABLE", @@ -106996,7 +107079,7 @@ "typeString": "uint232" }, "typeName": { - "id": "5399", + "id": "5400", "name": "uint232", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -107004,7 +107087,7 @@ "end": "91489", "length": "7", "line": "2525", - "parentIndex": "5398", + "parentIndex": "5399", "start": "91483" }, "typeDescription": { @@ -107021,7 +107104,7 @@ "end": "91425", "length": "12", "line": "2522", - "parentIndex": "5393", + "parentIndex": "5394", "start": "91414" }, "nodeType": "STRUCT_DEFINITION", @@ -107030,12 +107113,12 @@ "end": "91504", "length": "98", "line": "2522", - "parentIndex": "5126", + "parentIndex": "5127", "start": "91407" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_BaseVault_StrategyInfo_$5393", + "typeIdentifier": "t_struct$_BaseVault_StrategyInfo_$5394", "typeString": "struct BaseVault.StrategyInfo" }, "visibility": "PUBLIC" @@ -107044,38 +107127,38 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5401", + "id": "5402", "isStateVariable": true, "name": "strategies", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "91617", "length": "52", "line": "2529", - "parentIndex": "5193", + "parentIndex": "5194", "start": "91566" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, "typeName": { - "id": "5402", + "id": "5403", "keyType": { - "id": "5403", + "id": "5404", "name": "Strategy", "nodeType": "ELEMENTARY_TYPE_NAME", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "91581", "length": "8", "line": "2529", - "parentIndex": "5402", + "parentIndex": "5403", "start": "91574" }, "typeDescription": { @@ -107088,36 +107171,61 @@ "end": "91581", "length": "8", "line": "2529", - "parentIndex": "5402", + "parentIndex": "5403", "start": "91574" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "5406", + "name": "StrategyInfo", + "nameLocation": { + "column": "24", + "end": "91597", + "length": "12", + "line": "2529", + "parentIndex": "5403", + "start": "91586" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "5394", + "src": { + "column": "24", + "end": "91597", + "length": "12", + "line": "2529", + "parentIndex": "5403", + "start": "91586" + } + }, + "referencedDeclaration": "5394", "src": { "column": "4", "end": "91598", "length": "33", "line": "2529", - "parentIndex": "5401", + "parentIndex": "5402", "start": "91566" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, "valueType": { - "id": "5404", + "id": "5405", "name": "StrategyInfo", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "5394", "src": { "column": "24", "end": "91597", "length": "12", "line": "2529", - "parentIndex": "5402", + "parentIndex": "5403", "start": "91586" }, "typeDescription": { - "typeIdentifier": "t_StrategyInfo", - "typeString": "StrategyInfo" + "typeIdentifier": "t_struct$_BaseVault_StrategyInfo_$5394", + "typeString": "struct BaseVault.StrategyInfo" } }, "valueTypeLocation": { @@ -107125,7 +107233,7 @@ "end": "91597", "length": "12", "line": "2529", - "parentIndex": "5402", + "parentIndex": "5403", "start": "91586" } }, @@ -107135,12 +107243,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5406", + "id": "5408", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31305f303030", - "id": "5408", + "id": "5410", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -107149,7 +107257,7 @@ "end": "91656", "length": "6", "line": "2531", - "parentIndex": "5406", + "parentIndex": "5408", "start": "91651" }, "typeDescription": { @@ -107163,13 +107271,13 @@ "isStateVariable": true, "name": "MAX_BPS", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "91657", "length": "34", "line": "2531", - "parentIndex": "5193", + "parentIndex": "5194", "start": "91624" }, "stateMutability": "MUTABLE", @@ -107179,7 +107287,7 @@ "typeString": "int_const 10_000" }, "typeName": { - "id": "5407", + "id": "5409", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -107187,7 +107295,7 @@ "end": "91630", "length": "7", "line": "2531", - "parentIndex": "5406", + "parentIndex": "5408", "start": "91624" }, "typeDescription": { @@ -107201,17 +107309,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5410", + "id": "5412", "isStateVariable": true, "name": "totalBps", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "91790", "length": "24", "line": "2533", - "parentIndex": "5193", + "parentIndex": "5194", "start": "91767" }, "stateMutability": "MUTABLE", @@ -107221,7 +107329,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5411", + "id": "5413", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -107229,7 +107337,7 @@ "end": "91773", "length": "7", "line": "2533", - "parentIndex": "5410", + "parentIndex": "5412", "start": "91767" }, "typeDescription": { @@ -107243,25 +107351,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "5413", + "id": "5415", "name": "StrategyAdded", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "5414", + "id": "5416", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5415", + "id": "5417", "indexed": true, "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "5415", + "scope": "5417", "src": { "column": "24", "end": "91904", "length": "25", "line": "2536", - "parentIndex": "5414", + "parentIndex": "5416", "start": "91880" }, "stateMutability": "MUTABLE", @@ -107271,17 +107379,17 @@ "typeString": "function()" }, "typeName": { - "id": "5416", + "id": "5418", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5417", + "id": "5419", "name": "Strategy", "nameLocation": { "column": "24", "end": "91887", "length": "8", "line": "2536", - "parentIndex": "5416", + "parentIndex": "5418", "start": "91880" }, "nodeType": "IDENTIFIER_PATH", @@ -107290,17 +107398,17 @@ "end": "91887", "length": "8", "line": "2536", - "parentIndex": "5416", + "parentIndex": "5418", "start": "91880" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "24", "end": "91887", "length": "8", "line": "2536", - "parentIndex": "5415", + "parentIndex": "5417", "start": "91880" }, "typeDescription": { @@ -107316,7 +107424,7 @@ "end": "91906", "length": "47", "line": "2536", - "parentIndex": "5413", + "parentIndex": "5415", "start": "91860" } }, @@ -107325,11 +107433,11 @@ "end": "91906", "length": "47", "line": "2536", - "parentIndex": "5193", + "parentIndex": "5194", "start": "91860" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265413", + "typeIdentifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265415", "typeString": "event BaseVault.StrategyAdded" } } @@ -107337,25 +107445,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "5419", + "id": "5421", "name": "StrategyRemoved", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "5420", + "id": "5422", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5421", + "id": "5423", "indexed": true, "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "5421", + "scope": "5423", "src": { "column": "26", "end": "92023", "length": "25", "line": "2538", - "parentIndex": "5420", + "parentIndex": "5422", "start": "91999" }, "stateMutability": "MUTABLE", @@ -107365,17 +107473,17 @@ "typeString": "function()" }, "typeName": { - "id": "5422", + "id": "5424", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5423", + "id": "5425", "name": "Strategy", "nameLocation": { "column": "26", "end": "92006", "length": "8", "line": "2538", - "parentIndex": "5422", + "parentIndex": "5424", "start": "91999" }, "nodeType": "IDENTIFIER_PATH", @@ -107384,17 +107492,17 @@ "end": "92006", "length": "8", "line": "2538", - "parentIndex": "5422", + "parentIndex": "5424", "start": "91999" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "26", "end": "92006", "length": "8", "line": "2538", - "parentIndex": "5421", + "parentIndex": "5423", "start": "91999" }, "typeDescription": { @@ -107410,7 +107518,7 @@ "end": "92025", "length": "49", "line": "2538", - "parentIndex": "5419", + "parentIndex": "5421", "start": "91977" } }, @@ -107419,11 +107527,11 @@ "end": "92025", "length": "49", "line": "2538", - "parentIndex": "5193", + "parentIndex": "5194", "start": "91977" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265419", + "typeIdentifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265421", "typeString": "event BaseVault.StrategyRemoved" } } @@ -107432,7 +107540,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5435", + "id": "5437", "implemented": true, "nodeType": "BLOCK", "src": { @@ -107440,7 +107548,7 @@ "end": "92618", "length": "306", "line": "2545", - "parentIndex": "5425", + "parentIndex": "5427", "start": "92313" }, "statements": [ @@ -107457,16 +107565,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5438", + "id": "5440", "name": "tvlBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5438", + "referencedDeclaration": "5440", "src": { "column": "24", "end": "92344", "length": "6", "line": "2546", - "parentIndex": "5436", + "parentIndex": "5438", "start": "92339" }, "typeDescription": { @@ -107479,7 +107587,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5437", + "id": "5439", "name": "_increaseTVLBps", "nodeType": "IDENTIFIER", "src": { @@ -107487,7 +107595,7 @@ "end": "92337", "length": "15", "line": "2546", - "parentIndex": "5436", + "parentIndex": "5438", "start": "92323" }, "typeDescription": { @@ -107496,7 +107604,7 @@ } } }, - "id": "5436", + "id": "5438", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -107504,7 +107612,7 @@ "end": "92345", "length": "23", "line": "2546", - "parentIndex": "5435", + "parentIndex": "5437", "start": "92323" }, "typeDescription": { @@ -107519,49 +107627,49 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5440", + "id": "5442", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5443", + "id": "5445", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "19", "end": "92374", "length": "8", "line": "2547", - "parentIndex": "5441", + "parentIndex": "5443", "start": "92367" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } }, - "id": "5441", + "id": "5443", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5442", + "id": "5444", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "8", "end": "92365", "length": "10", "line": "2547", - "parentIndex": "5441", + "parentIndex": "5443", "start": "92356" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -107572,16 +107680,16 @@ "end": "92375", "length": "20", "line": "2547", - "parentIndex": "5440", + "parentIndex": "5442", "start": "92356" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } ] @@ -107595,7 +107703,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5445", + "id": "5447", "name": "StrategyInfo", "nodeType": "IDENTIFIER", "src": { @@ -107603,7 +107711,7 @@ "end": "92390", "length": "12", "line": "2547", - "parentIndex": "5444", + "parentIndex": "5446", "start": "92379" }, "typeDescription": { @@ -107612,7 +107720,7 @@ } } }, - "id": "5444", + "id": "5446", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -107620,7 +107728,7 @@ "end": "92436", "length": "58", "line": "2547", - "parentIndex": "5440", + "parentIndex": "5442", "start": "92379" }, "typeDescription": { @@ -107634,27 +107742,27 @@ "end": "92436", "length": "81", "line": "2547", - "parentIndex": "5439", + "parentIndex": "5441", "start": "92356" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } } }, - "id": "5439", + "id": "5441", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "92437", "length": "82", "line": "2547", - "parentIndex": "5435", + "parentIndex": "5437", "start": "92356" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } } @@ -107665,27 +107773,27 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5447", + "id": "5449", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5450", + "id": "5452", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5451", + "id": "5453", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "24", "end": "92521", "length": "14", "line": "2549", - "parentIndex": "5450", + "parentIndex": "5452", "start": "92508" }, "typeDescription": { @@ -107700,7 +107808,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "5452", + "id": "5454", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -107709,7 +107817,7 @@ "end": "92525", "length": "1", "line": "2549", - "parentIndex": "5450", + "parentIndex": "5452", "start": "92525" }, "typeDescription": { @@ -107724,7 +107832,7 @@ "end": "92525", "length": "18", "line": "2549", - "parentIndex": "5448", + "parentIndex": "5450", "start": "92508" }, "typeDescription": { @@ -107733,20 +107841,20 @@ } } }, - "id": "5448", + "id": "5450", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5449", + "id": "5451", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "8", "end": "92506", "length": "15", "line": "2549", - "parentIndex": "5448", + "parentIndex": "5450", "start": "92492" }, "typeDescription": { @@ -107761,7 +107869,7 @@ "end": "92526", "length": "35", "line": "2549", - "parentIndex": "5447", + "parentIndex": "5449", "start": "92492" }, "typeDescription": { @@ -107785,20 +107893,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5453", + "id": "5455", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "46", "end": "92537", "length": "8", "line": "2549", - "parentIndex": "5447", + "parentIndex": "5449", "start": "92530" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } @@ -107808,7 +107916,7 @@ "end": "92537", "length": "46", "line": "2549", - "parentIndex": "5446", + "parentIndex": "5448", "start": "92492" }, "typeDescription": { @@ -107817,14 +107925,14 @@ } } }, - "id": "5446", + "id": "5448", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "92538", "length": "47", "line": "2549", - "parentIndex": "5435", + "parentIndex": "5437", "start": "92492" }, "typeDescription": { @@ -107840,20 +107948,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5455", + "id": "5457", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "27", "end": "92574", "length": "8", "line": "2550", - "parentIndex": "5454", + "parentIndex": "5456", "start": "92567" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } @@ -107862,32 +107970,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5456", + "id": "5458", "name": "StrategyAdded", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5413", + "referencedDeclaration": "5415", "src": { "column": "13", "end": "92565", "length": "13", "line": "2550", - "parentIndex": "5454", + "parentIndex": "5456", "start": "92553" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265413", + "typeIdentifier": "t_event\u0026_BaseVault_StrategyAdded_\u00265415", "typeString": "event BaseVault.StrategyAdded" } } }, - "id": "5454", + "id": "5456", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "92576", "length": "29", "line": "2550", - "parentIndex": "5425", + "parentIndex": "5427", "start": "92548" } } @@ -107898,7 +108006,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5458", + "id": "5460", "name": "_organizeWithdrawalQueue", "nodeType": "IDENTIFIER", "src": { @@ -107906,7 +108014,7 @@ "end": "92609", "length": "24", "line": "2551", - "parentIndex": "5457", + "parentIndex": "5459", "start": "92586" }, "typeDescription": { @@ -107915,7 +108023,7 @@ } } }, - "id": "5457", + "id": "5459", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -107923,7 +108031,7 @@ "end": "92611", "length": "26", "line": "2551", - "parentIndex": "5435", + "parentIndex": "5437", "start": "92586" }, "typeDescription": { @@ -107934,22 +108042,22 @@ } ] }, - "id": "5425", + "id": "5427", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "5432", + "id": "5434", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "5433", + "id": "5435", "name": "onlyGovernance", "src": { "column": "68", "end": "92311", "length": "14", "line": "2545", - "parentIndex": "5432", + "parentIndex": "5434", "start": "92298" } }, @@ -107960,7 +108068,7 @@ "end": "92311", "length": "14", "line": "2545", - "parentIndex": "5425", + "parentIndex": "5427", "start": "92298" } } @@ -107971,25 +108079,25 @@ "end": "92253", "length": "11", "line": "2545", - "parentIndex": "5425", + "parentIndex": "5427", "start": "92243" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5426", + "id": "5428", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5427", + "id": "5429", "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "5427", + "scope": "5429", "src": { "column": "25", "end": "92271", "length": "17", "line": "2545", - "parentIndex": "5426", + "parentIndex": "5428", "start": "92255" }, "stateMutability": "MUTABLE", @@ -107999,17 +108107,17 @@ "typeString": "function()" }, "typeName": { - "id": "5428", + "id": "5430", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5429", + "id": "5431", "name": "Strategy", "nameLocation": { "column": "25", "end": "92262", "length": "8", "line": "2545", - "parentIndex": "5428", + "parentIndex": "5430", "start": "92255" }, "nodeType": "IDENTIFIER_PATH", @@ -108018,17 +108126,17 @@ "end": "92262", "length": "8", "line": "2545", - "parentIndex": "5428", + "parentIndex": "5430", "start": "92255" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "25", "end": "92262", "length": "8", "line": "2545", - "parentIndex": "5427", + "parentIndex": "5429", "start": "92255" }, "typeDescription": { @@ -108039,16 +108147,16 @@ "visibility": "INTERNAL" }, { - "id": "5430", + "id": "5432", "name": "tvlBps", "nodeType": "VARIABLE_DECLARATION", - "scope": "5430", + "scope": "5432", "src": { "column": "44", "end": "92286", "length": "13", "line": "2545", - "parentIndex": "5426", + "parentIndex": "5428", "start": "92274" }, "stateMutability": "MUTABLE", @@ -108058,7 +108166,7 @@ "typeString": "uint16" }, "typeName": { - "id": "5431", + "id": "5433", "name": "uint16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -108066,7 +108174,7 @@ "end": "92279", "length": "6", "line": "2545", - "parentIndex": "5430", + "parentIndex": "5432", "start": "92274" }, "typeDescription": { @@ -108082,36 +108190,36 @@ "end": "92286", "length": "32", "line": "2545", - "parentIndex": "5425", + "parentIndex": "5427", "start": "92255" } }, "returnParameters": { - "id": "5434", + "id": "5436", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "92618", "length": "385", "line": "2545", - "parentIndex": "5425", + "parentIndex": "5427", "start": "92234" } }, - "scope": "5193", - "signature": "c0d4943b", + "scope": "5194", + "signature": "54f4ad68", "src": { "column": "4", "end": "92618", "length": "385", "line": "2545", - "parentIndex": "5193", + "parentIndex": "5194", "start": "92234" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_unknown_5425$_t_uint16$", - "typeString": "function(unknown_5425,uint16)" + "typeIdentifier": "t_function_$_t_unknown_5427$_t_uint16$", + "typeString": "function(unknown_5427,uint16)" }, "visibility": "EXTERNAL" } @@ -108120,7 +108228,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5465", + "id": "5467", "implemented": true, "nodeType": "BLOCK", "src": { @@ -108128,7 +108236,7 @@ "end": "92940", "length": "149", "line": "2555", - "parentIndex": "5460", + "parentIndex": "5462", "start": "92792" }, "statements": [ @@ -108136,11 +108244,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5467" + "5469" ], "declarations": [ { - "id": "5467", + "id": "5469", "mutability": "MUTABLE", "name": "newTotalBps", "nameLocation": { @@ -108148,17 +108256,17 @@ "end": "92820", "length": "11", "line": "2556", - "parentIndex": "5467", + "parentIndex": "5469", "start": "92810" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5465", + "scope": "5467", "src": { "column": "8", "end": "92820", "length": "19", "line": "2556", - "parentIndex": "5466", + "parentIndex": "5468", "start": "92802" }, "storageLocation": "DEFAULT", @@ -108167,7 +108275,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5468", + "id": "5470", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -108175,7 +108283,7 @@ "end": "92808", "length": "7", "line": "2556", - "parentIndex": "5467", + "parentIndex": "5469", "start": "92802" }, "typeDescription": { @@ -108186,24 +108294,24 @@ "visibility": "INTERNAL" } ], - "id": "5466", + "id": "5468", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5469", + "id": "5471", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5470", + "id": "5472", "name": "totalBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5410", + "referencedDeclaration": "5412", "src": { "column": "30", "end": "92831", "length": "8", "line": "2556", - "parentIndex": "5469", + "parentIndex": "5471", "start": "92824" }, "typeDescription": { @@ -108217,16 +108325,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5471", + "id": "5473", "name": "tvlBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5471", + "referencedDeclaration": "5473", "src": { "column": "41", "end": "92840", "length": "6", "line": "2556", - "parentIndex": "5469", + "parentIndex": "5471", "start": "92835" }, "typeDescription": { @@ -108240,7 +108348,7 @@ "end": "92840", "length": "17", "line": "2556", - "parentIndex": "5466", + "parentIndex": "5468", "start": "92824" }, "typeDescription": { @@ -108255,7 +108363,7 @@ "end": "92841", "length": "40", "line": "2556", - "parentIndex": "5465", + "parentIndex": "5467", "start": "92802" } } @@ -108277,20 +108385,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5474", + "id": "5476", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5475", + "id": "5477", "name": "newTotalBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5466", + "referencedDeclaration": "5468", "src": { "column": "16", "end": "92869", "length": "11", "line": "2557", - "parentIndex": "5474", + "parentIndex": "5476", "start": "92859" }, "typeDescription": { @@ -108304,16 +108412,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5476", + "id": "5478", "name": "MAX_BPS", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5406", + "referencedDeclaration": "5408", "src": { "column": "31", "end": "92880", "length": "7", "line": "2557", - "parentIndex": "5474", + "parentIndex": "5476", "start": "92874" }, "typeDescription": { @@ -108327,7 +108435,7 @@ "end": "92880", "length": "22", "line": "2557", - "parentIndex": "5472", + "parentIndex": "5474", "start": "92859" }, "typeDescription": { @@ -108346,7 +108454,7 @@ } ], "hexValue": "42563a20746f6f206d616e7920627073", - "id": "5477", + "id": "5479", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -108355,7 +108463,7 @@ "end": "92900", "length": "18", "line": "2557", - "parentIndex": "5472", + "parentIndex": "5474", "start": "92883" }, "typeDescription": { @@ -108369,7 +108477,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5473", + "id": "5475", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -108378,7 +108486,7 @@ "end": "92857", "length": "7", "line": "2557", - "parentIndex": "5472", + "parentIndex": "5474", "start": "92851" }, "typeDescription": { @@ -108387,7 +108495,7 @@ } } }, - "id": "5472", + "id": "5474", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -108395,7 +108503,7 @@ "end": "92901", "length": "51", "line": "2557", - "parentIndex": "5465", + "parentIndex": "5467", "start": "92851" }, "typeDescription": { @@ -108410,20 +108518,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5479", + "id": "5481", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5480", + "id": "5482", "name": "totalBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5410", + "referencedDeclaration": "5412", "src": { "column": "8", "end": "92919", "length": "8", "line": "2558", - "parentIndex": "5479", + "parentIndex": "5481", "start": "92912" }, "typeDescription": { @@ -108437,16 +108545,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5481", + "id": "5483", "name": "newTotalBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5466", + "referencedDeclaration": "5468", "src": { "column": "19", "end": "92933", "length": "11", "line": "2558", - "parentIndex": "5479", + "parentIndex": "5481", "start": "92923" }, "typeDescription": { @@ -108460,7 +108568,7 @@ "end": "92933", "length": "22", "line": "2558", - "parentIndex": "5478", + "parentIndex": "5480", "start": "92912" }, "typeDescription": { @@ -108469,14 +108577,14 @@ } } }, - "id": "5478", + "id": "5480", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "92934", "length": "23", "line": "2558", - "parentIndex": "5465", + "parentIndex": "5467", "start": "92912" }, "typeDescription": { @@ -108487,7 +108595,7 @@ } ] }, - "id": "5460", + "id": "5462", "implemented": true, "kind": "KIND_FUNCTION", "name": "_increaseTVLBps", @@ -108496,25 +108604,25 @@ "end": "92765", "length": "15", "line": "2555", - "parentIndex": "5460", + "parentIndex": "5462", "start": "92751" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5461", + "id": "5463", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5462", + "id": "5464", "name": "tvlBps", "nodeType": "VARIABLE_DECLARATION", - "scope": "5462", + "scope": "5464", "src": { "column": "29", "end": "92780", "length": "14", "line": "2555", - "parentIndex": "5461", + "parentIndex": "5463", "start": "92767" }, "stateMutability": "MUTABLE", @@ -108524,7 +108632,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5463", + "id": "5465", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -108532,7 +108640,7 @@ "end": "92773", "length": "7", "line": "2555", - "parentIndex": "5462", + "parentIndex": "5464", "start": "92767" }, "typeDescription": { @@ -108548,30 +108656,30 @@ "end": "92780", "length": "14", "line": "2555", - "parentIndex": "5460", + "parentIndex": "5462", "start": "92767" } }, "returnParameters": { - "id": "5464", + "id": "5466", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "92940", "length": "199", "line": "2555", - "parentIndex": "5460", + "parentIndex": "5462", "start": "92742" } }, - "scope": "5193", + "scope": "5194", "signature": "05680cff", "src": { "column": "4", "end": "92940", "length": "199", "line": "2555", - "parentIndex": "5193", + "parentIndex": "5194", "start": "92742" }, "stateMutability": "NONPAYABLE", @@ -108586,7 +108694,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5486", + "id": "5488", "implemented": true, "nodeType": "BLOCK", "src": { @@ -108594,7 +108702,7 @@ "end": "93795", "length": "565", "line": "2566", - "parentIndex": "5483", + "parentIndex": "5485", "start": "93231" }, "statements": [ @@ -108602,11 +108710,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5488" + "5490" ], "declarations": [ { - "id": "5488", + "id": "5490", "mutability": "MUTABLE", "name": "offset", "nameLocation": { @@ -108614,17 +108722,17 @@ "end": "93328", "length": "6", "line": "2568", - "parentIndex": "5488", + "parentIndex": "5490", "start": "93323" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5486", + "scope": "5488", "src": { "column": "8", "end": "93328", "length": "14", "line": "2568", - "parentIndex": "5487", + "parentIndex": "5489", "start": "93315" }, "storageLocation": "DEFAULT", @@ -108633,7 +108741,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5489", + "id": "5491", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -108641,7 +108749,7 @@ "end": "93321", "length": "7", "line": "2568", - "parentIndex": "5488", + "parentIndex": "5490", "start": "93315" }, "typeDescription": { @@ -108652,14 +108760,14 @@ "visibility": "INTERNAL" } ], - "id": "5487", + "id": "5489", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "93329", "length": "15", "line": "2568", - "parentIndex": "5486", + "parentIndex": "5488", "start": "93315" } } @@ -108668,7 +108776,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "5503", + "id": "5505", "implemented": true, "nodeType": "BLOCK", "src": { @@ -108676,7 +108784,7 @@ "end": "93789", "length": "389", "line": "2570", - "parentIndex": "5490", + "parentIndex": "5492", "start": "93401" }, "statements": [ @@ -108684,11 +108792,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5505" + "5507" ], "declarations": [ { - "id": "5505", + "id": "5507", "mutability": "MUTABLE", "name": "strategy", "nameLocation": { @@ -108696,17 +108804,17 @@ "end": "93431", "length": "8", "line": "2571", - "parentIndex": "5505", + "parentIndex": "5507", "start": "93424" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5503", + "scope": "5505", "src": { "column": "12", "end": "93431", "length": "17", "line": "2571", - "parentIndex": "5504", + "parentIndex": "5506", "start": "93415" }, "storageLocation": "DEFAULT", @@ -108715,17 +108823,17 @@ "typeString": "function()" }, "typeName": { - "id": "5506", + "id": "5508", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5507", + "id": "5509", "name": "Strategy", "nameLocation": { "column": "12", "end": "93422", "length": "8", "line": "2571", - "parentIndex": "5506", + "parentIndex": "5508", "start": "93415" }, "nodeType": "IDENTIFIER_PATH", @@ -108734,17 +108842,17 @@ "end": "93422", "length": "8", "line": "2571", - "parentIndex": "5506", + "parentIndex": "5508", "start": "93415" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "93422", "length": "8", "line": "2571", - "parentIndex": "5505", + "parentIndex": "5507", "start": "93415" }, "typeDescription": { @@ -108755,14 +108863,14 @@ "visibility": "INTERNAL" } ], - "id": "5504", + "id": "5506", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5510", + "id": "5512", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -108771,7 +108879,7 @@ "end": "93451", "length": "1", "line": "2571", - "parentIndex": "5508", + "parentIndex": "5510", "start": "93451" }, "typeDescription": { @@ -108780,20 +108888,20 @@ } } }, - "id": "5508", + "id": "5510", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5509", + "id": "5511", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "32", "end": "93449", "length": "15", "line": "2571", - "parentIndex": "5508", + "parentIndex": "5510", "start": "93435" }, "typeDescription": { @@ -108808,7 +108916,7 @@ "end": "93452", "length": "18", "line": "2571", - "parentIndex": "5504", + "parentIndex": "5506", "start": "93435" }, "typeDescription": { @@ -108833,7 +108941,7 @@ "end": "93453", "length": "39", "line": "2571", - "parentIndex": "5503", + "parentIndex": "5505", "start": "93415" } } @@ -108842,7 +108950,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "5521", + "id": "5523", "implemented": true, "nodeType": "BLOCK", "src": { @@ -108850,7 +108958,7 @@ "end": "93547", "length": "44", "line": "2572", - "parentIndex": "5490", + "parentIndex": "5492", "start": "93504" }, "statements": [ @@ -108860,20 +108968,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5523", + "id": "5525", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5524", + "id": "5526", "name": "offset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5487", + "referencedDeclaration": "5489", "src": { "column": "16", "end": "93527", "length": "6", "line": "2573", - "parentIndex": "5523", + "parentIndex": "5525", "start": "93522" }, "typeDescription": { @@ -108888,7 +108996,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "5525", + "id": "5527", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -108897,7 +109005,7 @@ "end": "93532", "length": "1", "line": "2573", - "parentIndex": "5523", + "parentIndex": "5525", "start": "93532" }, "typeDescription": { @@ -108912,7 +109020,7 @@ "end": "93532", "length": "11", "line": "2573", - "parentIndex": "5522", + "parentIndex": "5524", "start": "93522" }, "typeDescription": { @@ -108921,14 +109029,14 @@ } } }, - "id": "5522", + "id": "5524", "nodeType": "ASSIGNMENT", "src": { "column": "16", "end": "93533", "length": "12", "line": "2573", - "parentIndex": "5521", + "parentIndex": "5523", "start": "93522" }, "typeDescription": { @@ -108942,13 +109050,13 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5512", + "id": "5514", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } ], @@ -108956,20 +109064,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5516", + "id": "5518", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "24", "end": "93486", "length": "8", "line": "2572", - "parentIndex": "5513", + "parentIndex": "5515", "start": "93479" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } @@ -108984,7 +109092,7 @@ "typeString": "address" } ], - "id": "5514", + "id": "5516", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -108992,7 +109100,7 @@ "end": "93477", "length": "7", "line": "2572", - "parentIndex": "5513", + "parentIndex": "5515", "start": "93471" }, "typeDescription": { @@ -109000,7 +109108,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5515", + "id": "5517", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -109008,7 +109116,7 @@ "end": "93477", "length": "7", "line": "2572", - "parentIndex": "5514", + "parentIndex": "5516", "start": "93471" }, "stateMutability": "NONPAYABLE", @@ -109019,7 +109127,7 @@ } } }, - "id": "5513", + "id": "5515", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -109027,11 +109135,11 @@ "end": "93487", "length": "17", "line": "2572", - "parentIndex": "5512", + "parentIndex": "5514", "start": "93471" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_event\u0026_Global_StrategyAdded_\u00267928$", + "typeIdentifier": "t_function_$_t_event\u0026_Global_StrategyAdded_\u00267932$", "typeString": "function(event Global.StrategyAdded)" } } @@ -109052,7 +109160,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5520", + "id": "5522", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -109061,7 +109169,7 @@ "end": "93500", "length": "1", "line": "2572", - "parentIndex": "5517", + "parentIndex": "5519", "start": "93500" }, "typeDescription": { @@ -109081,7 +109189,7 @@ "typeString": "address" } ], - "id": "5518", + "id": "5520", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -109089,7 +109197,7 @@ "end": "93498", "length": "7", "line": "2572", - "parentIndex": "5517", + "parentIndex": "5519", "start": "93492" }, "typeDescription": { @@ -109097,7 +109205,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5519", + "id": "5521", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -109105,7 +109213,7 @@ "end": "93498", "length": "7", "line": "2572", - "parentIndex": "5518", + "parentIndex": "5520", "start": "93492" }, "stateMutability": "NONPAYABLE", @@ -109116,7 +109224,7 @@ } } }, - "id": "5517", + "id": "5519", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -109124,7 +109232,7 @@ "end": "93501", "length": "10", "line": "2572", - "parentIndex": "5512", + "parentIndex": "5514", "start": "93492" }, "typeDescription": { @@ -109138,7 +109246,7 @@ "end": "93501", "length": "31", "line": "2572", - "parentIndex": "5511", + "parentIndex": "5513", "start": "93471" }, "typeDescription": { @@ -109147,13 +109255,13 @@ } } }, - "id": "5511", + "id": "5513", "nodeType": "IF_STATEMENT", "src": { "end": "93779", "length": "313", "line": "2572", - "parentIndex": "5503", + "parentIndex": "5505", "start": "93467" } } @@ -109163,11 +109271,11 @@ "closure": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5498", + "id": "5500", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5499", + "id": "5501", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -109176,7 +109284,7 @@ "end": "93380", "length": "1", "line": "2570", - "parentIndex": "5498", + "parentIndex": "5500", "start": "93380" }, "typeDescription": { @@ -109200,7 +109308,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5502", + "id": "5504", "name": "i", "nodeType": "IDENTIFIER", "src": { @@ -109208,7 +109316,7 @@ "end": "93397", "length": "1", "line": "2570", - "parentIndex": "5500", + "parentIndex": "5502", "start": "93397" }, "typeDescription": { @@ -109221,7 +109329,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5501", + "id": "5503", "name": "uncheckedInc", "nodeType": "IDENTIFIER", "src": { @@ -109229,7 +109337,7 @@ "end": "93395", "length": "12", "line": "2570", - "parentIndex": "5500", + "parentIndex": "5502", "start": "93384" }, "typeDescription": { @@ -109238,7 +109346,7 @@ } } }, - "id": "5500", + "id": "5502", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -109246,7 +109354,7 @@ "end": "93398", "length": "15", "line": "2570", - "parentIndex": "5498", + "parentIndex": "5500", "start": "93384" }, "typeDescription": { @@ -109260,7 +109368,7 @@ "end": "93398", "length": "19", "line": "2570", - "parentIndex": "5490", + "parentIndex": "5492", "start": "93380" }, "typeDescription": { @@ -109272,11 +109380,11 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5495", + "id": "5497", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5496", + "id": "5498", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -109285,7 +109393,7 @@ "end": "93360", "length": "1", "line": "2570", - "parentIndex": "5495", + "parentIndex": "5497", "start": "93360" }, "typeDescription": { @@ -109299,16 +109407,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5497", + "id": "5499", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "32", "end": "93377", "length": "14", "line": "2570", - "parentIndex": "5495", + "parentIndex": "5497", "start": "93364" }, "typeDescription": { @@ -109322,7 +109430,7 @@ "end": "93377", "length": "18", "line": "2570", - "parentIndex": "5490", + "parentIndex": "5492", "start": "93360" }, "typeDescription": { @@ -109331,16 +109439,16 @@ } } }, - "id": "5490", + "id": "5492", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5492" + "5494" ], "declarations": [ { - "id": "5492", + "id": "5494", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -109348,17 +109456,17 @@ "end": "93353", "length": "1", "line": "2570", - "parentIndex": "5492", + "parentIndex": "5494", "start": "93353" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5486", + "scope": "5488", "src": { "column": "13", "end": "93353", "length": "9", "line": "2570", - "parentIndex": "5491", + "parentIndex": "5493", "start": "93345" }, "storageLocation": "DEFAULT", @@ -109367,7 +109475,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5493", + "id": "5495", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -109375,7 +109483,7 @@ "end": "93351", "length": "7", "line": "2570", - "parentIndex": "5492", + "parentIndex": "5494", "start": "93345" }, "typeDescription": { @@ -109386,12 +109494,12 @@ "visibility": "INTERNAL" } ], - "id": "5491", + "id": "5493", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5494", + "id": "5496", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -109400,7 +109508,7 @@ "end": "93357", "length": "1", "line": "2570", - "parentIndex": "5491", + "parentIndex": "5493", "start": "93357" }, "typeDescription": { @@ -109416,7 +109524,7 @@ "end": "93358", "length": "14", "line": "2570", - "parentIndex": "5486", + "parentIndex": "5488", "start": "93345" } } @@ -109426,14 +109534,14 @@ "end": "93789", "length": "450", "line": "2570", - "parentIndex": "5486", + "parentIndex": "5488", "start": "93340" } } } ] }, - "id": "5483", + "id": "5485", "implemented": true, "kind": "KIND_FUNCTION", "name": "_organizeWithdrawalQueue", @@ -109442,42 +109550,42 @@ "end": "93218", "length": "24", "line": "2566", - "parentIndex": "5483", + "parentIndex": "5485", "start": "93195" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5484", + "id": "5486", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "93795", "length": "610", "line": "2566", - "parentIndex": "5483", + "parentIndex": "5485", "start": "93186" } }, "returnParameters": { - "id": "5485", + "id": "5487", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "93795", "length": "610", "line": "2566", - "parentIndex": "5483", + "parentIndex": "5485", "start": "93186" } }, - "scope": "5193", + "scope": "5194", "signature": "5d890d05", "src": { "column": "4", "end": "93795", "length": "610", "line": "2566", - "parentIndex": "5193", + "parentIndex": "5194", "start": "93186" }, "stateMutability": "NONPAYABLE", @@ -109492,7 +109600,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5535", + "id": "5537", "implemented": true, "nodeType": "BLOCK", "src": { @@ -109500,7 +109608,7 @@ "end": "94933", "length": "726", "line": "2588", - "parentIndex": "5527", + "parentIndex": "5529", "start": "94208" }, "statements": [ @@ -109508,7 +109616,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "5549", + "id": "5551", "implemented": true, "nodeType": "BLOCK", "src": { @@ -109516,7 +109624,7 @@ "end": "94927", "length": "649", "line": "2589", - "parentIndex": "5536", + "parentIndex": "5538", "start": "94279" }, "statements": [ @@ -109524,7 +109632,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "5556", + "id": "5558", "implemented": true, "nodeType": "BLOCK", "src": { @@ -109532,20 +109640,20 @@ "end": "94369", "length": "41", "line": "2590", - "parentIndex": "5536", + "parentIndex": "5538", "start": "94329" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Continue", "value": { - "id": "5557", + "id": "5559", "nodeType": "CONTINUE", "src": { "end": "94355", "length": "9", "line": "2591", - "parentIndex": "5556", + "parentIndex": "5558", "start": "94347" } } @@ -109555,24 +109663,24 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5551", + "id": "5553", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5552", + "id": "5554", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "16", "end": "94304", "length": "8", "line": "2590", - "parentIndex": "5551", + "parentIndex": "5553", "start": "94297" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } @@ -109585,7 +109693,7 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5555", + "id": "5557", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -109594,7 +109702,7 @@ "end": "94325", "length": "1", "line": "2590", - "parentIndex": "5553", + "parentIndex": "5555", "start": "94325" }, "typeDescription": { @@ -109603,20 +109711,20 @@ } } }, - "id": "5553", + "id": "5555", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5554", + "id": "5556", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "28", "end": "94323", "length": "15", "line": "2590", - "parentIndex": "5553", + "parentIndex": "5555", "start": "94309" }, "typeDescription": { @@ -109631,7 +109739,7 @@ "end": "94326", "length": "18", "line": "2590", - "parentIndex": "5551", + "parentIndex": "5553", "start": "94309" }, "typeDescription": { @@ -109655,7 +109763,7 @@ "end": "94326", "length": "30", "line": "2590", - "parentIndex": "5550", + "parentIndex": "5552", "start": "94297" }, "typeDescription": { @@ -109664,13 +109772,13 @@ } } }, - "id": "5550", + "id": "5552", "nodeType": "IF_STATEMENT", "src": { "end": "94369", "length": "77", "line": "2590", - "parentIndex": "5549", + "parentIndex": "5551", "start": "94293" } } @@ -109681,7 +109789,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5559", + "id": "5561", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -109691,42 +109799,42 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5563", + "id": "5565", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "23", "end": "94402", "length": "8", "line": "2594", - "parentIndex": "5561", + "parentIndex": "5563", "start": "94395" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } }, - "id": "5561", + "id": "5563", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5562", + "id": "5564", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "12", "end": "94393", "length": "10", "line": "2594", - "parentIndex": "5561", + "parentIndex": "5563", "start": "94384" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -109737,28 +109845,28 @@ "end": "94403", "length": "20", "line": "2594", - "parentIndex": "5560", + "parentIndex": "5562", "start": "94384" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } ] } }, - "id": "5560", + "id": "5562", "memberLocation": { "column": "33", "end": "94412", "length": "8", "line": "2594", - "parentIndex": "5560", + "parentIndex": "5562", "start": "94405" }, "memberName": "isActive", @@ -109768,11 +109876,11 @@ "end": "94412", "length": "29", "line": "2594", - "parentIndex": "5559", + "parentIndex": "5561", "start": "94384" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } } @@ -109783,7 +109891,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "66616c7365", - "id": "5564", + "id": "5566", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -109792,7 +109900,7 @@ "end": "94420", "length": "5", "line": "2594", - "parentIndex": "5559", + "parentIndex": "5561", "start": "94416" }, "typeDescription": { @@ -109807,27 +109915,27 @@ "end": "94420", "length": "37", "line": "2594", - "parentIndex": "5558", + "parentIndex": "5560", "start": "94384" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } } }, - "id": "5558", + "id": "5560", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "94421", "length": "38", "line": "2594", - "parentIndex": "5549", + "parentIndex": "5551", "start": "94384" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } } @@ -109838,20 +109946,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5566", + "id": "5568", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5567", + "id": "5569", "name": "totalBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5410", + "referencedDeclaration": "5412", "src": { "column": "12", "end": "94506", "length": "8", "line": "2597", - "parentIndex": "5566", + "parentIndex": "5568", "start": "94499" }, "typeDescription": { @@ -109871,42 +109979,42 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5571", + "id": "5573", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "35", "end": "94529", "length": "8", "line": "2597", - "parentIndex": "5569", + "parentIndex": "5571", "start": "94522" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } }, - "id": "5569", + "id": "5571", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5570", + "id": "5572", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "24", "end": "94520", "length": "10", "line": "2597", - "parentIndex": "5569", + "parentIndex": "5571", "start": "94511" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -109917,28 +110025,28 @@ "end": "94530", "length": "20", "line": "2597", - "parentIndex": "5568", + "parentIndex": "5570", "start": "94511" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } ] } }, - "id": "5568", + "id": "5570", "memberLocation": { "column": "45", "end": "94537", "length": "6", "line": "2597", - "parentIndex": "5568", + "parentIndex": "5570", "start": "94532" }, "memberName": "tvlBps", @@ -109948,11 +110056,11 @@ "end": "94537", "length": "27", "line": "2597", - "parentIndex": "5566", + "parentIndex": "5568", "start": "94511" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } } @@ -109962,7 +110070,7 @@ "end": "94537", "length": "39", "line": "2597", - "parentIndex": "5565", + "parentIndex": "5567", "start": "94499" }, "typeDescription": { @@ -109971,14 +110079,14 @@ } } }, - "id": "5565", + "id": "5567", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "94538", "length": "40", "line": "2597", - "parentIndex": "5549", + "parentIndex": "5551", "start": "94499" }, "typeDescription": { @@ -109993,7 +110101,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5573", + "id": "5575", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -110003,42 +110111,42 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5577", + "id": "5579", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "23", "end": "94570", "length": "8", "line": "2598", - "parentIndex": "5575", + "parentIndex": "5577", "start": "94563" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } }, - "id": "5575", + "id": "5577", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5576", + "id": "5578", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "12", "end": "94561", "length": "10", "line": "2598", - "parentIndex": "5575", + "parentIndex": "5577", "start": "94552" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -110049,28 +110157,28 @@ "end": "94571", "length": "20", "line": "2598", - "parentIndex": "5574", + "parentIndex": "5576", "start": "94552" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } ] } }, - "id": "5574", + "id": "5576", "memberLocation": { "column": "33", "end": "94578", "length": "6", "line": "2598", - "parentIndex": "5574", + "parentIndex": "5576", "start": "94573" }, "memberName": "tvlBps", @@ -110080,11 +110188,11 @@ "end": "94578", "length": "27", "line": "2598", - "parentIndex": "5573", + "parentIndex": "5575", "start": "94552" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } } @@ -110095,7 +110203,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5578", + "id": "5580", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -110104,7 +110212,7 @@ "end": "94582", "length": "1", "line": "2598", - "parentIndex": "5573", + "parentIndex": "5575", "start": "94582" }, "typeDescription": { @@ -110119,27 +110227,27 @@ "end": "94582", "length": "31", "line": "2598", - "parentIndex": "5572", + "parentIndex": "5574", "start": "94552" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } } }, - "id": "5572", + "id": "5574", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "94583", "length": "32", "line": "2598", - "parentIndex": "5549", + "parentIndex": "5551", "start": "94552" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_unknown]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_unknown]$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):unknown]" } } @@ -110150,14 +110258,14 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5580", + "id": "5582", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5583", + "id": "5585", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -110166,7 +110274,7 @@ "end": "94667", "length": "1", "line": "2601", - "parentIndex": "5581", + "parentIndex": "5583", "start": "94667" }, "typeDescription": { @@ -110175,20 +110283,20 @@ } } }, - "id": "5581", + "id": "5583", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5582", + "id": "5584", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "12", "end": "94665", "length": "15", "line": "2601", - "parentIndex": "5581", + "parentIndex": "5583", "start": "94651" }, "typeDescription": { @@ -110203,7 +110311,7 @@ "end": "94668", "length": "18", "line": "2601", - "parentIndex": "5580", + "parentIndex": "5582", "start": "94651" }, "typeDescription": { @@ -110248,7 +110356,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5589", + "id": "5591", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -110257,7 +110365,7 @@ "end": "94689", "length": "1", "line": "2601", - "parentIndex": "5586", + "parentIndex": "5588", "start": "94689" }, "typeDescription": { @@ -110277,7 +110385,7 @@ "typeString": "address" } ], - "id": "5587", + "id": "5589", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -110285,7 +110393,7 @@ "end": "94687", "length": "7", "line": "2601", - "parentIndex": "5586", + "parentIndex": "5588", "start": "94681" }, "typeDescription": { @@ -110293,7 +110401,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5588", + "id": "5590", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -110301,7 +110409,7 @@ "end": "94687", "length": "7", "line": "2601", - "parentIndex": "5587", + "parentIndex": "5589", "start": "94681" }, "stateMutability": "NONPAYABLE", @@ -110312,7 +110420,7 @@ } } }, - "id": "5586", + "id": "5588", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -110320,7 +110428,7 @@ "end": "94690", "length": "10", "line": "2601", - "parentIndex": "5584", + "parentIndex": "5586", "start": "94681" }, "typeDescription": { @@ -110333,7 +110441,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5585", + "id": "5587", "name": "Strategy", "nodeType": "IDENTIFIER", "src": { @@ -110341,7 +110449,7 @@ "end": "94679", "length": "8", "line": "2601", - "parentIndex": "5584", + "parentIndex": "5586", "start": "94672" }, "typeDescription": { @@ -110350,7 +110458,7 @@ } } }, - "id": "5584", + "id": "5586", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -110358,7 +110466,7 @@ "end": "94691", "length": "20", "line": "2601", - "parentIndex": "5580", + "parentIndex": "5582", "start": "94672" }, "typeDescription": { @@ -110372,7 +110480,7 @@ "end": "94691", "length": "41", "line": "2601", - "parentIndex": "5579", + "parentIndex": "5581", "start": "94651" }, "typeDescription": { @@ -110381,14 +110489,14 @@ } } }, - "id": "5579", + "id": "5581", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "94692", "length": "42", "line": "2601", - "parentIndex": "5549", + "parentIndex": "5551", "start": "94651" }, "typeDescription": { @@ -110404,20 +110512,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5591", + "id": "5593", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "33", "end": "94734", "length": "8", "line": "2602", - "parentIndex": "5590", + "parentIndex": "5592", "start": "94727" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } @@ -110426,32 +110534,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5592", + "id": "5594", "name": "StrategyRemoved", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5419", + "referencedDeclaration": "5421", "src": { "column": "17", "end": "94725", "length": "15", "line": "2602", - "parentIndex": "5590", + "parentIndex": "5592", "start": "94711" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265419", + "typeIdentifier": "t_event\u0026_BaseVault_StrategyRemoved_\u00265421", "typeString": "event BaseVault.StrategyRemoved" } } }, - "id": "5590", + "id": "5592", "nodeType": "EMIT_STATEMENT", "src": { "column": "12", "end": "94736", "length": "31", "line": "2602", - "parentIndex": "5536", + "parentIndex": "5538", "start": "94706" } } @@ -110462,7 +110570,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5594", + "id": "5596", "name": "_organizeWithdrawalQueue", "nodeType": "IDENTIFIER", "src": { @@ -110470,7 +110578,7 @@ "end": "94773", "length": "24", "line": "2603", - "parentIndex": "5593", + "parentIndex": "5595", "start": "94750" }, "typeDescription": { @@ -110479,7 +110587,7 @@ } } }, - "id": "5593", + "id": "5595", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -110487,7 +110595,7 @@ "end": "94775", "length": "26", "line": "2603", - "parentIndex": "5549", + "parentIndex": "5551", "start": "94750" }, "typeDescription": { @@ -110513,7 +110621,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5597", + "id": "5599", "name": "strategy", "nodeType": "IDENTIFIER", "src": { @@ -110521,7 +110629,7 @@ "end": "94867", "length": "8", "line": "2606", - "parentIndex": "5595", + "parentIndex": "5597", "start": "94860" }, "typeDescription": { @@ -110539,42 +110647,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5600", + "id": "5602", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7928", + "referencedDeclaration": "7932", "src": { "column": "44", "end": "94877", "length": "8", "line": "2606", - "parentIndex": "5599", + "parentIndex": "5601", "start": "94870" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267928", + "typeIdentifier": "t_event\u0026_Global_StrategyAdded_\u00267932", "typeString": "event Global.StrategyAdded" } } }, - "id": "5599", + "id": "5601", "memberLocation": { "column": "53", "end": "94894", "length": "16", "line": "2606", - "parentIndex": "5599", + "parentIndex": "5601", "start": "94879" }, "memberName": "totalLockedValue", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "5095", + "referencedDeclaration": "5096", "src": { "column": "44", "end": "94894", "length": "25", "line": "2606", - "parentIndex": "5598", + "parentIndex": "5600", "start": "94870" }, "typeDescription": { @@ -110583,7 +110691,7 @@ } } }, - "id": "5598", + "id": "5600", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -110591,7 +110699,7 @@ "end": "94896", "length": "27", "line": "2606", - "parentIndex": "5595", + "parentIndex": "5597", "start": "94870" }, "typeDescription": { @@ -110604,7 +110712,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5596", + "id": "5598", "name": "_withdrawFromStrategy", "nodeType": "IDENTIFIER", "src": { @@ -110612,7 +110720,7 @@ "end": "94858", "length": "21", "line": "2606", - "parentIndex": "5595", + "parentIndex": "5597", "start": "94838" }, "typeDescription": { @@ -110621,7 +110729,7 @@ } } }, - "id": "5595", + "id": "5597", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -110629,7 +110737,7 @@ "end": "94897", "length": "60", "line": "2606", - "parentIndex": "5549", + "parentIndex": "5551", "start": "94838" }, "typeDescription": { @@ -110641,13 +110749,13 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Break", "value": { - "id": "5601", + "id": "5603", "nodeType": "BREAK", "src": { "end": "94917", "length": "6", "line": "2607", - "parentIndex": "5549", + "parentIndex": "5551", "start": "94912" } } @@ -110657,11 +110765,11 @@ "closure": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5544", + "id": "5546", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5545", + "id": "5547", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -110670,7 +110778,7 @@ "end": "94258", "length": "1", "line": "2589", - "parentIndex": "5544", + "parentIndex": "5546", "start": "94258" }, "typeDescription": { @@ -110694,7 +110802,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5548", + "id": "5550", "name": "i", "nodeType": "IDENTIFIER", "src": { @@ -110702,7 +110810,7 @@ "end": "94275", "length": "1", "line": "2589", - "parentIndex": "5546", + "parentIndex": "5548", "start": "94275" }, "typeDescription": { @@ -110715,7 +110823,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5547", + "id": "5549", "name": "uncheckedInc", "nodeType": "IDENTIFIER", "src": { @@ -110723,7 +110831,7 @@ "end": "94273", "length": "12", "line": "2589", - "parentIndex": "5546", + "parentIndex": "5548", "start": "94262" }, "typeDescription": { @@ -110732,7 +110840,7 @@ } } }, - "id": "5546", + "id": "5548", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -110740,7 +110848,7 @@ "end": "94276", "length": "15", "line": "2589", - "parentIndex": "5544", + "parentIndex": "5546", "start": "94262" }, "typeDescription": { @@ -110754,7 +110862,7 @@ "end": "94276", "length": "19", "line": "2589", - "parentIndex": "5536", + "parentIndex": "5538", "start": "94258" }, "typeDescription": { @@ -110766,11 +110874,11 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5541", + "id": "5543", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5542", + "id": "5544", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -110779,7 +110887,7 @@ "end": "94238", "length": "1", "line": "2589", - "parentIndex": "5541", + "parentIndex": "5543", "start": "94238" }, "typeDescription": { @@ -110793,16 +110901,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5543", + "id": "5545", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "32", "end": "94255", "length": "14", "line": "2589", - "parentIndex": "5541", + "parentIndex": "5543", "start": "94242" }, "typeDescription": { @@ -110816,7 +110924,7 @@ "end": "94255", "length": "18", "line": "2589", - "parentIndex": "5536", + "parentIndex": "5538", "start": "94238" }, "typeDescription": { @@ -110825,16 +110933,16 @@ } } }, - "id": "5536", + "id": "5538", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5538" + "5540" ], "declarations": [ { - "id": "5538", + "id": "5540", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -110842,17 +110950,17 @@ "end": "94231", "length": "1", "line": "2589", - "parentIndex": "5538", + "parentIndex": "5540", "start": "94231" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5535", + "scope": "5537", "src": { "column": "13", "end": "94231", "length": "9", "line": "2589", - "parentIndex": "5537", + "parentIndex": "5539", "start": "94223" }, "storageLocation": "DEFAULT", @@ -110861,7 +110969,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5539", + "id": "5541", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -110869,7 +110977,7 @@ "end": "94229", "length": "7", "line": "2589", - "parentIndex": "5538", + "parentIndex": "5540", "start": "94223" }, "typeDescription": { @@ -110880,12 +110988,12 @@ "visibility": "INTERNAL" } ], - "id": "5537", + "id": "5539", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5540", + "id": "5542", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -110894,7 +111002,7 @@ "end": "94235", "length": "1", "line": "2589", - "parentIndex": "5537", + "parentIndex": "5539", "start": "94235" }, "typeDescription": { @@ -110910,7 +111018,7 @@ "end": "94236", "length": "14", "line": "2589", - "parentIndex": "5535", + "parentIndex": "5537", "start": "94223" } } @@ -110920,29 +111028,29 @@ "end": "94927", "length": "710", "line": "2589", - "parentIndex": "5535", + "parentIndex": "5537", "start": "94218" } } } ] }, - "id": "5527", + "id": "5529", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "5532", + "id": "5534", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "5533", + "id": "5535", "name": "onlyGovernance", "src": { "column": "56", "end": "94206", "length": "14", "line": "2588", - "parentIndex": "5532", + "parentIndex": "5534", "start": "94193" } }, @@ -110953,7 +111061,7 @@ "end": "94206", "length": "14", "line": "2588", - "parentIndex": "5527", + "parentIndex": "5529", "start": "94193" } } @@ -110964,25 +111072,25 @@ "end": "94163", "length": "14", "line": "2588", - "parentIndex": "5527", + "parentIndex": "5529", "start": "94150" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5528", + "id": "5530", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5529", + "id": "5531", "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "5529", + "scope": "5531", "src": { "column": "28", "end": "94181", "length": "17", "line": "2588", - "parentIndex": "5528", + "parentIndex": "5530", "start": "94165" }, "stateMutability": "MUTABLE", @@ -110992,17 +111100,17 @@ "typeString": "function()" }, "typeName": { - "id": "5530", + "id": "5532", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5531", + "id": "5533", "name": "Strategy", "nameLocation": { "column": "28", "end": "94172", "length": "8", "line": "2588", - "parentIndex": "5530", + "parentIndex": "5532", "start": "94165" }, "nodeType": "IDENTIFIER_PATH", @@ -111011,17 +111119,17 @@ "end": "94172", "length": "8", "line": "2588", - "parentIndex": "5530", + "parentIndex": "5532", "start": "94165" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "28", "end": "94172", "length": "8", "line": "2588", - "parentIndex": "5529", + "parentIndex": "5531", "start": "94165" }, "typeDescription": { @@ -111037,36 +111145,36 @@ "end": "94181", "length": "17", "line": "2588", - "parentIndex": "5527", + "parentIndex": "5529", "start": "94165" } }, "returnParameters": { - "id": "5534", + "id": "5536", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "94933", "length": "793", "line": "2588", - "parentIndex": "5527", + "parentIndex": "5529", "start": "94141" } }, - "scope": "5193", + "scope": "5194", "signature": "e791d11d", "src": { "column": "4", "end": "94933", "length": "793", "line": "2588", - "parentIndex": "5193", + "parentIndex": "5194", "start": "94141" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_unknown_5527$", - "typeString": "function(unknown_5527)" + "typeIdentifier": "t_function_$_t_unknown_5529$", + "typeString": "function(unknown_5529)" }, "visibility": "EXTERNAL" } @@ -111075,7 +111183,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5614", + "id": "5616", "implemented": true, "nodeType": "BLOCK", "src": { @@ -111083,7 +111191,7 @@ "end": "95820", "length": "557", "line": "2619", - "parentIndex": "5603", + "parentIndex": "5605", "start": "95264" }, "statements": [ @@ -111091,7 +111199,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "5629", + "id": "5631", "implemented": true, "nodeType": "BLOCK", "src": { @@ -111099,7 +111207,7 @@ "end": "95751", "length": "412", "line": "2620", - "parentIndex": "5615", + "parentIndex": "5617", "start": "95340" }, "statements": [ @@ -111107,11 +111215,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5631" + "5633" ], "declarations": [ { - "id": "5631", + "id": "5633", "mutability": "MUTABLE", "name": "strategy", "nameLocation": { @@ -111119,17 +111227,17 @@ "end": "95424", "length": "8", "line": "2622", - "parentIndex": "5631", + "parentIndex": "5633", "start": "95417" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5629", + "scope": "5631", "src": { "column": "12", "end": "95424", "length": "17", "line": "2622", - "parentIndex": "5630", + "parentIndex": "5632", "start": "95408" }, "storageLocation": "DEFAULT", @@ -111138,37 +111246,37 @@ "typeString": "function()" }, "typeName": { - "id": "5632", + "id": "5634", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5633", + "id": "5635", "name": "Strategy", "nameLocation": { "column": "12", "end": "95415", "length": "8", "line": "2622", - "parentIndex": "5632", + "parentIndex": "5634", "start": "95408" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "95415", "length": "8", "line": "2622", - "parentIndex": "5632", + "parentIndex": "5634", "start": "95408" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "95415", "length": "8", "line": "2622", - "parentIndex": "5631", + "parentIndex": "5633", "start": "95408" }, "typeDescription": { @@ -111179,14 +111287,14 @@ "visibility": "INTERNAL" } ], - "id": "5630", + "id": "5632", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5636", + "id": "5638", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -111195,7 +111303,7 @@ "end": "95441", "length": "1", "line": "2622", - "parentIndex": "5634", + "parentIndex": "5636", "start": "95441" }, "typeDescription": { @@ -111204,20 +111312,20 @@ } } }, - "id": "5634", + "id": "5636", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5635", + "id": "5637", "name": "strategyList", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "32", "end": "95439", "length": "12", "line": "2622", - "parentIndex": "5634", + "parentIndex": "5636", "start": "95428" }, "typeDescription": { @@ -111232,7 +111340,7 @@ "end": "95442", "length": "15", "line": "2622", - "parentIndex": "5630", + "parentIndex": "5632", "start": "95428" }, "typeDescription": { @@ -111257,7 +111365,7 @@ "end": "95443", "length": "36", "line": "2622", - "parentIndex": "5629", + "parentIndex": "5631", "start": "95408" } } @@ -111266,7 +111374,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "5643", + "id": "5645", "nodeType": "BLOCK", "src": {} }, @@ -111282,16 +111390,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5642", + "id": "5644", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5630", + "referencedDeclaration": "5632", "src": { "column": "28", "end": "95533", "length": "8", "line": "2625", - "parentIndex": "5640", + "parentIndex": "5642", "start": "95526" }, "typeDescription": { @@ -111300,24 +111408,24 @@ } } }, - "id": "5640", + "id": "5642", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5641", + "id": "5643", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "17", "end": "95524", "length": "10", "line": "2625", - "parentIndex": "5640", + "parentIndex": "5642", "start": "95515" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -111328,16 +111436,16 @@ "end": "95534", "length": "20", "line": "2625", - "parentIndex": "5639", + "parentIndex": "5641", "start": "95515" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -111347,13 +111455,13 @@ ] } }, - "id": "5639", + "id": "5641", "memberLocation": { "column": "38", "end": "95543", "length": "8", "line": "2625", - "parentIndex": "5639", + "parentIndex": "5641", "start": "95536" }, "memberName": "isActive", @@ -111363,16 +111471,16 @@ "end": "95543", "length": "29", "line": "2625", - "parentIndex": "5638", + "parentIndex": "5640", "start": "95515" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } }, - "id": "5638", + "id": "5640", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -111381,22 +111489,22 @@ "end": "95543", "length": "30", "line": "2625", - "parentIndex": "5615", + "parentIndex": "5617", "start": "95514" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } }, - "id": "5637", + "id": "5639", "nodeType": "IF_STATEMENT", "src": { "end": "95554", "length": "45", "line": "2625", - "parentIndex": "5629", + "parentIndex": "5631", "start": "95510" } } @@ -111407,20 +111515,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5645", + "id": "5647", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5646", + "id": "5648", "name": "totalBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5410", + "referencedDeclaration": "5412", "src": { "column": "12", "end": "95606", "length": "8", "line": "2628", - "parentIndex": "5645", + "parentIndex": "5647", "start": "95599" }, "typeDescription": { @@ -111440,16 +111548,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5650", + "id": "5652", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5630", + "referencedDeclaration": "5632", "src": { "column": "35", "end": "95629", "length": "8", "line": "2628", - "parentIndex": "5648", + "parentIndex": "5650", "start": "95622" }, "typeDescription": { @@ -111458,24 +111566,24 @@ } } }, - "id": "5648", + "id": "5650", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5649", + "id": "5651", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "24", "end": "95620", "length": "10", "line": "2628", - "parentIndex": "5648", + "parentIndex": "5650", "start": "95611" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -111486,16 +111594,16 @@ "end": "95630", "length": "20", "line": "2628", - "parentIndex": "5647", + "parentIndex": "5649", "start": "95611" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -111505,13 +111613,13 @@ ] } }, - "id": "5647", + "id": "5649", "memberLocation": { "column": "45", "end": "95637", "length": "6", "line": "2628", - "parentIndex": "5647", + "parentIndex": "5649", "start": "95632" }, "memberName": "tvlBps", @@ -111521,11 +111629,11 @@ "end": "95637", "length": "27", "line": "2628", - "parentIndex": "5645", + "parentIndex": "5647", "start": "95611" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -111535,7 +111643,7 @@ "end": "95637", "length": "39", "line": "2628", - "parentIndex": "5644", + "parentIndex": "5646", "start": "95599" }, "typeDescription": { @@ -111544,14 +111652,14 @@ } } }, - "id": "5644", + "id": "5646", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "95638", "length": "40", "line": "2628", - "parentIndex": "5629", + "parentIndex": "5631", "start": "95599" }, "typeDescription": { @@ -111576,7 +111684,7 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5655", + "id": "5657", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -111585,7 +111693,7 @@ "end": "95680", "length": "1", "line": "2629", - "parentIndex": "5653", + "parentIndex": "5655", "start": "95680" }, "typeDescription": { @@ -111594,20 +111702,20 @@ } } }, - "id": "5653", + "id": "5655", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5654", + "id": "5656", "name": "strategyBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5608", + "referencedDeclaration": "5610", "src": { "column": "28", "end": "95678", "length": "11", "line": "2629", - "parentIndex": "5653", + "parentIndex": "5655", "start": "95668" }, "typeDescription": { @@ -111622,7 +111730,7 @@ "end": "95681", "length": "14", "line": "2629", - "parentIndex": "5651", + "parentIndex": "5653", "start": "95668" }, "typeDescription": { @@ -111645,7 +111753,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5652", + "id": "5654", "name": "_increaseTVLBps", "nodeType": "IDENTIFIER", "src": { @@ -111653,7 +111761,7 @@ "end": "95666", "length": "15", "line": "2629", - "parentIndex": "5651", + "parentIndex": "5653", "start": "95652" }, "typeDescription": { @@ -111662,7 +111770,7 @@ } } }, - "id": "5651", + "id": "5653", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -111670,7 +111778,7 @@ "end": "95682", "length": "31", "line": "2629", - "parentIndex": "5629", + "parentIndex": "5631", "start": "95652" }, "typeDescription": { @@ -111685,7 +111793,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5657", + "id": "5659", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -111695,16 +111803,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5661", + "id": "5663", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5630", + "referencedDeclaration": "5632", "src": { "column": "23", "end": "95715", "length": "8", "line": "2630", - "parentIndex": "5659", + "parentIndex": "5661", "start": "95708" }, "typeDescription": { @@ -111713,24 +111821,24 @@ } } }, - "id": "5659", + "id": "5661", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5660", + "id": "5662", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "12", "end": "95706", "length": "10", "line": "2630", - "parentIndex": "5659", + "parentIndex": "5661", "start": "95697" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -111741,16 +111849,16 @@ "end": "95716", "length": "20", "line": "2630", - "parentIndex": "5658", + "parentIndex": "5660", "start": "95697" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -111760,13 +111868,13 @@ ] } }, - "id": "5658", + "id": "5660", "memberLocation": { "column": "33", "end": "95723", "length": "6", "line": "2630", - "parentIndex": "5658", + "parentIndex": "5660", "start": "95718" }, "memberName": "tvlBps", @@ -111776,11 +111884,11 @@ "end": "95723", "length": "27", "line": "2630", - "parentIndex": "5657", + "parentIndex": "5659", "start": "95697" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -111793,7 +111901,7 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5664", + "id": "5666", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -111802,7 +111910,7 @@ "end": "95739", "length": "1", "line": "2630", - "parentIndex": "5662", + "parentIndex": "5664", "start": "95739" }, "typeDescription": { @@ -111811,20 +111919,20 @@ } } }, - "id": "5662", + "id": "5664", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5663", + "id": "5665", "name": "strategyBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5608", + "referencedDeclaration": "5610", "src": { "column": "42", "end": "95737", "length": "11", "line": "2630", - "parentIndex": "5662", + "parentIndex": "5664", "start": "95727" }, "typeDescription": { @@ -111839,7 +111947,7 @@ "end": "95740", "length": "14", "line": "2630", - "parentIndex": "5657", + "parentIndex": "5659", "start": "95727" }, "typeDescription": { @@ -111863,27 +111971,27 @@ "end": "95740", "length": "44", "line": "2630", - "parentIndex": "5656", + "parentIndex": "5658", "start": "95697" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } }, - "id": "5656", + "id": "5658", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "95741", "length": "45", "line": "2630", - "parentIndex": "5629", + "parentIndex": "5631", "start": "95697" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -111893,11 +112001,11 @@ "closure": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5624", + "id": "5626", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5625", + "id": "5627", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -111906,7 +112014,7 @@ "end": "95319", "length": "1", "line": "2620", - "parentIndex": "5624", + "parentIndex": "5626", "start": "95319" }, "typeDescription": { @@ -111930,7 +112038,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5628", + "id": "5630", "name": "i", "nodeType": "IDENTIFIER", "src": { @@ -111938,7 +112046,7 @@ "end": "95336", "length": "1", "line": "2620", - "parentIndex": "5626", + "parentIndex": "5628", "start": "95336" }, "typeDescription": { @@ -111951,7 +112059,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5627", + "id": "5629", "name": "uncheckedInc", "nodeType": "IDENTIFIER", "src": { @@ -111959,7 +112067,7 @@ "end": "95334", "length": "12", "line": "2620", - "parentIndex": "5626", + "parentIndex": "5628", "start": "95323" }, "typeDescription": { @@ -111968,7 +112076,7 @@ } } }, - "id": "5626", + "id": "5628", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -111976,7 +112084,7 @@ "end": "95337", "length": "15", "line": "2620", - "parentIndex": "5624", + "parentIndex": "5626", "start": "95323" }, "typeDescription": { @@ -111990,7 +112098,7 @@ "end": "95337", "length": "19", "line": "2620", - "parentIndex": "5615", + "parentIndex": "5617", "start": "95319" }, "typeDescription": { @@ -112002,11 +112110,11 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5620", + "id": "5622", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5621", + "id": "5623", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -112015,7 +112123,7 @@ "end": "95294", "length": "1", "line": "2620", - "parentIndex": "5620", + "parentIndex": "5622", "start": "95294" }, "typeDescription": { @@ -112032,16 +112140,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5623", + "id": "5625", "name": "strategyList", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5623", + "referencedDeclaration": "5625", "src": { "column": "32", "end": "95309", "length": "12", "line": "2620", - "parentIndex": "5622", + "parentIndex": "5624", "start": "95298" }, "typeDescription": { @@ -112050,13 +112158,13 @@ } } }, - "id": "5622", + "id": "5624", "memberLocation": { "column": "45", "end": "95316", "length": "6", "line": "2620", - "parentIndex": "5622", + "parentIndex": "5624", "start": "95311" }, "memberName": "length", @@ -112066,7 +112174,7 @@ "end": "95316", "length": "19", "line": "2620", - "parentIndex": "5620", + "parentIndex": "5622", "start": "95298" }, "typeDescription": { @@ -112080,7 +112188,7 @@ "end": "95316", "length": "23", "line": "2620", - "parentIndex": "5615", + "parentIndex": "5617", "start": "95294" }, "typeDescription": { @@ -112089,16 +112197,16 @@ } } }, - "id": "5615", + "id": "5617", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5617" + "5619" ], "declarations": [ { - "id": "5617", + "id": "5619", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -112106,17 +112214,17 @@ "end": "95287", "length": "1", "line": "2620", - "parentIndex": "5617", + "parentIndex": "5619", "start": "95287" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5614", + "scope": "5616", "src": { "column": "13", "end": "95287", "length": "9", "line": "2620", - "parentIndex": "5616", + "parentIndex": "5618", "start": "95279" }, "storageLocation": "DEFAULT", @@ -112125,7 +112233,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5618", + "id": "5620", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -112133,7 +112241,7 @@ "end": "95285", "length": "7", "line": "2620", - "parentIndex": "5617", + "parentIndex": "5619", "start": "95279" }, "typeDescription": { @@ -112144,12 +112252,12 @@ "visibility": "INTERNAL" } ], - "id": "5616", + "id": "5618", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5619", + "id": "5621", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -112158,7 +112266,7 @@ "end": "95291", "length": "1", "line": "2620", - "parentIndex": "5616", + "parentIndex": "5618", "start": "95291" }, "typeDescription": { @@ -112174,7 +112282,7 @@ "end": "95292", "length": "14", "line": "2620", - "parentIndex": "5614", + "parentIndex": "5616", "start": "95279" } } @@ -112184,7 +112292,7 @@ "end": "95751", "length": "478", "line": "2620", - "parentIndex": "5614", + "parentIndex": "5616", "start": "95274" } } @@ -112196,16 +112304,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5666", + "id": "5668", "name": "strategyList", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5666", + "referencedDeclaration": "5668", "src": { "column": "35", "end": "95799", "length": "12", "line": "2632", - "parentIndex": "5665", + "parentIndex": "5667", "start": "95788" }, "typeDescription": { @@ -112217,16 +112325,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5667", + "id": "5669", "name": "strategyBps", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5667", + "referencedDeclaration": "5669", "src": { "column": "49", "end": "95812", "length": "11", "line": "2632", - "parentIndex": "5665", + "parentIndex": "5667", "start": "95802" }, "typeDescription": { @@ -112239,39 +112347,39 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5668", + "id": "5670", "name": "StrategyAllocsUpdated", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7954", + "referencedDeclaration": "7958", "src": { "column": "13", "end": "95786", "length": "21", "line": "2632", - "parentIndex": "5665", + "parentIndex": "5667", "start": "95766" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267954", + "typeIdentifier": "t_event\u0026_Global_StrategyAllocsUpdated_\u00267958", "typeString": "event Global.StrategyAllocsUpdated" } } }, - "id": "5665", + "id": "5667", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "95814", "length": "54", "line": "2632", - "parentIndex": "5603", + "parentIndex": "5605", "start": "95761" } } } ] }, - "id": "5603", + "id": "5605", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -112286,16 +112394,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5612", + "id": "5614", "name": "HARVESTER", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5323", + "referencedDeclaration": "5324", "src": { "column": "17", "end": "95257", "length": "9", "line": "2618", - "parentIndex": "5610", + "parentIndex": "5612", "start": "95249" }, "typeDescription": { @@ -112305,17 +112413,17 @@ } } ], - "id": "5610", + "id": "5612", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "5611", + "id": "5613", "name": "onlyRole", "src": { "column": "8", "end": "95247", "length": "8", "line": "2618", - "parentIndex": "5610", + "parentIndex": "5612", "start": "95240" } }, @@ -112326,7 +112434,7 @@ "end": "95258", "length": "19", "line": "2618", - "parentIndex": "5603", + "parentIndex": "5605", "start": "95240" } } @@ -112337,25 +112445,25 @@ "end": "95148", "length": "25", "line": "2616", - "parentIndex": "5603", + "parentIndex": "5605", "start": "95124" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5604", + "id": "5606", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5605", + "id": "5607", "name": "strategyList", "nodeType": "VARIABLE_DECLARATION", - "scope": "5605", + "scope": "5607", "src": { "column": "39", "end": "95181", "length": "32", "line": "2616", - "parentIndex": "5604", + "parentIndex": "5606", "start": "95150" }, "stateMutability": "MUTABLE", @@ -112365,30 +112473,30 @@ "typeString": "function()" }, "typeName": { - "id": "5606", + "id": "5608", "name": "Strategy", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5607", + "id": "5609", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5585", + "referencedDeclaration": "5587", "src": { "column": "39", "end": "95157", "length": "8", "line": "2616", - "parentIndex": "5606", + "parentIndex": "5608", "start": "95150" } }, - "referencedDeclaration": "5585", + "referencedDeclaration": "5587", "src": { "column": "39", "end": "95157", "length": "8", "line": "2616", - "parentIndex": "5605", + "parentIndex": "5607", "start": "95150" }, "typeDescription": { @@ -112399,16 +112507,16 @@ "visibility": "INTERNAL" }, { - "id": "5608", + "id": "5610", "name": "strategyBps", "nodeType": "VARIABLE_DECLARATION", - "scope": "5608", + "scope": "5610", "src": { "column": "73", "end": "95212", "length": "29", "line": "2616", - "parentIndex": "5604", + "parentIndex": "5606", "start": "95184" }, "stateMutability": "MUTABLE", @@ -112418,7 +112526,7 @@ "typeString": "uint16" }, "typeName": { - "id": "5609", + "id": "5611", "name": "uint16", "nodeType": "IDENTIFIER", "src": { @@ -112426,7 +112534,7 @@ "end": "95189", "length": "6", "line": "2616", - "parentIndex": "5608", + "parentIndex": "5610", "start": "95184" }, "typeDescription": { @@ -112442,30 +112550,30 @@ "end": "95212", "length": "63", "line": "2616", - "parentIndex": "5603", + "parentIndex": "5605", "start": "95150" } }, "returnParameters": { - "id": "5613", + "id": "5615", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "95820", "length": "706", "line": "2616", - "parentIndex": "5603", + "parentIndex": "5605", "start": "95115" } }, - "scope": "5193", - "signature": "fbba262c", + "scope": "5194", + "signature": "62133061", "src": { "column": "4", "end": "95820", "length": "706", "line": "2616", - "parentIndex": "5193", + "parentIndex": "5194", "start": "95115" }, "stateMutability": "NONPAYABLE", @@ -112479,24 +112587,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "5670", + "id": "5672", "name": "StrategyAllocsUpdated", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "5671", + "id": "5673", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5672", + "id": "5674", "name": "strategyList", "nodeType": "VARIABLE_DECLARATION", - "scope": "5672", + "scope": "5674", "src": { "column": "32", "end": "96077", "length": "23", "line": "2640", - "parentIndex": "5671", + "parentIndex": "5673", "start": "96055" }, "stateMutability": "MUTABLE", @@ -112506,30 +112614,30 @@ "typeString": "function()" }, "typeName": { - "id": "5673", + "id": "5675", "name": "Strategy", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5674", + "id": "5676", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "32", "end": "96062", "length": "8", "line": "2640", - "parentIndex": "5673", + "parentIndex": "5675", "start": "96055" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "32", "end": "96062", "length": "8", "line": "2640", - "parentIndex": "5672", + "parentIndex": "5674", "start": "96055" }, "typeDescription": { @@ -112540,16 +112648,16 @@ "visibility": "INTERNAL" }, { - "id": "5675", + "id": "5677", "name": "strategyBps", "nodeType": "VARIABLE_DECLARATION", - "scope": "5675", + "scope": "5677", "src": { "column": "57", "end": "96099", "length": "20", "line": "2640", - "parentIndex": "5671", + "parentIndex": "5673", "start": "96080" }, "stateMutability": "MUTABLE", @@ -112559,7 +112667,7 @@ "typeString": "uint16" }, "typeName": { - "id": "5676", + "id": "5678", "name": "uint16", "nodeType": "IDENTIFIER", "src": { @@ -112567,7 +112675,7 @@ "end": "96085", "length": "6", "line": "2640", - "parentIndex": "5675", + "parentIndex": "5677", "start": "96080" }, "typeDescription": { @@ -112583,7 +112691,7 @@ "end": "96101", "length": "75", "line": "2640", - "parentIndex": "5670", + "parentIndex": "5672", "start": "96027" } }, @@ -112592,11 +112700,11 @@ "end": "96101", "length": "75", "line": "2640", - "parentIndex": "5193", + "parentIndex": "5194", "start": "96027" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_StrategyAllocsUpdated_\u00265670", + "typeIdentifier": "t_event\u0026_BaseVault_StrategyAllocsUpdated_\u00265672", "typeString": "event BaseVault.StrategyAllocsUpdated" } } @@ -112604,25 +112712,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "5678", + "id": "5680", "name": "StrategyDeposit", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "5679", + "id": "5681", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5680", + "id": "5682", "indexed": true, "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "5680", + "scope": "5682", "src": { "column": "26", "end": "96547", "length": "25", "line": "2651", - "parentIndex": "5679", + "parentIndex": "5681", "start": "96523" }, "stateMutability": "MUTABLE", @@ -112632,37 +112740,37 @@ "typeString": "function()" }, "typeName": { - "id": "5681", + "id": "5683", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5682", + "id": "5684", "name": "Strategy", "nameLocation": { "column": "26", "end": "96530", "length": "8", "line": "2651", - "parentIndex": "5681", + "parentIndex": "5683", "start": "96523" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "26", "end": "96530", "length": "8", "line": "2651", - "parentIndex": "5681", + "parentIndex": "5683", "start": "96523" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "26", "end": "96530", "length": "8", "line": "2651", - "parentIndex": "5680", + "parentIndex": "5682", "start": "96523" }, "typeDescription": { @@ -112673,16 +112781,16 @@ "visibility": "INTERNAL" }, { - "id": "5683", + "id": "5685", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "5683", + "scope": "5685", "src": { "column": "53", "end": "96563", "length": "14", "line": "2651", - "parentIndex": "5679", + "parentIndex": "5681", "start": "96550" }, "stateMutability": "MUTABLE", @@ -112692,7 +112800,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5684", + "id": "5686", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -112700,7 +112808,7 @@ "end": "96556", "length": "7", "line": "2651", - "parentIndex": "5683", + "parentIndex": "5685", "start": "96550" }, "typeDescription": { @@ -112716,7 +112824,7 @@ "end": "96565", "length": "65", "line": "2651", - "parentIndex": "5678", + "parentIndex": "5680", "start": "96501" } }, @@ -112725,11 +112833,11 @@ "end": "96565", "length": "65", "line": "2651", - "parentIndex": "5193", + "parentIndex": "5194", "start": "96501" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265678", + "typeIdentifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265680", "typeString": "event BaseVault.StrategyDeposit" } } @@ -112737,25 +112845,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "5686", + "id": "5688", "name": "StrategyWithdrawal", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "5687", + "id": "5689", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5688", + "id": "5690", "indexed": true, "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "5688", + "scope": "5690", "src": { "column": "29", "end": "96938", "length": "25", "line": "2659", - "parentIndex": "5687", + "parentIndex": "5689", "start": "96914" }, "stateMutability": "MUTABLE", @@ -112765,37 +112873,37 @@ "typeString": "function()" }, "typeName": { - "id": "5689", + "id": "5691", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5690", + "id": "5692", "name": "Strategy", "nameLocation": { "column": "29", "end": "96921", "length": "8", "line": "2659", - "parentIndex": "5689", + "parentIndex": "5691", "start": "96914" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "29", "end": "96921", "length": "8", "line": "2659", - "parentIndex": "5689", + "parentIndex": "5691", "start": "96914" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "29", "end": "96921", "length": "8", "line": "2659", - "parentIndex": "5688", + "parentIndex": "5690", "start": "96914" }, "typeDescription": { @@ -112806,16 +112914,16 @@ "visibility": "INTERNAL" }, { - "id": "5691", + "id": "5693", "name": "assetsRequested", "nodeType": "VARIABLE_DECLARATION", - "scope": "5691", + "scope": "5693", "src": { "column": "56", "end": "96963", "length": "23", "line": "2659", - "parentIndex": "5687", + "parentIndex": "5689", "start": "96941" }, "stateMutability": "MUTABLE", @@ -112825,7 +112933,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5692", + "id": "5694", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -112833,7 +112941,7 @@ "end": "96947", "length": "7", "line": "2659", - "parentIndex": "5691", + "parentIndex": "5693", "start": "96941" }, "typeDescription": { @@ -112844,16 +112952,16 @@ "visibility": "INTERNAL" }, { - "id": "5693", + "id": "5695", "name": "assetsReceived", "nodeType": "VARIABLE_DECLARATION", - "scope": "5693", + "scope": "5695", "src": { "column": "81", "end": "96987", "length": "22", "line": "2659", - "parentIndex": "5687", + "parentIndex": "5689", "start": "96966" }, "stateMutability": "MUTABLE", @@ -112863,7 +112971,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5694", + "id": "5696", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -112871,7 +112979,7 @@ "end": "96972", "length": "7", "line": "2659", - "parentIndex": "5693", + "parentIndex": "5695", "start": "96966" }, "typeDescription": { @@ -112887,7 +112995,7 @@ "end": "96989", "length": "101", "line": "2659", - "parentIndex": "5686", + "parentIndex": "5688", "start": "96889" } }, @@ -112896,11 +113004,11 @@ "end": "96989", "length": "101", "line": "2659", - "parentIndex": "5193", + "parentIndex": "5194", "start": "96889" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265686", + "typeIdentifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265688", "typeString": "event BaseVault.StrategyWithdrawal" } } @@ -112909,7 +113017,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5701", + "id": "5703", "implemented": true, "nodeType": "BLOCK", "src": { @@ -112917,7 +113025,7 @@ "end": "97541", "length": "373", "line": "2662", - "parentIndex": "5696", + "parentIndex": "5698", "start": "97169" }, "statements": [ @@ -112925,7 +113033,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "5715", + "id": "5717", "implemented": true, "nodeType": "BLOCK", "src": { @@ -112933,7 +113041,7 @@ "end": "97535", "length": "250", "line": "2664", - "parentIndex": "5702", + "parentIndex": "5704", "start": "97286" }, "statements": [ @@ -112941,11 +113049,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5717" + "5719" ], "declarations": [ { - "id": "5717", + "id": "5719", "mutability": "MUTABLE", "name": "strategy", "nameLocation": { @@ -112953,17 +113061,17 @@ "end": "97316", "length": "8", "line": "2665", - "parentIndex": "5717", + "parentIndex": "5719", "start": "97309" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5715", + "scope": "5717", "src": { "column": "12", "end": "97316", "length": "17", "line": "2665", - "parentIndex": "5716", + "parentIndex": "5718", "start": "97300" }, "storageLocation": "DEFAULT", @@ -112972,37 +113080,37 @@ "typeString": "function()" }, "typeName": { - "id": "5718", + "id": "5720", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5719", + "id": "5721", "name": "Strategy", "nameLocation": { "column": "12", "end": "97307", "length": "8", "line": "2665", - "parentIndex": "5718", + "parentIndex": "5720", "start": "97300" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "97307", "length": "8", "line": "2665", - "parentIndex": "5718", + "parentIndex": "5720", "start": "97300" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "97307", "length": "8", "line": "2665", - "parentIndex": "5717", + "parentIndex": "5719", "start": "97300" }, "typeDescription": { @@ -113013,14 +113121,14 @@ "visibility": "INTERNAL" } ], - "id": "5716", + "id": "5718", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5722", + "id": "5724", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -113029,7 +113137,7 @@ "end": "97336", "length": "1", "line": "2665", - "parentIndex": "5720", + "parentIndex": "5722", "start": "97336" }, "typeDescription": { @@ -113038,20 +113146,20 @@ } } }, - "id": "5720", + "id": "5722", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5721", + "id": "5723", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "32", "end": "97334", "length": "15", "line": "2665", - "parentIndex": "5720", + "parentIndex": "5722", "start": "97320" }, "typeDescription": { @@ -113066,7 +113174,7 @@ "end": "97337", "length": "18", "line": "2665", - "parentIndex": "5716", + "parentIndex": "5718", "start": "97320" }, "typeDescription": { @@ -113091,7 +113199,7 @@ "end": "97338", "length": "39", "line": "2665", - "parentIndex": "5715", + "parentIndex": "5717", "start": "97300" } } @@ -113100,7 +113208,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "5733", + "id": "5735", "implemented": true, "nodeType": "BLOCK", "src": { @@ -113108,20 +113216,20 @@ "end": "97426", "length": "38", "line": "2666", - "parentIndex": "5702", + "parentIndex": "5704", "start": "97389" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Break", "value": { - "id": "5734", + "id": "5736", "nodeType": "BREAK", "src": { "end": "97412", "length": "6", "line": "2667", - "parentIndex": "5733", + "parentIndex": "5735", "start": "97407" } } @@ -113131,7 +113239,7 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5724", + "id": "5726", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -113145,16 +113253,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5728", + "id": "5730", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5716", + "referencedDeclaration": "5718", "src": { "column": "24", "end": "97371", "length": "8", "line": "2666", - "parentIndex": "5725", + "parentIndex": "5727", "start": "97364" }, "typeDescription": { @@ -113173,7 +113281,7 @@ "typeString": "address" } ], - "id": "5726", + "id": "5728", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -113181,7 +113289,7 @@ "end": "97362", "length": "7", "line": "2666", - "parentIndex": "5725", + "parentIndex": "5727", "start": "97356" }, "typeDescription": { @@ -113189,7 +113297,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5727", + "id": "5729", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -113197,7 +113305,7 @@ "end": "97362", "length": "7", "line": "2666", - "parentIndex": "5726", + "parentIndex": "5728", "start": "97356" }, "stateMutability": "NONPAYABLE", @@ -113208,7 +113316,7 @@ } } }, - "id": "5725", + "id": "5727", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -113216,7 +113324,7 @@ "end": "97372", "length": "17", "line": "2666", - "parentIndex": "5724", + "parentIndex": "5726", "start": "97356" }, "typeDescription": { @@ -113241,7 +113349,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5732", + "id": "5734", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -113250,7 +113358,7 @@ "end": "97385", "length": "1", "line": "2666", - "parentIndex": "5729", + "parentIndex": "5731", "start": "97385" }, "typeDescription": { @@ -113270,7 +113378,7 @@ "typeString": "address" } ], - "id": "5730", + "id": "5732", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -113278,7 +113386,7 @@ "end": "97383", "length": "7", "line": "2666", - "parentIndex": "5729", + "parentIndex": "5731", "start": "97377" }, "typeDescription": { @@ -113286,7 +113394,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5731", + "id": "5733", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -113294,7 +113402,7 @@ "end": "97383", "length": "7", "line": "2666", - "parentIndex": "5730", + "parentIndex": "5732", "start": "97377" }, "stateMutability": "NONPAYABLE", @@ -113305,7 +113413,7 @@ } } }, - "id": "5729", + "id": "5731", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -113313,7 +113421,7 @@ "end": "97386", "length": "10", "line": "2666", - "parentIndex": "5724", + "parentIndex": "5726", "start": "97377" }, "typeDescription": { @@ -113327,7 +113435,7 @@ "end": "97386", "length": "31", "line": "2666", - "parentIndex": "5723", + "parentIndex": "5725", "start": "97356" }, "typeDescription": { @@ -113336,13 +113444,13 @@ } } }, - "id": "5723", + "id": "5725", "nodeType": "IF_STATEMENT", "src": { "end": "97426", "length": "75", "line": "2666", - "parentIndex": "5715", + "parentIndex": "5717", "start": "97352" } } @@ -113364,16 +113472,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5737", + "id": "5739", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5716", + "referencedDeclaration": "5718", "src": { "column": "33", "end": "97468", "length": "8", "line": "2669", - "parentIndex": "5735", + "parentIndex": "5737", "start": "97461" }, "typeDescription": { @@ -113385,7 +113493,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5738", + "id": "5740", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -113393,20 +113501,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5740", + "id": "5742", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5741", + "id": "5743", "name": "assetAmount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5698", + "referencedDeclaration": "5700", "src": { "column": "44", "end": "97482", "length": "11", "line": "2669", - "parentIndex": "5740", + "parentIndex": "5742", "start": "97472" }, "typeDescription": { @@ -113426,16 +113534,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5745", + "id": "5747", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5716", + "referencedDeclaration": "5718", "src": { "column": "69", "end": "97504", "length": "8", "line": "2669", - "parentIndex": "5743", + "parentIndex": "5745", "start": "97497" }, "typeDescription": { @@ -113444,24 +113552,24 @@ } } }, - "id": "5743", + "id": "5745", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5744", + "id": "5746", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "58", "end": "97495", "length": "10", "line": "2669", - "parentIndex": "5743", + "parentIndex": "5745", "start": "97486" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -113472,16 +113580,16 @@ "end": "97505", "length": "20", "line": "2669", - "parentIndex": "5742", + "parentIndex": "5744", "start": "97486" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -113491,13 +113599,13 @@ ] } }, - "id": "5742", + "id": "5744", "memberLocation": { "column": "79", "end": "97512", "length": "6", "line": "2669", - "parentIndex": "5742", + "parentIndex": "5744", "start": "97507" }, "memberName": "tvlBps", @@ -113507,11 +113615,11 @@ "end": "97512", "length": "27", "line": "2669", - "parentIndex": "5740", + "parentIndex": "5742", "start": "97486" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -113521,7 +113629,7 @@ "end": "97512", "length": "41", "line": "2669", - "parentIndex": "5739", + "parentIndex": "5741", "start": "97472" }, "typeDescription": { @@ -113531,14 +113639,14 @@ } } ], - "id": "5739", + "id": "5741", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "43", "end": "97513", "length": "43", "line": "2669", - "parentIndex": "5738", + "parentIndex": "5740", "start": "97471" }, "typeDescription": { @@ -113552,16 +113660,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5746", + "id": "5748", "name": "MAX_BPS", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5406", + "referencedDeclaration": "5408", "src": { "column": "89", "end": "97523", "length": "7", "line": "2669", - "parentIndex": "5738", + "parentIndex": "5740", "start": "97517" }, "typeDescription": { @@ -113575,7 +113683,7 @@ "end": "97523", "length": "53", "line": "2669", - "parentIndex": "5735", + "parentIndex": "5737", "start": "97471" }, "typeDescription": { @@ -113588,7 +113696,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5736", + "id": "5738", "name": "_depositIntoStrategy", "nodeType": "IDENTIFIER", "src": { @@ -113596,7 +113704,7 @@ "end": "97459", "length": "20", "line": "2669", - "parentIndex": "5735", + "parentIndex": "5737", "start": "97440" }, "typeDescription": { @@ -113605,7 +113713,7 @@ } } }, - "id": "5735", + "id": "5737", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -113613,7 +113721,7 @@ "end": "97524", "length": "85", "line": "2669", - "parentIndex": "5715", + "parentIndex": "5717", "start": "97440" }, "typeDescription": { @@ -113627,11 +113735,11 @@ "closure": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5710", + "id": "5712", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5711", + "id": "5713", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -113640,7 +113748,7 @@ "end": "97265", "length": "1", "line": "2664", - "parentIndex": "5710", + "parentIndex": "5712", "start": "97265" }, "typeDescription": { @@ -113664,7 +113772,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5714", + "id": "5716", "name": "i", "nodeType": "IDENTIFIER", "src": { @@ -113672,7 +113780,7 @@ "end": "97282", "length": "1", "line": "2664", - "parentIndex": "5712", + "parentIndex": "5714", "start": "97282" }, "typeDescription": { @@ -113685,7 +113793,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5713", + "id": "5715", "name": "uncheckedInc", "nodeType": "IDENTIFIER", "src": { @@ -113693,7 +113801,7 @@ "end": "97280", "length": "12", "line": "2664", - "parentIndex": "5712", + "parentIndex": "5714", "start": "97269" }, "typeDescription": { @@ -113702,7 +113810,7 @@ } } }, - "id": "5712", + "id": "5714", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -113710,7 +113818,7 @@ "end": "97283", "length": "15", "line": "2664", - "parentIndex": "5710", + "parentIndex": "5712", "start": "97269" }, "typeDescription": { @@ -113724,7 +113832,7 @@ "end": "97283", "length": "19", "line": "2664", - "parentIndex": "5702", + "parentIndex": "5704", "start": "97265" }, "typeDescription": { @@ -113736,11 +113844,11 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5707", + "id": "5709", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5708", + "id": "5710", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -113749,7 +113857,7 @@ "end": "97245", "length": "1", "line": "2664", - "parentIndex": "5707", + "parentIndex": "5709", "start": "97245" }, "typeDescription": { @@ -113763,16 +113871,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5709", + "id": "5711", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "32", "end": "97262", "length": "14", "line": "2664", - "parentIndex": "5707", + "parentIndex": "5709", "start": "97249" }, "typeDescription": { @@ -113786,7 +113894,7 @@ "end": "97262", "length": "18", "line": "2664", - "parentIndex": "5702", + "parentIndex": "5704", "start": "97245" }, "typeDescription": { @@ -113795,16 +113903,16 @@ } } }, - "id": "5702", + "id": "5704", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5704" + "5706" ], "declarations": [ { - "id": "5704", + "id": "5706", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -113812,17 +113920,17 @@ "end": "97238", "length": "1", "line": "2664", - "parentIndex": "5704", + "parentIndex": "5706", "start": "97238" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5701", + "scope": "5703", "src": { "column": "13", "end": "97238", "length": "9", "line": "2664", - "parentIndex": "5703", + "parentIndex": "5705", "start": "97230" }, "storageLocation": "DEFAULT", @@ -113831,7 +113939,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5705", + "id": "5707", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -113839,7 +113947,7 @@ "end": "97236", "length": "7", "line": "2664", - "parentIndex": "5704", + "parentIndex": "5706", "start": "97230" }, "typeDescription": { @@ -113850,12 +113958,12 @@ "visibility": "INTERNAL" } ], - "id": "5703", + "id": "5705", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5706", + "id": "5708", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -113864,7 +113972,7 @@ "end": "97242", "length": "1", "line": "2664", - "parentIndex": "5703", + "parentIndex": "5705", "start": "97242" }, "typeDescription": { @@ -113880,7 +113988,7 @@ "end": "97243", "length": "14", "line": "2664", - "parentIndex": "5701", + "parentIndex": "5703", "start": "97230" } } @@ -113890,14 +113998,14 @@ "end": "97535", "length": "311", "line": "2664", - "parentIndex": "5701", + "parentIndex": "5703", "start": "97225" } } } ] }, - "id": "5696", + "id": "5698", "implemented": true, "kind": "KIND_FUNCTION", "name": "_depositIntoStrategies", @@ -113906,25 +114014,25 @@ "end": "97137", "length": "22", "line": "2662", - "parentIndex": "5696", + "parentIndex": "5698", "start": "97116" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5697", + "id": "5699", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5698", + "id": "5700", "name": "assetAmount", "nodeType": "VARIABLE_DECLARATION", - "scope": "5698", + "scope": "5700", "src": { "column": "36", "end": "97157", "length": "19", "line": "2662", - "parentIndex": "5697", + "parentIndex": "5699", "start": "97139" }, "stateMutability": "MUTABLE", @@ -113934,7 +114042,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5699", + "id": "5701", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -113942,7 +114050,7 @@ "end": "97145", "length": "7", "line": "2662", - "parentIndex": "5698", + "parentIndex": "5700", "start": "97139" }, "typeDescription": { @@ -113958,30 +114066,30 @@ "end": "97157", "length": "19", "line": "2662", - "parentIndex": "5696", + "parentIndex": "5698", "start": "97139" } }, "returnParameters": { - "id": "5700", + "id": "5702", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "97541", "length": "435", "line": "2662", - "parentIndex": "5696", + "parentIndex": "5698", "start": "97107" } }, - "scope": "5193", + "scope": "5194", "signature": "7e4023dd", "src": { "column": "4", "end": "97541", "length": "435", "line": "2662", - "parentIndex": "5193", + "parentIndex": "5194", "start": "97107" }, "stateMutability": "NONPAYABLE", @@ -113996,7 +114104,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5756", + "id": "5758", "implemented": true, "nodeType": "BLOCK", "src": { @@ -114004,7 +114112,7 @@ "end": "98339", "length": "718", "line": "2673", - "parentIndex": "5748", + "parentIndex": "5750", "start": "97622" }, "statements": [ @@ -114012,27 +114120,27 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "5761", + "id": "5763", "nodeType": "BLOCK", "src": {} }, "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5758", + "id": "5760", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5759", + "id": "5761", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5759", + "referencedDeclaration": "5761", "src": { "column": "12", "end": "97682", "length": "6", "line": "2675", - "parentIndex": "5758", + "parentIndex": "5760", "start": "97677" }, "typeDescription": { @@ -114047,7 +114155,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5760", + "id": "5762", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -114056,7 +114164,7 @@ "end": "97687", "length": "1", "line": "2675", - "parentIndex": "5758", + "parentIndex": "5760", "start": "97687" }, "typeDescription": { @@ -114071,7 +114179,7 @@ "end": "97687", "length": "11", "line": "2675", - "parentIndex": "5757", + "parentIndex": "5759", "start": "97677" }, "typeDescription": { @@ -114080,13 +114188,13 @@ } } }, - "id": "5757", + "id": "5759", "nodeType": "IF_STATEMENT", "src": { "end": "97696", "length": "24", "line": "2675", - "parentIndex": "5756", + "parentIndex": "5758", "start": "97673" } } @@ -114097,20 +114205,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5763", + "id": "5765", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5764", + "id": "5766", "name": "totalStrategyHoldings", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5390", + "referencedDeclaration": "5391", "src": { "column": "8", "end": "97797", "length": "21", "line": "2678", - "parentIndex": "5763", + "parentIndex": "5765", "start": "97777" }, "typeDescription": { @@ -114124,16 +114232,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5765", + "id": "5767", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5765", + "referencedDeclaration": "5767", "src": { "column": "33", "end": "97807", "length": "6", "line": "2678", - "parentIndex": "5763", + "parentIndex": "5765", "start": "97802" }, "typeDescription": { @@ -114147,7 +114255,7 @@ "end": "97807", "length": "31", "line": "2678", - "parentIndex": "5762", + "parentIndex": "5764", "start": "97777" }, "typeDescription": { @@ -114156,14 +114264,14 @@ } } }, - "id": "5762", + "id": "5764", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "97808", "length": "32", "line": "2678", - "parentIndex": "5756", + "parentIndex": "5758", "start": "97777" }, "typeDescription": { @@ -114199,16 +114307,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5772", + "id": "5774", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5772", + "referencedDeclaration": "5774", "src": { "column": "35", "end": "98177", "length": "8", "line": "2687", - "parentIndex": "5769", + "parentIndex": "5771", "start": "98170" }, "typeDescription": { @@ -114227,7 +114335,7 @@ "typeString": "address" } ], - "id": "5770", + "id": "5772", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -114235,7 +114343,7 @@ "end": "98168", "length": "7", "line": "2687", - "parentIndex": "5769", + "parentIndex": "5771", "start": "98162" }, "typeDescription": { @@ -114243,7 +114351,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "5771", + "id": "5773", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -114251,7 +114359,7 @@ "end": "98168", "length": "7", "line": "2687", - "parentIndex": "5770", + "parentIndex": "5772", "start": "98162" }, "stateMutability": "NONPAYABLE", @@ -114262,7 +114370,7 @@ } } }, - "id": "5769", + "id": "5771", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -114270,7 +114378,7 @@ "end": "98178", "length": "17", "line": "2687", - "parentIndex": "5766", + "parentIndex": "5768", "start": "98162" }, "typeDescription": { @@ -114288,16 +114396,16 @@ "typeString": "function(function())" } ], - "id": "5773", + "id": "5775", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5773", + "referencedDeclaration": "5775", "src": { "column": "46", "end": "98186", "length": "6", "line": "2687", - "parentIndex": "5766", + "parentIndex": "5768", "start": "98181" }, "typeDescription": { @@ -114313,31 +114421,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5768", + "id": "5770", "name": "_asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5206", + "referencedDeclaration": "5207", "src": { "column": "8", "end": "98148", "length": "6", "line": "2687", - "parentIndex": "5767", + "parentIndex": "5769", "start": "98143" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5767", + "id": "5769", "memberLocation": { "column": "15", "end": "98160", "length": "11", "line": "2687", - "parentIndex": "5767", + "parentIndex": "5769", "start": "98150" }, "memberName": "safeApprove", @@ -114347,16 +114455,16 @@ "end": "98160", "length": "18", "line": "2687", - "parentIndex": "5766", + "parentIndex": "5768", "start": "98143" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "5766", + "id": "5768", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -114364,7 +114472,7 @@ "end": "98187", "length": "45", "line": "2687", - "parentIndex": "5756", + "parentIndex": "5758", "start": "98143" }, "typeDescription": { @@ -114386,16 +114494,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5777", + "id": "5779", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5777", + "referencedDeclaration": "5779", "src": { "column": "24", "end": "98283", "length": "6", "line": "2690", - "parentIndex": "5774", + "parentIndex": "5776", "start": "98278" }, "typeDescription": { @@ -114411,16 +114519,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5776", + "id": "5778", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5776", + "referencedDeclaration": "5778", "src": { "column": "8", "end": "98269", "length": "8", "line": "2690", - "parentIndex": "5775", + "parentIndex": "5777", "start": "98262" }, "typeDescription": { @@ -114429,13 +114537,13 @@ } } }, - "id": "5775", + "id": "5777", "memberLocation": { "column": "17", "end": "98276", "length": "6", "line": "2690", - "parentIndex": "5775", + "parentIndex": "5777", "start": "98271" }, "memberName": "invest", @@ -114445,7 +114553,7 @@ "end": "98276", "length": "15", "line": "2690", - "parentIndex": "5774", + "parentIndex": "5776", "start": "98262" }, "typeDescription": { @@ -114454,7 +114562,7 @@ } } }, - "id": "5774", + "id": "5776", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -114462,7 +114570,7 @@ "end": "98284", "length": "23", "line": "2690", - "parentIndex": "5756", + "parentIndex": "5758", "start": "98262" }, "typeDescription": { @@ -114478,16 +114586,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5779", + "id": "5781", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5779", + "referencedDeclaration": "5781", "src": { "column": "29", "end": "98323", "length": "8", "line": "2691", - "parentIndex": "5778", + "parentIndex": "5780", "start": "98316" }, "typeDescription": { @@ -114499,16 +114607,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5780", + "id": "5782", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5780", + "referencedDeclaration": "5782", "src": { "column": "39", "end": "98331", "length": "6", "line": "2691", - "parentIndex": "5778", + "parentIndex": "5780", "start": "98326" }, "typeDescription": { @@ -114521,32 +114629,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5781", + "id": "5783", "name": "StrategyDeposit", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5678", + "referencedDeclaration": "5680", "src": { "column": "13", "end": "98314", "length": "15", "line": "2691", - "parentIndex": "5778", + "parentIndex": "5780", "start": "98300" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265678", + "typeIdentifier": "t_event\u0026_BaseVault_StrategyDeposit_\u00265680", "typeString": "event BaseVault.StrategyDeposit" } } }, - "id": "5778", + "id": "5780", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "98333", "length": "39", "line": "2691", - "parentIndex": "5748", + "parentIndex": "5750", "start": "98295" } } @@ -114554,14 +114662,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "5782", + "id": "5784", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", "end": "98071", "length": "253", "line": "2680", - "parentIndex": "5193", + "parentIndex": "5194", "start": "97819" }, "statements": [ @@ -114571,7 +114679,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5784", + "id": "5786", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -114581,16 +114689,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5788", + "id": "5790", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5788", + "referencedDeclaration": "5790", "src": { "column": "23", "end": "98032", "length": "8", "line": "2683", - "parentIndex": "5786", + "parentIndex": "5788", "start": "98025" }, "typeDescription": { @@ -114599,24 +114707,24 @@ } } }, - "id": "5786", + "id": "5788", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5787", + "id": "5789", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "12", "end": "98023", "length": "10", "line": "2683", - "parentIndex": "5786", + "parentIndex": "5788", "start": "98014" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -114627,16 +114735,16 @@ "end": "98033", "length": "20", "line": "2683", - "parentIndex": "5785", + "parentIndex": "5787", "start": "98014" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -114646,13 +114754,13 @@ ] } }, - "id": "5785", + "id": "5787", "memberLocation": { "column": "33", "end": "98041", "length": "7", "line": "2683", - "parentIndex": "5785", + "parentIndex": "5787", "start": "98035" }, "memberName": "balance", @@ -114662,11 +114770,11 @@ "end": "98041", "length": "28", "line": "2683", - "parentIndex": "5784", + "parentIndex": "5786", "start": "98014" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -114686,16 +114794,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5792", + "id": "5794", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5792", + "referencedDeclaration": "5794", "src": { "column": "52", "end": "98059", "length": "6", "line": "2683", - "parentIndex": "5789", + "parentIndex": "5791", "start": "98054" }, "typeDescription": { @@ -114714,7 +114822,7 @@ "typeString": "uint232" } ], - "id": "5790", + "id": "5792", "name": "uint232", "nodeType": "IDENTIFIER", "src": { @@ -114722,7 +114830,7 @@ "end": "98052", "length": "7", "line": "2683", - "parentIndex": "5789", + "parentIndex": "5791", "start": "98046" }, "typeDescription": { @@ -114730,7 +114838,7 @@ "typeString": "function(uint232)" }, "typeName": { - "id": "5791", + "id": "5793", "name": "uint232", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -114738,7 +114846,7 @@ "end": "98052", "length": "7", "line": "2683", - "parentIndex": "5790", + "parentIndex": "5792", "start": "98046" }, "typeDescription": { @@ -114748,7 +114856,7 @@ } } }, - "id": "5789", + "id": "5791", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -114756,7 +114864,7 @@ "end": "98060", "length": "15", "line": "2683", - "parentIndex": "5784", + "parentIndex": "5786", "start": "98046" }, "typeDescription": { @@ -114770,27 +114878,27 @@ "end": "98060", "length": "47", "line": "2683", - "parentIndex": "5783", + "parentIndex": "5785", "start": "98014" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } }, - "id": "5783", + "id": "5785", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "98061", "length": "48", "line": "2683", - "parentIndex": "5782", + "parentIndex": "5784", "start": "98014" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -114800,7 +114908,7 @@ } ] }, - "id": "5748", + "id": "5750", "kind": "KIND_FUNCTION", "name": "_depositIntoStrategy", "nameLocation": { @@ -114808,25 +114916,25 @@ "end": "97576", "length": "20", "line": "2673", - "parentIndex": "5748", + "parentIndex": "5750", "start": "97557" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5749", + "id": "5751", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5750", + "id": "5752", "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "5750", + "scope": "5752", "src": { "column": "34", "end": "97594", "length": "17", "line": "2673", - "parentIndex": "5749", + "parentIndex": "5751", "start": "97578" }, "stateMutability": "MUTABLE", @@ -114836,37 +114944,37 @@ "typeString": "function()" }, "typeName": { - "id": "5751", + "id": "5753", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5752", + "id": "5754", "name": "Strategy", "nameLocation": { "column": "34", "end": "97585", "length": "8", "line": "2673", - "parentIndex": "5751", + "parentIndex": "5753", "start": "97578" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "34", "end": "97585", "length": "8", "line": "2673", - "parentIndex": "5751", + "parentIndex": "5753", "start": "97578" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "34", "end": "97585", "length": "8", "line": "2673", - "parentIndex": "5750", + "parentIndex": "5752", "start": "97578" }, "typeDescription": { @@ -114877,16 +114985,16 @@ "visibility": "INTERNAL" }, { - "id": "5753", + "id": "5755", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "5753", + "scope": "5755", "src": { "column": "53", "end": "97610", "length": "14", "line": "2673", - "parentIndex": "5749", + "parentIndex": "5751", "start": "97597" }, "stateMutability": "MUTABLE", @@ -114896,7 +115004,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5754", + "id": "5756", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -114904,7 +115012,7 @@ "end": "97603", "length": "7", "line": "2673", - "parentIndex": "5753", + "parentIndex": "5755", "start": "97597" }, "typeDescription": { @@ -114920,30 +115028,30 @@ "end": "97610", "length": "33", "line": "2673", - "parentIndex": "5748", + "parentIndex": "5750", "start": "97578" } }, "returnParameters": { - "id": "5755", + "id": "5757", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "98339", "length": "792", "line": "2673", - "parentIndex": "5748", + "parentIndex": "5750", "start": "97548" } }, - "scope": "5193", - "signature": "48041b7a", + "scope": "5194", + "signature": "6168a132", "src": { "column": "4", "end": "98339", "length": "792", "line": "2673", - "parentIndex": "5193", + "parentIndex": "5194", "start": "97548" }, "stateMutability": "NONPAYABLE", @@ -114958,7 +115066,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5804", + "id": "5806", "implemented": true, "nodeType": "BLOCK", "src": { @@ -114966,7 +115074,7 @@ "end": "99733", "length": "936", "line": "2701", - "parentIndex": "5794", + "parentIndex": "5796", "start": "98798" }, "statements": [ @@ -114974,11 +115082,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5806" + "5808" ], "declarations": [ { - "id": "5806", + "id": "5808", "mutability": "MUTABLE", "name": "amountWithdrawn", "nameLocation": { @@ -114986,17 +115094,17 @@ "end": "98868", "length": "15", "line": "2703", - "parentIndex": "5806", + "parentIndex": "5808", "start": "98854" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5804", + "scope": "5806", "src": { "column": "8", "end": "98868", "length": "23", "line": "2703", - "parentIndex": "5805", + "parentIndex": "5807", "start": "98846" }, "storageLocation": "DEFAULT", @@ -115005,7 +115113,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5807", + "id": "5809", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -115013,7 +115121,7 @@ "end": "98852", "length": "7", "line": "2703", - "parentIndex": "5806", + "parentIndex": "5808", "start": "98846" }, "typeDescription": { @@ -115024,7 +115132,7 @@ "visibility": "INTERNAL" } ], - "id": "5805", + "id": "5807", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -115042,16 +115150,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5810", + "id": "5812", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5810", + "referencedDeclaration": "5812", "src": { "column": "42", "end": "98887", "length": "8", "line": "2703", - "parentIndex": "5808", + "parentIndex": "5810", "start": "98880" }, "typeDescription": { @@ -115069,16 +115177,16 @@ "typeString": "function()" } ], - "id": "5811", + "id": "5813", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5811", + "referencedDeclaration": "5813", "src": { "column": "52", "end": "98895", "length": "6", "line": "2703", - "parentIndex": "5808", + "parentIndex": "5810", "start": "98890" }, "typeDescription": { @@ -115091,7 +115199,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5809", + "id": "5811", "name": "_divest", "nodeType": "IDENTIFIER", "src": { @@ -115099,7 +115207,7 @@ "end": "98878", "length": "7", "line": "2703", - "parentIndex": "5808", + "parentIndex": "5810", "start": "98872" }, "typeDescription": { @@ -115108,7 +115216,7 @@ } } }, - "id": "5808", + "id": "5810", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -115116,7 +115224,7 @@ "end": "98896", "length": "25", "line": "2703", - "parentIndex": "5805", + "parentIndex": "5807", "start": "98872" }, "typeDescription": { @@ -115131,7 +115239,7 @@ "end": "98897", "length": "52", "line": "2703", - "parentIndex": "5804", + "parentIndex": "5806", "start": "98846" } } @@ -115140,11 +115248,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5813" + "5815" ], "declarations": [ { - "id": "5813", + "id": "5815", "mutability": "MUTABLE", "name": "oldStratTVL", "nameLocation": { @@ -115152,17 +115260,17 @@ "end": "99168", "length": "11", "line": "2708", - "parentIndex": "5813", + "parentIndex": "5815", "start": "99158" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5804", + "scope": "5806", "src": { "column": "8", "end": "99168", "length": "19", "line": "2708", - "parentIndex": "5812", + "parentIndex": "5814", "start": "99150" }, "storageLocation": "DEFAULT", @@ -115171,7 +115279,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5814", + "id": "5816", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -115179,7 +115287,7 @@ "end": "99156", "length": "7", "line": "2708", - "parentIndex": "5813", + "parentIndex": "5815", "start": "99150" }, "typeDescription": { @@ -115190,7 +115298,7 @@ "visibility": "INTERNAL" } ], - "id": "5812", + "id": "5814", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -115200,16 +115308,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5818", + "id": "5820", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5818", + "referencedDeclaration": "5820", "src": { "column": "41", "end": "99190", "length": "8", "line": "2708", - "parentIndex": "5816", + "parentIndex": "5818", "start": "99183" }, "typeDescription": { @@ -115218,24 +115326,24 @@ } } }, - "id": "5816", + "id": "5818", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5817", + "id": "5819", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "30", "end": "99181", "length": "10", "line": "2708", - "parentIndex": "5816", + "parentIndex": "5818", "start": "99172" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -115246,16 +115354,16 @@ "end": "99191", "length": "20", "line": "2708", - "parentIndex": "5812", + "parentIndex": "5814", "start": "99172" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -115265,13 +115373,13 @@ ] } }, - "id": "5815", + "id": "5817", "memberLocation": { "column": "51", "end": "99199", "length": "7", "line": "2708", - "parentIndex": "5815", + "parentIndex": "5817", "start": "99193" }, "memberName": "balance", @@ -115281,11 +115389,11 @@ "end": "99199", "length": "28", "line": "2708", - "parentIndex": "5812", + "parentIndex": "5814", "start": "99172" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -115296,7 +115404,7 @@ "end": "99200", "length": "51", "line": "2708", - "parentIndex": "5804", + "parentIndex": "5806", "start": "99150" } } @@ -115305,11 +115413,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5820" + "5822" ], "declarations": [ { - "id": "5820", + "id": "5822", "mutability": "MUTABLE", "name": "newStratTvl", "nameLocation": { @@ -115317,17 +115425,17 @@ "end": "99228", "length": "11", "line": "2709", - "parentIndex": "5820", + "parentIndex": "5822", "start": "99218" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5804", + "scope": "5806", "src": { "column": "8", "end": "99228", "length": "19", "line": "2709", - "parentIndex": "5819", + "parentIndex": "5821", "start": "99210" }, "storageLocation": "DEFAULT", @@ -115336,7 +115444,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5821", + "id": "5823", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -115344,7 +115452,7 @@ "end": "99216", "length": "7", "line": "2709", - "parentIndex": "5820", + "parentIndex": "5822", "start": "99210" }, "typeDescription": { @@ -115355,7 +115463,7 @@ "visibility": "INTERNAL" } ], - "id": "5819", + "id": "5821", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -115365,16 +115473,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5824", + "id": "5826", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5824", + "referencedDeclaration": "5826", "src": { "column": "30", "end": "99239", "length": "8", "line": "2709", - "parentIndex": "5823", + "parentIndex": "5825", "start": "99232" }, "typeDescription": { @@ -115383,13 +115491,13 @@ } } }, - "id": "5823", + "id": "5825", "memberLocation": { "column": "39", "end": "99256", "length": "16", "line": "2709", - "parentIndex": "5823", + "parentIndex": "5825", "start": "99241" }, "memberName": "totalLockedValue", @@ -115399,7 +115507,7 @@ "end": "99256", "length": "25", "line": "2709", - "parentIndex": "5822", + "parentIndex": "5824", "start": "99232" }, "typeDescription": { @@ -115408,7 +115516,7 @@ } } }, - "id": "5822", + "id": "5824", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -115416,7 +115524,7 @@ "end": "99258", "length": "27", "line": "2709", - "parentIndex": "5819", + "parentIndex": "5821", "start": "99232" }, "typeDescription": { @@ -115431,7 +115539,7 @@ "end": "99259", "length": "50", "line": "2709", - "parentIndex": "5804", + "parentIndex": "5806", "start": "99210" } } @@ -115442,7 +115550,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5826", + "id": "5828", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -115452,16 +115560,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5830", + "id": "5832", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5830", + "referencedDeclaration": "5832", "src": { "column": "19", "end": "99287", "length": "8", "line": "2710", - "parentIndex": "5828", + "parentIndex": "5830", "start": "99280" }, "typeDescription": { @@ -115470,24 +115578,24 @@ } } }, - "id": "5828", + "id": "5830", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5829", + "id": "5831", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "8", "end": "99278", "length": "10", "line": "2710", - "parentIndex": "5828", + "parentIndex": "5830", "start": "99269" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -115498,16 +115606,16 @@ "end": "99288", "length": "20", "line": "2710", - "parentIndex": "5827", + "parentIndex": "5829", "start": "99269" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -115517,13 +115625,13 @@ ] } }, - "id": "5827", + "id": "5829", "memberLocation": { "column": "29", "end": "99296", "length": "7", "line": "2710", - "parentIndex": "5827", + "parentIndex": "5829", "start": "99290" }, "memberName": "balance", @@ -115533,11 +115641,11 @@ "end": "99296", "length": "28", "line": "2710", - "parentIndex": "5826", + "parentIndex": "5828", "start": "99269" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -115557,16 +115665,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5834", + "id": "5836", "name": "newStratTvl", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5819", + "referencedDeclaration": "5821", "src": { "column": "47", "end": "99318", "length": "11", "line": "2710", - "parentIndex": "5831", + "parentIndex": "5833", "start": "99308" }, "typeDescription": { @@ -115585,7 +115693,7 @@ "typeString": "uint232" } ], - "id": "5832", + "id": "5834", "name": "uint232", "nodeType": "IDENTIFIER", "src": { @@ -115593,7 +115701,7 @@ "end": "99306", "length": "7", "line": "2710", - "parentIndex": "5831", + "parentIndex": "5833", "start": "99300" }, "typeDescription": { @@ -115601,7 +115709,7 @@ "typeString": "function(uint232)" }, "typeName": { - "id": "5833", + "id": "5835", "name": "uint232", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -115609,7 +115717,7 @@ "end": "99306", "length": "7", "line": "2710", - "parentIndex": "5832", + "parentIndex": "5834", "start": "99300" }, "typeDescription": { @@ -115619,7 +115727,7 @@ } } }, - "id": "5831", + "id": "5833", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -115627,7 +115735,7 @@ "end": "99319", "length": "20", "line": "2710", - "parentIndex": "5826", + "parentIndex": "5828", "start": "99300" }, "typeDescription": { @@ -115641,27 +115749,27 @@ "end": "99319", "length": "51", "line": "2710", - "parentIndex": "5825", + "parentIndex": "5827", "start": "99269" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } }, - "id": "5825", + "id": "5827", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "99320", "length": "52", "line": "2710", - "parentIndex": "5804", + "parentIndex": "5806", "start": "99269" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -115672,20 +115780,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5836", + "id": "5838", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5837", + "id": "5839", "name": "totalStrategyHoldings", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5390", + "referencedDeclaration": "5391", "src": { "column": "8", "end": "99520", "length": "21", "line": "2714", - "parentIndex": "5836", + "parentIndex": "5838", "start": "99500" }, "typeDescription": { @@ -115703,20 +115811,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5840", + "id": "5842", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5841", + "id": "5843", "name": "oldStratTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5812", + "referencedDeclaration": "5814", "src": { "column": "33", "end": "99535", "length": "11", "line": "2714", - "parentIndex": "5840", + "parentIndex": "5842", "start": "99525" }, "typeDescription": { @@ -115730,16 +115838,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5842", + "id": "5844", "name": "newStratTvl", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5819", + "referencedDeclaration": "5821", "src": { "column": "47", "end": "99549", "length": "11", "line": "2714", - "parentIndex": "5840", + "parentIndex": "5842", "start": "99539" }, "typeDescription": { @@ -115753,7 +115861,7 @@ "end": "99549", "length": "25", "line": "2714", - "parentIndex": "5839", + "parentIndex": "5841", "start": "99525" }, "typeDescription": { @@ -115765,20 +115873,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5843", + "id": "5845", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5844", + "id": "5846", "name": "oldStratTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5812", + "referencedDeclaration": "5814", "src": { "column": "61", "end": "99563", "length": "11", "line": "2714", - "parentIndex": "5843", + "parentIndex": "5845", "start": "99553" }, "typeDescription": { @@ -115792,16 +115900,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5845", + "id": "5847", "name": "newStratTvl", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5819", + "referencedDeclaration": "5821", "src": { "column": "75", "end": "99577", "length": "11", "line": "2714", - "parentIndex": "5843", + "parentIndex": "5845", "start": "99567" }, "typeDescription": { @@ -115815,7 +115923,7 @@ "end": "99577", "length": "25", "line": "2714", - "parentIndex": "5839", + "parentIndex": "5841", "start": "99553" }, "typeDescription": { @@ -115828,7 +115936,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5846", + "id": "5848", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -115837,7 +115945,7 @@ "end": "99581", "length": "1", "line": "2714", - "parentIndex": "5839", + "parentIndex": "5841", "start": "99581" }, "typeDescription": { @@ -115848,14 +115956,14 @@ } } ], - "id": "5839", + "id": "5841", "nodeType": "CONDITIONAL_EXPRESSION", "src": { "column": "33", "end": "99581", "length": "57", "line": "2714", - "parentIndex": "5836", + "parentIndex": "5838", "start": "99525" }, "typeDescriptions": [ @@ -115879,7 +115987,7 @@ "end": "99581", "length": "82", "line": "2714", - "parentIndex": "5835", + "parentIndex": "5837", "start": "99500" }, "typeDescription": { @@ -115888,14 +115996,14 @@ } } }, - "id": "5835", + "id": "5837", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "99582", "length": "83", "line": "2714", - "parentIndex": "5804", + "parentIndex": "5806", "start": "99500" }, "typeDescription": { @@ -115910,32 +116018,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5848", + "id": "5850", "name": "StrategyWithdrawal", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5686", + "referencedDeclaration": "5688", "src": { "column": "13", "end": "99614", "length": "18", "line": "2715", - "parentIndex": "5847", + "parentIndex": "5849", "start": "99597" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265686", + "typeIdentifier": "t_event\u0026_BaseVault_StrategyWithdrawal_\u00265688", "typeString": "event BaseVault.StrategyWithdrawal" } } }, - "id": "5847", + "id": "5849", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "99695", "length": "104", "line": "2715", - "parentIndex": "5794", + "parentIndex": "5796", "start": "99592" } } @@ -115946,16 +116054,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5850", + "id": "5852", "name": "amountWithdrawn", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5805", + "referencedDeclaration": "5807", "src": { "column": "15", "end": "99726", "length": "15", "line": "2716", - "parentIndex": "5849", + "parentIndex": "5851", "start": "99712" }, "typeDescription": { @@ -115964,15 +116072,15 @@ } } }, - "functionReturnParameters": "5794", - "id": "5849", + "functionReturnParameters": "5796", + "id": "5851", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "99727", "length": "23", "line": "2716", - "parentIndex": "5794", + "parentIndex": "5796", "start": "99705" }, "typeDescription": { @@ -115983,7 +116091,7 @@ } ] }, - "id": "5794", + "id": "5796", "implemented": true, "kind": "KIND_FUNCTION", "name": "_withdrawFromStrategy", @@ -115992,25 +116100,25 @@ "end": "98734", "length": "21", "line": "2701", - "parentIndex": "5794", + "parentIndex": "5796", "start": "98714" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5795", + "id": "5797", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5796", + "id": "5798", "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "5796", + "scope": "5798", "src": { "column": "35", "end": "98752", "length": "17", "line": "2701", - "parentIndex": "5795", + "parentIndex": "5797", "start": "98736" }, "stateMutability": "MUTABLE", @@ -116020,37 +116128,37 @@ "typeString": "function()" }, "typeName": { - "id": "5797", + "id": "5799", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5798", + "id": "5800", "name": "Strategy", "nameLocation": { "column": "35", "end": "98743", "length": "8", "line": "2701", - "parentIndex": "5797", + "parentIndex": "5799", "start": "98736" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "35", "end": "98743", "length": "8", "line": "2701", - "parentIndex": "5797", + "parentIndex": "5799", "start": "98736" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "35", "end": "98743", "length": "8", "line": "2701", - "parentIndex": "5796", + "parentIndex": "5798", "start": "98736" }, "typeDescription": { @@ -116061,16 +116169,16 @@ "visibility": "INTERNAL" }, { - "id": "5799", + "id": "5801", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "5799", + "scope": "5801", "src": { "column": "54", "end": "98768", "length": "14", "line": "2701", - "parentIndex": "5795", + "parentIndex": "5797", "start": "98755" }, "stateMutability": "MUTABLE", @@ -116080,7 +116188,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5800", + "id": "5802", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -116088,7 +116196,7 @@ "end": "98761", "length": "7", "line": "2701", - "parentIndex": "5799", + "parentIndex": "5801", "start": "98755" }, "typeDescription": { @@ -116104,24 +116212,24 @@ "end": "98768", "length": "33", "line": "2701", - "parentIndex": "5794", + "parentIndex": "5796", "start": "98736" } }, "returnParameters": { - "id": "5801", + "id": "5803", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5802", + "id": "5804", "nodeType": "VARIABLE_DECLARATION", - "scope": "5802", + "scope": "5804", "src": { "column": "88", "end": "98795", "length": "7", "line": "2701", - "parentIndex": "5801", + "parentIndex": "5803", "start": "98789" }, "stateMutability": "MUTABLE", @@ -116131,7 +116239,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5803", + "id": "5805", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -116139,7 +116247,7 @@ "end": "98795", "length": "7", "line": "2701", - "parentIndex": "5802", + "parentIndex": "5804", "start": "98789" }, "typeDescription": { @@ -116155,18 +116263,18 @@ "end": "98795", "length": "7", "line": "2701", - "parentIndex": "5794", + "parentIndex": "5796", "start": "98789" } }, - "scope": "5193", - "signature": "2db6f4c8", + "scope": "5194", + "signature": "f6afc7d9", "src": { "column": "4", "end": "99733", "length": "1029", "line": "2701", - "parentIndex": "5193", + "parentIndex": "5194", "start": "98705" }, "stateMutability": "NONPAYABLE", @@ -116181,7 +116289,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5862", + "id": "5864", "implemented": true, "nodeType": "BLOCK", "src": { @@ -116189,7 +116297,7 @@ "end": "100101", "length": "163", "line": "2720", - "parentIndex": "5852", + "parentIndex": "5854", "start": "99939" }, "statements": [ @@ -116197,7 +116305,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Try", "value": { "body": { - "id": "5868", + "id": "5870", "implemented": true, "nodeType": "BLOCK", "src": { @@ -116205,7 +116313,7 @@ "end": "100055", "length": "46", "line": "2721", - "parentIndex": "5863", + "parentIndex": "5865", "start": "100010" }, "statements": [ @@ -116215,16 +116323,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5870", + "id": "5872", "name": "amountDivested", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5876", + "referencedDeclaration": "5878", "src": { "column": "19", "end": "100044", "length": "14", "line": "2722", - "parentIndex": "5869", + "parentIndex": "5871", "start": "100031" }, "typeDescription": { @@ -116233,15 +116341,15 @@ } } }, - "functionReturnParameters": "5863", - "id": "5869", + "functionReturnParameters": "5865", + "id": "5871", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", "end": "100045", "length": "22", "line": "2722", - "parentIndex": "5863", + "parentIndex": "5865", "start": "100024" }, "typeDescription": { @@ -116257,7 +116365,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Catch", "value": { "body": { - "id": "5872", + "id": "5874", "implemented": true, "nodeType": "BLOCK", "src": { @@ -116275,7 +116383,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5874", + "id": "5876", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -116284,7 +116392,7 @@ "end": "100084", "length": "1", "line": "2724", - "parentIndex": "5873", + "parentIndex": "5875", "start": "100084" }, "typeDescription": { @@ -116294,7 +116402,7 @@ "value": "0" } }, - "id": "5873", + "id": "5875", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", @@ -116314,7 +116422,7 @@ "kind": "CATCH", "nodeType": "TRY_CATCH_CLAUSE", "parameters": { - "id": "5871", + "id": "5873", "nodeType": "PARAMETER_LIST", "src": { "end": "100095", @@ -116327,7 +116435,7 @@ "end": "100095", "length": "39", "line": "2723", - "parentIndex": "5863", + "parentIndex": "5865", "start": "100057" } } @@ -116346,16 +116454,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5867", + "id": "5869", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5867", + "referencedDeclaration": "5869", "src": { "column": "28", "end": "99974", "length": "6", "line": "2721", - "parentIndex": "5864", + "parentIndex": "5866", "start": "99969" }, "typeDescription": { @@ -116371,16 +116479,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5866", + "id": "5868", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5866", + "referencedDeclaration": "5868", "src": { "column": "12", "end": "99960", "length": "8", "line": "2721", - "parentIndex": "5865", + "parentIndex": "5867", "start": "99953" }, "typeDescription": { @@ -116389,13 +116497,13 @@ } } }, - "id": "5865", + "id": "5867", "memberLocation": { "column": "21", "end": "99967", "length": "6", "line": "2721", - "parentIndex": "5865", + "parentIndex": "5867", "start": "99962" }, "memberName": "divest", @@ -116405,7 +116513,7 @@ "end": "99967", "length": "15", "line": "2721", - "parentIndex": "5864", + "parentIndex": "5866", "start": "99953" }, "typeDescription": { @@ -116414,7 +116522,7 @@ } } }, - "id": "5864", + "id": "5866", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -116422,7 +116530,7 @@ "end": "99975", "length": "23", "line": "2721", - "parentIndex": "5863", + "parentIndex": "5865", "start": "99953" }, "typeDescription": { @@ -116431,24 +116539,24 @@ } } }, - "id": "5863", + "id": "5865", "kind": "TRY", "nodeType": "TRY_STATEMENT", "returnParameters": { - "id": "5875", + "id": "5877", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5876", + "id": "5878", "name": "amountDivested", "nodeType": "VARIABLE_DECLARATION", - "scope": "5876", + "scope": "5878", "src": { "column": "45", "end": "100007", "length": "22", "line": "2721", - "parentIndex": "5875", + "parentIndex": "5877", "start": "99986" }, "stateMutability": "MUTABLE", @@ -116458,7 +116566,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5877", + "id": "5879", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -116466,7 +116574,7 @@ "end": "99992", "length": "7", "line": "2721", - "parentIndex": "5876", + "parentIndex": "5878", "start": "99986" }, "typeDescription": { @@ -116482,7 +116590,7 @@ "end": "100007", "length": "22", "line": "2721", - "parentIndex": "5863", + "parentIndex": "5865", "start": "99986" } }, @@ -116491,14 +116599,14 @@ "end": "100095", "length": "147", "line": "2721", - "parentIndex": "5862", + "parentIndex": "5864", "start": "99949" } } } ] }, - "id": "5852", + "id": "5854", "implemented": true, "kind": "KIND_FUNCTION", "name": "_divest", @@ -116507,25 +116615,25 @@ "end": "99875", "length": "7", "line": "2720", - "parentIndex": "5852", + "parentIndex": "5854", "start": "99869" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5853", + "id": "5855", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5854", + "id": "5856", "name": "strategy", "nodeType": "VARIABLE_DECLARATION", - "scope": "5854", + "scope": "5856", "src": { "column": "21", "end": "99893", "length": "17", "line": "2720", - "parentIndex": "5853", + "parentIndex": "5855", "start": "99877" }, "stateMutability": "MUTABLE", @@ -116535,37 +116643,37 @@ "typeString": "function()" }, "typeName": { - "id": "5855", + "id": "5857", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5856", + "id": "5858", "name": "Strategy", "nameLocation": { "column": "21", "end": "99884", "length": "8", "line": "2720", - "parentIndex": "5855", + "parentIndex": "5857", "start": "99877" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "21", "end": "99884", "length": "8", "line": "2720", - "parentIndex": "5855", + "parentIndex": "5857", "start": "99877" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "21", "end": "99884", "length": "8", "line": "2720", - "parentIndex": "5854", + "parentIndex": "5856", "start": "99877" }, "typeDescription": { @@ -116576,16 +116684,16 @@ "visibility": "INTERNAL" }, { - "id": "5857", + "id": "5859", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "5857", + "scope": "5859", "src": { "column": "40", "end": "99909", "length": "14", "line": "2720", - "parentIndex": "5853", + "parentIndex": "5855", "start": "99896" }, "stateMutability": "MUTABLE", @@ -116595,7 +116703,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5858", + "id": "5860", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -116603,7 +116711,7 @@ "end": "99902", "length": "7", "line": "2720", - "parentIndex": "5857", + "parentIndex": "5859", "start": "99896" }, "typeDescription": { @@ -116619,24 +116727,24 @@ "end": "99909", "length": "33", "line": "2720", - "parentIndex": "5852", + "parentIndex": "5854", "start": "99877" } }, "returnParameters": { - "id": "5859", + "id": "5861", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5860", + "id": "5862", "nodeType": "VARIABLE_DECLARATION", - "scope": "5860", + "scope": "5862", "src": { "column": "74", "end": "99936", "length": "7", "line": "2720", - "parentIndex": "5859", + "parentIndex": "5861", "start": "99930" }, "stateMutability": "MUTABLE", @@ -116646,7 +116754,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5861", + "id": "5863", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -116654,7 +116762,7 @@ "end": "99936", "length": "7", "line": "2720", - "parentIndex": "5860", + "parentIndex": "5862", "start": "99930" }, "typeDescription": { @@ -116670,18 +116778,18 @@ "end": "99936", "length": "7", "line": "2720", - "parentIndex": "5852", + "parentIndex": "5854", "start": "99930" } }, - "scope": "5193", - "signature": "e1600719", + "scope": "5194", + "signature": "0bc86df4", "src": { "column": "4", "end": "100101", "length": "242", "line": "2720", - "parentIndex": "5193", + "parentIndex": "5194", "start": "99860" }, "stateMutability": "NONPAYABLE", @@ -116695,17 +116803,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5879", + "id": "5881", "isStateVariable": true, "name": "lastHarvest", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "100576", "length": "27", "line": "2737", - "parentIndex": "5193", + "parentIndex": "5194", "start": "100550" }, "stateMutability": "MUTABLE", @@ -116715,7 +116823,7 @@ "typeString": "uint128" }, "typeName": { - "id": "5880", + "id": "5882", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -116723,7 +116831,7 @@ "end": "100556", "length": "7", "line": "2737", - "parentIndex": "5879", + "parentIndex": "5881", "start": "100550" }, "typeDescription": { @@ -116737,17 +116845,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5882", + "id": "5884", "isStateVariable": true, "name": "maxLockedProfit", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "100702", "length": "31", "line": "2739", - "parentIndex": "5193", + "parentIndex": "5194", "start": "100672" }, "stateMutability": "MUTABLE", @@ -116757,7 +116865,7 @@ "typeString": "uint128" }, "typeName": { - "id": "5883", + "id": "5885", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -116765,7 +116873,7 @@ "end": "100678", "length": "7", "line": "2739", - "parentIndex": "5882", + "parentIndex": "5884", "start": "100672" }, "typeDescription": { @@ -116779,11 +116887,11 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "5885", + "id": "5887", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5887", + "id": "5889", "nodeType": "IDENTIFIER", "referencedDeclaration": "552", "src": { @@ -116791,7 +116899,7 @@ "end": "100852", "length": "8", "line": "2741", - "parentIndex": "5885", + "parentIndex": "5887", "start": "100845" }, "typeDescription": { @@ -116804,13 +116912,13 @@ "isStateVariable": true, "name": "LOCK_INTERVAL", "nodeType": "VARIABLE_DECLARATION", - "scope": "5193", + "scope": "5194", "src": { "column": "4", "end": "100853", "length": "49", "line": "2741", - "parentIndex": "5193", + "parentIndex": "5194", "start": "100805" }, "stateMutability": "MUTABLE", @@ -116820,7 +116928,7 @@ "typeString": "bool" }, "typeName": { - "id": "5886", + "id": "5888", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -116828,7 +116936,7 @@ "end": "100811", "length": "7", "line": "2741", - "parentIndex": "5885", + "parentIndex": "5887", "start": "100805" }, "typeDescription": { @@ -116842,25 +116950,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "5889", + "id": "5891", "name": "Harvest", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "5890", + "id": "5892", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5891", + "id": "5893", "indexed": true, "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "5891", + "scope": "5893", "src": { "column": "18", "end": "101095", "length": "20", "line": "2748", - "parentIndex": "5890", + "parentIndex": "5892", "start": "101076" }, "stateMutability": "NONPAYABLE", @@ -116870,7 +116978,7 @@ "typeString": "address" }, "typeName": { - "id": "5892", + "id": "5894", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -116878,7 +116986,7 @@ "end": "101082", "length": "7", "line": "2748", - "parentIndex": "5891", + "parentIndex": "5893", "start": "101076" }, "stateMutability": "NONPAYABLE", @@ -116890,16 +116998,16 @@ "visibility": "INTERNAL" }, { - "id": "5893", + "id": "5895", "name": "strategies", "nodeType": "VARIABLE_DECLARATION", - "scope": "5893", + "scope": "5895", "src": { "column": "40", "end": "101118", "length": "21", "line": "2748", - "parentIndex": "5890", + "parentIndex": "5892", "start": "101098" }, "stateMutability": "MUTABLE", @@ -116909,30 +117017,30 @@ "typeString": "function()" }, "typeName": { - "id": "5894", + "id": "5896", "name": "Strategy", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5895", + "id": "5897", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "40", "end": "101105", "length": "8", "line": "2748", - "parentIndex": "5894", + "parentIndex": "5896", "start": "101098" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "40", "end": "101105", "length": "8", "line": "2748", - "parentIndex": "5893", + "parentIndex": "5895", "start": "101098" }, "typeDescription": { @@ -116948,7 +117056,7 @@ "end": "101120", "length": "59", "line": "2748", - "parentIndex": "5889", + "parentIndex": "5891", "start": "101062" } }, @@ -116957,11 +117065,11 @@ "end": "101120", "length": "59", "line": "2748", - "parentIndex": "5193", + "parentIndex": "5194", "start": "101062" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_Harvest_\u00265889", + "typeIdentifier": "t_event\u0026_BaseVault_Harvest_\u00265891", "typeString": "event BaseVault.Harvest" } } @@ -116970,7 +117078,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "5906", + "id": "5908", "implemented": true, "nodeType": "BLOCK", "src": { @@ -116978,7 +117086,7 @@ "end": "103959", "length": "2536", "line": "2755", - "parentIndex": "5897", + "parentIndex": "5899", "start": "101424" }, "statements": [ @@ -116999,14 +117107,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5909", + "id": "5911", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5911", + "id": "5913", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -117014,7 +117122,7 @@ "end": "101486", "length": "5", "line": "2757", - "parentIndex": "5910", + "parentIndex": "5912", "start": "101482" }, "typeDescription": { @@ -117023,13 +117131,13 @@ } } }, - "id": "5910", + "id": "5912", "memberLocation": { "column": "22", "end": "101496", "length": "9", "line": "2757", - "parentIndex": "5910", + "parentIndex": "5912", "start": "101488" }, "memberName": "timestamp", @@ -117039,7 +117147,7 @@ "end": "101496", "length": "15", "line": "2757", - "parentIndex": "5909", + "parentIndex": "5911", "start": "101482" }, "typeDescription": { @@ -117053,20 +117161,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5912", + "id": "5914", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5913", + "id": "5915", "name": "lastHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5879", + "referencedDeclaration": "5881", "src": { "column": "35", "end": "101511", "length": "11", "line": "2757", - "parentIndex": "5912", + "parentIndex": "5914", "start": "101501" }, "typeDescription": { @@ -117080,16 +117188,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5914", + "id": "5916", "name": "LOCK_INTERVAL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5885", + "referencedDeclaration": "5887", "src": { "column": "49", "end": "101527", "length": "13", "line": "2757", - "parentIndex": "5912", + "parentIndex": "5914", "start": "101515" }, "typeDescription": { @@ -117103,7 +117211,7 @@ "end": "101527", "length": "27", "line": "2757", - "parentIndex": "5909", + "parentIndex": "5911", "start": "101501" }, "typeDescription": { @@ -117117,7 +117225,7 @@ "end": "101527", "length": "46", "line": "2757", - "parentIndex": "5907", + "parentIndex": "5909", "start": "101482" }, "typeDescription": { @@ -117136,7 +117244,7 @@ } ], "hexValue": "42563a2070726f66697420756e6c6f636b696e67", - "id": "5915", + "id": "5917", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -117145,7 +117253,7 @@ "end": "101551", "length": "22", "line": "2757", - "parentIndex": "5907", + "parentIndex": "5909", "start": "101530" }, "typeDescription": { @@ -117159,7 +117267,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5908", + "id": "5910", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -117168,7 +117276,7 @@ "end": "101480", "length": "7", "line": "2757", - "parentIndex": "5907", + "parentIndex": "5909", "start": "101474" }, "typeDescription": { @@ -117177,7 +117285,7 @@ } } }, - "id": "5907", + "id": "5909", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -117185,7 +117293,7 @@ "end": "101552", "length": "79", "line": "2757", - "parentIndex": "5906", + "parentIndex": "5908", "start": "101474" }, "typeDescription": { @@ -117198,11 +117306,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5917" + "5919" ], "declarations": [ { - "id": "5917", + "id": "5919", "mutability": "MUTABLE", "name": "oldTotalStrategyHoldings", "nameLocation": { @@ -117210,17 +117318,17 @@ "end": "101655", "length": "24", "line": "2760", - "parentIndex": "5917", + "parentIndex": "5919", "start": "101632" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5906", + "scope": "5908", "src": { "column": "8", "end": "101655", "length": "32", "line": "2760", - "parentIndex": "5916", + "parentIndex": "5918", "start": "101624" }, "storageLocation": "DEFAULT", @@ -117229,7 +117337,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5918", + "id": "5920", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -117237,7 +117345,7 @@ "end": "101630", "length": "7", "line": "2760", - "parentIndex": "5917", + "parentIndex": "5919", "start": "101624" }, "typeDescription": { @@ -117248,20 +117356,20 @@ "visibility": "INTERNAL" } ], - "id": "5916", + "id": "5918", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5919", + "id": "5921", "name": "totalStrategyHoldings", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5390", + "referencedDeclaration": "5391", "src": { "column": "43", "end": "101679", "length": "21", "line": "2760", - "parentIndex": "5916", + "parentIndex": "5918", "start": "101659" }, "typeDescription": { @@ -117276,7 +117384,7 @@ "end": "101680", "length": "57", "line": "2760", - "parentIndex": "5906", + "parentIndex": "5908", "start": "101624" } } @@ -117285,11 +117393,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5921" + "5923" ], "declarations": [ { - "id": "5921", + "id": "5923", "mutability": "MUTABLE", "name": "newTotalStrategyHoldings", "nameLocation": { @@ -117297,17 +117405,17 @@ "end": "101797", "length": "24", "line": "2763", - "parentIndex": "5921", + "parentIndex": "5923", "start": "101774" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5906", + "scope": "5908", "src": { "column": "8", "end": "101797", "length": "32", "line": "2763", - "parentIndex": "5920", + "parentIndex": "5922", "start": "101766" }, "storageLocation": "DEFAULT", @@ -117316,7 +117424,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5922", + "id": "5924", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -117324,7 +117432,7 @@ "end": "101772", "length": "7", "line": "2763", - "parentIndex": "5921", + "parentIndex": "5923", "start": "101766" }, "typeDescription": { @@ -117335,20 +117443,20 @@ "visibility": "INTERNAL" } ], - "id": "5920", + "id": "5922", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5923", + "id": "5925", "name": "oldTotalStrategyHoldings", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5916", + "referencedDeclaration": "5918", "src": { "column": "43", "end": "101824", "length": "24", "line": "2763", - "parentIndex": "5920", + "parentIndex": "5922", "start": "101801" }, "typeDescription": { @@ -117363,7 +117471,7 @@ "end": "101825", "length": "60", "line": "2763", - "parentIndex": "5906", + "parentIndex": "5908", "start": "101766" } } @@ -117372,11 +117480,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5925" + "5927" ], "declarations": [ { - "id": "5925", + "id": "5927", "mutability": "MUTABLE", "name": "totalProfitAccrued", "nameLocation": { @@ -117384,17 +117492,17 @@ "end": "101930", "length": "18", "line": "2766", - "parentIndex": "5925", + "parentIndex": "5927", "start": "101913" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5906", + "scope": "5908", "src": { "column": "8", "end": "101930", "length": "26", "line": "2766", - "parentIndex": "5924", + "parentIndex": "5926", "start": "101905" }, "storageLocation": "DEFAULT", @@ -117403,7 +117511,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5926", + "id": "5928", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -117411,7 +117519,7 @@ "end": "101911", "length": "7", "line": "2766", - "parentIndex": "5925", + "parentIndex": "5927", "start": "101905" }, "typeDescription": { @@ -117422,14 +117530,14 @@ "visibility": "INTERNAL" } ], - "id": "5924", + "id": "5926", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "101931", "length": "27", "line": "2766", - "parentIndex": "5906", + "parentIndex": "5908", "start": "101905" } } @@ -117438,7 +117546,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "5941", + "id": "5943", "implemented": true, "nodeType": "BLOCK", "src": { @@ -117446,7 +117554,7 @@ "end": "103471", "length": "1391", "line": "2769", - "parentIndex": "5927", + "parentIndex": "5929", "start": "102081" }, "statements": [ @@ -117454,11 +117562,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5943" + "5945" ], "declarations": [ { - "id": "5943", + "id": "5945", "mutability": "MUTABLE", "name": "strategy", "nameLocation": { @@ -117466,17 +117574,17 @@ "end": "102165", "length": "8", "line": "2771", - "parentIndex": "5943", + "parentIndex": "5945", "start": "102158" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5941", + "scope": "5943", "src": { "column": "12", "end": "102165", "length": "17", "line": "2771", - "parentIndex": "5942", + "parentIndex": "5944", "start": "102149" }, "storageLocation": "DEFAULT", @@ -117485,37 +117593,37 @@ "typeString": "function()" }, "typeName": { - "id": "5944", + "id": "5946", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5945", + "id": "5947", "name": "Strategy", "nameLocation": { "column": "12", "end": "102156", "length": "8", "line": "2771", - "parentIndex": "5944", + "parentIndex": "5946", "start": "102149" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "102156", "length": "8", "line": "2771", - "parentIndex": "5944", + "parentIndex": "5946", "start": "102149" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "102156", "length": "8", "line": "2771", - "parentIndex": "5943", + "parentIndex": "5945", "start": "102149" }, "typeDescription": { @@ -117526,14 +117634,14 @@ "visibility": "INTERNAL" } ], - "id": "5942", + "id": "5944", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5948", + "id": "5950", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -117542,7 +117650,7 @@ "end": "102182", "length": "1", "line": "2771", - "parentIndex": "5946", + "parentIndex": "5948", "start": "102182" }, "typeDescription": { @@ -117551,20 +117659,20 @@ } } }, - "id": "5946", + "id": "5948", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5947", + "id": "5949", "name": "strategyList", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "32", "end": "102180", "length": "12", "line": "2771", - "parentIndex": "5946", + "parentIndex": "5948", "start": "102169" }, "typeDescription": { @@ -117579,7 +117687,7 @@ "end": "102183", "length": "15", "line": "2771", - "parentIndex": "5942", + "parentIndex": "5944", "start": "102169" }, "typeDescription": { @@ -117604,7 +117712,7 @@ "end": "102184", "length": "36", "line": "2771", - "parentIndex": "5941", + "parentIndex": "5943", "start": "102149" } } @@ -117613,7 +117721,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "5955", + "id": "5957", "implemented": true, "nodeType": "BLOCK", "src": { @@ -117621,20 +117729,20 @@ "end": "102327", "length": "41", "line": "2774", - "parentIndex": "5927", + "parentIndex": "5929", "start": "102287" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Continue", "value": { - "id": "5956", + "id": "5958", "nodeType": "CONTINUE", "src": { "end": "102313", "length": "9", "line": "2775", - "parentIndex": "5955", + "parentIndex": "5957", "start": "102305" } } @@ -117653,16 +117761,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5954", + "id": "5956", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5942", + "referencedDeclaration": "5944", "src": { "column": "28", "end": "102274", "length": "8", "line": "2774", - "parentIndex": "5952", + "parentIndex": "5954", "start": "102267" }, "typeDescription": { @@ -117671,24 +117779,24 @@ } } }, - "id": "5952", + "id": "5954", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5953", + "id": "5955", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "17", "end": "102265", "length": "10", "line": "2774", - "parentIndex": "5952", + "parentIndex": "5954", "start": "102256" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -117699,16 +117807,16 @@ "end": "102275", "length": "20", "line": "2774", - "parentIndex": "5951", + "parentIndex": "5953", "start": "102256" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -117718,13 +117826,13 @@ ] } }, - "id": "5951", + "id": "5953", "memberLocation": { "column": "38", "end": "102284", "length": "8", "line": "2774", - "parentIndex": "5951", + "parentIndex": "5953", "start": "102277" }, "memberName": "isActive", @@ -117734,16 +117842,16 @@ "end": "102284", "length": "29", "line": "2774", - "parentIndex": "5950", + "parentIndex": "5952", "start": "102256" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } }, - "id": "5950", + "id": "5952", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -117752,22 +117860,22 @@ "end": "102284", "length": "30", "line": "2774", - "parentIndex": "5927", + "parentIndex": "5929", "start": "102255" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } }, - "id": "5949", + "id": "5951", "nodeType": "IF_STATEMENT", "src": { "end": "102327", "length": "77", "line": "2774", - "parentIndex": "5941", + "parentIndex": "5943", "start": "102251" } } @@ -117776,11 +117884,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5958" + "5960" ], "declarations": [ { - "id": "5958", + "id": "5960", "mutability": "MUTABLE", "name": "balanceLastHarvest", "nameLocation": { @@ -117788,17 +117896,17 @@ "end": "102431", "length": "18", "line": "2779", - "parentIndex": "5958", + "parentIndex": "5960", "start": "102414" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5941", + "scope": "5943", "src": { "column": "12", "end": "102431", "length": "26", "line": "2779", - "parentIndex": "5957", + "parentIndex": "5959", "start": "102406" }, "storageLocation": "DEFAULT", @@ -117807,7 +117915,7 @@ "typeString": "uint232" }, "typeName": { - "id": "5959", + "id": "5961", "name": "uint232", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -117815,7 +117923,7 @@ "end": "102412", "length": "7", "line": "2779", - "parentIndex": "5958", + "parentIndex": "5960", "start": "102406" }, "typeDescription": { @@ -117826,7 +117934,7 @@ "visibility": "INTERNAL" } ], - "id": "5957", + "id": "5959", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -117836,16 +117944,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5963", + "id": "5965", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5942", + "referencedDeclaration": "5944", "src": { "column": "52", "end": "102453", "length": "8", "line": "2779", - "parentIndex": "5961", + "parentIndex": "5963", "start": "102446" }, "typeDescription": { @@ -117854,24 +117962,24 @@ } } }, - "id": "5961", + "id": "5963", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5962", + "id": "5964", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "41", "end": "102444", "length": "10", "line": "2779", - "parentIndex": "5961", + "parentIndex": "5963", "start": "102435" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -117882,16 +117990,16 @@ "end": "102454", "length": "20", "line": "2779", - "parentIndex": "5957", + "parentIndex": "5959", "start": "102435" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -117901,13 +118009,13 @@ ] } }, - "id": "5960", + "id": "5962", "memberLocation": { "column": "62", "end": "102462", "length": "7", "line": "2779", - "parentIndex": "5960", + "parentIndex": "5962", "start": "102456" }, "memberName": "balance", @@ -117917,11 +118025,11 @@ "end": "102462", "length": "28", "line": "2779", - "parentIndex": "5957", + "parentIndex": "5959", "start": "102435" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -117932,7 +118040,7 @@ "end": "102463", "length": "58", "line": "2779", - "parentIndex": "5941", + "parentIndex": "5943", "start": "102406" } } @@ -117941,11 +118049,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5965" + "5967" ], "declarations": [ { - "id": "5965", + "id": "5967", "mutability": "MUTABLE", "name": "balanceThisHarvest", "nameLocation": { @@ -117953,17 +118061,17 @@ "end": "102502", "length": "18", "line": "2780", - "parentIndex": "5965", + "parentIndex": "5967", "start": "102485" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5941", + "scope": "5943", "src": { "column": "12", "end": "102502", "length": "26", "line": "2780", - "parentIndex": "5964", + "parentIndex": "5966", "start": "102477" }, "storageLocation": "DEFAULT", @@ -117972,7 +118080,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5966", + "id": "5968", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -117980,7 +118088,7 @@ "end": "102483", "length": "7", "line": "2780", - "parentIndex": "5965", + "parentIndex": "5967", "start": "102477" }, "typeDescription": { @@ -117991,7 +118099,7 @@ "visibility": "INTERNAL" } ], - "id": "5964", + "id": "5966", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -118001,16 +118109,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5969", + "id": "5971", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5942", + "referencedDeclaration": "5944", "src": { "column": "41", "end": "102513", "length": "8", "line": "2780", - "parentIndex": "5968", + "parentIndex": "5970", "start": "102506" }, "typeDescription": { @@ -118019,13 +118127,13 @@ } } }, - "id": "5968", + "id": "5970", "memberLocation": { "column": "50", "end": "102530", "length": "16", "line": "2780", - "parentIndex": "5968", + "parentIndex": "5970", "start": "102515" }, "memberName": "totalLockedValue", @@ -118035,7 +118143,7 @@ "end": "102530", "length": "25", "line": "2780", - "parentIndex": "5967", + "parentIndex": "5969", "start": "102506" }, "typeDescription": { @@ -118044,7 +118152,7 @@ } } }, - "id": "5967", + "id": "5969", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -118052,7 +118160,7 @@ "end": "102532", "length": "27", "line": "2780", - "parentIndex": "5964", + "parentIndex": "5966", "start": "102506" }, "typeDescription": { @@ -118067,7 +118175,7 @@ "end": "102533", "length": "57", "line": "2780", - "parentIndex": "5941", + "parentIndex": "5943", "start": "102477" } } @@ -118078,7 +118186,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5971", + "id": "5973", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -118088,16 +118196,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5975", + "id": "5977", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5942", + "referencedDeclaration": "5944", "src": { "column": "23", "end": "102619", "length": "8", "line": "2783", - "parentIndex": "5973", + "parentIndex": "5975", "start": "102612" }, "typeDescription": { @@ -118106,24 +118214,24 @@ } } }, - "id": "5973", + "id": "5975", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5974", + "id": "5976", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "12", "end": "102610", "length": "10", "line": "2783", - "parentIndex": "5973", + "parentIndex": "5975", "start": "102601" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -118134,16 +118242,16 @@ "end": "102620", "length": "20", "line": "2783", - "parentIndex": "5972", + "parentIndex": "5974", "start": "102601" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -118153,13 +118261,13 @@ ] } }, - "id": "5972", + "id": "5974", "memberLocation": { "column": "33", "end": "102628", "length": "7", "line": "2783", - "parentIndex": "5972", + "parentIndex": "5974", "start": "102622" }, "memberName": "balance", @@ -118169,11 +118277,11 @@ "end": "102628", "length": "28", "line": "2783", - "parentIndex": "5971", + "parentIndex": "5973", "start": "102601" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -118193,16 +118301,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5979", + "id": "5981", "name": "balanceThisHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5964", + "referencedDeclaration": "5966", "src": { "column": "51", "end": "102657", "length": "18", "line": "2783", - "parentIndex": "5976", + "parentIndex": "5978", "start": "102640" }, "typeDescription": { @@ -118221,7 +118329,7 @@ "typeString": "uint232" } ], - "id": "5977", + "id": "5979", "name": "uint232", "nodeType": "IDENTIFIER", "src": { @@ -118229,7 +118337,7 @@ "end": "102638", "length": "7", "line": "2783", - "parentIndex": "5976", + "parentIndex": "5978", "start": "102632" }, "typeDescription": { @@ -118237,7 +118345,7 @@ "typeString": "function(uint232)" }, "typeName": { - "id": "5978", + "id": "5980", "name": "uint232", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -118245,7 +118353,7 @@ "end": "102638", "length": "7", "line": "2783", - "parentIndex": "5977", + "parentIndex": "5979", "start": "102632" }, "typeDescription": { @@ -118255,7 +118363,7 @@ } } }, - "id": "5976", + "id": "5978", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -118263,7 +118371,7 @@ "end": "102658", "length": "27", "line": "2783", - "parentIndex": "5971", + "parentIndex": "5973", "start": "102632" }, "typeDescription": { @@ -118277,27 +118385,27 @@ "end": "102658", "length": "58", "line": "2783", - "parentIndex": "5970", + "parentIndex": "5972", "start": "102601" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } }, - "id": "5970", + "id": "5972", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "102659", "length": "59", "line": "2783", - "parentIndex": "5941", + "parentIndex": "5943", "start": "102601" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -118308,20 +118416,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5981", + "id": "5983", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5982", + "id": "5984", "name": "newTotalStrategyHoldings", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5920", + "referencedDeclaration": "5922", "src": { "column": "12", "end": "102903", "length": "24", "line": "2787", - "parentIndex": "5981", + "parentIndex": "5983", "start": "102880" }, "typeDescription": { @@ -118335,24 +118443,24 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5983", + "id": "5985", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5984", + "id": "5986", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5985", + "id": "5987", "name": "newTotalStrategyHoldings", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5920", + "referencedDeclaration": "5922", "src": { "column": "39", "end": "102930", "length": "24", "line": "2787", - "parentIndex": "5984", + "parentIndex": "5986", "start": "102907" }, "typeDescription": { @@ -118366,16 +118474,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5986", + "id": "5988", "name": "balanceThisHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5964", + "referencedDeclaration": "5966", "src": { "column": "66", "end": "102951", "length": "18", "line": "2787", - "parentIndex": "5984", + "parentIndex": "5986", "start": "102934" }, "typeDescription": { @@ -118389,7 +118497,7 @@ "end": "102951", "length": "45", "line": "2787", - "parentIndex": "5983", + "parentIndex": "5985", "start": "102907" }, "typeDescription": { @@ -118403,16 +118511,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5987", + "id": "5989", "name": "balanceLastHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5957", + "referencedDeclaration": "5959", "src": { "column": "87", "end": "102972", "length": "18", "line": "2787", - "parentIndex": "5983", + "parentIndex": "5985", "start": "102955" }, "typeDescription": { @@ -118426,7 +118534,7 @@ "end": "102972", "length": "66", "line": "2787", - "parentIndex": "5981", + "parentIndex": "5983", "start": "102907" }, "typeDescription": { @@ -118440,7 +118548,7 @@ "end": "102972", "length": "93", "line": "2787", - "parentIndex": "5980", + "parentIndex": "5982", "start": "102880" }, "typeDescription": { @@ -118449,14 +118557,14 @@ } } }, - "id": "5980", + "id": "5982", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "102973", "length": "94", "line": "2787", - "parentIndex": "5941", + "parentIndex": "5943", "start": "102880" }, "typeDescription": { @@ -118468,14 +118576,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "5988", + "id": "5990", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "12", "end": "103461", "length": "474", "line": "2789", - "parentIndex": "5193", + "parentIndex": "5194", "start": "102988" }, "statements": [ @@ -118485,20 +118593,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5990", + "id": "5992", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5991", + "id": "5993", "name": "totalProfitAccrued", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5924", + "referencedDeclaration": "5926", "src": { "column": "16", "end": "103215", "length": "18", "line": "2792", - "parentIndex": "5990", + "parentIndex": "5992", "start": "103198" }, "typeDescription": { @@ -118516,20 +118624,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5994", + "id": "5996", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5995", + "id": "5997", "name": "balanceThisHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5964", + "referencedDeclaration": "5966", "src": { "column": "38", "end": "103237", "length": "18", "line": "2792", - "parentIndex": "5994", + "parentIndex": "5996", "start": "103220" }, "typeDescription": { @@ -118543,16 +118651,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5996", + "id": "5998", "name": "balanceLastHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5957", + "referencedDeclaration": "5959", "src": { "column": "59", "end": "103258", "length": "18", "line": "2792", - "parentIndex": "5994", + "parentIndex": "5996", "start": "103241" }, "typeDescription": { @@ -118566,7 +118674,7 @@ "end": "103258", "length": "39", "line": "2792", - "parentIndex": "5993", + "parentIndex": "5995", "start": "103220" }, "typeDescription": { @@ -118578,20 +118686,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5997", + "id": "5999", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5998", + "id": "6000", "name": "balanceThisHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5964", + "referencedDeclaration": "5966", "src": { "column": "22", "end": "103299", "length": "18", "line": "2793", - "parentIndex": "5997", + "parentIndex": "5999", "start": "103282" }, "typeDescription": { @@ -118605,16 +118713,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5999", + "id": "6001", "name": "balanceLastHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5957", + "referencedDeclaration": "5959", "src": { "column": "43", "end": "103320", "length": "18", "line": "2793", - "parentIndex": "5997", + "parentIndex": "5999", "start": "103303" }, "typeDescription": { @@ -118628,7 +118736,7 @@ "end": "103320", "length": "39", "line": "2793", - "parentIndex": "5993", + "parentIndex": "5995", "start": "103282" }, "typeDescription": { @@ -118641,7 +118749,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "6000", + "id": "6002", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -118650,7 +118758,7 @@ "end": "103375", "length": "1", "line": "2794", - "parentIndex": "5993", + "parentIndex": "5995", "start": "103375" }, "typeDescription": { @@ -118661,14 +118769,14 @@ } } ], - "id": "5993", + "id": "5995", "nodeType": "CONDITIONAL_EXPRESSION", "src": { "column": "38", "end": "103375", "length": "156", "line": "2792", - "parentIndex": "5990", + "parentIndex": "5992", "start": "103220" }, "typeDescriptions": [ @@ -118692,7 +118800,7 @@ "end": "103375", "length": "178", "line": "2792", - "parentIndex": "5989", + "parentIndex": "5991", "start": "103198" }, "typeDescription": { @@ -118701,14 +118809,14 @@ } } }, - "id": "5989", + "id": "5991", "nodeType": "ASSIGNMENT", "src": { "column": "16", "end": "103376", "length": "179", "line": "2792", - "parentIndex": "5988", + "parentIndex": "5990", "start": "103198" }, "typeDescription": { @@ -118725,11 +118833,11 @@ "closure": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "5936", + "id": "5938", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5937", + "id": "5939", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -118738,7 +118846,7 @@ "end": "102060", "length": "1", "line": "2769", - "parentIndex": "5936", + "parentIndex": "5938", "start": "102060" }, "typeDescription": { @@ -118762,7 +118870,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5940", + "id": "5942", "name": "i", "nodeType": "IDENTIFIER", "src": { @@ -118770,7 +118878,7 @@ "end": "102077", "length": "1", "line": "2769", - "parentIndex": "5938", + "parentIndex": "5940", "start": "102077" }, "typeDescription": { @@ -118783,7 +118891,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5939", + "id": "5941", "name": "uncheckedInc", "nodeType": "IDENTIFIER", "src": { @@ -118791,7 +118899,7 @@ "end": "102075", "length": "12", "line": "2769", - "parentIndex": "5938", + "parentIndex": "5940", "start": "102064" }, "typeDescription": { @@ -118800,7 +118908,7 @@ } } }, - "id": "5938", + "id": "5940", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -118808,7 +118916,7 @@ "end": "102078", "length": "15", "line": "2769", - "parentIndex": "5936", + "parentIndex": "5938", "start": "102064" }, "typeDescription": { @@ -118822,7 +118930,7 @@ "end": "102078", "length": "19", "line": "2769", - "parentIndex": "5927", + "parentIndex": "5929", "start": "102060" }, "typeDescription": { @@ -118834,11 +118942,11 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "5932", + "id": "5934", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5933", + "id": "5935", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -118847,7 +118955,7 @@ "end": "102035", "length": "1", "line": "2769", - "parentIndex": "5932", + "parentIndex": "5934", "start": "102035" }, "typeDescription": { @@ -118864,16 +118972,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5935", + "id": "5937", "name": "strategyList", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5935", + "referencedDeclaration": "5937", "src": { "column": "32", "end": "102050", "length": "12", "line": "2769", - "parentIndex": "5934", + "parentIndex": "5936", "start": "102039" }, "typeDescription": { @@ -118882,13 +118990,13 @@ } } }, - "id": "5934", + "id": "5936", "memberLocation": { "column": "45", "end": "102057", "length": "6", "line": "2769", - "parentIndex": "5934", + "parentIndex": "5936", "start": "102052" }, "memberName": "length", @@ -118898,7 +119006,7 @@ "end": "102057", "length": "19", "line": "2769", - "parentIndex": "5932", + "parentIndex": "5934", "start": "102039" }, "typeDescription": { @@ -118912,7 +119020,7 @@ "end": "102057", "length": "23", "line": "2769", - "parentIndex": "5927", + "parentIndex": "5929", "start": "102035" }, "typeDescription": { @@ -118921,16 +119029,16 @@ } } }, - "id": "5927", + "id": "5929", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "5929" + "5931" ], "declarations": [ { - "id": "5929", + "id": "5931", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -118938,17 +119046,17 @@ "end": "102028", "length": "1", "line": "2769", - "parentIndex": "5929", + "parentIndex": "5931", "start": "102028" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "5906", + "scope": "5908", "src": { "column": "13", "end": "102028", "length": "9", "line": "2769", - "parentIndex": "5928", + "parentIndex": "5930", "start": "102020" }, "storageLocation": "DEFAULT", @@ -118957,7 +119065,7 @@ "typeString": "uint256" }, "typeName": { - "id": "5930", + "id": "5932", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -118965,7 +119073,7 @@ "end": "102026", "length": "7", "line": "2769", - "parentIndex": "5929", + "parentIndex": "5931", "start": "102020" }, "typeDescription": { @@ -118976,12 +119084,12 @@ "visibility": "INTERNAL" } ], - "id": "5928", + "id": "5930", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "5931", + "id": "5933", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -118990,7 +119098,7 @@ "end": "102032", "length": "1", "line": "2769", - "parentIndex": "5928", + "parentIndex": "5930", "start": "102032" }, "typeDescription": { @@ -119006,7 +119114,7 @@ "end": "102033", "length": "14", "line": "2769", - "parentIndex": "5906", + "parentIndex": "5908", "start": "102020" } } @@ -119016,7 +119124,7 @@ "end": "103471", "length": "1457", "line": "2769", - "parentIndex": "5906", + "parentIndex": "5908", "start": "102015" } } @@ -119027,20 +119135,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6002", + "id": "6004", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6003", + "id": "6005", "name": "maxLockedProfit", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5882", + "referencedDeclaration": "5884", "src": { "column": "8", "end": "103588", "length": "15", "line": "2799", - "parentIndex": "6002", + "parentIndex": "6004", "start": "103574" }, "typeDescription": { @@ -119064,14 +119172,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6007", + "id": "6009", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6009", + "id": "6011", "name": "lockedProfit", "nodeType": "IDENTIFIER", "src": { @@ -119079,7 +119187,7 @@ "end": "103611", "length": "12", "line": "2799", - "parentIndex": "6008", + "parentIndex": "6010", "start": "103600" }, "typeDescription": { @@ -119088,7 +119196,7 @@ } } }, - "id": "6008", + "id": "6010", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -119096,7 +119204,7 @@ "end": "103613", "length": "14", "line": "2799", - "parentIndex": "6007", + "parentIndex": "6009", "start": "103600" }, "typeDescription": { @@ -119110,16 +119218,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6010", + "id": "6012", "name": "totalProfitAccrued", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5924", + "referencedDeclaration": "5926", "src": { "column": "51", "end": "103634", "length": "18", "line": "2799", - "parentIndex": "6007", + "parentIndex": "6009", "start": "103617" }, "typeDescription": { @@ -119133,7 +119241,7 @@ "end": "103634", "length": "35", "line": "2799", - "parentIndex": "6004", + "parentIndex": "6006", "start": "103600" }, "typeDescription": { @@ -119152,7 +119260,7 @@ "typeString": "uint128" } ], - "id": "6005", + "id": "6007", "name": "uint128", "nodeType": "IDENTIFIER", "src": { @@ -119160,7 +119268,7 @@ "end": "103598", "length": "7", "line": "2799", - "parentIndex": "6004", + "parentIndex": "6006", "start": "103592" }, "typeDescription": { @@ -119168,7 +119276,7 @@ "typeString": "function(uint128)" }, "typeName": { - "id": "6006", + "id": "6008", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -119176,7 +119284,7 @@ "end": "103598", "length": "7", "line": "2799", - "parentIndex": "6005", + "parentIndex": "6007", "start": "103592" }, "typeDescription": { @@ -119186,7 +119294,7 @@ } } }, - "id": "6004", + "id": "6006", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -119194,7 +119302,7 @@ "end": "103635", "length": "44", "line": "2799", - "parentIndex": "6002", + "parentIndex": "6004", "start": "103592" }, "typeDescription": { @@ -119208,7 +119316,7 @@ "end": "103635", "length": "62", "line": "2799", - "parentIndex": "6001", + "parentIndex": "6003", "start": "103574" }, "typeDescription": { @@ -119217,14 +119325,14 @@ } } }, - "id": "6001", + "id": "6003", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "103636", "length": "63", "line": "2799", - "parentIndex": "5906", + "parentIndex": "5908", "start": "103574" }, "typeDescription": { @@ -119239,20 +119347,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6012", + "id": "6014", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6013", + "id": "6015", "name": "totalStrategyHoldings", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5390", + "referencedDeclaration": "5391", "src": { "column": "8", "end": "103718", "length": "21", "line": "2802", - "parentIndex": "6012", + "parentIndex": "6014", "start": "103698" }, "typeDescription": { @@ -119266,16 +119374,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6014", + "id": "6016", "name": "newTotalStrategyHoldings", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5920", + "referencedDeclaration": "5922", "src": { "column": "32", "end": "103745", "length": "24", "line": "2802", - "parentIndex": "6012", + "parentIndex": "6014", "start": "103722" }, "typeDescription": { @@ -119289,7 +119397,7 @@ "end": "103745", "length": "48", "line": "2802", - "parentIndex": "6011", + "parentIndex": "6013", "start": "103698" }, "typeDescription": { @@ -119298,14 +119406,14 @@ } } }, - "id": "6011", + "id": "6013", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "103746", "length": "49", "line": "2802", - "parentIndex": "5906", + "parentIndex": "5908", "start": "103698" }, "typeDescription": { @@ -119320,7 +119428,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6016", + "id": "6018", "name": "_assessFees", "nodeType": "IDENTIFIER", "src": { @@ -119328,7 +119436,7 @@ "end": "103853", "length": "11", "line": "2805", - "parentIndex": "6015", + "parentIndex": "6017", "start": "103843" }, "typeDescription": { @@ -119337,7 +119445,7 @@ } } }, - "id": "6015", + "id": "6017", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -119345,7 +119453,7 @@ "end": "103855", "length": "13", "line": "2805", - "parentIndex": "5906", + "parentIndex": "5908", "start": "103843" }, "typeDescription": { @@ -119360,20 +119468,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6018", + "id": "6020", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6019", + "id": "6021", "name": "lastHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5879", + "referencedDeclaration": "5881", "src": { "column": "8", "end": "103876", "length": "11", "line": "2806", - "parentIndex": "6018", + "parentIndex": "6020", "start": "103866" }, "typeDescription": { @@ -119400,7 +119508,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6024", + "id": "6026", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -119408,7 +119516,7 @@ "end": "103892", "length": "5", "line": "2806", - "parentIndex": "6023", + "parentIndex": "6025", "start": "103888" }, "typeDescription": { @@ -119417,13 +119525,13 @@ } } }, - "id": "6023", + "id": "6025", "memberLocation": { "column": "36", "end": "103902", "length": "9", "line": "2806", - "parentIndex": "6023", + "parentIndex": "6025", "start": "103894" }, "memberName": "timestamp", @@ -119433,7 +119541,7 @@ "end": "103902", "length": "15", "line": "2806", - "parentIndex": "6020", + "parentIndex": "6022", "start": "103888" }, "typeDescription": { @@ -119452,7 +119560,7 @@ "typeString": "uint128" } ], - "id": "6021", + "id": "6023", "name": "uint128", "nodeType": "IDENTIFIER", "src": { @@ -119460,7 +119568,7 @@ "end": "103886", "length": "7", "line": "2806", - "parentIndex": "6020", + "parentIndex": "6022", "start": "103880" }, "typeDescription": { @@ -119468,7 +119576,7 @@ "typeString": "function(uint128)" }, "typeName": { - "id": "6022", + "id": "6024", "name": "uint128", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -119476,7 +119584,7 @@ "end": "103886", "length": "7", "line": "2806", - "parentIndex": "6021", + "parentIndex": "6023", "start": "103880" }, "typeDescription": { @@ -119486,7 +119594,7 @@ } } }, - "id": "6020", + "id": "6022", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -119494,7 +119602,7 @@ "end": "103903", "length": "24", "line": "2806", - "parentIndex": "6018", + "parentIndex": "6020", "start": "103880" }, "typeDescription": { @@ -119508,7 +119616,7 @@ "end": "103903", "length": "38", "line": "2806", - "parentIndex": "6017", + "parentIndex": "6019", "start": "103866" }, "typeDescription": { @@ -119517,14 +119625,14 @@ } } }, - "id": "6017", + "id": "6019", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "103904", "length": "39", "line": "2806", - "parentIndex": "5906", + "parentIndex": "5908", "start": "103866" }, "typeDescription": { @@ -119543,7 +119651,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6027", + "id": "6029", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -119551,7 +119659,7 @@ "end": "103930", "length": "3", "line": "2808", - "parentIndex": "6026", + "parentIndex": "6028", "start": "103928" }, "typeDescription": { @@ -119560,13 +119668,13 @@ } } }, - "id": "6026", + "id": "6028", "memberLocation": { "column": "25", "end": "103937", "length": "6", "line": "2808", - "parentIndex": "6026", + "parentIndex": "6028", "start": "103932" }, "memberName": "sender", @@ -119576,7 +119684,7 @@ "end": "103937", "length": "10", "line": "2808", - "parentIndex": "6025", + "parentIndex": "6027", "start": "103928" }, "typeDescription": { @@ -119588,16 +119696,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6028", + "id": "6030", "name": "strategyList", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6028", + "referencedDeclaration": "6030", "src": { "column": "33", "end": "103951", "length": "12", "line": "2808", - "parentIndex": "6025", + "parentIndex": "6027", "start": "103940" }, "typeDescription": { @@ -119610,39 +119718,39 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6029", + "id": "6031", "name": "Harvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5889", + "referencedDeclaration": "5891", "src": { "column": "13", "end": "103926", "length": "7", "line": "2808", - "parentIndex": "6025", + "parentIndex": "6027", "start": "103920" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_Harvest_\u00265889", + "typeIdentifier": "t_event\u0026_BaseVault_Harvest_\u00265891", "typeString": "event BaseVault.Harvest" } } }, - "id": "6025", + "id": "6027", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "103953", "length": "39", "line": "2808", - "parentIndex": "5897", + "parentIndex": "5899", "start": "103915" } } } ] }, - "id": "5897", + "id": "5899", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -119657,16 +119765,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "5904", + "id": "5906", "name": "HARVESTER", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5323", + "referencedDeclaration": "5324", "src": { "column": "73", "end": "101421", "length": "9", "line": "2755", - "parentIndex": "5902", + "parentIndex": "5904", "start": "101413" }, "typeDescription": { @@ -119676,17 +119784,17 @@ } } ], - "id": "5902", + "id": "5904", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "5903", + "id": "5905", "name": "onlyRole", "src": { "column": "64", "end": "101411", "length": "8", "line": "2755", - "parentIndex": "5902", + "parentIndex": "5904", "start": "101404" } }, @@ -119697,7 +119805,7 @@ "end": "101422", "length": "19", "line": "2755", - "parentIndex": "5897", + "parentIndex": "5899", "start": "101404" } } @@ -119708,25 +119816,25 @@ "end": "101359", "length": "7", "line": "2755", - "parentIndex": "5897", + "parentIndex": "5899", "start": "101353" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "5898", + "id": "5900", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "5899", + "id": "5901", "name": "strategyList", "nodeType": "VARIABLE_DECLARATION", - "scope": "5899", + "scope": "5901", "src": { "column": "21", "end": "101392", "length": "32", "line": "2755", - "parentIndex": "5898", + "parentIndex": "5900", "start": "101361" }, "stateMutability": "MUTABLE", @@ -119736,30 +119844,30 @@ "typeString": "function()" }, "typeName": { - "id": "5900", + "id": "5902", "name": "Strategy", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "5901", + "id": "5903", "name": "Strategy", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "21", "end": "101368", "length": "8", "line": "2755", - "parentIndex": "5900", + "parentIndex": "5902", "start": "101361" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "21", "end": "101368", "length": "8", "line": "2755", - "parentIndex": "5899", + "parentIndex": "5901", "start": "101361" }, "typeDescription": { @@ -119775,30 +119883,30 @@ "end": "101392", "length": "32", "line": "2755", - "parentIndex": "5897", + "parentIndex": "5899", "start": "101361" } }, "returnParameters": { - "id": "5905", + "id": "5907", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "103959", "length": "2616", "line": "2755", - "parentIndex": "5897", + "parentIndex": "5899", "start": "101344" } }, - "scope": "5193", + "scope": "5194", "signature": "d1f29967", "src": { "column": "4", "end": "103959", "length": "2616", "line": "2755", - "parentIndex": "5193", + "parentIndex": "5194", "start": "101344" }, "stateMutability": "NONPAYABLE", @@ -119813,7 +119921,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6038", + "id": "6040", "implemented": true, "nodeType": "BLOCK", "src": { @@ -119821,7 +119929,7 @@ "end": "104430", "length": "253", "line": "2815", - "parentIndex": "6031", + "parentIndex": "6033", "start": "104178" }, "statements": [ @@ -119829,7 +119937,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "6046", + "id": "6048", "implemented": true, "nodeType": "BLOCK", "src": { @@ -119837,7 +119945,7 @@ "end": "104272", "length": "33", "line": "2816", - "parentIndex": "6031", + "parentIndex": "6033", "start": "104240" }, "statements": [ @@ -119848,7 +119956,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "6048", + "id": "6050", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -119857,7 +119965,7 @@ "end": "104261", "length": "1", "line": "2817", - "parentIndex": "6047", + "parentIndex": "6049", "start": "104261" }, "typeDescription": { @@ -119867,15 +119975,15 @@ "value": "0" } }, - "functionReturnParameters": "6031", - "id": "6047", + "functionReturnParameters": "6033", + "id": "6049", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", "end": "104262", "length": "9", "line": "2817", - "parentIndex": "6031", + "parentIndex": "6033", "start": "104254" }, "typeDescription": { @@ -119889,14 +119997,14 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6040", + "id": "6042", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6042", + "id": "6044", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -119904,7 +120012,7 @@ "end": "104196", "length": "5", "line": "2816", - "parentIndex": "6041", + "parentIndex": "6043", "start": "104192" }, "typeDescription": { @@ -119913,13 +120021,13 @@ } } }, - "id": "6041", + "id": "6043", "memberLocation": { "column": "18", "end": "104206", "length": "9", "line": "2816", - "parentIndex": "6041", + "parentIndex": "6043", "start": "104198" }, "memberName": "timestamp", @@ -119929,7 +120037,7 @@ "end": "104206", "length": "15", "line": "2816", - "parentIndex": "6040", + "parentIndex": "6042", "start": "104192" }, "typeDescription": { @@ -119943,20 +120051,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6043", + "id": "6045", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6044", + "id": "6046", "name": "lastHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5879", + "referencedDeclaration": "5881", "src": { "column": "31", "end": "104221", "length": "11", "line": "2816", - "parentIndex": "6043", + "parentIndex": "6045", "start": "104211" }, "typeDescription": { @@ -119970,16 +120078,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6045", + "id": "6047", "name": "LOCK_INTERVAL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5885", + "referencedDeclaration": "5887", "src": { "column": "45", "end": "104237", "length": "13", "line": "2816", - "parentIndex": "6043", + "parentIndex": "6045", "start": "104225" }, "typeDescription": { @@ -119993,7 +120101,7 @@ "end": "104237", "length": "27", "line": "2816", - "parentIndex": "6040", + "parentIndex": "6042", "start": "104211" }, "typeDescription": { @@ -120007,7 +120115,7 @@ "end": "104237", "length": "46", "line": "2816", - "parentIndex": "6039", + "parentIndex": "6041", "start": "104192" }, "typeDescription": { @@ -120016,13 +120124,13 @@ } } }, - "id": "6039", + "id": "6041", "nodeType": "IF_STATEMENT", "src": { "end": "104272", "length": "85", "line": "2816", - "parentIndex": "6038", + "parentIndex": "6040", "start": "104188" } } @@ -120031,11 +120139,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6050" + "6052" ], "declarations": [ { - "id": "6050", + "id": "6052", "mutability": "MUTABLE", "name": "unlockedProfit", "nameLocation": { @@ -120043,17 +120151,17 @@ "end": "104304", "length": "14", "line": "2820", - "parentIndex": "6050", + "parentIndex": "6052", "start": "104291" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6038", + "scope": "6040", "src": { "column": "8", "end": "104304", "length": "22", "line": "2820", - "parentIndex": "6049", + "parentIndex": "6051", "start": "104283" }, "storageLocation": "DEFAULT", @@ -120062,7 +120170,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6051", + "id": "6053", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -120070,7 +120178,7 @@ "end": "104289", "length": "7", "line": "2820", - "parentIndex": "6050", + "parentIndex": "6052", "start": "104283" }, "typeDescription": { @@ -120081,11 +120189,11 @@ "visibility": "INTERNAL" } ], - "id": "6049", + "id": "6051", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6052", + "id": "6054", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -120093,20 +120201,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6054", + "id": "6056", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6055", + "id": "6057", "name": "maxLockedProfit", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5882", + "referencedDeclaration": "5884", "src": { "column": "34", "end": "104323", "length": "15", "line": "2820", - "parentIndex": "6054", + "parentIndex": "6056", "start": "104309" }, "typeDescription": { @@ -120124,14 +120232,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6057", + "id": "6059", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6059", + "id": "6061", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -120139,7 +120247,7 @@ "end": "104332", "length": "5", "line": "2820", - "parentIndex": "6058", + "parentIndex": "6060", "start": "104328" }, "typeDescription": { @@ -120148,13 +120256,13 @@ } } }, - "id": "6058", + "id": "6060", "memberLocation": { "column": "59", "end": "104342", "length": "9", "line": "2820", - "parentIndex": "6058", + "parentIndex": "6060", "start": "104334" }, "memberName": "timestamp", @@ -120164,7 +120272,7 @@ "end": "104342", "length": "15", "line": "2820", - "parentIndex": "6049", + "parentIndex": "6051", "start": "104328" }, "typeDescription": { @@ -120178,16 +120286,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6060", + "id": "6062", "name": "lastHarvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5879", + "referencedDeclaration": "5881", "src": { "column": "71", "end": "104356", "length": "11", "line": "2820", - "parentIndex": "6057", + "parentIndex": "6059", "start": "104346" }, "typeDescription": { @@ -120201,7 +120309,7 @@ "end": "104356", "length": "29", "line": "2820", - "parentIndex": "6056", + "parentIndex": "6058", "start": "104328" }, "typeDescription": { @@ -120211,14 +120319,14 @@ } } ], - "id": "6056", + "id": "6058", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "52", "end": "104357", "length": "31", "line": "2820", - "parentIndex": "6054", + "parentIndex": "6056", "start": "104327" }, "typeDescription": { @@ -120232,7 +120340,7 @@ "end": "104357", "length": "49", "line": "2820", - "parentIndex": "6053", + "parentIndex": "6055", "start": "104309" }, "typeDescription": { @@ -120242,14 +120350,14 @@ } } ], - "id": "6053", + "id": "6055", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "33", "end": "104358", "length": "51", "line": "2820", - "parentIndex": "6052", + "parentIndex": "6054", "start": "104308" }, "typeDescription": { @@ -120263,16 +120371,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6061", + "id": "6063", "name": "LOCK_INTERVAL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5885", + "referencedDeclaration": "5887", "src": { "column": "87", "end": "104374", "length": "13", "line": "2820", - "parentIndex": "6052", + "parentIndex": "6054", "start": "104362" }, "typeDescription": { @@ -120286,7 +120394,7 @@ "end": "104374", "length": "67", "line": "2820", - "parentIndex": "6049", + "parentIndex": "6051", "start": "104308" }, "typeDescription": { @@ -120301,7 +120409,7 @@ "end": "104375", "length": "93", "line": "2820", - "parentIndex": "6038", + "parentIndex": "6040", "start": "104283" } } @@ -120312,20 +120420,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6063", + "id": "6065", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6064", + "id": "6066", "name": "maxLockedProfit", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5882", + "referencedDeclaration": "5884", "src": { "column": "15", "end": "104406", "length": "15", "line": "2821", - "parentIndex": "6063", + "parentIndex": "6065", "start": "104392" }, "typeDescription": { @@ -120339,16 +120447,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6065", + "id": "6067", "name": "unlockedProfit", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6049", + "referencedDeclaration": "6051", "src": { "column": "33", "end": "104423", "length": "14", "line": "2821", - "parentIndex": "6063", + "parentIndex": "6065", "start": "104410" }, "typeDescription": { @@ -120362,7 +120470,7 @@ "end": "104423", "length": "32", "line": "2821", - "parentIndex": "6062", + "parentIndex": "6064", "start": "104392" }, "typeDescription": { @@ -120371,15 +120479,15 @@ } } }, - "functionReturnParameters": "6031", - "id": "6062", + "functionReturnParameters": "6033", + "id": "6064", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "104424", "length": "40", "line": "2821", - "parentIndex": "6031", + "parentIndex": "6033", "start": "104385" }, "typeDescription": { @@ -120390,7 +120498,7 @@ } ] }, - "id": "6031", + "id": "6033", "implemented": true, "kind": "KIND_FUNCTION", "name": "lockedProfit", @@ -120399,24 +120507,24 @@ "end": "104136", "length": "12", "line": "2815", - "parentIndex": "6031", + "parentIndex": "6033", "start": "104125" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6032", + "id": "6034", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6033", + "id": "6035", "nodeType": "VARIABLE_DECLARATION", - "scope": "6033", + "scope": "6035", "src": { "column": "57", "end": "104175", "length": "7", "line": "2815", - "parentIndex": "6032", + "parentIndex": "6034", "start": "104169" }, "stateMutability": "MUTABLE", @@ -120426,7 +120534,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6034", + "id": "6036", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -120434,7 +120542,7 @@ "end": "104175", "length": "7", "line": "2815", - "parentIndex": "6033", + "parentIndex": "6035", "start": "104169" }, "typeDescription": { @@ -120450,24 +120558,24 @@ "end": "104175", "length": "7", "line": "2815", - "parentIndex": "6031", + "parentIndex": "6033", "start": "104169" } }, "returnParameters": { - "id": "6035", + "id": "6037", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6036", + "id": "6038", "nodeType": "VARIABLE_DECLARATION", - "scope": "6036", + "scope": "6038", "src": { "column": "57", "end": "104175", "length": "7", "line": "2815", - "parentIndex": "6035", + "parentIndex": "6037", "start": "104169" }, "stateMutability": "MUTABLE", @@ -120477,7 +120585,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6037", + "id": "6039", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -120485,7 +120593,7 @@ "end": "104175", "length": "7", "line": "2815", - "parentIndex": "6036", + "parentIndex": "6038", "start": "104169" }, "typeDescription": { @@ -120501,18 +120609,18 @@ "end": "104175", "length": "7", "line": "2815", - "parentIndex": "6031", + "parentIndex": "6033", "start": "104169" } }, - "scope": "5193", + "scope": "5194", "signature": "5ecc012c", "src": { "column": "4", "end": "104430", "length": "315", "line": "2815", - "parentIndex": "5193", + "parentIndex": "5194", "start": "104116" }, "stateMutability": "VIEW", @@ -120528,7 +120636,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6074", + "id": "6076", "implemented": true, "nodeType": "BLOCK", "src": { @@ -120536,7 +120644,7 @@ "end": "104824", "length": "79", "line": "2829", - "parentIndex": "6067", + "parentIndex": "6069", "start": "104746" }, "statements": [ @@ -120546,7 +120654,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6076", + "id": "6078", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -120562,7 +120670,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } ], @@ -120570,7 +120678,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6083", + "id": "6085", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -120578,11 +120686,11 @@ "end": "104791", "length": "4", "line": "2830", - "parentIndex": "6080", + "parentIndex": "6082", "start": "104788" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -120597,7 +120705,7 @@ "typeString": "address" } ], - "id": "6081", + "id": "6083", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -120605,7 +120713,7 @@ "end": "104786", "length": "7", "line": "2830", - "parentIndex": "6080", + "parentIndex": "6082", "start": "104780" }, "typeDescription": { @@ -120613,7 +120721,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6082", + "id": "6084", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -120621,7 +120729,7 @@ "end": "104786", "length": "7", "line": "2830", - "parentIndex": "6081", + "parentIndex": "6083", "start": "104780" }, "stateMutability": "NONPAYABLE", @@ -120632,7 +120740,7 @@ } } }, - "id": "6080", + "id": "6082", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -120640,7 +120748,7 @@ "end": "104792", "length": "13", "line": "2830", - "parentIndex": "6077", + "parentIndex": "6079", "start": "104780" }, "typeDescription": { @@ -120656,31 +120764,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6079", + "id": "6081", "name": "_asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5206", + "referencedDeclaration": "5207", "src": { "column": "15", "end": "104768", "length": "6", "line": "2830", - "parentIndex": "6078", + "parentIndex": "6080", "start": "104763" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6078", + "id": "6080", "memberLocation": { "column": "22", "end": "104778", "length": "9", "line": "2830", - "parentIndex": "6078", + "parentIndex": "6080", "start": "104770" }, "memberName": "balanceOf", @@ -120690,16 +120798,16 @@ "end": "104778", "length": "16", "line": "2830", - "parentIndex": "6077", + "parentIndex": "6079", "start": "104763" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6077", + "id": "6079", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -120707,7 +120815,7 @@ "end": "104793", "length": "31", "line": "2830", - "parentIndex": "6076", + "parentIndex": "6078", "start": "104763" }, "typeDescription": { @@ -120721,16 +120829,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6084", + "id": "6086", "name": "totalStrategyHoldings", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5390", + "referencedDeclaration": "5391", "src": { "column": "49", "end": "104817", "length": "21", "line": "2830", - "parentIndex": "6076", + "parentIndex": "6078", "start": "104797" }, "typeDescription": { @@ -120744,7 +120852,7 @@ "end": "104817", "length": "55", "line": "2830", - "parentIndex": "6075", + "parentIndex": "6077", "start": "104763" }, "typeDescription": { @@ -120753,15 +120861,15 @@ } } }, - "functionReturnParameters": "6067", - "id": "6075", + "functionReturnParameters": "6069", + "id": "6077", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "104818", "length": "63", "line": "2830", - "parentIndex": "6067", + "parentIndex": "6069", "start": "104756" }, "typeDescription": { @@ -120772,7 +120880,7 @@ } ] }, - "id": "6067", + "id": "6069", "implemented": true, "kind": "KIND_FUNCTION", "name": "vaultTVL", @@ -120781,24 +120889,24 @@ "end": "104712", "length": "8", "line": "2829", - "parentIndex": "6067", + "parentIndex": "6069", "start": "104705" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6068", + "id": "6070", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6069", + "id": "6071", "nodeType": "VARIABLE_DECLARATION", - "scope": "6069", + "scope": "6071", "src": { "column": "45", "end": "104743", "length": "7", "line": "2829", - "parentIndex": "6068", + "parentIndex": "6070", "start": "104737" }, "stateMutability": "MUTABLE", @@ -120808,7 +120916,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6070", + "id": "6072", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -120816,7 +120924,7 @@ "end": "104743", "length": "7", "line": "2829", - "parentIndex": "6069", + "parentIndex": "6071", "start": "104737" }, "typeDescription": { @@ -120832,24 +120940,24 @@ "end": "104743", "length": "7", "line": "2829", - "parentIndex": "6067", + "parentIndex": "6069", "start": "104737" } }, "returnParameters": { - "id": "6071", + "id": "6073", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6072", + "id": "6074", "nodeType": "VARIABLE_DECLARATION", - "scope": "6072", + "scope": "6074", "src": { "column": "45", "end": "104743", "length": "7", "line": "2829", - "parentIndex": "6071", + "parentIndex": "6073", "start": "104737" }, "stateMutability": "MUTABLE", @@ -120859,7 +120967,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6073", + "id": "6075", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -120867,7 +120975,7 @@ "end": "104743", "length": "7", "line": "2829", - "parentIndex": "6072", + "parentIndex": "6074", "start": "104737" }, "typeDescription": { @@ -120883,18 +120991,18 @@ "end": "104743", "length": "7", "line": "2829", - "parentIndex": "6067", + "parentIndex": "6069", "start": "104737" } }, - "scope": "5193", + "scope": "5194", "signature": "7947f67f", "src": { "column": "4", "end": "104824", "length": "129", "line": "2829", - "parentIndex": "5193", + "parentIndex": "5194", "start": "104696" }, "stateMutability": "VIEW", @@ -120908,24 +121016,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "6086", + "id": "6088", "name": "Liquidation", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "6087", + "id": "6089", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6088", + "id": "6090", "name": "assetsRequested", "nodeType": "VARIABLE_DECLARATION", - "scope": "6088", + "scope": "6090", "src": { "column": "22", "end": "105195", "length": "23", "line": "2839", - "parentIndex": "6087", + "parentIndex": "6089", "start": "105173" }, "stateMutability": "MUTABLE", @@ -120935,7 +121043,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6089", + "id": "6091", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -120943,7 +121051,7 @@ "end": "105179", "length": "7", "line": "2839", - "parentIndex": "6088", + "parentIndex": "6090", "start": "105173" }, "typeDescription": { @@ -120954,16 +121062,16 @@ "visibility": "INTERNAL" }, { - "id": "6090", + "id": "6092", "name": "assetsLiquidated", "nodeType": "VARIABLE_DECLARATION", - "scope": "6090", + "scope": "6092", "src": { "column": "47", "end": "105221", "length": "24", "line": "2839", - "parentIndex": "6087", + "parentIndex": "6089", "start": "105198" }, "stateMutability": "MUTABLE", @@ -120973,7 +121081,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6091", + "id": "6093", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -120981,7 +121089,7 @@ "end": "105204", "length": "7", "line": "2839", - "parentIndex": "6090", + "parentIndex": "6092", "start": "105198" }, "typeDescription": { @@ -120997,7 +121105,7 @@ "end": "105223", "length": "69", "line": "2839", - "parentIndex": "6086", + "parentIndex": "6088", "start": "105155" } }, @@ -121006,11 +121114,11 @@ "end": "105223", "length": "69", "line": "2839", - "parentIndex": "5193", + "parentIndex": "5194", "start": "105155" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_Liquidation_\u00266086", + "typeIdentifier": "t_event\u0026_BaseVault_Liquidation_\u00266088", "typeString": "event BaseVault.Liquidation" } } @@ -121019,7 +121127,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6100", + "id": "6102", "implemented": true, "nodeType": "BLOCK", "src": { @@ -121027,7 +121135,7 @@ "end": "106414", "length": "833", "line": "2847", - "parentIndex": "6093", + "parentIndex": "6095", "start": "105582" }, "statements": [ @@ -121035,11 +121143,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6102" + "6104" ], "declarations": [ { - "id": "6102", + "id": "6104", "mutability": "MUTABLE", "name": "amountLiquidated", "nameLocation": { @@ -121047,17 +121155,17 @@ "end": "105615", "length": "16", "line": "2848", - "parentIndex": "6102", + "parentIndex": "6104", "start": "105600" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6100", + "scope": "6102", "src": { "column": "8", "end": "105615", "length": "24", "line": "2848", - "parentIndex": "6101", + "parentIndex": "6103", "start": "105592" }, "storageLocation": "DEFAULT", @@ -121066,7 +121174,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6103", + "id": "6105", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -121074,7 +121182,7 @@ "end": "105598", "length": "7", "line": "2848", - "parentIndex": "6102", + "parentIndex": "6104", "start": "105592" }, "typeDescription": { @@ -121085,14 +121193,14 @@ "visibility": "INTERNAL" } ], - "id": "6101", + "id": "6103", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "105616", "length": "25", "line": "2848", - "parentIndex": "6100", + "parentIndex": "6102", "start": "105592" } } @@ -121101,7 +121209,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "6117", + "id": "6119", "implemented": true, "nodeType": "BLOCK", "src": { @@ -121109,7 +121217,7 @@ "end": "106286", "length": "600", "line": "2849", - "parentIndex": "6104", + "parentIndex": "6106", "start": "105687" }, "statements": [ @@ -121117,11 +121225,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6119" + "6121" ], "declarations": [ { - "id": "6119", + "id": "6121", "mutability": "MUTABLE", "name": "strategy", "nameLocation": { @@ -121129,17 +121237,17 @@ "end": "105717", "length": "8", "line": "2850", - "parentIndex": "6119", + "parentIndex": "6121", "start": "105710" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6117", + "scope": "6119", "src": { "column": "12", "end": "105717", "length": "17", "line": "2850", - "parentIndex": "6118", + "parentIndex": "6120", "start": "105701" }, "storageLocation": "DEFAULT", @@ -121148,37 +121256,37 @@ "typeString": "function()" }, "typeName": { - "id": "6120", + "id": "6122", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6121", + "id": "6123", "name": "Strategy", "nameLocation": { "column": "12", "end": "105708", "length": "8", "line": "2850", - "parentIndex": "6120", + "parentIndex": "6122", "start": "105701" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "105708", "length": "8", "line": "2850", - "parentIndex": "6120", + "parentIndex": "6122", "start": "105701" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "105708", "length": "8", "line": "2850", - "parentIndex": "6119", + "parentIndex": "6121", "start": "105701" }, "typeDescription": { @@ -121189,14 +121297,14 @@ "visibility": "INTERNAL" } ], - "id": "6118", + "id": "6120", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6124", + "id": "6126", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -121205,7 +121313,7 @@ "end": "105737", "length": "1", "line": "2850", - "parentIndex": "6122", + "parentIndex": "6124", "start": "105737" }, "typeDescription": { @@ -121214,20 +121322,20 @@ } } }, - "id": "6122", + "id": "6124", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6123", + "id": "6125", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "32", "end": "105735", "length": "15", "line": "2850", - "parentIndex": "6122", + "parentIndex": "6124", "start": "105721" }, "typeDescription": { @@ -121242,7 +121350,7 @@ "end": "105738", "length": "18", "line": "2850", - "parentIndex": "6118", + "parentIndex": "6120", "start": "105721" }, "typeDescription": { @@ -121267,7 +121375,7 @@ "end": "105739", "length": "39", "line": "2850", - "parentIndex": "6117", + "parentIndex": "6119", "start": "105701" } } @@ -121276,7 +121384,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "6135", + "id": "6137", "implemented": true, "nodeType": "BLOCK", "src": { @@ -121284,20 +121392,20 @@ "end": "105827", "length": "38", "line": "2851", - "parentIndex": "6104", + "parentIndex": "6106", "start": "105790" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Break", "value": { - "id": "6136", + "id": "6138", "nodeType": "BREAK", "src": { "end": "105813", "length": "6", "line": "2852", - "parentIndex": "6135", + "parentIndex": "6137", "start": "105808" } } @@ -121307,7 +121415,7 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6126", + "id": "6128", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -121321,16 +121429,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6130", + "id": "6132", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6118", + "referencedDeclaration": "6120", "src": { "column": "24", "end": "105772", "length": "8", "line": "2851", - "parentIndex": "6127", + "parentIndex": "6129", "start": "105765" }, "typeDescription": { @@ -121349,7 +121457,7 @@ "typeString": "address" } ], - "id": "6128", + "id": "6130", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -121357,7 +121465,7 @@ "end": "105763", "length": "7", "line": "2851", - "parentIndex": "6127", + "parentIndex": "6129", "start": "105757" }, "typeDescription": { @@ -121365,7 +121473,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6129", + "id": "6131", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -121373,7 +121481,7 @@ "end": "105763", "length": "7", "line": "2851", - "parentIndex": "6128", + "parentIndex": "6130", "start": "105757" }, "stateMutability": "NONPAYABLE", @@ -121384,7 +121492,7 @@ } } }, - "id": "6127", + "id": "6129", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -121392,7 +121500,7 @@ "end": "105773", "length": "17", "line": "2851", - "parentIndex": "6126", + "parentIndex": "6128", "start": "105757" }, "typeDescription": { @@ -121417,7 +121525,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "6134", + "id": "6136", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -121426,7 +121534,7 @@ "end": "105786", "length": "1", "line": "2851", - "parentIndex": "6131", + "parentIndex": "6133", "start": "105786" }, "typeDescription": { @@ -121446,7 +121554,7 @@ "typeString": "address" } ], - "id": "6132", + "id": "6134", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -121454,7 +121562,7 @@ "end": "105784", "length": "7", "line": "2851", - "parentIndex": "6131", + "parentIndex": "6133", "start": "105778" }, "typeDescription": { @@ -121462,7 +121570,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6133", + "id": "6135", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -121470,7 +121578,7 @@ "end": "105784", "length": "7", "line": "2851", - "parentIndex": "6132", + "parentIndex": "6134", "start": "105778" }, "stateMutability": "NONPAYABLE", @@ -121481,7 +121589,7 @@ } } }, - "id": "6131", + "id": "6133", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -121489,7 +121597,7 @@ "end": "105787", "length": "10", "line": "2851", - "parentIndex": "6126", + "parentIndex": "6128", "start": "105778" }, "typeDescription": { @@ -121503,7 +121611,7 @@ "end": "105787", "length": "31", "line": "2851", - "parentIndex": "6125", + "parentIndex": "6127", "start": "105757" }, "typeDescription": { @@ -121512,13 +121620,13 @@ } } }, - "id": "6125", + "id": "6127", "nodeType": "IF_STATEMENT", "src": { "end": "105827", "length": "75", "line": "2851", - "parentIndex": "6117", + "parentIndex": "6119", "start": "105753" } } @@ -121527,11 +121635,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6138" + "6140" ], "declarations": [ { - "id": "6138", + "id": "6140", "mutability": "MUTABLE", "name": "balance", "nameLocation": { @@ -121539,17 +121647,17 @@ "end": "105856", "length": "7", "line": "2855", - "parentIndex": "6138", + "parentIndex": "6140", "start": "105850" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6117", + "scope": "6119", "src": { "column": "12", "end": "105856", "length": "15", "line": "2855", - "parentIndex": "6137", + "parentIndex": "6139", "start": "105842" }, "storageLocation": "DEFAULT", @@ -121558,7 +121666,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6139", + "id": "6141", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -121566,7 +121674,7 @@ "end": "105848", "length": "7", "line": "2855", - "parentIndex": "6138", + "parentIndex": "6140", "start": "105842" }, "typeDescription": { @@ -121577,7 +121685,7 @@ "visibility": "INTERNAL" } ], - "id": "6137", + "id": "6139", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -121593,7 +121701,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } ], @@ -121601,7 +121709,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6146", + "id": "6148", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -121609,11 +121717,11 @@ "end": "105888", "length": "4", "line": "2855", - "parentIndex": "6143", + "parentIndex": "6145", "start": "105885" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -121628,7 +121736,7 @@ "typeString": "address" } ], - "id": "6144", + "id": "6146", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -121636,7 +121744,7 @@ "end": "105883", "length": "7", "line": "2855", - "parentIndex": "6143", + "parentIndex": "6145", "start": "105877" }, "typeDescription": { @@ -121644,7 +121752,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6145", + "id": "6147", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -121652,7 +121760,7 @@ "end": "105883", "length": "7", "line": "2855", - "parentIndex": "6144", + "parentIndex": "6146", "start": "105877" }, "stateMutability": "NONPAYABLE", @@ -121663,7 +121771,7 @@ } } }, - "id": "6143", + "id": "6145", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -121671,7 +121779,7 @@ "end": "105889", "length": "13", "line": "2855", - "parentIndex": "6140", + "parentIndex": "6142", "start": "105877" }, "typeDescription": { @@ -121687,31 +121795,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6142", + "id": "6144", "name": "_asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5206", + "referencedDeclaration": "5207", "src": { "column": "30", "end": "105865", "length": "6", "line": "2855", - "parentIndex": "6141", + "parentIndex": "6143", "start": "105860" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6141", + "id": "6143", "memberLocation": { "column": "37", "end": "105875", "length": "9", "line": "2855", - "parentIndex": "6141", + "parentIndex": "6143", "start": "105867" }, "memberName": "balanceOf", @@ -121721,16 +121829,16 @@ "end": "105875", "length": "16", "line": "2855", - "parentIndex": "6140", + "parentIndex": "6142", "start": "105860" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6140", + "id": "6142", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -121738,7 +121846,7 @@ "end": "105890", "length": "31", "line": "2855", - "parentIndex": "6137", + "parentIndex": "6139", "start": "105860" }, "typeDescription": { @@ -121753,7 +121861,7 @@ "end": "105891", "length": "50", "line": "2855", - "parentIndex": "6117", + "parentIndex": "6119", "start": "105842" } } @@ -121762,7 +121870,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "6151", + "id": "6153", "implemented": true, "nodeType": "BLOCK", "src": { @@ -121770,20 +121878,20 @@ "end": "105965", "length": "38", "line": "2856", - "parentIndex": "6104", + "parentIndex": "6106", "start": "105928" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Break", "value": { - "id": "6152", + "id": "6154", "nodeType": "BREAK", "src": { "end": "105951", "length": "6", "line": "2857", - "parentIndex": "6151", + "parentIndex": "6153", "start": "105946" } } @@ -121793,20 +121901,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6148", + "id": "6150", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6149", + "id": "6151", "name": "balance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6137", + "referencedDeclaration": "6139", "src": { "column": "16", "end": "105915", "length": "7", "line": "2856", - "parentIndex": "6148", + "parentIndex": "6150", "start": "105909" }, "typeDescription": { @@ -121820,7 +121928,7 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6150", + "id": "6152", "name": "amount", "nodeType": "IDENTIFIER", "referencedDeclaration": "1695", @@ -121829,7 +121937,7 @@ "end": "105925", "length": "6", "line": "2856", - "parentIndex": "6148", + "parentIndex": "6150", "start": "105920" }, "typeDescription": { @@ -121843,7 +121951,7 @@ "end": "105925", "length": "17", "line": "2856", - "parentIndex": "6147", + "parentIndex": "6149", "start": "105909" }, "typeDescription": { @@ -121852,13 +121960,13 @@ } } }, - "id": "6147", + "id": "6149", "nodeType": "IF_STATEMENT", "src": { "end": "105965", "length": "61", "line": "2856", - "parentIndex": "6117", + "parentIndex": "6119", "start": "105905" } } @@ -121867,11 +121975,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6154" + "6156" ], "declarations": [ { - "id": "6154", + "id": "6156", "mutability": "MUTABLE", "name": "amountNeeded", "nameLocation": { @@ -121879,17 +121987,17 @@ "end": "105999", "length": "12", "line": "2860", - "parentIndex": "6154", + "parentIndex": "6156", "start": "105988" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6117", + "scope": "6119", "src": { "column": "12", "end": "105999", "length": "20", "line": "2860", - "parentIndex": "6153", + "parentIndex": "6155", "start": "105980" }, "storageLocation": "DEFAULT", @@ -121898,7 +122006,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6155", + "id": "6157", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -121906,7 +122014,7 @@ "end": "105986", "length": "7", "line": "2860", - "parentIndex": "6154", + "parentIndex": "6156", "start": "105980" }, "typeDescription": { @@ -121917,15 +122025,15 @@ "visibility": "INTERNAL" } ], - "id": "6153", + "id": "6155", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6156", + "id": "6158", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6157", + "id": "6159", "name": "amount", "nodeType": "IDENTIFIER", "referencedDeclaration": "1695", @@ -121934,7 +122042,7 @@ "end": "106008", "length": "6", "line": "2860", - "parentIndex": "6156", + "parentIndex": "6158", "start": "106003" }, "typeDescription": { @@ -121948,16 +122056,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6158", + "id": "6160", "name": "balance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6137", + "referencedDeclaration": "6139", "src": { "column": "44", "end": "106018", "length": "7", "line": "2860", - "parentIndex": "6156", + "parentIndex": "6158", "start": "106012" }, "typeDescription": { @@ -121971,7 +122079,7 @@ "end": "106018", "length": "16", "line": "2860", - "parentIndex": "6153", + "parentIndex": "6155", "start": "106003" }, "typeDescription": { @@ -121986,7 +122094,7 @@ "end": "106019", "length": "40", "line": "2860", - "parentIndex": "6117", + "parentIndex": "6119", "start": "105980" } } @@ -121997,20 +122105,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6160", + "id": "6162", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6161", + "id": "6163", "name": "amountNeeded", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6153", + "referencedDeclaration": "6155", "src": { "column": "12", "end": "106044", "length": "12", "line": "2861", - "parentIndex": "6160", + "parentIndex": "6162", "start": "106033" }, "typeDescription": { @@ -122030,7 +122138,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } ], @@ -122038,16 +122146,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6165", + "id": "6167", "name": "amountNeeded", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6153", + "referencedDeclaration": "6155", "src": { "column": "36", "end": "106068", "length": "12", "line": "2861", - "parentIndex": "6162", + "parentIndex": "6164", "start": "106057" }, "typeDescription": { @@ -122071,16 +122179,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6169", + "id": "6171", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6118", + "referencedDeclaration": "6120", "src": { "column": "61", "end": "106089", "length": "8", "line": "2861", - "parentIndex": "6167", + "parentIndex": "6169", "start": "106082" }, "typeDescription": { @@ -122089,24 +122197,24 @@ } } }, - "id": "6167", + "id": "6169", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6168", + "id": "6170", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "50", "end": "106080", "length": "10", "line": "2861", - "parentIndex": "6167", + "parentIndex": "6169", "start": "106071" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -122117,16 +122225,16 @@ "end": "106090", "length": "20", "line": "2861", - "parentIndex": "6166", + "parentIndex": "6168", "start": "106071" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -122136,13 +122244,13 @@ ] } }, - "id": "6166", + "id": "6168", "memberLocation": { "column": "71", "end": "106098", "length": "7", "line": "2861", - "parentIndex": "6166", + "parentIndex": "6168", "start": "106092" }, "memberName": "balance", @@ -122152,11 +122260,11 @@ "end": "106098", "length": "28", "line": "2861", - "parentIndex": "6162", + "parentIndex": "6164", "start": "106071" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -122168,7 +122276,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6164", + "id": "6166", "name": "Math", "nodeType": "IDENTIFIER", "referencedDeclaration": "896", @@ -122177,7 +122285,7 @@ "end": "106051", "length": "4", "line": "2861", - "parentIndex": "6163", + "parentIndex": "6165", "start": "106048" }, "typeDescription": { @@ -122186,13 +122294,13 @@ } } }, - "id": "6163", + "id": "6165", "memberLocation": { "column": "32", "end": "106055", "length": "3", "line": "2861", - "parentIndex": "6163", + "parentIndex": "6165", "start": "106053" }, "memberName": "min", @@ -122202,7 +122310,7 @@ "end": "106055", "length": "8", "line": "2861", - "parentIndex": "6162", + "parentIndex": "6164", "start": "106048" }, "typeDescription": { @@ -122211,7 +122319,7 @@ } } }, - "id": "6162", + "id": "6164", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -122219,11 +122327,11 @@ "end": "106099", "length": "52", "line": "2861", - "parentIndex": "6160", + "parentIndex": "6162", "start": "106048" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_function_$_t_uint256$_t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "function(uint256,index[mapping(Strategy=\u003eStrategyInfo):function()])" } } @@ -122233,7 +122341,7 @@ "end": "106099", "length": "67", "line": "2861", - "parentIndex": "6159", + "parentIndex": "6161", "start": "106033" }, "typeDescription": { @@ -122242,14 +122350,14 @@ } } }, - "id": "6159", + "id": "6161", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "106100", "length": "68", "line": "2861", - "parentIndex": "6117", + "parentIndex": "6119", "start": "106033" }, "typeDescription": { @@ -122262,11 +122370,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6171" + "6173" ], "declarations": [ { - "id": "6171", + "id": "6173", "mutability": "MUTABLE", "name": "withdrawn", "nameLocation": { @@ -122274,17 +122382,17 @@ "end": "106184", "length": "9", "line": "2864", - "parentIndex": "6171", + "parentIndex": "6173", "start": "106176" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6117", + "scope": "6119", "src": { "column": "12", "end": "106184", "length": "17", "line": "2864", - "parentIndex": "6170", + "parentIndex": "6172", "start": "106168" }, "storageLocation": "DEFAULT", @@ -122293,7 +122401,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6172", + "id": "6174", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -122301,7 +122409,7 @@ "end": "106174", "length": "7", "line": "2864", - "parentIndex": "6171", + "parentIndex": "6173", "start": "106168" }, "typeDescription": { @@ -122312,7 +122420,7 @@ "visibility": "INTERNAL" } ], - "id": "6170", + "id": "6172", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -122330,16 +122438,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6175", + "id": "6177", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6118", + "referencedDeclaration": "6120", "src": { "column": "54", "end": "106217", "length": "8", "line": "2864", - "parentIndex": "6173", + "parentIndex": "6175", "start": "106210" }, "typeDescription": { @@ -122357,16 +122465,16 @@ "typeString": "function()" } ], - "id": "6176", + "id": "6178", "name": "amountNeeded", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6153", + "referencedDeclaration": "6155", "src": { "column": "64", "end": "106231", "length": "12", "line": "2864", - "parentIndex": "6173", + "parentIndex": "6175", "start": "106220" }, "typeDescription": { @@ -122379,7 +122487,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6174", + "id": "6176", "name": "_withdrawFromStrategy", "nodeType": "IDENTIFIER", "src": { @@ -122387,7 +122495,7 @@ "end": "106208", "length": "21", "line": "2864", - "parentIndex": "6173", + "parentIndex": "6175", "start": "106188" }, "typeDescription": { @@ -122396,7 +122504,7 @@ } } }, - "id": "6173", + "id": "6175", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -122404,7 +122512,7 @@ "end": "106232", "length": "45", "line": "2864", - "parentIndex": "6170", + "parentIndex": "6172", "start": "106188" }, "typeDescription": { @@ -122419,7 +122527,7 @@ "end": "106233", "length": "66", "line": "2864", - "parentIndex": "6117", + "parentIndex": "6119", "start": "106168" } } @@ -122430,20 +122538,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6178", + "id": "6180", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6179", + "id": "6181", "name": "amountLiquidated", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6101", + "referencedDeclaration": "6103", "src": { "column": "12", "end": "106262", "length": "16", "line": "2865", - "parentIndex": "6178", + "parentIndex": "6180", "start": "106247" }, "typeDescription": { @@ -122457,16 +122565,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6180", + "id": "6182", "name": "withdrawn", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6170", + "referencedDeclaration": "6172", "src": { "column": "32", "end": "106275", "length": "9", "line": "2865", - "parentIndex": "6178", + "parentIndex": "6180", "start": "106267" }, "typeDescription": { @@ -122480,7 +122588,7 @@ "end": "106275", "length": "29", "line": "2865", - "parentIndex": "6177", + "parentIndex": "6179", "start": "106247" }, "typeDescription": { @@ -122489,14 +122597,14 @@ } } }, - "id": "6177", + "id": "6179", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "106276", "length": "30", "line": "2865", - "parentIndex": "6117", + "parentIndex": "6119", "start": "106247" }, "typeDescription": { @@ -122510,11 +122618,11 @@ "closure": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6112", + "id": "6114", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6113", + "id": "6115", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -122523,7 +122631,7 @@ "end": "105666", "length": "1", "line": "2849", - "parentIndex": "6112", + "parentIndex": "6114", "start": "105666" }, "typeDescription": { @@ -122547,7 +122655,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6116", + "id": "6118", "name": "i", "nodeType": "IDENTIFIER", "src": { @@ -122555,7 +122663,7 @@ "end": "105683", "length": "1", "line": "2849", - "parentIndex": "6114", + "parentIndex": "6116", "start": "105683" }, "typeDescription": { @@ -122568,7 +122676,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6115", + "id": "6117", "name": "uncheckedInc", "nodeType": "IDENTIFIER", "src": { @@ -122576,7 +122684,7 @@ "end": "105681", "length": "12", "line": "2849", - "parentIndex": "6114", + "parentIndex": "6116", "start": "105670" }, "typeDescription": { @@ -122585,7 +122693,7 @@ } } }, - "id": "6114", + "id": "6116", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -122593,7 +122701,7 @@ "end": "105684", "length": "15", "line": "2849", - "parentIndex": "6112", + "parentIndex": "6114", "start": "105670" }, "typeDescription": { @@ -122607,7 +122715,7 @@ "end": "105684", "length": "19", "line": "2849", - "parentIndex": "6104", + "parentIndex": "6106", "start": "105666" }, "typeDescription": { @@ -122619,11 +122727,11 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6109", + "id": "6111", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6110", + "id": "6112", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -122632,7 +122740,7 @@ "end": "105646", "length": "1", "line": "2849", - "parentIndex": "6109", + "parentIndex": "6111", "start": "105646" }, "typeDescription": { @@ -122646,16 +122754,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6111", + "id": "6113", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "32", "end": "105663", "length": "14", "line": "2849", - "parentIndex": "6109", + "parentIndex": "6111", "start": "105650" }, "typeDescription": { @@ -122669,7 +122777,7 @@ "end": "105663", "length": "18", "line": "2849", - "parentIndex": "6104", + "parentIndex": "6106", "start": "105646" }, "typeDescription": { @@ -122678,16 +122786,16 @@ } } }, - "id": "6104", + "id": "6106", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6106" + "6108" ], "declarations": [ { - "id": "6106", + "id": "6108", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -122695,17 +122803,17 @@ "end": "105639", "length": "1", "line": "2849", - "parentIndex": "6106", + "parentIndex": "6108", "start": "105639" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6100", + "scope": "6102", "src": { "column": "13", "end": "105639", "length": "9", "line": "2849", - "parentIndex": "6105", + "parentIndex": "6107", "start": "105631" }, "storageLocation": "DEFAULT", @@ -122714,7 +122822,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6107", + "id": "6109", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -122722,7 +122830,7 @@ "end": "105637", "length": "7", "line": "2849", - "parentIndex": "6106", + "parentIndex": "6108", "start": "105631" }, "typeDescription": { @@ -122733,12 +122841,12 @@ "visibility": "INTERNAL" } ], - "id": "6105", + "id": "6107", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "6108", + "id": "6110", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -122747,7 +122855,7 @@ "end": "105643", "length": "1", "line": "2849", - "parentIndex": "6105", + "parentIndex": "6107", "start": "105643" }, "typeDescription": { @@ -122763,7 +122871,7 @@ "end": "105644", "length": "14", "line": "2849", - "parentIndex": "6100", + "parentIndex": "6102", "start": "105631" } } @@ -122773,7 +122881,7 @@ "end": "106286", "length": "661", "line": "2849", - "parentIndex": "6100", + "parentIndex": "6102", "start": "105626" } } @@ -122784,32 +122892,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6182", + "id": "6184", "name": "Liquidation", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6086", + "referencedDeclaration": "6088", "src": { "column": "13", "end": "106311", "length": "11", "line": "2867", - "parentIndex": "6181", + "parentIndex": "6183", "start": "106301" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_Liquidation_\u00266086", + "typeIdentifier": "t_event\u0026_BaseVault_Liquidation_\u00266088", "typeString": "event BaseVault.Liquidation" } } }, - "id": "6181", + "id": "6183", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "106375", "length": "80", "line": "2867", - "parentIndex": "6093", + "parentIndex": "6095", "start": "106296" } } @@ -122820,16 +122928,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6184", + "id": "6186", "name": "amountLiquidated", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6101", + "referencedDeclaration": "6103", "src": { "column": "15", "end": "106407", "length": "16", "line": "2868", - "parentIndex": "6183", + "parentIndex": "6185", "start": "106392" }, "typeDescription": { @@ -122838,15 +122946,15 @@ } } }, - "functionReturnParameters": "6093", - "id": "6183", + "functionReturnParameters": "6095", + "id": "6185", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "106408", "length": "24", "line": "2868", - "parentIndex": "6093", + "parentIndex": "6095", "start": "106385" }, "typeDescription": { @@ -122857,7 +122965,7 @@ } ] }, - "id": "6093", + "id": "6095", "implemented": true, "kind": "KIND_FUNCTION", "name": "_liquidate", @@ -122866,25 +122974,25 @@ "end": "105537", "length": "10", "line": "2847", - "parentIndex": "6093", + "parentIndex": "6095", "start": "105528" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6094", + "id": "6096", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6095", + "id": "6097", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "6095", + "scope": "6097", "src": { "column": "24", "end": "105552", "length": "14", "line": "2847", - "parentIndex": "6094", + "parentIndex": "6096", "start": "105539" }, "stateMutability": "MUTABLE", @@ -122894,7 +123002,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6096", + "id": "6098", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -122902,7 +123010,7 @@ "end": "105545", "length": "7", "line": "2847", - "parentIndex": "6095", + "parentIndex": "6097", "start": "105539" }, "typeDescription": { @@ -122918,24 +123026,24 @@ "end": "105552", "length": "14", "line": "2847", - "parentIndex": "6093", + "parentIndex": "6095", "start": "105539" } }, "returnParameters": { - "id": "6097", + "id": "6099", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6098", + "id": "6100", "nodeType": "VARIABLE_DECLARATION", - "scope": "6098", + "scope": "6100", "src": { "column": "58", "end": "105579", "length": "7", "line": "2847", - "parentIndex": "6097", + "parentIndex": "6099", "start": "105573" }, "stateMutability": "MUTABLE", @@ -122945,7 +123053,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6099", + "id": "6101", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -122953,7 +123061,7 @@ "end": "105579", "length": "7", "line": "2847", - "parentIndex": "6098", + "parentIndex": "6100", "start": "105573" }, "typeDescription": { @@ -122969,18 +123077,18 @@ "end": "105579", "length": "7", "line": "2847", - "parentIndex": "6093", + "parentIndex": "6095", "start": "105573" } }, - "scope": "5193", + "scope": "5194", "signature": "267b1cb1", "src": { "column": "4", "end": "106414", "length": "896", "line": "2847", - "parentIndex": "5193", + "parentIndex": "5194", "start": "105519" }, "stateMutability": "NONPAYABLE", @@ -122995,7 +123103,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6189", + "id": "6191", "implemented": true, "nodeType": "BLOCK", "src": { @@ -123003,11 +123111,11 @@ "end": "106577", "length": "2", "line": "2875", - "parentIndex": "6186", + "parentIndex": "6188", "start": "106576" } }, - "id": "6186", + "id": "6188", "implemented": true, "kind": "KIND_FUNCTION", "name": "_assessFees", @@ -123016,42 +123124,42 @@ "end": "106555", "length": "11", "line": "2875", - "parentIndex": "6186", + "parentIndex": "6188", "start": "106545" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6187", + "id": "6189", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "106577", "length": "42", "line": "2875", - "parentIndex": "6186", + "parentIndex": "6188", "start": "106536" } }, "returnParameters": { - "id": "6188", + "id": "6190", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "106577", "length": "42", "line": "2875", - "parentIndex": "6186", + "parentIndex": "6188", "start": "106536" } }, - "scope": "5193", + "scope": "5194", "signature": "d2be0848", "src": { "column": "4", "end": "106577", "length": "42", "line": "2875", - "parentIndex": "5193", + "parentIndex": "5194", "start": "106536" }, "stateMutability": "NONPAYABLE", @@ -123066,25 +123174,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "6191", + "id": "6193", "name": "Rebalance", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "6192", + "id": "6194", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6193", + "id": "6195", "indexed": true, "name": "caller", "nodeType": "VARIABLE_DECLARATION", - "scope": "6193", + "scope": "6195", "src": { "column": "20", "end": "106781", "length": "22", "line": "2881", - "parentIndex": "6192", + "parentIndex": "6194", "start": "106760" }, "stateMutability": "NONPAYABLE", @@ -123094,7 +123202,7 @@ "typeString": "address" }, "typeName": { - "id": "6194", + "id": "6196", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -123102,7 +123210,7 @@ "end": "106766", "length": "7", "line": "2881", - "parentIndex": "6193", + "parentIndex": "6195", "start": "106760" }, "stateMutability": "NONPAYABLE", @@ -123119,7 +123227,7 @@ "end": "106783", "length": "40", "line": "2881", - "parentIndex": "6191", + "parentIndex": "6193", "start": "106744" } }, @@ -123128,11 +123236,11 @@ "end": "106783", "length": "40", "line": "2881", - "parentIndex": "5193", + "parentIndex": "5194", "start": "106744" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_Rebalance_\u00266191", + "typeIdentifier": "t_event\u0026_BaseVault_Rebalance_\u00266193", "typeString": "event BaseVault.Rebalance" } } @@ -123141,7 +123249,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6202", + "id": "6204", "implemented": true, "nodeType": "BLOCK", "src": { @@ -123149,7 +123257,7 @@ "end": "108739", "length": "1835", "line": "2884", - "parentIndex": "6196", + "parentIndex": "6198", "start": "106905" }, "statements": [ @@ -123157,11 +123265,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6204" + "6206" ], "declarations": [ { - "id": "6204", + "id": "6206", "mutability": "MUTABLE", "name": "tvl", "nameLocation": { @@ -123169,17 +123277,17 @@ "end": "106925", "length": "3", "line": "2885", - "parentIndex": "6204", + "parentIndex": "6206", "start": "106923" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6202", + "scope": "6204", "src": { "column": "8", "end": "106925", "length": "11", "line": "2885", - "parentIndex": "6203", + "parentIndex": "6205", "start": "106915" }, "storageLocation": "DEFAULT", @@ -123188,7 +123296,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6205", + "id": "6207", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -123196,7 +123304,7 @@ "end": "106921", "length": "7", "line": "2885", - "parentIndex": "6204", + "parentIndex": "6206", "start": "106915" }, "typeDescription": { @@ -123207,14 +123315,14 @@ "visibility": "INTERNAL" } ], - "id": "6203", + "id": "6205", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6207", + "id": "6209", "name": "vaultTVL", "nodeType": "IDENTIFIER", "src": { @@ -123222,7 +123330,7 @@ "end": "106936", "length": "8", "line": "2885", - "parentIndex": "6206", + "parentIndex": "6208", "start": "106929" }, "typeDescription": { @@ -123231,7 +123339,7 @@ } } }, - "id": "6206", + "id": "6208", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -123239,7 +123347,7 @@ "end": "106938", "length": "10", "line": "2885", - "parentIndex": "6203", + "parentIndex": "6205", "start": "106929" }, "typeDescription": { @@ -123254,7 +123362,7 @@ "end": "106939", "length": "25", "line": "2885", - "parentIndex": "6202", + "parentIndex": "6204", "start": "106915" } } @@ -123263,11 +123371,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6209" + "6211" ], "declarations": [ { - "id": "6209", + "id": "6211", "mutability": "MUTABLE", "name": "amountsToInvest", "nameLocation": { @@ -123275,17 +123383,17 @@ "end": "107127", "length": "15", "line": "2889", - "parentIndex": "6209", + "parentIndex": "6211", "start": "107113" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6202", + "scope": "6204", "src": { "column": "8", "end": "107127", "length": "46", "line": "2889", - "parentIndex": "6208", + "parentIndex": "6210", "start": "107082" }, "storageLocation": "MEMORY", @@ -123297,16 +123405,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6212", + "id": "6214", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "16", "end": "107103", "length": "14", "line": "2889", - "parentIndex": "6210", + "parentIndex": "6212", "start": "107090" }, "typeDescription": { @@ -123315,7 +123423,7 @@ } } }, - "id": "6210", + "id": "6212", "name": "function", "nodeType": "IDENTIFIER", "src": { @@ -123323,7 +123431,7 @@ "end": "107088", "length": "7", "line": "2889", - "parentIndex": "6209", + "parentIndex": "6211", "start": "107082" }, "typeDescription": { @@ -123334,14 +123442,14 @@ "visibility": "INTERNAL" } ], - "id": "6208", + "id": "6210", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "107128", "length": "47", "line": "2889", - "parentIndex": "6202", + "parentIndex": "6204", "start": "107082" } } @@ -123350,7 +123458,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "6226", + "id": "6228", "implemented": true, "nodeType": "BLOCK", "src": { @@ -123358,7 +123466,7 @@ "end": "107798", "length": "599", "line": "2891", - "parentIndex": "6213", + "parentIndex": "6215", "start": "107200" }, "statements": [ @@ -123366,11 +123474,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6228" + "6230" ], "declarations": [ { - "id": "6228", + "id": "6230", "mutability": "MUTABLE", "name": "strategy", "nameLocation": { @@ -123378,17 +123486,17 @@ "end": "107230", "length": "8", "line": "2892", - "parentIndex": "6228", + "parentIndex": "6230", "start": "107223" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6226", + "scope": "6228", "src": { "column": "12", "end": "107230", "length": "17", "line": "2892", - "parentIndex": "6227", + "parentIndex": "6229", "start": "107214" }, "storageLocation": "DEFAULT", @@ -123397,37 +123505,37 @@ "typeString": "function()" }, "typeName": { - "id": "6229", + "id": "6231", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6230", + "id": "6232", "name": "Strategy", "nameLocation": { "column": "12", "end": "107221", "length": "8", "line": "2892", - "parentIndex": "6229", + "parentIndex": "6231", "start": "107214" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "107221", "length": "8", "line": "2892", - "parentIndex": "6229", + "parentIndex": "6231", "start": "107214" } }, - "referencedDeclaration": "5605", + "referencedDeclaration": "5607", "src": { "column": "12", "end": "107221", "length": "8", "line": "2892", - "parentIndex": "6228", + "parentIndex": "6230", "start": "107214" }, "typeDescription": { @@ -123438,14 +123546,14 @@ "visibility": "INTERNAL" } ], - "id": "6227", + "id": "6229", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6233", + "id": "6235", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -123454,7 +123562,7 @@ "end": "107250", "length": "1", "line": "2892", - "parentIndex": "6231", + "parentIndex": "6233", "start": "107250" }, "typeDescription": { @@ -123463,20 +123571,20 @@ } } }, - "id": "6231", + "id": "6233", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6232", + "id": "6234", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "32", "end": "107248", "length": "15", "line": "2892", - "parentIndex": "6231", + "parentIndex": "6233", "start": "107234" }, "typeDescription": { @@ -123491,7 +123599,7 @@ "end": "107251", "length": "18", "line": "2892", - "parentIndex": "6227", + "parentIndex": "6229", "start": "107234" }, "typeDescription": { @@ -123516,7 +123624,7 @@ "end": "107252", "length": "39", "line": "2892", - "parentIndex": "6226", + "parentIndex": "6228", "start": "107214" } } @@ -123525,7 +123633,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "6244", + "id": "6246", "implemented": true, "nodeType": "BLOCK", "src": { @@ -123533,20 +123641,20 @@ "end": "107340", "length": "38", "line": "2893", - "parentIndex": "6213", + "parentIndex": "6215", "start": "107303" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Break", "value": { - "id": "6245", + "id": "6247", "nodeType": "BREAK", "src": { "end": "107326", "length": "6", "line": "2894", - "parentIndex": "6244", + "parentIndex": "6246", "start": "107321" } } @@ -123556,7 +123664,7 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6235", + "id": "6237", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -123570,16 +123678,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6239", + "id": "6241", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6227", + "referencedDeclaration": "6229", "src": { "column": "24", "end": "107285", "length": "8", "line": "2893", - "parentIndex": "6236", + "parentIndex": "6238", "start": "107278" }, "typeDescription": { @@ -123598,7 +123706,7 @@ "typeString": "address" } ], - "id": "6237", + "id": "6239", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -123606,7 +123714,7 @@ "end": "107276", "length": "7", "line": "2893", - "parentIndex": "6236", + "parentIndex": "6238", "start": "107270" }, "typeDescription": { @@ -123614,7 +123722,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6238", + "id": "6240", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -123622,7 +123730,7 @@ "end": "107276", "length": "7", "line": "2893", - "parentIndex": "6237", + "parentIndex": "6239", "start": "107270" }, "stateMutability": "NONPAYABLE", @@ -123633,7 +123741,7 @@ } } }, - "id": "6236", + "id": "6238", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -123641,7 +123749,7 @@ "end": "107286", "length": "17", "line": "2893", - "parentIndex": "6235", + "parentIndex": "6237", "start": "107270" }, "typeDescription": { @@ -123666,7 +123774,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "6243", + "id": "6245", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -123675,7 +123783,7 @@ "end": "107299", "length": "1", "line": "2893", - "parentIndex": "6240", + "parentIndex": "6242", "start": "107299" }, "typeDescription": { @@ -123695,7 +123803,7 @@ "typeString": "address" } ], - "id": "6241", + "id": "6243", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -123703,7 +123811,7 @@ "end": "107297", "length": "7", "line": "2893", - "parentIndex": "6240", + "parentIndex": "6242", "start": "107291" }, "typeDescription": { @@ -123711,7 +123819,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6242", + "id": "6244", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -123719,7 +123827,7 @@ "end": "107297", "length": "7", "line": "2893", - "parentIndex": "6241", + "parentIndex": "6243", "start": "107291" }, "stateMutability": "NONPAYABLE", @@ -123730,7 +123838,7 @@ } } }, - "id": "6240", + "id": "6242", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -123738,7 +123846,7 @@ "end": "107300", "length": "10", "line": "2893", - "parentIndex": "6235", + "parentIndex": "6237", "start": "107291" }, "typeDescription": { @@ -123752,7 +123860,7 @@ "end": "107300", "length": "31", "line": "2893", - "parentIndex": "6234", + "parentIndex": "6236", "start": "107270" }, "typeDescription": { @@ -123761,13 +123869,13 @@ } } }, - "id": "6234", + "id": "6236", "nodeType": "IF_STATEMENT", "src": { "end": "107340", "length": "75", "line": "2893", - "parentIndex": "6226", + "parentIndex": "6228", "start": "107266" } } @@ -123776,11 +123884,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6247" + "6249" ], "declarations": [ { - "id": "6247", + "id": "6249", "mutability": "MUTABLE", "name": "idealStrategyTVL", "nameLocation": { @@ -123788,17 +123896,17 @@ "end": "107378", "length": "16", "line": "2897", - "parentIndex": "6247", + "parentIndex": "6249", "start": "107363" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6226", + "scope": "6228", "src": { "column": "12", "end": "107378", "length": "24", "line": "2897", - "parentIndex": "6246", + "parentIndex": "6248", "start": "107355" }, "storageLocation": "DEFAULT", @@ -123807,7 +123915,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6248", + "id": "6250", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -123815,7 +123923,7 @@ "end": "107361", "length": "7", "line": "2897", - "parentIndex": "6247", + "parentIndex": "6249", "start": "107355" }, "typeDescription": { @@ -123826,11 +123934,11 @@ "visibility": "INTERNAL" } ], - "id": "6246", + "id": "6248", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6249", + "id": "6251", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -123838,11 +123946,11 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6251", + "id": "6253", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6252", + "id": "6254", "name": "tvl", "nodeType": "IDENTIFIER", "referencedDeclaration": "527", @@ -123851,7 +123959,7 @@ "end": "107385", "length": "3", "line": "2897", - "parentIndex": "6251", + "parentIndex": "6253", "start": "107383" }, "typeDescription": { @@ -123871,16 +123979,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6256", + "id": "6258", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6227", + "referencedDeclaration": "6229", "src": { "column": "57", "end": "107407", "length": "8", "line": "2897", - "parentIndex": "6254", + "parentIndex": "6256", "start": "107400" }, "typeDescription": { @@ -123889,24 +123997,24 @@ } } }, - "id": "6254", + "id": "6256", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6255", + "id": "6257", "name": "strategies", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5401", + "referencedDeclaration": "5402", "src": { "column": "46", "end": "107398", "length": "10", "line": "2897", - "parentIndex": "6254", + "parentIndex": "6256", "start": "107389" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" } } @@ -123917,16 +124025,16 @@ "end": "107408", "length": "20", "line": "2897", - "parentIndex": "6246", + "parentIndex": "6248", "start": "107389" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_unknown_5403_$t_StrategyInfo$", + "typeIdentifier": "t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$", "typeString": "mapping(Strategy=\u003eStrategyInfo)" }, { @@ -123936,13 +124044,13 @@ ] } }, - "id": "6253", + "id": "6255", "memberLocation": { "column": "67", "end": "107415", "length": "6", "line": "2897", - "parentIndex": "6253", + "parentIndex": "6255", "start": "107410" }, "memberName": "tvlBps", @@ -123952,11 +124060,11 @@ "end": "107415", "length": "27", "line": "2897", - "parentIndex": "6246", + "parentIndex": "6248", "start": "107389" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5403_$t_StrategyInfo$]$_t_function_$", + "typeIdentifier": "t_[_[$_t_mapping_$t_unknown_5404_$t_struct$_BaseVault_StrategyInfo_$5394$]$_t_function_$", "typeString": "index[mapping(Strategy=\u003eStrategyInfo):function()]" } } @@ -123966,7 +124074,7 @@ "end": "107415", "length": "33", "line": "2897", - "parentIndex": "6250", + "parentIndex": "6252", "start": "107383" }, "typeDescription": { @@ -123976,14 +124084,14 @@ } } ], - "id": "6250", + "id": "6252", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "39", "end": "107416", "length": "35", "line": "2897", - "parentIndex": "6249", + "parentIndex": "6251", "start": "107382" }, "typeDescription": { @@ -123997,16 +124105,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6257", + "id": "6259", "name": "MAX_BPS", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5406", + "referencedDeclaration": "5408", "src": { "column": "77", "end": "107426", "length": "7", "line": "2897", - "parentIndex": "6249", + "parentIndex": "6251", "start": "107420" }, "typeDescription": { @@ -124020,7 +124128,7 @@ "end": "107426", "length": "45", "line": "2897", - "parentIndex": "6246", + "parentIndex": "6248", "start": "107382" }, "typeDescription": { @@ -124035,7 +124143,7 @@ "end": "107427", "length": "73", "line": "2897", - "parentIndex": "6226", + "parentIndex": "6228", "start": "107355" } } @@ -124044,11 +124152,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6259" + "6261" ], "declarations": [ { - "id": "6259", + "id": "6261", "mutability": "MUTABLE", "name": "currStrategyTVL", "nameLocation": { @@ -124056,17 +124164,17 @@ "end": "107463", "length": "15", "line": "2898", - "parentIndex": "6259", + "parentIndex": "6261", "start": "107449" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6226", + "scope": "6228", "src": { "column": "12", "end": "107463", "length": "23", "line": "2898", - "parentIndex": "6258", + "parentIndex": "6260", "start": "107441" }, "storageLocation": "DEFAULT", @@ -124075,7 +124183,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6260", + "id": "6262", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -124083,7 +124191,7 @@ "end": "107447", "length": "7", "line": "2898", - "parentIndex": "6259", + "parentIndex": "6261", "start": "107441" }, "typeDescription": { @@ -124094,7 +124202,7 @@ "visibility": "INTERNAL" } ], - "id": "6258", + "id": "6260", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -124104,16 +124212,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6263", + "id": "6265", "name": "strategy", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6227", + "referencedDeclaration": "6229", "src": { "column": "38", "end": "107474", "length": "8", "line": "2898", - "parentIndex": "6262", + "parentIndex": "6264", "start": "107467" }, "typeDescription": { @@ -124122,13 +124230,13 @@ } } }, - "id": "6262", + "id": "6264", "memberLocation": { "column": "47", "end": "107491", "length": "16", "line": "2898", - "parentIndex": "6262", + "parentIndex": "6264", "start": "107476" }, "memberName": "totalLockedValue", @@ -124138,7 +124246,7 @@ "end": "107491", "length": "25", "line": "2898", - "parentIndex": "6261", + "parentIndex": "6263", "start": "107467" }, "typeDescription": { @@ -124147,7 +124255,7 @@ } } }, - "id": "6261", + "id": "6263", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -124155,7 +124263,7 @@ "end": "107493", "length": "27", "line": "2898", - "parentIndex": "6258", + "parentIndex": "6260", "start": "107467" }, "typeDescription": { @@ -124170,7 +124278,7 @@ "end": "107494", "length": "54", "line": "2898", - "parentIndex": "6226", + "parentIndex": "6228", "start": "107441" } } @@ -124179,7 +124287,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "6268", + "id": "6270", "implemented": true, "nodeType": "BLOCK", "src": { @@ -124187,7 +124295,7 @@ "end": "107647", "length": "100", "line": "2899", - "parentIndex": "6213", + "parentIndex": "6215", "start": "107548" }, "statements": [ @@ -124208,7 +124316,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6271", + "id": "6273", "name": "strategy", "nodeType": "IDENTIFIER", "src": { @@ -124216,7 +124324,7 @@ "end": "107595", "length": "8", "line": "2900", - "parentIndex": "6269", + "parentIndex": "6271", "start": "107588" }, "typeDescription": { @@ -124228,20 +124336,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6272", + "id": "6274", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6273", + "id": "6275", "name": "currStrategyTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6258", + "referencedDeclaration": "6260", "src": { "column": "48", "end": "107612", "length": "15", "line": "2900", - "parentIndex": "6272", + "parentIndex": "6274", "start": "107598" }, "typeDescription": { @@ -124255,16 +124363,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6274", + "id": "6276", "name": "idealStrategyTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6246", + "referencedDeclaration": "6248", "src": { "column": "66", "end": "107631", "length": "16", "line": "2900", - "parentIndex": "6272", + "parentIndex": "6274", "start": "107616" }, "typeDescription": { @@ -124278,7 +124386,7 @@ "end": "107631", "length": "34", "line": "2900", - "parentIndex": "6269", + "parentIndex": "6271", "start": "107598" }, "typeDescription": { @@ -124291,7 +124399,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6270", + "id": "6272", "name": "_withdrawFromStrategy", "nodeType": "IDENTIFIER", "src": { @@ -124299,7 +124407,7 @@ "end": "107586", "length": "21", "line": "2900", - "parentIndex": "6269", + "parentIndex": "6271", "start": "107566" }, "typeDescription": { @@ -124308,7 +124416,7 @@ } } }, - "id": "6269", + "id": "6271", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -124316,7 +124424,7 @@ "end": "107632", "length": "67", "line": "2900", - "parentIndex": "6268", + "parentIndex": "6270", "start": "107566" }, "typeDescription": { @@ -124330,20 +124438,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6265", + "id": "6267", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6266", + "id": "6268", "name": "idealStrategyTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6246", + "referencedDeclaration": "6248", "src": { "column": "16", "end": "107527", "length": "16", "line": "2899", - "parentIndex": "6265", + "parentIndex": "6267", "start": "107512" }, "typeDescription": { @@ -124357,16 +124465,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6267", + "id": "6269", "name": "currStrategyTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6258", + "referencedDeclaration": "6260", "src": { "column": "35", "end": "107545", "length": "15", "line": "2899", - "parentIndex": "6265", + "parentIndex": "6267", "start": "107531" }, "typeDescription": { @@ -124380,7 +124488,7 @@ "end": "107545", "length": "34", "line": "2899", - "parentIndex": "6264", + "parentIndex": "6266", "start": "107512" }, "typeDescription": { @@ -124389,13 +124497,13 @@ } } }, - "id": "6264", + "id": "6266", "nodeType": "IF_STATEMENT", "src": { "end": "107647", "length": "140", "line": "2899", - "parentIndex": "6226", + "parentIndex": "6228", "start": "107508" } } @@ -124404,7 +124512,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "6279", + "id": "6281", "implemented": true, "nodeType": "BLOCK", "src": { @@ -124412,7 +124520,7 @@ "end": "107788", "length": "88", "line": "2902", - "parentIndex": "6213", + "parentIndex": "6215", "start": "107701" }, "statements": [ @@ -124422,14 +124530,14 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6281", + "id": "6283", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6284", + "id": "6286", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -124438,7 +124546,7 @@ "end": "107735", "length": "1", "line": "2903", - "parentIndex": "6282", + "parentIndex": "6284", "start": "107735" }, "typeDescription": { @@ -124447,20 +124555,20 @@ } } }, - "id": "6282", + "id": "6284", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6283", + "id": "6285", "name": "amountsToInvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6208", + "referencedDeclaration": "6210", "src": { "column": "16", "end": "107733", "length": "15", "line": "2903", - "parentIndex": "6282", + "parentIndex": "6284", "start": "107719" }, "typeDescription": { @@ -124475,7 +124583,7 @@ "end": "107736", "length": "18", "line": "2903", - "parentIndex": "6281", + "parentIndex": "6283", "start": "107719" }, "typeDescription": { @@ -124499,20 +124607,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6285", + "id": "6287", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6286", + "id": "6288", "name": "idealStrategyTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6246", + "referencedDeclaration": "6248", "src": { "column": "37", "end": "107755", "length": "16", "line": "2903", - "parentIndex": "6285", + "parentIndex": "6287", "start": "107740" }, "typeDescription": { @@ -124526,16 +124634,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6287", + "id": "6289", "name": "currStrategyTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6258", + "referencedDeclaration": "6260", "src": { "column": "56", "end": "107773", "length": "15", "line": "2903", - "parentIndex": "6285", + "parentIndex": "6287", "start": "107759" }, "typeDescription": { @@ -124549,7 +124657,7 @@ "end": "107773", "length": "34", "line": "2903", - "parentIndex": "6281", + "parentIndex": "6283", "start": "107740" }, "typeDescription": { @@ -124563,7 +124671,7 @@ "end": "107773", "length": "55", "line": "2903", - "parentIndex": "6280", + "parentIndex": "6282", "start": "107719" }, "typeDescription": { @@ -124572,14 +124680,14 @@ } } }, - "id": "6280", + "id": "6282", "nodeType": "ASSIGNMENT", "src": { "column": "16", "end": "107774", "length": "56", "line": "2903", - "parentIndex": "6279", + "parentIndex": "6281", "start": "107719" }, "typeDescription": { @@ -124593,20 +124701,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6276", + "id": "6278", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6277", + "id": "6279", "name": "idealStrategyTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6246", + "referencedDeclaration": "6248", "src": { "column": "16", "end": "107680", "length": "16", "line": "2902", - "parentIndex": "6276", + "parentIndex": "6278", "start": "107665" }, "typeDescription": { @@ -124620,16 +124728,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6278", + "id": "6280", "name": "currStrategyTVL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6258", + "referencedDeclaration": "6260", "src": { "column": "35", "end": "107698", "length": "15", "line": "2902", - "parentIndex": "6276", + "parentIndex": "6278", "start": "107684" }, "typeDescription": { @@ -124643,7 +124751,7 @@ "end": "107698", "length": "34", "line": "2902", - "parentIndex": "6275", + "parentIndex": "6277", "start": "107665" }, "typeDescription": { @@ -124652,13 +124760,13 @@ } } }, - "id": "6275", + "id": "6277", "nodeType": "IF_STATEMENT", "src": { "end": "107788", "length": "128", "line": "2902", - "parentIndex": "6226", + "parentIndex": "6228", "start": "107661" } } @@ -124668,11 +124776,11 @@ "closure": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6221", + "id": "6223", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6222", + "id": "6224", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -124681,7 +124789,7 @@ "end": "107179", "length": "1", "line": "2891", - "parentIndex": "6221", + "parentIndex": "6223", "start": "107179" }, "typeDescription": { @@ -124705,7 +124813,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6225", + "id": "6227", "name": "i", "nodeType": "IDENTIFIER", "src": { @@ -124713,7 +124821,7 @@ "end": "107196", "length": "1", "line": "2891", - "parentIndex": "6223", + "parentIndex": "6225", "start": "107196" }, "typeDescription": { @@ -124726,7 +124834,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6224", + "id": "6226", "name": "uncheckedInc", "nodeType": "IDENTIFIER", "src": { @@ -124734,7 +124842,7 @@ "end": "107194", "length": "12", "line": "2891", - "parentIndex": "6223", + "parentIndex": "6225", "start": "107183" }, "typeDescription": { @@ -124743,7 +124851,7 @@ } } }, - "id": "6223", + "id": "6225", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -124751,7 +124859,7 @@ "end": "107197", "length": "15", "line": "2891", - "parentIndex": "6221", + "parentIndex": "6223", "start": "107183" }, "typeDescription": { @@ -124765,7 +124873,7 @@ "end": "107197", "length": "19", "line": "2891", - "parentIndex": "6213", + "parentIndex": "6215", "start": "107179" }, "typeDescription": { @@ -124777,11 +124885,11 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6218", + "id": "6220", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6219", + "id": "6221", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -124790,7 +124898,7 @@ "end": "107159", "length": "1", "line": "2891", - "parentIndex": "6218", + "parentIndex": "6220", "start": "107159" }, "typeDescription": { @@ -124804,16 +124912,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6220", + "id": "6222", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "32", "end": "107176", "length": "14", "line": "2891", - "parentIndex": "6218", + "parentIndex": "6220", "start": "107163" }, "typeDescription": { @@ -124827,7 +124935,7 @@ "end": "107176", "length": "18", "line": "2891", - "parentIndex": "6213", + "parentIndex": "6215", "start": "107159" }, "typeDescription": { @@ -124836,16 +124944,16 @@ } } }, - "id": "6213", + "id": "6215", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6215" + "6217" ], "declarations": [ { - "id": "6215", + "id": "6217", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -124853,17 +124961,17 @@ "end": "107152", "length": "1", "line": "2891", - "parentIndex": "6215", + "parentIndex": "6217", "start": "107152" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6202", + "scope": "6204", "src": { "column": "13", "end": "107152", "length": "9", "line": "2891", - "parentIndex": "6214", + "parentIndex": "6216", "start": "107144" }, "storageLocation": "DEFAULT", @@ -124872,7 +124980,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6216", + "id": "6218", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -124880,7 +124988,7 @@ "end": "107150", "length": "7", "line": "2891", - "parentIndex": "6215", + "parentIndex": "6217", "start": "107144" }, "typeDescription": { @@ -124891,12 +124999,12 @@ "visibility": "INTERNAL" } ], - "id": "6214", + "id": "6216", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "6217", + "id": "6219", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -124905,7 +125013,7 @@ "end": "107156", "length": "1", "line": "2891", - "parentIndex": "6214", + "parentIndex": "6216", "start": "107156" }, "typeDescription": { @@ -124921,7 +125029,7 @@ "end": "107157", "length": "14", "line": "2891", - "parentIndex": "6202", + "parentIndex": "6204", "start": "107144" } } @@ -124931,7 +125039,7 @@ "end": "107798", "length": "660", "line": "2891", - "parentIndex": "6202", + "parentIndex": "6204", "start": "107139" } } @@ -124940,7 +125048,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "6301", + "id": "6303", "implemented": true, "nodeType": "BLOCK", "src": { @@ -124948,7 +125056,7 @@ "end": "108696", "length": "755", "line": "2908", - "parentIndex": "6288", + "parentIndex": "6290", "start": "107942" }, "statements": [ @@ -124956,11 +125064,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6303" + "6305" ], "declarations": [ { - "id": "6303", + "id": "6305", "mutability": "MUTABLE", "name": "amountToInvest", "nameLocation": { @@ -124968,17 +125076,17 @@ "end": "107977", "length": "14", "line": "2909", - "parentIndex": "6303", + "parentIndex": "6305", "start": "107964" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6301", + "scope": "6303", "src": { "column": "12", "end": "107977", "length": "22", "line": "2909", - "parentIndex": "6302", + "parentIndex": "6304", "start": "107956" }, "storageLocation": "DEFAULT", @@ -124987,7 +125095,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6304", + "id": "6306", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -124995,7 +125103,7 @@ "end": "107962", "length": "7", "line": "2909", - "parentIndex": "6303", + "parentIndex": "6305", "start": "107956" }, "typeDescription": { @@ -125006,14 +125114,14 @@ "visibility": "INTERNAL" } ], - "id": "6302", + "id": "6304", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6307", + "id": "6309", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -125022,7 +125130,7 @@ "end": "107997", "length": "1", "line": "2909", - "parentIndex": "6305", + "parentIndex": "6307", "start": "107997" }, "typeDescription": { @@ -125031,20 +125139,20 @@ } } }, - "id": "6305", + "id": "6307", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6306", + "id": "6308", "name": "amountsToInvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6208", + "referencedDeclaration": "6210", "src": { "column": "37", "end": "107995", "length": "15", "line": "2909", - "parentIndex": "6305", + "parentIndex": "6307", "start": "107981" }, "typeDescription": { @@ -125059,7 +125167,7 @@ "end": "107998", "length": "18", "line": "2909", - "parentIndex": "6302", + "parentIndex": "6304", "start": "107981" }, "typeDescription": { @@ -125084,7 +125192,7 @@ "end": "107999", "length": "44", "line": "2909", - "parentIndex": "6301", + "parentIndex": "6303", "start": "107956" } } @@ -125093,7 +125201,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "6312", + "id": "6314", "implemented": true, "nodeType": "BLOCK", "src": { @@ -125101,20 +125209,20 @@ "end": "108078", "length": "41", "line": "2910", - "parentIndex": "6288", + "parentIndex": "6290", "start": "108038" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Continue", "value": { - "id": "6313", + "id": "6315", "nodeType": "CONTINUE", "src": { "end": "108064", "length": "9", "line": "2911", - "parentIndex": "6312", + "parentIndex": "6314", "start": "108056" } } @@ -125124,20 +125232,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6309", + "id": "6311", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6310", + "id": "6312", "name": "amountToInvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6302", + "referencedDeclaration": "6304", "src": { "column": "16", "end": "108030", "length": "14", "line": "2910", - "parentIndex": "6309", + "parentIndex": "6311", "start": "108017" }, "typeDescription": { @@ -125152,7 +125260,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "6311", + "id": "6313", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -125161,7 +125269,7 @@ "end": "108035", "length": "1", "line": "2910", - "parentIndex": "6309", + "parentIndex": "6311", "start": "108035" }, "typeDescription": { @@ -125176,7 +125284,7 @@ "end": "108035", "length": "19", "line": "2910", - "parentIndex": "6308", + "parentIndex": "6310", "start": "108017" }, "typeDescription": { @@ -125185,13 +125293,13 @@ } } }, - "id": "6308", + "id": "6310", "nodeType": "IF_STATEMENT", "src": { "end": "108078", "length": "66", "line": "2910", - "parentIndex": "6301", + "parentIndex": "6303", "start": "108013" } } @@ -125202,20 +125310,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6315", + "id": "6317", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6316", + "id": "6318", "name": "amountToInvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6302", + "referencedDeclaration": "6304", "src": { "column": "12", "end": "108388", "length": "14", "line": "2918", - "parentIndex": "6315", + "parentIndex": "6317", "start": "108375" }, "typeDescription": { @@ -125243,16 +125351,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6320", + "id": "6322", "name": "amountToInvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6302", + "referencedDeclaration": "6304", "src": { "column": "38", "end": "108414", "length": "14", "line": "2918", - "parentIndex": "6317", + "parentIndex": "6319", "start": "108401" }, "typeDescription": { @@ -125276,7 +125384,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } ], @@ -125284,7 +125392,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6327", + "id": "6329", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -125292,11 +125400,11 @@ "end": "108445", "length": "4", "line": "2918", - "parentIndex": "6324", + "parentIndex": "6326", "start": "108442" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -125311,7 +125419,7 @@ "typeString": "address" } ], - "id": "6325", + "id": "6327", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -125319,7 +125427,7 @@ "end": "108440", "length": "7", "line": "2918", - "parentIndex": "6324", + "parentIndex": "6326", "start": "108434" }, "typeDescription": { @@ -125327,7 +125435,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6326", + "id": "6328", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -125335,7 +125443,7 @@ "end": "108440", "length": "7", "line": "2918", - "parentIndex": "6325", + "parentIndex": "6327", "start": "108434" }, "stateMutability": "NONPAYABLE", @@ -125346,7 +125454,7 @@ } } }, - "id": "6324", + "id": "6326", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -125354,7 +125462,7 @@ "end": "108446", "length": "13", "line": "2918", - "parentIndex": "6321", + "parentIndex": "6323", "start": "108434" }, "typeDescription": { @@ -125370,31 +125478,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6323", + "id": "6325", "name": "_asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5206", + "referencedDeclaration": "5207", "src": { "column": "54", "end": "108422", "length": "6", "line": "2918", - "parentIndex": "6322", + "parentIndex": "6324", "start": "108417" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6322", + "id": "6324", "memberLocation": { "column": "61", "end": "108432", "length": "9", "line": "2918", - "parentIndex": "6322", + "parentIndex": "6324", "start": "108424" }, "memberName": "balanceOf", @@ -125404,16 +125512,16 @@ "end": "108432", "length": "16", "line": "2918", - "parentIndex": "6321", + "parentIndex": "6323", "start": "108417" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6321", + "id": "6323", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -125421,7 +125529,7 @@ "end": "108447", "length": "31", "line": "2918", - "parentIndex": "6317", + "parentIndex": "6319", "start": "108417" }, "typeDescription": { @@ -125437,7 +125545,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6319", + "id": "6321", "name": "Math", "nodeType": "IDENTIFIER", "referencedDeclaration": "896", @@ -125446,7 +125554,7 @@ "end": "108395", "length": "4", "line": "2918", - "parentIndex": "6318", + "parentIndex": "6320", "start": "108392" }, "typeDescription": { @@ -125455,13 +125563,13 @@ } } }, - "id": "6318", + "id": "6320", "memberLocation": { "column": "34", "end": "108399", "length": "3", "line": "2918", - "parentIndex": "6318", + "parentIndex": "6320", "start": "108397" }, "memberName": "min", @@ -125471,7 +125579,7 @@ "end": "108399", "length": "8", "line": "2918", - "parentIndex": "6317", + "parentIndex": "6319", "start": "108392" }, "typeDescription": { @@ -125480,7 +125588,7 @@ } } }, - "id": "6317", + "id": "6319", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -125488,7 +125596,7 @@ "end": "108448", "length": "57", "line": "2918", - "parentIndex": "6315", + "parentIndex": "6317", "start": "108392" }, "typeDescription": { @@ -125502,7 +125610,7 @@ "end": "108448", "length": "74", "line": "2918", - "parentIndex": "6314", + "parentIndex": "6316", "start": "108375" }, "typeDescription": { @@ -125511,14 +125619,14 @@ } } }, - "id": "6314", + "id": "6316", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "108449", "length": "75", "line": "2918", - "parentIndex": "6301", + "parentIndex": "6303", "start": "108375" }, "typeDescription": { @@ -125531,7 +125639,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "6332", + "id": "6334", "implemented": true, "nodeType": "BLOCK", "src": { @@ -125539,20 +125647,20 @@ "end": "108525", "length": "38", "line": "2919", - "parentIndex": "6288", + "parentIndex": "6290", "start": "108488" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Break", "value": { - "id": "6333", + "id": "6335", "nodeType": "BREAK", "src": { "end": "108511", "length": "6", "line": "2920", - "parentIndex": "6332", + "parentIndex": "6334", "start": "108506" } } @@ -125562,20 +125670,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6329", + "id": "6331", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6330", + "id": "6332", "name": "amountToInvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6302", + "referencedDeclaration": "6304", "src": { "column": "16", "end": "108480", "length": "14", "line": "2919", - "parentIndex": "6329", + "parentIndex": "6331", "start": "108467" }, "typeDescription": { @@ -125590,7 +125698,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "6331", + "id": "6333", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -125599,7 +125707,7 @@ "end": "108485", "length": "1", "line": "2919", - "parentIndex": "6329", + "parentIndex": "6331", "start": "108485" }, "typeDescription": { @@ -125614,7 +125722,7 @@ "end": "108485", "length": "19", "line": "2919", - "parentIndex": "6328", + "parentIndex": "6330", "start": "108467" }, "typeDescription": { @@ -125623,13 +125731,13 @@ } } }, - "id": "6328", + "id": "6330", "nodeType": "IF_STATEMENT", "src": { "end": "108525", "length": "63", "line": "2919", - "parentIndex": "6301", + "parentIndex": "6303", "start": "108463" } } @@ -125654,7 +125762,7 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6338", + "id": "6340", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -125663,7 +125771,7 @@ "end": "108667", "length": "1", "line": "2923", - "parentIndex": "6336", + "parentIndex": "6338", "start": "108667" }, "typeDescription": { @@ -125672,20 +125780,20 @@ } } }, - "id": "6336", + "id": "6338", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6337", + "id": "6339", "name": "withdrawalQueue", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5333", + "referencedDeclaration": "5334", "src": { "column": "33", "end": "108665", "length": "15", "line": "2923", - "parentIndex": "6336", + "parentIndex": "6338", "start": "108651" }, "typeDescription": { @@ -125700,7 +125808,7 @@ "end": "108668", "length": "18", "line": "2923", - "parentIndex": "6334", + "parentIndex": "6336", "start": "108651" }, "typeDescription": { @@ -125728,16 +125836,16 @@ "typeString": "index[int_const 20:uint256]" } ], - "id": "6339", + "id": "6341", "name": "amountToInvest", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6302", + "referencedDeclaration": "6304", "src": { "column": "53", "end": "108684", "length": "14", "line": "2923", - "parentIndex": "6334", + "parentIndex": "6336", "start": "108671" }, "typeDescription": { @@ -125750,7 +125858,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6335", + "id": "6337", "name": "_depositIntoStrategy", "nodeType": "IDENTIFIER", "src": { @@ -125758,7 +125866,7 @@ "end": "108649", "length": "20", "line": "2923", - "parentIndex": "6334", + "parentIndex": "6336", "start": "108630" }, "typeDescription": { @@ -125767,7 +125875,7 @@ } } }, - "id": "6334", + "id": "6336", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -125775,7 +125883,7 @@ "end": "108685", "length": "56", "line": "2923", - "parentIndex": "6301", + "parentIndex": "6303", "start": "108630" }, "typeDescription": { @@ -125789,11 +125897,11 @@ "closure": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6296", + "id": "6298", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6297", + "id": "6299", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -125802,7 +125910,7 @@ "end": "107921", "length": "1", "line": "2908", - "parentIndex": "6296", + "parentIndex": "6298", "start": "107921" }, "typeDescription": { @@ -125826,7 +125934,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6300", + "id": "6302", "name": "i", "nodeType": "IDENTIFIER", "src": { @@ -125834,7 +125942,7 @@ "end": "107938", "length": "1", "line": "2908", - "parentIndex": "6298", + "parentIndex": "6300", "start": "107938" }, "typeDescription": { @@ -125847,7 +125955,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6299", + "id": "6301", "name": "uncheckedInc", "nodeType": "IDENTIFIER", "src": { @@ -125855,7 +125963,7 @@ "end": "107936", "length": "12", "line": "2908", - "parentIndex": "6298", + "parentIndex": "6300", "start": "107925" }, "typeDescription": { @@ -125864,7 +125972,7 @@ } } }, - "id": "6298", + "id": "6300", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -125872,7 +125980,7 @@ "end": "107939", "length": "15", "line": "2908", - "parentIndex": "6296", + "parentIndex": "6298", "start": "107925" }, "typeDescription": { @@ -125886,7 +125994,7 @@ "end": "107939", "length": "19", "line": "2908", - "parentIndex": "6288", + "parentIndex": "6290", "start": "107921" }, "typeDescription": { @@ -125898,11 +126006,11 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6293", + "id": "6295", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6294", + "id": "6296", "name": "i", "nodeType": "IDENTIFIER", "referencedDeclaration": "836", @@ -125911,7 +126019,7 @@ "end": "107901", "length": "1", "line": "2908", - "parentIndex": "6293", + "parentIndex": "6295", "start": "107901" }, "typeDescription": { @@ -125925,16 +126033,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6295", + "id": "6297", "name": "MAX_STRATEGIES", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5329", + "referencedDeclaration": "5330", "src": { "column": "32", "end": "107918", "length": "14", "line": "2908", - "parentIndex": "6293", + "parentIndex": "6295", "start": "107905" }, "typeDescription": { @@ -125948,7 +126056,7 @@ "end": "107918", "length": "18", "line": "2908", - "parentIndex": "6288", + "parentIndex": "6290", "start": "107901" }, "typeDescription": { @@ -125957,16 +126065,16 @@ } } }, - "id": "6288", + "id": "6290", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6290" + "6292" ], "declarations": [ { - "id": "6290", + "id": "6292", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -125974,17 +126082,17 @@ "end": "107894", "length": "1", "line": "2908", - "parentIndex": "6290", + "parentIndex": "6292", "start": "107894" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6202", + "scope": "6204", "src": { "column": "13", "end": "107894", "length": "9", "line": "2908", - "parentIndex": "6289", + "parentIndex": "6291", "start": "107886" }, "storageLocation": "DEFAULT", @@ -125993,7 +126101,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6291", + "id": "6293", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -126001,7 +126109,7 @@ "end": "107892", "length": "7", "line": "2908", - "parentIndex": "6290", + "parentIndex": "6292", "start": "107886" }, "typeDescription": { @@ -126012,12 +126120,12 @@ "visibility": "INTERNAL" } ], - "id": "6289", + "id": "6291", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "6292", + "id": "6294", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -126026,7 +126134,7 @@ "end": "107898", "length": "1", "line": "2908", - "parentIndex": "6289", + "parentIndex": "6291", "start": "107898" }, "typeDescription": { @@ -126042,7 +126150,7 @@ "end": "107899", "length": "14", "line": "2908", - "parentIndex": "6202", + "parentIndex": "6204", "start": "107886" } } @@ -126052,7 +126160,7 @@ "end": "108696", "length": "816", "line": "2908", - "parentIndex": "6202", + "parentIndex": "6204", "start": "107881" } } @@ -126067,7 +126175,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6342", + "id": "6344", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -126075,7 +126183,7 @@ "end": "108724", "length": "3", "line": "2926", - "parentIndex": "6341", + "parentIndex": "6343", "start": "108722" }, "typeDescription": { @@ -126084,13 +126192,13 @@ } } }, - "id": "6341", + "id": "6343", "memberLocation": { "column": "27", "end": "108731", "length": "6", "line": "2926", - "parentIndex": "6341", + "parentIndex": "6343", "start": "108726" }, "memberName": "sender", @@ -126100,7 +126208,7 @@ "end": "108731", "length": "10", "line": "2926", - "parentIndex": "6340", + "parentIndex": "6342", "start": "108722" }, "typeDescription": { @@ -126113,39 +126221,39 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6343", + "id": "6345", "name": "Rebalance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6191", + "referencedDeclaration": "6193", "src": { "column": "13", "end": "108720", "length": "9", "line": "2926", - "parentIndex": "6340", + "parentIndex": "6342", "start": "108712" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BaseVault_Rebalance_\u00266191", + "typeIdentifier": "t_event\u0026_BaseVault_Rebalance_\u00266193", "typeString": "event BaseVault.Rebalance" } } }, - "id": "6340", + "id": "6342", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "108733", "length": "27", "line": "2926", - "parentIndex": "6196", + "parentIndex": "6198", "start": "108707" } } } ] }, - "id": "6196", + "id": "6198", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -126160,16 +126268,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6200", + "id": "6202", "name": "HARVESTER", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5323", + "referencedDeclaration": "5324", "src": { "column": "43", "end": "106902", "length": "9", "line": "2884", - "parentIndex": "6198", + "parentIndex": "6200", "start": "106894" }, "typeDescription": { @@ -126179,17 +126287,17 @@ } } ], - "id": "6198", + "id": "6200", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "6199", + "id": "6201", "name": "onlyRole", "src": { "column": "34", "end": "106892", "length": "8", "line": "2884", - "parentIndex": "6198", + "parentIndex": "6200", "start": "106885" } }, @@ -126200,7 +126308,7 @@ "end": "106903", "length": "19", "line": "2884", - "parentIndex": "6196", + "parentIndex": "6198", "start": "106885" } } @@ -126211,42 +126319,42 @@ "end": "106872", "length": "9", "line": "2884", - "parentIndex": "6196", + "parentIndex": "6198", "start": "106864" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6197", + "id": "6199", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "108739", "length": "1885", "line": "2884", - "parentIndex": "6196", + "parentIndex": "6198", "start": "106855" } }, "returnParameters": { - "id": "6201", + "id": "6203", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "108739", "length": "1885", "line": "2884", - "parentIndex": "6196", + "parentIndex": "6198", "start": "106855" } }, - "scope": "5193", + "scope": "5194", "signature": "7d7c2a1c", "src": { "column": "4", "end": "108739", "length": "1885", "line": "2884", - "parentIndex": "5193", + "parentIndex": "5194", "start": "106855" }, "stateMutability": "NONPAYABLE", @@ -126262,7 +126370,7 @@ "end": "108741", "length": "22649", "line": "2384", - "parentIndex": "5126", + "parentIndex": "5127", "start": "86093" } } @@ -126278,28 +126386,28 @@ } }, { - "id": 6344, + "id": 6346, "license": "BUSL-1.1", "name": "BridgeEscrow", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BridgeEscrow.sol", "exported_symbols": [ { - "id": 6344, + "id": 6346, "name": "BridgeEscrow", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/BridgeEscrow.sol" }, { - "id": 5126, + "id": 5127, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 5126, + "id": 5127, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 5126, + "id": 5127, "name": "BaseVault", "absolute_path": "BaseVault.sol" } @@ -126310,7 +126418,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "6368", + "id": "6370", "literals": [ "pragma", "solidity", @@ -126327,7 +126435,7 @@ "end": "108804", "length": "24", "line": "2932", - "parentIndex": "6344", + "parentIndex": "6346", "start": "108781" }, "text": "pragma solidity =0.8.16;" @@ -126338,15 +126446,15 @@ "value": { "absolutePath": "ERC20.sol", "file": "./ERC20.sol", - "id": "6412", + "id": "6414", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6344", - "sourceUnit": "5126", + "scope": "6346", + "sourceUnit": "5127", "src": { "end": "108840", "length": "34", "line": "2934", - "parentIndex": "6344", + "parentIndex": "6346", "start": "108807" } } @@ -126356,15 +126464,15 @@ "value": { "absolutePath": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "id": "6413", + "id": "6415", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6344", - "sourceUnit": "5126", + "scope": "6346", + "sourceUnit": "5127", "src": { "end": "108895", "length": "54", "line": "2935", - "parentIndex": "6344", + "parentIndex": "6346", "start": "108842" } } @@ -126374,15 +126482,15 @@ "value": { "absolutePath": "BaseVault.sol", "file": "./BaseVault.sol", - "id": "6414", + "id": "6416", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6344", - "sourceUnit": "5126", + "scope": "6346", + "sourceUnit": "5127", "src": { "end": "108939", "length": "42", "line": "2937", - "parentIndex": "6344", + "parentIndex": "6346", "start": "108898" } } @@ -126391,18 +126499,18 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "contractDependencies": [ - "6412", - "6413", - "6414" + "6414", + "6415", + "6416" ], "fullyImplemented": true, - "id": "6415", + "id": "6417", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ + "6417", + "6414", "6415", - "6412", - "6413", - "6414" + "6416" ], "name": "BridgeEscrow", "nameLocation": { @@ -126410,7 +126518,7 @@ "end": "108971", "length": "12", "line": "2939", - "parentIndex": "6415", + "parentIndex": "6417", "start": "108960" }, "nodeType": "CONTRACT_DEFINITION", @@ -126418,17 +126526,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", "value": { - "id": "6417", + "id": "6419", "libraryName": { - "id": "6418", + "id": "6420", "name": "SafeTransferLib", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4499", + "referencedDeclaration": "4500", "src": { "end": "108999", "length": "15", "line": "2940", - "parentIndex": "6417", + "parentIndex": "6419", "start": "108985" } }, @@ -126438,45 +126546,45 @@ "end": "109010", "length": "32", "line": "2940", - "parentIndex": "6415", + "parentIndex": "6417", "start": "108979" }, "typeName": { - "id": "6419", + "id": "6421", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6420", + "id": "6422", "name": "ERC20", "nameLocation": { "column": "30", "end": "109009", "length": "5", "line": "2940", - "parentIndex": "6419", + "parentIndex": "6421", "start": "109005" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "30", "end": "109009", "length": "5", "line": "2940", - "parentIndex": "6419", + "parentIndex": "6421", "start": "109005" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "30", "end": "109009", "length": "5", "line": "2940", - "parentIndex": "6417", + "parentIndex": "6419", "start": "109005" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -126485,61 +126593,61 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "6422", + "id": "6424", "isStateVariable": true, "name": "asset", "nodeType": "VARIABLE_DECLARATION", - "scope": "6415", + "scope": "6417", "src": { "column": "4", "end": "109078", "length": "29", "line": "2943", - "parentIndex": "6415", + "parentIndex": "6417", "start": "109050" }, "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" }, "typeName": { - "id": "6423", + "id": "6425", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6424", + "id": "6426", "name": "ERC20", "nameLocation": { "column": "4", "end": "109054", "length": "5", "line": "2943", - "parentIndex": "6423", + "parentIndex": "6425", "start": "109050" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "109054", "length": "5", "line": "2943", - "parentIndex": "6423", + "parentIndex": "6425", "start": "109050" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "4", "end": "109054", "length": "5", "line": "2943", - "parentIndex": "6422", + "parentIndex": "6424", "start": "109050" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } }, @@ -126549,17 +126657,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "6426", + "id": "6428", "isStateVariable": true, "name": "wormholeRouter", "nodeType": "VARIABLE_DECLARATION", - "scope": "6415", + "scope": "6417", "src": { "column": "4", "end": "109169", "length": "40", "line": "2945", - "parentIndex": "6415", + "parentIndex": "6417", "start": "109130" }, "stateMutability": "IMMUTABLE", @@ -126569,7 +126677,7 @@ "typeString": "address" }, "typeName": { - "id": "6427", + "id": "6429", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -126577,7 +126685,7 @@ "end": "109136", "length": "7", "line": "2945", - "parentIndex": "6426", + "parentIndex": "6428", "start": "109130" }, "stateMutability": "NONPAYABLE", @@ -126592,17 +126700,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "6429", + "id": "6431", "isStateVariable": true, "name": "governance", "nodeType": "VARIABLE_DECLARATION", - "scope": "6415", + "scope": "6417", "src": { "column": "4", "end": "109266", "length": "36", "line": "2947", - "parentIndex": "6415", + "parentIndex": "6417", "start": "109231" }, "stateMutability": "IMMUTABLE", @@ -126612,7 +126720,7 @@ "typeString": "address" }, "typeName": { - "id": "6430", + "id": "6432", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -126620,7 +126728,7 @@ "end": "109237", "length": "7", "line": "2947", - "parentIndex": "6429", + "parentIndex": "6431", "start": "109231" }, "stateMutability": "NONPAYABLE", @@ -126635,24 +126743,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "6432", + "id": "6434", "name": "TransferToVault", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "6433", + "id": "6435", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6434", + "id": "6436", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "6434", + "scope": "6436", "src": { "column": "26", "end": "109458", "length": "14", "line": "2953", - "parentIndex": "6433", + "parentIndex": "6435", "start": "109445" }, "stateMutability": "MUTABLE", @@ -126662,7 +126770,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6435", + "id": "6437", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -126670,7 +126778,7 @@ "end": "109451", "length": "7", "line": "2953", - "parentIndex": "6434", + "parentIndex": "6436", "start": "109445" }, "typeDescription": { @@ -126686,7 +126794,7 @@ "end": "109460", "length": "38", "line": "2953", - "parentIndex": "6432", + "parentIndex": "6434", "start": "109423" } }, @@ -126695,11 +126803,11 @@ "end": "109460", "length": "38", "line": "2953", - "parentIndex": "6415", + "parentIndex": "6417", "start": "109423" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266432", + "typeIdentifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266434", "typeString": "event BridgeEscrow.TransferToVault" } } @@ -126708,7 +126816,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6443", + "id": "6445", "implemented": true, "nodeType": "BLOCK", "src": { @@ -126716,7 +126824,7 @@ "end": "109634", "length": "138", "line": "2955", - "parentIndex": "6437", + "parentIndex": "6439", "start": "109497" }, "statements": [ @@ -126726,20 +126834,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6445", + "id": "6447", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6446", + "id": "6448", "name": "wormholeRouter", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5271", + "referencedDeclaration": "5272", "src": { "column": "8", "end": "109520", "length": "14", "line": "2956", - "parentIndex": "6445", + "parentIndex": "6447", "start": "109507" }, "typeDescription": { @@ -126759,31 +126867,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6449", + "id": "6451", "name": "_vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6449", + "referencedDeclaration": "6451", "src": { "column": "25", "end": "109529", "length": "6", "line": "2956", - "parentIndex": "6448", + "parentIndex": "6450", "start": "109524" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6448", + "id": "6450", "memberLocation": { "column": "32", "end": "109544", "length": "14", "line": "2956", - "parentIndex": "6448", + "parentIndex": "6450", "start": "109531" }, "memberName": "wormholeRouter", @@ -126793,16 +126901,16 @@ "end": "109544", "length": "21", "line": "2956", - "parentIndex": "6447", + "parentIndex": "6449", "start": "109524" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6447", + "id": "6449", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -126810,7 +126918,7 @@ "end": "109546", "length": "23", "line": "2956", - "parentIndex": "6445", + "parentIndex": "6447", "start": "109524" }, "typeDescription": { @@ -126824,7 +126932,7 @@ "end": "109546", "length": "40", "line": "2956", - "parentIndex": "6444", + "parentIndex": "6446", "start": "109507" }, "typeDescription": { @@ -126833,14 +126941,14 @@ } } }, - "id": "6444", + "id": "6446", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "109547", "length": "41", "line": "2956", - "parentIndex": "6443", + "parentIndex": "6445", "start": "109507" }, "typeDescription": { @@ -126855,24 +126963,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6451", + "id": "6453", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6452", + "id": "6454", "name": "asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5021", + "referencedDeclaration": "5022", "src": { "column": "8", "end": "109561", "length": "5", "line": "2957", - "parentIndex": "6451", + "parentIndex": "6453", "start": "109557" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -126898,31 +127006,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6457", + "id": "6459", "name": "_vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6457", + "referencedDeclaration": "6459", "src": { "column": "22", "end": "109576", "length": "6", "line": "2957", - "parentIndex": "6456", + "parentIndex": "6458", "start": "109571" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6456", + "id": "6458", "memberLocation": { "column": "29", "end": "109582", "length": "5", "line": "2957", - "parentIndex": "6456", + "parentIndex": "6458", "start": "109578" }, "memberName": "asset", @@ -126932,16 +127040,16 @@ "end": "109582", "length": "12", "line": "2957", - "parentIndex": "6455", + "parentIndex": "6457", "start": "109571" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6455", + "id": "6457", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -126949,7 +127057,7 @@ "end": "109584", "length": "14", "line": "2957", - "parentIndex": "6453", + "parentIndex": "6455", "start": "109571" }, "typeDescription": { @@ -126962,7 +127070,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6454", + "id": "6456", "name": "ERC20", "nodeType": "IDENTIFIER", "src": { @@ -126970,7 +127078,7 @@ "end": "109569", "length": "5", "line": "2957", - "parentIndex": "6453", + "parentIndex": "6455", "start": "109565" }, "typeDescription": { @@ -126979,7 +127087,7 @@ } } }, - "id": "6453", + "id": "6455", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -126987,7 +127095,7 @@ "end": "109585", "length": "21", "line": "2957", - "parentIndex": "6451", + "parentIndex": "6453", "start": "109565" }, "typeDescription": { @@ -127001,27 +127109,27 @@ "end": "109585", "length": "29", "line": "2957", - "parentIndex": "6450", + "parentIndex": "6452", "start": "109557" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6450", + "id": "6452", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "109586", "length": "30", "line": "2957", - "parentIndex": "6443", + "parentIndex": "6445", "start": "109557" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -127032,20 +127140,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6459", + "id": "6461", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6460", + "id": "6462", "name": "governance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4884", + "referencedDeclaration": "4885", "src": { "column": "8", "end": "109605", "length": "10", "line": "2958", - "parentIndex": "6459", + "parentIndex": "6461", "start": "109596" }, "typeDescription": { @@ -127065,31 +127173,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6463", + "id": "6465", "name": "_vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6463", + "referencedDeclaration": "6465", "src": { "column": "21", "end": "109614", "length": "6", "line": "2958", - "parentIndex": "6462", + "parentIndex": "6464", "start": "109609" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6462", + "id": "6464", "memberLocation": { "column": "28", "end": "109625", "length": "10", "line": "2958", - "parentIndex": "6462", + "parentIndex": "6464", "start": "109616" }, "memberName": "governance", @@ -127099,16 +127207,16 @@ "end": "109625", "length": "17", "line": "2958", - "parentIndex": "6461", + "parentIndex": "6463", "start": "109609" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6461", + "id": "6463", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -127116,7 +127224,7 @@ "end": "109627", "length": "19", "line": "2958", - "parentIndex": "6459", + "parentIndex": "6461", "start": "109609" }, "typeDescription": { @@ -127130,7 +127238,7 @@ "end": "109627", "length": "32", "line": "2958", - "parentIndex": "6458", + "parentIndex": "6460", "start": "109596" }, "typeDescription": { @@ -127139,14 +127247,14 @@ } } }, - "id": "6458", + "id": "6460", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "109628", "length": "33", "line": "2958", - "parentIndex": "6443", + "parentIndex": "6445", "start": "109596" }, "typeDescription": { @@ -127157,69 +127265,69 @@ } ] }, - "id": "6437", + "id": "6439", "implemented": true, "kind": "CONSTRUCTOR", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6438", + "id": "6440", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6439", + "id": "6441", "name": "_vault", "nodeType": "VARIABLE_DECLARATION", - "scope": "6439", + "scope": "6441", "src": { "column": "16", "end": "109494", "length": "16", "line": "2955", - "parentIndex": "6438", + "parentIndex": "6440", "start": "109479" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" }, "typeName": { - "id": "6440", + "id": "6442", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6441", + "id": "6443", "name": "BaseVault", "nameLocation": { "column": "16", "end": "109487", "length": "9", "line": "2955", - "parentIndex": "6440", + "parentIndex": "6442", "start": "109479" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "16", "end": "109487", "length": "9", "line": "2955", - "parentIndex": "6440", + "parentIndex": "6442", "start": "109479" } }, - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "16", "end": "109487", "length": "9", "line": "2955", - "parentIndex": "6439", + "parentIndex": "6441", "start": "109479" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } }, @@ -127231,29 +127339,29 @@ "end": "109494", "length": "16", "line": "2955", - "parentIndex": "6437", + "parentIndex": "6439", "start": "109479" } }, "returnParameters": { - "id": "6442", + "id": "6444", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "109634", "length": "168", "line": "2955", - "parentIndex": "6437", + "parentIndex": "6439", "start": "109467" } }, - "scope": "6415", + "scope": "6417", "src": { "column": "4", "end": "109634", "length": "168", "line": "2955", - "parentIndex": "6415", + "parentIndex": "6417", "start": "109467" }, "stateMutability": "NONPAYABLE", @@ -127268,7 +127376,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6472", + "id": "6474", "implemented": true, "nodeType": "BLOCK", "src": { @@ -127276,7 +127384,7 @@ "end": "110021", "length": "117", "line": "2966", - "parentIndex": "6465", + "parentIndex": "6467", "start": "109905" }, "statements": [ @@ -127297,14 +127405,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6475", + "id": "6477", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6477", + "id": "6479", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -127312,7 +127420,7 @@ "end": "109925", "length": "3", "line": "2967", - "parentIndex": "6476", + "parentIndex": "6478", "start": "109923" }, "typeDescription": { @@ -127321,13 +127429,13 @@ } } }, - "id": "6476", + "id": "6478", "memberLocation": { "column": "20", "end": "109932", "length": "6", "line": "2967", - "parentIndex": "6476", + "parentIndex": "6478", "start": "109927" }, "memberName": "sender", @@ -127337,7 +127445,7 @@ "end": "109932", "length": "10", "line": "2967", - "parentIndex": "6475", + "parentIndex": "6477", "start": "109923" }, "typeDescription": { @@ -127351,16 +127459,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6478", + "id": "6480", "name": "wormholeRouter", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5271", + "referencedDeclaration": "5272", "src": { "column": "30", "end": "109950", "length": "14", "line": "2967", - "parentIndex": "6475", + "parentIndex": "6477", "start": "109937" }, "typeDescription": { @@ -127374,7 +127482,7 @@ "end": "109950", "length": "28", "line": "2967", - "parentIndex": "6473", + "parentIndex": "6475", "start": "109923" }, "typeDescription": { @@ -127393,7 +127501,7 @@ } ], "hexValue": "42453a204f6e6c7920776f726d686f6c6520726f75746572", - "id": "6479", + "id": "6481", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -127402,7 +127510,7 @@ "end": "109978", "length": "26", "line": "2967", - "parentIndex": "6473", + "parentIndex": "6475", "start": "109953" }, "typeDescription": { @@ -127416,7 +127524,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6474", + "id": "6476", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -127425,7 +127533,7 @@ "end": "109921", "length": "7", "line": "2967", - "parentIndex": "6473", + "parentIndex": "6475", "start": "109915" }, "typeDescription": { @@ -127434,7 +127542,7 @@ } } }, - "id": "6473", + "id": "6475", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -127442,7 +127550,7 @@ "end": "109979", "length": "65", "line": "2967", - "parentIndex": "6472", + "parentIndex": "6474", "start": "109915" }, "typeDescription": { @@ -127468,16 +127576,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6482", + "id": "6484", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6482", + "referencedDeclaration": "6484", "src": { "column": "15", "end": "110002", "length": "6", "line": "2968", - "parentIndex": "6480", + "parentIndex": "6482", "start": "109997" }, "typeDescription": { @@ -127495,16 +127603,16 @@ "typeString": "uint256" } ], - "id": "6483", + "id": "6485", "name": "exitProof", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6483", + "referencedDeclaration": "6485", "src": { "column": "23", "end": "110013", "length": "9", "line": "2968", - "parentIndex": "6480", + "parentIndex": "6482", "start": "110005" }, "typeDescription": { @@ -127517,7 +127625,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6481", + "id": "6483", "name": "_clear", "nodeType": "IDENTIFIER", "src": { @@ -127525,7 +127633,7 @@ "end": "109995", "length": "6", "line": "2968", - "parentIndex": "6480", + "parentIndex": "6482", "start": "109990" }, "typeDescription": { @@ -127534,7 +127642,7 @@ } } }, - "id": "6480", + "id": "6482", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -127542,7 +127650,7 @@ "end": "110014", "length": "25", "line": "2968", - "parentIndex": "6472", + "parentIndex": "6474", "start": "109990" }, "typeDescription": { @@ -127553,7 +127661,7 @@ } ] }, - "id": "6465", + "id": "6467", "implemented": true, "kind": "KIND_FUNCTION", "name": "clearFunds", @@ -127562,25 +127670,25 @@ "end": "109852", "length": "10", "line": "2966", - "parentIndex": "6465", + "parentIndex": "6467", "start": "109843" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6466", + "id": "6468", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6467", + "id": "6469", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "6467", + "scope": "6469", "src": { "column": "24", "end": "109867", "length": "14", "line": "2966", - "parentIndex": "6466", + "parentIndex": "6468", "start": "109854" }, "stateMutability": "MUTABLE", @@ -127590,7 +127698,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6468", + "id": "6470", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -127598,7 +127706,7 @@ "end": "109860", "length": "7", "line": "2966", - "parentIndex": "6467", + "parentIndex": "6469", "start": "109854" }, "typeDescription": { @@ -127609,16 +127717,16 @@ "visibility": "INTERNAL" }, { - "id": "6469", + "id": "6471", "name": "exitProof", "nodeType": "VARIABLE_DECLARATION", - "scope": "6469", + "scope": "6471", "src": { "column": "40", "end": "109893", "length": "24", "line": "2966", - "parentIndex": "6466", + "parentIndex": "6468", "start": "109870" }, "stateMutability": "MUTABLE", @@ -127628,7 +127736,7 @@ "typeString": "bytes" }, "typeName": { - "id": "6470", + "id": "6472", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -127636,7 +127744,7 @@ "end": "109874", "length": "5", "line": "2966", - "parentIndex": "6469", + "parentIndex": "6471", "start": "109870" }, "typeDescription": { @@ -127652,30 +127760,30 @@ "end": "109893", "length": "40", "line": "2966", - "parentIndex": "6465", + "parentIndex": "6467", "start": "109854" } }, "returnParameters": { - "id": "6471", + "id": "6473", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "110021", "length": "188", "line": "2966", - "parentIndex": "6465", + "parentIndex": "6467", "start": "109834" } }, - "scope": "6415", - "signature": "9b80db2c", + "scope": "6417", + "signature": "f29874ac", "src": { "column": "4", "end": "110021", "length": "188", "line": "2966", - "parentIndex": "6415", + "parentIndex": "6417", "start": "109834" }, "stateMutability": "NONPAYABLE", @@ -127690,7 +127798,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6492", + "id": "6494", "implemented": true, "nodeType": "BLOCK", "src": { @@ -127698,7 +127806,7 @@ "end": "110268", "length": "108", "line": "2972", - "parentIndex": "6485", + "parentIndex": "6487", "start": "110161" }, "statements": [ @@ -127719,14 +127827,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6495", + "id": "6497", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6497", + "id": "6499", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -127734,7 +127842,7 @@ "end": "110181", "length": "3", "line": "2973", - "parentIndex": "6496", + "parentIndex": "6498", "start": "110179" }, "typeDescription": { @@ -127743,13 +127851,13 @@ } } }, - "id": "6496", + "id": "6498", "memberLocation": { "column": "20", "end": "110188", "length": "6", "line": "2973", - "parentIndex": "6496", + "parentIndex": "6498", "start": "110183" }, "memberName": "sender", @@ -127759,7 +127867,7 @@ "end": "110188", "length": "10", "line": "2973", - "parentIndex": "6495", + "parentIndex": "6497", "start": "110179" }, "typeDescription": { @@ -127773,16 +127881,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6498", + "id": "6500", "name": "governance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4884", + "referencedDeclaration": "4885", "src": { "column": "30", "end": "110202", "length": "10", "line": "2973", - "parentIndex": "6495", + "parentIndex": "6497", "start": "110193" }, "typeDescription": { @@ -127796,7 +127904,7 @@ "end": "110202", "length": "24", "line": "2973", - "parentIndex": "6493", + "parentIndex": "6495", "start": "110179" }, "typeDescription": { @@ -127815,7 +127923,7 @@ } ], "hexValue": "42453a204f6e6c7920476f7665726e616e6365", - "id": "6499", + "id": "6501", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -127824,7 +127932,7 @@ "end": "110225", "length": "21", "line": "2973", - "parentIndex": "6493", + "parentIndex": "6495", "start": "110205" }, "typeDescription": { @@ -127838,7 +127946,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6494", + "id": "6496", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -127847,7 +127955,7 @@ "end": "110177", "length": "7", "line": "2973", - "parentIndex": "6493", + "parentIndex": "6495", "start": "110171" }, "typeDescription": { @@ -127856,7 +127964,7 @@ } } }, - "id": "6493", + "id": "6495", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -127864,7 +127972,7 @@ "end": "110226", "length": "56", "line": "2973", - "parentIndex": "6492", + "parentIndex": "6494", "start": "110171" }, "typeDescription": { @@ -127890,16 +127998,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6502", + "id": "6504", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6502", + "referencedDeclaration": "6504", "src": { "column": "15", "end": "110249", "length": "6", "line": "2974", - "parentIndex": "6500", + "parentIndex": "6502", "start": "110244" }, "typeDescription": { @@ -127917,16 +128025,16 @@ "typeString": "uint256" } ], - "id": "6503", + "id": "6505", "name": "exitProof", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6503", + "referencedDeclaration": "6505", "src": { "column": "23", "end": "110260", "length": "9", "line": "2974", - "parentIndex": "6500", + "parentIndex": "6502", "start": "110252" }, "typeDescription": { @@ -127939,7 +128047,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6501", + "id": "6503", "name": "_clear", "nodeType": "IDENTIFIER", "src": { @@ -127947,7 +128055,7 @@ "end": "110242", "length": "6", "line": "2974", - "parentIndex": "6500", + "parentIndex": "6502", "start": "110237" }, "typeDescription": { @@ -127956,7 +128064,7 @@ } } }, - "id": "6500", + "id": "6502", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -127964,7 +128072,7 @@ "end": "110261", "length": "25", "line": "2974", - "parentIndex": "6492", + "parentIndex": "6494", "start": "110237" }, "typeDescription": { @@ -127975,7 +128083,7 @@ } ] }, - "id": "6485", + "id": "6487", "implemented": true, "kind": "KIND_FUNCTION", "name": "rescueFunds", @@ -127984,25 +128092,25 @@ "end": "110108", "length": "11", "line": "2972", - "parentIndex": "6485", + "parentIndex": "6487", "start": "110098" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6486", + "id": "6488", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6487", + "id": "6489", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "6487", + "scope": "6489", "src": { "column": "25", "end": "110123", "length": "14", "line": "2972", - "parentIndex": "6486", + "parentIndex": "6488", "start": "110110" }, "stateMutability": "MUTABLE", @@ -128012,7 +128120,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6488", + "id": "6490", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -128020,7 +128128,7 @@ "end": "110116", "length": "7", "line": "2972", - "parentIndex": "6487", + "parentIndex": "6489", "start": "110110" }, "typeDescription": { @@ -128031,16 +128139,16 @@ "visibility": "INTERNAL" }, { - "id": "6489", + "id": "6491", "name": "exitProof", "nodeType": "VARIABLE_DECLARATION", - "scope": "6489", + "scope": "6491", "src": { "column": "41", "end": "110149", "length": "24", "line": "2972", - "parentIndex": "6486", + "parentIndex": "6488", "start": "110126" }, "stateMutability": "MUTABLE", @@ -128050,7 +128158,7 @@ "typeString": "bytes" }, "typeName": { - "id": "6490", + "id": "6492", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -128058,7 +128166,7 @@ "end": "110130", "length": "5", "line": "2972", - "parentIndex": "6489", + "parentIndex": "6491", "start": "110126" }, "typeDescription": { @@ -128074,30 +128182,30 @@ "end": "110149", "length": "40", "line": "2972", - "parentIndex": "6485", + "parentIndex": "6487", "start": "110110" } }, "returnParameters": { - "id": "6491", + "id": "6493", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "110268", "length": "180", "line": "2972", - "parentIndex": "6485", + "parentIndex": "6487", "start": "110089" } }, - "scope": "6415", - "signature": "8a89a7ec", + "scope": "6417", + "signature": "0f73cc4f", "src": { "column": "4", "end": "110268", "length": "180", "line": "2972", - "parentIndex": "6415", + "parentIndex": "6417", "start": "110089" }, "stateMutability": "NONPAYABLE", @@ -128112,18 +128220,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6512", + "id": "6514", "nodeType": "BLOCK", "src": { "column": "4", "end": "110349", "length": "75", "line": "2977", - "parentIndex": "6505", + "parentIndex": "6507", "start": "110275" } }, - "id": "6505", + "id": "6507", "kind": "KIND_FUNCTION", "name": "_clear", "nameLocation": { @@ -128131,25 +128239,25 @@ "end": "110289", "length": "6", "line": "2977", - "parentIndex": "6505", + "parentIndex": "6507", "start": "110284" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6506", + "id": "6508", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6507", + "id": "6509", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "6507", + "scope": "6509", "src": { "column": "20", "end": "110304", "length": "14", "line": "2977", - "parentIndex": "6506", + "parentIndex": "6508", "start": "110291" }, "stateMutability": "MUTABLE", @@ -128159,7 +128267,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6508", + "id": "6510", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -128167,7 +128275,7 @@ "end": "110297", "length": "7", "line": "2977", - "parentIndex": "6507", + "parentIndex": "6509", "start": "110291" }, "typeDescription": { @@ -128178,16 +128286,16 @@ "visibility": "INTERNAL" }, { - "id": "6509", + "id": "6511", "name": "exitProof", "nodeType": "VARIABLE_DECLARATION", - "scope": "6509", + "scope": "6511", "src": { "column": "36", "end": "110330", "length": "24", "line": "2977", - "parentIndex": "6506", + "parentIndex": "6508", "start": "110307" }, "stateMutability": "MUTABLE", @@ -128197,7 +128305,7 @@ "typeString": "bytes" }, "typeName": { - "id": "6510", + "id": "6512", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -128205,7 +128313,7 @@ "end": "110311", "length": "5", "line": "2977", - "parentIndex": "6509", + "parentIndex": "6511", "start": "110307" }, "typeDescription": { @@ -128221,30 +128329,30 @@ "end": "110330", "length": "40", "line": "2977", - "parentIndex": "6505", + "parentIndex": "6507", "start": "110291" } }, "returnParameters": { - "id": "6511", + "id": "6513", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "110349", "length": "75", "line": "2977", - "parentIndex": "6505", + "parentIndex": "6507", "start": "110275" } }, - "scope": "6415", - "signature": "1894c922", + "scope": "6417", + "signature": "5a7d604b", "src": { "column": "4", "end": "110349", "length": "75", "line": "2977", - "parentIndex": "6415", + "parentIndex": "6417", "start": "110275" }, "stateMutability": "NONPAYABLE", @@ -128261,7 +128369,7 @@ "end": "110351", "length": "1410", "line": "2939", - "parentIndex": "6344", + "parentIndex": "6346", "start": "108942" } } @@ -128277,28 +128385,28 @@ } }, { - "id": 6513, + "id": 6515, "license": "MIT", "name": "WormholeRouter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/WormholeRouter.sol", "exported_symbols": [ { - "id": 6513, + "id": 6515, "name": "WormholeRouter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/WormholeRouter.sol" }, { - "id": 6344, + "id": 6346, "name": "IWormhole", "absolute_path": "IWormhole.sol" }, { - "id": 6344, + "id": 6346, "name": "BaseVault", "absolute_path": "BaseVault.sol" }, { - "id": 6344, + "id": 6346, "name": "AffineGovernable", "absolute_path": "AffineGovernable.sol" } @@ -128309,7 +128417,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "6538", + "id": "6540", "literals": [ "pragma", "solidity", @@ -128326,7 +128434,7 @@ "end": "110409", "length": "24", "line": "2982", - "parentIndex": "6513", + "parentIndex": "6515", "start": "110386" }, "text": "pragma solidity =0.8.16;" @@ -128337,15 +128445,15 @@ "value": { "absolutePath": "IWormhole.sol", "file": "./IWormhole.sol", - "id": "6585", + "id": "6587", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6513", - "sourceUnit": "6344", + "scope": "6515", + "sourceUnit": "6346", "src": { "end": "110453", "length": "42", "line": "2984", - "parentIndex": "6513", + "parentIndex": "6515", "start": "110412" } } @@ -128355,15 +128463,15 @@ "value": { "absolutePath": "BaseVault.sol", "file": "./BaseVault.sol", - "id": "6586", + "id": "6588", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6513", - "sourceUnit": "6344", + "scope": "6515", + "sourceUnit": "6346", "src": { "end": "110496", "length": "42", "line": "2985", - "parentIndex": "6513", + "parentIndex": "6515", "start": "110455" } } @@ -128373,15 +128481,15 @@ "value": { "absolutePath": "AffineGovernable.sol", "file": "./AffineGovernable.sol", - "id": "6587", + "id": "6589", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6513", - "sourceUnit": "6344", + "scope": "6515", + "sourceUnit": "6346", "src": { "end": "110553", "length": "56", "line": "2986", - "parentIndex": "6513", + "parentIndex": "6515", "start": "110498" } } @@ -128392,46 +128500,46 @@ "baseContracts": [ { "baseName": { - "id": "6590", + "id": "6592", "name": "AffineGovernable", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4831", + "referencedDeclaration": "4832", "src": { "column": "36", "end": "110607", "length": "16", "line": "2988", - "parentIndex": "6588", + "parentIndex": "6590", "start": "110592" } }, - "id": "6589", + "id": "6591", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "36", "end": "110607", "length": "16", "line": "2988", - "parentIndex": "6588", + "parentIndex": "6590", "start": "110592" } } ], "contractDependencies": [ - "4831", - "6585", - "6586", - "6587" + "4832", + "6587", + "6588", + "6589" ], "fullyImplemented": true, - "id": "6588", + "id": "6590", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "4831", + "4832", + "6590", + "6587", "6588", - "6585", - "6586", - "6587" + "6589" ], "name": "WormholeRouter", "nameLocation": { @@ -128439,7 +128547,7 @@ "end": "110587", "length": "14", "line": "2988", - "parentIndex": "6588", + "parentIndex": "6590", "start": "110574" }, "nodeType": "CONTRACT_DEFINITION", @@ -128447,61 +128555,61 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "6592", + "id": "6594", "isStateVariable": true, "name": "vault", "nodeType": "VARIABLE_DECLARATION", - "scope": "6588", + "scope": "6590", "src": { "column": "4", "end": "110703", "length": "33", "line": "2990", - "parentIndex": "6588", + "parentIndex": "6590", "start": "110671" }, "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" }, "typeName": { - "id": "6593", + "id": "6595", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6594", + "id": "6596", "name": "BaseVault", "nameLocation": { "column": "4", "end": "110679", "length": "9", "line": "2990", - "parentIndex": "6593", + "parentIndex": "6595", "start": "110671" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "4", "end": "110679", "length": "9", "line": "2990", - "parentIndex": "6593", + "parentIndex": "6595", "start": "110671" } }, - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "4", "end": "110679", "length": "9", "line": "2990", - "parentIndex": "6592", + "parentIndex": "6594", "start": "110671" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } }, @@ -128512,7 +128620,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6605", + "id": "6607", "implemented": true, "nodeType": "BLOCK", "src": { @@ -128520,7 +128628,7 @@ "end": "110862", "length": "102", "line": "2992", - "parentIndex": "6596", + "parentIndex": "6598", "start": "110761" }, "statements": [ @@ -128530,24 +128638,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6607", + "id": "6609", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6608", + "id": "6610", "name": "vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7864", + "referencedDeclaration": "7867", "src": { "column": "8", "end": "110775", "length": "5", "line": "2993", - "parentIndex": "6607", + "parentIndex": "6609", "start": "110771" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -128557,20 +128665,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6609", + "id": "6611", "name": "_vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6609", + "referencedDeclaration": "6611", "src": { "column": "16", "end": "110784", "length": "6", "line": "2993", - "parentIndex": "6607", + "parentIndex": "6609", "start": "110779" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -128580,27 +128688,27 @@ "end": "110784", "length": "14", "line": "2993", - "parentIndex": "6606", + "parentIndex": "6608", "start": "110771" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6606", + "id": "6608", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "110785", "length": "15", "line": "2993", - "parentIndex": "6605", + "parentIndex": "6607", "start": "110771" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -128611,20 +128719,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6611", + "id": "6613", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6612", + "id": "6614", "name": "governance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4884", + "referencedDeclaration": "4885", "src": { "column": "8", "end": "110804", "length": "10", "line": "2994", - "parentIndex": "6611", + "parentIndex": "6613", "start": "110795" }, "typeDescription": { @@ -128644,31 +128752,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6615", + "id": "6617", "name": "vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7864", + "referencedDeclaration": "7867", "src": { "column": "21", "end": "110812", "length": "5", "line": "2994", - "parentIndex": "6614", + "parentIndex": "6616", "start": "110808" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6614", + "id": "6616", "memberLocation": { "column": "27", "end": "110823", "length": "10", "line": "2994", - "parentIndex": "6614", + "parentIndex": "6616", "start": "110814" }, "memberName": "governance", @@ -128678,16 +128786,16 @@ "end": "110823", "length": "16", "line": "2994", - "parentIndex": "6613", + "parentIndex": "6615", "start": "110808" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6613", + "id": "6615", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -128695,7 +128803,7 @@ "end": "110825", "length": "18", "line": "2994", - "parentIndex": "6611", + "parentIndex": "6613", "start": "110808" }, "typeDescription": { @@ -128709,7 +128817,7 @@ "end": "110825", "length": "31", "line": "2994", - "parentIndex": "6610", + "parentIndex": "6612", "start": "110795" }, "typeDescription": { @@ -128718,14 +128826,14 @@ } } }, - "id": "6610", + "id": "6612", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "110826", "length": "32", "line": "2994", - "parentIndex": "6605", + "parentIndex": "6607", "start": "110795" }, "typeDescription": { @@ -128740,24 +128848,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6617", + "id": "6619", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6618", + "id": "6620", "name": "wormhole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6601", + "referencedDeclaration": "6603", "src": { "column": "8", "end": "110843", "length": "8", "line": "2995", - "parentIndex": "6617", + "parentIndex": "6619", "start": "110836" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } @@ -128767,20 +128875,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6619", + "id": "6621", "name": "_wormhole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6601", + "referencedDeclaration": "6603", "src": { "column": "19", "end": "110855", "length": "9", "line": "2995", - "parentIndex": "6617", + "parentIndex": "6619", "start": "110847" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } @@ -128790,132 +128898,132 @@ "end": "110855", "length": "20", "line": "2995", - "parentIndex": "6616", + "parentIndex": "6618", "start": "110836" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "6616", + "id": "6618", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "110856", "length": "21", "line": "2995", - "parentIndex": "6605", + "parentIndex": "6607", "start": "110836" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } } ] }, - "id": "6596", + "id": "6598", "implemented": true, "kind": "CONSTRUCTOR", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6597", + "id": "6599", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6598", + "id": "6600", "name": "_vault", "nodeType": "VARIABLE_DECLARATION", - "scope": "6598", + "scope": "6600", "src": { "column": "16", "end": "110737", "length": "16", "line": "2992", - "parentIndex": "6597", + "parentIndex": "6599", "start": "110722" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" }, "typeName": { - "id": "6599", + "id": "6601", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6600", + "id": "6602", "name": "BaseVault", "nameLocation": { "column": "16", "end": "110730", "length": "9", "line": "2992", - "parentIndex": "6599", + "parentIndex": "6601", "start": "110722" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "16", "end": "110730", "length": "9", "line": "2992", - "parentIndex": "6599", + "parentIndex": "6601", "start": "110722" } }, - "referencedDeclaration": "5126", + "referencedDeclaration": "5127", "src": { "column": "16", "end": "110730", "length": "9", "line": "2992", - "parentIndex": "6598", + "parentIndex": "6600", "start": "110722" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } }, "visibility": "INTERNAL" }, { - "id": "6601", + "id": "6603", "name": "_wormhole", "nodeType": "VARIABLE_DECLARATION", - "scope": "6601", + "scope": "6603", "src": { "column": "34", "end": "110758", "length": "19", "line": "2992", - "parentIndex": "6597", + "parentIndex": "6599", "start": "110740" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" }, "typeName": { - "id": "6602", + "id": "6604", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6603", + "id": "6605", "name": "IWormhole", "nameLocation": { "column": "34", "end": "110748", "length": "9", "line": "2992", - "parentIndex": "6602", + "parentIndex": "6604", "start": "110740" }, "nodeType": "IDENTIFIER_PATH", @@ -128924,21 +129032,21 @@ "end": "110748", "length": "9", "line": "2992", - "parentIndex": "6602", + "parentIndex": "6604", "start": "110740" } }, - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "34", "end": "110748", "length": "9", "line": "2992", - "parentIndex": "6601", + "parentIndex": "6603", "start": "110740" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } }, @@ -128950,29 +129058,29 @@ "end": "110758", "length": "37", "line": "2992", - "parentIndex": "6596", + "parentIndex": "6598", "start": "110722" } }, "returnParameters": { - "id": "6604", + "id": "6606", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "110862", "length": "153", "line": "2992", - "parentIndex": "6596", + "parentIndex": "6598", "start": "110710" } }, - "scope": "6588", + "scope": "6590", "src": { "column": "4", "end": "110862", "length": "153", "line": "2992", - "parentIndex": "6588", + "parentIndex": "6590", "start": "110710" }, "stateMutability": "NONPAYABLE", @@ -128986,37 +129094,37 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "6621", + "id": "6623", "isStateVariable": true, "name": "wormhole", "nodeType": "VARIABLE_DECLARATION", - "scope": "6588", + "scope": "6590", "src": { "column": "4", "end": "111149", "length": "36", "line": "3002", - "parentIndex": "6588", + "parentIndex": "6590", "start": "111114" }, "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" }, "typeName": { - "id": "6622", + "id": "6624", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6623", + "id": "6625", "name": "IWormhole", "nameLocation": { "column": "4", "end": "111122", "length": "9", "line": "3002", - "parentIndex": "6622", + "parentIndex": "6624", "start": "111114" }, "nodeType": "IDENTIFIER_PATH", @@ -129025,21 +129133,21 @@ "end": "111122", "length": "9", "line": "3002", - "parentIndex": "6622", + "parentIndex": "6624", "start": "111114" } }, - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "4", "end": "111122", "length": "9", "line": "3002", - "parentIndex": "6621", + "parentIndex": "6623", "start": "111114" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } }, @@ -129049,12 +129157,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "6625", + "id": "6627", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "34", - "id": "6627", + "id": "6629", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -129063,7 +129171,7 @@ "end": "111623", "length": "1", "line": "3009", - "parentIndex": "6625", + "parentIndex": "6627", "start": "111623" }, "typeDescription": { @@ -129076,13 +129184,13 @@ "isStateVariable": true, "name": "consistencyLevel", "nodeType": "VARIABLE_DECLARATION", - "scope": "6588", + "scope": "6590", "src": { "column": "4", "end": "111624", "length": "34", "line": "3009", - "parentIndex": "6588", + "parentIndex": "6590", "start": "111591" }, "stateMutability": "MUTABLE", @@ -129092,7 +129200,7 @@ "typeString": "int_const 4" }, "typeName": { - "id": "6626", + "id": "6628", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -129100,7 +129208,7 @@ "end": "111595", "length": "5", "line": "3009", - "parentIndex": "6625", + "parentIndex": "6627", "start": "111591" }, "typeDescription": { @@ -129115,7 +129223,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6636", + "id": "6638", "implemented": true, "nodeType": "BLOCK", "src": { @@ -129123,7 +129231,7 @@ "end": "111846", "length": "53", "line": "3012", - "parentIndex": "6629", + "parentIndex": "6631", "start": "111794" }, "statements": [ @@ -129133,20 +129241,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6638", + "id": "6640", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6639", + "id": "6641", "name": "consistencyLevel", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6625", + "referencedDeclaration": "6627", "src": { "column": "8", "end": "111819", "length": "16", "line": "3013", - "parentIndex": "6638", + "parentIndex": "6640", "start": "111804" }, "typeDescription": { @@ -129160,16 +129268,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6640", + "id": "6642", "name": "_consistencyLevel", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6640", + "referencedDeclaration": "6642", "src": { "column": "27", "end": "111839", "length": "17", "line": "3013", - "parentIndex": "6638", + "parentIndex": "6640", "start": "111823" }, "typeDescription": { @@ -129183,7 +129291,7 @@ "end": "111839", "length": "36", "line": "3013", - "parentIndex": "6637", + "parentIndex": "6639", "start": "111804" }, "typeDescription": { @@ -129192,14 +129300,14 @@ } } }, - "id": "6637", + "id": "6639", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "111840", "length": "37", "line": "3013", - "parentIndex": "6636", + "parentIndex": "6638", "start": "111804" }, "typeDescription": { @@ -129210,22 +129318,22 @@ } ] }, - "id": "6629", + "id": "6631", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "6633", + "id": "6635", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "6634", + "id": "6636", "name": "onlyGovernance", "src": { "column": "67", "end": "111792", "length": "14", "line": "3012", - "parentIndex": "6633", + "parentIndex": "6635", "start": "111779" } }, @@ -129236,7 +129344,7 @@ "end": "111792", "length": "14", "line": "3012", - "parentIndex": "6629", + "parentIndex": "6631", "start": "111779" } } @@ -129247,25 +129355,25 @@ "end": "111743", "length": "19", "line": "3012", - "parentIndex": "6629", + "parentIndex": "6631", "start": "111725" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6630", + "id": "6632", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6631", + "id": "6633", "name": "_consistencyLevel", "nodeType": "VARIABLE_DECLARATION", - "scope": "6631", + "scope": "6633", "src": { "column": "33", "end": "111767", "length": "23", "line": "3012", - "parentIndex": "6630", + "parentIndex": "6632", "start": "111745" }, "stateMutability": "MUTABLE", @@ -129275,7 +129383,7 @@ "typeString": "uint8" }, "typeName": { - "id": "6632", + "id": "6634", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -129283,7 +129391,7 @@ "end": "111749", "length": "5", "line": "3012", - "parentIndex": "6631", + "parentIndex": "6633", "start": "111745" }, "typeDescription": { @@ -129299,30 +129407,30 @@ "end": "111767", "length": "23", "line": "3012", - "parentIndex": "6629", + "parentIndex": "6631", "start": "111745" } }, "returnParameters": { - "id": "6635", + "id": "6637", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "111846", "length": "131", "line": "3012", - "parentIndex": "6629", + "parentIndex": "6631", "start": "111716" } }, - "scope": "6588", + "scope": "6590", "signature": "538ee295", "src": { "column": "4", "end": "111846", "length": "131", "line": "3012", - "parentIndex": "6588", + "parentIndex": "6590", "start": "111716" }, "stateMutability": "NONPAYABLE", @@ -129337,7 +129445,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6649", + "id": "6651", "implemented": true, "nodeType": "BLOCK", "src": { @@ -129345,11 +129453,11 @@ "end": "112106", "length": "2", "line": "3020", - "parentIndex": "6642", + "parentIndex": "6644", "start": "112105" } }, - "id": "6642", + "id": "6644", "implemented": true, "kind": "KIND_FUNCTION", "name": "otherLayerWormholeId", @@ -129358,24 +129466,24 @@ "end": "112064", "length": "20", "line": "3020", - "parentIndex": "6642", + "parentIndex": "6644", "start": "112045" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6643", + "id": "6645", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6644", + "id": "6646", "nodeType": "VARIABLE_DECLARATION", - "scope": "6644", + "scope": "6646", "src": { "column": "65", "end": "112102", "length": "6", "line": "3020", - "parentIndex": "6643", + "parentIndex": "6645", "start": "112097" }, "stateMutability": "MUTABLE", @@ -129385,7 +129493,7 @@ "typeString": "uint16" }, "typeName": { - "id": "6645", + "id": "6647", "name": "uint16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -129393,7 +129501,7 @@ "end": "112102", "length": "6", "line": "3020", - "parentIndex": "6644", + "parentIndex": "6646", "start": "112097" }, "typeDescription": { @@ -129409,24 +129517,24 @@ "end": "112102", "length": "6", "line": "3020", - "parentIndex": "6642", + "parentIndex": "6644", "start": "112097" } }, "returnParameters": { - "id": "6646", + "id": "6648", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6647", + "id": "6649", "nodeType": "VARIABLE_DECLARATION", - "scope": "6647", + "scope": "6649", "src": { "column": "65", "end": "112102", "length": "6", "line": "3020", - "parentIndex": "6646", + "parentIndex": "6648", "start": "112097" }, "stateMutability": "MUTABLE", @@ -129436,7 +129544,7 @@ "typeString": "uint16" }, "typeName": { - "id": "6648", + "id": "6650", "name": "uint16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -129444,7 +129552,7 @@ "end": "112102", "length": "6", "line": "3020", - "parentIndex": "6647", + "parentIndex": "6649", "start": "112097" }, "typeDescription": { @@ -129460,18 +129568,18 @@ "end": "112102", "length": "6", "line": "3020", - "parentIndex": "6642", + "parentIndex": "6644", "start": "112097" } }, - "scope": "6588", + "scope": "6590", "signature": "ea6e78ce", "src": { "column": "4", "end": "112106", "length": "71", "line": "3020", - "parentIndex": "6588", + "parentIndex": "6590", "start": "112036" }, "stateMutability": "VIEW", @@ -129486,17 +129594,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "6651", + "id": "6653", "isStateVariable": true, "name": "nextValidNonce", "nodeType": "VARIABLE_DECLARATION", - "scope": "6588", + "scope": "6590", "src": { "column": "4", "end": "112142", "length": "30", "line": "3022", - "parentIndex": "6588", + "parentIndex": "6590", "start": "112113" }, "stateMutability": "MUTABLE", @@ -129506,7 +129614,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6652", + "id": "6654", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -129514,7 +129622,7 @@ "end": "112119", "length": "7", "line": "3022", - "parentIndex": "6651", + "parentIndex": "6653", "start": "112113" }, "typeDescription": { @@ -129529,7 +129637,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6660", + "id": "6662", "implemented": true, "nodeType": "BLOCK", "src": { @@ -129537,7 +129645,7 @@ "end": "112677", "length": "269", "line": "3028", - "parentIndex": "6654", + "parentIndex": "6656", "start": "112409" }, "statements": [ @@ -129558,53 +129666,53 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6663", + "id": "6665", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6665", + "id": "6667", "name": "vm", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8099", + "referencedDeclaration": "8103", "src": { "column": "16", "end": "112428", "length": "2", "line": "3029", - "parentIndex": "6664", + "parentIndex": "6666", "start": "112427" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "6664", + "id": "6666", "memberLocation": { "column": "19", "end": "112443", "length": "14", "line": "3029", - "parentIndex": "6664", + "parentIndex": "6666", "start": "112430" }, "memberName": "emitterAddress", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "8130", + "referencedDeclaration": "8134", "src": { "column": "16", "end": "112443", "length": "17", "line": "3029", - "parentIndex": "6663", + "parentIndex": "6665", "start": "112427" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_VM_$8130", + "typeIdentifier": "t_struct$_Global_VM_$8134", "typeString": "struct Global.VM" } } @@ -129646,7 +129754,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_WormholeRouter_$6513", + "typeIdentifier": "t_contract$_WormholeRouter_$6515", "typeString": "contract WormholeRouter" } ], @@ -129654,7 +129762,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6678", + "id": "6680", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -129662,11 +129770,11 @@ "end": "112483", "length": "4", "line": "3029", - "parentIndex": "6675", + "parentIndex": "6677", "start": "112480" }, "typeDescription": { - "typeIdentifier": "t_contract$_WormholeRouter_$6513", + "typeIdentifier": "t_contract$_WormholeRouter_$6515", "typeString": "contract WormholeRouter" } } @@ -129681,7 +129789,7 @@ "typeString": "address" } ], - "id": "6676", + "id": "6678", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -129689,7 +129797,7 @@ "end": "112478", "length": "7", "line": "3029", - "parentIndex": "6675", + "parentIndex": "6677", "start": "112472" }, "typeDescription": { @@ -129697,7 +129805,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6677", + "id": "6679", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -129705,7 +129813,7 @@ "end": "112478", "length": "7", "line": "3029", - "parentIndex": "6676", + "parentIndex": "6678", "start": "112472" }, "stateMutability": "NONPAYABLE", @@ -129716,7 +129824,7 @@ } } }, - "id": "6675", + "id": "6677", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -129724,7 +129832,7 @@ "end": "112484", "length": "13", "line": "3029", - "parentIndex": "6672", + "parentIndex": "6674", "start": "112472" }, "typeDescription": { @@ -129743,7 +129851,7 @@ "typeString": "uint160" } ], - "id": "6673", + "id": "6675", "name": "uint160", "nodeType": "IDENTIFIER", "src": { @@ -129751,7 +129859,7 @@ "end": "112470", "length": "7", "line": "3029", - "parentIndex": "6672", + "parentIndex": "6674", "start": "112464" }, "typeDescription": { @@ -129759,7 +129867,7 @@ "typeString": "function(uint160)" }, "typeName": { - "id": "6674", + "id": "6676", "name": "uint160", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -129767,7 +129875,7 @@ "end": "112470", "length": "7", "line": "3029", - "parentIndex": "6673", + "parentIndex": "6675", "start": "112464" }, "typeDescription": { @@ -129777,7 +129885,7 @@ } } }, - "id": "6672", + "id": "6674", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -129785,7 +129893,7 @@ "end": "112485", "length": "22", "line": "3029", - "parentIndex": "6669", + "parentIndex": "6671", "start": "112464" }, "typeDescription": { @@ -129804,7 +129912,7 @@ "typeString": "uint256" } ], - "id": "6670", + "id": "6672", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -129812,7 +129920,7 @@ "end": "112462", "length": "7", "line": "3029", - "parentIndex": "6669", + "parentIndex": "6671", "start": "112456" }, "typeDescription": { @@ -129820,7 +129928,7 @@ "typeString": "function(uint256)" }, "typeName": { - "id": "6671", + "id": "6673", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -129828,7 +129936,7 @@ "end": "112462", "length": "7", "line": "3029", - "parentIndex": "6670", + "parentIndex": "6672", "start": "112456" }, "typeDescription": { @@ -129838,7 +129946,7 @@ } } }, - "id": "6669", + "id": "6671", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -129846,7 +129954,7 @@ "end": "112486", "length": "31", "line": "3029", - "parentIndex": "6666", + "parentIndex": "6668", "start": "112456" }, "typeDescription": { @@ -129865,7 +129973,7 @@ "typeString": "bytes32" } ], - "id": "6667", + "id": "6669", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -129873,7 +129981,7 @@ "end": "112454", "length": "7", "line": "3029", - "parentIndex": "6666", + "parentIndex": "6668", "start": "112448" }, "typeDescription": { @@ -129881,7 +129989,7 @@ "typeString": "function(bytes32)" }, "typeName": { - "id": "6668", + "id": "6670", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -129889,7 +129997,7 @@ "end": "112454", "length": "7", "line": "3029", - "parentIndex": "6667", + "parentIndex": "6669", "start": "112448" }, "typeDescription": { @@ -129899,7 +130007,7 @@ } } }, - "id": "6666", + "id": "6668", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -129907,7 +130015,7 @@ "end": "112487", "length": "40", "line": "3029", - "parentIndex": "6663", + "parentIndex": "6665", "start": "112448" }, "typeDescription": { @@ -129921,7 +130029,7 @@ "end": "112487", "length": "61", "line": "3029", - "parentIndex": "6661", + "parentIndex": "6663", "start": "112427" }, "typeDescription": { @@ -129940,7 +130048,7 @@ } ], "hexValue": "57523a2062616420656d69747465722061646472657373", - "id": "6679", + "id": "6681", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -129949,7 +130057,7 @@ "end": "112514", "length": "25", "line": "3029", - "parentIndex": "6661", + "parentIndex": "6663", "start": "112490" }, "typeDescription": { @@ -129963,7 +130071,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6662", + "id": "6664", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -129972,7 +130080,7 @@ "end": "112425", "length": "7", "line": "3029", - "parentIndex": "6661", + "parentIndex": "6663", "start": "112419" }, "typeDescription": { @@ -129981,7 +130089,7 @@ } } }, - "id": "6661", + "id": "6663", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -129989,7 +130097,7 @@ "end": "112515", "length": "97", "line": "3029", - "parentIndex": "6660", + "parentIndex": "6662", "start": "112419" }, "typeDescription": { @@ -130015,53 +130123,53 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6682", + "id": "6684", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6684", + "id": "6686", "name": "vm", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8099", + "referencedDeclaration": "8103", "src": { "column": "16", "end": "112535", "length": "2", "line": "3030", - "parentIndex": "6683", + "parentIndex": "6685", "start": "112534" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "6683", + "id": "6685", "memberLocation": { "column": "19", "end": "112550", "length": "14", "line": "3030", - "parentIndex": "6683", + "parentIndex": "6685", "start": "112537" }, "memberName": "emitterChainId", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "8130", + "referencedDeclaration": "8134", "src": { "column": "16", "end": "112550", "length": "17", "line": "3030", - "parentIndex": "6682", + "parentIndex": "6684", "start": "112534" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_VM_$8130", + "typeIdentifier": "t_struct$_Global_VM_$8134", "typeString": "struct Global.VM" } } @@ -130074,7 +130182,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6686", + "id": "6688", "name": "otherLayerWormholeId", "nodeType": "IDENTIFIER", "src": { @@ -130082,7 +130190,7 @@ "end": "112574", "length": "20", "line": "3030", - "parentIndex": "6685", + "parentIndex": "6687", "start": "112555" }, "typeDescription": { @@ -130091,7 +130199,7 @@ } } }, - "id": "6685", + "id": "6687", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -130099,7 +130207,7 @@ "end": "112576", "length": "22", "line": "3030", - "parentIndex": "6682", + "parentIndex": "6684", "start": "112555" }, "typeDescription": { @@ -130113,7 +130221,7 @@ "end": "112576", "length": "43", "line": "3030", - "parentIndex": "6680", + "parentIndex": "6682", "start": "112534" }, "typeDescription": { @@ -130132,7 +130240,7 @@ } ], "hexValue": "57523a2062616420656d697474657220636861696e", - "id": "6687", + "id": "6689", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -130141,7 +130249,7 @@ "end": "112601", "length": "23", "line": "3030", - "parentIndex": "6680", + "parentIndex": "6682", "start": "112579" }, "typeDescription": { @@ -130155,7 +130263,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6681", + "id": "6683", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -130164,7 +130272,7 @@ "end": "112532", "length": "7", "line": "3030", - "parentIndex": "6680", + "parentIndex": "6682", "start": "112526" }, "typeDescription": { @@ -130173,7 +130281,7 @@ } } }, - "id": "6680", + "id": "6682", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -130181,7 +130289,7 @@ "end": "112602", "length": "77", "line": "3030", - "parentIndex": "6660", + "parentIndex": "6662", "start": "112526" }, "typeDescription": { @@ -130207,53 +130315,53 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6690", + "id": "6692", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6692", + "id": "6694", "name": "vm", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8099", + "referencedDeclaration": "8103", "src": { "column": "16", "end": "112622", "length": "2", "line": "3031", - "parentIndex": "6691", + "parentIndex": "6693", "start": "112621" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "6691", + "id": "6693", "memberLocation": { "column": "19", "end": "112628", "length": "5", "line": "3031", - "parentIndex": "6691", + "parentIndex": "6693", "start": "112624" }, "memberName": "nonce", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "8130", + "referencedDeclaration": "8134", "src": { "column": "16", "end": "112628", "length": "8", "line": "3031", - "parentIndex": "6690", + "parentIndex": "6692", "start": "112621" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_VM_$8130", + "typeIdentifier": "t_struct$_Global_VM_$8134", "typeString": "struct Global.VM" } } @@ -130263,16 +130371,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6693", + "id": "6695", "name": "nextValidNonce", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6651", + "referencedDeclaration": "6653", "src": { "column": "28", "end": "112646", "length": "14", "line": "3031", - "parentIndex": "6690", + "parentIndex": "6692", "start": "112633" }, "typeDescription": { @@ -130286,7 +130394,7 @@ "end": "112646", "length": "26", "line": "3031", - "parentIndex": "6688", + "parentIndex": "6690", "start": "112621" }, "typeDescription": { @@ -130305,7 +130413,7 @@ } ], "hexValue": "57523a206f6c64207472616e73616374696f6e", - "id": "6694", + "id": "6696", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -130314,7 +130422,7 @@ "end": "112669", "length": "21", "line": "3031", - "parentIndex": "6688", + "parentIndex": "6690", "start": "112649" }, "typeDescription": { @@ -130328,7 +130436,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6689", + "id": "6691", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -130337,7 +130445,7 @@ "end": "112619", "length": "7", "line": "3031", - "parentIndex": "6688", + "parentIndex": "6690", "start": "112613" }, "typeDescription": { @@ -130346,7 +130454,7 @@ } } }, - "id": "6688", + "id": "6690", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -130354,7 +130462,7 @@ "end": "112670", "length": "58", "line": "3031", - "parentIndex": "6660", + "parentIndex": "6662", "start": "112613" }, "typeDescription": { @@ -130365,7 +130473,7 @@ } ] }, - "id": "6654", + "id": "6656", "implemented": true, "kind": "KIND_FUNCTION", "name": "_validateWormholeMessageEmitter", @@ -130374,45 +130482,45 @@ "end": "112369", "length": "31", "line": "3028", - "parentIndex": "6654", + "parentIndex": "6656", "start": "112339" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6655", + "id": "6657", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6656", + "id": "6658", "name": "vm", "nodeType": "VARIABLE_DECLARATION", - "scope": "6656", + "scope": "6658", "src": { "column": "45", "end": "112392", "length": "22", "line": "3028", - "parentIndex": "6655", + "parentIndex": "6657", "start": "112371" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" }, "typeName": { - "id": "6657", + "id": "6659", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6658", + "id": "6660", "name": "IWormhole", "nameLocation": { "column": "45", "end": "112379", "length": "9", "line": "3028", - "parentIndex": "6657", + "parentIndex": "6659", "start": "112371" }, "nodeType": "IDENTIFIER_PATH", @@ -130421,21 +130529,21 @@ "end": "112382", "length": "12", "line": "3028", - "parentIndex": "6657", + "parentIndex": "6659", "start": "112371" } }, - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "45", "end": "112382", "length": "12", "line": "3028", - "parentIndex": "6656", + "parentIndex": "6658", "start": "112371" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } }, @@ -130447,36 +130555,36 @@ "end": "112392", "length": "22", "line": "3028", - "parentIndex": "6654", + "parentIndex": "6656", "start": "112371" } }, "returnParameters": { - "id": "6659", + "id": "6661", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "112677", "length": "348", "line": "3028", - "parentIndex": "6654", + "parentIndex": "6656", "start": "112330" } }, - "scope": "6588", + "scope": "6590", "signature": "889a61b5", "src": { "column": "4", "end": "112677", "length": "348", "line": "3028", - "parentIndex": "6588", + "parentIndex": "6590", "start": "112330" }, "stateMutability": "VIEW", "typeDescription": { - "typeIdentifier": "t_function_$_t_unknown_6654$", - "typeString": "function(unknown_6654)" + "typeIdentifier": "t_function_$_t_unknown_6656$", + "typeString": "function(unknown_6656)" }, "visibility": "INTERNAL" } @@ -130486,7 +130594,7 @@ "end": "112679", "length": "2124", "line": "2988", - "parentIndex": "6513", + "parentIndex": "6515", "start": "110556" } } @@ -130502,38 +130610,38 @@ } }, { - "id": 6695, + "id": 6697, "license": "BUSL-1.1", "name": "L1BridgeEscrow", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1BridgeEscrow.sol", "exported_symbols": [ { - "id": 6695, + "id": 6697, "name": "L1BridgeEscrow", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1BridgeEscrow.sol" }, { - "id": 6513, + "id": 6515, "name": "ERC20", "absolute_path": "ERC20.sol" }, { - "id": 6513, + "id": 6515, "name": "SafeTransferLib", "absolute_path": "SafeTransferLib.sol" }, { - "id": 6513, + "id": 6515, "name": "IRootChainManager", "absolute_path": "IRootChainManager.sol" }, { - "id": 6513, + "id": 6515, "name": "BridgeEscrow", "absolute_path": "BridgeEscrow.sol" }, { - "id": 6513, + "id": 6515, "name": "L1Vault", "absolute_path": "L1Vault.sol" } @@ -130544,7 +130652,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "6721", + "id": "6723", "literals": [ "pragma", "solidity", @@ -130561,7 +130669,7 @@ "end": "112742", "length": "24", "line": "3037", - "parentIndex": "6695", + "parentIndex": "6697", "start": "112719" }, "text": "pragma solidity =0.8.16;" @@ -130572,15 +130680,15 @@ "value": { "absolutePath": "ERC20.sol", "file": "./ERC20.sol", - "id": "6771", + "id": "6773", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6695", - "sourceUnit": "6513", + "scope": "6697", + "sourceUnit": "6515", "src": { "end": "112778", "length": "34", "line": "3039", - "parentIndex": "6695", + "parentIndex": "6697", "start": "112745" } } @@ -130590,15 +130698,15 @@ "value": { "absolutePath": "SafeTransferLib.sol", "file": "./SafeTransferLib.sol", - "id": "6772", + "id": "6774", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6695", - "sourceUnit": "6513", + "scope": "6697", + "sourceUnit": "6515", "src": { "end": "112833", "length": "54", "line": "3040", - "parentIndex": "6695", + "parentIndex": "6697", "start": "112780" } } @@ -130608,15 +130716,15 @@ "value": { "absolutePath": "IRootChainManager.sol", "file": "./IRootChainManager.sol", - "id": "6773", + "id": "6775", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6695", - "sourceUnit": "6513", + "scope": "6697", + "sourceUnit": "6515", "src": { "end": "112893", "length": "58", "line": "3042", - "parentIndex": "6695", + "parentIndex": "6697", "start": "112836" } } @@ -130626,15 +130734,15 @@ "value": { "absolutePath": "BridgeEscrow.sol", "file": "./BridgeEscrow.sol", - "id": "6774", + "id": "6776", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6695", - "sourceUnit": "6513", + "scope": "6697", + "sourceUnit": "6515", "src": { "end": "112942", "length": "48", "line": "3043", - "parentIndex": "6695", + "parentIndex": "6697", "start": "112895" } } @@ -130644,15 +130752,15 @@ "value": { "absolutePath": "L1Vault.sol", "file": "./L1Vault.sol", - "id": "6775", + "id": "6777", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6695", - "sourceUnit": "6513", + "scope": "6697", + "sourceUnit": "6515", "src": { "end": "112981", "length": "38", "line": "3044", - "parentIndex": "6695", + "parentIndex": "6697", "start": "112944" } } @@ -130663,50 +130771,50 @@ "baseContracts": [ { "baseName": { - "id": "6778", + "id": "6780", "name": "BridgeEscrow", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "6344", + "referencedDeclaration": "6346", "src": { "column": "27", "end": "113022", "length": "12", "line": "3046", - "parentIndex": "6776", + "parentIndex": "6778", "start": "113011" } }, - "id": "6777", + "id": "6779", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "27", "end": "113022", "length": "12", "line": "3046", - "parentIndex": "6776", + "parentIndex": "6778", "start": "113011" } } ], "contractDependencies": [ - "6344", - "6771", - "6772", + "6346", "6773", "6774", - "6775" + "6775", + "6776", + "6777" ], "fullyImplemented": true, - "id": "6776", + "id": "6778", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "6344", - "6776", - "6771", - "6772", + "6346", + "6778", "6773", "6774", - "6775" + "6775", + "6776", + "6777" ], "name": "L1BridgeEscrow", "nameLocation": { @@ -130714,7 +130822,7 @@ "end": "113006", "length": "14", "line": "3046", - "parentIndex": "6776", + "parentIndex": "6778", "start": "112993" }, "nodeType": "CONTRACT_DEFINITION", @@ -130722,17 +130830,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", "value": { - "id": "6780", + "id": "6782", "libraryName": { - "id": "6781", + "id": "6783", "name": "SafeTransferLib", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4499", + "referencedDeclaration": "4500", "src": { "end": "113050", "length": "15", "line": "3047", - "parentIndex": "6780", + "parentIndex": "6782", "start": "113036" } }, @@ -130742,45 +130850,45 @@ "end": "113061", "length": "32", "line": "3047", - "parentIndex": "6776", + "parentIndex": "6778", "start": "113030" }, "typeName": { - "id": "6782", + "id": "6784", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6783", + "id": "6785", "name": "ERC20", "nameLocation": { "column": "30", "end": "113060", "length": "5", "line": "3047", - "parentIndex": "6782", + "parentIndex": "6784", "start": "113056" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "30", "end": "113060", "length": "5", "line": "3047", - "parentIndex": "6782", + "parentIndex": "6784", "start": "113056" } }, - "referencedDeclaration": "4060", + "referencedDeclaration": "4061", "src": { "column": "30", "end": "113060", "length": "5", "line": "3047", - "parentIndex": "6780", + "parentIndex": "6782", "start": "113056" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } @@ -130789,17 +130897,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "6785", + "id": "6787", "isStateVariable": true, "name": "vault", "nodeType": "VARIABLE_DECLARATION", - "scope": "6776", + "scope": "6778", "src": { "column": "4", "end": "113127", "length": "31", "line": "3050", - "parentIndex": "6776", + "parentIndex": "6778", "start": "113097" }, "stateMutability": "IMMUTABLE", @@ -130809,17 +130917,17 @@ "typeString": "contract L1Vault" }, "typeName": { - "id": "6786", + "id": "6788", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6787", + "id": "6789", "name": "L1Vault", "nameLocation": { "column": "4", "end": "113103", "length": "7", "line": "3050", - "parentIndex": "6786", + "parentIndex": "6788", "start": "113097" }, "nodeType": "IDENTIFIER_PATH", @@ -130829,7 +130937,7 @@ "end": "113103", "length": "7", "line": "3050", - "parentIndex": "6786", + "parentIndex": "6788", "start": "113097" } }, @@ -130839,7 +130947,7 @@ "end": "113103", "length": "7", "line": "3050", - "parentIndex": "6785", + "parentIndex": "6787", "start": "113097" }, "typeDescription": { @@ -130853,37 +130961,37 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "6789", + "id": "6791", "isStateVariable": true, "name": "rootChainManager", "nodeType": "VARIABLE_DECLARATION", - "scope": "6776", + "scope": "6778", "src": { "column": "4", "end": "113374", "length": "52", "line": "3052", - "parentIndex": "6776", + "parentIndex": "6778", "start": "113323" }, "stateMutability": "IMMUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" }, "typeName": { - "id": "6790", + "id": "6792", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6791", + "id": "6793", "name": "IRootChainManager", "nameLocation": { "column": "4", "end": "113339", "length": "17", "line": "3052", - "parentIndex": "6790", + "parentIndex": "6792", "start": "113323" }, "nodeType": "IDENTIFIER_PATH", @@ -130892,21 +131000,21 @@ "end": "113339", "length": "17", "line": "3052", - "parentIndex": "6790", + "parentIndex": "6792", "start": "113323" } }, - "referencedDeclaration": "7202", + "referencedDeclaration": "7204", "src": { "column": "4", "end": "113339", "length": "17", "line": "3052", - "parentIndex": "6789", + "parentIndex": "6791", "start": "113323" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } }, @@ -130917,7 +131025,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6805", + "id": "6807", "implemented": true, "nodeType": "BLOCK", "src": { @@ -130925,7 +131033,7 @@ "end": "113525", "length": "68", "line": "3054", - "parentIndex": "6793", + "parentIndex": "6795", "start": "113458" }, "statements": [ @@ -130935,24 +131043,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6807", + "id": "6809", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6808", + "id": "6810", "name": "vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6608", + "referencedDeclaration": "6610", "src": { "column": "8", "end": "113472", "length": "5", "line": "3055", - "parentIndex": "6807", + "parentIndex": "6809", "start": "113468" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -130962,16 +131070,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6809", + "id": "6811", "name": "_vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6809", + "referencedDeclaration": "6811", "src": { "column": "16", "end": "113481", "length": "6", "line": "3055", - "parentIndex": "6807", + "parentIndex": "6809", "start": "113476" }, "typeDescription": { @@ -130985,27 +131093,27 @@ "end": "113481", "length": "14", "line": "3055", - "parentIndex": "6806", + "parentIndex": "6808", "start": "113468" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6806", + "id": "6808", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "113482", "length": "15", "line": "3055", - "parentIndex": "6805", + "parentIndex": "6807", "start": "113468" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } @@ -131016,24 +131124,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "6811", + "id": "6813", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6812", + "id": "6814", "name": "rootChainManager", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6798", + "referencedDeclaration": "6800", "src": { "column": "8", "end": "113507", "length": "16", "line": "3056", - "parentIndex": "6811", + "parentIndex": "6813", "start": "113492" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } @@ -131043,20 +131151,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6813", + "id": "6815", "name": "_manager", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6798", + "referencedDeclaration": "6800", "src": { "column": "27", "end": "113518", "length": "8", "line": "3056", - "parentIndex": "6811", + "parentIndex": "6813", "start": "113511" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } @@ -131066,34 +131174,34 @@ "end": "113518", "length": "27", "line": "3056", - "parentIndex": "6810", + "parentIndex": "6812", "start": "113492" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } }, - "id": "6810", + "id": "6812", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "113519", "length": "28", "line": "3056", - "parentIndex": "6805", + "parentIndex": "6807", "start": "113492" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } } ] }, - "id": "6793", + "id": "6795", "implemented": true, "kind": "CONSTRUCTOR", "modifiers": [ @@ -131108,16 +131216,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6804", + "id": "6806", "name": "_vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6804", + "referencedDeclaration": "6806", "src": { "column": "73", "end": "113455", "length": "6", "line": "3054", - "parentIndex": "6802", + "parentIndex": "6804", "start": "113450" }, "typeDescription": { @@ -131127,17 +131235,17 @@ } } ], - "id": "6802", + "id": "6804", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "6803", + "id": "6805", "name": "BridgeEscrow", "src": { "column": "60", "end": "113448", "length": "12", "line": "3054", - "parentIndex": "6802", + "parentIndex": "6804", "start": "113437" } }, @@ -131148,27 +131256,27 @@ "end": "113456", "length": "20", "line": "3054", - "parentIndex": "6793", + "parentIndex": "6795", "start": "113437" } } ], "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6794", + "id": "6796", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6795", + "id": "6797", "name": "_vault", "nodeType": "VARIABLE_DECLARATION", - "scope": "6795", + "scope": "6797", "src": { "column": "16", "end": "113406", "length": "14", "line": "3054", - "parentIndex": "6794", + "parentIndex": "6796", "start": "113393" }, "stateMutability": "MUTABLE", @@ -131178,17 +131286,17 @@ "typeString": "contract L1Vault" }, "typeName": { - "id": "6796", + "id": "6798", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6797", + "id": "6799", "name": "L1Vault", "nameLocation": { "column": "16", "end": "113399", "length": "7", "line": "3054", - "parentIndex": "6796", + "parentIndex": "6798", "start": "113393" }, "nodeType": "IDENTIFIER_PATH", @@ -131198,7 +131306,7 @@ "end": "113399", "length": "7", "line": "3054", - "parentIndex": "6796", + "parentIndex": "6798", "start": "113393" } }, @@ -131208,7 +131316,7 @@ "end": "113399", "length": "7", "line": "3054", - "parentIndex": "6795", + "parentIndex": "6797", "start": "113393" }, "typeDescription": { @@ -131219,36 +131327,36 @@ "visibility": "INTERNAL" }, { - "id": "6798", + "id": "6800", "name": "_manager", "nodeType": "VARIABLE_DECLARATION", - "scope": "6798", + "scope": "6800", "src": { "column": "32", "end": "113434", "length": "26", "line": "3054", - "parentIndex": "6794", + "parentIndex": "6796", "start": "113409" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" }, "typeName": { - "id": "6799", + "id": "6801", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6800", + "id": "6802", "name": "IRootChainManager", "nameLocation": { "column": "32", "end": "113425", "length": "17", "line": "3054", - "parentIndex": "6799", + "parentIndex": "6801", "start": "113409" }, "nodeType": "IDENTIFIER_PATH", @@ -131257,21 +131365,21 @@ "end": "113425", "length": "17", "line": "3054", - "parentIndex": "6799", + "parentIndex": "6801", "start": "113409" } }, - "referencedDeclaration": "7202", + "referencedDeclaration": "7204", "src": { "column": "32", "end": "113425", "length": "17", "line": "3054", - "parentIndex": "6798", + "parentIndex": "6800", "start": "113409" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } }, @@ -131283,29 +131391,29 @@ "end": "113434", "length": "42", "line": "3054", - "parentIndex": "6793", + "parentIndex": "6795", "start": "113393" } }, "returnParameters": { - "id": "6801", + "id": "6803", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "113525", "length": "145", "line": "3054", - "parentIndex": "6793", + "parentIndex": "6795", "start": "113381" } }, - "scope": "6776", + "scope": "6778", "src": { "column": "4", "end": "113525", "length": "145", "line": "3054", - "parentIndex": "6776", + "parentIndex": "6778", "start": "113381" }, "stateMutability": "NONPAYABLE", @@ -131320,7 +131428,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6823", + "id": "6825", "implemented": true, "nodeType": "BLOCK", "src": { @@ -131328,7 +131436,7 @@ "end": "114290", "length": "683", "line": "3059", - "parentIndex": "6815", + "parentIndex": "6817", "start": "113608" }, "statements": [ @@ -131336,7 +131444,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Try", "value": { "body": { - "id": "6829", + "id": "6831", "implemented": true, "nodeType": "BLOCK", "src": { @@ -131344,7 +131452,7 @@ "end": "113984", "length": "2", "line": "3063", - "parentIndex": "6824", + "parentIndex": "6826", "start": "113983" } }, @@ -131353,7 +131461,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Catch", "value": { "body": { - "id": "6831", + "id": "6833", "implemented": true, "nodeType": "BLOCK", "src": { @@ -131367,7 +131475,7 @@ "kind": "CATCH", "nodeType": "TRY_CATCH_CLAUSE", "parameters": { - "id": "6830", + "id": "6832", "nodeType": "PARAMETER_LIST", "src": { "end": "113993", @@ -131380,7 +131488,7 @@ "end": "113993", "length": "8", "line": "3063", - "parentIndex": "6824", + "parentIndex": "6826", "start": "113986" } } @@ -131399,16 +131507,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6828", + "id": "6830", "name": "exitProof", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6828", + "referencedDeclaration": "6830", "src": { "column": "34", "end": "113980", "length": "9", "line": "3063", - "parentIndex": "6825", + "parentIndex": "6827", "start": "113972" }, "typeDescription": { @@ -131424,42 +131532,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6827", + "id": "6829", "name": "rootChainManager", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8086", + "referencedDeclaration": "8090", "src": { "column": "12", "end": "113965", "length": "16", "line": "3063", - "parentIndex": "6826", + "parentIndex": "6828", "start": "113950" }, "typeDescription": { - "typeIdentifier": "t_contract$_IRootChainManager_$7202", + "typeIdentifier": "t_contract$_IRootChainManager_$7204", "typeString": "contract IRootChainManager" } } }, - "id": "6826", + "id": "6828", "memberLocation": { "column": "29", "end": "113970", "length": "4", "line": "3063", - "parentIndex": "6826", + "parentIndex": "6828", "start": "113967" }, "memberName": "exit", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7302", + "referencedDeclaration": "7304", "src": { "column": "12", "end": "113970", "length": "21", "line": "3063", - "parentIndex": "6825", + "parentIndex": "6827", "start": "113950" }, "typeDescription": { @@ -131468,7 +131576,7 @@ } } }, - "id": "6825", + "id": "6827", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -131476,7 +131584,7 @@ "end": "113981", "length": "32", "line": "3063", - "parentIndex": "6824", + "parentIndex": "6826", "start": "113950" }, "typeDescription": { @@ -131485,17 +131593,17 @@ } } }, - "id": "6824", + "id": "6826", "kind": "TRY", "nodeType": "TRY_STATEMENT", "returnParameters": { - "id": "6832", + "id": "6834", "nodeType": "PARAMETER_LIST", "src": { "end": "113993", "length": "48", "line": "3063", - "parentIndex": "6824", + "parentIndex": "6826", "start": "113946" } }, @@ -131503,7 +131611,7 @@ "end": "113993", "length": "48", "line": "3063", - "parentIndex": "6823", + "parentIndex": "6825", "start": "113946" } } @@ -131512,11 +131620,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6834" + "6836" ], "declarations": [ { - "id": "6834", + "id": "6836", "mutability": "MUTABLE", "name": "balance", "nameLocation": { @@ -131524,17 +131632,17 @@ "end": "114065", "length": "7", "line": "3066", - "parentIndex": "6834", + "parentIndex": "6836", "start": "114059" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6823", + "scope": "6825", "src": { "column": "8", "end": "114065", "length": "15", "line": "3066", - "parentIndex": "6833", + "parentIndex": "6835", "start": "114051" }, "storageLocation": "DEFAULT", @@ -131543,7 +131651,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6835", + "id": "6837", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -131551,7 +131659,7 @@ "end": "114057", "length": "7", "line": "3066", - "parentIndex": "6834", + "parentIndex": "6836", "start": "114051" }, "typeDescription": { @@ -131562,7 +131670,7 @@ "visibility": "INTERNAL" } ], - "id": "6833", + "id": "6835", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -131578,7 +131686,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_L1BridgeEscrow_$6695", + "typeIdentifier": "t_contract$_L1BridgeEscrow_$6697", "typeString": "contract L1BridgeEscrow" } ], @@ -131586,7 +131694,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6842", + "id": "6844", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -131594,11 +131702,11 @@ "end": "114096", "length": "4", "line": "3066", - "parentIndex": "6839", + "parentIndex": "6841", "start": "114093" }, "typeDescription": { - "typeIdentifier": "t_contract$_L1BridgeEscrow_$6695", + "typeIdentifier": "t_contract$_L1BridgeEscrow_$6697", "typeString": "contract L1BridgeEscrow" } } @@ -131613,7 +131721,7 @@ "typeString": "address" } ], - "id": "6840", + "id": "6842", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -131621,7 +131729,7 @@ "end": "114091", "length": "7", "line": "3066", - "parentIndex": "6839", + "parentIndex": "6841", "start": "114085" }, "typeDescription": { @@ -131629,7 +131737,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6841", + "id": "6843", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -131637,7 +131745,7 @@ "end": "114091", "length": "7", "line": "3066", - "parentIndex": "6840", + "parentIndex": "6842", "start": "114085" }, "stateMutability": "NONPAYABLE", @@ -131648,7 +131756,7 @@ } } }, - "id": "6839", + "id": "6841", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -131656,7 +131764,7 @@ "end": "114097", "length": "13", "line": "3066", - "parentIndex": "6836", + "parentIndex": "6838", "start": "114085" }, "typeDescription": { @@ -131672,31 +131780,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6838", + "id": "6840", "name": "asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5021", + "referencedDeclaration": "5022", "src": { "column": "26", "end": "114073", "length": "5", "line": "3066", - "parentIndex": "6837", + "parentIndex": "6839", "start": "114069" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6837", + "id": "6839", "memberLocation": { "column": "32", "end": "114083", "length": "9", "line": "3066", - "parentIndex": "6837", + "parentIndex": "6839", "start": "114075" }, "memberName": "balanceOf", @@ -131706,16 +131814,16 @@ "end": "114083", "length": "15", "line": "3066", - "parentIndex": "6836", + "parentIndex": "6838", "start": "114069" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6836", + "id": "6838", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -131723,7 +131831,7 @@ "end": "114098", "length": "30", "line": "3066", - "parentIndex": "6833", + "parentIndex": "6835", "start": "114069" }, "typeDescription": { @@ -131738,7 +131846,7 @@ "end": "114099", "length": "49", "line": "3066", - "parentIndex": "6823", + "parentIndex": "6825", "start": "114051" } } @@ -131760,20 +131868,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6845", + "id": "6847", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6846", + "id": "6848", "name": "balance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6833", + "referencedDeclaration": "6835", "src": { "column": "16", "end": "114123", "length": "7", "line": "3067", - "parentIndex": "6845", + "parentIndex": "6847", "start": "114117" }, "typeDescription": { @@ -131787,16 +131895,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6847", + "id": "6849", "name": "assets", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6847", + "referencedDeclaration": "6849", "src": { "column": "27", "end": "114133", "length": "6", "line": "3067", - "parentIndex": "6845", + "parentIndex": "6847", "start": "114128" }, "typeDescription": { @@ -131810,7 +131918,7 @@ "end": "114133", "length": "17", "line": "3067", - "parentIndex": "6843", + "parentIndex": "6845", "start": "114117" }, "typeDescription": { @@ -131829,7 +131937,7 @@ } ], "hexValue": "42453a2046756e6473206e6f74207265636569766564", - "id": "6848", + "id": "6850", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -131838,7 +131946,7 @@ "end": "114159", "length": "24", "line": "3067", - "parentIndex": "6843", + "parentIndex": "6845", "start": "114136" }, "typeDescription": { @@ -131852,7 +131960,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6844", + "id": "6846", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -131861,7 +131969,7 @@ "end": "114115", "length": "7", "line": "3067", - "parentIndex": "6843", + "parentIndex": "6845", "start": "114109" }, "typeDescription": { @@ -131870,7 +131978,7 @@ } } }, - "id": "6843", + "id": "6845", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -131878,7 +131986,7 @@ "end": "114160", "length": "52", "line": "3067", - "parentIndex": "6823", + "parentIndex": "6825", "start": "114109" }, "typeDescription": { @@ -131914,7 +132022,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6855", + "id": "6857", "name": "vault", "nodeType": "IDENTIFIER", "src": { @@ -131922,7 +132030,7 @@ "end": "114202", "length": "5", "line": "3068", - "parentIndex": "6852", + "parentIndex": "6854", "start": "114198" }, "typeDescription": { @@ -131941,7 +132049,7 @@ "typeString": "address" } ], - "id": "6853", + "id": "6855", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -131949,7 +132057,7 @@ "end": "114196", "length": "7", "line": "3068", - "parentIndex": "6852", + "parentIndex": "6854", "start": "114190" }, "typeDescription": { @@ -131957,7 +132065,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6854", + "id": "6856", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -131965,7 +132073,7 @@ "end": "114196", "length": "7", "line": "3068", - "parentIndex": "6853", + "parentIndex": "6855", "start": "114190" }, "stateMutability": "NONPAYABLE", @@ -131976,7 +132084,7 @@ } } }, - "id": "6852", + "id": "6854", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -131984,7 +132092,7 @@ "end": "114203", "length": "14", "line": "3068", - "parentIndex": "6849", + "parentIndex": "6851", "start": "114190" }, "typeDescription": { @@ -132002,16 +132110,16 @@ "typeString": "function(function())" } ], - "id": "6856", + "id": "6858", "name": "balance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6833", + "referencedDeclaration": "6835", "src": { "column": "43", "end": "114212", "length": "7", "line": "3068", - "parentIndex": "6849", + "parentIndex": "6851", "start": "114206" }, "typeDescription": { @@ -132027,31 +132135,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6851", + "id": "6853", "name": "asset", "nodeType": "IDENTIFIER", - "referencedDeclaration": "5021", + "referencedDeclaration": "5022", "src": { "column": "8", "end": "114175", "length": "5", "line": "3068", - "parentIndex": "6850", + "parentIndex": "6852", "start": "114171" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6850", + "id": "6852", "memberLocation": { "column": "14", "end": "114188", "length": "12", "line": "3068", - "parentIndex": "6850", + "parentIndex": "6852", "start": "114177" }, "memberName": "safeTransfer", @@ -132061,16 +132169,16 @@ "end": "114188", "length": "18", "line": "3068", - "parentIndex": "6849", + "parentIndex": "6851", "start": "114171" }, "typeDescription": { - "typeIdentifier": "t_contract$_ERC20_$4060", + "typeIdentifier": "t_contract$_ERC20_$4061", "typeString": "contract ERC20" } } }, - "id": "6849", + "id": "6851", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -132078,7 +132186,7 @@ "end": "114213", "length": "43", "line": "3068", - "parentIndex": "6823", + "parentIndex": "6825", "start": "114171" }, "typeDescription": { @@ -132094,16 +132202,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6858", + "id": "6860", "name": "balance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6833", + "referencedDeclaration": "6835", "src": { "column": "29", "end": "114252", "length": "7", "line": "3070", - "parentIndex": "6857", + "parentIndex": "6859", "start": "114246" }, "typeDescription": { @@ -132116,32 +132224,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6859", + "id": "6861", "name": "TransferToVault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6432", + "referencedDeclaration": "6434", "src": { "column": "13", "end": "114244", "length": "15", "line": "3070", - "parentIndex": "6857", + "parentIndex": "6859", "start": "114230" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266432", + "typeIdentifier": "t_event\u0026_BridgeEscrow_TransferToVault_\u00266434", "typeString": "event BridgeEscrow.TransferToVault" } } }, - "id": "6857", + "id": "6859", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "114254", "length": "30", "line": "3070", - "parentIndex": "6815", + "parentIndex": "6817", "start": "114225" } } @@ -132155,31 +132263,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6862", + "id": "6864", "name": "vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6608", + "referencedDeclaration": "6610", "src": { "column": "8", "end": "114268", "length": "5", "line": "3071", - "parentIndex": "6861", + "parentIndex": "6863", "start": "114264" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6861", + "id": "6863", "memberLocation": { "column": "14", "end": "114281", "length": "12", "line": "3071", - "parentIndex": "6861", + "parentIndex": "6863", "start": "114270" }, "memberName": "afterReceive", @@ -132189,16 +132297,16 @@ "end": "114281", "length": "18", "line": "3071", - "parentIndex": "6860", + "parentIndex": "6862", "start": "114264" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "6860", + "id": "6862", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -132206,7 +132314,7 @@ "end": "114283", "length": "20", "line": "3071", - "parentIndex": "6823", + "parentIndex": "6825", "start": "114264" }, "typeDescription": { @@ -132217,7 +132325,7 @@ } ] }, - "id": "6815", + "id": "6817", "implemented": true, "kind": "KIND_FUNCTION", "name": "_clear", @@ -132226,20 +132334,20 @@ "end": "113546", "length": "6", "line": "3059", - "parentIndex": "6815", + "parentIndex": "6817", "start": "113541" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "6821", + "id": "6823", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "71", "end": "113606", "length": "8", "line": "3059", - "parentIndex": "6815", + "parentIndex": "6817", "start": "113599" }, "typeDescription": { @@ -132249,20 +132357,20 @@ } ], "parameters": { - "id": "6816", + "id": "6818", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6817", + "id": "6819", "name": "assets", "nodeType": "VARIABLE_DECLARATION", - "scope": "6817", + "scope": "6819", "src": { "column": "20", "end": "113561", "length": "14", "line": "3059", - "parentIndex": "6816", + "parentIndex": "6818", "start": "113548" }, "stateMutability": "MUTABLE", @@ -132272,7 +132380,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6818", + "id": "6820", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -132280,7 +132388,7 @@ "end": "113554", "length": "7", "line": "3059", - "parentIndex": "6817", + "parentIndex": "6819", "start": "113548" }, "typeDescription": { @@ -132291,16 +132399,16 @@ "visibility": "INTERNAL" }, { - "id": "6819", + "id": "6821", "name": "exitProof", "nodeType": "VARIABLE_DECLARATION", - "scope": "6819", + "scope": "6821", "src": { "column": "36", "end": "113587", "length": "24", "line": "3059", - "parentIndex": "6816", + "parentIndex": "6818", "start": "113564" }, "stateMutability": "MUTABLE", @@ -132310,7 +132418,7 @@ "typeString": "bytes" }, "typeName": { - "id": "6820", + "id": "6822", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -132318,7 +132426,7 @@ "end": "113568", "length": "5", "line": "3059", - "parentIndex": "6819", + "parentIndex": "6821", "start": "113564" }, "typeDescription": { @@ -132334,30 +132442,30 @@ "end": "113587", "length": "40", "line": "3059", - "parentIndex": "6815", + "parentIndex": "6817", "start": "113548" } }, "returnParameters": { - "id": "6822", + "id": "6824", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "114290", "length": "759", "line": "3059", - "parentIndex": "6815", + "parentIndex": "6817", "start": "113532" } }, - "scope": "6776", - "signature": "1894c922", + "scope": "6778", + "signature": "5a7d604b", "src": { "column": "4", "end": "114290", "length": "759", "line": "3059", - "parentIndex": "6776", + "parentIndex": "6778", "start": "113532" }, "stateMutability": "NONPAYABLE", @@ -132373,7 +132481,7 @@ "end": "114292", "length": "1309", "line": "3046", - "parentIndex": "6695", + "parentIndex": "6697", "start": "112984" } } @@ -132389,33 +132497,33 @@ } }, { - "id": 6863, + "id": 6865, "license": "BUSL-1.1", "name": "L1WormholeRouter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1WormholeRouter.sol", "exported_symbols": [ { - "id": 6863, + "id": 6865, "name": "L1WormholeRouter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1WormholeRouter.sol" }, { - "id": 6695, + "id": 6697, "name": "IWormhole", "absolute_path": "IWormhole.sol" }, { - "id": 6695, + "id": 6697, "name": "L1Vault", "absolute_path": "L1Vault.sol" }, { - "id": 6695, + "id": 6697, "name": "WormholeRouter", "absolute_path": "WormholeRouter.sol" }, { - "id": 6695, + "id": 6697, "name": "Constants", "absolute_path": "Constants.sol" } @@ -132426,7 +132534,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "6890", + "id": "6892", "literals": [ "pragma", "solidity", @@ -132443,7 +132551,7 @@ "end": "114356", "length": "24", "line": "3077", - "parentIndex": "6863", + "parentIndex": "6865", "start": "114333" }, "text": "pragma solidity =0.8.16;" @@ -132454,15 +132562,15 @@ "value": { "absolutePath": "IWormhole.sol", "file": "./IWormhole.sol", - "id": "6945", + "id": "6947", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6863", - "sourceUnit": "6695", + "scope": "6865", + "sourceUnit": "6697", "src": { "end": "114400", "length": "42", "line": "3079", - "parentIndex": "6863", + "parentIndex": "6865", "start": "114359" } } @@ -132472,15 +132580,15 @@ "value": { "absolutePath": "L1Vault.sol", "file": "./L1Vault.sol", - "id": "6946", + "id": "6948", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6863", - "sourceUnit": "6695", + "scope": "6865", + "sourceUnit": "6697", "src": { "end": "114439", "length": "38", "line": "3080", - "parentIndex": "6863", + "parentIndex": "6865", "start": "114402" } } @@ -132490,15 +132598,15 @@ "value": { "absolutePath": "WormholeRouter.sol", "file": "./WormholeRouter.sol", - "id": "6947", + "id": "6949", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6863", - "sourceUnit": "6695", + "scope": "6865", + "sourceUnit": "6697", "src": { "end": "114492", "length": "52", "line": "3081", - "parentIndex": "6863", + "parentIndex": "6865", "start": "114441" } } @@ -132508,15 +132616,15 @@ "value": { "absolutePath": "Constants.sol", "file": "./Constants.sol", - "id": "6948", + "id": "6950", "nodeType": "IMPORT_DIRECTIVE", - "scope": "6863", - "sourceUnit": "6695", + "scope": "6865", + "sourceUnit": "6697", "src": { "end": "114535", "length": "42", "line": "3082", - "parentIndex": "6863", + "parentIndex": "6865", "start": "114494" } } @@ -132527,48 +132635,48 @@ "baseContracts": [ { "baseName": { - "id": "6951", + "id": "6953", "name": "WormholeRouter", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "6513", + "referencedDeclaration": "6515", "src": { "column": "29", "end": "114580", "length": "14", "line": "3084", - "parentIndex": "6949", + "parentIndex": "6951", "start": "114567" } }, - "id": "6950", + "id": "6952", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "29", "end": "114580", "length": "14", "line": "3084", - "parentIndex": "6949", + "parentIndex": "6951", "start": "114567" } } ], "contractDependencies": [ - "6513", - "6945", - "6946", + "6515", "6947", - "6948" + "6948", + "6949", + "6950" ], "fullyImplemented": true, - "id": "6949", + "id": "6951", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "6513", - "6949", - "6945", - "6946", + "6515", + "6951", "6947", - "6948" + "6948", + "6949", + "6950" ], "name": "L1WormholeRouter", "nameLocation": { @@ -132576,7 +132684,7 @@ "end": "114562", "length": "16", "line": "3084", - "parentIndex": "6949", + "parentIndex": "6951", "start": "114547" }, "nodeType": "CONTRACT_DEFINITION", @@ -132585,7 +132693,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6961", + "id": "6963", "implemented": true, "nodeType": "BLOCK", "src": { @@ -132593,7 +132701,7 @@ "end": "114682", "length": "25", "line": "3085", - "parentIndex": "6953", + "parentIndex": "6955", "start": "114658" }, "statements": [ @@ -132604,7 +132712,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "35", - "id": "6963", + "id": "6965", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -132613,7 +132721,7 @@ "end": "114675", "length": "1", "line": "3086", - "parentIndex": "6962", + "parentIndex": "6964", "start": "114675" }, "typeDescription": { @@ -132623,15 +132731,15 @@ "value": "5" } }, - "functionReturnParameters": "6953", - "id": "6962", + "functionReturnParameters": "6955", + "id": "6964", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "114676", "length": "9", "line": "3086", - "parentIndex": "6953", + "parentIndex": "6955", "start": "114668" }, "typeDescription": { @@ -132642,7 +132750,7 @@ } ] }, - "id": "6953", + "id": "6955", "implemented": true, "kind": "KIND_FUNCTION", "name": "otherLayerWormholeId", @@ -132651,20 +132759,20 @@ "end": "114616", "length": "20", "line": "3085", - "parentIndex": "6953", + "parentIndex": "6955", "start": "114597" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "6957", + "id": "6959", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "48", "end": "114639", "length": "8", "line": "3085", - "parentIndex": "6953", + "parentIndex": "6955", "start": "114632" }, "typeDescription": { @@ -132674,19 +132782,19 @@ } ], "parameters": { - "id": "6954", + "id": "6956", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6955", + "id": "6957", "nodeType": "VARIABLE_DECLARATION", - "scope": "6955", + "scope": "6957", "src": { "column": "66", "end": "114655", "length": "6", "line": "3085", - "parentIndex": "6954", + "parentIndex": "6956", "start": "114650" }, "stateMutability": "MUTABLE", @@ -132696,7 +132804,7 @@ "typeString": "uint16" }, "typeName": { - "id": "6956", + "id": "6958", "name": "uint16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -132704,7 +132812,7 @@ "end": "114655", "length": "6", "line": "3085", - "parentIndex": "6955", + "parentIndex": "6957", "start": "114650" }, "typeDescription": { @@ -132720,24 +132828,24 @@ "end": "114655", "length": "6", "line": "3085", - "parentIndex": "6953", + "parentIndex": "6955", "start": "114650" } }, "returnParameters": { - "id": "6958", + "id": "6960", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6959", + "id": "6961", "nodeType": "VARIABLE_DECLARATION", - "scope": "6959", + "scope": "6961", "src": { "column": "66", "end": "114655", "length": "6", "line": "3085", - "parentIndex": "6958", + "parentIndex": "6960", "start": "114650" }, "stateMutability": "MUTABLE", @@ -132747,7 +132855,7 @@ "typeString": "uint16" }, "typeName": { - "id": "6960", + "id": "6962", "name": "uint16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -132755,7 +132863,7 @@ "end": "114655", "length": "6", "line": "3085", - "parentIndex": "6959", + "parentIndex": "6961", "start": "114650" }, "typeDescription": { @@ -132771,18 +132879,18 @@ "end": "114655", "length": "6", "line": "3085", - "parentIndex": "6953", + "parentIndex": "6955", "start": "114650" } }, - "scope": "6949", + "scope": "6951", "signature": "ea6e78ce", "src": { "column": "4", "end": "114682", "length": "95", "line": "3085", - "parentIndex": "6949", + "parentIndex": "6951", "start": "114588" }, "stateMutability": "PURE", @@ -132797,7 +132905,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6978", + "id": "6980", "implemented": true, "nodeType": "BLOCK", "src": { @@ -132805,11 +132913,11 @@ "end": "114773", "length": "2", "line": "3089", - "parentIndex": "6965", + "parentIndex": "6967", "start": "114772" } }, - "id": "6965", + "id": "6967", "implemented": true, "kind": "CONSTRUCTOR", "modifiers": [ @@ -132820,7 +132928,7 @@ "typeString": "contract L1Vault" }, { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } ], @@ -132828,16 +132936,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6976", + "id": "6978", "name": "_vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6976", + "referencedDeclaration": "6978", "src": { "column": "68", "end": "114758", "length": "6", "line": "3089", - "parentIndex": "6974", + "parentIndex": "6976", "start": "114753" }, "typeDescription": { @@ -132849,36 +132957,36 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6977", + "id": "6979", "name": "_wormhole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6601", + "referencedDeclaration": "6603", "src": { "column": "76", "end": "114769", "length": "9", "line": "3089", - "parentIndex": "6974", + "parentIndex": "6976", "start": "114761" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } } ], - "id": "6974", + "id": "6976", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "6975", + "id": "6977", "name": "WormholeRouter", "src": { "column": "53", "end": "114751", "length": "14", "line": "3089", - "parentIndex": "6974", + "parentIndex": "6976", "start": "114738" } }, @@ -132889,27 +132997,27 @@ "end": "114770", "length": "33", "line": "3089", - "parentIndex": "6965", + "parentIndex": "6967", "start": "114738" } } ], "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6966", + "id": "6968", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6967", + "id": "6969", "name": "_vault", "nodeType": "VARIABLE_DECLARATION", - "scope": "6967", + "scope": "6969", "src": { "column": "16", "end": "114714", "length": "14", "line": "3089", - "parentIndex": "6966", + "parentIndex": "6968", "start": "114701" }, "stateMutability": "MUTABLE", @@ -132919,17 +133027,17 @@ "typeString": "contract L1Vault" }, "typeName": { - "id": "6968", + "id": "6970", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6969", + "id": "6971", "name": "L1Vault", "nameLocation": { "column": "16", "end": "114707", "length": "7", "line": "3089", - "parentIndex": "6968", + "parentIndex": "6970", "start": "114701" }, "nodeType": "IDENTIFIER_PATH", @@ -132939,7 +133047,7 @@ "end": "114707", "length": "7", "line": "3089", - "parentIndex": "6968", + "parentIndex": "6970", "start": "114701" } }, @@ -132949,7 +133057,7 @@ "end": "114707", "length": "7", "line": "3089", - "parentIndex": "6967", + "parentIndex": "6969", "start": "114701" }, "typeDescription": { @@ -132960,36 +133068,36 @@ "visibility": "INTERNAL" }, { - "id": "6970", + "id": "6972", "name": "_wormhole", "nodeType": "VARIABLE_DECLARATION", - "scope": "6970", + "scope": "6972", "src": { "column": "32", "end": "114735", "length": "19", "line": "3089", - "parentIndex": "6966", + "parentIndex": "6968", "start": "114717" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" }, "typeName": { - "id": "6971", + "id": "6973", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "6972", + "id": "6974", "name": "IWormhole", "nameLocation": { "column": "32", "end": "114725", "length": "9", "line": "3089", - "parentIndex": "6971", + "parentIndex": "6973", "start": "114717" }, "nodeType": "IDENTIFIER_PATH", @@ -132998,21 +133106,21 @@ "end": "114725", "length": "9", "line": "3089", - "parentIndex": "6971", + "parentIndex": "6973", "start": "114717" } }, - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "32", "end": "114725", "length": "9", "line": "3089", - "parentIndex": "6970", + "parentIndex": "6972", "start": "114717" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } }, @@ -133024,29 +133132,29 @@ "end": "114735", "length": "35", "line": "3089", - "parentIndex": "6965", + "parentIndex": "6967", "start": "114701" } }, "returnParameters": { - "id": "6973", + "id": "6975", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "114773", "length": "85", "line": "3089", - "parentIndex": "6965", + "parentIndex": "6967", "start": "114689" } }, - "scope": "6949", + "scope": "6951", "src": { "column": "4", "end": "114773", "length": "85", "line": "3089", - "parentIndex": "6949", + "parentIndex": "6951", "start": "114689" }, "stateMutability": "NONPAYABLE", @@ -133061,7 +133169,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "6987", + "id": "6989", "implemented": true, "nodeType": "BLOCK", "src": { @@ -133069,7 +133177,7 @@ "end": "115441", "length": "425", "line": "3096", - "parentIndex": "6980", + "parentIndex": "6982", "start": "115017" }, "statements": [ @@ -133090,14 +133198,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "6990", + "id": "6992", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6992", + "id": "6994", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -133105,7 +133213,7 @@ "end": "115037", "length": "3", "line": "3097", - "parentIndex": "6991", + "parentIndex": "6993", "start": "115035" }, "typeDescription": { @@ -133114,13 +133222,13 @@ } } }, - "id": "6991", + "id": "6993", "memberLocation": { "column": "20", "end": "115044", "length": "6", "line": "3097", - "parentIndex": "6991", + "parentIndex": "6993", "start": "115039" }, "memberName": "sender", @@ -133130,7 +133238,7 @@ "end": "115044", "length": "10", "line": "3097", - "parentIndex": "6990", + "parentIndex": "6992", "start": "115035" }, "typeDescription": { @@ -133154,7 +133262,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6996", + "id": "6998", "name": "vault", "nodeType": "IDENTIFIER", "src": { @@ -133162,7 +133270,7 @@ "end": "115061", "length": "5", "line": "3097", - "parentIndex": "6993", + "parentIndex": "6995", "start": "115057" }, "typeDescription": { @@ -133181,7 +133289,7 @@ "typeString": "address" } ], - "id": "6994", + "id": "6996", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -133189,7 +133297,7 @@ "end": "115055", "length": "7", "line": "3097", - "parentIndex": "6993", + "parentIndex": "6995", "start": "115049" }, "typeDescription": { @@ -133197,7 +133305,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "6995", + "id": "6997", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -133205,7 +133313,7 @@ "end": "115055", "length": "7", "line": "3097", - "parentIndex": "6994", + "parentIndex": "6996", "start": "115049" }, "stateMutability": "NONPAYABLE", @@ -133216,7 +133324,7 @@ } } }, - "id": "6993", + "id": "6995", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -133224,7 +133332,7 @@ "end": "115062", "length": "14", "line": "3097", - "parentIndex": "6990", + "parentIndex": "6992", "start": "115049" }, "typeDescription": { @@ -133238,7 +133346,7 @@ "end": "115062", "length": "28", "line": "3097", - "parentIndex": "6988", + "parentIndex": "6990", "start": "115035" }, "typeDescription": { @@ -133257,7 +133365,7 @@ } ], "hexValue": "57523a206f6e6c79207661756c74", - "id": "6997", + "id": "6999", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -133266,7 +133374,7 @@ "end": "115080", "length": "16", "line": "3097", - "parentIndex": "6988", + "parentIndex": "6990", "start": "115065" }, "typeDescription": { @@ -133280,7 +133388,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "6989", + "id": "6991", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -133289,7 +133397,7 @@ "end": "115033", "length": "7", "line": "3097", - "parentIndex": "6988", + "parentIndex": "6990", "start": "115027" }, "typeDescription": { @@ -133298,7 +133406,7 @@ } } }, - "id": "6988", + "id": "6990", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -133306,7 +133414,7 @@ "end": "115081", "length": "55", "line": "3097", - "parentIndex": "6987", + "parentIndex": "6989", "start": "115027" }, "typeDescription": { @@ -133319,11 +133427,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "6999" + "7001" ], "declarations": [ { - "id": "6999", + "id": "7001", "mutability": "MUTABLE", "name": "payload", "nameLocation": { @@ -133331,17 +133439,17 @@ "end": "115111", "length": "7", "line": "3098", - "parentIndex": "6999", + "parentIndex": "7001", "start": "115105" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6987", + "scope": "6989", "src": { "column": "8", "end": "115111", "length": "20", "line": "3098", - "parentIndex": "6998", + "parentIndex": "7000", "start": "115092" }, "storageLocation": "MEMORY", @@ -133350,7 +133458,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7000", + "id": "7002", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -133358,7 +133466,7 @@ "end": "115096", "length": "5", "line": "3098", - "parentIndex": "6999", + "parentIndex": "7001", "start": "115092" }, "typeDescription": { @@ -133369,7 +133477,7 @@ "visibility": "INTERNAL" } ], - "id": "6998", + "id": "7000", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -133390,42 +133498,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7005", + "id": "7007", "name": "Constants", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7468", + "referencedDeclaration": "7470", "src": { "column": "42", "end": "115134", "length": "9", "line": "3098", - "parentIndex": "7004", + "parentIndex": "7006", "start": "115126" }, "typeDescription": { - "typeIdentifier": "t_contract$_Constants_$7468", + "typeIdentifier": "t_contract$_Constants_$7470", "typeString": "contract Constants" } } }, - "id": "7004", + "id": "7006", "memberLocation": { "column": "52", "end": "115141", "length": "6", "line": "3098", - "parentIndex": "7004", + "parentIndex": "7006", "start": "115136" }, "memberName": "L1_TVL", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "8164", + "referencedDeclaration": "8168", "src": { "column": "42", "end": "115141", "length": "16", "line": "3098", - "parentIndex": "7001", + "parentIndex": "7003", "start": "115126" }, "typeDescription": { @@ -133437,16 +133545,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7006", + "id": "7008", "name": "tvl", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7006", + "referencedDeclaration": "7008", "src": { "column": "60", "end": "115146", "length": "3", "line": "3098", - "parentIndex": "7001", + "parentIndex": "7003", "start": "115144" }, "typeDescription": { @@ -133464,16 +133572,16 @@ "typeString": "uint256" } ], - "id": "7007", + "id": "7009", "name": "received", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7007", + "referencedDeclaration": "7009", "src": { "column": "65", "end": "115156", "length": "8", "line": "3098", - "parentIndex": "7001", + "parentIndex": "7003", "start": "115149" }, "typeDescription": { @@ -133489,7 +133597,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7003", + "id": "7005", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -133497,7 +133605,7 @@ "end": "115117", "length": "3", "line": "3098", - "parentIndex": "7002", + "parentIndex": "7004", "start": "115115" }, "typeDescription": { @@ -133506,13 +133614,13 @@ } } }, - "id": "7002", + "id": "7004", "memberLocation": { "column": "35", "end": "115124", "length": "6", "line": "3098", - "parentIndex": "7002", + "parentIndex": "7004", "start": "115119" }, "memberName": "encode", @@ -133522,7 +133630,7 @@ "end": "115124", "length": "10", "line": "3098", - "parentIndex": "7001", + "parentIndex": "7003", "start": "115115" }, "typeDescription": { @@ -133531,7 +133639,7 @@ } } }, - "id": "7001", + "id": "7003", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -133539,12 +133647,12 @@ "end": "115157", "length": "43", "line": "3098", - "parentIndex": "6998", + "parentIndex": "7000", "start": "115115" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_unknown_7001$_t_uint256$_t_bool$", - "typeString": "function(unknown_7001,uint256,bool)" + "typeIdentifier": "t_function_$_t_unknown_7003$_t_uint256$_t_bool$", + "typeString": "function(unknown_7003,uint256,bool)" } } }, @@ -133554,7 +133662,7 @@ "end": "115158", "length": "67", "line": "3098", - "parentIndex": "6987", + "parentIndex": "6989", "start": "115092" } } @@ -133563,11 +133671,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "7009" + "7011" ], "declarations": [ { - "id": "7009", + "id": "7011", "mutability": "MUTABLE", "name": "sequence", "nameLocation": { @@ -133575,17 +133683,17 @@ "end": "115299", "length": "8", "line": "3101", - "parentIndex": "7009", + "parentIndex": "7011", "start": "115292" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "6987", + "scope": "6989", "src": { "column": "8", "end": "115299", "length": "15", "line": "3101", - "parentIndex": "7008", + "parentIndex": "7010", "start": "115285" }, "storageLocation": "DEFAULT", @@ -133594,7 +133702,7 @@ "typeString": "uint64" }, "typeName": { - "id": "7010", + "id": "7012", "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -133602,7 +133710,7 @@ "end": "115290", "length": "6", "line": "3101", - "parentIndex": "7009", + "parentIndex": "7011", "start": "115285" }, "typeDescription": { @@ -133613,7 +133721,7 @@ "visibility": "INTERNAL" } ], - "id": "7008", + "id": "7010", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -133629,7 +133737,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_L1WormholeRouter_$6863", + "typeIdentifier": "t_contract$_L1WormholeRouter_$6865", "typeString": "contract L1WormholeRouter" } ], @@ -133637,7 +133745,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7017", + "id": "7019", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -133645,11 +133753,11 @@ "end": "115336", "length": "4", "line": "3101", - "parentIndex": "7014", + "parentIndex": "7016", "start": "115333" }, "typeDescription": { - "typeIdentifier": "t_contract$_L1WormholeRouter_$6863", + "typeIdentifier": "t_contract$_L1WormholeRouter_$6865", "typeString": "contract L1WormholeRouter" } } @@ -133664,7 +133772,7 @@ "typeString": "address" } ], - "id": "7015", + "id": "7017", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -133672,7 +133780,7 @@ "end": "115331", "length": "7", "line": "3101", - "parentIndex": "7014", + "parentIndex": "7016", "start": "115325" }, "typeDescription": { @@ -133680,7 +133788,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "7016", + "id": "7018", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -133688,7 +133796,7 @@ "end": "115331", "length": "7", "line": "3101", - "parentIndex": "7015", + "parentIndex": "7017", "start": "115325" }, "stateMutability": "NONPAYABLE", @@ -133699,7 +133807,7 @@ } } }, - "id": "7014", + "id": "7016", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -133707,7 +133815,7 @@ "end": "115337", "length": "13", "line": "3101", - "parentIndex": "7011", + "parentIndex": "7013", "start": "115325" }, "typeDescription": { @@ -133723,51 +133831,51 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7013", + "id": "7015", "name": "wormhole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8075", + "referencedDeclaration": "8079", "src": { "column": "26", "end": "115310", "length": "8", "line": "3101", - "parentIndex": "7012", + "parentIndex": "7014", "start": "115303" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7012", + "id": "7014", "memberLocation": { "column": "35", "end": "115323", "length": "12", "line": "3101", - "parentIndex": "7012", + "parentIndex": "7014", "start": "115312" }, "memberName": "nextSequence", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7012", + "referencedDeclaration": "7462", "src": { "column": "26", "end": "115323", "length": "21", "line": "3101", - "parentIndex": "7011", + "parentIndex": "7013", "start": "115303" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", - "typeString": "contract IWormhole" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } }, - "id": "7011", + "id": "7013", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -133775,7 +133883,7 @@ "end": "115338", "length": "36", "line": "3101", - "parentIndex": "7008", + "parentIndex": "7010", "start": "115303" }, "typeDescription": { @@ -133790,7 +133898,7 @@ "end": "115339", "length": "55", "line": "3101", - "parentIndex": "6987", + "parentIndex": "6989", "start": "115285" } } @@ -133826,16 +133934,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7025", + "id": "7027", "name": "sequence", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7008", + "referencedDeclaration": "7010", "src": { "column": "57", "end": "115405", "length": "8", "line": "3102", - "parentIndex": "7022", + "parentIndex": "7024", "start": "115398" }, "typeDescription": { @@ -133854,7 +133962,7 @@ "typeString": "uint32" } ], - "id": "7023", + "id": "7025", "name": "uint32", "nodeType": "IDENTIFIER", "src": { @@ -133862,7 +133970,7 @@ "end": "115396", "length": "6", "line": "3102", - "parentIndex": "7022", + "parentIndex": "7024", "start": "115391" }, "typeDescription": { @@ -133870,7 +133978,7 @@ "typeString": "function(uint32)" }, "typeName": { - "id": "7024", + "id": "7026", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -133878,7 +133986,7 @@ "end": "115396", "length": "6", "line": "3102", - "parentIndex": "7023", + "parentIndex": "7025", "start": "115391" }, "typeDescription": { @@ -133888,7 +133996,7 @@ } } }, - "id": "7022", + "id": "7024", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -133896,7 +134004,7 @@ "end": "115406", "length": "16", "line": "3102", - "parentIndex": "7018", + "parentIndex": "7020", "start": "115391" }, "typeDescription": { @@ -133914,16 +134022,16 @@ "typeString": "function(uint64)" } ], - "id": "7026", + "id": "7028", "name": "payload", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6998", + "referencedDeclaration": "7000", "src": { "column": "68", "end": "115415", "length": "7", "line": "3102", - "parentIndex": "7018", + "parentIndex": "7020", "start": "115409" }, "typeDescription": { @@ -133945,7 +134053,7 @@ "typeString": "bytes" } ], - "id": "7027", + "id": "7029", "name": "consistencyLevel", "nodeType": "IDENTIFIER", "src": { @@ -133953,7 +134061,7 @@ "end": "115433", "length": "16", "line": "3102", - "parentIndex": "7018", + "parentIndex": "7020", "start": "115418" }, "typeDescription": { @@ -133972,69 +134080,69 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7021", + "id": "7023", "name": "wormhole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8075", + "referencedDeclaration": "8079", "src": { "column": "8", "end": "115356", "length": "8", "line": "3102", - "parentIndex": "7020", + "parentIndex": "7022", "start": "115349" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7020", + "id": "7022", "memberLocation": { "column": "17", "end": "115371", "length": "14", "line": "3102", - "parentIndex": "7020", + "parentIndex": "7022", "start": "115358" }, "memberName": "publishMessage", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7066", + "referencedDeclaration": "7022", "src": { "column": "8", "end": "115371", "length": "23", "line": "3102", - "parentIndex": "7019", + "parentIndex": "7021", "start": "115349" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "typeString": "function(uint32,bytes,uint8)" + "typeIdentifier": "t_contract$_IWormhole_$7310", + "typeString": "contract IWormhole" } } }, - "id": "7019", + "id": "7021", "kind": "FUNCTION_CALL_OPTION", "nodeType": "FUNCTION_CALL_OPTION", - "referencedDeclaration": "7066", + "referencedDeclaration": "7022", "src": { "column": "8", "end": "115389", "length": "41", "line": "3102", - "parentIndex": "7018", + "parentIndex": "7020", "start": "115349" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "typeString": "function(uint32,bytes,uint8)" + "typeIdentifier": "t_contract$_IWormhole_$7310", + "typeString": "contract IWormhole" } } }, - "id": "7018", + "id": "7020", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -134042,7 +134150,7 @@ "end": "115434", "length": "86", "line": "3102", - "parentIndex": "6987", + "parentIndex": "6989", "start": "115349" }, "typeDescription": { @@ -134053,7 +134161,7 @@ } ] }, - "id": "6980", + "id": "6982", "implemented": true, "kind": "KIND_FUNCTION", "name": "reportTVL", @@ -134062,25 +134170,25 @@ "end": "114970", "length": "9", "line": "3096", - "parentIndex": "6980", + "parentIndex": "6982", "start": "114962" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "6981", + "id": "6983", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "6982", + "id": "6984", "name": "tvl", "nodeType": "VARIABLE_DECLARATION", - "scope": "6982", + "scope": "6984", "src": { "column": "23", "end": "114982", "length": "11", "line": "3096", - "parentIndex": "6981", + "parentIndex": "6983", "start": "114972" }, "stateMutability": "MUTABLE", @@ -134090,7 +134198,7 @@ "typeString": "uint256" }, "typeName": { - "id": "6983", + "id": "6985", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -134098,7 +134206,7 @@ "end": "114978", "length": "7", "line": "3096", - "parentIndex": "6982", + "parentIndex": "6984", "start": "114972" }, "typeDescription": { @@ -134109,16 +134217,16 @@ "visibility": "INTERNAL" }, { - "id": "6984", + "id": "6986", "name": "received", "nodeType": "VARIABLE_DECLARATION", - "scope": "6984", + "scope": "6986", "src": { "column": "36", "end": "114997", "length": "13", "line": "3096", - "parentIndex": "6981", + "parentIndex": "6983", "start": "114985" }, "stateMutability": "MUTABLE", @@ -134128,7 +134236,7 @@ "typeString": "bool" }, "typeName": { - "id": "6985", + "id": "6987", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -134136,7 +134244,7 @@ "end": "114988", "length": "4", "line": "3096", - "parentIndex": "6984", + "parentIndex": "6986", "start": "114985" }, "typeDescription": { @@ -134152,30 +134260,30 @@ "end": "114997", "length": "26", "line": "3096", - "parentIndex": "6980", + "parentIndex": "6982", "start": "114972" } }, "returnParameters": { - "id": "6986", + "id": "6988", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "115441", "length": "489", "line": "3096", - "parentIndex": "6980", + "parentIndex": "6982", "start": "114953" } }, - "scope": "6949", - "signature": "9353987b", + "scope": "6951", + "signature": "3593d993", "src": { "column": "4", "end": "115441", "length": "489", "line": "3096", - "parentIndex": "6949", + "parentIndex": "6951", "start": "114953" }, "stateMutability": "PAYABLE", @@ -134190,7 +134298,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "7034", + "id": "7036", "implemented": true, "nodeType": "BLOCK", "src": { @@ -134198,7 +134306,7 @@ "end": "115898", "length": "318", "line": "3106", - "parentIndex": "7029", + "parentIndex": "7031", "start": "115581" }, "statements": [ @@ -134219,14 +134327,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "7037", + "id": "7039", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7039", + "id": "7041", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -134234,7 +134342,7 @@ "end": "115601", "length": "3", "line": "3107", - "parentIndex": "7038", + "parentIndex": "7040", "start": "115599" }, "typeDescription": { @@ -134243,13 +134351,13 @@ } } }, - "id": "7038", + "id": "7040", "memberLocation": { "column": "20", "end": "115608", "length": "6", "line": "3107", - "parentIndex": "7038", + "parentIndex": "7040", "start": "115603" }, "memberName": "sender", @@ -134259,7 +134367,7 @@ "end": "115608", "length": "10", "line": "3107", - "parentIndex": "7037", + "parentIndex": "7039", "start": "115599" }, "typeDescription": { @@ -134283,7 +134391,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7043", + "id": "7045", "name": "vault", "nodeType": "IDENTIFIER", "src": { @@ -134291,7 +134399,7 @@ "end": "115625", "length": "5", "line": "3107", - "parentIndex": "7040", + "parentIndex": "7042", "start": "115621" }, "typeDescription": { @@ -134310,7 +134418,7 @@ "typeString": "address" } ], - "id": "7041", + "id": "7043", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -134318,7 +134426,7 @@ "end": "115619", "length": "7", "line": "3107", - "parentIndex": "7040", + "parentIndex": "7042", "start": "115613" }, "typeDescription": { @@ -134326,7 +134434,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "7042", + "id": "7044", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -134334,7 +134442,7 @@ "end": "115619", "length": "7", "line": "3107", - "parentIndex": "7041", + "parentIndex": "7043", "start": "115613" }, "stateMutability": "NONPAYABLE", @@ -134345,7 +134453,7 @@ } } }, - "id": "7040", + "id": "7042", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -134353,7 +134461,7 @@ "end": "115626", "length": "14", "line": "3107", - "parentIndex": "7037", + "parentIndex": "7039", "start": "115613" }, "typeDescription": { @@ -134367,7 +134475,7 @@ "end": "115626", "length": "28", "line": "3107", - "parentIndex": "7035", + "parentIndex": "7037", "start": "115599" }, "typeDescription": { @@ -134386,7 +134494,7 @@ } ], "hexValue": "57523a206f6e6c79207661756c74", - "id": "7044", + "id": "7046", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -134395,7 +134503,7 @@ "end": "115644", "length": "16", "line": "3107", - "parentIndex": "7035", + "parentIndex": "7037", "start": "115629" }, "typeDescription": { @@ -134409,7 +134517,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7036", + "id": "7038", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -134418,7 +134526,7 @@ "end": "115597", "length": "7", "line": "3107", - "parentIndex": "7035", + "parentIndex": "7037", "start": "115591" }, "typeDescription": { @@ -134427,7 +134535,7 @@ } } }, - "id": "7035", + "id": "7037", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -134435,7 +134543,7 @@ "end": "115645", "length": "55", "line": "3107", - "parentIndex": "7034", + "parentIndex": "7036", "start": "115591" }, "typeDescription": { @@ -134448,11 +134556,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "7046" + "7048" ], "declarations": [ { - "id": "7046", + "id": "7048", "mutability": "MUTABLE", "name": "payload", "nameLocation": { @@ -134460,17 +134568,17 @@ "end": "115675", "length": "7", "line": "3108", - "parentIndex": "7046", + "parentIndex": "7048", "start": "115669" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7034", + "scope": "7036", "src": { "column": "8", "end": "115675", "length": "20", "line": "3108", - "parentIndex": "7045", + "parentIndex": "7047", "start": "115656" }, "storageLocation": "MEMORY", @@ -134479,7 +134587,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7047", + "id": "7049", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -134487,7 +134595,7 @@ "end": "115660", "length": "5", "line": "3108", - "parentIndex": "7046", + "parentIndex": "7048", "start": "115656" }, "typeDescription": { @@ -134498,7 +134606,7 @@ "visibility": "INTERNAL" } ], - "id": "7045", + "id": "7047", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -134515,42 +134623,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7052", + "id": "7054", "name": "Constants", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7468", + "referencedDeclaration": "7470", "src": { "column": "42", "end": "115698", "length": "9", "line": "3108", - "parentIndex": "7051", + "parentIndex": "7053", "start": "115690" }, "typeDescription": { - "typeIdentifier": "t_contract$_Constants_$7468", + "typeIdentifier": "t_contract$_Constants_$7470", "typeString": "contract Constants" } } }, - "id": "7051", + "id": "7053", "memberLocation": { "column": "52", "end": "115722", "length": "23", "line": "3108", - "parentIndex": "7051", + "parentIndex": "7053", "start": "115700" }, "memberName": "L1_FUND_TRANSFER_REPORT", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "8169", + "referencedDeclaration": "8173", "src": { "column": "42", "end": "115722", "length": "33", "line": "3108", - "parentIndex": "7048", + "parentIndex": "7050", "start": "115690" }, "typeDescription": { @@ -134562,16 +134670,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7053", + "id": "7055", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7053", + "referencedDeclaration": "7055", "src": { "column": "77", "end": "115730", "length": "6", "line": "3108", - "parentIndex": "7048", + "parentIndex": "7050", "start": "115725" }, "typeDescription": { @@ -134587,7 +134695,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7050", + "id": "7052", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -134595,7 +134703,7 @@ "end": "115681", "length": "3", "line": "3108", - "parentIndex": "7049", + "parentIndex": "7051", "start": "115679" }, "typeDescription": { @@ -134604,13 +134712,13 @@ } } }, - "id": "7049", + "id": "7051", "memberLocation": { "column": "35", "end": "115688", "length": "6", "line": "3108", - "parentIndex": "7049", + "parentIndex": "7051", "start": "115683" }, "memberName": "encode", @@ -134620,7 +134728,7 @@ "end": "115688", "length": "10", "line": "3108", - "parentIndex": "7048", + "parentIndex": "7050", "start": "115679" }, "typeDescription": { @@ -134629,7 +134737,7 @@ } } }, - "id": "7048", + "id": "7050", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -134637,12 +134745,12 @@ "end": "115731", "length": "53", "line": "3108", - "parentIndex": "7045", + "parentIndex": "7047", "start": "115679" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_unknown_7048$_t_uint256$", - "typeString": "function(unknown_7048,uint256)" + "typeIdentifier": "t_function_$_t_unknown_7050$_t_uint256$", + "typeString": "function(unknown_7050,uint256)" } } }, @@ -134652,7 +134760,7 @@ "end": "115732", "length": "77", "line": "3108", - "parentIndex": "7034", + "parentIndex": "7036", "start": "115656" } } @@ -134661,11 +134769,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "7055" + "7057" ], "declarations": [ { - "id": "7055", + "id": "7057", "mutability": "MUTABLE", "name": "sequence", "nameLocation": { @@ -134673,17 +134781,17 @@ "end": "115756", "length": "8", "line": "3109", - "parentIndex": "7055", + "parentIndex": "7057", "start": "115749" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7034", + "scope": "7036", "src": { "column": "8", "end": "115756", "length": "15", "line": "3109", - "parentIndex": "7054", + "parentIndex": "7056", "start": "115742" }, "storageLocation": "DEFAULT", @@ -134692,7 +134800,7 @@ "typeString": "uint64" }, "typeName": { - "id": "7056", + "id": "7058", "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -134700,7 +134808,7 @@ "end": "115747", "length": "6", "line": "3109", - "parentIndex": "7055", + "parentIndex": "7057", "start": "115742" }, "typeDescription": { @@ -134711,7 +134819,7 @@ "visibility": "INTERNAL" } ], - "id": "7054", + "id": "7056", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -134727,7 +134835,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_L1WormholeRouter_$6863", + "typeIdentifier": "t_contract$_L1WormholeRouter_$6865", "typeString": "contract L1WormholeRouter" } ], @@ -134735,7 +134843,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7063", + "id": "7065", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -134743,11 +134851,11 @@ "end": "115793", "length": "4", "line": "3109", - "parentIndex": "7060", + "parentIndex": "7062", "start": "115790" }, "typeDescription": { - "typeIdentifier": "t_contract$_L1WormholeRouter_$6863", + "typeIdentifier": "t_contract$_L1WormholeRouter_$6865", "typeString": "contract L1WormholeRouter" } } @@ -134762,7 +134870,7 @@ "typeString": "address" } ], - "id": "7061", + "id": "7063", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -134770,7 +134878,7 @@ "end": "115788", "length": "7", "line": "3109", - "parentIndex": "7060", + "parentIndex": "7062", "start": "115782" }, "typeDescription": { @@ -134778,7 +134886,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "7062", + "id": "7064", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -134786,7 +134894,7 @@ "end": "115788", "length": "7", "line": "3109", - "parentIndex": "7061", + "parentIndex": "7063", "start": "115782" }, "stateMutability": "NONPAYABLE", @@ -134797,7 +134905,7 @@ } } }, - "id": "7060", + "id": "7062", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -134805,7 +134913,7 @@ "end": "115794", "length": "13", "line": "3109", - "parentIndex": "7057", + "parentIndex": "7059", "start": "115782" }, "typeDescription": { @@ -134821,51 +134929,51 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7059", + "id": "7061", "name": "wormhole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8075", + "referencedDeclaration": "8079", "src": { "column": "26", "end": "115767", "length": "8", "line": "3109", - "parentIndex": "7058", + "parentIndex": "7060", "start": "115760" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7058", + "id": "7060", "memberLocation": { "column": "35", "end": "115780", "length": "12", "line": "3109", - "parentIndex": "7058", + "parentIndex": "7060", "start": "115769" }, "memberName": "nextSequence", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7012", + "referencedDeclaration": "7014", "src": { "column": "26", "end": "115780", "length": "21", "line": "3109", - "parentIndex": "7057", + "parentIndex": "7059", "start": "115760" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", - "typeString": "contract IWormhole" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } }, - "id": "7057", + "id": "7059", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -134873,7 +134981,7 @@ "end": "115795", "length": "36", "line": "3109", - "parentIndex": "7054", + "parentIndex": "7056", "start": "115760" }, "typeDescription": { @@ -134888,7 +134996,7 @@ "end": "115796", "length": "55", "line": "3109", - "parentIndex": "7034", + "parentIndex": "7036", "start": "115742" } } @@ -134924,16 +135032,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7071", + "id": "7073", "name": "sequence", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7054", + "referencedDeclaration": "7056", "src": { "column": "57", "end": "115862", "length": "8", "line": "3110", - "parentIndex": "7068", + "parentIndex": "7070", "start": "115855" }, "typeDescription": { @@ -134952,7 +135060,7 @@ "typeString": "uint32" } ], - "id": "7069", + "id": "7071", "name": "uint32", "nodeType": "IDENTIFIER", "src": { @@ -134960,7 +135068,7 @@ "end": "115853", "length": "6", "line": "3110", - "parentIndex": "7068", + "parentIndex": "7070", "start": "115848" }, "typeDescription": { @@ -134968,7 +135076,7 @@ "typeString": "function(uint32)" }, "typeName": { - "id": "7070", + "id": "7072", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -134976,7 +135084,7 @@ "end": "115853", "length": "6", "line": "3110", - "parentIndex": "7069", + "parentIndex": "7071", "start": "115848" }, "typeDescription": { @@ -134986,7 +135094,7 @@ } } }, - "id": "7068", + "id": "7070", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -134994,7 +135102,7 @@ "end": "115863", "length": "16", "line": "3110", - "parentIndex": "7064", + "parentIndex": "7066", "start": "115848" }, "typeDescription": { @@ -135012,16 +135120,16 @@ "typeString": "function(uint64)" } ], - "id": "7072", + "id": "7074", "name": "payload", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7045", + "referencedDeclaration": "7047", "src": { "column": "68", "end": "115872", "length": "7", "line": "3110", - "parentIndex": "7064", + "parentIndex": "7066", "start": "115866" }, "typeDescription": { @@ -135043,7 +135151,7 @@ "typeString": "bytes" } ], - "id": "7073", + "id": "7075", "name": "consistencyLevel", "nodeType": "IDENTIFIER", "src": { @@ -135051,7 +135159,7 @@ "end": "115890", "length": "16", "line": "3110", - "parentIndex": "7064", + "parentIndex": "7066", "start": "115875" }, "typeDescription": { @@ -135070,69 +135178,69 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7067", + "id": "7069", "name": "wormhole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8075", + "referencedDeclaration": "8079", "src": { "column": "8", "end": "115813", "length": "8", "line": "3110", - "parentIndex": "7066", + "parentIndex": "7068", "start": "115806" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7066", + "id": "7068", "memberLocation": { "column": "17", "end": "115828", "length": "14", "line": "3110", - "parentIndex": "7066", + "parentIndex": "7068", "start": "115815" }, "memberName": "publishMessage", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7433", + "referencedDeclaration": "7022", "src": { "column": "8", "end": "115828", "length": "23", "line": "3110", - "parentIndex": "7065", + "parentIndex": "7067", "start": "115806" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "typeString": "function(uint32,bytes,uint8)" + "typeIdentifier": "t_contract$_IWormhole_$7310", + "typeString": "contract IWormhole" } } }, - "id": "7065", + "id": "7067", "kind": "FUNCTION_CALL_OPTION", "nodeType": "FUNCTION_CALL_OPTION", - "referencedDeclaration": "7433", + "referencedDeclaration": "7022", "src": { "column": "8", "end": "115846", "length": "41", "line": "3110", - "parentIndex": "7064", + "parentIndex": "7066", "start": "115806" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "typeString": "function(uint32,bytes,uint8)" + "typeIdentifier": "t_contract$_IWormhole_$7310", + "typeString": "contract IWormhole" } } }, - "id": "7064", + "id": "7066", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -135140,7 +135248,7 @@ "end": "115891", "length": "86", "line": "3110", - "parentIndex": "7034", + "parentIndex": "7036", "start": "115806" }, "typeDescription": { @@ -135151,7 +135259,7 @@ } ] }, - "id": "7029", + "id": "7031", "implemented": true, "kind": "KIND_FUNCTION", "name": "reportFundTransfer", @@ -135160,25 +135268,25 @@ "end": "115546", "length": "18", "line": "3106", - "parentIndex": "7029", + "parentIndex": "7031", "start": "115529" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "7030", + "id": "7032", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7031", + "id": "7033", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "7031", + "scope": "7033", "src": { "column": "32", "end": "115561", "length": "14", "line": "3106", - "parentIndex": "7030", + "parentIndex": "7032", "start": "115548" }, "stateMutability": "MUTABLE", @@ -135188,7 +135296,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7032", + "id": "7034", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -135196,7 +135304,7 @@ "end": "115554", "length": "7", "line": "3106", - "parentIndex": "7031", + "parentIndex": "7033", "start": "115548" }, "typeDescription": { @@ -135212,30 +135320,30 @@ "end": "115561", "length": "14", "line": "3106", - "parentIndex": "7029", + "parentIndex": "7031", "start": "115548" } }, "returnParameters": { - "id": "7033", + "id": "7035", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "115898", "length": "379", "line": "3106", - "parentIndex": "7029", + "parentIndex": "7031", "start": "115520" } }, - "scope": "6949", + "scope": "6951", "signature": "6c5af8c7", "src": { "column": "4", "end": "115898", "length": "379", "line": "3106", - "parentIndex": "6949", + "parentIndex": "6951", "start": "115520" }, "stateMutability": "PAYABLE", @@ -135250,7 +135358,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "7082", + "id": "7084", "implemented": true, "nodeType": "BLOCK", "src": { @@ -135258,7 +135366,7 @@ "end": "116634", "length": "455", "line": "3118", - "parentIndex": "7075", + "parentIndex": "7077", "start": "116180" }, "statements": [ @@ -135266,13 +135374,13 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "7084", - "7087", - "7089" + "7086", + "7089", + "7091" ], "declarations": [ { - "id": "7084", + "id": "7086", "mutability": "MUTABLE", "name": "vm", "nameLocation": { @@ -135280,36 +135388,36 @@ "end": "116212", "length": "2", "line": "3119", - "parentIndex": "7084", + "parentIndex": "7086", "start": "116211" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7082", + "scope": "7084", "src": { "column": "9", "end": "116212", "length": "22", "line": "3119", - "parentIndex": "7083", + "parentIndex": "7085", "start": "116191" }, "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" }, "typeName": { - "id": "7085", + "id": "7087", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7086", + "id": "7088", "name": "IWormhole", "nameLocation": { "column": "9", "end": "116199", "length": "9", "line": "3119", - "parentIndex": "7085", + "parentIndex": "7087", "start": "116191" }, "nodeType": "IDENTIFIER_PATH", @@ -135318,28 +135426,28 @@ "end": "116202", "length": "12", "line": "3119", - "parentIndex": "7085", + "parentIndex": "7087", "start": "116191" } }, - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "9", "end": "116202", "length": "12", "line": "3119", - "parentIndex": "7084", + "parentIndex": "7086", "start": "116191" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } }, "visibility": "INTERNAL" }, { - "id": "7087", + "id": "7089", "mutability": "MUTABLE", "name": "valid", "nameLocation": { @@ -135347,17 +135455,17 @@ "end": "116224", "length": "5", "line": "3119", - "parentIndex": "7087", + "parentIndex": "7089", "start": "116220" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7082", + "scope": "7084", "src": { "column": "33", "end": "116224", "length": "10", "line": "3119", - "parentIndex": "7083", + "parentIndex": "7085", "start": "116215" }, "storageLocation": "DEFAULT", @@ -135366,7 +135474,7 @@ "typeString": "bool" }, "typeName": { - "id": "7088", + "id": "7090", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -135374,7 +135482,7 @@ "end": "116218", "length": "4", "line": "3119", - "parentIndex": "7087", + "parentIndex": "7089", "start": "116215" }, "typeDescription": { @@ -135385,7 +135493,7 @@ "visibility": "INTERNAL" }, { - "id": "7089", + "id": "7091", "mutability": "MUTABLE", "name": "reason", "nameLocation": { @@ -135393,17 +135501,17 @@ "end": "116246", "length": "6", "line": "3119", - "parentIndex": "7089", + "parentIndex": "7091", "start": "116241" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7082", + "scope": "7084", "src": { "column": "45", "end": "116246", "length": "20", "line": "3119", - "parentIndex": "7083", + "parentIndex": "7085", "start": "116227" }, "storageLocation": "MEMORY", @@ -135412,7 +135520,7 @@ "typeString": "string" }, "typeName": { - "id": "7090", + "id": "7092", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -135420,7 +135528,7 @@ "end": "116232", "length": "6", "line": "3119", - "parentIndex": "7089", + "parentIndex": "7091", "start": "116227" }, "typeDescription": { @@ -135431,7 +135539,7 @@ "visibility": "INTERNAL" } ], - "id": "7083", + "id": "7085", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -135445,16 +135553,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7094", + "id": "7096", "name": "message", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7094", + "referencedDeclaration": "7096", "src": { "column": "95", "end": "116283", "length": "7", "line": "3119", - "parentIndex": "7091", + "parentIndex": "7093", "start": "116277" }, "typeDescription": { @@ -135470,42 +135578,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7093", + "id": "7095", "name": "wormhole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8075", + "referencedDeclaration": "8079", "src": { "column": "69", "end": "116258", "length": "8", "line": "3119", - "parentIndex": "7092", + "parentIndex": "7094", "start": "116251" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7092", + "id": "7094", "memberLocation": { "column": "78", "end": "116275", "length": "16", "line": "3119", - "parentIndex": "7092", + "parentIndex": "7094", "start": "116260" }, "memberName": "parseAndVerifyVM", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7154", + "referencedDeclaration": "7156", "src": { "column": "69", "end": "116275", "length": "25", "line": "3119", - "parentIndex": "7091", + "parentIndex": "7093", "start": "116251" }, "typeDescription": { @@ -135514,7 +135622,7 @@ } } }, - "id": "7091", + "id": "7093", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -135522,7 +135630,7 @@ "end": "116284", "length": "34", "line": "3119", - "parentIndex": "7083", + "parentIndex": "7085", "start": "116251" }, "typeDescription": { @@ -135537,7 +135645,7 @@ "end": "116285", "length": "96", "line": "3119", - "parentIndex": "7082", + "parentIndex": "7084", "start": "116190" } } @@ -135559,16 +135667,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7097", + "id": "7099", "name": "valid", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7083", + "referencedDeclaration": "7085", "src": { "column": "16", "end": "116307", "length": "5", "line": "3120", - "parentIndex": "7095", + "parentIndex": "7097", "start": "116303" }, "typeDescription": { @@ -135586,16 +135694,16 @@ "typeString": "bool" } ], - "id": "7098", + "id": "7100", "name": "reason", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7083", + "referencedDeclaration": "7085", "src": { "column": "23", "end": "116315", "length": "6", "line": "3120", - "parentIndex": "7095", + "parentIndex": "7097", "start": "116310" }, "typeDescription": { @@ -135608,7 +135716,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7096", + "id": "7098", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -135617,7 +135725,7 @@ "end": "116301", "length": "7", "line": "3120", - "parentIndex": "7095", + "parentIndex": "7097", "start": "116295" }, "typeDescription": { @@ -135626,7 +135734,7 @@ } } }, - "id": "7095", + "id": "7097", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -135634,7 +135742,7 @@ "end": "116316", "length": "22", "line": "3120", - "parentIndex": "7082", + "parentIndex": "7084", "start": "116295" }, "typeDescription": { @@ -135648,7 +135756,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } ], @@ -135656,20 +135764,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7101", + "id": "7103", "name": "vm", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8099", + "referencedDeclaration": "8103", "src": { "column": "40", "end": "116360", "length": "2", "line": "3121", - "parentIndex": "7099", + "parentIndex": "7101", "start": "116359" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } @@ -135678,7 +135786,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7100", + "id": "7102", "name": "_validateWormholeMessageEmitter", "nodeType": "IDENTIFIER", "src": { @@ -135686,7 +135794,7 @@ "end": "116357", "length": "31", "line": "3121", - "parentIndex": "7099", + "parentIndex": "7101", "start": "116327" }, "typeDescription": { @@ -135695,7 +135803,7 @@ } } }, - "id": "7099", + "id": "7101", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -135703,7 +135811,7 @@ "end": "116361", "length": "35", "line": "3121", - "parentIndex": "7082", + "parentIndex": "7084", "start": "116327" }, "typeDescription": { @@ -135718,20 +135826,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "7103", + "id": "7105", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7104", + "id": "7106", "name": "nextValidNonce", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6651", + "referencedDeclaration": "6653", "src": { "column": "8", "end": "116385", "length": "14", "line": "3122", - "parentIndex": "7103", + "parentIndex": "7105", "start": "116372" }, "typeDescription": { @@ -135745,53 +135853,53 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "7105", + "id": "7107", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7107", + "id": "7109", "name": "vm", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8099", + "referencedDeclaration": "8103", "src": { "column": "25", "end": "116390", "length": "2", "line": "3122", - "parentIndex": "7106", + "parentIndex": "7108", "start": "116389" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7106", + "id": "7108", "memberLocation": { "column": "28", "end": "116396", "length": "5", "line": "3122", - "parentIndex": "7106", + "parentIndex": "7108", "start": "116392" }, "memberName": "nonce", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "8130", + "referencedDeclaration": "8134", "src": { "column": "25", "end": "116396", "length": "8", "line": "3122", - "parentIndex": "7105", + "parentIndex": "7107", "start": "116389" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_VM_$8130", + "typeIdentifier": "t_struct$_Global_VM_$8134", "typeString": "struct Global.VM" } } @@ -135802,7 +135910,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "7108", + "id": "7110", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -135811,7 +135919,7 @@ "end": "116400", "length": "1", "line": "3122", - "parentIndex": "7105", + "parentIndex": "7107", "start": "116400" }, "typeDescription": { @@ -135826,11 +135934,11 @@ "end": "116400", "length": "12", "line": "3122", - "parentIndex": "7103", + "parentIndex": "7105", "start": "116389" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_VM_$8130", + "typeIdentifier": "t_struct$_Global_VM_$8134", "typeString": "struct Global.VM" } } @@ -135840,7 +135948,7 @@ "end": "116400", "length": "29", "line": "3122", - "parentIndex": "7102", + "parentIndex": "7104", "start": "116372" }, "typeDescription": { @@ -135849,14 +135957,14 @@ } } }, - "id": "7102", + "id": "7104", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "116401", "length": "30", "line": "3122", - "parentIndex": "7082", + "parentIndex": "7084", "start": "116372" }, "typeDescription": { @@ -135869,12 +135977,12 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "7110", - "7112" + "7112", + "7114" ], "declarations": [ { - "id": "7110", + "id": "7112", "mutability": "MUTABLE", "name": "msgType", "nameLocation": { @@ -135882,17 +135990,17 @@ "end": "116426", "length": "7", "line": "3123", - "parentIndex": "7110", + "parentIndex": "7112", "start": "116420" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7082", + "scope": "7084", "src": { "column": "9", "end": "116426", "length": "15", "line": "3123", - "parentIndex": "7109", + "parentIndex": "7111", "start": "116412" }, "storageLocation": "DEFAULT", @@ -135901,7 +136009,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7111", + "id": "7113", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -135909,7 +136017,7 @@ "end": "116418", "length": "7", "line": "3123", - "parentIndex": "7110", + "parentIndex": "7112", "start": "116412" }, "typeDescription": { @@ -135920,7 +136028,7 @@ "visibility": "INTERNAL" }, { - "id": "7112", + "id": "7114", "mutability": "MUTABLE", "name": "amount", "nameLocation": { @@ -135928,17 +136036,17 @@ "end": "116442", "length": "6", "line": "3123", - "parentIndex": "7112", + "parentIndex": "7114", "start": "116437" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7082", + "scope": "7084", "src": { "column": "26", "end": "116442", "length": "14", "line": "3123", - "parentIndex": "7109", + "parentIndex": "7111", "start": "116429" }, "storageLocation": "DEFAULT", @@ -135947,7 +136055,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7113", + "id": "7115", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -135955,7 +136063,7 @@ "end": "116435", "length": "7", "line": "3123", - "parentIndex": "7112", + "parentIndex": "7114", "start": "116429" }, "typeDescription": { @@ -135966,7 +136074,7 @@ "visibility": "INTERNAL" } ], - "id": "7109", + "id": "7111", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -135987,42 +136095,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7118", + "id": "7120", "name": "vm", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8099", + "referencedDeclaration": "8103", "src": { "column": "55", "end": "116459", "length": "2", "line": "3123", - "parentIndex": "7117", + "parentIndex": "7119", "start": "116458" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7117", + "id": "7119", "memberLocation": { "column": "58", "end": "116467", "length": "7", "line": "3123", - "parentIndex": "7117", + "parentIndex": "7119", "start": "116461" }, "memberName": "payload", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "6998", + "referencedDeclaration": "7000", "src": { "column": "55", "end": "116467", "length": "10", "line": "3123", - "parentIndex": "7114", + "parentIndex": "7116", "start": "116458" }, "typeDescription": { @@ -136038,7 +136146,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7120", + "id": "7122", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -136046,7 +136154,7 @@ "end": "116477", "length": "7", "line": "3123", - "parentIndex": "7119", + "parentIndex": "7121", "start": "116471" }, "typeDescription": { @@ -136054,7 +136162,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7121", + "id": "7123", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -136062,7 +136170,7 @@ "end": "116477", "length": "7", "line": "3123", - "parentIndex": "7120", + "parentIndex": "7122", "start": "116471" }, "typeDescription": { @@ -136075,7 +136183,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7122", + "id": "7124", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -136083,7 +136191,7 @@ "end": "116486", "length": "7", "line": "3123", - "parentIndex": "7119", + "parentIndex": "7121", "start": "116480" }, "typeDescription": { @@ -136091,7 +136199,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7123", + "id": "7125", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -136099,7 +136207,7 @@ "end": "116486", "length": "7", "line": "3123", - "parentIndex": "7122", + "parentIndex": "7124", "start": "116480" }, "typeDescription": { @@ -136110,14 +136218,14 @@ } } ], - "id": "7119", + "id": "7121", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "67", "end": "116487", "length": "18", "line": "3123", - "parentIndex": "7114", + "parentIndex": "7116", "start": "116470" }, "typeDescription": { @@ -136133,7 +136241,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7116", + "id": "7118", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -136141,7 +136249,7 @@ "end": "116449", "length": "3", "line": "3123", - "parentIndex": "7115", + "parentIndex": "7117", "start": "116447" }, "typeDescription": { @@ -136150,13 +136258,13 @@ } } }, - "id": "7115", + "id": "7117", "memberLocation": { "column": "48", "end": "116456", "length": "6", "line": "3123", - "parentIndex": "7115", + "parentIndex": "7117", "start": "116451" }, "memberName": "decode", @@ -136166,7 +136274,7 @@ "end": "116456", "length": "10", "line": "3123", - "parentIndex": "7114", + "parentIndex": "7116", "start": "116447" }, "typeDescription": { @@ -136175,7 +136283,7 @@ } } }, - "id": "7114", + "id": "7116", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -136183,7 +136291,7 @@ "end": "116488", "length": "42", "line": "3123", - "parentIndex": "7109", + "parentIndex": "7111", "start": "116447" }, "typeDescription": { @@ -136198,7 +136306,7 @@ "end": "116489", "length": "79", "line": "3123", - "parentIndex": "7082", + "parentIndex": "7084", "start": "116411" } } @@ -136220,20 +136328,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "7126", + "id": "7128", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7127", + "id": "7129", "name": "msgType", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7109", + "referencedDeclaration": "7111", "src": { "column": "16", "end": "116513", "length": "7", "line": "3124", - "parentIndex": "7126", + "parentIndex": "7128", "start": "116507" }, "typeDescription": { @@ -136250,42 +136358,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7129", + "id": "7131", "name": "Constants", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7468", + "referencedDeclaration": "7470", "src": { "column": "27", "end": "116526", "length": "9", "line": "3124", - "parentIndex": "7128", + "parentIndex": "7130", "start": "116518" }, "typeDescription": { - "typeIdentifier": "t_contract$_Constants_$7468", + "typeIdentifier": "t_contract$_Constants_$7470", "typeString": "contract Constants" } } }, - "id": "7128", + "id": "7130", "memberLocation": { "column": "37", "end": "116550", "length": "23", "line": "3124", - "parentIndex": "7128", + "parentIndex": "7130", "start": "116528" }, "memberName": "L2_FUND_TRANSFER_REPORT", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "8154", + "referencedDeclaration": "8158", "src": { "column": "27", "end": "116550", "length": "33", "line": "3124", - "parentIndex": "7126", + "parentIndex": "7128", "start": "116518" }, "typeDescription": { @@ -136299,7 +136407,7 @@ "end": "116550", "length": "44", "line": "3124", - "parentIndex": "7124", + "parentIndex": "7126", "start": "116507" }, "typeDescription": { @@ -136318,7 +136426,7 @@ } ], "hexValue": "57523a20626164206d73672074797065", - "id": "7130", + "id": "7132", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -136327,7 +136435,7 @@ "end": "116570", "length": "18", "line": "3124", - "parentIndex": "7124", + "parentIndex": "7126", "start": "116553" }, "typeDescription": { @@ -136341,7 +136449,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7125", + "id": "7127", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -136350,7 +136458,7 @@ "end": "116505", "length": "7", "line": "3124", - "parentIndex": "7124", + "parentIndex": "7126", "start": "116499" }, "typeDescription": { @@ -136359,7 +136467,7 @@ } } }, - "id": "7124", + "id": "7126", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -136367,7 +136475,7 @@ "end": "116571", "length": "73", "line": "3124", - "parentIndex": "7082", + "parentIndex": "7084", "start": "116499" }, "typeDescription": { @@ -136393,16 +136501,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7136", + "id": "7138", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7109", + "referencedDeclaration": "7111", "src": { "column": "40", "end": "116620", "length": "6", "line": "3126", - "parentIndex": "7131", + "parentIndex": "7133", "start": "116615" }, "typeDescription": { @@ -136420,16 +136528,16 @@ "typeString": "uint256" } ], - "id": "7137", + "id": "7139", "name": "data", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7137", + "referencedDeclaration": "7139", "src": { "column": "48", "end": "116626", "length": "4", "line": "3126", - "parentIndex": "7131", + "parentIndex": "7133", "start": "116623" }, "typeDescription": { @@ -136451,31 +136559,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7135", + "id": "7137", "name": "vault", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6608", + "referencedDeclaration": "6610", "src": { "column": "8", "end": "116587", "length": "5", "line": "3126", - "parentIndex": "7134", + "parentIndex": "7136", "start": "116583" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "7134", + "id": "7136", "memberLocation": { "column": "14", "end": "116600", "length": "12", "line": "3126", - "parentIndex": "7134", + "parentIndex": "7136", "start": "116589" }, "memberName": "bridgeEscrow", @@ -136485,16 +136593,16 @@ "end": "116600", "length": "18", "line": "3126", - "parentIndex": "7133", + "parentIndex": "7135", "start": "116583" }, "typeDescription": { - "typeIdentifier": "t_contract$_BaseVault_$5126", + "typeIdentifier": "t_contract$_BaseVault_$5127", "typeString": "contract BaseVault" } } }, - "id": "7133", + "id": "7135", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -136502,7 +136610,7 @@ "end": "116602", "length": "20", "line": "3126", - "parentIndex": "7132", + "parentIndex": "7134", "start": "116583" }, "typeDescription": { @@ -136511,13 +136619,13 @@ } } }, - "id": "7132", + "id": "7134", "memberLocation": { "column": "29", "end": "116613", "length": "10", "line": "3126", - "parentIndex": "7132", + "parentIndex": "7134", "start": "116604" }, "memberName": "clearFunds", @@ -136527,7 +136635,7 @@ "end": "116613", "length": "31", "line": "3126", - "parentIndex": "7131", + "parentIndex": "7133", "start": "116583" }, "typeDescription": { @@ -136536,7 +136644,7 @@ } } }, - "id": "7131", + "id": "7133", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -136544,7 +136652,7 @@ "end": "116627", "length": "45", "line": "3126", - "parentIndex": "7082", + "parentIndex": "7084", "start": "116583" }, "typeDescription": { @@ -136555,7 +136663,7 @@ } ] }, - "id": "7075", + "id": "7077", "implemented": true, "kind": "KIND_FUNCTION", "name": "receiveFunds", @@ -136564,25 +136672,25 @@ "end": "116124", "length": "12", "line": "3118", - "parentIndex": "7075", + "parentIndex": "7077", "start": "116113" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "7076", + "id": "7078", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7077", + "id": "7079", "name": "message", "nodeType": "VARIABLE_DECLARATION", - "scope": "7077", + "scope": "7079", "src": { "column": "26", "end": "116147", "length": "22", "line": "3118", - "parentIndex": "7076", + "parentIndex": "7078", "start": "116126" }, "stateMutability": "MUTABLE", @@ -136592,7 +136700,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7078", + "id": "7080", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -136600,7 +136708,7 @@ "end": "116130", "length": "5", "line": "3118", - "parentIndex": "7077", + "parentIndex": "7079", "start": "116126" }, "typeDescription": { @@ -136611,16 +136719,16 @@ "visibility": "INTERNAL" }, { - "id": "7079", + "id": "7081", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "7079", + "scope": "7081", "src": { "column": "50", "end": "116168", "length": "19", "line": "3118", - "parentIndex": "7076", + "parentIndex": "7078", "start": "116150" }, "stateMutability": "MUTABLE", @@ -136630,7 +136738,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7080", + "id": "7082", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -136638,7 +136746,7 @@ "end": "116154", "length": "5", "line": "3118", - "parentIndex": "7079", + "parentIndex": "7081", "start": "116150" }, "typeDescription": { @@ -136654,30 +136762,30 @@ "end": "116168", "length": "43", "line": "3118", - "parentIndex": "7075", + "parentIndex": "7077", "start": "116126" } }, "returnParameters": { - "id": "7081", + "id": "7083", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "116634", "length": "531", "line": "3118", - "parentIndex": "7075", + "parentIndex": "7077", "start": "116104" } }, - "scope": "6949", - "signature": "69fb128a", + "scope": "6951", + "signature": "04fb0438", "src": { "column": "4", "end": "116634", "length": "531", "line": "3118", - "parentIndex": "6949", + "parentIndex": "6951", "start": "116104" }, "stateMutability": "NONPAYABLE", @@ -136692,7 +136800,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "7144", + "id": "7146", "implemented": true, "nodeType": "BLOCK", "src": { @@ -136700,7 +136808,7 @@ "end": "117223", "length": "454", "line": "3130", - "parentIndex": "7139", + "parentIndex": "7141", "start": "116770" }, "statements": [ @@ -136708,13 +136816,13 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "7146", - "7149", - "7151" + "7148", + "7151", + "7153" ], "declarations": [ { - "id": "7146", + "id": "7148", "mutability": "MUTABLE", "name": "vm", "nameLocation": { @@ -136722,36 +136830,36 @@ "end": "116802", "length": "2", "line": "3131", - "parentIndex": "7146", + "parentIndex": "7148", "start": "116801" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7144", + "scope": "7146", "src": { "column": "9", "end": "116802", "length": "22", "line": "3131", - "parentIndex": "7145", + "parentIndex": "7147", "start": "116781" }, "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" }, "typeName": { - "id": "7147", + "id": "7149", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7148", + "id": "7150", "name": "IWormhole", "nameLocation": { "column": "9", "end": "116789", "length": "9", "line": "3131", - "parentIndex": "7147", + "parentIndex": "7149", "start": "116781" }, "nodeType": "IDENTIFIER_PATH", @@ -136760,28 +136868,28 @@ "end": "116792", "length": "12", "line": "3131", - "parentIndex": "7147", + "parentIndex": "7149", "start": "116781" } }, - "referencedDeclaration": "7308", + "referencedDeclaration": "7310", "src": { "column": "9", "end": "116792", "length": "12", "line": "3131", - "parentIndex": "7146", + "parentIndex": "7148", "start": "116781" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } }, "visibility": "INTERNAL" }, { - "id": "7149", + "id": "7151", "mutability": "MUTABLE", "name": "valid", "nameLocation": { @@ -136789,17 +136897,17 @@ "end": "116814", "length": "5", "line": "3131", - "parentIndex": "7149", + "parentIndex": "7151", "start": "116810" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7144", + "scope": "7146", "src": { "column": "33", "end": "116814", "length": "10", "line": "3131", - "parentIndex": "7145", + "parentIndex": "7147", "start": "116805" }, "storageLocation": "DEFAULT", @@ -136808,7 +136916,7 @@ "typeString": "bool" }, "typeName": { - "id": "7150", + "id": "7152", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -136816,7 +136924,7 @@ "end": "116808", "length": "4", "line": "3131", - "parentIndex": "7149", + "parentIndex": "7151", "start": "116805" }, "typeDescription": { @@ -136827,7 +136935,7 @@ "visibility": "INTERNAL" }, { - "id": "7151", + "id": "7153", "mutability": "MUTABLE", "name": "reason", "nameLocation": { @@ -136835,17 +136943,17 @@ "end": "116836", "length": "6", "line": "3131", - "parentIndex": "7151", + "parentIndex": "7153", "start": "116831" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7144", + "scope": "7146", "src": { "column": "45", "end": "116836", "length": "20", "line": "3131", - "parentIndex": "7145", + "parentIndex": "7147", "start": "116817" }, "storageLocation": "MEMORY", @@ -136854,7 +136962,7 @@ "typeString": "string" }, "typeName": { - "id": "7152", + "id": "7154", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -136862,7 +136970,7 @@ "end": "116822", "length": "6", "line": "3131", - "parentIndex": "7151", + "parentIndex": "7153", "start": "116817" }, "typeDescription": { @@ -136873,7 +136981,7 @@ "visibility": "INTERNAL" } ], - "id": "7145", + "id": "7147", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -136887,16 +136995,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7156", + "id": "7158", "name": "message", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7156", + "referencedDeclaration": "7158", "src": { "column": "95", "end": "116873", "length": "7", "line": "3131", - "parentIndex": "7153", + "parentIndex": "7155", "start": "116867" }, "typeDescription": { @@ -136912,42 +137020,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7155", + "id": "7157", "name": "wormhole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8075", + "referencedDeclaration": "8079", "src": { "column": "69", "end": "116848", "length": "8", "line": "3131", - "parentIndex": "7154", + "parentIndex": "7156", "start": "116841" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7154", + "id": "7156", "memberLocation": { "column": "78", "end": "116865", "length": "16", "line": "3131", - "parentIndex": "7154", + "parentIndex": "7156", "start": "116850" }, "memberName": "parseAndVerifyVM", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "7446", + "referencedDeclaration": "7448", "src": { "column": "69", "end": "116865", "length": "25", "line": "3131", - "parentIndex": "7153", + "parentIndex": "7155", "start": "116841" }, "typeDescription": { @@ -136956,7 +137064,7 @@ } } }, - "id": "7153", + "id": "7155", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -136964,7 +137072,7 @@ "end": "116874", "length": "34", "line": "3131", - "parentIndex": "7145", + "parentIndex": "7147", "start": "116841" }, "typeDescription": { @@ -136979,7 +137087,7 @@ "end": "116875", "length": "96", "line": "3131", - "parentIndex": "7144", + "parentIndex": "7146", "start": "116780" } } @@ -137001,16 +137109,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7159", + "id": "7161", "name": "valid", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7145", + "referencedDeclaration": "7147", "src": { "column": "16", "end": "116897", "length": "5", "line": "3132", - "parentIndex": "7157", + "parentIndex": "7159", "start": "116893" }, "typeDescription": { @@ -137028,16 +137136,16 @@ "typeString": "bool" } ], - "id": "7160", + "id": "7162", "name": "reason", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7145", + "referencedDeclaration": "7147", "src": { "column": "23", "end": "116905", "length": "6", "line": "3132", - "parentIndex": "7157", + "parentIndex": "7159", "start": "116900" }, "typeDescription": { @@ -137050,7 +137158,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7158", + "id": "7160", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -137059,7 +137167,7 @@ "end": "116891", "length": "7", "line": "3132", - "parentIndex": "7157", + "parentIndex": "7159", "start": "116885" }, "typeDescription": { @@ -137068,7 +137176,7 @@ } } }, - "id": "7157", + "id": "7159", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -137076,7 +137184,7 @@ "end": "116906", "length": "22", "line": "3132", - "parentIndex": "7144", + "parentIndex": "7146", "start": "116885" }, "typeDescription": { @@ -137090,7 +137198,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } ], @@ -137098,20 +137206,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7163", + "id": "7165", "name": "vm", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8099", + "referencedDeclaration": "8103", "src": { "column": "40", "end": "116951", "length": "2", "line": "3134", - "parentIndex": "7161", + "parentIndex": "7163", "start": "116950" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } @@ -137120,7 +137228,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7162", + "id": "7164", "name": "_validateWormholeMessageEmitter", "nodeType": "IDENTIFIER", "src": { @@ -137128,7 +137236,7 @@ "end": "116948", "length": "31", "line": "3134", - "parentIndex": "7161", + "parentIndex": "7163", "start": "116918" }, "typeDescription": { @@ -137137,7 +137245,7 @@ } } }, - "id": "7161", + "id": "7163", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -137145,7 +137253,7 @@ "end": "116952", "length": "35", "line": "3134", - "parentIndex": "7144", + "parentIndex": "7146", "start": "116918" }, "typeDescription": { @@ -137160,20 +137268,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "7165", + "id": "7167", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7166", + "id": "7168", "name": "nextValidNonce", "nodeType": "IDENTIFIER", - "referencedDeclaration": "6651", + "referencedDeclaration": "6653", "src": { "column": "8", "end": "116976", "length": "14", "line": "3135", - "parentIndex": "7165", + "parentIndex": "7167", "start": "116963" }, "typeDescription": { @@ -137187,53 +137295,53 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "7167", + "id": "7169", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7169", + "id": "7171", "name": "vm", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8099", + "referencedDeclaration": "8103", "src": { "column": "25", "end": "116981", "length": "2", "line": "3135", - "parentIndex": "7168", + "parentIndex": "7170", "start": "116980" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7168", + "id": "7170", "memberLocation": { "column": "28", "end": "116987", "length": "5", "line": "3135", - "parentIndex": "7168", + "parentIndex": "7170", "start": "116983" }, "memberName": "nonce", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "8130", + "referencedDeclaration": "8134", "src": { "column": "25", "end": "116987", "length": "8", "line": "3135", - "parentIndex": "7167", + "parentIndex": "7169", "start": "116980" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_VM_$8130", + "typeIdentifier": "t_struct$_Global_VM_$8134", "typeString": "struct Global.VM" } } @@ -137244,7 +137352,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "7170", + "id": "7172", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -137253,7 +137361,7 @@ "end": "116991", "length": "1", "line": "3135", - "parentIndex": "7167", + "parentIndex": "7169", "start": "116991" }, "typeDescription": { @@ -137268,11 +137376,11 @@ "end": "116991", "length": "12", "line": "3135", - "parentIndex": "7165", + "parentIndex": "7167", "start": "116980" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_VM_$8130", + "typeIdentifier": "t_struct$_Global_VM_$8134", "typeString": "struct Global.VM" } } @@ -137282,7 +137390,7 @@ "end": "116991", "length": "29", "line": "3135", - "parentIndex": "7164", + "parentIndex": "7166", "start": "116963" }, "typeDescription": { @@ -137291,14 +137399,14 @@ } } }, - "id": "7164", + "id": "7166", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "116992", "length": "30", "line": "3135", - "parentIndex": "7144", + "parentIndex": "7146", "start": "116963" }, "typeDescription": { @@ -137311,12 +137419,12 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "7172", - "7174" + "7174", + "7176" ], "declarations": [ { - "id": "7172", + "id": "7174", "mutability": "MUTABLE", "name": "msgType", "nameLocation": { @@ -137324,17 +137432,17 @@ "end": "117018", "length": "7", "line": "3137", - "parentIndex": "7172", + "parentIndex": "7174", "start": "117012" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7144", + "scope": "7146", "src": { "column": "9", "end": "117018", "length": "15", "line": "3137", - "parentIndex": "7171", + "parentIndex": "7173", "start": "117004" }, "storageLocation": "DEFAULT", @@ -137343,7 +137451,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7173", + "id": "7175", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -137351,7 +137459,7 @@ "end": "117010", "length": "7", "line": "3137", - "parentIndex": "7172", + "parentIndex": "7174", "start": "117004" }, "typeDescription": { @@ -137362,7 +137470,7 @@ "visibility": "INTERNAL" }, { - "id": "7174", + "id": "7176", "mutability": "MUTABLE", "name": "amount", "nameLocation": { @@ -137370,17 +137478,17 @@ "end": "117034", "length": "6", "line": "3137", - "parentIndex": "7174", + "parentIndex": "7176", "start": "117029" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "7144", + "scope": "7146", "src": { "column": "26", "end": "117034", "length": "14", "line": "3137", - "parentIndex": "7171", + "parentIndex": "7173", "start": "117021" }, "storageLocation": "DEFAULT", @@ -137389,7 +137497,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7175", + "id": "7177", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -137397,7 +137505,7 @@ "end": "117027", "length": "7", "line": "3137", - "parentIndex": "7174", + "parentIndex": "7176", "start": "117021" }, "typeDescription": { @@ -137408,7 +137516,7 @@ "visibility": "INTERNAL" } ], - "id": "7171", + "id": "7173", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -137429,42 +137537,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7180", + "id": "7182", "name": "vm", "nodeType": "IDENTIFIER", - "referencedDeclaration": "8099", + "referencedDeclaration": "8103", "src": { "column": "55", "end": "117051", "length": "2", "line": "3137", - "parentIndex": "7179", + "parentIndex": "7181", "start": "117050" }, "typeDescription": { - "typeIdentifier": "t_contract$_IWormhole_$7308", + "typeIdentifier": "t_contract$_IWormhole_$7310", "typeString": "contract IWormhole" } } }, - "id": "7179", + "id": "7181", "memberLocation": { "column": "58", "end": "117059", "length": "7", "line": "3137", - "parentIndex": "7179", + "parentIndex": "7181", "start": "117053" }, "memberName": "payload", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "6998", + "referencedDeclaration": "7000", "src": { "column": "55", "end": "117059", "length": "10", "line": "3137", - "parentIndex": "7176", + "parentIndex": "7178", "start": "117050" }, "typeDescription": { @@ -137480,7 +137588,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7182", + "id": "7184", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -137488,7 +137596,7 @@ "end": "117069", "length": "7", "line": "3137", - "parentIndex": "7181", + "parentIndex": "7183", "start": "117063" }, "typeDescription": { @@ -137496,7 +137604,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7183", + "id": "7185", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -137504,7 +137612,7 @@ "end": "117069", "length": "7", "line": "3137", - "parentIndex": "7182", + "parentIndex": "7184", "start": "117063" }, "typeDescription": { @@ -137517,7 +137625,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7184", + "id": "7186", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -137525,7 +137633,7 @@ "end": "117078", "length": "7", "line": "3137", - "parentIndex": "7181", + "parentIndex": "7183", "start": "117072" }, "typeDescription": { @@ -137533,7 +137641,7 @@ "typeString": "uint256" }, "typeName": { - "id": "7185", + "id": "7187", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -137541,7 +137649,7 @@ "end": "117078", "length": "7", "line": "3137", - "parentIndex": "7184", + "parentIndex": "7186", "start": "117072" }, "typeDescription": { @@ -137552,14 +137660,14 @@ } } ], - "id": "7181", + "id": "7183", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "67", "end": "117079", "length": "18", "line": "3137", - "parentIndex": "7176", + "parentIndex": "7178", "start": "117062" }, "typeDescription": { @@ -137575,7 +137683,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7178", + "id": "7180", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -137583,7 +137691,7 @@ "end": "117041", "length": "3", "line": "3137", - "parentIndex": "7177", + "parentIndex": "7179", "start": "117039" }, "typeDescription": { @@ -137592,13 +137700,13 @@ } } }, - "id": "7177", + "id": "7179", "memberLocation": { "column": "48", "end": "117048", "length": "6", "line": "3137", - "parentIndex": "7177", + "parentIndex": "7179", "start": "117043" }, "memberName": "decode", @@ -137608,7 +137716,7 @@ "end": "117048", "length": "10", "line": "3137", - "parentIndex": "7176", + "parentIndex": "7178", "start": "117039" }, "typeDescription": { @@ -137617,7 +137725,7 @@ } } }, - "id": "7176", + "id": "7178", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -137625,7 +137733,7 @@ "end": "117080", "length": "42", "line": "3137", - "parentIndex": "7171", + "parentIndex": "7173", "start": "117039" }, "typeDescription": { @@ -137640,7 +137748,7 @@ "end": "117081", "length": "79", "line": "3137", - "parentIndex": "7144", + "parentIndex": "7146", "start": "117003" } } @@ -137662,20 +137770,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "7188", + "id": "7190", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7189", + "id": "7191", "name": "msgType", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7171", + "referencedDeclaration": "7173", "src": { "column": "16", "end": "117105", "length": "7", "line": "3138", - "parentIndex": "7188", + "parentIndex": "7190", "start": "117099" }, "typeDescription": { @@ -137692,42 +137800,42 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7191", + "id": "7193", "name": "Constants", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7468", + "referencedDeclaration": "7470", "src": { "column": "27", "end": "117118", "length": "9", "line": "3138", - "parentIndex": "7190", + "parentIndex": "7192", "start": "117110" }, "typeDescription": { - "typeIdentifier": "t_contract$_Constants_$7468", + "typeIdentifier": "t_contract$_Constants_$7470", "typeString": "contract Constants" } } }, - "id": "7190", + "id": "7192", "memberLocation": { "column": "37", "end": "117134", "length": "15", "line": "3138", - "parentIndex": "7190", + "parentIndex": "7192", "start": "117120" }, "memberName": "L2_FUND_REQUEST", "nodeType": "MEMBER_ACCESS", - "referencedDeclaration": "8159", + "referencedDeclaration": "8163", "src": { "column": "27", "end": "117134", "length": "25", "line": "3138", - "parentIndex": "7188", + "parentIndex": "7190", "start": "117110" }, "typeDescription": { @@ -137741,7 +137849,7 @@ "end": "117134", "length": "36", "line": "3138", - "parentIndex": "7186", + "parentIndex": "7188", "start": "117099" }, "typeDescription": { @@ -137760,7 +137868,7 @@ } ], "hexValue": "57523a20626164206d73672074797065", - "id": "7192", + "id": "7194", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -137769,7 +137877,7 @@ "end": "117154", "length": "18", "line": "3138", - "parentIndex": "7186", + "parentIndex": "7188", "start": "117137" }, "typeDescription": { @@ -137783,7 +137891,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7187", + "id": "7189", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -137792,7 +137900,7 @@ "end": "117097", "length": "7", "line": "3138", - "parentIndex": "7186", + "parentIndex": "7188", "start": "117091" }, "typeDescription": { @@ -137801,7 +137909,7 @@ } } }, - "id": "7186", + "id": "7188", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -137809,7 +137917,7 @@ "end": "117155", "length": "65", "line": "3138", - "parentIndex": "7144", + "parentIndex": "7146", "start": "117091" }, "typeDescription": { @@ -137831,16 +137939,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7201", + "id": "7203", "name": "amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "7171", + "referencedDeclaration": "7173", "src": { "column": "51", "end": "117215", "length": "6", "line": "3140", - "parentIndex": "7193", + "parentIndex": "7195", "start": "117210" }, "typeDescription": { @@ -137876,7 +137984,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7200", + "id": "7202", "name": "vault", "nodeType": "IDENTIFIER", "src": { @@ -137884,7 +137992,7 @@ "end": "117187", "length": "5", "line": "3140", - "parentIndex": "7197", + "parentIndex": "7199", "start": "117183" }, "typeDescription": { @@ -137903,7 +138011,7 @@ "typeString": "address" } ], - "id": "7198", + "id": "7200", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -137911,7 +138019,7 @@ "end": "117181", "length": "7", "line": "3140", - "parentIndex": "7197", + "parentIndex": "7199", "start": "117175" }, "typeDescription": { @@ -137919,7 +138027,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "7199", + "id": "7201", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -137927,7 +138035,7 @@ "end": "117181", "length": "7", "line": "3140", - "parentIndex": "7198", + "parentIndex": "7200", "start": "117175" }, "stateMutability": "NONPAYABLE", @@ -137938,7 +138046,7 @@ } } }, - "id": "7197", + "id": "7199", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -137946,7 +138054,7 @@ "end": "117188", "length": "14", "line": "3140", - "parentIndex": "7195", + "parentIndex": "7197", "start": "117175" }, "typeDescription": { @@ -137959,7 +138067,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7196", + "id": "7198", "name": "L1Vault", "nodeType": "IDENTIFIER", "src": { @@ -137967,7 +138075,7 @@ "end": "117173", "length": "7", "line": "3140", - "parentIndex": "7195", + "parentIndex": "7197", "start": "117167" }, "typeDescription": { @@ -137976,7 +138084,7 @@ } } }, - "id": "7195", + "id": "7197", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -137984,7 +138092,7 @@ "end": "117189", "length": "23", "line": "3140", - "parentIndex": "7194", + "parentIndex": "7196", "start": "117167" }, "typeDescription": { @@ -137993,13 +138101,13 @@ } } }, - "id": "7194", + "id": "7196", "memberLocation": { "column": "32", "end": "117208", "length": "18", "line": "3140", - "parentIndex": "7194", + "parentIndex": "7196", "start": "117191" }, "memberName": "processFundRequest", @@ -138009,7 +138117,7 @@ "end": "117208", "length": "42", "line": "3140", - "parentIndex": "7193", + "parentIndex": "7195", "start": "117167" }, "typeDescription": { @@ -138018,7 +138126,7 @@ } } }, - "id": "7193", + "id": "7195", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -138026,7 +138134,7 @@ "end": "117216", "length": "50", "line": "3140", - "parentIndex": "7144", + "parentIndex": "7146", "start": "117167" }, "typeDescription": { @@ -138037,7 +138145,7 @@ } ] }, - "id": "7139", + "id": "7141", "implemented": true, "kind": "KIND_FUNCTION", "name": "receiveFundRequest", @@ -138046,25 +138154,25 @@ "end": "116735", "length": "18", "line": "3130", - "parentIndex": "7139", + "parentIndex": "7141", "start": "116718" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "7140", + "id": "7142", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7141", + "id": "7143", "name": "message", "nodeType": "VARIABLE_DECLARATION", - "scope": "7141", + "scope": "7143", "src": { "column": "32", "end": "116758", "length": "22", "line": "3130", - "parentIndex": "7140", + "parentIndex": "7142", "start": "116737" }, "stateMutability": "MUTABLE", @@ -138074,7 +138182,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7142", + "id": "7144", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138082,7 +138190,7 @@ "end": "116741", "length": "5", "line": "3130", - "parentIndex": "7141", + "parentIndex": "7143", "start": "116737" }, "typeDescription": { @@ -138098,30 +138206,30 @@ "end": "116758", "length": "22", "line": "3130", - "parentIndex": "7139", + "parentIndex": "7141", "start": "116737" } }, "returnParameters": { - "id": "7143", + "id": "7145", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "117223", "length": "515", "line": "3130", - "parentIndex": "7139", + "parentIndex": "7141", "start": "116709" } }, - "scope": "6949", + "scope": "6951", "signature": "a64fa6e3", "src": { "column": "4", "end": "117223", "length": "515", "line": "3130", - "parentIndex": "6949", + "parentIndex": "6951", "start": "116709" }, "stateMutability": "NONPAYABLE", @@ -138137,7 +138245,7 @@ "end": "117225", "length": "2688", "line": "3084", - "parentIndex": "6863", + "parentIndex": "6865", "start": "114538" } } @@ -138153,13 +138261,13 @@ } }, { - "id": 7202, + "id": 7204, "license": "BUSL-1.1", "name": "IRootChainManager", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IRootChainManager.sol", "exported_symbols": [ { - "id": 7202, + "id": 7204, "name": "IRootChainManager", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IRootChainManager.sol" } @@ -138170,7 +138278,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "7230", + "id": "7232", "literals": [ "pragma", "solidity", @@ -138187,7 +138295,7 @@ "end": "117289", "length": "24", "line": "3146", - "parentIndex": "7202", + "parentIndex": "7204", "start": "117266" }, "text": "pragma solidity =0.8.16;" @@ -138197,10 +138305,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "7289", + "id": "7291", "kind": "KIND_INTERFACE", "linearizedBaseContracts": [ - "7289" + "7291" ], "name": "IRootChainManager", "nameLocation": { @@ -138208,7 +138316,7 @@ "end": "117318", "length": "17", "line": "3148", - "parentIndex": "7289", + "parentIndex": "7291", "start": "117302" }, "nodeType": "CONTRACT_DEFINITION", @@ -138217,18 +138325,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "7300", + "id": "7302", "nodeType": "BLOCK", "src": { "column": "4", "end": "117415", "length": "90", "line": "3149", - "parentIndex": "7291", + "parentIndex": "7293", "start": "117326" } }, - "id": "7291", + "id": "7293", "kind": "KIND_FUNCTION", "name": "depositFor", "nameLocation": { @@ -138236,25 +138344,25 @@ "end": "117344", "length": "10", "line": "3149", - "parentIndex": "7291", + "parentIndex": "7293", "start": "117335" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "7292", + "id": "7294", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7293", + "id": "7295", "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "7293", + "scope": "7295", "src": { "column": "24", "end": "117357", "length": "12", "line": "3149", - "parentIndex": "7292", + "parentIndex": "7294", "start": "117346" }, "stateMutability": "NONPAYABLE", @@ -138264,7 +138372,7 @@ "typeString": "address" }, "typeName": { - "id": "7294", + "id": "7296", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138272,7 +138380,7 @@ "end": "117352", "length": "7", "line": "3149", - "parentIndex": "7293", + "parentIndex": "7295", "start": "117346" }, "stateMutability": "NONPAYABLE", @@ -138284,16 +138392,16 @@ "visibility": "INTERNAL" }, { - "id": "7295", + "id": "7297", "name": "rootToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "7295", + "scope": "7297", "src": { "column": "38", "end": "117376", "length": "17", "line": "3149", - "parentIndex": "7292", + "parentIndex": "7294", "start": "117360" }, "stateMutability": "NONPAYABLE", @@ -138303,7 +138411,7 @@ "typeString": "address" }, "typeName": { - "id": "7296", + "id": "7298", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138311,7 +138419,7 @@ "end": "117366", "length": "7", "line": "3149", - "parentIndex": "7295", + "parentIndex": "7297", "start": "117360" }, "stateMutability": "NONPAYABLE", @@ -138323,16 +138431,16 @@ "visibility": "INTERNAL" }, { - "id": "7297", + "id": "7299", "name": "depositData", "nodeType": "VARIABLE_DECLARATION", - "scope": "7297", + "scope": "7299", "src": { "column": "57", "end": "117404", "length": "26", "line": "3149", - "parentIndex": "7292", + "parentIndex": "7294", "start": "117379" }, "stateMutability": "MUTABLE", @@ -138342,7 +138450,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7298", + "id": "7300", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138350,7 +138458,7 @@ "end": "117383", "length": "5", "line": "3149", - "parentIndex": "7297", + "parentIndex": "7299", "start": "117379" }, "typeDescription": { @@ -138366,30 +138474,30 @@ "end": "117404", "length": "59", "line": "3149", - "parentIndex": "7291", + "parentIndex": "7293", "start": "117346" } }, "returnParameters": { - "id": "7299", + "id": "7301", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "117415", "length": "90", "line": "3149", - "parentIndex": "7291", + "parentIndex": "7293", "start": "117326" } }, - "scope": "7289", - "signature": "03af4fae", + "scope": "7291", + "signature": "e3dec8fb", "src": { "column": "4", "end": "117415", "length": "90", "line": "3149", - "parentIndex": "7289", + "parentIndex": "7291", "start": "117326" }, "stateMutability": "NONPAYABLE", @@ -138404,18 +138512,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "7307", + "id": "7309", "nodeType": "BLOCK", "src": { "column": "4", "end": "117464", "length": "43", "line": "3151", - "parentIndex": "7302", + "parentIndex": "7304", "start": "117422" } }, - "id": "7302", + "id": "7304", "kind": "KIND_FUNCTION", "name": "exit", "nameLocation": { @@ -138423,25 +138531,25 @@ "end": "117434", "length": "4", "line": "3151", - "parentIndex": "7302", + "parentIndex": "7304", "start": "117431" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "7303", + "id": "7305", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7304", + "id": "7306", "name": "_data", "nodeType": "VARIABLE_DECLARATION", - "scope": "7304", + "scope": "7306", "src": { "column": "18", "end": "117453", "length": "18", "line": "3151", - "parentIndex": "7303", + "parentIndex": "7305", "start": "117436" }, "stateMutability": "MUTABLE", @@ -138451,7 +138559,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7305", + "id": "7307", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138459,7 +138567,7 @@ "end": "117440", "length": "5", "line": "3151", - "parentIndex": "7304", + "parentIndex": "7306", "start": "117436" }, "typeDescription": { @@ -138475,30 +138583,30 @@ "end": "117453", "length": "18", "line": "3151", - "parentIndex": "7302", + "parentIndex": "7304", "start": "117436" } }, "returnParameters": { - "id": "7306", + "id": "7308", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "117464", "length": "43", "line": "3151", - "parentIndex": "7302", + "parentIndex": "7304", "start": "117422" } }, - "scope": "7289", + "scope": "7291", "signature": "3805550f", "src": { "column": "4", "end": "117464", "length": "43", "line": "3151", - "parentIndex": "7289", + "parentIndex": "7291", "start": "117422" }, "stateMutability": "NONPAYABLE", @@ -138514,7 +138622,7 @@ "end": "117466", "length": "175", "line": "3148", - "parentIndex": "7202", + "parentIndex": "7204", "start": "117292" } } @@ -138530,13 +138638,13 @@ } }, { - "id": 7308, + "id": 7310, "license": "BUSL-1.1", "name": "IWormhole", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IWormhole.sol", "exported_symbols": [ { - "id": 7308, + "id": 7310, "name": "IWormhole", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/IWormhole.sol" } @@ -138547,7 +138655,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "7337", + "id": "7339", "literals": [ "pragma", "solidity", @@ -138564,7 +138672,7 @@ "end": "117530", "length": "24", "line": "3156", - "parentIndex": "7308", + "parentIndex": "7310", "start": "117507" }, "text": "pragma solidity =0.8.16;" @@ -138574,10 +138682,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "7396", + "id": "7398", "kind": "KIND_INTERFACE", "linearizedBaseContracts": [ - "7396" + "7398" ], "name": "IWormhole", "nameLocation": { @@ -138585,7 +138693,7 @@ "end": "117551", "length": "9", "line": "3158", - "parentIndex": "7396", + "parentIndex": "7398", "start": "117543" }, "nodeType": "CONTRACT_DEFINITION", @@ -138594,19 +138702,19 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "IWormhole.Signature", - "id": "7398", + "id": "7400", "members": [ { - "id": "7399", + "id": "7401", "name": "r", "nodeType": "VARIABLE_DECLARATION", - "scope": "7399", + "scope": "7401", "src": { "column": "8", "end": "117595", "length": "10", "line": "3160", - "parentIndex": "7398", + "parentIndex": "7400", "start": "117586" }, "stateMutability": "MUTABLE", @@ -138615,7 +138723,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7400", + "id": "7402", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138623,7 +138731,7 @@ "end": "117592", "length": "7", "line": "3160", - "parentIndex": "7399", + "parentIndex": "7401", "start": "117586" }, "typeDescription": { @@ -138634,16 +138742,16 @@ "visibility": "INTERNAL" }, { - "id": "7401", + "id": "7403", "name": "s", "nodeType": "VARIABLE_DECLARATION", - "scope": "7401", + "scope": "7403", "src": { "column": "8", "end": "117614", "length": "10", "line": "3161", - "parentIndex": "7398", + "parentIndex": "7400", "start": "117605" }, "stateMutability": "MUTABLE", @@ -138652,7 +138760,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7402", + "id": "7404", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138660,7 +138768,7 @@ "end": "117611", "length": "7", "line": "3161", - "parentIndex": "7401", + "parentIndex": "7403", "start": "117605" }, "typeDescription": { @@ -138671,16 +138779,16 @@ "visibility": "INTERNAL" }, { - "id": "7403", + "id": "7405", "name": "v", "nodeType": "VARIABLE_DECLARATION", - "scope": "7403", + "scope": "7405", "src": { "column": "8", "end": "117631", "length": "8", "line": "3162", - "parentIndex": "7398", + "parentIndex": "7400", "start": "117624" }, "stateMutability": "MUTABLE", @@ -138689,7 +138797,7 @@ "typeString": "uint8" }, "typeName": { - "id": "7404", + "id": "7406", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138697,7 +138805,7 @@ "end": "117628", "length": "5", "line": "3162", - "parentIndex": "7403", + "parentIndex": "7405", "start": "117624" }, "typeDescription": { @@ -138708,16 +138816,16 @@ "visibility": "INTERNAL" }, { - "id": "7405", + "id": "7407", "name": "guardianIndex", "nodeType": "VARIABLE_DECLARATION", - "scope": "7405", + "scope": "7407", "src": { "column": "8", "end": "117660", "length": "20", "line": "3163", - "parentIndex": "7398", + "parentIndex": "7400", "start": "117641" }, "stateMutability": "MUTABLE", @@ -138726,7 +138834,7 @@ "typeString": "uint8" }, "typeName": { - "id": "7406", + "id": "7408", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138734,7 +138842,7 @@ "end": "117645", "length": "5", "line": "3163", - "parentIndex": "7405", + "parentIndex": "7407", "start": "117641" }, "typeDescription": { @@ -138751,7 +138859,7 @@ "end": "117574", "length": "9", "line": "3159", - "parentIndex": "7398", + "parentIndex": "7400", "start": "117566" }, "nodeType": "STRUCT_DEFINITION", @@ -138760,12 +138868,12 @@ "end": "117666", "length": "108", "line": "3159", - "parentIndex": "7308", + "parentIndex": "7310", "start": "117559" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_IWormhole_Signature_$7398", + "typeIdentifier": "t_struct$_IWormhole_Signature_$7400", "typeString": "struct IWormhole.Signature" }, "visibility": "PUBLIC" @@ -138775,19 +138883,19 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "IWormhole.VM", - "id": "7408", + "id": "7410", "members": [ { - "id": "7409", + "id": "7411", "name": "version", "nodeType": "VARIABLE_DECLARATION", - "scope": "7409", + "scope": "7411", "src": { "column": "8", "end": "117706", "length": "14", "line": "3167", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117693" }, "stateMutability": "MUTABLE", @@ -138796,7 +138904,7 @@ "typeString": "uint8" }, "typeName": { - "id": "7410", + "id": "7412", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138804,7 +138912,7 @@ "end": "117697", "length": "5", "line": "3167", - "parentIndex": "7409", + "parentIndex": "7411", "start": "117693" }, "typeDescription": { @@ -138815,16 +138923,16 @@ "visibility": "INTERNAL" }, { - "id": "7411", + "id": "7413", "name": "timestamp", "nodeType": "VARIABLE_DECLARATION", - "scope": "7411", + "scope": "7413", "src": { "column": "8", "end": "117732", "length": "17", "line": "3168", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117716" }, "stateMutability": "MUTABLE", @@ -138833,7 +138941,7 @@ "typeString": "uint32" }, "typeName": { - "id": "7412", + "id": "7414", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138841,7 +138949,7 @@ "end": "117721", "length": "6", "line": "3168", - "parentIndex": "7411", + "parentIndex": "7413", "start": "117716" }, "typeDescription": { @@ -138852,16 +138960,16 @@ "visibility": "INTERNAL" }, { - "id": "7413", + "id": "7415", "name": "nonce", "nodeType": "VARIABLE_DECLARATION", - "scope": "7413", + "scope": "7415", "src": { "column": "8", "end": "117754", "length": "13", "line": "3169", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117742" }, "stateMutability": "MUTABLE", @@ -138870,7 +138978,7 @@ "typeString": "uint32" }, "typeName": { - "id": "7414", + "id": "7416", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138878,7 +138986,7 @@ "end": "117747", "length": "6", "line": "3169", - "parentIndex": "7413", + "parentIndex": "7415", "start": "117742" }, "typeDescription": { @@ -138889,16 +138997,16 @@ "visibility": "INTERNAL" }, { - "id": "7415", + "id": "7417", "name": "emitterChainId", "nodeType": "VARIABLE_DECLARATION", - "scope": "7415", + "scope": "7417", "src": { "column": "8", "end": "117785", "length": "22", "line": "3170", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117764" }, "stateMutability": "MUTABLE", @@ -138907,7 +139015,7 @@ "typeString": "uint16" }, "typeName": { - "id": "7416", + "id": "7418", "name": "uint16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138915,7 +139023,7 @@ "end": "117769", "length": "6", "line": "3170", - "parentIndex": "7415", + "parentIndex": "7417", "start": "117764" }, "typeDescription": { @@ -138926,16 +139034,16 @@ "visibility": "INTERNAL" }, { - "id": "7417", + "id": "7419", "name": "emitterAddress", "nodeType": "VARIABLE_DECLARATION", - "scope": "7417", + "scope": "7419", "src": { "column": "8", "end": "117817", "length": "23", "line": "3171", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117795" }, "stateMutability": "MUTABLE", @@ -138944,7 +139052,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7418", + "id": "7420", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138952,7 +139060,7 @@ "end": "117801", "length": "7", "line": "3171", - "parentIndex": "7417", + "parentIndex": "7419", "start": "117795" }, "typeDescription": { @@ -138963,16 +139071,16 @@ "visibility": "INTERNAL" }, { - "id": "7419", + "id": "7421", "name": "sequence", "nodeType": "VARIABLE_DECLARATION", - "scope": "7419", + "scope": "7421", "src": { "column": "8", "end": "117842", "length": "16", "line": "3172", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117827" }, "stateMutability": "MUTABLE", @@ -138981,7 +139089,7 @@ "typeString": "uint64" }, "typeName": { - "id": "7420", + "id": "7422", "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -138989,7 +139097,7 @@ "end": "117832", "length": "6", "line": "3172", - "parentIndex": "7419", + "parentIndex": "7421", "start": "117827" }, "typeDescription": { @@ -139000,16 +139108,16 @@ "visibility": "INTERNAL" }, { - "id": "7421", + "id": "7423", "name": "consistencyLevel", "nodeType": "VARIABLE_DECLARATION", - "scope": "7421", + "scope": "7423", "src": { "column": "8", "end": "117874", "length": "23", "line": "3173", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117852" }, "stateMutability": "MUTABLE", @@ -139018,7 +139126,7 @@ "typeString": "uint8" }, "typeName": { - "id": "7422", + "id": "7424", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139026,7 +139134,7 @@ "end": "117856", "length": "5", "line": "3173", - "parentIndex": "7421", + "parentIndex": "7423", "start": "117852" }, "typeDescription": { @@ -139037,16 +139145,16 @@ "visibility": "INTERNAL" }, { - "id": "7423", + "id": "7425", "name": "payload", "nodeType": "VARIABLE_DECLARATION", - "scope": "7423", + "scope": "7425", "src": { "column": "8", "end": "117897", "length": "14", "line": "3174", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117884" }, "stateMutability": "MUTABLE", @@ -139055,7 +139163,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7424", + "id": "7426", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139063,7 +139171,7 @@ "end": "117888", "length": "5", "line": "3174", - "parentIndex": "7423", + "parentIndex": "7425", "start": "117884" }, "typeDescription": { @@ -139074,16 +139182,16 @@ "visibility": "INTERNAL" }, { - "id": "7425", + "id": "7427", "name": "guardianSetIndex", "nodeType": "VARIABLE_DECLARATION", - "scope": "7425", + "scope": "7427", "src": { "column": "8", "end": "117930", "length": "24", "line": "3175", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117907" }, "stateMutability": "MUTABLE", @@ -139092,7 +139200,7 @@ "typeString": "uint32" }, "typeName": { - "id": "7426", + "id": "7428", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139100,7 +139208,7 @@ "end": "117912", "length": "6", "line": "3175", - "parentIndex": "7425", + "parentIndex": "7427", "start": "117907" }, "typeDescription": { @@ -139111,68 +139219,68 @@ "visibility": "INTERNAL" }, { - "id": "7427", + "id": "7429", "name": "signatures", "nodeType": "VARIABLE_DECLARATION", - "scope": "7427", + "scope": "7429", "src": { "column": "8", "end": "117962", "length": "23", "line": "3176", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117940" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_struct$_IWormhole_Signature_$7398", + "typeIdentifier": "t_struct$_IWormhole_Signature_$7400", "typeString": "struct IWormhole.Signature" }, "typeName": { - "id": "7428", + "id": "7430", "name": "Signature", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7429", + "id": "7431", "name": "Signature", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "7398", + "referencedDeclaration": "7400", "src": { "column": "8", "end": "117948", "length": "9", "line": "3176", - "parentIndex": "7428", + "parentIndex": "7430", "start": "117940" } }, - "referencedDeclaration": "7398", + "referencedDeclaration": "7400", "src": { "column": "8", "end": "117948", "length": "9", "line": "3176", - "parentIndex": "7427", + "parentIndex": "7429", "start": "117940" }, "typeDescription": { - "typeIdentifier": "t_struct$_IWormhole_Signature_$7398", + "typeIdentifier": "t_struct$_IWormhole_Signature_$7400", "typeString": "struct IWormhole.Signature" } }, "visibility": "INTERNAL" }, { - "id": "7430", + "id": "7432", "name": "hash", "nodeType": "VARIABLE_DECLARATION", - "scope": "7430", + "scope": "7432", "src": { "column": "8", "end": "117984", "length": "13", "line": "3177", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117972" }, "stateMutability": "MUTABLE", @@ -139181,7 +139289,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "7431", + "id": "7433", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139189,7 +139297,7 @@ "end": "117978", "length": "7", "line": "3177", - "parentIndex": "7430", + "parentIndex": "7432", "start": "117972" }, "typeDescription": { @@ -139206,7 +139314,7 @@ "end": "117681", "length": "2", "line": "3166", - "parentIndex": "7408", + "parentIndex": "7410", "start": "117680" }, "nodeType": "STRUCT_DEFINITION", @@ -139215,12 +139323,12 @@ "end": "117990", "length": "318", "line": "3166", - "parentIndex": "7308", + "parentIndex": "7310", "start": "117673" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_IWormhole_VM_$7408", + "typeIdentifier": "t_struct$_IWormhole_VM_$7410", "typeString": "struct IWormhole.VM" }, "visibility": "PUBLIC" @@ -139230,18 +139338,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "7444", + "id": "7446", "nodeType": "BLOCK", "src": { "column": "4", "end": "118147", "length": "151", "line": "3180", - "parentIndex": "7433", + "parentIndex": "7435", "start": "117997" } }, - "id": "7433", + "id": "7435", "kind": "KIND_FUNCTION", "name": "publishMessage", "nameLocation": { @@ -139249,25 +139357,25 @@ "end": "118019", "length": "14", "line": "3180", - "parentIndex": "7433", + "parentIndex": "7435", "start": "118006" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "7434", + "id": "7436", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7435", + "id": "7437", "name": "nonce", "nodeType": "VARIABLE_DECLARATION", - "scope": "7435", + "scope": "7437", "src": { "column": "28", "end": "118032", "length": "12", "line": "3180", - "parentIndex": "7434", + "parentIndex": "7436", "start": "118021" }, "stateMutability": "MUTABLE", @@ -139277,7 +139385,7 @@ "typeString": "uint32" }, "typeName": { - "id": "7436", + "id": "7438", "name": "uint32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139285,7 +139393,7 @@ "end": "118026", "length": "6", "line": "3180", - "parentIndex": "7435", + "parentIndex": "7437", "start": "118021" }, "typeDescription": { @@ -139296,16 +139404,16 @@ "visibility": "INTERNAL" }, { - "id": "7437", + "id": "7439", "name": "payload", "nodeType": "VARIABLE_DECLARATION", - "scope": "7437", + "scope": "7439", "src": { "column": "42", "end": "118054", "length": "20", "line": "3180", - "parentIndex": "7434", + "parentIndex": "7436", "start": "118035" }, "stateMutability": "MUTABLE", @@ -139315,7 +139423,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7438", + "id": "7440", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139323,7 +139431,7 @@ "end": "118039", "length": "5", "line": "3180", - "parentIndex": "7437", + "parentIndex": "7439", "start": "118035" }, "typeDescription": { @@ -139334,16 +139442,16 @@ "visibility": "INTERNAL" }, { - "id": "7439", + "id": "7441", "name": "consistencyLevel", "nodeType": "VARIABLE_DECLARATION", - "scope": "7439", + "scope": "7441", "src": { "column": "64", "end": "118078", "length": "22", "line": "3180", - "parentIndex": "7434", + "parentIndex": "7436", "start": "118057" }, "stateMutability": "MUTABLE", @@ -139353,7 +139461,7 @@ "typeString": "uint8" }, "typeName": { - "id": "7440", + "id": "7442", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139361,7 +139469,7 @@ "end": "118061", "length": "5", "line": "3180", - "parentIndex": "7439", + "parentIndex": "7441", "start": "118057" }, "typeDescription": { @@ -139377,25 +139485,25 @@ "end": "118078", "length": "58", "line": "3180", - "parentIndex": "7433", + "parentIndex": "7435", "start": "118021" } }, "returnParameters": { - "id": "7441", + "id": "7443", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7442", + "id": "7444", "name": "sequence", "nodeType": "VARIABLE_DECLARATION", - "scope": "7442", + "scope": "7444", "src": { "column": "17", "end": "118145", "length": "15", "line": "3183", - "parentIndex": "7441", + "parentIndex": "7443", "start": "118131" }, "stateMutability": "MUTABLE", @@ -139405,7 +139513,7 @@ "typeString": "uint64" }, "typeName": { - "id": "7443", + "id": "7445", "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139413,7 +139521,7 @@ "end": "118136", "length": "6", "line": "3183", - "parentIndex": "7442", + "parentIndex": "7444", "start": "118131" }, "typeDescription": { @@ -139429,18 +139537,18 @@ "end": "118145", "length": "15", "line": "3183", - "parentIndex": "7433", + "parentIndex": "7435", "start": "118131" } }, - "scope": "7396", - "signature": "bf991263", + "scope": "7398", + "signature": "b19a437e", "src": { "column": "4", "end": "118147", "length": "151", "line": "3180", - "parentIndex": "7396", + "parentIndex": "7398", "start": "117997" }, "stateMutability": "PAYABLE", @@ -139455,18 +139563,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "7458", + "id": "7460", "nodeType": "BLOCK", "src": { "column": "4", "end": "118300", "length": "147", "line": "3185", - "parentIndex": "7446", + "parentIndex": "7448", "start": "118154" } }, - "id": "7446", + "id": "7448", "kind": "KIND_FUNCTION", "name": "parseAndVerifyVM", "nameLocation": { @@ -139474,25 +139582,25 @@ "end": "118178", "length": "16", "line": "3185", - "parentIndex": "7446", + "parentIndex": "7448", "start": "118163" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "7447", + "id": "7449", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7448", + "id": "7450", "name": "encodedVM", "nodeType": "VARIABLE_DECLARATION", - "scope": "7448", + "scope": "7450", "src": { "column": "30", "end": "118203", "length": "24", "line": "3185", - "parentIndex": "7447", + "parentIndex": "7449", "start": "118180" }, "stateMutability": "MUTABLE", @@ -139502,7 +139610,7 @@ "typeString": "bytes" }, "typeName": { - "id": "7449", + "id": "7451", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139510,7 +139618,7 @@ "end": "118184", "length": "5", "line": "3185", - "parentIndex": "7448", + "parentIndex": "7450", "start": "118180" }, "typeDescription": { @@ -139526,85 +139634,85 @@ "end": "118203", "length": "24", "line": "3185", - "parentIndex": "7446", + "parentIndex": "7448", "start": "118180" } }, "returnParameters": { - "id": "7450", + "id": "7452", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7451", + "id": "7453", "name": "vm", "nodeType": "VARIABLE_DECLARATION", - "scope": "7451", + "scope": "7453", "src": { "column": "17", "end": "118264", "length": "12", "line": "3188", - "parentIndex": "7450", + "parentIndex": "7452", "start": "118253" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_struct$_IWormhole_VM_$7408", + "typeIdentifier": "t_struct$_IWormhole_VM_$7410", "typeString": "struct IWormhole.VM" }, "typeName": { - "id": "7452", + "id": "7454", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "7453", + "id": "7455", "name": "VM", "nameLocation": { "column": "17", "end": "118254", "length": "2", "line": "3188", - "parentIndex": "7452", + "parentIndex": "7454", "start": "118253" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "7408", + "referencedDeclaration": "7410", "src": { "column": "17", "end": "118254", "length": "2", "line": "3188", - "parentIndex": "7452", + "parentIndex": "7454", "start": "118253" } }, - "referencedDeclaration": "7408", + "referencedDeclaration": "7410", "src": { "column": "17", "end": "118254", "length": "2", "line": "3188", - "parentIndex": "7451", + "parentIndex": "7453", "start": "118253" }, "typeDescription": { - "typeIdentifier": "t_struct$_IWormhole_VM_$7408", + "typeIdentifier": "t_struct$_IWormhole_VM_$7410", "typeString": "struct IWormhole.VM" } }, "visibility": "INTERNAL" }, { - "id": "7454", + "id": "7456", "name": "valid", "nodeType": "VARIABLE_DECLARATION", - "scope": "7454", + "scope": "7456", "src": { "column": "31", "end": "118276", "length": "10", "line": "3188", - "parentIndex": "7450", + "parentIndex": "7452", "start": "118267" }, "stateMutability": "MUTABLE", @@ -139614,7 +139722,7 @@ "typeString": "bool" }, "typeName": { - "id": "7455", + "id": "7457", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139622,7 +139730,7 @@ "end": "118270", "length": "4", "line": "3188", - "parentIndex": "7454", + "parentIndex": "7456", "start": "118267" }, "typeDescription": { @@ -139633,16 +139741,16 @@ "visibility": "INTERNAL" }, { - "id": "7456", + "id": "7458", "name": "reason", "nodeType": "VARIABLE_DECLARATION", - "scope": "7456", + "scope": "7458", "src": { "column": "43", "end": "118298", "length": "20", "line": "3188", - "parentIndex": "7450", + "parentIndex": "7452", "start": "118279" }, "stateMutability": "MUTABLE", @@ -139652,7 +139760,7 @@ "typeString": "string" }, "typeName": { - "id": "7457", + "id": "7459", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139660,7 +139768,7 @@ "end": "118284", "length": "6", "line": "3188", - "parentIndex": "7456", + "parentIndex": "7458", "start": "118279" }, "typeDescription": { @@ -139676,18 +139784,18 @@ "end": "118298", "length": "46", "line": "3188", - "parentIndex": "7446", + "parentIndex": "7448", "start": "118253" } }, - "scope": "7396", + "scope": "7398", "signature": "c0fd8bde", "src": { "column": "4", "end": "118300", "length": "147", "line": "3185", - "parentIndex": "7396", + "parentIndex": "7398", "start": "118154" }, "stateMutability": "VIEW", @@ -139702,18 +139810,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "7467", + "id": "7469", "nodeType": "BLOCK", "src": { "column": "4", "end": "118376", "length": "70", "line": "3190", - "parentIndex": "7460", + "parentIndex": "7462", "start": "118307" } }, - "id": "7460", + "id": "7462", "kind": "KIND_FUNCTION", "name": "nextSequence", "nameLocation": { @@ -139721,25 +139829,25 @@ "end": "118327", "length": "12", "line": "3190", - "parentIndex": "7460", + "parentIndex": "7462", "start": "118316" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "7461", + "id": "7463", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7462", + "id": "7464", "name": "emitter", "nodeType": "VARIABLE_DECLARATION", - "scope": "7462", + "scope": "7464", "src": { "column": "26", "end": "118343", "length": "15", "line": "3190", - "parentIndex": "7461", + "parentIndex": "7463", "start": "118329" }, "stateMutability": "NONPAYABLE", @@ -139749,7 +139857,7 @@ "typeString": "address" }, "typeName": { - "id": "7463", + "id": "7465", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139757,7 +139865,7 @@ "end": "118335", "length": "7", "line": "3190", - "parentIndex": "7462", + "parentIndex": "7464", "start": "118329" }, "stateMutability": "NONPAYABLE", @@ -139774,24 +139882,24 @@ "end": "118343", "length": "15", "line": "3190", - "parentIndex": "7460", + "parentIndex": "7462", "start": "118329" } }, "returnParameters": { - "id": "7464", + "id": "7466", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "7465", + "id": "7467", "nodeType": "VARIABLE_DECLARATION", - "scope": "7465", + "scope": "7467", "src": { "column": "66", "end": "118374", "length": "6", "line": "3190", - "parentIndex": "7464", + "parentIndex": "7466", "start": "118369" }, "stateMutability": "MUTABLE", @@ -139801,7 +139909,7 @@ "typeString": "uint64" }, "typeName": { - "id": "7466", + "id": "7468", "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -139809,7 +139917,7 @@ "end": "118374", "length": "6", "line": "3190", - "parentIndex": "7465", + "parentIndex": "7467", "start": "118369" }, "typeDescription": { @@ -139825,18 +139933,18 @@ "end": "118374", "length": "6", "line": "3190", - "parentIndex": "7460", + "parentIndex": "7462", "start": "118369" } }, - "scope": "7396", + "scope": "7398", "signature": "4cf842b5", "src": { "column": "4", "end": "118376", "length": "70", "line": "3190", - "parentIndex": "7396", + "parentIndex": "7398", "start": "118307" }, "stateMutability": "VIEW", @@ -139852,7 +139960,7 @@ "end": "118378", "length": "846", "line": "3158", - "parentIndex": "7308", + "parentIndex": "7310", "start": "117533" } } @@ -139868,13 +139976,13 @@ } }, { - "id": 7468, + "id": 7470, "license": "MIT", "name": "Constants", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Constants.sol", "exported_symbols": [ { - "id": 7468, + "id": 7470, "name": "Constants", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Constants.sol" } @@ -139885,7 +139993,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "7498", + "id": "7500", "literals": [ "pragma", "solidity", @@ -139902,7 +140010,7 @@ "end": "118437", "length": "24", "line": "3195", - "parentIndex": "7468", + "parentIndex": "7470", "start": "118414" }, "text": "pragma solidity =0.8.16;" @@ -139912,10 +140020,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "7557", + "id": "7559", "kind": "KIND_LIBRARY", "linearizedBaseContracts": [ - "7557" + "7559" ], "name": "Constants", "nameLocation": { @@ -139923,7 +140031,7 @@ "end": "118456", "length": "9", "line": "3197", - "parentIndex": "7557", + "parentIndex": "7559", "start": "118448" }, "nodeType": "CONTRACT_DEFINITION", @@ -139931,7 +140039,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7559", + "id": "7561", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -139946,7 +140054,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4c325f46554e445f5452414e534645525f5245504f5254", - "id": "7563", + "id": "7565", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -139955,7 +140063,7 @@ "end": "118593", "length": "25", "line": "3200", - "parentIndex": "7561", + "parentIndex": "7563", "start": "118569" }, "typeDescription": { @@ -139969,7 +140077,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7562", + "id": "7564", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -139977,7 +140085,7 @@ "end": "118567", "length": "9", "line": "3200", - "parentIndex": "7561", + "parentIndex": "7563", "start": "118559" }, "typeDescription": { @@ -139986,7 +140094,7 @@ } } }, - "id": "7561", + "id": "7563", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -139994,7 +140102,7 @@ "end": "118594", "length": "36", "line": "3200", - "parentIndex": "7559", + "parentIndex": "7561", "start": "118559" }, "typeDescription": { @@ -140007,13 +140115,13 @@ "isStateVariable": true, "name": "L2_FUND_TRANSFER_REPORT", "nodeType": "VARIABLE_DECLARATION", - "scope": "7557", + "scope": "7559", "src": { "column": "4", "end": "118595", "length": "80", "line": "3200", - "parentIndex": "7557", + "parentIndex": "7559", "start": "118516" }, "stateMutability": "MUTABLE", @@ -140023,7 +140131,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "7560", + "id": "7562", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -140031,7 +140139,7 @@ "end": "118522", "length": "7", "line": "3200", - "parentIndex": "7559", + "parentIndex": "7561", "start": "118516" }, "typeDescription": { @@ -140045,7 +140153,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7565", + "id": "7567", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -140060,7 +140168,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4c325f46554e445f52455155455354", - "id": "7569", + "id": "7571", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -140069,7 +140177,7 @@ "end": "118662", "length": "17", "line": "3201", - "parentIndex": "7567", + "parentIndex": "7569", "start": "118646" }, "typeDescription": { @@ -140083,7 +140191,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7568", + "id": "7570", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -140091,7 +140199,7 @@ "end": "118644", "length": "9", "line": "3201", - "parentIndex": "7567", + "parentIndex": "7569", "start": "118636" }, "typeDescription": { @@ -140100,7 +140208,7 @@ } } }, - "id": "7567", + "id": "7569", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -140108,7 +140216,7 @@ "end": "118663", "length": "28", "line": "3201", - "parentIndex": "7565", + "parentIndex": "7567", "start": "118636" }, "typeDescription": { @@ -140121,13 +140229,13 @@ "isStateVariable": true, "name": "L2_FUND_REQUEST", "nodeType": "VARIABLE_DECLARATION", - "scope": "7557", + "scope": "7559", "src": { "column": "4", "end": "118664", "length": "64", "line": "3201", - "parentIndex": "7557", + "parentIndex": "7559", "start": "118601" }, "stateMutability": "MUTABLE", @@ -140137,7 +140245,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "7566", + "id": "7568", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -140145,7 +140253,7 @@ "end": "118607", "length": "7", "line": "3201", - "parentIndex": "7565", + "parentIndex": "7567", "start": "118601" }, "typeDescription": { @@ -140159,7 +140267,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7571", + "id": "7573", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -140174,7 +140282,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4c315f54564c", - "id": "7575", + "id": "7577", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -140183,7 +140291,7 @@ "end": "118745", "length": "8", "line": "3204", - "parentIndex": "7573", + "parentIndex": "7575", "start": "118738" }, "typeDescription": { @@ -140197,7 +140305,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7574", + "id": "7576", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -140205,7 +140313,7 @@ "end": "118736", "length": "9", "line": "3204", - "parentIndex": "7573", + "parentIndex": "7575", "start": "118728" }, "typeDescription": { @@ -140214,7 +140322,7 @@ } } }, - "id": "7573", + "id": "7575", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -140222,7 +140330,7 @@ "end": "118746", "length": "19", "line": "3204", - "parentIndex": "7571", + "parentIndex": "7573", "start": "118728" }, "typeDescription": { @@ -140235,13 +140343,13 @@ "isStateVariable": true, "name": "L1_TVL", "nodeType": "VARIABLE_DECLARATION", - "scope": "7557", + "scope": "7559", "src": { "column": "4", "end": "118747", "length": "46", "line": "3204", - "parentIndex": "7557", + "parentIndex": "7559", "start": "118702" }, "stateMutability": "MUTABLE", @@ -140251,7 +140359,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "7572", + "id": "7574", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -140259,7 +140367,7 @@ "end": "118708", "length": "7", "line": "3204", - "parentIndex": "7571", + "parentIndex": "7573", "start": "118702" }, "typeDescription": { @@ -140273,7 +140381,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "7577", + "id": "7579", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -140288,7 +140396,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4c315f46554e445f5452414e534645525f5245504f5254", - "id": "7581", + "id": "7583", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -140297,7 +140405,7 @@ "end": "118830", "length": "25", "line": "3205", - "parentIndex": "7579", + "parentIndex": "7581", "start": "118806" }, "typeDescription": { @@ -140311,7 +140419,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "7580", + "id": "7582", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -140319,7 +140427,7 @@ "end": "118804", "length": "9", "line": "3205", - "parentIndex": "7579", + "parentIndex": "7581", "start": "118796" }, "typeDescription": { @@ -140328,7 +140436,7 @@ } } }, - "id": "7579", + "id": "7581", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -140336,7 +140444,7 @@ "end": "118831", "length": "36", "line": "3205", - "parentIndex": "7577", + "parentIndex": "7579", "start": "118796" }, "typeDescription": { @@ -140349,13 +140457,13 @@ "isStateVariable": true, "name": "L1_FUND_TRANSFER_REPORT", "nodeType": "VARIABLE_DECLARATION", - "scope": "7557", + "scope": "7559", "src": { "column": "4", "end": "118832", "length": "80", "line": "3205", - "parentIndex": "7557", + "parentIndex": "7559", "start": "118753" }, "stateMutability": "MUTABLE", @@ -140365,7 +140473,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "7578", + "id": "7580", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -140373,7 +140481,7 @@ "end": "118759", "length": "7", "line": "3205", - "parentIndex": "7577", + "parentIndex": "7579", "start": "118753" }, "typeDescription": { @@ -140389,7 +140497,7 @@ "end": "118834", "length": "395", "line": "3197", - "parentIndex": "7468", + "parentIndex": "7470", "start": "118440" } } diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1WormholeRouter.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1WormholeRouter.solgo.ast.json index 682f87e2..851041fa 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1WormholeRouter.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1WormholeRouter.solgo.ast.json @@ -1,8 +1,8 @@ { - "id": 6863, + "id": 6865, "base_contracts": [ { - "id": 6950, + "id": 6952, "node_type": 62, "src": { "line": 3084, @@ -10,10 +10,10 @@ "start": 114567, "end": 114580, "length": 14, - "parent_index": 6949 + "parent_index": 6951 }, "base_name": { - "id": 6951, + "id": 6953, "node_type": 52, "src": { "line": 3084, @@ -21,37 +21,37 @@ "start": 114567, "end": 114580, "length": 14, - "parent_index": 6949 + "parent_index": 6951 }, "name": "WormholeRouter", - "referenced_declaration": 6513 + "referenced_declaration": 6515 } } ], "license": "BUSL-1.1", "exported_symbols": [ { - "id": 6863, + "id": 6865, "name": "L1WormholeRouter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/L1WormholeRouter.sol" }, { - "id": 6695, + "id": 6697, "name": "IWormhole", "absolute_path": "IWormhole.sol" }, { - "id": 6695, + "id": 6697, "name": "L1Vault", "absolute_path": "L1Vault.sol" }, { - "id": 6695, + "id": 6697, "name": "WormholeRouter", "absolute_path": "WormholeRouter.sol" }, { - "id": 6695, + "id": 6697, "name": "Constants", "absolute_path": "Constants.sol" } @@ -61,7 +61,7 @@ "node_type": 1, "nodes": [ { - "id": 6890, + "id": 6892, "node_type": 10, "src": { "line": 3077, @@ -69,7 +69,7 @@ "start": 114333, "end": 114356, "length": 24, - "parent_index": 6863 + "parent_index": 6865 }, "literals": [ "pragma", @@ -85,7 +85,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 6945, + "id": 6947, "node_type": 29, "src": { "line": 3079, @@ -93,18 +93,18 @@ "start": 114359, "end": 114400, "length": 42, - "parent_index": 6863 + "parent_index": 6865 }, "absolute_path": "IWormhole.sol", "file": "./IWormhole.sol", - "scope": 6863, + "scope": 6865, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6695 + "source_unit": 6697 }, { - "id": 6946, + "id": 6948, "node_type": 29, "src": { "line": 3080, @@ -112,18 +112,18 @@ "start": 114402, "end": 114439, "length": 38, - "parent_index": 6863 + "parent_index": 6865 }, "absolute_path": "L1Vault.sol", "file": "./L1Vault.sol", - "scope": 6863, + "scope": 6865, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6695 + "source_unit": 6697 }, { - "id": 6947, + "id": 6949, "node_type": 29, "src": { "line": 3081, @@ -131,18 +131,18 @@ "start": 114441, "end": 114492, "length": 52, - "parent_index": 6863 + "parent_index": 6865 }, "absolute_path": "WormholeRouter.sol", "file": "./WormholeRouter.sol", - "scope": 6863, + "scope": 6865, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6695 + "source_unit": 6697 }, { - "id": 6948, + "id": 6950, "node_type": 29, "src": { "line": 3082, @@ -150,18 +150,18 @@ "start": 114494, "end": 114535, "length": 42, - "parent_index": 6863 + "parent_index": 6865 }, "absolute_path": "Constants.sol", "file": "./Constants.sol", - "scope": 6863, + "scope": 6865, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6695 + "source_unit": 6697 }, { - "id": 6949, + "id": 6951, "name": "L1WormholeRouter", "node_type": 35, "src": { @@ -170,7 +170,7 @@ "start": 114538, "end": 117225, "length": 2688, - "parent_index": 6863 + "parent_index": 6865 }, "name_location": { "line": 3084, @@ -178,14 +178,14 @@ "start": 114547, "end": 114562, "length": 16, - "parent_index": 6949 + "parent_index": 6951 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 6953, + "id": 6955, "name": "otherLayerWormholeId", "node_type": 42, "kind": 41, @@ -195,7 +195,7 @@ "start": 114588, "end": 114682, "length": 95, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3085, @@ -203,10 +203,10 @@ "start": 114597, "end": 114616, "length": 20, - "parent_index": 6953 + "parent_index": 6955 }, "body": { - "id": 6961, + "id": 6963, "node_type": 46, "kind": 0, "src": { @@ -215,12 +215,12 @@ "start": 114658, "end": 114682, "length": 25, - "parent_index": 6953 + "parent_index": 6955 }, "implemented": true, "statements": [ { - "id": 6962, + "id": 6964, "node_type": 47, "src": { "line": 3086, @@ -228,11 +228,11 @@ "start": 114668, "end": 114676, "length": 9, - "parent_index": 6953 + "parent_index": 6955 }, - "function_return_parameters": 6953, + "function_return_parameters": 6955, "expression": { - "id": 6963, + "id": 6965, "node_type": 17, "kind": 49, "value": "5", @@ -243,7 +243,7 @@ "start": 114675, "end": 114675, "length": 1, - "parent_index": 6962 + "parent_index": 6964 }, "type_description": { "type_identifier": "t_rational_5_by_1", @@ -251,7 +251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5" } } ] @@ -263,7 +264,7 @@ "modifiers": [], "overrides": [ { - "id": 6957, + "id": 6959, "node_type": 63, "src": { "line": 3085, @@ -271,7 +272,7 @@ "start": 114632, "end": 114639, "length": 8, - "parent_index": 6953 + "parent_index": 6955 }, "overrides": [], "referenced_declaration": 0, @@ -282,7 +283,7 @@ } ], "parameters": { - "id": 6954, + "id": 6956, "node_type": 43, "src": { "line": 3085, @@ -290,11 +291,11 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6953 + "parent_index": 6955 }, "parameters": [ { - "id": 6955, + "id": 6957, "node_type": 44, "src": { "line": 3085, @@ -302,12 +303,12 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6954 + "parent_index": 6956 }, - "scope": 6953, + "scope": 6955, "name": "", "type_name": { - "id": 6956, + "id": 6958, "node_type": 30, "src": { "line": 3085, @@ -315,7 +316,7 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6955 + "parent_index": 6957 }, "name": "uint16", "referenced_declaration": 0, @@ -341,7 +342,7 @@ ] }, "return_parameters": { - "id": 6958, + "id": 6960, "node_type": 43, "src": { "line": 3085, @@ -349,11 +350,11 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6953 + "parent_index": 6955 }, "parameters": [ { - "id": 6959, + "id": 6961, "node_type": 44, "src": { "line": 3085, @@ -361,12 +362,12 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6958 + "parent_index": 6960 }, - "scope": 6953, + "scope": 6955, "name": "", "type_name": { - "id": 6960, + "id": 6962, "node_type": 30, "src": { "line": 3085, @@ -374,7 +375,7 @@ "start": 114650, "end": 114655, "length": 6, - "parent_index": 6959 + "parent_index": 6961 }, "name": "uint16", "referenced_declaration": 0, @@ -401,14 +402,15 @@ }, "signature_raw": "otherLayerWormholeId(uint16)", "signature": "ea6e78ce", - "scope": 6949, + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_uint16$", "type_string": "function(uint16)" - } + }, + "text": "functionotherLayerWormholeId()publicpureoverridereturns(uint16){return5;}" }, { - "id": 6965, + "id": 6967, "node_type": 42, "src": { "line": 3089, @@ -416,7 +418,7 @@ "start": 114689, "end": 114773, "length": 85, - "parent_index": 6949 + "parent_index": 6951 }, "kind": 11, "state_mutability": 4, @@ -424,7 +426,7 @@ "implemented": true, "modifiers": [ { - "id": 6974, + "id": 6976, "name": "WormholeRouter", "node_type": 72, "kind": 72, @@ -434,7 +436,7 @@ "start": 114738, "end": 114770, "length": 33, - "parent_index": 6965 + "parent_index": 6967 }, "argument_types": [ { @@ -445,7 +447,7 @@ ], "arguments": [ { - "id": 6976, + "id": 6978, "node_type": 16, "src": { "line": 3089, @@ -453,7 +455,7 @@ "start": 114753, "end": 114758, "length": 6, - "parent_index": 6974 + "parent_index": 6976 }, "name": "_vault", "type_description": { @@ -461,11 +463,12 @@ "type_string": "contract L1Vault" }, "overloaded_declarations": [], - "referenced_declaration": 6976, - "is_pure": false + "referenced_declaration": 6978, + "is_pure": false, + "text": "_vault" }, { - "id": 6977, + "id": 6979, "node_type": 16, "src": { "line": 3089, @@ -473,20 +476,21 @@ "start": 114761, "end": 114769, "length": 9, - "parent_index": 6974 + "parent_index": 6976 }, "name": "_wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 6601, - "is_pure": false + "referenced_declaration": 6603, + "is_pure": false, + "text": "_wormhole" } ], "modifier_name": { - "id": 6975, + "id": 6977, "name": "WormholeRouter", "node_type": 0, "src": { @@ -495,13 +499,13 @@ "start": 114738, "end": 114751, "length": 14, - "parent_index": 6974 + "parent_index": 6976 } } } ], "parameters": { - "id": 6966, + "id": 6968, "node_type": 43, "src": { "line": 3089, @@ -509,11 +513,11 @@ "start": 114701, "end": 114735, "length": 35, - "parent_index": 6965 + "parent_index": 6967 }, "parameters": [ { - "id": 6967, + "id": 6969, "node_type": 44, "src": { "line": 3089, @@ -521,12 +525,12 @@ "start": 114701, "end": 114714, "length": 14, - "parent_index": 6966 + "parent_index": 6968 }, - "scope": 6965, + "scope": 6967, "name": "_vault", "type_name": { - "id": 6968, + "id": 6970, "node_type": 69, "src": { "line": 3089, @@ -534,10 +538,10 @@ "start": 114701, "end": 114707, "length": 7, - "parent_index": 6967 + "parent_index": 6969 }, "path_node": { - "id": 6969, + "id": 6971, "name": "L1Vault", "node_type": 52, "referenced_declaration": 441, @@ -547,7 +551,7 @@ "start": 114701, "end": 114707, "length": 7, - "parent_index": 6968 + "parent_index": 6970 }, "name_location": { "line": 3089, @@ -555,7 +559,7 @@ "start": 114701, "end": 114707, "length": 7, - "parent_index": 6968 + "parent_index": 6970 } }, "referenced_declaration": 441, @@ -573,7 +577,7 @@ } }, { - "id": 6970, + "id": 6972, "node_type": 44, "src": { "line": 3089, @@ -581,12 +585,12 @@ "start": 114717, "end": 114735, "length": 19, - "parent_index": 6966 + "parent_index": 6968 }, - "scope": 6965, + "scope": 6967, "name": "_wormhole", "type_name": { - "id": 6971, + "id": 6973, "node_type": 69, "src": { "line": 3089, @@ -594,10 +598,10 @@ "start": 114717, "end": 114725, "length": 9, - "parent_index": 6970 + "parent_index": 6972 }, "path_node": { - "id": 6972, + "id": 6974, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -607,7 +611,7 @@ "start": 114717, "end": 114725, "length": 9, - "parent_index": 6971 + "parent_index": 6973 }, "name_location": { "line": 3089, @@ -615,12 +619,12 @@ "start": 114717, "end": 114725, "length": 9, - "parent_index": 6971 + "parent_index": 6973 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, @@ -638,7 +642,7 @@ ] }, "return_parameters": { - "id": 6973, + "id": 6975, "node_type": 43, "src": { "line": 3089, @@ -646,14 +650,14 @@ "start": 114689, "end": 114773, "length": 85, - "parent_index": 6965 + "parent_index": 6967 }, "parameters": [], "parameter_types": [] }, - "scope": 6949, + "scope": 6951, "body": { - "id": 6978, + "id": 6980, "node_type": 46, "kind": 0, "src": { @@ -662,14 +666,14 @@ "start": 114772, "end": 114773, "length": 2, - "parent_index": 6965 + "parent_index": 6967 }, "implemented": true, "statements": [] } }, { - "id": 6980, + "id": 6982, "name": "reportTVL", "node_type": 42, "kind": 41, @@ -679,7 +683,7 @@ "start": 114953, "end": 115441, "length": 489, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3096, @@ -687,10 +691,10 @@ "start": 114962, "end": 114970, "length": 9, - "parent_index": 6980 + "parent_index": 6982 }, "body": { - "id": 6987, + "id": 6989, "node_type": 46, "kind": 0, "src": { @@ -699,12 +703,12 @@ "start": 115017, "end": 115441, "length": 425, - "parent_index": 6980 + "parent_index": 6982 }, "implemented": true, "statements": [ { - "id": 6988, + "id": 6990, "node_type": 24, "kind": 24, "src": { @@ -713,7 +717,7 @@ "start": 115027, "end": 115081, "length": 55, - "parent_index": 6987 + "parent_index": 6989 }, "argument_types": [ { @@ -727,7 +731,7 @@ ], "arguments": [ { - "id": 6990, + "id": 6992, "is_constant": false, "is_pure": false, "node_type": 19, @@ -737,11 +741,11 @@ "start": 115035, "end": 115062, "length": 28, - "parent_index": 6988 + "parent_index": 6990 }, "operator": 11, "left_expression": { - "id": 6991, + "id": 6993, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -753,7 +757,7 @@ "start": 115035, "end": 115044, "length": 10, - "parent_index": 6990 + "parent_index": 6992 }, "member_location": { "line": 3097, @@ -761,10 +765,10 @@ "start": 115039, "end": 115044, "length": 6, - "parent_index": 6991 + "parent_index": 6993 }, "expression": { - "id": 6992, + "id": 6994, "node_type": 16, "src": { "line": 3097, @@ -772,7 +776,7 @@ "start": 115035, "end": 115037, "length": 3, - "parent_index": 6991 + "parent_index": 6993 }, "name": "msg", "type_description": { @@ -781,17 +785,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 6993, + "id": 6995, "node_type": 24, "kind": 24, "src": { @@ -800,7 +806,7 @@ "start": 115049, "end": 115062, "length": 14, - "parent_index": 6990 + "parent_index": 6992 }, "argument_types": [ { @@ -810,7 +816,7 @@ ], "arguments": [ { - "id": 6996, + "id": 6998, "node_type": 16, "src": { "line": 3097, @@ -818,7 +824,7 @@ "start": 115057, "end": 115061, "length": 5, - "parent_index": 6993 + "parent_index": 6995 }, "name": "vault", "type_description": { @@ -827,11 +833,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 6994, + "id": 6996, "node_type": 16, "src": { "line": 3097, @@ -839,11 +846,11 @@ "start": 115049, "end": 115055, "length": 7, - "parent_index": 6993 + "parent_index": 6995 }, "name": "address", "type_name": { - "id": 6995, + "id": 6997, "node_type": 30, "src": { "line": 3097, @@ -851,7 +858,7 @@ "start": 115049, "end": 115055, "length": 7, - "parent_index": 6994 + "parent_index": 6996 }, "name": "address", "state_mutability": 4, @@ -873,7 +880,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -886,7 +894,7 @@ } }, { - "id": 6997, + "id": 6999, "node_type": 17, "kind": 50, "value": "WR: only vault", @@ -897,7 +905,7 @@ "start": 115065, "end": 115080, "length": 16, - "parent_index": 6988 + "parent_index": 6990 }, "type_description": { "type_identifier": "t_string_literal", @@ -911,11 +919,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: only vault\"" } ], "expression": { - "id": 6989, + "id": 6991, "node_type": 16, "src": { "line": 3097, @@ -923,7 +932,7 @@ "start": 115027, "end": 115033, "length": 7, - "parent_index": 6988 + "parent_index": 6990 }, "name": "require", "type_description": { @@ -932,7 +941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -940,7 +950,7 @@ } }, { - "id": 6998, + "id": 7000, "node_type": 44, "src": { "line": 3098, @@ -948,25 +958,25 @@ "start": 115092, "end": 115158, "length": 67, - "parent_index": 6987 + "parent_index": 6989 }, "assignments": [ - 6999 + 7001 ], "declarations": [ { - "id": 6999, + "id": 7001, "state_mutability": 1, "name": "payload", "node_type": 44, - "scope": 6987, + "scope": 6989, "src": { "line": 3098, "column": 8, "start": 115092, "end": 115111, "length": 20, - "parent_index": 6998 + "parent_index": 7000 }, "name_location": { "line": 3098, @@ -974,12 +984,12 @@ "start": 115105, "end": 115111, "length": 7, - "parent_index": 6999 + "parent_index": 7001 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7000, + "id": 7002, "node_type": 30, "src": { "line": 3098, @@ -987,7 +997,7 @@ "start": 115092, "end": 115096, "length": 5, - "parent_index": 6999 + "parent_index": 7001 }, "name": "bytes", "referenced_declaration": 0, @@ -1000,7 +1010,7 @@ } ], "initial_value": { - "id": 7001, + "id": 7003, "node_type": 24, "kind": 24, "src": { @@ -1009,7 +1019,7 @@ "start": 115115, "end": 115157, "length": 43, - "parent_index": 6998 + "parent_index": 7000 }, "argument_types": [ null, @@ -1024,7 +1034,7 @@ ], "arguments": [ { - "id": 7004, + "id": 7006, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1036,7 +1046,7 @@ "start": 115126, "end": 115141, "length": 16, - "parent_index": 7001 + "parent_index": 7003 }, "member_location": { "line": 3098, @@ -1044,10 +1054,10 @@ "start": 115136, "end": 115141, "length": 6, - "parent_index": 7004 + "parent_index": 7006 }, "expression": { - "id": 7005, + "id": 7007, "node_type": 16, "src": { "line": 3098, @@ -1055,27 +1065,29 @@ "start": 115126, "end": 115134, "length": 9, - "parent_index": 7004 + "parent_index": 7006 }, "name": "Constants", "type_description": { - "type_identifier": "t_contract$_Constants_$7468", + "type_identifier": "t_contract$_Constants_$7470", "type_string": "contract Constants" }, "overloaded_declarations": [], - "referenced_declaration": 7468, - "is_pure": false + "referenced_declaration": 7470, + "is_pure": false, + "text": "Constants" }, "member_name": "L1_TVL", "argument_types": [], - "referenced_declaration": 8164, + "referenced_declaration": 8168, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" - } + }, + "text": "Constants.L1_TVL" }, { - "id": 7006, + "id": 7008, "node_type": 16, "src": { "line": 3098, @@ -1083,7 +1095,7 @@ "start": 115144, "end": 115146, "length": 3, - "parent_index": 7001 + "parent_index": 7003 }, "name": "tvl", "type_description": { @@ -1091,11 +1103,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 7006, - "is_pure": false + "referenced_declaration": 7008, + "is_pure": false, + "text": "tvl" }, { - "id": 7007, + "id": 7009, "node_type": 16, "src": { "line": 3098, @@ -1103,7 +1116,7 @@ "start": 115149, "end": 115156, "length": 8, - "parent_index": 7001 + "parent_index": 7003 }, "name": "received", "type_description": { @@ -1111,18 +1124,19 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 7007, + "referenced_declaration": 7009, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "received" } ], "expression": { - "id": 7002, + "id": 7004, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1134,7 +1148,7 @@ "start": 115115, "end": 115124, "length": 10, - "parent_index": 7001 + "parent_index": 7003 }, "member_location": { "line": 3098, @@ -1142,10 +1156,10 @@ "start": 115119, "end": 115124, "length": 6, - "parent_index": 7002 + "parent_index": 7004 }, "expression": { - "id": 7003, + "id": 7005, "node_type": 16, "src": { "line": 3098, @@ -1153,7 +1167,7 @@ "start": 115115, "end": 115117, "length": 3, - "parent_index": 7002 + "parent_index": 7004 }, "name": "abi", "type_description": { @@ -1162,23 +1176,25 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { - "type_identifier": "t_function_$_t_unknown_7001$_t_uint256$_t_bool$", - "type_string": "function(unknown_7001,uint256,bool)" + "type_identifier": "t_function_$_t_unknown_7003$_t_uint256$_t_bool$", + "type_string": "function(unknown_7003,uint256,bool)" } } }, { - "id": 7008, + "id": 7010, "node_type": 44, "src": { "line": 3101, @@ -1186,25 +1202,25 @@ "start": 115285, "end": 115339, "length": 55, - "parent_index": 6987 + "parent_index": 6989 }, "assignments": [ - 7009 + 7011 ], "declarations": [ { - "id": 7009, + "id": 7011, "state_mutability": 1, "name": "sequence", "node_type": 44, - "scope": 6987, + "scope": 6989, "src": { "line": 3101, "column": 8, "start": 115285, "end": 115299, "length": 15, - "parent_index": 7008 + "parent_index": 7010 }, "name_location": { "line": 3101, @@ -1212,12 +1228,12 @@ "start": 115292, "end": 115299, "length": 8, - "parent_index": 7009 + "parent_index": 7011 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7010, + "id": 7012, "node_type": 30, "src": { "line": 3101, @@ -1225,7 +1241,7 @@ "start": 115285, "end": 115290, "length": 6, - "parent_index": 7009 + "parent_index": 7011 }, "name": "uint64", "referenced_declaration": 0, @@ -1238,7 +1254,7 @@ } ], "initial_value": { - "id": 7011, + "id": 7013, "node_type": 24, "kind": 24, "src": { @@ -1247,7 +1263,7 @@ "start": 115303, "end": 115338, "length": 36, - "parent_index": 7008 + "parent_index": 7010 }, "argument_types": [ { @@ -1257,7 +1273,7 @@ ], "arguments": [ { - "id": 7014, + "id": 7016, "node_type": 24, "kind": 24, "src": { @@ -1266,17 +1282,17 @@ "start": 115325, "end": 115337, "length": 13, - "parent_index": 7011 + "parent_index": 7013 }, "argument_types": [ { - "type_identifier": "t_contract$_L1WormholeRouter_$6863", + "type_identifier": "t_contract$_L1WormholeRouter_$6865", "type_string": "contract L1WormholeRouter" } ], "arguments": [ { - "id": 7017, + "id": 7019, "node_type": 16, "src": { "line": 3101, @@ -1284,20 +1300,21 @@ "start": 115333, "end": 115336, "length": 4, - "parent_index": 7014 + "parent_index": 7016 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_L1WormholeRouter_$6863", + "type_identifier": "t_contract$_L1WormholeRouter_$6865", "type_string": "contract L1WormholeRouter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 7015, + "id": 7017, "node_type": 16, "src": { "line": 3101, @@ -1305,11 +1322,11 @@ "start": 115325, "end": 115331, "length": 7, - "parent_index": 7014 + "parent_index": 7016 }, "name": "address", "type_name": { - "id": 7016, + "id": 7018, "node_type": 30, "src": { "line": 3101, @@ -1317,7 +1334,7 @@ "start": 115325, "end": 115331, "length": 7, - "parent_index": 7015 + "parent_index": 7017 }, "name": "address", "state_mutability": 4, @@ -1339,7 +1356,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1348,7 +1366,7 @@ } ], "expression": { - "id": 7012, + "id": 7014, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1360,7 +1378,7 @@ "start": 115303, "end": 115323, "length": 21, - "parent_index": 7011 + "parent_index": 7013 }, "member_location": { "line": 3101, @@ -1368,10 +1386,10 @@ "start": 115312, "end": 115323, "length": 12, - "parent_index": 7012 + "parent_index": 7014 }, "expression": { - "id": 7013, + "id": 7015, "node_type": 16, "src": { "line": 3101, @@ -1379,24 +1397,26 @@ "start": 115303, "end": 115310, "length": 8, - "parent_index": 7012 + "parent_index": 7014 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "nextSequence", "argument_types": [], - "referenced_declaration": 7012, + "referenced_declaration": 7462, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", - "type_string": "contract IWormhole" - } + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "wormhole.nextSequence" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -1405,7 +1425,7 @@ } }, { - "id": 7018, + "id": 7020, "node_type": 24, "kind": 24, "src": { @@ -1414,7 +1434,7 @@ "start": 115349, "end": 115434, "length": 86, - "parent_index": 6987 + "parent_index": 6989 }, "argument_types": [ { @@ -1432,7 +1452,7 @@ ], "arguments": [ { - "id": 7022, + "id": 7024, "node_type": 24, "kind": 24, "src": { @@ -1441,7 +1461,7 @@ "start": 115391, "end": 115406, "length": 16, - "parent_index": 7018 + "parent_index": 7020 }, "argument_types": [ { @@ -1451,7 +1471,7 @@ ], "arguments": [ { - "id": 7025, + "id": 7027, "node_type": 16, "src": { "line": 3102, @@ -1459,7 +1479,7 @@ "start": 115398, "end": 115405, "length": 8, - "parent_index": 7022 + "parent_index": 7024 }, "name": "sequence", "type_description": { @@ -1467,12 +1487,13 @@ "type_string": "uint64" }, "overloaded_declarations": [], - "referenced_declaration": 7008, - "is_pure": false + "referenced_declaration": 7010, + "is_pure": false, + "text": "sequence" } ], "expression": { - "id": 7023, + "id": 7025, "node_type": 16, "src": { "line": 3102, @@ -1480,11 +1501,11 @@ "start": 115391, "end": 115396, "length": 6, - "parent_index": 7022 + "parent_index": 7024 }, "name": "uint32", "type_name": { - "id": 7024, + "id": 7026, "node_type": 30, "src": { "line": 3102, @@ -1492,7 +1513,7 @@ "start": 115391, "end": 115396, "length": 6, - "parent_index": 7023 + "parent_index": 7025 }, "name": "uint32", "referenced_declaration": 0, @@ -1513,7 +1534,8 @@ "type_identifier": "t_uint32", "type_string": "uint32" } - ] + ], + "text": "uint32" }, "type_description": { "type_identifier": "t_function_$_t_uint64$", @@ -1521,7 +1543,7 @@ } }, { - "id": 7026, + "id": 7028, "node_type": 16, "src": { "line": 3102, @@ -1529,7 +1551,7 @@ "start": 115409, "end": 115415, "length": 7, - "parent_index": 7018 + "parent_index": 7020 }, "name": "payload", "type_description": { @@ -1537,17 +1559,18 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 6998, + "referenced_declaration": 7000, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_uint64$", "type_string": "function(uint64)" } - ] + ], + "text": "payload" }, { - "id": 7027, + "id": 7029, "node_type": 16, "src": { "line": 3102, @@ -1555,7 +1578,7 @@ "start": 115418, "end": 115433, "length": 16, - "parent_index": 7018 + "parent_index": 7020 }, "name": "consistencyLevel", "type_description": { @@ -1574,11 +1597,12 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "consistencyLevel" } ], "expression": { - "id": 7019, + "id": 7021, "node_type": 93, "kind": 93, "src": { @@ -1587,10 +1611,10 @@ "start": 115349, "end": 115389, "length": 41, - "parent_index": 7018 + "parent_index": 7020 }, "expression": { - "id": 7020, + "id": 7022, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1602,7 +1626,7 @@ "start": 115349, "end": 115371, "length": 23, - "parent_index": 7019 + "parent_index": 7021 }, "member_location": { "line": 3102, @@ -1610,10 +1634,10 @@ "start": 115358, "end": 115371, "length": 14, - "parent_index": 7020 + "parent_index": 7022 }, "expression": { - "id": 7021, + "id": 7023, "node_type": 16, "src": { "line": 3102, @@ -1621,29 +1645,31 @@ "start": 115349, "end": 115356, "length": 8, - "parent_index": 7020 + "parent_index": 7022 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "publishMessage", "argument_types": [], - "referenced_declaration": 7066, + "referenced_declaration": 7022, "type_description": { - "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "type_string": "function(uint32,bytes,uint8)" - } + "type_identifier": "t_contract$_IWormhole_$7310", + "type_string": "contract IWormhole" + }, + "text": "wormhole.publishMessage" }, - "referenced_declaration": 7066, + "referenced_declaration": 7022, "type_description": { - "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "type_string": "function(uint32,bytes,uint8)" + "type_identifier": "t_contract$_IWormhole_$7310", + "type_string": "contract IWormhole" } }, "type_description": { @@ -1660,7 +1686,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6981, + "id": 6983, "node_type": 43, "src": { "line": 3096, @@ -1668,11 +1694,11 @@ "start": 114972, "end": 114997, "length": 26, - "parent_index": 6980 + "parent_index": 6982 }, "parameters": [ { - "id": 6982, + "id": 6984, "node_type": 44, "src": { "line": 3096, @@ -1680,12 +1706,12 @@ "start": 114972, "end": 114982, "length": 11, - "parent_index": 6981 + "parent_index": 6983 }, - "scope": 6980, + "scope": 6982, "name": "tvl", "type_name": { - "id": 6983, + "id": 6985, "node_type": 30, "src": { "line": 3096, @@ -1693,7 +1719,7 @@ "start": 114972, "end": 114978, "length": 7, - "parent_index": 6982 + "parent_index": 6984 }, "name": "uint256", "referenced_declaration": 0, @@ -1711,7 +1737,7 @@ } }, { - "id": 6984, + "id": 6986, "node_type": 44, "src": { "line": 3096, @@ -1719,12 +1745,12 @@ "start": 114985, "end": 114997, "length": 13, - "parent_index": 6981 + "parent_index": 6983 }, - "scope": 6980, + "scope": 6982, "name": "received", "type_name": { - "id": 6985, + "id": 6987, "node_type": 30, "src": { "line": 3096, @@ -1732,7 +1758,7 @@ "start": 114985, "end": 114988, "length": 4, - "parent_index": 6984 + "parent_index": 6986 }, "name": "bool", "referenced_declaration": 0, @@ -1762,7 +1788,7 @@ ] }, "return_parameters": { - "id": 6986, + "id": 6988, "node_type": 43, "src": { "line": 3096, @@ -1770,21 +1796,22 @@ "start": 114953, "end": 115441, "length": 489, - "parent_index": 6980 + "parent_index": 6982 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "reportTVL(uint256, bool)", - "signature": "9353987b", - "scope": 6949, + "signature_raw": "reportTVL(uint256,bool)", + "signature": "3593d993", + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bool$", "type_string": "function(uint256,bool)" - } + }, + "text": "functionreportTVL(uint256tvl,boolreceived)externalpayable{require(msg.sender==address(vault),\"WR: only vault\");bytesmemorypayload=abi.encode(Constants.L1_TVL,tvl,received);uint64sequence=wormhole.nextSequence(address(this));wormhole.publishMessage{value:msg.value}(uint32(sequence),payload,consistencyLevel);}" }, { - "id": 7029, + "id": 7031, "name": "reportFundTransfer", "node_type": 42, "kind": 41, @@ -1794,7 +1821,7 @@ "start": 115520, "end": 115898, "length": 379, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3106, @@ -1802,10 +1829,10 @@ "start": 115529, "end": 115546, "length": 18, - "parent_index": 7029 + "parent_index": 7031 }, "body": { - "id": 7034, + "id": 7036, "node_type": 46, "kind": 0, "src": { @@ -1814,12 +1841,12 @@ "start": 115581, "end": 115898, "length": 318, - "parent_index": 7029 + "parent_index": 7031 }, "implemented": true, "statements": [ { - "id": 7035, + "id": 7037, "node_type": 24, "kind": 24, "src": { @@ -1828,7 +1855,7 @@ "start": 115591, "end": 115645, "length": 55, - "parent_index": 7034 + "parent_index": 7036 }, "argument_types": [ { @@ -1842,7 +1869,7 @@ ], "arguments": [ { - "id": 7037, + "id": 7039, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1852,11 +1879,11 @@ "start": 115599, "end": 115626, "length": 28, - "parent_index": 7035 + "parent_index": 7037 }, "operator": 11, "left_expression": { - "id": 7038, + "id": 7040, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1868,7 +1895,7 @@ "start": 115599, "end": 115608, "length": 10, - "parent_index": 7037 + "parent_index": 7039 }, "member_location": { "line": 3107, @@ -1876,10 +1903,10 @@ "start": 115603, "end": 115608, "length": 6, - "parent_index": 7038 + "parent_index": 7040 }, "expression": { - "id": 7039, + "id": 7041, "node_type": 16, "src": { "line": 3107, @@ -1887,7 +1914,7 @@ "start": 115599, "end": 115601, "length": 3, - "parent_index": 7038 + "parent_index": 7040 }, "name": "msg", "type_description": { @@ -1896,17 +1923,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 7040, + "id": 7042, "node_type": 24, "kind": 24, "src": { @@ -1915,7 +1944,7 @@ "start": 115613, "end": 115626, "length": 14, - "parent_index": 7037 + "parent_index": 7039 }, "argument_types": [ { @@ -1925,7 +1954,7 @@ ], "arguments": [ { - "id": 7043, + "id": 7045, "node_type": 16, "src": { "line": 3107, @@ -1933,7 +1962,7 @@ "start": 115621, "end": 115625, "length": 5, - "parent_index": 7040 + "parent_index": 7042 }, "name": "vault", "type_description": { @@ -1942,11 +1971,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 7041, + "id": 7043, "node_type": 16, "src": { "line": 3107, @@ -1954,11 +1984,11 @@ "start": 115613, "end": 115619, "length": 7, - "parent_index": 7040 + "parent_index": 7042 }, "name": "address", "type_name": { - "id": 7042, + "id": 7044, "node_type": 30, "src": { "line": 3107, @@ -1966,7 +1996,7 @@ "start": 115613, "end": 115619, "length": 7, - "parent_index": 7041 + "parent_index": 7043 }, "name": "address", "state_mutability": 4, @@ -1988,7 +2018,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2001,7 +2032,7 @@ } }, { - "id": 7044, + "id": 7046, "node_type": 17, "kind": 50, "value": "WR: only vault", @@ -2012,7 +2043,7 @@ "start": 115629, "end": 115644, "length": 16, - "parent_index": 7035 + "parent_index": 7037 }, "type_description": { "type_identifier": "t_string_literal", @@ -2026,11 +2057,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: only vault\"" } ], "expression": { - "id": 7036, + "id": 7038, "node_type": 16, "src": { "line": 3107, @@ -2038,7 +2070,7 @@ "start": 115591, "end": 115597, "length": 7, - "parent_index": 7035 + "parent_index": 7037 }, "name": "require", "type_description": { @@ -2047,7 +2079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2055,7 +2088,7 @@ } }, { - "id": 7045, + "id": 7047, "node_type": 44, "src": { "line": 3108, @@ -2063,25 +2096,25 @@ "start": 115656, "end": 115732, "length": 77, - "parent_index": 7034 + "parent_index": 7036 }, "assignments": [ - 7046 + 7048 ], "declarations": [ { - "id": 7046, + "id": 7048, "state_mutability": 1, "name": "payload", "node_type": 44, - "scope": 7034, + "scope": 7036, "src": { "line": 3108, "column": 8, "start": 115656, "end": 115675, "length": 20, - "parent_index": 7045 + "parent_index": 7047 }, "name_location": { "line": 3108, @@ -2089,12 +2122,12 @@ "start": 115669, "end": 115675, "length": 7, - "parent_index": 7046 + "parent_index": 7048 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7047, + "id": 7049, "node_type": 30, "src": { "line": 3108, @@ -2102,7 +2135,7 @@ "start": 115656, "end": 115660, "length": 5, - "parent_index": 7046 + "parent_index": 7048 }, "name": "bytes", "referenced_declaration": 0, @@ -2115,7 +2148,7 @@ } ], "initial_value": { - "id": 7048, + "id": 7050, "node_type": 24, "kind": 24, "src": { @@ -2124,7 +2157,7 @@ "start": 115679, "end": 115731, "length": 53, - "parent_index": 7045 + "parent_index": 7047 }, "argument_types": [ null, @@ -2135,7 +2168,7 @@ ], "arguments": [ { - "id": 7051, + "id": 7053, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2147,7 +2180,7 @@ "start": 115690, "end": 115722, "length": 33, - "parent_index": 7048 + "parent_index": 7050 }, "member_location": { "line": 3108, @@ -2155,10 +2188,10 @@ "start": 115700, "end": 115722, "length": 23, - "parent_index": 7051 + "parent_index": 7053 }, "expression": { - "id": 7052, + "id": 7054, "node_type": 16, "src": { "line": 3108, @@ -2166,27 +2199,29 @@ "start": 115690, "end": 115698, "length": 9, - "parent_index": 7051 + "parent_index": 7053 }, "name": "Constants", "type_description": { - "type_identifier": "t_contract$_Constants_$7468", + "type_identifier": "t_contract$_Constants_$7470", "type_string": "contract Constants" }, "overloaded_declarations": [], - "referenced_declaration": 7468, - "is_pure": false + "referenced_declaration": 7470, + "is_pure": false, + "text": "Constants" }, "member_name": "L1_FUND_TRANSFER_REPORT", "argument_types": [], - "referenced_declaration": 8169, + "referenced_declaration": 8173, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" - } + }, + "text": "Constants.L1_FUND_TRANSFER_REPORT" }, { - "id": 7053, + "id": 7055, "node_type": 16, "src": { "line": 3108, @@ -2194,7 +2229,7 @@ "start": 115725, "end": 115730, "length": 6, - "parent_index": 7048 + "parent_index": 7050 }, "name": "amount", "type_description": { @@ -2202,12 +2237,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 7053, - "is_pure": false + "referenced_declaration": 7055, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 7049, + "id": 7051, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2219,7 +2255,7 @@ "start": 115679, "end": 115688, "length": 10, - "parent_index": 7048 + "parent_index": 7050 }, "member_location": { "line": 3108, @@ -2227,10 +2263,10 @@ "start": 115683, "end": 115688, "length": 6, - "parent_index": 7049 + "parent_index": 7051 }, "expression": { - "id": 7050, + "id": 7052, "node_type": 16, "src": { "line": 3108, @@ -2238,7 +2274,7 @@ "start": 115679, "end": 115681, "length": 3, - "parent_index": 7049 + "parent_index": 7051 }, "name": "abi", "type_description": { @@ -2247,23 +2283,25 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { - "type_identifier": "t_function_$_t_unknown_7048$_t_uint256$", - "type_string": "function(unknown_7048,uint256)" + "type_identifier": "t_function_$_t_unknown_7050$_t_uint256$", + "type_string": "function(unknown_7050,uint256)" } } }, { - "id": 7054, + "id": 7056, "node_type": 44, "src": { "line": 3109, @@ -2271,25 +2309,25 @@ "start": 115742, "end": 115796, "length": 55, - "parent_index": 7034 + "parent_index": 7036 }, "assignments": [ - 7055 + 7057 ], "declarations": [ { - "id": 7055, + "id": 7057, "state_mutability": 1, "name": "sequence", "node_type": 44, - "scope": 7034, + "scope": 7036, "src": { "line": 3109, "column": 8, "start": 115742, "end": 115756, "length": 15, - "parent_index": 7054 + "parent_index": 7056 }, "name_location": { "line": 3109, @@ -2297,12 +2335,12 @@ "start": 115749, "end": 115756, "length": 8, - "parent_index": 7055 + "parent_index": 7057 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7056, + "id": 7058, "node_type": 30, "src": { "line": 3109, @@ -2310,7 +2348,7 @@ "start": 115742, "end": 115747, "length": 6, - "parent_index": 7055 + "parent_index": 7057 }, "name": "uint64", "referenced_declaration": 0, @@ -2323,7 +2361,7 @@ } ], "initial_value": { - "id": 7057, + "id": 7059, "node_type": 24, "kind": 24, "src": { @@ -2332,7 +2370,7 @@ "start": 115760, "end": 115795, "length": 36, - "parent_index": 7054 + "parent_index": 7056 }, "argument_types": [ { @@ -2342,7 +2380,7 @@ ], "arguments": [ { - "id": 7060, + "id": 7062, "node_type": 24, "kind": 24, "src": { @@ -2351,17 +2389,17 @@ "start": 115782, "end": 115794, "length": 13, - "parent_index": 7057 + "parent_index": 7059 }, "argument_types": [ { - "type_identifier": "t_contract$_L1WormholeRouter_$6863", + "type_identifier": "t_contract$_L1WormholeRouter_$6865", "type_string": "contract L1WormholeRouter" } ], "arguments": [ { - "id": 7063, + "id": 7065, "node_type": 16, "src": { "line": 3109, @@ -2369,20 +2407,21 @@ "start": 115790, "end": 115793, "length": 4, - "parent_index": 7060 + "parent_index": 7062 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_L1WormholeRouter_$6863", + "type_identifier": "t_contract$_L1WormholeRouter_$6865", "type_string": "contract L1WormholeRouter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 7061, + "id": 7063, "node_type": 16, "src": { "line": 3109, @@ -2390,11 +2429,11 @@ "start": 115782, "end": 115788, "length": 7, - "parent_index": 7060 + "parent_index": 7062 }, "name": "address", "type_name": { - "id": 7062, + "id": 7064, "node_type": 30, "src": { "line": 3109, @@ -2402,7 +2441,7 @@ "start": 115782, "end": 115788, "length": 7, - "parent_index": 7061 + "parent_index": 7063 }, "name": "address", "state_mutability": 4, @@ -2424,7 +2463,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2433,7 +2473,7 @@ } ], "expression": { - "id": 7058, + "id": 7060, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2445,7 +2485,7 @@ "start": 115760, "end": 115780, "length": 21, - "parent_index": 7057 + "parent_index": 7059 }, "member_location": { "line": 3109, @@ -2453,10 +2493,10 @@ "start": 115769, "end": 115780, "length": 12, - "parent_index": 7058 + "parent_index": 7060 }, "expression": { - "id": 7059, + "id": 7061, "node_type": 16, "src": { "line": 3109, @@ -2464,24 +2504,26 @@ "start": 115760, "end": 115767, "length": 8, - "parent_index": 7058 + "parent_index": 7060 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "nextSequence", "argument_types": [], - "referenced_declaration": 7012, + "referenced_declaration": 7014, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", - "type_string": "contract IWormhole" - } + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "wormhole.nextSequence" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -2490,7 +2532,7 @@ } }, { - "id": 7064, + "id": 7066, "node_type": 24, "kind": 24, "src": { @@ -2499,7 +2541,7 @@ "start": 115806, "end": 115891, "length": 86, - "parent_index": 7034 + "parent_index": 7036 }, "argument_types": [ { @@ -2517,7 +2559,7 @@ ], "arguments": [ { - "id": 7068, + "id": 7070, "node_type": 24, "kind": 24, "src": { @@ -2526,7 +2568,7 @@ "start": 115848, "end": 115863, "length": 16, - "parent_index": 7064 + "parent_index": 7066 }, "argument_types": [ { @@ -2536,7 +2578,7 @@ ], "arguments": [ { - "id": 7071, + "id": 7073, "node_type": 16, "src": { "line": 3110, @@ -2544,7 +2586,7 @@ "start": 115855, "end": 115862, "length": 8, - "parent_index": 7068 + "parent_index": 7070 }, "name": "sequence", "type_description": { @@ -2552,12 +2594,13 @@ "type_string": "uint64" }, "overloaded_declarations": [], - "referenced_declaration": 7054, - "is_pure": false + "referenced_declaration": 7056, + "is_pure": false, + "text": "sequence" } ], "expression": { - "id": 7069, + "id": 7071, "node_type": 16, "src": { "line": 3110, @@ -2565,11 +2608,11 @@ "start": 115848, "end": 115853, "length": 6, - "parent_index": 7068 + "parent_index": 7070 }, "name": "uint32", "type_name": { - "id": 7070, + "id": 7072, "node_type": 30, "src": { "line": 3110, @@ -2577,7 +2620,7 @@ "start": 115848, "end": 115853, "length": 6, - "parent_index": 7069 + "parent_index": 7071 }, "name": "uint32", "referenced_declaration": 0, @@ -2598,7 +2641,8 @@ "type_identifier": "t_uint32", "type_string": "uint32" } - ] + ], + "text": "uint32" }, "type_description": { "type_identifier": "t_function_$_t_uint64$", @@ -2606,7 +2650,7 @@ } }, { - "id": 7072, + "id": 7074, "node_type": 16, "src": { "line": 3110, @@ -2614,7 +2658,7 @@ "start": 115866, "end": 115872, "length": 7, - "parent_index": 7064 + "parent_index": 7066 }, "name": "payload", "type_description": { @@ -2622,17 +2666,18 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 7045, + "referenced_declaration": 7047, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_uint64$", "type_string": "function(uint64)" } - ] + ], + "text": "payload" }, { - "id": 7073, + "id": 7075, "node_type": 16, "src": { "line": 3110, @@ -2640,7 +2685,7 @@ "start": 115875, "end": 115890, "length": 16, - "parent_index": 7064 + "parent_index": 7066 }, "name": "consistencyLevel", "type_description": { @@ -2659,11 +2704,12 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "consistencyLevel" } ], "expression": { - "id": 7065, + "id": 7067, "node_type": 93, "kind": 93, "src": { @@ -2672,10 +2718,10 @@ "start": 115806, "end": 115846, "length": 41, - "parent_index": 7064 + "parent_index": 7066 }, "expression": { - "id": 7066, + "id": 7068, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2687,7 +2733,7 @@ "start": 115806, "end": 115828, "length": 23, - "parent_index": 7065 + "parent_index": 7067 }, "member_location": { "line": 3110, @@ -2695,10 +2741,10 @@ "start": 115815, "end": 115828, "length": 14, - "parent_index": 7066 + "parent_index": 7068 }, "expression": { - "id": 7067, + "id": 7069, "node_type": 16, "src": { "line": 3110, @@ -2706,29 +2752,31 @@ "start": 115806, "end": 115813, "length": 8, - "parent_index": 7066 + "parent_index": 7068 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "publishMessage", "argument_types": [], - "referenced_declaration": 7433, + "referenced_declaration": 7022, "type_description": { - "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "type_string": "function(uint32,bytes,uint8)" - } + "type_identifier": "t_contract$_IWormhole_$7310", + "type_string": "contract IWormhole" + }, + "text": "wormhole.publishMessage" }, - "referenced_declaration": 7433, + "referenced_declaration": 7022, "type_description": { - "type_identifier": "t_function_$_t_uint32$_t_bytes$_t_uint8$", - "type_string": "function(uint32,bytes,uint8)" + "type_identifier": "t_contract$_IWormhole_$7310", + "type_string": "contract IWormhole" } }, "type_description": { @@ -2745,7 +2793,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7030, + "id": 7032, "node_type": 43, "src": { "line": 3106, @@ -2753,11 +2801,11 @@ "start": 115548, "end": 115561, "length": 14, - "parent_index": 7029 + "parent_index": 7031 }, "parameters": [ { - "id": 7031, + "id": 7033, "node_type": 44, "src": { "line": 3106, @@ -2765,12 +2813,12 @@ "start": 115548, "end": 115561, "length": 14, - "parent_index": 7030 + "parent_index": 7032 }, - "scope": 7029, + "scope": 7031, "name": "amount", "type_name": { - "id": 7032, + "id": 7034, "node_type": 30, "src": { "line": 3106, @@ -2778,7 +2826,7 @@ "start": 115548, "end": 115554, "length": 7, - "parent_index": 7031 + "parent_index": 7033 }, "name": "uint256", "referenced_declaration": 0, @@ -2804,7 +2852,7 @@ ] }, "return_parameters": { - "id": 7033, + "id": 7035, "node_type": 43, "src": { "line": 3106, @@ -2812,21 +2860,22 @@ "start": 115520, "end": 115898, "length": 379, - "parent_index": 7029 + "parent_index": 7031 }, "parameters": [], "parameter_types": [] }, "signature_raw": "reportFundTransfer(uint256)", "signature": "6c5af8c7", - "scope": 6949, + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionreportFundTransfer(uint256amount)externalpayable{require(msg.sender==address(vault),\"WR: only vault\");bytesmemorypayload=abi.encode(Constants.L1_FUND_TRANSFER_REPORT,amount);uint64sequence=wormhole.nextSequence(address(this));wormhole.publishMessage{value:msg.value}(uint32(sequence),payload,consistencyLevel);}" }, { - "id": 7075, + "id": 7077, "name": "receiveFunds", "node_type": 42, "kind": 41, @@ -2836,7 +2885,7 @@ "start": 116104, "end": 116634, "length": 531, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3118, @@ -2844,10 +2893,10 @@ "start": 116113, "end": 116124, "length": 12, - "parent_index": 7075 + "parent_index": 7077 }, "body": { - "id": 7082, + "id": 7084, "node_type": 46, "kind": 0, "src": { @@ -2856,12 +2905,12 @@ "start": 116180, "end": 116634, "length": 455, - "parent_index": 7075 + "parent_index": 7077 }, "implemented": true, "statements": [ { - "id": 7083, + "id": 7085, "node_type": 44, "src": { "line": 3119, @@ -2869,27 +2918,27 @@ "start": 116190, "end": 116285, "length": 96, - "parent_index": 7082 + "parent_index": 7084 }, "assignments": [ - 7084, - 7087, - 7089 + 7086, + 7089, + 7091 ], "declarations": [ { - "id": 7084, + "id": 7086, "state_mutability": 1, "name": "vm", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3119, "column": 9, "start": 116191, "end": 116212, "length": 22, - "parent_index": 7083 + "parent_index": 7085 }, "name_location": { "line": 3119, @@ -2897,12 +2946,12 @@ "start": 116211, "end": 116212, "length": 2, - "parent_index": 7084 + "parent_index": 7086 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7085, + "id": 7087, "node_type": 69, "src": { "line": 3119, @@ -2910,10 +2959,10 @@ "start": 116191, "end": 116202, "length": 12, - "parent_index": 7084 + "parent_index": 7086 }, "path_node": { - "id": 7086, + "id": 7088, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -2923,7 +2972,7 @@ "start": 116191, "end": 116202, "length": 12, - "parent_index": 7085 + "parent_index": 7087 }, "name_location": { "line": 3119, @@ -2931,30 +2980,30 @@ "start": 116191, "end": 116199, "length": 9, - "parent_index": 7085 + "parent_index": 7087 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, "visibility": 1 }, { - "id": 7087, + "id": 7089, "state_mutability": 1, "name": "valid", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3119, "column": 33, "start": 116215, "end": 116224, "length": 10, - "parent_index": 7083 + "parent_index": 7085 }, "name_location": { "line": 3119, @@ -2962,12 +3011,12 @@ "start": 116220, "end": 116224, "length": 5, - "parent_index": 7087 + "parent_index": 7089 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7088, + "id": 7090, "node_type": 30, "src": { "line": 3119, @@ -2975,7 +3024,7 @@ "start": 116215, "end": 116218, "length": 4, - "parent_index": 7087 + "parent_index": 7089 }, "name": "bool", "referenced_declaration": 0, @@ -2987,18 +3036,18 @@ "visibility": 1 }, { - "id": 7089, + "id": 7091, "state_mutability": 1, "name": "reason", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3119, "column": 45, "start": 116227, "end": 116246, "length": 20, - "parent_index": 7083 + "parent_index": 7085 }, "name_location": { "line": 3119, @@ -3006,12 +3055,12 @@ "start": 116241, "end": 116246, "length": 6, - "parent_index": 7089 + "parent_index": 7091 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7090, + "id": 7092, "node_type": 30, "src": { "line": 3119, @@ -3019,7 +3068,7 @@ "start": 116227, "end": 116232, "length": 6, - "parent_index": 7089 + "parent_index": 7091 }, "name": "string", "referenced_declaration": 0, @@ -3032,7 +3081,7 @@ } ], "initial_value": { - "id": 7091, + "id": 7093, "node_type": 24, "kind": 24, "src": { @@ -3041,7 +3090,7 @@ "start": 116251, "end": 116284, "length": 34, - "parent_index": 7083 + "parent_index": 7085 }, "argument_types": [ { @@ -3051,7 +3100,7 @@ ], "arguments": [ { - "id": 7094, + "id": 7096, "node_type": 16, "src": { "line": 3119, @@ -3059,7 +3108,7 @@ "start": 116277, "end": 116283, "length": 7, - "parent_index": 7091 + "parent_index": 7093 }, "name": "message", "type_description": { @@ -3067,12 +3116,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 7094, - "is_pure": false + "referenced_declaration": 7096, + "is_pure": false, + "text": "message" } ], "expression": { - "id": 7092, + "id": 7094, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3084,7 +3134,7 @@ "start": 116251, "end": 116275, "length": 25, - "parent_index": 7091 + "parent_index": 7093 }, "member_location": { "line": 3119, @@ -3092,10 +3142,10 @@ "start": 116260, "end": 116275, "length": 16, - "parent_index": 7092 + "parent_index": 7094 }, "expression": { - "id": 7093, + "id": 7095, "node_type": 16, "src": { "line": 3119, @@ -3103,24 +3153,26 @@ "start": 116251, "end": 116258, "length": 8, - "parent_index": 7092 + "parent_index": 7094 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "parseAndVerifyVM", "argument_types": [], - "referenced_declaration": 7154, + "referenced_declaration": 7156, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "wormhole.parseAndVerifyVM" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3129,7 +3181,7 @@ } }, { - "id": 7095, + "id": 7097, "node_type": 24, "kind": 24, "src": { @@ -3138,7 +3190,7 @@ "start": 116295, "end": 116316, "length": 22, - "parent_index": 7082 + "parent_index": 7084 }, "argument_types": [ { @@ -3152,7 +3204,7 @@ ], "arguments": [ { - "id": 7097, + "id": 7099, "node_type": 16, "src": { "line": 3120, @@ -3160,7 +3212,7 @@ "start": 116303, "end": 116307, "length": 5, - "parent_index": 7095 + "parent_index": 7097 }, "name": "valid", "type_description": { @@ -3168,11 +3220,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 7083, - "is_pure": false + "referenced_declaration": 7085, + "is_pure": false, + "text": "valid" }, { - "id": 7098, + "id": 7100, "node_type": 16, "src": { "line": 3120, @@ -3180,7 +3233,7 @@ "start": 116310, "end": 116315, "length": 6, - "parent_index": 7095 + "parent_index": 7097 }, "name": "reason", "type_description": { @@ -3188,18 +3241,19 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 7083, + "referenced_declaration": 7085, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "reason" } ], "expression": { - "id": 7096, + "id": 7098, "node_type": 16, "src": { "line": 3120, @@ -3207,7 +3261,7 @@ "start": 116295, "end": 116301, "length": 7, - "parent_index": 7095 + "parent_index": 7097 }, "name": "require", "type_description": { @@ -3216,7 +3270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -3224,7 +3279,7 @@ } }, { - "id": 7099, + "id": 7101, "node_type": 24, "kind": 24, "src": { @@ -3233,17 +3288,17 @@ "start": 116327, "end": 116361, "length": 35, - "parent_index": 7082 + "parent_index": 7084 }, "argument_types": [ { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } ], "arguments": [ { - "id": 7101, + "id": 7103, "node_type": 16, "src": { "line": 3121, @@ -3251,20 +3306,21 @@ "start": 116359, "end": 116360, "length": 2, - "parent_index": 7099 + "parent_index": 7101 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" } ], "expression": { - "id": 7100, + "id": 7102, "node_type": 16, "src": { "line": 3121, @@ -3272,7 +3328,7 @@ "start": 116327, "end": 116357, "length": 31, - "parent_index": 7099 + "parent_index": 7101 }, "name": "_validateWormholeMessageEmitter", "type_description": { @@ -3281,7 +3337,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_validateWormholeMessageEmitter" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3289,7 +3346,7 @@ } }, { - "id": 7102, + "id": 7104, "node_type": 27, "src": { "line": 3122, @@ -3297,10 +3354,10 @@ "start": 116372, "end": 116401, "length": 30, - "parent_index": 7082 + "parent_index": 7084 }, "expression": { - "id": 7103, + "id": 7105, "node_type": 27, "src": { "line": 3122, @@ -3308,11 +3365,11 @@ "start": 116372, "end": 116400, "length": 29, - "parent_index": 7102 + "parent_index": 7104 }, "operator": 11, "left_expression": { - "id": 7104, + "id": 7106, "node_type": 16, "src": { "line": 3122, @@ -3320,7 +3377,7 @@ "start": 116372, "end": 116385, "length": 14, - "parent_index": 7103 + "parent_index": 7105 }, "name": "nextValidNonce", "type_description": { @@ -3328,11 +3385,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6651, - "is_pure": false + "referenced_declaration": 6653, + "is_pure": false, + "text": "nextValidNonce" }, "right_expression": { - "id": 7105, + "id": 7107, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3342,11 +3400,11 @@ "start": 116389, "end": 116400, "length": 12, - "parent_index": 7103 + "parent_index": 7105 }, "operator": 1, "left_expression": { - "id": 7106, + "id": 7108, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3358,7 +3416,7 @@ "start": 116389, "end": 116396, "length": 8, - "parent_index": 7105 + "parent_index": 7107 }, "member_location": { "line": 3122, @@ -3366,10 +3424,10 @@ "start": 116392, "end": 116396, "length": 5, - "parent_index": 7106 + "parent_index": 7108 }, "expression": { - "id": 7107, + "id": 7109, "node_type": 16, "src": { "line": 3122, @@ -3377,27 +3435,29 @@ "start": 116389, "end": 116390, "length": 2, - "parent_index": 7106 + "parent_index": 7108 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "nonce", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.nonce" }, "right_expression": { - "id": 7108, + "id": 7110, "node_type": 17, "kind": 49, "value": "1", @@ -3408,7 +3468,7 @@ "start": 116400, "end": 116400, "length": 1, - "parent_index": 7105 + "parent_index": 7107 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -3416,10 +3476,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" } }, @@ -3431,10 +3492,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextValidNonce=vm.nonce+1;" }, { - "id": 7109, + "id": 7111, "node_type": 44, "src": { "line": 3123, @@ -3442,26 +3504,26 @@ "start": 116411, "end": 116489, "length": 79, - "parent_index": 7082 + "parent_index": 7084 }, "assignments": [ - 7110, - 7112 + 7112, + 7114 ], "declarations": [ { - "id": 7110, + "id": 7112, "state_mutability": 1, "name": "msgType", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3123, "column": 9, "start": 116412, "end": 116426, "length": 15, - "parent_index": 7109 + "parent_index": 7111 }, "name_location": { "line": 3123, @@ -3469,12 +3531,12 @@ "start": 116420, "end": 116426, "length": 7, - "parent_index": 7110 + "parent_index": 7112 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7111, + "id": 7113, "node_type": 30, "src": { "line": 3123, @@ -3482,7 +3544,7 @@ "start": 116412, "end": 116418, "length": 7, - "parent_index": 7110 + "parent_index": 7112 }, "name": "bytes32", "referenced_declaration": 0, @@ -3494,18 +3556,18 @@ "visibility": 1 }, { - "id": 7112, + "id": 7114, "state_mutability": 1, "name": "amount", "node_type": 44, - "scope": 7082, + "scope": 7084, "src": { "line": 3123, "column": 26, "start": 116429, "end": 116442, "length": 14, - "parent_index": 7109 + "parent_index": 7111 }, "name_location": { "line": 3123, @@ -3513,12 +3575,12 @@ "start": 116437, "end": 116442, "length": 6, - "parent_index": 7112 + "parent_index": 7114 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7113, + "id": 7115, "node_type": 30, "src": { "line": 3123, @@ -3526,7 +3588,7 @@ "start": 116429, "end": 116435, "length": 7, - "parent_index": 7112 + "parent_index": 7114 }, "name": "uint256", "referenced_declaration": 0, @@ -3539,7 +3601,7 @@ } ], "initial_value": { - "id": 7114, + "id": 7116, "node_type": 24, "kind": 24, "src": { @@ -3548,7 +3610,7 @@ "start": 116447, "end": 116488, "length": 42, - "parent_index": 7109 + "parent_index": 7111 }, "argument_types": [ { @@ -3562,7 +3624,7 @@ ], "arguments": [ { - "id": 7117, + "id": 7119, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3574,7 +3636,7 @@ "start": 116458, "end": 116467, "length": 10, - "parent_index": 7114 + "parent_index": 7116 }, "member_location": { "line": 3123, @@ -3582,10 +3644,10 @@ "start": 116461, "end": 116467, "length": 7, - "parent_index": 7117 + "parent_index": 7119 }, "expression": { - "id": 7118, + "id": 7120, "node_type": 16, "src": { "line": 3123, @@ -3593,27 +3655,29 @@ "start": 116458, "end": 116459, "length": 2, - "parent_index": 7117 + "parent_index": 7119 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "payload", "argument_types": [], - "referenced_declaration": 6998, + "referenced_declaration": 7000, "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "vm.payload" }, { - "id": 7119, + "id": 7121, "node_type": 60, "src": { "line": 3123, @@ -3621,13 +3685,13 @@ "start": 116470, "end": 116487, "length": 18, - "parent_index": 7114 + "parent_index": 7116 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 7120, + "id": 7122, "node_type": 16, "src": { "line": 3123, @@ -3635,11 +3699,11 @@ "start": 116471, "end": 116477, "length": 7, - "parent_index": 7119 + "parent_index": 7121 }, "name": "bytes32", "type_name": { - "id": 7121, + "id": 7123, "node_type": 30, "src": { "line": 3123, @@ -3647,7 +3711,7 @@ "start": 116471, "end": 116477, "length": 7, - "parent_index": 7120 + "parent_index": 7122 }, "name": "bytes32", "referenced_declaration": 0, @@ -3662,10 +3726,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bytes32" }, { - "id": 7122, + "id": 7124, "node_type": 16, "src": { "line": 3123, @@ -3673,11 +3738,11 @@ "start": 116480, "end": 116486, "length": 7, - "parent_index": 7119 + "parent_index": 7121 }, "name": "uint256", "type_name": { - "id": 7123, + "id": 7125, "node_type": 30, "src": { "line": 3123, @@ -3685,7 +3750,7 @@ "start": 116480, "end": 116486, "length": 7, - "parent_index": 7122 + "parent_index": 7124 }, "name": "uint256", "referenced_declaration": 0, @@ -3700,7 +3765,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint256" } ], "type_description": { @@ -3710,7 +3776,7 @@ } ], "expression": { - "id": 7115, + "id": 7117, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3722,7 +3788,7 @@ "start": 116447, "end": 116456, "length": 10, - "parent_index": 7114 + "parent_index": 7116 }, "member_location": { "line": 3123, @@ -3730,10 +3796,10 @@ "start": 116451, "end": 116456, "length": 6, - "parent_index": 7115 + "parent_index": 7117 }, "expression": { - "id": 7116, + "id": 7118, "node_type": 16, "src": { "line": 3123, @@ -3741,7 +3807,7 @@ "start": 116447, "end": 116449, "length": 3, - "parent_index": 7115 + "parent_index": 7117 }, "name": "abi", "type_description": { @@ -3750,14 +3816,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bytes32_$_t_uint256$", @@ -3766,7 +3834,7 @@ } }, { - "id": 7124, + "id": 7126, "node_type": 24, "kind": 24, "src": { @@ -3775,7 +3843,7 @@ "start": 116499, "end": 116571, "length": 73, - "parent_index": 7082 + "parent_index": 7084 }, "argument_types": [ { @@ -3789,7 +3857,7 @@ ], "arguments": [ { - "id": 7126, + "id": 7128, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3799,11 +3867,11 @@ "start": 116507, "end": 116550, "length": 44, - "parent_index": 7124 + "parent_index": 7126 }, "operator": 11, "left_expression": { - "id": 7127, + "id": 7129, "node_type": 16, "src": { "line": 3124, @@ -3811,7 +3879,7 @@ "start": 116507, "end": 116513, "length": 7, - "parent_index": 7126 + "parent_index": 7128 }, "name": "msgType", "type_description": { @@ -3819,11 +3887,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 7109, - "is_pure": false + "referenced_declaration": 7111, + "is_pure": false, + "text": "msgType" }, "right_expression": { - "id": 7128, + "id": 7130, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3835,7 +3904,7 @@ "start": 116518, "end": 116550, "length": 33, - "parent_index": 7126 + "parent_index": 7128 }, "member_location": { "line": 3124, @@ -3843,10 +3912,10 @@ "start": 116528, "end": 116550, "length": 23, - "parent_index": 7128 + "parent_index": 7130 }, "expression": { - "id": 7129, + "id": 7131, "node_type": 16, "src": { "line": 3124, @@ -3854,24 +3923,26 @@ "start": 116518, "end": 116526, "length": 9, - "parent_index": 7128 + "parent_index": 7130 }, "name": "Constants", "type_description": { - "type_identifier": "t_contract$_Constants_$7468", + "type_identifier": "t_contract$_Constants_$7470", "type_string": "contract Constants" }, "overloaded_declarations": [], - "referenced_declaration": 7468, - "is_pure": false + "referenced_declaration": 7470, + "is_pure": false, + "text": "Constants" }, "member_name": "L2_FUND_TRANSFER_REPORT", "argument_types": [], - "referenced_declaration": 8154, + "referenced_declaration": 8158, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" - } + }, + "text": "Constants.L2_FUND_TRANSFER_REPORT" }, "type_description": { "type_identifier": "t_bool", @@ -3879,7 +3950,7 @@ } }, { - "id": 7130, + "id": 7132, "node_type": 17, "kind": 50, "value": "WR: bad msg type", @@ -3890,7 +3961,7 @@ "start": 116553, "end": 116570, "length": 18, - "parent_index": 7124 + "parent_index": 7126 }, "type_description": { "type_identifier": "t_string_literal", @@ -3904,11 +3975,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: bad msg type\"" } ], "expression": { - "id": 7125, + "id": 7127, "node_type": 16, "src": { "line": 3124, @@ -3916,7 +3988,7 @@ "start": 116499, "end": 116505, "length": 7, - "parent_index": 7124 + "parent_index": 7126 }, "name": "require", "type_description": { @@ -3925,7 +3997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3933,7 +4006,7 @@ } }, { - "id": 7131, + "id": 7133, "node_type": 24, "kind": 24, "src": { @@ -3942,7 +4015,7 @@ "start": 116583, "end": 116627, "length": 45, - "parent_index": 7082 + "parent_index": 7084 }, "argument_types": [ { @@ -3956,7 +4029,7 @@ ], "arguments": [ { - "id": 7136, + "id": 7138, "node_type": 16, "src": { "line": 3126, @@ -3964,7 +4037,7 @@ "start": 116615, "end": 116620, "length": 6, - "parent_index": 7131 + "parent_index": 7133 }, "name": "amount", "type_description": { @@ -3972,11 +4045,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 7109, - "is_pure": false + "referenced_declaration": 7111, + "is_pure": false, + "text": "amount" }, { - "id": 7137, + "id": 7139, "node_type": 16, "src": { "line": 3126, @@ -3984,7 +4058,7 @@ "start": 116623, "end": 116626, "length": 4, - "parent_index": 7131 + "parent_index": 7133 }, "name": "data", "type_description": { @@ -3992,18 +4066,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 7137, + "referenced_declaration": 7139, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { - "id": 7132, + "id": 7134, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4015,7 +4090,7 @@ "start": 116583, "end": 116613, "length": 31, - "parent_index": 7131 + "parent_index": 7133 }, "member_location": { "line": 3126, @@ -4023,10 +4098,10 @@ "start": 116604, "end": 116613, "length": 10, - "parent_index": 7132 + "parent_index": 7134 }, "expression": { - "id": 7133, + "id": 7135, "node_type": 24, "kind": 24, "src": { @@ -4035,12 +4110,12 @@ "start": 116583, "end": 116602, "length": 20, - "parent_index": 7132 + "parent_index": 7134 }, "argument_types": [], "arguments": [], "expression": { - "id": 7134, + "id": 7136, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4052,7 +4127,7 @@ "start": 116583, "end": 116600, "length": 18, - "parent_index": 7133 + "parent_index": 7135 }, "member_location": { "line": 3126, @@ -4060,10 +4135,10 @@ "start": 116589, "end": 116600, "length": 12, - "parent_index": 7134 + "parent_index": 7136 }, "expression": { - "id": 7135, + "id": 7137, "node_type": 16, "src": { "line": 3126, @@ -4071,23 +4146,25 @@ "start": 116583, "end": 116587, "length": 5, - "parent_index": 7134 + "parent_index": 7136 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6608, - "is_pure": false + "referenced_declaration": 6610, + "is_pure": false, + "text": "vault" }, "member_name": "bridgeEscrow", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault.bridgeEscrow" }, "type_description": { "type_identifier": "t_function_$", @@ -4099,7 +4176,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "vault.bridgeEscrow().clearFunds" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_bytes$", @@ -4115,7 +4193,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7076, + "id": 7078, "node_type": 43, "src": { "line": 3118, @@ -4123,11 +4201,11 @@ "start": 116126, "end": 116168, "length": 43, - "parent_index": 7075 + "parent_index": 7077 }, "parameters": [ { - "id": 7077, + "id": 7079, "node_type": 44, "src": { "line": 3118, @@ -4135,12 +4213,12 @@ "start": 116126, "end": 116147, "length": 22, - "parent_index": 7076 + "parent_index": 7078 }, - "scope": 7075, + "scope": 7077, "name": "message", "type_name": { - "id": 7078, + "id": 7080, "node_type": 30, "src": { "line": 3118, @@ -4148,7 +4226,7 @@ "start": 116126, "end": 116130, "length": 5, - "parent_index": 7077 + "parent_index": 7079 }, "name": "bytes", "referenced_declaration": 0, @@ -4166,7 +4244,7 @@ } }, { - "id": 7079, + "id": 7081, "node_type": 44, "src": { "line": 3118, @@ -4174,12 +4252,12 @@ "start": 116150, "end": 116168, "length": 19, - "parent_index": 7076 + "parent_index": 7078 }, - "scope": 7075, + "scope": 7077, "name": "data", "type_name": { - "id": 7080, + "id": 7082, "node_type": 30, "src": { "line": 3118, @@ -4187,7 +4265,7 @@ "start": 116150, "end": 116154, "length": 5, - "parent_index": 7079 + "parent_index": 7081 }, "name": "bytes", "referenced_declaration": 0, @@ -4217,7 +4295,7 @@ ] }, "return_parameters": { - "id": 7081, + "id": 7083, "node_type": 43, "src": { "line": 3118, @@ -4225,21 +4303,22 @@ "start": 116104, "end": 116634, "length": 531, - "parent_index": 7075 + "parent_index": 7077 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "receiveFunds(bytes, bytes)", - "signature": "69fb128a", - "scope": 6949, + "signature_raw": "receiveFunds(bytes,bytes)", + "signature": "04fb0438", + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_bytes$", "type_string": "function(bytes,bytes)" - } + }, + "text": "functionreceiveFunds(bytescalldatamessage,bytescalldatadata)external{(IWormhole.VMmemoryvm,boolvalid,stringmemoryreason)=wormhole.parseAndVerifyVM(message);require(valid,reason);_validateWormholeMessageEmitter(vm);nextValidNonce=vm.nonce+1;(bytes32msgType,uint256amount)=abi.decode(vm.payload,(bytes32,uint256));require(msgType==Constants.L2_FUND_TRANSFER_REPORT,\"WR: bad msg type\");vault.bridgeEscrow().clearFunds(amount,data);}" }, { - "id": 7139, + "id": 7141, "name": "receiveFundRequest", "node_type": 42, "kind": 41, @@ -4249,7 +4328,7 @@ "start": 116709, "end": 117223, "length": 515, - "parent_index": 6949 + "parent_index": 6951 }, "name_location": { "line": 3130, @@ -4257,10 +4336,10 @@ "start": 116718, "end": 116735, "length": 18, - "parent_index": 7139 + "parent_index": 7141 }, "body": { - "id": 7144, + "id": 7146, "node_type": 46, "kind": 0, "src": { @@ -4269,12 +4348,12 @@ "start": 116770, "end": 117223, "length": 454, - "parent_index": 7139 + "parent_index": 7141 }, "implemented": true, "statements": [ { - "id": 7145, + "id": 7147, "node_type": 44, "src": { "line": 3131, @@ -4282,27 +4361,27 @@ "start": 116780, "end": 116875, "length": 96, - "parent_index": 7144 + "parent_index": 7146 }, "assignments": [ - 7146, - 7149, - 7151 + 7148, + 7151, + 7153 ], "declarations": [ { - "id": 7146, + "id": 7148, "state_mutability": 1, "name": "vm", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3131, "column": 9, "start": 116781, "end": 116802, "length": 22, - "parent_index": 7145 + "parent_index": 7147 }, "name_location": { "line": 3131, @@ -4310,12 +4389,12 @@ "start": 116801, "end": 116802, "length": 2, - "parent_index": 7146 + "parent_index": 7148 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7147, + "id": 7149, "node_type": 69, "src": { "line": 3131, @@ -4323,10 +4402,10 @@ "start": 116781, "end": 116792, "length": 12, - "parent_index": 7146 + "parent_index": 7148 }, "path_node": { - "id": 7148, + "id": 7150, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -4336,7 +4415,7 @@ "start": 116781, "end": 116792, "length": 12, - "parent_index": 7147 + "parent_index": 7149 }, "name_location": { "line": 3131, @@ -4344,30 +4423,30 @@ "start": 116781, "end": 116789, "length": 9, - "parent_index": 7147 + "parent_index": 7149 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, "visibility": 1 }, { - "id": 7149, + "id": 7151, "state_mutability": 1, "name": "valid", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3131, "column": 33, "start": 116805, "end": 116814, "length": 10, - "parent_index": 7145 + "parent_index": 7147 }, "name_location": { "line": 3131, @@ -4375,12 +4454,12 @@ "start": 116810, "end": 116814, "length": 5, - "parent_index": 7149 + "parent_index": 7151 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7150, + "id": 7152, "node_type": 30, "src": { "line": 3131, @@ -4388,7 +4467,7 @@ "start": 116805, "end": 116808, "length": 4, - "parent_index": 7149 + "parent_index": 7151 }, "name": "bool", "referenced_declaration": 0, @@ -4400,18 +4479,18 @@ "visibility": 1 }, { - "id": 7151, + "id": 7153, "state_mutability": 1, "name": "reason", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3131, "column": 45, "start": 116817, "end": 116836, "length": 20, - "parent_index": 7145 + "parent_index": 7147 }, "name_location": { "line": 3131, @@ -4419,12 +4498,12 @@ "start": 116831, "end": 116836, "length": 6, - "parent_index": 7151 + "parent_index": 7153 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 7152, + "id": 7154, "node_type": 30, "src": { "line": 3131, @@ -4432,7 +4511,7 @@ "start": 116817, "end": 116822, "length": 6, - "parent_index": 7151 + "parent_index": 7153 }, "name": "string", "referenced_declaration": 0, @@ -4445,7 +4524,7 @@ } ], "initial_value": { - "id": 7153, + "id": 7155, "node_type": 24, "kind": 24, "src": { @@ -4454,7 +4533,7 @@ "start": 116841, "end": 116874, "length": 34, - "parent_index": 7145 + "parent_index": 7147 }, "argument_types": [ { @@ -4464,7 +4543,7 @@ ], "arguments": [ { - "id": 7156, + "id": 7158, "node_type": 16, "src": { "line": 3131, @@ -4472,7 +4551,7 @@ "start": 116867, "end": 116873, "length": 7, - "parent_index": 7153 + "parent_index": 7155 }, "name": "message", "type_description": { @@ -4480,12 +4559,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 7156, - "is_pure": false + "referenced_declaration": 7158, + "is_pure": false, + "text": "message" } ], "expression": { - "id": 7154, + "id": 7156, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4497,7 +4577,7 @@ "start": 116841, "end": 116865, "length": 25, - "parent_index": 7153 + "parent_index": 7155 }, "member_location": { "line": 3131, @@ -4505,10 +4585,10 @@ "start": 116850, "end": 116865, "length": 16, - "parent_index": 7154 + "parent_index": 7156 }, "expression": { - "id": 7155, + "id": 7157, "node_type": 16, "src": { "line": 3131, @@ -4516,24 +4596,26 @@ "start": 116841, "end": 116848, "length": 8, - "parent_index": 7154 + "parent_index": 7156 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8075, - "is_pure": false + "referenced_declaration": 8079, + "is_pure": false, + "text": "wormhole" }, "member_name": "parseAndVerifyVM", "argument_types": [], - "referenced_declaration": 7446, + "referenced_declaration": 7448, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "wormhole.parseAndVerifyVM" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4542,7 +4624,7 @@ } }, { - "id": 7157, + "id": 7159, "node_type": 24, "kind": 24, "src": { @@ -4551,7 +4633,7 @@ "start": 116885, "end": 116906, "length": 22, - "parent_index": 7144 + "parent_index": 7146 }, "argument_types": [ { @@ -4565,7 +4647,7 @@ ], "arguments": [ { - "id": 7159, + "id": 7161, "node_type": 16, "src": { "line": 3132, @@ -4573,7 +4655,7 @@ "start": 116893, "end": 116897, "length": 5, - "parent_index": 7157 + "parent_index": 7159 }, "name": "valid", "type_description": { @@ -4581,11 +4663,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 7145, - "is_pure": false + "referenced_declaration": 7147, + "is_pure": false, + "text": "valid" }, { - "id": 7160, + "id": 7162, "node_type": 16, "src": { "line": 3132, @@ -4593,7 +4676,7 @@ "start": 116900, "end": 116905, "length": 6, - "parent_index": 7157 + "parent_index": 7159 }, "name": "reason", "type_description": { @@ -4601,18 +4684,19 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 7145, + "referenced_declaration": 7147, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "reason" } ], "expression": { - "id": 7158, + "id": 7160, "node_type": 16, "src": { "line": 3132, @@ -4620,7 +4704,7 @@ "start": 116885, "end": 116891, "length": 7, - "parent_index": 7157 + "parent_index": 7159 }, "name": "require", "type_description": { @@ -4629,7 +4713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -4637,7 +4722,7 @@ } }, { - "id": 7161, + "id": 7163, "node_type": 24, "kind": 24, "src": { @@ -4646,17 +4731,17 @@ "start": 116918, "end": 116952, "length": 35, - "parent_index": 7144 + "parent_index": 7146 }, "argument_types": [ { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } ], "arguments": [ { - "id": 7163, + "id": 7165, "node_type": 16, "src": { "line": 3134, @@ -4664,20 +4749,21 @@ "start": 116950, "end": 116951, "length": 2, - "parent_index": 7161 + "parent_index": 7163 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" } ], "expression": { - "id": 7162, + "id": 7164, "node_type": 16, "src": { "line": 3134, @@ -4685,7 +4771,7 @@ "start": 116918, "end": 116948, "length": 31, - "parent_index": 7161 + "parent_index": 7163 }, "name": "_validateWormholeMessageEmitter", "type_description": { @@ -4694,7 +4780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_validateWormholeMessageEmitter" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4702,7 +4789,7 @@ } }, { - "id": 7164, + "id": 7166, "node_type": 27, "src": { "line": 3135, @@ -4710,10 +4797,10 @@ "start": 116963, "end": 116992, "length": 30, - "parent_index": 7144 + "parent_index": 7146 }, "expression": { - "id": 7165, + "id": 7167, "node_type": 27, "src": { "line": 3135, @@ -4721,11 +4808,11 @@ "start": 116963, "end": 116991, "length": 29, - "parent_index": 7164 + "parent_index": 7166 }, "operator": 11, "left_expression": { - "id": 7166, + "id": 7168, "node_type": 16, "src": { "line": 3135, @@ -4733,7 +4820,7 @@ "start": 116963, "end": 116976, "length": 14, - "parent_index": 7165 + "parent_index": 7167 }, "name": "nextValidNonce", "type_description": { @@ -4741,11 +4828,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6651, - "is_pure": false + "referenced_declaration": 6653, + "is_pure": false, + "text": "nextValidNonce" }, "right_expression": { - "id": 7167, + "id": 7169, "is_constant": false, "is_pure": false, "node_type": 19, @@ -4755,11 +4843,11 @@ "start": 116980, "end": 116991, "length": 12, - "parent_index": 7165 + "parent_index": 7167 }, "operator": 1, "left_expression": { - "id": 7168, + "id": 7170, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4771,7 +4859,7 @@ "start": 116980, "end": 116987, "length": 8, - "parent_index": 7167 + "parent_index": 7169 }, "member_location": { "line": 3135, @@ -4779,10 +4867,10 @@ "start": 116983, "end": 116987, "length": 5, - "parent_index": 7168 + "parent_index": 7170 }, "expression": { - "id": 7169, + "id": 7171, "node_type": 16, "src": { "line": 3135, @@ -4790,27 +4878,29 @@ "start": 116980, "end": 116981, "length": 2, - "parent_index": 7168 + "parent_index": 7170 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "nonce", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.nonce" }, "right_expression": { - "id": 7170, + "id": 7172, "node_type": 17, "kind": 49, "value": "1", @@ -4821,7 +4911,7 @@ "start": 116991, "end": 116991, "length": 1, - "parent_index": 7167 + "parent_index": 7169 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -4829,10 +4919,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" } }, @@ -4844,10 +4935,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextValidNonce=vm.nonce+1;" }, { - "id": 7171, + "id": 7173, "node_type": 44, "src": { "line": 3137, @@ -4855,26 +4947,26 @@ "start": 117003, "end": 117081, "length": 79, - "parent_index": 7144 + "parent_index": 7146 }, "assignments": [ - 7172, - 7174 + 7174, + 7176 ], "declarations": [ { - "id": 7172, + "id": 7174, "state_mutability": 1, "name": "msgType", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3137, "column": 9, "start": 117004, "end": 117018, "length": 15, - "parent_index": 7171 + "parent_index": 7173 }, "name_location": { "line": 3137, @@ -4882,12 +4974,12 @@ "start": 117012, "end": 117018, "length": 7, - "parent_index": 7172 + "parent_index": 7174 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7173, + "id": 7175, "node_type": 30, "src": { "line": 3137, @@ -4895,7 +4987,7 @@ "start": 117004, "end": 117010, "length": 7, - "parent_index": 7172 + "parent_index": 7174 }, "name": "bytes32", "referenced_declaration": 0, @@ -4907,18 +4999,18 @@ "visibility": 1 }, { - "id": 7174, + "id": 7176, "state_mutability": 1, "name": "amount", "node_type": 44, - "scope": 7144, + "scope": 7146, "src": { "line": 3137, "column": 26, "start": 117021, "end": 117034, "length": 14, - "parent_index": 7171 + "parent_index": 7173 }, "name_location": { "line": 3137, @@ -4926,12 +5018,12 @@ "start": 117029, "end": 117034, "length": 6, - "parent_index": 7174 + "parent_index": 7176 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 7175, + "id": 7177, "node_type": 30, "src": { "line": 3137, @@ -4939,7 +5031,7 @@ "start": 117021, "end": 117027, "length": 7, - "parent_index": 7174 + "parent_index": 7176 }, "name": "uint256", "referenced_declaration": 0, @@ -4952,7 +5044,7 @@ } ], "initial_value": { - "id": 7176, + "id": 7178, "node_type": 24, "kind": 24, "src": { @@ -4961,7 +5053,7 @@ "start": 117039, "end": 117080, "length": 42, - "parent_index": 7171 + "parent_index": 7173 }, "argument_types": [ { @@ -4975,7 +5067,7 @@ ], "arguments": [ { - "id": 7179, + "id": 7181, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4987,7 +5079,7 @@ "start": 117050, "end": 117059, "length": 10, - "parent_index": 7176 + "parent_index": 7178 }, "member_location": { "line": 3137, @@ -4995,10 +5087,10 @@ "start": 117053, "end": 117059, "length": 7, - "parent_index": 7179 + "parent_index": 7181 }, "expression": { - "id": 7180, + "id": 7182, "node_type": 16, "src": { "line": 3137, @@ -5006,27 +5098,29 @@ "start": 117050, "end": 117051, "length": 2, - "parent_index": 7179 + "parent_index": 7181 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "payload", "argument_types": [], - "referenced_declaration": 6998, + "referenced_declaration": 7000, "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "vm.payload" }, { - "id": 7181, + "id": 7183, "node_type": 60, "src": { "line": 3137, @@ -5034,13 +5128,13 @@ "start": 117062, "end": 117079, "length": 18, - "parent_index": 7176 + "parent_index": 7178 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 7182, + "id": 7184, "node_type": 16, "src": { "line": 3137, @@ -5048,11 +5142,11 @@ "start": 117063, "end": 117069, "length": 7, - "parent_index": 7181 + "parent_index": 7183 }, "name": "bytes32", "type_name": { - "id": 7183, + "id": 7185, "node_type": 30, "src": { "line": 3137, @@ -5060,7 +5154,7 @@ "start": 117063, "end": 117069, "length": 7, - "parent_index": 7182 + "parent_index": 7184 }, "name": "bytes32", "referenced_declaration": 0, @@ -5075,10 +5169,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bytes32" }, { - "id": 7184, + "id": 7186, "node_type": 16, "src": { "line": 3137, @@ -5086,11 +5181,11 @@ "start": 117072, "end": 117078, "length": 7, - "parent_index": 7181 + "parent_index": 7183 }, "name": "uint256", "type_name": { - "id": 7185, + "id": 7187, "node_type": 30, "src": { "line": 3137, @@ -5098,7 +5193,7 @@ "start": 117072, "end": 117078, "length": 7, - "parent_index": 7184 + "parent_index": 7186 }, "name": "uint256", "referenced_declaration": 0, @@ -5113,7 +5208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint256" } ], "type_description": { @@ -5123,7 +5219,7 @@ } ], "expression": { - "id": 7177, + "id": 7179, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5135,7 +5231,7 @@ "start": 117039, "end": 117048, "length": 10, - "parent_index": 7176 + "parent_index": 7178 }, "member_location": { "line": 3137, @@ -5143,10 +5239,10 @@ "start": 117043, "end": 117048, "length": 6, - "parent_index": 7177 + "parent_index": 7179 }, "expression": { - "id": 7178, + "id": 7180, "node_type": 16, "src": { "line": 3137, @@ -5154,7 +5250,7 @@ "start": 117039, "end": 117041, "length": 3, - "parent_index": 7177 + "parent_index": 7179 }, "name": "abi", "type_description": { @@ -5163,14 +5259,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bytes32_$_t_uint256$", @@ -5179,7 +5277,7 @@ } }, { - "id": 7186, + "id": 7188, "node_type": 24, "kind": 24, "src": { @@ -5188,7 +5286,7 @@ "start": 117091, "end": 117155, "length": 65, - "parent_index": 7144 + "parent_index": 7146 }, "argument_types": [ { @@ -5202,7 +5300,7 @@ ], "arguments": [ { - "id": 7188, + "id": 7190, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5212,11 +5310,11 @@ "start": 117099, "end": 117134, "length": 36, - "parent_index": 7186 + "parent_index": 7188 }, "operator": 11, "left_expression": { - "id": 7189, + "id": 7191, "node_type": 16, "src": { "line": 3138, @@ -5224,7 +5322,7 @@ "start": 117099, "end": 117105, "length": 7, - "parent_index": 7188 + "parent_index": 7190 }, "name": "msgType", "type_description": { @@ -5232,11 +5330,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 7171, - "is_pure": false + "referenced_declaration": 7173, + "is_pure": false, + "text": "msgType" }, "right_expression": { - "id": 7190, + "id": 7192, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5248,7 +5347,7 @@ "start": 117110, "end": 117134, "length": 25, - "parent_index": 7188 + "parent_index": 7190 }, "member_location": { "line": 3138, @@ -5256,10 +5355,10 @@ "start": 117120, "end": 117134, "length": 15, - "parent_index": 7190 + "parent_index": 7192 }, "expression": { - "id": 7191, + "id": 7193, "node_type": 16, "src": { "line": 3138, @@ -5267,24 +5366,26 @@ "start": 117110, "end": 117118, "length": 9, - "parent_index": 7190 + "parent_index": 7192 }, "name": "Constants", "type_description": { - "type_identifier": "t_contract$_Constants_$7468", + "type_identifier": "t_contract$_Constants_$7470", "type_string": "contract Constants" }, "overloaded_declarations": [], - "referenced_declaration": 7468, - "is_pure": false + "referenced_declaration": 7470, + "is_pure": false, + "text": "Constants" }, "member_name": "L2_FUND_REQUEST", "argument_types": [], - "referenced_declaration": 8159, + "referenced_declaration": 8163, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" - } + }, + "text": "Constants.L2_FUND_REQUEST" }, "type_description": { "type_identifier": "t_bool", @@ -5292,7 +5393,7 @@ } }, { - "id": 7192, + "id": 7194, "node_type": 17, "kind": 50, "value": "WR: bad msg type", @@ -5303,7 +5404,7 @@ "start": 117137, "end": 117154, "length": 18, - "parent_index": 7186 + "parent_index": 7188 }, "type_description": { "type_identifier": "t_string_literal", @@ -5317,11 +5418,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: bad msg type\"" } ], "expression": { - "id": 7187, + "id": 7189, "node_type": 16, "src": { "line": 3138, @@ -5329,7 +5431,7 @@ "start": 117091, "end": 117097, "length": 7, - "parent_index": 7186 + "parent_index": 7188 }, "name": "require", "type_description": { @@ -5338,7 +5440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5346,7 +5449,7 @@ } }, { - "id": 7193, + "id": 7195, "node_type": 24, "kind": 24, "src": { @@ -5355,7 +5458,7 @@ "start": 117167, "end": 117216, "length": 50, - "parent_index": 7144 + "parent_index": 7146 }, "argument_types": [ { @@ -5365,7 +5468,7 @@ ], "arguments": [ { - "id": 7201, + "id": 7203, "node_type": 16, "src": { "line": 3140, @@ -5373,7 +5476,7 @@ "start": 117210, "end": 117215, "length": 6, - "parent_index": 7193 + "parent_index": 7195 }, "name": "amount", "type_description": { @@ -5381,12 +5484,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 7171, - "is_pure": false + "referenced_declaration": 7173, + "is_pure": false, + "text": "amount" } ], "expression": { - "id": 7194, + "id": 7196, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5398,7 +5502,7 @@ "start": 117167, "end": 117208, "length": 42, - "parent_index": 7193 + "parent_index": 7195 }, "member_location": { "line": 3140, @@ -5406,10 +5510,10 @@ "start": 117191, "end": 117208, "length": 18, - "parent_index": 7194 + "parent_index": 7196 }, "expression": { - "id": 7195, + "id": 7197, "node_type": 24, "kind": 24, "src": { @@ -5418,7 +5522,7 @@ "start": 117167, "end": 117189, "length": 23, - "parent_index": 7194 + "parent_index": 7196 }, "argument_types": [ { @@ -5428,7 +5532,7 @@ ], "arguments": [ { - "id": 7197, + "id": 7199, "node_type": 24, "kind": 24, "src": { @@ -5437,7 +5541,7 @@ "start": 117175, "end": 117188, "length": 14, - "parent_index": 7195 + "parent_index": 7197 }, "argument_types": [ { @@ -5447,7 +5551,7 @@ ], "arguments": [ { - "id": 7200, + "id": 7202, "node_type": 16, "src": { "line": 3140, @@ -5455,7 +5559,7 @@ "start": 117183, "end": 117187, "length": 5, - "parent_index": 7197 + "parent_index": 7199 }, "name": "vault", "type_description": { @@ -5464,11 +5568,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "vault" } ], "expression": { - "id": 7198, + "id": 7200, "node_type": 16, "src": { "line": 3140, @@ -5476,11 +5581,11 @@ "start": 117175, "end": 117181, "length": 7, - "parent_index": 7197 + "parent_index": 7199 }, "name": "address", "type_name": { - "id": 7199, + "id": 7201, "node_type": 30, "src": { "line": 3140, @@ -5488,7 +5593,7 @@ "start": 117175, "end": 117181, "length": 7, - "parent_index": 7198 + "parent_index": 7200 }, "name": "address", "state_mutability": 4, @@ -5510,7 +5615,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5519,7 +5625,7 @@ } ], "expression": { - "id": 7196, + "id": 7198, "node_type": 16, "src": { "line": 3140, @@ -5527,7 +5633,7 @@ "start": 117167, "end": 117173, "length": 7, - "parent_index": 7195 + "parent_index": 7197 }, "name": "L1Vault", "type_description": { @@ -5536,7 +5642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "L1Vault" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -5548,7 +5655,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", "type_string": "function(function(function()))" - } + }, + "text": "L1Vault(address(vault)).processFundRequest" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5564,7 +5672,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 7140, + "id": 7142, "node_type": 43, "src": { "line": 3130, @@ -5572,11 +5680,11 @@ "start": 116737, "end": 116758, "length": 22, - "parent_index": 7139 + "parent_index": 7141 }, "parameters": [ { - "id": 7141, + "id": 7143, "node_type": 44, "src": { "line": 3130, @@ -5584,12 +5692,12 @@ "start": 116737, "end": 116758, "length": 22, - "parent_index": 7140 + "parent_index": 7142 }, - "scope": 7139, + "scope": 7141, "name": "message", "type_name": { - "id": 7142, + "id": 7144, "node_type": 30, "src": { "line": 3130, @@ -5597,7 +5705,7 @@ "start": 116737, "end": 116741, "length": 5, - "parent_index": 7141 + "parent_index": 7143 }, "name": "bytes", "referenced_declaration": 0, @@ -5623,7 +5731,7 @@ ] }, "return_parameters": { - "id": 7143, + "id": 7145, "node_type": 43, "src": { "line": 3130, @@ -5631,31 +5739,32 @@ "start": 116709, "end": 117223, "length": 515, - "parent_index": 7139 + "parent_index": 7141 }, "parameters": [], "parameter_types": [] }, "signature_raw": "receiveFundRequest(bytes)", "signature": "a64fa6e3", - "scope": 6949, + "scope": 6951, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionreceiveFundRequest(bytescalldatamessage)external{(IWormhole.VMmemoryvm,boolvalid,stringmemoryreason)=wormhole.parseAndVerifyVM(message);require(valid,reason);_validateWormholeMessageEmitter(vm);nextValidNonce=vm.nonce+1;(bytes32msgType,uint256amount)=abi.decode(vm.payload,(bytes32,uint256));require(msgType==Constants.L2_FUND_REQUEST,\"WR: bad msg type\");L1Vault(address(vault)).processFundRequest(amount);}" } ], "linearized_base_contracts": [ - 6513, - 6949, - 6945, - 6946, + 6515, + 6951, 6947, - 6948 + 6948, + 6949, + 6950 ], "base_contracts": [ { - "id": 6950, + "id": 6952, "node_type": 62, "src": { "line": 3084, @@ -5663,10 +5772,10 @@ "start": 114567, "end": 114580, "length": 14, - "parent_index": 6949 + "parent_index": 6951 }, "base_name": { - "id": 6951, + "id": 6953, "node_type": 52, "src": { "line": 3084, @@ -5674,19 +5783,19 @@ "start": 114567, "end": 114580, "length": 14, - "parent_index": 6949 + "parent_index": 6951 }, "name": "WormholeRouter", - "referenced_declaration": 6513 + "referenced_declaration": 6515 } } ], "contract_dependencies": [ - 6513, - 6945, - 6946, + 6515, 6947, - 6948 + 6948, + 6949, + 6950 ] } ], diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Math.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Math.solgo.ast.json index fcc926cf..88608391 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Math.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Math.solgo.ast.json @@ -255,7 +255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 930, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 931, @@ -275,7 +276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 931, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -300,7 +302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 933, @@ -320,7 +323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 933, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -509,13 +513,14 @@ } ] }, - "signature_raw": "max(uint256, uint256)", - "signature": "944ae7a2", + "signature_raw": "max(uint256,uint256)", + "signature": "6d5433e6", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmax(uint256a,uint256b)internalpurereturns(uint256){returna\u003e=b?a:b;}" }, { "id": 935, @@ -608,7 +613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 950, @@ -628,7 +634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 950, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -653,7 +660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 951, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 952, @@ -673,7 +681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 952, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -862,13 +871,14 @@ } ] }, - "signature_raw": "min(uint256, uint256)", - "signature": "a2611414", + "signature_raw": "min(uint256,uint256)", + "signature": "7ae2b5c7", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmin(uint256a,uint256b)internalpurereturns(uint256){returna\u003cb?a:b;}" }, { "id": 954, @@ -975,7 +985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 969, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 970, @@ -995,7 +1006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 970, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -1073,7 +1085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 975, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 976, @@ -1093,7 +1106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 976, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -1137,7 +1151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -1319,13 +1334,14 @@ } ] }, - "signature_raw": "average(uint256, uint256)", - "signature": "517eaec2", + "signature_raw": "average(uint256,uint256)", + "signature": "2b7423ab", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionaverage(uint256a,uint256b)internalpurereturns(uint256){return(a\u0026b)+(a^b)/2;}" }, { "id": 979, @@ -1418,7 +1434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 993, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 994, @@ -1440,7 +1457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1467,7 +1485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 996, @@ -1543,7 +1562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1001, @@ -1565,7 +1585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -1596,7 +1617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -1623,7 +1645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -1817,13 +1840,14 @@ } ] }, - "signature_raw": "ceilDiv(uint256, uint256)", - "signature": "1340d3c6", + "signature_raw": "ceilDiv(uint256,uint256)", + "signature": "9cb35327", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionceilDiv(uint256a,uint256b)internalpurereturns(uint256){returna==0?0:(a-1)/b+1;}" }, { "id": 1005, @@ -3306,7 +3330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "prod1" }, "right_expression": { "id": 1060, @@ -3328,7 +3353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3393,7 +3419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1018, - "is_pure": false + "is_pure": false, + "text": "prod0" }, "right_expression": { "id": 1065, @@ -3413,7 +3440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1065, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -3475,7 +3503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1069, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1070, @@ -3495,7 +3524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "prod1" }, "type_description": { "type_identifier": "t_bool", @@ -3521,7 +3551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -4736,7 +4767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1107, - "is_pure": false + "is_pure": false, + "text": "denominator" }, { "id": 1108, @@ -4802,7 +4834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1111, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -4829,7 +4862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -6046,7 +6080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1018, - "is_pure": false + "is_pure": false, + "text": "prod0" }, "right_expression": { "id": 1146, @@ -6080,7 +6115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "prod1" }, "right_expression": { "id": 1148, @@ -6100,7 +6136,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1102, - "is_pure": false + "is_pure": false, + "text": "twos" }, "type_description": { "type_identifier": "t_uint256", @@ -6115,7 +6152,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "prod0|=prod1*twos;" }, { "id": 1149, @@ -6237,7 +6275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "right_expression": { "id": 1157, @@ -6257,7 +6296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1157, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_rational_3_by_1", @@ -6290,7 +6330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "type_descriptions": [ @@ -6350,7 +6391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1162, @@ -6386,7 +6428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1164, @@ -6420,7 +6463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1166, @@ -6440,7 +6484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -6460,7 +6505,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1167, @@ -6503,7 +6549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1170, @@ -6539,7 +6586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1172, @@ -6573,7 +6621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1173, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1174, @@ -6593,7 +6642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -6613,7 +6663,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1175, @@ -6656,7 +6707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1178, @@ -6692,7 +6744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1180, @@ -6726,7 +6779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1181, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1182, @@ -6746,7 +6800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -6766,7 +6821,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1183, @@ -6809,7 +6865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1186, @@ -6845,7 +6902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1188, @@ -6879,7 +6937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1190, @@ -6899,7 +6958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -6919,7 +6979,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1191, @@ -6962,7 +7023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1194, @@ -6998,7 +7060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1196, @@ -7032,7 +7095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1197, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1198, @@ -7052,7 +7116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -7072,7 +7137,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1199, @@ -7115,7 +7181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "right_expression": { "id": 1202, @@ -7151,7 +7218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1204, @@ -7185,7 +7253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1205, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "right_expression": { "id": 1206, @@ -7205,7 +7274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -7225,7 +7295,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "inverse*=2-denominator*inverse;" }, { "id": 1207, @@ -7268,7 +7339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1210, @@ -7302,7 +7374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1018, - "is_pure": false + "is_pure": false, + "text": "prod0" }, "right_expression": { "id": 1212, @@ -7322,7 +7395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1149, - "is_pure": false + "is_pure": false, + "text": "inverse" }, "type_description": { "type_identifier": "t_uint256", @@ -7337,7 +7411,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=prod0*inverse;" }, { "id": 1213, @@ -7369,7 +7444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -7586,13 +7662,14 @@ } ] }, - "signature_raw": "mulDiv(uint256, uint256, uint256)", - "signature": "7a718488", + "signature_raw": "mulDiv(uint256,uint256,uint256)", + "signature": "aa9a0912", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionmulDiv(uint256x,uint256y,uint256denominator)internalpurereturns(uint256result){unchecked{uint256prod0;uint256prod1;assembly{letmm:=mulmod(x,y,not(0))prod0:=mul(x,y)prod1:=sub(sub(mm,prod0),lt(mm,prod0))}if(prod1==0){returnprod0/denominator;}require(denominator\u003eprod1);uint256remainder;assembly{remainder:=mulmod(x,y,denominator)prod1:=sub(prod1,gt(remainder,prod0))prod0:=sub(prod0,remainder)}uint256twos=denominator\u0026(~denominator+1);assembly{denominator:=div(denominator,twos)prod0:=div(prod0,twos)twos:=add(div(sub(0,twos),twos),1)}prod0|=prod1*twos;uint256inverse=(3*denominator)^2;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;inverse*=2-denominator*inverse;result=prod0*inverse;returnresult;}}" }, { "id": 1216, @@ -7734,7 +7811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1236, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1237, @@ -7760,7 +7838,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "y" }, { "id": 1238, @@ -7790,7 +7869,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "denominator" } ], "expression": { @@ -7811,7 +7891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "mulDiv" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", @@ -7874,7 +7955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1243, - "is_pure": false + "is_pure": false, + "text": "rounding" }, "right_expression": { "id": 1244, @@ -7917,14 +7999,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "Rounding" }, "member_name": "Up", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_Rounding_$911", "type_string": "enum Math.Rounding" - } + }, + "text": "Rounding.Up" }, "type_description": { "type_identifier": "t_bool", @@ -7990,7 +8074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1249, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1250, @@ -8016,7 +8101,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "y" }, { "id": 1251, @@ -8046,7 +8132,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "denominator" } ], "expression": { @@ -8067,7 +8154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "mulmod" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", @@ -8094,7 +8182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8168,7 +8257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1257, @@ -8190,7 +8280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -8200,7 +8291,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result+=1;" } ] } @@ -8235,7 +8327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1231, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -8514,13 +8607,14 @@ } ] }, - "signature_raw": "mulDiv(uint256, uint256, uint256, )", - "signature": "95e997e0", + "signature_raw": "mulDiv(uint256,uint256,uint256,)", + "signature": "5946641e", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_enum_$_Rounding_$911$", "type_string": "function(uint256,uint256,uint256,enum Math.Rounding)" - } + }, + "text": "functionmulDiv(uint256x,uint256y,uint256denominator,Roundingrounding)internalpurereturns(uint256){uint256result=mulDiv(x,y,denominator);if(rounding==Rounding.Up\u0026\u0026mulmod(x,y,denominator)\u003e0){result+=1;}returnresult;}" }, { "id": 1261, @@ -8600,7 +8694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1271, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1272, @@ -8622,7 +8717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8675,7 +8771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -8761,7 +8858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -8842,7 +8940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "a" } }, { @@ -8901,7 +9000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1289, @@ -8923,7 +9023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" } ], "type_descriptions": [ @@ -8961,7 +9062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9023,7 +9125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1295, @@ -9045,7 +9148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" }, "type_description": { "type_identifier": "t_uint256", @@ -9055,7 +9159,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=128;" }, { "id": 1296, @@ -9098,7 +9203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1299, @@ -9120,7 +9226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" }, "type_description": { "type_identifier": "t_uint256", @@ -9130,7 +9237,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=64;" } ] } @@ -9191,7 +9299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1305, @@ -9213,7 +9322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } ], "type_descriptions": [ @@ -9251,7 +9361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9313,7 +9424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1311, @@ -9335,7 +9447,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" }, "type_description": { "type_identifier": "t_uint256", @@ -9345,7 +9458,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=64;" }, { "id": 1312, @@ -9388,7 +9502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1315, @@ -9410,7 +9525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "32" }, "type_description": { "type_identifier": "t_uint256", @@ -9420,7 +9536,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=32;" } ] } @@ -9481,7 +9598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1321, @@ -9503,7 +9621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "32" } ], "type_descriptions": [ @@ -9541,7 +9660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9603,7 +9723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1327, @@ -9625,7 +9746,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "32" }, "type_description": { "type_identifier": "t_uint256", @@ -9635,7 +9757,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=32;" }, { "id": 1328, @@ -9678,7 +9801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1331, @@ -9700,7 +9824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "16" }, "type_description": { "type_identifier": "t_uint256", @@ -9710,7 +9835,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=16;" } ] } @@ -9771,7 +9897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1337, @@ -9793,7 +9920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "16" } ], "type_descriptions": [ @@ -9831,7 +9959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9893,7 +10022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1343, @@ -9915,7 +10045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "16" }, "type_description": { "type_identifier": "t_uint256", @@ -9925,7 +10056,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=16;" }, { "id": 1344, @@ -9968,7 +10100,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1347, @@ -9990,7 +10123,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -10000,7 +10134,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=8;" } ] } @@ -10061,7 +10196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1353, @@ -10083,7 +10219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" } ], "type_descriptions": [ @@ -10121,7 +10258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10183,7 +10321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1359, @@ -10205,7 +10344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -10215,7 +10355,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=8;" }, { "id": 1360, @@ -10258,7 +10399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1363, @@ -10280,7 +10422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -10290,7 +10433,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=4;" } ] } @@ -10351,7 +10495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1369, @@ -10373,7 +10518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } ], "type_descriptions": [ @@ -10411,7 +10557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10473,7 +10620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 1375, @@ -10495,7 +10643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -10505,7 +10654,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "x\u003e\u003e=4;" }, { "id": 1376, @@ -10548,7 +10698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1379, @@ -10570,7 +10721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -10580,7 +10732,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=2;" } ] } @@ -10641,7 +10794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1280, - "is_pure": false + "is_pure": false, + "text": "x" }, { "id": 1385, @@ -10663,7 +10817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "type_descriptions": [ @@ -10701,7 +10856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10763,7 +10919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1391, @@ -10785,7 +10942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -10795,7 +10953,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result\u003c\u003c=1;" } ] } @@ -10855,7 +11014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1397, @@ -10916,7 +11076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1401, @@ -10950,7 +11111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1402, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1403, @@ -10970,7 +11132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -11008,7 +11171,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -11034,7 +11198,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1405, @@ -11077,7 +11242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1409, @@ -11138,7 +11304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1413, @@ -11172,7 +11339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1414, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1415, @@ -11192,7 +11360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -11230,7 +11399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -11256,7 +11426,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1417, @@ -11299,7 +11470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1421, @@ -11360,7 +11532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1425, @@ -11394,7 +11567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1426, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1427, @@ -11414,7 +11588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -11452,7 +11627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -11478,7 +11654,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1429, @@ -11521,7 +11698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1433, @@ -11582,7 +11760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1437, @@ -11616,7 +11795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1438, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1439, @@ -11636,7 +11816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -11674,7 +11855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -11700,7 +11882,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1441, @@ -11743,7 +11926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1445, @@ -11804,7 +11988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1449, @@ -11838,7 +12023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1450, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1451, @@ -11858,7 +12044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -11896,7 +12083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -11922,7 +12110,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1453, @@ -11965,7 +12154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1457, @@ -12026,7 +12216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1461, @@ -12060,7 +12251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1462, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1463, @@ -12080,7 +12272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -12118,7 +12311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -12144,7 +12338,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1465, @@ -12187,7 +12382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1469, @@ -12248,7 +12444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1473, @@ -12282,7 +12479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1474, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1475, @@ -12302,7 +12500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -12340,7 +12539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -12366,7 +12566,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result=(result+a/result)\u003e\u003e1;" }, { "id": 1477, @@ -12421,7 +12622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "result" }, { "id": 1481, @@ -12455,7 +12657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1482, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1483, @@ -12475,7 +12678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -12501,7 +12705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "min" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -12643,7 +12848,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsqrt(uint256a)internalpurereturns(uint256){if(a==0){return0;}uint256result=1;uint256x=a;if(x\u003e\u003e128\u003e0){x\u003e\u003e=128;result\u003c\u003c=64;}if(x\u003e\u003e64\u003e0){x\u003e\u003e=64;result\u003c\u003c=32;}if(x\u003e\u003e32\u003e0){x\u003e\u003e=32;result\u003c\u003c=16;}if(x\u003e\u003e16\u003e0){x\u003e\u003e=16;result\u003c\u003c=8;}if(x\u003e\u003e8\u003e0){x\u003e\u003e=8;result\u003c\u003c=4;}if(x\u003e\u003e4\u003e0){x\u003e\u003e=4;result\u003c\u003c=2;}if(x\u003e\u003e2\u003e0){result\u003c\u003c=1;}unchecked{result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;result=(result+a/result)\u003e\u003e1;returnmin(result,a/result);}}" }, { "id": 1485, @@ -12777,7 +12983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1501, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -12798,7 +13005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "sqrt" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -12861,7 +13069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1506, - "is_pure": false + "is_pure": false, + "text": "rounding" }, "right_expression": { "id": 1507, @@ -12904,14 +13113,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "Rounding" }, "member_name": "Up", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_Rounding_$911", "type_string": "enum Math.Rounding" - } + }, + "text": "Rounding.Up" }, "type_description": { "type_identifier": "t_bool", @@ -12964,7 +13175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1512, @@ -12984,7 +13196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "result" }, "type_description": { "type_identifier": "t_uint256", @@ -13009,7 +13222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1513, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -13083,7 +13297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1014, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 1518, @@ -13105,7 +13320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -13115,7 +13331,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "result+=1;" } ] } @@ -13150,7 +13367,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -13343,13 +13561,14 @@ } ] }, - "signature_raw": "sqrt(uint256, )", - "signature": "ef9a63ed", + "signature_raw": "sqrt(uint256,)", + "signature": "6e548084", "scope": 909, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_enum_$_Rounding_$911$", "type_string": "function(uint256,enum Math.Rounding)" - } + }, + "text": "functionsqrt(uint256a,Roundingrounding)internalpurereturns(uint256){uint256result=sqrt(a);if(rounding==Rounding.Up\u0026\u0026result*result\u003ca){result+=1;}returnresult;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Multicallable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Multicallable.solgo.ast.json index 4747ea4b..027835f0 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Multicallable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Multicallable.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 3820, + "id": 3821, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 3820, + "id": 3821, "name": "Multicallable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Multicallable.sol" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 3838, + "id": 3839, "node_type": 10, "src": { "line": 1874, @@ -22,7 +22,7 @@ "start": 66405, "end": 66427, "length": 23, - "parent_index": 3820 + "parent_index": 3821 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity ^0.8.4;" }, { - "id": 3867, + "id": 3868, "name": "Multicallable", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 67069, "end": 69595, "length": 2527, - "parent_index": 3820 + "parent_index": 3821 }, "name_location": { "line": 1884, @@ -55,14 +55,14 @@ "start": 67087, "end": 67099, "length": 13, - "parent_index": 3867 + "parent_index": 3868 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3869, + "id": 3870, "name": "multicall", "node_type": 42, "kind": 41, @@ -72,7 +72,7 @@ "start": 67107, "end": 69593, "length": 2487, - "parent_index": 3867 + "parent_index": 3868 }, "name_location": { "line": 1885, @@ -80,10 +80,10 @@ "start": 67116, "end": 67124, "length": 9, - "parent_index": 3869 + "parent_index": 3870 }, "body": { - "id": 3876, + "id": 3877, "node_type": 46, "kind": 0, "src": { @@ -92,12 +92,12 @@ "start": 67197, "end": 69593, "length": 2397, - "parent_index": 3869 + "parent_index": 3870 }, "implemented": true, "statements": [ { - "id": 3877, + "id": 3878, "node_type": 89, "src": { "line": 1886, @@ -105,10 +105,10 @@ "start": 67207, "end": 69587, "length": 2381, - "parent_index": 3876 + "parent_index": 3877 }, "body": { - "id": 3878, + "id": 3879, "node_type": 111, "kind": 0, "src": { @@ -117,12 +117,12 @@ "start": 67207, "end": 69587, "length": 2381, - "parent_index": 3877 + "parent_index": 3878 }, "implemented": false, "statements": [ { - "id": 3879, + "id": 3880, "node_type": 91, "src": { "line": 1887, @@ -130,11 +130,11 @@ "start": 67230, "end": 69577, "length": 2348, - "parent_index": 3877 + "parent_index": 3878 }, "statements": [ { - "id": 3880, + "id": 3881, "node_type": 120, "src": { "line": 1887, @@ -142,11 +142,11 @@ "start": 67230, "end": 69577, "length": 2348, - "parent_index": 3877 + "parent_index": 3878 }, "condition": null, "body": { - "id": 3881, + "id": 3882, "node_type": 111, "src": { "line": 1887, @@ -154,11 +154,11 @@ "start": 67245, "end": 69577, "length": 2333, - "parent_index": 3880 + "parent_index": 3881 }, "statements": [ { - "id": 3882, + "id": 3883, "node_type": 91, "src": { "line": 1888, @@ -166,11 +166,11 @@ "start": 67263, "end": 67284, "length": 22, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3883, + "id": 3884, "node_type": 92, "src": { "line": 1888, @@ -178,11 +178,11 @@ "start": 67263, "end": 67284, "length": 22, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 3884, + "id": 3885, "node_type": 107, "src": { "line": 1888, @@ -190,13 +190,13 @@ "start": 67263, "end": 67269, "length": 7, - "parent_index": 3883 + "parent_index": 3884 }, "name": "results" } ], "value": { - "id": 3885, + "id": 3886, "node_type": 123, "src": { "line": 1888, @@ -204,10 +204,10 @@ "start": 67274, "end": 67278, "length": 5, - "parent_index": 3883 + "parent_index": 3884 }, "expression": { - "id": 3886, + "id": 3887, "node_type": 110, "src": { "line": 1888, @@ -215,10 +215,10 @@ "start": 67274, "end": 67284, "length": 11, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3887, + "id": 3888, "node_type": 107, "src": { "line": 1888, @@ -226,13 +226,13 @@ "start": 67274, "end": 67278, "length": 5, - "parent_index": 3886 + "parent_index": 3887 }, "name": "mload" }, "arguments": [ { - "id": 3888, + "id": 3889, "node_type": 109, "kind": 124, "src": { @@ -241,7 +241,7 @@ "start": 67280, "end": 67283, "length": 4, - "parent_index": 3886 + "parent_index": 3887 }, "value": "64", "hex_value": "0x40" @@ -253,7 +253,7 @@ ] }, { - "id": 3889, + "id": 3890, "node_type": 91, "src": { "line": 1889, @@ -261,11 +261,11 @@ "start": 67346, "end": 67373, "length": 28, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3890, + "id": 3891, "node_type": 110, "src": { "line": 1889, @@ -273,10 +273,10 @@ "start": 67346, "end": 67373, "length": 28, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3891, + "id": 3892, "node_type": 107, "src": { "line": 1889, @@ -284,13 +284,13 @@ "start": 67346, "end": 67351, "length": 6, - "parent_index": 3890 + "parent_index": 3891 }, "name": "mstore" }, "arguments": [ { - "id": 3892, + "id": 3893, "node_type": 107, "src": { "line": 1889, @@ -298,12 +298,12 @@ "start": 67353, "end": 67359, "length": 7, - "parent_index": 3890 + "parent_index": 3891 }, "name": "results" }, { - "id": 3893, + "id": 3894, "node_type": 107, "src": { "line": 1889, @@ -311,12 +311,12 @@ "start": 67362, "end": 67365, "length": 4, - "parent_index": 3890 + "parent_index": 3891 }, "name": "data" }, { - "id": 3894, + "id": 3895, "node_type": 107, "src": { "line": 1889, @@ -324,7 +324,7 @@ "start": 67367, "end": 67372, "length": 6, - "parent_index": 3890 + "parent_index": 3891 }, "name": "length" } @@ -333,7 +333,7 @@ ] }, { - "id": 3895, + "id": 3896, "node_type": 91, "src": { "line": 1890, @@ -341,11 +341,11 @@ "start": 67430, "end": 67458, "length": 29, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3896, + "id": 3897, "node_type": 92, "src": { "line": 1890, @@ -353,11 +353,11 @@ "start": 67430, "end": 67458, "length": 29, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 3897, + "id": 3898, "node_type": 107, "src": { "line": 1890, @@ -365,13 +365,13 @@ "start": 67430, "end": 67436, "length": 7, - "parent_index": 3896 + "parent_index": 3897 }, "name": "results" } ], "value": { - "id": 3898, + "id": 3899, "node_type": 123, "src": { "line": 1890, @@ -379,10 +379,10 @@ "start": 67441, "end": 67443, "length": 3, - "parent_index": 3896 + "parent_index": 3897 }, "expression": { - "id": 3899, + "id": 3900, "node_type": 110, "src": { "line": 1890, @@ -390,10 +390,10 @@ "start": 67441, "end": 67458, "length": 18, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3900, + "id": 3901, "node_type": 107, "src": { "line": 1890, @@ -401,13 +401,13 @@ "start": 67441, "end": 67443, "length": 3, - "parent_index": 3899 + "parent_index": 3900 }, "name": "add" }, "arguments": [ { - "id": 3901, + "id": 3902, "node_type": 107, "src": { "line": 1890, @@ -415,12 +415,12 @@ "start": 67445, "end": 67451, "length": 7, - "parent_index": 3899 + "parent_index": 3900 }, "name": "results" }, { - "id": 3902, + "id": 3903, "node_type": 109, "kind": 124, "src": { @@ -429,7 +429,7 @@ "start": 67454, "end": 67457, "length": 4, - "parent_index": 3899 + "parent_index": 3900 }, "value": "32", "hex_value": "0x20" @@ -441,7 +441,7 @@ ] }, { - "id": 3903, + "id": 3904, "node_type": 91, "src": { "line": 1893, @@ -449,11 +449,11 @@ "start": 67542, "end": 67571, "length": 30, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3904, + "id": 3905, "node_type": 122, "src": { "line": 1893, @@ -461,11 +461,11 @@ "start": 67542, "end": 67571, "length": 30, - "parent_index": 3903 + "parent_index": 3904 }, "let": true, "value": { - "id": 3906, + "id": 3907, "node_type": 123, "src": { "line": 1893, @@ -473,10 +473,10 @@ "start": 67553, "end": 67555, "length": 3, - "parent_index": 3904 + "parent_index": 3905 }, "expression": { - "id": 3907, + "id": 3908, "node_type": 110, "src": { "line": 1893, @@ -484,10 +484,10 @@ "start": 67553, "end": 67571, "length": 19, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3908, + "id": 3909, "node_type": 107, "src": { "line": 1893, @@ -495,13 +495,13 @@ "start": 67553, "end": 67555, "length": 3, - "parent_index": 3907 + "parent_index": 3908 }, "name": "shl" }, "arguments": [ { - "id": 3909, + "id": 3910, "node_type": 109, "kind": 115, "src": { @@ -510,13 +510,13 @@ "start": 67557, "end": 67557, "length": 1, - "parent_index": 3907 + "parent_index": 3908 }, "value": "5", "hex_value": "" }, { - "id": 3910, + "id": 3911, "node_type": 107, "src": { "line": 1893, @@ -524,12 +524,12 @@ "start": 67560, "end": 67563, "length": 4, - "parent_index": 3907 + "parent_index": 3908 }, "name": "data" }, { - "id": 3911, + "id": 3912, "node_type": 107, "src": { "line": 1893, @@ -537,7 +537,7 @@ "start": 67565, "end": 67570, "length": 6, - "parent_index": 3907 + "parent_index": 3908 }, "name": "length" } @@ -546,7 +546,7 @@ }, "variables": [ { - "id": 3905, + "id": 3906, "node_type": 107, "src": { "line": 1893, @@ -554,7 +554,7 @@ "start": 67546, "end": 67548, "length": 3, - "parent_index": 3904 + "parent_index": 3905 }, "name": "end" } @@ -563,7 +563,7 @@ ] }, { - "id": 3912, + "id": 3913, "node_type": 91, "src": { "line": 1895, @@ -571,11 +571,11 @@ "start": 67652, "end": 67690, "length": 39, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3913, + "id": 3914, "node_type": 110, "src": { "line": 1895, @@ -583,10 +583,10 @@ "start": 67652, "end": 67690, "length": 39, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3914, + "id": 3915, "node_type": 107, "src": { "line": 1895, @@ -594,13 +594,13 @@ "start": 67652, "end": 67663, "length": 12, - "parent_index": 3913 + "parent_index": 3914 }, "name": "calldatacopy" }, "arguments": [ { - "id": 3915, + "id": 3916, "node_type": 107, "src": { "line": 1895, @@ -608,12 +608,12 @@ "start": 67665, "end": 67671, "length": 7, - "parent_index": 3913 + "parent_index": 3914 }, "name": "results" }, { - "id": 3916, + "id": 3917, "node_type": 107, "src": { "line": 1895, @@ -621,12 +621,12 @@ "start": 67674, "end": 67677, "length": 4, - "parent_index": 3913 + "parent_index": 3914 }, "name": "data" }, { - "id": 3917, + "id": 3918, "node_type": 107, "src": { "line": 1895, @@ -634,12 +634,12 @@ "start": 67679, "end": 67684, "length": 6, - "parent_index": 3913 + "parent_index": 3914 }, "name": "offset" }, { - "id": 3918, + "id": 3919, "node_type": 107, "src": { "line": 1895, @@ -647,7 +647,7 @@ "start": 67687, "end": 67689, "length": 3, - "parent_index": 3913 + "parent_index": 3914 }, "name": "end" } @@ -656,7 +656,7 @@ ] }, { - "id": 3919, + "id": 3920, "node_type": 91, "src": { "line": 1897, @@ -664,11 +664,11 @@ "start": 67793, "end": 67823, "length": 31, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3920, + "id": 3921, "node_type": 122, "src": { "line": 1897, @@ -676,11 +676,11 @@ "start": 67793, "end": 67823, "length": 31, - "parent_index": 3919 + "parent_index": 3920 }, "let": true, "value": { - "id": 3922, + "id": 3923, "node_type": 123, "src": { "line": 1897, @@ -688,10 +688,10 @@ "start": 67807, "end": 67809, "length": 3, - "parent_index": 3920 + "parent_index": 3921 }, "expression": { - "id": 3923, + "id": 3924, "node_type": 110, "src": { "line": 1897, @@ -699,10 +699,10 @@ "start": 67807, "end": 67823, "length": 17, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3924, + "id": 3925, "node_type": 107, "src": { "line": 1897, @@ -710,13 +710,13 @@ "start": 67807, "end": 67809, "length": 3, - "parent_index": 3923 + "parent_index": 3924 }, "name": "add" }, "arguments": [ { - "id": 3925, + "id": 3926, "node_type": 107, "src": { "line": 1897, @@ -724,12 +724,12 @@ "start": 67811, "end": 67817, "length": 7, - "parent_index": 3923 + "parent_index": 3924 }, "name": "results" }, { - "id": 3926, + "id": 3927, "node_type": 107, "src": { "line": 1897, @@ -737,7 +737,7 @@ "start": 67820, "end": 67822, "length": 3, - "parent_index": 3923 + "parent_index": 3924 }, "name": "end" } @@ -746,7 +746,7 @@ }, "variables": [ { - "id": 3921, + "id": 3922, "node_type": 107, "src": { "line": 1897, @@ -754,7 +754,7 @@ "start": 67797, "end": 67802, "length": 6, - "parent_index": 3920 + "parent_index": 3921 }, "name": "memPtr" } @@ -763,7 +763,7 @@ ] }, { - "id": 3927, + "id": 3928, "node_type": 91, "src": { "line": 1898, @@ -771,11 +771,11 @@ "start": 67841, "end": 67864, "length": 24, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3928, + "id": 3929, "node_type": 92, "src": { "line": 1898, @@ -783,11 +783,11 @@ "start": 67841, "end": 67864, "length": 24, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 3929, + "id": 3930, "node_type": 107, "src": { "line": 1898, @@ -795,13 +795,13 @@ "start": 67841, "end": 67843, "length": 3, - "parent_index": 3928 + "parent_index": 3929 }, "name": "end" } ], "value": { - "id": 3930, + "id": 3931, "node_type": 123, "src": { "line": 1898, @@ -809,10 +809,10 @@ "start": 67848, "end": 67850, "length": 3, - "parent_index": 3928 + "parent_index": 3929 }, "expression": { - "id": 3931, + "id": 3932, "node_type": 110, "src": { "line": 1898, @@ -820,10 +820,10 @@ "start": 67848, "end": 67864, "length": 17, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3932, + "id": 3933, "node_type": 107, "src": { "line": 1898, @@ -831,13 +831,13 @@ "start": 67848, "end": 67850, "length": 3, - "parent_index": 3931 + "parent_index": 3932 }, "name": "add" }, "arguments": [ { - "id": 3933, + "id": 3934, "node_type": 107, "src": { "line": 1898, @@ -845,12 +845,12 @@ "start": 67852, "end": 67858, "length": 7, - "parent_index": 3931 + "parent_index": 3932 }, "name": "results" }, { - "id": 3934, + "id": 3935, "node_type": 107, "src": { "line": 1898, @@ -858,7 +858,7 @@ "start": 67861, "end": 67863, "length": 3, - "parent_index": 3931 + "parent_index": 3932 }, "name": "end" } @@ -869,7 +869,7 @@ ] }, { - "id": 3935, + "id": 3936, "node_type": 91, "src": { "line": 1901, @@ -877,11 +877,11 @@ "start": 67918, "end": 69422, "length": 1505, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 3936, + "id": 3937, "node_type": 119, "src": { "line": 1901, @@ -889,10 +889,10 @@ "start": 67918, "end": 69422, "length": 1505, - "parent_index": 3877 + "parent_index": 3878 }, "pre": { - "id": 3938, + "id": 3939, "node_type": 111, "src": { "line": 1901, @@ -900,12 +900,12 @@ "start": 67922, "end": 67923, "length": 2, - "parent_index": 3936 + "parent_index": 3937 }, "statements": [] }, "post": { - "id": 3939, + "id": 3940, "node_type": 111, "src": { "line": 1901, @@ -913,12 +913,12 @@ "start": 67927, "end": 67928, "length": 2, - "parent_index": 3936 + "parent_index": 3937 }, "statements": [] }, "condition": { - "id": 3937, + "id": 3938, "node_type": 109, "kind": 115, "src": { @@ -927,13 +927,13 @@ "start": 67925, "end": 67925, "length": 1, - "parent_index": 3936 + "parent_index": 3937 }, "value": "1", "hex_value": "" }, "body": { - "id": 3940, + "id": 3941, "node_type": 111, "src": { "line": 1901, @@ -941,11 +941,11 @@ "start": 67930, "end": 69422, "length": 1493, - "parent_index": 3936 + "parent_index": 3937 }, "statements": [ { - "id": 3941, + "id": 3942, "node_type": 91, "src": { "line": 1903, @@ -953,11 +953,11 @@ "start": 68024, "end": 68064, "length": 41, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3942, + "id": 3943, "node_type": 122, "src": { "line": 1903, @@ -965,11 +965,11 @@ "start": 68024, "end": 68064, "length": 41, - "parent_index": 3941 + "parent_index": 3942 }, "let": true, "value": { - "id": 3944, + "id": 3945, "node_type": 123, "src": { "line": 1903, @@ -977,10 +977,10 @@ "start": 68033, "end": 68035, "length": 3, - "parent_index": 3942 + "parent_index": 3943 }, "expression": { - "id": 3945, + "id": 3946, "node_type": 110, "src": { "line": 1903, @@ -988,10 +988,10 @@ "start": 68033, "end": 68064, "length": 32, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3946, + "id": 3947, "node_type": 107, "src": { "line": 1903, @@ -999,13 +999,13 @@ "start": 68033, "end": 68035, "length": 3, - "parent_index": 3945 + "parent_index": 3946 }, "name": "add" }, "arguments": [ { - "id": 3947, + "id": 3948, "node_type": 107, "src": { "line": 1903, @@ -1013,12 +1013,12 @@ "start": 68037, "end": 68040, "length": 4, - "parent_index": 3945 + "parent_index": 3946 }, "name": "data" }, { - "id": 3948, + "id": 3949, "node_type": 107, "src": { "line": 1903, @@ -1026,12 +1026,12 @@ "start": 68042, "end": 68047, "length": 6, - "parent_index": 3945 + "parent_index": 3946 }, "name": "offset" }, { - "id": 3949, + "id": 3950, "node_type": 110, "src": { "line": 1903, @@ -1039,10 +1039,10 @@ "start": 68050, "end": 68063, "length": 14, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3950, + "id": 3951, "node_type": 107, "src": { "line": 1903, @@ -1050,13 +1050,13 @@ "start": 68050, "end": 68054, "length": 5, - "parent_index": 3949 + "parent_index": 3950 }, "name": "mload" }, "arguments": [ { - "id": 3951, + "id": 3952, "node_type": 107, "src": { "line": 1903, @@ -1064,7 +1064,7 @@ "start": 68056, "end": 68062, "length": 7, - "parent_index": 3949 + "parent_index": 3950 }, "name": "results" } @@ -1075,7 +1075,7 @@ }, "variables": [ { - "id": 3943, + "id": 3944, "node_type": 107, "src": { "line": 1903, @@ -1083,7 +1083,7 @@ "start": 68028, "end": 68028, "length": 1, - "parent_index": 3942 + "parent_index": 3943 }, "name": "o" } @@ -1092,7 +1092,7 @@ ] }, { - "id": 3952, + "id": 3953, "node_type": 91, "src": { "line": 1905, @@ -1100,11 +1100,11 @@ "start": 68161, "end": 68384, "length": 224, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3953, + "id": 3954, "node_type": 110, "src": { "line": 1905, @@ -1112,10 +1112,10 @@ "start": 68161, "end": 68384, "length": 224, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3954, + "id": 3955, "node_type": 107, "src": { "line": 1905, @@ -1123,13 +1123,13 @@ "start": 68161, "end": 68172, "length": 12, - "parent_index": 3953 + "parent_index": 3954 }, "name": "calldatacopy" }, "arguments": [ { - "id": 3955, + "id": 3956, "node_type": 107, "src": { "line": 1906, @@ -1137,12 +1137,12 @@ "start": 68199, "end": 68204, "length": 6, - "parent_index": 3953 + "parent_index": 3954 }, "name": "memPtr" }, { - "id": 3956, + "id": 3957, "node_type": 110, "src": { "line": 1907, @@ -1150,10 +1150,10 @@ "start": 68231, "end": 68242, "length": 12, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3957, + "id": 3958, "node_type": 107, "src": { "line": 1907, @@ -1161,13 +1161,13 @@ "start": 68231, "end": 68233, "length": 3, - "parent_index": 3956 + "parent_index": 3957 }, "name": "add" }, "arguments": [ { - "id": 3958, + "id": 3959, "node_type": 107, "src": { "line": 1907, @@ -1175,12 +1175,12 @@ "start": 68235, "end": 68235, "length": 1, - "parent_index": 3956 + "parent_index": 3957 }, "name": "o" }, { - "id": 3959, + "id": 3960, "node_type": 109, "kind": 124, "src": { @@ -1189,7 +1189,7 @@ "start": 68238, "end": 68241, "length": 4, - "parent_index": 3956 + "parent_index": 3957 }, "value": "32", "hex_value": "0x20" @@ -1197,7 +1197,7 @@ ] }, { - "id": 3960, + "id": 3961, "node_type": 110, "src": { "line": 1908, @@ -1205,10 +1205,10 @@ "start": 68312, "end": 68326, "length": 15, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3961, + "id": 3962, "node_type": 107, "src": { "line": 1908, @@ -1216,13 +1216,13 @@ "start": 68312, "end": 68323, "length": 12, - "parent_index": 3960 + "parent_index": 3961 }, "name": "calldataload" }, "arguments": [ { - "id": 3962, + "id": 3963, "node_type": 107, "src": { "line": 1908, @@ -1230,7 +1230,7 @@ "start": 68325, "end": 68325, "length": 1, - "parent_index": 3960 + "parent_index": 3961 }, "name": "o" } @@ -1241,7 +1241,7 @@ ] }, { - "id": 3963, + "id": 3964, "node_type": 91, "src": { "line": 1910, @@ -1249,11 +1249,11 @@ "start": 68406, "end": 68708, "length": 303, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3964, + "id": 3965, "node_type": 120, "src": { "line": 1910, @@ -1261,10 +1261,10 @@ "start": 68406, "end": 68708, "length": 303, - "parent_index": 3877 + "parent_index": 3878 }, "condition": { - "id": 3965, + "id": 3966, "node_type": 110, "src": { "line": 1910, @@ -1272,10 +1272,10 @@ "start": 68409, "end": 68483, "length": 75, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3966, + "id": 3967, "node_type": 107, "src": { "line": 1910, @@ -1283,13 +1283,13 @@ "start": 68409, "end": 68414, "length": 6, - "parent_index": 3965 + "parent_index": 3966 }, "name": "iszero" }, "arguments": [ { - "id": 3967, + "id": 3968, "node_type": 110, "src": { "line": 1910, @@ -1297,10 +1297,10 @@ "start": 68416, "end": 68482, "length": 67, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3968, + "id": 3969, "node_type": 107, "src": { "line": 1910, @@ -1308,13 +1308,13 @@ "start": 68416, "end": 68427, "length": 12, - "parent_index": 3967 + "parent_index": 3968 }, "name": "delegatecall" }, "arguments": [ { - "id": 3969, + "id": 3970, "node_type": 110, "src": { "line": 1910, @@ -1322,10 +1322,10 @@ "start": 68429, "end": 68433, "length": 5, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3970, + "id": 3971, "node_type": 107, "src": { "line": 1910, @@ -1333,14 +1333,14 @@ "start": 68429, "end": 68431, "length": 3, - "parent_index": 3969 + "parent_index": 3970 }, "name": "gas" }, "arguments": [] }, { - "id": 3971, + "id": 3972, "node_type": 110, "src": { "line": 1910, @@ -1348,10 +1348,10 @@ "start": 68436, "end": 68444, "length": 9, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3972, + "id": 3973, "node_type": 107, "src": { "line": 1910, @@ -1359,14 +1359,14 @@ "start": 68436, "end": 68442, "length": 7, - "parent_index": 3971 + "parent_index": 3972 }, "name": "address" }, "arguments": [] }, { - "id": 3973, + "id": 3974, "node_type": 107, "src": { "line": 1910, @@ -1374,12 +1374,12 @@ "start": 68447, "end": 68452, "length": 6, - "parent_index": 3967 + "parent_index": 3968 }, "name": "memPtr" }, { - "id": 3974, + "id": 3975, "node_type": 110, "src": { "line": 1910, @@ -1387,10 +1387,10 @@ "start": 68455, "end": 68469, "length": 15, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3975, + "id": 3976, "node_type": 107, "src": { "line": 1910, @@ -1398,13 +1398,13 @@ "start": 68455, "end": 68466, "length": 12, - "parent_index": 3974 + "parent_index": 3975 }, "name": "calldataload" }, "arguments": [ { - "id": 3976, + "id": 3977, "node_type": 107, "src": { "line": 1910, @@ -1412,14 +1412,14 @@ "start": 68468, "end": 68468, "length": 1, - "parent_index": 3974 + "parent_index": 3975 }, "name": "o" } ] }, { - "id": 3977, + "id": 3978, "node_type": 109, "kind": 124, "src": { @@ -1428,13 +1428,13 @@ "start": 68472, "end": 68475, "length": 4, - "parent_index": 3967 + "parent_index": 3968 }, "value": "0", "hex_value": "0x00" }, { - "id": 3978, + "id": 3979, "node_type": 109, "kind": 124, "src": { @@ -1443,7 +1443,7 @@ "start": 68478, "end": 68481, "length": 4, - "parent_index": 3967 + "parent_index": 3968 }, "value": "0", "hex_value": "0x00" @@ -1453,7 +1453,7 @@ ] }, "body": { - "id": 3979, + "id": 3980, "node_type": 111, "src": { "line": 1910, @@ -1461,11 +1461,11 @@ "start": 68485, "end": 68708, "length": 224, - "parent_index": 3964 + "parent_index": 3965 }, "statements": [ { - "id": 3980, + "id": 3981, "node_type": 91, "src": { "line": 1912, @@ -1473,11 +1473,11 @@ "start": 68588, "end": 68631, "length": 44, - "parent_index": 3979 + "parent_index": 3980 }, "statements": [ { - "id": 3981, + "id": 3982, "node_type": 110, "src": { "line": 1912, @@ -1485,10 +1485,10 @@ "start": 68588, "end": 68631, "length": 44, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3982, + "id": 3983, "node_type": 107, "src": { "line": 1912, @@ -1496,13 +1496,13 @@ "start": 68588, "end": 68601, "length": 14, - "parent_index": 3981 + "parent_index": 3982 }, "name": "returndatacopy" }, "arguments": [ { - "id": 3983, + "id": 3984, "node_type": 109, "kind": 124, "src": { @@ -1511,13 +1511,13 @@ "start": 68603, "end": 68606, "length": 4, - "parent_index": 3981 + "parent_index": 3982 }, "value": "0", "hex_value": "0x00" }, { - "id": 3984, + "id": 3985, "node_type": 109, "kind": 124, "src": { @@ -1526,13 +1526,13 @@ "start": 68609, "end": 68612, "length": 4, - "parent_index": 3981 + "parent_index": 3982 }, "value": "0", "hex_value": "0x00" }, { - "id": 3985, + "id": 3986, "node_type": 110, "src": { "line": 1912, @@ -1540,10 +1540,10 @@ "start": 68615, "end": 68630, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3986, + "id": 3987, "node_type": 107, "src": { "line": 1912, @@ -1551,7 +1551,7 @@ "start": 68615, "end": 68628, "length": 14, - "parent_index": 3985 + "parent_index": 3986 }, "name": "returndatasize" }, @@ -1562,7 +1562,7 @@ ] }, { - "id": 3987, + "id": 3988, "node_type": 91, "src": { "line": 1913, @@ -1570,11 +1570,11 @@ "start": 68657, "end": 68686, "length": 30, - "parent_index": 3979 + "parent_index": 3980 }, "statements": [ { - "id": 3988, + "id": 3989, "node_type": 110, "src": { "line": 1913, @@ -1582,10 +1582,10 @@ "start": 68657, "end": 68686, "length": 30, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3989, + "id": 3990, "node_type": 107, "src": { "line": 1913, @@ -1593,13 +1593,13 @@ "start": 68657, "end": 68662, "length": 6, - "parent_index": 3988 + "parent_index": 3989 }, "name": "revert" }, "arguments": [ { - "id": 3990, + "id": 3991, "node_type": 109, "kind": 124, "src": { @@ -1608,13 +1608,13 @@ "start": 68664, "end": 68667, "length": 4, - "parent_index": 3988 + "parent_index": 3989 }, "value": "0", "hex_value": "0x00" }, { - "id": 3991, + "id": 3992, "node_type": 110, "src": { "line": 1913, @@ -1622,10 +1622,10 @@ "start": 68670, "end": 68685, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3992, + "id": 3993, "node_type": 107, "src": { "line": 1913, @@ -1633,7 +1633,7 @@ "start": 68670, "end": 68683, "length": 14, - "parent_index": 3991 + "parent_index": 3992 }, "name": "returndatasize" }, @@ -1649,7 +1649,7 @@ ] }, { - "id": 3993, + "id": 3994, "node_type": 91, "src": { "line": 1916, @@ -1657,11 +1657,11 @@ "start": 68797, "end": 68819, "length": 23, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3994, + "id": 3995, "node_type": 110, "src": { "line": 1916, @@ -1669,10 +1669,10 @@ "start": 68797, "end": 68819, "length": 23, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 3995, + "id": 3996, "node_type": 107, "src": { "line": 1916, @@ -1680,13 +1680,13 @@ "start": 68797, "end": 68802, "length": 6, - "parent_index": 3994 + "parent_index": 3995 }, "name": "mstore" }, "arguments": [ { - "id": 3996, + "id": 3997, "node_type": 107, "src": { "line": 1916, @@ -1694,12 +1694,12 @@ "start": 68804, "end": 68810, "length": 7, - "parent_index": 3994 + "parent_index": 3995 }, "name": "results" }, { - "id": 3997, + "id": 3998, "node_type": 107, "src": { "line": 1916, @@ -1707,7 +1707,7 @@ "start": 68813, "end": 68818, "length": 6, - "parent_index": 3994 + "parent_index": 3995 }, "name": "memPtr" } @@ -1716,7 +1716,7 @@ ] }, { - "id": 3998, + "id": 3999, "node_type": 91, "src": { "line": 1917, @@ -1724,11 +1724,11 @@ "start": 68841, "end": 68869, "length": 29, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 3999, + "id": 4000, "node_type": 92, "src": { "line": 1917, @@ -1736,11 +1736,11 @@ "start": 68841, "end": 68869, "length": 29, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 4000, + "id": 4001, "node_type": 107, "src": { "line": 1917, @@ -1748,13 +1748,13 @@ "start": 68841, "end": 68847, "length": 7, - "parent_index": 3999 + "parent_index": 4000 }, "name": "results" } ], "value": { - "id": 4001, + "id": 4002, "node_type": 123, "src": { "line": 1917, @@ -1762,10 +1762,10 @@ "start": 68852, "end": 68854, "length": 3, - "parent_index": 3999 + "parent_index": 4000 }, "expression": { - "id": 4002, + "id": 4003, "node_type": 110, "src": { "line": 1917, @@ -1773,10 +1773,10 @@ "start": 68852, "end": 68869, "length": 18, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4003, + "id": 4004, "node_type": 107, "src": { "line": 1917, @@ -1784,13 +1784,13 @@ "start": 68852, "end": 68854, "length": 3, - "parent_index": 4002 + "parent_index": 4003 }, "name": "add" }, "arguments": [ { - "id": 4004, + "id": 4005, "node_type": 107, "src": { "line": 1917, @@ -1798,12 +1798,12 @@ "start": 68856, "end": 68862, "length": 7, - "parent_index": 4002 + "parent_index": 4003 }, "name": "results" }, { - "id": 4005, + "id": 4006, "node_type": 109, "kind": 124, "src": { @@ -1812,7 +1812,7 @@ "start": 68865, "end": 68868, "length": 4, - "parent_index": 4002 + "parent_index": 4003 }, "value": "32", "hex_value": "0x20" @@ -1824,7 +1824,7 @@ ] }, { - "id": 4006, + "id": 4007, "node_type": 91, "src": { "line": 1919, @@ -1832,11 +1832,11 @@ "start": 68966, "end": 68997, "length": 32, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 4007, + "id": 4008, "node_type": 110, "src": { "line": 1919, @@ -1844,10 +1844,10 @@ "start": 68966, "end": 68997, "length": 32, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4008, + "id": 4009, "node_type": 107, "src": { "line": 1919, @@ -1855,13 +1855,13 @@ "start": 68966, "end": 68971, "length": 6, - "parent_index": 4007 + "parent_index": 4008 }, "name": "mstore" }, "arguments": [ { - "id": 4009, + "id": 4010, "node_type": 107, "src": { "line": 1919, @@ -1869,12 +1869,12 @@ "start": 68973, "end": 68978, "length": 6, - "parent_index": 4007 + "parent_index": 4008 }, "name": "memPtr" }, { - "id": 4010, + "id": 4011, "node_type": 110, "src": { "line": 1919, @@ -1882,10 +1882,10 @@ "start": 68981, "end": 68996, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4011, + "id": 4012, "node_type": 107, "src": { "line": 1919, @@ -1893,7 +1893,7 @@ "start": 68981, "end": 68994, "length": 14, - "parent_index": 4010 + "parent_index": 4011 }, "name": "returndatasize" }, @@ -1904,7 +1904,7 @@ ] }, { - "id": 4012, + "id": 4013, "node_type": 91, "src": { "line": 1920, @@ -1912,11 +1912,11 @@ "start": 69019, "end": 69075, "length": 57, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 4013, + "id": 4014, "node_type": 110, "src": { "line": 1920, @@ -1924,10 +1924,10 @@ "start": 69019, "end": 69075, "length": 57, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4014, + "id": 4015, "node_type": 107, "src": { "line": 1920, @@ -1935,13 +1935,13 @@ "start": 69019, "end": 69032, "length": 14, - "parent_index": 4013 + "parent_index": 4014 }, "name": "returndatacopy" }, "arguments": [ { - "id": 4015, + "id": 4016, "node_type": 110, "src": { "line": 1920, @@ -1949,10 +1949,10 @@ "start": 69034, "end": 69050, "length": 17, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4016, + "id": 4017, "node_type": 107, "src": { "line": 1920, @@ -1960,13 +1960,13 @@ "start": 69034, "end": 69036, "length": 3, - "parent_index": 4015 + "parent_index": 4016 }, "name": "add" }, "arguments": [ { - "id": 4017, + "id": 4018, "node_type": 107, "src": { "line": 1920, @@ -1974,12 +1974,12 @@ "start": 69038, "end": 69043, "length": 6, - "parent_index": 4015 + "parent_index": 4016 }, "name": "memPtr" }, { - "id": 4018, + "id": 4019, "node_type": 109, "kind": 124, "src": { @@ -1988,7 +1988,7 @@ "start": 69046, "end": 69049, "length": 4, - "parent_index": 4015 + "parent_index": 4016 }, "value": "32", "hex_value": "0x20" @@ -1996,7 +1996,7 @@ ] }, { - "id": 4019, + "id": 4020, "node_type": 109, "kind": 124, "src": { @@ -2005,13 +2005,13 @@ "start": 69053, "end": 69056, "length": 4, - "parent_index": 4013 + "parent_index": 4014 }, "value": "0", "hex_value": "0x00" }, { - "id": 4020, + "id": 4021, "node_type": 110, "src": { "line": 1920, @@ -2019,10 +2019,10 @@ "start": 69059, "end": 69074, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4021, + "id": 4022, "node_type": 107, "src": { "line": 1920, @@ -2030,7 +2030,7 @@ "start": 69059, "end": 69072, "length": 14, - "parent_index": 4020 + "parent_index": 4021 }, "name": "returndatasize" }, @@ -2041,7 +2041,7 @@ ] }, { - "id": 4022, + "id": 4023, "node_type": 91, "src": { "line": 1923, @@ -2049,11 +2049,11 @@ "start": 69233, "end": 69307, "length": 75, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 4023, + "id": 4024, "node_type": 92, "src": { "line": 1923, @@ -2061,11 +2061,11 @@ "start": 69233, "end": 69307, "length": 75, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 4024, + "id": 4025, "node_type": 107, "src": { "line": 1923, @@ -2073,13 +2073,13 @@ "start": 69233, "end": 69238, "length": 6, - "parent_index": 4023 + "parent_index": 4024 }, "name": "memPtr" } ], "value": { - "id": 4025, + "id": 4026, "node_type": 123, "src": { "line": 1923, @@ -2087,10 +2087,10 @@ "start": 69243, "end": 69245, "length": 3, - "parent_index": 4023 + "parent_index": 4024 }, "expression": { - "id": 4026, + "id": 4027, "node_type": 110, "src": { "line": 1923, @@ -2098,10 +2098,10 @@ "start": 69243, "end": 69307, "length": 65, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4027, + "id": 4028, "node_type": 107, "src": { "line": 1923, @@ -2109,13 +2109,13 @@ "start": 69243, "end": 69245, "length": 3, - "parent_index": 4026 + "parent_index": 4027 }, "name": "and" }, "arguments": [ { - "id": 4028, + "id": 4029, "node_type": 110, "src": { "line": 1923, @@ -2123,10 +2123,10 @@ "start": 69247, "end": 69286, "length": 40, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4029, + "id": 4030, "node_type": 107, "src": { "line": 1923, @@ -2134,13 +2134,13 @@ "start": 69247, "end": 69249, "length": 3, - "parent_index": 4028 + "parent_index": 4029 }, "name": "add" }, "arguments": [ { - "id": 4030, + "id": 4031, "node_type": 110, "src": { "line": 1923, @@ -2148,10 +2148,10 @@ "start": 69251, "end": 69279, "length": 29, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4031, + "id": 4032, "node_type": 107, "src": { "line": 1923, @@ -2159,13 +2159,13 @@ "start": 69251, "end": 69253, "length": 3, - "parent_index": 4030 + "parent_index": 4031 }, "name": "add" }, "arguments": [ { - "id": 4032, + "id": 4033, "node_type": 107, "src": { "line": 1923, @@ -2173,12 +2173,12 @@ "start": 69255, "end": 69260, "length": 6, - "parent_index": 4030 + "parent_index": 4031 }, "name": "memPtr" }, { - "id": 4033, + "id": 4034, "node_type": 110, "src": { "line": 1923, @@ -2186,10 +2186,10 @@ "start": 69263, "end": 69278, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4034, + "id": 4035, "node_type": 107, "src": { "line": 1923, @@ -2197,7 +2197,7 @@ "start": 69263, "end": 69276, "length": 14, - "parent_index": 4033 + "parent_index": 4034 }, "name": "returndatasize" }, @@ -2206,7 +2206,7 @@ ] }, { - "id": 4035, + "id": 4036, "node_type": 109, "kind": 124, "src": { @@ -2215,7 +2215,7 @@ "start": 69282, "end": 69285, "length": 4, - "parent_index": 4028 + "parent_index": 4029 }, "value": "63", "hex_value": "0x3f" @@ -2223,7 +2223,7 @@ ] }, { - "id": 4036, + "id": 4037, "node_type": 109, "kind": 124, "src": { @@ -2232,7 +2232,7 @@ "start": 69289, "end": 69306, "length": 18, - "parent_index": 4026 + "parent_index": 4027 }, "value": "-32", "hex_value": "0xffffffffffffffe0" @@ -2244,7 +2244,7 @@ ] }, { - "id": 4037, + "id": 4038, "node_type": 91, "src": { "line": 1925, @@ -2252,11 +2252,11 @@ "start": 69368, "end": 69404, "length": 37, - "parent_index": 3940 + "parent_index": 3941 }, "statements": [ { - "id": 4038, + "id": 4039, "node_type": 120, "src": { "line": 1925, @@ -2264,10 +2264,10 @@ "start": 69368, "end": 69404, "length": 37, - "parent_index": 3877 + "parent_index": 3878 }, "condition": { - "id": 4039, + "id": 4040, "node_type": 110, "src": { "line": 1925, @@ -2275,10 +2275,10 @@ "start": 69371, "end": 69394, "length": 24, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4040, + "id": 4041, "node_type": 107, "src": { "line": 1925, @@ -2286,13 +2286,13 @@ "start": 69371, "end": 69376, "length": 6, - "parent_index": 4039 + "parent_index": 4040 }, "name": "iszero" }, "arguments": [ { - "id": 4041, + "id": 4042, "node_type": 110, "src": { "line": 1925, @@ -2300,10 +2300,10 @@ "start": 69378, "end": 69393, "length": 16, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4042, + "id": 4043, "node_type": 107, "src": { "line": 1925, @@ -2311,13 +2311,13 @@ "start": 69378, "end": 69379, "length": 2, - "parent_index": 4041 + "parent_index": 4042 }, "name": "lt" }, "arguments": [ { - "id": 4043, + "id": 4044, "node_type": 107, "src": { "line": 1925, @@ -2325,12 +2325,12 @@ "start": 69381, "end": 69387, "length": 7, - "parent_index": 4041 + "parent_index": 4042 }, "name": "results" }, { - "id": 4044, + "id": 4045, "node_type": 107, "src": { "line": 1925, @@ -2338,7 +2338,7 @@ "start": 69390, "end": 69392, "length": 3, - "parent_index": 4041 + "parent_index": 4042 }, "name": "end" } @@ -2347,7 +2347,7 @@ ] }, "body": { - "id": 4045, + "id": 4046, "node_type": 111, "src": { "line": 1925, @@ -2355,11 +2355,11 @@ "start": 69396, "end": 69404, "length": 9, - "parent_index": 4038 + "parent_index": 4039 }, "statements": [ { - "id": 4046, + "id": 4047, "node_type": 91, "src": { "line": 1925, @@ -2367,11 +2367,11 @@ "start": 69398, "end": 69402, "length": 5, - "parent_index": 4045 + "parent_index": 4046 }, "statements": [ { - "id": 4047, + "id": 4048, "node_type": 117, "src": { "line": 1925, @@ -2379,7 +2379,7 @@ "start": 69398, "end": 69402, "length": 5, - "parent_index": 4046 + "parent_index": 4047 } } ] @@ -2395,7 +2395,7 @@ ] }, { - "id": 4048, + "id": 4049, "node_type": 91, "src": { "line": 1928, @@ -2403,11 +2403,11 @@ "start": 69505, "end": 69526, "length": 22, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 4049, + "id": 4050, "node_type": 92, "src": { "line": 1928, @@ -2415,11 +2415,11 @@ "start": 69505, "end": 69526, "length": 22, - "parent_index": 3877 + "parent_index": 3878 }, "variable_names": [ { - "id": 4050, + "id": 4051, "node_type": 107, "src": { "line": 1928, @@ -2427,13 +2427,13 @@ "start": 69505, "end": 69511, "length": 7, - "parent_index": 4049 + "parent_index": 4050 }, "name": "results" } ], "value": { - "id": 4051, + "id": 4052, "node_type": 123, "src": { "line": 1928, @@ -2441,10 +2441,10 @@ "start": 69516, "end": 69520, "length": 5, - "parent_index": 4049 + "parent_index": 4050 }, "expression": { - "id": 4052, + "id": 4053, "node_type": 110, "src": { "line": 1928, @@ -2452,10 +2452,10 @@ "start": 69516, "end": 69526, "length": 11, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4053, + "id": 4054, "node_type": 107, "src": { "line": 1928, @@ -2463,13 +2463,13 @@ "start": 69516, "end": 69520, "length": 5, - "parent_index": 4052 + "parent_index": 4053 }, "name": "mload" }, "arguments": [ { - "id": 4054, + "id": 4055, "node_type": 109, "kind": 124, "src": { @@ -2478,7 +2478,7 @@ "start": 69522, "end": 69525, "length": 4, - "parent_index": 4052 + "parent_index": 4053 }, "value": "64", "hex_value": "0x40" @@ -2490,7 +2490,7 @@ ] }, { - "id": 4055, + "id": 4056, "node_type": 91, "src": { "line": 1929, @@ -2498,11 +2498,11 @@ "start": 69544, "end": 69563, "length": 20, - "parent_index": 3881 + "parent_index": 3882 }, "statements": [ { - "id": 4056, + "id": 4057, "node_type": 110, "src": { "line": 1929, @@ -2510,10 +2510,10 @@ "start": 69544, "end": 69563, "length": 20, - "parent_index": 3877 + "parent_index": 3878 }, "function_name": { - "id": 4057, + "id": 4058, "node_type": 107, "src": { "line": 1929, @@ -2521,13 +2521,13 @@ "start": 69544, "end": 69549, "length": 6, - "parent_index": 4056 + "parent_index": 4057 }, "name": "mstore" }, "arguments": [ { - "id": 4058, + "id": 4059, "node_type": 109, "kind": 124, "src": { @@ -2536,13 +2536,13 @@ "start": 69551, "end": 69554, "length": 4, - "parent_index": 4056 + "parent_index": 4057 }, "value": "64", "hex_value": "0x40" }, { - "id": 4059, + "id": 4060, "node_type": 107, "src": { "line": 1929, @@ -2550,7 +2550,7 @@ "start": 69557, "end": 69562, "length": 6, - "parent_index": 4056 + "parent_index": 4057 }, "name": "memPtr" } @@ -2575,7 +2575,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3870, + "id": 3871, "node_type": 43, "src": { "line": 1885, @@ -2583,11 +2583,11 @@ "start": 67126, "end": 67146, "length": 21, - "parent_index": 3869 + "parent_index": 3870 }, "parameters": [ { - "id": 3871, + "id": 3872, "node_type": 44, "src": { "line": 1885, @@ -2595,12 +2595,12 @@ "start": 67126, "end": 67146, "length": 21, - "parent_index": 3870 + "parent_index": 3871 }, - "scope": 3869, + "scope": 3870, "name": "data", "type_name": { - "id": 3872, + "id": 3873, "node_type": 16, "src": { "line": 1885, @@ -2608,7 +2608,7 @@ "start": 67126, "end": 67130, "length": 5, - "parent_index": 3871 + "parent_index": 3872 }, "name": "bytes", "referenced_declaration": 0, @@ -2634,7 +2634,7 @@ ] }, "return_parameters": { - "id": 3873, + "id": 3874, "node_type": 43, "src": { "line": 1885, @@ -2642,11 +2642,11 @@ "start": 67173, "end": 67194, "length": 22, - "parent_index": 3869 + "parent_index": 3870 }, "parameters": [ { - "id": 3874, + "id": 3875, "node_type": 44, "src": { "line": 1885, @@ -2654,12 +2654,12 @@ "start": 67173, "end": 67194, "length": 22, - "parent_index": 3873 + "parent_index": 3874 }, - "scope": 3869, + "scope": 3870, "name": "results", "type_name": { - "id": 3875, + "id": 3876, "node_type": 16, "src": { "line": 1885, @@ -2667,7 +2667,7 @@ "start": 67173, "end": 67177, "length": 5, - "parent_index": 3874 + "parent_index": 3875 }, "name": "bytes", "referenced_declaration": 0, @@ -2694,15 +2694,16 @@ }, "signature_raw": "multicall(bytes)", "signature": "29451959", - "scope": 3867, + "scope": 3868, "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionmulticall(bytes[]calldatadata)publicpayablereturns(bytes[]memoryresults){assembly{ifdata.length{results:=mload(0x40)mstore(results,data.length)results:=add(results,0x20)letend:=shl(5,data.length)calldatacopy(results,data.offset,end)letmemPtr:=add(results,end)end:=add(results,end)for{}1{}{leto:=add(data.offset,mload(results))calldatacopy(memPtr,add(o,0x20),calldataload(o))ifiszero(delegatecall(gas(),address(),memPtr,calldataload(o),0x00,0x00)){returndatacopy(0x00,0x00,returndatasize())revert(0x00,returndatasize())}mstore(results,memPtr)results:=add(results,0x20)mstore(memPtr,returndatasize())returndatacopy(add(memPtr,0x20),0x00,returndatasize())memPtr:=and(add(add(memPtr,returndatasize()),0x3f),0xffffffffffffffe0)ifiszero(lt(results,end)){break}}results:=mload(0x40)mstore(0x40,memPtr)}}}" } ], "linearized_base_contracts": [ - 3867 + 3868 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/PausableUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/PausableUpgradeable.solgo.ast.json index 19d426d3..77ecd35f 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/PausableUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/PausableUpgradeable.solgo.ast.json @@ -1,8 +1,8 @@ { - "id": 3655, + "id": 3656, "base_contracts": [ { - "id": 3702, + "id": 3703, "node_type": 62, "src": { "line": 1771, @@ -10,10 +10,10 @@ "start": 63981, "end": 63993, "length": 13, - "parent_index": 3701 + "parent_index": 3702 }, "base_name": { - "id": 3703, + "id": 3704, "node_type": 52, "src": { "line": 1771, @@ -21,14 +21,14 @@ "start": 63981, "end": 63993, "length": 13, - "parent_index": 3701 + "parent_index": 3702 }, "name": "Initializable", "referenced_declaration": 1894 } }, { - "id": 3704, + "id": 3705, "node_type": 62, "src": { "line": 1771, @@ -36,10 +36,10 @@ "start": 63996, "end": 64013, "length": 18, - "parent_index": 3701 + "parent_index": 3702 }, "base_name": { - "id": 3705, + "id": 3706, "node_type": 52, "src": { "line": 1771, @@ -47,7 +47,7 @@ "start": 63996, "end": 64013, "length": 18, - "parent_index": 3701 + "parent_index": 3702 }, "name": "ContextUpgradeable", "referenced_declaration": 2045 @@ -57,17 +57,17 @@ "license": "MIT", "exported_symbols": [ { - "id": 3655, + "id": 3656, "name": "PausableUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/PausableUpgradeable.sol" }, { - "id": 3484, + "id": 3485, "name": "ContextUpgradeable", "absolute_path": "ContextUpgradeable.sol" }, { - "id": 3484, + "id": 3485, "name": "Initializable", "absolute_path": "Initializable.sol" } @@ -77,7 +77,7 @@ "node_type": 1, "nodes": [ { - "id": 3672, + "id": 3673, "node_type": 10, "src": { "line": 1757, @@ -85,7 +85,7 @@ "start": 63409, "end": 63431, "length": 23, - "parent_index": 3655 + "parent_index": 3656 }, "literals": [ "pragma", @@ -101,7 +101,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 3699, + "id": 3700, "node_type": 29, "src": { "line": 1759, @@ -109,18 +109,18 @@ "start": 63434, "end": 63467, "length": 34, - "parent_index": 3655 + "parent_index": 3656 }, "absolute_path": "ContextUpgradeable.sol", "file": "./ContextUpgradeable.sol", - "scope": 3655, + "scope": 3656, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3484 + "source_unit": 3485 }, { - "id": 3700, + "id": 3701, "node_type": 29, "src": { "line": 1760, @@ -128,18 +128,18 @@ "start": 63469, "end": 63497, "length": 29, - "parent_index": 3655 + "parent_index": 3656 }, "absolute_path": "Initializable.sol", "file": "./Initializable.sol", - "scope": 3655, + "scope": 3656, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3484 + "source_unit": 3485 }, { - "id": 3701, + "id": 3702, "name": "PausableUpgradeable", "node_type": 35, "src": { @@ -148,7 +148,7 @@ "start": 63940, "end": 66369, "length": 2430, - "parent_index": 3655 + "parent_index": 3656 }, "name_location": { "line": 1771, @@ -156,14 +156,14 @@ "start": 63958, "end": 63976, "length": 19, - "parent_index": 3701 + "parent_index": 3702 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3707, + "id": 3708, "node_type": 57, "src": { "line": 1775, @@ -171,10 +171,10 @@ "start": 64099, "end": 64128, "length": 30, - "parent_index": 3701 + "parent_index": 3702 }, "parameters": { - "id": 3708, + "id": 3709, "node_type": 43, "src": { "line": 1775, @@ -182,11 +182,11 @@ "start": 64099, "end": 64128, "length": 30, - "parent_index": 3707 + "parent_index": 3708 }, "parameters": [ { - "id": 3709, + "id": 3710, "node_type": 44, "src": { "line": 1775, @@ -194,12 +194,12 @@ "start": 64112, "end": 64126, "length": 15, - "parent_index": 3708 + "parent_index": 3709 }, - "scope": 3707, + "scope": 3708, "name": "account", "type_name": { - "id": 3710, + "id": 3711, "node_type": 30, "src": { "line": 1775, @@ -207,7 +207,7 @@ "start": 64112, "end": 64118, "length": 7, - "parent_index": 3709 + "parent_index": 3710 }, "name": "address", "state_mutability": 4, @@ -236,12 +236,12 @@ "name": "Paused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263707", + "type_identifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263708", "type_string": "event PausableUpgradeable.Paused" } }, { - "id": 3712, + "id": 3713, "node_type": 57, "src": { "line": 1780, @@ -249,10 +249,10 @@ "start": 64210, "end": 64241, "length": 32, - "parent_index": 3701 + "parent_index": 3702 }, "parameters": { - "id": 3713, + "id": 3714, "node_type": 43, "src": { "line": 1780, @@ -260,11 +260,11 @@ "start": 64210, "end": 64241, "length": 32, - "parent_index": 3712 + "parent_index": 3713 }, "parameters": [ { - "id": 3714, + "id": 3715, "node_type": 44, "src": { "line": 1780, @@ -272,12 +272,12 @@ "start": 64225, "end": 64239, "length": 15, - "parent_index": 3713 + "parent_index": 3714 }, - "scope": 3712, + "scope": 3713, "name": "account", "type_name": { - "id": 3715, + "id": 3716, "node_type": 30, "src": { "line": 1780, @@ -285,7 +285,7 @@ "start": 64225, "end": 64231, "length": 7, - "parent_index": 3714 + "parent_index": 3715 }, "name": "address", "state_mutability": 4, @@ -314,12 +314,12 @@ "name": "Unpaused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263712", + "type_identifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263713", "type_string": "event PausableUpgradeable.Unpaused" } }, { - "id": 3717, + "id": 3718, "name": "_paused", "is_constant": false, "is_state_variable": true, @@ -330,9 +330,9 @@ "start": 64248, "end": 64268, "length": 21, - "parent_index": 3701 + "parent_index": 3702 }, - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_bool", "type_string": "bool" @@ -341,7 +341,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3718, + "id": 3719, "node_type": 30, "src": { "line": 1782, @@ -349,7 +349,7 @@ "start": 64248, "end": 64251, "length": 4, - "parent_index": 3717 + "parent_index": 3718 }, "name": "bool", "referenced_declaration": 0, @@ -361,7 +361,7 @@ "initial_value": null }, { - "id": 3720, + "id": 3721, "name": "__Pausable_init", "node_type": 42, "kind": 41, @@ -371,7 +371,7 @@ "start": 64347, "end": 64443, "length": 97, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1787, @@ -379,10 +379,10 @@ "start": 64356, "end": 64370, "length": 15, - "parent_index": 3720 + "parent_index": 3721 }, "body": { - "id": 3725, + "id": 3726, "node_type": 46, "kind": 0, "src": { @@ -391,12 +391,12 @@ "start": 64400, "end": 64443, "length": 44, - "parent_index": 3720 + "parent_index": 3721 }, "implemented": true, "statements": [ { - "id": 3726, + "id": 3727, "node_type": 24, "kind": 24, "src": { @@ -405,12 +405,12 @@ "start": 64410, "end": 64436, "length": 27, - "parent_index": 3725 + "parent_index": 3726 }, "argument_types": [], "arguments": [], "expression": { - "id": 3727, + "id": 3728, "node_type": 16, "src": { "line": 1788, @@ -418,7 +418,7 @@ "start": 64410, "end": 64434, "length": 25, - "parent_index": 3726 + "parent_index": 3727 }, "name": "__Pausable_init_unchained", "type_description": { @@ -427,7 +427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Pausable_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -442,7 +443,7 @@ "virtual": false, "modifiers": [ { - "id": 3722, + "id": 3723, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -452,12 +453,12 @@ "start": 64383, "end": 64398, "length": 16, - "parent_index": 3720 + "parent_index": 3721 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3723, + "id": 3724, "name": "onlyInitializing", "node_type": 0, "src": { @@ -466,14 +467,14 @@ "start": 64383, "end": 64398, "length": 16, - "parent_index": 3722 + "parent_index": 3723 } } } ], "overrides": [], "parameters": { - "id": 3721, + "id": 3722, "node_type": 43, "src": { "line": 1787, @@ -481,13 +482,13 @@ "start": 64347, "end": 64443, "length": 97, - "parent_index": 3720 + "parent_index": 3721 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3724, + "id": 3725, "node_type": 43, "src": { "line": 1787, @@ -495,21 +496,22 @@ "start": 64347, "end": 64443, "length": 97, - "parent_index": 3720 + "parent_index": 3721 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__Pausable_init()", "signature": "84d2023a", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Pausable_init()internalonlyInitializing{__Pausable_init_unchained();}" }, { - "id": 3729, + "id": 3730, "name": "__Pausable_init_unchained", "node_type": 42, "kind": 41, @@ -519,7 +521,7 @@ "start": 64450, "end": 64544, "length": 95, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1791, @@ -527,10 +529,10 @@ "start": 64459, "end": 64483, "length": 25, - "parent_index": 3729 + "parent_index": 3730 }, "body": { - "id": 3734, + "id": 3735, "node_type": 46, "kind": 0, "src": { @@ -539,12 +541,12 @@ "start": 64513, "end": 64544, "length": 32, - "parent_index": 3729 + "parent_index": 3730 }, "implemented": true, "statements": [ { - "id": 3735, + "id": 3736, "node_type": 27, "src": { "line": 1792, @@ -552,10 +554,10 @@ "start": 64523, "end": 64538, "length": 16, - "parent_index": 3734 + "parent_index": 3735 }, "expression": { - "id": 3736, + "id": 3737, "node_type": 27, "src": { "line": 1792, @@ -563,11 +565,11 @@ "start": 64523, "end": 64537, "length": 15, - "parent_index": 3735 + "parent_index": 3736 }, "operator": 11, "left_expression": { - "id": 3737, + "id": 3738, "node_type": 16, "src": { "line": 1792, @@ -575,7 +577,7 @@ "start": 64523, "end": 64529, "length": 7, - "parent_index": 3736 + "parent_index": 3737 }, "name": "_paused", "type_description": { @@ -583,11 +585,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3717, - "is_pure": false + "referenced_declaration": 3718, + "is_pure": false, + "text": "_paused" }, "right_expression": { - "id": 3738, + "id": 3739, "node_type": 17, "kind": 61, "value": "false", @@ -598,7 +601,7 @@ "start": 64533, "end": 64537, "length": 5, - "parent_index": 3736 + "parent_index": 3737 }, "type_description": { "type_identifier": "t_bool", @@ -606,7 +609,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -616,7 +620,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] }, @@ -626,7 +631,7 @@ "virtual": false, "modifiers": [ { - "id": 3731, + "id": 3732, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -636,12 +641,12 @@ "start": 64496, "end": 64511, "length": 16, - "parent_index": 3729 + "parent_index": 3730 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3732, + "id": 3733, "name": "onlyInitializing", "node_type": 0, "src": { @@ -650,14 +655,14 @@ "start": 64496, "end": 64511, "length": 16, - "parent_index": 3731 + "parent_index": 3732 } } } ], "overrides": [], "parameters": { - "id": 3730, + "id": 3731, "node_type": 43, "src": { "line": 1791, @@ -665,13 +670,13 @@ "start": 64450, "end": 64544, "length": 95, - "parent_index": 3729 + "parent_index": 3730 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3733, + "id": 3734, "node_type": 43, "src": { "line": 1791, @@ -679,21 +684,22 @@ "start": 64450, "end": 64544, "length": 95, - "parent_index": 3729 + "parent_index": 3730 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__Pausable_init_unchained()", "signature": "715b3778", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Pausable_init_unchained()internalonlyInitializing{_paused=false;}" }, { - "id": 3740, + "id": 3741, "name": "whenNotPaused", "node_type": 68, "src": { @@ -702,7 +708,7 @@ "start": 64731, "end": 64802, "length": 72, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1802, @@ -710,12 +716,12 @@ "start": 64740, "end": 64752, "length": 13, - "parent_index": 3740 + "parent_index": 3741 }, "visibility": 1, "virtual": false, "parameters": { - "id": 3741, + "id": 3742, "node_type": 43, "src": { "line": 1802, @@ -723,13 +729,13 @@ "start": 64731, "end": 64802, "length": 72, - "parent_index": 3701 + "parent_index": 3702 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 3742, + "id": 3743, "node_type": 46, "kind": 0, "src": { @@ -738,12 +744,12 @@ "start": 64756, "end": 64802, "length": 47, - "parent_index": 3740 + "parent_index": 3741 }, "implemented": true, "statements": [ { - "id": 3743, + "id": 3744, "node_type": 24, "kind": 24, "src": { @@ -752,12 +758,12 @@ "start": 64766, "end": 64784, "length": 19, - "parent_index": 3742 + "parent_index": 3743 }, "argument_types": [], "arguments": [], "expression": { - "id": 3744, + "id": 3745, "node_type": 16, "src": { "line": 1803, @@ -765,7 +771,7 @@ "start": 64766, "end": 64782, "length": 17, - "parent_index": 3743 + "parent_index": 3744 }, "name": "_requireNotPaused", "type_description": { @@ -774,7 +780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireNotPaused" }, "type_description": { "type_identifier": "t_function_$", @@ -782,7 +789,7 @@ } }, { - "id": 3745, + "id": 3746, "node_type": 82, "src": { "line": 1804, @@ -790,7 +797,7 @@ "start": 64795, "end": 64795, "length": 1, - "parent_index": 3742 + "parent_index": 3743 }, "name": "_", "type_description": { @@ -799,13 +806,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 3747, + "id": 3748, "name": "whenPaused", "node_type": 68, "src": { @@ -814,7 +822,7 @@ "start": 64981, "end": 65046, "length": 66, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1814, @@ -822,12 +830,12 @@ "start": 64990, "end": 64999, "length": 10, - "parent_index": 3747 + "parent_index": 3748 }, "visibility": 1, "virtual": false, "parameters": { - "id": 3748, + "id": 3749, "node_type": 43, "src": { "line": 1814, @@ -835,13 +843,13 @@ "start": 64981, "end": 65046, "length": 66, - "parent_index": 3701 + "parent_index": 3702 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 3749, + "id": 3750, "node_type": 46, "kind": 0, "src": { @@ -850,12 +858,12 @@ "start": 65003, "end": 65046, "length": 44, - "parent_index": 3747 + "parent_index": 3748 }, "implemented": true, "statements": [ { - "id": 3750, + "id": 3751, "node_type": 24, "kind": 24, "src": { @@ -864,12 +872,12 @@ "start": 65013, "end": 65028, "length": 16, - "parent_index": 3749 + "parent_index": 3750 }, "argument_types": [], "arguments": [], "expression": { - "id": 3751, + "id": 3752, "node_type": 16, "src": { "line": 1815, @@ -877,7 +885,7 @@ "start": 65013, "end": 65026, "length": 14, - "parent_index": 3750 + "parent_index": 3751 }, "name": "_requirePaused", "type_description": { @@ -886,7 +894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requirePaused" }, "type_description": { "type_identifier": "t_function_$", @@ -894,7 +903,7 @@ } }, { - "id": 3752, + "id": 3753, "node_type": 82, "src": { "line": 1816, @@ -902,7 +911,7 @@ "start": 65039, "end": 65039, "length": 1, - "parent_index": 3749 + "parent_index": 3750 }, "name": "_", "type_description": { @@ -911,13 +920,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 3754, + "id": 3755, "name": "paused", "node_type": 42, "kind": 41, @@ -927,7 +937,7 @@ "start": 65142, "end": 65225, "length": 84, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1822, @@ -935,10 +945,10 @@ "start": 65151, "end": 65156, "length": 6, - "parent_index": 3754 + "parent_index": 3755 }, "body": { - "id": 3761, + "id": 3762, "node_type": 46, "kind": 0, "src": { @@ -947,12 +957,12 @@ "start": 65195, "end": 65225, "length": 31, - "parent_index": 3754 + "parent_index": 3755 }, "implemented": true, "statements": [ { - "id": 3762, + "id": 3763, "node_type": 47, "src": { "line": 1823, @@ -960,11 +970,11 @@ "start": 65205, "end": 65219, "length": 15, - "parent_index": 3754 + "parent_index": 3755 }, - "function_return_parameters": 3754, + "function_return_parameters": 3755, "expression": { - "id": 3763, + "id": 3764, "node_type": 16, "src": { "line": 1823, @@ -972,7 +982,7 @@ "start": 65212, "end": 65218, "length": 7, - "parent_index": 3762 + "parent_index": 3763 }, "name": "_paused", "type_description": { @@ -980,8 +990,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3717, - "is_pure": false + "referenced_declaration": 3718, + "is_pure": false, + "text": "_paused" } } ] @@ -993,7 +1004,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3755, + "id": 3756, "node_type": 43, "src": { "line": 1822, @@ -1001,11 +1012,11 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3754 + "parent_index": 3755 }, "parameters": [ { - "id": 3756, + "id": 3757, "node_type": 44, "src": { "line": 1822, @@ -1013,12 +1024,12 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3755 + "parent_index": 3756 }, - "scope": 3754, + "scope": 3755, "name": "", "type_name": { - "id": 3757, + "id": 3758, "node_type": 30, "src": { "line": 1822, @@ -1026,7 +1037,7 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3756 + "parent_index": 3757 }, "name": "bool", "referenced_declaration": 0, @@ -1052,7 +1063,7 @@ ] }, "return_parameters": { - "id": 3758, + "id": 3759, "node_type": 43, "src": { "line": 1822, @@ -1060,11 +1071,11 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3754 + "parent_index": 3755 }, "parameters": [ { - "id": 3759, + "id": 3760, "node_type": 44, "src": { "line": 1822, @@ -1072,12 +1083,12 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3758 + "parent_index": 3759 }, - "scope": 3754, + "scope": 3755, "name": "", "type_name": { - "id": 3760, + "id": 3761, "node_type": 30, "src": { "line": 1822, @@ -1085,7 +1096,7 @@ "start": 65189, "end": 65192, "length": 4, - "parent_index": 3759 + "parent_index": 3760 }, "name": "bool", "referenced_declaration": 0, @@ -1112,14 +1123,15 @@ }, "signature_raw": "paused(bool)", "signature": "837150cf", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { - "id": 3765, + "id": 3766, "name": "_requireNotPaused", "node_type": 42, "kind": 41, @@ -1129,7 +1141,7 @@ "start": 65294, "end": 65399, "length": 106, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1829, @@ -1137,10 +1149,10 @@ "start": 65303, "end": 65319, "length": 17, - "parent_index": 3765 + "parent_index": 3766 }, "body": { - "id": 3768, + "id": 3769, "node_type": 46, "kind": 0, "src": { @@ -1149,12 +1161,12 @@ "start": 65345, "end": 65399, "length": 55, - "parent_index": 3765 + "parent_index": 3766 }, "implemented": true, "statements": [ { - "id": 3769, + "id": 3770, "node_type": 24, "kind": 24, "src": { @@ -1163,7 +1175,7 @@ "start": 65355, "end": 65392, "length": 38, - "parent_index": 3768 + "parent_index": 3769 }, "argument_types": [ { @@ -1177,7 +1189,7 @@ ], "arguments": [ { - "id": 3771, + "id": 3772, "node_type": 18, "kind": 104, "src": { @@ -1186,7 +1198,7 @@ "start": 65363, "end": 65371, "length": 9, - "parent_index": 3765 + "parent_index": 3766 }, "operator": 31, "prefix": false, @@ -1195,7 +1207,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 3772, + "id": 3773, "node_type": 24, "kind": 24, "src": { @@ -1204,12 +1216,12 @@ "start": 65364, "end": 65371, "length": 8, - "parent_index": 3771 + "parent_index": 3772 }, "argument_types": [], "arguments": [], "expression": { - "id": 3773, + "id": 3774, "node_type": 16, "src": { "line": 1830, @@ -1217,7 +1229,7 @@ "start": 65364, "end": 65369, "length": 6, - "parent_index": 3772 + "parent_index": 3773 }, "name": "paused", "type_description": { @@ -1226,7 +1238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -1239,7 +1252,7 @@ } }, { - "id": 3774, + "id": 3775, "node_type": 17, "kind": 50, "value": "Pausable: paused", @@ -1250,7 +1263,7 @@ "start": 65374, "end": 65391, "length": 18, - "parent_index": 3769 + "parent_index": 3770 }, "type_description": { "type_identifier": "t_string_literal", @@ -1264,11 +1277,12 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { - "id": 3770, + "id": 3771, "node_type": 16, "src": { "line": 1830, @@ -1276,7 +1290,7 @@ "start": 65355, "end": 65361, "length": 7, - "parent_index": 3769 + "parent_index": 3770 }, "name": "require", "type_description": { @@ -1285,7 +1299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -1301,7 +1316,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3766, + "id": 3767, "node_type": 43, "src": { "line": 1829, @@ -1309,13 +1324,13 @@ "start": 65294, "end": 65399, "length": 106, - "parent_index": 3765 + "parent_index": 3766 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3767, + "id": 3768, "node_type": 43, "src": { "line": 1829, @@ -1323,21 +1338,22 @@ "start": 65294, "end": 65399, "length": 106, - "parent_index": 3765 + "parent_index": 3766 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_requireNotPaused()", "signature": "abb87a6f", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requireNotPaused()internalviewvirtual{require(!paused(),\"Pausable: paused\");}" }, { - "id": 3776, + "id": 3777, "name": "_requirePaused", "node_type": 42, "kind": 41, @@ -1347,7 +1363,7 @@ "start": 65472, "end": 65577, "length": 106, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1836, @@ -1355,10 +1371,10 @@ "start": 65481, "end": 65494, "length": 14, - "parent_index": 3776 + "parent_index": 3777 }, "body": { - "id": 3779, + "id": 3780, "node_type": 46, "kind": 0, "src": { @@ -1367,12 +1383,12 @@ "start": 65520, "end": 65577, "length": 58, - "parent_index": 3776 + "parent_index": 3777 }, "implemented": true, "statements": [ { - "id": 3780, + "id": 3781, "node_type": 24, "kind": 24, "src": { @@ -1381,7 +1397,7 @@ "start": 65530, "end": 65570, "length": 41, - "parent_index": 3779 + "parent_index": 3780 }, "argument_types": [ { @@ -1395,7 +1411,7 @@ ], "arguments": [ { - "id": 3782, + "id": 3783, "node_type": 24, "kind": 24, "src": { @@ -1404,12 +1420,12 @@ "start": 65538, "end": 65545, "length": 8, - "parent_index": 3780 + "parent_index": 3781 }, "argument_types": [], "arguments": [], "expression": { - "id": 3783, + "id": 3784, "node_type": 16, "src": { "line": 1837, @@ -1417,7 +1433,7 @@ "start": 65538, "end": 65543, "length": 6, - "parent_index": 3782 + "parent_index": 3783 }, "name": "paused", "type_description": { @@ -1426,7 +1442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -1434,7 +1451,7 @@ } }, { - "id": 3784, + "id": 3785, "node_type": 17, "kind": 50, "value": "Pausable: not paused", @@ -1445,7 +1462,7 @@ "start": 65548, "end": 65569, "length": 22, - "parent_index": 3780 + "parent_index": 3781 }, "type_description": { "type_identifier": "t_string_literal", @@ -1459,11 +1476,12 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { - "id": 3781, + "id": 3782, "node_type": 16, "src": { "line": 1837, @@ -1471,7 +1489,7 @@ "start": 65530, "end": 65536, "length": 7, - "parent_index": 3780 + "parent_index": 3781 }, "name": "require", "type_description": { @@ -1480,7 +1498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -1496,7 +1515,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3777, + "id": 3778, "node_type": 43, "src": { "line": 1836, @@ -1504,13 +1523,13 @@ "start": 65472, "end": 65577, "length": 106, - "parent_index": 3776 + "parent_index": 3777 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3778, + "id": 3779, "node_type": 43, "src": { "line": 1836, @@ -1518,21 +1537,22 @@ "start": 65472, "end": 65577, "length": 106, - "parent_index": 3776 + "parent_index": 3777 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_requirePaused()", "signature": "4a994e05", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requirePaused()internalviewvirtual{require(paused(),\"Pausable: not paused\");}" }, { - "id": 3786, + "id": 3787, "name": "_pause", "node_type": 42, "kind": 41, @@ -1542,7 +1562,7 @@ "start": 65713, "end": 65827, "length": 115, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1847, @@ -1550,10 +1570,10 @@ "start": 65722, "end": 65727, "length": 6, - "parent_index": 3786 + "parent_index": 3787 }, "body": { - "id": 3791, + "id": 3792, "node_type": 46, "kind": 0, "src": { @@ -1562,12 +1582,12 @@ "start": 65762, "end": 65827, "length": 66, - "parent_index": 3786 + "parent_index": 3787 }, "implemented": true, "statements": [ { - "id": 3792, + "id": 3793, "node_type": 27, "src": { "line": 1848, @@ -1575,10 +1595,10 @@ "start": 65772, "end": 65786, "length": 15, - "parent_index": 3791 + "parent_index": 3792 }, "expression": { - "id": 3793, + "id": 3794, "node_type": 27, "src": { "line": 1848, @@ -1586,11 +1606,11 @@ "start": 65772, "end": 65785, "length": 14, - "parent_index": 3792 + "parent_index": 3793 }, "operator": 11, "left_expression": { - "id": 3794, + "id": 3795, "node_type": 16, "src": { "line": 1848, @@ -1598,7 +1618,7 @@ "start": 65772, "end": 65778, "length": 7, - "parent_index": 3793 + "parent_index": 3794 }, "name": "_paused", "type_description": { @@ -1606,11 +1626,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3717, - "is_pure": false + "referenced_declaration": 3718, + "is_pure": false, + "text": "_paused" }, "right_expression": { - "id": 3795, + "id": 3796, "node_type": 17, "kind": 61, "value": "true", @@ -1621,7 +1642,7 @@ "start": 65782, "end": 65785, "length": 4, - "parent_index": 3793 + "parent_index": 3794 }, "type_description": { "type_identifier": "t_bool", @@ -1629,7 +1650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -1639,10 +1661,11 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { - "id": 3796, + "id": 3797, "node_type": 64, "src": { "line": 1849, @@ -1650,11 +1673,11 @@ "start": 65796, "end": 65821, "length": 26, - "parent_index": 3786 + "parent_index": 3787 }, "arguments": [ { - "id": 3797, + "id": 3798, "node_type": 24, "kind": 24, "src": { @@ -1663,12 +1686,12 @@ "start": 65808, "end": 65819, "length": 12, - "parent_index": 3796 + "parent_index": 3797 }, "argument_types": [], "arguments": [], "expression": { - "id": 3798, + "id": 3799, "node_type": 16, "src": { "line": 1849, @@ -1676,7 +1699,7 @@ "start": 65808, "end": 65817, "length": 10, - "parent_index": 3797 + "parent_index": 3798 }, "name": "_msgSender", "type_description": { @@ -1685,7 +1708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1694,7 +1718,7 @@ } ], "expression": { - "id": 3799, + "id": 3800, "node_type": 16, "src": { "line": 1849, @@ -1702,16 +1726,17 @@ "start": 65801, "end": 65806, "length": 6, - "parent_index": 3796 + "parent_index": 3797 }, "name": "Paused", "type_description": { - "type_identifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263707", + "type_identifier": "t_event\u0026_PausableUpgradeable_Paused_\u00263708", "type_string": "event PausableUpgradeable.Paused" }, "overloaded_declarations": [], - "referenced_declaration": 3707, - "is_pure": false + "referenced_declaration": 3708, + "is_pure": false, + "text": "Paused" } } ] @@ -1722,7 +1747,7 @@ "virtual": true, "modifiers": [ { - "id": 3788, + "id": 3789, "name": "whenNotPaused", "node_type": 72, "kind": 72, @@ -1732,12 +1757,12 @@ "start": 65748, "end": 65760, "length": 13, - "parent_index": 3786 + "parent_index": 3787 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3789, + "id": 3790, "name": "whenNotPaused", "node_type": 0, "src": { @@ -1746,14 +1771,14 @@ "start": 65748, "end": 65760, "length": 13, - "parent_index": 3788 + "parent_index": 3789 } } } ], "overrides": [], "parameters": { - "id": 3787, + "id": 3788, "node_type": 43, "src": { "line": 1847, @@ -1761,13 +1786,13 @@ "start": 65713, "end": 65827, "length": 115, - "parent_index": 3786 + "parent_index": 3787 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3790, + "id": 3791, "node_type": 43, "src": { "line": 1847, @@ -1775,21 +1800,22 @@ "start": 65713, "end": 65827, "length": 115, - "parent_index": 3786 + "parent_index": 3787 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_pause()", "signature": "320b2ad9", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { - "id": 3801, + "id": 3802, "name": "_unpause", "node_type": 42, "kind": 41, @@ -1799,7 +1825,7 @@ "start": 65960, "end": 66076, "length": 117, - "parent_index": 3701 + "parent_index": 3702 }, "name_location": { "line": 1859, @@ -1807,10 +1833,10 @@ "start": 65969, "end": 65976, "length": 8, - "parent_index": 3801 + "parent_index": 3802 }, "body": { - "id": 3806, + "id": 3807, "node_type": 46, "kind": 0, "src": { @@ -1819,12 +1845,12 @@ "start": 66008, "end": 66076, "length": 69, - "parent_index": 3801 + "parent_index": 3802 }, "implemented": true, "statements": [ { - "id": 3807, + "id": 3808, "node_type": 27, "src": { "line": 1860, @@ -1832,10 +1858,10 @@ "start": 66018, "end": 66033, "length": 16, - "parent_index": 3806 + "parent_index": 3807 }, "expression": { - "id": 3808, + "id": 3809, "node_type": 27, "src": { "line": 1860, @@ -1843,11 +1869,11 @@ "start": 66018, "end": 66032, "length": 15, - "parent_index": 3807 + "parent_index": 3808 }, "operator": 11, "left_expression": { - "id": 3809, + "id": 3810, "node_type": 16, "src": { "line": 1860, @@ -1855,7 +1881,7 @@ "start": 66018, "end": 66024, "length": 7, - "parent_index": 3808 + "parent_index": 3809 }, "name": "_paused", "type_description": { @@ -1863,11 +1889,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3717, - "is_pure": false + "referenced_declaration": 3718, + "is_pure": false, + "text": "_paused" }, "right_expression": { - "id": 3810, + "id": 3811, "node_type": 17, "kind": 61, "value": "false", @@ -1878,7 +1905,7 @@ "start": 66028, "end": 66032, "length": 5, - "parent_index": 3808 + "parent_index": 3809 }, "type_description": { "type_identifier": "t_bool", @@ -1886,7 +1913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -1896,10 +1924,11 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { - "id": 3811, + "id": 3812, "node_type": 64, "src": { "line": 1861, @@ -1907,11 +1936,11 @@ "start": 66043, "end": 66070, "length": 28, - "parent_index": 3801 + "parent_index": 3802 }, "arguments": [ { - "id": 3812, + "id": 3813, "node_type": 24, "kind": 24, "src": { @@ -1920,12 +1949,12 @@ "start": 66057, "end": 66068, "length": 12, - "parent_index": 3811 + "parent_index": 3812 }, "argument_types": [], "arguments": [], "expression": { - "id": 3813, + "id": 3814, "node_type": 16, "src": { "line": 1861, @@ -1933,7 +1962,7 @@ "start": 66057, "end": 66066, "length": 10, - "parent_index": 3812 + "parent_index": 3813 }, "name": "_msgSender", "type_description": { @@ -1942,7 +1971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1951,7 +1981,7 @@ } ], "expression": { - "id": 3814, + "id": 3815, "node_type": 16, "src": { "line": 1861, @@ -1959,16 +1989,17 @@ "start": 66048, "end": 66055, "length": 8, - "parent_index": 3811 + "parent_index": 3812 }, "name": "Unpaused", "type_description": { - "type_identifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263712", + "type_identifier": "t_event\u0026_PausableUpgradeable_Unpaused_\u00263713", "type_string": "event PausableUpgradeable.Unpaused" }, "overloaded_declarations": [], - "referenced_declaration": 3712, - "is_pure": false + "referenced_declaration": 3713, + "is_pure": false, + "text": "Unpaused" } } ] @@ -1979,7 +2010,7 @@ "virtual": true, "modifiers": [ { - "id": 3803, + "id": 3804, "name": "whenPaused", "node_type": 72, "kind": 72, @@ -1989,12 +2020,12 @@ "start": 65997, "end": 66006, "length": 10, - "parent_index": 3801 + "parent_index": 3802 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3804, + "id": 3805, "name": "whenPaused", "node_type": 0, "src": { @@ -2003,14 +2034,14 @@ "start": 65997, "end": 66006, "length": 10, - "parent_index": 3803 + "parent_index": 3804 } } } ], "overrides": [], "parameters": { - "id": 3802, + "id": 3803, "node_type": 43, "src": { "line": 1859, @@ -2018,13 +2049,13 @@ "start": 65960, "end": 66076, "length": 117, - "parent_index": 3801 + "parent_index": 3802 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3805, + "id": 3806, "node_type": 43, "src": { "line": 1859, @@ -2032,21 +2063,22 @@ "start": 65960, "end": 66076, "length": 117, - "parent_index": 3801 + "parent_index": 3802 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_unpause()", "signature": "fc8234cb", - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" }, { - "id": 3816, + "id": 3817, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -2057,9 +2089,9 @@ "start": 66342, "end": 66367, "length": 26, - "parent_index": 3701 + "parent_index": 3702 }, - "scope": 3701, + "scope": 3702, "type_description": { "type_identifier": "t_rational_49_by_1", "type_string": "int_const 49" @@ -2068,7 +2100,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3817, + "id": 3818, "node_type": 16, "src": { "line": 1869, @@ -2076,12 +2108,12 @@ "start": 66342, "end": 66348, "length": 7, - "parent_index": 3816 + "parent_index": 3817 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 3819, + "id": 3820, "node_type": 17, "kind": 49, "value": "49", @@ -2092,7 +2124,7 @@ "start": 66350, "end": 66351, "length": 2, - "parent_index": 3817 + "parent_index": 3818 }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -2100,7 +2132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -2113,13 +2146,13 @@ "linearized_base_contracts": [ 1894, 2045, - 3701, - 3699, - 3700 + 3702, + 3700, + 3701 ], "base_contracts": [ { - "id": 3702, + "id": 3703, "node_type": 62, "src": { "line": 1771, @@ -2127,10 +2160,10 @@ "start": 63981, "end": 63993, "length": 13, - "parent_index": 3701 + "parent_index": 3702 }, "base_name": { - "id": 3703, + "id": 3704, "node_type": 52, "src": { "line": 1771, @@ -2138,14 +2171,14 @@ "start": 63981, "end": 63993, "length": 13, - "parent_index": 3701 + "parent_index": 3702 }, "name": "Initializable", "referenced_declaration": 1894 } }, { - "id": 3704, + "id": 3705, "node_type": 62, "src": { "line": 1771, @@ -2153,10 +2186,10 @@ "start": 63996, "end": 64013, "length": 18, - "parent_index": 3701 + "parent_index": 3702 }, "base_name": { - "id": 3705, + "id": 3706, "node_type": 52, "src": { "line": 1771, @@ -2164,7 +2197,7 @@ "start": 63996, "end": 64013, "length": 18, - "parent_index": 3701 + "parent_index": 3702 }, "name": "ContextUpgradeable", "referenced_declaration": 2045 @@ -2174,8 +2207,8 @@ "contract_dependencies": [ 1894, 2045, - 3699, - 3700 + 3700, + 3701 ] } ], diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/SafeTransferLib.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/SafeTransferLib.solgo.ast.json index 0ecffcb9..49f5779d 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/SafeTransferLib.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/SafeTransferLib.solgo.ast.json @@ -1,15 +1,15 @@ { - "id": 4499, + "id": 4500, "base_contracts": [], "license": "AGPL-3.0-only", "exported_symbols": [ { - "id": 4499, + "id": 4500, "name": "SafeTransferLib", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/SafeTransferLib.sol" }, { - "id": 4060, + "id": 4061, "name": "ERC20", "absolute_path": "ERC20.sol" } @@ -19,7 +19,7 @@ "node_type": 1, "nodes": [ { - "id": 4519, + "id": 4520, "node_type": 10, "src": { "line": 2145, @@ -27,7 +27,7 @@ "start": 76452, "end": 76475, "length": 24, - "parent_index": 4499 + "parent_index": 4500 }, "literals": [ "pragma", @@ -43,7 +43,7 @@ "text": "pragma solidity \u003e=0.8.0;" }, { - "id": 4548, + "id": 4549, "node_type": 29, "src": { "line": 2147, @@ -51,18 +51,18 @@ "start": 76478, "end": 76511, "length": 34, - "parent_index": 4499 + "parent_index": 4500 }, "absolute_path": "ERC20.sol", "file": "./ERC20.sol", - "scope": 4499, + "scope": 4500, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4060 + "source_unit": 4061 }, { - "id": 4549, + "id": 4550, "name": "SafeTransferLib", "node_type": 35, "src": { @@ -71,7 +71,7 @@ "start": 76985, "end": 82180, "length": 5196, - "parent_index": 4499 + "parent_index": 4500 }, "name_location": { "line": 2153, @@ -79,14 +79,14 @@ "start": 76993, "end": 77007, "length": 15, - "parent_index": 4549 + "parent_index": 4550 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 4551, + "id": 4552, "name": "safeTransferETH", "node_type": 42, "kind": 41, @@ -96,7 +96,7 @@ "start": 77198, "end": 77493, "length": 296, - "parent_index": 4549 + "parent_index": 4550 }, "name_location": { "line": 2158, @@ -104,10 +104,10 @@ "start": 77207, "end": 77221, "length": 15, - "parent_index": 4551 + "parent_index": 4552 }, "body": { - "id": 4558, + "id": 4559, "node_type": 46, "kind": 0, "src": { @@ -116,12 +116,12 @@ "start": 77260, "end": 77493, "length": 234, - "parent_index": 4551 + "parent_index": 4552 }, "implemented": true, "statements": [ { - "id": 4559, + "id": 4560, "node_type": 44, "src": { "line": 2159, @@ -129,25 +129,25 @@ "start": 77270, "end": 77282, "length": 13, - "parent_index": 4558 + "parent_index": 4559 }, "assignments": [ - 4560 + 4561 ], "declarations": [ { - "id": 4560, + "id": 4561, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 4558, + "scope": 4559, "src": { "line": 2159, "column": 8, "start": 77270, "end": 77281, "length": 12, - "parent_index": 4559 + "parent_index": 4560 }, "name_location": { "line": 2159, @@ -155,12 +155,12 @@ "start": 77275, "end": 77281, "length": 7, - "parent_index": 4560 + "parent_index": 4561 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4561, + "id": 4562, "node_type": 30, "src": { "line": 2159, @@ -168,7 +168,7 @@ "start": 77270, "end": 77273, "length": 4, - "parent_index": 4560 + "parent_index": 4561 }, "name": "bool", "referenced_declaration": 0, @@ -182,7 +182,7 @@ ] }, { - "id": 4562, + "id": 4563, "node_type": 89, "src": { "line": 2161, @@ -190,10 +190,10 @@ "start": 77293, "end": 77437, "length": 145, - "parent_index": 4558 + "parent_index": 4559 }, "body": { - "id": 4563, + "id": 4564, "node_type": 111, "kind": 0, "src": { @@ -202,12 +202,12 @@ "start": 77293, "end": 77437, "length": 145, - "parent_index": 4562 + "parent_index": 4563 }, "implemented": false, "statements": [ { - "id": 4564, + "id": 4565, "node_type": 91, "src": { "line": 2163, @@ -215,11 +215,11 @@ "start": 77382, "end": 77427, "length": 46, - "parent_index": 4562 + "parent_index": 4563 }, "statements": [ { - "id": 4565, + "id": 4566, "node_type": 92, "src": { "line": 2163, @@ -227,11 +227,11 @@ "start": 77382, "end": 77427, "length": 46, - "parent_index": 4562 + "parent_index": 4563 }, "variable_names": [ { - "id": 4566, + "id": 4567, "node_type": 107, "src": { "line": 2163, @@ -239,13 +239,13 @@ "start": 77382, "end": 77388, "length": 7, - "parent_index": 4565 + "parent_index": 4566 }, "name": "success" } ], "value": { - "id": 4567, + "id": 4568, "node_type": 123, "src": { "line": 2163, @@ -253,10 +253,10 @@ "start": 77393, "end": 77396, "length": 4, - "parent_index": 4565 + "parent_index": 4566 }, "expression": { - "id": 4568, + "id": 4569, "node_type": 110, "src": { "line": 2163, @@ -264,10 +264,10 @@ "start": 77393, "end": 77427, "length": 35, - "parent_index": 4562 + "parent_index": 4563 }, "function_name": { - "id": 4569, + "id": 4570, "node_type": 107, "src": { "line": 2163, @@ -275,13 +275,13 @@ "start": 77393, "end": 77396, "length": 4, - "parent_index": 4568 + "parent_index": 4569 }, "name": "call" }, "arguments": [ { - "id": 4570, + "id": 4571, "node_type": 110, "src": { "line": 2163, @@ -289,10 +289,10 @@ "start": 77398, "end": 77402, "length": 5, - "parent_index": 4562 + "parent_index": 4563 }, "function_name": { - "id": 4571, + "id": 4572, "node_type": 107, "src": { "line": 2163, @@ -300,14 +300,14 @@ "start": 77398, "end": 77400, "length": 3, - "parent_index": 4570 + "parent_index": 4571 }, "name": "gas" }, "arguments": [] }, { - "id": 4572, + "id": 4573, "node_type": 107, "src": { "line": 2163, @@ -315,12 +315,12 @@ "start": 77405, "end": 77406, "length": 2, - "parent_index": 4568 + "parent_index": 4569 }, "name": "to" }, { - "id": 4573, + "id": 4574, "node_type": 107, "src": { "line": 2163, @@ -328,12 +328,12 @@ "start": 77409, "end": 77414, "length": 6, - "parent_index": 4568 + "parent_index": 4569 }, "name": "amount" }, { - "id": 4574, + "id": 4575, "node_type": 109, "kind": 115, "src": { @@ -342,13 +342,13 @@ "start": 77417, "end": 77417, "length": 1, - "parent_index": 4568 + "parent_index": 4569 }, "value": "0", "hex_value": "" }, { - "id": 4575, + "id": 4576, "node_type": 109, "kind": 115, "src": { @@ -357,13 +357,13 @@ "start": 77420, "end": 77420, "length": 1, - "parent_index": 4568 + "parent_index": 4569 }, "value": "0", "hex_value": "" }, { - "id": 4576, + "id": 4577, "node_type": 109, "kind": 115, "src": { @@ -372,13 +372,13 @@ "start": 77423, "end": 77423, "length": 1, - "parent_index": 4568 + "parent_index": 4569 }, "value": "0", "hex_value": "" }, { - "id": 4577, + "id": 4578, "node_type": 109, "kind": 115, "src": { @@ -387,7 +387,7 @@ "start": 77426, "end": 77426, "length": 1, - "parent_index": 4568 + "parent_index": 4569 }, "value": "0", "hex_value": "" @@ -402,7 +402,7 @@ } }, { - "id": 4578, + "id": 4579, "node_type": 24, "kind": 24, "src": { @@ -411,7 +411,7 @@ "start": 77448, "end": 77486, "length": 39, - "parent_index": 4558 + "parent_index": 4559 }, "argument_types": [ { @@ -425,7 +425,7 @@ ], "arguments": [ { - "id": 4580, + "id": 4581, "node_type": 16, "src": { "line": 2166, @@ -433,7 +433,7 @@ "start": 77456, "end": 77462, "length": 7, - "parent_index": 4578 + "parent_index": 4579 }, "name": "success", "type_description": { @@ -441,11 +441,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4559, - "is_pure": false + "referenced_declaration": 4560, + "is_pure": false, + "text": "success" }, { - "id": 4581, + "id": 4582, "node_type": 17, "kind": 50, "value": "ETH_TRANSFER_FAILED", @@ -456,7 +457,7 @@ "start": 77465, "end": 77485, "length": 21, - "parent_index": 4578 + "parent_index": 4579 }, "type_description": { "type_identifier": "t_string_literal", @@ -470,11 +471,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ETH_TRANSFER_FAILED\"" } ], "expression": { - "id": 4579, + "id": 4580, "node_type": 16, "src": { "line": 2166, @@ -482,7 +484,7 @@ "start": 77448, "end": 77454, "length": 7, - "parent_index": 4578 + "parent_index": 4579 }, "name": "require", "type_description": { @@ -491,7 +493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -507,7 +510,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4552, + "id": 4553, "node_type": 43, "src": { "line": 2158, @@ -515,11 +518,11 @@ "start": 77223, "end": 77248, "length": 26, - "parent_index": 4551 + "parent_index": 4552 }, "parameters": [ { - "id": 4553, + "id": 4554, "node_type": 44, "src": { "line": 2158, @@ -527,12 +530,12 @@ "start": 77223, "end": 77232, "length": 10, - "parent_index": 4552 + "parent_index": 4553 }, - "scope": 4551, + "scope": 4552, "name": "to", "type_name": { - "id": 4554, + "id": 4555, "node_type": 30, "src": { "line": 2158, @@ -540,7 +543,7 @@ "start": 77223, "end": 77229, "length": 7, - "parent_index": 4553 + "parent_index": 4554 }, "name": "address", "state_mutability": 4, @@ -559,7 +562,7 @@ } }, { - "id": 4555, + "id": 4556, "node_type": 44, "src": { "line": 2158, @@ -567,12 +570,12 @@ "start": 77235, "end": 77248, "length": 14, - "parent_index": 4552 + "parent_index": 4553 }, - "scope": 4551, + "scope": 4552, "name": "amount", "type_name": { - "id": 4556, + "id": 4557, "node_type": 30, "src": { "line": 2158, @@ -580,7 +583,7 @@ "start": 77235, "end": 77241, "length": 7, - "parent_index": 4555 + "parent_index": 4556 }, "name": "uint256", "referenced_declaration": 0, @@ -610,7 +613,7 @@ ] }, "return_parameters": { - "id": 4557, + "id": 4558, "node_type": 43, "src": { "line": 2158, @@ -618,21 +621,22 @@ "start": 77198, "end": 77493, "length": 296, - "parent_index": 4551 + "parent_index": 4552 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferETH(address, uint256)", - "signature": "3bf28eb1", - "scope": 4549, + "signature_raw": "safeTransferETH(address,uint256)", + "signature": "7c4368c1", + "scope": 4550, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsafeTransferETH(addressto,uint256amount)internal{boolsuccess;assembly{success:=call(gas(),to,amount,0,0,0,0)}require(success,\"ETH_TRANSFER_FAILED\");}" }, { - "id": 4583, + "id": 4584, "name": "safeTransferFrom", "node_type": 42, "kind": 41, @@ -642,7 +646,7 @@ "start": 77684, "end": 79256, "length": 1573, - "parent_index": 4549 + "parent_index": 4550 }, "name_location": { "line": 2173, @@ -650,10 +654,10 @@ "start": 77693, "end": 77708, "length": 16, - "parent_index": 4583 + "parent_index": 4584 }, "body": { - "id": 4595, + "id": 4596, "node_type": 46, "kind": 0, "src": { @@ -662,12 +666,12 @@ "start": 77812, "end": 79256, "length": 1445, - "parent_index": 4583 + "parent_index": 4584 }, "implemented": true, "statements": [ { - "id": 4596, + "id": 4597, "node_type": 44, "src": { "line": 2179, @@ -675,25 +679,25 @@ "start": 77822, "end": 77834, "length": 13, - "parent_index": 4595 + "parent_index": 4596 }, "assignments": [ - 4597 + 4598 ], "declarations": [ { - "id": 4597, + "id": 4598, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 4595, + "scope": 4596, "src": { "line": 2179, "column": 8, "start": 77822, "end": 77833, "length": 12, - "parent_index": 4596 + "parent_index": 4597 }, "name_location": { "line": 2179, @@ -701,12 +705,12 @@ "start": 77827, "end": 77833, "length": 7, - "parent_index": 4597 + "parent_index": 4598 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4598, + "id": 4599, "node_type": 30, "src": { "line": 2179, @@ -714,7 +718,7 @@ "start": 77822, "end": 77825, "length": 4, - "parent_index": 4597 + "parent_index": 4598 }, "name": "bool", "referenced_declaration": 0, @@ -728,7 +732,7 @@ ] }, { - "id": 4599, + "id": 4600, "node_type": 89, "src": { "line": 2181, @@ -736,10 +740,10 @@ "start": 77845, "end": 79199, "length": 1355, - "parent_index": 4595 + "parent_index": 4596 }, "body": { - "id": 4600, + "id": 4601, "node_type": 111, "kind": 0, "src": { @@ -748,12 +752,12 @@ "start": 77845, "end": 79199, "length": 1355, - "parent_index": 4599 + "parent_index": 4600 }, "implemented": false, "statements": [ { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -761,11 +765,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -773,11 +777,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -785,10 +789,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -796,10 +800,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -807,13 +811,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -822,7 +826,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -832,7 +836,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -840,14 +844,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -855,10 +859,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -866,13 +870,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -880,12 +884,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -894,7 +898,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -902,7 +906,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -910,10 +914,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -921,13 +925,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -935,10 +939,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -946,13 +950,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -960,12 +964,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -974,7 +978,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -982,7 +986,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -990,14 +994,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -1005,10 +1009,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -1016,13 +1020,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -1030,10 +1034,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -1041,13 +1045,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -1055,12 +1059,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -1069,7 +1073,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -1077,7 +1081,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -1085,14 +1089,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -1100,10 +1104,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -1111,13 +1115,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -1125,10 +1129,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -1136,13 +1140,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -1150,12 +1154,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -1164,7 +1168,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -1172,7 +1176,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -1180,14 +1184,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -1195,11 +1199,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -1207,13 +1211,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -1221,10 +1225,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -1232,10 +1236,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -1243,13 +1247,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -1257,10 +1261,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -1268,13 +1272,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -1282,10 +1286,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -1293,13 +1297,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -1307,10 +1311,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -1318,13 +1322,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -1332,10 +1336,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -1343,13 +1347,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -1358,7 +1362,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -1366,7 +1370,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -1375,7 +1379,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -1383,7 +1387,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -1391,10 +1395,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -1402,13 +1406,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -1416,10 +1420,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -1427,14 +1431,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -1443,7 +1447,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -1453,7 +1457,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -1461,10 +1465,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -1472,13 +1476,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -1486,10 +1490,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -1497,7 +1501,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -1508,7 +1512,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -1516,10 +1520,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -1527,13 +1531,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -1541,10 +1545,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -1552,14 +1556,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -1567,12 +1571,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -1581,13 +1585,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -1595,12 +1599,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -1609,13 +1613,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -1624,13 +1628,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -1639,7 +1643,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -1653,7 +1657,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -1661,11 +1665,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -1673,11 +1677,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -1685,10 +1689,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -1696,10 +1700,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -1707,13 +1711,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -1722,7 +1726,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -1732,7 +1736,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -1740,14 +1744,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -1755,10 +1759,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -1766,13 +1770,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -1780,12 +1784,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -1794,7 +1798,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -1802,7 +1806,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -1810,10 +1814,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -1821,13 +1825,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -1835,10 +1839,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -1846,13 +1850,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -1860,12 +1864,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -1874,7 +1878,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -1882,7 +1886,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -1890,14 +1894,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -1905,10 +1909,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -1916,13 +1920,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -1930,10 +1934,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -1941,13 +1945,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -1955,12 +1959,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -1969,7 +1973,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -1977,7 +1981,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -1985,14 +1989,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -2000,10 +2004,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -2011,13 +2015,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -2025,10 +2029,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -2036,13 +2040,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -2050,12 +2054,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -2064,7 +2068,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -2072,7 +2076,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -2080,14 +2084,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -2095,11 +2099,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -2107,13 +2111,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -2121,10 +2125,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -2132,10 +2136,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -2143,13 +2147,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -2157,10 +2161,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -2168,13 +2172,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -2182,10 +2186,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -2193,13 +2197,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -2207,10 +2211,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -2218,13 +2222,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -2232,10 +2236,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -2243,13 +2247,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -2258,7 +2262,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -2266,7 +2270,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -2275,7 +2279,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -2283,7 +2287,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -2291,10 +2295,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -2302,13 +2306,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -2316,10 +2320,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -2327,14 +2331,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -2343,7 +2347,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -2353,7 +2357,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -2361,10 +2365,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -2372,13 +2376,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -2386,10 +2390,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -2397,7 +2401,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -2408,7 +2412,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -2416,10 +2420,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -2427,13 +2431,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -2441,10 +2445,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -2452,14 +2456,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -2467,12 +2471,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -2481,13 +2485,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -2495,12 +2499,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -2509,13 +2513,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -2524,13 +2528,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -2539,7 +2543,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -2553,7 +2557,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -2561,11 +2565,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -2573,11 +2577,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -2585,10 +2589,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -2596,10 +2600,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -2607,13 +2611,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -2622,7 +2626,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -2632,7 +2636,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -2640,14 +2644,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -2655,10 +2659,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -2666,13 +2670,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -2680,12 +2684,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -2694,7 +2698,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -2702,7 +2706,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -2710,10 +2714,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -2721,13 +2725,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -2735,10 +2739,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -2746,13 +2750,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -2760,12 +2764,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -2774,7 +2778,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -2782,7 +2786,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -2790,14 +2794,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -2805,10 +2809,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -2816,13 +2820,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -2830,10 +2834,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -2841,13 +2845,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -2855,12 +2859,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -2869,7 +2873,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -2877,7 +2881,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -2885,14 +2889,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -2900,10 +2904,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -2911,13 +2915,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -2925,10 +2929,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -2936,13 +2940,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -2950,12 +2954,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -2964,7 +2968,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -2972,7 +2976,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -2980,14 +2984,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -2995,11 +2999,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -3007,13 +3011,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -3021,10 +3025,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -3032,10 +3036,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -3043,13 +3047,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -3057,10 +3061,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -3068,13 +3072,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -3082,10 +3086,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -3093,13 +3097,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -3107,10 +3111,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -3118,13 +3122,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -3132,10 +3136,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -3143,13 +3147,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -3158,7 +3162,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -3166,7 +3170,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -3175,7 +3179,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -3183,7 +3187,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -3191,10 +3195,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -3202,13 +3206,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -3216,10 +3220,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -3227,14 +3231,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -3243,7 +3247,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -3253,7 +3257,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -3261,10 +3265,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -3272,13 +3276,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -3286,10 +3290,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -3297,7 +3301,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -3308,7 +3312,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -3316,10 +3320,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -3327,13 +3331,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -3341,10 +3345,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -3352,14 +3356,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -3367,12 +3371,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -3381,13 +3385,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -3395,12 +3399,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -3409,13 +3413,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -3424,13 +3428,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -3439,7 +3443,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -3453,7 +3457,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -3461,11 +3465,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -3473,11 +3477,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -3485,10 +3489,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -3496,10 +3500,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -3507,13 +3511,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -3522,7 +3526,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -3532,7 +3536,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -3540,14 +3544,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -3555,10 +3559,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -3566,13 +3570,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -3580,12 +3584,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -3594,7 +3598,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -3602,7 +3606,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -3610,10 +3614,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -3621,13 +3625,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -3635,10 +3639,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -3646,13 +3650,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -3660,12 +3664,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -3674,7 +3678,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -3682,7 +3686,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -3690,14 +3694,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -3705,10 +3709,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -3716,13 +3720,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -3730,10 +3734,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -3741,13 +3745,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -3755,12 +3759,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -3769,7 +3773,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -3777,7 +3781,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -3785,14 +3789,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -3800,10 +3804,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -3811,13 +3815,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -3825,10 +3829,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -3836,13 +3840,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -3850,12 +3854,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -3864,7 +3868,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -3872,7 +3876,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -3880,14 +3884,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -3895,11 +3899,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -3907,13 +3911,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -3921,10 +3925,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -3932,10 +3936,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -3943,13 +3947,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -3957,10 +3961,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -3968,13 +3972,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -3982,10 +3986,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -3993,13 +3997,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -4007,10 +4011,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -4018,13 +4022,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -4032,10 +4036,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -4043,13 +4047,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -4058,7 +4062,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -4066,7 +4070,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -4075,7 +4079,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -4083,7 +4087,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -4091,10 +4095,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -4102,13 +4106,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -4116,10 +4120,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -4127,14 +4131,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -4143,7 +4147,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -4153,7 +4157,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -4161,10 +4165,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -4172,13 +4176,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -4186,10 +4190,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -4197,7 +4201,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -4208,7 +4212,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -4216,10 +4220,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -4227,13 +4231,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -4241,10 +4245,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -4252,14 +4256,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -4267,12 +4271,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -4281,13 +4285,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -4295,12 +4299,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -4309,13 +4313,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -4324,13 +4328,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -4339,7 +4343,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -4353,7 +4357,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -4361,11 +4365,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -4373,11 +4377,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -4385,10 +4389,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -4396,10 +4400,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -4407,13 +4411,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -4422,7 +4426,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -4432,7 +4436,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -4440,14 +4444,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -4455,10 +4459,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -4466,13 +4470,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -4480,12 +4484,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -4494,7 +4498,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -4502,7 +4506,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -4510,10 +4514,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -4521,13 +4525,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -4535,10 +4539,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -4546,13 +4550,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -4560,12 +4564,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -4574,7 +4578,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -4582,7 +4586,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -4590,14 +4594,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -4605,10 +4609,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -4616,13 +4620,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -4630,10 +4634,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -4641,13 +4645,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -4655,12 +4659,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -4669,7 +4673,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -4677,7 +4681,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -4685,14 +4689,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -4700,10 +4704,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -4711,13 +4715,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -4725,10 +4729,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -4736,13 +4740,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -4750,12 +4754,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -4764,7 +4768,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -4772,7 +4776,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -4780,14 +4784,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -4795,11 +4799,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -4807,13 +4811,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -4821,10 +4825,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -4832,10 +4836,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -4843,13 +4847,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -4857,10 +4861,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -4868,13 +4872,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -4882,10 +4886,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -4893,13 +4897,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -4907,10 +4911,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -4918,13 +4922,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -4932,10 +4936,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -4943,13 +4947,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -4958,7 +4962,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -4966,7 +4970,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -4975,7 +4979,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -4983,7 +4987,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -4991,10 +4995,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -5002,13 +5006,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -5016,10 +5020,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -5027,14 +5031,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -5043,7 +5047,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -5053,7 +5057,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -5061,10 +5065,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -5072,13 +5076,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -5086,10 +5090,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -5097,7 +5101,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -5108,7 +5112,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -5116,10 +5120,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -5127,13 +5131,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -5141,10 +5145,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -5152,14 +5156,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -5167,12 +5171,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -5181,13 +5185,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -5195,12 +5199,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -5209,13 +5213,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -5224,13 +5228,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -5239,7 +5243,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -5253,7 +5257,7 @@ ] }, { - "id": 4601, + "id": 4602, "node_type": 91, "src": { "line": 2191, @@ -5261,11 +5265,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "statements": [ { - "id": 4602, + "id": 4603, "node_type": 122, "src": { "line": 2183, @@ -5273,11 +5277,11 @@ "start": 77918, "end": 77953, "length": 36, - "parent_index": 4601 + "parent_index": 4602 }, "let": true, "value": { - "id": 4604, + "id": 4605, "node_type": 123, "src": { "line": 2183, @@ -5285,10 +5289,10 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4602 + "parent_index": 4603 }, "expression": { - "id": 4605, + "id": 4606, "node_type": 110, "src": { "line": 2183, @@ -5296,10 +5300,10 @@ "start": 77943, "end": 77953, "length": 11, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4606, + "id": 4607, "node_type": 107, "src": { "line": 2183, @@ -5307,13 +5311,13 @@ "start": 77943, "end": 77947, "length": 5, - "parent_index": 4605 + "parent_index": 4606 }, "name": "mload" }, "arguments": [ { - "id": 4607, + "id": 4608, "node_type": 109, "kind": 124, "src": { @@ -5322,7 +5326,7 @@ "start": 77949, "end": 77952, "length": 4, - "parent_index": 4605 + "parent_index": 4606 }, "value": "64", "hex_value": "0x40" @@ -5332,7 +5336,7 @@ }, "variables": [ { - "id": 4603, + "id": 4604, "node_type": 107, "src": { "line": 2183, @@ -5340,14 +5344,14 @@ "start": 77922, "end": 77938, "length": 17, - "parent_index": 4602 + "parent_index": 4603 }, "name": "freeMemoryPointer" } ] }, { - "id": 4608, + "id": 4609, "node_type": 110, "src": { "line": 2186, @@ -5355,10 +5359,10 @@ "start": 78065, "end": 78157, "length": 93, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4609, + "id": 4610, "node_type": 107, "src": { "line": 2186, @@ -5366,13 +5370,13 @@ "start": 78065, "end": 78070, "length": 6, - "parent_index": 4608 + "parent_index": 4609 }, "name": "mstore" }, "arguments": [ { - "id": 4610, + "id": 4611, "node_type": 107, "src": { "line": 2186, @@ -5380,12 +5384,12 @@ "start": 78072, "end": 78088, "length": 17, - "parent_index": 4608 + "parent_index": 4609 }, "name": "freeMemoryPointer" }, { - "id": 4611, + "id": 4612, "node_type": 109, "kind": 124, "src": { @@ -5394,7 +5398,7 @@ "start": 78091, "end": 78156, "length": 66, - "parent_index": 4608 + "parent_index": 4609 }, "value": "0", "hex_value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" @@ -5402,7 +5406,7 @@ ] }, { - "id": 4612, + "id": 4613, "node_type": 110, "src": { "line": 2187, @@ -5410,10 +5414,10 @@ "start": 78171, "end": 78209, "length": 39, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4613, + "id": 4614, "node_type": 107, "src": { "line": 2187, @@ -5421,13 +5425,13 @@ "start": 78171, "end": 78176, "length": 6, - "parent_index": 4612 + "parent_index": 4613 }, "name": "mstore" }, "arguments": [ { - "id": 4614, + "id": 4615, "node_type": 110, "src": { "line": 2187, @@ -5435,10 +5439,10 @@ "start": 78178, "end": 78202, "length": 25, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4615, + "id": 4616, "node_type": 107, "src": { "line": 2187, @@ -5446,13 +5450,13 @@ "start": 78178, "end": 78180, "length": 3, - "parent_index": 4614 + "parent_index": 4615 }, "name": "add" }, "arguments": [ { - "id": 4616, + "id": 4617, "node_type": 107, "src": { "line": 2187, @@ -5460,12 +5464,12 @@ "start": 78182, "end": 78198, "length": 17, - "parent_index": 4614 + "parent_index": 4615 }, "name": "freeMemoryPointer" }, { - "id": 4617, + "id": 4618, "node_type": 109, "kind": 115, "src": { @@ -5474,7 +5478,7 @@ "start": 78201, "end": 78201, "length": 1, - "parent_index": 4614 + "parent_index": 4615 }, "value": "4", "hex_value": "" @@ -5482,7 +5486,7 @@ ] }, { - "id": 4618, + "id": 4619, "node_type": 107, "src": { "line": 2187, @@ -5490,14 +5494,14 @@ "start": 78205, "end": 78208, "length": 4, - "parent_index": 4612 + "parent_index": 4613 }, "name": "from" } ] }, { - "id": 4619, + "id": 4620, "node_type": 110, "src": { "line": 2188, @@ -5505,10 +5509,10 @@ "start": 78254, "end": 78291, "length": 38, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4620, + "id": 4621, "node_type": 107, "src": { "line": 2188, @@ -5516,13 +5520,13 @@ "start": 78254, "end": 78259, "length": 6, - "parent_index": 4619 + "parent_index": 4620 }, "name": "mstore" }, "arguments": [ { - "id": 4621, + "id": 4622, "node_type": 110, "src": { "line": 2188, @@ -5530,10 +5534,10 @@ "start": 78261, "end": 78286, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4622, + "id": 4623, "node_type": 107, "src": { "line": 2188, @@ -5541,13 +5545,13 @@ "start": 78261, "end": 78263, "length": 3, - "parent_index": 4621 + "parent_index": 4622 }, "name": "add" }, "arguments": [ { - "id": 4623, + "id": 4624, "node_type": 107, "src": { "line": 2188, @@ -5555,12 +5559,12 @@ "start": 78265, "end": 78281, "length": 17, - "parent_index": 4621 + "parent_index": 4622 }, "name": "freeMemoryPointer" }, { - "id": 4624, + "id": 4625, "node_type": 109, "kind": 115, "src": { @@ -5569,7 +5573,7 @@ "start": 78284, "end": 78285, "length": 2, - "parent_index": 4621 + "parent_index": 4622 }, "value": "36", "hex_value": "" @@ -5577,7 +5581,7 @@ ] }, { - "id": 4625, + "id": 4626, "node_type": 107, "src": { "line": 2188, @@ -5585,14 +5589,14 @@ "start": 78289, "end": 78290, "length": 2, - "parent_index": 4619 + "parent_index": 4620 }, "name": "to" } ] }, { - "id": 4626, + "id": 4627, "node_type": 110, "src": { "line": 2189, @@ -5600,10 +5604,10 @@ "start": 78334, "end": 78375, "length": 42, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4627, + "id": 4628, "node_type": 107, "src": { "line": 2189, @@ -5611,13 +5615,13 @@ "start": 78334, "end": 78339, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "mstore" }, "arguments": [ { - "id": 4628, + "id": 4629, "node_type": 110, "src": { "line": 2189, @@ -5625,10 +5629,10 @@ "start": 78341, "end": 78366, "length": 26, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4629, + "id": 4630, "node_type": 107, "src": { "line": 2189, @@ -5636,13 +5640,13 @@ "start": 78341, "end": 78343, "length": 3, - "parent_index": 4628 + "parent_index": 4629 }, "name": "add" }, "arguments": [ { - "id": 4630, + "id": 4631, "node_type": 107, "src": { "line": 2189, @@ -5650,12 +5654,12 @@ "start": 78345, "end": 78361, "length": 17, - "parent_index": 4628 + "parent_index": 4629 }, "name": "freeMemoryPointer" }, { - "id": 4631, + "id": 4632, "node_type": 109, "kind": 115, "src": { @@ -5664,7 +5668,7 @@ "start": 78364, "end": 78365, "length": 2, - "parent_index": 4628 + "parent_index": 4629 }, "value": "68", "hex_value": "" @@ -5672,7 +5676,7 @@ ] }, { - "id": 4632, + "id": 4633, "node_type": 107, "src": { "line": 2189, @@ -5680,14 +5684,14 @@ "start": 78369, "end": 78374, "length": 6, - "parent_index": 4626 + "parent_index": 4627 }, "name": "amount" } ] }, { - "id": 4633, + "id": 4634, "node_type": 92, "src": { "line": 2191, @@ -5695,11 +5699,11 @@ "start": 78423, "end": 79189, "length": 767, - "parent_index": 4599 + "parent_index": 4600 }, "variable_names": [ { - "id": 4634, + "id": 4635, "node_type": 107, "src": { "line": 2191, @@ -5707,13 +5711,13 @@ "start": 78423, "end": 78429, "length": 7, - "parent_index": 4633 + "parent_index": 4634 }, "name": "success" } ], "value": { - "id": 4635, + "id": 4636, "node_type": 123, "src": { "line": 2191, @@ -5721,10 +5725,10 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4633 + "parent_index": 4634 }, "expression": { - "id": 4636, + "id": 4637, "node_type": 110, "src": { "line": 2191, @@ -5732,10 +5736,10 @@ "start": 78434, "end": 79189, "length": 756, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4637, + "id": 4638, "node_type": 107, "src": { "line": 2191, @@ -5743,13 +5747,13 @@ "start": 78434, "end": 78436, "length": 3, - "parent_index": 4636 + "parent_index": 4637 }, "name": "and" }, "arguments": [ { - "id": 4638, + "id": 4639, "node_type": 110, "src": { "line": 2194, @@ -5757,10 +5761,10 @@ "start": 78634, "end": 78709, "length": 76, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4639, + "id": 4640, "node_type": 107, "src": { "line": 2194, @@ -5768,13 +5772,13 @@ "start": 78634, "end": 78635, "length": 2, - "parent_index": 4638 + "parent_index": 4639 }, "name": "or" }, "arguments": [ { - "id": 4640, + "id": 4641, "node_type": 110, "src": { "line": 2194, @@ -5782,10 +5786,10 @@ "start": 78637, "end": 78682, "length": 46, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4641, + "id": 4642, "node_type": 107, "src": { "line": 2194, @@ -5793,13 +5797,13 @@ "start": 78637, "end": 78639, "length": 3, - "parent_index": 4640 + "parent_index": 4641 }, "name": "and" }, "arguments": [ { - "id": 4642, + "id": 4643, "node_type": 110, "src": { "line": 2194, @@ -5807,10 +5811,10 @@ "start": 78641, "end": 78655, "length": 15, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4643, + "id": 4644, "node_type": 107, "src": { "line": 2194, @@ -5818,13 +5822,13 @@ "start": 78641, "end": 78642, "length": 2, - "parent_index": 4642 + "parent_index": 4643 }, "name": "eq" }, "arguments": [ { - "id": 4644, + "id": 4645, "node_type": 110, "src": { "line": 2194, @@ -5832,10 +5836,10 @@ "start": 78644, "end": 78651, "length": 8, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4645, + "id": 4646, "node_type": 107, "src": { "line": 2194, @@ -5843,13 +5847,13 @@ "start": 78644, "end": 78648, "length": 5, - "parent_index": 4644 + "parent_index": 4645 }, "name": "mload" }, "arguments": [ { - "id": 4646, + "id": 4647, "node_type": 109, "kind": 115, "src": { @@ -5858,7 +5862,7 @@ "start": 78650, "end": 78650, "length": 1, - "parent_index": 4644 + "parent_index": 4645 }, "value": "0", "hex_value": "" @@ -5866,7 +5870,7 @@ ] }, { - "id": 4647, + "id": 4648, "node_type": 109, "kind": 115, "src": { @@ -5875,7 +5879,7 @@ "start": 78654, "end": 78654, "length": 1, - "parent_index": 4642 + "parent_index": 4643 }, "value": "1", "hex_value": "" @@ -5883,7 +5887,7 @@ ] }, { - "id": 4648, + "id": 4649, "node_type": 110, "src": { "line": 2194, @@ -5891,10 +5895,10 @@ "start": 78658, "end": 78681, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4649, + "id": 4650, "node_type": 107, "src": { "line": 2194, @@ -5902,13 +5906,13 @@ "start": 78658, "end": 78659, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "name": "gt" }, "arguments": [ { - "id": 4650, + "id": 4651, "node_type": 110, "src": { "line": 2194, @@ -5916,10 +5920,10 @@ "start": 78661, "end": 78676, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4651, + "id": 4652, "node_type": 107, "src": { "line": 2194, @@ -5927,14 +5931,14 @@ "start": 78661, "end": 78674, "length": 14, - "parent_index": 4650 + "parent_index": 4651 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4652, + "id": 4653, "node_type": 109, "kind": 115, "src": { @@ -5943,7 +5947,7 @@ "start": 78679, "end": 78680, "length": 2, - "parent_index": 4648 + "parent_index": 4649 }, "value": "31", "hex_value": "" @@ -5953,7 +5957,7 @@ ] }, { - "id": 4653, + "id": 4654, "node_type": 110, "src": { "line": 2194, @@ -5961,10 +5965,10 @@ "start": 78685, "end": 78708, "length": 24, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4654, + "id": 4655, "node_type": 107, "src": { "line": 2194, @@ -5972,13 +5976,13 @@ "start": 78685, "end": 78690, "length": 6, - "parent_index": 4653 + "parent_index": 4654 }, "name": "iszero" }, "arguments": [ { - "id": 4655, + "id": 4656, "node_type": 110, "src": { "line": 2194, @@ -5986,10 +5990,10 @@ "start": 78692, "end": 78707, "length": 16, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4656, + "id": 4657, "node_type": 107, "src": { "line": 2194, @@ -5997,7 +6001,7 @@ "start": 78692, "end": 78705, "length": 14, - "parent_index": 4655 + "parent_index": 4656 }, "name": "returndatasize" }, @@ -6008,7 +6012,7 @@ ] }, { - "id": 4657, + "id": 4658, "node_type": 110, "src": { "line": 2199, @@ -6016,10 +6020,10 @@ "start": 79124, "end": 79175, "length": 52, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4658, + "id": 4659, "node_type": 107, "src": { "line": 2199, @@ -6027,13 +6031,13 @@ "start": 79124, "end": 79127, "length": 4, - "parent_index": 4657 + "parent_index": 4658 }, "name": "call" }, "arguments": [ { - "id": 4659, + "id": 4660, "node_type": 110, "src": { "line": 2199, @@ -6041,10 +6045,10 @@ "start": 79129, "end": 79133, "length": 5, - "parent_index": 4599 + "parent_index": 4600 }, "function_name": { - "id": 4660, + "id": 4661, "node_type": 107, "src": { "line": 2199, @@ -6052,14 +6056,14 @@ "start": 79129, "end": 79131, "length": 3, - "parent_index": 4659 + "parent_index": 4660 }, "name": "gas" }, "arguments": [] }, { - "id": 4661, + "id": 4662, "node_type": 107, "src": { "line": 2199, @@ -6067,12 +6071,12 @@ "start": 79136, "end": 79140, "length": 5, - "parent_index": 4657 + "parent_index": 4658 }, "name": "token" }, { - "id": 4662, + "id": 4663, "node_type": 109, "kind": 115, "src": { @@ -6081,13 +6085,13 @@ "start": 79143, "end": 79143, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4663, + "id": 4664, "node_type": 107, "src": { "line": 2199, @@ -6095,12 +6099,12 @@ "start": 79146, "end": 79162, "length": 17, - "parent_index": 4657 + "parent_index": 4658 }, "name": "freeMemoryPointer" }, { - "id": 4664, + "id": 4665, "node_type": 109, "kind": 115, "src": { @@ -6109,13 +6113,13 @@ "start": 79165, "end": 79167, "length": 3, - "parent_index": 4657 + "parent_index": 4658 }, "value": "100", "hex_value": "" }, { - "id": 4665, + "id": 4666, "node_type": 109, "kind": 115, "src": { @@ -6124,13 +6128,13 @@ "start": 79170, "end": 79170, "length": 1, - "parent_index": 4657 + "parent_index": 4658 }, "value": "0", "hex_value": "" }, { - "id": 4666, + "id": 4667, "node_type": 109, "kind": 115, "src": { @@ -6139,7 +6143,7 @@ "start": 79173, "end": 79174, "length": 2, - "parent_index": 4657 + "parent_index": 4658 }, "value": "32", "hex_value": "" @@ -6156,7 +6160,7 @@ } }, { - "id": 4667, + "id": 4668, "node_type": 24, "kind": 24, "src": { @@ -6165,7 +6169,7 @@ "start": 79210, "end": 79249, "length": 40, - "parent_index": 4595 + "parent_index": 4596 }, "argument_types": [ { @@ -6179,7 +6183,7 @@ ], "arguments": [ { - "id": 4669, + "id": 4670, "node_type": 16, "src": { "line": 2203, @@ -6187,7 +6191,7 @@ "start": 79218, "end": 79224, "length": 7, - "parent_index": 4667 + "parent_index": 4668 }, "name": "success", "type_description": { @@ -6195,11 +6199,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4596, - "is_pure": false + "referenced_declaration": 4597, + "is_pure": false, + "text": "success" }, { - "id": 4670, + "id": 4671, "node_type": 17, "kind": 50, "value": "TRANSFER_FROM_FAILED", @@ -6210,7 +6215,7 @@ "start": 79227, "end": 79248, "length": 22, - "parent_index": 4667 + "parent_index": 4668 }, "type_description": { "type_identifier": "t_string_literal", @@ -6224,11 +6229,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TRANSFER_FROM_FAILED\"" } ], "expression": { - "id": 4668, + "id": 4669, "node_type": 16, "src": { "line": 2203, @@ -6236,7 +6242,7 @@ "start": 79210, "end": 79216, "length": 7, - "parent_index": 4667 + "parent_index": 4668 }, "name": "require", "type_description": { @@ -6245,7 +6251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6261,7 +6268,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4584, + "id": 4585, "node_type": 43, "src": { "line": 2174, @@ -6269,11 +6276,11 @@ "start": 77719, "end": 77795, "length": 77, - "parent_index": 4583 + "parent_index": 4584 }, "parameters": [ { - "id": 4585, + "id": 4586, "node_type": 44, "src": { "line": 2174, @@ -6281,12 +6288,12 @@ "start": 77719, "end": 77729, "length": 11, - "parent_index": 4584 + "parent_index": 4585 }, - "scope": 4583, + "scope": 4584, "name": "token", "type_name": { - "id": 4586, + "id": 4587, "node_type": 69, "src": { "line": 2174, @@ -6294,20 +6301,20 @@ "start": 77719, "end": 77723, "length": 5, - "parent_index": 4585 + "parent_index": 4586 }, "path_node": { - "id": 4587, + "id": 4588, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2174, "column": 8, "start": 77719, "end": 77723, "length": 5, - "parent_index": 4586 + "parent_index": 4587 }, "name_location": { "line": 2174, @@ -6315,12 +6322,12 @@ "start": 77719, "end": 77723, "length": 5, - "parent_index": 4586 + "parent_index": 4587 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -6328,12 +6335,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, { - "id": 4588, + "id": 4589, "node_type": 44, "src": { "line": 2175, @@ -6341,12 +6348,12 @@ "start": 77740, "end": 77751, "length": 12, - "parent_index": 4584 + "parent_index": 4585 }, - "scope": 4583, + "scope": 4584, "name": "from", "type_name": { - "id": 4589, + "id": 4590, "node_type": 30, "src": { "line": 2175, @@ -6354,7 +6361,7 @@ "start": 77740, "end": 77746, "length": 7, - "parent_index": 4588 + "parent_index": 4589 }, "name": "address", "state_mutability": 4, @@ -6373,7 +6380,7 @@ } }, { - "id": 4590, + "id": 4591, "node_type": 44, "src": { "line": 2176, @@ -6381,12 +6388,12 @@ "start": 77762, "end": 77771, "length": 10, - "parent_index": 4584 + "parent_index": 4585 }, - "scope": 4583, + "scope": 4584, "name": "to", "type_name": { - "id": 4591, + "id": 4592, "node_type": 30, "src": { "line": 2176, @@ -6394,7 +6401,7 @@ "start": 77762, "end": 77768, "length": 7, - "parent_index": 4590 + "parent_index": 4591 }, "name": "address", "state_mutability": 4, @@ -6413,7 +6420,7 @@ } }, { - "id": 4592, + "id": 4593, "node_type": 44, "src": { "line": 2177, @@ -6421,12 +6428,12 @@ "start": 77782, "end": 77795, "length": 14, - "parent_index": 4584 + "parent_index": 4585 }, - "scope": 4583, + "scope": 4584, "name": "amount", "type_name": { - "id": 4593, + "id": 4594, "node_type": 30, "src": { "line": 2177, @@ -6434,7 +6441,7 @@ "start": 77782, "end": 77788, "length": 7, - "parent_index": 4592 + "parent_index": 4593 }, "name": "uint256", "referenced_declaration": 0, @@ -6454,7 +6461,7 @@ ], "parameter_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, { @@ -6472,7 +6479,7 @@ ] }, "return_parameters": { - "id": 4594, + "id": 4595, "node_type": 43, "src": { "line": 2173, @@ -6480,21 +6487,22 @@ "start": 77684, "end": 79256, "length": 1573, - "parent_index": 4583 + "parent_index": 4584 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", - "scope": 4549, + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", + "scope": 4550, "type_description": { - "type_identifier": "t_function_$_t_contract$_ERC20_$4060$_t_address$_t_address$_t_uint256$", + "type_identifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_address$_t_uint256$", "type_string": "function(contract ERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(ERC20token,addressfrom,addressto,uint256amount)internal{boolsuccess;assembly{letfreeMemoryPointer:=mload(0x40)mstore(freeMemoryPointer,0x23b872dd00000000000000000000000000000000000000000000000000000000)mstore(add(freeMemoryPointer,4),from)mstore(add(freeMemoryPointer,36),to)mstore(add(freeMemoryPointer,68),amount)success:=and(or(and(eq(mload(0),1),gt(returndatasize(),31)),iszero(returndatasize())),call(gas(),token,0,freeMemoryPointer,100,0,32))}require(success,\"TRANSFER_FROM_FAILED\");}" }, { - "id": 4672, + "id": 4673, "name": "safeTransfer", "node_type": 42, "kind": 41, @@ -6504,7 +6512,7 @@ "start": 79263, "end": 80718, "length": 1456, - "parent_index": 4549 + "parent_index": 4550 }, "name_location": { "line": 2206, @@ -6512,10 +6520,10 @@ "start": 79272, "end": 79283, "length": 12, - "parent_index": 4672 + "parent_index": 4673 }, "body": { - "id": 4682, + "id": 4683, "node_type": 46, "kind": 0, "src": { @@ -6524,12 +6532,12 @@ "start": 79365, "end": 80718, "length": 1354, - "parent_index": 4672 + "parent_index": 4673 }, "implemented": true, "statements": [ { - "id": 4683, + "id": 4684, "node_type": 44, "src": { "line": 2211, @@ -6537,25 +6545,25 @@ "start": 79375, "end": 79387, "length": 13, - "parent_index": 4682 + "parent_index": 4683 }, "assignments": [ - 4684 + 4685 ], "declarations": [ { - "id": 4684, + "id": 4685, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 4682, + "scope": 4683, "src": { "line": 2211, "column": 8, "start": 79375, "end": 79386, "length": 12, - "parent_index": 4683 + "parent_index": 4684 }, "name_location": { "line": 2211, @@ -6563,12 +6571,12 @@ "start": 79380, "end": 79386, "length": 7, - "parent_index": 4684 + "parent_index": 4685 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4685, + "id": 4686, "node_type": 30, "src": { "line": 2211, @@ -6576,7 +6584,7 @@ "start": 79375, "end": 79378, "length": 4, - "parent_index": 4684 + "parent_index": 4685 }, "name": "bool", "referenced_declaration": 0, @@ -6590,7 +6598,7 @@ ] }, { - "id": 4686, + "id": 4687, "node_type": 89, "src": { "line": 2213, @@ -6598,10 +6606,10 @@ "start": 79398, "end": 80666, "length": 1269, - "parent_index": 4682 + "parent_index": 4683 }, "body": { - "id": 4687, + "id": 4688, "node_type": 111, "kind": 0, "src": { @@ -6610,12 +6618,12 @@ "start": 79398, "end": 80666, "length": 1269, - "parent_index": 4686 + "parent_index": 4687 }, "implemented": false, "statements": [ { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -6623,11 +6631,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -6635,11 +6643,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -6647,10 +6655,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -6658,10 +6666,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -6669,13 +6677,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -6684,7 +6692,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -6694,7 +6702,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -6702,14 +6710,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -6717,10 +6725,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -6728,13 +6736,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -6742,12 +6750,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -6756,7 +6764,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -6764,7 +6772,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -6772,10 +6780,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -6783,13 +6791,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -6797,10 +6805,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -6808,13 +6816,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -6822,12 +6830,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -6836,7 +6844,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -6844,7 +6852,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -6852,14 +6860,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -6867,10 +6875,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -6878,13 +6886,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -6892,10 +6900,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -6903,13 +6911,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -6917,12 +6925,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -6931,7 +6939,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -6939,7 +6947,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -6947,14 +6955,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -6962,11 +6970,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -6974,13 +6982,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -6988,10 +6996,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -6999,10 +7007,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -7010,13 +7018,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -7024,10 +7032,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -7035,13 +7043,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -7049,10 +7057,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -7060,13 +7068,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -7074,10 +7082,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -7085,13 +7093,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -7099,10 +7107,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -7110,13 +7118,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -7125,7 +7133,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -7133,7 +7141,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -7142,7 +7150,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -7150,7 +7158,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -7158,10 +7166,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -7169,13 +7177,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -7183,10 +7191,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -7194,14 +7202,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -7210,7 +7218,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -7220,7 +7228,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -7228,10 +7236,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -7239,13 +7247,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -7253,10 +7261,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -7264,7 +7272,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -7275,7 +7283,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -7283,10 +7291,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -7294,13 +7302,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -7308,10 +7316,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -7319,14 +7327,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -7334,12 +7342,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -7348,13 +7356,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -7362,12 +7370,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -7376,13 +7384,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -7391,13 +7399,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -7406,7 +7414,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -7420,7 +7428,7 @@ ] }, { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -7428,11 +7436,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -7440,11 +7448,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -7452,10 +7460,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -7463,10 +7471,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -7474,13 +7482,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -7489,7 +7497,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -7499,7 +7507,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -7507,14 +7515,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -7522,10 +7530,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -7533,13 +7541,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -7547,12 +7555,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -7561,7 +7569,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -7569,7 +7577,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -7577,10 +7585,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -7588,13 +7596,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -7602,10 +7610,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -7613,13 +7621,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -7627,12 +7635,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -7641,7 +7649,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -7649,7 +7657,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -7657,14 +7665,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -7672,10 +7680,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -7683,13 +7691,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -7697,10 +7705,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -7708,13 +7716,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -7722,12 +7730,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -7736,7 +7744,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -7744,7 +7752,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -7752,14 +7760,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -7767,11 +7775,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -7779,13 +7787,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -7793,10 +7801,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -7804,10 +7812,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -7815,13 +7823,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -7829,10 +7837,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -7840,13 +7848,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -7854,10 +7862,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -7865,13 +7873,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -7879,10 +7887,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -7890,13 +7898,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -7904,10 +7912,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -7915,13 +7923,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -7930,7 +7938,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -7938,7 +7946,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -7947,7 +7955,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -7955,7 +7963,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -7963,10 +7971,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -7974,13 +7982,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -7988,10 +7996,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -7999,14 +8007,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -8015,7 +8023,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -8025,7 +8033,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -8033,10 +8041,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -8044,13 +8052,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -8058,10 +8066,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -8069,7 +8077,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -8080,7 +8088,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -8088,10 +8096,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -8099,13 +8107,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -8113,10 +8121,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -8124,14 +8132,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -8139,12 +8147,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -8153,13 +8161,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -8167,12 +8175,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -8181,13 +8189,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -8196,13 +8204,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -8211,7 +8219,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -8225,7 +8233,7 @@ ] }, { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -8233,11 +8241,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -8245,11 +8253,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -8257,10 +8265,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -8268,10 +8276,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -8279,13 +8287,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -8294,7 +8302,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -8304,7 +8312,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -8312,14 +8320,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -8327,10 +8335,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -8338,13 +8346,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -8352,12 +8360,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -8366,7 +8374,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -8374,7 +8382,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -8382,10 +8390,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -8393,13 +8401,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -8407,10 +8415,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -8418,13 +8426,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -8432,12 +8440,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -8446,7 +8454,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -8454,7 +8462,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -8462,14 +8470,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -8477,10 +8485,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -8488,13 +8496,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -8502,10 +8510,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -8513,13 +8521,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -8527,12 +8535,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -8541,7 +8549,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -8549,7 +8557,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -8557,14 +8565,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -8572,11 +8580,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -8584,13 +8592,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -8598,10 +8606,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -8609,10 +8617,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -8620,13 +8628,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -8634,10 +8642,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -8645,13 +8653,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -8659,10 +8667,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -8670,13 +8678,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -8684,10 +8692,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -8695,13 +8703,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -8709,10 +8717,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -8720,13 +8728,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -8735,7 +8743,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -8743,7 +8751,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -8752,7 +8760,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -8760,7 +8768,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -8768,10 +8776,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -8779,13 +8787,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -8793,10 +8801,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -8804,14 +8812,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -8820,7 +8828,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -8830,7 +8838,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -8838,10 +8846,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -8849,13 +8857,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -8863,10 +8871,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -8874,7 +8882,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -8885,7 +8893,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -8893,10 +8901,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -8904,13 +8912,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -8918,10 +8926,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -8929,14 +8937,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -8944,12 +8952,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -8958,13 +8966,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -8972,12 +8980,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -8986,13 +8994,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -9001,13 +9009,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -9016,7 +9024,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -9030,7 +9038,7 @@ ] }, { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -9038,11 +9046,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -9050,11 +9058,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -9062,10 +9070,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -9073,10 +9081,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -9084,13 +9092,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -9099,7 +9107,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -9109,7 +9117,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -9117,14 +9125,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -9132,10 +9140,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -9143,13 +9151,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -9157,12 +9165,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -9171,7 +9179,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -9179,7 +9187,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -9187,10 +9195,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -9198,13 +9206,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -9212,10 +9220,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -9223,13 +9231,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -9237,12 +9245,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -9251,7 +9259,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -9259,7 +9267,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -9267,14 +9275,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -9282,10 +9290,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -9293,13 +9301,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -9307,10 +9315,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -9318,13 +9326,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -9332,12 +9340,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -9346,7 +9354,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -9354,7 +9362,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -9362,14 +9370,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -9377,11 +9385,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -9389,13 +9397,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -9403,10 +9411,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -9414,10 +9422,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -9425,13 +9433,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -9439,10 +9447,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -9450,13 +9458,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -9464,10 +9472,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -9475,13 +9483,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -9489,10 +9497,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -9500,13 +9508,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -9514,10 +9522,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -9525,13 +9533,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -9540,7 +9548,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -9548,7 +9556,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -9557,7 +9565,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -9565,7 +9573,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -9573,10 +9581,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -9584,13 +9592,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -9598,10 +9606,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -9609,14 +9617,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -9625,7 +9633,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -9635,7 +9643,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -9643,10 +9651,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -9654,13 +9662,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -9668,10 +9676,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -9679,7 +9687,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -9690,7 +9698,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -9698,10 +9706,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -9709,13 +9717,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -9723,10 +9731,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -9734,14 +9742,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -9749,12 +9757,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -9763,13 +9771,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -9777,12 +9785,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -9791,13 +9799,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -9806,13 +9814,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -9821,7 +9829,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -9835,7 +9843,7 @@ ] }, { - "id": 4688, + "id": 4689, "node_type": 91, "src": { "line": 2222, @@ -9843,11 +9851,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "statements": [ { - "id": 4689, + "id": 4690, "node_type": 122, "src": { "line": 2215, @@ -9855,11 +9863,11 @@ "start": 79471, "end": 79506, "length": 36, - "parent_index": 4688 + "parent_index": 4689 }, "let": true, "value": { - "id": 4691, + "id": 4692, "node_type": 123, "src": { "line": 2215, @@ -9867,10 +9875,10 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4689 + "parent_index": 4690 }, "expression": { - "id": 4692, + "id": 4693, "node_type": 110, "src": { "line": 2215, @@ -9878,10 +9886,10 @@ "start": 79496, "end": 79506, "length": 11, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4693, + "id": 4694, "node_type": 107, "src": { "line": 2215, @@ -9889,13 +9897,13 @@ "start": 79496, "end": 79500, "length": 5, - "parent_index": 4692 + "parent_index": 4693 }, "name": "mload" }, "arguments": [ { - "id": 4694, + "id": 4695, "node_type": 109, "kind": 124, "src": { @@ -9904,7 +9912,7 @@ "start": 79502, "end": 79505, "length": 4, - "parent_index": 4692 + "parent_index": 4693 }, "value": "64", "hex_value": "0x40" @@ -9914,7 +9922,7 @@ }, "variables": [ { - "id": 4690, + "id": 4691, "node_type": 107, "src": { "line": 2215, @@ -9922,14 +9930,14 @@ "start": 79475, "end": 79491, "length": 17, - "parent_index": 4689 + "parent_index": 4690 }, "name": "freeMemoryPointer" } ] }, { - "id": 4695, + "id": 4696, "node_type": 110, "src": { "line": 2218, @@ -9937,10 +9945,10 @@ "start": 79618, "end": 79710, "length": 93, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4696, + "id": 4697, "node_type": 107, "src": { "line": 2218, @@ -9948,13 +9956,13 @@ "start": 79618, "end": 79623, "length": 6, - "parent_index": 4695 + "parent_index": 4696 }, "name": "mstore" }, "arguments": [ { - "id": 4697, + "id": 4698, "node_type": 107, "src": { "line": 2218, @@ -9962,12 +9970,12 @@ "start": 79625, "end": 79641, "length": 17, - "parent_index": 4695 + "parent_index": 4696 }, "name": "freeMemoryPointer" }, { - "id": 4698, + "id": 4699, "node_type": 109, "kind": 124, "src": { @@ -9976,7 +9984,7 @@ "start": 79644, "end": 79709, "length": 66, - "parent_index": 4695 + "parent_index": 4696 }, "value": "0", "hex_value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" @@ -9984,7 +9992,7 @@ ] }, { - "id": 4699, + "id": 4700, "node_type": 110, "src": { "line": 2219, @@ -9992,10 +10000,10 @@ "start": 79724, "end": 79760, "length": 37, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4700, + "id": 4701, "node_type": 107, "src": { "line": 2219, @@ -10003,13 +10011,13 @@ "start": 79724, "end": 79729, "length": 6, - "parent_index": 4699 + "parent_index": 4700 }, "name": "mstore" }, "arguments": [ { - "id": 4701, + "id": 4702, "node_type": 110, "src": { "line": 2219, @@ -10017,10 +10025,10 @@ "start": 79731, "end": 79755, "length": 25, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4702, + "id": 4703, "node_type": 107, "src": { "line": 2219, @@ -10028,13 +10036,13 @@ "start": 79731, "end": 79733, "length": 3, - "parent_index": 4701 + "parent_index": 4702 }, "name": "add" }, "arguments": [ { - "id": 4703, + "id": 4704, "node_type": 107, "src": { "line": 2219, @@ -10042,12 +10050,12 @@ "start": 79735, "end": 79751, "length": 17, - "parent_index": 4701 + "parent_index": 4702 }, "name": "freeMemoryPointer" }, { - "id": 4704, + "id": 4705, "node_type": 109, "kind": 115, "src": { @@ -10056,7 +10064,7 @@ "start": 79754, "end": 79754, "length": 1, - "parent_index": 4701 + "parent_index": 4702 }, "value": "4", "hex_value": "" @@ -10064,7 +10072,7 @@ ] }, { - "id": 4705, + "id": 4706, "node_type": 107, "src": { "line": 2219, @@ -10072,14 +10080,14 @@ "start": 79758, "end": 79759, "length": 2, - "parent_index": 4699 + "parent_index": 4700 }, "name": "to" } ] }, { - "id": 4706, + "id": 4707, "node_type": 110, "src": { "line": 2220, @@ -10087,10 +10095,10 @@ "start": 79803, "end": 79844, "length": 42, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4707, + "id": 4708, "node_type": 107, "src": { "line": 2220, @@ -10098,13 +10106,13 @@ "start": 79803, "end": 79808, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "mstore" }, "arguments": [ { - "id": 4708, + "id": 4709, "node_type": 110, "src": { "line": 2220, @@ -10112,10 +10120,10 @@ "start": 79810, "end": 79835, "length": 26, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4709, + "id": 4710, "node_type": 107, "src": { "line": 2220, @@ -10123,13 +10131,13 @@ "start": 79810, "end": 79812, "length": 3, - "parent_index": 4708 + "parent_index": 4709 }, "name": "add" }, "arguments": [ { - "id": 4710, + "id": 4711, "node_type": 107, "src": { "line": 2220, @@ -10137,12 +10145,12 @@ "start": 79814, "end": 79830, "length": 17, - "parent_index": 4708 + "parent_index": 4709 }, "name": "freeMemoryPointer" }, { - "id": 4711, + "id": 4712, "node_type": 109, "kind": 115, "src": { @@ -10151,7 +10159,7 @@ "start": 79833, "end": 79834, "length": 2, - "parent_index": 4708 + "parent_index": 4709 }, "value": "36", "hex_value": "" @@ -10159,7 +10167,7 @@ ] }, { - "id": 4712, + "id": 4713, "node_type": 107, "src": { "line": 2220, @@ -10167,14 +10175,14 @@ "start": 79838, "end": 79843, "length": 6, - "parent_index": 4706 + "parent_index": 4707 }, "name": "amount" } ] }, { - "id": 4713, + "id": 4714, "node_type": 92, "src": { "line": 2222, @@ -10182,11 +10190,11 @@ "start": 79892, "end": 80656, "length": 765, - "parent_index": 4686 + "parent_index": 4687 }, "variable_names": [ { - "id": 4714, + "id": 4715, "node_type": 107, "src": { "line": 2222, @@ -10194,13 +10202,13 @@ "start": 79892, "end": 79898, "length": 7, - "parent_index": 4713 + "parent_index": 4714 }, "name": "success" } ], "value": { - "id": 4715, + "id": 4716, "node_type": 123, "src": { "line": 2222, @@ -10208,10 +10216,10 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4713 + "parent_index": 4714 }, "expression": { - "id": 4716, + "id": 4717, "node_type": 110, "src": { "line": 2222, @@ -10219,10 +10227,10 @@ "start": 79903, "end": 80656, "length": 754, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4717, + "id": 4718, "node_type": 107, "src": { "line": 2222, @@ -10230,13 +10238,13 @@ "start": 79903, "end": 79905, "length": 3, - "parent_index": 4716 + "parent_index": 4717 }, "name": "and" }, "arguments": [ { - "id": 4718, + "id": 4719, "node_type": 110, "src": { "line": 2225, @@ -10244,10 +10252,10 @@ "start": 80103, "end": 80178, "length": 76, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4719, + "id": 4720, "node_type": 107, "src": { "line": 2225, @@ -10255,13 +10263,13 @@ "start": 80103, "end": 80104, "length": 2, - "parent_index": 4718 + "parent_index": 4719 }, "name": "or" }, "arguments": [ { - "id": 4720, + "id": 4721, "node_type": 110, "src": { "line": 2225, @@ -10269,10 +10277,10 @@ "start": 80106, "end": 80151, "length": 46, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4721, + "id": 4722, "node_type": 107, "src": { "line": 2225, @@ -10280,13 +10288,13 @@ "start": 80106, "end": 80108, "length": 3, - "parent_index": 4720 + "parent_index": 4721 }, "name": "and" }, "arguments": [ { - "id": 4722, + "id": 4723, "node_type": 110, "src": { "line": 2225, @@ -10294,10 +10302,10 @@ "start": 80110, "end": 80124, "length": 15, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4723, + "id": 4724, "node_type": 107, "src": { "line": 2225, @@ -10305,13 +10313,13 @@ "start": 80110, "end": 80111, "length": 2, - "parent_index": 4722 + "parent_index": 4723 }, "name": "eq" }, "arguments": [ { - "id": 4724, + "id": 4725, "node_type": 110, "src": { "line": 2225, @@ -10319,10 +10327,10 @@ "start": 80113, "end": 80120, "length": 8, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4725, + "id": 4726, "node_type": 107, "src": { "line": 2225, @@ -10330,13 +10338,13 @@ "start": 80113, "end": 80117, "length": 5, - "parent_index": 4724 + "parent_index": 4725 }, "name": "mload" }, "arguments": [ { - "id": 4726, + "id": 4727, "node_type": 109, "kind": 115, "src": { @@ -10345,7 +10353,7 @@ "start": 80119, "end": 80119, "length": 1, - "parent_index": 4724 + "parent_index": 4725 }, "value": "0", "hex_value": "" @@ -10353,7 +10361,7 @@ ] }, { - "id": 4727, + "id": 4728, "node_type": 109, "kind": 115, "src": { @@ -10362,7 +10370,7 @@ "start": 80123, "end": 80123, "length": 1, - "parent_index": 4722 + "parent_index": 4723 }, "value": "1", "hex_value": "" @@ -10370,7 +10378,7 @@ ] }, { - "id": 4728, + "id": 4729, "node_type": 110, "src": { "line": 2225, @@ -10378,10 +10386,10 @@ "start": 80127, "end": 80150, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4729, + "id": 4730, "node_type": 107, "src": { "line": 2225, @@ -10389,13 +10397,13 @@ "start": 80127, "end": 80128, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "name": "gt" }, "arguments": [ { - "id": 4730, + "id": 4731, "node_type": 110, "src": { "line": 2225, @@ -10403,10 +10411,10 @@ "start": 80130, "end": 80145, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4731, + "id": 4732, "node_type": 107, "src": { "line": 2225, @@ -10414,14 +10422,14 @@ "start": 80130, "end": 80143, "length": 14, - "parent_index": 4730 + "parent_index": 4731 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4732, + "id": 4733, "node_type": 109, "kind": 115, "src": { @@ -10430,7 +10438,7 @@ "start": 80148, "end": 80149, "length": 2, - "parent_index": 4728 + "parent_index": 4729 }, "value": "31", "hex_value": "" @@ -10440,7 +10448,7 @@ ] }, { - "id": 4733, + "id": 4734, "node_type": 110, "src": { "line": 2225, @@ -10448,10 +10456,10 @@ "start": 80154, "end": 80177, "length": 24, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4734, + "id": 4735, "node_type": 107, "src": { "line": 2225, @@ -10459,13 +10467,13 @@ "start": 80154, "end": 80159, "length": 6, - "parent_index": 4733 + "parent_index": 4734 }, "name": "iszero" }, "arguments": [ { - "id": 4735, + "id": 4736, "node_type": 110, "src": { "line": 2225, @@ -10473,10 +10481,10 @@ "start": 80161, "end": 80176, "length": 16, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4736, + "id": 4737, "node_type": 107, "src": { "line": 2225, @@ -10484,7 +10492,7 @@ "start": 80161, "end": 80174, "length": 14, - "parent_index": 4735 + "parent_index": 4736 }, "name": "returndatasize" }, @@ -10495,7 +10503,7 @@ ] }, { - "id": 4737, + "id": 4738, "node_type": 110, "src": { "line": 2230, @@ -10503,10 +10511,10 @@ "start": 80592, "end": 80642, "length": 51, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4738, + "id": 4739, "node_type": 107, "src": { "line": 2230, @@ -10514,13 +10522,13 @@ "start": 80592, "end": 80595, "length": 4, - "parent_index": 4737 + "parent_index": 4738 }, "name": "call" }, "arguments": [ { - "id": 4739, + "id": 4740, "node_type": 110, "src": { "line": 2230, @@ -10528,10 +10536,10 @@ "start": 80597, "end": 80601, "length": 5, - "parent_index": 4686 + "parent_index": 4687 }, "function_name": { - "id": 4740, + "id": 4741, "node_type": 107, "src": { "line": 2230, @@ -10539,14 +10547,14 @@ "start": 80597, "end": 80599, "length": 3, - "parent_index": 4739 + "parent_index": 4740 }, "name": "gas" }, "arguments": [] }, { - "id": 4741, + "id": 4742, "node_type": 107, "src": { "line": 2230, @@ -10554,12 +10562,12 @@ "start": 80604, "end": 80608, "length": 5, - "parent_index": 4737 + "parent_index": 4738 }, "name": "token" }, { - "id": 4742, + "id": 4743, "node_type": 109, "kind": 115, "src": { @@ -10568,13 +10576,13 @@ "start": 80611, "end": 80611, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4743, + "id": 4744, "node_type": 107, "src": { "line": 2230, @@ -10582,12 +10590,12 @@ "start": 80614, "end": 80630, "length": 17, - "parent_index": 4737 + "parent_index": 4738 }, "name": "freeMemoryPointer" }, { - "id": 4744, + "id": 4745, "node_type": 109, "kind": 115, "src": { @@ -10596,13 +10604,13 @@ "start": 80633, "end": 80634, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "68", "hex_value": "" }, { - "id": 4745, + "id": 4746, "node_type": 109, "kind": 115, "src": { @@ -10611,13 +10619,13 @@ "start": 80637, "end": 80637, "length": 1, - "parent_index": 4737 + "parent_index": 4738 }, "value": "0", "hex_value": "" }, { - "id": 4746, + "id": 4747, "node_type": 109, "kind": 115, "src": { @@ -10626,7 +10634,7 @@ "start": 80640, "end": 80641, "length": 2, - "parent_index": 4737 + "parent_index": 4738 }, "value": "32", "hex_value": "" @@ -10643,7 +10651,7 @@ } }, { - "id": 4747, + "id": 4748, "node_type": 24, "kind": 24, "src": { @@ -10652,7 +10660,7 @@ "start": 80677, "end": 80711, "length": 35, - "parent_index": 4682 + "parent_index": 4683 }, "argument_types": [ { @@ -10666,7 +10674,7 @@ ], "arguments": [ { - "id": 4749, + "id": 4750, "node_type": 16, "src": { "line": 2234, @@ -10674,7 +10682,7 @@ "start": 80685, "end": 80691, "length": 7, - "parent_index": 4747 + "parent_index": 4748 }, "name": "success", "type_description": { @@ -10682,11 +10690,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4683, - "is_pure": false + "referenced_declaration": 4684, + "is_pure": false, + "text": "success" }, { - "id": 4750, + "id": 4751, "node_type": 17, "kind": 50, "value": "TRANSFER_FAILED", @@ -10697,7 +10706,7 @@ "start": 80694, "end": 80710, "length": 17, - "parent_index": 4747 + "parent_index": 4748 }, "type_description": { "type_identifier": "t_string_literal", @@ -10711,11 +10720,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TRANSFER_FAILED\"" } ], "expression": { - "id": 4748, + "id": 4749, "node_type": 16, "src": { "line": 2234, @@ -10723,7 +10733,7 @@ "start": 80677, "end": 80683, "length": 7, - "parent_index": 4747 + "parent_index": 4748 }, "name": "require", "type_description": { @@ -10732,7 +10742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10748,7 +10759,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4673, + "id": 4674, "node_type": 43, "src": { "line": 2207, @@ -10756,11 +10767,11 @@ "start": 79294, "end": 79348, "length": 55, - "parent_index": 4672 + "parent_index": 4673 }, "parameters": [ { - "id": 4674, + "id": 4675, "node_type": 44, "src": { "line": 2207, @@ -10768,12 +10779,12 @@ "start": 79294, "end": 79304, "length": 11, - "parent_index": 4673 + "parent_index": 4674 }, - "scope": 4672, + "scope": 4673, "name": "token", "type_name": { - "id": 4675, + "id": 4676, "node_type": 69, "src": { "line": 2207, @@ -10781,20 +10792,20 @@ "start": 79294, "end": 79298, "length": 5, - "parent_index": 4674 + "parent_index": 4675 }, "path_node": { - "id": 4676, + "id": 4677, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2207, "column": 8, "start": 79294, "end": 79298, "length": 5, - "parent_index": 4675 + "parent_index": 4676 }, "name_location": { "line": 2207, @@ -10802,12 +10813,12 @@ "start": 79294, "end": 79298, "length": 5, - "parent_index": 4675 + "parent_index": 4676 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -10815,12 +10826,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, { - "id": 4677, + "id": 4678, "node_type": 44, "src": { "line": 2208, @@ -10828,12 +10839,12 @@ "start": 79315, "end": 79324, "length": 10, - "parent_index": 4673 + "parent_index": 4674 }, - "scope": 4672, + "scope": 4673, "name": "to", "type_name": { - "id": 4678, + "id": 4679, "node_type": 30, "src": { "line": 2208, @@ -10841,7 +10852,7 @@ "start": 79315, "end": 79321, "length": 7, - "parent_index": 4677 + "parent_index": 4678 }, "name": "address", "state_mutability": 4, @@ -10860,7 +10871,7 @@ } }, { - "id": 4679, + "id": 4680, "node_type": 44, "src": { "line": 2209, @@ -10868,12 +10879,12 @@ "start": 79335, "end": 79348, "length": 14, - "parent_index": 4673 + "parent_index": 4674 }, - "scope": 4672, + "scope": 4673, "name": "amount", "type_name": { - "id": 4680, + "id": 4681, "node_type": 30, "src": { "line": 2209, @@ -10881,7 +10892,7 @@ "start": 79335, "end": 79341, "length": 7, - "parent_index": 4679 + "parent_index": 4680 }, "name": "uint256", "referenced_declaration": 0, @@ -10901,7 +10912,7 @@ ], "parameter_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, { @@ -10915,7 +10926,7 @@ ] }, "return_parameters": { - "id": 4681, + "id": 4682, "node_type": 43, "src": { "line": 2206, @@ -10923,21 +10934,22 @@ "start": 79263, "end": 80718, "length": 1456, - "parent_index": 4672 + "parent_index": 4673 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", - "scope": 4549, + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", + "scope": 4550, "type_description": { - "type_identifier": "t_function_$_t_contract$_ERC20_$4060$_t_address$_t_uint256$", + "type_identifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_uint256$", "type_string": "function(contract ERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(ERC20token,addressto,uint256amount)internal{boolsuccess;assembly{letfreeMemoryPointer:=mload(0x40)mstore(freeMemoryPointer,0xa9059cbb00000000000000000000000000000000000000000000000000000000)mstore(add(freeMemoryPointer,4),to)mstore(add(freeMemoryPointer,36),amount)success:=and(or(and(eq(mload(0),1),gt(returndatasize(),31)),iszero(returndatasize())),call(gas(),token,0,freeMemoryPointer,68,0,32))}require(success,\"TRANSFER_FAILED\");}" }, { - "id": 4752, + "id": 4753, "name": "safeApprove", "node_type": 42, "kind": 41, @@ -10947,7 +10959,7 @@ "start": 80725, "end": 82178, "length": 1454, - "parent_index": 4549 + "parent_index": 4550 }, "name_location": { "line": 2237, @@ -10955,10 +10967,10 @@ "start": 80734, "end": 80744, "length": 11, - "parent_index": 4752 + "parent_index": 4753 }, "body": { - "id": 4762, + "id": 4763, "node_type": 46, "kind": 0, "src": { @@ -10967,12 +10979,12 @@ "start": 80826, "end": 82178, "length": 1353, - "parent_index": 4752 + "parent_index": 4753 }, "implemented": true, "statements": [ { - "id": 4763, + "id": 4764, "node_type": 44, "src": { "line": 2242, @@ -10980,25 +10992,25 @@ "start": 80836, "end": 80848, "length": 13, - "parent_index": 4762 + "parent_index": 4763 }, "assignments": [ - 4764 + 4765 ], "declarations": [ { - "id": 4764, + "id": 4765, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 4762, + "scope": 4763, "src": { "line": 2242, "column": 8, "start": 80836, "end": 80847, "length": 12, - "parent_index": 4763 + "parent_index": 4764 }, "name_location": { "line": 2242, @@ -11006,12 +11018,12 @@ "start": 80841, "end": 80847, "length": 7, - "parent_index": 4764 + "parent_index": 4765 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4765, + "id": 4766, "node_type": 30, "src": { "line": 2242, @@ -11019,7 +11031,7 @@ "start": 80836, "end": 80839, "length": 4, - "parent_index": 4764 + "parent_index": 4765 }, "name": "bool", "referenced_declaration": 0, @@ -11033,7 +11045,7 @@ ] }, { - "id": 4766, + "id": 4767, "node_type": 89, "src": { "line": 2244, @@ -11041,10 +11053,10 @@ "start": 80859, "end": 82127, "length": 1269, - "parent_index": 4762 + "parent_index": 4763 }, "body": { - "id": 4767, + "id": 4768, "node_type": 111, "kind": 0, "src": { @@ -11053,12 +11065,12 @@ "start": 80859, "end": 82127, "length": 1269, - "parent_index": 4766 + "parent_index": 4767 }, "implemented": false, "statements": [ { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -11066,11 +11078,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -11078,11 +11090,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -11090,10 +11102,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -11101,10 +11113,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -11112,13 +11124,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -11127,7 +11139,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -11137,7 +11149,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -11145,14 +11157,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -11160,10 +11172,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -11171,13 +11183,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -11185,12 +11197,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -11199,7 +11211,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -11207,7 +11219,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -11215,10 +11227,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -11226,13 +11238,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -11240,10 +11252,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -11251,13 +11263,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -11265,12 +11277,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -11279,7 +11291,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -11287,7 +11299,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -11295,14 +11307,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -11310,10 +11322,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -11321,13 +11333,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -11335,10 +11347,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -11346,13 +11358,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -11360,12 +11372,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -11374,7 +11386,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -11382,7 +11394,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -11390,14 +11402,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -11405,11 +11417,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -11417,13 +11429,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -11431,10 +11443,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -11442,10 +11454,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -11453,13 +11465,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -11467,10 +11479,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -11478,13 +11490,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -11492,10 +11504,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -11503,13 +11515,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -11517,10 +11529,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -11528,13 +11540,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -11542,10 +11554,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -11553,13 +11565,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -11568,7 +11580,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -11576,7 +11588,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -11585,7 +11597,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -11593,7 +11605,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -11601,10 +11613,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -11612,13 +11624,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -11626,10 +11638,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -11637,14 +11649,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -11653,7 +11665,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -11663,7 +11675,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -11671,10 +11683,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -11682,13 +11694,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -11696,10 +11708,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -11707,7 +11719,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -11718,7 +11730,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -11726,10 +11738,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -11737,13 +11749,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -11751,10 +11763,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -11762,14 +11774,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -11777,12 +11789,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -11791,13 +11803,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -11805,12 +11817,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -11819,13 +11831,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -11834,13 +11846,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -11849,7 +11861,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -11863,7 +11875,7 @@ ] }, { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -11871,11 +11883,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -11883,11 +11895,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -11895,10 +11907,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -11906,10 +11918,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -11917,13 +11929,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -11932,7 +11944,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -11942,7 +11954,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -11950,14 +11962,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -11965,10 +11977,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -11976,13 +11988,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -11990,12 +12002,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -12004,7 +12016,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -12012,7 +12024,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -12020,10 +12032,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -12031,13 +12043,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -12045,10 +12057,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -12056,13 +12068,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -12070,12 +12082,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -12084,7 +12096,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -12092,7 +12104,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -12100,14 +12112,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -12115,10 +12127,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -12126,13 +12138,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -12140,10 +12152,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -12151,13 +12163,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -12165,12 +12177,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -12179,7 +12191,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -12187,7 +12199,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -12195,14 +12207,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -12210,11 +12222,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -12222,13 +12234,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -12236,10 +12248,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -12247,10 +12259,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -12258,13 +12270,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -12272,10 +12284,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -12283,13 +12295,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -12297,10 +12309,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -12308,13 +12320,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -12322,10 +12334,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -12333,13 +12345,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -12347,10 +12359,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -12358,13 +12370,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -12373,7 +12385,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -12381,7 +12393,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -12390,7 +12402,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -12398,7 +12410,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -12406,10 +12418,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -12417,13 +12429,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -12431,10 +12443,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -12442,14 +12454,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -12458,7 +12470,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -12468,7 +12480,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -12476,10 +12488,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -12487,13 +12499,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -12501,10 +12513,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -12512,7 +12524,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -12523,7 +12535,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -12531,10 +12543,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -12542,13 +12554,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -12556,10 +12568,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -12567,14 +12579,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -12582,12 +12594,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -12596,13 +12608,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -12610,12 +12622,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -12624,13 +12636,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -12639,13 +12651,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -12654,7 +12666,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -12668,7 +12680,7 @@ ] }, { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -12676,11 +12688,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -12688,11 +12700,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -12700,10 +12712,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -12711,10 +12723,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -12722,13 +12734,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -12737,7 +12749,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -12747,7 +12759,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -12755,14 +12767,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -12770,10 +12782,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -12781,13 +12793,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -12795,12 +12807,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -12809,7 +12821,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -12817,7 +12829,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -12825,10 +12837,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -12836,13 +12848,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -12850,10 +12862,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -12861,13 +12873,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -12875,12 +12887,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -12889,7 +12901,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -12897,7 +12909,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -12905,14 +12917,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -12920,10 +12932,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -12931,13 +12943,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -12945,10 +12957,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -12956,13 +12968,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -12970,12 +12982,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -12984,7 +12996,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -12992,7 +13004,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -13000,14 +13012,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -13015,11 +13027,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -13027,13 +13039,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -13041,10 +13053,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -13052,10 +13064,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -13063,13 +13075,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -13077,10 +13089,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -13088,13 +13100,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -13102,10 +13114,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -13113,13 +13125,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -13127,10 +13139,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -13138,13 +13150,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -13152,10 +13164,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -13163,13 +13175,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -13178,7 +13190,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -13186,7 +13198,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -13195,7 +13207,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -13203,7 +13215,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -13211,10 +13223,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -13222,13 +13234,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -13236,10 +13248,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -13247,14 +13259,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -13263,7 +13275,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -13273,7 +13285,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -13281,10 +13293,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -13292,13 +13304,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -13306,10 +13318,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -13317,7 +13329,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -13328,7 +13340,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -13336,10 +13348,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -13347,13 +13359,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -13361,10 +13373,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -13372,14 +13384,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -13387,12 +13399,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -13401,13 +13413,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -13415,12 +13427,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -13429,13 +13441,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -13444,13 +13456,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -13459,7 +13471,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -13473,7 +13485,7 @@ ] }, { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -13481,11 +13493,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -13493,11 +13505,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -13505,10 +13517,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -13516,10 +13528,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -13527,13 +13539,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -13542,7 +13554,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -13552,7 +13564,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -13560,14 +13572,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -13575,10 +13587,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -13586,13 +13598,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -13600,12 +13612,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -13614,7 +13626,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -13622,7 +13634,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -13630,10 +13642,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -13641,13 +13653,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -13655,10 +13667,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -13666,13 +13678,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -13680,12 +13692,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -13694,7 +13706,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -13702,7 +13714,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -13710,14 +13722,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -13725,10 +13737,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -13736,13 +13748,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -13750,10 +13762,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -13761,13 +13773,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -13775,12 +13787,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -13789,7 +13801,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -13797,7 +13809,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -13805,14 +13817,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -13820,11 +13832,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -13832,13 +13844,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -13846,10 +13858,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -13857,10 +13869,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -13868,13 +13880,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -13882,10 +13894,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -13893,13 +13905,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -13907,10 +13919,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -13918,13 +13930,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -13932,10 +13944,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -13943,13 +13955,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -13957,10 +13969,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -13968,13 +13980,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -13983,7 +13995,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -13991,7 +14003,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -14000,7 +14012,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -14008,7 +14020,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -14016,10 +14028,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -14027,13 +14039,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -14041,10 +14053,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -14052,14 +14064,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -14068,7 +14080,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -14078,7 +14090,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -14086,10 +14098,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -14097,13 +14109,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -14111,10 +14123,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -14122,7 +14134,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -14133,7 +14145,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -14141,10 +14153,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -14152,13 +14164,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -14166,10 +14178,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -14177,14 +14189,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -14192,12 +14204,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -14206,13 +14218,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -14220,12 +14232,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -14234,13 +14246,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -14249,13 +14261,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -14264,7 +14276,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -14278,7 +14290,7 @@ ] }, { - "id": 4768, + "id": 4769, "node_type": 91, "src": { "line": 2253, @@ -14286,11 +14298,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "statements": [ { - "id": 4769, + "id": 4770, "node_type": 122, "src": { "line": 2246, @@ -14298,11 +14310,11 @@ "start": 80932, "end": 80967, "length": 36, - "parent_index": 4768 + "parent_index": 4769 }, "let": true, "value": { - "id": 4771, + "id": 4772, "node_type": 123, "src": { "line": 2246, @@ -14310,10 +14322,10 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4769 + "parent_index": 4770 }, "expression": { - "id": 4772, + "id": 4773, "node_type": 110, "src": { "line": 2246, @@ -14321,10 +14333,10 @@ "start": 80957, "end": 80967, "length": 11, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4773, + "id": 4774, "node_type": 107, "src": { "line": 2246, @@ -14332,13 +14344,13 @@ "start": 80957, "end": 80961, "length": 5, - "parent_index": 4772 + "parent_index": 4773 }, "name": "mload" }, "arguments": [ { - "id": 4774, + "id": 4775, "node_type": 109, "kind": 124, "src": { @@ -14347,7 +14359,7 @@ "start": 80963, "end": 80966, "length": 4, - "parent_index": 4772 + "parent_index": 4773 }, "value": "64", "hex_value": "0x40" @@ -14357,7 +14369,7 @@ }, "variables": [ { - "id": 4770, + "id": 4771, "node_type": 107, "src": { "line": 2246, @@ -14365,14 +14377,14 @@ "start": 80936, "end": 80952, "length": 17, - "parent_index": 4769 + "parent_index": 4770 }, "name": "freeMemoryPointer" } ] }, { - "id": 4775, + "id": 4776, "node_type": 110, "src": { "line": 2249, @@ -14380,10 +14392,10 @@ "start": 81079, "end": 81171, "length": 93, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4776, + "id": 4777, "node_type": 107, "src": { "line": 2249, @@ -14391,13 +14403,13 @@ "start": 81079, "end": 81084, "length": 6, - "parent_index": 4775 + "parent_index": 4776 }, "name": "mstore" }, "arguments": [ { - "id": 4777, + "id": 4778, "node_type": 107, "src": { "line": 2249, @@ -14405,12 +14417,12 @@ "start": 81086, "end": 81102, "length": 17, - "parent_index": 4775 + "parent_index": 4776 }, "name": "freeMemoryPointer" }, { - "id": 4778, + "id": 4779, "node_type": 109, "kind": 124, "src": { @@ -14419,7 +14431,7 @@ "start": 81105, "end": 81170, "length": 66, - "parent_index": 4775 + "parent_index": 4776 }, "value": "0", "hex_value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" @@ -14427,7 +14439,7 @@ ] }, { - "id": 4779, + "id": 4780, "node_type": 110, "src": { "line": 2250, @@ -14435,10 +14447,10 @@ "start": 81185, "end": 81221, "length": 37, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4780, + "id": 4781, "node_type": 107, "src": { "line": 2250, @@ -14446,13 +14458,13 @@ "start": 81185, "end": 81190, "length": 6, - "parent_index": 4779 + "parent_index": 4780 }, "name": "mstore" }, "arguments": [ { - "id": 4781, + "id": 4782, "node_type": 110, "src": { "line": 2250, @@ -14460,10 +14472,10 @@ "start": 81192, "end": 81216, "length": 25, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4782, + "id": 4783, "node_type": 107, "src": { "line": 2250, @@ -14471,13 +14483,13 @@ "start": 81192, "end": 81194, "length": 3, - "parent_index": 4781 + "parent_index": 4782 }, "name": "add" }, "arguments": [ { - "id": 4783, + "id": 4784, "node_type": 107, "src": { "line": 2250, @@ -14485,12 +14497,12 @@ "start": 81196, "end": 81212, "length": 17, - "parent_index": 4781 + "parent_index": 4782 }, "name": "freeMemoryPointer" }, { - "id": 4784, + "id": 4785, "node_type": 109, "kind": 115, "src": { @@ -14499,7 +14511,7 @@ "start": 81215, "end": 81215, "length": 1, - "parent_index": 4781 + "parent_index": 4782 }, "value": "4", "hex_value": "" @@ -14507,7 +14519,7 @@ ] }, { - "id": 4785, + "id": 4786, "node_type": 107, "src": { "line": 2250, @@ -14515,14 +14527,14 @@ "start": 81219, "end": 81220, "length": 2, - "parent_index": 4779 + "parent_index": 4780 }, "name": "to" } ] }, { - "id": 4786, + "id": 4787, "node_type": 110, "src": { "line": 2251, @@ -14530,10 +14542,10 @@ "start": 81264, "end": 81305, "length": 42, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4787, + "id": 4788, "node_type": 107, "src": { "line": 2251, @@ -14541,13 +14553,13 @@ "start": 81264, "end": 81269, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "mstore" }, "arguments": [ { - "id": 4788, + "id": 4789, "node_type": 110, "src": { "line": 2251, @@ -14555,10 +14567,10 @@ "start": 81271, "end": 81296, "length": 26, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4789, + "id": 4790, "node_type": 107, "src": { "line": 2251, @@ -14566,13 +14578,13 @@ "start": 81271, "end": 81273, "length": 3, - "parent_index": 4788 + "parent_index": 4789 }, "name": "add" }, "arguments": [ { - "id": 4790, + "id": 4791, "node_type": 107, "src": { "line": 2251, @@ -14580,12 +14592,12 @@ "start": 81275, "end": 81291, "length": 17, - "parent_index": 4788 + "parent_index": 4789 }, "name": "freeMemoryPointer" }, { - "id": 4791, + "id": 4792, "node_type": 109, "kind": 115, "src": { @@ -14594,7 +14606,7 @@ "start": 81294, "end": 81295, "length": 2, - "parent_index": 4788 + "parent_index": 4789 }, "value": "36", "hex_value": "" @@ -14602,7 +14614,7 @@ ] }, { - "id": 4792, + "id": 4793, "node_type": 107, "src": { "line": 2251, @@ -14610,14 +14622,14 @@ "start": 81299, "end": 81304, "length": 6, - "parent_index": 4786 + "parent_index": 4787 }, "name": "amount" } ] }, { - "id": 4793, + "id": 4794, "node_type": 92, "src": { "line": 2253, @@ -14625,11 +14637,11 @@ "start": 81353, "end": 82117, "length": 765, - "parent_index": 4766 + "parent_index": 4767 }, "variable_names": [ { - "id": 4794, + "id": 4795, "node_type": 107, "src": { "line": 2253, @@ -14637,13 +14649,13 @@ "start": 81353, "end": 81359, "length": 7, - "parent_index": 4793 + "parent_index": 4794 }, "name": "success" } ], "value": { - "id": 4795, + "id": 4796, "node_type": 123, "src": { "line": 2253, @@ -14651,10 +14663,10 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4793 + "parent_index": 4794 }, "expression": { - "id": 4796, + "id": 4797, "node_type": 110, "src": { "line": 2253, @@ -14662,10 +14674,10 @@ "start": 81364, "end": 82117, "length": 754, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4797, + "id": 4798, "node_type": 107, "src": { "line": 2253, @@ -14673,13 +14685,13 @@ "start": 81364, "end": 81366, "length": 3, - "parent_index": 4796 + "parent_index": 4797 }, "name": "and" }, "arguments": [ { - "id": 4798, + "id": 4799, "node_type": 110, "src": { "line": 2256, @@ -14687,10 +14699,10 @@ "start": 81564, "end": 81639, "length": 76, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4799, + "id": 4800, "node_type": 107, "src": { "line": 2256, @@ -14698,13 +14710,13 @@ "start": 81564, "end": 81565, "length": 2, - "parent_index": 4798 + "parent_index": 4799 }, "name": "or" }, "arguments": [ { - "id": 4800, + "id": 4801, "node_type": 110, "src": { "line": 2256, @@ -14712,10 +14724,10 @@ "start": 81567, "end": 81612, "length": 46, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4801, + "id": 4802, "node_type": 107, "src": { "line": 2256, @@ -14723,13 +14735,13 @@ "start": 81567, "end": 81569, "length": 3, - "parent_index": 4800 + "parent_index": 4801 }, "name": "and" }, "arguments": [ { - "id": 4802, + "id": 4803, "node_type": 110, "src": { "line": 2256, @@ -14737,10 +14749,10 @@ "start": 81571, "end": 81585, "length": 15, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4803, + "id": 4804, "node_type": 107, "src": { "line": 2256, @@ -14748,13 +14760,13 @@ "start": 81571, "end": 81572, "length": 2, - "parent_index": 4802 + "parent_index": 4803 }, "name": "eq" }, "arguments": [ { - "id": 4804, + "id": 4805, "node_type": 110, "src": { "line": 2256, @@ -14762,10 +14774,10 @@ "start": 81574, "end": 81581, "length": 8, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4805, + "id": 4806, "node_type": 107, "src": { "line": 2256, @@ -14773,13 +14785,13 @@ "start": 81574, "end": 81578, "length": 5, - "parent_index": 4804 + "parent_index": 4805 }, "name": "mload" }, "arguments": [ { - "id": 4806, + "id": 4807, "node_type": 109, "kind": 115, "src": { @@ -14788,7 +14800,7 @@ "start": 81580, "end": 81580, "length": 1, - "parent_index": 4804 + "parent_index": 4805 }, "value": "0", "hex_value": "" @@ -14796,7 +14808,7 @@ ] }, { - "id": 4807, + "id": 4808, "node_type": 109, "kind": 115, "src": { @@ -14805,7 +14817,7 @@ "start": 81584, "end": 81584, "length": 1, - "parent_index": 4802 + "parent_index": 4803 }, "value": "1", "hex_value": "" @@ -14813,7 +14825,7 @@ ] }, { - "id": 4808, + "id": 4809, "node_type": 110, "src": { "line": 2256, @@ -14821,10 +14833,10 @@ "start": 81588, "end": 81611, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4809, + "id": 4810, "node_type": 107, "src": { "line": 2256, @@ -14832,13 +14844,13 @@ "start": 81588, "end": 81589, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "name": "gt" }, "arguments": [ { - "id": 4810, + "id": 4811, "node_type": 110, "src": { "line": 2256, @@ -14846,10 +14858,10 @@ "start": 81591, "end": 81606, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4811, + "id": 4812, "node_type": 107, "src": { "line": 2256, @@ -14857,14 +14869,14 @@ "start": 81591, "end": 81604, "length": 14, - "parent_index": 4810 + "parent_index": 4811 }, "name": "returndatasize" }, "arguments": [] }, { - "id": 4812, + "id": 4813, "node_type": 109, "kind": 115, "src": { @@ -14873,7 +14885,7 @@ "start": 81609, "end": 81610, "length": 2, - "parent_index": 4808 + "parent_index": 4809 }, "value": "31", "hex_value": "" @@ -14883,7 +14895,7 @@ ] }, { - "id": 4813, + "id": 4814, "node_type": 110, "src": { "line": 2256, @@ -14891,10 +14903,10 @@ "start": 81615, "end": 81638, "length": 24, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4814, + "id": 4815, "node_type": 107, "src": { "line": 2256, @@ -14902,13 +14914,13 @@ "start": 81615, "end": 81620, "length": 6, - "parent_index": 4813 + "parent_index": 4814 }, "name": "iszero" }, "arguments": [ { - "id": 4815, + "id": 4816, "node_type": 110, "src": { "line": 2256, @@ -14916,10 +14928,10 @@ "start": 81622, "end": 81637, "length": 16, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4816, + "id": 4817, "node_type": 107, "src": { "line": 2256, @@ -14927,7 +14939,7 @@ "start": 81622, "end": 81635, "length": 14, - "parent_index": 4815 + "parent_index": 4816 }, "name": "returndatasize" }, @@ -14938,7 +14950,7 @@ ] }, { - "id": 4817, + "id": 4818, "node_type": 110, "src": { "line": 2261, @@ -14946,10 +14958,10 @@ "start": 82053, "end": 82103, "length": 51, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4818, + "id": 4819, "node_type": 107, "src": { "line": 2261, @@ -14957,13 +14969,13 @@ "start": 82053, "end": 82056, "length": 4, - "parent_index": 4817 + "parent_index": 4818 }, "name": "call" }, "arguments": [ { - "id": 4819, + "id": 4820, "node_type": 110, "src": { "line": 2261, @@ -14971,10 +14983,10 @@ "start": 82058, "end": 82062, "length": 5, - "parent_index": 4766 + "parent_index": 4767 }, "function_name": { - "id": 4820, + "id": 4821, "node_type": 107, "src": { "line": 2261, @@ -14982,14 +14994,14 @@ "start": 82058, "end": 82060, "length": 3, - "parent_index": 4819 + "parent_index": 4820 }, "name": "gas" }, "arguments": [] }, { - "id": 4821, + "id": 4822, "node_type": 107, "src": { "line": 2261, @@ -14997,12 +15009,12 @@ "start": 82065, "end": 82069, "length": 5, - "parent_index": 4817 + "parent_index": 4818 }, "name": "token" }, { - "id": 4822, + "id": 4823, "node_type": 109, "kind": 115, "src": { @@ -15011,13 +15023,13 @@ "start": 82072, "end": 82072, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4823, + "id": 4824, "node_type": 107, "src": { "line": 2261, @@ -15025,12 +15037,12 @@ "start": 82075, "end": 82091, "length": 17, - "parent_index": 4817 + "parent_index": 4818 }, "name": "freeMemoryPointer" }, { - "id": 4824, + "id": 4825, "node_type": 109, "kind": 115, "src": { @@ -15039,13 +15051,13 @@ "start": 82094, "end": 82095, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "68", "hex_value": "" }, { - "id": 4825, + "id": 4826, "node_type": 109, "kind": 115, "src": { @@ -15054,13 +15066,13 @@ "start": 82098, "end": 82098, "length": 1, - "parent_index": 4817 + "parent_index": 4818 }, "value": "0", "hex_value": "" }, { - "id": 4826, + "id": 4827, "node_type": 109, "kind": 115, "src": { @@ -15069,7 +15081,7 @@ "start": 82101, "end": 82102, "length": 2, - "parent_index": 4817 + "parent_index": 4818 }, "value": "32", "hex_value": "" @@ -15086,7 +15098,7 @@ } }, { - "id": 4827, + "id": 4828, "node_type": 24, "kind": 24, "src": { @@ -15095,7 +15107,7 @@ "start": 82138, "end": 82171, "length": 34, - "parent_index": 4762 + "parent_index": 4763 }, "argument_types": [ { @@ -15109,7 +15121,7 @@ ], "arguments": [ { - "id": 4829, + "id": 4830, "node_type": 16, "src": { "line": 2265, @@ -15117,7 +15129,7 @@ "start": 82146, "end": 82152, "length": 7, - "parent_index": 4827 + "parent_index": 4828 }, "name": "success", "type_description": { @@ -15125,11 +15137,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4763, - "is_pure": false + "referenced_declaration": 4764, + "is_pure": false, + "text": "success" }, { - "id": 4830, + "id": 4831, "node_type": 17, "kind": 50, "value": "APPROVE_FAILED", @@ -15140,7 +15153,7 @@ "start": 82155, "end": 82170, "length": 16, - "parent_index": 4827 + "parent_index": 4828 }, "type_description": { "type_identifier": "t_string_literal", @@ -15154,11 +15167,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"APPROVE_FAILED\"" } ], "expression": { - "id": 4828, + "id": 4829, "node_type": 16, "src": { "line": 2265, @@ -15166,7 +15180,7 @@ "start": 82138, "end": 82144, "length": 7, - "parent_index": 4827 + "parent_index": 4828 }, "name": "require", "type_description": { @@ -15175,7 +15189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15191,7 +15206,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4753, + "id": 4754, "node_type": 43, "src": { "line": 2238, @@ -15199,11 +15214,11 @@ "start": 80755, "end": 80809, "length": 55, - "parent_index": 4752 + "parent_index": 4753 }, "parameters": [ { - "id": 4754, + "id": 4755, "node_type": 44, "src": { "line": 2238, @@ -15211,12 +15226,12 @@ "start": 80755, "end": 80765, "length": 11, - "parent_index": 4753 + "parent_index": 4754 }, - "scope": 4752, + "scope": 4753, "name": "token", "type_name": { - "id": 4755, + "id": 4756, "node_type": 69, "src": { "line": 2238, @@ -15224,20 +15239,20 @@ "start": 80755, "end": 80759, "length": 5, - "parent_index": 4754 + "parent_index": 4755 }, "path_node": { - "id": 4756, + "id": 4757, "name": "ERC20", "node_type": 52, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "src": { "line": 2238, "column": 8, "start": 80755, "end": 80759, "length": 5, - "parent_index": 4755 + "parent_index": 4756 }, "name_location": { "line": 2238, @@ -15245,12 +15260,12 @@ "start": 80755, "end": 80759, "length": 5, - "parent_index": 4755 + "parent_index": 4756 } }, - "referenced_declaration": 4060, + "referenced_declaration": 4061, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, @@ -15258,12 +15273,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" } }, { - "id": 4757, + "id": 4758, "node_type": 44, "src": { "line": 2239, @@ -15271,12 +15286,12 @@ "start": 80776, "end": 80785, "length": 10, - "parent_index": 4753 + "parent_index": 4754 }, - "scope": 4752, + "scope": 4753, "name": "to", "type_name": { - "id": 4758, + "id": 4759, "node_type": 30, "src": { "line": 2239, @@ -15284,7 +15299,7 @@ "start": 80776, "end": 80782, "length": 7, - "parent_index": 4757 + "parent_index": 4758 }, "name": "address", "state_mutability": 4, @@ -15303,7 +15318,7 @@ } }, { - "id": 4759, + "id": 4760, "node_type": 44, "src": { "line": 2240, @@ -15311,12 +15326,12 @@ "start": 80796, "end": 80809, "length": 14, - "parent_index": 4753 + "parent_index": 4754 }, - "scope": 4752, + "scope": 4753, "name": "amount", "type_name": { - "id": 4760, + "id": 4761, "node_type": 30, "src": { "line": 2240, @@ -15324,7 +15339,7 @@ "start": 80796, "end": 80802, "length": 7, - "parent_index": 4759 + "parent_index": 4760 }, "name": "uint256", "referenced_declaration": 0, @@ -15344,7 +15359,7 @@ ], "parameter_types": [ { - "type_identifier": "t_contract$_ERC20_$4060", + "type_identifier": "t_contract$_ERC20_$4061", "type_string": "contract ERC20" }, { @@ -15358,7 +15373,7 @@ ] }, "return_parameters": { - "id": 4761, + "id": 4762, "node_type": 43, "src": { "line": 2237, @@ -15366,22 +15381,23 @@ "start": 80725, "end": 82178, "length": 1454, - "parent_index": 4752 + "parent_index": 4753 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", - "scope": 4549, + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", + "scope": 4550, "type_description": { - "type_identifier": "t_function_$_t_contract$_ERC20_$4060$_t_address$_t_uint256$", + "type_identifier": "t_function_$_t_contract$_ERC20_$4061$_t_address$_t_uint256$", "type_string": "function(contract ERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(ERC20token,addressto,uint256amount)internal{boolsuccess;assembly{letfreeMemoryPointer:=mload(0x40)mstore(freeMemoryPointer,0x095ea7b300000000000000000000000000000000000000000000000000000000)mstore(add(freeMemoryPointer,4),to)mstore(add(freeMemoryPointer,36),amount)success:=and(or(and(eq(mload(0),1),gt(returndatasize(),31)),iszero(returndatasize())),call(gas(),token,0,freeMemoryPointer,68,0,32))}require(success,\"APPROVE_FAILED\");}" } ], "linearized_base_contracts": [ - 4549 + 4550 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StorageSlotUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StorageSlotUpgradeable.solgo.ast.json index 006e91c7..81b05e4a 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StorageSlotUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StorageSlotUpgradeable.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 3006, + "id": 3007, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 3006, + "id": 3007, "name": "StorageSlotUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StorageSlotUpgradeable.sol" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 3020, + "id": 3021, "node_type": 10, "src": { "line": 1343, @@ -22,7 +22,7 @@ "start": 48202, "end": 48224, "length": 23, - "parent_index": 3006 + "parent_index": 3007 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 3039, + "id": 3040, "name": "StorageSlotUpgradeable", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 49376, "end": 50777, "length": 1402, - "parent_index": 3006 + "parent_index": 3007 }, "name_location": { "line": 1371, @@ -55,14 +55,14 @@ "start": 49384, "end": 49405, "length": 22, - "parent_index": 3039 + "parent_index": 3040 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 3041, + "id": 3042, "node_type": 67, "src": { "line": 1372, @@ -70,7 +70,7 @@ "start": 49413, "end": 49461, "length": 49, - "parent_index": 3006 + "parent_index": 3007 }, "name": "AddressSlot", "name_location": { @@ -79,16 +79,16 @@ "start": 49420, "end": 49430, "length": 11, - "parent_index": 3041 + "parent_index": 3042 }, "canonical_name": "StorageSlotUpgradeable.AddressSlot", "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "type_string": "struct StorageSlotUpgradeable.AddressSlot" }, "members": [ { - "id": 3042, + "id": 3043, "node_type": 44, "src": { "line": 1373, @@ -96,12 +96,12 @@ "start": 49442, "end": 49455, "length": 14, - "parent_index": 3041 + "parent_index": 3042 }, - "scope": 3039, + "scope": 3040, "name": "value", "type_name": { - "id": 3043, + "id": 3044, "node_type": 30, "src": { "line": 1373, @@ -109,7 +109,7 @@ "start": 49442, "end": 49448, "length": 7, - "parent_index": 3042 + "parent_index": 3043 }, "name": "address", "state_mutability": 4, @@ -131,7 +131,7 @@ "storage_location": 1 }, { - "id": 3045, + "id": 3046, "node_type": 67, "src": { "line": 1376, @@ -139,7 +139,7 @@ "start": 49468, "end": 49513, "length": 46, - "parent_index": 3006 + "parent_index": 3007 }, "name": "BooleanSlot", "name_location": { @@ -148,16 +148,16 @@ "start": 49475, "end": 49485, "length": 11, - "parent_index": 3045 + "parent_index": 3046 }, "canonical_name": "StorageSlotUpgradeable.BooleanSlot", "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "type_string": "struct StorageSlotUpgradeable.BooleanSlot" }, "members": [ { - "id": 3046, + "id": 3047, "node_type": 44, "src": { "line": 1377, @@ -165,12 +165,12 @@ "start": 49497, "end": 49507, "length": 11, - "parent_index": 3045 + "parent_index": 3046 }, - "scope": 3039, + "scope": 3040, "name": "value", "type_name": { - "id": 3047, + "id": 3048, "node_type": 30, "src": { "line": 1377, @@ -178,7 +178,7 @@ "start": 49497, "end": 49500, "length": 4, - "parent_index": 3046 + "parent_index": 3047 }, "name": "bool", "referenced_declaration": 0, @@ -199,7 +199,7 @@ "storage_location": 1 }, { - "id": 3049, + "id": 3050, "node_type": 67, "src": { "line": 1380, @@ -207,7 +207,7 @@ "start": 49520, "end": 49568, "length": 49, - "parent_index": 3006 + "parent_index": 3007 }, "name": "Bytes32Slot", "name_location": { @@ -216,16 +216,16 @@ "start": 49527, "end": 49537, "length": 11, - "parent_index": 3049 + "parent_index": 3050 }, "canonical_name": "StorageSlotUpgradeable.Bytes32Slot", "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "type_string": "struct StorageSlotUpgradeable.Bytes32Slot" }, "members": [ { - "id": 3050, + "id": 3051, "node_type": 44, "src": { "line": 1381, @@ -233,12 +233,12 @@ "start": 49549, "end": 49562, "length": 14, - "parent_index": 3049 + "parent_index": 3050 }, - "scope": 3039, + "scope": 3040, "name": "value", "type_name": { - "id": 3051, + "id": 3052, "node_type": 30, "src": { "line": 1381, @@ -246,7 +246,7 @@ "start": 49549, "end": 49555, "length": 7, - "parent_index": 3050 + "parent_index": 3051 }, "name": "bytes32", "referenced_declaration": 0, @@ -267,7 +267,7 @@ "storage_location": 1 }, { - "id": 3053, + "id": 3054, "node_type": 67, "src": { "line": 1384, @@ -275,7 +275,7 @@ "start": 49575, "end": 49623, "length": 49, - "parent_index": 3006 + "parent_index": 3007 }, "name": "Uint256Slot", "name_location": { @@ -284,16 +284,16 @@ "start": 49582, "end": 49592, "length": 11, - "parent_index": 3053 + "parent_index": 3054 }, "canonical_name": "StorageSlotUpgradeable.Uint256Slot", "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "type_string": "struct StorageSlotUpgradeable.Uint256Slot" }, "members": [ { - "id": 3054, + "id": 3055, "node_type": 44, "src": { "line": 1385, @@ -301,12 +301,12 @@ "start": 49604, "end": 49617, "length": 14, - "parent_index": 3053 + "parent_index": 3054 }, - "scope": 3039, + "scope": 3040, "name": "value", "type_name": { - "id": 3055, + "id": 3056, "node_type": 30, "src": { "line": 1385, @@ -314,7 +314,7 @@ "start": 49604, "end": 49610, "length": 7, - "parent_index": 3054 + "parent_index": 3055 }, "name": "uint256", "referenced_declaration": 0, @@ -335,7 +335,7 @@ "storage_location": 1 }, { - "id": 3057, + "id": 3058, "name": "getAddressSlot", "node_type": 42, "kind": 41, @@ -345,7 +345,7 @@ "start": 49722, "end": 49911, "length": 190, - "parent_index": 3039 + "parent_index": 3040 }, "name_location": { "line": 1391, @@ -353,10 +353,10 @@ "start": 49731, "end": 49744, "length": 14, - "parent_index": 3057 + "parent_index": 3058 }, "body": { - "id": 3065, + "id": 3066, "node_type": 46, "kind": 0, "src": { @@ -365,12 +365,12 @@ "start": 49806, "end": 49911, "length": 106, - "parent_index": 3057 + "parent_index": 3058 }, "implemented": true, "statements": [ { - "id": 3066, + "id": 3067, "node_type": 89, "src": { "line": 1393, @@ -378,10 +378,10 @@ "start": 49859, "end": 49905, "length": 47, - "parent_index": 3065 + "parent_index": 3066 }, "body": { - "id": 3067, + "id": 3068, "node_type": 111, "kind": 0, "src": { @@ -390,12 +390,12 @@ "start": 49859, "end": 49905, "length": 47, - "parent_index": 3066 + "parent_index": 3067 }, "implemented": false, "statements": [ { - "id": 3068, + "id": 3069, "node_type": 91, "src": { "line": 1394, @@ -403,11 +403,11 @@ "start": 49882, "end": 49895, "length": 14, - "parent_index": 3066 + "parent_index": 3067 }, "statements": [ { - "id": 3069, + "id": 3070, "node_type": 92, "src": { "line": 1394, @@ -415,11 +415,11 @@ "start": 49882, "end": 49895, "length": 14, - "parent_index": 3066 + "parent_index": 3067 }, "variable_names": [ { - "id": 3070, + "id": 3071, "node_type": 107, "src": { "line": 1394, @@ -427,12 +427,12 @@ "start": 49882, "end": 49882, "length": 1, - "parent_index": 3069 + "parent_index": 3070 }, "name": "r" }, { - "id": 3071, + "id": 3072, "node_type": 107, "src": { "line": 1394, @@ -440,13 +440,13 @@ "start": 49884, "end": 49887, "length": 4, - "parent_index": 3069 + "parent_index": 3070 }, "name": "slot" } ], "value": { - "id": 3072, + "id": 3073, "node_type": 123, "src": { "line": 1394, @@ -454,7 +454,7 @@ "start": 49892, "end": 49895, "length": 4, - "parent_index": 3069 + "parent_index": 3070 }, "expression": null } @@ -473,7 +473,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3058, + "id": 3059, "node_type": 43, "src": { "line": 1391, @@ -481,11 +481,11 @@ "start": 49746, "end": 49757, "length": 12, - "parent_index": 3057 + "parent_index": 3058 }, "parameters": [ { - "id": 3059, + "id": 3060, "node_type": 44, "src": { "line": 1391, @@ -493,12 +493,12 @@ "start": 49746, "end": 49757, "length": 12, - "parent_index": 3058 + "parent_index": 3059 }, - "scope": 3057, + "scope": 3058, "name": "slot", "type_name": { - "id": 3060, + "id": 3061, "node_type": 30, "src": { "line": 1391, @@ -506,7 +506,7 @@ "start": 49746, "end": 49752, "length": 7, - "parent_index": 3059 + "parent_index": 3060 }, "name": "bytes32", "referenced_declaration": 0, @@ -532,7 +532,7 @@ ] }, "return_parameters": { - "id": 3061, + "id": 3062, "node_type": 43, "src": { "line": 1391, @@ -540,11 +540,11 @@ "start": 49783, "end": 49803, "length": 21, - "parent_index": 3057 + "parent_index": 3058 }, "parameters": [ { - "id": 3062, + "id": 3063, "node_type": 44, "src": { "line": 1391, @@ -552,12 +552,12 @@ "start": 49783, "end": 49803, "length": 21, - "parent_index": 3061 + "parent_index": 3062 }, - "scope": 3057, + "scope": 3058, "name": "r", "type_name": { - "id": 3063, + "id": 3064, "node_type": 69, "src": { "line": 1391, @@ -565,20 +565,20 @@ "start": 49783, "end": 49793, "length": 11, - "parent_index": 3062 + "parent_index": 3063 }, "path_node": { - "id": 3064, + "id": 3065, "name": "AddressSlot", "node_type": 52, - "referenced_declaration": 3041, + "referenced_declaration": 3042, "src": { "line": 1391, "column": 65, "start": 49783, "end": 49793, "length": 11, - "parent_index": 3063 + "parent_index": 3064 }, "name_location": { "line": 1391, @@ -586,12 +586,12 @@ "start": 49783, "end": 49793, "length": 11, - "parent_index": 3063 + "parent_index": 3064 } }, - "referenced_declaration": 3041, + "referenced_declaration": 3042, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "type_string": "struct StorageSlotUpgradeable.AddressSlot" } }, @@ -599,28 +599,29 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "type_string": "struct StorageSlotUpgradeable.AddressSlot" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3041", + "type_identifier": "t_struct$_StorageSlotUpgradeable_AddressSlot_$3042", "type_string": "struct StorageSlotUpgradeable.AddressSlot" } ] }, "signature_raw": "getAddressSlot(bytes32)", "signature": "e8ff0b1d", - "scope": 3039, + "scope": 3040, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetAddressSlot(bytes32slot)internalpurereturns(AddressSlotstorager){assembly{r.slot:=slot}}" }, { - "id": 3074, + "id": 3075, "name": "getBooleanSlot", "node_type": 42, "kind": 41, @@ -630,7 +631,7 @@ "start": 50010, "end": 50199, "length": 190, - "parent_index": 3039 + "parent_index": 3040 }, "name_location": { "line": 1401, @@ -638,10 +639,10 @@ "start": 50019, "end": 50032, "length": 14, - "parent_index": 3074 + "parent_index": 3075 }, "body": { - "id": 3082, + "id": 3083, "node_type": 46, "kind": 0, "src": { @@ -650,12 +651,12 @@ "start": 50094, "end": 50199, "length": 106, - "parent_index": 3074 + "parent_index": 3075 }, "implemented": true, "statements": [ { - "id": 3083, + "id": 3084, "node_type": 89, "src": { "line": 1403, @@ -663,10 +664,10 @@ "start": 50147, "end": 50193, "length": 47, - "parent_index": 3082 + "parent_index": 3083 }, "body": { - "id": 3084, + "id": 3085, "node_type": 111, "kind": 0, "src": { @@ -675,12 +676,12 @@ "start": 50147, "end": 50193, "length": 47, - "parent_index": 3083 + "parent_index": 3084 }, "implemented": false, "statements": [ { - "id": 3085, + "id": 3086, "node_type": 91, "src": { "line": 1404, @@ -688,11 +689,11 @@ "start": 50170, "end": 50183, "length": 14, - "parent_index": 3083 + "parent_index": 3084 }, "statements": [ { - "id": 3086, + "id": 3087, "node_type": 92, "src": { "line": 1404, @@ -700,11 +701,11 @@ "start": 50170, "end": 50183, "length": 14, - "parent_index": 3083 + "parent_index": 3084 }, "variable_names": [ { - "id": 3087, + "id": 3088, "node_type": 107, "src": { "line": 1404, @@ -712,12 +713,12 @@ "start": 50170, "end": 50170, "length": 1, - "parent_index": 3086 + "parent_index": 3087 }, "name": "r" }, { - "id": 3088, + "id": 3089, "node_type": 107, "src": { "line": 1404, @@ -725,13 +726,13 @@ "start": 50172, "end": 50175, "length": 4, - "parent_index": 3086 + "parent_index": 3087 }, "name": "slot" } ], "value": { - "id": 3089, + "id": 3090, "node_type": 123, "src": { "line": 1404, @@ -739,7 +740,7 @@ "start": 50180, "end": 50183, "length": 4, - "parent_index": 3086 + "parent_index": 3087 }, "expression": null } @@ -758,7 +759,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3075, + "id": 3076, "node_type": 43, "src": { "line": 1401, @@ -766,11 +767,11 @@ "start": 50034, "end": 50045, "length": 12, - "parent_index": 3074 + "parent_index": 3075 }, "parameters": [ { - "id": 3076, + "id": 3077, "node_type": 44, "src": { "line": 1401, @@ -778,12 +779,12 @@ "start": 50034, "end": 50045, "length": 12, - "parent_index": 3075 + "parent_index": 3076 }, - "scope": 3074, + "scope": 3075, "name": "slot", "type_name": { - "id": 3077, + "id": 3078, "node_type": 30, "src": { "line": 1401, @@ -791,7 +792,7 @@ "start": 50034, "end": 50040, "length": 7, - "parent_index": 3076 + "parent_index": 3077 }, "name": "bytes32", "referenced_declaration": 0, @@ -817,7 +818,7 @@ ] }, "return_parameters": { - "id": 3078, + "id": 3079, "node_type": 43, "src": { "line": 1401, @@ -825,11 +826,11 @@ "start": 50071, "end": 50091, "length": 21, - "parent_index": 3074 + "parent_index": 3075 }, "parameters": [ { - "id": 3079, + "id": 3080, "node_type": 44, "src": { "line": 1401, @@ -837,12 +838,12 @@ "start": 50071, "end": 50091, "length": 21, - "parent_index": 3078 + "parent_index": 3079 }, - "scope": 3074, + "scope": 3075, "name": "r", "type_name": { - "id": 3080, + "id": 3081, "node_type": 69, "src": { "line": 1401, @@ -850,20 +851,20 @@ "start": 50071, "end": 50081, "length": 11, - "parent_index": 3079 + "parent_index": 3080 }, "path_node": { - "id": 3081, + "id": 3082, "name": "BooleanSlot", "node_type": 52, - "referenced_declaration": 3045, + "referenced_declaration": 3046, "src": { "line": 1401, "column": 65, "start": 50071, "end": 50081, "length": 11, - "parent_index": 3080 + "parent_index": 3081 }, "name_location": { "line": 1401, @@ -871,12 +872,12 @@ "start": 50071, "end": 50081, "length": 11, - "parent_index": 3080 + "parent_index": 3081 } }, - "referenced_declaration": 3045, + "referenced_declaration": 3046, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "type_string": "struct StorageSlotUpgradeable.BooleanSlot" } }, @@ -884,28 +885,29 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "type_string": "struct StorageSlotUpgradeable.BooleanSlot" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3045", + "type_identifier": "t_struct$_StorageSlotUpgradeable_BooleanSlot_$3046", "type_string": "struct StorageSlotUpgradeable.BooleanSlot" } ] }, "signature_raw": "getBooleanSlot(bytes32)", "signature": "37f4a46d", - "scope": 3039, + "scope": 3040, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBooleanSlot(bytes32slot)internalpurereturns(BooleanSlotstorager){assembly{r.slot:=slot}}" }, { - "id": 3091, + "id": 3092, "name": "getBytes32Slot", "node_type": 42, "kind": 41, @@ -915,7 +917,7 @@ "start": 50298, "end": 50487, "length": 190, - "parent_index": 3039 + "parent_index": 3040 }, "name_location": { "line": 1411, @@ -923,10 +925,10 @@ "start": 50307, "end": 50320, "length": 14, - "parent_index": 3091 + "parent_index": 3092 }, "body": { - "id": 3099, + "id": 3100, "node_type": 46, "kind": 0, "src": { @@ -935,12 +937,12 @@ "start": 50382, "end": 50487, "length": 106, - "parent_index": 3091 + "parent_index": 3092 }, "implemented": true, "statements": [ { - "id": 3100, + "id": 3101, "node_type": 89, "src": { "line": 1413, @@ -948,10 +950,10 @@ "start": 50435, "end": 50481, "length": 47, - "parent_index": 3099 + "parent_index": 3100 }, "body": { - "id": 3101, + "id": 3102, "node_type": 111, "kind": 0, "src": { @@ -960,12 +962,12 @@ "start": 50435, "end": 50481, "length": 47, - "parent_index": 3100 + "parent_index": 3101 }, "implemented": false, "statements": [ { - "id": 3102, + "id": 3103, "node_type": 91, "src": { "line": 1414, @@ -973,11 +975,11 @@ "start": 50458, "end": 50471, "length": 14, - "parent_index": 3100 + "parent_index": 3101 }, "statements": [ { - "id": 3103, + "id": 3104, "node_type": 92, "src": { "line": 1414, @@ -985,11 +987,11 @@ "start": 50458, "end": 50471, "length": 14, - "parent_index": 3100 + "parent_index": 3101 }, "variable_names": [ { - "id": 3104, + "id": 3105, "node_type": 107, "src": { "line": 1414, @@ -997,12 +999,12 @@ "start": 50458, "end": 50458, "length": 1, - "parent_index": 3103 + "parent_index": 3104 }, "name": "r" }, { - "id": 3105, + "id": 3106, "node_type": 107, "src": { "line": 1414, @@ -1010,13 +1012,13 @@ "start": 50460, "end": 50463, "length": 4, - "parent_index": 3103 + "parent_index": 3104 }, "name": "slot" } ], "value": { - "id": 3106, + "id": 3107, "node_type": 123, "src": { "line": 1414, @@ -1024,7 +1026,7 @@ "start": 50468, "end": 50471, "length": 4, - "parent_index": 3103 + "parent_index": 3104 }, "expression": null } @@ -1043,7 +1045,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3092, + "id": 3093, "node_type": 43, "src": { "line": 1411, @@ -1051,11 +1053,11 @@ "start": 50322, "end": 50333, "length": 12, - "parent_index": 3091 + "parent_index": 3092 }, "parameters": [ { - "id": 3093, + "id": 3094, "node_type": 44, "src": { "line": 1411, @@ -1063,12 +1065,12 @@ "start": 50322, "end": 50333, "length": 12, - "parent_index": 3092 + "parent_index": 3093 }, - "scope": 3091, + "scope": 3092, "name": "slot", "type_name": { - "id": 3094, + "id": 3095, "node_type": 30, "src": { "line": 1411, @@ -1076,7 +1078,7 @@ "start": 50322, "end": 50328, "length": 7, - "parent_index": 3093 + "parent_index": 3094 }, "name": "bytes32", "referenced_declaration": 0, @@ -1102,7 +1104,7 @@ ] }, "return_parameters": { - "id": 3095, + "id": 3096, "node_type": 43, "src": { "line": 1411, @@ -1110,11 +1112,11 @@ "start": 50359, "end": 50379, "length": 21, - "parent_index": 3091 + "parent_index": 3092 }, "parameters": [ { - "id": 3096, + "id": 3097, "node_type": 44, "src": { "line": 1411, @@ -1122,12 +1124,12 @@ "start": 50359, "end": 50379, "length": 21, - "parent_index": 3095 + "parent_index": 3096 }, - "scope": 3091, + "scope": 3092, "name": "r", "type_name": { - "id": 3097, + "id": 3098, "node_type": 69, "src": { "line": 1411, @@ -1135,20 +1137,20 @@ "start": 50359, "end": 50369, "length": 11, - "parent_index": 3096 + "parent_index": 3097 }, "path_node": { - "id": 3098, + "id": 3099, "name": "Bytes32Slot", "node_type": 52, - "referenced_declaration": 3049, + "referenced_declaration": 3050, "src": { "line": 1411, "column": 65, "start": 50359, "end": 50369, "length": 11, - "parent_index": 3097 + "parent_index": 3098 }, "name_location": { "line": 1411, @@ -1156,12 +1158,12 @@ "start": 50359, "end": 50369, "length": 11, - "parent_index": 3097 + "parent_index": 3098 } }, - "referenced_declaration": 3049, + "referenced_declaration": 3050, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "type_string": "struct StorageSlotUpgradeable.Bytes32Slot" } }, @@ -1169,28 +1171,29 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "type_string": "struct StorageSlotUpgradeable.Bytes32Slot" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3049", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Bytes32Slot_$3050", "type_string": "struct StorageSlotUpgradeable.Bytes32Slot" } ] }, "signature_raw": "getBytes32Slot(bytes32)", "signature": "dd4e2762", - "scope": 3039, + "scope": 3040, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBytes32Slot(bytes32slot)internalpurereturns(Bytes32Slotstorager){assembly{r.slot:=slot}}" }, { - "id": 3108, + "id": 3109, "name": "getUint256Slot", "node_type": 42, "kind": 41, @@ -1200,7 +1203,7 @@ "start": 50586, "end": 50775, "length": 190, - "parent_index": 3039 + "parent_index": 3040 }, "name_location": { "line": 1421, @@ -1208,10 +1211,10 @@ "start": 50595, "end": 50608, "length": 14, - "parent_index": 3108 + "parent_index": 3109 }, "body": { - "id": 3116, + "id": 3117, "node_type": 46, "kind": 0, "src": { @@ -1220,12 +1223,12 @@ "start": 50670, "end": 50775, "length": 106, - "parent_index": 3108 + "parent_index": 3109 }, "implemented": true, "statements": [ { - "id": 3117, + "id": 3118, "node_type": 89, "src": { "line": 1423, @@ -1233,10 +1236,10 @@ "start": 50723, "end": 50769, "length": 47, - "parent_index": 3116 + "parent_index": 3117 }, "body": { - "id": 3118, + "id": 3119, "node_type": 111, "kind": 0, "src": { @@ -1245,12 +1248,12 @@ "start": 50723, "end": 50769, "length": 47, - "parent_index": 3117 + "parent_index": 3118 }, "implemented": false, "statements": [ { - "id": 3119, + "id": 3120, "node_type": 91, "src": { "line": 1424, @@ -1258,11 +1261,11 @@ "start": 50746, "end": 50759, "length": 14, - "parent_index": 3117 + "parent_index": 3118 }, "statements": [ { - "id": 3120, + "id": 3121, "node_type": 92, "src": { "line": 1424, @@ -1270,11 +1273,11 @@ "start": 50746, "end": 50759, "length": 14, - "parent_index": 3117 + "parent_index": 3118 }, "variable_names": [ { - "id": 3121, + "id": 3122, "node_type": 107, "src": { "line": 1424, @@ -1282,12 +1285,12 @@ "start": 50746, "end": 50746, "length": 1, - "parent_index": 3120 + "parent_index": 3121 }, "name": "r" }, { - "id": 3122, + "id": 3123, "node_type": 107, "src": { "line": 1424, @@ -1295,13 +1298,13 @@ "start": 50748, "end": 50751, "length": 4, - "parent_index": 3120 + "parent_index": 3121 }, "name": "slot" } ], "value": { - "id": 3123, + "id": 3124, "node_type": 123, "src": { "line": 1424, @@ -1309,7 +1312,7 @@ "start": 50756, "end": 50759, "length": 4, - "parent_index": 3120 + "parent_index": 3121 }, "expression": null } @@ -1328,7 +1331,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3109, + "id": 3110, "node_type": 43, "src": { "line": 1421, @@ -1336,11 +1339,11 @@ "start": 50610, "end": 50621, "length": 12, - "parent_index": 3108 + "parent_index": 3109 }, "parameters": [ { - "id": 3110, + "id": 3111, "node_type": 44, "src": { "line": 1421, @@ -1348,12 +1351,12 @@ "start": 50610, "end": 50621, "length": 12, - "parent_index": 3109 + "parent_index": 3110 }, - "scope": 3108, + "scope": 3109, "name": "slot", "type_name": { - "id": 3111, + "id": 3112, "node_type": 30, "src": { "line": 1421, @@ -1361,7 +1364,7 @@ "start": 50610, "end": 50616, "length": 7, - "parent_index": 3110 + "parent_index": 3111 }, "name": "bytes32", "referenced_declaration": 0, @@ -1387,7 +1390,7 @@ ] }, "return_parameters": { - "id": 3112, + "id": 3113, "node_type": 43, "src": { "line": 1421, @@ -1395,11 +1398,11 @@ "start": 50647, "end": 50667, "length": 21, - "parent_index": 3108 + "parent_index": 3109 }, "parameters": [ { - "id": 3113, + "id": 3114, "node_type": 44, "src": { "line": 1421, @@ -1407,12 +1410,12 @@ "start": 50647, "end": 50667, "length": 21, - "parent_index": 3112 + "parent_index": 3113 }, - "scope": 3108, + "scope": 3109, "name": "r", "type_name": { - "id": 3114, + "id": 3115, "node_type": 69, "src": { "line": 1421, @@ -1420,20 +1423,20 @@ "start": 50647, "end": 50657, "length": 11, - "parent_index": 3113 + "parent_index": 3114 }, "path_node": { - "id": 3115, + "id": 3116, "name": "Uint256Slot", "node_type": 52, - "referenced_declaration": 3053, + "referenced_declaration": 3054, "src": { "line": 1421, "column": 65, "start": 50647, "end": 50657, "length": 11, - "parent_index": 3114 + "parent_index": 3115 }, "name_location": { "line": 1421, @@ -1441,12 +1444,12 @@ "start": 50647, "end": 50657, "length": 11, - "parent_index": 3114 + "parent_index": 3115 } }, - "referenced_declaration": 3053, + "referenced_declaration": 3054, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "type_string": "struct StorageSlotUpgradeable.Uint256Slot" } }, @@ -1454,29 +1457,30 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "type_string": "struct StorageSlotUpgradeable.Uint256Slot" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3053", + "type_identifier": "t_struct$_StorageSlotUpgradeable_Uint256Slot_$3054", "type_string": "struct StorageSlotUpgradeable.Uint256Slot" } ] }, "signature_raw": "getUint256Slot(bytes32)", "signature": "949a352c", - "scope": 3039, + "scope": 3040, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetUint256Slot(bytes32slot)internalpurereturns(Uint256Slotstorager){assembly{r.slot:=slot}}" } ], "linearized_base_contracts": [ - 3039 + 3040 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Strings.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Strings.solgo.ast.json index 97782483..8f4b9cff 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Strings.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/Strings.solgo.ast.json @@ -121,7 +121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -184,7 +185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { @@ -265,7 +267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 697, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 698, @@ -287,7 +290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -340,7 +344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -424,7 +429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 705, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -531,7 +537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 711, @@ -553,7 +560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -603,7 +611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -656,7 +665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 718, @@ -678,7 +688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -688,7 +699,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -790,7 +802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -877,7 +890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 727, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 728, @@ -899,7 +913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -960,7 +975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 733, @@ -982,7 +998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -992,7 +1009,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 734, @@ -1046,7 +1064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 738, @@ -1066,7 +1085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -1155,7 +1175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 747, @@ -1208,7 +1229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 752, @@ -1230,7 +1252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1280,7 +1303,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -1335,7 +1359,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -1385,7 +1410,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -1400,7 +1426,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 753, @@ -1443,7 +1470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 756, @@ -1465,7 +1493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1475,7 +1504,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -1529,7 +1559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -1574,7 +1605,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -1714,7 +1746,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 763, @@ -1794,7 +1827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 774, @@ -1816,7 +1850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1869,7 +1904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -1953,7 +1989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 781, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -2036,7 +2073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2082,7 +2120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 778, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 788, @@ -2104,7 +2143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2154,7 +2194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -2207,7 +2248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 795, @@ -2229,7 +2271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -2239,7 +2282,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -2297,7 +2341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 799, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 800, @@ -2323,7 +2368,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -2344,7 +2390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -2484,7 +2531,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 802, @@ -2648,7 +2696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 821, @@ -2668,7 +2717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 821, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2695,7 +2745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2796,7 +2847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 812, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 827, @@ -2818,7 +2870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -2855,7 +2908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -2865,7 +2919,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 829, @@ -2919,7 +2974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 812, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 833, @@ -2941,7 +2997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -2978,7 +3035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -2988,7 +3046,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 835, @@ -3109,7 +3168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 842, @@ -3129,7 +3189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 842, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3156,7 +3217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3196,7 +3258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 846, @@ -3218,7 +3281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -3261,7 +3325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -3334,7 +3399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 854, @@ -3354,7 +3420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -3400,7 +3467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 679, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 858, @@ -3432,7 +3500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 860, @@ -3454,7 +3523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -3491,7 +3561,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 861, @@ -3534,7 +3605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 864, @@ -3556,7 +3628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -3566,7 +3639,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -3626,7 +3700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 868, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 869, @@ -3648,7 +3723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3681,7 +3757,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -3702,7 +3779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3758,7 +3836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 812, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -3803,7 +3882,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3980,13 +4060,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 677, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" }, { "id": 877, @@ -4114,7 +4195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 894, - "is_pure": false + "is_pure": false, + "text": "addr" } ], "expression": { @@ -4159,7 +4241,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4209,7 +4292,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -4240,7 +4324,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" } - ] + ], + "text": "_ADDRESS_LENGTH" } ], "expression": { @@ -4261,7 +4346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_function_$_t_address$", @@ -4402,7 +4488,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoHexString(addressaddr)internalpurereturns(stringmemory){returntoHexString(uint256(uint160(addr)),_ADDRESS_LENGTH);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StringsUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StringsUpgradeable.solgo.ast.json index e07b713f..0211d909 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StringsUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/StringsUpgradeable.solgo.ast.json @@ -121,7 +121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -184,7 +185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { @@ -265,7 +267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2150, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2151, @@ -287,7 +290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -340,7 +344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -424,7 +429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2158, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -531,7 +537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2155, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 2164, @@ -553,7 +560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -603,7 +611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -656,7 +665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 2171, @@ -678,7 +688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -688,7 +699,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -790,7 +802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2159, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -877,7 +890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2180, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2181, @@ -899,7 +913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -960,7 +975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 2186, @@ -982,7 +998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -992,7 +1009,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 2187, @@ -1046,7 +1064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 2191, @@ -1066,7 +1085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 706, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -1155,7 +1175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 2200, @@ -1208,7 +1229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2205, @@ -1230,7 +1252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1280,7 +1303,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -1335,7 +1359,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -1385,7 +1410,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -1400,7 +1426,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 2206, @@ -1443,7 +1470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2209, @@ -1465,7 +1493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1475,7 +1504,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -1529,7 +1559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2172, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -1574,7 +1605,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -1714,7 +1746,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 2216, @@ -1794,7 +1827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2226, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2227, @@ -1816,7 +1850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1869,7 +1904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -1953,7 +1989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2234, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -2036,7 +2073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2082,7 +2120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2231, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 2241, @@ -2104,7 +2143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2154,7 +2194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -2207,7 +2248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 2248, @@ -2229,7 +2271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -2239,7 +2282,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -2297,7 +2341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 2253, @@ -2323,7 +2368,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -2344,7 +2390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -2484,7 +2531,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 2255, @@ -2648,7 +2696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 2274, @@ -2668,7 +2717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2274, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2695,7 +2745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2796,7 +2847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2265, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 2280, @@ -2818,7 +2870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -2855,7 +2908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -2865,7 +2919,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 2282, @@ -2919,7 +2974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2265, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 2286, @@ -2941,7 +2997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -2978,7 +3035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -2988,7 +3046,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 2288, @@ -3109,7 +3168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 2295, @@ -3129,7 +3189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2295, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3156,7 +3217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3196,7 +3258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 2299, @@ -3218,7 +3281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -3261,7 +3325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -3334,7 +3399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 2307, @@ -3354,7 +3420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 836, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -3400,7 +3467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 679, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 2311, @@ -3432,7 +3500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 2313, @@ -3454,7 +3523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -3491,7 +3561,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 2314, @@ -3534,7 +3605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 689, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2317, @@ -3556,7 +3628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -3566,7 +3639,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -3626,7 +3700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2321, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2322, @@ -3648,7 +3723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3681,7 +3757,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -3702,7 +3779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3758,7 +3836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2265, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -3803,7 +3882,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3980,13 +4060,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 2130, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" }, { "id": 2330, @@ -4114,7 +4195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2347, - "is_pure": false + "is_pure": false, + "text": "addr" } ], "expression": { @@ -4159,7 +4241,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4209,7 +4292,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -4240,7 +4324,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" } - ] + ], + "text": "_ADDRESS_LENGTH" } ], "expression": { @@ -4261,7 +4346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_function_$_t_address$", @@ -4402,7 +4488,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoHexString(addressaddr)internalpurereturns(stringmemory){returntoHexString(uint256(uint160(addr)),_ADDRESS_LENGTH);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/UUPSUpgradeable.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/UUPSUpgradeable.solgo.ast.json index 7b216f76..a076dc0a 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/UUPSUpgradeable.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/UUPSUpgradeable.solgo.ast.json @@ -1,8 +1,8 @@ { - "id": 3484, + "id": 3485, "base_contracts": [ { - "id": 3528, + "id": 3529, "node_type": 62, "src": { "line": 1665, @@ -10,10 +10,10 @@ "start": 59511, "end": 59523, "length": 13, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3529, + "id": 3530, "node_type": 52, "src": { "line": 1665, @@ -21,14 +21,14 @@ "start": 59511, "end": 59523, "length": 13, - "parent_index": 3527 + "parent_index": 3528 }, "name": "Initializable", "referenced_declaration": 1894 } }, { - "id": 3530, + "id": 3531, "node_type": 62, "src": { "line": 1665, @@ -36,10 +36,10 @@ "start": 59526, "end": 59553, "length": 28, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3531, + "id": 3532, "node_type": 52, "src": { "line": 1665, @@ -47,14 +47,14 @@ "start": 59526, "end": 59553, "length": 28, - "parent_index": 3527 + "parent_index": 3528 }, "name": "IERC1822ProxiableUpgradeable", - "referenced_declaration": 2843 + "referenced_declaration": 2844 } }, { - "id": 3532, + "id": 3533, "node_type": 62, "src": { "line": 1665, @@ -62,10 +62,10 @@ "start": 59556, "end": 59580, "length": 25, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3533, + "id": 3534, "node_type": 52, "src": { "line": 1665, @@ -73,37 +73,37 @@ "start": 59556, "end": 59580, "length": 25, - "parent_index": 3527 + "parent_index": 3528 }, "name": "ERC1967UpgradeUpgradeable", - "referenced_declaration": 3124 + "referenced_declaration": 3125 } } ], "license": "MIT", "exported_symbols": [ { - "id": 3484, + "id": 3485, "name": "UUPSUpgradeable", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/UUPSUpgradeable.sol" }, { - "id": 3124, + "id": 3125, "name": "draft-IERC1822Upgradeable", "absolute_path": "draft-IERC1822Upgradeable.sol" }, { - "id": 3124, + "id": 3125, "name": "ERC1967UpgradeUpgradeable", "absolute_path": "ERC1967UpgradeUpgradeable.sol" }, { - "id": 3124, + "id": 3125, "name": "Initializable", "absolute_path": "Initializable.sol" }, { - "id": 3530, + "id": 3531, "name": "IERC1822ProxiableUpgradeable", "absolute_path": "" } @@ -113,7 +113,7 @@ "node_type": 1, "nodes": [ { - "id": 3500, + "id": 3501, "node_type": 10, "src": { "line": 1647, @@ -121,7 +121,7 @@ "start": 58685, "end": 58707, "length": 23, - "parent_index": 3484 + "parent_index": 3485 }, "literals": [ "pragma", @@ -137,7 +137,7 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 3524, + "id": 3525, "node_type": 29, "src": { "line": 1649, @@ -145,18 +145,18 @@ "start": 58710, "end": 58750, "length": 41, - "parent_index": 3484 + "parent_index": 3485 }, "absolute_path": "draft-IERC1822Upgradeable.sol", "file": "./draft-IERC1822Upgradeable.sol", - "scope": 3484, + "scope": 3485, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3124 + "source_unit": 3125 }, { - "id": 3525, + "id": 3526, "node_type": 29, "src": { "line": 1650, @@ -164,18 +164,18 @@ "start": 58752, "end": 58792, "length": 41, - "parent_index": 3484 + "parent_index": 3485 }, "absolute_path": "ERC1967UpgradeUpgradeable.sol", "file": "./ERC1967UpgradeUpgradeable.sol", - "scope": 3484, + "scope": 3485, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3124 + "source_unit": 3125 }, { - "id": 3526, + "id": 3527, "node_type": 29, "src": { "line": 1651, @@ -183,18 +183,18 @@ "start": 58794, "end": 58822, "length": 29, - "parent_index": 3484 + "parent_index": 3485 }, "absolute_path": "Initializable.sol", "file": "./Initializable.sol", - "scope": 3484, + "scope": 3485, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3124 + "source_unit": 3125 }, { - "id": 3527, + "id": 3528, "name": "UUPSUpgradeable", "node_type": 35, "src": { @@ -203,7 +203,7 @@ "start": 59474, "end": 63300, "length": 3827, - "parent_index": 3484 + "parent_index": 3485 }, "name_location": { "line": 1665, @@ -211,14 +211,14 @@ "start": 59492, "end": 59506, "length": 15, - "parent_index": 3527 + "parent_index": 3528 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3535, + "id": 3536, "name": "__UUPSUpgradeable_init", "node_type": 42, "kind": 41, @@ -228,7 +228,7 @@ "start": 59588, "end": 59654, "length": 67, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1666, @@ -236,10 +236,10 @@ "start": 59597, "end": 59618, "length": 22, - "parent_index": 3535 + "parent_index": 3536 }, "body": { - "id": 3540, + "id": 3541, "node_type": 46, "kind": 0, "src": { @@ -248,7 +248,7 @@ "start": 59648, "end": 59654, "length": 7, - "parent_index": 3535 + "parent_index": 3536 }, "implemented": true, "statements": [] @@ -259,7 +259,7 @@ "virtual": false, "modifiers": [ { - "id": 3537, + "id": 3538, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -269,12 +269,12 @@ "start": 59631, "end": 59646, "length": 16, - "parent_index": 3535 + "parent_index": 3536 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3538, + "id": 3539, "name": "onlyInitializing", "node_type": 0, "src": { @@ -283,14 +283,14 @@ "start": 59631, "end": 59646, "length": 16, - "parent_index": 3537 + "parent_index": 3538 } } } ], "overrides": [], "parameters": { - "id": 3536, + "id": 3537, "node_type": 43, "src": { "line": 1666, @@ -298,13 +298,13 @@ "start": 59588, "end": 59654, "length": 67, - "parent_index": 3535 + "parent_index": 3536 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3539, + "id": 3540, "node_type": 43, "src": { "line": 1666, @@ -312,21 +312,22 @@ "start": 59588, "end": 59654, "length": 67, - "parent_index": 3535 + "parent_index": 3536 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__UUPSUpgradeable_init()", "signature": "6e7fd379", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__UUPSUpgradeable_init()internalonlyInitializing{}" }, { - "id": 3542, + "id": 3543, "name": "__UUPSUpgradeable_init_unchained", "node_type": 42, "kind": 41, @@ -336,7 +337,7 @@ "start": 59661, "end": 59737, "length": 77, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1669, @@ -344,10 +345,10 @@ "start": 59670, "end": 59701, "length": 32, - "parent_index": 3542 + "parent_index": 3543 }, "body": { - "id": 3547, + "id": 3548, "node_type": 46, "kind": 0, "src": { @@ -356,7 +357,7 @@ "start": 59731, "end": 59737, "length": 7, - "parent_index": 3542 + "parent_index": 3543 }, "implemented": true, "statements": [] @@ -367,7 +368,7 @@ "virtual": false, "modifiers": [ { - "id": 3544, + "id": 3545, "name": "onlyInitializing", "node_type": 72, "kind": 72, @@ -377,12 +378,12 @@ "start": 59714, "end": 59729, "length": 16, - "parent_index": 3542 + "parent_index": 3543 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3545, + "id": 3546, "name": "onlyInitializing", "node_type": 0, "src": { @@ -391,14 +392,14 @@ "start": 59714, "end": 59729, "length": 16, - "parent_index": 3544 + "parent_index": 3545 } } } ], "overrides": [], "parameters": { - "id": 3543, + "id": 3544, "node_type": 43, "src": { "line": 1669, @@ -406,13 +407,13 @@ "start": 59661, "end": 59737, "length": 77, - "parent_index": 3542 + "parent_index": 3543 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3546, + "id": 3547, "node_type": 43, "src": { "line": 1669, @@ -420,21 +421,22 @@ "start": 59661, "end": 59737, "length": 77, - "parent_index": 3542 + "parent_index": 3543 }, "parameters": [], "parameter_types": [] }, "signature_raw": "__UUPSUpgradeable_init_unchained()", "signature": "ce8a1477", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__UUPSUpgradeable_init_unchained()internalonlyInitializing{}" }, { - "id": 3549, + "id": 3550, "name": "__self", "is_constant": false, "is_state_variable": true, @@ -445,9 +447,9 @@ "start": 59835, "end": 59883, "length": 49, - "parent_index": 3527 + "parent_index": 3528 }, - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" @@ -456,7 +458,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 3550, + "id": 3551, "node_type": 30, "src": { "line": 1672, @@ -464,7 +466,7 @@ "start": 59835, "end": 59841, "length": 7, - "parent_index": 3549 + "parent_index": 3550 }, "name": "address", "state_mutability": 4, @@ -475,7 +477,7 @@ } }, "initial_value": { - "id": 3551, + "id": 3552, "node_type": 24, "kind": 24, "src": { @@ -484,17 +486,17 @@ "start": 59870, "end": 59882, "length": 13, - "parent_index": 3549 + "parent_index": 3550 }, "argument_types": [ { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" } ], "arguments": [ { - "id": 3554, + "id": 3555, "node_type": 16, "src": { "line": 1672, @@ -502,20 +504,21 @@ "start": 59878, "end": 59881, "length": 4, - "parent_index": 3551 + "parent_index": 3552 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3552, + "id": 3553, "node_type": 16, "src": { "line": 1672, @@ -523,11 +526,11 @@ "start": 59870, "end": 59876, "length": 7, - "parent_index": 3551 + "parent_index": 3552 }, "name": "address", "type_name": { - "id": 3553, + "id": 3554, "node_type": 30, "src": { "line": 1672, @@ -535,7 +538,7 @@ "start": 59870, "end": 59876, "length": 7, - "parent_index": 3552 + "parent_index": 3553 }, "name": "address", "state_mutability": 4, @@ -557,7 +560,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -566,7 +570,7 @@ } }, { - "id": 3556, + "id": 3557, "name": "onlyProxy", "node_type": 68, "src": { @@ -575,7 +579,7 @@ "start": 60388, "end": 60613, "length": 226, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1681, @@ -583,12 +587,12 @@ "start": 60397, "end": 60405, "length": 9, - "parent_index": 3556 + "parent_index": 3557 }, "visibility": 1, "virtual": false, "parameters": { - "id": 3557, + "id": 3558, "node_type": 43, "src": { "line": 1681, @@ -596,13 +600,13 @@ "start": 60388, "end": 60613, "length": 226, - "parent_index": 3527 + "parent_index": 3528 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 3558, + "id": 3559, "node_type": 46, "kind": 0, "src": { @@ -611,12 +615,12 @@ "start": 60409, "end": 60613, "length": 205, - "parent_index": 3556 + "parent_index": 3557 }, "implemented": true, "statements": [ { - "id": 3559, + "id": 3560, "node_type": 24, "kind": 24, "src": { @@ -625,7 +629,7 @@ "start": 60419, "end": 60498, "length": 80, - "parent_index": 3558 + "parent_index": 3559 }, "argument_types": [ { @@ -639,7 +643,7 @@ ], "arguments": [ { - "id": 3561, + "id": 3562, "is_constant": false, "is_pure": false, "node_type": 19, @@ -649,11 +653,11 @@ "start": 60427, "end": 60449, "length": 23, - "parent_index": 3559 + "parent_index": 3560 }, "operator": 12, "left_expression": { - "id": 3562, + "id": 3563, "node_type": 24, "kind": 24, "src": { @@ -662,17 +666,17 @@ "start": 60427, "end": 60439, "length": 13, - "parent_index": 3561 + "parent_index": 3562 }, "argument_types": [ { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" } ], "arguments": [ { - "id": 3565, + "id": 3566, "node_type": 16, "src": { "line": 1682, @@ -680,20 +684,21 @@ "start": 60435, "end": 60438, "length": 4, - "parent_index": 3562 + "parent_index": 3563 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3563, + "id": 3564, "node_type": 16, "src": { "line": 1682, @@ -701,11 +706,11 @@ "start": 60427, "end": 60433, "length": 7, - "parent_index": 3562 + "parent_index": 3563 }, "name": "address", "type_name": { - "id": 3564, + "id": 3565, "node_type": 30, "src": { "line": 1682, @@ -713,7 +718,7 @@ "start": 60427, "end": 60433, "length": 7, - "parent_index": 3563 + "parent_index": 3564 }, "name": "address", "state_mutability": 4, @@ -735,7 +740,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -743,7 +749,7 @@ } }, "right_expression": { - "id": 3566, + "id": 3567, "node_type": 16, "src": { "line": 1682, @@ -751,7 +757,7 @@ "start": 60444, "end": 60449, "length": 6, - "parent_index": 3561 + "parent_index": 3562 }, "name": "__self", "type_description": { @@ -759,8 +765,9 @@ "type_string": "function(address)" }, "overloaded_declarations": [], - "referenced_declaration": 3549, - "is_pure": false + "referenced_declaration": 3550, + "is_pure": false, + "text": "__self" }, "type_description": { "type_identifier": "t_bool", @@ -768,7 +775,7 @@ } }, { - "id": 3567, + "id": 3568, "node_type": 17, "kind": 50, "value": "Function must be called through delegatecall", @@ -779,7 +786,7 @@ "start": 60452, "end": 60497, "length": 46, - "parent_index": 3559 + "parent_index": 3560 }, "type_description": { "type_identifier": "t_string_literal", @@ -793,11 +800,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Function must be called through delegatecall\"" } ], "expression": { - "id": 3560, + "id": 3561, "node_type": 16, "src": { "line": 1682, @@ -805,7 +813,7 @@ "start": 60419, "end": 60425, "length": 7, - "parent_index": 3559 + "parent_index": 3560 }, "name": "require", "type_description": { @@ -814,7 +822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -822,7 +831,7 @@ } }, { - "id": 3568, + "id": 3569, "node_type": 24, "kind": 24, "src": { @@ -831,7 +840,7 @@ "start": 60509, "end": 60595, "length": 87, - "parent_index": 3558 + "parent_index": 3559 }, "argument_types": [ { @@ -845,7 +854,7 @@ ], "arguments": [ { - "id": 3570, + "id": 3571, "is_constant": false, "is_pure": false, "node_type": 19, @@ -855,11 +864,11 @@ "start": 60517, "end": 60546, "length": 30, - "parent_index": 3568 + "parent_index": 3569 }, "operator": 11, "left_expression": { - "id": 3571, + "id": 3572, "node_type": 24, "kind": 24, "src": { @@ -868,12 +877,12 @@ "start": 60517, "end": 60536, "length": 20, - "parent_index": 3570 + "parent_index": 3571 }, "argument_types": [], "arguments": [], "expression": { - "id": 3572, + "id": 3573, "node_type": 16, "src": { "line": 1683, @@ -881,7 +890,7 @@ "start": 60517, "end": 60534, "length": 18, - "parent_index": 3571 + "parent_index": 3572 }, "name": "_getImplementation", "type_description": { @@ -890,7 +899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -898,7 +908,7 @@ } }, "right_expression": { - "id": 3573, + "id": 3574, "node_type": 16, "src": { "line": 1683, @@ -906,7 +916,7 @@ "start": 60541, "end": 60546, "length": 6, - "parent_index": 3570 + "parent_index": 3571 }, "name": "__self", "type_description": { @@ -914,8 +924,9 @@ "type_string": "function(address)" }, "overloaded_declarations": [], - "referenced_declaration": 3549, - "is_pure": false + "referenced_declaration": 3550, + "is_pure": false, + "text": "__self" }, "type_description": { "type_identifier": "t_bool", @@ -923,7 +934,7 @@ } }, { - "id": 3574, + "id": 3575, "node_type": 17, "kind": 50, "value": "Function must be called through active proxy", @@ -934,7 +945,7 @@ "start": 60549, "end": 60594, "length": 46, - "parent_index": 3568 + "parent_index": 3569 }, "type_description": { "type_identifier": "t_string_literal", @@ -948,11 +959,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Function must be called through active proxy\"" } ], "expression": { - "id": 3569, + "id": 3570, "node_type": 16, "src": { "line": 1683, @@ -960,7 +972,7 @@ "start": 60509, "end": 60515, "length": 7, - "parent_index": 3568 + "parent_index": 3569 }, "name": "require", "type_description": { @@ -969,7 +981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -977,7 +990,7 @@ } }, { - "id": 3575, + "id": 3576, "node_type": 82, "src": { "line": 1684, @@ -985,7 +998,7 @@ "start": 60606, "end": 60606, "length": 1, - "parent_index": 3558 + "parent_index": 3559 }, "name": "_", "type_description": { @@ -994,13 +1007,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 3577, + "id": 3578, "name": "notDelegated", "node_type": 68, "src": { @@ -1009,7 +1023,7 @@ "start": 60820, "end": 60963, "length": 144, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1691, @@ -1017,12 +1031,12 @@ "start": 60829, "end": 60840, "length": 12, - "parent_index": 3577 + "parent_index": 3578 }, "visibility": 1, "virtual": false, "parameters": { - "id": 3578, + "id": 3579, "node_type": 43, "src": { "line": 1691, @@ -1030,13 +1044,13 @@ "start": 60820, "end": 60963, "length": 144, - "parent_index": 3527 + "parent_index": 3528 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 3579, + "id": 3580, "node_type": 46, "kind": 0, "src": { @@ -1045,12 +1059,12 @@ "start": 60844, "end": 60963, "length": 120, - "parent_index": 3577 + "parent_index": 3578 }, "implemented": true, "statements": [ { - "id": 3580, + "id": 3581, "node_type": 24, "kind": 24, "src": { @@ -1059,7 +1073,7 @@ "start": 60854, "end": 60945, "length": 92, - "parent_index": 3579 + "parent_index": 3580 }, "argument_types": [ { @@ -1073,7 +1087,7 @@ ], "arguments": [ { - "id": 3582, + "id": 3583, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1083,11 +1097,11 @@ "start": 60862, "end": 60884, "length": 23, - "parent_index": 3580 + "parent_index": 3581 }, "operator": 11, "left_expression": { - "id": 3583, + "id": 3584, "node_type": 24, "kind": 24, "src": { @@ -1096,17 +1110,17 @@ "start": 60862, "end": 60874, "length": 13, - "parent_index": 3582 + "parent_index": 3583 }, "argument_types": [ { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" } ], "arguments": [ { - "id": 3586, + "id": 3587, "node_type": 16, "src": { "line": 1692, @@ -1114,20 +1128,21 @@ "start": 60870, "end": 60873, "length": 4, - "parent_index": 3583 + "parent_index": 3584 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_UUPSUpgradeable_$3484", + "type_identifier": "t_contract$_UUPSUpgradeable_$3485", "type_string": "contract UUPSUpgradeable" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3584, + "id": 3585, "node_type": 16, "src": { "line": 1692, @@ -1135,11 +1150,11 @@ "start": 60862, "end": 60868, "length": 7, - "parent_index": 3583 + "parent_index": 3584 }, "name": "address", "type_name": { - "id": 3585, + "id": 3586, "node_type": 30, "src": { "line": 1692, @@ -1147,7 +1162,7 @@ "start": 60862, "end": 60868, "length": 7, - "parent_index": 3584 + "parent_index": 3585 }, "name": "address", "state_mutability": 4, @@ -1169,7 +1184,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1177,7 +1193,7 @@ } }, "right_expression": { - "id": 3587, + "id": 3588, "node_type": 16, "src": { "line": 1692, @@ -1185,7 +1201,7 @@ "start": 60879, "end": 60884, "length": 6, - "parent_index": 3582 + "parent_index": 3583 }, "name": "__self", "type_description": { @@ -1193,8 +1209,9 @@ "type_string": "function(address)" }, "overloaded_declarations": [], - "referenced_declaration": 3549, - "is_pure": false + "referenced_declaration": 3550, + "is_pure": false, + "text": "__self" }, "type_description": { "type_identifier": "t_bool", @@ -1202,7 +1219,7 @@ } }, { - "id": 3588, + "id": 3589, "node_type": 17, "kind": 50, "value": "UUPSUpgradeable: must not be called through delegatecall", @@ -1213,7 +1230,7 @@ "start": 60887, "end": 60944, "length": 58, - "parent_index": 3580 + "parent_index": 3581 }, "type_description": { "type_identifier": "t_string_literal", @@ -1227,11 +1244,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UUPSUpgradeable: must not be called through delegatecall\"" } ], "expression": { - "id": 3581, + "id": 3582, "node_type": 16, "src": { "line": 1692, @@ -1239,7 +1257,7 @@ "start": 60854, "end": 60860, "length": 7, - "parent_index": 3580 + "parent_index": 3581 }, "name": "require", "type_description": { @@ -1248,7 +1266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1256,7 +1275,7 @@ } }, { - "id": 3589, + "id": 3590, "node_type": 82, "src": { "line": 1693, @@ -1264,7 +1283,7 @@ "start": 60956, "end": 60956, "length": 1, - "parent_index": 3579 + "parent_index": 3580 }, "name": "_", "type_description": { @@ -1273,13 +1292,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 3591, + "id": 3592, "name": "proxiableUUID", "node_type": 42, "kind": 41, @@ -1289,7 +1309,7 @@ "start": 61550, "end": 61680, "length": 131, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1704, @@ -1297,10 +1317,10 @@ "start": 61559, "end": 61571, "length": 13, - "parent_index": 3591 + "parent_index": 3592 }, "body": { - "id": 3601, + "id": 3602, "node_type": 46, "kind": 0, "src": { @@ -1309,12 +1329,12 @@ "start": 61637, "end": 61680, "length": 44, - "parent_index": 3591 + "parent_index": 3592 }, "implemented": true, "statements": [ { - "id": 3602, + "id": 3603, "node_type": 47, "src": { "line": 1705, @@ -1322,11 +1342,11 @@ "start": 61647, "end": 61674, "length": 28, - "parent_index": 3591 + "parent_index": 3592 }, - "function_return_parameters": 3591, + "function_return_parameters": 3592, "expression": { - "id": 3603, + "id": 3604, "node_type": 16, "src": { "line": 1705, @@ -1334,7 +1354,7 @@ "start": 61654, "end": 61673, "length": 20, - "parent_index": 3602 + "parent_index": 3603 }, "name": "_IMPLEMENTATION_SLOT", "type_description": { @@ -1342,8 +1362,9 @@ "type_string": "int_const 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" }, "overloaded_declarations": [], - "referenced_declaration": 3185, - "is_pure": false + "referenced_declaration": 3186, + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } } ] @@ -1354,7 +1375,7 @@ "virtual": true, "modifiers": [ { - "id": 3595, + "id": 3596, "name": "notDelegated", "node_type": 72, "kind": 72, @@ -1364,12 +1385,12 @@ "start": 61606, "end": 61617, "length": 12, - "parent_index": 3591 + "parent_index": 3592 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3596, + "id": 3597, "name": "notDelegated", "node_type": 0, "src": { @@ -1378,14 +1399,14 @@ "start": 61606, "end": 61617, "length": 12, - "parent_index": 3595 + "parent_index": 3596 } } } ], "overrides": [ { - "id": 3597, + "id": 3598, "node_type": 63, "src": { "line": 1704, @@ -1393,7 +1414,7 @@ "start": 61597, "end": 61604, "length": 8, - "parent_index": 3591 + "parent_index": 3592 }, "overrides": [], "referenced_declaration": 0, @@ -1404,7 +1425,7 @@ } ], "parameters": { - "id": 3592, + "id": 3593, "node_type": 43, "src": { "line": 1704, @@ -1412,11 +1433,11 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3591 + "parent_index": 3592 }, "parameters": [ { - "id": 3593, + "id": 3594, "node_type": 44, "src": { "line": 1704, @@ -1424,12 +1445,12 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3592 + "parent_index": 3593 }, - "scope": 3591, + "scope": 3592, "name": "", "type_name": { - "id": 3594, + "id": 3595, "node_type": 30, "src": { "line": 1704, @@ -1437,7 +1458,7 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3593 + "parent_index": 3594 }, "name": "bytes32", "referenced_declaration": 0, @@ -1463,7 +1484,7 @@ ] }, "return_parameters": { - "id": 3598, + "id": 3599, "node_type": 43, "src": { "line": 1704, @@ -1471,11 +1492,11 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3591 + "parent_index": 3592 }, "parameters": [ { - "id": 3599, + "id": 3600, "node_type": 44, "src": { "line": 1704, @@ -1483,12 +1504,12 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3598 + "parent_index": 3599 }, - "scope": 3591, + "scope": 3592, "name": "", "type_name": { - "id": 3600, + "id": 3601, "node_type": 30, "src": { "line": 1704, @@ -1496,7 +1517,7 @@ "start": 61628, "end": 61634, "length": 7, - "parent_index": 3599 + "parent_index": 3600 }, "name": "bytes32", "referenced_declaration": 0, @@ -1523,14 +1544,15 @@ }, "signature_raw": "proxiableUUID(bytes32)", "signature": "e5f9ca4c", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionproxiableUUID()externalviewvirtualoverridenotDelegatedreturns(bytes32){return_IMPLEMENTATION_SLOT;}" }, { - "id": 3605, + "id": 3606, "name": "upgradeTo", "node_type": 42, "kind": 41, @@ -1540,7 +1562,7 @@ "start": 61861, "end": 62057, "length": 197, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1715, @@ -1548,10 +1570,10 @@ "start": 61870, "end": 61878, "length": 9, - "parent_index": 3605 + "parent_index": 3606 }, "body": { - "id": 3612, + "id": 3613, "node_type": 46, "kind": 0, "src": { @@ -1560,12 +1582,12 @@ "start": 61934, "end": 62057, "length": 124, - "parent_index": 3605 + "parent_index": 3606 }, "implemented": true, "statements": [ { - "id": 3613, + "id": 3614, "node_type": 24, "kind": 24, "src": { @@ -1574,7 +1596,7 @@ "start": 61944, "end": 61979, "length": 36, - "parent_index": 3612 + "parent_index": 3613 }, "argument_types": [ { @@ -1584,7 +1606,7 @@ ], "arguments": [ { - "id": 3615, + "id": 3616, "node_type": 16, "src": { "line": 1716, @@ -1592,7 +1614,7 @@ "start": 61962, "end": 61978, "length": 17, - "parent_index": 3613 + "parent_index": 3614 }, "name": "newImplementation", "type_description": { @@ -1600,12 +1622,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3615, - "is_pure": false + "referenced_declaration": 3616, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3614, + "id": 3615, "node_type": 16, "src": { "line": 1716, @@ -1613,7 +1636,7 @@ "start": 61944, "end": 61960, "length": 17, - "parent_index": 3613 + "parent_index": 3614 }, "name": "_authorizeUpgrade", "type_description": { @@ -1622,7 +1645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_authorizeUpgrade" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1630,7 +1654,7 @@ } }, { - "id": 3616, + "id": 3617, "node_type": 24, "kind": 24, "src": { @@ -1639,7 +1663,7 @@ "start": 61990, "end": 62050, "length": 61, - "parent_index": 3612 + "parent_index": 3613 }, "argument_types": [ { @@ -1657,7 +1681,7 @@ ], "arguments": [ { - "id": 3618, + "id": 3619, "node_type": 16, "src": { "line": 1717, @@ -1665,7 +1689,7 @@ "start": 62012, "end": 62028, "length": 17, - "parent_index": 3616 + "parent_index": 3617 }, "name": "newImplementation", "type_description": { @@ -1673,11 +1697,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3618, - "is_pure": false + "referenced_declaration": 3619, + "is_pure": false, + "text": "newImplementation" }, { - "id": 3619, + "id": 3620, "node_type": 24, "kind": 24, "src": { @@ -1686,7 +1711,7 @@ "start": 62031, "end": 62042, "length": 12, - "parent_index": 3616 + "parent_index": 3617 }, "argument_types": [ { @@ -1696,7 +1721,7 @@ ], "arguments": [ { - "id": 3622, + "id": 3623, "node_type": 17, "kind": 49, "value": "0", @@ -1707,7 +1732,7 @@ "start": 62041, "end": 62041, "length": 1, - "parent_index": 3619 + "parent_index": 3620 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1715,11 +1740,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 3620, + "id": 3621, "node_type": 25, "src": { "line": 1717, @@ -1727,11 +1753,11 @@ "start": 62031, "end": 62039, "length": 9, - "parent_index": 3619 + "parent_index": 3620 }, "argument_types": [], "type_name": { - "id": 3621, + "id": 3622, "node_type": 30, "src": { "line": 1717, @@ -1739,7 +1765,7 @@ "start": 62035, "end": 62039, "length": 5, - "parent_index": 3620 + "parent_index": 3621 }, "name": "bytes", "referenced_declaration": 0, @@ -1759,7 +1785,7 @@ } }, { - "id": 3623, + "id": 3624, "node_type": 17, "kind": 61, "value": "false", @@ -1770,7 +1796,7 @@ "start": 62045, "end": 62049, "length": 5, - "parent_index": 3616 + "parent_index": 3617 }, "type_description": { "type_identifier": "t_bool", @@ -1788,11 +1814,12 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "false" } ], "expression": { - "id": 3617, + "id": 3618, "node_type": 16, "src": { "line": 1717, @@ -1800,7 +1827,7 @@ "start": 61990, "end": 62010, "length": 21, - "parent_index": 3616 + "parent_index": 3617 }, "name": "_upgradeToAndCallUUPS", "type_description": { @@ -1809,7 +1836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCallUUPS" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_bool$", @@ -1824,7 +1852,7 @@ "virtual": true, "modifiers": [ { - "id": 3609, + "id": 3610, "name": "onlyProxy", "node_type": 72, "kind": 72, @@ -1834,12 +1862,12 @@ "start": 61924, "end": 61932, "length": 9, - "parent_index": 3605 + "parent_index": 3606 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3610, + "id": 3611, "name": "onlyProxy", "node_type": 0, "src": { @@ -1848,14 +1876,14 @@ "start": 61924, "end": 61932, "length": 9, - "parent_index": 3609 + "parent_index": 3610 } } } ], "overrides": [], "parameters": { - "id": 3606, + "id": 3607, "node_type": 43, "src": { "line": 1715, @@ -1863,11 +1891,11 @@ "start": 61880, "end": 61904, "length": 25, - "parent_index": 3605 + "parent_index": 3606 }, "parameters": [ { - "id": 3607, + "id": 3608, "node_type": 44, "src": { "line": 1715, @@ -1875,12 +1903,12 @@ "start": 61880, "end": 61904, "length": 25, - "parent_index": 3606 + "parent_index": 3607 }, - "scope": 3605, + "scope": 3606, "name": "newImplementation", "type_name": { - "id": 3608, + "id": 3609, "node_type": 30, "src": { "line": 1715, @@ -1888,7 +1916,7 @@ "start": 61880, "end": 61886, "length": 7, - "parent_index": 3607 + "parent_index": 3608 }, "name": "address", "state_mutability": 4, @@ -1915,7 +1943,7 @@ ] }, "return_parameters": { - "id": 3611, + "id": 3612, "node_type": 43, "src": { "line": 1715, @@ -1923,21 +1951,22 @@ "start": 61861, "end": 62057, "length": 197, - "parent_index": 3605 + "parent_index": 3606 }, "parameters": [], "parameter_types": [] }, "signature_raw": "upgradeTo(address)", "signature": "3659cfe6", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)externalvirtualonlyProxy{_authorizeUpgrade(newImplementation);_upgradeToAndCallUUPS(newImplementation,newbytes(0),false);}" }, { - "id": 3625, + "id": 3626, "name": "upgradeToAndCall", "node_type": 42, "kind": 41, @@ -1947,7 +1976,7 @@ "start": 62307, "end": 62528, "length": 222, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1728, @@ -1955,10 +1984,10 @@ "start": 62316, "end": 62331, "length": 16, - "parent_index": 3625 + "parent_index": 3626 }, "body": { - "id": 3634, + "id": 3635, "node_type": 46, "kind": 0, "src": { @@ -1967,12 +1996,12 @@ "start": 62414, "end": 62528, "length": 115, - "parent_index": 3625 + "parent_index": 3626 }, "implemented": true, "statements": [ { - "id": 3635, + "id": 3636, "node_type": 24, "kind": 24, "src": { @@ -1981,7 +2010,7 @@ "start": 62424, "end": 62459, "length": 36, - "parent_index": 3634 + "parent_index": 3635 }, "argument_types": [ { @@ -1991,7 +2020,7 @@ ], "arguments": [ { - "id": 3637, + "id": 3638, "node_type": 16, "src": { "line": 1729, @@ -1999,7 +2028,7 @@ "start": 62442, "end": 62458, "length": 17, - "parent_index": 3635 + "parent_index": 3636 }, "name": "newImplementation", "type_description": { @@ -2007,12 +2036,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3637, - "is_pure": false + "referenced_declaration": 3638, + "is_pure": false, + "text": "newImplementation" } ], "expression": { - "id": 3636, + "id": 3637, "node_type": 16, "src": { "line": 1729, @@ -2020,7 +2050,7 @@ "start": 62424, "end": 62440, "length": 17, - "parent_index": 3635 + "parent_index": 3636 }, "name": "_authorizeUpgrade", "type_description": { @@ -2029,7 +2059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_authorizeUpgrade" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2037,7 +2068,7 @@ } }, { - "id": 3638, + "id": 3639, "node_type": 24, "kind": 24, "src": { @@ -2046,7 +2077,7 @@ "start": 62470, "end": 62521, "length": 52, - "parent_index": 3634 + "parent_index": 3635 }, "argument_types": [ { @@ -2064,7 +2095,7 @@ ], "arguments": [ { - "id": 3640, + "id": 3641, "node_type": 16, "src": { "line": 1730, @@ -2072,7 +2103,7 @@ "start": 62492, "end": 62508, "length": 17, - "parent_index": 3638 + "parent_index": 3639 }, "name": "newImplementation", "type_description": { @@ -2080,11 +2111,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3640, - "is_pure": false + "referenced_declaration": 3641, + "is_pure": false, + "text": "newImplementation" }, { - "id": 3641, + "id": 3642, "node_type": 16, "src": { "line": 1730, @@ -2092,7 +2124,7 @@ "start": 62511, "end": 62514, "length": 4, - "parent_index": 3638 + "parent_index": 3639 }, "name": "data", "type_description": { @@ -2100,17 +2132,18 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3641, + "referenced_declaration": 3642, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { - "id": 3642, + "id": 3643, "node_type": 17, "kind": 61, "value": "true", @@ -2121,7 +2154,7 @@ "start": 62517, "end": 62520, "length": 4, - "parent_index": 3638 + "parent_index": 3639 }, "type_description": { "type_identifier": "t_bool", @@ -2139,11 +2172,12 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "true" } ], "expression": { - "id": 3639, + "id": 3640, "node_type": 16, "src": { "line": 1730, @@ -2151,7 +2185,7 @@ "start": 62470, "end": 62490, "length": 21, - "parent_index": 3638 + "parent_index": 3639 }, "name": "_upgradeToAndCallUUPS", "type_description": { @@ -2160,7 +2194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCallUUPS" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -2175,7 +2210,7 @@ "virtual": true, "modifiers": [ { - "id": 3631, + "id": 3632, "name": "onlyProxy", "node_type": 72, "kind": 72, @@ -2185,12 +2220,12 @@ "start": 62404, "end": 62412, "length": 9, - "parent_index": 3625 + "parent_index": 3626 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3632, + "id": 3633, "name": "onlyProxy", "node_type": 0, "src": { @@ -2199,14 +2234,14 @@ "start": 62404, "end": 62412, "length": 9, - "parent_index": 3631 + "parent_index": 3632 } } } ], "overrides": [], "parameters": { - "id": 3626, + "id": 3627, "node_type": 43, "src": { "line": 1728, @@ -2214,11 +2249,11 @@ "start": 62333, "end": 62376, "length": 44, - "parent_index": 3625 + "parent_index": 3626 }, "parameters": [ { - "id": 3627, + "id": 3628, "node_type": 44, "src": { "line": 1728, @@ -2226,12 +2261,12 @@ "start": 62333, "end": 62357, "length": 25, - "parent_index": 3626 + "parent_index": 3627 }, - "scope": 3625, + "scope": 3626, "name": "newImplementation", "type_name": { - "id": 3628, + "id": 3629, "node_type": 30, "src": { "line": 1728, @@ -2239,7 +2274,7 @@ "start": 62333, "end": 62339, "length": 7, - "parent_index": 3627 + "parent_index": 3628 }, "name": "address", "state_mutability": 4, @@ -2258,7 +2293,7 @@ } }, { - "id": 3629, + "id": 3630, "node_type": 44, "src": { "line": 1728, @@ -2266,12 +2301,12 @@ "start": 62360, "end": 62376, "length": 17, - "parent_index": 3626 + "parent_index": 3627 }, - "scope": 3625, + "scope": 3626, "name": "data", "type_name": { - "id": 3630, + "id": 3631, "node_type": 30, "src": { "line": 1728, @@ -2279,7 +2314,7 @@ "start": 62360, "end": 62364, "length": 5, - "parent_index": 3629 + "parent_index": 3630 }, "name": "bytes", "referenced_declaration": 0, @@ -2309,7 +2344,7 @@ ] }, "return_parameters": { - "id": 3633, + "id": 3634, "node_type": 43, "src": { "line": 1728, @@ -2317,21 +2352,22 @@ "start": 62307, "end": 62528, "length": 222, - "parent_index": 3625 + "parent_index": 3626 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeToAndCall(address, bytes)", - "signature": "cf553a4d", - "scope": 3527, + "signature_raw": "upgradeToAndCall(address,bytes)", + "signature": "4f1ef286", + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionupgradeToAndCall(addressnewImplementation,bytesmemorydata)externalpayablevirtualonlyProxy{_authorizeUpgrade(newImplementation);_upgradeToAndCallUUPS(newImplementation,data,true);}" }, { - "id": 3644, + "id": 3645, "name": "_authorizeUpgrade", "node_type": 42, "kind": 41, @@ -2341,7 +2377,7 @@ "start": 62937, "end": 63007, "length": 71, - "parent_index": 3527 + "parent_index": 3528 }, "name_location": { "line": 1743, @@ -2349,10 +2385,10 @@ "start": 62946, "end": 62962, "length": 17, - "parent_index": 3644 + "parent_index": 3645 }, "body": { - "id": 3649, + "id": 3650, "node_type": 46, "kind": 0, "src": { @@ -2361,7 +2397,7 @@ "start": 62937, "end": 63007, "length": 71, - "parent_index": 3644 + "parent_index": 3645 }, "implemented": false, "statements": [] @@ -2373,7 +2409,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3645, + "id": 3646, "node_type": 43, "src": { "line": 1743, @@ -2381,11 +2417,11 @@ "start": 62964, "end": 62988, "length": 25, - "parent_index": 3644 + "parent_index": 3645 }, "parameters": [ { - "id": 3646, + "id": 3647, "node_type": 44, "src": { "line": 1743, @@ -2393,12 +2429,12 @@ "start": 62964, "end": 62988, "length": 25, - "parent_index": 3645 + "parent_index": 3646 }, - "scope": 3644, + "scope": 3645, "name": "newImplementation", "type_name": { - "id": 3647, + "id": 3648, "node_type": 30, "src": { "line": 1743, @@ -2406,7 +2442,7 @@ "start": 62964, "end": 62970, "length": 7, - "parent_index": 3646 + "parent_index": 3647 }, "name": "address", "state_mutability": 4, @@ -2433,7 +2469,7 @@ ] }, "return_parameters": { - "id": 3648, + "id": 3649, "node_type": 43, "src": { "line": 1743, @@ -2441,21 +2477,22 @@ "start": 62937, "end": 63007, "length": 71, - "parent_index": 3644 + "parent_index": 3645 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_authorizeUpgrade(address)", "signature": "5ec29272", - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_authorizeUpgrade(addressnewImplementation)internalvirtual;" }, { - "id": 3651, + "id": 3652, "name": "__gap", "is_constant": false, "is_state_variable": true, @@ -2466,9 +2503,9 @@ "start": 63273, "end": 63298, "length": 26, - "parent_index": 3527 + "parent_index": 3528 }, - "scope": 3527, + "scope": 3528, "type_description": { "type_identifier": "t_rational_50_by_1", "type_string": "int_const 50" @@ -2477,7 +2514,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3652, + "id": 3653, "node_type": 16, "src": { "line": 1750, @@ -2485,12 +2522,12 @@ "start": 63273, "end": 63279, "length": 7, - "parent_index": 3651 + "parent_index": 3652 }, "name": "function", "referenced_declaration": 0, "expression": { - "id": 3654, + "id": 3655, "node_type": 17, "kind": 49, "value": "50", @@ -2501,7 +2538,7 @@ "start": 63281, "end": 63282, "length": 2, - "parent_index": 3652 + "parent_index": 3653 }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -2509,7 +2546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -2521,16 +2559,16 @@ ], "linearized_base_contracts": [ 1894, - 2843, - 3124, - 3527, - 3524, + 2844, + 3125, + 3528, 3525, - 3526 + 3526, + 3527 ], "base_contracts": [ { - "id": 3528, + "id": 3529, "node_type": 62, "src": { "line": 1665, @@ -2538,10 +2576,10 @@ "start": 59511, "end": 59523, "length": 13, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3529, + "id": 3530, "node_type": 52, "src": { "line": 1665, @@ -2549,14 +2587,14 @@ "start": 59511, "end": 59523, "length": 13, - "parent_index": 3527 + "parent_index": 3528 }, "name": "Initializable", "referenced_declaration": 1894 } }, { - "id": 3530, + "id": 3531, "node_type": 62, "src": { "line": 1665, @@ -2564,10 +2602,10 @@ "start": 59526, "end": 59553, "length": 28, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3531, + "id": 3532, "node_type": 52, "src": { "line": 1665, @@ -2575,14 +2613,14 @@ "start": 59526, "end": 59553, "length": 28, - "parent_index": 3527 + "parent_index": 3528 }, "name": "IERC1822ProxiableUpgradeable", - "referenced_declaration": 2843 + "referenced_declaration": 2844 } }, { - "id": 3532, + "id": 3533, "node_type": 62, "src": { "line": 1665, @@ -2590,10 +2628,10 @@ "start": 59556, "end": 59580, "length": 25, - "parent_index": 3527 + "parent_index": 3528 }, "base_name": { - "id": 3533, + "id": 3534, "node_type": 52, "src": { "line": 1665, @@ -2601,20 +2639,20 @@ "start": 59556, "end": 59580, "length": 25, - "parent_index": 3527 + "parent_index": 3528 }, "name": "ERC1967UpgradeUpgradeable", - "referenced_declaration": 3124 + "referenced_declaration": 3125 } } ], "contract_dependencies": [ 1894, - 2843, - 3124, - 3524, + 2844, + 3125, 3525, - 3526 + 3526, + 3527 ] } ], diff --git a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/WormholeRouter.solgo.ast.json b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/WormholeRouter.solgo.ast.json index d78dd329..6c01fb4c 100644 --- a/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/WormholeRouter.solgo.ast.json +++ b/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/WormholeRouter.solgo.ast.json @@ -1,8 +1,8 @@ { - "id": 6513, + "id": 6515, "base_contracts": [ { - "id": 6589, + "id": 6591, "node_type": 62, "src": { "line": 2988, @@ -10,10 +10,10 @@ "start": 110592, "end": 110607, "length": 16, - "parent_index": 6588 + "parent_index": 6590 }, "base_name": { - "id": 6590, + "id": 6592, "node_type": 52, "src": { "line": 2988, @@ -21,32 +21,32 @@ "start": 110592, "end": 110607, "length": 16, - "parent_index": 6588 + "parent_index": 6590 }, "name": "AffineGovernable", - "referenced_declaration": 4831 + "referenced_declaration": 4832 } } ], "license": "MIT", "exported_symbols": [ { - "id": 6513, + "id": 6515, "name": "WormholeRouter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x3b07A1A5de80f9b22DE0EC6C44C6E59DDc1C5f41/WormholeRouter.sol" }, { - "id": 6344, + "id": 6346, "name": "IWormhole", "absolute_path": "IWormhole.sol" }, { - "id": 6344, + "id": 6346, "name": "BaseVault", "absolute_path": "BaseVault.sol" }, { - "id": 6344, + "id": 6346, "name": "AffineGovernable", "absolute_path": "AffineGovernable.sol" } @@ -56,7 +56,7 @@ "node_type": 1, "nodes": [ { - "id": 6538, + "id": 6540, "node_type": 10, "src": { "line": 2982, @@ -64,7 +64,7 @@ "start": 110386, "end": 110409, "length": 24, - "parent_index": 6513 + "parent_index": 6515 }, "literals": [ "pragma", @@ -80,7 +80,7 @@ "text": "pragma solidity =0.8.16;" }, { - "id": 6585, + "id": 6587, "node_type": 29, "src": { "line": 2984, @@ -88,18 +88,18 @@ "start": 110412, "end": 110453, "length": 42, - "parent_index": 6513 + "parent_index": 6515 }, "absolute_path": "IWormhole.sol", "file": "./IWormhole.sol", - "scope": 6513, + "scope": 6515, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6344 + "source_unit": 6346 }, { - "id": 6586, + "id": 6588, "node_type": 29, "src": { "line": 2985, @@ -107,18 +107,18 @@ "start": 110455, "end": 110496, "length": 42, - "parent_index": 6513 + "parent_index": 6515 }, "absolute_path": "BaseVault.sol", "file": "./BaseVault.sol", - "scope": 6513, + "scope": 6515, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6344 + "source_unit": 6346 }, { - "id": 6587, + "id": 6589, "node_type": 29, "src": { "line": 2986, @@ -126,18 +126,18 @@ "start": 110498, "end": 110553, "length": 56, - "parent_index": 6513 + "parent_index": 6515 }, "absolute_path": "AffineGovernable.sol", "file": "./AffineGovernable.sol", - "scope": 6513, + "scope": 6515, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 6344 + "source_unit": 6346 }, { - "id": 6588, + "id": 6590, "name": "WormholeRouter", "node_type": 35, "src": { @@ -146,7 +146,7 @@ "start": 110556, "end": 112679, "length": 2124, - "parent_index": 6513 + "parent_index": 6515 }, "name_location": { "line": 2988, @@ -154,14 +154,14 @@ "start": 110574, "end": 110587, "length": 14, - "parent_index": 6588 + "parent_index": 6590 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 6592, + "id": 6594, "name": "vault", "is_constant": false, "is_state_variable": true, @@ -172,18 +172,18 @@ "start": 110671, "end": 110703, "length": 33, - "parent_index": 6588 + "parent_index": 6590 }, - "scope": 6588, + "scope": 6590, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 6593, + "id": 6595, "node_type": 69, "src": { "line": 2990, @@ -191,20 +191,20 @@ "start": 110671, "end": 110679, "length": 9, - "parent_index": 6592 + "parent_index": 6594 }, "path_node": { - "id": 6594, + "id": 6596, "name": "BaseVault", "node_type": 52, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "src": { "line": 2990, "column": 4, "start": 110671, "end": 110679, "length": 9, - "parent_index": 6593 + "parent_index": 6595 }, "name_location": { "line": 2990, @@ -212,19 +212,19 @@ "start": 110671, "end": 110679, "length": 9, - "parent_index": 6593 + "parent_index": 6595 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "initial_value": null }, { - "id": 6596, + "id": 6598, "node_type": 42, "src": { "line": 2992, @@ -232,7 +232,7 @@ "start": 110710, "end": 110862, "length": 153, - "parent_index": 6588 + "parent_index": 6590 }, "kind": 11, "state_mutability": 4, @@ -240,7 +240,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 6597, + "id": 6599, "node_type": 43, "src": { "line": 2992, @@ -248,11 +248,11 @@ "start": 110722, "end": 110758, "length": 37, - "parent_index": 6596 + "parent_index": 6598 }, "parameters": [ { - "id": 6598, + "id": 6600, "node_type": 44, "src": { "line": 2992, @@ -260,12 +260,12 @@ "start": 110722, "end": 110737, "length": 16, - "parent_index": 6597 + "parent_index": 6599 }, - "scope": 6596, + "scope": 6598, "name": "_vault", "type_name": { - "id": 6599, + "id": 6601, "node_type": 69, "src": { "line": 2992, @@ -273,20 +273,20 @@ "start": 110722, "end": 110730, "length": 9, - "parent_index": 6598 + "parent_index": 6600 }, "path_node": { - "id": 6600, + "id": 6602, "name": "BaseVault", "node_type": 52, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "src": { "line": 2992, "column": 16, "start": 110722, "end": 110730, "length": 9, - "parent_index": 6599 + "parent_index": 6601 }, "name_location": { "line": 2992, @@ -294,12 +294,12 @@ "start": 110722, "end": 110730, "length": 9, - "parent_index": 6599 + "parent_index": 6601 } }, - "referenced_declaration": 5126, + "referenced_declaration": 5127, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, @@ -307,12 +307,12 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, { - "id": 6601, + "id": 6603, "node_type": 44, "src": { "line": 2992, @@ -320,12 +320,12 @@ "start": 110740, "end": 110758, "length": 19, - "parent_index": 6597 + "parent_index": 6599 }, - "scope": 6596, + "scope": 6598, "name": "_wormhole", "type_name": { - "id": 6602, + "id": 6604, "node_type": 69, "src": { "line": 2992, @@ -333,10 +333,10 @@ "start": 110740, "end": 110748, "length": 9, - "parent_index": 6601 + "parent_index": 6603 }, "path_node": { - "id": 6603, + "id": 6605, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -346,7 +346,7 @@ "start": 110740, "end": 110748, "length": 9, - "parent_index": 6602 + "parent_index": 6604 }, "name_location": { "line": 2992, @@ -354,12 +354,12 @@ "start": 110740, "end": 110748, "length": 9, - "parent_index": 6602 + "parent_index": 6604 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, @@ -370,14 +370,14 @@ ], "parameter_types": [ { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, null ] }, "return_parameters": { - "id": 6604, + "id": 6606, "node_type": 43, "src": { "line": 2992, @@ -385,14 +385,14 @@ "start": 110710, "end": 110862, "length": 153, - "parent_index": 6596 + "parent_index": 6598 }, "parameters": [], "parameter_types": [] }, - "scope": 6588, + "scope": 6590, "body": { - "id": 6605, + "id": 6607, "node_type": 46, "kind": 0, "src": { @@ -401,12 +401,12 @@ "start": 110761, "end": 110862, "length": 102, - "parent_index": 6596 + "parent_index": 6598 }, "implemented": true, "statements": [ { - "id": 6606, + "id": 6608, "node_type": 27, "src": { "line": 2993, @@ -414,10 +414,10 @@ "start": 110771, "end": 110785, "length": 15, - "parent_index": 6605 + "parent_index": 6607 }, "expression": { - "id": 6607, + "id": 6609, "node_type": 27, "src": { "line": 2993, @@ -425,11 +425,11 @@ "start": 110771, "end": 110784, "length": 14, - "parent_index": 6606 + "parent_index": 6608 }, "operator": 11, "left_expression": { - "id": 6608, + "id": 6610, "node_type": 16, "src": { "line": 2993, @@ -437,19 +437,20 @@ "start": 110771, "end": 110775, "length": 5, - "parent_index": 6607 + "parent_index": 6609 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 7864, - "is_pure": false + "referenced_declaration": 7867, + "is_pure": false, + "text": "vault" }, "right_expression": { - "id": 6609, + "id": 6611, "node_type": 16, "src": { "line": 2993, @@ -457,29 +458,31 @@ "start": 110779, "end": 110784, "length": 6, - "parent_index": 6607 + "parent_index": 6609 }, "name": "_vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 6609, - "is_pure": false + "referenced_declaration": 6611, + "is_pure": false, + "text": "_vault" }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" } }, "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault=_vault;" }, { - "id": 6610, + "id": 6612, "node_type": 27, "src": { "line": 2994, @@ -487,10 +490,10 @@ "start": 110795, "end": 110826, "length": 32, - "parent_index": 6605 + "parent_index": 6607 }, "expression": { - "id": 6611, + "id": 6613, "node_type": 27, "src": { "line": 2994, @@ -498,11 +501,11 @@ "start": 110795, "end": 110825, "length": 31, - "parent_index": 6610 + "parent_index": 6612 }, "operator": 11, "left_expression": { - "id": 6612, + "id": 6614, "node_type": 16, "src": { "line": 2994, @@ -510,7 +513,7 @@ "start": 110795, "end": 110804, "length": 10, - "parent_index": 6611 + "parent_index": 6613 }, "name": "governance", "type_description": { @@ -518,11 +521,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4884, - "is_pure": false + "referenced_declaration": 4885, + "is_pure": false, + "text": "governance" }, "right_expression": { - "id": 6613, + "id": 6615, "node_type": 24, "kind": 24, "src": { @@ -531,12 +535,12 @@ "start": 110808, "end": 110825, "length": 18, - "parent_index": 6611 + "parent_index": 6613 }, "argument_types": [], "arguments": [], "expression": { - "id": 6614, + "id": 6616, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -548,7 +552,7 @@ "start": 110808, "end": 110823, "length": 16, - "parent_index": 6613 + "parent_index": 6615 }, "member_location": { "line": 2994, @@ -556,10 +560,10 @@ "start": 110814, "end": 110823, "length": 10, - "parent_index": 6614 + "parent_index": 6616 }, "expression": { - "id": 6615, + "id": 6617, "node_type": 16, "src": { "line": 2994, @@ -567,23 +571,25 @@ "start": 110808, "end": 110812, "length": 5, - "parent_index": 6614 + "parent_index": 6616 }, "name": "vault", "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" }, "overloaded_declarations": [], - "referenced_declaration": 7864, - "is_pure": false + "referenced_declaration": 7867, + "is_pure": false, + "text": "vault" }, "member_name": "governance", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_BaseVault_$5126", + "type_identifier": "t_contract$_BaseVault_$5127", "type_string": "contract BaseVault" - } + }, + "text": "vault.governance" }, "type_description": { "type_identifier": "t_function_$", @@ -598,10 +604,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "governance=vault.governance();" }, { - "id": 6616, + "id": 6618, "node_type": 27, "src": { "line": 2995, @@ -609,10 +616,10 @@ "start": 110836, "end": 110856, "length": 21, - "parent_index": 6605 + "parent_index": 6607 }, "expression": { - "id": 6617, + "id": 6619, "node_type": 27, "src": { "line": 2995, @@ -620,11 +627,11 @@ "start": 110836, "end": 110855, "length": 20, - "parent_index": 6616 + "parent_index": 6618 }, "operator": 11, "left_expression": { - "id": 6618, + "id": 6620, "node_type": 16, "src": { "line": 2995, @@ -632,19 +639,20 @@ "start": 110836, "end": 110843, "length": 8, - "parent_index": 6617 + "parent_index": 6619 }, "name": "wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 6601, - "is_pure": false + "referenced_declaration": 6603, + "is_pure": false, + "text": "wormhole" }, "right_expression": { - "id": 6619, + "id": 6621, "node_type": 16, "src": { "line": 2995, @@ -652,28 +660,30 @@ "start": 110847, "end": 110855, "length": 9, - "parent_index": 6617 + "parent_index": 6619 }, "name": "_wormhole", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 6601, - "is_pure": false + "referenced_declaration": 6603, + "is_pure": false, + "text": "_wormhole" }, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } - } + }, + "text": "wormhole=_wormhole;" } ] } }, { - "id": 6621, + "id": 6623, "name": "wormhole", "is_constant": false, "is_state_variable": true, @@ -684,18 +694,18 @@ "start": 111114, "end": 111149, "length": 36, - "parent_index": 6588 + "parent_index": 6590 }, - "scope": 6588, + "scope": 6590, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "visibility": 3, "storage_location": 1, "mutability": 2, "type_name": { - "id": 6622, + "id": 6624, "node_type": 69, "src": { "line": 3002, @@ -703,10 +713,10 @@ "start": 111114, "end": 111122, "length": 9, - "parent_index": 6621 + "parent_index": 6623 }, "path_node": { - "id": 6623, + "id": 6625, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -716,7 +726,7 @@ "start": 111114, "end": 111122, "length": 9, - "parent_index": 6622 + "parent_index": 6624 }, "name_location": { "line": 3002, @@ -724,19 +734,19 @@ "start": 111114, "end": 111122, "length": 9, - "parent_index": 6622 + "parent_index": 6624 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, "initial_value": null }, { - "id": 6625, + "id": 6627, "name": "consistencyLevel", "is_constant": false, "is_state_variable": true, @@ -747,9 +757,9 @@ "start": 111591, "end": 111624, "length": 34, - "parent_index": 6588 + "parent_index": 6590 }, - "scope": 6588, + "scope": 6590, "type_description": { "type_identifier": "t_rational_4_by_1", "type_string": "int_const 4" @@ -758,7 +768,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 6626, + "id": 6628, "node_type": 30, "src": { "line": 3009, @@ -766,7 +776,7 @@ "start": 111591, "end": 111595, "length": 5, - "parent_index": 6625 + "parent_index": 6627 }, "name": "uint8", "referenced_declaration": 0, @@ -776,7 +786,7 @@ } }, "initial_value": { - "id": 6627, + "id": 6629, "node_type": 17, "kind": 49, "value": "4", @@ -787,7 +797,7 @@ "start": 111623, "end": 111623, "length": 1, - "parent_index": 6625 + "parent_index": 6627 }, "type_description": { "type_identifier": "t_rational_4_by_1", @@ -795,11 +805,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } }, { - "id": 6629, + "id": 6631, "name": "setConsistencyLevel", "node_type": 42, "kind": 41, @@ -809,7 +820,7 @@ "start": 111716, "end": 111846, "length": 131, - "parent_index": 6588 + "parent_index": 6590 }, "name_location": { "line": 3012, @@ -817,10 +828,10 @@ "start": 111725, "end": 111743, "length": 19, - "parent_index": 6629 + "parent_index": 6631 }, "body": { - "id": 6636, + "id": 6638, "node_type": 46, "kind": 0, "src": { @@ -829,12 +840,12 @@ "start": 111794, "end": 111846, "length": 53, - "parent_index": 6629 + "parent_index": 6631 }, "implemented": true, "statements": [ { - "id": 6637, + "id": 6639, "node_type": 27, "src": { "line": 3013, @@ -842,10 +853,10 @@ "start": 111804, "end": 111840, "length": 37, - "parent_index": 6636 + "parent_index": 6638 }, "expression": { - "id": 6638, + "id": 6640, "node_type": 27, "src": { "line": 3013, @@ -853,11 +864,11 @@ "start": 111804, "end": 111839, "length": 36, - "parent_index": 6637 + "parent_index": 6639 }, "operator": 11, "left_expression": { - "id": 6639, + "id": 6641, "node_type": 16, "src": { "line": 3013, @@ -865,7 +876,7 @@ "start": 111804, "end": 111819, "length": 16, - "parent_index": 6638 + "parent_index": 6640 }, "name": "consistencyLevel", "type_description": { @@ -873,11 +884,12 @@ "type_string": "int_const 4" }, "overloaded_declarations": [], - "referenced_declaration": 6625, - "is_pure": false + "referenced_declaration": 6627, + "is_pure": false, + "text": "consistencyLevel" }, "right_expression": { - "id": 6640, + "id": 6642, "node_type": 16, "src": { "line": 3013, @@ -885,7 +897,7 @@ "start": 111823, "end": 111839, "length": 17, - "parent_index": 6638 + "parent_index": 6640 }, "name": "_consistencyLevel", "type_description": { @@ -893,8 +905,9 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 6640, - "is_pure": false + "referenced_declaration": 6642, + "is_pure": false, + "text": "_consistencyLevel" }, "type_description": { "type_identifier": "t_rational_4_by_1", @@ -904,7 +917,8 @@ "type_description": { "type_identifier": "t_rational_4_by_1", "type_string": "int_const 4" - } + }, + "text": "consistencyLevel=_consistencyLevel;" } ] }, @@ -914,7 +928,7 @@ "virtual": false, "modifiers": [ { - "id": 6633, + "id": 6635, "name": "onlyGovernance", "node_type": 72, "kind": 72, @@ -924,12 +938,12 @@ "start": 111779, "end": 111792, "length": 14, - "parent_index": 6629 + "parent_index": 6631 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 6634, + "id": 6636, "name": "onlyGovernance", "node_type": 0, "src": { @@ -938,14 +952,14 @@ "start": 111779, "end": 111792, "length": 14, - "parent_index": 6633 + "parent_index": 6635 } } } ], "overrides": [], "parameters": { - "id": 6630, + "id": 6632, "node_type": 43, "src": { "line": 3012, @@ -953,11 +967,11 @@ "start": 111745, "end": 111767, "length": 23, - "parent_index": 6629 + "parent_index": 6631 }, "parameters": [ { - "id": 6631, + "id": 6633, "node_type": 44, "src": { "line": 3012, @@ -965,12 +979,12 @@ "start": 111745, "end": 111767, "length": 23, - "parent_index": 6630 + "parent_index": 6632 }, - "scope": 6629, + "scope": 6631, "name": "_consistencyLevel", "type_name": { - "id": 6632, + "id": 6634, "node_type": 30, "src": { "line": 3012, @@ -978,7 +992,7 @@ "start": 111745, "end": 111749, "length": 5, - "parent_index": 6631 + "parent_index": 6633 }, "name": "uint8", "referenced_declaration": 0, @@ -1004,7 +1018,7 @@ ] }, "return_parameters": { - "id": 6635, + "id": 6637, "node_type": 43, "src": { "line": 3012, @@ -1012,21 +1026,22 @@ "start": 111716, "end": 111846, "length": 131, - "parent_index": 6629 + "parent_index": 6631 }, "parameters": [], "parameter_types": [] }, "signature_raw": "setConsistencyLevel(uint8)", "signature": "538ee295", - "scope": 6588, + "scope": 6590, "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functionsetConsistencyLevel(uint8_consistencyLevel)externalonlyGovernance{consistencyLevel=_consistencyLevel;}" }, { - "id": 6642, + "id": 6644, "name": "otherLayerWormholeId", "node_type": 42, "kind": 41, @@ -1036,7 +1051,7 @@ "start": 112036, "end": 112106, "length": 71, - "parent_index": 6588 + "parent_index": 6590 }, "name_location": { "line": 3020, @@ -1044,10 +1059,10 @@ "start": 112045, "end": 112064, "length": 20, - "parent_index": 6642 + "parent_index": 6644 }, "body": { - "id": 6649, + "id": 6651, "node_type": 46, "kind": 0, "src": { @@ -1056,7 +1071,7 @@ "start": 112105, "end": 112106, "length": 2, - "parent_index": 6642 + "parent_index": 6644 }, "implemented": true, "statements": [] @@ -1068,7 +1083,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6643, + "id": 6645, "node_type": 43, "src": { "line": 3020, @@ -1076,11 +1091,11 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6642 + "parent_index": 6644 }, "parameters": [ { - "id": 6644, + "id": 6646, "node_type": 44, "src": { "line": 3020, @@ -1088,12 +1103,12 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6643 + "parent_index": 6645 }, - "scope": 6642, + "scope": 6644, "name": "", "type_name": { - "id": 6645, + "id": 6647, "node_type": 30, "src": { "line": 3020, @@ -1101,7 +1116,7 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6644 + "parent_index": 6646 }, "name": "uint16", "referenced_declaration": 0, @@ -1127,7 +1142,7 @@ ] }, "return_parameters": { - "id": 6646, + "id": 6648, "node_type": 43, "src": { "line": 3020, @@ -1135,11 +1150,11 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6642 + "parent_index": 6644 }, "parameters": [ { - "id": 6647, + "id": 6649, "node_type": 44, "src": { "line": 3020, @@ -1147,12 +1162,12 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6646 + "parent_index": 6648 }, - "scope": 6642, + "scope": 6644, "name": "", "type_name": { - "id": 6648, + "id": 6650, "node_type": 30, "src": { "line": 3020, @@ -1160,7 +1175,7 @@ "start": 112097, "end": 112102, "length": 6, - "parent_index": 6647 + "parent_index": 6649 }, "name": "uint16", "referenced_declaration": 0, @@ -1187,14 +1202,15 @@ }, "signature_raw": "otherLayerWormholeId(uint16)", "signature": "ea6e78ce", - "scope": 6588, + "scope": 6590, "type_description": { "type_identifier": "t_function_$_t_uint16$", "type_string": "function(uint16)" - } + }, + "text": "functionotherLayerWormholeId()publicviewvirtualreturns(uint16){}" }, { - "id": 6651, + "id": 6653, "name": "nextValidNonce", "is_constant": false, "is_state_variable": true, @@ -1205,9 +1221,9 @@ "start": 112113, "end": 112142, "length": 30, - "parent_index": 6588 + "parent_index": 6590 }, - "scope": 6588, + "scope": 6590, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" @@ -1216,7 +1232,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 6652, + "id": 6654, "node_type": 30, "src": { "line": 3022, @@ -1224,7 +1240,7 @@ "start": 112113, "end": 112119, "length": 7, - "parent_index": 6651 + "parent_index": 6653 }, "name": "uint256", "referenced_declaration": 0, @@ -1236,7 +1252,7 @@ "initial_value": null }, { - "id": 6654, + "id": 6656, "name": "_validateWormholeMessageEmitter", "node_type": 42, "kind": 41, @@ -1246,7 +1262,7 @@ "start": 112330, "end": 112677, "length": 348, - "parent_index": 6588 + "parent_index": 6590 }, "name_location": { "line": 3028, @@ -1254,10 +1270,10 @@ "start": 112339, "end": 112369, "length": 31, - "parent_index": 6654 + "parent_index": 6656 }, "body": { - "id": 6660, + "id": 6662, "node_type": 46, "kind": 0, "src": { @@ -1266,12 +1282,12 @@ "start": 112409, "end": 112677, "length": 269, - "parent_index": 6654 + "parent_index": 6656 }, "implemented": true, "statements": [ { - "id": 6661, + "id": 6663, "node_type": 24, "kind": 24, "src": { @@ -1280,7 +1296,7 @@ "start": 112419, "end": 112515, "length": 97, - "parent_index": 6660 + "parent_index": 6662 }, "argument_types": [ { @@ -1294,7 +1310,7 @@ ], "arguments": [ { - "id": 6663, + "id": 6665, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1304,11 +1320,11 @@ "start": 112427, "end": 112487, "length": 61, - "parent_index": 6661 + "parent_index": 6663 }, "operator": 11, "left_expression": { - "id": 6664, + "id": 6666, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1320,7 +1336,7 @@ "start": 112427, "end": 112443, "length": 17, - "parent_index": 6663 + "parent_index": 6665 }, "member_location": { "line": 3029, @@ -1328,10 +1344,10 @@ "start": 112430, "end": 112443, "length": 14, - "parent_index": 6664 + "parent_index": 6666 }, "expression": { - "id": 6665, + "id": 6667, "node_type": 16, "src": { "line": 3029, @@ -1339,27 +1355,29 @@ "start": 112427, "end": 112428, "length": 2, - "parent_index": 6664 + "parent_index": 6666 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "emitterAddress", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.emitterAddress" }, "right_expression": { - "id": 6666, + "id": 6668, "node_type": 24, "kind": 24, "src": { @@ -1368,7 +1386,7 @@ "start": 112448, "end": 112487, "length": 40, - "parent_index": 6663 + "parent_index": 6665 }, "argument_types": [ { @@ -1378,7 +1396,7 @@ ], "arguments": [ { - "id": 6669, + "id": 6671, "node_type": 24, "kind": 24, "src": { @@ -1387,7 +1405,7 @@ "start": 112456, "end": 112486, "length": 31, - "parent_index": 6666 + "parent_index": 6668 }, "argument_types": [ { @@ -1397,7 +1415,7 @@ ], "arguments": [ { - "id": 6672, + "id": 6674, "node_type": 24, "kind": 24, "src": { @@ -1406,7 +1424,7 @@ "start": 112464, "end": 112485, "length": 22, - "parent_index": 6669 + "parent_index": 6671 }, "argument_types": [ { @@ -1416,7 +1434,7 @@ ], "arguments": [ { - "id": 6675, + "id": 6677, "node_type": 24, "kind": 24, "src": { @@ -1425,17 +1443,17 @@ "start": 112472, "end": 112484, "length": 13, - "parent_index": 6672 + "parent_index": 6674 }, "argument_types": [ { - "type_identifier": "t_contract$_WormholeRouter_$6513", + "type_identifier": "t_contract$_WormholeRouter_$6515", "type_string": "contract WormholeRouter" } ], "arguments": [ { - "id": 6678, + "id": 6680, "node_type": 16, "src": { "line": 3029, @@ -1443,20 +1461,21 @@ "start": 112480, "end": 112483, "length": 4, - "parent_index": 6675 + "parent_index": 6677 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_WormholeRouter_$6513", + "type_identifier": "t_contract$_WormholeRouter_$6515", "type_string": "contract WormholeRouter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 6676, + "id": 6678, "node_type": 16, "src": { "line": 3029, @@ -1464,11 +1483,11 @@ "start": 112472, "end": 112478, "length": 7, - "parent_index": 6675 + "parent_index": 6677 }, "name": "address", "type_name": { - "id": 6677, + "id": 6679, "node_type": 30, "src": { "line": 3029, @@ -1476,7 +1495,7 @@ "start": 112472, "end": 112478, "length": 7, - "parent_index": 6676 + "parent_index": 6678 }, "name": "address", "state_mutability": 4, @@ -1498,7 +1517,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1507,7 +1527,7 @@ } ], "expression": { - "id": 6673, + "id": 6675, "node_type": 16, "src": { "line": 3029, @@ -1515,11 +1535,11 @@ "start": 112464, "end": 112470, "length": 7, - "parent_index": 6672 + "parent_index": 6674 }, "name": "uint160", "type_name": { - "id": 6674, + "id": 6676, "node_type": 30, "src": { "line": 3029, @@ -1527,7 +1547,7 @@ "start": 112464, "end": 112470, "length": 7, - "parent_index": 6673 + "parent_index": 6675 }, "name": "uint160", "referenced_declaration": 0, @@ -1548,7 +1568,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -1557,7 +1578,7 @@ } ], "expression": { - "id": 6670, + "id": 6672, "node_type": 16, "src": { "line": 3029, @@ -1565,11 +1586,11 @@ "start": 112456, "end": 112462, "length": 7, - "parent_index": 6669 + "parent_index": 6671 }, "name": "uint256", "type_name": { - "id": 6671, + "id": 6673, "node_type": 30, "src": { "line": 3029, @@ -1577,7 +1598,7 @@ "start": 112456, "end": 112462, "length": 7, - "parent_index": 6670 + "parent_index": 6672 }, "name": "uint256", "referenced_declaration": 0, @@ -1598,7 +1619,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -1607,7 +1629,7 @@ } ], "expression": { - "id": 6667, + "id": 6669, "node_type": 16, "src": { "line": 3029, @@ -1615,11 +1637,11 @@ "start": 112448, "end": 112454, "length": 7, - "parent_index": 6666 + "parent_index": 6668 }, "name": "bytes32", "type_name": { - "id": 6668, + "id": 6670, "node_type": 30, "src": { "line": 3029, @@ -1627,7 +1649,7 @@ "start": 112448, "end": 112454, "length": 7, - "parent_index": 6667 + "parent_index": 6669 }, "name": "bytes32", "referenced_declaration": 0, @@ -1648,7 +1670,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_address$", @@ -1661,7 +1684,7 @@ } }, { - "id": 6679, + "id": 6681, "node_type": 17, "kind": 50, "value": "WR: bad emitter address", @@ -1672,7 +1695,7 @@ "start": 112490, "end": 112514, "length": 25, - "parent_index": 6661 + "parent_index": 6663 }, "type_description": { "type_identifier": "t_string_literal", @@ -1686,11 +1709,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: bad emitter address\"" } ], "expression": { - "id": 6662, + "id": 6664, "node_type": 16, "src": { "line": 3029, @@ -1698,7 +1722,7 @@ "start": 112419, "end": 112425, "length": 7, - "parent_index": 6661 + "parent_index": 6663 }, "name": "require", "type_description": { @@ -1707,7 +1731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1715,7 +1740,7 @@ } }, { - "id": 6680, + "id": 6682, "node_type": 24, "kind": 24, "src": { @@ -1724,7 +1749,7 @@ "start": 112526, "end": 112602, "length": 77, - "parent_index": 6660 + "parent_index": 6662 }, "argument_types": [ { @@ -1738,7 +1763,7 @@ ], "arguments": [ { - "id": 6682, + "id": 6684, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1748,11 +1773,11 @@ "start": 112534, "end": 112576, "length": 43, - "parent_index": 6680 + "parent_index": 6682 }, "operator": 11, "left_expression": { - "id": 6683, + "id": 6685, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1764,7 +1789,7 @@ "start": 112534, "end": 112550, "length": 17, - "parent_index": 6682 + "parent_index": 6684 }, "member_location": { "line": 3030, @@ -1772,10 +1797,10 @@ "start": 112537, "end": 112550, "length": 14, - "parent_index": 6683 + "parent_index": 6685 }, "expression": { - "id": 6684, + "id": 6686, "node_type": 16, "src": { "line": 3030, @@ -1783,27 +1808,29 @@ "start": 112534, "end": 112535, "length": 2, - "parent_index": 6683 + "parent_index": 6685 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "emitterChainId", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.emitterChainId" }, "right_expression": { - "id": 6685, + "id": 6687, "node_type": 24, "kind": 24, "src": { @@ -1812,12 +1839,12 @@ "start": 112555, "end": 112576, "length": 22, - "parent_index": 6682 + "parent_index": 6684 }, "argument_types": [], "arguments": [], "expression": { - "id": 6686, + "id": 6688, "node_type": 16, "src": { "line": 3030, @@ -1825,7 +1852,7 @@ "start": 112555, "end": 112574, "length": 20, - "parent_index": 6685 + "parent_index": 6687 }, "name": "otherLayerWormholeId", "type_description": { @@ -1834,7 +1861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "otherLayerWormholeId" }, "type_description": { "type_identifier": "t_function_$", @@ -1847,7 +1875,7 @@ } }, { - "id": 6687, + "id": 6689, "node_type": 17, "kind": 50, "value": "WR: bad emitter chain", @@ -1858,7 +1886,7 @@ "start": 112579, "end": 112601, "length": 23, - "parent_index": 6680 + "parent_index": 6682 }, "type_description": { "type_identifier": "t_string_literal", @@ -1872,11 +1900,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: bad emitter chain\"" } ], "expression": { - "id": 6681, + "id": 6683, "node_type": 16, "src": { "line": 3030, @@ -1884,7 +1913,7 @@ "start": 112526, "end": 112532, "length": 7, - "parent_index": 6680 + "parent_index": 6682 }, "name": "require", "type_description": { @@ -1893,7 +1922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1901,7 +1931,7 @@ } }, { - "id": 6688, + "id": 6690, "node_type": 24, "kind": 24, "src": { @@ -1910,7 +1940,7 @@ "start": 112613, "end": 112670, "length": 58, - "parent_index": 6660 + "parent_index": 6662 }, "argument_types": [ { @@ -1924,7 +1954,7 @@ ], "arguments": [ { - "id": 6690, + "id": 6692, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1934,11 +1964,11 @@ "start": 112621, "end": 112646, "length": 26, - "parent_index": 6688 + "parent_index": 6690 }, "operator": 8, "left_expression": { - "id": 6691, + "id": 6693, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1950,7 +1980,7 @@ "start": 112621, "end": 112628, "length": 8, - "parent_index": 6690 + "parent_index": 6692 }, "member_location": { "line": 3031, @@ -1958,10 +1988,10 @@ "start": 112624, "end": 112628, "length": 5, - "parent_index": 6691 + "parent_index": 6693 }, "expression": { - "id": 6692, + "id": 6694, "node_type": 16, "src": { "line": 3031, @@ -1969,27 +1999,29 @@ "start": 112621, "end": 112622, "length": 2, - "parent_index": 6691 + "parent_index": 6693 }, "name": "vm", "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" }, "overloaded_declarations": [], - "referenced_declaration": 8099, - "is_pure": false + "referenced_declaration": 8103, + "is_pure": false, + "text": "vm" }, "member_name": "nonce", "argument_types": [], - "referenced_declaration": 8130, + "referenced_declaration": 8134, "type_description": { - "type_identifier": "t_struct$_Global_VM_$8130", + "type_identifier": "t_struct$_Global_VM_$8134", "type_string": "struct Global.VM" - } + }, + "text": "vm.nonce" }, "right_expression": { - "id": 6693, + "id": 6695, "node_type": 16, "src": { "line": 3031, @@ -1997,7 +2029,7 @@ "start": 112633, "end": 112646, "length": 14, - "parent_index": 6690 + "parent_index": 6692 }, "name": "nextValidNonce", "type_description": { @@ -2005,8 +2037,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 6651, - "is_pure": false + "referenced_declaration": 6653, + "is_pure": false, + "text": "nextValidNonce" }, "type_description": { "type_identifier": "t_bool", @@ -2014,7 +2047,7 @@ } }, { - "id": 6694, + "id": 6696, "node_type": 17, "kind": 50, "value": "WR: old transaction", @@ -2025,7 +2058,7 @@ "start": 112649, "end": 112669, "length": 21, - "parent_index": 6688 + "parent_index": 6690 }, "type_description": { "type_identifier": "t_string_literal", @@ -2039,11 +2072,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"WR: old transaction\"" } ], "expression": { - "id": 6689, + "id": 6691, "node_type": 16, "src": { "line": 3031, @@ -2051,7 +2085,7 @@ "start": 112613, "end": 112619, "length": 7, - "parent_index": 6688 + "parent_index": 6690 }, "name": "require", "type_description": { @@ -2060,7 +2094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2076,7 +2111,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 6655, + "id": 6657, "node_type": 43, "src": { "line": 3028, @@ -2084,11 +2119,11 @@ "start": 112371, "end": 112392, "length": 22, - "parent_index": 6654 + "parent_index": 6656 }, "parameters": [ { - "id": 6656, + "id": 6658, "node_type": 44, "src": { "line": 3028, @@ -2096,12 +2131,12 @@ "start": 112371, "end": 112392, "length": 22, - "parent_index": 6655 + "parent_index": 6657 }, - "scope": 6654, + "scope": 6656, "name": "vm", "type_name": { - "id": 6657, + "id": 6659, "node_type": 69, "src": { "line": 3028, @@ -2109,10 +2144,10 @@ "start": 112371, "end": 112382, "length": 12, - "parent_index": 6656 + "parent_index": 6658 }, "path_node": { - "id": 6658, + "id": 6660, "name": "IWormhole", "node_type": 52, "referenced_declaration": 0, @@ -2122,7 +2157,7 @@ "start": 112371, "end": 112382, "length": 12, - "parent_index": 6657 + "parent_index": 6659 }, "name_location": { "line": 3028, @@ -2130,12 +2165,12 @@ "start": 112371, "end": 112379, "length": 9, - "parent_index": 6657 + "parent_index": 6659 } }, - "referenced_declaration": 7308, + "referenced_declaration": 7310, "type_description": { - "type_identifier": "t_contract$_IWormhole_$7308", + "type_identifier": "t_contract$_IWormhole_$7310", "type_string": "contract IWormhole" } }, @@ -2149,7 +2184,7 @@ ] }, "return_parameters": { - "id": 6659, + "id": 6661, "node_type": 43, "src": { "line": 3028, @@ -2157,30 +2192,31 @@ "start": 112330, "end": 112677, "length": 348, - "parent_index": 6654 + "parent_index": 6656 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_validateWormholeMessageEmitter()", "signature": "889a61b5", - "scope": 6588, + "scope": 6590, "type_description": { - "type_identifier": "t_function_$_t_unknown_6654$", - "type_string": "function(unknown_6654)" - } + "type_identifier": "t_function_$_t_unknown_6656$", + "type_string": "function(unknown_6656)" + }, + "text": "function_validateWormholeMessageEmitter(IWormhole.VMmemoryvm)internalview{require(vm.emitterAddress==bytes32(uint256(uint160(address(this)))),\"WR: bad emitter address\");require(vm.emitterChainId==otherLayerWormholeId(),\"WR: bad emitter chain\");require(vm.nonce\u003e=nextValidNonce,\"WR: old transaction\");}" } ], "linearized_base_contracts": [ - 4831, + 4832, + 6590, + 6587, 6588, - 6585, - 6586, - 6587 + 6589 ], "base_contracts": [ { - "id": 6589, + "id": 6591, "node_type": 62, "src": { "line": 2988, @@ -2188,10 +2224,10 @@ "start": 110592, "end": 110607, "length": 16, - "parent_index": 6588 + "parent_index": 6590 }, "base_name": { - "id": 6590, + "id": 6592, "node_type": 52, "src": { "line": 2988, @@ -2199,18 +2235,18 @@ "start": 110592, "end": 110607, "length": 16, - "parent_index": 6588 + "parent_index": 6590 }, "name": "AffineGovernable", - "referenced_declaration": 4831 + "referenced_declaration": 4832 } } ], "contract_dependencies": [ - 4831, - 6585, - 6586, - 6587 + 4832, + 6587, + 6588, + 6589 ] } ], diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Address.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Address.solgo.ast.json index c616a005..40370c54 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Address.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Address.solgo.ast.json @@ -186,21 +186,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 119, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 120, @@ -222,7 +225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -363,7 +367,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 122, @@ -497,7 +502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -543,7 +549,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -555,7 +562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 138, @@ -575,7 +583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 138, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -608,7 +617,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -629,7 +639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -733,7 +744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -789,14 +801,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -850,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 140, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 151, @@ -878,7 +893,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -899,7 +915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1031,13 +1048,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 153, @@ -1135,7 +1153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 167, @@ -1161,7 +1180,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 168, @@ -1193,7 +1213,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 169, @@ -1229,7 +1250,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1250,7 +1272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string_literal$", @@ -1428,13 +1451,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,\"Address: low-level call failed\");}" }, { "id": 171, @@ -1532,7 +1556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 186, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 187, @@ -1558,7 +1583,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 188, @@ -1590,7 +1616,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 189, @@ -1624,7 +1651,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1645,7 +1673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1866,13 +1895,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 191, @@ -1970,7 +2000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 207, @@ -1996,7 +2027,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 208, @@ -2026,7 +2058,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 209, @@ -2062,7 +2095,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2083,7 +2117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2304,13 +2339,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 211, @@ -2444,7 +2480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2490,7 +2527,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2502,7 +2540,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 233, @@ -2522,7 +2561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 233, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2555,7 +2595,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2576,7 +2617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2725,7 +2767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 244, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -2781,14 +2824,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 243, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -2862,7 +2907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 248, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 249, @@ -2888,7 +2934,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 250, @@ -2918,7 +2965,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 251, @@ -2952,7 +3000,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -2973,7 +3022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -3237,13 +3287,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 253, @@ -3337,7 +3388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 266, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 267, @@ -3363,7 +3415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 268, @@ -3395,7 +3448,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3416,7 +3470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3594,13 +3649,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 270, @@ -3779,7 +3835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 290, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -3823,14 +3880,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 289, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3899,7 +3958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 295, @@ -3925,7 +3985,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 296, @@ -3955,7 +4016,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 297, @@ -3989,7 +4051,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4010,7 +4073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -4231,13 +4295,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 299, @@ -4331,7 +4396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 312, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 313, @@ -4357,7 +4423,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 314, @@ -4389,7 +4456,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -4410,7 +4478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -4588,13 +4657,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 316, @@ -4773,7 +4843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 336, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4817,14 +4888,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 335, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4893,7 +4966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 340, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 341, @@ -4919,7 +4993,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 342, @@ -4949,7 +5024,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 343, @@ -4983,7 +5059,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5004,7 +5081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -5225,13 +5303,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 345, @@ -5297,7 +5376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 360, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 361, @@ -5379,14 +5459,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 365, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 366, @@ -5408,7 +5490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5489,7 +5572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 372, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -5510,7 +5594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5543,7 +5628,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -5564,7 +5650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5604,7 +5691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 375, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -5866,13 +5954,14 @@ } ] }, - "signature_raw": "verifyCallResultFromTarget(address, bool, bytes, string)", - "signature": "ac377f6d", + "signature_raw": "verifyCallResultFromTarget(address,bool,bytes,string)", + "signature": "1daa78c1", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", "type_string": "function(address,bool,bytes,string)" - } + }, + "text": "functionverifyCallResultFromTarget(addresstarget,boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){if(success){if(returndata.length==0){require(isContract(target),\"Address: call to non-contract\");}returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 377, @@ -5938,7 +6027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 390, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 391, @@ -5984,7 +6074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 393, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -6202,13 +6293,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 395, @@ -6311,14 +6403,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 407, @@ -6340,7 +6434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6894,13 +6989,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_revert(bytes, string)", - "signature": "26a4ef1a", + "signature_raw": "_revert(bytes,string)", + "signature": "6cadf5e1", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string$", "type_string": "function(bytes,string)" - } + }, + "text": "function_revert(bytesmemoryreturndata,stringmemoryerrorMessage)privatepure{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Context.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Context.solgo.ast.json index 229973b9..e3e5e739 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Context.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 848, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/IERC20.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/IERC20.solgo.ast.json index 7aa48bc4..503756e6 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/IERC20.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/IERC20.solgo.ast.json @@ -561,7 +561,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 499, @@ -730,7 +731,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 508, @@ -936,13 +938,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 470, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 519, @@ -1149,13 +1152,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 470, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 530, @@ -1361,13 +1365,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 470, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 541, @@ -1617,13 +1622,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 470, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/IERC20Permit.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/IERC20Permit.solgo.ast.json index f93a6988..509a4882 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/IERC20Permit.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/IERC20Permit.solgo.ast.json @@ -436,13 +436,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", "scope": 428, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 449, @@ -611,7 +612,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint256);" }, { "id": 458, @@ -779,7 +781,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Ownable.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Ownable.solgo.ast.json index c2c55bcc..ea36b554 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Ownable.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Ownable.solgo.ast.json @@ -370,7 +370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -396,7 +397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -488,7 +490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -513,7 +516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -583,7 +587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 870, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -720,7 +725,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 907, @@ -826,7 +832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -865,7 +872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -903,7 +911,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -924,7 +933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -973,7 +983,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 920, @@ -1068,7 +1079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1114,7 +1126,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1140,7 +1153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1219,7 +1233,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 933, @@ -1311,7 +1326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 944, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 945, @@ -1352,7 +1368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1398,7 +1415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1436,7 +1454,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1457,7 +1476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1501,7 +1521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 952, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1522,7 +1543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1647,7 +1669,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 954, @@ -1763,7 +1786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 870, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -1807,7 +1831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 870, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 967, @@ -1827,7 +1852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 967, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1837,7 +1863,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 968, @@ -1869,7 +1896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 960, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 970, @@ -1889,7 +1917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 970, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1910,7 +1939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 873, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -2001,7 +2031,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Pausable.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Pausable.solgo.ast.json index c86548d3..1193614f 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Pausable.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Pausable.solgo.ast.json @@ -391,7 +391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 1004, @@ -413,7 +414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -423,7 +425,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] } @@ -510,7 +513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireNotPaused" }, "type_description": { "type_identifier": "t_function_$", @@ -535,7 +539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -622,7 +627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requirePaused" }, "type_description": { "type_identifier": "t_function_$", @@ -647,7 +653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -717,7 +724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_paused" } } ] @@ -852,7 +860,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { "id": 1031, @@ -962,7 +971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -1000,7 +1010,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { @@ -1021,7 +1032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -1070,7 +1082,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requireNotPaused()internalviewvirtual{require(!paused(),\"Pausable: paused\");}" }, { "id": 1042, @@ -1162,7 +1175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -1195,7 +1209,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { @@ -1216,7 +1231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -1265,7 +1281,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requirePaused()internalviewvirtual{require(paused(),\"Pausable: not paused\");}" }, { "id": 1052, @@ -1343,7 +1360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 1061, @@ -1365,7 +1383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -1375,7 +1394,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { "id": 1062, @@ -1421,7 +1441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1447,7 +1468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 984, - "is_pure": false + "is_pure": false, + "text": "Paused" } } ] @@ -1522,7 +1544,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { "id": 1067, @@ -1600,7 +1623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 1076, @@ -1622,7 +1646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -1632,7 +1657,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { "id": 1077, @@ -1678,7 +1704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1704,7 +1731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 989, - "is_pure": false + "is_pure": false, + "text": "Unpaused" } } ] @@ -1779,7 +1807,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.solgo.ast.json index 996b370d..d633feb5 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.solgo.ast.json @@ -1,10 +1,10 @@ { "id": 102, "node_type": 80, - "entry_source_unit": 1181, + "entry_source_unit": 1182, "globals": [ { - "id": 1418, + "id": 1419, "name": "success", "is_constant": true, "is_state_variable": true, @@ -25,7 +25,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1419, + "id": 1420, "node_type": 30, "src": { "line": 69, @@ -33,7 +33,7 @@ "start": 2666, "end": 2669, "length": 4, - "parent_index": 1418 + "parent_index": 1419 }, "name": "bool", "referenced_declaration": 0, @@ -45,7 +45,7 @@ "initial_value": null }, { - "id": 1420, + "id": 1421, "name": "success", "is_constant": true, "is_state_variable": true, @@ -66,7 +66,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1421, + "id": 1422, "node_type": 30, "src": { "line": 141, @@ -74,7 +74,7 @@ "start": 5329, "end": 5332, "length": 4, - "parent_index": 1420 + "parent_index": 1421 }, "name": "bool", "referenced_declaration": 0, @@ -86,7 +86,7 @@ "initial_value": null }, { - "id": 1422, + "id": 1423, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -107,7 +107,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1423, + "id": 1424, "node_type": 30, "src": { "line": 141, @@ -115,7 +115,7 @@ "start": 5343, "end": 5347, "length": 5, - "parent_index": 1422 + "parent_index": 1423 }, "name": "bytes", "referenced_declaration": 0, @@ -127,7 +127,7 @@ "initial_value": null }, { - "id": 1424, + "id": 1425, "name": "success", "is_constant": true, "is_state_variable": true, @@ -148,7 +148,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1425, + "id": 1426, "node_type": 30, "src": { "line": 166, @@ -156,7 +156,7 @@ "start": 6221, "end": 6224, "length": 4, - "parent_index": 1424 + "parent_index": 1425 }, "name": "bool", "referenced_declaration": 0, @@ -168,7 +168,7 @@ "initial_value": null }, { - "id": 1426, + "id": 1427, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -189,7 +189,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1427, + "id": 1428, "node_type": 30, "src": { "line": 166, @@ -197,7 +197,7 @@ "start": 6235, "end": 6239, "length": 5, - "parent_index": 1426 + "parent_index": 1427 }, "name": "bytes", "referenced_declaration": 0, @@ -209,7 +209,7 @@ "initial_value": null }, { - "id": 1428, + "id": 1429, "name": "success", "is_constant": true, "is_state_variable": true, @@ -230,7 +230,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1429, + "id": 1430, "node_type": 30, "src": { "line": 191, @@ -238,7 +238,7 @@ "start": 7107, "end": 7110, "length": 4, - "parent_index": 1428 + "parent_index": 1429 }, "name": "bool", "referenced_declaration": 0, @@ -250,7 +250,7 @@ "initial_value": null }, { - "id": 1430, + "id": 1431, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -271,7 +271,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1431, + "id": 1432, "node_type": 30, "src": { "line": 191, @@ -279,7 +279,7 @@ "start": 7121, "end": 7125, "length": 5, - "parent_index": 1430 + "parent_index": 1431 }, "name": "bytes", "referenced_declaration": 0, @@ -291,7 +291,7 @@ "initial_value": null }, { - "id": 1432, + "id": 1433, "node_type": 57, "src": { "line": 332, @@ -301,7 +301,7 @@ "length": 72 }, "parameters": { - "id": 1433, + "id": 1434, "node_type": 43, "src": { "line": 332, @@ -309,11 +309,11 @@ "start": 11964, "end": 12035, "length": 72, - "parent_index": 1432 + "parent_index": 1433 }, "parameters": [ { - "id": 1434, + "id": 1435, "node_type": 44, "src": { "line": 332, @@ -321,12 +321,12 @@ "start": 11979, "end": 11998, "length": 20, - "parent_index": 1433 + "parent_index": 1434 }, - "scope": 1432, + "scope": 1433, "name": "from", "type_name": { - "id": 1435, + "id": 1436, "node_type": 30, "src": { "line": 332, @@ -334,7 +334,7 @@ "start": 11979, "end": 11985, "length": 7, - "parent_index": 1434 + "parent_index": 1435 }, "name": "address", "state_mutability": 4, @@ -354,7 +354,7 @@ "indexed": true }, { - "id": 1436, + "id": 1437, "node_type": 44, "src": { "line": 332, @@ -362,12 +362,12 @@ "start": 12001, "end": 12018, "length": 18, - "parent_index": 1433 + "parent_index": 1434 }, - "scope": 1432, + "scope": 1433, "name": "to", "type_name": { - "id": 1437, + "id": 1438, "node_type": 30, "src": { "line": 332, @@ -375,7 +375,7 @@ "start": 12001, "end": 12007, "length": 7, - "parent_index": 1436 + "parent_index": 1437 }, "name": "address", "state_mutability": 4, @@ -395,7 +395,7 @@ "indexed": true }, { - "id": 1438, + "id": 1439, "node_type": 44, "src": { "line": 332, @@ -403,12 +403,12 @@ "start": 12021, "end": 12033, "length": 13, - "parent_index": 1433 + "parent_index": 1434 }, - "scope": 1432, + "scope": 1433, "name": "value", "type_name": { - "id": 1439, + "id": 1440, "node_type": 30, "src": { "line": 332, @@ -416,7 +416,7 @@ "start": 12021, "end": 12027, "length": 7, - "parent_index": 1438 + "parent_index": 1439 }, "name": "uint256", "referenced_declaration": 0, @@ -452,12 +452,12 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Transfer_\u00261432", + "type_identifier": "t_event\u0026_Global_Transfer_\u00261433", "type_string": "event Global.Transfer" } }, { - "id": 1440, + "id": 1441, "node_type": 57, "src": { "line": 338, @@ -467,7 +467,7 @@ "length": 78 }, "parameters": { - "id": 1441, + "id": 1442, "node_type": 43, "src": { "line": 338, @@ -475,11 +475,11 @@ "start": 12195, "end": 12272, "length": 78, - "parent_index": 1440 + "parent_index": 1441 }, "parameters": [ { - "id": 1442, + "id": 1443, "node_type": 44, "src": { "line": 338, @@ -487,12 +487,12 @@ "start": 12210, "end": 12230, "length": 21, - "parent_index": 1441 + "parent_index": 1442 }, - "scope": 1440, + "scope": 1441, "name": "owner", "type_name": { - "id": 1443, + "id": 1444, "node_type": 30, "src": { "line": 338, @@ -500,7 +500,7 @@ "start": 12210, "end": 12216, "length": 7, - "parent_index": 1442 + "parent_index": 1443 }, "name": "address", "state_mutability": 4, @@ -520,7 +520,7 @@ "indexed": true }, { - "id": 1444, + "id": 1445, "node_type": 44, "src": { "line": 338, @@ -528,12 +528,12 @@ "start": 12233, "end": 12255, "length": 23, - "parent_index": 1441 + "parent_index": 1442 }, - "scope": 1440, + "scope": 1441, "name": "spender", "type_name": { - "id": 1445, + "id": 1446, "node_type": 30, "src": { "line": 338, @@ -541,7 +541,7 @@ "start": 12233, "end": 12239, "length": 7, - "parent_index": 1444 + "parent_index": 1445 }, "name": "address", "state_mutability": 4, @@ -561,7 +561,7 @@ "indexed": true }, { - "id": 1446, + "id": 1447, "node_type": 44, "src": { "line": 338, @@ -569,12 +569,12 @@ "start": 12258, "end": 12270, "length": 13, - "parent_index": 1441 + "parent_index": 1442 }, - "scope": 1440, + "scope": 1441, "name": "value", "type_name": { - "id": 1447, + "id": 1448, "node_type": 30, "src": { "line": 338, @@ -582,7 +582,7 @@ "start": 12258, "end": 12264, "length": 7, - "parent_index": 1446 + "parent_index": 1447 }, "name": "uint256", "referenced_declaration": 0, @@ -618,12 +618,12 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Approval_\u00261440", + "type_identifier": "t_event\u0026_Global_Approval_\u00261441", "type_string": "event Global.Approval" } }, { - "id": 1448, + "id": 1449, "name": "newAllowance", "is_constant": true, "is_state_variable": true, @@ -644,7 +644,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1449, + "id": 1450, "node_type": 30, "src": { "line": 466, @@ -652,7 +652,7 @@ "start": 16483, "end": 16489, "length": 7, - "parent_index": 1448 + "parent_index": 1449 }, "name": "uint256", "referenced_declaration": 0, @@ -664,7 +664,7 @@ "initial_value": null }, { - "id": 1450, + "id": 1451, "name": "oldAllowance", "is_constant": true, "is_state_variable": true, @@ -685,7 +685,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1451, + "id": 1452, "node_type": 30, "src": { "line": 476, @@ -693,7 +693,7 @@ "start": 16823, "end": 16829, "length": 7, - "parent_index": 1450 + "parent_index": 1451 }, "name": "uint256", "referenced_declaration": 0, @@ -705,7 +705,7 @@ "initial_value": null }, { - "id": 1452, + "id": 1453, "name": "newAllowance", "is_constant": true, "is_state_variable": true, @@ -726,7 +726,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1453, + "id": 1454, "node_type": 30, "src": { "line": 478, @@ -734,7 +734,7 @@ "start": 16988, "end": 16994, "length": 7, - "parent_index": 1452 + "parent_index": 1453 }, "name": "uint256", "referenced_declaration": 0, @@ -746,7 +746,7 @@ "initial_value": null }, { - "id": 1454, + "id": 1455, "name": "nonceBefore", "is_constant": true, "is_state_variable": true, @@ -767,7 +767,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1455, + "id": 1456, "node_type": 30, "src": { "line": 493, @@ -775,7 +775,7 @@ "start": 17390, "end": 17396, "length": 7, - "parent_index": 1454 + "parent_index": 1455 }, "name": "uint256", "referenced_declaration": 0, @@ -787,7 +787,7 @@ "initial_value": null }, { - "id": 1456, + "id": 1457, "name": "nonceAfter", "is_constant": true, "is_state_variable": true, @@ -808,7 +808,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1457, + "id": 1458, "node_type": 30, "src": { "line": 495, @@ -816,7 +816,7 @@ "start": 17505, "end": 17511, "length": 7, - "parent_index": 1456 + "parent_index": 1457 }, "name": "uint256", "referenced_declaration": 0, @@ -828,7 +828,7 @@ "initial_value": null }, { - "id": 1458, + "id": 1459, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -849,7 +849,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1459, + "id": 1460, "node_type": 30, "src": { "line": 510, @@ -857,7 +857,7 @@ "start": 18439, "end": 18443, "length": 5, - "parent_index": 1458 + "parent_index": 1459 }, "name": "bytes", "referenced_declaration": 0, @@ -869,7 +869,7 @@ "initial_value": null }, { - "id": 1460, + "id": 1461, "name": "_owner", "is_constant": false, "is_state_variable": true, @@ -890,7 +890,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1461, + "id": 1462, "node_type": 30, "src": { "line": 566, @@ -898,7 +898,7 @@ "start": 20284, "end": 20290, "length": 7, - "parent_index": 1460 + "parent_index": 1461 }, "name": "address", "state_mutability": 4, @@ -911,7 +911,7 @@ "initial_value": null }, { - "id": 1462, + "id": 1463, "node_type": 57, "src": { "line": 568, @@ -921,7 +921,7 @@ "length": 84 }, "parameters": { - "id": 1463, + "id": 1464, "node_type": 43, "src": { "line": 568, @@ -929,11 +929,11 @@ "start": 20313, "end": 20396, "length": 84, - "parent_index": 1462 + "parent_index": 1463 }, "parameters": [ { - "id": 1464, + "id": 1465, "node_type": 44, "src": { "line": 568, @@ -941,12 +941,12 @@ "start": 20340, "end": 20368, "length": 29, - "parent_index": 1463 + "parent_index": 1464 }, - "scope": 1462, + "scope": 1463, "name": "previousOwner", "type_name": { - "id": 1465, + "id": 1466, "node_type": 30, "src": { "line": 568, @@ -954,7 +954,7 @@ "start": 20340, "end": 20346, "length": 7, - "parent_index": 1464 + "parent_index": 1465 }, "name": "address", "state_mutability": 4, @@ -974,7 +974,7 @@ "indexed": true }, { - "id": 1466, + "id": 1467, "node_type": 44, "src": { "line": 568, @@ -982,12 +982,12 @@ "start": 20371, "end": 20394, "length": 24, - "parent_index": 1463 + "parent_index": 1464 }, - "scope": 1462, + "scope": 1463, "name": "newOwner", "type_name": { - "id": 1467, + "id": 1468, "node_type": 30, "src": { "line": 568, @@ -995,7 +995,7 @@ "start": 20371, "end": 20377, "length": 7, - "parent_index": 1466 + "parent_index": 1467 }, "name": "address", "state_mutability": 4, @@ -1029,12 +1029,12 @@ "name": "OwnershipTransferred", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_OwnershipTransferred_\u00261462", + "type_identifier": "t_event\u0026_Global_OwnershipTransferred_\u00261463", "type_string": "event Global.OwnershipTransferred" } }, { - "id": 1468, + "id": 1469, "name": "oldOwner", "is_constant": true, "is_state_variable": true, @@ -1055,7 +1055,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1469, + "id": 1470, "node_type": 30, "src": { "line": 624, @@ -1063,7 +1063,7 @@ "start": 22093, "end": 22099, "length": 7, - "parent_index": 1468 + "parent_index": 1469 }, "name": "address", "state_mutability": 4, @@ -1076,7 +1076,7 @@ "initial_value": null }, { - "id": 1470, + "id": 1471, "node_type": 57, "src": { "line": 651, @@ -1086,7 +1086,7 @@ "length": 30 }, "parameters": { - "id": 1471, + "id": 1472, "node_type": 43, "src": { "line": 651, @@ -1094,11 +1094,11 @@ "start": 22929, "end": 22958, "length": 30, - "parent_index": 1470 + "parent_index": 1471 }, "parameters": [ { - "id": 1472, + "id": 1473, "node_type": 44, "src": { "line": 651, @@ -1106,12 +1106,12 @@ "start": 22942, "end": 22956, "length": 15, - "parent_index": 1471 + "parent_index": 1472 }, - "scope": 1470, + "scope": 1471, "name": "account", "type_name": { - "id": 1473, + "id": 1474, "node_type": 30, "src": { "line": 651, @@ -1119,7 +1119,7 @@ "start": 22942, "end": 22948, "length": 7, - "parent_index": 1472 + "parent_index": 1473 }, "name": "address", "state_mutability": 4, @@ -1148,12 +1148,12 @@ "name": "Paused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Paused_\u00261470", + "type_identifier": "t_event\u0026_Global_Paused_\u00261471", "type_string": "event Global.Paused" } }, { - "id": 1474, + "id": 1475, "node_type": 57, "src": { "line": 656, @@ -1163,7 +1163,7 @@ "length": 32 }, "parameters": { - "id": 1475, + "id": 1476, "node_type": 43, "src": { "line": 656, @@ -1171,11 +1171,11 @@ "start": 23040, "end": 23071, "length": 32, - "parent_index": 1474 + "parent_index": 1475 }, "parameters": [ { - "id": 1476, + "id": 1477, "node_type": 44, "src": { "line": 656, @@ -1183,12 +1183,12 @@ "start": 23055, "end": 23069, "length": 15, - "parent_index": 1475 + "parent_index": 1476 }, - "scope": 1474, + "scope": 1475, "name": "account", "type_name": { - "id": 1477, + "id": 1478, "node_type": 30, "src": { "line": 656, @@ -1196,7 +1196,7 @@ "start": 23055, "end": 23061, "length": 7, - "parent_index": 1476 + "parent_index": 1477 }, "name": "address", "state_mutability": 4, @@ -1225,12 +1225,12 @@ "name": "Unpaused", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Unpaused_\u00261474", + "type_identifier": "t_event\u0026_Global_Unpaused_\u00261475", "type_string": "event Global.Unpaused" } }, { - "id": 1478, + "id": 1479, "name": "_paused", "is_constant": false, "is_state_variable": true, @@ -1251,7 +1251,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1479, + "id": 1480, "node_type": 30, "src": { "line": 658, @@ -1259,7 +1259,7 @@ "start": 23078, "end": 23081, "length": 4, - "parent_index": 1478 + "parent_index": 1479 }, "name": "bool", "referenced_declaration": 0, @@ -1271,7 +1271,7 @@ "initial_value": null }, { - "id": 1480, + "id": 1481, "name": "_NOT_ENTERED", "is_constant": true, "is_state_variable": true, @@ -1292,7 +1292,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1481, + "id": 1482, "node_type": 30, "src": { "line": 772, @@ -1300,7 +1300,7 @@ "start": 26452, "end": 26458, "length": 7, - "parent_index": 1480 + "parent_index": 1481 }, "name": "uint256", "referenced_declaration": 0, @@ -1310,7 +1310,7 @@ } }, "initial_value": { - "id": 1482, + "id": 1483, "node_type": 17, "kind": 49, "value": "1", @@ -1321,7 +1321,7 @@ "start": 26492, "end": 26492, "length": 1, - "parent_index": 1480 + "parent_index": 1481 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -1329,11 +1329,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { - "id": 1483, + "id": 1484, "name": "_ENTERED", "is_constant": true, "is_state_variable": true, @@ -1354,7 +1355,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1484, + "id": 1485, "node_type": 30, "src": { "line": 773, @@ -1362,7 +1363,7 @@ "start": 26499, "end": 26505, "length": 7, - "parent_index": 1483 + "parent_index": 1484 }, "name": "uint256", "referenced_declaration": 0, @@ -1372,7 +1373,7 @@ } }, "initial_value": { - "id": 1485, + "id": 1486, "node_type": 17, "kind": 49, "value": "2", @@ -1383,7 +1384,7 @@ "start": 26535, "end": 26535, "length": 1, - "parent_index": 1483 + "parent_index": 1484 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -1391,11 +1392,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { - "id": 1486, + "id": 1487, "name": "_status", "is_constant": false, "is_state_variable": true, @@ -1416,7 +1418,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1487, + "id": 1488, "node_type": 30, "src": { "line": 775, @@ -1424,7 +1426,7 @@ "start": 26543, "end": 26549, "length": 7, - "parent_index": 1486 + "parent_index": 1487 }, "name": "uint256", "referenced_declaration": 0, @@ -1436,7 +1438,7 @@ "initial_value": null }, { - "id": 1488, + "id": 1489, "name": "paymentId", "is_constant": false, "is_state_variable": true, @@ -1457,7 +1459,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1489, + "id": 1490, "node_type": 30, "src": { "line": 814, @@ -1465,7 +1467,7 @@ "start": 27548, "end": 27554, "length": 7, - "parent_index": 1488 + "parent_index": 1489 }, "name": "uint256", "referenced_declaration": 0, @@ -1477,7 +1479,7 @@ "initial_value": null }, { - "id": 1490, + "id": 1491, "node_type": 67, "src": { "line": 815, @@ -1493,16 +1495,16 @@ "start": 27585, "end": 27597, "length": 13, - "parent_index": 1490 + "parent_index": 1491 }, "canonical_name": "Global.PaymentDetail", "type_description": { - "type_identifier": "t_struct$_Global_PaymentDetail_$1490", + "type_identifier": "t_struct$_Global_PaymentDetail_$1491", "type_string": "struct Global.PaymentDetail" }, "members": [ { - "id": 1491, + "id": 1492, "node_type": 44, "src": { "line": 816, @@ -1510,11 +1512,11 @@ "start": 27609, "end": 27622, "length": 14, - "parent_index": 1490 + "parent_index": 1491 }, "name": "token", "type_name": { - "id": 1492, + "id": 1493, "node_type": 30, "src": { "line": 816, @@ -1522,7 +1524,7 @@ "start": 27609, "end": 27615, "length": 7, - "parent_index": 1491 + "parent_index": 1492 }, "name": "address", "state_mutability": 4, @@ -1540,7 +1542,7 @@ } }, { - "id": 1493, + "id": 1494, "node_type": 44, "src": { "line": 817, @@ -1548,11 +1550,11 @@ "start": 27632, "end": 27646, "length": 15, - "parent_index": 1490 + "parent_index": 1491 }, "name": "amount", "type_name": { - "id": 1494, + "id": 1495, "node_type": 30, "src": { "line": 817, @@ -1560,7 +1562,7 @@ "start": 27632, "end": 27638, "length": 7, - "parent_index": 1493 + "parent_index": 1494 }, "name": "uint256", "referenced_declaration": 0, @@ -1577,7 +1579,7 @@ } }, { - "id": 1495, + "id": 1496, "node_type": 44, "src": { "line": 818, @@ -1585,11 +1587,11 @@ "start": 27656, "end": 27668, "length": 13, - "parent_index": 1490 + "parent_index": 1491 }, "name": "time", "type_name": { - "id": 1496, + "id": 1497, "node_type": 30, "src": { "line": 818, @@ -1597,7 +1599,7 @@ "start": 27656, "end": 27662, "length": 7, - "parent_index": 1495 + "parent_index": 1496 }, "name": "uint256", "referenced_declaration": 0, @@ -1618,7 +1620,7 @@ "storage_location": 1 }, { - "id": 1497, + "id": 1498, "name": "paymentHistory", "is_constant": false, "is_state_variable": true, @@ -1632,25 +1634,25 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_Global_PaymentDetail_$1491$", "type_string": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 1498, - "node_type": 0, + "id": 1499, + "node_type": 69, "src": { "line": 821, "column": 4, "start": 27681, "end": 27734, "length": 54, - "parent_index": 1497 + "parent_index": 1498 }, "key_type": { - "id": 1499, + "id": 1500, "node_type": 30, "src": { "line": 821, @@ -1658,7 +1660,7 @@ "start": 27689, "end": 27695, "length": 7, - "parent_index": 1498 + "parent_index": 1499 }, "name": "uint256", "referenced_declaration": 0, @@ -1673,10 +1675,10 @@ "start": 27689, "end": 27695, "length": 7, - "parent_index": 1498 + "parent_index": 1499 }, "value_type": { - "id": 1500, + "id": 1501, "node_type": 53, "src": { "line": 821, @@ -1684,11 +1686,11 @@ "start": 27700, "end": 27733, "length": 34, - "parent_index": 1498 + "parent_index": 1499 }, "name": "mapping(address=\u003ePaymentDetail)", "key_type": { - "id": 1502, + "id": 1503, "node_type": 30, "src": { "line": 821, @@ -1696,7 +1698,7 @@ "start": 27709, "end": 27715, "length": 7, - "parent_index": 1498 + "parent_index": 1499 }, "name": "address", "referenced_declaration": 0, @@ -1711,24 +1713,24 @@ "start": 27709, "end": 27715, "length": 7, - "parent_index": 1500 + "parent_index": 1501 }, "value_type": { - "id": 1503, - "node_type": 30, + "id": 1504, + "node_type": 69, "src": { "line": 821, "column": 43, "start": 27720, "end": 27732, "length": 13, - "parent_index": 1498 + "parent_index": 1499 }, "name": "PaymentDetail", - "referenced_declaration": 0, + "referenced_declaration": 1491, "type_description": { - "type_identifier": "t_PaymentDetail", - "type_string": "PaymentDetail" + "type_identifier": "t_struct$_Global_PaymentDetail_$1491", + "type_string": "struct Global.PaymentDetail" } }, "value_name_location": { @@ -1737,11 +1739,11 @@ "start": 27720, "end": 27732, "length": 13, - "parent_index": 1500 + "parent_index": 1501 }, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_PaymentDetail", + "type_identifier": "t_mapping_$t_address_$t_struct$_Global_PaymentDetail_$1491", "type_string": "mapping(address=\u003ePaymentDetail)" } }, @@ -1751,18 +1753,40 @@ "start": 27700, "end": 27733, "length": 34, - "parent_index": 1498 + "parent_index": 1499 }, - "referenced_declaration": 0, + "path_node": { + "id": 1505, + "name": "PaymentDetail", + "node_type": 52, + "referenced_declaration": 1491, + "src": { + "line": 821, + "column": 43, + "start": 27720, + "end": 27732, + "length": 13, + "parent_index": 1499 + }, + "name_location": { + "line": 821, + "column": 43, + "start": 27720, + "end": 27732, + "length": 13, + "parent_index": 1499 + } + }, + "referenced_declaration": 1491, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_Global_PaymentDetail_$1491$", "type_string": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" } }, "initial_value": null }, { - "id": 1504, + "id": 1506, "name": "_userPaymentIds", "is_constant": false, "is_state_variable": true, @@ -1783,18 +1807,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1505, - "node_type": 0, + "id": 1507, + "node_type": 53, "src": { "line": 823, "column": 4, "start": 27764, "end": 27792, "length": 29, - "parent_index": 1504 + "parent_index": 1506 }, "key_type": { - "id": 1506, + "id": 1508, "node_type": 30, "src": { "line": 823, @@ -1802,7 +1826,7 @@ "start": 27772, "end": 27778, "length": 7, - "parent_index": 1505 + "parent_index": 1507 }, "name": "address", "referenced_declaration": 0, @@ -1817,10 +1841,10 @@ "start": 27772, "end": 27778, "length": 7, - "parent_index": 1505 + "parent_index": 1507 }, "value_type": { - "id": 1507, + "id": 1509, "node_type": 30, "src": { "line": 823, @@ -1828,7 +1852,7 @@ "start": 27783, "end": 27791, "length": 9, - "parent_index": 1505 + "parent_index": 1507 }, "name": "uint256[]", "referenced_declaration": 0, @@ -1843,7 +1867,7 @@ "start": 27783, "end": 27791, "length": 9, - "parent_index": 1505 + "parent_index": 1507 }, "referenced_declaration": 0, "type_description": { @@ -1854,7 +1878,7 @@ "initial_value": null }, { - "id": 1508, + "id": 1510, "name": "allowedTokens", "is_constant": false, "is_state_variable": true, @@ -1875,18 +1899,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1509, - "node_type": 0, + "id": 1511, + "node_type": 53, "src": { "line": 825, "column": 4, "start": 27816, "end": 27840, "length": 25, - "parent_index": 1508 + "parent_index": 1510 }, "key_type": { - "id": 1510, + "id": 1512, "node_type": 30, "src": { "line": 825, @@ -1894,7 +1918,7 @@ "start": 27825, "end": 27831, "length": 7, - "parent_index": 1509 + "parent_index": 1511 }, "name": "address", "referenced_declaration": 0, @@ -1909,10 +1933,10 @@ "start": 27825, "end": 27831, "length": 7, - "parent_index": 1509 + "parent_index": 1511 }, "value_type": { - "id": 1511, + "id": 1513, "node_type": 30, "src": { "line": 825, @@ -1920,7 +1944,7 @@ "start": 27836, "end": 27839, "length": 4, - "parent_index": 1509 + "parent_index": 1511 }, "name": "bool", "referenced_declaration": 0, @@ -1935,7 +1959,7 @@ "start": 27836, "end": 27839, "length": 4, - "parent_index": 1509 + "parent_index": 1511 }, "referenced_declaration": 0, "type_description": { @@ -1946,7 +1970,7 @@ "initial_value": null }, { - "id": 1512, + "id": 1514, "node_type": 57, "src": { "line": 827, @@ -1956,7 +1980,7 @@ "length": 70 }, "parameters": { - "id": 1513, + "id": 1515, "node_type": 43, "src": { "line": 827, @@ -1964,11 +1988,11 @@ "start": 27869, "end": 27938, "length": 70, - "parent_index": 1512 + "parent_index": 1514 }, "parameters": [ { - "id": 1514, + "id": 1516, "node_type": 44, "src": { "line": 827, @@ -1976,12 +2000,12 @@ "start": 27880, "end": 27891, "length": 12, - "parent_index": 1513 + "parent_index": 1515 }, - "scope": 1512, + "scope": 1514, "name": "from", "type_name": { - "id": 1515, + "id": 1517, "node_type": 30, "src": { "line": 827, @@ -1989,7 +2013,7 @@ "start": 27880, "end": 27886, "length": 7, - "parent_index": 1514 + "parent_index": 1516 }, "name": "address", "state_mutability": 4, @@ -2008,7 +2032,7 @@ } }, { - "id": 1516, + "id": 1518, "node_type": 44, "src": { "line": 827, @@ -2016,12 +2040,12 @@ "start": 27894, "end": 27906, "length": 13, - "parent_index": 1513 + "parent_index": 1515 }, - "scope": 1512, + "scope": 1514, "name": "token", "type_name": { - "id": 1517, + "id": 1519, "node_type": 30, "src": { "line": 827, @@ -2029,7 +2053,7 @@ "start": 27894, "end": 27900, "length": 7, - "parent_index": 1516 + "parent_index": 1518 }, "name": "address", "state_mutability": 4, @@ -2048,7 +2072,7 @@ } }, { - "id": 1518, + "id": 1520, "node_type": 44, "src": { "line": 827, @@ -2056,12 +2080,12 @@ "start": 27909, "end": 27922, "length": 14, - "parent_index": 1513 + "parent_index": 1515 }, - "scope": 1512, + "scope": 1514, "name": "amount", "type_name": { - "id": 1519, + "id": 1521, "node_type": 30, "src": { "line": 827, @@ -2069,7 +2093,7 @@ "start": 27909, "end": 27915, "length": 7, - "parent_index": 1518 + "parent_index": 1520 }, "name": "uint256", "referenced_declaration": 0, @@ -2087,7 +2111,7 @@ } }, { - "id": 1520, + "id": 1522, "node_type": 44, "src": { "line": 827, @@ -2095,12 +2119,12 @@ "start": 27925, "end": 27936, "length": 12, - "parent_index": 1513 + "parent_index": 1515 }, - "scope": 1512, + "scope": 1514, "name": "time", "type_name": { - "id": 1521, + "id": 1523, "node_type": 30, "src": { "line": 827, @@ -2108,7 +2132,7 @@ "start": 27925, "end": 27931, "length": 7, - "parent_index": 1520 + "parent_index": 1522 }, "name": "uint256", "referenced_declaration": 0, @@ -2148,12 +2172,12 @@ "name": "Paid", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Paid_\u00261512", + "type_identifier": "t_event\u0026_Global_Paid_\u00261514", "type_string": "event Global.Paid" } }, { - "id": 1522, + "id": 1524, "name": "success", "is_constant": true, "is_state_variable": true, @@ -2174,7 +2198,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1523, + "id": 1525, "node_type": 30, "src": { "line": 869, @@ -2182,7 +2206,7 @@ "start": 29325, "end": 29328, "length": 4, - "parent_index": 1522 + "parent_index": 1524 }, "name": "bool", "referenced_declaration": 0, @@ -2194,7 +2218,7 @@ "initial_value": null }, { - "id": 1524, + "id": 1526, "name": "balance", "is_constant": true, "is_state_variable": true, @@ -2215,7 +2239,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1525, + "id": 1527, "node_type": 30, "src": { "line": 876, @@ -2223,7 +2247,7 @@ "start": 29591, "end": 29597, "length": 7, - "parent_index": 1524 + "parent_index": 1526 }, "name": "uint256", "referenced_declaration": 0, @@ -2424,21 +2448,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 119, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 120, @@ -2460,7 +2487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2601,7 +2629,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 122, @@ -2735,7 +2764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2781,7 +2811,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2793,7 +2824,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 138, @@ -2813,7 +2845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 138, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -2846,7 +2879,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -2867,7 +2901,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2971,7 +3006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -3027,14 +3063,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -3088,7 +3126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 140, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 151, @@ -3116,7 +3155,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -3137,7 +3177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3269,13 +3310,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 153, @@ -3373,7 +3415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 167, @@ -3399,7 +3442,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 168, @@ -3431,7 +3475,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 169, @@ -3467,7 +3512,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -3488,7 +3534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string_literal$", @@ -3666,13 +3713,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,\"Address: low-level call failed\");}" }, { "id": 171, @@ -3770,7 +3818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 186, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 187, @@ -3796,7 +3845,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 188, @@ -3828,7 +3878,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 189, @@ -3862,7 +3913,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -3883,7 +3935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -4104,13 +4157,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 191, @@ -4208,7 +4262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 207, @@ -4234,7 +4289,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 208, @@ -4264,7 +4320,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 209, @@ -4300,7 +4357,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -4321,7 +4379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -4542,13 +4601,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 211, @@ -4682,7 +4742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -4728,7 +4789,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4740,7 +4802,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 233, @@ -4760,7 +4823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 233, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -4793,7 +4857,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -4814,7 +4879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4963,7 +5029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 244, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -5019,14 +5086,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 243, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -5100,7 +5169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 248, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 249, @@ -5126,7 +5196,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 250, @@ -5156,7 +5227,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 251, @@ -5190,7 +5262,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5211,7 +5284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -5475,13 +5549,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 253, @@ -5575,7 +5650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 266, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 267, @@ -5601,7 +5677,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 268, @@ -5633,7 +5710,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -5654,7 +5732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -5832,13 +5911,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 270, @@ -6017,7 +6097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 290, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -6061,14 +6142,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 289, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -6137,7 +6220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 295, @@ -6163,7 +6247,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 296, @@ -6193,7 +6278,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 297, @@ -6227,7 +6313,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -6248,7 +6335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -6469,13 +6557,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 299, @@ -6569,7 +6658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 312, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 313, @@ -6595,7 +6685,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 314, @@ -6627,7 +6718,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -6648,7 +6740,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -6826,13 +6919,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 316, @@ -7011,7 +7105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 336, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -7055,14 +7150,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 335, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -7131,7 +7228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 340, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 341, @@ -7157,7 +7255,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 342, @@ -7187,7 +7286,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 343, @@ -7221,7 +7321,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -7242,7 +7343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -7463,13 +7565,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 345, @@ -7535,7 +7638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 360, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 361, @@ -7617,14 +7721,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 365, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 366, @@ -7646,7 +7752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7727,7 +7834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 372, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -7748,7 +7856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7781,7 +7890,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -7802,7 +7912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -7842,7 +7953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 375, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -8104,13 +8216,14 @@ } ] }, - "signature_raw": "verifyCallResultFromTarget(address, bool, bytes, string)", - "signature": "ac377f6d", + "signature_raw": "verifyCallResultFromTarget(address,bool,bytes,string)", + "signature": "1daa78c1", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", "type_string": "function(address,bool,bytes,string)" - } + }, + "text": "functionverifyCallResultFromTarget(addresstarget,boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){if(success){if(returndata.length==0){require(isContract(target),\"Address: call to non-contract\");}returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 377, @@ -8176,7 +8289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 390, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 391, @@ -8222,7 +8336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 393, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -8440,13 +8555,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 395, @@ -8549,14 +8665,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 407, @@ -8578,7 +8696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9132,13 +9251,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_revert(bytes, string)", - "signature": "26a4ef1a", + "signature_raw": "_revert(bytes,string)", + "signature": "6cadf5e1", "scope": 105, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string$", "type_string": "function(bytes,string)" - } + }, + "text": "function_revert(bytesmemoryreturndata,stringmemoryerrorMessage)privatepure{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}" } ], "linearized_base_contracts": [ @@ -9595,13 +9715,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", "scope": 428, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 449, @@ -9770,7 +9891,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint256);" }, { "id": 458, @@ -9938,7 +10060,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ @@ -10520,7 +10643,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 499, @@ -10689,7 +10813,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 508, @@ -10895,13 +11020,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 470, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 519, @@ -11108,13 +11234,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 470, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 530, @@ -11320,13 +11447,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 470, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 541, @@ -11576,13 +11704,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 470, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -11789,7 +11918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 577, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 578, @@ -11882,21 +12012,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 584, @@ -11922,7 +12055,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 585, @@ -11952,7 +12086,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -11996,14 +12131,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -12029,7 +12166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -12225,13 +12363,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 587, @@ -12309,7 +12448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 602, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 603, @@ -12406,21 +12546,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 608, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 609, @@ -12446,7 +12589,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 610, @@ -12476,7 +12620,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 611, @@ -12510,7 +12655,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -12554,14 +12700,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -12587,7 +12735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -12827,13 +12976,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 613, @@ -12953,7 +13103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 629, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 630, @@ -12975,7 +13126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13076,7 +13228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -13122,7 +13275,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13153,7 +13307,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -13197,14 +13352,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -13231,7 +13388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13275,7 +13433,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -13296,7 +13455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -13344,7 +13504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 645, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 646, @@ -13437,21 +13598,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 651, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 652, @@ -13477,7 +13641,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 653, @@ -13507,7 +13672,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -13551,14 +13717,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -13584,7 +13752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -13780,13 +13949,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 655, @@ -13957,7 +14127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -14003,7 +14174,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -14034,7 +14206,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -14078,14 +14251,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -14110,7 +14285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 678, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -14159,7 +14335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 681, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 682, @@ -14252,21 +14429,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 687, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 688, @@ -14292,7 +14472,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 689, @@ -14322,7 +14503,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -14366,14 +14548,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -14399,7 +14583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -14595,13 +14780,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256newAllowance=token.allowance(address(this),spender)+value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}" }, { "id": 691, @@ -14772,7 +14958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -14818,7 +15005,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -14849,7 +15037,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -14893,14 +15082,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 708, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -14963,7 +15154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 703, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 718, @@ -14983,7 +15175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 718, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -15016,7 +15209,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -15037,7 +15231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15136,7 +15331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 703, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 725, @@ -15156,7 +15352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 725, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -15205,7 +15402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 728, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 729, @@ -15298,21 +15496,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 734, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 735, @@ -15338,7 +15539,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 736, @@ -15368,7 +15570,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -15412,14 +15615,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -15445,7 +15650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -15643,13 +15849,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");uint256newAllowance=oldAllowance-value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}}" }, { "id": 738, @@ -15783,7 +15990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 765, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -15827,14 +16035,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 764, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$425", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15903,7 +16113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 769, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 770, @@ -15929,7 +16140,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 771, @@ -15959,7 +16171,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { "id": 772, @@ -15993,7 +16206,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 773, @@ -16031,7 +16245,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 774, @@ -16073,7 +16288,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 775, @@ -16119,7 +16335,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -16163,14 +16380,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 768, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "permit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$425", "type_string": "contract IERC20Permit" - } + }, + "text": "token.permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -16274,7 +16493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -16318,14 +16538,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 781, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$425", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16388,7 +16610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 776, - "is_pure": false + "is_pure": false, + "text": "nonceAfter" }, "right_expression": { "id": 787, @@ -16422,7 +16645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 759, - "is_pure": false + "is_pure": false, + "text": "nonceBefore" }, "right_expression": { "id": 789, @@ -16444,7 +16668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -16482,7 +16707,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: permit did not succeed\"" } ], "expression": { @@ -16503,7 +16729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -16915,13 +17142,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safePermit(, address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8fe8854", + "signature_raw": "safePermit(,address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "1f73058e", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Permit_$425$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(contract IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionsafePermit(IERC20Permittoken,addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)internal{uint256nonceBefore=token.nonces(owner);token.permit(owner,spender,value,deadline,v,r,s);uint256nonceAfter=token.nonces(owner);require(nonceAfter==nonceBefore+1,\"SafeERC20: permit did not succeed\");}" }, { "id": 792, @@ -17059,7 +17287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 810, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 811, @@ -17087,7 +17316,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -17150,7 +17380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -17196,7 +17427,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17208,7 +17440,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -17282,14 +17515,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 801, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 816, @@ -17311,7 +17546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17396,7 +17632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 824, @@ -17448,7 +17685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -17498,14 +17736,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -17538,7 +17778,8 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -17559,7 +17800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -17714,13 +17956,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");if(returndata.length\u003e0){require(abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}}" } ], "linearized_base_contracts": [ @@ -17890,14 +18133,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -18034,7 +18279,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 848, @@ -18124,14 +18370,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -18266,7 +18514,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -18657,7 +18906,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -18683,7 +18933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18775,7 +19026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -18800,7 +19052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -18870,7 +19123,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 870, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -19007,7 +19261,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 907, @@ -19113,7 +19368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -19152,7 +19408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -19190,7 +19447,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -19211,7 +19469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19260,7 +19519,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 920, @@ -19355,7 +19615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19401,7 +19662,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19427,7 +19689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -19506,7 +19769,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 933, @@ -19598,7 +19862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 944, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 945, @@ -19639,7 +19904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19685,7 +19951,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19723,7 +19990,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -19744,7 +20012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19788,7 +20057,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 952, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -19809,7 +20079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -19934,7 +20205,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 954, @@ -20050,7 +20322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 870, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -20094,7 +20367,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 870, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 967, @@ -20114,7 +20388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 967, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -20124,7 +20399,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 968, @@ -20156,7 +20432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 960, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 970, @@ -20176,7 +20453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 970, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -20197,7 +20475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 873, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -20288,7 +20567,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ @@ -20730,7 +21010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 1004, @@ -20752,7 +21033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -20762,7 +21044,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] } @@ -20849,7 +21132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireNotPaused" }, "type_description": { "type_identifier": "t_function_$", @@ -20874,7 +21158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -20961,7 +21246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requirePaused" }, "type_description": { "type_identifier": "t_function_$", @@ -20986,7 +21272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -21056,7 +21343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_paused" } } ] @@ -21191,7 +21479,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { "id": 1031, @@ -21301,7 +21590,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -21339,7 +21629,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { @@ -21360,7 +21651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -21409,7 +21701,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requireNotPaused()internalviewvirtual{require(!paused(),\"Pausable: paused\");}" }, { "id": 1042, @@ -21501,7 +21794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -21534,7 +21828,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { @@ -21555,7 +21850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -21604,7 +21900,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requirePaused()internalviewvirtual{require(paused(),\"Pausable: not paused\");}" }, { "id": 1052, @@ -21682,7 +21979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 1061, @@ -21704,7 +22002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -21714,7 +22013,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { "id": 1062, @@ -21760,7 +22060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -21786,7 +22087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 984, - "is_pure": false + "is_pure": false, + "text": "Paused" } } ] @@ -21861,7 +22163,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { "id": 1067, @@ -21939,7 +22242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 1076, @@ -21961,7 +22265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -21971,7 +22276,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { "id": 1077, @@ -22017,7 +22323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -22043,7 +22350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 989, - "is_pure": false + "is_pure": false, + "text": "Unpaused" } } ] @@ -22118,7 +22426,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" } ], "linearized_base_contracts": [ @@ -22290,7 +22599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -22353,7 +22663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { @@ -22498,7 +22809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 1110, @@ -22518,7 +22830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1092, - "is_pure": false + "is_pure": false, + "text": "_NOT_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -22528,7 +22841,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_NOT_ENTERED;" } ] } @@ -22638,7 +22952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 1119, @@ -22658,7 +22973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1096, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_bool", @@ -22691,7 +23007,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ReentrancyGuard: reentrant call\"" } ], "expression": { @@ -22712,7 +23029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22760,7 +23078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 1124, @@ -22780,7 +23099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1096, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -22790,7 +23110,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_ENTERED;" }, { "id": 1125, @@ -22810,7 +23131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 1126, @@ -22853,7 +23175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 1129, @@ -22873,7 +23196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1092, - "is_pure": false + "is_pure": false, + "text": "_NOT_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -22883,7 +23207,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_NOT_ENTERED;" } ] } @@ -23171,7 +23496,7 @@ }, "scope": 1140, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "type_string": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, "visibility": 3, @@ -23179,7 +23504,7 @@ "mutability": 1, "type_name": { "id": 1154, - "node_type": 0, + "node_type": 69, "src": { "line": 821, "column": 4, @@ -23254,7 +23579,7 @@ }, "value_type": { "id": 1159, - "node_type": 30, + "node_type": 69, "src": { "line": 821, "column": 43, @@ -23264,10 +23589,10 @@ "parent_index": 1154 }, "name": "PaymentDetail", - "referenced_declaration": 0, + "referenced_declaration": 1145, "type_description": { - "type_identifier": "t_PaymentDetail", - "type_string": "PaymentDetail" + "type_identifier": "t_struct$_PaymentStorage_PaymentDetail_$1145", + "type_string": "struct PaymentStorage.PaymentDetail" } }, "value_name_location": { @@ -23280,7 +23605,7 @@ }, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_PaymentDetail", + "type_identifier": "t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145", "type_string": "mapping(address=\u003ePaymentDetail)" } }, @@ -23292,16 +23617,38 @@ "length": 34, "parent_index": 1154 }, - "referenced_declaration": 0, + "path_node": { + "id": 1160, + "name": "PaymentDetail", + "node_type": 52, + "referenced_declaration": 1145, + "src": { + "line": 821, + "column": 43, + "start": 27720, + "end": 27732, + "length": 13, + "parent_index": 1154 + }, + "name_location": { + "line": 821, + "column": 43, + "start": 27720, + "end": 27732, + "length": 13, + "parent_index": 1154 + } + }, + "referenced_declaration": 1145, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "type_string": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" } }, "initial_value": null }, { - "id": 1161, + "id": 1162, "name": "_userPaymentIds", "is_constant": false, "is_state_variable": true, @@ -23323,18 +23670,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1162, - "node_type": 0, + "id": 1163, + "node_type": 53, "src": { "line": 823, "column": 4, "start": 27764, "end": 27792, "length": 29, - "parent_index": 1161 + "parent_index": 1162 }, "key_type": { - "id": 1163, + "id": 1164, "node_type": 30, "src": { "line": 823, @@ -23342,7 +23689,7 @@ "start": 27772, "end": 27778, "length": 7, - "parent_index": 1162 + "parent_index": 1163 }, "name": "address", "referenced_declaration": 0, @@ -23357,10 +23704,10 @@ "start": 27772, "end": 27778, "length": 7, - "parent_index": 1162 + "parent_index": 1163 }, "value_type": { - "id": 1164, + "id": 1165, "node_type": 30, "src": { "line": 823, @@ -23368,7 +23715,7 @@ "start": 27783, "end": 27791, "length": 9, - "parent_index": 1162 + "parent_index": 1163 }, "name": "uint256[]", "referenced_declaration": 0, @@ -23383,7 +23730,7 @@ "start": 27783, "end": 27791, "length": 9, - "parent_index": 1162 + "parent_index": 1163 }, "referenced_declaration": 0, "type_description": { @@ -23394,7 +23741,7 @@ "initial_value": null }, { - "id": 1166, + "id": 1167, "name": "allowedTokens", "is_constant": false, "is_state_variable": true, @@ -23416,18 +23763,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1167, - "node_type": 0, + "id": 1168, + "node_type": 53, "src": { "line": 825, "column": 4, "start": 27816, "end": 27840, "length": 25, - "parent_index": 1166 + "parent_index": 1167 }, "key_type": { - "id": 1168, + "id": 1169, "node_type": 30, "src": { "line": 825, @@ -23435,7 +23782,7 @@ "start": 27825, "end": 27831, "length": 7, - "parent_index": 1167 + "parent_index": 1168 }, "name": "address", "referenced_declaration": 0, @@ -23450,10 +23797,10 @@ "start": 27825, "end": 27831, "length": 7, - "parent_index": 1167 + "parent_index": 1168 }, "value_type": { - "id": 1169, + "id": 1170, "node_type": 30, "src": { "line": 825, @@ -23461,7 +23808,7 @@ "start": 27836, "end": 27839, "length": 4, - "parent_index": 1167 + "parent_index": 1168 }, "name": "bool", "referenced_declaration": 0, @@ -23476,7 +23823,7 @@ "start": 27836, "end": 27839, "length": 4, - "parent_index": 1167 + "parent_index": 1168 }, "referenced_declaration": 0, "type_description": { @@ -23487,7 +23834,7 @@ "initial_value": null }, { - "id": 1171, + "id": 1172, "node_type": 57, "src": { "line": 827, @@ -23498,7 +23845,7 @@ "parent_index": 1140 }, "parameters": { - "id": 1172, + "id": 1173, "node_type": 43, "src": { "line": 827, @@ -23506,11 +23853,11 @@ "start": 27869, "end": 27938, "length": 70, - "parent_index": 1171 + "parent_index": 1172 }, "parameters": [ { - "id": 1173, + "id": 1174, "node_type": 44, "src": { "line": 827, @@ -23518,12 +23865,12 @@ "start": 27880, "end": 27891, "length": 12, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "from", "type_name": { - "id": 1174, + "id": 1175, "node_type": 30, "src": { "line": 827, @@ -23531,7 +23878,7 @@ "start": 27880, "end": 27886, "length": 7, - "parent_index": 1173 + "parent_index": 1174 }, "name": "address", "state_mutability": 4, @@ -23550,7 +23897,7 @@ } }, { - "id": 1175, + "id": 1176, "node_type": 44, "src": { "line": 827, @@ -23558,12 +23905,12 @@ "start": 27894, "end": 27906, "length": 13, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "token", "type_name": { - "id": 1176, + "id": 1177, "node_type": 30, "src": { "line": 827, @@ -23571,7 +23918,7 @@ "start": 27894, "end": 27900, "length": 7, - "parent_index": 1175 + "parent_index": 1176 }, "name": "address", "state_mutability": 4, @@ -23590,7 +23937,7 @@ } }, { - "id": 1177, + "id": 1178, "node_type": 44, "src": { "line": 827, @@ -23598,12 +23945,12 @@ "start": 27909, "end": 27922, "length": 14, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "amount", "type_name": { - "id": 1178, + "id": 1179, "node_type": 30, "src": { "line": 827, @@ -23611,7 +23958,7 @@ "start": 27909, "end": 27915, "length": 7, - "parent_index": 1177 + "parent_index": 1178 }, "name": "uint256", "referenced_declaration": 0, @@ -23629,7 +23976,7 @@ } }, { - "id": 1179, + "id": 1180, "node_type": 44, "src": { "line": 827, @@ -23637,12 +23984,12 @@ "start": 27925, "end": 27936, "length": 12, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "time", "type_name": { - "id": 1180, + "id": 1181, "node_type": 30, "src": { "line": 827, @@ -23650,7 +23997,7 @@ "start": 27925, "end": 27931, "length": 7, - "parent_index": 1179 + "parent_index": 1180 }, "name": "uint256", "referenced_declaration": 0, @@ -23690,7 +24037,7 @@ "name": "Paid", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_PaymentStorage_Paid_\u00261171", + "type_identifier": "t_event\u0026_PaymentStorage_Paid_\u00261172", "type_string": "event PaymentStorage.Paid" } } @@ -23712,10 +24059,10 @@ } }, { - "id": 1181, + "id": 1182, "base_contracts": [ { - "id": 1192, + "id": 1193, "node_type": 62, "src": { "line": 832, @@ -23723,10 +24070,10 @@ "start": 27965, "end": 27971, "length": 7, - "parent_index": 1191 + "parent_index": 1192 }, "base_name": { - "id": 1193, + "id": 1194, "node_type": 52, "src": { "line": 832, @@ -23734,14 +24081,14 @@ "start": 27965, "end": 27971, "length": 7, - "parent_index": 1191 + "parent_index": 1192 }, "name": "Ownable", "referenced_declaration": 859 } }, { - "id": 1194, + "id": 1195, "node_type": 62, "src": { "line": 832, @@ -23749,10 +24096,10 @@ "start": 27974, "end": 27981, "length": 8, - "parent_index": 1191 + "parent_index": 1192 }, "base_name": { - "id": 1195, + "id": 1196, "node_type": 52, "src": { "line": 832, @@ -23760,14 +24107,14 @@ "start": 27974, "end": 27981, "length": 8, - "parent_index": 1191 + "parent_index": 1192 }, "name": "Pausable", "referenced_declaration": 972 } }, { - "id": 1196, + "id": 1197, "node_type": 62, "src": { "line": 832, @@ -23775,10 +24122,10 @@ "start": 27984, "end": 27998, "length": 15, - "parent_index": 1191 + "parent_index": 1192 }, "base_name": { - "id": 1197, + "id": 1198, "node_type": 52, "src": { "line": 832, @@ -23786,14 +24133,14 @@ "start": 27984, "end": 27998, "length": 15, - "parent_index": 1191 + "parent_index": 1192 }, "name": "ReentrancyGuard", "referenced_declaration": 1081 } }, { - "id": 1198, + "id": 1199, "node_type": 62, "src": { "line": 832, @@ -23801,10 +24148,10 @@ "start": 28001, "end": 28014, "length": 14, - "parent_index": 1191 + "parent_index": 1192 }, "base_name": { - "id": 1199, + "id": 1200, "node_type": 52, "src": { "line": 832, @@ -23812,7 +24159,7 @@ "start": 28001, "end": 28014, "length": 14, - "parent_index": 1191 + "parent_index": 1192 }, "name": "PaymentStorage", "referenced_declaration": 1130 @@ -23822,27 +24169,27 @@ "license": "unknown", "exported_symbols": [ { - "id": 1181, + "id": 1182, "name": "Payment", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.sol" }, { - "id": 1192, + "id": 1193, "name": "Ownable", "absolute_path": "" }, { - "id": 1194, + "id": 1195, "name": "Pausable", "absolute_path": "" }, { - "id": 1196, + "id": 1197, "name": "ReentrancyGuard", "absolute_path": "" }, { - "id": 1198, + "id": 1199, "name": "PaymentStorage", "absolute_path": "" } @@ -23852,7 +24199,7 @@ "node_type": 1, "nodes": [ { - "id": 1190, + "id": 1191, "node_type": 10, "src": { "line": 805, @@ -23860,7 +24207,7 @@ "start": 27486, "end": 27509, "length": 24, - "parent_index": 1181 + "parent_index": 1182 }, "literals": [ "pragma", @@ -23876,7 +24223,7 @@ "text": "pragma solidity ^0.8.14;" }, { - "id": 1191, + "id": 1192, "name": "Payment", "node_type": 35, "src": { @@ -23885,7 +24232,7 @@ "start": 27945, "end": 30021, "length": 2077, - "parent_index": 1181 + "parent_index": 1182 }, "name_location": { "line": 832, @@ -23893,14 +24240,14 @@ "start": 27954, "end": 27960, "length": 7, - "parent_index": 1191 + "parent_index": 1192 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 1201, + "id": 1202, "node_type": 51, "src": { "line": 833, @@ -23908,14 +24255,14 @@ "start": 28021, "end": 28047, "length": 27, - "parent_index": 1191 + "parent_index": 1192 }, "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" }, "type_name": { - "id": 1203, + "id": 1204, "node_type": 69, "src": { "line": 833, @@ -23923,10 +24270,10 @@ "start": 28041, "end": 28046, "length": 6, - "parent_index": 1201 + "parent_index": 1202 }, "path_node": { - "id": 1204, + "id": 1205, "name": "IERC20", "node_type": 52, "referenced_declaration": 466, @@ -23936,7 +24283,7 @@ "start": 28041, "end": 28046, "length": 6, - "parent_index": 1203 + "parent_index": 1204 }, "name_location": { "line": 833, @@ -23944,7 +24291,7 @@ "start": 28041, "end": 28046, "length": 6, - "parent_index": 1203 + "parent_index": 1204 } }, "referenced_declaration": 466, @@ -23954,7 +24301,7 @@ } }, "library_name": { - "id": 1202, + "id": 1203, "node_type": 52, "src": { "line": 833, @@ -23962,14 +24309,14 @@ "start": 28027, "end": 28035, "length": 9, - "parent_index": 1201 + "parent_index": 1202 }, "name": "SafeERC20", "referenced_declaration": 553 } }, { - "id": 1206, + "id": 1207, "node_type": 42, "src": { "line": 834, @@ -23977,7 +24324,7 @@ "start": 28053, "end": 28175, "length": 123, - "parent_index": 1191 + "parent_index": 1192 }, "kind": 11, "state_mutability": 4, @@ -23985,7 +24332,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 1207, + "id": 1208, "node_type": 43, "src": { "line": 834, @@ -23993,11 +24340,11 @@ "start": 28065, "end": 28081, "length": 17, - "parent_index": 1206 + "parent_index": 1207 }, "parameters": [ { - "id": 1208, + "id": 1209, "node_type": 44, "src": { "line": 834, @@ -24005,12 +24352,12 @@ "start": 28065, "end": 28081, "length": 17, - "parent_index": 1207 + "parent_index": 1208 }, - "scope": 1206, + "scope": 1207, "name": "usdtToken", "type_name": { - "id": 1209, + "id": 1210, "node_type": 30, "src": { "line": 834, @@ -24018,7 +24365,7 @@ "start": 28065, "end": 28071, "length": 7, - "parent_index": 1208 + "parent_index": 1209 }, "name": "address", "state_mutability": 4, @@ -24045,7 +24392,7 @@ ] }, "return_parameters": { - "id": 1210, + "id": 1211, "node_type": 43, "src": { "line": 834, @@ -24053,14 +24400,14 @@ "start": 28053, "end": 28175, "length": 123, - "parent_index": 1206 + "parent_index": 1207 }, "parameters": [], "parameter_types": [] }, - "scope": 1191, + "scope": 1192, "body": { - "id": 1211, + "id": 1212, "node_type": 46, "kind": 0, "src": { @@ -24069,12 +24416,12 @@ "start": 28084, "end": 28175, "length": 92, - "parent_index": 1206 + "parent_index": 1207 }, "implemented": true, "statements": [ { - "id": 1212, + "id": 1213, "node_type": 27, "src": { "line": 835, @@ -24082,10 +24429,10 @@ "start": 28094, "end": 28125, "length": 32, - "parent_index": 1211 + "parent_index": 1212 }, "expression": { - "id": 1213, + "id": 1214, "node_type": 27, "src": { "line": 835, @@ -24093,11 +24440,11 @@ "start": 28094, "end": 28124, "length": 31, - "parent_index": 1212 + "parent_index": 1213 }, "operator": 11, "left_expression": { - "id": 1214, + "id": 1215, "node_type": 22, "src": { "line": 835, @@ -24105,10 +24452,10 @@ "start": 28094, "end": 28117, "length": 24, - "parent_index": 1213 + "parent_index": 1214 }, "index_expression": { - "id": 1215, + "id": 1216, "node_type": 16, "src": { "line": 835, @@ -24116,7 +24463,7 @@ "start": 28094, "end": 28106, "length": 13, - "parent_index": 1214 + "parent_index": 1215 }, "name": "allowedTokens", "type_description": { @@ -24124,11 +24471,12 @@ "type_string": "mapping(address=\u003ebool)" }, "overloaded_declarations": [], - "referenced_declaration": 1166, - "is_pure": false + "referenced_declaration": 1167, + "is_pure": false, + "text": "allowedTokens" }, "base_expression": { - "id": 1216, + "id": 1217, "node_type": 16, "src": { "line": 835, @@ -24136,7 +24484,7 @@ "start": 28108, "end": 28116, "length": 9, - "parent_index": 1214 + "parent_index": 1215 }, "name": "usdtToken", "type_description": { @@ -24144,8 +24492,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1216, - "is_pure": false + "referenced_declaration": 1217, + "is_pure": false, + "text": "usdtToken" }, "type_descriptions": [ { @@ -24163,7 +24512,7 @@ } }, "right_expression": { - "id": 1217, + "id": 1218, "node_type": 17, "kind": 61, "value": "true", @@ -24174,7 +24523,7 @@ "start": 28121, "end": 28124, "length": 4, - "parent_index": 1213 + "parent_index": 1214 }, "type_description": { "type_identifier": "t_bool", @@ -24182,7 +24531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -24192,10 +24542,11 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "allowedTokens[usdtToken]=true;" }, { - "id": 1218, + "id": 1219, "node_type": 27, "src": { "line": 836, @@ -24203,10 +24554,10 @@ "start": 28135, "end": 28169, "length": 35, - "parent_index": 1211 + "parent_index": 1212 }, "expression": { - "id": 1219, + "id": 1220, "node_type": 27, "src": { "line": 836, @@ -24214,11 +24565,11 @@ "start": 28135, "end": 28168, "length": 34, - "parent_index": 1218 + "parent_index": 1219 }, "operator": 11, "left_expression": { - "id": 1220, + "id": 1221, "node_type": 22, "src": { "line": 836, @@ -24226,10 +24577,10 @@ "start": 28135, "end": 28161, "length": 27, - "parent_index": 1219 + "parent_index": 1220 }, "index_expression": { - "id": 1221, + "id": 1222, "node_type": 16, "src": { "line": 836, @@ -24237,7 +24588,7 @@ "start": 28135, "end": 28147, "length": 13, - "parent_index": 1220 + "parent_index": 1221 }, "name": "allowedTokens", "type_description": { @@ -24245,11 +24596,12 @@ "type_string": "mapping(address=\u003ebool)" }, "overloaded_declarations": [], - "referenced_declaration": 1166, - "is_pure": false + "referenced_declaration": 1167, + "is_pure": false, + "text": "allowedTokens" }, "base_expression": { - "id": 1222, + "id": 1223, "node_type": 24, "kind": 24, "src": { @@ -24258,7 +24610,7 @@ "start": 28149, "end": 28160, "length": 12, - "parent_index": 1220 + "parent_index": 1221 }, "argument_types": [ { @@ -24268,7 +24620,7 @@ ], "arguments": [ { - "id": 1225, + "id": 1226, "node_type": 17, "kind": 49, "value": "0x0", @@ -24279,7 +24631,7 @@ "start": 28157, "end": 28159, "length": 3, - "parent_index": 1222 + "parent_index": 1223 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -24287,11 +24639,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0" } ], "expression": { - "id": 1223, + "id": 1224, "node_type": 16, "src": { "line": 836, @@ -24299,11 +24652,11 @@ "start": 28149, "end": 28155, "length": 7, - "parent_index": 1222 + "parent_index": 1223 }, "name": "address", "type_name": { - "id": 1224, + "id": 1225, "node_type": 30, "src": { "line": 836, @@ -24311,7 +24664,7 @@ "start": 28149, "end": 28155, "length": 7, - "parent_index": 1223 + "parent_index": 1224 }, "name": "address", "state_mutability": 4, @@ -24333,7 +24686,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -24356,7 +24710,7 @@ } }, "right_expression": { - "id": 1226, + "id": 1227, "node_type": 17, "kind": 61, "value": "true", @@ -24367,7 +24721,7 @@ "start": 28165, "end": 28168, "length": 4, - "parent_index": 1219 + "parent_index": 1220 }, "type_description": { "type_identifier": "t_bool", @@ -24375,7 +24729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -24385,13 +24740,14 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0x0)]" - } + }, + "text": "allowedTokens[address(0x0)]=true;" } ] } }, { - "id": 1228, + "id": 1229, "node_type": 42, "kind": 71, "src": { @@ -24400,7 +24756,7 @@ "start": 28182, "end": 28210, "length": 29, - "parent_index": 1191 + "parent_index": 1192 }, "implemented": true, "visibility": 1, @@ -24408,7 +24764,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1229, + "id": 1230, "node_type": 43, "src": { "line": 839, @@ -24416,13 +24772,13 @@ "start": 28182, "end": 28210, "length": 29, - "parent_index": 1228 + "parent_index": 1229 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 1230, + "id": 1231, "node_type": 43, "src": { "line": 839, @@ -24430,13 +24786,13 @@ "start": 28182, "end": 28210, "length": 29, - "parent_index": 1228 + "parent_index": 1229 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 1231, + "id": 1232, "node_type": 46, "kind": 0, "src": { @@ -24445,7 +24801,7 @@ "start": 28209, "end": 28210, "length": 2, - "parent_index": 1228 + "parent_index": 1229 }, "implemented": true, "statements": [] @@ -24454,7 +24810,7 @@ "payable": false }, { - "id": 1233, + "id": 1234, "name": "pay", "node_type": 42, "kind": 41, @@ -24464,7 +24820,7 @@ "start": 28217, "end": 29074, "length": 858, - "parent_index": 1191 + "parent_index": 1192 }, "name_location": { "line": 841, @@ -24472,10 +24828,10 @@ "start": 28226, "end": 28228, "length": 3, - "parent_index": 1233 + "parent_index": 1234 }, "body": { - "id": 1244, + "id": 1245, "node_type": 46, "kind": 0, "src": { @@ -24484,12 +24840,12 @@ "start": 28305, "end": 29074, "length": 770, - "parent_index": 1233 + "parent_index": 1234 }, "implemented": true, "statements": [ { - "id": 1245, + "id": 1246, "node_type": 24, "kind": 24, "src": { @@ -24498,7 +24854,7 @@ "start": 28315, "end": 28373, "length": 59, - "parent_index": 1244 + "parent_index": 1245 }, "argument_types": [ { @@ -24512,7 +24868,7 @@ ], "arguments": [ { - "id": 1247, + "id": 1248, "node_type": 22, "src": { "line": 842, @@ -24520,10 +24876,10 @@ "start": 28323, "end": 28342, "length": 20, - "parent_index": 1245 + "parent_index": 1246 }, "index_expression": { - "id": 1248, + "id": 1249, "node_type": 16, "src": { "line": 842, @@ -24531,7 +24887,7 @@ "start": 28323, "end": 28335, "length": 13, - "parent_index": 1247 + "parent_index": 1248 }, "name": "allowedTokens", "type_description": { @@ -24539,11 +24895,12 @@ "type_string": "mapping(address=\u003ebool)" }, "overloaded_declarations": [], - "referenced_declaration": 1166, - "is_pure": false + "referenced_declaration": 1167, + "is_pure": false, + "text": "allowedTokens" }, "base_expression": { - "id": 1249, + "id": 1250, "node_type": 16, "src": { "line": 842, @@ -24551,7 +24908,7 @@ "start": 28337, "end": 28341, "length": 5, - "parent_index": 1247 + "parent_index": 1248 }, "name": "token", "type_description": { @@ -24559,8 +24916,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1249, - "is_pure": false + "referenced_declaration": 1250, + "is_pure": false, + "text": "token" }, "type_descriptions": [ { @@ -24578,7 +24936,7 @@ } }, { - "id": 1250, + "id": 1251, "node_type": 17, "kind": 50, "value": "Payment token not allowed", @@ -24589,7 +24947,7 @@ "start": 28345, "end": 28371, "length": 27, - "parent_index": 1245 + "parent_index": 1246 }, "type_description": { "type_identifier": "t_string_literal", @@ -24603,11 +24961,12 @@ "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" } - ] + ], + "text": "\"Payment token not allowed\"" } ], "expression": { - "id": 1246, + "id": 1247, "node_type": 16, "src": { "line": 842, @@ -24615,7 +24974,7 @@ "start": 28315, "end": 28321, "length": 7, - "parent_index": 1245 + "parent_index": 1246 }, "name": "require", "type_description": { @@ -24624,7 +24983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_string_literal$", @@ -24632,7 +24992,7 @@ } }, { - "id": 1251, + "id": 1252, "node_type": 18, "kind": 105, "src": { @@ -24641,11 +25001,11 @@ "start": 28384, "end": 28394, "length": 11, - "parent_index": 1233 + "parent_index": 1234 }, "operator": 27, "expression": { - "id": 1252, + "id": 1253, "node_type": 16, "src": { "line": 843, @@ -24653,7 +25013,7 @@ "start": 28384, "end": 28392, "length": 9, - "parent_index": 1251 + "parent_index": 1252 }, "name": "paymentId", "type_description": { @@ -24662,7 +25022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1142, - "is_pure": false + "is_pure": false, + "text": "paymentId" }, "type_description": { "type_identifier": "t_uint256", @@ -24675,7 +25036,7 @@ "l_value_requested": false }, { - "id": 1253, + "id": 1254, "node_type": 24, "kind": 24, "src": { @@ -24684,7 +25045,7 @@ "start": 28405, "end": 28447, "length": 43, - "parent_index": 1244 + "parent_index": 1245 }, "argument_types": [ { @@ -24694,7 +25055,7 @@ ], "arguments": [ { - "id": 1259, + "id": 1260, "node_type": 16, "src": { "line": 844, @@ -24702,7 +25063,7 @@ "start": 28438, "end": 28446, "length": 9, - "parent_index": 1253 + "parent_index": 1254 }, "name": "paymentId", "type_description": { @@ -24711,11 +25072,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paymentId" } ], "expression": { - "id": 1254, + "id": 1255, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24727,7 +25089,7 @@ "start": 28405, "end": 28436, "length": 32, - "parent_index": 1253 + "parent_index": 1254 }, "member_location": { "line": 844, @@ -24735,10 +25097,10 @@ "start": 28433, "end": 28436, "length": 4, - "parent_index": 1254 + "parent_index": 1255 }, "expression": { - "id": 1255, + "id": 1256, "node_type": 22, "src": { "line": 844, @@ -24746,10 +25108,10 @@ "start": 28405, "end": 28431, "length": 27, - "parent_index": 1254 + "parent_index": 1255 }, "index_expression": { - "id": 1256, + "id": 1257, "node_type": 16, "src": { "line": 844, @@ -24757,7 +25119,7 @@ "start": 28405, "end": 28419, "length": 15, - "parent_index": 1255 + "parent_index": 1256 }, "name": "_userPaymentIds", "type_description": { @@ -24765,11 +25127,12 @@ "type_string": "mapping(address=\u003euint256[])" }, "overloaded_declarations": [], - "referenced_declaration": 1161, - "is_pure": false + "referenced_declaration": 1162, + "is_pure": false, + "text": "_userPaymentIds" }, "base_expression": { - "id": 1257, + "id": 1258, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24781,7 +25144,7 @@ "start": 28421, "end": 28430, "length": 10, - "parent_index": 1255 + "parent_index": 1256 }, "member_location": { "line": 844, @@ -24789,10 +25152,10 @@ "start": 28425, "end": 28430, "length": 6, - "parent_index": 1257 + "parent_index": 1258 }, "expression": { - "id": 1258, + "id": 1259, "node_type": 16, "src": { "line": 844, @@ -24800,7 +25163,7 @@ "start": 28421, "end": 28423, "length": 3, - "parent_index": 1257 + "parent_index": 1258 }, "name": "msg", "type_description": { @@ -24809,14 +25172,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -24838,7 +25203,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256_array$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256[]):address]" - } + }, + "text": "_userPaymentIds[msg.sender].push" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -24846,7 +25212,7 @@ } }, { - "id": 1260, + "id": 1261, "node_type": 48, "src": { "line": 845, @@ -24854,10 +25220,10 @@ "start": 28458, "end": 29067, "length": 610, - "parent_index": 1244 + "parent_index": 1245 }, "condition": { - "id": 1261, + "id": 1262, "is_constant": false, "is_pure": false, "node_type": 19, @@ -24867,11 +25233,11 @@ "start": 28461, "end": 28481, "length": 21, - "parent_index": 1260 + "parent_index": 1261 }, "operator": 11, "left_expression": { - "id": 1262, + "id": 1263, "node_type": 16, "src": { "line": 845, @@ -24879,7 +25245,7 @@ "start": 28461, "end": 28465, "length": 5, - "parent_index": 1261 + "parent_index": 1262 }, "name": "token", "type_description": { @@ -24887,11 +25253,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1262, - "is_pure": false + "referenced_declaration": 1263, + "is_pure": false, + "text": "token" }, "right_expression": { - "id": 1263, + "id": 1264, "node_type": 24, "kind": 24, "src": { @@ -24900,7 +25267,7 @@ "start": 28470, "end": 28481, "length": 12, - "parent_index": 1261 + "parent_index": 1262 }, "argument_types": [ { @@ -24910,7 +25277,7 @@ ], "arguments": [ { - "id": 1266, + "id": 1267, "node_type": 17, "kind": 49, "value": "0x0", @@ -24921,7 +25288,7 @@ "start": 28478, "end": 28480, "length": 3, - "parent_index": 1263 + "parent_index": 1264 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -24929,11 +25296,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0" } ], "expression": { - "id": 1264, + "id": 1265, "node_type": 16, "src": { "line": 845, @@ -24941,11 +25309,11 @@ "start": 28470, "end": 28476, "length": 7, - "parent_index": 1263 + "parent_index": 1264 }, "name": "address", "type_name": { - "id": 1265, + "id": 1266, "node_type": 30, "src": { "line": 845, @@ -24953,7 +25321,7 @@ "start": 28470, "end": 28476, "length": 7, - "parent_index": 1264 + "parent_index": 1265 }, "name": "address", "state_mutability": 4, @@ -24975,7 +25343,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -24988,7 +25357,7 @@ } }, "body": { - "id": 1267, + "id": 1268, "node_type": 46, "kind": 0, "src": { @@ -24997,12 +25366,12 @@ "start": 28483, "end": 28737, "length": 255, - "parent_index": 1233 + "parent_index": 1234 }, "implemented": true, "statements": [ { - "id": 1268, + "id": 1269, "node_type": 24, "kind": 24, "src": { @@ -25011,7 +25380,7 @@ "start": 28497, "end": 28554, "length": 58, - "parent_index": 1267 + "parent_index": 1268 }, "argument_types": [ { @@ -25025,7 +25394,7 @@ ], "arguments": [ { - "id": 1270, + "id": 1271, "is_constant": false, "is_pure": false, "node_type": 19, @@ -25035,11 +25404,11 @@ "start": 28505, "end": 28517, "length": 13, - "parent_index": 1268 + "parent_index": 1269 }, "operator": 7, "left_expression": { - "id": 1271, + "id": 1272, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25051,7 +25420,7 @@ "start": 28505, "end": 28513, "length": 9, - "parent_index": 1270 + "parent_index": 1271 }, "member_location": { "line": 846, @@ -25059,10 +25428,10 @@ "start": 28509, "end": 28513, "length": 5, - "parent_index": 1271 + "parent_index": 1272 }, "expression": { - "id": 1272, + "id": 1273, "node_type": 16, "src": { "line": 846, @@ -25070,7 +25439,7 @@ "start": 28505, "end": 28507, "length": 3, - "parent_index": 1271 + "parent_index": 1272 }, "name": "msg", "type_description": { @@ -25079,17 +25448,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { - "id": 1273, + "id": 1274, "node_type": 17, "kind": 49, "value": "0", @@ -25100,7 +25471,7 @@ "start": 28517, "end": 28517, "length": 1, - "parent_index": 1270 + "parent_index": 1271 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -25108,7 +25479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25116,7 +25488,7 @@ } }, { - "id": 1274, + "id": 1275, "node_type": 17, "kind": 50, "value": "payment should be greater than 0", @@ -25127,7 +25499,7 @@ "start": 28520, "end": 28553, "length": 34, - "parent_index": 1268 + "parent_index": 1269 }, "type_description": { "type_identifier": "t_string_literal", @@ -25141,11 +25513,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"payment should be greater than 0\"" } ], "expression": { - "id": 1269, + "id": 1270, "node_type": 16, "src": { "line": 846, @@ -25153,7 +25526,7 @@ "start": 28497, "end": 28503, "length": 7, - "parent_index": 1268 + "parent_index": 1269 }, "name": "require", "type_description": { @@ -25162,7 +25535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -25170,7 +25544,7 @@ } }, { - "id": 1275, + "id": 1276, "node_type": 27, "src": { "line": 847, @@ -25178,10 +25552,10 @@ "start": 28569, "end": 28657, "length": 89, - "parent_index": 1267 + "parent_index": 1268 }, "expression": { - "id": 1276, + "id": 1277, "node_type": 27, "src": { "line": 847, @@ -25189,11 +25563,11 @@ "start": 28569, "end": 28656, "length": 88, - "parent_index": 1275 + "parent_index": 1276 }, "operator": 11, "left_expression": { - "id": 1277, + "id": 1278, "node_type": 22, "src": { "line": 847, @@ -25201,10 +25575,10 @@ "start": 28569, "end": 28605, "length": 37, - "parent_index": 1276 + "parent_index": 1277 }, "index_expression": { - "id": 1278, + "id": 1279, "node_type": 22, "src": { "line": 847, @@ -25212,10 +25586,10 @@ "start": 28569, "end": 28593, "length": 25, - "parent_index": 1277 + "parent_index": 1278 }, "index_expression": { - "id": 1279, + "id": 1280, "node_type": 16, "src": { "line": 847, @@ -25223,19 +25597,20 @@ "start": 28569, "end": 28582, "length": 14, - "parent_index": 1278 + "parent_index": 1279 }, "name": "paymentHistory", "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "type_string": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, "overloaded_declarations": [], "referenced_declaration": 1153, - "is_pure": false + "is_pure": false, + "text": "paymentHistory" }, "base_expression": { - "id": 1280, + "id": 1281, "node_type": 16, "src": { "line": 847, @@ -25243,7 +25618,7 @@ "start": 28584, "end": 28592, "length": 9, - "parent_index": 1278 + "parent_index": 1279 }, "name": "paymentId", "type_description": { @@ -25252,11 +25627,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 1142, - "is_pure": false + "is_pure": false, + "text": "paymentId" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "type_string": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, { @@ -25265,12 +25641,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]" } }, "base_expression": { - "id": 1281, + "id": 1282, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25282,7 +25658,7 @@ "start": 28595, "end": 28604, "length": 10, - "parent_index": 1277 + "parent_index": 1278 }, "member_location": { "line": 847, @@ -25290,10 +25666,10 @@ "start": 28599, "end": 28604, "length": 6, - "parent_index": 1281 + "parent_index": 1282 }, "expression": { - "id": 1282, + "id": 1283, "node_type": 16, "src": { "line": 847, @@ -25301,7 +25677,7 @@ "start": 28595, "end": 28597, "length": 3, - "parent_index": 1281 + "parent_index": 1282 }, "name": "msg", "type_description": { @@ -25310,18 +25686,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]" }, { @@ -25330,12 +25708,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$]$_t_address]$", "type_string": "index[index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]:address]" } }, "right_expression": { - "id": 1283, + "id": 1284, "node_type": 24, "kind": 24, "src": { @@ -25344,7 +25722,7 @@ "start": 28609, "end": 28656, "length": 48, - "parent_index": 1276 + "parent_index": 1277 }, "argument_types": [ { @@ -25362,7 +25740,7 @@ ], "arguments": [ { - "id": 1285, + "id": 1286, "node_type": 16, "src": { "line": 847, @@ -25370,7 +25748,7 @@ "start": 28623, "end": 28627, "length": 5, - "parent_index": 1283 + "parent_index": 1284 }, "name": "token", "type_description": { @@ -25378,11 +25756,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1285, - "is_pure": false + "referenced_declaration": 1286, + "is_pure": false, + "text": "token" }, { - "id": 1286, + "id": 1287, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25394,7 +25773,7 @@ "start": 28630, "end": 28638, "length": 9, - "parent_index": 1283 + "parent_index": 1284 }, "member_location": { "line": 847, @@ -25402,10 +25781,10 @@ "start": 28634, "end": 28638, "length": 5, - "parent_index": 1286 + "parent_index": 1287 }, "expression": { - "id": 1287, + "id": 1288, "node_type": 16, "src": { "line": 847, @@ -25413,7 +25792,7 @@ "start": 28630, "end": 28632, "length": 3, - "parent_index": 1286 + "parent_index": 1287 }, "name": "msg", "type_description": { @@ -25422,7 +25801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [ @@ -25434,10 +25814,11 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, { - "id": 1288, + "id": 1289, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25449,7 +25830,7 @@ "start": 28641, "end": 28655, "length": 15, - "parent_index": 1283 + "parent_index": 1284 }, "member_location": { "line": 847, @@ -25457,10 +25838,10 @@ "start": 28647, "end": 28655, "length": 9, - "parent_index": 1288 + "parent_index": 1289 }, "expression": { - "id": 1289, + "id": 1290, "node_type": 16, "src": { "line": 847, @@ -25468,7 +25849,7 @@ "start": 28641, "end": 28645, "length": 5, - "parent_index": 1288 + "parent_index": 1289 }, "name": "block", "type_description": { @@ -25477,7 +25858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -25493,11 +25875,12 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 1284, + "id": 1285, "node_type": 16, "src": { "line": 847, @@ -25505,7 +25888,7 @@ "start": 28609, "end": 28621, "length": 13, - "parent_index": 1283 + "parent_index": 1284 }, "name": "PaymentDetail", "type_description": { @@ -25514,7 +25897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "PaymentDetail" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$", @@ -25522,17 +25906,18 @@ } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$]$_t_address]$", "type_string": "index[index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]:address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$]$_t_address]$", "type_string": "index[index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]:address]" - } + }, + "text": "paymentHistory[paymentId][msg.sender]=PaymentDetail(token,msg.value,block.timestamp);" }, { - "id": 1290, + "id": 1291, "node_type": 64, "src": { "line": 848, @@ -25540,11 +25925,11 @@ "start": 28671, "end": 28727, "length": 57, - "parent_index": 1233 + "parent_index": 1234 }, "arguments": [ { - "id": 1291, + "id": 1292, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25556,7 +25941,7 @@ "start": 28681, "end": 28690, "length": 10, - "parent_index": 1290 + "parent_index": 1291 }, "member_location": { "line": 848, @@ -25564,10 +25949,10 @@ "start": 28685, "end": 28690, "length": 6, - "parent_index": 1291 + "parent_index": 1292 }, "expression": { - "id": 1292, + "id": 1293, "node_type": 16, "src": { "line": 848, @@ -25575,7 +25960,7 @@ "start": 28681, "end": 28683, "length": 3, - "parent_index": 1291 + "parent_index": 1292 }, "name": "msg", "type_description": { @@ -25584,17 +25969,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 1293, + "id": 1294, "node_type": 16, "src": { "line": 848, @@ -25602,7 +25989,7 @@ "start": 28693, "end": 28697, "length": 5, - "parent_index": 1290 + "parent_index": 1291 }, "name": "token", "type_description": { @@ -25610,11 +25997,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1293, - "is_pure": false + "referenced_declaration": 1294, + "is_pure": false, + "text": "token" }, { - "id": 1294, + "id": 1295, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25626,7 +26014,7 @@ "start": 28700, "end": 28708, "length": 9, - "parent_index": 1290 + "parent_index": 1291 }, "member_location": { "line": 848, @@ -25634,10 +26022,10 @@ "start": 28704, "end": 28708, "length": 5, - "parent_index": 1294 + "parent_index": 1295 }, "expression": { - "id": 1295, + "id": 1296, "node_type": 16, "src": { "line": 848, @@ -25645,7 +26033,7 @@ "start": 28700, "end": 28702, "length": 3, - "parent_index": 1294 + "parent_index": 1295 }, "name": "msg", "type_description": { @@ -25654,17 +26042,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, { - "id": 1296, + "id": 1297, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25676,7 +26066,7 @@ "start": 28711, "end": 28725, "length": 15, - "parent_index": 1290 + "parent_index": 1291 }, "member_location": { "line": 848, @@ -25684,10 +26074,10 @@ "start": 28717, "end": 28725, "length": 9, - "parent_index": 1296 + "parent_index": 1297 }, "expression": { - "id": 1297, + "id": 1298, "node_type": 16, "src": { "line": 848, @@ -25695,7 +26085,7 @@ "start": 28711, "end": 28715, "length": 5, - "parent_index": 1296 + "parent_index": 1297 }, "name": "block", "type_description": { @@ -25704,18 +26094,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 1298, + "id": 1299, "node_type": 16, "src": { "line": 848, @@ -25723,16 +26115,17 @@ "start": 28676, "end": 28679, "length": 4, - "parent_index": 1290 + "parent_index": 1291 }, "name": "Paid", "type_description": { - "type_identifier": "t_event\u0026_PaymentStorage_Paid_\u00261171", + "type_identifier": "t_event\u0026_PaymentStorage_Paid_\u00261172", "type_string": "event PaymentStorage.Paid" }, "overloaded_declarations": [], - "referenced_declaration": 1171, - "is_pure": false + "referenced_declaration": 1172, + "is_pure": false, + "text": "Paid" } } ] @@ -25746,7 +26139,7 @@ "virtual": false, "modifiers": [ { - "id": 1239, + "id": 1240, "name": "whenNotPaused", "node_type": 72, "kind": 72, @@ -25756,12 +26149,12 @@ "start": 28278, "end": 28290, "length": 13, - "parent_index": 1233 + "parent_index": 1234 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 1240, + "id": 1241, "name": "whenNotPaused", "node_type": 0, "src": { @@ -25770,12 +26163,12 @@ "start": 28278, "end": 28290, "length": 13, - "parent_index": 1239 + "parent_index": 1240 } } }, { - "id": 1241, + "id": 1242, "name": "nonReentrant", "node_type": 72, "kind": 72, @@ -25785,12 +26178,12 @@ "start": 28292, "end": 28303, "length": 12, - "parent_index": 1233 + "parent_index": 1234 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 1242, + "id": 1243, "name": "nonReentrant", "node_type": 0, "src": { @@ -25799,14 +26192,14 @@ "start": 28292, "end": 28303, "length": 12, - "parent_index": 1241 + "parent_index": 1242 } } } ], "overrides": [], "parameters": { - "id": 1234, + "id": 1235, "node_type": 43, "src": { "line": 841, @@ -25814,11 +26207,11 @@ "start": 28230, "end": 28258, "length": 29, - "parent_index": 1233 + "parent_index": 1234 }, "parameters": [ { - "id": 1235, + "id": 1236, "node_type": 44, "src": { "line": 841, @@ -25826,12 +26219,12 @@ "start": 28230, "end": 28242, "length": 13, - "parent_index": 1234 + "parent_index": 1235 }, - "scope": 1233, + "scope": 1234, "name": "token", "type_name": { - "id": 1236, + "id": 1237, "node_type": 30, "src": { "line": 841, @@ -25839,7 +26232,7 @@ "start": 28230, "end": 28236, "length": 7, - "parent_index": 1235 + "parent_index": 1236 }, "name": "address", "state_mutability": 4, @@ -25858,7 +26251,7 @@ } }, { - "id": 1237, + "id": 1238, "node_type": 44, "src": { "line": 841, @@ -25866,12 +26259,12 @@ "start": 28245, "end": 28258, "length": 14, - "parent_index": 1234 + "parent_index": 1235 }, - "scope": 1233, + "scope": 1234, "name": "amount", "type_name": { - "id": 1238, + "id": 1239, "node_type": 30, "src": { "line": 841, @@ -25879,7 +26272,7 @@ "start": 28245, "end": 28251, "length": 7, - "parent_index": 1237 + "parent_index": 1238 }, "name": "uint256", "referenced_declaration": 0, @@ -25909,7 +26302,7 @@ ] }, "return_parameters": { - "id": 1243, + "id": 1244, "node_type": 43, "src": { "line": 841, @@ -25917,21 +26310,22 @@ "start": 28217, "end": 29074, "length": 858, - "parent_index": 1233 + "parent_index": 1234 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "pay(address, uint256)", - "signature": "049611d3", - "scope": 1191, + "signature_raw": "pay(address,uint256)", + "signature": "c4076876", + "scope": 1192, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionpay(addresstoken,uint256amount)externalpayablewhenNotPausednonReentrant{require(allowedTokens[token],\"Payment token not allowed\");paymentId++;_userPaymentIds[msg.sender].push(paymentId);if(token==address(0x0)){require(msg.value\u003e0,\"payment should be greater than 0\");paymentHistory[paymentId][msg.sender]=PaymentDetail(token,msg.value,block.timestamp);emitPaid(msg.sender,token,msg.value,block.timestamp);}else{require(amount\u003e0,\"payment should be greater than 0\");IERC20(token).safeTransferFrom(msg.sender,address(this),amount);paymentHistory[paymentId][msg.sender]=PaymentDetail(token,amount,block.timestamp);emitPaid(msg.sender,token,amount,block.timestamp);}}" }, { - "id": 1300, + "id": 1301, "name": "pause", "node_type": 42, "kind": 41, @@ -25941,7 +26335,7 @@ "start": 29081, "end": 29155, "length": 75, - "parent_index": 1191 + "parent_index": 1192 }, "name_location": { "line": 859, @@ -25949,10 +26343,10 @@ "start": 29090, "end": 29094, "length": 5, - "parent_index": 1300 + "parent_index": 1301 }, "body": { - "id": 1307, + "id": 1308, "node_type": 46, "kind": 0, "src": { @@ -25961,12 +26355,12 @@ "start": 29131, "end": 29155, "length": 25, - "parent_index": 1300 + "parent_index": 1301 }, "implemented": true, "statements": [ { - "id": 1308, + "id": 1309, "node_type": 24, "kind": 24, "src": { @@ -25975,12 +26369,12 @@ "start": 29141, "end": 29148, "length": 8, - "parent_index": 1307 + "parent_index": 1308 }, "argument_types": [], "arguments": [], "expression": { - "id": 1309, + "id": 1310, "node_type": 16, "src": { "line": 860, @@ -25988,7 +26382,7 @@ "start": 29141, "end": 29146, "length": 6, - "parent_index": 1308 + "parent_index": 1309 }, "name": "_pause", "type_description": { @@ -25997,7 +26391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_pause" }, "type_description": { "type_identifier": "t_function_$", @@ -26012,7 +26407,7 @@ "virtual": false, "modifiers": [ { - "id": 1302, + "id": 1303, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -26022,12 +26417,12 @@ "start": 29098, "end": 29106, "length": 9, - "parent_index": 1300 + "parent_index": 1301 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 1303, + "id": 1304, "name": "onlyOwner", "node_type": 0, "src": { @@ -26036,12 +26431,12 @@ "start": 29098, "end": 29106, "length": 9, - "parent_index": 1302 + "parent_index": 1303 } } }, { - "id": 1304, + "id": 1305, "name": "whenNotPaused", "node_type": 72, "kind": 72, @@ -26051,12 +26446,12 @@ "start": 29108, "end": 29120, "length": 13, - "parent_index": 1300 + "parent_index": 1301 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 1305, + "id": 1306, "name": "whenNotPaused", "node_type": 0, "src": { @@ -26065,14 +26460,14 @@ "start": 29108, "end": 29120, "length": 13, - "parent_index": 1304 + "parent_index": 1305 } } } ], "overrides": [], "parameters": { - "id": 1301, + "id": 1302, "node_type": 43, "src": { "line": 859, @@ -26080,13 +26475,13 @@ "start": 29081, "end": 29155, "length": 75, - "parent_index": 1300 + "parent_index": 1301 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 1306, + "id": 1307, "node_type": 43, "src": { "line": 859, @@ -26094,21 +26489,22 @@ "start": 29081, "end": 29155, "length": 75, - "parent_index": 1300 + "parent_index": 1301 }, "parameters": [], "parameter_types": [] }, "signature_raw": "pause()", "signature": "8456cb59", - "scope": 1191, + "scope": 1192, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionpause()onlyOwnerwhenNotPausedexternal{_pause();}" }, { - "id": 1311, + "id": 1312, "name": "unpause", "node_type": 42, "kind": 41, @@ -26118,7 +26514,7 @@ "start": 29162, "end": 29237, "length": 76, - "parent_index": 1191 + "parent_index": 1192 }, "name_location": { "line": 863, @@ -26126,10 +26522,10 @@ "start": 29171, "end": 29177, "length": 7, - "parent_index": 1311 + "parent_index": 1312 }, "body": { - "id": 1318, + "id": 1319, "node_type": 46, "kind": 0, "src": { @@ -26138,12 +26534,12 @@ "start": 29211, "end": 29237, "length": 27, - "parent_index": 1311 + "parent_index": 1312 }, "implemented": true, "statements": [ { - "id": 1319, + "id": 1320, "node_type": 24, "kind": 24, "src": { @@ -26152,12 +26548,12 @@ "start": 29221, "end": 29230, "length": 10, - "parent_index": 1318 + "parent_index": 1319 }, "argument_types": [], "arguments": [], "expression": { - "id": 1320, + "id": 1321, "node_type": 16, "src": { "line": 864, @@ -26165,7 +26561,7 @@ "start": 29221, "end": 29228, "length": 8, - "parent_index": 1319 + "parent_index": 1320 }, "name": "_unpause", "type_description": { @@ -26174,7 +26570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_unpause" }, "type_description": { "type_identifier": "t_function_$", @@ -26189,7 +26586,7 @@ "virtual": false, "modifiers": [ { - "id": 1313, + "id": 1314, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -26199,12 +26596,12 @@ "start": 29181, "end": 29189, "length": 9, - "parent_index": 1311 + "parent_index": 1312 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 1314, + "id": 1315, "name": "onlyOwner", "node_type": 0, "src": { @@ -26213,12 +26610,12 @@ "start": 29181, "end": 29189, "length": 9, - "parent_index": 1313 + "parent_index": 1314 } } }, { - "id": 1315, + "id": 1316, "name": "whenPaused", "node_type": 72, "kind": 72, @@ -26228,12 +26625,12 @@ "start": 29191, "end": 29200, "length": 10, - "parent_index": 1311 + "parent_index": 1312 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 1316, + "id": 1317, "name": "whenPaused", "node_type": 0, "src": { @@ -26242,14 +26639,14 @@ "start": 29191, "end": 29200, "length": 10, - "parent_index": 1315 + "parent_index": 1316 } } } ], "overrides": [], "parameters": { - "id": 1312, + "id": 1313, "node_type": 43, "src": { "line": 863, @@ -26257,13 +26654,13 @@ "start": 29162, "end": 29237, "length": 76, - "parent_index": 1311 + "parent_index": 1312 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 1317, + "id": 1318, "node_type": 43, "src": { "line": 863, @@ -26271,21 +26668,22 @@ "start": 29162, "end": 29237, "length": 76, - "parent_index": 1311 + "parent_index": 1312 }, "parameters": [], "parameter_types": [] }, "signature_raw": "unpause()", "signature": "3f4ba83a", - "scope": 1191, + "scope": 1192, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionunpause()onlyOwnerwhenPausedexternal{_unpause();}" }, { - "id": 1322, + "id": 1323, "name": "withdrawEth", "node_type": 42, "kind": 41, @@ -26295,7 +26693,7 @@ "start": 29272, "end": 29433, "length": 162, - "parent_index": 1191 + "parent_index": 1192 }, "name_location": { "line": 868, @@ -26303,10 +26701,10 @@ "start": 29281, "end": 29291, "length": 11, - "parent_index": 1322 + "parent_index": 1323 }, "body": { - "id": 1327, + "id": 1328, "node_type": 46, "kind": 0, "src": { @@ -26315,12 +26713,12 @@ "start": 29314, "end": 29433, "length": 120, - "parent_index": 1322 + "parent_index": 1323 }, "implemented": true, "statements": [ { - "id": 1328, + "id": 1329, "node_type": 44, "src": { "line": 869, @@ -26328,25 +26726,25 @@ "start": 29324, "end": 29401, "length": 78, - "parent_index": 1327 + "parent_index": 1328 }, "assignments": [ - 1329 + 1330 ], "declarations": [ { - "id": 1329, + "id": 1330, "state_mutability": 1, "name": "success", "node_type": 44, - "scope": 1327, + "scope": 1328, "src": { "line": 869, "column": 9, "start": 29325, "end": 29336, "length": 12, - "parent_index": 1328 + "parent_index": 1329 }, "name_location": { "line": 869, @@ -26354,12 +26752,12 @@ "start": 29330, "end": 29336, "length": 7, - "parent_index": 1329 + "parent_index": 1330 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1330, + "id": 1331, "node_type": 30, "src": { "line": 869, @@ -26367,7 +26765,7 @@ "start": 29325, "end": 29328, "length": 4, - "parent_index": 1329 + "parent_index": 1330 }, "name": "bool", "referenced_declaration": 0, @@ -26380,7 +26778,7 @@ } ], "initial_value": { - "id": 1331, + "id": 1332, "node_type": 24, "kind": 24, "src": { @@ -26389,7 +26787,7 @@ "start": 29343, "end": 29400, "length": 58, - "parent_index": 1328 + "parent_index": 1329 }, "argument_types": [ { @@ -26399,7 +26797,7 @@ ], "arguments": [ { - "id": 1337, + "id": 1338, "node_type": 17, "kind": 50, "src": { @@ -26408,7 +26806,7 @@ "start": 29398, "end": 29399, "length": 2, - "parent_index": 1331 + "parent_index": 1332 }, "type_description": { "type_identifier": "t_string_literal", @@ -26416,11 +26814,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { - "id": 1332, + "id": 1333, "node_type": 93, "kind": 93, "src": { @@ -26429,10 +26828,10 @@ "start": 29343, "end": 29396, "length": 54, - "parent_index": 1331 + "parent_index": 1332 }, "expression": { - "id": 1333, + "id": 1334, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26444,7 +26843,7 @@ "start": 29343, "end": 29366, "length": 24, - "parent_index": 1332 + "parent_index": 1333 }, "member_location": { "line": 869, @@ -26452,10 +26851,10 @@ "start": 29363, "end": 29366, "length": 4, - "parent_index": 1333 + "parent_index": 1334 }, "expression": { - "id": 1334, + "id": 1335, "node_type": 84, "src": { "line": 869, @@ -26463,11 +26862,11 @@ "start": 29343, "end": 29361, "length": 19, - "parent_index": 1333 + "parent_index": 1334 }, "arguments": [ { - "id": 1335, + "id": 1336, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26479,7 +26878,7 @@ "start": 29351, "end": 29360, "length": 10, - "parent_index": 1334 + "parent_index": 1335 }, "member_location": { "line": 869, @@ -26487,10 +26886,10 @@ "start": 29355, "end": 29360, "length": 6, - "parent_index": 1335 + "parent_index": 1336 }, "expression": { - "id": 1336, + "id": 1337, "node_type": 16, "src": { "line": 869, @@ -26498,7 +26897,7 @@ "start": 29351, "end": 29353, "length": 3, - "parent_index": 1335 + "parent_index": 1336 }, "name": "msg", "type_description": { @@ -26507,14 +26906,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "argument_types": [ @@ -26534,7 +26935,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(msg.sender).call" }, "type_description": { "type_identifier": "t_function_payable$_t_address$", @@ -26548,7 +26950,7 @@ } }, { - "id": 1338, + "id": 1339, "node_type": 24, "kind": 24, "src": { @@ -26557,7 +26959,7 @@ "start": 29411, "end": 29426, "length": 16, - "parent_index": 1327 + "parent_index": 1328 }, "argument_types": [ { @@ -26567,7 +26969,7 @@ ], "arguments": [ { - "id": 1340, + "id": 1341, "node_type": 16, "src": { "line": 870, @@ -26575,7 +26977,7 @@ "start": 29419, "end": 29425, "length": 7, - "parent_index": 1338 + "parent_index": 1339 }, "name": "success", "type_description": { @@ -26583,12 +26985,13 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 1328, - "is_pure": false + "referenced_declaration": 1329, + "is_pure": false, + "text": "success" } ], "expression": { - "id": 1339, + "id": 1340, "node_type": 16, "src": { "line": 870, @@ -26596,7 +26999,7 @@ "start": 29411, "end": 29417, "length": 7, - "parent_index": 1338 + "parent_index": 1339 }, "name": "require", "type_description": { @@ -26605,7 +27008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -26620,7 +27024,7 @@ "virtual": false, "modifiers": [ { - "id": 1324, + "id": 1325, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -26630,12 +27034,12 @@ "start": 29304, "end": 29312, "length": 9, - "parent_index": 1322 + "parent_index": 1323 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 1325, + "id": 1326, "name": "onlyOwner", "node_type": 0, "src": { @@ -26644,14 +27048,14 @@ "start": 29304, "end": 29312, "length": 9, - "parent_index": 1324 + "parent_index": 1325 } } } ], "overrides": [], "parameters": { - "id": 1323, + "id": 1324, "node_type": 43, "src": { "line": 868, @@ -26659,13 +27063,13 @@ "start": 29272, "end": 29433, "length": 162, - "parent_index": 1322 + "parent_index": 1323 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 1326, + "id": 1327, "node_type": 43, "src": { "line": 868, @@ -26673,21 +27077,22 @@ "start": 29272, "end": 29433, "length": 162, - "parent_index": 1322 + "parent_index": 1323 }, "parameters": [], "parameter_types": [] }, "signature_raw": "withdrawEth()", "signature": "a0ef91df", - "scope": 1191, + "scope": 1192, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawEth()externalonlyOwner{(boolsuccess,)=payable(msg.sender).call{value:address(this).balance}(\"\");require(success);}" }, { - "id": 1342, + "id": 1343, "name": "withdrawToken", "node_type": 42, "kind": 41, @@ -26697,7 +27102,7 @@ "start": 29465, "end": 29706, "length": 242, - "parent_index": 1191 + "parent_index": 1192 }, "name_location": { "line": 874, @@ -26705,10 +27110,10 @@ "start": 29474, "end": 29486, "length": 13, - "parent_index": 1342 + "parent_index": 1343 }, "body": { - "id": 1349, + "id": 1350, "node_type": 46, "kind": 0, "src": { @@ -26717,12 +27122,12 @@ "start": 29522, "end": 29706, "length": 185, - "parent_index": 1342 + "parent_index": 1343 }, "implemented": true, "statements": [ { - "id": 1350, + "id": 1351, "node_type": 24, "kind": 24, "src": { @@ -26731,7 +27136,7 @@ "start": 29532, "end": 29580, "length": 49, - "parent_index": 1349 + "parent_index": 1350 }, "argument_types": [ { @@ -26745,7 +27150,7 @@ ], "arguments": [ { - "id": 1352, + "id": 1353, "is_constant": false, "is_pure": false, "node_type": 19, @@ -26755,11 +27160,11 @@ "start": 29540, "end": 29560, "length": 21, - "parent_index": 1350 + "parent_index": 1351 }, "operator": 12, "left_expression": { - "id": 1353, + "id": 1354, "node_type": 16, "src": { "line": 875, @@ -26767,7 +27172,7 @@ "start": 29540, "end": 29544, "length": 5, - "parent_index": 1352 + "parent_index": 1353 }, "name": "token", "type_description": { @@ -26775,11 +27180,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1353, - "is_pure": false + "referenced_declaration": 1354, + "is_pure": false, + "text": "token" }, "right_expression": { - "id": 1354, + "id": 1355, "node_type": 24, "kind": 24, "src": { @@ -26788,7 +27194,7 @@ "start": 29549, "end": 29560, "length": 12, - "parent_index": 1352 + "parent_index": 1353 }, "argument_types": [ { @@ -26798,7 +27204,7 @@ ], "arguments": [ { - "id": 1357, + "id": 1358, "node_type": 17, "kind": 49, "value": "0x0", @@ -26809,7 +27215,7 @@ "start": 29557, "end": 29559, "length": 3, - "parent_index": 1354 + "parent_index": 1355 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -26817,11 +27223,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0" } ], "expression": { - "id": 1355, + "id": 1356, "node_type": 16, "src": { "line": 875, @@ -26829,11 +27236,11 @@ "start": 29549, "end": 29555, "length": 7, - "parent_index": 1354 + "parent_index": 1355 }, "name": "address", "type_name": { - "id": 1356, + "id": 1357, "node_type": 30, "src": { "line": 875, @@ -26841,7 +27248,7 @@ "start": 29549, "end": 29555, "length": 7, - "parent_index": 1355 + "parent_index": 1356 }, "name": "address", "state_mutability": 4, @@ -26863,7 +27270,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -26876,7 +27284,7 @@ } }, { - "id": 1358, + "id": 1359, "node_type": 17, "kind": 50, "value": "invalid address", @@ -26887,7 +27295,7 @@ "start": 29563, "end": 29579, "length": 17, - "parent_index": 1350 + "parent_index": 1351 }, "type_description": { "type_identifier": "t_string_literal", @@ -26901,11 +27309,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"invalid address\"" } ], "expression": { - "id": 1351, + "id": 1352, "node_type": 16, "src": { "line": 875, @@ -26913,7 +27322,7 @@ "start": 29532, "end": 29538, "length": 7, - "parent_index": 1350 + "parent_index": 1351 }, "name": "require", "type_description": { @@ -26922,7 +27331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -26930,7 +27340,7 @@ } }, { - "id": 1359, + "id": 1360, "node_type": 44, "src": { "line": 876, @@ -26938,25 +27348,25 @@ "start": 29591, "end": 29647, "length": 57, - "parent_index": 1349 + "parent_index": 1350 }, "assignments": [ - 1360 + 1361 ], "declarations": [ { - "id": 1360, + "id": 1361, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 1349, + "scope": 1350, "src": { "line": 876, "column": 8, "start": 29591, "end": 29605, "length": 15, - "parent_index": 1359 + "parent_index": 1360 }, "name_location": { "line": 876, @@ -26964,12 +27374,12 @@ "start": 29599, "end": 29605, "length": 7, - "parent_index": 1360 + "parent_index": 1361 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1361, + "id": 1362, "node_type": 30, "src": { "line": 876, @@ -26977,7 +27387,7 @@ "start": 29591, "end": 29597, "length": 7, - "parent_index": 1360 + "parent_index": 1361 }, "name": "uint256", "referenced_declaration": 0, @@ -26990,7 +27400,7 @@ } ], "initial_value": { - "id": 1362, + "id": 1363, "node_type": 24, "kind": 24, "src": { @@ -26999,7 +27409,7 @@ "start": 29609, "end": 29646, "length": 38, - "parent_index": 1359 + "parent_index": 1360 }, "argument_types": [ { @@ -27009,7 +27419,7 @@ ], "arguments": [ { - "id": 1367, + "id": 1368, "node_type": 24, "kind": 24, "src": { @@ -27018,17 +27428,17 @@ "start": 29633, "end": 29645, "length": 13, - "parent_index": 1362 + "parent_index": 1363 }, "argument_types": [ { - "type_identifier": "t_contract$_Payment_$1181", + "type_identifier": "t_contract$_Payment_$1182", "type_string": "contract Payment" } ], "arguments": [ { - "id": 1370, + "id": 1371, "node_type": 16, "src": { "line": 876, @@ -27036,20 +27446,21 @@ "start": 29641, "end": 29644, "length": 4, - "parent_index": 1367 + "parent_index": 1368 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_Payment_$1181", + "type_identifier": "t_contract$_Payment_$1182", "type_string": "contract Payment" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 1368, + "id": 1369, "node_type": 16, "src": { "line": 876, @@ -27057,11 +27468,11 @@ "start": 29633, "end": 29639, "length": 7, - "parent_index": 1367 + "parent_index": 1368 }, "name": "address", "type_name": { - "id": 1369, + "id": 1370, "node_type": 30, "src": { "line": 876, @@ -27069,7 +27480,7 @@ "start": 29633, "end": 29639, "length": 7, - "parent_index": 1368 + "parent_index": 1369 }, "name": "address", "state_mutability": 4, @@ -27091,7 +27502,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27100,7 +27512,7 @@ } ], "expression": { - "id": 1363, + "id": 1364, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27112,7 +27524,7 @@ "start": 29609, "end": 29631, "length": 23, - "parent_index": 1362 + "parent_index": 1363 }, "member_location": { "line": 876, @@ -27120,10 +27532,10 @@ "start": 29623, "end": 29631, "length": 9, - "parent_index": 1363 + "parent_index": 1364 }, "expression": { - "id": 1364, + "id": 1365, "node_type": 24, "kind": 24, "src": { @@ -27132,7 +27544,7 @@ "start": 29609, "end": 29621, "length": 13, - "parent_index": 1363 + "parent_index": 1364 }, "argument_types": [ { @@ -27142,7 +27554,7 @@ ], "arguments": [ { - "id": 1366, + "id": 1367, "node_type": 16, "src": { "line": 876, @@ -27150,7 +27562,7 @@ "start": 29616, "end": 29620, "length": 5, - "parent_index": 1364 + "parent_index": 1365 }, "name": "token", "type_description": { @@ -27158,12 +27570,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1366, - "is_pure": false + "referenced_declaration": 1367, + "is_pure": false, + "text": "token" } ], "expression": { - "id": 1365, + "id": 1366, "node_type": 16, "src": { "line": 876, @@ -27171,7 +27584,7 @@ "start": 29609, "end": 29614, "length": 6, - "parent_index": 1364 + "parent_index": 1365 }, "name": "IERC20", "type_description": { @@ -27180,7 +27593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27192,7 +27606,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(token).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -27201,7 +27616,7 @@ } }, { - "id": 1371, + "id": 1372, "node_type": 24, "kind": 24, "src": { @@ -27210,7 +27625,7 @@ "start": 29657, "end": 29699, "length": 43, - "parent_index": 1349 + "parent_index": 1350 }, "argument_types": [ { @@ -27224,7 +27639,7 @@ ], "arguments": [ { - "id": 1376, + "id": 1377, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27236,7 +27651,7 @@ "start": 29680, "end": 29689, "length": 10, - "parent_index": 1371 + "parent_index": 1372 }, "member_location": { "line": 877, @@ -27244,10 +27659,10 @@ "start": 29684, "end": 29689, "length": 6, - "parent_index": 1376 + "parent_index": 1377 }, "expression": { - "id": 1377, + "id": 1378, "node_type": 16, "src": { "line": 877, @@ -27255,7 +27670,7 @@ "start": 29680, "end": 29682, "length": 3, - "parent_index": 1376 + "parent_index": 1377 }, "name": "msg", "type_description": { @@ -27264,17 +27679,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 1378, + "id": 1379, "node_type": 16, "src": { "line": 877, @@ -27282,7 +27699,7 @@ "start": 29692, "end": 29698, "length": 7, - "parent_index": 1371 + "parent_index": 1372 }, "name": "balance", "type_description": { @@ -27290,18 +27707,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1359, + "referenced_declaration": 1360, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "balance" } ], "expression": { - "id": 1372, + "id": 1373, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27313,7 +27731,7 @@ "start": 29657, "end": 29678, "length": 22, - "parent_index": 1371 + "parent_index": 1372 }, "member_location": { "line": 877, @@ -27321,10 +27739,10 @@ "start": 29671, "end": 29678, "length": 8, - "parent_index": 1372 + "parent_index": 1373 }, "expression": { - "id": 1373, + "id": 1374, "node_type": 24, "kind": 24, "src": { @@ -27333,7 +27751,7 @@ "start": 29657, "end": 29669, "length": 13, - "parent_index": 1372 + "parent_index": 1373 }, "argument_types": [ { @@ -27343,7 +27761,7 @@ ], "arguments": [ { - "id": 1375, + "id": 1376, "node_type": 16, "src": { "line": 877, @@ -27351,7 +27769,7 @@ "start": 29664, "end": 29668, "length": 5, - "parent_index": 1373 + "parent_index": 1374 }, "name": "token", "type_description": { @@ -27359,12 +27777,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1375, - "is_pure": false + "referenced_declaration": 1376, + "is_pure": false, + "text": "token" } ], "expression": { - "id": 1374, + "id": 1375, "node_type": 16, "src": { "line": 877, @@ -27372,7 +27791,7 @@ "start": 29657, "end": 29662, "length": 6, - "parent_index": 1373 + "parent_index": 1374 }, "name": "IERC20", "type_description": { @@ -27381,7 +27800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27393,7 +27813,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(token).transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -27408,7 +27829,7 @@ "virtual": false, "modifiers": [ { - "id": 1346, + "id": 1347, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -27418,12 +27839,12 @@ "start": 29512, "end": 29520, "length": 9, - "parent_index": 1342 + "parent_index": 1343 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 1347, + "id": 1348, "name": "onlyOwner", "node_type": 0, "src": { @@ -27432,14 +27853,14 @@ "start": 29512, "end": 29520, "length": 9, - "parent_index": 1346 + "parent_index": 1347 } } } ], "overrides": [], "parameters": { - "id": 1343, + "id": 1344, "node_type": 43, "src": { "line": 874, @@ -27447,11 +27868,11 @@ "start": 29488, "end": 29500, "length": 13, - "parent_index": 1342 + "parent_index": 1343 }, "parameters": [ { - "id": 1344, + "id": 1345, "node_type": 44, "src": { "line": 874, @@ -27459,12 +27880,12 @@ "start": 29488, "end": 29500, "length": 13, - "parent_index": 1343 + "parent_index": 1344 }, - "scope": 1342, + "scope": 1343, "name": "token", "type_name": { - "id": 1345, + "id": 1346, "node_type": 30, "src": { "line": 874, @@ -27472,7 +27893,7 @@ "start": 29488, "end": 29494, "length": 7, - "parent_index": 1344 + "parent_index": 1345 }, "name": "address", "state_mutability": 4, @@ -27499,7 +27920,7 @@ ] }, "return_parameters": { - "id": 1348, + "id": 1349, "node_type": 43, "src": { "line": 874, @@ -27507,21 +27928,22 @@ "start": 29465, "end": 29706, "length": 242, - "parent_index": 1342 + "parent_index": 1343 }, "parameters": [], "parameter_types": [] }, "signature_raw": "withdrawToken(address)", "signature": "89476069", - "scope": 1191, + "scope": 1192, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawToken(addresstoken)externalonlyOwner{require(token!=address(0x0),\"invalid address\");uint256balance=IERC20(token).balanceOf(address(this));IERC20(token).transfer(msg.sender,balance);}" }, { - "id": 1380, + "id": 1381, "name": "setStatusToken", "node_type": 42, "kind": 41, @@ -27531,7 +27953,7 @@ "start": 29713, "end": 29891, "length": 179, - "parent_index": 1191 + "parent_index": 1192 }, "name_location": { "line": 880, @@ -27539,10 +27961,10 @@ "start": 29722, "end": 29735, "length": 14, - "parent_index": 1380 + "parent_index": 1381 }, "body": { - "id": 1389, + "id": 1390, "node_type": 46, "kind": 0, "src": { @@ -27551,12 +27973,12 @@ "start": 29785, "end": 29891, "length": 107, - "parent_index": 1380 + "parent_index": 1381 }, "implemented": true, "statements": [ { - "id": 1390, + "id": 1391, "node_type": 24, "kind": 24, "src": { @@ -27565,7 +27987,7 @@ "start": 29795, "end": 29844, "length": 50, - "parent_index": 1389 + "parent_index": 1390 }, "argument_types": [ { @@ -27579,7 +28001,7 @@ ], "arguments": [ { - "id": 1392, + "id": 1393, "is_constant": false, "is_pure": false, "node_type": 19, @@ -27589,11 +28011,11 @@ "start": 29803, "end": 29824, "length": 22, - "parent_index": 1390 + "parent_index": 1391 }, "operator": 12, "left_expression": { - "id": 1393, + "id": 1394, "node_type": 16, "src": { "line": 881, @@ -27601,7 +28023,7 @@ "start": 29803, "end": 29808, "length": 6, - "parent_index": 1392 + "parent_index": 1393 }, "name": "_token", "type_description": { @@ -27609,11 +28031,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1393, - "is_pure": false + "referenced_declaration": 1394, + "is_pure": false, + "text": "_token" }, "right_expression": { - "id": 1394, + "id": 1395, "node_type": 24, "kind": 24, "src": { @@ -27622,7 +28045,7 @@ "start": 29813, "end": 29824, "length": 12, - "parent_index": 1392 + "parent_index": 1393 }, "argument_types": [ { @@ -27632,7 +28055,7 @@ ], "arguments": [ { - "id": 1397, + "id": 1398, "node_type": 17, "kind": 49, "value": "0x0", @@ -27643,7 +28066,7 @@ "start": 29821, "end": 29823, "length": 3, - "parent_index": 1394 + "parent_index": 1395 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -27651,11 +28074,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0" } ], "expression": { - "id": 1395, + "id": 1396, "node_type": 16, "src": { "line": 881, @@ -27663,11 +28087,11 @@ "start": 29813, "end": 29819, "length": 7, - "parent_index": 1394 + "parent_index": 1395 }, "name": "address", "type_name": { - "id": 1396, + "id": 1397, "node_type": 30, "src": { "line": 881, @@ -27675,7 +28099,7 @@ "start": 29813, "end": 29819, "length": 7, - "parent_index": 1395 + "parent_index": 1396 }, "name": "address", "state_mutability": 4, @@ -27697,7 +28121,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -27710,7 +28135,7 @@ } }, { - "id": 1398, + "id": 1399, "node_type": 17, "kind": 50, "value": "invalid address", @@ -27721,7 +28146,7 @@ "start": 29827, "end": 29843, "length": 17, - "parent_index": 1390 + "parent_index": 1391 }, "type_description": { "type_identifier": "t_string_literal", @@ -27735,11 +28160,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"invalid address\"" } ], "expression": { - "id": 1391, + "id": 1392, "node_type": 16, "src": { "line": 881, @@ -27747,7 +28173,7 @@ "start": 29795, "end": 29801, "length": 7, - "parent_index": 1390 + "parent_index": 1391 }, "name": "require", "type_description": { @@ -27756,7 +28182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -27764,7 +28191,7 @@ } }, { - "id": 1399, + "id": 1400, "node_type": 27, "src": { "line": 882, @@ -27772,10 +28199,10 @@ "start": 29855, "end": 29885, "length": 31, - "parent_index": 1389 + "parent_index": 1390 }, "expression": { - "id": 1400, + "id": 1401, "node_type": 27, "src": { "line": 882, @@ -27783,11 +28210,11 @@ "start": 29855, "end": 29884, "length": 30, - "parent_index": 1399 + "parent_index": 1400 }, "operator": 11, "left_expression": { - "id": 1401, + "id": 1402, "node_type": 22, "src": { "line": 882, @@ -27795,10 +28222,10 @@ "start": 29855, "end": 29875, "length": 21, - "parent_index": 1400 + "parent_index": 1401 }, "index_expression": { - "id": 1402, + "id": 1403, "node_type": 16, "src": { "line": 882, @@ -27806,7 +28233,7 @@ "start": 29855, "end": 29867, "length": 13, - "parent_index": 1401 + "parent_index": 1402 }, "name": "allowedTokens", "type_description": { @@ -27814,11 +28241,12 @@ "type_string": "mapping(address=\u003ebool)" }, "overloaded_declarations": [], - "referenced_declaration": 1166, - "is_pure": false + "referenced_declaration": 1167, + "is_pure": false, + "text": "allowedTokens" }, "base_expression": { - "id": 1403, + "id": 1404, "node_type": 16, "src": { "line": 882, @@ -27826,7 +28254,7 @@ "start": 29869, "end": 29874, "length": 6, - "parent_index": 1401 + "parent_index": 1402 }, "name": "_token", "type_description": { @@ -27834,8 +28262,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1403, - "is_pure": false + "referenced_declaration": 1404, + "is_pure": false, + "text": "_token" }, "type_descriptions": [ { @@ -27853,7 +28282,7 @@ } }, "right_expression": { - "id": 1404, + "id": 1405, "node_type": 16, "src": { "line": 882, @@ -27861,7 +28290,7 @@ "start": 29879, "end": 29884, "length": 6, - "parent_index": 1400 + "parent_index": 1401 }, "name": "status", "type_description": { @@ -27869,8 +28298,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 1404, - "is_pure": false + "referenced_declaration": 1405, + "is_pure": false, + "text": "status" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -27880,7 +28310,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "allowedTokens[_token]=status;" } ] }, @@ -27890,7 +28321,7 @@ "virtual": false, "modifiers": [ { - "id": 1386, + "id": 1387, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -27900,12 +28331,12 @@ "start": 29775, "end": 29783, "length": 9, - "parent_index": 1380 + "parent_index": 1381 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 1387, + "id": 1388, "name": "onlyOwner", "node_type": 0, "src": { @@ -27914,14 +28345,14 @@ "start": 29775, "end": 29783, "length": 9, - "parent_index": 1386 + "parent_index": 1387 } } } ], "overrides": [], "parameters": { - "id": 1381, + "id": 1382, "node_type": 43, "src": { "line": 880, @@ -27929,11 +28360,11 @@ "start": 29737, "end": 29763, "length": 27, - "parent_index": 1380 + "parent_index": 1381 }, "parameters": [ { - "id": 1382, + "id": 1383, "node_type": 44, "src": { "line": 880, @@ -27941,12 +28372,12 @@ "start": 29737, "end": 29750, "length": 14, - "parent_index": 1381 + "parent_index": 1382 }, - "scope": 1380, + "scope": 1381, "name": "_token", "type_name": { - "id": 1383, + "id": 1384, "node_type": 30, "src": { "line": 880, @@ -27954,7 +28385,7 @@ "start": 29737, "end": 29743, "length": 7, - "parent_index": 1382 + "parent_index": 1383 }, "name": "address", "state_mutability": 4, @@ -27973,7 +28404,7 @@ } }, { - "id": 1384, + "id": 1385, "node_type": 44, "src": { "line": 880, @@ -27981,12 +28412,12 @@ "start": 29753, "end": 29763, "length": 11, - "parent_index": 1381 + "parent_index": 1382 }, - "scope": 1380, + "scope": 1381, "name": "status", "type_name": { - "id": 1385, + "id": 1386, "node_type": 30, "src": { "line": 880, @@ -27994,7 +28425,7 @@ "start": 29753, "end": 29756, "length": 4, - "parent_index": 1384 + "parent_index": 1385 }, "name": "bool", "referenced_declaration": 0, @@ -28024,7 +28455,7 @@ ] }, "return_parameters": { - "id": 1388, + "id": 1389, "node_type": 43, "src": { "line": 880, @@ -28032,21 +28463,22 @@ "start": 29713, "end": 29891, "length": 179, - "parent_index": 1380 + "parent_index": 1381 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "setStatusToken(address, bool)", - "signature": "cf05e32e", - "scope": 1191, + "signature_raw": "setStatusToken(address,bool)", + "signature": "40496df4", + "scope": 1192, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetStatusToken(address_token,boolstatus)externalonlyOwner{require(_token!=address(0x0),\"invalid address\");allowedTokens[_token]=status;}" }, { - "id": 1406, + "id": 1407, "name": "getPaymentIds", "node_type": 42, "kind": 41, @@ -28056,7 +28488,7 @@ "start": 29899, "end": 30018, "length": 120, - "parent_index": 1191 + "parent_index": 1192 }, "name_location": { "line": 886, @@ -28064,10 +28496,10 @@ "start": 29908, "end": 29920, "length": 13, - "parent_index": 1406 + "parent_index": 1407 }, "body": { - "id": 1413, + "id": 1414, "node_type": 46, "kind": 0, "src": { @@ -28076,12 +28508,12 @@ "start": 29974, "end": 30018, "length": 45, - "parent_index": 1406 + "parent_index": 1407 }, "implemented": true, "statements": [ { - "id": 1414, + "id": 1415, "node_type": 47, "src": { "line": 887, @@ -28089,11 +28521,11 @@ "start": 29984, "end": 30012, "length": 29, - "parent_index": 1406 + "parent_index": 1407 }, - "function_return_parameters": 1406, + "function_return_parameters": 1407, "expression": { - "id": 1415, + "id": 1416, "node_type": 22, "src": { "line": 887, @@ -28101,10 +28533,10 @@ "start": 29991, "end": 30011, "length": 21, - "parent_index": 1414 + "parent_index": 1415 }, "index_expression": { - "id": 1416, + "id": 1417, "node_type": 16, "src": { "line": 887, @@ -28112,7 +28544,7 @@ "start": 29991, "end": 30005, "length": 15, - "parent_index": 1415 + "parent_index": 1416 }, "name": "_userPaymentIds", "type_description": { @@ -28120,11 +28552,12 @@ "type_string": "mapping(address=\u003euint256[])" }, "overloaded_declarations": [], - "referenced_declaration": 1161, - "is_pure": false + "referenced_declaration": 1162, + "is_pure": false, + "text": "_userPaymentIds" }, "base_expression": { - "id": 1417, + "id": 1418, "node_type": 16, "src": { "line": 887, @@ -28132,7 +28565,7 @@ "start": 30007, "end": 30010, "length": 4, - "parent_index": 1415 + "parent_index": 1416 }, "name": "user", "type_description": { @@ -28140,8 +28573,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1417, - "is_pure": false + "referenced_declaration": 1418, + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -28168,7 +28602,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1407, + "id": 1408, "node_type": 43, "src": { "line": 886, @@ -28176,11 +28610,11 @@ "start": 29922, "end": 29933, "length": 12, - "parent_index": 1406 + "parent_index": 1407 }, "parameters": [ { - "id": 1408, + "id": 1409, "node_type": 44, "src": { "line": 886, @@ -28188,12 +28622,12 @@ "start": 29922, "end": 29933, "length": 12, - "parent_index": 1407 + "parent_index": 1408 }, - "scope": 1406, + "scope": 1407, "name": "user", "type_name": { - "id": 1409, + "id": 1410, "node_type": 30, "src": { "line": 886, @@ -28201,7 +28635,7 @@ "start": 29922, "end": 29928, "length": 7, - "parent_index": 1408 + "parent_index": 1409 }, "name": "address", "state_mutability": 4, @@ -28228,7 +28662,7 @@ ] }, "return_parameters": { - "id": 1410, + "id": 1411, "node_type": 43, "src": { "line": 886, @@ -28236,11 +28670,11 @@ "start": 29956, "end": 29971, "length": 16, - "parent_index": 1406 + "parent_index": 1407 }, "parameters": [ { - "id": 1411, + "id": 1412, "node_type": 44, "src": { "line": 886, @@ -28248,12 +28682,12 @@ "start": 29956, "end": 29971, "length": 16, - "parent_index": 1410 + "parent_index": 1411 }, - "scope": 1406, + "scope": 1407, "name": "", "type_name": { - "id": 1412, + "id": 1413, "node_type": 16, "src": { "line": 886, @@ -28261,7 +28695,7 @@ "start": 29956, "end": 29962, "length": 7, - "parent_index": 1411 + "parent_index": 1412 }, "name": "uint256", "referenced_declaration": 0, @@ -28288,11 +28722,12 @@ }, "signature_raw": "getPaymentIds(address)", "signature": "212d3acf", - "scope": 1191, + "scope": 1192, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetPaymentIds(addressuser)publicviewreturns(uint256[]memory){return_userPaymentIds[user];}" } ], "linearized_base_contracts": [ @@ -28300,11 +28735,11 @@ 972, 1081, 1130, - 1191 + 1192 ], "base_contracts": [ { - "id": 1192, + "id": 1193, "node_type": 62, "src": { "line": 832, @@ -28312,10 +28747,10 @@ "start": 27965, "end": 27971, "length": 7, - "parent_index": 1191 + "parent_index": 1192 }, "base_name": { - "id": 1193, + "id": 1194, "node_type": 52, "src": { "line": 832, @@ -28323,14 +28758,14 @@ "start": 27965, "end": 27971, "length": 7, - "parent_index": 1191 + "parent_index": 1192 }, "name": "Ownable", "referenced_declaration": 859 } }, { - "id": 1194, + "id": 1195, "node_type": 62, "src": { "line": 832, @@ -28338,10 +28773,10 @@ "start": 27974, "end": 27981, "length": 8, - "parent_index": 1191 + "parent_index": 1192 }, "base_name": { - "id": 1195, + "id": 1196, "node_type": 52, "src": { "line": 832, @@ -28349,14 +28784,14 @@ "start": 27974, "end": 27981, "length": 8, - "parent_index": 1191 + "parent_index": 1192 }, "name": "Pausable", "referenced_declaration": 972 } }, { - "id": 1196, + "id": 1197, "node_type": 62, "src": { "line": 832, @@ -28364,10 +28799,10 @@ "start": 27984, "end": 27998, "length": 15, - "parent_index": 1191 + "parent_index": 1192 }, "base_name": { - "id": 1197, + "id": 1198, "node_type": 52, "src": { "line": 832, @@ -28375,14 +28810,14 @@ "start": 27984, "end": 27998, "length": 15, - "parent_index": 1191 + "parent_index": 1192 }, "name": "ReentrancyGuard", "referenced_declaration": 1081 } }, { - "id": 1198, + "id": 1199, "node_type": 62, "src": { "line": 832, @@ -28390,10 +28825,10 @@ "start": 28001, "end": 28014, "length": 14, - "parent_index": 1191 + "parent_index": 1192 }, "base_name": { - "id": 1199, + "id": 1200, "node_type": 52, "src": { "line": 832, @@ -28401,7 +28836,7 @@ "start": 28001, "end": 28014, "length": 14, - "parent_index": 1191 + "parent_index": 1192 }, "name": "PaymentStorage", "referenced_declaration": 1130 diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.solgo.ast.proto.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.solgo.ast.proto.json index 355c14ab..35a86ab4 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.solgo.ast.proto.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.solgo.ast.proto.json @@ -1,12 +1,12 @@ { "id": 102, - "entry_source_unit": 1181, + "entry_source_unit": 1182, "node_type": 80, "global_nodes": [ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1418", + "id": "1419", "isConstant": true, "isStateVariable": true, "name": "success", @@ -25,7 +25,7 @@ "typeString": "bool" }, "typeName": { - "id": "1419", + "id": "1420", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -33,7 +33,7 @@ "end": "2669", "length": "4", "line": "69", - "parentIndex": "1418", + "parentIndex": "1419", "start": "2666" }, "typeDescription": { @@ -47,7 +47,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1420", + "id": "1421", "isConstant": true, "isStateVariable": true, "name": "success", @@ -66,7 +66,7 @@ "typeString": "bool" }, "typeName": { - "id": "1421", + "id": "1422", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74,7 +74,7 @@ "end": "5332", "length": "4", "line": "141", - "parentIndex": "1420", + "parentIndex": "1421", "start": "5329" }, "typeDescription": { @@ -88,7 +88,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1422", + "id": "1423", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -107,7 +107,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1423", + "id": "1424", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -115,7 +115,7 @@ "end": "5347", "length": "5", "line": "141", - "parentIndex": "1422", + "parentIndex": "1423", "start": "5343" }, "typeDescription": { @@ -129,7 +129,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1424", + "id": "1425", "isConstant": true, "isStateVariable": true, "name": "success", @@ -148,7 +148,7 @@ "typeString": "bool" }, "typeName": { - "id": "1425", + "id": "1426", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -156,7 +156,7 @@ "end": "6224", "length": "4", "line": "166", - "parentIndex": "1424", + "parentIndex": "1425", "start": "6221" }, "typeDescription": { @@ -170,7 +170,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1426", + "id": "1427", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -189,7 +189,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1427", + "id": "1428", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -197,7 +197,7 @@ "end": "6239", "length": "5", "line": "166", - "parentIndex": "1426", + "parentIndex": "1427", "start": "6235" }, "typeDescription": { @@ -211,7 +211,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1428", + "id": "1429", "isConstant": true, "isStateVariable": true, "name": "success", @@ -230,7 +230,7 @@ "typeString": "bool" }, "typeName": { - "id": "1429", + "id": "1430", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -238,7 +238,7 @@ "end": "7110", "length": "4", "line": "191", - "parentIndex": "1428", + "parentIndex": "1429", "start": "7107" }, "typeDescription": { @@ -252,7 +252,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1430", + "id": "1431", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -271,7 +271,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1431", + "id": "1432", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -279,7 +279,7 @@ "end": "7125", "length": "5", "line": "191", - "parentIndex": "1430", + "parentIndex": "1431", "start": "7121" }, "typeDescription": { @@ -293,25 +293,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1432", + "id": "1433", "name": "Transfer", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1433", + "id": "1434", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1434", + "id": "1435", "indexed": true, "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "1434", + "scope": "1435", "src": { "column": "19", "end": "11998", "length": "20", "line": "332", - "parentIndex": "1433", + "parentIndex": "1434", "start": "11979" }, "stateMutability": "NONPAYABLE", @@ -321,7 +321,7 @@ "typeString": "address" }, "typeName": { - "id": "1435", + "id": "1436", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -329,7 +329,7 @@ "end": "11985", "length": "7", "line": "332", - "parentIndex": "1434", + "parentIndex": "1435", "start": "11979" }, "stateMutability": "NONPAYABLE", @@ -341,17 +341,17 @@ "visibility": "INTERNAL" }, { - "id": "1436", + "id": "1437", "indexed": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "1436", + "scope": "1437", "src": { "column": "41", "end": "12018", "length": "18", "line": "332", - "parentIndex": "1433", + "parentIndex": "1434", "start": "12001" }, "stateMutability": "NONPAYABLE", @@ -361,7 +361,7 @@ "typeString": "address" }, "typeName": { - "id": "1437", + "id": "1438", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -369,7 +369,7 @@ "end": "12007", "length": "7", "line": "332", - "parentIndex": "1436", + "parentIndex": "1437", "start": "12001" }, "stateMutability": "NONPAYABLE", @@ -381,16 +381,16 @@ "visibility": "INTERNAL" }, { - "id": "1438", + "id": "1439", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "1438", + "scope": "1439", "src": { "column": "61", "end": "12033", "length": "13", "line": "332", - "parentIndex": "1433", + "parentIndex": "1434", "start": "12021" }, "stateMutability": "MUTABLE", @@ -400,7 +400,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1439", + "id": "1440", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -408,7 +408,7 @@ "end": "12027", "length": "7", "line": "332", - "parentIndex": "1438", + "parentIndex": "1439", "start": "12021" }, "typeDescription": { @@ -424,7 +424,7 @@ "end": "12035", "length": "72", "line": "332", - "parentIndex": "1432", + "parentIndex": "1433", "start": "11964" } }, @@ -436,7 +436,7 @@ "start": "11964" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Transfer_\u00261432", + "typeIdentifier": "t_event\u0026_Global_Transfer_\u00261433", "typeString": "event Global.Transfer" } } @@ -444,25 +444,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1440", + "id": "1441", "name": "Approval", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1441", + "id": "1442", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1442", + "id": "1443", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "1442", + "scope": "1443", "src": { "column": "19", "end": "12230", "length": "21", "line": "338", - "parentIndex": "1441", + "parentIndex": "1442", "start": "12210" }, "stateMutability": "NONPAYABLE", @@ -472,7 +472,7 @@ "typeString": "address" }, "typeName": { - "id": "1443", + "id": "1444", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -480,7 +480,7 @@ "end": "12216", "length": "7", "line": "338", - "parentIndex": "1442", + "parentIndex": "1443", "start": "12210" }, "stateMutability": "NONPAYABLE", @@ -492,17 +492,17 @@ "visibility": "INTERNAL" }, { - "id": "1444", + "id": "1445", "indexed": true, "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "1444", + "scope": "1445", "src": { "column": "42", "end": "12255", "length": "23", "line": "338", - "parentIndex": "1441", + "parentIndex": "1442", "start": "12233" }, "stateMutability": "NONPAYABLE", @@ -512,7 +512,7 @@ "typeString": "address" }, "typeName": { - "id": "1445", + "id": "1446", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -520,7 +520,7 @@ "end": "12239", "length": "7", "line": "338", - "parentIndex": "1444", + "parentIndex": "1445", "start": "12233" }, "stateMutability": "NONPAYABLE", @@ -532,16 +532,16 @@ "visibility": "INTERNAL" }, { - "id": "1446", + "id": "1447", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "1446", + "scope": "1447", "src": { "column": "67", "end": "12270", "length": "13", "line": "338", - "parentIndex": "1441", + "parentIndex": "1442", "start": "12258" }, "stateMutability": "MUTABLE", @@ -551,7 +551,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1447", + "id": "1448", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -559,7 +559,7 @@ "end": "12264", "length": "7", "line": "338", - "parentIndex": "1446", + "parentIndex": "1447", "start": "12258" }, "typeDescription": { @@ -575,7 +575,7 @@ "end": "12272", "length": "78", "line": "338", - "parentIndex": "1440", + "parentIndex": "1441", "start": "12195" } }, @@ -587,7 +587,7 @@ "start": "12195" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Approval_\u00261440", + "typeIdentifier": "t_event\u0026_Global_Approval_\u00261441", "typeString": "event Global.Approval" } } @@ -595,7 +595,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1448", + "id": "1449", "isConstant": true, "isStateVariable": true, "name": "newAllowance", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1449", + "id": "1450", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -622,7 +622,7 @@ "end": "16489", "length": "7", "line": "466", - "parentIndex": "1448", + "parentIndex": "1449", "start": "16483" }, "typeDescription": { @@ -636,7 +636,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1450", + "id": "1451", "isConstant": true, "isStateVariable": true, "name": "oldAllowance", @@ -655,7 +655,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1451", + "id": "1452", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -663,7 +663,7 @@ "end": "16829", "length": "7", "line": "476", - "parentIndex": "1450", + "parentIndex": "1451", "start": "16823" }, "typeDescription": { @@ -677,7 +677,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1452", + "id": "1453", "isConstant": true, "isStateVariable": true, "name": "newAllowance", @@ -696,7 +696,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1453", + "id": "1454", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -704,7 +704,7 @@ "end": "16994", "length": "7", "line": "478", - "parentIndex": "1452", + "parentIndex": "1453", "start": "16988" }, "typeDescription": { @@ -718,7 +718,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1454", + "id": "1455", "isConstant": true, "isStateVariable": true, "name": "nonceBefore", @@ -737,7 +737,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1455", + "id": "1456", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -745,7 +745,7 @@ "end": "17396", "length": "7", "line": "493", - "parentIndex": "1454", + "parentIndex": "1455", "start": "17390" }, "typeDescription": { @@ -759,7 +759,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1456", + "id": "1457", "isConstant": true, "isStateVariable": true, "name": "nonceAfter", @@ -778,7 +778,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1457", + "id": "1458", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -786,7 +786,7 @@ "end": "17511", "length": "7", "line": "495", - "parentIndex": "1456", + "parentIndex": "1457", "start": "17505" }, "typeDescription": { @@ -800,7 +800,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1458", + "id": "1459", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -819,7 +819,7 @@ "typeString": "bytes" }, "typeName": { - "id": "1459", + "id": "1460", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -827,7 +827,7 @@ "end": "18443", "length": "5", "line": "510", - "parentIndex": "1458", + "parentIndex": "1459", "start": "18439" }, "typeDescription": { @@ -841,7 +841,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1460", + "id": "1461", "isStateVariable": true, "name": "_owner", "nodeType": "VARIABLE_DECLARATION", @@ -859,7 +859,7 @@ "typeString": "address" }, "typeName": { - "id": "1461", + "id": "1462", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -867,7 +867,7 @@ "end": "20290", "length": "7", "line": "566", - "parentIndex": "1460", + "parentIndex": "1461", "start": "20284" }, "stateMutability": "NONPAYABLE", @@ -882,25 +882,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1462", + "id": "1463", "name": "OwnershipTransferred", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1463", + "id": "1464", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1464", + "id": "1465", "indexed": true, "name": "previousOwner", "nodeType": "VARIABLE_DECLARATION", - "scope": "1464", + "scope": "1465", "src": { "column": "31", "end": "20368", "length": "29", "line": "568", - "parentIndex": "1463", + "parentIndex": "1464", "start": "20340" }, "stateMutability": "NONPAYABLE", @@ -910,7 +910,7 @@ "typeString": "address" }, "typeName": { - "id": "1465", + "id": "1466", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -918,7 +918,7 @@ "end": "20346", "length": "7", "line": "568", - "parentIndex": "1464", + "parentIndex": "1465", "start": "20340" }, "stateMutability": "NONPAYABLE", @@ -930,17 +930,17 @@ "visibility": "INTERNAL" }, { - "id": "1466", + "id": "1467", "indexed": true, "name": "newOwner", "nodeType": "VARIABLE_DECLARATION", - "scope": "1466", + "scope": "1467", "src": { "column": "62", "end": "20394", "length": "24", "line": "568", - "parentIndex": "1463", + "parentIndex": "1464", "start": "20371" }, "stateMutability": "NONPAYABLE", @@ -950,7 +950,7 @@ "typeString": "address" }, "typeName": { - "id": "1467", + "id": "1468", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -958,7 +958,7 @@ "end": "20377", "length": "7", "line": "568", - "parentIndex": "1466", + "parentIndex": "1467", "start": "20371" }, "stateMutability": "NONPAYABLE", @@ -975,7 +975,7 @@ "end": "20396", "length": "84", "line": "568", - "parentIndex": "1462", + "parentIndex": "1463", "start": "20313" } }, @@ -987,7 +987,7 @@ "start": "20313" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_OwnershipTransferred_\u00261462", + "typeIdentifier": "t_event\u0026_Global_OwnershipTransferred_\u00261463", "typeString": "event Global.OwnershipTransferred" } } @@ -995,7 +995,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1468", + "id": "1469", "isConstant": true, "isStateVariable": true, "name": "oldOwner", @@ -1014,7 +1014,7 @@ "typeString": "address" }, "typeName": { - "id": "1469", + "id": "1470", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1022,7 +1022,7 @@ "end": "22099", "length": "7", "line": "624", - "parentIndex": "1468", + "parentIndex": "1469", "start": "22093" }, "stateMutability": "NONPAYABLE", @@ -1037,24 +1037,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1470", + "id": "1471", "name": "Paused", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1471", + "id": "1472", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1472", + "id": "1473", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1472", + "scope": "1473", "src": { "column": "17", "end": "22956", "length": "15", "line": "651", - "parentIndex": "1471", + "parentIndex": "1472", "start": "22942" }, "stateMutability": "NONPAYABLE", @@ -1064,7 +1064,7 @@ "typeString": "address" }, "typeName": { - "id": "1473", + "id": "1474", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1072,7 +1072,7 @@ "end": "22948", "length": "7", "line": "651", - "parentIndex": "1472", + "parentIndex": "1473", "start": "22942" }, "stateMutability": "NONPAYABLE", @@ -1089,7 +1089,7 @@ "end": "22958", "length": "30", "line": "651", - "parentIndex": "1470", + "parentIndex": "1471", "start": "22929" } }, @@ -1101,7 +1101,7 @@ "start": "22929" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Paused_\u00261470", + "typeIdentifier": "t_event\u0026_Global_Paused_\u00261471", "typeString": "event Global.Paused" } } @@ -1109,24 +1109,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1474", + "id": "1475", "name": "Unpaused", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1475", + "id": "1476", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1476", + "id": "1477", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1476", + "scope": "1477", "src": { "column": "19", "end": "23069", "length": "15", "line": "656", - "parentIndex": "1475", + "parentIndex": "1476", "start": "23055" }, "stateMutability": "NONPAYABLE", @@ -1136,7 +1136,7 @@ "typeString": "address" }, "typeName": { - "id": "1477", + "id": "1478", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1144,7 +1144,7 @@ "end": "23061", "length": "7", "line": "656", - "parentIndex": "1476", + "parentIndex": "1477", "start": "23055" }, "stateMutability": "NONPAYABLE", @@ -1161,7 +1161,7 @@ "end": "23071", "length": "32", "line": "656", - "parentIndex": "1474", + "parentIndex": "1475", "start": "23040" } }, @@ -1173,7 +1173,7 @@ "start": "23040" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Unpaused_\u00261474", + "typeIdentifier": "t_event\u0026_Global_Unpaused_\u00261475", "typeString": "event Global.Unpaused" } } @@ -1181,7 +1181,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1478", + "id": "1479", "isStateVariable": true, "name": "_paused", "nodeType": "VARIABLE_DECLARATION", @@ -1199,7 +1199,7 @@ "typeString": "bool" }, "typeName": { - "id": "1479", + "id": "1480", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1207,7 +1207,7 @@ "end": "23081", "length": "4", "line": "658", - "parentIndex": "1478", + "parentIndex": "1479", "start": "23078" }, "typeDescription": { @@ -1221,12 +1221,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1480", + "id": "1481", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "1482", + "id": "1483", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -1235,7 +1235,7 @@ "end": "26492", "length": "1", "line": "772", - "parentIndex": "1480", + "parentIndex": "1481", "start": "26492" }, "typeDescription": { @@ -1263,7 +1263,7 @@ "typeString": "int_const 1" }, "typeName": { - "id": "1481", + "id": "1482", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1271,7 +1271,7 @@ "end": "26458", "length": "7", "line": "772", - "parentIndex": "1480", + "parentIndex": "1481", "start": "26452" }, "typeDescription": { @@ -1285,12 +1285,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1483", + "id": "1484", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "32", - "id": "1485", + "id": "1486", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -1299,7 +1299,7 @@ "end": "26535", "length": "1", "line": "773", - "parentIndex": "1483", + "parentIndex": "1484", "start": "26535" }, "typeDescription": { @@ -1327,7 +1327,7 @@ "typeString": "int_const 2" }, "typeName": { - "id": "1484", + "id": "1485", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1335,7 +1335,7 @@ "end": "26505", "length": "7", "line": "773", - "parentIndex": "1483", + "parentIndex": "1484", "start": "26499" }, "typeDescription": { @@ -1349,7 +1349,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1486", + "id": "1487", "isStateVariable": true, "name": "_status", "nodeType": "VARIABLE_DECLARATION", @@ -1367,7 +1367,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1487", + "id": "1488", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1375,7 +1375,7 @@ "end": "26549", "length": "7", "line": "775", - "parentIndex": "1486", + "parentIndex": "1487", "start": "26543" }, "typeDescription": { @@ -1389,7 +1389,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1488", + "id": "1489", "isStateVariable": true, "name": "paymentId", "nodeType": "VARIABLE_DECLARATION", @@ -1407,7 +1407,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1489", + "id": "1490", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1415,7 +1415,7 @@ "end": "27554", "length": "7", "line": "814", - "parentIndex": "1488", + "parentIndex": "1489", "start": "27548" }, "typeDescription": { @@ -1430,19 +1430,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.PaymentDetail", - "id": "1490", + "id": "1491", "members": [ { - "id": "1491", + "id": "1492", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1491", + "scope": "1492", "src": { "column": "8", "end": "27622", "length": "14", "line": "816", - "parentIndex": "1490", + "parentIndex": "1491", "start": "27609" }, "stateMutability": "NONPAYABLE", @@ -1451,7 +1451,7 @@ "typeString": "address" }, "typeName": { - "id": "1492", + "id": "1493", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1459,7 +1459,7 @@ "end": "27615", "length": "7", "line": "816", - "parentIndex": "1491", + "parentIndex": "1492", "start": "27609" }, "stateMutability": "NONPAYABLE", @@ -1471,16 +1471,16 @@ "visibility": "INTERNAL" }, { - "id": "1493", + "id": "1494", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "1493", + "scope": "1494", "src": { "column": "8", "end": "27646", "length": "15", "line": "817", - "parentIndex": "1490", + "parentIndex": "1491", "start": "27632" }, "stateMutability": "MUTABLE", @@ -1489,7 +1489,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1494", + "id": "1495", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1497,7 +1497,7 @@ "end": "27638", "length": "7", "line": "817", - "parentIndex": "1493", + "parentIndex": "1494", "start": "27632" }, "typeDescription": { @@ -1508,16 +1508,16 @@ "visibility": "INTERNAL" }, { - "id": "1495", + "id": "1496", "name": "time", "nodeType": "VARIABLE_DECLARATION", - "scope": "1495", + "scope": "1496", "src": { "column": "8", "end": "27668", "length": "13", "line": "818", - "parentIndex": "1490", + "parentIndex": "1491", "start": "27656" }, "stateMutability": "MUTABLE", @@ -1526,7 +1526,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1496", + "id": "1497", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1534,7 +1534,7 @@ "end": "27662", "length": "7", "line": "818", - "parentIndex": "1495", + "parentIndex": "1496", "start": "27656" }, "typeDescription": { @@ -1551,7 +1551,7 @@ "end": "27597", "length": "13", "line": "815", - "parentIndex": "1490", + "parentIndex": "1491", "start": "27585" }, "nodeType": "STRUCT_DEFINITION", @@ -1564,7 +1564,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_PaymentDetail_$1490", + "typeIdentifier": "t_struct$_Global_PaymentDetail_$1491", "typeString": "struct Global.PaymentDetail" }, "visibility": "PUBLIC" @@ -1573,7 +1573,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1497", + "id": "1498", "isStateVariable": true, "name": "paymentHistory", "nodeType": "VARIABLE_DECLARATION", @@ -1587,13 +1587,13 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_Global_PaymentDetail_$1491$", "typeString": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, "typeName": { - "id": "1498", + "id": "1499", "keyType": { - "id": "1499", + "id": "1500", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1601,7 +1601,7 @@ "end": "27695", "length": "7", "line": "821", - "parentIndex": "1498", + "parentIndex": "1499", "start": "27689" }, "typeDescription": { @@ -1614,25 +1614,49 @@ "end": "27695", "length": "7", "line": "821", - "parentIndex": "1498", + "parentIndex": "1499", "start": "27689" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "1505", + "name": "PaymentDetail", + "nameLocation": { + "column": "43", + "end": "27732", + "length": "13", + "line": "821", + "parentIndex": "1499", + "start": "27720" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1491", + "src": { + "column": "43", + "end": "27732", + "length": "13", + "line": "821", + "parentIndex": "1499", + "start": "27720" + } + }, + "referencedDeclaration": "1491", "src": { "column": "4", "end": "27734", "length": "54", "line": "821", - "parentIndex": "1497", + "parentIndex": "1498", "start": "27681" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_Global_PaymentDetail_$1491$", "typeString": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, "valueType": { - "id": "1500", + "id": "1501", "keyType": { - "id": "1502", + "id": "1503", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1640,7 +1664,7 @@ "end": "27715", "length": "7", "line": "821", - "parentIndex": "1498", + "parentIndex": "1499", "start": "27709" }, "typeDescription": { @@ -1653,7 +1677,7 @@ "end": "27715", "length": "7", "line": "821", - "parentIndex": "1500", + "parentIndex": "1501", "start": "27709" }, "name": "mapping(address=\u003ePaymentDetail)", @@ -1663,28 +1687,29 @@ "end": "27733", "length": "34", "line": "821", - "parentIndex": "1498", + "parentIndex": "1499", "start": "27700" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_PaymentDetail", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Global_PaymentDetail_$1491", "typeString": "mapping(address=\u003ePaymentDetail)" }, "valueType": { - "id": "1503", + "id": "1504", "name": "PaymentDetail", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "1491", "src": { "column": "43", "end": "27732", "length": "13", "line": "821", - "parentIndex": "1498", + "parentIndex": "1499", "start": "27720" }, "typeDescription": { - "typeIdentifier": "t_PaymentDetail", - "typeString": "PaymentDetail" + "typeIdentifier": "t_struct$_Global_PaymentDetail_$1491", + "typeString": "struct Global.PaymentDetail" } }, "valueTypeLocation": { @@ -1692,7 +1717,7 @@ "end": "27732", "length": "13", "line": "821", - "parentIndex": "1500", + "parentIndex": "1501", "start": "27720" } }, @@ -1701,7 +1726,7 @@ "end": "27733", "length": "34", "line": "821", - "parentIndex": "1498", + "parentIndex": "1499", "start": "27700" } }, @@ -1711,7 +1736,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1504", + "id": "1506", "isStateVariable": true, "name": "_userPaymentIds", "nodeType": "VARIABLE_DECLARATION", @@ -1729,9 +1754,9 @@ "typeString": "mapping(address=\u003euint256[])" }, "typeName": { - "id": "1505", + "id": "1507", "keyType": { - "id": "1506", + "id": "1508", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1739,7 +1764,7 @@ "end": "27778", "length": "7", "line": "823", - "parentIndex": "1505", + "parentIndex": "1507", "start": "27772" }, "typeDescription": { @@ -1752,15 +1777,16 @@ "end": "27778", "length": "7", "line": "823", - "parentIndex": "1505", + "parentIndex": "1507", "start": "27772" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "27792", "length": "29", "line": "823", - "parentIndex": "1504", + "parentIndex": "1506", "start": "27764" }, "typeDescription": { @@ -1768,7 +1794,7 @@ "typeString": "mapping(address=\u003euint256[])" }, "valueType": { - "id": "1507", + "id": "1509", "name": "uint256[]", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1776,7 +1802,7 @@ "end": "27791", "length": "9", "line": "823", - "parentIndex": "1505", + "parentIndex": "1507", "start": "27783" }, "typeDescription": { @@ -1789,7 +1815,7 @@ "end": "27791", "length": "9", "line": "823", - "parentIndex": "1505", + "parentIndex": "1507", "start": "27783" } }, @@ -1799,7 +1825,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1508", + "id": "1510", "isStateVariable": true, "name": "allowedTokens", "nodeType": "VARIABLE_DECLARATION", @@ -1817,9 +1843,9 @@ "typeString": "mapping(address=\u003ebool)" }, "typeName": { - "id": "1509", + "id": "1511", "keyType": { - "id": "1510", + "id": "1512", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1827,7 +1853,7 @@ "end": "27831", "length": "7", "line": "825", - "parentIndex": "1509", + "parentIndex": "1511", "start": "27825" }, "typeDescription": { @@ -1840,15 +1866,16 @@ "end": "27831", "length": "7", "line": "825", - "parentIndex": "1509", + "parentIndex": "1511", "start": "27825" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "27840", "length": "25", "line": "825", - "parentIndex": "1508", + "parentIndex": "1510", "start": "27816" }, "typeDescription": { @@ -1856,7 +1883,7 @@ "typeString": "mapping(address=\u003ebool)" }, "valueType": { - "id": "1511", + "id": "1513", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1864,7 +1891,7 @@ "end": "27839", "length": "4", "line": "825", - "parentIndex": "1509", + "parentIndex": "1511", "start": "27836" }, "typeDescription": { @@ -1877,7 +1904,7 @@ "end": "27839", "length": "4", "line": "825", - "parentIndex": "1509", + "parentIndex": "1511", "start": "27836" } }, @@ -1887,24 +1914,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1512", + "id": "1514", "name": "Paid", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1513", + "id": "1515", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1514", + "id": "1516", "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "1514", + "scope": "1516", "src": { "column": "15", "end": "27891", "length": "12", "line": "827", - "parentIndex": "1513", + "parentIndex": "1515", "start": "27880" }, "stateMutability": "NONPAYABLE", @@ -1914,7 +1941,7 @@ "typeString": "address" }, "typeName": { - "id": "1515", + "id": "1517", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1922,7 +1949,7 @@ "end": "27886", "length": "7", "line": "827", - "parentIndex": "1514", + "parentIndex": "1516", "start": "27880" }, "stateMutability": "NONPAYABLE", @@ -1934,16 +1961,16 @@ "visibility": "INTERNAL" }, { - "id": "1516", + "id": "1518", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1516", + "scope": "1518", "src": { "column": "29", "end": "27906", "length": "13", "line": "827", - "parentIndex": "1513", + "parentIndex": "1515", "start": "27894" }, "stateMutability": "NONPAYABLE", @@ -1953,7 +1980,7 @@ "typeString": "address" }, "typeName": { - "id": "1517", + "id": "1519", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1961,7 +1988,7 @@ "end": "27900", "length": "7", "line": "827", - "parentIndex": "1516", + "parentIndex": "1518", "start": "27894" }, "stateMutability": "NONPAYABLE", @@ -1973,16 +2000,16 @@ "visibility": "INTERNAL" }, { - "id": "1518", + "id": "1520", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "1518", + "scope": "1520", "src": { "column": "44", "end": "27922", "length": "14", "line": "827", - "parentIndex": "1513", + "parentIndex": "1515", "start": "27909" }, "stateMutability": "MUTABLE", @@ -1992,7 +2019,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1519", + "id": "1521", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2000,7 +2027,7 @@ "end": "27915", "length": "7", "line": "827", - "parentIndex": "1518", + "parentIndex": "1520", "start": "27909" }, "typeDescription": { @@ -2011,16 +2038,16 @@ "visibility": "INTERNAL" }, { - "id": "1520", + "id": "1522", "name": "time", "nodeType": "VARIABLE_DECLARATION", - "scope": "1520", + "scope": "1522", "src": { "column": "60", "end": "27936", "length": "12", "line": "827", - "parentIndex": "1513", + "parentIndex": "1515", "start": "27925" }, "stateMutability": "MUTABLE", @@ -2030,7 +2057,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1521", + "id": "1523", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2038,7 +2065,7 @@ "end": "27931", "length": "7", "line": "827", - "parentIndex": "1520", + "parentIndex": "1522", "start": "27925" }, "typeDescription": { @@ -2054,7 +2081,7 @@ "end": "27938", "length": "70", "line": "827", - "parentIndex": "1512", + "parentIndex": "1514", "start": "27869" } }, @@ -2066,7 +2093,7 @@ "start": "27869" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Paid_\u00261512", + "typeIdentifier": "t_event\u0026_Global_Paid_\u00261514", "typeString": "event Global.Paid" } } @@ -2074,7 +2101,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1522", + "id": "1524", "isConstant": true, "isStateVariable": true, "name": "success", @@ -2093,7 +2120,7 @@ "typeString": "bool" }, "typeName": { - "id": "1523", + "id": "1525", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2101,7 +2128,7 @@ "end": "29328", "length": "4", "line": "869", - "parentIndex": "1522", + "parentIndex": "1524", "start": "29325" }, "typeDescription": { @@ -2115,7 +2142,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1524", + "id": "1526", "isConstant": true, "isStateVariable": true, "name": "balance", @@ -2134,7 +2161,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1525", + "id": "1527", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2142,7 +2169,7 @@ "end": "29597", "length": "7", "line": "876", - "parentIndex": "1524", + "parentIndex": "1526", "start": "29591" }, "typeDescription": { @@ -3172,7 +3199,7 @@ } }, "scope": "105", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "2811", @@ -3561,7 +3588,7 @@ } }, "scope": "105", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "3738", @@ -3986,7 +4013,7 @@ } }, "scope": "105", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "4183", @@ -4411,7 +4438,7 @@ } }, "scope": "105", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "4799", @@ -5346,7 +5373,7 @@ } }, "scope": "105", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "5493", @@ -5694,7 +5721,7 @@ } }, "scope": "105", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "5867", @@ -6328,7 +6355,7 @@ } }, "scope": "105", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "6377", @@ -6676,7 +6703,7 @@ } }, "scope": "105", - "signature": "ce0c9802", + "signature": "ee33b7e2", "src": { "column": "4", "end": "6754", @@ -7310,7 +7337,7 @@ } }, "scope": "105", - "signature": "a6f0db75", + "signature": "57387df0", "src": { "column": "4", "end": "7265", @@ -7940,7 +7967,7 @@ } }, "scope": "105", - "signature": "ac377f6d", + "signature": "1daa78c1", "src": { "column": "4", "end": "8181", @@ -8259,7 +8286,7 @@ } }, "scope": "105", - "signature": "15a412bd", + "signature": "946b5793", "src": { "column": "4", "end": "8697", @@ -9020,7 +9047,7 @@ } }, "scope": "105", - "signature": "26a4ef1a", + "signature": "6cadf5e1", "src": { "column": "4", "end": "9243", @@ -9438,7 +9465,7 @@ } }, "scope": "428", - "signature": "f8e100d5", + "signature": "d505accf", "src": { "column": "4", "end": "10925", @@ -10600,7 +10627,7 @@ } }, "scope": "470", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "12838", @@ -10788,7 +10815,7 @@ } }, "scope": "470", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "13196", @@ -10975,7 +11002,7 @@ } }, "scope": "470", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "13923", @@ -11201,7 +11228,7 @@ } }, "scope": "470", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "14339", @@ -11830,7 +11857,7 @@ } }, "scope": "558", - "signature": "8d2f8c29", + "signature": "d6e935fe", "src": { "column": "4", "end": "15240", @@ -12412,7 +12439,7 @@ } }, "scope": "558", - "signature": "d9098537", + "signature": "d0e2343c", "src": { "column": "4", "end": "15487", @@ -13367,7 +13394,7 @@ } }, "scope": "558", - "signature": "11e8fd6d", + "signature": "75a98b8a", "src": { "column": "4", "end": "16350", @@ -14178,7 +14205,7 @@ } }, "scope": "558", - "signature": "d5ee8724", + "signature": "8d3df938", "src": { "column": "4", "end": "16666", @@ -15236,7 +15263,7 @@ } }, "scope": "558", - "signature": "dd6a69b1", + "signature": "d9cb6425", "src": { "column": "4", "end": "17158", @@ -16498,7 +16525,7 @@ } }, "scope": "558", - "signature": "f8fe8854", + "signature": "1f73058e", "src": { "column": "4", "end": "17636", @@ -17301,7 +17328,7 @@ } }, "scope": "558", - "signature": "50effced", + "signature": "8a35aadd", "src": { "column": "4", "end": "18725", @@ -22729,7 +22756,7 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "typeString": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, "typeName": { @@ -22759,6 +22786,30 @@ "parentIndex": "1154", "start": "27689" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "1160", + "name": "PaymentDetail", + "nameLocation": { + "column": "43", + "end": "27732", + "length": "13", + "line": "821", + "parentIndex": "1154", + "start": "27720" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1145", + "src": { + "column": "43", + "end": "27732", + "length": "13", + "line": "821", + "parentIndex": "1154", + "start": "27720" + } + }, + "referencedDeclaration": "1145", "src": { "column": "4", "end": "27734", @@ -22768,7 +22819,7 @@ "start": "27681" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "typeString": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, "valueType": { @@ -22809,13 +22860,14 @@ "start": "27700" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_PaymentDetail", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145", "typeString": "mapping(address=\u003ePaymentDetail)" }, "valueType": { "id": "1159", "name": "PaymentDetail", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "1145", "src": { "column": "43", "end": "27732", @@ -22825,8 +22877,8 @@ "start": "27720" }, "typeDescription": { - "typeIdentifier": "t_PaymentDetail", - "typeString": "PaymentDetail" + "typeIdentifier": "t_struct$_PaymentStorage_PaymentDetail_$1145", + "typeString": "struct PaymentStorage.PaymentDetail" } }, "valueTypeLocation": { @@ -22853,7 +22905,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1161", + "id": "1162", "isStateVariable": true, "name": "_userPaymentIds", "nodeType": "VARIABLE_DECLARATION", @@ -22873,9 +22925,9 @@ "typeString": "mapping(address=\u003euint256[])" }, "typeName": { - "id": "1162", + "id": "1163", "keyType": { - "id": "1163", + "id": "1164", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22883,7 +22935,7 @@ "end": "27778", "length": "7", "line": "823", - "parentIndex": "1162", + "parentIndex": "1163", "start": "27772" }, "typeDescription": { @@ -22896,15 +22948,16 @@ "end": "27778", "length": "7", "line": "823", - "parentIndex": "1162", + "parentIndex": "1163", "start": "27772" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "27792", "length": "29", "line": "823", - "parentIndex": "1161", + "parentIndex": "1162", "start": "27764" }, "typeDescription": { @@ -22912,7 +22965,7 @@ "typeString": "mapping(address=\u003euint256[])" }, "valueType": { - "id": "1164", + "id": "1165", "name": "uint256[]", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22920,7 +22973,7 @@ "end": "27791", "length": "9", "line": "823", - "parentIndex": "1162", + "parentIndex": "1163", "start": "27783" }, "typeDescription": { @@ -22933,7 +22986,7 @@ "end": "27791", "length": "9", "line": "823", - "parentIndex": "1162", + "parentIndex": "1163", "start": "27783" } }, @@ -22943,7 +22996,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1166", + "id": "1167", "isStateVariable": true, "name": "allowedTokens", "nodeType": "VARIABLE_DECLARATION", @@ -22963,9 +23016,9 @@ "typeString": "mapping(address=\u003ebool)" }, "typeName": { - "id": "1167", + "id": "1168", "keyType": { - "id": "1168", + "id": "1169", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -22973,7 +23026,7 @@ "end": "27831", "length": "7", "line": "825", - "parentIndex": "1167", + "parentIndex": "1168", "start": "27825" }, "typeDescription": { @@ -22986,15 +23039,16 @@ "end": "27831", "length": "7", "line": "825", - "parentIndex": "1167", + "parentIndex": "1168", "start": "27825" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "27840", "length": "25", "line": "825", - "parentIndex": "1166", + "parentIndex": "1167", "start": "27816" }, "typeDescription": { @@ -23002,7 +23056,7 @@ "typeString": "mapping(address=\u003ebool)" }, "valueType": { - "id": "1169", + "id": "1170", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23010,7 +23064,7 @@ "end": "27839", "length": "4", "line": "825", - "parentIndex": "1167", + "parentIndex": "1168", "start": "27836" }, "typeDescription": { @@ -23023,7 +23077,7 @@ "end": "27839", "length": "4", "line": "825", - "parentIndex": "1167", + "parentIndex": "1168", "start": "27836" } }, @@ -23033,24 +23087,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1171", + "id": "1172", "name": "Paid", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1172", + "id": "1173", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1173", + "id": "1174", "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "1173", + "scope": "1174", "src": { "column": "15", "end": "27891", "length": "12", "line": "827", - "parentIndex": "1172", + "parentIndex": "1173", "start": "27880" }, "stateMutability": "NONPAYABLE", @@ -23060,7 +23114,7 @@ "typeString": "address" }, "typeName": { - "id": "1174", + "id": "1175", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23068,7 +23122,7 @@ "end": "27886", "length": "7", "line": "827", - "parentIndex": "1173", + "parentIndex": "1174", "start": "27880" }, "stateMutability": "NONPAYABLE", @@ -23080,16 +23134,16 @@ "visibility": "INTERNAL" }, { - "id": "1175", + "id": "1176", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1175", + "scope": "1176", "src": { "column": "29", "end": "27906", "length": "13", "line": "827", - "parentIndex": "1172", + "parentIndex": "1173", "start": "27894" }, "stateMutability": "NONPAYABLE", @@ -23099,7 +23153,7 @@ "typeString": "address" }, "typeName": { - "id": "1176", + "id": "1177", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23107,7 +23161,7 @@ "end": "27900", "length": "7", "line": "827", - "parentIndex": "1175", + "parentIndex": "1176", "start": "27894" }, "stateMutability": "NONPAYABLE", @@ -23119,16 +23173,16 @@ "visibility": "INTERNAL" }, { - "id": "1177", + "id": "1178", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "1177", + "scope": "1178", "src": { "column": "44", "end": "27922", "length": "14", "line": "827", - "parentIndex": "1172", + "parentIndex": "1173", "start": "27909" }, "stateMutability": "MUTABLE", @@ -23138,7 +23192,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1178", + "id": "1179", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23146,7 +23200,7 @@ "end": "27915", "length": "7", "line": "827", - "parentIndex": "1177", + "parentIndex": "1178", "start": "27909" }, "typeDescription": { @@ -23157,16 +23211,16 @@ "visibility": "INTERNAL" }, { - "id": "1179", + "id": "1180", "name": "time", "nodeType": "VARIABLE_DECLARATION", - "scope": "1179", + "scope": "1180", "src": { "column": "60", "end": "27936", "length": "12", "line": "827", - "parentIndex": "1172", + "parentIndex": "1173", "start": "27925" }, "stateMutability": "MUTABLE", @@ -23176,7 +23230,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1180", + "id": "1181", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23184,7 +23238,7 @@ "end": "27931", "length": "7", "line": "827", - "parentIndex": "1179", + "parentIndex": "1180", "start": "27925" }, "typeDescription": { @@ -23200,7 +23254,7 @@ "end": "27938", "length": "70", "line": "827", - "parentIndex": "1171", + "parentIndex": "1172", "start": "27869" } }, @@ -23213,7 +23267,7 @@ "start": "27869" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_PaymentStorage_Paid_\u00261171", + "typeIdentifier": "t_event\u0026_PaymentStorage_Paid_\u00261172", "typeString": "event PaymentStorage.Paid" } } @@ -23239,30 +23293,30 @@ } }, { - "id": 1181, + "id": 1182, "license": "unknown", "name": "Payment", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.sol", "exported_symbols": [ { - "id": 1181, + "id": 1182, "name": "Payment", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/Payment.sol" }, { - "id": 1192, + "id": 1193, "name": "Ownable" }, { - "id": 1194, + "id": 1195, "name": "Pausable" }, { - "id": 1196, + "id": 1197, "name": "ReentrancyGuard" }, { - "id": 1198, + "id": 1199, "name": "PaymentStorage" } ], @@ -23272,7 +23326,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "1190", + "id": "1191", "literals": [ "pragma", "solidity", @@ -23289,7 +23343,7 @@ "end": "27509", "length": "24", "line": "805", - "parentIndex": "1181", + "parentIndex": "1182", "start": "27486" }, "text": "pragma solidity ^0.8.14;" @@ -23301,7 +23355,7 @@ "baseContracts": [ { "baseName": { - "id": "1193", + "id": "1194", "name": "Ownable", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "859", @@ -23310,24 +23364,24 @@ "end": "27971", "length": "7", "line": "832", - "parentIndex": "1191", + "parentIndex": "1192", "start": "27965" } }, - "id": "1192", + "id": "1193", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "20", "end": "27971", "length": "7", "line": "832", - "parentIndex": "1191", + "parentIndex": "1192", "start": "27965" } }, { "baseName": { - "id": "1195", + "id": "1196", "name": "Pausable", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "972", @@ -23336,24 +23390,24 @@ "end": "27981", "length": "8", "line": "832", - "parentIndex": "1191", + "parentIndex": "1192", "start": "27974" } }, - "id": "1194", + "id": "1195", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "29", "end": "27981", "length": "8", "line": "832", - "parentIndex": "1191", + "parentIndex": "1192", "start": "27974" } }, { "baseName": { - "id": "1197", + "id": "1198", "name": "ReentrancyGuard", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1081", @@ -23362,24 +23416,24 @@ "end": "27998", "length": "15", "line": "832", - "parentIndex": "1191", + "parentIndex": "1192", "start": "27984" } }, - "id": "1196", + "id": "1197", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "39", "end": "27998", "length": "15", "line": "832", - "parentIndex": "1191", + "parentIndex": "1192", "start": "27984" } }, { "baseName": { - "id": "1199", + "id": "1200", "name": "PaymentStorage", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1130", @@ -23388,18 +23442,18 @@ "end": "28014", "length": "14", "line": "832", - "parentIndex": "1191", + "parentIndex": "1192", "start": "28001" } }, - "id": "1198", + "id": "1199", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "56", "end": "28014", "length": "14", "line": "832", - "parentIndex": "1191", + "parentIndex": "1192", "start": "28001" } } @@ -23411,14 +23465,14 @@ "1130" ], "fullyImplemented": true, - "id": "1191", + "id": "1192", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ "859", "972", "1081", "1130", - "1191" + "1192" ], "name": "Payment", "nameLocation": { @@ -23426,7 +23480,7 @@ "end": "27960", "length": "7", "line": "832", - "parentIndex": "1191", + "parentIndex": "1192", "start": "27954" }, "nodeType": "CONTRACT_DEFINITION", @@ -23434,9 +23488,9 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", "value": { - "id": "1201", + "id": "1202", "libraryName": { - "id": "1202", + "id": "1203", "name": "SafeERC20", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "553", @@ -23444,7 +23498,7 @@ "end": "28035", "length": "9", "line": "833", - "parentIndex": "1201", + "parentIndex": "1202", "start": "28027" } }, @@ -23454,21 +23508,21 @@ "end": "28047", "length": "27", "line": "833", - "parentIndex": "1191", + "parentIndex": "1192", "start": "28021" }, "typeName": { - "id": "1203", + "id": "1204", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1204", + "id": "1205", "name": "IERC20", "nameLocation": { "column": "23", "end": "28046", "length": "6", "line": "833", - "parentIndex": "1203", + "parentIndex": "1204", "start": "28041" }, "nodeType": "IDENTIFIER_PATH", @@ -23478,7 +23532,7 @@ "end": "28046", "length": "6", "line": "833", - "parentIndex": "1203", + "parentIndex": "1204", "start": "28041" } }, @@ -23488,7 +23542,7 @@ "end": "28046", "length": "6", "line": "833", - "parentIndex": "1201", + "parentIndex": "1202", "start": "28041" }, "typeDescription": { @@ -23502,7 +23556,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1211", + "id": "1212", "implemented": true, "nodeType": "BLOCK", "src": { @@ -23510,7 +23564,7 @@ "end": "28175", "length": "92", "line": "834", - "parentIndex": "1206", + "parentIndex": "1207", "start": "28084" }, "statements": [ @@ -23520,23 +23574,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1213", + "id": "1214", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1216", + "id": "1217", "name": "usdtToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1216", + "referencedDeclaration": "1217", "src": { "column": "22", "end": "28116", "length": "9", "line": "835", - "parentIndex": "1214", + "parentIndex": "1215", "start": "28108" }, "typeDescription": { @@ -23545,20 +23599,20 @@ } } }, - "id": "1214", + "id": "1215", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1215", + "id": "1216", "name": "allowedTokens", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1166", + "referencedDeclaration": "1167", "src": { "column": "8", "end": "28106", "length": "13", "line": "835", - "parentIndex": "1214", + "parentIndex": "1215", "start": "28094" }, "typeDescription": { @@ -23573,7 +23627,7 @@ "end": "28117", "length": "24", "line": "835", - "parentIndex": "1213", + "parentIndex": "1214", "start": "28094" }, "typeDescription": { @@ -23598,7 +23652,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "1217", + "id": "1218", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -23607,7 +23661,7 @@ "end": "28124", "length": "4", "line": "835", - "parentIndex": "1213", + "parentIndex": "1214", "start": "28121" }, "typeDescription": { @@ -23622,7 +23676,7 @@ "end": "28124", "length": "31", "line": "835", - "parentIndex": "1212", + "parentIndex": "1213", "start": "28094" }, "typeDescription": { @@ -23631,14 +23685,14 @@ } } }, - "id": "1212", + "id": "1213", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "28125", "length": "32", "line": "835", - "parentIndex": "1211", + "parentIndex": "1212", "start": "28094" }, "typeDescription": { @@ -23653,7 +23707,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1219", + "id": "1220", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -23671,7 +23725,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307830", - "id": "1225", + "id": "1226", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -23680,7 +23734,7 @@ "end": "28159", "length": "3", "line": "836", - "parentIndex": "1222", + "parentIndex": "1223", "start": "28157" }, "typeDescription": { @@ -23700,7 +23754,7 @@ "typeString": "address" } ], - "id": "1223", + "id": "1224", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -23708,7 +23762,7 @@ "end": "28155", "length": "7", "line": "836", - "parentIndex": "1222", + "parentIndex": "1223", "start": "28149" }, "typeDescription": { @@ -23716,7 +23770,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "1224", + "id": "1225", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23724,7 +23778,7 @@ "end": "28155", "length": "7", "line": "836", - "parentIndex": "1223", + "parentIndex": "1224", "start": "28149" }, "stateMutability": "NONPAYABLE", @@ -23735,7 +23789,7 @@ } } }, - "id": "1222", + "id": "1223", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -23743,7 +23797,7 @@ "end": "28160", "length": "12", "line": "836", - "parentIndex": "1220", + "parentIndex": "1221", "start": "28149" }, "typeDescription": { @@ -23752,20 +23806,20 @@ } } }, - "id": "1220", + "id": "1221", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1221", + "id": "1222", "name": "allowedTokens", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1166", + "referencedDeclaration": "1167", "src": { "column": "8", "end": "28147", "length": "13", "line": "836", - "parentIndex": "1220", + "parentIndex": "1221", "start": "28135" }, "typeDescription": { @@ -23780,7 +23834,7 @@ "end": "28161", "length": "27", "line": "836", - "parentIndex": "1219", + "parentIndex": "1220", "start": "28135" }, "typeDescription": { @@ -23805,7 +23859,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "1226", + "id": "1227", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -23814,7 +23868,7 @@ "end": "28168", "length": "4", "line": "836", - "parentIndex": "1219", + "parentIndex": "1220", "start": "28165" }, "typeDescription": { @@ -23829,7 +23883,7 @@ "end": "28168", "length": "34", "line": "836", - "parentIndex": "1218", + "parentIndex": "1219", "start": "28135" }, "typeDescription": { @@ -23838,14 +23892,14 @@ } } }, - "id": "1218", + "id": "1219", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "28169", "length": "35", "line": "836", - "parentIndex": "1211", + "parentIndex": "1212", "start": "28135" }, "typeDescription": { @@ -23856,25 +23910,25 @@ } ] }, - "id": "1206", + "id": "1207", "implemented": true, "kind": "CONSTRUCTOR", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1207", + "id": "1208", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1208", + "id": "1209", "name": "usdtToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "1208", + "scope": "1209", "src": { "column": "16", "end": "28081", "length": "17", "line": "834", - "parentIndex": "1207", + "parentIndex": "1208", "start": "28065" }, "stateMutability": "NONPAYABLE", @@ -23884,7 +23938,7 @@ "typeString": "address" }, "typeName": { - "id": "1209", + "id": "1210", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -23892,7 +23946,7 @@ "end": "28071", "length": "7", "line": "834", - "parentIndex": "1208", + "parentIndex": "1209", "start": "28065" }, "stateMutability": "NONPAYABLE", @@ -23909,29 +23963,29 @@ "end": "28081", "length": "17", "line": "834", - "parentIndex": "1206", + "parentIndex": "1207", "start": "28065" } }, "returnParameters": { - "id": "1210", + "id": "1211", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "28175", "length": "123", "line": "834", - "parentIndex": "1206", + "parentIndex": "1207", "start": "28053" } }, - "scope": "1191", + "scope": "1192", "src": { "column": "4", "end": "28175", "length": "123", "line": "834", - "parentIndex": "1191", + "parentIndex": "1192", "start": "28053" }, "stateMutability": "NONPAYABLE", @@ -23946,7 +24000,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Receive", "value": { "body": { - "id": "1231", + "id": "1232", "implemented": true, "nodeType": "BLOCK", "src": { @@ -23954,35 +24008,35 @@ "end": "28210", "length": "2", "line": "839", - "parentIndex": "1228", + "parentIndex": "1229", "start": "28209" } }, - "id": "1228", + "id": "1229", "implemented": true, "kind": "RECEIVE", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1229", + "id": "1230", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "28210", "length": "29", "line": "839", - "parentIndex": "1228", + "parentIndex": "1229", "start": "28182" } }, "returnParameters": { - "id": "1230", + "id": "1231", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "28210", "length": "29", "line": "839", - "parentIndex": "1228", + "parentIndex": "1229", "start": "28182" } }, @@ -23991,7 +24045,7 @@ "end": "28210", "length": "29", "line": "839", - "parentIndex": "1191", + "parentIndex": "1192", "start": "28182" }, "stateMutability": "NONPAYABLE", @@ -24002,7 +24056,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1244", + "id": "1245", "implemented": true, "nodeType": "BLOCK", "src": { @@ -24010,7 +24064,7 @@ "end": "29074", "length": "770", "line": "841", - "parentIndex": "1233", + "parentIndex": "1234", "start": "28305" }, "statements": [ @@ -24034,16 +24088,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1249", + "id": "1250", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1249", + "referencedDeclaration": "1250", "src": { "column": "30", "end": "28341", "length": "5", "line": "842", - "parentIndex": "1247", + "parentIndex": "1248", "start": "28337" }, "typeDescription": { @@ -24052,20 +24106,20 @@ } } }, - "id": "1247", + "id": "1248", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1248", + "id": "1249", "name": "allowedTokens", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1166", + "referencedDeclaration": "1167", "src": { "column": "16", "end": "28335", "length": "13", "line": "842", - "parentIndex": "1247", + "parentIndex": "1248", "start": "28323" }, "typeDescription": { @@ -24080,7 +24134,7 @@ "end": "28342", "length": "20", "line": "842", - "parentIndex": "1245", + "parentIndex": "1246", "start": "28323" }, "typeDescription": { @@ -24109,7 +24163,7 @@ } ], "hexValue": "5061796d656e7420746f6b656e206e6f7420616c6c6f776564", - "id": "1250", + "id": "1251", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -24118,7 +24172,7 @@ "end": "28371", "length": "27", "line": "842", - "parentIndex": "1245", + "parentIndex": "1246", "start": "28345" }, "typeDescription": { @@ -24132,7 +24186,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1246", + "id": "1247", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -24141,7 +24195,7 @@ "end": "28321", "length": "7", "line": "842", - "parentIndex": "1245", + "parentIndex": "1246", "start": "28315" }, "typeDescription": { @@ -24150,7 +24204,7 @@ } } }, - "id": "1245", + "id": "1246", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -24158,7 +24212,7 @@ "end": "28373", "length": "59", "line": "842", - "parentIndex": "1244", + "parentIndex": "1245", "start": "28315" }, "typeDescription": { @@ -24173,7 +24227,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1252", + "id": "1253", "name": "paymentId", "nodeType": "IDENTIFIER", "referencedDeclaration": "1142", @@ -24182,7 +24236,7 @@ "end": "28392", "length": "9", "line": "843", - "parentIndex": "1251", + "parentIndex": "1252", "start": "28384" }, "typeDescription": { @@ -24191,7 +24245,7 @@ } } }, - "id": "1251", + "id": "1252", "kind": "KIND_UNARY_SUFFIX", "nodeType": "UNARY_OPERATION", "operator": "INCREMENT", @@ -24200,7 +24254,7 @@ "end": "28394", "length": "11", "line": "843", - "parentIndex": "1233", + "parentIndex": "1234", "start": "28384" }, "typeDescription": { @@ -24222,7 +24276,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1259", + "id": "1260", "name": "paymentId", "nodeType": "IDENTIFIER", "src": { @@ -24230,7 +24284,7 @@ "end": "28446", "length": "9", "line": "844", - "parentIndex": "1253", + "parentIndex": "1254", "start": "28438" }, "typeDescription": { @@ -24252,7 +24306,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1258", + "id": "1259", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -24260,7 +24314,7 @@ "end": "28423", "length": "3", "line": "844", - "parentIndex": "1257", + "parentIndex": "1258", "start": "28421" }, "typeDescription": { @@ -24269,13 +24323,13 @@ } } }, - "id": "1257", + "id": "1258", "memberLocation": { "column": "28", "end": "28430", "length": "6", "line": "844", - "parentIndex": "1257", + "parentIndex": "1258", "start": "28425" }, "memberName": "sender", @@ -24285,7 +24339,7 @@ "end": "28430", "length": "10", "line": "844", - "parentIndex": "1255", + "parentIndex": "1256", "start": "28421" }, "typeDescription": { @@ -24294,20 +24348,20 @@ } } }, - "id": "1255", + "id": "1256", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1256", + "id": "1257", "name": "_userPaymentIds", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1161", + "referencedDeclaration": "1162", "src": { "column": "8", "end": "28419", "length": "15", "line": "844", - "parentIndex": "1255", + "parentIndex": "1256", "start": "28405" }, "typeDescription": { @@ -24322,7 +24376,7 @@ "end": "28431", "length": "27", "line": "844", - "parentIndex": "1254", + "parentIndex": "1255", "start": "28405" }, "typeDescription": { @@ -24341,13 +24395,13 @@ ] } }, - "id": "1254", + "id": "1255", "memberLocation": { "column": "36", "end": "28436", "length": "4", "line": "844", - "parentIndex": "1254", + "parentIndex": "1255", "start": "28433" }, "memberName": "push", @@ -24357,7 +24411,7 @@ "end": "28436", "length": "32", "line": "844", - "parentIndex": "1253", + "parentIndex": "1254", "start": "28405" }, "typeDescription": { @@ -24366,7 +24420,7 @@ } } }, - "id": "1253", + "id": "1254", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -24374,7 +24428,7 @@ "end": "28447", "length": "43", "line": "844", - "parentIndex": "1244", + "parentIndex": "1245", "start": "28405" }, "typeDescription": { @@ -24387,7 +24441,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "1267", + "id": "1268", "implemented": true, "nodeType": "BLOCK", "src": { @@ -24395,7 +24449,7 @@ "end": "28737", "length": "255", "line": "845", - "parentIndex": "1233", + "parentIndex": "1234", "start": "28483" }, "statements": [ @@ -24416,14 +24470,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1270", + "id": "1271", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1272", + "id": "1273", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -24431,7 +24485,7 @@ "end": "28507", "length": "3", "line": "846", - "parentIndex": "1271", + "parentIndex": "1272", "start": "28505" }, "typeDescription": { @@ -24440,13 +24494,13 @@ } } }, - "id": "1271", + "id": "1272", "memberLocation": { "column": "24", "end": "28513", "length": "5", "line": "846", - "parentIndex": "1271", + "parentIndex": "1272", "start": "28509" }, "memberName": "value", @@ -24456,7 +24510,7 @@ "end": "28513", "length": "9", "line": "846", - "parentIndex": "1270", + "parentIndex": "1271", "start": "28505" }, "typeDescription": { @@ -24471,7 +24525,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "1273", + "id": "1274", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -24480,7 +24534,7 @@ "end": "28517", "length": "1", "line": "846", - "parentIndex": "1270", + "parentIndex": "1271", "start": "28517" }, "typeDescription": { @@ -24495,7 +24549,7 @@ "end": "28517", "length": "13", "line": "846", - "parentIndex": "1268", + "parentIndex": "1269", "start": "28505" }, "typeDescription": { @@ -24514,7 +24568,7 @@ } ], "hexValue": "7061796d656e742073686f756c642062652067726561746572207468616e2030", - "id": "1274", + "id": "1275", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -24523,7 +24577,7 @@ "end": "28553", "length": "34", "line": "846", - "parentIndex": "1268", + "parentIndex": "1269", "start": "28520" }, "typeDescription": { @@ -24537,7 +24591,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1269", + "id": "1270", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -24546,7 +24600,7 @@ "end": "28503", "length": "7", "line": "846", - "parentIndex": "1268", + "parentIndex": "1269", "start": "28497" }, "typeDescription": { @@ -24555,7 +24609,7 @@ } } }, - "id": "1268", + "id": "1269", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -24563,7 +24617,7 @@ "end": "28554", "length": "58", "line": "846", - "parentIndex": "1267", + "parentIndex": "1268", "start": "28497" }, "typeDescription": { @@ -24578,7 +24632,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1276", + "id": "1277", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -24588,7 +24642,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1282", + "id": "1283", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -24596,7 +24650,7 @@ "end": "28597", "length": "3", "line": "847", - "parentIndex": "1281", + "parentIndex": "1282", "start": "28595" }, "typeDescription": { @@ -24605,13 +24659,13 @@ } } }, - "id": "1281", + "id": "1282", "memberLocation": { "column": "42", "end": "28604", "length": "6", "line": "847", - "parentIndex": "1281", + "parentIndex": "1282", "start": "28599" }, "memberName": "sender", @@ -24621,7 +24675,7 @@ "end": "28604", "length": "10", "line": "847", - "parentIndex": "1277", + "parentIndex": "1278", "start": "28595" }, "typeDescription": { @@ -24630,14 +24684,14 @@ } } }, - "id": "1277", + "id": "1278", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1280", + "id": "1281", "name": "paymentId", "nodeType": "IDENTIFIER", "referencedDeclaration": "1142", @@ -24646,7 +24700,7 @@ "end": "28592", "length": "9", "line": "847", - "parentIndex": "1278", + "parentIndex": "1279", "start": "28584" }, "typeDescription": { @@ -24655,11 +24709,11 @@ } } }, - "id": "1278", + "id": "1279", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1279", + "id": "1280", "name": "paymentHistory", "nodeType": "IDENTIFIER", "referencedDeclaration": "1153", @@ -24668,11 +24722,11 @@ "end": "28582", "length": "14", "line": "847", - "parentIndex": "1278", + "parentIndex": "1279", "start": "28569" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "typeString": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" } } @@ -24683,16 +24737,16 @@ "end": "28593", "length": "25", "line": "847", - "parentIndex": "1277", + "parentIndex": "1278", "start": "28569" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$", "typeString": "index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "typeIdentifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "typeString": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, { @@ -24708,16 +24762,16 @@ "end": "28605", "length": "37", "line": "847", - "parentIndex": "1276", + "parentIndex": "1277", "start": "28569" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$]$_t_address]$", "typeString": "index[index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$", "typeString": "index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]" }, { @@ -24750,16 +24804,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1285", + "id": "1286", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1285", + "referencedDeclaration": "1286", "src": { "column": "66", "end": "28627", "length": "5", "line": "847", - "parentIndex": "1283", + "parentIndex": "1284", "start": "28623" }, "typeDescription": { @@ -24780,7 +24834,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1287", + "id": "1288", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -24788,7 +24842,7 @@ "end": "28632", "length": "3", "line": "847", - "parentIndex": "1286", + "parentIndex": "1287", "start": "28630" }, "typeDescription": { @@ -24797,13 +24851,13 @@ } } }, - "id": "1286", + "id": "1287", "memberLocation": { "column": "77", "end": "28638", "length": "5", "line": "847", - "parentIndex": "1286", + "parentIndex": "1287", "start": "28634" }, "memberName": "value", @@ -24813,7 +24867,7 @@ "end": "28638", "length": "9", "line": "847", - "parentIndex": "1283", + "parentIndex": "1284", "start": "28630" }, "typeDescription": { @@ -24838,7 +24892,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1289", + "id": "1290", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -24846,7 +24900,7 @@ "end": "28645", "length": "5", "line": "847", - "parentIndex": "1288", + "parentIndex": "1289", "start": "28641" }, "typeDescription": { @@ -24855,13 +24909,13 @@ } } }, - "id": "1288", + "id": "1289", "memberLocation": { "column": "90", "end": "28655", "length": "9", "line": "847", - "parentIndex": "1288", + "parentIndex": "1289", "start": "28647" }, "memberName": "timestamp", @@ -24871,7 +24925,7 @@ "end": "28655", "length": "15", "line": "847", - "parentIndex": "1283", + "parentIndex": "1284", "start": "28641" }, "typeDescription": { @@ -24884,7 +24938,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1284", + "id": "1285", "name": "PaymentDetail", "nodeType": "IDENTIFIER", "src": { @@ -24892,7 +24946,7 @@ "end": "28621", "length": "13", "line": "847", - "parentIndex": "1283", + "parentIndex": "1284", "start": "28609" }, "typeDescription": { @@ -24901,7 +24955,7 @@ } } }, - "id": "1283", + "id": "1284", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -24909,7 +24963,7 @@ "end": "28656", "length": "48", "line": "847", - "parentIndex": "1276", + "parentIndex": "1277", "start": "28609" }, "typeDescription": { @@ -24923,27 +24977,27 @@ "end": "28656", "length": "88", "line": "847", - "parentIndex": "1275", + "parentIndex": "1276", "start": "28569" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$]$_t_address]$", "typeString": "index[index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]:address]" } } }, - "id": "1275", + "id": "1276", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "28657", "length": "89", "line": "847", - "parentIndex": "1267", + "parentIndex": "1268", "start": "28569" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$]$_t_uint256]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$]$_t_uint256]$]$_t_address]$", "typeString": "index[index[mapping(uint256=\u003emapping(address=\u003ePaymentDetail)):uint256]:address]" } } @@ -24958,7 +25012,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1292", + "id": "1293", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -24966,7 +25020,7 @@ "end": "28683", "length": "3", "line": "848", - "parentIndex": "1291", + "parentIndex": "1292", "start": "28681" }, "typeDescription": { @@ -24975,13 +25029,13 @@ } } }, - "id": "1291", + "id": "1292", "memberLocation": { "column": "26", "end": "28690", "length": "6", "line": "848", - "parentIndex": "1291", + "parentIndex": "1292", "start": "28685" }, "memberName": "sender", @@ -24991,7 +25045,7 @@ "end": "28690", "length": "10", "line": "848", - "parentIndex": "1290", + "parentIndex": "1291", "start": "28681" }, "typeDescription": { @@ -25003,16 +25057,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1293", + "id": "1294", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1293", + "referencedDeclaration": "1294", "src": { "column": "34", "end": "28697", "length": "5", "line": "848", - "parentIndex": "1290", + "parentIndex": "1291", "start": "28693" }, "typeDescription": { @@ -25027,7 +25081,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1295", + "id": "1296", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -25035,7 +25089,7 @@ "end": "28702", "length": "3", "line": "848", - "parentIndex": "1294", + "parentIndex": "1295", "start": "28700" }, "typeDescription": { @@ -25044,13 +25098,13 @@ } } }, - "id": "1294", + "id": "1295", "memberLocation": { "column": "45", "end": "28708", "length": "5", "line": "848", - "parentIndex": "1294", + "parentIndex": "1295", "start": "28704" }, "memberName": "value", @@ -25060,7 +25114,7 @@ "end": "28708", "length": "9", "line": "848", - "parentIndex": "1290", + "parentIndex": "1291", "start": "28700" }, "typeDescription": { @@ -25075,7 +25129,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1297", + "id": "1298", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -25083,7 +25137,7 @@ "end": "28715", "length": "5", "line": "848", - "parentIndex": "1296", + "parentIndex": "1297", "start": "28711" }, "typeDescription": { @@ -25092,13 +25146,13 @@ } } }, - "id": "1296", + "id": "1297", "memberLocation": { "column": "58", "end": "28725", "length": "9", "line": "848", - "parentIndex": "1296", + "parentIndex": "1297", "start": "28717" }, "memberName": "timestamp", @@ -25108,7 +25162,7 @@ "end": "28725", "length": "15", "line": "848", - "parentIndex": "1290", + "parentIndex": "1291", "start": "28711" }, "typeDescription": { @@ -25121,32 +25175,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1298", + "id": "1299", "name": "Paid", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1171", + "referencedDeclaration": "1172", "src": { "column": "17", "end": "28679", "length": "4", "line": "848", - "parentIndex": "1290", + "parentIndex": "1291", "start": "28676" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_PaymentStorage_Paid_\u00261171", + "typeIdentifier": "t_event\u0026_PaymentStorage_Paid_\u00261172", "typeString": "event PaymentStorage.Paid" } } }, - "id": "1290", + "id": "1291", "nodeType": "EMIT_STATEMENT", "src": { "column": "12", "end": "28727", "length": "57", "line": "848", - "parentIndex": "1233", + "parentIndex": "1234", "start": "28671" } } @@ -25156,20 +25210,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1261", + "id": "1262", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1262", + "id": "1263", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1262", + "referencedDeclaration": "1263", "src": { "column": "11", "end": "28465", "length": "5", "line": "845", - "parentIndex": "1261", + "parentIndex": "1262", "start": "28461" }, "typeDescription": { @@ -25194,7 +25248,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307830", - "id": "1266", + "id": "1267", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -25203,7 +25257,7 @@ "end": "28480", "length": "3", "line": "845", - "parentIndex": "1263", + "parentIndex": "1264", "start": "28478" }, "typeDescription": { @@ -25223,7 +25277,7 @@ "typeString": "address" } ], - "id": "1264", + "id": "1265", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -25231,7 +25285,7 @@ "end": "28476", "length": "7", "line": "845", - "parentIndex": "1263", + "parentIndex": "1264", "start": "28470" }, "typeDescription": { @@ -25239,7 +25293,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "1265", + "id": "1266", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25247,7 +25301,7 @@ "end": "28476", "length": "7", "line": "845", - "parentIndex": "1264", + "parentIndex": "1265", "start": "28470" }, "stateMutability": "NONPAYABLE", @@ -25258,7 +25312,7 @@ } } }, - "id": "1263", + "id": "1264", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -25266,7 +25320,7 @@ "end": "28481", "length": "12", "line": "845", - "parentIndex": "1261", + "parentIndex": "1262", "start": "28470" }, "typeDescription": { @@ -25280,7 +25334,7 @@ "end": "28481", "length": "21", "line": "845", - "parentIndex": "1260", + "parentIndex": "1261", "start": "28461" }, "typeDescription": { @@ -25289,35 +25343,35 @@ } } }, - "id": "1260", + "id": "1261", "nodeType": "IF_STATEMENT", "src": { "end": "29067", "length": "610", "line": "845", - "parentIndex": "1244", + "parentIndex": "1245", "start": "28458" } } } ] }, - "id": "1233", + "id": "1234", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "1239", + "id": "1240", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1240", + "id": "1241", "name": "whenNotPaused", "src": { "column": "65", "end": "28290", "length": "13", "line": "841", - "parentIndex": "1239", + "parentIndex": "1240", "start": "28278" } }, @@ -25328,22 +25382,22 @@ "end": "28290", "length": "13", "line": "841", - "parentIndex": "1233", + "parentIndex": "1234", "start": "28278" } }, { - "id": "1241", + "id": "1242", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1242", + "id": "1243", "name": "nonReentrant", "src": { "column": "79", "end": "28303", "length": "12", "line": "841", - "parentIndex": "1241", + "parentIndex": "1242", "start": "28292" } }, @@ -25354,7 +25408,7 @@ "end": "28303", "length": "12", "line": "841", - "parentIndex": "1233", + "parentIndex": "1234", "start": "28292" } } @@ -25365,25 +25419,25 @@ "end": "28228", "length": "3", "line": "841", - "parentIndex": "1233", + "parentIndex": "1234", "start": "28226" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1234", + "id": "1235", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1235", + "id": "1236", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1235", + "scope": "1236", "src": { "column": "17", "end": "28242", "length": "13", "line": "841", - "parentIndex": "1234", + "parentIndex": "1235", "start": "28230" }, "stateMutability": "NONPAYABLE", @@ -25393,7 +25447,7 @@ "typeString": "address" }, "typeName": { - "id": "1236", + "id": "1237", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25401,7 +25455,7 @@ "end": "28236", "length": "7", "line": "841", - "parentIndex": "1235", + "parentIndex": "1236", "start": "28230" }, "stateMutability": "NONPAYABLE", @@ -25413,16 +25467,16 @@ "visibility": "INTERNAL" }, { - "id": "1237", + "id": "1238", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "1237", + "scope": "1238", "src": { "column": "32", "end": "28258", "length": "14", "line": "841", - "parentIndex": "1234", + "parentIndex": "1235", "start": "28245" }, "stateMutability": "MUTABLE", @@ -25432,7 +25486,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1238", + "id": "1239", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25440,7 +25494,7 @@ "end": "28251", "length": "7", "line": "841", - "parentIndex": "1237", + "parentIndex": "1238", "start": "28245" }, "typeDescription": { @@ -25456,30 +25510,30 @@ "end": "28258", "length": "29", "line": "841", - "parentIndex": "1233", + "parentIndex": "1234", "start": "28230" } }, "returnParameters": { - "id": "1243", + "id": "1244", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "29074", "length": "858", "line": "841", - "parentIndex": "1233", + "parentIndex": "1234", "start": "28217" } }, - "scope": "1191", - "signature": "049611d3", + "scope": "1192", + "signature": "c4076876", "src": { "column": "4", "end": "29074", "length": "858", "line": "841", - "parentIndex": "1191", + "parentIndex": "1192", "start": "28217" }, "stateMutability": "PAYABLE", @@ -25494,7 +25548,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1307", + "id": "1308", "implemented": true, "nodeType": "BLOCK", "src": { @@ -25502,7 +25556,7 @@ "end": "29155", "length": "25", "line": "859", - "parentIndex": "1300", + "parentIndex": "1301", "start": "29131" }, "statements": [ @@ -25512,7 +25566,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1309", + "id": "1310", "name": "_pause", "nodeType": "IDENTIFIER", "src": { @@ -25520,7 +25574,7 @@ "end": "29146", "length": "6", "line": "860", - "parentIndex": "1308", + "parentIndex": "1309", "start": "29141" }, "typeDescription": { @@ -25529,7 +25583,7 @@ } } }, - "id": "1308", + "id": "1309", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -25537,7 +25591,7 @@ "end": "29148", "length": "8", "line": "860", - "parentIndex": "1307", + "parentIndex": "1308", "start": "29141" }, "typeDescription": { @@ -25548,22 +25602,22 @@ } ] }, - "id": "1300", + "id": "1301", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "1302", + "id": "1303", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1303", + "id": "1304", "name": "onlyOwner", "src": { "column": "21", "end": "29106", "length": "9", "line": "859", - "parentIndex": "1302", + "parentIndex": "1303", "start": "29098" } }, @@ -25574,22 +25628,22 @@ "end": "29106", "length": "9", "line": "859", - "parentIndex": "1300", + "parentIndex": "1301", "start": "29098" } }, { - "id": "1304", + "id": "1305", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1305", + "id": "1306", "name": "whenNotPaused", "src": { "column": "31", "end": "29120", "length": "13", "line": "859", - "parentIndex": "1304", + "parentIndex": "1305", "start": "29108" } }, @@ -25600,7 +25654,7 @@ "end": "29120", "length": "13", "line": "859", - "parentIndex": "1300", + "parentIndex": "1301", "start": "29108" } } @@ -25611,42 +25665,42 @@ "end": "29094", "length": "5", "line": "859", - "parentIndex": "1300", + "parentIndex": "1301", "start": "29090" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1301", + "id": "1302", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "29155", "length": "75", "line": "859", - "parentIndex": "1300", + "parentIndex": "1301", "start": "29081" } }, "returnParameters": { - "id": "1306", + "id": "1307", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "29155", "length": "75", "line": "859", - "parentIndex": "1300", + "parentIndex": "1301", "start": "29081" } }, - "scope": "1191", + "scope": "1192", "signature": "8456cb59", "src": { "column": "4", "end": "29155", "length": "75", "line": "859", - "parentIndex": "1191", + "parentIndex": "1192", "start": "29081" }, "stateMutability": "NONPAYABLE", @@ -25661,7 +25715,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1318", + "id": "1319", "implemented": true, "nodeType": "BLOCK", "src": { @@ -25669,7 +25723,7 @@ "end": "29237", "length": "27", "line": "863", - "parentIndex": "1311", + "parentIndex": "1312", "start": "29211" }, "statements": [ @@ -25679,7 +25733,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1320", + "id": "1321", "name": "_unpause", "nodeType": "IDENTIFIER", "src": { @@ -25687,7 +25741,7 @@ "end": "29228", "length": "8", "line": "864", - "parentIndex": "1319", + "parentIndex": "1320", "start": "29221" }, "typeDescription": { @@ -25696,7 +25750,7 @@ } } }, - "id": "1319", + "id": "1320", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -25704,7 +25758,7 @@ "end": "29230", "length": "10", "line": "864", - "parentIndex": "1318", + "parentIndex": "1319", "start": "29221" }, "typeDescription": { @@ -25715,22 +25769,22 @@ } ] }, - "id": "1311", + "id": "1312", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "1313", + "id": "1314", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1314", + "id": "1315", "name": "onlyOwner", "src": { "column": "23", "end": "29189", "length": "9", "line": "863", - "parentIndex": "1313", + "parentIndex": "1314", "start": "29181" } }, @@ -25741,22 +25795,22 @@ "end": "29189", "length": "9", "line": "863", - "parentIndex": "1311", + "parentIndex": "1312", "start": "29181" } }, { - "id": "1315", + "id": "1316", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1316", + "id": "1317", "name": "whenPaused", "src": { "column": "33", "end": "29200", "length": "10", "line": "863", - "parentIndex": "1315", + "parentIndex": "1316", "start": "29191" } }, @@ -25767,7 +25821,7 @@ "end": "29200", "length": "10", "line": "863", - "parentIndex": "1311", + "parentIndex": "1312", "start": "29191" } } @@ -25778,42 +25832,42 @@ "end": "29177", "length": "7", "line": "863", - "parentIndex": "1311", + "parentIndex": "1312", "start": "29171" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1312", + "id": "1313", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "29237", "length": "76", "line": "863", - "parentIndex": "1311", + "parentIndex": "1312", "start": "29162" } }, "returnParameters": { - "id": "1317", + "id": "1318", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "29237", "length": "76", "line": "863", - "parentIndex": "1311", + "parentIndex": "1312", "start": "29162" } }, - "scope": "1191", + "scope": "1192", "signature": "3f4ba83a", "src": { "column": "4", "end": "29237", "length": "76", "line": "863", - "parentIndex": "1191", + "parentIndex": "1192", "start": "29162" }, "stateMutability": "NONPAYABLE", @@ -25828,7 +25882,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1327", + "id": "1328", "implemented": true, "nodeType": "BLOCK", "src": { @@ -25836,7 +25890,7 @@ "end": "29433", "length": "120", "line": "868", - "parentIndex": "1322", + "parentIndex": "1323", "start": "29314" }, "statements": [ @@ -25844,11 +25898,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1329" + "1330" ], "declarations": [ { - "id": "1329", + "id": "1330", "mutability": "MUTABLE", "name": "success", "nameLocation": { @@ -25856,17 +25910,17 @@ "end": "29336", "length": "7", "line": "869", - "parentIndex": "1329", + "parentIndex": "1330", "start": "29330" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1327", + "scope": "1328", "src": { "column": "9", "end": "29336", "length": "12", "line": "869", - "parentIndex": "1328", + "parentIndex": "1329", "start": "29325" }, "storageLocation": "DEFAULT", @@ -25875,7 +25929,7 @@ "typeString": "bool" }, "typeName": { - "id": "1330", + "id": "1331", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -25883,7 +25937,7 @@ "end": "29328", "length": "4", "line": "869", - "parentIndex": "1329", + "parentIndex": "1330", "start": "29325" }, "typeDescription": { @@ -25894,7 +25948,7 @@ "visibility": "INTERNAL" } ], - "id": "1328", + "id": "1329", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -25908,7 +25962,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1337", + "id": "1338", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -25917,7 +25971,7 @@ "end": "29399", "length": "2", "line": "869", - "parentIndex": "1331", + "parentIndex": "1332", "start": "29398" }, "typeDescription": { @@ -25949,7 +26003,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1336", + "id": "1337", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -25957,7 +26011,7 @@ "end": "29353", "length": "3", "line": "869", - "parentIndex": "1335", + "parentIndex": "1336", "start": "29351" }, "typeDescription": { @@ -25966,13 +26020,13 @@ } } }, - "id": "1335", + "id": "1336", "memberLocation": { "column": "39", "end": "29360", "length": "6", "line": "869", - "parentIndex": "1335", + "parentIndex": "1336", "start": "29355" }, "memberName": "sender", @@ -25982,7 +26036,7 @@ "end": "29360", "length": "10", "line": "869", - "parentIndex": "1334", + "parentIndex": "1335", "start": "29351" }, "typeDescription": { @@ -25992,7 +26046,7 @@ } } ], - "id": "1334", + "id": "1335", "nodeType": "PAYABLE_CONVERSION", "payable": true, "src": { @@ -26000,18 +26054,18 @@ "end": "29361", "length": "19", "line": "869", - "parentIndex": "1333", + "parentIndex": "1334", "start": "29343" } } }, - "id": "1333", + "id": "1334", "memberLocation": { "column": "47", "end": "29366", "length": "4", "line": "869", - "parentIndex": "1333", + "parentIndex": "1334", "start": "29363" }, "memberName": "call", @@ -26021,7 +26075,7 @@ "end": "29366", "length": "24", "line": "869", - "parentIndex": "1332", + "parentIndex": "1333", "start": "29343" }, "typeDescription": { @@ -26030,7 +26084,7 @@ } } }, - "id": "1332", + "id": "1333", "kind": "FUNCTION_CALL_OPTION", "nodeType": "FUNCTION_CALL_OPTION", "src": { @@ -26038,7 +26092,7 @@ "end": "29396", "length": "54", "line": "869", - "parentIndex": "1331", + "parentIndex": "1332", "start": "29343" }, "typeDescription": { @@ -26047,7 +26101,7 @@ } } }, - "id": "1331", + "id": "1332", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26055,7 +26109,7 @@ "end": "29400", "length": "58", "line": "869", - "parentIndex": "1328", + "parentIndex": "1329", "start": "29343" }, "typeDescription": { @@ -26070,7 +26124,7 @@ "end": "29401", "length": "78", "line": "869", - "parentIndex": "1327", + "parentIndex": "1328", "start": "29324" } } @@ -26088,16 +26142,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1340", + "id": "1341", "name": "success", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1328", + "referencedDeclaration": "1329", "src": { "column": "16", "end": "29425", "length": "7", "line": "870", - "parentIndex": "1338", + "parentIndex": "1339", "start": "29419" }, "typeDescription": { @@ -26110,7 +26164,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1339", + "id": "1340", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -26119,7 +26173,7 @@ "end": "29417", "length": "7", "line": "870", - "parentIndex": "1338", + "parentIndex": "1339", "start": "29411" }, "typeDescription": { @@ -26128,7 +26182,7 @@ } } }, - "id": "1338", + "id": "1339", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26136,7 +26190,7 @@ "end": "29426", "length": "16", "line": "870", - "parentIndex": "1327", + "parentIndex": "1328", "start": "29411" }, "typeDescription": { @@ -26147,22 +26201,22 @@ } ] }, - "id": "1322", + "id": "1323", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "1324", + "id": "1325", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1325", + "id": "1326", "name": "onlyOwner", "src": { "column": "36", "end": "29312", "length": "9", "line": "868", - "parentIndex": "1324", + "parentIndex": "1325", "start": "29304" } }, @@ -26173,7 +26227,7 @@ "end": "29312", "length": "9", "line": "868", - "parentIndex": "1322", + "parentIndex": "1323", "start": "29304" } } @@ -26184,42 +26238,42 @@ "end": "29291", "length": "11", "line": "868", - "parentIndex": "1322", + "parentIndex": "1323", "start": "29281" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1323", + "id": "1324", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "29433", "length": "162", "line": "868", - "parentIndex": "1322", + "parentIndex": "1323", "start": "29272" } }, "returnParameters": { - "id": "1326", + "id": "1327", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "29433", "length": "162", "line": "868", - "parentIndex": "1322", + "parentIndex": "1323", "start": "29272" } }, - "scope": "1191", + "scope": "1192", "signature": "a0ef91df", "src": { "column": "4", "end": "29433", "length": "162", "line": "868", - "parentIndex": "1191", + "parentIndex": "1192", "start": "29272" }, "stateMutability": "NONPAYABLE", @@ -26234,7 +26288,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1349", + "id": "1350", "implemented": true, "nodeType": "BLOCK", "src": { @@ -26242,7 +26296,7 @@ "end": "29706", "length": "185", "line": "874", - "parentIndex": "1342", + "parentIndex": "1343", "start": "29522" }, "statements": [ @@ -26263,20 +26317,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1352", + "id": "1353", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1353", + "id": "1354", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1353", + "referencedDeclaration": "1354", "src": { "column": "16", "end": "29544", "length": "5", "line": "875", - "parentIndex": "1352", + "parentIndex": "1353", "start": "29540" }, "typeDescription": { @@ -26301,7 +26355,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307830", - "id": "1357", + "id": "1358", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -26310,7 +26364,7 @@ "end": "29559", "length": "3", "line": "875", - "parentIndex": "1354", + "parentIndex": "1355", "start": "29557" }, "typeDescription": { @@ -26330,7 +26384,7 @@ "typeString": "address" } ], - "id": "1355", + "id": "1356", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -26338,7 +26392,7 @@ "end": "29555", "length": "7", "line": "875", - "parentIndex": "1354", + "parentIndex": "1355", "start": "29549" }, "typeDescription": { @@ -26346,7 +26400,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "1356", + "id": "1357", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -26354,7 +26408,7 @@ "end": "29555", "length": "7", "line": "875", - "parentIndex": "1355", + "parentIndex": "1356", "start": "29549" }, "stateMutability": "NONPAYABLE", @@ -26365,7 +26419,7 @@ } } }, - "id": "1354", + "id": "1355", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26373,7 +26427,7 @@ "end": "29560", "length": "12", "line": "875", - "parentIndex": "1352", + "parentIndex": "1353", "start": "29549" }, "typeDescription": { @@ -26387,7 +26441,7 @@ "end": "29560", "length": "21", "line": "875", - "parentIndex": "1350", + "parentIndex": "1351", "start": "29540" }, "typeDescription": { @@ -26406,7 +26460,7 @@ } ], "hexValue": "696e76616c69642061646472657373", - "id": "1358", + "id": "1359", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -26415,7 +26469,7 @@ "end": "29579", "length": "17", "line": "875", - "parentIndex": "1350", + "parentIndex": "1351", "start": "29563" }, "typeDescription": { @@ -26429,7 +26483,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1351", + "id": "1352", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -26438,7 +26492,7 @@ "end": "29538", "length": "7", "line": "875", - "parentIndex": "1350", + "parentIndex": "1351", "start": "29532" }, "typeDescription": { @@ -26447,7 +26501,7 @@ } } }, - "id": "1350", + "id": "1351", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26455,7 +26509,7 @@ "end": "29580", "length": "49", "line": "875", - "parentIndex": "1349", + "parentIndex": "1350", "start": "29532" }, "typeDescription": { @@ -26468,11 +26522,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1360" + "1361" ], "declarations": [ { - "id": "1360", + "id": "1361", "mutability": "MUTABLE", "name": "balance", "nameLocation": { @@ -26480,17 +26534,17 @@ "end": "29605", "length": "7", "line": "876", - "parentIndex": "1360", + "parentIndex": "1361", "start": "29599" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1349", + "scope": "1350", "src": { "column": "8", "end": "29605", "length": "15", "line": "876", - "parentIndex": "1359", + "parentIndex": "1360", "start": "29591" }, "storageLocation": "DEFAULT", @@ -26499,7 +26553,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1361", + "id": "1362", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -26507,7 +26561,7 @@ "end": "29597", "length": "7", "line": "876", - "parentIndex": "1360", + "parentIndex": "1361", "start": "29591" }, "typeDescription": { @@ -26518,7 +26572,7 @@ "visibility": "INTERNAL" } ], - "id": "1359", + "id": "1360", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -26534,7 +26588,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Payment_$1181", + "typeIdentifier": "t_contract$_Payment_$1182", "typeString": "contract Payment" } ], @@ -26542,7 +26596,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1370", + "id": "1371", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -26550,11 +26604,11 @@ "end": "29644", "length": "4", "line": "876", - "parentIndex": "1367", + "parentIndex": "1368", "start": "29641" }, "typeDescription": { - "typeIdentifier": "t_contract$_Payment_$1181", + "typeIdentifier": "t_contract$_Payment_$1182", "typeString": "contract Payment" } } @@ -26569,7 +26623,7 @@ "typeString": "address" } ], - "id": "1368", + "id": "1369", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -26577,7 +26631,7 @@ "end": "29639", "length": "7", "line": "876", - "parentIndex": "1367", + "parentIndex": "1368", "start": "29633" }, "typeDescription": { @@ -26585,7 +26639,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "1369", + "id": "1370", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -26593,7 +26647,7 @@ "end": "29639", "length": "7", "line": "876", - "parentIndex": "1368", + "parentIndex": "1369", "start": "29633" }, "stateMutability": "NONPAYABLE", @@ -26604,7 +26658,7 @@ } } }, - "id": "1367", + "id": "1368", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26612,7 +26666,7 @@ "end": "29645", "length": "13", "line": "876", - "parentIndex": "1362", + "parentIndex": "1363", "start": "29633" }, "typeDescription": { @@ -26638,16 +26692,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1366", + "id": "1367", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1366", + "referencedDeclaration": "1367", "src": { "column": "33", "end": "29620", "length": "5", "line": "876", - "parentIndex": "1364", + "parentIndex": "1365", "start": "29616" }, "typeDescription": { @@ -26660,7 +26714,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1365", + "id": "1366", "name": "IERC20", "nodeType": "IDENTIFIER", "src": { @@ -26668,7 +26722,7 @@ "end": "29614", "length": "6", "line": "876", - "parentIndex": "1364", + "parentIndex": "1365", "start": "29609" }, "typeDescription": { @@ -26677,7 +26731,7 @@ } } }, - "id": "1364", + "id": "1365", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26685,7 +26739,7 @@ "end": "29621", "length": "13", "line": "876", - "parentIndex": "1363", + "parentIndex": "1364", "start": "29609" }, "typeDescription": { @@ -26694,13 +26748,13 @@ } } }, - "id": "1363", + "id": "1364", "memberLocation": { "column": "40", "end": "29631", "length": "9", "line": "876", - "parentIndex": "1363", + "parentIndex": "1364", "start": "29623" }, "memberName": "balanceOf", @@ -26710,7 +26764,7 @@ "end": "29631", "length": "23", "line": "876", - "parentIndex": "1362", + "parentIndex": "1363", "start": "29609" }, "typeDescription": { @@ -26719,7 +26773,7 @@ } } }, - "id": "1362", + "id": "1363", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26727,7 +26781,7 @@ "end": "29646", "length": "38", "line": "876", - "parentIndex": "1359", + "parentIndex": "1360", "start": "29609" }, "typeDescription": { @@ -26742,7 +26796,7 @@ "end": "29647", "length": "57", "line": "876", - "parentIndex": "1349", + "parentIndex": "1350", "start": "29591" } } @@ -26767,7 +26821,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1377", + "id": "1378", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -26775,7 +26829,7 @@ "end": "29682", "length": "3", "line": "877", - "parentIndex": "1376", + "parentIndex": "1377", "start": "29680" }, "typeDescription": { @@ -26784,13 +26838,13 @@ } } }, - "id": "1376", + "id": "1377", "memberLocation": { "column": "35", "end": "29689", "length": "6", "line": "877", - "parentIndex": "1376", + "parentIndex": "1377", "start": "29684" }, "memberName": "sender", @@ -26800,7 +26854,7 @@ "end": "29689", "length": "10", "line": "877", - "parentIndex": "1371", + "parentIndex": "1372", "start": "29680" }, "typeDescription": { @@ -26818,16 +26872,16 @@ "typeString": "address" } ], - "id": "1378", + "id": "1379", "name": "balance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1359", + "referencedDeclaration": "1360", "src": { "column": "43", "end": "29698", "length": "7", "line": "877", - "parentIndex": "1371", + "parentIndex": "1372", "start": "29692" }, "typeDescription": { @@ -26853,16 +26907,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1375", + "id": "1376", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1375", + "referencedDeclaration": "1376", "src": { "column": "15", "end": "29668", "length": "5", "line": "877", - "parentIndex": "1373", + "parentIndex": "1374", "start": "29664" }, "typeDescription": { @@ -26875,7 +26929,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1374", + "id": "1375", "name": "IERC20", "nodeType": "IDENTIFIER", "src": { @@ -26883,7 +26937,7 @@ "end": "29662", "length": "6", "line": "877", - "parentIndex": "1373", + "parentIndex": "1374", "start": "29657" }, "typeDescription": { @@ -26892,7 +26946,7 @@ } } }, - "id": "1373", + "id": "1374", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26900,7 +26954,7 @@ "end": "29669", "length": "13", "line": "877", - "parentIndex": "1372", + "parentIndex": "1373", "start": "29657" }, "typeDescription": { @@ -26909,13 +26963,13 @@ } } }, - "id": "1372", + "id": "1373", "memberLocation": { "column": "22", "end": "29678", "length": "8", "line": "877", - "parentIndex": "1372", + "parentIndex": "1373", "start": "29671" }, "memberName": "transfer", @@ -26925,7 +26979,7 @@ "end": "29678", "length": "22", "line": "877", - "parentIndex": "1371", + "parentIndex": "1372", "start": "29657" }, "typeDescription": { @@ -26934,7 +26988,7 @@ } } }, - "id": "1371", + "id": "1372", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -26942,7 +26996,7 @@ "end": "29699", "length": "43", "line": "877", - "parentIndex": "1349", + "parentIndex": "1350", "start": "29657" }, "typeDescription": { @@ -26953,22 +27007,22 @@ } ] }, - "id": "1342", + "id": "1343", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "1346", + "id": "1347", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1347", + "id": "1348", "name": "onlyOwner", "src": { "column": "51", "end": "29520", "length": "9", "line": "874", - "parentIndex": "1346", + "parentIndex": "1347", "start": "29512" } }, @@ -26979,7 +27033,7 @@ "end": "29520", "length": "9", "line": "874", - "parentIndex": "1342", + "parentIndex": "1343", "start": "29512" } } @@ -26990,25 +27044,25 @@ "end": "29486", "length": "13", "line": "874", - "parentIndex": "1342", + "parentIndex": "1343", "start": "29474" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1343", + "id": "1344", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1344", + "id": "1345", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1344", + "scope": "1345", "src": { "column": "27", "end": "29500", "length": "13", "line": "874", - "parentIndex": "1343", + "parentIndex": "1344", "start": "29488" }, "stateMutability": "NONPAYABLE", @@ -27018,7 +27072,7 @@ "typeString": "address" }, "typeName": { - "id": "1345", + "id": "1346", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27026,7 +27080,7 @@ "end": "29494", "length": "7", "line": "874", - "parentIndex": "1344", + "parentIndex": "1345", "start": "29488" }, "stateMutability": "NONPAYABLE", @@ -27043,30 +27097,30 @@ "end": "29500", "length": "13", "line": "874", - "parentIndex": "1342", + "parentIndex": "1343", "start": "29488" } }, "returnParameters": { - "id": "1348", + "id": "1349", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "29706", "length": "242", "line": "874", - "parentIndex": "1342", + "parentIndex": "1343", "start": "29465" } }, - "scope": "1191", + "scope": "1192", "signature": "89476069", "src": { "column": "4", "end": "29706", "length": "242", "line": "874", - "parentIndex": "1191", + "parentIndex": "1192", "start": "29465" }, "stateMutability": "NONPAYABLE", @@ -27081,7 +27135,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1389", + "id": "1390", "implemented": true, "nodeType": "BLOCK", "src": { @@ -27089,7 +27143,7 @@ "end": "29891", "length": "107", "line": "880", - "parentIndex": "1380", + "parentIndex": "1381", "start": "29785" }, "statements": [ @@ -27110,20 +27164,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1392", + "id": "1393", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1393", + "id": "1394", "name": "_token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1393", + "referencedDeclaration": "1394", "src": { "column": "16", "end": "29808", "length": "6", "line": "881", - "parentIndex": "1392", + "parentIndex": "1393", "start": "29803" }, "typeDescription": { @@ -27148,7 +27202,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "307830", - "id": "1397", + "id": "1398", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -27157,7 +27211,7 @@ "end": "29823", "length": "3", "line": "881", - "parentIndex": "1394", + "parentIndex": "1395", "start": "29821" }, "typeDescription": { @@ -27177,7 +27231,7 @@ "typeString": "address" } ], - "id": "1395", + "id": "1396", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -27185,7 +27239,7 @@ "end": "29819", "length": "7", "line": "881", - "parentIndex": "1394", + "parentIndex": "1395", "start": "29813" }, "typeDescription": { @@ -27193,7 +27247,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "1396", + "id": "1397", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27201,7 +27255,7 @@ "end": "29819", "length": "7", "line": "881", - "parentIndex": "1395", + "parentIndex": "1396", "start": "29813" }, "stateMutability": "NONPAYABLE", @@ -27212,7 +27266,7 @@ } } }, - "id": "1394", + "id": "1395", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -27220,7 +27274,7 @@ "end": "29824", "length": "12", "line": "881", - "parentIndex": "1392", + "parentIndex": "1393", "start": "29813" }, "typeDescription": { @@ -27234,7 +27288,7 @@ "end": "29824", "length": "22", "line": "881", - "parentIndex": "1390", + "parentIndex": "1391", "start": "29803" }, "typeDescription": { @@ -27253,7 +27307,7 @@ } ], "hexValue": "696e76616c69642061646472657373", - "id": "1398", + "id": "1399", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -27262,7 +27316,7 @@ "end": "29843", "length": "17", "line": "881", - "parentIndex": "1390", + "parentIndex": "1391", "start": "29827" }, "typeDescription": { @@ -27276,7 +27330,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1391", + "id": "1392", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -27285,7 +27339,7 @@ "end": "29801", "length": "7", "line": "881", - "parentIndex": "1390", + "parentIndex": "1391", "start": "29795" }, "typeDescription": { @@ -27294,7 +27348,7 @@ } } }, - "id": "1390", + "id": "1391", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -27302,7 +27356,7 @@ "end": "29844", "length": "50", "line": "881", - "parentIndex": "1389", + "parentIndex": "1390", "start": "29795" }, "typeDescription": { @@ -27317,23 +27371,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "1400", + "id": "1401", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1403", + "id": "1404", "name": "_token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1403", + "referencedDeclaration": "1404", "src": { "column": "22", "end": "29874", "length": "6", "line": "882", - "parentIndex": "1401", + "parentIndex": "1402", "start": "29869" }, "typeDescription": { @@ -27342,20 +27396,20 @@ } } }, - "id": "1401", + "id": "1402", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1402", + "id": "1403", "name": "allowedTokens", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1166", + "referencedDeclaration": "1167", "src": { "column": "8", "end": "29867", "length": "13", "line": "882", - "parentIndex": "1401", + "parentIndex": "1402", "start": "29855" }, "typeDescription": { @@ -27370,7 +27424,7 @@ "end": "29875", "length": "21", "line": "882", - "parentIndex": "1400", + "parentIndex": "1401", "start": "29855" }, "typeDescription": { @@ -27394,16 +27448,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1404", + "id": "1405", "name": "status", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1404", + "referencedDeclaration": "1405", "src": { "column": "32", "end": "29884", "length": "6", "line": "882", - "parentIndex": "1400", + "parentIndex": "1401", "start": "29879" }, "typeDescription": { @@ -27417,7 +27471,7 @@ "end": "29884", "length": "30", "line": "882", - "parentIndex": "1399", + "parentIndex": "1400", "start": "29855" }, "typeDescription": { @@ -27426,14 +27480,14 @@ } } }, - "id": "1399", + "id": "1400", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "29885", "length": "31", "line": "882", - "parentIndex": "1389", + "parentIndex": "1390", "start": "29855" }, "typeDescription": { @@ -27444,22 +27498,22 @@ } ] }, - "id": "1380", + "id": "1381", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "1386", + "id": "1387", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1387", + "id": "1388", "name": "onlyOwner", "src": { "column": "66", "end": "29783", "length": "9", "line": "880", - "parentIndex": "1386", + "parentIndex": "1387", "start": "29775" } }, @@ -27470,7 +27524,7 @@ "end": "29783", "length": "9", "line": "880", - "parentIndex": "1380", + "parentIndex": "1381", "start": "29775" } } @@ -27481,25 +27535,25 @@ "end": "29735", "length": "14", "line": "880", - "parentIndex": "1380", + "parentIndex": "1381", "start": "29722" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1381", + "id": "1382", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1382", + "id": "1383", "name": "_token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1382", + "scope": "1383", "src": { "column": "28", "end": "29750", "length": "14", "line": "880", - "parentIndex": "1381", + "parentIndex": "1382", "start": "29737" }, "stateMutability": "NONPAYABLE", @@ -27509,7 +27563,7 @@ "typeString": "address" }, "typeName": { - "id": "1383", + "id": "1384", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27517,7 +27571,7 @@ "end": "29743", "length": "7", "line": "880", - "parentIndex": "1382", + "parentIndex": "1383", "start": "29737" }, "stateMutability": "NONPAYABLE", @@ -27529,16 +27583,16 @@ "visibility": "INTERNAL" }, { - "id": "1384", + "id": "1385", "name": "status", "nodeType": "VARIABLE_DECLARATION", - "scope": "1384", + "scope": "1385", "src": { "column": "44", "end": "29763", "length": "11", "line": "880", - "parentIndex": "1381", + "parentIndex": "1382", "start": "29753" }, "stateMutability": "MUTABLE", @@ -27548,7 +27602,7 @@ "typeString": "bool" }, "typeName": { - "id": "1385", + "id": "1386", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27556,7 +27610,7 @@ "end": "29756", "length": "4", "line": "880", - "parentIndex": "1384", + "parentIndex": "1385", "start": "29753" }, "typeDescription": { @@ -27572,30 +27626,30 @@ "end": "29763", "length": "27", "line": "880", - "parentIndex": "1380", + "parentIndex": "1381", "start": "29737" } }, "returnParameters": { - "id": "1388", + "id": "1389", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "29891", "length": "179", "line": "880", - "parentIndex": "1380", + "parentIndex": "1381", "start": "29713" } }, - "scope": "1191", - "signature": "cf05e32e", + "scope": "1192", + "signature": "40496df4", "src": { "column": "4", "end": "29891", "length": "179", "line": "880", - "parentIndex": "1191", + "parentIndex": "1192", "start": "29713" }, "stateMutability": "NONPAYABLE", @@ -27610,7 +27664,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1413", + "id": "1414", "implemented": true, "nodeType": "BLOCK", "src": { @@ -27618,7 +27672,7 @@ "end": "30018", "length": "45", "line": "886", - "parentIndex": "1406", + "parentIndex": "1407", "start": "29974" }, "statements": [ @@ -27631,16 +27685,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1417", + "id": "1418", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1417", + "referencedDeclaration": "1418", "src": { "column": "31", "end": "30010", "length": "4", "line": "887", - "parentIndex": "1415", + "parentIndex": "1416", "start": "30007" }, "typeDescription": { @@ -27649,20 +27703,20 @@ } } }, - "id": "1415", + "id": "1416", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1416", + "id": "1417", "name": "_userPaymentIds", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1161", + "referencedDeclaration": "1162", "src": { "column": "15", "end": "30005", "length": "15", "line": "887", - "parentIndex": "1415", + "parentIndex": "1416", "start": "29991" }, "typeDescription": { @@ -27677,7 +27731,7 @@ "end": "30011", "length": "21", "line": "887", - "parentIndex": "1414", + "parentIndex": "1415", "start": "29991" }, "typeDescription": { @@ -27696,15 +27750,15 @@ ] } }, - "functionReturnParameters": "1406", - "id": "1414", + "functionReturnParameters": "1407", + "id": "1415", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "30012", "length": "29", "line": "887", - "parentIndex": "1406", + "parentIndex": "1407", "start": "29984" }, "typeDescription": { @@ -27715,7 +27769,7 @@ } ] }, - "id": "1406", + "id": "1407", "implemented": true, "kind": "KIND_FUNCTION", "name": "getPaymentIds", @@ -27724,25 +27778,25 @@ "end": "29920", "length": "13", "line": "886", - "parentIndex": "1406", + "parentIndex": "1407", "start": "29908" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1407", + "id": "1408", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1408", + "id": "1409", "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "1408", + "scope": "1409", "src": { "column": "27", "end": "29933", "length": "12", "line": "886", - "parentIndex": "1407", + "parentIndex": "1408", "start": "29922" }, "stateMutability": "NONPAYABLE", @@ -27752,7 +27806,7 @@ "typeString": "address" }, "typeName": { - "id": "1409", + "id": "1410", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -27760,7 +27814,7 @@ "end": "29928", "length": "7", "line": "886", - "parentIndex": "1408", + "parentIndex": "1409", "start": "29922" }, "stateMutability": "NONPAYABLE", @@ -27777,24 +27831,24 @@ "end": "29933", "length": "12", "line": "886", - "parentIndex": "1406", + "parentIndex": "1407", "start": "29922" } }, "returnParameters": { - "id": "1410", + "id": "1411", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1411", + "id": "1412", "nodeType": "VARIABLE_DECLARATION", - "scope": "1411", + "scope": "1412", "src": { "column": "61", "end": "29971", "length": "16", "line": "886", - "parentIndex": "1410", + "parentIndex": "1411", "start": "29956" }, "stateMutability": "MUTABLE", @@ -27804,7 +27858,7 @@ "typeString": "uint256" }, "typeName": { - "id": "1412", + "id": "1413", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -27812,7 +27866,7 @@ "end": "29962", "length": "7", "line": "886", - "parentIndex": "1411", + "parentIndex": "1412", "start": "29956" }, "typeDescription": { @@ -27828,18 +27882,18 @@ "end": "29971", "length": "16", "line": "886", - "parentIndex": "1406", + "parentIndex": "1407", "start": "29956" } }, - "scope": "1191", + "scope": "1192", "signature": "212d3acf", "src": { "column": "4", "end": "30018", "length": "120", "line": "886", - "parentIndex": "1191", + "parentIndex": "1192", "start": "29899" }, "stateMutability": "VIEW", @@ -27855,7 +27909,7 @@ "end": "30021", "length": "2077", "line": "832", - "parentIndex": "1181", + "parentIndex": "1182", "start": "27945" } } diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/PaymentStorage.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/PaymentStorage.solgo.ast.json index a280d3b5..3cf21f2b 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/PaymentStorage.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/PaymentStorage.solgo.ast.json @@ -264,7 +264,7 @@ }, "scope": 1140, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "type_string": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" }, "visibility": 3, @@ -272,7 +272,7 @@ "mutability": 1, "type_name": { "id": 1154, - "node_type": 0, + "node_type": 69, "src": { "line": 821, "column": 4, @@ -347,7 +347,7 @@ }, "value_type": { "id": 1159, - "node_type": 30, + "node_type": 69, "src": { "line": 821, "column": 43, @@ -357,10 +357,10 @@ "parent_index": 1154 }, "name": "PaymentDetail", - "referenced_declaration": 0, + "referenced_declaration": 1145, "type_description": { - "type_identifier": "t_PaymentDetail", - "type_string": "PaymentDetail" + "type_identifier": "t_struct$_PaymentStorage_PaymentDetail_$1145", + "type_string": "struct PaymentStorage.PaymentDetail" } }, "value_name_location": { @@ -373,7 +373,7 @@ }, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_PaymentDetail", + "type_identifier": "t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145", "type_string": "mapping(address=\u003ePaymentDetail)" } }, @@ -385,16 +385,38 @@ "length": 34, "parent_index": 1154 }, - "referenced_declaration": 0, + "path_node": { + "id": 1160, + "name": "PaymentDetail", + "node_type": 52, + "referenced_declaration": 1145, + "src": { + "line": 821, + "column": 43, + "start": 27720, + "end": 27732, + "length": 13, + "parent_index": 1154 + }, + "name_location": { + "line": 821, + "column": 43, + "start": 27720, + "end": 27732, + "length": 13, + "parent_index": 1154 + } + }, + "referenced_declaration": 1145, "type_description": { - "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_PaymentDetail$", + "type_identifier": "t_mapping_$t_uint256_$t_mapping_$t_address_$t_struct$_PaymentStorage_PaymentDetail_$1145$", "type_string": "mapping(uint256=\u003emapping(address=\u003ePaymentDetail))" } }, "initial_value": null }, { - "id": 1161, + "id": 1162, "name": "_userPaymentIds", "is_constant": false, "is_state_variable": true, @@ -416,18 +438,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1162, - "node_type": 0, + "id": 1163, + "node_type": 53, "src": { "line": 823, "column": 4, "start": 27764, "end": 27792, "length": 29, - "parent_index": 1161 + "parent_index": 1162 }, "key_type": { - "id": 1163, + "id": 1164, "node_type": 30, "src": { "line": 823, @@ -435,7 +457,7 @@ "start": 27772, "end": 27778, "length": 7, - "parent_index": 1162 + "parent_index": 1163 }, "name": "address", "referenced_declaration": 0, @@ -450,10 +472,10 @@ "start": 27772, "end": 27778, "length": 7, - "parent_index": 1162 + "parent_index": 1163 }, "value_type": { - "id": 1164, + "id": 1165, "node_type": 30, "src": { "line": 823, @@ -461,7 +483,7 @@ "start": 27783, "end": 27791, "length": 9, - "parent_index": 1162 + "parent_index": 1163 }, "name": "uint256[]", "referenced_declaration": 0, @@ -476,7 +498,7 @@ "start": 27783, "end": 27791, "length": 9, - "parent_index": 1162 + "parent_index": 1163 }, "referenced_declaration": 0, "type_description": { @@ -487,7 +509,7 @@ "initial_value": null }, { - "id": 1166, + "id": 1167, "name": "allowedTokens", "is_constant": false, "is_state_variable": true, @@ -509,18 +531,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1167, - "node_type": 0, + "id": 1168, + "node_type": 53, "src": { "line": 825, "column": 4, "start": 27816, "end": 27840, "length": 25, - "parent_index": 1166 + "parent_index": 1167 }, "key_type": { - "id": 1168, + "id": 1169, "node_type": 30, "src": { "line": 825, @@ -528,7 +550,7 @@ "start": 27825, "end": 27831, "length": 7, - "parent_index": 1167 + "parent_index": 1168 }, "name": "address", "referenced_declaration": 0, @@ -543,10 +565,10 @@ "start": 27825, "end": 27831, "length": 7, - "parent_index": 1167 + "parent_index": 1168 }, "value_type": { - "id": 1169, + "id": 1170, "node_type": 30, "src": { "line": 825, @@ -554,7 +576,7 @@ "start": 27836, "end": 27839, "length": 4, - "parent_index": 1167 + "parent_index": 1168 }, "name": "bool", "referenced_declaration": 0, @@ -569,7 +591,7 @@ "start": 27836, "end": 27839, "length": 4, - "parent_index": 1167 + "parent_index": 1168 }, "referenced_declaration": 0, "type_description": { @@ -580,7 +602,7 @@ "initial_value": null }, { - "id": 1171, + "id": 1172, "node_type": 57, "src": { "line": 827, @@ -591,7 +613,7 @@ "parent_index": 1140 }, "parameters": { - "id": 1172, + "id": 1173, "node_type": 43, "src": { "line": 827, @@ -599,11 +621,11 @@ "start": 27869, "end": 27938, "length": 70, - "parent_index": 1171 + "parent_index": 1172 }, "parameters": [ { - "id": 1173, + "id": 1174, "node_type": 44, "src": { "line": 827, @@ -611,12 +633,12 @@ "start": 27880, "end": 27891, "length": 12, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "from", "type_name": { - "id": 1174, + "id": 1175, "node_type": 30, "src": { "line": 827, @@ -624,7 +646,7 @@ "start": 27880, "end": 27886, "length": 7, - "parent_index": 1173 + "parent_index": 1174 }, "name": "address", "state_mutability": 4, @@ -643,7 +665,7 @@ } }, { - "id": 1175, + "id": 1176, "node_type": 44, "src": { "line": 827, @@ -651,12 +673,12 @@ "start": 27894, "end": 27906, "length": 13, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "token", "type_name": { - "id": 1176, + "id": 1177, "node_type": 30, "src": { "line": 827, @@ -664,7 +686,7 @@ "start": 27894, "end": 27900, "length": 7, - "parent_index": 1175 + "parent_index": 1176 }, "name": "address", "state_mutability": 4, @@ -683,7 +705,7 @@ } }, { - "id": 1177, + "id": 1178, "node_type": 44, "src": { "line": 827, @@ -691,12 +713,12 @@ "start": 27909, "end": 27922, "length": 14, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "amount", "type_name": { - "id": 1178, + "id": 1179, "node_type": 30, "src": { "line": 827, @@ -704,7 +726,7 @@ "start": 27909, "end": 27915, "length": 7, - "parent_index": 1177 + "parent_index": 1178 }, "name": "uint256", "referenced_declaration": 0, @@ -722,7 +744,7 @@ } }, { - "id": 1179, + "id": 1180, "node_type": 44, "src": { "line": 827, @@ -730,12 +752,12 @@ "start": 27925, "end": 27936, "length": 12, - "parent_index": 1172 + "parent_index": 1173 }, - "scope": 1171, + "scope": 1172, "name": "time", "type_name": { - "id": 1180, + "id": 1181, "node_type": 30, "src": { "line": 827, @@ -743,7 +765,7 @@ "start": 27925, "end": 27931, "length": 7, - "parent_index": 1179 + "parent_index": 1180 }, "name": "uint256", "referenced_declaration": 0, @@ -783,7 +805,7 @@ "name": "Paid", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_PaymentStorage_Paid_\u00261171", + "type_identifier": "t_event\u0026_PaymentStorage_Paid_\u00261172", "type_string": "event PaymentStorage.Paid" } } diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/ReentrancyGuard.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/ReentrancyGuard.solgo.ast.json index ba737f57..e8139d3b 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/ReentrancyGuard.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/ReentrancyGuard.solgo.ast.json @@ -121,7 +121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -184,7 +185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { @@ -329,7 +331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 1110, @@ -349,7 +352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1092, - "is_pure": false + "is_pure": false, + "text": "_NOT_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -359,7 +363,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_NOT_ENTERED;" } ] } @@ -469,7 +474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 1119, @@ -489,7 +495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1096, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_bool", @@ -522,7 +529,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ReentrancyGuard: reentrant call\"" } ], "expression": { @@ -543,7 +551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -591,7 +600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 1124, @@ -611,7 +621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1096, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -621,7 +632,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_ENTERED;" }, { "id": 1125, @@ -641,7 +653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 1126, @@ -684,7 +697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 1129, @@ -704,7 +718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1092, - "is_pure": false + "is_pure": false, + "text": "_NOT_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -714,7 +729,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_NOT_ENTERED;" } ] } diff --git a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/SafeERC20.solgo.ast.json b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/SafeERC20.solgo.ast.json index fa2ebdc4..101f1e36 100644 --- a/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/SafeERC20.solgo.ast.json +++ b/data/tests/contracts/10x4892e397641530E7CCF1d07e94a5eAc68A2760Ed/SafeERC20.solgo.ast.json @@ -186,7 +186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 577, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 578, @@ -279,21 +280,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 584, @@ -319,7 +323,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 585, @@ -349,7 +354,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -393,14 +399,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -426,7 +434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -622,13 +631,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 587, @@ -706,7 +716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 602, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 603, @@ -803,21 +814,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 608, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 609, @@ -843,7 +857,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 610, @@ -873,7 +888,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 611, @@ -907,7 +923,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -951,14 +968,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -984,7 +1003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -1224,13 +1244,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 613, @@ -1350,7 +1371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 629, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 630, @@ -1372,7 +1394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1473,7 +1496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -1519,7 +1543,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1550,7 +1575,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -1594,14 +1620,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -1628,7 +1656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1672,7 +1701,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -1693,7 +1723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -1741,7 +1772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 645, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 646, @@ -1834,21 +1866,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 651, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 652, @@ -1874,7 +1909,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 653, @@ -1904,7 +1940,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -1948,14 +1985,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -1981,7 +2020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2177,13 +2217,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 655, @@ -2354,7 +2395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2400,7 +2442,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2431,7 +2474,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -2475,14 +2519,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2507,7 +2553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 678, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2556,7 +2603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 681, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 682, @@ -2649,21 +2697,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 687, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 688, @@ -2689,7 +2740,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 689, @@ -2719,7 +2771,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -2763,14 +2816,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2796,7 +2851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2992,13 +3048,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256newAllowance=token.allowance(address(this),spender)+value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}" }, { "id": 691, @@ -3169,7 +3226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3215,7 +3273,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3246,7 +3305,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -3290,14 +3350,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 708, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -3360,7 +3422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 703, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 718, @@ -3380,7 +3443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 718, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -3413,7 +3477,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -3434,7 +3499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3533,7 +3599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 703, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 725, @@ -3553,7 +3620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 725, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -3602,7 +3670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 728, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 729, @@ -3695,21 +3764,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 734, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 735, @@ -3735,7 +3807,8 @@ "type_identifier": "t_contract$_IERC20_$466", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 736, @@ -3765,7 +3838,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -3809,14 +3883,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3842,7 +3918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -4040,13 +4117,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");uint256newAllowance=oldAllowance-value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}}" }, { "id": 738, @@ -4180,7 +4258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 765, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -4224,14 +4303,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 764, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$425", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4300,7 +4381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 769, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 770, @@ -4326,7 +4408,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 771, @@ -4356,7 +4439,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { "id": 772, @@ -4390,7 +4474,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 773, @@ -4428,7 +4513,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 774, @@ -4470,7 +4556,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 775, @@ -4516,7 +4603,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -4560,14 +4648,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 768, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "permit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$425", "type_string": "contract IERC20Permit" - } + }, + "text": "token.permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -4671,7 +4761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -4715,14 +4806,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 781, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$425", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4785,7 +4878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 776, - "is_pure": false + "is_pure": false, + "text": "nonceAfter" }, "right_expression": { "id": 787, @@ -4819,7 +4913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 759, - "is_pure": false + "is_pure": false, + "text": "nonceBefore" }, "right_expression": { "id": 789, @@ -4841,7 +4936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -4879,7 +4975,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: permit did not succeed\"" } ], "expression": { @@ -4900,7 +4997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5312,13 +5410,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safePermit(, address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8fe8854", + "signature_raw": "safePermit(,address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "1f73058e", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Permit_$425$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(contract IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionsafePermit(IERC20Permittoken,addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)internal{uint256nonceBefore=token.nonces(owner);token.permit(owner,spender,value,deadline,v,r,s);uint256nonceAfter=token.nonces(owner);require(nonceAfter==nonceBefore+1,\"SafeERC20: permit did not succeed\");}" }, { "id": 792, @@ -5456,7 +5555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 810, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 811, @@ -5484,7 +5584,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -5547,7 +5648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -5593,7 +5695,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5605,7 +5708,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -5679,14 +5783,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 801, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 816, @@ -5708,7 +5814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5793,7 +5900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 824, @@ -5845,7 +5953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -5895,14 +6004,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -5935,7 +6046,8 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -5956,7 +6068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -6111,13 +6224,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 558, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$466$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");if(returndata.length\u003e0){require(abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Address.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Address.solgo.ast.json index c0dbd48a..964598b5 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Address.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Address.solgo.ast.json @@ -186,21 +186,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 636, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 637, @@ -222,7 +225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -363,7 +367,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 639, @@ -497,7 +502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -543,7 +549,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -555,7 +562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 655, @@ -575,7 +583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 655, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -608,7 +617,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -629,7 +639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -733,7 +744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -789,14 +801,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 663, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -850,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 657, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 668, @@ -878,7 +893,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -899,7 +915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1031,13 +1048,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 670, @@ -1131,7 +1149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 684, @@ -1157,7 +1176,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 685, @@ -1189,7 +1209,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1210,7 +1231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -1388,13 +1410,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 687, @@ -1492,7 +1515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 703, @@ -1518,7 +1542,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 704, @@ -1550,7 +1575,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 705, @@ -1584,7 +1610,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1605,7 +1632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1826,13 +1854,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 707, @@ -1930,7 +1959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 722, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 723, @@ -1956,7 +1986,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 724, @@ -1986,7 +2017,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 725, @@ -2022,7 +2054,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2043,7 +2076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2264,13 +2298,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 727, @@ -2404,7 +2439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2450,7 +2486,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2462,7 +2499,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 749, @@ -2482,7 +2520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2515,7 +2554,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2536,7 +2576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2603,7 +2644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 755, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -2624,7 +2666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2657,7 +2700,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -2678,7 +2722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -2827,7 +2872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 766, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -2883,14 +2929,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 765, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -2960,7 +3008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 757, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 771, @@ -2986,7 +3035,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 772, @@ -3016,7 +3066,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -3037,7 +3088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -3301,13 +3353,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 774, @@ -3401,7 +3454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 787, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 788, @@ -3427,7 +3481,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 789, @@ -3459,7 +3514,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3480,7 +3536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3658,13 +3715,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 791, @@ -3761,7 +3819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -3782,7 +3841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3815,7 +3875,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -3836,7 +3897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -3985,7 +4047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4029,14 +4092,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 816, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4101,7 +4166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 822, @@ -4127,7 +4193,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 823, @@ -4157,7 +4224,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4178,7 +4246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -4399,13 +4468,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 825, @@ -4499,7 +4569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 838, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 839, @@ -4525,7 +4596,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 840, @@ -4557,7 +4629,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -4578,7 +4651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -4756,13 +4830,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 842, @@ -4859,7 +4934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 858, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -4880,7 +4956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4913,7 +4990,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -4934,7 +5012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5083,7 +5162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 868, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -5127,14 +5207,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -5199,7 +5281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 860, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 873, @@ -5225,7 +5308,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 874, @@ -5255,7 +5339,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5276,7 +5361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -5497,13 +5583,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 876, @@ -5569,7 +5656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 890, @@ -5615,7 +5703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 892, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -5833,13 +5922,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Context.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Context.solgo.ast.json index 84c2c014..37848cca 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Context.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 185, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/ERC165.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/ERC165.solgo.ast.json index d29a12d3..1aee4844 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/ERC165.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/ERC165.solgo.ast.json @@ -172,7 +172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1148, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1149, @@ -219,7 +220,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC165).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -378,7 +380,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IERC165).interfaceId;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/ERC721.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/ERC721.solgo.ast.json index 9aaaf46c..03f2cc23 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/ERC721.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/ERC721.solgo.ast.json @@ -391,7 +391,7 @@ "mutability": 1, "type_name": { "id": 1188, - "node_type": 0, + "node_type": 53, "src": { "line": 828, "column": 4, @@ -484,7 +484,7 @@ "mutability": 1, "type_name": { "id": 1193, - "node_type": 0, + "node_type": 53, "src": { "line": 831, "column": 4, @@ -577,7 +577,7 @@ "mutability": 1, "type_name": { "id": 1198, - "node_type": 0, + "node_type": 53, "src": { "line": 834, "column": 4, @@ -670,7 +670,7 @@ "mutability": 1, "type_name": { "id": 1203, - "node_type": 0, + "node_type": 53, "src": { "line": 837, "column": 4, @@ -979,7 +979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1181, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 1221, @@ -999,7 +1000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -1009,7 +1011,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 1222, @@ -1052,7 +1055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 1225, @@ -1072,7 +1076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1225, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -1082,7 +1087,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -1194,7 +1200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1242, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1243, @@ -1241,7 +1248,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC721).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -1280,7 +1288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1246, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1247, @@ -1327,7 +1336,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC721Metadata).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -1376,7 +1386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1252, - "is_pure": false + "is_pure": false, + "text": "interfaceId" } ], "expression": { @@ -1420,14 +1431,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -1628,7 +1641,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverride(ERC165,IERC165)returns(bool){returninterfaceId==type(IERC721).interfaceId||interfaceId==type(IERC721Metadata).interfaceId||super.supportsInterface(interfaceId);}" }, { "id": 1254, @@ -1720,7 +1734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1266, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1267, @@ -1761,7 +1776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1807,7 +1823,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1845,7 +1862,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: address zero is not a valid owner\"" } ], "expression": { @@ -1866,7 +1884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1914,7 +1933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1275, @@ -1934,7 +1954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1275, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -2104,7 +2125,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)publicviewvirtualoverridereturns(uint256){require(owner!=address(0),\"ERC721: address zero is not a valid owner\");return_balances[owner];}" }, { "id": 1277, @@ -2231,7 +2253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1291, @@ -2251,7 +2274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1291, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -2324,7 +2348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1286, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1296, @@ -2365,7 +2390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -2411,7 +2437,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -2449,7 +2476,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: invalid token ID\"" } ], "expression": { @@ -2470,7 +2498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2507,7 +2536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1286, - "is_pure": false + "is_pure": false, + "text": "owner" } } ] @@ -2662,7 +2692,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)publicviewvirtualoverridereturns(address){addressowner=_owners[tokenId];require(owner!=address(0),\"ERC721: invalid token ID\");returnowner;}" }, { "id": 1304, @@ -2729,7 +2760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1181, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -2883,7 +2915,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 1316, @@ -2950,7 +2983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -3104,7 +3138,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 1328, @@ -3178,7 +3213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1339, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -3199,7 +3235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireMinted" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -3298,7 +3335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_baseURI" }, "type_description": { "type_identifier": "t_function_$", @@ -3404,7 +3442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1340, - "is_pure": false + "is_pure": false, + "text": "baseURI" } ], "expression": { @@ -3449,7 +3488,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -3461,7 +3501,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "bytes(baseURI).length" }, "right_expression": { "id": 1354, @@ -3483,7 +3524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3550,7 +3592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1340, - "is_pure": false + "is_pure": false, + "text": "baseURI" }, { "id": 1362, @@ -3607,14 +3650,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1364, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenId.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -3663,14 +3708,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$", @@ -3720,7 +3767,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string$_t_function_$", @@ -3745,7 +3793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "type_descriptions": [ @@ -3916,7 +3965,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)publicviewvirtualoverridereturns(stringmemory){_requireMinted(tokenId);stringmemorybaseURI=_baseURI();returnbytes(baseURI).length\u003e0?string(abi.encodePacked(baseURI,tokenId.toString())):\"\";}" }, { "id": 1367, @@ -3983,7 +4033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } } ] @@ -4118,7 +4169,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "function_baseURI()internalviewvirtualreturns(stringmemory){return\"\";}" }, { "id": 1378, @@ -4253,7 +4305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1393, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -4297,7 +4350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -4305,7 +4359,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4368,7 +4423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1397, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1398, @@ -4388,7 +4444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -4421,7 +4478,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approval to current owner\"" } ], "expression": { @@ -4442,7 +4500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4532,7 +4591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4557,7 +4617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -4605,7 +4666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1410, @@ -4639,7 +4701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4665,7 +4728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$", @@ -4703,7 +4767,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approve caller is not token owner nor approved for all\"" } ], "expression": { @@ -4724,7 +4789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4772,7 +4838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1415, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1416, @@ -4798,7 +4865,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -4819,7 +4887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -4970,13 +5039,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)publicvirtualoverride{addressowner=ERC721.ownerOf(tokenId);require(to!=owner,\"ERC721: approval to current owner\");require(_msgSender()==owner||isApprovedForAll(owner,_msgSender()),\"ERC721: approve caller is not token owner nor approved for all\");_approve(to,tokenId);}" }, { "id": 1418, @@ -5050,7 +5120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1429, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -5071,7 +5142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireMinted" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5119,7 +5191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1197, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1433, @@ -5139,7 +5212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1433, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -5309,7 +5383,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)publicviewvirtualoverridereturns(address){_requireMinted(tokenId);return_tokenApprovals[tokenId];}" }, { "id": 1435, @@ -5405,7 +5480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5436,7 +5512,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "operator" }, { "id": 1449, @@ -5466,7 +5543,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "approved" } ], "expression": { @@ -5487,7 +5565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setApprovalForAll" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_bool$", @@ -5638,13 +5717,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,boolapproved)publicvirtualoverride{_setApprovalForAll(_msgSender(),operator,approved);}" }, { "id": 1451, @@ -5733,7 +5813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1202, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1466, @@ -5753,7 +5834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1466, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -5788,7 +5870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1467, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -5996,13 +6079,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)publicviewvirtualoverridereturns(bool){return_operatorApprovals[owner][operator];}" }, { "id": 1469, @@ -6117,7 +6201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -6148,7 +6233,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -6169,7 +6255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isApprovedOrOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -6202,7 +6289,8 @@ "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" } - ] + ], + "text": "\"ERC721: caller is not token owner nor approved\"" } ], "expression": { @@ -6223,7 +6311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -6275,7 +6364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1490, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1491, @@ -6301,7 +6391,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1492, @@ -6331,7 +6422,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -6352,7 +6444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -6547,13 +6640,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{require(_isApprovedOrOwner(_msgSender(),tokenId),\"ERC721: caller is not token owner nor approved\");_transfer(from,to,tokenId);}" }, { "id": 1494, @@ -6639,7 +6733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1507, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1508, @@ -6665,7 +6760,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1509, @@ -6695,7 +6791,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1510, @@ -6729,7 +6826,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"\"" } ], "expression": { @@ -6750,7 +6848,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_string_literal$", @@ -6945,13 +7044,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{safeTransferFrom(from,to,tokenId,\"\");}" }, { "id": 1512, @@ -7066,7 +7166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -7097,7 +7198,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -7118,7 +7220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isApprovedOrOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -7151,7 +7254,8 @@ "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" } - ] + ], + "text": "\"ERC721: caller is not token owner nor approved\"" } ], "expression": { @@ -7172,7 +7276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -7228,7 +7333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1535, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1536, @@ -7254,7 +7360,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1537, @@ -7284,7 +7391,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1538, @@ -7318,7 +7426,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { @@ -7339,7 +7448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", @@ -7577,13 +7687,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytesmemorydata)publicvirtualoverride{require(_isApprovedOrOwner(_msgSender(),tokenId),\"ERC721: caller is not token owner nor approved\");_safeTransfer(from,to,tokenId,data);}" }, { "id": 1540, @@ -7665,7 +7776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1554, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1555, @@ -7691,7 +7803,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1556, @@ -7721,7 +7834,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -7742,7 +7856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -7821,7 +7936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1561, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1562, @@ -7847,7 +7963,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1563, @@ -7877,7 +7994,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1564, @@ -7911,7 +8029,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { @@ -7932,7 +8051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", @@ -7965,7 +8085,8 @@ "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" } - ] + ], + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -7986,7 +8107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_uint256$_t_bytes$_t_string_literal$", @@ -8205,13 +8327,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeTransfer(address, address, uint256, bytes)", - "signature": "b65f2f53", + "signature_raw": "_safeTransfer(address,address,uint256,bytes)", + "signature": "24b6b8c0", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_safeTransfer(addressfrom,addressto,uint256tokenId,bytesmemorydata)internalvirtual{_transfer(from,to,tokenId);require(_checkOnERC721Received(from,to,tokenId,data),\"ERC721: transfer to non ERC721Receiver implementer\");}" }, { "id": 1567, @@ -8303,7 +8426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1579, @@ -8323,7 +8447,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1579, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -8379,7 +8504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8425,7 +8551,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8570,7 +8697,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_exists(uint256tokenId)internalviewvirtualreturns(bool){return_owners[tokenId]!=address(0);}" }, { "id": 1585, @@ -8705,7 +8833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1601, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -8749,7 +8878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -8757,7 +8887,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -8851,7 +8982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1607, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1608, @@ -8871,7 +9003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1595, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -8919,7 +9052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1595, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1612, @@ -8945,7 +9079,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -8966,7 +9101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -9029,7 +9165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1616, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -9050,7 +9187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getApproved" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -9075,7 +9213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1617, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_description": { "type_identifier": "t_bool", @@ -9264,13 +9403,14 @@ } ] }, - "signature_raw": "_isApprovedOrOwner(address, uint256)", - "signature": "0fecaa15", + "signature_raw": "_isApprovedOrOwner(address,uint256)", + "signature": "4cdc9549", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_isApprovedOrOwner(addressspender,uint256tokenId)internalviewvirtualreturns(bool){addressowner=ERC721.ownerOf(tokenId);return(spender==owner||isApprovedForAll(owner,spender)||getApproved(tokenId)==spender);}" }, { "id": 1619, @@ -9352,7 +9492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1629, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1630, @@ -9378,7 +9519,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1631, @@ -9408,7 +9550,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"\"" } ], "expression": { @@ -9429,7 +9572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeMint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_string_literal$", @@ -9561,13 +9705,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256)", - "signature": "df7f3eab", + "signature_raw": "_safeMint(address,uint256)", + "signature": "b3e1c718", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_safeMint(addressto,uint256tokenId)internalvirtual{_safeMint(to,tokenId,\"\");}" }, { "id": 1633, @@ -9645,7 +9790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1645, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1646, @@ -9671,7 +9817,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -9692,7 +9839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -9792,7 +9940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9838,7 +9987,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9869,7 +10019,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1656, @@ -9899,7 +10050,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1657, @@ -9933,7 +10085,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { @@ -9954,7 +10107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$", @@ -9987,7 +10141,8 @@ "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$", "type_string": "function(function(int_const 0),address,uint256,bytes)" } - ] + ], + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -10008,7 +10163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$_t_string_literal$", @@ -10183,13 +10339,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256, bytes)", - "signature": "5fa2bef5", + "signature_raw": "_safeMint(address,uint256,bytes)", + "signature": "6a4f832b", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,uint256,bytes)" - } + }, + "text": "function_safeMint(addressto,uint256tokenId,bytesmemorydata)internalvirtual{_mint(to,tokenId);require(_checkOnERC721Received(address(0),to,tokenId,data),\"ERC721: transfer to non ERC721Receiver implementer\");}" }, { "id": 1660, @@ -10281,7 +10438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1671, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1672, @@ -10322,7 +10480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10368,7 +10527,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10406,7 +10566,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: mint to the zero address\"" } ], "expression": { @@ -10427,7 +10588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10512,7 +10674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1682, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -10533,7 +10696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -10571,7 +10735,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: token already minted\"" } ], "expression": { @@ -10592,7 +10757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -10665,7 +10831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10711,7 +10878,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10742,7 +10910,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1691, @@ -10772,7 +10941,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -10793,7 +10963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -10852,7 +11023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1696, @@ -10872,7 +11044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1696, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -10909,7 +11082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -10919,7 +11093,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=1;" }, { "id": 1698, @@ -10973,7 +11148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1702, @@ -10993,7 +11169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1702, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -11028,7 +11205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1703, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -11038,7 +11216,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_owners[tokenId]=to;" }, { "id": 1704, @@ -11091,7 +11270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -11137,7 +11317,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11162,7 +11343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1709, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1710, @@ -11182,7 +11364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1710, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -11203,7 +11386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 435, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -11272,7 +11456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -11318,7 +11503,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11349,7 +11535,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1719, @@ -11379,7 +11566,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -11400,7 +11588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -11532,13 +11721,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256tokenId)internalvirtual{require(to!=address(0),\"ERC721: mint to the zero address\");require(!_exists(tokenId),\"ERC721: token already minted\");_beforeTokenTransfer(address(0),to,tokenId);_balances[to]+=1;_owners[tokenId]=to;emitTransfer(address(0),to,tokenId);_afterTokenTransfer(address(0),to,tokenId);}" }, { "id": 1721, @@ -11673,7 +11863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1733, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -11717,7 +11908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -11725,7 +11917,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -11778,7 +11971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1737, @@ -11819,7 +12013,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -11865,7 +12060,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11900,7 +12096,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -11921,7 +12118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -11990,7 +12188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12036,7 +12235,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12067,7 +12267,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -12088,7 +12289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -12147,7 +12349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1753, @@ -12167,7 +12370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -12204,7 +12408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -12214,7 +12419,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[owner]-=1;" }, { "id": 1755, @@ -12263,7 +12469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1758, @@ -12283,7 +12490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1758, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -12335,7 +12543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1761, @@ -12376,7 +12585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12422,7 +12632,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12447,7 +12658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1765, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -12468,7 +12680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 435, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -12516,7 +12729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1770, @@ -12557,7 +12771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12603,7 +12818,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12638,7 +12854,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -12659,7 +12876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -12753,7 +12971,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_burn(uint256tokenId)internalvirtual{addressowner=ERC721.ownerOf(tokenId);_beforeTokenTransfer(owner,address(0),tokenId);_approve(address(0),tokenId);_balances[owner]-=1;delete_owners[tokenId];emitTransfer(owner,address(0),tokenId);_afterTokenTransfer(owner,address(0),tokenId);}" }, { "id": 1776, @@ -12864,7 +13083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1792, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -12908,7 +13128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -12916,7 +13137,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -12941,7 +13163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1793, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_description": { "type_identifier": "t_bool", @@ -12974,7 +13197,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: transfer from incorrect owner\"" } ], "expression": { @@ -12995,7 +13219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13057,7 +13282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1798, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1799, @@ -13098,7 +13324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -13144,7 +13371,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13182,7 +13410,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: transfer to the zero address\"" } ], "expression": { @@ -13203,7 +13432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13255,7 +13485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1806, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1807, @@ -13281,7 +13512,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1808, @@ -13311,7 +13543,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -13332,7 +13565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -13401,7 +13635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -13447,7 +13682,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13478,7 +13714,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -13499,7 +13736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -13558,7 +13796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1820, @@ -13578,7 +13817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1820, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -13615,7 +13855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -13625,7 +13866,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]-=1;" }, { "id": 1822, @@ -13679,7 +13921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1826, @@ -13699,7 +13942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -13736,7 +13980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -13746,7 +13991,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=1;" }, { "id": 1828, @@ -13800,7 +14046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1832, @@ -13820,7 +14067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1832, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -13855,7 +14103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1833, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -13865,7 +14114,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_owners[tokenId]=to;" }, { "id": 1834, @@ -13897,7 +14147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1835, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1836, @@ -13917,7 +14168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1836, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1837, @@ -13937,7 +14189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1837, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -13958,7 +14211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 435, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -14006,7 +14260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1841, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1842, @@ -14032,7 +14287,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1843, @@ -14062,7 +14318,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -14083,7 +14340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -14259,13 +14517,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256tokenId)internalvirtual{require(ERC721.ownerOf(tokenId)==from,\"ERC721: transfer from incorrect owner\");require(to!=address(0),\"ERC721: transfer to the zero address\");_beforeTokenTransfer(from,to,tokenId);_approve(address(0),tokenId);_balances[from]-=1;_balances[to]+=1;_owners[tokenId]=to;emitTransfer(from,to,tokenId);_afterTokenTransfer(from,to,tokenId);}" }, { "id": 1845, @@ -14354,7 +14613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1197, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1857, @@ -14374,7 +14634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1857, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -14409,7 +14670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1858, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -14419,7 +14681,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_tokenApprovals[tokenId]=to;" }, { "id": 1859, @@ -14470,7 +14733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1863, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -14514,7 +14778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -14522,7 +14787,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -14547,7 +14813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1864, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1865, @@ -14567,7 +14834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1865, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -14588,7 +14856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -14716,13 +14985,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, uint256)", - "signature": "74fb7ab4", + "signature_raw": "_approve(address,uint256)", + "signature": "7b7d7225", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_approve(addressto,uint256tokenId)internalvirtual{_tokenApprovals[tokenId]=to;emitApproval(ERC721.ownerOf(tokenId),to,tokenId);}" }, { "id": 1868, @@ -14814,7 +15084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1881, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1882, @@ -14834,7 +15105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1882, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_description": { "type_identifier": "t_bool", @@ -14867,7 +15139,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approve to caller\"" } ], "expression": { @@ -14888,7 +15161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -14958,7 +15232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1202, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1889, @@ -14978,7 +15253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1889, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -15013,7 +15289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1890, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -15048,7 +15325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1891, - "is_pure": false + "is_pure": false, + "text": "approved" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_address]$]$_t_address]$", @@ -15058,7 +15336,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003ebool)):address]:address]" - } + }, + "text": "_operatorApprovals[owner][operator]=approved;" }, { "id": 1892, @@ -15090,7 +15369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1893, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1894, @@ -15110,7 +15390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1894, - "is_pure": false + "is_pure": false, + "text": "operator" }, { "id": 1895, @@ -15130,7 +15411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1895, - "is_pure": false + "is_pure": false, + "text": "approved" } ], "expression": { @@ -15151,7 +15433,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 453, - "is_pure": false + "is_pure": false, + "text": "ApprovalForAll" } } ] @@ -15323,13 +15606,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setApprovalForAll(address, address, bool)", - "signature": "58008213", + "signature_raw": "_setApprovalForAll(address,address,bool)", + "signature": "8c4e3f32", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_bool$", "type_string": "function(address,address,bool)" - } + }, + "text": "function_setApprovalForAll(addressowner,addressoperator,boolapproved)internalvirtual{require(owner!=operator,\"ERC721: approve to caller\");_operatorApprovals[owner][operator]=approved;emitApprovalForAll(owner,operator,approved);}" }, { "id": 1898, @@ -15426,7 +15710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -15447,7 +15732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -15480,7 +15766,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: invalid token ID\"" } ], "expression": { @@ -15501,7 +15788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -15595,7 +15883,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_requireMinted(uint256tokenId)internalviewvirtual{require(_exists(tokenId),\"ERC721: invalid token ID\");}" }, { "id": 1911, @@ -15698,14 +15987,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1928, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.isContract" }, "type_description": { "type_identifier": "t_function_$", @@ -15795,7 +16086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1962, - "is_pure": false + "is_pure": false, + "text": "retval" }, "right_expression": { "id": 1945, @@ -15861,21 +16153,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 552, - "is_pure": false + "is_pure": false, + "text": "IERC721Receiver" }, "member_name": "onERC721Received", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721Receiver_$552", "type_string": "contract IERC721Receiver" - } + }, + "text": "IERC721Receiver.onERC721Received" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721Receiver_$552", "type_string": "contract IERC721Receiver" - } + }, + "text": "IERC721Receiver.onERC721Received.selector" }, "type_description": { "type_identifier": "t_bool", @@ -16009,7 +16304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -16040,7 +16336,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "from" }, { "id": 1939, @@ -16070,7 +16367,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1940, @@ -16104,7 +16402,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { @@ -16167,7 +16466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1935, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -16188,7 +16488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16200,7 +16501,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC721Receiver(to).onERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$_t_bytes$", @@ -16299,14 +16601,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1949, - "is_pure": false + "is_pure": false, + "text": "reason" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "reason.length" }, "right_expression": { "id": 1956, @@ -16328,7 +16632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -16387,7 +16692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -16408,7 +16714,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -16741,13 +17048,14 @@ } ] }, - "signature_raw": "_checkOnERC721Received(address, address, uint256, bytes)", - "signature": "c3eec764", + "signature_raw": "_checkOnERC721Received(address,address,uint256,bytes)", + "signature": "1fd01de1", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_checkOnERC721Received(addressfrom,addressto,uint256tokenId,bytesmemorydata)privatereturns(bool){if(to.isContract()){tryIERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)returns(bytes4retval){returnretval==IERC721Receiver.onERC721Received.selector;}catch(bytesmemoryreason){if(reason.length==0){revert(\"ERC721: transfer to non ERC721Receiver implementer\");}else{assembly{revert(add(32,reason),mload(reason))}}}}else{returntrue;}}" }, { "id": 1965, @@ -16952,13 +17260,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256tokenId)internalvirtual{}" }, { "id": 1976, @@ -17163,13 +17472,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256tokenId)internalvirtual{}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC165.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC165.solgo.ast.json index d582a11a..0742e425 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC165.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC165.solgo.ast.json @@ -227,7 +227,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721.solgo.ast.json index d7b7e552..56854cc4 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721.solgo.ast.json @@ -763,7 +763,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint256balance);" }, { "id": 471, @@ -932,7 +933,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)externalviewreturns(addressowner);" }, { "id": 480, @@ -1180,13 +1182,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytescalldatadata)external;" }, { "id": 493, @@ -1391,13 +1394,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 504, @@ -1602,13 +1606,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 515, @@ -1769,13 +1774,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)external;" }, { "id": 524, @@ -1936,13 +1942,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,bool_approved)external;" }, { "id": 533, @@ -2111,7 +2118,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)externalviewreturns(addressoperator);" }, { "id": 542, @@ -2318,13 +2326,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)externalviewreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Community.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Community.solgo.ast.json index 7c9f88aa..1846cb0d 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Community.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Community.solgo.ast.json @@ -227,7 +227,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionDEVELOPER()externalpurereturns(stringmemory_url);" }, { "id": 2052, @@ -397,7 +398,8 @@ "type_description": { "type_identifier": "t_function_$_t_address_payable$", "type_string": "function(address)" - } + }, + "text": "functionDEVELOPER_ADDRESS()externalpurereturns(addresspayable_dev);" }, { "id": 2061, @@ -565,7 +567,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsaleStarted()externalviewreturns(bool);" }, { "id": 2070, @@ -734,7 +737,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExtensionAdded(addressextension)externalviewreturns(bool);" }, { "id": 2079, @@ -902,7 +906,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondata(uint256tokenId)externalviewreturns(bytes32);" }, { "id": 2088, @@ -1106,13 +1111,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "mintExternal(uint256, address, bytes32)", - "signature": "0bf53f1e", + "signature_raw": "mintExternal(uint256,address,bytes32)", + "signature": "4690521b", "scope": 2041, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_bytes32$", "type_string": "function(uint256,address,bytes32)" - } + }, + "text": "functionmintExternal(uint256amount,addressto,bytes32data)externalpayable;" }, { "id": 2099, @@ -1236,7 +1242,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaddExtension(addressextension)external;" }, { "id": 2106, @@ -1360,7 +1367,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionrevokeExtension(addressextension)external;" }, { "id": 2113, @@ -1438,7 +1446,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdraw()external;" }, { "id": 2118, @@ -1687,13 +1696,14 @@ } ] }, - "signature_raw": "royaltyInfo(uint256, uint256)", - "signature": "e8cf2b0b", + "signature_raw": "royaltyInfo(uint256,uint256)", + "signature": "2a55205a", "scope": 2041, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionroyaltyInfo(uint256tokenId,uint256salePrice)externalviewreturns(addressreceiver,uint256royaltyAmount);" }, { "id": 2131, @@ -1817,7 +1827,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetRoyaltyReceiver(addressreceiver)external;" }, { "id": 2138, @@ -1940,7 +1951,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetRoyaltyFee(uint256fee)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721CommunityImplementation.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721CommunityImplementation.solgo.ast.json index b5ac0aaa..df4fd024 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721CommunityImplementation.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721CommunityImplementation.solgo.ast.json @@ -448,13 +448,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(string, string, uint256, uint256, bool, string, )", - "signature": "21bf8170", + "signature_raw": "initialize(string,string,uint256,uint256,bool,string,)", + "signature": "0fb03840", "scope": 2158, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$_t_uint256$_t_uint256$_t_bool$_t_string$_t_unknown_2160$", "type_string": "function(string,string,uint256,uint256,bool,string,unknown_2160)" - } + }, + "text": "functioninitialize(stringmemory_name,stringmemory_symbol,uint256_maxSupply,uint256_nReserved,bool_startAtOne,stringmemoryuri,MintConfigmemoryconfig)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Metadata.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Metadata.solgo.ast.json index 8219a698..a72038dd 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Metadata.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Metadata.solgo.ast.json @@ -259,7 +259,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 596, @@ -427,7 +428,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 605, @@ -595,7 +597,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)externalviewreturns(stringmemory);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Receiver.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Receiver.solgo.ast.json index feb80409..98c6e914 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Receiver.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/IERC721Receiver.solgo.ast.json @@ -352,13 +352,14 @@ } ] }, - "signature_raw": "onERC721Received(address, address, uint256, bytes)", - "signature": "acb7d9e3", + "signature_raw": "onERC721Received(address,address,uint256,bytes)", + "signature": "150b7a02", "scope": 559, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functiononERC721Received(addressoperator,addressfrom,uint256tokenId,bytescalldatadata)externalreturns(bytes4);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/INFTURIExtension.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/INFTURIExtension.solgo.ast.json index d2ff30d7..b861cafc 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/INFTURIExtension.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/INFTURIExtension.solgo.ast.json @@ -259,7 +259,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)externalviewreturns(stringmemory);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/MintPassExtension.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/MintPassExtension.solgo.ast.json index 896203f4..54ef7bed 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/MintPassExtension.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/MintPassExtension.solgo.ast.json @@ -1251,7 +1251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -1313,7 +1314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { @@ -1708,7 +1710,7 @@ "mutability": 1, "type_name": { "id": 2611, - "node_type": 0, + "node_type": 53, "src": { "line": 828, "column": 4, @@ -1800,7 +1802,7 @@ "mutability": 1, "type_name": { "id": 2615, - "node_type": 0, + "node_type": 53, "src": { "line": 831, "column": 4, @@ -1892,7 +1894,7 @@ "mutability": 1, "type_name": { "id": 2619, - "node_type": 0, + "node_type": 53, "src": { "line": 834, "column": 4, @@ -1984,7 +1986,7 @@ "mutability": 1, "type_name": { "id": 2623, - "node_type": 0, + "node_type": 53, "src": { "line": 837, "column": 4, @@ -2786,7 +2788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 2665, @@ -2808,7 +2811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "256" }, "type_descriptions": [ { @@ -2841,7 +2845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2906,7 +2911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2659, - "is_pure": false + "is_pure": false, + "text": "__SALE_NEVER_STARTS" } }, { @@ -3056,7 +3062,7 @@ "mutability": 1, "type_name": { "id": 2677, - "node_type": 0, + "node_type": 53, "src": { "line": 1429, "column": 4, @@ -3360,14 +3366,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -3504,7 +3512,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 185, @@ -3594,14 +3603,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -3736,7 +3747,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -4127,7 +4139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4153,7 +4166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4245,7 +4259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -4270,7 +4285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -4340,7 +4356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -4477,7 +4494,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 240, @@ -4583,7 +4601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -4622,7 +4641,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4660,7 +4680,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -4681,7 +4702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4730,7 +4752,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 253, @@ -4825,7 +4848,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -4871,7 +4895,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -4897,7 +4922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -4976,7 +5002,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 266, @@ -5068,7 +5095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 277, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 278, @@ -5109,7 +5137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5155,7 +5184,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5193,7 +5223,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -5214,7 +5245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5258,7 +5290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 285, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -5279,7 +5312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5404,7 +5438,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 287, @@ -5520,7 +5555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -5564,7 +5600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 300, @@ -5584,7 +5621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 300, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -5594,7 +5632,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 301, @@ -5626,7 +5665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 303, @@ -5646,7 +5686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 303, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -5667,7 +5708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -5758,7 +5800,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ @@ -6200,7 +6243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 333, @@ -6222,7 +6266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -6232,7 +6277,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] } @@ -6319,7 +6365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireNotPaused" }, "type_description": { "type_identifier": "t_function_$", @@ -6344,7 +6391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -6431,7 +6479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requirePaused" }, "type_description": { "type_identifier": "t_function_$", @@ -6456,7 +6505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -6526,7 +6576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "_paused" } } ] @@ -6661,7 +6712,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { "id": 360, @@ -6771,7 +6823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -6809,7 +6862,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { @@ -6830,7 +6884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -6879,7 +6934,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requireNotPaused()internalviewvirtual{require(!paused(),\"Pausable: paused\");}" }, { "id": 371, @@ -6971,7 +7027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -7004,7 +7061,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { @@ -7025,7 +7083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -7074,7 +7133,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requirePaused()internalviewvirtual{require(paused(),\"Pausable: not paused\");}" }, { "id": 381, @@ -7152,7 +7212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 390, @@ -7174,7 +7235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -7184,7 +7246,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { "id": 391, @@ -7230,7 +7293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -7256,7 +7320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 313, - "is_pure": false + "is_pure": false, + "text": "Paused" } } ] @@ -7331,7 +7396,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { "id": 396, @@ -7409,7 +7475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 405, @@ -7431,7 +7498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -7441,7 +7509,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { "id": 406, @@ -7487,7 +7556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -7513,7 +7583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 318, - "is_pure": false + "is_pure": false, + "text": "Unpaused" } } ] @@ -7588,7 +7659,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" } ], "linearized_base_contracts": [ @@ -7866,7 +7938,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" } ], "linearized_base_contracts": [ @@ -8650,7 +8723,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint256balance);" }, { "id": 471, @@ -8819,7 +8893,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)externalviewreturns(addressowner);" }, { "id": 480, @@ -9067,13 +9142,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytescalldatadata)external;" }, { "id": 493, @@ -9278,13 +9354,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 504, @@ -9489,13 +9566,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 515, @@ -9656,13 +9734,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)external;" }, { "id": 524, @@ -9823,13 +9902,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,bool_approved)external;" }, { "id": 533, @@ -9998,7 +10078,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)externalviewreturns(addressoperator);" }, { "id": 542, @@ -10205,13 +10286,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 431, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)externalviewreturns(bool);" } ], "linearized_base_contracts": [ @@ -10614,13 +10696,14 @@ } ] }, - "signature_raw": "onERC721Received(address, address, uint256, bytes)", - "signature": "acb7d9e3", + "signature_raw": "onERC721Received(address,address,uint256,bytes)", + "signature": "150b7a02", "scope": 559, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functiononERC721Received(addressoperator,addressfrom,uint256tokenId,bytescalldatadata)externalreturns(bytes4);" } ], "linearized_base_contracts": [ @@ -10900,7 +10983,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 596, @@ -11068,7 +11152,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 605, @@ -11236,7 +11321,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)externalviewreturns(stringmemory);" } ], "linearized_base_contracts": [ @@ -11473,21 +11559,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 636, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 637, @@ -11509,7 +11598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -11650,7 +11740,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 639, @@ -11784,7 +11875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -11830,7 +11922,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -11842,7 +11935,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 655, @@ -11862,7 +11956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 655, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -11895,7 +11990,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -11916,7 +12012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -12020,7 +12117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -12076,14 +12174,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 663, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -12137,7 +12237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 657, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 668, @@ -12165,7 +12266,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -12186,7 +12288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -12318,13 +12421,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 670, @@ -12418,7 +12522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 684, @@ -12444,7 +12549,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 685, @@ -12476,7 +12582,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -12497,7 +12604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -12675,13 +12783,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 687, @@ -12779,7 +12888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 703, @@ -12805,7 +12915,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 704, @@ -12837,7 +12948,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 705, @@ -12871,7 +12983,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -12892,7 +13005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -13113,13 +13227,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 707, @@ -13217,7 +13332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 722, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 723, @@ -13243,7 +13359,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 724, @@ -13273,7 +13390,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 725, @@ -13309,7 +13427,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -13330,7 +13449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -13551,13 +13671,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 727, @@ -13691,7 +13812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -13737,7 +13859,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13749,7 +13872,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 749, @@ -13769,7 +13893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -13802,7 +13927,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -13823,7 +13949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13890,7 +14017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 755, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -13911,7 +14039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13944,7 +14073,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -13965,7 +14095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -14114,7 +14245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 766, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -14170,14 +14302,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 765, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -14247,7 +14381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 757, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 771, @@ -14273,7 +14408,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 772, @@ -14303,7 +14439,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -14324,7 +14461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -14588,13 +14726,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 774, @@ -14688,7 +14827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 787, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 788, @@ -14714,7 +14854,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 789, @@ -14746,7 +14887,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -14767,7 +14909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -14945,13 +15088,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 791, @@ -15048,7 +15192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -15069,7 +15214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15102,7 +15248,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -15123,7 +15270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -15272,7 +15420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -15316,14 +15465,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 816, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -15388,7 +15539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 822, @@ -15414,7 +15566,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 823, @@ -15444,7 +15597,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -15465,7 +15619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -15686,13 +15841,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 825, @@ -15786,7 +15942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 838, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 839, @@ -15812,7 +15969,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 840, @@ -15844,7 +16002,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -15865,7 +16024,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -16043,13 +16203,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 842, @@ -16146,7 +16307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 858, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -16167,7 +16329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16200,7 +16363,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -16221,7 +16385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -16370,7 +16535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 868, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -16414,14 +16580,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -16486,7 +16654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 860, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 873, @@ -16512,7 +16681,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 874, @@ -16542,7 +16712,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -16563,7 +16734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -16784,13 +16956,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 876, @@ -16856,7 +17029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 890, @@ -16902,7 +17076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 892, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -17120,13 +17295,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 622, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ @@ -17268,7 +17444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -17331,7 +17508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { @@ -17412,7 +17590,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 923, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 924, @@ -17434,7 +17613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17487,7 +17667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -17571,7 +17752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 931, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -17678,7 +17860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 937, @@ -17700,7 +17883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17750,7 +17934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -17803,7 +17988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 944, @@ -17825,7 +18011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -17835,7 +18022,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -17937,7 +18125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -18024,7 +18213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 953, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 954, @@ -18046,7 +18236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -18107,7 +18298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 959, @@ -18129,7 +18321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -18139,7 +18332,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 960, @@ -18193,7 +18387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 945, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 964, @@ -18213,7 +18408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -18302,7 +18498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 973, @@ -18355,7 +18552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 978, @@ -18377,7 +18575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -18427,7 +18626,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -18482,7 +18682,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -18532,7 +18733,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -18547,7 +18749,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 979, @@ -18590,7 +18793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 982, @@ -18612,7 +18816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -18622,7 +18827,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -18676,7 +18882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 945, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -18721,7 +18928,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -18861,7 +19069,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 989, @@ -18941,7 +19150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 999, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1000, @@ -18963,7 +19173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -19016,7 +19227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -19100,7 +19312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -19183,7 +19396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -19229,7 +19443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1004, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 1014, @@ -19251,7 +19466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -19301,7 +19517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -19354,7 +19571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 1021, @@ -19376,7 +19594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -19386,7 +19605,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -19444,7 +19664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1025, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 1026, @@ -19470,7 +19691,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -19491,7 +19713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -19631,7 +19854,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 1028, @@ -19795,7 +20019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1047, @@ -19815,7 +20040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1047, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -19842,7 +20068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -19943,7 +20170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1038, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 1053, @@ -19965,7 +20193,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -20002,7 +20231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -20012,7 +20242,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 1055, @@ -20066,7 +20297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1038, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 1059, @@ -20088,7 +20320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -20125,7 +20358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -20135,7 +20369,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 1061, @@ -20256,7 +20491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1068, @@ -20276,7 +20512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1068, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -20303,7 +20540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -20343,7 +20581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1062, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1072, @@ -20365,7 +20604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -20408,7 +20648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1062, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -20481,7 +20722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 945, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 1080, @@ -20501,7 +20743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1062, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -20547,7 +20790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 905, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 1084, @@ -20579,7 +20823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 1086, @@ -20601,7 +20846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -20638,7 +20884,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 1087, @@ -20681,7 +20928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1090, @@ -20703,7 +20951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -20713,7 +20962,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -20773,7 +21023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1095, @@ -20795,7 +21046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -20828,7 +21080,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -20849,7 +21102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20905,7 +21159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1038, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -20950,7 +21205,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -21127,13 +21383,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 903, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" }, { "id": 1103, @@ -21261,7 +21518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1120, - "is_pure": false + "is_pure": false, + "text": "addr" } ], "expression": { @@ -21306,7 +21564,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -21356,7 +21615,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -21387,7 +21647,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" } - ] + ], + "text": "_ADDRESS_LENGTH" } ], "expression": { @@ -21408,7 +21669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_function_$_t_address$", @@ -21549,7 +21811,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoHexString(addressaddr)internalpurereturns(stringmemory){returntoHexString(uint256(uint160(addr)),_ADDRESS_LENGTH);}" } ], "linearized_base_contracts": [ @@ -21742,7 +22005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1148, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1149, @@ -21789,7 +22053,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC165).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -21948,7 +22213,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IERC165).interfaceId;}" } ], "linearized_base_contracts": [ @@ -22390,7 +22656,7 @@ "mutability": 1, "type_name": { "id": 1188, - "node_type": 0, + "node_type": 53, "src": { "line": 828, "column": 4, @@ -22483,7 +22749,7 @@ "mutability": 1, "type_name": { "id": 1193, - "node_type": 0, + "node_type": 53, "src": { "line": 831, "column": 4, @@ -22576,7 +22842,7 @@ "mutability": 1, "type_name": { "id": 1198, - "node_type": 0, + "node_type": 53, "src": { "line": 834, "column": 4, @@ -22669,7 +22935,7 @@ "mutability": 1, "type_name": { "id": 1203, - "node_type": 0, + "node_type": 53, "src": { "line": 837, "column": 4, @@ -22978,7 +23244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1181, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 1221, @@ -22998,7 +23265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -23008,7 +23276,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 1222, @@ -23051,7 +23320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 1225, @@ -23071,7 +23341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1225, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -23081,7 +23352,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -23193,7 +23465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1242, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1243, @@ -23240,7 +23513,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC721).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -23279,7 +23553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1246, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 1247, @@ -23326,7 +23601,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC721Metadata).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -23375,7 +23651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1252, - "is_pure": false + "is_pure": false, + "text": "interfaceId" } ], "expression": { @@ -23419,14 +23696,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -23627,7 +23906,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverride(ERC165,IERC165)returns(bool){returninterfaceId==type(IERC721).interfaceId||interfaceId==type(IERC721Metadata).interfaceId||super.supportsInterface(interfaceId);}" }, { "id": 1254, @@ -23719,7 +23999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1266, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1267, @@ -23760,7 +24041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -23806,7 +24088,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -23844,7 +24127,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: address zero is not a valid owner\"" } ], "expression": { @@ -23865,7 +24149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -23913,7 +24198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1275, @@ -23933,7 +24219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1275, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -24103,7 +24390,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)publicviewvirtualoverridereturns(uint256){require(owner!=address(0),\"ERC721: address zero is not a valid owner\");return_balances[owner];}" }, { "id": 1277, @@ -24230,7 +24518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1291, @@ -24250,7 +24539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1291, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -24323,7 +24613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1286, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1296, @@ -24364,7 +24655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -24410,7 +24702,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -24448,7 +24741,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: invalid token ID\"" } ], "expression": { @@ -24469,7 +24763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -24506,7 +24801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1286, - "is_pure": false + "is_pure": false, + "text": "owner" } } ] @@ -24661,7 +24957,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)publicviewvirtualoverridereturns(address){addressowner=_owners[tokenId];require(owner!=address(0),\"ERC721: invalid token ID\");returnowner;}" }, { "id": 1304, @@ -24728,7 +25025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1181, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -24882,7 +25180,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 1316, @@ -24949,7 +25248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -25103,7 +25403,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 1328, @@ -25177,7 +25478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1339, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -25198,7 +25500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireMinted" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -25297,7 +25600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_baseURI" }, "type_description": { "type_identifier": "t_function_$", @@ -25403,7 +25707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1340, - "is_pure": false + "is_pure": false, + "text": "baseURI" } ], "expression": { @@ -25448,7 +25753,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -25460,7 +25766,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "bytes(baseURI).length" }, "right_expression": { "id": 1354, @@ -25482,7 +25789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25549,7 +25857,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1340, - "is_pure": false + "is_pure": false, + "text": "baseURI" }, { "id": 1362, @@ -25606,14 +25915,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1364, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenId.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -25662,14 +25973,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$", @@ -25719,7 +26032,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string$_t_function_$", @@ -25744,7 +26058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "type_descriptions": [ @@ -25915,7 +26230,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)publicviewvirtualoverridereturns(stringmemory){_requireMinted(tokenId);stringmemorybaseURI=_baseURI();returnbytes(baseURI).length\u003e0?string(abi.encodePacked(baseURI,tokenId.toString())):\"\";}" }, { "id": 1367, @@ -25982,7 +26298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } } ] @@ -26117,7 +26434,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "function_baseURI()internalviewvirtualreturns(stringmemory){return\"\";}" }, { "id": 1378, @@ -26252,7 +26570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1393, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -26296,7 +26615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -26304,7 +26624,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -26367,7 +26688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1397, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1398, @@ -26387,7 +26709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -26420,7 +26743,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approval to current owner\"" } ], "expression": { @@ -26441,7 +26765,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -26531,7 +26856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -26556,7 +26882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -26604,7 +26931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1410, @@ -26638,7 +26966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -26664,7 +26993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$", @@ -26702,7 +27032,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approve caller is not token owner nor approved for all\"" } ], "expression": { @@ -26723,7 +27054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -26771,7 +27103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1415, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1416, @@ -26797,7 +27130,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -26818,7 +27152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -26969,13 +27304,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)publicvirtualoverride{addressowner=ERC721.ownerOf(tokenId);require(to!=owner,\"ERC721: approval to current owner\");require(_msgSender()==owner||isApprovedForAll(owner,_msgSender()),\"ERC721: approve caller is not token owner nor approved for all\");_approve(to,tokenId);}" }, { "id": 1418, @@ -27049,7 +27385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1429, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -27070,7 +27407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireMinted" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -27118,7 +27456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1197, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1433, @@ -27138,7 +27477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1433, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -27308,7 +27648,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)publicviewvirtualoverridereturns(address){_requireMinted(tokenId);return_tokenApprovals[tokenId];}" }, { "id": 1435, @@ -27404,7 +27745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -27435,7 +27777,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "operator" }, { "id": 1449, @@ -27465,7 +27808,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "approved" } ], "expression": { @@ -27486,7 +27830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setApprovalForAll" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_bool$", @@ -27637,13 +27982,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,boolapproved)publicvirtualoverride{_setApprovalForAll(_msgSender(),operator,approved);}" }, { "id": 1451, @@ -27732,7 +28078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1202, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1466, @@ -27752,7 +28099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1466, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -27787,7 +28135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1467, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -27995,13 +28344,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)publicviewvirtualoverridereturns(bool){return_operatorApprovals[owner][operator];}" }, { "id": 1469, @@ -28116,7 +28466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -28147,7 +28498,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -28168,7 +28520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isApprovedOrOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -28201,7 +28554,8 @@ "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" } - ] + ], + "text": "\"ERC721: caller is not token owner nor approved\"" } ], "expression": { @@ -28222,7 +28576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -28274,7 +28629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1490, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1491, @@ -28300,7 +28656,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1492, @@ -28330,7 +28687,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -28351,7 +28709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -28546,13 +28905,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{require(_isApprovedOrOwner(_msgSender(),tokenId),\"ERC721: caller is not token owner nor approved\");_transfer(from,to,tokenId);}" }, { "id": 1494, @@ -28638,7 +28998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1507, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1508, @@ -28664,7 +29025,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1509, @@ -28694,7 +29056,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1510, @@ -28728,7 +29091,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"\"" } ], "expression": { @@ -28749,7 +29113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_string_literal$", @@ -28944,13 +29309,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{safeTransferFrom(from,to,tokenId,\"\");}" }, { "id": 1512, @@ -29065,7 +29431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -29096,7 +29463,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -29117,7 +29485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isApprovedOrOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -29150,7 +29519,8 @@ "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" } - ] + ], + "text": "\"ERC721: caller is not token owner nor approved\"" } ], "expression": { @@ -29171,7 +29541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -29227,7 +29598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1535, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1536, @@ -29253,7 +29625,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1537, @@ -29283,7 +29656,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1538, @@ -29317,7 +29691,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { @@ -29338,7 +29713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", @@ -29576,13 +29952,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytesmemorydata)publicvirtualoverride{require(_isApprovedOrOwner(_msgSender(),tokenId),\"ERC721: caller is not token owner nor approved\");_safeTransfer(from,to,tokenId,data);}" }, { "id": 1540, @@ -29664,7 +30041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1554, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1555, @@ -29690,7 +30068,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1556, @@ -29720,7 +30099,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -29741,7 +30121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -29820,7 +30201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1561, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1562, @@ -29846,7 +30228,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1563, @@ -29876,7 +30259,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1564, @@ -29910,7 +30294,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { @@ -29931,7 +30316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", @@ -29964,7 +30350,8 @@ "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" } - ] + ], + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -29985,7 +30372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_uint256$_t_bytes$_t_string_literal$", @@ -30204,13 +30592,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeTransfer(address, address, uint256, bytes)", - "signature": "b65f2f53", + "signature_raw": "_safeTransfer(address,address,uint256,bytes)", + "signature": "24b6b8c0", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_safeTransfer(addressfrom,addressto,uint256tokenId,bytesmemorydata)internalvirtual{_transfer(from,to,tokenId);require(_checkOnERC721Received(from,to,tokenId,data),\"ERC721: transfer to non ERC721Receiver implementer\");}" }, { "id": 1567, @@ -30302,7 +30691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1579, @@ -30322,7 +30712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1579, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -30378,7 +30769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -30424,7 +30816,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -30569,7 +30962,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_exists(uint256tokenId)internalviewvirtualreturns(bool){return_owners[tokenId]!=address(0);}" }, { "id": 1585, @@ -30704,7 +31098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1601, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -30748,7 +31143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -30756,7 +31152,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -30850,7 +31247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1607, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1608, @@ -30870,7 +31268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1595, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -30918,7 +31317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1595, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1612, @@ -30944,7 +31344,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -30965,7 +31366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -31028,7 +31430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1616, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -31049,7 +31452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getApproved" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -31074,7 +31478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1617, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_description": { "type_identifier": "t_bool", @@ -31263,13 +31668,14 @@ } ] }, - "signature_raw": "_isApprovedOrOwner(address, uint256)", - "signature": "0fecaa15", + "signature_raw": "_isApprovedOrOwner(address,uint256)", + "signature": "4cdc9549", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_isApprovedOrOwner(addressspender,uint256tokenId)internalviewvirtualreturns(bool){addressowner=ERC721.ownerOf(tokenId);return(spender==owner||isApprovedForAll(owner,spender)||getApproved(tokenId)==spender);}" }, { "id": 1619, @@ -31351,7 +31757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1629, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1630, @@ -31377,7 +31784,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1631, @@ -31407,7 +31815,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"\"" } ], "expression": { @@ -31428,7 +31837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeMint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_string_literal$", @@ -31560,13 +31970,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256)", - "signature": "df7f3eab", + "signature_raw": "_safeMint(address,uint256)", + "signature": "b3e1c718", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_safeMint(addressto,uint256tokenId)internalvirtual{_safeMint(to,tokenId,\"\");}" }, { "id": 1633, @@ -31644,7 +32055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1645, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1646, @@ -31670,7 +32082,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -31691,7 +32104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -31791,7 +32205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -31837,7 +32252,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -31868,7 +32284,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1656, @@ -31898,7 +32315,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1657, @@ -31932,7 +32350,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { @@ -31953,7 +32372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$", @@ -31986,7 +32406,8 @@ "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$", "type_string": "function(function(int_const 0),address,uint256,bytes)" } - ] + ], + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -32007,7 +32428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$_t_string_literal$", @@ -32182,13 +32604,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256, bytes)", - "signature": "5fa2bef5", + "signature_raw": "_safeMint(address,uint256,bytes)", + "signature": "6a4f832b", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,uint256,bytes)" - } + }, + "text": "function_safeMint(addressto,uint256tokenId,bytesmemorydata)internalvirtual{_mint(to,tokenId);require(_checkOnERC721Received(address(0),to,tokenId,data),\"ERC721: transfer to non ERC721Receiver implementer\");}" }, { "id": 1660, @@ -32280,7 +32703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1671, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1672, @@ -32321,7 +32745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -32367,7 +32792,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -32405,7 +32831,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: mint to the zero address\"" } ], "expression": { @@ -32426,7 +32853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -32511,7 +32939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1682, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -32532,7 +32961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -32570,7 +33000,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: token already minted\"" } ], "expression": { @@ -32591,7 +33022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -32664,7 +33096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -32710,7 +33143,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -32741,7 +33175,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1691, @@ -32771,7 +33206,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -32792,7 +33228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -32851,7 +33288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1696, @@ -32871,7 +33309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1696, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -32908,7 +33347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -32918,7 +33358,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=1;" }, { "id": 1698, @@ -32972,7 +33413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1702, @@ -32992,7 +33434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1702, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -33027,7 +33470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1703, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -33037,7 +33481,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_owners[tokenId]=to;" }, { "id": 1704, @@ -33090,7 +33535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -33136,7 +33582,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -33161,7 +33608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1709, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1710, @@ -33181,7 +33629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1710, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -33202,7 +33651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 435, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -33271,7 +33721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -33317,7 +33768,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -33348,7 +33800,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1719, @@ -33378,7 +33831,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -33399,7 +33853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -33531,13 +33986,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256tokenId)internalvirtual{require(to!=address(0),\"ERC721: mint to the zero address\");require(!_exists(tokenId),\"ERC721: token already minted\");_beforeTokenTransfer(address(0),to,tokenId);_balances[to]+=1;_owners[tokenId]=to;emitTransfer(address(0),to,tokenId);_afterTokenTransfer(address(0),to,tokenId);}" }, { "id": 1721, @@ -33672,7 +34128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1733, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -33716,7 +34173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -33724,7 +34182,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -33777,7 +34236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1737, @@ -33818,7 +34278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -33864,7 +34325,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -33899,7 +34361,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -33920,7 +34383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -33989,7 +34453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -34035,7 +34500,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -34066,7 +34532,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -34087,7 +34554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -34146,7 +34614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1753, @@ -34166,7 +34635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -34203,7 +34673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -34213,7 +34684,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[owner]-=1;" }, { "id": 1755, @@ -34262,7 +34734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1758, @@ -34282,7 +34755,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1758, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -34334,7 +34808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1761, @@ -34375,7 +34850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -34421,7 +34897,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -34446,7 +34923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1765, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -34467,7 +34945,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 435, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -34515,7 +34994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1770, @@ -34556,7 +35036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -34602,7 +35083,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -34637,7 +35119,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -34658,7 +35141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -34752,7 +35236,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_burn(uint256tokenId)internalvirtual{addressowner=ERC721.ownerOf(tokenId);_beforeTokenTransfer(owner,address(0),tokenId);_approve(address(0),tokenId);_balances[owner]-=1;delete_owners[tokenId];emitTransfer(owner,address(0),tokenId);_afterTokenTransfer(owner,address(0),tokenId);}" }, { "id": 1776, @@ -34863,7 +35348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1792, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -34907,7 +35393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -34915,7 +35402,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -34940,7 +35428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1793, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_description": { "type_identifier": "t_bool", @@ -34973,7 +35462,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: transfer from incorrect owner\"" } ], "expression": { @@ -34994,7 +35484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -35056,7 +35547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1798, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1799, @@ -35097,7 +35589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -35143,7 +35636,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -35181,7 +35675,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: transfer to the zero address\"" } ], "expression": { @@ -35202,7 +35697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -35254,7 +35750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1806, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1807, @@ -35280,7 +35777,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1808, @@ -35310,7 +35808,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -35331,7 +35830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -35400,7 +35900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -35446,7 +35947,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -35477,7 +35979,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -35498,7 +36001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -35557,7 +36061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1820, @@ -35577,7 +36082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1820, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -35614,7 +36120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -35624,7 +36131,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]-=1;" }, { "id": 1822, @@ -35678,7 +36186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1192, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1826, @@ -35698,7 +36207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -35735,7 +36245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -35745,7 +36256,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=1;" }, { "id": 1828, @@ -35799,7 +36311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1832, @@ -35819,7 +36332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1832, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -35854,7 +36368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1833, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -35864,7 +36379,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_owners[tokenId]=to;" }, { "id": 1834, @@ -35896,7 +36412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1835, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1836, @@ -35916,7 +36433,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1836, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1837, @@ -35936,7 +36454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1837, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -35957,7 +36476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 435, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -36005,7 +36525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1841, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1842, @@ -36031,7 +36552,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1843, @@ -36061,7 +36583,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -36082,7 +36605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -36258,13 +36782,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256tokenId)internalvirtual{require(ERC721.ownerOf(tokenId)==from,\"ERC721: transfer from incorrect owner\");require(to!=address(0),\"ERC721: transfer to the zero address\");_beforeTokenTransfer(from,to,tokenId);_approve(address(0),tokenId);_balances[from]-=1;_balances[to]+=1;_owners[tokenId]=to;emitTransfer(from,to,tokenId);_afterTokenTransfer(from,to,tokenId);}" }, { "id": 1845, @@ -36353,7 +36878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1197, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1857, @@ -36373,7 +36899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1857, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -36408,7 +36935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1858, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -36418,7 +36946,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_tokenApprovals[tokenId]=to;" }, { "id": 1859, @@ -36469,7 +36998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1863, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -36513,7 +37043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1151, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -36521,7 +37052,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -36546,7 +37078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1864, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1865, @@ -36566,7 +37099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1865, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -36587,7 +37121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 444, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -36715,13 +37250,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, uint256)", - "signature": "74fb7ab4", + "signature_raw": "_approve(address,uint256)", + "signature": "7b7d7225", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_approve(addressto,uint256tokenId)internalvirtual{_tokenApprovals[tokenId]=to;emitApproval(ERC721.ownerOf(tokenId),to,tokenId);}" }, { "id": 1868, @@ -36813,7 +37349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1881, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1882, @@ -36833,7 +37370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1882, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_description": { "type_identifier": "t_bool", @@ -36866,7 +37404,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approve to caller\"" } ], "expression": { @@ -36887,7 +37426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -36957,7 +37497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1202, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1889, @@ -36977,7 +37518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1889, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -37012,7 +37554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1890, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -37047,7 +37590,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1891, - "is_pure": false + "is_pure": false, + "text": "approved" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_address]$]$_t_address]$", @@ -37057,7 +37601,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003ebool)):address]:address]" - } + }, + "text": "_operatorApprovals[owner][operator]=approved;" }, { "id": 1892, @@ -37089,7 +37634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1893, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1894, @@ -37109,7 +37655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1894, - "is_pure": false + "is_pure": false, + "text": "operator" }, { "id": 1895, @@ -37129,7 +37676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1895, - "is_pure": false + "is_pure": false, + "text": "approved" } ], "expression": { @@ -37150,7 +37698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 453, - "is_pure": false + "is_pure": false, + "text": "ApprovalForAll" } } ] @@ -37322,13 +37871,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setApprovalForAll(address, address, bool)", - "signature": "58008213", + "signature_raw": "_setApprovalForAll(address,address,bool)", + "signature": "8c4e3f32", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_bool$", "type_string": "function(address,address,bool)" - } + }, + "text": "function_setApprovalForAll(addressowner,addressoperator,boolapproved)internalvirtual{require(owner!=operator,\"ERC721: approve to caller\");_operatorApprovals[owner][operator]=approved;emitApprovalForAll(owner,operator,approved);}" }, { "id": 1898, @@ -37425,7 +37975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -37446,7 +37997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -37479,7 +38031,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: invalid token ID\"" } ], "expression": { @@ -37500,7 +38053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -37594,7 +38148,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_requireMinted(uint256tokenId)internalviewvirtual{require(_exists(tokenId),\"ERC721: invalid token ID\");}" }, { "id": 1911, @@ -37697,14 +38252,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1928, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.isContract" }, "type_description": { "type_identifier": "t_function_$", @@ -37794,7 +38351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1962, - "is_pure": false + "is_pure": false, + "text": "retval" }, "right_expression": { "id": 1945, @@ -37860,21 +38418,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 552, - "is_pure": false + "is_pure": false, + "text": "IERC721Receiver" }, "member_name": "onERC721Received", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721Receiver_$552", "type_string": "contract IERC721Receiver" - } + }, + "text": "IERC721Receiver.onERC721Received" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721Receiver_$552", "type_string": "contract IERC721Receiver" - } + }, + "text": "IERC721Receiver.onERC721Received.selector" }, "type_description": { "type_identifier": "t_bool", @@ -38008,7 +38569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -38039,7 +38601,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "from" }, { "id": 1939, @@ -38069,7 +38632,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1940, @@ -38103,7 +38667,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "data" } ], "expression": { @@ -38166,7 +38731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1935, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -38187,7 +38753,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -38199,7 +38766,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC721Receiver(to).onERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$_t_bytes$", @@ -38298,14 +38866,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1949, - "is_pure": false + "is_pure": false, + "text": "reason" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "reason.length" }, "right_expression": { "id": 1956, @@ -38327,7 +38897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -38386,7 +38957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -38407,7 +38979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -38740,13 +39313,14 @@ } ] }, - "signature_raw": "_checkOnERC721Received(address, address, uint256, bytes)", - "signature": "c3eec764", + "signature_raw": "_checkOnERC721Received(address,address,uint256,bytes)", + "signature": "1fd01de1", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_checkOnERC721Received(addressfrom,addressto,uint256tokenId,bytesmemorydata)privatereturns(bool){if(to.isContract()){tryIERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)returns(bytes4retval){returnretval==IERC721Receiver.onERC721Received.selector;}catch(bytesmemoryreason){if(reason.length==0){revert(\"ERC721: transfer to non ERC721Receiver implementer\");}else{assembly{revert(add(32,reason),mload(reason))}}}}else{returntrue;}}" }, { "id": 1965, @@ -38951,13 +39525,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256tokenId)internalvirtual{}" }, { "id": 1976, @@ -39162,13 +39737,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 1163, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256tokenId)internalvirtual{}" } ], "linearized_base_contracts": [ @@ -39703,7 +40279,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)externalviewreturns(stringmemory);" } ], "linearized_base_contracts": [ @@ -39981,7 +40558,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionDEVELOPER()externalpurereturns(stringmemory_url);" }, { "id": 2052, @@ -40151,7 +40729,8 @@ "type_description": { "type_identifier": "t_function_$_t_address_payable$", "type_string": "function(address)" - } + }, + "text": "functionDEVELOPER_ADDRESS()externalpurereturns(addresspayable_dev);" }, { "id": 2061, @@ -40319,7 +40898,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsaleStarted()externalviewreturns(bool);" }, { "id": 2070, @@ -40488,7 +41068,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExtensionAdded(addressextension)externalviewreturns(bool);" }, { "id": 2079, @@ -40656,7 +41237,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondata(uint256tokenId)externalviewreturns(bytes32);" }, { "id": 2088, @@ -40860,13 +41442,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "mintExternal(uint256, address, bytes32)", - "signature": "0bf53f1e", + "signature_raw": "mintExternal(uint256,address,bytes32)", + "signature": "4690521b", "scope": 2041, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_bytes32$", "type_string": "function(uint256,address,bytes32)" - } + }, + "text": "functionmintExternal(uint256amount,addressto,bytes32data)externalpayable;" }, { "id": 2099, @@ -40990,7 +41573,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaddExtension(addressextension)external;" }, { "id": 2106, @@ -41114,7 +41698,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionrevokeExtension(addressextension)external;" }, { "id": 2113, @@ -41192,7 +41777,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdraw()external;" }, { "id": 2118, @@ -41441,13 +42027,14 @@ } ] }, - "signature_raw": "royaltyInfo(uint256, uint256)", - "signature": "e8cf2b0b", + "signature_raw": "royaltyInfo(uint256,uint256)", + "signature": "2a55205a", "scope": 2041, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionroyaltyInfo(uint256tokenId,uint256salePrice)externalviewreturns(addressreceiver,uint256royaltyAmount);" }, { "id": 2131, @@ -41571,7 +42158,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetRoyaltyReceiver(addressreceiver)external;" }, { "id": 2138, @@ -41694,7 +42282,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetRoyaltyFee(uint256fee)external;" } ], "linearized_base_contracts": [ @@ -42163,13 +42752,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(string, string, uint256, uint256, bool, string, )", - "signature": "21bf8170", + "signature_raw": "initialize(string,string,uint256,uint256,bool,string,)", + "signature": "0fb03840", "scope": 2158, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$_t_uint256$_t_uint256$_t_bool$_t_string$_t_unknown_2160$", "type_string": "function(string,string,uint256,uint256,bool,string,unknown_2160)" - } + }, + "text": "functioninitialize(stringmemory_name,stringmemory_symbol,uint256_maxSupply,uint256_nReserved,bool_startAtOne,stringmemoryuri,MintConfigmemoryconfig)external;" } ], "linearized_base_contracts": [ @@ -42523,7 +43113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2200, - "is_pure": false + "is_pure": false, + "text": "nft" }, "right_expression": { "id": 2213, @@ -42562,7 +43153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2215, - "is_pure": false + "is_pure": false, + "text": "_nft" } ], "expression": { @@ -42583,7 +43175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC721Community" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -42598,7 +43191,8 @@ "type_description": { "type_identifier": "t_contract$_IERC721Community_$2027", "type_string": "contract IERC721Community" - } + }, + "text": "nft=IERC721Community(_nft);" } ] } @@ -42717,7 +43311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -42763,7 +43358,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -42812,14 +43408,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2200, - "is_pure": false + "is_pure": false, + "text": "nft" }, "member_name": "isExtensionAdded", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721Community_$2027", "type_string": "contract IERC721Community" - } + }, + "text": "nft.isExtensionAdded" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -42852,7 +43450,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" } - ] + ], + "text": "\"NFTExtension: this contract is not allowed to be used as an extension\"" } ], "expression": { @@ -42873,7 +43472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_string_literal$", @@ -42922,7 +43522,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionbeforeMint()internalview{require(nft.isExtensionAdded(address(this)),\"NFTExtension: this contract is not allowed to be used as an extension\");}" }, { "id": 2232, @@ -43017,7 +43618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2246, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 2247, @@ -43064,7 +43666,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(INFTExtension).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -43108,7 +43711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "interfaceId" } ], "expression": { @@ -43152,14 +43756,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -43360,7 +43966,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverride(IERC165,ERC165)returns(bool){returninterfaceId==type(INFTExtension).interfaceId||super.supportsInterface(interfaceId);}" } ], "linearized_base_contracts": [ @@ -43617,7 +44224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 2279, @@ -43639,7 +44247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "256" }, "type_descriptions": [ { @@ -43672,7 +44281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -43738,7 +44348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2273, - "is_pure": false + "is_pure": false, + "text": "__SALE_NEVER_STARTS" } }, { @@ -43846,7 +44457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "saleStarted" }, "type_description": { "type_identifier": "t_function_$", @@ -43879,7 +44491,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Sale not started yet\"" } ], "expression": { @@ -43900,7 +44513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -43925,7 +44539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -44006,7 +44621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2282, - "is_pure": false + "is_pure": false, + "text": "startTimestamp" }, "right_expression": { "id": 2307, @@ -44026,7 +44642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2307, - "is_pure": false + "is_pure": false, + "text": "_startTimestamp" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -44036,7 +44653,8 @@ "type_description": { "type_identifier": "t_rational_2_by_1", "type_string": "int_const 2" - } + }, + "text": "startTimestamp=_startTimestamp;" } ] }, @@ -44155,7 +44773,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateStartTimestamp(uint256_startTimestamp)publiconlyOwner{startTimestamp=_startTimestamp;}" }, { "id": 2309, @@ -44233,7 +44852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2282, - "is_pure": false + "is_pure": false, + "text": "startTimestamp" }, "right_expression": { "id": 2318, @@ -44276,14 +44896,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -44293,7 +44915,8 @@ "type_description": { "type_identifier": "t_rational_2_by_1", "type_string": "int_const 2" - } + }, + "text": "startTimestamp=block.timestamp;" } ] }, @@ -44367,7 +44990,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstartSale()publiconlyOwner{startTimestamp=block.timestamp;}" }, { "id": 2321, @@ -44445,7 +45069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2282, - "is_pure": false + "is_pure": false, + "text": "startTimestamp" }, "right_expression": { "id": 2330, @@ -44465,7 +45090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2273, - "is_pure": false + "is_pure": false, + "text": "__SALE_NEVER_STARTS" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -44475,7 +45101,8 @@ "type_description": { "type_identifier": "t_rational_2_by_1", "type_string": "int_const 2" - } + }, + "text": "startTimestamp=__SALE_NEVER_STARTS;" } ] }, @@ -44549,7 +45176,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstopSale()publiconlyOwner{startTimestamp=__SALE_NEVER_STARTS;}" }, { "id": 2332, @@ -44653,14 +45281,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { "id": 2344, @@ -44680,7 +45310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2282, - "is_pure": false + "is_pure": false, + "text": "startTimestamp" }, "type_description": { "type_identifier": "t_bool", @@ -44820,7 +45451,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsaleStarted()publicviewreturns(bool){returnblock.timestamp\u003e=startTimestamp;}" } ], "linearized_base_contracts": [ @@ -45177,7 +45809,7 @@ "mutability": 1, "type_name": { "id": 2380, - "node_type": 0, + "node_type": 53, "src": { "line": 1429, "column": 4, @@ -45300,7 +45932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2397, - "is_pure": false + "is_pure": false, + "text": "_nft" } ], "modifier_name": { @@ -45598,7 +46231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "stopSale" }, "type_description": { "type_identifier": "t_function_$", @@ -45646,7 +46280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2370, - "is_pure": false + "is_pure": false, + "text": "price" }, "right_expression": { "id": 2406, @@ -45666,7 +46301,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2406, - "is_pure": false + "is_pure": false, + "text": "_price" }, "type_description": { "type_identifier": "t_uint256", @@ -45676,7 +46312,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "price=_price;" }, { "id": 2407, @@ -45719,7 +46356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2376, - "is_pure": false + "is_pure": false, + "text": "mintPassAddress" }, "right_expression": { "id": 2410, @@ -45739,7 +46377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2410, - "is_pure": false + "is_pure": false, + "text": "_mintPassAddress" }, "type_description": { "type_identifier": "t_address", @@ -45749,7 +46388,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "mintPassAddress=_mintPassAddress;" }, { "id": 2411, @@ -45792,7 +46432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2373, - "is_pure": false + "is_pure": false, + "text": "nRemainingTokens" }, "right_expression": { "id": 2414, @@ -45812,7 +46453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2414, - "is_pure": false + "is_pure": false, + "text": "_maxPerExtension" }, "type_description": { "type_identifier": "t_uint256", @@ -45822,7 +46464,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nRemainingTokens=_maxPerExtension;" } ] } @@ -45903,7 +46546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2370, - "is_pure": false + "is_pure": false, + "text": "price" }, "right_expression": { "id": 2427, @@ -45923,7 +46567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2427, - "is_pure": false + "is_pure": false, + "text": "_price" }, "type_description": { "type_identifier": "t_uint256", @@ -45933,7 +46578,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "price=_price;" } ] }, @@ -46052,7 +46698,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdatePrice(uint256_price)publiconlyOwner{price=_price;}" }, { "id": 2429, @@ -46130,7 +46777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2376, - "is_pure": false + "is_pure": false, + "text": "mintPassAddress" }, "right_expression": { "id": 2440, @@ -46150,7 +46798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2440, - "is_pure": false + "is_pure": false, + "text": "_mintPassAddress" }, "type_description": { "type_identifier": "t_address", @@ -46160,7 +46809,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "mintPassAddress=_mintPassAddress;" } ] }, @@ -46280,7 +46930,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupdateMintPassAddress(address_mintPassAddress)publiconlyOwner{mintPassAddress=_mintPassAddress;}" }, { "id": 2442, @@ -46372,7 +47023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2373, - "is_pure": false + "is_pure": false, + "text": "nRemainingTokens" }, "right_expression": { "id": 2454, @@ -46415,14 +47067,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2455, - "is_pure": false + "is_pure": false, + "text": "mintPassTokenIds" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "mintPassTokenIds.length" }, "type_description": { "type_identifier": "t_bool", @@ -46455,7 +47109,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"The number of remaining tokens is less than nTokens\"" } ], "expression": { @@ -46476,7 +47131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -46561,14 +47217,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { "id": 2462, @@ -46625,14 +47283,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2464, - "is_pure": false + "is_pure": false, + "text": "mintPassTokenIds" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "mintPassTokenIds.length" }, "right_expression": { "id": 2465, @@ -46652,7 +47312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2370, - "is_pure": false + "is_pure": false, + "text": "price" }, "type_description": { "type_identifier": "t_uint256", @@ -46690,7 +47351,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Not enough ETH to mint\"" } ], "expression": { @@ -46711,7 +47373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -46809,7 +47472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -46844,7 +47508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1062, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 2474, @@ -46887,14 +47552,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2475, - "is_pure": false + "is_pure": false, + "text": "mintPassTokenIds" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "mintPassTokenIds.length" }, "type_description": { "type_identifier": "t_bool", @@ -46932,7 +47599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1062, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -47047,7 +47715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2444, - "is_pure": false + "is_pure": false, + "text": "mintPassTokenIds" }, "base_expression": { "id": 2484, @@ -47067,7 +47736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1062, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -47151,7 +47821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2379, - "is_pure": false + "is_pure": false, + "text": "usedTokenIds" }, "base_expression": { "id": 2490, @@ -47171,7 +47842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2479, - "is_pure": false + "is_pure": false, + "text": "mintPassTokenId" }, "type_descriptions": [ { @@ -47208,7 +47880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -47241,7 +47914,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"This tokenId has already been used\"" } ], "expression": { @@ -47262,7 +47936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -47343,7 +48018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2479, - "is_pure": false + "is_pure": false, + "text": "mintPassTokenId" } ], "expression": { @@ -47406,7 +48082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "mintPassAddress" } ], "expression": { @@ -47427,7 +48104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -47439,7 +48117,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "ERC721(mintPassAddress).ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -47487,14 +48166,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -47527,7 +48208,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Does not have the mint pass\"" } ], "expression": { @@ -47548,7 +48230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -47607,7 +48290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2379, - "is_pure": false + "is_pure": false, + "text": "usedTokenIds" }, "base_expression": { "id": 2509, @@ -47627,7 +48311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2479, - "is_pure": false + "is_pure": false, + "text": "mintPassTokenId" }, "type_descriptions": [ { @@ -47664,7 +48349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_bool$]$_t_uint256]$", @@ -47674,7 +48360,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_bool$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003ebool):uint256]" - } + }, + "text": "usedTokenIds[mintPassTokenId]=true;" } ] } @@ -47720,7 +48407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2373, - "is_pure": false + "is_pure": false, + "text": "nRemainingTokens" }, "right_expression": { "id": 2514, @@ -47763,14 +48451,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2515, - "is_pure": false + "is_pure": false, + "text": "mintPassTokenIds" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "mintPassTokenIds.length" }, "type_description": { "type_identifier": "t_uint256", @@ -47780,7 +48470,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nRemainingTokens-=mintPassTokenIds.length;" }, { "id": 2516, @@ -47850,14 +48541,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2521, - "is_pure": false + "is_pure": false, + "text": "mintPassTokenIds" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "mintPassTokenIds.length" }, { "id": 2522, @@ -47900,7 +48593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -47912,7 +48606,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2524, @@ -47953,7 +48648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0" } ], "expression": { @@ -47998,7 +48694,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -48059,14 +48756,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2200, - "is_pure": false + "is_pure": false, + "text": "nft" }, "member_name": "mintExternal", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721Community_$2027", "type_string": "contract IERC721Community" - } + }, + "text": "nft.mintExternal" }, "type_description": { "type_identifier": "t_contract$_IERC721Community_$2027", @@ -48195,7 +48894,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionmint(uint256[]memorymintPassTokenIds)publicpayablewhenSaleStarted{require(nRemainingTokens\u003e=mintPassTokenIds.length,\"The number of remaining tokens is less than nTokens\");require(msg.value\u003e=mintPassTokenIds.length*price,\"Not enough ETH to mint\");for(uint256i=0;i\u003cmintPassTokenIds.length;i++){uint256mintPassTokenId=mintPassTokenIds[i];require(usedTokenIds[mintPassTokenId]==false,\"This tokenId has already been used\");require(ERC721(mintPassAddress).ownerOf(mintPassTokenId)==msg.sender,\"Does not have the mint pass\");usedTokenIds[mintPassTokenId]=true;}nRemainingTokens-=mintPassTokenIds.length;nft.mintExternal{value:msg.value}(mintPassTokenIds.length,msg.sender,bytes32(0x0));}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/MintPassExtension.solgo.ast.proto.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/MintPassExtension.solgo.ast.proto.json index 518883e3..2d8aa04d 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/MintPassExtension.solgo.ast.proto.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/MintPassExtension.solgo.ast.proto.json @@ -1667,6 +1667,7 @@ "parentIndex": "2611", "start": "26411" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "26429", @@ -1755,6 +1756,7 @@ "parentIndex": "2615", "start": "26505" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "26523", @@ -1843,6 +1845,7 @@ "parentIndex": "2619", "start": "26606" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "26624", @@ -1931,6 +1934,7 @@ "parentIndex": "2623", "start": "26712" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "26747", @@ -2999,6 +3003,7 @@ "parentIndex": "2677", "start": "44206" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "44221", @@ -8763,7 +8768,7 @@ } }, "scope": "431", - "signature": "a2077142", + "signature": "b88d4fde", "src": { "column": "4", "end": "9168", @@ -8950,7 +8955,7 @@ } }, "scope": "431", - "signature": "ab790ba3", + "signature": "42842e0e", "src": { "column": "4", "end": "9974", @@ -9137,7 +9142,7 @@ } }, "scope": "431", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "10593", @@ -9285,7 +9290,7 @@ } }, "scope": "431", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "11111", @@ -9433,7 +9438,7 @@ } }, "scope": "431", - "signature": "989579aa", + "signature": "a22cb465", "src": { "column": "4", "end": "11501", @@ -9771,7 +9776,7 @@ } }, "scope": "431", - "signature": "3a95ab7f", + "signature": "e985e9c5", "src": { "column": "4", "end": "11967", @@ -10114,7 +10119,7 @@ } }, "scope": "559", - "signature": "acb7d9e3", + "signature": "150b7a02", "src": { "column": "4", "end": "13024", @@ -11725,7 +11730,7 @@ } }, "scope": "622", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "16622", @@ -12073,7 +12078,7 @@ } }, "scope": "622", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "17537", @@ -12498,7 +12503,7 @@ } }, "scope": "622", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "17982", @@ -12923,7 +12928,7 @@ } }, "scope": "622", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "18598", @@ -13970,7 +13975,7 @@ } }, "scope": "622", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "19345", @@ -14318,7 +14323,7 @@ } }, "scope": "622", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "19719", @@ -15064,7 +15069,7 @@ } }, "scope": "622", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "20289", @@ -15412,7 +15417,7 @@ } }, "scope": "622", - "signature": "ce0c9802", + "signature": "ee33b7e2", "src": { "column": "4", "end": "20666", @@ -16158,7 +16163,7 @@ } }, "scope": "622", - "signature": "a6f0db75", + "signature": "57387df0", "src": { "column": "4", "end": "21239", @@ -16477,7 +16482,7 @@ } }, "scope": "622", - "signature": "15a412bd", + "signature": "946b5793", "src": { "column": "4", "end": "22201", @@ -20670,7 +20675,7 @@ } }, "scope": "903", - "signature": "b440c739", + "signature": "63e1cbea", "src": { "column": "4", "end": "24352", @@ -21929,6 +21934,7 @@ "parentIndex": "1188", "start": "26411" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "26429", @@ -22019,6 +22025,7 @@ "parentIndex": "1193", "start": "26505" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "26523", @@ -22109,6 +22116,7 @@ "parentIndex": "1198", "start": "26606" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "26624", @@ -22199,6 +22207,7 @@ "parentIndex": "1203", "start": "26712" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "26747", @@ -26479,7 +26488,7 @@ } }, "scope": "1163", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "29378", @@ -27136,7 +27145,7 @@ } }, "scope": "1163", - "signature": "989579aa", + "signature": "a22cb465", "src": { "column": "4", "end": "29826", @@ -27488,7 +27497,7 @@ } }, "scope": "1163", - "signature": "3a95ab7f", + "signature": "e985e9c5", "src": { "column": "4", "end": "30054", @@ -28034,7 +28043,7 @@ } }, "scope": "1163", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "30443", @@ -28418,7 +28427,7 @@ } }, "scope": "1163", - "signature": "ab790ba3", + "signature": "42842e0e", "src": { "column": "4", "end": "30688", @@ -29041,7 +29050,7 @@ } }, "scope": "1163", - "signature": "a2077142", + "signature": "b88d4fde", "src": { "column": "4", "end": "31069", @@ -29662,7 +29671,7 @@ } }, "scope": "1163", - "signature": "b65f2f53", + "signature": "24b6b8c0", "src": { "column": "4", "end": "32235", @@ -30732,7 +30741,7 @@ } }, "scope": "1163", - "signature": "0fecaa15", + "signature": "4cdc9549", "src": { "column": "4", "end": "33082", @@ -31020,7 +31029,7 @@ } }, "scope": "1163", - "signature": "df7f3eab", + "signature": "b3e1c718", "src": { "column": "4", "end": "33520", @@ -31641,7 +31650,7 @@ } }, "scope": "1163", - "signature": "5fa2bef5", + "signature": "6a4f832b", "src": { "column": "4", "end": "34050", @@ -33041,7 +33050,7 @@ } }, "scope": "1163", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "34799", @@ -35875,7 +35884,7 @@ } }, "scope": "1163", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "36351", @@ -36338,7 +36347,7 @@ } }, "scope": "1163", - "signature": "74fb7ab4", + "signature": "7b7d7225", "src": { "column": "4", "end": "36634", @@ -36956,7 +36965,7 @@ } }, "scope": "1163", - "signature": "58008213", + "signature": "8c4e3f32", "src": { "column": "4", "end": "37077", @@ -38351,7 +38360,7 @@ } }, "scope": "1163", - "signature": "c3eec764", + "signature": "1fd01de1", "src": { "column": "4", "end": "38677", @@ -38540,7 +38549,7 @@ } }, "scope": "1163", - "signature": "03cc7b47", + "signature": "cad3be83", "src": { "column": "4", "end": "39355", @@ -38730,7 +38739,7 @@ } }, "scope": "1163", - "signature": "41e6856b", + "signature": "8f811a1c", "src": { "column": "4", "end": "39848", @@ -40116,7 +40125,7 @@ } }, "scope": "2041", - "signature": "0bf53f1e", + "signature": "4690521b", "src": { "column": "4", "end": "41311", @@ -40631,7 +40640,7 @@ } }, "scope": "2041", - "signature": "e8cf2b0b", + "signature": "2a55205a", "src": { "column": "4", "end": "41747", @@ -41287,7 +41296,7 @@ } }, "scope": "2158", - "signature": "21bf8170", + "signature": "0fb03840", "src": { "column": "4", "end": "42185", @@ -44258,6 +44267,7 @@ "parentIndex": "2380", "start": "44206" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "44221", diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/NFTExtension.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/NFTExtension.solgo.ast.json index b5931403..de5d44e3 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/NFTExtension.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/NFTExtension.solgo.ast.json @@ -333,7 +333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2200, - "is_pure": false + "is_pure": false, + "text": "nft" }, "right_expression": { "id": 2213, @@ -372,7 +373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2215, - "is_pure": false + "is_pure": false, + "text": "_nft" } ], "expression": { @@ -393,7 +395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC721Community" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -408,7 +411,8 @@ "type_description": { "type_identifier": "t_contract$_IERC721Community_$2027", "type_string": "contract IERC721Community" - } + }, + "text": "nft=IERC721Community(_nft);" } ] } @@ -527,7 +531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -573,7 +578,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -622,14 +628,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2200, - "is_pure": false + "is_pure": false, + "text": "nft" }, "member_name": "isExtensionAdded", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC721Community_$2027", "type_string": "contract IERC721Community" - } + }, + "text": "nft.isExtensionAdded" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -662,7 +670,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" } - ] + ], + "text": "\"NFTExtension: this contract is not allowed to be used as an extension\"" } ], "expression": { @@ -683,7 +692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_string_literal$", @@ -732,7 +742,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionbeforeMint()internalview{require(nft.isExtensionAdded(address(this)),\"NFTExtension: this contract is not allowed to be used as an extension\");}" }, { "id": 2232, @@ -827,7 +838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2246, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 2247, @@ -874,7 +886,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(INFTExtension).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -918,7 +931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "interfaceId" } ], "expression": { @@ -962,14 +976,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -1170,7 +1186,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverride(IERC165,ERC165)returns(bool){returninterfaceId==type(INFTExtension).interfaceId||super.supportsInterface(interfaceId);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Ownable.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Ownable.solgo.ast.json index 5378cf2e..30bb519e 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Ownable.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Ownable.solgo.ast.json @@ -370,7 +370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -396,7 +397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -488,7 +490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -513,7 +516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -583,7 +587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -720,7 +725,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 240, @@ -826,7 +832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -865,7 +872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -903,7 +911,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -924,7 +933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -973,7 +983,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 253, @@ -1068,7 +1079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1114,7 +1126,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1140,7 +1153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1219,7 +1233,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 266, @@ -1311,7 +1326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 277, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 278, @@ -1352,7 +1368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1398,7 +1415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1436,7 +1454,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1457,7 +1476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1501,7 +1521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 285, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1522,7 +1543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1647,7 +1669,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 287, @@ -1763,7 +1786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -1807,7 +1831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 300, @@ -1827,7 +1852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 300, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1837,7 +1863,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 301, @@ -1869,7 +1896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 303, @@ -1889,7 +1917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 303, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1910,7 +1939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -2001,7 +2031,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Pausable.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Pausable.solgo.ast.json index 11e3ea12..08d37cfe 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Pausable.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Pausable.solgo.ast.json @@ -391,7 +391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 333, @@ -413,7 +414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -423,7 +425,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" } ] } @@ -510,7 +513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requireNotPaused" }, "type_description": { "type_identifier": "t_function_$", @@ -535,7 +539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -622,7 +627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_requirePaused" }, "type_description": { "type_identifier": "t_function_$", @@ -647,7 +653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -717,7 +724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "_paused" } } ] @@ -852,7 +860,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()publicviewvirtualreturns(bool){return_paused;}" }, { "id": 360, @@ -962,7 +971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -1000,7 +1010,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: paused\"" } ], "expression": { @@ -1021,7 +1032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -1070,7 +1082,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requireNotPaused()internalviewvirtual{require(!paused(),\"Pausable: paused\");}" }, { "id": 371, @@ -1162,7 +1175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "paused" }, "type_description": { "type_identifier": "t_function_$", @@ -1195,7 +1209,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Pausable: not paused\"" } ], "expression": { @@ -1216,7 +1231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -1265,7 +1281,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_requirePaused()internalviewvirtual{require(paused(),\"Pausable: not paused\");}" }, { "id": 381, @@ -1343,7 +1360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 390, @@ -1365,7 +1383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -1375,7 +1394,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=true;" }, { "id": 391, @@ -1421,7 +1441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1447,7 +1468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 313, - "is_pure": false + "is_pure": false, + "text": "Paused" } } ] @@ -1522,7 +1544,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_pause()internalvirtualwhenNotPaused{_paused=true;emitPaused(_msgSender());}" }, { "id": 396, @@ -1600,7 +1623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "_paused" }, "right_expression": { "id": 405, @@ -1622,7 +1646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -1632,7 +1657,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_paused=false;" }, { "id": 406, @@ -1678,7 +1704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1704,7 +1731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 318, - "is_pure": false + "is_pure": false, + "text": "Unpaused" } } ] @@ -1779,7 +1807,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_unpause()internalvirtualwhenPaused{_paused=false;emitUnpaused(_msgSender());}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/SaleControl.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/SaleControl.solgo.ast.json index 706f1be9..716e65d3 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/SaleControl.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/SaleControl.solgo.ast.json @@ -178,7 +178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 2279, @@ -200,7 +201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "256" }, "type_descriptions": [ { @@ -233,7 +235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -299,7 +302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2273, - "is_pure": false + "is_pure": false, + "text": "__SALE_NEVER_STARTS" } }, { @@ -407,7 +411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "saleStarted" }, "type_description": { "type_identifier": "t_function_$", @@ -440,7 +445,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Sale not started yet\"" } ], "expression": { @@ -461,7 +467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -486,7 +493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -567,7 +575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2282, - "is_pure": false + "is_pure": false, + "text": "startTimestamp" }, "right_expression": { "id": 2307, @@ -587,7 +596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2307, - "is_pure": false + "is_pure": false, + "text": "_startTimestamp" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -597,7 +607,8 @@ "type_description": { "type_identifier": "t_rational_2_by_1", "type_string": "int_const 2" - } + }, + "text": "startTimestamp=_startTimestamp;" } ] }, @@ -716,7 +727,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateStartTimestamp(uint256_startTimestamp)publiconlyOwner{startTimestamp=_startTimestamp;}" }, { "id": 2309, @@ -794,7 +806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2282, - "is_pure": false + "is_pure": false, + "text": "startTimestamp" }, "right_expression": { "id": 2318, @@ -837,14 +850,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -854,7 +869,8 @@ "type_description": { "type_identifier": "t_rational_2_by_1", "type_string": "int_const 2" - } + }, + "text": "startTimestamp=block.timestamp;" } ] }, @@ -928,7 +944,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstartSale()publiconlyOwner{startTimestamp=block.timestamp;}" }, { "id": 2321, @@ -1006,7 +1023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2282, - "is_pure": false + "is_pure": false, + "text": "startTimestamp" }, "right_expression": { "id": 2330, @@ -1026,7 +1044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2273, - "is_pure": false + "is_pure": false, + "text": "__SALE_NEVER_STARTS" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -1036,7 +1055,8 @@ "type_description": { "type_identifier": "t_rational_2_by_1", "type_string": "int_const 2" - } + }, + "text": "startTimestamp=__SALE_NEVER_STARTS;" } ] }, @@ -1110,7 +1130,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstopSale()publiconlyOwner{startTimestamp=__SALE_NEVER_STARTS;}" }, { "id": 2332, @@ -1214,14 +1235,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { "id": 2344, @@ -1241,7 +1264,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2282, - "is_pure": false + "is_pure": false, + "text": "startTimestamp" }, "type_description": { "type_identifier": "t_bool", @@ -1381,7 +1405,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsaleStarted()publicviewreturns(bool){returnblock.timestamp\u003e=startTimestamp;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Strings.solgo.ast.json b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Strings.solgo.ast.json index d290d408..635697bc 100644 --- a/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Strings.solgo.ast.json +++ b/data/tests/contracts/10x7637a7E82e6af52ABeb27667489E110193D60b42/Strings.solgo.ast.json @@ -121,7 +121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -184,7 +185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "20" } }, { @@ -265,7 +267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 923, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 924, @@ -287,7 +290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -340,7 +344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -424,7 +429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 931, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -531,7 +537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 937, @@ -553,7 +560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -603,7 +611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -656,7 +665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 944, @@ -678,7 +688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -688,7 +699,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -790,7 +802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -877,7 +890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 953, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 954, @@ -899,7 +913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -960,7 +975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 959, @@ -982,7 +998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -992,7 +1009,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 960, @@ -1046,7 +1064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 945, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 964, @@ -1066,7 +1085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -1155,7 +1175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 973, @@ -1208,7 +1229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 978, @@ -1230,7 +1252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1280,7 +1303,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -1335,7 +1359,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -1385,7 +1410,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -1400,7 +1426,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 979, @@ -1443,7 +1470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 982, @@ -1465,7 +1493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1475,7 +1504,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -1529,7 +1559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 945, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -1574,7 +1605,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -1714,7 +1746,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 989, @@ -1794,7 +1827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 999, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1000, @@ -1816,7 +1850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1869,7 +1904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -1953,7 +1989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1007, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -2036,7 +2073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2082,7 +2120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1004, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 1014, @@ -2104,7 +2143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2154,7 +2194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -2207,7 +2248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 1021, @@ -2229,7 +2271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -2239,7 +2282,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -2297,7 +2341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1025, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 1026, @@ -2323,7 +2368,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -2344,7 +2390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -2484,7 +2531,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 1028, @@ -2648,7 +2696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1047, @@ -2668,7 +2717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1047, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2695,7 +2745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2796,7 +2847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1038, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 1053, @@ -2818,7 +2870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -2855,7 +2908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -2865,7 +2919,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 1055, @@ -2919,7 +2974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1038, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 1059, @@ -2941,7 +2997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -2978,7 +3035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -2988,7 +3046,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 1061, @@ -3109,7 +3168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1068, @@ -3129,7 +3189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1068, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3156,7 +3217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3196,7 +3258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1062, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1072, @@ -3218,7 +3281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -3261,7 +3325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1062, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -3334,7 +3399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 945, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 1080, @@ -3354,7 +3420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1062, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -3400,7 +3467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 905, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 1084, @@ -3432,7 +3500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 1086, @@ -3454,7 +3523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -3491,7 +3561,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 1087, @@ -3534,7 +3605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1090, @@ -3556,7 +3628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -3566,7 +3639,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -3626,7 +3700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1095, @@ -3648,7 +3723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3681,7 +3757,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -3702,7 +3779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3758,7 +3836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1038, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -3803,7 +3882,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3980,13 +4060,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 903, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" }, { "id": 1103, @@ -4114,7 +4195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1120, - "is_pure": false + "is_pure": false, + "text": "addr" } ], "expression": { @@ -4159,7 +4241,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4209,7 +4292,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -4240,7 +4324,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" } - ] + ], + "text": "_ADDRESS_LENGTH" } ], "expression": { @@ -4261,7 +4346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_function_$_t_address$", @@ -4402,7 +4488,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoHexString(addressaddr)internalpurereturns(stringmemory){returntoHexString(uint256(uint160(addr)),_ADDRESS_LENGTH);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Address.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Address.solgo.ast.json index 220b5d5c..bb3765a9 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Address.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Address.solgo.ast.json @@ -232,7 +232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" } }, { @@ -426,7 +427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "codehash" }, "right_expression": { "id": 522, @@ -446,7 +448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 503, - "is_pure": false + "is_pure": false, + "text": "accountHash" }, "type_description": { "type_identifier": "t_bool", @@ -485,7 +488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "codehash" }, "right_expression": { "id": 525, @@ -507,7 +511,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0" }, "type_description": { "type_identifier": "t_bool", @@ -666,7 +671,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){bytes32codehash;bytes32accountHash=0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;assembly{codehash:=extcodehash(account)}return(codehash!=accountHash\u0026\u0026codehash!=0x0);}" }, { "id": 527, @@ -800,7 +806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -846,7 +853,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -858,7 +866,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 543, @@ -878,7 +887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -911,7 +921,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'Address: insufficient balance'" } ], "expression": { @@ -932,7 +943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1038,7 +1050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "''" } ], "expression": { @@ -1094,14 +1107,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -1155,7 +1170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 556, @@ -1183,7 +1199,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'Address: unable to send value, recipient may have reverted'" } ], "expression": { @@ -1204,7 +1221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1336,13 +1354,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 490, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,'Address: insufficient balance');(boolsuccess,)=recipient.call{value:amount}('');require(success,'Address: unable to send value, recipient may have reverted');}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Errors.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Errors.solgo.ast.json index 55363796..401b43ee 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Errors.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Errors.solgo.ast.json @@ -116,7 +116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'33'" } }, { @@ -179,7 +180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'59'" } }, { @@ -242,7 +244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'1'" } }, { @@ -305,7 +308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'2'" } }, { @@ -368,7 +372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'3'" } }, { @@ -431,7 +436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'4'" } }, { @@ -494,7 +500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'5'" } }, { @@ -557,7 +564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'6'" } }, { @@ -620,7 +628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'7'" } }, { @@ -683,7 +692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'8'" } }, { @@ -746,7 +756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'9'" } }, { @@ -809,7 +820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'10'" } }, { @@ -872,7 +884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'11'" } }, { @@ -935,7 +948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'12'" } }, { @@ -998,7 +1012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'13'" } }, { @@ -1061,7 +1076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'14'" } }, { @@ -1124,7 +1140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'15'" } }, { @@ -1187,7 +1204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'16'" } }, { @@ -1250,7 +1268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'17'" } }, { @@ -1313,7 +1332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'18'" } }, { @@ -1376,7 +1396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'19'" } }, { @@ -1439,7 +1460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'20'" } }, { @@ -1502,7 +1524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'21'" } }, { @@ -1565,7 +1588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'22'" } }, { @@ -1628,7 +1652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'23'" } }, { @@ -1691,7 +1716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'24'" } }, { @@ -1754,7 +1780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'25'" } }, { @@ -1817,7 +1844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'26'" } }, { @@ -1880,7 +1908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'27'" } }, { @@ -1943,7 +1972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'28'" } }, { @@ -2006,7 +2036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'29'" } }, { @@ -2069,7 +2100,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'30'" } }, { @@ -2132,7 +2164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'31'" } }, { @@ -2195,7 +2228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'32'" } }, { @@ -2258,7 +2292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'34'" } }, { @@ -2321,7 +2356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'35'" } }, { @@ -2384,7 +2420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'36'" } }, { @@ -2447,7 +2484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'37'" } }, { @@ -2510,7 +2548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'38'" } }, { @@ -2573,7 +2612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'39'" } }, { @@ -2636,7 +2676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'40'" } }, { @@ -2699,7 +2740,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'75'" } }, { @@ -2762,7 +2804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'76'" } }, { @@ -2825,7 +2868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'41'" } }, { @@ -2888,7 +2932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'42'" } }, { @@ -2951,7 +2996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'43'" } }, { @@ -3014,7 +3060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'44'" } }, { @@ -3077,7 +3124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'45'" } }, { @@ -3140,7 +3188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'46'" } }, { @@ -3203,7 +3252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'47'" } }, { @@ -3266,7 +3316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'48'" } }, { @@ -3329,7 +3380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'49'" } }, { @@ -3392,7 +3444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'50'" } }, { @@ -3455,7 +3508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'51'" } }, { @@ -3518,7 +3572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'52'" } }, { @@ -3581,7 +3636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'53'" } }, { @@ -3644,7 +3700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'54'" } }, { @@ -3707,7 +3764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'55'" } }, { @@ -3770,7 +3828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'56'" } }, { @@ -3833,7 +3892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'57'" } }, { @@ -3896,7 +3956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'58'" } }, { @@ -3959,7 +4020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'60'" } }, { @@ -4022,7 +4084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'61'" } }, { @@ -4085,7 +4148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'62'" } }, { @@ -4148,7 +4212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'63'" } }, { @@ -4211,7 +4276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'64'" } }, { @@ -4274,7 +4340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'65'" } }, { @@ -4337,7 +4404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'66'" } }, { @@ -4400,7 +4468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'67'" } }, { @@ -4463,7 +4532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'68'" } }, { @@ -4526,7 +4596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'69'" } }, { @@ -4589,7 +4660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'70'" } }, { @@ -4652,7 +4724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'71'" } }, { @@ -4715,7 +4788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'72'" } }, { @@ -4778,7 +4852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'73'" } }, { @@ -4841,7 +4916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'74'" } }, { @@ -4904,7 +4980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'77'" } }, { @@ -4967,7 +5044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'78'" } }, { @@ -5030,7 +5108,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'79'" } }, { @@ -5093,7 +5172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'80'" } }, { @@ -5156,7 +5236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'81'" } }, { @@ -5219,7 +5300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'82'" } }, { @@ -5282,7 +5364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'83'" } }, { @@ -5345,7 +5428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'84'" } }, { @@ -5408,7 +5492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'85'" } }, { @@ -5471,7 +5556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'86'" } }, { @@ -5534,7 +5620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'87'" } }, { @@ -5597,7 +5684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'88'" } }, { @@ -5660,7 +5748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'89'" } }, { @@ -5723,7 +5812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'90'" } }, { @@ -5786,7 +5876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'91'" } }, { @@ -5849,7 +5940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'92'" } }, { @@ -5912,7 +6004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'93'" } }, { @@ -5975,7 +6068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'94'" } }, { @@ -6038,7 +6132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'95'" } }, { @@ -6101,7 +6196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'96'" } }, { @@ -6164,7 +6260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'97'" } }, { @@ -6227,7 +6324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'98'" } }, { @@ -6290,7 +6388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'99'" } }, { @@ -6353,7 +6452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'100'" } }, { @@ -6416,7 +6516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'101'" } }, { @@ -6479,7 +6580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'102'" } }, { @@ -6542,7 +6644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'103'" } }, { @@ -6605,7 +6708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'104'" } }, { @@ -6668,7 +6772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'105'" } }, { @@ -6731,7 +6836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'106'" } }, { @@ -6794,7 +6900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'107'" } }, { @@ -6857,7 +6964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'108'" } }, { @@ -6920,7 +7028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'109'" } }, { @@ -6983,7 +7092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'110'" } }, { @@ -7046,7 +7156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'111'" } }, { @@ -7109,7 +7220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'112'" } }, { @@ -7172,7 +7284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'113'" } }, { @@ -7235,7 +7348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'114'" } }, { @@ -7298,7 +7412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'115'" } }, { @@ -7361,7 +7476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'116'" } }, { @@ -7424,7 +7540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'117'" } }, { @@ -7487,7 +7604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'118'" } }, { @@ -7550,7 +7668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'119'" } }, { @@ -7613,7 +7732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'120'" } }, { @@ -7676,7 +7796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'121'" } }, { @@ -7739,7 +7860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'122'" } }, { @@ -7802,7 +7924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'123'" } }, { @@ -7865,7 +7988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'125'" } }, { diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/FRAX3CRVLevSwap.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/FRAX3CRVLevSwap.solgo.ast.json index 86d4a32d..7252d057 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/FRAX3CRVLevSwap.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/FRAX3CRVLevSwap.solgo.ast.json @@ -4687,7 +4687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'33'" } }, { @@ -4749,7 +4750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'59'" } }, { @@ -4811,7 +4813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'1'" } }, { @@ -4873,7 +4876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'2'" } }, { @@ -4935,7 +4939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'3'" } }, { @@ -4997,7 +5002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'4'" } }, { @@ -5059,7 +5065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'5'" } }, { @@ -5121,7 +5128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'6'" } }, { @@ -5183,7 +5191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'7'" } }, { @@ -5245,7 +5254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'8'" } }, { @@ -5307,7 +5317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'9'" } }, { @@ -5369,7 +5380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'10'" } }, { @@ -5431,7 +5443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'11'" } }, { @@ -5493,7 +5506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'12'" } }, { @@ -5555,7 +5569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'13'" } }, { @@ -5617,7 +5632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'14'" } }, { @@ -5679,7 +5695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'15'" } }, { @@ -5741,7 +5758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'16'" } }, { @@ -5803,7 +5821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'17'" } }, { @@ -5865,7 +5884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'18'" } }, { @@ -5927,7 +5947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'19'" } }, { @@ -5989,7 +6010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'20'" } }, { @@ -6051,7 +6073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'21'" } }, { @@ -6113,7 +6136,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'22'" } }, { @@ -6175,7 +6199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'23'" } }, { @@ -6237,7 +6262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'24'" } }, { @@ -6299,7 +6325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'25'" } }, { @@ -6361,7 +6388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'26'" } }, { @@ -6423,7 +6451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'27'" } }, { @@ -6485,7 +6514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'28'" } }, { @@ -6547,7 +6577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'29'" } }, { @@ -6609,7 +6640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'30'" } }, { @@ -6671,7 +6703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'31'" } }, { @@ -6733,7 +6766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'32'" } }, { @@ -6795,7 +6829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'34'" } }, { @@ -6857,7 +6892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'35'" } }, { @@ -6919,7 +6955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'36'" } }, { @@ -6981,7 +7018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'37'" } }, { @@ -7043,7 +7081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'38'" } }, { @@ -7105,7 +7144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'39'" } }, { @@ -7167,7 +7207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'40'" } }, { @@ -7229,7 +7270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'75'" } }, { @@ -7291,7 +7333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'76'" } }, { @@ -7353,7 +7396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'41'" } }, { @@ -7415,7 +7459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'42'" } }, { @@ -7477,7 +7522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'43'" } }, { @@ -7539,7 +7585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'44'" } }, { @@ -7601,7 +7648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'45'" } }, { @@ -7663,7 +7711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'46'" } }, { @@ -7725,7 +7774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'47'" } }, { @@ -7787,7 +7837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'48'" } }, { @@ -7849,7 +7900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'49'" } }, { @@ -7911,7 +7963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'50'" } }, { @@ -7973,7 +8026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'51'" } }, { @@ -8035,7 +8089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'52'" } }, { @@ -8097,7 +8152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'53'" } }, { @@ -8159,7 +8215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'54'" } }, { @@ -8221,7 +8278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'55'" } }, { @@ -8283,7 +8341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'56'" } }, { @@ -8345,7 +8404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'57'" } }, { @@ -8407,7 +8467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'58'" } }, { @@ -8469,7 +8530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'60'" } }, { @@ -8531,7 +8593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'61'" } }, { @@ -8593,7 +8656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'62'" } }, { @@ -8655,7 +8719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'63'" } }, { @@ -8717,7 +8782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'64'" } }, { @@ -8779,7 +8845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'65'" } }, { @@ -8841,7 +8908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'66'" } }, { @@ -8903,7 +8971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'67'" } }, { @@ -8965,7 +9034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'68'" } }, { @@ -9027,7 +9097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'69'" } }, { @@ -9089,7 +9160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'70'" } }, { @@ -9151,7 +9223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'71'" } }, { @@ -9213,7 +9286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'72'" } }, { @@ -9275,7 +9349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'73'" } }, { @@ -9337,7 +9412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'74'" } }, { @@ -9399,7 +9475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'77'" } }, { @@ -9461,7 +9538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'78'" } }, { @@ -9523,7 +9601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'79'" } }, { @@ -9585,7 +9664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'80'" } }, { @@ -9647,7 +9727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'81'" } }, { @@ -9709,7 +9790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'82'" } }, { @@ -9771,7 +9853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'83'" } }, { @@ -9833,7 +9916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'84'" } }, { @@ -9895,7 +9979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'85'" } }, { @@ -9957,7 +10042,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'86'" } }, { @@ -10019,7 +10105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'87'" } }, { @@ -10081,7 +10168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'88'" } }, { @@ -10143,7 +10231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'89'" } }, { @@ -10205,7 +10294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'90'" } }, { @@ -10267,7 +10357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'91'" } }, { @@ -10329,7 +10420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'92'" } }, { @@ -10391,7 +10483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'93'" } }, { @@ -10453,7 +10546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'94'" } }, { @@ -10515,7 +10609,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'95'" } }, { @@ -10577,7 +10672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'96'" } }, { @@ -10639,7 +10735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'97'" } }, { @@ -10701,7 +10798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'98'" } }, { @@ -10763,7 +10861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'99'" } }, { @@ -10825,7 +10924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'100'" } }, { @@ -10887,7 +10987,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'101'" } }, { @@ -10949,7 +11050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'102'" } }, { @@ -11011,7 +11113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'103'" } }, { @@ -11073,7 +11176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'104'" } }, { @@ -11135,7 +11239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'105'" } }, { @@ -11197,7 +11302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'106'" } }, { @@ -11259,7 +11365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'107'" } }, { @@ -11321,7 +11428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'108'" } }, { @@ -11383,7 +11491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'109'" } }, { @@ -11445,7 +11554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'110'" } }, { @@ -11507,7 +11617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'111'" } }, { @@ -11569,7 +11680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'112'" } }, { @@ -11631,7 +11743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'113'" } }, { @@ -11693,7 +11806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'114'" } }, { @@ -11755,7 +11869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'115'" } }, { @@ -11817,7 +11932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'116'" } }, { @@ -11879,7 +11995,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'117'" } }, { @@ -11941,7 +12058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'118'" } }, { @@ -12003,7 +12121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'119'" } }, { @@ -12065,7 +12184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'120'" } }, { @@ -12127,7 +12247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'121'" } }, { @@ -12189,7 +12310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'122'" } }, { @@ -12251,7 +12373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'123'" } }, { @@ -12313,7 +12436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'125'" } }, { @@ -12652,7 +12776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e4" } }, { @@ -12726,7 +12851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6379, - "is_pure": false + "is_pure": false, + "text": "PERCENTAGE_FACTOR" }, "right_expression": { "id": 6386, @@ -12748,7 +12874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -15465,7 +15592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000" } }, { @@ -15527,7 +15655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF" } }, { @@ -15589,7 +15718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFF" } }, { @@ -15651,7 +15781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF" } }, { @@ -15713,7 +15844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFF" } }, { @@ -15775,7 +15907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFF" } }, { @@ -15837,7 +15970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFF" } }, { @@ -15899,7 +16033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFF" } }, { @@ -15961,7 +16096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF" } }, { @@ -16023,7 +16159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFF" } }, { @@ -16085,7 +16222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "16" } }, { @@ -16147,7 +16285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "32" } }, { @@ -16209,7 +16348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" } }, { @@ -16271,7 +16411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "56" } }, { @@ -16333,7 +16474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "57" } }, { @@ -16395,7 +16537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "58" } }, { @@ -16457,7 +16600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "59" } }, { @@ -16519,7 +16663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "60" } }, { @@ -16581,7 +16726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } }, { @@ -16643,7 +16789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -16705,7 +16852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -16767,7 +16915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -16829,7 +16978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "255" } }, { @@ -16891,7 +17041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -17035,7 +17186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e18" } }, { @@ -17109,7 +17261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6591, - "is_pure": false + "is_pure": false, + "text": "WAD" }, "right_expression": { "id": 6598, @@ -17131,7 +17284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -17198,7 +17352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e27" } }, { @@ -17272,7 +17427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6599, - "is_pure": false + "is_pure": false, + "text": "RAY" }, "right_expression": { "id": 6606, @@ -17294,7 +17450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -17361,7 +17518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e9" } }, { @@ -17705,7 +17863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5000" } }, { @@ -17767,7 +17926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { @@ -17830,7 +17990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x7937D4799803FbBe595ed57278Bc4cA21f3bFfCB" } }, { @@ -17893,7 +18054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xBA12222222228d8Ba445958a75a0704d566BF2C8" } }, { @@ -17995,7 +18157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E" } ], "expression": { @@ -18016,7 +18179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IVaultWhitelist" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18358,7 +18522,7 @@ "mutability": 1, "type_name": { "id": 6657, - "node_type": 0, + "node_type": 53, "src": { "line": 2171, "column": 2, @@ -18486,7 +18650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -19952,7 +20117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B" } ], "expression": { @@ -19973,7 +20139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ICurvePool" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20080,7 +20247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7" } ], "expression": { @@ -20101,7 +20269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ICurvePool" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20208,7 +20377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490" } ], "expression": { @@ -20229,7 +20399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20297,7 +20468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x6B175474E89094C44Da98b954EedeAC495271d0F" } }, { @@ -20360,7 +20532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" } }, { @@ -20423,7 +20596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xdAC17F958D2ee523a2206206994597C13D831ec7" } }, { @@ -20521,7 +20695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_description": { "type_identifier": "t_rational_3_by_1", @@ -20985,7 +21160,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 382, @@ -21154,7 +21330,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 391, @@ -21360,13 +21537,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 371, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 402, @@ -21573,13 +21751,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 371, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 413, @@ -21785,13 +21964,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 371, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 424, @@ -22041,13 +22221,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 371, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 437, @@ -22656,7 +22837,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 470, @@ -22824,7 +23006,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 479, @@ -22992,7 +23175,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ @@ -23275,7 +23459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" } }, { @@ -23469,7 +23654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "codehash" }, "right_expression": { "id": 522, @@ -23489,7 +23675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 503, - "is_pure": false + "is_pure": false, + "text": "accountHash" }, "type_description": { "type_identifier": "t_bool", @@ -23528,7 +23715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "codehash" }, "right_expression": { "id": 525, @@ -23550,7 +23738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0" }, "type_description": { "type_identifier": "t_bool", @@ -23709,7 +23898,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){bytes32codehash;bytes32accountHash=0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;assembly{codehash:=extcodehash(account)}return(codehash!=accountHash\u0026\u0026codehash!=0x0);}" }, { "id": 527, @@ -23843,7 +24033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -23889,7 +24080,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -23901,7 +24093,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 543, @@ -23921,7 +24114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -23954,7 +24148,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'Address: insufficient balance'" } ], "expression": { @@ -23975,7 +24170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -24081,7 +24277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "''" } ], "expression": { @@ -24137,14 +24334,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -24198,7 +24397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 556, @@ -24226,7 +24426,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'Address: unable to send value, recipient may have reverted'" } ], "expression": { @@ -24247,7 +24448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -24379,13 +24581,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 490, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,'Address: insufficient balance');(boolsuccess,)=recipient.call{value:amount}('');require(success,'Address: unable to send value, recipient may have reverted');}" } ], "linearized_base_contracts": [ @@ -24587,7 +24790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 579, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 580, @@ -24680,21 +24884,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 585, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 586, @@ -24720,7 +24927,8 @@ "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 587, @@ -24750,7 +24958,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -24794,14 +25003,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -24827,7 +25038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -25023,13 +25235,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 560, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 589, @@ -25107,7 +25320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 604, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 605, @@ -25204,21 +25418,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 610, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 611, @@ -25244,7 +25461,8 @@ "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 612, @@ -25274,7 +25492,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 613, @@ -25308,7 +25527,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -25352,14 +25572,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -25385,7 +25607,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -25625,13 +25848,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 560, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 615, @@ -25751,7 +25975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 631, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 632, @@ -25773,7 +25998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25874,7 +26100,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -25920,7 +26147,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25951,7 +26179,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -25995,14 +26224,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 637, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -26029,7 +26260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -26073,7 +26305,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "'SafeERC20: approve from non-zero to non-zero allowance'" } ], "expression": { @@ -26094,7 +26327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -26142,7 +26376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 648, @@ -26235,21 +26470,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 653, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 654, @@ -26275,7 +26513,8 @@ "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 655, @@ -26305,7 +26544,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -26349,14 +26589,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -26382,7 +26624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -26578,13 +26821,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 560, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),'SafeERC20: approve from non-zero to non-zero allowance');callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 657, @@ -26718,7 +26962,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -26764,7 +27009,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -26776,7 +27022,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).isContract" }, "type_description": { "type_identifier": "t_function_$", @@ -26809,7 +27056,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "'SafeERC20: call to non-contract'" } ], "expression": { @@ -26830,7 +27078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -26979,7 +27228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 686, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -27042,7 +27292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 685, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -27088,7 +27339,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27100,7 +27352,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).call" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -27149,7 +27402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 675, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 690, @@ -27177,7 +27431,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'SafeERC20: low-level call failed'" } ], "expression": { @@ -27198,7 +27453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -27271,14 +27527,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 675, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 695, @@ -27300,7 +27558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -27385,7 +27644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 703, @@ -27437,7 +27697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -27487,14 +27748,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -27527,7 +27790,8 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "'SafeERC20: ERC20 operation did not succeed'" } ], "expression": { @@ -27548,7 +27812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -27703,13 +27968,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "callOptionalReturn(, bytes)", - "signature": "8e0a158a", + "signature_raw": "callOptionalReturn(,bytes)", + "signature": "f11dc268", "scope": 560, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "functioncallOptionalReturn(IERC20token,bytesmemorydata)private{require(address(token).isContract(),'SafeERC20: call to non-contract');(boolsuccess,bytesmemoryreturndata)=address(token).call(data);require(success,'SafeERC20: low-level call failed');if(returndata.length!=0){require(abi.decode(returndata,(bool)),'SafeERC20: ERC20 operation did not succeed');}}" } ], "linearized_base_contracts": [ @@ -27953,7 +28219,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAssetPrice(addressasset)externalviewreturns(uint256);" } ], "linearized_base_contracts": [ @@ -29271,7 +29538,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functiongetMarketId()externalviewreturns(stringmemory);" }, { "id": 800, @@ -29394,7 +29662,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsetMarketId(stringcalldatamarketId)externalpayable;" }, { "id": 807, @@ -29555,13 +29824,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setAddress(bytes32, address)", - "signature": "43578dd5", + "signature_raw": "setAddress(bytes32,address)", + "signature": "ca446dd9", "scope": 723, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionsetAddress(bytes32id,addressnewAddress)externalpayable;" }, { "id": 816, @@ -29722,13 +29992,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setAddressAsProxy(bytes32, address)", - "signature": "cbc450db", + "signature_raw": "setAddressAsProxy(bytes32,address)", + "signature": "5dcc528c", "scope": 723, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionsetAddressAsProxy(bytes32id,addressimpl)externalpayable;" }, { "id": 825, @@ -29897,7 +30168,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetAddress(bytes32id)externalviewreturns(address);" }, { "id": 834, @@ -30067,7 +30339,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetLendingPool()externalviewreturns(address);" }, { "id": 843, @@ -30191,7 +30464,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLendingPoolImpl(addresspool)externalpayable;" }, { "id": 850, @@ -30361,7 +30635,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetIncentiveController()externalviewreturns(address);" }, { "id": 859, @@ -30485,7 +30760,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetIncentiveControllerImpl(addressincentiveController)externalpayable;" }, { "id": 866, @@ -30655,7 +30931,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetIncentiveToken()externalviewreturns(address);" }, { "id": 875, @@ -30779,7 +31056,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetIncentiveTokenImpl(addressincentiveToken)externalpayable;" }, { "id": 882, @@ -30949,7 +31227,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetLendingPoolConfigurator()externalviewreturns(address);" }, { "id": 891, @@ -31073,7 +31352,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLendingPoolConfiguratorImpl(addressconfigurator)externalpayable;" }, { "id": 898, @@ -31243,7 +31523,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetLendingPoolCollateralManager()externalviewreturns(address);" }, { "id": 907, @@ -31367,7 +31648,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLendingPoolCollateralManager(addressmanager)externalpayable;" }, { "id": 914, @@ -31537,7 +31819,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetPoolAdmin()externalviewreturns(address);" }, { "id": 923, @@ -31661,7 +31944,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetPoolAdmin(addressadmin)externalpayable;" }, { "id": 930, @@ -31831,7 +32115,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetEmergencyAdmin()externalviewreturns(address);" }, { "id": 939, @@ -31955,7 +32240,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetEmergencyAdmin(addressadmin)externalpayable;" }, { "id": 946, @@ -32125,7 +32411,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetPriceOracle()externalviewreturns(address);" }, { "id": 955, @@ -32249,7 +32536,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetPriceOracle(addresspriceOracle)externalpayable;" }, { "id": 962, @@ -32419,7 +32707,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetLendingRateOracle()externalviewreturns(address);" }, { "id": 971, @@ -32543,7 +32832,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLendingRateOracle(addresslendingRateOracle)externalpayable;" } ], "linearized_base_contracts": [ @@ -35992,13 +36282,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "deposit(address, uint256, address, uint16)", - "signature": "b04b2a91", + "signature_raw": "deposit(address,uint256,address,uint16)", + "signature": "e8eda9df", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_uint16$", "type_string": "function(address,uint256,address,uint16)" - } + }, + "text": "functiondeposit(addressasset,uint256amount,addressonBehalfOf,uint16referralCode)external;" }, { "id": 1160, @@ -36159,13 +36450,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "depositYield(address, uint256)", - "signature": "02e0d5c2", + "signature_raw": "depositYield(address,uint256)", + "signature": "d6996185", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondepositYield(addressasset,uint256amount)external;" }, { "id": 1169, @@ -36326,13 +36618,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "getYield(address, uint256)", - "signature": "c438bd6f", + "signature_raw": "getYield(address,uint256)", + "signature": "f88cc4a2", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiongetYield(addressasset,uint256amount)external;" }, { "id": 1178, @@ -36544,7 +36837,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetTotalBalanceOfAssetPair(addressasset)externalviewreturns(uint256,uint256);" }, { "id": 1189, @@ -36964,13 +37258,14 @@ } ] }, - "signature_raw": "getBorrowingAssetAndVolumes(uint256, uint256, address, uint256)", - "signature": "5809cadf", + "signature_raw": "getBorrowingAssetAndVolumes(uint256,uint256,address,uint256)", + "signature": "1104bee6", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,uint256)" - } + }, + "text": "functiongetBorrowingAssetAndVolumes()externalviewreturns(uint256,uint256[]memory,address[]memory,uint256);" }, { "id": 1210, @@ -37094,7 +37389,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionregisterVault(address_vaultAddress)externalpayable;" }, { "id": 1217, @@ -37218,7 +37514,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionunregisterVault(address_vaultAddress)externalpayable;" }, { "id": 1224, @@ -37468,13 +37765,14 @@ } ] }, - "signature_raw": "withdraw(address, uint256, address)", - "signature": "b11b5f87", + "signature_raw": "withdraw(address,uint256,address)", + "signature": "69328dec", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functionwithdraw(addressasset,uint256amount,addressto)externalreturns(uint256);" }, { "id": 1237, @@ -37768,13 +38066,14 @@ } ] }, - "signature_raw": "withdrawFrom(address, uint256, address, address)", - "signature": "ee0c2ec0", + "signature_raw": "withdrawFrom(address,uint256,address,address)", + "signature": "12ade5ad", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_address$", "type_string": "function(address,uint256,address,address)" - } + }, + "text": "functionwithdrawFrom(addressasset,uint256amount,addressfrom,addressto)externalreturns(uint256);" }, { "id": 1252, @@ -38065,13 +38364,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "borrow(address, uint256, uint256, uint16, address)", - "signature": "cc780dc0", + "signature_raw": "borrow(address,uint256,uint256,uint16,address)", + "signature": "a415bcad", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint16$_t_address$", "type_string": "function(address,uint256,uint256,uint16,address)" - } + }, + "text": "functionborrow(addressasset,uint256amount,uint256interestRateMode,uint16referralCode,addressonBehalfOf)external;" }, { "id": 1267, @@ -38364,13 +38664,14 @@ } ] }, - "signature_raw": "repay(address, uint256, uint256, address)", - "signature": "0fc68187", + "signature_raw": "repay(address,uint256,uint256,address)", + "signature": "573ade81", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$", "type_string": "function(address,uint256,uint256,address)" - } + }, + "text": "functionrepay(addressasset,uint256amount,uint256rateMode,addressonBehalfOf)externalreturns(uint256);" }, { "id": 1282, @@ -38531,13 +38832,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setUserUseReserveAsCollateral(address, bool)", - "signature": "38ab99d6", + "signature_raw": "setUserUseReserveAsCollateral(address,bool)", + "signature": "5a3b74b9", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetUserUseReserveAsCollateral(addressasset,booluseAsCollateral)external;" }, { "id": 1291, @@ -38829,13 +39131,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "liquidationCall(address, address, address, uint256, bool)", - "signature": "9da8de78", + "signature_raw": "liquidationCall(address,address,address,uint256,bool)", + "signature": "00a718a9", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_bool$", "type_string": "function(address,address,address,uint256,bool)" - } + }, + "text": "functionliquidationCall(addresscollateralAsset,addressdebtAsset,addressuser,uint256debtToCover,boolreceiveAToken)external;" }, { "id": 1306, @@ -39219,7 +39522,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetUserAccountData(addressuser)externalviewreturns(uint256totalCollateralETH,uint256totalDebtETH,uint256availableBorrowsETH,uint256currentLiquidationThreshold,uint256ltv,uint256healthFactor);" }, { "id": 1325, @@ -39557,13 +39861,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initReserve(address, address, address, address, address, address)", - "signature": "09874b12", + "signature_raw": "initReserve(address,address,address,address,address,address)", + "signature": "ac6abd4e", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_address$_t_address$_t_address$", "type_string": "function(address,address,address,address,address,address)" - } + }, + "text": "functioninitReserve(addressreserve,addressyieldAddress,addressaTokenAddress,addressstableDebtAddress,addressvariableDebtAddress,addressinterestRateStrategyAddress)externalpayable;" }, { "id": 1342, @@ -39725,13 +40030,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setReserveInterestRateStrategyAddress(address, address)", - "signature": "4a52041b", + "signature_raw": "setReserveInterestRateStrategyAddress(address,address)", + "signature": "1d2118f9", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionsetReserveInterestRateStrategyAddress(addressreserve,addressrateStrategyAddress)externalpayable;" }, { "id": 1351, @@ -39892,13 +40198,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setConfiguration(address, uint256)", - "signature": "6e2e1324", + "signature_raw": "setConfiguration(address,uint256)", + "signature": "b8d29276", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsetConfiguration(addressreserve,uint256configuration)externalpayable;" }, { "id": 1360, @@ -40088,7 +40395,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetConfiguration(addressasset)externalviewreturns(DataTypes.ReserveConfigurationMapmemory);" }, { "id": 1370, @@ -40278,7 +40586,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetUserConfiguration(addressuser)externalviewreturns(DataTypes.UserConfigurationMapmemory);" }, { "id": 1380, @@ -40447,7 +40756,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetReserveNormalizedIncome(addressasset)externalviewreturns(uint256);" }, { "id": 1389, @@ -40616,7 +40926,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetReserveNormalizedVariableDebt(addressasset)externalviewreturns(uint256);" }, { "id": 1398, @@ -40806,7 +41117,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetReserveData(addressasset)externalviewreturns(DataTypes.ReserveDatamemory);" }, { "id": 1408, @@ -41141,13 +41453,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "finalizeTransfer(address, address, address, uint256, uint256, uint256)", - "signature": "4bbf544c", + "signature_raw": "finalizeTransfer(address,address,address,uint256,uint256,uint256)", + "signature": "d5ed3933", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,address,address,uint256,uint256,uint256)" - } + }, + "text": "functionfinalizeTransfer(addressasset,addressfrom,addressto,uint256amount,uint256balanceFromAfter,uint256balanceToBefore)external;" }, { "id": 1425, @@ -41315,7 +41628,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetReservesList()externalviewreturns(address[]memory);" }, { "id": 1434, @@ -41525,7 +41839,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_ILendingPoolAddressesProvider_$720$", "type_string": "function(contract ILendingPoolAddressesProvider)" - } + }, + "text": "functiongetAddressesProvider()externalviewreturns(ILendingPoolAddressesProvider);" }, { "id": 1445, @@ -41648,7 +41963,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsetPause(boolval)externalpayable;" }, { "id": 1452, @@ -41816,7 +42132,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()externalviewreturns(bool);" } ], "linearized_base_contracts": [ @@ -41953,7 +42270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'33'" } }, { @@ -42016,7 +42334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'59'" } }, { @@ -42079,7 +42398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'1'" } }, { @@ -42142,7 +42462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'2'" } }, { @@ -42205,7 +42526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'3'" } }, { @@ -42268,7 +42590,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'4'" } }, { @@ -42331,7 +42654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'5'" } }, { @@ -42394,7 +42718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'6'" } }, { @@ -42457,7 +42782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'7'" } }, { @@ -42520,7 +42846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'8'" } }, { @@ -42583,7 +42910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'9'" } }, { @@ -42646,7 +42974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'10'" } }, { @@ -42709,7 +43038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'11'" } }, { @@ -42772,7 +43102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'12'" } }, { @@ -42835,7 +43166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'13'" } }, { @@ -42898,7 +43230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'14'" } }, { @@ -42961,7 +43294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'15'" } }, { @@ -43024,7 +43358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'16'" } }, { @@ -43087,7 +43422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'17'" } }, { @@ -43150,7 +43486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'18'" } }, { @@ -43213,7 +43550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'19'" } }, { @@ -43276,7 +43614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'20'" } }, { @@ -43339,7 +43678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'21'" } }, { @@ -43402,7 +43742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'22'" } }, { @@ -43465,7 +43806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'23'" } }, { @@ -43528,7 +43870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'24'" } }, { @@ -43591,7 +43934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'25'" } }, { @@ -43654,7 +43998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'26'" } }, { @@ -43717,7 +44062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'27'" } }, { @@ -43780,7 +44126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'28'" } }, { @@ -43843,7 +44190,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'29'" } }, { @@ -43906,7 +44254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'30'" } }, { @@ -43969,7 +44318,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'31'" } }, { @@ -44032,7 +44382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'32'" } }, { @@ -44095,7 +44446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'34'" } }, { @@ -44158,7 +44510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'35'" } }, { @@ -44221,7 +44574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'36'" } }, { @@ -44284,7 +44638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'37'" } }, { @@ -44347,7 +44702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'38'" } }, { @@ -44410,7 +44766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'39'" } }, { @@ -44473,7 +44830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'40'" } }, { @@ -44536,7 +44894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'75'" } }, { @@ -44599,7 +44958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'76'" } }, { @@ -44662,7 +45022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'41'" } }, { @@ -44725,7 +45086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'42'" } }, { @@ -44788,7 +45150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'43'" } }, { @@ -44851,7 +45214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'44'" } }, { @@ -44914,7 +45278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'45'" } }, { @@ -44977,7 +45342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'46'" } }, { @@ -45040,7 +45406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'47'" } }, { @@ -45103,7 +45470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'48'" } }, { @@ -45166,7 +45534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'49'" } }, { @@ -45229,7 +45598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'50'" } }, { @@ -45292,7 +45662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'51'" } }, { @@ -45355,7 +45726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'52'" } }, { @@ -45418,7 +45790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'53'" } }, { @@ -45481,7 +45854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'54'" } }, { @@ -45544,7 +45918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'55'" } }, { @@ -45607,7 +45982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'56'" } }, { @@ -45670,7 +46046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'57'" } }, { @@ -45733,7 +46110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'58'" } }, { @@ -45796,7 +46174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'60'" } }, { @@ -45859,7 +46238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'61'" } }, { @@ -45922,7 +46302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'62'" } }, { @@ -45985,7 +46366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'63'" } }, { @@ -46048,7 +46430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'64'" } }, { @@ -46111,7 +46494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'65'" } }, { @@ -46174,7 +46558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'66'" } }, { @@ -46237,7 +46622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'67'" } }, { @@ -46300,7 +46686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'68'" } }, { @@ -46363,7 +46750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'69'" } }, { @@ -46426,7 +46814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'70'" } }, { @@ -46489,7 +46878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'71'" } }, { @@ -46552,7 +46942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'72'" } }, { @@ -46615,7 +47006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'73'" } }, { @@ -46678,7 +47070,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'74'" } }, { @@ -46741,7 +47134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'77'" } }, { @@ -46804,7 +47198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'78'" } }, { @@ -46867,7 +47262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'79'" } }, { @@ -46930,7 +47326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'80'" } }, { @@ -46993,7 +47390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'81'" } }, { @@ -47056,7 +47454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'82'" } }, { @@ -47119,7 +47518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'83'" } }, { @@ -47182,7 +47582,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'84'" } }, { @@ -47245,7 +47646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'85'" } }, { @@ -47308,7 +47710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'86'" } }, { @@ -47371,7 +47774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'87'" } }, { @@ -47434,7 +47838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'88'" } }, { @@ -47497,7 +47902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'89'" } }, { @@ -47560,7 +47966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'90'" } }, { @@ -47623,7 +48030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'91'" } }, { @@ -47686,7 +48094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'92'" } }, { @@ -47749,7 +48158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'93'" } }, { @@ -47812,7 +48222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'94'" } }, { @@ -47875,7 +48286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'95'" } }, { @@ -47938,7 +48350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'96'" } }, { @@ -48001,7 +48414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'97'" } }, { @@ -48064,7 +48478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'98'" } }, { @@ -48127,7 +48542,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'99'" } }, { @@ -48190,7 +48606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'100'" } }, { @@ -48253,7 +48670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'101'" } }, { @@ -48316,7 +48734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'102'" } }, { @@ -48379,7 +48798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'103'" } }, { @@ -48442,7 +48862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'104'" } }, { @@ -48505,7 +48926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'105'" } }, { @@ -48568,7 +48990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'106'" } }, { @@ -48631,7 +49054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'107'" } }, { @@ -48694,7 +49118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'108'" } }, { @@ -48757,7 +49182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'109'" } }, { @@ -48820,7 +49246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'110'" } }, { @@ -48883,7 +49310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'111'" } }, { @@ -48946,7 +49374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'112'" } }, { @@ -49009,7 +49438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'113'" } }, { @@ -49072,7 +49502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'114'" } }, { @@ -49135,7 +49566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'115'" } }, { @@ -49198,7 +49630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'116'" } }, { @@ -49261,7 +49694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'117'" } }, { @@ -49324,7 +49758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'118'" } }, { @@ -49387,7 +49822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'119'" } }, { @@ -49450,7 +49886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'120'" } }, { @@ -49513,7 +49950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'121'" } }, { @@ -49576,7 +50014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'122'" } }, { @@ -49639,7 +50078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'123'" } }, { @@ -49702,7 +50142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "'125'" } }, { @@ -50118,7 +50559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e4" } }, { @@ -50193,7 +50635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1977, - "is_pure": false + "is_pure": false, + "text": "PERCENTAGE_FACTOR" }, "right_expression": { "id": 1985, @@ -50215,7 +50658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -50315,7 +50759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2000, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2001, @@ -50337,7 +50782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -50376,7 +50822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "percentage" }, "right_expression": { "id": 2004, @@ -50398,7 +50845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -50456,7 +50904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -50548,7 +50997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2013, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2014, @@ -50568,7 +51018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2014, - "is_pure": false + "is_pure": false, + "text": "percentage" }, "type_description": { "type_identifier": "t_uint256", @@ -50593,7 +51044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1981, - "is_pure": false + "is_pure": false, + "text": "HALF_PERCENT" }, "type_description": { "type_identifier": "t_uint256", @@ -50624,7 +51076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1977, - "is_pure": false + "is_pure": false, + "text": "PERCENTAGE_FACTOR" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -50801,13 +51254,14 @@ } ] }, - "signature_raw": "percentMul(uint256, uint256)", - "signature": "e7894eb3", + "signature_raw": "percentMul(uint256,uint256)", + "signature": "4bf6a8f0", "scope": 1975, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionpercentMul(uint256value,uint256percentage)internalpurereturns(uint256){if(value==0||percentage==0){return0;}return(value*percentage+HALF_PERCENT)/PERCENTAGE_FACTOR;}" }, { "id": 2018, @@ -50936,7 +51390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2032, - "is_pure": false + "is_pure": false, + "text": "percentage" }, "right_expression": { "id": 2033, @@ -50958,7 +51413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -51052,7 +51508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2039, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2040, @@ -51072,7 +51529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1977, - "is_pure": false + "is_pure": false, + "text": "PERCENTAGE_FACTOR" }, "type_description": { "type_identifier": "t_uint256", @@ -51097,7 +51555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2028, - "is_pure": false + "is_pure": false, + "text": "halfPercentage" }, "type_description": { "type_identifier": "t_uint256", @@ -51128,7 +51587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2042, - "is_pure": false + "is_pure": false, + "text": "percentage" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -51305,13 +51765,14 @@ } ] }, - "signature_raw": "percentDiv(uint256, uint256)", - "signature": "9d989b15", + "signature_raw": "percentDiv(uint256,uint256)", + "signature": "46c840bb", "scope": 1975, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionpercentDiv(uint256value,uint256percentage)internalpurereturns(uint256){uint256halfPercentage=percentage/2;return(value*PERCENTAGE_FACTOR+halfPercentage)/percentage;}" } ], "linearized_base_contracts": [ @@ -51554,7 +52015,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionpricePerShare()externalviewreturns(uint256);" }, { "id": 2057, @@ -51722,7 +52184,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionvaultYieldInPrice()externalviewreturns(uint256);" }, { "id": 2066, @@ -51928,13 +52391,14 @@ } ] }, - "signature_raw": "withdrawOnLiquidation(address, uint256)", - "signature": "236007cd", + "signature_raw": "withdrawOnLiquidation(address,uint256)", + "signature": "8954ff3f", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionwithdrawOnLiquidation(address_asset,uint256_amount)externalreturns(uint256);" }, { "id": 2077, @@ -52095,13 +52559,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "convertOnLiquidation(address, uint256)", - "signature": "b990a0b0", + "signature_raw": "convertOnLiquidation(address,uint256)", + "signature": "7a88caae", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionconvertOnLiquidation(address_assetOut,uint256_amountIn)external;" }, { "id": 2086, @@ -52179,7 +52644,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionprocessYield()external;" }, { "id": 2091, @@ -52347,7 +52813,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetYieldAmount()externalviewreturns(uint256);" }, { "id": 2100, @@ -52508,13 +52975,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setTreasuryInfo(address, uint256)", - "signature": "c9753789", + "signature_raw": "setTreasuryInfo(address,uint256)", + "signature": "2a2234f9", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsetTreasuryInfo(address_treasury,uint256_fee)external;" }, { "id": 2109, @@ -52675,13 +53143,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "depositCollateral(address, uint256)", - "signature": "951c5bef", + "signature_raw": "depositCollateral(address,uint256)", + "signature": "a5d5db0c", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondepositCollateral(address_asset,uint256_amount)externalpayable;" }, { "id": 2118, @@ -52886,13 +53355,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "depositCollateralFrom(address, uint256, address)", - "signature": "91201686", + "signature_raw": "depositCollateralFrom(address,uint256,address)", + "signature": "259f2d01", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functiondepositCollateralFrom(address_asset,uint256_amount,address_user)externalpayable;" }, { "id": 2129, @@ -53140,13 +53610,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "withdrawCollateral(address, uint256, uint256, address)", - "signature": "c5478f4b", + "signature_raw": "withdrawCollateral(address,uint256,uint256,address)", + "signature": "a5fdfc63", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$", "type_string": "function(address,uint256,uint256,address)" - } + }, + "text": "functionwithdrawCollateral(address_asset,uint256_amount,uint256_slippage,address_to)external;" } ], "linearized_base_contracts": [ @@ -53390,7 +53861,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionscaledBalanceOf(addressuser)externalviewreturns(uint256);" }, { "id": 2155, @@ -53602,7 +54074,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetScaledUserBalanceAndSupply(addressuser)externalviewreturns(uint256,uint256);" }, { "id": 2166, @@ -53770,7 +54243,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionscaledTotalSupply()externalviewreturns(uint256);" } ], "linearized_base_contracts": [ @@ -54725,7 +55199,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAssetData(addressasset)externalviewreturns(uint256,uint256,uint256);" }, { "id": 2226, @@ -54887,13 +55362,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setClaimer(address, address)", - "signature": "903478f1", + "signature_raw": "setClaimer(address,address)", + "signature": "f5cf673b", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionsetClaimer(addressuser,addressclaimer)externalpayable;" }, { "id": 2235, @@ -55063,7 +55539,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetClaimer(addressuser)externalviewreturns(address);" }, { "id": 2244, @@ -55223,13 +55700,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "configureAssets(address, uint256)", - "signature": "407b5d84", + "signature_raw": "configureAssets(address,uint256)", + "signature": "ac008d80", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionconfigureAssets(address[]calldataassets,uint256[]calldataemissionsPerSecond)externalpayable;" }, { "id": 2253, @@ -55433,13 +55911,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "handleAction(address, uint256, uint256)", - "signature": "af219a31", + "signature_raw": "handleAction(address,uint256,uint256)", + "signature": "31873e2e", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256)" - } + }, + "text": "functionhandleAction(addressuser,uint256totalSupply,uint256userBalance)external;" }, { "id": 2264, @@ -55645,13 +56124,14 @@ } ] }, - "signature_raw": "getRewardsBalance(address, address)", - "signature": "f05d98fa", + "signature_raw": "getRewardsBalance(address,address)", + "signature": "6e9ecad4", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetRewardsBalance(address[]calldataassets,addressuser)externalviewreturns(uint256);" }, { "id": 2275, @@ -55900,13 +56380,14 @@ } ] }, - "signature_raw": "claimRewards(address, uint256, address)", - "signature": "024303bb", + "signature_raw": "claimRewards(address,uint256,address)", + "signature": "46016506", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functionclaimRewards(address[]calldataassets,uint256amount,addressto)externalreturns(uint256);" }, { "id": 2288, @@ -56199,13 +56680,14 @@ } ] }, - "signature_raw": "claimRewardsOnBehalf(address, uint256, address, address)", - "signature": "ff80e62c", + "signature_raw": "claimRewardsOnBehalf(address,uint256,address,address)", + "signature": "1d31c89f", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_address$", "type_string": "function(address,uint256,address,address)" - } + }, + "text": "functionclaimRewardsOnBehalf(address[]calldataassets,uint256amount,addressuser,addressto)externalreturns(uint256);" }, { "id": 2303, @@ -56374,7 +56856,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetUserUnclaimedRewards(addressuser)externalviewreturns(uint256);" }, { "id": 2312, @@ -56581,13 +57064,14 @@ } ] }, - "signature_raw": "getUserAssetData(address, address)", - "signature": "5b9502d0", + "signature_raw": "getUserAssetData(address,address)", + "signature": "3373ee4c", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetUserAssetData(addressuser,addressasset)externalviewreturns(uint256);" }, { "id": 2323, @@ -56757,7 +57241,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionREWARD_TOKEN()externalviewreturns(address);" }, { "id": 2332, @@ -56925,7 +57410,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functionPRECISION()externalviewreturns(uint8);" }, { "id": 2341, @@ -57093,7 +57579,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionDISTRIBUTION_END()externalviewreturns(uint256);" } ], "linearized_base_contracts": [ @@ -58014,13 +58501,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(, address, address, , uint8, string, string, bytes)", - "signature": "80ea45a4", + "signature_raw": "initialize(,address,address,,uint8,string,string,bytes)", + "signature": "d33941f6", "scope": 2352, "type_description": { "type_identifier": "t_function_$_t_contract$_ILendingPool_$1023$_t_address$_t_address$_t_contract$_ISturdyIncentivesController_$2174$_t_uint8$_t_string$_t_string$_t_bytes$", "type_string": "function(contract ILendingPool,address,address,contract ISturdyIncentivesController,uint8,string,string,bytes)" - } + }, + "text": "functioninitialize(ILendingPoolpool,addresstreasury,addressunderlyingAsset,ISturdyIncentivesControllerincentivesController,uint8aTokenDecimals,stringcalldataaTokenName,stringcalldataaTokenSymbol,bytescalldataparams)external;" } ], "linearized_base_contracts": [ @@ -58603,13 +59091,14 @@ } ] }, - "signature_raw": "mint(address, uint256, uint256)", - "signature": "1146be74", + "signature_raw": "mint(address,uint256,uint256)", + "signature": "156e29f6", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256)" - } + }, + "text": "functionmint(addressuser,uint256amount,uint256index)externalpayablereturns(bool);" }, { "id": 2428, @@ -59277,13 +59766,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "burn(address, address, uint256, uint256)", - "signature": "6aa2d810", + "signature_raw": "burn(address,address,uint256,uint256)", + "signature": "d7020d0a", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,uint256,uint256)" - } + }, + "text": "functionburn(addressuser,addressreceiverOfUnderlying,uint256amount,uint256index)externalpayable;" }, { "id": 2463, @@ -59443,13 +59933,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "mintToTreasury(uint256, uint256)", - "signature": "48150abe", + "signature_raw": "mintToTreasury(uint256,uint256)", + "signature": "7df5bd3b", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmintToTreasury(uint256amount,uint256index)externalpayable;" }, { "id": 2472, @@ -59654,13 +60145,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferOnLiquidation(address, address, uint256)", - "signature": "62da2670", + "signature_raw": "transferOnLiquidation(address,address,uint256)", + "signature": "f866c319", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferOnLiquidation(addressfrom,addressto,uint256value)externalpayable;" }, { "id": 2483, @@ -59866,13 +60358,14 @@ } ] }, - "signature_raw": "transferUnderlyingTo(address, uint256)", - "signature": "76b50fc4", + "signature_raw": "transferUnderlyingTo(address,uint256)", + "signature": "4efecaa5", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransferUnderlyingTo(addressuser,uint256amount)externalpayablereturns(uint256);" }, { "id": 2494, @@ -60033,13 +60526,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "handleRepayment(address, uint256)", - "signature": "289108a3", + "signature_raw": "handleRepayment(address,uint256)", + "signature": "88dd91a1", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionhandleRepayment(addressuser,uint256amount)external;" }, { "id": 2503, @@ -60249,7 +60743,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_ISturdyIncentivesController_$2174$", "type_string": "function(contract ISturdyIncentivesController)" - } + }, + "text": "functiongetIncentivesController()externalviewreturns(ISturdyIncentivesController);" }, { "id": 2514, @@ -60419,7 +60914,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionUNDERLYING_ASSET_ADDRESS()externalviewreturns(address);" } ], "linearized_base_contracts": [ @@ -60915,13 +61411,14 @@ } ] }, - "signature_raw": "executeOperation(address, uint256, uint256, address, bytes)", - "signature": "b379d6b5", + "signature_raw": "executeOperation(address,uint256,uint256,address,bytes)", + "signature": "1b11d0ff", "scope": 2525, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(address,uint256,uint256,address,bytes)" - } + }, + "text": "functionexecuteOperation(address[]calldataassets,uint256[]calldataamounts,uint256[]calldatapremiums,addressinitiator,bytescalldataparams)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -61256,13 +61753,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "receiveFlashLoan(IERC20, uint256, uint256, bytes)", - "signature": "598145d7", + "signature_raw": "receiveFlashLoan(IERC20,uint256,uint256,bytes)", + "signature": "41664784", "scope": 2546, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_uint256$_t_uint256$_t_bytes$", "type_string": "function(contract IERC20,uint256,uint256,bytes)" - } + }, + "text": "functionreceiveFlashLoan(IERC20[]memorytokens,uint256[]memoryamounts,uint256[]memoryfeeAmounts,bytesmemoryuserData)external;" } ], "linearized_base_contracts": [ @@ -61544,13 +62042,14 @@ } ] }, - "signature_raw": "whitelistUser(address, address)", - "signature": "4ef8005e", + "signature_raw": "whitelistUser(address,address)", + "signature": "2fa8673b", "scope": 2564, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionwhitelistUser(addressvault,addressuser)externalviewreturns(bool);" }, { "id": 2577, @@ -61719,7 +62218,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwhitelistUserCount(addressvault)externalviewreturns(uint256);" }, { "id": 2586, @@ -61926,13 +62426,14 @@ } ] }, - "signature_raw": "whitelistContract(address, address)", - "signature": "3d6ef831", + "signature_raw": "whitelistContract(address,address)", + "signature": "537084c7", "scope": 2564, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionwhitelistContract(addressvault,addresssender)externalviewreturns(bool);" } ], "linearized_base_contracts": [ @@ -62384,13 +62885,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "flashLoan(address, address, uint256, uint256, address, bytes, uint16)", - "signature": "1d3c48ff", + "signature_raw": "flashLoan(address,address,uint256,uint256,address,bytes,uint16)", + "signature": "03a2b952", "scope": 2599, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_address$_t_bytes$_t_uint16$", "type_string": "function(address,address,uint256,uint256,address,bytes,uint16)" - } + }, + "text": "functionflashLoan(addressreceiverAddress,address[]calldataassets,uint256[]calldataamounts,uint256[]calldatamodes,addressonBehalfOf,bytescalldataparams,uint16referralCode)external;" } ], "linearized_base_contracts": [ @@ -62801,7 +63303,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetPool(bytes32poolId)externalviewreturns(address,PoolSpecialization);" }, { "id": 2641, @@ -63198,13 +63701,14 @@ } ] }, - "signature_raw": "swap(, , uint256, uint256)", - "signature": "ca35fd42", + "signature_raw": "swap(,,uint256,uint256)", + "signature": "88ba5382", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_unknown_2645$_t_unknown_2645$_t_uint256$_t_uint256$", "type_string": "function(unknown_2645,unknown_2645,uint256,uint256)" - } + }, + "text": "functionswap(SingleSwapmemorysingleSwap,FundManagementmemoryfunds,uint256limit,uint256deadline)externalpayablereturns(uint256);" }, { "id": 2662, @@ -63931,13 +64435,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "exitPool(bytes32, address, addresspayable, )", - "signature": "1123eb9d", + "signature_raw": "exitPool(bytes32,address,addresspayable,)", + "signature": "61c9a6c9", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$_t_address_payable$_t_unknown_2687$", "type_string": "function(bytes32,address,address,unknown_2687)" - } + }, + "text": "functionexitPool(bytes32poolId,addresssender,addresspayablerecipient,ExitPoolRequestmemoryrequest)external;" }, { "id": 2701, @@ -64475,13 +64980,14 @@ } ] }, - "signature_raw": "getPoolTokenInfo(bytes32, )", - "signature": "d2da8c07", + "signature_raw": "getPoolTokenInfo(bytes32,)", + "signature": "5263ae0c", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_contract$_IERC20_$368$", "type_string": "function(bytes32,contract IERC20)" - } + }, + "text": "functiongetPoolTokenInfo(bytes32poolId,IERC20token)externalviewreturns(uint256cash,uint256managed,uint256lastChangeBlock,addressassetManager);" }, { "id": 2729, @@ -64735,7 +65241,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetPoolTokens(bytes32poolId)externalviewreturns(address[]memorytokens,uint256[]memorybalances,uint256lastChangeBlock);" }, { "id": 2742, @@ -65388,13 +65895,14 @@ } ] }, - "signature_raw": "batchSwap(, BatchSwapStep, address, , int256, uint256)", - "signature": "0f6e0f15", + "signature_raw": "batchSwap(,BatchSwapStep,address,,int256,uint256)", + "signature": "6c3ff276", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_enum_$_SwapKind_$2641$_t_struct$_IBalancerVault_BatchSwapStep_$2742$_t_address$_t_struct$_IBalancerVault_FundManagement_$2677$_t_int256$_t_uint256$", "type_string": "function(enum IBalancerVault.SwapKind,struct IBalancerVault.BatchSwapStep,address,struct IBalancerVault.FundManagement,int256,uint256)" - } + }, + "text": "functionbatchSwap(SwapKindkind,BatchSwapStep[]memoryswaps,address[]memoryassets,FundManagementmemoryfunds,int256[]memorylimits,uint256deadline)externalpayablereturns(int256[]memory);" }, { "id": 2776, @@ -65655,13 +66163,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "flashLoan(address, IERC20, uint256, bytes)", - "signature": "d60783fe", + "signature_raw": "flashLoan(address,IERC20,uint256,bytes)", + "signature": "0207ab6d", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_address$_t_contract$_IERC20_$368$_t_uint256$_t_bytes$", "type_string": "function(address,contract IERC20,uint256,bytes)" - } + }, + "text": "functionflashLoan(addressrecipient,IERC20[]memorytokens,uint256[]memoryamounts,bytesmemoryuserData)external;" } ], "linearized_base_contracts": [ @@ -65798,7 +66307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000" } }, { @@ -65861,7 +66371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF" } }, { @@ -65924,7 +66435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFF" } }, { @@ -65987,7 +66499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF" } }, { @@ -66050,7 +66563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFF" } }, { @@ -66113,7 +66627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFF" } }, { @@ -66176,7 +66691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFF" } }, { @@ -66239,7 +66755,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFF" } }, { @@ -66302,7 +66819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF" } }, { @@ -66365,7 +66883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFF" } }, { @@ -66428,7 +66947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "16" } }, { @@ -66491,7 +67011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "32" } }, { @@ -66554,7 +67075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" } }, { @@ -66617,7 +67139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "56" } }, { @@ -66680,7 +67203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "57" } }, { @@ -66743,7 +67267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "58" } }, { @@ -66806,7 +67331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "59" } }, { @@ -66869,7 +67395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "60" } }, { @@ -66932,7 +67459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } }, { @@ -66995,7 +67523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -67058,7 +67587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -67121,7 +67651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -67184,7 +67715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "255" } }, { @@ -67247,7 +67779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -67340,7 +67873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2902, - "is_pure": false + "is_pure": false, + "text": "ltv" }, "right_expression": { "id": 2903, @@ -67360,7 +67894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2870, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_LTV" }, "type_description": { "type_identifier": "t_bool", @@ -67408,7 +67943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_LTV", "argument_types": [ @@ -67420,7 +67956,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_LTV" } ], "expression": { @@ -67441,7 +67978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -67512,14 +68050,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2909, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 2911, @@ -67600,14 +68140,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2916, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 2917, @@ -67627,7 +68169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2794, - "is_pure": false + "is_pure": false, + "text": "LTV_MASK" } ], "type_descriptions": [ @@ -67665,7 +68208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2918, - "is_pure": false + "is_pure": false, + "text": "ltv" } ], "type_descriptions": [ @@ -67687,7 +68231,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026LTV_MASK)|ltv;" } ] }, @@ -67834,13 +68379,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setLtv(, uint256)", - "signature": "27846df4", + "signature_raw": "setLtv(,uint256)", + "signature": "3a7c6a57", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetLtv(DataTypes.ReserveConfigurationMapmemoryself,uint256ltv)internalpure{require(ltv\u003c=MAX_VALID_LTV,Errors.RC_INVALID_LTV);self.data=(self.data\u0026LTV_MASK)|ltv;}" }, { "id": 2920, @@ -67942,14 +68488,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2933, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 2934, @@ -67987,7 +68535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2794, - "is_pure": false + "is_pure": false, + "text": "LTV_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -68160,7 +68709,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetLtv(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){returnself.data\u0026~LTV_MASK;}" }, { "id": 2937, @@ -68252,7 +68802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2949, - "is_pure": false + "is_pure": false, + "text": "threshold" }, "right_expression": { "id": 2950, @@ -68272,7 +68823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2874, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_LIQUIDATION_THRESHOLD" }, "type_description": { "type_identifier": "t_bool", @@ -68320,7 +68872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_LIQ_THRESHOLD", "argument_types": [ @@ -68332,7 +68885,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_LIQ_THRESHOLD" } ], "expression": { @@ -68353,7 +68907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -68424,14 +68979,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2956, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 2958, @@ -68512,14 +69069,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2963, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 2964, @@ -68539,7 +69098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2798, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_MASK" } ], "type_descriptions": [ @@ -68604,7 +69164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2968, - "is_pure": false + "is_pure": false, + "text": "threshold" }, { "id": 2969, @@ -68624,7 +69185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_START_BIT_POSITION" } ], "type_descriptions": [ @@ -68668,7 +69230,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026LIQUIDATION_THRESHOLD_MASK)|(threshold\u003c\u003cLIQUIDATION_THRESHOLD_START_BIT_POSITION);" } ] }, @@ -68815,13 +69378,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setLiquidationThreshold(, uint256)", - "signature": "5d3b1d33", + "signature_raw": "setLiquidationThreshold(,uint256)", + "signature": "6199ca5b", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetLiquidationThreshold(DataTypes.ReserveConfigurationMapmemoryself,uint256threshold)internalpure{require(threshold\u003c=MAX_VALID_LIQUIDATION_THRESHOLD,Errors.RC_INVALID_LIQ_THRESHOLD);self.data=(self.data\u0026LIQUIDATION_THRESHOLD_MASK)|(threshold\u003c\u003cLIQUIDATION_THRESHOLD_START_BIT_POSITION);}" }, { "id": 2971, @@ -68950,14 +69514,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2987, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 2988, @@ -68995,7 +69561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2798, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -69038,7 +69605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_START_BIT_POSITION" } ], "type_descriptions": [ @@ -69210,7 +69778,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetLiquidationThreshold(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){return(self.data\u0026~LIQUIDATION_THRESHOLD_MASK)\u003e\u003eLIQUIDATION_THRESHOLD_START_BIT_POSITION;}" }, { "id": 2992, @@ -69302,7 +69871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3004, - "is_pure": false + "is_pure": false, + "text": "bonus" }, "right_expression": { "id": 3005, @@ -69322,7 +69892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2878, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_LIQUIDATION_BONUS" }, "type_description": { "type_identifier": "t_bool", @@ -69370,7 +69941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_LIQ_BONUS", "argument_types": [ @@ -69382,7 +69954,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_LIQ_BONUS" } ], "expression": { @@ -69403,7 +69976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -69474,14 +70048,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3011, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3013, @@ -69562,14 +70138,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3018, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3019, @@ -69589,7 +70167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2802, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_MASK" } ], "type_descriptions": [ @@ -69654,7 +70233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3023, - "is_pure": false + "is_pure": false, + "text": "bonus" }, { "id": 3024, @@ -69674,7 +70254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2838, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -69718,7 +70299,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026LIQUIDATION_BONUS_MASK)|(bonus\u003c\u003cLIQUIDATION_BONUS_START_BIT_POSITION);" } ] }, @@ -69865,13 +70447,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setLiquidationBonus(, uint256)", - "signature": "952635cd", + "signature_raw": "setLiquidationBonus(,uint256)", + "signature": "b5b937a0", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetLiquidationBonus(DataTypes.ReserveConfigurationMapmemoryself,uint256bonus)internalpure{require(bonus\u003c=MAX_VALID_LIQUIDATION_BONUS,Errors.RC_INVALID_LIQ_BONUS);self.data=(self.data\u0026LIQUIDATION_BONUS_MASK)|(bonus\u003c\u003cLIQUIDATION_BONUS_START_BIT_POSITION);}" }, { "id": 3026, @@ -70000,14 +70583,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3042, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3043, @@ -70045,7 +70630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2802, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -70088,7 +70674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2838, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -70260,7 +70847,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetLiquidationBonus(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){return(self.data\u0026~LIQUIDATION_BONUS_MASK)\u003e\u003eLIQUIDATION_BONUS_START_BIT_POSITION;}" }, { "id": 3047, @@ -70352,7 +70940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3059, - "is_pure": false + "is_pure": false, + "text": "decimals" }, "right_expression": { "id": 3060, @@ -70372,7 +70961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2882, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_DECIMALS" }, "type_description": { "type_identifier": "t_bool", @@ -70420,7 +71010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_DECIMALS", "argument_types": [ @@ -70432,7 +71023,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_DECIMALS" } ], "expression": { @@ -70453,7 +71045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -70524,14 +71117,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3066, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3068, @@ -70612,14 +71207,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3073, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3074, @@ -70639,7 +71236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2806, - "is_pure": false + "is_pure": false, + "text": "DECIMALS_MASK" } ], "type_descriptions": [ @@ -70704,7 +71302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3078, - "is_pure": false + "is_pure": false, + "text": "decimals" }, { "id": 3079, @@ -70724,7 +71323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2842, - "is_pure": false + "is_pure": false, + "text": "RESERVE_DECIMALS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -70768,7 +71368,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026DECIMALS_MASK)|(decimals\u003c\u003cRESERVE_DECIMALS_START_BIT_POSITION);" } ] }, @@ -70915,13 +71516,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setDecimals(, uint256)", - "signature": "f3b10448", + "signature_raw": "setDecimals(,uint256)", + "signature": "d2cd9769", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetDecimals(DataTypes.ReserveConfigurationMapmemoryself,uint256decimals)internalpure{require(decimals\u003c=MAX_VALID_DECIMALS,Errors.RC_INVALID_DECIMALS);self.data=(self.data\u0026DECIMALS_MASK)|(decimals\u003c\u003cRESERVE_DECIMALS_START_BIT_POSITION);}" }, { "id": 3081, @@ -71050,14 +71652,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3097, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3098, @@ -71095,7 +71699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2806, - "is_pure": false + "is_pure": false, + "text": "DECIMALS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -71138,7 +71743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2842, - "is_pure": false + "is_pure": false, + "text": "RESERVE_DECIMALS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -71310,7 +71916,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetDecimals(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){return(self.data\u0026~DECIMALS_MASK)\u003e\u003eRESERVE_DECIMALS_START_BIT_POSITION;}" }, { "id": 3102, @@ -71411,14 +72018,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3114, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3116, @@ -71499,14 +72108,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3121, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3122, @@ -71526,7 +72137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2810, - "is_pure": false + "is_pure": false, + "text": "ACTIVE_MASK" } ], "type_descriptions": [ @@ -71622,7 +72234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3131, - "is_pure": false + "is_pure": false, + "text": "active" }, { "id": 3132, @@ -71644,7 +72257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3133, @@ -71666,7 +72280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -71728,7 +72343,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -71753,7 +72369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2846, - "is_pure": false + "is_pure": false, + "text": "IS_ACTIVE_START_BIT_POSITION" } ], "type_descriptions": [ @@ -71797,7 +72414,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026ACTIVE_MASK)|(uint256(active?1:0)\u003c\u003cIS_ACTIVE_START_BIT_POSITION);" } ] }, @@ -71944,13 +72562,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setActive(, bool)", - "signature": "03064b9f", + "signature_raw": "setActive(,bool)", + "signature": "7600ceff", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetActive(DataTypes.ReserveConfigurationMapmemoryself,boolactive)internalpure{self.data=(self.data\u0026ACTIVE_MASK)|(uint256(active?1:0)\u003c\u003cIS_ACTIVE_START_BIT_POSITION);}" }, { "id": 3136, @@ -72080,14 +72699,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3151, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3152, @@ -72125,7 +72746,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2810, - "is_pure": false + "is_pure": false, + "text": "ACTIVE_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -72170,7 +72792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -72331,7 +72954,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetActive(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~ACTIVE_MASK)!=0;}" }, { "id": 3156, @@ -72432,14 +73056,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3168, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3170, @@ -72520,14 +73146,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3175, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3176, @@ -72547,7 +73175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2814, - "is_pure": false + "is_pure": false, + "text": "FROZEN_MASK" } ], "type_descriptions": [ @@ -72643,7 +73272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3185, - "is_pure": false + "is_pure": false, + "text": "frozen" }, { "id": 3186, @@ -72665,7 +73295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3187, @@ -72687,7 +73318,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -72749,7 +73381,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -72774,7 +73407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2850, - "is_pure": false + "is_pure": false, + "text": "IS_FROZEN_START_BIT_POSITION" } ], "type_descriptions": [ @@ -72818,7 +73452,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026FROZEN_MASK)|(uint256(frozen?1:0)\u003c\u003cIS_FROZEN_START_BIT_POSITION);" } ] }, @@ -72965,13 +73600,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setFrozen(, bool)", - "signature": "00082d16", + "signature_raw": "setFrozen(,bool)", + "signature": "136cba3f", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetFrozen(DataTypes.ReserveConfigurationMapmemoryself,boolfrozen)internalpure{self.data=(self.data\u0026FROZEN_MASK)|(uint256(frozen?1:0)\u003c\u003cIS_FROZEN_START_BIT_POSITION);}" }, { "id": 3190, @@ -73101,14 +73737,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3205, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3206, @@ -73146,7 +73784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2814, - "is_pure": false + "is_pure": false, + "text": "FROZEN_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -73191,7 +73830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -73352,7 +73992,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetFrozen(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~FROZEN_MASK)!=0;}" }, { "id": 3210, @@ -73453,14 +74094,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3222, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3224, @@ -73541,14 +74184,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3229, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3230, @@ -73568,7 +74213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2818, - "is_pure": false + "is_pure": false, + "text": "BORROWING_MASK" } ], "type_descriptions": [ @@ -73664,7 +74310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3239, - "is_pure": false + "is_pure": false, + "text": "enabled" }, { "id": 3240, @@ -73686,7 +74333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3241, @@ -73708,7 +74356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -73770,7 +74419,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -73795,7 +74445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2854, - "is_pure": false + "is_pure": false, + "text": "BORROWING_ENABLED_START_BIT_POSITION" } ], "type_descriptions": [ @@ -73839,7 +74490,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026BORROWING_MASK)|(uint256(enabled?1:0)\u003c\u003cBORROWING_ENABLED_START_BIT_POSITION);" } ] }, @@ -73986,13 +74638,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setBorrowingEnabled(, bool)", - "signature": "37ad629f", + "signature_raw": "setBorrowingEnabled(,bool)", + "signature": "efc3a6fc", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetBorrowingEnabled(DataTypes.ReserveConfigurationMapmemoryself,boolenabled)internalpure{self.data=(self.data\u0026BORROWING_MASK)|(uint256(enabled?1:0)\u003c\u003cBORROWING_ENABLED_START_BIT_POSITION);}" }, { "id": 3244, @@ -74122,14 +74775,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3259, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3260, @@ -74167,7 +74822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2818, - "is_pure": false + "is_pure": false, + "text": "BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -74212,7 +74868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -74373,7 +75030,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetBorrowingEnabled(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~BORROWING_MASK)!=0;}" }, { "id": 3264, @@ -74474,14 +75132,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3276, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3278, @@ -74562,14 +75222,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3283, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3284, @@ -74589,7 +75251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2830, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_MASK" } ], "type_descriptions": [ @@ -74685,7 +75348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3293, - "is_pure": false + "is_pure": false, + "text": "enabled" }, { "id": 3294, @@ -74707,7 +75371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3295, @@ -74729,7 +75394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -74791,7 +75457,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -74816,7 +75483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2862, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_ENABLED_START_BIT_POSITION" } ], "type_descriptions": [ @@ -74860,7 +75528,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026COLLATERAL_MASK)|(uint256(enabled?1:0)\u003c\u003cCOLLATERAL_ENABLED_START_BIT_POSITION);" } ] }, @@ -75007,13 +75676,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setCollateralEnabled(, bool)", - "signature": "4252e482", + "signature_raw": "setCollateralEnabled(,bool)", + "signature": "842900b8", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetCollateralEnabled(DataTypes.ReserveConfigurationMapmemoryself,boolenabled)internalpure{self.data=(self.data\u0026COLLATERAL_MASK)|(uint256(enabled?1:0)\u003c\u003cCOLLATERAL_ENABLED_START_BIT_POSITION);}" }, { "id": 3298, @@ -75143,14 +75813,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3313, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3314, @@ -75188,7 +75860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2830, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -75233,7 +75906,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -75394,7 +76068,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetCollateralEnabled(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~COLLATERAL_MASK)!=0;}" }, { "id": 3318, @@ -75495,14 +76170,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3330, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3332, @@ -75583,14 +76260,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3337, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3338, @@ -75610,7 +76289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2822, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_MASK" } ], "type_descriptions": [ @@ -75706,7 +76386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3347, - "is_pure": false + "is_pure": false, + "text": "enabled" }, { "id": 3348, @@ -75728,7 +76409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3349, @@ -75750,7 +76432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -75812,7 +76495,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -75837,7 +76521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2858, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_ENABLED_START_BIT_POSITION" } ], "type_descriptions": [ @@ -75881,7 +76566,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026STABLE_BORROWING_MASK)|(uint256(enabled?1:0)\u003c\u003cSTABLE_BORROWING_ENABLED_START_BIT_POSITION);" } ] }, @@ -76028,13 +76714,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setStableRateBorrowingEnabled(, bool)", - "signature": "bb7852ac", + "signature_raw": "setStableRateBorrowingEnabled(,bool)", + "signature": "8f2e9880", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetStableRateBorrowingEnabled(DataTypes.ReserveConfigurationMapmemoryself,boolenabled)internalpure{self.data=(self.data\u0026STABLE_BORROWING_MASK)|(uint256(enabled?1:0)\u003c\u003cSTABLE_BORROWING_ENABLED_START_BIT_POSITION);}" }, { "id": 3352, @@ -76164,14 +76851,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3367, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3368, @@ -76209,7 +76898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2822, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -76254,7 +76944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -76415,7 +77106,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetStableRateBorrowingEnabled(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~STABLE_BORROWING_MASK)!=0;}" }, { "id": 3372, @@ -76507,7 +77199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3384, - "is_pure": false + "is_pure": false, + "text": "reserveFactor" }, "right_expression": { "id": 3385, @@ -76527,7 +77220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2886, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_RESERVE_FACTOR" }, "type_description": { "type_identifier": "t_bool", @@ -76575,7 +77269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_RESERVE_FACTOR", "argument_types": [ @@ -76587,7 +77282,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_RESERVE_FACTOR" } ], "expression": { @@ -76608,7 +77304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -76679,14 +77376,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3391, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3393, @@ -76767,14 +77466,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3398, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3399, @@ -76794,7 +77495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2826, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_MASK" } ], "type_descriptions": [ @@ -76859,7 +77561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3403, - "is_pure": false + "is_pure": false, + "text": "reserveFactor" }, { "id": 3404, @@ -76879,7 +77582,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2866, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_START_BIT_POSITION" } ], "type_descriptions": [ @@ -76923,7 +77627,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026RESERVE_FACTOR_MASK)|(reserveFactor\u003c\u003cRESERVE_FACTOR_START_BIT_POSITION);" } ] }, @@ -77070,13 +77775,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setReserveFactor(, uint256)", - "signature": "5fea3056", + "signature_raw": "setReserveFactor(,uint256)", + "signature": "5626e796", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetReserveFactor(DataTypes.ReserveConfigurationMapmemoryself,uint256reserveFactor)internalpure{require(reserveFactor\u003c=MAX_VALID_RESERVE_FACTOR,Errors.RC_INVALID_RESERVE_FACTOR);self.data=(self.data\u0026RESERVE_FACTOR_MASK)|(reserveFactor\u003c\u003cRESERVE_FACTOR_START_BIT_POSITION);}" }, { "id": 3406, @@ -77205,14 +77911,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3422, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3423, @@ -77250,7 +77958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2826, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -77293,7 +78002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2866, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_START_BIT_POSITION" } ], "type_descriptions": [ @@ -77465,7 +78175,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetReserveFactor(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){return(self.data\u0026~RESERVE_FACTOR_MASK)\u003e\u003eRESERVE_FACTOR_START_BIT_POSITION;}" }, { "id": 3427, @@ -77603,14 +78314,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3448, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" } }, { @@ -77697,7 +78410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3456, @@ -77735,7 +78449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2810, - "is_pure": false + "is_pure": false, + "text": "ACTIVE_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -77780,7 +78495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -77845,7 +78561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3464, @@ -77883,7 +78600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2814, - "is_pure": false + "is_pure": false, + "text": "FROZEN_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -77928,7 +78646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -77993,7 +78712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3472, @@ -78031,7 +78751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2818, - "is_pure": false + "is_pure": false, + "text": "BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -78076,7 +78797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -78141,7 +78863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3480, @@ -78179,7 +78902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2822, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -78224,7 +78948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -78289,7 +79014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3488, @@ -78327,7 +79053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2830, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -78372,7 +79099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -78711,7 +79439,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetFlags(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool,bool,bool,bool,bool){uint256dataLocal=self.data;return((dataLocal\u0026~ACTIVE_MASK)!=0,(dataLocal\u0026~FROZEN_MASK)!=0,(dataLocal\u0026~BORROWING_MASK)!=0,(dataLocal\u0026~STABLE_BORROWING_MASK)!=0,(dataLocal\u0026~COLLATERAL_MASK)!=0);}" }, { "id": 3492, @@ -78849,14 +79578,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3513, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" } }, { @@ -78915,7 +79646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3519, @@ -78953,7 +79685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2794, - "is_pure": false + "is_pure": false, + "text": "LTV_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -79029,7 +79762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3527, @@ -79067,7 +79801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2798, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -79110,7 +79845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_START_BIT_POSITION" } ], "type_descriptions": [ @@ -79185,7 +79921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3536, @@ -79223,7 +79960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2802, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -79266,7 +80004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2838, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -79341,7 +80080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3545, @@ -79379,7 +80119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2806, - "is_pure": false + "is_pure": false, + "text": "DECIMALS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -79422,7 +80163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2842, - "is_pure": false + "is_pure": false, + "text": "RESERVE_DECIMALS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -79497,7 +80239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3554, @@ -79535,7 +80278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2826, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -79578,7 +80322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2866, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_START_BIT_POSITION" } ], "type_descriptions": [ @@ -79928,7 +80673,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetParams(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256,uint256,uint256,uint256,uint256){uint256dataLocal=self.data;return(dataLocal\u0026~LTV_MASK,(dataLocal\u0026~LIQUIDATION_THRESHOLD_MASK)\u003e\u003eLIQUIDATION_THRESHOLD_START_BIT_POSITION,(dataLocal\u0026~LIQUIDATION_BONUS_MASK)\u003e\u003eLIQUIDATION_BONUS_START_BIT_POSITION,(dataLocal\u0026~DECIMALS_MASK)\u003e\u003eRESERVE_DECIMALS_START_BIT_POSITION,(dataLocal\u0026~RESERVE_FACTOR_MASK)\u003e\u003eRESERVE_FACTOR_START_BIT_POSITION);}" }, { "id": 3558, @@ -80044,14 +80790,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3580, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3581, @@ -80089,7 +80837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2794, - "is_pure": false + "is_pure": false, + "text": "LTV_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -80188,14 +80937,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3589, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3590, @@ -80233,7 +80984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2798, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -80276,7 +81028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_START_BIT_POSITION" } ], "type_descriptions": [ @@ -80374,14 +81127,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3599, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3600, @@ -80419,7 +81174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2802, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -80462,7 +81218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2838, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -80560,14 +81317,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3609, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3610, @@ -80605,7 +81364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2806, - "is_pure": false + "is_pure": false, + "text": "DECIMALS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -80648,7 +81408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2842, - "is_pure": false + "is_pure": false, + "text": "RESERVE_DECIMALS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -80746,14 +81507,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3619, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3620, @@ -80791,7 +81554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2826, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -80834,7 +81598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2866, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_START_BIT_POSITION" } ], "type_descriptions": [ @@ -81184,7 +81949,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetParamsMemory(DataTypes.ReserveConfigurationMapmemoryself)internalpurereturns(uint256,uint256,uint256,uint256,uint256){return(self.data\u0026~LTV_MASK,(self.data\u0026~LIQUIDATION_THRESHOLD_MASK)\u003e\u003eLIQUIDATION_THRESHOLD_START_BIT_POSITION,(self.data\u0026~LIQUIDATION_BONUS_MASK)\u003e\u003eLIQUIDATION_BONUS_START_BIT_POSITION,(self.data\u0026~DECIMALS_MASK)\u003e\u003eRESERVE_DECIMALS_START_BIT_POSITION,(self.data\u0026~RESERVE_FACTOR_MASK)\u003e\u003eRESERVE_FACTOR_START_BIT_POSITION);}" }, { "id": 3624, @@ -81328,14 +82094,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3648, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3649, @@ -81373,7 +82141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2810, - "is_pure": false + "is_pure": false, + "text": "ACTIVE_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -81418,7 +82187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -81506,14 +82276,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3657, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3658, @@ -81551,7 +82323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2814, - "is_pure": false + "is_pure": false, + "text": "FROZEN_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -81596,7 +82369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -81684,14 +82458,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3666, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3667, @@ -81729,7 +82505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2818, - "is_pure": false + "is_pure": false, + "text": "BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -81774,7 +82551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -81862,14 +82640,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3675, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3676, @@ -81907,7 +82687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2822, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -81952,7 +82733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -82040,14 +82822,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3684, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3685, @@ -82085,7 +82869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2830, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -82130,7 +82915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -82469,7 +83255,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetFlagsMemory(DataTypes.ReserveConfigurationMapmemoryself)internalpurereturns(bool,bool,bool,bool,bool){return((self.data\u0026~ACTIVE_MASK)!=0,(self.data\u0026~FROZEN_MASK)!=0,(self.data\u0026~BORROWING_MASK)!=0,(self.data\u0026~STABLE_BORROWING_MASK)!=0,(self.data\u0026~COLLATERAL_MASK)!=0);}" } ], "linearized_base_contracts": [ @@ -82637,7 +83424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3707, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3708, @@ -82657,7 +83445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3708, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -82682,7 +83471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3709, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3710, @@ -82702,7 +83492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3710, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -82891,13 +83682,14 @@ } ] }, - "signature_raw": "max(uint256, uint256)", - "signature": "944ae7a2", + "signature_raw": "max(uint256,uint256)", + "signature": "6d5433e6", "scope": 3691, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmax(uint256a,uint256b)internalpurereturns(uint256){returna\u003e=b?a:b;}" }, { "id": 3712, @@ -82990,7 +83782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3726, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3727, @@ -83010,7 +83803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3727, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -83035,7 +83829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3728, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3729, @@ -83055,7 +83850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3729, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -83244,13 +84040,14 @@ } ] }, - "signature_raw": "min(uint256, uint256)", - "signature": "a2611414", + "signature_raw": "min(uint256,uint256)", + "signature": "7ae2b5c7", "scope": 3691, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmin(uint256a,uint256b)internalpurereturns(uint256){returna\u003cb?a:b;}" }, { "id": 3731, @@ -83357,7 +84154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3746, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3747, @@ -83377,7 +84175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3747, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -83455,7 +84254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3752, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3753, @@ -83475,7 +84275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3753, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -83519,7 +84320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -83701,13 +84503,14 @@ } ] }, - "signature_raw": "average(uint256, uint256)", - "signature": "517eaec2", + "signature_raw": "average(uint256,uint256)", + "signature": "2b7423ab", "scope": 3691, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionaverage(uint256a,uint256b)internalpurereturns(uint256){return(a\u0026b)+(a^b)/2;}" }, { "id": 3756, @@ -83802,7 +84605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3769, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3770, @@ -83822,7 +84626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3770, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -83901,7 +84706,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3776, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3777, @@ -83921,7 +84727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3777, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -83948,7 +84755,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -83975,7 +84783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 3780, @@ -83997,7 +84806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -84197,13 +85007,14 @@ } ] }, - "signature_raw": "ceilDiv(uint256, uint256)", - "signature": "1340d3c6", + "signature_raw": "ceilDiv(uint256,uint256)", + "signature": "9cb35327", "scope": 3691, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionceilDiv(uint256a,uint256b)internalpurereturns(uint256){returna/b+(a%b==0?0:1);}" } ], "linearized_base_contracts": [ @@ -84340,7 +85151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e18" } }, { @@ -84415,7 +85227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3786, - "is_pure": false + "is_pure": false, + "text": "WAD" }, "right_expression": { "id": 3794, @@ -84437,7 +85250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -84505,7 +85319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e27" } }, { @@ -84580,7 +85395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3796, - "is_pure": false + "is_pure": false, + "text": "RAY" }, "right_expression": { "id": 3804, @@ -84602,7 +85418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -84670,7 +85487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e9" } }, { @@ -84738,7 +85556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3796, - "is_pure": false + "is_pure": false, + "text": "RAY" } } ] @@ -84873,7 +85692,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionray()internalpurereturns(uint256){returnRAY;}" }, { "id": 3821, @@ -84940,7 +85760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3786, - "is_pure": false + "is_pure": false, + "text": "WAD" } } ] @@ -85075,7 +85896,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionwad()internalpurereturns(uint256){returnWAD;}" }, { "id": 3832, @@ -85142,7 +85964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3800, - "is_pure": false + "is_pure": false, + "text": "halfRAY" } } ] @@ -85277,7 +86100,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionhalfRay()internalpurereturns(uint256){returnhalfRAY;}" }, { "id": 3843, @@ -85344,7 +86168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3790, - "is_pure": false + "is_pure": false, + "text": "halfWAD" } } ] @@ -85479,7 +86304,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionhalfWad()internalpurereturns(uint256){returnhalfWAD;}" }, { "id": 3854, @@ -85573,7 +86399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3867, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3868, @@ -85595,7 +86422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -85634,7 +86462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3870, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3871, @@ -85656,7 +86485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -85714,7 +86544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -85806,7 +86637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3880, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3881, @@ -85826,7 +86658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3881, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -85851,7 +86684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3790, - "is_pure": false + "is_pure": false, + "text": "halfWAD" }, "type_description": { "type_identifier": "t_uint256", @@ -85882,7 +86716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3786, - "is_pure": false + "is_pure": false, + "text": "WAD" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -86059,13 +86894,14 @@ } ] }, - "signature_raw": "wadMul(uint256, uint256)", - "signature": "94d52e8f", + "signature_raw": "wadMul(uint256,uint256)", + "signature": "761fdad6", "scope": 3784, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionwadMul(uint256a,uint256b)internalpurereturns(uint256){if(a==0||b==0){return0;}return(a*b+halfWAD)/WAD;}" }, { "id": 3885, @@ -86194,7 +87030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3899, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3900, @@ -86216,7 +87053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -86310,7 +87148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3906, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3907, @@ -86330,7 +87169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3786, - "is_pure": false + "is_pure": false, + "text": "WAD" }, "type_description": { "type_identifier": "t_uint256", @@ -86355,7 +87195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3895, - "is_pure": false + "is_pure": false, + "text": "halfB" }, "type_description": { "type_identifier": "t_uint256", @@ -86386,7 +87227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3909, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -86563,13 +87405,14 @@ } ] }, - "signature_raw": "wadDiv(uint256, uint256)", - "signature": "cdebcbc5", + "signature_raw": "wadDiv(uint256,uint256)", + "signature": "e57b6d3b", "scope": 3784, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionwadDiv(uint256a,uint256b)internalpurereturns(uint256){uint256halfB=b/2;return(a*WAD+halfB)/b;}" }, { "id": 3911, @@ -86663,7 +87506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3924, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3925, @@ -86685,7 +87529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -86724,7 +87569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3927, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3928, @@ -86746,7 +87592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -86804,7 +87651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -86896,7 +87744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3937, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3938, @@ -86916,7 +87765,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3938, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -86941,7 +87791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3800, - "is_pure": false + "is_pure": false, + "text": "halfRAY" }, "type_description": { "type_identifier": "t_uint256", @@ -86972,7 +87823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3796, - "is_pure": false + "is_pure": false, + "text": "RAY" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -87149,13 +88001,14 @@ } ] }, - "signature_raw": "rayMul(uint256, uint256)", - "signature": "48018597", + "signature_raw": "rayMul(uint256,uint256)", + "signature": "d2e30585", "scope": 3784, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionrayMul(uint256a,uint256b)internalpurereturns(uint256){if(a==0||b==0){return0;}return(a*b+halfRAY)/RAY;}" }, { "id": 3942, @@ -87284,7 +88137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3956, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3957, @@ -87306,7 +88160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -87400,7 +88255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3963, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3964, @@ -87420,7 +88276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3796, - "is_pure": false + "is_pure": false, + "text": "RAY" }, "type_description": { "type_identifier": "t_uint256", @@ -87445,7 +88302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3952, - "is_pure": false + "is_pure": false, + "text": "halfB" }, "type_description": { "type_identifier": "t_uint256", @@ -87476,7 +88334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3966, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -87653,13 +88512,14 @@ } ] }, - "signature_raw": "rayDiv(uint256, uint256)", - "signature": "3722c38d", + "signature_raw": "rayDiv(uint256,uint256)", + "signature": "9c34d880", "scope": 3784, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionrayDiv(uint256a,uint256b)internalpurereturns(uint256){uint256halfB=b/2;return(a*RAY+halfB)/b;}" }, { "id": 3968, @@ -87788,7 +88648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3806, - "is_pure": false + "is_pure": false, + "text": "WAD_RAY_RATIO" }, "right_expression": { "id": 3981, @@ -87810,7 +88671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -87910,7 +88772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3976, - "is_pure": false + "is_pure": false, + "text": "halfRatio" }, "right_expression": { "id": 3987, @@ -87930,7 +88793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3987, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -87982,7 +88846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3982, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 3991, @@ -88002,7 +88867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3806, - "is_pure": false + "is_pure": false, + "text": "WAD_RAY_RATIO" }, "type_description": { "type_identifier": "t_uint256", @@ -88142,7 +89008,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionrayToWad(uint256a)internalpurereturns(uint256){uint256halfRatio=WAD_RAY_RATIO/2;uint256result=halfRatio+a;returnresult/WAD_RAY_RATIO;}" }, { "id": 3993, @@ -88271,7 +89138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4005, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4006, @@ -88291,7 +89159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3806, - "is_pure": false + "is_pure": false, + "text": "WAD_RAY_RATIO" }, "type_description": { "type_identifier": "t_uint256", @@ -88329,7 +89198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4001, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -88464,7 +89334,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionwadToRay(uint256a)internalpurereturns(uint256){uint256result=a*WAD_RAY_RATIO;returnresult;}" } ], "linearized_base_contracts": [ @@ -88976,7 +89847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5000" } }, { @@ -89039,7 +89911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { @@ -89103,7 +89976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x7937D4799803FbBe595ed57278Bc4cA21f3bFfCB" } }, { @@ -89167,7 +90041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xBA12222222228d8Ba445958a75a0704d566BF2C8" } }, { @@ -89270,7 +90145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E" } ], "expression": { @@ -89291,7 +90167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IVaultWhitelist" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -89640,7 +90517,7 @@ "mutability": 1, "type_name": { "id": 4085, - "node_type": 0, + "node_type": 53, "src": { "line": 2171, "column": 2, @@ -89769,7 +90646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -90044,7 +90922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4110, - "is_pure": false + "is_pure": false, + "text": "_asset" }, "right_expression": { "id": 4111, @@ -90085,7 +90964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -90131,7 +91011,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -90175,7 +91056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4116, - "is_pure": false + "is_pure": false, + "text": "_provider" }, "right_expression": { "id": 4117, @@ -90216,7 +91098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -90262,7 +91145,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -90318,7 +91202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4122, - "is_pure": false + "is_pure": false, + "text": "_vault" }, "right_expression": { "id": 4123, @@ -90359,7 +91244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -90405,7 +91291,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -90470,7 +91357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -90482,7 +91370,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -90503,7 +91392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -90551,7 +91441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4063, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" }, "right_expression": { "id": 4132, @@ -90571,7 +91462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4132, - "is_pure": false + "is_pure": false, + "text": "_asset" }, "type_description": { "type_identifier": "t_address", @@ -90581,7 +91473,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "COLLATERAL=_asset;" }, { "id": 4133, @@ -90624,7 +91517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4066, - "is_pure": false + "is_pure": false, + "text": "DECIMALS" }, "right_expression": { "id": 4136, @@ -90700,7 +91594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4140, - "is_pure": false + "is_pure": false, + "text": "_asset" } ], "expression": { @@ -90721,7 +91616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20Detailed" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -90733,7 +91629,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20Detailed(_asset).decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -90748,7 +91645,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "DECIMALS=IERC20Detailed(_asset).decimals();" }, { "id": 4141, @@ -90791,7 +91689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4069, - "is_pure": false + "is_pure": false, + "text": "VAULT" }, "right_expression": { "id": 4144, @@ -90811,7 +91710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4144, - "is_pure": false + "is_pure": false, + "text": "_vault" }, "type_description": { "type_identifier": "t_address", @@ -90821,7 +91721,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "VAULT=_vault;" }, { "id": 4145, @@ -90864,7 +91765,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4072, - "is_pure": false + "is_pure": false, + "text": "PROVIDER" }, "right_expression": { "id": 4148, @@ -90903,7 +91805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4150, - "is_pure": false + "is_pure": false, + "text": "_provider" } ], "expression": { @@ -90924,7 +91827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ILendingPoolAddressesProvider" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -90939,7 +91843,8 @@ "type_description": { "type_identifier": "t_contract$_ILendingPoolAddressesProvider_$720", "type_string": "contract ILendingPoolAddressesProvider" - } + }, + "text": "PROVIDER=ILendingPoolAddressesProvider(_provider);" }, { "id": 4151, @@ -90982,7 +91887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4076, - "is_pure": false + "is_pure": false, + "text": "ORACLE" }, "right_expression": { "id": 4154, @@ -91058,14 +91964,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4072, - "is_pure": false + "is_pure": false, + "text": "PROVIDER" }, "member_name": "getPriceOracle", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPoolAddressesProvider_$720", "type_string": "contract ILendingPoolAddressesProvider" - } + }, + "text": "PROVIDER.getPriceOracle" }, "type_description": { "type_identifier": "t_function_$", @@ -91091,7 +91999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IPriceOracleGetter" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -91106,7 +92015,8 @@ "type_description": { "type_identifier": "t_contract$_IPriceOracleGetter_$707", "type_string": "contract IPriceOracleGetter" - } + }, + "text": "ORACLE=IPriceOracleGetter(PROVIDER.getPriceOracle());" }, { "id": 4159, @@ -91149,7 +92059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "right_expression": { "id": 4162, @@ -91225,14 +92136,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4072, - "is_pure": false + "is_pure": false, + "text": "PROVIDER" }, "member_name": "getLendingPool", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPoolAddressesProvider_$720", "type_string": "contract ILendingPoolAddressesProvider" - } + }, + "text": "PROVIDER.getLendingPool" }, "type_description": { "type_identifier": "t_function_$", @@ -91258,7 +92171,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ILendingPool" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -91273,7 +92187,8 @@ "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL=ILendingPool(PROVIDER.getLendingPool());" }, { "id": 4167, @@ -91316,7 +92231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4172, - "is_pure": false + "is_pure": false, + "text": "_vault" }, { "id": 4173, @@ -91368,7 +92284,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" } ], "expression": { @@ -91431,7 +92348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -91452,7 +92370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -91464,7 +92383,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_$", @@ -91560,7 +92480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -91736,7 +92657,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAvailableStableCoins()externalpurevirtualreturns(address[]memory){returnnewaddress[](0);}" }, { "id": 4190, @@ -91822,7 +92744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4202, - "is_pure": false + "is_pure": false, + "text": "_asset" } ], "expression": { @@ -91866,14 +92789,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4076, - "is_pure": false + "is_pure": false, + "text": "ORACLE" }, "member_name": "getAssetPrice", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IPriceOracleGetter_$707", "type_string": "contract IPriceOracleGetter" - } + }, + "text": "ORACLE.getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -92014,7 +92939,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAssetPrice(address_asset)internalviewreturns(uint256){returnORACLE.getAssetPrice(_asset);}" }, { "id": 4204, @@ -92106,7 +93032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4224, - "is_pure": false + "is_pure": false, + "text": "initiator" }, "right_expression": { "id": 4225, @@ -92145,7 +93072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -92191,7 +93119,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -92244,7 +93173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -92256,7 +93186,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -92277,7 +93208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -92362,14 +93294,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 4236, @@ -92389,7 +93323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4048, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" }, "type_description": { "type_identifier": "t_bool", @@ -92437,7 +93372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -92449,7 +93385,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -92470,7 +93407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -92537,7 +93475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4242, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 4243, @@ -92559,7 +93498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -92605,7 +93545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4245, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4246, @@ -92627,7 +93568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -92673,7 +93615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4248, - "is_pure": false + "is_pure": false, + "text": "premiums" }, "base_expression": { "id": 4249, @@ -92695,7 +93638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -92744,7 +93688,8 @@ "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" } - ] + ], + "text": "params" } ], "expression": { @@ -92765,7 +93710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_executeOperation" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$_t_bytes$", @@ -92813,7 +93759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" }, { "id": 4259, @@ -92841,7 +93788,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "0" } ], "expression": { @@ -92915,7 +93863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4256, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 4257, @@ -92937,7 +93886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -92973,7 +93923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -92985,7 +93936,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "function(index[address:int_const 0])" - } + }, + "text": "IERC20(assets[0]).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -93033,7 +93985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" }, { "id": 4268, @@ -93078,7 +94031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4270, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4271, @@ -93100,7 +94054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -93146,7 +94101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4273, - "is_pure": false + "is_pure": false, + "text": "premiums" }, "base_expression": { "id": 4274, @@ -93168,7 +94124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -93262,7 +94219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4265, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 4266, @@ -93284,7 +94242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -93320,7 +94279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -93332,7 +94292,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "function(index[address:int_const 0])" - } + }, + "text": "IERC20(assets[0]).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -93371,7 +94332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -93692,13 +94654,14 @@ } ] }, - "signature_raw": "executeOperation(address, uint256, uint256, address, bytes)", - "signature": "b379d6b5", + "signature_raw": "executeOperation(address,uint256,uint256,address,bytes)", + "signature": "1b11d0ff", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(address,uint256,uint256,address,bytes)" - } + }, + "text": "functionexecuteOperation(address[]calldataassets,uint256[]calldataamounts,uint256[]calldatapremiums,addressinitiator,bytescalldataparams)externaloverridereturns(bool){require(initiator==address(this),Errors.LS_INVALID_CONFIGURATION);require(msg.sender==AAVE_LENDING_POOL_ADDRESS,Errors.LS_INVALID_CONFIGURATION);_executeOperation(assets[0],amounts[0],premiums[0],params);IERC20(assets[0]).safeApprove(AAVE_LENDING_POOL_ADDRESS,0);IERC20(assets[0]).safeApprove(AAVE_LENDING_POOL_ADDRESS,amounts[0]+premiums[0]);returntrue;}" }, { "id": 4278, @@ -93813,14 +94776,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 4297, @@ -93840,7 +94805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4052, - "is_pure": false + "is_pure": false, + "text": "BALANCER_VAULT" }, "type_description": { "type_identifier": "t_bool", @@ -93888,7 +94854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -93900,7 +94867,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -93921,7 +94889,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -93983,7 +94952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4089, - "is_pure": false + "is_pure": false, + "text": "_balancerFlashLoanLock" }, "right_expression": { "id": 4304, @@ -94005,7 +94975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bool", @@ -94053,7 +95024,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -94065,7 +95037,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -94086,7 +95059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -94172,7 +95146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4313, - "is_pure": false + "is_pure": false, + "text": "tokens" }, "base_expression": { "id": 4314, @@ -94194,7 +95169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -94255,7 +95231,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -94291,7 +95268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4316, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4317, @@ -94313,7 +95291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -94359,7 +95338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4319, - "is_pure": false + "is_pure": false, + "text": "feeAmounts" }, "base_expression": { "id": 4320, @@ -94381,7 +95361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -94430,7 +95411,8 @@ "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" } - ] + ], + "text": "userData" } ], "expression": { @@ -94451,7 +95433,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_executeOperation" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$_t_bytes$", @@ -94522,14 +95505,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4331, @@ -94574,7 +95559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4333, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4334, @@ -94596,7 +95582,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -94642,7 +95629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4336, - "is_pure": false + "is_pure": false, + "text": "feeAmounts" }, "base_expression": { "id": 4337, @@ -94664,7 +95652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -94758,7 +95747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4327, - "is_pure": false + "is_pure": false, + "text": "tokens" }, "base_expression": { "id": 4328, @@ -94780,7 +95770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -94816,7 +95807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -94828,7 +95820,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "function(index[address:int_const 0])" - } + }, + "text": "IERC20(tokens[0]).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -95078,13 +96071,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "receiveFlashLoan(IERC20, uint256, uint256, bytes)", - "signature": "598145d7", + "signature_raw": "receiveFlashLoan(IERC20,uint256,uint256,bytes)", + "signature": "41664784", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_uint256$_t_uint256$_t_bytes$", "type_string": "function(contract IERC20,uint256,uint256,bytes)" - } + }, + "text": "functionreceiveFlashLoan(IERC20[]memorytokens,uint256[]memoryamounts,uint256[]memoryfeeAmounts,bytesmemoryuserData)externaloverride{require(msg.sender==BALANCER_VAULT,Errors.LS_INVALID_CONFIGURATION);require(_balancerFlashLoanLock==2,Errors.LS_INVALID_CONFIGURATION);_executeOperation(address(tokens[0]),amounts[0],feeAmounts[0],userData);IERC20(tokens[0]).safeTransfer(msg.sender,amounts[0]+feeAmounts[0]);}" }, { "id": 4339, @@ -95404,7 +96398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4365, - "is_pure": false + "is_pure": false, + "text": "params" }, { "id": 4366, @@ -95456,7 +96451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" }, { "id": 4369, @@ -95494,7 +96490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint256" }, { "id": 4371, @@ -95532,7 +96529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint256" }, { "id": 4373, @@ -95571,7 +96569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" }, { "id": 4375, @@ -95610,7 +96609,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -95660,14 +96660,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool_$_t_uint256_$_t_uint256_$_t_address_$_t_address$", @@ -95704,7 +96706,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4351, - "is_pure": false + "is_pure": false, + "text": "isEnterPosition" }, "body": { "id": 4379, @@ -95773,7 +96776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "arg1" }, { "id": 4383, @@ -95799,7 +96803,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "arg2" }, { "id": 4384, @@ -95829,7 +96834,8 @@ "type_identifier": "t_function_$_t_function_$$", "type_string": "function(function())" } - ] + ], + "text": "asset" }, { "id": 4385, @@ -95863,7 +96869,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "borrowAmount" }, { "id": 4386, @@ -95901,7 +96908,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "fee" } ], "expression": { @@ -95922,7 +96930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_enterPositionWithFlashloan" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_address$_t_uint256$_t_uint256$", @@ -96143,13 +97152,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_executeOperation(address, uint256, uint256, bytes)", - "signature": "14a40462", + "signature_raw": "_executeOperation(address,uint256,uint256,bytes)", + "signature": "2a22d614", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_bytes$", "type_string": "function(address,uint256,uint256,bytes)" - } + }, + "text": "function_executeOperation(addressasset,uint256borrowAmount,uint256fee,bytesmemoryparams)internal{(boolisEnterPosition,uint256arg0,uint256arg1,addressarg2,addressarg3)=abi.decode(params,(bool,uint256,uint256,address,address));if(isEnterPosition){_enterPositionWithFlashloan(arg1,arg2,asset,borrowAmount,fee);}else{_withdrawWithFlashloan(arg0,arg1,arg2,arg3,asset,borrowAmount);}}" }, { "id": 4388, @@ -96241,7 +97251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4406, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "right_expression": { "id": 4407, @@ -96263,7 +97274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -96311,7 +97323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -96323,7 +97336,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -96344,7 +97358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -96406,7 +97421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4413, - "is_pure": false + "is_pure": false, + "text": "_leverage" }, "right_expression": { "id": 4414, @@ -96428,7 +97444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -96476,7 +97493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -96488,7 +97506,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -96509,7 +97528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -96571,7 +97591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4420, - "is_pure": false + "is_pure": false, + "text": "_slippage" }, "right_expression": { "id": 4421, @@ -96593,7 +97614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -96641,7 +97663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -96653,7 +97676,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -96674,7 +97698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -96733,7 +97758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 4428, @@ -96753,7 +97779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4428, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, "type_descriptions": [ { @@ -96811,7 +97838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -96823,7 +97851,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -96844,7 +97873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -96948,14 +97978,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -97018,7 +98050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -97039,7 +98072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -97051,7 +98085,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -97076,7 +98111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "type_description": { "type_identifier": "t_bool", @@ -97124,7 +98160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_NOT_ALLOWED", "argument_types": [ @@ -97136,7 +98173,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_NOT_ALLOWED" } ], "expression": { @@ -97157,7 +98195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -97232,14 +98271,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4451, @@ -97278,7 +98319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -97324,7 +98366,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -97359,7 +98402,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_principal" } ], "expression": { @@ -97422,7 +98466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -97443,7 +98488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -97455,7 +98501,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -97542,14 +98589,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4460, @@ -97575,7 +98624,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_principal" }, { "id": 4461, @@ -97605,7 +98655,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_leverage" }, { "id": 4462, @@ -97639,7 +98690,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_slippage" }, { "id": 4463, @@ -97677,7 +98729,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_stableAsset" }, { "id": 4464, @@ -97719,7 +98772,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_flashLoanType" } ], "expression": { @@ -97740,7 +98794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_leverageWithFlashloan" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", @@ -98022,13 +99077,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "enterPositionWithFlashloan(uint256, uint256, uint256, address, )", - "signature": "a80adbba", + "signature_raw": "enterPositionWithFlashloan(uint256,uint256,uint256,address,)", + "signature": "738b7b68", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", "type_string": "function(uint256,uint256,uint256,address,enum GeneralLevSwap.FlashLoanType)" - } + }, + "text": "functionenterPositionWithFlashloan(uint256_principal,uint256_leverage,uint256_slippage,address_stableAsset,FlashLoanType_flashLoanType)external{require(_principal!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_leverage!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_slippage!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(ENABLED_STABLE_COINS[_stableAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(IERC20(COLLATERAL).balanceOf(msg.sender)\u003e=_principal,Errors.LS_SUPPLY_NOT_ALLOWED);IERC20(COLLATERAL).safeTransferFrom(msg.sender,address(this),_principal);_leverageWithFlashloan(msg.sender,_principal,_leverage,_slippage,_stableAsset,_flashLoanType);}" }, { "id": 4466, @@ -98120,7 +99176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4486, - "is_pure": false + "is_pure": false, + "text": "_repayAmount" }, "right_expression": { "id": 4487, @@ -98142,7 +99199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -98190,7 +99248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -98202,7 +99261,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -98223,7 +99283,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -98285,7 +99346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4493, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "right_expression": { "id": 4494, @@ -98307,7 +99369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -98355,7 +99418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -98367,7 +99431,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -98388,7 +99453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -98450,7 +99516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4500, - "is_pure": false + "is_pure": false, + "text": "_slippage" }, "right_expression": { "id": 4501, @@ -98472,7 +99539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -98520,7 +99588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -98532,7 +99601,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -98553,7 +99623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -98612,7 +99683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 4508, @@ -98632,7 +99704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4508, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, "type_descriptions": [ { @@ -98690,7 +99763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -98702,7 +99776,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -98723,7 +99798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -98785,7 +99861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4514, - "is_pure": false + "is_pure": false, + "text": "_sAsset" }, "right_expression": { "id": 4515, @@ -98826,7 +99903,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -98872,7 +99950,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -98925,7 +100004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -98937,7 +100017,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -98958,7 +100039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -99108,7 +100190,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4530, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -99152,14 +100235,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "getReserveData", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.getReserveData" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -99171,7 +100256,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "LENDING_POOL.getReserveData(_stableAsset).variableDebtTokenAddress" }, { "id": 4531, @@ -99214,7 +100300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -99226,7 +100313,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -99247,7 +100335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getDebtAmount" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -99354,7 +100443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -99450,7 +100540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4533, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4544, @@ -99472,7 +100563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -99530,7 +100622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4548, - "is_pure": false + "is_pure": false, + "text": "_repayAmount" }, { "id": 4549, @@ -99556,7 +100649,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "debtAmount" } ], "expression": { @@ -99600,14 +100694,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3688, - "is_pure": false + "is_pure": false, + "text": "Math" }, "member_name": "min", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Math_$3688", "type_string": "contract Math" - } + }, + "text": "Math.min" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -99622,7 +100718,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "amounts[0]=Math.min(_repayAmount,debtAmount);" }, { "id": 4550, @@ -99723,7 +100820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -99819,7 +100917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4550, - "is_pure": false + "is_pure": false, + "text": "modes" }, "base_expression": { "id": 4561, @@ -99841,7 +100940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -99878,7 +100978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -99888,7 +100989,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "modes[0]=0;" }, { "id": 4563, @@ -100005,7 +101107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, { "id": 4570, @@ -100031,7 +101134,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "_slippage" }, { "id": 4571, @@ -100061,7 +101165,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_requiredAmount" }, { "id": 4572, @@ -100104,7 +101209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -100124,7 +101230,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4574, @@ -100162,7 +101269,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_sAsset" } ], "expression": { @@ -100206,14 +101314,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_uint256$_t_uint256$_t_address$_t_address$", @@ -100264,7 +101374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4577, - "is_pure": false + "is_pure": false, + "text": "_flashLoanType" }, "right_expression": { "id": 4578, @@ -100307,14 +101418,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4036, - "is_pure": false + "is_pure": false, + "text": "FlashLoanType" }, "member_name": "AAVE", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_FlashLoanType_$4036", "type_string": "enum GeneralLevSwap.FlashLoanType" - } + }, + "text": "FlashLoanType.AAVE" }, "type_description": { "type_identifier": "t_bool", @@ -100434,7 +101547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -100530,7 +101644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4581, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 4592, @@ -100552,7 +101667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -100587,7 +101703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4593, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -100597,7 +101714,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "assets[0]=_stableAsset;" }, { "id": 4594, @@ -100679,7 +101797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -100725,7 +101844,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -100756,7 +101876,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "assets" }, { "id": 4604, @@ -100786,7 +101907,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amounts" }, { "id": 4605, @@ -100820,7 +101942,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_address$", "type_string": "function(function(address),address)" } - ] + ], + "text": "modes" }, { "id": 4606, @@ -100859,7 +101982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -100905,7 +102029,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -100952,7 +102077,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "params" }, { "id": 4611, @@ -101000,7 +102126,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_address$$_t_function_$_t_function_$_t_address$$$_t_address$$$_t_function_$_t_function_$_t_address$$$_t_address$$_t_function_$_t_function_$_t_address$$$_t_address$$$$_t_function_$_t_address$$", "type_string": "function(function(address),address,function(function(address),address),function(function(address),address,function(function(address),address)),function(address))" } - ] + ], + "text": "0" } ], "expression": { @@ -101063,7 +102190,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" } ], "expression": { @@ -101084,7 +102212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IAaveFlashLoan" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -101096,7 +102225,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IAaveFlashLoan(AAVE_LENDING_POOL_ADDRESS).flashLoan" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_address$_t_rational_0_by_1$", @@ -101147,7 +102277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4614, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4615, @@ -101205,7 +102336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -101251,7 +102383,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -101319,7 +102452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4619, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -101340,7 +102474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -101352,7 +102487,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_stableAsset).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -101378,7 +102514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapTo" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_function_$_t_address$", @@ -101501,7 +102638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -101547,7 +102685,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -101615,7 +102754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -101636,7 +102776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -101648,7 +102789,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -101699,7 +102841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4624, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, "right_expression": { "id": 4639, @@ -101719,7 +102862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4639, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "type_description": { "type_identifier": "t_bool", @@ -101795,7 +102939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4624, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, "right_expression": { "id": 4645, @@ -101815,7 +102960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4645, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -101863,7 +103009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -101875,7 +103022,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -101896,7 +103044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_supply" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", @@ -101944,7 +103093,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4624, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, "right_expression": { "id": 4651, @@ -101964,7 +103114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4651, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -101974,7 +103125,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "collateralAmount=_requiredAmount;" } ] } @@ -102043,14 +103195,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4659, @@ -102076,7 +103230,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "collateralAmount" } ], "expression": { @@ -102139,7 +103294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -102160,7 +103316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -102172,7 +103329,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -102498,13 +103656,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "withdrawWithFlashloan(uint256, uint256, uint256, address, address, )", - "signature": "343b1a24", + "signature_raw": "withdrawWithFlashloan(uint256,uint256,uint256,address,address,)", + "signature": "b333f937", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_address$_t_enum_$_FlashLoanType_$4036$", "type_string": "function(uint256,uint256,uint256,address,address,enum GeneralLevSwap.FlashLoanType)" - } + }, + "text": "functionwithdrawWithFlashloan(uint256_repayAmount,uint256_requiredAmount,uint256_slippage,address_stableAsset,address_sAsset,FlashLoanType_flashLoanType)external{require(_repayAmount\u003e0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_requiredAmount\u003e0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_slippage\u003e0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(ENABLED_STABLE_COINS[_stableAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(_sAsset!=address(0),Errors.LS_INVALID_CONFIGURATION);uint256debtAmount=_getDebtAmount(LENDING_POOL.getReserveData(_stableAsset).variableDebtTokenAddress,msg.sender);uint256[]memoryamounts=newuint256[](1);amounts[0]=Math.min(_repayAmount,debtAmount);uint256[]memorymodes=newuint256[](1);modes[0]=0;bytesmemoryparams=abi.encode(false,_slippage,_requiredAmount,msg.sender,_sAsset);if(_flashLoanType==FlashLoanType.AAVE){address[]memoryassets=newaddress[](1);assets[0]=_stableAsset;IAaveFlashLoan(AAVE_LENDING_POOL_ADDRESS).flashLoan(address(this),assets,amounts,modes,address(this),params,0);}else{IERC20[]memoryassets=newIERC20[](1);assets[0]=IERC20(_stableAsset);_balancerFlashLoanLock=2;IBalancerVault(BALANCER_VAULT).flashLoan(address(this),assets,amounts,params);_balancerFlashLoanLock=1;}_swapTo(_stableAsset,IERC20(_stableAsset).balanceOf(address(this)));uint256collateralAmount=IERC20(COLLATERAL).balanceOf(address(this));if(collateralAmount\u003e_requiredAmount){_supply(collateralAmount-_requiredAmount,msg.sender);collateralAmount=_requiredAmount;}IERC20(COLLATERAL).safeTransfer(msg.sender,collateralAmount);}" }, { "id": 4661, @@ -102642,7 +103801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4680, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4681, @@ -102668,7 +103828,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_borrowedAmount" } ], "expression": { @@ -102689,7 +103850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapTo" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -102752,7 +103914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4675, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, "right_expression": { "id": 4686, @@ -102772,7 +103935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4686, - "is_pure": false + "is_pure": false, + "text": "_minAmount" }, "type_description": { "type_identifier": "t_bool", @@ -102820,7 +103984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_FAILED", "argument_types": [ @@ -102832,7 +103997,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_FAILED" } ], "expression": { @@ -102853,7 +104019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -102901,7 +104068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4675, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, { "id": 4692, @@ -102927,7 +104095,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -102948,7 +104117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_supply" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", @@ -103000,7 +104170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4695, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4696, @@ -103034,7 +104205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4697, - "is_pure": false + "is_pure": false, + "text": "_borrowedAmount" }, "right_expression": { "id": 4698, @@ -103054,7 +104226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4698, - "is_pure": false + "is_pure": false, + "text": "_fee" }, "type_description": { "type_identifier": "t_uint256", @@ -103089,7 +104262,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -103110,7 +104284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_borrow" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", @@ -103372,13 +104547,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_enterPositionWithFlashloan(uint256, address, address, uint256, uint256)", - "signature": "c9caf02e", + "signature_raw": "_enterPositionWithFlashloan(uint256,address,address,uint256,uint256)", + "signature": "4176f4aa", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(uint256,address,address,uint256,uint256)" - } + }, + "text": "function_enterPositionWithFlashloan(uint256_minAmount,address_user,address_stableAsset,uint256_borrowedAmount,uint256_fee)internal{uint256collateralAmount=_swapTo(_stableAsset,_borrowedAmount);require(collateralAmount\u003e=_minAmount,Errors.LS_SUPPLY_FAILED);_supply(collateralAmount,_user);_borrow(_stableAsset,_borrowedAmount+_fee,_user);}" }, { "id": 4701, @@ -103460,7 +104636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4719, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4720, @@ -103486,7 +104663,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_borrowedAmount" }, { "id": 4721, @@ -103516,7 +104694,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -103537,7 +104716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_repay" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", @@ -103679,7 +104859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4729, - "is_pure": false + "is_pure": false, + "text": "_sAsset" } ], "expression": { @@ -103700,7 +104881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IAToken" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -103712,7 +104894,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IAToken(_sAsset).UNDERLYING_ASSET_ADDRESS" }, "type_description": { "type_identifier": "t_function_$", @@ -103838,7 +105021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4722, - "is_pure": false + "is_pure": false, + "text": "internalAsset" } ], "expression": { @@ -103882,14 +105066,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "getConfiguration", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.getConfiguration" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -104012,14 +105198,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4730, - "is_pure": false + "is_pure": false, + "text": "configuration" }, "member_name": "getParamsMemory", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "configuration.getParamsMemory" }, "type_description": { "type_identifier": "t_function_$", @@ -104082,7 +105270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4738, - "is_pure": false + "is_pure": false, + "text": "assetLiquidationThreshold" }, "right_expression": { "id": 4748, @@ -104104,7 +105293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -104152,7 +105342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -104164,7 +105355,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -104185,7 +105377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -104379,7 +105572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4761, - "is_pure": false + "is_pure": false, + "text": "_user" } ], "expression": { @@ -104423,14 +105617,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "getUserAccountData", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.getUserAccountData" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -104628,7 +105824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4751, - "is_pure": false + "is_pure": false, + "text": "totalCollateralETH" }, "right_expression": { "id": 4774, @@ -104648,7 +105845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4751, - "is_pure": false + "is_pure": false, + "text": "currentLiquidationThreshold" }, "type_description": { "type_identifier": "t_uint256", @@ -104702,14 +105900,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1972, - "is_pure": false + "is_pure": false, + "text": "PercentageMath" }, "member_name": "PERCENTAGE_FACTOR", "argument_types": [], "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", "type_string": "contract PercentageMath" - } + }, + "text": "PercentageMath.PERCENTAGE_FACTOR" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -104734,7 +105934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4751, - "is_pure": false + "is_pure": false, + "text": "totalDebtETH" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -104788,14 +105989,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1972, - "is_pure": false + "is_pure": false, + "text": "PercentageMath" }, "member_name": "PERCENTAGE_FACTOR", "argument_types": [], "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", "type_string": "contract PercentageMath" - } + }, + "text": "PercentageMath.PERCENTAGE_FACTOR" }, "type_description": { "type_identifier": "t_tuple_$_t_tuple_$_t_uint256$$", @@ -104826,7 +106029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4738, - "is_pure": false + "is_pure": false, + "text": "assetLiquidationThreshold" }, "type_description": { "type_identifier": "t_tuple_$_t_tuple_$_t_tuple_$_t_uint256$$$", @@ -104954,7 +106158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4792, - "is_pure": false + "is_pure": false, + "text": "_user" } ], "expression": { @@ -105017,7 +106222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4791, - "is_pure": false + "is_pure": false, + "text": "_sAsset" } ], "expression": { @@ -105038,7 +106244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -105050,7 +106257,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_sAsset).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -105117,7 +106325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4762, - "is_pure": false + "is_pure": false, + "text": "withdrawalAmountETH" }, "right_expression": { "id": 4797, @@ -105164,7 +106373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 4801, @@ -105184,7 +106394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4066, - "is_pure": false + "is_pure": false, + "text": "DECIMALS" }, "type_descriptions": [ { @@ -105251,7 +106462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -105272,7 +106484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -105326,14 +106539,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3688, - "is_pure": false + "is_pure": false, + "text": "Math" }, "member_name": "min", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Math_$3688", "type_string": "contract Math" - } + }, + "text": "Math.min" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_tuple_$_t_uint256$", @@ -105396,7 +106611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4781, - "is_pure": false + "is_pure": false, + "text": "withdrawalAmount" }, "right_expression": { "id": 4809, @@ -105416,7 +106632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4809, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "type_description": { "type_identifier": "t_bool", @@ -105464,7 +106681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_NOT_ALLOWED", "argument_types": [ @@ -105476,7 +106694,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_NOT_ALLOWED" } ], "expression": { @@ -105497,7 +106716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -105549,7 +106769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4817, - "is_pure": false + "is_pure": false, + "text": "_user" }, { "id": 4818, @@ -105588,7 +106809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -105634,7 +106856,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -105669,7 +106892,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "withdrawalAmount" } ], "expression": { @@ -105732,7 +106956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4816, - "is_pure": false + "is_pure": false, + "text": "_sAsset" } ], "expression": { @@ -105753,7 +106978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -105765,7 +106991,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_sAsset).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -105817,7 +107044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4781, - "is_pure": false + "is_pure": false, + "text": "withdrawalAmount" }, { "id": 4826, @@ -105843,7 +107071,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_slippage" }, { "id": 4827, @@ -105873,7 +107102,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -105894,7 +107124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_remove" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$", @@ -105938,7 +107169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4830, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -105959,7 +107191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -106265,13 +107498,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_withdrawWithFlashloan(uint256, uint256, address, address, address, uint256)", - "signature": "f265214d", + "signature_raw": "_withdrawWithFlashloan(uint256,uint256,address,address,address,uint256)", + "signature": "5883d38b", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,address,uint256)" - } + }, + "text": "function_withdrawWithFlashloan(uint256_slippage,uint256_requiredAmount,address_user,address_sAsset,address_stableAsset,uint256_borrowedAmount)internal{_repay(_stableAsset,_borrowedAmount,_user);addressinternalAsset=IAToken(_sAsset).UNDERLYING_ASSET_ADDRESS();DataTypes.ReserveConfigurationMapmemoryconfiguration=LENDING_POOL.getConfiguration(internalAsset);(,uint256assetLiquidationThreshold,,,)=configuration.getParamsMemory();require(assetLiquidationThreshold!=0,Errors.LS_INVALID_CONFIGURATION);(uint256totalCollateralETH,uint256totalDebtETH,,uint256currentLiquidationThreshold,,)=LENDING_POOL.getUserAccountData(_user);uint256withdrawalAmountETH=(((totalCollateralETH*currentLiquidationThreshold)/PercentageMath.PERCENTAGE_FACTOR-totalDebtETH)*PercentageMath.PERCENTAGE_FACTOR)/assetLiquidationThreshold;uint256withdrawalAmount=Math.min(IERC20(_sAsset).balanceOf(_user),(withdrawalAmountETH*(10**DECIMALS))/_getAssetPrice(COLLATERAL));require(withdrawalAmount\u003e_requiredAmount,Errors.LS_SUPPLY_NOT_ALLOWED);IERC20(_sAsset).safeTransferFrom(_user,address(this),withdrawalAmount);_remove(withdrawalAmount,_slippage,_user);_swapFrom(_stableAsset);}" }, { "id": 4832, @@ -106370,7 +107604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" } ], "expression": { @@ -106414,14 +107649,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4056, - "is_pure": false + "is_pure": false, + "text": "VAULT_WHITELIST" }, "member_name": "whitelistUserCount", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E)" - } + }, + "text": "VAULT_WHITELIST.whitelistUserCount" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -106448,7 +107685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -106533,7 +107771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" }, { "id": 4854, @@ -106559,7 +107798,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "_user" } ], "expression": { @@ -106603,14 +107843,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4056, - "is_pure": false + "is_pure": false, + "text": "VAULT_WHITELIST" }, "member_name": "whitelistUser", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E)" - } + }, + "text": "VAULT_WHITELIST.whitelistUser" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -106658,7 +107900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "CALLER_NOT_WHITELIST_USER", "argument_types": [ @@ -106670,7 +107913,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.CALLER_NOT_WHITELIST_USER" } ], "expression": { @@ -106691,7 +107935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$", @@ -106746,7 +107991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" }, { "id": 4863, @@ -106772,7 +108018,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "_amount" }, { "id": 4864, @@ -106802,7 +108049,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -106865,7 +108113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" } ], "expression": { @@ -106886,7 +108135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IGeneralVault" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -106898,7 +108148,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IGeneralVault(VAULT).depositCollateralFrom" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -107030,13 +108281,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_supply(uint256, address)", - "signature": "cb2b642c", + "signature_raw": "_supply(uint256,address)", + "signature": "c512d299", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "function_supply(uint256_amount,address_user)internal{if(VAULT_WHITELIST.whitelistUserCount(VAULT)\u003e0){require(VAULT_WHITELIST.whitelistUser(VAULT,_user),Errors.CALLER_NOT_WHITELIST_USER);}IGeneralVault(VAULT).depositCollateralFrom(COLLATERAL,_amount,_user);}" }, { "id": 4866, @@ -107135,7 +108387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" } ], "expression": { @@ -107179,14 +108432,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4056, - "is_pure": false + "is_pure": false, + "text": "VAULT_WHITELIST" }, "member_name": "whitelistUserCount", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E)" - } + }, + "text": "VAULT_WHITELIST.whitelistUserCount" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -107213,7 +108468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -107298,7 +108554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" }, { "id": 4890, @@ -107324,7 +108581,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "_user" } ], "expression": { @@ -107368,14 +108626,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4056, - "is_pure": false + "is_pure": false, + "text": "VAULT_WHITELIST" }, "member_name": "whitelistUser", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E)" - } + }, + "text": "VAULT_WHITELIST.whitelistUser" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -107423,7 +108683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "CALLER_NOT_WHITELIST_USER", "argument_types": [ @@ -107435,7 +108696,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.CALLER_NOT_WHITELIST_USER" } ], "expression": { @@ -107456,7 +108718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$", @@ -107515,7 +108778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" }, { "id": 4899, @@ -107541,7 +108805,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "_amount" }, { "id": 4900, @@ -107571,7 +108836,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_slippage" }, { "id": 4901, @@ -107610,7 +108876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -107656,7 +108923,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -107724,7 +108992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" } ], "expression": { @@ -107745,7 +109014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IGeneralVault" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -107757,7 +109027,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IGeneralVault(VAULT).withdrawCollateral" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", @@ -107932,13 +109203,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_remove(uint256, uint256, address)", - "signature": "6bfeebbe", + "signature_raw": "_remove(uint256,uint256,address)", + "signature": "686e8113", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$", "type_string": "function(uint256,uint256,address)" - } + }, + "text": "function_remove(uint256_amount,uint256_slippage,address_user)internal{if(VAULT_WHITELIST.whitelistUserCount(VAULT)\u003e0){require(VAULT_WHITELIST.whitelistUser(VAULT,_user),Errors.CALLER_NOT_WHITELIST_USER);}IGeneralVault(VAULT).withdrawCollateral(COLLATERAL,_amount,_slippage,address(this));}" }, { "id": 4906, @@ -108024,7 +109296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4922, - "is_pure": false + "is_pure": false, + "text": "_user" } ], "expression": { @@ -108087,7 +109360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4921, - "is_pure": false + "is_pure": false, + "text": "_variableDebtTokenAddress" } ], "expression": { @@ -108108,7 +109382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -108120,7 +109395,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_variableDebtTokenAddress).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -108299,13 +109575,14 @@ } ] }, - "signature_raw": "_getDebtAmount(address, address)", - "signature": "49bb1527", + "signature_raw": "_getDebtAmount(address,address)", + "signature": "df3c06ca", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "function_getDebtAmount(address_variableDebtTokenAddress,address_user)internalviewreturns(uint256){returnIERC20(_variableDebtTokenAddress).balanceOf(_user);}" }, { "id": 4924, @@ -108395,7 +109672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4937, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4938, @@ -108421,7 +109699,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" }, { "id": 4939, @@ -108451,7 +109730,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "USE_VARIABLE_DEBT" }, { "id": 4940, @@ -108487,7 +109767,8 @@ "type_identifier": "t_function_$_t_address$$_t_uint256$", "type_string": "function(address,uint256)" } - ] + ], + "text": "0" }, { "id": 4941, @@ -108525,7 +109806,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "borrower" } ], "expression": { @@ -108569,14 +109851,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "borrow", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.borrow" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_function_$_t_address$_t_uint256$_t_rational_0_by_1$_t_address$", @@ -108752,13 +110036,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_borrow(address, uint256, address)", - "signature": "43d4b0de", + "signature_raw": "_borrow(address,uint256,address)", + "signature": "c901b22a", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "function_borrow(address_stableAsset,uint256_amount,addressborrower)internal{LENDING_POOL.borrow(_stableAsset,_amount,USE_VARIABLE_DEBT,0,borrower);}" }, { "id": 4943, @@ -108855,7 +110140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" } ], "expression": { @@ -108901,7 +110187,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -108934,7 +110221,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "0" } ], "expression": { @@ -108997,7 +110285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4957, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -109018,7 +110307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -109030,7 +110320,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_stableAsset).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$", @@ -109097,7 +110388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" } ], "expression": { @@ -109143,7 +110435,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -109174,7 +110467,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "_amount" } ], "expression": { @@ -109237,7 +110531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4967, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -109258,7 +110553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -109270,7 +110566,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_stableAsset).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -109326,7 +110623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4976, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4977, @@ -109352,7 +110650,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" }, { "id": 4978, @@ -109382,7 +110681,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "USE_VARIABLE_DEBT" }, { "id": 4979, @@ -109416,7 +110716,8 @@ "type_identifier": "t_function_$_t_address$$_t_uint256$", "type_string": "function(address,uint256)" } - ] + ], + "text": "borrower" } ], "expression": { @@ -109460,14 +110761,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "repay", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.repay" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_function_$_t_address$_t_uint256$_t_address$", @@ -109643,13 +110946,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_repay(address, uint256, address)", - "signature": "547a3d30", + "signature_raw": "_repay(address,uint256,address)", + "signature": "3e62cd3f", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "function_repay(address_stableAsset,uint256_amount,addressborrower)internal{IERC20(_stableAsset).safeApprove(address(LENDING_POOL),0);IERC20(_stableAsset).safeApprove(address(LENDING_POOL),_amount);LENDING_POOL.repay(_stableAsset,_amount,USE_VARIABLE_DEBT,borrower);}" }, { "id": 4981, @@ -109806,7 +111110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5001, - "is_pure": false + "is_pure": false, + "text": "_collateralAmount" }, "right_expression": { "id": 5002, @@ -109845,7 +111150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5007, - "is_pure": false + "is_pure": false, + "text": "_ltv" } ], "expression": { @@ -109908,7 +111214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -109929,7 +111236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -109941,7 +111249,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "_getAssetPrice(COLLATERAL).percentMul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -110004,7 +111313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 5012, @@ -110024,7 +111334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4066, - "is_pure": false + "is_pure": false, + "text": "DECIMALS" }, "type_descriptions": [ { @@ -110090,7 +111401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsETH" }, "right_expression": { "id": 5017, @@ -110136,7 +111448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsETH" }, "right_expression": { "id": 5020, @@ -110156,7 +111469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4040, - "is_pure": false + "is_pure": false, + "text": "SAFE_BUFFER" }, "type_description": { "type_identifier": "t_bool", @@ -110195,7 +111509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsETH" }, "right_expression": { "id": 5023, @@ -110215,7 +111530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4040, - "is_pure": false + "is_pure": false, + "text": "SAFE_BUFFER" }, "type_description": { "type_identifier": "t_uint256", @@ -110242,7 +111558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -110269,7 +111586,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "availableBorrowsETH=availableBorrowsETH\u003eSAFE_BUFFER?availableBorrowsETH-SAFE_BUFFER:0;" }, { "id": 5025, @@ -110391,7 +111709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsETH" }, "right_expression": { "id": 5032, @@ -110438,7 +111757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 5036, @@ -110458,7 +111778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5036, - "is_pure": false + "is_pure": false, + "text": "_assetDecimals" }, "type_descriptions": [ { @@ -110525,7 +111846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5039, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" } ], "expression": { @@ -110546,7 +111868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -110589,7 +111912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5025, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsAsset" } } ] @@ -110848,13 +112172,14 @@ } ] }, - "signature_raw": "_calcBorrowableAmount(uint256, uint256, address, uint256)", - "signature": "189494c2", + "signature_raw": "_calcBorrowableAmount(uint256,uint256,address,uint256)", + "signature": "cd3b3096", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,uint256)" - } + }, + "text": "function_calcBorrowableAmount(uint256_collateralAmount,uint256_ltv,address_borrowAsset,uint256_assetDecimals)internalviewreturns(uint256){uint256availableBorrowsETH=(_collateralAmount*_getAssetPrice(COLLATERAL).percentMul(_ltv))/(10**DECIMALS);availableBorrowsETH=availableBorrowsETH\u003eSAFE_BUFFER?availableBorrowsETH-SAFE_BUFFER:0;uint256availableBorrowsAsset=(availableBorrowsETH*(10**_assetDecimals))/_getAssetPrice(_borrowAsset);returnavailableBorrowsAsset;}" }, { "id": 5043, @@ -110923,7 +112248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -111096,13 +112422,14 @@ } ] }, - "signature_raw": "_swapTo(address, uint256)", - "signature": "bb1ebeb3", + "signature_raw": "_swapTo(address,uint256)", + "signature": "8deddf3a", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_swapTo(address,uint256)internalvirtualreturns(uint256){return0;}" }, { "id": 5056, @@ -111171,7 +112498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -111307,7 +112635,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_swapFrom(address)internalvirtualreturns(uint256){return0;}" }, { "id": 5067, @@ -111399,7 +112728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5078, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "right_expression": { "id": 5079, @@ -111421,7 +112751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -111469,7 +112800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -111481,7 +112813,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -111502,7 +112835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -111561,7 +112895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 5086, @@ -111581,7 +112916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5086, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" }, "type_descriptions": [ { @@ -111639,7 +112975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -111651,7 +112988,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -111672,7 +113010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -111776,14 +113115,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -111846,7 +113187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5096, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" } ], "expression": { @@ -111867,7 +113209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -111879,7 +113222,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_zappingAsset).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -111904,7 +113248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5099, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "type_description": { "type_identifier": "t_bool", @@ -111952,7 +113297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_NOT_ALLOWED", "argument_types": [ @@ -111964,7 +113310,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_NOT_ALLOWED" } ], "expression": { @@ -111985,7 +113332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -112060,14 +113408,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 5109, @@ -112106,7 +113456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -112152,7 +113503,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -112187,7 +113539,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_principal" } ], "expression": { @@ -112250,7 +113603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5106, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" } ], "expression": { @@ -112271,7 +113625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -112283,7 +113638,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_zappingAsset).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -112391,7 +113747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5119, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" }, { "id": 5120, @@ -112417,7 +113774,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_principal" } ], "expression": { @@ -112438,7 +113796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapTo" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -112487,7 +113846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5114, - "is_pure": false + "is_pure": false, + "text": "suppliedAmount" }, { "id": 5124, @@ -112530,7 +113890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -112542,7 +113903,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -112563,7 +113925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_supply" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", @@ -112695,13 +114058,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "zapDeposit(address, uint256)", - "signature": "cfd6c38a", + "signature_raw": "zapDeposit(address,uint256)", + "signature": "661d89ca", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionzapDeposit(address_zappingAsset,uint256_principal)external{require(_principal!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(ENABLED_STABLE_COINS[_zappingAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(IERC20(_zappingAsset).balanceOf(msg.sender)\u003e=_principal,Errors.LS_SUPPLY_NOT_ALLOWED);IERC20(_zappingAsset).safeTransferFrom(msg.sender,address(this),_principal);uint256suppliedAmount=_swapTo(_zappingAsset,_principal);_supply(suppliedAmount,msg.sender);}" }, { "id": 5127, @@ -112793,7 +114157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5147, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "right_expression": { "id": 5148, @@ -112815,7 +114180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -112863,7 +114229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -112875,7 +114242,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -112896,7 +114264,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -112958,7 +114327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5154, - "is_pure": false + "is_pure": false, + "text": "_leverage" }, "right_expression": { "id": 5155, @@ -112980,7 +114350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -113028,7 +114399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -113040,7 +114412,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -113061,7 +114434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -113123,7 +114497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5161, - "is_pure": false + "is_pure": false, + "text": "_slippage" }, "right_expression": { "id": 5162, @@ -113145,7 +114520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -113193,7 +114569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -113205,7 +114582,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -113226,7 +114604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -113285,7 +114664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 5169, @@ -113305,7 +114685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5169, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" }, "type_descriptions": [ { @@ -113363,7 +114744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -113375,7 +114757,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -113396,7 +114779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -113455,7 +114839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 5176, @@ -113475,7 +114860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5176, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" }, "type_descriptions": [ { @@ -113533,7 +114919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -113545,7 +114932,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -113566,7 +114954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -113670,14 +115059,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -113740,7 +115131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5186, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" } ], "expression": { @@ -113761,7 +115153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -113773,7 +115166,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_zappingAsset).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -113798,7 +115192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5189, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "type_description": { "type_identifier": "t_bool", @@ -113846,7 +115241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_NOT_ALLOWED", "argument_types": [ @@ -113858,7 +115254,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_NOT_ALLOWED" } ], "expression": { @@ -113879,7 +115276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -113954,14 +115352,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 5199, @@ -114000,7 +115400,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -114046,7 +115447,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -114081,7 +115483,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_principal" } ], "expression": { @@ -114144,7 +115547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5196, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" } ], "expression": { @@ -114165,7 +115569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -114177,7 +115582,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_zappingAsset).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -114285,7 +115691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5209, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" }, { "id": 5210, @@ -114311,7 +115718,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_principal" } ], "expression": { @@ -114332,7 +115740,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapTo" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -114420,14 +115829,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 5215, @@ -114453,7 +115864,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "collateralAmount" }, { "id": 5216, @@ -114483,7 +115895,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_leverage" }, { "id": 5217, @@ -114517,7 +115930,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_slippage" }, { "id": 5218, @@ -114555,7 +115969,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_borrowAsset" }, { "id": 5219, @@ -114597,7 +116012,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_flashLoanType" } ], "expression": { @@ -114618,7 +116034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_leverageWithFlashloan" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", @@ -114944,13 +116361,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "zapLeverageWithFlashloan(address, uint256, uint256, uint256, address, )", - "signature": "e2b2a9a4", + "signature_raw": "zapLeverageWithFlashloan(address,uint256,uint256,uint256,address,)", + "signature": "fc79450a", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", "type_string": "function(address,uint256,uint256,uint256,address,enum GeneralLevSwap.FlashLoanType)" - } + }, + "text": "functionzapLeverageWithFlashloan(address_zappingAsset,uint256_principal,uint256_leverage,uint256_slippage,address_borrowAsset,FlashLoanType_flashLoanType)external{require(_principal!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_leverage!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_slippage!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(ENABLED_STABLE_COINS[_zappingAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(ENABLED_STABLE_COINS[_borrowAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(IERC20(_zappingAsset).balanceOf(msg.sender)\u003e=_principal,Errors.LS_SUPPLY_NOT_ALLOWED);IERC20(_zappingAsset).safeTransferFrom(msg.sender,address(this),_principal);uint256collateralAmount=_swapTo(_zappingAsset,_principal);_leverageWithFlashloan(msg.sender,collateralAmount,_leverage,_slippage,_borrowAsset,_flashLoanType);}" }, { "id": 5221, @@ -115121,7 +116539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5245, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" } ], "expression": { @@ -115142,7 +116561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20Detailed" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -115154,7 +116574,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20Detailed(_borrowAsset).decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -115261,7 +116682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -115357,7 +116779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5246, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 5257, @@ -115379,7 +116802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -115470,14 +116894,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1972, - "is_pure": false + "is_pure": false, + "text": "PercentageMath" }, "member_name": "PERCENTAGE_FACTOR", "argument_types": [], "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", "type_string": "contract PercentageMath" - } + }, + "text": "PercentageMath.PERCENTAGE_FACTOR" }, "right_expression": { "id": 5289, @@ -115497,7 +116923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5289, - "is_pure": false + "is_pure": false, + "text": "_slippage" }, "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", @@ -115565,7 +116992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5285, - "is_pure": false + "is_pure": false, + "text": "_leverage" } ], "expression": { @@ -115721,7 +117149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5270, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "right_expression": { "id": 5271, @@ -115760,7 +117189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -115781,7 +117211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -115830,7 +117261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 5277, @@ -115850,7 +117282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4066, - "is_pure": false + "is_pure": false, + "text": "DECIMALS" }, "type_descriptions": [ { @@ -115905,7 +117338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 5281, @@ -115925,7 +117359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5238, - "is_pure": false + "is_pure": false, + "text": "borrowAssetDecimals" }, "type_descriptions": [ { @@ -115986,7 +117421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5284, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" } ], "expression": { @@ -116007,7 +117443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -116030,7 +117467,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_tuple_$_t_tuple_$_t_tuple_$_t_uint256$$$$", "type_string": "tuple(tuple(tuple(tuple(uint256))))" - } + }, + "text": "((((_principal*_getAssetPrice(COLLATERAL))/10**DECIMALS)*10**borrowAssetDecimals)/_getAssetPrice(_borrowAsset)).percentMul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -116042,7 +117480,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "((((_principal*_getAssetPrice(COLLATERAL))/10**DECIMALS)*10**borrowAssetDecimals)/_getAssetPrice(_borrowAsset)).percentMul(_leverage).percentMul" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -116057,7 +117496,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "amounts[0]=((((_principal*_getAssetPrice(COLLATERAL))/10**DECIMALS)*10**borrowAssetDecimals)/_getAssetPrice(_borrowAsset)).percentMul(_leverage).percentMul(PercentageMath.PERCENTAGE_FACTOR+_slippage);" }, { "id": 5290, @@ -116158,7 +117598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -116254,7 +117695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5290, - "is_pure": false + "is_pure": false, + "text": "modes" }, "base_expression": { "id": 5301, @@ -116276,7 +117718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -116313,7 +117756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -116323,7 +117767,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "modes[0]=0;" }, { "id": 5303, @@ -116459,14 +117904,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1972, - "is_pure": false + "is_pure": false, + "text": "PercentageMath" }, "member_name": "PERCENTAGE_FACTOR", "argument_types": [], "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", "type_string": "contract PercentageMath" - } + }, + "text": "PercentageMath.PERCENTAGE_FACTOR" }, "right_expression": { "id": 5312, @@ -116486,7 +117933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5312, - "is_pure": false + "is_pure": false, + "text": "_leverage" }, "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", @@ -116535,14 +117983,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5308, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "member_name": "percentMul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_principal.percentMul" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -116665,7 +118115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 5320, @@ -116693,7 +118144,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "0" }, { "id": 5321, @@ -116723,7 +118175,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "minCollateralAmount" }, { "id": 5322, @@ -116757,7 +118210,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" }, { "id": 5323, @@ -116798,7 +118252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -116844,7 +118299,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -116893,14 +118349,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_rational_0_by_1$_t_uint256$_t_address$_t_function_$_t_rational_0_by_1$", @@ -116951,7 +118409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5329, - "is_pure": false + "is_pure": false, + "text": "_flashLoanType" }, "right_expression": { "id": 5330, @@ -116994,14 +118453,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4036, - "is_pure": false + "is_pure": false, + "text": "FlashLoanType" }, "member_name": "AAVE", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_FlashLoanType_$4036", "type_string": "enum GeneralLevSwap.FlashLoanType" - } + }, + "text": "FlashLoanType.AAVE" }, "type_description": { "type_identifier": "t_bool", @@ -117121,7 +118582,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -117217,7 +118679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5333, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 5344, @@ -117239,7 +118702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -117274,7 +118738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5345, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -117284,7 +118749,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "assets[0]=_borrowAsset;" }, { "id": 5346, @@ -117366,7 +118832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -117412,7 +118879,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -117443,7 +118911,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "assets" }, { "id": 5356, @@ -117473,7 +118942,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amounts" }, { "id": 5357, @@ -117507,7 +118977,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_address$", "type_string": "function(function(address),address)" } - ] + ], + "text": "modes" }, { "id": 5358, @@ -117546,7 +119017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -117592,7 +119064,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -117639,7 +119112,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "params" }, { "id": 5363, @@ -117687,7 +119161,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_address$$_t_function_$_t_function_$_t_address$$$_t_address$$$_t_function_$_t_function_$_t_address$$$_t_address$$_t_function_$_t_function_$_t_address$$$_t_address$$$$_t_function_$_t_address$$", "type_string": "function(function(address),address,function(function(address),address),function(function(address),address,function(function(address),address)),function(address))" } - ] + ], + "text": "0" } ], "expression": { @@ -117750,7 +119225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" } ], "expression": { @@ -117771,7 +119247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IAaveFlashLoan" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -117783,7 +119260,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IAaveFlashLoan(AAVE_LENDING_POOL_ADDRESS).flashLoan" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_address$_t_rational_0_by_1$", @@ -118112,13 +119590,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_leverageWithFlashloan(address, uint256, uint256, uint256, address, )", - "signature": "37725b2e", + "signature_raw": "_leverageWithFlashloan(address,uint256,uint256,uint256,address,)", + "signature": "97f76e08", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", "type_string": "function(address,uint256,uint256,uint256,address,enum GeneralLevSwap.FlashLoanType)" - } + }, + "text": "function_leverageWithFlashloan(address_user,uint256_principal,uint256_leverage,uint256_slippage,address_borrowAsset,FlashLoanType_flashLoanType)internal{uint256borrowAssetDecimals=IERC20Detailed(_borrowAsset).decimals();uint256[]memoryamounts=newuint256[](1);amounts[0]=((((_principal*_getAssetPrice(COLLATERAL))/10**DECIMALS)*10**borrowAssetDecimals)/_getAssetPrice(_borrowAsset)).percentMul(_leverage).percentMul(PercentageMath.PERCENTAGE_FACTOR+_slippage);uint256[]memorymodes=newuint256[](1);modes[0]=0;uint256minCollateralAmount=_principal.percentMul(PercentageMath.PERCENTAGE_FACTOR+_leverage);bytesmemoryparams=abi.encode(true,0,minCollateralAmount,_user,address(0));if(_flashLoanType==FlashLoanType.AAVE){address[]memoryassets=newaddress[](1);assets[0]=_borrowAsset;IAaveFlashLoan(AAVE_LENDING_POOL_ADDRESS).flashLoan(address(this),assets,amounts,modes,address(this),params,0);}else{IERC20[]memoryassets=newIERC20[](1);assets[0]=IERC20(_borrowAsset);_balancerFlashLoanLock=2;IBalancerVault(BALANCER_VAULT).flashLoan(address(this),assets,amounts,params);_balancerFlashLoanLock=1;}}" } ], "linearized_base_contracts": [ @@ -118420,7 +119899,8 @@ "type_description": { "type_identifier": "t_function_$_t_int128$", "type_string": "function(int128)" - } + }, + "text": "functioncoins(int128)externalviewreturns(address);" }, { "id": 5378, @@ -118625,13 +120105,14 @@ } ] }, - "signature_raw": "calc_withdraw_one_coin(uint256, int128)", - "signature": "74f2f5e3", + "signature_raw": "calc_withdraw_one_coin(uint256,int128)", + "signature": "cc2b27d7", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_int128$", "type_string": "function(uint256,int128)" - } + }, + "text": "functioncalc_withdraw_one_coin(uint256_burn_amount,int128i)externalviewreturns(uint256);" }, { "id": 5389, @@ -118733,7 +120214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -118813,13 +120295,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "add_liquidity(function, uint256)", - "signature": "c6489050", + "signature_raw": "add_liquidity(function,uint256)", + "signature": "047ea860", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_rational_2_by_1$_t_uint256$", "type_string": "function(int_const 2,uint256)" - } + }, + "text": "functionadd_liquidity(uint256[2]memoryamounts,uint256_min_mint_amount)external;" }, { "id": 5400, @@ -118921,7 +120404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_description": { "type_identifier": "t_rational_3_by_1", @@ -119001,13 +120485,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "add_liquidity(function, uint256)", - "signature": "c6489050", + "signature_raw": "add_liquidity(function,uint256)", + "signature": "047ea860", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_rational_3_by_1$_t_uint256$", "type_string": "function(int_const 3,uint256)" - } + }, + "text": "functionadd_liquidity(uint256[3]memoryamounts,uint256_min_mint_amount)external;" }, { "id": 5411, @@ -119299,13 +120784,14 @@ } ] }, - "signature_raw": "remove_liquidity_one_coin(uint256, int128, uint256, address)", - "signature": "2edcb446", + "signature_raw": "remove_liquidity_one_coin(uint256,int128,uint256,address)", + "signature": "081579a5", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_int128$_t_uint256$_t_address$", "type_string": "function(uint256,int128,uint256,address)" - } + }, + "text": "functionremove_liquidity_one_coin(uint256_burn_amount,int128i,uint256_min_received,address_receiver)externalreturns(uint256);" }, { "id": 5426, @@ -119508,13 +120994,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "remove_liquidity_one_coin(uint256, int128, uint256)", - "signature": "f2684efb", + "signature_raw": "remove_liquidity_one_coin(uint256,int128,uint256)", + "signature": "1a4d01d2", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_int128$_t_uint256$", "type_string": "function(uint256,int128,uint256)" - } + }, + "text": "functionremove_liquidity_one_coin(uint256_burn_amount,int128i,uint256_min_received)external;" } ], "linearized_base_contracts": [ @@ -119792,7 +121279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B" } ], "expression": { @@ -119813,7 +121301,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ICurvePool" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -119921,7 +121410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7" } ], "expression": { @@ -119942,7 +121432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ICurvePool" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -120050,7 +121541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490" } ], "expression": { @@ -120071,7 +121563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -120140,7 +121633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x6B175474E89094C44Da98b954EedeAC495271d0F" } }, { @@ -120204,7 +121698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" } }, { @@ -120268,7 +121763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xdAC17F958D2ee523a2206206994597C13D831ec7" } }, { @@ -120333,7 +121829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5492, - "is_pure": false + "is_pure": false, + "text": "_asset" }, { "id": 5493, @@ -120353,7 +121850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5493, - "is_pure": false + "is_pure": false, + "text": "_vault" }, { "id": 5494, @@ -120373,7 +121871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5494, - "is_pure": false + "is_pure": false, + "text": "_provider" } ], "modifier_name": { @@ -120620,7 +122119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 5500, @@ -120640,7 +122140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5469, - "is_pure": false + "is_pure": false, + "text": "DAI" }, "type_descriptions": [ { @@ -120677,7 +122178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_rational_0_by_1]$", @@ -120687,7 +122189,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_rational_0_by_1]$", "type_string": "index[mapping(address=\u003ebool):int_const 0x6B175474E89094C44Da98b954EedeAC495271d0F]" - } + }, + "text": "ENABLED_STABLE_COINS[DAI]=true;" }, { "id": 5502, @@ -120741,7 +122244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 5506, @@ -120761,7 +122265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5473, - "is_pure": false + "is_pure": false, + "text": "USDC" }, "type_descriptions": [ { @@ -120798,7 +122303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_rational_0_by_1]$", @@ -120808,7 +122314,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_rational_0_by_1]$", "type_string": "index[mapping(address=\u003ebool):int_const 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48]" - } + }, + "text": "ENABLED_STABLE_COINS[USDC]=true;" }, { "id": 5508, @@ -120862,7 +122369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 5512, @@ -120882,7 +122390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5477, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "type_descriptions": [ { @@ -120919,7 +122428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_rational_0_by_1]$", @@ -120929,7 +122439,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_rational_0_by_1]$", "type_string": "index[mapping(address=\u003ebool):int_const 0xdAC17F958D2ee523a2206206994597C13D831ec7]" - } + }, + "text": "ENABLED_STABLE_COINS[USDT]=true;" } ] } @@ -121010,7 +122521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "assets" }, "right_expression": { "id": 5527, @@ -121051,7 +122563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" } ], "expression": { @@ -121102,7 +122615,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "assets=newaddress[](3);" }, { "id": 5531, @@ -121156,7 +122670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5534, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 5535, @@ -121178,7 +122693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -121213,7 +122729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5469, - "is_pure": false + "is_pure": false, + "text": "DAI" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -121223,7 +122740,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "assets[0]=DAI;" }, { "id": 5537, @@ -121277,7 +122795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5540, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 5541, @@ -121299,7 +122818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -121334,7 +122854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5473, - "is_pure": false + "is_pure": false, + "text": "USDC" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -121344,7 +122865,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "assets[1]=USDC;" }, { "id": 5543, @@ -121398,7 +122920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5546, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 5547, @@ -121420,7 +122943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_descriptions": [ { @@ -121455,7 +122979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5477, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_2_by_1]$", @@ -121465,7 +122990,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_2_by_1]$", "type_string": "index[address:int_const 2]" - } + }, + "text": "assets[2]=USDT;" } ] }, @@ -121618,7 +123144,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAvailableStableCoins()externalpureoverridereturns(address[]memoryassets){assets=newaddress[](3);assets[0]=DAI;assets[1]=USDC;assets[2]=USDT;}" }, { "id": 5550, @@ -121698,7 +123225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5560, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, "right_expression": { "id": 5561, @@ -121718,7 +123246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5469, - "is_pure": false + "is_pure": false, + "text": "DAI" }, "type_description": { "type_identifier": "t_bool", @@ -121783,7 +123312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5565, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, "right_expression": { "id": 5566, @@ -121803,7 +123333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5473, - "is_pure": false + "is_pure": false, + "text": "USDC" }, "type_description": { "type_identifier": "t_bool", @@ -121880,7 +123411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5571, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, "right_expression": { "id": 5572, @@ -121900,7 +123432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5477, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "type_description": { "type_identifier": "t_bool", @@ -121933,7 +123466,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'Invalid stable coin'" } ], "expression": { @@ -121954,7 +123488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -121993,7 +123528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } } ] @@ -122129,7 +123665,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getCoinIndex(address_stableAsset)internalpurereturns(uint256){if(_stableAsset==DAI)return0;if(_stableAsset==USDC)return1;require(_stableAsset==USDT,'Invalid stable coin');return2;}" }, { "id": 5577, @@ -122263,7 +123800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5593, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -122284,7 +123822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getCoinIndex" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -122352,7 +123891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "THREECRV" } ], "expression": { @@ -122398,7 +123938,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -122431,7 +123972,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "0" } ], "expression": { @@ -122494,7 +124036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5598, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -122515,7 +124058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -122527,7 +124071,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_stableAsset).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$", @@ -122594,7 +124139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "THREECRV" } ], "expression": { @@ -122640,7 +124186,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -122671,7 +124218,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "_amount" } ], "expression": { @@ -122734,7 +124282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5608, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -122755,7 +124304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -122767,7 +124317,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_stableAsset).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -122846,7 +124397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_description": { "type_identifier": "t_rational_3_by_1", @@ -122909,7 +124461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5614, - "is_pure": false + "is_pure": false, + "text": "amountsAdded" }, "base_expression": { "id": 5623, @@ -122929,7 +124482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5588, - "is_pure": false + "is_pure": false, + "text": "coinIndex" }, "type_descriptions": [ { @@ -122964,7 +124518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5624, - "is_pure": false + "is_pure": false, + "text": "_amount" }, "type_description": { "type_identifier": "t_[_[$_t_rational_3_by_1]$_t_uint256]$", @@ -122974,7 +124529,8 @@ "type_description": { "type_identifier": "t_[_[$_t_rational_3_by_1]$_t_uint256]$", "type_string": "index[int_const 3:uint256]" - } + }, + "text": "amountsAdded[coinIndex]=_amount;" }, { "id": 5625, @@ -123017,7 +124573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5614, - "is_pure": false + "is_pure": false, + "text": "amountsAdded" }, { "id": 5629, @@ -123045,7 +124602,8 @@ "type_identifier": "t_rational_3_by_1", "type_string": "int_const 3" } - ] + ], + "text": "0" } ], "expression": { @@ -123089,14 +124647,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5455, - "is_pure": false + "is_pure": false, + "text": "THREECRV" }, "member_name": "add_liquidity", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7)" - } + }, + "text": "THREECRV.add_liquidity" }, "type_description": { "type_identifier": "t_function_$_t_rational_3_by_1$_t_rational_0_by_1$", @@ -123219,7 +124779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -123265,7 +124826,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -123314,14 +124876,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5462, - "is_pure": false + "is_pure": false, + "text": "THREECRV_TOKEN" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490)" - } + }, + "text": "THREECRV_TOKEN.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -123389,7 +124953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "POOL" } ], "expression": { @@ -123435,7 +125000,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -123468,7 +125034,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "0" } ], "expression": { @@ -123512,14 +125079,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5462, - "is_pure": false + "is_pure": false, + "text": "THREECRV_TOKEN" }, "member_name": "safeApprove", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490)" - } + }, + "text": "THREECRV_TOKEN.safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$", @@ -123586,7 +125155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "POOL" } ], "expression": { @@ -123632,7 +125202,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -123663,7 +125234,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "amountTo" } ], "expression": { @@ -123707,14 +125279,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5462, - "is_pure": false + "is_pure": false, + "text": "THREECRV_TOKEN" }, "member_name": "safeApprove", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490)" - } + }, + "text": "THREECRV_TOKEN.safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -123786,7 +125360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5662, @@ -123806,7 +125381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5630, - "is_pure": false + "is_pure": false, + "text": "amountTo" } ], "empty": false, @@ -123841,7 +125417,8 @@ "type_identifier": "t_inline_array_$_t_rational_0_by_1$_t_uint256$", "type_string": "[int_const 0,uint256]" } - ] + ], + "text": "0" } ], "expression": { @@ -123885,14 +125462,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5448, - "is_pure": false + "is_pure": false, + "text": "POOL" }, "member_name": "add_liquidity", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B)" - } + }, + "text": "POOL.add_liquidity" }, "type_description": { "type_identifier": "t_function_$_t_inline_array_$_t_rational_0_by_1$_t_uint256$_t_rational_0_by_1$", @@ -123940,7 +125519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5630, - "is_pure": false + "is_pure": false, + "text": "amountTo" }, "right_expression": { "id": 5667, @@ -123998,7 +125578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -124044,7 +125625,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -124112,7 +125694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -124133,7 +125716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -124145,7 +125729,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -124160,7 +125745,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountTo=IERC20(COLLATERAL).balanceOf(address(this));" }, { "id": 5676, @@ -124192,7 +125778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5630, - "is_pure": false + "is_pure": false, + "text": "amountTo" } } ] @@ -124384,13 +125971,14 @@ } ] }, - "signature_raw": "_swapTo(address, uint256)", - "signature": "bb1ebeb3", + "signature_raw": "_swapTo(address,uint256)", + "signature": "8deddf3a", "scope": 5439, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_swapTo(address_stableAsset,uint256_amount)internaloverridereturns(uint256){uint256coinIndex=_getCoinIndex(_stableAsset);IERC20(_stableAsset).safeApprove(address(THREECRV),0);IERC20(_stableAsset).safeApprove(address(THREECRV),_amount);uint256[3]memoryamountsAdded;amountsAdded[coinIndex]=_amount;THREECRV.add_liquidity(amountsAdded,0);uint256amountTo=THREECRV_TOKEN.balanceOf(address(this));THREECRV_TOKEN.safeApprove(address(POOL),0);THREECRV_TOKEN.safeApprove(address(POOL),amountTo);POOL.add_liquidity([0,amountTo],0);amountTo=IERC20(COLLATERAL).balanceOf(address(this));returnamountTo;}" }, { "id": 5679, @@ -124507,7 +126095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -124626,7 +126215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -124672,7 +126262,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -124740,7 +126331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -124761,7 +126353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -124773,7 +126366,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -124882,7 +126476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5692, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, { "id": 5711, @@ -124921,7 +126516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5688, - "is_pure": false + "is_pure": false, + "text": "coinIndex" } ], "expression": { @@ -124966,7 +126562,8 @@ "type_identifier": "t_int128", "type_string": "int128" } - ] + ], + "text": "int128" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -125015,14 +126612,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5448, - "is_pure": false + "is_pure": false, + "text": "POOL" }, "member_name": "calc_withdraw_one_coin", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B)" - } + }, + "text": "POOL.calc_withdraw_one_coin" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_function_$_t_int256$", @@ -125139,7 +126738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5692, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, { "id": 5722, @@ -125178,7 +126778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5688, - "is_pure": false + "is_pure": false, + "text": "coinIndex" } ], "expression": { @@ -125223,7 +126824,8 @@ "type_identifier": "t_int128", "type_string": "int128" } - ] + ], + "text": "int128" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -125258,7 +126860,8 @@ "type_identifier": "t_function_$_t_int256$", "type_string": "function(int256)" } - ] + ], + "text": "minAmount" }, { "id": 5727, @@ -125297,7 +126900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -125343,7 +126947,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -125392,14 +126997,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5448, - "is_pure": false + "is_pure": false, + "text": "POOL" }, "member_name": "remove_liquidity_one_coin", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B)" - } + }, + "text": "POOL.remove_liquidity_one_coin" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_function_$_t_int256$_t_uint256$_t_function_$_t_address$", @@ -125448,7 +127055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5688, - "is_pure": false + "is_pure": false, + "text": "coinIndex" }, "right_expression": { "id": 5734, @@ -125506,7 +127114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5739, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -125527,7 +127136,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getCoinIndex" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -125577,7 +127187,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -125592,7 +127203,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "coinIndex=int256(_getCoinIndex(_stableAsset));" }, { "id": 5740, @@ -125635,7 +127247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5704, - "is_pure": false + "is_pure": false, + "text": "minAmount" }, "right_expression": { "id": 5743, @@ -125678,7 +127291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5715, - "is_pure": false + "is_pure": false, + "text": "threeCRVAmount" }, { "id": 5747, @@ -125717,7 +127331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5688, - "is_pure": false + "is_pure": false, + "text": "coinIndex" } ], "expression": { @@ -125762,7 +127377,8 @@ "type_identifier": "t_int128", "type_string": "int128" } - ] + ], + "text": "int128" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -125811,14 +127427,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5455, - "is_pure": false + "is_pure": false, + "text": "THREECRV" }, "member_name": "calc_withdraw_one_coin", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7)" - } + }, + "text": "THREECRV.calc_withdraw_one_coin" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_function_$_t_int256$", @@ -125833,7 +127451,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "minAmount=THREECRV.calc_withdraw_one_coin(threeCRVAmount,int128(coinIndex));" }, { "id": 5751, @@ -125880,7 +127499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5715, - "is_pure": false + "is_pure": false, + "text": "threeCRVAmount" }, { "id": 5755, @@ -125919,7 +127539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5688, - "is_pure": false + "is_pure": false, + "text": "coinIndex" } ], "expression": { @@ -125964,7 +127585,8 @@ "type_identifier": "t_int128", "type_string": "int128" } - ] + ], + "text": "int128" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -125999,7 +127621,8 @@ "type_identifier": "t_function_$_t_int256$", "type_string": "function(int256)" } - ] + ], + "text": "minAmount" } ], "expression": { @@ -126043,14 +127666,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5455, - "is_pure": false + "is_pure": false, + "text": "THREECRV" }, "member_name": "remove_liquidity_one_coin", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7)" - } + }, + "text": "THREECRV.remove_liquidity_one_coin" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_function_$_t_int256$_t_uint256$", @@ -126125,7 +127750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -126171,7 +127797,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -126239,7 +127866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5765, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -126260,7 +127888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -126272,7 +127901,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_stableAsset).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -126432,7 +128062,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_swapFrom(address_stableAsset)internaloverridereturns(uint256){int256coinIndex=1;uint256collateralAmount=IERC20(COLLATERAL).balanceOf(address(this));uint256minAmount=POOL.calc_withdraw_one_coin(collateralAmount,int128(coinIndex));uint256threeCRVAmount=POOL.remove_liquidity_one_coin(collateralAmount,int128(coinIndex),minAmount,address(this));coinIndex=int256(_getCoinIndex(_stableAsset));minAmount=THREECRV.calc_withdraw_one_coin(threeCRVAmount,int128(coinIndex));THREECRV.remove_liquidity_one_coin(threeCRVAmount,int128(coinIndex),minAmount);returnIERC20(_stableAsset).balanceOf(address(this));}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/FRAX3CRVLevSwap.solgo.ast.proto.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/FRAX3CRVLevSwap.solgo.ast.proto.json index 2548da39..48ca9a73 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/FRAX3CRVLevSwap.solgo.ast.proto.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/FRAX3CRVLevSwap.solgo.ast.proto.json @@ -18297,6 +18297,7 @@ "parentIndex": "6657", "start": "85698" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "2", "end": "85713", @@ -21223,7 +21224,7 @@ } }, "scope": "371", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "2", "end": "714", @@ -21411,7 +21412,7 @@ } }, "scope": "371", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "2", "end": "1056", @@ -21598,7 +21599,7 @@ } }, "scope": "371", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "2", "end": "1753", @@ -21824,7 +21825,7 @@ } }, "scope": "371", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "2", "end": "2153", @@ -24082,7 +24083,7 @@ } }, "scope": "490", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "2", "end": "5218", @@ -24706,7 +24707,7 @@ } }, "scope": "560", - "signature": "8d2f8c29", + "signature": "d6e935fe", "src": { "column": "2", "end": "5458", @@ -25288,7 +25289,7 @@ } }, "scope": "560", - "signature": "d9098537", + "signature": "d0e2343c", "src": { "column": "2", "end": "5678", @@ -26243,7 +26244,7 @@ } }, "scope": "560", - "signature": "11e8fd6d", + "signature": "75a98b8a", "src": { "column": "2", "end": "6027", @@ -27386,7 +27387,7 @@ } }, "scope": "560", - "signature": "8e0a158a", + "signature": "f11dc268", "src": { "column": "2", "end": "6587", @@ -29087,7 +29088,7 @@ } }, "scope": "723", - "signature": "43578dd5", + "signature": "ca446dd9", "src": { "column": "2", "end": "7820", @@ -29235,7 +29236,7 @@ } }, "scope": "723", - "signature": "cbc450db", + "signature": "5dcc528c", "src": { "column": "2", "end": "7894", @@ -34928,7 +34929,7 @@ } }, "scope": "1026", - "signature": "b04b2a91", + "signature": "e8eda9df", "src": { "column": "2", "end": "17181", @@ -35076,7 +35077,7 @@ } }, "scope": "1026", - "signature": "02e0d5c2", + "signature": "d6996185", "src": { "column": "2", "end": "17528", @@ -35224,7 +35225,7 @@ } }, "scope": "1026", - "signature": "c438bd6f", + "signature": "f88cc4a2", "src": { "column": "2", "end": "17839", @@ -35779,7 +35780,7 @@ } }, "scope": "1026", - "signature": "5809cadf", + "signature": "1104bee6", "src": { "column": "2", "end": "18332", @@ -36225,7 +36226,7 @@ } }, "scope": "1026", - "signature": "b11b5f87", + "signature": "69328dec", "src": { "column": "2", "end": "19682", @@ -36490,7 +36491,7 @@ } }, "scope": "1026", - "signature": "ee0c2ec0", + "signature": "12ade5ad", "src": { "column": "2", "end": "20580", @@ -36753,7 +36754,7 @@ } }, "scope": "1026", - "signature": "cc780dc0", + "signature": "a415bcad", "src": { "column": "2", "end": "21947", @@ -37017,7 +37018,7 @@ } }, "scope": "1026", - "signature": "0fc68187", + "signature": "573ade81", "src": { "column": "2", "end": "22971", @@ -37165,7 +37166,7 @@ } }, "scope": "1026", - "signature": "38ab99d6", + "signature": "5a3b74b9", "src": { "column": "2", "end": "23329", @@ -37429,7 +37430,7 @@ } }, "scope": "1026", - "signature": "9da8de78", + "signature": "00a718a9", "src": { "column": "2", "end": "24377", @@ -38074,7 +38075,7 @@ } }, "scope": "1026", - "signature": "09874b12", + "signature": "ac6abd4e", "src": { "column": "2", "end": "26177", @@ -38223,7 +38224,7 @@ } }, "scope": "1026", - "signature": "4a52041b", + "signature": "1d2118f9", "src": { "column": "2", "end": "26581", @@ -38371,7 +38372,7 @@ } }, "scope": "1026", - "signature": "6e2e1324", + "signature": "b8d29276", "src": { "column": "2", "end": "26919", @@ -39484,7 +39485,7 @@ } }, "scope": "1026", - "signature": "4bbf544c", + "signature": "d5ed3933", "src": { "column": "2", "end": "29154", @@ -49469,7 +49470,7 @@ } }, "scope": "1975", - "signature": "e7894eb3", + "signature": "4bf6a8f0", "src": { "column": "2", "end": "42871", @@ -49974,7 +49975,7 @@ } }, "scope": "1975", - "signature": "9d989b15", + "signature": "46c840bb", "src": { "column": "2", "end": "43326", @@ -50529,7 +50530,7 @@ } }, "scope": "2046", - "signature": "236007cd", + "signature": "8954ff3f", "src": { "column": "2", "end": "43575", @@ -50677,7 +50678,7 @@ } }, "scope": "2046", - "signature": "b990a0b0", + "signature": "7a88caae", "src": { "column": "2", "end": "43656", @@ -51041,7 +51042,7 @@ } }, "scope": "2046", - "signature": "c9753789", + "signature": "2a2234f9", "src": { "column": "2", "end": "43826", @@ -51189,7 +51190,7 @@ } }, "scope": "2046", - "signature": "951c5bef", + "signature": "a5d5db0c", "src": { "column": "2", "end": "43907", @@ -51376,7 +51377,7 @@ } }, "scope": "2046", - "signature": "91201686", + "signature": "259f2d01", "src": { "column": "2", "end": "44023", @@ -51601,7 +51602,7 @@ } }, "scope": "2046", - "signature": "c5478f4b", + "signature": "a5fdfc63", "src": { "column": "2", "end": "44149", @@ -53173,7 +53174,7 @@ } }, "scope": "2177", - "signature": "903478f1", + "signature": "f5cf673b", "src": { "column": "2", "end": "46114", @@ -53470,7 +53471,7 @@ } }, "scope": "2177", - "signature": "407b5d84", + "signature": "ac008d80", "src": { "column": "2", "end": "46645", @@ -53656,7 +53657,7 @@ } }, "scope": "2177", - "signature": "af219a31", + "signature": "31873e2e", "src": { "column": "2", "end": "47057", @@ -53843,7 +53844,7 @@ } }, "scope": "2177", - "signature": "f05d98fa", + "signature": "6e9ecad4", "src": { "column": "2", "end": "47337", @@ -54068,7 +54069,7 @@ } }, "scope": "2177", - "signature": "024303bb", + "signature": "46016506", "src": { "column": "2", "end": "47716", @@ -54332,7 +54333,7 @@ } }, "scope": "2177", - "signature": "ff80e62c", + "signature": "1d31c89f", "src": { "column": "2", "end": "48287", @@ -54669,7 +54670,7 @@ } }, "scope": "2177", - "signature": "5b9502d0", + "signature": "3373ee4c", "src": { "column": "2", "end": "48796", @@ -55951,7 +55952,7 @@ } }, "scope": "2352", - "signature": "80ea45a4", + "signature": "d33941f6", "src": { "column": "2", "end": "50969", @@ -56500,7 +56501,7 @@ } }, "scope": "2398", - "signature": "1146be74", + "signature": "156e29f6", "src": { "column": "2", "end": "51706", @@ -57105,7 +57106,7 @@ } }, "scope": "2398", - "signature": "6aa2d810", + "signature": "d7020d0a", "src": { "column": "2", "end": "52921", @@ -57252,7 +57253,7 @@ } }, "scope": "2398", - "signature": "48150abe", + "signature": "7df5bd3b", "src": { "column": "2", "end": "53169", @@ -57439,7 +57440,7 @@ } }, "scope": "2398", - "signature": "62da2670", + "signature": "f866c319", "src": { "column": "2", "end": "53572", @@ -57626,7 +57627,7 @@ } }, "scope": "2398", - "signature": "76b50fc4", + "signature": "4efecaa5", "src": { "column": "2", "end": "53961", @@ -57774,7 +57775,7 @@ } }, "scope": "2398", - "signature": "289108a3", + "signature": "88dd91a1", "src": { "column": "2", "end": "54212", @@ -58489,7 +58490,7 @@ } }, "scope": "2525", - "signature": "b379d6b5", + "signature": "1b11d0ff", "src": { "column": "2", "end": "54797", @@ -58801,7 +58802,7 @@ } }, "scope": "2546", - "signature": "598145d7", + "signature": "41664784", "src": { "column": "2", "end": "55475", @@ -59063,7 +59064,7 @@ } }, "scope": "2564", - "signature": "4ef8005e", + "signature": "2fa8673b", "src": { "column": "2", "end": "55590", @@ -59400,7 +59401,7 @@ } }, "scope": "2564", - "signature": "3d6ef831", + "signature": "537084c7", "src": { "column": "2", "end": "55760", @@ -59813,7 +59814,7 @@ } }, "scope": "2599", - "signature": "1d3c48ff", + "signature": "03a2b952", "src": { "column": "2", "end": "57402", @@ -60591,7 +60592,7 @@ } }, "scope": "2622", - "signature": "ca35fd42", + "signature": "88ba5382", "src": { "column": "2", "end": "62998", @@ -61299,7 +61300,7 @@ } }, "scope": "2622", - "signature": "1123eb9d", + "signature": "61c9a6c9", "src": { "column": "2", "end": "67274", @@ -61804,7 +61805,7 @@ } }, "scope": "2622", - "signature": "d2da8c07", + "signature": "5263ae0c", "src": { "column": "2", "end": "67608", @@ -62644,7 +62645,7 @@ } }, "scope": "2622", - "signature": "0f6e0f15", + "signature": "6c3ff276", "src": { "column": "2", "end": "68165", @@ -62883,7 +62884,7 @@ } }, "scope": "2622", - "signature": "d60783fe", + "signature": "0207ab6d", "src": { "column": "2", "end": "68309", @@ -65138,7 +65139,7 @@ } }, "scope": "2792", - "signature": "27846df4", + "signature": "3a7c6a57", "src": { "column": "2", "end": "70923", @@ -66116,7 +66117,7 @@ } }, "scope": "2792", - "signature": "5d3b1d33", + "signature": "6199ca5b", "src": { "column": "2", "end": "71714", @@ -67163,7 +67164,7 @@ } }, "scope": "2792", - "signature": "952635cd", + "signature": "b5b937a0", "src": { "column": "2", "end": "72572", @@ -68210,7 +68211,7 @@ } }, "scope": "2792", - "signature": "f3b10448", + "signature": "d2cd9769", "src": { "column": "2", "end": "73384", @@ -69235,7 +69236,7 @@ } }, "scope": "2792", - "signature": "03064b9f", + "signature": "7600ceff", "src": { "column": "2", "end": "74106", @@ -70255,7 +70256,7 @@ } }, "scope": "2792", - "signature": "00082d16", + "signature": "136cba3f", "src": { "column": "2", "end": "74744", @@ -71275,7 +71276,7 @@ } }, "scope": "2792", - "signature": "37ad629f", + "signature": "efc3a6fc", "src": { "column": "2", "end": "75466", @@ -72295,7 +72296,7 @@ } }, "scope": "2792", - "signature": "4252e482", + "signature": "842900b8", "src": { "column": "2", "end": "76182", @@ -73315,7 +73316,7 @@ } }, "scope": "2792", - "signature": "bb7852ac", + "signature": "8f2e9880", "src": { "column": "2", "end": "76991", @@ -74357,7 +74358,7 @@ } }, "scope": "2792", - "signature": "5fea3056", + "signature": "5626e796", "src": { "column": "2", "end": "77835", @@ -80111,7 +80112,7 @@ } }, "scope": "3691", - "signature": "944ae7a2", + "signature": "6d5433e6", "src": { "column": "2", "end": "81373", @@ -80456,7 +80457,7 @@ } }, "scope": "3691", - "signature": "a2611414", + "signature": "7ae2b5c7", "src": { "column": "2", "end": "81534", @@ -80909,7 +80910,7 @@ } }, "scope": "3691", - "signature": "517eaec2", + "signature": "2b7423ab", "src": { "column": "2", "end": "81780", @@ -81404,7 +81405,7 @@ } }, "scope": "3691", - "signature": "1340d3c6", + "signature": "9cb35327", "src": { "column": "2", "end": "82149", @@ -83253,7 +83254,7 @@ } }, "scope": "3784", - "signature": "94d52e8f", + "signature": "761fdad6", "src": { "column": "2", "end": "83189", @@ -83758,7 +83759,7 @@ } }, "scope": "3784", - "signature": "cdebcbc5", + "signature": "e57b6d3b", "src": { "column": "2", "end": "83481", @@ -84353,7 +84354,7 @@ } }, "scope": "3784", - "signature": "48018597", + "signature": "d2e30585", "src": { "column": "2", "end": "83801", @@ -84858,7 +84859,7 @@ } }, "scope": "3784", - "signature": "3722c38d", + "signature": "9c34d880", "src": { "column": "2", "end": "84093", @@ -86908,6 +86909,7 @@ "parentIndex": "4085", "start": "85698" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "2", "end": "85713", @@ -91016,7 +91018,7 @@ } }, "scope": "4012", - "signature": "b379d6b5", + "signature": "1b11d0ff", "src": { "column": "2", "end": "87728", @@ -92426,7 +92428,7 @@ } }, "scope": "4012", - "signature": "598145d7", + "signature": "41664784", "src": { "column": "2", "end": "88414", @@ -93484,7 +93486,7 @@ } }, "scope": "4012", - "signature": "14a40462", + "signature": "2a22d614", "src": { "column": "2", "end": "88931", @@ -95382,7 +95384,7 @@ } }, "scope": "4012", - "signature": "a80adbba", + "signature": "738b7b68", "src": { "column": "2", "end": "90243", @@ -100002,7 +100004,7 @@ } }, "scope": "4012", - "signature": "343b1a24", + "signature": "b333f937", "src": { "column": "2", "end": "92704", @@ -100875,7 +100877,7 @@ } }, "scope": "4012", - "signature": "c9caf02e", + "signature": "4176f4aa", "src": { "column": "2", "end": "93205", @@ -103840,7 +103842,7 @@ } }, "scope": "4012", - "signature": "f265214d", + "signature": "5883d38b", "src": { "column": "2", "end": "94768", @@ -104607,7 +104609,7 @@ } }, "scope": "4012", - "signature": "cb2b642c", + "signature": "c512d299", "src": { "column": "2", "end": "95095", @@ -105508,7 +105510,7 @@ } }, "scope": "4012", - "signature": "6bfeebbe", + "signature": "686e8113", "src": { "column": "2", "end": "95473", @@ -105866,7 +105868,7 @@ } }, "scope": "4012", - "signature": "49bb1527", + "signature": "df3c06ca", "src": { "column": "2", "end": "95665", @@ -106304,7 +106306,7 @@ } }, "scope": "4012", - "signature": "43d4b0de", + "signature": "c901b22a", "src": { "column": "2", "end": "95853", @@ -107195,7 +107197,7 @@ } }, "scope": "4012", - "signature": "547a3d30", + "signature": "3e62cd3f", "src": { "column": "2", "end": "96171", @@ -108419,7 +108421,7 @@ } }, "scope": "4012", - "signature": "189494c2", + "signature": "cd3b3096", "src": { "column": "2", "end": "96731", @@ -108651,7 +108653,7 @@ } }, "scope": "4012", - "signature": "bb1ebeb3", + "signature": "8deddf3a", "src": { "column": "2", "end": "96824", @@ -110270,7 +110272,7 @@ } }, "scope": "4012", - "signature": "cfd6c38a", + "signature": "661d89ca", "src": { "column": "2", "end": "97614", @@ -112554,7 +112556,7 @@ } }, "scope": "4012", - "signature": "e2b2a9a4", + "signature": "fc79450a", "src": { "column": "2", "end": "99216", @@ -115811,7 +115813,7 @@ } }, "scope": "4012", - "signature": "37725b2e", + "signature": "97f76e08", "src": { "column": "2", "end": "100743", @@ -116219,7 +116221,7 @@ } }, "scope": "5367", - "signature": "74f2f5e3", + "signature": "cc2b27d7", "src": { "column": "2", "end": "100927", @@ -116389,7 +116391,7 @@ } }, "scope": "5367", - "signature": "c6489050", + "signature": "047ea860", "src": { "column": "2", "end": "101016", @@ -116559,7 +116561,7 @@ } }, "scope": "5367", - "signature": "c6489050", + "signature": "047ea860", "src": { "column": "2", "end": "101105", @@ -116822,7 +116824,7 @@ } }, "scope": "5367", - "signature": "2edcb446", + "signature": "081579a5", "src": { "column": "2", "end": "101265", @@ -117007,7 +117009,7 @@ } }, "scope": "5367", - "signature": "f2684efb", + "signature": "1a4d01d2", "src": { "column": "2", "end": "101384", @@ -122034,7 +122036,7 @@ } }, "scope": "5439", - "signature": "bb1ebeb3", + "signature": "8deddf3a", "src": { "column": "2", "end": "103420", diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/GeneralLevSwap.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/GeneralLevSwap.solgo.ast.json index 17d6aa16..b3e98718 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/GeneralLevSwap.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/GeneralLevSwap.solgo.ast.json @@ -491,7 +491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5000" } }, { @@ -554,7 +555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { @@ -618,7 +620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x7937D4799803FbBe595ed57278Bc4cA21f3bFfCB" } }, { @@ -682,7 +685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xBA12222222228d8Ba445958a75a0704d566BF2C8" } }, { @@ -785,7 +789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E" } ], "expression": { @@ -806,7 +811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IVaultWhitelist" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1155,7 +1161,7 @@ "mutability": 1, "type_name": { "id": 4085, - "node_type": 0, + "node_type": 53, "src": { "line": 2171, "column": 2, @@ -1284,7 +1290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -1559,7 +1566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4110, - "is_pure": false + "is_pure": false, + "text": "_asset" }, "right_expression": { "id": 4111, @@ -1600,7 +1608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1646,7 +1655,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1690,7 +1700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4116, - "is_pure": false + "is_pure": false, + "text": "_provider" }, "right_expression": { "id": 4117, @@ -1731,7 +1742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1777,7 +1789,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1833,7 +1846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4122, - "is_pure": false + "is_pure": false, + "text": "_vault" }, "right_expression": { "id": 4123, @@ -1874,7 +1888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1920,7 +1935,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1985,7 +2001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -1997,7 +2014,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -2018,7 +2036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -2066,7 +2085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4063, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" }, "right_expression": { "id": 4132, @@ -2086,7 +2106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4132, - "is_pure": false + "is_pure": false, + "text": "_asset" }, "type_description": { "type_identifier": "t_address", @@ -2096,7 +2117,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "COLLATERAL=_asset;" }, { "id": 4133, @@ -2139,7 +2161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4066, - "is_pure": false + "is_pure": false, + "text": "DECIMALS" }, "right_expression": { "id": 4136, @@ -2215,7 +2238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4140, - "is_pure": false + "is_pure": false, + "text": "_asset" } ], "expression": { @@ -2236,7 +2260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20Detailed" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2248,7 +2273,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20Detailed(_asset).decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -2263,7 +2289,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "DECIMALS=IERC20Detailed(_asset).decimals();" }, { "id": 4141, @@ -2306,7 +2333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4069, - "is_pure": false + "is_pure": false, + "text": "VAULT" }, "right_expression": { "id": 4144, @@ -2326,7 +2354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4144, - "is_pure": false + "is_pure": false, + "text": "_vault" }, "type_description": { "type_identifier": "t_address", @@ -2336,7 +2365,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "VAULT=_vault;" }, { "id": 4145, @@ -2379,7 +2409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4072, - "is_pure": false + "is_pure": false, + "text": "PROVIDER" }, "right_expression": { "id": 4148, @@ -2418,7 +2449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4150, - "is_pure": false + "is_pure": false, + "text": "_provider" } ], "expression": { @@ -2439,7 +2471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ILendingPoolAddressesProvider" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2454,7 +2487,8 @@ "type_description": { "type_identifier": "t_contract$_ILendingPoolAddressesProvider_$720", "type_string": "contract ILendingPoolAddressesProvider" - } + }, + "text": "PROVIDER=ILendingPoolAddressesProvider(_provider);" }, { "id": 4151, @@ -2497,7 +2531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4076, - "is_pure": false + "is_pure": false, + "text": "ORACLE" }, "right_expression": { "id": 4154, @@ -2573,14 +2608,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4072, - "is_pure": false + "is_pure": false, + "text": "PROVIDER" }, "member_name": "getPriceOracle", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPoolAddressesProvider_$720", "type_string": "contract ILendingPoolAddressesProvider" - } + }, + "text": "PROVIDER.getPriceOracle" }, "type_description": { "type_identifier": "t_function_$", @@ -2606,7 +2643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IPriceOracleGetter" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2621,7 +2659,8 @@ "type_description": { "type_identifier": "t_contract$_IPriceOracleGetter_$707", "type_string": "contract IPriceOracleGetter" - } + }, + "text": "ORACLE=IPriceOracleGetter(PROVIDER.getPriceOracle());" }, { "id": 4159, @@ -2664,7 +2703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "right_expression": { "id": 4162, @@ -2740,14 +2780,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4072, - "is_pure": false + "is_pure": false, + "text": "PROVIDER" }, "member_name": "getLendingPool", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPoolAddressesProvider_$720", "type_string": "contract ILendingPoolAddressesProvider" - } + }, + "text": "PROVIDER.getLendingPool" }, "type_description": { "type_identifier": "t_function_$", @@ -2773,7 +2815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ILendingPool" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2788,7 +2831,8 @@ "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL=ILendingPool(PROVIDER.getLendingPool());" }, { "id": 4167, @@ -2831,7 +2875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4172, - "is_pure": false + "is_pure": false, + "text": "_vault" }, { "id": 4173, @@ -2883,7 +2928,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" } ], "expression": { @@ -2946,7 +2992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -2967,7 +3014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2979,7 +3027,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_$", @@ -3075,7 +3124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -3251,7 +3301,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAvailableStableCoins()externalpurevirtualreturns(address[]memory){returnnewaddress[](0);}" }, { "id": 4190, @@ -3337,7 +3388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4202, - "is_pure": false + "is_pure": false, + "text": "_asset" } ], "expression": { @@ -3381,14 +3433,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4076, - "is_pure": false + "is_pure": false, + "text": "ORACLE" }, "member_name": "getAssetPrice", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IPriceOracleGetter_$707", "type_string": "contract IPriceOracleGetter" - } + }, + "text": "ORACLE.getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3529,7 +3583,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAssetPrice(address_asset)internalviewreturns(uint256){returnORACLE.getAssetPrice(_asset);}" }, { "id": 4204, @@ -3621,7 +3676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4224, - "is_pure": false + "is_pure": false, + "text": "initiator" }, "right_expression": { "id": 4225, @@ -3660,7 +3716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3706,7 +3763,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3759,7 +3817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -3771,7 +3830,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -3792,7 +3852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -3877,14 +3938,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 4236, @@ -3904,7 +3967,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4048, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" }, "type_description": { "type_identifier": "t_bool", @@ -3952,7 +4016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -3964,7 +4029,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -3985,7 +4051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -4052,7 +4119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4242, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 4243, @@ -4074,7 +4142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -4120,7 +4189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4245, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4246, @@ -4142,7 +4212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -4188,7 +4259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4248, - "is_pure": false + "is_pure": false, + "text": "premiums" }, "base_expression": { "id": 4249, @@ -4210,7 +4282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -4259,7 +4332,8 @@ "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" } - ] + ], + "text": "params" } ], "expression": { @@ -4280,7 +4354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_executeOperation" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$_t_bytes$", @@ -4328,7 +4403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" }, { "id": 4259, @@ -4356,7 +4432,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "0" } ], "expression": { @@ -4430,7 +4507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4256, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 4257, @@ -4452,7 +4530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -4488,7 +4567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -4500,7 +4580,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "function(index[address:int_const 0])" - } + }, + "text": "IERC20(assets[0]).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -4548,7 +4629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" }, { "id": 4268, @@ -4593,7 +4675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4270, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4271, @@ -4615,7 +4698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -4661,7 +4745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4273, - "is_pure": false + "is_pure": false, + "text": "premiums" }, "base_expression": { "id": 4274, @@ -4683,7 +4768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -4777,7 +4863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4265, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 4266, @@ -4799,7 +4886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -4835,7 +4923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -4847,7 +4936,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "function(index[address:int_const 0])" - } + }, + "text": "IERC20(assets[0]).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -4886,7 +4976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -5207,13 +5298,14 @@ } ] }, - "signature_raw": "executeOperation(address, uint256, uint256, address, bytes)", - "signature": "b379d6b5", + "signature_raw": "executeOperation(address,uint256,uint256,address,bytes)", + "signature": "1b11d0ff", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(address,uint256,uint256,address,bytes)" - } + }, + "text": "functionexecuteOperation(address[]calldataassets,uint256[]calldataamounts,uint256[]calldatapremiums,addressinitiator,bytescalldataparams)externaloverridereturns(bool){require(initiator==address(this),Errors.LS_INVALID_CONFIGURATION);require(msg.sender==AAVE_LENDING_POOL_ADDRESS,Errors.LS_INVALID_CONFIGURATION);_executeOperation(assets[0],amounts[0],premiums[0],params);IERC20(assets[0]).safeApprove(AAVE_LENDING_POOL_ADDRESS,0);IERC20(assets[0]).safeApprove(AAVE_LENDING_POOL_ADDRESS,amounts[0]+premiums[0]);returntrue;}" }, { "id": 4278, @@ -5328,14 +5420,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 4297, @@ -5355,7 +5449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4052, - "is_pure": false + "is_pure": false, + "text": "BALANCER_VAULT" }, "type_description": { "type_identifier": "t_bool", @@ -5403,7 +5498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -5415,7 +5511,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -5436,7 +5533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -5498,7 +5596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4089, - "is_pure": false + "is_pure": false, + "text": "_balancerFlashLoanLock" }, "right_expression": { "id": 4304, @@ -5520,7 +5619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bool", @@ -5568,7 +5668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -5580,7 +5681,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -5601,7 +5703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -5687,7 +5790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4313, - "is_pure": false + "is_pure": false, + "text": "tokens" }, "base_expression": { "id": 4314, @@ -5709,7 +5813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -5770,7 +5875,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -5806,7 +5912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4316, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4317, @@ -5828,7 +5935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -5874,7 +5982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4319, - "is_pure": false + "is_pure": false, + "text": "feeAmounts" }, "base_expression": { "id": 4320, @@ -5896,7 +6005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -5945,7 +6055,8 @@ "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" } - ] + ], + "text": "userData" } ], "expression": { @@ -5966,7 +6077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_executeOperation" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$_t_bytes$", @@ -6037,14 +6149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4331, @@ -6089,7 +6203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4333, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4334, @@ -6111,7 +6226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -6157,7 +6273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4336, - "is_pure": false + "is_pure": false, + "text": "feeAmounts" }, "base_expression": { "id": 4337, @@ -6179,7 +6296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -6273,7 +6391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4327, - "is_pure": false + "is_pure": false, + "text": "tokens" }, "base_expression": { "id": 4328, @@ -6295,7 +6414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -6331,7 +6451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -6343,7 +6464,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "function(index[address:int_const 0])" - } + }, + "text": "IERC20(tokens[0]).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -6593,13 +6715,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "receiveFlashLoan(IERC20, uint256, uint256, bytes)", - "signature": "598145d7", + "signature_raw": "receiveFlashLoan(IERC20,uint256,uint256,bytes)", + "signature": "41664784", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_uint256$_t_uint256$_t_bytes$", "type_string": "function(contract IERC20,uint256,uint256,bytes)" - } + }, + "text": "functionreceiveFlashLoan(IERC20[]memorytokens,uint256[]memoryamounts,uint256[]memoryfeeAmounts,bytesmemoryuserData)externaloverride{require(msg.sender==BALANCER_VAULT,Errors.LS_INVALID_CONFIGURATION);require(_balancerFlashLoanLock==2,Errors.LS_INVALID_CONFIGURATION);_executeOperation(address(tokens[0]),amounts[0],feeAmounts[0],userData);IERC20(tokens[0]).safeTransfer(msg.sender,amounts[0]+feeAmounts[0]);}" }, { "id": 4339, @@ -6919,7 +7042,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4365, - "is_pure": false + "is_pure": false, + "text": "params" }, { "id": 4366, @@ -6971,7 +7095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" }, { "id": 4369, @@ -7009,7 +7134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint256" }, { "id": 4371, @@ -7047,7 +7173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint256" }, { "id": 4373, @@ -7086,7 +7213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" }, { "id": 4375, @@ -7125,7 +7253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -7175,14 +7304,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool_$_t_uint256_$_t_uint256_$_t_address_$_t_address$", @@ -7219,7 +7350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4351, - "is_pure": false + "is_pure": false, + "text": "isEnterPosition" }, "body": { "id": 4379, @@ -7288,7 +7420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "arg1" }, { "id": 4383, @@ -7314,7 +7447,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "arg2" }, { "id": 4384, @@ -7344,7 +7478,8 @@ "type_identifier": "t_function_$_t_function_$$", "type_string": "function(function())" } - ] + ], + "text": "asset" }, { "id": 4385, @@ -7378,7 +7513,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "borrowAmount" }, { "id": 4386, @@ -7416,7 +7552,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "fee" } ], "expression": { @@ -7437,7 +7574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_enterPositionWithFlashloan" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_address$_t_uint256$_t_uint256$", @@ -7658,13 +7796,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_executeOperation(address, uint256, uint256, bytes)", - "signature": "14a40462", + "signature_raw": "_executeOperation(address,uint256,uint256,bytes)", + "signature": "2a22d614", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_bytes$", "type_string": "function(address,uint256,uint256,bytes)" - } + }, + "text": "function_executeOperation(addressasset,uint256borrowAmount,uint256fee,bytesmemoryparams)internal{(boolisEnterPosition,uint256arg0,uint256arg1,addressarg2,addressarg3)=abi.decode(params,(bool,uint256,uint256,address,address));if(isEnterPosition){_enterPositionWithFlashloan(arg1,arg2,asset,borrowAmount,fee);}else{_withdrawWithFlashloan(arg0,arg1,arg2,arg3,asset,borrowAmount);}}" }, { "id": 4388, @@ -7756,7 +7895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4406, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "right_expression": { "id": 4407, @@ -7778,7 +7918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7826,7 +7967,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -7838,7 +7980,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -7859,7 +8002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -7921,7 +8065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4413, - "is_pure": false + "is_pure": false, + "text": "_leverage" }, "right_expression": { "id": 4414, @@ -7943,7 +8088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7991,7 +8137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -8003,7 +8150,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -8024,7 +8172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -8086,7 +8235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4420, - "is_pure": false + "is_pure": false, + "text": "_slippage" }, "right_expression": { "id": 4421, @@ -8108,7 +8258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8156,7 +8307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -8168,7 +8320,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -8189,7 +8342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -8248,7 +8402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 4428, @@ -8268,7 +8423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4428, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, "type_descriptions": [ { @@ -8326,7 +8482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -8338,7 +8495,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -8359,7 +8517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -8463,14 +8622,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -8533,7 +8694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -8554,7 +8716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -8566,7 +8729,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8591,7 +8755,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "type_description": { "type_identifier": "t_bool", @@ -8639,7 +8804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_NOT_ALLOWED", "argument_types": [ @@ -8651,7 +8817,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_NOT_ALLOWED" } ], "expression": { @@ -8672,7 +8839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -8747,14 +8915,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4451, @@ -8793,7 +8963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -8839,7 +9010,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8874,7 +9046,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_principal" } ], "expression": { @@ -8937,7 +9110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -8958,7 +9132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -8970,7 +9145,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -9057,14 +9233,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4460, @@ -9090,7 +9268,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_principal" }, { "id": 4461, @@ -9120,7 +9299,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_leverage" }, { "id": 4462, @@ -9154,7 +9334,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_slippage" }, { "id": 4463, @@ -9192,7 +9373,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_stableAsset" }, { "id": 4464, @@ -9234,7 +9416,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_flashLoanType" } ], "expression": { @@ -9255,7 +9438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_leverageWithFlashloan" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", @@ -9537,13 +9721,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "enterPositionWithFlashloan(uint256, uint256, uint256, address, )", - "signature": "a80adbba", + "signature_raw": "enterPositionWithFlashloan(uint256,uint256,uint256,address,)", + "signature": "738b7b68", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", "type_string": "function(uint256,uint256,uint256,address,enum GeneralLevSwap.FlashLoanType)" - } + }, + "text": "functionenterPositionWithFlashloan(uint256_principal,uint256_leverage,uint256_slippage,address_stableAsset,FlashLoanType_flashLoanType)external{require(_principal!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_leverage!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_slippage!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(ENABLED_STABLE_COINS[_stableAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(IERC20(COLLATERAL).balanceOf(msg.sender)\u003e=_principal,Errors.LS_SUPPLY_NOT_ALLOWED);IERC20(COLLATERAL).safeTransferFrom(msg.sender,address(this),_principal);_leverageWithFlashloan(msg.sender,_principal,_leverage,_slippage,_stableAsset,_flashLoanType);}" }, { "id": 4466, @@ -9635,7 +9820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4486, - "is_pure": false + "is_pure": false, + "text": "_repayAmount" }, "right_expression": { "id": 4487, @@ -9657,7 +9843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9705,7 +9892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -9717,7 +9905,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -9738,7 +9927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -9800,7 +9990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4493, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "right_expression": { "id": 4494, @@ -9822,7 +10013,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9870,7 +10062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -9882,7 +10075,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -9903,7 +10097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -9965,7 +10160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4500, - "is_pure": false + "is_pure": false, + "text": "_slippage" }, "right_expression": { "id": 4501, @@ -9987,7 +10183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10035,7 +10232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -10047,7 +10245,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -10068,7 +10267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -10127,7 +10327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 4508, @@ -10147,7 +10348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4508, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, "type_descriptions": [ { @@ -10205,7 +10407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -10217,7 +10420,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -10238,7 +10442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -10300,7 +10505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4514, - "is_pure": false + "is_pure": false, + "text": "_sAsset" }, "right_expression": { "id": 4515, @@ -10341,7 +10547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10387,7 +10594,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10440,7 +10648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -10452,7 +10661,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -10473,7 +10683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -10623,7 +10834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4530, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -10667,14 +10879,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "getReserveData", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.getReserveData" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -10686,7 +10900,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "LENDING_POOL.getReserveData(_stableAsset).variableDebtTokenAddress" }, { "id": 4531, @@ -10729,7 +10944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -10741,7 +10957,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -10762,7 +10979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getDebtAmount" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -10869,7 +11087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -10965,7 +11184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4533, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 4544, @@ -10987,7 +11207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -11045,7 +11266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4548, - "is_pure": false + "is_pure": false, + "text": "_repayAmount" }, { "id": 4549, @@ -11071,7 +11293,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "debtAmount" } ], "expression": { @@ -11115,14 +11338,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3688, - "is_pure": false + "is_pure": false, + "text": "Math" }, "member_name": "min", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Math_$3688", "type_string": "contract Math" - } + }, + "text": "Math.min" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -11137,7 +11362,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "amounts[0]=Math.min(_repayAmount,debtAmount);" }, { "id": 4550, @@ -11238,7 +11464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -11334,7 +11561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4550, - "is_pure": false + "is_pure": false, + "text": "modes" }, "base_expression": { "id": 4561, @@ -11356,7 +11584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -11393,7 +11622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -11403,7 +11633,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "modes[0]=0;" }, { "id": 4563, @@ -11520,7 +11751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, { "id": 4570, @@ -11546,7 +11778,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "_slippage" }, { "id": 4571, @@ -11576,7 +11809,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_requiredAmount" }, { "id": 4572, @@ -11619,7 +11853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -11639,7 +11874,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4574, @@ -11677,7 +11913,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_sAsset" } ], "expression": { @@ -11721,14 +11958,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_uint256$_t_uint256$_t_address$_t_address$", @@ -11779,7 +12018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4577, - "is_pure": false + "is_pure": false, + "text": "_flashLoanType" }, "right_expression": { "id": 4578, @@ -11822,14 +12062,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4036, - "is_pure": false + "is_pure": false, + "text": "FlashLoanType" }, "member_name": "AAVE", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_FlashLoanType_$4036", "type_string": "enum GeneralLevSwap.FlashLoanType" - } + }, + "text": "FlashLoanType.AAVE" }, "type_description": { "type_identifier": "t_bool", @@ -11949,7 +12191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -12045,7 +12288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4581, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 4592, @@ -12067,7 +12311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -12102,7 +12347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4593, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -12112,7 +12358,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "assets[0]=_stableAsset;" }, { "id": 4594, @@ -12194,7 +12441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -12240,7 +12488,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -12271,7 +12520,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "assets" }, { "id": 4604, @@ -12301,7 +12551,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amounts" }, { "id": 4605, @@ -12335,7 +12586,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_address$", "type_string": "function(function(address),address)" } - ] + ], + "text": "modes" }, { "id": 4606, @@ -12374,7 +12626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -12420,7 +12673,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -12467,7 +12721,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "params" }, { "id": 4611, @@ -12515,7 +12770,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_address$$_t_function_$_t_function_$_t_address$$$_t_address$$$_t_function_$_t_function_$_t_address$$$_t_address$$_t_function_$_t_function_$_t_address$$$_t_address$$$$_t_function_$_t_address$$", "type_string": "function(function(address),address,function(function(address),address),function(function(address),address,function(function(address),address)),function(address))" } - ] + ], + "text": "0" } ], "expression": { @@ -12578,7 +12834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" } ], "expression": { @@ -12599,7 +12856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IAaveFlashLoan" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -12611,7 +12869,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IAaveFlashLoan(AAVE_LENDING_POOL_ADDRESS).flashLoan" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_address$_t_rational_0_by_1$", @@ -12662,7 +12921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4614, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4615, @@ -12720,7 +12980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -12766,7 +13027,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -12834,7 +13096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4619, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -12855,7 +13118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -12867,7 +13131,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_stableAsset).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -12893,7 +13158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapTo" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_function_$_t_address$", @@ -13016,7 +13282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -13062,7 +13329,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13130,7 +13398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -13151,7 +13420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -13163,7 +13433,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -13214,7 +13485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4624, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, "right_expression": { "id": 4639, @@ -13234,7 +13506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4639, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "type_description": { "type_identifier": "t_bool", @@ -13310,7 +13583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4624, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, "right_expression": { "id": 4645, @@ -13330,7 +13604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4645, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -13378,7 +13653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -13390,7 +13666,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -13411,7 +13688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_supply" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", @@ -13459,7 +13737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4624, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, "right_expression": { "id": 4651, @@ -13479,7 +13758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4651, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -13489,7 +13769,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "collateralAmount=_requiredAmount;" } ] } @@ -13558,14 +13839,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4659, @@ -13591,7 +13874,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "collateralAmount" } ], "expression": { @@ -13654,7 +13938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -13675,7 +13960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -13687,7 +13973,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(COLLATERAL).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -14013,13 +14300,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "withdrawWithFlashloan(uint256, uint256, uint256, address, address, )", - "signature": "343b1a24", + "signature_raw": "withdrawWithFlashloan(uint256,uint256,uint256,address,address,)", + "signature": "b333f937", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_address$_t_enum_$_FlashLoanType_$4036$", "type_string": "function(uint256,uint256,uint256,address,address,enum GeneralLevSwap.FlashLoanType)" - } + }, + "text": "functionwithdrawWithFlashloan(uint256_repayAmount,uint256_requiredAmount,uint256_slippage,address_stableAsset,address_sAsset,FlashLoanType_flashLoanType)external{require(_repayAmount\u003e0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_requiredAmount\u003e0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_slippage\u003e0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(ENABLED_STABLE_COINS[_stableAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(_sAsset!=address(0),Errors.LS_INVALID_CONFIGURATION);uint256debtAmount=_getDebtAmount(LENDING_POOL.getReserveData(_stableAsset).variableDebtTokenAddress,msg.sender);uint256[]memoryamounts=newuint256[](1);amounts[0]=Math.min(_repayAmount,debtAmount);uint256[]memorymodes=newuint256[](1);modes[0]=0;bytesmemoryparams=abi.encode(false,_slippage,_requiredAmount,msg.sender,_sAsset);if(_flashLoanType==FlashLoanType.AAVE){address[]memoryassets=newaddress[](1);assets[0]=_stableAsset;IAaveFlashLoan(AAVE_LENDING_POOL_ADDRESS).flashLoan(address(this),assets,amounts,modes,address(this),params,0);}else{IERC20[]memoryassets=newIERC20[](1);assets[0]=IERC20(_stableAsset);_balancerFlashLoanLock=2;IBalancerVault(BALANCER_VAULT).flashLoan(address(this),assets,amounts,params);_balancerFlashLoanLock=1;}_swapTo(_stableAsset,IERC20(_stableAsset).balanceOf(address(this)));uint256collateralAmount=IERC20(COLLATERAL).balanceOf(address(this));if(collateralAmount\u003e_requiredAmount){_supply(collateralAmount-_requiredAmount,msg.sender);collateralAmount=_requiredAmount;}IERC20(COLLATERAL).safeTransfer(msg.sender,collateralAmount);}" }, { "id": 4661, @@ -14157,7 +14445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4680, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4681, @@ -14183,7 +14472,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_borrowedAmount" } ], "expression": { @@ -14204,7 +14494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapTo" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -14267,7 +14558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4675, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, "right_expression": { "id": 4686, @@ -14287,7 +14579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4686, - "is_pure": false + "is_pure": false, + "text": "_minAmount" }, "type_description": { "type_identifier": "t_bool", @@ -14335,7 +14628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_FAILED", "argument_types": [ @@ -14347,7 +14641,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_FAILED" } ], "expression": { @@ -14368,7 +14663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -14416,7 +14712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4675, - "is_pure": false + "is_pure": false, + "text": "collateralAmount" }, { "id": 4692, @@ -14442,7 +14739,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -14463,7 +14761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_supply" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", @@ -14515,7 +14814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4695, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4696, @@ -14549,7 +14849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4697, - "is_pure": false + "is_pure": false, + "text": "_borrowedAmount" }, "right_expression": { "id": 4698, @@ -14569,7 +14870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4698, - "is_pure": false + "is_pure": false, + "text": "_fee" }, "type_description": { "type_identifier": "t_uint256", @@ -14604,7 +14906,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -14625,7 +14928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_borrow" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", @@ -14887,13 +15191,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_enterPositionWithFlashloan(uint256, address, address, uint256, uint256)", - "signature": "c9caf02e", + "signature_raw": "_enterPositionWithFlashloan(uint256,address,address,uint256,uint256)", + "signature": "4176f4aa", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(uint256,address,address,uint256,uint256)" - } + }, + "text": "function_enterPositionWithFlashloan(uint256_minAmount,address_user,address_stableAsset,uint256_borrowedAmount,uint256_fee)internal{uint256collateralAmount=_swapTo(_stableAsset,_borrowedAmount);require(collateralAmount\u003e=_minAmount,Errors.LS_SUPPLY_FAILED);_supply(collateralAmount,_user);_borrow(_stableAsset,_borrowedAmount+_fee,_user);}" }, { "id": 4701, @@ -14975,7 +15280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4719, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4720, @@ -15001,7 +15307,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_borrowedAmount" }, { "id": 4721, @@ -15031,7 +15338,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -15052,7 +15360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_repay" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", @@ -15194,7 +15503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4729, - "is_pure": false + "is_pure": false, + "text": "_sAsset" } ], "expression": { @@ -15215,7 +15525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IAToken" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15227,7 +15538,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IAToken(_sAsset).UNDERLYING_ASSET_ADDRESS" }, "type_description": { "type_identifier": "t_function_$", @@ -15353,7 +15665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4722, - "is_pure": false + "is_pure": false, + "text": "internalAsset" } ], "expression": { @@ -15397,14 +15710,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "getConfiguration", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.getConfiguration" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15527,14 +15842,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4730, - "is_pure": false + "is_pure": false, + "text": "configuration" }, "member_name": "getParamsMemory", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "configuration.getParamsMemory" }, "type_description": { "type_identifier": "t_function_$", @@ -15597,7 +15914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4738, - "is_pure": false + "is_pure": false, + "text": "assetLiquidationThreshold" }, "right_expression": { "id": 4748, @@ -15619,7 +15937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -15667,7 +15986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_INVALID_CONFIGURATION", "argument_types": [ @@ -15679,7 +15999,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_INVALID_CONFIGURATION" } ], "expression": { @@ -15700,7 +16021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -15894,7 +16216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4761, - "is_pure": false + "is_pure": false, + "text": "_user" } ], "expression": { @@ -15938,14 +16261,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "getUserAccountData", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.getUserAccountData" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16143,7 +16468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4751, - "is_pure": false + "is_pure": false, + "text": "totalCollateralETH" }, "right_expression": { "id": 4774, @@ -16163,7 +16489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4751, - "is_pure": false + "is_pure": false, + "text": "currentLiquidationThreshold" }, "type_description": { "type_identifier": "t_uint256", @@ -16217,14 +16544,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1972, - "is_pure": false + "is_pure": false, + "text": "PercentageMath" }, "member_name": "PERCENTAGE_FACTOR", "argument_types": [], "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", "type_string": "contract PercentageMath" - } + }, + "text": "PercentageMath.PERCENTAGE_FACTOR" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -16249,7 +16578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4751, - "is_pure": false + "is_pure": false, + "text": "totalDebtETH" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -16303,14 +16633,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1972, - "is_pure": false + "is_pure": false, + "text": "PercentageMath" }, "member_name": "PERCENTAGE_FACTOR", "argument_types": [], "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", "type_string": "contract PercentageMath" - } + }, + "text": "PercentageMath.PERCENTAGE_FACTOR" }, "type_description": { "type_identifier": "t_tuple_$_t_tuple_$_t_uint256$$", @@ -16341,7 +16673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4738, - "is_pure": false + "is_pure": false, + "text": "assetLiquidationThreshold" }, "type_description": { "type_identifier": "t_tuple_$_t_tuple_$_t_tuple_$_t_uint256$$$", @@ -16469,7 +16802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4792, - "is_pure": false + "is_pure": false, + "text": "_user" } ], "expression": { @@ -16532,7 +16866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4791, - "is_pure": false + "is_pure": false, + "text": "_sAsset" } ], "expression": { @@ -16553,7 +16888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16565,7 +16901,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_sAsset).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16632,7 +16969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4762, - "is_pure": false + "is_pure": false, + "text": "withdrawalAmountETH" }, "right_expression": { "id": 4797, @@ -16679,7 +17017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 4801, @@ -16699,7 +17038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4066, - "is_pure": false + "is_pure": false, + "text": "DECIMALS" }, "type_descriptions": [ { @@ -16766,7 +17106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -16787,7 +17128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -16841,14 +17183,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3688, - "is_pure": false + "is_pure": false, + "text": "Math" }, "member_name": "min", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Math_$3688", "type_string": "contract Math" - } + }, + "text": "Math.min" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_tuple_$_t_uint256$", @@ -16911,7 +17255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4781, - "is_pure": false + "is_pure": false, + "text": "withdrawalAmount" }, "right_expression": { "id": 4809, @@ -16931,7 +17276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4809, - "is_pure": false + "is_pure": false, + "text": "_requiredAmount" }, "type_description": { "type_identifier": "t_bool", @@ -16979,7 +17325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_NOT_ALLOWED", "argument_types": [ @@ -16991,7 +17338,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_NOT_ALLOWED" } ], "expression": { @@ -17012,7 +17360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -17064,7 +17413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4817, - "is_pure": false + "is_pure": false, + "text": "_user" }, { "id": 4818, @@ -17103,7 +17453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -17149,7 +17500,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17184,7 +17536,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "withdrawalAmount" } ], "expression": { @@ -17247,7 +17600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4816, - "is_pure": false + "is_pure": false, + "text": "_sAsset" } ], "expression": { @@ -17268,7 +17622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17280,7 +17635,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_sAsset).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -17332,7 +17688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4781, - "is_pure": false + "is_pure": false, + "text": "withdrawalAmount" }, { "id": 4826, @@ -17358,7 +17715,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_slippage" }, { "id": 4827, @@ -17388,7 +17746,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -17409,7 +17768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_remove" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$", @@ -17453,7 +17813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4830, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -17474,7 +17835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17780,13 +18142,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_withdrawWithFlashloan(uint256, uint256, address, address, address, uint256)", - "signature": "f265214d", + "signature_raw": "_withdrawWithFlashloan(uint256,uint256,address,address,address,uint256)", + "signature": "5883d38b", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,address,uint256)" - } + }, + "text": "function_withdrawWithFlashloan(uint256_slippage,uint256_requiredAmount,address_user,address_sAsset,address_stableAsset,uint256_borrowedAmount)internal{_repay(_stableAsset,_borrowedAmount,_user);addressinternalAsset=IAToken(_sAsset).UNDERLYING_ASSET_ADDRESS();DataTypes.ReserveConfigurationMapmemoryconfiguration=LENDING_POOL.getConfiguration(internalAsset);(,uint256assetLiquidationThreshold,,,)=configuration.getParamsMemory();require(assetLiquidationThreshold!=0,Errors.LS_INVALID_CONFIGURATION);(uint256totalCollateralETH,uint256totalDebtETH,,uint256currentLiquidationThreshold,,)=LENDING_POOL.getUserAccountData(_user);uint256withdrawalAmountETH=(((totalCollateralETH*currentLiquidationThreshold)/PercentageMath.PERCENTAGE_FACTOR-totalDebtETH)*PercentageMath.PERCENTAGE_FACTOR)/assetLiquidationThreshold;uint256withdrawalAmount=Math.min(IERC20(_sAsset).balanceOf(_user),(withdrawalAmountETH*(10**DECIMALS))/_getAssetPrice(COLLATERAL));require(withdrawalAmount\u003e_requiredAmount,Errors.LS_SUPPLY_NOT_ALLOWED);IERC20(_sAsset).safeTransferFrom(_user,address(this),withdrawalAmount);_remove(withdrawalAmount,_slippage,_user);_swapFrom(_stableAsset);}" }, { "id": 4832, @@ -17885,7 +18248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" } ], "expression": { @@ -17929,14 +18293,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4056, - "is_pure": false + "is_pure": false, + "text": "VAULT_WHITELIST" }, "member_name": "whitelistUserCount", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E)" - } + }, + "text": "VAULT_WHITELIST.whitelistUserCount" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -17963,7 +18329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -18048,7 +18415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" }, { "id": 4854, @@ -18074,7 +18442,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "_user" } ], "expression": { @@ -18118,14 +18487,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4056, - "is_pure": false + "is_pure": false, + "text": "VAULT_WHITELIST" }, "member_name": "whitelistUser", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E)" - } + }, + "text": "VAULT_WHITELIST.whitelistUser" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -18173,7 +18544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "CALLER_NOT_WHITELIST_USER", "argument_types": [ @@ -18185,7 +18557,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.CALLER_NOT_WHITELIST_USER" } ], "expression": { @@ -18206,7 +18579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$", @@ -18261,7 +18635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" }, { "id": 4863, @@ -18287,7 +18662,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "_amount" }, { "id": 4864, @@ -18317,7 +18693,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" } ], "expression": { @@ -18380,7 +18757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" } ], "expression": { @@ -18401,7 +18779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IGeneralVault" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18413,7 +18792,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IGeneralVault(VAULT).depositCollateralFrom" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -18545,13 +18925,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_supply(uint256, address)", - "signature": "cb2b642c", + "signature_raw": "_supply(uint256,address)", + "signature": "c512d299", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "function_supply(uint256_amount,address_user)internal{if(VAULT_WHITELIST.whitelistUserCount(VAULT)\u003e0){require(VAULT_WHITELIST.whitelistUser(VAULT,_user),Errors.CALLER_NOT_WHITELIST_USER);}IGeneralVault(VAULT).depositCollateralFrom(COLLATERAL,_amount,_user);}" }, { "id": 4866, @@ -18650,7 +19031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" } ], "expression": { @@ -18694,14 +19076,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4056, - "is_pure": false + "is_pure": false, + "text": "VAULT_WHITELIST" }, "member_name": "whitelistUserCount", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E)" - } + }, + "text": "VAULT_WHITELIST.whitelistUserCount" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18728,7 +19112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -18813,7 +19198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" }, { "id": 4890, @@ -18839,7 +19225,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "_user" } ], "expression": { @@ -18883,14 +19270,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4056, - "is_pure": false + "is_pure": false, + "text": "VAULT_WHITELIST" }, "member_name": "whitelistUser", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x88eE44794bAf865E3b0b192d1F9f0AC3Daf1EA0E)" - } + }, + "text": "VAULT_WHITELIST.whitelistUser" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -18938,7 +19327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "CALLER_NOT_WHITELIST_USER", "argument_types": [ @@ -18950,7 +19340,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.CALLER_NOT_WHITELIST_USER" } ], "expression": { @@ -18971,7 +19362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$", @@ -19030,7 +19422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" }, { "id": 4899, @@ -19056,7 +19449,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "_amount" }, { "id": 4900, @@ -19086,7 +19480,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_slippage" }, { "id": 4901, @@ -19125,7 +19520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -19171,7 +19567,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -19239,7 +19636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "VAULT" } ], "expression": { @@ -19260,7 +19658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IGeneralVault" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -19272,7 +19671,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IGeneralVault(VAULT).withdrawCollateral" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", @@ -19447,13 +19847,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_remove(uint256, uint256, address)", - "signature": "6bfeebbe", + "signature_raw": "_remove(uint256,uint256,address)", + "signature": "686e8113", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$", "type_string": "function(uint256,uint256,address)" - } + }, + "text": "function_remove(uint256_amount,uint256_slippage,address_user)internal{if(VAULT_WHITELIST.whitelistUserCount(VAULT)\u003e0){require(VAULT_WHITELIST.whitelistUser(VAULT,_user),Errors.CALLER_NOT_WHITELIST_USER);}IGeneralVault(VAULT).withdrawCollateral(COLLATERAL,_amount,_slippage,address(this));}" }, { "id": 4906, @@ -19539,7 +19940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4922, - "is_pure": false + "is_pure": false, + "text": "_user" } ], "expression": { @@ -19602,7 +20004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4921, - "is_pure": false + "is_pure": false, + "text": "_variableDebtTokenAddress" } ], "expression": { @@ -19623,7 +20026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -19635,7 +20039,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_variableDebtTokenAddress).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -19814,13 +20219,14 @@ } ] }, - "signature_raw": "_getDebtAmount(address, address)", - "signature": "49bb1527", + "signature_raw": "_getDebtAmount(address,address)", + "signature": "df3c06ca", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "function_getDebtAmount(address_variableDebtTokenAddress,address_user)internalviewreturns(uint256){returnIERC20(_variableDebtTokenAddress).balanceOf(_user);}" }, { "id": 4924, @@ -19910,7 +20316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4937, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4938, @@ -19936,7 +20343,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" }, { "id": 4939, @@ -19966,7 +20374,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "USE_VARIABLE_DEBT" }, { "id": 4940, @@ -20002,7 +20411,8 @@ "type_identifier": "t_function_$_t_address$$_t_uint256$", "type_string": "function(address,uint256)" } - ] + ], + "text": "0" }, { "id": 4941, @@ -20040,7 +20450,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "borrower" } ], "expression": { @@ -20084,14 +20495,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "borrow", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.borrow" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_function_$_t_address$_t_uint256$_t_rational_0_by_1$_t_address$", @@ -20267,13 +20680,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_borrow(address, uint256, address)", - "signature": "43d4b0de", + "signature_raw": "_borrow(address,uint256,address)", + "signature": "c901b22a", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "function_borrow(address_stableAsset,uint256_amount,addressborrower)internal{LENDING_POOL.borrow(_stableAsset,_amount,USE_VARIABLE_DEBT,0,borrower);}" }, { "id": 4943, @@ -20370,7 +20784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" } ], "expression": { @@ -20416,7 +20831,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -20449,7 +20865,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "0" } ], "expression": { @@ -20512,7 +20929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4957, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -20533,7 +20951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -20545,7 +20964,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_stableAsset).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$", @@ -20612,7 +21032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" } ], "expression": { @@ -20658,7 +21079,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -20689,7 +21111,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "_amount" } ], "expression": { @@ -20752,7 +21175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4967, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" } ], "expression": { @@ -20773,7 +21197,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -20785,7 +21210,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_stableAsset).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -20841,7 +21267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4976, - "is_pure": false + "is_pure": false, + "text": "_stableAsset" }, { "id": 4977, @@ -20867,7 +21294,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" }, { "id": 4978, @@ -20897,7 +21325,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "USE_VARIABLE_DEBT" }, { "id": 4979, @@ -20931,7 +21360,8 @@ "type_identifier": "t_function_$_t_address$$_t_uint256$", "type_string": "function(address,uint256)" } - ] + ], + "text": "borrower" } ], "expression": { @@ -20975,14 +21405,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4080, - "is_pure": false + "is_pure": false, + "text": "LENDING_POOL" }, "member_name": "repay", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ILendingPool_$1023", "type_string": "contract ILendingPool" - } + }, + "text": "LENDING_POOL.repay" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_function_$_t_address$_t_uint256$_t_address$", @@ -21158,13 +21590,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_repay(address, uint256, address)", - "signature": "547a3d30", + "signature_raw": "_repay(address,uint256,address)", + "signature": "3e62cd3f", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "function_repay(address_stableAsset,uint256_amount,addressborrower)internal{IERC20(_stableAsset).safeApprove(address(LENDING_POOL),0);IERC20(_stableAsset).safeApprove(address(LENDING_POOL),_amount);LENDING_POOL.repay(_stableAsset,_amount,USE_VARIABLE_DEBT,borrower);}" }, { "id": 4981, @@ -21321,7 +21754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5001, - "is_pure": false + "is_pure": false, + "text": "_collateralAmount" }, "right_expression": { "id": 5002, @@ -21360,7 +21794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5007, - "is_pure": false + "is_pure": false, + "text": "_ltv" } ], "expression": { @@ -21423,7 +21858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -21444,7 +21880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -21456,7 +21893,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "_getAssetPrice(COLLATERAL).percentMul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -21519,7 +21957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 5012, @@ -21539,7 +21978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4066, - "is_pure": false + "is_pure": false, + "text": "DECIMALS" }, "type_descriptions": [ { @@ -21605,7 +22045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsETH" }, "right_expression": { "id": 5017, @@ -21651,7 +22092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsETH" }, "right_expression": { "id": 5020, @@ -21671,7 +22113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4040, - "is_pure": false + "is_pure": false, + "text": "SAFE_BUFFER" }, "type_description": { "type_identifier": "t_bool", @@ -21710,7 +22153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsETH" }, "right_expression": { "id": 5023, @@ -21730,7 +22174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4040, - "is_pure": false + "is_pure": false, + "text": "SAFE_BUFFER" }, "type_description": { "type_identifier": "t_uint256", @@ -21757,7 +22202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -21784,7 +22230,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "availableBorrowsETH=availableBorrowsETH\u003eSAFE_BUFFER?availableBorrowsETH-SAFE_BUFFER:0;" }, { "id": 5025, @@ -21906,7 +22353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsETH" }, "right_expression": { "id": 5032, @@ -21953,7 +22401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 5036, @@ -21973,7 +22422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5036, - "is_pure": false + "is_pure": false, + "text": "_assetDecimals" }, "type_descriptions": [ { @@ -22040,7 +22490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5039, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" } ], "expression": { @@ -22061,7 +22512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -22104,7 +22556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5025, - "is_pure": false + "is_pure": false, + "text": "availableBorrowsAsset" } } ] @@ -22363,13 +22816,14 @@ } ] }, - "signature_raw": "_calcBorrowableAmount(uint256, uint256, address, uint256)", - "signature": "189494c2", + "signature_raw": "_calcBorrowableAmount(uint256,uint256,address,uint256)", + "signature": "cd3b3096", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,uint256)" - } + }, + "text": "function_calcBorrowableAmount(uint256_collateralAmount,uint256_ltv,address_borrowAsset,uint256_assetDecimals)internalviewreturns(uint256){uint256availableBorrowsETH=(_collateralAmount*_getAssetPrice(COLLATERAL).percentMul(_ltv))/(10**DECIMALS);availableBorrowsETH=availableBorrowsETH\u003eSAFE_BUFFER?availableBorrowsETH-SAFE_BUFFER:0;uint256availableBorrowsAsset=(availableBorrowsETH*(10**_assetDecimals))/_getAssetPrice(_borrowAsset);returnavailableBorrowsAsset;}" }, { "id": 5043, @@ -22438,7 +22892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -22611,13 +23066,14 @@ } ] }, - "signature_raw": "_swapTo(address, uint256)", - "signature": "bb1ebeb3", + "signature_raw": "_swapTo(address,uint256)", + "signature": "8deddf3a", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_swapTo(address,uint256)internalvirtualreturns(uint256){return0;}" }, { "id": 5056, @@ -22686,7 +23142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -22822,7 +23279,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_swapFrom(address)internalvirtualreturns(uint256){return0;}" }, { "id": 5067, @@ -22914,7 +23372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5078, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "right_expression": { "id": 5079, @@ -22936,7 +23395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -22984,7 +23444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -22996,7 +23457,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -23017,7 +23479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -23076,7 +23539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 5086, @@ -23096,7 +23560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5086, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" }, "type_descriptions": [ { @@ -23154,7 +23619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -23166,7 +23632,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -23187,7 +23654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -23291,14 +23759,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -23361,7 +23831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5096, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" } ], "expression": { @@ -23382,7 +23853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -23394,7 +23866,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_zappingAsset).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -23419,7 +23892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5099, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "type_description": { "type_identifier": "t_bool", @@ -23467,7 +23941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_NOT_ALLOWED", "argument_types": [ @@ -23479,7 +23954,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_NOT_ALLOWED" } ], "expression": { @@ -23500,7 +23976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -23575,14 +24052,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 5109, @@ -23621,7 +24100,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -23667,7 +24147,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -23702,7 +24183,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_principal" } ], "expression": { @@ -23765,7 +24247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5106, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" } ], "expression": { @@ -23786,7 +24269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -23798,7 +24282,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_zappingAsset).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -23906,7 +24391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5119, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" }, { "id": 5120, @@ -23932,7 +24418,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_principal" } ], "expression": { @@ -23953,7 +24440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapTo" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -24002,7 +24490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5114, - "is_pure": false + "is_pure": false, + "text": "suppliedAmount" }, { "id": 5124, @@ -24045,7 +24534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -24057,7 +24547,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -24078,7 +24569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_supply" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", @@ -24210,13 +24702,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "zapDeposit(address, uint256)", - "signature": "cfd6c38a", + "signature_raw": "zapDeposit(address,uint256)", + "signature": "661d89ca", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionzapDeposit(address_zappingAsset,uint256_principal)external{require(_principal!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(ENABLED_STABLE_COINS[_zappingAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(IERC20(_zappingAsset).balanceOf(msg.sender)\u003e=_principal,Errors.LS_SUPPLY_NOT_ALLOWED);IERC20(_zappingAsset).safeTransferFrom(msg.sender,address(this),_principal);uint256suppliedAmount=_swapTo(_zappingAsset,_principal);_supply(suppliedAmount,msg.sender);}" }, { "id": 5127, @@ -24308,7 +24801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5147, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "right_expression": { "id": 5148, @@ -24330,7 +24824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24378,7 +24873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -24390,7 +24886,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -24411,7 +24908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -24473,7 +24971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5154, - "is_pure": false + "is_pure": false, + "text": "_leverage" }, "right_expression": { "id": 5155, @@ -24495,7 +24994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24543,7 +25043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -24555,7 +25056,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -24576,7 +25078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -24638,7 +25141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5161, - "is_pure": false + "is_pure": false, + "text": "_slippage" }, "right_expression": { "id": 5162, @@ -24660,7 +25164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24708,7 +25213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SWAP_AMOUNT_NOT_GT_0", "argument_types": [ @@ -24720,7 +25226,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SWAP_AMOUNT_NOT_GT_0" } ], "expression": { @@ -24741,7 +25248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -24800,7 +25308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 5169, @@ -24820,7 +25329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5169, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" }, "type_descriptions": [ { @@ -24878,7 +25388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -24890,7 +25401,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -24911,7 +25423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -24970,7 +25483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4084, - "is_pure": false + "is_pure": false, + "text": "ENABLED_STABLE_COINS" }, "base_expression": { "id": 5176, @@ -24990,7 +25504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5176, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" }, "type_descriptions": [ { @@ -25048,7 +25563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_STABLE_COIN_NOT_SUPPORTED", "argument_types": [ @@ -25060,7 +25576,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_STABLE_COIN_NOT_SUPPORTED" } ], "expression": { @@ -25081,7 +25598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_address$", @@ -25185,14 +25703,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -25255,7 +25775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5186, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" } ], "expression": { @@ -25276,7 +25797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25288,7 +25810,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_zappingAsset).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25313,7 +25836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5189, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "type_description": { "type_identifier": "t_bool", @@ -25361,7 +25885,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "LS_SUPPLY_NOT_ALLOWED", "argument_types": [ @@ -25373,7 +25898,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.LS_SUPPLY_NOT_ALLOWED" } ], "expression": { @@ -25394,7 +25920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -25469,14 +25996,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 5199, @@ -25515,7 +26044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -25561,7 +26091,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25596,7 +26127,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_principal" } ], "expression": { @@ -25659,7 +26191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5196, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" } ], "expression": { @@ -25680,7 +26213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25692,7 +26226,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_zappingAsset).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -25800,7 +26335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5209, - "is_pure": false + "is_pure": false, + "text": "_zappingAsset" }, { "id": 5210, @@ -25826,7 +26362,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_principal" } ], "expression": { @@ -25847,7 +26384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapTo" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -25935,14 +26473,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 5215, @@ -25968,7 +26508,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "collateralAmount" }, { "id": 5216, @@ -25998,7 +26539,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_leverage" }, { "id": 5217, @@ -26032,7 +26574,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_slippage" }, { "id": 5218, @@ -26070,7 +26613,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_borrowAsset" }, { "id": 5219, @@ -26112,7 +26656,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_flashLoanType" } ], "expression": { @@ -26133,7 +26678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_leverageWithFlashloan" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", @@ -26459,13 +27005,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "zapLeverageWithFlashloan(address, uint256, uint256, uint256, address, )", - "signature": "e2b2a9a4", + "signature_raw": "zapLeverageWithFlashloan(address,uint256,uint256,uint256,address,)", + "signature": "fc79450a", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", "type_string": "function(address,uint256,uint256,uint256,address,enum GeneralLevSwap.FlashLoanType)" - } + }, + "text": "functionzapLeverageWithFlashloan(address_zappingAsset,uint256_principal,uint256_leverage,uint256_slippage,address_borrowAsset,FlashLoanType_flashLoanType)external{require(_principal!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_leverage!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(_slippage!=0,Errors.LS_SWAP_AMOUNT_NOT_GT_0);require(ENABLED_STABLE_COINS[_zappingAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(ENABLED_STABLE_COINS[_borrowAsset],Errors.LS_STABLE_COIN_NOT_SUPPORTED);require(IERC20(_zappingAsset).balanceOf(msg.sender)\u003e=_principal,Errors.LS_SUPPLY_NOT_ALLOWED);IERC20(_zappingAsset).safeTransferFrom(msg.sender,address(this),_principal);uint256collateralAmount=_swapTo(_zappingAsset,_principal);_leverageWithFlashloan(msg.sender,collateralAmount,_leverage,_slippage,_borrowAsset,_flashLoanType);}" }, { "id": 5221, @@ -26636,7 +27183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5245, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" } ], "expression": { @@ -26657,7 +27205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20Detailed" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -26669,7 +27218,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20Detailed(_borrowAsset).decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -26776,7 +27326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -26872,7 +27423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5246, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 5257, @@ -26894,7 +27446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -26985,14 +27538,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1972, - "is_pure": false + "is_pure": false, + "text": "PercentageMath" }, "member_name": "PERCENTAGE_FACTOR", "argument_types": [], "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", "type_string": "contract PercentageMath" - } + }, + "text": "PercentageMath.PERCENTAGE_FACTOR" }, "right_expression": { "id": 5289, @@ -27012,7 +27567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5289, - "is_pure": false + "is_pure": false, + "text": "_slippage" }, "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", @@ -27080,7 +27636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5285, - "is_pure": false + "is_pure": false, + "text": "_leverage" } ], "expression": { @@ -27236,7 +27793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5270, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "right_expression": { "id": 5271, @@ -27275,7 +27833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL" } ], "expression": { @@ -27296,7 +27855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -27345,7 +27905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 5277, @@ -27365,7 +27926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4066, - "is_pure": false + "is_pure": false, + "text": "DECIMALS" }, "type_descriptions": [ { @@ -27420,7 +27982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 5281, @@ -27440,7 +28003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5238, - "is_pure": false + "is_pure": false, + "text": "borrowAssetDecimals" }, "type_descriptions": [ { @@ -27501,7 +28065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5284, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" } ], "expression": { @@ -27522,7 +28087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAssetPrice" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27545,7 +28111,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_tuple_$_t_tuple_$_t_tuple_$_t_uint256$$$$", "type_string": "tuple(tuple(tuple(tuple(uint256))))" - } + }, + "text": "((((_principal*_getAssetPrice(COLLATERAL))/10**DECIMALS)*10**borrowAssetDecimals)/_getAssetPrice(_borrowAsset)).percentMul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -27557,7 +28124,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "((((_principal*_getAssetPrice(COLLATERAL))/10**DECIMALS)*10**borrowAssetDecimals)/_getAssetPrice(_borrowAsset)).percentMul(_leverage).percentMul" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27572,7 +28140,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "amounts[0]=((((_principal*_getAssetPrice(COLLATERAL))/10**DECIMALS)*10**borrowAssetDecimals)/_getAssetPrice(_borrowAsset)).percentMul(_leverage).percentMul(PercentageMath.PERCENTAGE_FACTOR+_slippage);" }, { "id": 5290, @@ -27673,7 +28242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -27769,7 +28339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5290, - "is_pure": false + "is_pure": false, + "text": "modes" }, "base_expression": { "id": 5301, @@ -27791,7 +28362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -27828,7 +28400,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -27838,7 +28411,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "modes[0]=0;" }, { "id": 5303, @@ -27974,14 +28548,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1972, - "is_pure": false + "is_pure": false, + "text": "PercentageMath" }, "member_name": "PERCENTAGE_FACTOR", "argument_types": [], "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", "type_string": "contract PercentageMath" - } + }, + "text": "PercentageMath.PERCENTAGE_FACTOR" }, "right_expression": { "id": 5312, @@ -28001,7 +28577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5312, - "is_pure": false + "is_pure": false, + "text": "_leverage" }, "type_description": { "type_identifier": "t_contract$_PercentageMath_$1972", @@ -28050,14 +28627,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5308, - "is_pure": false + "is_pure": false, + "text": "_principal" }, "member_name": "percentMul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_principal.percentMul" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28180,7 +28759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 5320, @@ -28208,7 +28788,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "0" }, { "id": 5321, @@ -28238,7 +28819,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "minCollateralAmount" }, { "id": 5322, @@ -28272,7 +28854,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_user" }, { "id": 5323, @@ -28313,7 +28896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -28359,7 +28943,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -28408,14 +28993,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_rational_0_by_1$_t_uint256$_t_address$_t_function_$_t_rational_0_by_1$", @@ -28466,7 +29053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5329, - "is_pure": false + "is_pure": false, + "text": "_flashLoanType" }, "right_expression": { "id": 5330, @@ -28509,14 +29097,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4036, - "is_pure": false + "is_pure": false, + "text": "FlashLoanType" }, "member_name": "AAVE", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_FlashLoanType_$4036", "type_string": "enum GeneralLevSwap.FlashLoanType" - } + }, + "text": "FlashLoanType.AAVE" }, "type_description": { "type_identifier": "t_bool", @@ -28636,7 +29226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -28732,7 +29323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5333, - "is_pure": false + "is_pure": false, + "text": "assets" }, "base_expression": { "id": 5344, @@ -28754,7 +29346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -28789,7 +29382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5345, - "is_pure": false + "is_pure": false, + "text": "_borrowAsset" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -28799,7 +29393,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "assets[0]=_borrowAsset;" }, { "id": 5346, @@ -28881,7 +29476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -28927,7 +29523,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28958,7 +29555,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "assets" }, { "id": 5356, @@ -28988,7 +29586,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amounts" }, { "id": 5357, @@ -29022,7 +29621,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_address$", "type_string": "function(function(address),address)" } - ] + ], + "text": "modes" }, { "id": 5358, @@ -29061,7 +29661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -29107,7 +29708,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -29154,7 +29756,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "params" }, { "id": 5363, @@ -29202,7 +29805,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_address$$_t_function_$_t_function_$_t_address$$$_t_address$$$_t_function_$_t_function_$_t_address$$$_t_address$$_t_function_$_t_function_$_t_address$$$_t_address$$$$_t_function_$_t_address$$", "type_string": "function(function(address),address,function(function(address),address),function(function(address),address,function(function(address),address)),function(address))" } - ] + ], + "text": "0" } ], "expression": { @@ -29265,7 +29869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "AAVE_LENDING_POOL_ADDRESS" } ], "expression": { @@ -29286,7 +29891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IAaveFlashLoan" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -29298,7 +29904,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IAaveFlashLoan(AAVE_LENDING_POOL_ADDRESS).flashLoan" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_address$_t_rational_0_by_1$", @@ -29627,13 +30234,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_leverageWithFlashloan(address, uint256, uint256, uint256, address, )", - "signature": "37725b2e", + "signature_raw": "_leverageWithFlashloan(address,uint256,uint256,uint256,address,)", + "signature": "97f76e08", "scope": 4012, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_enum_$_FlashLoanType_$4036$", "type_string": "function(address,uint256,uint256,uint256,address,enum GeneralLevSwap.FlashLoanType)" - } + }, + "text": "function_leverageWithFlashloan(address_user,uint256_principal,uint256_leverage,uint256_slippage,address_borrowAsset,FlashLoanType_flashLoanType)internal{uint256borrowAssetDecimals=IERC20Detailed(_borrowAsset).decimals();uint256[]memoryamounts=newuint256[](1);amounts[0]=((((_principal*_getAssetPrice(COLLATERAL))/10**DECIMALS)*10**borrowAssetDecimals)/_getAssetPrice(_borrowAsset)).percentMul(_leverage).percentMul(PercentageMath.PERCENTAGE_FACTOR+_slippage);uint256[]memorymodes=newuint256[](1);modes[0]=0;uint256minCollateralAmount=_principal.percentMul(PercentageMath.PERCENTAGE_FACTOR+_leverage);bytesmemoryparams=abi.encode(true,0,minCollateralAmount,_user,address(0));if(_flashLoanType==FlashLoanType.AAVE){address[]memoryassets=newaddress[](1);assets[0]=_borrowAsset;IAaveFlashLoan(AAVE_LENDING_POOL_ADDRESS).flashLoan(address(this),assets,amounts,modes,address(this),params,0);}else{IERC20[]memoryassets=newIERC20[](1);assets[0]=IERC20(_borrowAsset);_balancerFlashLoanLock=2;IBalancerVault(BALANCER_VAULT).flashLoan(address(this),assets,amounts,params);_balancerFlashLoanLock=1;}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IAToken.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IAToken.solgo.ast.json index 31ad41e6..b8b5d8f4 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IAToken.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IAToken.solgo.ast.json @@ -562,13 +562,14 @@ } ] }, - "signature_raw": "mint(address, uint256, uint256)", - "signature": "1146be74", + "signature_raw": "mint(address,uint256,uint256)", + "signature": "156e29f6", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256)" - } + }, + "text": "functionmint(addressuser,uint256amount,uint256index)externalpayablereturns(bool);" }, { "id": 2428, @@ -1236,13 +1237,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "burn(address, address, uint256, uint256)", - "signature": "6aa2d810", + "signature_raw": "burn(address,address,uint256,uint256)", + "signature": "d7020d0a", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,uint256,uint256)" - } + }, + "text": "functionburn(addressuser,addressreceiverOfUnderlying,uint256amount,uint256index)externalpayable;" }, { "id": 2463, @@ -1402,13 +1404,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "mintToTreasury(uint256, uint256)", - "signature": "48150abe", + "signature_raw": "mintToTreasury(uint256,uint256)", + "signature": "7df5bd3b", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmintToTreasury(uint256amount,uint256index)externalpayable;" }, { "id": 2472, @@ -1613,13 +1616,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferOnLiquidation(address, address, uint256)", - "signature": "62da2670", + "signature_raw": "transferOnLiquidation(address,address,uint256)", + "signature": "f866c319", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferOnLiquidation(addressfrom,addressto,uint256value)externalpayable;" }, { "id": 2483, @@ -1825,13 +1829,14 @@ } ] }, - "signature_raw": "transferUnderlyingTo(address, uint256)", - "signature": "76b50fc4", + "signature_raw": "transferUnderlyingTo(address,uint256)", + "signature": "4efecaa5", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransferUnderlyingTo(addressuser,uint256amount)externalpayablereturns(uint256);" }, { "id": 2494, @@ -1992,13 +1997,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "handleRepayment(address, uint256)", - "signature": "289108a3", + "signature_raw": "handleRepayment(address,uint256)", + "signature": "88dd91a1", "scope": 2398, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionhandleRepayment(addressuser,uint256amount)external;" }, { "id": 2503, @@ -2208,7 +2214,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_ISturdyIncentivesController_$2174$", "type_string": "function(contract ISturdyIncentivesController)" - } + }, + "text": "functiongetIncentivesController()externalviewreturns(ISturdyIncentivesController);" }, { "id": 2514, @@ -2378,7 +2385,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionUNDERLYING_ASSET_ADDRESS()externalviewreturns(address);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IAaveFlashLoan.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IAaveFlashLoan.solgo.ast.json index b137f6ce..840e77e5 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IAaveFlashLoan.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IAaveFlashLoan.solgo.ast.json @@ -431,13 +431,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "flashLoan(address, address, uint256, uint256, address, bytes, uint16)", - "signature": "1d3c48ff", + "signature_raw": "flashLoan(address,address,uint256,uint256,address,bytes,uint16)", + "signature": "03a2b952", "scope": 2599, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_address$_t_bytes$_t_uint16$", "type_string": "function(address,address,uint256,uint256,address,bytes,uint16)" - } + }, + "text": "functionflashLoan(addressreceiverAddress,address[]calldataassets,uint256[]calldataamounts,uint256[]calldatamodes,addressonBehalfOf,bytescalldataparams,uint16referralCode)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IBalancerVault.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IBalancerVault.solgo.ast.json index 1d628485..5084a113 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IBalancerVault.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IBalancerVault.solgo.ast.json @@ -390,7 +390,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetPool(bytes32poolId)externalviewreturns(address,PoolSpecialization);" }, { "id": 2641, @@ -787,13 +788,14 @@ } ] }, - "signature_raw": "swap(, , uint256, uint256)", - "signature": "ca35fd42", + "signature_raw": "swap(,,uint256,uint256)", + "signature": "88ba5382", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_unknown_2645$_t_unknown_2645$_t_uint256$_t_uint256$", "type_string": "function(unknown_2645,unknown_2645,uint256,uint256)" - } + }, + "text": "functionswap(SingleSwapmemorysingleSwap,FundManagementmemoryfunds,uint256limit,uint256deadline)externalpayablereturns(uint256);" }, { "id": 2662, @@ -1520,13 +1522,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "exitPool(bytes32, address, addresspayable, )", - "signature": "1123eb9d", + "signature_raw": "exitPool(bytes32,address,addresspayable,)", + "signature": "61c9a6c9", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$_t_address_payable$_t_unknown_2687$", "type_string": "function(bytes32,address,address,unknown_2687)" - } + }, + "text": "functionexitPool(bytes32poolId,addresssender,addresspayablerecipient,ExitPoolRequestmemoryrequest)external;" }, { "id": 2701, @@ -2064,13 +2067,14 @@ } ] }, - "signature_raw": "getPoolTokenInfo(bytes32, )", - "signature": "d2da8c07", + "signature_raw": "getPoolTokenInfo(bytes32,)", + "signature": "5263ae0c", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_contract$_IERC20_$368$", "type_string": "function(bytes32,contract IERC20)" - } + }, + "text": "functiongetPoolTokenInfo(bytes32poolId,IERC20token)externalviewreturns(uint256cash,uint256managed,uint256lastChangeBlock,addressassetManager);" }, { "id": 2729, @@ -2324,7 +2328,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetPoolTokens(bytes32poolId)externalviewreturns(address[]memorytokens,uint256[]memorybalances,uint256lastChangeBlock);" }, { "id": 2742, @@ -2977,13 +2982,14 @@ } ] }, - "signature_raw": "batchSwap(, BatchSwapStep, address, , int256, uint256)", - "signature": "0f6e0f15", + "signature_raw": "batchSwap(,BatchSwapStep,address,,int256,uint256)", + "signature": "6c3ff276", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_enum_$_SwapKind_$2641$_t_struct$_IBalancerVault_BatchSwapStep_$2742$_t_address$_t_struct$_IBalancerVault_FundManagement_$2677$_t_int256$_t_uint256$", "type_string": "function(enum IBalancerVault.SwapKind,struct IBalancerVault.BatchSwapStep,address,struct IBalancerVault.FundManagement,int256,uint256)" - } + }, + "text": "functionbatchSwap(SwapKindkind,BatchSwapStep[]memoryswaps,address[]memoryassets,FundManagementmemoryfunds,int256[]memorylimits,uint256deadline)externalpayablereturns(int256[]memory);" }, { "id": 2776, @@ -3244,13 +3250,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "flashLoan(address, IERC20, uint256, bytes)", - "signature": "d60783fe", + "signature_raw": "flashLoan(address,IERC20,uint256,bytes)", + "signature": "0207ab6d", "scope": 2622, "type_description": { "type_identifier": "t_function_$_t_address$_t_contract$_IERC20_$368$_t_uint256$_t_bytes$", "type_string": "function(address,contract IERC20,uint256,bytes)" - } + }, + "text": "functionflashLoan(addressrecipient,IERC20[]memorytokens,uint256[]memoryamounts,bytesmemoryuserData)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ICurvePool.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ICurvePool.solgo.ast.json index de3f7df8..7d5e985c 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ICurvePool.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ICurvePool.solgo.ast.json @@ -223,7 +223,8 @@ "type_description": { "type_identifier": "t_function_$_t_int128$", "type_string": "function(int128)" - } + }, + "text": "functioncoins(int128)externalviewreturns(address);" }, { "id": 5378, @@ -428,13 +429,14 @@ } ] }, - "signature_raw": "calc_withdraw_one_coin(uint256, int128)", - "signature": "74f2f5e3", + "signature_raw": "calc_withdraw_one_coin(uint256,int128)", + "signature": "cc2b27d7", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_int128$", "type_string": "function(uint256,int128)" - } + }, + "text": "functioncalc_withdraw_one_coin(uint256_burn_amount,int128i)externalviewreturns(uint256);" }, { "id": 5389, @@ -536,7 +538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -616,13 +619,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "add_liquidity(function, uint256)", - "signature": "c6489050", + "signature_raw": "add_liquidity(function,uint256)", + "signature": "047ea860", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_rational_2_by_1$_t_uint256$", "type_string": "function(int_const 2,uint256)" - } + }, + "text": "functionadd_liquidity(uint256[2]memoryamounts,uint256_min_mint_amount)external;" }, { "id": 5400, @@ -724,7 +728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_description": { "type_identifier": "t_rational_3_by_1", @@ -804,13 +809,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "add_liquidity(function, uint256)", - "signature": "c6489050", + "signature_raw": "add_liquidity(function,uint256)", + "signature": "047ea860", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_rational_3_by_1$_t_uint256$", "type_string": "function(int_const 3,uint256)" - } + }, + "text": "functionadd_liquidity(uint256[3]memoryamounts,uint256_min_mint_amount)external;" }, { "id": 5411, @@ -1102,13 +1108,14 @@ } ] }, - "signature_raw": "remove_liquidity_one_coin(uint256, int128, uint256, address)", - "signature": "2edcb446", + "signature_raw": "remove_liquidity_one_coin(uint256,int128,uint256,address)", + "signature": "081579a5", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_int128$_t_uint256$_t_address$", "type_string": "function(uint256,int128,uint256,address)" - } + }, + "text": "functionremove_liquidity_one_coin(uint256_burn_amount,int128i,uint256_min_received,address_receiver)externalreturns(uint256);" }, { "id": 5426, @@ -1311,13 +1318,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "remove_liquidity_one_coin(uint256, int128, uint256)", - "signature": "f2684efb", + "signature_raw": "remove_liquidity_one_coin(uint256,int128,uint256)", + "signature": "1a4d01d2", "scope": 5367, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_int128$_t_uint256$", "type_string": "function(uint256,int128,uint256)" - } + }, + "text": "functionremove_liquidity_one_coin(uint256_burn_amount,int128i,uint256_min_received)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IERC20.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IERC20.solgo.ast.json index ad8dc140..1c328c7d 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IERC20.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IERC20.solgo.ast.json @@ -246,7 +246,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 382, @@ -415,7 +416,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 391, @@ -621,13 +623,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 371, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 402, @@ -834,13 +837,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 371, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 413, @@ -1046,13 +1050,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 371, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 424, @@ -1302,13 +1307,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 371, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 437, diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IERC20Detailed.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IERC20Detailed.solgo.ast.json index 829515f5..0024e9ca 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IERC20Detailed.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IERC20Detailed.solgo.ast.json @@ -254,7 +254,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 470, @@ -422,7 +423,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 479, @@ -590,7 +592,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IFlashLoanReceiver.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IFlashLoanReceiver.solgo.ast.json index 1d19930a..f75cf8c2 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IFlashLoanReceiver.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IFlashLoanReceiver.solgo.ast.json @@ -389,13 +389,14 @@ } ] }, - "signature_raw": "executeOperation(address, uint256, uint256, address, bytes)", - "signature": "b379d6b5", + "signature_raw": "executeOperation(address,uint256,uint256,address,bytes)", + "signature": "1b11d0ff", "scope": 2525, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(address,uint256,uint256,address,bytes)" - } + }, + "text": "functionexecuteOperation(address[]calldataassets,uint256[]calldataamounts,uint256[]calldatapremiums,addressinitiator,bytescalldataparams)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IFlashLoanRecipient.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IFlashLoanRecipient.solgo.ast.json index f991e384..3c07d630 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IFlashLoanRecipient.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IFlashLoanRecipient.solgo.ast.json @@ -314,13 +314,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "receiveFlashLoan(IERC20, uint256, uint256, bytes)", - "signature": "598145d7", + "signature_raw": "receiveFlashLoan(IERC20,uint256,uint256,bytes)", + "signature": "41664784", "scope": 2546, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_uint256$_t_uint256$_t_bytes$", "type_string": "function(contract IERC20,uint256,uint256,bytes)" - } + }, + "text": "functionreceiveFlashLoan(IERC20[]memorytokens,uint256[]memoryamounts,uint256[]memoryfeeAmounts,bytesmemoryuserData)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IGeneralVault.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IGeneralVault.solgo.ast.json index 4ebcddf8..53465718 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IGeneralVault.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IGeneralVault.solgo.ast.json @@ -222,7 +222,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionpricePerShare()externalviewreturns(uint256);" }, { "id": 2057, @@ -390,7 +391,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionvaultYieldInPrice()externalviewreturns(uint256);" }, { "id": 2066, @@ -596,13 +598,14 @@ } ] }, - "signature_raw": "withdrawOnLiquidation(address, uint256)", - "signature": "236007cd", + "signature_raw": "withdrawOnLiquidation(address,uint256)", + "signature": "8954ff3f", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionwithdrawOnLiquidation(address_asset,uint256_amount)externalreturns(uint256);" }, { "id": 2077, @@ -763,13 +766,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "convertOnLiquidation(address, uint256)", - "signature": "b990a0b0", + "signature_raw": "convertOnLiquidation(address,uint256)", + "signature": "7a88caae", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionconvertOnLiquidation(address_assetOut,uint256_amountIn)external;" }, { "id": 2086, @@ -847,7 +851,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionprocessYield()external;" }, { "id": 2091, @@ -1015,7 +1020,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetYieldAmount()externalviewreturns(uint256);" }, { "id": 2100, @@ -1176,13 +1182,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setTreasuryInfo(address, uint256)", - "signature": "c9753789", + "signature_raw": "setTreasuryInfo(address,uint256)", + "signature": "2a2234f9", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsetTreasuryInfo(address_treasury,uint256_fee)external;" }, { "id": 2109, @@ -1343,13 +1350,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "depositCollateral(address, uint256)", - "signature": "951c5bef", + "signature_raw": "depositCollateral(address,uint256)", + "signature": "a5d5db0c", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondepositCollateral(address_asset,uint256_amount)externalpayable;" }, { "id": 2118, @@ -1554,13 +1562,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "depositCollateralFrom(address, uint256, address)", - "signature": "91201686", + "signature_raw": "depositCollateralFrom(address,uint256,address)", + "signature": "259f2d01", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functiondepositCollateralFrom(address_asset,uint256_amount,address_user)externalpayable;" }, { "id": 2129, @@ -1808,13 +1817,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "withdrawCollateral(address, uint256, uint256, address)", - "signature": "c5478f4b", + "signature_raw": "withdrawCollateral(address,uint256,uint256,address)", + "signature": "a5fdfc63", "scope": 2046, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$", "type_string": "function(address,uint256,uint256,address)" - } + }, + "text": "functionwithdrawCollateral(address_asset,uint256_amount,uint256_slippage,address_to)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IInitializableAToken.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IInitializableAToken.solgo.ast.json index e2efaf17..be0c9c52 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IInitializableAToken.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IInitializableAToken.solgo.ast.json @@ -900,13 +900,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(, address, address, , uint8, string, string, bytes)", - "signature": "80ea45a4", + "signature_raw": "initialize(,address,address,,uint8,string,string,bytes)", + "signature": "d33941f6", "scope": 2352, "type_description": { "type_identifier": "t_function_$_t_contract$_ILendingPool_$1023$_t_address$_t_address$_t_contract$_ISturdyIncentivesController_$2174$_t_uint8$_t_string$_t_string$_t_bytes$", "type_string": "function(contract ILendingPool,address,address,contract ISturdyIncentivesController,uint8,string,string,bytes)" - } + }, + "text": "functioninitialize(ILendingPoolpool,addresstreasury,addressunderlyingAsset,ISturdyIncentivesControllerincentivesController,uint8aTokenDecimals,stringcalldataaTokenName,stringcalldataaTokenSymbol,bytescalldataparams)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ILendingPool.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ILendingPool.solgo.ast.json index e6d38a10..f4d647ac 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ILendingPool.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ILendingPool.solgo.ast.json @@ -2568,13 +2568,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "deposit(address, uint256, address, uint16)", - "signature": "b04b2a91", + "signature_raw": "deposit(address,uint256,address,uint16)", + "signature": "e8eda9df", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_uint16$", "type_string": "function(address,uint256,address,uint16)" - } + }, + "text": "functiondeposit(addressasset,uint256amount,addressonBehalfOf,uint16referralCode)external;" }, { "id": 1160, @@ -2735,13 +2736,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "depositYield(address, uint256)", - "signature": "02e0d5c2", + "signature_raw": "depositYield(address,uint256)", + "signature": "d6996185", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondepositYield(addressasset,uint256amount)external;" }, { "id": 1169, @@ -2902,13 +2904,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "getYield(address, uint256)", - "signature": "c438bd6f", + "signature_raw": "getYield(address,uint256)", + "signature": "f88cc4a2", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiongetYield(addressasset,uint256amount)external;" }, { "id": 1178, @@ -3120,7 +3123,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetTotalBalanceOfAssetPair(addressasset)externalviewreturns(uint256,uint256);" }, { "id": 1189, @@ -3540,13 +3544,14 @@ } ] }, - "signature_raw": "getBorrowingAssetAndVolumes(uint256, uint256, address, uint256)", - "signature": "5809cadf", + "signature_raw": "getBorrowingAssetAndVolumes(uint256,uint256,address,uint256)", + "signature": "1104bee6", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,uint256)" - } + }, + "text": "functiongetBorrowingAssetAndVolumes()externalviewreturns(uint256,uint256[]memory,address[]memory,uint256);" }, { "id": 1210, @@ -3670,7 +3675,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionregisterVault(address_vaultAddress)externalpayable;" }, { "id": 1217, @@ -3794,7 +3800,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionunregisterVault(address_vaultAddress)externalpayable;" }, { "id": 1224, @@ -4044,13 +4051,14 @@ } ] }, - "signature_raw": "withdraw(address, uint256, address)", - "signature": "b11b5f87", + "signature_raw": "withdraw(address,uint256,address)", + "signature": "69328dec", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functionwithdraw(addressasset,uint256amount,addressto)externalreturns(uint256);" }, { "id": 1237, @@ -4344,13 +4352,14 @@ } ] }, - "signature_raw": "withdrawFrom(address, uint256, address, address)", - "signature": "ee0c2ec0", + "signature_raw": "withdrawFrom(address,uint256,address,address)", + "signature": "12ade5ad", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_address$", "type_string": "function(address,uint256,address,address)" - } + }, + "text": "functionwithdrawFrom(addressasset,uint256amount,addressfrom,addressto)externalreturns(uint256);" }, { "id": 1252, @@ -4641,13 +4650,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "borrow(address, uint256, uint256, uint16, address)", - "signature": "cc780dc0", + "signature_raw": "borrow(address,uint256,uint256,uint16,address)", + "signature": "a415bcad", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint16$_t_address$", "type_string": "function(address,uint256,uint256,uint16,address)" - } + }, + "text": "functionborrow(addressasset,uint256amount,uint256interestRateMode,uint16referralCode,addressonBehalfOf)external;" }, { "id": 1267, @@ -4940,13 +4950,14 @@ } ] }, - "signature_raw": "repay(address, uint256, uint256, address)", - "signature": "0fc68187", + "signature_raw": "repay(address,uint256,uint256,address)", + "signature": "573ade81", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$", "type_string": "function(address,uint256,uint256,address)" - } + }, + "text": "functionrepay(addressasset,uint256amount,uint256rateMode,addressonBehalfOf)externalreturns(uint256);" }, { "id": 1282, @@ -5107,13 +5118,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setUserUseReserveAsCollateral(address, bool)", - "signature": "38ab99d6", + "signature_raw": "setUserUseReserveAsCollateral(address,bool)", + "signature": "5a3b74b9", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetUserUseReserveAsCollateral(addressasset,booluseAsCollateral)external;" }, { "id": 1291, @@ -5405,13 +5417,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "liquidationCall(address, address, address, uint256, bool)", - "signature": "9da8de78", + "signature_raw": "liquidationCall(address,address,address,uint256,bool)", + "signature": "00a718a9", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_bool$", "type_string": "function(address,address,address,uint256,bool)" - } + }, + "text": "functionliquidationCall(addresscollateralAsset,addressdebtAsset,addressuser,uint256debtToCover,boolreceiveAToken)external;" }, { "id": 1306, @@ -5795,7 +5808,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetUserAccountData(addressuser)externalviewreturns(uint256totalCollateralETH,uint256totalDebtETH,uint256availableBorrowsETH,uint256currentLiquidationThreshold,uint256ltv,uint256healthFactor);" }, { "id": 1325, @@ -6133,13 +6147,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initReserve(address, address, address, address, address, address)", - "signature": "09874b12", + "signature_raw": "initReserve(address,address,address,address,address,address)", + "signature": "ac6abd4e", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_address$_t_address$_t_address$", "type_string": "function(address,address,address,address,address,address)" - } + }, + "text": "functioninitReserve(addressreserve,addressyieldAddress,addressaTokenAddress,addressstableDebtAddress,addressvariableDebtAddress,addressinterestRateStrategyAddress)externalpayable;" }, { "id": 1342, @@ -6301,13 +6316,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setReserveInterestRateStrategyAddress(address, address)", - "signature": "4a52041b", + "signature_raw": "setReserveInterestRateStrategyAddress(address,address)", + "signature": "1d2118f9", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionsetReserveInterestRateStrategyAddress(addressreserve,addressrateStrategyAddress)externalpayable;" }, { "id": 1351, @@ -6468,13 +6484,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setConfiguration(address, uint256)", - "signature": "6e2e1324", + "signature_raw": "setConfiguration(address,uint256)", + "signature": "b8d29276", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsetConfiguration(addressreserve,uint256configuration)externalpayable;" }, { "id": 1360, @@ -6664,7 +6681,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetConfiguration(addressasset)externalviewreturns(DataTypes.ReserveConfigurationMapmemory);" }, { "id": 1370, @@ -6854,7 +6872,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetUserConfiguration(addressuser)externalviewreturns(DataTypes.UserConfigurationMapmemory);" }, { "id": 1380, @@ -7023,7 +7042,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetReserveNormalizedIncome(addressasset)externalviewreturns(uint256);" }, { "id": 1389, @@ -7192,7 +7212,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetReserveNormalizedVariableDebt(addressasset)externalviewreturns(uint256);" }, { "id": 1398, @@ -7382,7 +7403,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetReserveData(addressasset)externalviewreturns(DataTypes.ReserveDatamemory);" }, { "id": 1408, @@ -7717,13 +7739,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "finalizeTransfer(address, address, address, uint256, uint256, uint256)", - "signature": "4bbf544c", + "signature_raw": "finalizeTransfer(address,address,address,uint256,uint256,uint256)", + "signature": "d5ed3933", "scope": 1026, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,address,address,uint256,uint256,uint256)" - } + }, + "text": "functionfinalizeTransfer(addressasset,addressfrom,addressto,uint256amount,uint256balanceFromAfter,uint256balanceToBefore)external;" }, { "id": 1425, @@ -7891,7 +7914,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetReservesList()externalviewreturns(address[]memory);" }, { "id": 1434, @@ -8101,7 +8125,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_ILendingPoolAddressesProvider_$720$", "type_string": "function(contract ILendingPoolAddressesProvider)" - } + }, + "text": "functiongetAddressesProvider()externalviewreturns(ILendingPoolAddressesProvider);" }, { "id": 1445, @@ -8224,7 +8249,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsetPause(boolval)externalpayable;" }, { "id": 1452, @@ -8392,7 +8418,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionpaused()externalviewreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ILendingPoolAddressesProvider.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ILendingPoolAddressesProvider.solgo.ast.json index 8eb53a7d..99777e47 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ILendingPoolAddressesProvider.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ILendingPoolAddressesProvider.solgo.ast.json @@ -1297,7 +1297,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functiongetMarketId()externalviewreturns(stringmemory);" }, { "id": 800, @@ -1420,7 +1421,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsetMarketId(stringcalldatamarketId)externalpayable;" }, { "id": 807, @@ -1581,13 +1583,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setAddress(bytes32, address)", - "signature": "43578dd5", + "signature_raw": "setAddress(bytes32,address)", + "signature": "ca446dd9", "scope": 723, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionsetAddress(bytes32id,addressnewAddress)externalpayable;" }, { "id": 816, @@ -1748,13 +1751,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setAddressAsProxy(bytes32, address)", - "signature": "cbc450db", + "signature_raw": "setAddressAsProxy(bytes32,address)", + "signature": "5dcc528c", "scope": 723, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionsetAddressAsProxy(bytes32id,addressimpl)externalpayable;" }, { "id": 825, @@ -1923,7 +1927,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetAddress(bytes32id)externalviewreturns(address);" }, { "id": 834, @@ -2093,7 +2098,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetLendingPool()externalviewreturns(address);" }, { "id": 843, @@ -2217,7 +2223,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLendingPoolImpl(addresspool)externalpayable;" }, { "id": 850, @@ -2387,7 +2394,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetIncentiveController()externalviewreturns(address);" }, { "id": 859, @@ -2511,7 +2519,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetIncentiveControllerImpl(addressincentiveController)externalpayable;" }, { "id": 866, @@ -2681,7 +2690,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetIncentiveToken()externalviewreturns(address);" }, { "id": 875, @@ -2805,7 +2815,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetIncentiveTokenImpl(addressincentiveToken)externalpayable;" }, { "id": 882, @@ -2975,7 +2986,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetLendingPoolConfigurator()externalviewreturns(address);" }, { "id": 891, @@ -3099,7 +3111,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLendingPoolConfiguratorImpl(addressconfigurator)externalpayable;" }, { "id": 898, @@ -3269,7 +3282,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetLendingPoolCollateralManager()externalviewreturns(address);" }, { "id": 907, @@ -3393,7 +3407,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLendingPoolCollateralManager(addressmanager)externalpayable;" }, { "id": 914, @@ -3563,7 +3578,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetPoolAdmin()externalviewreturns(address);" }, { "id": 923, @@ -3687,7 +3703,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetPoolAdmin(addressadmin)externalpayable;" }, { "id": 930, @@ -3857,7 +3874,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetEmergencyAdmin()externalviewreturns(address);" }, { "id": 939, @@ -3981,7 +3999,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetEmergencyAdmin(addressadmin)externalpayable;" }, { "id": 946, @@ -4151,7 +4170,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetPriceOracle()externalviewreturns(address);" }, { "id": 955, @@ -4275,7 +4295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetPriceOracle(addresspriceOracle)externalpayable;" }, { "id": 962, @@ -4445,7 +4466,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetLendingRateOracle()externalviewreturns(address);" }, { "id": 971, @@ -4569,7 +4591,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLendingRateOracle(addresslendingRateOracle)externalpayable;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IPriceOracleGetter.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IPriceOracleGetter.solgo.ast.json index 67140819..950e0702 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IPriceOracleGetter.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IPriceOracleGetter.solgo.ast.json @@ -223,7 +223,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAssetPrice(addressasset)externalviewreturns(uint256);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IScaledBalanceToken.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IScaledBalanceToken.solgo.ast.json index 1aa60bd7..b66fe041 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IScaledBalanceToken.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IScaledBalanceToken.solgo.ast.json @@ -223,7 +223,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionscaledBalanceOf(addressuser)externalviewreturns(uint256);" }, { "id": 2155, @@ -435,7 +436,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetScaledUserBalanceAndSupply(addressuser)externalviewreturns(uint256,uint256);" }, { "id": 2166, @@ -603,7 +605,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionscaledTotalSupply()externalviewreturns(uint256);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ISturdyIncentivesController.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ISturdyIncentivesController.solgo.ast.json index 26e0ddb2..86dc264f 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ISturdyIncentivesController.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ISturdyIncentivesController.solgo.ast.json @@ -934,7 +934,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAssetData(addressasset)externalviewreturns(uint256,uint256,uint256);" }, { "id": 2226, @@ -1096,13 +1097,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setClaimer(address, address)", - "signature": "903478f1", + "signature_raw": "setClaimer(address,address)", + "signature": "f5cf673b", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionsetClaimer(addressuser,addressclaimer)externalpayable;" }, { "id": 2235, @@ -1272,7 +1274,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetClaimer(addressuser)externalviewreturns(address);" }, { "id": 2244, @@ -1432,13 +1435,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "configureAssets(address, uint256)", - "signature": "407b5d84", + "signature_raw": "configureAssets(address,uint256)", + "signature": "ac008d80", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionconfigureAssets(address[]calldataassets,uint256[]calldataemissionsPerSecond)externalpayable;" }, { "id": 2253, @@ -1642,13 +1646,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "handleAction(address, uint256, uint256)", - "signature": "af219a31", + "signature_raw": "handleAction(address,uint256,uint256)", + "signature": "31873e2e", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256)" - } + }, + "text": "functionhandleAction(addressuser,uint256totalSupply,uint256userBalance)external;" }, { "id": 2264, @@ -1854,13 +1859,14 @@ } ] }, - "signature_raw": "getRewardsBalance(address, address)", - "signature": "f05d98fa", + "signature_raw": "getRewardsBalance(address,address)", + "signature": "6e9ecad4", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetRewardsBalance(address[]calldataassets,addressuser)externalviewreturns(uint256);" }, { "id": 2275, @@ -2109,13 +2115,14 @@ } ] }, - "signature_raw": "claimRewards(address, uint256, address)", - "signature": "024303bb", + "signature_raw": "claimRewards(address,uint256,address)", + "signature": "46016506", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functionclaimRewards(address[]calldataassets,uint256amount,addressto)externalreturns(uint256);" }, { "id": 2288, @@ -2408,13 +2415,14 @@ } ] }, - "signature_raw": "claimRewardsOnBehalf(address, uint256, address, address)", - "signature": "ff80e62c", + "signature_raw": "claimRewardsOnBehalf(address,uint256,address,address)", + "signature": "1d31c89f", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_address$", "type_string": "function(address,uint256,address,address)" - } + }, + "text": "functionclaimRewardsOnBehalf(address[]calldataassets,uint256amount,addressuser,addressto)externalreturns(uint256);" }, { "id": 2303, @@ -2583,7 +2591,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetUserUnclaimedRewards(addressuser)externalviewreturns(uint256);" }, { "id": 2312, @@ -2790,13 +2799,14 @@ } ] }, - "signature_raw": "getUserAssetData(address, address)", - "signature": "5b9502d0", + "signature_raw": "getUserAssetData(address,address)", + "signature": "3373ee4c", "scope": 2177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetUserAssetData(addressuser,addressasset)externalviewreturns(uint256);" }, { "id": 2323, @@ -2966,7 +2976,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionREWARD_TOKEN()externalviewreturns(address);" }, { "id": 2332, @@ -3134,7 +3145,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functionPRECISION()externalviewreturns(uint8);" }, { "id": 2341, @@ -3302,7 +3314,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionDISTRIBUTION_END()externalviewreturns(uint256);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IVaultWhitelist.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IVaultWhitelist.solgo.ast.json index 4a85c702..061baf4d 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IVaultWhitelist.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/IVaultWhitelist.solgo.ast.json @@ -261,13 +261,14 @@ } ] }, - "signature_raw": "whitelistUser(address, address)", - "signature": "4ef8005e", + "signature_raw": "whitelistUser(address,address)", + "signature": "2fa8673b", "scope": 2564, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionwhitelistUser(addressvault,addressuser)externalviewreturns(bool);" }, { "id": 2577, @@ -436,7 +437,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwhitelistUserCount(addressvault)externalviewreturns(uint256);" }, { "id": 2586, @@ -643,13 +645,14 @@ } ] }, - "signature_raw": "whitelistContract(address, address)", - "signature": "3d6ef831", + "signature_raw": "whitelistContract(address,address)", + "signature": "537084c7", "scope": 2564, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionwhitelistContract(addressvault,addresssender)externalviewreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Math.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Math.solgo.ast.json index 9acee20b..ceee5269 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Math.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/Math.solgo.ast.json @@ -147,7 +147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3707, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3708, @@ -167,7 +168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3708, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -192,7 +194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3709, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3710, @@ -212,7 +215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3710, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -401,13 +405,14 @@ } ] }, - "signature_raw": "max(uint256, uint256)", - "signature": "944ae7a2", + "signature_raw": "max(uint256,uint256)", + "signature": "6d5433e6", "scope": 3691, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmax(uint256a,uint256b)internalpurereturns(uint256){returna\u003e=b?a:b;}" }, { "id": 3712, @@ -500,7 +505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3726, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3727, @@ -520,7 +526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3727, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -545,7 +552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3728, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3729, @@ -565,7 +573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3729, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -754,13 +763,14 @@ } ] }, - "signature_raw": "min(uint256, uint256)", - "signature": "a2611414", + "signature_raw": "min(uint256,uint256)", + "signature": "7ae2b5c7", "scope": 3691, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmin(uint256a,uint256b)internalpurereturns(uint256){returna\u003cb?a:b;}" }, { "id": 3731, @@ -867,7 +877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3746, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3747, @@ -887,7 +898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3747, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -965,7 +977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3752, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3753, @@ -985,7 +998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3753, - "is_pure": false + "is_pure": false, + "text": "b" } ], "type_descriptions": [ @@ -1029,7 +1043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -1211,13 +1226,14 @@ } ] }, - "signature_raw": "average(uint256, uint256)", - "signature": "517eaec2", + "signature_raw": "average(uint256,uint256)", + "signature": "2b7423ab", "scope": 3691, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionaverage(uint256a,uint256b)internalpurereturns(uint256){return(a\u0026b)+(a^b)/2;}" }, { "id": 3756, @@ -1312,7 +1328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3769, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3770, @@ -1332,7 +1349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3770, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1411,7 +1429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3776, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3777, @@ -1431,7 +1450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3777, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1458,7 +1478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1485,7 +1506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 3780, @@ -1507,7 +1529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -1707,13 +1730,14 @@ } ] }, - "signature_raw": "ceilDiv(uint256, uint256)", - "signature": "1340d3c6", + "signature_raw": "ceilDiv(uint256,uint256)", + "signature": "9cb35327", "scope": 3691, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionceilDiv(uint256a,uint256b)internalpurereturns(uint256){returna/b+(a%b==0?0:1);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/PercentageMath.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/PercentageMath.solgo.ast.json index 8eb18fa9..d816d172 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/PercentageMath.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/PercentageMath.solgo.ast.json @@ -116,7 +116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e4" } }, { @@ -191,7 +192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1977, - "is_pure": false + "is_pure": false, + "text": "PERCENTAGE_FACTOR" }, "right_expression": { "id": 1985, @@ -213,7 +215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -313,7 +316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2000, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2001, @@ -335,7 +339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -374,7 +379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "percentage" }, "right_expression": { "id": 2004, @@ -396,7 +402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -454,7 +461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -546,7 +554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2013, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2014, @@ -566,7 +575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2014, - "is_pure": false + "is_pure": false, + "text": "percentage" }, "type_description": { "type_identifier": "t_uint256", @@ -591,7 +601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1981, - "is_pure": false + "is_pure": false, + "text": "HALF_PERCENT" }, "type_description": { "type_identifier": "t_uint256", @@ -622,7 +633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1977, - "is_pure": false + "is_pure": false, + "text": "PERCENTAGE_FACTOR" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -799,13 +811,14 @@ } ] }, - "signature_raw": "percentMul(uint256, uint256)", - "signature": "e7894eb3", + "signature_raw": "percentMul(uint256,uint256)", + "signature": "4bf6a8f0", "scope": 1975, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionpercentMul(uint256value,uint256percentage)internalpurereturns(uint256){if(value==0||percentage==0){return0;}return(value*percentage+HALF_PERCENT)/PERCENTAGE_FACTOR;}" }, { "id": 2018, @@ -934,7 +947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2032, - "is_pure": false + "is_pure": false, + "text": "percentage" }, "right_expression": { "id": 2033, @@ -956,7 +970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -1050,7 +1065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2039, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 2040, @@ -1070,7 +1086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1977, - "is_pure": false + "is_pure": false, + "text": "PERCENTAGE_FACTOR" }, "type_description": { "type_identifier": "t_uint256", @@ -1095,7 +1112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2028, - "is_pure": false + "is_pure": false, + "text": "halfPercentage" }, "type_description": { "type_identifier": "t_uint256", @@ -1126,7 +1144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2042, - "is_pure": false + "is_pure": false, + "text": "percentage" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -1303,13 +1322,14 @@ } ] }, - "signature_raw": "percentDiv(uint256, uint256)", - "signature": "9d989b15", + "signature_raw": "percentDiv(uint256,uint256)", + "signature": "46c840bb", "scope": 1975, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionpercentDiv(uint256value,uint256percentage)internalpurereturns(uint256){uint256halfPercentage=percentage/2;return(value*PERCENTAGE_FACTOR+halfPercentage)/percentage;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ReserveConfiguration.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ReserveConfiguration.solgo.ast.json index c788c3a3..a417d105 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ReserveConfiguration.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/ReserveConfiguration.solgo.ast.json @@ -116,7 +116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000" } }, { @@ -179,7 +180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF" } }, { @@ -242,7 +244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFF" } }, { @@ -305,7 +308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF" } }, { @@ -368,7 +372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFF" } }, { @@ -431,7 +436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFF" } }, { @@ -494,7 +500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFF" } }, { @@ -557,7 +564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFF" } }, { @@ -620,7 +628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF" } }, { @@ -683,7 +692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFF" } }, { @@ -746,7 +756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "16" } }, { @@ -809,7 +820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "32" } }, { @@ -872,7 +884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" } }, { @@ -935,7 +948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "56" } }, { @@ -998,7 +1012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "57" } }, { @@ -1061,7 +1076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "58" } }, { @@ -1124,7 +1140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "59" } }, { @@ -1187,7 +1204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "60" } }, { @@ -1250,7 +1268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "64" } }, { @@ -1313,7 +1332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -1376,7 +1396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -1439,7 +1460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -1502,7 +1524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "255" } }, { @@ -1565,7 +1588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "65535" } }, { @@ -1658,7 +1682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2902, - "is_pure": false + "is_pure": false, + "text": "ltv" }, "right_expression": { "id": 2903, @@ -1678,7 +1703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2870, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_LTV" }, "type_description": { "type_identifier": "t_bool", @@ -1726,7 +1752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_LTV", "argument_types": [ @@ -1738,7 +1765,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_LTV" } ], "expression": { @@ -1759,7 +1787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -1830,14 +1859,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2909, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 2911, @@ -1918,14 +1949,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2916, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 2917, @@ -1945,7 +1978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2794, - "is_pure": false + "is_pure": false, + "text": "LTV_MASK" } ], "type_descriptions": [ @@ -1983,7 +2017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2918, - "is_pure": false + "is_pure": false, + "text": "ltv" } ], "type_descriptions": [ @@ -2005,7 +2040,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026LTV_MASK)|ltv;" } ] }, @@ -2152,13 +2188,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setLtv(, uint256)", - "signature": "27846df4", + "signature_raw": "setLtv(,uint256)", + "signature": "3a7c6a57", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetLtv(DataTypes.ReserveConfigurationMapmemoryself,uint256ltv)internalpure{require(ltv\u003c=MAX_VALID_LTV,Errors.RC_INVALID_LTV);self.data=(self.data\u0026LTV_MASK)|ltv;}" }, { "id": 2920, @@ -2260,14 +2297,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2933, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 2934, @@ -2305,7 +2344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2794, - "is_pure": false + "is_pure": false, + "text": "LTV_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -2478,7 +2518,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetLtv(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){returnself.data\u0026~LTV_MASK;}" }, { "id": 2937, @@ -2570,7 +2611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2949, - "is_pure": false + "is_pure": false, + "text": "threshold" }, "right_expression": { "id": 2950, @@ -2590,7 +2632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2874, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_LIQUIDATION_THRESHOLD" }, "type_description": { "type_identifier": "t_bool", @@ -2638,7 +2681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_LIQ_THRESHOLD", "argument_types": [ @@ -2650,7 +2694,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_LIQ_THRESHOLD" } ], "expression": { @@ -2671,7 +2716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -2742,14 +2788,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2956, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 2958, @@ -2830,14 +2878,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2963, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 2964, @@ -2857,7 +2907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2798, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_MASK" } ], "type_descriptions": [ @@ -2922,7 +2973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2968, - "is_pure": false + "is_pure": false, + "text": "threshold" }, { "id": 2969, @@ -2942,7 +2994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_START_BIT_POSITION" } ], "type_descriptions": [ @@ -2986,7 +3039,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026LIQUIDATION_THRESHOLD_MASK)|(threshold\u003c\u003cLIQUIDATION_THRESHOLD_START_BIT_POSITION);" } ] }, @@ -3133,13 +3187,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setLiquidationThreshold(, uint256)", - "signature": "5d3b1d33", + "signature_raw": "setLiquidationThreshold(,uint256)", + "signature": "6199ca5b", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetLiquidationThreshold(DataTypes.ReserveConfigurationMapmemoryself,uint256threshold)internalpure{require(threshold\u003c=MAX_VALID_LIQUIDATION_THRESHOLD,Errors.RC_INVALID_LIQ_THRESHOLD);self.data=(self.data\u0026LIQUIDATION_THRESHOLD_MASK)|(threshold\u003c\u003cLIQUIDATION_THRESHOLD_START_BIT_POSITION);}" }, { "id": 2971, @@ -3268,14 +3323,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2987, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 2988, @@ -3313,7 +3370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2798, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3356,7 +3414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_START_BIT_POSITION" } ], "type_descriptions": [ @@ -3528,7 +3587,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetLiquidationThreshold(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){return(self.data\u0026~LIQUIDATION_THRESHOLD_MASK)\u003e\u003eLIQUIDATION_THRESHOLD_START_BIT_POSITION;}" }, { "id": 2992, @@ -3620,7 +3680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3004, - "is_pure": false + "is_pure": false, + "text": "bonus" }, "right_expression": { "id": 3005, @@ -3640,7 +3701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2878, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_LIQUIDATION_BONUS" }, "type_description": { "type_identifier": "t_bool", @@ -3688,7 +3750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_LIQ_BONUS", "argument_types": [ @@ -3700,7 +3763,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_LIQ_BONUS" } ], "expression": { @@ -3721,7 +3785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -3792,14 +3857,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3011, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3013, @@ -3880,14 +3947,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3018, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3019, @@ -3907,7 +3976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2802, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_MASK" } ], "type_descriptions": [ @@ -3972,7 +4042,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3023, - "is_pure": false + "is_pure": false, + "text": "bonus" }, { "id": 3024, @@ -3992,7 +4063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2838, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -4036,7 +4108,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026LIQUIDATION_BONUS_MASK)|(bonus\u003c\u003cLIQUIDATION_BONUS_START_BIT_POSITION);" } ] }, @@ -4183,13 +4256,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setLiquidationBonus(, uint256)", - "signature": "952635cd", + "signature_raw": "setLiquidationBonus(,uint256)", + "signature": "b5b937a0", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetLiquidationBonus(DataTypes.ReserveConfigurationMapmemoryself,uint256bonus)internalpure{require(bonus\u003c=MAX_VALID_LIQUIDATION_BONUS,Errors.RC_INVALID_LIQ_BONUS);self.data=(self.data\u0026LIQUIDATION_BONUS_MASK)|(bonus\u003c\u003cLIQUIDATION_BONUS_START_BIT_POSITION);}" }, { "id": 3026, @@ -4318,14 +4392,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3042, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3043, @@ -4363,7 +4439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2802, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4406,7 +4483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2838, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -4578,7 +4656,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetLiquidationBonus(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){return(self.data\u0026~LIQUIDATION_BONUS_MASK)\u003e\u003eLIQUIDATION_BONUS_START_BIT_POSITION;}" }, { "id": 3047, @@ -4670,7 +4749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3059, - "is_pure": false + "is_pure": false, + "text": "decimals" }, "right_expression": { "id": 3060, @@ -4690,7 +4770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2882, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_DECIMALS" }, "type_description": { "type_identifier": "t_bool", @@ -4738,7 +4819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_DECIMALS", "argument_types": [ @@ -4750,7 +4832,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_DECIMALS" } ], "expression": { @@ -4771,7 +4854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -4842,14 +4926,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3066, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3068, @@ -4930,14 +5016,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3073, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3074, @@ -4957,7 +5045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2806, - "is_pure": false + "is_pure": false, + "text": "DECIMALS_MASK" } ], "type_descriptions": [ @@ -5022,7 +5111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3078, - "is_pure": false + "is_pure": false, + "text": "decimals" }, { "id": 3079, @@ -5042,7 +5132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2842, - "is_pure": false + "is_pure": false, + "text": "RESERVE_DECIMALS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -5086,7 +5177,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026DECIMALS_MASK)|(decimals\u003c\u003cRESERVE_DECIMALS_START_BIT_POSITION);" } ] }, @@ -5233,13 +5325,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setDecimals(, uint256)", - "signature": "f3b10448", + "signature_raw": "setDecimals(,uint256)", + "signature": "d2cd9769", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetDecimals(DataTypes.ReserveConfigurationMapmemoryself,uint256decimals)internalpure{require(decimals\u003c=MAX_VALID_DECIMALS,Errors.RC_INVALID_DECIMALS);self.data=(self.data\u0026DECIMALS_MASK)|(decimals\u003c\u003cRESERVE_DECIMALS_START_BIT_POSITION);}" }, { "id": 3081, @@ -5368,14 +5461,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3097, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3098, @@ -5413,7 +5508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2806, - "is_pure": false + "is_pure": false, + "text": "DECIMALS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5456,7 +5552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2842, - "is_pure": false + "is_pure": false, + "text": "RESERVE_DECIMALS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -5628,7 +5725,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetDecimals(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){return(self.data\u0026~DECIMALS_MASK)\u003e\u003eRESERVE_DECIMALS_START_BIT_POSITION;}" }, { "id": 3102, @@ -5729,14 +5827,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3114, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3116, @@ -5817,14 +5917,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3121, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3122, @@ -5844,7 +5946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2810, - "is_pure": false + "is_pure": false, + "text": "ACTIVE_MASK" } ], "type_descriptions": [ @@ -5940,7 +6043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3131, - "is_pure": false + "is_pure": false, + "text": "active" }, { "id": 3132, @@ -5962,7 +6066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3133, @@ -5984,7 +6089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -6046,7 +6152,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -6071,7 +6178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2846, - "is_pure": false + "is_pure": false, + "text": "IS_ACTIVE_START_BIT_POSITION" } ], "type_descriptions": [ @@ -6115,7 +6223,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026ACTIVE_MASK)|(uint256(active?1:0)\u003c\u003cIS_ACTIVE_START_BIT_POSITION);" } ] }, @@ -6262,13 +6371,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setActive(, bool)", - "signature": "03064b9f", + "signature_raw": "setActive(,bool)", + "signature": "7600ceff", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetActive(DataTypes.ReserveConfigurationMapmemoryself,boolactive)internalpure{self.data=(self.data\u0026ACTIVE_MASK)|(uint256(active?1:0)\u003c\u003cIS_ACTIVE_START_BIT_POSITION);}" }, { "id": 3136, @@ -6398,14 +6508,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3151, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3152, @@ -6443,7 +6555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2810, - "is_pure": false + "is_pure": false, + "text": "ACTIVE_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -6488,7 +6601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6649,7 +6763,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetActive(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~ACTIVE_MASK)!=0;}" }, { "id": 3156, @@ -6750,14 +6865,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3168, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3170, @@ -6838,14 +6955,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3175, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3176, @@ -6865,7 +6984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2814, - "is_pure": false + "is_pure": false, + "text": "FROZEN_MASK" } ], "type_descriptions": [ @@ -6961,7 +7081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3185, - "is_pure": false + "is_pure": false, + "text": "frozen" }, { "id": 3186, @@ -6983,7 +7104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3187, @@ -7005,7 +7127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -7067,7 +7190,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -7092,7 +7216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2850, - "is_pure": false + "is_pure": false, + "text": "IS_FROZEN_START_BIT_POSITION" } ], "type_descriptions": [ @@ -7136,7 +7261,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026FROZEN_MASK)|(uint256(frozen?1:0)\u003c\u003cIS_FROZEN_START_BIT_POSITION);" } ] }, @@ -7283,13 +7409,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setFrozen(, bool)", - "signature": "00082d16", + "signature_raw": "setFrozen(,bool)", + "signature": "136cba3f", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetFrozen(DataTypes.ReserveConfigurationMapmemoryself,boolfrozen)internalpure{self.data=(self.data\u0026FROZEN_MASK)|(uint256(frozen?1:0)\u003c\u003cIS_FROZEN_START_BIT_POSITION);}" }, { "id": 3190, @@ -7419,14 +7546,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3205, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3206, @@ -7464,7 +7593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2814, - "is_pure": false + "is_pure": false, + "text": "FROZEN_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7509,7 +7639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7670,7 +7801,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetFrozen(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~FROZEN_MASK)!=0;}" }, { "id": 3210, @@ -7771,14 +7903,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3222, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3224, @@ -7859,14 +7993,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3229, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3230, @@ -7886,7 +8022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2818, - "is_pure": false + "is_pure": false, + "text": "BORROWING_MASK" } ], "type_descriptions": [ @@ -7982,7 +8119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3239, - "is_pure": false + "is_pure": false, + "text": "enabled" }, { "id": 3240, @@ -8004,7 +8142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3241, @@ -8026,7 +8165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -8088,7 +8228,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -8113,7 +8254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2854, - "is_pure": false + "is_pure": false, + "text": "BORROWING_ENABLED_START_BIT_POSITION" } ], "type_descriptions": [ @@ -8157,7 +8299,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026BORROWING_MASK)|(uint256(enabled?1:0)\u003c\u003cBORROWING_ENABLED_START_BIT_POSITION);" } ] }, @@ -8304,13 +8447,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setBorrowingEnabled(, bool)", - "signature": "37ad629f", + "signature_raw": "setBorrowingEnabled(,bool)", + "signature": "efc3a6fc", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetBorrowingEnabled(DataTypes.ReserveConfigurationMapmemoryself,boolenabled)internalpure{self.data=(self.data\u0026BORROWING_MASK)|(uint256(enabled?1:0)\u003c\u003cBORROWING_ENABLED_START_BIT_POSITION);}" }, { "id": 3244, @@ -8440,14 +8584,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3259, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3260, @@ -8485,7 +8631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2818, - "is_pure": false + "is_pure": false, + "text": "BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -8530,7 +8677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8691,7 +8839,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetBorrowingEnabled(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~BORROWING_MASK)!=0;}" }, { "id": 3264, @@ -8792,14 +8941,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3276, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3278, @@ -8880,14 +9031,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3283, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3284, @@ -8907,7 +9060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2830, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_MASK" } ], "type_descriptions": [ @@ -9003,7 +9157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3293, - "is_pure": false + "is_pure": false, + "text": "enabled" }, { "id": 3294, @@ -9025,7 +9180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3295, @@ -9047,7 +9203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -9109,7 +9266,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -9134,7 +9292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2862, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_ENABLED_START_BIT_POSITION" } ], "type_descriptions": [ @@ -9178,7 +9337,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026COLLATERAL_MASK)|(uint256(enabled?1:0)\u003c\u003cCOLLATERAL_ENABLED_START_BIT_POSITION);" } ] }, @@ -9325,13 +9485,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setCollateralEnabled(, bool)", - "signature": "4252e482", + "signature_raw": "setCollateralEnabled(,bool)", + "signature": "842900b8", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetCollateralEnabled(DataTypes.ReserveConfigurationMapmemoryself,boolenabled)internalpure{self.data=(self.data\u0026COLLATERAL_MASK)|(uint256(enabled?1:0)\u003c\u003cCOLLATERAL_ENABLED_START_BIT_POSITION);}" }, { "id": 3298, @@ -9461,14 +9622,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3313, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3314, @@ -9506,7 +9669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2830, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -9551,7 +9715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9712,7 +9877,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetCollateralEnabled(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~COLLATERAL_MASK)!=0;}" }, { "id": 3318, @@ -9813,14 +9979,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3330, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3332, @@ -9901,14 +10069,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3337, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3338, @@ -9928,7 +10098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2822, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_MASK" } ], "type_descriptions": [ @@ -10024,7 +10195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3347, - "is_pure": false + "is_pure": false, + "text": "enabled" }, { "id": 3348, @@ -10046,7 +10218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, { "id": 3349, @@ -10068,7 +10241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -10130,7 +10304,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_$_t_conditional$", @@ -10155,7 +10330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2858, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_ENABLED_START_BIT_POSITION" } ], "type_descriptions": [ @@ -10199,7 +10375,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026STABLE_BORROWING_MASK)|(uint256(enabled?1:0)\u003c\u003cSTABLE_BORROWING_ENABLED_START_BIT_POSITION);" } ] }, @@ -10346,13 +10523,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setStableRateBorrowingEnabled(, bool)", - "signature": "bb7852ac", + "signature_raw": "setStableRateBorrowingEnabled(,bool)", + "signature": "8f2e9880", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_bool$", "type_string": "function(contract DataTypes,bool)" - } + }, + "text": "functionsetStableRateBorrowingEnabled(DataTypes.ReserveConfigurationMapmemoryself,boolenabled)internalpure{self.data=(self.data\u0026STABLE_BORROWING_MASK)|(uint256(enabled?1:0)\u003c\u003cSTABLE_BORROWING_ENABLED_START_BIT_POSITION);}" }, { "id": 3352, @@ -10482,14 +10660,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3367, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3368, @@ -10527,7 +10707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2822, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -10572,7 +10753,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10733,7 +10915,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetStableRateBorrowingEnabled(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool){return(self.data\u0026~STABLE_BORROWING_MASK)!=0;}" }, { "id": 3372, @@ -10825,7 +11008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3384, - "is_pure": false + "is_pure": false, + "text": "reserveFactor" }, "right_expression": { "id": 3385, @@ -10845,7 +11029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2886, - "is_pure": false + "is_pure": false, + "text": "MAX_VALID_RESERVE_FACTOR" }, "type_description": { "type_identifier": "t_bool", @@ -10893,7 +11078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "Errors" }, "member_name": "RC_INVALID_RESERVE_FACTOR", "argument_types": [ @@ -10905,7 +11091,8 @@ "type_description": { "type_identifier": "t_contract$_Errors_$1460", "type_string": "contract Errors" - } + }, + "text": "Errors.RC_INVALID_RESERVE_FACTOR" } ], "expression": { @@ -10926,7 +11113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_address$", @@ -10997,14 +11185,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3391, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, "right_expression": { "id": 3393, @@ -11085,14 +11275,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3398, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3399, @@ -11112,7 +11304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2826, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_MASK" } ], "type_descriptions": [ @@ -11177,7 +11370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3403, - "is_pure": false + "is_pure": false, + "text": "reserveFactor" }, { "id": 3404, @@ -11197,7 +11391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2866, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_START_BIT_POSITION" } ], "type_descriptions": [ @@ -11241,7 +11436,8 @@ "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data=(self.data\u0026RESERVE_FACTOR_MASK)|(reserveFactor\u003c\u003cRESERVE_FACTOR_START_BIT_POSITION);" } ] }, @@ -11388,13 +11584,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setReserveFactor(, uint256)", - "signature": "5fea3056", + "signature_raw": "setReserveFactor(,uint256)", + "signature": "5626e796", "scope": 2792, "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$_t_uint256$", "type_string": "function(contract DataTypes,uint256)" - } + }, + "text": "functionsetReserveFactor(DataTypes.ReserveConfigurationMapmemoryself,uint256reserveFactor)internalpure{require(reserveFactor\u003c=MAX_VALID_RESERVE_FACTOR,Errors.RC_INVALID_RESERVE_FACTOR);self.data=(self.data\u0026RESERVE_FACTOR_MASK)|(reserveFactor\u003c\u003cRESERVE_FACTOR_START_BIT_POSITION);}" }, { "id": 3406, @@ -11523,14 +11720,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3422, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3423, @@ -11568,7 +11767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2826, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -11611,7 +11811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2866, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_START_BIT_POSITION" } ], "type_descriptions": [ @@ -11783,7 +11984,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetReserveFactor(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256){return(self.data\u0026~RESERVE_FACTOR_MASK)\u003e\u003eRESERVE_FACTOR_START_BIT_POSITION;}" }, { "id": 3427, @@ -11921,14 +12123,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3448, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" } }, { @@ -12015,7 +12219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3456, @@ -12053,7 +12258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2810, - "is_pure": false + "is_pure": false, + "text": "ACTIVE_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -12098,7 +12304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -12163,7 +12370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3464, @@ -12201,7 +12409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2814, - "is_pure": false + "is_pure": false, + "text": "FROZEN_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -12246,7 +12455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -12311,7 +12521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3472, @@ -12349,7 +12560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2818, - "is_pure": false + "is_pure": false, + "text": "BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -12394,7 +12606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -12459,7 +12672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3480, @@ -12497,7 +12711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2822, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -12542,7 +12757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -12607,7 +12823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3444, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3488, @@ -12645,7 +12862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2830, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -12690,7 +12908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13029,7 +13248,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetFlags(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(bool,bool,bool,bool,bool){uint256dataLocal=self.data;return((dataLocal\u0026~ACTIVE_MASK)!=0,(dataLocal\u0026~FROZEN_MASK)!=0,(dataLocal\u0026~BORROWING_MASK)!=0,(dataLocal\u0026~STABLE_BORROWING_MASK)!=0,(dataLocal\u0026~COLLATERAL_MASK)!=0);}" }, { "id": 3492, @@ -13167,14 +13387,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3513, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" } }, { @@ -13233,7 +13455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3519, @@ -13271,7 +13494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2794, - "is_pure": false + "is_pure": false, + "text": "LTV_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13347,7 +13571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3527, @@ -13385,7 +13610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2798, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13428,7 +13654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_START_BIT_POSITION" } ], "type_descriptions": [ @@ -13503,7 +13730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3536, @@ -13541,7 +13769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2802, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13584,7 +13813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2838, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -13659,7 +13889,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3545, @@ -13697,7 +13928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2806, - "is_pure": false + "is_pure": false, + "text": "DECIMALS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13740,7 +13972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2842, - "is_pure": false + "is_pure": false, + "text": "RESERVE_DECIMALS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -13815,7 +14048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3509, - "is_pure": false + "is_pure": false, + "text": "dataLocal" }, { "id": 3554, @@ -13853,7 +14087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2826, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13896,7 +14131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2866, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_START_BIT_POSITION" } ], "type_descriptions": [ @@ -14246,7 +14482,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetParams(DataTypes.ReserveConfigurationMapstorageself)internalviewreturns(uint256,uint256,uint256,uint256,uint256){uint256dataLocal=self.data;return(dataLocal\u0026~LTV_MASK,(dataLocal\u0026~LIQUIDATION_THRESHOLD_MASK)\u003e\u003eLIQUIDATION_THRESHOLD_START_BIT_POSITION,(dataLocal\u0026~LIQUIDATION_BONUS_MASK)\u003e\u003eLIQUIDATION_BONUS_START_BIT_POSITION,(dataLocal\u0026~DECIMALS_MASK)\u003e\u003eRESERVE_DECIMALS_START_BIT_POSITION,(dataLocal\u0026~RESERVE_FACTOR_MASK)\u003e\u003eRESERVE_FACTOR_START_BIT_POSITION);}" }, { "id": 3558, @@ -14362,14 +14599,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3580, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3581, @@ -14407,7 +14646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2794, - "is_pure": false + "is_pure": false, + "text": "LTV_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -14506,14 +14746,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3589, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3590, @@ -14551,7 +14793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2798, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -14594,7 +14837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_THRESHOLD_START_BIT_POSITION" } ], "type_descriptions": [ @@ -14692,14 +14936,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3599, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3600, @@ -14737,7 +14983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2802, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -14780,7 +15027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2838, - "is_pure": false + "is_pure": false, + "text": "LIQUIDATION_BONUS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -14878,14 +15126,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3609, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3610, @@ -14923,7 +15173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2806, - "is_pure": false + "is_pure": false, + "text": "DECIMALS_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -14966,7 +15217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2842, - "is_pure": false + "is_pure": false, + "text": "RESERVE_DECIMALS_START_BIT_POSITION" } ], "type_descriptions": [ @@ -15064,14 +15316,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3619, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3620, @@ -15109,7 +15363,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2826, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -15152,7 +15407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2866, - "is_pure": false + "is_pure": false, + "text": "RESERVE_FACTOR_START_BIT_POSITION" } ], "type_descriptions": [ @@ -15502,7 +15758,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetParamsMemory(DataTypes.ReserveConfigurationMapmemoryself)internalpurereturns(uint256,uint256,uint256,uint256,uint256){return(self.data\u0026~LTV_MASK,(self.data\u0026~LIQUIDATION_THRESHOLD_MASK)\u003e\u003eLIQUIDATION_THRESHOLD_START_BIT_POSITION,(self.data\u0026~LIQUIDATION_BONUS_MASK)\u003e\u003eLIQUIDATION_BONUS_START_BIT_POSITION,(self.data\u0026~DECIMALS_MASK)\u003e\u003eRESERVE_DECIMALS_START_BIT_POSITION,(self.data\u0026~RESERVE_FACTOR_MASK)\u003e\u003eRESERVE_FACTOR_START_BIT_POSITION);}" }, { "id": 3624, @@ -15646,14 +15903,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3648, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3649, @@ -15691,7 +15950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2810, - "is_pure": false + "is_pure": false, + "text": "ACTIVE_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -15736,7 +15996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -15824,14 +16085,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3657, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3658, @@ -15869,7 +16132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2814, - "is_pure": false + "is_pure": false, + "text": "FROZEN_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -15914,7 +16178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -16002,14 +16267,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3666, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3667, @@ -16047,7 +16314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2818, - "is_pure": false + "is_pure": false, + "text": "BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -16092,7 +16360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -16180,14 +16449,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3675, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3676, @@ -16225,7 +16496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2822, - "is_pure": false + "is_pure": false, + "text": "STABLE_BORROWING_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -16270,7 +16542,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -16358,14 +16631,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3684, - "is_pure": false + "is_pure": false, + "text": "self" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DataTypes_$977", "type_string": "contract DataTypes" - } + }, + "text": "self.data" }, { "id": 3685, @@ -16403,7 +16678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2830, - "is_pure": false + "is_pure": false, + "text": "COLLATERAL_MASK" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -16448,7 +16724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -16787,7 +17064,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_DataTypes_$977$", "type_string": "function(contract DataTypes)" - } + }, + "text": "functiongetFlagsMemory(DataTypes.ReserveConfigurationMapmemoryself)internalpurereturns(bool,bool,bool,bool,bool){return((self.data\u0026~ACTIVE_MASK)!=0,(self.data\u0026~FROZEN_MASK)!=0,(self.data\u0026~BORROWING_MASK)!=0,(self.data\u0026~STABLE_BORROWING_MASK)!=0,(self.data\u0026~COLLATERAL_MASK)!=0);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/SafeERC20.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/SafeERC20.solgo.ast.json index aaa6effd..a5b3b43d 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/SafeERC20.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/SafeERC20.solgo.ast.json @@ -181,7 +181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 579, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 580, @@ -274,21 +275,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 585, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 586, @@ -314,7 +318,8 @@ "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 587, @@ -344,7 +349,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -388,14 +394,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -421,7 +429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -617,13 +626,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 560, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 589, @@ -701,7 +711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 604, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 605, @@ -798,21 +809,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 610, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 611, @@ -838,7 +852,8 @@ "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 612, @@ -868,7 +883,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 613, @@ -902,7 +918,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -946,14 +963,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -979,7 +998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -1219,13 +1239,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 560, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 615, @@ -1345,7 +1366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 631, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 632, @@ -1367,7 +1389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1468,7 +1491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -1514,7 +1538,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1545,7 +1570,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -1589,14 +1615,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 637, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -1623,7 +1651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1667,7 +1696,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "'SafeERC20: approve from non-zero to non-zero allowance'" } ], "expression": { @@ -1688,7 +1718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -1736,7 +1767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 648, @@ -1829,21 +1861,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 653, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 654, @@ -1869,7 +1904,8 @@ "type_identifier": "t_contract$_IERC20_$368", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 655, @@ -1899,7 +1935,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -1943,14 +1980,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -1976,7 +2015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2172,13 +2212,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 560, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),'SafeERC20: approve from non-zero to non-zero allowance');callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 657, @@ -2312,7 +2353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -2358,7 +2400,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2370,7 +2413,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).isContract" }, "type_description": { "type_identifier": "t_function_$", @@ -2403,7 +2447,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "'SafeERC20: call to non-contract'" } ], "expression": { @@ -2424,7 +2469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -2573,7 +2619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 686, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -2636,7 +2683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 685, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -2682,7 +2730,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2694,7 +2743,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).call" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -2743,7 +2793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 675, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 690, @@ -2771,7 +2822,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'SafeERC20: low-level call failed'" } ], "expression": { @@ -2792,7 +2844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2865,14 +2918,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 675, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 695, @@ -2894,7 +2949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2979,7 +3035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 703, @@ -3031,7 +3088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -3081,14 +3139,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -3121,7 +3181,8 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "'SafeERC20: ERC20 operation did not succeed'" } ], "expression": { @@ -3142,7 +3203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -3297,13 +3359,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "callOptionalReturn(, bytes)", - "signature": "8e0a158a", + "signature_raw": "callOptionalReturn(,bytes)", + "signature": "f11dc268", "scope": 560, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$368$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "functioncallOptionalReturn(IERC20token,bytesmemorydata)private{require(address(token).isContract(),'SafeERC20: call to non-contract');(boolsuccess,bytesmemoryreturndata)=address(token).call(data);require(success,'SafeERC20: low-level call failed');if(returndata.length!=0){require(abi.decode(returndata,(bool)),'SafeERC20: ERC20 operation did not succeed');}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/WadRayMath.solgo.ast.json b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/WadRayMath.solgo.ast.json index db779ba2..7d7cb216 100644 --- a/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/WadRayMath.solgo.ast.json +++ b/data/tests/contracts/10xd747740FfAC8A6397bA80676299c4e3105999a9A/WadRayMath.solgo.ast.json @@ -116,7 +116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e18" } }, { @@ -191,7 +192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3786, - "is_pure": false + "is_pure": false, + "text": "WAD" }, "right_expression": { "id": 3794, @@ -213,7 +215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -281,7 +284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e27" } }, { @@ -356,7 +360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3796, - "is_pure": false + "is_pure": false, + "text": "RAY" }, "right_expression": { "id": 3804, @@ -378,7 +383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -446,7 +452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e9" } }, { @@ -514,7 +521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3796, - "is_pure": false + "is_pure": false, + "text": "RAY" } } ] @@ -649,7 +657,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionray()internalpurereturns(uint256){returnRAY;}" }, { "id": 3821, @@ -716,7 +725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3786, - "is_pure": false + "is_pure": false, + "text": "WAD" } } ] @@ -851,7 +861,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionwad()internalpurereturns(uint256){returnWAD;}" }, { "id": 3832, @@ -918,7 +929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3800, - "is_pure": false + "is_pure": false, + "text": "halfRAY" } } ] @@ -1053,7 +1065,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionhalfRay()internalpurereturns(uint256){returnhalfRAY;}" }, { "id": 3843, @@ -1120,7 +1133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3790, - "is_pure": false + "is_pure": false, + "text": "halfWAD" } } ] @@ -1255,7 +1269,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionhalfWad()internalpurereturns(uint256){returnhalfWAD;}" }, { "id": 3854, @@ -1349,7 +1364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3867, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3868, @@ -1371,7 +1387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1410,7 +1427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3870, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3871, @@ -1432,7 +1450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1490,7 +1509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -1582,7 +1602,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3880, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3881, @@ -1602,7 +1623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3881, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1627,7 +1649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3790, - "is_pure": false + "is_pure": false, + "text": "halfWAD" }, "type_description": { "type_identifier": "t_uint256", @@ -1658,7 +1681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3786, - "is_pure": false + "is_pure": false, + "text": "WAD" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -1835,13 +1859,14 @@ } ] }, - "signature_raw": "wadMul(uint256, uint256)", - "signature": "94d52e8f", + "signature_raw": "wadMul(uint256,uint256)", + "signature": "761fdad6", "scope": 3784, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionwadMul(uint256a,uint256b)internalpurereturns(uint256){if(a==0||b==0){return0;}return(a*b+halfWAD)/WAD;}" }, { "id": 3885, @@ -1970,7 +1995,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3899, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3900, @@ -1992,7 +2018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -2086,7 +2113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3906, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3907, @@ -2106,7 +2134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3786, - "is_pure": false + "is_pure": false, + "text": "WAD" }, "type_description": { "type_identifier": "t_uint256", @@ -2131,7 +2160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3895, - "is_pure": false + "is_pure": false, + "text": "halfB" }, "type_description": { "type_identifier": "t_uint256", @@ -2162,7 +2192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3909, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -2339,13 +2370,14 @@ } ] }, - "signature_raw": "wadDiv(uint256, uint256)", - "signature": "cdebcbc5", + "signature_raw": "wadDiv(uint256,uint256)", + "signature": "e57b6d3b", "scope": 3784, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionwadDiv(uint256a,uint256b)internalpurereturns(uint256){uint256halfB=b/2;return(a*WAD+halfB)/b;}" }, { "id": 3911, @@ -2439,7 +2471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3924, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3925, @@ -2461,7 +2494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2500,7 +2534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3927, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3928, @@ -2522,7 +2557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2580,7 +2616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -2672,7 +2709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3937, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3938, @@ -2692,7 +2730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3938, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2717,7 +2756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3800, - "is_pure": false + "is_pure": false, + "text": "halfRAY" }, "type_description": { "type_identifier": "t_uint256", @@ -2748,7 +2788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3796, - "is_pure": false + "is_pure": false, + "text": "RAY" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -2925,13 +2966,14 @@ } ] }, - "signature_raw": "rayMul(uint256, uint256)", - "signature": "48018597", + "signature_raw": "rayMul(uint256,uint256)", + "signature": "d2e30585", "scope": 3784, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionrayMul(uint256a,uint256b)internalpurereturns(uint256){if(a==0||b==0){return0;}return(a*b+halfRAY)/RAY;}" }, { "id": 3942, @@ -3060,7 +3102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3956, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3957, @@ -3082,7 +3125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -3176,7 +3220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3963, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3964, @@ -3196,7 +3241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3796, - "is_pure": false + "is_pure": false, + "text": "RAY" }, "type_description": { "type_identifier": "t_uint256", @@ -3221,7 +3267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3952, - "is_pure": false + "is_pure": false, + "text": "halfB" }, "type_description": { "type_identifier": "t_uint256", @@ -3252,7 +3299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3966, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -3429,13 +3477,14 @@ } ] }, - "signature_raw": "rayDiv(uint256, uint256)", - "signature": "3722c38d", + "signature_raw": "rayDiv(uint256,uint256)", + "signature": "9c34d880", "scope": 3784, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionrayDiv(uint256a,uint256b)internalpurereturns(uint256){uint256halfB=b/2;return(a*RAY+halfB)/b;}" }, { "id": 3968, @@ -3564,7 +3613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3806, - "is_pure": false + "is_pure": false, + "text": "WAD_RAY_RATIO" }, "right_expression": { "id": 3981, @@ -3586,7 +3636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3686,7 +3737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3976, - "is_pure": false + "is_pure": false, + "text": "halfRatio" }, "right_expression": { "id": 3987, @@ -3706,7 +3758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3987, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -3758,7 +3811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3982, - "is_pure": false + "is_pure": false, + "text": "result" }, "right_expression": { "id": 3991, @@ -3778,7 +3832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3806, - "is_pure": false + "is_pure": false, + "text": "WAD_RAY_RATIO" }, "type_description": { "type_identifier": "t_uint256", @@ -3918,7 +3973,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionrayToWad(uint256a)internalpurereturns(uint256){uint256halfRatio=WAD_RAY_RATIO/2;uint256result=halfRatio+a;returnresult/WAD_RAY_RATIO;}" }, { "id": 3993, @@ -4047,7 +4103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4005, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4006, @@ -4067,7 +4124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3806, - "is_pure": false + "is_pure": false, + "text": "WAD_RAY_RATIO" }, "type_description": { "type_identifier": "t_uint256", @@ -4105,7 +4163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4001, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -4240,7 +4299,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionwadToRay(uint256a)internalpurereturns(uint256){uint256result=a*WAD_RAY_RATIO;returnresult;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/AddressUpgradeable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/AddressUpgradeable.solgo.ast.json index c32dcc50..334fbcb7 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/AddressUpgradeable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/AddressUpgradeable.solgo.ast.json @@ -186,21 +186,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 313, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 314, @@ -222,7 +225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -363,7 +367,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 316, @@ -497,7 +502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -543,7 +549,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -555,7 +562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 332, @@ -575,7 +583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 332, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -608,7 +617,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -629,7 +639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -733,7 +744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -789,14 +801,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 340, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -850,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 334, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 345, @@ -878,7 +893,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -899,7 +915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1031,13 +1048,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 347, @@ -1135,7 +1153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 360, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 361, @@ -1161,7 +1180,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 362, @@ -1193,7 +1213,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 363, @@ -1229,7 +1250,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1250,7 +1272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string_literal$", @@ -1428,13 +1451,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,\"Address: low-level call failed\");}" }, { "id": 365, @@ -1532,7 +1556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 381, @@ -1558,7 +1583,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 382, @@ -1590,7 +1616,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 383, @@ -1624,7 +1651,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1645,7 +1673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1866,13 +1895,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 385, @@ -1970,7 +2000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 400, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 401, @@ -1996,7 +2027,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 402, @@ -2026,7 +2058,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 403, @@ -2062,7 +2095,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2083,7 +2117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2304,13 +2339,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 405, @@ -2444,7 +2480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2490,7 +2527,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2502,7 +2540,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 427, @@ -2522,7 +2561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 427, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2555,7 +2595,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2576,7 +2617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2725,7 +2767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 438, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -2781,14 +2824,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -2862,7 +2907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 443, @@ -2888,7 +2934,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 444, @@ -2918,7 +2965,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 445, @@ -2952,7 +3000,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -2973,7 +3022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -3237,13 +3287,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 447, @@ -3337,7 +3388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 461, @@ -3363,7 +3415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 462, @@ -3395,7 +3448,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3416,7 +3470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3594,13 +3649,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 464, @@ -3779,7 +3835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 484, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -3823,14 +3880,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 483, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3899,7 +3958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 488, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 489, @@ -3925,7 +3985,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 490, @@ -3955,7 +4016,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 491, @@ -3989,7 +4051,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4010,7 +4073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -4231,13 +4295,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 493, @@ -4331,7 +4396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 506, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 507, @@ -4357,7 +4423,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 508, @@ -4389,7 +4456,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -4410,7 +4478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -4588,13 +4657,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 510, @@ -4773,7 +4843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 530, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4817,14 +4888,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 529, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4893,7 +4966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 534, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 535, @@ -4919,7 +4993,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 536, @@ -4949,7 +5024,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 537, @@ -4983,7 +5059,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5004,7 +5081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -5225,13 +5303,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 539, @@ -5297,7 +5376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 554, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 555, @@ -5379,14 +5459,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 559, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 560, @@ -5408,7 +5490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5489,7 +5572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 566, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -5510,7 +5594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5543,7 +5628,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -5564,7 +5650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5604,7 +5691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 569, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -5866,13 +5954,14 @@ } ] }, - "signature_raw": "verifyCallResultFromTarget(address, bool, bytes, string)", - "signature": "ac377f6d", + "signature_raw": "verifyCallResultFromTarget(address,bool,bytes,string)", + "signature": "1daa78c1", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", "type_string": "function(address,bool,bytes,string)" - } + }, + "text": "functionverifyCallResultFromTarget(addresstarget,boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){if(success){if(returndata.length==0){require(isContract(target),\"Address: call to non-contract\");}returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 571, @@ -5938,7 +6027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 584, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 585, @@ -5984,7 +6074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 587, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -6202,13 +6293,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 589, @@ -6311,14 +6403,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 600, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 601, @@ -6340,7 +6434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6894,13 +6989,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_revert(bytes, string)", - "signature": "26a4ef1a", + "signature_raw": "_revert(bytes,string)", + "signature": "6cadf5e1", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string$", "type_string": "function(bytes,string)" - } + }, + "text": "function_revert(bytesmemoryreturndata,stringmemoryerrorMessage)privatepure{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ContextUpgradeable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ContextUpgradeable.solgo.ast.json index 8048b961..206e6f91 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ContextUpgradeable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ContextUpgradeable.solgo.ast.json @@ -199,7 +199,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init()internalonlyInitializing{}" }, { "id": 1167, @@ -307,7 +308,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init_unchained()internalonlyInitializing{}" }, { "id": 1174, @@ -397,14 +399,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -541,7 +545,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 1186, @@ -631,14 +636,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -773,7 +780,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" }, { "id": 1198, @@ -830,7 +838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ERC20BurnableUpgradeable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ERC20BurnableUpgradeable.solgo.ast.json index ce625704..253d5466 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ERC20BurnableUpgradeable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ERC20BurnableUpgradeable.solgo.ast.json @@ -261,7 +261,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC20Burnable_init()internalonlyInitializing{}" }, { "id": 1817, @@ -369,7 +370,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC20Burnable_init_unchained()internalonlyInitializing{}" }, { "id": 1824, @@ -461,7 +463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -492,7 +495,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" } ], "expression": { @@ -513,7 +517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_burn" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -607,7 +612,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionburn(uint256amount)publicvirtual{_burn(_msgSender(),amount);}" }, { "id": 1836, @@ -689,7 +695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1846, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1847, @@ -723,7 +730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -758,7 +766,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" } ], "expression": { @@ -779,7 +788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -827,7 +837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1852, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1853, @@ -853,7 +864,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -874,7 +886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_burn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -1006,13 +1019,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "burnFrom(address, uint256)", - "signature": "32902fff", + "signature_raw": "burnFrom(address,uint256)", + "signature": "79cc6790", "scope": 1802, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionburnFrom(addressaccount,uint256amount)publicvirtual{_spendAllowance(account,_msgSender(),amount);_burn(account,amount);}" }, { "id": 1855, @@ -1069,7 +1083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ERC20Upgradeable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ERC20Upgradeable.solgo.ast.json index af047485..e65b70f4 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ERC20Upgradeable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/ERC20Upgradeable.solgo.ast.json @@ -210,7 +210,7 @@ "mutability": 1, "type_name": { "id": 1222, - "node_type": 0, + "node_type": 53, "src": { "line": 819, "column": 4, @@ -303,7 +303,7 @@ "mutability": 1, "type_name": { "id": 1227, - "node_type": 0, + "node_type": 53, "src": { "line": 821, "column": 4, @@ -626,7 +626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1255, - "is_pure": false + "is_pure": false, + "text": "name_" }, { "id": 1256, @@ -652,7 +653,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "symbol_" } ], "expression": { @@ -673,7 +675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__ERC20_init_unchained" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", @@ -834,13 +837,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__ERC20_init(string, string)", - "signature": "0a485aa7", + "signature_raw": "__ERC20_init(string,string)", + "signature": "678bd718", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "function__ERC20_init(stringmemoryname_,stringmemorysymbol_)internalonlyInitializing{__ERC20_init_unchained(name_,symbol_);}" }, { "id": 1258, @@ -918,7 +922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1237, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 1271, @@ -938,7 +943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1271, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -948,7 +954,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 1272, @@ -991,7 +998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1240, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 1275, @@ -1011,7 +1019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1275, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -1021,7 +1030,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] }, @@ -1177,13 +1187,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__ERC20_init_unchained(string, string)", - "signature": "5cec9c4a", + "signature_raw": "__ERC20_init_unchained(string,string)", + "signature": "46753fdb", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "function__ERC20_init_unchained(stringmemoryname_,stringmemorysymbol_)internalonlyInitializing{_name=name_;_symbol=symbol_;}" }, { "id": 1277, @@ -1250,7 +1261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1237, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -1404,7 +1416,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 1289, @@ -1471,7 +1484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1240, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -1625,7 +1639,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 1301, @@ -1694,7 +1709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -1848,7 +1864,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 1313, @@ -1915,7 +1932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1234, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -2069,7 +2087,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 1325, @@ -2147,7 +2166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1337, @@ -2167,7 +2187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1337, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -2337,7 +2358,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 1339, @@ -2467,7 +2489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -2520,7 +2543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1350, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1358, @@ -2546,7 +2570,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1359, @@ -2576,7 +2601,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -2597,7 +2623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2636,7 +2663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -2828,13 +2856,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_transfer(owner,to,amount);returntrue;}" }, { "id": 1363, @@ -2923,7 +2952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1226, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1378, @@ -2943,7 +2973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1378, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -2978,7 +3009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1379, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -3186,13 +3218,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 1381, @@ -3322,7 +3355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3375,7 +3409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1392, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1400, @@ -3401,7 +3436,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 1401, @@ -3431,7 +3467,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3452,7 +3489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3491,7 +3529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -3683,13 +3722,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_approve(owner,spender,amount);returntrue;}" }, { "id": 1405, @@ -3819,7 +3859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3872,7 +3913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1425, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1426, @@ -3898,7 +3940,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 1427, @@ -3928,7 +3971,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3949,7 +3993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -4001,7 +4046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1430, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1431, @@ -4027,7 +4073,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1432, @@ -4057,7 +4104,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -4078,7 +4126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -4117,7 +4166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -4353,13 +4403,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualoverridereturns(bool){addressspender=_msgSender();_spendAllowance(from,spender,amount);_transfer(from,to,amount);returntrue;}" }, { "id": 1436, @@ -4489,7 +4540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4542,7 +4594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1446, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1454, @@ -4568,7 +4621,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 1455, @@ -4625,7 +4679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1446, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1459, @@ -4651,7 +4706,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -4672,7 +4728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -4697,7 +4754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -4723,7 +4781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -4762,7 +4821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -4935,13 +4995,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){addressowner=_msgSender();_approve(owner,spender,allowance(owner,spender)+addedValue);returntrue;}" }, { "id": 1464, @@ -5071,7 +5132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5180,7 +5242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1474, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1485, @@ -5206,7 +5269,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -5227,7 +5291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -5290,7 +5355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1479, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1490, @@ -5310,7 +5376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1490, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -5343,7 +5410,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -5364,7 +5432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5403,7 +5472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -5465,7 +5535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1498, @@ -5491,7 +5562,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 1499, @@ -5525,7 +5597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1479, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1501, @@ -5545,7 +5618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1501, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -5571,7 +5645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -5750,13 +5825,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){addressowner=_msgSender();uint256currentAllowance=allowance(owner,spender);require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(owner,spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 1503, @@ -5848,7 +5924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1516, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 1517, @@ -5889,7 +5966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5935,7 +6013,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5973,7 +6052,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -5994,7 +6074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6056,7 +6137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1525, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1526, @@ -6097,7 +6179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -6143,7 +6226,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6181,7 +6265,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -6202,7 +6287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6254,7 +6340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1533, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1534, @@ -6280,7 +6367,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1535, @@ -6310,7 +6398,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -6331,7 +6420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -6427,7 +6517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1541, @@ -6447,7 +6538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1541, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -6520,7 +6612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1536, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 1546, @@ -6540,7 +6633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1546, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -6573,7 +6667,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -6594,7 +6689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6631,7 +6727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1549, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1550, @@ -6651,7 +6748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1550, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1551, @@ -6671,7 +6769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1551, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -6692,7 +6791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 179, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -6740,7 +6840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1555, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1556, @@ -6766,7 +6867,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1557, @@ -6796,7 +6898,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -6817,7 +6920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -6890,7 +6994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1563, @@ -6910,7 +7015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1563, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -6959,7 +7065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1536, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 1566, @@ -6979,7 +7086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1566, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -6994,7 +7102,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 1567, @@ -7048,7 +7157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1571, @@ -7068,7 +7178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1571, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -7103,7 +7214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1572, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -7113,7 +7225,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=amount;" } ] } @@ -7286,13 +7399,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(from,to,amount);uint256fromBalance=_balances[from];require(fromBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[from]=fromBalance-amount;_balances[to]+=amount;}emitTransfer(from,to,amount);_afterTokenTransfer(from,to,amount);}" }, { "id": 1574, @@ -7384,7 +7498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1585, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 1586, @@ -7425,7 +7540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7471,7 +7587,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7509,7 +7626,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -7530,7 +7648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7603,7 +7722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7649,7 +7769,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7680,7 +7801,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 1598, @@ -7710,7 +7832,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7731,7 +7854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -7779,7 +7903,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1234, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 1602, @@ -7799,7 +7924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1602, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -7809,7 +7935,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 1603, @@ -7862,7 +7989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7908,7 +8036,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7933,7 +8062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1608, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1609, @@ -7953,7 +8083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1609, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -7974,7 +8105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 179, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -8043,7 +8175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8089,7 +8222,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8120,7 +8254,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 1618, @@ -8150,7 +8285,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -8171,7 +8307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -8244,7 +8381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1624, @@ -8264,7 +8402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1624, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -8299,7 +8438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1625, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -8309,7 +8449,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -8438,13 +8579,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;unchecked{_balances[account]+=amount;}emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 1627, @@ -8536,7 +8678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1638, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 1639, @@ -8577,7 +8720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8623,7 +8767,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8661,7 +8806,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -8682,7 +8828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8734,7 +8881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1646, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1647, @@ -8775,7 +8923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8821,7 +8970,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8856,7 +9006,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -8877,7 +9028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -8973,7 +9125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1657, @@ -8993,7 +9146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -9066,7 +9220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 1662, @@ -9086,7 +9241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1662, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -9119,7 +9275,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -9140,7 +9297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9177,7 +9335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1665, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1666, @@ -9218,7 +9377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9264,7 +9424,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9289,7 +9450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1670, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -9310,7 +9472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 179, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -9358,7 +9521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1674, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1675, @@ -9399,7 +9563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9445,7 +9610,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9480,7 +9646,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -9501,7 +9668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -9574,7 +9742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1685, @@ -9594,7 +9763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1685, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -9643,7 +9813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 1688, @@ -9663,7 +9834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1688, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -9678,7 +9850,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 1689, @@ -9721,7 +9894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1234, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 1692, @@ -9741,7 +9915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1692, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -9751,7 +9926,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -9880,13 +10056,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;_totalSupply-=amount;}emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 1694, @@ -9978,7 +10155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1707, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1708, @@ -10019,7 +10197,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10065,7 +10244,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10103,7 +10283,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -10124,7 +10305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10186,7 +10368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1716, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1717, @@ -10227,7 +10410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10273,7 +10457,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10311,7 +10496,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -10332,7 +10518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10402,7 +10589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1226, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1727, @@ -10422,7 +10610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -10457,7 +10646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1728, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -10492,7 +10682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1729, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -10502,7 +10693,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 1730, @@ -10534,7 +10726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1731, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1732, @@ -10554,7 +10747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1732, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1733, @@ -10574,7 +10768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1733, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -10595,7 +10790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 188, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -10767,13 +10963,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 1736, @@ -10911,7 +11108,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1751, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1752, @@ -10937,7 +11135,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -10958,7 +11157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -11009,7 +11209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1746, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1756, @@ -11056,7 +11257,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -11132,7 +11334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1479, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1763, @@ -11152,7 +11355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1763, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -11185,7 +11389,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -11206,7 +11411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -11385,13 +11591,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_spendAllowance(address, address, uint256)", - "signature": "2b81cb6e", + "signature_raw": "_spendAllowance(address,address,uint256)", + "signature": "1532335e", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_spendAllowance(addressowner,addressspender,uint256amount)internalvirtual{uint256currentAllowance=allowance(owner,spender);if(currentAllowance!=type(uint256).max){require(currentAllowance\u003e=amount,\"ERC20: insufficient allowance\");unchecked{_approve(owner,spender,currentAllowance-amount);}}}" }, { "id": 1766, @@ -11596,13 +11803,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1777, @@ -11807,13 +12015,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1788, @@ -11870,7 +12079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "45" }, "type_description": { "type_identifier": "t_rational_45_by_1", diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20MetadataUpgradeable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20MetadataUpgradeable.solgo.ast.json index f63bf5d9..35a8816a 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20MetadataUpgradeable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20MetadataUpgradeable.solgo.ast.json @@ -259,7 +259,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 277, @@ -427,7 +428,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 286, @@ -595,7 +597,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20PermitUpgradeable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20PermitUpgradeable.solgo.ast.json index bff07124..cd5fcccf 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20PermitUpgradeable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20PermitUpgradeable.solgo.ast.json @@ -436,13 +436,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", "scope": 136, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 157, @@ -611,7 +612,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint256);" }, { "id": 166, @@ -779,7 +781,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20Upgradeable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20Upgradeable.solgo.ast.json index c3989653..e34bafdd 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20Upgradeable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/IERC20Upgradeable.solgo.ast.json @@ -561,7 +561,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 206, @@ -730,7 +731,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 215, @@ -936,13 +938,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 226, @@ -1149,13 +1152,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 237, @@ -1361,13 +1365,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 248, @@ -1617,13 +1622,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/Initializable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/Initializable.solgo.ast.json index bd57431a..1ed3720a 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/Initializable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/Initializable.solgo.ast.json @@ -368,7 +368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -457,7 +458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, { "id": 1020, @@ -491,7 +493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1022, @@ -513,7 +516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -638,7 +642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -684,7 +689,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -733,14 +739,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$294", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -784,7 +792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1036, @@ -806,7 +815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -862,7 +872,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -883,7 +894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -931,7 +943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1041, @@ -953,7 +966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint8", @@ -963,7 +977,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=1;" }, { "id": 1042, @@ -994,7 +1009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 1044, @@ -1051,7 +1067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1048, @@ -1073,7 +1090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -1083,7 +1101,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" } ] } @@ -1106,7 +1125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 1050, @@ -1137,7 +1157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 1052, @@ -1194,7 +1215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1056, @@ -1216,7 +1238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -1226,7 +1249,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" }, { "id": 1057, @@ -1260,7 +1284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -1281,7 +1306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -1456,7 +1482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -1495,7 +1522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1074, @@ -1515,7 +1543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "version" }, "type_description": { "type_identifier": "t_bool", @@ -1560,7 +1589,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -1581,7 +1611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1629,7 +1660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1079, @@ -1649,7 +1681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "version" }, "type_description": { "type_identifier": "t_uint8", @@ -1659,7 +1692,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=version;" }, { "id": 1080, @@ -1702,7 +1736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1083, @@ -1724,7 +1759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -1734,7 +1770,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" }, { "id": 1084, @@ -1754,7 +1791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 1085, @@ -1797,7 +1835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1088, @@ -1819,7 +1858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -1829,7 +1869,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" }, { "id": 1089, @@ -1861,7 +1902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "version" } ], "expression": { @@ -1882,7 +1924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -1979,7 +2022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, { "id": 1099, @@ -2007,7 +2051,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Initializable: contract is not initializing\"" } ], "expression": { @@ -2028,7 +2073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -2053,7 +2099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -2152,7 +2199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -2185,7 +2233,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is initializing\"" } ], "expression": { @@ -2206,7 +2255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2256,7 +2306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1114, @@ -2303,7 +2354,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" }, "type_description": { "type_identifier": "t_bool", @@ -2365,7 +2417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1120, @@ -2412,7 +2465,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" }, "type_description": { "type_identifier": "t_uint8", @@ -2422,7 +2476,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=type(uint8).max;" }, { "id": 1122, @@ -2481,7 +2536,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" } ], "expression": { @@ -2502,7 +2558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -2550,7 +2607,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_disableInitializers()internalvirtual{require(!_initializing,\"Initializable: contract is initializing\");if(_initialized!=type(uint8).max){_initialized=type(uint8).max;emitInitialized(type(uint8).max);}}" }, { "id": 1127, @@ -2617,7 +2675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" } } ] @@ -2752,7 +2811,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "function_getInitializedVersion()internalviewreturns(uint8){return_initialized;}" }, { "id": 1138, @@ -2819,7 +2879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" } } ] @@ -2954,7 +3015,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "function_isInitializing()internalviewreturns(bool){return_initializing;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/OwnableUpgradeable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/OwnableUpgradeable.solgo.ast.json index 8c9fad45..3ed66ab8 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/OwnableUpgradeable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/OwnableUpgradeable.solgo.ast.json @@ -358,7 +358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Ownable_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -437,7 +438,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Ownable_init()internalonlyInitializing{__Ownable_init_unchained();}" }, { "id": 1895, @@ -525,7 +527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -551,7 +554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -630,7 +634,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Ownable_init_unchained()internalonlyInitializing{_transferOwnership(_msgSender());}" }, { "id": 1906, @@ -714,7 +719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -739,7 +745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -809,7 +816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1876, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -946,7 +954,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 1924, @@ -1052,7 +1061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -1091,7 +1101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1129,7 +1140,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -1150,7 +1162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1199,7 +1212,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 1937, @@ -1294,7 +1308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1340,7 +1355,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1366,7 +1382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1445,7 +1462,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 1950, @@ -1537,7 +1555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1961, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1962, @@ -1578,7 +1597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1624,7 +1644,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1662,7 +1683,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1683,7 +1705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1727,7 +1750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1969, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1748,7 +1772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1873,7 +1898,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 1971, @@ -1989,7 +2015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1876, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -2033,7 +2060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1876, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1984, @@ -2053,7 +2081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1984, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -2063,7 +2092,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 1985, @@ -2095,7 +2125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1977, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 1987, @@ -2115,7 +2146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1987, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -2136,7 +2168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1879, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -2227,7 +2260,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" }, { "id": 1990, @@ -2284,7 +2318,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/SafeERC20Upgradeable.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/SafeERC20Upgradeable.solgo.ast.json index ff555227..64db7ef1 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/SafeERC20Upgradeable.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/SafeERC20Upgradeable.solgo.ast.json @@ -186,7 +186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 644, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 645, @@ -279,21 +280,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 650, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.transfer.selector" }, { "id": 651, @@ -319,7 +323,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "to" }, { "id": 652, @@ -349,7 +354,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -393,14 +399,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -426,7 +434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -622,13 +631,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20Upgradeabletoken,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 654, @@ -706,7 +716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 669, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 670, @@ -803,21 +814,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 675, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.transferFrom.selector" }, { "id": 676, @@ -843,7 +857,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "from" }, { "id": 677, @@ -873,7 +888,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 678, @@ -907,7 +923,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -951,14 +968,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -984,7 +1003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -1224,13 +1244,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20Upgradeabletoken,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 680, @@ -1350,7 +1371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 696, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 697, @@ -1372,7 +1394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1473,7 +1496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -1519,7 +1543,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1550,7 +1575,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -1594,14 +1620,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -1628,7 +1656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1672,7 +1701,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -1693,7 +1723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -1741,7 +1772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 712, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 713, @@ -1834,21 +1866,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 718, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 719, @@ -1874,7 +1909,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 720, @@ -1904,7 +1940,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -1948,14 +1985,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -1981,7 +2020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2177,13 +2217,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20Upgradeabletoken,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 722, @@ -2340,7 +2381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2386,7 +2428,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2417,7 +2460,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -2461,14 +2505,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 738, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2517,7 +2563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 746, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 747, @@ -2610,21 +2657,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 752, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 753, @@ -2650,7 +2700,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 754, @@ -2684,7 +2735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 733, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 756, @@ -2704,7 +2756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 756, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -2753,14 +2806,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2786,7 +2841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2982,13 +3038,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20Upgradeabletoken,addressspender,uint256value)internal{uint256oldAllowance=token.allowance(address(this),spender);_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,oldAllowance+value));}" }, { "id": 758, @@ -3159,7 +3216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3205,7 +3263,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3236,7 +3295,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -3280,14 +3340,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 775, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -3350,7 +3412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 785, @@ -3370,7 +3433,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 785, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -3403,7 +3467,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -3424,7 +3489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3472,7 +3538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 789, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 790, @@ -3565,21 +3632,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 795, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 796, @@ -3605,7 +3675,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 797, @@ -3639,7 +3710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 799, @@ -3659,7 +3731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 799, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -3708,14 +3781,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3741,7 +3816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -3939,13 +4015,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20Upgradeabletoken,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,oldAllowance-value));}}" }, { "id": 801, @@ -4133,21 +4210,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 820, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 821, @@ -4173,7 +4253,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 822, @@ -4203,7 +4284,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -4247,14 +4329,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -4332,7 +4416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 827, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 828, @@ -4358,7 +4443,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "approvalCall" } ], "expression": { @@ -4379,7 +4465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturnBool" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -4446,7 +4533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 832, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 833, @@ -4539,21 +4627,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 838, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 839, @@ -4579,7 +4670,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 840, @@ -4611,7 +4703,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -4655,14 +4748,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_rational_0_by_1$", @@ -4688,7 +4783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_rational_0_by_1$", @@ -4736,7 +4832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 844, @@ -4762,7 +4859,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "approvalCall" } ], "expression": { @@ -4783,7 +4881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -4982,13 +5081,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "forceApprove(, address, uint256)", - "signature": "92f9fd25", + "signature_raw": "forceApprove(,address,uint256)", + "signature": "2e3f9f55", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionforceApprove(IERC20Upgradeabletoken,addressspender,uint256value)internal{bytesmemoryapprovalCall=abi.encodeWithSelector(token.approve.selector,spender,value);if(!_callOptionalReturnBool(token,approvalCall)){_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,0));_callOptionalReturn(token,approvalCall);}}" }, { "id": 846, @@ -5122,7 +5222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 873, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -5166,14 +5267,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 872, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20PermitUpgradeable_$134", "type_string": "contract IERC20PermitUpgradeable" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5242,7 +5345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 877, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 878, @@ -5268,7 +5372,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 879, @@ -5298,7 +5403,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { "id": 880, @@ -5332,7 +5438,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 881, @@ -5370,7 +5477,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 882, @@ -5412,7 +5520,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 883, @@ -5458,7 +5567,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -5502,14 +5612,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 876, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "permit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20PermitUpgradeable_$134", "type_string": "contract IERC20PermitUpgradeable" - } + }, + "text": "token.permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -5613,7 +5725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 890, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -5657,14 +5770,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20PermitUpgradeable_$134", "type_string": "contract IERC20PermitUpgradeable" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5727,7 +5842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 884, - "is_pure": false + "is_pure": false, + "text": "nonceAfter" }, "right_expression": { "id": 895, @@ -5761,7 +5877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "nonceBefore" }, "right_expression": { "id": 897, @@ -5783,7 +5900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -5821,7 +5939,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: permit did not succeed\"" } ], "expression": { @@ -5842,7 +5961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6254,13 +6374,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safePermit(, address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8fe8854", + "signature_raw": "safePermit(,address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "1f73058e", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20PermitUpgradeable_$134$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(contract IERC20PermitUpgradeable,address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionsafePermit(IERC20PermitUpgradeabletoken,addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)internal{uint256nonceBefore=token.nonces(owner);token.permit(owner,spender,value,deadline,v,r,s);uint256nonceAfter=token.nonces(owner);require(nonceAfter==nonceBefore+1,\"SafeERC20: permit did not succeed\");}" }, { "id": 900, @@ -6398,7 +6519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 918, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 919, @@ -6426,7 +6548,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -6489,7 +6612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 917, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -6535,7 +6659,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6547,7 +6672,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -6647,14 +6773,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 909, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 926, @@ -6676,7 +6804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6724,7 +6853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 909, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 931, @@ -6776,7 +6906,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -6826,14 +6957,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -6871,7 +7004,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -6892,7 +7026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7044,13 +7179,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_bytes$", "type_string": "function(contract IERC20Upgradeable,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20Upgradeabletoken,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");require(returndata.length==0||abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}" }, { "id": 936, @@ -7229,7 +7365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 958, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -7292,7 +7429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 957, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -7338,7 +7476,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7350,7 +7489,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).call" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -7412,7 +7552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 947, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 965, @@ -7497,14 +7638,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 947, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 970, @@ -7526,7 +7669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7574,7 +7718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 947, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 975, @@ -7626,7 +7771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -7676,14 +7822,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -7769,7 +7917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 984, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -7815,7 +7964,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7864,14 +8014,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$294", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -8081,13 +8233,14 @@ } ] }, - "signature_raw": "_callOptionalReturnBool(, bytes)", - "signature": "a6df5f67", + "signature_raw": "_callOptionalReturnBool(,bytes)", + "signature": "f052f32a", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_bytes$", "type_string": "function(contract IERC20Upgradeable,bytes)" - } + }, + "text": "function_callOptionalReturnBool(IERC20Upgradeabletoken,bytesmemorydata)privatereturns(bool){(boolsuccess,bytesmemoryreturndata)=address(token).call(data);returnsuccess\u0026\u0026(returndata.length==0||abi.decode(returndata,(bool)))\u0026\u0026AddressUpgradeable.isContract(address(token));}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/VirtualX.solgo.ast.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/VirtualX.solgo.ast.json index 340a2469..2a48b176 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/VirtualX.solgo.ast.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/VirtualX.solgo.ast.json @@ -1203,7 +1203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -1235,7 +1236,7 @@ "mutability": 1, "type_name": { "id": 2140, - "node_type": 0, + "node_type": 53, "src": { "line": 819, "column": 4, @@ -1327,7 +1328,7 @@ "mutability": 1, "type_name": { "id": 2144, - "node_type": 0, + "node_type": 53, "src": { "line": 821, "column": 4, @@ -1999,7 +2000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "45" }, "type_description": { "type_identifier": "t_rational_45_by_1", @@ -2062,7 +2064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -2332,7 +2335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -2781,13 +2785,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", "scope": 136, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 157, @@ -2956,7 +2961,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint256);" }, { "id": 166, @@ -3124,7 +3130,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ @@ -3706,7 +3713,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 206, @@ -3875,7 +3883,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 215, @@ -4081,13 +4090,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 226, @@ -4294,13 +4304,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 237, @@ -4506,13 +4517,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 177, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 248, @@ -4762,13 +4774,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 177, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -5048,7 +5061,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 277, @@ -5216,7 +5230,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 286, @@ -5384,7 +5399,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ @@ -5621,21 +5637,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 313, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 314, @@ -5657,7 +5676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5798,7 +5818,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 316, @@ -5932,7 +5953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -5978,7 +6000,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5990,7 +6013,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 332, @@ -6010,7 +6034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 332, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -6043,7 +6068,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -6064,7 +6090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6168,7 +6195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -6224,14 +6252,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 340, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -6285,7 +6315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 334, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 345, @@ -6313,7 +6344,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -6334,7 +6366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6466,13 +6499,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 347, @@ -6570,7 +6604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 360, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 361, @@ -6596,7 +6631,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 362, @@ -6628,7 +6664,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 363, @@ -6664,7 +6701,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -6685,7 +6723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string_literal$", @@ -6863,13 +6902,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,\"Address: low-level call failed\");}" }, { "id": 365, @@ -6967,7 +7007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 381, @@ -6993,7 +7034,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 382, @@ -7025,7 +7067,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 383, @@ -7059,7 +7102,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -7080,7 +7124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -7301,13 +7346,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 385, @@ -7405,7 +7451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 400, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 401, @@ -7431,7 +7478,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 402, @@ -7461,7 +7509,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 403, @@ -7497,7 +7546,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -7518,7 +7568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -7739,13 +7790,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 405, @@ -7879,7 +7931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -7925,7 +7978,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7937,7 +7991,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 427, @@ -7957,7 +8012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 427, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -7990,7 +8046,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -8011,7 +8068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8160,7 +8218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 438, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -8216,14 +8275,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -8297,7 +8358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 443, @@ -8323,7 +8385,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 444, @@ -8353,7 +8416,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 445, @@ -8387,7 +8451,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -8408,7 +8473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -8672,13 +8738,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 447, @@ -8772,7 +8839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 461, @@ -8798,7 +8866,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 462, @@ -8830,7 +8899,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -8851,7 +8921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -9029,13 +9100,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 464, @@ -9214,7 +9286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 484, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -9258,14 +9331,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 483, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -9334,7 +9409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 488, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 489, @@ -9360,7 +9436,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 490, @@ -9390,7 +9467,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 491, @@ -9424,7 +9502,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -9445,7 +9524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -9666,13 +9746,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 493, @@ -9766,7 +9847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 506, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 507, @@ -9792,7 +9874,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 508, @@ -9824,7 +9907,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -9845,7 +9929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -10023,13 +10108,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 510, @@ -10208,7 +10294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 530, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -10252,14 +10339,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 529, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -10328,7 +10417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 534, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 535, @@ -10354,7 +10444,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 536, @@ -10384,7 +10475,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 537, @@ -10418,7 +10510,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -10439,7 +10532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -10660,13 +10754,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 539, @@ -10732,7 +10827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 554, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 555, @@ -10814,14 +10910,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 559, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 560, @@ -10843,7 +10941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10924,7 +11023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 566, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -10945,7 +11045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -10978,7 +11079,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -10999,7 +11101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -11039,7 +11142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 569, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -11301,13 +11405,14 @@ } ] }, - "signature_raw": "verifyCallResultFromTarget(address, bool, bytes, string)", - "signature": "ac377f6d", + "signature_raw": "verifyCallResultFromTarget(address,bool,bytes,string)", + "signature": "1daa78c1", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", "type_string": "function(address,bool,bytes,string)" - } + }, + "text": "functionverifyCallResultFromTarget(addresstarget,boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){if(success){if(returndata.length==0){require(isContract(target),\"Address: call to non-contract\");}returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 571, @@ -11373,7 +11478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 584, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 585, @@ -11419,7 +11525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 587, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -11637,13 +11744,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 589, @@ -11746,14 +11854,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 600, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 601, @@ -11775,7 +11885,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -12329,13 +12440,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_revert(bytes, string)", - "signature": "26a4ef1a", + "signature_raw": "_revert(bytes,string)", + "signature": "6cadf5e1", "scope": 299, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string$", "type_string": "function(bytes,string)" - } + }, + "text": "function_revert(bytesmemoryreturndata,stringmemoryerrorMessage)privatepure{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}" } ], "linearized_base_contracts": [ @@ -12542,7 +12654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 644, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 645, @@ -12635,21 +12748,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 650, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.transfer.selector" }, { "id": 651, @@ -12675,7 +12791,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "to" }, { "id": 652, @@ -12705,7 +12822,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -12749,14 +12867,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -12782,7 +12902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -12978,13 +13099,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20Upgradeabletoken,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 654, @@ -13062,7 +13184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 669, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 670, @@ -13159,21 +13282,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 675, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.transferFrom.selector" }, { "id": 676, @@ -13199,7 +13325,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "from" }, { "id": 677, @@ -13229,7 +13356,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 678, @@ -13263,7 +13391,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -13307,14 +13436,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -13340,7 +13471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -13580,13 +13712,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20Upgradeabletoken,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 680, @@ -13706,7 +13839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 696, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 697, @@ -13728,7 +13862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13829,7 +13964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -13875,7 +14011,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13906,7 +14043,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -13950,14 +14088,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -13984,7 +14124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -14028,7 +14169,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -14049,7 +14191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -14097,7 +14240,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 712, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 713, @@ -14190,21 +14334,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 718, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 719, @@ -14230,7 +14377,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 720, @@ -14260,7 +14408,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -14304,14 +14453,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -14337,7 +14488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -14533,13 +14685,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20Upgradeabletoken,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 722, @@ -14696,7 +14849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -14742,7 +14896,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -14773,7 +14928,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -14817,14 +14973,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 738, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -14873,7 +15031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 746, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 747, @@ -14966,21 +15125,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 752, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 753, @@ -15006,7 +15168,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 754, @@ -15040,7 +15203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 733, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 756, @@ -15060,7 +15224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 756, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -15109,14 +15274,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -15142,7 +15309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -15338,13 +15506,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20Upgradeabletoken,addressspender,uint256value)internal{uint256oldAllowance=token.allowance(address(this),spender);_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,oldAllowance+value));}" }, { "id": 758, @@ -15515,7 +15684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -15561,7 +15731,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15592,7 +15763,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -15636,14 +15808,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 775, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -15706,7 +15880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 785, @@ -15726,7 +15901,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 785, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -15759,7 +15935,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -15780,7 +15957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15828,7 +16006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 789, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 790, @@ -15921,21 +16100,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 795, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 796, @@ -15961,7 +16143,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 797, @@ -15995,7 +16178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 799, @@ -16015,7 +16199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 799, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -16064,14 +16249,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -16097,7 +16284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -16295,13 +16483,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20Upgradeabletoken,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,oldAllowance-value));}}" }, { "id": 801, @@ -16489,21 +16678,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 820, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 821, @@ -16529,7 +16721,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 822, @@ -16559,7 +16752,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -16603,14 +16797,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -16688,7 +16884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 827, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 828, @@ -16714,7 +16911,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "approvalCall" } ], "expression": { @@ -16735,7 +16933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturnBool" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -16802,7 +17001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 832, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 833, @@ -16895,21 +17095,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 838, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" - } + }, + "text": "token.approve.selector" }, { "id": 839, @@ -16935,7 +17138,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "spender" }, { "id": 840, @@ -16967,7 +17171,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -17011,14 +17216,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_rational_0_by_1$", @@ -17044,7 +17251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_rational_0_by_1$", @@ -17092,7 +17300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 844, @@ -17118,7 +17327,8 @@ "type_identifier": "t_contract$_IERC20Upgradeable_$174", "type_string": "contract IERC20Upgradeable" } - ] + ], + "text": "approvalCall" } ], "expression": { @@ -17139,7 +17349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -17338,13 +17549,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "forceApprove(, address, uint256)", - "signature": "92f9fd25", + "signature_raw": "forceApprove(,address,uint256)", + "signature": "2e3f9f55", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_address$_t_uint256$", "type_string": "function(contract IERC20Upgradeable,address,uint256)" - } + }, + "text": "functionforceApprove(IERC20Upgradeabletoken,addressspender,uint256value)internal{bytesmemoryapprovalCall=abi.encodeWithSelector(token.approve.selector,spender,value);if(!_callOptionalReturnBool(token,approvalCall)){_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,0));_callOptionalReturn(token,approvalCall);}}" }, { "id": 846, @@ -17478,7 +17690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 873, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -17522,14 +17735,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 872, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20PermitUpgradeable_$134", "type_string": "contract IERC20PermitUpgradeable" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17598,7 +17813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 877, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 878, @@ -17624,7 +17840,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 879, @@ -17654,7 +17871,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { "id": 880, @@ -17688,7 +17906,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 881, @@ -17726,7 +17945,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 882, @@ -17768,7 +17988,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 883, @@ -17814,7 +18035,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -17858,14 +18080,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 876, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "permit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20PermitUpgradeable_$134", "type_string": "contract IERC20PermitUpgradeable" - } + }, + "text": "token.permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -17969,7 +18193,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 890, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -18013,14 +18238,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20PermitUpgradeable_$134", "type_string": "contract IERC20PermitUpgradeable" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18083,7 +18310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 884, - "is_pure": false + "is_pure": false, + "text": "nonceAfter" }, "right_expression": { "id": 895, @@ -18117,7 +18345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "nonceBefore" }, "right_expression": { "id": 897, @@ -18139,7 +18368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -18177,7 +18407,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: permit did not succeed\"" } ], "expression": { @@ -18198,7 +18429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -18610,13 +18842,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safePermit(, address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8fe8854", + "signature_raw": "safePermit(,address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "1f73058e", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20PermitUpgradeable_$134$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(contract IERC20PermitUpgradeable,address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionsafePermit(IERC20PermitUpgradeabletoken,addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)internal{uint256nonceBefore=token.nonces(owner);token.permit(owner,spender,value,deadline,v,r,s);uint256nonceAfter=token.nonces(owner);require(nonceAfter==nonceBefore+1,\"SafeERC20: permit did not succeed\");}" }, { "id": 900, @@ -18754,7 +18987,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 918, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 919, @@ -18782,7 +19016,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -18845,7 +19080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 917, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -18891,7 +19127,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18903,7 +19140,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -19003,14 +19241,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 909, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 926, @@ -19032,7 +19272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -19080,7 +19321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 909, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 931, @@ -19132,7 +19374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -19182,14 +19425,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -19227,7 +19472,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -19248,7 +19494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19400,13 +19647,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_bytes$", "type_string": "function(contract IERC20Upgradeable,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20Upgradeabletoken,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");require(returndata.length==0||abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}" }, { "id": 936, @@ -19585,7 +19833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 958, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -19648,7 +19897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 957, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -19694,7 +19944,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -19706,7 +19957,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).call" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -19768,7 +20020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 947, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 965, @@ -19853,14 +20106,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 947, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 970, @@ -19882,7 +20137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -19930,7 +20186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 947, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 975, @@ -19982,7 +20239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -20032,14 +20290,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -20125,7 +20385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 984, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -20171,7 +20432,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -20220,14 +20482,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$294", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -20437,13 +20701,14 @@ } ] }, - "signature_raw": "_callOptionalReturnBool(, bytes)", - "signature": "a6df5f67", + "signature_raw": "_callOptionalReturnBool(,bytes)", + "signature": "f052f32a", "scope": 625, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Upgradeable_$174$_t_bytes$", "type_string": "function(contract IERC20Upgradeable,bytes)" - } + }, + "text": "function_callOptionalReturnBool(IERC20Upgradeabletoken,bytesmemorydata)privatereturns(bool){(boolsuccess,bytesmemoryreturndata)=address(token).call(data);returnsuccess\u0026\u0026(returndata.length==0||abi.decode(returndata,(bool)))\u0026\u0026AddressUpgradeable.isContract(address(token));}" } ], "linearized_base_contracts": [ @@ -20832,7 +21097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -20921,7 +21187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, { "id": 1020, @@ -20955,7 +21222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1022, @@ -20977,7 +21245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -21102,7 +21371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -21148,7 +21418,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -21197,14 +21468,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "AddressUpgradeable" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_AddressUpgradeable_$294", "type_string": "contract AddressUpgradeable" - } + }, + "text": "AddressUpgradeable.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -21248,7 +21521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1036, @@ -21270,7 +21544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -21326,7 +21601,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -21347,7 +21623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -21395,7 +21672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1041, @@ -21417,7 +21695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint8", @@ -21427,7 +21706,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=1;" }, { "id": 1042, @@ -21458,7 +21738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 1044, @@ -21515,7 +21796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1048, @@ -21537,7 +21819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -21547,7 +21830,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" } ] } @@ -21570,7 +21854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 1050, @@ -21601,7 +21886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 1052, @@ -21658,7 +21944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1056, @@ -21680,7 +21967,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -21690,7 +21978,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" }, { "id": 1057, @@ -21724,7 +22013,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -21745,7 +22035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -21920,7 +22211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -21959,7 +22251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1074, @@ -21979,7 +22272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "version" }, "type_description": { "type_identifier": "t_bool", @@ -22024,7 +22318,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -22045,7 +22340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22093,7 +22389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1079, @@ -22113,7 +22410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "version" }, "type_description": { "type_identifier": "t_uint8", @@ -22123,7 +22421,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=version;" }, { "id": 1080, @@ -22166,7 +22465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1083, @@ -22188,7 +22488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -22198,7 +22499,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" }, { "id": 1084, @@ -22218,7 +22520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 1085, @@ -22261,7 +22564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 1088, @@ -22283,7 +22587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -22293,7 +22598,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" }, { "id": 1089, @@ -22325,7 +22631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "version" } ], "expression": { @@ -22346,7 +22653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -22443,7 +22751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, { "id": 1099, @@ -22471,7 +22780,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Initializable: contract is not initializing\"" } ], "expression": { @@ -22492,7 +22802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -22517,7 +22828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -22616,7 +22928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -22649,7 +22962,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is initializing\"" } ], "expression": { @@ -22670,7 +22984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22720,7 +23035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1114, @@ -22767,7 +23083,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" }, "type_description": { "type_identifier": "t_bool", @@ -22829,7 +23146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 1120, @@ -22876,7 +23194,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" }, "type_description": { "type_identifier": "t_uint8", @@ -22886,7 +23205,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_initialized=type(uint8).max;" }, { "id": 1122, @@ -22945,7 +23265,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint8).max" } ], "expression": { @@ -22966,7 +23287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "Initialized" } } ] @@ -23014,7 +23336,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_disableInitializers()internalvirtual{require(!_initializing,\"Initializable: contract is initializing\");if(_initialized!=type(uint8).max){_initialized=type(uint8).max;emitInitialized(type(uint8).max);}}" }, { "id": 1127, @@ -23081,7 +23404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "_initialized" } } ] @@ -23216,7 +23540,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "function_getInitializedVersion()internalviewreturns(uint8){return_initialized;}" }, { "id": 1138, @@ -23283,7 +23608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "_initializing" } } ] @@ -23418,7 +23744,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "function_isInitializing()internalviewreturns(bool){return_initializing;}" } ], "linearized_base_contracts": [ @@ -23638,7 +23965,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init()internalonlyInitializing{}" }, { "id": 1167, @@ -23746,7 +24074,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init_unchained()internalonlyInitializing{}" }, { "id": 1174, @@ -23836,14 +24165,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -23980,7 +24311,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 1186, @@ -24070,14 +24402,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -24212,7 +24546,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" }, { "id": 1198, @@ -24269,7 +24604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -24537,7 +24873,7 @@ "mutability": 1, "type_name": { "id": 1222, - "node_type": 0, + "node_type": 53, "src": { "line": 819, "column": 4, @@ -24630,7 +24966,7 @@ "mutability": 1, "type_name": { "id": 1227, - "node_type": 0, + "node_type": 53, "src": { "line": 821, "column": 4, @@ -24953,7 +25289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1255, - "is_pure": false + "is_pure": false, + "text": "name_" }, { "id": 1256, @@ -24979,7 +25316,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "symbol_" } ], "expression": { @@ -25000,7 +25338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__ERC20_init_unchained" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", @@ -25161,13 +25500,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__ERC20_init(string, string)", - "signature": "0a485aa7", + "signature_raw": "__ERC20_init(string,string)", + "signature": "678bd718", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "function__ERC20_init(stringmemoryname_,stringmemorysymbol_)internalonlyInitializing{__ERC20_init_unchained(name_,symbol_);}" }, { "id": 1258, @@ -25245,7 +25585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1237, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 1271, @@ -25265,7 +25606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1271, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -25275,7 +25617,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 1272, @@ -25318,7 +25661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1240, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 1275, @@ -25338,7 +25682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1275, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -25348,7 +25693,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] }, @@ -25504,13 +25850,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__ERC20_init_unchained(string, string)", - "signature": "5cec9c4a", + "signature_raw": "__ERC20_init_unchained(string,string)", + "signature": "46753fdb", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "function__ERC20_init_unchained(stringmemoryname_,stringmemorysymbol_)internalonlyInitializing{_name=name_;_symbol=symbol_;}" }, { "id": 1277, @@ -25577,7 +25924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1237, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -25731,7 +26079,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 1289, @@ -25798,7 +26147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1240, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -25952,7 +26302,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 1301, @@ -26021,7 +26372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -26175,7 +26527,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 1313, @@ -26242,7 +26595,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1234, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -26396,7 +26750,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 1325, @@ -26474,7 +26829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1337, @@ -26494,7 +26850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1337, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -26664,7 +27021,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 1339, @@ -26794,7 +27152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -26847,7 +27206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1350, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1358, @@ -26873,7 +27233,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1359, @@ -26903,7 +27264,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -26924,7 +27286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -26963,7 +27326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -27155,13 +27519,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_transfer(owner,to,amount);returntrue;}" }, { "id": 1363, @@ -27250,7 +27615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1226, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1378, @@ -27270,7 +27636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1378, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -27305,7 +27672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1379, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -27513,13 +27881,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 1381, @@ -27649,7 +28018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -27702,7 +28072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1392, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1400, @@ -27728,7 +28099,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 1401, @@ -27758,7 +28130,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -27779,7 +28152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -27818,7 +28192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -28010,13 +28385,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_approve(owner,spender,amount);returntrue;}" }, { "id": 1405, @@ -28146,7 +28522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -28199,7 +28576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1425, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1426, @@ -28225,7 +28603,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 1427, @@ -28255,7 +28634,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -28276,7 +28656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -28328,7 +28709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1430, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1431, @@ -28354,7 +28736,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1432, @@ -28384,7 +28767,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -28405,7 +28789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -28444,7 +28829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -28680,13 +29066,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualoverridereturns(bool){addressspender=_msgSender();_spendAllowance(from,spender,amount);_transfer(from,to,amount);returntrue;}" }, { "id": 1436, @@ -28816,7 +29203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -28869,7 +29257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1446, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1454, @@ -28895,7 +29284,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 1455, @@ -28952,7 +29342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1446, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1459, @@ -28978,7 +29369,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -28999,7 +29391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -29024,7 +29417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -29050,7 +29444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -29089,7 +29484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -29262,13 +29658,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){addressowner=_msgSender();_approve(owner,spender,allowance(owner,spender)+addedValue);returntrue;}" }, { "id": 1464, @@ -29398,7 +29795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -29507,7 +29905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1474, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1485, @@ -29533,7 +29932,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -29554,7 +29954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -29617,7 +30018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1479, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1490, @@ -29637,7 +30039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1490, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -29670,7 +30073,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -29691,7 +30095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -29730,7 +30135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -29792,7 +30198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1498, @@ -29818,7 +30225,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 1499, @@ -29852,7 +30260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1479, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1501, @@ -29872,7 +30281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1501, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -29898,7 +30308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -30077,13 +30488,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){addressowner=_msgSender();uint256currentAllowance=allowance(owner,spender);require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(owner,spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 1503, @@ -30175,7 +30587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1516, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 1517, @@ -30216,7 +30629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -30262,7 +30676,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -30300,7 +30715,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -30321,7 +30737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -30383,7 +30800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1525, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1526, @@ -30424,7 +30842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -30470,7 +30889,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -30508,7 +30928,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -30529,7 +30950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -30581,7 +31003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1533, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1534, @@ -30607,7 +31030,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1535, @@ -30637,7 +31061,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -30658,7 +31083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -30754,7 +31180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1541, @@ -30774,7 +31201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1541, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -30847,7 +31275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1536, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 1546, @@ -30867,7 +31296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1546, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -30900,7 +31330,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -30921,7 +31352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -30958,7 +31390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1549, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1550, @@ -30978,7 +31411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1550, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1551, @@ -30998,7 +31432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1551, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -31019,7 +31454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 179, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -31067,7 +31503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1555, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1556, @@ -31093,7 +31530,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1557, @@ -31123,7 +31561,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -31144,7 +31583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -31217,7 +31657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1563, @@ -31237,7 +31678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1563, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -31286,7 +31728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1536, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 1566, @@ -31306,7 +31749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1566, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -31321,7 +31765,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 1567, @@ -31375,7 +31820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1571, @@ -31395,7 +31841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1571, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -31430,7 +31877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1572, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -31440,7 +31888,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=amount;" } ] } @@ -31613,13 +32062,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(from,to,amount);uint256fromBalance=_balances[from];require(fromBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[from]=fromBalance-amount;_balances[to]+=amount;}emitTransfer(from,to,amount);_afterTokenTransfer(from,to,amount);}" }, { "id": 1574, @@ -31711,7 +32161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1585, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 1586, @@ -31752,7 +32203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -31798,7 +32250,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -31836,7 +32289,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -31857,7 +32311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -31930,7 +32385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -31976,7 +32432,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -32007,7 +32464,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 1598, @@ -32037,7 +32495,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -32058,7 +32517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -32106,7 +32566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1234, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 1602, @@ -32126,7 +32587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1602, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -32136,7 +32598,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 1603, @@ -32189,7 +32652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -32235,7 +32699,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -32260,7 +32725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1608, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1609, @@ -32280,7 +32746,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1609, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -32301,7 +32768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 179, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -32370,7 +32838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -32416,7 +32885,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -32447,7 +32917,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 1618, @@ -32477,7 +32948,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -32498,7 +32970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -32571,7 +33044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1624, @@ -32591,7 +33065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1624, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -32626,7 +33101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1625, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -32636,7 +33112,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -32765,13 +33242,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;unchecked{_balances[account]+=amount;}emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 1627, @@ -32863,7 +33341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1638, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 1639, @@ -32904,7 +33383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -32950,7 +33430,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -32988,7 +33469,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -33009,7 +33491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -33061,7 +33544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1646, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1647, @@ -33102,7 +33586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -33148,7 +33633,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -33183,7 +33669,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -33204,7 +33691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -33300,7 +33788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1657, @@ -33320,7 +33809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -33393,7 +33883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 1662, @@ -33413,7 +33904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1662, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -33446,7 +33938,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -33467,7 +33960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -33504,7 +33998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1665, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1666, @@ -33545,7 +34040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -33591,7 +34087,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -33616,7 +34113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1670, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -33637,7 +34135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 179, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -33685,7 +34184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1674, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1675, @@ -33726,7 +34226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -33772,7 +34273,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -33807,7 +34309,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -33828,7 +34331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -33901,7 +34405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1685, @@ -33921,7 +34426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1685, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -33970,7 +34476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 1688, @@ -33990,7 +34497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1688, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -34005,7 +34513,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 1689, @@ -34048,7 +34557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1234, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 1692, @@ -34068,7 +34578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1692, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -34078,7 +34589,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -34207,13 +34719,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;_totalSupply-=amount;}emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 1694, @@ -34305,7 +34818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1707, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1708, @@ -34346,7 +34860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -34392,7 +34907,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -34430,7 +34946,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -34451,7 +34968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -34513,7 +35031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1716, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1717, @@ -34554,7 +35073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -34600,7 +35120,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -34638,7 +35159,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -34659,7 +35181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -34729,7 +35252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1226, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1727, @@ -34749,7 +35273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1727, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -34784,7 +35309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1728, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -34819,7 +35345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1729, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -34829,7 +35356,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 1730, @@ -34861,7 +35389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1731, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1732, @@ -34881,7 +35410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1732, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1733, @@ -34901,7 +35431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1733, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -34922,7 +35453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 188, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -35094,13 +35626,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 1736, @@ -35238,7 +35771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1751, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1752, @@ -35264,7 +35798,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -35285,7 +35820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -35336,7 +35872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1746, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1756, @@ -35383,7 +35920,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -35459,7 +35997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1479, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1763, @@ -35479,7 +36018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1763, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -35512,7 +36052,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -35533,7 +36074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -35712,13 +36254,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_spendAllowance(address, address, uint256)", - "signature": "2b81cb6e", + "signature_raw": "_spendAllowance(address,address,uint256)", + "signature": "1532335e", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_spendAllowance(addressowner,addressspender,uint256amount)internalvirtual{uint256currentAllowance=allowance(owner,spender);if(currentAllowance!=type(uint256).max){require(currentAllowance\u003e=amount,\"ERC20: insufficient allowance\");unchecked{_approve(owner,spender,currentAllowance-amount);}}}" }, { "id": 1766, @@ -35923,13 +36466,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1777, @@ -36134,13 +36678,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 1211, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1788, @@ -36197,7 +36742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "45" }, "type_description": { "type_identifier": "t_rational_45_by_1", @@ -36600,7 +37146,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC20Burnable_init()internalonlyInitializing{}" }, { "id": 1817, @@ -36708,7 +37255,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__ERC20Burnable_init_unchained()internalonlyInitializing{}" }, { "id": 1824, @@ -36800,7 +37348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -36831,7 +37380,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" } ], "expression": { @@ -36852,7 +37402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_burn" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -36946,7 +37497,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionburn(uint256amount)publicvirtual{_burn(_msgSender(),amount);}" }, { "id": 1836, @@ -37028,7 +37580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1846, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1847, @@ -37062,7 +37615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -37097,7 +37651,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" } ], "expression": { @@ -37118,7 +37673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -37166,7 +37722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1852, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1853, @@ -37192,7 +37749,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -37213,7 +37771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_burn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -37345,13 +37904,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "burnFrom(address, uint256)", - "signature": "32902fff", + "signature_raw": "burnFrom(address,uint256)", + "signature": "79cc6790", "scope": 1802, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionburnFrom(addressaccount,uint256amount)publicvirtual{_spendAllowance(account,_msgSender(),amount);_burn(account,amount);}" }, { "id": 1855, @@ -37408,7 +37968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -37880,7 +38441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Ownable_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -37959,7 +38521,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Ownable_init()internalonlyInitializing{__Ownable_init_unchained();}" }, { "id": 1895, @@ -38047,7 +38610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -38073,7 +38637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -38152,7 +38717,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Ownable_init_unchained()internalonlyInitializing{_transferOwnership(_msgSender());}" }, { "id": 1906, @@ -38236,7 +38802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -38261,7 +38828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -38331,7 +38899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1876, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -38468,7 +39037,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 1924, @@ -38574,7 +39144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -38613,7 +39184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -38651,7 +39223,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -38672,7 +39245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -38721,7 +39295,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 1937, @@ -38816,7 +39391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -38862,7 +39438,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -38888,7 +39465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -38967,7 +39545,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 1950, @@ -39059,7 +39638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1961, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1962, @@ -39100,7 +39680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -39146,7 +39727,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -39184,7 +39766,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -39205,7 +39788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -39249,7 +39833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1969, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -39270,7 +39855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -39395,7 +39981,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 1971, @@ -39511,7 +40098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1876, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -39555,7 +40143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1876, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1984, @@ -39575,7 +40164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1984, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -39585,7 +40175,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 1985, @@ -39617,7 +40208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1977, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 1987, @@ -39637,7 +40229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1987, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -39658,7 +40251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1879, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -39749,7 +40343,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" }, { "id": 1990, @@ -39806,7 +40401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -40163,7 +40759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"VirtualX\"" }, { "id": 2030, @@ -40191,7 +40788,8 @@ "type_identifier": "t_string_literal", "type_string": "literal_string \"VirtualX\"" } - ] + ], + "text": "\"VRL\"" } ], "expression": { @@ -40212,7 +40810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__ERC20_init" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_string_literal$", @@ -40251,7 +40850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__ERC20Burnable_init" }, "type_description": { "type_identifier": "t_function_$", @@ -40290,7 +40890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Ownable_init" }, "type_description": { "type_identifier": "t_function_$", @@ -40338,7 +40939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2037, - "is_pure": false + "is_pure": false, + "text": "_presale" }, { "id": 2038, @@ -40366,7 +40968,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "7e27" } ], "expression": { @@ -40387,7 +40990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_0_by_1$", @@ -40435,7 +41039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2041, - "is_pure": false + "is_pure": false, + "text": "_liquidity" }, { "id": 2042, @@ -40463,7 +41068,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "93e27" } ], "expression": { @@ -40484,7 +41090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_0_by_1$", @@ -40647,13 +41254,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(address, address)", - "signature": "58e0d614", + "signature_raw": "initialize(address,address)", + "signature": "485cc955", "scope": 2006, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioninitialize(address_liquidity,address_presale)externalinitializer{__ERC20_init(\"VirtualX\",\"VRL\");__ERC20Burnable_init();__Ownable_init();_mint(_presale,7e27);_mint(_liquidity,93e27);}" }, { "id": 2044, @@ -40745,7 +41353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -40776,7 +41385,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" } ], "expression": { @@ -40839,7 +41449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2058, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -40860,7 +41471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20Upgradeable" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -40872,7 +41484,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20Upgradeable(token).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -41034,13 +41647,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "recoverExcessToken(address, uint256)", - "signature": "33f4e5cc", + "signature_raw": "recoverExcessToken(address,uint256)", + "signature": "aa9700c5", "scope": 2006, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionrecoverExcessToken(addresstoken,uint256amount)externalonlyOwner{IERC20Upgradeable(token).safeTransfer(_msgSender(),amount);}" }, { "id": 2063, @@ -41156,7 +41770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -41202,7 +41817,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -41214,7 +41830,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } ], "expression": { @@ -41284,7 +41901,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -41309,7 +41927,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_function_$$", "type_string": "function(function()) payable" - } + }, + "text": "payable(_msgSender()).transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -41388,7 +42007,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrecoverETH()externalonlyOwner{payable(_msgSender()).transfer(address(this).balance);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/VirtualX.solgo.ast.proto.json b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/VirtualX.solgo.ast.proto.json index 15c59e89..86491a17 100644 --- a/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/VirtualX.solgo.ast.proto.json +++ b/data/tests/contracts/560xe301C9525Ade8c368329a055212Fd56b202c1E3C/VirtualX.solgo.ast.proto.json @@ -1222,6 +1222,7 @@ "parentIndex": "2140", "start": "31997" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "32015", @@ -1310,6 +1311,7 @@ "parentIndex": "2144", "start": "32049" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "32087", @@ -2663,7 +2665,7 @@ } }, "scope": "136", - "signature": "f8e100d5", + "signature": "d505accf", "src": { "column": "4", "end": "1780", @@ -3825,7 +3827,7 @@ } }, "scope": "177", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "3727", @@ -4013,7 +4015,7 @@ } }, "scope": "177", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "4085", @@ -4200,7 +4202,7 @@ } }, "scope": "177", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "4812", @@ -4426,7 +4428,7 @@ } }, "scope": "177", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "5198", @@ -6036,7 +6038,7 @@ } }, "scope": "299", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "8966", @@ -6425,7 +6427,7 @@ } }, "scope": "299", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "9893", @@ -6850,7 +6852,7 @@ } }, "scope": "299", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "10338", @@ -7275,7 +7277,7 @@ } }, "scope": "299", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "10924", @@ -8210,7 +8212,7 @@ } }, "scope": "299", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "11618", @@ -8558,7 +8560,7 @@ } }, "scope": "299", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "11992", @@ -9192,7 +9194,7 @@ } }, "scope": "299", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "12502", @@ -9540,7 +9542,7 @@ } }, "scope": "299", - "signature": "ce0c9802", + "signature": "ee33b7e2", "src": { "column": "4", "end": "12879", @@ -10174,7 +10176,7 @@ } }, "scope": "299", - "signature": "a6f0db75", + "signature": "57387df0", "src": { "column": "4", "end": "13390", @@ -10804,7 +10806,7 @@ } }, "scope": "299", - "signature": "ac377f6d", + "signature": "1daa78c1", "src": { "column": "4", "end": "14306", @@ -11123,7 +11125,7 @@ } }, "scope": "299", - "signature": "15a412bd", + "signature": "946b5793", "src": { "column": "4", "end": "14822", @@ -11884,7 +11886,7 @@ } }, "scope": "299", - "signature": "26a4ef1a", + "signature": "6cadf5e1", "src": { "column": "4", "end": "15368", @@ -12513,7 +12515,7 @@ } }, "scope": "625", - "signature": "8d2f8c29", + "signature": "d6e935fe", "src": { "column": "4", "end": "16479", @@ -13095,7 +13097,7 @@ } }, "scope": "625", - "signature": "d9098537", + "signature": "d0e2343c", "src": { "column": "4", "end": "16932", @@ -14050,7 +14052,7 @@ } }, "scope": "625", - "signature": "11e8fd6d", + "signature": "75a98b8a", "src": { "column": "4", "end": "17776", @@ -14851,7 +14853,7 @@ } }, "scope": "625", - "signature": "d5ee8724", + "signature": "8d3df938", "src": { "column": "4", "end": "18258", @@ -15812,7 +15814,7 @@ } }, "scope": "625", - "signature": "dd6a69b1", + "signature": "d9cb6425", "src": { "column": "4", "end": "18867", @@ -16852,7 +16854,7 @@ } }, "scope": "625", - "signature": "92f9fd25", + "signature": "2e3f9f55", "src": { "column": "4", "end": "19607", @@ -18114,7 +18116,7 @@ } }, "scope": "625", - "signature": "f8fe8854", + "signature": "1f73058e", "src": { "column": "4", "end": "20242", @@ -18909,7 +18911,7 @@ } }, "scope": "625", - "signature": "50effced", + "signature": "8a35aadd", "src": { "column": "4", "end": "21278", @@ -19961,7 +19963,7 @@ } }, "scope": "625", - "signature": "a6df5f67", + "signature": "f052f32a", "src": { "column": "4", "end": "22395", @@ -24113,6 +24115,7 @@ "parentIndex": "1222", "start": "31997" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "32015", @@ -24203,6 +24206,7 @@ "parentIndex": "1227", "start": "32049" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "32087", @@ -24682,7 +24686,7 @@ } }, "scope": "1211", - "signature": "0a485aa7", + "signature": "678bd718", "src": { "column": "4", "end": "32527", @@ -25023,7 +25027,7 @@ } }, "scope": "1211", - "signature": "5cec9c4a", + "signature": "46753fdb", "src": { "column": "4", "end": "32692", @@ -26626,7 +26630,7 @@ } }, "scope": "1211", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "34528", @@ -26978,7 +26982,7 @@ } }, "scope": "1211", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "34735", @@ -27473,7 +27477,7 @@ } }, "scope": "1211", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "35240", @@ -28142,7 +28146,7 @@ } }, "scope": "1211", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "36058", @@ -28729,7 +28733,7 @@ } }, "scope": "1211", - "signature": "0553e395", + "signature": "39509351", "src": { "column": "4", "end": "36687", @@ -29562,7 +29566,7 @@ } }, "scope": "1211", - "signature": "26444acc", + "signature": "a457c2d7", "src": { "column": "4", "end": "37601", @@ -31161,7 +31165,7 @@ } }, "scope": "1211", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "38843", @@ -32353,7 +32357,7 @@ } }, "scope": "1211", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "39654", @@ -33855,7 +33859,7 @@ } }, "scope": "1211", - "signature": "dd1607d7", + "signature": "6161eb18", "src": { "column": "4", "end": "40633", @@ -34765,7 +34769,7 @@ } }, "scope": "1211", - "signature": "76c3ae3e", + "signature": "104e81ff", "src": { "column": "4", "end": "41396", @@ -35383,7 +35387,7 @@ } }, "scope": "1211", - "signature": "2b81cb6e", + "signature": "1532335e", "src": { "column": "4", "end": "42088", @@ -35573,7 +35577,7 @@ } }, "scope": "1211", - "signature": "03cc7b47", + "signature": "cad3be83", "src": { "column": "4", "end": "42763", @@ -35763,7 +35767,7 @@ } }, "scope": "1211", - "signature": "41e6856b", + "signature": "8f811a1c", "src": { "column": "4", "end": "43441", @@ -36839,7 +36843,7 @@ } }, "scope": "1802", - "signature": "32902fff", + "signature": "79cc6790", "src": { "column": "4", "end": "45078", @@ -39991,7 +39995,7 @@ } }, "scope": "2006", - "signature": "58e0d614", + "signature": "485cc955", "src": { "column": "4", "end": "48967", @@ -40367,7 +40371,7 @@ } }, "scope": "2006", - "signature": "33f4e5cc", + "signature": "aa9700c5", "src": { "column": "4", "end": "49147", diff --git a/data/tests/contracts/babytoken/Address.solgo.ast.json b/data/tests/contracts/babytoken/Address.solgo.ast.json index 25eecb18..a7f0cc96 100644 --- a/data/tests/contracts/babytoken/Address.solgo.ast.json +++ b/data/tests/contracts/babytoken/Address.solgo.ast.json @@ -298,7 +298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1028, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 1043, @@ -320,7 +321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -461,7 +463,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){uint256size;assembly{size:=extcodesize(account)}returnsize\u003e0;}" }, { "id": 1045, @@ -595,7 +598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -641,7 +645,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -653,7 +658,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1061, @@ -673,7 +679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1061, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -706,7 +713,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -727,7 +735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -831,7 +840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -887,14 +897,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1069, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -948,7 +960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1063, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1074, @@ -976,7 +989,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -997,7 +1011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1129,13 +1144,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 1076, @@ -1229,7 +1245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1089, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1090, @@ -1255,7 +1272,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1091, @@ -1287,7 +1305,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1308,7 +1327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -1486,13 +1506,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 1093, @@ -1590,7 +1611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1108, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1109, @@ -1616,7 +1638,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1110, @@ -1648,7 +1671,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 1111, @@ -1682,7 +1706,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1703,7 +1728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1924,13 +1950,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 1113, @@ -2028,7 +2055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1129, @@ -2054,7 +2082,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1130, @@ -2084,7 +2113,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 1131, @@ -2120,7 +2150,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2141,7 +2172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2362,13 +2394,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 1133, @@ -2502,7 +2535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2548,7 +2582,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2560,7 +2595,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1155, @@ -2580,7 +2616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1155, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2613,7 +2650,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2634,7 +2672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2701,7 +2740,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1161, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -2722,7 +2762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2755,7 +2796,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -2776,7 +2818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -2925,7 +2968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1172, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -2981,14 +3025,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1171, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -3058,7 +3104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1163, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1177, @@ -3084,7 +3131,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1178, @@ -3114,7 +3162,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -3135,7 +3184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -3399,13 +3449,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1180, @@ -3499,7 +3550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1193, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1194, @@ -3525,7 +3577,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1195, @@ -3557,7 +3610,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3578,7 +3632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3756,13 +3811,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 1197, @@ -3859,7 +3915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1213, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -3880,7 +3937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3913,7 +3971,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -3934,7 +3993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -4083,7 +4143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1223, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4127,14 +4188,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1222, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4199,7 +4262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1215, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1228, @@ -4225,7 +4289,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1229, @@ -4255,7 +4320,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4276,7 +4342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -4497,13 +4564,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1231, @@ -4597,7 +4665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1244, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1245, @@ -4623,7 +4692,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1246, @@ -4655,7 +4725,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -4676,7 +4747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -4854,13 +4926,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 1248, @@ -4957,7 +5030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1264, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -4978,7 +5052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5011,7 +5086,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -5032,7 +5108,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5181,7 +5258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1274, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -5225,14 +5303,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1273, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -5297,7 +5377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1266, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1279, @@ -5323,7 +5404,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1280, @@ -5353,7 +5435,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5374,7 +5457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -5595,13 +5679,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1282, @@ -5667,7 +5752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1295, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 1296, @@ -5713,7 +5799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1298, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -5931,13 +6018,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/BABYTOKEN.solgo.ast.json b/data/tests/contracts/babytoken/BABYTOKEN.solgo.ast.json index 45896614..fb7e5e7d 100644 --- a/data/tests/contracts/babytoken/BABYTOKEN.solgo.ast.json +++ b/data/tests/contracts/babytoken/BABYTOKEN.solgo.ast.json @@ -358,7 +358,7 @@ "mutability": 1, "type_name": { "id": 6922, - "node_type": 0, + "node_type": 53, "src": { "line": 181, "column": 4, @@ -450,7 +450,7 @@ "mutability": 1, "type_name": { "id": 6926, - "node_type": 0, + "node_type": 53, "src": { "line": 183, "column": 4, @@ -2440,7 +2440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -2472,7 +2473,7 @@ "mutability": 1, "type_name": { "id": 7025, - "node_type": 0, + "node_type": 53, "src": { "line": 1721, "column": 4, @@ -2564,7 +2565,7 @@ "mutability": 1, "type_name": { "id": 7029, - "node_type": 0, + "node_type": 53, "src": { "line": 1723, "column": 4, @@ -3026,7 +3027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "45" }, "type_description": { "type_identifier": "t_rational_45_by_1", @@ -3296,7 +3298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -4515,7 +4518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -4560,7 +4564,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_rational_1_by_1$", @@ -4587,7 +4592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "255" } ], "type_descriptions": [ @@ -4729,7 +4735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -4774,7 +4781,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_rational_1_by_1$", @@ -4801,7 +4809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "255" } ], "type_descriptions": [ @@ -5071,7 +5080,7 @@ "name": "values", "type_name": { "id": 7153, - "node_type": 0, + "node_type": 53, "src": { "line": 2279, "column": 8, @@ -5159,7 +5168,7 @@ "name": "indexOf", "type_name": { "id": 7157, - "node_type": 0, + "node_type": 53, "src": { "line": 2280, "column": 8, @@ -5247,7 +5256,7 @@ "name": "inserted", "type_name": { "id": 7161, - "node_type": 0, + "node_type": 53, "src": { "line": 2281, "column": 8, @@ -5803,7 +5812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 7189, @@ -5825,7 +5835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" }, "type_descriptions": [ { @@ -5903,7 +5914,7 @@ "mutability": 1, "type_name": { "id": 7193, - "node_type": 0, + "node_type": 53, "src": { "line": 2455, "column": 4, @@ -5995,7 +6006,7 @@ "mutability": 1, "type_name": { "id": 7197, - "node_type": 0, + "node_type": 53, "src": { "line": 2456, "column": 4, @@ -6477,7 +6488,7 @@ "mutability": 1, "type_name": { "id": 7220, - "node_type": 0, + "node_type": 53, "src": { "line": 2637, "column": 4, @@ -6569,7 +6580,7 @@ "mutability": 1, "type_name": { "id": 7224, - "node_type": 0, + "node_type": 53, "src": { "line": 2639, "column": 4, @@ -8053,7 +8064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } }, { @@ -8616,7 +8628,7 @@ "mutability": 1, "type_name": { "id": 7321, - "node_type": 0, + "node_type": 53, "src": { "line": 2969, "column": 4, @@ -8708,7 +8720,7 @@ "mutability": 1, "type_name": { "id": 7325, - "node_type": 0, + "node_type": 53, "src": { "line": 2973, "column": 4, @@ -10962,7 +10974,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 359, @@ -11131,7 +11144,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 368, @@ -11337,13 +11351,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 348, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 379, @@ -11550,13 +11565,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 348, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 390, @@ -11762,13 +11778,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 348, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 401, @@ -12018,13 +12035,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 348, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 414, @@ -12614,7 +12632,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 445, @@ -12782,7 +12801,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 454, @@ -12950,7 +12970,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ @@ -13126,14 +13147,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -13270,7 +13293,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 477, @@ -13360,14 +13384,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -13502,7 +13528,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -13678,7 +13705,7 @@ "mutability": 1, "type_name": { "id": 498, - "node_type": 0, + "node_type": 53, "src": { "line": 181, "column": 4, @@ -13771,7 +13798,7 @@ "mutability": 1, "type_name": { "id": 503, - "node_type": 0, + "node_type": 53, "src": { "line": 183, "column": 4, @@ -14206,7 +14233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 530, @@ -14226,7 +14254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 530, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -14236,7 +14265,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 531, @@ -14279,7 +14309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 516, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 534, @@ -14299,7 +14330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 534, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -14309,7 +14341,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -14379,7 +14412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -14533,7 +14567,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 548, @@ -14600,7 +14635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 516, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -14754,7 +14790,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 560, @@ -14823,7 +14860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -14977,7 +15015,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 572, @@ -15044,7 +15083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -15198,7 +15238,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 584, @@ -15276,7 +15317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 596, @@ -15296,7 +15338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 596, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -15466,7 +15509,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 598, @@ -15562,7 +15606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -15593,7 +15638,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "recipient" }, { "id": 614, @@ -15623,7 +15669,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -15644,7 +15691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -15683,7 +15731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -15875,13 +15924,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)publicvirtualoverridereturns(bool){_transfer(_msgSender(),recipient,amount);returntrue;}" }, { "id": 618, @@ -15970,7 +16020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 633, @@ -15990,7 +16041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -16025,7 +16077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 634, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -16233,13 +16286,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 636, @@ -16335,7 +16389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -16366,7 +16421,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 652, @@ -16396,7 +16452,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -16417,7 +16474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -16456,7 +16514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -16648,13 +16707,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){_approve(_msgSender(),spender,amount);returntrue;}" }, { "id": 656, @@ -16736,7 +16796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 671, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 672, @@ -16762,7 +16823,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 673, @@ -16792,7 +16854,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -16813,7 +16876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -16920,7 +16984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 680, @@ -16940,7 +17005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 680, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -16989,7 +17055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -17067,7 +17134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 687, @@ -17087,7 +17155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 687, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -17120,7 +17189,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds allowance\"" } ], "expression": { @@ -17141,7 +17211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17180,7 +17251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -17242,7 +17314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 694, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 695, @@ -17276,7 +17349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -17315,7 +17389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 699, @@ -17335,7 +17410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 699, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -17361,7 +17437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -17603,13 +17680,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)publicvirtualoverridereturns(bool){_transfer(sender,recipient,amount);uint256currentAllowance=_allowances[sender][_msgSender()];require(currentAllowance\u003e=amount,\"ERC20: transfer amount exceeds allowance\");unchecked{_approve(sender,_msgSender(),currentAllowance-amount);}returntrue;}" }, { "id": 701, @@ -17705,7 +17783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -17736,7 +17815,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 716, @@ -17792,7 +17872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 720, @@ -17826,7 +17907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -17866,7 +17948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 722, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -17901,7 +17984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 723, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$]$_t_address]$", @@ -17927,7 +18011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$]$_t_address]$", @@ -17966,7 +18051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -18139,13 +18225,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){_approve(_msgSender(),spender,_allowances[_msgSender()][spender]+addedValue);returntrue;}" }, { "id": 727, @@ -18282,7 +18369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 743, @@ -18316,7 +18404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -18356,7 +18445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 745, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -18429,7 +18519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 737, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 750, @@ -18449,7 +18540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 750, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -18482,7 +18574,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -18503,7 +18596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -18542,7 +18636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -18618,7 +18713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -18649,7 +18745,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 760, @@ -18683,7 +18780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 762, @@ -18703,7 +18801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 762, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -18729,7 +18828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -18908,13 +19008,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){uint256currentAllowance=_allowances[_msgSender()][spender];require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(_msgSender(),spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 764, @@ -19006,7 +19107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 777, - "is_pure": false + "is_pure": false, + "text": "sender" }, "right_expression": { "id": 778, @@ -19047,7 +19149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19093,7 +19196,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19131,7 +19235,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -19152,7 +19257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19214,7 +19320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 786, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "right_expression": { "id": 787, @@ -19255,7 +19362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19301,7 +19409,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19339,7 +19448,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -19360,7 +19470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19412,7 +19523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 794, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 795, @@ -19438,7 +19550,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 796, @@ -19468,7 +19581,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -19489,7 +19603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -19585,7 +19700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 802, @@ -19605,7 +19721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 802, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -19678,7 +19795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "senderBalance" }, "right_expression": { "id": 807, @@ -19698,7 +19816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -19731,7 +19850,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -19752,7 +19872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19811,7 +19932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 813, @@ -19831,7 +19953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 813, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "type_descriptions": [ { @@ -19866,7 +19989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 814, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -19876,7 +20000,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[recipient]+=amount;" }, { "id": 815, @@ -19908,7 +20033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 816, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 817, @@ -19928,7 +20054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "recipient" }, { "id": 818, @@ -19948,7 +20075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 818, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -19969,7 +20097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -20017,7 +20146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 823, @@ -20043,7 +20173,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 824, @@ -20073,7 +20204,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -20094,7 +20226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -20167,7 +20300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 830, @@ -20187,7 +20321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -20236,7 +20371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "senderBalance" }, "right_expression": { "id": 833, @@ -20256,7 +20392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -20271,7 +20408,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[sender]=senderBalance-amount;" } ] } @@ -20444,13 +20582,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addresssender,addressrecipient,uint256amount)internalvirtual{require(sender!=address(0),\"ERC20: transfer from the zero address\");require(recipient!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(sender,recipient,amount);uint256senderBalance=_balances[sender];require(senderBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[sender]=senderBalance-amount;}_balances[recipient]+=amount;emitTransfer(sender,recipient,amount);_afterTokenTransfer(sender,recipient,amount);}" }, { "id": 835, @@ -20542,7 +20681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 846, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 847, @@ -20583,7 +20723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -20629,7 +20770,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20667,7 +20809,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -20688,7 +20831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20761,7 +20905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -20807,7 +20952,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20838,7 +20984,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 859, @@ -20868,7 +21015,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -20889,7 +21037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -20937,7 +21086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 863, @@ -20957,7 +21107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 863, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -20967,7 +21118,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 864, @@ -21021,7 +21173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 868, @@ -21041,7 +21194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 868, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -21076,7 +21230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 869, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -21086,7 +21241,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" }, { "id": 870, @@ -21139,7 +21295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -21185,7 +21342,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21210,7 +21368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 875, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 876, @@ -21230,7 +21389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 876, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -21251,7 +21411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -21320,7 +21481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -21366,7 +21528,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21397,7 +21560,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 885, @@ -21427,7 +21591,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -21448,7 +21613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -21580,13 +21746,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;_balances[account]+=amount;emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 887, @@ -21678,7 +21845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 898, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 899, @@ -21719,7 +21887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -21765,7 +21934,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21803,7 +21973,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -21824,7 +21995,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -21876,7 +22048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 907, @@ -21917,7 +22090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -21963,7 +22137,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21998,7 +22173,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -22019,7 +22195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -22115,7 +22292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 917, @@ -22135,7 +22313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 917, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -22208,7 +22387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 922, @@ -22228,7 +22408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 922, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -22261,7 +22442,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -22282,7 +22464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22330,7 +22513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 927, @@ -22350,7 +22534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 927, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -22360,7 +22545,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" }, { "id": 928, @@ -22392,7 +22578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 930, @@ -22433,7 +22620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22479,7 +22667,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22504,7 +22693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 934, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -22525,7 +22715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -22573,7 +22764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 938, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 939, @@ -22614,7 +22806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22660,7 +22853,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22695,7 +22889,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -22716,7 +22911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -22789,7 +22985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 949, @@ -22809,7 +23006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -22858,7 +23056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 952, @@ -22878,7 +23077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 952, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -22893,7 +23093,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" } ] } @@ -23022,13 +23223,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;}_totalSupply-=amount;emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 954, @@ -23120,7 +23322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 967, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 968, @@ -23161,7 +23364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -23207,7 +23411,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -23245,7 +23450,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -23266,7 +23472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -23328,7 +23535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 976, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 977, @@ -23369,7 +23577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -23415,7 +23624,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -23453,7 +23663,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -23474,7 +23685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -23544,7 +23756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 987, @@ -23564,7 +23777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 987, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -23599,7 +23813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 988, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -23634,7 +23849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 989, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -23644,7 +23860,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 990, @@ -23676,7 +23893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 991, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 992, @@ -23696,7 +23914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 992, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 993, @@ -23716,7 +23935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 993, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -23737,7 +23957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 423, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -23909,13 +24130,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 996, @@ -24120,13 +24342,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1007, @@ -24331,13 +24554,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" } ], "linearized_base_contracts": [ @@ -24742,7 +24966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1028, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 1043, @@ -24764,7 +24989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24905,7 +25131,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){uint256size;assembly{size:=extcodesize(account)}returnsize\u003e0;}" }, { "id": 1045, @@ -25039,7 +25266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -25085,7 +25313,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25097,7 +25326,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1061, @@ -25117,7 +25347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1061, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -25150,7 +25381,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -25171,7 +25403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -25275,7 +25508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -25331,14 +25565,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1069, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -25392,7 +25628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1063, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1074, @@ -25420,7 +25657,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -25441,7 +25679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -25573,13 +25812,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 1076, @@ -25673,7 +25913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1089, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1090, @@ -25699,7 +25940,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1091, @@ -25731,7 +25973,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -25752,7 +25995,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -25930,13 +26174,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 1093, @@ -26034,7 +26279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1108, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1109, @@ -26060,7 +26306,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1110, @@ -26092,7 +26339,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 1111, @@ -26126,7 +26374,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -26147,7 +26396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -26368,13 +26618,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 1113, @@ -26472,7 +26723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1129, @@ -26498,7 +26750,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1130, @@ -26528,7 +26781,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 1131, @@ -26564,7 +26818,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -26585,7 +26840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -26806,13 +27062,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 1133, @@ -26946,7 +27203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -26992,7 +27250,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27004,7 +27263,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1155, @@ -27024,7 +27284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1155, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -27057,7 +27318,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -27078,7 +27340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -27145,7 +27408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1161, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -27166,7 +27430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27199,7 +27464,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -27220,7 +27486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -27369,7 +27636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1172, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -27425,14 +27693,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1171, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -27502,7 +27772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1163, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1177, @@ -27528,7 +27799,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1178, @@ -27558,7 +27830,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -27579,7 +27852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -27843,13 +28117,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1180, @@ -27943,7 +28218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1193, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1194, @@ -27969,7 +28245,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1195, @@ -28001,7 +28278,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -28022,7 +28300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -28200,13 +28479,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 1197, @@ -28303,7 +28583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1213, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -28324,7 +28605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28357,7 +28639,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -28378,7 +28661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -28527,7 +28811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1223, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -28571,14 +28856,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1222, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -28643,7 +28930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1215, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1228, @@ -28669,7 +28957,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1229, @@ -28699,7 +28988,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -28720,7 +29010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -28941,13 +29232,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1231, @@ -29041,7 +29333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1244, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1245, @@ -29067,7 +29360,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1246, @@ -29099,7 +29393,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -29120,7 +29415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -29298,13 +29594,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 1248, @@ -29401,7 +29698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1264, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -29422,7 +29720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -29455,7 +29754,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -29476,7 +29776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -29625,7 +29926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1274, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -29669,14 +29971,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1273, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -29741,7 +30045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1266, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1279, @@ -29767,7 +30072,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1280, @@ -29797,7 +30103,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -29818,7 +30125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -30039,13 +30347,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 1282, @@ -30111,7 +30420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1295, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 1296, @@ -30157,7 +30467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1298, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -30375,13 +30686,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 1018, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ @@ -30564,7 +30876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1319, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1320, @@ -30657,21 +30970,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1325, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 1326, @@ -30697,7 +31013,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 1327, @@ -30727,7 +31044,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -30771,14 +31089,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -30804,7 +31124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -31000,13 +31321,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 1329, @@ -31084,7 +31406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1344, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1345, @@ -31181,21 +31504,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1350, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 1351, @@ -31221,7 +31547,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 1352, @@ -31251,7 +31578,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1353, @@ -31285,7 +31613,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -31329,14 +31658,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -31362,7 +31693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -31602,13 +31934,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 1355, @@ -31728,7 +32061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1371, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1372, @@ -31750,7 +32084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -31851,7 +32186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -31897,7 +32233,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31928,7 +32265,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -31972,14 +32310,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1377, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -32006,7 +32346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32050,7 +32391,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -32071,7 +32413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -32119,7 +32462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1388, @@ -32212,21 +32556,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1393, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1394, @@ -32252,7 +32599,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1395, @@ -32282,7 +32630,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -32326,14 +32675,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -32359,7 +32710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -32555,13 +32907,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 1397, @@ -32732,7 +33085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -32778,7 +33132,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -32809,7 +33164,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -32853,14 +33209,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1414, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -32885,7 +33243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1420, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -32934,7 +33293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1423, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1424, @@ -33027,21 +33387,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1429, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1430, @@ -33067,7 +33430,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1431, @@ -33097,7 +33461,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -33141,14 +33506,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -33174,7 +33541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -33370,13 +33738,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256newAllowance=token.allowance(address(this),spender)+value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}" }, { "id": 1433, @@ -33547,7 +33916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -33593,7 +33963,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -33624,7 +33995,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -33668,14 +34040,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1450, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -33738,7 +34112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1445, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1460, @@ -33758,7 +34133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -33791,7 +34167,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -33812,7 +34189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -33911,7 +34289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1445, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1467, @@ -33931,7 +34310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1467, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -33980,7 +34360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1470, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1471, @@ -34073,21 +34454,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1476, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1477, @@ -34113,7 +34497,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1478, @@ -34143,7 +34528,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -34187,14 +34573,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -34220,7 +34608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -34418,13 +34807,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");uint256newAllowance=oldAllowance-value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}}" }, { "id": 1480, @@ -34562,7 +34952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1498, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 1499, @@ -34590,7 +34981,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -34653,7 +35045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1497, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -34699,7 +35092,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -34711,7 +35105,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -34785,14 +35180,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1489, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1504, @@ -34814,7 +35211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -34899,7 +35297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1512, @@ -34951,7 +35350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -35001,14 +35401,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -35041,7 +35443,8 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -35062,7 +35465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -35217,13 +35621,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");if(returndata.length\u003e0){require(abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}}" } ], "linearized_base_contracts": [ @@ -35590,7 +35995,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -35616,7 +36022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -35691,7 +36098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -35828,7 +36236,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 1551, @@ -35949,7 +36358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -35988,7 +36398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -36026,7 +36437,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -36047,7 +36459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -36072,7 +36485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -36170,7 +36584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -36216,7 +36631,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -36242,7 +36658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -36321,7 +36738,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_setOwner(address(0));}" }, { "id": 1577, @@ -36413,7 +36831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1588, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1589, @@ -36454,7 +36873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -36500,7 +36920,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -36538,7 +36959,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -36559,7 +36981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -36603,7 +37026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1596, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -36624,7 +37048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -36749,7 +37174,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_setOwner(newOwner);}" }, { "id": 1598, @@ -36865,7 +37291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -36909,7 +37336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1611, @@ -36929,7 +37357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1611, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -36939,7 +37368,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 1612, @@ -36971,7 +37401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1604, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 1614, @@ -36991,7 +37422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1614, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -37012,7 +37444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1524, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -37103,7 +37536,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setOwner(addressnewOwner)private{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ @@ -37332,7 +37766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1636, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1637, @@ -37352,7 +37787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1637, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -37403,7 +37839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1632, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 1641, @@ -37423,7 +37860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1641, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -37491,7 +37929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1646, @@ -37511,7 +37950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1632, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -37734,13 +38174,14 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, { "id": 1648, @@ -37834,7 +38275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1664, @@ -37854,7 +38296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1664, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -37922,7 +38365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1669, @@ -37956,7 +38400,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1670, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1671, @@ -37976,7 +38421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1671, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -38204,13 +38650,14 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, { "id": 1673, @@ -38304,7 +38751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1688, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1689, @@ -38326,7 +38774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -38440,7 +38889,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1696, @@ -38460,7 +38910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1696, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -38525,7 +38976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1691, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 1701, @@ -38545,7 +38997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1701, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -38570,7 +39023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1702, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -38638,7 +39092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1707, @@ -38658,7 +39113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1691, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -38881,13 +39337,14 @@ } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, { "id": 1709, @@ -38981,7 +39438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1724, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1725, @@ -39003,7 +39461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -39071,7 +39530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1730, @@ -39105,7 +39565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1731, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1732, @@ -39125,7 +39586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1732, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -39353,13 +39815,14 @@ } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, { "id": 1734, @@ -39453,7 +39916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1749, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1750, @@ -39475,7 +39939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -39543,7 +40008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1755, @@ -39577,7 +40043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1756, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1757, @@ -39597,7 +40064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1757, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -39825,13 +40293,14 @@ } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, { "id": 1759, @@ -39912,7 +40381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1771, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1772, @@ -39932,7 +40402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1772, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -40109,13 +40580,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { "id": 1774, @@ -40196,7 +40668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1786, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1787, @@ -40216,7 +40689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1787, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -40393,13 +40867,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { "id": 1789, @@ -40480,7 +40955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1801, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1802, @@ -40500,7 +40976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1802, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -40677,13 +41154,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { "id": 1804, @@ -40764,7 +41242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1816, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1817, @@ -40784,7 +41263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1817, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -40961,13 +41441,14 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { "id": 1819, @@ -41048,7 +41529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1831, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1832, @@ -41068,7 +41550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1832, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -41245,13 +41728,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, { "id": 1834, @@ -41357,7 +41841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1850, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1851, @@ -41377,7 +41862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1851, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -41408,7 +41894,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -41429,7 +41916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -41480,7 +41968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1855, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1856, @@ -41500,7 +41989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1856, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -41722,13 +42212,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, { "id": 1858, @@ -41834,7 +42325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1874, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1875, @@ -41856,7 +42348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -41887,7 +42380,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -41908,7 +42402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -41959,7 +42454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1879, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1880, @@ -41979,7 +42475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1880, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -42201,13 +42698,14 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { "id": 1882, @@ -42313,7 +42811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1898, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1899, @@ -42335,7 +42834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -42366,7 +42866,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -42387,7 +42888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -42438,7 +42940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1903, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1904, @@ -42458,7 +42961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -42680,13 +43184,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" } ], "linearized_base_contracts": [ @@ -45332,7 +45837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "instance" }, "right_expression": { "id": 1958, @@ -45373,7 +45879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -45419,7 +45926,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -45457,7 +45965,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1167: create failed\"" } ], "expression": { @@ -45478,7 +45987,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -45619,7 +46129,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionclone(addressimplementation)internalreturns(addressinstance){assembly{letptr:=mload(0x40)mstore(ptr,0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)mstore(add(ptr,0x14),shl(0x60,implementation))mstore(add(ptr,0x28),0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)instance:=create(0,ptr,0x37)}require(instance!=address(0),\"ERC1167: create failed\");}" }, { "id": 1964, @@ -48274,7 +48785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "instance" }, "right_expression": { "id": 2017, @@ -48315,7 +48827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -48361,7 +48874,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -48399,7 +48913,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1167: create2 failed\"" } ], "expression": { @@ -48420,7 +48935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -48598,13 +49114,14 @@ } ] }, - "signature_raw": "cloneDeterministic(address, bytes32)", - "signature": "0520199d", + "signature_raw": "cloneDeterministic(address,bytes32)", + "signature": "b86b2ceb", "scope": 1906, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes32$", "type_string": "function(address,bytes32)" - } + }, + "text": "functioncloneDeterministic(addressimplementation,bytes32salt)internalreturns(addressinstance){assembly{letptr:=mload(0x40)mstore(ptr,0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)mstore(add(ptr,0x14),shl(0x60,implementation))mstore(add(ptr,0x28),0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)instance:=create2(0,ptr,0x37,salt)}require(instance!=address(0),\"ERC1167: create2 failed\");}" }, { "id": 2023, @@ -56004,13 +56521,14 @@ } ] }, - "signature_raw": "predictDeterministicAddress(address, bytes32, address)", - "signature": "34cd8963", + "signature_raw": "predictDeterministicAddress(address,bytes32,address)", + "signature": "93a7e711", "scope": 1906, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes32$_t_address$", "type_string": "function(address,bytes32,address)" - } + }, + "text": "functionpredictDeterministicAddress(addressimplementation,bytes32salt,addressdeployer)internalpurereturns(addresspredicted){assembly{letptr:=mload(0x40)mstore(ptr,0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)mstore(add(ptr,0x14),shl(0x60,implementation))mstore(add(ptr,0x28),0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000)mstore(add(ptr,0x38),shl(0x60,deployer))mstore(add(ptr,0x4c),salt)mstore(add(ptr,0x6c),keccak256(ptr,0x37))predicted:=keccak256(add(ptr,0x37),0x55)}}" }, { "id": 2103, @@ -56104,7 +56622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2116, - "is_pure": false + "is_pure": false, + "text": "implementation" }, { "id": 2117, @@ -56130,7 +56649,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "salt" }, { "id": 2118, @@ -56169,7 +56689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -56215,7 +56736,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -56241,7 +56763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "predictDeterministicAddress" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes32$_t_function_$_t_address$", @@ -56420,13 +56943,14 @@ } ] }, - "signature_raw": "predictDeterministicAddress(address, bytes32)", - "signature": "79ca6a22", + "signature_raw": "predictDeterministicAddress(address,bytes32)", + "signature": "360d0fad", "scope": 1906, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes32$", "type_string": "function(address,bytes32)" - } + }, + "text": "functionpredictDeterministicAddress(addressimplementation,bytes32salt)internalviewreturns(addresspredicted){returnpredictDeterministicAddress(implementation,salt,address(this));}" } ], "linearized_base_contracts": [ @@ -56734,21 +57258,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 2154, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 2155, @@ -56774,7 +57301,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 2156, @@ -56804,7 +57332,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -56848,14 +57377,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -56923,7 +57454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2148, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -56969,7 +57501,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -56981,7 +57514,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).call" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_uint256$", @@ -57043,7 +57577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2138, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 2163, @@ -57128,14 +57663,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2138, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 2168, @@ -57157,7 +57694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -57205,7 +57743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2138, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 2173, @@ -57257,7 +57796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -57307,14 +57847,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -57441,7 +57983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2182, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -57487,7 +58030,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -57499,14 +58043,16 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).code.length" }, "right_expression": { "id": 2183, @@ -57528,7 +58074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -57782,13 +58329,14 @@ } ] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 2123, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internalreturns(bool){(boolsuccess,bytesmemoryreturndata)=address(token).call(abi.encodeWithSelector(token.transfer.selector,to,value));returnsuccess\u0026\u0026(returndata.length==0||abi.decode(returndata,(bool)))\u0026\u0026address(token).code.length\u003e0;}" } ], "linearized_base_contracts": [ @@ -58225,7 +58773,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfeeTo()externalviewreturns(address);" }, { "id": 2207, @@ -58395,7 +58944,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfeeToSetter()externalviewreturns(address);" }, { "id": 2216, @@ -58603,13 +59153,14 @@ } ] }, - "signature_raw": "getPair(address, address)", - "signature": "99d437db", + "signature_raw": "getPair(address,address)", + "signature": "e6a43905", "scope": 2185, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetPair(addresstokenA,addresstokenB)externalviewreturns(addresspair);" }, { "id": 2227, @@ -58778,7 +59329,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionallPairs(uint256)externalviewreturns(addresspair);" }, { "id": 2236, @@ -58946,7 +59498,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionallPairsLength()externalviewreturns(uint256);" }, { "id": 2245, @@ -59154,13 +59707,14 @@ } ] }, - "signature_raw": "createPair(address, address)", - "signature": "a36b5e48", + "signature_raw": "createPair(address,address)", + "signature": "c9c65396", "scope": 2185, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioncreatePair(addresstokenA,addresstokenB)externalreturns(addresspair);" }, { "id": 2256, @@ -59284,7 +59838,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFeeTo(address)external;" }, { "id": 2263, @@ -59408,7 +59963,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFeeToSetter(address)external;" } ], "linearized_base_contracts": [ @@ -59634,7 +60190,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalpurereturns(address);" }, { "id": 2281, @@ -59804,7 +60361,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionWETH()externalpurereturns(address);" }, { "id": 2290, @@ -60356,13 +60914,14 @@ } ] }, - "signature_raw": "addLiquidity(address, address, uint256, uint256, uint256, uint256, address, uint256)", - "signature": "451f1d52", + "signature_raw": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)", + "signature": "e8e33700", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidity(addresstokenA,addresstokenB,uint256amountADesired,uint256amountBDesired,uint256amountAMin,uint256amountBMin,addressto,uint256deadline)externalreturns(uint256amountA,uint256amountB,uint256liquidity);" }, { "id": 2317, @@ -60827,13 +61386,14 @@ } ] }, - "signature_raw": "addLiquidityETH(address, uint256, uint256, uint256, address, uint256)", - "signature": "55a58f33", + "signature_raw": "addLiquidityETH(address,uint256,uint256,uint256,address,uint256)", + "signature": "f305d719", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidityETH(addresstoken,uint256amountTokenDesired,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline)externalpayablereturns(uint256amountToken,uint256amountETH,uint256liquidity);" }, { "id": 2340, @@ -61299,13 +61859,14 @@ } ] }, - "signature_raw": "removeLiquidity(address, address, uint256, uint256, uint256, address, uint256)", - "signature": "b4f39feb", + "signature_raw": "removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)", + "signature": "baa2abde", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidity(addresstokenA,addresstokenB,uint256liquidity,uint256amountAMin,uint256amountBMin,addressto,uint256deadline)externalreturns(uint256amountA,uint256amountB);" }, { "id": 2363, @@ -61727,13 +62288,14 @@ } ] }, - "signature_raw": "removeLiquidityETH(address, uint256, uint256, uint256, address, uint256)", - "signature": "15379e4b", + "signature_raw": "removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)", + "signature": "02751cec", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETH(addresstoken,uint256liquidity,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline)externalreturns(uint256amountToken,uint256amountETH);" }, { "id": 2384, @@ -62371,13 +62933,14 @@ } ] }, - "signature_raw": "removeLiquidityWithPermit(address, address, uint256, uint256, uint256, address, uint256, bool, uint8, bytes32, bytes32)", - "signature": "9cd46573", + "signature_raw": "removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)", + "signature": "2195995c", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityWithPermit(addresstokenA,addresstokenB,uint256liquidity,uint256amountAMin,uint256amountBMin,addressto,uint256deadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uint256amountA,uint256amountB);" }, { "id": 2415, @@ -62971,13 +63534,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermit(address, uint256, uint256, uint256, address, uint256, bool, uint8, bytes32, bytes32)", - "signature": "53209c95", + "signature_raw": "removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)", + "signature": "ded9382a", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermit(addresstoken,uint256liquidity,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uint256amountToken,uint256amountETH);" }, { "id": 2444, @@ -63312,13 +63876,14 @@ } ] }, - "signature_raw": "swapExactTokensForTokens(uint256, uint256, address, address, uint256)", - "signature": "594b793e", + "signature_raw": "swapExactTokensForTokens(uint256,uint256,address,address,uint256)", + "signature": "0a9e24b1", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 2461, @@ -63653,13 +64218,14 @@ } ] }, - "signature_raw": "swapTokensForExactTokens(uint256, uint256, address, address, uint256)", - "signature": "d8c40951", + "signature_raw": "swapTokensForExactTokens(uint256,uint256,address,address,uint256)", + "signature": "04d5911f", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactTokens(uint256amountOut,uint256amountInMax,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 2478, @@ -63951,13 +64517,14 @@ } ] }, - "signature_raw": "swapExactETHForTokens(uint256, address, address, uint256)", - "signature": "ce24d10d", + "signature_raw": "swapExactETHForTokens(uint256,address,address,uint256)", + "signature": "45177656", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokens(uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalpayablereturns(uint256[]memoryamounts);" }, { "id": 2493, @@ -64292,13 +64859,14 @@ } ] }, - "signature_raw": "swapTokensForExactETH(uint256, uint256, address, address, uint256)", - "signature": "d16105f7", + "signature_raw": "swapTokensForExactETH(uint256,uint256,address,address,uint256)", + "signature": "5e7eccba", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactETH(uint256amountOut,uint256amountInMax,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 2510, @@ -64633,13 +65201,14 @@ } ] }, - "signature_raw": "swapExactTokensForETH(uint256, uint256, address, address, uint256)", - "signature": "4745ea6f", + "signature_raw": "swapExactTokensForETH(uint256,uint256,address,address,uint256)", + "signature": "e37c6f8c", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETH(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 2527, @@ -64931,13 +65500,14 @@ } ] }, - "signature_raw": "swapETHForExactTokens(uint256, address, address, uint256)", - "signature": "4221a034", + "signature_raw": "swapETHForExactTokens(uint256,address,address,uint256)", + "signature": "8ddc2492", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapETHForExactTokens(uint256amountOut,address[]calldatapath,addressto,uint256deadline)externalpayablereturns(uint256[]memoryamounts);" }, { "id": 2542, @@ -65185,13 +65755,14 @@ } ] }, - "signature_raw": "quote(uint256, uint256, uint256)", - "signature": "1f7722dd", + "signature_raw": "quote(uint256,uint256,uint256)", + "signature": "ad615dec", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionquote(uint256amountA,uint256reserveA,uint256reserveB)externalpurereturns(uint256amountB);" }, { "id": 2555, @@ -65439,13 +66010,14 @@ } ] }, - "signature_raw": "getAmountOut(uint256, uint256, uint256)", - "signature": "6cae4d22", + "signature_raw": "getAmountOut(uint256,uint256,uint256)", + "signature": "054d50d4", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountOut(uint256amountIn,uint256reserveIn,uint256reserveOut)externalpurereturns(uint256amountOut);" }, { "id": 2568, @@ -65693,13 +66265,14 @@ } ] }, - "signature_raw": "getAmountIn(uint256, uint256, uint256)", - "signature": "d7a891de", + "signature_raw": "getAmountIn(uint256,uint256,uint256)", + "signature": "85f8c259", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountIn(uint256amountOut,uint256reserveIn,uint256reserveOut)externalpurereturns(uint256amountIn);" }, { "id": 2581, @@ -65904,13 +66477,14 @@ } ] }, - "signature_raw": "getAmountsOut(uint256, address)", - "signature": "8631a06b", + "signature_raw": "getAmountsOut(uint256,address)", + "signature": "7d74e315", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsOut(uint256amountIn,address[]calldatapath)externalviewreturns(uint256[]memoryamounts);" }, { "id": 2592, @@ -66115,13 +66689,14 @@ } ] }, - "signature_raw": "getAmountsIn(uint256, address)", - "signature": "3f802e2f", + "signature_raw": "getAmountsIn(uint256,address)", + "signature": "539eb8d0", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsIn(uint256amountOut,address[]calldatapath)externalviewreturns(uint256[]memoryamounts);" } ], "linearized_base_contracts": [ @@ -66588,13 +67163,14 @@ } ] }, - "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address, uint256, uint256, uint256, address, uint256)", - "signature": "f167b680", + "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)", + "signature": "af2979eb", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETHSupportingFeeOnTransferTokens(addresstoken,uint256liquidity,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline)externalreturns(uint256amountETH);" }, { "id": 2626, @@ -67145,13 +67721,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address, uint256, uint256, uint256, address, uint256, bool, uint8, bytes32, bytes32)", - "signature": "b4d4d5c5", + "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)", + "signature": "5b0d5984", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(addresstoken,uint256liquidity,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uint256amountETH);" }, { "id": 2653, @@ -67441,13 +68018,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256, uint256, address, address, uint256)", - "signature": "df3acbab", + "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address,address,uint256)", + "signature": "69b7f82c", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokensSupportingFeeOnTransferTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)external;" }, { "id": 2668, @@ -67694,13 +68272,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256, address, address, uint256)", - "signature": "cf2f780e", + "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address,address,uint256)", + "signature": "0e5d3ae2", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokensSupportingFeeOnTransferTokens(uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalpayable;" }, { "id": 2681, @@ -67990,13 +68569,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256, uint256, address, address, uint256)", - "signature": "66128db0", + "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address,address,uint256)", + "signature": "fcf29d0e", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETHSupportingFeeOnTransferTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)external;" } ], "linearized_base_contracts": [ @@ -68250,7 +68830,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 2707, @@ -68419,7 +69000,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 2716, @@ -68625,13 +69207,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 2696, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 2727, @@ -68838,13 +69421,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 2696, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 2738, @@ -69050,13 +69634,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 2696, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 2749, @@ -69306,13 +69891,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 2696, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 2762, @@ -69902,7 +70488,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 2793, @@ -70070,7 +70657,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 2802, @@ -70238,7 +70826,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ @@ -70515,7 +71104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2816, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2826, @@ -70553,7 +71143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2813, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "type_description": { "type_identifier": "t_bool", @@ -70591,7 +71182,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -70612,7 +71204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -70715,7 +71308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2816, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -70752,7 +71346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2829, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 2836, @@ -70809,7 +71404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2816, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2840, @@ -70831,7 +71427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -70841,7 +71438,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" }, { "id": 2841, @@ -70884,7 +71482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2813, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 2844, @@ -70906,7 +71505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -70916,7 +71516,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initialized=true;" } ] } @@ -70939,7 +71540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 2846, @@ -70970,7 +71572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2829, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 2848, @@ -71027,7 +71630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2816, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2852, @@ -71049,7 +71653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -71059,7 +71664,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" } ] } @@ -71222,7 +71828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Context_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -71301,7 +71908,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init()internalinitializer{__Context_init_unchained();}" }, { "id": 2867, @@ -71409,7 +72017,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init_unchained()internalinitializer{}" }, { "id": 2874, @@ -71499,14 +72108,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -71643,7 +72254,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 2886, @@ -71733,14 +72345,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -71875,7 +72489,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" }, { "id": 2898, @@ -71932,7 +72547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", @@ -72176,7 +72792,7 @@ "mutability": 1, "type_name": { "id": 2914, - "node_type": 0, + "node_type": 53, "src": { "line": 1721, "column": 4, @@ -72269,7 +72885,7 @@ "mutability": 1, "type_name": { "id": 2919, - "node_type": 0, + "node_type": 53, "src": { "line": 1723, "column": 4, @@ -72583,7 +73199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Context_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -72631,7 +73248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2949, - "is_pure": false + "is_pure": false, + "text": "name_" }, { "id": 2950, @@ -72657,7 +73275,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "symbol_" } ], "expression": { @@ -72678,7 +73297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__ERC20_init_unchained" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", @@ -72839,13 +73459,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__ERC20_init(string, string)", - "signature": "0a485aa7", + "signature_raw": "__ERC20_init(string,string)", + "signature": "678bd718", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "function__ERC20_init(stringmemoryname_,stringmemorysymbol_)internalinitializer{__Context_init_unchained();__ERC20_init_unchained(name_,symbol_);}" }, { "id": 2952, @@ -72923,7 +73544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 2965, @@ -72943,7 +73565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2965, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -72953,7 +73576,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 2966, @@ -72996,7 +73620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 516, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 2969, @@ -73016,7 +73641,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2969, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -73026,7 +73652,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] }, @@ -73182,13 +73809,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__ERC20_init_unchained(string, string)", - "signature": "5cec9c4a", + "signature_raw": "__ERC20_init_unchained(string,string)", + "signature": "46753fdb", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "function__ERC20_init_unchained(stringmemoryname_,stringmemorysymbol_)internalinitializer{_name=name_;_symbol=symbol_;}" }, { "id": 2971, @@ -73255,7 +73883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -73409,7 +74038,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 2983, @@ -73476,7 +74106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 516, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -73630,7 +74261,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 2995, @@ -73699,7 +74331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -73853,7 +74486,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 3007, @@ -73920,7 +74554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -74074,7 +74709,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 3019, @@ -74152,7 +74788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3031, @@ -74172,7 +74809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3031, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -74342,7 +74980,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 3033, @@ -74438,7 +75077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -74469,7 +75109,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "recipient" }, { "id": 3049, @@ -74499,7 +75140,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -74520,7 +75162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -74559,7 +75202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -74751,13 +75395,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)publicvirtualoverridereturns(bool){_transfer(_msgSender(),recipient,amount);returntrue;}" }, { "id": 3053, @@ -74846,7 +75491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3068, @@ -74866,7 +75512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3068, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -74901,7 +75548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3069, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -75109,13 +75757,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 3071, @@ -75211,7 +75860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -75242,7 +75892,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 3087, @@ -75272,7 +75923,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -75293,7 +75945,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -75332,7 +75985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -75524,13 +76178,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){_approve(_msgSender(),spender,amount);returntrue;}" }, { "id": 3091, @@ -75612,7 +76267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3106, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3107, @@ -75638,7 +76294,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 3108, @@ -75668,7 +76325,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -75689,7 +76347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -75796,7 +76455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3115, @@ -75816,7 +76476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3115, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -75865,7 +76526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -75943,7 +76605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3109, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 3122, @@ -75963,7 +76626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3122, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -75996,7 +76660,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds allowance\"" } ], "expression": { @@ -76017,7 +76682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -76056,7 +76722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -76118,7 +76785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3129, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3130, @@ -76152,7 +76820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -76191,7 +76860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 3134, @@ -76211,7 +76881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3134, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -76237,7 +76908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -76479,13 +77151,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)publicvirtualoverridereturns(bool){_transfer(sender,recipient,amount);uint256currentAllowance=_allowances[sender][_msgSender()];require(currentAllowance\u003e=amount,\"ERC20: transfer amount exceeds allowance\");unchecked{_approve(sender,_msgSender(),currentAllowance-amount);}returntrue;}" }, { "id": 3136, @@ -76581,7 +77254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -76612,7 +77286,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 3151, @@ -76668,7 +77343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3155, @@ -76702,7 +77378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -76742,7 +77419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3157, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -76777,7 +77455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3158, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$]$_t_address]$", @@ -76803,7 +77482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$]$_t_address]$", @@ -76842,7 +77522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -77015,13 +77696,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){_approve(_msgSender(),spender,_allowances[_msgSender()][spender]+addedValue);returntrue;}" }, { "id": 3162, @@ -77158,7 +77840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3178, @@ -77192,7 +77875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -77232,7 +77916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3180, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -77305,7 +77990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3172, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 3185, @@ -77325,7 +78011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3185, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -77358,7 +78045,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -77379,7 +78067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -77418,7 +78107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -77494,7 +78184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -77525,7 +78216,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 3195, @@ -77559,7 +78251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 3197, @@ -77579,7 +78272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3197, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -77605,7 +78299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -77784,13 +78479,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){uint256currentAllowance=_allowances[_msgSender()][spender];require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(_msgSender(),spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 3199, @@ -77882,7 +78578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3212, - "is_pure": false + "is_pure": false, + "text": "sender" }, "right_expression": { "id": 3213, @@ -77923,7 +78620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -77969,7 +78667,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -78007,7 +78706,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -78028,7 +78728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -78090,7 +78791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3221, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "right_expression": { "id": 3222, @@ -78131,7 +78833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -78177,7 +78880,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -78215,7 +78919,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -78236,7 +78941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -78288,7 +78994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3229, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3230, @@ -78314,7 +79021,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 3231, @@ -78344,7 +79052,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -78365,7 +79074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -78461,7 +79171,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3237, @@ -78481,7 +79192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3237, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -78554,7 +79266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3232, - "is_pure": false + "is_pure": false, + "text": "senderBalance" }, "right_expression": { "id": 3242, @@ -78574,7 +79287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3242, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -78607,7 +79321,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -78628,7 +79343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -78687,7 +79403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3248, @@ -78707,7 +79424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3248, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "type_descriptions": [ { @@ -78742,7 +79460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3249, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -78752,7 +79471,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[recipient]+=amount;" }, { "id": 3250, @@ -78784,7 +79504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3251, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3252, @@ -78804,7 +79525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3252, - "is_pure": false + "is_pure": false, + "text": "recipient" }, { "id": 3253, @@ -78824,7 +79546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3253, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -78845,7 +79568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -78893,7 +79617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3257, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3258, @@ -78919,7 +79644,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 3259, @@ -78949,7 +79675,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -78970,7 +79697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -79043,7 +79771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3265, @@ -79063,7 +79792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3265, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -79112,7 +79842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "senderBalance" }, "right_expression": { "id": 3268, @@ -79132,7 +79863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3268, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -79147,7 +79879,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[sender]=senderBalance-amount;" } ] } @@ -79320,13 +80053,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addresssender,addressrecipient,uint256amount)internalvirtual{require(sender!=address(0),\"ERC20: transfer from the zero address\");require(recipient!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(sender,recipient,amount);uint256senderBalance=_balances[sender];require(senderBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[sender]=senderBalance-amount;}_balances[recipient]+=amount;emitTransfer(sender,recipient,amount);_afterTokenTransfer(sender,recipient,amount);}" }, { "id": 3270, @@ -79418,7 +80152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3281, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 3282, @@ -79459,7 +80194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -79505,7 +80241,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -79543,7 +80280,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -79564,7 +80302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -79637,7 +80376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -79683,7 +80423,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -79714,7 +80455,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 3294, @@ -79744,7 +80486,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -79765,7 +80508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -79813,7 +80557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 3298, @@ -79833,7 +80578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3298, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -79843,7 +80589,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 3299, @@ -79897,7 +80644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3303, @@ -79917,7 +80665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3303, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -79952,7 +80701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3304, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -79962,7 +80712,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" }, { "id": 3305, @@ -80015,7 +80766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -80061,7 +80813,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -80086,7 +80839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3310, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 3311, @@ -80106,7 +80860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3311, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -80127,7 +80882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -80196,7 +80952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -80242,7 +80999,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -80273,7 +81031,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 3320, @@ -80303,7 +81062,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -80324,7 +81084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -80456,13 +81217,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;_balances[account]+=amount;emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 3322, @@ -80554,7 +81316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3333, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 3334, @@ -80595,7 +81358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -80641,7 +81405,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -80679,7 +81444,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -80700,7 +81466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -80752,7 +81519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3341, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 3342, @@ -80793,7 +81561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -80839,7 +81608,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -80874,7 +81644,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -80895,7 +81666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -80991,7 +81763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3352, @@ -81011,7 +81784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3352, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -81084,7 +81858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3347, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 3357, @@ -81104,7 +81879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3357, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -81137,7 +81913,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -81158,7 +81935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -81206,7 +81984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 3362, @@ -81226,7 +82005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3362, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -81236,7 +82016,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" }, { "id": 3363, @@ -81268,7 +82049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3364, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 3365, @@ -81309,7 +82091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -81355,7 +82138,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -81380,7 +82164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3369, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -81401,7 +82186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -81449,7 +82235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3373, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 3374, @@ -81490,7 +82277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -81536,7 +82324,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -81571,7 +82360,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -81592,7 +82382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -81665,7 +82456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3384, @@ -81685,7 +82477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3384, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -81734,7 +82527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 3387, @@ -81754,7 +82548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3387, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -81769,7 +82564,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" } ] } @@ -81898,13 +82694,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;}_totalSupply-=amount;emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 3389, @@ -81996,7 +82793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3402, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 3403, @@ -82037,7 +82835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -82083,7 +82882,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -82121,7 +82921,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -82142,7 +82943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -82204,7 +83006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3411, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 3412, @@ -82245,7 +83048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -82291,7 +83095,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -82329,7 +83134,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -82350,7 +83156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -82420,7 +83227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3422, @@ -82440,7 +83248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3422, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -82475,7 +83284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3423, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -82510,7 +83320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3424, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -82520,7 +83331,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 3425, @@ -82552,7 +83364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3426, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 3427, @@ -82572,7 +83385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3427, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 3428, @@ -82592,7 +83406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3428, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -82613,7 +83428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 423, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -82785,13 +83601,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 3431, @@ -82996,13 +83813,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 3442, @@ -83207,13 +84025,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 3453, @@ -83270,7 +84089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "45" }, "type_description": { "type_identifier": "t_rational_45_by_1", @@ -83746,7 +84566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Context_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -83785,7 +84606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Ownable_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -83864,7 +84686,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Ownable_init()internalinitializer{__Context_init_unchained();__Ownable_init_unchained();}" }, { "id": 3485, @@ -83952,7 +84775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -83978,7 +84802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -84057,7 +84882,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Ownable_init_unchained()internalinitializer{_setOwner(_msgSender());}" }, { "id": 3496, @@ -84124,7 +84950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -84261,7 +85088,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 3507, @@ -84382,7 +85210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -84421,7 +85250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -84459,7 +85289,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -84480,7 +85311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -84505,7 +85337,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -84603,7 +85436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -84649,7 +85483,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -84675,7 +85510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -84754,7 +85590,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_setOwner(address(0));}" }, { "id": 3533, @@ -84846,7 +85683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3544, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 3545, @@ -84887,7 +85725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -84933,7 +85772,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -84971,7 +85811,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -84992,7 +85833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -85036,7 +85878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3552, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -85057,7 +85900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -85182,7 +86026,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_setOwner(newOwner);}" }, { "id": 3554, @@ -85298,7 +86143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -85342,7 +86188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 3567, @@ -85362,7 +86209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3567, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -85372,7 +86220,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 3568, @@ -85404,7 +86253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3560, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 3570, @@ -85424,7 +86274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3570, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -85445,7 +86296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1524, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -85536,7 +86388,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setOwner(addressnewOwner)private{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" }, { "id": 3573, @@ -85593,7 +86446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", @@ -86216,7 +87070,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalpurereturns(stringmemory);" }, { "id": 3607, @@ -86384,7 +87239,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalpurereturns(stringmemory);" }, { "id": 3616, @@ -86552,7 +87408,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalpurereturns(uint8);" }, { "id": 3625, @@ -86720,7 +87577,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint);" }, { "id": 3634, @@ -86889,7 +87747,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint);" }, { "id": 3643, @@ -87096,13 +87955,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint);" }, { "id": 3654, @@ -87308,13 +88168,14 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uintvalue)externalreturns(bool);" }, { "id": 3665, @@ -87520,13 +88381,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" }, { "id": 3676, @@ -87776,13 +88638,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uintvalue)externalreturns(bool);" }, { "id": 3689, @@ -87950,7 +88813,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" }, { "id": 3698, @@ -88118,7 +88982,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionPERMIT_TYPEHASH()externalpurereturns(bytes32);" }, { "id": 3707, @@ -88287,7 +89152,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint);" }, { "id": 3716, @@ -88664,13 +89530,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint, uint, uint8, bytes32, bytes32)", - "signature": "0f94a422", + "signature_raw": "permit(address,address,uint,uint,uint8,bytes32,bytes32)", + "signature": "97a6e84a", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uintvalue,uintdeadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 3735, @@ -89629,7 +90496,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMINIMUM_LIQUIDITY()externalpurereturns(uint);" }, { "id": 3786, @@ -89799,7 +90667,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 3795, @@ -89969,7 +90838,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 3804, @@ -90139,7 +91009,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken1()externalviewreturns(address);" }, { "id": 3813, @@ -90473,13 +91344,14 @@ } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", "type_string": "function(uint112,uint112,uint32)" - } + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" }, { "id": 3830, @@ -90647,7 +91519,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice0CumulativeLast()externalviewreturns(uint);" }, { "id": 3839, @@ -90815,7 +91688,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice1CumulativeLast()externalviewreturns(uint);" }, { "id": 3848, @@ -90983,7 +91857,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionkLast()externalviewreturns(uint);" }, { "id": 3857, @@ -91152,7 +92027,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionmint(addressto)externalreturns(uintliquidity);" }, { "id": 3866, @@ -91364,7 +92240,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionburn(addressto)externalreturns(uintamount0,uintamount1);" }, { "id": 3877, @@ -91611,13 +92488,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swap(uint, uint, address, bytes)", - "signature": "7d9441ed", + "signature_raw": "swap(uint,uint,address,bytes)", + "signature": "090f344e", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(uint256,uint256,address,bytes)" - } + }, + "text": "functionswap(uintamount0Out,uintamount1Out,addressto,bytescalldatadata)external;" }, { "id": 3890, @@ -91741,7 +92619,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionskim(addressto)external;" }, { "id": 3897, @@ -91819,7 +92698,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsync()external;" }, { "id": 3902, @@ -91981,13 +92861,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(address, address)", - "signature": "58e0d614", + "signature_raw": "initialize(address,address)", + "signature": "485cc955", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioninitialize(address,address)external;" } ], "linearized_base_contracts": [ @@ -92137,7 +93018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -92182,7 +93064,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_rational_1_by_1$", @@ -92209,7 +93092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "255" } ], "type_descriptions": [ @@ -92352,7 +93236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -92397,7 +93282,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_rational_1_by_1$", @@ -92424,7 +93310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "255" } ], "type_descriptions": [ @@ -92581,7 +93468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3949, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3950, @@ -92601,7 +93489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3950, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -92674,7 +93563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3945, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 3956, @@ -92694,7 +93584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" }, "type_description": { "type_identifier": "t_bool", @@ -92759,7 +93650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3961, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3962, @@ -92779,7 +93671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" } ], "type_descriptions": [ @@ -92843,7 +93736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3966, - "is_pure": false + "is_pure": false, + "text": "b" }, { "id": 3967, @@ -92863,7 +93757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" } ], "type_descriptions": [ @@ -92912,7 +93807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -92998,7 +93894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3973, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3974, @@ -93020,7 +93917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -93093,7 +93991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3945, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 3979, @@ -93113,7 +94012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3979, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -93138,7 +94038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3980, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -93175,7 +94076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -93212,7 +94114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3945, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -93384,13 +94287,14 @@ } ] }, - "signature_raw": "mul(int256, int256)", - "signature": "ee990550", + "signature_raw": "mul(int256,int256)", + "signature": "bbe93d91", "scope": 3911, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionmul(int256a,int256b)internalpurereturns(int256){int256c=a*b;require(c!=MIN_INT256||(a\u0026MIN_INT256)!=(b\u0026MIN_INT256));require((b==0)||(c/b==a));returnc;}" }, { "id": 3984, @@ -93492,7 +94396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3998, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3999, @@ -93532,7 +94437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -93576,7 +94482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4002, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4003, @@ -93596,7 +94503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" }, "type_description": { "type_identifier": "t_bool", @@ -93627,7 +94535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -93678,7 +94587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4006, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4007, @@ -93698,7 +94608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4007, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -93875,13 +94786,14 @@ } ] }, - "signature_raw": "div(int256, int256)", - "signature": "eb8569a6", + "signature_raw": "div(int256,int256)", + "signature": "43509138", "scope": 3911, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functiondiv(int256a,int256b)internalpurereturns(int256){require(b!=-1||a!=MIN_INT256);returna/b;}" }, { "id": 4009, @@ -94010,7 +94922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4023, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4024, @@ -94030,7 +94943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4024, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -94129,7 +95043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4032, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4033, @@ -94151,7 +95066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -94190,7 +95106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4019, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 4036, @@ -94210,7 +95127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4036, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -94293,7 +95211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4041, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4042, @@ -94315,7 +95234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -94354,7 +95274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4019, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 4045, @@ -94374,7 +95295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4045, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -94423,7 +95345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -94460,7 +95383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4019, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -94632,13 +95556,14 @@ } ] }, - "signature_raw": "sub(int256, int256)", - "signature": "af040589", + "signature_raw": "sub(int256,int256)", + "signature": "adefc37b", "scope": 3911, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionsub(int256a,int256b)internalpurereturns(int256){int256c=a-b;require((b\u003e=0\u0026\u0026c\u003c=a)||(b\u003c0\u0026\u0026c\u003ea));returnc;}" }, { "id": 4049, @@ -94767,7 +95692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4063, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4064, @@ -94787,7 +95713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4064, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -94886,7 +95813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4072, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4073, @@ -94908,7 +95836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -94947,7 +95876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4059, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 4076, @@ -94967,7 +95897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4076, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -95050,7 +95981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4081, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4082, @@ -95072,7 +96004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -95111,7 +96044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4059, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 4085, @@ -95131,7 +96065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4085, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -95180,7 +96115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -95217,7 +96153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4059, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -95389,13 +96326,14 @@ } ] }, - "signature_raw": "add(int256, int256)", - "signature": "86763e14", + "signature_raw": "add(int256,int256)", + "signature": "a5f3c23b", "scope": 3911, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionadd(int256a,int256b)internalpurereturns(int256){int256c=a+b;require((b\u003e=0\u0026\u0026c\u003e=a)||(b\u003c0\u0026\u0026c\u003ca));returnc;}" }, { "id": 4089, @@ -95483,7 +96421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4100, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4101, @@ -95503,7 +96442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" }, "type_description": { "type_identifier": "t_bool", @@ -95529,7 +96469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -95592,7 +96533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4106, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4107, @@ -95614,7 +96556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -95657,7 +96600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4109, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_int256", @@ -95682,7 +96626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4110, - "is_pure": false + "is_pure": false, + "text": "a" } ], "type_descriptions": [ @@ -95834,7 +96779,8 @@ "type_description": { "type_identifier": "t_function_$_t_int256$", "type_string": "function(int256)" - } + }, + "text": "functionabs(int256a)internalpurereturns(int256){require(a!=MIN_INT256);returna\u003c0?-a:a;}" }, { "id": 4112, @@ -95922,7 +96868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4123, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4124, @@ -95944,7 +96891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -95970,7 +96918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -96026,7 +96975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4129, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -96071,7 +97021,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -96211,7 +97162,8 @@ "type_description": { "type_identifier": "t_function_$_t_int256$", "type_string": "function(int256)" - } + }, + "text": "functiontoUint256Safe(int256a)internalpurereturns(uint256){require(a\u003e=0);returnuint256(a);}" } ], "linearized_base_contracts": [ @@ -96401,7 +97353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4147, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -96446,7 +97399,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -96505,7 +97459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4141, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4152, @@ -96527,7 +97482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -96553,7 +97509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -96590,7 +97547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4141, - "is_pure": false + "is_pure": false, + "text": "b" } } ] @@ -96725,7 +97683,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoInt256Safe(uint256a)internalpurereturns(int256){int256b=int256(a);require(b\u003e=0);returnb;}" } ], "linearized_base_contracts": [ @@ -96862,7 +97821,7 @@ "name": "values", "type_name": { "id": 4162, - "node_type": 0, + "node_type": 53, "src": { "line": 2279, "column": 8, @@ -96951,7 +97910,7 @@ "name": "indexOf", "type_name": { "id": 4166, - "node_type": 0, + "node_type": 53, "src": { "line": 2280, "column": 8, @@ -97040,7 +97999,7 @@ "name": "inserted", "type_name": { "id": 4170, - "node_type": 0, + "node_type": 53, "src": { "line": 2281, "column": 8, @@ -97217,14 +98176,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4188, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { "id": 4189, @@ -97244,7 +98205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4189, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -97453,13 +98415,14 @@ } ] }, - "signature_raw": "get(, address)", - "signature": "eb988e62", + "signature_raw": "get(,address)", + "signature": "e915218c", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_address$", "type_string": "function(struct IterableMapping.Map,address)" - } + }, + "text": "functionget(Mapstoragemap,addresskey)publicviewreturns(uint256){returnmap.values[key];}" }, { "id": 4191, @@ -97577,14 +98540,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4206, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { "id": 4207, @@ -97604,7 +98569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4207, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -97690,7 +98656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -97784,14 +98751,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4218, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { "id": 4219, @@ -97811,7 +98780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4219, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -97871,7 +98841,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", @@ -98070,13 +99041,14 @@ } ] }, - "signature_raw": "getIndexOfKey(, address)", - "signature": "0fd42ee0", + "signature_raw": "getIndexOfKey(,address)", + "signature": "d317deab", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_address$", "type_string": "function(struct IterableMapping.Map,address)" - } + }, + "text": "functiongetIndexOfKey(Mapstoragemap,addresskey)publicviewreturns(int256){if(!map.inserted[key]){return-1;}returnint256(map.indexOf[key]);}" }, { "id": 4221, @@ -98177,14 +99149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4235, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { "id": 4236, @@ -98204,7 +99178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4236, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -98413,13 +99388,14 @@ } ] }, - "signature_raw": "getKeyAtIndex(, uint256)", - "signature": "1e595ec3", + "signature_raw": "getKeyAtIndex(,uint256)", + "signature": "ef8c18cc", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_uint256$", "type_string": "function(struct IterableMapping.Map,uint256)" - } + }, + "text": "functiongetKeyAtIndex(Mapstoragemap,uint256index)publicviewreturns(address){returnmap.keys[index];}" }, { "id": 4238, @@ -98532,21 +99508,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4250, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.length" } } ] @@ -98702,7 +99681,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$", "type_string": "function(struct IterableMapping.Map)" - } + }, + "text": "functionsize(Mapstoragemap)publicviewreturns(uint256){returnmap.keys.length;}" }, { "id": 4252, @@ -98802,14 +99782,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4266, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { "id": 4267, @@ -98829,7 +99811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4267, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -98935,14 +99918,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4273, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { "id": 4274, @@ -98962,7 +99947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4274, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -98997,7 +99983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4275, - "is_pure": false + "is_pure": false, + "text": "val" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", @@ -99007,7 +99994,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", "type_string": "index[struct IterableMapping.Map:address]" - } + }, + "text": "map.values[key]=val;" } ] } @@ -99201,13 +100189,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "set(, address, uint256)", - "signature": "e219e74b", + "signature_raw": "set(,address,uint256)", + "signature": "44bf9442", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_address$_t_uint256$", "type_string": "function(struct IterableMapping.Map,address,uint256)" - } + }, + "text": "functionset(Mapstoragemap,addresskey,uint256val)public{if(map.inserted[key]){map.values[key]=val;}else{map.inserted[key]=true;map.values[key]=val;map.indexOf[key]=map.keys.length;map.keys.push(key);}}" }, { "id": 4277, @@ -99325,14 +100314,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4290, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { "id": 4291, @@ -99352,7 +100343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4291, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -99475,14 +100467,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4297, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { "id": 4298, @@ -99502,7 +100496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4298, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -99594,14 +100589,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4302, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { "id": 4303, @@ -99621,7 +100618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4303, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -99755,14 +100753,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4309, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { "id": 4310, @@ -99782,7 +100782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4310, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -99938,21 +100939,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4317, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.length" }, "right_expression": { "id": 4318, @@ -99974,7 +100978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", @@ -100095,14 +101100,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4324, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { "id": 4325, @@ -100122,7 +101129,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4311, - "is_pure": false + "is_pure": false, + "text": "lastIndex" }, "type_descriptions": [ { @@ -100215,14 +101223,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4330, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { "id": 4331, @@ -100242,7 +101252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4319, - "is_pure": false + "is_pure": false, + "text": "lastKey" }, "type_descriptions": [ { @@ -100277,7 +101288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4304, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", @@ -100287,7 +101299,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", "type_string": "index[struct IterableMapping.Map:address]" - } + }, + "text": "map.indexOf[lastKey]=index;" }, { "id": 4333, @@ -100359,14 +101372,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4336, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { "id": 4337, @@ -100386,7 +101401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4337, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -100483,14 +101499,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4342, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { "id": 4343, @@ -100510,7 +101528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4304, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -100545,7 +101564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4319, - "is_pure": false + "is_pure": false, + "text": "lastKey" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_uint256]$", @@ -100555,7 +101575,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_uint256]$", "type_string": "index[struct IterableMapping.Map:uint256]" - } + }, + "text": "map.keys[index]=lastKey;" }, { "id": 4345, @@ -100635,21 +101656,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4348, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -100802,13 +101826,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "remove(, address)", - "signature": "469d3b40", + "signature_raw": "remove(,address)", + "signature": "7d109e7a", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_address$", "type_string": "function(struct IterableMapping.Map,address)" - } + }, + "text": "functionremove(Mapstoragemap,addresskey)public{if(!map.inserted[key]){return;}deletemap.inserted[key];deletemap.values[key];uint256index=map.indexOf[key];uint256lastIndex=map.keys.length-1;addresslastKey=map.keys[lastIndex];map.indexOf[lastKey]=index;deletemap.indexOf[key];map.keys[index]=lastKey;map.keys.pop();}" } ], "linearized_base_contracts": [ @@ -101033,7 +102058,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiondividendOf(address_owner)externalviewreturns(uint256);" }, { "id": 4361, @@ -101111,7 +102137,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()external;" }, { "id": 4366, @@ -101580,7 +102607,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawableDividendOf(address_owner)externalviewreturns(uint256);" }, { "id": 4391, @@ -101749,7 +102777,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawnDividendOf(address_owner)externalviewreturns(uint256);" }, { "id": 4400, @@ -101918,7 +102947,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaccumulativeDividendOf(address_owner)externalviewreturns(uint256);" } ], "linearized_base_contracts": [ @@ -102359,7 +103389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 4439, @@ -102381,7 +103412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" }, "type_descriptions": [ { @@ -102461,7 +103493,7 @@ "mutability": 1, "type_name": { "id": 4445, - "node_type": 0, + "node_type": 53, "src": { "line": 2455, "column": 4, @@ -102554,7 +103586,7 @@ "mutability": 1, "type_name": { "id": 4450, - "node_type": 0, + "node_type": 53, "src": { "line": 2456, "column": 4, @@ -102732,7 +103764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Ownable_init" }, "type_description": { "type_identifier": "t_function_$", @@ -102780,7 +103813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4473, - "is_pure": false + "is_pure": false, + "text": "_name" }, { "id": 4474, @@ -102806,7 +103840,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "_symbol" } ], "expression": { @@ -102827,7 +103862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__ERC20_init" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", @@ -102875,7 +103911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4431, - "is_pure": false + "is_pure": false, + "text": "rewardToken" }, "right_expression": { "id": 4478, @@ -102895,7 +103932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4478, - "is_pure": false + "is_pure": false, + "text": "_rewardToken" }, "type_description": { "type_identifier": "t_address", @@ -102905,7 +103943,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "rewardToken=_rewardToken;" } ] }, @@ -103105,13 +104144,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__DividendPayingToken_init(address, string, string)", - "signature": "e3d2c051", + "signature_raw": "__DividendPayingToken_init(address,string,string)", + "signature": "ee9358e8", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_string$_t_string$", "type_string": "function(address,string,string)" - } + }, + "text": "function__DividendPayingToken_init(address_rewardToken,stringmemory_name,stringmemory_symbol)internalinitializer{__Ownable_init();__ERC20_init(_name,_symbol);rewardToken=_rewardToken;}" }, { "id": 4480, @@ -103213,7 +104253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -103240,7 +104281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -103266,7 +104308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -103316,7 +104359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4496, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 4497, @@ -103338,7 +104382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -103400,7 +104445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "right_expression": { "id": 4502, @@ -103472,7 +104518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "magnitude" } ], "expression": { @@ -103530,7 +104577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4509, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "type_description": { @@ -103543,7 +104591,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" - } + }, + "text": "(amount).mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -103582,7 +104631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -103636,14 +104686,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -103658,7 +104710,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare=magnifiedDividendPerShare.add((amount).mul(magnitude)/totalSupply());" }, { "id": 4513, @@ -103713,14 +104766,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4516, @@ -103740,7 +104795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4516, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -103761,7 +104817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4366, - "is_pure": false + "is_pure": false, + "text": "DividendsDistributed" } }, { @@ -103805,7 +104862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4454, - "is_pure": false + "is_pure": false, + "text": "totalDividendsDistributed" }, "right_expression": { "id": 4521, @@ -103844,7 +104902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4524, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -103888,14 +104947,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4454, - "is_pure": false + "is_pure": false, + "text": "totalDividendsDistributed" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividendsDistributed.add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -103910,7 +104971,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividendsDistributed=totalDividendsDistributed.add(amount);" } ] } @@ -104032,7 +105094,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondistributeCAKEDividends(uint256amount)publiconlyOwner{require(totalSupply()\u003e0);if(amount\u003e0){magnifiedDividendPerShare=magnifiedDividendPerShare.add((amount).mul(magnitude)/totalSupply());emitDividendsDistributed(msg.sender,amount);totalDividendsDistributed=totalDividendsDistributed.add(amount);}}" }, { "id": 4526, @@ -104141,14 +105204,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "argument_types": [ @@ -104182,7 +105247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawDividendOfUser" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_address$", @@ -104250,7 +105316,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()publicvirtualoverride{_withdrawDividendOfUser(payable(msg.sender));}" }, { "id": 4537, @@ -104384,7 +105451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4550, - "is_pure": false + "is_pure": false, + "text": "user" } ], "expression": { @@ -104405,7 +105473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$", @@ -104456,7 +105525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4545, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" }, "right_expression": { "id": 4554, @@ -104478,7 +105548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -104551,7 +105622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4560, @@ -104571,7 +105643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4560, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -104625,7 +105698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -104680,7 +105754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4565, @@ -104700,7 +105775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4565, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -104722,7 +105798,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user].add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -104737,7 +105814,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user]=withdrawnDividends[user].add(_withdrawableDividend);" }, { "id": 4567, @@ -104769,7 +105847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4568, - "is_pure": false + "is_pure": false, + "text": "user" }, { "id": 4569, @@ -104789,7 +105868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4545, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -104810,7 +105890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4373, - "is_pure": false + "is_pure": false, + "text": "DividendWithdrawn" } }, { @@ -104937,7 +106018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "rewardToken" } ], "expression": { @@ -104958,7 +106040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -104989,7 +106072,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "user" }, { "id": 4581, @@ -105019,7 +106103,8 @@ "type_identifier": "t_address_payable", "type_string": "address" } - ] + ], + "text": "_withdrawableDividend" } ], "expression": { @@ -105063,14 +106148,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2122, - "is_pure": false + "is_pure": false, + "text": "SafeERC20NoRevert" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_SafeERC20NoRevert_$2122", "type_string": "contract SafeERC20NoRevert" - } + }, + "text": "SafeERC20NoRevert.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address_payable$_t_function_$_t_function_$_t_function_$_t_address_payable$", @@ -105125,7 +106212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4571, - "is_pure": false + "is_pure": false, + "text": "success" }, "type_description": { "type_identifier": "t_bool", @@ -105198,7 +106286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4590, @@ -105218,7 +106307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4590, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -105272,7 +106362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -105327,7 +106418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4595, @@ -105347,7 +106439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4595, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -105369,7 +106462,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user].sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -105384,7 +106478,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user]=withdrawnDividends[user].sub(_withdrawableDividend);" }, { "id": 4597, @@ -105418,7 +106513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -105454,7 +106550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4545, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } } ] @@ -105492,7 +106589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -105628,7 +106726,8 @@ "type_description": { "type_identifier": "t_function_$_t_address_payable$", "type_string": "function(address)" - } + }, + "text": "function_withdrawDividendOfUser(addresspayableuser)internalreturns(uint256){uint256_withdrawableDividend=withdrawableDividendOf(user);if(_withdrawableDividend\u003e0){withdrawnDividends[user]=withdrawnDividends[user].add(_withdrawableDividend);emitDividendWithdrawn(user,_withdrawableDividend);boolsuccess=SafeERC20NoRevert.safeTransfer(IERC20(rewardToken),user,_withdrawableDividend);if(!success){withdrawnDividends[user]=withdrawnDividends[user].sub(_withdrawableDividend);return0;}return_withdrawableDividend;}return0;}" }, { "id": 4604, @@ -105714,7 +106813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4616, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -105735,7 +106835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -105895,7 +106996,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiondividendOf(address_owner)publicviewoverridereturns(uint256){returnwithdrawableDividendOf(_owner);}" }, { "id": 4618, @@ -105992,7 +107094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4635, @@ -106012,7 +107115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4635, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -106090,7 +107194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4632, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -106111,7 +107216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "accumulativeDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -106123,7 +107229,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "accumulativeDividendOf(_owner).sub" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -106283,7 +107390,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawableDividendOf(address_owner)publicviewoverridereturns(uint256){returnaccumulativeDividendOf(_owner).sub(withdrawnDividends[_owner]);}" }, { "id": 4637, @@ -106361,7 +107469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4649, @@ -106381,7 +107490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4649, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -106551,7 +107661,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawnDividendOf(address_owner)publicviewoverridereturns(uint256){returnwithdrawnDividends[_owner];}" }, { "id": 4651, @@ -106699,7 +107810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4676, @@ -106719,7 +107831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4676, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -106853,7 +107966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4673, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -106874,7 +107988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -106923,14 +108038,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -106942,7 +108059,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf(_owner)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -106954,7 +108072,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf(_owner)).toInt256Safe().add" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", @@ -106966,7 +108085,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "function(index[mapping(address=\u003eint256):address])" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf(_owner)).toInt256Safe().add(magnifiedDividendCorrections[_owner]).toUint256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -106991,7 +108111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4434, - "is_pure": false + "is_pure": false, + "text": "magnitude" }, "type_description": { "type_identifier": "t_function_$", @@ -107151,7 +108272,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaccumulativeDividendOf(address_owner)publicviewoverridereturns(uint256){returnmagnifiedDividendPerShare.mul(balanceOf(_owner)).toInt256Safe().add(magnifiedDividendCorrections[_owner]).toUint256Safe()/magnitude;}" }, { "id": 4679, @@ -107227,7 +108349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } ], "expression": { @@ -107248,7 +108371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -107389,7 +108513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4701, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -107433,14 +108558,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -107452,7 +108579,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "magnifiedDividendPerShare.mul(value).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -107512,7 +108640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4706, @@ -107532,7 +108661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4706, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -107586,7 +108716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4693, - "is_pure": false + "is_pure": false, + "text": "_magCorrection" } ], "expression": { @@ -107641,7 +108772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4711, @@ -107661,7 +108793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4711, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -107683,7 +108816,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[from].add" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -107698,7 +108832,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[from]=magnifiedDividendCorrections[from].add(_magCorrection);" }, { "id": 4713, @@ -107752,7 +108887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4717, @@ -107772,7 +108908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4717, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -107826,7 +108963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4693, - "is_pure": false + "is_pure": false, + "text": "_magCorrection" } ], "expression": { @@ -107881,7 +109019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4722, @@ -107901,7 +109040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4722, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -107923,7 +109063,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[to].sub" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -107938,7 +109079,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[to]=magnifiedDividendCorrections[to].sub(_magCorrection);" } ] }, @@ -108128,13 +109270,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256value)internalvirtualoverride{require(false);int256_magCorrection=magnifiedDividendPerShare.mul(value).toInt256Safe();magnifiedDividendCorrections[from]=magnifiedDividendCorrections[from].add(_magCorrection);magnifiedDividendCorrections[to]=magnifiedDividendCorrections[to].sub(_magCorrection);}" }, { "id": 4725, @@ -108212,7 +109355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4737, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 4738, @@ -108238,7 +109382,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -108282,14 +109427,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_mint", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -108348,7 +109495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4743, @@ -108368,7 +109516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4743, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -108492,7 +109641,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4755, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -108536,14 +109686,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -108561,7 +109713,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_function_$_t_uint256$$", "type_string": "tuple(function(uint256))" - } + }, + "text": "(magnifiedDividendPerShare.mul(value)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -108621,7 +109774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4748, @@ -108641,7 +109795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4748, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -108663,7 +109818,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account].sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -108678,7 +109834,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].sub((magnifiedDividendPerShare.mul(value)).toInt256Safe());" } ] }, @@ -108824,13 +109981,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256value)internaloverride{super._mint(account,value);magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].sub((magnifiedDividendPerShare.mul(value)).toInt256Safe());}" }, { "id": 4757, @@ -108908,7 +110066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4769, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 4770, @@ -108934,7 +110093,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -108978,14 +110138,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_burn", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._burn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -109044,7 +110206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4775, @@ -109064,7 +110227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4775, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -109188,7 +110352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4787, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -109232,14 +110397,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -109257,7 +110424,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_function_$_t_uint256$$", "type_string": "tuple(function(uint256))" - } + }, + "text": "(magnifiedDividendPerShare.mul(value)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -109317,7 +110485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4780, @@ -109337,7 +110506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4780, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -109359,7 +110529,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account].add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -109374,7 +110545,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].add((magnifiedDividendPerShare.mul(value)).toInt256Safe());" } ] }, @@ -109520,13 +110692,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256value)internaloverride{super._burn(account,value);magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].add((magnifiedDividendPerShare.mul(value)).toInt256Safe());}" }, { "id": 4789, @@ -109660,7 +110833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4802, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -109681,7 +110855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -109732,7 +110907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4805, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "right_expression": { "id": 4806, @@ -109752,7 +110928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4797, - "is_pure": false + "is_pure": false, + "text": "currentBalance" }, "type_description": { "type_identifier": "t_bool", @@ -109870,7 +111047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "currentBalance" } ], "expression": { @@ -109914,14 +111092,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4813, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "newBalance.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -109970,7 +111150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4817, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 4818, @@ -109996,7 +111177,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "mintAmount" } ], "expression": { @@ -110017,7 +111199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -110152,13 +111335,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setBalance(address, uint256)", - "signature": "d8710a82", + "signature_raw": "_setBalance(address,uint256)", + "signature": "ab86e0a6", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_setBalance(addressaccount,uint256newBalance)internal{uint256currentBalance=balanceOf(account);if(newBalance\u003ecurrentBalance){uint256mintAmount=newBalance.sub(currentBalance);_mint(account,mintAmount);}elseif(newBalance\u003ccurrentBalance){uint256burnAmount=currentBalance.sub(newBalance);_burn(account,burnAmount);}}" } ], "linearized_base_contracts": [ @@ -110687,7 +111871,7 @@ "mutability": 1, "type_name": { "id": 4847, - "node_type": 0, + "node_type": 53, "src": { "line": 2637, "column": 4, @@ -110780,7 +111964,7 @@ "mutability": 1, "type_name": { "id": 4852, - "node_type": 0, + "node_type": 53, "src": { "line": 2639, "column": 4, @@ -111380,7 +112564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4896, - "is_pure": false + "is_pure": false, + "text": "rewardToken_" }, { "id": 4897, @@ -111408,7 +112593,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "\"DIVIDEND_TRACKER\"" }, { "id": 4898, @@ -111440,7 +112626,8 @@ "type_identifier": "t_string_literal", "type_string": "literal_string \"DIVIDEND_TRACKER\"" } - ] + ], + "text": "\"DIVIDEND_TRACKER\"" } ], "expression": { @@ -111484,14 +112671,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4408, - "is_pure": false + "is_pure": false, + "text": "DividendPayingToken" }, "member_name": "__DividendPayingToken_init", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendPayingToken_$4408", "type_string": "contract DividendPayingToken" - } + }, + "text": "DividendPayingToken.__DividendPayingToken_init" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_string_literal$_t_string_literal$", @@ -111539,7 +112728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "right_expression": { "id": 4902, @@ -111561,7 +112751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3600" }, "type_description": { "type_identifier": "t_uint256", @@ -111571,7 +112762,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "claimWait=3600;" }, { "id": 4903, @@ -111614,7 +112806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4859, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "right_expression": { "id": 4906, @@ -111634,7 +112827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4906, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends_" }, "type_description": { "type_identifier": "t_uint256", @@ -111644,7 +112838,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "minimumTokenBalanceForDividends=minimumTokenBalanceForDividends_;" } ] }, @@ -111801,13 +112996,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(address, uint256)", - "signature": "ed712a55", + "signature_raw": "initialize(address,uint256)", + "signature": "cd6dc687", "scope": 4820, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functioninitialize(addressrewardToken_,uint256minimumTokenBalanceForDividends_)externalinitializer{DividendPayingToken.__DividendPayingToken_init(rewardToken_,\"DIVIDEND_TRACKER\",\"DIVIDEND_TRACKER\");claimWait=3600;minimumTokenBalanceForDividends=minimumTokenBalanceForDividends_;}" }, { "id": 4908, @@ -111887,7 +113083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, { "id": 4922, @@ -111915,7 +113112,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Dividend_Tracker: No transfers allowed\"" } ], "expression": { @@ -111936,7 +113134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -112131,13 +113330,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 4820, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(address,address,uint256)internalpureoverride{require(false,\"Dividend_Tracker: No transfers allowed\");}" }, { "id": 4924, @@ -112217,7 +113417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, { "id": 4932, @@ -112245,7 +113446,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Dividend_Tracker: withdrawDividend disabled. Use the 'claim' function on the main BABYTOKEN contract.\"" } ], "expression": { @@ -112266,7 +113468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -112334,7 +113537,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()publicpureoverride{require(false,\"Dividend_Tracker: withdrawDividend disabled. Use the 'claim' function on the main BABYTOKEN contract.\");}" }, { "id": 4934, @@ -112437,7 +113641,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4846, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 4947, @@ -112457,7 +113662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4947, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -112498,7 +113704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -112557,7 +113764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4846, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 4952, @@ -112577,7 +113785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4952, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -112614,7 +113823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -112624,7 +113834,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "excludedFromDividends[account]=true;" }, { "id": 4954, @@ -112667,7 +113878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4956, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 4957, @@ -112695,7 +113907,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -112716,7 +113929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_0_by_1$", @@ -112760,7 +113974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4961, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -112804,14 +114019,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "remove", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.remove" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -112848,7 +114065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4963, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -112869,7 +114087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4862, - "is_pure": false + "is_pure": false, + "text": "ExcludeFromDividends" } } ] @@ -112990,7 +114209,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromDividends(addressaccount)externalonlyOwner{require(!excludedFromDividends[account]);excludedFromDividends[account]=true;_setBalance(account,0);tokenHoldersMap.remove(account);emitExcludeFromDividends(account);}" }, { "id": 4966, @@ -113068,7 +114288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4846, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 4977, @@ -113088,7 +114309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4977, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -113239,7 +114461,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExcludedFromDividends(addressaccount)publicviewreturns(bool){returnexcludedFromDividends[account];}" }, { "id": 4979, @@ -113343,7 +114566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4992, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 4993, @@ -113365,7 +114589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3600" }, "type_description": { "type_identifier": "t_bool", @@ -113404,7 +114629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 4996, @@ -113426,7 +114652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "86400" }, "type_description": { "type_identifier": "t_bool", @@ -113471,7 +114698,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Dividend_Tracker: claimWait must be updated to between 1 and 24 hours\"" } ], "expression": { @@ -113492,7 +114720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -113554,7 +114783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5001, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 5002, @@ -113574,7 +114804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "type_description": { "type_identifier": "t_bool", @@ -113607,7 +114838,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Dividend_Tracker: Cannot update claimWait to same value\"" } ], "expression": { @@ -113628,7 +114860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -113665,7 +114898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5005, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, { "id": 5006, @@ -113685,7 +114919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -113706,7 +114941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4867, - "is_pure": false + "is_pure": false, + "text": "ClaimWaitUpdated" } }, { @@ -113750,7 +114986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "right_expression": { "id": 5011, @@ -113770,7 +115007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5011, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "type_description": { "type_identifier": "t_uint256", @@ -113780,7 +115018,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "claimWait=newClaimWait;" } ] }, @@ -113899,7 +115138,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateClaimWait(uint256newClaimWait)externalonlyOwner{require(newClaimWait\u003e=3600\u0026\u0026newClaimWait\u003c=86400,\"Dividend_Tracker: claimWait must be updated to between 1 and 24 hours\");require(newClaimWait!=claimWait,\"Dividend_Tracker: Cannot update claimWait to same value\");emitClaimWaitUpdated(newClaimWait,claimWait);claimWait=newClaimWait;}" }, { "id": 5013, @@ -113977,7 +115217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4859, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "right_expression": { "id": 5024, @@ -113997,7 +115238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5024, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -114007,7 +115249,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "minimumTokenBalanceForDividends=amount;" } ] }, @@ -114126,7 +115369,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateMinimumTokenBalanceForDividends(uint256amount)externalonlyOwner{minimumTokenBalanceForDividends=amount;}" }, { "id": 5026, @@ -114193,7 +115437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } } ] @@ -114328,7 +115573,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetLastProcessedIndex()externalviewreturns(uint256){returnlastProcessedIndex;}" }, { "id": 5037, @@ -114441,21 +115687,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys.length" } } ] @@ -114590,7 +115839,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetNumberOfTokenHolders()externalviewreturns(uint256){returntokenHoldersMap.keys.length;}" }, { "id": 5050, @@ -114668,7 +115918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 5075, @@ -114688,7 +115939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5075, - "is_pure": false + "is_pure": false, + "text": "_account" }, "type_description": { "type_identifier": "t_address", @@ -114698,7 +115950,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account=_account;" }, { "id": 5076, @@ -114741,7 +115994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4226, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 5079, @@ -114780,7 +116034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -114824,14 +116079,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "getIndexOfKey", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.getIndexOfKey" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -114846,7 +116103,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "index=tokenHoldersMap.getIndexOfKey(account);" }, { "id": 5083, @@ -114889,7 +116147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5059, - "is_pure": false + "is_pure": false, + "text": "iterationsUntilProcessed" }, "right_expression": { "id": 5086, @@ -114929,7 +116188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -114944,7 +116204,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "iterationsUntilProcessed=-1;" }, { "id": 5088, @@ -114989,7 +116250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4226, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 5091, @@ -115011,7 +116273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -115094,7 +116357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -115139,7 +116403,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -115164,7 +116429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, "type_description": { "type_identifier": "t_bool", @@ -115226,7 +116492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5059, - "is_pure": false + "is_pure": false, + "text": "iterationsUntilProcessed" }, "right_expression": { "id": 5104, @@ -115284,7 +116551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "expression": { @@ -115329,7 +116597,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -115378,14 +116647,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4226, - "is_pure": false + "is_pure": false, + "text": "index" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "index.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -115400,7 +116671,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "iterationsUntilProcessed=index.sub(int256(lastProcessedIndex));" } ] } @@ -115449,7 +116721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5061, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividends" }, "right_expression": { "id": 5114, @@ -115488,7 +116761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -115509,7 +116783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -115524,7 +116799,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "withdrawableDividends=withdrawableDividendOf(account);" }, { "id": 5117, @@ -115567,7 +116843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5063, - "is_pure": false + "is_pure": false, + "text": "totalDividends" }, "right_expression": { "id": 5120, @@ -115606,7 +116883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -115627,7 +116905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "accumulativeDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -115642,7 +116921,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividends=accumulativeDividendOf(account);" }, { "id": 5123, @@ -115685,7 +116965,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5065, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 5126, @@ -115716,7 +116997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4851, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 5128, @@ -115736,7 +117018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -115761,7 +117044,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastClaimTime=lastClaimTimes[account];" }, { "id": 5129, @@ -115804,7 +117088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5067, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "right_expression": { "id": 5133, @@ -115850,7 +117135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5065, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 5136, @@ -115872,7 +117158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -115916,7 +117203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -115960,14 +117248,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5065, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastClaimTime.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -115994,7 +117284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -116021,7 +117312,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextClaimTime=lastClaimTime\u003e0?lastClaimTime.add(claimWait):0;" }, { "id": 5142, @@ -116064,7 +117356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5069, - "is_pure": false + "is_pure": false, + "text": "secondsUntilAutoClaimAvailable" }, "right_expression": { "id": 5146, @@ -116110,7 +117403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5067, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "right_expression": { "id": 5149, @@ -116153,14 +117447,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -116227,14 +117523,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -116278,14 +117576,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5067, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextClaimTime.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -116312,7 +117612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -116339,7 +117640,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "secondsUntilAutoClaimAvailable=nextClaimTime\u003eblock.timestamp?nextClaimTime.sub(block.timestamp):0;" } ] }, @@ -116776,7 +118078,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAccount(address_account)publicviewreturns(addressaccount,int256index,int256iterationsUntilProcessed,uint256withdrawableDividends,uint256totalDividends,uint256lastClaimTime,uint256nextClaimTime,uint256secondsUntilAutoClaimAvailable){account=_account;index=tokenHoldersMap.getIndexOfKey(account);iterationsUntilProcessed=-1;if(index\u003e=0){if(uint256(index)\u003elastProcessedIndex){iterationsUntilProcessed=index.sub(int256(lastProcessedIndex));}else{uint256processesUntilEndOfArray=tokenHoldersMap.keys.length\u003elastProcessedIndex?tokenHoldersMap.keys.length.sub(lastProcessedIndex):0;iterationsUntilProcessed=index.add(int256(processesUntilEndOfArray));}}withdrawableDividends=withdrawableDividendOf(account);totalDividends=accumulativeDividendOf(account);lastClaimTime=lastClaimTimes[account];nextClaimTime=lastClaimTime\u003e0?lastClaimTime.add(claimWait):0;secondsUntilAutoClaimAvailable=nextClaimTime\u003eblock.timestamp?nextClaimTime.sub(block.timestamp):0;}" }, { "id": 5158, @@ -116856,7 +118159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5182, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 5183, @@ -116913,14 +118217,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "size", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.size" }, "type_description": { "type_identifier": "t_function_$", @@ -117011,7 +118317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -117057,7 +118364,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -117102,7 +118410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -117147,7 +118456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -117174,7 +118484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5198, @@ -117196,7 +118507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5199, @@ -117218,7 +118530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5200, @@ -117240,7 +118553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5201, @@ -117262,7 +118576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_description": { @@ -117372,7 +118687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5208, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -117416,14 +118732,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "getKeyAtIndex", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.getKeyAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -117480,7 +118798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5202, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -117501,7 +118820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -117943,7 +119263,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetAccountAtIndex(uint256index)publicviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){if(index\u003e=tokenHoldersMap.size()){return(address(0),-1,-1,0,0,0,0,0);}addressaccount=tokenHoldersMap.getKeyAtIndex(index);returngetAccount(account);}" }, { "id": 5214, @@ -118023,7 +119344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5224, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 5225, @@ -118066,14 +119388,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -118126,7 +119450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } } ] @@ -118195,7 +119520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5236, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" } ], "expression": { @@ -118262,21 +119588,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -118301,7 +119630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "type_description": { "type_identifier": "t_bool", @@ -118441,7 +119771,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functioncanAutoClaim(uint256lastClaimTime)privateviewreturns(bool){if(lastClaimTime\u003eblock.timestamp){returnfalse;}returnblock.timestamp.sub(lastClaimTime)\u003e=claimWait;}" }, { "id": 5239, @@ -118518,7 +119849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4846, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 5252, @@ -118538,7 +119870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5252, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -118629,7 +119962,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5257, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "right_expression": { "id": 5258, @@ -118649,7 +119983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4859, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_bool", @@ -118711,7 +120046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5262, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 5263, @@ -118737,7 +120073,8 @@ "type_identifier": "t_address_payable", "type_string": "address" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -118758,7 +120095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", @@ -118806,7 +120144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5267, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 5268, @@ -118832,7 +120171,8 @@ "type_identifier": "t_address_payable", "type_string": "address" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -118876,14 +120216,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "set", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.set" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", @@ -118934,7 +120276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5271, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 5272, @@ -118962,7 +120305,8 @@ "type_identifier": "t_address_payable", "type_string": "address" } - ] + ], + "text": "true" } ], "expression": { @@ -118983,7 +120327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processAccount" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_bool$", @@ -119145,13 +120490,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setBalance(addresspayable, uint256)", - "signature": "67100469", + "signature_raw": "setBalance(addresspayable,uint256)", + "signature": "3fa4948d", "scope": 4820, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsetBalance(addresspayableaccount,uint256newBalance)externalonlyOwner{if(excludedFromDividends[account]){return;}if(newBalance\u003e=minimumTokenBalanceForDividends){_setBalance(account,newBalance);tokenHoldersMap.set(account,newBalance);}else{_setBalance(account,0);tokenHoldersMap.remove(account);}processAccount(account,true);}" }, { "id": 5274, @@ -119312,21 +120658,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys.length" } }, { @@ -119372,7 +120721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5286, - "is_pure": false + "is_pure": false, + "text": "numberOfTokenHolders" }, "right_expression": { "id": 5295, @@ -119394,7 +120744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -119461,7 +120812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5300, @@ -119483,7 +120835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5301, @@ -119503,7 +120856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "type_description": { @@ -119593,7 +120947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } }, { @@ -119676,7 +121031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -119771,7 +121127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -119859,7 +121216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -119942,7 +121300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -120000,7 +121359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5306, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 5327, @@ -120020,7 +121380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5327, - "is_pure": false + "is_pure": false, + "text": "gas" }, "type_description": { "type_identifier": "t_bool", @@ -120059,7 +121420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5315, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "right_expression": { "id": 5330, @@ -120079,7 +121441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5286, - "is_pure": false + "is_pure": false, + "text": "numberOfTokenHolders" }, "type_description": { "type_identifier": "t_bool", @@ -120141,7 +121504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -120196,7 +121560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "right_expression": { "id": 5337, @@ -120262,21 +121627,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys.length" }, "type_description": { "type_identifier": "t_bool", @@ -120337,7 +121705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "right_expression": { "id": 5344, @@ -120359,7 +121728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_uint256", @@ -120369,7 +121739,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_lastProcessedIndex=0;" } ] } @@ -120487,14 +121858,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 5351, @@ -120514,7 +121887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_descriptions": [ { @@ -120591,7 +121965,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4851, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 5357, @@ -120611,7 +121986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5345, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -120647,7 +122023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "canAutoClaim" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -120731,7 +122108,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "account" } ], "argument_types": [ @@ -120772,7 +122150,8 @@ "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" } - ] + ], + "text": "true" } ], "expression": { @@ -120793,7 +122172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processAccount" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_address$_t_bool$", @@ -120843,7 +122223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5319, - "is_pure": false + "is_pure": false, + "text": "claims" }, "type_description": { "type_identifier": "t_uint256", @@ -120891,7 +122272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5315, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "type_description": { "type_identifier": "t_uint256", @@ -120995,7 +122377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -121046,7 +122429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5310, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 5378, @@ -121066,7 +122450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5370, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" }, "type_description": { "type_identifier": "t_bool", @@ -121127,7 +122512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5306, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 5383, @@ -121185,7 +122571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" } ], "expression": { @@ -121229,14 +122616,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5310, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -121285,14 +122674,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5306, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -121307,7 +122698,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed=gasUsed.add(gasLeft.sub(newGasLeft));" } ] } @@ -121353,7 +122745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5310, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 5393, @@ -121373,7 +122766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5370, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" }, "type_description": { "type_identifier": "t_uint256", @@ -121383,7 +122777,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft=newGasLeft;" } ] } @@ -121429,7 +122824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, "right_expression": { "id": 5397, @@ -121449,7 +122845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -121459,7 +122856,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastProcessedIndex=_lastProcessedIndex;" }, { "id": 5398, @@ -121505,7 +122903,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5315, - "is_pure": false + "is_pure": false, + "text": "iterations" }, { "id": 5401, @@ -121525,7 +122924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5319, - "is_pure": false + "is_pure": false, + "text": "claims" }, { "id": 5402, @@ -121545,7 +122945,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "type_description": { @@ -121772,7 +123173,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocess(uint256gas)publicreturns(uint256,uint256,uint256){uint256numberOfTokenHolders=tokenHoldersMap.keys.length;if(numberOfTokenHolders==0){return(0,0,lastProcessedIndex);}uint256_lastProcessedIndex=lastProcessedIndex;uint256gasUsed=0;uint256gasLeft=gasleft();uint256iterations=0;uint256claims=0;while(gasUsed\u003cgas\u0026\u0026iterations\u003cnumberOfTokenHolders){_lastProcessedIndex++;if(_lastProcessedIndex\u003e=tokenHoldersMap.keys.length){_lastProcessedIndex=0;}addressaccount=tokenHoldersMap.keys[_lastProcessedIndex];if(canAutoClaim(lastClaimTimes[account])){if(processAccount(payable(account),true)){claims++;}}iterations++;uint256newGasLeft=gasleft();if(gasLeft\u003enewGasLeft){gasUsed=gasUsed.add(gasLeft.sub(newGasLeft));}gasLeft=newGasLeft;}lastProcessedIndex=_lastProcessedIndex;return(iterations,claims,lastProcessedIndex);}" }, { "id": 5404, @@ -121906,7 +123308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5421, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -121927,7 +123330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawDividendOfUser" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$", @@ -121978,7 +123382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5416, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 5425, @@ -122000,7 +123405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -122073,7 +123479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4851, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 5431, @@ -122093,7 +123500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5431, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -122151,14 +123559,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", @@ -122168,7 +123578,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "lastClaimTimes[account]=block.timestamp;" }, { "id": 5434, @@ -122200,7 +123611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5435, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 5436, @@ -122220,7 +123632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 372, - "is_pure": false + "is_pure": false, + "text": "amount" }, { "id": 5437, @@ -122240,7 +123653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5437, - "is_pure": false + "is_pure": false, + "text": "automatic" } ], "expression": { @@ -122261,7 +123675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4874, - "is_pure": false + "is_pure": false, + "text": "Claim" } }, { @@ -122296,7 +123711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -122334,7 +123750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } } ] @@ -122537,13 +123954,14 @@ } ] }, - "signature_raw": "processAccount(addresspayable, bool)", - "signature": "a97667a5", + "signature_raw": "processAccount(addresspayable,bool)", + "signature": "d45936cb", "scope": 4820, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionprocessAccount(addresspayableaccount,boolautomatic)publiconlyOwnerreturns(bool){uint256amount=_withdrawDividendOfUser(account);if(amount\u003e0){lastClaimTimes[account]=block.timestamp;emitClaim(account,amount,automatic);returntrue;}returnfalse;}" } ], "linearized_base_contracts": [ @@ -123332,7 +124750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } }, { @@ -123908,7 +125327,7 @@ "mutability": 1, "type_name": { "id": 5527, - "node_type": 0, + "node_type": 53, "src": { "line": 2969, "column": 4, @@ -124001,7 +125420,7 @@ "mutability": 1, "type_name": { "id": 5532, - "node_type": 0, + "node_type": 53, "src": { "line": 2973, "column": 4, @@ -125107,7 +126526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5616, - "is_pure": false + "is_pure": false, + "text": "name_" }, { "id": 5617, @@ -125127,7 +126547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5617, - "is_pure": false + "is_pure": false, + "text": "symbol_" } ], "modifier_name": { @@ -125320,7 +126741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_rational_4_by_1", @@ -125381,7 +126803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_description": { "type_identifier": "t_rational_3_by_1", @@ -125620,7 +127043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4431, - "is_pure": false + "is_pure": false, + "text": "rewardToken" }, "right_expression": { "id": 5622, @@ -125651,7 +127075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5623, - "is_pure": false + "is_pure": false, + "text": "addrs" }, "base_expression": { "id": 5624, @@ -125673,7 +127098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -125698,7 +127124,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "rewardToken=addrs[0];" }, { "id": 5625, @@ -125741,7 +127168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5520, - "is_pure": false + "is_pure": false, + "text": "_marketingWalletAddress" }, "right_expression": { "id": 5628, @@ -125772,7 +127200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5629, - "is_pure": false + "is_pure": false, + "text": "addrs" }, "base_expression": { "id": 5630, @@ -125794,7 +127223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_descriptions": [ { @@ -125819,7 +127249,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_marketingWalletAddress=addrs[2];" }, { "id": 5631, @@ -125899,14 +127330,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 5636, @@ -125926,7 +127359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5520, - "is_pure": false + "is_pure": false, + "text": "_marketingWalletAddress" }, "type_description": { "type_identifier": "t_bool", @@ -125959,7 +127393,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Owner and marketing wallet cannot be the same\"" } ], "expression": { @@ -125980,7 +127415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -126083,14 +127519,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5520, - "is_pure": false + "is_pure": false, + "text": "_marketingWalletAddress" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_marketingWalletAddress.isContract" }, "type_description": { "type_identifier": "t_function_$", @@ -126128,7 +127566,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Marketing wallet cannot be a contract\"" } ], "expression": { @@ -126149,7 +127588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -126197,7 +127637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5508, - "is_pure": false + "is_pure": false, + "text": "tokenRewardsFee" }, "right_expression": { "id": 5648, @@ -126228,7 +127669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5649, - "is_pure": false + "is_pure": false, + "text": "feeSettings" }, "base_expression": { "id": 5650, @@ -126250,7 +127692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -126275,7 +127718,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenRewardsFee=feeSettings[0];" }, { "id": 5651, @@ -126318,7 +127762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5511, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" }, "right_expression": { "id": 5654, @@ -126349,7 +127794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5655, - "is_pure": false + "is_pure": false, + "text": "feeSettings" }, "base_expression": { "id": 5656, @@ -126371,7 +127817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -126396,7 +127843,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "liquidityFee=feeSettings[1];" }, { "id": 5657, @@ -126439,7 +127887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5514, - "is_pure": false + "is_pure": false, + "text": "marketingFee" }, "right_expression": { "id": 5660, @@ -126470,7 +127919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5661, - "is_pure": false + "is_pure": false, + "text": "feeSettings" }, "base_expression": { "id": 5662, @@ -126492,7 +127942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_descriptions": [ { @@ -126517,7 +127968,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "marketingFee=feeSettings[2];" }, { "id": 5663, @@ -126560,7 +128012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 5666, @@ -126599,7 +128052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "marketingFee" } ], "expression": { @@ -126662,7 +128116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" } ], "expression": { @@ -126706,14 +128161,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5508, - "is_pure": false + "is_pure": false, + "text": "tokenRewardsFee" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenRewardsFee.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -126725,7 +128182,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "tokenRewardsFee.add(liquidityFee).add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -126740,7 +128198,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalFees=tokenRewardsFee.add(liquidityFee).add(marketingFee);" }, { "id": 5673, @@ -126797,7 +128256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 5677, @@ -126819,7 +128279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "25" }, "type_description": { "type_identifier": "t_bool", @@ -126852,7 +128313,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Total fee is over 25%\"" } ], "expression": { @@ -126873,7 +128335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -126921,7 +128384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5505, - "is_pure": false + "is_pure": false, + "text": "swapTokensAtAmount" }, "right_expression": { "id": 5682, @@ -126962,7 +128426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" } ], "expression": { @@ -127006,14 +128471,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5684, - "is_pure": false + "is_pure": false, + "text": "totalSupply_" }, "member_name": "div", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply_.div" }, "type_description": { "type_identifier": "t_function_$_t_rational_1000_by_1$", @@ -127028,7 +128495,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "swapTokensAtAmount=totalSupply_.div(1000);" }, { "id": 5686, @@ -127071,7 +128539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5523, - "is_pure": false + "is_pure": false, + "text": "gasForProcessing" }, "right_expression": { "id": 5689, @@ -127093,7 +128562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "300000" }, "type_description": { "type_identifier": "t_uint256", @@ -127103,7 +128573,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasForProcessing=300000;" }, { "id": 5690, @@ -127146,7 +128617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "right_expression": { "id": 5693, @@ -127227,7 +128699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5700, - "is_pure": false + "is_pure": false, + "text": "addrs" }, "base_expression": { "id": 5701, @@ -127249,7 +128722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_descriptions": [ { @@ -127308,14 +128782,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1905, - "is_pure": false + "is_pure": false, + "text": "Clones" }, "member_name": "clone", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Clones_$1905", "type_string": "contract Clones" - } + }, + "text": "Clones.clone" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_rational_4_by_1]$_t_rational_3_by_1]$", @@ -127354,7 +128830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "BABYTOKENDividendTracker" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_[_[$_t_rational_4_by_1]$_t_rational_3_by_1]$", @@ -127369,7 +128846,8 @@ "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker=BABYTOKENDividendTracker(payable(Clones.clone(addrs[3])));" }, { "id": 5702, @@ -127412,7 +128890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "rewardToken" }, { "id": 5706, @@ -127438,7 +128917,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "minimumTokenBalanceForDividends_" } ], "expression": { @@ -127482,14 +128962,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "initialize", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.initialize" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -127625,7 +129107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5714, - "is_pure": false + "is_pure": false, + "text": "addrs" }, "base_expression": { "id": 5715, @@ -127647,7 +129130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -127683,7 +129167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Router02" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_rational_4_by_1]$_t_rational_1_by_1]$", @@ -127812,7 +129297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -127858,7 +129344,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -127920,14 +129407,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5707, - "is_pure": false + "is_pure": false, + "text": "_uniswapV2Router" }, "member_name": "WETH", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", "type_string": "contract IUniswapV2Router02" - } + }, + "text": "_uniswapV2Router.WETH" }, "type_description": { "type_identifier": "t_function_$", @@ -128032,14 +129521,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5707, - "is_pure": false + "is_pure": false, + "text": "_uniswapV2Router" }, "member_name": "factory", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", "type_string": "contract IUniswapV2Router02" - } + }, + "text": "_uniswapV2Router.factory" }, "type_description": { "type_identifier": "t_function_$", @@ -128065,7 +129556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Factory" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -128077,7 +129569,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IUniswapV2Factory(_uniswapV2Router.factory()).createPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$", @@ -128126,7 +129619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5488, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "right_expression": { "id": 5736, @@ -128146,7 +129640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5707, - "is_pure": false + "is_pure": false, + "text": "_uniswapV2Router" }, "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", @@ -128156,7 +129651,8 @@ "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", "type_string": "contract IUniswapV2Router02" - } + }, + "text": "uniswapV2Router=_uniswapV2Router;" }, { "id": 5737, @@ -128199,7 +129695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5492, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "right_expression": { "id": 5740, @@ -128219,7 +129716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5716, - "is_pure": false + "is_pure": false, + "text": "_uniswapV2Pair" }, "type_description": { "type_identifier": "t_address", @@ -128229,7 +129727,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "uniswapV2Pair=_uniswapV2Pair;" }, { "id": 5741, @@ -128272,7 +129771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5716, - "is_pure": false + "is_pure": false, + "text": "_uniswapV2Pair" }, { "id": 5744, @@ -128300,7 +129800,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "true" } ], "expression": { @@ -128321,7 +129822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setAutomatedMarketMakerPair" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", @@ -128384,7 +129886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" } ], "expression": { @@ -128430,7 +129933,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -128479,14 +129983,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -128549,7 +130055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -128595,7 +130102,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -128644,14 +130152,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -128709,7 +130219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -128758,14 +130269,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -128830,7 +130343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xdead" } ], "expression": { @@ -128876,7 +130390,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -128925,14 +130440,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -128995,7 +130512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5707, - "is_pure": false + "is_pure": false, + "text": "_uniswapV2Router" } ], "expression": { @@ -129041,7 +130559,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -129090,14 +130609,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -129156,7 +130677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFees" }, "base_expression": { "id": 5782, @@ -129190,7 +130712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -129232,7 +130755,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$", @@ -129242,7 +130766,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$", "type_string": "index[mapping(address=\u003ebool):function()]" - } + }, + "text": "_isExcludedFromFees[owner()]=true;" }, { "id": 5785, @@ -129296,7 +130821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFees" }, "base_expression": { "id": 5789, @@ -129316,7 +130842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5520, - "is_pure": false + "is_pure": false, + "text": "_marketingWalletAddress" }, "type_descriptions": [ { @@ -129353,7 +130880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -129363,7 +130891,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_isExcludedFromFees[_marketingWalletAddress]=true;" }, { "id": 5791, @@ -129417,7 +130946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFees" }, "base_expression": { "id": 5795, @@ -129456,7 +130986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -129502,7 +131033,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -129544,7 +131076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", @@ -129554,7 +131087,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", "type_string": "index[mapping(address=\u003ebool):function(address)]" - } + }, + "text": "_isExcludedFromFees[address(this)]=true;" }, { "id": 5800, @@ -129611,7 +131145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -129642,7 +131177,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "totalSupply_" } ], "expression": { @@ -129663,7 +131199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -129714,7 +131251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -129758,7 +131296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -129804,7 +131343,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -129852,7 +131392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 7271, - "is_pure": false + "is_pure": false, + "text": "TokenType" }, "member_name": "baby", "argument_types": [], @@ -129860,7 +131401,8 @@ "type_description": { "type_identifier": "t_enum_$_TokenType_$7271", "type_string": "enum Global.TokenType" - } + }, + "text": "TokenType.baby" }, { "id": 5814, @@ -129880,7 +131422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5484, - "is_pure": false + "is_pure": false, + "text": "VERSION" } ], "expression": { @@ -129901,7 +131444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5446, - "is_pure": false + "is_pure": false, + "text": "TokenCreated" } }, { @@ -129941,7 +131485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5820, - "is_pure": false + "is_pure": false, + "text": "serviceFee_" } ], "expression": { @@ -129997,7 +131542,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5819, - "is_pure": false + "is_pure": false, + "text": "serviceFeeReceiver_" } ], "argument_types": [ @@ -130017,7 +131563,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(serviceFeeReceiver_).transfer" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -130180,7 +131727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5838, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 5839, @@ -130228,7 +131776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -130266,7 +131815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 5845, @@ -130288,7 +131838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5" }, "type_descriptions": [ { @@ -130337,7 +131888,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BABYTOKEN: Amount must be greater than 0.001% of total supply\"" } ], "expression": { @@ -130358,7 +131910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -130406,7 +131959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5505, - "is_pure": false + "is_pure": false, + "text": "swapTokensAtAmount" }, "right_expression": { "id": 5850, @@ -130426,7 +131980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5850, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -130436,7 +131991,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "swapTokensAtAmount=amount;" } ] }, @@ -130555,7 +132111,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetSwapTokensAtAmount(uint256amount)externalonlyOwner{require(amount\u003etotalSupply()/10**5,\"BABYTOKEN: Amount must be greater than 0.001% of total supply\");swapTokensAtAmount=amount;}" }, { "id": 5852, @@ -130662,7 +132219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFees" }, "base_expression": { "id": 5865, @@ -130682,7 +132240,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5865, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -130730,7 +132289,8 @@ "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" } - ] + ], + "text": "\"BABYTOKEN: Account is already excluded\"" } ], "expression": { @@ -130751,7 +132311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$_t_string_literal$", @@ -130810,7 +132371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFees" }, "base_expression": { "id": 5871, @@ -130830,7 +132392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5871, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -130867,7 +132430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -130877,7 +132441,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_isExcludedFromFees[account]=true;" }, { "id": 5873, @@ -130909,7 +132474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5874, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -130930,7 +132496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5536, - "is_pure": false + "is_pure": false, + "text": "ExcludeFromFees" } } ] @@ -131051,7 +132618,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromFees(addressaccount)externalonlyOwner{require(!_isExcludedFromFees[account],\"BABYTOKEN: Account is already excluded\");_isExcludedFromFees[account]=true;emitExcludeFromFees(account);}" }, { "id": 5877, @@ -131179,7 +132747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -131214,7 +132783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5886, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 5892, @@ -131257,14 +132827,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5893, - "is_pure": false + "is_pure": false, + "text": "accounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "accounts.length" }, "type_description": { "type_identifier": "t_bool", @@ -131302,7 +132874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5886, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -131380,7 +132953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFees" }, "base_expression": { "id": 5901, @@ -131411,7 +132985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5543, - "is_pure": false + "is_pure": false, + "text": "accounts" }, "base_expression": { "id": 5903, @@ -131431,7 +133006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5886, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -131483,7 +133059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_[_[$_t_address]$_t_uint256]$", @@ -131493,7 +133070,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ebool):index[address:uint256]]" - } + }, + "text": "_isExcludedFromFees[accounts[i]]=true;" } ] } @@ -131528,7 +133106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5906, - "is_pure": false + "is_pure": false, + "text": "accounts" } ], "expression": { @@ -131549,7 +133128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5541, - "is_pure": false + "is_pure": false, + "text": "ExcludeMultipleAccountsFromFees" } } ] @@ -131669,7 +133249,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeMultipleAccountsFromFees(address[]calldataaccounts)externalonlyOwner{for(uint256i=0;i\u003caccounts.length;i++){_isExcludedFromFees[accounts[i]]=true;}emitExcludeMultipleAccountsFromFees(accounts);}" }, { "id": 5909, @@ -131761,7 +133342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5920, - "is_pure": false + "is_pure": false, + "text": "wallet" }, "right_expression": { "id": 5921, @@ -131802,7 +133384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -131848,7 +133431,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -131886,7 +133470,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BABYTOKEN: The marketing wallet cannot be the value of zero\"" } ], "expression": { @@ -131907,7 +133492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -132010,14 +133596,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5931, - "is_pure": false + "is_pure": false, + "text": "wallet" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "wallet.isContract" }, "type_description": { "type_identifier": "t_function_$", @@ -132055,7 +133643,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "\"Marketing wallet cannot be a contract\"" } ], "expression": { @@ -132076,7 +133665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_literal$", @@ -132124,7 +133714,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5520, - "is_pure": false + "is_pure": false, + "text": "_marketingWalletAddress" }, "right_expression": { "id": 5936, @@ -132144,7 +133735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5936, - "is_pure": false + "is_pure": false, + "text": "wallet" }, "type_description": { "type_identifier": "t_address", @@ -132154,7 +133746,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_marketingWalletAddress=wallet;" } ] }, @@ -132274,7 +133867,8 @@ "type_description": { "type_identifier": "t_function_$_t_address_payable$", "type_string": "function(address)" - } + }, + "text": "functionsetMarketingWallet(addresspayablewallet)externalonlyOwner{require(wallet!=address(0),\"BABYTOKEN: The marketing wallet cannot be the value of zero\");require(!wallet.isContract(),\"Marketing wallet cannot be a contract\");_marketingWalletAddress=wallet;}" }, { "id": 5938, @@ -132352,7 +133946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5508, - "is_pure": false + "is_pure": false, + "text": "tokenRewardsFee" }, "right_expression": { "id": 5949, @@ -132372,7 +133967,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5949, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -132382,7 +133978,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenRewardsFee=value;" }, { "id": 5950, @@ -132425,7 +134022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 5953, @@ -132464,7 +134062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "marketingFee" } ], "expression": { @@ -132527,7 +134126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" } ], "expression": { @@ -132571,14 +134171,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5508, - "is_pure": false + "is_pure": false, + "text": "tokenRewardsFee" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenRewardsFee.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -132590,7 +134192,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "tokenRewardsFee.add(liquidityFee).add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -132605,7 +134208,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalFees=tokenRewardsFee.add(liquidityFee).add(marketingFee);" }, { "id": 5960, @@ -132662,7 +134266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 5964, @@ -132684,7 +134289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "25" }, "type_description": { "type_identifier": "t_bool", @@ -132717,7 +134323,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Total fee is over 25%\"" } ], "expression": { @@ -132738,7 +134345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -132862,7 +134470,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetTokenRewardsFee(uint256value)externalonlyOwner{tokenRewardsFee=value;totalFees=tokenRewardsFee.add(liquidityFee).add(marketingFee);require(totalFees\u003c=25,\"Total fee is over 25%\");}" }, { "id": 5967, @@ -132940,7 +134549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5511, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" }, "right_expression": { "id": 5978, @@ -132960,7 +134570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5978, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -132970,7 +134581,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "liquidityFee=value;" }, { "id": 5979, @@ -133013,7 +134625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 5982, @@ -133052,7 +134665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "marketingFee" } ], "expression": { @@ -133115,7 +134729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" } ], "expression": { @@ -133159,14 +134774,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5508, - "is_pure": false + "is_pure": false, + "text": "tokenRewardsFee" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenRewardsFee.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -133178,7 +134795,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "tokenRewardsFee.add(liquidityFee).add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -133193,7 +134811,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalFees=tokenRewardsFee.add(liquidityFee).add(marketingFee);" }, { "id": 5989, @@ -133250,7 +134869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 5993, @@ -133272,7 +134892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "25" }, "type_description": { "type_identifier": "t_bool", @@ -133305,7 +134926,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Total fee is over 25%\"" } ], "expression": { @@ -133326,7 +134948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -133450,7 +135073,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetLiquiditFee(uint256value)externalonlyOwner{liquidityFee=value;totalFees=tokenRewardsFee.add(liquidityFee).add(marketingFee);require(totalFees\u003c=25,\"Total fee is over 25%\");}" }, { "id": 5996, @@ -133528,7 +135152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5514, - "is_pure": false + "is_pure": false, + "text": "marketingFee" }, "right_expression": { "id": 6007, @@ -133548,7 +135173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6007, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -133558,7 +135184,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "marketingFee=value;" }, { "id": 6008, @@ -133601,7 +135228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 6011, @@ -133640,7 +135268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "marketingFee" } ], "expression": { @@ -133703,7 +135332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" } ], "expression": { @@ -133747,14 +135377,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5508, - "is_pure": false + "is_pure": false, + "text": "tokenRewardsFee" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenRewardsFee.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -133766,7 +135398,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "tokenRewardsFee.add(liquidityFee).add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -133781,7 +135414,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalFees=tokenRewardsFee.add(liquidityFee).add(marketingFee);" }, { "id": 6018, @@ -133838,7 +135472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 6022, @@ -133860,7 +135495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "25" }, "type_description": { "type_identifier": "t_bool", @@ -133893,7 +135529,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Total fee is over 25%\"" } ], "expression": { @@ -133914,7 +135551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -134038,7 +135676,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetMarketingFee(uint256value)externalonlyOwner{marketingFee=value;totalFees=tokenRewardsFee.add(liquidityFee).add(marketingFee);require(totalFees\u003c=25,\"Total fee is over 25%\");}" }, { "id": 6025, @@ -134141,7 +135780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5531, - "is_pure": false + "is_pure": false, + "text": "automatedMarketMakerPairs" }, "base_expression": { "id": 6038, @@ -134161,7 +135801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6038, - "is_pure": false + "is_pure": false, + "text": "pair" }, "type_descriptions": [ { @@ -134196,7 +135837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6039, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -134229,7 +135871,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BABYTOKEN: Automated market maker pair is already set to that value\"" } ], "expression": { @@ -134250,7 +135893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -134309,7 +135953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5531, - "is_pure": false + "is_pure": false, + "text": "automatedMarketMakerPairs" }, "base_expression": { "id": 6045, @@ -134329,7 +135974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6045, - "is_pure": false + "is_pure": false, + "text": "pair" }, "type_descriptions": [ { @@ -134364,7 +136010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6046, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -134374,7 +136021,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "automatedMarketMakerPairs[pair]=value;" }, { "id": 6047, @@ -134405,7 +136053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6048, - "is_pure": false + "is_pure": false, + "text": "value" }, "body": { "id": 6049, @@ -134458,7 +136107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6053, - "is_pure": false + "is_pure": false, + "text": "pair" } ], "expression": { @@ -134502,14 +136152,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -134549,7 +136201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6055, - "is_pure": false + "is_pure": false, + "text": "pair" }, { "id": 6056, @@ -134569,7 +136222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6056, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -134590,7 +136244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5546, - "is_pure": false + "is_pure": false, + "text": "SetAutomatedMarketMakerPair" } } ] @@ -134718,13 +136373,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setAutomatedMarketMakerPair(address, bool)", - "signature": "2cfcb9b1", + "signature_raw": "_setAutomatedMarketMakerPair(address,bool)", + "signature": "a7f7b36f", "scope": 5459, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "function_setAutomatedMarketMakerPair(addresspair,boolvalue)private{require(automatedMarketMakerPairs[pair]!=value,\"BABYTOKEN: Automated market maker pair is already set to that value\");automatedMarketMakerPairs[pair]=value;if(value){dividendTracker.excludeFromDividends(pair);}emitSetAutomatedMarketMakerPair(pair,value);}" }, { "id": 6059, @@ -134828,7 +136484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6072, - "is_pure": false + "is_pure": false, + "text": "newValue" }, "right_expression": { "id": 6073, @@ -134850,7 +136507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "200000" }, "type_description": { "type_identifier": "t_bool", @@ -134889,7 +136547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6075, - "is_pure": false + "is_pure": false, + "text": "newValue" }, "right_expression": { "id": 6076, @@ -134911,7 +136570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "500000" }, "type_description": { "type_identifier": "t_bool", @@ -134956,7 +136616,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BABYTOKEN: gasForProcessing must be between 200,000 and 500,000\"" } ], "expression": { @@ -134977,7 +136638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -135039,7 +136701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6081, - "is_pure": false + "is_pure": false, + "text": "newValue" }, "right_expression": { "id": 6082, @@ -135059,7 +136722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5523, - "is_pure": false + "is_pure": false, + "text": "gasForProcessing" }, "type_description": { "type_identifier": "t_bool", @@ -135092,7 +136756,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BABYTOKEN: Cannot update gasForProcessing to same value\"" } ], "expression": { @@ -135113,7 +136778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -135150,7 +136816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6085, - "is_pure": false + "is_pure": false, + "text": "newValue" }, { "id": 6086, @@ -135170,7 +136837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5523, - "is_pure": false + "is_pure": false, + "text": "gasForProcessing" } ], "expression": { @@ -135191,7 +136859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5553, - "is_pure": false + "is_pure": false, + "text": "GasForProcessingUpdated" } }, { @@ -135235,7 +136904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5523, - "is_pure": false + "is_pure": false, + "text": "gasForProcessing" }, "right_expression": { "id": 6091, @@ -135255,7 +136925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6091, - "is_pure": false + "is_pure": false, + "text": "newValue" }, "type_description": { "type_identifier": "t_uint256", @@ -135265,7 +136936,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasForProcessing=newValue;" } ] }, @@ -135384,7 +137056,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateGasForProcessing(uint256newValue)publiconlyOwner{require(newValue\u003e=200000\u0026\u0026newValue\u003c=500000,\"BABYTOKEN: gasForProcessing must be between 200,000 and 500,000\");require(newValue!=gasForProcessing,\"BABYTOKEN: Cannot update gasForProcessing to same value\");emitGasForProcessingUpdated(newValue,gasForProcessing);gasForProcessing=newValue;}" }, { "id": 6093, @@ -135458,7 +137131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6104, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -135502,14 +137176,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "updateClaimWait", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.updateClaimWait" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -135633,7 +137309,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateClaimWait(uint256claimWait)externalonlyOwner{dividendTracker.updateClaimWait(claimWait);}" }, { "id": 6106, @@ -135737,14 +137414,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "claimWait", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.claimWait" }, "type_description": { "type_identifier": "t_function_$", @@ -135884,7 +137563,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetClaimWait()externalviewreturns(uint256){returndividendTracker.claimWait();}" }, { "id": 6119, @@ -135958,7 +137638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6130, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -136002,14 +137683,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "updateMinimumTokenBalanceForDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.updateMinimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -136133,7 +137816,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateMinimumTokenBalanceForDividends(uint256amount)externalonlyOwner{dividendTracker.updateMinimumTokenBalanceForDividends(amount);}" }, { "id": 6132, @@ -136237,14 +137921,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "minimumTokenBalanceForDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.minimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_function_$", @@ -136384,7 +138070,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetMinimumTokenBalanceForDividends()externalviewreturns(uint256){returndividendTracker.minimumTokenBalanceForDividends();}" }, { "id": 6145, @@ -136488,14 +138175,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "totalDividendsDistributed", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.totalDividendsDistributed" }, "type_description": { "type_identifier": "t_function_$", @@ -136635,7 +138324,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetTotalDividendsDistributed()externalviewreturns(uint256){returndividendTracker.totalDividendsDistributed();}" }, { "id": 6158, @@ -136713,7 +138403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFees" }, "base_expression": { "id": 6169, @@ -136733,7 +138424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6169, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -136884,7 +138576,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExcludedFromFees(addressaccount)publicviewreturns(bool){return_isExcludedFromFees[account];}" }, { "id": 6171, @@ -136970,7 +138663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6183, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -137014,14 +138708,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "withdrawableDividendOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -137162,7 +138858,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawableDividendOf(addressaccount)publicviewreturns(uint256){returndividendTracker.withdrawableDividendOf(account);}" }, { "id": 6185, @@ -137248,7 +138945,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6197, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -137292,14 +138990,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -137440,7 +139140,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiondividendTokenBalanceOf(addressaccount)publicviewreturns(uint256){returndividendTracker.balanceOf(account);}" }, { "id": 6199, @@ -137514,7 +139215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6210, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -137558,14 +139260,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -137690,7 +139394,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromDividends(addressaccount)externalonlyOwner{dividendTracker.excludeFromDividends(account);}" }, { "id": 6212, @@ -137776,7 +139481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6224, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -137820,14 +139526,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "isExcludedFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.isExcludedFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -137968,7 +139676,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExcludedFromDividends(addressaccount)publicviewreturns(bool){returndividendTracker.isExcludedFromDividends(account);}" }, { "id": 6226, @@ -138054,7 +139763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6252, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -138098,14 +139808,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "getAccount", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.getAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -138548,7 +140260,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAccountDividendsInfo(addressaccount)externalviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){returndividendTracker.getAccount(account);}" }, { "id": 6254, @@ -138634,7 +140347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6280, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -138678,14 +140392,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "getAccountAtIndex", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.getAccountAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -139127,7 +140843,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetAccountDividendsInfoAtIndex(uint256index)externalviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){returndividendTracker.getAccountAtIndex(index);}" }, { "id": 6282, @@ -139351,7 +141068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6298, - "is_pure": false + "is_pure": false, + "text": "gas" } ], "expression": { @@ -139395,14 +141113,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "process", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.process" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -139440,7 +141160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6288, - "is_pure": false + "is_pure": false, + "text": "iterations" }, { "id": 6301, @@ -139460,7 +141181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6288, - "is_pure": false + "is_pure": false, + "text": "claims" }, { "id": 6302, @@ -139480,7 +141202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6288, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, { "id": 6303, @@ -139502,7 +141225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, { "id": 6304, @@ -139522,7 +141246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6304, - "is_pure": false + "is_pure": false, + "text": "gas" }, { "id": 6305, @@ -139565,14 +141290,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "tx" }, "member_name": "origin", "argument_types": [], "type_description": { "type_identifier": "t_magic_transaction", "type_string": "tx" - } + }, + "text": "tx.origin" } ], "expression": { @@ -139593,7 +141320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5576, - "is_pure": false + "is_pure": false, + "text": "ProcessedDividendTracker" } } ] @@ -139683,7 +141411,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocessDividendTracker(uint256gas)external{(uint256iterations,uint256claims,uint256lastProcessedIndex)=dividendTracker.process(gas);emitProcessedDividendTracker(iterations,claims,lastProcessedIndex,false,gas,tx.origin);}" }, { "id": 6309, @@ -139796,14 +141525,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "argument_types": [ @@ -139844,7 +141575,8 @@ "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" } - ] + ], + "text": "false" } ], "expression": { @@ -139888,14 +141620,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "processAccount", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.processAccount" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_address$_t_bool$", @@ -139944,7 +141678,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionclaim()external{dividendTracker.processAccount(payable(msg.sender),false);}" }, { "id": 6321, @@ -140048,14 +141783,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "getLastProcessedIndex", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.getLastProcessedIndex" }, "type_description": { "type_identifier": "t_function_$", @@ -140195,7 +141932,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetLastProcessedIndex()externalviewreturns(uint256){returndividendTracker.getLastProcessedIndex();}" }, { "id": 6334, @@ -140299,14 +142037,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "getNumberOfTokenHolders", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.getNumberOfTokenHolders" }, "type_description": { "type_identifier": "t_function_$", @@ -140446,7 +142186,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetNumberOfDividendTokenHolders()externalviewreturns(uint256){returndividendTracker.getNumberOfTokenHolders();}" }, { "id": 6347, @@ -140538,7 +142279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6361, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 6362, @@ -140579,7 +142321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -140625,7 +142368,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -140663,7 +142407,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -140684,7 +142429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -140746,7 +142492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6370, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 6371, @@ -140787,7 +142534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -140833,7 +142581,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -140871,7 +142620,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -140892,7 +142642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -140942,7 +142693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6378, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 6379, @@ -140964,7 +142716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -141030,7 +142783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6384, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 6385, @@ -141056,7 +142810,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 6386, @@ -141088,7 +142843,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -141132,14 +142888,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_rational_0_by_1$", @@ -141279,7 +143037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -141325,7 +143084,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -141351,7 +143111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -141451,7 +143212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6388, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "right_expression": { "id": 6402, @@ -141471,7 +143233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5505, - "is_pure": false + "is_pure": false, + "text": "swapTokensAtAmount" }, "type_description": { "type_identifier": "t_bool", @@ -141568,7 +143331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6397, - "is_pure": false + "is_pure": false, + "text": "canSwap" }, { "id": 6415, @@ -141606,7 +143370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5495, - "is_pure": false + "is_pure": false, + "text": "swapping" }, "type_description": { "type_identifier": "t_bool", @@ -141672,7 +143437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5531, - "is_pure": false + "is_pure": false, + "text": "automatedMarketMakerPairs" }, "base_expression": { "id": 6420, @@ -141692,7 +143458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6420, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -141758,7 +143525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6422, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 6423, @@ -141792,7 +143560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -141848,7 +143617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6426, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 6427, @@ -141882,7 +143652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -141938,7 +143709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 6431, @@ -141960,7 +143732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -142034,7 +143807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5495, - "is_pure": false + "is_pure": false, + "text": "swapping" }, "right_expression": { "id": 6436, @@ -142056,7 +143830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -142066,7 +143841,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "swapping=true;" }, { "id": 6437, @@ -142111,7 +143887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5514, - "is_pure": false + "is_pure": false, + "text": "marketingFee" }, "right_expression": { "id": 6440, @@ -142133,7 +143910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -142251,7 +144029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalFees" } ], "expression": { @@ -142314,7 +144093,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "marketingFee" } ], "expression": { @@ -142358,14 +144138,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 6388, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "contractTokenBalance.mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -142377,7 +144159,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "contractTokenBalance.mul(marketingFee).div" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -142422,7 +144205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6442, - "is_pure": false + "is_pure": false, + "text": "marketingTokens" } ], "expression": { @@ -142443,7 +144227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "swapAndSendToFee" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -142496,7 +144281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5511, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" }, "right_expression": { "id": 6458, @@ -142518,7 +144304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -142636,7 +144423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalFees" } ], "expression": { @@ -142699,7 +144487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" } ], "expression": { @@ -142743,14 +144532,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 6388, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "contractTokenBalance.mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -142762,7 +144553,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "contractTokenBalance.mul(liquidityFee).div" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -142807,7 +144599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6460, - "is_pure": false + "is_pure": false, + "text": "swapTokens" } ], "expression": { @@ -142828,7 +144621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "swapAndLiquify" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -142954,7 +144748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -143000,7 +144795,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -143026,7 +144822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -143077,7 +144874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6473, - "is_pure": false + "is_pure": false, + "text": "sellTokens" }, "right_expression": { "id": 6485, @@ -143099,7 +144897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -143157,7 +144956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "sellTokens" } ], "expression": { @@ -143178,7 +144978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "swapAndSendDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -143229,7 +145030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5495, - "is_pure": false + "is_pure": false, + "text": "swapping" }, "right_expression": { "id": 6493, @@ -143251,7 +145053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -143261,7 +145064,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "swapping=false;" } ] } @@ -143362,7 +145166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5495, - "is_pure": false + "is_pure": false, + "text": "swapping" }, "type_description": { "type_identifier": "t_bool", @@ -143424,7 +145229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFees" }, "base_expression": { "id": 6503, @@ -143444,7 +145250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6503, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -143490,7 +145297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5526, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFees" }, "base_expression": { "id": 6506, @@ -143510,7 +145318,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6506, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -143587,7 +145396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6494, - "is_pure": false + "is_pure": false, + "text": "takeFee" }, "right_expression": { "id": 6511, @@ -143609,7 +145419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -143619,7 +145430,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "takeFee=false;" } ] } @@ -143665,7 +145477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6494, - "is_pure": false + "is_pure": false, + "text": "takeFee" }, { "id": 6516, @@ -143699,7 +145512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5517, - "is_pure": false + "is_pure": false, + "text": "totalFees" }, "right_expression": { "id": 6518, @@ -143721,7 +145535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -143853,7 +145668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } ], "expression": { @@ -143916,7 +145732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalFees" } ], "expression": { @@ -143960,14 +145777,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 6527, - "is_pure": false + "is_pure": false, + "text": "amount" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount.mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -143979,7 +145798,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "amount.mul(totalFees).div" }, "type_description": { "type_identifier": "t_function_$_t_rational_100_by_1$", @@ -144028,7 +145848,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6532, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 6533, @@ -144067,7 +145888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6520, - "is_pure": false + "is_pure": false, + "text": "fees" } ], "expression": { @@ -144111,14 +145933,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 6535, - "is_pure": false + "is_pure": false, + "text": "amount" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -144133,7 +145957,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount=amount.sub(fees);" }, { "id": 6537, @@ -144180,7 +146005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6540, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 6541, @@ -144219,7 +146045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -144265,7 +146092,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -144300,7 +146128,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "fees" } ], "expression": { @@ -144344,14 +146173,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -144406,7 +146237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6549, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 6550, @@ -144432,7 +146264,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 6551, @@ -144462,7 +146295,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -144506,14 +146340,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -144615,7 +146451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6557, - "is_pure": false + "is_pure": false, + "text": "from" } ], "argument_types": [ @@ -144667,7 +146504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6560, - "is_pure": false + "is_pure": false, + "text": "from" } ], "expression": { @@ -144688,7 +146526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -144737,14 +146576,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "setBalance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.setBalance" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_address$_t_function_$_t_address$", @@ -144890,7 +146731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6570, - "is_pure": false + "is_pure": false, + "text": "to" } ], "argument_types": [ @@ -144942,7 +146784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6573, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -144963,7 +146806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -145012,14 +146856,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "setBalance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.setBalance" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_address$_t_function_$_t_address$", @@ -145117,7 +146963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5495, - "is_pure": false + "is_pure": false, + "text": "swapping" }, "type_description": { "type_identifier": "t_bool", @@ -145216,7 +147063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5523, - "is_pure": false + "is_pure": false, + "text": "gasForProcessing" } }, { @@ -145274,7 +147122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5315, - "is_pure": false + "is_pure": false, + "text": "iterations" }, { "id": 6594, @@ -145294,7 +147143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5319, - "is_pure": false + "is_pure": false, + "text": "claims" }, { "id": 6595, @@ -145314,7 +147164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, { "id": 6596, @@ -145336,7 +147187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 6597, @@ -145356,7 +147208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5276, - "is_pure": false + "is_pure": false, + "text": "gas" }, { "id": 6598, @@ -145399,14 +147252,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "tx" }, "member_name": "origin", "argument_types": [], "type_description": { "type_identifier": "t_magic_transaction", "type_string": "tx" - } + }, + "text": "tx.origin" } ], "expression": { @@ -145427,7 +147282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5576, - "is_pure": false + "is_pure": false, + "text": "ProcessedDividendTracker" } } ] @@ -145616,7 +147472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6582, - "is_pure": false + "is_pure": false, + "text": "gas" } ], "expression": { @@ -145660,14 +147517,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "process", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.process" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -145909,13 +147768,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 5459, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internaloverride{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");if(amount==0){super._transfer(from,to,0);return;}uint256contractTokenBalance=balanceOf(address(this));boolcanSwap=contractTokenBalance\u003e=swapTokensAtAmount;if(canSwap\u0026\u0026!swapping\u0026\u0026!automatedMarketMakerPairs[from]\u0026\u0026from!=owner()\u0026\u0026to!=owner()\u0026\u0026totalFees\u003e0){swapping=true;if(marketingFee\u003e0){uint256marketingTokens=contractTokenBalance.mul(marketingFee).div(totalFees);swapAndSendToFee(marketingTokens);}if(liquidityFee\u003e0){uint256swapTokens=contractTokenBalance.mul(liquidityFee).div(totalFees);swapAndLiquify(swapTokens);}uint256sellTokens=balanceOf(address(this));if(sellTokens\u003e0){swapAndSendDividends(sellTokens);}swapping=false;}booltakeFee=!swapping;if(_isExcludedFromFees[from]||_isExcludedFromFees[to]){takeFee=false;}if(takeFee\u0026\u0026totalFees\u003e0){uint256fees=amount.mul(totalFees).div(100);amount=amount.sub(fees);super._transfer(from,address(this),fees);}super._transfer(from,to,amount);trydividendTracker.setBalance(payable(from),balanceOf(from)){}catch{}trydividendTracker.setBalance(payable(to),balanceOf(to)){}catch{}if(!swapping){uint256gas=gasForProcessing;trydividendTracker.process(gas)returns(uint256iterations,uint256claims,uint256lastProcessedIndex){emitProcessedDividendTracker(iterations,claims,lastProcessedIndex,true,gas,tx.origin);}catch{}}}" }, { "id": 6611, @@ -146068,7 +147928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -146114,7 +147975,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -146182,7 +148044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "rewardToken" } ], "expression": { @@ -146203,7 +148066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -146215,7 +148079,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(rewardToken).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -146260,7 +148125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6631, - "is_pure": false + "is_pure": false, + "text": "tokens" } ], "expression": { @@ -146281,7 +148147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "swapTokensForCake" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -146385,7 +148252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6617, - "is_pure": false + "is_pure": false, + "text": "initialCAKEBalance" } ], "expression": { @@ -146481,7 +148349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -146527,7 +148396,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -146595,7 +148465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "rewardToken" } ], "expression": { @@ -146616,7 +148487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -146628,7 +148500,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(rewardToken).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -146646,7 +148519,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_function_$_t_function_$_t_address$$", "type_string": "tuple(function(function(address)))" - } + }, + "text": "(IERC20(rewardToken).balanceOf(address(this))).sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -146695,7 +148569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_marketingWalletAddress" }, { "id": 6654, @@ -146721,7 +148596,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -146784,7 +148660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "rewardToken" } ], "expression": { @@ -146805,7 +148682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -146817,7 +148695,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(rewardToken).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -146911,7 +148790,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapAndSendToFee(uint256tokens)private{uint256initialCAKEBalance=IERC20(rewardToken).balanceOf(address(this));swapTokensForCake(tokens);uint256newBalance=(IERC20(rewardToken).balanceOf(address(this))).sub(initialCAKEBalance);IERC20(rewardToken).safeTransfer(_marketingWalletAddress,newBalance);}" }, { "id": 6656, @@ -147047,7 +148927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "expression": { @@ -147091,14 +148972,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 6667, - "is_pure": false + "is_pure": false, + "text": "tokens" }, "member_name": "div", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokens.div" }, "type_description": { "type_identifier": "t_function_$_t_rational_2_by_1$", @@ -147203,7 +149086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6662, - "is_pure": false + "is_pure": false, + "text": "half" } ], "expression": { @@ -147247,14 +149131,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 6674, - "is_pure": false + "is_pure": false, + "text": "tokens" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokens.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -147382,7 +149268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -147428,7 +149315,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -147440,7 +149328,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } }, { @@ -147480,7 +149369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6662, - "is_pure": false + "is_pure": false, + "text": "half" } ], "expression": { @@ -147501,7 +149391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "swapTokensForEth" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -147605,7 +149496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6676, - "is_pure": false + "is_pure": false, + "text": "initialBalance" } ], "expression": { @@ -147691,7 +149583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -147737,7 +149630,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -147749,14 +149643,16 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -147805,7 +149701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6669, - "is_pure": false + "is_pure": false, + "text": "otherHalf" }, { "id": 6701, @@ -147831,7 +149728,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -147852,7 +149750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "addLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -147889,7 +149788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6662, - "is_pure": false + "is_pure": false, + "text": "half" }, { "id": 6704, @@ -147909,7 +149809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6687, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, { "id": 6705, @@ -147929,7 +149830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6669, - "is_pure": false + "is_pure": false, + "text": "otherHalf" } ], "expression": { @@ -147950,7 +149852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5560, - "is_pure": false + "is_pure": false, + "text": "SwapAndLiquify" } } ] @@ -148040,7 +149943,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapAndLiquify(uint256tokens)private{uint256half=tokens.div(2);uint256otherHalf=tokens.sub(half);uint256initialBalance=address(this).balance;swapTokensForEth(half);uint256newBalance=address(this).balance.sub(initialBalance);addLiquidity(otherHalf,newBalance);emitSwapAndLiquify(half,newBalance,otherHalf);}" }, { "id": 6708, @@ -148176,7 +150080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "expression": { @@ -148272,7 +150177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6714, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 6725, @@ -148294,7 +150200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -148348,7 +150255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -148394,7 +150302,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -148409,7 +150318,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 6730, @@ -148463,7 +150373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6714, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 6734, @@ -148485,7 +150396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -148557,14 +150469,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5488, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "WETH", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", "type_string": "contract IUniswapV2Router02" - } + }, + "text": "uniswapV2Router.WETH" }, "type_description": { "type_identifier": "t_function_$", @@ -148579,7 +150493,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=uniswapV2Router.WETH();" }, { "id": 6738, @@ -148645,7 +150560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -148691,7 +150607,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -148735,7 +150652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" } ], "expression": { @@ -148781,7 +150699,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -148816,7 +150735,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "tokenAmount" } ], "expression": { @@ -148837,7 +150757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_uint256$", @@ -148897,7 +150818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6752, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, { "id": 6753, @@ -148925,7 +150847,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 6754, @@ -148955,7 +150878,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 6755, @@ -148994,7 +150918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -149040,7 +150965,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -149088,7 +151014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -149112,7 +151039,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -149156,14 +151084,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5488, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "swapExactTokensForETHSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", "type_string": "contract IUniswapV2Router02" - } + }, + "text": "uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_function_$_t_address$_t_uint256$", @@ -149257,7 +151187,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapTokensForEth(uint256tokenAmount)private{address[]memorypath=newaddress[](2);path[0]=address(this);path[1]=uniswapV2Router.WETH();_approve(address(this),address(uniswapV2Router),tokenAmount);uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp);}" }, { "id": 6762, @@ -149393,7 +151324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" } ], "expression": { @@ -149489,7 +151421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6768, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 6779, @@ -149511,7 +151444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -149565,7 +151499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -149611,7 +151546,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -149626,7 +151562,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 6784, @@ -149680,7 +151617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6768, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 6788, @@ -149702,7 +151640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -149774,14 +151713,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5488, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "WETH", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", "type_string": "contract IUniswapV2Router02" - } + }, + "text": "uniswapV2Router.WETH" }, "type_description": { "type_identifier": "t_function_$", @@ -149796,7 +151737,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=uniswapV2Router.WETH();" }, { "id": 6792, @@ -149850,7 +151792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6768, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 6796, @@ -149872,7 +151815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_descriptions": [ { @@ -149907,7 +151851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4431, - "is_pure": false + "is_pure": false, + "text": "rewardToken" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_2_by_1]$", @@ -149917,7 +151862,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_2_by_1]$", "type_string": "index[address:int_const 2]" - } + }, + "text": "path[2]=rewardToken;" }, { "id": 6798, @@ -149983,7 +151929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -150029,7 +151976,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -150073,7 +152021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" } ], "expression": { @@ -150119,7 +152068,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -150154,7 +152104,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "tokenAmount" } ], "expression": { @@ -150175,7 +152126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_uint256$", @@ -150235,7 +152187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6812, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, { "id": 6813, @@ -150263,7 +152216,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 6814, @@ -150293,7 +152247,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 6815, @@ -150332,7 +152287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -150378,7 +152334,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -150426,7 +152383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -150450,7 +152408,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -150494,14 +152453,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5488, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", "type_string": "contract IUniswapV2Router02" - } + }, + "text": "uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_function_$_t_address$_t_uint256$", @@ -150595,7 +152556,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapTokensForCake(uint256tokenAmount)private{address[]memorypath=newaddress[](3);path[0]=address(this);path[1]=uniswapV2Router.WETH();path[2]=rewardToken;_approve(address(this),address(uniswapV2Router),tokenAmount);uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp);}" }, { "id": 6822, @@ -150696,7 +152658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -150742,7 +152705,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -150786,7 +152750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" } ], "expression": { @@ -150832,7 +152797,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -150867,7 +152833,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "tokenAmount" } ], "expression": { @@ -150888,7 +152855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_uint256$", @@ -150971,7 +152939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -151017,7 +152986,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -151048,7 +153018,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "tokenAmount" }, { "id": 6850, @@ -151080,7 +153051,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 6851, @@ -151116,7 +153088,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "0" }, { "id": 6852, @@ -151157,7 +153130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xdead" } ], "expression": { @@ -151203,7 +153177,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -151251,7 +153226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -151279,7 +153255,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -151335,14 +153312,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5488, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "addLiquidityETH", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", "type_string": "contract IUniswapV2Router02" - } + }, + "text": "uniswapV2Router.addLiquidityETH" }, "type_description": { "type_identifier": "t_contract$_IUniswapV2Router02_$2602", @@ -151478,13 +153457,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "addLiquidity(uint256, uint256)", - "signature": "946ae00e", + "signature_raw": "addLiquidity(uint256,uint256)", + "signature": "9cd441da", "scope": 5459, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionaddLiquidity(uint256tokenAmount,uint256ethAmount)private{_approve(address(this),address(uniswapV2Router),tokenAmount);uniswapV2Router.addLiquidityETH{value:ethAmount}(address(this),tokenAmount,0,0,address(0xdead),block.timestamp);}" }, { "id": 6859, @@ -151558,7 +153538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6867, - "is_pure": false + "is_pure": false, + "text": "tokens" } ], "expression": { @@ -151579,7 +153560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "swapTokensForCake" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -151702,7 +153684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -151748,7 +153731,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -151816,7 +153800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "rewardToken" } ], "expression": { @@ -151837,7 +153822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -151849,7 +153835,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(rewardToken).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -151981,7 +153968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "rewardToken" } ], "expression": { @@ -152002,7 +153990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -152046,7 +154035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" } ], "expression": { @@ -152092,7 +154082,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -152127,7 +154118,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "dividends" } ], "expression": { @@ -152171,14 +154163,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2122, - "is_pure": false + "is_pure": false, + "text": "SafeERC20NoRevert" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_SafeERC20NoRevert_$2122", "type_string": "contract SafeERC20NoRevert" - } + }, + "text": "SafeERC20NoRevert.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_uint256$", @@ -152215,7 +154209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6880, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 6896, @@ -152268,7 +154263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "dividends" } ], "expression": { @@ -152312,14 +154308,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5498, - "is_pure": false + "is_pure": false, + "text": "dividendTracker" }, "member_name": "distributeCAKEDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_BABYTOKENDividendTracker_$4819", "type_string": "contract BABYTOKENDividendTracker" - } + }, + "text": "dividendTracker.distributeCAKEDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -152356,7 +154354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6902, - "is_pure": false + "is_pure": false, + "text": "tokens" }, { "id": 6903, @@ -152376,7 +154375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 6868, - "is_pure": false + "is_pure": false, + "text": "dividends" } ], "expression": { @@ -152397,7 +154397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5569, - "is_pure": false + "is_pure": false, + "text": "SendDividends" } } ] @@ -152490,7 +154491,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapAndSendDividends(uint256tokens)private{swapTokensForCake(tokens);uint256dividends=IERC20(rewardToken).balanceOf(address(this));boolsuccess=SafeERC20NoRevert.safeTransfer(IERC20(rewardToken),address(dividendTracker),dividends);if(success){dividendTracker.distributeCAKEDividends(dividends);emitSendDividends(tokens,dividends);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/BABYTOKEN.solgo.ast.proto.json b/data/tests/contracts/babytoken/BABYTOKEN.solgo.ast.proto.json index 36f1172f..8eb2c63c 100644 --- a/data/tests/contracts/babytoken/BABYTOKEN.solgo.ast.proto.json +++ b/data/tests/contracts/babytoken/BABYTOKEN.solgo.ast.proto.json @@ -352,6 +352,7 @@ "parentIndex": "6922", "start": "5922" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "5940", @@ -440,6 +441,7 @@ "parentIndex": "6926", "start": "5974" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "6012", @@ -2389,6 +2391,7 @@ "parentIndex": "7025", "start": "56174" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "56192", @@ -2477,6 +2480,7 @@ "parentIndex": "7029", "start": "56226" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "56264", @@ -4852,6 +4856,7 @@ "parentIndex": "7153", "start": "74386" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "74404", @@ -4937,6 +4942,7 @@ "parentIndex": "7157", "start": "74430" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "74448", @@ -5022,6 +5028,7 @@ "parentIndex": "7161", "start": "74475" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "74490", @@ -5668,6 +5675,7 @@ "parentIndex": "7193", "start": "81416" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "81433", @@ -5756,6 +5764,7 @@ "parentIndex": "7197", "start": "81486" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "81504", @@ -6232,6 +6241,7 @@ "parentIndex": "7220", "start": "88197" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "88212", @@ -6320,6 +6330,7 @@ "parentIndex": "7224", "start": "88257" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "88275", @@ -8314,6 +8325,7 @@ "parentIndex": "7321", "start": "97177" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "97192", @@ -8402,6 +8414,7 @@ "parentIndex": "7325", "start": "97383" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "97398", @@ -10838,7 +10851,7 @@ } }, "scope": "348", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "862", @@ -11026,7 +11039,7 @@ } }, "scope": "348", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "1220", @@ -11213,7 +11226,7 @@ } }, "scope": "348", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "1947", @@ -11439,7 +11452,7 @@ } }, "scope": "348", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "2381", @@ -12989,6 +13002,7 @@ "parentIndex": "498", "start": "5922" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "5940", @@ -13079,6 +13093,7 @@ "parentIndex": "503", "start": "5974" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "6012", @@ -15097,7 +15112,7 @@ } }, "scope": "489", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "8362", @@ -15449,7 +15464,7 @@ } }, "scope": "489", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "8569", @@ -15856,7 +15871,7 @@ } }, "scope": "489", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "8873", @@ -16828,7 +16843,7 @@ } }, "scope": "489", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "9818", @@ -17367,7 +17382,7 @@ } }, "scope": "489", - "signature": "0553e395", + "signature": "39509351", "src": { "column": "4", "end": "10425", @@ -18153,7 +18168,7 @@ } }, "scope": "489", - "signature": "26444acc", + "signature": "a457c2d7", "src": { "column": "4", "end": "11317", @@ -19752,7 +19767,7 @@ } }, "scope": "489", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "12504", @@ -20928,7 +20943,7 @@ } }, "scope": "489", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "13169", @@ -22430,7 +22445,7 @@ } }, "scope": "489", - "signature": "dd1607d7", + "signature": "6161eb18", "src": { "column": "4", "end": "14065", @@ -23340,7 +23355,7 @@ } }, "scope": "489", - "signature": "76c3ae3e", + "signature": "104e81ff", "src": { "column": "4", "end": "14858", @@ -23530,7 +23545,7 @@ } }, "scope": "489", - "signature": "03cc7b47", + "signature": "cad3be83", "src": { "column": "4", "end": "15563", @@ -23720,7 +23735,7 @@ } }, "scope": "489", - "signature": "41e6856b", + "signature": "8f811a1c", "src": { "column": "4", "end": "16271", @@ -24902,7 +24917,7 @@ } }, "scope": "1018", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "18634", @@ -25250,7 +25265,7 @@ } }, "scope": "1018", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "19549", @@ -25675,7 +25690,7 @@ } }, "scope": "1018", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "19994", @@ -26100,7 +26115,7 @@ } }, "scope": "1018", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "20610", @@ -27147,7 +27162,7 @@ } }, "scope": "1018", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "21357", @@ -27495,7 +27510,7 @@ } }, "scope": "1018", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "21731", @@ -28241,7 +28256,7 @@ } }, "scope": "1018", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "22301", @@ -28589,7 +28604,7 @@ } }, "scope": "1018", - "signature": "ce0c9802", + "signature": "ee33b7e2", "src": { "column": "4", "end": "22678", @@ -29335,7 +29350,7 @@ } }, "scope": "1018", - "signature": "a6f0db75", + "signature": "57387df0", "src": { "column": "4", "end": "23251", @@ -29654,7 +29669,7 @@ } }, "scope": "1018", - "signature": "15a412bd", + "signature": "946b5793", "src": { "column": "4", "end": "24163", @@ -30257,7 +30272,7 @@ } }, "scope": "1300", - "signature": "8d2f8c29", + "signature": "d6e935fe", "src": { "column": "4", "end": "25109", @@ -30839,7 +30854,7 @@ } }, "scope": "1300", - "signature": "d9098537", + "signature": "d0e2343c", "src": { "column": "4", "end": "25356", @@ -31794,7 +31809,7 @@ } }, "scope": "1300", - "signature": "11e8fd6d", + "signature": "75a98b8a", "src": { "column": "4", "end": "26219", @@ -32605,7 +32620,7 @@ } }, "scope": "1300", - "signature": "d5ee8724", + "signature": "8d3df938", "src": { "column": "4", "end": "26535", @@ -33663,7 +33678,7 @@ } }, "scope": "1300", - "signature": "dd6a69b1", + "signature": "d9cb6425", "src": { "column": "4", "end": "27027", @@ -34466,7 +34481,7 @@ } }, "scope": "1300", - "signature": "50effced", + "signature": "8a35aadd", "src": { "column": "4", "end": "28116", @@ -36941,7 +36956,7 @@ } }, "scope": "1617", - "signature": "d730d6d4", + "signature": "884557bf", "src": { "column": "4", "end": "31208", @@ -37392,7 +37407,7 @@ } }, "scope": "1617", - "signature": "9f7e8c62", + "signature": "a29962b1", "src": { "column": "4", "end": "31543", @@ -38054,7 +38069,7 @@ } }, "scope": "1617", - "signature": "72cd6357", + "signature": "6281efa4", "src": { "column": "4", "end": "32184", @@ -38507,7 +38522,7 @@ } }, "scope": "1617", - "signature": "8b61a525", + "signature": "736ecb18", "src": { "column": "4", "end": "32523", @@ -38960,7 +38975,7 @@ } }, "scope": "1617", - "signature": "4ed783cc", + "signature": "38dc0867", "src": { "column": "4", "end": "32872", @@ -39232,7 +39247,7 @@ } }, "scope": "1617", - "signature": "f31e4d28", + "signature": "771602f7", "src": { "column": "4", "end": "33203", @@ -39504,7 +39519,7 @@ } }, "scope": "1617", - "signature": "bf3b2b28", + "signature": "b67d77c5", "src": { "column": "4", "end": "33570", @@ -39776,7 +39791,7 @@ } }, "scope": "1617", - "signature": "cd3ef6fa", + "signature": "c8a4ac9c", "src": { "column": "4", "end": "33913", @@ -40048,7 +40063,7 @@ } }, "scope": "1617", - "signature": "4530da25", + "signature": "a391c15b", "src": { "column": "4", "end": "34298", @@ -40320,7 +40335,7 @@ } }, "scope": "1617", - "signature": "1130353e", + "signature": "f43f523a", "src": { "column": "4", "end": "34847", @@ -40788,7 +40803,7 @@ } }, "scope": "1617", - "signature": "2a4c5531", + "signature": "e31bdc0a", "src": { "column": "4", "end": "35542", @@ -41258,7 +41273,7 @@ } }, "scope": "1617", - "signature": "2ed1535b", + "signature": "b745d336", "src": { "column": "4", "end": "36256", @@ -41728,7 +41743,7 @@ } }, "scope": "1617", - "signature": "b44cfd1a", + "signature": "71af23e8", "src": { "column": "4", "end": "37132", @@ -48713,7 +48728,7 @@ } }, "scope": "1906", - "signature": "0520199d", + "signature": "b86b2ceb", "src": { "column": "4", "end": "39516", @@ -57654,7 +57669,7 @@ } }, "scope": "1906", - "signature": "34cd8963", + "signature": "93a7e711", "src": { "column": "4", "end": "40330", @@ -58063,7 +58078,7 @@ } }, "scope": "1906", - "signature": "79ca6a22", + "signature": "360d0fad", "src": { "column": "4", "end": "40673", @@ -59427,7 +59442,7 @@ } }, "scope": "2123", - "signature": "8d2f8c29", + "signature": "d6e935fe", "src": { "column": "4", "end": "41508", @@ -60158,7 +60173,7 @@ } }, "scope": "2185", - "signature": "99d437db", + "signature": "e6a43905", "src": { "column": "4", "end": "41999", @@ -60644,7 +60659,7 @@ } }, "scope": "2185", - "signature": "a36b5e48", + "signature": "c9c65396", "src": { "column": "4", "end": "42239", @@ -61707,7 +61722,7 @@ } }, "scope": "2270", - "signature": "451f1d52", + "signature": "e8e33700", "src": { "column": "4", "end": "42949", @@ -62124,7 +62139,7 @@ } }, "scope": "2270", - "signature": "55a58f33", + "signature": "f305d719", "src": { "column": "4", "end": "43308", @@ -62542,7 +62557,7 @@ } }, "scope": "2270", - "signature": "b4f39feb", + "signature": "baa2abde", "src": { "column": "4", "end": "43574", @@ -62921,7 +62936,7 @@ } }, "scope": "2270", - "signature": "15379e4b", + "signature": "02751cec", "src": { "column": "4", "end": "43830", @@ -63491,7 +63506,7 @@ } }, "scope": "2270", - "signature": "9cd46573", + "signature": "2195995c", "src": { "column": "4", "end": "44186", @@ -64022,7 +64037,7 @@ } }, "scope": "2270", - "signature": "53209c95", + "signature": "ded9382a", "src": { "column": "4", "end": "44532", @@ -64324,7 +64339,7 @@ } }, "scope": "2270", - "signature": "594b793e", + "signature": "0a9e24b1", "src": { "column": "4", "end": "44757", @@ -64626,7 +64641,7 @@ } }, "scope": "2270", - "signature": "d8c40951", + "signature": "04d5911f", "src": { "column": "4", "end": "44982", @@ -64890,7 +64905,7 @@ } }, "scope": "2270", - "signature": "ce24d10d", + "signature": "45177656", "src": { "column": "4", "end": "45186", @@ -65192,7 +65207,7 @@ } }, "scope": "2270", - "signature": "d16105f7", + "signature": "5e7eccba", "src": { "column": "4", "end": "45408", @@ -65494,7 +65509,7 @@ } }, "scope": "2270", - "signature": "4745ea6f", + "signature": "e37c6f8c", "src": { "column": "4", "end": "45630", @@ -65758,7 +65773,7 @@ } }, "scope": "2270", - "signature": "4221a034", + "signature": "8ddc2492", "src": { "column": "4", "end": "45831", @@ -65983,7 +65998,7 @@ } }, "scope": "2270", - "signature": "1f7722dd", + "signature": "ad615dec", "src": { "column": "4", "end": "45975", @@ -66208,7 +66223,7 @@ } }, "scope": "2270", - "signature": "6cae4d22", + "signature": "054d50d4", "src": { "column": "4", "end": "46132", @@ -66433,7 +66448,7 @@ } }, "scope": "2270", - "signature": "d7a891de", + "signature": "85f8c259", "src": { "column": "4", "end": "46288", @@ -66620,7 +66635,7 @@ } }, "scope": "2270", - "signature": "8631a06b", + "signature": "7d74e315", "src": { "column": "4", "end": "46433", @@ -66807,7 +66822,7 @@ } }, "scope": "2270", - "signature": "3f802e2f", + "signature": "539eb8d0", "src": { "column": "4", "end": "46578", @@ -67237,7 +67252,7 @@ } }, "scope": "2603", - "signature": "f167b680", + "signature": "af2979eb", "src": { "column": "4", "end": "46897", @@ -67730,7 +67745,7 @@ } }, "scope": "2603", - "signature": "b4d4d5c5", + "signature": "5b0d5984", "src": { "column": "4", "end": "47251", @@ -67992,7 +68007,7 @@ } }, "scope": "2603", - "signature": "df3acbab", + "signature": "69b7f82c", "src": { "column": "4", "end": "47470", @@ -68216,7 +68231,7 @@ } }, "scope": "2603", - "signature": "cf2f780e", + "signature": "0e5d3ae2", "src": { "column": "4", "end": "47668", @@ -68478,7 +68493,7 @@ } }, "scope": "2603", - "signature": "66128db0", + "signature": "fcf29d0e", "src": { "column": "4", "end": "47884", @@ -69014,7 +69029,7 @@ } }, "scope": "2696", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "48688", @@ -69202,7 +69217,7 @@ } }, "scope": "2696", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "49046", @@ -69389,7 +69404,7 @@ } }, "scope": "2696", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "49773", @@ -69615,7 +69630,7 @@ } }, "scope": "2696", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "50207", @@ -72367,6 +72382,7 @@ "parentIndex": "2914", "start": "56174" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "56192", @@ -72457,6 +72473,7 @@ "parentIndex": "2919", "start": "56226" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "56264", @@ -72976,7 +72993,7 @@ } }, "scope": "2903", - "signature": "0a485aa7", + "signature": "678bd718", "src": { "column": "4", "end": "56862", @@ -73317,7 +73334,7 @@ } }, "scope": "2903", - "signature": "5cec9c4a", + "signature": "46753fdb", "src": { "column": "4", "end": "57022", @@ -74832,7 +74849,7 @@ } }, "scope": "2903", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "58839", @@ -75184,7 +75201,7 @@ } }, "scope": "2903", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "59046", @@ -75591,7 +75608,7 @@ } }, "scope": "2903", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "59350", @@ -76563,7 +76580,7 @@ } }, "scope": "2903", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "60295", @@ -77102,7 +77119,7 @@ } }, "scope": "2903", - "signature": "0553e395", + "signature": "39509351", "src": { "column": "4", "end": "60902", @@ -77888,7 +77905,7 @@ } }, "scope": "2903", - "signature": "26444acc", + "signature": "a457c2d7", "src": { "column": "4", "end": "61794", @@ -79487,7 +79504,7 @@ } }, "scope": "2903", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "62981", @@ -80663,7 +80680,7 @@ } }, "scope": "2903", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "63646", @@ -82165,7 +82182,7 @@ } }, "scope": "2903", - "signature": "dd1607d7", + "signature": "6161eb18", "src": { "column": "4", "end": "64542", @@ -83075,7 +83092,7 @@ } }, "scope": "2903", - "signature": "76c3ae3e", + "signature": "104e81ff", "src": { "column": "4", "end": "65335", @@ -83265,7 +83282,7 @@ } }, "scope": "2903", - "signature": "03cc7b47", + "signature": "cad3be83", "src": { "column": "4", "end": "66040", @@ -83455,7 +83472,7 @@ } }, "scope": "2903", - "signature": "41e6856b", + "signature": "8f811a1c", "src": { "column": "4", "end": "66748", @@ -87003,7 +87020,7 @@ } }, "scope": "3578", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "70082", @@ -87190,7 +87207,7 @@ } }, "scope": "3578", - "signature": "715ea5f2", + "signature": "086c40f6", "src": { "column": "4", "end": "70158", @@ -87377,7 +87394,7 @@ } }, "scope": "3578", - "signature": "9e17553b", + "signature": "6cb927d8", "src": { "column": "4", "end": "70229", @@ -87603,7 +87620,7 @@ } }, "scope": "3578", - "signature": "b1e08233", + "signature": "a978501e", "src": { "column": "4", "end": "70318", @@ -88385,7 +88402,7 @@ } }, "scope": "3578", - "signature": "0f94a422", + "signature": "97a6e84a", "src": { "column": "4", "end": "70634", @@ -89996,7 +90013,7 @@ } }, "scope": "3578", - "signature": "06f200c5", + "signature": "9ca6edd7", "src": { "column": "4", "end": "71367", @@ -90999,7 +91016,7 @@ } }, "scope": "3578", - "signature": "7d9441ed", + "signature": "090f344e", "src": { "column": "4", "end": "71788", @@ -91325,7 +91342,7 @@ } }, "scope": "3578", - "signature": "58e0d614", + "signature": "485cc955", "src": { "column": "4", "end": "71911", @@ -92762,7 +92779,7 @@ } }, "scope": "3911", - "signature": "ee990550", + "signature": "bbe93d91", "src": { "column": "4", "end": "72616", @@ -93250,7 +93267,7 @@ } }, "scope": "3911", - "signature": "eb8569a6", + "signature": "43509138", "src": { "column": "4", "end": "72959", @@ -94026,7 +94043,7 @@ } }, "scope": "3911", - "signature": "af040589", + "signature": "adefc37b", "src": { "column": "4", "end": "73219", @@ -94802,7 +94819,7 @@ } }, "scope": "3911", - "signature": "86763e14", + "signature": "a5f3c23b", "src": { "column": "4", "end": "73474", @@ -96295,6 +96312,7 @@ "parentIndex": "4162", "start": "74386" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "74404", @@ -96380,6 +96398,7 @@ "parentIndex": "4166", "start": "74430" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "74448", @@ -96465,6 +96484,7 @@ "parentIndex": "4170", "start": "74475" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "74490", @@ -96847,7 +96867,7 @@ } }, "scope": "4156", - "signature": "eb988e62", + "signature": "e915218c", "src": { "column": "4", "end": "74624", @@ -97463,7 +97483,7 @@ } }, "scope": "4156", - "signature": "0fd42ee0", + "signature": "d317deab", "src": { "column": "4", "end": "74855", @@ -97795,7 +97815,7 @@ } }, "scope": "4156", - "signature": "1e595ec3", + "signature": "ef8c18cc", "src": { "column": "4", "end": "75013", @@ -98565,7 +98585,7 @@ } }, "scope": "4156", - "signature": "e219e74b", + "signature": "44bf9442", "src": { "column": "4", "end": "75473", @@ -100200,7 +100220,7 @@ } }, "scope": "4156", - "signature": "469d3b40", + "signature": "7d109e7a", "src": { "column": "4", "end": "75941", @@ -101774,6 +101794,7 @@ "parentIndex": "4445", "start": "81416" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "81433", @@ -101864,6 +101885,7 @@ "parentIndex": "4450", "start": "81486" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "81504", @@ -102369,7 +102391,7 @@ } }, "scope": "4409", - "signature": "e3d2c051", + "signature": "ee9358e8", "src": { "column": "4", "end": "81846", @@ -107495,7 +107517,7 @@ } }, "scope": "4409", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "86342", @@ -108198,7 +108220,7 @@ } }, "scope": "4409", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "86890", @@ -108900,7 +108922,7 @@ } }, "scope": "4409", - "signature": "dd1607d7", + "signature": "6161eb18", "src": { "column": "4", "end": "87447", @@ -109541,7 +109563,7 @@ } }, "scope": "4409", - "signature": "d8710a82", + "signature": "ab86e0a6", "src": { "column": "4", "end": "87894", @@ -109991,6 +110013,7 @@ "parentIndex": "4847", "start": "88197" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "88212", @@ -110081,6 +110104,7 @@ "parentIndex": "4852", "start": "88257" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "88275", @@ -111038,7 +111062,7 @@ } }, "scope": "4820", - "signature": "ed712a55", + "signature": "cd6dc687", "src": { "column": "4", "end": "89030", @@ -111349,7 +111373,7 @@ } }, "scope": "4820", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "89208", @@ -118410,7 +118434,7 @@ } }, "scope": "4820", - "signature": "67100469", + "signature": "3fa4948d", "src": { "column": "4", "end": "93526", @@ -121926,7 +121950,7 @@ } }, "scope": "4820", - "signature": "a97667a5", + "signature": "d45936cb", "src": { "column": "4", "end": "95254", @@ -123256,6 +123280,7 @@ "parentIndex": "5527", "start": "97177" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "97192", @@ -123346,6 +123371,7 @@ "parentIndex": "5532", "start": "97383" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "97398", @@ -134236,7 +134262,7 @@ } }, "scope": "5459", - "signature": "2cfcb9b1", + "signature": "a7f7b36f", "src": { "column": "4", "end": "103278", @@ -145415,7 +145441,7 @@ } }, "scope": "5459", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "109406", @@ -151130,7 +151156,7 @@ } }, "scope": "5459", - "signature": "946ae00e", + "signature": "9cd441da", "src": { "column": "4", "end": "112342", diff --git a/data/tests/contracts/babytoken/BABYTOKENDividendTracker.solgo.ast.json b/data/tests/contracts/babytoken/BABYTOKENDividendTracker.solgo.ast.json index be256add..1bd92e1d 100644 --- a/data/tests/contracts/babytoken/BABYTOKENDividendTracker.solgo.ast.json +++ b/data/tests/contracts/babytoken/BABYTOKENDividendTracker.solgo.ast.json @@ -394,7 +394,7 @@ "mutability": 1, "type_name": { "id": 4847, - "node_type": 0, + "node_type": 53, "src": { "line": 2637, "column": 4, @@ -487,7 +487,7 @@ "mutability": 1, "type_name": { "id": 4852, - "node_type": 0, + "node_type": 53, "src": { "line": 2639, "column": 4, @@ -1087,7 +1087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4896, - "is_pure": false + "is_pure": false, + "text": "rewardToken_" }, { "id": 4897, @@ -1115,7 +1116,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "\"DIVIDEND_TRACKER\"" }, { "id": 4898, @@ -1147,7 +1149,8 @@ "type_identifier": "t_string_literal", "type_string": "literal_string \"DIVIDEND_TRACKER\"" } - ] + ], + "text": "\"DIVIDEND_TRACKER\"" } ], "expression": { @@ -1191,14 +1194,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4408, - "is_pure": false + "is_pure": false, + "text": "DividendPayingToken" }, "member_name": "__DividendPayingToken_init", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendPayingToken_$4408", "type_string": "contract DividendPayingToken" - } + }, + "text": "DividendPayingToken.__DividendPayingToken_init" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_string_literal$_t_string_literal$", @@ -1246,7 +1251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "right_expression": { "id": 4902, @@ -1268,7 +1274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3600" }, "type_description": { "type_identifier": "t_uint256", @@ -1278,7 +1285,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "claimWait=3600;" }, { "id": 4903, @@ -1321,7 +1329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4859, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "right_expression": { "id": 4906, @@ -1341,7 +1350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4906, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends_" }, "type_description": { "type_identifier": "t_uint256", @@ -1351,7 +1361,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "minimumTokenBalanceForDividends=minimumTokenBalanceForDividends_;" } ] }, @@ -1508,13 +1519,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(address, uint256)", - "signature": "ed712a55", + "signature_raw": "initialize(address,uint256)", + "signature": "cd6dc687", "scope": 4820, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functioninitialize(addressrewardToken_,uint256minimumTokenBalanceForDividends_)externalinitializer{DividendPayingToken.__DividendPayingToken_init(rewardToken_,\"DIVIDEND_TRACKER\",\"DIVIDEND_TRACKER\");claimWait=3600;minimumTokenBalanceForDividends=minimumTokenBalanceForDividends_;}" }, { "id": 4908, @@ -1594,7 +1606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, { "id": 4922, @@ -1622,7 +1635,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Dividend_Tracker: No transfers allowed\"" } ], "expression": { @@ -1643,7 +1657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1838,13 +1853,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 4820, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(address,address,uint256)internalpureoverride{require(false,\"Dividend_Tracker: No transfers allowed\");}" }, { "id": 4924, @@ -1924,7 +1940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, { "id": 4932, @@ -1952,7 +1969,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Dividend_Tracker: withdrawDividend disabled. Use the 'claim' function on the main BABYTOKEN contract.\"" } ], "expression": { @@ -1973,7 +1991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2041,7 +2060,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()publicpureoverride{require(false,\"Dividend_Tracker: withdrawDividend disabled. Use the 'claim' function on the main BABYTOKEN contract.\");}" }, { "id": 4934, @@ -2144,7 +2164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4846, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 4947, @@ -2164,7 +2185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4947, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -2205,7 +2227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -2264,7 +2287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4846, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 4952, @@ -2284,7 +2308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4952, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -2321,7 +2346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -2331,7 +2357,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "excludedFromDividends[account]=true;" }, { "id": 4954, @@ -2374,7 +2401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4956, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 4957, @@ -2402,7 +2430,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -2423,7 +2452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_0_by_1$", @@ -2467,7 +2497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4961, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -2511,14 +2542,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "remove", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.remove" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2555,7 +2588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4963, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -2576,7 +2610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4862, - "is_pure": false + "is_pure": false, + "text": "ExcludeFromDividends" } } ] @@ -2697,7 +2732,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromDividends(addressaccount)externalonlyOwner{require(!excludedFromDividends[account]);excludedFromDividends[account]=true;_setBalance(account,0);tokenHoldersMap.remove(account);emitExcludeFromDividends(account);}" }, { "id": 4966, @@ -2775,7 +2811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4846, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 4977, @@ -2795,7 +2832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4977, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -2946,7 +2984,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExcludedFromDividends(addressaccount)publicviewreturns(bool){returnexcludedFromDividends[account];}" }, { "id": 4979, @@ -3050,7 +3089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4992, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 4993, @@ -3072,7 +3112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3600" }, "type_description": { "type_identifier": "t_bool", @@ -3111,7 +3152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4995, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 4996, @@ -3133,7 +3175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "86400" }, "type_description": { "type_identifier": "t_bool", @@ -3178,7 +3221,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Dividend_Tracker: claimWait must be updated to between 1 and 24 hours\"" } ], "expression": { @@ -3199,7 +3243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3261,7 +3306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5001, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 5002, @@ -3281,7 +3327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "type_description": { "type_identifier": "t_bool", @@ -3314,7 +3361,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Dividend_Tracker: Cannot update claimWait to same value\"" } ], "expression": { @@ -3335,7 +3383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3372,7 +3421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5005, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, { "id": 5006, @@ -3392,7 +3442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -3413,7 +3464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4867, - "is_pure": false + "is_pure": false, + "text": "ClaimWaitUpdated" } }, { @@ -3457,7 +3509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "right_expression": { "id": 5011, @@ -3477,7 +3530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5011, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "type_description": { "type_identifier": "t_uint256", @@ -3487,7 +3541,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "claimWait=newClaimWait;" } ] }, @@ -3606,7 +3661,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateClaimWait(uint256newClaimWait)externalonlyOwner{require(newClaimWait\u003e=3600\u0026\u0026newClaimWait\u003c=86400,\"Dividend_Tracker: claimWait must be updated to between 1 and 24 hours\");require(newClaimWait!=claimWait,\"Dividend_Tracker: Cannot update claimWait to same value\");emitClaimWaitUpdated(newClaimWait,claimWait);claimWait=newClaimWait;}" }, { "id": 5013, @@ -3684,7 +3740,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4859, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "right_expression": { "id": 5024, @@ -3704,7 +3761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5024, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -3714,7 +3772,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "minimumTokenBalanceForDividends=amount;" } ] }, @@ -3833,7 +3892,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateMinimumTokenBalanceForDividends(uint256amount)externalonlyOwner{minimumTokenBalanceForDividends=amount;}" }, { "id": 5026, @@ -3900,7 +3960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } } ] @@ -4035,7 +4096,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetLastProcessedIndex()externalviewreturns(uint256){returnlastProcessedIndex;}" }, { "id": 5037, @@ -4148,21 +4210,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys.length" } } ] @@ -4297,7 +4362,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetNumberOfTokenHolders()externalviewreturns(uint256){returntokenHoldersMap.keys.length;}" }, { "id": 5050, @@ -4375,7 +4441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 5075, @@ -4395,7 +4462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5075, - "is_pure": false + "is_pure": false, + "text": "_account" }, "type_description": { "type_identifier": "t_address", @@ -4405,7 +4473,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account=_account;" }, { "id": 5076, @@ -4448,7 +4517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4226, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 5079, @@ -4487,7 +4557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -4531,14 +4602,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "getIndexOfKey", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.getIndexOfKey" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4553,7 +4626,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "index=tokenHoldersMap.getIndexOfKey(account);" }, { "id": 5083, @@ -4596,7 +4670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5059, - "is_pure": false + "is_pure": false, + "text": "iterationsUntilProcessed" }, "right_expression": { "id": 5086, @@ -4636,7 +4711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -4651,7 +4727,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "iterationsUntilProcessed=-1;" }, { "id": 5088, @@ -4696,7 +4773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4226, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 5091, @@ -4718,7 +4796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4801,7 +4880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -4846,7 +4926,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4871,7 +4952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, "type_description": { "type_identifier": "t_bool", @@ -4933,7 +5015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5059, - "is_pure": false + "is_pure": false, + "text": "iterationsUntilProcessed" }, "right_expression": { "id": 5104, @@ -4991,7 +5074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "expression": { @@ -5036,7 +5120,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5085,14 +5170,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4226, - "is_pure": false + "is_pure": false, + "text": "index" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "index.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -5107,7 +5194,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "iterationsUntilProcessed=index.sub(int256(lastProcessedIndex));" } ] } @@ -5156,7 +5244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5061, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividends" }, "right_expression": { "id": 5114, @@ -5195,7 +5284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -5216,7 +5306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5231,7 +5322,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "withdrawableDividends=withdrawableDividendOf(account);" }, { "id": 5117, @@ -5274,7 +5366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5063, - "is_pure": false + "is_pure": false, + "text": "totalDividends" }, "right_expression": { "id": 5120, @@ -5313,7 +5406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -5334,7 +5428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "accumulativeDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5349,7 +5444,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividends=accumulativeDividendOf(account);" }, { "id": 5123, @@ -5392,7 +5488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5065, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 5126, @@ -5423,7 +5520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4851, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 5128, @@ -5443,7 +5541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -5468,7 +5567,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastClaimTime=lastClaimTimes[account];" }, { "id": 5129, @@ -5511,7 +5611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5067, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "right_expression": { "id": 5133, @@ -5557,7 +5658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5065, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 5136, @@ -5579,7 +5681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5623,7 +5726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -5667,14 +5771,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5065, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastClaimTime.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5701,7 +5807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -5728,7 +5835,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextClaimTime=lastClaimTime\u003e0?lastClaimTime.add(claimWait):0;" }, { "id": 5142, @@ -5771,7 +5879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5069, - "is_pure": false + "is_pure": false, + "text": "secondsUntilAutoClaimAvailable" }, "right_expression": { "id": 5146, @@ -5817,7 +5926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5067, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "right_expression": { "id": 5149, @@ -5860,14 +5970,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -5934,14 +6046,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -5985,14 +6099,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5067, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextClaimTime.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6019,7 +6135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -6046,7 +6163,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "secondsUntilAutoClaimAvailable=nextClaimTime\u003eblock.timestamp?nextClaimTime.sub(block.timestamp):0;" } ] }, @@ -6483,7 +6601,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAccount(address_account)publicviewreturns(addressaccount,int256index,int256iterationsUntilProcessed,uint256withdrawableDividends,uint256totalDividends,uint256lastClaimTime,uint256nextClaimTime,uint256secondsUntilAutoClaimAvailable){account=_account;index=tokenHoldersMap.getIndexOfKey(account);iterationsUntilProcessed=-1;if(index\u003e=0){if(uint256(index)\u003elastProcessedIndex){iterationsUntilProcessed=index.sub(int256(lastProcessedIndex));}else{uint256processesUntilEndOfArray=tokenHoldersMap.keys.length\u003elastProcessedIndex?tokenHoldersMap.keys.length.sub(lastProcessedIndex):0;iterationsUntilProcessed=index.add(int256(processesUntilEndOfArray));}}withdrawableDividends=withdrawableDividendOf(account);totalDividends=accumulativeDividendOf(account);lastClaimTime=lastClaimTimes[account];nextClaimTime=lastClaimTime\u003e0?lastClaimTime.add(claimWait):0;secondsUntilAutoClaimAvailable=nextClaimTime\u003eblock.timestamp?nextClaimTime.sub(block.timestamp):0;}" }, { "id": 5158, @@ -6563,7 +6682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5182, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 5183, @@ -6620,14 +6740,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "size", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.size" }, "type_description": { "type_identifier": "t_function_$", @@ -6718,7 +6840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -6764,7 +6887,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6809,7 +6933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -6854,7 +6979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -6881,7 +7007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5198, @@ -6903,7 +7030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5199, @@ -6925,7 +7053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5200, @@ -6947,7 +7076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5201, @@ -6969,7 +7099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_description": { @@ -7079,7 +7210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5208, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -7123,14 +7255,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "getKeyAtIndex", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.getKeyAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -7187,7 +7321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5202, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -7208,7 +7343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7650,7 +7786,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetAccountAtIndex(uint256index)publicviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){if(index\u003e=tokenHoldersMap.size()){return(address(0),-1,-1,0,0,0,0,0);}addressaccount=tokenHoldersMap.getKeyAtIndex(index);returngetAccount(account);}" }, { "id": 5214, @@ -7730,7 +7867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5224, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 5225, @@ -7773,14 +7911,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -7833,7 +7973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } } ] @@ -7902,7 +8043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5236, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" } ], "expression": { @@ -7969,21 +8111,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -8008,7 +8153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4856, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "type_description": { "type_identifier": "t_bool", @@ -8148,7 +8294,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functioncanAutoClaim(uint256lastClaimTime)privateviewreturns(bool){if(lastClaimTime\u003eblock.timestamp){returnfalse;}returnblock.timestamp.sub(lastClaimTime)\u003e=claimWait;}" }, { "id": 5239, @@ -8225,7 +8372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4846, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 5252, @@ -8245,7 +8393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5252, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -8336,7 +8485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5257, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "right_expression": { "id": 5258, @@ -8356,7 +8506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4859, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_bool", @@ -8418,7 +8569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5262, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 5263, @@ -8444,7 +8596,8 @@ "type_identifier": "t_address_payable", "type_string": "address" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -8465,7 +8618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", @@ -8513,7 +8667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5267, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 5268, @@ -8539,7 +8694,8 @@ "type_identifier": "t_address_payable", "type_string": "address" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -8583,14 +8739,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "set", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.set" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", @@ -8641,7 +8799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5271, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 5272, @@ -8669,7 +8828,8 @@ "type_identifier": "t_address_payable", "type_string": "address" } - ] + ], + "text": "true" } ], "expression": { @@ -8690,7 +8850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processAccount" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_bool$", @@ -8852,13 +9013,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setBalance(addresspayable, uint256)", - "signature": "67100469", + "signature_raw": "setBalance(addresspayable,uint256)", + "signature": "3fa4948d", "scope": 4820, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsetBalance(addresspayableaccount,uint256newBalance)externalonlyOwner{if(excludedFromDividends[account]){return;}if(newBalance\u003e=minimumTokenBalanceForDividends){_setBalance(account,newBalance);tokenHoldersMap.set(account,newBalance);}else{_setBalance(account,0);tokenHoldersMap.remove(account);}processAccount(account,true);}" }, { "id": 5274, @@ -9019,21 +9181,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys.length" } }, { @@ -9079,7 +9244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5286, - "is_pure": false + "is_pure": false, + "text": "numberOfTokenHolders" }, "right_expression": { "id": 5295, @@ -9101,7 +9267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9168,7 +9335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5300, @@ -9190,7 +9358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 5301, @@ -9210,7 +9379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "type_description": { @@ -9300,7 +9470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } }, { @@ -9383,7 +9554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -9478,7 +9650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -9566,7 +9739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -9649,7 +9823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -9707,7 +9882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5306, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 5327, @@ -9727,7 +9903,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5327, - "is_pure": false + "is_pure": false, + "text": "gas" }, "type_description": { "type_identifier": "t_bool", @@ -9766,7 +9943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5315, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "right_expression": { "id": 5330, @@ -9786,7 +9964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5286, - "is_pure": false + "is_pure": false, + "text": "numberOfTokenHolders" }, "type_description": { "type_identifier": "t_bool", @@ -9848,7 +10027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -9903,7 +10083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "right_expression": { "id": 5337, @@ -9969,21 +10150,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys.length" }, "type_description": { "type_identifier": "t_bool", @@ -10044,7 +10228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "right_expression": { "id": 5344, @@ -10066,7 +10251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_uint256", @@ -10076,7 +10262,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_lastProcessedIndex=0;" } ] } @@ -10194,14 +10381,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4839, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IterableMapping_$4155", "type_string": "contract IterableMapping" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 5351, @@ -10221,7 +10410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_descriptions": [ { @@ -10298,7 +10488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4851, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 5357, @@ -10318,7 +10509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5345, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -10354,7 +10546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "canAutoClaim" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -10438,7 +10631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 361, - "is_pure": false + "is_pure": false, + "text": "account" } ], "argument_types": [ @@ -10479,7 +10673,8 @@ "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" } - ] + ], + "text": "true" } ], "expression": { @@ -10500,7 +10695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processAccount" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_address$_t_bool$", @@ -10550,7 +10746,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5319, - "is_pure": false + "is_pure": false, + "text": "claims" }, "type_description": { "type_identifier": "t_uint256", @@ -10598,7 +10795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5315, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "type_description": { "type_identifier": "t_uint256", @@ -10702,7 +10900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -10753,7 +10952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5310, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 5378, @@ -10773,7 +10973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5370, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" }, "type_description": { "type_identifier": "t_bool", @@ -10834,7 +11035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5306, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 5383, @@ -10892,7 +11094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" } ], "expression": { @@ -10936,14 +11139,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5310, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -10992,14 +11197,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 5306, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -11014,7 +11221,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed=gasUsed.add(gasLeft.sub(newGasLeft));" } ] } @@ -11060,7 +11268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5310, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 5393, @@ -11080,7 +11289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5370, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" }, "type_description": { "type_identifier": "t_uint256", @@ -11090,7 +11300,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft=newGasLeft;" } ] } @@ -11136,7 +11347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, "right_expression": { "id": 5397, @@ -11156,7 +11368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5302, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -11166,7 +11379,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastProcessedIndex=_lastProcessedIndex;" }, { "id": 5398, @@ -11212,7 +11426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5315, - "is_pure": false + "is_pure": false, + "text": "iterations" }, { "id": 5401, @@ -11232,7 +11447,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5319, - "is_pure": false + "is_pure": false, + "text": "claims" }, { "id": 5402, @@ -11252,7 +11468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4843, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "type_description": { @@ -11479,7 +11696,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocess(uint256gas)publicreturns(uint256,uint256,uint256){uint256numberOfTokenHolders=tokenHoldersMap.keys.length;if(numberOfTokenHolders==0){return(0,0,lastProcessedIndex);}uint256_lastProcessedIndex=lastProcessedIndex;uint256gasUsed=0;uint256gasLeft=gasleft();uint256iterations=0;uint256claims=0;while(gasUsed\u003cgas\u0026\u0026iterations\u003cnumberOfTokenHolders){_lastProcessedIndex++;if(_lastProcessedIndex\u003e=tokenHoldersMap.keys.length){_lastProcessedIndex=0;}addressaccount=tokenHoldersMap.keys[_lastProcessedIndex];if(canAutoClaim(lastClaimTimes[account])){if(processAccount(payable(account),true)){claims++;}}iterations++;uint256newGasLeft=gasleft();if(gasLeft\u003enewGasLeft){gasUsed=gasUsed.add(gasLeft.sub(newGasLeft));}gasLeft=newGasLeft;}lastProcessedIndex=_lastProcessedIndex;return(iterations,claims,lastProcessedIndex);}" }, { "id": 5404, @@ -11613,7 +11831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5421, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -11634,7 +11853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawDividendOfUser" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$", @@ -11685,7 +11905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5416, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 5425, @@ -11707,7 +11928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -11780,7 +12002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4851, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 5431, @@ -11800,7 +12023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5431, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -11858,14 +12082,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", @@ -11875,7 +12101,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "lastClaimTimes[account]=block.timestamp;" }, { "id": 5434, @@ -11907,7 +12134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5435, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 5436, @@ -11927,7 +12155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 372, - "is_pure": false + "is_pure": false, + "text": "amount" }, { "id": 5437, @@ -11947,7 +12176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 5437, - "is_pure": false + "is_pure": false, + "text": "automatic" } ], "expression": { @@ -11968,7 +12198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4874, - "is_pure": false + "is_pure": false, + "text": "Claim" } }, { @@ -12003,7 +12234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -12041,7 +12273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } } ] @@ -12244,13 +12477,14 @@ } ] }, - "signature_raw": "processAccount(addresspayable, bool)", - "signature": "a97667a5", + "signature_raw": "processAccount(addresspayable,bool)", + "signature": "d45936cb", "scope": 4820, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionprocessAccount(addresspayableaccount,boolautomatic)publiconlyOwnerreturns(bool){uint256amount=_withdrawDividendOfUser(account);if(amount\u003e0){lastClaimTimes[account]=block.timestamp;emitClaim(account,amount,automatic);returntrue;}returnfalse;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/Clones.solgo.ast.json b/data/tests/contracts/babytoken/Clones.solgo.ast.json index 9a64364b..2c6eebd0 100644 --- a/data/tests/contracts/babytoken/Clones.solgo.ast.json +++ b/data/tests/contracts/babytoken/Clones.solgo.ast.json @@ -2625,7 +2625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "instance" }, "right_expression": { "id": 1958, @@ -2666,7 +2667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -2712,7 +2714,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -2750,7 +2753,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1167: create failed\"" } ], "expression": { @@ -2771,7 +2775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2912,7 +2917,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionclone(addressimplementation)internalreturns(addressinstance){assembly{letptr:=mload(0x40)mstore(ptr,0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)mstore(add(ptr,0x14),shl(0x60,implementation))mstore(add(ptr,0x28),0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)instance:=create(0,ptr,0x37)}require(instance!=address(0),\"ERC1167: create failed\");}" }, { "id": 1964, @@ -5567,7 +5573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "instance" }, "right_expression": { "id": 2017, @@ -5608,7 +5615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5654,7 +5662,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5692,7 +5701,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1167: create2 failed\"" } ], "expression": { @@ -5713,7 +5723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5891,13 +5902,14 @@ } ] }, - "signature_raw": "cloneDeterministic(address, bytes32)", - "signature": "0520199d", + "signature_raw": "cloneDeterministic(address,bytes32)", + "signature": "b86b2ceb", "scope": 1906, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes32$", "type_string": "function(address,bytes32)" - } + }, + "text": "functioncloneDeterministic(addressimplementation,bytes32salt)internalreturns(addressinstance){assembly{letptr:=mload(0x40)mstore(ptr,0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)mstore(add(ptr,0x14),shl(0x60,implementation))mstore(add(ptr,0x28),0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)instance:=create2(0,ptr,0x37,salt)}require(instance!=address(0),\"ERC1167: create2 failed\");}" }, { "id": 2023, @@ -13297,13 +13309,14 @@ } ] }, - "signature_raw": "predictDeterministicAddress(address, bytes32, address)", - "signature": "34cd8963", + "signature_raw": "predictDeterministicAddress(address,bytes32,address)", + "signature": "93a7e711", "scope": 1906, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes32$_t_address$", "type_string": "function(address,bytes32,address)" - } + }, + "text": "functionpredictDeterministicAddress(addressimplementation,bytes32salt,addressdeployer)internalpurereturns(addresspredicted){assembly{letptr:=mload(0x40)mstore(ptr,0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)mstore(add(ptr,0x14),shl(0x60,implementation))mstore(add(ptr,0x28),0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000)mstore(add(ptr,0x38),shl(0x60,deployer))mstore(add(ptr,0x4c),salt)mstore(add(ptr,0x6c),keccak256(ptr,0x37))predicted:=keccak256(add(ptr,0x37),0x55)}}" }, { "id": 2103, @@ -13397,7 +13410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2116, - "is_pure": false + "is_pure": false, + "text": "implementation" }, { "id": 2117, @@ -13423,7 +13437,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "salt" }, { "id": 2118, @@ -13462,7 +13477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -13508,7 +13524,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13534,7 +13551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "predictDeterministicAddress" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes32$_t_function_$_t_address$", @@ -13713,13 +13731,14 @@ } ] }, - "signature_raw": "predictDeterministicAddress(address, bytes32)", - "signature": "79ca6a22", + "signature_raw": "predictDeterministicAddress(address,bytes32)", + "signature": "360d0fad", "scope": 1906, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes32$", "type_string": "function(address,bytes32)" - } + }, + "text": "functionpredictDeterministicAddress(addressimplementation,bytes32salt)internalviewreturns(addresspredicted){returnpredictDeterministicAddress(implementation,salt,address(this));}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/Context.solgo.ast.json b/data/tests/contracts/babytoken/Context.solgo.ast.json index aeb25c12..ab56eff6 100644 --- a/data/tests/contracts/babytoken/Context.solgo.ast.json +++ b/data/tests/contracts/babytoken/Context.solgo.ast.json @@ -125,14 +125,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -269,7 +271,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 477, @@ -359,14 +362,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -501,7 +506,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/ContextUpgradeable.solgo.ast.json b/data/tests/contracts/babytoken/ContextUpgradeable.solgo.ast.json index 74360f88..a59a066d 100644 --- a/data/tests/contracts/babytoken/ContextUpgradeable.solgo.ast.json +++ b/data/tests/contracts/babytoken/ContextUpgradeable.solgo.ast.json @@ -136,7 +136,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Context_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -215,7 +216,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init()internalinitializer{__Context_init_unchained();}" }, { "id": 2867, @@ -323,7 +325,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Context_init_unchained()internalinitializer{}" }, { "id": 2874, @@ -413,14 +416,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -557,7 +562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 2886, @@ -647,14 +653,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -789,7 +797,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" }, { "id": 2898, @@ -846,7 +855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50" }, "type_description": { "type_identifier": "t_rational_50_by_1", diff --git a/data/tests/contracts/babytoken/DividendPayingToken.solgo.ast.json b/data/tests/contracts/babytoken/DividendPayingToken.solgo.ast.json index 2b94e96e..d4d60bb6 100644 --- a/data/tests/contracts/babytoken/DividendPayingToken.solgo.ast.json +++ b/data/tests/contracts/babytoken/DividendPayingToken.solgo.ast.json @@ -420,7 +420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 4439, @@ -442,7 +443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" }, "type_descriptions": [ { @@ -522,7 +524,7 @@ "mutability": 1, "type_name": { "id": 4445, - "node_type": 0, + "node_type": 53, "src": { "line": 2455, "column": 4, @@ -615,7 +617,7 @@ "mutability": 1, "type_name": { "id": 4450, - "node_type": 0, + "node_type": 53, "src": { "line": 2456, "column": 4, @@ -793,7 +795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Ownable_init" }, "type_description": { "type_identifier": "t_function_$", @@ -841,7 +844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4473, - "is_pure": false + "is_pure": false, + "text": "_name" }, { "id": 4474, @@ -867,7 +871,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "_symbol" } ], "expression": { @@ -888,7 +893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__ERC20_init" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", @@ -936,7 +942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4431, - "is_pure": false + "is_pure": false, + "text": "rewardToken" }, "right_expression": { "id": 4478, @@ -956,7 +963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4478, - "is_pure": false + "is_pure": false, + "text": "_rewardToken" }, "type_description": { "type_identifier": "t_address", @@ -966,7 +974,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "rewardToken=_rewardToken;" } ] }, @@ -1166,13 +1175,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__DividendPayingToken_init(address, string, string)", - "signature": "e3d2c051", + "signature_raw": "__DividendPayingToken_init(address,string,string)", + "signature": "ee9358e8", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_string$_t_string$", "type_string": "function(address,string,string)" - } + }, + "text": "function__DividendPayingToken_init(address_rewardToken,stringmemory_name,stringmemory_symbol)internalinitializer{__Ownable_init();__ERC20_init(_name,_symbol);rewardToken=_rewardToken;}" }, { "id": 4480, @@ -1274,7 +1284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -1301,7 +1312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1327,7 +1339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -1377,7 +1390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4496, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 4497, @@ -1399,7 +1413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1461,7 +1476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "right_expression": { "id": 4502, @@ -1533,7 +1549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "magnitude" } ], "expression": { @@ -1591,7 +1608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4509, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "type_description": { @@ -1604,7 +1622,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" - } + }, + "text": "(amount).mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1643,7 +1662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -1697,14 +1717,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -1719,7 +1741,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare=magnifiedDividendPerShare.add((amount).mul(magnitude)/totalSupply());" }, { "id": 4513, @@ -1774,14 +1797,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 4516, @@ -1801,7 +1826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4516, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -1822,7 +1848,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4366, - "is_pure": false + "is_pure": false, + "text": "DividendsDistributed" } }, { @@ -1866,7 +1893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4454, - "is_pure": false + "is_pure": false, + "text": "totalDividendsDistributed" }, "right_expression": { "id": 4521, @@ -1905,7 +1933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4524, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -1949,14 +1978,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4454, - "is_pure": false + "is_pure": false, + "text": "totalDividendsDistributed" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividendsDistributed.add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -1971,7 +2002,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividendsDistributed=totalDividendsDistributed.add(amount);" } ] } @@ -2093,7 +2125,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondistributeCAKEDividends(uint256amount)publiconlyOwner{require(totalSupply()\u003e0);if(amount\u003e0){magnifiedDividendPerShare=magnifiedDividendPerShare.add((amount).mul(magnitude)/totalSupply());emitDividendsDistributed(msg.sender,amount);totalDividendsDistributed=totalDividendsDistributed.add(amount);}}" }, { "id": 4526, @@ -2202,14 +2235,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "argument_types": [ @@ -2243,7 +2278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawDividendOfUser" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_address$", @@ -2311,7 +2347,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()publicvirtualoverride{_withdrawDividendOfUser(payable(msg.sender));}" }, { "id": 4537, @@ -2445,7 +2482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4550, - "is_pure": false + "is_pure": false, + "text": "user" } ], "expression": { @@ -2466,7 +2504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$", @@ -2517,7 +2556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4545, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" }, "right_expression": { "id": 4554, @@ -2539,7 +2579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2612,7 +2653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4560, @@ -2632,7 +2674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4560, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -2686,7 +2729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -2741,7 +2785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4565, @@ -2761,7 +2806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4565, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -2783,7 +2829,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user].add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2798,7 +2845,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user]=withdrawnDividends[user].add(_withdrawableDividend);" }, { "id": 4567, @@ -2830,7 +2878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4568, - "is_pure": false + "is_pure": false, + "text": "user" }, { "id": 4569, @@ -2850,7 +2899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4545, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -2871,7 +2921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4373, - "is_pure": false + "is_pure": false, + "text": "DividendWithdrawn" } }, { @@ -2998,7 +3049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "rewardToken" } ], "expression": { @@ -3019,7 +3071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3050,7 +3103,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "user" }, { "id": 4581, @@ -3080,7 +3134,8 @@ "type_identifier": "t_address_payable", "type_string": "address" } - ] + ], + "text": "_withdrawableDividend" } ], "expression": { @@ -3124,14 +3179,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2122, - "is_pure": false + "is_pure": false, + "text": "SafeERC20NoRevert" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_SafeERC20NoRevert_$2122", "type_string": "contract SafeERC20NoRevert" - } + }, + "text": "SafeERC20NoRevert.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address_payable$_t_function_$_t_function_$_t_function_$_t_address_payable$", @@ -3186,7 +3243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4571, - "is_pure": false + "is_pure": false, + "text": "success" }, "type_description": { "type_identifier": "t_bool", @@ -3259,7 +3317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4590, @@ -3279,7 +3338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4590, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -3333,7 +3393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -3388,7 +3449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4595, @@ -3408,7 +3470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4595, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -3430,7 +3493,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user].sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3445,7 +3509,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user]=withdrawnDividends[user].sub(_withdrawableDividend);" }, { "id": 4597, @@ -3479,7 +3544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -3515,7 +3581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4545, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } } ] @@ -3553,7 +3620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -3689,7 +3757,8 @@ "type_description": { "type_identifier": "t_function_$_t_address_payable$", "type_string": "function(address)" - } + }, + "text": "function_withdrawDividendOfUser(addresspayableuser)internalreturns(uint256){uint256_withdrawableDividend=withdrawableDividendOf(user);if(_withdrawableDividend\u003e0){withdrawnDividends[user]=withdrawnDividends[user].add(_withdrawableDividend);emitDividendWithdrawn(user,_withdrawableDividend);boolsuccess=SafeERC20NoRevert.safeTransfer(IERC20(rewardToken),user,_withdrawableDividend);if(!success){withdrawnDividends[user]=withdrawnDividends[user].sub(_withdrawableDividend);return0;}return_withdrawableDividend;}return0;}" }, { "id": 4604, @@ -3775,7 +3844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4616, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -3796,7 +3866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3956,7 +4027,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiondividendOf(address_owner)publicviewoverridereturns(uint256){returnwithdrawableDividendOf(_owner);}" }, { "id": 4618, @@ -4053,7 +4125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4635, @@ -4073,7 +4146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4635, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -4151,7 +4225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4632, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -4172,7 +4247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "accumulativeDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4184,7 +4260,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "accumulativeDividendOf(_owner).sub" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -4344,7 +4421,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawableDividendOf(address_owner)publicviewoverridereturns(uint256){returnaccumulativeDividendOf(_owner).sub(withdrawnDividends[_owner]);}" }, { "id": 4637, @@ -4422,7 +4500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4449, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 4649, @@ -4442,7 +4521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4649, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -4612,7 +4692,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawnDividendOf(address_owner)publicviewoverridereturns(uint256){returnwithdrawnDividends[_owner];}" }, { "id": 4651, @@ -4760,7 +4841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4676, @@ -4780,7 +4862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4676, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -4914,7 +4997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4673, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -4935,7 +5019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4984,14 +5069,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -5003,7 +5090,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf(_owner)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -5015,7 +5103,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf(_owner)).toInt256Safe().add" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", @@ -5027,7 +5116,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "function(index[mapping(address=\u003eint256):address])" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf(_owner)).toInt256Safe().add(magnifiedDividendCorrections[_owner]).toUint256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -5052,7 +5142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4434, - "is_pure": false + "is_pure": false, + "text": "magnitude" }, "type_description": { "type_identifier": "t_function_$", @@ -5212,7 +5303,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaccumulativeDividendOf(address_owner)publicviewoverridereturns(uint256){returnmagnifiedDividendPerShare.mul(balanceOf(_owner)).toInt256Safe().add(magnifiedDividendCorrections[_owner]).toUint256Safe()/magnitude;}" }, { "id": 4679, @@ -5288,7 +5380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } ], "expression": { @@ -5309,7 +5402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -5450,7 +5544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4701, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -5494,14 +5589,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5513,7 +5610,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "magnifiedDividendPerShare.mul(value).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -5573,7 +5671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4706, @@ -5593,7 +5692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4706, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -5647,7 +5747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4693, - "is_pure": false + "is_pure": false, + "text": "_magCorrection" } ], "expression": { @@ -5702,7 +5803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4711, @@ -5722,7 +5824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4711, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -5744,7 +5847,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[from].add" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -5759,7 +5863,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[from]=magnifiedDividendCorrections[from].add(_magCorrection);" }, { "id": 4713, @@ -5813,7 +5918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4717, @@ -5833,7 +5939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4717, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -5887,7 +5994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4693, - "is_pure": false + "is_pure": false, + "text": "_magCorrection" } ], "expression": { @@ -5942,7 +6050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4722, @@ -5962,7 +6071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4722, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -5984,7 +6094,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[to].sub" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -5999,7 +6110,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[to]=magnifiedDividendCorrections[to].sub(_magCorrection);" } ] }, @@ -6189,13 +6301,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256value)internalvirtualoverride{require(false);int256_magCorrection=magnifiedDividendPerShare.mul(value).toInt256Safe();magnifiedDividendCorrections[from]=magnifiedDividendCorrections[from].add(_magCorrection);magnifiedDividendCorrections[to]=magnifiedDividendCorrections[to].sub(_magCorrection);}" }, { "id": 4725, @@ -6273,7 +6386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4737, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 4738, @@ -6299,7 +6413,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -6343,14 +6458,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_mint", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -6409,7 +6526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4743, @@ -6429,7 +6547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4743, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -6553,7 +6672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4755, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -6597,14 +6717,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6622,7 +6744,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_function_$_t_uint256$$", "type_string": "tuple(function(uint256))" - } + }, + "text": "(magnifiedDividendPerShare.mul(value)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -6682,7 +6805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4748, @@ -6702,7 +6826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4748, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -6724,7 +6849,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account].sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6739,7 +6865,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].sub((magnifiedDividendPerShare.mul(value)).toInt256Safe());" } ] }, @@ -6885,13 +7012,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256value)internaloverride{super._mint(account,value);magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].sub((magnifiedDividendPerShare.mul(value)).toInt256Safe());}" }, { "id": 4757, @@ -6969,7 +7097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4769, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 4770, @@ -6995,7 +7124,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -7039,14 +7169,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_burn", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._burn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -7105,7 +7237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4775, @@ -7125,7 +7258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4775, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -7249,7 +7383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4787, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -7293,14 +7428,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4441, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -7318,7 +7455,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_function_$_t_uint256$$", "type_string": "tuple(function(uint256))" - } + }, + "text": "(magnifiedDividendPerShare.mul(value)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -7378,7 +7516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4444, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 4780, @@ -7398,7 +7537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4780, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -7420,7 +7560,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account].add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -7435,7 +7576,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].add((magnifiedDividendPerShare.mul(value)).toInt256Safe());" } ] }, @@ -7581,13 +7723,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256value)internaloverride{super._burn(account,value);magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].add((magnifiedDividendPerShare.mul(value)).toInt256Safe());}" }, { "id": 4789, @@ -7721,7 +7864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4802, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -7742,7 +7886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7793,7 +7938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4805, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "right_expression": { "id": 4806, @@ -7813,7 +7959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4797, - "is_pure": false + "is_pure": false, + "text": "currentBalance" }, "type_description": { "type_identifier": "t_bool", @@ -7931,7 +8078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "currentBalance" } ], "expression": { @@ -7975,14 +8123,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4813, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "newBalance.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -8031,7 +8181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4817, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 4818, @@ -8057,7 +8208,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "mintAmount" } ], "expression": { @@ -8078,7 +8230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -8213,13 +8366,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setBalance(address, uint256)", - "signature": "d8710a82", + "signature_raw": "_setBalance(address,uint256)", + "signature": "ab86e0a6", "scope": 4409, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_setBalance(addressaccount,uint256newBalance)internal{uint256currentBalance=balanceOf(account);if(newBalance\u003ecurrentBalance){uint256mintAmount=newBalance.sub(currentBalance);_mint(account,mintAmount);}elseif(newBalance\u003ccurrentBalance){uint256burnAmount=currentBalance.sub(newBalance);_burn(account,burnAmount);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/DividendPayingTokenInterface.solgo.ast.json b/data/tests/contracts/babytoken/DividendPayingTokenInterface.solgo.ast.json index b2c8fe0c..6b011e78 100644 --- a/data/tests/contracts/babytoken/DividendPayingTokenInterface.solgo.ast.json +++ b/data/tests/contracts/babytoken/DividendPayingTokenInterface.solgo.ast.json @@ -204,7 +204,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiondividendOf(address_owner)externalviewreturns(uint256);" }, { "id": 4361, @@ -282,7 +283,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()external;" }, { "id": 4366, diff --git a/data/tests/contracts/babytoken/DividendPayingTokenOptionalInterface.solgo.ast.json b/data/tests/contracts/babytoken/DividendPayingTokenOptionalInterface.solgo.ast.json index cc547f2a..cae07f0c 100644 --- a/data/tests/contracts/babytoken/DividendPayingTokenOptionalInterface.solgo.ast.json +++ b/data/tests/contracts/babytoken/DividendPayingTokenOptionalInterface.solgo.ast.json @@ -204,7 +204,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawableDividendOf(address_owner)externalviewreturns(uint256);" }, { "id": 4391, @@ -373,7 +374,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawnDividendOf(address_owner)externalviewreturns(uint256);" }, { "id": 4400, @@ -542,7 +544,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaccumulativeDividendOf(address_owner)externalviewreturns(uint256);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/ERC20.solgo.ast.json b/data/tests/contracts/babytoken/ERC20.solgo.ast.json index b14b45c2..a28c6f43 100644 --- a/data/tests/contracts/babytoken/ERC20.solgo.ast.json +++ b/data/tests/contracts/babytoken/ERC20.solgo.ast.json @@ -155,7 +155,7 @@ "mutability": 1, "type_name": { "id": 498, - "node_type": 0, + "node_type": 53, "src": { "line": 181, "column": 4, @@ -248,7 +248,7 @@ "mutability": 1, "type_name": { "id": 503, - "node_type": 0, + "node_type": 53, "src": { "line": 183, "column": 4, @@ -683,7 +683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 530, @@ -703,7 +704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 530, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -713,7 +715,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 531, @@ -756,7 +759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 516, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 534, @@ -776,7 +780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 534, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -786,7 +791,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -856,7 +862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -1010,7 +1017,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 548, @@ -1077,7 +1085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 516, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -1231,7 +1240,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 560, @@ -1300,7 +1310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -1454,7 +1465,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 572, @@ -1521,7 +1533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -1675,7 +1688,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 584, @@ -1753,7 +1767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 596, @@ -1773,7 +1788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 596, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -1943,7 +1959,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 598, @@ -2039,7 +2056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -2070,7 +2088,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "recipient" }, { "id": 614, @@ -2100,7 +2119,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -2121,7 +2141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -2160,7 +2181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -2352,13 +2374,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)publicvirtualoverridereturns(bool){_transfer(_msgSender(),recipient,amount);returntrue;}" }, { "id": 618, @@ -2447,7 +2470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 633, @@ -2467,7 +2491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -2502,7 +2527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 634, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -2710,13 +2736,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 636, @@ -2812,7 +2839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -2843,7 +2871,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 652, @@ -2873,7 +2902,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -2894,7 +2924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -2933,7 +2964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -3125,13 +3157,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){_approve(_msgSender(),spender,amount);returntrue;}" }, { "id": 656, @@ -3213,7 +3246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 671, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 672, @@ -3239,7 +3273,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 673, @@ -3269,7 +3304,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3290,7 +3326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3397,7 +3434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 680, @@ -3417,7 +3455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 680, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -3466,7 +3505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3544,7 +3584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 687, @@ -3564,7 +3605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 687, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -3597,7 +3639,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds allowance\"" } ], "expression": { @@ -3618,7 +3661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3657,7 +3701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -3719,7 +3764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 694, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 695, @@ -3753,7 +3799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3792,7 +3839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 699, @@ -3812,7 +3860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 699, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -3838,7 +3887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -4080,13 +4130,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)publicvirtualoverridereturns(bool){_transfer(sender,recipient,amount);uint256currentAllowance=_allowances[sender][_msgSender()];require(currentAllowance\u003e=amount,\"ERC20: transfer amount exceeds allowance\");unchecked{_approve(sender,_msgSender(),currentAllowance-amount);}returntrue;}" }, { "id": 701, @@ -4182,7 +4233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4213,7 +4265,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 716, @@ -4269,7 +4322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 720, @@ -4303,7 +4357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4343,7 +4398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 722, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -4378,7 +4434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 723, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$]$_t_address]$", @@ -4404,7 +4461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$]$_t_address]$", @@ -4443,7 +4501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -4616,13 +4675,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){_approve(_msgSender(),spender,_allowances[_msgSender()][spender]+addedValue);returntrue;}" }, { "id": 727, @@ -4759,7 +4819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 743, @@ -4793,7 +4854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4833,7 +4895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 745, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -4906,7 +4969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 737, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 750, @@ -4926,7 +4990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 750, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -4959,7 +5024,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -4980,7 +5046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5019,7 +5086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -5095,7 +5163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5126,7 +5195,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 760, @@ -5160,7 +5230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 762, @@ -5180,7 +5251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 762, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -5206,7 +5278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -5385,13 +5458,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){uint256currentAllowance=_allowances[_msgSender()][spender];require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(_msgSender(),spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 764, @@ -5483,7 +5557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 777, - "is_pure": false + "is_pure": false, + "text": "sender" }, "right_expression": { "id": 778, @@ -5524,7 +5599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5570,7 +5646,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5608,7 +5685,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -5629,7 +5707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5691,7 +5770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 786, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "right_expression": { "id": 787, @@ -5732,7 +5812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5778,7 +5859,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5816,7 +5898,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -5837,7 +5920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5889,7 +5973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 794, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 795, @@ -5915,7 +6000,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 796, @@ -5945,7 +6031,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -5966,7 +6053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -6062,7 +6150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 802, @@ -6082,7 +6171,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 802, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -6155,7 +6245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "senderBalance" }, "right_expression": { "id": 807, @@ -6175,7 +6266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -6208,7 +6300,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -6229,7 +6322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6288,7 +6382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 813, @@ -6308,7 +6403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 813, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "type_descriptions": [ { @@ -6343,7 +6439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 814, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -6353,7 +6450,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[recipient]+=amount;" }, { "id": 815, @@ -6385,7 +6483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 816, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 817, @@ -6405,7 +6504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "recipient" }, { "id": 818, @@ -6425,7 +6525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 818, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -6446,7 +6547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -6494,7 +6596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 823, @@ -6520,7 +6623,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 824, @@ -6550,7 +6654,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -6571,7 +6676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -6644,7 +6750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 830, @@ -6664,7 +6771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -6713,7 +6821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "senderBalance" }, "right_expression": { "id": 833, @@ -6733,7 +6842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -6748,7 +6858,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[sender]=senderBalance-amount;" } ] } @@ -6921,13 +7032,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addresssender,addressrecipient,uint256amount)internalvirtual{require(sender!=address(0),\"ERC20: transfer from the zero address\");require(recipient!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(sender,recipient,amount);uint256senderBalance=_balances[sender];require(senderBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[sender]=senderBalance-amount;}_balances[recipient]+=amount;emitTransfer(sender,recipient,amount);_afterTokenTransfer(sender,recipient,amount);}" }, { "id": 835, @@ -7019,7 +7131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 846, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 847, @@ -7060,7 +7173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7106,7 +7220,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7144,7 +7259,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -7165,7 +7281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7238,7 +7355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7284,7 +7402,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7315,7 +7434,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 859, @@ -7345,7 +7465,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7366,7 +7487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -7414,7 +7536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 863, @@ -7434,7 +7557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 863, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -7444,7 +7568,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 864, @@ -7498,7 +7623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 868, @@ -7518,7 +7644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 868, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -7553,7 +7680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 869, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -7563,7 +7691,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" }, { "id": 870, @@ -7616,7 +7745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7662,7 +7792,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7687,7 +7818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 875, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 876, @@ -7707,7 +7839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 876, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -7728,7 +7861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -7797,7 +7931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7843,7 +7978,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7874,7 +8010,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 885, @@ -7904,7 +8041,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7925,7 +8063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -8057,13 +8196,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;_balances[account]+=amount;emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 887, @@ -8155,7 +8295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 898, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 899, @@ -8196,7 +8337,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8242,7 +8384,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8280,7 +8423,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -8301,7 +8445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8353,7 +8498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 907, @@ -8394,7 +8540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8440,7 +8587,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8475,7 +8623,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -8496,7 +8645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -8592,7 +8742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 917, @@ -8612,7 +8763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 917, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -8685,7 +8837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 922, @@ -8705,7 +8858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 922, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -8738,7 +8892,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -8759,7 +8914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8807,7 +8963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 927, @@ -8827,7 +8984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 927, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -8837,7 +8995,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" }, { "id": 928, @@ -8869,7 +9028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 930, @@ -8910,7 +9070,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8956,7 +9117,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8981,7 +9143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 934, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -9002,7 +9165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -9050,7 +9214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 938, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 939, @@ -9091,7 +9256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9137,7 +9303,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9172,7 +9339,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -9193,7 +9361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -9266,7 +9435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 949, @@ -9286,7 +9456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -9335,7 +9506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 952, @@ -9355,7 +9527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 952, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -9370,7 +9543,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" } ] } @@ -9499,13 +9673,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;}_totalSupply-=amount;emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 954, @@ -9597,7 +9772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 967, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 968, @@ -9638,7 +9814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9684,7 +9861,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9722,7 +9900,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -9743,7 +9922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9805,7 +9985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 976, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 977, @@ -9846,7 +10027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9892,7 +10074,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9930,7 +10113,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -9951,7 +10135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10021,7 +10206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 987, @@ -10041,7 +10227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 987, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -10076,7 +10263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 988, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -10111,7 +10299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 989, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -10121,7 +10310,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 990, @@ -10153,7 +10343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 991, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 992, @@ -10173,7 +10364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 992, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 993, @@ -10193,7 +10385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 993, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -10214,7 +10407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 423, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -10386,13 +10580,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 996, @@ -10597,13 +10792,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1007, @@ -10808,13 +11004,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 489, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/ERC20Upgradeable.solgo.ast.json b/data/tests/contracts/babytoken/ERC20Upgradeable.solgo.ast.json index 10bd6c11..fb0f2245 100644 --- a/data/tests/contracts/babytoken/ERC20Upgradeable.solgo.ast.json +++ b/data/tests/contracts/babytoken/ERC20Upgradeable.solgo.ast.json @@ -186,7 +186,7 @@ "mutability": 1, "type_name": { "id": 2914, - "node_type": 0, + "node_type": 53, "src": { "line": 1721, "column": 4, @@ -279,7 +279,7 @@ "mutability": 1, "type_name": { "id": 2919, - "node_type": 0, + "node_type": 53, "src": { "line": 1723, "column": 4, @@ -593,7 +593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Context_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -641,7 +642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2949, - "is_pure": false + "is_pure": false, + "text": "name_" }, { "id": 2950, @@ -667,7 +669,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "symbol_" } ], "expression": { @@ -688,7 +691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__ERC20_init_unchained" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", @@ -849,13 +853,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__ERC20_init(string, string)", - "signature": "0a485aa7", + "signature_raw": "__ERC20_init(string,string)", + "signature": "678bd718", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "function__ERC20_init(stringmemoryname_,stringmemorysymbol_)internalinitializer{__Context_init_unchained();__ERC20_init_unchained(name_,symbol_);}" }, { "id": 2952, @@ -933,7 +938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 2965, @@ -953,7 +959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2965, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -963,7 +970,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 2966, @@ -1006,7 +1014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 516, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 2969, @@ -1026,7 +1035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2969, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -1036,7 +1046,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] }, @@ -1192,13 +1203,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "__ERC20_init_unchained(string, string)", - "signature": "5cec9c4a", + "signature_raw": "__ERC20_init_unchained(string,string)", + "signature": "46753fdb", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_string$_t_string$", "type_string": "function(string,string)" - } + }, + "text": "function__ERC20_init_unchained(stringmemoryname_,stringmemorysymbol_)internalinitializer{_name=name_;_symbol=symbol_;}" }, { "id": 2971, @@ -1265,7 +1277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -1419,7 +1432,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 2983, @@ -1486,7 +1500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 516, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -1640,7 +1655,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 2995, @@ -1709,7 +1725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -1863,7 +1880,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 3007, @@ -1930,7 +1948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -2084,7 +2103,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 3019, @@ -2162,7 +2182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3031, @@ -2182,7 +2203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3031, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -2352,7 +2374,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 3033, @@ -2448,7 +2471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -2479,7 +2503,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "recipient" }, { "id": 3049, @@ -2509,7 +2534,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -2530,7 +2556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -2569,7 +2596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -2761,13 +2789,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)publicvirtualoverridereturns(bool){_transfer(_msgSender(),recipient,amount);returntrue;}" }, { "id": 3053, @@ -2856,7 +2885,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3068, @@ -2876,7 +2906,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3068, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -2911,7 +2942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3069, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -3119,13 +3151,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 3071, @@ -3221,7 +3254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3252,7 +3286,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 3087, @@ -3282,7 +3317,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3303,7 +3339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -3342,7 +3379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -3534,13 +3572,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){_approve(_msgSender(),spender,amount);returntrue;}" }, { "id": 3091, @@ -3622,7 +3661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3106, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3107, @@ -3648,7 +3688,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 3108, @@ -3678,7 +3719,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3699,7 +3741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3806,7 +3849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3115, @@ -3826,7 +3870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3115, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -3875,7 +3920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3953,7 +3999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3109, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 3122, @@ -3973,7 +4020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3122, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -4006,7 +4054,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds allowance\"" } ], "expression": { @@ -4027,7 +4076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4066,7 +4116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -4128,7 +4179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3129, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3130, @@ -4162,7 +4214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4201,7 +4254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 3134, @@ -4221,7 +4275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3134, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -4247,7 +4302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_uint256$", @@ -4489,13 +4545,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)publicvirtualoverridereturns(bool){_transfer(sender,recipient,amount);uint256currentAllowance=_allowances[sender][_msgSender()];require(currentAllowance\u003e=amount,\"ERC20: transfer amount exceeds allowance\");unchecked{_approve(sender,_msgSender(),currentAllowance-amount);}returntrue;}" }, { "id": 3136, @@ -4591,7 +4648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4622,7 +4680,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 3151, @@ -4678,7 +4737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3155, @@ -4712,7 +4772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4752,7 +4813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3157, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -4787,7 +4849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3158, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$]$_t_address]$", @@ -4813,7 +4876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$]$_t_address]$", @@ -4852,7 +4916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -5025,13 +5090,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){_approve(_msgSender(),spender,_allowances[_msgSender()][spender]+addedValue);returntrue;}" }, { "id": 3162, @@ -5168,7 +5234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3178, @@ -5202,7 +5269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5242,7 +5310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3180, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -5315,7 +5384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3172, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 3185, @@ -5335,7 +5405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3185, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -5368,7 +5439,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -5389,7 +5461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5428,7 +5501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -5504,7 +5578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5535,7 +5610,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 3195, @@ -5569,7 +5645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 3197, @@ -5589,7 +5666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3197, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -5615,7 +5693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -5794,13 +5873,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){uint256currentAllowance=_allowances[_msgSender()][spender];require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(_msgSender(),spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 3199, @@ -5892,7 +5972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3212, - "is_pure": false + "is_pure": false, + "text": "sender" }, "right_expression": { "id": 3213, @@ -5933,7 +6014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5979,7 +6061,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6017,7 +6100,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -6038,7 +6122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6100,7 +6185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3221, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "right_expression": { "id": 3222, @@ -6141,7 +6227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -6187,7 +6274,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6225,7 +6313,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -6246,7 +6335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6298,7 +6388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3229, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3230, @@ -6324,7 +6415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 3231, @@ -6354,7 +6446,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -6375,7 +6468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -6471,7 +6565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3237, @@ -6491,7 +6586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3237, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -6564,7 +6660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3232, - "is_pure": false + "is_pure": false, + "text": "senderBalance" }, "right_expression": { "id": 3242, @@ -6584,7 +6681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3242, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -6617,7 +6715,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -6638,7 +6737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6697,7 +6797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3248, @@ -6717,7 +6818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3248, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "type_descriptions": [ { @@ -6752,7 +6854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3249, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -6762,7 +6865,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[recipient]+=amount;" }, { "id": 3250, @@ -6794,7 +6898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3251, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3252, @@ -6814,7 +6919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3252, - "is_pure": false + "is_pure": false, + "text": "recipient" }, { "id": 3253, @@ -6834,7 +6940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3253, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -6855,7 +6962,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -6903,7 +7011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3257, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3258, @@ -6929,7 +7038,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 3259, @@ -6959,7 +7069,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -6980,7 +7091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -7053,7 +7165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3265, @@ -7073,7 +7186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3265, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -7122,7 +7236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 797, - "is_pure": false + "is_pure": false, + "text": "senderBalance" }, "right_expression": { "id": 3268, @@ -7142,7 +7257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3268, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -7157,7 +7273,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[sender]=senderBalance-amount;" } ] } @@ -7330,13 +7447,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addresssender,addressrecipient,uint256amount)internalvirtual{require(sender!=address(0),\"ERC20: transfer from the zero address\");require(recipient!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(sender,recipient,amount);uint256senderBalance=_balances[sender];require(senderBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[sender]=senderBalance-amount;}_balances[recipient]+=amount;emitTransfer(sender,recipient,amount);_afterTokenTransfer(sender,recipient,amount);}" }, { "id": 3270, @@ -7428,7 +7546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3281, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 3282, @@ -7469,7 +7588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7515,7 +7635,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7553,7 +7674,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -7574,7 +7696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7647,7 +7770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7693,7 +7817,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7724,7 +7849,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 3294, @@ -7754,7 +7880,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7775,7 +7902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -7823,7 +7951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 3298, @@ -7843,7 +7972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3298, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -7853,7 +7983,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 3299, @@ -7907,7 +8038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3303, @@ -7927,7 +8059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3303, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -7962,7 +8095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3304, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -7972,7 +8106,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" }, { "id": 3305, @@ -8025,7 +8160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8071,7 +8207,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8096,7 +8233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3310, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 3311, @@ -8116,7 +8254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3311, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -8137,7 +8276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -8206,7 +8346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8252,7 +8393,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8283,7 +8425,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 3320, @@ -8313,7 +8456,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -8334,7 +8478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -8466,13 +8611,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;_balances[account]+=amount;emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 3322, @@ -8564,7 +8710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3333, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 3334, @@ -8605,7 +8752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8651,7 +8799,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8689,7 +8838,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -8710,7 +8860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8762,7 +8913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3341, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 3342, @@ -8803,7 +8955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8849,7 +9002,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8884,7 +9038,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -8905,7 +9060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -9001,7 +9157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3352, @@ -9021,7 +9178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3352, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -9094,7 +9252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3347, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 3357, @@ -9114,7 +9273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3357, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -9147,7 +9307,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -9168,7 +9329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9216,7 +9378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 510, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 3362, @@ -9236,7 +9399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3362, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -9246,7 +9410,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" }, { "id": 3363, @@ -9278,7 +9443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3364, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 3365, @@ -9319,7 +9485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9365,7 +9532,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9390,7 +9558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3369, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -9411,7 +9580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -9459,7 +9629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3373, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 3374, @@ -9500,7 +9671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9546,7 +9718,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9581,7 +9754,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -9602,7 +9776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -9675,7 +9850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 497, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 3384, @@ -9695,7 +9871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3384, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -9744,7 +9921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 3387, @@ -9764,7 +9942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3387, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -9779,7 +9958,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" } ] } @@ -9908,13 +10088,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;}_totalSupply-=amount;emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 3389, @@ -10006,7 +10187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3402, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 3403, @@ -10047,7 +10229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10093,7 +10276,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10131,7 +10315,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -10152,7 +10337,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10214,7 +10400,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3411, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 3412, @@ -10255,7 +10442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10301,7 +10489,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10339,7 +10528,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -10360,7 +10550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10430,7 +10621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 3422, @@ -10450,7 +10642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3422, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -10485,7 +10678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3423, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -10520,7 +10714,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3424, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -10530,7 +10725,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 3425, @@ -10562,7 +10758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3426, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 3427, @@ -10582,7 +10779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3427, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 3428, @@ -10602,7 +10800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3428, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -10623,7 +10822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 423, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -10795,13 +10995,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 3431, @@ -11006,13 +11207,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 3442, @@ -11217,13 +11419,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 2903, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 3453, @@ -11280,7 +11483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "45" }, "type_description": { "type_identifier": "t_rational_45_by_1", diff --git a/data/tests/contracts/babytoken/IERC20.solgo.ast.json b/data/tests/contracts/babytoken/IERC20.solgo.ast.json index 3c480905..4b66d250 100644 --- a/data/tests/contracts/babytoken/IERC20.solgo.ast.json +++ b/data/tests/contracts/babytoken/IERC20.solgo.ast.json @@ -203,7 +203,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 359, @@ -372,7 +373,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 368, @@ -578,13 +580,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 348, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 379, @@ -791,13 +794,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 348, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 390, @@ -1003,13 +1007,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 348, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 401, @@ -1259,13 +1264,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 348, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 414, diff --git a/data/tests/contracts/babytoken/IERC20Metadata.solgo.ast.json b/data/tests/contracts/babytoken/IERC20Metadata.solgo.ast.json index 76a143ee..23956059 100644 --- a/data/tests/contracts/babytoken/IERC20Metadata.solgo.ast.json +++ b/data/tests/contracts/babytoken/IERC20Metadata.solgo.ast.json @@ -235,7 +235,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 445, @@ -403,7 +404,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 454, @@ -571,7 +573,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/IERC20MetadataUpgradeable.solgo.ast.json b/data/tests/contracts/babytoken/IERC20MetadataUpgradeable.solgo.ast.json index 20c67940..e20efc3f 100644 --- a/data/tests/contracts/babytoken/IERC20MetadataUpgradeable.solgo.ast.json +++ b/data/tests/contracts/babytoken/IERC20MetadataUpgradeable.solgo.ast.json @@ -235,7 +235,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 2793, @@ -403,7 +404,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 2802, @@ -571,7 +573,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/IERC20Upgradeable.solgo.ast.json b/data/tests/contracts/babytoken/IERC20Upgradeable.solgo.ast.json index da91bc11..c7be3595 100644 --- a/data/tests/contracts/babytoken/IERC20Upgradeable.solgo.ast.json +++ b/data/tests/contracts/babytoken/IERC20Upgradeable.solgo.ast.json @@ -203,7 +203,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 2707, @@ -372,7 +373,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 2716, @@ -578,13 +580,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 2696, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 2727, @@ -791,13 +794,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 2696, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 2738, @@ -1003,13 +1007,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 2696, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 2749, @@ -1259,13 +1264,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 2696, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 2762, diff --git a/data/tests/contracts/babytoken/IUniswapV2Factory.solgo.ast.json b/data/tests/contracts/babytoken/IUniswapV2Factory.solgo.ast.json index 6a284e10..8e0312ed 100644 --- a/data/tests/contracts/babytoken/IUniswapV2Factory.solgo.ast.json +++ b/data/tests/contracts/babytoken/IUniswapV2Factory.solgo.ast.json @@ -416,7 +416,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfeeTo()externalviewreturns(address);" }, { "id": 2207, @@ -586,7 +587,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfeeToSetter()externalviewreturns(address);" }, { "id": 2216, @@ -794,13 +796,14 @@ } ] }, - "signature_raw": "getPair(address, address)", - "signature": "99d437db", + "signature_raw": "getPair(address,address)", + "signature": "e6a43905", "scope": 2185, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetPair(addresstokenA,addresstokenB)externalviewreturns(addresspair);" }, { "id": 2227, @@ -969,7 +972,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionallPairs(uint256)externalviewreturns(addresspair);" }, { "id": 2236, @@ -1137,7 +1141,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionallPairsLength()externalviewreturns(uint256);" }, { "id": 2245, @@ -1345,13 +1350,14 @@ } ] }, - "signature_raw": "createPair(address, address)", - "signature": "a36b5e48", + "signature_raw": "createPair(address,address)", + "signature": "c9c65396", "scope": 2185, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioncreatePair(addresstokenA,addresstokenB)externalreturns(addresspair);" }, { "id": 2256, @@ -1475,7 +1481,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFeeTo(address)external;" }, { "id": 2263, @@ -1599,7 +1606,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFeeToSetter(address)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/IUniswapV2Pair.solgo.ast.json b/data/tests/contracts/babytoken/IUniswapV2Pair.solgo.ast.json index 470e4642..3377e785 100644 --- a/data/tests/contracts/babytoken/IUniswapV2Pair.solgo.ast.json +++ b/data/tests/contracts/babytoken/IUniswapV2Pair.solgo.ast.json @@ -537,7 +537,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalpurereturns(stringmemory);" }, { "id": 3607, @@ -705,7 +706,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalpurereturns(stringmemory);" }, { "id": 3616, @@ -873,7 +875,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalpurereturns(uint8);" }, { "id": 3625, @@ -1041,7 +1044,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint);" }, { "id": 3634, @@ -1210,7 +1214,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint);" }, { "id": 3643, @@ -1417,13 +1422,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint);" }, { "id": 3654, @@ -1629,13 +1635,14 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uintvalue)externalreturns(bool);" }, { "id": 3665, @@ -1841,13 +1848,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" }, { "id": 3676, @@ -2097,13 +2105,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uintvalue)externalreturns(bool);" }, { "id": 3689, @@ -2271,7 +2280,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" }, { "id": 3698, @@ -2439,7 +2449,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionPERMIT_TYPEHASH()externalpurereturns(bytes32);" }, { "id": 3707, @@ -2608,7 +2619,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint);" }, { "id": 3716, @@ -2985,13 +2997,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint, uint, uint8, bytes32, bytes32)", - "signature": "0f94a422", + "signature_raw": "permit(address,address,uint,uint,uint8,bytes32,bytes32)", + "signature": "97a6e84a", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uintvalue,uintdeadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 3735, @@ -3950,7 +3963,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMINIMUM_LIQUIDITY()externalpurereturns(uint);" }, { "id": 3786, @@ -4120,7 +4134,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 3795, @@ -4290,7 +4305,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 3804, @@ -4460,7 +4476,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken1()externalviewreturns(address);" }, { "id": 3813, @@ -4794,13 +4811,14 @@ } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", "type_string": "function(uint112,uint112,uint32)" - } + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" }, { "id": 3830, @@ -4968,7 +4986,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice0CumulativeLast()externalviewreturns(uint);" }, { "id": 3839, @@ -5136,7 +5155,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice1CumulativeLast()externalviewreturns(uint);" }, { "id": 3848, @@ -5304,7 +5324,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionkLast()externalviewreturns(uint);" }, { "id": 3857, @@ -5473,7 +5494,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionmint(addressto)externalreturns(uintliquidity);" }, { "id": 3866, @@ -5685,7 +5707,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionburn(addressto)externalreturns(uintamount0,uintamount1);" }, { "id": 3877, @@ -5932,13 +5955,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swap(uint, uint, address, bytes)", - "signature": "7d9441ed", + "signature_raw": "swap(uint,uint,address,bytes)", + "signature": "090f344e", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(uint256,uint256,address,bytes)" - } + }, + "text": "functionswap(uintamount0Out,uintamount1Out,addressto,bytescalldatadata)external;" }, { "id": 3890, @@ -6062,7 +6086,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionskim(addressto)external;" }, { "id": 3897, @@ -6140,7 +6165,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsync()external;" }, { "id": 3902, @@ -6302,13 +6328,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(address, address)", - "signature": "58e0d614", + "signature_raw": "initialize(address,address)", + "signature": "485cc955", "scope": 3578, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioninitialize(address,address)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/IUniswapV2Router01.solgo.ast.json b/data/tests/contracts/babytoken/IUniswapV2Router01.solgo.ast.json index 941dc94a..e6110897 100644 --- a/data/tests/contracts/babytoken/IUniswapV2Router01.solgo.ast.json +++ b/data/tests/contracts/babytoken/IUniswapV2Router01.solgo.ast.json @@ -205,7 +205,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalpurereturns(address);" }, { "id": 2281, @@ -375,7 +376,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionWETH()externalpurereturns(address);" }, { "id": 2290, @@ -927,13 +929,14 @@ } ] }, - "signature_raw": "addLiquidity(address, address, uint256, uint256, uint256, uint256, address, uint256)", - "signature": "451f1d52", + "signature_raw": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)", + "signature": "e8e33700", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidity(addresstokenA,addresstokenB,uint256amountADesired,uint256amountBDesired,uint256amountAMin,uint256amountBMin,addressto,uint256deadline)externalreturns(uint256amountA,uint256amountB,uint256liquidity);" }, { "id": 2317, @@ -1398,13 +1401,14 @@ } ] }, - "signature_raw": "addLiquidityETH(address, uint256, uint256, uint256, address, uint256)", - "signature": "55a58f33", + "signature_raw": "addLiquidityETH(address,uint256,uint256,uint256,address,uint256)", + "signature": "f305d719", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidityETH(addresstoken,uint256amountTokenDesired,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline)externalpayablereturns(uint256amountToken,uint256amountETH,uint256liquidity);" }, { "id": 2340, @@ -1870,13 +1874,14 @@ } ] }, - "signature_raw": "removeLiquidity(address, address, uint256, uint256, uint256, address, uint256)", - "signature": "b4f39feb", + "signature_raw": "removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)", + "signature": "baa2abde", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidity(addresstokenA,addresstokenB,uint256liquidity,uint256amountAMin,uint256amountBMin,addressto,uint256deadline)externalreturns(uint256amountA,uint256amountB);" }, { "id": 2363, @@ -2298,13 +2303,14 @@ } ] }, - "signature_raw": "removeLiquidityETH(address, uint256, uint256, uint256, address, uint256)", - "signature": "15379e4b", + "signature_raw": "removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)", + "signature": "02751cec", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETH(addresstoken,uint256liquidity,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline)externalreturns(uint256amountToken,uint256amountETH);" }, { "id": 2384, @@ -2942,13 +2948,14 @@ } ] }, - "signature_raw": "removeLiquidityWithPermit(address, address, uint256, uint256, uint256, address, uint256, bool, uint8, bytes32, bytes32)", - "signature": "9cd46573", + "signature_raw": "removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)", + "signature": "2195995c", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityWithPermit(addresstokenA,addresstokenB,uint256liquidity,uint256amountAMin,uint256amountBMin,addressto,uint256deadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uint256amountA,uint256amountB);" }, { "id": 2415, @@ -3542,13 +3549,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermit(address, uint256, uint256, uint256, address, uint256, bool, uint8, bytes32, bytes32)", - "signature": "53209c95", + "signature_raw": "removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)", + "signature": "ded9382a", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermit(addresstoken,uint256liquidity,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uint256amountToken,uint256amountETH);" }, { "id": 2444, @@ -3883,13 +3891,14 @@ } ] }, - "signature_raw": "swapExactTokensForTokens(uint256, uint256, address, address, uint256)", - "signature": "594b793e", + "signature_raw": "swapExactTokensForTokens(uint256,uint256,address,address,uint256)", + "signature": "0a9e24b1", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 2461, @@ -4224,13 +4233,14 @@ } ] }, - "signature_raw": "swapTokensForExactTokens(uint256, uint256, address, address, uint256)", - "signature": "d8c40951", + "signature_raw": "swapTokensForExactTokens(uint256,uint256,address,address,uint256)", + "signature": "04d5911f", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactTokens(uint256amountOut,uint256amountInMax,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 2478, @@ -4522,13 +4532,14 @@ } ] }, - "signature_raw": "swapExactETHForTokens(uint256, address, address, uint256)", - "signature": "ce24d10d", + "signature_raw": "swapExactETHForTokens(uint256,address,address,uint256)", + "signature": "45177656", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokens(uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalpayablereturns(uint256[]memoryamounts);" }, { "id": 2493, @@ -4863,13 +4874,14 @@ } ] }, - "signature_raw": "swapTokensForExactETH(uint256, uint256, address, address, uint256)", - "signature": "d16105f7", + "signature_raw": "swapTokensForExactETH(uint256,uint256,address,address,uint256)", + "signature": "5e7eccba", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactETH(uint256amountOut,uint256amountInMax,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 2510, @@ -5204,13 +5216,14 @@ } ] }, - "signature_raw": "swapExactTokensForETH(uint256, uint256, address, address, uint256)", - "signature": "4745ea6f", + "signature_raw": "swapExactTokensForETH(uint256,uint256,address,address,uint256)", + "signature": "e37c6f8c", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETH(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 2527, @@ -5502,13 +5515,14 @@ } ] }, - "signature_raw": "swapETHForExactTokens(uint256, address, address, uint256)", - "signature": "4221a034", + "signature_raw": "swapETHForExactTokens(uint256,address,address,uint256)", + "signature": "8ddc2492", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapETHForExactTokens(uint256amountOut,address[]calldatapath,addressto,uint256deadline)externalpayablereturns(uint256[]memoryamounts);" }, { "id": 2542, @@ -5756,13 +5770,14 @@ } ] }, - "signature_raw": "quote(uint256, uint256, uint256)", - "signature": "1f7722dd", + "signature_raw": "quote(uint256,uint256,uint256)", + "signature": "ad615dec", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionquote(uint256amountA,uint256reserveA,uint256reserveB)externalpurereturns(uint256amountB);" }, { "id": 2555, @@ -6010,13 +6025,14 @@ } ] }, - "signature_raw": "getAmountOut(uint256, uint256, uint256)", - "signature": "6cae4d22", + "signature_raw": "getAmountOut(uint256,uint256,uint256)", + "signature": "054d50d4", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountOut(uint256amountIn,uint256reserveIn,uint256reserveOut)externalpurereturns(uint256amountOut);" }, { "id": 2568, @@ -6264,13 +6280,14 @@ } ] }, - "signature_raw": "getAmountIn(uint256, uint256, uint256)", - "signature": "d7a891de", + "signature_raw": "getAmountIn(uint256,uint256,uint256)", + "signature": "85f8c259", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountIn(uint256amountOut,uint256reserveIn,uint256reserveOut)externalpurereturns(uint256amountIn);" }, { "id": 2581, @@ -6475,13 +6492,14 @@ } ] }, - "signature_raw": "getAmountsOut(uint256, address)", - "signature": "8631a06b", + "signature_raw": "getAmountsOut(uint256,address)", + "signature": "7d74e315", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsOut(uint256amountIn,address[]calldatapath)externalviewreturns(uint256[]memoryamounts);" }, { "id": 2592, @@ -6686,13 +6704,14 @@ } ] }, - "signature_raw": "getAmountsIn(uint256, address)", - "signature": "3f802e2f", + "signature_raw": "getAmountsIn(uint256,address)", + "signature": "539eb8d0", "scope": 2270, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsIn(uint256amountOut,address[]calldatapath)externalviewreturns(uint256[]memoryamounts);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/IUniswapV2Router02.solgo.ast.json b/data/tests/contracts/babytoken/IUniswapV2Router02.solgo.ast.json index 31ae7ea3..0da46969 100644 --- a/data/tests/contracts/babytoken/IUniswapV2Router02.solgo.ast.json +++ b/data/tests/contracts/babytoken/IUniswapV2Router02.solgo.ast.json @@ -446,13 +446,14 @@ } ] }, - "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address, uint256, uint256, uint256, address, uint256)", - "signature": "f167b680", + "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)", + "signature": "af2979eb", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETHSupportingFeeOnTransferTokens(addresstoken,uint256liquidity,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline)externalreturns(uint256amountETH);" }, { "id": 2626, @@ -1003,13 +1004,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address, uint256, uint256, uint256, address, uint256, bool, uint8, bytes32, bytes32)", - "signature": "b4d4d5c5", + "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)", + "signature": "5b0d5984", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(addresstoken,uint256liquidity,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uint256amountETH);" }, { "id": 2653, @@ -1299,13 +1301,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256, uint256, address, address, uint256)", - "signature": "df3acbab", + "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address,address,uint256)", + "signature": "69b7f82c", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokensSupportingFeeOnTransferTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)external;" }, { "id": 2668, @@ -1552,13 +1555,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256, address, address, uint256)", - "signature": "cf2f780e", + "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address,address,uint256)", + "signature": "0e5d3ae2", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokensSupportingFeeOnTransferTokens(uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalpayable;" }, { "id": 2681, @@ -1848,13 +1852,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256, uint256, address, address, uint256)", - "signature": "66128db0", + "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address,address,uint256)", + "signature": "fcf29d0e", "scope": 2603, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETHSupportingFeeOnTransferTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/Initializable.solgo.ast.json b/data/tests/contracts/babytoken/Initializable.solgo.ast.json index 43db5ed8..3948410c 100644 --- a/data/tests/contracts/babytoken/Initializable.solgo.ast.json +++ b/data/tests/contracts/babytoken/Initializable.solgo.ast.json @@ -226,7 +226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2816, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2826, @@ -264,7 +265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2813, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "type_description": { "type_identifier": "t_bool", @@ -302,7 +304,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Initializable: contract is already initialized\"" } ], "expression": { @@ -323,7 +326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -426,7 +430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2816, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "type_description": { "type_identifier": "t_bool", @@ -463,7 +468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2829, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 2836, @@ -520,7 +526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2816, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2840, @@ -542,7 +549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -552,7 +560,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=true;" }, { "id": 2841, @@ -595,7 +604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2813, - "is_pure": false + "is_pure": false, + "text": "_initialized" }, "right_expression": { "id": 2844, @@ -617,7 +627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -627,7 +638,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initialized=true;" } ] } @@ -650,7 +662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 2846, @@ -681,7 +694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2829, - "is_pure": false + "is_pure": false, + "text": "isTopLevelCall" }, "body": { "id": 2848, @@ -738,7 +752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2816, - "is_pure": false + "is_pure": false, + "text": "_initializing" }, "right_expression": { "id": 2852, @@ -760,7 +775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -770,7 +786,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "_initializing=false;" } ] } diff --git a/data/tests/contracts/babytoken/IterableMapping.solgo.ast.json b/data/tests/contracts/babytoken/IterableMapping.solgo.ast.json index 8da1db4f..7e1ecb1c 100644 --- a/data/tests/contracts/babytoken/IterableMapping.solgo.ast.json +++ b/data/tests/contracts/babytoken/IterableMapping.solgo.ast.json @@ -116,7 +116,7 @@ "name": "values", "type_name": { "id": 4162, - "node_type": 0, + "node_type": 53, "src": { "line": 2279, "column": 8, @@ -205,7 +205,7 @@ "name": "indexOf", "type_name": { "id": 4166, - "node_type": 0, + "node_type": 53, "src": { "line": 2280, "column": 8, @@ -294,7 +294,7 @@ "name": "inserted", "type_name": { "id": 4170, - "node_type": 0, + "node_type": 53, "src": { "line": 2281, "column": 8, @@ -471,14 +471,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4188, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { "id": 4189, @@ -498,7 +500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4189, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -707,13 +710,14 @@ } ] }, - "signature_raw": "get(, address)", - "signature": "eb988e62", + "signature_raw": "get(,address)", + "signature": "e915218c", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_address$", "type_string": "function(struct IterableMapping.Map,address)" - } + }, + "text": "functionget(Mapstoragemap,addresskey)publicviewreturns(uint256){returnmap.values[key];}" }, { "id": 4191, @@ -831,14 +835,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4206, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { "id": 4207, @@ -858,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4207, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -944,7 +951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -1038,14 +1046,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4218, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { "id": 4219, @@ -1065,7 +1075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4219, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -1125,7 +1136,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", @@ -1324,13 +1336,14 @@ } ] }, - "signature_raw": "getIndexOfKey(, address)", - "signature": "0fd42ee0", + "signature_raw": "getIndexOfKey(,address)", + "signature": "d317deab", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_address$", "type_string": "function(struct IterableMapping.Map,address)" - } + }, + "text": "functiongetIndexOfKey(Mapstoragemap,addresskey)publicviewreturns(int256){if(!map.inserted[key]){return-1;}returnint256(map.indexOf[key]);}" }, { "id": 4221, @@ -1431,14 +1444,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4235, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { "id": 4236, @@ -1458,7 +1473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4236, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -1667,13 +1683,14 @@ } ] }, - "signature_raw": "getKeyAtIndex(, uint256)", - "signature": "1e595ec3", + "signature_raw": "getKeyAtIndex(,uint256)", + "signature": "ef8c18cc", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_uint256$", "type_string": "function(struct IterableMapping.Map,uint256)" - } + }, + "text": "functiongetKeyAtIndex(Mapstoragemap,uint256index)publicviewreturns(address){returnmap.keys[index];}" }, { "id": 4238, @@ -1786,21 +1803,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4250, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.length" } } ] @@ -1956,7 +1976,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$", "type_string": "function(struct IterableMapping.Map)" - } + }, + "text": "functionsize(Mapstoragemap)publicviewreturns(uint256){returnmap.keys.length;}" }, { "id": 4252, @@ -2056,14 +2077,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4266, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { "id": 4267, @@ -2083,7 +2106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4267, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -2189,14 +2213,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4273, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { "id": 4274, @@ -2216,7 +2242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4274, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -2251,7 +2278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4275, - "is_pure": false + "is_pure": false, + "text": "val" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", @@ -2261,7 +2289,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", "type_string": "index[struct IterableMapping.Map:address]" - } + }, + "text": "map.values[key]=val;" } ] } @@ -2455,13 +2484,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "set(, address, uint256)", - "signature": "e219e74b", + "signature_raw": "set(,address,uint256)", + "signature": "44bf9442", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_address$_t_uint256$", "type_string": "function(struct IterableMapping.Map,address,uint256)" - } + }, + "text": "functionset(Mapstoragemap,addresskey,uint256val)public{if(map.inserted[key]){map.values[key]=val;}else{map.inserted[key]=true;map.values[key]=val;map.indexOf[key]=map.keys.length;map.keys.push(key);}}" }, { "id": 4277, @@ -2579,14 +2609,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4290, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { "id": 4291, @@ -2606,7 +2638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4291, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -2729,14 +2762,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4297, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.inserted" }, "base_expression": { "id": 4298, @@ -2756,7 +2791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4298, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -2848,14 +2884,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4302, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.values" }, "base_expression": { "id": 4303, @@ -2875,7 +2913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4303, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -3009,14 +3048,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4309, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { "id": 4310, @@ -3036,7 +3077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4310, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -3192,21 +3234,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4317, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.length" }, "right_expression": { "id": 4318, @@ -3228,7 +3273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", @@ -3349,14 +3395,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4324, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { "id": 4325, @@ -3376,7 +3424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4311, - "is_pure": false + "is_pure": false, + "text": "lastIndex" }, "type_descriptions": [ { @@ -3469,14 +3518,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4330, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { "id": 4331, @@ -3496,7 +3547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4319, - "is_pure": false + "is_pure": false, + "text": "lastKey" }, "type_descriptions": [ { @@ -3531,7 +3583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4304, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", @@ -3541,7 +3594,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_address]$", "type_string": "index[struct IterableMapping.Map:address]" - } + }, + "text": "map.indexOf[lastKey]=index;" }, { "id": 4333, @@ -3613,14 +3667,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4336, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.indexOf" }, "base_expression": { "id": 4337, @@ -3640,7 +3696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4337, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -3737,14 +3794,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 4342, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "base_expression": { "id": 4343, @@ -3764,7 +3823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4304, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -3799,7 +3859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4319, - "is_pure": false + "is_pure": false, + "text": "lastKey" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_uint256]$", @@ -3809,7 +3870,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_IterableMapping_Map_$4158]$_t_uint256]$", "type_string": "index[struct IterableMapping.Map:uint256]" - } + }, + "text": "map.keys[index]=lastKey;" }, { "id": 4345, @@ -3889,21 +3951,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 4348, - "is_pure": false + "is_pure": false, + "text": "map" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_struct$_IterableMapping_Map_$4158", "type_string": "struct IterableMapping.Map" - } + }, + "text": "map.keys.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -4056,13 +4121,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "remove(, address)", - "signature": "469d3b40", + "signature_raw": "remove(,address)", + "signature": "7d109e7a", "scope": 4156, "type_description": { "type_identifier": "t_function_$_t_struct$_IterableMapping_Map_$4158$_t_address$", "type_string": "function(struct IterableMapping.Map,address)" - } + }, + "text": "functionremove(Mapstoragemap,addresskey)public{if(!map.inserted[key]){return;}deletemap.inserted[key];deletemap.values[key];uint256index=map.indexOf[key];uint256lastIndex=map.keys.length-1;addresslastKey=map.keys[lastIndex];map.indexOf[lastKey]=index;deletemap.indexOf[key];map.keys[index]=lastKey;map.keys.pop();}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/Ownable.solgo.ast.json b/data/tests/contracts/babytoken/Ownable.solgo.ast.json index 012301f0..5c19120c 100644 --- a/data/tests/contracts/babytoken/Ownable.solgo.ast.json +++ b/data/tests/contracts/babytoken/Ownable.solgo.ast.json @@ -346,7 +346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -372,7 +373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -447,7 +449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -584,7 +587,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 1551, @@ -705,7 +709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -744,7 +749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -782,7 +788,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -803,7 +810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -828,7 +836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -926,7 +935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -972,7 +982,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -998,7 +1009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1077,7 +1089,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_setOwner(address(0));}" }, { "id": 1577, @@ -1169,7 +1182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1588, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1589, @@ -1210,7 +1224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1256,7 +1271,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1294,7 +1310,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1315,7 +1332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1359,7 +1377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1596, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1380,7 +1399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1505,7 +1525,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_setOwner(newOwner);}" }, { "id": 1598, @@ -1621,7 +1642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -1665,7 +1687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1611, @@ -1685,7 +1708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1611, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1695,7 +1719,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 1612, @@ -1727,7 +1752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1604, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 1614, @@ -1747,7 +1773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1614, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1768,7 +1795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1524, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -1859,7 +1887,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setOwner(addressnewOwner)private{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/OwnableUpgradeable.solgo.ast.json b/data/tests/contracts/babytoken/OwnableUpgradeable.solgo.ast.json index fb0c25f0..4a694583 100644 --- a/data/tests/contracts/babytoken/OwnableUpgradeable.solgo.ast.json +++ b/data/tests/contracts/babytoken/OwnableUpgradeable.solgo.ast.json @@ -334,7 +334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Context_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -373,7 +374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "__Ownable_init_unchained" }, "type_description": { "type_identifier": "t_function_$", @@ -452,7 +454,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Ownable_init()internalinitializer{__Context_init_unchained();__Ownable_init_unchained();}" }, { "id": 3485, @@ -540,7 +543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -566,7 +570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -645,7 +650,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function__Ownable_init_unchained()internalinitializer{_setOwner(_msgSender());}" }, { "id": 3496, @@ -712,7 +718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -849,7 +856,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 3507, @@ -970,7 +978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -1009,7 +1018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1047,7 +1057,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -1068,7 +1079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1093,7 +1105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -1191,7 +1204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1237,7 +1251,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1263,7 +1278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1342,7 +1358,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_setOwner(address(0));}" }, { "id": 3533, @@ -1434,7 +1451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3544, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 3545, @@ -1475,7 +1493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1521,7 +1540,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1559,7 +1579,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1580,7 +1601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1624,7 +1646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3552, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1645,7 +1668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setOwner" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1770,7 +1794,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_setOwner(newOwner);}" }, { "id": 3554, @@ -1886,7 +1911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -1930,7 +1956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1521, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 3567, @@ -1950,7 +1977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3567, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1960,7 +1988,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 3568, @@ -1992,7 +2021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3560, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 3570, @@ -2012,7 +2042,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3570, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -2033,7 +2064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1524, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -2124,7 +2156,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setOwner(addressnewOwner)private{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" }, { "id": 3573, @@ -2181,7 +2214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "49" }, "type_description": { "type_identifier": "t_rational_49_by_1", diff --git a/data/tests/contracts/babytoken/SafeERC20.solgo.ast.json b/data/tests/contracts/babytoken/SafeERC20.solgo.ast.json index 59b287d0..67d79ee4 100644 --- a/data/tests/contracts/babytoken/SafeERC20.solgo.ast.json +++ b/data/tests/contracts/babytoken/SafeERC20.solgo.ast.json @@ -162,7 +162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1319, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1320, @@ -255,21 +256,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1325, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 1326, @@ -295,7 +299,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 1327, @@ -325,7 +330,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -369,14 +375,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -402,7 +410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -598,13 +607,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 1329, @@ -682,7 +692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1344, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1345, @@ -779,21 +790,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1350, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 1351, @@ -819,7 +833,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 1352, @@ -849,7 +864,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1353, @@ -883,7 +899,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -927,14 +944,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -960,7 +979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -1200,13 +1220,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 1355, @@ -1326,7 +1347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1371, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1372, @@ -1348,7 +1370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1449,7 +1472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -1495,7 +1519,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1526,7 +1551,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -1570,14 +1596,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1377, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -1604,7 +1632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1648,7 +1677,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -1669,7 +1699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -1717,7 +1748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1388, @@ -1810,21 +1842,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1393, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1394, @@ -1850,7 +1885,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1395, @@ -1880,7 +1916,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -1924,14 +1961,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -1957,7 +1996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2153,13 +2193,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 1397, @@ -2330,7 +2371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2376,7 +2418,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2407,7 +2450,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -2451,14 +2495,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1414, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2483,7 +2529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1420, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2532,7 +2579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1423, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1424, @@ -2625,21 +2673,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1429, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1430, @@ -2665,7 +2716,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1431, @@ -2695,7 +2747,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -2739,14 +2792,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2772,7 +2827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2968,13 +3024,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256newAllowance=token.allowance(address(this),spender)+value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}" }, { "id": 1433, @@ -3145,7 +3202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3191,7 +3249,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3222,7 +3281,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -3266,14 +3326,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1450, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -3336,7 +3398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1445, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1460, @@ -3356,7 +3419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -3389,7 +3453,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -3410,7 +3475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3509,7 +3575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1445, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1467, @@ -3529,7 +3596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1467, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -3578,7 +3646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1470, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1471, @@ -3671,21 +3740,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1476, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1477, @@ -3711,7 +3783,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1478, @@ -3741,7 +3814,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { @@ -3785,14 +3859,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3818,7 +3894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -4016,13 +4093,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");uint256newAllowance=oldAllowance-value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}}" }, { "id": 1480, @@ -4160,7 +4238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1498, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 1499, @@ -4188,7 +4267,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -4251,7 +4331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1497, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -4297,7 +4378,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4309,7 +4391,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -4383,14 +4466,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1489, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1504, @@ -4412,7 +4497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4497,7 +4583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1512, @@ -4549,7 +4636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -4599,14 +4687,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -4639,7 +4729,8 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -4660,7 +4751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -4815,13 +4907,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 1300, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");if(returndata.length\u003e0){require(abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/SafeERC20NoRevert.solgo.ast.json b/data/tests/contracts/babytoken/SafeERC20NoRevert.solgo.ast.json index cda8446c..8a3c40ba 100644 --- a/data/tests/contracts/babytoken/SafeERC20NoRevert.solgo.ast.json +++ b/data/tests/contracts/babytoken/SafeERC20NoRevert.solgo.ast.json @@ -287,21 +287,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 2154, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 2155, @@ -327,7 +330,8 @@ "type_identifier": "t_contract$_IERC20_$347", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 2156, @@ -357,7 +361,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -401,14 +406,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -476,7 +483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2148, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -522,7 +530,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -534,7 +543,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).call" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_uint256$", @@ -596,7 +606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2138, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 2163, @@ -681,14 +692,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2138, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 2168, @@ -710,7 +723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -758,7 +772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2138, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 2173, @@ -810,7 +825,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -860,14 +876,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -994,7 +1012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2182, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -1040,7 +1059,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1052,14 +1072,16 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).code.length" }, "right_expression": { "id": 2183, @@ -1081,7 +1103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1335,13 +1358,14 @@ } ] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 2123, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$347$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internalreturns(bool){(boolsuccess,bytesmemoryreturndata)=address(token).call(abi.encodeWithSelector(token.transfer.selector,to,value));returnsuccess\u0026\u0026(returndata.length==0||abi.decode(returndata,(bool)))\u0026\u0026address(token).code.length\u003e0;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/SafeMath.solgo.ast.json b/data/tests/contracts/babytoken/SafeMath.solgo.ast.json index 69dce062..5933bffd 100644 --- a/data/tests/contracts/babytoken/SafeMath.solgo.ast.json +++ b/data/tests/contracts/babytoken/SafeMath.solgo.ast.json @@ -178,7 +178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1636, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1637, @@ -198,7 +199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1637, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -249,7 +251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1632, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 1641, @@ -269,7 +272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1641, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -337,7 +341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1646, @@ -357,7 +362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1632, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -580,13 +586,14 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, { "id": 1648, @@ -680,7 +687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1664, @@ -700,7 +708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1664, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -768,7 +777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1669, @@ -802,7 +812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1670, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1671, @@ -822,7 +833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1671, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1050,13 +1062,14 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, { "id": 1673, @@ -1150,7 +1163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1688, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1689, @@ -1172,7 +1186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1286,7 +1301,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1696, @@ -1306,7 +1322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1696, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1371,7 +1388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1691, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 1701, @@ -1391,7 +1409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1701, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -1416,7 +1435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1702, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -1484,7 +1504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1707, @@ -1504,7 +1525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1691, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -1727,13 +1749,14 @@ } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, { "id": 1709, @@ -1827,7 +1850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1724, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1725, @@ -1849,7 +1873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1917,7 +1942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1730, @@ -1951,7 +1977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1731, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1732, @@ -1971,7 +1998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1732, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2199,13 +2227,14 @@ } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, { "id": 1734, @@ -2299,7 +2328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1749, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1750, @@ -2321,7 +2351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2389,7 +2420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 1755, @@ -2423,7 +2455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1756, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1757, @@ -2443,7 +2476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1757, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2671,13 +2705,14 @@ } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, { "id": 1759, @@ -2758,7 +2793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1771, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1772, @@ -2778,7 +2814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1772, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2955,13 +2992,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { "id": 1774, @@ -3042,7 +3080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1786, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1787, @@ -3062,7 +3101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1787, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3239,13 +3279,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { "id": 1789, @@ -3326,7 +3367,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1801, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1802, @@ -3346,7 +3388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1802, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3523,13 +3566,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { "id": 1804, @@ -3610,7 +3654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1816, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1817, @@ -3630,7 +3675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1817, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3807,13 +3853,14 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { "id": 1819, @@ -3894,7 +3941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1831, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1832, @@ -3914,7 +3962,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1832, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4091,13 +4140,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, { "id": 1834, @@ -4203,7 +4253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1850, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1851, @@ -4223,7 +4274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1851, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -4254,7 +4306,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4275,7 +4328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -4326,7 +4380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1855, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1856, @@ -4346,7 +4401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1856, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4568,13 +4624,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, { "id": 1858, @@ -4680,7 +4737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1874, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1875, @@ -4702,7 +4760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4733,7 +4792,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4754,7 +4814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -4805,7 +4866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1879, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1880, @@ -4825,7 +4887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1880, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5047,13 +5110,14 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { "id": 1882, @@ -5159,7 +5223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1898, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 1899, @@ -5181,7 +5246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5212,7 +5278,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5233,7 +5300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -5284,7 +5352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1903, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1904, @@ -5304,7 +5373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5526,13 +5596,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", "scope": 1617, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/SafeMathInt.solgo.ast.json b/data/tests/contracts/babytoken/SafeMathInt.solgo.ast.json index cfb6b69e..e4e8918a 100644 --- a/data/tests/contracts/babytoken/SafeMathInt.solgo.ast.json +++ b/data/tests/contracts/babytoken/SafeMathInt.solgo.ast.json @@ -129,7 +129,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -174,7 +175,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_rational_1_by_1$", @@ -201,7 +203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "255" } ], "type_descriptions": [ @@ -344,7 +347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -389,7 +393,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_rational_1_by_1$", @@ -416,7 +421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "255" } ], "type_descriptions": [ @@ -573,7 +579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3949, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 3950, @@ -593,7 +600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3950, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -666,7 +674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3945, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 3956, @@ -686,7 +695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" }, "type_description": { "type_identifier": "t_bool", @@ -751,7 +761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3961, - "is_pure": false + "is_pure": false, + "text": "a" }, { "id": 3962, @@ -771,7 +782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" } ], "type_descriptions": [ @@ -835,7 +847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3966, - "is_pure": false + "is_pure": false, + "text": "b" }, { "id": 3967, @@ -855,7 +868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" } ], "type_descriptions": [ @@ -904,7 +918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -990,7 +1005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3973, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3974, @@ -1012,7 +1028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1085,7 +1102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3945, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 3979, @@ -1105,7 +1123,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3979, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -1130,7 +1149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3980, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -1167,7 +1187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -1204,7 +1225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3945, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1376,13 +1398,14 @@ } ] }, - "signature_raw": "mul(int256, int256)", - "signature": "ee990550", + "signature_raw": "mul(int256,int256)", + "signature": "bbe93d91", "scope": 3911, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionmul(int256a,int256b)internalpurereturns(int256){int256c=a*b;require(c!=MIN_INT256||(a\u0026MIN_INT256)!=(b\u0026MIN_INT256));require((b==0)||(c/b==a));returnc;}" }, { "id": 3984, @@ -1484,7 +1507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3998, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 3999, @@ -1524,7 +1548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -1568,7 +1593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4002, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4003, @@ -1588,7 +1614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" }, "type_description": { "type_identifier": "t_bool", @@ -1619,7 +1646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -1670,7 +1698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4006, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4007, @@ -1690,7 +1719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4007, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -1867,13 +1897,14 @@ } ] }, - "signature_raw": "div(int256, int256)", - "signature": "eb8569a6", + "signature_raw": "div(int256,int256)", + "signature": "43509138", "scope": 3911, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functiondiv(int256a,int256b)internalpurereturns(int256){require(b!=-1||a!=MIN_INT256);returna/b;}" }, { "id": 4009, @@ -2002,7 +2033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4023, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4024, @@ -2022,7 +2054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4024, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -2121,7 +2154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4032, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4033, @@ -2143,7 +2177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2182,7 +2217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4019, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 4036, @@ -2202,7 +2238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4036, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -2285,7 +2322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4041, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4042, @@ -2307,7 +2345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2346,7 +2385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4019, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 4045, @@ -2366,7 +2406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4045, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -2415,7 +2456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -2452,7 +2494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4019, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -2624,13 +2667,14 @@ } ] }, - "signature_raw": "sub(int256, int256)", - "signature": "af040589", + "signature_raw": "sub(int256,int256)", + "signature": "adefc37b", "scope": 3911, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionsub(int256a,int256b)internalpurereturns(int256){int256c=a-b;require((b\u003e=0\u0026\u0026c\u003c=a)||(b\u003c0\u0026\u0026c\u003ea));returnc;}" }, { "id": 4049, @@ -2759,7 +2803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4063, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4064, @@ -2779,7 +2824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4064, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -2878,7 +2924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4072, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4073, @@ -2900,7 +2947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2939,7 +2987,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4059, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 4076, @@ -2959,7 +3008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4076, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -3042,7 +3092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4081, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4082, @@ -3064,7 +3115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3103,7 +3155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4059, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 4085, @@ -3123,7 +3176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4085, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -3172,7 +3226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -3209,7 +3264,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4059, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -3381,13 +3437,14 @@ } ] }, - "signature_raw": "add(int256, int256)", - "signature": "86763e14", + "signature_raw": "add(int256,int256)", + "signature": "a5f3c23b", "scope": 3911, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionadd(int256a,int256b)internalpurereturns(int256){int256c=a+b;require((b\u003e=0\u0026\u0026c\u003e=a)||(b\u003c0\u0026\u0026c\u003ca));returnc;}" }, { "id": 4089, @@ -3475,7 +3532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4100, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4101, @@ -3495,7 +3553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3913, - "is_pure": false + "is_pure": false, + "text": "MIN_INT256" }, "type_description": { "type_identifier": "t_bool", @@ -3521,7 +3580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -3584,7 +3644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4106, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4107, @@ -3606,7 +3667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3649,7 +3711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4109, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_int256", @@ -3674,7 +3737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4110, - "is_pure": false + "is_pure": false, + "text": "a" } ], "type_descriptions": [ @@ -3826,7 +3890,8 @@ "type_description": { "type_identifier": "t_function_$_t_int256$", "type_string": "function(int256)" - } + }, + "text": "functionabs(int256a)internalpurereturns(int256){require(a!=MIN_INT256);returna\u003c0?-a:a;}" }, { "id": 4112, @@ -3914,7 +3979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4123, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 4124, @@ -3936,7 +4002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3962,7 +4029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -4018,7 +4086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4129, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -4063,7 +4132,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -4203,7 +4273,8 @@ "type_description": { "type_identifier": "t_function_$_t_int256$", "type_string": "function(int256)" - } + }, + "text": "functiontoUint256Safe(int256a)internalpurereturns(uint256){require(a\u003e=0);returnuint256(a);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/babytoken/SafeMathUint.solgo.ast.json b/data/tests/contracts/babytoken/SafeMathUint.solgo.ast.json index 3c10752b..9e5eb4ca 100644 --- a/data/tests/contracts/babytoken/SafeMathUint.solgo.ast.json +++ b/data/tests/contracts/babytoken/SafeMathUint.solgo.ast.json @@ -169,7 +169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4147, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -214,7 +215,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -273,7 +275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4141, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 4152, @@ -295,7 +298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -321,7 +325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -358,7 +363,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 4141, - "is_pure": false + "is_pure": false, + "text": "b" } } ] @@ -493,7 +499,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoInt256Safe(uint256a)internalpurereturns(int256){int256b=int256(a);require(b\u003e=0);returnb;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/blottery/BlockchainLottery.solgo.ast.json b/data/tests/contracts/blottery/BlockchainLottery.solgo.ast.json index 34c3e386..ef10d56b 100644 --- a/data/tests/contracts/blottery/BlockchainLottery.solgo.ast.json +++ b/data/tests/contracts/blottery/BlockchainLottery.solgo.ast.json @@ -395,7 +395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x90b0fd4e8baABFF5B75bC8cD5D371280F634482b" } }, { @@ -498,7 +499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -560,7 +562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -622,7 +625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50000" } }, { @@ -684,7 +688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "30" } }, { @@ -787,7 +792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -846,7 +852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 795, - "is_pure": false + "is_pure": false, + "text": "0.03ether" } }, { @@ -949,7 +956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1723193670" } }, { @@ -1052,7 +1060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "604800" } }, { @@ -1078,7 +1087,7 @@ "mutability": 1, "type_name": { "id": 829, - "node_type": 0, + "node_type": 53, "src": { "line": 131, "column": 2, @@ -1222,7 +1231,7 @@ "mutability": 1, "type_name": { "id": 836, - "node_type": 0, + "node_type": 53, "src": { "line": 132, "column": 2, @@ -2300,14 +2309,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -2444,7 +2455,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 32, @@ -2534,14 +2546,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -2676,7 +2690,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -3067,7 +3082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3093,7 +3109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3168,7 +3185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 50, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -3305,7 +3323,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 80, @@ -3426,7 +3445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -3465,7 +3485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3503,7 +3524,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -3524,7 +3546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3549,7 +3572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -3647,7 +3671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -3693,7 +3718,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -3719,7 +3745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -3798,7 +3825,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 106, @@ -3890,7 +3918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 117, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 118, @@ -3931,7 +3960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -3977,7 +4007,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -4015,7 +4046,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -4036,7 +4068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4080,7 +4113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 125, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -4101,7 +4135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4226,7 +4261,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 127, @@ -4342,7 +4378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 50, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -4386,7 +4423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 50, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 140, @@ -4406,7 +4444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 140, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -4416,7 +4455,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 141, @@ -4448,7 +4488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 133, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 143, @@ -4468,7 +4509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 143, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -4489,7 +4531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 53, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -4580,7 +4623,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ @@ -4913,7 +4957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x90b0fd4e8baABFF5B75bC8cD5D371280F634482b" } }, { @@ -5018,7 +5063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -5081,7 +5127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -5144,7 +5191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "50000" } }, { @@ -5207,7 +5255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "30" } }, { @@ -5312,7 +5361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -5372,7 +5422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 22, - "is_pure": false + "is_pure": false, + "text": "0.03ether" } }, { @@ -5477,7 +5528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1723193670" } }, { @@ -5582,7 +5634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "604800" } }, { @@ -5609,7 +5662,7 @@ "mutability": 1, "type_name": { "id": 211, - "node_type": 0, + "node_type": 53, "src": { "line": 131, "column": 2, @@ -5754,7 +5807,7 @@ "mutability": 1, "type_name": { "id": 219, - "node_type": 0, + "node_type": 53, "src": { "line": 132, "column": 2, @@ -6303,7 +6356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 199, - "is_pure": false + "is_pure": false, + "text": "startTime" }, "right_expression": { "id": 257, @@ -6346,14 +6400,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -6386,7 +6442,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Project not yet launched\"" } ], "expression": { @@ -6407,7 +6464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6469,7 +6527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "endTime" }, "right_expression": { "id": 264, @@ -6512,14 +6571,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -6552,7 +6613,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Project already finished\"" } ], "expression": { @@ -6573,7 +6635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6649,7 +6712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "ticketCount" }, "right_expression": { "id": 272, @@ -6669,7 +6733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 272, - "is_pure": false + "is_pure": false, + "text": "ticketAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -6694,7 +6759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 177, - "is_pure": false + "is_pure": false, + "text": "maximumTicketCount" }, "type_description": { "type_identifier": "t_bool", @@ -6727,7 +6793,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ticket limit reached\"" } ], "expression": { @@ -6748,7 +6815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6821,14 +6889,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 279, @@ -6862,7 +6932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -6966,14 +7037,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { "id": 287, @@ -7007,7 +7080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 192, - "is_pure": false + "is_pure": false, + "text": "ticketPrice" }, "right_expression": { "id": 289, @@ -7027,7 +7101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 289, - "is_pure": false + "is_pure": false, + "text": "ticketAmount" }, "type_description": { "type_identifier": "t_address", @@ -7065,7 +7140,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Not enough funds available\"" } ], "expression": { @@ -7086,7 +7162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7159,7 +7236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 210, - "is_pure": false + "is_pure": false, + "text": "myTicketCount" }, "base_expression": { "id": 296, @@ -7202,14 +7280,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -7244,7 +7324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 173, - "is_pure": false + "is_pure": false, + "text": "lotteryIndex" }, "type_descriptions": [ { @@ -7315,7 +7396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 210, - "is_pure": false + "is_pure": false, + "text": "myTicketCount" }, "base_expression": { "id": 303, @@ -7358,14 +7440,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -7400,7 +7484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 173, - "is_pure": false + "is_pure": false, + "text": "lotteryIndex" }, "type_descriptions": [ { @@ -7435,7 +7520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 306, - "is_pure": false + "is_pure": false, + "text": "ticketAmount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_uint256_$t_uint256$]$_t_address]$]$_t_rational_0_by_1]$", @@ -7450,7 +7536,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_uint256_$t_uint256$]$_t_address]$]$_t_rational_0_by_1]$", "type_string": "index[index[mapping(address=\u003emapping(uint256=\u003euint256)):address]:int_const 0]" - } + }, + "text": "myTicketCount[msg.sender][lotteryIndex]=myTicketCount[msg.sender][lotteryIndex]+ticketAmount;" }, { "id": 307, @@ -7543,7 +7630,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -7578,7 +7666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 308, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 314, @@ -7598,7 +7687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "ticketAmount" }, "type_description": { "type_identifier": "t_bool", @@ -7636,7 +7726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 308, - "is_pure": false + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_uint256", @@ -7703,7 +7794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "ticketCount" }, "right_expression": { "id": 321, @@ -7737,7 +7829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "ticketCount" }, "right_expression": { "id": 323, @@ -7759,7 +7852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -7774,7 +7868,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "ticketCount=ticketCount+1;" }, { "id": 324, @@ -7813,7 +7908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ticketCount" } ], "expression": { @@ -7879,7 +7975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 218, - "is_pure": false + "is_pure": false, + "text": "myTickets" }, "base_expression": { "id": 329, @@ -7922,14 +8019,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -7964,7 +8063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 173, - "is_pure": false + "is_pure": false, + "text": "lotteryIndex" }, "type_descriptions": [ { @@ -7986,7 +8086,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_uint256_$t_uint256_array$]$_t_address]$]$_t_rational_0_by_1]$", "type_string": "index[index[mapping(address=\u003emapping(uint256=\u003euint256[])):address]:int_const 0]" - } + }, + "text": "myTickets[msg.sender][lotteryIndex].push" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -8053,14 +8154,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -8104,14 +8207,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 156, - "is_pure": false + "is_pure": false, + "text": "ticketHolders" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "ticketHolders.push" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8208,7 +8313,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbuyTickets(uint256ticketAmount)externalpayable{require(startTime\u003c=block.timestamp,\"Project not yet launched\");require(endTime\u003e=block.timestamp,\"Project already finished\");require(ticketCount+ticketAmount\u003c=maximumTicketCount,\"Ticket limit reached\");if(msg.sender!=owner()){require(msg.value\u003e=ticketPrice*ticketAmount,\"Not enough funds available\");}myTicketCount[msg.sender][lotteryIndex]=myTicketCount[msg.sender][lotteryIndex]+ticketAmount;for(uint256x=0;x\u003cticketAmount;x++){ticketCount=ticketCount+1;myTickets[msg.sender][lotteryIndex].push(ticketCount);ticketHolders.push(msg.sender);}}" }, { "id": 339, @@ -8365,7 +8471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -8411,7 +8518,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8423,7 +8531,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } }, { @@ -8523,7 +8632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -8591,7 +8701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 159, - "is_pure": false + "is_pure": false, + "text": "roundWinner" } ], "argument_types": [ @@ -8611,7 +8722,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(roundWinner).call" }, "type_description": { "type_identifier": "t_function_payable$_t_address$", @@ -8661,7 +8773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "fees" } ], "expression": { @@ -8682,7 +8795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -8786,7 +8900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -8868,7 +8983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -8893,7 +9009,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_function_$$", "type_string": "function(function()) payable" - } + }, + "text": "payable(owner()).call" }, "type_description": { "type_identifier": "t_function_payable$_t_function_$$", @@ -8943,7 +9060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 365, - "is_pure": false + "is_pure": false, + "text": "ownerWallet" } ], "expression": { @@ -8964,7 +9082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -9105,7 +9224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "drawCount" }, { "id": 385, @@ -9131,7 +9251,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "roundWinner" }, { "id": 386, @@ -9193,7 +9314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 345, - "is_pure": false + "is_pure": false, + "text": "prizeMoney" }, "right_expression": { "id": 390, @@ -9213,7 +9335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 181, - "is_pure": false + "is_pure": false, + "text": "feePercentage" }, "type_description": { "type_identifier": "t_uint256", @@ -9240,7 +9363,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" }, "type_description": { "type_identifier": "t_uint256", @@ -9285,7 +9409,8 @@ "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" } - ] + ], + "text": "winningTicketNumber" }, { "id": 393, @@ -9323,7 +9448,8 @@ "type_identifier": "t_function_$_t_function_$$$_t_function_$_t_function_$$$$_t_tuple_$_t_uint256$$", "type_string": "function(function(),function(function()),tuple(uint256))" } - ] + ], + "text": "lotteryIndex" } ], "expression": { @@ -9344,7 +9470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "Records" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_tuple_$_t_uint256$_t_function_$_t_function_$_t_function_$_t_function_$_t_tuple_$_t_uint256$_t_function_$_t_function_$_t_function_$_t_function_$_t_tuple_$_t_uint256$_t_function_$_t_function_$_t_function_$_t_function_$_t_tuple_$_t_uint256$", @@ -9389,7 +9516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 378, - "is_pure": false + "is_pure": false, + "text": "newRecords" } ], "expression": { @@ -9433,14 +9561,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 238, - "is_pure": false + "is_pure": false, + "text": "records" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_struct$_BlockchainLottery_Records_$226", "type_string": "struct BlockchainLottery.Records" - } + }, + "text": "records.push" }, "type_description": { "type_identifier": "t_function_$_t_struct$_BlockchainLottery_Records_$226$", @@ -9478,7 +9608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 173, - "is_pure": false + "is_pure": false, + "text": "lotteryIndex" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -9526,7 +9657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 156, - "is_pure": false + "is_pure": false, + "text": "ticketHolders" }, "type_description": { "type_identifier": "t_address", @@ -9565,7 +9697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "restartBuying" }, "type_description": { "type_identifier": "t_function_$", @@ -9644,7 +9777,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functiondistributePrize()publiconlyOwner{uint256prizeMoney=address(this).balance;(boolfees,)=payable(roundWinner).call{value:(prizeMoney*feePercentage)/100}(\"\");require(fees);(boolownerWallet,)=payable(owner()).call{value:(prizeMoney*(100-feePercentage))/100}(\"\");require(ownerWallet);RecordsmemorynewRecords=Records(drawCount,roundWinner,(prizeMoney*feePercentage/100),winningTicketNumber,lotteryIndex);records.push(newRecords);lotteryIndex++;deleteticketHolders;restartBuying();}" }, { "id": 405, @@ -9801,7 +9935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -9847,7 +9982,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -9859,7 +9995,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } }, { @@ -9959,7 +10096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -10027,7 +10165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "manualWinnerAddress" } ], "argument_types": [ @@ -10047,7 +10186,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(manualWinnerAddress).call" }, "type_description": { "type_identifier": "t_function_payable$_t_address$", @@ -10097,7 +10237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 421, - "is_pure": false + "is_pure": false, + "text": "fees" } ], "expression": { @@ -10118,7 +10259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -10222,7 +10364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -10304,7 +10447,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -10329,7 +10473,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_function_$$", "type_string": "function(function()) payable" - } + }, + "text": "payable(owner()).call" }, "type_description": { "type_identifier": "t_function_payable$_t_function_$$", @@ -10379,7 +10524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 433, - "is_pure": false + "is_pure": false, + "text": "ownerWallet" } ], "expression": { @@ -10400,7 +10546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -10541,7 +10688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "drawCount" }, { "id": 453, @@ -10567,7 +10715,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "roundWinner" }, { "id": 454, @@ -10629,7 +10778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 413, - "is_pure": false + "is_pure": false, + "text": "prizeMoney" }, "right_expression": { "id": 458, @@ -10649,7 +10799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 181, - "is_pure": false + "is_pure": false, + "text": "feePercentage" }, "type_description": { "type_identifier": "t_uint256", @@ -10676,7 +10827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" }, "type_description": { "type_identifier": "t_uint256", @@ -10721,7 +10873,8 @@ "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" } - ] + ], + "text": "winningTicketNumber" }, { "id": 461, @@ -10759,7 +10912,8 @@ "type_identifier": "t_function_$_t_function_$$$_t_function_$_t_function_$$$$_t_tuple_$_t_uint256$$", "type_string": "function(function(),function(function()),tuple(uint256))" } - ] + ], + "text": "lotteryIndex" } ], "expression": { @@ -10780,7 +10934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "Records" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_tuple_$_t_uint256$_t_function_$_t_function_$_t_function_$_t_function_$_t_tuple_$_t_uint256$_t_function_$_t_function_$_t_function_$_t_function_$_t_tuple_$_t_uint256$_t_function_$_t_function_$_t_function_$_t_function_$_t_tuple_$_t_uint256$", @@ -10825,7 +10980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 446, - "is_pure": false + "is_pure": false, + "text": "newRecords" } ], "expression": { @@ -10869,14 +11025,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 238, - "is_pure": false + "is_pure": false, + "text": "records" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_struct$_BlockchainLottery_Records_$226", "type_string": "struct BlockchainLottery.Records" - } + }, + "text": "records.push" }, "type_description": { "type_identifier": "t_function_$_t_struct$_BlockchainLottery_Records_$226$", @@ -10914,7 +11072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 173, - "is_pure": false + "is_pure": false, + "text": "lotteryIndex" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -10962,7 +11121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 156, - "is_pure": false + "is_pure": false, + "text": "ticketHolders" }, "type_description": { "type_identifier": "t_address", @@ -11001,7 +11161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "restartBuying" }, "type_description": { "type_identifier": "t_function_$", @@ -11126,7 +11287,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionmanualNormalPrizeDistribute(addressmanualWinnerAddress)externalonlyOwner{uint256prizeMoney=address(this).balance;(boolfees,)=payable(manualWinnerAddress).call{value:(prizeMoney*feePercentage)/100}(\"\");require(fees);(boolownerWallet,)=payable(owner()).call{value:(prizeMoney*(100-feePercentage))/100}(\"\");require(ownerWallet);RecordsmemorynewRecords=Records(drawCount,roundWinner,(prizeMoney*feePercentage/100),winningTicketNumber,lotteryIndex);records.push(newRecords);lotteryIndex++;deleteticketHolders;restartBuying();}" }, { "id": 473, @@ -11204,7 +11366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 199, - "is_pure": false + "is_pure": false, + "text": "startTime" }, "right_expression": { "id": 482, @@ -11247,14 +11410,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_rational_1723193670_by_1", @@ -11264,7 +11429,8 @@ "type_description": { "type_identifier": "t_rational_1723193670_by_1", "type_string": "int_const 1723193670" - } + }, + "text": "startTime=block.timestamp;" }, { "id": 484, @@ -11307,7 +11473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "endTime" }, "right_expression": { "id": 487, @@ -11364,14 +11531,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { "id": 490, @@ -11391,7 +11560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "duration" }, "type_description": { "type_identifier": "t_uint256", @@ -11406,7 +11576,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "endTime=block.timestamp+duration;" } ] }, @@ -11480,7 +11651,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstartBuying()publiconlyOwner{startTime=block.timestamp;endTime=block.timestamp+duration;}" }, { "id": 492, @@ -11558,7 +11730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "endTime" }, "right_expression": { "id": 499, @@ -11615,14 +11788,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { "id": 502, @@ -11642,7 +11817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "duration" }, "type_description": { "type_identifier": "t_uint256", @@ -11657,7 +11833,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "endTime=block.timestamp+duration;" } ] }, @@ -11701,7 +11878,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrestartBuying()internal{endTime=block.timestamp+duration;}" }, { "id": 504, @@ -11922,14 +12100,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, { "id": 530, @@ -11972,7 +12152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -11984,7 +12165,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 532, @@ -12014,7 +12196,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_seed" }, { "id": 533, @@ -12048,7 +12231,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_salt" } ], "expression": { @@ -12092,14 +12276,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_uint256$_t_uint256$", @@ -12125,7 +12311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$_t_uint256$_t_uint256$", @@ -12175,7 +12362,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_address$_t_uint256$_t_uint256$", @@ -12200,7 +12388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 534, - "is_pure": false + "is_pure": false, + "text": "_mod" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_address$_t_uint256$_t_uint256$", @@ -12238,7 +12427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 516, - "is_pure": false + "is_pure": false, + "text": "num" } } ] @@ -12453,13 +12643,14 @@ } ] }, - "signature_raw": "randomNum(uint256, uint256, uint256)", - "signature": "992f678d", + "signature_raw": "randomNum(uint256,uint256,uint256)", + "signature": "28294640", "scope": 149, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionrandomNum(uint256_mod,uint256_seed,uint256_salt)internalviewreturns(uint256){uint256num=uint256(keccak256(abi.encodePacked(block.timestamp,msg.sender,_seed,_salt)))%_mod;returnnum;}" }, { "id": 538, @@ -12526,7 +12717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "ticketCount" } } ] @@ -12661,7 +12853,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetTicketCount()publicviewreturns(uint256){returnticketCount;}" }, { "id": 549, @@ -12728,7 +12921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 238, - "is_pure": false + "is_pure": false, + "text": "records" } } ] @@ -12891,7 +13085,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_BlockchainLottery_Records_$226$", "type_string": "function(struct BlockchainLottery.Records)" - } + }, + "text": "functiongetRecords()publicviewreturns(Records[]memory){returnrecords;}" }, { "id": 562, @@ -12969,7 +13164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 238, - "is_pure": false + "is_pure": false, + "text": "records" }, "base_expression": { "id": 574, @@ -12989,7 +13185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 574, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -13160,7 +13357,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetRecord(uint256index)publicviewreturns(Recordsmemory){returnrecords[index];}" }, { "id": 576, @@ -13252,7 +13450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "ticketCount" }, "right_expression": { "id": 586, @@ -13272,7 +13471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 169, - "is_pure": false + "is_pure": false, + "text": "minimumTicketCount" }, "type_description": { "type_identifier": "t_bool", @@ -13305,7 +13505,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ticket count is less than the minimum\"" } ], "expression": { @@ -13326,7 +13527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13452,7 +13654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ticketCount" }, { "id": 595, @@ -13509,14 +13712,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "right_expression": { "id": 598, @@ -13538,7 +13743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_description": { "type_identifier": "t_uint256", @@ -13577,7 +13783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 188, - "is_pure": false + "is_pure": false, + "text": "drawCount" }, "right_expression": { "id": 601, @@ -13599,7 +13806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13625,7 +13833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "randomNum" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_rational_0_by_1$", @@ -13652,7 +13861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_rational_0_by_1$", @@ -13701,7 +13911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 159, - "is_pure": false + "is_pure": false, + "text": "roundWinner" }, "right_expression": { "id": 606, @@ -13732,7 +13943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 156, - "is_pure": false + "is_pure": false, + "text": "ticketHolders" }, "base_expression": { "id": 608, @@ -13752,7 +13964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 588, - "is_pure": false + "is_pure": false, + "text": "winningLotteryNumber" }, "type_descriptions": [ { @@ -13777,7 +13990,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "roundWinner=ticketHolders[winningLotteryNumber];" }, { "id": 609, @@ -13811,7 +14025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributePrize" }, "type_description": { "type_identifier": "t_function_$", @@ -13849,7 +14064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 188, - "is_pure": false + "is_pure": false, + "text": "drawCount" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13902,7 +14118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "ticketCount" }, "right_expression": { "id": 616, @@ -13924,7 +14141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_uint256", @@ -13934,7 +14152,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "ticketCount=0;" } ] }, @@ -14008,7 +14227,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functiondrawLottery()publiconlyOwner{require(ticketCount\u003e=minimumTicketCount,\"Ticket count is less than the minimum\");uint256winningLotteryNumber=randomNum(ticketCount,block.timestamp*3,drawCount+5)+1;roundWinner=ticketHolders[winningLotteryNumber];distributePrize();drawCount++;ticketCount=0;}" }, { "id": 618, @@ -14105,14 +14325,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" } ], "expression": { @@ -14156,14 +14378,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 185, - "is_pure": false + "is_pure": false, + "text": "depositedAmounts" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "depositedAmounts.push" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -14242,7 +14466,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functiondeposit()externalpayableonlyOwner{depositedAmounts.push(msg.value);}" }, { "id": 630, @@ -14376,7 +14601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -14458,7 +14684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -14483,7 +14710,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_function_$$", "type_string": "function(function()) payable" - } + }, + "text": "payable(owner()).call" }, "type_description": { "type_identifier": "t_function_payable$_t_function_$$", @@ -14533,7 +14761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 636, - "is_pure": false + "is_pure": false, + "text": "main" } ], "expression": { @@ -14554,7 +14783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -14633,7 +14863,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdraw()externalonlyOwner{(boolmain,)=payable(owner()).call{value:address(this).balance}(\"\");require(main);}" }, { "id": 650, @@ -14711,7 +14942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 169, - "is_pure": false + "is_pure": false, + "text": "minimumTicketCount" }, "right_expression": { "id": 661, @@ -14731,7 +14963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 661, - "is_pure": false + "is_pure": false, + "text": "_minimumTicketCount" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -14741,7 +14974,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "minimumTicketCount=_minimumTicketCount;" } ] }, @@ -14860,7 +15094,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetMinimumTicketCount(uint256_minimumTicketCount)publiconlyOwner{minimumTicketCount=_minimumTicketCount;}" }, { "id": 663, @@ -14938,7 +15173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 162, - "is_pure": false + "is_pure": false, + "text": "feewallet" }, "right_expression": { "id": 674, @@ -14958,7 +15194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 674, - "is_pure": false + "is_pure": false, + "text": "_feewallet" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -14968,7 +15205,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x90b0fd4e8baABFF5B75bC8cD5D371280F634482b" - } + }, + "text": "feewallet=_feewallet;" } ] }, @@ -15088,7 +15326,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetWallets(address_feewallet)publiconlyOwner{feewallet=_feewallet;}" }, { "id": 676, @@ -15166,7 +15405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 188, - "is_pure": false + "is_pure": false, + "text": "drawCount" }, "right_expression": { "id": 687, @@ -15186,7 +15426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 687, - "is_pure": false + "is_pure": false, + "text": "_drawCount" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -15196,7 +15437,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "drawCount=_drawCount;" } ] }, @@ -15315,7 +15557,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetDrawCount(uint256_drawCount)externalonlyOwner{drawCount=_drawCount;}" }, { "id": 689, @@ -15393,7 +15636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 173, - "is_pure": false + "is_pure": false, + "text": "lotteryIndex" }, "right_expression": { "id": 700, @@ -15413,7 +15657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 700, - "is_pure": false + "is_pure": false, + "text": "_lotteryIndex" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -15423,7 +15668,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "lotteryIndex=_lotteryIndex;" } ] }, @@ -15542,7 +15788,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetLotteryIndex(uint256_lotteryIndex)externalonlyOwner{lotteryIndex=_lotteryIndex;}" }, { "id": 702, @@ -15620,7 +15867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 177, - "is_pure": false + "is_pure": false, + "text": "maximumTicketCount" }, "right_expression": { "id": 713, @@ -15640,7 +15888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "_maximumTicketCount" }, "type_description": { "type_identifier": "t_rational_50000_by_1", @@ -15650,7 +15899,8 @@ "type_description": { "type_identifier": "t_rational_50000_by_1", "type_string": "int_const 50000" - } + }, + "text": "maximumTicketCount=_maximumTicketCount;" } ] }, @@ -15769,7 +16019,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetMaximumTicketCount(uint256_maximumTicketCount)externalonlyOwner{maximumTicketCount=_maximumTicketCount;}" }, { "id": 715, @@ -15847,7 +16098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 192, - "is_pure": false + "is_pure": false, + "text": "ticketPrice" }, "right_expression": { "id": 726, @@ -15867,7 +16119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 726, - "is_pure": false + "is_pure": false, + "text": "_ticketPrice" }, "type_description": { "type_identifier": "t_address", @@ -15877,7 +16130,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "ticketPrice=_ticketPrice;" } ] }, @@ -15996,7 +16250,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetTicketPrice(uint256_ticketPrice)externalonlyOwner{ticketPrice=_ticketPrice;}" }, { "id": 728, @@ -16074,7 +16329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 181, - "is_pure": false + "is_pure": false, + "text": "feePercentage" }, "right_expression": { "id": 739, @@ -16094,7 +16350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 739, - "is_pure": false + "is_pure": false, + "text": "_taxPercentage" }, "type_description": { "type_identifier": "t_rational_30_by_1", @@ -16104,7 +16361,8 @@ "type_description": { "type_identifier": "t_rational_30_by_1", "type_string": "int_const 30" - } + }, + "text": "feePercentage=_taxPercentage;" } ] }, @@ -16223,7 +16481,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetTax(uint256_taxPercentage)externalonlyOwner{feePercentage=_taxPercentage;}" }, { "id": 741, @@ -16301,7 +16560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "endTime" }, "right_expression": { "id": 752, @@ -16321,7 +16581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 752, - "is_pure": false + "is_pure": false, + "text": "_endTime" }, "type_description": { "type_identifier": "t_uint256", @@ -16331,7 +16592,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "endTime=_endTime;" } ] }, @@ -16450,7 +16712,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetendTime(uint256_endTime)externalonlyOwner{endTime=_endTime;}" }, { "id": 754, @@ -16528,7 +16791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "duration" }, "right_expression": { "id": 765, @@ -16548,7 +16812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 765, - "is_pure": false + "is_pure": false, + "text": "_duration" }, "type_description": { "type_identifier": "t_rational_604800_by_1", @@ -16558,7 +16823,8 @@ "type_description": { "type_identifier": "t_rational_604800_by_1", "type_string": "int_const 604800" - } + }, + "text": "duration=_duration;" } ] }, @@ -16677,7 +16943,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetDuration(uint256_duration)externalonlyOwner{duration=_duration;}" }, { "id": 767, @@ -16744,7 +17011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 173, - "is_pure": false + "is_pure": false, + "text": "lotteryIndex" } } ] @@ -16879,7 +17147,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetLotteryIndex()externalviewreturns(uint256){returnlotteryIndex;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/blottery/BlockchainLottery.solgo.ast.proto.json b/data/tests/contracts/blottery/BlockchainLottery.solgo.ast.proto.json index 4569a6cd..fbf07e59 100644 --- a/data/tests/contracts/blottery/BlockchainLottery.solgo.ast.proto.json +++ b/data/tests/contracts/blottery/BlockchainLottery.solgo.ast.proto.json @@ -1093,6 +1093,7 @@ "parentIndex": "829", "start": "4051" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "2", "end": "4089", @@ -1231,6 +1232,7 @@ "parentIndex": "836", "start": "4123" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "2", "end": "4163", @@ -5588,6 +5590,7 @@ "parentIndex": "211", "start": "4051" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "2", "end": "4089", @@ -5728,6 +5731,7 @@ "parentIndex": "219", "start": "4123" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "2", "end": "4163", @@ -12531,7 +12535,7 @@ } }, "scope": "149", - "signature": "992f678d", + "signature": "28294640", "src": { "column": "2", "end": "6901", diff --git a/data/tests/contracts/blottery/Context.solgo.ast.json b/data/tests/contracts/blottery/Context.solgo.ast.json index 4c8ca21c..cc7cb4b6 100644 --- a/data/tests/contracts/blottery/Context.solgo.ast.json +++ b/data/tests/contracts/blottery/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 32, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/blottery/Ownable.solgo.ast.json b/data/tests/contracts/blottery/Ownable.solgo.ast.json index d1f72535..60658c12 100644 --- a/data/tests/contracts/blottery/Ownable.solgo.ast.json +++ b/data/tests/contracts/blottery/Ownable.solgo.ast.json @@ -370,7 +370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -396,7 +397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -471,7 +473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 50, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -608,7 +611,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 80, @@ -729,7 +733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -768,7 +773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -806,7 +812,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -827,7 +834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -852,7 +860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -950,7 +959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -996,7 +1006,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1022,7 +1033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1101,7 +1113,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 106, @@ -1193,7 +1206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 117, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 118, @@ -1234,7 +1248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1280,7 +1295,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1318,7 +1334,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1339,7 +1356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1383,7 +1401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 125, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1404,7 +1423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1529,7 +1549,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 127, @@ -1645,7 +1666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 50, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -1689,7 +1711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 50, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 140, @@ -1709,7 +1732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 140, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1719,7 +1743,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 141, @@ -1751,7 +1776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 133, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 143, @@ -1771,7 +1797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 143, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1792,7 +1819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 53, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -1883,7 +1911,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/Address.solgo.ast.json b/data/tests/contracts/cheelee/Address.solgo.ast.json index c2a0d14f..154981f3 100644 --- a/data/tests/contracts/cheelee/Address.solgo.ast.json +++ b/data/tests/contracts/cheelee/Address.solgo.ast.json @@ -322,7 +322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 253, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 268, @@ -344,7 +345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -485,7 +487,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){uint256size;assembly{size:=extcodesize(account)}returnsize\u003e0;}" }, { "id": 270, @@ -619,7 +622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -665,7 +669,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -677,7 +682,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 286, @@ -697,7 +703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 286, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -730,7 +737,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -751,7 +759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -855,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -911,14 +921,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -972,7 +984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 288, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 299, @@ -1000,7 +1013,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -1021,7 +1035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1153,13 +1168,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 301, @@ -1253,7 +1269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 315, @@ -1279,7 +1296,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 316, @@ -1311,7 +1329,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1332,7 +1351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -1510,13 +1530,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 318, @@ -1614,7 +1635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 333, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 334, @@ -1640,7 +1662,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 335, @@ -1672,7 +1695,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 336, @@ -1706,7 +1730,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1727,7 +1752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1948,13 +1974,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 338, @@ -2052,7 +2079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 354, @@ -2078,7 +2106,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 355, @@ -2108,7 +2137,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 356, @@ -2144,7 +2174,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2165,7 +2196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2386,13 +2418,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 358, @@ -2526,7 +2559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2572,7 +2606,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2584,7 +2619,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 380, @@ -2604,7 +2640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2637,7 +2674,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2658,7 +2696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2725,7 +2764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -2746,7 +2786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2779,7 +2820,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -2800,7 +2842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -2949,7 +2992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -3005,14 +3049,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 396, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -3082,7 +3128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 388, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 402, @@ -3108,7 +3155,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 403, @@ -3138,7 +3186,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -3159,7 +3208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -3423,13 +3473,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 405, @@ -3523,7 +3574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 418, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 419, @@ -3549,7 +3601,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 420, @@ -3581,7 +3634,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3602,7 +3656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3780,13 +3835,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 422, @@ -3883,7 +3939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 438, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -3904,7 +3961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3937,7 +3995,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -3958,7 +4017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -4107,7 +4167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 448, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4151,14 +4212,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4223,7 +4286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 440, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 453, @@ -4249,7 +4313,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 454, @@ -4279,7 +4344,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4300,7 +4366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -4521,13 +4588,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 456, @@ -4621,7 +4689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 470, @@ -4647,7 +4716,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 471, @@ -4679,7 +4749,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -4700,7 +4771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -4878,13 +4950,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 473, @@ -4981,7 +5054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -5002,7 +5076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5035,7 +5110,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -5056,7 +5132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5205,7 +5282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -5249,14 +5327,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 498, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -5321,7 +5401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 504, @@ -5347,7 +5428,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 505, @@ -5377,7 +5459,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5398,7 +5481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -5619,13 +5703,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 507, @@ -5691,7 +5776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 520, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 521, @@ -5737,7 +5823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 523, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -5955,13 +6042,14 @@ } ] }, - "signature_raw": "_verifyCallResult(bool, bytes, string)", - "signature": "2ce6cb58", + "signature_raw": "_verifyCallResult(bool,bytes,string)", + "signature": "18c2c6a2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "function_verifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)privatepurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/AdminUpgradeabilityProxy.solgo.ast.json b/data/tests/contracts/cheelee/AdminUpgradeabilityProxy.solgo.ast.json index 4e19d1d3..615aeefe 100644 --- a/data/tests/contracts/cheelee/AdminUpgradeabilityProxy.solgo.ast.json +++ b/data/tests/contracts/cheelee/AdminUpgradeabilityProxy.solgo.ast.json @@ -275,7 +275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1737, - "is_pure": false + "is_pure": false, + "text": "logic" }, { "id": 1738, @@ -295,7 +296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1738, - "is_pure": false + "is_pure": false, + "text": "admin" }, { "id": 1739, @@ -315,7 +317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1739, - "is_pure": false + "is_pure": false, + "text": "data" } ], "modifier_name": { diff --git a/data/tests/contracts/cheelee/BeaconProxy.solgo.ast.json b/data/tests/contracts/cheelee/BeaconProxy.solgo.ast.json index 1d22971b..e1458ca2 100644 --- a/data/tests/contracts/cheelee/BeaconProxy.solgo.ast.json +++ b/data/tests/contracts/cheelee/BeaconProxy.solgo.ast.json @@ -390,7 +390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 894, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" }, "right_expression": { "id": 981, @@ -483,7 +484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.beacon\"" } ], "expression": { @@ -504,7 +506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -554,7 +557,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -581,7 +585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -631,7 +636,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -662,7 +668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -714,7 +721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 995, @@ -740,7 +748,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 996, @@ -772,7 +781,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -793,7 +803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -882,7 +893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -1024,7 +1036,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_beacon()internalviewvirtualreturns(address){return_getBeacon();}" }, { "id": 1010, @@ -1161,7 +1174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -1187,7 +1201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1199,7 +1214,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IBeacon(_getBeacon()).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -1360,7 +1376,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(address){returnIBeacon(_getBeacon()).implementation();}" }, { "id": 1027, @@ -1442,7 +1459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1037, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 1038, @@ -1468,7 +1486,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1039, @@ -1500,7 +1519,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -1521,7 +1541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -1653,13 +1674,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setBeacon(address, bytes)", - "signature": "7fd69114", + "signature_raw": "_setBeacon(address,bytes)", + "signature": "d894e410", "scope": 963, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "function_setBeacon(addressbeacon,bytesmemorydata)internalvirtual{_upgradeBeaconToAndCall(beacon,data,false);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/Context.solgo.ast.json b/data/tests/contracts/cheelee/Context.solgo.ast.json index a610fae3..0249aa95 100644 --- a/data/tests/contracts/cheelee/Context.solgo.ast.json +++ b/data/tests/contracts/cheelee/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 1068, @@ -348,7 +351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" }, { "id": 1077, @@ -403,14 +407,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -545,7 +551,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){this;returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/ERC1967Proxy.solgo.ast.json b/data/tests/contracts/cheelee/ERC1967Proxy.solgo.ast.json index c4da9eb3..0b3d541e 100644 --- a/data/tests/contracts/cheelee/ERC1967Proxy.solgo.ast.json +++ b/data/tests/contracts/cheelee/ERC1967Proxy.solgo.ast.json @@ -371,7 +371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 629, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" }, "right_expression": { "id": 1330, @@ -464,7 +465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.implementation\"" } ], "expression": { @@ -485,7 +487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -535,7 +538,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -562,7 +566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -612,7 +617,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -643,7 +649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -695,7 +702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1343, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1344, @@ -721,7 +729,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_data" }, { "id": 1345, @@ -753,7 +762,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -774,7 +784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -886,14 +897,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 614, - "is_pure": false + "is_pure": false, + "text": "ERC1967Upgrade" }, "member_name": "_getImplementation", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ERC1967Upgrade_$614", "type_string": "contract ERC1967Upgrade" - } + }, + "text": "ERC1967Upgrade._getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -1054,7 +1067,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(addressimpl){returnERC1967Upgrade._getImplementation();}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/ERC1967Upgrade.solgo.ast.json b/data/tests/contracts/cheelee/ERC1967Upgrade.solgo.ast.json index 482834a2..e2fc3cf7 100644 --- a/data/tests/contracts/cheelee/ERC1967Upgrade.solgo.ast.json +++ b/data/tests/contracts/cheelee/ERC1967Upgrade.solgo.ast.json @@ -193,7 +193,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, { @@ -256,7 +257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, { @@ -445,7 +447,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -489,14 +492,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -508,7 +513,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" } } ] @@ -645,7 +651,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getImplementation()internalviewreturns(address){returnStorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;}" }, { "id": 653, @@ -742,7 +749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 664, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -786,14 +794,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -826,7 +836,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new implementation is not a contract\"" } ], "expression": { @@ -847,7 +858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -937,7 +949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -981,14 +994,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1000,7 +1015,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" }, "right_expression": { "id": 673, @@ -1020,7 +1036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1030,7 +1047,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;" } ] }, @@ -1120,7 +1138,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"ERC1967: new implementation is not a contract\");StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;}" }, { "id": 675, @@ -1194,7 +1213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -1215,7 +1235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1252,7 +1273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 685, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -1273,7 +1295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -1364,7 +1387,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_upgradeTo(addressnewImplementation)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { "id": 688, @@ -1438,7 +1462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 700, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -1459,7 +1484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1496,7 +1522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -1517,7 +1544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } }, { @@ -1600,14 +1628,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 708, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 709, @@ -1629,7 +1659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1654,7 +1685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 710, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -1716,7 +1748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 716, @@ -1742,7 +1775,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -1786,14 +1820,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -1971,13 +2007,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCall(address, bytes, bool)", - "signature": "b2f571b5", + "signature_raw": "_upgradeToAndCall(address,bytes,bool)", + "signature": "267b04ae", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCall(addressnewImplementation,bytesmemorydata,boolforceCall)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}}" }, { "id": 718, @@ -2107,7 +2144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -2152,7 +2190,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 735, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -2173,7 +2212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2260,14 +2300,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 741, @@ -2289,7 +2331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2314,7 +2357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 742, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -2376,7 +2420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 747, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 748, @@ -2402,7 +2447,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -2446,14 +2492,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -2581,7 +2629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ROLLBACK_SLOT" } ], "expression": { @@ -2625,14 +2674,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getBooleanSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getBooleanSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2710,14 +2761,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -2802,14 +2855,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 766, @@ -2831,7 +2886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -2841,7 +2897,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=true;" }, { "id": 767, @@ -2884,7 +2941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 771, @@ -2929,7 +2987,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"upgradeTo(address)\"" }, { "id": 775, @@ -2955,7 +3014,8 @@ "type_identifier": "t_string_literal", "type_string": "literal_string \"upgradeTo(address)\"" } - ] + ], + "text": "oldImplementation" } ], "expression": { @@ -2999,14 +3059,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSignature", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSignature" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -3055,14 +3117,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -3133,14 +3197,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 780, @@ -3162,7 +3228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -3172,7 +3239,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=false;" }, { "id": 781, @@ -3229,7 +3297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 728, - "is_pure": false + "is_pure": false, + "text": "oldImplementation" }, "right_expression": { "id": 785, @@ -3263,7 +3332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -3301,7 +3371,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967Upgrade: upgrade breaks further upgrades\"" } ], "expression": { @@ -3322,7 +3393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3366,7 +3438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 790, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -3387,7 +3460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3424,7 +3498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -3445,7 +3520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -3619,13 +3695,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCallSecure(address, bytes, bool)", - "signature": "1d5980d3", + "signature_raw": "_upgradeToAndCallSecure(address,bytes,bool)", + "signature": "ce2ea66a", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCallSecure(addressnewImplementation,bytesmemorydata,boolforceCall)internal{addressoldImplementation=_getImplementation();_setImplementation(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}StorageSlot.BooleanSlotstoragerollbackTesting=StorageSlot.getBooleanSlot(_ROLLBACK_SLOT);if(!rollbackTesting.value){rollbackTesting.value=true;Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(\"upgradeTo(address)\",oldImplementation));rollbackTesting.value=false;require(oldImplementation==_getImplementation(),\"ERC1967Upgrade: upgrade breaks further upgrades\");_setImplementation(newImplementation);emitUpgraded(newImplementation);}}" }, { "id": 795, @@ -3699,7 +3776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -3720,7 +3798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3757,7 +3836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -3778,7 +3858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1796, - "is_pure": false + "is_pure": false, + "text": "BeaconUpgraded" } }, { @@ -3861,14 +3942,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 815, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 816, @@ -3890,7 +3973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3915,7 +3999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -4033,7 +4118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 826, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -4054,7 +4140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4066,7 +4153,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -4097,7 +4185,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "data" } ], "expression": { @@ -4141,14 +4230,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes$", @@ -4326,13 +4417,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeBeaconToAndCall(address, bytes, bool)", - "signature": "01ace874", + "signature_raw": "_upgradeBeaconToAndCall(address,bytes,bool)", + "signature": "9ba186fe", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeBeaconToAndCall(addressnewBeacon,bytesmemorydata,boolforceCall)internal{_setBeacon(newBeacon);emitBeaconUpgraded(newBeacon);if(data.length\u003e0||forceCall){Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data);}}" }, { "id": 829, @@ -4394,7 +4486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, { @@ -4626,7 +4719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -4670,14 +4764,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4689,7 +4785,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" } } ] @@ -4826,7 +4923,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAdmin()internalviewreturns(address){returnStorageSlot.getAddressSlot(_ADMIN_SLOT).value;}" }, { "id": 855, @@ -4918,7 +5016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 864, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "right_expression": { "id": 865, @@ -4959,7 +5058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5005,7 +5105,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5043,7 +5144,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967: new admin is the zero address\"" } ], "expression": { @@ -5064,7 +5166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5154,7 +5257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -5198,14 +5302,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5217,7 +5323,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" }, "right_expression": { "id": 877, @@ -5237,7 +5344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 877, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5247,7 +5355,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;" } ] }, @@ -5337,7 +5446,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setAdmin(addressnewAdmin)private{require(newAdmin!=address(0),\"ERC1967: new admin is the zero address\");StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;}" }, { "id": 879, @@ -5418,7 +5528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -5443,7 +5554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 888, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -5464,7 +5576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "AdminChanged" } }, { @@ -5504,7 +5617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 892, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -5525,7 +5639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5620,7 +5735,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_changeAdmin(addressnewAdmin)internal{emitAdminChanged(_getAdmin(),newAdmin);_setAdmin(newAdmin);}" }, { "id": 894, @@ -5682,7 +5798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, { @@ -5871,7 +5988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -5915,14 +6033,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5934,7 +6054,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" } } ] @@ -6071,7 +6192,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getBeacon()internalviewreturns(address){returnStorageSlot.getAddressSlot(_BEACON_SLOT).value;}" }, { "id": 918, @@ -6168,7 +6290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -6212,14 +6335,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6252,7 +6377,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new beacon is not a contract\"" } ], "expression": { @@ -6273,7 +6399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -6396,7 +6523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -6417,7 +6545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6429,7 +6558,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -6478,14 +6608,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6518,7 +6650,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "\"ERC1967: beacon implementation is not a contract\"" } ], "expression": { @@ -6539,7 +6672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_literal$", @@ -6629,7 +6763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -6673,14 +6808,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6692,7 +6829,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" }, "right_expression": { "id": 949, @@ -6712,7 +6850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "newBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6722,7 +6861,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;" } ] }, @@ -6812,7 +6952,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setBeacon(addressnewBeacon)private{require(Address.isContract(newBeacon),\"ERC1967: new beacon is not a contract\");require(Address.isContract(IBeacon(newBeacon).implementation()),\"ERC1967: beacon implementation is not a contract\");StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/IBeacon.solgo.ast.json b/data/tests/contracts/cheelee/IBeacon.solgo.ast.json index f771d289..a5c8947f 100644 --- a/data/tests/contracts/cheelee/IBeacon.solgo.ast.json +++ b/data/tests/contracts/cheelee/IBeacon.solgo.ast.json @@ -229,7 +229,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalviewreturns(address);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/Ownable.solgo.ast.json b/data/tests/contracts/cheelee/Ownable.solgo.ast.json index ce292de6..4f0e0c0e 100644 --- a/data/tests/contracts/cheelee/Ownable.solgo.ast.json +++ b/data/tests/contracts/cheelee/Ownable.solgo.ast.json @@ -431,7 +431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -480,7 +481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1122, @@ -500,7 +502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -510,7 +513,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 1123, @@ -563,7 +567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -609,7 +614,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -634,7 +640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -655,7 +662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -726,7 +734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -863,7 +872,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 1142, @@ -984,7 +994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -1023,7 +1034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1061,7 +1073,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -1082,7 +1095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1107,7 +1121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -1177,7 +1192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1163, @@ -1218,7 +1234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1264,7 +1281,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1290,7 +1308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -1334,7 +1353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1171, @@ -1375,7 +1395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1421,7 +1442,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1436,7 +1458,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -1510,7 +1533,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" }, { "id": 1176, @@ -1602,7 +1626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1188, @@ -1643,7 +1668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1689,7 +1715,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1727,7 +1754,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1748,7 +1776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1785,7 +1814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1195, @@ -1805,7 +1835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1195, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1826,7 +1857,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -1870,7 +1902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1200, @@ -1890,7 +1923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1200, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1900,7 +1934,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -2020,7 +2055,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/Proxy.solgo.ast.json b/data/tests/contracts/cheelee/Proxy.solgo.ast.json index ad8e7452..d6e65238 100644 --- a/data/tests/contracts/cheelee/Proxy.solgo.ast.json +++ b/data/tests/contracts/cheelee/Proxy.solgo.ast.json @@ -2188,7 +2188,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_delegate(addressimplementation)internalvirtual{assembly{calldatacopy(0,0,calldatasize())letresult:=delegatecall(gas(),implementation,0,calldatasize(),0,0)returndatacopy(0,0,returndatasize())switchresultcase0{revert(0,returndatasize())}default{return(0,returndatasize())}}}" }, { "id": 201, @@ -2358,7 +2359,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualreturns(address);" }, { "id": 210, @@ -2427,7 +2429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -2485,7 +2488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -2511,7 +2515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_delegate" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2560,7 +2565,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_fallback()internalvirtual{_beforeFallback();_delegate(_implementation());}" }, { "id": 221, @@ -2653,7 +2659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -2755,7 +2762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -2843,7 +2851,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_beforeFallback()internalvirtual{}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/ProxyAdmin.solgo.ast.json b/data/tests/contracts/cheelee/ProxyAdmin.solgo.ast.json index 080faa8f..779d08b9 100644 --- a/data/tests/contracts/cheelee/ProxyAdmin.solgo.ast.json +++ b/data/tests/contracts/cheelee/ProxyAdmin.solgo.ast.json @@ -320,7 +320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"5c60da1b\"" } ], "expression": { @@ -383,7 +384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1590, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -429,7 +431,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -441,7 +444,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -486,7 +490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -507,7 +512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -567,7 +573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1600, @@ -620,7 +627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -670,14 +678,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -839,7 +849,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyImplementation(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"5c60da1b\");require(success);returnabi.decode(returndata,(address));}" }, { "id": 1604, @@ -1020,7 +1031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"f851a440\"" } ], "expression": { @@ -1083,7 +1095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1623, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -1129,7 +1142,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1141,7 +1155,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -1186,7 +1201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -1207,7 +1223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -1267,7 +1284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1633, @@ -1320,7 +1338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -1370,14 +1389,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -1539,7 +1560,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyAdmin(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"f851a440\");require(success);returnabi.decode(returndata,(address));}" }, { "id": 1637, @@ -1613,7 +1635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1651, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -1657,14 +1680,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1650, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "changeAdmin", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1847,13 +1872,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "changeProxyAdmin(, address)", - "signature": "2767cae2", + "signature_raw": "changeProxyAdmin(,address)", + "signature": "3450da5f", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionchangeProxyAdmin(TransparentUpgradeableProxyproxy,addressnewAdmin)publicvirtualonlyOwner{proxy.changeAdmin(newAdmin);}" }, { "id": 1653, @@ -1927,7 +1953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "implementation" } ], "expression": { @@ -1971,14 +1998,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1666, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeTo", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeTo" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2161,13 +2190,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgrade(, address)", - "signature": "4d8866a1", + "signature_raw": "upgrade(,address)", + "signature": "9bb0528c", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionupgrade(TransparentUpgradeableProxyproxy,addressimplementation)publicvirtualonlyOwner{proxy.upgradeTo(implementation);}" }, { "id": 1669, @@ -2245,7 +2275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1686, - "is_pure": false + "is_pure": false, + "text": "implementation" }, { "id": 1687, @@ -2271,7 +2302,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -2327,14 +2359,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1685, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeToAndCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeToAndCall" }, "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", @@ -2565,13 +2599,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeAndCall(, address, bytes)", - "signature": "2bf09e1e", + "signature_raw": "upgradeAndCall(,address,bytes)", + "signature": "c044ab52", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$_t_bytes$", "type_string": "function(contract TransparentUpgradeableProxy,address,bytes)" - } + }, + "text": "functionupgradeAndCall(TransparentUpgradeableProxyproxy,addressimplementation,bytesmemorydata)publicpayablevirtualonlyOwner{proxy.upgradeToAndCall{value:msg.value}(implementation,data);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/StorageSlot.solgo.ast.json b/data/tests/contracts/cheelee/StorageSlot.solgo.ast.json index 054c409e..06e58c20 100644 --- a/data/tests/contracts/cheelee/StorageSlot.solgo.ast.json +++ b/data/tests/contracts/cheelee/StorageSlot.solgo.ast.json @@ -617,7 +617,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetAddressSlot(bytes32slot)internalpurereturns(AddressSlotstorager){assembly{r.slot:=slot}}" }, { "id": 564, @@ -902,7 +903,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBooleanSlot(bytes32slot)internalpurereturns(BooleanSlotstorager){assembly{r.slot:=slot}}" }, { "id": 581, @@ -1187,7 +1189,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBytes32Slot(bytes32slot)internalpurereturns(Bytes32Slotstorager){assembly{r.slot:=slot}}" }, { "id": 598, @@ -1472,7 +1475,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetUint256Slot(bytes32slot)internalpurereturns(Uint256Slotstorager){assembly{r.slot:=slot}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/cheelee/TransparentUpgradeableProxy.solgo.ast.json b/data/tests/contracts/cheelee/TransparentUpgradeableProxy.solgo.ast.json index 1857514a..c5dd8800 100644 --- a/data/tests/contracts/cheelee/TransparentUpgradeableProxy.solgo.ast.json +++ b/data/tests/contracts/cheelee/TransparentUpgradeableProxy.solgo.ast.json @@ -655,7 +655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, { @@ -717,7 +718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, { @@ -961,7 +963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, { @@ -1144,7 +1147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, { @@ -1949,7 +1953,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalviewreturns(address);" } ], "linearized_base_contracts": [ @@ -4158,7 +4163,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_delegate(addressimplementation)internalvirtual{assembly{calldatacopy(0,0,calldatasize())letresult:=delegatecall(gas(),implementation,0,calldatasize(),0,0)returndatacopy(0,0,returndatasize())switchresultcase0{revert(0,returndatasize())}default{return(0,returndatasize())}}}" }, { "id": 201, @@ -4328,7 +4334,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualreturns(address);" }, { "id": 210, @@ -4397,7 +4404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -4455,7 +4463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -4481,7 +4490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_delegate" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4530,7 +4540,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_fallback()internalvirtual{_beforeFallback();_delegate(_implementation());}" }, { "id": 221, @@ -4623,7 +4634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -4725,7 +4737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -4813,7 +4826,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_beforeFallback()internalvirtual{}" } ], "linearized_base_contracts": [ @@ -5156,7 +5170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 253, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 268, @@ -5178,7 +5193,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5319,7 +5335,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){uint256size;assembly{size:=extcodesize(account)}returnsize\u003e0;}" }, { "id": 270, @@ -5453,7 +5470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -5499,7 +5517,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5511,7 +5530,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 286, @@ -5531,7 +5551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 286, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -5564,7 +5585,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -5585,7 +5607,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5689,7 +5712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -5745,14 +5769,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -5806,7 +5832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 288, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 299, @@ -5834,7 +5861,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -5855,7 +5883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5987,13 +6016,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 301, @@ -6087,7 +6117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 315, @@ -6113,7 +6144,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 316, @@ -6145,7 +6177,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -6166,7 +6199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -6344,13 +6378,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 318, @@ -6448,7 +6483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 333, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 334, @@ -6474,7 +6510,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 335, @@ -6506,7 +6543,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 336, @@ -6540,7 +6578,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -6561,7 +6600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -6782,13 +6822,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 338, @@ -6886,7 +6927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 354, @@ -6912,7 +6954,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 355, @@ -6942,7 +6985,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 356, @@ -6978,7 +7022,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -6999,7 +7044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -7220,13 +7266,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 358, @@ -7360,7 +7407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -7406,7 +7454,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7418,7 +7467,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 380, @@ -7438,7 +7488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -7471,7 +7522,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -7492,7 +7544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7559,7 +7612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -7580,7 +7634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7613,7 +7668,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -7634,7 +7690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -7783,7 +7840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -7839,14 +7897,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 396, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -7916,7 +7976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 388, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 402, @@ -7942,7 +8003,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 403, @@ -7972,7 +8034,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -7993,7 +8056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -8257,13 +8321,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 405, @@ -8357,7 +8422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 418, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 419, @@ -8383,7 +8449,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 420, @@ -8415,7 +8482,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -8436,7 +8504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -8614,13 +8683,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 422, @@ -8717,7 +8787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 438, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -8738,7 +8809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8771,7 +8843,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -8792,7 +8865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -8941,7 +9015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 448, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -8985,14 +9060,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -9057,7 +9134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 440, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 453, @@ -9083,7 +9161,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 454, @@ -9113,7 +9192,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -9134,7 +9214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -9355,13 +9436,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 456, @@ -9455,7 +9537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 470, @@ -9481,7 +9564,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 471, @@ -9513,7 +9597,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -9534,7 +9619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -9712,13 +9798,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 473, @@ -9815,7 +9902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -9836,7 +9924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -9869,7 +9958,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -9890,7 +9980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -10039,7 +10130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -10083,14 +10175,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 498, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -10155,7 +10249,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 504, @@ -10181,7 +10276,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 505, @@ -10211,7 +10307,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -10232,7 +10329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -10453,13 +10551,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 507, @@ -10525,7 +10624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 520, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 521, @@ -10571,7 +10671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 523, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -10789,13 +10890,14 @@ } ] }, - "signature_raw": "_verifyCallResult(bool, bytes, string)", - "signature": "2ce6cb58", + "signature_raw": "_verifyCallResult(bool,bytes,string)", + "signature": "18c2c6a2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "function_verifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)privatepurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ @@ -11433,7 +11535,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetAddressSlot(bytes32slot)internalpurereturns(AddressSlotstorager){assembly{r.slot:=slot}}" }, { "id": 564, @@ -11718,7 +11821,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBooleanSlot(bytes32slot)internalpurereturns(BooleanSlotstorager){assembly{r.slot:=slot}}" }, { "id": 581, @@ -12003,7 +12107,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBytes32Slot(bytes32slot)internalpurereturns(Bytes32Slotstorager){assembly{r.slot:=slot}}" }, { "id": 598, @@ -12288,7 +12393,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetUint256Slot(bytes32slot)internalpurereturns(Uint256Slotstorager){assembly{r.slot:=slot}}" } ], "linearized_base_contracts": [ @@ -12502,7 +12608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, { @@ -12565,7 +12672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, { @@ -12754,7 +12862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -12798,14 +12907,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -12817,7 +12928,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" } } ] @@ -12954,7 +13066,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getImplementation()internalviewreturns(address){returnStorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;}" }, { "id": 653, @@ -13051,7 +13164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 664, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13095,14 +13209,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13135,7 +13251,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new implementation is not a contract\"" } ], "expression": { @@ -13156,7 +13273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -13246,7 +13364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -13290,14 +13409,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -13309,7 +13430,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" }, "right_expression": { "id": 673, @@ -13329,7 +13451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -13339,7 +13462,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;" } ] }, @@ -13429,7 +13553,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"ERC1967: new implementation is not a contract\");StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;}" }, { "id": 675, @@ -13503,7 +13628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13524,7 +13650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13561,7 +13688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 685, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13582,7 +13710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -13673,7 +13802,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_upgradeTo(addressnewImplementation)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { "id": 688, @@ -13747,7 +13877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 700, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13768,7 +13899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13805,7 +13937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13826,7 +13959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } }, { @@ -13909,14 +14043,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 708, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 709, @@ -13938,7 +14074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13963,7 +14100,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 710, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -14025,7 +14163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 716, @@ -14051,7 +14190,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -14095,14 +14235,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -14280,13 +14422,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCall(address, bytes, bool)", - "signature": "b2f571b5", + "signature_raw": "_upgradeToAndCall(address,bytes,bool)", + "signature": "267b04ae", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCall(addressnewImplementation,bytesmemorydata,boolforceCall)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}}" }, { "id": 718, @@ -14416,7 +14559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -14461,7 +14605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 735, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -14482,7 +14627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -14569,14 +14715,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 741, @@ -14598,7 +14746,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -14623,7 +14772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 742, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -14685,7 +14835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 747, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 748, @@ -14711,7 +14862,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -14755,14 +14907,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -14890,7 +15044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ROLLBACK_SLOT" } ], "expression": { @@ -14934,14 +15089,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getBooleanSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getBooleanSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15019,14 +15176,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -15111,14 +15270,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 766, @@ -15140,7 +15301,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -15150,7 +15312,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=true;" }, { "id": 767, @@ -15193,7 +15356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 771, @@ -15238,7 +15402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"upgradeTo(address)\"" }, { "id": 775, @@ -15264,7 +15429,8 @@ "type_identifier": "t_string_literal", "type_string": "literal_string \"upgradeTo(address)\"" } - ] + ], + "text": "oldImplementation" } ], "expression": { @@ -15308,14 +15474,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSignature", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSignature" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -15364,14 +15532,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -15442,14 +15612,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 780, @@ -15471,7 +15643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -15481,7 +15654,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=false;" }, { "id": 781, @@ -15538,7 +15712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 728, - "is_pure": false + "is_pure": false, + "text": "oldImplementation" }, "right_expression": { "id": 785, @@ -15572,7 +15747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -15610,7 +15786,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967Upgrade: upgrade breaks further upgrades\"" } ], "expression": { @@ -15631,7 +15808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15675,7 +15853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 790, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -15696,7 +15875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15733,7 +15913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -15754,7 +15935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -15928,13 +16110,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCallSecure(address, bytes, bool)", - "signature": "1d5980d3", + "signature_raw": "_upgradeToAndCallSecure(address,bytes,bool)", + "signature": "ce2ea66a", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCallSecure(addressnewImplementation,bytesmemorydata,boolforceCall)internal{addressoldImplementation=_getImplementation();_setImplementation(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}StorageSlot.BooleanSlotstoragerollbackTesting=StorageSlot.getBooleanSlot(_ROLLBACK_SLOT);if(!rollbackTesting.value){rollbackTesting.value=true;Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(\"upgradeTo(address)\",oldImplementation));rollbackTesting.value=false;require(oldImplementation==_getImplementation(),\"ERC1967Upgrade: upgrade breaks further upgrades\");_setImplementation(newImplementation);emitUpgraded(newImplementation);}}" }, { "id": 795, @@ -16008,7 +16191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -16029,7 +16213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16066,7 +16251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -16087,7 +16273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1796, - "is_pure": false + "is_pure": false, + "text": "BeaconUpgraded" } }, { @@ -16170,14 +16357,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 815, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 816, @@ -16199,7 +16388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -16224,7 +16414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -16342,7 +16533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 826, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -16363,7 +16555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16375,7 +16568,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -16406,7 +16600,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "data" } ], "expression": { @@ -16450,14 +16645,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes$", @@ -16635,13 +16832,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeBeaconToAndCall(address, bytes, bool)", - "signature": "01ace874", + "signature_raw": "_upgradeBeaconToAndCall(address,bytes,bool)", + "signature": "9ba186fe", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeBeaconToAndCall(addressnewBeacon,bytesmemorydata,boolforceCall)internal{_setBeacon(newBeacon);emitBeaconUpgraded(newBeacon);if(data.length\u003e0||forceCall){Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data);}}" }, { "id": 829, @@ -16703,7 +16901,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, { @@ -16935,7 +17134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -16979,14 +17179,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -16998,7 +17200,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" } } ] @@ -17135,7 +17338,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAdmin()internalviewreturns(address){returnStorageSlot.getAddressSlot(_ADMIN_SLOT).value;}" }, { "id": 855, @@ -17227,7 +17431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 864, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "right_expression": { "id": 865, @@ -17268,7 +17473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17314,7 +17520,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17352,7 +17559,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967: new admin is the zero address\"" } ], "expression": { @@ -17373,7 +17581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17463,7 +17672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -17507,14 +17717,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -17526,7 +17738,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" }, "right_expression": { "id": 877, @@ -17546,7 +17759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 877, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -17556,7 +17770,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;" } ] }, @@ -17646,7 +17861,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setAdmin(addressnewAdmin)private{require(newAdmin!=address(0),\"ERC1967: new admin is the zero address\");StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;}" }, { "id": 879, @@ -17727,7 +17943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -17752,7 +17969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 888, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -17773,7 +17991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "AdminChanged" } }, { @@ -17813,7 +18032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 892, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -17834,7 +18054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17929,7 +18150,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_changeAdmin(addressnewAdmin)internal{emitAdminChanged(_getAdmin(),newAdmin);_setAdmin(newAdmin);}" }, { "id": 894, @@ -17991,7 +18213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, { @@ -18180,7 +18403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -18224,14 +18448,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18243,7 +18469,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" } } ] @@ -18380,7 +18607,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getBeacon()internalviewreturns(address){returnStorageSlot.getAddressSlot(_BEACON_SLOT).value;}" }, { "id": 918, @@ -18477,7 +18705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -18521,14 +18750,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18561,7 +18792,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new beacon is not a contract\"" } ], "expression": { @@ -18582,7 +18814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -18705,7 +18938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -18726,7 +18960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18738,7 +18973,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -18787,14 +19023,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18827,7 +19065,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "\"ERC1967: beacon implementation is not a contract\"" } ], "expression": { @@ -18848,7 +19087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_literal$", @@ -18938,7 +19178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -18982,14 +19223,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -19001,7 +19244,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" }, "right_expression": { "id": 949, @@ -19021,7 +19265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "newBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -19031,7 +19276,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;" } ] }, @@ -19121,7 +19367,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setBeacon(addressnewBeacon)private{require(Address.isContract(newBeacon),\"ERC1967: new beacon is not a contract\");require(Address.isContract(IBeacon(newBeacon).implementation()),\"ERC1967: beacon implementation is not a contract\");StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;}" } ], "linearized_base_contracts": [ @@ -19539,7 +19786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 894, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" }, "right_expression": { "id": 981, @@ -19632,7 +19880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.beacon\"" } ], "expression": { @@ -19653,7 +19902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -19703,7 +19953,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -19730,7 +19981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -19780,7 +20032,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -19811,7 +20064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -19863,7 +20117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 995, @@ -19889,7 +20144,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 996, @@ -19921,7 +20177,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -19942,7 +20199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -20031,7 +20289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -20173,7 +20432,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_beacon()internalviewvirtualreturns(address){return_getBeacon();}" }, { "id": 1010, @@ -20310,7 +20570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -20336,7 +20597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -20348,7 +20610,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IBeacon(_getBeacon()).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -20509,7 +20772,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(address){returnIBeacon(_getBeacon()).implementation();}" }, { "id": 1027, @@ -20591,7 +20855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1037, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 1038, @@ -20617,7 +20882,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1039, @@ -20649,7 +20915,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -20670,7 +20937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -20802,13 +21070,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setBeacon(address, bytes)", - "signature": "7fd69114", + "signature_raw": "_setBeacon(address,bytes)", + "signature": "d894e410", "scope": 963, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "function_setBeacon(addressbeacon,bytesmemorydata)internalvirtual{_upgradeBeaconToAndCall(beacon,data,false);}" } ], "linearized_base_contracts": [ @@ -21042,14 +21311,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -21186,7 +21457,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 1068, @@ -21241,7 +21513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" }, { "id": 1077, @@ -21296,14 +21569,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -21438,7 +21713,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){this;returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -21890,7 +22166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -21939,7 +22216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1122, @@ -21959,7 +22237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -21969,7 +22248,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 1123, @@ -22022,7 +22302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22068,7 +22349,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22093,7 +22375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -22114,7 +22397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -22185,7 +22469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -22322,7 +22607,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 1142, @@ -22443,7 +22729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -22482,7 +22769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -22520,7 +22808,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -22541,7 +22830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22566,7 +22856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -22636,7 +22927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1163, @@ -22677,7 +22969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22723,7 +23016,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22749,7 +23043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -22793,7 +23088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1171, @@ -22834,7 +23130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22880,7 +23177,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22895,7 +23193,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -22969,7 +23268,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" }, { "id": 1176, @@ -23061,7 +23361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1188, @@ -23102,7 +23403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -23148,7 +23450,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -23186,7 +23489,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -23207,7 +23511,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -23244,7 +23549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1195, @@ -23264,7 +23570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1195, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -23285,7 +23592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -23329,7 +23637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1200, @@ -23349,7 +23658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1200, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -23359,7 +23669,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -23479,7 +23790,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" } ], "linearized_base_contracts": [ @@ -24002,7 +24314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1243, - "is_pure": false + "is_pure": false, + "text": "implementation_" } ], "expression": { @@ -24023,7 +24336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24098,7 +24412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" } } ] @@ -24254,7 +24569,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()publicviewvirtualoverridereturns(address){return_implementation;}" }, { "id": 1257, @@ -24328,7 +24644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1267, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -24349,7 +24666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24386,7 +24704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1269, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -24407,7 +24726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -24528,7 +24848,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)publicvirtualonlyOwner{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { "id": 1272, @@ -24625,7 +24946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -24669,14 +24991,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24709,7 +25033,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"UpgradeableBeacon: implementation is not a contract\"" } ], "expression": { @@ -24730,7 +25055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -24778,7 +25104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "right_expression": { "id": 1288, @@ -24798,7 +25125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1288, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_address", @@ -24808,7 +25136,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_implementation=newImplementation;" } ] }, @@ -24898,7 +25227,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"UpgradeableBeacon: implementation is not a contract\");_implementation=newImplementation;}" } ], "linearized_base_contracts": [ @@ -25354,7 +25684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 629, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" }, "right_expression": { "id": 1330, @@ -25447,7 +25778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.implementation\"" } ], "expression": { @@ -25468,7 +25800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -25518,7 +25851,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -25545,7 +25879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -25595,7 +25930,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -25626,7 +25962,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -25678,7 +26015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1343, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1344, @@ -25704,7 +26042,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_data" }, { "id": 1345, @@ -25736,7 +26075,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -25757,7 +26097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -25869,14 +26210,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 614, - "is_pure": false + "is_pure": false, + "text": "ERC1967Upgrade" }, "member_name": "_getImplementation", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ERC1967Upgrade_$614", "type_string": "contract ERC1967Upgrade" - } + }, + "text": "ERC1967Upgrade._getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -26037,7 +26380,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(addressimpl){returnERC1967Upgrade._getImplementation();}" } ], "linearized_base_contracts": [ @@ -26271,7 +26615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1400, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1401, @@ -26291,7 +26636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1401, - "is_pure": false + "is_pure": false, + "text": "_data" } ], "modifier_name": { @@ -26536,7 +26882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 829, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" }, "right_expression": { "id": 1407, @@ -26629,7 +26976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.admin\"" } ], "expression": { @@ -26650,7 +26998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -26700,7 +27049,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -26727,7 +27077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -26777,7 +27128,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -26808,7 +27160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -26852,7 +27205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1420, - "is_pure": false + "is_pure": false, + "text": "admin_" } ], "expression": { @@ -26873,7 +27227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -26999,14 +27354,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1429, @@ -27040,7 +27397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -27084,7 +27442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -27168,7 +27527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1446, - "is_pure": false + "is_pure": false, + "text": "admin_" }, "right_expression": { "id": 1447, @@ -27202,7 +27562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -27217,7 +27578,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "admin_=_getAdmin();" } ] }, @@ -27383,7 +27745,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionadmin()externalifAdminreturns(addressadmin_){admin_=_getAdmin();}" }, { "id": 1450, @@ -27461,7 +27824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1462, - "is_pure": false + "is_pure": false, + "text": "implementation_" }, "right_expression": { "id": 1463, @@ -27495,7 +27859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -27510,7 +27875,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "implementation_=_implementation();" } ] }, @@ -27676,7 +28042,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalifAdminreturns(addressimplementation_){implementation_=_implementation();}" }, { "id": 1466, @@ -27750,7 +28117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1476, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -27771,7 +28139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27896,7 +28265,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionchangeAdmin(addressnewAdmin)externalvirtualifAdmin{_changeAdmin(newAdmin);}" }, { "id": 1478, @@ -27978,7 +28348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1489, @@ -28017,7 +28388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -28062,7 +28434,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -28099,7 +28472,8 @@ "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" } - ] + ], + "text": "false" } ], "expression": { @@ -28120,7 +28494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_bool$", @@ -28245,7 +28620,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)externalifAdmin{_upgradeToAndCall(newImplementation,bytes(\"\"),false);}" }, { "id": 1495, @@ -28327,7 +28703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1507, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1508, @@ -28353,7 +28730,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1509, @@ -28385,7 +28763,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "true" } ], "expression": { @@ -28406,7 +28785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -28568,13 +28948,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeToAndCall(address, bytes)", - "signature": "cf553a4d", + "signature_raw": "upgradeToAndCall(address,bytes)", + "signature": "4f1ef286", "scope": 1385, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionupgradeToAndCall(addressnewImplementation,bytescalldatadata)externalpayableifAdmin{_upgradeToAndCall(newImplementation,data,true);}" }, { "id": 1511, @@ -28655,7 +29036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -28797,7 +29179,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_admin()internalviewvirtualreturns(address){return_getAdmin();}" }, { "id": 1523, @@ -28912,14 +29295,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1533, @@ -28953,7 +29338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -28991,7 +29377,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\"" } ], "expression": { @@ -29012,7 +29399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -29074,14 +29462,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_beforeFallback", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -29149,7 +29539,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_beforeFallback()internalvirtualoverride{require(msg.sender!=_getAdmin(),\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\");super._beforeFallback();}" } ], "linearized_base_contracts": [ @@ -29520,7 +29911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"5c60da1b\"" } ], "expression": { @@ -29583,7 +29975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1590, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -29629,7 +30022,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -29641,7 +30035,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -29686,7 +30081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -29707,7 +30103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -29767,7 +30164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1600, @@ -29820,7 +30218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -29870,14 +30269,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -30039,7 +30440,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyImplementation(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"5c60da1b\");require(success);returnabi.decode(returndata,(address));}" }, { "id": 1604, @@ -30220,7 +30622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"f851a440\"" } ], "expression": { @@ -30283,7 +30686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1623, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -30329,7 +30733,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -30341,7 +30746,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -30386,7 +30792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -30407,7 +30814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -30467,7 +30875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1633, @@ -30520,7 +30929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -30570,14 +30980,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -30739,7 +31151,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyAdmin(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"f851a440\");require(success);returnabi.decode(returndata,(address));}" }, { "id": 1637, @@ -30813,7 +31226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1651, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -30857,14 +31271,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1650, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "changeAdmin", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31047,13 +31463,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "changeProxyAdmin(, address)", - "signature": "2767cae2", + "signature_raw": "changeProxyAdmin(,address)", + "signature": "3450da5f", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionchangeProxyAdmin(TransparentUpgradeableProxyproxy,addressnewAdmin)publicvirtualonlyOwner{proxy.changeAdmin(newAdmin);}" }, { "id": 1653, @@ -31127,7 +31544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "implementation" } ], "expression": { @@ -31171,14 +31589,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1666, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeTo", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeTo" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31361,13 +31781,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgrade(, address)", - "signature": "4d8866a1", + "signature_raw": "upgrade(,address)", + "signature": "9bb0528c", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionupgrade(TransparentUpgradeableProxyproxy,addressimplementation)publicvirtualonlyOwner{proxy.upgradeTo(implementation);}" }, { "id": 1669, @@ -31445,7 +31866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1686, - "is_pure": false + "is_pure": false, + "text": "implementation" }, { "id": 1687, @@ -31471,7 +31893,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -31527,14 +31950,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1685, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeToAndCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeToAndCall" }, "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", @@ -31765,13 +32190,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeAndCall(, address, bytes)", - "signature": "2bf09e1e", + "signature_raw": "upgradeAndCall(,address,bytes)", + "signature": "c044ab52", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$_t_bytes$", "type_string": "function(contract TransparentUpgradeableProxy,address,bytes)" - } + }, + "text": "functionupgradeAndCall(TransparentUpgradeableProxyproxy,addressimplementation,bytesmemorydata)publicpayablevirtualonlyOwner{proxy.upgradeToAndCall{value:msg.value}(implementation,data);}" } ], "linearized_base_contracts": [ @@ -32101,7 +32527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1737, - "is_pure": false + "is_pure": false, + "text": "logic" }, { "id": 1738, @@ -32121,7 +32548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1738, - "is_pure": false + "is_pure": false, + "text": "admin" }, { "id": 1739, @@ -32141,7 +32569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1739, - "is_pure": false + "is_pure": false, + "text": "data" } ], "modifier_name": { diff --git a/data/tests/contracts/cheelee/TransparentUpgradeableProxy.solgo.ast.proto.json b/data/tests/contracts/cheelee/TransparentUpgradeableProxy.solgo.ast.proto.json index c2fb1e2d..35509130 100644 --- a/data/tests/contracts/cheelee/TransparentUpgradeableProxy.solgo.ast.proto.json +++ b/data/tests/contracts/cheelee/TransparentUpgradeableProxy.solgo.ast.proto.json @@ -6291,7 +6291,7 @@ } }, "scope": "243", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "6018", @@ -6639,7 +6639,7 @@ } }, "scope": "243", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "6930", @@ -7064,7 +7064,7 @@ } }, "scope": "243", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "7345", @@ -7489,7 +7489,7 @@ } }, "scope": "243", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "7931", @@ -8536,7 +8536,7 @@ } }, "scope": "243", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "8702", @@ -8884,7 +8884,7 @@ } }, "scope": "243", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "9076", @@ -9630,7 +9630,7 @@ } }, "scope": "243", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "9676", @@ -9978,7 +9978,7 @@ } }, "scope": "243", - "signature": "ce0c9802", + "signature": "ee33b7e2", "src": { "column": "4", "end": "10053", @@ -10724,7 +10724,7 @@ } }, "scope": "243", - "signature": "a6f0db75", + "signature": "57387df0", "src": { "column": "4", "end": "10656", @@ -11043,7 +11043,7 @@ } }, "scope": "243", - "signature": "2ce6cb58", + "signature": "18c2c6a2", "src": { "column": "4", "end": "11387", @@ -14537,7 +14537,7 @@ } }, "scope": "623", - "signature": "b2f571b5", + "signature": "267b04ae", "src": { "column": "4", "end": "16189", @@ -16222,7 +16222,7 @@ } }, "scope": "623", - "signature": "1d5980d3", + "signature": "ce2ea66a", "src": { "column": "4", "end": "17675", @@ -16927,7 +16927,7 @@ } }, "scope": "623", - "signature": "01ace874", + "signature": "9ba186fe", "src": { "column": "4", "end": "18291", @@ -21071,7 +21071,7 @@ } }, "scope": "963", - "signature": "7fd69114", + "signature": "d894e410", "src": { "column": "4", "end": "22696", @@ -28612,7 +28612,7 @@ } }, "scope": "1385", - "signature": "cf553a4d", + "signature": "4f1ef286", "src": { "column": "4", "end": "33742", @@ -31066,7 +31066,7 @@ } }, "scope": "1567", - "signature": "2767cae2", + "signature": "3450da5f", "src": { "column": "4", "end": "36134", @@ -31367,7 +31367,7 @@ } }, "scope": "1567", - "signature": "4d8866a1", + "signature": "9bb0528c", "src": { "column": "4", "end": "36488", @@ -31757,7 +31757,7 @@ } }, "scope": "1567", - "signature": "2bf09e1e", + "signature": "c044ab52", "src": { "column": "4", "end": "36968", diff --git a/data/tests/contracts/cheelee/UpgradeableBeacon.solgo.ast.json b/data/tests/contracts/cheelee/UpgradeableBeacon.solgo.ast.json index 7c052275..5d347b14 100644 --- a/data/tests/contracts/cheelee/UpgradeableBeacon.solgo.ast.json +++ b/data/tests/contracts/cheelee/UpgradeableBeacon.solgo.ast.json @@ -470,7 +470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1243, - "is_pure": false + "is_pure": false, + "text": "implementation_" } ], "expression": { @@ -491,7 +492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -566,7 +568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" } } ] @@ -722,7 +725,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()publicviewvirtualoverridereturns(address){return_implementation;}" }, { "id": 1257, @@ -796,7 +800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1267, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -817,7 +822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -854,7 +860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1269, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -875,7 +882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -996,7 +1004,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)publicvirtualonlyOwner{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { "id": 1272, @@ -1093,7 +1102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -1137,14 +1147,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1177,7 +1189,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"UpgradeableBeacon: implementation is not a contract\"" } ], "expression": { @@ -1198,7 +1211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -1246,7 +1260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "right_expression": { "id": 1288, @@ -1266,7 +1281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1288, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_address", @@ -1276,7 +1292,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_implementation=newImplementation;" } ] }, @@ -1366,7 +1383,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"UpgradeableBeacon: implementation is not a contract\");_implementation=newImplementation;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/AccessControl.solgo.ast.json b/data/tests/contracts/hello/AccessControl.solgo.ast.json index f935a208..f9a1fed6 100644 --- a/data/tests/contracts/hello/AccessControl.solgo.ast.json +++ b/data/tests/contracts/hello/AccessControl.solgo.ast.json @@ -196,7 +196,7 @@ "name": "members", "type_name": { "id": 1820, - "node_type": 0, + "node_type": 53, "src": { "line": 1070, "column": 8, @@ -328,7 +328,7 @@ }, "scope": 1810, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "visibility": 2, @@ -336,7 +336,7 @@ "mutability": 1, "type_name": { "id": 1827, - "node_type": 0, + "node_type": 69, "src": { "line": 1074, "column": 4, @@ -373,7 +373,7 @@ }, "value_type": { "id": 1829, - "node_type": 30, + "node_type": 69, "src": { "line": 1074, "column": 23, @@ -383,10 +383,10 @@ "parent_index": 1827 }, "name": "RoleData", - "referenced_declaration": 0, + "referenced_declaration": 1818, "type_description": { - "type_identifier": "t_RoleData", - "type_string": "RoleData" + "type_identifier": "t_struct$_AccessControl_RoleData_$1818", + "type_string": "struct AccessControl.RoleData" } }, "value_name_location": { @@ -397,16 +397,38 @@ "length": 8, "parent_index": 1827 }, - "referenced_declaration": 0, + "path_node": { + "id": 1830, + "name": "RoleData", + "node_type": 52, + "referenced_declaration": 1818, + "src": { + "line": 1074, + "column": 23, + "start": 35141, + "end": 35148, + "length": 8, + "parent_index": 1827 + }, + "name_location": { + "line": 1074, + "column": 23, + "start": 35141, + "end": 35148, + "length": 8, + "parent_index": 1827 + } + }, + "referenced_declaration": 1818, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" } }, "initial_value": null }, { - "id": 1831, + "id": 1832, "name": "DEFAULT_ADMIN_ROLE", "is_constant": true, "is_state_variable": true, @@ -428,7 +450,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1832, + "id": 1833, "node_type": 30, "src": { "line": 1076, @@ -436,7 +458,7 @@ "start": 35172, "end": 35178, "length": 7, - "parent_index": 1831 + "parent_index": 1832 }, "name": "bytes32", "referenced_declaration": 0, @@ -446,7 +468,7 @@ } }, "initial_value": { - "id": 1833, + "id": 1834, "node_type": 17, "kind": 49, "value": "0x00", @@ -457,7 +479,7 @@ "start": 35217, "end": 35220, "length": 4, - "parent_index": 1831 + "parent_index": 1832 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -465,11 +487,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x00" } }, { - "id": 1835, + "id": 1836, "node_type": 57, "src": { "line": 1086, @@ -480,7 +503,7 @@ "parent_index": 1810 }, "parameters": { - "id": 1836, + "id": 1837, "node_type": 43, "src": { "line": 1086, @@ -488,11 +511,11 @@ "start": 35525, "end": 35634, "length": 110, - "parent_index": 1835 + "parent_index": 1836 }, "parameters": [ { - "id": 1837, + "id": 1838, "node_type": 44, "src": { "line": 1086, @@ -500,12 +523,12 @@ "start": 35548, "end": 35567, "length": 20, - "parent_index": 1836 + "parent_index": 1837 }, - "scope": 1835, + "scope": 1836, "name": "role", "type_name": { - "id": 1838, + "id": 1839, "node_type": 30, "src": { "line": 1086, @@ -513,7 +536,7 @@ "start": 35548, "end": 35554, "length": 7, - "parent_index": 1837 + "parent_index": 1838 }, "name": "bytes32", "referenced_declaration": 0, @@ -532,7 +555,7 @@ "indexed": true }, { - "id": 1839, + "id": 1840, "node_type": 44, "src": { "line": 1086, @@ -540,12 +563,12 @@ "start": 35570, "end": 35602, "length": 33, - "parent_index": 1836 + "parent_index": 1837 }, - "scope": 1835, + "scope": 1836, "name": "previousAdminRole", "type_name": { - "id": 1840, + "id": 1841, "node_type": 30, "src": { "line": 1086, @@ -553,7 +576,7 @@ "start": 35570, "end": 35576, "length": 7, - "parent_index": 1839 + "parent_index": 1840 }, "name": "bytes32", "referenced_declaration": 0, @@ -572,7 +595,7 @@ "indexed": true }, { - "id": 1841, + "id": 1842, "node_type": 44, "src": { "line": 1086, @@ -580,12 +603,12 @@ "start": 35605, "end": 35632, "length": 28, - "parent_index": 1836 + "parent_index": 1837 }, - "scope": 1835, + "scope": 1836, "name": "newAdminRole", "type_name": { - "id": 1842, + "id": 1843, "node_type": 30, "src": { "line": 1086, @@ -593,7 +616,7 @@ "start": 35605, "end": 35611, "length": 7, - "parent_index": 1841 + "parent_index": 1842 }, "name": "bytes32", "referenced_declaration": 0, @@ -630,12 +653,12 @@ "name": "RoleAdminChanged", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261835", + "type_identifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261836", "type_string": "event AccessControl.RoleAdminChanged" } }, { - "id": 1844, + "id": 1845, "node_type": 57, "src": { "line": 1094, @@ -646,7 +669,7 @@ "parent_index": 1810 }, "parameters": { - "id": 1845, + "id": 1846, "node_type": 43, "src": { "line": 1094, @@ -654,11 +677,11 @@ "start": 35844, "end": 35932, "length": 89, - "parent_index": 1844 + "parent_index": 1845 }, "parameters": [ { - "id": 1846, + "id": 1847, "node_type": 44, "src": { "line": 1094, @@ -666,12 +689,12 @@ "start": 35862, "end": 35881, "length": 20, - "parent_index": 1845 + "parent_index": 1846 }, - "scope": 1844, + "scope": 1845, "name": "role", "type_name": { - "id": 1847, + "id": 1848, "node_type": 30, "src": { "line": 1094, @@ -679,7 +702,7 @@ "start": 35862, "end": 35868, "length": 7, - "parent_index": 1846 + "parent_index": 1847 }, "name": "bytes32", "referenced_declaration": 0, @@ -698,7 +721,7 @@ "indexed": true }, { - "id": 1848, + "id": 1849, "node_type": 44, "src": { "line": 1094, @@ -706,12 +729,12 @@ "start": 35884, "end": 35906, "length": 23, - "parent_index": 1845 + "parent_index": 1846 }, - "scope": 1844, + "scope": 1845, "name": "account", "type_name": { - "id": 1849, + "id": 1850, "node_type": 30, "src": { "line": 1094, @@ -719,7 +742,7 @@ "start": 35884, "end": 35890, "length": 7, - "parent_index": 1848 + "parent_index": 1849 }, "name": "address", "state_mutability": 4, @@ -739,7 +762,7 @@ "indexed": true }, { - "id": 1850, + "id": 1851, "node_type": 44, "src": { "line": 1094, @@ -747,12 +770,12 @@ "start": 35909, "end": 35930, "length": 22, - "parent_index": 1845 + "parent_index": 1846 }, - "scope": 1844, + "scope": 1845, "name": "sender", "type_name": { - "id": 1851, + "id": 1852, "node_type": 30, "src": { "line": 1094, @@ -760,7 +783,7 @@ "start": 35909, "end": 35915, "length": 7, - "parent_index": 1850 + "parent_index": 1851 }, "name": "address", "state_mutability": 4, @@ -798,12 +821,12 @@ "name": "RoleGranted", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleGranted_\u00261844", + "type_identifier": "t_event\u0026_AccessControl_RoleGranted_\u00261845", "type_string": "event AccessControl.RoleGranted" } }, { - "id": 1853, + "id": 1854, "node_type": 57, "src": { "line": 1103, @@ -814,7 +837,7 @@ "parent_index": 1810 }, "parameters": { - "id": 1854, + "id": 1855, "node_type": 43, "src": { "line": 1103, @@ -822,11 +845,11 @@ "start": 36219, "end": 36307, "length": 89, - "parent_index": 1853 + "parent_index": 1854 }, "parameters": [ { - "id": 1855, + "id": 1856, "node_type": 44, "src": { "line": 1103, @@ -834,12 +857,12 @@ "start": 36237, "end": 36256, "length": 20, - "parent_index": 1854 + "parent_index": 1855 }, - "scope": 1853, + "scope": 1854, "name": "role", "type_name": { - "id": 1856, + "id": 1857, "node_type": 30, "src": { "line": 1103, @@ -847,7 +870,7 @@ "start": 36237, "end": 36243, "length": 7, - "parent_index": 1855 + "parent_index": 1856 }, "name": "bytes32", "referenced_declaration": 0, @@ -866,7 +889,7 @@ "indexed": true }, { - "id": 1857, + "id": 1858, "node_type": 44, "src": { "line": 1103, @@ -874,12 +897,12 @@ "start": 36259, "end": 36281, "length": 23, - "parent_index": 1854 + "parent_index": 1855 }, - "scope": 1853, + "scope": 1854, "name": "account", "type_name": { - "id": 1858, + "id": 1859, "node_type": 30, "src": { "line": 1103, @@ -887,7 +910,7 @@ "start": 36259, "end": 36265, "length": 7, - "parent_index": 1857 + "parent_index": 1858 }, "name": "address", "state_mutability": 4, @@ -907,7 +930,7 @@ "indexed": true }, { - "id": 1859, + "id": 1860, "node_type": 44, "src": { "line": 1103, @@ -915,12 +938,12 @@ "start": 36284, "end": 36305, "length": 22, - "parent_index": 1854 + "parent_index": 1855 }, - "scope": 1853, + "scope": 1854, "name": "sender", "type_name": { - "id": 1860, + "id": 1861, "node_type": 30, "src": { "line": 1103, @@ -928,7 +951,7 @@ "start": 36284, "end": 36290, "length": 7, - "parent_index": 1859 + "parent_index": 1860 }, "name": "address", "state_mutability": 4, @@ -966,12 +989,12 @@ "name": "RoleRevoked", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261853", + "type_identifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261854", "type_string": "event AccessControl.RoleRevoked" } }, { - "id": 1862, + "id": 1863, "name": "onlyRole", "node_type": 68, "src": { @@ -988,12 +1011,12 @@ "start": 36703, "end": 36710, "length": 8, - "parent_index": 1862 + "parent_index": 1863 }, "visibility": 1, "virtual": false, "parameters": { - "id": 1863, + "id": 1864, "node_type": 43, "src": { "line": 1115, @@ -1005,7 +1028,7 @@ }, "parameters": [ { - "id": 1864, + "id": 1865, "node_type": 44, "src": { "line": 1115, @@ -1013,12 +1036,12 @@ "start": 36712, "end": 36723, "length": 12, - "parent_index": 1863 + "parent_index": 1864 }, "scope": 1810, "name": "role", "type_name": { - "id": 1865, + "id": 1866, "node_type": 30, "src": { "line": 1115, @@ -1026,7 +1049,7 @@ "start": 36712, "end": 36718, "length": 7, - "parent_index": 1864 + "parent_index": 1865 }, "name": "bytes32", "referenced_declaration": 0, @@ -1052,7 +1075,7 @@ ] }, "body": { - "id": 1866, + "id": 1867, "node_type": 46, "kind": 0, "src": { @@ -1061,12 +1084,12 @@ "start": 36726, "end": 36783, "length": 58, - "parent_index": 1862 + "parent_index": 1863 }, "implemented": true, "statements": [ { - "id": 1867, + "id": 1868, "node_type": 24, "kind": 24, "src": { @@ -1075,7 +1098,7 @@ "start": 36736, "end": 36765, "length": 30, - "parent_index": 1866 + "parent_index": 1867 }, "argument_types": [ { @@ -1089,7 +1112,7 @@ ], "arguments": [ { - "id": 1869, + "id": 1870, "node_type": 16, "src": { "line": 1116, @@ -1097,7 +1120,7 @@ "start": 36747, "end": 36750, "length": 4, - "parent_index": 1867 + "parent_index": 1868 }, "name": "role", "type_description": { @@ -1106,10 +1129,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "role" }, { - "id": 1870, + "id": 1871, "node_type": 24, "kind": 24, "src": { @@ -1118,12 +1142,12 @@ "start": 36753, "end": 36764, "length": 12, - "parent_index": 1867 + "parent_index": 1868 }, "argument_types": [], "arguments": [], "expression": { - "id": 1871, + "id": 1872, "node_type": 16, "src": { "line": 1116, @@ -1131,7 +1155,7 @@ "start": 36753, "end": 36762, "length": 10, - "parent_index": 1870 + "parent_index": 1871 }, "name": "_msgSender", "type_description": { @@ -1140,7 +1164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1149,7 +1174,7 @@ } ], "expression": { - "id": 1868, + "id": 1869, "node_type": 16, "src": { "line": 1116, @@ -1157,7 +1182,7 @@ "start": 36736, "end": 36745, "length": 10, - "parent_index": 1867 + "parent_index": 1868 }, "name": "_checkRole", "type_description": { @@ -1166,7 +1191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -1174,7 +1200,7 @@ } }, { - "id": 1872, + "id": 1873, "node_type": 82, "src": { "line": 1117, @@ -1182,7 +1208,7 @@ "start": 36776, "end": 36776, "length": 1, - "parent_index": 1866 + "parent_index": 1867 }, "name": "_", "type_description": { @@ -1191,13 +1217,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 1874, + "id": 1875, "name": "supportsInterface", "node_type": 42, "kind": 41, @@ -1215,10 +1242,10 @@ "start": 36860, "end": 36876, "length": 17, - "parent_index": 1874 + "parent_index": 1875 }, "body": { - "id": 1882, + "id": 1883, "node_type": 46, "kind": 0, "src": { @@ -1227,12 +1254,12 @@ "start": 36942, "end": 37052, "length": 111, - "parent_index": 1874 + "parent_index": 1875 }, "implemented": true, "statements": [ { - "id": 1883, + "id": 1884, "node_type": 47, "src": { "line": 1124, @@ -1240,11 +1267,11 @@ "start": 36952, "end": 37046, "length": 95, - "parent_index": 1874 + "parent_index": 1875 }, - "function_return_parameters": 1874, + "function_return_parameters": 1875, "expression": { - "id": 1884, + "id": 1885, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1254,11 +1281,11 @@ "start": 36959, "end": 37045, "length": 87, - "parent_index": 1883 + "parent_index": 1884 }, "operator": 33, "left_expression": { - "id": 1885, + "id": 1886, "is_constant": false, "is_pure": false, "node_type": 19, @@ -1268,11 +1295,11 @@ "start": 36959, "end": 37005, "length": 47, - "parent_index": 1884 + "parent_index": 1885 }, "operator": 11, "left_expression": { - "id": 1886, + "id": 1887, "node_type": 16, "src": { "line": 1124, @@ -1280,7 +1307,7 @@ "start": 36959, "end": 36969, "length": 11, - "parent_index": 1885 + "parent_index": 1886 }, "name": "interfaceId", "type_description": { @@ -1288,11 +1315,12 @@ "type_string": "bytes4" }, "overloaded_declarations": [], - "referenced_declaration": 1886, - "is_pure": false + "referenced_declaration": 1887, + "is_pure": false, + "text": "interfaceId" }, "right_expression": { - "id": 1887, + "id": 1888, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1304,7 +1332,7 @@ "start": 36974, "end": 37005, "length": 32, - "parent_index": 1885 + "parent_index": 1886 }, "member_location": { "line": 1124, @@ -1312,10 +1340,10 @@ "start": 36995, "end": 37005, "length": 11, - "parent_index": 1887 + "parent_index": 1888 }, "expression": { - "id": 1888, + "id": 1889, "node_type": 16, "name": "type", "src": { @@ -1324,7 +1352,7 @@ "start": 36974, "end": 36993, "length": 20, - "parent_index": 1887 + "parent_index": 1888 }, "type_description": { "type_identifier": "", @@ -1336,7 +1364,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IAccessControl).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -1344,7 +1373,7 @@ } }, "right_expression": { - "id": 1889, + "id": 1890, "node_type": 24, "kind": 24, "src": { @@ -1353,7 +1382,7 @@ "start": 37010, "end": 37045, "length": 36, - "parent_index": 1884 + "parent_index": 1885 }, "argument_types": [ { @@ -1363,7 +1392,7 @@ ], "arguments": [ { - "id": 1892, + "id": 1893, "node_type": 16, "src": { "line": 1124, @@ -1371,7 +1400,7 @@ "start": 37034, "end": 37044, "length": 11, - "parent_index": 1889 + "parent_index": 1890 }, "name": "interfaceId", "type_description": { @@ -1379,12 +1408,13 @@ "type_string": "bytes4" }, "overloaded_declarations": [], - "referenced_declaration": 1892, - "is_pure": false + "referenced_declaration": 1893, + "is_pure": false, + "text": "interfaceId" } ], "expression": { - "id": 1890, + "id": 1891, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1396,7 +1426,7 @@ "start": 37010, "end": 37032, "length": 23, - "parent_index": 1889 + "parent_index": 1890 }, "member_location": { "line": 1124, @@ -1404,10 +1434,10 @@ "start": 37016, "end": 37032, "length": 17, - "parent_index": 1890 + "parent_index": 1891 }, "expression": { - "id": 1891, + "id": 1892, "node_type": 16, "src": { "line": 1124, @@ -1415,7 +1445,7 @@ "start": 37010, "end": 37014, "length": 5, - "parent_index": 1890 + "parent_index": 1891 }, "name": "super", "type_description": { @@ -1424,14 +1454,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -1453,7 +1485,7 @@ "modifiers": [], "overrides": [ { - "id": 1878, + "id": 1879, "node_type": 63, "src": { "line": 1123, @@ -1461,7 +1493,7 @@ "start": 36918, "end": 36925, "length": 8, - "parent_index": 1874 + "parent_index": 1875 }, "overrides": [], "referenced_declaration": 0, @@ -1472,7 +1504,7 @@ } ], "parameters": { - "id": 1875, + "id": 1876, "node_type": 43, "src": { "line": 1123, @@ -1480,11 +1512,11 @@ "start": 36878, "end": 36895, "length": 18, - "parent_index": 1874 + "parent_index": 1875 }, "parameters": [ { - "id": 1876, + "id": 1877, "node_type": 44, "src": { "line": 1123, @@ -1492,12 +1524,12 @@ "start": 36878, "end": 36895, "length": 18, - "parent_index": 1875 + "parent_index": 1876 }, - "scope": 1874, + "scope": 1875, "name": "interfaceId", "type_name": { - "id": 1877, + "id": 1878, "node_type": 30, "src": { "line": 1123, @@ -1505,7 +1537,7 @@ "start": 36878, "end": 36883, "length": 6, - "parent_index": 1876 + "parent_index": 1877 }, "name": "bytes4", "referenced_declaration": 0, @@ -1531,7 +1563,7 @@ ] }, "return_parameters": { - "id": 1879, + "id": 1880, "node_type": 43, "src": { "line": 1123, @@ -1539,11 +1571,11 @@ "start": 36936, "end": 36939, "length": 4, - "parent_index": 1874 + "parent_index": 1875 }, "parameters": [ { - "id": 1880, + "id": 1881, "node_type": 44, "src": { "line": 1123, @@ -1551,12 +1583,12 @@ "start": 36936, "end": 36939, "length": 4, - "parent_index": 1879 + "parent_index": 1880 }, - "scope": 1874, + "scope": 1875, "name": "", "type_name": { - "id": 1881, + "id": 1882, "node_type": 30, "src": { "line": 1123, @@ -1564,7 +1596,7 @@ "start": 36936, "end": 36939, "length": 4, - "parent_index": 1880 + "parent_index": 1881 }, "name": "bool", "referenced_declaration": 0, @@ -1595,10 +1627,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IAccessControl).interfaceId||super.supportsInterface(interfaceId);}" }, { - "id": 1894, + "id": 1895, "name": "hasRole", "node_type": 42, "kind": 41, @@ -1616,10 +1649,10 @@ "start": 37149, "end": 37155, "length": 7, - "parent_index": 1894 + "parent_index": 1895 }, "body": { - "id": 1904, + "id": 1905, "node_type": 46, "kind": 0, "src": { @@ -1628,12 +1661,12 @@ "start": 37224, "end": 37276, "length": 53, - "parent_index": 1894 + "parent_index": 1895 }, "implemented": true, "statements": [ { - "id": 1905, + "id": 1906, "node_type": 47, "src": { "line": 1131, @@ -1641,11 +1674,11 @@ "start": 37234, "end": 37270, "length": 37, - "parent_index": 1894 + "parent_index": 1895 }, - "function_return_parameters": 1894, + "function_return_parameters": 1895, "expression": { - "id": 1906, + "id": 1907, "node_type": 22, "src": { "line": 1131, @@ -1653,10 +1686,10 @@ "start": 37241, "end": 37269, "length": 29, - "parent_index": 1905 + "parent_index": 1906 }, "index_expression": { - "id": 1907, + "id": 1908, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -1668,7 +1701,7 @@ "start": 37241, "end": 37260, "length": 20, - "parent_index": 1906 + "parent_index": 1907 }, "member_location": { "line": 1131, @@ -1676,10 +1709,10 @@ "start": 37254, "end": 37260, "length": 7, - "parent_index": 1907 + "parent_index": 1908 }, "expression": { - "id": 1908, + "id": 1909, "node_type": 22, "src": { "line": 1131, @@ -1687,10 +1720,10 @@ "start": 37241, "end": 37252, "length": 12, - "parent_index": 1907 + "parent_index": 1908 }, "index_expression": { - "id": 1909, + "id": 1910, "node_type": 16, "src": { "line": 1131, @@ -1698,19 +1731,20 @@ "start": 37241, "end": 37246, "length": 6, - "parent_index": 1908 + "parent_index": 1909 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 1910, + "id": 1911, "node_type": 16, "src": { "line": 1131, @@ -1718,7 +1752,7 @@ "start": 37248, "end": 37251, "length": 4, - "parent_index": 1908 + "parent_index": 1909 }, "name": "role", "type_description": { @@ -1726,12 +1760,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1910, - "is_pure": false + "referenced_declaration": 1911, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -1740,19 +1775,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 1911, + "id": 1912, "node_type": 16, "src": { "line": 1131, @@ -1760,7 +1796,7 @@ "start": 37262, "end": 37268, "length": 7, - "parent_index": 1906 + "parent_index": 1907 }, "name": "account", "type_description": { @@ -1768,12 +1804,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1911, - "is_pure": false + "referenced_declaration": 1912, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -1782,7 +1819,7 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } @@ -1796,7 +1833,7 @@ "modifiers": [], "overrides": [ { - "id": 1900, + "id": 1901, "node_type": 63, "src": { "line": 1130, @@ -1804,7 +1841,7 @@ "start": 37200, "end": 37207, "length": 8, - "parent_index": 1894 + "parent_index": 1895 }, "overrides": [], "referenced_declaration": 0, @@ -1815,7 +1852,7 @@ } ], "parameters": { - "id": 1895, + "id": 1896, "node_type": 43, "src": { "line": 1130, @@ -1823,11 +1860,11 @@ "start": 37157, "end": 37185, "length": 29, - "parent_index": 1894 + "parent_index": 1895 }, "parameters": [ { - "id": 1896, + "id": 1897, "node_type": 44, "src": { "line": 1130, @@ -1835,12 +1872,12 @@ "start": 37157, "end": 37168, "length": 12, - "parent_index": 1895 + "parent_index": 1896 }, - "scope": 1894, + "scope": 1895, "name": "role", "type_name": { - "id": 1897, + "id": 1898, "node_type": 30, "src": { "line": 1130, @@ -1848,7 +1885,7 @@ "start": 37157, "end": 37163, "length": 7, - "parent_index": 1896 + "parent_index": 1897 }, "name": "bytes32", "referenced_declaration": 0, @@ -1866,7 +1903,7 @@ } }, { - "id": 1898, + "id": 1899, "node_type": 44, "src": { "line": 1130, @@ -1874,12 +1911,12 @@ "start": 37171, "end": 37185, "length": 15, - "parent_index": 1895 + "parent_index": 1896 }, - "scope": 1894, + "scope": 1895, "name": "account", "type_name": { - "id": 1899, + "id": 1900, "node_type": 30, "src": { "line": 1130, @@ -1887,7 +1924,7 @@ "start": 37171, "end": 37177, "length": 7, - "parent_index": 1898 + "parent_index": 1899 }, "name": "address", "state_mutability": 4, @@ -1918,7 +1955,7 @@ ] }, "return_parameters": { - "id": 1901, + "id": 1902, "node_type": 43, "src": { "line": 1130, @@ -1926,11 +1963,11 @@ "start": 37218, "end": 37221, "length": 4, - "parent_index": 1894 + "parent_index": 1895 }, "parameters": [ { - "id": 1902, + "id": 1903, "node_type": 44, "src": { "line": 1130, @@ -1938,12 +1975,12 @@ "start": 37218, "end": 37221, "length": 4, - "parent_index": 1901 + "parent_index": 1902 }, - "scope": 1894, + "scope": 1895, "name": "", "type_name": { - "id": 1903, + "id": 1904, "node_type": 30, "src": { "line": 1130, @@ -1951,7 +1988,7 @@ "start": 37218, "end": 37221, "length": 4, - "parent_index": 1902 + "parent_index": 1903 }, "name": "bool", "referenced_declaration": 0, @@ -1976,16 +2013,17 @@ } ] }, - "signature_raw": "hasRole(bytes32, address)", - "signature": "86282e07", + "signature_raw": "hasRole(bytes32,address)", + "signature": "91d14854", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionhasRole(bytes32role,addressaccount)publicviewoverridereturns(bool){return_roles[role].members[account];}" }, { - "id": 1913, + "id": 1914, "name": "_checkRole", "node_type": 42, "kind": 41, @@ -2003,10 +2041,10 @@ "start": 37567, "end": 37576, "length": 10, - "parent_index": 1913 + "parent_index": 1914 }, "body": { - "id": 1920, + "id": 1921, "node_type": 46, "kind": 0, "src": { @@ -2015,12 +2053,12 @@ "start": 37623, "end": 38041, "length": 419, - "parent_index": 1913 + "parent_index": 1914 }, "implemented": true, "statements": [ { - "id": 1921, + "id": 1922, "node_type": 48, "src": { "line": 1142, @@ -2028,10 +2066,10 @@ "start": 37633, "end": 38035, "length": 403, - "parent_index": 1920 + "parent_index": 1921 }, "condition": { - "id": 1922, + "id": 1923, "node_type": 18, "kind": 104, "src": { @@ -2040,7 +2078,7 @@ "start": 37637, "end": 37659, "length": 23, - "parent_index": 1913 + "parent_index": 1914 }, "operator": 31, "prefix": false, @@ -2049,7 +2087,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1923, + "id": 1924, "node_type": 24, "kind": 24, "src": { @@ -2058,7 +2096,7 @@ "start": 37638, "end": 37659, "length": 22, - "parent_index": 1922 + "parent_index": 1923 }, "argument_types": [ { @@ -2072,7 +2110,7 @@ ], "arguments": [ { - "id": 1925, + "id": 1926, "node_type": 16, "src": { "line": 1142, @@ -2080,7 +2118,7 @@ "start": 37646, "end": 37649, "length": 4, - "parent_index": 1923 + "parent_index": 1924 }, "name": "role", "type_description": { @@ -2088,11 +2126,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1925, - "is_pure": false + "referenced_declaration": 1926, + "is_pure": false, + "text": "role" }, { - "id": 1926, + "id": 1927, "node_type": 16, "src": { "line": 1142, @@ -2100,7 +2139,7 @@ "start": 37652, "end": 37658, "length": 7, - "parent_index": 1923 + "parent_index": 1924 }, "name": "account", "type_description": { @@ -2108,18 +2147,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1926, + "referenced_declaration": 1927, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 1924, + "id": 1925, "node_type": 16, "src": { "line": 1142, @@ -2127,7 +2167,7 @@ "start": 37638, "end": 37644, "length": 7, - "parent_index": 1923 + "parent_index": 1924 }, "name": "hasRole", "type_description": { @@ -2136,7 +2176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -2149,7 +2190,7 @@ } }, "body": { - "id": 1927, + "id": 1928, "node_type": 46, "kind": 0, "src": { @@ -2158,12 +2199,12 @@ "start": 37662, "end": 38035, "length": 374, - "parent_index": 1913 + "parent_index": 1914 }, "implemented": true, "statements": [ { - "id": 1928, + "id": 1929, "node_type": 24, "kind": 24, "src": { @@ -2172,7 +2213,7 @@ "start": 37676, "end": 38024, "length": 349, - "parent_index": 1927 + "parent_index": 1928 }, "argument_types": [ { @@ -2182,7 +2223,7 @@ ], "arguments": [ { - "id": 1930, + "id": 1931, "node_type": 24, "kind": 24, "src": { @@ -2191,7 +2232,7 @@ "start": 37700, "end": 38010, "length": 311, - "parent_index": 1928 + "parent_index": 1929 }, "argument_types": [ { @@ -2201,7 +2242,7 @@ ], "arguments": [ { - "id": 1933, + "id": 1934, "node_type": 24, "kind": 24, "src": { @@ -2210,7 +2251,7 @@ "start": 37728, "end": 37992, "length": 265, - "parent_index": 1930 + "parent_index": 1931 }, "argument_types": [ { @@ -2232,7 +2273,7 @@ ], "arguments": [ { - "id": 1936, + "id": 1937, "node_type": 17, "kind": 50, "value": "AccessControl: account", @@ -2243,7 +2284,7 @@ "start": 37770, "end": 37794, "length": 25, - "parent_index": 1933 + "parent_index": 1934 }, "type_description": { "type_identifier": "t_string_literal", @@ -2251,10 +2292,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"AccessControl: account \"" }, { - "id": 1937, + "id": 1938, "node_type": 24, "kind": 24, "src": { @@ -2263,7 +2305,7 @@ "start": 37821, "end": 37861, "length": 41, - "parent_index": 1933 + "parent_index": 1934 }, "argument_types": [ { @@ -2277,7 +2319,7 @@ ], "arguments": [ { - "id": 1940, + "id": 1941, "node_type": 24, "kind": 24, "src": { @@ -2286,7 +2328,7 @@ "start": 37841, "end": 37856, "length": 16, - "parent_index": 1937 + "parent_index": 1938 }, "argument_types": [ { @@ -2296,7 +2338,7 @@ ], "arguments": [ { - "id": 1943, + "id": 1944, "node_type": 16, "src": { "line": 1147, @@ -2304,7 +2346,7 @@ "start": 37849, "end": 37855, "length": 7, - "parent_index": 1940 + "parent_index": 1941 }, "name": "account", "type_description": { @@ -2312,12 +2354,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1943, - "is_pure": false + "referenced_declaration": 1944, + "is_pure": false, + "text": "account" } ], "expression": { - "id": 1941, + "id": 1942, "node_type": 16, "src": { "line": 1147, @@ -2325,11 +2368,11 @@ "start": 37841, "end": 37847, "length": 7, - "parent_index": 1940 + "parent_index": 1941 }, "name": "uint160", "type_name": { - "id": 1942, + "id": 1943, "node_type": 30, "src": { "line": 1147, @@ -2337,7 +2380,7 @@ "start": 37841, "end": 37847, "length": 7, - "parent_index": 1941 + "parent_index": 1942 }, "name": "uint160", "referenced_declaration": 0, @@ -2358,7 +2401,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2366,7 +2410,7 @@ } }, { - "id": 1944, + "id": 1945, "node_type": 17, "kind": 49, "value": "20", @@ -2377,7 +2421,7 @@ "start": 37859, "end": 37860, "length": 2, - "parent_index": 1937 + "parent_index": 1938 }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -2391,11 +2435,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "20" } ], "expression": { - "id": 1938, + "id": 1939, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2407,7 +2452,7 @@ "start": 37821, "end": 37839, "length": 19, - "parent_index": 1937 + "parent_index": 1938 }, "member_location": { "line": 1147, @@ -2415,10 +2460,10 @@ "start": 37829, "end": 37839, "length": 11, - "parent_index": 1938 + "parent_index": 1939 }, "expression": { - "id": 1939, + "id": 1940, "node_type": 16, "src": { "line": 1147, @@ -2426,7 +2471,7 @@ "start": 37821, "end": 37827, "length": 7, - "parent_index": 1938 + "parent_index": 1939 }, "name": "Strings", "type_description": { @@ -2435,14 +2480,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 637, - "is_pure": false + "is_pure": false, + "text": "Strings" }, "member_name": "toHexString", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Strings_$637", "type_string": "contract Strings" - } + }, + "text": "Strings.toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_rational_20_by_1$", @@ -2450,7 +2497,7 @@ } }, { - "id": 1945, + "id": 1946, "node_type": 17, "kind": 50, "value": "is missing role", @@ -2461,7 +2508,7 @@ "start": 37888, "end": 37906, "length": 19, - "parent_index": 1933 + "parent_index": 1934 }, "type_description": { "type_identifier": "t_string_literal", @@ -2479,10 +2526,11 @@ "type_identifier": "t_function_$_t_function_$_t_address$_t_rational_20_by_1$", "type_string": "function(function(address),int_const 20)" } - ] + ], + "text": "\" is missing role \"" }, { - "id": 1946, + "id": 1947, "node_type": 24, "kind": 24, "src": { @@ -2491,7 +2539,7 @@ "start": 37933, "end": 37970, "length": 38, - "parent_index": 1933 + "parent_index": 1934 }, "argument_types": [ { @@ -2505,7 +2553,7 @@ ], "arguments": [ { - "id": 1949, + "id": 1950, "node_type": 24, "kind": 24, "src": { @@ -2514,7 +2562,7 @@ "start": 37953, "end": 37965, "length": 13, - "parent_index": 1946 + "parent_index": 1947 }, "argument_types": [ { @@ -2524,7 +2572,7 @@ ], "arguments": [ { - "id": 1952, + "id": 1953, "node_type": 16, "src": { "line": 1149, @@ -2532,7 +2580,7 @@ "start": 37961, "end": 37964, "length": 4, - "parent_index": 1949 + "parent_index": 1950 }, "name": "role", "type_description": { @@ -2540,12 +2588,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1952, - "is_pure": false + "referenced_declaration": 1953, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 1950, + "id": 1951, "node_type": 16, "src": { "line": 1149, @@ -2553,11 +2602,11 @@ "start": 37953, "end": 37959, "length": 7, - "parent_index": 1949 + "parent_index": 1950 }, "name": "uint256", "type_name": { - "id": 1951, + "id": 1952, "node_type": 30, "src": { "line": 1149, @@ -2565,7 +2614,7 @@ "start": 37953, "end": 37959, "length": 7, - "parent_index": 1950 + "parent_index": 1951 }, "name": "uint256", "referenced_declaration": 0, @@ -2586,7 +2635,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -2594,7 +2644,7 @@ } }, { - "id": 1953, + "id": 1954, "node_type": 17, "kind": 49, "value": "32", @@ -2605,7 +2655,7 @@ "start": 37968, "end": 37969, "length": 2, - "parent_index": 1946 + "parent_index": 1947 }, "type_description": { "type_identifier": "t_rational_32_by_1", @@ -2619,11 +2669,12 @@ "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" } - ] + ], + "text": "32" } ], "expression": { - "id": 1947, + "id": 1948, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2635,7 +2686,7 @@ "start": 37933, "end": 37951, "length": 19, - "parent_index": 1946 + "parent_index": 1947 }, "member_location": { "line": 1149, @@ -2643,10 +2694,10 @@ "start": 37941, "end": 37951, "length": 11, - "parent_index": 1947 + "parent_index": 1948 }, "expression": { - "id": 1948, + "id": 1949, "node_type": 16, "src": { "line": 1149, @@ -2654,7 +2705,7 @@ "start": 37933, "end": 37939, "length": 7, - "parent_index": 1947 + "parent_index": 1948 }, "name": "Strings", "type_description": { @@ -2663,14 +2714,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 637, - "is_pure": false + "is_pure": false, + "text": "Strings" }, "member_name": "toHexString", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Strings_$637", "type_string": "contract Strings" - } + }, + "text": "Strings.toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -2679,7 +2732,7 @@ } ], "expression": { - "id": 1934, + "id": 1935, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2691,7 +2744,7 @@ "start": 37728, "end": 37743, "length": 16, - "parent_index": 1933 + "parent_index": 1934 }, "member_location": { "line": 1145, @@ -2699,10 +2752,10 @@ "start": 37732, "end": 37743, "length": 12, - "parent_index": 1934 + "parent_index": 1935 }, "expression": { - "id": 1935, + "id": 1936, "node_type": 16, "src": { "line": 1145, @@ -2710,7 +2763,7 @@ "start": 37728, "end": 37730, "length": 3, - "parent_index": 1934 + "parent_index": 1935 }, "name": "abi", "type_description": { @@ -2719,14 +2772,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -2735,7 +2790,7 @@ } ], "expression": { - "id": 1931, + "id": 1932, "node_type": 16, "src": { "line": 1144, @@ -2743,11 +2798,11 @@ "start": 37700, "end": 37705, "length": 6, - "parent_index": 1930 + "parent_index": 1931 }, "name": "string", "type_name": { - "id": 1932, + "id": 1933, "node_type": 30, "src": { "line": 1144, @@ -2755,7 +2810,7 @@ "start": 37700, "end": 37705, "length": 6, - "parent_index": 1931 + "parent_index": 1932 }, "name": "string", "referenced_declaration": 0, @@ -2776,7 +2831,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -2785,7 +2841,7 @@ } ], "expression": { - "id": 1929, + "id": 1930, "node_type": 16, "src": { "line": 1143, @@ -2793,7 +2849,7 @@ "start": 37676, "end": 37681, "length": 6, - "parent_index": 1928 + "parent_index": 1929 }, "name": "revert", "type_description": { @@ -2802,7 +2858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -2821,7 +2878,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1914, + "id": 1915, "node_type": 43, "src": { "line": 1141, @@ -2829,11 +2886,11 @@ "start": 37578, "end": 37606, "length": 29, - "parent_index": 1913 + "parent_index": 1914 }, "parameters": [ { - "id": 1915, + "id": 1916, "node_type": 44, "src": { "line": 1141, @@ -2841,12 +2898,12 @@ "start": 37578, "end": 37589, "length": 12, - "parent_index": 1914 + "parent_index": 1915 }, - "scope": 1913, + "scope": 1914, "name": "role", "type_name": { - "id": 1916, + "id": 1917, "node_type": 30, "src": { "line": 1141, @@ -2854,7 +2911,7 @@ "start": 37578, "end": 37584, "length": 7, - "parent_index": 1915 + "parent_index": 1916 }, "name": "bytes32", "referenced_declaration": 0, @@ -2872,7 +2929,7 @@ } }, { - "id": 1917, + "id": 1918, "node_type": 44, "src": { "line": 1141, @@ -2880,12 +2937,12 @@ "start": 37592, "end": 37606, "length": 15, - "parent_index": 1914 + "parent_index": 1915 }, - "scope": 1913, + "scope": 1914, "name": "account", "type_name": { - "id": 1918, + "id": 1919, "node_type": 30, "src": { "line": 1141, @@ -2893,7 +2950,7 @@ "start": 37592, "end": 37598, "length": 7, - "parent_index": 1917 + "parent_index": 1918 }, "name": "address", "state_mutability": 4, @@ -2924,7 +2981,7 @@ ] }, "return_parameters": { - "id": 1919, + "id": 1920, "node_type": 43, "src": { "line": 1141, @@ -2932,21 +2989,22 @@ "start": 37558, "end": 38041, "length": 484, - "parent_index": 1913 + "parent_index": 1914 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_checkRole(bytes32, address)", - "signature": "ad90b429", + "signature_raw": "_checkRole(bytes32,address)", + "signature": "5b7b2c38", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_checkRole(bytes32role,addressaccount)internalview{if(!hasRole(role,account)){revert(string(abi.encodePacked(\"AccessControl: account \",Strings.toHexString(uint160(account),20),\" is missing role \",Strings.toHexString(uint256(role),32))));}}" }, { - "id": 1955, + "id": 1956, "name": "getRoleAdmin", "node_type": 42, "kind": 41, @@ -2964,10 +3022,10 @@ "start": 38232, "end": 38243, "length": 12, - "parent_index": 1955 + "parent_index": 1956 }, "body": { - "id": 1963, + "id": 1964, "node_type": 46, "kind": 0, "src": { @@ -2976,12 +3034,12 @@ "start": 38298, "end": 38343, "length": 46, - "parent_index": 1955 + "parent_index": 1956 }, "implemented": true, "statements": [ { - "id": 1964, + "id": 1965, "node_type": 47, "src": { "line": 1163, @@ -2989,11 +3047,11 @@ "start": 38308, "end": 38337, "length": 30, - "parent_index": 1955 + "parent_index": 1956 }, - "function_return_parameters": 1955, + "function_return_parameters": 1956, "expression": { - "id": 1965, + "id": 1966, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3005,7 +3063,7 @@ "start": 38315, "end": 38336, "length": 22, - "parent_index": 1964 + "parent_index": 1965 }, "member_location": { "line": 1163, @@ -3013,10 +3071,10 @@ "start": 38328, "end": 38336, "length": 9, - "parent_index": 1965 + "parent_index": 1966 }, "expression": { - "id": 1966, + "id": 1967, "node_type": 22, "src": { "line": 1163, @@ -3024,10 +3082,10 @@ "start": 38315, "end": 38326, "length": 12, - "parent_index": 1965 + "parent_index": 1966 }, "index_expression": { - "id": 1967, + "id": 1968, "node_type": 16, "src": { "line": 1163, @@ -3035,19 +3093,20 @@ "start": 38315, "end": 38320, "length": 6, - "parent_index": 1966 + "parent_index": 1967 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 1968, + "id": 1969, "node_type": 16, "src": { "line": 1163, @@ -3055,7 +3114,7 @@ "start": 38322, "end": 38325, "length": 4, - "parent_index": 1966 + "parent_index": 1967 }, "name": "role", "type_description": { @@ -3063,12 +3122,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1968, - "is_pure": false + "referenced_declaration": 1969, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -3077,16 +3137,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "adminRole", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole" } } ] @@ -3098,7 +3159,7 @@ "modifiers": [], "overrides": [ { - "id": 1959, + "id": 1960, "node_type": 63, "src": { "line": 1162, @@ -3106,7 +3167,7 @@ "start": 38271, "end": 38278, "length": 8, - "parent_index": 1955 + "parent_index": 1956 }, "overrides": [], "referenced_declaration": 0, @@ -3117,7 +3178,7 @@ } ], "parameters": { - "id": 1956, + "id": 1957, "node_type": 43, "src": { "line": 1162, @@ -3125,11 +3186,11 @@ "start": 38245, "end": 38256, "length": 12, - "parent_index": 1955 + "parent_index": 1956 }, "parameters": [ { - "id": 1957, + "id": 1958, "node_type": 44, "src": { "line": 1162, @@ -3137,12 +3198,12 @@ "start": 38245, "end": 38256, "length": 12, - "parent_index": 1956 + "parent_index": 1957 }, - "scope": 1955, + "scope": 1956, "name": "role", "type_name": { - "id": 1958, + "id": 1959, "node_type": 30, "src": { "line": 1162, @@ -3150,7 +3211,7 @@ "start": 38245, "end": 38251, "length": 7, - "parent_index": 1957 + "parent_index": 1958 }, "name": "bytes32", "referenced_declaration": 0, @@ -3176,7 +3237,7 @@ ] }, "return_parameters": { - "id": 1960, + "id": 1961, "node_type": 43, "src": { "line": 1162, @@ -3184,11 +3245,11 @@ "start": 38289, "end": 38295, "length": 7, - "parent_index": 1955 + "parent_index": 1956 }, "parameters": [ { - "id": 1961, + "id": 1962, "node_type": 44, "src": { "line": 1162, @@ -3196,12 +3257,12 @@ "start": 38289, "end": 38295, "length": 7, - "parent_index": 1960 + "parent_index": 1961 }, - "scope": 1955, + "scope": 1956, "name": "", "type_name": { - "id": 1962, + "id": 1963, "node_type": 30, "src": { "line": 1162, @@ -3209,7 +3270,7 @@ "start": 38289, "end": 38295, "length": 7, - "parent_index": 1961 + "parent_index": 1962 }, "name": "bytes32", "referenced_declaration": 0, @@ -3240,10 +3301,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetRoleAdmin(bytes32role)publicviewoverridereturns(bytes32){return_roles[role].adminRole;}" }, { - "id": 1970, + "id": 1971, "name": "grantRole", "node_type": 42, "kind": 41, @@ -3261,10 +3323,10 @@ "start": 38603, "end": 38611, "length": 9, - "parent_index": 1970 + "parent_index": 1971 }, "body": { - "id": 1983, + "id": 1984, "node_type": 46, "kind": 0, "src": { @@ -3273,12 +3335,12 @@ "start": 38697, "end": 38738, "length": 42, - "parent_index": 1970 + "parent_index": 1971 }, "implemented": true, "statements": [ { - "id": 1984, + "id": 1985, "node_type": 24, "kind": 24, "src": { @@ -3287,7 +3349,7 @@ "start": 38707, "end": 38731, "length": 25, - "parent_index": 1983 + "parent_index": 1984 }, "argument_types": [ { @@ -3301,7 +3363,7 @@ ], "arguments": [ { - "id": 1986, + "id": 1987, "node_type": 16, "src": { "line": 1177, @@ -3309,7 +3371,7 @@ "start": 38718, "end": 38721, "length": 4, - "parent_index": 1984 + "parent_index": 1985 }, "name": "role", "type_description": { @@ -3317,11 +3379,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1986, - "is_pure": false + "referenced_declaration": 1987, + "is_pure": false, + "text": "role" }, { - "id": 1987, + "id": 1988, "node_type": 16, "src": { "line": 1177, @@ -3329,7 +3392,7 @@ "start": 38724, "end": 38730, "length": 7, - "parent_index": 1984 + "parent_index": 1985 }, "name": "account", "type_description": { @@ -3337,18 +3400,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1987, + "referenced_declaration": 1988, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 1985, + "id": 1986, "node_type": 16, "src": { "line": 1177, @@ -3356,7 +3420,7 @@ "start": 38707, "end": 38716, "length": 10, - "parent_index": 1984 + "parent_index": 1985 }, "name": "_grantRole", "type_description": { @@ -3365,7 +3429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -3380,7 +3445,7 @@ "virtual": true, "modifiers": [ { - "id": 1976, + "id": 1977, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -3390,7 +3455,7 @@ "start": 38668, "end": 38695, "length": 28, - "parent_index": 1970 + "parent_index": 1971 }, "argument_types": [ { @@ -3400,7 +3465,7 @@ ], "arguments": [ { - "id": 1978, + "id": 1979, "node_type": 24, "kind": 24, "src": { @@ -3409,7 +3474,7 @@ "start": 38677, "end": 38694, "length": 18, - "parent_index": 1976 + "parent_index": 1977 }, "argument_types": [ { @@ -3419,7 +3484,7 @@ ], "arguments": [ { - "id": 1980, + "id": 1981, "node_type": 16, "src": { "line": 1176, @@ -3427,7 +3492,7 @@ "start": 38690, "end": 38693, "length": 4, - "parent_index": 1978 + "parent_index": 1979 }, "name": "role", "type_description": { @@ -3435,12 +3500,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1980, - "is_pure": false + "referenced_declaration": 1981, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 1979, + "id": 1980, "node_type": 16, "src": { "line": 1176, @@ -3448,7 +3514,7 @@ "start": 38677, "end": 38688, "length": 12, - "parent_index": 1978 + "parent_index": 1979 }, "name": "getRoleAdmin", "type_description": { @@ -3457,7 +3523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -3466,7 +3533,7 @@ } ], "modifier_name": { - "id": 1977, + "id": 1978, "name": "onlyRole", "node_type": 0, "src": { @@ -3475,14 +3542,14 @@ "start": 38668, "end": 38675, "length": 8, - "parent_index": 1976 + "parent_index": 1977 } } } ], "overrides": [ { - "id": 1981, + "id": 1982, "node_type": 63, "src": { "line": 1176, @@ -3490,7 +3557,7 @@ "start": 38659, "end": 38666, "length": 8, - "parent_index": 1970 + "parent_index": 1971 }, "overrides": [], "referenced_declaration": 0, @@ -3501,7 +3568,7 @@ } ], "parameters": { - "id": 1971, + "id": 1972, "node_type": 43, "src": { "line": 1176, @@ -3509,11 +3576,11 @@ "start": 38613, "end": 38641, "length": 29, - "parent_index": 1970 + "parent_index": 1971 }, "parameters": [ { - "id": 1972, + "id": 1973, "node_type": 44, "src": { "line": 1176, @@ -3521,12 +3588,12 @@ "start": 38613, "end": 38624, "length": 12, - "parent_index": 1971 + "parent_index": 1972 }, - "scope": 1970, + "scope": 1971, "name": "role", "type_name": { - "id": 1973, + "id": 1974, "node_type": 30, "src": { "line": 1176, @@ -3534,7 +3601,7 @@ "start": 38613, "end": 38619, "length": 7, - "parent_index": 1972 + "parent_index": 1973 }, "name": "bytes32", "referenced_declaration": 0, @@ -3552,7 +3619,7 @@ } }, { - "id": 1974, + "id": 1975, "node_type": 44, "src": { "line": 1176, @@ -3560,12 +3627,12 @@ "start": 38627, "end": 38641, "length": 15, - "parent_index": 1971 + "parent_index": 1972 }, - "scope": 1970, + "scope": 1971, "name": "account", "type_name": { - "id": 1975, + "id": 1976, "node_type": 30, "src": { "line": 1176, @@ -3573,7 +3640,7 @@ "start": 38627, "end": 38633, "length": 7, - "parent_index": 1974 + "parent_index": 1975 }, "name": "address", "state_mutability": 4, @@ -3604,7 +3671,7 @@ ] }, "return_parameters": { - "id": 1982, + "id": 1983, "node_type": 43, "src": { "line": 1176, @@ -3612,21 +3679,22 @@ "start": 38594, "end": 38738, "length": 145, - "parent_index": 1970 + "parent_index": 1971 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "grantRole(bytes32, address)", - "signature": "44f0a842", + "signature_raw": "grantRole(bytes32,address)", + "signature": "2f2ff15d", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functiongrantRole(bytes32role,addressaccount)publicvirtualoverrideonlyRole(getRoleAdmin(role)){_grantRole(role,account);}" }, { - "id": 1989, + "id": 1990, "name": "revokeRole", "node_type": 42, "kind": 41, @@ -3644,10 +3712,10 @@ "start": 38982, "end": 38991, "length": 10, - "parent_index": 1989 + "parent_index": 1990 }, "body": { - "id": 2002, + "id": 2003, "node_type": 46, "kind": 0, "src": { @@ -3656,12 +3724,12 @@ "start": 39077, "end": 39119, "length": 43, - "parent_index": 1989 + "parent_index": 1990 }, "implemented": true, "statements": [ { - "id": 2003, + "id": 2004, "node_type": 24, "kind": 24, "src": { @@ -3670,7 +3738,7 @@ "start": 39087, "end": 39112, "length": 26, - "parent_index": 2002 + "parent_index": 2003 }, "argument_types": [ { @@ -3684,7 +3752,7 @@ ], "arguments": [ { - "id": 2005, + "id": 2006, "node_type": 16, "src": { "line": 1190, @@ -3692,7 +3760,7 @@ "start": 39099, "end": 39102, "length": 4, - "parent_index": 2003 + "parent_index": 2004 }, "name": "role", "type_description": { @@ -3700,11 +3768,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2005, - "is_pure": false + "referenced_declaration": 2006, + "is_pure": false, + "text": "role" }, { - "id": 2006, + "id": 2007, "node_type": 16, "src": { "line": 1190, @@ -3712,7 +3781,7 @@ "start": 39105, "end": 39111, "length": 7, - "parent_index": 2003 + "parent_index": 2004 }, "name": "account", "type_description": { @@ -3720,18 +3789,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2006, + "referenced_declaration": 2007, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2004, + "id": 2005, "node_type": 16, "src": { "line": 1190, @@ -3739,7 +3809,7 @@ "start": 39087, "end": 39097, "length": 11, - "parent_index": 2003 + "parent_index": 2004 }, "name": "_revokeRole", "type_description": { @@ -3748,7 +3818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_revokeRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -3763,7 +3834,7 @@ "virtual": true, "modifiers": [ { - "id": 1995, + "id": 1996, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -3773,7 +3844,7 @@ "start": 39048, "end": 39075, "length": 28, - "parent_index": 1989 + "parent_index": 1990 }, "argument_types": [ { @@ -3783,7 +3854,7 @@ ], "arguments": [ { - "id": 1997, + "id": 1998, "node_type": 24, "kind": 24, "src": { @@ -3792,7 +3863,7 @@ "start": 39057, "end": 39074, "length": 18, - "parent_index": 1995 + "parent_index": 1996 }, "argument_types": [ { @@ -3802,7 +3873,7 @@ ], "arguments": [ { - "id": 1999, + "id": 2000, "node_type": 16, "src": { "line": 1189, @@ -3810,7 +3881,7 @@ "start": 39070, "end": 39073, "length": 4, - "parent_index": 1997 + "parent_index": 1998 }, "name": "role", "type_description": { @@ -3818,12 +3889,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1999, - "is_pure": false + "referenced_declaration": 2000, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 1998, + "id": 1999, "node_type": 16, "src": { "line": 1189, @@ -3831,7 +3903,7 @@ "start": 39057, "end": 39068, "length": 12, - "parent_index": 1997 + "parent_index": 1998 }, "name": "getRoleAdmin", "type_description": { @@ -3840,7 +3912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -3849,7 +3922,7 @@ } ], "modifier_name": { - "id": 1996, + "id": 1997, "name": "onlyRole", "node_type": 0, "src": { @@ -3858,14 +3931,14 @@ "start": 39048, "end": 39055, "length": 8, - "parent_index": 1995 + "parent_index": 1996 } } } ], "overrides": [ { - "id": 2000, + "id": 2001, "node_type": 63, "src": { "line": 1189, @@ -3873,7 +3946,7 @@ "start": 39039, "end": 39046, "length": 8, - "parent_index": 1989 + "parent_index": 1990 }, "overrides": [], "referenced_declaration": 0, @@ -3884,7 +3957,7 @@ } ], "parameters": { - "id": 1990, + "id": 1991, "node_type": 43, "src": { "line": 1189, @@ -3892,11 +3965,11 @@ "start": 38993, "end": 39021, "length": 29, - "parent_index": 1989 + "parent_index": 1990 }, "parameters": [ { - "id": 1991, + "id": 1992, "node_type": 44, "src": { "line": 1189, @@ -3904,12 +3977,12 @@ "start": 38993, "end": 39004, "length": 12, - "parent_index": 1990 + "parent_index": 1991 }, - "scope": 1989, + "scope": 1990, "name": "role", "type_name": { - "id": 1992, + "id": 1993, "node_type": 30, "src": { "line": 1189, @@ -3917,7 +3990,7 @@ "start": 38993, "end": 38999, "length": 7, - "parent_index": 1991 + "parent_index": 1992 }, "name": "bytes32", "referenced_declaration": 0, @@ -3935,7 +4008,7 @@ } }, { - "id": 1993, + "id": 1994, "node_type": 44, "src": { "line": 1189, @@ -3943,12 +4016,12 @@ "start": 39007, "end": 39021, "length": 15, - "parent_index": 1990 + "parent_index": 1991 }, - "scope": 1989, + "scope": 1990, "name": "account", "type_name": { - "id": 1994, + "id": 1995, "node_type": 30, "src": { "line": 1189, @@ -3956,7 +4029,7 @@ "start": 39007, "end": 39013, "length": 7, - "parent_index": 1993 + "parent_index": 1994 }, "name": "address", "state_mutability": 4, @@ -3987,7 +4060,7 @@ ] }, "return_parameters": { - "id": 2001, + "id": 2002, "node_type": 43, "src": { "line": 1189, @@ -3995,21 +4068,22 @@ "start": 38973, "end": 39119, "length": 147, - "parent_index": 1989 + "parent_index": 1990 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "revokeRole(bytes32, address)", - "signature": "b3252796", + "signature_raw": "revokeRole(bytes32,address)", + "signature": "d547741f", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrevokeRole(bytes32role,addressaccount)publicvirtualoverrideonlyRole(getRoleAdmin(role)){_revokeRole(role,account);}" }, { - "id": 2008, + "id": 2009, "name": "renounceRole", "node_type": 42, "kind": 41, @@ -4027,10 +4101,10 @@ "start": 39620, "end": 39631, "length": 12, - "parent_index": 2008 + "parent_index": 2009 }, "body": { - "id": 2016, + "id": 2017, "node_type": 46, "kind": 0, "src": { @@ -4039,12 +4113,12 @@ "start": 39688, "end": 39824, "length": 137, - "parent_index": 2008 + "parent_index": 2009 }, "implemented": true, "statements": [ { - "id": 2017, + "id": 2018, "node_type": 24, "kind": 24, "src": { @@ -4053,7 +4127,7 @@ "start": 39698, "end": 39780, "length": 83, - "parent_index": 2016 + "parent_index": 2017 }, "argument_types": [ { @@ -4067,7 +4141,7 @@ ], "arguments": [ { - "id": 2019, + "id": 2020, "is_constant": false, "is_pure": false, "node_type": 19, @@ -4077,11 +4151,11 @@ "start": 39706, "end": 39728, "length": 23, - "parent_index": 2017 + "parent_index": 2018 }, "operator": 11, "left_expression": { - "id": 2020, + "id": 2021, "node_type": 16, "src": { "line": 1208, @@ -4089,7 +4163,7 @@ "start": 39706, "end": 39712, "length": 7, - "parent_index": 2019 + "parent_index": 2020 }, "name": "account", "type_description": { @@ -4097,11 +4171,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2020, - "is_pure": false + "referenced_declaration": 2021, + "is_pure": false, + "text": "account" }, "right_expression": { - "id": 2021, + "id": 2022, "node_type": 24, "kind": 24, "src": { @@ -4110,12 +4185,12 @@ "start": 39717, "end": 39728, "length": 12, - "parent_index": 2019 + "parent_index": 2020 }, "argument_types": [], "arguments": [], "expression": { - "id": 2022, + "id": 2023, "node_type": 16, "src": { "line": 1208, @@ -4123,7 +4198,7 @@ "start": 39717, "end": 39726, "length": 10, - "parent_index": 2021 + "parent_index": 2022 }, "name": "_msgSender", "type_description": { @@ -4132,7 +4207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4145,7 +4221,7 @@ } }, { - "id": 2023, + "id": 2024, "node_type": 17, "kind": 50, "value": "AccessControl: can only renounce roles for self", @@ -4156,7 +4232,7 @@ "start": 39731, "end": 39779, "length": 49, - "parent_index": 2017 + "parent_index": 2018 }, "type_description": { "type_identifier": "t_string_literal", @@ -4170,11 +4246,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"AccessControl: can only renounce roles for self\"" } ], "expression": { - "id": 2018, + "id": 2019, "node_type": 16, "src": { "line": 1208, @@ -4182,7 +4259,7 @@ "start": 39698, "end": 39704, "length": 7, - "parent_index": 2017 + "parent_index": 2018 }, "name": "require", "type_description": { @@ -4191,7 +4268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4199,7 +4277,7 @@ } }, { - "id": 2024, + "id": 2025, "node_type": 24, "kind": 24, "src": { @@ -4208,7 +4286,7 @@ "start": 39792, "end": 39817, "length": 26, - "parent_index": 2016 + "parent_index": 2017 }, "argument_types": [ { @@ -4222,7 +4300,7 @@ ], "arguments": [ { - "id": 2026, + "id": 2027, "node_type": 16, "src": { "line": 1210, @@ -4230,7 +4308,7 @@ "start": 39804, "end": 39807, "length": 4, - "parent_index": 2024 + "parent_index": 2025 }, "name": "role", "type_description": { @@ -4238,11 +4316,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2026, - "is_pure": false + "referenced_declaration": 2027, + "is_pure": false, + "text": "role" }, { - "id": 2027, + "id": 2028, "node_type": 16, "src": { "line": 1210, @@ -4250,7 +4329,7 @@ "start": 39810, "end": 39816, "length": 7, - "parent_index": 2024 + "parent_index": 2025 }, "name": "account", "type_description": { @@ -4258,18 +4337,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2027, + "referenced_declaration": 2028, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2025, + "id": 2026, "node_type": 16, "src": { "line": 1210, @@ -4277,7 +4357,7 @@ "start": 39792, "end": 39802, "length": 11, - "parent_index": 2024 + "parent_index": 2025 }, "name": "_revokeRole", "type_description": { @@ -4286,7 +4366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_revokeRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -4302,7 +4383,7 @@ "modifiers": [], "overrides": [ { - "id": 2014, + "id": 2015, "node_type": 63, "src": { "line": 1207, @@ -4310,7 +4391,7 @@ "start": 39679, "end": 39686, "length": 8, - "parent_index": 2008 + "parent_index": 2009 }, "overrides": [], "referenced_declaration": 0, @@ -4321,7 +4402,7 @@ } ], "parameters": { - "id": 2009, + "id": 2010, "node_type": 43, "src": { "line": 1207, @@ -4329,11 +4410,11 @@ "start": 39633, "end": 39661, "length": 29, - "parent_index": 2008 + "parent_index": 2009 }, "parameters": [ { - "id": 2010, + "id": 2011, "node_type": 44, "src": { "line": 1207, @@ -4341,12 +4422,12 @@ "start": 39633, "end": 39644, "length": 12, - "parent_index": 2009 + "parent_index": 2010 }, - "scope": 2008, + "scope": 2009, "name": "role", "type_name": { - "id": 2011, + "id": 2012, "node_type": 30, "src": { "line": 1207, @@ -4354,7 +4435,7 @@ "start": 39633, "end": 39639, "length": 7, - "parent_index": 2010 + "parent_index": 2011 }, "name": "bytes32", "referenced_declaration": 0, @@ -4372,7 +4453,7 @@ } }, { - "id": 2012, + "id": 2013, "node_type": 44, "src": { "line": 1207, @@ -4380,12 +4461,12 @@ "start": 39647, "end": 39661, "length": 15, - "parent_index": 2009 + "parent_index": 2010 }, - "scope": 2008, + "scope": 2009, "name": "account", "type_name": { - "id": 2013, + "id": 2014, "node_type": 30, "src": { "line": 1207, @@ -4393,7 +4474,7 @@ "start": 39647, "end": 39653, "length": 7, - "parent_index": 2012 + "parent_index": 2013 }, "name": "address", "state_mutability": 4, @@ -4424,7 +4505,7 @@ ] }, "return_parameters": { - "id": 2015, + "id": 2016, "node_type": 43, "src": { "line": 1207, @@ -4432,21 +4513,22 @@ "start": 39611, "end": 39824, "length": 214, - "parent_index": 2008 + "parent_index": 2009 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "renounceRole(bytes32, address)", - "signature": "e8365576", + "signature_raw": "renounceRole(bytes32,address)", + "signature": "36568abe", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrenounceRole(bytes32role,addressaccount)publicvirtualoverride{require(account==_msgSender(),\"AccessControl: can only renounce roles for self\");_revokeRole(role,account);}" }, { - "id": 2029, + "id": 2030, "name": "_setupRole", "node_type": 42, "kind": 41, @@ -4464,10 +4546,10 @@ "start": 40399, "end": 40408, "length": 10, - "parent_index": 2029 + "parent_index": 2030 }, "body": { - "id": 2036, + "id": 2037, "node_type": 46, "kind": 0, "src": { @@ -4476,12 +4558,12 @@ "start": 40458, "end": 40499, "length": 42, - "parent_index": 2029 + "parent_index": 2030 }, "implemented": true, "statements": [ { - "id": 2037, + "id": 2038, "node_type": 24, "kind": 24, "src": { @@ -4490,7 +4572,7 @@ "start": 40468, "end": 40492, "length": 25, - "parent_index": 2036 + "parent_index": 2037 }, "argument_types": [ { @@ -4504,7 +4586,7 @@ ], "arguments": [ { - "id": 2039, + "id": 2040, "node_type": 16, "src": { "line": 1230, @@ -4512,7 +4594,7 @@ "start": 40479, "end": 40482, "length": 4, - "parent_index": 2037 + "parent_index": 2038 }, "name": "role", "type_description": { @@ -4520,11 +4602,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2039, - "is_pure": false + "referenced_declaration": 2040, + "is_pure": false, + "text": "role" }, { - "id": 2040, + "id": 2041, "node_type": 16, "src": { "line": 1230, @@ -4532,7 +4615,7 @@ "start": 40485, "end": 40491, "length": 7, - "parent_index": 2037 + "parent_index": 2038 }, "name": "account", "type_description": { @@ -4540,18 +4623,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2040, + "referenced_declaration": 2041, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2038, + "id": 2039, "node_type": 16, "src": { "line": 1230, @@ -4559,7 +4643,7 @@ "start": 40468, "end": 40477, "length": 10, - "parent_index": 2037 + "parent_index": 2038 }, "name": "_grantRole", "type_description": { @@ -4568,7 +4652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -4584,7 +4669,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2030, + "id": 2031, "node_type": 43, "src": { "line": 1229, @@ -4592,11 +4677,11 @@ "start": 40410, "end": 40438, "length": 29, - "parent_index": 2029 + "parent_index": 2030 }, "parameters": [ { - "id": 2031, + "id": 2032, "node_type": 44, "src": { "line": 1229, @@ -4604,12 +4689,12 @@ "start": 40410, "end": 40421, "length": 12, - "parent_index": 2030 + "parent_index": 2031 }, - "scope": 2029, + "scope": 2030, "name": "role", "type_name": { - "id": 2032, + "id": 2033, "node_type": 30, "src": { "line": 1229, @@ -4617,7 +4702,7 @@ "start": 40410, "end": 40416, "length": 7, - "parent_index": 2031 + "parent_index": 2032 }, "name": "bytes32", "referenced_declaration": 0, @@ -4635,7 +4720,7 @@ } }, { - "id": 2033, + "id": 2034, "node_type": 44, "src": { "line": 1229, @@ -4643,12 +4728,12 @@ "start": 40424, "end": 40438, "length": 15, - "parent_index": 2030 + "parent_index": 2031 }, - "scope": 2029, + "scope": 2030, "name": "account", "type_name": { - "id": 2034, + "id": 2035, "node_type": 30, "src": { "line": 1229, @@ -4656,7 +4741,7 @@ "start": 40424, "end": 40430, "length": 7, - "parent_index": 2033 + "parent_index": 2034 }, "name": "address", "state_mutability": 4, @@ -4687,7 +4772,7 @@ ] }, "return_parameters": { - "id": 2035, + "id": 2036, "node_type": 43, "src": { "line": 1229, @@ -4695,21 +4780,22 @@ "start": 40390, "end": 40499, "length": 110, - "parent_index": 2029 + "parent_index": 2030 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_setupRole(bytes32, address)", - "signature": "95e930c8", + "signature_raw": "_setupRole(bytes32,address)", + "signature": "4fa943a6", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_setupRole(bytes32role,addressaccount)internalvirtual{_grantRole(role,account);}" }, { - "id": 2042, + "id": 2043, "name": "_setRoleAdmin", "node_type": 42, "kind": 41, @@ -4727,10 +4813,10 @@ "start": 40634, "end": 40646, "length": 13, - "parent_index": 2042 + "parent_index": 2043 }, "body": { - "id": 2049, + "id": 2050, "node_type": 46, "kind": 0, "src": { @@ -4739,12 +4825,12 @@ "start": 40698, "end": 40816, "length": 119, - "parent_index": 2042 + "parent_index": 2043 }, "implemented": true, "statements": [ { - "id": 2050, + "id": 2051, "node_type": 64, "src": { "line": 1239, @@ -4752,11 +4838,11 @@ "start": 40708, "end": 40766, "length": 59, - "parent_index": 2042 + "parent_index": 2043 }, "arguments": [ { - "id": 2051, + "id": 2052, "node_type": 16, "src": { "line": 1239, @@ -4764,7 +4850,7 @@ "start": 40730, "end": 40733, "length": 4, - "parent_index": 2050 + "parent_index": 2051 }, "name": "role", "type_description": { @@ -4772,11 +4858,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2051, - "is_pure": false + "referenced_declaration": 2052, + "is_pure": false, + "text": "role" }, { - "id": 2052, + "id": 2053, "node_type": 24, "kind": 24, "src": { @@ -4785,7 +4872,7 @@ "start": 40736, "end": 40753, "length": 18, - "parent_index": 2050 + "parent_index": 2051 }, "argument_types": [ { @@ -4795,7 +4882,7 @@ ], "arguments": [ { - "id": 2054, + "id": 2055, "node_type": 16, "src": { "line": 1239, @@ -4803,7 +4890,7 @@ "start": 40749, "end": 40752, "length": 4, - "parent_index": 2052 + "parent_index": 2053 }, "name": "role", "type_description": { @@ -4811,12 +4898,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2053, + "id": 2054, "node_type": 16, "src": { "line": 1239, @@ -4824,7 +4912,7 @@ "start": 40736, "end": 40747, "length": 12, - "parent_index": 2052 + "parent_index": 2053 }, "name": "getRoleAdmin", "type_description": { @@ -4833,7 +4921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -4841,7 +4930,7 @@ } }, { - "id": 2055, + "id": 2056, "node_type": 16, "src": { "line": 1239, @@ -4849,7 +4938,7 @@ "start": 40756, "end": 40764, "length": 9, - "parent_index": 2050 + "parent_index": 2051 }, "name": "adminRole", "type_description": { @@ -4857,12 +4946,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2055, - "is_pure": false + "referenced_declaration": 2056, + "is_pure": false, + "text": "adminRole" } ], "expression": { - "id": 2056, + "id": 2057, "node_type": 16, "src": { "line": 1239, @@ -4870,20 +4960,21 @@ "start": 40713, "end": 40728, "length": 16, - "parent_index": 2050 + "parent_index": 2051 }, "name": "RoleAdminChanged", "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261835", + "type_identifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261836", "type_string": "event AccessControl.RoleAdminChanged" }, "overloaded_declarations": [], - "referenced_declaration": 1835, - "is_pure": false + "referenced_declaration": 1836, + "is_pure": false, + "text": "RoleAdminChanged" } }, { - "id": 2057, + "id": 2058, "node_type": 27, "src": { "line": 1240, @@ -4891,10 +4982,10 @@ "start": 40776, "end": 40810, "length": 35, - "parent_index": 2049 + "parent_index": 2050 }, "expression": { - "id": 2058, + "id": 2059, "node_type": 27, "src": { "line": 1240, @@ -4902,11 +4993,11 @@ "start": 40776, "end": 40809, "length": 34, - "parent_index": 2057 + "parent_index": 2058 }, "operator": 11, "left_expression": { - "id": 2059, + "id": 2060, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4918,7 +5009,7 @@ "start": 40776, "end": 40797, "length": 22, - "parent_index": 2058 + "parent_index": 2059 }, "member_location": { "line": 1240, @@ -4926,10 +5017,10 @@ "start": 40789, "end": 40797, "length": 9, - "parent_index": 2059 + "parent_index": 2060 }, "expression": { - "id": 2060, + "id": 2061, "node_type": 22, "src": { "line": 1240, @@ -4937,10 +5028,10 @@ "start": 40776, "end": 40787, "length": 12, - "parent_index": 2059 + "parent_index": 2060 }, "index_expression": { - "id": 2061, + "id": 2062, "node_type": 16, "src": { "line": 1240, @@ -4948,19 +5039,20 @@ "start": 40776, "end": 40781, "length": 6, - "parent_index": 2060 + "parent_index": 2061 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2062, + "id": 2063, "node_type": 16, "src": { "line": 1240, @@ -4968,7 +5060,7 @@ "start": 40783, "end": 40786, "length": 4, - "parent_index": 2060 + "parent_index": 2061 }, "name": "role", "type_description": { @@ -4976,12 +5068,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2062, - "is_pure": false + "referenced_declaration": 2063, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -4990,19 +5083,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "adminRole", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole" }, "right_expression": { - "id": 2063, + "id": 2064, "node_type": 16, "src": { "line": 1240, @@ -5010,7 +5104,7 @@ "start": 40801, "end": 40809, "length": 9, - "parent_index": 2058 + "parent_index": 2059 }, "name": "adminRole", "type_description": { @@ -5018,18 +5112,20 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2063, - "is_pure": false + "referenced_declaration": 2064, + "is_pure": false, + "text": "adminRole" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole=adminRole;" } ] }, @@ -5040,7 +5136,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2043, + "id": 2044, "node_type": 43, "src": { "line": 1238, @@ -5048,11 +5144,11 @@ "start": 40648, "end": 40678, "length": 31, - "parent_index": 2042 + "parent_index": 2043 }, "parameters": [ { - "id": 2044, + "id": 2045, "node_type": 44, "src": { "line": 1238, @@ -5060,12 +5156,12 @@ "start": 40648, "end": 40659, "length": 12, - "parent_index": 2043 + "parent_index": 2044 }, - "scope": 2042, + "scope": 2043, "name": "role", "type_name": { - "id": 2045, + "id": 2046, "node_type": 30, "src": { "line": 1238, @@ -5073,7 +5169,7 @@ "start": 40648, "end": 40654, "length": 7, - "parent_index": 2044 + "parent_index": 2045 }, "name": "bytes32", "referenced_declaration": 0, @@ -5091,7 +5187,7 @@ } }, { - "id": 2046, + "id": 2047, "node_type": 44, "src": { "line": 1238, @@ -5099,12 +5195,12 @@ "start": 40662, "end": 40678, "length": 17, - "parent_index": 2043 + "parent_index": 2044 }, - "scope": 2042, + "scope": 2043, "name": "adminRole", "type_name": { - "id": 2047, + "id": 2048, "node_type": 30, "src": { "line": 1238, @@ -5112,7 +5208,7 @@ "start": 40662, "end": 40668, "length": 7, - "parent_index": 2046 + "parent_index": 2047 }, "name": "bytes32", "referenced_declaration": 0, @@ -5142,7 +5238,7 @@ ] }, "return_parameters": { - "id": 2048, + "id": 2049, "node_type": 43, "src": { "line": 1238, @@ -5150,21 +5246,22 @@ "start": 40625, "end": 40816, "length": 192, - "parent_index": 2042 + "parent_index": 2043 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_setRoleAdmin(bytes32, bytes32)", - "signature": "09c75694", + "signature_raw": "_setRoleAdmin(bytes32,bytes32)", + "signature": "7612997d", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32)" - } + }, + "text": "function_setRoleAdmin(bytes32role,bytes32adminRole)internalvirtual{emitRoleAdminChanged(role,getRoleAdmin(role),adminRole);_roles[role].adminRole=adminRole;}" }, { - "id": 2065, + "id": 2066, "name": "_grantRole", "node_type": 42, "kind": 41, @@ -5182,10 +5279,10 @@ "start": 40832, "end": 40841, "length": 10, - "parent_index": 2065 + "parent_index": 2066 }, "body": { - "id": 2072, + "id": 2073, "node_type": 46, "kind": 0, "src": { @@ -5194,12 +5291,12 @@ "start": 40882, "end": 41046, "length": 165, - "parent_index": 2065 + "parent_index": 2066 }, "implemented": true, "statements": [ { - "id": 2073, + "id": 2074, "node_type": 48, "src": { "line": 1244, @@ -5207,10 +5304,10 @@ "start": 40892, "end": 41040, "length": 149, - "parent_index": 2072 + "parent_index": 2073 }, "condition": { - "id": 2074, + "id": 2075, "node_type": 18, "kind": 104, "src": { @@ -5219,7 +5316,7 @@ "start": 40896, "end": 40918, "length": 23, - "parent_index": 2065 + "parent_index": 2066 }, "operator": 31, "prefix": false, @@ -5228,7 +5325,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 2075, + "id": 2076, "node_type": 24, "kind": 24, "src": { @@ -5237,7 +5334,7 @@ "start": 40897, "end": 40918, "length": 22, - "parent_index": 2074 + "parent_index": 2075 }, "argument_types": [ { @@ -5251,7 +5348,7 @@ ], "arguments": [ { - "id": 2077, + "id": 2078, "node_type": 16, "src": { "line": 1244, @@ -5259,7 +5356,7 @@ "start": 40905, "end": 40908, "length": 4, - "parent_index": 2075 + "parent_index": 2076 }, "name": "role", "type_description": { @@ -5267,11 +5364,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2077, - "is_pure": false + "referenced_declaration": 2078, + "is_pure": false, + "text": "role" }, { - "id": 2078, + "id": 2079, "node_type": 16, "src": { "line": 1244, @@ -5279,7 +5377,7 @@ "start": 40911, "end": 40917, "length": 7, - "parent_index": 2075 + "parent_index": 2076 }, "name": "account", "type_description": { @@ -5287,18 +5385,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2078, + "referenced_declaration": 2079, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2076, + "id": 2077, "node_type": 16, "src": { "line": 1244, @@ -5306,7 +5405,7 @@ "start": 40897, "end": 40903, "length": 7, - "parent_index": 2075 + "parent_index": 2076 }, "name": "hasRole", "type_description": { @@ -5315,7 +5414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -5328,7 +5428,7 @@ } }, "body": { - "id": 2079, + "id": 2080, "node_type": 46, "kind": 0, "src": { @@ -5337,12 +5437,12 @@ "start": 40921, "end": 41040, "length": 120, - "parent_index": 2065 + "parent_index": 2066 }, "implemented": true, "statements": [ { - "id": 2080, + "id": 2081, "node_type": 27, "src": { "line": 1245, @@ -5350,10 +5450,10 @@ "start": 40935, "end": 40971, "length": 37, - "parent_index": 2079 + "parent_index": 2080 }, "expression": { - "id": 2081, + "id": 2082, "node_type": 27, "src": { "line": 1245, @@ -5361,11 +5461,11 @@ "start": 40935, "end": 40970, "length": 36, - "parent_index": 2080 + "parent_index": 2081 }, "operator": 11, "left_expression": { - "id": 2082, + "id": 2083, "node_type": 22, "src": { "line": 1245, @@ -5373,10 +5473,10 @@ "start": 40935, "end": 40963, "length": 29, - "parent_index": 2081 + "parent_index": 2082 }, "index_expression": { - "id": 2083, + "id": 2084, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5388,7 +5488,7 @@ "start": 40935, "end": 40954, "length": 20, - "parent_index": 2082 + "parent_index": 2083 }, "member_location": { "line": 1245, @@ -5396,10 +5496,10 @@ "start": 40948, "end": 40954, "length": 7, - "parent_index": 2083 + "parent_index": 2084 }, "expression": { - "id": 2084, + "id": 2085, "node_type": 22, "src": { "line": 1245, @@ -5407,10 +5507,10 @@ "start": 40935, "end": 40946, "length": 12, - "parent_index": 2083 + "parent_index": 2084 }, "index_expression": { - "id": 2085, + "id": 2086, "node_type": 16, "src": { "line": 1245, @@ -5418,19 +5518,20 @@ "start": 40935, "end": 40940, "length": 6, - "parent_index": 2084 + "parent_index": 2085 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2086, + "id": 2087, "node_type": 16, "src": { "line": 1245, @@ -5438,7 +5539,7 @@ "start": 40942, "end": 40945, "length": 4, - "parent_index": 2084 + "parent_index": 2085 }, "name": "role", "type_description": { @@ -5446,12 +5547,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2086, - "is_pure": false + "referenced_declaration": 2087, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -5460,19 +5562,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2087, + "id": 2088, "node_type": 16, "src": { "line": 1245, @@ -5480,7 +5583,7 @@ "start": 40956, "end": 40962, "length": 7, - "parent_index": 2082 + "parent_index": 2083 }, "name": "account", "type_description": { @@ -5488,12 +5591,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2087, - "is_pure": false + "referenced_declaration": 2088, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -5502,12 +5606,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "right_expression": { - "id": 2088, + "id": 2089, "node_type": 17, "kind": 61, "value": "true", @@ -5518,7 +5622,7 @@ "start": 40967, "end": 40970, "length": 4, - "parent_index": 2081 + "parent_index": 2082 }, "type_description": { "type_identifier": "t_bool", @@ -5526,20 +5630,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" - } + }, + "text": "_roles[role].members[account]=true;" }, { - "id": 2089, + "id": 2090, "node_type": 64, "src": { "line": 1246, @@ -5547,11 +5653,11 @@ "start": 40985, "end": 41030, "length": 46, - "parent_index": 2065 + "parent_index": 2066 }, "arguments": [ { - "id": 2090, + "id": 2091, "node_type": 16, "src": { "line": 1246, @@ -5559,7 +5665,7 @@ "start": 41002, "end": 41005, "length": 4, - "parent_index": 2089 + "parent_index": 2090 }, "name": "role", "type_description": { @@ -5567,11 +5673,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2090, - "is_pure": false + "referenced_declaration": 2091, + "is_pure": false, + "text": "role" }, { - "id": 2091, + "id": 2092, "node_type": 16, "src": { "line": 1246, @@ -5579,7 +5686,7 @@ "start": 41008, "end": 41014, "length": 7, - "parent_index": 2089 + "parent_index": 2090 }, "name": "account", "type_description": { @@ -5587,11 +5694,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2091, - "is_pure": false + "referenced_declaration": 2092, + "is_pure": false, + "text": "account" }, { - "id": 2092, + "id": 2093, "node_type": 24, "kind": 24, "src": { @@ -5600,12 +5708,12 @@ "start": 41017, "end": 41028, "length": 12, - "parent_index": 2089 + "parent_index": 2090 }, "argument_types": [], "arguments": [], "expression": { - "id": 2093, + "id": 2094, "node_type": 16, "src": { "line": 1246, @@ -5613,7 +5721,7 @@ "start": 41017, "end": 41026, "length": 10, - "parent_index": 2092 + "parent_index": 2093 }, "name": "_msgSender", "type_description": { @@ -5622,7 +5730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5631,7 +5740,7 @@ } ], "expression": { - "id": 2094, + "id": 2095, "node_type": 16, "src": { "line": 1246, @@ -5639,16 +5748,17 @@ "start": 40990, "end": 41000, "length": 11, - "parent_index": 2089 + "parent_index": 2090 }, "name": "RoleGranted", "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleGranted_\u00261844", + "type_identifier": "t_event\u0026_AccessControl_RoleGranted_\u00261845", "type_string": "event AccessControl.RoleGranted" }, "overloaded_declarations": [], - "referenced_declaration": 1844, - "is_pure": false + "referenced_declaration": 1845, + "is_pure": false, + "text": "RoleGranted" } } ] @@ -5663,7 +5773,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2066, + "id": 2067, "node_type": 43, "src": { "line": 1243, @@ -5671,11 +5781,11 @@ "start": 40843, "end": 40871, "length": 29, - "parent_index": 2065 + "parent_index": 2066 }, "parameters": [ { - "id": 2067, + "id": 2068, "node_type": 44, "src": { "line": 1243, @@ -5683,12 +5793,12 @@ "start": 40843, "end": 40854, "length": 12, - "parent_index": 2066 + "parent_index": 2067 }, - "scope": 2065, + "scope": 2066, "name": "role", "type_name": { - "id": 2068, + "id": 2069, "node_type": 30, "src": { "line": 1243, @@ -5696,7 +5806,7 @@ "start": 40843, "end": 40849, "length": 7, - "parent_index": 2067 + "parent_index": 2068 }, "name": "bytes32", "referenced_declaration": 0, @@ -5714,7 +5824,7 @@ } }, { - "id": 2069, + "id": 2070, "node_type": 44, "src": { "line": 1243, @@ -5722,12 +5832,12 @@ "start": 40857, "end": 40871, "length": 15, - "parent_index": 2066 + "parent_index": 2067 }, - "scope": 2065, + "scope": 2066, "name": "account", "type_name": { - "id": 2070, + "id": 2071, "node_type": 30, "src": { "line": 1243, @@ -5735,7 +5845,7 @@ "start": 40857, "end": 40863, "length": 7, - "parent_index": 2069 + "parent_index": 2070 }, "name": "address", "state_mutability": 4, @@ -5766,7 +5876,7 @@ ] }, "return_parameters": { - "id": 2071, + "id": 2072, "node_type": 43, "src": { "line": 1243, @@ -5774,21 +5884,22 @@ "start": 40823, "end": 41046, "length": 224, - "parent_index": 2065 + "parent_index": 2066 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_grantRole(bytes32, address)", - "signature": "389027d9", + "signature_raw": "_grantRole(bytes32,address)", + "signature": "ce2cc1d0", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_grantRole(bytes32role,addressaccount)private{if(!hasRole(role,account)){_roles[role].members[account]=true;emitRoleGranted(role,account,_msgSender());}}" }, { - "id": 2096, + "id": 2097, "name": "_revokeRole", "node_type": 42, "kind": 41, @@ -5806,10 +5917,10 @@ "start": 41062, "end": 41072, "length": 11, - "parent_index": 2096 + "parent_index": 2097 }, "body": { - "id": 2103, + "id": 2104, "node_type": 46, "kind": 0, "src": { @@ -5818,12 +5929,12 @@ "start": 41113, "end": 41277, "length": 165, - "parent_index": 2096 + "parent_index": 2097 }, "implemented": true, "statements": [ { - "id": 2104, + "id": 2105, "node_type": 48, "src": { "line": 1251, @@ -5831,10 +5942,10 @@ "start": 41123, "end": 41271, "length": 149, - "parent_index": 2103 + "parent_index": 2104 }, "condition": { - "id": 2105, + "id": 2106, "node_type": 24, "kind": 24, "src": { @@ -5843,7 +5954,7 @@ "start": 41127, "end": 41148, "length": 22, - "parent_index": 2104 + "parent_index": 2105 }, "argument_types": [ { @@ -5857,7 +5968,7 @@ ], "arguments": [ { - "id": 2107, + "id": 2108, "node_type": 16, "src": { "line": 1251, @@ -5865,7 +5976,7 @@ "start": 41135, "end": 41138, "length": 4, - "parent_index": 2105 + "parent_index": 2106 }, "name": "role", "type_description": { @@ -5873,11 +5984,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2107, - "is_pure": false + "referenced_declaration": 2108, + "is_pure": false, + "text": "role" }, { - "id": 2108, + "id": 2109, "node_type": 16, "src": { "line": 1251, @@ -5885,7 +5997,7 @@ "start": 41141, "end": 41147, "length": 7, - "parent_index": 2105 + "parent_index": 2106 }, "name": "account", "type_description": { @@ -5893,18 +6005,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2108, + "referenced_declaration": 2109, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2106, + "id": 2107, "node_type": 16, "src": { "line": 1251, @@ -5912,7 +6025,7 @@ "start": 41127, "end": 41133, "length": 7, - "parent_index": 2105 + "parent_index": 2106 }, "name": "hasRole", "type_description": { @@ -5921,7 +6034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -5929,7 +6043,7 @@ } }, "body": { - "id": 2109, + "id": 2110, "node_type": 46, "kind": 0, "src": { @@ -5938,12 +6052,12 @@ "start": 41151, "end": 41271, "length": 121, - "parent_index": 2096 + "parent_index": 2097 }, "implemented": true, "statements": [ { - "id": 2110, + "id": 2111, "node_type": 27, "src": { "line": 1252, @@ -5951,10 +6065,10 @@ "start": 41165, "end": 41202, "length": 38, - "parent_index": 2109 + "parent_index": 2110 }, "expression": { - "id": 2111, + "id": 2112, "node_type": 27, "src": { "line": 1252, @@ -5962,11 +6076,11 @@ "start": 41165, "end": 41201, "length": 37, - "parent_index": 2110 + "parent_index": 2111 }, "operator": 11, "left_expression": { - "id": 2112, + "id": 2113, "node_type": 22, "src": { "line": 1252, @@ -5974,10 +6088,10 @@ "start": 41165, "end": 41193, "length": 29, - "parent_index": 2111 + "parent_index": 2112 }, "index_expression": { - "id": 2113, + "id": 2114, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5989,7 +6103,7 @@ "start": 41165, "end": 41184, "length": 20, - "parent_index": 2112 + "parent_index": 2113 }, "member_location": { "line": 1252, @@ -5997,10 +6111,10 @@ "start": 41178, "end": 41184, "length": 7, - "parent_index": 2113 + "parent_index": 2114 }, "expression": { - "id": 2114, + "id": 2115, "node_type": 22, "src": { "line": 1252, @@ -6008,10 +6122,10 @@ "start": 41165, "end": 41176, "length": 12, - "parent_index": 2113 + "parent_index": 2114 }, "index_expression": { - "id": 2115, + "id": 2116, "node_type": 16, "src": { "line": 1252, @@ -6019,19 +6133,20 @@ "start": 41165, "end": 41170, "length": 6, - "parent_index": 2114 + "parent_index": 2115 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2116, + "id": 2117, "node_type": 16, "src": { "line": 1252, @@ -6039,7 +6154,7 @@ "start": 41172, "end": 41175, "length": 4, - "parent_index": 2114 + "parent_index": 2115 }, "name": "role", "type_description": { @@ -6047,12 +6162,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2116, - "is_pure": false + "referenced_declaration": 2117, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -6061,19 +6177,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2117, + "id": 2118, "node_type": 16, "src": { "line": 1252, @@ -6081,7 +6198,7 @@ "start": 41186, "end": 41192, "length": 7, - "parent_index": 2112 + "parent_index": 2113 }, "name": "account", "type_description": { @@ -6089,12 +6206,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2117, - "is_pure": false + "referenced_declaration": 2118, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -6103,12 +6221,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "right_expression": { - "id": 2118, + "id": 2119, "node_type": 17, "kind": 61, "value": "false", @@ -6119,7 +6237,7 @@ "start": 41197, "end": 41201, "length": 5, - "parent_index": 2111 + "parent_index": 2112 }, "type_description": { "type_identifier": "t_bool", @@ -6127,20 +6245,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" - } + }, + "text": "_roles[role].members[account]=false;" }, { - "id": 2119, + "id": 2120, "node_type": 64, "src": { "line": 1253, @@ -6148,11 +6268,11 @@ "start": 41216, "end": 41261, "length": 46, - "parent_index": 2096 + "parent_index": 2097 }, "arguments": [ { - "id": 2120, + "id": 2121, "node_type": 16, "src": { "line": 1253, @@ -6160,7 +6280,7 @@ "start": 41233, "end": 41236, "length": 4, - "parent_index": 2119 + "parent_index": 2120 }, "name": "role", "type_description": { @@ -6168,11 +6288,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2120, - "is_pure": false + "referenced_declaration": 2121, + "is_pure": false, + "text": "role" }, { - "id": 2121, + "id": 2122, "node_type": 16, "src": { "line": 1253, @@ -6180,7 +6301,7 @@ "start": 41239, "end": 41245, "length": 7, - "parent_index": 2119 + "parent_index": 2120 }, "name": "account", "type_description": { @@ -6188,11 +6309,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2121, - "is_pure": false + "referenced_declaration": 2122, + "is_pure": false, + "text": "account" }, { - "id": 2122, + "id": 2123, "node_type": 24, "kind": 24, "src": { @@ -6201,12 +6323,12 @@ "start": 41248, "end": 41259, "length": 12, - "parent_index": 2119 + "parent_index": 2120 }, "argument_types": [], "arguments": [], "expression": { - "id": 2123, + "id": 2124, "node_type": 16, "src": { "line": 1253, @@ -6214,7 +6336,7 @@ "start": 41248, "end": 41257, "length": 10, - "parent_index": 2122 + "parent_index": 2123 }, "name": "_msgSender", "type_description": { @@ -6223,7 +6345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -6232,7 +6355,7 @@ } ], "expression": { - "id": 2124, + "id": 2125, "node_type": 16, "src": { "line": 1253, @@ -6240,16 +6363,17 @@ "start": 41221, "end": 41231, "length": 11, - "parent_index": 2119 + "parent_index": 2120 }, "name": "RoleRevoked", "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261853", + "type_identifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261854", "type_string": "event AccessControl.RoleRevoked" }, "overloaded_declarations": [], - "referenced_declaration": 1853, - "is_pure": false + "referenced_declaration": 1854, + "is_pure": false, + "text": "RoleRevoked" } } ] @@ -6264,7 +6388,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2097, + "id": 2098, "node_type": 43, "src": { "line": 1250, @@ -6272,11 +6396,11 @@ "start": 41074, "end": 41102, "length": 29, - "parent_index": 2096 + "parent_index": 2097 }, "parameters": [ { - "id": 2098, + "id": 2099, "node_type": 44, "src": { "line": 1250, @@ -6284,12 +6408,12 @@ "start": 41074, "end": 41085, "length": 12, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "role", "type_name": { - "id": 2099, + "id": 2100, "node_type": 30, "src": { "line": 1250, @@ -6297,7 +6421,7 @@ "start": 41074, "end": 41080, "length": 7, - "parent_index": 2098 + "parent_index": 2099 }, "name": "bytes32", "referenced_declaration": 0, @@ -6315,7 +6439,7 @@ } }, { - "id": 2100, + "id": 2101, "node_type": 44, "src": { "line": 1250, @@ -6323,12 +6447,12 @@ "start": 41088, "end": 41102, "length": 15, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "account", "type_name": { - "id": 2101, + "id": 2102, "node_type": 30, "src": { "line": 1250, @@ -6336,7 +6460,7 @@ "start": 41088, "end": 41094, "length": 7, - "parent_index": 2100 + "parent_index": 2101 }, "name": "address", "state_mutability": 4, @@ -6367,7 +6491,7 @@ ] }, "return_parameters": { - "id": 2102, + "id": 2103, "node_type": 43, "src": { "line": 1250, @@ -6375,18 +6499,19 @@ "start": 41053, "end": 41277, "length": 225, - "parent_index": 2096 + "parent_index": 2097 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_revokeRole(bytes32, address)", - "signature": "ed5226ed", + "signature_raw": "_revokeRole(bytes32,address)", + "signature": "2c95bd23", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_revokeRole(bytes32role,addressaccount)private{if(hasRole(role,account)){_roles[role].members[account]=false;emitRoleRevoked(role,account,_msgSender());}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/Address.solgo.ast.json b/data/tests/contracts/hello/Address.solgo.ast.json index 4f36d63b..b961183f 100644 --- a/data/tests/contracts/hello/Address.solgo.ast.json +++ b/data/tests/contracts/hello/Address.solgo.ast.json @@ -322,7 +322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 334, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 349, @@ -344,7 +345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -485,7 +487,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){uint256size;assembly{size:=extcodesize(account)}returnsize\u003e0;}" }, { "id": 351, @@ -619,7 +622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -665,7 +669,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -677,7 +682,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 367, @@ -697,7 +703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 367, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -730,7 +737,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -751,7 +759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -855,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -911,14 +921,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 375, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -972,7 +984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 369, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 380, @@ -1000,7 +1013,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -1021,7 +1035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1153,13 +1168,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 382, @@ -1253,7 +1269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 395, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 396, @@ -1279,7 +1296,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 397, @@ -1311,7 +1329,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1332,7 +1351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -1510,13 +1530,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 399, @@ -1614,7 +1635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 415, @@ -1640,7 +1662,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 416, @@ -1672,7 +1695,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 417, @@ -1706,7 +1730,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1727,7 +1752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1948,13 +1974,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 419, @@ -2052,7 +2079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 434, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 435, @@ -2078,7 +2106,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 436, @@ -2108,7 +2137,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 437, @@ -2144,7 +2174,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2165,7 +2196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2386,13 +2418,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 439, @@ -2526,7 +2559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2572,7 +2606,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2584,7 +2619,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 461, @@ -2604,7 +2640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 461, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2637,7 +2674,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2658,7 +2696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2725,7 +2764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 467, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -2746,7 +2786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2779,7 +2820,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -2800,7 +2842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -2949,7 +2992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 478, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -3005,14 +3049,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 477, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -3082,7 +3128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 483, @@ -3108,7 +3155,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 484, @@ -3138,7 +3186,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -3159,7 +3208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -3423,13 +3473,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 486, @@ -3523,7 +3574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 500, @@ -3549,7 +3601,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 501, @@ -3581,7 +3634,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3602,7 +3656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3780,13 +3835,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 503, @@ -3883,7 +3939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -3904,7 +3961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3937,7 +3995,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -3958,7 +4017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -4107,7 +4167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 529, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4151,14 +4212,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 528, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4223,7 +4286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 521, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 534, @@ -4249,7 +4313,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 535, @@ -4279,7 +4344,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4300,7 +4366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -4521,13 +4588,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 537, @@ -4621,7 +4689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 550, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 551, @@ -4647,7 +4716,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 552, @@ -4679,7 +4749,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -4700,7 +4771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -4878,13 +4950,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 554, @@ -4981,7 +5054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 570, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -5002,7 +5076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5035,7 +5110,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -5056,7 +5132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5205,7 +5282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 580, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -5249,14 +5327,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 579, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -5321,7 +5401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 572, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 585, @@ -5347,7 +5428,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 586, @@ -5377,7 +5459,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5398,7 +5481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -5619,13 +5703,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 588, @@ -5691,7 +5776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 601, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 602, @@ -5737,7 +5823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 604, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -5955,13 +6042,14 @@ } ] }, - "signature_raw": "_verifyCallResult(bool, bytes, string)", - "signature": "2ce6cb58", + "signature_raw": "_verifyCallResult(bool,bytes,string)", + "signature": "18c2c6a2", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "function_verifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)privatepurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/Context.solgo.ast.json b/data/tests/contracts/hello/Context.solgo.ast.json index edb041a1..2866233a 100644 --- a/data/tests/contracts/hello/Context.solgo.ast.json +++ b/data/tests/contracts/hello/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 626, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/Counters.solgo.ast.json b/data/tests/contracts/hello/Counters.solgo.ast.json index 1d4a21a1..52705417 100644 --- a/data/tests/contracts/hello/Counters.solgo.ast.json +++ b/data/tests/contracts/hello/Counters.solgo.ast.json @@ -217,14 +217,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1683, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" } } ] @@ -380,7 +382,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_Counters_Counter_$1668$", "type_string": "function(struct Counters.Counter)" - } + }, + "text": "functioncurrent(Counterstoragecounter)internalviewreturns(uint256){returncounter._value;}" }, { "id": 1685, @@ -495,14 +498,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1696, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" }, "right_expression": { "id": 1697, @@ -524,7 +529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", @@ -534,7 +540,8 @@ "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value+=1;" } ] } @@ -646,7 +653,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_Counters_Counter_$1668$", "type_string": "function(struct Counters.Counter)" - } + }, + "text": "functionincrement(Counterstoragecounter)internal{unchecked{counter._value+=1;}}" }, { "id": 1699, @@ -784,14 +792,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1710, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" } }, { @@ -849,7 +859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1706, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1715, @@ -871,7 +882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -904,7 +916,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Counter: decrement overflow\"" } ], "expression": { @@ -925,7 +938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1010,14 +1024,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1721, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" }, "right_expression": { "id": 1722, @@ -1051,7 +1067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1724, @@ -1073,7 +1090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -1088,7 +1106,8 @@ "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value=value-1;" } ] } @@ -1200,7 +1219,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_Counters_Counter_$1668$", "type_string": "function(struct Counters.Counter)" - } + }, + "text": "functiondecrement(Counterstoragecounter)internal{uint256value=counter._value;require(value\u003e0,\"Counter: decrement overflow\");unchecked{counter._value=value-1;}}" }, { "id": 1726, @@ -1301,14 +1321,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1736, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" }, "right_expression": { "id": 1737, @@ -1330,7 +1352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", @@ -1340,7 +1363,8 @@ "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value=0;" } ] }, @@ -1450,7 +1474,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_Counters_Counter_$1668$", "type_string": "function(struct Counters.Counter)" - } + }, + "text": "functionreset(Counterstoragecounter)internal{counter._value=0;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/ERC165.solgo.ast.json b/data/tests/contracts/hello/ERC165.solgo.ast.json index 29edcd66..1e881158 100644 --- a/data/tests/contracts/hello/ERC165.solgo.ast.json +++ b/data/tests/contracts/hello/ERC165.solgo.ast.json @@ -172,7 +172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 864, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 865, @@ -219,7 +220,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC165).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -378,7 +380,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IERC165).interfaceId;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/ERC721.solgo.ast.json b/data/tests/contracts/hello/ERC721.solgo.ast.json index e7541bc7..aed9ca1b 100644 --- a/data/tests/contracts/hello/ERC721.solgo.ast.json +++ b/data/tests/contracts/hello/ERC721.solgo.ast.json @@ -391,7 +391,7 @@ "mutability": 1, "type_name": { "id": 902, - "node_type": 0, + "node_type": 53, "src": { "line": 579, "column": 4, @@ -484,7 +484,7 @@ "mutability": 1, "type_name": { "id": 907, - "node_type": 0, + "node_type": 53, "src": { "line": 582, "column": 4, @@ -577,7 +577,7 @@ "mutability": 1, "type_name": { "id": 912, - "node_type": 0, + "node_type": 53, "src": { "line": 585, "column": 4, @@ -670,7 +670,7 @@ "mutability": 1, "type_name": { "id": 917, - "node_type": 0, + "node_type": 53, "src": { "line": 588, "column": 4, @@ -979,7 +979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 895, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 935, @@ -999,7 +1000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 935, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -1009,7 +1011,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 936, @@ -1052,7 +1055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 898, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 939, @@ -1072,7 +1076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 939, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -1082,7 +1087,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -1194,7 +1200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 956, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 957, @@ -1241,7 +1248,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC721).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -1280,7 +1288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 960, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 961, @@ -1327,7 +1336,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC721Metadata).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -1376,7 +1386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 966, - "is_pure": false + "is_pure": false, + "text": "interfaceId" } ], "expression": { @@ -1420,14 +1431,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -1628,7 +1641,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverride(ERC165,IERC165)returns(bool){returninterfaceId==type(IERC721).interfaceId||interfaceId==type(IERC721Metadata).interfaceId||super.supportsInterface(interfaceId);}" }, { "id": 968, @@ -1720,7 +1734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 980, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 981, @@ -1761,7 +1776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1807,7 +1823,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1845,7 +1862,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: balance query for the zero address\"" } ], "expression": { @@ -1866,7 +1884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1914,7 +1933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 989, @@ -1934,7 +1954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 989, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -2104,7 +2125,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)publicviewvirtualoverridereturns(uint256){require(owner!=address(0),\"ERC721: balance query for the zero address\");return_balances[owner];}" }, { "id": 991, @@ -2231,7 +2253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1005, @@ -2251,7 +2274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1005, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -2324,7 +2348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1010, @@ -2365,7 +2390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -2411,7 +2437,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -2449,7 +2476,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: owner query for nonexistent token\"" } ], "expression": { @@ -2470,7 +2498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2507,7 +2536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "owner" } } ] @@ -2662,7 +2692,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)publicviewvirtualoverridereturns(address){addressowner=_owners[tokenId];require(owner!=address(0),\"ERC721: owner query for nonexistent token\");returnowner;}" }, { "id": 1018, @@ -2729,7 +2760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 895, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -2883,7 +2915,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 1030, @@ -2950,7 +2983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 898, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -3104,7 +3138,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 1042, @@ -3201,7 +3236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1055, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -3222,7 +3258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -3255,7 +3292,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721Metadata: URI query for nonexistent token\"" } ], "expression": { @@ -3276,7 +3314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -3375,7 +3414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_baseURI" }, "type_description": { "type_identifier": "t_function_$", @@ -3481,7 +3521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "baseURI" } ], "expression": { @@ -3526,7 +3567,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -3538,7 +3580,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "bytes(baseURI).length" }, "right_expression": { "id": 1071, @@ -3560,7 +3603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3627,7 +3671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "baseURI" }, { "id": 1079, @@ -3684,14 +3729,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1081, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenId.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -3740,14 +3787,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$", @@ -3797,7 +3846,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string$_t_function_$", @@ -3822,7 +3872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "type_descriptions": [ @@ -3993,7 +4044,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)publicviewvirtualoverridereturns(stringmemory){require(_exists(tokenId),\"ERC721Metadata: URI query for nonexistent token\");stringmemorybaseURI=_baseURI();returnbytes(baseURI).length\u003e0?string(abi.encodePacked(baseURI,tokenId.toString())):\"\";}" }, { "id": 1084, @@ -4060,7 +4112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } } ] @@ -4195,7 +4248,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "function_baseURI()internalviewvirtualreturns(stringmemory){return\"\";}" }, { "id": 1095, @@ -4330,7 +4384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1110, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -4374,7 +4429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -4382,7 +4438,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4445,7 +4502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1115, @@ -4465,7 +4523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1104, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -4498,7 +4557,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approval to current owner\"" } ], "expression": { @@ -4519,7 +4579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4609,7 +4670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4634,7 +4696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1104, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -4682,7 +4745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1104, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1127, @@ -4716,7 +4780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4742,7 +4807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$", @@ -4780,7 +4846,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approve caller is not owner nor approved for all\"" } ], "expression": { @@ -4801,7 +4868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4849,7 +4917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1132, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1133, @@ -4875,7 +4944,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -4896,7 +4966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -5047,13 +5118,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)publicvirtualoverride{addressowner=ERC721.ownerOf(tokenId);require(to!=owner,\"ERC721: approval to current owner\");require(_msgSender()==owner||isApprovedForAll(owner,_msgSender()),\"ERC721: approve caller is not owner nor approved for all\");_approve(to,tokenId);}" }, { "id": 1135, @@ -5150,7 +5222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1148, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -5171,7 +5244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5204,7 +5278,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: approved query for nonexistent token\"" } ], "expression": { @@ -5225,7 +5300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -5273,7 +5349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1153, @@ -5293,7 +5370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1153, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -5463,7 +5541,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)publicviewvirtualoverridereturns(address){require(_exists(tokenId),\"ERC721: approved query for nonexistent token\");return_tokenApprovals[tokenId];}" }, { "id": 1155, @@ -5555,7 +5634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1167, - "is_pure": false + "is_pure": false, + "text": "operator" }, "right_expression": { "id": 1168, @@ -5589,7 +5669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5627,7 +5708,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approve to caller\"" } ], "expression": { @@ -5648,7 +5730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5718,7 +5801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 916, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1176, @@ -5752,7 +5836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5792,7 +5877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1178, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -5827,7 +5913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "approved" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_function_$]$_t_address]$", @@ -5837,7 +5924,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_function_$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003ebool)):function()]:address]" - } + }, + "text": "_operatorApprovals[_msgSender()][operator]=approved;" }, { "id": 1180, @@ -5883,7 +5971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -5908,7 +5997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1183, - "is_pure": false + "is_pure": false, + "text": "operator" }, { "id": 1184, @@ -5928,7 +6018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "approved" } ], "expression": { @@ -5949,7 +6040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 164, - "is_pure": false + "is_pure": false, + "text": "ApprovalForAll" } } ] @@ -6096,13 +6188,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,boolapproved)publicvirtualoverride{require(operator!=_msgSender(),\"ERC721: approve to caller\");_operatorApprovals[_msgSender()][operator]=approved;emitApprovalForAll(_msgSender(),operator,approved);}" }, { "id": 1187, @@ -6191,7 +6284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 916, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1202, @@ -6211,7 +6305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1202, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -6246,7 +6341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1203, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -6454,13 +6550,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)publicviewvirtualoverridereturns(bool){return_operatorApprovals[owner][operator];}" }, { "id": 1205, @@ -6575,7 +6672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -6606,7 +6704,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -6627,7 +6726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isApprovedOrOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -6660,7 +6760,8 @@ "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" } - ] + ], + "text": "\"ERC721: transfer caller is not owner nor approved\"" } ], "expression": { @@ -6681,7 +6782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -6733,7 +6835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1226, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1227, @@ -6759,7 +6862,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1228, @@ -6789,7 +6893,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -6810,7 +6915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -7005,13 +7111,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{require(_isApprovedOrOwner(_msgSender(),tokenId),\"ERC721: transfer caller is not owner nor approved\");_transfer(from,to,tokenId);}" }, { "id": 1230, @@ -7097,7 +7204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1243, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1244, @@ -7123,7 +7231,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1245, @@ -7153,7 +7262,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1246, @@ -7187,7 +7297,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"\"" } ], "expression": { @@ -7208,7 +7319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_string_literal$", @@ -7403,13 +7515,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{safeTransferFrom(from,to,tokenId,\"\");}" }, { "id": 1248, @@ -7524,7 +7637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -7555,7 +7669,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -7576,7 +7691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isApprovedOrOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -7609,7 +7725,8 @@ "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" } - ] + ], + "text": "\"ERC721: transfer caller is not owner nor approved\"" } ], "expression": { @@ -7630,7 +7747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -7686,7 +7804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1271, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1272, @@ -7712,7 +7831,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1273, @@ -7742,7 +7862,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1274, @@ -7776,7 +7897,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -7797,7 +7919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", @@ -8035,13 +8158,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytesmemory_data)publicvirtualoverride{require(_isApprovedOrOwner(_msgSender(),tokenId),\"ERC721: transfer caller is not owner nor approved\");_safeTransfer(from,to,tokenId,_data);}" }, { "id": 1276, @@ -8123,7 +8247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1290, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1291, @@ -8149,7 +8274,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1292, @@ -8179,7 +8305,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -8200,7 +8327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -8279,7 +8407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1297, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1298, @@ -8305,7 +8434,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1299, @@ -8335,7 +8465,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1300, @@ -8369,7 +8500,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -8390,7 +8522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", @@ -8423,7 +8556,8 @@ "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" } - ] + ], + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -8444,7 +8578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_uint256$_t_bytes$_t_string_literal$", @@ -8663,13 +8798,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeTransfer(address, address, uint256, bytes)", - "signature": "b65f2f53", + "signature_raw": "_safeTransfer(address,address,uint256,bytes)", + "signature": "24b6b8c0", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_safeTransfer(addressfrom,addressto,uint256tokenId,bytesmemory_data)internalvirtual{_transfer(from,to,tokenId);require(_checkOnERC721Received(from,to,tokenId,_data),\"ERC721: transfer to non ERC721Receiver implementer\");}" }, { "id": 1303, @@ -8761,7 +8897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1315, @@ -8781,7 +8918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1315, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -8837,7 +8975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8883,7 +9022,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9028,7 +9168,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_exists(uint256tokenId)internalviewvirtualreturns(bool){return_owners[tokenId]!=address(0);}" }, { "id": 1321, @@ -9125,7 +9266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1335, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -9146,7 +9288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -9179,7 +9322,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: operator query for nonexistent token\"" } ], "expression": { @@ -9200,7 +9344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -9305,7 +9450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1343, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -9349,7 +9495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -9357,7 +9504,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -9451,7 +9599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1349, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1350, @@ -9471,7 +9620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1337, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -9529,7 +9679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1354, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -9550,7 +9701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getApproved" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -9575,7 +9727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1355, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_description": { "type_identifier": "t_bool", @@ -9628,7 +9781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1337, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1359, @@ -9654,7 +9808,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -9675,7 +9830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -9864,13 +10020,14 @@ } ] }, - "signature_raw": "_isApprovedOrOwner(address, uint256)", - "signature": "0fecaa15", + "signature_raw": "_isApprovedOrOwner(address,uint256)", + "signature": "4cdc9549", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_isApprovedOrOwner(addressspender,uint256tokenId)internalviewvirtualreturns(bool){require(_exists(tokenId),\"ERC721: operator query for nonexistent token\");addressowner=ERC721.ownerOf(tokenId);return(spender==owner||getApproved(tokenId)==spender||isApprovedForAll(owner,spender));}" }, { "id": 1361, @@ -9952,7 +10109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1371, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1372, @@ -9978,7 +10136,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1373, @@ -10008,7 +10167,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"\"" } ], "expression": { @@ -10029,7 +10189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeMint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_string_literal$", @@ -10161,13 +10322,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256)", - "signature": "df7f3eab", + "signature_raw": "_safeMint(address,uint256)", + "signature": "b3e1c718", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_safeMint(addressto,uint256tokenId)internalvirtual{_safeMint(to,tokenId,\"\");}" }, { "id": 1375, @@ -10245,7 +10407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1388, @@ -10271,7 +10434,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -10292,7 +10456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -10392,7 +10557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10438,7 +10604,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10469,7 +10636,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1398, @@ -10499,7 +10667,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1399, @@ -10533,7 +10702,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -10554,7 +10724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$", @@ -10587,7 +10758,8 @@ "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$", "type_string": "function(function(int_const 0),address,uint256,bytes)" } - ] + ], + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -10608,7 +10780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$_t_string_literal$", @@ -10783,13 +10956,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256, bytes)", - "signature": "5fa2bef5", + "signature_raw": "_safeMint(address,uint256,bytes)", + "signature": "6a4f832b", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,uint256,bytes)" - } + }, + "text": "function_safeMint(addressto,uint256tokenId,bytesmemory_data)internalvirtual{_mint(to,tokenId);require(_checkOnERC721Received(address(0),to,tokenId,_data),\"ERC721: transfer to non ERC721Receiver implementer\");}" }, { "id": 1402, @@ -10881,7 +11055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1413, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1414, @@ -10922,7 +11097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10968,7 +11144,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11006,7 +11183,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: mint to the zero address\"" } ], "expression": { @@ -11027,7 +11205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -11112,7 +11291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1424, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -11133,7 +11313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -11171,7 +11352,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: token already minted\"" } ], "expression": { @@ -11192,7 +11374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -11265,7 +11448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -11311,7 +11495,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11342,7 +11527,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1433, @@ -11372,7 +11558,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -11393,7 +11580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -11452,7 +11640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1438, @@ -11472,7 +11661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1438, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -11509,7 +11699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -11519,7 +11710,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=1;" }, { "id": 1440, @@ -11573,7 +11765,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1444, @@ -11593,7 +11786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1444, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -11628,7 +11822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1445, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -11638,7 +11833,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_owners[tokenId]=to;" }, { "id": 1446, @@ -11691,7 +11887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -11737,7 +11934,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -11762,7 +11960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1451, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1452, @@ -11782,7 +11981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1452, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -11803,7 +12003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -11931,13 +12132,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256tokenId)internalvirtual{require(to!=address(0),\"ERC721: mint to the zero address\");require(!_exists(tokenId),\"ERC721: token already minted\");_beforeTokenTransfer(address(0),to,tokenId);_balances[to]+=1;_owners[tokenId]=to;emitTransfer(address(0),to,tokenId);}" }, { "id": 1455, @@ -12072,7 +12274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1467, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -12116,7 +12319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -12124,7 +12328,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -12177,7 +12382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1461, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1471, @@ -12218,7 +12424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12264,7 +12471,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12299,7 +12507,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -12320,7 +12529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -12389,7 +12599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12435,7 +12646,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12466,7 +12678,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -12487,7 +12700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -12546,7 +12760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1487, @@ -12566,7 +12781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1461, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -12603,7 +12819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -12613,7 +12830,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[owner]-=1;" }, { "id": 1489, @@ -12662,7 +12880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1492, @@ -12682,7 +12901,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1492, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -12734,7 +12954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1461, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1495, @@ -12775,7 +12996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12821,7 +13043,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12846,7 +13069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1499, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -12867,7 +13091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -12957,7 +13182,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_burn(uint256tokenId)internalvirtual{addressowner=ERC721.ownerOf(tokenId);_beforeTokenTransfer(owner,address(0),tokenId);_approve(address(0),tokenId);_balances[owner]-=1;delete_owners[tokenId];emitTransfer(owner,address(0),tokenId);}" }, { "id": 1502, @@ -13068,7 +13294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1518, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -13112,7 +13339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -13120,7 +13348,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -13145,7 +13374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1519, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_description": { "type_identifier": "t_bool", @@ -13178,7 +13408,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: transfer of token that is not own\"" } ], "expression": { @@ -13199,7 +13430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13261,7 +13493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1524, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1525, @@ -13302,7 +13535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -13348,7 +13582,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13386,7 +13621,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: transfer to the zero address\"" } ], "expression": { @@ -13407,7 +13643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13459,7 +13696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1532, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1533, @@ -13485,7 +13723,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1534, @@ -13515,7 +13754,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -13536,7 +13776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -13605,7 +13846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -13651,7 +13893,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13682,7 +13925,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -13703,7 +13947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -13762,7 +14007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1546, @@ -13782,7 +14028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1546, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -13819,7 +14066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -13829,7 +14077,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]-=1;" }, { "id": 1548, @@ -13883,7 +14132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1552, @@ -13903,7 +14153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1552, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -13940,7 +14191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -13950,7 +14202,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=1;" }, { "id": 1554, @@ -14004,7 +14257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1558, @@ -14024,7 +14278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1558, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -14059,7 +14314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1559, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -14069,7 +14325,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_owners[tokenId]=to;" }, { "id": 1560, @@ -14101,7 +14358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1561, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1562, @@ -14121,7 +14379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1562, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1563, @@ -14141,7 +14400,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1563, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -14162,7 +14422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -14334,13 +14595,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256tokenId)internalvirtual{require(ERC721.ownerOf(tokenId)==from,\"ERC721: transfer of token that is not own\");require(to!=address(0),\"ERC721: transfer to the zero address\");_beforeTokenTransfer(from,to,tokenId);_approve(address(0),tokenId);_balances[from]-=1;_balances[to]+=1;_owners[tokenId]=to;emitTransfer(from,to,tokenId);}" }, { "id": 1566, @@ -14429,7 +14691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1578, @@ -14449,7 +14712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1578, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -14484,7 +14748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1579, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -14494,7 +14759,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_tokenApprovals[tokenId]=to;" }, { "id": 1580, @@ -14545,7 +14811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1584, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -14589,7 +14856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -14597,7 +14865,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -14622,7 +14891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1585, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1586, @@ -14642,7 +14912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1586, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -14663,7 +14934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 155, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -14791,13 +15063,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, uint256)", - "signature": "74fb7ab4", + "signature_raw": "_approve(address,uint256)", + "signature": "7b7d7225", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_approve(addressto,uint256tokenId)internalvirtual{_tokenApprovals[tokenId]=to;emitApproval(ERC721.ownerOf(tokenId),to,tokenId);}" }, { "id": 1589, @@ -14900,14 +15173,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1606, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.isContract" }, "type_description": { "type_identifier": "t_function_$", @@ -14997,7 +15272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1642, - "is_pure": false + "is_pure": false, + "text": "retval" }, "right_expression": { "id": 1623, @@ -15082,7 +15358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -15103,7 +15380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15115,14 +15393,16 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC721Receiver(to).onERC721Received" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC721Receiver(to).onERC721Received.selector" }, "type_description": { "type_identifier": "t_bool", @@ -15256,7 +15536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -15287,7 +15568,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "from" }, { "id": 1617, @@ -15317,7 +15599,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1618, @@ -15351,7 +15634,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -15414,7 +15698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -15435,7 +15720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15447,7 +15733,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC721Receiver(to).onERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$_t_bytes$", @@ -15546,14 +15833,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1629, - "is_pure": false + "is_pure": false, + "text": "reason" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "reason.length" }, "right_expression": { "id": 1636, @@ -15575,7 +15864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -15634,7 +15924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -15655,7 +15946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -15988,13 +16280,14 @@ } ] }, - "signature_raw": "_checkOnERC721Received(address, address, uint256, bytes)", - "signature": "c3eec764", + "signature_raw": "_checkOnERC721Received(address,address,uint256,bytes)", + "signature": "1fd01de1", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_checkOnERC721Received(addressfrom,addressto,uint256tokenId,bytesmemory_data)privatereturns(bool){if(to.isContract()){tryIERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,_data)returns(bytes4retval){returnretval==IERC721Receiver(to).onERC721Received.selector;}catch(bytesmemoryreason){if(reason.length==0){revert(\"ERC721: transfer to non ERC721Receiver implementer\");}else{assembly{revert(add(32,reason),mload(reason))}}}}else{returntrue;}}" }, { "id": 1645, @@ -16199,13 +16492,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256tokenId)internalvirtual{}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/IAccessControl.solgo.ast.json b/data/tests/contracts/hello/IAccessControl.solgo.ast.json index 06ff77b9..1b3cbd0c 100644 --- a/data/tests/contracts/hello/IAccessControl.solgo.ast.json +++ b/data/tests/contracts/hello/IAccessControl.solgo.ast.json @@ -265,13 +265,14 @@ } ] }, - "signature_raw": "hasRole(bytes32, address)", - "signature": "86282e07", + "signature_raw": "hasRole(bytes32,address)", + "signature": "91d14854", "scope": 1750, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionhasRole(bytes32role,addressaccount)externalviewreturns(bool);" }, { "id": 1763, @@ -439,7 +440,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetRoleAdmin(bytes32role)externalviewreturns(bytes32);" }, { "id": 1772, @@ -600,13 +602,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "grantRole(bytes32, address)", - "signature": "44f0a842", + "signature_raw": "grantRole(bytes32,address)", + "signature": "2f2ff15d", "scope": 1750, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functiongrantRole(bytes32role,addressaccount)external;" }, { "id": 1781, @@ -767,13 +770,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "revokeRole(bytes32, address)", - "signature": "b3252796", + "signature_raw": "revokeRole(bytes32,address)", + "signature": "d547741f", "scope": 1750, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrevokeRole(bytes32role,addressaccount)external;" }, { "id": 1790, @@ -934,13 +938,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "renounceRole(bytes32, address)", - "signature": "e8365576", + "signature_raw": "renounceRole(bytes32,address)", + "signature": "36568abe", "scope": 1750, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrenounceRole(bytes32role,addressaccount)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/IERC165.solgo.ast.json b/data/tests/contracts/hello/IERC165.solgo.ast.json index 20e3161e..f2626494 100644 --- a/data/tests/contracts/hello/IERC165.solgo.ast.json +++ b/data/tests/contracts/hello/IERC165.solgo.ast.json @@ -227,7 +227,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/IERC721.solgo.ast.json b/data/tests/contracts/hello/IERC721.solgo.ast.json index 07f1668c..c73974e0 100644 --- a/data/tests/contracts/hello/IERC721.solgo.ast.json +++ b/data/tests/contracts/hello/IERC721.solgo.ast.json @@ -763,7 +763,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint256balance);" }, { "id": 182, @@ -932,7 +933,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)externalviewreturns(addressowner);" }, { "id": 191, @@ -1137,13 +1139,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 202, @@ -1348,13 +1351,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 213, @@ -1515,13 +1519,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)external;" }, { "id": 222, @@ -1690,7 +1695,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)externalviewreturns(addressoperator);" }, { "id": 231, @@ -1851,13 +1857,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,bool_approved)external;" }, { "id": 240, @@ -2064,13 +2071,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)externalviewreturns(bool);" }, { "id": 251, @@ -2318,13 +2326,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytescalldatadata)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/IERC721Metadata.solgo.ast.json b/data/tests/contracts/hello/IERC721Metadata.solgo.ast.json index 23ba07d7..6ca21876 100644 --- a/data/tests/contracts/hello/IERC721Metadata.solgo.ast.json +++ b/data/tests/contracts/hello/IERC721Metadata.solgo.ast.json @@ -259,7 +259,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 301, @@ -427,7 +428,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 310, @@ -595,7 +597,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)externalviewreturns(stringmemory);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/IERC721Receiver.solgo.ast.json b/data/tests/contracts/hello/IERC721Receiver.solgo.ast.json index cedb667d..0502ae5b 100644 --- a/data/tests/contracts/hello/IERC721Receiver.solgo.ast.json +++ b/data/tests/contracts/hello/IERC721Receiver.solgo.ast.json @@ -352,13 +352,14 @@ } ] }, - "signature_raw": "onERC721Received(address, address, uint256, bytes)", - "signature": "acb7d9e3", + "signature_raw": "onERC721Received(address,address,uint256,bytes)", + "signature": "150b7a02", "scope": 267, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functiononERC721Received(addressoperator,addressfrom,uint256tokenId,bytescalldatadata)externalreturns(bytes4);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/hello/NFTradeNFTToken.solgo.ast.json b/data/tests/contracts/hello/NFTradeNFTToken.solgo.ast.json index 125484b0..9802e873 100644 --- a/data/tests/contracts/hello/NFTradeNFTToken.solgo.ast.json +++ b/data/tests/contracts/hello/NFTradeNFTToken.solgo.ast.json @@ -1,10 +1,10 @@ { "id": 126, "node_type": 80, - "entry_source_unit": 2152, + "entry_source_unit": 2153, "globals": [ { - "id": 2421, + "id": 2422, "node_type": 57, "src": { "line": 43, @@ -14,7 +14,7 @@ "length": 82 }, "parameters": { - "id": 2422, + "id": 2423, "node_type": 43, "src": { "line": 43, @@ -22,11 +22,11 @@ "start": 1128, "end": 1209, "length": 82, - "parent_index": 2421 + "parent_index": 2422 }, "parameters": [ { - "id": 2423, + "id": 2424, "node_type": 44, "src": { "line": 43, @@ -34,12 +34,12 @@ "start": 1143, "end": 1162, "length": 20, - "parent_index": 2422 + "parent_index": 2423 }, - "scope": 2421, + "scope": 2422, "name": "from", "type_name": { - "id": 2424, + "id": 2425, "node_type": 30, "src": { "line": 43, @@ -47,7 +47,7 @@ "start": 1143, "end": 1149, "length": 7, - "parent_index": 2423 + "parent_index": 2424 }, "name": "address", "state_mutability": 4, @@ -67,7 +67,7 @@ "indexed": true }, { - "id": 2425, + "id": 2426, "node_type": 44, "src": { "line": 43, @@ -75,12 +75,12 @@ "start": 1165, "end": 1182, "length": 18, - "parent_index": 2422 + "parent_index": 2423 }, - "scope": 2421, + "scope": 2422, "name": "to", "type_name": { - "id": 2426, + "id": 2427, "node_type": 30, "src": { "line": 43, @@ -88,7 +88,7 @@ "start": 1165, "end": 1171, "length": 7, - "parent_index": 2425 + "parent_index": 2426 }, "name": "address", "state_mutability": 4, @@ -108,7 +108,7 @@ "indexed": true }, { - "id": 2427, + "id": 2428, "node_type": 44, "src": { "line": 43, @@ -116,12 +116,12 @@ "start": 1185, "end": 1207, "length": 23, - "parent_index": 2422 + "parent_index": 2423 }, - "scope": 2421, + "scope": 2422, "name": "tokenId", "type_name": { - "id": 2428, + "id": 2429, "node_type": 30, "src": { "line": 43, @@ -129,7 +129,7 @@ "start": 1185, "end": 1191, "length": 7, - "parent_index": 2427 + "parent_index": 2428 }, "name": "uint256", "referenced_declaration": 0, @@ -166,12 +166,12 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Transfer_\u00262421", + "type_identifier": "t_event\u0026_Global_Transfer_\u00262422", "type_string": "event Global.Transfer" } }, { - "id": 2429, + "id": 2430, "node_type": 57, "src": { "line": 48, @@ -181,7 +181,7 @@ "length": 89 }, "parameters": { - "id": 2430, + "id": 2431, "node_type": 43, "src": { "line": 48, @@ -189,11 +189,11 @@ "start": 1315, "end": 1403, "length": 89, - "parent_index": 2429 + "parent_index": 2430 }, "parameters": [ { - "id": 2431, + "id": 2432, "node_type": 44, "src": { "line": 48, @@ -201,12 +201,12 @@ "start": 1330, "end": 1350, "length": 21, - "parent_index": 2430 + "parent_index": 2431 }, - "scope": 2429, + "scope": 2430, "name": "owner", "type_name": { - "id": 2432, + "id": 2433, "node_type": 30, "src": { "line": 48, @@ -214,7 +214,7 @@ "start": 1330, "end": 1336, "length": 7, - "parent_index": 2431 + "parent_index": 2432 }, "name": "address", "state_mutability": 4, @@ -234,7 +234,7 @@ "indexed": true }, { - "id": 2433, + "id": 2434, "node_type": 44, "src": { "line": 48, @@ -242,12 +242,12 @@ "start": 1353, "end": 1376, "length": 24, - "parent_index": 2430 + "parent_index": 2431 }, - "scope": 2429, + "scope": 2430, "name": "approved", "type_name": { - "id": 2434, + "id": 2435, "node_type": 30, "src": { "line": 48, @@ -255,7 +255,7 @@ "start": 1353, "end": 1359, "length": 7, - "parent_index": 2433 + "parent_index": 2434 }, "name": "address", "state_mutability": 4, @@ -275,7 +275,7 @@ "indexed": true }, { - "id": 2435, + "id": 2436, "node_type": 44, "src": { "line": 48, @@ -283,12 +283,12 @@ "start": 1379, "end": 1401, "length": 23, - "parent_index": 2430 + "parent_index": 2431 }, - "scope": 2429, + "scope": 2430, "name": "tokenId", "type_name": { - "id": 2436, + "id": 2437, "node_type": 30, "src": { "line": 48, @@ -296,7 +296,7 @@ "start": 1379, "end": 1385, "length": 7, - "parent_index": 2435 + "parent_index": 2436 }, "name": "uint256", "referenced_declaration": 0, @@ -333,12 +333,12 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Approval_\u00262429", + "type_identifier": "t_event\u0026_Global_Approval_\u00262430", "type_string": "event Global.Approval" } }, { - "id": 2437, + "id": 2438, "node_type": 57, "src": { "line": 53, @@ -348,7 +348,7 @@ "length": 85 }, "parameters": { - "id": 2438, + "id": 2439, "node_type": 43, "src": { "line": 53, @@ -356,11 +356,11 @@ "start": 1532, "end": 1616, "length": 85, - "parent_index": 2437 + "parent_index": 2438 }, "parameters": [ { - "id": 2439, + "id": 2440, "node_type": 44, "src": { "line": 53, @@ -368,12 +368,12 @@ "start": 1553, "end": 1573, "length": 21, - "parent_index": 2438 + "parent_index": 2439 }, - "scope": 2437, + "scope": 2438, "name": "owner", "type_name": { - "id": 2440, + "id": 2441, "node_type": 30, "src": { "line": 53, @@ -381,7 +381,7 @@ "start": 1553, "end": 1559, "length": 7, - "parent_index": 2439 + "parent_index": 2440 }, "name": "address", "state_mutability": 4, @@ -401,7 +401,7 @@ "indexed": true }, { - "id": 2441, + "id": 2442, "node_type": 44, "src": { "line": 53, @@ -409,12 +409,12 @@ "start": 1576, "end": 1599, "length": 24, - "parent_index": 2438 + "parent_index": 2439 }, - "scope": 2437, + "scope": 2438, "name": "operator", "type_name": { - "id": 2442, + "id": 2443, "node_type": 30, "src": { "line": 53, @@ -422,7 +422,7 @@ "start": 1576, "end": 1582, "length": 7, - "parent_index": 2441 + "parent_index": 2442 }, "name": "address", "state_mutability": 4, @@ -442,7 +442,7 @@ "indexed": true }, { - "id": 2443, + "id": 2444, "node_type": 44, "src": { "line": 53, @@ -450,12 +450,12 @@ "start": 1602, "end": 1614, "length": 13, - "parent_index": 2438 + "parent_index": 2439 }, - "scope": 2437, + "scope": 2438, "name": "approved", "type_name": { - "id": 2444, + "id": 2445, "node_type": 30, "src": { "line": 53, @@ -463,7 +463,7 @@ "start": 1602, "end": 1605, "length": 4, - "parent_index": 2443 + "parent_index": 2444 }, "name": "bool", "referenced_declaration": 0, @@ -499,12 +499,12 @@ "name": "ApprovalForAll", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_ApprovalForAll_\u00262437", + "type_identifier": "t_event\u0026_Global_ApprovalForAll_\u00262438", "type_string": "event Global.ApprovalForAll" } }, { - "id": 2445, + "id": 2446, "name": "size", "is_constant": true, "is_state_variable": true, @@ -525,7 +525,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2446, + "id": 2447, "node_type": 30, "src": { "line": 256, @@ -533,7 +533,7 @@ "start": 7972, "end": 7978, "length": 7, - "parent_index": 2445 + "parent_index": 2446 }, "name": "uint256", "referenced_declaration": 0, @@ -545,7 +545,7 @@ "initial_value": null }, { - "id": 2447, + "id": 2448, "name": "success", "is_constant": true, "is_state_variable": true, @@ -566,7 +566,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2448, + "id": 2449, "node_type": 30, "src": { "line": 282, @@ -574,7 +574,7 @@ "start": 9169, "end": 9172, "length": 4, - "parent_index": 2447 + "parent_index": 2448 }, "name": "bool", "referenced_declaration": 0, @@ -586,7 +586,7 @@ "initial_value": null }, { - "id": 2449, + "id": 2450, "name": "success", "is_constant": true, "is_state_variable": true, @@ -607,7 +607,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2450, + "id": 2451, "node_type": 30, "src": { "line": 356, @@ -615,7 +615,7 @@ "start": 11891, "end": 11894, "length": 4, - "parent_index": 2449 + "parent_index": 2450 }, "name": "bool", "referenced_declaration": 0, @@ -627,7 +627,7 @@ "initial_value": null }, { - "id": 2451, + "id": 2452, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -648,7 +648,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2452, + "id": 2453, "node_type": 30, "src": { "line": 356, @@ -656,7 +656,7 @@ "start": 11905, "end": 11909, "length": 5, - "parent_index": 2451 + "parent_index": 2452 }, "name": "bytes", "referenced_declaration": 0, @@ -668,7 +668,7 @@ "initial_value": null }, { - "id": 2453, + "id": 2454, "name": "success", "is_constant": true, "is_state_variable": true, @@ -689,7 +689,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2454, + "id": 2455, "node_type": 30, "src": { "line": 383, @@ -697,7 +697,7 @@ "start": 12844, "end": 12847, "length": 4, - "parent_index": 2453 + "parent_index": 2454 }, "name": "bool", "referenced_declaration": 0, @@ -709,7 +709,7 @@ "initial_value": null }, { - "id": 2455, + "id": 2456, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -730,7 +730,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2456, + "id": 2457, "node_type": 30, "src": { "line": 383, @@ -738,7 +738,7 @@ "start": 12858, "end": 12862, "length": 5, - "parent_index": 2455 + "parent_index": 2456 }, "name": "bytes", "referenced_declaration": 0, @@ -750,7 +750,7 @@ "initial_value": null }, { - "id": 2457, + "id": 2458, "name": "success", "is_constant": true, "is_state_variable": true, @@ -771,7 +771,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2458, + "id": 2459, "node_type": 30, "src": { "line": 410, @@ -779,7 +779,7 @@ "start": 13793, "end": 13796, "length": 4, - "parent_index": 2457 + "parent_index": 2458 }, "name": "bool", "referenced_declaration": 0, @@ -791,7 +791,7 @@ "initial_value": null }, { - "id": 2459, + "id": 2460, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -812,7 +812,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2460, + "id": 2461, "node_type": 30, "src": { "line": 410, @@ -820,7 +820,7 @@ "start": 13807, "end": 13811, "length": 5, - "parent_index": 2459 + "parent_index": 2460 }, "name": "bytes", "referenced_declaration": 0, @@ -832,7 +832,7 @@ "initial_value": null }, { - "id": 2461, + "id": 2462, "name": "_HEX_SYMBOLS", "is_constant": true, "is_state_variable": true, @@ -853,7 +853,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2462, + "id": 2463, "node_type": 30, "src": { "line": 465, @@ -861,7 +861,7 @@ "start": 15477, "end": 15483, "length": 7, - "parent_index": 2461 + "parent_index": 2462 }, "name": "bytes16", "referenced_declaration": 0, @@ -871,7 +871,7 @@ } }, "initial_value": { - "id": 2463, + "id": 2464, "node_type": 17, "kind": 50, "value": "0123456789abcdef", @@ -882,7 +882,7 @@ "start": 15517, "end": 15534, "length": 18, - "parent_index": 2461 + "parent_index": 2462 }, "type_description": { "type_identifier": "t_string_literal", @@ -890,11 +890,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { - "id": 2464, + "id": 2465, "name": "temp", "is_constant": true, "is_state_variable": true, @@ -915,7 +916,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2465, + "id": 2466, "node_type": 30, "src": { "line": 477, @@ -923,7 +924,7 @@ "start": 15966, "end": 15972, "length": 7, - "parent_index": 2464 + "parent_index": 2465 }, "name": "uint256", "referenced_declaration": 0, @@ -935,7 +936,7 @@ "initial_value": null }, { - "id": 2466, + "id": 2467, "name": "digits", "is_constant": true, "is_state_variable": true, @@ -956,7 +957,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2467, + "id": 2468, "node_type": 30, "src": { "line": 478, @@ -964,7 +965,7 @@ "start": 15996, "end": 16002, "length": 7, - "parent_index": 2466 + "parent_index": 2467 }, "name": "uint256", "referenced_declaration": 0, @@ -976,7 +977,7 @@ "initial_value": null }, { - "id": 2468, + "id": 2469, "name": "buffer", "is_constant": true, "is_state_variable": true, @@ -997,7 +998,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2469, + "id": 2470, "node_type": 30, "src": { "line": 483, @@ -1005,7 +1006,7 @@ "start": 16104, "end": 16108, "length": 5, - "parent_index": 2468 + "parent_index": 2469 }, "name": "bytes", "referenced_declaration": 0, @@ -1017,7 +1018,7 @@ "initial_value": null }, { - "id": 2470, + "id": 2471, "name": "temp", "is_constant": true, "is_state_variable": true, @@ -1038,7 +1039,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2471, + "id": 2472, "node_type": 30, "src": { "line": 499, @@ -1046,7 +1047,7 @@ "start": 16592, "end": 16598, "length": 7, - "parent_index": 2470 + "parent_index": 2471 }, "name": "uint256", "referenced_declaration": 0, @@ -1058,7 +1059,7 @@ "initial_value": null }, { - "id": 2472, + "id": 2473, "name": "length", "is_constant": true, "is_state_variable": true, @@ -1079,7 +1080,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2473, + "id": 2474, "node_type": 30, "src": { "line": 500, @@ -1087,7 +1088,7 @@ "start": 16622, "end": 16628, "length": 7, - "parent_index": 2472 + "parent_index": 2473 }, "name": "uint256", "referenced_declaration": 0, @@ -1099,7 +1100,7 @@ "initial_value": null }, { - "id": 2474, + "id": 2475, "name": "buffer", "is_constant": true, "is_state_variable": true, @@ -1120,7 +1121,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2475, + "id": 2476, "node_type": 30, "src": { "line": 512, @@ -1128,7 +1129,7 @@ "start": 16997, "end": 17001, "length": 5, - "parent_index": 2474 + "parent_index": 2475 }, "name": "bytes", "referenced_declaration": 0, @@ -1140,7 +1141,7 @@ "initial_value": null }, { - "id": 2476, + "id": 2477, "name": "i", "is_constant": true, "is_state_variable": true, @@ -1161,7 +1162,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2477, + "id": 2478, "node_type": 30, "src": { "line": 515, @@ -1169,7 +1170,7 @@ "start": 17109, "end": 17115, "length": 7, - "parent_index": 2476 + "parent_index": 2477 }, "name": "uint256", "referenced_declaration": 0, @@ -1181,7 +1182,7 @@ "initial_value": null }, { - "id": 2478, + "id": 2479, "name": "_name", "is_constant": false, "is_state_variable": true, @@ -1202,7 +1203,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2479, + "id": 2480, "node_type": 30, "src": { "line": 573, @@ -1210,7 +1211,7 @@ "start": 18926, "end": 18931, "length": 6, - "parent_index": 2478 + "parent_index": 2479 }, "name": "string", "referenced_declaration": 0, @@ -1222,7 +1223,7 @@ "initial_value": null }, { - "id": 2480, + "id": 2481, "name": "_symbol", "is_constant": false, "is_state_variable": true, @@ -1243,7 +1244,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2481, + "id": 2482, "node_type": 30, "src": { "line": 576, @@ -1251,7 +1252,7 @@ "start": 18973, "end": 18978, "length": 6, - "parent_index": 2480 + "parent_index": 2481 }, "name": "string", "referenced_declaration": 0, @@ -1263,7 +1264,7 @@ "initial_value": null }, { - "id": 2482, + "id": 2483, "name": "_owners", "is_constant": false, "is_state_variable": true, @@ -1284,18 +1285,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2483, - "node_type": 0, + "id": 2484, + "node_type": 53, "src": { "line": 579, "column": 4, "start": 19048, "end": 19074, "length": 27, - "parent_index": 2482 + "parent_index": 2483 }, "key_type": { - "id": 2484, + "id": 2485, "node_type": 30, "src": { "line": 579, @@ -1303,7 +1304,7 @@ "start": 19056, "end": 19062, "length": 7, - "parent_index": 2483 + "parent_index": 2484 }, "name": "uint256", "referenced_declaration": 0, @@ -1318,10 +1319,10 @@ "start": 19056, "end": 19062, "length": 7, - "parent_index": 2483 + "parent_index": 2484 }, "value_type": { - "id": 2485, + "id": 2486, "node_type": 30, "src": { "line": 579, @@ -1329,7 +1330,7 @@ "start": 19067, "end": 19073, "length": 7, - "parent_index": 2483 + "parent_index": 2484 }, "name": "address", "referenced_declaration": 0, @@ -1344,7 +1345,7 @@ "start": 19067, "end": 19073, "length": 7, - "parent_index": 2483 + "parent_index": 2484 }, "referenced_declaration": 0, "type_description": { @@ -1355,7 +1356,7 @@ "initial_value": null }, { - "id": 2486, + "id": 2487, "name": "_balances", "is_constant": false, "is_state_variable": true, @@ -1376,18 +1377,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2487, - "node_type": 0, + "id": 2488, + "node_type": 53, "src": { "line": 582, "column": 4, "start": 19142, "end": 19168, "length": 27, - "parent_index": 2486 + "parent_index": 2487 }, "key_type": { - "id": 2488, + "id": 2489, "node_type": 30, "src": { "line": 582, @@ -1395,7 +1396,7 @@ "start": 19150, "end": 19156, "length": 7, - "parent_index": 2487 + "parent_index": 2488 }, "name": "address", "referenced_declaration": 0, @@ -1410,10 +1411,10 @@ "start": 19150, "end": 19156, "length": 7, - "parent_index": 2487 + "parent_index": 2488 }, "value_type": { - "id": 2489, + "id": 2490, "node_type": 30, "src": { "line": 582, @@ -1421,7 +1422,7 @@ "start": 19161, "end": 19167, "length": 7, - "parent_index": 2487 + "parent_index": 2488 }, "name": "uint256", "referenced_declaration": 0, @@ -1436,7 +1437,7 @@ "start": 19161, "end": 19167, "length": 7, - "parent_index": 2487 + "parent_index": 2488 }, "referenced_declaration": 0, "type_description": { @@ -1447,7 +1448,7 @@ "initial_value": null }, { - "id": 2490, + "id": 2491, "name": "_tokenApprovals", "is_constant": false, "is_state_variable": true, @@ -1468,18 +1469,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2491, - "node_type": 0, + "id": 2492, + "node_type": 53, "src": { "line": 585, "column": 4, "start": 19243, "end": 19269, "length": 27, - "parent_index": 2490 + "parent_index": 2491 }, "key_type": { - "id": 2492, + "id": 2493, "node_type": 30, "src": { "line": 585, @@ -1487,7 +1488,7 @@ "start": 19251, "end": 19257, "length": 7, - "parent_index": 2491 + "parent_index": 2492 }, "name": "uint256", "referenced_declaration": 0, @@ -1502,10 +1503,10 @@ "start": 19251, "end": 19257, "length": 7, - "parent_index": 2491 + "parent_index": 2492 }, "value_type": { - "id": 2493, + "id": 2494, "node_type": 30, "src": { "line": 585, @@ -1513,7 +1514,7 @@ "start": 19262, "end": 19268, "length": 7, - "parent_index": 2491 + "parent_index": 2492 }, "name": "address", "referenced_declaration": 0, @@ -1528,7 +1529,7 @@ "start": 19262, "end": 19268, "length": 7, - "parent_index": 2491 + "parent_index": 2492 }, "referenced_declaration": 0, "type_description": { @@ -1539,7 +1540,7 @@ "initial_value": null }, { - "id": 2494, + "id": 2495, "name": "_operatorApprovals", "is_constant": false, "is_state_variable": true, @@ -1560,18 +1561,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2495, - "node_type": 0, + "id": 2496, + "node_type": 53, "src": { "line": 588, "column": 4, "start": 19349, "end": 19392, "length": 44, - "parent_index": 2494 + "parent_index": 2495 }, "key_type": { - "id": 2496, + "id": 2497, "node_type": 30, "src": { "line": 588, @@ -1579,7 +1580,7 @@ "start": 19357, "end": 19363, "length": 7, - "parent_index": 2495 + "parent_index": 2496 }, "name": "address", "referenced_declaration": 0, @@ -1594,10 +1595,10 @@ "start": 19357, "end": 19363, "length": 7, - "parent_index": 2495 + "parent_index": 2496 }, "value_type": { - "id": 2497, + "id": 2498, "node_type": 53, "src": { "line": 588, @@ -1605,11 +1606,11 @@ "start": 19368, "end": 19391, "length": 24, - "parent_index": 2495 + "parent_index": 2496 }, "name": "mapping(address=\u003ebool)", "key_type": { - "id": 2499, + "id": 2500, "node_type": 30, "src": { "line": 588, @@ -1617,7 +1618,7 @@ "start": 19376, "end": 19382, "length": 7, - "parent_index": 2495 + "parent_index": 2496 }, "name": "address", "referenced_declaration": 0, @@ -1632,10 +1633,10 @@ "start": 19376, "end": 19382, "length": 7, - "parent_index": 2497 + "parent_index": 2498 }, "value_type": { - "id": 2500, + "id": 2501, "node_type": 30, "src": { "line": 588, @@ -1643,7 +1644,7 @@ "start": 19387, "end": 19390, "length": 4, - "parent_index": 2495 + "parent_index": 2496 }, "name": "bool", "referenced_declaration": 0, @@ -1658,7 +1659,7 @@ "start": 19387, "end": 19390, "length": 4, - "parent_index": 2497 + "parent_index": 2498 }, "referenced_declaration": 0, "type_description": { @@ -1672,7 +1673,7 @@ "start": 19368, "end": 19391, "length": 24, - "parent_index": 2495 + "parent_index": 2496 }, "referenced_declaration": 0, "type_description": { @@ -1683,7 +1684,7 @@ "initial_value": null }, { - "id": 2501, + "id": 2502, "name": "owner", "is_constant": true, "is_state_variable": true, @@ -1704,7 +1705,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2502, + "id": 2503, "node_type": 30, "src": { "line": 620, @@ -1712,7 +1713,7 @@ "start": 20432, "end": 20438, "length": 7, - "parent_index": 2501 + "parent_index": 2502 }, "name": "address", "state_mutability": 4, @@ -1725,7 +1726,7 @@ "initial_value": null }, { - "id": 2503, + "id": 2504, "name": "baseURI", "is_constant": true, "is_state_variable": true, @@ -1746,7 +1747,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2504, + "id": 2505, "node_type": 30, "src": { "line": 645, @@ -1754,7 +1755,7 @@ "start": 21153, "end": 21158, "length": 6, - "parent_index": 2503 + "parent_index": 2504 }, "name": "string", "referenced_declaration": 0, @@ -1766,7 +1767,7 @@ "initial_value": null }, { - "id": 2505, + "id": 2506, "name": "owner", "is_constant": true, "is_state_variable": true, @@ -1787,7 +1788,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2506, + "id": 2507, "node_type": 30, "src": { "line": 662, @@ -1795,7 +1796,7 @@ "start": 21767, "end": 21773, "length": 7, - "parent_index": 2505 + "parent_index": 2506 }, "name": "address", "state_mutability": 4, @@ -1808,7 +1809,7 @@ "initial_value": null }, { - "id": 2507, + "id": 2508, "name": "owner", "is_constant": true, "is_state_variable": true, @@ -1829,7 +1830,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2508, + "id": 2509, "node_type": 30, "src": { "line": 786, @@ -1837,7 +1838,7 @@ "start": 25921, "end": 25927, "length": 7, - "parent_index": 2507 + "parent_index": 2508 }, "name": "address", "state_mutability": 4, @@ -1850,7 +1851,7 @@ "initial_value": null }, { - "id": 2509, + "id": 2510, "name": "owner", "is_constant": true, "is_state_variable": true, @@ -1871,7 +1872,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2510, + "id": 2511, "node_type": 30, "src": { "line": 855, @@ -1879,7 +1880,7 @@ "start": 28013, "end": 28019, "length": 7, - "parent_index": 2509 + "parent_index": 2510 }, "name": "address", "state_mutability": 4, @@ -1892,7 +1893,7 @@ "initial_value": null }, { - "id": 2511, + "id": 2512, "node_type": 67, "src": { "line": 975, @@ -1908,16 +1909,16 @@ "start": 31853, "end": 31859, "length": 7, - "parent_index": 2511 + "parent_index": 2512 }, "canonical_name": "Global.Counter", "type_description": { - "type_identifier": "t_struct$_Global_Counter_$2511", + "type_identifier": "t_struct$_Global_Counter_$2512", "type_string": "struct Global.Counter" }, "members": [ { - "id": 2512, + "id": 2513, "node_type": 44, "src": { "line": 979, @@ -1925,11 +1926,11 @@ "start": 32185, "end": 32199, "length": 15, - "parent_index": 2511 + "parent_index": 2512 }, "name": "_value", "type_name": { - "id": 2513, + "id": 2514, "node_type": 30, "src": { "line": 979, @@ -1937,7 +1938,7 @@ "start": 32185, "end": 32191, "length": 7, - "parent_index": 2512 + "parent_index": 2513 }, "name": "uint256", "referenced_declaration": 0, @@ -1958,7 +1959,7 @@ "storage_location": 1 }, { - "id": 2514, + "id": 2515, "name": "value", "is_constant": true, "is_state_variable": true, @@ -1979,7 +1980,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2515, + "id": 2516, "node_type": 30, "src": { "line": 993, @@ -1987,7 +1988,7 @@ "start": 32536, "end": 32542, "length": 7, - "parent_index": 2514 + "parent_index": 2515 }, "name": "uint256", "referenced_declaration": 0, @@ -1999,7 +2000,7 @@ "initial_value": null }, { - "id": 2516, + "id": 2517, "node_type": 67, "src": { "line": 1069, @@ -2015,16 +2016,16 @@ "start": 35031, "end": 35038, "length": 8, - "parent_index": 2516 + "parent_index": 2517 }, "canonical_name": "Global.RoleData", "type_description": { - "type_identifier": "t_struct$_Global_RoleData_$2516", + "type_identifier": "t_struct$_Global_RoleData_$2517", "type_string": "struct Global.RoleData" }, "members": [ { - "id": 2517, + "id": 2518, "node_type": 44, "src": { "line": 1070, @@ -2032,22 +2033,22 @@ "start": 35050, "end": 35082, "length": 33, - "parent_index": 2516 + "parent_index": 2517 }, "name": "members", "type_name": { - "id": 2518, - "node_type": 0, + "id": 2519, + "node_type": 53, "src": { "line": 1070, "column": 8, "start": 35050, "end": 35073, "length": 24, - "parent_index": 2517 + "parent_index": 2518 }, "key_type": { - "id": 2519, + "id": 2520, "node_type": 30, "src": { "line": 1070, @@ -2055,7 +2056,7 @@ "start": 35058, "end": 35064, "length": 7, - "parent_index": 2518 + "parent_index": 2519 }, "name": "address", "referenced_declaration": 0, @@ -2070,10 +2071,10 @@ "start": 35058, "end": 35064, "length": 7, - "parent_index": 2518 + "parent_index": 2519 }, "value_type": { - "id": 2520, + "id": 2521, "node_type": 30, "src": { "line": 1070, @@ -2081,7 +2082,7 @@ "start": 35069, "end": 35072, "length": 4, - "parent_index": 2518 + "parent_index": 2519 }, "name": "bool", "referenced_declaration": 0, @@ -2096,7 +2097,7 @@ "start": 35069, "end": 35072, "length": 4, - "parent_index": 2518 + "parent_index": 2519 }, "referenced_declaration": 0, "type_description": { @@ -2112,7 +2113,7 @@ } }, { - "id": 2521, + "id": 2522, "node_type": 44, "src": { "line": 1071, @@ -2120,11 +2121,11 @@ "start": 35092, "end": 35109, "length": 18, - "parent_index": 2516 + "parent_index": 2517 }, "name": "adminRole", "type_name": { - "id": 2522, + "id": 2523, "node_type": 30, "src": { "line": 1071, @@ -2132,7 +2133,7 @@ "start": 35092, "end": 35098, "length": 7, - "parent_index": 2521 + "parent_index": 2522 }, "name": "bytes32", "referenced_declaration": 0, @@ -2153,7 +2154,7 @@ "storage_location": 1 }, { - "id": 2523, + "id": 2524, "name": "_roles", "is_constant": false, "is_state_variable": true, @@ -2167,25 +2168,25 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_Global_RoleData_$2517$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "visibility": 2, "storage_location": 1, "mutability": 1, "type_name": { - "id": 2524, - "node_type": 0, + "id": 2525, + "node_type": 69, "src": { "line": 1074, "column": 4, "start": 35122, "end": 35149, "length": 28, - "parent_index": 2523 + "parent_index": 2524 }, "key_type": { - "id": 2525, + "id": 2526, "node_type": 30, "src": { "line": 1074, @@ -2193,7 +2194,7 @@ "start": 35130, "end": 35136, "length": 7, - "parent_index": 2524 + "parent_index": 2525 }, "name": "bytes32", "referenced_declaration": 0, @@ -2208,24 +2209,24 @@ "start": 35130, "end": 35136, "length": 7, - "parent_index": 2524 + "parent_index": 2525 }, "value_type": { - "id": 2526, - "node_type": 30, + "id": 2527, + "node_type": 69, "src": { "line": 1074, "column": 23, "start": 35141, "end": 35148, "length": 8, - "parent_index": 2524 + "parent_index": 2525 }, "name": "RoleData", - "referenced_declaration": 0, + "referenced_declaration": 2517, "type_description": { - "type_identifier": "t_RoleData", - "type_string": "RoleData" + "type_identifier": "t_struct$_Global_RoleData_$2517", + "type_string": "struct Global.RoleData" } }, "value_name_location": { @@ -2234,18 +2235,40 @@ "start": 35141, "end": 35148, "length": 8, - "parent_index": 2524 + "parent_index": 2525 }, - "referenced_declaration": 0, + "path_node": { + "id": 2528, + "name": "RoleData", + "node_type": 52, + "referenced_declaration": 2517, + "src": { + "line": 1074, + "column": 23, + "start": 35141, + "end": 35148, + "length": 8, + "parent_index": 2525 + }, + "name_location": { + "line": 1074, + "column": 23, + "start": 35141, + "end": 35148, + "length": 8, + "parent_index": 2525 + } + }, + "referenced_declaration": 2517, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_Global_RoleData_$2517$", "type_string": "mapping(bytes32=\u003eRoleData)" } }, "initial_value": null }, { - "id": 2527, + "id": 2529, "name": "DEFAULT_ADMIN_ROLE", "is_constant": true, "is_state_variable": true, @@ -2266,7 +2289,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2528, + "id": 2530, "node_type": 30, "src": { "line": 1076, @@ -2274,7 +2297,7 @@ "start": 35172, "end": 35178, "length": 7, - "parent_index": 2527 + "parent_index": 2529 }, "name": "bytes32", "referenced_declaration": 0, @@ -2284,7 +2307,7 @@ } }, "initial_value": { - "id": 2529, + "id": 2531, "node_type": 17, "kind": 49, "value": "0x00", @@ -2295,7 +2318,7 @@ "start": 35217, "end": 35220, "length": 4, - "parent_index": 2527 + "parent_index": 2529 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -2303,11 +2326,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x00" } }, { - "id": 2530, + "id": 2532, "node_type": 57, "src": { "line": 1086, @@ -2317,7 +2341,7 @@ "length": 110 }, "parameters": { - "id": 2531, + "id": 2533, "node_type": 43, "src": { "line": 1086, @@ -2325,11 +2349,11 @@ "start": 35525, "end": 35634, "length": 110, - "parent_index": 2530 + "parent_index": 2532 }, "parameters": [ { - "id": 2532, + "id": 2534, "node_type": 44, "src": { "line": 1086, @@ -2337,12 +2361,12 @@ "start": 35548, "end": 35567, "length": 20, - "parent_index": 2531 + "parent_index": 2533 }, - "scope": 2530, + "scope": 2532, "name": "role", "type_name": { - "id": 2533, + "id": 2535, "node_type": 30, "src": { "line": 1086, @@ -2350,7 +2374,7 @@ "start": 35548, "end": 35554, "length": 7, - "parent_index": 2532 + "parent_index": 2534 }, "name": "bytes32", "referenced_declaration": 0, @@ -2369,7 +2393,7 @@ "indexed": true }, { - "id": 2534, + "id": 2536, "node_type": 44, "src": { "line": 1086, @@ -2377,12 +2401,12 @@ "start": 35570, "end": 35602, "length": 33, - "parent_index": 2531 + "parent_index": 2533 }, - "scope": 2530, + "scope": 2532, "name": "previousAdminRole", "type_name": { - "id": 2535, + "id": 2537, "node_type": 30, "src": { "line": 1086, @@ -2390,7 +2414,7 @@ "start": 35570, "end": 35576, "length": 7, - "parent_index": 2534 + "parent_index": 2536 }, "name": "bytes32", "referenced_declaration": 0, @@ -2409,7 +2433,7 @@ "indexed": true }, { - "id": 2536, + "id": 2538, "node_type": 44, "src": { "line": 1086, @@ -2417,12 +2441,12 @@ "start": 35605, "end": 35632, "length": 28, - "parent_index": 2531 + "parent_index": 2533 }, - "scope": 2530, + "scope": 2532, "name": "newAdminRole", "type_name": { - "id": 2537, + "id": 2539, "node_type": 30, "src": { "line": 1086, @@ -2430,7 +2454,7 @@ "start": 35605, "end": 35611, "length": 7, - "parent_index": 2536 + "parent_index": 2538 }, "name": "bytes32", "referenced_declaration": 0, @@ -2467,12 +2491,12 @@ "name": "RoleAdminChanged", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_RoleAdminChanged_\u00262530", + "type_identifier": "t_event\u0026_Global_RoleAdminChanged_\u00262532", "type_string": "event Global.RoleAdminChanged" } }, { - "id": 2538, + "id": 2540, "node_type": 57, "src": { "line": 1094, @@ -2482,7 +2506,7 @@ "length": 89 }, "parameters": { - "id": 2539, + "id": 2541, "node_type": 43, "src": { "line": 1094, @@ -2490,11 +2514,11 @@ "start": 35844, "end": 35932, "length": 89, - "parent_index": 2538 + "parent_index": 2540 }, "parameters": [ { - "id": 2540, + "id": 2542, "node_type": 44, "src": { "line": 1094, @@ -2502,12 +2526,12 @@ "start": 35862, "end": 35881, "length": 20, - "parent_index": 2539 + "parent_index": 2541 }, - "scope": 2538, + "scope": 2540, "name": "role", "type_name": { - "id": 2541, + "id": 2543, "node_type": 30, "src": { "line": 1094, @@ -2515,7 +2539,7 @@ "start": 35862, "end": 35868, "length": 7, - "parent_index": 2540 + "parent_index": 2542 }, "name": "bytes32", "referenced_declaration": 0, @@ -2534,7 +2558,7 @@ "indexed": true }, { - "id": 2542, + "id": 2544, "node_type": 44, "src": { "line": 1094, @@ -2542,12 +2566,12 @@ "start": 35884, "end": 35906, "length": 23, - "parent_index": 2539 + "parent_index": 2541 }, - "scope": 2538, + "scope": 2540, "name": "account", "type_name": { - "id": 2543, + "id": 2545, "node_type": 30, "src": { "line": 1094, @@ -2555,7 +2579,7 @@ "start": 35884, "end": 35890, "length": 7, - "parent_index": 2542 + "parent_index": 2544 }, "name": "address", "state_mutability": 4, @@ -2575,7 +2599,7 @@ "indexed": true }, { - "id": 2544, + "id": 2546, "node_type": 44, "src": { "line": 1094, @@ -2583,12 +2607,12 @@ "start": 35909, "end": 35930, "length": 22, - "parent_index": 2539 + "parent_index": 2541 }, - "scope": 2538, + "scope": 2540, "name": "sender", "type_name": { - "id": 2545, + "id": 2547, "node_type": 30, "src": { "line": 1094, @@ -2596,7 +2620,7 @@ "start": 35909, "end": 35915, "length": 7, - "parent_index": 2544 + "parent_index": 2546 }, "name": "address", "state_mutability": 4, @@ -2634,12 +2658,12 @@ "name": "RoleGranted", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_RoleGranted_\u00262538", + "type_identifier": "t_event\u0026_Global_RoleGranted_\u00262540", "type_string": "event Global.RoleGranted" } }, { - "id": 2546, + "id": 2548, "node_type": 57, "src": { "line": 1103, @@ -2649,7 +2673,7 @@ "length": 89 }, "parameters": { - "id": 2547, + "id": 2549, "node_type": 43, "src": { "line": 1103, @@ -2657,11 +2681,11 @@ "start": 36219, "end": 36307, "length": 89, - "parent_index": 2546 + "parent_index": 2548 }, "parameters": [ { - "id": 2548, + "id": 2550, "node_type": 44, "src": { "line": 1103, @@ -2669,12 +2693,12 @@ "start": 36237, "end": 36256, "length": 20, - "parent_index": 2547 + "parent_index": 2549 }, - "scope": 2546, + "scope": 2548, "name": "role", "type_name": { - "id": 2549, + "id": 2551, "node_type": 30, "src": { "line": 1103, @@ -2682,7 +2706,7 @@ "start": 36237, "end": 36243, "length": 7, - "parent_index": 2548 + "parent_index": 2550 }, "name": "bytes32", "referenced_declaration": 0, @@ -2701,7 +2725,7 @@ "indexed": true }, { - "id": 2550, + "id": 2552, "node_type": 44, "src": { "line": 1103, @@ -2709,12 +2733,12 @@ "start": 36259, "end": 36281, "length": 23, - "parent_index": 2547 + "parent_index": 2549 }, - "scope": 2546, + "scope": 2548, "name": "account", "type_name": { - "id": 2551, + "id": 2553, "node_type": 30, "src": { "line": 1103, @@ -2722,7 +2746,7 @@ "start": 36259, "end": 36265, "length": 7, - "parent_index": 2550 + "parent_index": 2552 }, "name": "address", "state_mutability": 4, @@ -2742,7 +2766,7 @@ "indexed": true }, { - "id": 2552, + "id": 2554, "node_type": 44, "src": { "line": 1103, @@ -2750,12 +2774,12 @@ "start": 36284, "end": 36305, "length": 22, - "parent_index": 2547 + "parent_index": 2549 }, - "scope": 2546, + "scope": 2548, "name": "sender", "type_name": { - "id": 2553, + "id": 2555, "node_type": 30, "src": { "line": 1103, @@ -2763,7 +2787,7 @@ "start": 36284, "end": 36290, "length": 7, - "parent_index": 2552 + "parent_index": 2554 }, "name": "address", "state_mutability": 4, @@ -2801,12 +2825,12 @@ "name": "RoleRevoked", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_RoleRevoked_\u00262546", + "type_identifier": "t_event\u0026_Global_RoleRevoked_\u00262548", "type_string": "event Global.RoleRevoked" } }, { - "id": 2554, + "id": 2556, "name": "_tokenIds", "is_constant": false, "is_state_variable": true, @@ -2827,7 +2851,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2555, + "id": 2557, "node_type": 69, "src": { "line": 1278, @@ -2835,10 +2859,10 @@ "start": 41769, "end": 41784, "length": 16, - "parent_index": 2554 + "parent_index": 2556 }, "path_node": { - "id": 2556, + "id": 2558, "name": "Counters", "node_type": 52, "referenced_declaration": 1655, @@ -2848,7 +2872,7 @@ "start": 41769, "end": 41784, "length": 16, - "parent_index": 2555 + "parent_index": 2557 }, "name_location": { "line": 1278, @@ -2856,7 +2880,7 @@ "start": 41769, "end": 41776, "length": 8, - "parent_index": 2555 + "parent_index": 2557 } }, "referenced_declaration": 1655, @@ -2868,7 +2892,7 @@ "initial_value": null }, { - "id": 2557, + "id": 2559, "name": "MINTER_ROLE", "is_constant": true, "is_state_variable": true, @@ -2889,7 +2913,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2558, + "id": 2560, "node_type": 30, "src": { "line": 1280, @@ -2897,7 +2921,7 @@ "start": 41810, "end": 41816, "length": 7, - "parent_index": 2557 + "parent_index": 2559 }, "name": "bytes32", "referenced_declaration": 0, @@ -2907,7 +2931,7 @@ } }, "initial_value": { - "id": 2559, + "id": 2561, "node_type": 24, "kind": 24, "src": { @@ -2916,7 +2940,7 @@ "start": 41848, "end": 41871, "length": 24, - "parent_index": 2557 + "parent_index": 2559 }, "argument_types": [ { @@ -2926,7 +2950,7 @@ ], "arguments": [ { - "id": 2561, + "id": 2563, "node_type": 17, "kind": 50, "value": "MINTER_ROLE", @@ -2937,7 +2961,7 @@ "start": 41858, "end": 41870, "length": 13, - "parent_index": 2559 + "parent_index": 2561 }, "type_description": { "type_identifier": "t_string_literal", @@ -2945,11 +2969,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"MINTER_ROLE\"" } ], "expression": { - "id": 2560, + "id": 2562, "node_type": 16, "src": { "line": 1280, @@ -2957,7 +2982,7 @@ "start": 41848, "end": 41856, "length": 9, - "parent_index": 2559 + "parent_index": 2561 }, "name": "keccak256", "type_description": { @@ -2966,7 +2991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -2975,7 +3001,7 @@ } }, { - "id": 2562, + "id": 2564, "name": "_tokenURIs", "is_constant": false, "is_state_variable": true, @@ -2996,18 +3022,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2563, - "node_type": 0, + "id": 2565, + "node_type": 53, "src": { "line": 1283, "column": 4, "start": 41918, "end": 41944, "length": 27, - "parent_index": 2562 + "parent_index": 2564 }, "key_type": { - "id": 2564, + "id": 2566, "node_type": 30, "src": { "line": 1283, @@ -3015,7 +3041,7 @@ "start": 41927, "end": 41933, "length": 7, - "parent_index": 2563 + "parent_index": 2565 }, "name": "uint256", "referenced_declaration": 0, @@ -3030,10 +3056,10 @@ "start": 41927, "end": 41933, "length": 7, - "parent_index": 2563 + "parent_index": 2565 }, "value_type": { - "id": 2565, + "id": 2567, "node_type": 30, "src": { "line": 1283, @@ -3041,7 +3067,7 @@ "start": 41938, "end": 41943, "length": 6, - "parent_index": 2563 + "parent_index": 2565 }, "name": "string", "referenced_declaration": 0, @@ -3056,7 +3082,7 @@ "start": 41938, "end": 41943, "length": 6, - "parent_index": 2563 + "parent_index": 2565 }, "referenced_declaration": 0, "type_description": { @@ -3067,7 +3093,7 @@ "initial_value": null }, { - "id": 2566, + "id": 2568, "name": "_baseURIextended", "is_constant": false, "is_state_variable": true, @@ -3088,7 +3114,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2567, + "id": 2569, "node_type": 30, "src": { "line": 1286, @@ -3096,7 +3122,7 @@ "start": 41987, "end": 41992, "length": 6, - "parent_index": 2566 + "parent_index": 2568 }, "name": "string", "referenced_declaration": 0, @@ -3108,7 +3134,7 @@ "initial_value": null }, { - "id": 2568, + "id": 2570, "name": "_tokenURI", "is_constant": true, "is_state_variable": true, @@ -3129,7 +3155,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2569, + "id": 2571, "node_type": 30, "src": { "line": 1320, @@ -3137,7 +3163,7 @@ "start": 43450, "end": 43455, "length": 6, - "parent_index": 2568 + "parent_index": 2570 }, "name": "string", "referenced_declaration": 0, @@ -3149,7 +3175,7 @@ "initial_value": null }, { - "id": 2570, + "id": 2572, "name": "base", "is_constant": true, "is_state_variable": true, @@ -3170,7 +3196,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2571, + "id": 2573, "node_type": 30, "src": { "line": 1321, @@ -3178,7 +3204,7 @@ "start": 43505, "end": 43510, "length": 6, - "parent_index": 2570 + "parent_index": 2572 }, "name": "string", "referenced_declaration": 0, @@ -3190,7 +3216,7 @@ "initial_value": null }, { - "id": 2572, + "id": 2574, "name": "newItemId", "is_constant": true, "is_state_variable": true, @@ -3211,7 +3237,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2573, + "id": 2575, "node_type": 30, "src": { "line": 1337, @@ -3219,7 +3245,7 @@ "start": 44189, "end": 44195, "length": 7, - "parent_index": 2572 + "parent_index": 2574 }, "name": "uint256", "referenced_declaration": 0, @@ -3461,7 +3487,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)externalviewreturns(bool);" } ], "linearized_base_contracts": [ @@ -4245,7 +4272,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint256balance);" }, { "id": 182, @@ -4414,7 +4442,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)externalviewreturns(addressowner);" }, { "id": 191, @@ -4619,13 +4648,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 202, @@ -4830,13 +4860,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)external;" }, { "id": 213, @@ -4997,13 +5028,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)external;" }, { "id": 222, @@ -5172,7 +5204,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)externalviewreturns(addressoperator);" }, { "id": 231, @@ -5333,13 +5366,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,bool_approved)external;" }, { "id": 240, @@ -5546,13 +5580,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)externalviewreturns(bool);" }, { "id": 251, @@ -5800,13 +5835,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 142, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytescalldatadata)external;" } ], "linearized_base_contracts": [ @@ -6209,13 +6245,14 @@ } ] }, - "signature_raw": "onERC721Received(address, address, uint256, bytes)", - "signature": "acb7d9e3", + "signature_raw": "onERC721Received(address,address,uint256,bytes)", + "signature": "150b7a02", "scope": 267, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functiononERC721Received(addressoperator,addressfrom,uint256tokenId,bytescalldatadata)externalreturns(bytes4);" } ], "linearized_base_contracts": [ @@ -6495,7 +6532,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 301, @@ -6663,7 +6701,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 310, @@ -6831,7 +6870,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)externalviewreturns(stringmemory);" } ], "linearized_base_contracts": [ @@ -7204,7 +7244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 334, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 349, @@ -7226,7 +7267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7367,7 +7409,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){uint256size;assembly{size:=extcodesize(account)}returnsize\u003e0;}" }, { "id": 351, @@ -7501,7 +7544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -7547,7 +7591,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7559,7 +7604,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 367, @@ -7579,7 +7625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 367, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -7612,7 +7659,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -7633,7 +7681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7737,7 +7786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -7793,14 +7843,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 375, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -7854,7 +7906,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 369, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 380, @@ -7882,7 +7935,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -7903,7 +7957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8035,13 +8090,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 382, @@ -8135,7 +8191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 395, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 396, @@ -8161,7 +8218,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 397, @@ -8193,7 +8251,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -8214,7 +8273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -8392,13 +8452,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 399, @@ -8496,7 +8557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 415, @@ -8522,7 +8584,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 416, @@ -8554,7 +8617,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 417, @@ -8588,7 +8652,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -8609,7 +8674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -8830,13 +8896,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 419, @@ -8934,7 +9001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 434, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 435, @@ -8960,7 +9028,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 436, @@ -8990,7 +9059,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 437, @@ -9026,7 +9096,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -9047,7 +9118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -9268,13 +9340,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 439, @@ -9408,7 +9481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -9454,7 +9528,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -9466,7 +9541,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 461, @@ -9486,7 +9562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 461, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -9519,7 +9596,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -9540,7 +9618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9607,7 +9686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 467, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -9628,7 +9708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -9661,7 +9742,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -9682,7 +9764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -9831,7 +9914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 478, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -9887,14 +9971,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 477, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -9964,7 +10050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 483, @@ -9990,7 +10077,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 484, @@ -10020,7 +10108,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -10041,7 +10130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -10305,13 +10395,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 486, @@ -10405,7 +10496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 500, @@ -10431,7 +10523,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 501, @@ -10463,7 +10556,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -10484,7 +10578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -10662,13 +10757,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 503, @@ -10765,7 +10861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -10786,7 +10883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -10819,7 +10917,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -10840,7 +10939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -10989,7 +11089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 529, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -11033,14 +11134,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 528, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -11105,7 +11208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 521, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 534, @@ -11131,7 +11235,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 535, @@ -11161,7 +11266,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -11182,7 +11288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -11403,13 +11510,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 537, @@ -11503,7 +11611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 550, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 551, @@ -11529,7 +11638,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 552, @@ -11561,7 +11671,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -11582,7 +11693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -11760,13 +11872,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 554, @@ -11863,7 +11976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 570, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -11884,7 +11998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -11917,7 +12032,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -11938,7 +12054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -12087,7 +12204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 580, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -12131,14 +12249,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 579, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -12203,7 +12323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 572, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 585, @@ -12229,7 +12350,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 586, @@ -12259,7 +12381,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -12280,7 +12403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -12501,13 +12625,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 588, @@ -12573,7 +12698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 601, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 602, @@ -12619,7 +12745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 604, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -12837,13 +12964,14 @@ } ] }, - "signature_raw": "_verifyCallResult(bool, bytes, string)", - "signature": "2ce6cb58", + "signature_raw": "_verifyCallResult(bool,bytes,string)", + "signature": "18c2c6a2", "scope": 324, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "function_verifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)privatepurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ @@ -13013,14 +13141,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -13157,7 +13287,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 626, @@ -13247,14 +13378,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -13389,7 +13522,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -13531,7 +13665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -13612,7 +13747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 661, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 662, @@ -13634,7 +13770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13687,7 +13824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -13771,7 +13909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 669, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -13878,7 +14017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 666, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 675, @@ -13900,7 +14040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13950,7 +14091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 670, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -14003,7 +14145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 666, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 682, @@ -14025,7 +14168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -14035,7 +14179,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -14137,7 +14282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 670, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -14224,7 +14370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 691, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 692, @@ -14246,7 +14393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -14307,7 +14455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 670, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 697, @@ -14329,7 +14478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -14339,7 +14489,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 698, @@ -14393,7 +14544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 702, @@ -14413,7 +14565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 670, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -14502,7 +14655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 711, @@ -14555,7 +14709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 716, @@ -14577,7 +14732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -14627,7 +14783,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -14682,7 +14839,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -14732,7 +14890,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -14747,7 +14906,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 717, @@ -14790,7 +14950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 720, @@ -14812,7 +14973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -14822,7 +14984,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -14876,7 +15039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -14921,7 +15085,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -15061,7 +15226,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 727, @@ -15141,7 +15307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 737, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 738, @@ -15163,7 +15330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -15216,7 +15384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -15300,7 +15469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 745, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -15383,7 +15553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -15429,7 +15600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 742, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 752, @@ -15451,7 +15623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -15501,7 +15674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 746, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -15554,7 +15728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 666, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 759, @@ -15576,7 +15751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -15586,7 +15762,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -15644,7 +15821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 763, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 764, @@ -15670,7 +15848,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -15691,7 +15870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -15831,7 +16011,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 766, @@ -15995,7 +16176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 785, @@ -16015,7 +16197,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 785, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -16042,7 +16225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -16143,7 +16327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 776, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 791, @@ -16165,7 +16350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -16202,7 +16388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -16212,7 +16399,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 793, @@ -16266,7 +16454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 776, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 797, @@ -16288,7 +16477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -16325,7 +16515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -16335,7 +16526,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 799, @@ -16456,7 +16648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 806, @@ -16476,7 +16669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 806, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -16503,7 +16697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -16543,7 +16738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 810, @@ -16565,7 +16761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -16608,7 +16805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -16681,7 +16879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 818, @@ -16701,7 +16900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -16747,7 +16947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 822, @@ -16779,7 +16980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 824, @@ -16801,7 +17003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -16838,7 +17041,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 825, @@ -16881,7 +17085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 828, @@ -16903,7 +17108,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -16913,7 +17119,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -16973,7 +17180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 832, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 833, @@ -16995,7 +17203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17028,7 +17237,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -17049,7 +17259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17105,7 +17316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 776, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -17150,7 +17362,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -17327,13 +17540,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 645, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" } ], "linearized_base_contracts": [ @@ -17526,7 +17740,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 864, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 865, @@ -17573,7 +17788,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC165).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -17732,7 +17948,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IERC165).interfaceId;}" } ], "linearized_base_contracts": [ @@ -18174,7 +18391,7 @@ "mutability": 1, "type_name": { "id": 902, - "node_type": 0, + "node_type": 53, "src": { "line": 579, "column": 4, @@ -18267,7 +18484,7 @@ "mutability": 1, "type_name": { "id": 907, - "node_type": 0, + "node_type": 53, "src": { "line": 582, "column": 4, @@ -18360,7 +18577,7 @@ "mutability": 1, "type_name": { "id": 912, - "node_type": 0, + "node_type": 53, "src": { "line": 585, "column": 4, @@ -18453,7 +18670,7 @@ "mutability": 1, "type_name": { "id": 917, - "node_type": 0, + "node_type": 53, "src": { "line": 588, "column": 4, @@ -18762,7 +18979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 895, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 935, @@ -18782,7 +19000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 935, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -18792,7 +19011,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 936, @@ -18835,7 +19055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 898, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 939, @@ -18855,7 +19076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 939, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -18865,7 +19087,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -18977,7 +19200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 956, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 957, @@ -19024,7 +19248,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC721).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -19063,7 +19288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 960, - "is_pure": false + "is_pure": false, + "text": "interfaceId" }, "right_expression": { "id": 961, @@ -19110,7 +19336,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IERC721Metadata).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -19159,7 +19386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 966, - "is_pure": false + "is_pure": false, + "text": "interfaceId" } ], "expression": { @@ -19203,14 +19431,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -19411,7 +19641,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverride(ERC165,IERC165)returns(bool){returninterfaceId==type(IERC721).interfaceId||interfaceId==type(IERC721Metadata).interfaceId||super.supportsInterface(interfaceId);}" }, { "id": 968, @@ -19503,7 +19734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 980, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 981, @@ -19544,7 +19776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19590,7 +19823,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19628,7 +19862,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: balance query for the zero address\"" } ], "expression": { @@ -19649,7 +19884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19697,7 +19933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 989, @@ -19717,7 +19954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 989, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -19887,7 +20125,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)publicviewvirtualoverridereturns(uint256){require(owner!=address(0),\"ERC721: balance query for the zero address\");return_balances[owner];}" }, { "id": 991, @@ -20014,7 +20253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1005, @@ -20034,7 +20274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1005, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -20107,7 +20348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1010, @@ -20148,7 +20390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -20194,7 +20437,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20232,7 +20476,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: owner query for nonexistent token\"" } ], "expression": { @@ -20253,7 +20498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20290,7 +20536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1000, - "is_pure": false + "is_pure": false, + "text": "owner" } } ] @@ -20445,7 +20692,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionownerOf(uint256tokenId)publicviewvirtualoverridereturns(address){addressowner=_owners[tokenId];require(owner!=address(0),\"ERC721: owner query for nonexistent token\");returnowner;}" }, { "id": 1018, @@ -20512,7 +20760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 895, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -20666,7 +20915,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 1030, @@ -20733,7 +20983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 898, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -20887,7 +21138,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 1042, @@ -20984,7 +21236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1055, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -21005,7 +21258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -21038,7 +21292,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721Metadata: URI query for nonexistent token\"" } ], "expression": { @@ -21059,7 +21314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -21158,7 +21414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_baseURI" }, "type_description": { "type_identifier": "t_function_$", @@ -21264,7 +21521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "baseURI" } ], "expression": { @@ -21309,7 +21567,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -21321,7 +21580,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "bytes(baseURI).length" }, "right_expression": { "id": 1071, @@ -21343,7 +21603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -21410,7 +21671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "baseURI" }, { "id": 1079, @@ -21467,14 +21729,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1081, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "member_name": "toString", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenId.toString" }, "type_description": { "type_identifier": "t_function_$", @@ -21523,14 +21787,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_function_$", @@ -21580,7 +21846,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string$_t_function_$", @@ -21605,7 +21872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "type_descriptions": [ @@ -21776,7 +22044,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)publicviewvirtualoverridereturns(stringmemory){require(_exists(tokenId),\"ERC721Metadata: URI query for nonexistent token\");stringmemorybaseURI=_baseURI();returnbytes(baseURI).length\u003e0?string(abi.encodePacked(baseURI,tokenId.toString())):\"\";}" }, { "id": 1084, @@ -21843,7 +22112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } } ] @@ -21978,7 +22248,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "function_baseURI()internalviewvirtualreturns(stringmemory){return\"\";}" }, { "id": 1095, @@ -22113,7 +22384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1110, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -22157,7 +22429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -22165,7 +22438,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -22228,7 +22502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1115, @@ -22248,7 +22523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1104, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -22281,7 +22557,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approval to current owner\"" } ], "expression": { @@ -22302,7 +22579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22392,7 +22670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -22417,7 +22696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1104, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -22465,7 +22745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1104, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1127, @@ -22499,7 +22780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -22525,7 +22807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$", @@ -22563,7 +22846,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approve caller is not owner nor approved for all\"" } ], "expression": { @@ -22584,7 +22868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22632,7 +22917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1132, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1133, @@ -22658,7 +22944,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -22679,7 +22966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -22830,13 +23118,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressto,uint256tokenId)publicvirtualoverride{addressowner=ERC721.ownerOf(tokenId);require(to!=owner,\"ERC721: approval to current owner\");require(_msgSender()==owner||isApprovedForAll(owner,_msgSender()),\"ERC721: approve caller is not owner nor approved for all\");_approve(to,tokenId);}" }, { "id": 1135, @@ -22933,7 +23222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1148, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -22954,7 +23244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -22987,7 +23278,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: approved query for nonexistent token\"" } ], "expression": { @@ -23008,7 +23300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -23056,7 +23349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1153, @@ -23076,7 +23370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1153, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -23246,7 +23541,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetApproved(uint256tokenId)publicviewvirtualoverridereturns(address){require(_exists(tokenId),\"ERC721: approved query for nonexistent token\");return_tokenApprovals[tokenId];}" }, { "id": 1155, @@ -23338,7 +23634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1167, - "is_pure": false + "is_pure": false, + "text": "operator" }, "right_expression": { "id": 1168, @@ -23372,7 +23669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -23410,7 +23708,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: approve to caller\"" } ], "expression": { @@ -23431,7 +23730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -23501,7 +23801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 916, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1176, @@ -23535,7 +23836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -23575,7 +23877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1178, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -23610,7 +23913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "approved" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_function_$]$_t_address]$", @@ -23620,7 +23924,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_bool$]$_t_function_$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003ebool)):function()]:address]" - } + }, + "text": "_operatorApprovals[_msgSender()][operator]=approved;" }, { "id": 1180, @@ -23666,7 +23971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -23691,7 +23997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1183, - "is_pure": false + "is_pure": false, + "text": "operator" }, { "id": 1184, @@ -23711,7 +24018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1184, - "is_pure": false + "is_pure": false, + "text": "approved" } ], "expression": { @@ -23732,7 +24040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 164, - "is_pure": false + "is_pure": false, + "text": "ApprovalForAll" } } ] @@ -23879,13 +24188,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setApprovalForAll(address, bool)", - "signature": "989579aa", + "signature_raw": "setApprovalForAll(address,bool)", + "signature": "a22cb465", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetApprovalForAll(addressoperator,boolapproved)publicvirtualoverride{require(operator!=_msgSender(),\"ERC721: approve to caller\");_operatorApprovals[_msgSender()][operator]=approved;emitApprovalForAll(_msgSender(),operator,approved);}" }, { "id": 1187, @@ -23974,7 +24284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 916, - "is_pure": false + "is_pure": false, + "text": "_operatorApprovals" }, "base_expression": { "id": 1202, @@ -23994,7 +24305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1202, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -24029,7 +24341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1203, - "is_pure": false + "is_pure": false, + "text": "operator" }, "type_descriptions": [ { @@ -24237,13 +24550,14 @@ } ] }, - "signature_raw": "isApprovedForAll(address, address)", - "signature": "3a95ab7f", + "signature_raw": "isApprovedForAll(address,address)", + "signature": "e985e9c5", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionisApprovedForAll(addressowner,addressoperator)publicviewvirtualoverridereturns(bool){return_operatorApprovals[owner][operator];}" }, { "id": 1205, @@ -24358,7 +24672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -24389,7 +24704,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -24410,7 +24726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isApprovedOrOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -24443,7 +24760,8 @@ "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" } - ] + ], + "text": "\"ERC721: transfer caller is not owner nor approved\"" } ], "expression": { @@ -24464,7 +24782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -24516,7 +24835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1226, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1227, @@ -24542,7 +24862,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1228, @@ -24572,7 +24893,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -24593,7 +24915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -24788,13 +25111,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{require(_isApprovedOrOwner(_msgSender(),tokenId),\"ERC721: transfer caller is not owner nor approved\");_transfer(from,to,tokenId);}" }, { "id": 1230, @@ -24880,7 +25204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1243, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1244, @@ -24906,7 +25231,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1245, @@ -24936,7 +25262,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1246, @@ -24970,7 +25297,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"\"" } ], "expression": { @@ -24991,7 +25319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_string_literal$", @@ -25186,13 +25515,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256)", - "signature": "ab790ba3", + "signature_raw": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0e", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId)publicvirtualoverride{safeTransferFrom(from,to,tokenId,\"\");}" }, { "id": 1248, @@ -25307,7 +25637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -25338,7 +25669,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -25359,7 +25691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isApprovedOrOwner" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -25392,7 +25725,8 @@ "type_identifier": "t_function_$_t_function_$_t_uint256$", "type_string": "function(function(),uint256)" } - ] + ], + "text": "\"ERC721: transfer caller is not owner nor approved\"" } ], "expression": { @@ -25413,7 +25747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -25469,7 +25804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1271, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1272, @@ -25495,7 +25831,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1273, @@ -25525,7 +25862,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1274, @@ -25559,7 +25897,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -25580,7 +25919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", @@ -25818,13 +26158,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, uint256, bytes)", - "signature": "a2077142", + "signature_raw": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "functionsafeTransferFrom(addressfrom,addressto,uint256tokenId,bytesmemory_data)publicvirtualoverride{require(_isApprovedOrOwner(_msgSender(),tokenId),\"ERC721: transfer caller is not owner nor approved\");_safeTransfer(from,to,tokenId,_data);}" }, { "id": 1276, @@ -25906,7 +26247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1290, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1291, @@ -25932,7 +26274,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1292, @@ -25962,7 +26305,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -25983,7 +26327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -26062,7 +26407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1297, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1298, @@ -26088,7 +26434,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1299, @@ -26118,7 +26465,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1300, @@ -26152,7 +26500,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -26173,7 +26522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", @@ -26206,7 +26556,8 @@ "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" } - ] + ], + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -26227,7 +26578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_uint256$_t_bytes$_t_string_literal$", @@ -26446,13 +26798,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeTransfer(address, address, uint256, bytes)", - "signature": "b65f2f53", + "signature_raw": "_safeTransfer(address,address,uint256,bytes)", + "signature": "24b6b8c0", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_safeTransfer(addressfrom,addressto,uint256tokenId,bytesmemory_data)internalvirtual{_transfer(from,to,tokenId);require(_checkOnERC721Received(from,to,tokenId,_data),\"ERC721: transfer to non ERC721Receiver implementer\");}" }, { "id": 1303, @@ -26544,7 +26897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1315, @@ -26564,7 +26918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1315, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -26620,7 +26975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -26666,7 +27022,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -26811,7 +27168,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_exists(uint256tokenId)internalviewvirtualreturns(bool){return_owners[tokenId]!=address(0);}" }, { "id": 1321, @@ -26908,7 +27266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1335, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -26929,7 +27288,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -26962,7 +27322,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: operator query for nonexistent token\"" } ], "expression": { @@ -26983,7 +27344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -27088,7 +27450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1343, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -27132,7 +27495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -27140,7 +27504,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -27234,7 +27599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1349, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1350, @@ -27254,7 +27620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1337, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_bool", @@ -27312,7 +27679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1354, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -27333,7 +27701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getApproved" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -27358,7 +27727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1355, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_description": { "type_identifier": "t_bool", @@ -27411,7 +27781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1337, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1359, @@ -27437,7 +27808,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -27458,7 +27830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isApprovedForAll" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -27647,13 +28020,14 @@ } ] }, - "signature_raw": "_isApprovedOrOwner(address, uint256)", - "signature": "0fecaa15", + "signature_raw": "_isApprovedOrOwner(address,uint256)", + "signature": "4cdc9549", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_isApprovedOrOwner(addressspender,uint256tokenId)internalviewvirtualreturns(bool){require(_exists(tokenId),\"ERC721: operator query for nonexistent token\");addressowner=ERC721.ownerOf(tokenId);return(spender==owner||getApproved(tokenId)==spender||isApprovedForAll(owner,spender));}" }, { "id": 1361, @@ -27735,7 +28109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1371, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1372, @@ -27761,7 +28136,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1373, @@ -27791,7 +28167,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"\"" } ], "expression": { @@ -27812,7 +28189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_safeMint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_string_literal$", @@ -27944,13 +28322,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256)", - "signature": "df7f3eab", + "signature_raw": "_safeMint(address,uint256)", + "signature": "b3e1c718", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_safeMint(addressto,uint256tokenId)internalvirtual{_safeMint(to,tokenId,\"\");}" }, { "id": 1375, @@ -28028,7 +28407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1387, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1388, @@ -28054,7 +28434,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -28075,7 +28456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -28175,7 +28557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -28221,7 +28604,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -28252,7 +28636,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1398, @@ -28282,7 +28667,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1399, @@ -28316,7 +28702,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -28337,7 +28724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOnERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$", @@ -28370,7 +28758,8 @@ "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$", "type_string": "function(function(int_const 0),address,uint256,bytes)" } - ] + ], + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -28391,7 +28780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$_t_bytes$_t_string_literal$", @@ -28566,13 +28956,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_safeMint(address, uint256, bytes)", - "signature": "5fa2bef5", + "signature_raw": "_safeMint(address,uint256,bytes)", + "signature": "6a4f832b", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,uint256,bytes)" - } + }, + "text": "function_safeMint(addressto,uint256tokenId,bytesmemory_data)internalvirtual{_mint(to,tokenId);require(_checkOnERC721Received(address(0),to,tokenId,_data),\"ERC721: transfer to non ERC721Receiver implementer\");}" }, { "id": 1402, @@ -28664,7 +29055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1413, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1414, @@ -28705,7 +29097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -28751,7 +29144,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -28789,7 +29183,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: mint to the zero address\"" } ], "expression": { @@ -28810,7 +29205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -28895,7 +29291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1424, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -28916,7 +29313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -28954,7 +29352,8 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721: token already minted\"" } ], "expression": { @@ -28975,7 +29374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -29048,7 +29448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -29094,7 +29495,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -29125,7 +29527,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "to" }, { "id": 1433, @@ -29155,7 +29558,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -29176,7 +29580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -29235,7 +29640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1438, @@ -29255,7 +29661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1438, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -29292,7 +29699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -29302,7 +29710,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=1;" }, { "id": 1440, @@ -29356,7 +29765,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1444, @@ -29376,7 +29786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1444, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -29411,7 +29822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1445, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -29421,7 +29833,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_owners[tokenId]=to;" }, { "id": 1446, @@ -29474,7 +29887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -29520,7 +29934,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -29545,7 +29960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1451, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1452, @@ -29565,7 +29981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1452, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -29586,7 +30003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -29714,13 +30132,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256tokenId)internalvirtual{require(to!=address(0),\"ERC721: mint to the zero address\");require(!_exists(tokenId),\"ERC721: token already minted\");_beforeTokenTransfer(address(0),to,tokenId);_balances[to]+=1;_owners[tokenId]=to;emitTransfer(address(0),to,tokenId);}" }, { "id": 1455, @@ -29855,7 +30274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1467, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -29899,7 +30319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -29907,7 +30328,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -29960,7 +30382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1461, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1471, @@ -30001,7 +30424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -30047,7 +30471,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -30082,7 +30507,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -30103,7 +30529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -30172,7 +30599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -30218,7 +30646,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -30249,7 +30678,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -30270,7 +30700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -30329,7 +30760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1487, @@ -30349,7 +30781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1461, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -30386,7 +30819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -30396,7 +30830,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[owner]-=1;" }, { "id": 1489, @@ -30445,7 +30880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1492, @@ -30465,7 +30901,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1492, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -30517,7 +30954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1461, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1495, @@ -30558,7 +30996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -30604,7 +31043,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -30629,7 +31069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1499, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -30650,7 +31091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -30740,7 +31182,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_burn(uint256tokenId)internalvirtual{addressowner=ERC721.ownerOf(tokenId);_beforeTokenTransfer(owner,address(0),tokenId);_approve(address(0),tokenId);_balances[owner]-=1;delete_owners[tokenId];emitTransfer(owner,address(0),tokenId);}" }, { "id": 1502, @@ -30851,7 +31294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1518, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -30895,7 +31339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -30903,7 +31348,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -30928,7 +31374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1519, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_description": { "type_identifier": "t_bool", @@ -30961,7 +31408,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: transfer of token that is not own\"" } ], "expression": { @@ -30982,7 +31430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -31044,7 +31493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1524, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1525, @@ -31085,7 +31535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -31131,7 +31582,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -31169,7 +31621,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC721: transfer to the zero address\"" } ], "expression": { @@ -31190,7 +31643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -31242,7 +31696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1532, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1533, @@ -31268,7 +31723,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1534, @@ -31298,7 +31754,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -31319,7 +31776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -31388,7 +31846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -31434,7 +31893,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -31465,7 +31925,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "tokenId" } ], "expression": { @@ -31486,7 +31947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -31545,7 +32007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1546, @@ -31565,7 +32028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1546, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -31602,7 +32066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -31612,7 +32077,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]-=1;" }, { "id": 1548, @@ -31666,7 +32132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 906, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1552, @@ -31686,7 +32153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1552, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -31723,7 +32191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -31733,7 +32202,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=1;" }, { "id": 1554, @@ -31787,7 +32257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 901, - "is_pure": false + "is_pure": false, + "text": "_owners" }, "base_expression": { "id": 1558, @@ -31807,7 +32278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1558, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -31842,7 +32314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1559, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -31852,7 +32325,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_owners[tokenId]=to;" }, { "id": 1560, @@ -31884,7 +32358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1561, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1562, @@ -31904,7 +32379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1562, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1563, @@ -31924,7 +32400,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1563, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -31945,7 +32422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -32117,13 +32595,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256tokenId)internalvirtual{require(ERC721.ownerOf(tokenId)==from,\"ERC721: transfer of token that is not own\");require(to!=address(0),\"ERC721: transfer to the zero address\");_beforeTokenTransfer(from,to,tokenId);_approve(address(0),tokenId);_balances[from]-=1;_balances[to]+=1;_owners[tokenId]=to;emitTransfer(from,to,tokenId);}" }, { "id": 1566, @@ -32212,7 +32691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "_tokenApprovals" }, "base_expression": { "id": 1578, @@ -32232,7 +32712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1578, - "is_pure": false + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -32267,7 +32748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1579, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", @@ -32277,7 +32759,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_address$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003eaddress):uint256]" - } + }, + "text": "_tokenApprovals[tokenId]=to;" }, { "id": 1580, @@ -32328,7 +32811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1584, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -32372,7 +32856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "ERC721" }, "member_name": "ownerOf", "argument_types": [], @@ -32380,7 +32865,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "ERC721.ownerOf" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -32405,7 +32891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1585, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1586, @@ -32425,7 +32912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1586, - "is_pure": false + "is_pure": false, + "text": "tokenId" } ], "expression": { @@ -32446,7 +32934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 155, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -32574,13 +33063,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, uint256)", - "signature": "74fb7ab4", + "signature_raw": "_approve(address,uint256)", + "signature": "7b7d7225", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_approve(addressto,uint256tokenId)internalvirtual{_tokenApprovals[tokenId]=to;emitApproval(ERC721.ownerOf(tokenId),to,tokenId);}" }, { "id": 1589, @@ -32683,14 +33173,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1606, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.isContract" }, "type_description": { "type_identifier": "t_function_$", @@ -32780,7 +33272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1642, - "is_pure": false + "is_pure": false, + "text": "retval" }, "right_expression": { "id": 1623, @@ -32865,7 +33358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -32886,7 +33380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -32898,14 +33393,16 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC721Receiver(to).onERC721Received" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC721Receiver(to).onERC721Received.selector" }, "type_description": { "type_identifier": "t_bool", @@ -33039,7 +33536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -33070,7 +33568,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "from" }, { "id": 1617, @@ -33100,7 +33599,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenId" }, { "id": 1618, @@ -33134,7 +33634,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_data" } ], "expression": { @@ -33197,7 +33698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -33218,7 +33720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC721Receiver" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -33230,7 +33733,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC721Receiver(to).onERC721Received" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$_t_bytes$", @@ -33329,14 +33833,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1629, - "is_pure": false + "is_pure": false, + "text": "reason" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "reason.length" }, "right_expression": { "id": 1636, @@ -33358,7 +33864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -33417,7 +33924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"ERC721: transfer to non ERC721Receiver implementer\"" } ], "expression": { @@ -33438,7 +33946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -33771,13 +34280,14 @@ } ] }, - "signature_raw": "_checkOnERC721Received(address, address, uint256, bytes)", - "signature": "c3eec764", + "signature_raw": "_checkOnERC721Received(address,address,uint256,bytes)", + "signature": "1fd01de1", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,address,uint256,bytes)" - } + }, + "text": "function_checkOnERC721Received(addressfrom,addressto,uint256tokenId,bytesmemory_data)privatereturns(bool){if(to.isContract()){tryIERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,_data)returns(bytes4retval){returnretval==IERC721Receiver(to).onERC721Received.selector;}catch(bytesmemoryreason){if(reason.length==0){revert(\"ERC721: transfer to non ERC721Receiver implementer\");}else{assembly{revert(add(32,reason),mload(reason))}}}}else{returntrue;}}" }, { "id": 1645, @@ -33982,13 +34492,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 877, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256tokenId)internalvirtual{}" } ], "linearized_base_contracts": [ @@ -34340,14 +34851,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1683, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" } } ] @@ -34503,7 +35016,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_Counters_Counter_$1668$", "type_string": "function(struct Counters.Counter)" - } + }, + "text": "functioncurrent(Counterstoragecounter)internalviewreturns(uint256){returncounter._value;}" }, { "id": 1685, @@ -34618,14 +35132,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1696, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" }, "right_expression": { "id": 1697, @@ -34647,7 +35163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", @@ -34657,7 +35174,8 @@ "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value+=1;" } ] } @@ -34769,7 +35287,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_Counters_Counter_$1668$", "type_string": "function(struct Counters.Counter)" - } + }, + "text": "functionincrement(Counterstoragecounter)internal{unchecked{counter._value+=1;}}" }, { "id": 1699, @@ -34907,14 +35426,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1710, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" } }, { @@ -34972,7 +35493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1706, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1715, @@ -34994,7 +35516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -35027,7 +35550,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Counter: decrement overflow\"" } ], "expression": { @@ -35048,7 +35572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -35133,14 +35658,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1721, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" }, "right_expression": { "id": 1722, @@ -35174,7 +35701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1724, @@ -35196,7 +35724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -35211,7 +35740,8 @@ "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value=value-1;" } ] } @@ -35323,7 +35853,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_Counters_Counter_$1668$", "type_string": "function(struct Counters.Counter)" - } + }, + "text": "functiondecrement(Counterstoragecounter)internal{uint256value=counter._value;require(value\u003e0,\"Counter: decrement overflow\");unchecked{counter._value=value-1;}}" }, { "id": 1726, @@ -35424,14 +35955,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1736, - "is_pure": false + "is_pure": false, + "text": "counter" }, "member_name": "_value", "argument_types": [], "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value" }, "right_expression": { "id": 1737, @@ -35453,7 +35986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", @@ -35463,7 +35997,8 @@ "type_description": { "type_identifier": "t_struct$_Counters_Counter_$1668", "type_string": "struct Counters.Counter" - } + }, + "text": "counter._value=0;" } ] }, @@ -35573,7 +36108,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_Counters_Counter_$1668$", "type_string": "function(struct Counters.Counter)" - } + }, + "text": "functionreset(Counterstoragecounter)internal{counter._value=0;}" } ], "linearized_base_contracts": [ @@ -35859,13 +36395,14 @@ } ] }, - "signature_raw": "hasRole(bytes32, address)", - "signature": "86282e07", + "signature_raw": "hasRole(bytes32,address)", + "signature": "91d14854", "scope": 1750, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionhasRole(bytes32role,addressaccount)externalviewreturns(bool);" }, { "id": 1763, @@ -36033,7 +36570,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetRoleAdmin(bytes32role)externalviewreturns(bytes32);" }, { "id": 1772, @@ -36194,13 +36732,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "grantRole(bytes32, address)", - "signature": "44f0a842", + "signature_raw": "grantRole(bytes32,address)", + "signature": "2f2ff15d", "scope": 1750, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functiongrantRole(bytes32role,addressaccount)external;" }, { "id": 1781, @@ -36361,13 +36900,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "revokeRole(bytes32, address)", - "signature": "b3252796", + "signature_raw": "revokeRole(bytes32,address)", + "signature": "d547741f", "scope": 1750, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrevokeRole(bytes32role,addressaccount)external;" }, { "id": 1790, @@ -36528,13 +37068,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "renounceRole(bytes32, address)", - "signature": "e8365576", + "signature_raw": "renounceRole(bytes32,address)", + "signature": "36568abe", "scope": 1750, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrenounceRole(bytes32role,addressaccount)external;" } ], "linearized_base_contracts": [ @@ -36751,7 +37292,7 @@ "name": "members", "type_name": { "id": 1820, - "node_type": 0, + "node_type": 53, "src": { "line": 1070, "column": 8, @@ -36883,7 +37424,7 @@ }, "scope": 1810, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "visibility": 2, @@ -36891,7 +37432,7 @@ "mutability": 1, "type_name": { "id": 1827, - "node_type": 0, + "node_type": 69, "src": { "line": 1074, "column": 4, @@ -36928,7 +37469,7 @@ }, "value_type": { "id": 1829, - "node_type": 30, + "node_type": 69, "src": { "line": 1074, "column": 23, @@ -36938,10 +37479,10 @@ "parent_index": 1827 }, "name": "RoleData", - "referenced_declaration": 0, + "referenced_declaration": 1818, "type_description": { - "type_identifier": "t_RoleData", - "type_string": "RoleData" + "type_identifier": "t_struct$_AccessControl_RoleData_$1818", + "type_string": "struct AccessControl.RoleData" } }, "value_name_location": { @@ -36952,16 +37493,38 @@ "length": 8, "parent_index": 1827 }, - "referenced_declaration": 0, + "path_node": { + "id": 1830, + "name": "RoleData", + "node_type": 52, + "referenced_declaration": 1818, + "src": { + "line": 1074, + "column": 23, + "start": 35141, + "end": 35148, + "length": 8, + "parent_index": 1827 + }, + "name_location": { + "line": 1074, + "column": 23, + "start": 35141, + "end": 35148, + "length": 8, + "parent_index": 1827 + } + }, + "referenced_declaration": 1818, "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" } }, "initial_value": null }, { - "id": 1831, + "id": 1832, "name": "DEFAULT_ADMIN_ROLE", "is_constant": true, "is_state_variable": true, @@ -36983,7 +37546,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 1832, + "id": 1833, "node_type": 30, "src": { "line": 1076, @@ -36991,7 +37554,7 @@ "start": 35172, "end": 35178, "length": 7, - "parent_index": 1831 + "parent_index": 1832 }, "name": "bytes32", "referenced_declaration": 0, @@ -37001,7 +37564,7 @@ } }, "initial_value": { - "id": 1833, + "id": 1834, "node_type": 17, "kind": 49, "value": "0x00", @@ -37012,7 +37575,7 @@ "start": 35217, "end": 35220, "length": 4, - "parent_index": 1831 + "parent_index": 1832 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -37020,11 +37583,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x00" } }, { - "id": 1835, + "id": 1836, "node_type": 57, "src": { "line": 1086, @@ -37035,7 +37599,7 @@ "parent_index": 1810 }, "parameters": { - "id": 1836, + "id": 1837, "node_type": 43, "src": { "line": 1086, @@ -37043,11 +37607,11 @@ "start": 35525, "end": 35634, "length": 110, - "parent_index": 1835 + "parent_index": 1836 }, "parameters": [ { - "id": 1837, + "id": 1838, "node_type": 44, "src": { "line": 1086, @@ -37055,12 +37619,12 @@ "start": 35548, "end": 35567, "length": 20, - "parent_index": 1836 + "parent_index": 1837 }, - "scope": 1835, + "scope": 1836, "name": "role", "type_name": { - "id": 1838, + "id": 1839, "node_type": 30, "src": { "line": 1086, @@ -37068,7 +37632,7 @@ "start": 35548, "end": 35554, "length": 7, - "parent_index": 1837 + "parent_index": 1838 }, "name": "bytes32", "referenced_declaration": 0, @@ -37087,7 +37651,7 @@ "indexed": true }, { - "id": 1839, + "id": 1840, "node_type": 44, "src": { "line": 1086, @@ -37095,12 +37659,12 @@ "start": 35570, "end": 35602, "length": 33, - "parent_index": 1836 + "parent_index": 1837 }, - "scope": 1835, + "scope": 1836, "name": "previousAdminRole", "type_name": { - "id": 1840, + "id": 1841, "node_type": 30, "src": { "line": 1086, @@ -37108,7 +37672,7 @@ "start": 35570, "end": 35576, "length": 7, - "parent_index": 1839 + "parent_index": 1840 }, "name": "bytes32", "referenced_declaration": 0, @@ -37127,7 +37691,7 @@ "indexed": true }, { - "id": 1841, + "id": 1842, "node_type": 44, "src": { "line": 1086, @@ -37135,12 +37699,12 @@ "start": 35605, "end": 35632, "length": 28, - "parent_index": 1836 + "parent_index": 1837 }, - "scope": 1835, + "scope": 1836, "name": "newAdminRole", "type_name": { - "id": 1842, + "id": 1843, "node_type": 30, "src": { "line": 1086, @@ -37148,7 +37712,7 @@ "start": 35605, "end": 35611, "length": 7, - "parent_index": 1841 + "parent_index": 1842 }, "name": "bytes32", "referenced_declaration": 0, @@ -37185,12 +37749,12 @@ "name": "RoleAdminChanged", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261835", + "type_identifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261836", "type_string": "event AccessControl.RoleAdminChanged" } }, { - "id": 1844, + "id": 1845, "node_type": 57, "src": { "line": 1094, @@ -37201,7 +37765,7 @@ "parent_index": 1810 }, "parameters": { - "id": 1845, + "id": 1846, "node_type": 43, "src": { "line": 1094, @@ -37209,11 +37773,11 @@ "start": 35844, "end": 35932, "length": 89, - "parent_index": 1844 + "parent_index": 1845 }, "parameters": [ { - "id": 1846, + "id": 1847, "node_type": 44, "src": { "line": 1094, @@ -37221,12 +37785,12 @@ "start": 35862, "end": 35881, "length": 20, - "parent_index": 1845 + "parent_index": 1846 }, - "scope": 1844, + "scope": 1845, "name": "role", "type_name": { - "id": 1847, + "id": 1848, "node_type": 30, "src": { "line": 1094, @@ -37234,7 +37798,7 @@ "start": 35862, "end": 35868, "length": 7, - "parent_index": 1846 + "parent_index": 1847 }, "name": "bytes32", "referenced_declaration": 0, @@ -37253,7 +37817,7 @@ "indexed": true }, { - "id": 1848, + "id": 1849, "node_type": 44, "src": { "line": 1094, @@ -37261,12 +37825,12 @@ "start": 35884, "end": 35906, "length": 23, - "parent_index": 1845 + "parent_index": 1846 }, - "scope": 1844, + "scope": 1845, "name": "account", "type_name": { - "id": 1849, + "id": 1850, "node_type": 30, "src": { "line": 1094, @@ -37274,7 +37838,7 @@ "start": 35884, "end": 35890, "length": 7, - "parent_index": 1848 + "parent_index": 1849 }, "name": "address", "state_mutability": 4, @@ -37294,7 +37858,7 @@ "indexed": true }, { - "id": 1850, + "id": 1851, "node_type": 44, "src": { "line": 1094, @@ -37302,12 +37866,12 @@ "start": 35909, "end": 35930, "length": 22, - "parent_index": 1845 + "parent_index": 1846 }, - "scope": 1844, + "scope": 1845, "name": "sender", "type_name": { - "id": 1851, + "id": 1852, "node_type": 30, "src": { "line": 1094, @@ -37315,7 +37879,7 @@ "start": 35909, "end": 35915, "length": 7, - "parent_index": 1850 + "parent_index": 1851 }, "name": "address", "state_mutability": 4, @@ -37353,12 +37917,12 @@ "name": "RoleGranted", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleGranted_\u00261844", + "type_identifier": "t_event\u0026_AccessControl_RoleGranted_\u00261845", "type_string": "event AccessControl.RoleGranted" } }, { - "id": 1853, + "id": 1854, "node_type": 57, "src": { "line": 1103, @@ -37369,7 +37933,7 @@ "parent_index": 1810 }, "parameters": { - "id": 1854, + "id": 1855, "node_type": 43, "src": { "line": 1103, @@ -37377,11 +37941,11 @@ "start": 36219, "end": 36307, "length": 89, - "parent_index": 1853 + "parent_index": 1854 }, "parameters": [ { - "id": 1855, + "id": 1856, "node_type": 44, "src": { "line": 1103, @@ -37389,12 +37953,12 @@ "start": 36237, "end": 36256, "length": 20, - "parent_index": 1854 + "parent_index": 1855 }, - "scope": 1853, + "scope": 1854, "name": "role", "type_name": { - "id": 1856, + "id": 1857, "node_type": 30, "src": { "line": 1103, @@ -37402,7 +37966,7 @@ "start": 36237, "end": 36243, "length": 7, - "parent_index": 1855 + "parent_index": 1856 }, "name": "bytes32", "referenced_declaration": 0, @@ -37421,7 +37985,7 @@ "indexed": true }, { - "id": 1857, + "id": 1858, "node_type": 44, "src": { "line": 1103, @@ -37429,12 +37993,12 @@ "start": 36259, "end": 36281, "length": 23, - "parent_index": 1854 + "parent_index": 1855 }, - "scope": 1853, + "scope": 1854, "name": "account", "type_name": { - "id": 1858, + "id": 1859, "node_type": 30, "src": { "line": 1103, @@ -37442,7 +38006,7 @@ "start": 36259, "end": 36265, "length": 7, - "parent_index": 1857 + "parent_index": 1858 }, "name": "address", "state_mutability": 4, @@ -37462,7 +38026,7 @@ "indexed": true }, { - "id": 1859, + "id": 1860, "node_type": 44, "src": { "line": 1103, @@ -37470,12 +38034,12 @@ "start": 36284, "end": 36305, "length": 22, - "parent_index": 1854 + "parent_index": 1855 }, - "scope": 1853, + "scope": 1854, "name": "sender", "type_name": { - "id": 1860, + "id": 1861, "node_type": 30, "src": { "line": 1103, @@ -37483,7 +38047,7 @@ "start": 36284, "end": 36290, "length": 7, - "parent_index": 1859 + "parent_index": 1860 }, "name": "address", "state_mutability": 4, @@ -37521,12 +38085,12 @@ "name": "RoleRevoked", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261853", + "type_identifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261854", "type_string": "event AccessControl.RoleRevoked" } }, { - "id": 1862, + "id": 1863, "name": "onlyRole", "node_type": 68, "src": { @@ -37543,12 +38107,12 @@ "start": 36703, "end": 36710, "length": 8, - "parent_index": 1862 + "parent_index": 1863 }, "visibility": 1, "virtual": false, "parameters": { - "id": 1863, + "id": 1864, "node_type": 43, "src": { "line": 1115, @@ -37560,7 +38124,7 @@ }, "parameters": [ { - "id": 1864, + "id": 1865, "node_type": 44, "src": { "line": 1115, @@ -37568,12 +38132,12 @@ "start": 36712, "end": 36723, "length": 12, - "parent_index": 1863 + "parent_index": 1864 }, "scope": 1810, "name": "role", "type_name": { - "id": 1865, + "id": 1866, "node_type": 30, "src": { "line": 1115, @@ -37581,7 +38145,7 @@ "start": 36712, "end": 36718, "length": 7, - "parent_index": 1864 + "parent_index": 1865 }, "name": "bytes32", "referenced_declaration": 0, @@ -37607,7 +38171,7 @@ ] }, "body": { - "id": 1866, + "id": 1867, "node_type": 46, "kind": 0, "src": { @@ -37616,12 +38180,12 @@ "start": 36726, "end": 36783, "length": 58, - "parent_index": 1862 + "parent_index": 1863 }, "implemented": true, "statements": [ { - "id": 1867, + "id": 1868, "node_type": 24, "kind": 24, "src": { @@ -37630,7 +38194,7 @@ "start": 36736, "end": 36765, "length": 30, - "parent_index": 1866 + "parent_index": 1867 }, "argument_types": [ { @@ -37644,7 +38208,7 @@ ], "arguments": [ { - "id": 1869, + "id": 1870, "node_type": 16, "src": { "line": 1116, @@ -37652,7 +38216,7 @@ "start": 36747, "end": 36750, "length": 4, - "parent_index": 1867 + "parent_index": 1868 }, "name": "role", "type_description": { @@ -37661,10 +38225,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "role" }, { - "id": 1870, + "id": 1871, "node_type": 24, "kind": 24, "src": { @@ -37673,12 +38238,12 @@ "start": 36753, "end": 36764, "length": 12, - "parent_index": 1867 + "parent_index": 1868 }, "argument_types": [], "arguments": [], "expression": { - "id": 1871, + "id": 1872, "node_type": 16, "src": { "line": 1116, @@ -37686,7 +38251,7 @@ "start": 36753, "end": 36762, "length": 10, - "parent_index": 1870 + "parent_index": 1871 }, "name": "_msgSender", "type_description": { @@ -37695,7 +38260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -37704,7 +38270,7 @@ } ], "expression": { - "id": 1868, + "id": 1869, "node_type": 16, "src": { "line": 1116, @@ -37712,7 +38278,7 @@ "start": 36736, "end": 36745, "length": 10, - "parent_index": 1867 + "parent_index": 1868 }, "name": "_checkRole", "type_description": { @@ -37721,7 +38287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -37729,7 +38296,7 @@ } }, { - "id": 1872, + "id": 1873, "node_type": 82, "src": { "line": 1117, @@ -37737,7 +38304,7 @@ "start": 36776, "end": 36776, "length": 1, - "parent_index": 1866 + "parent_index": 1867 }, "name": "_", "type_description": { @@ -37746,13 +38313,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 1874, + "id": 1875, "name": "supportsInterface", "node_type": 42, "kind": 41, @@ -37770,10 +38338,10 @@ "start": 36860, "end": 36876, "length": 17, - "parent_index": 1874 + "parent_index": 1875 }, "body": { - "id": 1882, + "id": 1883, "node_type": 46, "kind": 0, "src": { @@ -37782,12 +38350,12 @@ "start": 36942, "end": 37052, "length": 111, - "parent_index": 1874 + "parent_index": 1875 }, "implemented": true, "statements": [ { - "id": 1883, + "id": 1884, "node_type": 47, "src": { "line": 1124, @@ -37795,11 +38363,11 @@ "start": 36952, "end": 37046, "length": 95, - "parent_index": 1874 + "parent_index": 1875 }, - "function_return_parameters": 1874, + "function_return_parameters": 1875, "expression": { - "id": 1884, + "id": 1885, "is_constant": false, "is_pure": false, "node_type": 19, @@ -37809,11 +38377,11 @@ "start": 36959, "end": 37045, "length": 87, - "parent_index": 1883 + "parent_index": 1884 }, "operator": 33, "left_expression": { - "id": 1885, + "id": 1886, "is_constant": false, "is_pure": false, "node_type": 19, @@ -37823,11 +38391,11 @@ "start": 36959, "end": 37005, "length": 47, - "parent_index": 1884 + "parent_index": 1885 }, "operator": 11, "left_expression": { - "id": 1886, + "id": 1887, "node_type": 16, "src": { "line": 1124, @@ -37835,7 +38403,7 @@ "start": 36959, "end": 36969, "length": 11, - "parent_index": 1885 + "parent_index": 1886 }, "name": "interfaceId", "type_description": { @@ -37843,11 +38411,12 @@ "type_string": "bytes4" }, "overloaded_declarations": [], - "referenced_declaration": 1886, - "is_pure": false + "referenced_declaration": 1887, + "is_pure": false, + "text": "interfaceId" }, "right_expression": { - "id": 1887, + "id": 1888, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -37859,7 +38428,7 @@ "start": 36974, "end": 37005, "length": 32, - "parent_index": 1885 + "parent_index": 1886 }, "member_location": { "line": 1124, @@ -37867,10 +38436,10 @@ "start": 36995, "end": 37005, "length": 11, - "parent_index": 1887 + "parent_index": 1888 }, "expression": { - "id": 1888, + "id": 1889, "node_type": 16, "name": "type", "src": { @@ -37879,7 +38448,7 @@ "start": 36974, "end": 36993, "length": 20, - "parent_index": 1887 + "parent_index": 1888 }, "type_description": { "type_identifier": "", @@ -37891,7 +38460,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(IAccessControl).interfaceId" }, "type_description": { "type_identifier": "t_bool", @@ -37899,7 +38469,7 @@ } }, "right_expression": { - "id": 1889, + "id": 1890, "node_type": 24, "kind": 24, "src": { @@ -37908,7 +38478,7 @@ "start": 37010, "end": 37045, "length": 36, - "parent_index": 1884 + "parent_index": 1885 }, "argument_types": [ { @@ -37918,7 +38488,7 @@ ], "arguments": [ { - "id": 1892, + "id": 1893, "node_type": 16, "src": { "line": 1124, @@ -37926,7 +38496,7 @@ "start": 37034, "end": 37044, "length": 11, - "parent_index": 1889 + "parent_index": 1890 }, "name": "interfaceId", "type_description": { @@ -37934,12 +38504,13 @@ "type_string": "bytes4" }, "overloaded_declarations": [], - "referenced_declaration": 1892, - "is_pure": false + "referenced_declaration": 1893, + "is_pure": false, + "text": "interfaceId" } ], "expression": { - "id": 1890, + "id": 1891, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -37951,7 +38522,7 @@ "start": 37010, "end": 37032, "length": 23, - "parent_index": 1889 + "parent_index": 1890 }, "member_location": { "line": 1124, @@ -37959,10 +38530,10 @@ "start": 37016, "end": 37032, "length": 17, - "parent_index": 1890 + "parent_index": 1891 }, "expression": { - "id": 1891, + "id": 1892, "node_type": 16, "src": { "line": 1124, @@ -37970,7 +38541,7 @@ "start": 37010, "end": 37014, "length": 5, - "parent_index": 1890 + "parent_index": 1891 }, "name": "super", "type_description": { @@ -37979,14 +38550,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -38008,7 +38581,7 @@ "modifiers": [], "overrides": [ { - "id": 1878, + "id": 1879, "node_type": 63, "src": { "line": 1123, @@ -38016,7 +38589,7 @@ "start": 36918, "end": 36925, "length": 8, - "parent_index": 1874 + "parent_index": 1875 }, "overrides": [], "referenced_declaration": 0, @@ -38027,7 +38600,7 @@ } ], "parameters": { - "id": 1875, + "id": 1876, "node_type": 43, "src": { "line": 1123, @@ -38035,11 +38608,11 @@ "start": 36878, "end": 36895, "length": 18, - "parent_index": 1874 + "parent_index": 1875 }, "parameters": [ { - "id": 1876, + "id": 1877, "node_type": 44, "src": { "line": 1123, @@ -38047,12 +38620,12 @@ "start": 36878, "end": 36895, "length": 18, - "parent_index": 1875 + "parent_index": 1876 }, - "scope": 1874, + "scope": 1875, "name": "interfaceId", "type_name": { - "id": 1877, + "id": 1878, "node_type": 30, "src": { "line": 1123, @@ -38060,7 +38633,7 @@ "start": 36878, "end": 36883, "length": 6, - "parent_index": 1876 + "parent_index": 1877 }, "name": "bytes4", "referenced_declaration": 0, @@ -38086,7 +38659,7 @@ ] }, "return_parameters": { - "id": 1879, + "id": 1880, "node_type": 43, "src": { "line": 1123, @@ -38094,11 +38667,11 @@ "start": 36936, "end": 36939, "length": 4, - "parent_index": 1874 + "parent_index": 1875 }, "parameters": [ { - "id": 1880, + "id": 1881, "node_type": 44, "src": { "line": 1123, @@ -38106,12 +38679,12 @@ "start": 36936, "end": 36939, "length": 4, - "parent_index": 1879 + "parent_index": 1880 }, - "scope": 1874, + "scope": 1875, "name": "", "type_name": { - "id": 1881, + "id": 1882, "node_type": 30, "src": { "line": 1123, @@ -38119,7 +38692,7 @@ "start": 36936, "end": 36939, "length": 4, - "parent_index": 1880 + "parent_index": 1881 }, "name": "bool", "referenced_declaration": 0, @@ -38150,10 +38723,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverridereturns(bool){returninterfaceId==type(IAccessControl).interfaceId||super.supportsInterface(interfaceId);}" }, { - "id": 1894, + "id": 1895, "name": "hasRole", "node_type": 42, "kind": 41, @@ -38171,10 +38745,10 @@ "start": 37149, "end": 37155, "length": 7, - "parent_index": 1894 + "parent_index": 1895 }, "body": { - "id": 1904, + "id": 1905, "node_type": 46, "kind": 0, "src": { @@ -38183,12 +38757,12 @@ "start": 37224, "end": 37276, "length": 53, - "parent_index": 1894 + "parent_index": 1895 }, "implemented": true, "statements": [ { - "id": 1905, + "id": 1906, "node_type": 47, "src": { "line": 1131, @@ -38196,11 +38770,11 @@ "start": 37234, "end": 37270, "length": 37, - "parent_index": 1894 + "parent_index": 1895 }, - "function_return_parameters": 1894, + "function_return_parameters": 1895, "expression": { - "id": 1906, + "id": 1907, "node_type": 22, "src": { "line": 1131, @@ -38208,10 +38782,10 @@ "start": 37241, "end": 37269, "length": 29, - "parent_index": 1905 + "parent_index": 1906 }, "index_expression": { - "id": 1907, + "id": 1908, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -38223,7 +38797,7 @@ "start": 37241, "end": 37260, "length": 20, - "parent_index": 1906 + "parent_index": 1907 }, "member_location": { "line": 1131, @@ -38231,10 +38805,10 @@ "start": 37254, "end": 37260, "length": 7, - "parent_index": 1907 + "parent_index": 1908 }, "expression": { - "id": 1908, + "id": 1909, "node_type": 22, "src": { "line": 1131, @@ -38242,10 +38816,10 @@ "start": 37241, "end": 37252, "length": 12, - "parent_index": 1907 + "parent_index": 1908 }, "index_expression": { - "id": 1909, + "id": 1910, "node_type": 16, "src": { "line": 1131, @@ -38253,19 +38827,20 @@ "start": 37241, "end": 37246, "length": 6, - "parent_index": 1908 + "parent_index": 1909 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 1910, + "id": 1911, "node_type": 16, "src": { "line": 1131, @@ -38273,7 +38848,7 @@ "start": 37248, "end": 37251, "length": 4, - "parent_index": 1908 + "parent_index": 1909 }, "name": "role", "type_description": { @@ -38281,12 +38856,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1910, - "is_pure": false + "referenced_declaration": 1911, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -38295,19 +38871,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 1911, + "id": 1912, "node_type": 16, "src": { "line": 1131, @@ -38315,7 +38892,7 @@ "start": 37262, "end": 37268, "length": 7, - "parent_index": 1906 + "parent_index": 1907 }, "name": "account", "type_description": { @@ -38323,12 +38900,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1911, - "is_pure": false + "referenced_declaration": 1912, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -38337,7 +38915,7 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } @@ -38351,7 +38929,7 @@ "modifiers": [], "overrides": [ { - "id": 1900, + "id": 1901, "node_type": 63, "src": { "line": 1130, @@ -38359,7 +38937,7 @@ "start": 37200, "end": 37207, "length": 8, - "parent_index": 1894 + "parent_index": 1895 }, "overrides": [], "referenced_declaration": 0, @@ -38370,7 +38948,7 @@ } ], "parameters": { - "id": 1895, + "id": 1896, "node_type": 43, "src": { "line": 1130, @@ -38378,11 +38956,11 @@ "start": 37157, "end": 37185, "length": 29, - "parent_index": 1894 + "parent_index": 1895 }, "parameters": [ { - "id": 1896, + "id": 1897, "node_type": 44, "src": { "line": 1130, @@ -38390,12 +38968,12 @@ "start": 37157, "end": 37168, "length": 12, - "parent_index": 1895 + "parent_index": 1896 }, - "scope": 1894, + "scope": 1895, "name": "role", "type_name": { - "id": 1897, + "id": 1898, "node_type": 30, "src": { "line": 1130, @@ -38403,7 +38981,7 @@ "start": 37157, "end": 37163, "length": 7, - "parent_index": 1896 + "parent_index": 1897 }, "name": "bytes32", "referenced_declaration": 0, @@ -38421,7 +38999,7 @@ } }, { - "id": 1898, + "id": 1899, "node_type": 44, "src": { "line": 1130, @@ -38429,12 +39007,12 @@ "start": 37171, "end": 37185, "length": 15, - "parent_index": 1895 + "parent_index": 1896 }, - "scope": 1894, + "scope": 1895, "name": "account", "type_name": { - "id": 1899, + "id": 1900, "node_type": 30, "src": { "line": 1130, @@ -38442,7 +39020,7 @@ "start": 37171, "end": 37177, "length": 7, - "parent_index": 1898 + "parent_index": 1899 }, "name": "address", "state_mutability": 4, @@ -38473,7 +39051,7 @@ ] }, "return_parameters": { - "id": 1901, + "id": 1902, "node_type": 43, "src": { "line": 1130, @@ -38481,11 +39059,11 @@ "start": 37218, "end": 37221, "length": 4, - "parent_index": 1894 + "parent_index": 1895 }, "parameters": [ { - "id": 1902, + "id": 1903, "node_type": 44, "src": { "line": 1130, @@ -38493,12 +39071,12 @@ "start": 37218, "end": 37221, "length": 4, - "parent_index": 1901 + "parent_index": 1902 }, - "scope": 1894, + "scope": 1895, "name": "", "type_name": { - "id": 1903, + "id": 1904, "node_type": 30, "src": { "line": 1130, @@ -38506,7 +39084,7 @@ "start": 37218, "end": 37221, "length": 4, - "parent_index": 1902 + "parent_index": 1903 }, "name": "bool", "referenced_declaration": 0, @@ -38531,16 +39109,17 @@ } ] }, - "signature_raw": "hasRole(bytes32, address)", - "signature": "86282e07", + "signature_raw": "hasRole(bytes32,address)", + "signature": "91d14854", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionhasRole(bytes32role,addressaccount)publicviewoverridereturns(bool){return_roles[role].members[account];}" }, { - "id": 1913, + "id": 1914, "name": "_checkRole", "node_type": 42, "kind": 41, @@ -38558,10 +39137,10 @@ "start": 37567, "end": 37576, "length": 10, - "parent_index": 1913 + "parent_index": 1914 }, "body": { - "id": 1920, + "id": 1921, "node_type": 46, "kind": 0, "src": { @@ -38570,12 +39149,12 @@ "start": 37623, "end": 38041, "length": 419, - "parent_index": 1913 + "parent_index": 1914 }, "implemented": true, "statements": [ { - "id": 1921, + "id": 1922, "node_type": 48, "src": { "line": 1142, @@ -38583,10 +39162,10 @@ "start": 37633, "end": 38035, "length": 403, - "parent_index": 1920 + "parent_index": 1921 }, "condition": { - "id": 1922, + "id": 1923, "node_type": 18, "kind": 104, "src": { @@ -38595,7 +39174,7 @@ "start": 37637, "end": 37659, "length": 23, - "parent_index": 1913 + "parent_index": 1914 }, "operator": 31, "prefix": false, @@ -38604,7 +39183,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 1923, + "id": 1924, "node_type": 24, "kind": 24, "src": { @@ -38613,7 +39192,7 @@ "start": 37638, "end": 37659, "length": 22, - "parent_index": 1922 + "parent_index": 1923 }, "argument_types": [ { @@ -38627,7 +39206,7 @@ ], "arguments": [ { - "id": 1925, + "id": 1926, "node_type": 16, "src": { "line": 1142, @@ -38635,7 +39214,7 @@ "start": 37646, "end": 37649, "length": 4, - "parent_index": 1923 + "parent_index": 1924 }, "name": "role", "type_description": { @@ -38643,11 +39222,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1925, - "is_pure": false + "referenced_declaration": 1926, + "is_pure": false, + "text": "role" }, { - "id": 1926, + "id": 1927, "node_type": 16, "src": { "line": 1142, @@ -38655,7 +39235,7 @@ "start": 37652, "end": 37658, "length": 7, - "parent_index": 1923 + "parent_index": 1924 }, "name": "account", "type_description": { @@ -38663,18 +39243,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1926, + "referenced_declaration": 1927, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 1924, + "id": 1925, "node_type": 16, "src": { "line": 1142, @@ -38682,7 +39263,7 @@ "start": 37638, "end": 37644, "length": 7, - "parent_index": 1923 + "parent_index": 1924 }, "name": "hasRole", "type_description": { @@ -38691,7 +39272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -38704,7 +39286,7 @@ } }, "body": { - "id": 1927, + "id": 1928, "node_type": 46, "kind": 0, "src": { @@ -38713,12 +39295,12 @@ "start": 37662, "end": 38035, "length": 374, - "parent_index": 1913 + "parent_index": 1914 }, "implemented": true, "statements": [ { - "id": 1928, + "id": 1929, "node_type": 24, "kind": 24, "src": { @@ -38727,7 +39309,7 @@ "start": 37676, "end": 38024, "length": 349, - "parent_index": 1927 + "parent_index": 1928 }, "argument_types": [ { @@ -38737,7 +39319,7 @@ ], "arguments": [ { - "id": 1930, + "id": 1931, "node_type": 24, "kind": 24, "src": { @@ -38746,7 +39328,7 @@ "start": 37700, "end": 38010, "length": 311, - "parent_index": 1928 + "parent_index": 1929 }, "argument_types": [ { @@ -38756,7 +39338,7 @@ ], "arguments": [ { - "id": 1933, + "id": 1934, "node_type": 24, "kind": 24, "src": { @@ -38765,7 +39347,7 @@ "start": 37728, "end": 37992, "length": 265, - "parent_index": 1930 + "parent_index": 1931 }, "argument_types": [ { @@ -38787,7 +39369,7 @@ ], "arguments": [ { - "id": 1936, + "id": 1937, "node_type": 17, "kind": 50, "value": "AccessControl: account", @@ -38798,7 +39380,7 @@ "start": 37770, "end": 37794, "length": 25, - "parent_index": 1933 + "parent_index": 1934 }, "type_description": { "type_identifier": "t_string_literal", @@ -38806,10 +39388,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"AccessControl: account \"" }, { - "id": 1937, + "id": 1938, "node_type": 24, "kind": 24, "src": { @@ -38818,7 +39401,7 @@ "start": 37821, "end": 37861, "length": 41, - "parent_index": 1933 + "parent_index": 1934 }, "argument_types": [ { @@ -38832,7 +39415,7 @@ ], "arguments": [ { - "id": 1940, + "id": 1941, "node_type": 24, "kind": 24, "src": { @@ -38841,7 +39424,7 @@ "start": 37841, "end": 37856, "length": 16, - "parent_index": 1937 + "parent_index": 1938 }, "argument_types": [ { @@ -38851,7 +39434,7 @@ ], "arguments": [ { - "id": 1943, + "id": 1944, "node_type": 16, "src": { "line": 1147, @@ -38859,7 +39442,7 @@ "start": 37849, "end": 37855, "length": 7, - "parent_index": 1940 + "parent_index": 1941 }, "name": "account", "type_description": { @@ -38867,12 +39450,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1943, - "is_pure": false + "referenced_declaration": 1944, + "is_pure": false, + "text": "account" } ], "expression": { - "id": 1941, + "id": 1942, "node_type": 16, "src": { "line": 1147, @@ -38880,11 +39464,11 @@ "start": 37841, "end": 37847, "length": 7, - "parent_index": 1940 + "parent_index": 1941 }, "name": "uint160", "type_name": { - "id": 1942, + "id": 1943, "node_type": 30, "src": { "line": 1147, @@ -38892,7 +39476,7 @@ "start": 37841, "end": 37847, "length": 7, - "parent_index": 1941 + "parent_index": 1942 }, "name": "uint160", "referenced_declaration": 0, @@ -38913,7 +39497,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -38921,7 +39506,7 @@ } }, { - "id": 1944, + "id": 1945, "node_type": 17, "kind": 49, "value": "20", @@ -38932,7 +39517,7 @@ "start": 37859, "end": 37860, "length": 2, - "parent_index": 1937 + "parent_index": 1938 }, "type_description": { "type_identifier": "t_rational_20_by_1", @@ -38946,11 +39531,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "20" } ], "expression": { - "id": 1938, + "id": 1939, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -38962,7 +39548,7 @@ "start": 37821, "end": 37839, "length": 19, - "parent_index": 1937 + "parent_index": 1938 }, "member_location": { "line": 1147, @@ -38970,10 +39556,10 @@ "start": 37829, "end": 37839, "length": 11, - "parent_index": 1938 + "parent_index": 1939 }, "expression": { - "id": 1939, + "id": 1940, "node_type": 16, "src": { "line": 1147, @@ -38981,7 +39567,7 @@ "start": 37821, "end": 37827, "length": 7, - "parent_index": 1938 + "parent_index": 1939 }, "name": "Strings", "type_description": { @@ -38990,14 +39576,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 637, - "is_pure": false + "is_pure": false, + "text": "Strings" }, "member_name": "toHexString", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Strings_$637", "type_string": "contract Strings" - } + }, + "text": "Strings.toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_rational_20_by_1$", @@ -39005,7 +39593,7 @@ } }, { - "id": 1945, + "id": 1946, "node_type": 17, "kind": 50, "value": "is missing role", @@ -39016,7 +39604,7 @@ "start": 37888, "end": 37906, "length": 19, - "parent_index": 1933 + "parent_index": 1934 }, "type_description": { "type_identifier": "t_string_literal", @@ -39034,10 +39622,11 @@ "type_identifier": "t_function_$_t_function_$_t_address$_t_rational_20_by_1$", "type_string": "function(function(address),int_const 20)" } - ] + ], + "text": "\" is missing role \"" }, { - "id": 1946, + "id": 1947, "node_type": 24, "kind": 24, "src": { @@ -39046,7 +39635,7 @@ "start": 37933, "end": 37970, "length": 38, - "parent_index": 1933 + "parent_index": 1934 }, "argument_types": [ { @@ -39060,7 +39649,7 @@ ], "arguments": [ { - "id": 1949, + "id": 1950, "node_type": 24, "kind": 24, "src": { @@ -39069,7 +39658,7 @@ "start": 37953, "end": 37965, "length": 13, - "parent_index": 1946 + "parent_index": 1947 }, "argument_types": [ { @@ -39079,7 +39668,7 @@ ], "arguments": [ { - "id": 1952, + "id": 1953, "node_type": 16, "src": { "line": 1149, @@ -39087,7 +39676,7 @@ "start": 37961, "end": 37964, "length": 4, - "parent_index": 1949 + "parent_index": 1950 }, "name": "role", "type_description": { @@ -39095,12 +39684,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1952, - "is_pure": false + "referenced_declaration": 1953, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 1950, + "id": 1951, "node_type": 16, "src": { "line": 1149, @@ -39108,11 +39698,11 @@ "start": 37953, "end": 37959, "length": 7, - "parent_index": 1949 + "parent_index": 1950 }, "name": "uint256", "type_name": { - "id": 1951, + "id": 1952, "node_type": 30, "src": { "line": 1149, @@ -39120,7 +39710,7 @@ "start": 37953, "end": 37959, "length": 7, - "parent_index": 1950 + "parent_index": 1951 }, "name": "uint256", "referenced_declaration": 0, @@ -39141,7 +39731,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -39149,7 +39740,7 @@ } }, { - "id": 1953, + "id": 1954, "node_type": 17, "kind": 49, "value": "32", @@ -39160,7 +39751,7 @@ "start": 37968, "end": 37969, "length": 2, - "parent_index": 1946 + "parent_index": 1947 }, "type_description": { "type_identifier": "t_rational_32_by_1", @@ -39174,11 +39765,12 @@ "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" } - ] + ], + "text": "32" } ], "expression": { - "id": 1947, + "id": 1948, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -39190,7 +39782,7 @@ "start": 37933, "end": 37951, "length": 19, - "parent_index": 1946 + "parent_index": 1947 }, "member_location": { "line": 1149, @@ -39198,10 +39790,10 @@ "start": 37941, "end": 37951, "length": 11, - "parent_index": 1947 + "parent_index": 1948 }, "expression": { - "id": 1948, + "id": 1949, "node_type": 16, "src": { "line": 1149, @@ -39209,7 +39801,7 @@ "start": 37933, "end": 37939, "length": 7, - "parent_index": 1947 + "parent_index": 1948 }, "name": "Strings", "type_description": { @@ -39218,14 +39810,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 637, - "is_pure": false + "is_pure": false, + "text": "Strings" }, "member_name": "toHexString", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Strings_$637", "type_string": "contract Strings" - } + }, + "text": "Strings.toHexString" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -39234,7 +39828,7 @@ } ], "expression": { - "id": 1934, + "id": 1935, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -39246,7 +39840,7 @@ "start": 37728, "end": 37743, "length": 16, - "parent_index": 1933 + "parent_index": 1934 }, "member_location": { "line": 1145, @@ -39254,10 +39848,10 @@ "start": 37732, "end": 37743, "length": 12, - "parent_index": 1934 + "parent_index": 1935 }, "expression": { - "id": 1935, + "id": 1936, "node_type": 16, "src": { "line": 1145, @@ -39265,7 +39859,7 @@ "start": 37728, "end": 37730, "length": 3, - "parent_index": 1934 + "parent_index": 1935 }, "name": "abi", "type_description": { @@ -39274,14 +39868,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -39290,7 +39886,7 @@ } ], "expression": { - "id": 1931, + "id": 1932, "node_type": 16, "src": { "line": 1144, @@ -39298,11 +39894,11 @@ "start": 37700, "end": 37705, "length": 6, - "parent_index": 1930 + "parent_index": 1931 }, "name": "string", "type_name": { - "id": 1932, + "id": 1933, "node_type": 30, "src": { "line": 1144, @@ -39310,7 +39906,7 @@ "start": 37700, "end": 37705, "length": 6, - "parent_index": 1931 + "parent_index": 1932 }, "name": "string", "referenced_declaration": 0, @@ -39331,7 +39927,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -39340,7 +39937,7 @@ } ], "expression": { - "id": 1929, + "id": 1930, "node_type": 16, "src": { "line": 1143, @@ -39348,7 +39945,7 @@ "start": 37676, "end": 37681, "length": 6, - "parent_index": 1928 + "parent_index": 1929 }, "name": "revert", "type_description": { @@ -39357,7 +39954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revert" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$_t_function_$_t_function_$_t_address$_t_rational_20_by_1$_t_string_literal$_t_function_$_t_function_$_t_bytes32$_t_rational_32_by_1$", @@ -39376,7 +39974,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1914, + "id": 1915, "node_type": 43, "src": { "line": 1141, @@ -39384,11 +39982,11 @@ "start": 37578, "end": 37606, "length": 29, - "parent_index": 1913 + "parent_index": 1914 }, "parameters": [ { - "id": 1915, + "id": 1916, "node_type": 44, "src": { "line": 1141, @@ -39396,12 +39994,12 @@ "start": 37578, "end": 37589, "length": 12, - "parent_index": 1914 + "parent_index": 1915 }, - "scope": 1913, + "scope": 1914, "name": "role", "type_name": { - "id": 1916, + "id": 1917, "node_type": 30, "src": { "line": 1141, @@ -39409,7 +40007,7 @@ "start": 37578, "end": 37584, "length": 7, - "parent_index": 1915 + "parent_index": 1916 }, "name": "bytes32", "referenced_declaration": 0, @@ -39427,7 +40025,7 @@ } }, { - "id": 1917, + "id": 1918, "node_type": 44, "src": { "line": 1141, @@ -39435,12 +40033,12 @@ "start": 37592, "end": 37606, "length": 15, - "parent_index": 1914 + "parent_index": 1915 }, - "scope": 1913, + "scope": 1914, "name": "account", "type_name": { - "id": 1918, + "id": 1919, "node_type": 30, "src": { "line": 1141, @@ -39448,7 +40046,7 @@ "start": 37592, "end": 37598, "length": 7, - "parent_index": 1917 + "parent_index": 1918 }, "name": "address", "state_mutability": 4, @@ -39479,7 +40077,7 @@ ] }, "return_parameters": { - "id": 1919, + "id": 1920, "node_type": 43, "src": { "line": 1141, @@ -39487,21 +40085,22 @@ "start": 37558, "end": 38041, "length": 484, - "parent_index": 1913 + "parent_index": 1914 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_checkRole(bytes32, address)", - "signature": "ad90b429", + "signature_raw": "_checkRole(bytes32,address)", + "signature": "5b7b2c38", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_checkRole(bytes32role,addressaccount)internalview{if(!hasRole(role,account)){revert(string(abi.encodePacked(\"AccessControl: account \",Strings.toHexString(uint160(account),20),\" is missing role \",Strings.toHexString(uint256(role),32))));}}" }, { - "id": 1955, + "id": 1956, "name": "getRoleAdmin", "node_type": 42, "kind": 41, @@ -39519,10 +40118,10 @@ "start": 38232, "end": 38243, "length": 12, - "parent_index": 1955 + "parent_index": 1956 }, "body": { - "id": 1963, + "id": 1964, "node_type": 46, "kind": 0, "src": { @@ -39531,12 +40130,12 @@ "start": 38298, "end": 38343, "length": 46, - "parent_index": 1955 + "parent_index": 1956 }, "implemented": true, "statements": [ { - "id": 1964, + "id": 1965, "node_type": 47, "src": { "line": 1163, @@ -39544,11 +40143,11 @@ "start": 38308, "end": 38337, "length": 30, - "parent_index": 1955 + "parent_index": 1956 }, - "function_return_parameters": 1955, + "function_return_parameters": 1956, "expression": { - "id": 1965, + "id": 1966, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -39560,7 +40159,7 @@ "start": 38315, "end": 38336, "length": 22, - "parent_index": 1964 + "parent_index": 1965 }, "member_location": { "line": 1163, @@ -39568,10 +40167,10 @@ "start": 38328, "end": 38336, "length": 9, - "parent_index": 1965 + "parent_index": 1966 }, "expression": { - "id": 1966, + "id": 1967, "node_type": 22, "src": { "line": 1163, @@ -39579,10 +40178,10 @@ "start": 38315, "end": 38326, "length": 12, - "parent_index": 1965 + "parent_index": 1966 }, "index_expression": { - "id": 1967, + "id": 1968, "node_type": 16, "src": { "line": 1163, @@ -39590,19 +40189,20 @@ "start": 38315, "end": 38320, "length": 6, - "parent_index": 1966 + "parent_index": 1967 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 1968, + "id": 1969, "node_type": 16, "src": { "line": 1163, @@ -39610,7 +40210,7 @@ "start": 38322, "end": 38325, "length": 4, - "parent_index": 1966 + "parent_index": 1967 }, "name": "role", "type_description": { @@ -39618,12 +40218,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1968, - "is_pure": false + "referenced_declaration": 1969, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -39632,16 +40233,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "adminRole", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole" } } ] @@ -39653,7 +40255,7 @@ "modifiers": [], "overrides": [ { - "id": 1959, + "id": 1960, "node_type": 63, "src": { "line": 1162, @@ -39661,7 +40263,7 @@ "start": 38271, "end": 38278, "length": 8, - "parent_index": 1955 + "parent_index": 1956 }, "overrides": [], "referenced_declaration": 0, @@ -39672,7 +40274,7 @@ } ], "parameters": { - "id": 1956, + "id": 1957, "node_type": 43, "src": { "line": 1162, @@ -39680,11 +40282,11 @@ "start": 38245, "end": 38256, "length": 12, - "parent_index": 1955 + "parent_index": 1956 }, "parameters": [ { - "id": 1957, + "id": 1958, "node_type": 44, "src": { "line": 1162, @@ -39692,12 +40294,12 @@ "start": 38245, "end": 38256, "length": 12, - "parent_index": 1956 + "parent_index": 1957 }, - "scope": 1955, + "scope": 1956, "name": "role", "type_name": { - "id": 1958, + "id": 1959, "node_type": 30, "src": { "line": 1162, @@ -39705,7 +40307,7 @@ "start": 38245, "end": 38251, "length": 7, - "parent_index": 1957 + "parent_index": 1958 }, "name": "bytes32", "referenced_declaration": 0, @@ -39731,7 +40333,7 @@ ] }, "return_parameters": { - "id": 1960, + "id": 1961, "node_type": 43, "src": { "line": 1162, @@ -39739,11 +40341,11 @@ "start": 38289, "end": 38295, "length": 7, - "parent_index": 1955 + "parent_index": 1956 }, "parameters": [ { - "id": 1961, + "id": 1962, "node_type": 44, "src": { "line": 1162, @@ -39751,12 +40353,12 @@ "start": 38289, "end": 38295, "length": 7, - "parent_index": 1960 + "parent_index": 1961 }, - "scope": 1955, + "scope": 1956, "name": "", "type_name": { - "id": 1962, + "id": 1963, "node_type": 30, "src": { "line": 1162, @@ -39764,7 +40366,7 @@ "start": 38289, "end": 38295, "length": 7, - "parent_index": 1961 + "parent_index": 1962 }, "name": "bytes32", "referenced_declaration": 0, @@ -39795,10 +40397,11 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetRoleAdmin(bytes32role)publicviewoverridereturns(bytes32){return_roles[role].adminRole;}" }, { - "id": 1970, + "id": 1971, "name": "grantRole", "node_type": 42, "kind": 41, @@ -39816,10 +40419,10 @@ "start": 38603, "end": 38611, "length": 9, - "parent_index": 1970 + "parent_index": 1971 }, "body": { - "id": 1983, + "id": 1984, "node_type": 46, "kind": 0, "src": { @@ -39828,12 +40431,12 @@ "start": 38697, "end": 38738, "length": 42, - "parent_index": 1970 + "parent_index": 1971 }, "implemented": true, "statements": [ { - "id": 1984, + "id": 1985, "node_type": 24, "kind": 24, "src": { @@ -39842,7 +40445,7 @@ "start": 38707, "end": 38731, "length": 25, - "parent_index": 1983 + "parent_index": 1984 }, "argument_types": [ { @@ -39856,7 +40459,7 @@ ], "arguments": [ { - "id": 1986, + "id": 1987, "node_type": 16, "src": { "line": 1177, @@ -39864,7 +40467,7 @@ "start": 38718, "end": 38721, "length": 4, - "parent_index": 1984 + "parent_index": 1985 }, "name": "role", "type_description": { @@ -39872,11 +40475,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1986, - "is_pure": false + "referenced_declaration": 1987, + "is_pure": false, + "text": "role" }, { - "id": 1987, + "id": 1988, "node_type": 16, "src": { "line": 1177, @@ -39884,7 +40488,7 @@ "start": 38724, "end": 38730, "length": 7, - "parent_index": 1984 + "parent_index": 1985 }, "name": "account", "type_description": { @@ -39892,18 +40496,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1987, + "referenced_declaration": 1988, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 1985, + "id": 1986, "node_type": 16, "src": { "line": 1177, @@ -39911,7 +40516,7 @@ "start": 38707, "end": 38716, "length": 10, - "parent_index": 1984 + "parent_index": 1985 }, "name": "_grantRole", "type_description": { @@ -39920,7 +40525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -39935,7 +40541,7 @@ "virtual": true, "modifiers": [ { - "id": 1976, + "id": 1977, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -39945,7 +40551,7 @@ "start": 38668, "end": 38695, "length": 28, - "parent_index": 1970 + "parent_index": 1971 }, "argument_types": [ { @@ -39955,7 +40561,7 @@ ], "arguments": [ { - "id": 1978, + "id": 1979, "node_type": 24, "kind": 24, "src": { @@ -39964,7 +40570,7 @@ "start": 38677, "end": 38694, "length": 18, - "parent_index": 1976 + "parent_index": 1977 }, "argument_types": [ { @@ -39974,7 +40580,7 @@ ], "arguments": [ { - "id": 1980, + "id": 1981, "node_type": 16, "src": { "line": 1176, @@ -39982,7 +40588,7 @@ "start": 38690, "end": 38693, "length": 4, - "parent_index": 1978 + "parent_index": 1979 }, "name": "role", "type_description": { @@ -39990,12 +40596,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1980, - "is_pure": false + "referenced_declaration": 1981, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 1979, + "id": 1980, "node_type": 16, "src": { "line": 1176, @@ -40003,7 +40610,7 @@ "start": 38677, "end": 38688, "length": 12, - "parent_index": 1978 + "parent_index": 1979 }, "name": "getRoleAdmin", "type_description": { @@ -40012,7 +40619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -40021,7 +40629,7 @@ } ], "modifier_name": { - "id": 1977, + "id": 1978, "name": "onlyRole", "node_type": 0, "src": { @@ -40030,14 +40638,14 @@ "start": 38668, "end": 38675, "length": 8, - "parent_index": 1976 + "parent_index": 1977 } } } ], "overrides": [ { - "id": 1981, + "id": 1982, "node_type": 63, "src": { "line": 1176, @@ -40045,7 +40653,7 @@ "start": 38659, "end": 38666, "length": 8, - "parent_index": 1970 + "parent_index": 1971 }, "overrides": [], "referenced_declaration": 0, @@ -40056,7 +40664,7 @@ } ], "parameters": { - "id": 1971, + "id": 1972, "node_type": 43, "src": { "line": 1176, @@ -40064,11 +40672,11 @@ "start": 38613, "end": 38641, "length": 29, - "parent_index": 1970 + "parent_index": 1971 }, "parameters": [ { - "id": 1972, + "id": 1973, "node_type": 44, "src": { "line": 1176, @@ -40076,12 +40684,12 @@ "start": 38613, "end": 38624, "length": 12, - "parent_index": 1971 + "parent_index": 1972 }, - "scope": 1970, + "scope": 1971, "name": "role", "type_name": { - "id": 1973, + "id": 1974, "node_type": 30, "src": { "line": 1176, @@ -40089,7 +40697,7 @@ "start": 38613, "end": 38619, "length": 7, - "parent_index": 1972 + "parent_index": 1973 }, "name": "bytes32", "referenced_declaration": 0, @@ -40107,7 +40715,7 @@ } }, { - "id": 1974, + "id": 1975, "node_type": 44, "src": { "line": 1176, @@ -40115,12 +40723,12 @@ "start": 38627, "end": 38641, "length": 15, - "parent_index": 1971 + "parent_index": 1972 }, - "scope": 1970, + "scope": 1971, "name": "account", "type_name": { - "id": 1975, + "id": 1976, "node_type": 30, "src": { "line": 1176, @@ -40128,7 +40736,7 @@ "start": 38627, "end": 38633, "length": 7, - "parent_index": 1974 + "parent_index": 1975 }, "name": "address", "state_mutability": 4, @@ -40159,7 +40767,7 @@ ] }, "return_parameters": { - "id": 1982, + "id": 1983, "node_type": 43, "src": { "line": 1176, @@ -40167,21 +40775,22 @@ "start": 38594, "end": 38738, "length": 145, - "parent_index": 1970 + "parent_index": 1971 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "grantRole(bytes32, address)", - "signature": "44f0a842", + "signature_raw": "grantRole(bytes32,address)", + "signature": "2f2ff15d", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functiongrantRole(bytes32role,addressaccount)publicvirtualoverrideonlyRole(getRoleAdmin(role)){_grantRole(role,account);}" }, { - "id": 1989, + "id": 1990, "name": "revokeRole", "node_type": 42, "kind": 41, @@ -40199,10 +40808,10 @@ "start": 38982, "end": 38991, "length": 10, - "parent_index": 1989 + "parent_index": 1990 }, "body": { - "id": 2002, + "id": 2003, "node_type": 46, "kind": 0, "src": { @@ -40211,12 +40820,12 @@ "start": 39077, "end": 39119, "length": 43, - "parent_index": 1989 + "parent_index": 1990 }, "implemented": true, "statements": [ { - "id": 2003, + "id": 2004, "node_type": 24, "kind": 24, "src": { @@ -40225,7 +40834,7 @@ "start": 39087, "end": 39112, "length": 26, - "parent_index": 2002 + "parent_index": 2003 }, "argument_types": [ { @@ -40239,7 +40848,7 @@ ], "arguments": [ { - "id": 2005, + "id": 2006, "node_type": 16, "src": { "line": 1190, @@ -40247,7 +40856,7 @@ "start": 39099, "end": 39102, "length": 4, - "parent_index": 2003 + "parent_index": 2004 }, "name": "role", "type_description": { @@ -40255,11 +40864,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2005, - "is_pure": false + "referenced_declaration": 2006, + "is_pure": false, + "text": "role" }, { - "id": 2006, + "id": 2007, "node_type": 16, "src": { "line": 1190, @@ -40267,7 +40877,7 @@ "start": 39105, "end": 39111, "length": 7, - "parent_index": 2003 + "parent_index": 2004 }, "name": "account", "type_description": { @@ -40275,18 +40885,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2006, + "referenced_declaration": 2007, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2004, + "id": 2005, "node_type": 16, "src": { "line": 1190, @@ -40294,7 +40905,7 @@ "start": 39087, "end": 39097, "length": 11, - "parent_index": 2003 + "parent_index": 2004 }, "name": "_revokeRole", "type_description": { @@ -40303,7 +40914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_revokeRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -40318,7 +40930,7 @@ "virtual": true, "modifiers": [ { - "id": 1995, + "id": 1996, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -40328,7 +40940,7 @@ "start": 39048, "end": 39075, "length": 28, - "parent_index": 1989 + "parent_index": 1990 }, "argument_types": [ { @@ -40338,7 +40950,7 @@ ], "arguments": [ { - "id": 1997, + "id": 1998, "node_type": 24, "kind": 24, "src": { @@ -40347,7 +40959,7 @@ "start": 39057, "end": 39074, "length": 18, - "parent_index": 1995 + "parent_index": 1996 }, "argument_types": [ { @@ -40357,7 +40969,7 @@ ], "arguments": [ { - "id": 1999, + "id": 2000, "node_type": 16, "src": { "line": 1189, @@ -40365,7 +40977,7 @@ "start": 39070, "end": 39073, "length": 4, - "parent_index": 1997 + "parent_index": 1998 }, "name": "role", "type_description": { @@ -40373,12 +40985,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 1999, - "is_pure": false + "referenced_declaration": 2000, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 1998, + "id": 1999, "node_type": 16, "src": { "line": 1189, @@ -40386,7 +40999,7 @@ "start": 39057, "end": 39068, "length": 12, - "parent_index": 1997 + "parent_index": 1998 }, "name": "getRoleAdmin", "type_description": { @@ -40395,7 +41008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -40404,7 +41018,7 @@ } ], "modifier_name": { - "id": 1996, + "id": 1997, "name": "onlyRole", "node_type": 0, "src": { @@ -40413,14 +41027,14 @@ "start": 39048, "end": 39055, "length": 8, - "parent_index": 1995 + "parent_index": 1996 } } } ], "overrides": [ { - "id": 2000, + "id": 2001, "node_type": 63, "src": { "line": 1189, @@ -40428,7 +41042,7 @@ "start": 39039, "end": 39046, "length": 8, - "parent_index": 1989 + "parent_index": 1990 }, "overrides": [], "referenced_declaration": 0, @@ -40439,7 +41053,7 @@ } ], "parameters": { - "id": 1990, + "id": 1991, "node_type": 43, "src": { "line": 1189, @@ -40447,11 +41061,11 @@ "start": 38993, "end": 39021, "length": 29, - "parent_index": 1989 + "parent_index": 1990 }, "parameters": [ { - "id": 1991, + "id": 1992, "node_type": 44, "src": { "line": 1189, @@ -40459,12 +41073,12 @@ "start": 38993, "end": 39004, "length": 12, - "parent_index": 1990 + "parent_index": 1991 }, - "scope": 1989, + "scope": 1990, "name": "role", "type_name": { - "id": 1992, + "id": 1993, "node_type": 30, "src": { "line": 1189, @@ -40472,7 +41086,7 @@ "start": 38993, "end": 38999, "length": 7, - "parent_index": 1991 + "parent_index": 1992 }, "name": "bytes32", "referenced_declaration": 0, @@ -40490,7 +41104,7 @@ } }, { - "id": 1993, + "id": 1994, "node_type": 44, "src": { "line": 1189, @@ -40498,12 +41112,12 @@ "start": 39007, "end": 39021, "length": 15, - "parent_index": 1990 + "parent_index": 1991 }, - "scope": 1989, + "scope": 1990, "name": "account", "type_name": { - "id": 1994, + "id": 1995, "node_type": 30, "src": { "line": 1189, @@ -40511,7 +41125,7 @@ "start": 39007, "end": 39013, "length": 7, - "parent_index": 1993 + "parent_index": 1994 }, "name": "address", "state_mutability": 4, @@ -40542,7 +41156,7 @@ ] }, "return_parameters": { - "id": 2001, + "id": 2002, "node_type": 43, "src": { "line": 1189, @@ -40550,21 +41164,22 @@ "start": 38973, "end": 39119, "length": 147, - "parent_index": 1989 + "parent_index": 1990 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "revokeRole(bytes32, address)", - "signature": "b3252796", + "signature_raw": "revokeRole(bytes32,address)", + "signature": "d547741f", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrevokeRole(bytes32role,addressaccount)publicvirtualoverrideonlyRole(getRoleAdmin(role)){_revokeRole(role,account);}" }, { - "id": 2008, + "id": 2009, "name": "renounceRole", "node_type": 42, "kind": 41, @@ -40582,10 +41197,10 @@ "start": 39620, "end": 39631, "length": 12, - "parent_index": 2008 + "parent_index": 2009 }, "body": { - "id": 2016, + "id": 2017, "node_type": 46, "kind": 0, "src": { @@ -40594,12 +41209,12 @@ "start": 39688, "end": 39824, "length": 137, - "parent_index": 2008 + "parent_index": 2009 }, "implemented": true, "statements": [ { - "id": 2017, + "id": 2018, "node_type": 24, "kind": 24, "src": { @@ -40608,7 +41223,7 @@ "start": 39698, "end": 39780, "length": 83, - "parent_index": 2016 + "parent_index": 2017 }, "argument_types": [ { @@ -40622,7 +41237,7 @@ ], "arguments": [ { - "id": 2019, + "id": 2020, "is_constant": false, "is_pure": false, "node_type": 19, @@ -40632,11 +41247,11 @@ "start": 39706, "end": 39728, "length": 23, - "parent_index": 2017 + "parent_index": 2018 }, "operator": 11, "left_expression": { - "id": 2020, + "id": 2021, "node_type": 16, "src": { "line": 1208, @@ -40644,7 +41259,7 @@ "start": 39706, "end": 39712, "length": 7, - "parent_index": 2019 + "parent_index": 2020 }, "name": "account", "type_description": { @@ -40652,11 +41267,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2020, - "is_pure": false + "referenced_declaration": 2021, + "is_pure": false, + "text": "account" }, "right_expression": { - "id": 2021, + "id": 2022, "node_type": 24, "kind": 24, "src": { @@ -40665,12 +41281,12 @@ "start": 39717, "end": 39728, "length": 12, - "parent_index": 2019 + "parent_index": 2020 }, "argument_types": [], "arguments": [], "expression": { - "id": 2022, + "id": 2023, "node_type": 16, "src": { "line": 1208, @@ -40678,7 +41294,7 @@ "start": 39717, "end": 39726, "length": 10, - "parent_index": 2021 + "parent_index": 2022 }, "name": "_msgSender", "type_description": { @@ -40687,7 +41303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -40700,7 +41317,7 @@ } }, { - "id": 2023, + "id": 2024, "node_type": 17, "kind": 50, "value": "AccessControl: can only renounce roles for self", @@ -40711,7 +41328,7 @@ "start": 39731, "end": 39779, "length": 49, - "parent_index": 2017 + "parent_index": 2018 }, "type_description": { "type_identifier": "t_string_literal", @@ -40725,11 +41342,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"AccessControl: can only renounce roles for self\"" } ], "expression": { - "id": 2018, + "id": 2019, "node_type": 16, "src": { "line": 1208, @@ -40737,7 +41355,7 @@ "start": 39698, "end": 39704, "length": 7, - "parent_index": 2017 + "parent_index": 2018 }, "name": "require", "type_description": { @@ -40746,7 +41364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -40754,7 +41373,7 @@ } }, { - "id": 2024, + "id": 2025, "node_type": 24, "kind": 24, "src": { @@ -40763,7 +41382,7 @@ "start": 39792, "end": 39817, "length": 26, - "parent_index": 2016 + "parent_index": 2017 }, "argument_types": [ { @@ -40777,7 +41396,7 @@ ], "arguments": [ { - "id": 2026, + "id": 2027, "node_type": 16, "src": { "line": 1210, @@ -40785,7 +41404,7 @@ "start": 39804, "end": 39807, "length": 4, - "parent_index": 2024 + "parent_index": 2025 }, "name": "role", "type_description": { @@ -40793,11 +41412,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2026, - "is_pure": false + "referenced_declaration": 2027, + "is_pure": false, + "text": "role" }, { - "id": 2027, + "id": 2028, "node_type": 16, "src": { "line": 1210, @@ -40805,7 +41425,7 @@ "start": 39810, "end": 39816, "length": 7, - "parent_index": 2024 + "parent_index": 2025 }, "name": "account", "type_description": { @@ -40813,18 +41433,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2027, + "referenced_declaration": 2028, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2025, + "id": 2026, "node_type": 16, "src": { "line": 1210, @@ -40832,7 +41453,7 @@ "start": 39792, "end": 39802, "length": 11, - "parent_index": 2024 + "parent_index": 2025 }, "name": "_revokeRole", "type_description": { @@ -40841,7 +41462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_revokeRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -40857,7 +41479,7 @@ "modifiers": [], "overrides": [ { - "id": 2014, + "id": 2015, "node_type": 63, "src": { "line": 1207, @@ -40865,7 +41487,7 @@ "start": 39679, "end": 39686, "length": 8, - "parent_index": 2008 + "parent_index": 2009 }, "overrides": [], "referenced_declaration": 0, @@ -40876,7 +41498,7 @@ } ], "parameters": { - "id": 2009, + "id": 2010, "node_type": 43, "src": { "line": 1207, @@ -40884,11 +41506,11 @@ "start": 39633, "end": 39661, "length": 29, - "parent_index": 2008 + "parent_index": 2009 }, "parameters": [ { - "id": 2010, + "id": 2011, "node_type": 44, "src": { "line": 1207, @@ -40896,12 +41518,12 @@ "start": 39633, "end": 39644, "length": 12, - "parent_index": 2009 + "parent_index": 2010 }, - "scope": 2008, + "scope": 2009, "name": "role", "type_name": { - "id": 2011, + "id": 2012, "node_type": 30, "src": { "line": 1207, @@ -40909,7 +41531,7 @@ "start": 39633, "end": 39639, "length": 7, - "parent_index": 2010 + "parent_index": 2011 }, "name": "bytes32", "referenced_declaration": 0, @@ -40927,7 +41549,7 @@ } }, { - "id": 2012, + "id": 2013, "node_type": 44, "src": { "line": 1207, @@ -40935,12 +41557,12 @@ "start": 39647, "end": 39661, "length": 15, - "parent_index": 2009 + "parent_index": 2010 }, - "scope": 2008, + "scope": 2009, "name": "account", "type_name": { - "id": 2013, + "id": 2014, "node_type": 30, "src": { "line": 1207, @@ -40948,7 +41570,7 @@ "start": 39647, "end": 39653, "length": 7, - "parent_index": 2012 + "parent_index": 2013 }, "name": "address", "state_mutability": 4, @@ -40979,7 +41601,7 @@ ] }, "return_parameters": { - "id": 2015, + "id": 2016, "node_type": 43, "src": { "line": 1207, @@ -40987,21 +41609,22 @@ "start": 39611, "end": 39824, "length": 214, - "parent_index": 2008 + "parent_index": 2009 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "renounceRole(bytes32, address)", - "signature": "e8365576", + "signature_raw": "renounceRole(bytes32,address)", + "signature": "36568abe", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "functionrenounceRole(bytes32role,addressaccount)publicvirtualoverride{require(account==_msgSender(),\"AccessControl: can only renounce roles for self\");_revokeRole(role,account);}" }, { - "id": 2029, + "id": 2030, "name": "_setupRole", "node_type": 42, "kind": 41, @@ -41019,10 +41642,10 @@ "start": 40399, "end": 40408, "length": 10, - "parent_index": 2029 + "parent_index": 2030 }, "body": { - "id": 2036, + "id": 2037, "node_type": 46, "kind": 0, "src": { @@ -41031,12 +41654,12 @@ "start": 40458, "end": 40499, "length": 42, - "parent_index": 2029 + "parent_index": 2030 }, "implemented": true, "statements": [ { - "id": 2037, + "id": 2038, "node_type": 24, "kind": 24, "src": { @@ -41045,7 +41668,7 @@ "start": 40468, "end": 40492, "length": 25, - "parent_index": 2036 + "parent_index": 2037 }, "argument_types": [ { @@ -41059,7 +41682,7 @@ ], "arguments": [ { - "id": 2039, + "id": 2040, "node_type": 16, "src": { "line": 1230, @@ -41067,7 +41690,7 @@ "start": 40479, "end": 40482, "length": 4, - "parent_index": 2037 + "parent_index": 2038 }, "name": "role", "type_description": { @@ -41075,11 +41698,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2039, - "is_pure": false + "referenced_declaration": 2040, + "is_pure": false, + "text": "role" }, { - "id": 2040, + "id": 2041, "node_type": 16, "src": { "line": 1230, @@ -41087,7 +41711,7 @@ "start": 40485, "end": 40491, "length": 7, - "parent_index": 2037 + "parent_index": 2038 }, "name": "account", "type_description": { @@ -41095,18 +41719,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2040, + "referenced_declaration": 2041, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2038, + "id": 2039, "node_type": 16, "src": { "line": 1230, @@ -41114,7 +41739,7 @@ "start": 40468, "end": 40477, "length": 10, - "parent_index": 2037 + "parent_index": 2038 }, "name": "_grantRole", "type_description": { @@ -41123,7 +41748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_grantRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -41139,7 +41765,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2030, + "id": 2031, "node_type": 43, "src": { "line": 1229, @@ -41147,11 +41773,11 @@ "start": 40410, "end": 40438, "length": 29, - "parent_index": 2029 + "parent_index": 2030 }, "parameters": [ { - "id": 2031, + "id": 2032, "node_type": 44, "src": { "line": 1229, @@ -41159,12 +41785,12 @@ "start": 40410, "end": 40421, "length": 12, - "parent_index": 2030 + "parent_index": 2031 }, - "scope": 2029, + "scope": 2030, "name": "role", "type_name": { - "id": 2032, + "id": 2033, "node_type": 30, "src": { "line": 1229, @@ -41172,7 +41798,7 @@ "start": 40410, "end": 40416, "length": 7, - "parent_index": 2031 + "parent_index": 2032 }, "name": "bytes32", "referenced_declaration": 0, @@ -41190,7 +41816,7 @@ } }, { - "id": 2033, + "id": 2034, "node_type": 44, "src": { "line": 1229, @@ -41198,12 +41824,12 @@ "start": 40424, "end": 40438, "length": 15, - "parent_index": 2030 + "parent_index": 2031 }, - "scope": 2029, + "scope": 2030, "name": "account", "type_name": { - "id": 2034, + "id": 2035, "node_type": 30, "src": { "line": 1229, @@ -41211,7 +41837,7 @@ "start": 40424, "end": 40430, "length": 7, - "parent_index": 2033 + "parent_index": 2034 }, "name": "address", "state_mutability": 4, @@ -41242,7 +41868,7 @@ ] }, "return_parameters": { - "id": 2035, + "id": 2036, "node_type": 43, "src": { "line": 1229, @@ -41250,21 +41876,22 @@ "start": 40390, "end": 40499, "length": 110, - "parent_index": 2029 + "parent_index": 2030 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_setupRole(bytes32, address)", - "signature": "95e930c8", + "signature_raw": "_setupRole(bytes32,address)", + "signature": "4fa943a6", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_setupRole(bytes32role,addressaccount)internalvirtual{_grantRole(role,account);}" }, { - "id": 2042, + "id": 2043, "name": "_setRoleAdmin", "node_type": 42, "kind": 41, @@ -41282,10 +41909,10 @@ "start": 40634, "end": 40646, "length": 13, - "parent_index": 2042 + "parent_index": 2043 }, "body": { - "id": 2049, + "id": 2050, "node_type": 46, "kind": 0, "src": { @@ -41294,12 +41921,12 @@ "start": 40698, "end": 40816, "length": 119, - "parent_index": 2042 + "parent_index": 2043 }, "implemented": true, "statements": [ { - "id": 2050, + "id": 2051, "node_type": 64, "src": { "line": 1239, @@ -41307,11 +41934,11 @@ "start": 40708, "end": 40766, "length": 59, - "parent_index": 2042 + "parent_index": 2043 }, "arguments": [ { - "id": 2051, + "id": 2052, "node_type": 16, "src": { "line": 1239, @@ -41319,7 +41946,7 @@ "start": 40730, "end": 40733, "length": 4, - "parent_index": 2050 + "parent_index": 2051 }, "name": "role", "type_description": { @@ -41327,11 +41954,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2051, - "is_pure": false + "referenced_declaration": 2052, + "is_pure": false, + "text": "role" }, { - "id": 2052, + "id": 2053, "node_type": 24, "kind": 24, "src": { @@ -41340,7 +41968,7 @@ "start": 40736, "end": 40753, "length": 18, - "parent_index": 2050 + "parent_index": 2051 }, "argument_types": [ { @@ -41350,7 +41978,7 @@ ], "arguments": [ { - "id": 2054, + "id": 2055, "node_type": 16, "src": { "line": 1239, @@ -41358,7 +41986,7 @@ "start": 40749, "end": 40752, "length": 4, - "parent_index": 2052 + "parent_index": 2053 }, "name": "role", "type_description": { @@ -41366,12 +41994,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "role" } ], "expression": { - "id": 2053, + "id": 2054, "node_type": 16, "src": { "line": 1239, @@ -41379,7 +42008,7 @@ "start": 40736, "end": 40747, "length": 12, - "parent_index": 2052 + "parent_index": 2053 }, "name": "getRoleAdmin", "type_description": { @@ -41388,7 +42017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getRoleAdmin" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -41396,7 +42026,7 @@ } }, { - "id": 2055, + "id": 2056, "node_type": 16, "src": { "line": 1239, @@ -41404,7 +42034,7 @@ "start": 40756, "end": 40764, "length": 9, - "parent_index": 2050 + "parent_index": 2051 }, "name": "adminRole", "type_description": { @@ -41412,12 +42042,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2055, - "is_pure": false + "referenced_declaration": 2056, + "is_pure": false, + "text": "adminRole" } ], "expression": { - "id": 2056, + "id": 2057, "node_type": 16, "src": { "line": 1239, @@ -41425,20 +42056,21 @@ "start": 40713, "end": 40728, "length": 16, - "parent_index": 2050 + "parent_index": 2051 }, "name": "RoleAdminChanged", "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261835", + "type_identifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261836", "type_string": "event AccessControl.RoleAdminChanged" }, "overloaded_declarations": [], - "referenced_declaration": 1835, - "is_pure": false + "referenced_declaration": 1836, + "is_pure": false, + "text": "RoleAdminChanged" } }, { - "id": 2057, + "id": 2058, "node_type": 27, "src": { "line": 1240, @@ -41446,10 +42078,10 @@ "start": 40776, "end": 40810, "length": 35, - "parent_index": 2049 + "parent_index": 2050 }, "expression": { - "id": 2058, + "id": 2059, "node_type": 27, "src": { "line": 1240, @@ -41457,11 +42089,11 @@ "start": 40776, "end": 40809, "length": 34, - "parent_index": 2057 + "parent_index": 2058 }, "operator": 11, "left_expression": { - "id": 2059, + "id": 2060, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -41473,7 +42105,7 @@ "start": 40776, "end": 40797, "length": 22, - "parent_index": 2058 + "parent_index": 2059 }, "member_location": { "line": 1240, @@ -41481,10 +42113,10 @@ "start": 40789, "end": 40797, "length": 9, - "parent_index": 2059 + "parent_index": 2060 }, "expression": { - "id": 2060, + "id": 2061, "node_type": 22, "src": { "line": 1240, @@ -41492,10 +42124,10 @@ "start": 40776, "end": 40787, "length": 12, - "parent_index": 2059 + "parent_index": 2060 }, "index_expression": { - "id": 2061, + "id": 2062, "node_type": 16, "src": { "line": 1240, @@ -41503,19 +42135,20 @@ "start": 40776, "end": 40781, "length": 6, - "parent_index": 2060 + "parent_index": 2061 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2062, + "id": 2063, "node_type": 16, "src": { "line": 1240, @@ -41523,7 +42156,7 @@ "start": 40783, "end": 40786, "length": 4, - "parent_index": 2060 + "parent_index": 2061 }, "name": "role", "type_description": { @@ -41531,12 +42164,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2062, - "is_pure": false + "referenced_declaration": 2063, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -41545,19 +42179,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "adminRole", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole" }, "right_expression": { - "id": 2063, + "id": 2064, "node_type": 16, "src": { "line": 1240, @@ -41565,7 +42200,7 @@ "start": 40801, "end": 40809, "length": 9, - "parent_index": 2058 + "parent_index": 2059 }, "name": "adminRole", "type_description": { @@ -41573,18 +42208,20 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2063, - "is_pure": false + "referenced_declaration": 2064, + "is_pure": false, + "text": "adminRole" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].adminRole=adminRole;" } ] }, @@ -41595,7 +42232,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2043, + "id": 2044, "node_type": 43, "src": { "line": 1238, @@ -41603,11 +42240,11 @@ "start": 40648, "end": 40678, "length": 31, - "parent_index": 2042 + "parent_index": 2043 }, "parameters": [ { - "id": 2044, + "id": 2045, "node_type": 44, "src": { "line": 1238, @@ -41615,12 +42252,12 @@ "start": 40648, "end": 40659, "length": 12, - "parent_index": 2043 + "parent_index": 2044 }, - "scope": 2042, + "scope": 2043, "name": "role", "type_name": { - "id": 2045, + "id": 2046, "node_type": 30, "src": { "line": 1238, @@ -41628,7 +42265,7 @@ "start": 40648, "end": 40654, "length": 7, - "parent_index": 2044 + "parent_index": 2045 }, "name": "bytes32", "referenced_declaration": 0, @@ -41646,7 +42283,7 @@ } }, { - "id": 2046, + "id": 2047, "node_type": 44, "src": { "line": 1238, @@ -41654,12 +42291,12 @@ "start": 40662, "end": 40678, "length": 17, - "parent_index": 2043 + "parent_index": 2044 }, - "scope": 2042, + "scope": 2043, "name": "adminRole", "type_name": { - "id": 2047, + "id": 2048, "node_type": 30, "src": { "line": 1238, @@ -41667,7 +42304,7 @@ "start": 40662, "end": 40668, "length": 7, - "parent_index": 2046 + "parent_index": 2047 }, "name": "bytes32", "referenced_declaration": 0, @@ -41697,7 +42334,7 @@ ] }, "return_parameters": { - "id": 2048, + "id": 2049, "node_type": 43, "src": { "line": 1238, @@ -41705,21 +42342,22 @@ "start": 40625, "end": 40816, "length": 192, - "parent_index": 2042 + "parent_index": 2043 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_setRoleAdmin(bytes32, bytes32)", - "signature": "09c75694", + "signature_raw": "_setRoleAdmin(bytes32,bytes32)", + "signature": "7612997d", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_bytes32$", "type_string": "function(bytes32,bytes32)" - } + }, + "text": "function_setRoleAdmin(bytes32role,bytes32adminRole)internalvirtual{emitRoleAdminChanged(role,getRoleAdmin(role),adminRole);_roles[role].adminRole=adminRole;}" }, { - "id": 2065, + "id": 2066, "name": "_grantRole", "node_type": 42, "kind": 41, @@ -41737,10 +42375,10 @@ "start": 40832, "end": 40841, "length": 10, - "parent_index": 2065 + "parent_index": 2066 }, "body": { - "id": 2072, + "id": 2073, "node_type": 46, "kind": 0, "src": { @@ -41749,12 +42387,12 @@ "start": 40882, "end": 41046, "length": 165, - "parent_index": 2065 + "parent_index": 2066 }, "implemented": true, "statements": [ { - "id": 2073, + "id": 2074, "node_type": 48, "src": { "line": 1244, @@ -41762,10 +42400,10 @@ "start": 40892, "end": 41040, "length": 149, - "parent_index": 2072 + "parent_index": 2073 }, "condition": { - "id": 2074, + "id": 2075, "node_type": 18, "kind": 104, "src": { @@ -41774,7 +42412,7 @@ "start": 40896, "end": 40918, "length": 23, - "parent_index": 2065 + "parent_index": 2066 }, "operator": 31, "prefix": false, @@ -41783,7 +42421,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 2075, + "id": 2076, "node_type": 24, "kind": 24, "src": { @@ -41792,7 +42430,7 @@ "start": 40897, "end": 40918, "length": 22, - "parent_index": 2074 + "parent_index": 2075 }, "argument_types": [ { @@ -41806,7 +42444,7 @@ ], "arguments": [ { - "id": 2077, + "id": 2078, "node_type": 16, "src": { "line": 1244, @@ -41814,7 +42452,7 @@ "start": 40905, "end": 40908, "length": 4, - "parent_index": 2075 + "parent_index": 2076 }, "name": "role", "type_description": { @@ -41822,11 +42460,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2077, - "is_pure": false + "referenced_declaration": 2078, + "is_pure": false, + "text": "role" }, { - "id": 2078, + "id": 2079, "node_type": 16, "src": { "line": 1244, @@ -41834,7 +42473,7 @@ "start": 40911, "end": 40917, "length": 7, - "parent_index": 2075 + "parent_index": 2076 }, "name": "account", "type_description": { @@ -41842,18 +42481,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2078, + "referenced_declaration": 2079, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2076, + "id": 2077, "node_type": 16, "src": { "line": 1244, @@ -41861,7 +42501,7 @@ "start": 40897, "end": 40903, "length": 7, - "parent_index": 2075 + "parent_index": 2076 }, "name": "hasRole", "type_description": { @@ -41870,7 +42510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -41883,7 +42524,7 @@ } }, "body": { - "id": 2079, + "id": 2080, "node_type": 46, "kind": 0, "src": { @@ -41892,12 +42533,12 @@ "start": 40921, "end": 41040, "length": 120, - "parent_index": 2065 + "parent_index": 2066 }, "implemented": true, "statements": [ { - "id": 2080, + "id": 2081, "node_type": 27, "src": { "line": 1245, @@ -41905,10 +42546,10 @@ "start": 40935, "end": 40971, "length": 37, - "parent_index": 2079 + "parent_index": 2080 }, "expression": { - "id": 2081, + "id": 2082, "node_type": 27, "src": { "line": 1245, @@ -41916,11 +42557,11 @@ "start": 40935, "end": 40970, "length": 36, - "parent_index": 2080 + "parent_index": 2081 }, "operator": 11, "left_expression": { - "id": 2082, + "id": 2083, "node_type": 22, "src": { "line": 1245, @@ -41928,10 +42569,10 @@ "start": 40935, "end": 40963, "length": 29, - "parent_index": 2081 + "parent_index": 2082 }, "index_expression": { - "id": 2083, + "id": 2084, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -41943,7 +42584,7 @@ "start": 40935, "end": 40954, "length": 20, - "parent_index": 2082 + "parent_index": 2083 }, "member_location": { "line": 1245, @@ -41951,10 +42592,10 @@ "start": 40948, "end": 40954, "length": 7, - "parent_index": 2083 + "parent_index": 2084 }, "expression": { - "id": 2084, + "id": 2085, "node_type": 22, "src": { "line": 1245, @@ -41962,10 +42603,10 @@ "start": 40935, "end": 40946, "length": 12, - "parent_index": 2083 + "parent_index": 2084 }, "index_expression": { - "id": 2085, + "id": 2086, "node_type": 16, "src": { "line": 1245, @@ -41973,19 +42614,20 @@ "start": 40935, "end": 40940, "length": 6, - "parent_index": 2084 + "parent_index": 2085 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2086, + "id": 2087, "node_type": 16, "src": { "line": 1245, @@ -41993,7 +42635,7 @@ "start": 40942, "end": 40945, "length": 4, - "parent_index": 2084 + "parent_index": 2085 }, "name": "role", "type_description": { @@ -42001,12 +42643,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2086, - "is_pure": false + "referenced_declaration": 2087, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -42015,19 +42658,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2087, + "id": 2088, "node_type": 16, "src": { "line": 1245, @@ -42035,7 +42679,7 @@ "start": 40956, "end": 40962, "length": 7, - "parent_index": 2082 + "parent_index": 2083 }, "name": "account", "type_description": { @@ -42043,12 +42687,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2087, - "is_pure": false + "referenced_declaration": 2088, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -42057,12 +42702,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "right_expression": { - "id": 2088, + "id": 2089, "node_type": 17, "kind": 61, "value": "true", @@ -42073,7 +42718,7 @@ "start": 40967, "end": 40970, "length": 4, - "parent_index": 2081 + "parent_index": 2082 }, "type_description": { "type_identifier": "t_bool", @@ -42081,20 +42726,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" - } + }, + "text": "_roles[role].members[account]=true;" }, { - "id": 2089, + "id": 2090, "node_type": 64, "src": { "line": 1246, @@ -42102,11 +42749,11 @@ "start": 40985, "end": 41030, "length": 46, - "parent_index": 2065 + "parent_index": 2066 }, "arguments": [ { - "id": 2090, + "id": 2091, "node_type": 16, "src": { "line": 1246, @@ -42114,7 +42761,7 @@ "start": 41002, "end": 41005, "length": 4, - "parent_index": 2089 + "parent_index": 2090 }, "name": "role", "type_description": { @@ -42122,11 +42769,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2090, - "is_pure": false + "referenced_declaration": 2091, + "is_pure": false, + "text": "role" }, { - "id": 2091, + "id": 2092, "node_type": 16, "src": { "line": 1246, @@ -42134,7 +42782,7 @@ "start": 41008, "end": 41014, "length": 7, - "parent_index": 2089 + "parent_index": 2090 }, "name": "account", "type_description": { @@ -42142,11 +42790,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2091, - "is_pure": false + "referenced_declaration": 2092, + "is_pure": false, + "text": "account" }, { - "id": 2092, + "id": 2093, "node_type": 24, "kind": 24, "src": { @@ -42155,12 +42804,12 @@ "start": 41017, "end": 41028, "length": 12, - "parent_index": 2089 + "parent_index": 2090 }, "argument_types": [], "arguments": [], "expression": { - "id": 2093, + "id": 2094, "node_type": 16, "src": { "line": 1246, @@ -42168,7 +42817,7 @@ "start": 41017, "end": 41026, "length": 10, - "parent_index": 2092 + "parent_index": 2093 }, "name": "_msgSender", "type_description": { @@ -42177,7 +42826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -42186,7 +42836,7 @@ } ], "expression": { - "id": 2094, + "id": 2095, "node_type": 16, "src": { "line": 1246, @@ -42194,16 +42844,17 @@ "start": 40990, "end": 41000, "length": 11, - "parent_index": 2089 + "parent_index": 2090 }, "name": "RoleGranted", "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleGranted_\u00261844", + "type_identifier": "t_event\u0026_AccessControl_RoleGranted_\u00261845", "type_string": "event AccessControl.RoleGranted" }, "overloaded_declarations": [], - "referenced_declaration": 1844, - "is_pure": false + "referenced_declaration": 1845, + "is_pure": false, + "text": "RoleGranted" } } ] @@ -42218,7 +42869,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2066, + "id": 2067, "node_type": 43, "src": { "line": 1243, @@ -42226,11 +42877,11 @@ "start": 40843, "end": 40871, "length": 29, - "parent_index": 2065 + "parent_index": 2066 }, "parameters": [ { - "id": 2067, + "id": 2068, "node_type": 44, "src": { "line": 1243, @@ -42238,12 +42889,12 @@ "start": 40843, "end": 40854, "length": 12, - "parent_index": 2066 + "parent_index": 2067 }, - "scope": 2065, + "scope": 2066, "name": "role", "type_name": { - "id": 2068, + "id": 2069, "node_type": 30, "src": { "line": 1243, @@ -42251,7 +42902,7 @@ "start": 40843, "end": 40849, "length": 7, - "parent_index": 2067 + "parent_index": 2068 }, "name": "bytes32", "referenced_declaration": 0, @@ -42269,7 +42920,7 @@ } }, { - "id": 2069, + "id": 2070, "node_type": 44, "src": { "line": 1243, @@ -42277,12 +42928,12 @@ "start": 40857, "end": 40871, "length": 15, - "parent_index": 2066 + "parent_index": 2067 }, - "scope": 2065, + "scope": 2066, "name": "account", "type_name": { - "id": 2070, + "id": 2071, "node_type": 30, "src": { "line": 1243, @@ -42290,7 +42941,7 @@ "start": 40857, "end": 40863, "length": 7, - "parent_index": 2069 + "parent_index": 2070 }, "name": "address", "state_mutability": 4, @@ -42321,7 +42972,7 @@ ] }, "return_parameters": { - "id": 2071, + "id": 2072, "node_type": 43, "src": { "line": 1243, @@ -42329,21 +42980,22 @@ "start": 40823, "end": 41046, "length": 224, - "parent_index": 2065 + "parent_index": 2066 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_grantRole(bytes32, address)", - "signature": "389027d9", + "signature_raw": "_grantRole(bytes32,address)", + "signature": "ce2cc1d0", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_grantRole(bytes32role,addressaccount)private{if(!hasRole(role,account)){_roles[role].members[account]=true;emitRoleGranted(role,account,_msgSender());}}" }, { - "id": 2096, + "id": 2097, "name": "_revokeRole", "node_type": 42, "kind": 41, @@ -42361,10 +43013,10 @@ "start": 41062, "end": 41072, "length": 11, - "parent_index": 2096 + "parent_index": 2097 }, "body": { - "id": 2103, + "id": 2104, "node_type": 46, "kind": 0, "src": { @@ -42373,12 +43025,12 @@ "start": 41113, "end": 41277, "length": 165, - "parent_index": 2096 + "parent_index": 2097 }, "implemented": true, "statements": [ { - "id": 2104, + "id": 2105, "node_type": 48, "src": { "line": 1251, @@ -42386,10 +43038,10 @@ "start": 41123, "end": 41271, "length": 149, - "parent_index": 2103 + "parent_index": 2104 }, "condition": { - "id": 2105, + "id": 2106, "node_type": 24, "kind": 24, "src": { @@ -42398,7 +43050,7 @@ "start": 41127, "end": 41148, "length": 22, - "parent_index": 2104 + "parent_index": 2105 }, "argument_types": [ { @@ -42412,7 +43064,7 @@ ], "arguments": [ { - "id": 2107, + "id": 2108, "node_type": 16, "src": { "line": 1251, @@ -42420,7 +43072,7 @@ "start": 41135, "end": 41138, "length": 4, - "parent_index": 2105 + "parent_index": 2106 }, "name": "role", "type_description": { @@ -42428,11 +43080,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2107, - "is_pure": false + "referenced_declaration": 2108, + "is_pure": false, + "text": "role" }, { - "id": 2108, + "id": 2109, "node_type": 16, "src": { "line": 1251, @@ -42440,7 +43093,7 @@ "start": 41141, "end": 41147, "length": 7, - "parent_index": 2105 + "parent_index": 2106 }, "name": "account", "type_description": { @@ -42448,18 +43101,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2108, + "referenced_declaration": 2109, "is_pure": false, "argument_types": [ { "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "account" } ], "expression": { - "id": 2106, + "id": 2107, "node_type": 16, "src": { "line": 1251, @@ -42467,7 +43121,7 @@ "start": 41127, "end": 41133, "length": 7, - "parent_index": 2105 + "parent_index": 2106 }, "name": "hasRole", "type_description": { @@ -42476,7 +43130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "hasRole" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", @@ -42484,7 +43139,7 @@ } }, "body": { - "id": 2109, + "id": 2110, "node_type": 46, "kind": 0, "src": { @@ -42493,12 +43148,12 @@ "start": 41151, "end": 41271, "length": 121, - "parent_index": 2096 + "parent_index": 2097 }, "implemented": true, "statements": [ { - "id": 2110, + "id": 2111, "node_type": 27, "src": { "line": 1252, @@ -42506,10 +43161,10 @@ "start": 41165, "end": 41202, "length": 38, - "parent_index": 2109 + "parent_index": 2110 }, "expression": { - "id": 2111, + "id": 2112, "node_type": 27, "src": { "line": 1252, @@ -42517,11 +43172,11 @@ "start": 41165, "end": 41201, "length": 37, - "parent_index": 2110 + "parent_index": 2111 }, "operator": 11, "left_expression": { - "id": 2112, + "id": 2113, "node_type": 22, "src": { "line": 1252, @@ -42529,10 +43184,10 @@ "start": 41165, "end": 41193, "length": 29, - "parent_index": 2111 + "parent_index": 2112 }, "index_expression": { - "id": 2113, + "id": 2114, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -42544,7 +43199,7 @@ "start": 41165, "end": 41184, "length": 20, - "parent_index": 2112 + "parent_index": 2113 }, "member_location": { "line": 1252, @@ -42552,10 +43207,10 @@ "start": 41178, "end": 41184, "length": 7, - "parent_index": 2113 + "parent_index": 2114 }, "expression": { - "id": 2114, + "id": 2115, "node_type": 22, "src": { "line": 1252, @@ -42563,10 +43218,10 @@ "start": 41165, "end": 41176, "length": 12, - "parent_index": 2113 + "parent_index": 2114 }, "index_expression": { - "id": 2115, + "id": 2116, "node_type": 16, "src": { "line": 1252, @@ -42574,19 +43229,20 @@ "start": 41165, "end": 41170, "length": 6, - "parent_index": 2114 + "parent_index": 2115 }, "name": "_roles", "type_description": { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "_roles" }, "base_expression": { - "id": 2116, + "id": 2117, "node_type": 16, "src": { "line": 1252, @@ -42594,7 +43250,7 @@ "start": 41172, "end": 41175, "length": 4, - "parent_index": 2114 + "parent_index": 2115 }, "name": "role", "type_description": { @@ -42602,12 +43258,13 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2116, - "is_pure": false + "referenced_declaration": 2117, + "is_pure": false, + "text": "role" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_bytes32_$t_RoleData$", + "type_identifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "type_string": "mapping(bytes32=\u003eRoleData)" }, { @@ -42616,19 +43273,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" } }, "member_name": "members", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" - } + }, + "text": "_roles[role].members" }, "base_expression": { - "id": 2117, + "id": 2118, "node_type": 16, "src": { "line": 1252, @@ -42636,7 +43294,7 @@ "start": 41186, "end": 41192, "length": 7, - "parent_index": 2112 + "parent_index": 2113 }, "name": "account", "type_description": { @@ -42644,12 +43302,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2117, - "is_pure": false + "referenced_declaration": 2118, + "is_pure": false, + "text": "account" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "type_identifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "type_string": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -42658,12 +43317,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "right_expression": { - "id": 2118, + "id": 2119, "node_type": 17, "kind": 61, "value": "false", @@ -42674,7 +43333,7 @@ "start": 41197, "end": 41201, "length": 5, - "parent_index": 2111 + "parent_index": 2112 }, "type_description": { "type_identifier": "t_bool", @@ -42682,20 +43341,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "type_string": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" - } + }, + "text": "_roles[role].members[account]=false;" }, { - "id": 2119, + "id": 2120, "node_type": 64, "src": { "line": 1253, @@ -42703,11 +43364,11 @@ "start": 41216, "end": 41261, "length": 46, - "parent_index": 2096 + "parent_index": 2097 }, "arguments": [ { - "id": 2120, + "id": 2121, "node_type": 16, "src": { "line": 1253, @@ -42715,7 +43376,7 @@ "start": 41233, "end": 41236, "length": 4, - "parent_index": 2119 + "parent_index": 2120 }, "name": "role", "type_description": { @@ -42723,11 +43384,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2120, - "is_pure": false + "referenced_declaration": 2121, + "is_pure": false, + "text": "role" }, { - "id": 2121, + "id": 2122, "node_type": 16, "src": { "line": 1253, @@ -42735,7 +43397,7 @@ "start": 41239, "end": 41245, "length": 7, - "parent_index": 2119 + "parent_index": 2120 }, "name": "account", "type_description": { @@ -42743,11 +43405,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2121, - "is_pure": false + "referenced_declaration": 2122, + "is_pure": false, + "text": "account" }, { - "id": 2122, + "id": 2123, "node_type": 24, "kind": 24, "src": { @@ -42756,12 +43419,12 @@ "start": 41248, "end": 41259, "length": 12, - "parent_index": 2119 + "parent_index": 2120 }, "argument_types": [], "arguments": [], "expression": { - "id": 2123, + "id": 2124, "node_type": 16, "src": { "line": 1253, @@ -42769,7 +43432,7 @@ "start": 41248, "end": 41257, "length": 10, - "parent_index": 2122 + "parent_index": 2123 }, "name": "_msgSender", "type_description": { @@ -42778,7 +43441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -42787,7 +43451,7 @@ } ], "expression": { - "id": 2124, + "id": 2125, "node_type": 16, "src": { "line": 1253, @@ -42795,16 +43459,17 @@ "start": 41221, "end": 41231, "length": 11, - "parent_index": 2119 + "parent_index": 2120 }, "name": "RoleRevoked", "type_description": { - "type_identifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261853", + "type_identifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261854", "type_string": "event AccessControl.RoleRevoked" }, "overloaded_declarations": [], - "referenced_declaration": 1853, - "is_pure": false + "referenced_declaration": 1854, + "is_pure": false, + "text": "RoleRevoked" } } ] @@ -42819,7 +43484,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2097, + "id": 2098, "node_type": 43, "src": { "line": 1250, @@ -42827,11 +43492,11 @@ "start": 41074, "end": 41102, "length": 29, - "parent_index": 2096 + "parent_index": 2097 }, "parameters": [ { - "id": 2098, + "id": 2099, "node_type": 44, "src": { "line": 1250, @@ -42839,12 +43504,12 @@ "start": 41074, "end": 41085, "length": 12, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "role", "type_name": { - "id": 2099, + "id": 2100, "node_type": 30, "src": { "line": 1250, @@ -42852,7 +43517,7 @@ "start": 41074, "end": 41080, "length": 7, - "parent_index": 2098 + "parent_index": 2099 }, "name": "bytes32", "referenced_declaration": 0, @@ -42870,7 +43535,7 @@ } }, { - "id": 2100, + "id": 2101, "node_type": 44, "src": { "line": 1250, @@ -42878,12 +43543,12 @@ "start": 41088, "end": 41102, "length": 15, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "account", "type_name": { - "id": 2101, + "id": 2102, "node_type": 30, "src": { "line": 1250, @@ -42891,7 +43556,7 @@ "start": 41088, "end": 41094, "length": 7, - "parent_index": 2100 + "parent_index": 2101 }, "name": "address", "state_mutability": 4, @@ -42922,7 +43587,7 @@ ] }, "return_parameters": { - "id": 2102, + "id": 2103, "node_type": 43, "src": { "line": 1250, @@ -42930,18 +43595,19 @@ "start": 41053, "end": 41277, "length": 225, - "parent_index": 2096 + "parent_index": 2097 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_revokeRole(bytes32, address)", - "signature": "ed5226ed", + "signature_raw": "_revokeRole(bytes32,address)", + "signature": "2c95bd23", "scope": 1810, "type_description": { "type_identifier": "t_function_$_t_bytes32$_t_address$", "type_string": "function(bytes32,address)" - } + }, + "text": "function_revokeRole(bytes32role,addressaccount)private{if(hasRole(role,account)){_roles[role].members[account]=false;emitRoleRevoked(role,account,_msgSender());}}" } ], "linearized_base_contracts": [ @@ -43047,12 +43713,12 @@ } }, { - "id": 2125, + "id": 2126, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 2125, + "id": 2126, "name": "Registrar", "absolute_path": "" } @@ -43062,7 +43728,7 @@ "node_type": 1, "nodes": [ { - "id": 2137, + "id": 2138, "node_type": 10, "src": { "line": 1259, @@ -43070,7 +43736,7 @@ "start": 41283, "end": 41305, "length": 23, - "parent_index": 2125 + "parent_index": 2126 }, "literals": [ "pragma", @@ -43086,7 +43752,7 @@ "text": "pragma solidity ^0.8.4;" }, { - "id": 2138, + "id": 2139, "name": "Registrar", "node_type": 35, "src": { @@ -43095,7 +43761,7 @@ "start": 41488, "end": 41667, "length": 180, - "parent_index": 2125 + "parent_index": 2126 }, "name_location": { "line": 1265, @@ -43103,14 +43769,14 @@ "start": 41498, "end": 41506, "length": 9, - "parent_index": 2138 + "parent_index": 2139 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 2140, + "id": 2141, "name": "addCollection", "node_type": 42, "kind": 41, @@ -43120,7 +43786,7 @@ "start": 41514, "end": 41665, "length": 152, - "parent_index": 2138 + "parent_index": 2139 }, "name_location": { "line": 1266, @@ -43128,10 +43794,10 @@ "start": 41523, "end": 41535, "length": 13, - "parent_index": 2140 + "parent_index": 2141 }, "body": { - "id": 2151, + "id": 2152, "node_type": 46, "kind": 0, "src": { @@ -43140,7 +43806,7 @@ "start": 41514, "end": 41665, "length": 152, - "parent_index": 2140 + "parent_index": 2141 }, "implemented": false, "statements": [] @@ -43152,7 +43818,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2141, + "id": 2142, "node_type": 43, "src": { "line": 1267, @@ -43160,11 +43826,11 @@ "start": 41546, "end": 41649, "length": 104, - "parent_index": 2140 + "parent_index": 2141 }, "parameters": [ { - "id": 2142, + "id": 2143, "node_type": 44, "src": { "line": 1267, @@ -43172,12 +43838,12 @@ "start": 41546, "end": 41568, "length": 23, - "parent_index": 2141 + "parent_index": 2142 }, - "scope": 2140, + "scope": 2141, "name": "contractAddress", "type_name": { - "id": 2143, + "id": 2144, "node_type": 30, "src": { "line": 1267, @@ -43185,7 +43851,7 @@ "start": 41546, "end": 41552, "length": 7, - "parent_index": 2142 + "parent_index": 2143 }, "name": "address", "state_mutability": 4, @@ -43204,7 +43870,7 @@ } }, { - "id": 2144, + "id": 2145, "node_type": 44, "src": { "line": 1268, @@ -43212,12 +43878,12 @@ "start": 41579, "end": 41596, "length": 18, - "parent_index": 2141 + "parent_index": 2142 }, - "scope": 2140, + "scope": 2141, "name": "name", "type_name": { - "id": 2145, + "id": 2146, "node_type": 30, "src": { "line": 1268, @@ -43225,7 +43891,7 @@ "start": 41579, "end": 41584, "length": 6, - "parent_index": 2144 + "parent_index": 2145 }, "name": "string", "referenced_declaration": 0, @@ -43243,7 +43909,7 @@ } }, { - "id": 2146, + "id": 2147, "node_type": 44, "src": { "line": 1269, @@ -43251,12 +43917,12 @@ "start": 41607, "end": 41626, "length": 20, - "parent_index": 2141 + "parent_index": 2142 }, - "scope": 2140, + "scope": 2141, "name": "symbol", "type_name": { - "id": 2147, + "id": 2148, "node_type": 30, "src": { "line": 1269, @@ -43264,7 +43930,7 @@ "start": 41607, "end": 41612, "length": 6, - "parent_index": 2146 + "parent_index": 2147 }, "name": "string", "referenced_declaration": 0, @@ -43282,7 +43948,7 @@ } }, { - "id": 2148, + "id": 2149, "node_type": 44, "src": { "line": 1270, @@ -43290,12 +43956,12 @@ "start": 41637, "end": 41649, "length": 13, - "parent_index": 2141 + "parent_index": 2142 }, - "scope": 2140, + "scope": 2141, "name": "owner", "type_name": { - "id": 2149, + "id": 2150, "node_type": 30, "src": { "line": 1270, @@ -43303,7 +43969,7 @@ "start": 41637, "end": 41643, "length": 7, - "parent_index": 2148 + "parent_index": 2149 }, "name": "address", "state_mutability": 4, @@ -43342,7 +44008,7 @@ ] }, "return_parameters": { - "id": 2150, + "id": 2151, "node_type": 43, "src": { "line": 1266, @@ -43350,22 +44016,23 @@ "start": 41514, "end": 41665, "length": 152, - "parent_index": 2140 + "parent_index": 2141 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "addCollection(address, string, string, address)", - "signature": "5a4ddc9b", - "scope": 2138, + "signature_raw": "addCollection(address,string,string,address)", + "signature": "49793487", + "scope": 2139, "type_description": { "type_identifier": "t_function_$_t_address$_t_string$_t_string$_t_address$", "type_string": "function(address,string,string,address)" - } + }, + "text": "functionaddCollection(addresscontractAddress,stringmemoryname,stringmemorysymbol,addressowner)external;" } ], "linearized_base_contracts": [ - 2138 + 2139 ], "base_contracts": [], "contract_dependencies": [] @@ -43381,10 +44048,10 @@ } }, { - "id": 2152, + "id": 2153, "base_contracts": [ { - "id": 2166, + "id": 2167, "node_type": 62, "src": { "line": 1276, @@ -43392,10 +44059,10 @@ "start": 41700, "end": 41705, "length": 6, - "parent_index": 2165 + "parent_index": 2166 }, "base_name": { - "id": 2167, + "id": 2168, "node_type": 52, "src": { "line": 1276, @@ -43403,14 +44070,14 @@ "start": 41700, "end": 41705, "length": 6, - "parent_index": 2165 + "parent_index": 2166 }, "name": "ERC721", "referenced_declaration": 867 } }, { - "id": 2168, + "id": 2169, "node_type": 62, "src": { "line": 1276, @@ -43418,10 +44085,10 @@ "start": 41708, "end": 41720, "length": 13, - "parent_index": 2165 + "parent_index": 2166 }, "base_name": { - "id": 2169, + "id": 2170, "node_type": 52, "src": { "line": 1276, @@ -43429,7 +44096,7 @@ "start": 41708, "end": 41720, "length": 13, - "parent_index": 2165 + "parent_index": 2166 }, "name": "AccessControl", "referenced_declaration": 1798 @@ -43439,17 +44106,17 @@ "license": "MIT", "exported_symbols": [ { - "id": 2152, + "id": 2153, "name": "NFTradeNFTToken", "absolute_path": "" }, { - "id": 2166, + "id": 2167, "name": "ERC721", "absolute_path": "" }, { - "id": 2168, + "id": 2169, "name": "AccessControl", "absolute_path": "" } @@ -43459,7 +44126,7 @@ "node_type": 1, "nodes": [ { - "id": 2164, + "id": 2165, "node_type": 10, "src": { "line": 1259, @@ -43467,7 +44134,7 @@ "start": 41283, "end": 41305, "length": 23, - "parent_index": 2152 + "parent_index": 2153 }, "literals": [ "pragma", @@ -43483,7 +44150,7 @@ "text": "pragma solidity ^0.8.4;" }, { - "id": 2165, + "id": 2166, "name": "NFTradeNFTToken", "node_type": 35, "src": { @@ -43492,7 +44159,7 @@ "start": 41672, "end": 44341, "length": 2670, - "parent_index": 2152 + "parent_index": 2153 }, "name_location": { "line": 1276, @@ -43500,14 +44167,14 @@ "start": 41681, "end": 41695, "length": 15, - "parent_index": 2165 + "parent_index": 2166 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 2171, + "id": 2172, "node_type": 51, "src": { "line": 1277, @@ -43515,14 +44182,14 @@ "start": 41728, "end": 41763, "length": 36, - "parent_index": 2165 + "parent_index": 2166 }, "type_description": { "type_identifier": "t_contract$_Counters_$1655", "type_string": "contract Counters" }, "type_name": { - "id": 2173, + "id": 2174, "node_type": 69, "src": { "line": 1277, @@ -43530,10 +44197,10 @@ "start": 41747, "end": 41762, "length": 16, - "parent_index": 2171 + "parent_index": 2172 }, "path_node": { - "id": 2174, + "id": 2175, "name": "Counters", "node_type": 52, "referenced_declaration": 1655, @@ -43543,7 +44210,7 @@ "start": 41747, "end": 41762, "length": 16, - "parent_index": 2173 + "parent_index": 2174 }, "name_location": { "line": 1277, @@ -43551,7 +44218,7 @@ "start": 41747, "end": 41754, "length": 8, - "parent_index": 2173 + "parent_index": 2174 } }, "referenced_declaration": 1655, @@ -43561,7 +44228,7 @@ } }, "library_name": { - "id": 2172, + "id": 2173, "node_type": 52, "src": { "line": 1277, @@ -43569,14 +44236,14 @@ "start": 41734, "end": 41741, "length": 8, - "parent_index": 2171 + "parent_index": 2172 }, "name": "Counters", "referenced_declaration": 1655 } }, { - "id": 2176, + "id": 2177, "name": "_tokenIds", "is_constant": false, "is_state_variable": true, @@ -43587,9 +44254,9 @@ "start": 41769, "end": 41803, "length": 35, - "parent_index": 2165 + "parent_index": 2166 }, - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_contract$_Counters_$1655", "type_string": "contract Counters" @@ -43598,7 +44265,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2177, + "id": 2178, "node_type": 69, "src": { "line": 1278, @@ -43606,10 +44273,10 @@ "start": 41769, "end": 41784, "length": 16, - "parent_index": 2176 + "parent_index": 2177 }, "path_node": { - "id": 2178, + "id": 2179, "name": "Counters", "node_type": 52, "referenced_declaration": 1655, @@ -43619,7 +44286,7 @@ "start": 41769, "end": 41784, "length": 16, - "parent_index": 2177 + "parent_index": 2178 }, "name_location": { "line": 1278, @@ -43627,7 +44294,7 @@ "start": 41769, "end": 41776, "length": 8, - "parent_index": 2177 + "parent_index": 2178 } }, "referenced_declaration": 1655, @@ -43639,7 +44306,7 @@ "initial_value": null }, { - "id": 2180, + "id": 2181, "name": "MINTER_ROLE", "is_constant": true, "is_state_variable": true, @@ -43650,9 +44317,9 @@ "start": 41810, "end": 41872, "length": 63, - "parent_index": 2165 + "parent_index": 2166 }, - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" @@ -43661,7 +44328,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2181, + "id": 2182, "node_type": 30, "src": { "line": 1280, @@ -43669,7 +44336,7 @@ "start": 41810, "end": 41816, "length": 7, - "parent_index": 2180 + "parent_index": 2181 }, "name": "bytes32", "referenced_declaration": 0, @@ -43679,7 +44346,7 @@ } }, "initial_value": { - "id": 2182, + "id": 2183, "node_type": 24, "kind": 24, "src": { @@ -43688,7 +44355,7 @@ "start": 41848, "end": 41871, "length": 24, - "parent_index": 2180 + "parent_index": 2181 }, "argument_types": [ { @@ -43698,7 +44365,7 @@ ], "arguments": [ { - "id": 2184, + "id": 2185, "node_type": 17, "kind": 50, "value": "MINTER_ROLE", @@ -43709,7 +44376,7 @@ "start": 41858, "end": 41870, "length": 13, - "parent_index": 2182 + "parent_index": 2183 }, "type_description": { "type_identifier": "t_string_literal", @@ -43717,11 +44384,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"MINTER_ROLE\"" } ], "expression": { - "id": 2183, + "id": 2184, "node_type": 16, "src": { "line": 1280, @@ -43729,7 +44397,7 @@ "start": 41848, "end": 41856, "length": 9, - "parent_index": 2182 + "parent_index": 2183 }, "name": "keccak256", "type_description": { @@ -43738,7 +44406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -43747,7 +44416,7 @@ } }, { - "id": 2186, + "id": 2187, "name": "_tokenURIs", "is_constant": false, "is_state_variable": true, @@ -43758,9 +44427,9 @@ "start": 41918, "end": 41964, "length": 47, - "parent_index": 2165 + "parent_index": 2166 }, - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_mapping_$t_uint256_$t_string$", "type_string": "mapping(uint256=\u003estring)" @@ -43769,18 +44438,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2187, - "node_type": 0, + "id": 2188, + "node_type": 53, "src": { "line": 1283, "column": 4, "start": 41918, "end": 41944, "length": 27, - "parent_index": 2186 + "parent_index": 2187 }, "key_type": { - "id": 2188, + "id": 2189, "node_type": 30, "src": { "line": 1283, @@ -43788,7 +44457,7 @@ "start": 41927, "end": 41933, "length": 7, - "parent_index": 2187 + "parent_index": 2188 }, "name": "uint256", "referenced_declaration": 0, @@ -43803,10 +44472,10 @@ "start": 41927, "end": 41933, "length": 7, - "parent_index": 2187 + "parent_index": 2188 }, "value_type": { - "id": 2189, + "id": 2190, "node_type": 30, "src": { "line": 1283, @@ -43814,7 +44483,7 @@ "start": 41938, "end": 41943, "length": 6, - "parent_index": 2187 + "parent_index": 2188 }, "name": "string", "referenced_declaration": 0, @@ -43829,7 +44498,7 @@ "start": 41938, "end": 41943, "length": 6, - "parent_index": 2187 + "parent_index": 2188 }, "referenced_declaration": 0, "type_description": { @@ -43840,7 +44509,7 @@ "initial_value": null }, { - "id": 2191, + "id": 2192, "name": "_baseURIextended", "is_constant": false, "is_state_variable": true, @@ -43851,9 +44520,9 @@ "start": 41987, "end": 42018, "length": 32, - "parent_index": 2165 + "parent_index": 2166 }, - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_string", "type_string": "string" @@ -43862,7 +44531,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2192, + "id": 2193, "node_type": 30, "src": { "line": 1286, @@ -43870,7 +44539,7 @@ "start": 41987, "end": 41992, "length": 6, - "parent_index": 2191 + "parent_index": 2192 }, "name": "string", "referenced_declaration": 0, @@ -43882,7 +44551,7 @@ "initial_value": null }, { - "id": 2194, + "id": 2195, "node_type": 42, "src": { "line": 1288, @@ -43890,7 +44559,7 @@ "start": 42025, "end": 42312, "length": 288, - "parent_index": 2165 + "parent_index": 2166 }, "kind": 11, "state_mutability": 4, @@ -43898,7 +44567,7 @@ "implemented": true, "modifiers": [ { - "id": 2203, + "id": 2204, "name": "ERC721", "node_type": 72, "kind": 72, @@ -43908,7 +44577,7 @@ "start": 42104, "end": 42123, "length": 20, - "parent_index": 2194 + "parent_index": 2195 }, "argument_types": [ { @@ -43922,7 +44591,7 @@ ], "arguments": [ { - "id": 2205, + "id": 2206, "node_type": 16, "src": { "line": 1288, @@ -43930,7 +44599,7 @@ "start": 42111, "end": 42114, "length": 4, - "parent_index": 2203 + "parent_index": 2204 }, "name": "name", "type_description": { @@ -43938,11 +44607,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2205, - "is_pure": false + "referenced_declaration": 2206, + "is_pure": false, + "text": "name" }, { - "id": 2206, + "id": 2207, "node_type": 16, "src": { "line": 1288, @@ -43950,7 +44620,7 @@ "start": 42117, "end": 42122, "length": 6, - "parent_index": 2203 + "parent_index": 2204 }, "name": "symbol", "type_description": { @@ -43958,12 +44628,13 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2206, - "is_pure": false + "referenced_declaration": 2207, + "is_pure": false, + "text": "symbol" } ], "modifier_name": { - "id": 2204, + "id": 2205, "name": "ERC721", "node_type": 0, "src": { @@ -43972,13 +44643,13 @@ "start": 42104, "end": 42109, "length": 6, - "parent_index": 2203 + "parent_index": 2204 } } } ], "parameters": { - "id": 2195, + "id": 2196, "node_type": 43, "src": { "line": 1288, @@ -43986,11 +44657,11 @@ "start": 42037, "end": 42094, "length": 58, - "parent_index": 2194 + "parent_index": 2195 }, "parameters": [ { - "id": 2196, + "id": 2197, "node_type": 44, "src": { "line": 1288, @@ -43998,12 +44669,12 @@ "start": 42037, "end": 42054, "length": 18, - "parent_index": 2195 + "parent_index": 2196 }, - "scope": 2194, + "scope": 2195, "name": "name", "type_name": { - "id": 2197, + "id": 2198, "node_type": 30, "src": { "line": 1288, @@ -44011,7 +44682,7 @@ "start": 42037, "end": 42042, "length": 6, - "parent_index": 2196 + "parent_index": 2197 }, "name": "string", "referenced_declaration": 0, @@ -44029,7 +44700,7 @@ } }, { - "id": 2198, + "id": 2199, "node_type": 44, "src": { "line": 1288, @@ -44037,12 +44708,12 @@ "start": 42057, "end": 42076, "length": 20, - "parent_index": 2195 + "parent_index": 2196 }, - "scope": 2194, + "scope": 2195, "name": "symbol", "type_name": { - "id": 2199, + "id": 2200, "node_type": 30, "src": { "line": 1288, @@ -44050,7 +44721,7 @@ "start": 42057, "end": 42062, "length": 6, - "parent_index": 2198 + "parent_index": 2199 }, "name": "string", "referenced_declaration": 0, @@ -44068,7 +44739,7 @@ } }, { - "id": 2200, + "id": 2201, "node_type": 44, "src": { "line": 1288, @@ -44076,12 +44747,12 @@ "start": 42079, "end": 42094, "length": 16, - "parent_index": 2195 + "parent_index": 2196 }, - "scope": 2194, + "scope": 2195, "name": "registry", "type_name": { - "id": 2201, + "id": 2202, "node_type": 30, "src": { "line": 1288, @@ -44089,7 +44760,7 @@ "start": 42079, "end": 42085, "length": 7, - "parent_index": 2200 + "parent_index": 2201 }, "name": "address", "state_mutability": 4, @@ -44124,7 +44795,7 @@ ] }, "return_parameters": { - "id": 2202, + "id": 2203, "node_type": 43, "src": { "line": 1288, @@ -44132,14 +44803,14 @@ "start": 42025, "end": 42312, "length": 288, - "parent_index": 2194 + "parent_index": 2195 }, "parameters": [], "parameter_types": [] }, - "scope": 2165, + "scope": 2166, "body": { - "id": 2207, + "id": 2208, "node_type": 46, "kind": 0, "src": { @@ -44148,12 +44819,12 @@ "start": 42125, "end": 42312, "length": 188, - "parent_index": 2194 + "parent_index": 2195 }, "implemented": true, "statements": [ { - "id": 2208, + "id": 2209, "node_type": 24, "kind": 24, "src": { @@ -44162,7 +44833,7 @@ "start": 42135, "end": 42176, "length": 42, - "parent_index": 2207 + "parent_index": 2208 }, "argument_types": [ { @@ -44176,7 +44847,7 @@ ], "arguments": [ { - "id": 2210, + "id": 2211, "node_type": 16, "src": { "line": 1289, @@ -44184,7 +44855,7 @@ "start": 42146, "end": 42163, "length": 18, - "parent_index": 2208 + "parent_index": 2209 }, "name": "DEFAULT_ADMIN_ROLE", "type_description": { @@ -44193,10 +44864,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "DEFAULT_ADMIN_ROLE" }, { - "id": 2211, + "id": 2212, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44208,7 +44880,7 @@ "start": 42166, "end": 42175, "length": 10, - "parent_index": 2208 + "parent_index": 2209 }, "member_location": { "line": 1289, @@ -44216,10 +44888,10 @@ "start": 42170, "end": 42175, "length": 6, - "parent_index": 2211 + "parent_index": 2212 }, "expression": { - "id": 2212, + "id": 2213, "node_type": 16, "src": { "line": 1289, @@ -44227,7 +44899,7 @@ "start": 42166, "end": 42168, "length": 3, - "parent_index": 2211 + "parent_index": 2212 }, "name": "msg", "type_description": { @@ -44236,7 +44908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -44248,11 +44921,12 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 2209, + "id": 2210, "node_type": 16, "src": { "line": 1289, @@ -44260,7 +44934,7 @@ "start": 42135, "end": 42144, "length": 10, - "parent_index": 2208 + "parent_index": 2209 }, "name": "_setupRole", "type_description": { @@ -44269,7 +44943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setupRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -44277,7 +44952,7 @@ } }, { - "id": 2213, + "id": 2214, "node_type": 24, "kind": 24, "src": { @@ -44286,7 +44961,7 @@ "start": 42187, "end": 42221, "length": 35, - "parent_index": 2207 + "parent_index": 2208 }, "argument_types": [ { @@ -44300,7 +44975,7 @@ ], "arguments": [ { - "id": 2215, + "id": 2216, "node_type": 16, "src": { "line": 1290, @@ -44308,7 +44983,7 @@ "start": 42198, "end": 42208, "length": 11, - "parent_index": 2213 + "parent_index": 2214 }, "name": "MINTER_ROLE", "type_description": { @@ -44317,10 +44992,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MINTER_ROLE" }, { - "id": 2216, + "id": 2217, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44332,7 +45008,7 @@ "start": 42211, "end": 42220, "length": 10, - "parent_index": 2213 + "parent_index": 2214 }, "member_location": { "line": 1290, @@ -44340,10 +45016,10 @@ "start": 42215, "end": 42220, "length": 6, - "parent_index": 2216 + "parent_index": 2217 }, "expression": { - "id": 2217, + "id": 2218, "node_type": 16, "src": { "line": 1290, @@ -44351,7 +45027,7 @@ "start": 42211, "end": 42213, "length": 3, - "parent_index": 2216 + "parent_index": 2217 }, "name": "msg", "type_description": { @@ -44360,7 +45036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -44372,11 +45049,12 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 2214, + "id": 2215, "node_type": 16, "src": { "line": 1290, @@ -44384,7 +45062,7 @@ "start": 42187, "end": 42196, "length": 10, - "parent_index": 2213 + "parent_index": 2214 }, "name": "_setupRole", "type_description": { @@ -44393,7 +45071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setupRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -44401,7 +45080,7 @@ } }, { - "id": 2218, + "id": 2219, "node_type": 24, "kind": 24, "src": { @@ -44410,7 +45089,7 @@ "start": 42232, "end": 42305, "length": 74, - "parent_index": 2207 + "parent_index": 2208 }, "argument_types": [ { @@ -44432,7 +45111,7 @@ ], "arguments": [ { - "id": 2223, + "id": 2224, "node_type": 24, "kind": 24, "src": { @@ -44441,17 +45120,17 @@ "start": 42266, "end": 42278, "length": 13, - "parent_index": 2218 + "parent_index": 2219 }, "argument_types": [ { - "type_identifier": "t_contract$_NFTradeNFTToken_$2152", + "type_identifier": "t_contract$_NFTradeNFTToken_$2153", "type_string": "contract NFTradeNFTToken" } ], "arguments": [ { - "id": 2226, + "id": 2227, "node_type": 16, "src": { "line": 1291, @@ -44459,20 +45138,21 @@ "start": 42274, "end": 42277, "length": 4, - "parent_index": 2223 + "parent_index": 2224 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_NFTradeNFTToken_$2152", + "type_identifier": "t_contract$_NFTradeNFTToken_$2153", "type_string": "contract NFTradeNFTToken" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 2224, + "id": 2225, "node_type": 16, "src": { "line": 1291, @@ -44480,11 +45160,11 @@ "start": 42266, "end": 42272, "length": 7, - "parent_index": 2223 + "parent_index": 2224 }, "name": "address", "type_name": { - "id": 2225, + "id": 2226, "node_type": 30, "src": { "line": 1291, @@ -44492,7 +45172,7 @@ "start": 42266, "end": 42272, "length": 7, - "parent_index": 2224 + "parent_index": 2225 }, "name": "address", "state_mutability": 4, @@ -44514,7 +45194,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -44522,7 +45203,7 @@ } }, { - "id": 2227, + "id": 2228, "node_type": 16, "src": { "line": 1291, @@ -44530,7 +45211,7 @@ "start": 42281, "end": 42284, "length": 4, - "parent_index": 2218 + "parent_index": 2219 }, "name": "name", "type_description": { @@ -44538,17 +45219,18 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2227, + "referenced_declaration": 2228, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "name" }, { - "id": 2228, + "id": 2229, "node_type": 16, "src": { "line": 1291, @@ -44556,7 +45238,7 @@ "start": 42287, "end": 42292, "length": 6, - "parent_index": 2218 + "parent_index": 2219 }, "name": "symbol", "type_description": { @@ -44564,7 +45246,7 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2228, + "referenced_declaration": 2229, "is_pure": false, "argument_types": [ { @@ -44575,10 +45257,11 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "symbol" }, { - "id": 2229, + "id": 2230, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44590,7 +45273,7 @@ "start": 42295, "end": 42304, "length": 10, - "parent_index": 2218 + "parent_index": 2219 }, "member_location": { "line": 1291, @@ -44598,10 +45281,10 @@ "start": 42299, "end": 42304, "length": 6, - "parent_index": 2229 + "parent_index": 2230 }, "expression": { - "id": 2230, + "id": 2231, "node_type": 16, "src": { "line": 1291, @@ -44609,7 +45292,7 @@ "start": 42295, "end": 42297, "length": 3, - "parent_index": 2229 + "parent_index": 2230 }, "name": "msg", "type_description": { @@ -44618,7 +45301,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -44638,11 +45322,12 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 2219, + "id": 2220, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44654,7 +45339,7 @@ "start": 42232, "end": 42264, "length": 33, - "parent_index": 2218 + "parent_index": 2219 }, "member_location": { "line": 1291, @@ -44662,10 +45347,10 @@ "start": 42252, "end": 42264, "length": 13, - "parent_index": 2219 + "parent_index": 2220 }, "expression": { - "id": 2220, + "id": 2221, "node_type": 24, "kind": 24, "src": { @@ -44674,7 +45359,7 @@ "start": 42232, "end": 42250, "length": 19, - "parent_index": 2219 + "parent_index": 2220 }, "argument_types": [ { @@ -44684,7 +45369,7 @@ ], "arguments": [ { - "id": 2222, + "id": 2223, "node_type": 16, "src": { "line": 1291, @@ -44692,7 +45377,7 @@ "start": 42242, "end": 42249, "length": 8, - "parent_index": 2220 + "parent_index": 2221 }, "name": "registry", "type_description": { @@ -44700,12 +45385,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2222, - "is_pure": false + "referenced_declaration": 2223, + "is_pure": false, + "text": "registry" } ], "expression": { - "id": 2221, + "id": 2222, "node_type": 16, "src": { "line": 1291, @@ -44713,7 +45399,7 @@ "start": 42232, "end": 42240, "length": 9, - "parent_index": 2220 + "parent_index": 2221 }, "name": "Registrar", "type_description": { @@ -44722,7 +45408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "Registrar" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -44734,7 +45421,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "Registrar(registry).addCollection" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string$_t_string$_t_address$", @@ -44745,7 +45433,7 @@ } }, { - "id": 2232, + "id": 2233, "name": "supportsInterface", "node_type": 42, "kind": 41, @@ -44755,7 +45443,7 @@ "start": 42319, "end": 42492, "length": 174, - "parent_index": 2165 + "parent_index": 2166 }, "name_location": { "line": 1294, @@ -44763,10 +45451,10 @@ "start": 42328, "end": 42344, "length": 17, - "parent_index": 2232 + "parent_index": 2233 }, "body": { - "id": 2242, + "id": 2243, "node_type": 46, "kind": 0, "src": { @@ -44775,12 +45463,12 @@ "start": 42433, "end": 42492, "length": 60, - "parent_index": 2232 + "parent_index": 2233 }, "implemented": true, "statements": [ { - "id": 2243, + "id": 2244, "node_type": 47, "src": { "line": 1295, @@ -44788,11 +45476,11 @@ "start": 42443, "end": 42486, "length": 44, - "parent_index": 2232 + "parent_index": 2233 }, - "function_return_parameters": 2232, + "function_return_parameters": 2233, "expression": { - "id": 2244, + "id": 2245, "node_type": 24, "kind": 24, "src": { @@ -44801,7 +45489,7 @@ "start": 42450, "end": 42485, "length": 36, - "parent_index": 2243 + "parent_index": 2244 }, "argument_types": [ { @@ -44811,7 +45499,7 @@ ], "arguments": [ { - "id": 2247, + "id": 2248, "node_type": 16, "src": { "line": 1295, @@ -44819,7 +45507,7 @@ "start": 42474, "end": 42484, "length": 11, - "parent_index": 2244 + "parent_index": 2245 }, "name": "interfaceId", "type_description": { @@ -44827,12 +45515,13 @@ "type_string": "bytes4" }, "overloaded_declarations": [], - "referenced_declaration": 2247, - "is_pure": false + "referenced_declaration": 2248, + "is_pure": false, + "text": "interfaceId" } ], "expression": { - "id": 2245, + "id": 2246, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44844,7 +45533,7 @@ "start": 42450, "end": 42472, "length": 23, - "parent_index": 2244 + "parent_index": 2245 }, "member_location": { "line": 1295, @@ -44852,10 +45541,10 @@ "start": 42456, "end": 42472, "length": 17, - "parent_index": 2245 + "parent_index": 2246 }, "expression": { - "id": 2246, + "id": 2247, "node_type": 16, "src": { "line": 1295, @@ -44863,7 +45552,7 @@ "start": 42450, "end": 42454, "length": 5, - "parent_index": 2245 + "parent_index": 2246 }, "name": "super", "type_description": { @@ -44872,14 +45561,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "supportsInterface", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super.supportsInterface" }, "type_description": { "type_identifier": "t_function_$_t_bytes4$", @@ -44896,7 +45587,7 @@ "modifiers": [], "overrides": [ { - "id": 2236, + "id": 2237, "node_type": 63, "src": { "line": 1294, @@ -44904,11 +45595,11 @@ "start": 42386, "end": 42416, "length": 31, - "parent_index": 2232 + "parent_index": 2233 }, "overrides": [ { - "id": 2237, + "id": 2238, "name": "ERC721", "node_type": 99, "src": { @@ -44917,7 +45608,7 @@ "start": 42395, "end": 42400, "length": 6, - "parent_index": 2236 + "parent_index": 2237 }, "referenced_declaration": 867, "type_description": { @@ -44926,7 +45617,7 @@ } }, { - "id": 2238, + "id": 2239, "name": "AccessControl", "node_type": 99, "src": { @@ -44935,7 +45626,7 @@ "start": 42403, "end": 42415, "length": 13, - "parent_index": 2236 + "parent_index": 2237 }, "referenced_declaration": 1798, "type_description": { @@ -44952,7 +45643,7 @@ } ], "parameters": { - "id": 2233, + "id": 2234, "node_type": 43, "src": { "line": 1294, @@ -44960,11 +45651,11 @@ "start": 42346, "end": 42363, "length": 18, - "parent_index": 2232 + "parent_index": 2233 }, "parameters": [ { - "id": 2234, + "id": 2235, "node_type": 44, "src": { "line": 1294, @@ -44972,12 +45663,12 @@ "start": 42346, "end": 42363, "length": 18, - "parent_index": 2233 + "parent_index": 2234 }, - "scope": 2232, + "scope": 2233, "name": "interfaceId", "type_name": { - "id": 2235, + "id": 2236, "node_type": 30, "src": { "line": 1294, @@ -44985,7 +45676,7 @@ "start": 42346, "end": 42351, "length": 6, - "parent_index": 2234 + "parent_index": 2235 }, "name": "bytes4", "referenced_declaration": 0, @@ -45011,7 +45702,7 @@ ] }, "return_parameters": { - "id": 2239, + "id": 2240, "node_type": 43, "src": { "line": 1294, @@ -45019,11 +45710,11 @@ "start": 42427, "end": 42430, "length": 4, - "parent_index": 2232 + "parent_index": 2233 }, "parameters": [ { - "id": 2240, + "id": 2241, "node_type": 44, "src": { "line": 1294, @@ -45031,12 +45722,12 @@ "start": 42427, "end": 42430, "length": 4, - "parent_index": 2239 + "parent_index": 2240 }, - "scope": 2232, + "scope": 2233, "name": "", "type_name": { - "id": 2241, + "id": 2242, "node_type": 30, "src": { "line": 1294, @@ -45044,7 +45735,7 @@ "start": 42427, "end": 42430, "length": 4, - "parent_index": 2240 + "parent_index": 2241 }, "name": "bool", "referenced_declaration": 0, @@ -45071,14 +45762,15 @@ }, "signature_raw": "supportsInterface(bytes4)", "signature": "01ffc9a7", - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_function_$_t_bytes4$", "type_string": "function(bytes4)" - } + }, + "text": "functionsupportsInterface(bytes4interfaceId)publicviewvirtualoverride(ERC721,AccessControl)returns(bool){returnsuper.supportsInterface(interfaceId);}" }, { - "id": 2249, + "id": 2250, "name": "addMinter", "node_type": 42, "kind": 41, @@ -45088,7 +45780,7 @@ "start": 42498, "end": 42632, "length": 135, - "parent_index": 2165 + "parent_index": 2166 }, "name_location": { "line": 1297, @@ -45096,10 +45788,10 @@ "start": 42507, "end": 42515, "length": 9, - "parent_index": 2249 + "parent_index": 2250 }, "body": { - "id": 2257, + "id": 2258, "node_type": 46, "kind": 0, "src": { @@ -45108,12 +45800,12 @@ "start": 42578, "end": 42632, "length": 55, - "parent_index": 2249 + "parent_index": 2250 }, "implemented": true, "statements": [ { - "id": 2258, + "id": 2259, "node_type": 24, "kind": 24, "src": { @@ -45122,7 +45814,7 @@ "start": 42588, "end": 42625, "length": 38, - "parent_index": 2257 + "parent_index": 2258 }, "argument_types": [ { @@ -45136,7 +45828,7 @@ ], "arguments": [ { - "id": 2260, + "id": 2261, "node_type": 16, "src": { "line": 1298, @@ -45144,7 +45836,7 @@ "start": 42599, "end": 42609, "length": 11, - "parent_index": 2258 + "parent_index": 2259 }, "name": "MINTER_ROLE", "type_description": { @@ -45153,10 +45845,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MINTER_ROLE" }, { - "id": 2261, + "id": 2262, "node_type": 16, "src": { "line": 1298, @@ -45164,7 +45857,7 @@ "start": 42612, "end": 42624, "length": 13, - "parent_index": 2258 + "parent_index": 2259 }, "name": "minterAddress", "type_description": { @@ -45172,18 +45865,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2261, + "referenced_declaration": 2262, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "minterAddress" } ], "expression": { - "id": 2259, + "id": 2260, "node_type": 16, "src": { "line": 1298, @@ -45191,7 +45885,7 @@ "start": 42588, "end": 42597, "length": 10, - "parent_index": 2258 + "parent_index": 2259 }, "name": "_setupRole", "type_description": { @@ -45200,7 +45894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setupRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -45215,7 +45910,7 @@ "virtual": false, "modifiers": [ { - "id": 2253, + "id": 2254, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -45225,7 +45920,7 @@ "start": 42549, "end": 42576, "length": 28, - "parent_index": 2249 + "parent_index": 2250 }, "argument_types": [ { @@ -45235,7 +45930,7 @@ ], "arguments": [ { - "id": 2255, + "id": 2256, "node_type": 16, "src": { "line": 1297, @@ -45243,7 +45938,7 @@ "start": 42558, "end": 42575, "length": 18, - "parent_index": 2253 + "parent_index": 2254 }, "name": "DEFAULT_ADMIN_ROLE", "type_description": { @@ -45251,12 +45946,13 @@ "type_string": "int_const 0x00" }, "overloaded_declarations": [], - "referenced_declaration": 1831, - "is_pure": false + "referenced_declaration": 1832, + "is_pure": false, + "text": "DEFAULT_ADMIN_ROLE" } ], "modifier_name": { - "id": 2254, + "id": 2255, "name": "onlyRole", "node_type": 0, "src": { @@ -45265,14 +45961,14 @@ "start": 42549, "end": 42556, "length": 8, - "parent_index": 2253 + "parent_index": 2254 } } } ], "overrides": [], "parameters": { - "id": 2250, + "id": 2251, "node_type": 43, "src": { "line": 1297, @@ -45280,11 +45976,11 @@ "start": 42517, "end": 42537, "length": 21, - "parent_index": 2249 + "parent_index": 2250 }, "parameters": [ { - "id": 2251, + "id": 2252, "node_type": 44, "src": { "line": 1297, @@ -45292,12 +45988,12 @@ "start": 42517, "end": 42537, "length": 21, - "parent_index": 2250 + "parent_index": 2251 }, - "scope": 2249, + "scope": 2250, "name": "minterAddress", "type_name": { - "id": 2252, + "id": 2253, "node_type": 30, "src": { "line": 1297, @@ -45305,7 +46001,7 @@ "start": 42517, "end": 42523, "length": 7, - "parent_index": 2251 + "parent_index": 2252 }, "name": "address", "state_mutability": 4, @@ -45332,7 +46028,7 @@ ] }, "return_parameters": { - "id": 2256, + "id": 2257, "node_type": 43, "src": { "line": 1297, @@ -45340,21 +46036,22 @@ "start": 42498, "end": 42632, "length": 135, - "parent_index": 2249 + "parent_index": 2250 }, "parameters": [], "parameter_types": [] }, "signature_raw": "addMinter(address)", "signature": "983b2d56", - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaddMinter(addressminterAddress)externalonlyRole(DEFAULT_ADMIN_ROLE){_setupRole(MINTER_ROLE,minterAddress);}" }, { - "id": 2263, + "id": 2264, "name": "removeMinter", "node_type": 42, "kind": 41, @@ -45364,7 +46061,7 @@ "start": 42638, "end": 42775, "length": 138, - "parent_index": 2165 + "parent_index": 2166 }, "name_location": { "line": 1300, @@ -45372,10 +46069,10 @@ "start": 42647, "end": 42658, "length": 12, - "parent_index": 2263 + "parent_index": 2264 }, "body": { - "id": 2271, + "id": 2272, "node_type": 46, "kind": 0, "src": { @@ -45384,12 +46081,12 @@ "start": 42721, "end": 42775, "length": 55, - "parent_index": 2263 + "parent_index": 2264 }, "implemented": true, "statements": [ { - "id": 2272, + "id": 2273, "node_type": 24, "kind": 24, "src": { @@ -45398,7 +46095,7 @@ "start": 42731, "end": 42768, "length": 38, - "parent_index": 2271 + "parent_index": 2272 }, "argument_types": [ { @@ -45412,7 +46109,7 @@ ], "arguments": [ { - "id": 2274, + "id": 2275, "node_type": 16, "src": { "line": 1301, @@ -45420,7 +46117,7 @@ "start": 42742, "end": 42752, "length": 11, - "parent_index": 2272 + "parent_index": 2273 }, "name": "MINTER_ROLE", "type_description": { @@ -45429,10 +46126,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MINTER_ROLE" }, { - "id": 2275, + "id": 2276, "node_type": 16, "src": { "line": 1301, @@ -45440,7 +46138,7 @@ "start": 42755, "end": 42767, "length": 13, - "parent_index": 2272 + "parent_index": 2273 }, "name": "minterAddress", "type_description": { @@ -45448,18 +46146,19 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2275, + "referenced_declaration": 2276, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "minterAddress" } ], "expression": { - "id": 2273, + "id": 2274, "node_type": 16, "src": { "line": 1301, @@ -45467,7 +46166,7 @@ "start": 42731, "end": 42740, "length": 10, - "parent_index": 2272 + "parent_index": 2273 }, "name": "revokeRole", "type_description": { @@ -45476,7 +46175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "revokeRole" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -45491,7 +46191,7 @@ "virtual": false, "modifiers": [ { - "id": 2267, + "id": 2268, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -45501,7 +46201,7 @@ "start": 42692, "end": 42719, "length": 28, - "parent_index": 2263 + "parent_index": 2264 }, "argument_types": [ { @@ -45511,7 +46211,7 @@ ], "arguments": [ { - "id": 2269, + "id": 2270, "node_type": 16, "src": { "line": 1300, @@ -45519,7 +46219,7 @@ "start": 42701, "end": 42718, "length": 18, - "parent_index": 2267 + "parent_index": 2268 }, "name": "DEFAULT_ADMIN_ROLE", "type_description": { @@ -45527,12 +46227,13 @@ "type_string": "int_const 0x00" }, "overloaded_declarations": [], - "referenced_declaration": 1831, - "is_pure": false + "referenced_declaration": 1832, + "is_pure": false, + "text": "DEFAULT_ADMIN_ROLE" } ], "modifier_name": { - "id": 2268, + "id": 2269, "name": "onlyRole", "node_type": 0, "src": { @@ -45541,14 +46242,14 @@ "start": 42692, "end": 42699, "length": 8, - "parent_index": 2267 + "parent_index": 2268 } } } ], "overrides": [], "parameters": { - "id": 2264, + "id": 2265, "node_type": 43, "src": { "line": 1300, @@ -45556,11 +46257,11 @@ "start": 42660, "end": 42680, "length": 21, - "parent_index": 2263 + "parent_index": 2264 }, "parameters": [ { - "id": 2265, + "id": 2266, "node_type": 44, "src": { "line": 1300, @@ -45568,12 +46269,12 @@ "start": 42660, "end": 42680, "length": 21, - "parent_index": 2264 + "parent_index": 2265 }, - "scope": 2263, + "scope": 2264, "name": "minterAddress", "type_name": { - "id": 2266, + "id": 2267, "node_type": 30, "src": { "line": 1300, @@ -45581,7 +46282,7 @@ "start": 42660, "end": 42666, "length": 7, - "parent_index": 2265 + "parent_index": 2266 }, "name": "address", "state_mutability": 4, @@ -45608,7 +46309,7 @@ ] }, "return_parameters": { - "id": 2270, + "id": 2271, "node_type": 43, "src": { "line": 1300, @@ -45616,21 +46317,22 @@ "start": 42638, "end": 42775, "length": 138, - "parent_index": 2263 + "parent_index": 2264 }, "parameters": [], "parameter_types": [] }, "signature_raw": "removeMinter(address)", "signature": "3092afd5", - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionremoveMinter(addressminterAddress)externalonlyRole(DEFAULT_ADMIN_ROLE){revokeRole(MINTER_ROLE,minterAddress);}" }, { - "id": 2277, + "id": 2278, "name": "setBaseURI", "node_type": 42, "kind": 41, @@ -45640,7 +46342,7 @@ "start": 42782, "end": 42907, "length": 126, - "parent_index": 2165 + "parent_index": 2166 }, "name_location": { "line": 1304, @@ -45648,10 +46350,10 @@ "start": 42791, "end": 42800, "length": 10, - "parent_index": 2277 + "parent_index": 2278 }, "body": { - "id": 2285, + "id": 2286, "node_type": 46, "kind": 0, "src": { @@ -45660,12 +46362,12 @@ "start": 42864, "end": 42907, "length": 44, - "parent_index": 2277 + "parent_index": 2278 }, "implemented": true, "statements": [ { - "id": 2286, + "id": 2287, "node_type": 27, "src": { "line": 1305, @@ -45673,10 +46375,10 @@ "start": 42874, "end": 42901, "length": 28, - "parent_index": 2285 + "parent_index": 2286 }, "expression": { - "id": 2287, + "id": 2288, "node_type": 27, "src": { "line": 1305, @@ -45684,11 +46386,11 @@ "start": 42874, "end": 42900, "length": 27, - "parent_index": 2286 + "parent_index": 2287 }, "operator": 11, "left_expression": { - "id": 2288, + "id": 2289, "node_type": 16, "src": { "line": 1305, @@ -45696,7 +46398,7 @@ "start": 42874, "end": 42889, "length": 16, - "parent_index": 2287 + "parent_index": 2288 }, "name": "_baseURIextended", "type_description": { @@ -45704,11 +46406,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2191, - "is_pure": false + "referenced_declaration": 2192, + "is_pure": false, + "text": "_baseURIextended" }, "right_expression": { - "id": 2289, + "id": 2290, "node_type": 16, "src": { "line": 1305, @@ -45716,7 +46419,7 @@ "start": 42893, "end": 42900, "length": 8, - "parent_index": 2287 + "parent_index": 2288 }, "name": "baseURI_", "type_description": { @@ -45724,8 +46427,9 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2289, - "is_pure": false + "referenced_declaration": 2290, + "is_pure": false, + "text": "baseURI_" }, "type_description": { "type_identifier": "t_string", @@ -45735,7 +46439,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_baseURIextended=baseURI_;" } ] }, @@ -45745,7 +46450,7 @@ "virtual": false, "modifiers": [ { - "id": 2281, + "id": 2282, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -45755,7 +46460,7 @@ "start": 42835, "end": 42862, "length": 28, - "parent_index": 2277 + "parent_index": 2278 }, "argument_types": [ { @@ -45765,7 +46470,7 @@ ], "arguments": [ { - "id": 2283, + "id": 2284, "node_type": 16, "src": { "line": 1304, @@ -45773,7 +46478,7 @@ "start": 42844, "end": 42861, "length": 18, - "parent_index": 2281 + "parent_index": 2282 }, "name": "DEFAULT_ADMIN_ROLE", "type_description": { @@ -45781,12 +46486,13 @@ "type_string": "int_const 0x00" }, "overloaded_declarations": [], - "referenced_declaration": 1831, - "is_pure": false + "referenced_declaration": 1832, + "is_pure": false, + "text": "DEFAULT_ADMIN_ROLE" } ], "modifier_name": { - "id": 2282, + "id": 2283, "name": "onlyRole", "node_type": 0, "src": { @@ -45795,14 +46501,14 @@ "start": 42835, "end": 42842, "length": 8, - "parent_index": 2281 + "parent_index": 2282 } } } ], "overrides": [], "parameters": { - "id": 2278, + "id": 2279, "node_type": 43, "src": { "line": 1304, @@ -45810,11 +46516,11 @@ "start": 42802, "end": 42823, "length": 22, - "parent_index": 2277 + "parent_index": 2278 }, "parameters": [ { - "id": 2279, + "id": 2280, "node_type": 44, "src": { "line": 1304, @@ -45822,12 +46528,12 @@ "start": 42802, "end": 42823, "length": 22, - "parent_index": 2278 + "parent_index": 2279 }, - "scope": 2277, + "scope": 2278, "name": "baseURI_", "type_name": { - "id": 2280, + "id": 2281, "node_type": 30, "src": { "line": 1304, @@ -45835,7 +46541,7 @@ "start": 42802, "end": 42807, "length": 6, - "parent_index": 2279 + "parent_index": 2280 }, "name": "string", "referenced_declaration": 0, @@ -45861,7 +46567,7 @@ ] }, "return_parameters": { - "id": 2284, + "id": 2285, "node_type": 43, "src": { "line": 1304, @@ -45869,21 +46575,22 @@ "start": 42782, "end": 42907, "length": 126, - "parent_index": 2277 + "parent_index": 2278 }, "parameters": [], "parameter_types": [] }, "signature_raw": "setBaseURI(string)", "signature": "55f804b3", - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsetBaseURI(stringmemorybaseURI_)externalonlyRole(DEFAULT_ADMIN_ROLE){_baseURIextended=baseURI_;}" }, { - "id": 2291, + "id": 2292, "name": "_setTokenURI", "node_type": 42, "kind": 41, @@ -45893,7 +46600,7 @@ "start": 42918, "end": 43129, "length": 212, - "parent_index": 2165 + "parent_index": 2166 }, "name_location": { "line": 1308, @@ -45901,10 +46608,10 @@ "start": 42927, "end": 42938, "length": 12, - "parent_index": 2291 + "parent_index": 2292 }, "body": { - "id": 2298, + "id": 2299, "node_type": 46, "kind": 0, "src": { @@ -45913,12 +46620,12 @@ "start": 42999, "end": 43129, "length": 131, - "parent_index": 2291 + "parent_index": 2292 }, "implemented": true, "statements": [ { - "id": 2299, + "id": 2300, "node_type": 24, "kind": 24, "src": { @@ -45927,7 +46634,7 @@ "start": 43009, "end": 43081, "length": 73, - "parent_index": 2298 + "parent_index": 2299 }, "argument_types": [ { @@ -45941,7 +46648,7 @@ ], "arguments": [ { - "id": 2301, + "id": 2302, "node_type": 24, "kind": 24, "src": { @@ -45950,7 +46657,7 @@ "start": 43017, "end": 43032, "length": 16, - "parent_index": 2299 + "parent_index": 2300 }, "argument_types": [ { @@ -45960,7 +46667,7 @@ ], "arguments": [ { - "id": 2303, + "id": 2304, "node_type": 16, "src": { "line": 1309, @@ -45968,7 +46675,7 @@ "start": 43025, "end": 43031, "length": 7, - "parent_index": 2301 + "parent_index": 2302 }, "name": "tokenId", "type_description": { @@ -45976,12 +46683,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2303, - "is_pure": false + "referenced_declaration": 2304, + "is_pure": false, + "text": "tokenId" } ], "expression": { - "id": 2302, + "id": 2303, "node_type": 16, "src": { "line": 1309, @@ -45989,7 +46697,7 @@ "start": 43017, "end": 43023, "length": 7, - "parent_index": 2301 + "parent_index": 2302 }, "name": "_exists", "type_description": { @@ -45998,7 +46706,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -46006,7 +46715,7 @@ } }, { - "id": 2304, + "id": 2305, "node_type": 17, "kind": 50, "value": "ERC721Metadata: URI set of nonexistent token", @@ -46017,7 +46726,7 @@ "start": 43035, "end": 43080, "length": 46, - "parent_index": 2299 + "parent_index": 2300 }, "type_description": { "type_identifier": "t_string_literal", @@ -46031,11 +46740,12 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721Metadata: URI set of nonexistent token\"" } ], "expression": { - "id": 2300, + "id": 2301, "node_type": 16, "src": { "line": 1309, @@ -46043,7 +46753,7 @@ "start": 43009, "end": 43015, "length": 7, - "parent_index": 2299 + "parent_index": 2300 }, "name": "require", "type_description": { @@ -46052,7 +46762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -46060,7 +46771,7 @@ } }, { - "id": 2305, + "id": 2306, "node_type": 27, "src": { "line": 1310, @@ -46068,10 +46779,10 @@ "start": 43092, "end": 43123, "length": 32, - "parent_index": 2298 + "parent_index": 2299 }, "expression": { - "id": 2306, + "id": 2307, "node_type": 27, "src": { "line": 1310, @@ -46079,11 +46790,11 @@ "start": 43092, "end": 43122, "length": 31, - "parent_index": 2305 + "parent_index": 2306 }, "operator": 11, "left_expression": { - "id": 2307, + "id": 2308, "node_type": 22, "src": { "line": 1310, @@ -46091,10 +46802,10 @@ "start": 43092, "end": 43110, "length": 19, - "parent_index": 2306 + "parent_index": 2307 }, "index_expression": { - "id": 2308, + "id": 2309, "node_type": 16, "src": { "line": 1310, @@ -46102,7 +46813,7 @@ "start": 43092, "end": 43101, "length": 10, - "parent_index": 2307 + "parent_index": 2308 }, "name": "_tokenURIs", "type_description": { @@ -46110,11 +46821,12 @@ "type_string": "mapping(uint256=\u003estring)" }, "overloaded_declarations": [], - "referenced_declaration": 2186, - "is_pure": false + "referenced_declaration": 2187, + "is_pure": false, + "text": "_tokenURIs" }, "base_expression": { - "id": 2309, + "id": 2310, "node_type": 16, "src": { "line": 1310, @@ -46122,7 +46834,7 @@ "start": 43103, "end": 43109, "length": 7, - "parent_index": 2307 + "parent_index": 2308 }, "name": "tokenId", "type_description": { @@ -46130,8 +46842,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2309, - "is_pure": false + "referenced_declaration": 2310, + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -46149,7 +46862,7 @@ } }, "right_expression": { - "id": 2310, + "id": 2311, "node_type": 16, "src": { "line": 1310, @@ -46157,7 +46870,7 @@ "start": 43114, "end": 43122, "length": 9, - "parent_index": 2306 + "parent_index": 2307 }, "name": "_tokenURI", "type_description": { @@ -46165,8 +46878,9 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2310, - "is_pure": false + "referenced_declaration": 2311, + "is_pure": false, + "text": "_tokenURI" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_string$]$_t_uint256]$", @@ -46176,7 +46890,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_uint256_$t_string$]$_t_uint256]$", "type_string": "index[mapping(uint256=\u003estring):uint256]" - } + }, + "text": "_tokenURIs[tokenId]=_tokenURI;" } ] }, @@ -46187,7 +46902,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2292, + "id": 2293, "node_type": 43, "src": { "line": 1308, @@ -46195,11 +46910,11 @@ "start": 42940, "end": 42979, "length": 40, - "parent_index": 2291 + "parent_index": 2292 }, "parameters": [ { - "id": 2293, + "id": 2294, "node_type": 44, "src": { "line": 1308, @@ -46207,12 +46922,12 @@ "start": 42940, "end": 42954, "length": 15, - "parent_index": 2292 + "parent_index": 2293 }, - "scope": 2291, + "scope": 2292, "name": "tokenId", "type_name": { - "id": 2294, + "id": 2295, "node_type": 30, "src": { "line": 1308, @@ -46220,7 +46935,7 @@ "start": 42940, "end": 42946, "length": 7, - "parent_index": 2293 + "parent_index": 2294 }, "name": "uint256", "referenced_declaration": 0, @@ -46238,7 +46953,7 @@ } }, { - "id": 2295, + "id": 2296, "node_type": 44, "src": { "line": 1308, @@ -46246,12 +46961,12 @@ "start": 42957, "end": 42979, "length": 23, - "parent_index": 2292 + "parent_index": 2293 }, - "scope": 2291, + "scope": 2292, "name": "_tokenURI", "type_name": { - "id": 2296, + "id": 2297, "node_type": 30, "src": { "line": 1308, @@ -46259,7 +46974,7 @@ "start": 42957, "end": 42962, "length": 6, - "parent_index": 2295 + "parent_index": 2296 }, "name": "string", "referenced_declaration": 0, @@ -46289,7 +47004,7 @@ ] }, "return_parameters": { - "id": 2297, + "id": 2298, "node_type": 43, "src": { "line": 1308, @@ -46297,21 +47012,22 @@ "start": 42918, "end": 43129, "length": 212, - "parent_index": 2291 + "parent_index": 2292 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_setTokenURI(uint256, string)", - "signature": "69bb72e1", - "scope": 2165, + "signature_raw": "_setTokenURI(uint256,string)", + "signature": "01538868", + "scope": 2166, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_string$", "type_string": "function(uint256,string)" - } + }, + "text": "function_setTokenURI(uint256tokenId,stringmemory_tokenURI)internalvirtual{require(_exists(tokenId),\"ERC721Metadata: URI set of nonexistent token\");_tokenURIs[tokenId]=_tokenURI;}" }, { - "id": 2312, + "id": 2313, "name": "_baseURI", "node_type": 42, "kind": 41, @@ -46321,7 +47037,7 @@ "start": 43140, "end": 43254, "length": 115, - "parent_index": 2165 + "parent_index": 2166 }, "name_location": { "line": 1313, @@ -46329,10 +47045,10 @@ "start": 43149, "end": 43156, "length": 8, - "parent_index": 2312 + "parent_index": 2313 }, "body": { - "id": 2320, + "id": 2321, "node_type": 46, "kind": 0, "src": { @@ -46341,12 +47057,12 @@ "start": 43215, "end": 43254, "length": 40, - "parent_index": 2312 + "parent_index": 2313 }, "implemented": true, "statements": [ { - "id": 2321, + "id": 2322, "node_type": 47, "src": { "line": 1314, @@ -46354,11 +47070,11 @@ "start": 43225, "end": 43248, "length": 24, - "parent_index": 2312 + "parent_index": 2313 }, - "function_return_parameters": 2312, + "function_return_parameters": 2313, "expression": { - "id": 2322, + "id": 2323, "node_type": 16, "src": { "line": 1314, @@ -46366,7 +47082,7 @@ "start": 43232, "end": 43247, "length": 16, - "parent_index": 2321 + "parent_index": 2322 }, "name": "_baseURIextended", "type_description": { @@ -46374,8 +47090,9 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2191, - "is_pure": false + "referenced_declaration": 2192, + "is_pure": false, + "text": "_baseURIextended" } } ] @@ -46387,7 +47104,7 @@ "modifiers": [], "overrides": [ { - "id": 2316, + "id": 2317, "node_type": 63, "src": { "line": 1313, @@ -46395,7 +47112,7 @@ "start": 43182, "end": 43189, "length": 8, - "parent_index": 2312 + "parent_index": 2313 }, "overrides": [], "referenced_declaration": 0, @@ -46406,7 +47123,7 @@ } ], "parameters": { - "id": 2313, + "id": 2314, "node_type": 43, "src": { "line": 1313, @@ -46414,11 +47131,11 @@ "start": 43200, "end": 43212, "length": 13, - "parent_index": 2312 + "parent_index": 2313 }, "parameters": [ { - "id": 2314, + "id": 2315, "node_type": 44, "src": { "line": 1313, @@ -46426,12 +47143,12 @@ "start": 43200, "end": 43212, "length": 13, - "parent_index": 2313 + "parent_index": 2314 }, - "scope": 2312, + "scope": 2313, "name": "", "type_name": { - "id": 2315, + "id": 2316, "node_type": 30, "src": { "line": 1313, @@ -46439,7 +47156,7 @@ "start": 43200, "end": 43205, "length": 6, - "parent_index": 2314 + "parent_index": 2315 }, "name": "string", "referenced_declaration": 0, @@ -46465,7 +47182,7 @@ ] }, "return_parameters": { - "id": 2317, + "id": 2318, "node_type": 43, "src": { "line": 1313, @@ -46473,11 +47190,11 @@ "start": 43200, "end": 43212, "length": 13, - "parent_index": 2312 + "parent_index": 2313 }, "parameters": [ { - "id": 2318, + "id": 2319, "node_type": 44, "src": { "line": 1313, @@ -46485,12 +47202,12 @@ "start": 43200, "end": 43212, "length": 13, - "parent_index": 2317 + "parent_index": 2318 }, - "scope": 2312, + "scope": 2313, "name": "", "type_name": { - "id": 2319, + "id": 2320, "node_type": 30, "src": { "line": 1313, @@ -46498,7 +47215,7 @@ "start": 43200, "end": 43205, "length": 6, - "parent_index": 2318 + "parent_index": 2319 }, "name": "string", "referenced_declaration": 0, @@ -46525,14 +47242,15 @@ }, "signature_raw": "_baseURI(string)", "signature": "5591a4da", - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "function_baseURI()internalviewvirtualoverridereturns(stringmemory){return_baseURIextended;}" }, { - "id": 2324, + "id": 2325, "name": "tokenURI", "node_type": 42, "kind": 41, @@ -46542,7 +47260,7 @@ "start": 43265, "end": 44038, "length": 774, - "parent_index": 2165 + "parent_index": 2166 }, "name_location": { "line": 1317, @@ -46550,10 +47268,10 @@ "start": 43274, "end": 43281, "length": 8, - "parent_index": 2324 + "parent_index": 2325 }, "body": { - "id": 2332, + "id": 2333, "node_type": 46, "kind": 0, "src": { @@ -46562,12 +47280,12 @@ "start": 43353, "end": 44038, "length": 686, - "parent_index": 2324 + "parent_index": 2325 }, "implemented": true, "statements": [ { - "id": 2333, + "id": 2334, "node_type": 24, "kind": 24, "src": { @@ -46576,7 +47294,7 @@ "start": 43363, "end": 43438, "length": 76, - "parent_index": 2332 + "parent_index": 2333 }, "argument_types": [ { @@ -46590,7 +47308,7 @@ ], "arguments": [ { - "id": 2335, + "id": 2336, "node_type": 24, "kind": 24, "src": { @@ -46599,7 +47317,7 @@ "start": 43371, "end": 43386, "length": 16, - "parent_index": 2333 + "parent_index": 2334 }, "argument_types": [ { @@ -46609,7 +47327,7 @@ ], "arguments": [ { - "id": 2337, + "id": 2338, "node_type": 16, "src": { "line": 1318, @@ -46617,7 +47335,7 @@ "start": 43379, "end": 43385, "length": 7, - "parent_index": 2335 + "parent_index": 2336 }, "name": "tokenId", "type_description": { @@ -46625,12 +47343,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2337, - "is_pure": false + "referenced_declaration": 2338, + "is_pure": false, + "text": "tokenId" } ], "expression": { - "id": 2336, + "id": 2337, "node_type": 16, "src": { "line": 1318, @@ -46638,7 +47357,7 @@ "start": 43371, "end": 43377, "length": 7, - "parent_index": 2335 + "parent_index": 2336 }, "name": "_exists", "type_description": { @@ -46647,7 +47366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_exists" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -46655,7 +47375,7 @@ } }, { - "id": 2338, + "id": 2339, "node_type": 17, "kind": 50, "value": "ERC721Metadata: URI query for nonexistent token", @@ -46666,7 +47386,7 @@ "start": 43389, "end": 43437, "length": 49, - "parent_index": 2333 + "parent_index": 2334 }, "type_description": { "type_identifier": "t_string_literal", @@ -46680,11 +47400,12 @@ "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" } - ] + ], + "text": "\"ERC721Metadata: URI query for nonexistent token\"" } ], "expression": { - "id": 2334, + "id": 2335, "node_type": 16, "src": { "line": 1318, @@ -46692,7 +47413,7 @@ "start": 43363, "end": 43369, "length": 7, - "parent_index": 2333 + "parent_index": 2334 }, "name": "require", "type_description": { @@ -46701,7 +47422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_string_literal$", @@ -46709,7 +47431,7 @@ } }, { - "id": 2339, + "id": 2340, "node_type": 44, "src": { "line": 1320, @@ -46717,25 +47439,25 @@ "start": 43450, "end": 43495, "length": 46, - "parent_index": 2332 + "parent_index": 2333 }, "assignments": [ - 2340 + 2341 ], "declarations": [ { - "id": 2340, + "id": 2341, "state_mutability": 1, "name": "_tokenURI", "node_type": 44, - "scope": 2332, + "scope": 2333, "src": { "line": 1320, "column": 8, "start": 43450, "end": 43472, "length": 23, - "parent_index": 2339 + "parent_index": 2340 }, "name_location": { "line": 1320, @@ -46743,12 +47465,12 @@ "start": 43464, "end": 43472, "length": 9, - "parent_index": 2340 + "parent_index": 2341 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 2341, + "id": 2342, "node_type": 30, "src": { "line": 1320, @@ -46756,7 +47478,7 @@ "start": 43450, "end": 43455, "length": 6, - "parent_index": 2340 + "parent_index": 2341 }, "name": "string", "referenced_declaration": 0, @@ -46769,7 +47491,7 @@ } ], "initial_value": { - "id": 2342, + "id": 2343, "node_type": 22, "src": { "line": 1320, @@ -46777,10 +47499,10 @@ "start": 43476, "end": 43494, "length": 19, - "parent_index": 2339 + "parent_index": 2340 }, "index_expression": { - "id": 2343, + "id": 2344, "node_type": 16, "src": { "line": 1320, @@ -46788,7 +47510,7 @@ "start": 43476, "end": 43485, "length": 10, - "parent_index": 2342 + "parent_index": 2343 }, "name": "_tokenURIs", "type_description": { @@ -46796,11 +47518,12 @@ "type_string": "mapping(uint256=\u003estring)" }, "overloaded_declarations": [], - "referenced_declaration": 2186, - "is_pure": false + "referenced_declaration": 2187, + "is_pure": false, + "text": "_tokenURIs" }, "base_expression": { - "id": 2344, + "id": 2345, "node_type": 16, "src": { "line": 1320, @@ -46808,7 +47531,7 @@ "start": 43487, "end": 43493, "length": 7, - "parent_index": 2342 + "parent_index": 2343 }, "name": "tokenId", "type_description": { @@ -46816,8 +47539,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2344, - "is_pure": false + "referenced_declaration": 2345, + "is_pure": false, + "text": "tokenId" }, "type_descriptions": [ { @@ -46836,7 +47560,7 @@ } }, { - "id": 2345, + "id": 2346, "node_type": 44, "src": { "line": 1321, @@ -46844,25 +47568,25 @@ "start": 43505, "end": 43536, "length": 32, - "parent_index": 2332 + "parent_index": 2333 }, "assignments": [ - 2346 + 2347 ], "declarations": [ { - "id": 2346, + "id": 2347, "state_mutability": 1, "name": "base", "node_type": 44, - "scope": 2332, + "scope": 2333, "src": { "line": 1321, "column": 8, "start": 43505, "end": 43522, "length": 18, - "parent_index": 2345 + "parent_index": 2346 }, "name_location": { "line": 1321, @@ -46870,12 +47594,12 @@ "start": 43519, "end": 43522, "length": 4, - "parent_index": 2346 + "parent_index": 2347 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 2347, + "id": 2348, "node_type": 30, "src": { "line": 1321, @@ -46883,7 +47607,7 @@ "start": 43505, "end": 43510, "length": 6, - "parent_index": 2346 + "parent_index": 2347 }, "name": "string", "referenced_declaration": 0, @@ -46896,7 +47620,7 @@ } ], "initial_value": { - "id": 2348, + "id": 2349, "node_type": 24, "kind": 24, "src": { @@ -46905,12 +47629,12 @@ "start": 43526, "end": 43535, "length": 10, - "parent_index": 2345 + "parent_index": 2346 }, "argument_types": [], "arguments": [], "expression": { - "id": 2349, + "id": 2350, "node_type": 16, "src": { "line": 1321, @@ -46918,7 +47642,7 @@ "start": 43526, "end": 43533, "length": 8, - "parent_index": 2348 + "parent_index": 2349 }, "name": "_baseURI", "type_description": { @@ -46927,7 +47651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_baseURI" }, "type_description": { "type_identifier": "t_function_$", @@ -46936,7 +47661,7 @@ } }, { - "id": 2350, + "id": 2351, "node_type": 48, "src": { "line": 1324, @@ -46944,10 +47669,10 @@ "start": 43613, "end": 43682, "length": 70, - "parent_index": 2332 + "parent_index": 2333 }, "condition": { - "id": 2351, + "id": 2352, "is_constant": false, "is_pure": false, "node_type": 19, @@ -46957,11 +47682,11 @@ "start": 43617, "end": 43639, "length": 23, - "parent_index": 2350 + "parent_index": 2351 }, "operator": 11, "left_expression": { - "id": 2352, + "id": 2353, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -46973,7 +47698,7 @@ "start": 43617, "end": 43634, "length": 18, - "parent_index": 2351 + "parent_index": 2352 }, "member_location": { "line": 1324, @@ -46981,10 +47706,10 @@ "start": 43629, "end": 43634, "length": 6, - "parent_index": 2352 + "parent_index": 2353 }, "expression": { - "id": 2353, + "id": 2354, "node_type": 24, "kind": 24, "src": { @@ -46993,7 +47718,7 @@ "start": 43617, "end": 43627, "length": 11, - "parent_index": 2352 + "parent_index": 2353 }, "argument_types": [ { @@ -47003,7 +47728,7 @@ ], "arguments": [ { - "id": 2356, + "id": 2357, "node_type": 16, "src": { "line": 1324, @@ -47011,7 +47736,7 @@ "start": 43623, "end": 43626, "length": 4, - "parent_index": 2353 + "parent_index": 2354 }, "name": "base", "type_description": { @@ -47019,12 +47744,13 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2345, - "is_pure": false + "referenced_declaration": 2346, + "is_pure": false, + "text": "base" } ], "expression": { - "id": 2354, + "id": 2355, "node_type": 16, "src": { "line": 1324, @@ -47032,11 +47758,11 @@ "start": 43617, "end": 43621, "length": 5, - "parent_index": 2353 + "parent_index": 2354 }, "name": "bytes", "type_name": { - "id": 2355, + "id": 2356, "node_type": 30, "src": { "line": 1324, @@ -47044,7 +47770,7 @@ "start": 43617, "end": 43621, "length": 5, - "parent_index": 2354 + "parent_index": 2355 }, "name": "bytes", "referenced_declaration": 0, @@ -47065,7 +47791,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -47077,10 +47804,11 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "bytes(base).length" }, "right_expression": { - "id": 2357, + "id": 2358, "node_type": 17, "kind": 49, "value": "0", @@ -47091,7 +47819,7 @@ "start": 43639, "end": 43639, "length": 1, - "parent_index": 2351 + "parent_index": 2352 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -47099,7 +47827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -47107,7 +47836,7 @@ } }, "body": { - "id": 2358, + "id": 2359, "node_type": 46, "kind": 0, "src": { @@ -47116,12 +47845,12 @@ "start": 43642, "end": 43682, "length": 41, - "parent_index": 2324 + "parent_index": 2325 }, "implemented": true, "statements": [ { - "id": 2359, + "id": 2360, "node_type": 47, "src": { "line": 1325, @@ -47129,11 +47858,11 @@ "start": 43656, "end": 43672, "length": 17, - "parent_index": 2324 + "parent_index": 2325 }, - "function_return_parameters": 2324, + "function_return_parameters": 2325, "expression": { - "id": 2360, + "id": 2361, "node_type": 16, "src": { "line": 1325, @@ -47141,7 +47870,7 @@ "start": 43663, "end": 43671, "length": 9, - "parent_index": 2359 + "parent_index": 2360 }, "name": "_tokenURI", "type_description": { @@ -47149,15 +47878,16 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2295, - "is_pure": false + "referenced_declaration": 2296, + "is_pure": false, + "text": "_tokenURI" } } ] } }, { - "id": 2361, + "id": 2362, "node_type": 48, "src": { "line": 1328, @@ -47165,10 +47895,10 @@ "start": 43781, "end": 43886, "length": 106, - "parent_index": 2332 + "parent_index": 2333 }, "condition": { - "id": 2362, + "id": 2363, "is_constant": false, "is_pure": false, "node_type": 19, @@ -47178,11 +47908,11 @@ "start": 43785, "end": 43811, "length": 27, - "parent_index": 2361 + "parent_index": 2362 }, "operator": 7, "left_expression": { - "id": 2363, + "id": 2364, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -47194,7 +47924,7 @@ "start": 43785, "end": 43807, "length": 23, - "parent_index": 2362 + "parent_index": 2363 }, "member_location": { "line": 1328, @@ -47202,10 +47932,10 @@ "start": 43802, "end": 43807, "length": 6, - "parent_index": 2363 + "parent_index": 2364 }, "expression": { - "id": 2364, + "id": 2365, "node_type": 24, "kind": 24, "src": { @@ -47214,7 +47944,7 @@ "start": 43785, "end": 43800, "length": 16, - "parent_index": 2363 + "parent_index": 2364 }, "argument_types": [ { @@ -47224,7 +47954,7 @@ ], "arguments": [ { - "id": 2367, + "id": 2368, "node_type": 16, "src": { "line": 1328, @@ -47232,7 +47962,7 @@ "start": 43791, "end": 43799, "length": 9, - "parent_index": 2364 + "parent_index": 2365 }, "name": "_tokenURI", "type_description": { @@ -47240,12 +47970,13 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2339, - "is_pure": false + "referenced_declaration": 2340, + "is_pure": false, + "text": "_tokenURI" } ], "expression": { - "id": 2365, + "id": 2366, "node_type": 16, "src": { "line": 1328, @@ -47253,11 +47984,11 @@ "start": 43785, "end": 43789, "length": 5, - "parent_index": 2364 + "parent_index": 2365 }, "name": "bytes", "type_name": { - "id": 2366, + "id": 2367, "node_type": 30, "src": { "line": 1328, @@ -47265,7 +47996,7 @@ "start": 43785, "end": 43789, "length": 5, - "parent_index": 2365 + "parent_index": 2366 }, "name": "bytes", "referenced_declaration": 0, @@ -47286,7 +48017,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function_$_t_string$", @@ -47298,10 +48030,11 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "bytes(_tokenURI).length" }, "right_expression": { - "id": 2368, + "id": 2369, "node_type": 17, "kind": 49, "value": "0", @@ -47312,7 +48045,7 @@ "start": 43811, "end": 43811, "length": 1, - "parent_index": 2362 + "parent_index": 2363 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -47320,7 +48053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -47328,7 +48062,7 @@ } }, "body": { - "id": 2369, + "id": 2370, "node_type": 46, "kind": 0, "src": { @@ -47337,12 +48071,12 @@ "start": 43814, "end": 43886, "length": 73, - "parent_index": 2324 + "parent_index": 2325 }, "implemented": true, "statements": [ { - "id": 2370, + "id": 2371, "node_type": 47, "src": { "line": 1329, @@ -47350,11 +48084,11 @@ "start": 43828, "end": 43876, "length": 49, - "parent_index": 2324 + "parent_index": 2325 }, - "function_return_parameters": 2324, + "function_return_parameters": 2325, "expression": { - "id": 2371, + "id": 2372, "node_type": 24, "kind": 24, "src": { @@ -47363,7 +48097,7 @@ "start": 43835, "end": 43875, "length": 41, - "parent_index": 2370 + "parent_index": 2371 }, "argument_types": [ { @@ -47373,7 +48107,7 @@ ], "arguments": [ { - "id": 2374, + "id": 2375, "node_type": 24, "kind": 24, "src": { @@ -47382,7 +48116,7 @@ "start": 43842, "end": 43874, "length": 33, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -47396,7 +48130,7 @@ ], "arguments": [ { - "id": 2377, + "id": 2378, "node_type": 16, "src": { "line": 1329, @@ -47404,7 +48138,7 @@ "start": 43859, "end": 43862, "length": 4, - "parent_index": 2374 + "parent_index": 2375 }, "name": "base", "type_description": { @@ -47413,10 +48147,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "base" }, { - "id": 2378, + "id": 2379, "node_type": 16, "src": { "line": 1329, @@ -47424,7 +48159,7 @@ "start": 43865, "end": 43873, "length": 9, - "parent_index": 2374 + "parent_index": 2375 }, "name": "_tokenURI", "type_description": { @@ -47439,11 +48174,12 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "_tokenURI" } ], "expression": { - "id": 2375, + "id": 2376, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -47455,7 +48191,7 @@ "start": 43842, "end": 43857, "length": 16, - "parent_index": 2374 + "parent_index": 2375 }, "member_location": { "line": 1329, @@ -47463,10 +48199,10 @@ "start": 43846, "end": 43857, "length": 12, - "parent_index": 2375 + "parent_index": 2376 }, "expression": { - "id": 2376, + "id": 2377, "node_type": 16, "src": { "line": 1329, @@ -47474,7 +48210,7 @@ "start": 43842, "end": 43844, "length": 3, - "parent_index": 2375 + "parent_index": 2376 }, "name": "abi", "type_description": { @@ -47483,14 +48219,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -47499,7 +48237,7 @@ } ], "expression": { - "id": 2372, + "id": 2373, "node_type": 16, "src": { "line": 1329, @@ -47507,11 +48245,11 @@ "start": 43835, "end": 43840, "length": 6, - "parent_index": 2371 + "parent_index": 2372 }, "name": "string", "type_name": { - "id": 2373, + "id": 2374, "node_type": 30, "src": { "line": 1329, @@ -47519,7 +48257,7 @@ "start": 43835, "end": 43840, "length": 6, - "parent_index": 2372 + "parent_index": 2373 }, "name": "string", "referenced_declaration": 0, @@ -47540,7 +48278,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -47552,7 +48291,7 @@ } }, { - "id": 2379, + "id": 2380, "node_type": 47, "src": { "line": 1332, @@ -47560,11 +48299,11 @@ "start": 43986, "end": 44032, "length": 47, - "parent_index": 2324 + "parent_index": 2325 }, - "function_return_parameters": 2324, + "function_return_parameters": 2325, "expression": { - "id": 2380, + "id": 2381, "node_type": 24, "kind": 24, "src": { @@ -47573,7 +48312,7 @@ "start": 43993, "end": 44031, "length": 39, - "parent_index": 2379 + "parent_index": 2380 }, "argument_types": [ { @@ -47583,7 +48322,7 @@ ], "arguments": [ { - "id": 2383, + "id": 2384, "node_type": 24, "kind": 24, "src": { @@ -47592,7 +48331,7 @@ "start": 44000, "end": 44030, "length": 31, - "parent_index": 2380 + "parent_index": 2381 }, "argument_types": [ { @@ -47606,7 +48345,7 @@ ], "arguments": [ { - "id": 2386, + "id": 2387, "node_type": 16, "src": { "line": 1332, @@ -47614,7 +48353,7 @@ "start": 44017, "end": 44020, "length": 4, - "parent_index": 2383 + "parent_index": 2384 }, "name": "base", "type_description": { @@ -47622,11 +48361,12 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2345, - "is_pure": false + "referenced_declaration": 2346, + "is_pure": false, + "text": "base" }, { - "id": 2387, + "id": 2388, "node_type": 16, "src": { "line": 1332, @@ -47634,7 +48374,7 @@ "start": 44023, "end": 44029, "length": 7, - "parent_index": 2383 + "parent_index": 2384 }, "name": "tokenId", "type_description": { @@ -47642,18 +48382,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2387, + "referenced_declaration": 2388, "is_pure": false, "argument_types": [ { "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "tokenId" } ], "expression": { - "id": 2384, + "id": 2385, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -47665,7 +48406,7 @@ "start": 44000, "end": 44015, "length": 16, - "parent_index": 2383 + "parent_index": 2384 }, "member_location": { "line": 1332, @@ -47673,10 +48414,10 @@ "start": 44004, "end": 44015, "length": 12, - "parent_index": 2384 + "parent_index": 2385 }, "expression": { - "id": 2385, + "id": 2386, "node_type": 16, "src": { "line": 1332, @@ -47684,7 +48425,7 @@ "start": 44000, "end": 44002, "length": 3, - "parent_index": 2384 + "parent_index": 2385 }, "name": "abi", "type_description": { @@ -47693,14 +48434,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_string$_t_uint256$", @@ -47709,7 +48452,7 @@ } ], "expression": { - "id": 2381, + "id": 2382, "node_type": 16, "src": { "line": 1332, @@ -47717,11 +48460,11 @@ "start": 43993, "end": 43998, "length": 6, - "parent_index": 2380 + "parent_index": 2381 }, "name": "string", "type_name": { - "id": 2382, + "id": 2383, "node_type": 30, "src": { "line": 1332, @@ -47729,7 +48472,7 @@ "start": 43993, "end": 43998, "length": 6, - "parent_index": 2381 + "parent_index": 2382 }, "name": "string", "referenced_declaration": 0, @@ -47750,7 +48493,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string$_t_uint256$", @@ -47767,7 +48511,7 @@ "modifiers": [], "overrides": [ { - "id": 2328, + "id": 2329, "node_type": 63, "src": { "line": 1317, @@ -47775,7 +48519,7 @@ "start": 43320, "end": 43327, "length": 8, - "parent_index": 2324 + "parent_index": 2325 }, "overrides": [], "referenced_declaration": 0, @@ -47786,7 +48530,7 @@ } ], "parameters": { - "id": 2325, + "id": 2326, "node_type": 43, "src": { "line": 1317, @@ -47794,11 +48538,11 @@ "start": 43283, "end": 43297, "length": 15, - "parent_index": 2324 + "parent_index": 2325 }, "parameters": [ { - "id": 2326, + "id": 2327, "node_type": 44, "src": { "line": 1317, @@ -47806,12 +48550,12 @@ "start": 43283, "end": 43297, "length": 15, - "parent_index": 2325 + "parent_index": 2326 }, - "scope": 2324, + "scope": 2325, "name": "tokenId", "type_name": { - "id": 2327, + "id": 2328, "node_type": 30, "src": { "line": 1317, @@ -47819,7 +48563,7 @@ "start": 43283, "end": 43289, "length": 7, - "parent_index": 2326 + "parent_index": 2327 }, "name": "uint256", "referenced_declaration": 0, @@ -47845,7 +48589,7 @@ ] }, "return_parameters": { - "id": 2329, + "id": 2330, "node_type": 43, "src": { "line": 1317, @@ -47853,11 +48597,11 @@ "start": 43338, "end": 43350, "length": 13, - "parent_index": 2324 + "parent_index": 2325 }, "parameters": [ { - "id": 2330, + "id": 2331, "node_type": 44, "src": { "line": 1317, @@ -47865,12 +48609,12 @@ "start": 43338, "end": 43350, "length": 13, - "parent_index": 2329 + "parent_index": 2330 }, - "scope": 2324, + "scope": 2325, "name": "", "type_name": { - "id": 2331, + "id": 2332, "node_type": 30, "src": { "line": 1317, @@ -47878,7 +48622,7 @@ "start": 43338, "end": 43343, "length": 6, - "parent_index": 2330 + "parent_index": 2331 }, "name": "string", "referenced_declaration": 0, @@ -47905,14 +48649,15 @@ }, "signature_raw": "tokenURI(uint256)", "signature": "c87b56dd", - "scope": 2165, + "scope": 2166, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontokenURI(uint256tokenId)publicviewvirtualoverridereturns(stringmemory){require(_exists(tokenId),\"ERC721Metadata: URI query for nonexistent token\");stringmemory_tokenURI=_tokenURIs[tokenId];stringmemorybase=_baseURI();if(bytes(base).length==0){return_tokenURI;}if(bytes(_tokenURI).length\u003e0){returnstring(abi.encodePacked(base,_tokenURI));}returnstring(abi.encodePacked(base,tokenId));}" }, { - "id": 2389, + "id": 2390, "name": "mint", "node_type": 42, "kind": 41, @@ -47922,7 +48667,7 @@ "start": 44045, "end": 44339, "length": 295, - "parent_index": 2165 + "parent_index": 2166 }, "name_location": { "line": 1335, @@ -47930,10 +48675,10 @@ "start": 44054, "end": 44057, "length": 4, - "parent_index": 2389 + "parent_index": 2390 }, "body": { - "id": 2401, + "id": 2402, "node_type": 46, "kind": 0, "src": { @@ -47942,12 +48687,12 @@ "start": 44148, "end": 44339, "length": 192, - "parent_index": 2389 + "parent_index": 2390 }, "implemented": true, "statements": [ { - "id": 2402, + "id": 2403, "node_type": 24, "kind": 24, "src": { @@ -47956,12 +48701,12 @@ "start": 44158, "end": 44178, "length": 21, - "parent_index": 2401 + "parent_index": 2402 }, "argument_types": [], "arguments": [], "expression": { - "id": 2403, + "id": 2404, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -47973,7 +48718,7 @@ "start": 44158, "end": 44176, "length": 19, - "parent_index": 2402 + "parent_index": 2403 }, "member_location": { "line": 1336, @@ -47981,10 +48726,10 @@ "start": 44168, "end": 44176, "length": 9, - "parent_index": 2403 + "parent_index": 2404 }, "expression": { - "id": 2404, + "id": 2405, "node_type": 16, "src": { "line": 1336, @@ -47992,7 +48737,7 @@ "start": 44158, "end": 44166, "length": 9, - "parent_index": 2403 + "parent_index": 2404 }, "name": "_tokenIds", "type_description": { @@ -48000,15 +48745,17 @@ "type_string": "contract Counters" }, "overloaded_declarations": [], - "referenced_declaration": 2176, - "is_pure": false + "referenced_declaration": 2177, + "is_pure": false, + "text": "_tokenIds" }, "member_name": "increment", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Counters_$1655", "type_string": "contract Counters" - } + }, + "text": "_tokenIds.increment" }, "type_description": { "type_identifier": "t_function_$", @@ -48016,7 +48763,7 @@ } }, { - "id": 2405, + "id": 2406, "node_type": 44, "src": { "line": 1337, @@ -48024,25 +48771,25 @@ "start": 44189, "end": 44228, "length": 40, - "parent_index": 2401 + "parent_index": 2402 }, "assignments": [ - 2406 + 2407 ], "declarations": [ { - "id": 2406, + "id": 2407, "state_mutability": 1, "name": "newItemId", "node_type": 44, - "scope": 2401, + "scope": 2402, "src": { "line": 1337, "column": 8, "start": 44189, "end": 44205, "length": 17, - "parent_index": 2405 + "parent_index": 2406 }, "name_location": { "line": 1337, @@ -48050,12 +48797,12 @@ "start": 44197, "end": 44205, "length": 9, - "parent_index": 2406 + "parent_index": 2407 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2407, + "id": 2408, "node_type": 30, "src": { "line": 1337, @@ -48063,7 +48810,7 @@ "start": 44189, "end": 44195, "length": 7, - "parent_index": 2406 + "parent_index": 2407 }, "name": "uint256", "referenced_declaration": 0, @@ -48076,7 +48823,7 @@ } ], "initial_value": { - "id": 2408, + "id": 2409, "node_type": 24, "kind": 24, "src": { @@ -48085,12 +48832,12 @@ "start": 44209, "end": 44227, "length": 19, - "parent_index": 2405 + "parent_index": 2406 }, "argument_types": [], "arguments": [], "expression": { - "id": 2409, + "id": 2410, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -48102,7 +48849,7 @@ "start": 44209, "end": 44225, "length": 17, - "parent_index": 2408 + "parent_index": 2409 }, "member_location": { "line": 1337, @@ -48110,10 +48857,10 @@ "start": 44219, "end": 44225, "length": 7, - "parent_index": 2409 + "parent_index": 2410 }, "expression": { - "id": 2410, + "id": 2411, "node_type": 16, "src": { "line": 1337, @@ -48121,7 +48868,7 @@ "start": 44209, "end": 44217, "length": 9, - "parent_index": 2409 + "parent_index": 2410 }, "name": "_tokenIds", "type_description": { @@ -48129,15 +48876,17 @@ "type_string": "contract Counters" }, "overloaded_declarations": [], - "referenced_declaration": 2176, - "is_pure": false + "referenced_declaration": 2177, + "is_pure": false, + "text": "_tokenIds" }, "member_name": "current", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Counters_$1655", "type_string": "contract Counters" - } + }, + "text": "_tokenIds.current" }, "type_description": { "type_identifier": "t_function_$", @@ -48146,7 +48895,7 @@ } }, { - "id": 2411, + "id": 2412, "node_type": 24, "kind": 24, "src": { @@ -48155,7 +48904,7 @@ "start": 44238, "end": 44263, "length": 26, - "parent_index": 2401 + "parent_index": 2402 }, "argument_types": [ { @@ -48169,7 +48918,7 @@ ], "arguments": [ { - "id": 2413, + "id": 2414, "node_type": 16, "src": { "line": 1338, @@ -48177,7 +48926,7 @@ "start": 44244, "end": 44251, "length": 8, - "parent_index": 2411 + "parent_index": 2412 }, "name": "receiver", "type_description": { @@ -48185,11 +48934,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2413, - "is_pure": false + "referenced_declaration": 2414, + "is_pure": false, + "text": "receiver" }, { - "id": 2414, + "id": 2415, "node_type": 16, "src": { "line": 1338, @@ -48197,7 +48947,7 @@ "start": 44254, "end": 44262, "length": 9, - "parent_index": 2411 + "parent_index": 2412 }, "name": "newItemId", "type_description": { @@ -48205,18 +48955,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2405, + "referenced_declaration": 2406, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newItemId" } ], "expression": { - "id": 2412, + "id": 2413, "node_type": 16, "src": { "line": 1338, @@ -48224,7 +48975,7 @@ "start": 44238, "end": 44242, "length": 5, - "parent_index": 2411 + "parent_index": 2412 }, "name": "_mint", "type_description": { @@ -48233,7 +48984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -48241,7 +48993,7 @@ } }, { - "id": 2415, + "id": 2416, "node_type": 24, "kind": 24, "src": { @@ -48250,7 +49002,7 @@ "start": 44274, "end": 44306, "length": 33, - "parent_index": 2401 + "parent_index": 2402 }, "argument_types": [ { @@ -48264,7 +49016,7 @@ ], "arguments": [ { - "id": 2417, + "id": 2418, "node_type": 16, "src": { "line": 1339, @@ -48272,7 +49024,7 @@ "start": 44287, "end": 44295, "length": 9, - "parent_index": 2415 + "parent_index": 2416 }, "name": "newItemId", "type_description": { @@ -48280,11 +49032,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2405, - "is_pure": false + "referenced_declaration": 2406, + "is_pure": false, + "text": "newItemId" }, { - "id": 2418, + "id": 2419, "node_type": 16, "src": { "line": 1339, @@ -48292,7 +49045,7 @@ "start": 44298, "end": 44305, "length": 8, - "parent_index": 2415 + "parent_index": 2416 }, "name": "metadata", "type_description": { @@ -48300,18 +49053,19 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 2418, + "referenced_declaration": 2419, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "metadata" } ], "expression": { - "id": 2416, + "id": 2417, "node_type": 16, "src": { "line": 1339, @@ -48319,7 +49073,7 @@ "start": 44274, "end": 44285, "length": 12, - "parent_index": 2415 + "parent_index": 2416 }, "name": "_setTokenURI", "type_description": { @@ -48328,7 +49082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setTokenURI" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_string$", @@ -48336,7 +49091,7 @@ } }, { - "id": 2419, + "id": 2420, "node_type": 47, "src": { "line": 1340, @@ -48344,11 +49099,11 @@ "start": 44317, "end": 44333, "length": 17, - "parent_index": 2389 + "parent_index": 2390 }, - "function_return_parameters": 2389, + "function_return_parameters": 2390, "expression": { - "id": 2420, + "id": 2421, "node_type": 16, "src": { "line": 1340, @@ -48356,7 +49111,7 @@ "start": 44324, "end": 44332, "length": 9, - "parent_index": 2419 + "parent_index": 2420 }, "name": "newItemId", "type_description": { @@ -48364,8 +49119,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2405, - "is_pure": false + "referenced_declaration": 2406, + "is_pure": false, + "text": "newItemId" } } ] @@ -48376,7 +49132,7 @@ "virtual": false, "modifiers": [ { - "id": 2395, + "id": 2396, "name": "onlyRole", "node_type": 72, "kind": 72, @@ -48386,7 +49142,7 @@ "start": 44108, "end": 44128, "length": 21, - "parent_index": 2389 + "parent_index": 2390 }, "argument_types": [ { @@ -48396,7 +49152,7 @@ ], "arguments": [ { - "id": 2397, + "id": 2398, "node_type": 16, "src": { "line": 1335, @@ -48404,7 +49160,7 @@ "start": 44117, "end": 44127, "length": 11, - "parent_index": 2395 + "parent_index": 2396 }, "name": "MINTER_ROLE", "type_description": { @@ -48412,12 +49168,13 @@ "type_string": "function(string memory)" }, "overloaded_declarations": [], - "referenced_declaration": 2180, - "is_pure": false + "referenced_declaration": 2181, + "is_pure": false, + "text": "MINTER_ROLE" } ], "modifier_name": { - "id": 2396, + "id": 2397, "name": "onlyRole", "node_type": 0, "src": { @@ -48426,14 +49183,14 @@ "start": 44108, "end": 44115, "length": 8, - "parent_index": 2395 + "parent_index": 2396 } } } ], "overrides": [], "parameters": { - "id": 2390, + "id": 2391, "node_type": 43, "src": { "line": 1335, @@ -48441,11 +49198,11 @@ "start": 44059, "end": 44098, "length": 40, - "parent_index": 2389 + "parent_index": 2390 }, "parameters": [ { - "id": 2391, + "id": 2392, "node_type": 44, "src": { "line": 1335, @@ -48453,12 +49210,12 @@ "start": 44059, "end": 44074, "length": 16, - "parent_index": 2390 + "parent_index": 2391 }, - "scope": 2389, + "scope": 2390, "name": "receiver", "type_name": { - "id": 2392, + "id": 2393, "node_type": 30, "src": { "line": 1335, @@ -48466,7 +49223,7 @@ "start": 44059, "end": 44065, "length": 7, - "parent_index": 2391 + "parent_index": 2392 }, "name": "address", "state_mutability": 4, @@ -48485,7 +49242,7 @@ } }, { - "id": 2393, + "id": 2394, "node_type": 44, "src": { "line": 1335, @@ -48493,12 +49250,12 @@ "start": 44077, "end": 44098, "length": 22, - "parent_index": 2390 + "parent_index": 2391 }, - "scope": 2389, + "scope": 2390, "name": "metadata", "type_name": { - "id": 2394, + "id": 2395, "node_type": 30, "src": { "line": 1335, @@ -48506,7 +49263,7 @@ "start": 44077, "end": 44082, "length": 6, - "parent_index": 2393 + "parent_index": 2394 }, "name": "string", "referenced_declaration": 0, @@ -48536,7 +49293,7 @@ ] }, "return_parameters": { - "id": 2398, + "id": 2399, "node_type": 43, "src": { "line": 1335, @@ -48544,11 +49301,11 @@ "start": 44139, "end": 44145, "length": 7, - "parent_index": 2389 + "parent_index": 2390 }, "parameters": [ { - "id": 2399, + "id": 2400, "node_type": 44, "src": { "line": 1335, @@ -48556,12 +49313,12 @@ "start": 44139, "end": 44145, "length": 7, - "parent_index": 2398 + "parent_index": 2399 }, - "scope": 2389, + "scope": 2390, "name": "", "type_name": { - "id": 2400, + "id": 2401, "node_type": 30, "src": { "line": 1335, @@ -48569,7 +49326,7 @@ "start": 44139, "end": 44145, "length": 7, - "parent_index": 2399 + "parent_index": 2400 }, "name": "uint256", "referenced_declaration": 0, @@ -48594,23 +49351,24 @@ } ] }, - "signature_raw": "mint(address, string)", - "signature": "8f4b6c49", - "scope": 2165, + "signature_raw": "mint(address,string)", + "signature": "d0def521", + "scope": 2166, "type_description": { "type_identifier": "t_function_$_t_address$_t_string$", "type_string": "function(address,string)" - } + }, + "text": "functionmint(addressreceiver,stringmemorymetadata)publiconlyRole(MINTER_ROLE)returns(uint256){_tokenIds.increment();uint256newItemId=_tokenIds.current();_mint(receiver,newItemId);_setTokenURI(newItemId,metadata);returnnewItemId;}" } ], "linearized_base_contracts": [ 867, 1798, - 2165 + 2166 ], "base_contracts": [ { - "id": 2166, + "id": 2167, "node_type": 62, "src": { "line": 1276, @@ -48618,10 +49376,10 @@ "start": 41700, "end": 41705, "length": 6, - "parent_index": 2165 + "parent_index": 2166 }, "base_name": { - "id": 2167, + "id": 2168, "node_type": 52, "src": { "line": 1276, @@ -48629,14 +49387,14 @@ "start": 41700, "end": 41705, "length": 6, - "parent_index": 2165 + "parent_index": 2166 }, "name": "ERC721", "referenced_declaration": 867 } }, { - "id": 2168, + "id": 2169, "node_type": 62, "src": { "line": 1276, @@ -48644,10 +49402,10 @@ "start": 41708, "end": 41720, "length": 13, - "parent_index": 2165 + "parent_index": 2166 }, "base_name": { - "id": 2169, + "id": 2170, "node_type": 52, "src": { "line": 1276, @@ -48655,7 +49413,7 @@ "start": 41708, "end": 41720, "length": 13, - "parent_index": 2165 + "parent_index": 2166 }, "name": "AccessControl", "referenced_declaration": 1798 diff --git a/data/tests/contracts/hello/NFTradeNFTToken.solgo.ast.proto.json b/data/tests/contracts/hello/NFTradeNFTToken.solgo.ast.proto.json index 6fa2e6d3..34c9f490 100644 --- a/data/tests/contracts/hello/NFTradeNFTToken.solgo.ast.proto.json +++ b/data/tests/contracts/hello/NFTradeNFTToken.solgo.ast.proto.json @@ -1,30 +1,30 @@ { "id": 126, - "entry_source_unit": 2152, + "entry_source_unit": 2153, "node_type": 80, "global_nodes": [ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "2421", + "id": "2422", "name": "Transfer", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "2422", + "id": "2423", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2423", + "id": "2424", "indexed": true, "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "2423", + "scope": "2424", "src": { "column": "19", "end": "1162", "length": "20", "line": "43", - "parentIndex": "2422", + "parentIndex": "2423", "start": "1143" }, "stateMutability": "NONPAYABLE", @@ -34,7 +34,7 @@ "typeString": "address" }, "typeName": { - "id": "2424", + "id": "2425", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42,7 +42,7 @@ "end": "1149", "length": "7", "line": "43", - "parentIndex": "2423", + "parentIndex": "2424", "start": "1143" }, "stateMutability": "NONPAYABLE", @@ -54,17 +54,17 @@ "visibility": "INTERNAL" }, { - "id": "2425", + "id": "2426", "indexed": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "2425", + "scope": "2426", "src": { "column": "41", "end": "1182", "length": "18", "line": "43", - "parentIndex": "2422", + "parentIndex": "2423", "start": "1165" }, "stateMutability": "NONPAYABLE", @@ -74,7 +74,7 @@ "typeString": "address" }, "typeName": { - "id": "2426", + "id": "2427", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -82,7 +82,7 @@ "end": "1171", "length": "7", "line": "43", - "parentIndex": "2425", + "parentIndex": "2426", "start": "1165" }, "stateMutability": "NONPAYABLE", @@ -94,17 +94,17 @@ "visibility": "INTERNAL" }, { - "id": "2427", + "id": "2428", "indexed": true, "name": "tokenId", "nodeType": "VARIABLE_DECLARATION", - "scope": "2427", + "scope": "2428", "src": { "column": "61", "end": "1207", "length": "23", "line": "43", - "parentIndex": "2422", + "parentIndex": "2423", "start": "1185" }, "stateMutability": "MUTABLE", @@ -114,7 +114,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2428", + "id": "2429", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -122,7 +122,7 @@ "end": "1191", "length": "7", "line": "43", - "parentIndex": "2427", + "parentIndex": "2428", "start": "1185" }, "typeDescription": { @@ -138,7 +138,7 @@ "end": "1209", "length": "82", "line": "43", - "parentIndex": "2421", + "parentIndex": "2422", "start": "1128" } }, @@ -150,7 +150,7 @@ "start": "1128" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Transfer_\u00262421", + "typeIdentifier": "t_event\u0026_Global_Transfer_\u00262422", "typeString": "event Global.Transfer" } } @@ -158,25 +158,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "2429", + "id": "2430", "name": "Approval", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "2430", + "id": "2431", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2431", + "id": "2432", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "2431", + "scope": "2432", "src": { "column": "19", "end": "1350", "length": "21", "line": "48", - "parentIndex": "2430", + "parentIndex": "2431", "start": "1330" }, "stateMutability": "NONPAYABLE", @@ -186,7 +186,7 @@ "typeString": "address" }, "typeName": { - "id": "2432", + "id": "2433", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -194,7 +194,7 @@ "end": "1336", "length": "7", "line": "48", - "parentIndex": "2431", + "parentIndex": "2432", "start": "1330" }, "stateMutability": "NONPAYABLE", @@ -206,17 +206,17 @@ "visibility": "INTERNAL" }, { - "id": "2433", + "id": "2434", "indexed": true, "name": "approved", "nodeType": "VARIABLE_DECLARATION", - "scope": "2433", + "scope": "2434", "src": { "column": "42", "end": "1376", "length": "24", "line": "48", - "parentIndex": "2430", + "parentIndex": "2431", "start": "1353" }, "stateMutability": "NONPAYABLE", @@ -226,7 +226,7 @@ "typeString": "address" }, "typeName": { - "id": "2434", + "id": "2435", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -234,7 +234,7 @@ "end": "1359", "length": "7", "line": "48", - "parentIndex": "2433", + "parentIndex": "2434", "start": "1353" }, "stateMutability": "NONPAYABLE", @@ -246,17 +246,17 @@ "visibility": "INTERNAL" }, { - "id": "2435", + "id": "2436", "indexed": true, "name": "tokenId", "nodeType": "VARIABLE_DECLARATION", - "scope": "2435", + "scope": "2436", "src": { "column": "68", "end": "1401", "length": "23", "line": "48", - "parentIndex": "2430", + "parentIndex": "2431", "start": "1379" }, "stateMutability": "MUTABLE", @@ -266,7 +266,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2436", + "id": "2437", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -274,7 +274,7 @@ "end": "1385", "length": "7", "line": "48", - "parentIndex": "2435", + "parentIndex": "2436", "start": "1379" }, "typeDescription": { @@ -290,7 +290,7 @@ "end": "1403", "length": "89", "line": "48", - "parentIndex": "2429", + "parentIndex": "2430", "start": "1315" } }, @@ -302,7 +302,7 @@ "start": "1315" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Approval_\u00262429", + "typeIdentifier": "t_event\u0026_Global_Approval_\u00262430", "typeString": "event Global.Approval" } } @@ -310,25 +310,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "2437", + "id": "2438", "name": "ApprovalForAll", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "2438", + "id": "2439", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2439", + "id": "2440", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "2439", + "scope": "2440", "src": { "column": "25", "end": "1573", "length": "21", "line": "53", - "parentIndex": "2438", + "parentIndex": "2439", "start": "1553" }, "stateMutability": "NONPAYABLE", @@ -338,7 +338,7 @@ "typeString": "address" }, "typeName": { - "id": "2440", + "id": "2441", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -346,7 +346,7 @@ "end": "1559", "length": "7", "line": "53", - "parentIndex": "2439", + "parentIndex": "2440", "start": "1553" }, "stateMutability": "NONPAYABLE", @@ -358,17 +358,17 @@ "visibility": "INTERNAL" }, { - "id": "2441", + "id": "2442", "indexed": true, "name": "operator", "nodeType": "VARIABLE_DECLARATION", - "scope": "2441", + "scope": "2442", "src": { "column": "48", "end": "1599", "length": "24", "line": "53", - "parentIndex": "2438", + "parentIndex": "2439", "start": "1576" }, "stateMutability": "NONPAYABLE", @@ -378,7 +378,7 @@ "typeString": "address" }, "typeName": { - "id": "2442", + "id": "2443", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -386,7 +386,7 @@ "end": "1582", "length": "7", "line": "53", - "parentIndex": "2441", + "parentIndex": "2442", "start": "1576" }, "stateMutability": "NONPAYABLE", @@ -398,16 +398,16 @@ "visibility": "INTERNAL" }, { - "id": "2443", + "id": "2444", "name": "approved", "nodeType": "VARIABLE_DECLARATION", - "scope": "2443", + "scope": "2444", "src": { "column": "74", "end": "1614", "length": "13", "line": "53", - "parentIndex": "2438", + "parentIndex": "2439", "start": "1602" }, "stateMutability": "MUTABLE", @@ -417,7 +417,7 @@ "typeString": "bool" }, "typeName": { - "id": "2444", + "id": "2445", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -425,7 +425,7 @@ "end": "1605", "length": "4", "line": "53", - "parentIndex": "2443", + "parentIndex": "2444", "start": "1602" }, "typeDescription": { @@ -441,7 +441,7 @@ "end": "1616", "length": "85", "line": "53", - "parentIndex": "2437", + "parentIndex": "2438", "start": "1532" } }, @@ -453,7 +453,7 @@ "start": "1532" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_ApprovalForAll_\u00262437", + "typeIdentifier": "t_event\u0026_Global_ApprovalForAll_\u00262438", "typeString": "event Global.ApprovalForAll" } } @@ -461,7 +461,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2445", + "id": "2446", "isConstant": true, "isStateVariable": true, "name": "size", @@ -480,7 +480,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2446", + "id": "2447", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -488,7 +488,7 @@ "end": "7978", "length": "7", "line": "256", - "parentIndex": "2445", + "parentIndex": "2446", "start": "7972" }, "typeDescription": { @@ -502,7 +502,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2447", + "id": "2448", "isConstant": true, "isStateVariable": true, "name": "success", @@ -521,7 +521,7 @@ "typeString": "bool" }, "typeName": { - "id": "2448", + "id": "2449", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -529,7 +529,7 @@ "end": "9172", "length": "4", "line": "282", - "parentIndex": "2447", + "parentIndex": "2448", "start": "9169" }, "typeDescription": { @@ -543,7 +543,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2449", + "id": "2450", "isConstant": true, "isStateVariable": true, "name": "success", @@ -562,7 +562,7 @@ "typeString": "bool" }, "typeName": { - "id": "2450", + "id": "2451", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -570,7 +570,7 @@ "end": "11894", "length": "4", "line": "356", - "parentIndex": "2449", + "parentIndex": "2450", "start": "11891" }, "typeDescription": { @@ -584,7 +584,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2451", + "id": "2452", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -603,7 +603,7 @@ "typeString": "bytes" }, "typeName": { - "id": "2452", + "id": "2453", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -611,7 +611,7 @@ "end": "11909", "length": "5", "line": "356", - "parentIndex": "2451", + "parentIndex": "2452", "start": "11905" }, "typeDescription": { @@ -625,7 +625,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2453", + "id": "2454", "isConstant": true, "isStateVariable": true, "name": "success", @@ -644,7 +644,7 @@ "typeString": "bool" }, "typeName": { - "id": "2454", + "id": "2455", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -652,7 +652,7 @@ "end": "12847", "length": "4", "line": "383", - "parentIndex": "2453", + "parentIndex": "2454", "start": "12844" }, "typeDescription": { @@ -666,7 +666,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2455", + "id": "2456", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -685,7 +685,7 @@ "typeString": "bytes" }, "typeName": { - "id": "2456", + "id": "2457", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -693,7 +693,7 @@ "end": "12862", "length": "5", "line": "383", - "parentIndex": "2455", + "parentIndex": "2456", "start": "12858" }, "typeDescription": { @@ -707,7 +707,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2457", + "id": "2458", "isConstant": true, "isStateVariable": true, "name": "success", @@ -726,7 +726,7 @@ "typeString": "bool" }, "typeName": { - "id": "2458", + "id": "2459", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -734,7 +734,7 @@ "end": "13796", "length": "4", "line": "410", - "parentIndex": "2457", + "parentIndex": "2458", "start": "13793" }, "typeDescription": { @@ -748,7 +748,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2459", + "id": "2460", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -767,7 +767,7 @@ "typeString": "bytes" }, "typeName": { - "id": "2460", + "id": "2461", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -775,7 +775,7 @@ "end": "13811", "length": "5", "line": "410", - "parentIndex": "2459", + "parentIndex": "2460", "start": "13807" }, "typeDescription": { @@ -789,12 +789,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2461", + "id": "2462", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30313233343536373839616263646566", - "id": "2463", + "id": "2464", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -803,7 +803,7 @@ "end": "15534", "length": "18", "line": "465", - "parentIndex": "2461", + "parentIndex": "2462", "start": "15517" }, "typeDescription": { @@ -831,7 +831,7 @@ "typeString": "literal_string \"0123456789abcdef\"" }, "typeName": { - "id": "2462", + "id": "2463", "name": "bytes16", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -839,7 +839,7 @@ "end": "15483", "length": "7", "line": "465", - "parentIndex": "2461", + "parentIndex": "2462", "start": "15477" }, "typeDescription": { @@ -853,7 +853,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2464", + "id": "2465", "isConstant": true, "isStateVariable": true, "name": "temp", @@ -872,7 +872,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2465", + "id": "2466", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -880,7 +880,7 @@ "end": "15972", "length": "7", "line": "477", - "parentIndex": "2464", + "parentIndex": "2465", "start": "15966" }, "typeDescription": { @@ -894,7 +894,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2466", + "id": "2467", "isConstant": true, "isStateVariable": true, "name": "digits", @@ -913,7 +913,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2467", + "id": "2468", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -921,7 +921,7 @@ "end": "16002", "length": "7", "line": "478", - "parentIndex": "2466", + "parentIndex": "2467", "start": "15996" }, "typeDescription": { @@ -935,7 +935,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2468", + "id": "2469", "isConstant": true, "isStateVariable": true, "name": "buffer", @@ -954,7 +954,7 @@ "typeString": "bytes" }, "typeName": { - "id": "2469", + "id": "2470", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -962,7 +962,7 @@ "end": "16108", "length": "5", "line": "483", - "parentIndex": "2468", + "parentIndex": "2469", "start": "16104" }, "typeDescription": { @@ -976,7 +976,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2470", + "id": "2471", "isConstant": true, "isStateVariable": true, "name": "temp", @@ -995,7 +995,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2471", + "id": "2472", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1003,7 +1003,7 @@ "end": "16598", "length": "7", "line": "499", - "parentIndex": "2470", + "parentIndex": "2471", "start": "16592" }, "typeDescription": { @@ -1017,7 +1017,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2472", + "id": "2473", "isConstant": true, "isStateVariable": true, "name": "length", @@ -1036,7 +1036,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2473", + "id": "2474", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1044,7 +1044,7 @@ "end": "16628", "length": "7", "line": "500", - "parentIndex": "2472", + "parentIndex": "2473", "start": "16622" }, "typeDescription": { @@ -1058,7 +1058,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2474", + "id": "2475", "isConstant": true, "isStateVariable": true, "name": "buffer", @@ -1077,7 +1077,7 @@ "typeString": "bytes" }, "typeName": { - "id": "2475", + "id": "2476", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1085,7 +1085,7 @@ "end": "17001", "length": "5", "line": "512", - "parentIndex": "2474", + "parentIndex": "2475", "start": "16997" }, "typeDescription": { @@ -1099,7 +1099,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2476", + "id": "2477", "isConstant": true, "isStateVariable": true, "name": "i", @@ -1118,7 +1118,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2477", + "id": "2478", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1126,7 +1126,7 @@ "end": "17115", "length": "7", "line": "515", - "parentIndex": "2476", + "parentIndex": "2477", "start": "17109" }, "typeDescription": { @@ -1140,7 +1140,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2478", + "id": "2479", "isStateVariable": true, "name": "_name", "nodeType": "VARIABLE_DECLARATION", @@ -1158,7 +1158,7 @@ "typeString": "string" }, "typeName": { - "id": "2479", + "id": "2480", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1166,7 +1166,7 @@ "end": "18931", "length": "6", "line": "573", - "parentIndex": "2478", + "parentIndex": "2479", "start": "18926" }, "typeDescription": { @@ -1180,7 +1180,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2480", + "id": "2481", "isStateVariable": true, "name": "_symbol", "nodeType": "VARIABLE_DECLARATION", @@ -1198,7 +1198,7 @@ "typeString": "string" }, "typeName": { - "id": "2481", + "id": "2482", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1206,7 +1206,7 @@ "end": "18978", "length": "6", "line": "576", - "parentIndex": "2480", + "parentIndex": "2481", "start": "18973" }, "typeDescription": { @@ -1220,7 +1220,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2482", + "id": "2483", "isStateVariable": true, "name": "_owners", "nodeType": "VARIABLE_DECLARATION", @@ -1238,9 +1238,9 @@ "typeString": "mapping(uint256=\u003eaddress)" }, "typeName": { - "id": "2483", + "id": "2484", "keyType": { - "id": "2484", + "id": "2485", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1248,7 +1248,7 @@ "end": "19062", "length": "7", "line": "579", - "parentIndex": "2483", + "parentIndex": "2484", "start": "19056" }, "typeDescription": { @@ -1261,15 +1261,16 @@ "end": "19062", "length": "7", "line": "579", - "parentIndex": "2483", + "parentIndex": "2484", "start": "19056" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "19074", "length": "27", "line": "579", - "parentIndex": "2482", + "parentIndex": "2483", "start": "19048" }, "typeDescription": { @@ -1277,7 +1278,7 @@ "typeString": "mapping(uint256=\u003eaddress)" }, "valueType": { - "id": "2485", + "id": "2486", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1285,7 +1286,7 @@ "end": "19073", "length": "7", "line": "579", - "parentIndex": "2483", + "parentIndex": "2484", "start": "19067" }, "typeDescription": { @@ -1298,7 +1299,7 @@ "end": "19073", "length": "7", "line": "579", - "parentIndex": "2483", + "parentIndex": "2484", "start": "19067" } }, @@ -1308,7 +1309,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2486", + "id": "2487", "isStateVariable": true, "name": "_balances", "nodeType": "VARIABLE_DECLARATION", @@ -1326,9 +1327,9 @@ "typeString": "mapping(address=\u003euint256)" }, "typeName": { - "id": "2487", + "id": "2488", "keyType": { - "id": "2488", + "id": "2489", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1336,7 +1337,7 @@ "end": "19156", "length": "7", "line": "582", - "parentIndex": "2487", + "parentIndex": "2488", "start": "19150" }, "typeDescription": { @@ -1349,15 +1350,16 @@ "end": "19156", "length": "7", "line": "582", - "parentIndex": "2487", + "parentIndex": "2488", "start": "19150" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "19168", "length": "27", "line": "582", - "parentIndex": "2486", + "parentIndex": "2487", "start": "19142" }, "typeDescription": { @@ -1365,7 +1367,7 @@ "typeString": "mapping(address=\u003euint256)" }, "valueType": { - "id": "2489", + "id": "2490", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1373,7 +1375,7 @@ "end": "19167", "length": "7", "line": "582", - "parentIndex": "2487", + "parentIndex": "2488", "start": "19161" }, "typeDescription": { @@ -1386,7 +1388,7 @@ "end": "19167", "length": "7", "line": "582", - "parentIndex": "2487", + "parentIndex": "2488", "start": "19161" } }, @@ -1396,7 +1398,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2490", + "id": "2491", "isStateVariable": true, "name": "_tokenApprovals", "nodeType": "VARIABLE_DECLARATION", @@ -1414,9 +1416,9 @@ "typeString": "mapping(uint256=\u003eaddress)" }, "typeName": { - "id": "2491", + "id": "2492", "keyType": { - "id": "2492", + "id": "2493", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1424,7 +1426,7 @@ "end": "19257", "length": "7", "line": "585", - "parentIndex": "2491", + "parentIndex": "2492", "start": "19251" }, "typeDescription": { @@ -1437,15 +1439,16 @@ "end": "19257", "length": "7", "line": "585", - "parentIndex": "2491", + "parentIndex": "2492", "start": "19251" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "19269", "length": "27", "line": "585", - "parentIndex": "2490", + "parentIndex": "2491", "start": "19243" }, "typeDescription": { @@ -1453,7 +1456,7 @@ "typeString": "mapping(uint256=\u003eaddress)" }, "valueType": { - "id": "2493", + "id": "2494", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1461,7 +1464,7 @@ "end": "19268", "length": "7", "line": "585", - "parentIndex": "2491", + "parentIndex": "2492", "start": "19262" }, "typeDescription": { @@ -1474,7 +1477,7 @@ "end": "19268", "length": "7", "line": "585", - "parentIndex": "2491", + "parentIndex": "2492", "start": "19262" } }, @@ -1484,7 +1487,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2494", + "id": "2495", "isStateVariable": true, "name": "_operatorApprovals", "nodeType": "VARIABLE_DECLARATION", @@ -1502,9 +1505,9 @@ "typeString": "mapping(address=\u003emapping(address=\u003ebool))" }, "typeName": { - "id": "2495", + "id": "2496", "keyType": { - "id": "2496", + "id": "2497", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1512,7 +1515,7 @@ "end": "19363", "length": "7", "line": "588", - "parentIndex": "2495", + "parentIndex": "2496", "start": "19357" }, "typeDescription": { @@ -1525,15 +1528,16 @@ "end": "19363", "length": "7", "line": "588", - "parentIndex": "2495", + "parentIndex": "2496", "start": "19357" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "19392", "length": "44", "line": "588", - "parentIndex": "2494", + "parentIndex": "2495", "start": "19349" }, "typeDescription": { @@ -1541,9 +1545,9 @@ "typeString": "mapping(address=\u003emapping(address=\u003ebool))" }, "valueType": { - "id": "2497", + "id": "2498", "keyType": { - "id": "2499", + "id": "2500", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1551,7 +1555,7 @@ "end": "19382", "length": "7", "line": "588", - "parentIndex": "2495", + "parentIndex": "2496", "start": "19376" }, "typeDescription": { @@ -1564,7 +1568,7 @@ "end": "19382", "length": "7", "line": "588", - "parentIndex": "2497", + "parentIndex": "2498", "start": "19376" }, "name": "mapping(address=\u003ebool)", @@ -1574,7 +1578,7 @@ "end": "19391", "length": "24", "line": "588", - "parentIndex": "2495", + "parentIndex": "2496", "start": "19368" }, "typeDescription": { @@ -1582,7 +1586,7 @@ "typeString": "mapping(address=\u003ebool)" }, "valueType": { - "id": "2500", + "id": "2501", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1590,7 +1594,7 @@ "end": "19390", "length": "4", "line": "588", - "parentIndex": "2495", + "parentIndex": "2496", "start": "19387" }, "typeDescription": { @@ -1603,7 +1607,7 @@ "end": "19390", "length": "4", "line": "588", - "parentIndex": "2497", + "parentIndex": "2498", "start": "19387" } }, @@ -1612,7 +1616,7 @@ "end": "19391", "length": "24", "line": "588", - "parentIndex": "2495", + "parentIndex": "2496", "start": "19368" } }, @@ -1622,7 +1626,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2501", + "id": "2502", "isConstant": true, "isStateVariable": true, "name": "owner", @@ -1641,7 +1645,7 @@ "typeString": "address" }, "typeName": { - "id": "2502", + "id": "2503", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1649,7 +1653,7 @@ "end": "20438", "length": "7", "line": "620", - "parentIndex": "2501", + "parentIndex": "2502", "start": "20432" }, "stateMutability": "NONPAYABLE", @@ -1664,7 +1668,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2503", + "id": "2504", "isConstant": true, "isStateVariable": true, "name": "baseURI", @@ -1683,7 +1687,7 @@ "typeString": "string" }, "typeName": { - "id": "2504", + "id": "2505", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1691,7 +1695,7 @@ "end": "21158", "length": "6", "line": "645", - "parentIndex": "2503", + "parentIndex": "2504", "start": "21153" }, "typeDescription": { @@ -1705,7 +1709,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2505", + "id": "2506", "isConstant": true, "isStateVariable": true, "name": "owner", @@ -1724,7 +1728,7 @@ "typeString": "address" }, "typeName": { - "id": "2506", + "id": "2507", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1732,7 +1736,7 @@ "end": "21773", "length": "7", "line": "662", - "parentIndex": "2505", + "parentIndex": "2506", "start": "21767" }, "stateMutability": "NONPAYABLE", @@ -1747,7 +1751,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2507", + "id": "2508", "isConstant": true, "isStateVariable": true, "name": "owner", @@ -1766,7 +1770,7 @@ "typeString": "address" }, "typeName": { - "id": "2508", + "id": "2509", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1774,7 +1778,7 @@ "end": "25927", "length": "7", "line": "786", - "parentIndex": "2507", + "parentIndex": "2508", "start": "25921" }, "stateMutability": "NONPAYABLE", @@ -1789,7 +1793,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2509", + "id": "2510", "isConstant": true, "isStateVariable": true, "name": "owner", @@ -1808,7 +1812,7 @@ "typeString": "address" }, "typeName": { - "id": "2510", + "id": "2511", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1816,7 +1820,7 @@ "end": "28019", "length": "7", "line": "855", - "parentIndex": "2509", + "parentIndex": "2510", "start": "28013" }, "stateMutability": "NONPAYABLE", @@ -1832,19 +1836,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Counter", - "id": "2511", + "id": "2512", "members": [ { - "id": "2512", + "id": "2513", "name": "_value", "nodeType": "VARIABLE_DECLARATION", - "scope": "2512", + "scope": "2513", "src": { "column": "8", "end": "32199", "length": "15", "line": "979", - "parentIndex": "2511", + "parentIndex": "2512", "start": "32185" }, "stateMutability": "MUTABLE", @@ -1853,7 +1857,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2513", + "id": "2514", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1861,7 +1865,7 @@ "end": "32191", "length": "7", "line": "979", - "parentIndex": "2512", + "parentIndex": "2513", "start": "32185" }, "typeDescription": { @@ -1878,7 +1882,7 @@ "end": "31859", "length": "7", "line": "975", - "parentIndex": "2511", + "parentIndex": "2512", "start": "31853" }, "nodeType": "STRUCT_DEFINITION", @@ -1891,7 +1895,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Counter_$2511", + "typeIdentifier": "t_struct$_Global_Counter_$2512", "typeString": "struct Global.Counter" }, "visibility": "PUBLIC" @@ -1900,7 +1904,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2514", + "id": "2515", "isConstant": true, "isStateVariable": true, "name": "value", @@ -1919,7 +1923,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2515", + "id": "2516", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1927,7 +1931,7 @@ "end": "32542", "length": "7", "line": "993", - "parentIndex": "2514", + "parentIndex": "2515", "start": "32536" }, "typeDescription": { @@ -1942,19 +1946,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.RoleData", - "id": "2516", + "id": "2517", "members": [ { - "id": "2517", + "id": "2518", "name": "members", "nodeType": "VARIABLE_DECLARATION", - "scope": "2517", + "scope": "2518", "src": { "column": "8", "end": "35082", "length": "33", "line": "1070", - "parentIndex": "2516", + "parentIndex": "2517", "start": "35050" }, "stateMutability": "MUTABLE", @@ -1963,9 +1967,9 @@ "typeString": "mapping(address=\u003ebool)" }, "typeName": { - "id": "2518", + "id": "2519", "keyType": { - "id": "2519", + "id": "2520", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1973,7 +1977,7 @@ "end": "35064", "length": "7", "line": "1070", - "parentIndex": "2518", + "parentIndex": "2519", "start": "35058" }, "typeDescription": { @@ -1986,15 +1990,16 @@ "end": "35064", "length": "7", "line": "1070", - "parentIndex": "2518", + "parentIndex": "2519", "start": "35058" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "35073", "length": "24", "line": "1070", - "parentIndex": "2517", + "parentIndex": "2518", "start": "35050" }, "typeDescription": { @@ -2002,7 +2007,7 @@ "typeString": "mapping(address=\u003ebool)" }, "valueType": { - "id": "2520", + "id": "2521", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2010,7 +2015,7 @@ "end": "35072", "length": "4", "line": "1070", - "parentIndex": "2518", + "parentIndex": "2519", "start": "35069" }, "typeDescription": { @@ -2023,23 +2028,23 @@ "end": "35072", "length": "4", "line": "1070", - "parentIndex": "2518", + "parentIndex": "2519", "start": "35069" } }, "visibility": "INTERNAL" }, { - "id": "2521", + "id": "2522", "name": "adminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "2521", + "scope": "2522", "src": { "column": "8", "end": "35109", "length": "18", "line": "1071", - "parentIndex": "2516", + "parentIndex": "2517", "start": "35092" }, "stateMutability": "MUTABLE", @@ -2048,7 +2053,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2522", + "id": "2523", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2056,7 +2061,7 @@ "end": "35098", "length": "7", "line": "1071", - "parentIndex": "2521", + "parentIndex": "2522", "start": "35092" }, "typeDescription": { @@ -2073,7 +2078,7 @@ "end": "35038", "length": "8", "line": "1069", - "parentIndex": "2516", + "parentIndex": "2517", "start": "35031" }, "nodeType": "STRUCT_DEFINITION", @@ -2086,7 +2091,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_RoleData_$2516", + "typeIdentifier": "t_struct$_Global_RoleData_$2517", "typeString": "struct Global.RoleData" }, "visibility": "PUBLIC" @@ -2095,7 +2100,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2523", + "id": "2524", "isStateVariable": true, "name": "_roles", "nodeType": "VARIABLE_DECLARATION", @@ -2109,13 +2114,13 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_Global_RoleData_$2517$", "typeString": "mapping(bytes32=\u003eRoleData)" }, "typeName": { - "id": "2524", + "id": "2525", "keyType": { - "id": "2525", + "id": "2526", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2123,7 +2128,7 @@ "end": "35136", "length": "7", "line": "1074", - "parentIndex": "2524", + "parentIndex": "2525", "start": "35130" }, "typeDescription": { @@ -2136,36 +2141,61 @@ "end": "35136", "length": "7", "line": "1074", - "parentIndex": "2524", + "parentIndex": "2525", "start": "35130" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "2528", + "name": "RoleData", + "nameLocation": { + "column": "23", + "end": "35148", + "length": "8", + "line": "1074", + "parentIndex": "2525", + "start": "35141" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "2517", + "src": { + "column": "23", + "end": "35148", + "length": "8", + "line": "1074", + "parentIndex": "2525", + "start": "35141" + } + }, + "referencedDeclaration": "2517", "src": { "column": "4", "end": "35149", "length": "28", "line": "1074", - "parentIndex": "2523", + "parentIndex": "2524", "start": "35122" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_Global_RoleData_$2517$", "typeString": "mapping(bytes32=\u003eRoleData)" }, "valueType": { - "id": "2526", + "id": "2527", "name": "RoleData", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "2517", "src": { "column": "23", "end": "35148", "length": "8", "line": "1074", - "parentIndex": "2524", + "parentIndex": "2525", "start": "35141" }, "typeDescription": { - "typeIdentifier": "t_RoleData", - "typeString": "RoleData" + "typeIdentifier": "t_struct$_Global_RoleData_$2517", + "typeString": "struct Global.RoleData" } }, "valueTypeLocation": { @@ -2173,7 +2203,7 @@ "end": "35148", "length": "8", "line": "1074", - "parentIndex": "2524", + "parentIndex": "2525", "start": "35141" } }, @@ -2183,12 +2213,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2527", + "id": "2529", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30783030", - "id": "2529", + "id": "2531", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -2197,7 +2227,7 @@ "end": "35220", "length": "4", "line": "1076", - "parentIndex": "2527", + "parentIndex": "2529", "start": "35217" }, "typeDescription": { @@ -2225,7 +2255,7 @@ "typeString": "int_const 0x00" }, "typeName": { - "id": "2528", + "id": "2530", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2233,7 +2263,7 @@ "end": "35178", "length": "7", "line": "1076", - "parentIndex": "2527", + "parentIndex": "2529", "start": "35172" }, "typeDescription": { @@ -2247,25 +2277,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "2530", + "id": "2532", "name": "RoleAdminChanged", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "2531", + "id": "2533", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2532", + "id": "2534", "indexed": true, "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2532", + "scope": "2534", "src": { "column": "27", "end": "35567", "length": "20", "line": "1086", - "parentIndex": "2531", + "parentIndex": "2533", "start": "35548" }, "stateMutability": "MUTABLE", @@ -2275,7 +2305,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2533", + "id": "2535", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2283,7 +2313,7 @@ "end": "35554", "length": "7", "line": "1086", - "parentIndex": "2532", + "parentIndex": "2534", "start": "35548" }, "typeDescription": { @@ -2294,17 +2324,17 @@ "visibility": "INTERNAL" }, { - "id": "2534", + "id": "2536", "indexed": true, "name": "previousAdminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "2534", + "scope": "2536", "src": { "column": "49", "end": "35602", "length": "33", "line": "1086", - "parentIndex": "2531", + "parentIndex": "2533", "start": "35570" }, "stateMutability": "MUTABLE", @@ -2314,7 +2344,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2535", + "id": "2537", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2322,7 +2352,7 @@ "end": "35576", "length": "7", "line": "1086", - "parentIndex": "2534", + "parentIndex": "2536", "start": "35570" }, "typeDescription": { @@ -2333,17 +2363,17 @@ "visibility": "INTERNAL" }, { - "id": "2536", + "id": "2538", "indexed": true, "name": "newAdminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "2536", + "scope": "2538", "src": { "column": "84", "end": "35632", "length": "28", "line": "1086", - "parentIndex": "2531", + "parentIndex": "2533", "start": "35605" }, "stateMutability": "MUTABLE", @@ -2353,7 +2383,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2537", + "id": "2539", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2361,7 +2391,7 @@ "end": "35611", "length": "7", "line": "1086", - "parentIndex": "2536", + "parentIndex": "2538", "start": "35605" }, "typeDescription": { @@ -2377,7 +2407,7 @@ "end": "35634", "length": "110", "line": "1086", - "parentIndex": "2530", + "parentIndex": "2532", "start": "35525" } }, @@ -2389,7 +2419,7 @@ "start": "35525" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_RoleAdminChanged_\u00262530", + "typeIdentifier": "t_event\u0026_Global_RoleAdminChanged_\u00262532", "typeString": "event Global.RoleAdminChanged" } } @@ -2397,25 +2427,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "2538", + "id": "2540", "name": "RoleGranted", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "2539", + "id": "2541", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2540", + "id": "2542", "indexed": true, "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2540", + "scope": "2542", "src": { "column": "22", "end": "35881", "length": "20", "line": "1094", - "parentIndex": "2539", + "parentIndex": "2541", "start": "35862" }, "stateMutability": "MUTABLE", @@ -2425,7 +2455,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2541", + "id": "2543", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2433,7 +2463,7 @@ "end": "35868", "length": "7", "line": "1094", - "parentIndex": "2540", + "parentIndex": "2542", "start": "35862" }, "typeDescription": { @@ -2444,17 +2474,17 @@ "visibility": "INTERNAL" }, { - "id": "2542", + "id": "2544", "indexed": true, "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2542", + "scope": "2544", "src": { "column": "44", "end": "35906", "length": "23", "line": "1094", - "parentIndex": "2539", + "parentIndex": "2541", "start": "35884" }, "stateMutability": "NONPAYABLE", @@ -2464,7 +2494,7 @@ "typeString": "address" }, "typeName": { - "id": "2543", + "id": "2545", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2472,7 +2502,7 @@ "end": "35890", "length": "7", "line": "1094", - "parentIndex": "2542", + "parentIndex": "2544", "start": "35884" }, "stateMutability": "NONPAYABLE", @@ -2484,17 +2514,17 @@ "visibility": "INTERNAL" }, { - "id": "2544", + "id": "2546", "indexed": true, "name": "sender", "nodeType": "VARIABLE_DECLARATION", - "scope": "2544", + "scope": "2546", "src": { "column": "69", "end": "35930", "length": "22", "line": "1094", - "parentIndex": "2539", + "parentIndex": "2541", "start": "35909" }, "stateMutability": "NONPAYABLE", @@ -2504,7 +2534,7 @@ "typeString": "address" }, "typeName": { - "id": "2545", + "id": "2547", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2512,7 +2542,7 @@ "end": "35915", "length": "7", "line": "1094", - "parentIndex": "2544", + "parentIndex": "2546", "start": "35909" }, "stateMutability": "NONPAYABLE", @@ -2529,7 +2559,7 @@ "end": "35932", "length": "89", "line": "1094", - "parentIndex": "2538", + "parentIndex": "2540", "start": "35844" } }, @@ -2541,7 +2571,7 @@ "start": "35844" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_RoleGranted_\u00262538", + "typeIdentifier": "t_event\u0026_Global_RoleGranted_\u00262540", "typeString": "event Global.RoleGranted" } } @@ -2549,25 +2579,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "2546", + "id": "2548", "name": "RoleRevoked", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "2547", + "id": "2549", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2548", + "id": "2550", "indexed": true, "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2548", + "scope": "2550", "src": { "column": "22", "end": "36256", "length": "20", "line": "1103", - "parentIndex": "2547", + "parentIndex": "2549", "start": "36237" }, "stateMutability": "MUTABLE", @@ -2577,7 +2607,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2549", + "id": "2551", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2585,7 +2615,7 @@ "end": "36243", "length": "7", "line": "1103", - "parentIndex": "2548", + "parentIndex": "2550", "start": "36237" }, "typeDescription": { @@ -2596,17 +2626,17 @@ "visibility": "INTERNAL" }, { - "id": "2550", + "id": "2552", "indexed": true, "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2550", + "scope": "2552", "src": { "column": "44", "end": "36281", "length": "23", "line": "1103", - "parentIndex": "2547", + "parentIndex": "2549", "start": "36259" }, "stateMutability": "NONPAYABLE", @@ -2616,7 +2646,7 @@ "typeString": "address" }, "typeName": { - "id": "2551", + "id": "2553", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2624,7 +2654,7 @@ "end": "36265", "length": "7", "line": "1103", - "parentIndex": "2550", + "parentIndex": "2552", "start": "36259" }, "stateMutability": "NONPAYABLE", @@ -2636,17 +2666,17 @@ "visibility": "INTERNAL" }, { - "id": "2552", + "id": "2554", "indexed": true, "name": "sender", "nodeType": "VARIABLE_DECLARATION", - "scope": "2552", + "scope": "2554", "src": { "column": "69", "end": "36305", "length": "22", "line": "1103", - "parentIndex": "2547", + "parentIndex": "2549", "start": "36284" }, "stateMutability": "NONPAYABLE", @@ -2656,7 +2686,7 @@ "typeString": "address" }, "typeName": { - "id": "2553", + "id": "2555", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2664,7 +2694,7 @@ "end": "36290", "length": "7", "line": "1103", - "parentIndex": "2552", + "parentIndex": "2554", "start": "36284" }, "stateMutability": "NONPAYABLE", @@ -2681,7 +2711,7 @@ "end": "36307", "length": "89", "line": "1103", - "parentIndex": "2546", + "parentIndex": "2548", "start": "36219" } }, @@ -2693,7 +2723,7 @@ "start": "36219" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_RoleRevoked_\u00262546", + "typeIdentifier": "t_event\u0026_Global_RoleRevoked_\u00262548", "typeString": "event Global.RoleRevoked" } } @@ -2701,7 +2731,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2554", + "id": "2556", "isStateVariable": true, "name": "_tokenIds", "nodeType": "VARIABLE_DECLARATION", @@ -2719,17 +2749,17 @@ "typeString": "contract Counters" }, "typeName": { - "id": "2555", + "id": "2557", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2556", + "id": "2558", "name": "Counters", "nameLocation": { "column": "4", "end": "41776", "length": "8", "line": "1278", - "parentIndex": "2555", + "parentIndex": "2557", "start": "41769" }, "nodeType": "IDENTIFIER_PATH", @@ -2739,7 +2769,7 @@ "end": "41784", "length": "16", "line": "1278", - "parentIndex": "2555", + "parentIndex": "2557", "start": "41769" } }, @@ -2749,7 +2779,7 @@ "end": "41784", "length": "16", "line": "1278", - "parentIndex": "2554", + "parentIndex": "2556", "start": "41769" }, "typeDescription": { @@ -2763,7 +2793,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2557", + "id": "2559", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -2778,7 +2808,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4d494e5445525f524f4c45", - "id": "2561", + "id": "2563", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -2787,7 +2817,7 @@ "end": "41870", "length": "13", "line": "1280", - "parentIndex": "2559", + "parentIndex": "2561", "start": "41858" }, "typeDescription": { @@ -2801,7 +2831,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2560", + "id": "2562", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -2809,7 +2839,7 @@ "end": "41856", "length": "9", "line": "1280", - "parentIndex": "2559", + "parentIndex": "2561", "start": "41848" }, "typeDescription": { @@ -2818,7 +2848,7 @@ } } }, - "id": "2559", + "id": "2561", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -2826,7 +2856,7 @@ "end": "41871", "length": "24", "line": "1280", - "parentIndex": "2557", + "parentIndex": "2559", "start": "41848" }, "typeDescription": { @@ -2853,7 +2883,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "2558", + "id": "2560", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2861,7 +2891,7 @@ "end": "41816", "length": "7", "line": "1280", - "parentIndex": "2557", + "parentIndex": "2559", "start": "41810" }, "typeDescription": { @@ -2875,7 +2905,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2562", + "id": "2564", "isStateVariable": true, "name": "_tokenURIs", "nodeType": "VARIABLE_DECLARATION", @@ -2893,9 +2923,9 @@ "typeString": "mapping(uint256=\u003estring)" }, "typeName": { - "id": "2563", + "id": "2565", "keyType": { - "id": "2564", + "id": "2566", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2903,7 +2933,7 @@ "end": "41933", "length": "7", "line": "1283", - "parentIndex": "2563", + "parentIndex": "2565", "start": "41927" }, "typeDescription": { @@ -2916,15 +2946,16 @@ "end": "41933", "length": "7", "line": "1283", - "parentIndex": "2563", + "parentIndex": "2565", "start": "41927" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "41944", "length": "27", "line": "1283", - "parentIndex": "2562", + "parentIndex": "2564", "start": "41918" }, "typeDescription": { @@ -2932,7 +2963,7 @@ "typeString": "mapping(uint256=\u003estring)" }, "valueType": { - "id": "2565", + "id": "2567", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2940,7 +2971,7 @@ "end": "41943", "length": "6", "line": "1283", - "parentIndex": "2563", + "parentIndex": "2565", "start": "41938" }, "typeDescription": { @@ -2953,7 +2984,7 @@ "end": "41943", "length": "6", "line": "1283", - "parentIndex": "2563", + "parentIndex": "2565", "start": "41938" } }, @@ -2963,7 +2994,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2566", + "id": "2568", "isStateVariable": true, "name": "_baseURIextended", "nodeType": "VARIABLE_DECLARATION", @@ -2981,7 +3012,7 @@ "typeString": "string" }, "typeName": { - "id": "2567", + "id": "2569", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2989,7 +3020,7 @@ "end": "41992", "length": "6", "line": "1286", - "parentIndex": "2566", + "parentIndex": "2568", "start": "41987" }, "typeDescription": { @@ -3003,7 +3034,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2568", + "id": "2570", "isConstant": true, "isStateVariable": true, "name": "_tokenURI", @@ -3022,7 +3053,7 @@ "typeString": "string" }, "typeName": { - "id": "2569", + "id": "2571", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3030,7 +3061,7 @@ "end": "43455", "length": "6", "line": "1320", - "parentIndex": "2568", + "parentIndex": "2570", "start": "43450" }, "typeDescription": { @@ -3044,7 +3075,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2570", + "id": "2572", "isConstant": true, "isStateVariable": true, "name": "base", @@ -3063,7 +3094,7 @@ "typeString": "string" }, "typeName": { - "id": "2571", + "id": "2573", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3071,7 +3102,7 @@ "end": "43510", "length": "6", "line": "1321", - "parentIndex": "2570", + "parentIndex": "2572", "start": "43505" }, "typeDescription": { @@ -3085,7 +3116,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2572", + "id": "2574", "isConstant": true, "isStateVariable": true, "name": "newItemId", @@ -3104,7 +3135,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2573", + "id": "2575", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3112,7 +3143,7 @@ "end": "44195", "length": "7", "line": "1337", - "parentIndex": "2572", + "parentIndex": "2574", "start": "44189" }, "typeDescription": { @@ -4375,7 +4406,7 @@ } }, "scope": "142", - "signature": "ab790ba3", + "signature": "42842e0e", "src": { "column": "4", "end": "2800", @@ -4562,7 +4593,7 @@ } }, "scope": "142", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "3419", @@ -4710,7 +4741,7 @@ } }, "scope": "142", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "3937", @@ -5008,7 +5039,7 @@ } }, "scope": "142", - "signature": "989579aa", + "signature": "a22cb465", "src": { "column": "4", "end": "4556", @@ -5196,7 +5227,7 @@ } }, "scope": "142", - "signature": "3a95ab7f", + "signature": "e985e9c5", "src": { "column": "4", "end": "4793", @@ -5421,7 +5452,7 @@ } }, "scope": "142", - "signature": "a2077142", + "signature": "b88d4fde", "src": { "column": "4", "end": "5497", @@ -5764,7 +5795,7 @@ } }, "scope": "267", - "signature": "acb7d9e3", + "signature": "150b7a02", "src": { "column": "4", "end": "6363", @@ -7528,7 +7559,7 @@ } }, "scope": "324", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "9314", @@ -7876,7 +7907,7 @@ } }, "scope": "324", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "10229", @@ -8301,7 +8332,7 @@ } }, "scope": "324", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "10674", @@ -8726,7 +8757,7 @@ } }, "scope": "324", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "11290", @@ -9773,7 +9804,7 @@ } }, "scope": "324", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "12038", @@ -10121,7 +10152,7 @@ } }, "scope": "324", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "12412", @@ -10867,7 +10898,7 @@ } }, "scope": "324", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "12983", @@ -11215,7 +11246,7 @@ } }, "scope": "324", - "signature": "ce0c9802", + "signature": "ee33b7e2", "src": { "column": "4", "end": "13360", @@ -11961,7 +11992,7 @@ } }, "scope": "324", - "signature": "a6f0db75", + "signature": "57387df0", "src": { "column": "4", "end": "13934", @@ -12280,7 +12311,7 @@ } }, "scope": "324", - "signature": "2ce6cb58", + "signature": "18c2c6a2", "src": { "column": "4", "end": "14632", @@ -16928,7 +16959,7 @@ } }, "scope": "645", - "signature": "b440c739", + "signature": "63e1cbea", "src": { "column": "4", "end": "17337", @@ -17773,6 +17804,7 @@ "parentIndex": "902", "start": "19056" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "19074", @@ -17863,6 +17895,7 @@ "parentIndex": "907", "start": "19150" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "19168", @@ -17953,6 +17986,7 @@ "parentIndex": "912", "start": "19251" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "19269", @@ -18043,6 +18077,7 @@ "parentIndex": "917", "start": "19357" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "19392", @@ -22405,7 +22440,7 @@ } }, "scope": "877", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "22087", @@ -23473,7 +23508,7 @@ } }, "scope": "877", - "signature": "989579aa", + "signature": "a22cb465", "src": { "column": "4", "end": "22722", @@ -23825,7 +23860,7 @@ } }, "scope": "877", - "signature": "3a95ab7f", + "signature": "e985e9c5", "src": { "column": "4", "end": "22950", @@ -24371,7 +24406,7 @@ } }, "scope": "877", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "23342", @@ -24755,7 +24790,7 @@ } }, "scope": "877", - "signature": "ab790ba3", + "signature": "42842e0e", "src": { "column": "4", "end": "23587", @@ -25378,7 +25413,7 @@ } }, "scope": "877", - "signature": "a2077142", + "signature": "b88d4fde", "src": { "column": "4", "end": "23973", @@ -25999,7 +26034,7 @@ } }, "scope": "877", - "signature": "b65f2f53", + "signature": "24b6b8c0", "src": { "column": "4", "end": "25142", @@ -27220,7 +27255,7 @@ } }, "scope": "877", - "signature": "0fecaa15", + "signature": "4cdc9549", "src": { "column": "4", "end": "26072", @@ -27508,7 +27543,7 @@ } }, "scope": "877", - "signature": "df7f3eab", + "signature": "b3e1c718", "src": { "column": "4", "end": "26510", @@ -28129,7 +28164,7 @@ } }, "scope": "877", - "signature": "5fa2bef5", + "signature": "6a4f832b", "src": { "column": "4", "end": "27042", @@ -29320,7 +29355,7 @@ } }, "scope": "877", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "27736", @@ -31816,7 +31851,7 @@ } }, "scope": "877", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "29185", @@ -32279,7 +32314,7 @@ } }, "scope": "877", - "signature": "74fb7ab4", + "signature": "7b7d7225", "src": { "column": "4", "end": "29467", @@ -33456,7 +33491,7 @@ } }, "scope": "877", - "signature": "c3eec764", + "signature": "1fd01de1", "src": { "column": "4", "end": "30802", @@ -33645,7 +33680,7 @@ } }, "scope": "877", - "signature": "03cc7b47", + "signature": "cad3be83", "src": { "column": "4", "end": "31480", @@ -35376,7 +35411,7 @@ } }, "scope": "1750", - "signature": "86282e07", + "signature": "91d14854", "src": { "column": "4", "end": "33136", @@ -35672,7 +35707,7 @@ } }, "scope": "1750", - "signature": "44f0a842", + "signature": "2f2ff15d", "src": { "column": "4", "end": "33275", @@ -35820,7 +35855,7 @@ } }, "scope": "1750", - "signature": "b3252796", + "signature": "d547741f", "src": { "column": "4", "end": "33341", @@ -35968,7 +36003,7 @@ } }, "scope": "1750", - "signature": "e8365576", + "signature": "36568abe", "src": { "column": "4", "end": "33409", @@ -36215,6 +36250,7 @@ "parentIndex": "1820", "start": "35058" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "35073", @@ -36338,7 +36374,7 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" }, "typeName": { @@ -36368,6 +36404,30 @@ "parentIndex": "1827", "start": "35130" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "1830", + "name": "RoleData", + "nameLocation": { + "column": "23", + "end": "35148", + "length": "8", + "line": "1074", + "parentIndex": "1827", + "start": "35141" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1818", + "src": { + "column": "23", + "end": "35148", + "length": "8", + "line": "1074", + "parentIndex": "1827", + "start": "35141" + } + }, + "referencedDeclaration": "1818", "src": { "column": "4", "end": "35149", @@ -36377,13 +36437,14 @@ "start": "35122" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" }, "valueType": { "id": "1829", "name": "RoleData", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "1818", "src": { "column": "23", "end": "35148", @@ -36393,8 +36454,8 @@ "start": "35141" }, "typeDescription": { - "typeIdentifier": "t_RoleData", - "typeString": "RoleData" + "typeIdentifier": "t_struct$_AccessControl_RoleData_$1818", + "typeString": "struct AccessControl.RoleData" } }, "valueTypeLocation": { @@ -36412,12 +36473,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "1831", + "id": "1832", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30783030", - "id": "1833", + "id": "1834", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -36426,7 +36487,7 @@ "end": "35220", "length": "4", "line": "1076", - "parentIndex": "1831", + "parentIndex": "1832", "start": "35217" }, "typeDescription": { @@ -36456,7 +36517,7 @@ "typeString": "int_const 0x00" }, "typeName": { - "id": "1832", + "id": "1833", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36464,7 +36525,7 @@ "end": "35178", "length": "7", "line": "1076", - "parentIndex": "1831", + "parentIndex": "1832", "start": "35172" }, "typeDescription": { @@ -36478,25 +36539,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1835", + "id": "1836", "name": "RoleAdminChanged", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1836", + "id": "1837", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1837", + "id": "1838", "indexed": true, "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "1837", + "scope": "1838", "src": { "column": "27", "end": "35567", "length": "20", "line": "1086", - "parentIndex": "1836", + "parentIndex": "1837", "start": "35548" }, "stateMutability": "MUTABLE", @@ -36506,7 +36567,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1838", + "id": "1839", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36514,7 +36575,7 @@ "end": "35554", "length": "7", "line": "1086", - "parentIndex": "1837", + "parentIndex": "1838", "start": "35548" }, "typeDescription": { @@ -36525,17 +36586,17 @@ "visibility": "INTERNAL" }, { - "id": "1839", + "id": "1840", "indexed": true, "name": "previousAdminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "1839", + "scope": "1840", "src": { "column": "49", "end": "35602", "length": "33", "line": "1086", - "parentIndex": "1836", + "parentIndex": "1837", "start": "35570" }, "stateMutability": "MUTABLE", @@ -36545,7 +36606,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1840", + "id": "1841", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36553,7 +36614,7 @@ "end": "35576", "length": "7", "line": "1086", - "parentIndex": "1839", + "parentIndex": "1840", "start": "35570" }, "typeDescription": { @@ -36564,17 +36625,17 @@ "visibility": "INTERNAL" }, { - "id": "1841", + "id": "1842", "indexed": true, "name": "newAdminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "1841", + "scope": "1842", "src": { "column": "84", "end": "35632", "length": "28", "line": "1086", - "parentIndex": "1836", + "parentIndex": "1837", "start": "35605" }, "stateMutability": "MUTABLE", @@ -36584,7 +36645,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1842", + "id": "1843", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36592,7 +36653,7 @@ "end": "35611", "length": "7", "line": "1086", - "parentIndex": "1841", + "parentIndex": "1842", "start": "35605" }, "typeDescription": { @@ -36608,7 +36669,7 @@ "end": "35634", "length": "110", "line": "1086", - "parentIndex": "1835", + "parentIndex": "1836", "start": "35525" } }, @@ -36621,7 +36682,7 @@ "start": "35525" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261835", + "typeIdentifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261836", "typeString": "event AccessControl.RoleAdminChanged" } } @@ -36629,25 +36690,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1844", + "id": "1845", "name": "RoleGranted", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1845", + "id": "1846", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1846", + "id": "1847", "indexed": true, "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "1846", + "scope": "1847", "src": { "column": "22", "end": "35881", "length": "20", "line": "1094", - "parentIndex": "1845", + "parentIndex": "1846", "start": "35862" }, "stateMutability": "MUTABLE", @@ -36657,7 +36718,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1847", + "id": "1848", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36665,7 +36726,7 @@ "end": "35868", "length": "7", "line": "1094", - "parentIndex": "1846", + "parentIndex": "1847", "start": "35862" }, "typeDescription": { @@ -36676,17 +36737,17 @@ "visibility": "INTERNAL" }, { - "id": "1848", + "id": "1849", "indexed": true, "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1848", + "scope": "1849", "src": { "column": "44", "end": "35906", "length": "23", "line": "1094", - "parentIndex": "1845", + "parentIndex": "1846", "start": "35884" }, "stateMutability": "NONPAYABLE", @@ -36696,7 +36757,7 @@ "typeString": "address" }, "typeName": { - "id": "1849", + "id": "1850", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36704,7 +36765,7 @@ "end": "35890", "length": "7", "line": "1094", - "parentIndex": "1848", + "parentIndex": "1849", "start": "35884" }, "stateMutability": "NONPAYABLE", @@ -36716,17 +36777,17 @@ "visibility": "INTERNAL" }, { - "id": "1850", + "id": "1851", "indexed": true, "name": "sender", "nodeType": "VARIABLE_DECLARATION", - "scope": "1850", + "scope": "1851", "src": { "column": "69", "end": "35930", "length": "22", "line": "1094", - "parentIndex": "1845", + "parentIndex": "1846", "start": "35909" }, "stateMutability": "NONPAYABLE", @@ -36736,7 +36797,7 @@ "typeString": "address" }, "typeName": { - "id": "1851", + "id": "1852", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36744,7 +36805,7 @@ "end": "35915", "length": "7", "line": "1094", - "parentIndex": "1850", + "parentIndex": "1851", "start": "35909" }, "stateMutability": "NONPAYABLE", @@ -36761,7 +36822,7 @@ "end": "35932", "length": "89", "line": "1094", - "parentIndex": "1844", + "parentIndex": "1845", "start": "35844" } }, @@ -36774,7 +36835,7 @@ "start": "35844" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_AccessControl_RoleGranted_\u00261844", + "typeIdentifier": "t_event\u0026_AccessControl_RoleGranted_\u00261845", "typeString": "event AccessControl.RoleGranted" } } @@ -36782,25 +36843,25 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "1853", + "id": "1854", "name": "RoleRevoked", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1854", + "id": "1855", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1855", + "id": "1856", "indexed": true, "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "1855", + "scope": "1856", "src": { "column": "22", "end": "36256", "length": "20", "line": "1103", - "parentIndex": "1854", + "parentIndex": "1855", "start": "36237" }, "stateMutability": "MUTABLE", @@ -36810,7 +36871,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1856", + "id": "1857", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36818,7 +36879,7 @@ "end": "36243", "length": "7", "line": "1103", - "parentIndex": "1855", + "parentIndex": "1856", "start": "36237" }, "typeDescription": { @@ -36829,17 +36890,17 @@ "visibility": "INTERNAL" }, { - "id": "1857", + "id": "1858", "indexed": true, "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1857", + "scope": "1858", "src": { "column": "44", "end": "36281", "length": "23", "line": "1103", - "parentIndex": "1854", + "parentIndex": "1855", "start": "36259" }, "stateMutability": "NONPAYABLE", @@ -36849,7 +36910,7 @@ "typeString": "address" }, "typeName": { - "id": "1858", + "id": "1859", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36857,7 +36918,7 @@ "end": "36265", "length": "7", "line": "1103", - "parentIndex": "1857", + "parentIndex": "1858", "start": "36259" }, "stateMutability": "NONPAYABLE", @@ -36869,17 +36930,17 @@ "visibility": "INTERNAL" }, { - "id": "1859", + "id": "1860", "indexed": true, "name": "sender", "nodeType": "VARIABLE_DECLARATION", - "scope": "1859", + "scope": "1860", "src": { "column": "69", "end": "36305", "length": "22", "line": "1103", - "parentIndex": "1854", + "parentIndex": "1855", "start": "36284" }, "stateMutability": "NONPAYABLE", @@ -36889,7 +36950,7 @@ "typeString": "address" }, "typeName": { - "id": "1860", + "id": "1861", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -36897,7 +36958,7 @@ "end": "36290", "length": "7", "line": "1103", - "parentIndex": "1859", + "parentIndex": "1860", "start": "36284" }, "stateMutability": "NONPAYABLE", @@ -36914,7 +36975,7 @@ "end": "36307", "length": "89", "line": "1103", - "parentIndex": "1853", + "parentIndex": "1854", "start": "36219" } }, @@ -36927,7 +36988,7 @@ "start": "36219" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261853", + "typeIdentifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261854", "typeString": "event AccessControl.RoleRevoked" } } @@ -36936,7 +36997,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Modifier", "value": { "body": { - "id": "1866", + "id": "1867", "implemented": true, "nodeType": "BLOCK", "src": { @@ -36944,7 +37005,7 @@ "end": "36783", "length": "58", "line": "1115", - "parentIndex": "1862", + "parentIndex": "1863", "start": "36726" }, "statements": [ @@ -36965,7 +37026,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1869", + "id": "1870", "name": "role", "nodeType": "IDENTIFIER", "src": { @@ -36973,7 +37034,7 @@ "end": "36750", "length": "4", "line": "1116", - "parentIndex": "1867", + "parentIndex": "1868", "start": "36747" }, "typeDescription": { @@ -36988,7 +37049,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1871", + "id": "1872", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -36996,7 +37057,7 @@ "end": "36762", "length": "10", "line": "1116", - "parentIndex": "1870", + "parentIndex": "1871", "start": "36753" }, "typeDescription": { @@ -37005,7 +37066,7 @@ } } }, - "id": "1870", + "id": "1871", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -37013,7 +37074,7 @@ "end": "36764", "length": "12", "line": "1116", - "parentIndex": "1867", + "parentIndex": "1868", "start": "36753" }, "typeDescription": { @@ -37026,7 +37087,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1868", + "id": "1869", "name": "_checkRole", "nodeType": "IDENTIFIER", "src": { @@ -37034,7 +37095,7 @@ "end": "36745", "length": "10", "line": "1116", - "parentIndex": "1867", + "parentIndex": "1868", "start": "36736" }, "typeDescription": { @@ -37043,7 +37104,7 @@ } } }, - "id": "1867", + "id": "1868", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -37051,7 +37112,7 @@ "end": "36765", "length": "30", "line": "1116", - "parentIndex": "1866", + "parentIndex": "1867", "start": "36736" }, "typeDescription": { @@ -37063,7 +37124,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1872", + "id": "1873", "name": "_", "nodeType": "PLACEHOLDER_STATEMENT", "src": { @@ -37071,7 +37132,7 @@ "end": "36776", "length": "1", "line": "1117", - "parentIndex": "1866", + "parentIndex": "1867", "start": "36776" }, "typeDescription": { @@ -37082,32 +37143,32 @@ } ] }, - "id": "1862", + "id": "1863", "name": "onlyRole", "nameLocation": { "column": "13", "end": "36710", "length": "8", "line": "1115", - "parentIndex": "1862", + "parentIndex": "1863", "start": "36703" }, "nodeType": "MODIFIER_DEFINITION", "parameters": { - "id": "1863", + "id": "1864", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1864", + "id": "1865", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "1864", + "scope": "1865", "src": { "column": "22", "end": "36723", "length": "12", "line": "1115", - "parentIndex": "1863", + "parentIndex": "1864", "start": "36712" }, "stateMutability": "MUTABLE", @@ -37117,7 +37178,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1865", + "id": "1866", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -37125,7 +37186,7 @@ "end": "36718", "length": "7", "line": "1115", - "parentIndex": "1864", + "parentIndex": "1865", "start": "36712" }, "typeDescription": { @@ -37160,7 +37221,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1882", + "id": "1883", "implemented": true, "nodeType": "BLOCK", "src": { @@ -37168,7 +37229,7 @@ "end": "37052", "length": "111", "line": "1123", - "parentIndex": "1874", + "parentIndex": "1875", "start": "36942" }, "statements": [ @@ -37178,24 +37239,24 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1884", + "id": "1885", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1885", + "id": "1886", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1886", + "id": "1887", "name": "interfaceId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1886", + "referencedDeclaration": "1887", "src": { "column": "15", "end": "36969", "length": "11", "line": "1124", - "parentIndex": "1885", + "parentIndex": "1886", "start": "36959" }, "typeDescription": { @@ -37212,7 +37273,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MetaType", "value": { - "id": "1888", + "id": "1889", "name": "type", "nodeType": "IDENTIFIER", "src": { @@ -37220,7 +37281,7 @@ "end": "36993", "length": "20", "line": "1124", - "parentIndex": "1887", + "parentIndex": "1888", "start": "36974" }, "typeDescription": { @@ -37228,13 +37289,13 @@ } } }, - "id": "1887", + "id": "1888", "memberLocation": { "column": "51", "end": "37005", "length": "11", "line": "1124", - "parentIndex": "1887", + "parentIndex": "1888", "start": "36995" }, "memberName": "interfaceId", @@ -37244,7 +37305,7 @@ "end": "37005", "length": "32", "line": "1124", - "parentIndex": "1885", + "parentIndex": "1886", "start": "36974" }, "typeDescription": { @@ -37257,7 +37318,7 @@ "end": "37005", "length": "47", "line": "1124", - "parentIndex": "1884", + "parentIndex": "1885", "start": "36959" }, "typeDescription": { @@ -37281,16 +37342,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1892", + "id": "1893", "name": "interfaceId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1892", + "referencedDeclaration": "1893", "src": { "column": "90", "end": "37044", "length": "11", "line": "1124", - "parentIndex": "1889", + "parentIndex": "1890", "start": "37034" }, "typeDescription": { @@ -37306,7 +37367,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1891", + "id": "1892", "name": "super", "nodeType": "IDENTIFIER", "src": { @@ -37314,7 +37375,7 @@ "end": "37014", "length": "5", "line": "1124", - "parentIndex": "1890", + "parentIndex": "1891", "start": "37010" }, "typeDescription": { @@ -37323,13 +37384,13 @@ } } }, - "id": "1890", + "id": "1891", "memberLocation": { "column": "72", "end": "37032", "length": "17", "line": "1124", - "parentIndex": "1890", + "parentIndex": "1891", "start": "37016" }, "memberName": "supportsInterface", @@ -37339,7 +37400,7 @@ "end": "37032", "length": "23", "line": "1124", - "parentIndex": "1889", + "parentIndex": "1890", "start": "37010" }, "typeDescription": { @@ -37348,7 +37409,7 @@ } } }, - "id": "1889", + "id": "1890", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -37356,7 +37417,7 @@ "end": "37045", "length": "36", "line": "1124", - "parentIndex": "1884", + "parentIndex": "1885", "start": "37010" }, "typeDescription": { @@ -37370,7 +37431,7 @@ "end": "37045", "length": "87", "line": "1124", - "parentIndex": "1883", + "parentIndex": "1884", "start": "36959" }, "typeDescription": { @@ -37379,15 +37440,15 @@ } } }, - "functionReturnParameters": "1874", - "id": "1883", + "functionReturnParameters": "1875", + "id": "1884", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "37046", "length": "95", "line": "1124", - "parentIndex": "1874", + "parentIndex": "1875", "start": "36952" }, "typeDescription": { @@ -37398,7 +37459,7 @@ } ] }, - "id": "1874", + "id": "1875", "implemented": true, "kind": "KIND_FUNCTION", "name": "supportsInterface", @@ -37407,20 +37468,20 @@ "end": "36876", "length": "17", "line": "1123", - "parentIndex": "1874", + "parentIndex": "1875", "start": "36860" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "1878", + "id": "1879", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "71", "end": "36925", "length": "8", "line": "1123", - "parentIndex": "1874", + "parentIndex": "1875", "start": "36918" }, "typeDescription": { @@ -37430,20 +37491,20 @@ } ], "parameters": { - "id": "1875", + "id": "1876", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1876", + "id": "1877", "name": "interfaceId", "nodeType": "VARIABLE_DECLARATION", - "scope": "1876", + "scope": "1877", "src": { "column": "31", "end": "36895", "length": "18", "line": "1123", - "parentIndex": "1875", + "parentIndex": "1876", "start": "36878" }, "stateMutability": "MUTABLE", @@ -37453,7 +37514,7 @@ "typeString": "bytes4" }, "typeName": { - "id": "1877", + "id": "1878", "name": "bytes4", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -37461,7 +37522,7 @@ "end": "36883", "length": "6", "line": "1123", - "parentIndex": "1876", + "parentIndex": "1877", "start": "36878" }, "typeDescription": { @@ -37477,24 +37538,24 @@ "end": "36895", "length": "18", "line": "1123", - "parentIndex": "1874", + "parentIndex": "1875", "start": "36878" } }, "returnParameters": { - "id": "1879", + "id": "1880", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1880", + "id": "1881", "nodeType": "VARIABLE_DECLARATION", - "scope": "1880", + "scope": "1881", "src": { "column": "89", "end": "36939", "length": "4", "line": "1123", - "parentIndex": "1879", + "parentIndex": "1880", "start": "36936" }, "stateMutability": "MUTABLE", @@ -37504,7 +37565,7 @@ "typeString": "bool" }, "typeName": { - "id": "1881", + "id": "1882", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -37512,7 +37573,7 @@ "end": "36939", "length": "4", "line": "1123", - "parentIndex": "1880", + "parentIndex": "1881", "start": "36936" }, "typeDescription": { @@ -37528,7 +37589,7 @@ "end": "36939", "length": "4", "line": "1123", - "parentIndex": "1874", + "parentIndex": "1875", "start": "36936" } }, @@ -37555,7 +37616,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1904", + "id": "1905", "implemented": true, "nodeType": "BLOCK", "src": { @@ -37563,7 +37624,7 @@ "end": "37276", "length": "53", "line": "1130", - "parentIndex": "1894", + "parentIndex": "1895", "start": "37224" }, "statements": [ @@ -37576,16 +37637,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1911", + "id": "1912", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1911", + "referencedDeclaration": "1912", "src": { "column": "36", "end": "37268", "length": "7", "line": "1131", - "parentIndex": "1906", + "parentIndex": "1907", "start": "37262" }, "typeDescription": { @@ -37594,7 +37655,7 @@ } } }, - "id": "1906", + "id": "1907", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -37604,16 +37665,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1910", + "id": "1911", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1910", + "referencedDeclaration": "1911", "src": { "column": "22", "end": "37251", "length": "4", "line": "1131", - "parentIndex": "1908", + "parentIndex": "1909", "start": "37248" }, "typeDescription": { @@ -37622,11 +37683,11 @@ } } }, - "id": "1908", + "id": "1909", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1909", + "id": "1910", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "1826", @@ -37635,11 +37696,11 @@ "end": "37246", "length": "6", "line": "1131", - "parentIndex": "1908", + "parentIndex": "1909", "start": "37241" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -37650,16 +37711,16 @@ "end": "37252", "length": "12", "line": "1131", - "parentIndex": "1907", + "parentIndex": "1908", "start": "37241" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -37669,13 +37730,13 @@ ] } }, - "id": "1907", + "id": "1908", "memberLocation": { "column": "28", "end": "37260", "length": "7", "line": "1131", - "parentIndex": "1907", + "parentIndex": "1908", "start": "37254" }, "memberName": "members", @@ -37685,11 +37746,11 @@ "end": "37260", "length": "20", "line": "1131", - "parentIndex": "1906", + "parentIndex": "1907", "start": "37241" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } @@ -37700,16 +37761,16 @@ "end": "37269", "length": "29", "line": "1131", - "parentIndex": "1905", + "parentIndex": "1906", "start": "37241" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -37719,26 +37780,26 @@ ] } }, - "functionReturnParameters": "1894", - "id": "1905", + "functionReturnParameters": "1895", + "id": "1906", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "37270", "length": "37", "line": "1131", - "parentIndex": "1894", + "parentIndex": "1895", "start": "37234" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } } ] }, - "id": "1894", + "id": "1895", "implemented": true, "kind": "KIND_FUNCTION", "name": "hasRole", @@ -37747,20 +37808,20 @@ "end": "37155", "length": "7", "line": "1130", - "parentIndex": "1894", + "parentIndex": "1895", "start": "37149" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "1900", + "id": "1901", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "64", "end": "37207", "length": "8", "line": "1130", - "parentIndex": "1894", + "parentIndex": "1895", "start": "37200" }, "typeDescription": { @@ -37770,20 +37831,20 @@ } ], "parameters": { - "id": "1895", + "id": "1896", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1896", + "id": "1897", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "1896", + "scope": "1897", "src": { "column": "21", "end": "37168", "length": "12", "line": "1130", - "parentIndex": "1895", + "parentIndex": "1896", "start": "37157" }, "stateMutability": "MUTABLE", @@ -37793,7 +37854,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1897", + "id": "1898", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -37801,7 +37862,7 @@ "end": "37163", "length": "7", "line": "1130", - "parentIndex": "1896", + "parentIndex": "1897", "start": "37157" }, "typeDescription": { @@ -37812,16 +37873,16 @@ "visibility": "INTERNAL" }, { - "id": "1898", + "id": "1899", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1898", + "scope": "1899", "src": { "column": "35", "end": "37185", "length": "15", "line": "1130", - "parentIndex": "1895", + "parentIndex": "1896", "start": "37171" }, "stateMutability": "NONPAYABLE", @@ -37831,7 +37892,7 @@ "typeString": "address" }, "typeName": { - "id": "1899", + "id": "1900", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -37839,7 +37900,7 @@ "end": "37177", "length": "7", "line": "1130", - "parentIndex": "1898", + "parentIndex": "1899", "start": "37171" }, "stateMutability": "NONPAYABLE", @@ -37856,24 +37917,24 @@ "end": "37185", "length": "29", "line": "1130", - "parentIndex": "1894", + "parentIndex": "1895", "start": "37157" } }, "returnParameters": { - "id": "1901", + "id": "1902", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1902", + "id": "1903", "nodeType": "VARIABLE_DECLARATION", - "scope": "1902", + "scope": "1903", "src": { "column": "82", "end": "37221", "length": "4", "line": "1130", - "parentIndex": "1901", + "parentIndex": "1902", "start": "37218" }, "stateMutability": "MUTABLE", @@ -37883,7 +37944,7 @@ "typeString": "bool" }, "typeName": { - "id": "1903", + "id": "1904", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -37891,7 +37952,7 @@ "end": "37221", "length": "4", "line": "1130", - "parentIndex": "1902", + "parentIndex": "1903", "start": "37218" }, "typeDescription": { @@ -37907,12 +37968,12 @@ "end": "37221", "length": "4", "line": "1130", - "parentIndex": "1894", + "parentIndex": "1895", "start": "37218" } }, "scope": "1810", - "signature": "86282e07", + "signature": "91d14854", "src": { "column": "4", "end": "37276", @@ -37933,7 +37994,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1920", + "id": "1921", "implemented": true, "nodeType": "BLOCK", "src": { @@ -37941,7 +38002,7 @@ "end": "38041", "length": "419", "line": "1141", - "parentIndex": "1913", + "parentIndex": "1914", "start": "37623" }, "statements": [ @@ -37949,7 +38010,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "1927", + "id": "1928", "implemented": true, "nodeType": "BLOCK", "src": { @@ -37957,7 +38018,7 @@ "end": "38035", "length": "374", "line": "1142", - "parentIndex": "1913", + "parentIndex": "1914", "start": "37662" }, "statements": [ @@ -38007,7 +38068,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "416363657373436f6e74726f6c3a206163636f756e74", - "id": "1936", + "id": "1937", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -38016,7 +38077,7 @@ "end": "37794", "length": "25", "line": "1146", - "parentIndex": "1933", + "parentIndex": "1934", "start": "37770" }, "typeDescription": { @@ -38053,16 +38114,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1943", + "id": "1944", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1943", + "referencedDeclaration": "1944", "src": { "column": "52", "end": "37855", "length": "7", "line": "1147", - "parentIndex": "1940", + "parentIndex": "1941", "start": "37849" }, "typeDescription": { @@ -38081,7 +38142,7 @@ "typeString": "uint160" } ], - "id": "1941", + "id": "1942", "name": "uint160", "nodeType": "IDENTIFIER", "src": { @@ -38089,7 +38150,7 @@ "end": "37847", "length": "7", "line": "1147", - "parentIndex": "1940", + "parentIndex": "1941", "start": "37841" }, "typeDescription": { @@ -38097,7 +38158,7 @@ "typeString": "function(uint160)" }, "typeName": { - "id": "1942", + "id": "1943", "name": "uint160", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -38105,7 +38166,7 @@ "end": "37847", "length": "7", "line": "1147", - "parentIndex": "1941", + "parentIndex": "1942", "start": "37841" }, "typeDescription": { @@ -38115,7 +38176,7 @@ } } }, - "id": "1940", + "id": "1941", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -38123,7 +38184,7 @@ "end": "37856", "length": "16", "line": "1147", - "parentIndex": "1937", + "parentIndex": "1938", "start": "37841" }, "typeDescription": { @@ -38142,7 +38203,7 @@ } ], "hexValue": "3230", - "id": "1944", + "id": "1945", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -38151,7 +38212,7 @@ "end": "37860", "length": "2", "line": "1147", - "parentIndex": "1937", + "parentIndex": "1938", "start": "37859" }, "typeDescription": { @@ -38168,7 +38229,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1939", + "id": "1940", "name": "Strings", "nodeType": "IDENTIFIER", "referencedDeclaration": "637", @@ -38177,7 +38238,7 @@ "end": "37827", "length": "7", "line": "1147", - "parentIndex": "1938", + "parentIndex": "1939", "start": "37821" }, "typeDescription": { @@ -38186,13 +38247,13 @@ } } }, - "id": "1938", + "id": "1939", "memberLocation": { "column": "32", "end": "37839", "length": "11", "line": "1147", - "parentIndex": "1938", + "parentIndex": "1939", "start": "37829" }, "memberName": "toHexString", @@ -38202,7 +38263,7 @@ "end": "37839", "length": "19", "line": "1147", - "parentIndex": "1937", + "parentIndex": "1938", "start": "37821" }, "typeDescription": { @@ -38211,7 +38272,7 @@ } } }, - "id": "1937", + "id": "1938", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -38219,7 +38280,7 @@ "end": "37861", "length": "41", "line": "1147", - "parentIndex": "1933", + "parentIndex": "1934", "start": "37821" }, "typeDescription": { @@ -38242,7 +38303,7 @@ } ], "hexValue": "6973206d697373696e6720726f6c65", - "id": "1945", + "id": "1946", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -38251,7 +38312,7 @@ "end": "37906", "length": "19", "line": "1148", - "parentIndex": "1933", + "parentIndex": "1934", "start": "37888" }, "typeDescription": { @@ -38288,16 +38349,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1952", + "id": "1953", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1952", + "referencedDeclaration": "1953", "src": { "column": "52", "end": "37964", "length": "4", "line": "1149", - "parentIndex": "1949", + "parentIndex": "1950", "start": "37961" }, "typeDescription": { @@ -38316,7 +38377,7 @@ "typeString": "uint256" } ], - "id": "1950", + "id": "1951", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -38324,7 +38385,7 @@ "end": "37959", "length": "7", "line": "1149", - "parentIndex": "1949", + "parentIndex": "1950", "start": "37953" }, "typeDescription": { @@ -38332,7 +38393,7 @@ "typeString": "function(uint256)" }, "typeName": { - "id": "1951", + "id": "1952", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -38340,7 +38401,7 @@ "end": "37959", "length": "7", "line": "1149", - "parentIndex": "1950", + "parentIndex": "1951", "start": "37953" }, "typeDescription": { @@ -38350,7 +38411,7 @@ } } }, - "id": "1949", + "id": "1950", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -38358,7 +38419,7 @@ "end": "37965", "length": "13", "line": "1149", - "parentIndex": "1946", + "parentIndex": "1947", "start": "37953" }, "typeDescription": { @@ -38377,7 +38438,7 @@ } ], "hexValue": "3332", - "id": "1953", + "id": "1954", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -38386,7 +38447,7 @@ "end": "37969", "length": "2", "line": "1149", - "parentIndex": "1946", + "parentIndex": "1947", "start": "37968" }, "typeDescription": { @@ -38403,7 +38464,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1948", + "id": "1949", "name": "Strings", "nodeType": "IDENTIFIER", "referencedDeclaration": "637", @@ -38412,7 +38473,7 @@ "end": "37939", "length": "7", "line": "1149", - "parentIndex": "1947", + "parentIndex": "1948", "start": "37933" }, "typeDescription": { @@ -38421,13 +38482,13 @@ } } }, - "id": "1947", + "id": "1948", "memberLocation": { "column": "32", "end": "37951", "length": "11", "line": "1149", - "parentIndex": "1947", + "parentIndex": "1948", "start": "37941" }, "memberName": "toHexString", @@ -38437,7 +38498,7 @@ "end": "37951", "length": "19", "line": "1149", - "parentIndex": "1946", + "parentIndex": "1947", "start": "37933" }, "typeDescription": { @@ -38446,7 +38507,7 @@ } } }, - "id": "1946", + "id": "1947", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -38454,7 +38515,7 @@ "end": "37970", "length": "38", "line": "1149", - "parentIndex": "1933", + "parentIndex": "1934", "start": "37933" }, "typeDescription": { @@ -38470,7 +38531,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1935", + "id": "1936", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -38478,7 +38539,7 @@ "end": "37730", "length": "3", "line": "1145", - "parentIndex": "1934", + "parentIndex": "1935", "start": "37728" }, "typeDescription": { @@ -38487,13 +38548,13 @@ } } }, - "id": "1934", + "id": "1935", "memberLocation": { "column": "24", "end": "37743", "length": "12", "line": "1145", - "parentIndex": "1934", + "parentIndex": "1935", "start": "37732" }, "memberName": "encodePacked", @@ -38503,7 +38564,7 @@ "end": "37743", "length": "16", "line": "1145", - "parentIndex": "1933", + "parentIndex": "1934", "start": "37728" }, "typeDescription": { @@ -38512,7 +38573,7 @@ } } }, - "id": "1933", + "id": "1934", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -38520,7 +38581,7 @@ "end": "37992", "length": "265", "line": "1145", - "parentIndex": "1930", + "parentIndex": "1931", "start": "37728" }, "typeDescription": { @@ -38539,7 +38600,7 @@ "typeString": "string" } ], - "id": "1931", + "id": "1932", "name": "string", "nodeType": "IDENTIFIER", "src": { @@ -38547,7 +38608,7 @@ "end": "37705", "length": "6", "line": "1144", - "parentIndex": "1930", + "parentIndex": "1931", "start": "37700" }, "typeDescription": { @@ -38555,7 +38616,7 @@ "typeString": "function(string)" }, "typeName": { - "id": "1932", + "id": "1933", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -38563,7 +38624,7 @@ "end": "37705", "length": "6", "line": "1144", - "parentIndex": "1931", + "parentIndex": "1932", "start": "37700" }, "typeDescription": { @@ -38573,7 +38634,7 @@ } } }, - "id": "1930", + "id": "1931", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -38581,7 +38642,7 @@ "end": "38010", "length": "311", "line": "1144", - "parentIndex": "1928", + "parentIndex": "1929", "start": "37700" }, "typeDescription": { @@ -38594,7 +38655,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1929", + "id": "1930", "name": "revert", "nodeType": "IDENTIFIER", "src": { @@ -38602,7 +38663,7 @@ "end": "37681", "length": "6", "line": "1143", - "parentIndex": "1928", + "parentIndex": "1929", "start": "37676" }, "typeDescription": { @@ -38611,7 +38672,7 @@ } } }, - "id": "1928", + "id": "1929", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -38619,7 +38680,7 @@ "end": "38024", "length": "349", "line": "1143", - "parentIndex": "1927", + "parentIndex": "1928", "start": "37676" }, "typeDescription": { @@ -38650,16 +38711,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1925", + "id": "1926", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1925", + "referencedDeclaration": "1926", "src": { "column": "21", "end": "37649", "length": "4", "line": "1142", - "parentIndex": "1923", + "parentIndex": "1924", "start": "37646" }, "typeDescription": { @@ -38677,16 +38738,16 @@ "typeString": "bytes32" } ], - "id": "1926", + "id": "1927", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1926", + "referencedDeclaration": "1927", "src": { "column": "27", "end": "37658", "length": "7", "line": "1142", - "parentIndex": "1923", + "parentIndex": "1924", "start": "37652" }, "typeDescription": { @@ -38699,7 +38760,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1924", + "id": "1925", "name": "hasRole", "nodeType": "IDENTIFIER", "src": { @@ -38707,7 +38768,7 @@ "end": "37644", "length": "7", "line": "1142", - "parentIndex": "1923", + "parentIndex": "1924", "start": "37638" }, "typeDescription": { @@ -38716,7 +38777,7 @@ } } }, - "id": "1923", + "id": "1924", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -38724,7 +38785,7 @@ "end": "37659", "length": "22", "line": "1142", - "parentIndex": "1922", + "parentIndex": "1923", "start": "37638" }, "typeDescription": { @@ -38733,7 +38794,7 @@ } } }, - "id": "1922", + "id": "1923", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -38742,7 +38803,7 @@ "end": "37659", "length": "23", "line": "1142", - "parentIndex": "1913", + "parentIndex": "1914", "start": "37637" }, "typeDescription": { @@ -38751,20 +38812,20 @@ } } }, - "id": "1921", + "id": "1922", "nodeType": "IF_STATEMENT", "src": { "end": "38035", "length": "403", "line": "1142", - "parentIndex": "1920", + "parentIndex": "1921", "start": "37633" } } } ] }, - "id": "1913", + "id": "1914", "implemented": true, "kind": "KIND_FUNCTION", "name": "_checkRole", @@ -38773,25 +38834,25 @@ "end": "37576", "length": "10", "line": "1141", - "parentIndex": "1913", + "parentIndex": "1914", "start": "37567" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1914", + "id": "1915", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1915", + "id": "1916", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "1915", + "scope": "1916", "src": { "column": "24", "end": "37589", "length": "12", "line": "1141", - "parentIndex": "1914", + "parentIndex": "1915", "start": "37578" }, "stateMutability": "MUTABLE", @@ -38801,7 +38862,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1916", + "id": "1917", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -38809,7 +38870,7 @@ "end": "37584", "length": "7", "line": "1141", - "parentIndex": "1915", + "parentIndex": "1916", "start": "37578" }, "typeDescription": { @@ -38820,16 +38881,16 @@ "visibility": "INTERNAL" }, { - "id": "1917", + "id": "1918", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1917", + "scope": "1918", "src": { "column": "38", "end": "37606", "length": "15", "line": "1141", - "parentIndex": "1914", + "parentIndex": "1915", "start": "37592" }, "stateMutability": "NONPAYABLE", @@ -38839,7 +38900,7 @@ "typeString": "address" }, "typeName": { - "id": "1918", + "id": "1919", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -38847,7 +38908,7 @@ "end": "37598", "length": "7", "line": "1141", - "parentIndex": "1917", + "parentIndex": "1918", "start": "37592" }, "stateMutability": "NONPAYABLE", @@ -38864,24 +38925,24 @@ "end": "37606", "length": "29", "line": "1141", - "parentIndex": "1913", + "parentIndex": "1914", "start": "37578" } }, "returnParameters": { - "id": "1919", + "id": "1920", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "38041", "length": "484", "line": "1141", - "parentIndex": "1913", + "parentIndex": "1914", "start": "37558" } }, "scope": "1810", - "signature": "ad90b429", + "signature": "5b7b2c38", "src": { "column": "4", "end": "38041", @@ -38902,7 +38963,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1963", + "id": "1964", "implemented": true, "nodeType": "BLOCK", "src": { @@ -38910,7 +38971,7 @@ "end": "38343", "length": "46", "line": "1162", - "parentIndex": "1955", + "parentIndex": "1956", "start": "38298" }, "statements": [ @@ -38926,16 +38987,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1968", + "id": "1969", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1968", + "referencedDeclaration": "1969", "src": { "column": "22", "end": "38325", "length": "4", "line": "1163", - "parentIndex": "1966", + "parentIndex": "1967", "start": "38322" }, "typeDescription": { @@ -38944,11 +39005,11 @@ } } }, - "id": "1966", + "id": "1967", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1967", + "id": "1968", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "1826", @@ -38957,11 +39018,11 @@ "end": "38320", "length": "6", "line": "1163", - "parentIndex": "1966", + "parentIndex": "1967", "start": "38315" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -38972,16 +39033,16 @@ "end": "38326", "length": "12", "line": "1163", - "parentIndex": "1965", + "parentIndex": "1966", "start": "38315" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -38991,13 +39052,13 @@ ] } }, - "id": "1965", + "id": "1966", "memberLocation": { "column": "28", "end": "38336", "length": "9", "line": "1163", - "parentIndex": "1965", + "parentIndex": "1966", "start": "38328" }, "memberName": "adminRole", @@ -39007,35 +39068,35 @@ "end": "38336", "length": "22", "line": "1163", - "parentIndex": "1964", + "parentIndex": "1965", "start": "38315" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } }, - "functionReturnParameters": "1955", - "id": "1964", + "functionReturnParameters": "1956", + "id": "1965", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "38337", "length": "30", "line": "1163", - "parentIndex": "1955", + "parentIndex": "1956", "start": "38308" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } } ] }, - "id": "1955", + "id": "1956", "implemented": true, "kind": "KIND_FUNCTION", "name": "getRoleAdmin", @@ -39044,20 +39105,20 @@ "end": "38243", "length": "12", "line": "1162", - "parentIndex": "1955", + "parentIndex": "1956", "start": "38232" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "1959", + "id": "1960", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "52", "end": "38278", "length": "8", "line": "1162", - "parentIndex": "1955", + "parentIndex": "1956", "start": "38271" }, "typeDescription": { @@ -39067,20 +39128,20 @@ } ], "parameters": { - "id": "1956", + "id": "1957", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1957", + "id": "1958", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "1957", + "scope": "1958", "src": { "column": "26", "end": "38256", "length": "12", "line": "1162", - "parentIndex": "1956", + "parentIndex": "1957", "start": "38245" }, "stateMutability": "MUTABLE", @@ -39090,7 +39151,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1958", + "id": "1959", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -39098,7 +39159,7 @@ "end": "38251", "length": "7", "line": "1162", - "parentIndex": "1957", + "parentIndex": "1958", "start": "38245" }, "typeDescription": { @@ -39114,24 +39175,24 @@ "end": "38256", "length": "12", "line": "1162", - "parentIndex": "1955", + "parentIndex": "1956", "start": "38245" } }, "returnParameters": { - "id": "1960", + "id": "1961", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1961", + "id": "1962", "nodeType": "VARIABLE_DECLARATION", - "scope": "1961", + "scope": "1962", "src": { "column": "70", "end": "38295", "length": "7", "line": "1162", - "parentIndex": "1960", + "parentIndex": "1961", "start": "38289" }, "stateMutability": "MUTABLE", @@ -39141,7 +39202,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1962", + "id": "1963", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -39149,7 +39210,7 @@ "end": "38295", "length": "7", "line": "1162", - "parentIndex": "1961", + "parentIndex": "1962", "start": "38289" }, "typeDescription": { @@ -39165,7 +39226,7 @@ "end": "38295", "length": "7", "line": "1162", - "parentIndex": "1955", + "parentIndex": "1956", "start": "38289" } }, @@ -39191,7 +39252,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1983", + "id": "1984", "implemented": true, "nodeType": "BLOCK", "src": { @@ -39199,7 +39260,7 @@ "end": "38738", "length": "42", "line": "1176", - "parentIndex": "1970", + "parentIndex": "1971", "start": "38697" }, "statements": [ @@ -39220,16 +39281,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1986", + "id": "1987", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1986", + "referencedDeclaration": "1987", "src": { "column": "19", "end": "38721", "length": "4", "line": "1177", - "parentIndex": "1984", + "parentIndex": "1985", "start": "38718" }, "typeDescription": { @@ -39247,16 +39308,16 @@ "typeString": "bytes32" } ], - "id": "1987", + "id": "1988", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1987", + "referencedDeclaration": "1988", "src": { "column": "25", "end": "38730", "length": "7", "line": "1177", - "parentIndex": "1984", + "parentIndex": "1985", "start": "38724" }, "typeDescription": { @@ -39269,7 +39330,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1985", + "id": "1986", "name": "_grantRole", "nodeType": "IDENTIFIER", "src": { @@ -39277,7 +39338,7 @@ "end": "38716", "length": "10", "line": "1177", - "parentIndex": "1984", + "parentIndex": "1985", "start": "38707" }, "typeDescription": { @@ -39286,7 +39347,7 @@ } } }, - "id": "1984", + "id": "1985", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -39294,7 +39355,7 @@ "end": "38731", "length": "25", "line": "1177", - "parentIndex": "1983", + "parentIndex": "1984", "start": "38707" }, "typeDescription": { @@ -39305,7 +39366,7 @@ } ] }, - "id": "1970", + "id": "1971", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -39330,16 +39391,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1980", + "id": "1981", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1980", + "referencedDeclaration": "1981", "src": { "column": "100", "end": "38693", "length": "4", "line": "1176", - "parentIndex": "1978", + "parentIndex": "1979", "start": "38690" }, "typeDescription": { @@ -39352,7 +39413,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1979", + "id": "1980", "name": "getRoleAdmin", "nodeType": "IDENTIFIER", "src": { @@ -39360,7 +39421,7 @@ "end": "38688", "length": "12", "line": "1176", - "parentIndex": "1978", + "parentIndex": "1979", "start": "38677" }, "typeDescription": { @@ -39369,7 +39430,7 @@ } } }, - "id": "1978", + "id": "1979", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -39377,7 +39438,7 @@ "end": "38694", "length": "18", "line": "1176", - "parentIndex": "1976", + "parentIndex": "1977", "start": "38677" }, "typeDescription": { @@ -39387,17 +39448,17 @@ } } ], - "id": "1976", + "id": "1977", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1977", + "id": "1978", "name": "onlyRole", "src": { "column": "78", "end": "38675", "length": "8", "line": "1176", - "parentIndex": "1976", + "parentIndex": "1977", "start": "38668" } }, @@ -39408,7 +39469,7 @@ "end": "38695", "length": "28", "line": "1176", - "parentIndex": "1970", + "parentIndex": "1971", "start": "38668" } } @@ -39419,20 +39480,20 @@ "end": "38611", "length": "9", "line": "1176", - "parentIndex": "1970", + "parentIndex": "1971", "start": "38603" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "1981", + "id": "1982", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "69", "end": "38666", "length": "8", "line": "1176", - "parentIndex": "1970", + "parentIndex": "1971", "start": "38659" }, "typeDescription": { @@ -39442,20 +39503,20 @@ } ], "parameters": { - "id": "1971", + "id": "1972", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1972", + "id": "1973", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "1972", + "scope": "1973", "src": { "column": "23", "end": "38624", "length": "12", "line": "1176", - "parentIndex": "1971", + "parentIndex": "1972", "start": "38613" }, "stateMutability": "MUTABLE", @@ -39465,7 +39526,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1973", + "id": "1974", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -39473,7 +39534,7 @@ "end": "38619", "length": "7", "line": "1176", - "parentIndex": "1972", + "parentIndex": "1973", "start": "38613" }, "typeDescription": { @@ -39484,16 +39545,16 @@ "visibility": "INTERNAL" }, { - "id": "1974", + "id": "1975", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1974", + "scope": "1975", "src": { "column": "37", "end": "38641", "length": "15", "line": "1176", - "parentIndex": "1971", + "parentIndex": "1972", "start": "38627" }, "stateMutability": "NONPAYABLE", @@ -39503,7 +39564,7 @@ "typeString": "address" }, "typeName": { - "id": "1975", + "id": "1976", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -39511,7 +39572,7 @@ "end": "38633", "length": "7", "line": "1176", - "parentIndex": "1974", + "parentIndex": "1975", "start": "38627" }, "stateMutability": "NONPAYABLE", @@ -39528,24 +39589,24 @@ "end": "38641", "length": "29", "line": "1176", - "parentIndex": "1970", + "parentIndex": "1971", "start": "38613" } }, "returnParameters": { - "id": "1982", + "id": "1983", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "38738", "length": "145", "line": "1176", - "parentIndex": "1970", + "parentIndex": "1971", "start": "38594" } }, "scope": "1810", - "signature": "44f0a842", + "signature": "2f2ff15d", "src": { "column": "4", "end": "38738", @@ -39567,7 +39628,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2002", + "id": "2003", "implemented": true, "nodeType": "BLOCK", "src": { @@ -39575,7 +39636,7 @@ "end": "39119", "length": "43", "line": "1189", - "parentIndex": "1989", + "parentIndex": "1990", "start": "39077" }, "statements": [ @@ -39596,16 +39657,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2005", + "id": "2006", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2005", + "referencedDeclaration": "2006", "src": { "column": "20", "end": "39102", "length": "4", "line": "1190", - "parentIndex": "2003", + "parentIndex": "2004", "start": "39099" }, "typeDescription": { @@ -39623,16 +39684,16 @@ "typeString": "bytes32" } ], - "id": "2006", + "id": "2007", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2006", + "referencedDeclaration": "2007", "src": { "column": "26", "end": "39111", "length": "7", "line": "1190", - "parentIndex": "2003", + "parentIndex": "2004", "start": "39105" }, "typeDescription": { @@ -39645,7 +39706,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2004", + "id": "2005", "name": "_revokeRole", "nodeType": "IDENTIFIER", "src": { @@ -39653,7 +39714,7 @@ "end": "39097", "length": "11", "line": "1190", - "parentIndex": "2003", + "parentIndex": "2004", "start": "39087" }, "typeDescription": { @@ -39662,7 +39723,7 @@ } } }, - "id": "2003", + "id": "2004", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -39670,7 +39731,7 @@ "end": "39112", "length": "26", "line": "1190", - "parentIndex": "2002", + "parentIndex": "2003", "start": "39087" }, "typeDescription": { @@ -39681,7 +39742,7 @@ } ] }, - "id": "1989", + "id": "1990", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -39706,16 +39767,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1999", + "id": "2000", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1999", + "referencedDeclaration": "2000", "src": { "column": "101", "end": "39073", "length": "4", "line": "1189", - "parentIndex": "1997", + "parentIndex": "1998", "start": "39070" }, "typeDescription": { @@ -39728,7 +39789,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1998", + "id": "1999", "name": "getRoleAdmin", "nodeType": "IDENTIFIER", "src": { @@ -39736,7 +39797,7 @@ "end": "39068", "length": "12", "line": "1189", - "parentIndex": "1997", + "parentIndex": "1998", "start": "39057" }, "typeDescription": { @@ -39745,7 +39806,7 @@ } } }, - "id": "1997", + "id": "1998", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -39753,7 +39814,7 @@ "end": "39074", "length": "18", "line": "1189", - "parentIndex": "1995", + "parentIndex": "1996", "start": "39057" }, "typeDescription": { @@ -39763,17 +39824,17 @@ } } ], - "id": "1995", + "id": "1996", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "1996", + "id": "1997", "name": "onlyRole", "src": { "column": "79", "end": "39055", "length": "8", "line": "1189", - "parentIndex": "1995", + "parentIndex": "1996", "start": "39048" } }, @@ -39784,7 +39845,7 @@ "end": "39075", "length": "28", "line": "1189", - "parentIndex": "1989", + "parentIndex": "1990", "start": "39048" } } @@ -39795,20 +39856,20 @@ "end": "38991", "length": "10", "line": "1189", - "parentIndex": "1989", + "parentIndex": "1990", "start": "38982" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2000", + "id": "2001", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "70", "end": "39046", "length": "8", "line": "1189", - "parentIndex": "1989", + "parentIndex": "1990", "start": "39039" }, "typeDescription": { @@ -39818,20 +39879,20 @@ } ], "parameters": { - "id": "1990", + "id": "1991", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1991", + "id": "1992", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "1991", + "scope": "1992", "src": { "column": "24", "end": "39004", "length": "12", "line": "1189", - "parentIndex": "1990", + "parentIndex": "1991", "start": "38993" }, "stateMutability": "MUTABLE", @@ -39841,7 +39902,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "1992", + "id": "1993", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -39849,7 +39910,7 @@ "end": "38999", "length": "7", "line": "1189", - "parentIndex": "1991", + "parentIndex": "1992", "start": "38993" }, "typeDescription": { @@ -39860,16 +39921,16 @@ "visibility": "INTERNAL" }, { - "id": "1993", + "id": "1994", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "1993", + "scope": "1994", "src": { "column": "38", "end": "39021", "length": "15", "line": "1189", - "parentIndex": "1990", + "parentIndex": "1991", "start": "39007" }, "stateMutability": "NONPAYABLE", @@ -39879,7 +39940,7 @@ "typeString": "address" }, "typeName": { - "id": "1994", + "id": "1995", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -39887,7 +39948,7 @@ "end": "39013", "length": "7", "line": "1189", - "parentIndex": "1993", + "parentIndex": "1994", "start": "39007" }, "stateMutability": "NONPAYABLE", @@ -39904,24 +39965,24 @@ "end": "39021", "length": "29", "line": "1189", - "parentIndex": "1989", + "parentIndex": "1990", "start": "38993" } }, "returnParameters": { - "id": "2001", + "id": "2002", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "39119", "length": "147", "line": "1189", - "parentIndex": "1989", + "parentIndex": "1990", "start": "38973" } }, "scope": "1810", - "signature": "b3252796", + "signature": "d547741f", "src": { "column": "4", "end": "39119", @@ -39943,7 +40004,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2016", + "id": "2017", "implemented": true, "nodeType": "BLOCK", "src": { @@ -39951,7 +40012,7 @@ "end": "39824", "length": "137", "line": "1207", - "parentIndex": "2008", + "parentIndex": "2009", "start": "39688" }, "statements": [ @@ -39972,20 +40033,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2019", + "id": "2020", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2020", + "id": "2021", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2020", + "referencedDeclaration": "2021", "src": { "column": "16", "end": "39712", "length": "7", "line": "1208", - "parentIndex": "2019", + "parentIndex": "2020", "start": "39706" }, "typeDescription": { @@ -40002,7 +40063,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2022", + "id": "2023", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -40010,7 +40071,7 @@ "end": "39726", "length": "10", "line": "1208", - "parentIndex": "2021", + "parentIndex": "2022", "start": "39717" }, "typeDescription": { @@ -40019,7 +40080,7 @@ } } }, - "id": "2021", + "id": "2022", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -40027,7 +40088,7 @@ "end": "39728", "length": "12", "line": "1208", - "parentIndex": "2019", + "parentIndex": "2020", "start": "39717" }, "typeDescription": { @@ -40041,7 +40102,7 @@ "end": "39728", "length": "23", "line": "1208", - "parentIndex": "2017", + "parentIndex": "2018", "start": "39706" }, "typeDescription": { @@ -40060,7 +40121,7 @@ } ], "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66", - "id": "2023", + "id": "2024", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -40069,7 +40130,7 @@ "end": "39779", "length": "49", "line": "1208", - "parentIndex": "2017", + "parentIndex": "2018", "start": "39731" }, "typeDescription": { @@ -40083,7 +40144,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2018", + "id": "2019", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -40092,7 +40153,7 @@ "end": "39704", "length": "7", "line": "1208", - "parentIndex": "2017", + "parentIndex": "2018", "start": "39698" }, "typeDescription": { @@ -40101,7 +40162,7 @@ } } }, - "id": "2017", + "id": "2018", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -40109,7 +40170,7 @@ "end": "39780", "length": "83", "line": "1208", - "parentIndex": "2016", + "parentIndex": "2017", "start": "39698" }, "typeDescription": { @@ -40135,16 +40196,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2026", + "id": "2027", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2026", + "referencedDeclaration": "2027", "src": { "column": "20", "end": "39807", "length": "4", "line": "1210", - "parentIndex": "2024", + "parentIndex": "2025", "start": "39804" }, "typeDescription": { @@ -40162,16 +40223,16 @@ "typeString": "bytes32" } ], - "id": "2027", + "id": "2028", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2027", + "referencedDeclaration": "2028", "src": { "column": "26", "end": "39816", "length": "7", "line": "1210", - "parentIndex": "2024", + "parentIndex": "2025", "start": "39810" }, "typeDescription": { @@ -40184,7 +40245,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2025", + "id": "2026", "name": "_revokeRole", "nodeType": "IDENTIFIER", "src": { @@ -40192,7 +40253,7 @@ "end": "39802", "length": "11", "line": "1210", - "parentIndex": "2024", + "parentIndex": "2025", "start": "39792" }, "typeDescription": { @@ -40201,7 +40262,7 @@ } } }, - "id": "2024", + "id": "2025", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -40209,7 +40270,7 @@ "end": "39817", "length": "26", "line": "1210", - "parentIndex": "2016", + "parentIndex": "2017", "start": "39792" }, "typeDescription": { @@ -40220,7 +40281,7 @@ } ] }, - "id": "2008", + "id": "2009", "implemented": true, "kind": "KIND_FUNCTION", "name": "renounceRole", @@ -40229,20 +40290,20 @@ "end": "39631", "length": "12", "line": "1207", - "parentIndex": "2008", + "parentIndex": "2009", "start": "39620" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2014", + "id": "2015", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "72", "end": "39686", "length": "8", "line": "1207", - "parentIndex": "2008", + "parentIndex": "2009", "start": "39679" }, "typeDescription": { @@ -40252,20 +40313,20 @@ } ], "parameters": { - "id": "2009", + "id": "2010", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2010", + "id": "2011", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2010", + "scope": "2011", "src": { "column": "26", "end": "39644", "length": "12", "line": "1207", - "parentIndex": "2009", + "parentIndex": "2010", "start": "39633" }, "stateMutability": "MUTABLE", @@ -40275,7 +40336,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2011", + "id": "2012", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -40283,7 +40344,7 @@ "end": "39639", "length": "7", "line": "1207", - "parentIndex": "2010", + "parentIndex": "2011", "start": "39633" }, "typeDescription": { @@ -40294,16 +40355,16 @@ "visibility": "INTERNAL" }, { - "id": "2012", + "id": "2013", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2012", + "scope": "2013", "src": { "column": "40", "end": "39661", "length": "15", "line": "1207", - "parentIndex": "2009", + "parentIndex": "2010", "start": "39647" }, "stateMutability": "NONPAYABLE", @@ -40313,7 +40374,7 @@ "typeString": "address" }, "typeName": { - "id": "2013", + "id": "2014", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -40321,7 +40382,7 @@ "end": "39653", "length": "7", "line": "1207", - "parentIndex": "2012", + "parentIndex": "2013", "start": "39647" }, "stateMutability": "NONPAYABLE", @@ -40338,24 +40399,24 @@ "end": "39661", "length": "29", "line": "1207", - "parentIndex": "2008", + "parentIndex": "2009", "start": "39633" } }, "returnParameters": { - "id": "2015", + "id": "2016", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "39824", "length": "214", "line": "1207", - "parentIndex": "2008", + "parentIndex": "2009", "start": "39611" } }, "scope": "1810", - "signature": "e8365576", + "signature": "36568abe", "src": { "column": "4", "end": "39824", @@ -40377,7 +40438,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2036", + "id": "2037", "implemented": true, "nodeType": "BLOCK", "src": { @@ -40385,7 +40446,7 @@ "end": "40499", "length": "42", "line": "1229", - "parentIndex": "2029", + "parentIndex": "2030", "start": "40458" }, "statements": [ @@ -40406,16 +40467,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2039", + "id": "2040", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2039", + "referencedDeclaration": "2040", "src": { "column": "19", "end": "40482", "length": "4", "line": "1230", - "parentIndex": "2037", + "parentIndex": "2038", "start": "40479" }, "typeDescription": { @@ -40433,16 +40494,16 @@ "typeString": "bytes32" } ], - "id": "2040", + "id": "2041", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2040", + "referencedDeclaration": "2041", "src": { "column": "25", "end": "40491", "length": "7", "line": "1230", - "parentIndex": "2037", + "parentIndex": "2038", "start": "40485" }, "typeDescription": { @@ -40455,7 +40516,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2038", + "id": "2039", "name": "_grantRole", "nodeType": "IDENTIFIER", "src": { @@ -40463,7 +40524,7 @@ "end": "40477", "length": "10", "line": "1230", - "parentIndex": "2037", + "parentIndex": "2038", "start": "40468" }, "typeDescription": { @@ -40472,7 +40533,7 @@ } } }, - "id": "2037", + "id": "2038", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -40480,7 +40541,7 @@ "end": "40492", "length": "25", "line": "1230", - "parentIndex": "2036", + "parentIndex": "2037", "start": "40468" }, "typeDescription": { @@ -40491,7 +40552,7 @@ } ] }, - "id": "2029", + "id": "2030", "implemented": true, "kind": "KIND_FUNCTION", "name": "_setupRole", @@ -40500,25 +40561,25 @@ "end": "40408", "length": "10", "line": "1229", - "parentIndex": "2029", + "parentIndex": "2030", "start": "40399" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2030", + "id": "2031", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2031", + "id": "2032", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2031", + "scope": "2032", "src": { "column": "24", "end": "40421", "length": "12", "line": "1229", - "parentIndex": "2030", + "parentIndex": "2031", "start": "40410" }, "stateMutability": "MUTABLE", @@ -40528,7 +40589,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2032", + "id": "2033", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -40536,7 +40597,7 @@ "end": "40416", "length": "7", "line": "1229", - "parentIndex": "2031", + "parentIndex": "2032", "start": "40410" }, "typeDescription": { @@ -40547,16 +40608,16 @@ "visibility": "INTERNAL" }, { - "id": "2033", + "id": "2034", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2033", + "scope": "2034", "src": { "column": "38", "end": "40438", "length": "15", "line": "1229", - "parentIndex": "2030", + "parentIndex": "2031", "start": "40424" }, "stateMutability": "NONPAYABLE", @@ -40566,7 +40627,7 @@ "typeString": "address" }, "typeName": { - "id": "2034", + "id": "2035", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -40574,7 +40635,7 @@ "end": "40430", "length": "7", "line": "1229", - "parentIndex": "2033", + "parentIndex": "2034", "start": "40424" }, "stateMutability": "NONPAYABLE", @@ -40591,24 +40652,24 @@ "end": "40438", "length": "29", "line": "1229", - "parentIndex": "2029", + "parentIndex": "2030", "start": "40410" } }, "returnParameters": { - "id": "2035", + "id": "2036", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "40499", "length": "110", "line": "1229", - "parentIndex": "2029", + "parentIndex": "2030", "start": "40390" } }, "scope": "1810", - "signature": "95e930c8", + "signature": "4fa943a6", "src": { "column": "4", "end": "40499", @@ -40630,7 +40691,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2049", + "id": "2050", "implemented": true, "nodeType": "BLOCK", "src": { @@ -40638,7 +40699,7 @@ "end": "40816", "length": "119", "line": "1238", - "parentIndex": "2042", + "parentIndex": "2043", "start": "40698" }, "statements": [ @@ -40649,16 +40710,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2051", + "id": "2052", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2051", + "referencedDeclaration": "2052", "src": { "column": "30", "end": "40733", "length": "4", "line": "1239", - "parentIndex": "2050", + "parentIndex": "2051", "start": "40730" }, "typeDescription": { @@ -40680,16 +40741,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2054", + "id": "2055", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "49", "end": "40752", "length": "4", "line": "1239", - "parentIndex": "2052", + "parentIndex": "2053", "start": "40749" }, "typeDescription": { @@ -40702,7 +40763,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2053", + "id": "2054", "name": "getRoleAdmin", "nodeType": "IDENTIFIER", "src": { @@ -40710,7 +40771,7 @@ "end": "40747", "length": "12", "line": "1239", - "parentIndex": "2052", + "parentIndex": "2053", "start": "40736" }, "typeDescription": { @@ -40719,7 +40780,7 @@ } } }, - "id": "2052", + "id": "2053", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -40727,7 +40788,7 @@ "end": "40753", "length": "18", "line": "1239", - "parentIndex": "2050", + "parentIndex": "2051", "start": "40736" }, "typeDescription": { @@ -40739,16 +40800,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2055", + "id": "2056", "name": "adminRole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2055", + "referencedDeclaration": "2056", "src": { "column": "56", "end": "40764", "length": "9", "line": "1239", - "parentIndex": "2050", + "parentIndex": "2051", "start": "40756" }, "typeDescription": { @@ -40761,32 +40822,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2056", + "id": "2057", "name": "RoleAdminChanged", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1835", + "referencedDeclaration": "1836", "src": { "column": "13", "end": "40728", "length": "16", "line": "1239", - "parentIndex": "2050", + "parentIndex": "2051", "start": "40713" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261835", + "typeIdentifier": "t_event\u0026_AccessControl_RoleAdminChanged_\u00261836", "typeString": "event AccessControl.RoleAdminChanged" } } }, - "id": "2050", + "id": "2051", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "40766", "length": "59", "line": "1239", - "parentIndex": "2042", + "parentIndex": "2043", "start": "40708" } } @@ -40797,7 +40858,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2058", + "id": "2059", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -40807,16 +40868,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2062", + "id": "2063", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2062", + "referencedDeclaration": "2063", "src": { "column": "15", "end": "40786", "length": "4", "line": "1240", - "parentIndex": "2060", + "parentIndex": "2061", "start": "40783" }, "typeDescription": { @@ -40825,11 +40886,11 @@ } } }, - "id": "2060", + "id": "2061", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2061", + "id": "2062", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "1826", @@ -40838,11 +40899,11 @@ "end": "40781", "length": "6", "line": "1240", - "parentIndex": "2060", + "parentIndex": "2061", "start": "40776" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -40853,16 +40914,16 @@ "end": "40787", "length": "12", "line": "1240", - "parentIndex": "2059", + "parentIndex": "2060", "start": "40776" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -40872,13 +40933,13 @@ ] } }, - "id": "2059", + "id": "2060", "memberLocation": { "column": "21", "end": "40797", "length": "9", "line": "1240", - "parentIndex": "2059", + "parentIndex": "2060", "start": "40789" }, "memberName": "adminRole", @@ -40888,11 +40949,11 @@ "end": "40797", "length": "22", "line": "1240", - "parentIndex": "2058", + "parentIndex": "2059", "start": "40776" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } @@ -40902,16 +40963,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2063", + "id": "2064", "name": "adminRole", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2063", + "referencedDeclaration": "2064", "src": { "column": "33", "end": "40809", "length": "9", "line": "1240", - "parentIndex": "2058", + "parentIndex": "2059", "start": "40801" }, "typeDescription": { @@ -40925,34 +40986,34 @@ "end": "40809", "length": "34", "line": "1240", - "parentIndex": "2057", + "parentIndex": "2058", "start": "40776" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } }, - "id": "2057", + "id": "2058", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "40810", "length": "35", "line": "1240", - "parentIndex": "2049", + "parentIndex": "2050", "start": "40776" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } } ] }, - "id": "2042", + "id": "2043", "implemented": true, "kind": "KIND_FUNCTION", "name": "_setRoleAdmin", @@ -40961,25 +41022,25 @@ "end": "40646", "length": "13", "line": "1238", - "parentIndex": "2042", + "parentIndex": "2043", "start": "40634" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2043", + "id": "2044", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2044", + "id": "2045", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2044", + "scope": "2045", "src": { "column": "27", "end": "40659", "length": "12", "line": "1238", - "parentIndex": "2043", + "parentIndex": "2044", "start": "40648" }, "stateMutability": "MUTABLE", @@ -40989,7 +41050,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2045", + "id": "2046", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -40997,7 +41058,7 @@ "end": "40654", "length": "7", "line": "1238", - "parentIndex": "2044", + "parentIndex": "2045", "start": "40648" }, "typeDescription": { @@ -41008,16 +41069,16 @@ "visibility": "INTERNAL" }, { - "id": "2046", + "id": "2047", "name": "adminRole", "nodeType": "VARIABLE_DECLARATION", - "scope": "2046", + "scope": "2047", "src": { "column": "41", "end": "40678", "length": "17", "line": "1238", - "parentIndex": "2043", + "parentIndex": "2044", "start": "40662" }, "stateMutability": "MUTABLE", @@ -41027,7 +41088,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2047", + "id": "2048", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -41035,7 +41096,7 @@ "end": "40668", "length": "7", "line": "1238", - "parentIndex": "2046", + "parentIndex": "2047", "start": "40662" }, "typeDescription": { @@ -41051,24 +41112,24 @@ "end": "40678", "length": "31", "line": "1238", - "parentIndex": "2042", + "parentIndex": "2043", "start": "40648" } }, "returnParameters": { - "id": "2048", + "id": "2049", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "40816", "length": "192", "line": "1238", - "parentIndex": "2042", + "parentIndex": "2043", "start": "40625" } }, "scope": "1810", - "signature": "09c75694", + "signature": "7612997d", "src": { "column": "4", "end": "40816", @@ -41090,7 +41151,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2072", + "id": "2073", "implemented": true, "nodeType": "BLOCK", "src": { @@ -41098,7 +41159,7 @@ "end": "41046", "length": "165", "line": "1243", - "parentIndex": "2065", + "parentIndex": "2066", "start": "40882" }, "statements": [ @@ -41106,7 +41167,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2079", + "id": "2080", "implemented": true, "nodeType": "BLOCK", "src": { @@ -41114,7 +41175,7 @@ "end": "41040", "length": "120", "line": "1244", - "parentIndex": "2065", + "parentIndex": "2066", "start": "40921" }, "statements": [ @@ -41124,23 +41185,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2081", + "id": "2082", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2087", + "id": "2088", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2087", + "referencedDeclaration": "2088", "src": { "column": "33", "end": "40962", "length": "7", "line": "1245", - "parentIndex": "2082", + "parentIndex": "2083", "start": "40956" }, "typeDescription": { @@ -41149,7 +41210,7 @@ } } }, - "id": "2082", + "id": "2083", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -41159,16 +41220,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2086", + "id": "2087", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2086", + "referencedDeclaration": "2087", "src": { "column": "19", "end": "40945", "length": "4", "line": "1245", - "parentIndex": "2084", + "parentIndex": "2085", "start": "40942" }, "typeDescription": { @@ -41177,11 +41238,11 @@ } } }, - "id": "2084", + "id": "2085", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2085", + "id": "2086", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "1826", @@ -41190,11 +41251,11 @@ "end": "40940", "length": "6", "line": "1245", - "parentIndex": "2084", + "parentIndex": "2085", "start": "40935" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -41205,16 +41266,16 @@ "end": "40946", "length": "12", "line": "1245", - "parentIndex": "2083", + "parentIndex": "2084", "start": "40935" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -41224,13 +41285,13 @@ ] } }, - "id": "2083", + "id": "2084", "memberLocation": { "column": "25", "end": "40954", "length": "7", "line": "1245", - "parentIndex": "2083", + "parentIndex": "2084", "start": "40948" }, "memberName": "members", @@ -41240,11 +41301,11 @@ "end": "40954", "length": "20", "line": "1245", - "parentIndex": "2082", + "parentIndex": "2083", "start": "40935" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } @@ -41255,16 +41316,16 @@ "end": "40963", "length": "29", "line": "1245", - "parentIndex": "2081", + "parentIndex": "2082", "start": "40935" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -41280,7 +41341,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "2088", + "id": "2089", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -41289,7 +41350,7 @@ "end": "40970", "length": "4", "line": "1245", - "parentIndex": "2081", + "parentIndex": "2082", "start": "40967" }, "typeDescription": { @@ -41304,27 +41365,27 @@ "end": "40970", "length": "36", "line": "1245", - "parentIndex": "2080", + "parentIndex": "2081", "start": "40935" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } }, - "id": "2080", + "id": "2081", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "40971", "length": "37", "line": "1245", - "parentIndex": "2079", + "parentIndex": "2080", "start": "40935" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } @@ -41336,16 +41397,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2090", + "id": "2091", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2090", + "referencedDeclaration": "2091", "src": { "column": "29", "end": "41005", "length": "4", "line": "1246", - "parentIndex": "2089", + "parentIndex": "2090", "start": "41002" }, "typeDescription": { @@ -41357,16 +41418,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2091", + "id": "2092", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2091", + "referencedDeclaration": "2092", "src": { "column": "35", "end": "41014", "length": "7", "line": "1246", - "parentIndex": "2089", + "parentIndex": "2090", "start": "41008" }, "typeDescription": { @@ -41381,7 +41442,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2093", + "id": "2094", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -41389,7 +41450,7 @@ "end": "41026", "length": "10", "line": "1246", - "parentIndex": "2092", + "parentIndex": "2093", "start": "41017" }, "typeDescription": { @@ -41398,7 +41459,7 @@ } } }, - "id": "2092", + "id": "2093", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -41406,7 +41467,7 @@ "end": "41028", "length": "12", "line": "1246", - "parentIndex": "2089", + "parentIndex": "2090", "start": "41017" }, "typeDescription": { @@ -41419,32 +41480,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2094", + "id": "2095", "name": "RoleGranted", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1844", + "referencedDeclaration": "1845", "src": { "column": "17", "end": "41000", "length": "11", "line": "1246", - "parentIndex": "2089", + "parentIndex": "2090", "start": "40990" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_AccessControl_RoleGranted_\u00261844", + "typeIdentifier": "t_event\u0026_AccessControl_RoleGranted_\u00261845", "typeString": "event AccessControl.RoleGranted" } } }, - "id": "2089", + "id": "2090", "nodeType": "EMIT_STATEMENT", "src": { "column": "12", "end": "41030", "length": "46", "line": "1246", - "parentIndex": "2065", + "parentIndex": "2066", "start": "40985" } } @@ -41471,16 +41532,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2077", + "id": "2078", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2077", + "referencedDeclaration": "2078", "src": { "column": "21", "end": "40908", "length": "4", "line": "1244", - "parentIndex": "2075", + "parentIndex": "2076", "start": "40905" }, "typeDescription": { @@ -41498,16 +41559,16 @@ "typeString": "bytes32" } ], - "id": "2078", + "id": "2079", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2078", + "referencedDeclaration": "2079", "src": { "column": "27", "end": "40917", "length": "7", "line": "1244", - "parentIndex": "2075", + "parentIndex": "2076", "start": "40911" }, "typeDescription": { @@ -41520,7 +41581,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2076", + "id": "2077", "name": "hasRole", "nodeType": "IDENTIFIER", "src": { @@ -41528,7 +41589,7 @@ "end": "40903", "length": "7", "line": "1244", - "parentIndex": "2075", + "parentIndex": "2076", "start": "40897" }, "typeDescription": { @@ -41537,7 +41598,7 @@ } } }, - "id": "2075", + "id": "2076", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -41545,7 +41606,7 @@ "end": "40918", "length": "22", "line": "1244", - "parentIndex": "2074", + "parentIndex": "2075", "start": "40897" }, "typeDescription": { @@ -41554,7 +41615,7 @@ } } }, - "id": "2074", + "id": "2075", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -41563,7 +41624,7 @@ "end": "40918", "length": "23", "line": "1244", - "parentIndex": "2065", + "parentIndex": "2066", "start": "40896" }, "typeDescription": { @@ -41572,20 +41633,20 @@ } } }, - "id": "2073", + "id": "2074", "nodeType": "IF_STATEMENT", "src": { "end": "41040", "length": "149", "line": "1244", - "parentIndex": "2072", + "parentIndex": "2073", "start": "40892" } } } ] }, - "id": "2065", + "id": "2066", "implemented": true, "kind": "KIND_FUNCTION", "name": "_grantRole", @@ -41594,25 +41655,25 @@ "end": "40841", "length": "10", "line": "1243", - "parentIndex": "2065", + "parentIndex": "2066", "start": "40832" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2066", + "id": "2067", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2067", + "id": "2068", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2067", + "scope": "2068", "src": { "column": "24", "end": "40854", "length": "12", "line": "1243", - "parentIndex": "2066", + "parentIndex": "2067", "start": "40843" }, "stateMutability": "MUTABLE", @@ -41622,7 +41683,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2068", + "id": "2069", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -41630,7 +41691,7 @@ "end": "40849", "length": "7", "line": "1243", - "parentIndex": "2067", + "parentIndex": "2068", "start": "40843" }, "typeDescription": { @@ -41641,16 +41702,16 @@ "visibility": "INTERNAL" }, { - "id": "2069", + "id": "2070", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2069", + "scope": "2070", "src": { "column": "38", "end": "40871", "length": "15", "line": "1243", - "parentIndex": "2066", + "parentIndex": "2067", "start": "40857" }, "stateMutability": "NONPAYABLE", @@ -41660,7 +41721,7 @@ "typeString": "address" }, "typeName": { - "id": "2070", + "id": "2071", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -41668,7 +41729,7 @@ "end": "40863", "length": "7", "line": "1243", - "parentIndex": "2069", + "parentIndex": "2070", "start": "40857" }, "stateMutability": "NONPAYABLE", @@ -41685,24 +41746,24 @@ "end": "40871", "length": "29", "line": "1243", - "parentIndex": "2065", + "parentIndex": "2066", "start": "40843" } }, "returnParameters": { - "id": "2071", + "id": "2072", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "41046", "length": "224", "line": "1243", - "parentIndex": "2065", + "parentIndex": "2066", "start": "40823" } }, "scope": "1810", - "signature": "389027d9", + "signature": "ce2cc1d0", "src": { "column": "4", "end": "41046", @@ -41723,7 +41784,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2103", + "id": "2104", "implemented": true, "nodeType": "BLOCK", "src": { @@ -41731,7 +41792,7 @@ "end": "41277", "length": "165", "line": "1250", - "parentIndex": "2096", + "parentIndex": "2097", "start": "41113" }, "statements": [ @@ -41739,7 +41800,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2109", + "id": "2110", "implemented": true, "nodeType": "BLOCK", "src": { @@ -41747,7 +41808,7 @@ "end": "41271", "length": "121", "line": "1251", - "parentIndex": "2096", + "parentIndex": "2097", "start": "41151" }, "statements": [ @@ -41757,23 +41818,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2111", + "id": "2112", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2117", + "id": "2118", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2117", + "referencedDeclaration": "2118", "src": { "column": "33", "end": "41192", "length": "7", "line": "1252", - "parentIndex": "2112", + "parentIndex": "2113", "start": "41186" }, "typeDescription": { @@ -41782,7 +41843,7 @@ } } }, - "id": "2112", + "id": "2113", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -41792,16 +41853,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2116", + "id": "2117", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2116", + "referencedDeclaration": "2117", "src": { "column": "19", "end": "41175", "length": "4", "line": "1252", - "parentIndex": "2114", + "parentIndex": "2115", "start": "41172" }, "typeDescription": { @@ -41810,11 +41871,11 @@ } } }, - "id": "2114", + "id": "2115", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2115", + "id": "2116", "name": "_roles", "nodeType": "IDENTIFIER", "referencedDeclaration": "1826", @@ -41823,11 +41884,11 @@ "end": "41170", "length": "6", "line": "1252", - "parentIndex": "2114", + "parentIndex": "2115", "start": "41165" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" } } @@ -41838,16 +41899,16 @@ "end": "41176", "length": "12", "line": "1252", - "parentIndex": "2113", + "parentIndex": "2114", "start": "41165" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_bytes32_$t_RoleData$", + "typeIdentifier": "t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$", "typeString": "mapping(bytes32=\u003eRoleData)" }, { @@ -41857,13 +41918,13 @@ ] } }, - "id": "2113", + "id": "2114", "memberLocation": { "column": "25", "end": "41184", "length": "7", "line": "1252", - "parentIndex": "2113", + "parentIndex": "2114", "start": "41178" }, "memberName": "members", @@ -41873,11 +41934,11 @@ "end": "41184", "length": "20", "line": "1252", - "parentIndex": "2112", + "parentIndex": "2113", "start": "41165" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" } } @@ -41888,16 +41949,16 @@ "end": "41193", "length": "29", "line": "1252", - "parentIndex": "2111", + "parentIndex": "2112", "start": "41165" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$", "typeString": "index[mapping(bytes32=\u003eRoleData):bytes32]" }, { @@ -41913,7 +41974,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "66616c7365", - "id": "2118", + "id": "2119", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -41922,7 +41983,7 @@ "end": "41201", "length": "5", "line": "1252", - "parentIndex": "2111", + "parentIndex": "2112", "start": "41197" }, "typeDescription": { @@ -41937,27 +41998,27 @@ "end": "41201", "length": "37", "line": "1252", - "parentIndex": "2110", + "parentIndex": "2111", "start": "41165" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } }, - "id": "2110", + "id": "2111", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "41202", "length": "38", "line": "1252", - "parentIndex": "2109", + "parentIndex": "2110", "start": "41165" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_RoleData$]$_t_bytes32]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_bytes32_$t_struct$_AccessControl_RoleData_$1818$]$_t_bytes32]$]$_t_address]$", "typeString": "index[index[mapping(bytes32=\u003eRoleData):bytes32]:address]" } } @@ -41969,16 +42030,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2120", + "id": "2121", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2120", + "referencedDeclaration": "2121", "src": { "column": "29", "end": "41236", "length": "4", "line": "1253", - "parentIndex": "2119", + "parentIndex": "2120", "start": "41233" }, "typeDescription": { @@ -41990,16 +42051,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2121", + "id": "2122", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2121", + "referencedDeclaration": "2122", "src": { "column": "35", "end": "41245", "length": "7", "line": "1253", - "parentIndex": "2119", + "parentIndex": "2120", "start": "41239" }, "typeDescription": { @@ -42014,7 +42075,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2123", + "id": "2124", "name": "_msgSender", "nodeType": "IDENTIFIER", "src": { @@ -42022,7 +42083,7 @@ "end": "41257", "length": "10", "line": "1253", - "parentIndex": "2122", + "parentIndex": "2123", "start": "41248" }, "typeDescription": { @@ -42031,7 +42092,7 @@ } } }, - "id": "2122", + "id": "2123", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -42039,7 +42100,7 @@ "end": "41259", "length": "12", "line": "1253", - "parentIndex": "2119", + "parentIndex": "2120", "start": "41248" }, "typeDescription": { @@ -42052,32 +42113,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2124", + "id": "2125", "name": "RoleRevoked", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1853", + "referencedDeclaration": "1854", "src": { "column": "17", "end": "41231", "length": "11", "line": "1253", - "parentIndex": "2119", + "parentIndex": "2120", "start": "41221" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261853", + "typeIdentifier": "t_event\u0026_AccessControl_RoleRevoked_\u00261854", "typeString": "event AccessControl.RoleRevoked" } } }, - "id": "2119", + "id": "2120", "nodeType": "EMIT_STATEMENT", "src": { "column": "12", "end": "41261", "length": "46", "line": "1253", - "parentIndex": "2096", + "parentIndex": "2097", "start": "41216" } } @@ -42101,16 +42162,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2107", + "id": "2108", "name": "role", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2107", + "referencedDeclaration": "2108", "src": { "column": "20", "end": "41138", "length": "4", "line": "1251", - "parentIndex": "2105", + "parentIndex": "2106", "start": "41135" }, "typeDescription": { @@ -42128,16 +42189,16 @@ "typeString": "bytes32" } ], - "id": "2108", + "id": "2109", "name": "account", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2108", + "referencedDeclaration": "2109", "src": { "column": "26", "end": "41147", "length": "7", "line": "1251", - "parentIndex": "2105", + "parentIndex": "2106", "start": "41141" }, "typeDescription": { @@ -42150,7 +42211,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2106", + "id": "2107", "name": "hasRole", "nodeType": "IDENTIFIER", "src": { @@ -42158,7 +42219,7 @@ "end": "41133", "length": "7", "line": "1251", - "parentIndex": "2105", + "parentIndex": "2106", "start": "41127" }, "typeDescription": { @@ -42167,7 +42228,7 @@ } } }, - "id": "2105", + "id": "2106", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -42175,7 +42236,7 @@ "end": "41148", "length": "22", "line": "1251", - "parentIndex": "2104", + "parentIndex": "2105", "start": "41127" }, "typeDescription": { @@ -42184,20 +42245,20 @@ } } }, - "id": "2104", + "id": "2105", "nodeType": "IF_STATEMENT", "src": { "end": "41271", "length": "149", "line": "1251", - "parentIndex": "2103", + "parentIndex": "2104", "start": "41123" } } } ] }, - "id": "2096", + "id": "2097", "implemented": true, "kind": "KIND_FUNCTION", "name": "_revokeRole", @@ -42206,25 +42267,25 @@ "end": "41072", "length": "11", "line": "1250", - "parentIndex": "2096", + "parentIndex": "2097", "start": "41062" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2097", + "id": "2098", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2098", + "id": "2099", "name": "role", "nodeType": "VARIABLE_DECLARATION", - "scope": "2098", + "scope": "2099", "src": { "column": "25", "end": "41085", "length": "12", "line": "1250", - "parentIndex": "2097", + "parentIndex": "2098", "start": "41074" }, "stateMutability": "MUTABLE", @@ -42234,7 +42295,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "2099", + "id": "2100", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42242,7 +42303,7 @@ "end": "41080", "length": "7", "line": "1250", - "parentIndex": "2098", + "parentIndex": "2099", "start": "41074" }, "typeDescription": { @@ -42253,16 +42314,16 @@ "visibility": "INTERNAL" }, { - "id": "2100", + "id": "2101", "name": "account", "nodeType": "VARIABLE_DECLARATION", - "scope": "2100", + "scope": "2101", "src": { "column": "39", "end": "41102", "length": "15", "line": "1250", - "parentIndex": "2097", + "parentIndex": "2098", "start": "41088" }, "stateMutability": "NONPAYABLE", @@ -42272,7 +42333,7 @@ "typeString": "address" }, "typeName": { - "id": "2101", + "id": "2102", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42280,7 +42341,7 @@ "end": "41094", "length": "7", "line": "1250", - "parentIndex": "2100", + "parentIndex": "2101", "start": "41088" }, "stateMutability": "NONPAYABLE", @@ -42297,24 +42358,24 @@ "end": "41102", "length": "29", "line": "1250", - "parentIndex": "2096", + "parentIndex": "2097", "start": "41074" } }, "returnParameters": { - "id": "2102", + "id": "2103", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "41277", "length": "225", "line": "1250", - "parentIndex": "2096", + "parentIndex": "2097", "start": "41053" } }, "scope": "1810", - "signature": "ed5226ed", + "signature": "2c95bd23", "src": { "column": "4", "end": "41277", @@ -42352,12 +42413,12 @@ } }, { - "id": 2125, + "id": 2126, "license": "MIT", "name": "Registrar", "exported_symbols": [ { - "id": 2125, + "id": 2126, "name": "Registrar" } ], @@ -42367,7 +42428,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "2137", + "id": "2138", "literals": [ "pragma", "solidity", @@ -42384,7 +42445,7 @@ "end": "41305", "length": "23", "line": "1259", - "parentIndex": "2125", + "parentIndex": "2126", "start": "41283" }, "text": "pragma solidity ^0.8.4;" @@ -42394,10 +42455,10 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "2138", + "id": "2139", "kind": "KIND_INTERFACE", "linearizedBaseContracts": [ - "2138" + "2139" ], "name": "Registrar", "nameLocation": { @@ -42405,7 +42466,7 @@ "end": "41506", "length": "9", "line": "1265", - "parentIndex": "2138", + "parentIndex": "2139", "start": "41498" }, "nodeType": "CONTRACT_DEFINITION", @@ -42414,18 +42475,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2151", + "id": "2152", "nodeType": "BLOCK", "src": { "column": "4", "end": "41665", "length": "152", "line": "1266", - "parentIndex": "2140", + "parentIndex": "2141", "start": "41514" } }, - "id": "2140", + "id": "2141", "kind": "KIND_FUNCTION", "name": "addCollection", "nameLocation": { @@ -42433,25 +42494,25 @@ "end": "41535", "length": "13", "line": "1266", - "parentIndex": "2140", + "parentIndex": "2141", "start": "41523" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2141", + "id": "2142", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2142", + "id": "2143", "name": "contractAddress", "nodeType": "VARIABLE_DECLARATION", - "scope": "2142", + "scope": "2143", "src": { "column": "8", "end": "41568", "length": "23", "line": "1267", - "parentIndex": "2141", + "parentIndex": "2142", "start": "41546" }, "stateMutability": "NONPAYABLE", @@ -42461,7 +42522,7 @@ "typeString": "address" }, "typeName": { - "id": "2143", + "id": "2144", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42469,7 +42530,7 @@ "end": "41552", "length": "7", "line": "1267", - "parentIndex": "2142", + "parentIndex": "2143", "start": "41546" }, "stateMutability": "NONPAYABLE", @@ -42481,16 +42542,16 @@ "visibility": "INTERNAL" }, { - "id": "2144", + "id": "2145", "name": "name", "nodeType": "VARIABLE_DECLARATION", - "scope": "2144", + "scope": "2145", "src": { "column": "8", "end": "41596", "length": "18", "line": "1268", - "parentIndex": "2141", + "parentIndex": "2142", "start": "41579" }, "stateMutability": "MUTABLE", @@ -42500,7 +42561,7 @@ "typeString": "string" }, "typeName": { - "id": "2145", + "id": "2146", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42508,7 +42569,7 @@ "end": "41584", "length": "6", "line": "1268", - "parentIndex": "2144", + "parentIndex": "2145", "start": "41579" }, "typeDescription": { @@ -42519,16 +42580,16 @@ "visibility": "INTERNAL" }, { - "id": "2146", + "id": "2147", "name": "symbol", "nodeType": "VARIABLE_DECLARATION", - "scope": "2146", + "scope": "2147", "src": { "column": "8", "end": "41626", "length": "20", "line": "1269", - "parentIndex": "2141", + "parentIndex": "2142", "start": "41607" }, "stateMutability": "MUTABLE", @@ -42538,7 +42599,7 @@ "typeString": "string" }, "typeName": { - "id": "2147", + "id": "2148", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42546,7 +42607,7 @@ "end": "41612", "length": "6", "line": "1269", - "parentIndex": "2146", + "parentIndex": "2147", "start": "41607" }, "typeDescription": { @@ -42557,16 +42618,16 @@ "visibility": "INTERNAL" }, { - "id": "2148", + "id": "2149", "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "2148", + "scope": "2149", "src": { "column": "8", "end": "41649", "length": "13", "line": "1270", - "parentIndex": "2141", + "parentIndex": "2142", "start": "41637" }, "stateMutability": "NONPAYABLE", @@ -42576,7 +42637,7 @@ "typeString": "address" }, "typeName": { - "id": "2149", + "id": "2150", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42584,7 +42645,7 @@ "end": "41643", "length": "7", "line": "1270", - "parentIndex": "2148", + "parentIndex": "2149", "start": "41637" }, "stateMutability": "NONPAYABLE", @@ -42601,30 +42662,30 @@ "end": "41649", "length": "104", "line": "1267", - "parentIndex": "2140", + "parentIndex": "2141", "start": "41546" } }, "returnParameters": { - "id": "2150", + "id": "2151", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "41665", "length": "152", "line": "1266", - "parentIndex": "2140", + "parentIndex": "2141", "start": "41514" } }, - "scope": "2138", - "signature": "5a4ddc9b", + "scope": "2139", + "signature": "49793487", "src": { "column": "4", "end": "41665", "length": "152", "line": "1266", - "parentIndex": "2138", + "parentIndex": "2139", "start": "41514" }, "stateMutability": "NONPAYABLE", @@ -42640,7 +42701,7 @@ "end": "41667", "length": "180", "line": "1265", - "parentIndex": "2125", + "parentIndex": "2126", "start": "41488" } } @@ -42656,20 +42717,20 @@ } }, { - "id": 2152, + "id": 2153, "license": "MIT", "name": "NFTradeNFTToken", "exported_symbols": [ { - "id": 2152, + "id": 2153, "name": "NFTradeNFTToken" }, { - "id": 2166, + "id": 2167, "name": "ERC721" }, { - "id": 2168, + "id": 2169, "name": "AccessControl" } ], @@ -42679,7 +42740,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "2164", + "id": "2165", "literals": [ "pragma", "solidity", @@ -42696,7 +42757,7 @@ "end": "41305", "length": "23", "line": "1259", - "parentIndex": "2152", + "parentIndex": "2153", "start": "41283" }, "text": "pragma solidity ^0.8.4;" @@ -42708,7 +42769,7 @@ "baseContracts": [ { "baseName": { - "id": "2167", + "id": "2168", "name": "ERC721", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "867", @@ -42717,24 +42778,24 @@ "end": "41705", "length": "6", "line": "1276", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41700" } }, - "id": "2166", + "id": "2167", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "28", "end": "41705", "length": "6", "line": "1276", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41700" } }, { "baseName": { - "id": "2169", + "id": "2170", "name": "AccessControl", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1798", @@ -42743,18 +42804,18 @@ "end": "41720", "length": "13", "line": "1276", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41708" } }, - "id": "2168", + "id": "2169", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "36", "end": "41720", "length": "13", "line": "1276", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41708" } } @@ -42764,12 +42825,12 @@ "1798" ], "fullyImplemented": true, - "id": "2165", + "id": "2166", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ "867", "1798", - "2165" + "2166" ], "name": "NFTradeNFTToken", "nameLocation": { @@ -42777,7 +42838,7 @@ "end": "41695", "length": "15", "line": "1276", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41681" }, "nodeType": "CONTRACT_DEFINITION", @@ -42785,9 +42846,9 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", "value": { - "id": "2171", + "id": "2172", "libraryName": { - "id": "2172", + "id": "2173", "name": "Counters", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1655", @@ -42795,7 +42856,7 @@ "end": "41741", "length": "8", "line": "1277", - "parentIndex": "2171", + "parentIndex": "2172", "start": "41734" } }, @@ -42805,21 +42866,21 @@ "end": "41763", "length": "36", "line": "1277", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41728" }, "typeName": { - "id": "2173", + "id": "2174", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2174", + "id": "2175", "name": "Counters", "nameLocation": { "column": "23", "end": "41754", "length": "8", "line": "1277", - "parentIndex": "2173", + "parentIndex": "2174", "start": "41747" }, "nodeType": "IDENTIFIER_PATH", @@ -42829,7 +42890,7 @@ "end": "41762", "length": "16", "line": "1277", - "parentIndex": "2173", + "parentIndex": "2174", "start": "41747" } }, @@ -42839,7 +42900,7 @@ "end": "41762", "length": "16", "line": "1277", - "parentIndex": "2171", + "parentIndex": "2172", "start": "41747" }, "typeDescription": { @@ -42852,17 +42913,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2176", + "id": "2177", "isStateVariable": true, "name": "_tokenIds", "nodeType": "VARIABLE_DECLARATION", - "scope": "2165", + "scope": "2166", "src": { "column": "4", "end": "41803", "length": "35", "line": "1278", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41769" }, "stateMutability": "MUTABLE", @@ -42872,17 +42933,17 @@ "typeString": "contract Counters" }, "typeName": { - "id": "2177", + "id": "2178", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2178", + "id": "2179", "name": "Counters", "nameLocation": { "column": "4", "end": "41776", "length": "8", "line": "1278", - "parentIndex": "2177", + "parentIndex": "2178", "start": "41769" }, "nodeType": "IDENTIFIER_PATH", @@ -42892,7 +42953,7 @@ "end": "41784", "length": "16", "line": "1278", - "parentIndex": "2177", + "parentIndex": "2178", "start": "41769" } }, @@ -42902,7 +42963,7 @@ "end": "41784", "length": "16", "line": "1278", - "parentIndex": "2176", + "parentIndex": "2177", "start": "41769" }, "typeDescription": { @@ -42916,7 +42977,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2180", + "id": "2181", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -42931,7 +42992,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "4d494e5445525f524f4c45", - "id": "2184", + "id": "2185", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -42940,7 +43001,7 @@ "end": "41870", "length": "13", "line": "1280", - "parentIndex": "2182", + "parentIndex": "2183", "start": "41858" }, "typeDescription": { @@ -42954,7 +43015,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2183", + "id": "2184", "name": "keccak256", "nodeType": "IDENTIFIER", "src": { @@ -42962,7 +43023,7 @@ "end": "41856", "length": "9", "line": "1280", - "parentIndex": "2182", + "parentIndex": "2183", "start": "41848" }, "typeDescription": { @@ -42971,7 +43032,7 @@ } } }, - "id": "2182", + "id": "2183", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -42979,7 +43040,7 @@ "end": "41871", "length": "24", "line": "1280", - "parentIndex": "2180", + "parentIndex": "2181", "start": "41848" }, "typeDescription": { @@ -42992,13 +43053,13 @@ "isStateVariable": true, "name": "MINTER_ROLE", "nodeType": "VARIABLE_DECLARATION", - "scope": "2165", + "scope": "2166", "src": { "column": "4", "end": "41872", "length": "63", "line": "1280", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41810" }, "stateMutability": "MUTABLE", @@ -43008,7 +43069,7 @@ "typeString": "function(string memory)" }, "typeName": { - "id": "2181", + "id": "2182", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -43016,7 +43077,7 @@ "end": "41816", "length": "7", "line": "1280", - "parentIndex": "2180", + "parentIndex": "2181", "start": "41810" }, "typeDescription": { @@ -43030,17 +43091,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2186", + "id": "2187", "isStateVariable": true, "name": "_tokenURIs", "nodeType": "VARIABLE_DECLARATION", - "scope": "2165", + "scope": "2166", "src": { "column": "4", "end": "41964", "length": "47", "line": "1283", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41918" }, "stateMutability": "MUTABLE", @@ -43050,9 +43111,9 @@ "typeString": "mapping(uint256=\u003estring)" }, "typeName": { - "id": "2187", + "id": "2188", "keyType": { - "id": "2188", + "id": "2189", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -43060,7 +43121,7 @@ "end": "41933", "length": "7", "line": "1283", - "parentIndex": "2187", + "parentIndex": "2188", "start": "41927" }, "typeDescription": { @@ -43073,15 +43134,16 @@ "end": "41933", "length": "7", "line": "1283", - "parentIndex": "2187", + "parentIndex": "2188", "start": "41927" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "41944", "length": "27", "line": "1283", - "parentIndex": "2186", + "parentIndex": "2187", "start": "41918" }, "typeDescription": { @@ -43089,7 +43151,7 @@ "typeString": "mapping(uint256=\u003estring)" }, "valueType": { - "id": "2189", + "id": "2190", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -43097,7 +43159,7 @@ "end": "41943", "length": "6", "line": "1283", - "parentIndex": "2187", + "parentIndex": "2188", "start": "41938" }, "typeDescription": { @@ -43110,7 +43172,7 @@ "end": "41943", "length": "6", "line": "1283", - "parentIndex": "2187", + "parentIndex": "2188", "start": "41938" } }, @@ -43120,17 +43182,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2191", + "id": "2192", "isStateVariable": true, "name": "_baseURIextended", "nodeType": "VARIABLE_DECLARATION", - "scope": "2165", + "scope": "2166", "src": { "column": "4", "end": "42018", "length": "32", "line": "1286", - "parentIndex": "2165", + "parentIndex": "2166", "start": "41987" }, "stateMutability": "MUTABLE", @@ -43140,7 +43202,7 @@ "typeString": "string" }, "typeName": { - "id": "2192", + "id": "2193", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -43148,7 +43210,7 @@ "end": "41992", "length": "6", "line": "1286", - "parentIndex": "2191", + "parentIndex": "2192", "start": "41987" }, "typeDescription": { @@ -43163,7 +43225,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2207", + "id": "2208", "implemented": true, "nodeType": "BLOCK", "src": { @@ -43171,7 +43233,7 @@ "end": "42312", "length": "188", "line": "1288", - "parentIndex": "2194", + "parentIndex": "2195", "start": "42125" }, "statements": [ @@ -43192,7 +43254,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2210", + "id": "2211", "name": "DEFAULT_ADMIN_ROLE", "nodeType": "IDENTIFIER", "src": { @@ -43200,7 +43262,7 @@ "end": "42163", "length": "18", "line": "1289", - "parentIndex": "2208", + "parentIndex": "2209", "start": "42146" }, "typeDescription": { @@ -43221,7 +43283,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2212", + "id": "2213", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -43229,7 +43291,7 @@ "end": "42168", "length": "3", "line": "1289", - "parentIndex": "2211", + "parentIndex": "2212", "start": "42166" }, "typeDescription": { @@ -43238,13 +43300,13 @@ } } }, - "id": "2211", + "id": "2212", "memberLocation": { "column": "43", "end": "42175", "length": "6", "line": "1289", - "parentIndex": "2211", + "parentIndex": "2212", "start": "42170" }, "memberName": "sender", @@ -43254,7 +43316,7 @@ "end": "42175", "length": "10", "line": "1289", - "parentIndex": "2208", + "parentIndex": "2209", "start": "42166" }, "typeDescription": { @@ -43267,7 +43329,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2209", + "id": "2210", "name": "_setupRole", "nodeType": "IDENTIFIER", "src": { @@ -43275,7 +43337,7 @@ "end": "42144", "length": "10", "line": "1289", - "parentIndex": "2208", + "parentIndex": "2209", "start": "42135" }, "typeDescription": { @@ -43284,7 +43346,7 @@ } } }, - "id": "2208", + "id": "2209", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -43292,7 +43354,7 @@ "end": "42176", "length": "42", "line": "1289", - "parentIndex": "2207", + "parentIndex": "2208", "start": "42135" }, "typeDescription": { @@ -43318,7 +43380,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2215", + "id": "2216", "name": "MINTER_ROLE", "nodeType": "IDENTIFIER", "src": { @@ -43326,7 +43388,7 @@ "end": "42208", "length": "11", "line": "1290", - "parentIndex": "2213", + "parentIndex": "2214", "start": "42198" }, "typeDescription": { @@ -43347,7 +43409,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2217", + "id": "2218", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -43355,7 +43417,7 @@ "end": "42213", "length": "3", "line": "1290", - "parentIndex": "2216", + "parentIndex": "2217", "start": "42211" }, "typeDescription": { @@ -43364,13 +43426,13 @@ } } }, - "id": "2216", + "id": "2217", "memberLocation": { "column": "36", "end": "42220", "length": "6", "line": "1290", - "parentIndex": "2216", + "parentIndex": "2217", "start": "42215" }, "memberName": "sender", @@ -43380,7 +43442,7 @@ "end": "42220", "length": "10", "line": "1290", - "parentIndex": "2213", + "parentIndex": "2214", "start": "42211" }, "typeDescription": { @@ -43393,7 +43455,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2214", + "id": "2215", "name": "_setupRole", "nodeType": "IDENTIFIER", "src": { @@ -43401,7 +43463,7 @@ "end": "42196", "length": "10", "line": "1290", - "parentIndex": "2213", + "parentIndex": "2214", "start": "42187" }, "typeDescription": { @@ -43410,7 +43472,7 @@ } } }, - "id": "2213", + "id": "2214", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -43418,7 +43480,7 @@ "end": "42221", "length": "35", "line": "1290", - "parentIndex": "2207", + "parentIndex": "2208", "start": "42187" }, "typeDescription": { @@ -43454,7 +43516,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_NFTradeNFTToken_$2152", + "typeIdentifier": "t_contract$_NFTradeNFTToken_$2153", "typeString": "contract NFTradeNFTToken" } ], @@ -43462,7 +43524,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2226", + "id": "2227", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -43470,11 +43532,11 @@ "end": "42277", "length": "4", "line": "1291", - "parentIndex": "2223", + "parentIndex": "2224", "start": "42274" }, "typeDescription": { - "typeIdentifier": "t_contract$_NFTradeNFTToken_$2152", + "typeIdentifier": "t_contract$_NFTradeNFTToken_$2153", "typeString": "contract NFTradeNFTToken" } } @@ -43489,7 +43551,7 @@ "typeString": "address" } ], - "id": "2224", + "id": "2225", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -43497,7 +43559,7 @@ "end": "42272", "length": "7", "line": "1291", - "parentIndex": "2223", + "parentIndex": "2224", "start": "42266" }, "typeDescription": { @@ -43505,7 +43567,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2225", + "id": "2226", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -43513,7 +43575,7 @@ "end": "42272", "length": "7", "line": "1291", - "parentIndex": "2224", + "parentIndex": "2225", "start": "42266" }, "stateMutability": "NONPAYABLE", @@ -43524,7 +43586,7 @@ } } }, - "id": "2223", + "id": "2224", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -43532,7 +43594,7 @@ "end": "42278", "length": "13", "line": "1291", - "parentIndex": "2218", + "parentIndex": "2219", "start": "42266" }, "typeDescription": { @@ -43550,16 +43612,16 @@ "typeString": "function(address)" } ], - "id": "2227", + "id": "2228", "name": "name", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2227", + "referencedDeclaration": "2228", "src": { "column": "57", "end": "42284", "length": "4", "line": "1291", - "parentIndex": "2218", + "parentIndex": "2219", "start": "42281" }, "typeDescription": { @@ -43581,16 +43643,16 @@ "typeString": "string" } ], - "id": "2228", + "id": "2229", "name": "symbol", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2228", + "referencedDeclaration": "2229", "src": { "column": "63", "end": "42292", "length": "6", "line": "1291", - "parentIndex": "2218", + "parentIndex": "2219", "start": "42287" }, "typeDescription": { @@ -43619,7 +43681,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2230", + "id": "2231", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -43627,7 +43689,7 @@ "end": "42297", "length": "3", "line": "1291", - "parentIndex": "2229", + "parentIndex": "2230", "start": "42295" }, "typeDescription": { @@ -43636,13 +43698,13 @@ } } }, - "id": "2229", + "id": "2230", "memberLocation": { "column": "75", "end": "42304", "length": "6", "line": "1291", - "parentIndex": "2229", + "parentIndex": "2230", "start": "42299" }, "memberName": "sender", @@ -43652,7 +43714,7 @@ "end": "42304", "length": "10", "line": "1291", - "parentIndex": "2218", + "parentIndex": "2219", "start": "42295" }, "typeDescription": { @@ -43678,16 +43740,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2222", + "id": "2223", "name": "registry", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2222", + "referencedDeclaration": "2223", "src": { "column": "18", "end": "42249", "length": "8", "line": "1291", - "parentIndex": "2220", + "parentIndex": "2221", "start": "42242" }, "typeDescription": { @@ -43700,7 +43762,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2221", + "id": "2222", "name": "Registrar", "nodeType": "IDENTIFIER", "src": { @@ -43708,7 +43770,7 @@ "end": "42240", "length": "9", "line": "1291", - "parentIndex": "2220", + "parentIndex": "2221", "start": "42232" }, "typeDescription": { @@ -43717,7 +43779,7 @@ } } }, - "id": "2220", + "id": "2221", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -43725,7 +43787,7 @@ "end": "42250", "length": "19", "line": "1291", - "parentIndex": "2219", + "parentIndex": "2220", "start": "42232" }, "typeDescription": { @@ -43734,13 +43796,13 @@ } } }, - "id": "2219", + "id": "2220", "memberLocation": { "column": "28", "end": "42264", "length": "13", "line": "1291", - "parentIndex": "2219", + "parentIndex": "2220", "start": "42252" }, "memberName": "addCollection", @@ -43750,7 +43812,7 @@ "end": "42264", "length": "33", "line": "1291", - "parentIndex": "2218", + "parentIndex": "2219", "start": "42232" }, "typeDescription": { @@ -43759,7 +43821,7 @@ } } }, - "id": "2218", + "id": "2219", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -43767,7 +43829,7 @@ "end": "42305", "length": "74", "line": "1291", - "parentIndex": "2207", + "parentIndex": "2208", "start": "42232" }, "typeDescription": { @@ -43778,7 +43840,7 @@ } ] }, - "id": "2194", + "id": "2195", "implemented": true, "kind": "CONSTRUCTOR", "modifiers": [ @@ -43797,16 +43859,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2205", + "id": "2206", "name": "name", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2205", + "referencedDeclaration": "2206", "src": { "column": "90", "end": "42114", "length": "4", "line": "1288", - "parentIndex": "2203", + "parentIndex": "2204", "start": "42111" }, "typeDescription": { @@ -43818,16 +43880,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2206", + "id": "2207", "name": "symbol", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2206", + "referencedDeclaration": "2207", "src": { "column": "96", "end": "42122", "length": "6", "line": "1288", - "parentIndex": "2203", + "parentIndex": "2204", "start": "42117" }, "typeDescription": { @@ -43837,17 +43899,17 @@ } } ], - "id": "2203", + "id": "2204", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2204", + "id": "2205", "name": "ERC721", "src": { "column": "83", "end": "42109", "length": "6", "line": "1288", - "parentIndex": "2203", + "parentIndex": "2204", "start": "42104" } }, @@ -43858,27 +43920,27 @@ "end": "42123", "length": "20", "line": "1288", - "parentIndex": "2194", + "parentIndex": "2195", "start": "42104" } } ], "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2195", + "id": "2196", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2196", + "id": "2197", "name": "name", "nodeType": "VARIABLE_DECLARATION", - "scope": "2196", + "scope": "2197", "src": { "column": "16", "end": "42054", "length": "18", "line": "1288", - "parentIndex": "2195", + "parentIndex": "2196", "start": "42037" }, "stateMutability": "MUTABLE", @@ -43888,7 +43950,7 @@ "typeString": "string" }, "typeName": { - "id": "2197", + "id": "2198", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -43896,7 +43958,7 @@ "end": "42042", "length": "6", "line": "1288", - "parentIndex": "2196", + "parentIndex": "2197", "start": "42037" }, "typeDescription": { @@ -43907,16 +43969,16 @@ "visibility": "INTERNAL" }, { - "id": "2198", + "id": "2199", "name": "symbol", "nodeType": "VARIABLE_DECLARATION", - "scope": "2198", + "scope": "2199", "src": { "column": "36", "end": "42076", "length": "20", "line": "1288", - "parentIndex": "2195", + "parentIndex": "2196", "start": "42057" }, "stateMutability": "MUTABLE", @@ -43926,7 +43988,7 @@ "typeString": "string" }, "typeName": { - "id": "2199", + "id": "2200", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -43934,7 +43996,7 @@ "end": "42062", "length": "6", "line": "1288", - "parentIndex": "2198", + "parentIndex": "2199", "start": "42057" }, "typeDescription": { @@ -43945,16 +44007,16 @@ "visibility": "INTERNAL" }, { - "id": "2200", + "id": "2201", "name": "registry", "nodeType": "VARIABLE_DECLARATION", - "scope": "2200", + "scope": "2201", "src": { "column": "58", "end": "42094", "length": "16", "line": "1288", - "parentIndex": "2195", + "parentIndex": "2196", "start": "42079" }, "stateMutability": "NONPAYABLE", @@ -43964,7 +44026,7 @@ "typeString": "address" }, "typeName": { - "id": "2201", + "id": "2202", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -43972,7 +44034,7 @@ "end": "42085", "length": "7", "line": "1288", - "parentIndex": "2200", + "parentIndex": "2201", "start": "42079" }, "stateMutability": "NONPAYABLE", @@ -43989,29 +44051,29 @@ "end": "42094", "length": "58", "line": "1288", - "parentIndex": "2194", + "parentIndex": "2195", "start": "42037" } }, "returnParameters": { - "id": "2202", + "id": "2203", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "42312", "length": "288", "line": "1288", - "parentIndex": "2194", + "parentIndex": "2195", "start": "42025" } }, - "scope": "2165", + "scope": "2166", "src": { "column": "4", "end": "42312", "length": "288", "line": "1288", - "parentIndex": "2165", + "parentIndex": "2166", "start": "42025" }, "stateMutability": "NONPAYABLE", @@ -44026,7 +44088,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2242", + "id": "2243", "implemented": true, "nodeType": "BLOCK", "src": { @@ -44034,7 +44096,7 @@ "end": "42492", "length": "60", "line": "1294", - "parentIndex": "2232", + "parentIndex": "2233", "start": "42433" }, "statements": [ @@ -44054,16 +44116,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2247", + "id": "2248", "name": "interfaceId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2247", + "referencedDeclaration": "2248", "src": { "column": "39", "end": "42484", "length": "11", "line": "1295", - "parentIndex": "2244", + "parentIndex": "2245", "start": "42474" }, "typeDescription": { @@ -44079,7 +44141,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2246", + "id": "2247", "name": "super", "nodeType": "IDENTIFIER", "src": { @@ -44087,7 +44149,7 @@ "end": "42454", "length": "5", "line": "1295", - "parentIndex": "2245", + "parentIndex": "2246", "start": "42450" }, "typeDescription": { @@ -44096,13 +44158,13 @@ } } }, - "id": "2245", + "id": "2246", "memberLocation": { "column": "21", "end": "42472", "length": "17", "line": "1295", - "parentIndex": "2245", + "parentIndex": "2246", "start": "42456" }, "memberName": "supportsInterface", @@ -44112,7 +44174,7 @@ "end": "42472", "length": "23", "line": "1295", - "parentIndex": "2244", + "parentIndex": "2245", "start": "42450" }, "typeDescription": { @@ -44121,7 +44183,7 @@ } } }, - "id": "2244", + "id": "2245", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -44129,7 +44191,7 @@ "end": "42485", "length": "36", "line": "1295", - "parentIndex": "2243", + "parentIndex": "2244", "start": "42450" }, "typeDescription": { @@ -44138,15 +44200,15 @@ } } }, - "functionReturnParameters": "2232", - "id": "2243", + "functionReturnParameters": "2233", + "id": "2244", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "42486", "length": "44", "line": "1295", - "parentIndex": "2232", + "parentIndex": "2233", "start": "42443" }, "typeDescription": { @@ -44157,7 +44219,7 @@ } ] }, - "id": "2232", + "id": "2233", "implemented": true, "kind": "KIND_FUNCTION", "name": "supportsInterface", @@ -44166,17 +44228,17 @@ "end": "42344", "length": "17", "line": "1294", - "parentIndex": "2232", + "parentIndex": "2233", "start": "42328" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2236", + "id": "2237", "nodeType": "OVERRIDE_SPECIFIER", "overrides": [ { - "id": "2237", + "id": "2238", "name": "ERC721", "nodeType": "OVERRIDE_PATH", "referencedDeclaration": "867", @@ -44185,7 +44247,7 @@ "end": "42400", "length": "6", "line": "1294", - "parentIndex": "2236", + "parentIndex": "2237", "start": "42395" }, "typeDescription": { @@ -44194,7 +44256,7 @@ } }, { - "id": "2238", + "id": "2239", "name": "AccessControl", "nodeType": "OVERRIDE_PATH", "referencedDeclaration": "1798", @@ -44203,7 +44265,7 @@ "end": "42415", "length": "13", "line": "1294", - "parentIndex": "2236", + "parentIndex": "2237", "start": "42403" }, "typeDescription": { @@ -44217,7 +44279,7 @@ "end": "42416", "length": "31", "line": "1294", - "parentIndex": "2232", + "parentIndex": "2233", "start": "42386" }, "typeDescription": { @@ -44227,20 +44289,20 @@ } ], "parameters": { - "id": "2233", + "id": "2234", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2234", + "id": "2235", "name": "interfaceId", "nodeType": "VARIABLE_DECLARATION", - "scope": "2234", + "scope": "2235", "src": { "column": "31", "end": "42363", "length": "18", "line": "1294", - "parentIndex": "2233", + "parentIndex": "2234", "start": "42346" }, "stateMutability": "MUTABLE", @@ -44250,7 +44312,7 @@ "typeString": "bytes4" }, "typeName": { - "id": "2235", + "id": "2236", "name": "bytes4", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -44258,7 +44320,7 @@ "end": "42351", "length": "6", "line": "1294", - "parentIndex": "2234", + "parentIndex": "2235", "start": "42346" }, "typeDescription": { @@ -44274,24 +44336,24 @@ "end": "42363", "length": "18", "line": "1294", - "parentIndex": "2232", + "parentIndex": "2233", "start": "42346" } }, "returnParameters": { - "id": "2239", + "id": "2240", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2240", + "id": "2241", "nodeType": "VARIABLE_DECLARATION", - "scope": "2240", + "scope": "2241", "src": { "column": "112", "end": "42430", "length": "4", "line": "1294", - "parentIndex": "2239", + "parentIndex": "2240", "start": "42427" }, "stateMutability": "MUTABLE", @@ -44301,7 +44363,7 @@ "typeString": "bool" }, "typeName": { - "id": "2241", + "id": "2242", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -44309,7 +44371,7 @@ "end": "42430", "length": "4", "line": "1294", - "parentIndex": "2240", + "parentIndex": "2241", "start": "42427" }, "typeDescription": { @@ -44325,18 +44387,18 @@ "end": "42430", "length": "4", "line": "1294", - "parentIndex": "2232", + "parentIndex": "2233", "start": "42427" } }, - "scope": "2165", + "scope": "2166", "signature": "01ffc9a7", "src": { "column": "4", "end": "42492", "length": "174", "line": "1294", - "parentIndex": "2165", + "parentIndex": "2166", "start": "42319" }, "stateMutability": "VIEW", @@ -44352,7 +44414,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2257", + "id": "2258", "implemented": true, "nodeType": "BLOCK", "src": { @@ -44360,7 +44422,7 @@ "end": "42632", "length": "55", "line": "1297", - "parentIndex": "2249", + "parentIndex": "2250", "start": "42578" }, "statements": [ @@ -44381,7 +44443,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2260", + "id": "2261", "name": "MINTER_ROLE", "nodeType": "IDENTIFIER", "src": { @@ -44389,7 +44451,7 @@ "end": "42609", "length": "11", "line": "1298", - "parentIndex": "2258", + "parentIndex": "2259", "start": "42599" }, "typeDescription": { @@ -44407,16 +44469,16 @@ "typeString": "function()" } ], - "id": "2261", + "id": "2262", "name": "minterAddress", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2261", + "referencedDeclaration": "2262", "src": { "column": "32", "end": "42624", "length": "13", "line": "1298", - "parentIndex": "2258", + "parentIndex": "2259", "start": "42612" }, "typeDescription": { @@ -44429,7 +44491,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2259", + "id": "2260", "name": "_setupRole", "nodeType": "IDENTIFIER", "src": { @@ -44437,7 +44499,7 @@ "end": "42597", "length": "10", "line": "1298", - "parentIndex": "2258", + "parentIndex": "2259", "start": "42588" }, "typeDescription": { @@ -44446,7 +44508,7 @@ } } }, - "id": "2258", + "id": "2259", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -44454,7 +44516,7 @@ "end": "42625", "length": "38", "line": "1298", - "parentIndex": "2257", + "parentIndex": "2258", "start": "42588" }, "typeDescription": { @@ -44465,7 +44527,7 @@ } ] }, - "id": "2249", + "id": "2250", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -44480,16 +44542,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2255", + "id": "2256", "name": "DEFAULT_ADMIN_ROLE", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1831", + "referencedDeclaration": "1832", "src": { "column": "64", "end": "42575", "length": "18", "line": "1297", - "parentIndex": "2253", + "parentIndex": "2254", "start": "42558" }, "typeDescription": { @@ -44499,17 +44561,17 @@ } } ], - "id": "2253", + "id": "2254", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2254", + "id": "2255", "name": "onlyRole", "src": { "column": "55", "end": "42556", "length": "8", "line": "1297", - "parentIndex": "2253", + "parentIndex": "2254", "start": "42549" } }, @@ -44520,7 +44582,7 @@ "end": "42576", "length": "28", "line": "1297", - "parentIndex": "2249", + "parentIndex": "2250", "start": "42549" } } @@ -44531,25 +44593,25 @@ "end": "42515", "length": "9", "line": "1297", - "parentIndex": "2249", + "parentIndex": "2250", "start": "42507" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2250", + "id": "2251", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2251", + "id": "2252", "name": "minterAddress", "nodeType": "VARIABLE_DECLARATION", - "scope": "2251", + "scope": "2252", "src": { "column": "23", "end": "42537", "length": "21", "line": "1297", - "parentIndex": "2250", + "parentIndex": "2251", "start": "42517" }, "stateMutability": "NONPAYABLE", @@ -44559,7 +44621,7 @@ "typeString": "address" }, "typeName": { - "id": "2252", + "id": "2253", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -44567,7 +44629,7 @@ "end": "42523", "length": "7", "line": "1297", - "parentIndex": "2251", + "parentIndex": "2252", "start": "42517" }, "stateMutability": "NONPAYABLE", @@ -44584,30 +44646,30 @@ "end": "42537", "length": "21", "line": "1297", - "parentIndex": "2249", + "parentIndex": "2250", "start": "42517" } }, "returnParameters": { - "id": "2256", + "id": "2257", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "42632", "length": "135", "line": "1297", - "parentIndex": "2249", + "parentIndex": "2250", "start": "42498" } }, - "scope": "2165", + "scope": "2166", "signature": "983b2d56", "src": { "column": "4", "end": "42632", "length": "135", "line": "1297", - "parentIndex": "2165", + "parentIndex": "2166", "start": "42498" }, "stateMutability": "NONPAYABLE", @@ -44622,7 +44684,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2271", + "id": "2272", "implemented": true, "nodeType": "BLOCK", "src": { @@ -44630,7 +44692,7 @@ "end": "42775", "length": "55", "line": "1300", - "parentIndex": "2263", + "parentIndex": "2264", "start": "42721" }, "statements": [ @@ -44651,7 +44713,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2274", + "id": "2275", "name": "MINTER_ROLE", "nodeType": "IDENTIFIER", "src": { @@ -44659,7 +44721,7 @@ "end": "42752", "length": "11", "line": "1301", - "parentIndex": "2272", + "parentIndex": "2273", "start": "42742" }, "typeDescription": { @@ -44677,16 +44739,16 @@ "typeString": "function()" } ], - "id": "2275", + "id": "2276", "name": "minterAddress", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2275", + "referencedDeclaration": "2276", "src": { "column": "32", "end": "42767", "length": "13", "line": "1301", - "parentIndex": "2272", + "parentIndex": "2273", "start": "42755" }, "typeDescription": { @@ -44699,7 +44761,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2273", + "id": "2274", "name": "revokeRole", "nodeType": "IDENTIFIER", "src": { @@ -44707,7 +44769,7 @@ "end": "42740", "length": "10", "line": "1301", - "parentIndex": "2272", + "parentIndex": "2273", "start": "42731" }, "typeDescription": { @@ -44716,7 +44778,7 @@ } } }, - "id": "2272", + "id": "2273", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -44724,7 +44786,7 @@ "end": "42768", "length": "38", "line": "1301", - "parentIndex": "2271", + "parentIndex": "2272", "start": "42731" }, "typeDescription": { @@ -44735,7 +44797,7 @@ } ] }, - "id": "2263", + "id": "2264", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -44750,16 +44812,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2269", + "id": "2270", "name": "DEFAULT_ADMIN_ROLE", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1831", + "referencedDeclaration": "1832", "src": { "column": "67", "end": "42718", "length": "18", "line": "1300", - "parentIndex": "2267", + "parentIndex": "2268", "start": "42701" }, "typeDescription": { @@ -44769,17 +44831,17 @@ } } ], - "id": "2267", + "id": "2268", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2268", + "id": "2269", "name": "onlyRole", "src": { "column": "58", "end": "42699", "length": "8", "line": "1300", - "parentIndex": "2267", + "parentIndex": "2268", "start": "42692" } }, @@ -44790,7 +44852,7 @@ "end": "42719", "length": "28", "line": "1300", - "parentIndex": "2263", + "parentIndex": "2264", "start": "42692" } } @@ -44801,25 +44863,25 @@ "end": "42658", "length": "12", "line": "1300", - "parentIndex": "2263", + "parentIndex": "2264", "start": "42647" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2264", + "id": "2265", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2265", + "id": "2266", "name": "minterAddress", "nodeType": "VARIABLE_DECLARATION", - "scope": "2265", + "scope": "2266", "src": { "column": "26", "end": "42680", "length": "21", "line": "1300", - "parentIndex": "2264", + "parentIndex": "2265", "start": "42660" }, "stateMutability": "NONPAYABLE", @@ -44829,7 +44891,7 @@ "typeString": "address" }, "typeName": { - "id": "2266", + "id": "2267", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -44837,7 +44899,7 @@ "end": "42666", "length": "7", "line": "1300", - "parentIndex": "2265", + "parentIndex": "2266", "start": "42660" }, "stateMutability": "NONPAYABLE", @@ -44854,30 +44916,30 @@ "end": "42680", "length": "21", "line": "1300", - "parentIndex": "2263", + "parentIndex": "2264", "start": "42660" } }, "returnParameters": { - "id": "2270", + "id": "2271", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "42775", "length": "138", "line": "1300", - "parentIndex": "2263", + "parentIndex": "2264", "start": "42638" } }, - "scope": "2165", + "scope": "2166", "signature": "3092afd5", "src": { "column": "4", "end": "42775", "length": "138", "line": "1300", - "parentIndex": "2165", + "parentIndex": "2166", "start": "42638" }, "stateMutability": "NONPAYABLE", @@ -44892,7 +44954,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2285", + "id": "2286", "implemented": true, "nodeType": "BLOCK", "src": { @@ -44900,7 +44962,7 @@ "end": "42907", "length": "44", "line": "1304", - "parentIndex": "2277", + "parentIndex": "2278", "start": "42864" }, "statements": [ @@ -44910,20 +44972,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2287", + "id": "2288", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2288", + "id": "2289", "name": "_baseURIextended", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2191", + "referencedDeclaration": "2192", "src": { "column": "8", "end": "42889", "length": "16", "line": "1305", - "parentIndex": "2287", + "parentIndex": "2288", "start": "42874" }, "typeDescription": { @@ -44937,16 +44999,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2289", + "id": "2290", "name": "baseURI_", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2289", + "referencedDeclaration": "2290", "src": { "column": "27", "end": "42900", "length": "8", "line": "1305", - "parentIndex": "2287", + "parentIndex": "2288", "start": "42893" }, "typeDescription": { @@ -44960,7 +45022,7 @@ "end": "42900", "length": "27", "line": "1305", - "parentIndex": "2286", + "parentIndex": "2287", "start": "42874" }, "typeDescription": { @@ -44969,14 +45031,14 @@ } } }, - "id": "2286", + "id": "2287", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "42901", "length": "28", "line": "1305", - "parentIndex": "2285", + "parentIndex": "2286", "start": "42874" }, "typeDescription": { @@ -44987,7 +45049,7 @@ } ] }, - "id": "2277", + "id": "2278", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -45002,16 +45064,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2283", + "id": "2284", "name": "DEFAULT_ADMIN_ROLE", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1831", + "referencedDeclaration": "1832", "src": { "column": "66", "end": "42861", "length": "18", "line": "1304", - "parentIndex": "2281", + "parentIndex": "2282", "start": "42844" }, "typeDescription": { @@ -45021,17 +45083,17 @@ } } ], - "id": "2281", + "id": "2282", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2282", + "id": "2283", "name": "onlyRole", "src": { "column": "57", "end": "42842", "length": "8", "line": "1304", - "parentIndex": "2281", + "parentIndex": "2282", "start": "42835" } }, @@ -45042,7 +45104,7 @@ "end": "42862", "length": "28", "line": "1304", - "parentIndex": "2277", + "parentIndex": "2278", "start": "42835" } } @@ -45053,25 +45115,25 @@ "end": "42800", "length": "10", "line": "1304", - "parentIndex": "2277", + "parentIndex": "2278", "start": "42791" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2278", + "id": "2279", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2279", + "id": "2280", "name": "baseURI_", "nodeType": "VARIABLE_DECLARATION", - "scope": "2279", + "scope": "2280", "src": { "column": "24", "end": "42823", "length": "22", "line": "1304", - "parentIndex": "2278", + "parentIndex": "2279", "start": "42802" }, "stateMutability": "MUTABLE", @@ -45081,7 +45143,7 @@ "typeString": "string" }, "typeName": { - "id": "2280", + "id": "2281", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -45089,7 +45151,7 @@ "end": "42807", "length": "6", "line": "1304", - "parentIndex": "2279", + "parentIndex": "2280", "start": "42802" }, "typeDescription": { @@ -45105,30 +45167,30 @@ "end": "42823", "length": "22", "line": "1304", - "parentIndex": "2277", + "parentIndex": "2278", "start": "42802" } }, "returnParameters": { - "id": "2284", + "id": "2285", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "42907", "length": "126", "line": "1304", - "parentIndex": "2277", + "parentIndex": "2278", "start": "42782" } }, - "scope": "2165", + "scope": "2166", "signature": "55f804b3", "src": { "column": "4", "end": "42907", "length": "126", "line": "1304", - "parentIndex": "2165", + "parentIndex": "2166", "start": "42782" }, "stateMutability": "NONPAYABLE", @@ -45143,7 +45205,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2298", + "id": "2299", "implemented": true, "nodeType": "BLOCK", "src": { @@ -45151,7 +45213,7 @@ "end": "43129", "length": "131", "line": "1308", - "parentIndex": "2291", + "parentIndex": "2292", "start": "42999" }, "statements": [ @@ -45182,16 +45244,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2303", + "id": "2304", "name": "tokenId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2303", + "referencedDeclaration": "2304", "src": { "column": "24", "end": "43031", "length": "7", "line": "1309", - "parentIndex": "2301", + "parentIndex": "2302", "start": "43025" }, "typeDescription": { @@ -45204,7 +45266,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2302", + "id": "2303", "name": "_exists", "nodeType": "IDENTIFIER", "src": { @@ -45212,7 +45274,7 @@ "end": "43023", "length": "7", "line": "1309", - "parentIndex": "2301", + "parentIndex": "2302", "start": "43017" }, "typeDescription": { @@ -45221,7 +45283,7 @@ } } }, - "id": "2301", + "id": "2302", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -45229,7 +45291,7 @@ "end": "43032", "length": "16", "line": "1309", - "parentIndex": "2299", + "parentIndex": "2300", "start": "43017" }, "typeDescription": { @@ -45248,7 +45310,7 @@ } ], "hexValue": "4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": "2304", + "id": "2305", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -45257,7 +45319,7 @@ "end": "43080", "length": "46", "line": "1309", - "parentIndex": "2299", + "parentIndex": "2300", "start": "43035" }, "typeDescription": { @@ -45271,7 +45333,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2300", + "id": "2301", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -45280,7 +45342,7 @@ "end": "43015", "length": "7", "line": "1309", - "parentIndex": "2299", + "parentIndex": "2300", "start": "43009" }, "typeDescription": { @@ -45289,7 +45351,7 @@ } } }, - "id": "2299", + "id": "2300", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -45297,7 +45359,7 @@ "end": "43081", "length": "73", "line": "1309", - "parentIndex": "2298", + "parentIndex": "2299", "start": "43009" }, "typeDescription": { @@ -45312,23 +45374,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2306", + "id": "2307", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2309", + "id": "2310", "name": "tokenId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2309", + "referencedDeclaration": "2310", "src": { "column": "19", "end": "43109", "length": "7", "line": "1310", - "parentIndex": "2307", + "parentIndex": "2308", "start": "43103" }, "typeDescription": { @@ -45337,20 +45399,20 @@ } } }, - "id": "2307", + "id": "2308", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2308", + "id": "2309", "name": "_tokenURIs", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2186", + "referencedDeclaration": "2187", "src": { "column": "8", "end": "43101", "length": "10", "line": "1310", - "parentIndex": "2307", + "parentIndex": "2308", "start": "43092" }, "typeDescription": { @@ -45365,7 +45427,7 @@ "end": "43110", "length": "19", "line": "1310", - "parentIndex": "2306", + "parentIndex": "2307", "start": "43092" }, "typeDescription": { @@ -45389,16 +45451,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2310", + "id": "2311", "name": "_tokenURI", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2310", + "referencedDeclaration": "2311", "src": { "column": "30", "end": "43122", "length": "9", "line": "1310", - "parentIndex": "2306", + "parentIndex": "2307", "start": "43114" }, "typeDescription": { @@ -45412,7 +45474,7 @@ "end": "43122", "length": "31", "line": "1310", - "parentIndex": "2305", + "parentIndex": "2306", "start": "43092" }, "typeDescription": { @@ -45421,14 +45483,14 @@ } } }, - "id": "2305", + "id": "2306", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "43123", "length": "32", "line": "1310", - "parentIndex": "2298", + "parentIndex": "2299", "start": "43092" }, "typeDescription": { @@ -45439,7 +45501,7 @@ } ] }, - "id": "2291", + "id": "2292", "implemented": true, "kind": "KIND_FUNCTION", "name": "_setTokenURI", @@ -45448,25 +45510,25 @@ "end": "42938", "length": "12", "line": "1308", - "parentIndex": "2291", + "parentIndex": "2292", "start": "42927" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2292", + "id": "2293", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2293", + "id": "2294", "name": "tokenId", "nodeType": "VARIABLE_DECLARATION", - "scope": "2293", + "scope": "2294", "src": { "column": "26", "end": "42954", "length": "15", "line": "1308", - "parentIndex": "2292", + "parentIndex": "2293", "start": "42940" }, "stateMutability": "MUTABLE", @@ -45476,7 +45538,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2294", + "id": "2295", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -45484,7 +45546,7 @@ "end": "42946", "length": "7", "line": "1308", - "parentIndex": "2293", + "parentIndex": "2294", "start": "42940" }, "typeDescription": { @@ -45495,16 +45557,16 @@ "visibility": "INTERNAL" }, { - "id": "2295", + "id": "2296", "name": "_tokenURI", "nodeType": "VARIABLE_DECLARATION", - "scope": "2295", + "scope": "2296", "src": { "column": "43", "end": "42979", "length": "23", "line": "1308", - "parentIndex": "2292", + "parentIndex": "2293", "start": "42957" }, "stateMutability": "MUTABLE", @@ -45514,7 +45576,7 @@ "typeString": "string" }, "typeName": { - "id": "2296", + "id": "2297", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -45522,7 +45584,7 @@ "end": "42962", "length": "6", "line": "1308", - "parentIndex": "2295", + "parentIndex": "2296", "start": "42957" }, "typeDescription": { @@ -45538,30 +45600,30 @@ "end": "42979", "length": "40", "line": "1308", - "parentIndex": "2291", + "parentIndex": "2292", "start": "42940" } }, "returnParameters": { - "id": "2297", + "id": "2298", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "43129", "length": "212", "line": "1308", - "parentIndex": "2291", + "parentIndex": "2292", "start": "42918" } }, - "scope": "2165", - "signature": "69bb72e1", + "scope": "2166", + "signature": "01538868", "src": { "column": "4", "end": "43129", "length": "212", "line": "1308", - "parentIndex": "2165", + "parentIndex": "2166", "start": "42918" }, "stateMutability": "NONPAYABLE", @@ -45577,7 +45639,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2320", + "id": "2321", "implemented": true, "nodeType": "BLOCK", "src": { @@ -45585,7 +45647,7 @@ "end": "43254", "length": "40", "line": "1313", - "parentIndex": "2312", + "parentIndex": "2313", "start": "43215" }, "statements": [ @@ -45595,16 +45657,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2322", + "id": "2323", "name": "_baseURIextended", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2191", + "referencedDeclaration": "2192", "src": { "column": "15", "end": "43247", "length": "16", "line": "1314", - "parentIndex": "2321", + "parentIndex": "2322", "start": "43232" }, "typeDescription": { @@ -45613,15 +45675,15 @@ } } }, - "functionReturnParameters": "2312", - "id": "2321", + "functionReturnParameters": "2313", + "id": "2322", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "43248", "length": "24", "line": "1314", - "parentIndex": "2312", + "parentIndex": "2313", "start": "43225" }, "typeDescription": { @@ -45632,7 +45694,7 @@ } ] }, - "id": "2312", + "id": "2313", "implemented": true, "kind": "KIND_FUNCTION", "name": "_baseURI", @@ -45641,20 +45703,20 @@ "end": "43156", "length": "8", "line": "1313", - "parentIndex": "2312", + "parentIndex": "2313", "start": "43149" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2316", + "id": "2317", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "46", "end": "43189", "length": "8", "line": "1313", - "parentIndex": "2312", + "parentIndex": "2313", "start": "43182" }, "typeDescription": { @@ -45664,19 +45726,19 @@ } ], "parameters": { - "id": "2313", + "id": "2314", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2314", + "id": "2315", "nodeType": "VARIABLE_DECLARATION", - "scope": "2314", + "scope": "2315", "src": { "column": "64", "end": "43212", "length": "13", "line": "1313", - "parentIndex": "2313", + "parentIndex": "2314", "start": "43200" }, "stateMutability": "MUTABLE", @@ -45686,7 +45748,7 @@ "typeString": "string" }, "typeName": { - "id": "2315", + "id": "2316", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -45694,7 +45756,7 @@ "end": "43205", "length": "6", "line": "1313", - "parentIndex": "2314", + "parentIndex": "2315", "start": "43200" }, "typeDescription": { @@ -45710,24 +45772,24 @@ "end": "43212", "length": "13", "line": "1313", - "parentIndex": "2312", + "parentIndex": "2313", "start": "43200" } }, "returnParameters": { - "id": "2317", + "id": "2318", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2318", + "id": "2319", "nodeType": "VARIABLE_DECLARATION", - "scope": "2318", + "scope": "2319", "src": { "column": "64", "end": "43212", "length": "13", "line": "1313", - "parentIndex": "2317", + "parentIndex": "2318", "start": "43200" }, "stateMutability": "MUTABLE", @@ -45737,7 +45799,7 @@ "typeString": "string" }, "typeName": { - "id": "2319", + "id": "2320", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -45745,7 +45807,7 @@ "end": "43205", "length": "6", "line": "1313", - "parentIndex": "2318", + "parentIndex": "2319", "start": "43200" }, "typeDescription": { @@ -45761,18 +45823,18 @@ "end": "43212", "length": "13", "line": "1313", - "parentIndex": "2312", + "parentIndex": "2313", "start": "43200" } }, - "scope": "2165", + "scope": "2166", "signature": "5591a4da", "src": { "column": "4", "end": "43254", "length": "115", "line": "1313", - "parentIndex": "2165", + "parentIndex": "2166", "start": "43140" }, "stateMutability": "VIEW", @@ -45788,7 +45850,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2332", + "id": "2333", "implemented": true, "nodeType": "BLOCK", "src": { @@ -45796,7 +45858,7 @@ "end": "44038", "length": "686", "line": "1317", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43353" }, "statements": [ @@ -45827,16 +45889,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2337", + "id": "2338", "name": "tokenId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2337", + "referencedDeclaration": "2338", "src": { "column": "24", "end": "43385", "length": "7", "line": "1318", - "parentIndex": "2335", + "parentIndex": "2336", "start": "43379" }, "typeDescription": { @@ -45849,7 +45911,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2336", + "id": "2337", "name": "_exists", "nodeType": "IDENTIFIER", "src": { @@ -45857,7 +45919,7 @@ "end": "43377", "length": "7", "line": "1318", - "parentIndex": "2335", + "parentIndex": "2336", "start": "43371" }, "typeDescription": { @@ -45866,7 +45928,7 @@ } } }, - "id": "2335", + "id": "2336", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -45874,7 +45936,7 @@ "end": "43386", "length": "16", "line": "1318", - "parentIndex": "2333", + "parentIndex": "2334", "start": "43371" }, "typeDescription": { @@ -45893,7 +45955,7 @@ } ], "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": "2338", + "id": "2339", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -45902,7 +45964,7 @@ "end": "43437", "length": "49", "line": "1318", - "parentIndex": "2333", + "parentIndex": "2334", "start": "43389" }, "typeDescription": { @@ -45916,7 +45978,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2334", + "id": "2335", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -45925,7 +45987,7 @@ "end": "43369", "length": "7", "line": "1318", - "parentIndex": "2333", + "parentIndex": "2334", "start": "43363" }, "typeDescription": { @@ -45934,7 +45996,7 @@ } } }, - "id": "2333", + "id": "2334", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -45942,7 +46004,7 @@ "end": "43438", "length": "76", "line": "1318", - "parentIndex": "2332", + "parentIndex": "2333", "start": "43363" }, "typeDescription": { @@ -45955,11 +46017,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2340" + "2341" ], "declarations": [ { - "id": "2340", + "id": "2341", "mutability": "MUTABLE", "name": "_tokenURI", "nameLocation": { @@ -45967,17 +46029,17 @@ "end": "43472", "length": "9", "line": "1320", - "parentIndex": "2340", + "parentIndex": "2341", "start": "43464" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2332", + "scope": "2333", "src": { "column": "8", "end": "43472", "length": "23", "line": "1320", - "parentIndex": "2339", + "parentIndex": "2340", "start": "43450" }, "storageLocation": "MEMORY", @@ -45986,7 +46048,7 @@ "typeString": "string" }, "typeName": { - "id": "2341", + "id": "2342", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -45994,7 +46056,7 @@ "end": "43455", "length": "6", "line": "1320", - "parentIndex": "2340", + "parentIndex": "2341", "start": "43450" }, "typeDescription": { @@ -46005,23 +46067,23 @@ "visibility": "INTERNAL" } ], - "id": "2339", + "id": "2340", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2344", + "id": "2345", "name": "tokenId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2344", + "referencedDeclaration": "2345", "src": { "column": "45", "end": "43493", "length": "7", "line": "1320", - "parentIndex": "2342", + "parentIndex": "2343", "start": "43487" }, "typeDescription": { @@ -46030,20 +46092,20 @@ } } }, - "id": "2342", + "id": "2343", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2343", + "id": "2344", "name": "_tokenURIs", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2186", + "referencedDeclaration": "2187", "src": { "column": "34", "end": "43485", "length": "10", "line": "1320", - "parentIndex": "2342", + "parentIndex": "2343", "start": "43476" }, "typeDescription": { @@ -46058,7 +46120,7 @@ "end": "43494", "length": "19", "line": "1320", - "parentIndex": "2339", + "parentIndex": "2340", "start": "43476" }, "typeDescription": { @@ -46083,7 +46145,7 @@ "end": "43495", "length": "46", "line": "1320", - "parentIndex": "2332", + "parentIndex": "2333", "start": "43450" } } @@ -46092,11 +46154,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2346" + "2347" ], "declarations": [ { - "id": "2346", + "id": "2347", "mutability": "MUTABLE", "name": "base", "nameLocation": { @@ -46104,17 +46166,17 @@ "end": "43522", "length": "4", "line": "1321", - "parentIndex": "2346", + "parentIndex": "2347", "start": "43519" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2332", + "scope": "2333", "src": { "column": "8", "end": "43522", "length": "18", "line": "1321", - "parentIndex": "2345", + "parentIndex": "2346", "start": "43505" }, "storageLocation": "MEMORY", @@ -46123,7 +46185,7 @@ "typeString": "string" }, "typeName": { - "id": "2347", + "id": "2348", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46131,7 +46193,7 @@ "end": "43510", "length": "6", "line": "1321", - "parentIndex": "2346", + "parentIndex": "2347", "start": "43505" }, "typeDescription": { @@ -46142,14 +46204,14 @@ "visibility": "INTERNAL" } ], - "id": "2345", + "id": "2346", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2349", + "id": "2350", "name": "_baseURI", "nodeType": "IDENTIFIER", "src": { @@ -46157,7 +46219,7 @@ "end": "43533", "length": "8", "line": "1321", - "parentIndex": "2348", + "parentIndex": "2349", "start": "43526" }, "typeDescription": { @@ -46166,7 +46228,7 @@ } } }, - "id": "2348", + "id": "2349", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -46174,7 +46236,7 @@ "end": "43535", "length": "10", "line": "1321", - "parentIndex": "2345", + "parentIndex": "2346", "start": "43526" }, "typeDescription": { @@ -46189,7 +46251,7 @@ "end": "43536", "length": "32", "line": "1321", - "parentIndex": "2332", + "parentIndex": "2333", "start": "43505" } } @@ -46198,7 +46260,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2358", + "id": "2359", "implemented": true, "nodeType": "BLOCK", "src": { @@ -46206,7 +46268,7 @@ "end": "43682", "length": "41", "line": "1324", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43642" }, "statements": [ @@ -46216,16 +46278,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2360", + "id": "2361", "name": "_tokenURI", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2295", + "referencedDeclaration": "2296", "src": { "column": "19", "end": "43671", "length": "9", "line": "1325", - "parentIndex": "2359", + "parentIndex": "2360", "start": "43663" }, "typeDescription": { @@ -46234,15 +46296,15 @@ } } }, - "functionReturnParameters": "2324", - "id": "2359", + "functionReturnParameters": "2325", + "id": "2360", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", "end": "43672", "length": "17", "line": "1325", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43656" }, "typeDescription": { @@ -46256,7 +46318,7 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2351", + "id": "2352", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -46273,16 +46335,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2356", + "id": "2357", "name": "base", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2345", + "referencedDeclaration": "2346", "src": { "column": "18", "end": "43626", "length": "4", "line": "1324", - "parentIndex": "2353", + "parentIndex": "2354", "start": "43623" }, "typeDescription": { @@ -46301,7 +46363,7 @@ "typeString": "bytes" } ], - "id": "2354", + "id": "2355", "name": "bytes", "nodeType": "IDENTIFIER", "src": { @@ -46309,7 +46371,7 @@ "end": "43621", "length": "5", "line": "1324", - "parentIndex": "2353", + "parentIndex": "2354", "start": "43617" }, "typeDescription": { @@ -46317,7 +46379,7 @@ "typeString": "function(bytes)" }, "typeName": { - "id": "2355", + "id": "2356", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46325,7 +46387,7 @@ "end": "43621", "length": "5", "line": "1324", - "parentIndex": "2354", + "parentIndex": "2355", "start": "43617" }, "typeDescription": { @@ -46335,7 +46397,7 @@ } } }, - "id": "2353", + "id": "2354", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -46343,7 +46405,7 @@ "end": "43627", "length": "11", "line": "1324", - "parentIndex": "2352", + "parentIndex": "2353", "start": "43617" }, "typeDescription": { @@ -46352,13 +46414,13 @@ } } }, - "id": "2352", + "id": "2353", "memberLocation": { "column": "24", "end": "43634", "length": "6", "line": "1324", - "parentIndex": "2352", + "parentIndex": "2353", "start": "43629" }, "memberName": "length", @@ -46368,7 +46430,7 @@ "end": "43634", "length": "18", "line": "1324", - "parentIndex": "2351", + "parentIndex": "2352", "start": "43617" }, "typeDescription": { @@ -46383,7 +46445,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2357", + "id": "2358", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -46392,7 +46454,7 @@ "end": "43639", "length": "1", "line": "1324", - "parentIndex": "2351", + "parentIndex": "2352", "start": "43639" }, "typeDescription": { @@ -46407,7 +46469,7 @@ "end": "43639", "length": "23", "line": "1324", - "parentIndex": "2350", + "parentIndex": "2351", "start": "43617" }, "typeDescription": { @@ -46416,13 +46478,13 @@ } } }, - "id": "2350", + "id": "2351", "nodeType": "IF_STATEMENT", "src": { "end": "43682", "length": "70", "line": "1324", - "parentIndex": "2332", + "parentIndex": "2333", "start": "43613" } } @@ -46431,7 +46493,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2369", + "id": "2370", "implemented": true, "nodeType": "BLOCK", "src": { @@ -46439,7 +46501,7 @@ "end": "43886", "length": "73", "line": "1328", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43814" }, "statements": [ @@ -46473,7 +46535,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2377", + "id": "2378", "name": "base", "nodeType": "IDENTIFIER", "src": { @@ -46481,7 +46543,7 @@ "end": "43862", "length": "4", "line": "1329", - "parentIndex": "2374", + "parentIndex": "2375", "start": "43859" }, "typeDescription": { @@ -46499,7 +46561,7 @@ "typeString": "function()" } ], - "id": "2378", + "id": "2379", "name": "_tokenURI", "nodeType": "IDENTIFIER", "src": { @@ -46507,7 +46569,7 @@ "end": "43873", "length": "9", "line": "1329", - "parentIndex": "2374", + "parentIndex": "2375", "start": "43865" }, "typeDescription": { @@ -46523,7 +46585,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2376", + "id": "2377", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -46531,7 +46593,7 @@ "end": "43844", "length": "3", "line": "1329", - "parentIndex": "2375", + "parentIndex": "2376", "start": "43842" }, "typeDescription": { @@ -46540,13 +46602,13 @@ } } }, - "id": "2375", + "id": "2376", "memberLocation": { "column": "30", "end": "43857", "length": "12", "line": "1329", - "parentIndex": "2375", + "parentIndex": "2376", "start": "43846" }, "memberName": "encodePacked", @@ -46556,7 +46618,7 @@ "end": "43857", "length": "16", "line": "1329", - "parentIndex": "2374", + "parentIndex": "2375", "start": "43842" }, "typeDescription": { @@ -46565,7 +46627,7 @@ } } }, - "id": "2374", + "id": "2375", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -46573,7 +46635,7 @@ "end": "43874", "length": "33", "line": "1329", - "parentIndex": "2371", + "parentIndex": "2372", "start": "43842" }, "typeDescription": { @@ -46592,7 +46654,7 @@ "typeString": "string" } ], - "id": "2372", + "id": "2373", "name": "string", "nodeType": "IDENTIFIER", "src": { @@ -46600,7 +46662,7 @@ "end": "43840", "length": "6", "line": "1329", - "parentIndex": "2371", + "parentIndex": "2372", "start": "43835" }, "typeDescription": { @@ -46608,7 +46670,7 @@ "typeString": "function(string)" }, "typeName": { - "id": "2373", + "id": "2374", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46616,7 +46678,7 @@ "end": "43840", "length": "6", "line": "1329", - "parentIndex": "2372", + "parentIndex": "2373", "start": "43835" }, "typeDescription": { @@ -46626,7 +46688,7 @@ } } }, - "id": "2371", + "id": "2372", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -46634,7 +46696,7 @@ "end": "43875", "length": "41", "line": "1329", - "parentIndex": "2370", + "parentIndex": "2371", "start": "43835" }, "typeDescription": { @@ -46643,15 +46705,15 @@ } } }, - "functionReturnParameters": "2324", - "id": "2370", + "functionReturnParameters": "2325", + "id": "2371", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", "end": "43876", "length": "49", "line": "1329", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43828" }, "typeDescription": { @@ -46665,7 +46727,7 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2362", + "id": "2363", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -46682,16 +46744,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2367", + "id": "2368", "name": "_tokenURI", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2339", + "referencedDeclaration": "2340", "src": { "column": "18", "end": "43799", "length": "9", "line": "1328", - "parentIndex": "2364", + "parentIndex": "2365", "start": "43791" }, "typeDescription": { @@ -46710,7 +46772,7 @@ "typeString": "bytes" } ], - "id": "2365", + "id": "2366", "name": "bytes", "nodeType": "IDENTIFIER", "src": { @@ -46718,7 +46780,7 @@ "end": "43789", "length": "5", "line": "1328", - "parentIndex": "2364", + "parentIndex": "2365", "start": "43785" }, "typeDescription": { @@ -46726,7 +46788,7 @@ "typeString": "function(bytes)" }, "typeName": { - "id": "2366", + "id": "2367", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46734,7 +46796,7 @@ "end": "43789", "length": "5", "line": "1328", - "parentIndex": "2365", + "parentIndex": "2366", "start": "43785" }, "typeDescription": { @@ -46744,7 +46806,7 @@ } } }, - "id": "2364", + "id": "2365", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -46752,7 +46814,7 @@ "end": "43800", "length": "16", "line": "1328", - "parentIndex": "2363", + "parentIndex": "2364", "start": "43785" }, "typeDescription": { @@ -46761,13 +46823,13 @@ } } }, - "id": "2363", + "id": "2364", "memberLocation": { "column": "29", "end": "43807", "length": "6", "line": "1328", - "parentIndex": "2363", + "parentIndex": "2364", "start": "43802" }, "memberName": "length", @@ -46777,7 +46839,7 @@ "end": "43807", "length": "23", "line": "1328", - "parentIndex": "2362", + "parentIndex": "2363", "start": "43785" }, "typeDescription": { @@ -46792,7 +46854,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2368", + "id": "2369", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -46801,7 +46863,7 @@ "end": "43811", "length": "1", "line": "1328", - "parentIndex": "2362", + "parentIndex": "2363", "start": "43811" }, "typeDescription": { @@ -46816,7 +46878,7 @@ "end": "43811", "length": "27", "line": "1328", - "parentIndex": "2361", + "parentIndex": "2362", "start": "43785" }, "typeDescription": { @@ -46825,13 +46887,13 @@ } } }, - "id": "2361", + "id": "2362", "nodeType": "IF_STATEMENT", "src": { "end": "43886", "length": "106", "line": "1328", - "parentIndex": "2332", + "parentIndex": "2333", "start": "43781" } } @@ -46866,16 +46928,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2386", + "id": "2387", "name": "base", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2345", + "referencedDeclaration": "2346", "src": { "column": "39", "end": "44020", "length": "4", "line": "1332", - "parentIndex": "2383", + "parentIndex": "2384", "start": "44017" }, "typeDescription": { @@ -46893,16 +46955,16 @@ "typeString": "string" } ], - "id": "2387", + "id": "2388", "name": "tokenId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2387", + "referencedDeclaration": "2388", "src": { "column": "45", "end": "44029", "length": "7", "line": "1332", - "parentIndex": "2383", + "parentIndex": "2384", "start": "44023" }, "typeDescription": { @@ -46918,7 +46980,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2385", + "id": "2386", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -46926,7 +46988,7 @@ "end": "44002", "length": "3", "line": "1332", - "parentIndex": "2384", + "parentIndex": "2385", "start": "44000" }, "typeDescription": { @@ -46935,13 +46997,13 @@ } } }, - "id": "2384", + "id": "2385", "memberLocation": { "column": "26", "end": "44015", "length": "12", "line": "1332", - "parentIndex": "2384", + "parentIndex": "2385", "start": "44004" }, "memberName": "encodePacked", @@ -46951,7 +47013,7 @@ "end": "44015", "length": "16", "line": "1332", - "parentIndex": "2383", + "parentIndex": "2384", "start": "44000" }, "typeDescription": { @@ -46960,7 +47022,7 @@ } } }, - "id": "2383", + "id": "2384", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -46968,7 +47030,7 @@ "end": "44030", "length": "31", "line": "1332", - "parentIndex": "2380", + "parentIndex": "2381", "start": "44000" }, "typeDescription": { @@ -46987,7 +47049,7 @@ "typeString": "string" } ], - "id": "2381", + "id": "2382", "name": "string", "nodeType": "IDENTIFIER", "src": { @@ -46995,7 +47057,7 @@ "end": "43998", "length": "6", "line": "1332", - "parentIndex": "2380", + "parentIndex": "2381", "start": "43993" }, "typeDescription": { @@ -47003,7 +47065,7 @@ "typeString": "function(string)" }, "typeName": { - "id": "2382", + "id": "2383", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47011,7 +47073,7 @@ "end": "43998", "length": "6", "line": "1332", - "parentIndex": "2381", + "parentIndex": "2382", "start": "43993" }, "typeDescription": { @@ -47021,7 +47083,7 @@ } } }, - "id": "2380", + "id": "2381", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47029,7 +47091,7 @@ "end": "44031", "length": "39", "line": "1332", - "parentIndex": "2379", + "parentIndex": "2380", "start": "43993" }, "typeDescription": { @@ -47038,15 +47100,15 @@ } } }, - "functionReturnParameters": "2324", - "id": "2379", + "functionReturnParameters": "2325", + "id": "2380", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "44032", "length": "47", "line": "1332", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43986" }, "typeDescription": { @@ -47057,7 +47119,7 @@ } ] }, - "id": "2324", + "id": "2325", "implemented": true, "kind": "KIND_FUNCTION", "name": "tokenURI", @@ -47066,20 +47128,20 @@ "end": "43281", "length": "8", "line": "1317", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43274" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "2328", + "id": "2329", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "59", "end": "43327", "length": "8", "line": "1317", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43320" }, "typeDescription": { @@ -47089,20 +47151,20 @@ } ], "parameters": { - "id": "2325", + "id": "2326", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2326", + "id": "2327", "name": "tokenId", "nodeType": "VARIABLE_DECLARATION", - "scope": "2326", + "scope": "2327", "src": { "column": "22", "end": "43297", "length": "15", "line": "1317", - "parentIndex": "2325", + "parentIndex": "2326", "start": "43283" }, "stateMutability": "MUTABLE", @@ -47112,7 +47174,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2327", + "id": "2328", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47120,7 +47182,7 @@ "end": "43289", "length": "7", "line": "1317", - "parentIndex": "2326", + "parentIndex": "2327", "start": "43283" }, "typeDescription": { @@ -47136,24 +47198,24 @@ "end": "43297", "length": "15", "line": "1317", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43283" } }, "returnParameters": { - "id": "2329", + "id": "2330", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2330", + "id": "2331", "nodeType": "VARIABLE_DECLARATION", - "scope": "2330", + "scope": "2331", "src": { "column": "77", "end": "43350", "length": "13", "line": "1317", - "parentIndex": "2329", + "parentIndex": "2330", "start": "43338" }, "stateMutability": "MUTABLE", @@ -47163,7 +47225,7 @@ "typeString": "string" }, "typeName": { - "id": "2331", + "id": "2332", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47171,7 +47233,7 @@ "end": "43343", "length": "6", "line": "1317", - "parentIndex": "2330", + "parentIndex": "2331", "start": "43338" }, "typeDescription": { @@ -47187,18 +47249,18 @@ "end": "43350", "length": "13", "line": "1317", - "parentIndex": "2324", + "parentIndex": "2325", "start": "43338" } }, - "scope": "2165", + "scope": "2166", "signature": "c87b56dd", "src": { "column": "4", "end": "44038", "length": "774", "line": "1317", - "parentIndex": "2165", + "parentIndex": "2166", "start": "43265" }, "stateMutability": "VIEW", @@ -47214,7 +47276,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2401", + "id": "2402", "implemented": true, "nodeType": "BLOCK", "src": { @@ -47222,7 +47284,7 @@ "end": "44339", "length": "192", "line": "1335", - "parentIndex": "2389", + "parentIndex": "2390", "start": "44148" }, "statements": [ @@ -47235,16 +47297,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2404", + "id": "2405", "name": "_tokenIds", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2176", + "referencedDeclaration": "2177", "src": { "column": "8", "end": "44166", "length": "9", "line": "1336", - "parentIndex": "2403", + "parentIndex": "2404", "start": "44158" }, "typeDescription": { @@ -47253,13 +47315,13 @@ } } }, - "id": "2403", + "id": "2404", "memberLocation": { "column": "18", "end": "44176", "length": "9", "line": "1336", - "parentIndex": "2403", + "parentIndex": "2404", "start": "44168" }, "memberName": "increment", @@ -47269,7 +47331,7 @@ "end": "44176", "length": "19", "line": "1336", - "parentIndex": "2402", + "parentIndex": "2403", "start": "44158" }, "typeDescription": { @@ -47278,7 +47340,7 @@ } } }, - "id": "2402", + "id": "2403", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47286,7 +47348,7 @@ "end": "44178", "length": "21", "line": "1336", - "parentIndex": "2401", + "parentIndex": "2402", "start": "44158" }, "typeDescription": { @@ -47299,11 +47361,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2406" + "2407" ], "declarations": [ { - "id": "2406", + "id": "2407", "mutability": "MUTABLE", "name": "newItemId", "nameLocation": { @@ -47311,17 +47373,17 @@ "end": "44205", "length": "9", "line": "1337", - "parentIndex": "2406", + "parentIndex": "2407", "start": "44197" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2401", + "scope": "2402", "src": { "column": "8", "end": "44205", "length": "17", "line": "1337", - "parentIndex": "2405", + "parentIndex": "2406", "start": "44189" }, "storageLocation": "DEFAULT", @@ -47330,7 +47392,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2407", + "id": "2408", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47338,7 +47400,7 @@ "end": "44195", "length": "7", "line": "1337", - "parentIndex": "2406", + "parentIndex": "2407", "start": "44189" }, "typeDescription": { @@ -47349,7 +47411,7 @@ "visibility": "INTERNAL" } ], - "id": "2405", + "id": "2406", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -47359,16 +47421,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2410", + "id": "2411", "name": "_tokenIds", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2176", + "referencedDeclaration": "2177", "src": { "column": "28", "end": "44217", "length": "9", "line": "1337", - "parentIndex": "2409", + "parentIndex": "2410", "start": "44209" }, "typeDescription": { @@ -47377,13 +47439,13 @@ } } }, - "id": "2409", + "id": "2410", "memberLocation": { "column": "38", "end": "44225", "length": "7", "line": "1337", - "parentIndex": "2409", + "parentIndex": "2410", "start": "44219" }, "memberName": "current", @@ -47393,7 +47455,7 @@ "end": "44225", "length": "17", "line": "1337", - "parentIndex": "2408", + "parentIndex": "2409", "start": "44209" }, "typeDescription": { @@ -47402,7 +47464,7 @@ } } }, - "id": "2408", + "id": "2409", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47410,7 +47472,7 @@ "end": "44227", "length": "19", "line": "1337", - "parentIndex": "2405", + "parentIndex": "2406", "start": "44209" }, "typeDescription": { @@ -47425,7 +47487,7 @@ "end": "44228", "length": "40", "line": "1337", - "parentIndex": "2401", + "parentIndex": "2402", "start": "44189" } } @@ -47447,16 +47509,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2413", + "id": "2414", "name": "receiver", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2413", + "referencedDeclaration": "2414", "src": { "column": "14", "end": "44251", "length": "8", "line": "1338", - "parentIndex": "2411", + "parentIndex": "2412", "start": "44244" }, "typeDescription": { @@ -47474,16 +47536,16 @@ "typeString": "address" } ], - "id": "2414", + "id": "2415", "name": "newItemId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2405", + "referencedDeclaration": "2406", "src": { "column": "24", "end": "44262", "length": "9", "line": "1338", - "parentIndex": "2411", + "parentIndex": "2412", "start": "44254" }, "typeDescription": { @@ -47496,7 +47558,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2412", + "id": "2413", "name": "_mint", "nodeType": "IDENTIFIER", "src": { @@ -47504,7 +47566,7 @@ "end": "44242", "length": "5", "line": "1338", - "parentIndex": "2411", + "parentIndex": "2412", "start": "44238" }, "typeDescription": { @@ -47513,7 +47575,7 @@ } } }, - "id": "2411", + "id": "2412", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47521,7 +47583,7 @@ "end": "44263", "length": "26", "line": "1338", - "parentIndex": "2401", + "parentIndex": "2402", "start": "44238" }, "typeDescription": { @@ -47547,16 +47609,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2417", + "id": "2418", "name": "newItemId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2405", + "referencedDeclaration": "2406", "src": { "column": "21", "end": "44295", "length": "9", "line": "1339", - "parentIndex": "2415", + "parentIndex": "2416", "start": "44287" }, "typeDescription": { @@ -47574,16 +47636,16 @@ "typeString": "uint256" } ], - "id": "2418", + "id": "2419", "name": "metadata", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2418", + "referencedDeclaration": "2419", "src": { "column": "32", "end": "44305", "length": "8", "line": "1339", - "parentIndex": "2415", + "parentIndex": "2416", "start": "44298" }, "typeDescription": { @@ -47596,7 +47658,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2416", + "id": "2417", "name": "_setTokenURI", "nodeType": "IDENTIFIER", "src": { @@ -47604,7 +47666,7 @@ "end": "44285", "length": "12", "line": "1339", - "parentIndex": "2415", + "parentIndex": "2416", "start": "44274" }, "typeDescription": { @@ -47613,7 +47675,7 @@ } } }, - "id": "2415", + "id": "2416", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47621,7 +47683,7 @@ "end": "44306", "length": "33", "line": "1339", - "parentIndex": "2401", + "parentIndex": "2402", "start": "44274" }, "typeDescription": { @@ -47636,16 +47698,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2420", + "id": "2421", "name": "newItemId", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2405", + "referencedDeclaration": "2406", "src": { "column": "15", "end": "44332", "length": "9", "line": "1340", - "parentIndex": "2419", + "parentIndex": "2420", "start": "44324" }, "typeDescription": { @@ -47654,15 +47716,15 @@ } } }, - "functionReturnParameters": "2389", - "id": "2419", + "functionReturnParameters": "2390", + "id": "2420", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "44333", "length": "17", "line": "1340", - "parentIndex": "2389", + "parentIndex": "2390", "start": "44317" }, "typeDescription": { @@ -47673,7 +47735,7 @@ } ] }, - "id": "2389", + "id": "2390", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ @@ -47688,16 +47750,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2397", + "id": "2398", "name": "MINTER_ROLE", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2180", + "referencedDeclaration": "2181", "src": { "column": "76", "end": "44127", "length": "11", "line": "1335", - "parentIndex": "2395", + "parentIndex": "2396", "start": "44117" }, "typeDescription": { @@ -47707,17 +47769,17 @@ } } ], - "id": "2395", + "id": "2396", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2396", + "id": "2397", "name": "onlyRole", "src": { "column": "67", "end": "44115", "length": "8", "line": "1335", - "parentIndex": "2395", + "parentIndex": "2396", "start": "44108" } }, @@ -47728,7 +47790,7 @@ "end": "44128", "length": "21", "line": "1335", - "parentIndex": "2389", + "parentIndex": "2390", "start": "44108" } } @@ -47739,25 +47801,25 @@ "end": "44057", "length": "4", "line": "1335", - "parentIndex": "2389", + "parentIndex": "2390", "start": "44054" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2390", + "id": "2391", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2391", + "id": "2392", "name": "receiver", "nodeType": "VARIABLE_DECLARATION", - "scope": "2391", + "scope": "2392", "src": { "column": "18", "end": "44074", "length": "16", "line": "1335", - "parentIndex": "2390", + "parentIndex": "2391", "start": "44059" }, "stateMutability": "NONPAYABLE", @@ -47767,7 +47829,7 @@ "typeString": "address" }, "typeName": { - "id": "2392", + "id": "2393", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47775,7 +47837,7 @@ "end": "44065", "length": "7", "line": "1335", - "parentIndex": "2391", + "parentIndex": "2392", "start": "44059" }, "stateMutability": "NONPAYABLE", @@ -47787,16 +47849,16 @@ "visibility": "INTERNAL" }, { - "id": "2393", + "id": "2394", "name": "metadata", "nodeType": "VARIABLE_DECLARATION", - "scope": "2393", + "scope": "2394", "src": { "column": "36", "end": "44098", "length": "22", "line": "1335", - "parentIndex": "2390", + "parentIndex": "2391", "start": "44077" }, "stateMutability": "MUTABLE", @@ -47806,7 +47868,7 @@ "typeString": "string" }, "typeName": { - "id": "2394", + "id": "2395", "name": "string", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47814,7 +47876,7 @@ "end": "44082", "length": "6", "line": "1335", - "parentIndex": "2393", + "parentIndex": "2394", "start": "44077" }, "typeDescription": { @@ -47830,24 +47892,24 @@ "end": "44098", "length": "40", "line": "1335", - "parentIndex": "2389", + "parentIndex": "2390", "start": "44059" } }, "returnParameters": { - "id": "2398", + "id": "2399", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2399", + "id": "2400", "nodeType": "VARIABLE_DECLARATION", - "scope": "2399", + "scope": "2400", "src": { "column": "98", "end": "44145", "length": "7", "line": "1335", - "parentIndex": "2398", + "parentIndex": "2399", "start": "44139" }, "stateMutability": "MUTABLE", @@ -47857,7 +47919,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2400", + "id": "2401", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47865,7 +47927,7 @@ "end": "44145", "length": "7", "line": "1335", - "parentIndex": "2399", + "parentIndex": "2400", "start": "44139" }, "typeDescription": { @@ -47881,18 +47943,18 @@ "end": "44145", "length": "7", "line": "1335", - "parentIndex": "2389", + "parentIndex": "2390", "start": "44139" } }, - "scope": "2165", - "signature": "8f4b6c49", + "scope": "2166", + "signature": "d0def521", "src": { "column": "4", "end": "44339", "length": "295", "line": "1335", - "parentIndex": "2165", + "parentIndex": "2166", "start": "44045" }, "stateMutability": "NONPAYABLE", @@ -47908,7 +47970,7 @@ "end": "44341", "length": "2670", "line": "1276", - "parentIndex": "2152", + "parentIndex": "2153", "start": "41672" } } diff --git a/data/tests/contracts/hello/Registrar.solgo.ast.json b/data/tests/contracts/hello/Registrar.solgo.ast.json index 87b3cfc5..ecca4dd8 100644 --- a/data/tests/contracts/hello/Registrar.solgo.ast.json +++ b/data/tests/contracts/hello/Registrar.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 2125, + "id": 2126, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 2125, + "id": 2126, "name": "Registrar", "absolute_path": "" } @@ -14,7 +14,7 @@ "node_type": 1, "nodes": [ { - "id": 2137, + "id": 2138, "node_type": 10, "src": { "line": 1259, @@ -22,7 +22,7 @@ "start": 41283, "end": 41305, "length": 23, - "parent_index": 2125 + "parent_index": 2126 }, "literals": [ "pragma", @@ -38,7 +38,7 @@ "text": "pragma solidity ^0.8.4;" }, { - "id": 2138, + "id": 2139, "name": "Registrar", "node_type": 35, "src": { @@ -47,7 +47,7 @@ "start": 41488, "end": 41667, "length": 180, - "parent_index": 2125 + "parent_index": 2126 }, "name_location": { "line": 1265, @@ -55,14 +55,14 @@ "start": 41498, "end": 41506, "length": 9, - "parent_index": 2138 + "parent_index": 2139 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 2140, + "id": 2141, "name": "addCollection", "node_type": 42, "kind": 41, @@ -72,7 +72,7 @@ "start": 41514, "end": 41665, "length": 152, - "parent_index": 2138 + "parent_index": 2139 }, "name_location": { "line": 1266, @@ -80,10 +80,10 @@ "start": 41523, "end": 41535, "length": 13, - "parent_index": 2140 + "parent_index": 2141 }, "body": { - "id": 2151, + "id": 2152, "node_type": 46, "kind": 0, "src": { @@ -92,7 +92,7 @@ "start": 41514, "end": 41665, "length": 152, - "parent_index": 2140 + "parent_index": 2141 }, "implemented": false, "statements": [] @@ -104,7 +104,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2141, + "id": 2142, "node_type": 43, "src": { "line": 1267, @@ -112,11 +112,11 @@ "start": 41546, "end": 41649, "length": 104, - "parent_index": 2140 + "parent_index": 2141 }, "parameters": [ { - "id": 2142, + "id": 2143, "node_type": 44, "src": { "line": 1267, @@ -124,12 +124,12 @@ "start": 41546, "end": 41568, "length": 23, - "parent_index": 2141 + "parent_index": 2142 }, - "scope": 2140, + "scope": 2141, "name": "contractAddress", "type_name": { - "id": 2143, + "id": 2144, "node_type": 30, "src": { "line": 1267, @@ -137,7 +137,7 @@ "start": 41546, "end": 41552, "length": 7, - "parent_index": 2142 + "parent_index": 2143 }, "name": "address", "state_mutability": 4, @@ -156,7 +156,7 @@ } }, { - "id": 2144, + "id": 2145, "node_type": 44, "src": { "line": 1268, @@ -164,12 +164,12 @@ "start": 41579, "end": 41596, "length": 18, - "parent_index": 2141 + "parent_index": 2142 }, - "scope": 2140, + "scope": 2141, "name": "name", "type_name": { - "id": 2145, + "id": 2146, "node_type": 30, "src": { "line": 1268, @@ -177,7 +177,7 @@ "start": 41579, "end": 41584, "length": 6, - "parent_index": 2144 + "parent_index": 2145 }, "name": "string", "referenced_declaration": 0, @@ -195,7 +195,7 @@ } }, { - "id": 2146, + "id": 2147, "node_type": 44, "src": { "line": 1269, @@ -203,12 +203,12 @@ "start": 41607, "end": 41626, "length": 20, - "parent_index": 2141 + "parent_index": 2142 }, - "scope": 2140, + "scope": 2141, "name": "symbol", "type_name": { - "id": 2147, + "id": 2148, "node_type": 30, "src": { "line": 1269, @@ -216,7 +216,7 @@ "start": 41607, "end": 41612, "length": 6, - "parent_index": 2146 + "parent_index": 2147 }, "name": "string", "referenced_declaration": 0, @@ -234,7 +234,7 @@ } }, { - "id": 2148, + "id": 2149, "node_type": 44, "src": { "line": 1270, @@ -242,12 +242,12 @@ "start": 41637, "end": 41649, "length": 13, - "parent_index": 2141 + "parent_index": 2142 }, - "scope": 2140, + "scope": 2141, "name": "owner", "type_name": { - "id": 2149, + "id": 2150, "node_type": 30, "src": { "line": 1270, @@ -255,7 +255,7 @@ "start": 41637, "end": 41643, "length": 7, - "parent_index": 2148 + "parent_index": 2149 }, "name": "address", "state_mutability": 4, @@ -294,7 +294,7 @@ ] }, "return_parameters": { - "id": 2150, + "id": 2151, "node_type": 43, "src": { "line": 1266, @@ -302,22 +302,23 @@ "start": 41514, "end": 41665, "length": 152, - "parent_index": 2140 + "parent_index": 2141 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "addCollection(address, string, string, address)", - "signature": "5a4ddc9b", - "scope": 2138, + "signature_raw": "addCollection(address,string,string,address)", + "signature": "49793487", + "scope": 2139, "type_description": { "type_identifier": "t_function_$_t_address$_t_string$_t_string$_t_address$", "type_string": "function(address,string,string,address)" - } + }, + "text": "functionaddCollection(addresscontractAddress,stringmemoryname,stringmemorysymbol,addressowner)external;" } ], "linearized_base_contracts": [ - 2138 + 2139 ], "base_contracts": [], "contract_dependencies": [] diff --git a/data/tests/contracts/hello/Strings.solgo.ast.json b/data/tests/contracts/hello/Strings.solgo.ast.json index 6f2185b0..e0387e9d 100644 --- a/data/tests/contracts/hello/Strings.solgo.ast.json +++ b/data/tests/contracts/hello/Strings.solgo.ast.json @@ -121,7 +121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0123456789abcdef\"" } }, { @@ -202,7 +203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 661, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 662, @@ -224,7 +226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -277,7 +280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] @@ -361,7 +365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 669, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -468,7 +473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 666, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 675, @@ -490,7 +496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -540,7 +547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 670, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_description": { "type_identifier": "t_uint256", @@ -593,7 +601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 666, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 682, @@ -615,7 +624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -625,7 +635,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp/=10;" } ] } @@ -727,7 +738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 670, - "is_pure": false + "is_pure": false, + "text": "digits" } ], "expression": { @@ -814,7 +826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 691, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 692, @@ -836,7 +849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -897,7 +911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 670, - "is_pure": false + "is_pure": false, + "text": "digits" }, "right_expression": { "id": 697, @@ -919,7 +934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -929,7 +945,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "digits-=1;" }, { "id": 698, @@ -983,7 +1000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 702, @@ -1003,7 +1021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 670, - "is_pure": false + "is_pure": false, + "text": "digits" }, "type_descriptions": [ { @@ -1092,7 +1111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { "id": 711, @@ -1145,7 +1165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 716, @@ -1167,7 +1188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1217,7 +1239,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -1272,7 +1295,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -1322,7 +1346,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -1337,7 +1362,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[digits]=bytes1(uint8(48+uint256(value%10)));" }, { "id": 717, @@ -1380,7 +1406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 720, @@ -1402,7 +1429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -1412,7 +1440,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value/=10;" } ] } @@ -1466,7 +1495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -1511,7 +1541,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -1651,7 +1682,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0\";}uint256temp=value;uint256digits;while(temp!=0){digits++;temp/=10;}bytesmemorybuffer=newbytes(digits);while(value!=0){digits-=1;buffer[digits]=bytes1(uint8(48+uint256(value%10)));value/=10;}returnstring(buffer);}" }, { "id": 727, @@ -1731,7 +1763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 737, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 738, @@ -1753,7 +1786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1806,7 +1840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0x00\"" } } ] @@ -1890,7 +1925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 745, - "is_pure": false + "is_pure": false, + "text": "value" } }, { @@ -1973,7 +2009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2019,7 +2056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 742, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 752, @@ -2041,7 +2079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2091,7 +2130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 746, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_uint256", @@ -2144,7 +2184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 666, - "is_pure": false + "is_pure": false, + "text": "temp" }, "right_expression": { "id": 759, @@ -2166,7 +2207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_description": { "type_identifier": "t_uint256", @@ -2176,7 +2218,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "temp\u003e\u003e=8;" } ] } @@ -2234,7 +2277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 763, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 764, @@ -2260,7 +2304,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "length" } ], "expression": { @@ -2281,7 +2326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "toHexString" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -2421,7 +2467,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoHexString(uint256value)internalpurereturns(stringmemory){if(value==0){return\"0x00\";}uint256temp=value;uint256length=0;while(temp!=0){length++;temp\u003e\u003e=8;}returntoHexString(value,length);}" }, { "id": 766, @@ -2585,7 +2632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 785, @@ -2605,7 +2653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 785, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2632,7 +2681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -2733,7 +2783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 776, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 791, @@ -2755,7 +2806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -2792,7 +2844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", @@ -2802,7 +2855,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_0_by_1]$", "type_string": "index[bytes:int_const 0]" - } + }, + "text": "buffer[0]=\"0\";" }, { "id": 793, @@ -2856,7 +2910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 776, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 797, @@ -2878,7 +2933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -2915,7 +2971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"x\"" }, "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", @@ -2925,7 +2982,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_rational_1_by_1]$", "type_string": "index[bytes:int_const 1]" - } + }, + "text": "buffer[1]=\"x\";" }, { "id": 799, @@ -3046,7 +3104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 806, @@ -3066,7 +3125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 806, - "is_pure": false + "is_pure": false, + "text": "length" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3093,7 +3153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3133,7 +3194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 810, @@ -3155,7 +3217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -3198,7 +3261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -3271,7 +3335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "buffer" }, "base_expression": { "id": 818, @@ -3291,7 +3356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -3337,7 +3403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "_HEX_SYMBOLS" }, "base_expression": { "id": 822, @@ -3369,7 +3436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, { "id": 824, @@ -3391,7 +3459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xf" } ], "type_descriptions": [ @@ -3428,7 +3497,8 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "buffer[i]=_HEX_SYMBOLS[value\u00260xf];" }, { "id": 825, @@ -3471,7 +3541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 828, @@ -3493,7 +3564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" }, "type_description": { "type_identifier": "t_uint256", @@ -3503,7 +3575,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "value\u003e\u003e=4;" } ] } @@ -3563,7 +3636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 832, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 833, @@ -3585,7 +3659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3618,7 +3693,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Strings: hex length insufficient\"" } ], "expression": { @@ -3639,7 +3715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3695,7 +3772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 776, - "is_pure": false + "is_pure": false, + "text": "buffer" } ], "expression": { @@ -3740,7 +3818,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3917,13 +3996,14 @@ } ] }, - "signature_raw": "toHexString(uint256, uint256)", - "signature": "b440c739", + "signature_raw": "toHexString(uint256,uint256)", + "signature": "63e1cbea", "scope": 645, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontoHexString(uint256value,uint256length)internalpurereturns(stringmemory){bytesmemorybuffer=newbytes(2*length+2);buffer[0]=\"0\";buffer[1]=\"x\";for(uint256i=2*length+1;i\u003e1;--i){buffer[i]=_HEX_SYMBOLS[value\u00260xf];value\u003e\u003e=4;}require(value==0,\"Strings: hex length insufficient\");returnstring(buffer);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/Address.solgo.ast.json b/data/tests/contracts/knox/Address.solgo.ast.json index 986fedc5..a5ce33f2 100644 --- a/data/tests/contracts/knox/Address.solgo.ast.json +++ b/data/tests/contracts/knox/Address.solgo.ast.json @@ -186,21 +186,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1042, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 1043, @@ -222,7 +225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -363,7 +367,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 1045, @@ -497,7 +502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -543,7 +549,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -555,7 +562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1061, @@ -575,7 +583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1061, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -608,7 +617,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -629,7 +639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -733,7 +744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -789,14 +801,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1069, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -850,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1063, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1074, @@ -878,7 +893,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -899,7 +915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1031,13 +1048,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 1076, @@ -1135,7 +1153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1089, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1090, @@ -1161,7 +1180,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1091, @@ -1193,7 +1213,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 1092, @@ -1229,7 +1250,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1250,7 +1272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string_literal$", @@ -1428,13 +1451,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,\"Address: low-level call failed\");}" }, { "id": 1094, @@ -1532,7 +1556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1109, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1110, @@ -1558,7 +1583,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1111, @@ -1590,7 +1616,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 1112, @@ -1624,7 +1651,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1645,7 +1673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1866,13 +1895,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 1114, @@ -1970,7 +2000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1129, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1130, @@ -1996,7 +2027,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1131, @@ -2026,7 +2058,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 1132, @@ -2062,7 +2095,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2083,7 +2117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2304,13 +2339,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 1134, @@ -2444,7 +2480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2490,7 +2527,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2502,7 +2540,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1156, @@ -2522,7 +2561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1156, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2555,7 +2595,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2576,7 +2617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2725,7 +2767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1167, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -2781,14 +2824,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1166, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -2862,7 +2907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1171, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1172, @@ -2888,7 +2934,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 1173, @@ -2918,7 +2965,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1174, @@ -2952,7 +3000,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -2973,7 +3022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -3237,13 +3287,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 1176, @@ -3337,7 +3388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1190, @@ -3363,7 +3415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1191, @@ -3395,7 +3448,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3416,7 +3470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3594,13 +3649,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 1193, @@ -3779,7 +3835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1213, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -3823,14 +3880,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1212, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3899,7 +3958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1217, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1218, @@ -3925,7 +3985,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 1219, @@ -3955,7 +4016,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1220, @@ -3989,7 +4051,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4010,7 +4073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -4231,13 +4295,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 1222, @@ -4331,7 +4396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1236, @@ -4357,7 +4423,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1237, @@ -4389,7 +4456,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -4410,7 +4478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -4588,13 +4657,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 1239, @@ -4773,7 +4843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1259, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4817,14 +4888,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1258, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4893,7 +4966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1263, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1264, @@ -4919,7 +4993,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 1265, @@ -4949,7 +5024,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1266, @@ -4983,7 +5059,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5004,7 +5081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -5225,13 +5303,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 1268, @@ -5297,7 +5376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 1284, @@ -5379,14 +5459,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1288, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1289, @@ -5408,7 +5490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5489,7 +5572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1295, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -5510,7 +5594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5543,7 +5628,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -5564,7 +5650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5604,7 +5691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1298, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -5866,13 +5954,14 @@ } ] }, - "signature_raw": "verifyCallResultFromTarget(address, bool, bytes, string)", - "signature": "ac377f6d", + "signature_raw": "verifyCallResultFromTarget(address,bool,bytes,string)", + "signature": "1daa78c1", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", "type_string": "function(address,bool,bytes,string)" - } + }, + "text": "functionverifyCallResultFromTarget(addresstarget,boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){if(success){if(returndata.length==0){require(isContract(target),\"Address: call to non-contract\");}returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 1300, @@ -5938,7 +6027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 1314, @@ -5984,7 +6074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1316, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -6202,13 +6293,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 1318, @@ -6311,14 +6403,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1329, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1330, @@ -6340,7 +6434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6894,13 +6989,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_revert(bytes, string)", - "signature": "26a4ef1a", + "signature_raw": "_revert(bytes,string)", + "signature": "6cadf5e1", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string$", "type_string": "function(bytes,string)" - } + }, + "text": "function_revert(bytesmemoryreturndata,stringmemoryerrorMessage)privatepure{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/Context.solgo.ast.json b/data/tests/contracts/knox/Context.solgo.ast.json index ab89c649..80fcafa0 100644 --- a/data/tests/contracts/knox/Context.solgo.ast.json +++ b/data/tests/contracts/knox/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 236, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/EnumerableSet.solgo.ast.json b/data/tests/contracts/knox/EnumerableSet.solgo.ast.json index 12ce59f3..b8a19613 100644 --- a/data/tests/contracts/knox/EnumerableSet.solgo.ast.json +++ b/data/tests/contracts/knox/EnumerableSet.solgo.ast.json @@ -140,7 +140,7 @@ "name": "_indexes", "type_name": { "id": 438, - "node_type": 0, + "node_type": 53, "src": { "line": 254, "column": 8, @@ -323,7 +323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 457, - "is_pure": false + "is_pure": false, + "text": "set" }, { "id": 458, @@ -349,7 +350,8 @@ "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" } - ] + ], + "text": "value" } ], "expression": { @@ -370,7 +372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_contains" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_bytes32$", @@ -433,7 +436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 464, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -500,21 +504,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 463, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.push" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -596,14 +603,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 470, @@ -623,7 +632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 470, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_descriptions": [ { @@ -704,21 +714,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.length" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_bytes32]$", @@ -728,7 +741,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_bytes32]$", "type_string": "index[struct EnumerableSet.Set:bytes32]" - } + }, + "text": "set._indexes[value]=set._values.length;" }, { "id": 474, @@ -762,7 +776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -958,13 +973,14 @@ } ] }, - "signature_raw": "_add(, bytes32)", - "signature": "91169624", + "signature_raw": "_add(,bytes32)", + "signature": "0eb78afe", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_bytes32$", "type_string": "function(struct EnumerableSet.Set,bytes32)" - } + }, + "text": "function_add(Setstorageset,bytes32value)privatereturns(bool){if(!_contains(set,value)){set._values.push(value);set._indexes[value]=set._values.length;returntrue;}else{returnfalse;}}" }, { "id": 477, @@ -1113,14 +1129,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 494, @@ -1140,7 +1158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 494, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_descriptions": [ { @@ -1201,7 +1220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 488, - "is_pure": false + "is_pure": false, + "text": "valueIndex" }, "right_expression": { "id": 498, @@ -1223,7 +1243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1336,7 +1357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 488, - "is_pure": false + "is_pure": false, + "text": "valueIndex" }, "right_expression": { "id": 505, @@ -1358,7 +1380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -1504,21 +1527,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 512, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.length" }, "right_expression": { "id": 513, @@ -1540,7 +1566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", @@ -1591,7 +1618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 506, - "is_pure": false + "is_pure": false, + "text": "lastIndex" }, "right_expression": { "id": 517, @@ -1611,7 +1639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "toDeleteIndex" }, "type_description": { "type_identifier": "t_bool", @@ -1744,14 +1773,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "base_expression": { "id": 525, @@ -1771,7 +1802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 506, - "is_pure": false + "is_pure": false, + "text": "lastIndex" }, "type_descriptions": [ { @@ -1864,14 +1896,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 530, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "base_expression": { "id": 531, @@ -1891,7 +1925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "toDeleteIndex" }, "type_descriptions": [ { @@ -1926,7 +1961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "lastValue" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_uint256]$", @@ -1936,7 +1972,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_uint256]$", "type_string": "index[struct EnumerableSet.Set:uint256]" - } + }, + "text": "set._values[toDeleteIndex]=lastValue;" }, { "id": 533, @@ -2013,14 +2050,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 538, @@ -2040,7 +2079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "lastValue" }, "type_descriptions": [ { @@ -2075,7 +2115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 488, - "is_pure": false + "is_pure": false, + "text": "valueIndex" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_bytes32]$", @@ -2085,7 +2126,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_bytes32]$", "type_string": "index[struct EnumerableSet.Set:bytes32]" - } + }, + "text": "set._indexes[lastValue]=valueIndex;" } ] } @@ -2168,21 +2210,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -2259,14 +2304,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 547, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 548, @@ -2286,7 +2333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 548, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_descriptions": [ { @@ -2340,7 +2388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -2536,13 +2585,14 @@ } ] }, - "signature_raw": "_remove(, bytes32)", - "signature": "bedb339a", + "signature_raw": "_remove(,bytes32)", + "signature": "c133ba09", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_bytes32$", "type_string": "function(struct EnumerableSet.Set,bytes32)" - } + }, + "text": "function_remove(Setstorageset,bytes32value)privatereturns(bool){uint256valueIndex=set._indexes[value];if(valueIndex!=0){uint256toDeleteIndex=valueIndex-1;uint256lastIndex=set._values.length-1;if(lastIndex!=toDeleteIndex){bytes32lastValue=set._values[lastIndex];set._values[toDeleteIndex]=lastValue;set._indexes[lastValue]=valueIndex;}set._values.pop();deleteset._indexes[value];returntrue;}else{returnfalse;}}" }, { "id": 552, @@ -2657,14 +2707,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 567, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 568, @@ -2684,7 +2736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 568, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_descriptions": [ { @@ -2721,7 +2774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2919,13 +2973,14 @@ } ] }, - "signature_raw": "_contains(, bytes32)", - "signature": "8b8fe893", + "signature_raw": "_contains(,bytes32)", + "signature": "a7cd3d5b", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_bytes32$", "type_string": "function(struct EnumerableSet.Set,bytes32)" - } + }, + "text": "function_contains(Setstorageset,bytes32value)privateviewreturns(bool){returnset._indexes[value]!=0;}" }, { "id": 571, @@ -3038,21 +3093,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.length" } } ] @@ -3208,7 +3266,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$", "type_string": "function(struct EnumerableSet.Set)" - } + }, + "text": "function_length(Setstorageset)privateviewreturns(uint256){returnset._values.length;}" }, { "id": 585, @@ -3309,14 +3368,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 599, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "base_expression": { "id": 600, @@ -3336,7 +3397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 600, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -3544,13 +3606,14 @@ } ] }, - "signature_raw": "_at(, uint256)", - "signature": "9ca0f474", + "signature_raw": "_at(,uint256)", + "signature": "0292ee33", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_uint256$", "type_string": "function(struct EnumerableSet.Set,uint256)" - } + }, + "text": "function_at(Setstorageset,uint256index)privateviewreturns(bytes32){returnset._values[index];}" }, { "id": 602, @@ -3640,14 +3703,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 613, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" } } ] @@ -3803,7 +3868,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$", "type_string": "function(struct EnumerableSet.Set)" - } + }, + "text": "function_values(Setstorageset)privateviewreturns(bytes32[]memory){returnset._values;}" }, { "id": 615, @@ -4005,14 +4071,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" }, { "id": 636, @@ -4038,7 +4106,8 @@ "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" } - ] + ], + "text": "value" } ], "expression": { @@ -4059,7 +4128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_add" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", @@ -4257,13 +4327,14 @@ } ] }, - "signature_raw": "add(, bytes32)", - "signature": "c5158694", + "signature_raw": "add(,bytes32)", + "signature": "110e4e23", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", "type_string": "function(struct EnumerableSet.Bytes32Set,bytes32)" - } + }, + "text": "functionadd(Bytes32Setstorageset,bytes32value)internalreturns(bool){return_add(set._inner,value);}" }, { "id": 638, @@ -4376,14 +4447,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 653, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" }, { "id": 654, @@ -4409,7 +4482,8 @@ "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" } - ] + ], + "text": "value" } ], "expression": { @@ -4430,7 +4504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_remove" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", @@ -4628,13 +4703,14 @@ } ] }, - "signature_raw": "remove(, bytes32)", - "signature": "de0a80cb", + "signature_raw": "remove(,bytes32)", + "signature": "276c052f", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", "type_string": "function(struct EnumerableSet.Bytes32Set,bytes32)" - } + }, + "text": "functionremove(Bytes32Setstorageset,bytes32value)internalreturns(bool){return_remove(set._inner,value);}" }, { "id": 656, @@ -4747,14 +4823,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 671, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" }, { "id": 672, @@ -4780,7 +4858,8 @@ "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" } - ] + ], + "text": "value" } ], "expression": { @@ -4801,7 +4880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_contains" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", @@ -4999,13 +5079,14 @@ } ] }, - "signature_raw": "contains(, bytes32)", - "signature": "69ed6acb", + "signature_raw": "contains(,bytes32)", + "signature": "7bda12ec", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", "type_string": "function(struct EnumerableSet.Bytes32Set,bytes32)" - } + }, + "text": "functioncontains(Bytes32Setstorageset,bytes32value)internalviewreturns(bool){return_contains(set._inner,value);}" }, { "id": 674, @@ -5114,14 +5195,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 687, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" } ], "expression": { @@ -5142,7 +5225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_length" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$", @@ -5303,7 +5387,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$", "type_string": "function(struct EnumerableSet.Bytes32Set)" - } + }, + "text": "functionlength(Bytes32Setstorageset)internalviewreturns(uint256){return_length(set._inner);}" }, { "id": 689, @@ -5416,14 +5501,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 704, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" }, { "id": 705, @@ -5449,7 +5536,8 @@ "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" } - ] + ], + "text": "index" } ], "expression": { @@ -5470,7 +5558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_at" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_uint256$", @@ -5668,13 +5757,14 @@ } ] }, - "signature_raw": "at(, uint256)", - "signature": "38ffe300", + "signature_raw": "at(,uint256)", + "signature": "702d5637", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_uint256$", "type_string": "function(struct EnumerableSet.Bytes32Set,uint256)" - } + }, + "text": "functionat(Bytes32Setstorageset,uint256index)internalviewreturns(bytes32){return_at(set._inner,index);}" }, { "id": 707, @@ -5831,14 +5921,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 722, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" } ], "expression": { @@ -5859,7 +5951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_values" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$", @@ -6040,7 +6133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 723, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -6196,7 +6290,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$", "type_string": "function(struct EnumerableSet.Bytes32Set)" - } + }, + "text": "functionvalues(Bytes32Setstorageset)internalviewreturns(bytes32[]memory){bytes32[]memorystore=_values(set._inner);bytes32[]memoryresult;assembly{result:=store}returnresult;}" }, { "id": 735, @@ -6398,14 +6493,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 755, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" }, { "id": 756, @@ -6482,7 +6579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 765, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -6527,7 +6625,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6577,7 +6676,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -6627,7 +6727,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -6653,7 +6754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_add" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_function_$_t_function_$_t_function_$_t_address$", @@ -6852,13 +6954,14 @@ } ] }, - "signature_raw": "add(, address)", - "signature": "ffb40420", + "signature_raw": "add(,address)", + "signature": "ec2ae210", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_address$", "type_string": "function(struct EnumerableSet.AddressSet,address)" - } + }, + "text": "functionadd(AddressSetstorageset,addressvalue)internalreturns(bool){return_add(set._inner,bytes32(uint256(uint160(value))));}" }, { "id": 767, @@ -6971,14 +7074,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" }, { "id": 783, @@ -7055,7 +7160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -7100,7 +7206,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7150,7 +7257,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -7200,7 +7308,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -7226,7 +7335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_remove" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_function_$_t_function_$_t_function_$_t_address$", @@ -7425,13 +7535,14 @@ } ] }, - "signature_raw": "remove(, address)", - "signature": "469d3b40", + "signature_raw": "remove(,address)", + "signature": "7d109e7a", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_address$", "type_string": "function(struct EnumerableSet.AddressSet,address)" - } + }, + "text": "functionremove(AddressSetstorageset,addressvalue)internalreturns(bool){return_remove(set._inner,bytes32(uint256(uint160(value))));}" }, { "id": 794, @@ -7544,14 +7655,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" }, { "id": 810, @@ -7628,7 +7741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 819, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -7673,7 +7787,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7723,7 +7838,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -7773,7 +7889,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -7799,7 +7916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_contains" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_function_$_t_function_$_t_function_$_t_address$", @@ -7998,13 +8116,14 @@ } ] }, - "signature_raw": "contains(, address)", - "signature": "ca2020f2", + "signature_raw": "contains(,address)", + "signature": "b3a85911", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_address$", "type_string": "function(struct EnumerableSet.AddressSet,address)" - } + }, + "text": "functioncontains(AddressSetstorageset,addressvalue)internalviewreturns(bool){return_contains(set._inner,bytes32(uint256(uint160(value))));}" }, { "id": 821, @@ -8113,14 +8232,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 834, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" } ], "expression": { @@ -8141,7 +8262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_length" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$", @@ -8302,7 +8424,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$", "type_string": "function(struct EnumerableSet.AddressSet)" - } + }, + "text": "functionlength(AddressSetstorageset)internalviewreturns(uint256){return_length(set._inner);}" }, { "id": 836, @@ -8472,14 +8595,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 860, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" }, { "id": 861, @@ -8505,7 +8630,8 @@ "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" } - ] + ], + "text": "index" } ], "expression": { @@ -8526,7 +8652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_at" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", @@ -8576,7 +8703,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", @@ -8626,7 +8754,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", @@ -8677,7 +8806,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", @@ -8876,13 +9006,14 @@ } ] }, - "signature_raw": "at(, uint256)", - "signature": "38ffe300", + "signature_raw": "at(,uint256)", + "signature": "702d5637", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", "type_string": "function(struct EnumerableSet.AddressSet,uint256)" - } + }, + "text": "functionat(AddressSetstorageset,uint256index)internalviewreturns(address){returnaddress(uint160(uint256(_at(set._inner,index))));}" }, { "id": 863, @@ -9039,14 +9170,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 878, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" } ], "expression": { @@ -9067,7 +9200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_values" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$", @@ -9248,7 +9382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 879, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -9404,7 +9539,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$", "type_string": "function(struct EnumerableSet.AddressSet)" - } + }, + "text": "functionvalues(AddressSetstorageset)internalviewreturns(address[]memory){bytes32[]memorystore=_values(set._inner);address[]memoryresult;assembly{result:=store}returnresult;}" }, { "id": 891, @@ -9606,14 +9742,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" }, { "id": 912, @@ -9652,7 +9790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 915, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -9697,7 +9836,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -9723,7 +9863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_add" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_function_$_t_uint256$", @@ -9921,13 +10062,14 @@ } ] }, - "signature_raw": "add(, uint256)", - "signature": "4f19b716", + "signature_raw": "add(,uint256)", + "signature": "6a890ae0", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", "type_string": "function(struct EnumerableSet.UintSet,uint256)" - } + }, + "text": "functionadd(UintSetstorageset,uint256value)internalreturns(bool){return_add(set._inner,bytes32(value));}" }, { "id": 917, @@ -10040,14 +10182,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" }, { "id": 933, @@ -10086,7 +10230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 936, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -10131,7 +10276,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -10157,7 +10303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_remove" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_function_$_t_uint256$", @@ -10355,13 +10502,14 @@ } ] }, - "signature_raw": "remove(, uint256)", - "signature": "feb231bd", + "signature_raw": "remove(,uint256)", + "signature": "a5ef5e79", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", "type_string": "function(struct EnumerableSet.UintSet,uint256)" - } + }, + "text": "functionremove(UintSetstorageset,uint256value)internalreturns(bool){return_remove(set._inner,bytes32(value));}" }, { "id": 938, @@ -10474,14 +10622,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 953, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" }, { "id": 954, @@ -10520,7 +10670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 957, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -10565,7 +10716,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -10591,7 +10743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_contains" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_function_$_t_uint256$", @@ -10789,13 +10942,14 @@ } ] }, - "signature_raw": "contains(, uint256)", - "signature": "b3de74b3", + "signature_raw": "contains(,uint256)", + "signature": "5a40e739", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", "type_string": "function(struct EnumerableSet.UintSet,uint256)" - } + }, + "text": "functioncontains(UintSetstorageset,uint256value)internalviewreturns(bool){return_contains(set._inner,bytes32(value));}" }, { "id": 959, @@ -10904,14 +11058,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 972, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" } ], "expression": { @@ -10932,7 +11088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_length" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$", @@ -11093,7 +11250,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$", "type_string": "function(struct EnumerableSet.UintSet)" - } + }, + "text": "functionlength(UintSetstorageset)internalviewreturns(uint256){return_length(set._inner);}" }, { "id": 974, @@ -11225,14 +11383,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 992, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" }, { "id": 993, @@ -11258,7 +11418,8 @@ "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" } - ] + ], + "text": "index" } ], "expression": { @@ -11279,7 +11440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_at" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", @@ -11329,7 +11491,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", @@ -11527,13 +11690,14 @@ } ] }, - "signature_raw": "at(, uint256)", - "signature": "38ffe300", + "signature_raw": "at(,uint256)", + "signature": "702d5637", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", "type_string": "function(struct EnumerableSet.UintSet,uint256)" - } + }, + "text": "functionat(UintSetstorageset,uint256index)internalviewreturns(uint256){returnuint256(_at(set._inner,index));}" }, { "id": 995, @@ -11690,14 +11854,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1010, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" } ], "expression": { @@ -11718,7 +11884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_values" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$", @@ -11899,7 +12066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1011, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -12055,7 +12223,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$", "type_string": "function(struct EnumerableSet.UintSet)" - } + }, + "text": "functionvalues(UintSetstorageset)internalviewreturns(uint256[]memory){bytes32[]memorystore=_values(set._inner);uint256[]memoryresult;assembly{result:=store}returnresult;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/IERC20.solgo.ast.json b/data/tests/contracts/knox/IERC20.solgo.ast.json index 9637e366..6dadd844 100644 --- a/data/tests/contracts/knox/IERC20.solgo.ast.json +++ b/data/tests/contracts/knox/IERC20.solgo.ast.json @@ -561,7 +561,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 1430, @@ -730,7 +731,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 1439, @@ -936,13 +938,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 1401, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 1450, @@ -1149,13 +1152,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1401, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 1461, @@ -1361,13 +1365,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1401, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 1472, @@ -1617,13 +1622,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1401, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/IERC20Permit.solgo.ast.json b/data/tests/contracts/knox/IERC20Permit.solgo.ast.json index b65a2cc2..c9aabc21 100644 --- a/data/tests/contracts/knox/IERC20Permit.solgo.ast.json +++ b/data/tests/contracts/knox/IERC20Permit.solgo.ast.json @@ -436,13 +436,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", "scope": 1355, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 1376, @@ -611,7 +612,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint256);" }, { "id": 1385, @@ -779,7 +781,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/IERCBurn.solgo.ast.json b/data/tests/contracts/knox/IERCBurn.solgo.ast.json index b056c5e8..bc5e7b80 100644 --- a/data/tests/contracts/knox/IERCBurn.solgo.ast.json +++ b/data/tests/contracts/knox/IERCBurn.solgo.ast.json @@ -181,7 +181,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionburn(uint256_amount)external;" }, { "id": 1910, @@ -387,13 +388,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1901, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 1921, @@ -600,13 +602,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1901, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalreturns(uint256);" }, { "id": 1932, @@ -775,7 +778,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/IMigrator.solgo.ast.json b/data/tests/contracts/knox/IMigrator.solgo.ast.json index 06664d90..7bdae781 100644 --- a/data/tests/contracts/knox/IMigrator.solgo.ast.json +++ b/data/tests/contracts/knox/IMigrator.solgo.ast.json @@ -351,13 +351,14 @@ } ] }, - "signature_raw": "migrate(address, uint256, uint256, address)", - "signature": "7d594695", + "signature_raw": "migrate(address,uint256,uint256,address)", + "signature": "db5ecd3f", "scope": 1972, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$", "type_string": "function(address,uint256,uint256,address)" - } + }, + "text": "functionmigrate(addresslpToken,uint256amount,uint256unlockDate,addressowner)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/IUniFactory.solgo.ast.json b/data/tests/contracts/knox/IUniFactory.solgo.ast.json index 4960e1c6..3ce2473c 100644 --- a/data/tests/contracts/knox/IUniFactory.solgo.ast.json +++ b/data/tests/contracts/knox/IUniFactory.solgo.ast.json @@ -266,13 +266,14 @@ } ] }, - "signature_raw": "getPair(address, address)", - "signature": "99d437db", + "signature_raw": "getPair(address,address)", + "signature": "e6a43905", "scope": 1950, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetPair(addresstokenA,addresstokenB)externalviewreturns(address);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/IUniswapV2Pair.solgo.ast.json b/data/tests/contracts/knox/IUniswapV2Pair.solgo.ast.json index 41686a14..54372ebb 100644 --- a/data/tests/contracts/knox/IUniswapV2Pair.solgo.ast.json +++ b/data/tests/contracts/knox/IUniswapV2Pair.solgo.ast.json @@ -228,7 +228,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 1874, @@ -398,7 +399,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 1883, @@ -568,7 +570,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken1()externalviewreturns(address);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/KnoxLpLocker.solgo.ast.json b/data/tests/contracts/knox/KnoxLpLocker.solgo.ast.json index 3f4f9ddf..528ef306 100644 --- a/data/tests/contracts/knox/KnoxLpLocker.solgo.ast.json +++ b/data/tests/contracts/knox/KnoxLpLocker.solgo.ast.json @@ -4,7 +4,7 @@ "entry_source_unit": 1988, "globals": [ { - "id": 3735, + "id": 3736, "name": "_owner", "is_constant": false, "is_state_variable": true, @@ -25,7 +25,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3736, + "id": 3737, "node_type": 30, "src": { "line": 53, @@ -33,7 +33,7 @@ "start": 1620, "end": 1626, "length": 7, - "parent_index": 3735 + "parent_index": 3736 }, "name": "address", "state_mutability": 4, @@ -46,7 +46,7 @@ "initial_value": null }, { - "id": 3737, + "id": 3738, "node_type": 57, "src": { "line": 55, @@ -56,7 +56,7 @@ "length": 84 }, "parameters": { - "id": 3738, + "id": 3739, "node_type": 43, "src": { "line": 55, @@ -64,11 +64,11 @@ "start": 1649, "end": 1732, "length": 84, - "parent_index": 3737 + "parent_index": 3738 }, "parameters": [ { - "id": 3739, + "id": 3740, "node_type": 44, "src": { "line": 55, @@ -76,12 +76,12 @@ "start": 1676, "end": 1704, "length": 29, - "parent_index": 3738 + "parent_index": 3739 }, - "scope": 3737, + "scope": 3738, "name": "previousOwner", "type_name": { - "id": 3740, + "id": 3741, "node_type": 30, "src": { "line": 55, @@ -89,7 +89,7 @@ "start": 1676, "end": 1682, "length": 7, - "parent_index": 3739 + "parent_index": 3740 }, "name": "address", "state_mutability": 4, @@ -109,7 +109,7 @@ "indexed": true }, { - "id": 3741, + "id": 3742, "node_type": 44, "src": { "line": 55, @@ -117,12 +117,12 @@ "start": 1707, "end": 1730, "length": 24, - "parent_index": 3738 + "parent_index": 3739 }, - "scope": 3737, + "scope": 3738, "name": "newOwner", "type_name": { - "id": 3742, + "id": 3743, "node_type": 30, "src": { "line": 55, @@ -130,7 +130,7 @@ "start": 1707, "end": 1713, "length": 7, - "parent_index": 3741 + "parent_index": 3742 }, "name": "address", "state_mutability": 4, @@ -164,12 +164,12 @@ "name": "OwnershipTransferred", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_OwnershipTransferred_\u00263737", + "type_identifier": "t_event\u0026_Global_OwnershipTransferred_\u00263738", "type_string": "event Global.OwnershipTransferred" } }, { - "id": 3743, + "id": 3744, "name": "oldOwner", "is_constant": true, "is_state_variable": true, @@ -190,7 +190,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3744, + "id": 3745, "node_type": 30, "src": { "line": 111, @@ -198,7 +198,7 @@ "start": 3422, "end": 3428, "length": 7, - "parent_index": 3743 + "parent_index": 3744 }, "name": "address", "state_mutability": 4, @@ -211,7 +211,7 @@ "initial_value": null }, { - "id": 3745, + "id": 3746, "name": "_NOT_ENTERED", "is_constant": true, "is_state_variable": true, @@ -232,7 +232,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3746, + "id": 3747, "node_type": 30, "src": { "line": 152, @@ -240,7 +240,7 @@ "start": 5248, "end": 5254, "length": 7, - "parent_index": 3745 + "parent_index": 3746 }, "name": "uint256", "referenced_declaration": 0, @@ -250,7 +250,7 @@ } }, "initial_value": { - "id": 3747, + "id": 3748, "node_type": 17, "kind": 49, "value": "1", @@ -261,7 +261,7 @@ "start": 5288, "end": 5288, "length": 1, - "parent_index": 3745 + "parent_index": 3746 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -269,11 +269,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { - "id": 3748, + "id": 3749, "name": "_ENTERED", "is_constant": true, "is_state_variable": true, @@ -294,7 +295,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3749, + "id": 3750, "node_type": 30, "src": { "line": 153, @@ -302,7 +303,7 @@ "start": 5295, "end": 5301, "length": 7, - "parent_index": 3748 + "parent_index": 3749 }, "name": "uint256", "referenced_declaration": 0, @@ -312,7 +313,7 @@ } }, "initial_value": { - "id": 3750, + "id": 3751, "node_type": 17, "kind": 49, "value": "2", @@ -323,7 +324,7 @@ "start": 5331, "end": 5331, "length": 1, - "parent_index": 3748 + "parent_index": 3749 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -331,11 +332,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { - "id": 3751, + "id": 3752, "name": "_status", "is_constant": false, "is_state_variable": true, @@ -356,7 +358,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3752, + "id": 3753, "node_type": 30, "src": { "line": 155, @@ -364,7 +366,7 @@ "start": 5339, "end": 5345, "length": 7, - "parent_index": 3751 + "parent_index": 3752 }, "name": "uint256", "referenced_declaration": 0, @@ -376,7 +378,7 @@ "initial_value": null }, { - "id": 3753, + "id": 3754, "node_type": 67, "src": { "line": 249, @@ -392,16 +394,16 @@ "start": 8539, "end": 8541, "length": 3, - "parent_index": 3753 + "parent_index": 3754 }, "canonical_name": "Global.Set", "type_description": { - "type_identifier": "t_struct$_Global_Set_$3753", + "type_identifier": "t_struct$_Global_Set_$3754", "type_string": "struct Global.Set" }, "members": [ { - "id": 3754, + "id": 3755, "node_type": 44, "src": { "line": 251, @@ -409,11 +411,11 @@ "start": 8586, "end": 8603, "length": 18, - "parent_index": 3753 + "parent_index": 3754 }, "name": "_values", "type_name": { - "id": 3755, + "id": 3756, "node_type": 16, "src": { "line": 251, @@ -421,7 +423,7 @@ "start": 8586, "end": 8592, "length": 7, - "parent_index": 3754 + "parent_index": 3755 }, "name": "bytes32", "referenced_declaration": 0, @@ -438,7 +440,7 @@ } }, { - "id": 3756, + "id": 3757, "node_type": 44, "src": { "line": 254, @@ -446,22 +448,22 @@ "start": 8736, "end": 8772, "length": 37, - "parent_index": 3753 + "parent_index": 3754 }, "name": "_indexes", "type_name": { - "id": 3757, - "node_type": 0, + "id": 3758, + "node_type": 53, "src": { "line": 254, "column": 8, "start": 8736, "end": 8762, "length": 27, - "parent_index": 3756 + "parent_index": 3757 }, "key_type": { - "id": 3758, + "id": 3759, "node_type": 30, "src": { "line": 254, @@ -469,7 +471,7 @@ "start": 8744, "end": 8750, "length": 7, - "parent_index": 3757 + "parent_index": 3758 }, "name": "bytes32", "referenced_declaration": 0, @@ -484,10 +486,10 @@ "start": 8744, "end": 8750, "length": 7, - "parent_index": 3757 + "parent_index": 3758 }, "value_type": { - "id": 3759, + "id": 3760, "node_type": 30, "src": { "line": 254, @@ -495,7 +497,7 @@ "start": 8755, "end": 8761, "length": 7, - "parent_index": 3757 + "parent_index": 3758 }, "name": "uint256", "referenced_declaration": 0, @@ -510,7 +512,7 @@ "start": 8755, "end": 8761, "length": 7, - "parent_index": 3757 + "parent_index": 3758 }, "referenced_declaration": 0, "type_description": { @@ -530,7 +532,7 @@ "storage_location": 1 }, { - "id": 3760, + "id": 3761, "name": "valueIndex", "is_constant": true, "is_state_variable": true, @@ -551,7 +553,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3761, + "id": 3762, "node_type": 30, "src": { "line": 283, @@ -559,7 +561,7 @@ "start": 9703, "end": 9709, "length": 7, - "parent_index": 3760 + "parent_index": 3761 }, "name": "uint256", "referenced_declaration": 0, @@ -571,7 +573,7 @@ "initial_value": null }, { - "id": 3762, + "id": 3763, "name": "toDeleteIndex", "is_constant": true, "is_state_variable": true, @@ -592,7 +594,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3763, + "id": 3764, "node_type": 30, "src": { "line": 291, @@ -600,7 +602,7 @@ "start": 10127, "end": 10133, "length": 7, - "parent_index": 3762 + "parent_index": 3763 }, "name": "uint256", "referenced_declaration": 0, @@ -612,7 +614,7 @@ "initial_value": null }, { - "id": 3764, + "id": 3765, "name": "lastIndex", "is_constant": true, "is_state_variable": true, @@ -633,7 +635,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3765, + "id": 3766, "node_type": 30, "src": { "line": 292, @@ -641,7 +643,7 @@ "start": 10179, "end": 10185, "length": 7, - "parent_index": 3764 + "parent_index": 3765 }, "name": "uint256", "referenced_declaration": 0, @@ -653,7 +655,7 @@ "initial_value": null }, { - "id": 3766, + "id": 3767, "name": "lastValue", "is_constant": true, "is_state_variable": true, @@ -674,7 +676,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3767, + "id": 3768, "node_type": 30, "src": { "line": 295, @@ -682,7 +684,7 @@ "start": 10286, "end": 10292, "length": 7, - "parent_index": 3766 + "parent_index": 3767 }, "name": "bytes32", "referenced_declaration": 0, @@ -694,7 +696,7 @@ "initial_value": null }, { - "id": 3768, + "id": 3769, "node_type": 67, "src": { "line": 357, @@ -710,16 +712,16 @@ "start": 12446, "end": 12455, "length": 10, - "parent_index": 3768 + "parent_index": 3769 }, "canonical_name": "Global.Bytes32Set", "type_description": { - "type_identifier": "t_struct$_Global_Bytes32Set_$3768", + "type_identifier": "t_struct$_Global_Bytes32Set_$3769", "type_string": "struct Global.Bytes32Set" }, "members": [ { - "id": 3769, + "id": 3770, "node_type": 44, "src": { "line": 358, @@ -727,11 +729,11 @@ "start": 12467, "end": 12477, "length": 11, - "parent_index": 3768 + "parent_index": 3769 }, "name": "_inner", "type_name": { - "id": 3770, + "id": 3771, "node_type": 69, "src": { "line": 358, @@ -739,20 +741,20 @@ "start": 12467, "end": 12469, "length": 3, - "parent_index": 3769 + "parent_index": 3770 }, "path_node": { - "id": 3771, + "id": 3772, "name": "Set", "node_type": 52, - "referenced_declaration": 3753, + "referenced_declaration": 3754, "src": { "line": 358, "column": 8, "start": 12467, "end": 12469, "length": 3, - "parent_index": 3770 + "parent_index": 3771 }, "name_location": { "line": 358, @@ -760,19 +762,19 @@ "start": 12467, "end": 12469, "length": 3, - "parent_index": 3770 + "parent_index": 3771 } }, - "referenced_declaration": 3753, + "referenced_declaration": 3754, "type_description": { - "type_identifier": "t_struct$_Global_Set_$3753", + "type_identifier": "t_struct$_Global_Set_$3754", "type_string": "struct Global.Set" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_Global_Set_$3753", + "type_identifier": "t_struct$_Global_Set_$3754", "type_string": "struct Global.Set" } } @@ -781,7 +783,7 @@ "storage_location": 1 }, { - "id": 3772, + "id": 3773, "name": "store", "is_constant": true, "is_state_variable": true, @@ -802,7 +804,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3773, + "id": 3774, "node_type": 16, "src": { "line": 418, @@ -810,7 +812,7 @@ "start": 14591, "end": 14597, "length": 7, - "parent_index": 3772 + "parent_index": 3773 }, "name": "bytes32", "referenced_declaration": 0, @@ -822,7 +824,7 @@ "initial_value": null }, { - "id": 3774, + "id": 3775, "name": "result", "is_constant": true, "is_state_variable": true, @@ -843,7 +845,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3775, + "id": 3776, "node_type": 16, "src": { "line": 419, @@ -851,7 +853,7 @@ "start": 14645, "end": 14651, "length": 7, - "parent_index": 3774 + "parent_index": 3775 }, "name": "bytes32", "referenced_declaration": 0, @@ -863,7 +865,7 @@ "initial_value": null }, { - "id": 3776, + "id": 3777, "node_type": 67, "src": { "line": 431, @@ -879,16 +881,16 @@ "start": 14832, "end": 14841, "length": 10, - "parent_index": 3776 + "parent_index": 3777 }, "canonical_name": "Global.AddressSet", "type_description": { - "type_identifier": "t_struct$_Global_AddressSet_$3776", + "type_identifier": "t_struct$_Global_AddressSet_$3777", "type_string": "struct Global.AddressSet" }, "members": [ { - "id": 3777, + "id": 3778, "node_type": 44, "src": { "line": 432, @@ -896,11 +898,11 @@ "start": 14853, "end": 14863, "length": 11, - "parent_index": 3776 + "parent_index": 3777 }, "name": "_inner", "type_name": { - "id": 3778, + "id": 3779, "node_type": 69, "src": { "line": 432, @@ -908,20 +910,20 @@ "start": 14853, "end": 14855, "length": 3, - "parent_index": 3777 + "parent_index": 3778 }, "path_node": { - "id": 3779, + "id": 3780, "name": "Set", "node_type": 52, - "referenced_declaration": 3753, + "referenced_declaration": 3754, "src": { "line": 432, "column": 8, "start": 14853, "end": 14855, "length": 3, - "parent_index": 3778 + "parent_index": 3779 }, "name_location": { "line": 432, @@ -929,19 +931,19 @@ "start": 14853, "end": 14855, "length": 3, - "parent_index": 3778 + "parent_index": 3779 } }, - "referenced_declaration": 3753, + "referenced_declaration": 3754, "type_description": { - "type_identifier": "t_struct$_Global_Set_$3753", + "type_identifier": "t_struct$_Global_Set_$3754", "type_string": "struct Global.Set" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_Global_Set_$3753", + "type_identifier": "t_struct$_Global_Set_$3754", "type_string": "struct Global.Set" } } @@ -950,7 +952,7 @@ "storage_location": 1 }, { - "id": 3780, + "id": 3781, "name": "store", "is_constant": true, "is_state_variable": true, @@ -971,7 +973,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3781, + "id": 3782, "node_type": 16, "src": { "line": 492, @@ -979,7 +981,7 @@ "start": 17085, "end": 17091, "length": 7, - "parent_index": 3780 + "parent_index": 3781 }, "name": "bytes32", "referenced_declaration": 0, @@ -991,7 +993,7 @@ "initial_value": null }, { - "id": 3782, + "id": 3783, "name": "result", "is_constant": true, "is_state_variable": true, @@ -1012,7 +1014,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3783, + "id": 3784, "node_type": 16, "src": { "line": 493, @@ -1020,7 +1022,7 @@ "start": 17139, "end": 17145, "length": 7, - "parent_index": 3782 + "parent_index": 3783 }, "name": "address", "referenced_declaration": 0, @@ -1032,7 +1034,7 @@ "initial_value": null }, { - "id": 3784, + "id": 3785, "node_type": 67, "src": { "line": 505, @@ -1048,16 +1050,16 @@ "start": 17323, "end": 17329, "length": 7, - "parent_index": 3784 + "parent_index": 3785 }, "canonical_name": "Global.UintSet", "type_description": { - "type_identifier": "t_struct$_Global_UintSet_$3784", + "type_identifier": "t_struct$_Global_UintSet_$3785", "type_string": "struct Global.UintSet" }, "members": [ { - "id": 3785, + "id": 3786, "node_type": 44, "src": { "line": 506, @@ -1065,11 +1067,11 @@ "start": 17341, "end": 17351, "length": 11, - "parent_index": 3784 + "parent_index": 3785 }, "name": "_inner", "type_name": { - "id": 3786, + "id": 3787, "node_type": 69, "src": { "line": 506, @@ -1077,20 +1079,20 @@ "start": 17341, "end": 17343, "length": 3, - "parent_index": 3785 + "parent_index": 3786 }, "path_node": { - "id": 3787, + "id": 3788, "name": "Set", "node_type": 52, - "referenced_declaration": 3753, + "referenced_declaration": 3754, "src": { "line": 506, "column": 8, "start": 17341, "end": 17343, "length": 3, - "parent_index": 3786 + "parent_index": 3787 }, "name_location": { "line": 506, @@ -1098,19 +1100,19 @@ "start": 17341, "end": 17343, "length": 3, - "parent_index": 3786 + "parent_index": 3787 } }, - "referenced_declaration": 3753, + "referenced_declaration": 3754, "type_description": { - "type_identifier": "t_struct$_Global_Set_$3753", + "type_identifier": "t_struct$_Global_Set_$3754", "type_string": "struct Global.Set" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_Global_Set_$3753", + "type_identifier": "t_struct$_Global_Set_$3754", "type_string": "struct Global.Set" } } @@ -1119,7 +1121,7 @@ "storage_location": 1 }, { - "id": 3788, + "id": 3789, "name": "store", "is_constant": true, "is_state_variable": true, @@ -1140,7 +1142,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3789, + "id": 3790, "node_type": 16, "src": { "line": 566, @@ -1148,7 +1150,7 @@ "start": 19483, "end": 19489, "length": 7, - "parent_index": 3788 + "parent_index": 3789 }, "name": "bytes32", "referenced_declaration": 0, @@ -1160,7 +1162,7 @@ "initial_value": null }, { - "id": 3790, + "id": 3791, "name": "result", "is_constant": true, "is_state_variable": true, @@ -1181,7 +1183,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3791, + "id": 3792, "node_type": 16, "src": { "line": 567, @@ -1189,7 +1191,7 @@ "start": 19537, "end": 19543, "length": 7, - "parent_index": 3790 + "parent_index": 3791 }, "name": "uint256", "referenced_declaration": 0, @@ -1201,7 +1203,7 @@ "initial_value": null }, { - "id": 3792, + "id": 3793, "name": "success", "is_constant": true, "is_state_variable": true, @@ -1222,7 +1224,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3793, + "id": 3794, "node_type": 30, "src": { "line": 646, @@ -1230,7 +1232,7 @@ "start": 22530, "end": 22533, "length": 4, - "parent_index": 3792 + "parent_index": 3793 }, "name": "bool", "referenced_declaration": 0, @@ -1242,7 +1244,7 @@ "initial_value": null }, { - "id": 3794, + "id": 3795, "name": "success", "is_constant": true, "is_state_variable": true, @@ -1263,7 +1265,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3795, + "id": 3796, "node_type": 30, "src": { "line": 714, @@ -1271,7 +1273,7 @@ "start": 25163, "end": 25166, "length": 4, - "parent_index": 3794 + "parent_index": 3795 }, "name": "bool", "referenced_declaration": 0, @@ -1283,7 +1285,7 @@ "initial_value": null }, { - "id": 3796, + "id": 3797, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -1304,7 +1306,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3797, + "id": 3798, "node_type": 30, "src": { "line": 714, @@ -1312,7 +1314,7 @@ "start": 25177, "end": 25181, "length": 5, - "parent_index": 3796 + "parent_index": 3797 }, "name": "bytes", "referenced_declaration": 0, @@ -1324,7 +1326,7 @@ "initial_value": null }, { - "id": 3798, + "id": 3799, "name": "success", "is_constant": true, "is_state_variable": true, @@ -1345,7 +1347,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3799, + "id": 3800, "node_type": 30, "src": { "line": 739, @@ -1353,7 +1355,7 @@ "start": 26055, "end": 26058, "length": 4, - "parent_index": 3798 + "parent_index": 3799 }, "name": "bool", "referenced_declaration": 0, @@ -1365,7 +1367,7 @@ "initial_value": null }, { - "id": 3800, + "id": 3801, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -1386,7 +1388,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3801, + "id": 3802, "node_type": 30, "src": { "line": 739, @@ -1394,7 +1396,7 @@ "start": 26069, "end": 26073, "length": 5, - "parent_index": 3800 + "parent_index": 3801 }, "name": "bytes", "referenced_declaration": 0, @@ -1406,7 +1408,7 @@ "initial_value": null }, { - "id": 3802, + "id": 3803, "name": "success", "is_constant": true, "is_state_variable": true, @@ -1427,7 +1429,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3803, + "id": 3804, "node_type": 30, "src": { "line": 764, @@ -1435,7 +1437,7 @@ "start": 26941, "end": 26944, "length": 4, - "parent_index": 3802 + "parent_index": 3803 }, "name": "bool", "referenced_declaration": 0, @@ -1447,7 +1449,7 @@ "initial_value": null }, { - "id": 3804, + "id": 3805, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -1468,7 +1470,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3805, + "id": 3806, "node_type": 30, "src": { "line": 764, @@ -1476,7 +1478,7 @@ "start": 26955, "end": 26959, "length": 5, - "parent_index": 3804 + "parent_index": 3805 }, "name": "bytes", "referenced_declaration": 0, @@ -1488,7 +1490,7 @@ "initial_value": null }, { - "id": 3806, + "id": 3807, "node_type": 57, "src": { "line": 905, @@ -1498,7 +1500,7 @@ "length": 72 }, "parameters": { - "id": 3807, + "id": 3808, "node_type": 43, "src": { "line": 905, @@ -1506,11 +1508,11 @@ "start": 31801, "end": 31872, "length": 72, - "parent_index": 3806 + "parent_index": 3807 }, "parameters": [ { - "id": 3808, + "id": 3809, "node_type": 44, "src": { "line": 905, @@ -1518,12 +1520,12 @@ "start": 31816, "end": 31835, "length": 20, - "parent_index": 3807 + "parent_index": 3808 }, - "scope": 3806, + "scope": 3807, "name": "from", "type_name": { - "id": 3809, + "id": 3810, "node_type": 30, "src": { "line": 905, @@ -1531,7 +1533,7 @@ "start": 31816, "end": 31822, "length": 7, - "parent_index": 3808 + "parent_index": 3809 }, "name": "address", "state_mutability": 4, @@ -1551,7 +1553,7 @@ "indexed": true }, { - "id": 3810, + "id": 3811, "node_type": 44, "src": { "line": 905, @@ -1559,12 +1561,12 @@ "start": 31838, "end": 31855, "length": 18, - "parent_index": 3807 + "parent_index": 3808 }, - "scope": 3806, + "scope": 3807, "name": "to", "type_name": { - "id": 3811, + "id": 3812, "node_type": 30, "src": { "line": 905, @@ -1572,7 +1574,7 @@ "start": 31838, "end": 31844, "length": 7, - "parent_index": 3810 + "parent_index": 3811 }, "name": "address", "state_mutability": 4, @@ -1592,7 +1594,7 @@ "indexed": true }, { - "id": 3812, + "id": 3813, "node_type": 44, "src": { "line": 905, @@ -1600,12 +1602,12 @@ "start": 31858, "end": 31870, "length": 13, - "parent_index": 3807 + "parent_index": 3808 }, - "scope": 3806, + "scope": 3807, "name": "value", "type_name": { - "id": 3813, + "id": 3814, "node_type": 30, "src": { "line": 905, @@ -1613,7 +1615,7 @@ "start": 31858, "end": 31864, "length": 7, - "parent_index": 3812 + "parent_index": 3813 }, "name": "uint256", "referenced_declaration": 0, @@ -1649,12 +1651,12 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Transfer_\u00263806", + "type_identifier": "t_event\u0026_Global_Transfer_\u00263807", "type_string": "event Global.Transfer" } }, { - "id": 3814, + "id": 3815, "node_type": 57, "src": { "line": 911, @@ -1664,7 +1666,7 @@ "length": 78 }, "parameters": { - "id": 3815, + "id": 3816, "node_type": 43, "src": { "line": 911, @@ -1672,11 +1674,11 @@ "start": 32032, "end": 32109, "length": 78, - "parent_index": 3814 + "parent_index": 3815 }, "parameters": [ { - "id": 3816, + "id": 3817, "node_type": 44, "src": { "line": 911, @@ -1684,12 +1686,12 @@ "start": 32047, "end": 32067, "length": 21, - "parent_index": 3815 + "parent_index": 3816 }, - "scope": 3814, + "scope": 3815, "name": "owner", "type_name": { - "id": 3817, + "id": 3818, "node_type": 30, "src": { "line": 911, @@ -1697,7 +1699,7 @@ "start": 32047, "end": 32053, "length": 7, - "parent_index": 3816 + "parent_index": 3817 }, "name": "address", "state_mutability": 4, @@ -1717,7 +1719,7 @@ "indexed": true }, { - "id": 3818, + "id": 3819, "node_type": 44, "src": { "line": 911, @@ -1725,12 +1727,12 @@ "start": 32070, "end": 32092, "length": 23, - "parent_index": 3815 + "parent_index": 3816 }, - "scope": 3814, + "scope": 3815, "name": "spender", "type_name": { - "id": 3819, + "id": 3820, "node_type": 30, "src": { "line": 911, @@ -1738,7 +1740,7 @@ "start": 32070, "end": 32076, "length": 7, - "parent_index": 3818 + "parent_index": 3819 }, "name": "address", "state_mutability": 4, @@ -1758,7 +1760,7 @@ "indexed": true }, { - "id": 3820, + "id": 3821, "node_type": 44, "src": { "line": 911, @@ -1766,12 +1768,12 @@ "start": 32095, "end": 32107, "length": 13, - "parent_index": 3815 + "parent_index": 3816 }, - "scope": 3814, + "scope": 3815, "name": "value", "type_name": { - "id": 3821, + "id": 3822, "node_type": 30, "src": { "line": 911, @@ -1779,7 +1781,7 @@ "start": 32095, "end": 32101, "length": 7, - "parent_index": 3820 + "parent_index": 3821 }, "name": "uint256", "referenced_declaration": 0, @@ -1815,12 +1817,12 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Approval_\u00263814", + "type_identifier": "t_event\u0026_Global_Approval_\u00263815", "type_string": "event Global.Approval" } }, { - "id": 3822, + "id": 3823, "name": "oldAllowance", "is_constant": true, "is_state_variable": true, @@ -1841,7 +1843,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3823, + "id": 3824, "node_type": 30, "src": { "line": 1030, @@ -1849,7 +1851,7 @@ "start": 36764, "end": 36770, "length": 7, - "parent_index": 3822 + "parent_index": 3823 }, "name": "uint256", "referenced_declaration": 0, @@ -1861,7 +1863,7 @@ "initial_value": null }, { - "id": 3824, + "id": 3825, "name": "oldAllowance", "is_constant": true, "is_state_variable": true, @@ -1882,7 +1884,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3825, + "id": 3826, "node_type": 30, "src": { "line": 1040, @@ -1890,7 +1892,7 @@ "start": 37259, "end": 37265, "length": 7, - "parent_index": 3824 + "parent_index": 3825 }, "name": "uint256", "referenced_declaration": 0, @@ -1902,7 +1904,7 @@ "initial_value": null }, { - "id": 3826, + "id": 3827, "name": "approvalCall", "is_constant": true, "is_state_variable": true, @@ -1923,7 +1925,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3827, + "id": 3828, "node_type": 30, "src": { "line": 1052, @@ -1931,7 +1933,7 @@ "start": 37952, "end": 37956, "length": 5, - "parent_index": 3826 + "parent_index": 3827 }, "name": "bytes", "referenced_declaration": 0, @@ -1943,7 +1945,7 @@ "initial_value": null }, { - "id": 3828, + "id": 3829, "name": "nonceBefore", "is_constant": true, "is_state_variable": true, @@ -1964,7 +1966,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3829, + "id": 3830, "node_type": 30, "src": { "line": 1074, @@ -1972,7 +1974,7 @@ "start": 38652, "end": 38658, "length": 7, - "parent_index": 3828 + "parent_index": 3829 }, "name": "uint256", "referenced_declaration": 0, @@ -1984,7 +1986,7 @@ "initial_value": null }, { - "id": 3830, + "id": 3831, "name": "nonceAfter", "is_constant": true, "is_state_variable": true, @@ -2005,7 +2007,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3831, + "id": 3832, "node_type": 30, "src": { "line": 1076, @@ -2013,7 +2015,7 @@ "start": 38767, "end": 38773, "length": 7, - "parent_index": 3830 + "parent_index": 3831 }, "name": "uint256", "referenced_declaration": 0, @@ -2025,7 +2027,7 @@ "initial_value": null }, { - "id": 3832, + "id": 3833, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -2046,7 +2048,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3833, + "id": 3834, "node_type": 30, "src": { "line": 1091, @@ -2054,7 +2056,7 @@ "start": 39701, "end": 39705, "length": 5, - "parent_index": 3832 + "parent_index": 3833 }, "name": "bytes", "referenced_declaration": 0, @@ -2066,7 +2068,7 @@ "initial_value": null }, { - "id": 3834, + "id": 3835, "name": "success", "is_constant": true, "is_state_variable": true, @@ -2087,7 +2089,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3835, + "id": 3836, "node_type": 30, "src": { "line": 1108, @@ -2095,7 +2097,7 @@ "start": 40810, "end": 40813, "length": 4, - "parent_index": 3834 + "parent_index": 3835 }, "name": "bool", "referenced_declaration": 0, @@ -2107,7 +2109,7 @@ "initial_value": null }, { - "id": 3836, + "id": 3837, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -2128,7 +2130,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3837, + "id": 3838, "node_type": 30, "src": { "line": 1108, @@ -2136,7 +2138,7 @@ "start": 40824, "end": 40828, "length": 5, - "parent_index": 3836 + "parent_index": 3837 }, "name": "bytes", "referenced_declaration": 0, @@ -2148,7 +2150,7 @@ "initial_value": null }, { - "id": 3838, + "id": 3839, "name": "uniswapFactory", "is_constant": false, "is_state_variable": true, @@ -2169,7 +2171,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3839, + "id": 3840, "node_type": 69, "src": { "line": 1170, @@ -2177,10 +2179,10 @@ "start": 42356, "end": 42366, "length": 11, - "parent_index": 3838 + "parent_index": 3839 }, "path_node": { - "id": 3840, + "id": 3841, "name": "IUniFactory", "node_type": 52, "referenced_declaration": 1940, @@ -2190,7 +2192,7 @@ "start": 42356, "end": 42366, "length": 11, - "parent_index": 3839 + "parent_index": 3840 }, "name_location": { "line": 1170, @@ -2198,7 +2200,7 @@ "start": 42356, "end": 42366, "length": 11, - "parent_index": 3839 + "parent_index": 3840 } }, "referenced_declaration": 1940, @@ -2210,7 +2212,7 @@ "initial_value": null }, { - "id": 3841, + "id": 3842, "node_type": 67, "src": { "line": 1172, @@ -2226,16 +2228,16 @@ "start": 42403, "end": 42410, "length": 8, - "parent_index": 3841 + "parent_index": 3842 }, "canonical_name": "Global.UserInfo", "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" }, "members": [ { - "id": 3842, + "id": 3843, "node_type": 44, "src": { "line": 1173, @@ -2243,11 +2245,11 @@ "start": 42422, "end": 42459, "length": 38, - "parent_index": 3841 + "parent_index": 3842 }, "name": "lockedTokens", "type_name": { - "id": 3843, + "id": 3844, "node_type": 69, "src": { "line": 1173, @@ -2255,10 +2257,10 @@ "start": 42422, "end": 42445, "length": 24, - "parent_index": 3842 + "parent_index": 3843 }, "path_node": { - "id": 3844, + "id": 3845, "name": "EnumerableSet", "node_type": 52, "referenced_declaration": 427, @@ -2268,7 +2270,7 @@ "start": 42422, "end": 42445, "length": 24, - "parent_index": 3843 + "parent_index": 3844 }, "name_location": { "line": 1173, @@ -2276,7 +2278,7 @@ "start": 42422, "end": 42434, "length": 13, - "parent_index": 3843 + "parent_index": 3844 } }, "referenced_declaration": 427, @@ -2293,7 +2295,7 @@ } }, { - "id": 3845, + "id": 3846, "node_type": 44, "src": { "line": 1174, @@ -2301,22 +2303,22 @@ "start": 42511, "end": 42554, "length": 44, - "parent_index": 3841 + "parent_index": 3842 }, "name": "locksForToken", "type_name": { - "id": 3846, - "node_type": 0, + "id": 3847, + "node_type": 53, "src": { "line": 1174, "column": 8, "start": 42511, "end": 42539, "length": 29, - "parent_index": 3845 + "parent_index": 3846 }, "key_type": { - "id": 3847, + "id": 3848, "node_type": 30, "src": { "line": 1174, @@ -2324,7 +2326,7 @@ "start": 42519, "end": 42525, "length": 7, - "parent_index": 3846 + "parent_index": 3847 }, "name": "address", "referenced_declaration": 0, @@ -2339,10 +2341,10 @@ "start": 42519, "end": 42525, "length": 7, - "parent_index": 3846 + "parent_index": 3847 }, "value_type": { - "id": 3848, + "id": 3849, "node_type": 30, "src": { "line": 1174, @@ -2350,7 +2352,7 @@ "start": 42530, "end": 42538, "length": 9, - "parent_index": 3846 + "parent_index": 3847 }, "name": "uint256[]", "referenced_declaration": 0, @@ -2365,7 +2367,7 @@ "start": 42530, "end": 42538, "length": 9, - "parent_index": 3846 + "parent_index": 3847 }, "referenced_declaration": 0, "type_description": { @@ -2385,7 +2387,7 @@ "storage_location": 1 }, { - "id": 3849, + "id": 3850, "node_type": 67, "src": { "line": 1177, @@ -2401,16 +2403,16 @@ "start": 42621, "end": 42629, "length": 9, - "parent_index": 3849 + "parent_index": 3850 }, "canonical_name": "Global.TokenLock", "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "members": [ { - "id": 3850, + "id": 3851, "node_type": 44, "src": { "line": 1178, @@ -2418,11 +2420,11 @@ "start": 42641, "end": 42657, "length": 17, - "parent_index": 3849 + "parent_index": 3850 }, "name": "lockDate", "type_name": { - "id": 3851, + "id": 3852, "node_type": 30, "src": { "line": 1178, @@ -2430,7 +2432,7 @@ "start": 42641, "end": 42647, "length": 7, - "parent_index": 3850 + "parent_index": 3851 }, "name": "uint256", "referenced_declaration": 0, @@ -2447,7 +2449,7 @@ } }, { - "id": 3852, + "id": 3853, "node_type": 44, "src": { "line": 1179, @@ -2455,11 +2457,11 @@ "start": 42710, "end": 42724, "length": 15, - "parent_index": 3849 + "parent_index": 3850 }, "name": "amount", "type_name": { - "id": 3853, + "id": 3854, "node_type": 30, "src": { "line": 1179, @@ -2467,7 +2469,7 @@ "start": 42710, "end": 42716, "length": 7, - "parent_index": 3852 + "parent_index": 3853 }, "name": "uint256", "referenced_declaration": 0, @@ -2484,7 +2486,7 @@ } }, { - "id": 3854, + "id": 3855, "node_type": 44, "src": { "line": 1180, @@ -2492,11 +2494,11 @@ "start": 42804, "end": 42825, "length": 22, - "parent_index": 3849 + "parent_index": 3850 }, "name": "initialAmount", "type_name": { - "id": 3855, + "id": 3856, "node_type": 30, "src": { "line": 1180, @@ -2504,7 +2506,7 @@ "start": 42804, "end": 42810, "length": 7, - "parent_index": 3854 + "parent_index": 3855 }, "name": "uint256", "referenced_declaration": 0, @@ -2521,7 +2523,7 @@ } }, { - "id": 3856, + "id": 3857, "node_type": 44, "src": { "line": 1181, @@ -2529,11 +2531,11 @@ "start": 42862, "end": 42880, "length": 19, - "parent_index": 3849 + "parent_index": 3850 }, "name": "unlockDate", "type_name": { - "id": 3857, + "id": 3858, "node_type": 30, "src": { "line": 1181, @@ -2541,7 +2543,7 @@ "start": 42862, "end": 42868, "length": 7, - "parent_index": 3856 + "parent_index": 3857 }, "name": "uint256", "referenced_declaration": 0, @@ -2558,7 +2560,7 @@ } }, { - "id": 3858, + "id": 3859, "node_type": 44, "src": { "line": 1182, @@ -2566,11 +2568,11 @@ "start": 42939, "end": 42953, "length": 15, - "parent_index": 3849 + "parent_index": 3850 }, "name": "lockID", "type_name": { - "id": 3859, + "id": 3860, "node_type": 30, "src": { "line": 1182, @@ -2578,7 +2580,7 @@ "start": 42939, "end": 42945, "length": 7, - "parent_index": 3858 + "parent_index": 3859 }, "name": "uint256", "referenced_declaration": 0, @@ -2595,7 +2597,7 @@ } }, { - "id": 3860, + "id": 3861, "node_type": 44, "src": { "line": 1183, @@ -2603,11 +2605,11 @@ "start": 42992, "end": 43005, "length": 14, - "parent_index": 3849 + "parent_index": 3850 }, "name": "owner", "type_name": { - "id": 3861, + "id": 3862, "node_type": 30, "src": { "line": 1183, @@ -2615,7 +2617,7 @@ "start": 42992, "end": 42998, "length": 7, - "parent_index": 3860 + "parent_index": 3861 }, "name": "address", "state_mutability": 4, @@ -2637,7 +2639,7 @@ "storage_location": 1 }, { - "id": 3862, + "id": 3863, "name": "users", "is_constant": false, "is_state_variable": true, @@ -2651,25 +2653,25 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Global_UserInfo_$3842$", "type_string": "mapping(address=\u003eUserInfo)" }, "visibility": 2, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3863, - "node_type": 0, + "id": 3864, + "node_type": 69, "src": { "line": 1186, "column": 4, "start": 43018, "end": 43045, "length": 28, - "parent_index": 3862 + "parent_index": 3863 }, "key_type": { - "id": 3864, + "id": 3865, "node_type": 30, "src": { "line": 1186, @@ -2677,7 +2679,7 @@ "start": 43026, "end": 43032, "length": 7, - "parent_index": 3863 + "parent_index": 3864 }, "name": "address", "referenced_declaration": 0, @@ -2692,24 +2694,24 @@ "start": 43026, "end": 43032, "length": 7, - "parent_index": 3863 + "parent_index": 3864 }, "value_type": { - "id": 3865, - "node_type": 30, + "id": 3866, + "node_type": 69, "src": { "line": 1186, "column": 23, "start": 43037, "end": 43044, "length": 8, - "parent_index": 3863 + "parent_index": 3864 }, "name": "UserInfo", - "referenced_declaration": 0, + "referenced_declaration": 3842, "type_description": { - "type_identifier": "t_UserInfo", - "type_string": "UserInfo" + "type_identifier": "t_struct$_Global_UserInfo_$3842", + "type_string": "struct Global.UserInfo" } }, "value_name_location": { @@ -2718,18 +2720,40 @@ "start": 43037, "end": 43044, "length": 8, - "parent_index": 3863 + "parent_index": 3864 }, - "referenced_declaration": 0, + "path_node": { + "id": 3867, + "name": "UserInfo", + "node_type": 52, + "referenced_declaration": 3842, + "src": { + "line": 1186, + "column": 23, + "start": 43037, + "end": 43044, + "length": 8, + "parent_index": 3864 + }, + "name_location": { + "line": 1186, + "column": 23, + "start": 43037, + "end": 43044, + "length": 8, + "parent_index": 3864 + } + }, + "referenced_declaration": 3842, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Global_UserInfo_$3842$", "type_string": "mapping(address=\u003eUserInfo)" } }, "initial_value": null }, { - "id": 3866, + "id": 3868, "name": "lockedTokens", "is_constant": false, "is_state_variable": true, @@ -2750,7 +2774,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3867, + "id": 3869, "node_type": 69, "src": { "line": 1188, @@ -2758,10 +2782,10 @@ "start": 43067, "end": 43090, "length": 24, - "parent_index": 3866 + "parent_index": 3868 }, "path_node": { - "id": 3868, + "id": 3870, "name": "EnumerableSet", "node_type": 52, "referenced_declaration": 427, @@ -2771,7 +2795,7 @@ "start": 43067, "end": 43090, "length": 24, - "parent_index": 3867 + "parent_index": 3869 }, "name_location": { "line": 1188, @@ -2779,7 +2803,7 @@ "start": 43067, "end": 43079, "length": 13, - "parent_index": 3867 + "parent_index": 3869 } }, "referenced_declaration": 427, @@ -2791,7 +2815,7 @@ "initial_value": null }, { - "id": 3869, + "id": 3871, "name": "tokenLocks", "is_constant": false, "is_state_variable": true, @@ -2812,18 +2836,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3870, - "node_type": 0, + "id": 3872, + "node_type": 53, "src": { "line": 1189, "column": 4, "start": 43118, "end": 43148, "length": 31, - "parent_index": 3869 + "parent_index": 3871 }, "key_type": { - "id": 3871, + "id": 3873, "node_type": 30, "src": { "line": 1189, @@ -2831,7 +2855,7 @@ "start": 43126, "end": 43132, "length": 7, - "parent_index": 3870 + "parent_index": 3872 }, "name": "address", "referenced_declaration": 0, @@ -2846,10 +2870,10 @@ "start": 43126, "end": 43132, "length": 7, - "parent_index": 3870 + "parent_index": 3872 }, "value_type": { - "id": 3872, + "id": 3874, "node_type": 30, "src": { "line": 1189, @@ -2857,7 +2881,7 @@ "start": 43137, "end": 43147, "length": 11, - "parent_index": 3870 + "parent_index": 3872 }, "name": "TokenLock[]", "referenced_declaration": 0, @@ -2872,7 +2896,7 @@ "start": 43137, "end": 43147, "length": 11, - "parent_index": 3870 + "parent_index": 3872 }, "referenced_declaration": 0, "type_description": { @@ -2883,7 +2907,7 @@ "initial_value": null }, { - "id": 3873, + "id": 3875, "node_type": 67, "src": { "line": 1191, @@ -2899,16 +2923,16 @@ "start": 43215, "end": 43223, "length": 9, - "parent_index": 3873 + "parent_index": 3875 }, "canonical_name": "Global.FeeStruct", "type_description": { - "type_identifier": "t_struct$_Global_FeeStruct_$3873", + "type_identifier": "t_struct$_Global_FeeStruct_$3875", "type_string": "struct Global.FeeStruct" }, "members": [ { - "id": 3874, + "id": 3876, "node_type": 44, "src": { "line": 1192, @@ -2916,11 +2940,11 @@ "start": 43235, "end": 43249, "length": 15, - "parent_index": 3873 + "parent_index": 3875 }, "name": "ethFee", "type_name": { - "id": 3875, + "id": 3877, "node_type": 30, "src": { "line": 1192, @@ -2928,7 +2952,7 @@ "start": 43235, "end": 43241, "length": 7, - "parent_index": 3874 + "parent_index": 3876 }, "name": "uint256", "referenced_declaration": 0, @@ -2945,7 +2969,7 @@ } }, { - "id": 3876, + "id": 3878, "node_type": 44, "src": { "line": 1193, @@ -2953,11 +2977,11 @@ "start": 43308, "end": 43334, "length": 27, - "parent_index": 3873 + "parent_index": 3875 }, "name": "secondaryFeeToken", "type_name": { - "id": 3877, + "id": 3879, "node_type": 69, "src": { "line": 1193, @@ -2965,10 +2989,10 @@ "start": 43308, "end": 43315, "length": 8, - "parent_index": 3876 + "parent_index": 3878 }, "path_node": { - "id": 3878, + "id": 3880, "name": "IERCBurn", "node_type": 52, "referenced_declaration": 1891, @@ -2978,7 +3002,7 @@ "start": 43308, "end": 43315, "length": 8, - "parent_index": 3877 + "parent_index": 3879 }, "name_location": { "line": 1193, @@ -2986,7 +3010,7 @@ "start": 43308, "end": 43315, "length": 8, - "parent_index": 3877 + "parent_index": 3879 } }, "referenced_declaration": 1891, @@ -3003,7 +3027,7 @@ } }, { - "id": 3879, + "id": 3881, "node_type": 44, "src": { "line": 1194, @@ -3011,11 +3035,11 @@ "start": 43347, "end": 43372, "length": 26, - "parent_index": 3873 + "parent_index": 3875 }, "name": "secondaryTokenFee", "type_name": { - "id": 3880, + "id": 3882, "node_type": 30, "src": { "line": 1194, @@ -3023,7 +3047,7 @@ "start": 43347, "end": 43353, "length": 7, - "parent_index": 3879 + "parent_index": 3881 }, "name": "uint256", "referenced_declaration": 0, @@ -3040,7 +3064,7 @@ } }, { - "id": 3881, + "id": 3883, "node_type": 44, "src": { "line": 1195, @@ -3048,11 +3072,11 @@ "start": 43394, "end": 43424, "length": 31, - "parent_index": 3873 + "parent_index": 3875 }, "name": "secondaryTokenDiscount", "type_name": { - "id": 3882, + "id": 3884, "node_type": 30, "src": { "line": 1195, @@ -3060,7 +3084,7 @@ "start": 43394, "end": 43400, "length": 7, - "parent_index": 3881 + "parent_index": 3883 }, "name": "uint256", "referenced_declaration": 0, @@ -3077,7 +3101,7 @@ } }, { - "id": 3883, + "id": 3885, "node_type": 44, "src": { "line": 1196, @@ -3085,11 +3109,11 @@ "start": 43490, "end": 43510, "length": 21, - "parent_index": 3873 + "parent_index": 3875 }, "name": "liquidityFee", "type_name": { - "id": 3884, + "id": 3886, "node_type": 30, "src": { "line": 1196, @@ -3097,7 +3121,7 @@ "start": 43490, "end": 43496, "length": 7, - "parent_index": 3883 + "parent_index": 3885 }, "name": "uint256", "referenced_declaration": 0, @@ -3114,7 +3138,7 @@ } }, { - "id": 3885, + "id": 3887, "node_type": 44, "src": { "line": 1197, @@ -3122,11 +3146,11 @@ "start": 43553, "end": 43576, "length": 24, - "parent_index": 3873 + "parent_index": 3875 }, "name": "referralPercent", "type_name": { - "id": 3886, + "id": 3888, "node_type": 30, "src": { "line": 1197, @@ -3134,7 +3158,7 @@ "start": 43553, "end": 43559, "length": 7, - "parent_index": 3885 + "parent_index": 3887 }, "name": "uint256", "referenced_declaration": 0, @@ -3151,7 +3175,7 @@ } }, { - "id": 3887, + "id": 3889, "node_type": 44, "src": { "line": 1198, @@ -3159,11 +3183,11 @@ "start": 43607, "end": 43629, "length": 23, - "parent_index": 3873 + "parent_index": 3875 }, "name": "referralToken", "type_name": { - "id": 3888, + "id": 3890, "node_type": 69, "src": { "line": 1198, @@ -3171,10 +3195,10 @@ "start": 43607, "end": 43614, "length": 8, - "parent_index": 3887 + "parent_index": 3889 }, "path_node": { - "id": 3889, + "id": 3891, "name": "IERCBurn", "node_type": 52, "referenced_declaration": 1891, @@ -3184,7 +3208,7 @@ "start": 43607, "end": 43614, "length": 8, - "parent_index": 3888 + "parent_index": 3890 }, "name_location": { "line": 1198, @@ -3192,7 +3216,7 @@ "start": 43607, "end": 43614, "length": 8, - "parent_index": 3888 + "parent_index": 3890 } }, "referenced_declaration": 1891, @@ -3209,7 +3233,7 @@ } }, { - "id": 3890, + "id": 3892, "node_type": 44, "src": { "line": 1199, @@ -3217,11 +3241,11 @@ "start": 43696, "end": 43716, "length": 21, - "parent_index": 3873 + "parent_index": 3875 }, "name": "referralHold", "type_name": { - "id": 3891, + "id": 3893, "node_type": 30, "src": { "line": 1199, @@ -3229,7 +3253,7 @@ "start": 43696, "end": 43702, "length": 7, - "parent_index": 3890 + "parent_index": 3892 }, "name": "uint256", "referenced_declaration": 0, @@ -3246,7 +3270,7 @@ } }, { - "id": 3892, + "id": 3894, "node_type": 44, "src": { "line": 1200, @@ -3254,11 +3278,11 @@ "start": 43785, "end": 43809, "length": 25, - "parent_index": 3873 + "parent_index": 3875 }, "name": "referralDiscount", "type_name": { - "id": 3893, + "id": 3895, "node_type": 30, "src": { "line": 1200, @@ -3266,7 +3290,7 @@ "start": 43785, "end": 43791, "length": 7, - "parent_index": 3892 + "parent_index": 3894 }, "name": "uint256", "referenced_declaration": 0, @@ -3287,7 +3311,7 @@ "storage_location": 1 }, { - "id": 3894, + "id": 3896, "name": "gFees", "is_constant": false, "is_state_variable": true, @@ -3301,14 +3325,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_FeeStruct_$3873", + "type_identifier": "t_struct$_Global_FeeStruct_$3875", "type_string": "struct Global.FeeStruct" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3895, + "id": 3897, "node_type": 69, "src": { "line": 1203, @@ -3316,20 +3340,20 @@ "start": 43886, "end": 43894, "length": 9, - "parent_index": 3894 + "parent_index": 3896 }, "path_node": { - "id": 3896, + "id": 3898, "name": "FeeStruct", "node_type": 52, - "referenced_declaration": 3873, + "referenced_declaration": 3875, "src": { "line": 1203, "column": 4, "start": 43886, "end": 43894, "length": 9, - "parent_index": 3895 + "parent_index": 3897 }, "name_location": { "line": 1203, @@ -3337,19 +3361,19 @@ "start": 43886, "end": 43894, "length": 9, - "parent_index": 3895 + "parent_index": 3897 } }, - "referenced_declaration": 3873, + "referenced_declaration": 3875, "type_description": { - "type_identifier": "t_struct$_Global_FeeStruct_$3873", + "type_identifier": "t_struct$_Global_FeeStruct_$3875", "type_string": "struct Global.FeeStruct" } }, "initial_value": null }, { - "id": 3897, + "id": 3899, "name": "feeWhitelist", "is_constant": false, "is_state_variable": true, @@ -3370,7 +3394,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3898, + "id": 3900, "node_type": 69, "src": { "line": 1204, @@ -3378,10 +3402,10 @@ "start": 43914, "end": 43937, "length": 24, - "parent_index": 3897 + "parent_index": 3899 }, "path_node": { - "id": 3899, + "id": 3901, "name": "EnumerableSet", "node_type": 52, "referenced_declaration": 427, @@ -3391,7 +3415,7 @@ "start": 43914, "end": 43937, "length": 24, - "parent_index": 3898 + "parent_index": 3900 }, "name_location": { "line": 1204, @@ -3399,7 +3423,7 @@ "start": 43914, "end": 43926, "length": 13, - "parent_index": 3898 + "parent_index": 3900 } }, "referenced_declaration": 427, @@ -3411,7 +3435,7 @@ "initial_value": null }, { - "id": 3900, + "id": 3902, "name": "devaddr", "is_constant": false, "is_state_variable": true, @@ -3432,7 +3456,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3901, + "id": 3903, "node_type": 30, "src": { "line": 1206, @@ -3440,7 +3464,7 @@ "start": 43966, "end": 43980, "length": 15, - "parent_index": 3900 + "parent_index": 3902 }, "name": "addresspayable", "state_mutability": 3, @@ -3453,7 +3477,7 @@ "initial_value": null }, { - "id": 3902, + "id": 3904, "name": "migrator", "is_constant": false, "is_state_variable": true, @@ -3474,7 +3498,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3903, + "id": 3905, "node_type": 69, "src": { "line": 1208, @@ -3482,10 +3506,10 @@ "start": 43996, "end": 44004, "length": 9, - "parent_index": 3902 + "parent_index": 3904 }, "path_node": { - "id": 3904, + "id": 3906, "name": "IMigrator", "node_type": 52, "referenced_declaration": 1962, @@ -3495,7 +3519,7 @@ "start": 43996, "end": 44004, "length": 9, - "parent_index": 3903 + "parent_index": 3905 }, "name_location": { "line": 1208, @@ -3503,7 +3527,7 @@ "start": 43996, "end": 44004, "length": 9, - "parent_index": 3903 + "parent_index": 3905 } }, "referenced_declaration": 1962, @@ -3515,7 +3539,7 @@ "initial_value": null }, { - "id": 3905, + "id": 3907, "node_type": 57, "src": { "line": 1210, @@ -3525,7 +3549,7 @@ "length": 171 }, "parameters": { - "id": 3906, + "id": 3908, "node_type": 43, "src": { "line": 1210, @@ -3533,11 +3557,11 @@ "start": 44021, "end": 44191, "length": 171, - "parent_index": 3905 + "parent_index": 3907 }, "parameters": [ { - "id": 3907, + "id": 3909, "node_type": 44, "src": { "line": 1211, @@ -3545,12 +3569,12 @@ "start": 44046, "end": 44060, "length": 15, - "parent_index": 3906 + "parent_index": 3908 }, - "scope": 3905, + "scope": 3907, "name": "lpToken", "type_name": { - "id": 3908, + "id": 3910, "node_type": 30, "src": { "line": 1211, @@ -3558,7 +3582,7 @@ "start": 44046, "end": 44052, "length": 7, - "parent_index": 3907 + "parent_index": 3909 }, "name": "address", "state_mutability": 4, @@ -3577,7 +3601,7 @@ } }, { - "id": 3909, + "id": 3911, "node_type": 44, "src": { "line": 1212, @@ -3585,12 +3609,12 @@ "start": 44071, "end": 44082, "length": 12, - "parent_index": 3906 + "parent_index": 3908 }, - "scope": 3905, + "scope": 3907, "name": "user", "type_name": { - "id": 3910, + "id": 3912, "node_type": 30, "src": { "line": 1212, @@ -3598,7 +3622,7 @@ "start": 44071, "end": 44077, "length": 7, - "parent_index": 3909 + "parent_index": 3911 }, "name": "address", "state_mutability": 4, @@ -3617,7 +3641,7 @@ } }, { - "id": 3911, + "id": 3913, "node_type": 44, "src": { "line": 1213, @@ -3625,12 +3649,12 @@ "start": 44093, "end": 44106, "length": 14, - "parent_index": 3906 + "parent_index": 3908 }, - "scope": 3905, + "scope": 3907, "name": "amount", "type_name": { - "id": 3912, + "id": 3914, "node_type": 30, "src": { "line": 1213, @@ -3638,7 +3662,7 @@ "start": 44093, "end": 44099, "length": 7, - "parent_index": 3911 + "parent_index": 3913 }, "name": "uint256", "referenced_declaration": 0, @@ -3656,7 +3680,7 @@ } }, { - "id": 3913, + "id": 3915, "node_type": 44, "src": { "line": 1214, @@ -3664,12 +3688,12 @@ "start": 44117, "end": 44132, "length": 16, - "parent_index": 3906 + "parent_index": 3908 }, - "scope": 3905, + "scope": 3907, "name": "lockDate", "type_name": { - "id": 3914, + "id": 3916, "node_type": 30, "src": { "line": 1214, @@ -3677,7 +3701,7 @@ "start": 44117, "end": 44123, "length": 7, - "parent_index": 3913 + "parent_index": 3915 }, "name": "uint256", "referenced_declaration": 0, @@ -3695,7 +3719,7 @@ } }, { - "id": 3915, + "id": 3917, "node_type": 44, "src": { "line": 1215, @@ -3703,12 +3727,12 @@ "start": 44143, "end": 44160, "length": 18, - "parent_index": 3906 + "parent_index": 3908 }, - "scope": 3905, + "scope": 3907, "name": "unlockDate", "type_name": { - "id": 3916, + "id": 3918, "node_type": 30, "src": { "line": 1215, @@ -3716,7 +3740,7 @@ "start": 44143, "end": 44149, "length": 7, - "parent_index": 3915 + "parent_index": 3917 }, "name": "uint256", "referenced_declaration": 0, @@ -3734,7 +3758,7 @@ } }, { - "id": 3917, + "id": 3919, "node_type": 44, "src": { "line": 1216, @@ -3742,12 +3766,12 @@ "start": 44171, "end": 44184, "length": 14, - "parent_index": 3906 + "parent_index": 3908 }, - "scope": 3905, + "scope": 3907, "name": "lockID", "type_name": { - "id": 3918, + "id": 3920, "node_type": 30, "src": { "line": 1216, @@ -3755,7 +3779,7 @@ "start": 44171, "end": 44177, "length": 7, - "parent_index": 3917 + "parent_index": 3919 }, "name": "uint256", "referenced_declaration": 0, @@ -3803,12 +3827,12 @@ "name": "onDeposit", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_onDeposit_\u00263905", + "type_identifier": "t_event\u0026_Global_onDeposit_\u00263907", "type_string": "event Global.onDeposit" } }, { - "id": 3919, + "id": 3921, "node_type": 57, "src": { "line": 1218, @@ -3818,7 +3842,7 @@ "length": 50 }, "parameters": { - "id": 3920, + "id": 3922, "node_type": 43, "src": { "line": 1218, @@ -3826,11 +3850,11 @@ "start": 44197, "end": 44246, "length": 50, - "parent_index": 3919 + "parent_index": 3921 }, "parameters": [ { - "id": 3921, + "id": 3923, "node_type": 44, "src": { "line": 1218, @@ -3838,12 +3862,12 @@ "start": 44214, "end": 44228, "length": 15, - "parent_index": 3920 + "parent_index": 3922 }, - "scope": 3919, + "scope": 3921, "name": "lpToken", "type_name": { - "id": 3922, + "id": 3924, "node_type": 30, "src": { "line": 1218, @@ -3851,7 +3875,7 @@ "start": 44214, "end": 44220, "length": 7, - "parent_index": 3921 + "parent_index": 3923 }, "name": "address", "state_mutability": 4, @@ -3870,7 +3894,7 @@ } }, { - "id": 3923, + "id": 3925, "node_type": 44, "src": { "line": 1218, @@ -3878,12 +3902,12 @@ "start": 44231, "end": 44244, "length": 14, - "parent_index": 3920 + "parent_index": 3922 }, - "scope": 3919, + "scope": 3921, "name": "amount", "type_name": { - "id": 3924, + "id": 3926, "node_type": 30, "src": { "line": 1218, @@ -3891,7 +3915,7 @@ "start": 44231, "end": 44237, "length": 7, - "parent_index": 3923 + "parent_index": 3925 }, "name": "uint256", "referenced_declaration": 0, @@ -3923,12 +3947,12 @@ "name": "onWithdraw", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_onWithdraw_\u00263919", + "type_identifier": "t_event\u0026_Global_onWithdraw_\u00263921", "type_string": "event Global.onWithdraw" } }, { - "id": 3925, + "id": 3927, "name": "lpair", "is_constant": true, "is_state_variable": true, @@ -3949,7 +3973,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3926, + "id": 3928, "node_type": 69, "src": { "line": 1324, @@ -3957,10 +3981,10 @@ "start": 48140, "end": 48153, "length": 14, - "parent_index": 3925 + "parent_index": 3927 }, "path_node": { - "id": 3927, + "id": 3929, "name": "IUniswapV2Pair", "node_type": 52, "referenced_declaration": 1853, @@ -3970,7 +3994,7 @@ "start": 48140, "end": 48153, "length": 14, - "parent_index": 3926 + "parent_index": 3928 }, "name_location": { "line": 1324, @@ -3978,7 +4002,7 @@ "start": 48140, "end": 48153, "length": 14, - "parent_index": 3926 + "parent_index": 3928 } }, "referenced_declaration": 1853, @@ -3990,7 +4014,7 @@ "initial_value": null }, { - "id": 3928, + "id": 3930, "name": "factoryPairAddress", "is_constant": true, "is_state_variable": true, @@ -4011,7 +4035,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3929, + "id": 3931, "node_type": 30, "src": { "line": 1325, @@ -4019,7 +4043,7 @@ "start": 48206, "end": 48212, "length": 7, - "parent_index": 3928 + "parent_index": 3930 }, "name": "address", "state_mutability": 4, @@ -4032,7 +4056,7 @@ "initial_value": null }, { - "id": 3930, + "id": 3932, "name": "ethFee", "is_constant": true, "is_state_variable": true, @@ -4053,7 +4077,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3931, + "id": 3933, "node_type": 30, "src": { "line": 1351, @@ -4061,7 +4085,7 @@ "start": 48983, "end": 48989, "length": 7, - "parent_index": 3930 + "parent_index": 3932 }, "name": "uint256", "referenced_declaration": 0, @@ -4073,7 +4097,7 @@ "initial_value": null }, { - "id": 3932, + "id": 3934, "name": "devFee", "is_constant": true, "is_state_variable": true, @@ -4094,7 +4118,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3933, + "id": 3935, "node_type": 30, "src": { "line": 1358, @@ -4102,7 +4126,7 @@ "start": 49286, "end": 49292, "length": 7, - "parent_index": 3932 + "parent_index": 3934 }, "name": "uint256", "referenced_declaration": 0, @@ -4114,7 +4138,7 @@ "initial_value": null }, { - "id": 3934, + "id": 3936, "name": "referralFee", "is_constant": true, "is_state_variable": true, @@ -4135,7 +4159,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3935, + "id": 3937, "node_type": 30, "src": { "line": 1361, @@ -4143,7 +4167,7 @@ "start": 49429, "end": 49435, "length": 7, - "parent_index": 3934 + "parent_index": 3936 }, "name": "uint256", "referenced_declaration": 0, @@ -4155,7 +4179,7 @@ "initial_value": null }, { - "id": 3936, + "id": 3938, "name": "burnFee", "is_constant": true, "is_state_variable": true, @@ -4176,7 +4200,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3937, + "id": 3939, "node_type": 30, "src": { "line": 1369, @@ -4184,7 +4208,7 @@ "start": 49764, "end": 49770, "length": 7, - "parent_index": 3936 + "parent_index": 3938 }, "name": "uint256", "referenced_declaration": 0, @@ -4196,7 +4220,7 @@ "initial_value": null }, { - "id": 3938, + "id": 3940, "name": "referralFee", "is_constant": true, "is_state_variable": true, @@ -4217,7 +4241,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3939, + "id": 3941, "node_type": 30, "src": { "line": 1382, @@ -4225,7 +4249,7 @@ "start": 50335, "end": 50341, "length": 7, - "parent_index": 3938 + "parent_index": 3940 }, "name": "uint256", "referenced_declaration": 0, @@ -4237,7 +4261,7 @@ "initial_value": null }, { - "id": 3940, + "id": 3942, "name": "liquidityFee", "is_constant": true, "is_state_variable": true, @@ -4258,7 +4282,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3941, + "id": 3943, "node_type": 30, "src": { "line": 1398, @@ -4266,7 +4290,7 @@ "start": 50939, "end": 50945, "length": 7, - "parent_index": 3940 + "parent_index": 3942 }, "name": "uint256", "referenced_declaration": 0, @@ -4278,7 +4302,7 @@ "initial_value": null }, { - "id": 3942, + "id": 3944, "name": "amountLocked", "is_constant": true, "is_state_variable": true, @@ -4299,7 +4323,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3943, + "id": 3945, "node_type": 30, "src": { "line": 1406, @@ -4307,7 +4331,7 @@ "start": 51343, "end": 51349, "length": 7, - "parent_index": 3942 + "parent_index": 3944 }, "name": "uint256", "referenced_declaration": 0, @@ -4319,7 +4343,7 @@ "initial_value": null }, { - "id": 3944, + "id": 3946, "name": "token_lock", "is_constant": true, "is_state_variable": true, @@ -4333,14 +4357,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3945, + "id": 3947, "node_type": 69, "src": { "line": 1408, @@ -4348,20 +4372,20 @@ "start": 51401, "end": 51409, "length": 9, - "parent_index": 3944 + "parent_index": 3946 }, "path_node": { - "id": 3946, + "id": 3948, "name": "TokenLock", "node_type": 52, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "src": { "line": 1408, "column": 8, "start": 51401, "end": 51409, "length": 9, - "parent_index": 3945 + "parent_index": 3947 }, "name_location": { "line": 1408, @@ -4369,19 +4393,19 @@ "start": 51401, "end": 51409, "length": 9, - "parent_index": 3945 + "parent_index": 3947 } }, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" } }, "initial_value": null }, { - "id": 3947, + "id": 3949, "name": "user", "is_constant": true, "is_state_variable": true, @@ -4395,14 +4419,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3948, + "id": 3950, "node_type": 69, "src": { "line": 1421, @@ -4410,20 +4434,20 @@ "start": 51889, "end": 51896, "length": 8, - "parent_index": 3947 + "parent_index": 3949 }, "path_node": { - "id": 3949, + "id": 3951, "name": "UserInfo", "node_type": 52, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "src": { "line": 1421, "column": 8, "start": 51889, "end": 51896, "length": 8, - "parent_index": 3948 + "parent_index": 3950 }, "name_location": { "line": 1421, @@ -4431,19 +4455,19 @@ "start": 51889, "end": 51896, "length": 8, - "parent_index": 3948 + "parent_index": 3950 } }, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" } }, "initial_value": null }, { - "id": 3950, + "id": 3952, "name": "user_locks", "is_constant": true, "is_state_variable": true, @@ -4464,7 +4488,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3951, + "id": 3953, "node_type": 16, "src": { "line": 1423, @@ -4472,7 +4496,7 @@ "start": 51982, "end": 51988, "length": 7, - "parent_index": 3950 + "parent_index": 3952 }, "name": "uint256", "referenced_declaration": 0, @@ -4484,7 +4508,7 @@ "initial_value": null }, { - "id": 3952, + "id": 3954, "name": "lockID", "is_constant": true, "is_state_variable": true, @@ -4505,7 +4529,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3953, + "id": 3955, "node_type": 30, "src": { "line": 1451, @@ -4513,7 +4537,7 @@ "start": 52901, "end": 52907, "length": 7, - "parent_index": 3952 + "parent_index": 3954 }, "name": "uint256", "referenced_declaration": 0, @@ -4525,7 +4549,7 @@ "initial_value": null }, { - "id": 3954, + "id": 3956, "name": "userLock", "is_constant": true, "is_state_variable": true, @@ -4539,14 +4563,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3955, + "id": 3957, "node_type": 69, "src": { "line": 1452, @@ -4554,20 +4578,20 @@ "start": 52977, "end": 52985, "length": 9, - "parent_index": 3954 + "parent_index": 3956 }, "path_node": { - "id": 3956, + "id": 3958, "name": "TokenLock", "node_type": 52, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "src": { "line": 1452, "column": 8, "start": 52977, "end": 52985, "length": 9, - "parent_index": 3955 + "parent_index": 3957 }, "name_location": { "line": 1452, @@ -4575,19 +4599,19 @@ "start": 52977, "end": 52985, "length": 9, - "parent_index": 3955 + "parent_index": 3957 } }, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" } }, "initial_value": null }, { - "id": 3957, + "id": 3959, "name": "liquidityFee", "is_constant": true, "is_state_variable": true, @@ -4608,7 +4632,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3958, + "id": 3960, "node_type": 30, "src": { "line": 1459, @@ -4616,7 +4640,7 @@ "start": 53270, "end": 53276, "length": 7, - "parent_index": 3957 + "parent_index": 3959 }, "name": "uint256", "referenced_declaration": 0, @@ -4628,7 +4652,7 @@ "initial_value": null }, { - "id": 3959, + "id": 3961, "name": "amountLocked", "is_constant": true, "is_state_variable": true, @@ -4649,7 +4673,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3960, + "id": 3962, "node_type": 30, "src": { "line": 1461, @@ -4657,7 +4681,7 @@ "start": 53364, "end": 53370, "length": 7, - "parent_index": 3959 + "parent_index": 3961 }, "name": "uint256", "referenced_declaration": 0, @@ -4669,7 +4693,7 @@ "initial_value": null }, { - "id": 3961, + "id": 3963, "name": "lockID", "is_constant": true, "is_state_variable": true, @@ -4690,7 +4714,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3962, + "id": 3964, "node_type": 30, "src": { "line": 1485, @@ -4698,7 +4722,7 @@ "start": 54137, "end": 54143, "length": 7, - "parent_index": 3961 + "parent_index": 3963 }, "name": "uint256", "referenced_declaration": 0, @@ -4710,7 +4734,7 @@ "initial_value": null }, { - "id": 3963, + "id": 3965, "name": "userLock", "is_constant": true, "is_state_variable": true, @@ -4724,14 +4748,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3964, + "id": 3966, "node_type": 69, "src": { "line": 1486, @@ -4739,20 +4763,20 @@ "start": 54213, "end": 54221, "length": 9, - "parent_index": 3963 + "parent_index": 3965 }, "path_node": { - "id": 3965, + "id": 3967, "name": "TokenLock", "node_type": 52, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "src": { "line": 1486, "column": 8, "start": 54213, "end": 54221, "length": 9, - "parent_index": 3964 + "parent_index": 3966 }, "name_location": { "line": 1486, @@ -4760,19 +4784,19 @@ "start": 54213, "end": 54221, "length": 9, - "parent_index": 3964 + "parent_index": 3966 } }, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" } }, "initial_value": null }, { - "id": 3966, + "id": 3968, "name": "userLocks", "is_constant": true, "is_state_variable": true, @@ -4793,7 +4817,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3967, + "id": 3969, "node_type": 16, "src": { "line": 1496, @@ -4801,7 +4825,7 @@ "start": 54628, "end": 54634, "length": 7, - "parent_index": 3966 + "parent_index": 3968 }, "name": "uint256", "referenced_declaration": 0, @@ -4813,7 +4837,7 @@ "initial_value": null }, { - "id": 3968, + "id": 3970, "name": "lockID", "is_constant": true, "is_state_variable": true, @@ -4834,7 +4858,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3969, + "id": 3971, "node_type": 30, "src": { "line": 1523, @@ -4842,7 +4866,7 @@ "start": 55540, "end": 55546, "length": 7, - "parent_index": 3968 + "parent_index": 3970 }, "name": "uint256", "referenced_declaration": 0, @@ -4854,7 +4878,7 @@ "initial_value": null }, { - "id": 3970, + "id": 3972, "name": "userLock", "is_constant": true, "is_state_variable": true, @@ -4868,14 +4892,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3971, + "id": 3973, "node_type": 69, "src": { "line": 1524, @@ -4883,20 +4907,20 @@ "start": 55616, "end": 55624, "length": 9, - "parent_index": 3970 + "parent_index": 3972 }, "path_node": { - "id": 3972, + "id": 3974, "name": "TokenLock", "node_type": 52, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "src": { "line": 1524, "column": 8, "start": 55616, "end": 55624, "length": 9, - "parent_index": 3971 + "parent_index": 3973 }, "name_location": { "line": 1524, @@ -4904,19 +4928,19 @@ "start": 55616, "end": 55624, "length": 9, - "parent_index": 3971 + "parent_index": 3973 } }, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" } }, "initial_value": null }, { - "id": 3973, + "id": 3975, "name": "liquidityFee", "is_constant": true, "is_state_variable": true, @@ -4937,7 +4961,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3974, + "id": 3976, "node_type": 30, "src": { "line": 1537, @@ -4945,7 +4969,7 @@ "start": 56015, "end": 56021, "length": 7, - "parent_index": 3973 + "parent_index": 3975 }, "name": "uint256", "referenced_declaration": 0, @@ -4957,7 +4981,7 @@ "initial_value": null }, { - "id": 3975, + "id": 3977, "name": "amountLocked", "is_constant": true, "is_state_variable": true, @@ -4978,7 +5002,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3976, + "id": 3978, "node_type": 30, "src": { "line": 1539, @@ -4986,7 +5010,7 @@ "start": 56151, "end": 56157, "length": 7, - "parent_index": 3975 + "parent_index": 3977 }, "name": "uint256", "referenced_declaration": 0, @@ -4998,7 +5022,7 @@ "initial_value": null }, { - "id": 3977, + "id": 3979, "name": "lockID", "is_constant": true, "is_state_variable": true, @@ -5019,7 +5043,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3978, + "id": 3980, "node_type": 30, "src": { "line": 1567, @@ -5027,7 +5051,7 @@ "start": 56942, "end": 56948, "length": 7, - "parent_index": 3977 + "parent_index": 3979 }, "name": "uint256", "referenced_declaration": 0, @@ -5039,7 +5063,7 @@ "initial_value": null }, { - "id": 3979, + "id": 3981, "name": "userLock", "is_constant": true, "is_state_variable": true, @@ -5053,14 +5077,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3980, + "id": 3982, "node_type": 69, "src": { "line": 1568, @@ -5068,20 +5092,20 @@ "start": 57018, "end": 57026, "length": 9, - "parent_index": 3979 + "parent_index": 3981 }, "path_node": { - "id": 3981, + "id": 3983, "name": "TokenLock", "node_type": 52, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "src": { "line": 1568, "column": 8, "start": 57018, "end": 57026, "length": 9, - "parent_index": 3980 + "parent_index": 3982 }, "name_location": { "line": 1568, @@ -5089,19 +5113,19 @@ "start": 57018, "end": 57026, "length": 9, - "parent_index": 3980 + "parent_index": 3982 } }, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" } }, "initial_value": null }, { - "id": 3982, + "id": 3984, "name": "token_lock", "is_constant": true, "is_state_variable": true, @@ -5115,14 +5139,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3983, + "id": 3985, "node_type": 69, "src": { "line": 1579, @@ -5130,20 +5154,20 @@ "start": 57398, "end": 57406, "length": 9, - "parent_index": 3982 + "parent_index": 3984 }, "path_node": { - "id": 3984, + "id": 3986, "name": "TokenLock", "node_type": 52, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "src": { "line": 1579, "column": 8, "start": 57398, "end": 57406, "length": 9, - "parent_index": 3983 + "parent_index": 3985 }, "name_location": { "line": 1579, @@ -5151,19 +5175,19 @@ "start": 57398, "end": 57406, "length": 9, - "parent_index": 3983 + "parent_index": 3985 } }, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" } }, "initial_value": null }, { - "id": 3985, + "id": 3987, "name": "user", "is_constant": true, "is_state_variable": true, @@ -5177,14 +5201,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3986, + "id": 3988, "node_type": 69, "src": { "line": 1591, @@ -5192,20 +5216,20 @@ "start": 57848, "end": 57855, "length": 8, - "parent_index": 3985 + "parent_index": 3987 }, "path_node": { - "id": 3987, + "id": 3989, "name": "UserInfo", "node_type": 52, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "src": { "line": 1591, "column": 8, "start": 57848, "end": 57855, "length": 8, - "parent_index": 3986 + "parent_index": 3988 }, "name_location": { "line": 1591, @@ -5213,19 +5237,19 @@ "start": 57848, "end": 57855, "length": 8, - "parent_index": 3986 + "parent_index": 3988 } }, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" } }, "initial_value": null }, { - "id": 3988, + "id": 3990, "name": "user_locks", "is_constant": true, "is_state_variable": true, @@ -5246,7 +5270,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3989, + "id": 3991, "node_type": 16, "src": { "line": 1592, @@ -5254,7 +5278,7 @@ "start": 57899, "end": 57905, "length": 7, - "parent_index": 3988 + "parent_index": 3990 }, "name": "uint256", "referenced_declaration": 0, @@ -5266,7 +5290,7 @@ "initial_value": null }, { - "id": 3990, + "id": 3992, "name": "lockID", "is_constant": true, "is_state_variable": true, @@ -5287,7 +5311,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3991, + "id": 3993, "node_type": 30, "src": { "line": 1611, @@ -5295,7 +5319,7 @@ "start": 58476, "end": 58482, "length": 7, - "parent_index": 3990 + "parent_index": 3992 }, "name": "uint256", "referenced_declaration": 0, @@ -5307,7 +5331,7 @@ "initial_value": null }, { - "id": 3992, + "id": 3994, "name": "transferredLock", "is_constant": true, "is_state_variable": true, @@ -5321,14 +5345,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3993, + "id": 3995, "node_type": 69, "src": { "line": 1612, @@ -5336,20 +5360,20 @@ "start": 58552, "end": 58560, "length": 9, - "parent_index": 3992 + "parent_index": 3994 }, "path_node": { - "id": 3994, + "id": 3996, "name": "TokenLock", "node_type": 52, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "src": { "line": 1612, "column": 8, "start": 58552, "end": 58560, "length": 9, - "parent_index": 3993 + "parent_index": 3995 }, "name_location": { "line": 1612, @@ -5357,19 +5381,19 @@ "start": 58552, "end": 58560, "length": 9, - "parent_index": 3993 + "parent_index": 3995 } }, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" } }, "initial_value": null }, { - "id": 3995, + "id": 3997, "name": "user", "is_constant": true, "is_state_variable": true, @@ -5383,14 +5407,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 3996, + "id": 3998, "node_type": 69, "src": { "line": 1619, @@ -5398,20 +5422,20 @@ "start": 58834, "end": 58841, "length": 8, - "parent_index": 3995 + "parent_index": 3997 }, "path_node": { - "id": 3997, + "id": 3999, "name": "UserInfo", "node_type": 52, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "src": { "line": 1619, "column": 8, "start": 58834, "end": 58841, "length": 8, - "parent_index": 3996 + "parent_index": 3998 }, "name_location": { "line": 1619, @@ -5419,19 +5443,19 @@ "start": 58834, "end": 58841, "length": 8, - "parent_index": 3996 + "parent_index": 3998 } }, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" } }, "initial_value": null }, { - "id": 3998, + "id": 4000, "name": "user_locks", "is_constant": true, "is_state_variable": true, @@ -5452,7 +5476,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 3999, + "id": 4001, "node_type": 16, "src": { "line": 1621, @@ -5460,7 +5484,7 @@ "start": 58925, "end": 58931, "length": 7, - "parent_index": 3998 + "parent_index": 4000 }, "name": "uint256", "referenced_declaration": 0, @@ -5472,7 +5496,7 @@ "initial_value": null }, { - "id": 4000, + "id": 4002, "name": "userLocks", "is_constant": true, "is_state_variable": true, @@ -5493,7 +5517,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4001, + "id": 4003, "node_type": 16, "src": { "line": 1625, @@ -5501,7 +5525,7 @@ "start": 59090, "end": 59096, "length": 7, - "parent_index": 4000 + "parent_index": 4002 }, "name": "uint256", "referenced_declaration": 0, @@ -5513,7 +5537,7 @@ "initial_value": null }, { - "id": 4002, + "id": 4004, "name": "lockID", "is_constant": true, "is_state_variable": true, @@ -5534,7 +5558,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4003, + "id": 4005, "node_type": 30, "src": { "line": 1649, @@ -5542,7 +5566,7 @@ "start": 59858, "end": 59864, "length": 7, - "parent_index": 4002 + "parent_index": 4004 }, "name": "uint256", "referenced_declaration": 0, @@ -5554,7 +5578,7 @@ "initial_value": null }, { - "id": 4004, + "id": 4006, "name": "userLock", "is_constant": true, "is_state_variable": true, @@ -5568,14 +5592,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4005, + "id": 4007, "node_type": 69, "src": { "line": 1650, @@ -5583,20 +5607,20 @@ "start": 59934, "end": 59942, "length": 9, - "parent_index": 4004 + "parent_index": 4006 }, "path_node": { - "id": 4006, + "id": 4008, "name": "TokenLock", "node_type": 52, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "src": { "line": 1650, "column": 8, "start": 59934, "end": 59942, "length": 9, - "parent_index": 4005 + "parent_index": 4007 }, "name_location": { "line": 1650, @@ -5604,19 +5628,19 @@ "start": 59934, "end": 59942, "length": 9, - "parent_index": 4005 + "parent_index": 4007 } }, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" } }, "initial_value": null }, { - "id": 4007, + "id": 4009, "name": "userLocks", "is_constant": true, "is_state_variable": true, @@ -5637,7 +5661,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4008, + "id": 4010, "node_type": 16, "src": { "line": 1659, @@ -5645,7 +5669,7 @@ "start": 60282, "end": 60288, "length": 7, - "parent_index": 4007 + "parent_index": 4009 }, "name": "uint256", "referenced_declaration": 0, @@ -5657,7 +5681,7 @@ "initial_value": null }, { - "id": 4009, + "id": 4011, "name": "user", "is_constant": true, "is_state_variable": true, @@ -5671,14 +5695,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4010, + "id": 4012, "node_type": 69, "src": { "line": 1695, @@ -5686,20 +5710,20 @@ "start": 61321, "end": 61328, "length": 8, - "parent_index": 4009 + "parent_index": 4011 }, "path_node": { - "id": 4011, + "id": 4013, "name": "UserInfo", "node_type": 52, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "src": { "line": 1695, "column": 8, "start": 61321, "end": 61328, "length": 8, - "parent_index": 4010 + "parent_index": 4012 }, "name_location": { "line": 1695, @@ -5707,19 +5731,19 @@ "start": 61321, "end": 61328, "length": 8, - "parent_index": 4010 + "parent_index": 4012 } }, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" } }, "initial_value": null }, { - "id": 4012, + "id": 4014, "name": "user", "is_constant": true, "is_state_variable": true, @@ -5733,14 +5757,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4013, + "id": 4015, "node_type": 69, "src": { "line": 1703, @@ -5748,20 +5772,20 @@ "start": 61543, "end": 61550, "length": 8, - "parent_index": 4012 + "parent_index": 4014 }, "path_node": { - "id": 4014, + "id": 4016, "name": "UserInfo", "node_type": 52, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "src": { "line": 1703, "column": 8, "start": 61543, "end": 61550, "length": 8, - "parent_index": 4013 + "parent_index": 4015 }, "name_location": { "line": 1703, @@ -5769,19 +5793,19 @@ "start": 61543, "end": 61550, "length": 8, - "parent_index": 4013 + "parent_index": 4015 } }, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" } }, "initial_value": null }, { - "id": 4015, + "id": 4017, "name": "user", "is_constant": true, "is_state_variable": true, @@ -5795,14 +5819,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4016, + "id": 4018, "node_type": 69, "src": { "line": 1711, @@ -5810,20 +5834,20 @@ "start": 61767, "end": 61774, "length": 8, - "parent_index": 4015 + "parent_index": 4017 }, "path_node": { - "id": 4017, + "id": 4019, "name": "UserInfo", "node_type": 52, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "src": { "line": 1711, "column": 8, "start": 61767, "end": 61774, "length": 8, - "parent_index": 4016 + "parent_index": 4018 }, "name_location": { "line": 1711, @@ -5831,19 +5855,19 @@ "start": 61767, "end": 61774, "length": 8, - "parent_index": 4016 + "parent_index": 4018 } }, - "referenced_declaration": 3841, + "referenced_declaration": 3842, "type_description": { - "type_identifier": "t_struct$_Global_UserInfo_$3841", + "type_identifier": "t_struct$_Global_UserInfo_$3842", "type_string": "struct Global.UserInfo" } }, "initial_value": null }, { - "id": 4018, + "id": 4020, "name": "lockID", "is_constant": true, "is_state_variable": true, @@ -5864,7 +5888,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4019, + "id": 4021, "node_type": 30, "src": { "line": 1724, @@ -5872,7 +5896,7 @@ "start": 62098, "end": 62104, "length": 7, - "parent_index": 4018 + "parent_index": 4020 }, "name": "uint256", "referenced_declaration": 0, @@ -5884,7 +5908,7 @@ "initial_value": null }, { - "id": 4020, + "id": 4022, "name": "tokenLock", "is_constant": true, "is_state_variable": true, @@ -5898,14 +5922,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4021, + "id": 4023, "node_type": 69, "src": { "line": 1725, @@ -5913,20 +5937,20 @@ "start": 62169, "end": 62177, "length": 9, - "parent_index": 4020 + "parent_index": 4022 }, "path_node": { - "id": 4022, + "id": 4024, "name": "TokenLock", "node_type": 52, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "src": { "line": 1725, "column": 8, "start": 62169, "end": 62177, "length": 9, - "parent_index": 4021 + "parent_index": 4023 }, "name_location": { "line": 1725, @@ -5934,19 +5958,19 @@ "start": 62169, "end": 62177, "length": 9, - "parent_index": 4021 + "parent_index": 4023 } }, - "referenced_declaration": 3849, + "referenced_declaration": 3850, "type_description": { - "type_identifier": "t_struct$_Global_TokenLock_$3849", + "type_identifier": "t_struct$_Global_TokenLock_$3850", "type_string": "struct Global.TokenLock" } }, "initial_value": null }, { - "id": 4023, + "id": 4025, "node_type": 57, "src": { "line": 1757, @@ -5956,7 +5980,7 @@ "length": 53 }, "parameters": { - "id": 4024, + "id": 4026, "node_type": 43, "src": { "line": 1757, @@ -5964,11 +5988,11 @@ "start": 63049, "end": 63101, "length": 53, - "parent_index": 4023 + "parent_index": 4025 }, "parameters": [ { - "id": 4025, + "id": 4027, "node_type": 44, "src": { "line": 1757, @@ -5976,12 +6000,12 @@ "start": 63070, "end": 63099, "length": 30, - "parent_index": 4024 + "parent_index": 4026 }, - "scope": 4023, + "scope": 4025, "name": "_contributionWithdrawn", "type_name": { - "id": 4026, + "id": 4028, "node_type": 30, "src": { "line": 1757, @@ -5989,7 +6013,7 @@ "start": 63070, "end": 63076, "length": 7, - "parent_index": 4025 + "parent_index": 4027 }, "name": "uint256", "referenced_declaration": 0, @@ -6017,7 +6041,7 @@ "name": "NativeWithdraw", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_NativeWithdraw_\u00264023", + "type_identifier": "t_event\u0026_Global_NativeWithdraw_\u00264025", "type_string": "event Global.NativeWithdraw" } } @@ -6174,14 +6198,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -6318,7 +6344,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 236, @@ -6408,14 +6435,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -6550,7 +6579,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -6941,7 +6971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -6967,7 +6998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -7059,7 +7091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -7084,7 +7117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -7154,7 +7188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 254, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -7291,7 +7326,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 291, @@ -7397,7 +7433,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -7436,7 +7473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -7474,7 +7512,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -7495,7 +7534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7544,7 +7584,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 304, @@ -7639,7 +7680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7685,7 +7727,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7711,7 +7754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -7790,7 +7834,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 317, @@ -7882,7 +7927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 328, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 329, @@ -7923,7 +7969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7969,7 +8016,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8007,7 +8055,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -8028,7 +8077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8072,7 +8122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 336, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -8093,7 +8144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8218,7 +8270,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 338, @@ -8334,7 +8387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 254, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -8378,7 +8432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 254, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 351, @@ -8398,7 +8453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 351, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -8408,7 +8464,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 352, @@ -8440,7 +8497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 344, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 354, @@ -8460,7 +8518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 354, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -8481,7 +8540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -8572,7 +8632,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ @@ -8744,7 +8805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -8807,7 +8869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { @@ -8952,7 +9015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 380, @@ -8972,7 +9036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 362, - "is_pure": false + "is_pure": false, + "text": "_NOT_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -8982,7 +9047,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_NOT_ENTERED;" } ] } @@ -9069,7 +9135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nonReentrantBefore" }, "type_description": { "type_identifier": "t_function_$", @@ -9094,7 +9161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 388, @@ -9128,7 +9196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nonReentrantAfter" }, "type_description": { "type_identifier": "t_function_$", @@ -9228,7 +9297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 399, @@ -9248,7 +9318,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 366, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_bool", @@ -9281,7 +9352,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ReentrancyGuard: reentrant call\"" } ], "expression": { @@ -9302,7 +9374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9350,7 +9423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 404, @@ -9370,7 +9444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 366, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -9380,7 +9455,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_ENTERED;" } ] }, @@ -9424,7 +9500,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_nonReentrantBefore()private{require(_status!=_ENTERED,\"ReentrancyGuard: reentrant call\");_status=_ENTERED;}" }, { "id": 406, @@ -9502,7 +9579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 413, @@ -9522,7 +9600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 362, - "is_pure": false + "is_pure": false, + "text": "_NOT_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -9532,7 +9611,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_NOT_ENTERED;" } ] }, @@ -9576,7 +9656,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_nonReentrantAfter()private{_status=_NOT_ENTERED;}" }, { "id": 415, @@ -9657,7 +9738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 426, @@ -9677,7 +9759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 366, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_bool", @@ -9817,7 +9900,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "function_reentrancyGuardEntered()internalviewreturns(bool){return_status==_ENTERED;}" } ], "linearized_base_contracts": [ @@ -9978,7 +10062,7 @@ "name": "_indexes", "type_name": { "id": 438, - "node_type": 0, + "node_type": 53, "src": { "line": 254, "column": 8, @@ -10161,7 +10245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 457, - "is_pure": false + "is_pure": false, + "text": "set" }, { "id": 458, @@ -10187,7 +10272,8 @@ "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" } - ] + ], + "text": "value" } ], "expression": { @@ -10208,7 +10294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_contains" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_bytes32$", @@ -10271,7 +10358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 464, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -10338,21 +10426,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 463, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.push" }, "type_description": { "type_identifier": "t_function_$_t_bytes32$", @@ -10434,14 +10525,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 470, @@ -10461,7 +10554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 470, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_descriptions": [ { @@ -10542,21 +10636,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.length" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_bytes32]$", @@ -10566,7 +10663,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_bytes32]$", "type_string": "index[struct EnumerableSet.Set:bytes32]" - } + }, + "text": "set._indexes[value]=set._values.length;" }, { "id": 474, @@ -10600,7 +10698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -10796,13 +10895,14 @@ } ] }, - "signature_raw": "_add(, bytes32)", - "signature": "91169624", + "signature_raw": "_add(,bytes32)", + "signature": "0eb78afe", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_bytes32$", "type_string": "function(struct EnumerableSet.Set,bytes32)" - } + }, + "text": "function_add(Setstorageset,bytes32value)privatereturns(bool){if(!_contains(set,value)){set._values.push(value);set._indexes[value]=set._values.length;returntrue;}else{returnfalse;}}" }, { "id": 477, @@ -10951,14 +11051,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 494, @@ -10978,7 +11080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 494, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_descriptions": [ { @@ -11039,7 +11142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 488, - "is_pure": false + "is_pure": false, + "text": "valueIndex" }, "right_expression": { "id": 498, @@ -11061,7 +11165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -11174,7 +11279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 488, - "is_pure": false + "is_pure": false, + "text": "valueIndex" }, "right_expression": { "id": 505, @@ -11196,7 +11302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -11342,21 +11449,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 512, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.length" }, "right_expression": { "id": 513, @@ -11378,7 +11488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", @@ -11429,7 +11540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 506, - "is_pure": false + "is_pure": false, + "text": "lastIndex" }, "right_expression": { "id": 517, @@ -11449,7 +11561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "toDeleteIndex" }, "type_description": { "type_identifier": "t_bool", @@ -11582,14 +11695,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "base_expression": { "id": 525, @@ -11609,7 +11724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 506, - "is_pure": false + "is_pure": false, + "text": "lastIndex" }, "type_descriptions": [ { @@ -11702,14 +11818,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 530, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "base_expression": { "id": 531, @@ -11729,7 +11847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "toDeleteIndex" }, "type_descriptions": [ { @@ -11764,7 +11883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "lastValue" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_uint256]$", @@ -11774,7 +11894,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_uint256]$", "type_string": "index[struct EnumerableSet.Set:uint256]" - } + }, + "text": "set._values[toDeleteIndex]=lastValue;" }, { "id": 533, @@ -11851,14 +11972,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 538, @@ -11878,7 +12001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 519, - "is_pure": false + "is_pure": false, + "text": "lastValue" }, "type_descriptions": [ { @@ -11913,7 +12037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 488, - "is_pure": false + "is_pure": false, + "text": "valueIndex" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_bytes32]$", @@ -11923,7 +12048,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_EnumerableSet_Set_$434]$_t_bytes32]$", "type_string": "index[struct EnumerableSet.Set:bytes32]" - } + }, + "text": "set._indexes[lastValue]=valueIndex;" } ] } @@ -12006,21 +12132,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -12097,14 +12226,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 547, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 548, @@ -12124,7 +12255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 548, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_descriptions": [ { @@ -12178,7 +12310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -12374,13 +12507,14 @@ } ] }, - "signature_raw": "_remove(, bytes32)", - "signature": "bedb339a", + "signature_raw": "_remove(,bytes32)", + "signature": "c133ba09", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_bytes32$", "type_string": "function(struct EnumerableSet.Set,bytes32)" - } + }, + "text": "function_remove(Setstorageset,bytes32value)privatereturns(bool){uint256valueIndex=set._indexes[value];if(valueIndex!=0){uint256toDeleteIndex=valueIndex-1;uint256lastIndex=set._values.length-1;if(lastIndex!=toDeleteIndex){bytes32lastValue=set._values[lastIndex];set._values[toDeleteIndex]=lastValue;set._indexes[lastValue]=valueIndex;}set._values.pop();deleteset._indexes[value];returntrue;}else{returnfalse;}}" }, { "id": 552, @@ -12495,14 +12629,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 567, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_indexes", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._indexes" }, "base_expression": { "id": 568, @@ -12522,7 +12658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 568, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_descriptions": [ { @@ -12559,7 +12696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -12757,13 +12895,14 @@ } ] }, - "signature_raw": "_contains(, bytes32)", - "signature": "8b8fe893", + "signature_raw": "_contains(,bytes32)", + "signature": "a7cd3d5b", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_bytes32$", "type_string": "function(struct EnumerableSet.Set,bytes32)" - } + }, + "text": "function_contains(Setstorageset,bytes32value)privateviewreturns(bool){returnset._indexes[value]!=0;}" }, { "id": 571, @@ -12876,21 +13015,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values.length" } } ] @@ -13046,7 +13188,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$", "type_string": "function(struct EnumerableSet.Set)" - } + }, + "text": "function_length(Setstorageset)privateviewreturns(uint256){returnset._values.length;}" }, { "id": 585, @@ -13147,14 +13290,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 599, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" }, "base_expression": { "id": 600, @@ -13174,7 +13319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 600, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -13382,13 +13528,14 @@ } ] }, - "signature_raw": "_at(, uint256)", - "signature": "9ca0f474", + "signature_raw": "_at(,uint256)", + "signature": "0292ee33", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$_t_uint256$", "type_string": "function(struct EnumerableSet.Set,uint256)" - } + }, + "text": "function_at(Setstorageset,uint256index)privateviewreturns(bytes32){returnset._values[index];}" }, { "id": 602, @@ -13478,14 +13625,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 613, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Set_$434", "type_string": "struct EnumerableSet.Set" - } + }, + "text": "set._values" } } ] @@ -13641,7 +13790,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Set_$434$", "type_string": "function(struct EnumerableSet.Set)" - } + }, + "text": "function_values(Setstorageset)privateviewreturns(bytes32[]memory){returnset._values;}" }, { "id": 615, @@ -13843,14 +13993,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" }, { "id": 636, @@ -13876,7 +14028,8 @@ "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" } - ] + ], + "text": "value" } ], "expression": { @@ -13897,7 +14050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_add" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", @@ -14095,13 +14249,14 @@ } ] }, - "signature_raw": "add(, bytes32)", - "signature": "c5158694", + "signature_raw": "add(,bytes32)", + "signature": "110e4e23", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", "type_string": "function(struct EnumerableSet.Bytes32Set,bytes32)" - } + }, + "text": "functionadd(Bytes32Setstorageset,bytes32value)internalreturns(bool){return_add(set._inner,value);}" }, { "id": 638, @@ -14214,14 +14369,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 653, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" }, { "id": 654, @@ -14247,7 +14404,8 @@ "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" } - ] + ], + "text": "value" } ], "expression": { @@ -14268,7 +14426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_remove" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", @@ -14466,13 +14625,14 @@ } ] }, - "signature_raw": "remove(, bytes32)", - "signature": "de0a80cb", + "signature_raw": "remove(,bytes32)", + "signature": "276c052f", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", "type_string": "function(struct EnumerableSet.Bytes32Set,bytes32)" - } + }, + "text": "functionremove(Bytes32Setstorageset,bytes32value)internalreturns(bool){return_remove(set._inner,value);}" }, { "id": 656, @@ -14585,14 +14745,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 671, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" }, { "id": 672, @@ -14618,7 +14780,8 @@ "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" } - ] + ], + "text": "value" } ], "expression": { @@ -14639,7 +14802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_contains" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", @@ -14837,13 +15001,14 @@ } ] }, - "signature_raw": "contains(, bytes32)", - "signature": "69ed6acb", + "signature_raw": "contains(,bytes32)", + "signature": "7bda12ec", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_bytes32$", "type_string": "function(struct EnumerableSet.Bytes32Set,bytes32)" - } + }, + "text": "functioncontains(Bytes32Setstorageset,bytes32value)internalviewreturns(bool){return_contains(set._inner,value);}" }, { "id": 674, @@ -14952,14 +15117,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 687, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" } ], "expression": { @@ -14980,7 +15147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_length" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$", @@ -15141,7 +15309,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$", "type_string": "function(struct EnumerableSet.Bytes32Set)" - } + }, + "text": "functionlength(Bytes32Setstorageset)internalviewreturns(uint256){return_length(set._inner);}" }, { "id": 689, @@ -15254,14 +15423,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 704, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" }, { "id": 705, @@ -15287,7 +15458,8 @@ "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" } - ] + ], + "text": "index" } ], "expression": { @@ -15308,7 +15480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_at" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_uint256$", @@ -15506,13 +15679,14 @@ } ] }, - "signature_raw": "at(, uint256)", - "signature": "38ffe300", + "signature_raw": "at(,uint256)", + "signature": "702d5637", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$_t_uint256$", "type_string": "function(struct EnumerableSet.Bytes32Set,uint256)" - } + }, + "text": "functionat(Bytes32Setstorageset,uint256index)internalviewreturns(bytes32){return_at(set._inner,index);}" }, { "id": 707, @@ -15669,14 +15843,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 722, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_Bytes32Set_$615", "type_string": "struct EnumerableSet.Bytes32Set" - } + }, + "text": "set._inner" } ], "expression": { @@ -15697,7 +15873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_values" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$", @@ -15878,7 +16055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 723, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -16034,7 +16212,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_Bytes32Set_$615$", "type_string": "function(struct EnumerableSet.Bytes32Set)" - } + }, + "text": "functionvalues(Bytes32Setstorageset)internalviewreturns(bytes32[]memory){bytes32[]memorystore=_values(set._inner);bytes32[]memoryresult;assembly{result:=store}returnresult;}" }, { "id": 735, @@ -16236,14 +16415,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 755, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" }, { "id": 756, @@ -16320,7 +16501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 765, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -16365,7 +16547,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16415,7 +16598,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -16465,7 +16649,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -16491,7 +16676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_add" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_function_$_t_function_$_t_function_$_t_address$", @@ -16690,13 +16876,14 @@ } ] }, - "signature_raw": "add(, address)", - "signature": "ffb40420", + "signature_raw": "add(,address)", + "signature": "ec2ae210", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_address$", "type_string": "function(struct EnumerableSet.AddressSet,address)" - } + }, + "text": "functionadd(AddressSetstorageset,addressvalue)internalreturns(bool){return_add(set._inner,bytes32(uint256(uint160(value))));}" }, { "id": 767, @@ -16809,14 +16996,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 782, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" }, { "id": 783, @@ -16893,7 +17082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -16938,7 +17128,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16988,7 +17179,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -17038,7 +17230,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -17064,7 +17257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_remove" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_function_$_t_function_$_t_function_$_t_address$", @@ -17263,13 +17457,14 @@ } ] }, - "signature_raw": "remove(, address)", - "signature": "469d3b40", + "signature_raw": "remove(,address)", + "signature": "7d109e7a", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_address$", "type_string": "function(struct EnumerableSet.AddressSet,address)" - } + }, + "text": "functionremove(AddressSetstorageset,addressvalue)internalreturns(bool){return_remove(set._inner,bytes32(uint256(uint160(value))));}" }, { "id": 794, @@ -17382,14 +17577,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" }, { "id": 810, @@ -17466,7 +17663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 819, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -17511,7 +17709,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17561,7 +17760,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -17611,7 +17811,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -17637,7 +17838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_contains" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_function_$_t_function_$_t_function_$_t_address$", @@ -17836,13 +18038,14 @@ } ] }, - "signature_raw": "contains(, address)", - "signature": "ca2020f2", + "signature_raw": "contains(,address)", + "signature": "b3a85911", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_address$", "type_string": "function(struct EnumerableSet.AddressSet,address)" - } + }, + "text": "functioncontains(AddressSetstorageset,addressvalue)internalviewreturns(bool){return_contains(set._inner,bytes32(uint256(uint160(value))));}" }, { "id": 821, @@ -17951,14 +18154,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 834, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" } ], "expression": { @@ -17979,7 +18184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_length" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$", @@ -18140,7 +18346,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$", "type_string": "function(struct EnumerableSet.AddressSet)" - } + }, + "text": "functionlength(AddressSetstorageset)internalviewreturns(uint256){return_length(set._inner);}" }, { "id": 836, @@ -18310,14 +18517,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 860, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" }, { "id": 861, @@ -18343,7 +18552,8 @@ "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" } - ] + ], + "text": "index" } ], "expression": { @@ -18364,7 +18574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_at" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", @@ -18414,7 +18625,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", @@ -18464,7 +18676,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", @@ -18515,7 +18728,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", @@ -18714,13 +18928,14 @@ } ] }, - "signature_raw": "at(, uint256)", - "signature": "38ffe300", + "signature_raw": "at(,uint256)", + "signature": "702d5637", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$_t_uint256$", "type_string": "function(struct EnumerableSet.AddressSet,uint256)" - } + }, + "text": "functionat(AddressSetstorageset,uint256index)internalviewreturns(address){returnaddress(uint160(uint256(_at(set._inner,index))));}" }, { "id": 863, @@ -18877,14 +19092,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 878, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_AddressSet_$735", "type_string": "struct EnumerableSet.AddressSet" - } + }, + "text": "set._inner" } ], "expression": { @@ -18905,7 +19122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_values" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$", @@ -19086,7 +19304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 879, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -19242,7 +19461,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_AddressSet_$735$", "type_string": "function(struct EnumerableSet.AddressSet)" - } + }, + "text": "functionvalues(AddressSetstorageset)internalviewreturns(address[]memory){bytes32[]memorystore=_values(set._inner);address[]memoryresult;assembly{result:=store}returnresult;}" }, { "id": 891, @@ -19444,14 +19664,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 911, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" }, { "id": 912, @@ -19490,7 +19712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 915, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -19535,7 +19758,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -19561,7 +19785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_add" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_function_$_t_uint256$", @@ -19759,13 +19984,14 @@ } ] }, - "signature_raw": "add(, uint256)", - "signature": "4f19b716", + "signature_raw": "add(,uint256)", + "signature": "6a890ae0", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", "type_string": "function(struct EnumerableSet.UintSet,uint256)" - } + }, + "text": "functionadd(UintSetstorageset,uint256value)internalreturns(bool){return_add(set._inner,bytes32(value));}" }, { "id": 917, @@ -19878,14 +20104,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" }, { "id": 933, @@ -19924,7 +20152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 936, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -19969,7 +20198,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -19995,7 +20225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_remove" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_function_$_t_uint256$", @@ -20193,13 +20424,14 @@ } ] }, - "signature_raw": "remove(, uint256)", - "signature": "feb231bd", + "signature_raw": "remove(,uint256)", + "signature": "a5ef5e79", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", "type_string": "function(struct EnumerableSet.UintSet,uint256)" - } + }, + "text": "functionremove(UintSetstorageset,uint256value)internalreturns(bool){return_remove(set._inner,bytes32(value));}" }, { "id": 938, @@ -20312,14 +20544,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 953, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" }, { "id": 954, @@ -20358,7 +20592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 957, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -20403,7 +20638,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -20429,7 +20665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_contains" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_function_$_t_uint256$", @@ -20627,13 +20864,14 @@ } ] }, - "signature_raw": "contains(, uint256)", - "signature": "b3de74b3", + "signature_raw": "contains(,uint256)", + "signature": "5a40e739", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", "type_string": "function(struct EnumerableSet.UintSet,uint256)" - } + }, + "text": "functioncontains(UintSetstorageset,uint256value)internalviewreturns(bool){return_contains(set._inner,bytes32(value));}" }, { "id": 959, @@ -20742,14 +20980,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 972, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" } ], "expression": { @@ -20770,7 +21010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_length" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$", @@ -20931,7 +21172,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$", "type_string": "function(struct EnumerableSet.UintSet)" - } + }, + "text": "functionlength(UintSetstorageset)internalviewreturns(uint256){return_length(set._inner);}" }, { "id": 974, @@ -21063,14 +21305,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 992, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" }, { "id": 993, @@ -21096,7 +21340,8 @@ "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" } - ] + ], + "text": "index" } ], "expression": { @@ -21117,7 +21362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_at" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", @@ -21167,7 +21413,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", @@ -21365,13 +21612,14 @@ } ] }, - "signature_raw": "at(, uint256)", - "signature": "38ffe300", + "signature_raw": "at(,uint256)", + "signature": "702d5637", "scope": 432, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$_t_uint256$", "type_string": "function(struct EnumerableSet.UintSet,uint256)" - } + }, + "text": "functionat(UintSetstorageset,uint256index)internalviewreturns(uint256){returnuint256(_at(set._inner,index));}" }, { "id": 995, @@ -21528,14 +21776,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1010, - "is_pure": false + "is_pure": false, + "text": "set" }, "member_name": "_inner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_EnumerableSet_UintSet_$891", "type_string": "struct EnumerableSet.UintSet" - } + }, + "text": "set._inner" } ], "expression": { @@ -21556,7 +21806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_values" }, "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$", @@ -21737,7 +21988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1011, - "is_pure": false + "is_pure": false, + "text": "result" } } ] @@ -21893,7 +22145,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_EnumerableSet_UintSet_$891$", "type_string": "function(struct EnumerableSet.UintSet)" - } + }, + "text": "functionvalues(UintSetstorageset)internalviewreturns(uint256[]memory){bytes32[]memorystore=_values(set._inner);uint256[]memoryresult;assembly{result:=store}returnresult;}" } ], "linearized_base_contracts": [ @@ -22100,21 +22353,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1042, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 1043, @@ -22136,7 +22392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -22277,7 +22534,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 1045, @@ -22411,7 +22669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -22457,7 +22716,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -22469,7 +22729,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1061, @@ -22489,7 +22750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1061, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -22522,7 +22784,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -22543,7 +22806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22647,7 +22911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -22703,14 +22968,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1069, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -22764,7 +23031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1063, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1074, @@ -22792,7 +23060,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -22813,7 +23082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22945,13 +23215,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 1076, @@ -23049,7 +23320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1089, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1090, @@ -23075,7 +23347,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1091, @@ -23107,7 +23380,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 1092, @@ -23143,7 +23417,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -23164,7 +23439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string_literal$", @@ -23342,13 +23618,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,\"Address: low-level call failed\");}" }, { "id": 1094, @@ -23446,7 +23723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1109, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1110, @@ -23472,7 +23750,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1111, @@ -23504,7 +23783,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 1112, @@ -23538,7 +23818,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -23559,7 +23840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -23780,13 +24062,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 1114, @@ -23884,7 +24167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1129, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1130, @@ -23910,7 +24194,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1131, @@ -23940,7 +24225,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 1132, @@ -23976,7 +24262,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -23997,7 +24284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -24218,13 +24506,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 1134, @@ -24358,7 +24647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -24404,7 +24694,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24416,7 +24707,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 1156, @@ -24436,7 +24728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1156, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -24469,7 +24762,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -24490,7 +24784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -24639,7 +24934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1167, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -24695,14 +24991,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1166, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -24776,7 +25074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1171, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1172, @@ -24802,7 +25101,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 1173, @@ -24832,7 +25132,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1174, @@ -24866,7 +25167,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -24887,7 +25189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -25151,13 +25454,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 1176, @@ -25251,7 +25555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1190, @@ -25277,7 +25582,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1191, @@ -25309,7 +25615,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -25330,7 +25637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -25508,13 +25816,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 1193, @@ -25693,7 +26002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1213, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -25737,14 +26047,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1212, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -25813,7 +26125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1217, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1218, @@ -25839,7 +26152,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 1219, @@ -25869,7 +26183,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1220, @@ -25903,7 +26218,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -25924,7 +26240,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -26145,13 +26462,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 1222, @@ -26245,7 +26563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1236, @@ -26271,7 +26590,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1237, @@ -26303,7 +26623,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -26324,7 +26645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -26502,13 +26824,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 1239, @@ -26687,7 +27010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1259, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -26731,14 +27055,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1258, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -26807,7 +27133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1263, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 1264, @@ -26833,7 +27160,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "success" }, { "id": 1265, @@ -26863,7 +27191,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 1266, @@ -26897,7 +27226,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -26918,7 +27248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResultFromTarget" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", @@ -27139,13 +27470,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResultFromTarget(target,success,returndata,errorMessage);}" }, { "id": 1268, @@ -27211,7 +27543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 1284, @@ -27293,14 +27626,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1288, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1289, @@ -27322,7 +27657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -27403,7 +27739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1295, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -27424,7 +27761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27457,7 +27795,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -27478,7 +27817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -27518,7 +27858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1298, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -27780,13 +28121,14 @@ } ] }, - "signature_raw": "verifyCallResultFromTarget(address, bool, bytes, string)", - "signature": "ac377f6d", + "signature_raw": "verifyCallResultFromTarget(address,bool,bytes,string)", + "signature": "1daa78c1", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$_t_bytes$_t_string$", "type_string": "function(address,bool,bytes,string)" - } + }, + "text": "functionverifyCallResultFromTarget(addresstarget,boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){if(success){if(returndata.length==0){require(isContract(target),\"Address: call to non-contract\");}returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 1300, @@ -27852,7 +28194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 1314, @@ -27898,7 +28241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1316, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -28116,13 +28460,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{_revert(returndata,errorMessage);}}" }, { "id": 1318, @@ -28225,14 +28570,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1329, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1330, @@ -28254,7 +28601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -28808,13 +29156,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_revert(bytes, string)", - "signature": "26a4ef1a", + "signature_raw": "_revert(bytes,string)", + "signature": "6cadf5e1", "scope": 1028, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string$", "type_string": "function(bytes,string)" - } + }, + "text": "function_revert(bytesmemoryreturndata,stringmemoryerrorMessage)privatepure{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}" } ], "linearized_base_contracts": [ @@ -29271,13 +29620,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8e100d5", + "signature_raw": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "d505accf", "scope": 1355, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 1376, @@ -29446,7 +29796,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint256);" }, { "id": 1385, @@ -29614,7 +29965,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ @@ -30196,7 +30548,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 1430, @@ -30365,7 +30718,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 1439, @@ -30571,13 +30925,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 1401, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 1450, @@ -30784,13 +31139,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1401, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 1461, @@ -30996,13 +31352,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1401, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 1472, @@ -31252,13 +31609,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1401, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -31465,7 +31823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1512, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1513, @@ -31558,21 +31917,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1518, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 1519, @@ -31598,7 +31960,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 1520, @@ -31628,7 +31991,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -31672,14 +32036,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -31705,7 +32071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -31901,13 +32268,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 1522, @@ -31985,7 +32353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1537, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1538, @@ -32082,21 +32451,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1543, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 1544, @@ -32122,7 +32494,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 1545, @@ -32152,7 +32525,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1546, @@ -32186,7 +32560,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -32230,14 +32605,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -32263,7 +32640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -32503,13 +32881,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 1548, @@ -32629,7 +33008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1564, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1565, @@ -32651,7 +33031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32752,7 +33133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -32798,7 +33180,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -32829,7 +33212,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -32873,14 +33257,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1570, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -32907,7 +33293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32951,7 +33338,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -32972,7 +33360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -33020,7 +33409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1581, @@ -33113,21 +33503,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1586, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1587, @@ -33153,7 +33546,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1588, @@ -33183,7 +33577,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -33227,14 +33622,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -33260,7 +33657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -33456,13 +33854,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 1590, @@ -33619,7 +34018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -33665,7 +34065,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -33696,7 +34097,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -33740,14 +34142,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1606, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -33796,7 +34200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1614, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1615, @@ -33889,21 +34294,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1620, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1621, @@ -33929,7 +34337,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1622, @@ -33963,7 +34372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1601, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1624, @@ -33983,7 +34393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1624, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -34032,14 +34443,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -34065,7 +34478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -34261,13 +34675,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256oldAllowance=token.allowance(address(this),spender);_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,oldAllowance+value));}" }, { "id": 1626, @@ -34438,7 +34853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -34484,7 +34900,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -34515,7 +34932,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -34559,14 +34977,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1643, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -34629,7 +35049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1638, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1653, @@ -34649,7 +35070,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1653, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -34682,7 +35104,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -34703,7 +35126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -34751,7 +35175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1658, @@ -34844,21 +35269,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1664, @@ -34884,7 +35312,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1665, @@ -34918,7 +35347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1638, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1667, @@ -34938,7 +35368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -34987,14 +35418,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -35020,7 +35453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -35218,13 +35652,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,oldAllowance-value));}}" }, { "id": 1669, @@ -35412,21 +35847,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1688, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1689, @@ -35452,7 +35890,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1690, @@ -35482,7 +35921,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -35526,14 +35966,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -35611,7 +36053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1696, @@ -35637,7 +36080,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "approvalCall" } ], "expression": { @@ -35658,7 +36102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturnBool" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -35725,7 +36170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1700, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1701, @@ -35818,21 +36264,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1706, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1707, @@ -35858,7 +36307,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1708, @@ -35890,7 +36340,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -35934,14 +36385,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_rational_0_by_1$", @@ -35967,7 +36420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_rational_0_by_1$", @@ -36015,7 +36469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1711, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1712, @@ -36041,7 +36496,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "approvalCall" } ], "expression": { @@ -36062,7 +36518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -36261,13 +36718,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "forceApprove(, address, uint256)", - "signature": "92f9fd25", + "signature_raw": "forceApprove(,address,uint256)", + "signature": "2e3f9f55", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionforceApprove(IERC20token,addressspender,uint256value)internal{bytesmemoryapprovalCall=abi.encodeWithSelector(token.approve.selector,spender,value);if(!_callOptionalReturnBool(token,approvalCall)){_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,0));_callOptionalReturn(token,approvalCall);}}" }, { "id": 1714, @@ -36401,7 +36859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1741, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -36445,14 +36904,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1740, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$1348", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -36521,7 +36982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1745, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1746, @@ -36547,7 +37009,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 1747, @@ -36577,7 +37040,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { "id": 1748, @@ -36611,7 +37075,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 1749, @@ -36649,7 +37114,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 1750, @@ -36691,7 +37157,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 1751, @@ -36737,7 +37204,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -36781,14 +37249,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1744, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "permit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$1348", "type_string": "contract IERC20Permit" - } + }, + "text": "token.permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -36892,7 +37362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1758, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -36936,14 +37407,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1757, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$1348", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -37006,7 +37479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1752, - "is_pure": false + "is_pure": false, + "text": "nonceAfter" }, "right_expression": { "id": 1763, @@ -37040,7 +37514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1735, - "is_pure": false + "is_pure": false, + "text": "nonceBefore" }, "right_expression": { "id": 1765, @@ -37062,7 +37537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -37100,7 +37576,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: permit did not succeed\"" } ], "expression": { @@ -37121,7 +37598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -37533,13 +38011,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safePermit(, address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8fe8854", + "signature_raw": "safePermit(,address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "1f73058e", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Permit_$1348$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(contract IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionsafePermit(IERC20Permittoken,addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)internal{uint256nonceBefore=token.nonces(owner);token.permit(owner,spender,value,deadline,v,r,s);uint256nonceAfter=token.nonces(owner);require(nonceAfter==nonceBefore+1,\"SafeERC20: permit did not succeed\");}" }, { "id": 1768, @@ -37677,7 +38156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1786, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 1787, @@ -37705,7 +38185,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -37768,7 +38249,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1785, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -37814,7 +38296,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -37826,7 +38309,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -37926,14 +38410,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1777, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1794, @@ -37955,7 +38441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -38003,7 +38490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1777, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1799, @@ -38055,7 +38543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -38105,14 +38594,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -38150,7 +38641,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -38171,7 +38663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -38323,13 +38816,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");require(returndata.length==0||abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}" }, { "id": 1804, @@ -38508,7 +39002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -38571,7 +39066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1825, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -38617,7 +39113,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -38629,7 +39126,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).call" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -38691,7 +39189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1815, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1833, @@ -38776,14 +39275,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1815, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1838, @@ -38805,7 +39306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -38853,7 +39355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1815, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1843, @@ -38905,7 +39408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -38955,14 +39459,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -39048,7 +39554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1852, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -39094,7 +39601,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -39143,14 +39651,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1022, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$1022", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -39360,13 +39870,14 @@ } ] }, - "signature_raw": "_callOptionalReturnBool(, bytes)", - "signature": "a6df5f67", + "signature_raw": "_callOptionalReturnBool(,bytes)", + "signature": "f052f32a", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturnBool(IERC20token,bytesmemorydata)privatereturns(bool){(boolsuccess,bytesmemoryreturndata)=address(token).call(data);returnsuccess\u0026\u0026(returndata.length==0||abi.decode(returndata,(bool)))\u0026\u0026Address.isContract(address(token));}" } ], "linearized_base_contracts": [ @@ -39615,7 +40126,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 1874, @@ -39785,7 +40297,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 1883, @@ -39955,7 +40468,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken1()externalviewreturns(address);" } ], "linearized_base_contracts": [ @@ -40157,7 +40671,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionburn(uint256_amount)external;" }, { "id": 1910, @@ -40363,13 +40878,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1901, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 1921, @@ -40576,13 +41092,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1901, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalreturns(uint256);" }, { "id": 1932, @@ -40751,7 +41268,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" } ], "linearized_base_contracts": [ @@ -41038,13 +41556,14 @@ } ] }, - "signature_raw": "getPair(address, address)", - "signature": "99d437db", + "signature_raw": "getPair(address,address)", + "signature": "e6a43905", "scope": 1950, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetPair(addresstokenA,addresstokenB)externalviewreturns(address);" } ], "linearized_base_contracts": [ @@ -41416,13 +41935,14 @@ } ] }, - "signature_raw": "migrate(address, uint256, uint256, address)", - "signature": "7d594695", + "signature_raw": "migrate(address,uint256,uint256,address)", + "signature": "db5ecd3f", "scope": 1972, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address$", "type_string": "function(address,uint256,uint256,address)" - } + }, + "text": "functionmigrate(addresslpToken,uint256amount,uint256unlockDate,addressowner)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -41915,7 +42435,7 @@ "name": "locksForToken", "type_name": { "id": 2027, - "node_type": 0, + "node_type": 53, "src": { "line": 1174, "column": 8, @@ -42268,7 +42788,7 @@ }, "scope": 1998, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "visibility": 2, @@ -42276,7 +42796,7 @@ "mutability": 1, "type_name": { "id": 2046, - "node_type": 0, + "node_type": 69, "src": { "line": 1186, "column": 4, @@ -42313,7 +42833,7 @@ }, "value_type": { "id": 2048, - "node_type": 30, + "node_type": 69, "src": { "line": 1186, "column": 23, @@ -42323,10 +42843,10 @@ "parent_index": 2046 }, "name": "UserInfo", - "referenced_declaration": 0, + "referenced_declaration": 2022, "type_description": { - "type_identifier": "t_UserInfo", - "type_string": "UserInfo" + "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", + "type_string": "struct KnoxLpLocker.UserInfo" } }, "value_name_location": { @@ -42337,16 +42857,38 @@ "length": 8, "parent_index": 2046 }, - "referenced_declaration": 0, + "path_node": { + "id": 2049, + "name": "UserInfo", + "node_type": 52, + "referenced_declaration": 2022, + "src": { + "line": 1186, + "column": 23, + "start": 43037, + "end": 43044, + "length": 8, + "parent_index": 2046 + }, + "name_location": { + "line": 1186, + "column": 23, + "start": 43037, + "end": 43044, + "length": 8, + "parent_index": 2046 + } + }, + "referenced_declaration": 2022, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" } }, "initial_value": null }, { - "id": 2050, + "id": 2051, "name": "lockedTokens", "is_constant": false, "is_state_variable": true, @@ -42368,7 +42910,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2051, + "id": 2052, "node_type": 69, "src": { "line": 1188, @@ -42376,10 +42918,10 @@ "start": 43067, "end": 43090, "length": 24, - "parent_index": 2050 + "parent_index": 2051 }, "path_node": { - "id": 2052, + "id": 2053, "name": "EnumerableSet", "node_type": 52, "referenced_declaration": 427, @@ -42389,7 +42931,7 @@ "start": 43067, "end": 43090, "length": 24, - "parent_index": 2051 + "parent_index": 2052 }, "name_location": { "line": 1188, @@ -42397,7 +42939,7 @@ "start": 43067, "end": 43079, "length": 13, - "parent_index": 2051 + "parent_index": 2052 } }, "referenced_declaration": 427, @@ -42409,7 +42951,7 @@ "initial_value": null }, { - "id": 2054, + "id": 2055, "name": "tokenLocks", "is_constant": false, "is_state_variable": true, @@ -42431,18 +42973,18 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2055, - "node_type": 0, + "id": 2056, + "node_type": 53, "src": { "line": 1189, "column": 4, "start": 43118, "end": 43148, "length": 31, - "parent_index": 2054 + "parent_index": 2055 }, "key_type": { - "id": 2056, + "id": 2057, "node_type": 30, "src": { "line": 1189, @@ -42450,7 +42992,7 @@ "start": 43126, "end": 43132, "length": 7, - "parent_index": 2055 + "parent_index": 2056 }, "name": "address", "referenced_declaration": 0, @@ -42465,10 +43007,10 @@ "start": 43126, "end": 43132, "length": 7, - "parent_index": 2055 + "parent_index": 2056 }, "value_type": { - "id": 2057, + "id": 2058, "node_type": 30, "src": { "line": 1189, @@ -42476,7 +43018,7 @@ "start": 43137, "end": 43147, "length": 11, - "parent_index": 2055 + "parent_index": 2056 }, "name": "TokenLock[]", "referenced_declaration": 0, @@ -42491,7 +43033,7 @@ "start": 43137, "end": 43147, "length": 11, - "parent_index": 2055 + "parent_index": 2056 }, "referenced_declaration": 0, "type_description": { @@ -42502,7 +43044,7 @@ "initial_value": null }, { - "id": 2059, + "id": 2060, "node_type": 67, "src": { "line": 1191, @@ -42519,16 +43061,16 @@ "start": 43215, "end": 43223, "length": 9, - "parent_index": 2059 + "parent_index": 2060 }, "canonical_name": "KnoxLpLocker.FeeStruct", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "members": [ { - "id": 2060, + "id": 2061, "node_type": 44, "src": { "line": 1192, @@ -42536,12 +43078,12 @@ "start": 43235, "end": 43249, "length": 15, - "parent_index": 2059 + "parent_index": 2060 }, "scope": 1998, "name": "ethFee", "type_name": { - "id": 2061, + "id": 2062, "node_type": 30, "src": { "line": 1192, @@ -42549,7 +43091,7 @@ "start": 43235, "end": 43241, "length": 7, - "parent_index": 2060 + "parent_index": 2061 }, "name": "uint256", "referenced_declaration": 0, @@ -42566,7 +43108,7 @@ } }, { - "id": 2062, + "id": 2063, "node_type": 44, "src": { "line": 1193, @@ -42574,12 +43116,12 @@ "start": 43308, "end": 43334, "length": 27, - "parent_index": 2059 + "parent_index": 2060 }, "scope": 1998, "name": "secondaryFeeToken", "type_name": { - "id": 2063, + "id": 2064, "node_type": 69, "src": { "line": 1193, @@ -42587,10 +43129,10 @@ "start": 43308, "end": 43315, "length": 8, - "parent_index": 2062 + "parent_index": 2063 }, "path_node": { - "id": 2064, + "id": 2065, "name": "IERCBurn", "node_type": 52, "referenced_declaration": 1891, @@ -42600,7 +43142,7 @@ "start": 43308, "end": 43315, "length": 8, - "parent_index": 2063 + "parent_index": 2064 }, "name_location": { "line": 1193, @@ -42608,7 +43150,7 @@ "start": 43308, "end": 43315, "length": 8, - "parent_index": 2063 + "parent_index": 2064 } }, "referenced_declaration": 1891, @@ -42625,7 +43167,7 @@ } }, { - "id": 2065, + "id": 2066, "node_type": 44, "src": { "line": 1194, @@ -42633,12 +43175,12 @@ "start": 43347, "end": 43372, "length": 26, - "parent_index": 2059 + "parent_index": 2060 }, "scope": 1998, "name": "secondaryTokenFee", "type_name": { - "id": 2066, + "id": 2067, "node_type": 30, "src": { "line": 1194, @@ -42646,7 +43188,7 @@ "start": 43347, "end": 43353, "length": 7, - "parent_index": 2065 + "parent_index": 2066 }, "name": "uint256", "referenced_declaration": 0, @@ -42663,7 +43205,7 @@ } }, { - "id": 2067, + "id": 2068, "node_type": 44, "src": { "line": 1195, @@ -42671,12 +43213,12 @@ "start": 43394, "end": 43424, "length": 31, - "parent_index": 2059 + "parent_index": 2060 }, "scope": 1998, "name": "secondaryTokenDiscount", "type_name": { - "id": 2068, + "id": 2069, "node_type": 30, "src": { "line": 1195, @@ -42684,7 +43226,7 @@ "start": 43394, "end": 43400, "length": 7, - "parent_index": 2067 + "parent_index": 2068 }, "name": "uint256", "referenced_declaration": 0, @@ -42701,7 +43243,7 @@ } }, { - "id": 2069, + "id": 2070, "node_type": 44, "src": { "line": 1196, @@ -42709,12 +43251,12 @@ "start": 43490, "end": 43510, "length": 21, - "parent_index": 2059 + "parent_index": 2060 }, "scope": 1998, "name": "liquidityFee", "type_name": { - "id": 2070, + "id": 2071, "node_type": 30, "src": { "line": 1196, @@ -42722,7 +43264,7 @@ "start": 43490, "end": 43496, "length": 7, - "parent_index": 2069 + "parent_index": 2070 }, "name": "uint256", "referenced_declaration": 0, @@ -42739,7 +43281,7 @@ } }, { - "id": 2071, + "id": 2072, "node_type": 44, "src": { "line": 1197, @@ -42747,12 +43289,12 @@ "start": 43553, "end": 43576, "length": 24, - "parent_index": 2059 + "parent_index": 2060 }, "scope": 1998, "name": "referralPercent", "type_name": { - "id": 2072, + "id": 2073, "node_type": 30, "src": { "line": 1197, @@ -42760,7 +43302,7 @@ "start": 43553, "end": 43559, "length": 7, - "parent_index": 2071 + "parent_index": 2072 }, "name": "uint256", "referenced_declaration": 0, @@ -42777,7 +43319,7 @@ } }, { - "id": 2073, + "id": 2074, "node_type": 44, "src": { "line": 1198, @@ -42785,12 +43327,12 @@ "start": 43607, "end": 43629, "length": 23, - "parent_index": 2059 + "parent_index": 2060 }, "scope": 1998, "name": "referralToken", "type_name": { - "id": 2074, + "id": 2075, "node_type": 69, "src": { "line": 1198, @@ -42798,10 +43340,10 @@ "start": 43607, "end": 43614, "length": 8, - "parent_index": 2073 + "parent_index": 2074 }, "path_node": { - "id": 2075, + "id": 2076, "name": "IERCBurn", "node_type": 52, "referenced_declaration": 1891, @@ -42811,7 +43353,7 @@ "start": 43607, "end": 43614, "length": 8, - "parent_index": 2074 + "parent_index": 2075 }, "name_location": { "line": 1198, @@ -42819,7 +43361,7 @@ "start": 43607, "end": 43614, "length": 8, - "parent_index": 2074 + "parent_index": 2075 } }, "referenced_declaration": 1891, @@ -42836,7 +43378,7 @@ } }, { - "id": 2076, + "id": 2077, "node_type": 44, "src": { "line": 1199, @@ -42844,12 +43386,12 @@ "start": 43696, "end": 43716, "length": 21, - "parent_index": 2059 + "parent_index": 2060 }, "scope": 1998, "name": "referralHold", "type_name": { - "id": 2077, + "id": 2078, "node_type": 30, "src": { "line": 1199, @@ -42857,7 +43399,7 @@ "start": 43696, "end": 43702, "length": 7, - "parent_index": 2076 + "parent_index": 2077 }, "name": "uint256", "referenced_declaration": 0, @@ -42874,7 +43416,7 @@ } }, { - "id": 2078, + "id": 2079, "node_type": 44, "src": { "line": 1200, @@ -42882,12 +43424,12 @@ "start": 43785, "end": 43809, "length": 25, - "parent_index": 2059 + "parent_index": 2060 }, "scope": 1998, "name": "referralDiscount", "type_name": { - "id": 2079, + "id": 2080, "node_type": 30, "src": { "line": 1200, @@ -42895,7 +43437,7 @@ "start": 43785, "end": 43791, "length": 7, - "parent_index": 2078 + "parent_index": 2079 }, "name": "uint256", "referenced_declaration": 0, @@ -42916,7 +43458,7 @@ "storage_location": 1 }, { - "id": 2081, + "id": 2082, "name": "gFees", "is_constant": false, "is_state_variable": true, @@ -42931,14 +43473,14 @@ }, "scope": 1998, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 2082, + "id": 2083, "node_type": 69, "src": { "line": 1203, @@ -42946,20 +43488,20 @@ "start": 43886, "end": 43894, "length": 9, - "parent_index": 2081 + "parent_index": 2082 }, "path_node": { - "id": 2083, + "id": 2084, "name": "FeeStruct", "node_type": 52, - "referenced_declaration": 2059, + "referenced_declaration": 2060, "src": { "line": 1203, "column": 4, "start": 43886, "end": 43894, "length": 9, - "parent_index": 2082 + "parent_index": 2083 }, "name_location": { "line": 1203, @@ -42967,19 +43509,19 @@ "start": 43886, "end": 43894, "length": 9, - "parent_index": 2082 + "parent_index": 2083 } }, - "referenced_declaration": 2059, + "referenced_declaration": 2060, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "initial_value": null }, { - "id": 2085, + "id": 2086, "name": "feeWhitelist", "is_constant": false, "is_state_variable": true, @@ -43001,7 +43543,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2086, + "id": 2087, "node_type": 69, "src": { "line": 1204, @@ -43009,10 +43551,10 @@ "start": 43914, "end": 43937, "length": 24, - "parent_index": 2085 + "parent_index": 2086 }, "path_node": { - "id": 2087, + "id": 2088, "name": "EnumerableSet", "node_type": 52, "referenced_declaration": 427, @@ -43022,7 +43564,7 @@ "start": 43914, "end": 43937, "length": 24, - "parent_index": 2086 + "parent_index": 2087 }, "name_location": { "line": 1204, @@ -43030,7 +43572,7 @@ "start": 43914, "end": 43926, "length": 13, - "parent_index": 2086 + "parent_index": 2087 } }, "referenced_declaration": 427, @@ -43042,7 +43584,7 @@ "initial_value": null }, { - "id": 2089, + "id": 2090, "name": "devaddr", "is_constant": false, "is_state_variable": true, @@ -43064,7 +43606,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2090, + "id": 2091, "node_type": 30, "src": { "line": 1206, @@ -43072,7 +43614,7 @@ "start": 43966, "end": 43980, "length": 15, - "parent_index": 2089 + "parent_index": 2090 }, "name": "addresspayable", "state_mutability": 3, @@ -43085,7 +43627,7 @@ "initial_value": null }, { - "id": 2092, + "id": 2093, "name": "migrator", "is_constant": false, "is_state_variable": true, @@ -43107,7 +43649,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 2093, + "id": 2094, "node_type": 69, "src": { "line": 1208, @@ -43115,10 +43657,10 @@ "start": 43996, "end": 44004, "length": 9, - "parent_index": 2092 + "parent_index": 2093 }, "path_node": { - "id": 2094, + "id": 2095, "name": "IMigrator", "node_type": 52, "referenced_declaration": 1962, @@ -43128,7 +43670,7 @@ "start": 43996, "end": 44004, "length": 9, - "parent_index": 2093 + "parent_index": 2094 }, "name_location": { "line": 1208, @@ -43136,7 +43678,7 @@ "start": 43996, "end": 44004, "length": 9, - "parent_index": 2093 + "parent_index": 2094 } }, "referenced_declaration": 1962, @@ -43148,7 +43690,7 @@ "initial_value": null }, { - "id": 2096, + "id": 2097, "node_type": 57, "src": { "line": 1210, @@ -43159,7 +43701,7 @@ "parent_index": 1998 }, "parameters": { - "id": 2097, + "id": 2098, "node_type": 43, "src": { "line": 1210, @@ -43167,11 +43709,11 @@ "start": 44021, "end": 44191, "length": 171, - "parent_index": 2096 + "parent_index": 2097 }, "parameters": [ { - "id": 2098, + "id": 2099, "node_type": 44, "src": { "line": 1211, @@ -43179,12 +43721,12 @@ "start": 44046, "end": 44060, "length": 15, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "lpToken", "type_name": { - "id": 2099, + "id": 2100, "node_type": 30, "src": { "line": 1211, @@ -43192,7 +43734,7 @@ "start": 44046, "end": 44052, "length": 7, - "parent_index": 2098 + "parent_index": 2099 }, "name": "address", "state_mutability": 4, @@ -43211,7 +43753,7 @@ } }, { - "id": 2100, + "id": 2101, "node_type": 44, "src": { "line": 1212, @@ -43219,12 +43761,12 @@ "start": 44071, "end": 44082, "length": 12, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "user", "type_name": { - "id": 2101, + "id": 2102, "node_type": 30, "src": { "line": 1212, @@ -43232,7 +43774,7 @@ "start": 44071, "end": 44077, "length": 7, - "parent_index": 2100 + "parent_index": 2101 }, "name": "address", "state_mutability": 4, @@ -43251,7 +43793,7 @@ } }, { - "id": 2102, + "id": 2103, "node_type": 44, "src": { "line": 1213, @@ -43259,12 +43801,12 @@ "start": 44093, "end": 44106, "length": 14, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "amount", "type_name": { - "id": 2103, + "id": 2104, "node_type": 30, "src": { "line": 1213, @@ -43272,7 +43814,7 @@ "start": 44093, "end": 44099, "length": 7, - "parent_index": 2102 + "parent_index": 2103 }, "name": "uint256", "referenced_declaration": 0, @@ -43290,7 +43832,7 @@ } }, { - "id": 2104, + "id": 2105, "node_type": 44, "src": { "line": 1214, @@ -43298,12 +43840,12 @@ "start": 44117, "end": 44132, "length": 16, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "lockDate", "type_name": { - "id": 2105, + "id": 2106, "node_type": 30, "src": { "line": 1214, @@ -43311,7 +43853,7 @@ "start": 44117, "end": 44123, "length": 7, - "parent_index": 2104 + "parent_index": 2105 }, "name": "uint256", "referenced_declaration": 0, @@ -43329,7 +43871,7 @@ } }, { - "id": 2106, + "id": 2107, "node_type": 44, "src": { "line": 1215, @@ -43337,12 +43879,12 @@ "start": 44143, "end": 44160, "length": 18, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "unlockDate", "type_name": { - "id": 2107, + "id": 2108, "node_type": 30, "src": { "line": 1215, @@ -43350,7 +43892,7 @@ "start": 44143, "end": 44149, "length": 7, - "parent_index": 2106 + "parent_index": 2107 }, "name": "uint256", "referenced_declaration": 0, @@ -43368,7 +43910,7 @@ } }, { - "id": 2108, + "id": 2109, "node_type": 44, "src": { "line": 1216, @@ -43376,12 +43918,12 @@ "start": 44171, "end": 44184, "length": 14, - "parent_index": 2097 + "parent_index": 2098 }, - "scope": 2096, + "scope": 2097, "name": "lockID", "type_name": { - "id": 2109, + "id": 2110, "node_type": 30, "src": { "line": 1216, @@ -43389,7 +43931,7 @@ "start": 44171, "end": 44177, "length": 7, - "parent_index": 2108 + "parent_index": 2109 }, "name": "uint256", "referenced_declaration": 0, @@ -43437,12 +43979,12 @@ "name": "onDeposit", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262096", + "type_identifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262097", "type_string": "event KnoxLpLocker.onDeposit" } }, { - "id": 2111, + "id": 2112, "node_type": 57, "src": { "line": 1218, @@ -43453,7 +43995,7 @@ "parent_index": 1998 }, "parameters": { - "id": 2112, + "id": 2113, "node_type": 43, "src": { "line": 1218, @@ -43461,11 +44003,11 @@ "start": 44197, "end": 44246, "length": 50, - "parent_index": 2111 + "parent_index": 2112 }, "parameters": [ { - "id": 2113, + "id": 2114, "node_type": 44, "src": { "line": 1218, @@ -43473,12 +44015,12 @@ "start": 44214, "end": 44228, "length": 15, - "parent_index": 2112 + "parent_index": 2113 }, - "scope": 2111, + "scope": 2112, "name": "lpToken", "type_name": { - "id": 2114, + "id": 2115, "node_type": 30, "src": { "line": 1218, @@ -43486,7 +44028,7 @@ "start": 44214, "end": 44220, "length": 7, - "parent_index": 2113 + "parent_index": 2114 }, "name": "address", "state_mutability": 4, @@ -43505,7 +44047,7 @@ } }, { - "id": 2115, + "id": 2116, "node_type": 44, "src": { "line": 1218, @@ -43513,12 +44055,12 @@ "start": 44231, "end": 44244, "length": 14, - "parent_index": 2112 + "parent_index": 2113 }, - "scope": 2111, + "scope": 2112, "name": "amount", "type_name": { - "id": 2116, + "id": 2117, "node_type": 30, "src": { "line": 1218, @@ -43526,7 +44068,7 @@ "start": 44231, "end": 44237, "length": 7, - "parent_index": 2115 + "parent_index": 2116 }, "name": "uint256", "referenced_declaration": 0, @@ -43558,12 +44100,12 @@ "name": "onWithdraw", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_KnoxLpLocker_onWithdraw_\u00262111", + "type_identifier": "t_event\u0026_KnoxLpLocker_onWithdraw_\u00262112", "type_string": "event KnoxLpLocker.onWithdraw" } }, { - "id": 2118, + "id": 2119, "node_type": 42, "src": { "line": 1220, @@ -43579,7 +44121,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 2119, + "id": 2120, "node_type": 43, "src": { "line": 1220, @@ -43587,11 +44129,11 @@ "start": 44265, "end": 44291, "length": 27, - "parent_index": 2118 + "parent_index": 2119 }, "parameters": [ { - "id": 2120, + "id": 2121, "node_type": 44, "src": { "line": 1220, @@ -43599,12 +44141,12 @@ "start": 44265, "end": 44291, "length": 27, - "parent_index": 2119 + "parent_index": 2120 }, - "scope": 2118, + "scope": 2119, "name": "_uniswapFactory", "type_name": { - "id": 2121, + "id": 2122, "node_type": 69, "src": { "line": 1220, @@ -43612,10 +44154,10 @@ "start": 44265, "end": 44275, "length": 11, - "parent_index": 2120 + "parent_index": 2121 }, "path_node": { - "id": 2122, + "id": 2123, "name": "IUniFactory", "node_type": 52, "referenced_declaration": 1940, @@ -43625,7 +44167,7 @@ "start": 44265, "end": 44275, "length": 11, - "parent_index": 2121 + "parent_index": 2122 }, "name_location": { "line": 1220, @@ -43633,7 +44175,7 @@ "start": 44265, "end": 44275, "length": 11, - "parent_index": 2121 + "parent_index": 2122 } }, "referenced_declaration": 1940, @@ -43659,7 +44201,7 @@ ] }, "return_parameters": { - "id": 2123, + "id": 2124, "node_type": 43, "src": { "line": 1220, @@ -43667,14 +44209,14 @@ "start": 44253, "end": 44684, "length": 432, - "parent_index": 2118 + "parent_index": 2119 }, "parameters": [], "parameter_types": [] }, "scope": 1998, "body": { - "id": 2124, + "id": 2125, "node_type": 46, "kind": 0, "src": { @@ -43683,12 +44225,12 @@ "start": 44294, "end": 44684, "length": 391, - "parent_index": 2118 + "parent_index": 2119 }, "implemented": true, "statements": [ { - "id": 2125, + "id": 2126, "node_type": 27, "src": { "line": 1221, @@ -43696,10 +44238,10 @@ "start": 44304, "end": 44333, "length": 30, - "parent_index": 2124 + "parent_index": 2125 }, "expression": { - "id": 2126, + "id": 2127, "node_type": 27, "src": { "line": 1221, @@ -43707,11 +44249,11 @@ "start": 44304, "end": 44332, "length": 29, - "parent_index": 2125 + "parent_index": 2126 }, "operator": 11, "left_expression": { - "id": 2127, + "id": 2128, "node_type": 16, "src": { "line": 1221, @@ -43719,7 +44261,7 @@ "start": 44304, "end": 44310, "length": 7, - "parent_index": 2126 + "parent_index": 2127 }, "name": "devaddr", "type_description": { @@ -43727,11 +44269,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2089, - "is_pure": false + "referenced_declaration": 2090, + "is_pure": false, + "text": "devaddr" }, "right_expression": { - "id": 2128, + "id": 2129, "node_type": 84, "src": { "line": 1221, @@ -43739,11 +44282,11 @@ "start": 44314, "end": 44332, "length": 19, - "parent_index": 2126 + "parent_index": 2127 }, "arguments": [ { - "id": 2129, + "id": 2130, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -43755,7 +44298,7 @@ "start": 44322, "end": 44331, "length": 10, - "parent_index": 2128 + "parent_index": 2129 }, "member_location": { "line": 1221, @@ -43763,10 +44306,10 @@ "start": 44326, "end": 44331, "length": 6, - "parent_index": 2129 + "parent_index": 2130 }, "expression": { - "id": 2130, + "id": 2131, "node_type": 16, "src": { "line": 1221, @@ -43774,7 +44317,7 @@ "start": 44322, "end": 44324, "length": 3, - "parent_index": 2129 + "parent_index": 2130 }, "name": "msg", "type_description": { @@ -43783,14 +44326,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "argument_types": [ @@ -43813,10 +44358,11 @@ "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "devaddr=payable(msg.sender);" }, { - "id": 2131, + "id": 2132, "node_type": 27, "src": { "line": 1222, @@ -43824,10 +44370,10 @@ "start": 44343, "end": 44369, "length": 27, - "parent_index": 2124 + "parent_index": 2125 }, "expression": { - "id": 2132, + "id": 2133, "node_type": 27, "src": { "line": 1222, @@ -43835,11 +44381,11 @@ "start": 44343, "end": 44368, "length": 26, - "parent_index": 2131 + "parent_index": 2132 }, "operator": 11, "left_expression": { - "id": 2133, + "id": 2134, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -43851,7 +44397,7 @@ "start": 44343, "end": 44363, "length": 21, - "parent_index": 2132 + "parent_index": 2133 }, "member_location": { "line": 1222, @@ -43859,10 +44405,10 @@ "start": 44349, "end": 44363, "length": 15, - "parent_index": 2133 + "parent_index": 2134 }, "expression": { - "id": 2134, + "id": 2135, "node_type": 16, "src": { "line": 1222, @@ -43870,26 +44416,28 @@ "start": 44343, "end": 44347, "length": 5, - "parent_index": 2133 + "parent_index": 2134 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralPercent", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralPercent" }, "right_expression": { - "id": 2135, + "id": 2136, "node_type": 17, "kind": 49, "value": "25", @@ -43900,7 +44448,7 @@ "start": 44367, "end": 44368, "length": 2, - "parent_index": 2132 + "parent_index": 2133 }, "type_description": { "type_identifier": "t_rational_25_by_1", @@ -43908,20 +44456,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "25" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralPercent=25;" }, { - "id": 2136, + "id": 2137, "node_type": 27, "src": { "line": 1223, @@ -43929,10 +44479,10 @@ "start": 44386, "end": 44405, "length": 20, - "parent_index": 2124 + "parent_index": 2125 }, "expression": { - "id": 2137, + "id": 2138, "node_type": 27, "src": { "line": 1223, @@ -43940,11 +44490,11 @@ "start": 44386, "end": 44404, "length": 19, - "parent_index": 2136 + "parent_index": 2137 }, "operator": 11, "left_expression": { - "id": 2138, + "id": 2139, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -43956,7 +44506,7 @@ "start": 44386, "end": 44397, "length": 12, - "parent_index": 2137 + "parent_index": 2138 }, "member_location": { "line": 1223, @@ -43964,10 +44514,10 @@ "start": 44392, "end": 44397, "length": 6, - "parent_index": 2138 + "parent_index": 2139 }, "expression": { - "id": 2139, + "id": 2140, "node_type": 16, "src": { "line": 1223, @@ -43975,26 +44525,28 @@ "start": 44386, "end": 44390, "length": 5, - "parent_index": 2138 + "parent_index": 2139 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "ethFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.ethFee" }, "right_expression": { - "id": 2140, + "id": 2141, "node_type": 17, "kind": 49, "value": "1e17", @@ -44005,7 +44557,7 @@ "start": 44401, "end": 44404, "length": 4, - "parent_index": 2137 + "parent_index": 2138 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -44013,20 +44565,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e17" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.ethFee=1e17;" }, { - "id": 2141, + "id": 2142, "node_type": 27, "src": { "line": 1224, @@ -44034,10 +44588,10 @@ "start": 44426, "end": 44465, "length": 40, - "parent_index": 2124 + "parent_index": 2125 }, "expression": { - "id": 2142, + "id": 2143, "node_type": 27, "src": { "line": 1224, @@ -44045,11 +44599,11 @@ "start": 44426, "end": 44464, "length": 39, - "parent_index": 2141 + "parent_index": 2142 }, "operator": 11, "left_expression": { - "id": 2143, + "id": 2144, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44061,7 +44615,7 @@ "start": 44426, "end": 44448, "length": 23, - "parent_index": 2142 + "parent_index": 2143 }, "member_location": { "line": 1224, @@ -44069,10 +44623,10 @@ "start": 44432, "end": 44448, "length": 17, - "parent_index": 2143 + "parent_index": 2144 }, "expression": { - "id": 2144, + "id": 2145, "node_type": 16, "src": { "line": 1224, @@ -44080,26 +44634,28 @@ "start": 44426, "end": 44430, "length": 5, - "parent_index": 2143 + "parent_index": 2144 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "secondaryTokenFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryTokenFee" }, "right_expression": { - "id": 2145, + "id": 2146, "node_type": 17, "kind": 49, "value": "10000000000e9", @@ -44110,7 +44666,7 @@ "start": 44452, "end": 44464, "length": 13, - "parent_index": 2142 + "parent_index": 2143 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -44118,20 +44674,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10000000000e9" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryTokenFee=10000000000e9;" }, { - "id": 2146, + "id": 2147, "node_type": 27, "src": { "line": 1225, @@ -44139,10 +44697,10 @@ "start": 44475, "end": 44509, "length": 35, - "parent_index": 2124 + "parent_index": 2125 }, "expression": { - "id": 2147, + "id": 2148, "node_type": 27, "src": { "line": 1225, @@ -44150,11 +44708,11 @@ "start": 44475, "end": 44508, "length": 34, - "parent_index": 2146 + "parent_index": 2147 }, "operator": 11, "left_expression": { - "id": 2148, + "id": 2149, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44166,7 +44724,7 @@ "start": 44475, "end": 44502, "length": 28, - "parent_index": 2147 + "parent_index": 2148 }, "member_location": { "line": 1225, @@ -44174,10 +44732,10 @@ "start": 44481, "end": 44502, "length": 22, - "parent_index": 2148 + "parent_index": 2149 }, "expression": { - "id": 2149, + "id": 2150, "node_type": 16, "src": { "line": 1225, @@ -44185,26 +44743,28 @@ "start": 44475, "end": 44479, "length": 5, - "parent_index": 2148 + "parent_index": 2149 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "secondaryTokenDiscount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryTokenDiscount" }, "right_expression": { - "id": 2150, + "id": 2151, "node_type": 17, "kind": 49, "value": "200", @@ -44215,7 +44775,7 @@ "start": 44506, "end": 44508, "length": 3, - "parent_index": 2147 + "parent_index": 2148 }, "type_description": { "type_identifier": "t_rational_200_by_1", @@ -44223,20 +44783,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "200" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryTokenDiscount=200;" }, { - "id": 2151, + "id": 2152, "node_type": 27, "src": { "line": 1226, @@ -44244,10 +44806,10 @@ "start": 44526, "end": 44549, "length": 24, - "parent_index": 2124 + "parent_index": 2125 }, "expression": { - "id": 2152, + "id": 2153, "node_type": 27, "src": { "line": 1226, @@ -44255,11 +44817,11 @@ "start": 44526, "end": 44548, "length": 23, - "parent_index": 2151 + "parent_index": 2152 }, "operator": 11, "left_expression": { - "id": 2153, + "id": 2154, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44271,7 +44833,7 @@ "start": 44526, "end": 44543, "length": 18, - "parent_index": 2152 + "parent_index": 2153 }, "member_location": { "line": 1226, @@ -44279,10 +44841,10 @@ "start": 44532, "end": 44543, "length": 12, - "parent_index": 2153 + "parent_index": 2154 }, "expression": { - "id": 2154, + "id": 2155, "node_type": 16, "src": { "line": 1226, @@ -44290,26 +44852,28 @@ "start": 44526, "end": 44530, "length": 5, - "parent_index": 2153 + "parent_index": 2154 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "liquidityFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.liquidityFee" }, "right_expression": { - "id": 2155, + "id": 2156, "node_type": 17, "kind": 49, "value": "10", @@ -44320,7 +44884,7 @@ "start": 44547, "end": 44548, "length": 2, - "parent_index": 2152 + "parent_index": 2153 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -44328,20 +44892,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.liquidityFee=10;" }, { - "id": 2156, + "id": 2157, "node_type": 27, "src": { "line": 1227, @@ -44349,10 +44915,10 @@ "start": 44565, "end": 44591, "length": 27, - "parent_index": 2124 + "parent_index": 2125 }, "expression": { - "id": 2157, + "id": 2158, "node_type": 27, "src": { "line": 1227, @@ -44360,11 +44926,11 @@ "start": 44565, "end": 44590, "length": 26, - "parent_index": 2156 + "parent_index": 2157 }, "operator": 11, "left_expression": { - "id": 2158, + "id": 2159, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44376,7 +44942,7 @@ "start": 44565, "end": 44582, "length": 18, - "parent_index": 2157 + "parent_index": 2158 }, "member_location": { "line": 1227, @@ -44384,10 +44950,10 @@ "start": 44571, "end": 44582, "length": 12, - "parent_index": 2158 + "parent_index": 2159 }, "expression": { - "id": 2159, + "id": 2160, "node_type": 16, "src": { "line": 1227, @@ -44395,26 +44961,28 @@ "start": 44565, "end": 44569, "length": 5, - "parent_index": 2158 + "parent_index": 2159 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralHold", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralHold" }, "right_expression": { - "id": 2160, + "id": 2161, "node_type": 17, "kind": 49, "value": "10e18", @@ -44425,7 +44993,7 @@ "start": 44586, "end": 44590, "length": 5, - "parent_index": 2157 + "parent_index": 2158 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -44433,20 +45001,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10e18" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralHold=10e18;" }, { - "id": 2161, + "id": 2162, "node_type": 27, "src": { "line": 1228, @@ -44454,10 +45024,10 @@ "start": 44601, "end": 44629, "length": 29, - "parent_index": 2124 + "parent_index": 2125 }, "expression": { - "id": 2162, + "id": 2163, "node_type": 27, "src": { "line": 1228, @@ -44465,11 +45035,11 @@ "start": 44601, "end": 44628, "length": 28, - "parent_index": 2161 + "parent_index": 2162 }, "operator": 11, "left_expression": { - "id": 2163, + "id": 2164, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -44481,7 +45051,7 @@ "start": 44601, "end": 44622, "length": 22, - "parent_index": 2162 + "parent_index": 2163 }, "member_location": { "line": 1228, @@ -44489,10 +45059,10 @@ "start": 44607, "end": 44622, "length": 16, - "parent_index": 2163 + "parent_index": 2164 }, "expression": { - "id": 2164, + "id": 2165, "node_type": 16, "src": { "line": 1228, @@ -44500,26 +45070,28 @@ "start": 44601, "end": 44605, "length": 5, - "parent_index": 2163 + "parent_index": 2164 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralDiscount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralDiscount" }, "right_expression": { - "id": 2165, + "id": 2166, "node_type": 17, "kind": 49, "value": "100", @@ -44530,7 +45102,7 @@ "start": 44626, "end": 44628, "length": 3, - "parent_index": 2162 + "parent_index": 2163 }, "type_description": { "type_identifier": "t_rational_100_by_1", @@ -44538,20 +45110,22 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralDiscount=100;" }, { - "id": 2166, + "id": 2167, "node_type": 27, "src": { "line": 1229, @@ -44559,10 +45133,10 @@ "start": 44646, "end": 44678, "length": 33, - "parent_index": 2124 + "parent_index": 2125 }, "expression": { - "id": 2167, + "id": 2168, "node_type": 27, "src": { "line": 1229, @@ -44570,11 +45144,11 @@ "start": 44646, "end": 44677, "length": 32, - "parent_index": 2166 + "parent_index": 2167 }, "operator": 11, "left_expression": { - "id": 2168, + "id": 2169, "node_type": 16, "src": { "line": 1229, @@ -44582,7 +45156,7 @@ "start": 44646, "end": 44659, "length": 14, - "parent_index": 2167 + "parent_index": 2168 }, "name": "uniswapFactory", "type_description": { @@ -44591,10 +45165,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 2018, - "is_pure": false + "is_pure": false, + "text": "uniswapFactory" }, "right_expression": { - "id": 2169, + "id": 2170, "node_type": 16, "src": { "line": 1229, @@ -44602,7 +45177,7 @@ "start": 44663, "end": 44677, "length": 15, - "parent_index": 2167 + "parent_index": 2168 }, "name": "_uniswapFactory", "type_description": { @@ -44610,8 +45185,9 @@ "type_string": "contract IUniFactory" }, "overloaded_declarations": [], - "referenced_declaration": 2169, - "is_pure": false + "referenced_declaration": 2170, + "is_pure": false, + "text": "_uniswapFactory" }, "type_description": { "type_identifier": "t_contract$_IUniFactory_$1940", @@ -44621,13 +45197,14 @@ "type_description": { "type_identifier": "t_contract$_IUniFactory_$1940", "type_string": "contract IUniFactory" - } + }, + "text": "uniswapFactory=_uniswapFactory;" } ] } }, { - "id": 2171, + "id": 2172, "name": "setDev", "node_type": 42, "kind": 41, @@ -44645,10 +45222,10 @@ "start": 44700, "end": 44705, "length": 6, - "parent_index": 2171 + "parent_index": 2172 }, "body": { - "id": 2178, + "id": 2179, "node_type": 46, "kind": 0, "src": { @@ -44657,12 +45234,12 @@ "start": 44750, "end": 44844, "length": 95, - "parent_index": 2171 + "parent_index": 2172 }, "implemented": true, "statements": [ { - "id": 2179, + "id": 2180, "node_type": 24, "kind": 24, "src": { @@ -44671,7 +45248,7 @@ "start": 44760, "end": 44809, "length": 50, - "parent_index": 2178 + "parent_index": 2179 }, "argument_types": [ { @@ -44685,7 +45262,7 @@ ], "arguments": [ { - "id": 2181, + "id": 2182, "is_constant": false, "is_pure": false, "node_type": 19, @@ -44695,11 +45272,11 @@ "start": 44768, "end": 44789, "length": 22, - "parent_index": 2179 + "parent_index": 2180 }, "operator": 12, "left_expression": { - "id": 2182, + "id": 2183, "node_type": 16, "src": { "line": 1233, @@ -44707,7 +45284,7 @@ "start": 44768, "end": 44775, "length": 8, - "parent_index": 2181 + "parent_index": 2182 }, "name": "_devaddr", "type_description": { @@ -44715,11 +45292,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2182, - "is_pure": false + "referenced_declaration": 2183, + "is_pure": false, + "text": "_devaddr" }, "right_expression": { - "id": 2183, + "id": 2184, "node_type": 24, "kind": 24, "src": { @@ -44728,7 +45306,7 @@ "start": 44780, "end": 44789, "length": 10, - "parent_index": 2181 + "parent_index": 2182 }, "argument_types": [ { @@ -44738,7 +45316,7 @@ ], "arguments": [ { - "id": 2186, + "id": 2187, "node_type": 17, "kind": 49, "value": "0", @@ -44749,7 +45327,7 @@ "start": 44788, "end": 44788, "length": 1, - "parent_index": 2183 + "parent_index": 2184 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -44757,11 +45335,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2184, + "id": 2185, "node_type": 16, "src": { "line": 1233, @@ -44769,11 +45348,11 @@ "start": 44780, "end": 44786, "length": 7, - "parent_index": 2183 + "parent_index": 2184 }, "name": "address", "type_name": { - "id": 2185, + "id": 2186, "node_type": 30, "src": { "line": 1233, @@ -44781,7 +45360,7 @@ "start": 44780, "end": 44786, "length": 7, - "parent_index": 2184 + "parent_index": 2185 }, "name": "address", "state_mutability": 4, @@ -44803,7 +45382,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -44816,7 +45396,7 @@ } }, { - "id": 2187, + "id": 2188, "node_type": 17, "kind": 50, "value": "INVALID ADDRESS", @@ -44827,7 +45407,7 @@ "start": 44792, "end": 44808, "length": 17, - "parent_index": 2179 + "parent_index": 2180 }, "type_description": { "type_identifier": "t_string_literal", @@ -44841,11 +45421,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID ADDRESS\"" } ], "expression": { - "id": 2180, + "id": 2181, "node_type": 16, "src": { "line": 1233, @@ -44853,7 +45434,7 @@ "start": 44760, "end": 44766, "length": 7, - "parent_index": 2179 + "parent_index": 2180 }, "name": "require", "type_description": { @@ -44862,7 +45443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -44870,7 +45452,7 @@ } }, { - "id": 2188, + "id": 2189, "node_type": 27, "src": { "line": 1234, @@ -44878,10 +45460,10 @@ "start": 44820, "end": 44838, "length": 19, - "parent_index": 2178 + "parent_index": 2179 }, "expression": { - "id": 2189, + "id": 2190, "node_type": 27, "src": { "line": 1234, @@ -44889,11 +45471,11 @@ "start": 44820, "end": 44837, "length": 18, - "parent_index": 2188 + "parent_index": 2189 }, "operator": 11, "left_expression": { - "id": 2190, + "id": 2191, "node_type": 16, "src": { "line": 1234, @@ -44901,7 +45483,7 @@ "start": 44820, "end": 44826, "length": 7, - "parent_index": 2189 + "parent_index": 2190 }, "name": "devaddr", "type_description": { @@ -44909,11 +45491,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2089, - "is_pure": false + "referenced_declaration": 2090, + "is_pure": false, + "text": "devaddr" }, "right_expression": { - "id": 2191, + "id": 2192, "node_type": 16, "src": { "line": 1234, @@ -44921,7 +45504,7 @@ "start": 44830, "end": 44837, "length": 8, - "parent_index": 2189 + "parent_index": 2190 }, "name": "_devaddr", "type_description": { @@ -44929,8 +45512,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2191, - "is_pure": false + "referenced_declaration": 2192, + "is_pure": false, + "text": "_devaddr" }, "type_description": { "type_identifier": "t_address_payable", @@ -44940,7 +45524,8 @@ "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "devaddr=_devaddr;" } ] }, @@ -44950,7 +45535,7 @@ "virtual": false, "modifiers": [ { - "id": 2175, + "id": 2176, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -44960,12 +45545,12 @@ "start": 44740, "end": 44748, "length": 9, - "parent_index": 2171 + "parent_index": 2172 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2176, + "id": 2177, "name": "onlyOwner", "node_type": 0, "src": { @@ -44974,14 +45559,14 @@ "start": 44740, "end": 44748, "length": 9, - "parent_index": 2175 + "parent_index": 2176 } } } ], "overrides": [], "parameters": { - "id": 2172, + "id": 2173, "node_type": 43, "src": { "line": 1232, @@ -44989,11 +45574,11 @@ "start": 44707, "end": 44730, "length": 24, - "parent_index": 2171 + "parent_index": 2172 }, "parameters": [ { - "id": 2173, + "id": 2174, "node_type": 44, "src": { "line": 1232, @@ -45001,12 +45586,12 @@ "start": 44707, "end": 44730, "length": 24, - "parent_index": 2172 + "parent_index": 2173 }, - "scope": 2171, + "scope": 2172, "name": "_devaddr", "type_name": { - "id": 2174, + "id": 2175, "node_type": 30, "src": { "line": 1232, @@ -45014,7 +45599,7 @@ "start": 44707, "end": 44721, "length": 15, - "parent_index": 2173 + "parent_index": 2174 }, "name": "addresspayable", "state_mutability": 3, @@ -45041,7 +45626,7 @@ ] }, "return_parameters": { - "id": 2177, + "id": 2178, "node_type": 43, "src": { "line": 1232, @@ -45049,7 +45634,7 @@ "start": 44691, "end": 44844, "length": 154, - "parent_index": 2171 + "parent_index": 2172 }, "parameters": [], "parameter_types": [] @@ -45060,10 +45645,11 @@ "type_description": { "type_identifier": "t_function_$_t_address_payable$", "type_string": "function(address)" - } + }, + "text": "functionsetDev(addresspayable_devaddr)publiconlyOwner{require(_devaddr!=address(0),\"INVALID ADDRESS\");devaddr=_devaddr;}" }, { - "id": 2193, + "id": 2194, "name": "setMigrator", "node_type": 42, "kind": 41, @@ -45081,10 +45667,10 @@ "start": 44976, "end": 44986, "length": 11, - "parent_index": 2193 + "parent_index": 2194 }, "body": { - "id": 2201, + "id": 2202, "node_type": 46, "kind": 0, "src": { @@ -45093,12 +45679,12 @@ "start": 45026, "end": 45062, "length": 37, - "parent_index": 2193 + "parent_index": 2194 }, "implemented": true, "statements": [ { - "id": 2202, + "id": 2203, "node_type": 27, "src": { "line": 1241, @@ -45106,10 +45692,10 @@ "start": 45036, "end": 45056, "length": 21, - "parent_index": 2201 + "parent_index": 2202 }, "expression": { - "id": 2203, + "id": 2204, "node_type": 27, "src": { "line": 1241, @@ -45117,11 +45703,11 @@ "start": 45036, "end": 45055, "length": 20, - "parent_index": 2202 + "parent_index": 2203 }, "operator": 11, "left_expression": { - "id": 2204, + "id": 2205, "node_type": 16, "src": { "line": 1241, @@ -45129,7 +45715,7 @@ "start": 45036, "end": 45043, "length": 8, - "parent_index": 2203 + "parent_index": 2204 }, "name": "migrator", "type_description": { @@ -45137,11 +45723,12 @@ "type_string": "contract IMigrator" }, "overloaded_declarations": [], - "referenced_declaration": 2092, - "is_pure": false + "referenced_declaration": 2093, + "is_pure": false, + "text": "migrator" }, "right_expression": { - "id": 2205, + "id": 2206, "node_type": 16, "src": { "line": 1241, @@ -45149,7 +45736,7 @@ "start": 45047, "end": 45055, "length": 9, - "parent_index": 2203 + "parent_index": 2204 }, "name": "_migrator", "type_description": { @@ -45157,8 +45744,9 @@ "type_string": "contract IMigrator" }, "overloaded_declarations": [], - "referenced_declaration": 2205, - "is_pure": false + "referenced_declaration": 2206, + "is_pure": false, + "text": "_migrator" }, "type_description": { "type_identifier": "t_contract$_IMigrator_$1962", @@ -45168,7 +45756,8 @@ "type_description": { "type_identifier": "t_contract$_IMigrator_$1962", "type_string": "contract IMigrator" - } + }, + "text": "migrator=_migrator;" } ] }, @@ -45178,7 +45767,7 @@ "virtual": false, "modifiers": [ { - "id": 2198, + "id": 2199, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -45188,12 +45777,12 @@ "start": 45016, "end": 45024, "length": 9, - "parent_index": 2193 + "parent_index": 2194 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2199, + "id": 2200, "name": "onlyOwner", "node_type": 0, "src": { @@ -45202,14 +45791,14 @@ "start": 45016, "end": 45024, "length": 9, - "parent_index": 2198 + "parent_index": 2199 } } } ], "overrides": [], "parameters": { - "id": 2194, + "id": 2195, "node_type": 43, "src": { "line": 1240, @@ -45217,11 +45806,11 @@ "start": 44988, "end": 45006, "length": 19, - "parent_index": 2193 + "parent_index": 2194 }, "parameters": [ { - "id": 2195, + "id": 2196, "node_type": 44, "src": { "line": 1240, @@ -45229,12 +45818,12 @@ "start": 44988, "end": 45006, "length": 19, - "parent_index": 2194 + "parent_index": 2195 }, - "scope": 2193, + "scope": 2194, "name": "_migrator", "type_name": { - "id": 2196, + "id": 2197, "node_type": 69, "src": { "line": 1240, @@ -45242,10 +45831,10 @@ "start": 44988, "end": 44996, "length": 9, - "parent_index": 2195 + "parent_index": 2196 }, "path_node": { - "id": 2197, + "id": 2198, "name": "IMigrator", "node_type": 52, "referenced_declaration": 1962, @@ -45255,7 +45844,7 @@ "start": 44988, "end": 44996, "length": 9, - "parent_index": 2196 + "parent_index": 2197 }, "name_location": { "line": 1240, @@ -45263,7 +45852,7 @@ "start": 44988, "end": 44996, "length": 9, - "parent_index": 2196 + "parent_index": 2197 } }, "referenced_declaration": 1962, @@ -45289,7 +45878,7 @@ ] }, "return_parameters": { - "id": 2200, + "id": 2201, "node_type": 43, "src": { "line": 1240, @@ -45297,7 +45886,7 @@ "start": 44967, "end": 45062, "length": 96, - "parent_index": 2193 + "parent_index": 2194 }, "parameters": [], "parameter_types": [] @@ -45308,10 +45897,11 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_IMigrator_$1962$", "type_string": "function(contract IMigrator)" - } + }, + "text": "functionsetMigrator(IMigrator_migrator)publiconlyOwner{migrator=_migrator;}" }, { - "id": 2207, + "id": 2208, "name": "setSecondaryFeeToken", "node_type": 42, "kind": 41, @@ -45329,10 +45919,10 @@ "start": 45078, "end": 45097, "length": 20, - "parent_index": 2207 + "parent_index": 2208 }, "body": { - "id": 2214, + "id": 2215, "node_type": 46, "kind": 0, "src": { @@ -45341,12 +45931,12 @@ "start": 45144, "end": 45284, "length": 141, - "parent_index": 2207 + "parent_index": 2208 }, "implemented": true, "statements": [ { - "id": 2215, + "id": 2216, "node_type": 24, "kind": 24, "src": { @@ -45355,7 +45945,7 @@ "start": 45154, "end": 45213, "length": 60, - "parent_index": 2214 + "parent_index": 2215 }, "argument_types": [ { @@ -45369,7 +45959,7 @@ ], "arguments": [ { - "id": 2217, + "id": 2218, "is_constant": false, "is_pure": false, "node_type": 19, @@ -45379,11 +45969,11 @@ "start": 45162, "end": 45193, "length": 32, - "parent_index": 2215 + "parent_index": 2216 }, "operator": 12, "left_expression": { - "id": 2218, + "id": 2219, "node_type": 16, "src": { "line": 1245, @@ -45391,7 +45981,7 @@ "start": 45162, "end": 45179, "length": 18, - "parent_index": 2217 + "parent_index": 2218 }, "name": "_secondaryFeeToken", "type_description": { @@ -45399,11 +45989,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2218, - "is_pure": false + "referenced_declaration": 2219, + "is_pure": false, + "text": "_secondaryFeeToken" }, "right_expression": { - "id": 2219, + "id": 2220, "node_type": 24, "kind": 24, "src": { @@ -45412,7 +46003,7 @@ "start": 45184, "end": 45193, "length": 10, - "parent_index": 2217 + "parent_index": 2218 }, "argument_types": [ { @@ -45422,7 +46013,7 @@ ], "arguments": [ { - "id": 2222, + "id": 2223, "node_type": 17, "kind": 49, "value": "0", @@ -45433,7 +46024,7 @@ "start": 45192, "end": 45192, "length": 1, - "parent_index": 2219 + "parent_index": 2220 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -45441,11 +46032,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2220, + "id": 2221, "node_type": 16, "src": { "line": 1245, @@ -45453,11 +46045,11 @@ "start": 45184, "end": 45190, "length": 7, - "parent_index": 2219 + "parent_index": 2220 }, "name": "address", "type_name": { - "id": 2221, + "id": 2222, "node_type": 30, "src": { "line": 1245, @@ -45465,7 +46057,7 @@ "start": 45184, "end": 45190, "length": 7, - "parent_index": 2220 + "parent_index": 2221 }, "name": "address", "state_mutability": 4, @@ -45487,7 +46079,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -45500,7 +46093,7 @@ } }, { - "id": 2223, + "id": 2224, "node_type": 17, "kind": 50, "value": "INVALID ADDRESS", @@ -45511,7 +46104,7 @@ "start": 45196, "end": 45212, "length": 17, - "parent_index": 2215 + "parent_index": 2216 }, "type_description": { "type_identifier": "t_string_literal", @@ -45525,11 +46118,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID ADDRESS\"" } ], "expression": { - "id": 2216, + "id": 2217, "node_type": 16, "src": { "line": 1245, @@ -45537,7 +46131,7 @@ "start": 45154, "end": 45160, "length": 7, - "parent_index": 2215 + "parent_index": 2216 }, "name": "require", "type_description": { @@ -45546,7 +46140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -45554,7 +46149,7 @@ } }, { - "id": 2224, + "id": 2225, "node_type": 27, "src": { "line": 1246, @@ -45562,10 +46157,10 @@ "start": 45224, "end": 45278, "length": 55, - "parent_index": 2214 + "parent_index": 2215 }, "expression": { - "id": 2225, + "id": 2226, "node_type": 27, "src": { "line": 1246, @@ -45573,11 +46168,11 @@ "start": 45224, "end": 45277, "length": 54, - "parent_index": 2224 + "parent_index": 2225 }, "operator": 11, "left_expression": { - "id": 2226, + "id": 2227, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -45589,7 +46184,7 @@ "start": 45224, "end": 45246, "length": 23, - "parent_index": 2225 + "parent_index": 2226 }, "member_location": { "line": 1246, @@ -45597,10 +46192,10 @@ "start": 45230, "end": 45246, "length": 17, - "parent_index": 2226 + "parent_index": 2227 }, "expression": { - "id": 2227, + "id": 2228, "node_type": 16, "src": { "line": 1246, @@ -45608,26 +46203,28 @@ "start": 45224, "end": 45228, "length": 5, - "parent_index": 2226 + "parent_index": 2227 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "secondaryFeeToken", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryFeeToken" }, "right_expression": { - "id": 2228, + "id": 2229, "node_type": 24, "kind": 24, "src": { @@ -45636,7 +46233,7 @@ "start": 45250, "end": 45277, "length": 28, - "parent_index": 2225 + "parent_index": 2226 }, "argument_types": [ { @@ -45646,7 +46243,7 @@ ], "arguments": [ { - "id": 2230, + "id": 2231, "node_type": 16, "src": { "line": 1246, @@ -45654,7 +46251,7 @@ "start": 45259, "end": 45276, "length": 18, - "parent_index": 2228 + "parent_index": 2229 }, "name": "_secondaryFeeToken", "type_description": { @@ -45662,12 +46259,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2230, - "is_pure": false + "referenced_declaration": 2231, + "is_pure": false, + "text": "_secondaryFeeToken" } ], "expression": { - "id": 2229, + "id": 2230, "node_type": 16, "src": { "line": 1246, @@ -45675,7 +46273,7 @@ "start": 45250, "end": 45257, "length": 8, - "parent_index": 2228 + "parent_index": 2229 }, "name": "IERCBurn", "type_description": { @@ -45684,7 +46282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERCBurn" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -45692,14 +46291,15 @@ } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryFeeToken=IERCBurn(_secondaryFeeToken);" } ] }, @@ -45709,7 +46309,7 @@ "virtual": false, "modifiers": [ { - "id": 2211, + "id": 2212, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -45719,12 +46319,12 @@ "start": 45134, "end": 45142, "length": 9, - "parent_index": 2207 + "parent_index": 2208 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2212, + "id": 2213, "name": "onlyOwner", "node_type": 0, "src": { @@ -45733,14 +46333,14 @@ "start": 45134, "end": 45142, "length": 9, - "parent_index": 2211 + "parent_index": 2212 } } } ], "overrides": [], "parameters": { - "id": 2208, + "id": 2209, "node_type": 43, "src": { "line": 1244, @@ -45748,11 +46348,11 @@ "start": 45099, "end": 45124, "length": 26, - "parent_index": 2207 + "parent_index": 2208 }, "parameters": [ { - "id": 2209, + "id": 2210, "node_type": 44, "src": { "line": 1244, @@ -45760,12 +46360,12 @@ "start": 45099, "end": 45124, "length": 26, - "parent_index": 2208 + "parent_index": 2209 }, - "scope": 2207, + "scope": 2208, "name": "_secondaryFeeToken", "type_name": { - "id": 2210, + "id": 2211, "node_type": 30, "src": { "line": 1244, @@ -45773,7 +46373,7 @@ "start": 45099, "end": 45105, "length": 7, - "parent_index": 2209 + "parent_index": 2210 }, "name": "address", "state_mutability": 4, @@ -45800,7 +46400,7 @@ ] }, "return_parameters": { - "id": 2213, + "id": 2214, "node_type": 43, "src": { "line": 1244, @@ -45808,7 +46408,7 @@ "start": 45069, "end": 45284, "length": 216, - "parent_index": 2207 + "parent_index": 2208 }, "parameters": [], "parameter_types": [] @@ -45819,10 +46419,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetSecondaryFeeToken(address_secondaryFeeToken)publiconlyOwner{require(_secondaryFeeToken!=address(0),\"INVALID ADDRESS\");gFees.secondaryFeeToken=IERCBurn(_secondaryFeeToken);}" }, { - "id": 2232, + "id": 2233, "name": "setReferralTokenAndHold", "node_type": 42, "kind": 41, @@ -45840,10 +46441,10 @@ "start": 45423, "end": 45445, "length": 23, - "parent_index": 2232 + "parent_index": 2233 }, "body": { - "id": 2242, + "id": 2243, "node_type": 46, "kind": 0, "src": { @@ -45852,12 +46453,12 @@ "start": 45526, "end": 45614, "length": 89, - "parent_index": 2232 + "parent_index": 2233 }, "implemented": true, "statements": [ { - "id": 2243, + "id": 2244, "node_type": 27, "src": { "line": 1256, @@ -45865,10 +46466,10 @@ "start": 45536, "end": 45572, "length": 37, - "parent_index": 2242 + "parent_index": 2243 }, "expression": { - "id": 2244, + "id": 2245, "node_type": 27, "src": { "line": 1256, @@ -45876,11 +46477,11 @@ "start": 45536, "end": 45571, "length": 36, - "parent_index": 2243 + "parent_index": 2244 }, "operator": 11, "left_expression": { - "id": 2245, + "id": 2246, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -45892,7 +46493,7 @@ "start": 45536, "end": 45554, "length": 19, - "parent_index": 2244 + "parent_index": 2245 }, "member_location": { "line": 1256, @@ -45900,10 +46501,10 @@ "start": 45542, "end": 45554, "length": 13, - "parent_index": 2245 + "parent_index": 2246 }, "expression": { - "id": 2246, + "id": 2247, "node_type": 16, "src": { "line": 1256, @@ -45911,26 +46512,28 @@ "start": 45536, "end": 45540, "length": 5, - "parent_index": 2245 + "parent_index": 2246 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralToken", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralToken" }, "right_expression": { - "id": 2247, + "id": 2248, "node_type": 16, "src": { "line": 1256, @@ -45938,7 +46541,7 @@ "start": 45558, "end": 45571, "length": 14, - "parent_index": 2244 + "parent_index": 2245 }, "name": "_referralToken", "type_description": { @@ -45946,21 +46549,23 @@ "type_string": "contract IERCBurn" }, "overloaded_declarations": [], - "referenced_declaration": 2247, - "is_pure": false + "referenced_declaration": 2248, + "is_pure": false, + "text": "_referralToken" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralToken=_referralToken;" }, { - "id": 2248, + "id": 2249, "node_type": 27, "src": { "line": 1257, @@ -45968,10 +46573,10 @@ "start": 45582, "end": 45608, "length": 27, - "parent_index": 2242 + "parent_index": 2243 }, "expression": { - "id": 2249, + "id": 2250, "node_type": 27, "src": { "line": 1257, @@ -45979,11 +46584,11 @@ "start": 45582, "end": 45607, "length": 26, - "parent_index": 2248 + "parent_index": 2249 }, "operator": 11, "left_expression": { - "id": 2250, + "id": 2251, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -45995,7 +46600,7 @@ "start": 45582, "end": 45599, "length": 18, - "parent_index": 2249 + "parent_index": 2250 }, "member_location": { "line": 1257, @@ -46003,10 +46608,10 @@ "start": 45588, "end": 45599, "length": 12, - "parent_index": 2250 + "parent_index": 2251 }, "expression": { - "id": 2251, + "id": 2252, "node_type": 16, "src": { "line": 1257, @@ -46014,26 +46619,28 @@ "start": 45582, "end": 45586, "length": 5, - "parent_index": 2250 + "parent_index": 2251 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralHold", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralHold" }, "right_expression": { - "id": 2252, + "id": 2253, "node_type": 16, "src": { "line": 1257, @@ -46041,7 +46648,7 @@ "start": 45603, "end": 45607, "length": 5, - "parent_index": 2249 + "parent_index": 2250 }, "name": "_hold", "type_description": { @@ -46049,18 +46656,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2252, - "is_pure": false + "referenced_declaration": 2253, + "is_pure": false, + "text": "_hold" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralHold=_hold;" } ] }, @@ -46070,7 +46679,7 @@ "virtual": false, "modifiers": [ { - "id": 2239, + "id": 2240, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -46080,12 +46689,12 @@ "start": 45516, "end": 45524, "length": 9, - "parent_index": 2232 + "parent_index": 2233 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2240, + "id": 2241, "name": "onlyOwner", "node_type": 0, "src": { @@ -46094,14 +46703,14 @@ "start": 45516, "end": 45524, "length": 9, - "parent_index": 2239 + "parent_index": 2240 } } } ], "overrides": [], "parameters": { - "id": 2233, + "id": 2234, "node_type": 43, "src": { "line": 1253, @@ -46109,11 +46718,11 @@ "start": 45456, "end": 45501, "length": 46, - "parent_index": 2232 + "parent_index": 2233 }, "parameters": [ { - "id": 2234, + "id": 2235, "node_type": 44, "src": { "line": 1253, @@ -46121,12 +46730,12 @@ "start": 45456, "end": 45478, "length": 23, - "parent_index": 2233 + "parent_index": 2234 }, - "scope": 2232, + "scope": 2233, "name": "_referralToken", "type_name": { - "id": 2235, + "id": 2236, "node_type": 69, "src": { "line": 1253, @@ -46134,10 +46743,10 @@ "start": 45456, "end": 45463, "length": 8, - "parent_index": 2234 + "parent_index": 2235 }, "path_node": { - "id": 2236, + "id": 2237, "name": "IERCBurn", "node_type": 52, "referenced_declaration": 1891, @@ -46147,7 +46756,7 @@ "start": 45456, "end": 45463, "length": 8, - "parent_index": 2235 + "parent_index": 2236 }, "name_location": { "line": 1253, @@ -46155,7 +46764,7 @@ "start": 45456, "end": 45463, "length": 8, - "parent_index": 2235 + "parent_index": 2236 } }, "referenced_declaration": 1891, @@ -46173,7 +46782,7 @@ } }, { - "id": 2237, + "id": 2238, "node_type": 44, "src": { "line": 1254, @@ -46181,12 +46790,12 @@ "start": 45489, "end": 45501, "length": 13, - "parent_index": 2233 + "parent_index": 2234 }, - "scope": 2232, + "scope": 2233, "name": "_hold", "type_name": { - "id": 2238, + "id": 2239, "node_type": 30, "src": { "line": 1254, @@ -46194,7 +46803,7 @@ "start": 45489, "end": 45495, "length": 7, - "parent_index": 2237 + "parent_index": 2238 }, "name": "uint256", "referenced_declaration": 0, @@ -46224,7 +46833,7 @@ ] }, "return_parameters": { - "id": 2241, + "id": 2242, "node_type": 43, "src": { "line": 1252, @@ -46232,21 +46841,22 @@ "start": 45414, "end": 45614, "length": 201, - "parent_index": 2232 + "parent_index": 2233 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "setReferralTokenAndHold(, uint256)", - "signature": "ee6da792", + "signature_raw": "setReferralTokenAndHold(,uint256)", + "signature": "bfaf0f38", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_contract$_IERCBurn_$1891$_t_uint256$", "type_string": "function(contract IERCBurn,uint256)" - } + }, + "text": "functionsetReferralTokenAndHold(IERCBurn_referralToken,uint256_hold)publiconlyOwner{gFees.referralToken=_referralToken;gFees.referralHold=_hold;}" }, { - "id": 2254, + "id": 2255, "name": "setFees", "node_type": 42, "kind": 41, @@ -46264,10 +46874,10 @@ "start": 45630, "end": 45636, "length": 7, - "parent_index": 2254 + "parent_index": 2255 }, "body": { - "id": 2271, + "id": 2272, "node_type": 46, "kind": 0, "src": { @@ -46276,12 +46886,12 @@ "start": 45863, "end": 46386, "length": 524, - "parent_index": 2254 + "parent_index": 2255 }, "implemented": true, "statements": [ { - "id": 2272, + "id": 2273, "node_type": 24, "kind": 24, "src": { @@ -46290,7 +46900,7 @@ "start": 45873, "end": 45933, "length": 61, - "parent_index": 2271 + "parent_index": 2272 }, "argument_types": [ { @@ -46304,7 +46914,7 @@ ], "arguments": [ { - "id": 2274, + "id": 2275, "is_constant": false, "is_pure": false, "node_type": 19, @@ -46314,11 +46924,11 @@ "start": 45881, "end": 45904, "length": 24, - "parent_index": 2272 + "parent_index": 2273 }, "operator": 10, "left_expression": { - "id": 2275, + "id": 2276, "node_type": 16, "src": { "line": 1268, @@ -46326,7 +46936,7 @@ "start": 45881, "end": 45896, "length": 16, - "parent_index": 2274 + "parent_index": 2275 }, "name": "_referralPercent", "type_description": { @@ -46334,11 +46944,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2275, - "is_pure": false + "referenced_declaration": 2276, + "is_pure": false, + "text": "_referralPercent" }, "right_expression": { - "id": 2276, + "id": 2277, "node_type": 17, "kind": 49, "value": "1000", @@ -46349,7 +46960,7 @@ "start": 45901, "end": 45904, "length": 4, - "parent_index": 2274 + "parent_index": 2275 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -46357,7 +46968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "type_description": { "type_identifier": "t_bool", @@ -46365,7 +46977,7 @@ } }, { - "id": 2277, + "id": 2278, "node_type": 17, "kind": 50, "value": "INVALID REFERRAL PERCENT", @@ -46376,7 +46988,7 @@ "start": 45907, "end": 45932, "length": 26, - "parent_index": 2272 + "parent_index": 2273 }, "type_description": { "type_identifier": "t_string_literal", @@ -46390,11 +47002,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID REFERRAL PERCENT\"" } ], "expression": { - "id": 2273, + "id": 2274, "node_type": 16, "src": { "line": 1268, @@ -46402,7 +47015,7 @@ "start": 45873, "end": 45879, "length": 7, - "parent_index": 2272 + "parent_index": 2273 }, "name": "require", "type_description": { @@ -46411,7 +47024,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -46419,7 +47033,7 @@ } }, { - "id": 2278, + "id": 2279, "node_type": 24, "kind": 24, "src": { @@ -46428,7 +47042,7 @@ "start": 45944, "end": 46006, "length": 63, - "parent_index": 2271 + "parent_index": 2272 }, "argument_types": [ { @@ -46442,7 +47056,7 @@ ], "arguments": [ { - "id": 2280, + "id": 2281, "is_constant": false, "is_pure": false, "node_type": 19, @@ -46452,11 +47066,11 @@ "start": 45952, "end": 45976, "length": 25, - "parent_index": 2278 + "parent_index": 2279 }, "operator": 10, "left_expression": { - "id": 2281, + "id": 2282, "node_type": 16, "src": { "line": 1269, @@ -46464,7 +47078,7 @@ "start": 45952, "end": 45968, "length": 17, - "parent_index": 2280 + "parent_index": 2281 }, "name": "_referralDiscount", "type_description": { @@ -46472,11 +47086,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false + "referenced_declaration": 2282, + "is_pure": false, + "text": "_referralDiscount" }, "right_expression": { - "id": 2282, + "id": 2283, "node_type": 17, "kind": 49, "value": "1000", @@ -46487,7 +47102,7 @@ "start": 45973, "end": 45976, "length": 4, - "parent_index": 2280 + "parent_index": 2281 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -46495,7 +47110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "type_description": { "type_identifier": "t_bool", @@ -46503,7 +47119,7 @@ } }, { - "id": 2283, + "id": 2284, "node_type": 17, "kind": 50, "value": "INVALID REFERRAL DISCOUNT", @@ -46514,7 +47130,7 @@ "start": 45979, "end": 46005, "length": 27, - "parent_index": 2278 + "parent_index": 2279 }, "type_description": { "type_identifier": "t_string_literal", @@ -46528,11 +47144,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID REFERRAL DISCOUNT\"" } ], "expression": { - "id": 2279, + "id": 2280, "node_type": 16, "src": { "line": 1269, @@ -46540,7 +47157,7 @@ "start": 45944, "end": 45950, "length": 7, - "parent_index": 2278 + "parent_index": 2279 }, "name": "require", "type_description": { @@ -46549,7 +47166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -46557,7 +47175,7 @@ } }, { - "id": 2284, + "id": 2285, "node_type": 24, "kind": 24, "src": { @@ -46566,7 +47184,7 @@ "start": 46017, "end": 46082, "length": 66, - "parent_index": 2271 + "parent_index": 2272 }, "argument_types": [ { @@ -46580,7 +47198,7 @@ ], "arguments": [ { - "id": 2286, + "id": 2287, "is_constant": false, "is_pure": false, "node_type": 19, @@ -46590,11 +47208,11 @@ "start": 46025, "end": 46055, "length": 31, - "parent_index": 2284 + "parent_index": 2285 }, "operator": 10, "left_expression": { - "id": 2287, + "id": 2288, "node_type": 16, "src": { "line": 1270, @@ -46602,7 +47220,7 @@ "start": 46025, "end": 46047, "length": 23, - "parent_index": 2286 + "parent_index": 2287 }, "name": "_secondaryTokenDiscount", "type_description": { @@ -46610,11 +47228,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2287, - "is_pure": false + "referenced_declaration": 2288, + "is_pure": false, + "text": "_secondaryTokenDiscount" }, "right_expression": { - "id": 2288, + "id": 2289, "node_type": 17, "kind": 49, "value": "1000", @@ -46625,7 +47244,7 @@ "start": 46052, "end": 46055, "length": 4, - "parent_index": 2286 + "parent_index": 2287 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -46633,7 +47252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "type_description": { "type_identifier": "t_bool", @@ -46641,7 +47261,7 @@ } }, { - "id": 2289, + "id": 2290, "node_type": 17, "kind": 50, "value": "INVALID TOKEN DISCOUNT", @@ -46652,7 +47272,7 @@ "start": 46058, "end": 46081, "length": 24, - "parent_index": 2284 + "parent_index": 2285 }, "type_description": { "type_identifier": "t_string_literal", @@ -46666,11 +47286,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID TOKEN DISCOUNT\"" } ], "expression": { - "id": 2285, + "id": 2286, "node_type": 16, "src": { "line": 1270, @@ -46678,7 +47299,7 @@ "start": 46017, "end": 46023, "length": 7, - "parent_index": 2284 + "parent_index": 2285 }, "name": "require", "type_description": { @@ -46687,7 +47308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -46695,7 +47317,7 @@ } }, { - "id": 2290, + "id": 2291, "node_type": 27, "src": { "line": 1272, @@ -46703,10 +47325,10 @@ "start": 46094, "end": 46134, "length": 41, - "parent_index": 2271 + "parent_index": 2272 }, "expression": { - "id": 2291, + "id": 2292, "node_type": 27, "src": { "line": 1272, @@ -46714,11 +47336,11 @@ "start": 46094, "end": 46133, "length": 40, - "parent_index": 2290 + "parent_index": 2291 }, "operator": 11, "left_expression": { - "id": 2292, + "id": 2293, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -46730,7 +47352,7 @@ "start": 46094, "end": 46114, "length": 21, - "parent_index": 2291 + "parent_index": 2292 }, "member_location": { "line": 1272, @@ -46738,10 +47360,10 @@ "start": 46100, "end": 46114, "length": 15, - "parent_index": 2292 + "parent_index": 2293 }, "expression": { - "id": 2293, + "id": 2294, "node_type": 16, "src": { "line": 1272, @@ -46749,26 +47371,28 @@ "start": 46094, "end": 46098, "length": 5, - "parent_index": 2292 + "parent_index": 2293 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralPercent", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralPercent" }, "right_expression": { - "id": 2294, + "id": 2295, "node_type": 16, "src": { "line": 1272, @@ -46776,7 +47400,7 @@ "start": 46118, "end": 46133, "length": 16, - "parent_index": 2291 + "parent_index": 2292 }, "name": "_referralPercent", "type_description": { @@ -46784,21 +47408,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2294, - "is_pure": false + "referenced_declaration": 2295, + "is_pure": false, + "text": "_referralPercent" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralPercent=_referralPercent;" }, { - "id": 2295, + "id": 2296, "node_type": 27, "src": { "line": 1273, @@ -46806,10 +47432,10 @@ "start": 46144, "end": 46186, "length": 43, - "parent_index": 2271 + "parent_index": 2272 }, "expression": { - "id": 2296, + "id": 2297, "node_type": 27, "src": { "line": 1273, @@ -46817,11 +47443,11 @@ "start": 46144, "end": 46185, "length": 42, - "parent_index": 2295 + "parent_index": 2296 }, "operator": 11, "left_expression": { - "id": 2297, + "id": 2298, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -46833,7 +47459,7 @@ "start": 46144, "end": 46165, "length": 22, - "parent_index": 2296 + "parent_index": 2297 }, "member_location": { "line": 1273, @@ -46841,10 +47467,10 @@ "start": 46150, "end": 46165, "length": 16, - "parent_index": 2297 + "parent_index": 2298 }, "expression": { - "id": 2298, + "id": 2299, "node_type": 16, "src": { "line": 1273, @@ -46852,26 +47478,28 @@ "start": 46144, "end": 46148, "length": 5, - "parent_index": 2297 + "parent_index": 2298 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralDiscount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralDiscount" }, "right_expression": { - "id": 2299, + "id": 2300, "node_type": 16, "src": { "line": 1273, @@ -46879,7 +47507,7 @@ "start": 46169, "end": 46185, "length": 17, - "parent_index": 2296 + "parent_index": 2297 }, "name": "_referralDiscount", "type_description": { @@ -46887,21 +47515,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2299, - "is_pure": false + "referenced_declaration": 2300, + "is_pure": false, + "text": "_referralDiscount" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralDiscount=_referralDiscount;" }, { - "id": 2300, + "id": 2301, "node_type": 27, "src": { "line": 1274, @@ -46909,10 +47539,10 @@ "start": 46196, "end": 46218, "length": 23, - "parent_index": 2271 + "parent_index": 2272 }, "expression": { - "id": 2301, + "id": 2302, "node_type": 27, "src": { "line": 1274, @@ -46920,11 +47550,11 @@ "start": 46196, "end": 46217, "length": 22, - "parent_index": 2300 + "parent_index": 2301 }, "operator": 11, "left_expression": { - "id": 2302, + "id": 2303, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -46936,7 +47566,7 @@ "start": 46196, "end": 46207, "length": 12, - "parent_index": 2301 + "parent_index": 2302 }, "member_location": { "line": 1274, @@ -46944,10 +47574,10 @@ "start": 46202, "end": 46207, "length": 6, - "parent_index": 2302 + "parent_index": 2303 }, "expression": { - "id": 2303, + "id": 2304, "node_type": 16, "src": { "line": 1274, @@ -46955,26 +47585,28 @@ "start": 46196, "end": 46200, "length": 5, - "parent_index": 2302 + "parent_index": 2303 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "ethFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.ethFee" }, "right_expression": { - "id": 2304, + "id": 2305, "node_type": 16, "src": { "line": 1274, @@ -46982,7 +47614,7 @@ "start": 46211, "end": 46217, "length": 7, - "parent_index": 2301 + "parent_index": 2302 }, "name": "_ethFee", "type_description": { @@ -46990,21 +47622,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2304, - "is_pure": false + "referenced_declaration": 2305, + "is_pure": false, + "text": "_ethFee" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.ethFee=_ethFee;" }, { - "id": 2305, + "id": 2306, "node_type": 27, "src": { "line": 1275, @@ -47012,10 +47646,10 @@ "start": 46228, "end": 46272, "length": 45, - "parent_index": 2271 + "parent_index": 2272 }, "expression": { - "id": 2306, + "id": 2307, "node_type": 27, "src": { "line": 1275, @@ -47023,11 +47657,11 @@ "start": 46228, "end": 46271, "length": 44, - "parent_index": 2305 + "parent_index": 2306 }, "operator": 11, "left_expression": { - "id": 2307, + "id": 2308, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -47039,7 +47673,7 @@ "start": 46228, "end": 46250, "length": 23, - "parent_index": 2306 + "parent_index": 2307 }, "member_location": { "line": 1275, @@ -47047,10 +47681,10 @@ "start": 46234, "end": 46250, "length": 17, - "parent_index": 2307 + "parent_index": 2308 }, "expression": { - "id": 2308, + "id": 2309, "node_type": 16, "src": { "line": 1275, @@ -47058,26 +47692,28 @@ "start": 46228, "end": 46232, "length": 5, - "parent_index": 2307 + "parent_index": 2308 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "secondaryTokenFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryTokenFee" }, "right_expression": { - "id": 2309, + "id": 2310, "node_type": 16, "src": { "line": 1275, @@ -47085,7 +47721,7 @@ "start": 46254, "end": 46271, "length": 18, - "parent_index": 2306 + "parent_index": 2307 }, "name": "_secondaryTokenFee", "type_description": { @@ -47093,21 +47729,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2309, - "is_pure": false + "referenced_declaration": 2310, + "is_pure": false, + "text": "_secondaryTokenFee" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryTokenFee=_secondaryTokenFee;" }, { - "id": 2310, + "id": 2311, "node_type": 27, "src": { "line": 1276, @@ -47115,10 +47753,10 @@ "start": 46282, "end": 46336, "length": 55, - "parent_index": 2271 + "parent_index": 2272 }, "expression": { - "id": 2311, + "id": 2312, "node_type": 27, "src": { "line": 1276, @@ -47126,11 +47764,11 @@ "start": 46282, "end": 46335, "length": 54, - "parent_index": 2310 + "parent_index": 2311 }, "operator": 11, "left_expression": { - "id": 2312, + "id": 2313, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -47142,7 +47780,7 @@ "start": 46282, "end": 46309, "length": 28, - "parent_index": 2311 + "parent_index": 2312 }, "member_location": { "line": 1276, @@ -47150,10 +47788,10 @@ "start": 46288, "end": 46309, "length": 22, - "parent_index": 2312 + "parent_index": 2313 }, "expression": { - "id": 2313, + "id": 2314, "node_type": 16, "src": { "line": 1276, @@ -47161,26 +47799,28 @@ "start": 46282, "end": 46286, "length": 5, - "parent_index": 2312 + "parent_index": 2313 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "secondaryTokenDiscount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryTokenDiscount" }, "right_expression": { - "id": 2314, + "id": 2315, "node_type": 16, "src": { "line": 1276, @@ -47188,7 +47828,7 @@ "start": 46313, "end": 46335, "length": 23, - "parent_index": 2311 + "parent_index": 2312 }, "name": "_secondaryTokenDiscount", "type_description": { @@ -47196,21 +47836,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2314, - "is_pure": false + "referenced_declaration": 2315, + "is_pure": false, + "text": "_secondaryTokenDiscount" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryTokenDiscount=_secondaryTokenDiscount;" }, { - "id": 2315, + "id": 2316, "node_type": 27, "src": { "line": 1277, @@ -47218,10 +47860,10 @@ "start": 46346, "end": 46380, "length": 35, - "parent_index": 2271 + "parent_index": 2272 }, "expression": { - "id": 2316, + "id": 2317, "node_type": 27, "src": { "line": 1277, @@ -47229,11 +47871,11 @@ "start": 46346, "end": 46379, "length": 34, - "parent_index": 2315 + "parent_index": 2316 }, "operator": 11, "left_expression": { - "id": 2317, + "id": 2318, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -47245,7 +47887,7 @@ "start": 46346, "end": 46363, "length": 18, - "parent_index": 2316 + "parent_index": 2317 }, "member_location": { "line": 1277, @@ -47253,10 +47895,10 @@ "start": 46352, "end": 46363, "length": 12, - "parent_index": 2317 + "parent_index": 2318 }, "expression": { - "id": 2318, + "id": 2319, "node_type": 16, "src": { "line": 1277, @@ -47264,26 +47906,28 @@ "start": 46346, "end": 46350, "length": 5, - "parent_index": 2317 + "parent_index": 2318 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "liquidityFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.liquidityFee" }, "right_expression": { - "id": 2319, + "id": 2320, "node_type": 16, "src": { "line": 1277, @@ -47291,7 +47935,7 @@ "start": 46367, "end": 46379, "length": 13, - "parent_index": 2316 + "parent_index": 2317 }, "name": "_liquidityFee", "type_description": { @@ -47299,18 +47943,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2319, - "is_pure": false + "referenced_declaration": 2320, + "is_pure": false, + "text": "_liquidityFee" }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } }, "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.liquidityFee=_liquidityFee;" } ] }, @@ -47320,7 +47966,7 @@ "virtual": false, "modifiers": [ { - "id": 2268, + "id": 2269, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -47330,12 +47976,12 @@ "start": 45853, "end": 45861, "length": 9, - "parent_index": 2254 + "parent_index": 2255 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2269, + "id": 2270, "name": "onlyOwner", "node_type": 0, "src": { @@ -47344,14 +47990,14 @@ "start": 45853, "end": 45861, "length": 9, - "parent_index": 2268 + "parent_index": 2269 } } } ], "overrides": [], "parameters": { - "id": 2255, + "id": 2256, "node_type": 43, "src": { "line": 1261, @@ -47359,11 +48005,11 @@ "start": 45647, "end": 45838, "length": 192, - "parent_index": 2254 + "parent_index": 2255 }, "parameters": [ { - "id": 2256, + "id": 2257, "node_type": 44, "src": { "line": 1261, @@ -47371,12 +48017,12 @@ "start": 45647, "end": 45670, "length": 24, - "parent_index": 2255 + "parent_index": 2256 }, - "scope": 2254, + "scope": 2255, "name": "_referralPercent", "type_name": { - "id": 2257, + "id": 2258, "node_type": 30, "src": { "line": 1261, @@ -47384,7 +48030,7 @@ "start": 45647, "end": 45653, "length": 7, - "parent_index": 2256 + "parent_index": 2257 }, "name": "uint256", "referenced_declaration": 0, @@ -47402,7 +48048,7 @@ } }, { - "id": 2258, + "id": 2259, "node_type": 44, "src": { "line": 1262, @@ -47410,12 +48056,12 @@ "start": 45681, "end": 45705, "length": 25, - "parent_index": 2255 + "parent_index": 2256 }, - "scope": 2254, + "scope": 2255, "name": "_referralDiscount", "type_name": { - "id": 2259, + "id": 2260, "node_type": 30, "src": { "line": 1262, @@ -47423,7 +48069,7 @@ "start": 45681, "end": 45687, "length": 7, - "parent_index": 2258 + "parent_index": 2259 }, "name": "uint256", "referenced_declaration": 0, @@ -47441,7 +48087,7 @@ } }, { - "id": 2260, + "id": 2261, "node_type": 44, "src": { "line": 1263, @@ -47449,12 +48095,12 @@ "start": 45716, "end": 45730, "length": 15, - "parent_index": 2255 + "parent_index": 2256 }, - "scope": 2254, + "scope": 2255, "name": "_ethFee", "type_name": { - "id": 2261, + "id": 2262, "node_type": 30, "src": { "line": 1263, @@ -47462,7 +48108,7 @@ "start": 45716, "end": 45722, "length": 7, - "parent_index": 2260 + "parent_index": 2261 }, "name": "uint256", "referenced_declaration": 0, @@ -47480,7 +48126,7 @@ } }, { - "id": 2262, + "id": 2263, "node_type": 44, "src": { "line": 1264, @@ -47488,12 +48134,12 @@ "start": 45741, "end": 45766, "length": 26, - "parent_index": 2255 + "parent_index": 2256 }, - "scope": 2254, + "scope": 2255, "name": "_secondaryTokenFee", "type_name": { - "id": 2263, + "id": 2264, "node_type": 30, "src": { "line": 1264, @@ -47501,7 +48147,7 @@ "start": 45741, "end": 45747, "length": 7, - "parent_index": 2262 + "parent_index": 2263 }, "name": "uint256", "referenced_declaration": 0, @@ -47519,7 +48165,7 @@ } }, { - "id": 2264, + "id": 2265, "node_type": 44, "src": { "line": 1265, @@ -47527,12 +48173,12 @@ "start": 45777, "end": 45807, "length": 31, - "parent_index": 2255 + "parent_index": 2256 }, - "scope": 2254, + "scope": 2255, "name": "_secondaryTokenDiscount", "type_name": { - "id": 2265, + "id": 2266, "node_type": 30, "src": { "line": 1265, @@ -47540,7 +48186,7 @@ "start": 45777, "end": 45783, "length": 7, - "parent_index": 2264 + "parent_index": 2265 }, "name": "uint256", "referenced_declaration": 0, @@ -47558,7 +48204,7 @@ } }, { - "id": 2266, + "id": 2267, "node_type": 44, "src": { "line": 1266, @@ -47566,12 +48212,12 @@ "start": 45818, "end": 45838, "length": 21, - "parent_index": 2255 + "parent_index": 2256 }, - "scope": 2254, + "scope": 2255, "name": "_liquidityFee", "type_name": { - "id": 2267, + "id": 2268, "node_type": 30, "src": { "line": 1266, @@ -47579,7 +48225,7 @@ "start": 45818, "end": 45824, "length": 7, - "parent_index": 2266 + "parent_index": 2267 }, "name": "uint256", "referenced_declaration": 0, @@ -47625,7 +48271,7 @@ ] }, "return_parameters": { - "id": 2270, + "id": 2271, "node_type": 43, "src": { "line": 1260, @@ -47633,21 +48279,22 @@ "start": 45621, "end": 46386, "length": 766, - "parent_index": 2254 + "parent_index": 2255 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "setFees(uint256, uint256, uint256, uint256, uint256, uint256)", - "signature": "24633dd7", + "signature_raw": "setFees(uint256,uint256,uint256,uint256,uint256,uint256)", + "signature": "86f6c3c1", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256,uint256,uint256,uint256)" - } + }, + "text": "functionsetFees(uint256_referralPercent,uint256_referralDiscount,uint256_ethFee,uint256_secondaryTokenFee,uint256_secondaryTokenDiscount,uint256_liquidityFee)publiconlyOwner{require(_referralPercent\u003c=1000,\"INVALID REFERRAL PERCENT\");require(_referralDiscount\u003c=1000,\"INVALID REFERRAL DISCOUNT\");require(_secondaryTokenDiscount\u003c=1000,\"INVALID TOKEN DISCOUNT\");gFees.referralPercent=_referralPercent;gFees.referralDiscount=_referralDiscount;gFees.ethFee=_ethFee;gFees.secondaryTokenFee=_secondaryTokenFee;gFees.secondaryTokenDiscount=_secondaryTokenDiscount;gFees.liquidityFee=_liquidityFee;}" }, { - "id": 2321, + "id": 2322, "name": "whitelistFeeAccount", "node_type": 42, "kind": 41, @@ -47665,10 +48312,10 @@ "start": 46532, "end": 46550, "length": 19, - "parent_index": 2321 + "parent_index": 2322 }, "body": { - "id": 2332, + "id": 2333, "node_type": 46, "kind": 0, "src": { @@ -47677,12 +48324,12 @@ "start": 46632, "end": 46870, "length": 239, - "parent_index": 2321 + "parent_index": 2322 }, "implemented": true, "statements": [ { - "id": 2333, + "id": 2334, "node_type": 24, "kind": 24, "src": { @@ -47691,7 +48338,7 @@ "start": 46642, "end": 46688, "length": 47, - "parent_index": 2332 + "parent_index": 2333 }, "argument_types": [ { @@ -47705,7 +48352,7 @@ ], "arguments": [ { - "id": 2335, + "id": 2336, "is_constant": false, "is_pure": false, "node_type": 19, @@ -47715,11 +48362,11 @@ "start": 46650, "end": 46668, "length": 19, - "parent_index": 2333 + "parent_index": 2334 }, "operator": 12, "left_expression": { - "id": 2336, + "id": 2337, "node_type": 16, "src": { "line": 1288, @@ -47727,7 +48374,7 @@ "start": 46650, "end": 46654, "length": 5, - "parent_index": 2335 + "parent_index": 2336 }, "name": "_user", "type_description": { @@ -47735,11 +48382,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2336, - "is_pure": false + "referenced_declaration": 2337, + "is_pure": false, + "text": "_user" }, "right_expression": { - "id": 2337, + "id": 2338, "node_type": 24, "kind": 24, "src": { @@ -47748,7 +48396,7 @@ "start": 46659, "end": 46668, "length": 10, - "parent_index": 2335 + "parent_index": 2336 }, "argument_types": [ { @@ -47758,7 +48406,7 @@ ], "arguments": [ { - "id": 2340, + "id": 2341, "node_type": 17, "kind": 49, "value": "0", @@ -47769,7 +48417,7 @@ "start": 46667, "end": 46667, "length": 1, - "parent_index": 2337 + "parent_index": 2338 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -47777,11 +48425,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2338, + "id": 2339, "node_type": 16, "src": { "line": 1288, @@ -47789,11 +48438,11 @@ "start": 46659, "end": 46665, "length": 7, - "parent_index": 2337 + "parent_index": 2338 }, "name": "address", "type_name": { - "id": 2339, + "id": 2340, "node_type": 30, "src": { "line": 1288, @@ -47801,7 +48450,7 @@ "start": 46659, "end": 46665, "length": 7, - "parent_index": 2338 + "parent_index": 2339 }, "name": "address", "state_mutability": 4, @@ -47823,7 +48472,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -47836,7 +48486,7 @@ } }, { - "id": 2341, + "id": 2342, "node_type": 17, "kind": 50, "value": "INVALID ADDRESS", @@ -47847,7 +48497,7 @@ "start": 46671, "end": 46687, "length": 17, - "parent_index": 2333 + "parent_index": 2334 }, "type_description": { "type_identifier": "t_string_literal", @@ -47861,11 +48511,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID ADDRESS\"" } ], "expression": { - "id": 2334, + "id": 2335, "node_type": 16, "src": { "line": 1288, @@ -47873,7 +48524,7 @@ "start": 46642, "end": 46648, "length": 7, - "parent_index": 2333 + "parent_index": 2334 }, "name": "require", "type_description": { @@ -47882,7 +48533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -47890,7 +48542,7 @@ } }, { - "id": 2342, + "id": 2343, "node_type": 48, "src": { "line": 1290, @@ -47898,10 +48550,10 @@ "start": 46700, "end": 46864, "length": 165, - "parent_index": 2332 + "parent_index": 2333 }, "condition": { - "id": 2343, + "id": 2344, "node_type": 16, "src": { "line": 1290, @@ -47909,7 +48561,7 @@ "start": 46704, "end": 46707, "length": 4, - "parent_index": 2342 + "parent_index": 2343 }, "name": "_add", "type_description": { @@ -47917,11 +48569,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 2343, - "is_pure": false + "referenced_declaration": 2344, + "is_pure": false, + "text": "_add" }, "body": { - "id": 2344, + "id": 2345, "node_type": 46, "kind": 0, "src": { @@ -47930,12 +48583,12 @@ "start": 46710, "end": 46782, "length": 73, - "parent_index": 2321 + "parent_index": 2322 }, "implemented": true, "statements": [ { - "id": 2345, + "id": 2346, "node_type": 24, "kind": 24, "src": { @@ -47944,7 +48597,7 @@ "start": 46724, "end": 46746, "length": 23, - "parent_index": 2344 + "parent_index": 2345 }, "argument_types": [ { @@ -47954,7 +48607,7 @@ ], "arguments": [ { - "id": 2348, + "id": 2349, "node_type": 16, "src": { "line": 1291, @@ -47962,7 +48615,7 @@ "start": 46741, "end": 46745, "length": 5, - "parent_index": 2345 + "parent_index": 2346 }, "name": "_user", "type_description": { @@ -47970,12 +48623,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2348, - "is_pure": false + "referenced_declaration": 2349, + "is_pure": false, + "text": "_user" } ], "expression": { - "id": 2346, + "id": 2347, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -47987,7 +48641,7 @@ "start": 46724, "end": 46739, "length": 16, - "parent_index": 2345 + "parent_index": 2346 }, "member_location": { "line": 1291, @@ -47995,10 +48649,10 @@ "start": 46737, "end": 46739, "length": 3, - "parent_index": 2346 + "parent_index": 2347 }, "expression": { - "id": 2347, + "id": 2348, "node_type": 16, "src": { "line": 1291, @@ -48006,7 +48660,7 @@ "start": 46724, "end": 46735, "length": 12, - "parent_index": 2346 + "parent_index": 2347 }, "name": "feeWhitelist", "type_description": { @@ -48014,15 +48668,17 @@ "type_string": "contract EnumerableSet" }, "overloaded_declarations": [], - "referenced_declaration": 2085, - "is_pure": false + "referenced_declaration": 2086, + "is_pure": false, + "text": "feeWhitelist" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_contract$_EnumerableSet_$427", "type_string": "contract EnumerableSet" - } + }, + "text": "feeWhitelist.add" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -48030,7 +48686,7 @@ } }, { - "id": 2349, + "id": 2350, "node_type": 47, "src": { "line": 1292, @@ -48038,11 +48694,11 @@ "start": 46761, "end": 46772, "length": 12, - "parent_index": 2321 + "parent_index": 2322 }, - "function_return_parameters": 2321, + "function_return_parameters": 2322, "expression": { - "id": 2350, + "id": 2351, "node_type": 17, "kind": 61, "value": "true", @@ -48053,7 +48709,7 @@ "start": 46768, "end": 46771, "length": 4, - "parent_index": 2349 + "parent_index": 2350 }, "type_description": { "type_identifier": "t_bool", @@ -48061,7 +48717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -48075,7 +48732,7 @@ "virtual": false, "modifiers": [ { - "id": 2327, + "id": 2328, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -48085,12 +48742,12 @@ "start": 46607, "end": 46615, "length": 9, - "parent_index": 2321 + "parent_index": 2322 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2328, + "id": 2329, "name": "onlyOwner", "node_type": 0, "src": { @@ -48099,14 +48756,14 @@ "start": 46607, "end": 46615, "length": 9, - "parent_index": 2327 + "parent_index": 2328 } } } ], "overrides": [], "parameters": { - "id": 2322, + "id": 2323, "node_type": 43, "src": { "line": 1285, @@ -48114,11 +48771,11 @@ "start": 46561, "end": 46592, "length": 32, - "parent_index": 2321 + "parent_index": 2322 }, "parameters": [ { - "id": 2323, + "id": 2324, "node_type": 44, "src": { "line": 1285, @@ -48126,12 +48783,12 @@ "start": 46561, "end": 46573, "length": 13, - "parent_index": 2322 + "parent_index": 2323 }, - "scope": 2321, + "scope": 2322, "name": "_user", "type_name": { - "id": 2324, + "id": 2325, "node_type": 30, "src": { "line": 1285, @@ -48139,7 +48796,7 @@ "start": 46561, "end": 46567, "length": 7, - "parent_index": 2323 + "parent_index": 2324 }, "name": "address", "state_mutability": 4, @@ -48158,7 +48815,7 @@ } }, { - "id": 2325, + "id": 2326, "node_type": 44, "src": { "line": 1286, @@ -48166,12 +48823,12 @@ "start": 46584, "end": 46592, "length": 9, - "parent_index": 2322 + "parent_index": 2323 }, - "scope": 2321, + "scope": 2322, "name": "_add", "type_name": { - "id": 2326, + "id": 2327, "node_type": 30, "src": { "line": 1286, @@ -48179,7 +48836,7 @@ "start": 46584, "end": 46587, "length": 4, - "parent_index": 2325 + "parent_index": 2326 }, "name": "bool", "referenced_declaration": 0, @@ -48209,7 +48866,7 @@ ] }, "return_parameters": { - "id": 2329, + "id": 2330, "node_type": 43, "src": { "line": 1287, @@ -48217,11 +48874,11 @@ "start": 46626, "end": 46629, "length": 4, - "parent_index": 2321 + "parent_index": 2322 }, "parameters": [ { - "id": 2330, + "id": 2331, "node_type": 44, "src": { "line": 1287, @@ -48229,12 +48886,12 @@ "start": 46626, "end": 46629, "length": 4, - "parent_index": 2329 + "parent_index": 2330 }, - "scope": 2321, + "scope": 2322, "name": "", "type_name": { - "id": 2331, + "id": 2332, "node_type": 30, "src": { "line": 1287, @@ -48242,7 +48899,7 @@ "start": 46626, "end": 46629, "length": 4, - "parent_index": 2330 + "parent_index": 2331 }, "name": "bool", "referenced_declaration": 0, @@ -48267,16 +48924,17 @@ } ] }, - "signature_raw": "whitelistFeeAccount(address, bool)", - "signature": "fd317221", + "signature_raw": "whitelistFeeAccount(address,bool)", + "signature": "91ff1eb1", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionwhitelistFeeAccount(address_user,bool_add)publiconlyOwnerreturns(bool){require(_user!=address(0),\"INVALID ADDRESS\");if(_add){feeWhitelist.add(_user);returntrue;}else{feeWhitelist.remove(_user);returntrue;}}" }, { - "id": 2352, + "id": 2353, "name": "lockLPToken", "node_type": 42, "kind": 41, @@ -48294,10 +48952,10 @@ "start": 47453, "end": 47463, "length": 11, - "parent_index": 2352 + "parent_index": 2353 }, "body": { - "id": 2371, + "id": 2372, "node_type": 46, "kind": 0, "src": { @@ -48306,12 +48964,12 @@ "start": 47695, "end": 52324, "length": 4630, - "parent_index": 2352 + "parent_index": 2353 }, "implemented": true, "statements": [ { - "id": 2372, + "id": 2373, "node_type": 24, "kind": 24, "src": { @@ -48320,7 +48978,7 @@ "start": 47705, "end": 47760, "length": 56, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -48334,7 +48992,7 @@ ], "arguments": [ { - "id": 2374, + "id": 2375, "is_constant": false, "is_pure": false, "node_type": 19, @@ -48344,11 +49002,11 @@ "start": 47713, "end": 47738, "length": 26, - "parent_index": 2372 + "parent_index": 2373 }, "operator": 9, "left_expression": { - "id": 2375, + "id": 2376, "node_type": 16, "src": { "line": 1317, @@ -48356,7 +49014,7 @@ "start": 47713, "end": 47724, "length": 12, - "parent_index": 2374 + "parent_index": 2375 }, "name": "_unlock_date", "type_description": { @@ -48364,11 +49022,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2375, - "is_pure": false + "referenced_declaration": 2376, + "is_pure": false, + "text": "_unlock_date" }, "right_expression": { - "id": 2376, + "id": 2377, "node_type": 17, "kind": 49, "value": "10000000000", @@ -48379,7 +49038,7 @@ "start": 47728, "end": 47738, "length": 11, - "parent_index": 2374 + "parent_index": 2375 }, "type_description": { "type_identifier": "t_rational_10000000000_by_1", @@ -48387,7 +49046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10000000000" }, "type_description": { "type_identifier": "t_bool", @@ -48395,7 +49055,7 @@ } }, { - "id": 2377, + "id": 2378, "node_type": 17, "kind": 50, "value": "TIMESTAMP INVALID", @@ -48406,7 +49066,7 @@ "start": 47741, "end": 47759, "length": 19, - "parent_index": 2372 + "parent_index": 2373 }, "type_description": { "type_identifier": "t_string_literal", @@ -48420,11 +49080,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TIMESTAMP INVALID\"" } ], "expression": { - "id": 2373, + "id": 2374, "node_type": 16, "src": { "line": 1317, @@ -48432,7 +49093,7 @@ "start": 47705, "end": 47711, "length": 7, - "parent_index": 2372 + "parent_index": 2373 }, "name": "require", "type_description": { @@ -48441,7 +49102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -48449,7 +49111,7 @@ } }, { - "id": 2378, + "id": 2379, "node_type": 24, "kind": 24, "src": { @@ -48458,7 +49120,7 @@ "start": 47829, "end": 47864, "length": 36, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -48472,7 +49134,7 @@ ], "arguments": [ { - "id": 2380, + "id": 2381, "is_constant": false, "is_pure": false, "node_type": 19, @@ -48482,11 +49144,11 @@ "start": 47837, "end": 47847, "length": 11, - "parent_index": 2378 + "parent_index": 2379 }, "operator": 7, "left_expression": { - "id": 2381, + "id": 2382, "node_type": 16, "src": { "line": 1318, @@ -48494,7 +49156,7 @@ "start": 47837, "end": 47843, "length": 7, - "parent_index": 2380 + "parent_index": 2381 }, "name": "_amount", "type_description": { @@ -48502,11 +49164,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2381, - "is_pure": false + "referenced_declaration": 2382, + "is_pure": false, + "text": "_amount" }, "right_expression": { - "id": 2382, + "id": 2383, "node_type": 17, "kind": 49, "value": "0", @@ -48517,7 +49180,7 @@ "start": 47847, "end": 47847, "length": 1, - "parent_index": 2380 + "parent_index": 2381 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -48525,7 +49188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -48533,7 +49197,7 @@ } }, { - "id": 2383, + "id": 2384, "node_type": 17, "kind": 50, "value": "INSUFFICIENT", @@ -48544,7 +49208,7 @@ "start": 47850, "end": 47863, "length": 14, - "parent_index": 2378 + "parent_index": 2379 }, "type_description": { "type_identifier": "t_string_literal", @@ -48558,11 +49222,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INSUFFICIENT\"" } ], "expression": { - "id": 2379, + "id": 2380, "node_type": 16, "src": { "line": 1318, @@ -48570,7 +49235,7 @@ "start": 47829, "end": 47835, "length": 7, - "parent_index": 2378 + "parent_index": 2379 }, "name": "require", "type_description": { @@ -48579,7 +49244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -48587,7 +49253,7 @@ } }, { - "id": 2384, + "id": 2385, "node_type": 24, "kind": 24, "src": { @@ -48596,7 +49262,7 @@ "start": 47875, "end": 47937, "length": 63, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -48610,7 +49276,7 @@ ], "arguments": [ { - "id": 2386, + "id": 2387, "is_constant": false, "is_pure": false, "node_type": 19, @@ -48620,11 +49286,11 @@ "start": 47883, "end": 47912, "length": 30, - "parent_index": 2384 + "parent_index": 2385 }, "operator": 7, "left_expression": { - "id": 2387, + "id": 2388, "node_type": 16, "src": { "line": 1319, @@ -48632,7 +49298,7 @@ "start": 47883, "end": 47894, "length": 12, - "parent_index": 2386 + "parent_index": 2387 }, "name": "_unlock_date", "type_description": { @@ -48640,11 +49306,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2387, - "is_pure": false + "referenced_declaration": 2388, + "is_pure": false, + "text": "_unlock_date" }, "right_expression": { - "id": 2388, + "id": 2389, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -48656,7 +49323,7 @@ "start": 47898, "end": 47912, "length": 15, - "parent_index": 2386 + "parent_index": 2387 }, "member_location": { "line": 1319, @@ -48664,10 +49331,10 @@ "start": 47904, "end": 47912, "length": 9, - "parent_index": 2388 + "parent_index": 2389 }, "expression": { - "id": 2389, + "id": 2390, "node_type": 16, "src": { "line": 1319, @@ -48675,7 +49342,7 @@ "start": 47898, "end": 47902, "length": 5, - "parent_index": 2388 + "parent_index": 2389 }, "name": "block", "type_description": { @@ -48684,14 +49351,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -48699,7 +49368,7 @@ } }, { - "id": 2390, + "id": 2391, "node_type": 17, "kind": 50, "value": "BLOCK HEIGHT INVALID", @@ -48710,7 +49379,7 @@ "start": 47915, "end": 47936, "length": 22, - "parent_index": 2384 + "parent_index": 2385 }, "type_description": { "type_identifier": "t_string_literal", @@ -48724,11 +49393,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"BLOCK HEIGHT INVALID\"" } ], "expression": { - "id": 2385, + "id": 2386, "node_type": 16, "src": { "line": 1319, @@ -48736,7 +49406,7 @@ "start": 47875, "end": 47881, "length": 7, - "parent_index": 2384 + "parent_index": 2385 }, "name": "require", "type_description": { @@ -48745,7 +49415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -48753,7 +49424,7 @@ } }, { - "id": 2391, + "id": 2392, "node_type": 24, "kind": 24, "src": { @@ -48762,7 +49433,7 @@ "start": 47948, "end": 47997, "length": 50, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -48776,7 +49447,7 @@ ], "arguments": [ { - "id": 2393, + "id": 2394, "is_constant": false, "is_pure": false, "node_type": 19, @@ -48786,11 +49457,11 @@ "start": 47956, "end": 47977, "length": 22, - "parent_index": 2391 + "parent_index": 2392 }, "operator": 12, "left_expression": { - "id": 2394, + "id": 2395, "node_type": 16, "src": { "line": 1320, @@ -48798,7 +49469,7 @@ "start": 47956, "end": 47963, "length": 8, - "parent_index": 2393 + "parent_index": 2394 }, "name": "_lpToken", "type_description": { @@ -48806,11 +49477,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2394, - "is_pure": false + "referenced_declaration": 2395, + "is_pure": false, + "text": "_lpToken" }, "right_expression": { - "id": 2395, + "id": 2396, "node_type": 24, "kind": 24, "src": { @@ -48819,7 +49491,7 @@ "start": 47968, "end": 47977, "length": 10, - "parent_index": 2393 + "parent_index": 2394 }, "argument_types": [ { @@ -48829,7 +49501,7 @@ ], "arguments": [ { - "id": 2398, + "id": 2399, "node_type": 17, "kind": 49, "value": "0", @@ -48840,7 +49512,7 @@ "start": 47976, "end": 47976, "length": 1, - "parent_index": 2395 + "parent_index": 2396 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -48848,11 +49520,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2396, + "id": 2397, "node_type": 16, "src": { "line": 1320, @@ -48860,11 +49533,11 @@ "start": 47968, "end": 47974, "length": 7, - "parent_index": 2395 + "parent_index": 2396 }, "name": "address", "type_name": { - "id": 2397, + "id": 2398, "node_type": 30, "src": { "line": 1320, @@ -48872,7 +49545,7 @@ "start": 47968, "end": 47974, "length": 7, - "parent_index": 2396 + "parent_index": 2397 }, "name": "address", "state_mutability": 4, @@ -48894,7 +49567,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -48907,7 +49581,7 @@ } }, { - "id": 2399, + "id": 2400, "node_type": 17, "kind": 50, "value": "INVALID ADDRESS", @@ -48918,7 +49592,7 @@ "start": 47980, "end": 47996, "length": 17, - "parent_index": 2391 + "parent_index": 2392 }, "type_description": { "type_identifier": "t_string_literal", @@ -48932,11 +49606,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID ADDRESS\"" } ], "expression": { - "id": 2392, + "id": 2393, "node_type": 16, "src": { "line": 1320, @@ -48944,7 +49619,7 @@ "start": 47948, "end": 47954, "length": 7, - "parent_index": 2391 + "parent_index": 2392 }, "name": "require", "type_description": { @@ -48953,7 +49628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -48961,7 +49637,7 @@ } }, { - "id": 2400, + "id": 2401, "node_type": 24, "kind": 24, "src": { @@ -48970,7 +49646,7 @@ "start": 48008, "end": 48060, "length": 53, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -48984,7 +49660,7 @@ ], "arguments": [ { - "id": 2402, + "id": 2403, "is_constant": false, "is_pure": false, "node_type": 19, @@ -48994,11 +49670,11 @@ "start": 48016, "end": 48040, "length": 25, - "parent_index": 2400 + "parent_index": 2401 }, "operator": 12, "left_expression": { - "id": 2403, + "id": 2404, "node_type": 16, "src": { "line": 1321, @@ -49006,7 +49682,7 @@ "start": 48016, "end": 48026, "length": 11, - "parent_index": 2402 + "parent_index": 2403 }, "name": "_withdrawer", "type_description": { @@ -49014,11 +49690,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2403, - "is_pure": false + "referenced_declaration": 2404, + "is_pure": false, + "text": "_withdrawer" }, "right_expression": { - "id": 2404, + "id": 2405, "node_type": 24, "kind": 24, "src": { @@ -49027,7 +49704,7 @@ "start": 48031, "end": 48040, "length": 10, - "parent_index": 2402 + "parent_index": 2403 }, "argument_types": [ { @@ -49037,7 +49714,7 @@ ], "arguments": [ { - "id": 2407, + "id": 2408, "node_type": 17, "kind": 49, "value": "0", @@ -49048,7 +49725,7 @@ "start": 48039, "end": 48039, "length": 1, - "parent_index": 2404 + "parent_index": 2405 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -49056,11 +49733,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2405, + "id": 2406, "node_type": 16, "src": { "line": 1321, @@ -49068,11 +49746,11 @@ "start": 48031, "end": 48037, "length": 7, - "parent_index": 2404 + "parent_index": 2405 }, "name": "address", "type_name": { - "id": 2406, + "id": 2407, "node_type": 30, "src": { "line": 1321, @@ -49080,7 +49758,7 @@ "start": 48031, "end": 48037, "length": 7, - "parent_index": 2405 + "parent_index": 2406 }, "name": "address", "state_mutability": 4, @@ -49102,7 +49780,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -49115,7 +49794,7 @@ } }, { - "id": 2408, + "id": 2409, "node_type": 17, "kind": 50, "value": "INVALID ADDRESS", @@ -49126,7 +49805,7 @@ "start": 48043, "end": 48059, "length": 17, - "parent_index": 2400 + "parent_index": 2401 }, "type_description": { "type_identifier": "t_string_literal", @@ -49140,11 +49819,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID ADDRESS\"" } ], "expression": { - "id": 2401, + "id": 2402, "node_type": 16, "src": { "line": 1321, @@ -49152,7 +49832,7 @@ "start": 48008, "end": 48014, "length": 7, - "parent_index": 2400 + "parent_index": 2401 }, "name": "require", "type_description": { @@ -49161,7 +49841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -49169,7 +49850,7 @@ } }, { - "id": 2409, + "id": 2410, "node_type": 44, "src": { "line": 1324, @@ -49177,25 +49858,25 @@ "start": 48140, "end": 48196, "length": 57, - "parent_index": 2371 + "parent_index": 2372 }, "assignments": [ - 2410 + 2411 ], "declarations": [ { - "id": 2410, + "id": 2411, "state_mutability": 1, "name": "lpair", "node_type": 44, - "scope": 2371, + "scope": 2372, "src": { "line": 1324, "column": 8, "start": 48140, "end": 48159, "length": 20, - "parent_index": 2409 + "parent_index": 2410 }, "name_location": { "line": 1324, @@ -49203,12 +49884,12 @@ "start": 48155, "end": 48159, "length": 5, - "parent_index": 2410 + "parent_index": 2411 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2411, + "id": 2412, "node_type": 69, "src": { "line": 1324, @@ -49216,10 +49897,10 @@ "start": 48140, "end": 48153, "length": 14, - "parent_index": 2410 + "parent_index": 2411 }, "path_node": { - "id": 2412, + "id": 2413, "name": "IUniswapV2Pair", "node_type": 52, "referenced_declaration": 1853, @@ -49229,7 +49910,7 @@ "start": 48140, "end": 48153, "length": 14, - "parent_index": 2411 + "parent_index": 2412 }, "name_location": { "line": 1324, @@ -49237,7 +49918,7 @@ "start": 48140, "end": 48153, "length": 14, - "parent_index": 2411 + "parent_index": 2412 } }, "referenced_declaration": 1853, @@ -49250,7 +49931,7 @@ } ], "initial_value": { - "id": 2413, + "id": 2414, "node_type": 24, "kind": 24, "src": { @@ -49259,7 +49940,7 @@ "start": 48163, "end": 48195, "length": 33, - "parent_index": 2409 + "parent_index": 2410 }, "argument_types": [ { @@ -49269,7 +49950,7 @@ ], "arguments": [ { - "id": 2415, + "id": 2416, "node_type": 24, "kind": 24, "src": { @@ -49278,7 +49959,7 @@ "start": 48178, "end": 48194, "length": 17, - "parent_index": 2413 + "parent_index": 2414 }, "argument_types": [ { @@ -49288,7 +49969,7 @@ ], "arguments": [ { - "id": 2418, + "id": 2419, "node_type": 16, "src": { "line": 1324, @@ -49296,7 +49977,7 @@ "start": 48186, "end": 48193, "length": 8, - "parent_index": 2415 + "parent_index": 2416 }, "name": "_lpToken", "type_description": { @@ -49304,12 +49985,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2418, - "is_pure": false + "referenced_declaration": 2419, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 2416, + "id": 2417, "node_type": 16, "src": { "line": 1324, @@ -49317,11 +49999,11 @@ "start": 48178, "end": 48184, "length": 7, - "parent_index": 2415 + "parent_index": 2416 }, "name": "address", "type_name": { - "id": 2417, + "id": 2418, "node_type": 30, "src": { "line": 1324, @@ -49329,7 +50011,7 @@ "start": 48178, "end": 48184, "length": 7, - "parent_index": 2416 + "parent_index": 2417 }, "name": "address", "state_mutability": 4, @@ -49351,7 +50033,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -49360,7 +50043,7 @@ } ], "expression": { - "id": 2414, + "id": 2415, "node_type": 16, "src": { "line": 1324, @@ -49368,7 +50051,7 @@ "start": 48163, "end": 48176, "length": 14, - "parent_index": 2413 + "parent_index": 2414 }, "name": "IUniswapV2Pair", "type_description": { @@ -49377,7 +50060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -49386,7 +50070,7 @@ } }, { - "id": 2419, + "id": 2420, "node_type": 44, "src": { "line": 1325, @@ -49394,25 +50078,25 @@ "start": 48206, "end": 48323, "length": 118, - "parent_index": 2371 + "parent_index": 2372 }, "assignments": [ - 2420 + 2421 ], "declarations": [ { - "id": 2420, + "id": 2421, "state_mutability": 1, "name": "factoryPairAddress", "node_type": 44, - "scope": 2371, + "scope": 2372, "src": { "line": 1325, "column": 8, "start": 48206, "end": 48231, "length": 26, - "parent_index": 2419 + "parent_index": 2420 }, "name_location": { "line": 1325, @@ -49420,12 +50104,12 @@ "start": 48214, "end": 48231, "length": 18, - "parent_index": 2420 + "parent_index": 2421 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2421, + "id": 2422, "node_type": 30, "src": { "line": 1325, @@ -49433,7 +50117,7 @@ "start": 48206, "end": 48212, "length": 7, - "parent_index": 2420 + "parent_index": 2421 }, "name": "address", "state_mutability": 4, @@ -49447,7 +50131,7 @@ } ], "initial_value": { - "id": 2422, + "id": 2423, "node_type": 24, "kind": 24, "src": { @@ -49456,7 +50140,7 @@ "start": 48235, "end": 48322, "length": 88, - "parent_index": 2419 + "parent_index": 2420 }, "argument_types": [ { @@ -49470,7 +50154,7 @@ ], "arguments": [ { - "id": 2425, + "id": 2426, "node_type": 24, "kind": 24, "src": { @@ -49479,12 +50163,12 @@ "start": 48271, "end": 48284, "length": 14, - "parent_index": 2422 + "parent_index": 2423 }, "argument_types": [], "arguments": [], "expression": { - "id": 2426, + "id": 2427, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -49496,7 +50180,7 @@ "start": 48271, "end": 48282, "length": 12, - "parent_index": 2425 + "parent_index": 2426 }, "member_location": { "line": 1326, @@ -49504,10 +50188,10 @@ "start": 48277, "end": 48282, "length": 6, - "parent_index": 2426 + "parent_index": 2427 }, "expression": { - "id": 2427, + "id": 2428, "node_type": 16, "src": { "line": 1326, @@ -49515,7 +50199,7 @@ "start": 48271, "end": 48275, "length": 5, - "parent_index": 2426 + "parent_index": 2427 }, "name": "lpair", "type_description": { @@ -49523,15 +50207,17 @@ "type_string": "contract IUniswapV2Pair" }, "overloaded_declarations": [], - "referenced_declaration": 2409, - "is_pure": false + "referenced_declaration": 2410, + "is_pure": false, + "text": "lpair" }, "member_name": "token0", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Pair_$1853", "type_string": "contract IUniswapV2Pair" - } + }, + "text": "lpair.token0" }, "type_description": { "type_identifier": "t_function_$", @@ -49539,7 +50225,7 @@ } }, { - "id": 2428, + "id": 2429, "node_type": 24, "kind": 24, "src": { @@ -49548,12 +50234,12 @@ "start": 48299, "end": 48312, "length": 14, - "parent_index": 2422 + "parent_index": 2423 }, "argument_types": [], "arguments": [], "expression": { - "id": 2429, + "id": 2430, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -49565,7 +50251,7 @@ "start": 48299, "end": 48310, "length": 12, - "parent_index": 2428 + "parent_index": 2429 }, "member_location": { "line": 1327, @@ -49573,10 +50259,10 @@ "start": 48305, "end": 48310, "length": 6, - "parent_index": 2429 + "parent_index": 2430 }, "expression": { - "id": 2430, + "id": 2431, "node_type": 16, "src": { "line": 1327, @@ -49584,7 +50270,7 @@ "start": 48299, "end": 48303, "length": 5, - "parent_index": 2429 + "parent_index": 2430 }, "name": "lpair", "type_description": { @@ -49592,15 +50278,17 @@ "type_string": "contract IUniswapV2Pair" }, "overloaded_declarations": [], - "referenced_declaration": 2409, - "is_pure": false + "referenced_declaration": 2410, + "is_pure": false, + "text": "lpair" }, "member_name": "token1", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Pair_$1853", "type_string": "contract IUniswapV2Pair" - } + }, + "text": "lpair.token1" }, "type_description": { "type_identifier": "t_function_$", @@ -49609,7 +50297,7 @@ } ], "expression": { - "id": 2423, + "id": 2424, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -49621,7 +50309,7 @@ "start": 48235, "end": 48256, "length": 22, - "parent_index": 2422 + "parent_index": 2423 }, "member_location": { "line": 1325, @@ -49629,10 +50317,10 @@ "start": 48250, "end": 48256, "length": 7, - "parent_index": 2423 + "parent_index": 2424 }, "expression": { - "id": 2424, + "id": 2425, "node_type": 16, "src": { "line": 1325, @@ -49640,7 +50328,7 @@ "start": 48235, "end": 48248, "length": 14, - "parent_index": 2423 + "parent_index": 2424 }, "name": "uniswapFactory", "type_description": { @@ -49649,14 +50337,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2018, - "is_pure": false + "is_pure": false, + "text": "uniswapFactory" }, "member_name": "getPair", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniFactory_$1940", "type_string": "contract IUniFactory" - } + }, + "text": "uniswapFactory.getPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -49665,7 +50355,7 @@ } }, { - "id": 2431, + "id": 2432, "node_type": 24, "kind": 24, "src": { @@ -49674,7 +50364,7 @@ "start": 48333, "end": 48393, "length": 61, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -49688,7 +50378,7 @@ ], "arguments": [ { - "id": 2433, + "id": 2434, "is_constant": false, "is_pure": false, "node_type": 19, @@ -49698,11 +50388,11 @@ "start": 48341, "end": 48379, "length": 39, - "parent_index": 2431 + "parent_index": 2432 }, "operator": 11, "left_expression": { - "id": 2434, + "id": 2435, "node_type": 16, "src": { "line": 1329, @@ -49710,7 +50400,7 @@ "start": 48341, "end": 48358, "length": 18, - "parent_index": 2433 + "parent_index": 2434 }, "name": "factoryPairAddress", "type_description": { @@ -49718,11 +50408,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2419, - "is_pure": false + "referenced_declaration": 2420, + "is_pure": false, + "text": "factoryPairAddress" }, "right_expression": { - "id": 2435, + "id": 2436, "node_type": 24, "kind": 24, "src": { @@ -49731,7 +50422,7 @@ "start": 48363, "end": 48379, "length": 17, - "parent_index": 2433 + "parent_index": 2434 }, "argument_types": [ { @@ -49741,7 +50432,7 @@ ], "arguments": [ { - "id": 2438, + "id": 2439, "node_type": 16, "src": { "line": 1329, @@ -49749,7 +50440,7 @@ "start": 48371, "end": 48378, "length": 8, - "parent_index": 2435 + "parent_index": 2436 }, "name": "_lpToken", "type_description": { @@ -49757,12 +50448,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2438, - "is_pure": false + "referenced_declaration": 2439, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 2436, + "id": 2437, "node_type": 16, "src": { "line": 1329, @@ -49770,11 +50462,11 @@ "start": 48363, "end": 48369, "length": 7, - "parent_index": 2435 + "parent_index": 2436 }, "name": "address", "type_name": { - "id": 2437, + "id": 2438, "node_type": 30, "src": { "line": 1329, @@ -49782,7 +50474,7 @@ "start": 48363, "end": 48369, "length": 7, - "parent_index": 2436 + "parent_index": 2437 }, "name": "address", "state_mutability": 4, @@ -49804,7 +50496,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -49817,7 +50510,7 @@ } }, { - "id": 2439, + "id": 2440, "node_type": 17, "kind": 50, "value": "NOT UNIV2", @@ -49828,7 +50521,7 @@ "start": 48382, "end": 48392, "length": 11, - "parent_index": 2431 + "parent_index": 2432 }, "type_description": { "type_identifier": "t_string_literal", @@ -49842,11 +50535,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"NOT UNIV2\"" } ], "expression": { - "id": 2432, + "id": 2433, "node_type": 16, "src": { "line": 1329, @@ -49854,7 +50548,7 @@ "start": 48333, "end": 48339, "length": 7, - "parent_index": 2431 + "parent_index": 2432 }, "name": "require", "type_description": { @@ -49863,7 +50557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -49871,7 +50566,7 @@ } }, { - "id": 2440, + "id": 2441, "node_type": 24, "kind": 24, "src": { @@ -49880,7 +50575,7 @@ "start": 48405, "end": 48537, "length": 133, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -49898,7 +50593,7 @@ ], "arguments": [ { - "id": 2448, + "id": 2449, "node_type": 24, "kind": 24, "src": { @@ -49907,7 +50602,7 @@ "start": 48461, "end": 48479, "length": 19, - "parent_index": 2440 + "parent_index": 2441 }, "argument_types": [ { @@ -49917,7 +50612,7 @@ ], "arguments": [ { - "id": 2451, + "id": 2452, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -49929,7 +50624,7 @@ "start": 48469, "end": 48478, "length": 10, - "parent_index": 2448 + "parent_index": 2449 }, "member_location": { "line": 1332, @@ -49937,10 +50632,10 @@ "start": 48473, "end": 48478, "length": 6, - "parent_index": 2451 + "parent_index": 2452 }, "expression": { - "id": 2452, + "id": 2453, "node_type": 16, "src": { "line": 1332, @@ -49948,7 +50643,7 @@ "start": 48469, "end": 48471, "length": 3, - "parent_index": 2451 + "parent_index": 2452 }, "name": "msg", "type_description": { @@ -49957,18 +50652,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 2449, + "id": 2450, "node_type": 16, "src": { "line": 1332, @@ -49976,11 +50673,11 @@ "start": 48461, "end": 48467, "length": 7, - "parent_index": 2448 + "parent_index": 2449 }, "name": "address", "type_name": { - "id": 2450, + "id": 2451, "node_type": 30, "src": { "line": 1332, @@ -49988,7 +50685,7 @@ "start": 48461, "end": 48467, "length": 7, - "parent_index": 2449 + "parent_index": 2450 }, "name": "address", "state_mutability": 4, @@ -50010,7 +50707,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -50018,7 +50716,7 @@ } }, { - "id": 2453, + "id": 2454, "node_type": 24, "kind": 24, "src": { @@ -50027,7 +50725,7 @@ "start": 48494, "end": 48506, "length": 13, - "parent_index": 2440 + "parent_index": 2441 }, "argument_types": [ { @@ -50037,7 +50735,7 @@ ], "arguments": [ { - "id": 2456, + "id": 2457, "node_type": 16, "src": { "line": 1333, @@ -50045,7 +50743,7 @@ "start": 48502, "end": 48505, "length": 4, - "parent_index": 2453 + "parent_index": 2454 }, "name": "this", "type_description": { @@ -50054,11 +50752,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 2454, + "id": 2455, "node_type": 16, "src": { "line": 1333, @@ -50066,11 +50765,11 @@ "start": 48494, "end": 48500, "length": 7, - "parent_index": 2453 + "parent_index": 2454 }, "name": "address", "type_name": { - "id": 2455, + "id": 2456, "node_type": 30, "src": { "line": 1333, @@ -50078,7 +50777,7 @@ "start": 48494, "end": 48500, "length": 7, - "parent_index": 2454 + "parent_index": 2455 }, "name": "address", "state_mutability": 4, @@ -50100,7 +50799,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -50108,7 +50808,7 @@ } }, { - "id": 2457, + "id": 2458, "node_type": 16, "src": { "line": 1334, @@ -50116,7 +50816,7 @@ "start": 48521, "end": 48527, "length": 7, - "parent_index": 2440 + "parent_index": 2441 }, "name": "_amount", "type_description": { @@ -50124,7 +50824,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2457, + "referenced_declaration": 2458, "is_pure": false, "argument_types": [ { @@ -50135,11 +50835,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_amount" } ], "expression": { - "id": 2441, + "id": 2442, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -50151,7 +50852,7 @@ "start": 48405, "end": 48446, "length": 42, - "parent_index": 2440 + "parent_index": 2441 }, "member_location": { "line": 1331, @@ -50159,10 +50860,10 @@ "start": 48431, "end": 48446, "length": 16, - "parent_index": 2441 + "parent_index": 2442 }, "expression": { - "id": 2442, + "id": 2443, "node_type": 24, "kind": 24, "src": { @@ -50171,7 +50872,7 @@ "start": 48405, "end": 48429, "length": 25, - "parent_index": 2441 + "parent_index": 2442 }, "argument_types": [ { @@ -50181,7 +50882,7 @@ ], "arguments": [ { - "id": 2444, + "id": 2445, "node_type": 24, "kind": 24, "src": { @@ -50190,7 +50891,7 @@ "start": 48412, "end": 48428, "length": 17, - "parent_index": 2442 + "parent_index": 2443 }, "argument_types": [ { @@ -50200,7 +50901,7 @@ ], "arguments": [ { - "id": 2447, + "id": 2448, "node_type": 16, "src": { "line": 1331, @@ -50208,7 +50909,7 @@ "start": 48420, "end": 48427, "length": 8, - "parent_index": 2444 + "parent_index": 2445 }, "name": "_lpToken", "type_description": { @@ -50216,12 +50917,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2447, - "is_pure": false + "referenced_declaration": 2448, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 2445, + "id": 2446, "node_type": 16, "src": { "line": 1331, @@ -50229,11 +50931,11 @@ "start": 48412, "end": 48418, "length": 7, - "parent_index": 2444 + "parent_index": 2445 }, "name": "address", "type_name": { - "id": 2446, + "id": 2447, "node_type": 30, "src": { "line": 1331, @@ -50241,7 +50943,7 @@ "start": 48412, "end": 48418, "length": 7, - "parent_index": 2445 + "parent_index": 2446 }, "name": "address", "state_mutability": 4, @@ -50263,7 +50965,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -50272,7 +50975,7 @@ } ], "expression": { - "id": 2443, + "id": 2444, "node_type": 16, "src": { "line": 1331, @@ -50280,7 +50983,7 @@ "start": 48405, "end": 48410, "length": 6, - "parent_index": 2442 + "parent_index": 2443 }, "name": "IERC20", "type_description": { @@ -50289,7 +50992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -50301,7 +51005,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", "type_string": "function(function(address))" - } + }, + "text": "IERC20(address(_lpToken)).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -50309,7 +51014,7 @@ } }, { - "id": 2458, + "id": 2459, "node_type": 48, "src": { "line": 1337, @@ -50317,10 +51022,10 @@ "start": 48549, "end": 48821, "length": 273, - "parent_index": 2371 + "parent_index": 2372 }, "condition": { - "id": 2460, + "id": 2461, "node_type": 96, "src": { "line": 1338, @@ -50328,11 +51033,11 @@ "start": 48566, "end": 48646, "length": 81, - "parent_index": 2458 + "parent_index": 2459 }, "expressions": [ { - "id": 2461, + "id": 2462, "is_constant": false, "is_pure": false, "node_type": 19, @@ -50342,11 +51047,11 @@ "start": 48566, "end": 48588, "length": 23, - "parent_index": 2460 + "parent_index": 2461 }, "operator": 12, "left_expression": { - "id": 2462, + "id": 2463, "node_type": 16, "src": { "line": 1338, @@ -50354,7 +51059,7 @@ "start": 48566, "end": 48574, "length": 9, - "parent_index": 2461 + "parent_index": 2462 }, "name": "_referral", "type_description": { @@ -50362,11 +51067,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2462, - "is_pure": false + "referenced_declaration": 2463, + "is_pure": false, + "text": "_referral" }, "right_expression": { - "id": 2463, + "id": 2464, "node_type": 24, "kind": 24, "src": { @@ -50375,7 +51081,7 @@ "start": 48579, "end": 48588, "length": 10, - "parent_index": 2461 + "parent_index": 2462 }, "argument_types": [ { @@ -50385,7 +51091,7 @@ ], "arguments": [ { - "id": 2466, + "id": 2467, "node_type": 17, "kind": 49, "value": "0", @@ -50396,7 +51102,7 @@ "start": 48587, "end": 48587, "length": 1, - "parent_index": 2463 + "parent_index": 2464 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -50404,11 +51110,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2464, + "id": 2465, "node_type": 16, "src": { "line": 1338, @@ -50416,11 +51123,11 @@ "start": 48579, "end": 48585, "length": 7, - "parent_index": 2463 + "parent_index": 2464 }, "name": "address", "type_name": { - "id": 2465, + "id": 2466, "node_type": 30, "src": { "line": 1338, @@ -50428,7 +51135,7 @@ "start": 48579, "end": 48585, "length": 7, - "parent_index": 2464 + "parent_index": 2465 }, "name": "address", "state_mutability": 4, @@ -50450,7 +51157,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -50463,7 +51171,7 @@ } }, { - "id": 2467, + "id": 2468, "is_constant": false, "is_pure": false, "node_type": 19, @@ -50473,11 +51181,11 @@ "start": 48605, "end": 48646, "length": 42, - "parent_index": 2460 + "parent_index": 2461 }, "operator": 12, "left_expression": { - "id": 2468, + "id": 2469, "node_type": 24, "kind": 24, "src": { @@ -50486,17 +51194,17 @@ "start": 48605, "end": 48632, "length": 28, - "parent_index": 2467 + "parent_index": 2468 }, "argument_types": [ { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } ], "arguments": [ { - "id": 2471, + "id": 2472, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -50508,7 +51216,7 @@ "start": 48613, "end": 48631, "length": 19, - "parent_index": 2468 + "parent_index": 2469 }, "member_location": { "line": 1339, @@ -50516,10 +51224,10 @@ "start": 48619, "end": 48631, "length": 13, - "parent_index": 2471 + "parent_index": 2472 }, "expression": { - "id": 2472, + "id": 2473, "node_type": 16, "src": { "line": 1339, @@ -50527,27 +51235,29 @@ "start": 48613, "end": 48617, "length": 5, - "parent_index": 2471 + "parent_index": 2472 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralToken", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralToken" } ], "expression": { - "id": 2469, + "id": 2470, "node_type": 16, "src": { "line": 1339, @@ -50555,11 +51265,11 @@ "start": 48605, "end": 48611, "length": 7, - "parent_index": 2468 + "parent_index": 2469 }, "name": "address", "type_name": { - "id": 2470, + "id": 2471, "node_type": 30, "src": { "line": 1339, @@ -50567,7 +51277,7 @@ "start": 48605, "end": 48611, "length": 7, - "parent_index": 2469 + "parent_index": 2470 }, "name": "address", "state_mutability": 4, @@ -50589,15 +51299,16 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "type_identifier": "t_function_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "type_string": "function(struct KnoxLpLocker.FeeStruct)" } }, "right_expression": { - "id": 2473, + "id": 2474, "node_type": 24, "kind": 24, "src": { @@ -50606,7 +51317,7 @@ "start": 48637, "end": 48646, "length": 10, - "parent_index": 2467 + "parent_index": 2468 }, "argument_types": [ { @@ -50616,7 +51327,7 @@ ], "arguments": [ { - "id": 2476, + "id": 2477, "node_type": 17, "kind": 49, "value": "0", @@ -50627,7 +51338,7 @@ "start": 48645, "end": 48645, "length": 1, - "parent_index": 2473 + "parent_index": 2474 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -50635,11 +51346,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2474, + "id": 2475, "node_type": 16, "src": { "line": 1339, @@ -50647,11 +51359,11 @@ "start": 48637, "end": 48643, "length": 7, - "parent_index": 2473 + "parent_index": 2474 }, "name": "address", "type_name": { - "id": 2475, + "id": 2476, "node_type": 30, "src": { "line": 1339, @@ -50659,7 +51371,7 @@ "start": 48637, "end": 48643, "length": 7, - "parent_index": 2474 + "parent_index": 2475 }, "name": "address", "state_mutability": 4, @@ -50681,7 +51393,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -50706,7 +51419,7 @@ ] }, "body": { - "id": 2477, + "id": 2478, "node_type": 46, "kind": 0, "src": { @@ -50715,12 +51428,12 @@ "start": 48658, "end": 48821, "length": 164, - "parent_index": 2352 + "parent_index": 2353 }, "implemented": true, "statements": [ { - "id": 2478, + "id": 2479, "node_type": 24, "kind": 24, "src": { @@ -50729,7 +51442,7 @@ "start": 48672, "end": 48810, "length": 139, - "parent_index": 2477 + "parent_index": 2478 }, "argument_types": [ { @@ -50743,7 +51456,7 @@ ], "arguments": [ { - "id": 2480, + "id": 2481, "is_constant": false, "is_pure": false, "node_type": 19, @@ -50753,11 +51466,11 @@ "start": 48697, "end": 48758, "length": 62, - "parent_index": 2478 + "parent_index": 2479 }, "operator": 8, "left_expression": { - "id": 2481, + "id": 2482, "node_type": 24, "kind": 24, "src": { @@ -50766,7 +51479,7 @@ "start": 48697, "end": 48736, "length": 40, - "parent_index": 2480 + "parent_index": 2481 }, "argument_types": [ { @@ -50776,7 +51489,7 @@ ], "arguments": [ { - "id": 2485, + "id": 2486, "node_type": 16, "src": { "line": 1342, @@ -50784,7 +51497,7 @@ "start": 48727, "end": 48735, "length": 9, - "parent_index": 2481 + "parent_index": 2482 }, "name": "_referral", "type_description": { @@ -50792,12 +51505,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2485, - "is_pure": false + "referenced_declaration": 2486, + "is_pure": false, + "text": "_referral" } ], "expression": { - "id": 2482, + "id": 2483, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -50809,7 +51523,7 @@ "start": 48697, "end": 48725, "length": 29, - "parent_index": 2481 + "parent_index": 2482 }, "member_location": { "line": 1342, @@ -50817,10 +51531,10 @@ "start": 48717, "end": 48725, "length": 9, - "parent_index": 2482 + "parent_index": 2483 }, "expression": { - "id": 2483, + "id": 2484, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -50832,7 +51546,7 @@ "start": 48697, "end": 48715, "length": 19, - "parent_index": 2482 + "parent_index": 2483 }, "member_location": { "line": 1342, @@ -50840,10 +51554,10 @@ "start": 48703, "end": 48715, "length": 13, - "parent_index": 2483 + "parent_index": 2484 }, "expression": { - "id": 2484, + "id": 2485, "node_type": 16, "src": { "line": 1342, @@ -50851,30 +51565,33 @@ "start": 48697, "end": 48701, "length": 5, - "parent_index": 2483 + "parent_index": 2484 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralToken", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralToken" }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralToken.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address_payable$", @@ -50882,7 +51599,7 @@ } }, "right_expression": { - "id": 2486, + "id": 2487, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -50894,7 +51611,7 @@ "start": 48741, "end": 48758, "length": 18, - "parent_index": 2480 + "parent_index": 2481 }, "member_location": { "line": 1342, @@ -50902,10 +51619,10 @@ "start": 48747, "end": 48758, "length": 12, - "parent_index": 2486 + "parent_index": 2487 }, "expression": { - "id": 2487, + "id": 2488, "node_type": 16, "src": { "line": 1342, @@ -50913,23 +51630,25 @@ "start": 48741, "end": 48745, "length": 5, - "parent_index": 2486 + "parent_index": 2487 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralHold", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralHold" }, "type_description": { "type_identifier": "t_bool", @@ -50937,7 +51656,7 @@ } }, { - "id": 2488, + "id": 2489, "node_type": 17, "kind": 50, "value": "INADEQUATE BALANCE", @@ -50948,7 +51667,7 @@ "start": 48777, "end": 48796, "length": 20, - "parent_index": 2478 + "parent_index": 2479 }, "type_description": { "type_identifier": "t_string_literal", @@ -50962,11 +51681,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INADEQUATE BALANCE\"" } ], "expression": { - "id": 2479, + "id": 2480, "node_type": 16, "src": { "line": 1341, @@ -50974,7 +51694,7 @@ "start": 48672, "end": 48678, "length": 7, - "parent_index": 2478 + "parent_index": 2479 }, "name": "require", "type_description": { @@ -50983,7 +51703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -50994,7 +51715,7 @@ } }, { - "id": 2489, + "id": 2490, "node_type": 48, "src": { "line": 1348, @@ -51002,10 +51723,10 @@ "start": 48857, "end": 50905, "length": 2049, - "parent_index": 2371 + "parent_index": 2372 }, "condition": { - "id": 2490, + "id": 2491, "node_type": 18, "kind": 104, "src": { @@ -51014,7 +51735,7 @@ "start": 48861, "end": 48894, "length": 34, - "parent_index": 2352 + "parent_index": 2353 }, "operator": 31, "prefix": false, @@ -51023,7 +51744,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 2491, + "id": 2492, "node_type": 24, "kind": 24, "src": { @@ -51032,7 +51753,7 @@ "start": 48862, "end": 48894, "length": 33, - "parent_index": 2490 + "parent_index": 2491 }, "argument_types": [ { @@ -51042,7 +51763,7 @@ ], "arguments": [ { - "id": 2494, + "id": 2495, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -51054,7 +51775,7 @@ "start": 48884, "end": 48893, "length": 10, - "parent_index": 2491 + "parent_index": 2492 }, "member_location": { "line": 1348, @@ -51062,10 +51783,10 @@ "start": 48888, "end": 48893, "length": 6, - "parent_index": 2494 + "parent_index": 2495 }, "expression": { - "id": 2495, + "id": 2496, "node_type": 16, "src": { "line": 1348, @@ -51073,7 +51794,7 @@ "start": 48884, "end": 48886, "length": 3, - "parent_index": 2494 + "parent_index": 2495 }, "name": "msg", "type_description": { @@ -51082,18 +51803,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 2492, + "id": 2493, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -51105,7 +51828,7 @@ "start": 48862, "end": 48882, "length": 21, - "parent_index": 2491 + "parent_index": 2492 }, "member_location": { "line": 1348, @@ -51113,10 +51836,10 @@ "start": 48875, "end": 48882, "length": 8, - "parent_index": 2492 + "parent_index": 2493 }, "expression": { - "id": 2493, + "id": 2494, "node_type": 16, "src": { "line": 1348, @@ -51124,7 +51847,7 @@ "start": 48862, "end": 48873, "length": 12, - "parent_index": 2492 + "parent_index": 2493 }, "name": "feeWhitelist", "type_description": { @@ -51132,15 +51855,17 @@ "type_string": "contract EnumerableSet" }, "overloaded_declarations": [], - "referenced_declaration": 2085, - "is_pure": false + "referenced_declaration": 2086, + "is_pure": false, + "text": "feeWhitelist" }, "member_name": "contains", "argument_types": [], "type_description": { "type_identifier": "t_contract$_EnumerableSet_$427", "type_string": "contract EnumerableSet" - } + }, + "text": "feeWhitelist.contains" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -51153,7 +51878,7 @@ } }, "body": { - "id": 2496, + "id": 2497, "node_type": 46, "kind": 0, "src": { @@ -51162,12 +51887,12 @@ "start": 48897, "end": 50746, "length": 1850, - "parent_index": 2352 + "parent_index": 2353 }, "implemented": true, "statements": [ { - "id": 2497, + "id": 2498, "node_type": 48, "src": { "line": 1349, @@ -51175,10 +51900,10 @@ "start": 48911, "end": 50736, "length": 1826, - "parent_index": 2496 + "parent_index": 2497 }, "condition": { - "id": 2498, + "id": 2499, "node_type": 16, "src": { "line": 1349, @@ -51186,7 +51911,7 @@ "start": 48915, "end": 48925, "length": 11, - "parent_index": 2497 + "parent_index": 2498 }, "name": "_fee_in_eth", "type_description": { @@ -51194,11 +51919,12 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 2498, - "is_pure": false + "referenced_declaration": 2499, + "is_pure": false, + "text": "_fee_in_eth" }, "body": { - "id": 2499, + "id": 2500, "node_type": 46, "kind": 0, "src": { @@ -51207,12 +51933,12 @@ "start": 48928, "end": 49700, "length": 773, - "parent_index": 2352 + "parent_index": 2353 }, "implemented": true, "statements": [ { - "id": 2500, + "id": 2501, "node_type": 44, "src": { "line": 1351, @@ -51220,25 +51946,25 @@ "start": 48983, "end": 49012, "length": 30, - "parent_index": 2499 + "parent_index": 2500 }, "assignments": [ - 2501 + 2502 ], "declarations": [ { - "id": 2501, + "id": 2502, "state_mutability": 1, "name": "ethFee", "node_type": 44, - "scope": 2499, + "scope": 2500, "src": { "line": 1351, "column": 16, "start": 48983, "end": 48996, "length": 14, - "parent_index": 2500 + "parent_index": 2501 }, "name_location": { "line": 1351, @@ -51246,12 +51972,12 @@ "start": 48991, "end": 48996, "length": 6, - "parent_index": 2501 + "parent_index": 2502 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2502, + "id": 2503, "node_type": 30, "src": { "line": 1351, @@ -51259,7 +51985,7 @@ "start": 48983, "end": 48989, "length": 7, - "parent_index": 2501 + "parent_index": 2502 }, "name": "uint256", "referenced_declaration": 0, @@ -51272,7 +51998,7 @@ } ], "initial_value": { - "id": 2503, + "id": 2504, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -51284,7 +52010,7 @@ "start": 49000, "end": 49011, "length": 12, - "parent_index": 2500 + "parent_index": 2501 }, "member_location": { "line": 1351, @@ -51292,10 +52018,10 @@ "start": 49006, "end": 49011, "length": 6, - "parent_index": 2503 + "parent_index": 2504 }, "expression": { - "id": 2504, + "id": 2505, "node_type": 16, "src": { "line": 1351, @@ -51303,27 +52029,29 @@ "start": 49000, "end": 49004, "length": 5, - "parent_index": 2503 + "parent_index": 2504 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "ethFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.ethFee" } }, { - "id": 2505, + "id": 2506, "node_type": 48, "src": { "line": 1352, @@ -51331,10 +52059,10 @@ "start": 49030, "end": 49207, "length": 178, - "parent_index": 2499 + "parent_index": 2500 }, "condition": { - "id": 2506, + "id": 2507, "is_constant": false, "is_pure": false, "node_type": 19, @@ -51344,11 +52072,11 @@ "start": 49034, "end": 49056, "length": 23, - "parent_index": 2505 + "parent_index": 2506 }, "operator": 12, "left_expression": { - "id": 2507, + "id": 2508, "node_type": 16, "src": { "line": 1352, @@ -51356,7 +52084,7 @@ "start": 49034, "end": 49042, "length": 9, - "parent_index": 2506 + "parent_index": 2507 }, "name": "_referral", "type_description": { @@ -51364,11 +52092,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2507, - "is_pure": false + "referenced_declaration": 2508, + "is_pure": false, + "text": "_referral" }, "right_expression": { - "id": 2508, + "id": 2509, "node_type": 24, "kind": 24, "src": { @@ -51377,7 +52106,7 @@ "start": 49047, "end": 49056, "length": 10, - "parent_index": 2506 + "parent_index": 2507 }, "argument_types": [ { @@ -51387,7 +52116,7 @@ ], "arguments": [ { - "id": 2511, + "id": 2512, "node_type": 17, "kind": 49, "value": "0", @@ -51398,7 +52127,7 @@ "start": 49055, "end": 49055, "length": 1, - "parent_index": 2508 + "parent_index": 2509 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -51406,11 +52135,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2509, + "id": 2510, "node_type": 16, "src": { "line": 1352, @@ -51418,11 +52148,11 @@ "start": 49047, "end": 49053, "length": 7, - "parent_index": 2508 + "parent_index": 2509 }, "name": "address", "type_name": { - "id": 2510, + "id": 2511, "node_type": 30, "src": { "line": 1352, @@ -51430,7 +52160,7 @@ "start": 49047, "end": 49053, "length": 7, - "parent_index": 2509 + "parent_index": 2510 }, "name": "address", "state_mutability": 4, @@ -51452,7 +52182,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -51465,7 +52196,7 @@ } }, "body": { - "id": 2512, + "id": 2513, "node_type": 46, "kind": 0, "src": { @@ -51474,12 +52205,12 @@ "start": 49059, "end": 49207, "length": 149, - "parent_index": 2352 + "parent_index": 2353 }, "implemented": true, "statements": [ { - "id": 2513, + "id": 2514, "node_type": 27, "src": { "line": 1353, @@ -51487,10 +52218,10 @@ "start": 49081, "end": 49189, "length": 109, - "parent_index": 2512 + "parent_index": 2513 }, "expression": { - "id": 2514, + "id": 2515, "node_type": 27, "src": { "line": 1353, @@ -51498,11 +52229,11 @@ "start": 49081, "end": 49188, "length": 108, - "parent_index": 2513 + "parent_index": 2514 }, "operator": 11, "left_expression": { - "id": 2515, + "id": 2516, "node_type": 16, "src": { "line": 1353, @@ -51510,7 +52241,7 @@ "start": 49081, "end": 49086, "length": 6, - "parent_index": 2514 + "parent_index": 2515 }, "name": "ethFee", "type_description": { @@ -51518,11 +52249,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2060, - "is_pure": false + "referenced_declaration": 2061, + "is_pure": false, + "text": "ethFee" }, "right_expression": { - "id": 2516, + "id": 2517, "is_constant": false, "is_pure": false, "node_type": 19, @@ -51532,11 +52264,11 @@ "start": 49114, "end": 49188, "length": 75, - "parent_index": 2514 + "parent_index": 2515 }, "operator": 4, "left_expression": { - "id": 2517, + "id": 2518, "node_type": 60, "src": { "line": 1354, @@ -51544,13 +52276,13 @@ "start": 49114, "end": 49155, "length": 42, - "parent_index": 2516 + "parent_index": 2517 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2518, + "id": 2519, "is_constant": false, "is_pure": false, "node_type": 19, @@ -51560,11 +52292,11 @@ "start": 49115, "end": 49154, "length": 40, - "parent_index": 2517 + "parent_index": 2518 }, "operator": 3, "left_expression": { - "id": 2519, + "id": 2520, "node_type": 16, "src": { "line": 1354, @@ -51572,7 +52304,7 @@ "start": 49115, "end": 49120, "length": 6, - "parent_index": 2518 + "parent_index": 2519 }, "name": "ethFee", "type_description": { @@ -51580,11 +52312,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2060, - "is_pure": false + "referenced_declaration": 2061, + "is_pure": false, + "text": "ethFee" }, "right_expression": { - "id": 2520, + "id": 2521, "node_type": 60, "src": { "line": 1354, @@ -51592,13 +52325,13 @@ "start": 49124, "end": 49154, "length": 31, - "parent_index": 2518 + "parent_index": 2519 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2521, + "id": 2522, "is_constant": false, "is_pure": false, "node_type": 19, @@ -51608,11 +52341,11 @@ "start": 49125, "end": 49153, "length": 29, - "parent_index": 2520 + "parent_index": 2521 }, "operator": 2, "left_expression": { - "id": 2522, + "id": 2523, "node_type": 17, "kind": 49, "value": "1000", @@ -51623,7 +52356,7 @@ "start": 49125, "end": 49128, "length": 4, - "parent_index": 2521 + "parent_index": 2522 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -51631,10 +52364,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "right_expression": { - "id": 2523, + "id": 2524, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -51646,7 +52380,7 @@ "start": 49132, "end": 49153, "length": 22, - "parent_index": 2521 + "parent_index": 2522 }, "member_location": { "line": 1354, @@ -51654,10 +52388,10 @@ "start": 49138, "end": 49153, "length": 16, - "parent_index": 2523 + "parent_index": 2524 }, "expression": { - "id": 2524, + "id": 2525, "node_type": 16, "src": { "line": 1354, @@ -51665,23 +52399,25 @@ "start": 49132, "end": 49136, "length": 5, - "parent_index": 2523 + "parent_index": 2524 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralDiscount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralDiscount" }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -51706,7 +52442,7 @@ } }, "right_expression": { - "id": 2525, + "id": 2526, "node_type": 60, "src": { "line": 1355, @@ -51714,13 +52450,13 @@ "start": 49183, "end": 49188, "length": 6, - "parent_index": 2516 + "parent_index": 2517 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 2526, + "id": 2527, "node_type": 17, "kind": 49, "value": "1000", @@ -51731,7 +52467,7 @@ "start": 49184, "end": 49187, "length": 4, - "parent_index": 2525 + "parent_index": 2526 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -51739,7 +52475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" } ], "type_description": { @@ -51760,13 +52497,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "ethFee=(ethFee*(1000-gFees.referralDiscount))/(1000);" } ] } }, { - "id": 2527, + "id": 2528, "node_type": 24, "kind": 24, "src": { @@ -51775,7 +52513,7 @@ "start": 49225, "end": 49267, "length": 43, - "parent_index": 2499 + "parent_index": 2500 }, "argument_types": [ { @@ -51789,7 +52527,7 @@ ], "arguments": [ { - "id": 2529, + "id": 2530, "is_constant": false, "is_pure": false, "node_type": 19, @@ -51799,11 +52537,11 @@ "start": 49233, "end": 49251, "length": 19, - "parent_index": 2527 + "parent_index": 2528 }, "operator": 11, "left_expression": { - "id": 2530, + "id": 2531, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -51815,7 +52553,7 @@ "start": 49233, "end": 49241, "length": 9, - "parent_index": 2529 + "parent_index": 2530 }, "member_location": { "line": 1357, @@ -51823,10 +52561,10 @@ "start": 49237, "end": 49241, "length": 5, - "parent_index": 2530 + "parent_index": 2531 }, "expression": { - "id": 2531, + "id": 2532, "node_type": 16, "src": { "line": 1357, @@ -51834,7 +52572,7 @@ "start": 49233, "end": 49235, "length": 3, - "parent_index": 2530 + "parent_index": 2531 }, "name": "msg", "type_description": { @@ -51843,17 +52581,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { - "id": 2532, + "id": 2533, "node_type": 16, "src": { "line": 1357, @@ -51861,7 +52601,7 @@ "start": 49246, "end": 49251, "length": 6, - "parent_index": 2529 + "parent_index": 2530 }, "name": "ethFee", "type_description": { @@ -51869,8 +52609,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2500, - "is_pure": false + "referenced_declaration": 2501, + "is_pure": false, + "text": "ethFee" }, "type_description": { "type_identifier": "t_bool", @@ -51878,7 +52619,7 @@ } }, { - "id": 2533, + "id": 2534, "node_type": 17, "kind": 50, "value": "FEE NOT MET", @@ -51889,7 +52630,7 @@ "start": 49254, "end": 49266, "length": 13, - "parent_index": 2527 + "parent_index": 2528 }, "type_description": { "type_identifier": "t_string_literal", @@ -51903,11 +52644,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"FEE NOT MET\"" } ], "expression": { - "id": 2528, + "id": 2529, "node_type": 16, "src": { "line": 1357, @@ -51915,7 +52657,7 @@ "start": 49225, "end": 49231, "length": 7, - "parent_index": 2527 + "parent_index": 2528 }, "name": "require", "type_description": { @@ -51924,7 +52666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -51932,7 +52675,7 @@ } }, { - "id": 2534, + "id": 2535, "node_type": 44, "src": { "line": 1358, @@ -51940,25 +52683,25 @@ "start": 49286, "end": 49309, "length": 24, - "parent_index": 2499 + "parent_index": 2500 }, "assignments": [ - 2535 + 2536 ], "declarations": [ { - "id": 2535, + "id": 2536, "state_mutability": 1, "name": "devFee", "node_type": 44, - "scope": 2499, + "scope": 2500, "src": { "line": 1358, "column": 16, "start": 49286, "end": 49299, "length": 14, - "parent_index": 2534 + "parent_index": 2535 }, "name_location": { "line": 1358, @@ -51966,12 +52709,12 @@ "start": 49294, "end": 49299, "length": 6, - "parent_index": 2535 + "parent_index": 2536 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2536, + "id": 2537, "node_type": 30, "src": { "line": 1358, @@ -51979,7 +52722,7 @@ "start": 49286, "end": 49292, "length": 7, - "parent_index": 2535 + "parent_index": 2536 }, "name": "uint256", "referenced_declaration": 0, @@ -51992,7 +52735,7 @@ } ], "initial_value": { - "id": 2537, + "id": 2538, "node_type": 16, "src": { "line": 1358, @@ -52000,7 +52743,7 @@ "start": 49303, "end": 49308, "length": 6, - "parent_index": 2534 + "parent_index": 2535 }, "name": "ethFee", "type_description": { @@ -52008,12 +52751,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2500, - "is_pure": false + "referenced_declaration": 2501, + "is_pure": false, + "text": "ethFee" } }, { - "id": 2538, + "id": 2539, "node_type": 48, "src": { "line": 1359, @@ -52021,10 +52765,10 @@ "start": 49327, "end": 49643, "length": 317, - "parent_index": 2499 + "parent_index": 2500 }, "condition": { - "id": 2540, + "id": 2541, "node_type": 96, "src": { "line": 1359, @@ -52032,11 +52776,11 @@ "start": 49331, "end": 49368, "length": 38, - "parent_index": 2538 + "parent_index": 2539 }, "expressions": [ { - "id": 2541, + "id": 2542, "is_constant": false, "is_pure": false, "node_type": 19, @@ -52046,11 +52790,11 @@ "start": 49331, "end": 49341, "length": 11, - "parent_index": 2540 + "parent_index": 2541 }, "operator": 12, "left_expression": { - "id": 2542, + "id": 2543, "node_type": 16, "src": { "line": 1359, @@ -52058,7 +52802,7 @@ "start": 49331, "end": 49336, "length": 6, - "parent_index": 2541 + "parent_index": 2542 }, "name": "ethFee", "type_description": { @@ -52066,11 +52810,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2500, - "is_pure": false + "referenced_declaration": 2501, + "is_pure": false, + "text": "ethFee" }, "right_expression": { - "id": 2543, + "id": 2544, "node_type": 17, "kind": 49, "value": "0", @@ -52081,7 +52826,7 @@ "start": 49341, "end": 49341, "length": 1, - "parent_index": 2541 + "parent_index": 2542 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -52089,7 +52834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -52097,7 +52843,7 @@ } }, { - "id": 2544, + "id": 2545, "is_constant": false, "is_pure": false, "node_type": 19, @@ -52107,11 +52853,11 @@ "start": 49346, "end": 49368, "length": 23, - "parent_index": 2540 + "parent_index": 2541 }, "operator": 12, "left_expression": { - "id": 2545, + "id": 2546, "node_type": 16, "src": { "line": 1359, @@ -52119,7 +52865,7 @@ "start": 49346, "end": 49354, "length": 9, - "parent_index": 2544 + "parent_index": 2545 }, "name": "_referral", "type_description": { @@ -52127,11 +52873,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2545, - "is_pure": false + "referenced_declaration": 2546, + "is_pure": false, + "text": "_referral" }, "right_expression": { - "id": 2546, + "id": 2547, "node_type": 24, "kind": 24, "src": { @@ -52140,7 +52887,7 @@ "start": 49359, "end": 49368, "length": 10, - "parent_index": 2544 + "parent_index": 2545 }, "argument_types": [ { @@ -52150,7 +52897,7 @@ ], "arguments": [ { - "id": 2549, + "id": 2550, "node_type": 17, "kind": 49, "value": "0", @@ -52161,7 +52908,7 @@ "start": 49367, "end": 49367, "length": 1, - "parent_index": 2546 + "parent_index": 2547 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -52169,11 +52916,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2547, + "id": 2548, "node_type": 16, "src": { "line": 1359, @@ -52181,11 +52929,11 @@ "start": 49359, "end": 49365, "length": 7, - "parent_index": 2546 + "parent_index": 2547 }, "name": "address", "type_name": { - "id": 2548, + "id": 2549, "node_type": 30, "src": { "line": 1359, @@ -52193,7 +52941,7 @@ "start": 49359, "end": 49365, "length": 7, - "parent_index": 2547 + "parent_index": 2548 }, "name": "address", "state_mutability": 4, @@ -52215,7 +52963,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -52240,7 +52989,7 @@ ] }, "body": { - "id": 2550, + "id": 2551, "node_type": 46, "kind": 0, "src": { @@ -52249,12 +52998,12 @@ "start": 49371, "end": 49643, "length": 273, - "parent_index": 2352 + "parent_index": 2353 }, "implemented": true, "statements": [ { - "id": 2551, + "id": 2552, "node_type": 44, "src": { "line": 1361, @@ -52262,25 +53011,25 @@ "start": 49429, "end": 49518, "length": 90, - "parent_index": 2550 + "parent_index": 2551 }, "assignments": [ - 2552 + 2553 ], "declarations": [ { - "id": 2552, + "id": 2553, "state_mutability": 1, "name": "referralFee", "node_type": 44, - "scope": 2550, + "scope": 2551, "src": { "line": 1361, "column": 20, "start": 49429, "end": 49447, "length": 19, - "parent_index": 2551 + "parent_index": 2552 }, "name_location": { "line": 1361, @@ -52288,12 +53037,12 @@ "start": 49437, "end": 49447, "length": 11, - "parent_index": 2552 + "parent_index": 2553 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2553, + "id": 2554, "node_type": 30, "src": { "line": 1361, @@ -52301,7 +53050,7 @@ "start": 49429, "end": 49435, "length": 7, - "parent_index": 2552 + "parent_index": 2553 }, "name": "uint256", "referenced_declaration": 0, @@ -52314,7 +53063,7 @@ } ], "initial_value": { - "id": 2554, + "id": 2555, "is_constant": false, "is_pure": false, "node_type": 19, @@ -52324,11 +53073,11 @@ "start": 49451, "end": 49517, "length": 67, - "parent_index": 2551 + "parent_index": 2552 }, "operator": 4, "left_expression": { - "id": 2555, + "id": 2556, "node_type": 60, "src": { "line": 1361, @@ -52336,13 +53085,13 @@ "start": 49451, "end": 49484, "length": 34, - "parent_index": 2554 + "parent_index": 2555 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2556, + "id": 2557, "is_constant": false, "is_pure": false, "node_type": 19, @@ -52352,11 +53101,11 @@ "start": 49452, "end": 49483, "length": 32, - "parent_index": 2555 + "parent_index": 2556 }, "operator": 3, "left_expression": { - "id": 2557, + "id": 2558, "node_type": 16, "src": { "line": 1361, @@ -52364,7 +53113,7 @@ "start": 49452, "end": 49457, "length": 6, - "parent_index": 2556 + "parent_index": 2557 }, "name": "devFee", "type_description": { @@ -52372,11 +53121,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2534, - "is_pure": false + "referenced_declaration": 2535, + "is_pure": false, + "text": "devFee" }, "right_expression": { - "id": 2558, + "id": 2559, "node_type": 60, "src": { "line": 1361, @@ -52384,13 +53134,13 @@ "start": 49461, "end": 49483, "length": 23, - "parent_index": 2556 + "parent_index": 2557 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2559, + "id": 2560, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -52402,7 +53152,7 @@ "start": 49462, "end": 49482, "length": 21, - "parent_index": 2551 + "parent_index": 2552 }, "member_location": { "line": 1361, @@ -52410,10 +53160,10 @@ "start": 49468, "end": 49482, "length": 15, - "parent_index": 2559 + "parent_index": 2560 }, "expression": { - "id": 2560, + "id": 2561, "node_type": 16, "src": { "line": 1361, @@ -52421,27 +53171,29 @@ "start": 49462, "end": 49466, "length": 5, - "parent_index": 2559 + "parent_index": 2560 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "referralPercent", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.referralPercent" } ], "type_description": { - "type_identifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "type_identifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "type_string": "tuple(struct KnoxLpLocker.FeeStruct)" } }, @@ -52457,7 +53209,7 @@ } }, "right_expression": { - "id": 2561, + "id": 2562, "node_type": 60, "src": { "line": 1362, @@ -52465,13 +53217,13 @@ "start": 49512, "end": 49517, "length": 6, - "parent_index": 2554 + "parent_index": 2555 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 2562, + "id": 2563, "node_type": 17, "kind": 49, "value": "1000", @@ -52482,7 +53234,7 @@ "start": 49513, "end": 49516, "length": 4, - "parent_index": 2561 + "parent_index": 2562 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -52490,7 +53242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" } ], "type_description": { @@ -52505,7 +53258,7 @@ } }, { - "id": 2563, + "id": 2564, "node_type": 24, "kind": 24, "src": { @@ -52514,7 +53267,7 @@ "start": 49540, "end": 49571, "length": 32, - "parent_index": 2550 + "parent_index": 2551 }, "argument_types": [ { @@ -52524,7 +53277,7 @@ ], "arguments": [ { - "id": 2566, + "id": 2567, "node_type": 16, "src": { "line": 1363, @@ -52532,7 +53285,7 @@ "start": 49560, "end": 49570, "length": 11, - "parent_index": 2563 + "parent_index": 2564 }, "name": "referralFee", "type_description": { @@ -52540,12 +53293,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2551, - "is_pure": false + "referenced_declaration": 2552, + "is_pure": false, + "text": "referralFee" } ], "expression": { - "id": 2564, + "id": 2565, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -52557,7 +53311,7 @@ "start": 49540, "end": 49558, "length": 19, - "parent_index": 2563 + "parent_index": 2564 }, "member_location": { "line": 1363, @@ -52565,10 +53319,10 @@ "start": 49550, "end": 49558, "length": 9, - "parent_index": 2564 + "parent_index": 2565 }, "expression": { - "id": 2565, + "id": 2566, "node_type": 16, "src": { "line": 1363, @@ -52576,7 +53330,7 @@ "start": 49540, "end": 49548, "length": 9, - "parent_index": 2564 + "parent_index": 2565 }, "name": "_referral", "type_description": { @@ -52584,15 +53338,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2565, - "is_pure": false + "referenced_declaration": 2566, + "is_pure": false, + "text": "_referral" }, "member_name": "sendValue", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "_referral.sendValue" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -52600,7 +53356,7 @@ } }, { - "id": 2567, + "id": 2568, "node_type": 27, "src": { "line": 1364, @@ -52608,10 +53364,10 @@ "start": 49594, "end": 49625, "length": 32, - "parent_index": 2550 + "parent_index": 2551 }, "expression": { - "id": 2568, + "id": 2569, "node_type": 27, "src": { "line": 1364, @@ -52619,11 +53375,11 @@ "start": 49594, "end": 49624, "length": 31, - "parent_index": 2567 + "parent_index": 2568 }, "operator": 11, "left_expression": { - "id": 2569, + "id": 2570, "node_type": 16, "src": { "line": 1364, @@ -52631,7 +53387,7 @@ "start": 49594, "end": 49599, "length": 6, - "parent_index": 2568 + "parent_index": 2569 }, "name": "devFee", "type_description": { @@ -52639,11 +53395,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2534, - "is_pure": false + "referenced_declaration": 2535, + "is_pure": false, + "text": "devFee" }, "right_expression": { - "id": 2570, + "id": 2571, "is_constant": false, "is_pure": false, "node_type": 19, @@ -52653,11 +53410,11 @@ "start": 49603, "end": 49624, "length": 22, - "parent_index": 2568 + "parent_index": 2569 }, "operator": 2, "left_expression": { - "id": 2571, + "id": 2572, "node_type": 16, "src": { "line": 1364, @@ -52665,7 +53422,7 @@ "start": 49603, "end": 49608, "length": 6, - "parent_index": 2570 + "parent_index": 2571 }, "name": "devFee", "type_description": { @@ -52673,11 +53430,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2534, - "is_pure": false + "referenced_declaration": 2535, + "is_pure": false, + "text": "devFee" }, "right_expression": { - "id": 2572, + "id": 2573, "node_type": 60, "src": { "line": 1364, @@ -52685,13 +53443,13 @@ "start": 49612, "end": 49624, "length": 13, - "parent_index": 2570 + "parent_index": 2571 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2573, + "id": 2574, "node_type": 16, "src": { "line": 1364, @@ -52699,7 +53457,7 @@ "start": 49613, "end": 49623, "length": 11, - "parent_index": 2572 + "parent_index": 2573 }, "name": "referralFee", "type_description": { @@ -52707,8 +53465,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2551, - "is_pure": false + "referenced_declaration": 2552, + "is_pure": false, + "text": "referralFee" } ], "type_description": { @@ -52729,13 +53488,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "devFee=devFee-(referralFee);" } ] } }, { - "id": 2574, + "id": 2575, "node_type": 24, "kind": 24, "src": { @@ -52744,7 +53504,7 @@ "start": 49661, "end": 49685, "length": 25, - "parent_index": 2499 + "parent_index": 2500 }, "argument_types": [ { @@ -52754,7 +53514,7 @@ ], "arguments": [ { - "id": 2577, + "id": 2578, "node_type": 16, "src": { "line": 1366, @@ -52762,7 +53522,7 @@ "start": 49679, "end": 49684, "length": 6, - "parent_index": 2574 + "parent_index": 2575 }, "name": "devFee", "type_description": { @@ -52770,12 +53530,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2534, - "is_pure": false + "referenced_declaration": 2535, + "is_pure": false, + "text": "devFee" } ], "expression": { - "id": 2575, + "id": 2576, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -52787,7 +53548,7 @@ "start": 49661, "end": 49677, "length": 17, - "parent_index": 2574 + "parent_index": 2575 }, "member_location": { "line": 1366, @@ -52795,10 +53556,10 @@ "start": 49669, "end": 49677, "length": 9, - "parent_index": 2575 + "parent_index": 2576 }, "expression": { - "id": 2576, + "id": 2577, "node_type": 16, "src": { "line": 1366, @@ -52806,7 +53567,7 @@ "start": 49661, "end": 49667, "length": 7, - "parent_index": 2575 + "parent_index": 2576 }, "name": "devaddr", "type_description": { @@ -52814,15 +53575,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2089, - "is_pure": false + "referenced_declaration": 2090, + "is_pure": false, + "text": "devaddr" }, "member_name": "sendValue", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "devaddr.sendValue" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -52836,7 +53599,7 @@ } }, { - "id": 2578, + "id": 2579, "node_type": 44, "src": { "line": 1398, @@ -52844,25 +53607,25 @@ "start": 50939, "end": 51003, "length": 65, - "parent_index": 2371 + "parent_index": 2372 }, "assignments": [ - 2579 + 2580 ], "declarations": [ { - "id": 2579, + "id": 2580, "state_mutability": 1, "name": "liquidityFee", "node_type": 44, - "scope": 2371, + "scope": 2372, "src": { "line": 1398, "column": 8, "start": 50939, "end": 50958, "length": 20, - "parent_index": 2578 + "parent_index": 2579 }, "name_location": { "line": 1398, @@ -52870,12 +53633,12 @@ "start": 50947, "end": 50958, "length": 12, - "parent_index": 2579 + "parent_index": 2580 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2580, + "id": 2581, "node_type": 30, "src": { "line": 1398, @@ -52883,7 +53646,7 @@ "start": 50939, "end": 50945, "length": 7, - "parent_index": 2579 + "parent_index": 2580 }, "name": "uint256", "referenced_declaration": 0, @@ -52896,7 +53659,7 @@ } ], "initial_value": { - "id": 2581, + "id": 2582, "is_constant": false, "is_pure": false, "node_type": 19, @@ -52906,11 +53669,11 @@ "start": 50962, "end": 51002, "length": 41, - "parent_index": 2578 + "parent_index": 2579 }, "operator": 4, "left_expression": { - "id": 2582, + "id": 2583, "node_type": 60, "src": { "line": 1398, @@ -52918,13 +53681,13 @@ "start": 50962, "end": 50993, "length": 32, - "parent_index": 2581 + "parent_index": 2582 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2583, + "id": 2584, "is_constant": false, "is_pure": false, "node_type": 19, @@ -52934,11 +53697,11 @@ "start": 50963, "end": 50992, "length": 30, - "parent_index": 2582 + "parent_index": 2583 }, "operator": 3, "left_expression": { - "id": 2584, + "id": 2585, "node_type": 16, "src": { "line": 1398, @@ -52946,7 +53709,7 @@ "start": 50963, "end": 50969, "length": 7, - "parent_index": 2583 + "parent_index": 2584 }, "name": "_amount", "type_description": { @@ -52954,11 +53717,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2584, - "is_pure": false + "referenced_declaration": 2585, + "is_pure": false, + "text": "_amount" }, "right_expression": { - "id": 2585, + "id": 2586, "node_type": 60, "src": { "line": 1398, @@ -52966,13 +53730,13 @@ "start": 50973, "end": 50992, "length": 20, - "parent_index": 2583 + "parent_index": 2584 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2586, + "id": 2587, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -52984,7 +53748,7 @@ "start": 50974, "end": 50991, "length": 18, - "parent_index": 2578 + "parent_index": 2579 }, "member_location": { "line": 1398, @@ -52992,10 +53756,10 @@ "start": 50980, "end": 50991, "length": 12, - "parent_index": 2586 + "parent_index": 2587 }, "expression": { - "id": 2587, + "id": 2588, "node_type": 16, "src": { "line": 1398, @@ -53003,27 +53767,29 @@ "start": 50974, "end": 50978, "length": 5, - "parent_index": 2586 + "parent_index": 2587 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "liquidityFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.liquidityFee" } ], "type_description": { - "type_identifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "type_identifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "type_string": "tuple(struct KnoxLpLocker.FeeStruct)" } }, @@ -53039,7 +53805,7 @@ } }, "right_expression": { - "id": 2588, + "id": 2589, "node_type": 60, "src": { "line": 1398, @@ -53047,13 +53813,13 @@ "start": 50997, "end": 51002, "length": 6, - "parent_index": 2581 + "parent_index": 2582 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 2589, + "id": 2590, "node_type": 17, "kind": 49, "value": "1000", @@ -53064,7 +53830,7 @@ "start": 50998, "end": 51001, "length": 4, - "parent_index": 2588 + "parent_index": 2589 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -53072,7 +53838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" } ], "type_description": { @@ -53087,7 +53854,7 @@ } }, { - "id": 2590, + "id": 2591, "node_type": 48, "src": { "line": 1399, @@ -53095,10 +53862,10 @@ "start": 51013, "end": 51271, "length": 259, - "parent_index": 2371 + "parent_index": 2372 }, "condition": { - "id": 2592, + "id": 2593, "node_type": 96, "src": { "line": 1399, @@ -53106,11 +53873,11 @@ "start": 51017, "end": 51066, "length": 50, - "parent_index": 2590 + "parent_index": 2591 }, "expressions": [ { - "id": 2593, + "id": 2594, "node_type": 18, "kind": 104, "src": { @@ -53119,7 +53886,7 @@ "start": 51017, "end": 51028, "length": 12, - "parent_index": 2352 + "parent_index": 2353 }, "operator": 31, "prefix": false, @@ -53128,7 +53895,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 2594, + "id": 2595, "node_type": 16, "src": { "line": 1399, @@ -53136,7 +53903,7 @@ "start": 51018, "end": 51028, "length": 11, - "parent_index": 2593 + "parent_index": 2594 }, "name": "_fee_in_eth", "type_description": { @@ -53144,8 +53911,9 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 2594, - "is_pure": false + "referenced_declaration": 2595, + "is_pure": false, + "text": "_fee_in_eth" }, "type_description": { "type_identifier": "t_bool", @@ -53153,7 +53921,7 @@ } }, { - "id": 2595, + "id": 2596, "node_type": 18, "kind": 104, "src": { @@ -53162,7 +53930,7 @@ "start": 51033, "end": 51066, "length": 34, - "parent_index": 2352 + "parent_index": 2353 }, "operator": 31, "prefix": false, @@ -53171,7 +53939,7 @@ "is_pure": false, "l_value_requested": false, "expression": { - "id": 2596, + "id": 2597, "node_type": 24, "kind": 24, "src": { @@ -53180,7 +53948,7 @@ "start": 51034, "end": 51066, "length": 33, - "parent_index": 2595 + "parent_index": 2596 }, "argument_types": [ { @@ -53190,7 +53958,7 @@ ], "arguments": [ { - "id": 2599, + "id": 2600, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -53202,7 +53970,7 @@ "start": 51056, "end": 51065, "length": 10, - "parent_index": 2596 + "parent_index": 2597 }, "member_location": { "line": 1399, @@ -53210,10 +53978,10 @@ "start": 51060, "end": 51065, "length": 6, - "parent_index": 2599 + "parent_index": 2600 }, "expression": { - "id": 2600, + "id": 2601, "node_type": 16, "src": { "line": 1399, @@ -53221,7 +53989,7 @@ "start": 51056, "end": 51058, "length": 3, - "parent_index": 2599 + "parent_index": 2600 }, "name": "msg", "type_description": { @@ -53230,18 +53998,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 2597, + "id": 2598, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -53253,7 +54023,7 @@ "start": 51034, "end": 51054, "length": 21, - "parent_index": 2596 + "parent_index": 2597 }, "member_location": { "line": 1399, @@ -53261,10 +54031,10 @@ "start": 51047, "end": 51054, "length": 8, - "parent_index": 2597 + "parent_index": 2598 }, "expression": { - "id": 2598, + "id": 2599, "node_type": 16, "src": { "line": 1399, @@ -53272,7 +54042,7 @@ "start": 51034, "end": 51045, "length": 12, - "parent_index": 2597 + "parent_index": 2598 }, "name": "feeWhitelist", "type_description": { @@ -53280,15 +54050,17 @@ "type_string": "contract EnumerableSet" }, "overloaded_declarations": [], - "referenced_declaration": 2085, - "is_pure": false + "referenced_declaration": 2086, + "is_pure": false, + "text": "feeWhitelist" }, "member_name": "contains", "argument_types": [], "type_description": { "type_identifier": "t_contract$_EnumerableSet_$427", "type_string": "contract EnumerableSet" - } + }, + "text": "feeWhitelist.contains" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -53313,7 +54085,7 @@ ] }, "body": { - "id": 2601, + "id": 2602, "node_type": 46, "kind": 0, "src": { @@ -53322,12 +54094,12 @@ "start": 51069, "end": 51271, "length": 203, - "parent_index": 2352 + "parent_index": 2353 }, "implemented": true, "statements": [ { - "id": 2602, + "id": 2603, "node_type": 27, "src": { "line": 1401, @@ -53335,10 +54107,10 @@ "start": 51151, "end": 51261, "length": 111, - "parent_index": 2601 + "parent_index": 2602 }, "expression": { - "id": 2603, + "id": 2604, "node_type": 27, "src": { "line": 1401, @@ -53346,11 +54118,11 @@ "start": 51151, "end": 51260, "length": 110, - "parent_index": 2602 + "parent_index": 2603 }, "operator": 11, "left_expression": { - "id": 2604, + "id": 2605, "node_type": 16, "src": { "line": 1401, @@ -53358,7 +54130,7 @@ "start": 51151, "end": 51162, "length": 12, - "parent_index": 2603 + "parent_index": 2604 }, "name": "liquidityFee", "type_description": { @@ -53366,11 +54138,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2069, - "is_pure": false + "referenced_declaration": 2070, + "is_pure": false, + "text": "liquidityFee" }, "right_expression": { - "id": 2605, + "id": 2606, "is_constant": false, "is_pure": false, "node_type": 19, @@ -53380,11 +54153,11 @@ "start": 51182, "end": 51260, "length": 79, - "parent_index": 2603 + "parent_index": 2604 }, "operator": 4, "left_expression": { - "id": 2606, + "id": 2607, "node_type": 60, "src": { "line": 1402, @@ -53392,13 +54165,13 @@ "start": 51182, "end": 51235, "length": 54, - "parent_index": 2605 + "parent_index": 2606 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2607, + "id": 2608, "is_constant": false, "is_pure": false, "node_type": 19, @@ -53408,11 +54181,11 @@ "start": 51183, "end": 51234, "length": 52, - "parent_index": 2606 + "parent_index": 2607 }, "operator": 3, "left_expression": { - "id": 2608, + "id": 2609, "node_type": 16, "src": { "line": 1402, @@ -53420,7 +54193,7 @@ "start": 51183, "end": 51194, "length": 12, - "parent_index": 2607 + "parent_index": 2608 }, "name": "liquidityFee", "type_description": { @@ -53428,11 +54201,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2069, - "is_pure": false + "referenced_declaration": 2070, + "is_pure": false, + "text": "liquidityFee" }, "right_expression": { - "id": 2609, + "id": 2610, "node_type": 60, "src": { "line": 1402, @@ -53440,13 +54214,13 @@ "start": 51198, "end": 51234, "length": 37, - "parent_index": 2607 + "parent_index": 2608 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2610, + "id": 2611, "is_constant": false, "is_pure": false, "node_type": 19, @@ -53456,11 +54230,11 @@ "start": 51199, "end": 51233, "length": 35, - "parent_index": 2609 + "parent_index": 2610 }, "operator": 2, "left_expression": { - "id": 2611, + "id": 2612, "node_type": 17, "kind": 49, "value": "1000", @@ -53471,7 +54245,7 @@ "start": 51199, "end": 51202, "length": 4, - "parent_index": 2610 + "parent_index": 2611 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -53479,10 +54253,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "right_expression": { - "id": 2612, + "id": 2613, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -53494,7 +54269,7 @@ "start": 51206, "end": 51233, "length": 28, - "parent_index": 2610 + "parent_index": 2611 }, "member_location": { "line": 1402, @@ -53502,10 +54277,10 @@ "start": 51212, "end": 51233, "length": 22, - "parent_index": 2612 + "parent_index": 2613 }, "expression": { - "id": 2613, + "id": 2614, "node_type": 16, "src": { "line": 1402, @@ -53513,23 +54288,25 @@ "start": 51206, "end": 51210, "length": 5, - "parent_index": 2612 + "parent_index": 2613 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "secondaryTokenDiscount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.secondaryTokenDiscount" }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -53554,7 +54331,7 @@ } }, "right_expression": { - "id": 2614, + "id": 2615, "node_type": 60, "src": { "line": 1403, @@ -53562,13 +54339,13 @@ "start": 51255, "end": 51260, "length": 6, - "parent_index": 2605 + "parent_index": 2606 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 2615, + "id": 2616, "node_type": 17, "kind": 49, "value": "1000", @@ -53579,7 +54356,7 @@ "start": 51256, "end": 51259, "length": 4, - "parent_index": 2614 + "parent_index": 2615 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -53587,7 +54364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" } ], "type_description": { @@ -53608,13 +54386,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "liquidityFee=(liquidityFee*(1000-gFees.secondaryTokenDiscount))/(1000);" } ] } }, { - "id": 2616, + "id": 2617, "node_type": 24, "kind": 24, "src": { @@ -53623,7 +54402,7 @@ "start": 51281, "end": 51332, "length": 52, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -53637,7 +54416,7 @@ ], "arguments": [ { - "id": 2621, + "id": 2622, "node_type": 16, "src": { "line": 1405, @@ -53645,7 +54424,7 @@ "start": 51311, "end": 51317, "length": 7, - "parent_index": 2616 + "parent_index": 2617 }, "name": "devaddr", "type_description": { @@ -53654,10 +54433,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "devaddr" }, { - "id": 2622, + "id": 2623, "node_type": 16, "src": { "line": 1405, @@ -53665,7 +54445,7 @@ "start": 51320, "end": 51331, "length": 12, - "parent_index": 2616 + "parent_index": 2617 }, "name": "liquidityFee", "type_description": { @@ -53673,18 +54453,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2578, + "referenced_declaration": 2579, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "liquidityFee" } ], "expression": { - "id": 2617, + "id": 2618, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -53696,7 +54477,7 @@ "start": 51281, "end": 51309, "length": 29, - "parent_index": 2616 + "parent_index": 2617 }, "member_location": { "line": 1405, @@ -53704,10 +54485,10 @@ "start": 51298, "end": 51309, "length": 12, - "parent_index": 2617 + "parent_index": 2618 }, "expression": { - "id": 2618, + "id": 2619, "node_type": 24, "kind": 24, "src": { @@ -53716,7 +54497,7 @@ "start": 51281, "end": 51296, "length": 16, - "parent_index": 2617 + "parent_index": 2618 }, "argument_types": [ { @@ -53726,7 +54507,7 @@ ], "arguments": [ { - "id": 2620, + "id": 2621, "node_type": 16, "src": { "line": 1405, @@ -53734,7 +54515,7 @@ "start": 51288, "end": 51295, "length": 8, - "parent_index": 2618 + "parent_index": 2619 }, "name": "_lpToken", "type_description": { @@ -53742,12 +54523,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2620, - "is_pure": false + "referenced_declaration": 2621, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 2619, + "id": 2620, "node_type": 16, "src": { "line": 1405, @@ -53755,7 +54537,7 @@ "start": 51281, "end": 51286, "length": 6, - "parent_index": 2618 + "parent_index": 2619 }, "name": "IERC20", "type_description": { @@ -53764,7 +54546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -53776,7 +54559,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_lpToken).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -53784,7 +54568,7 @@ } }, { - "id": 2623, + "id": 2624, "node_type": 44, "src": { "line": 1406, @@ -53792,25 +54576,25 @@ "start": 51343, "end": 51390, "length": 48, - "parent_index": 2371 + "parent_index": 2372 }, "assignments": [ - 2624 + 2625 ], "declarations": [ { - "id": 2624, + "id": 2625, "state_mutability": 1, "name": "amountLocked", "node_type": 44, - "scope": 2371, + "scope": 2372, "src": { "line": 1406, "column": 8, "start": 51343, "end": 51362, "length": 20, - "parent_index": 2623 + "parent_index": 2624 }, "name_location": { "line": 1406, @@ -53818,12 +54602,12 @@ "start": 51351, "end": 51362, "length": 12, - "parent_index": 2624 + "parent_index": 2625 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2625, + "id": 2626, "node_type": 30, "src": { "line": 1406, @@ -53831,7 +54615,7 @@ "start": 51343, "end": 51349, "length": 7, - "parent_index": 2624 + "parent_index": 2625 }, "name": "uint256", "referenced_declaration": 0, @@ -53844,7 +54628,7 @@ } ], "initial_value": { - "id": 2626, + "id": 2627, "is_constant": false, "is_pure": false, "node_type": 19, @@ -53854,11 +54638,11 @@ "start": 51366, "end": 51389, "length": 24, - "parent_index": 2623 + "parent_index": 2624 }, "operator": 2, "left_expression": { - "id": 2627, + "id": 2628, "node_type": 16, "src": { "line": 1406, @@ -53866,7 +54650,7 @@ "start": 51366, "end": 51372, "length": 7, - "parent_index": 2626 + "parent_index": 2627 }, "name": "_amount", "type_description": { @@ -53874,11 +54658,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2627, - "is_pure": false + "referenced_declaration": 2628, + "is_pure": false, + "text": "_amount" }, "right_expression": { - "id": 2628, + "id": 2629, "node_type": 60, "src": { "line": 1406, @@ -53886,13 +54671,13 @@ "start": 51376, "end": 51389, "length": 14, - "parent_index": 2626 + "parent_index": 2627 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2629, + "id": 2630, "node_type": 16, "src": { "line": 1406, @@ -53900,7 +54685,7 @@ "start": 51377, "end": 51388, "length": 12, - "parent_index": 2628 + "parent_index": 2629 }, "name": "liquidityFee", "type_description": { @@ -53908,8 +54693,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2578, - "is_pure": false + "referenced_declaration": 2579, + "is_pure": false, + "text": "liquidityFee" } ], "type_description": { @@ -53924,7 +54710,7 @@ } }, { - "id": 2630, + "id": 2631, "node_type": 44, "src": { "line": 1408, @@ -53932,25 +54718,25 @@ "start": 51401, "end": 51428, "length": 28, - "parent_index": 2371 + "parent_index": 2372 }, "assignments": [ - 2631 + 2632 ], "declarations": [ { - "id": 2631, + "id": 2632, "state_mutability": 1, "name": "token_lock", "node_type": 44, - "scope": 2371, + "scope": 2372, "src": { "line": 1408, "column": 8, "start": 51401, "end": 51427, "length": 27, - "parent_index": 2630 + "parent_index": 2631 }, "name_location": { "line": 1408, @@ -53958,12 +54744,12 @@ "start": 51418, "end": 51427, "length": 10, - "parent_index": 2631 + "parent_index": 2632 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 2632, + "id": 2633, "node_type": 69, "src": { "line": 1408, @@ -53971,10 +54757,10 @@ "start": 51401, "end": 51409, "length": 9, - "parent_index": 2631 + "parent_index": 2632 }, "path_node": { - "id": 2633, + "id": 2634, "name": "TokenLock", "node_type": 52, "referenced_declaration": 2031, @@ -53984,7 +54770,7 @@ "start": 51401, "end": 51409, "length": 9, - "parent_index": 2632 + "parent_index": 2633 }, "name_location": { "line": 1408, @@ -53992,7 +54778,7 @@ "start": 51401, "end": 51409, "length": 9, - "parent_index": 2632 + "parent_index": 2633 } }, "referenced_declaration": 2031, @@ -54006,7 +54792,7 @@ ] }, { - "id": 2634, + "id": 2635, "node_type": 27, "src": { "line": 1409, @@ -54014,10 +54800,10 @@ "start": 51438, "end": 51475, "length": 38, - "parent_index": 2371 + "parent_index": 2372 }, "expression": { - "id": 2635, + "id": 2636, "node_type": 27, "src": { "line": 1409, @@ -54025,11 +54811,11 @@ "start": 51438, "end": 51474, "length": 37, - "parent_index": 2634 + "parent_index": 2635 }, "operator": 11, "left_expression": { - "id": 2636, + "id": 2637, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54041,7 +54827,7 @@ "start": 51438, "end": 51456, "length": 19, - "parent_index": 2635 + "parent_index": 2636 }, "member_location": { "line": 1409, @@ -54049,10 +54835,10 @@ "start": 51449, "end": 51456, "length": 8, - "parent_index": 2636 + "parent_index": 2637 }, "expression": { - "id": 2637, + "id": 2638, "node_type": 16, "src": { "line": 1409, @@ -54060,7 +54846,7 @@ "start": 51438, "end": 51447, "length": 10, - "parent_index": 2636 + "parent_index": 2637 }, "name": "token_lock", "type_description": { @@ -54068,18 +54854,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "lockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockDate" }, "right_expression": { - "id": 2638, + "id": 2639, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54091,7 +54879,7 @@ "start": 51460, "end": 51474, "length": 15, - "parent_index": 2635 + "parent_index": 2636 }, "member_location": { "line": 1409, @@ -54099,10 +54887,10 @@ "start": 51466, "end": 51474, "length": 9, - "parent_index": 2638 + "parent_index": 2639 }, "expression": { - "id": 2639, + "id": 2640, "node_type": 16, "src": { "line": 1409, @@ -54110,7 +54898,7 @@ "start": 51460, "end": 51464, "length": 5, - "parent_index": 2638 + "parent_index": 2639 }, "name": "block", "type_description": { @@ -54119,14 +54907,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -54136,10 +54926,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockDate=block.timestamp;" }, { - "id": 2640, + "id": 2641, "node_type": 27, "src": { "line": 1410, @@ -54147,10 +54938,10 @@ "start": 51485, "end": 51517, "length": 33, - "parent_index": 2371 + "parent_index": 2372 }, "expression": { - "id": 2641, + "id": 2642, "node_type": 27, "src": { "line": 1410, @@ -54158,11 +54949,11 @@ "start": 51485, "end": 51516, "length": 32, - "parent_index": 2640 + "parent_index": 2641 }, "operator": 11, "left_expression": { - "id": 2642, + "id": 2643, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54174,7 +54965,7 @@ "start": 51485, "end": 51501, "length": 17, - "parent_index": 2641 + "parent_index": 2642 }, "member_location": { "line": 1410, @@ -54182,10 +54973,10 @@ "start": 51496, "end": 51501, "length": 6, - "parent_index": 2642 + "parent_index": 2643 }, "expression": { - "id": 2643, + "id": 2644, "node_type": 16, "src": { "line": 1410, @@ -54193,7 +54984,7 @@ "start": 51485, "end": 51494, "length": 10, - "parent_index": 2642 + "parent_index": 2643 }, "name": "token_lock", "type_description": { @@ -54201,18 +54992,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.amount" }, "right_expression": { - "id": 2644, + "id": 2645, "node_type": 16, "src": { "line": 1410, @@ -54220,7 +55013,7 @@ "start": 51505, "end": 51516, "length": 12, - "parent_index": 2641 + "parent_index": 2642 }, "name": "amountLocked", "type_description": { @@ -54228,8 +55021,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2623, - "is_pure": false + "referenced_declaration": 2624, + "is_pure": false, + "text": "amountLocked" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -54239,10 +55033,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.amount=amountLocked;" }, { - "id": 2645, + "id": 2646, "node_type": 27, "src": { "line": 1411, @@ -54250,10 +55045,10 @@ "start": 51527, "end": 51566, "length": 40, - "parent_index": 2371 + "parent_index": 2372 }, "expression": { - "id": 2646, + "id": 2647, "node_type": 27, "src": { "line": 1411, @@ -54261,11 +55056,11 @@ "start": 51527, "end": 51565, "length": 39, - "parent_index": 2645 + "parent_index": 2646 }, "operator": 11, "left_expression": { - "id": 2647, + "id": 2648, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54277,7 +55072,7 @@ "start": 51527, "end": 51550, "length": 24, - "parent_index": 2646 + "parent_index": 2647 }, "member_location": { "line": 1411, @@ -54285,10 +55080,10 @@ "start": 51538, "end": 51550, "length": 13, - "parent_index": 2647 + "parent_index": 2648 }, "expression": { - "id": 2648, + "id": 2649, "node_type": 16, "src": { "line": 1411, @@ -54296,7 +55091,7 @@ "start": 51527, "end": 51536, "length": 10, - "parent_index": 2647 + "parent_index": 2648 }, "name": "token_lock", "type_description": { @@ -54304,18 +55099,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "initialAmount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.initialAmount" }, "right_expression": { - "id": 2649, + "id": 2650, "node_type": 16, "src": { "line": 1411, @@ -54323,7 +55120,7 @@ "start": 51554, "end": 51565, "length": 12, - "parent_index": 2646 + "parent_index": 2647 }, "name": "amountLocked", "type_description": { @@ -54331,8 +55128,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2623, - "is_pure": false + "referenced_declaration": 2624, + "is_pure": false, + "text": "amountLocked" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -54342,10 +55140,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.initialAmount=amountLocked;" }, { - "id": 2650, + "id": 2651, "node_type": 27, "src": { "line": 1412, @@ -54353,10 +55152,10 @@ "start": 51576, "end": 51612, "length": 37, - "parent_index": 2371 + "parent_index": 2372 }, "expression": { - "id": 2651, + "id": 2652, "node_type": 27, "src": { "line": 1412, @@ -54364,11 +55163,11 @@ "start": 51576, "end": 51611, "length": 36, - "parent_index": 2650 + "parent_index": 2651 }, "operator": 11, "left_expression": { - "id": 2652, + "id": 2653, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54380,7 +55179,7 @@ "start": 51576, "end": 51596, "length": 21, - "parent_index": 2651 + "parent_index": 2652 }, "member_location": { "line": 1412, @@ -54388,10 +55187,10 @@ "start": 51587, "end": 51596, "length": 10, - "parent_index": 2652 + "parent_index": 2653 }, "expression": { - "id": 2653, + "id": 2654, "node_type": 16, "src": { "line": 1412, @@ -54399,7 +55198,7 @@ "start": 51576, "end": 51585, "length": 10, - "parent_index": 2652 + "parent_index": 2653 }, "name": "token_lock", "type_description": { @@ -54407,18 +55206,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "unlockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.unlockDate" }, "right_expression": { - "id": 2654, + "id": 2655, "node_type": 16, "src": { "line": 1412, @@ -54426,7 +55227,7 @@ "start": 51600, "end": 51611, "length": 12, - "parent_index": 2651 + "parent_index": 2652 }, "name": "_unlock_date", "type_description": { @@ -54434,8 +55235,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2654, - "is_pure": false + "referenced_declaration": 2655, + "is_pure": false, + "text": "_unlock_date" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -54445,10 +55247,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.unlockDate=_unlock_date;" }, { - "id": 2655, + "id": 2656, "node_type": 27, "src": { "line": 1413, @@ -54456,10 +55259,10 @@ "start": 51622, "end": 51669, "length": 48, - "parent_index": 2371 + "parent_index": 2372 }, "expression": { - "id": 2656, + "id": 2657, "node_type": 27, "src": { "line": 1413, @@ -54467,11 +55270,11 @@ "start": 51622, "end": 51668, "length": 47, - "parent_index": 2655 + "parent_index": 2656 }, "operator": 11, "left_expression": { - "id": 2657, + "id": 2658, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54483,7 +55286,7 @@ "start": 51622, "end": 51638, "length": 17, - "parent_index": 2656 + "parent_index": 2657 }, "member_location": { "line": 1413, @@ -54491,10 +55294,10 @@ "start": 51633, "end": 51638, "length": 6, - "parent_index": 2657 + "parent_index": 2658 }, "expression": { - "id": 2658, + "id": 2659, "node_type": 16, "src": { "line": 1413, @@ -54502,7 +55305,7 @@ "start": 51622, "end": 51631, "length": 10, - "parent_index": 2657 + "parent_index": 2658 }, "name": "token_lock", "type_description": { @@ -54510,18 +55313,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "lockID", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockID" }, "right_expression": { - "id": 2659, + "id": 2660, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54533,7 +55338,7 @@ "start": 51642, "end": 51668, "length": 27, - "parent_index": 2656 + "parent_index": 2657 }, "member_location": { "line": 1413, @@ -54541,10 +55346,10 @@ "start": 51663, "end": 51668, "length": 6, - "parent_index": 2659 + "parent_index": 2660 }, "expression": { - "id": 2660, + "id": 2661, "node_type": 22, "src": { "line": 1413, @@ -54552,10 +55357,10 @@ "start": 51642, "end": 51661, "length": 20, - "parent_index": 2659 + "parent_index": 2660 }, "index_expression": { - "id": 2661, + "id": 2662, "node_type": 16, "src": { "line": 1413, @@ -54563,7 +55368,7 @@ "start": 51642, "end": 51651, "length": 10, - "parent_index": 2660 + "parent_index": 2661 }, "name": "tokenLocks", "type_description": { @@ -54571,11 +55376,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 2662, + "id": 2663, "node_type": 16, "src": { "line": 1413, @@ -54583,7 +55389,7 @@ "start": 51653, "end": 51660, "length": 8, - "parent_index": 2660 + "parent_index": 2661 }, "name": "_lpToken", "type_description": { @@ -54591,8 +55397,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2662, - "is_pure": false + "referenced_declaration": 2663, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -54614,7 +55421,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_TokenLock_array$]$_t_address]$", "type_string": "index[mapping(address=\u003eTokenLock[]):address]" - } + }, + "text": "tokenLocks[_lpToken].length" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -54624,10 +55432,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockID=tokenLocks[_lpToken].length;" }, { - "id": 2663, + "id": 2664, "node_type": 27, "src": { "line": 1414, @@ -54635,10 +55444,10 @@ "start": 51679, "end": 51709, "length": 31, - "parent_index": 2371 + "parent_index": 2372 }, "expression": { - "id": 2664, + "id": 2665, "node_type": 27, "src": { "line": 1414, @@ -54646,11 +55455,11 @@ "start": 51679, "end": 51708, "length": 30, - "parent_index": 2663 + "parent_index": 2664 }, "operator": 11, "left_expression": { - "id": 2665, + "id": 2666, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54662,7 +55471,7 @@ "start": 51679, "end": 51694, "length": 16, - "parent_index": 2664 + "parent_index": 2665 }, "member_location": { "line": 1414, @@ -54670,10 +55479,10 @@ "start": 51690, "end": 51694, "length": 5, - "parent_index": 2665 + "parent_index": 2666 }, "expression": { - "id": 2666, + "id": 2667, "node_type": 16, "src": { "line": 1414, @@ -54681,7 +55490,7 @@ "start": 51679, "end": 51688, "length": 10, - "parent_index": 2665 + "parent_index": 2666 }, "name": "token_lock", "type_description": { @@ -54689,18 +55498,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.owner" }, "right_expression": { - "id": 2667, + "id": 2668, "node_type": 16, "src": { "line": 1414, @@ -54708,7 +55519,7 @@ "start": 51698, "end": 51708, "length": 11, - "parent_index": 2664 + "parent_index": 2665 }, "name": "_withdrawer", "type_description": { @@ -54716,8 +55527,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2667, - "is_pure": false + "referenced_declaration": 2668, + "is_pure": false, + "text": "_withdrawer" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -54727,10 +55539,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.owner=_withdrawer;" }, { - "id": 2668, + "id": 2669, "node_type": 24, "kind": 24, "src": { @@ -54739,7 +55552,7 @@ "start": 51765, "end": 51801, "length": 37, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -54749,7 +55562,7 @@ ], "arguments": [ { - "id": 2673, + "id": 2674, "node_type": 16, "src": { "line": 1417, @@ -54757,7 +55570,7 @@ "start": 51791, "end": 51800, "length": 10, - "parent_index": 2668 + "parent_index": 2669 }, "name": "token_lock", "type_description": { @@ -54765,12 +55578,13 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" } ], "expression": { - "id": 2669, + "id": 2670, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54782,7 +55596,7 @@ "start": 51765, "end": 51789, "length": 25, - "parent_index": 2668 + "parent_index": 2669 }, "member_location": { "line": 1417, @@ -54790,10 +55604,10 @@ "start": 51786, "end": 51789, "length": 4, - "parent_index": 2669 + "parent_index": 2670 }, "expression": { - "id": 2670, + "id": 2671, "node_type": 22, "src": { "line": 1417, @@ -54801,10 +55615,10 @@ "start": 51765, "end": 51784, "length": 20, - "parent_index": 2669 + "parent_index": 2670 }, "index_expression": { - "id": 2671, + "id": 2672, "node_type": 16, "src": { "line": 1417, @@ -54812,7 +55626,7 @@ "start": 51765, "end": 51774, "length": 10, - "parent_index": 2670 + "parent_index": 2671 }, "name": "tokenLocks", "type_description": { @@ -54820,11 +55634,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 2672, + "id": 2673, "node_type": 16, "src": { "line": 1417, @@ -54832,7 +55647,7 @@ "start": 51776, "end": 51783, "length": 8, - "parent_index": 2670 + "parent_index": 2671 }, "name": "_lpToken", "type_description": { @@ -54840,8 +55655,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2672, - "is_pure": false + "referenced_declaration": 2673, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -54863,7 +55679,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_TokenLock_array$]$_t_address]$", "type_string": "index[mapping(address=\u003eTokenLock[]):address]" - } + }, + "text": "tokenLocks[_lpToken].push" }, "type_description": { "type_identifier": "t_function_$_t_struct$_KnoxLpLocker_TokenLock_$2031$", @@ -54871,7 +55688,7 @@ } }, { - "id": 2674, + "id": 2675, "node_type": 24, "kind": 24, "src": { @@ -54880,7 +55697,7 @@ "start": 51812, "end": 51837, "length": 26, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -54890,7 +55707,7 @@ ], "arguments": [ { - "id": 2677, + "id": 2678, "node_type": 16, "src": { "line": 1418, @@ -54898,7 +55715,7 @@ "start": 51829, "end": 51836, "length": 8, - "parent_index": 2674 + "parent_index": 2675 }, "name": "_lpToken", "type_description": { @@ -54906,12 +55723,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2677, - "is_pure": false + "referenced_declaration": 2678, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 2675, + "id": 2676, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -54923,7 +55741,7 @@ "start": 51812, "end": 51827, "length": 16, - "parent_index": 2674 + "parent_index": 2675 }, "member_location": { "line": 1418, @@ -54931,10 +55749,10 @@ "start": 51825, "end": 51827, "length": 3, - "parent_index": 2675 + "parent_index": 2676 }, "expression": { - "id": 2676, + "id": 2677, "node_type": 16, "src": { "line": 1418, @@ -54942,7 +55760,7 @@ "start": 51812, "end": 51823, "length": 12, - "parent_index": 2675 + "parent_index": 2676 }, "name": "lockedTokens", "type_description": { @@ -54950,15 +55768,17 @@ "type_string": "contract EnumerableSet" }, "overloaded_declarations": [], - "referenced_declaration": 2050, - "is_pure": false + "referenced_declaration": 2051, + "is_pure": false, + "text": "lockedTokens" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_contract$_EnumerableSet_$427", "type_string": "contract EnumerableSet" - } + }, + "text": "lockedTokens.add" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -54966,7 +55786,7 @@ } }, { - "id": 2678, + "id": 2679, "node_type": 44, "src": { "line": 1421, @@ -54974,25 +55794,25 @@ "start": 51889, "end": 51931, "length": 43, - "parent_index": 2371 + "parent_index": 2372 }, "assignments": [ - 2679 + 2680 ], "declarations": [ { - "id": 2679, + "id": 2680, "state_mutability": 1, "name": "user", "node_type": 44, - "scope": 2371, + "scope": 2372, "src": { "line": 1421, "column": 8, "start": 51889, "end": 51909, "length": 21, - "parent_index": 2678 + "parent_index": 2679 }, "name_location": { "line": 1421, @@ -55000,12 +55820,12 @@ "start": 51906, "end": 51909, "length": 4, - "parent_index": 2679 + "parent_index": 2680 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 2680, + "id": 2681, "node_type": 69, "src": { "line": 1421, @@ -55013,10 +55833,10 @@ "start": 51889, "end": 51896, "length": 8, - "parent_index": 2679 + "parent_index": 2680 }, "path_node": { - "id": 2681, + "id": 2682, "name": "UserInfo", "node_type": 52, "referenced_declaration": 2022, @@ -55026,7 +55846,7 @@ "start": 51889, "end": 51896, "length": 8, - "parent_index": 2680 + "parent_index": 2681 }, "name_location": { "line": 1421, @@ -55034,7 +55854,7 @@ "start": 51889, "end": 51896, "length": 8, - "parent_index": 2680 + "parent_index": 2681 } }, "referenced_declaration": 2022, @@ -55047,7 +55867,7 @@ } ], "initial_value": { - "id": 2682, + "id": 2683, "node_type": 22, "src": { "line": 1421, @@ -55055,10 +55875,10 @@ "start": 51913, "end": 51930, "length": 18, - "parent_index": 2678 + "parent_index": 2679 }, "index_expression": { - "id": 2683, + "id": 2684, "node_type": 16, "src": { "line": 1421, @@ -55066,19 +55886,20 @@ "start": 51913, "end": 51917, "length": 5, - "parent_index": 2682 + "parent_index": 2683 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 2684, + "id": 2685, "node_type": 16, "src": { "line": 1421, @@ -55086,7 +55907,7 @@ "start": 51919, "end": 51929, "length": 11, - "parent_index": 2682 + "parent_index": 2683 }, "name": "_withdrawer", "type_description": { @@ -55094,12 +55915,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2684, - "is_pure": false + "referenced_declaration": 2685, + "is_pure": false, + "text": "_withdrawer" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -55108,13 +55930,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address_payable]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } } }, { - "id": 2685, + "id": 2686, "node_type": 24, "kind": 24, "src": { @@ -55123,7 +55945,7 @@ "start": 51941, "end": 51971, "length": 31, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -55133,7 +55955,7 @@ ], "arguments": [ { - "id": 2689, + "id": 2690, "node_type": 16, "src": { "line": 1422, @@ -55141,7 +55963,7 @@ "start": 51963, "end": 51970, "length": 8, - "parent_index": 2685 + "parent_index": 2686 }, "name": "_lpToken", "type_description": { @@ -55149,12 +55971,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2689, - "is_pure": false + "referenced_declaration": 2690, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 2686, + "id": 2687, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55166,7 +55989,7 @@ "start": 51941, "end": 51961, "length": 21, - "parent_index": 2685 + "parent_index": 2686 }, "member_location": { "line": 1422, @@ -55174,10 +55997,10 @@ "start": 51959, "end": 51961, "length": 3, - "parent_index": 2686 + "parent_index": 2687 }, "expression": { - "id": 2687, + "id": 2688, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55189,7 +56012,7 @@ "start": 51941, "end": 51957, "length": 17, - "parent_index": 2686 + "parent_index": 2687 }, "member_location": { "line": 1422, @@ -55197,10 +56020,10 @@ "start": 51946, "end": 51957, "length": 12, - "parent_index": 2687 + "parent_index": 2688 }, "expression": { - "id": 2688, + "id": 2689, "node_type": 16, "src": { "line": 1422, @@ -55208,7 +56031,7 @@ "start": 51941, "end": 51944, "length": 4, - "parent_index": 2687 + "parent_index": 2688 }, "name": "user", "type_description": { @@ -55216,22 +56039,25 @@ "type_string": "struct KnoxLpLocker.UserInfo" }, "overloaded_declarations": [], - "referenced_declaration": 2678, - "is_pure": false + "referenced_declaration": 2679, + "is_pure": false, + "text": "user" }, "member_name": "lockedTokens", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.lockedTokens" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.lockedTokens.add" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -55239,7 +56065,7 @@ } }, { - "id": 2690, + "id": 2691, "node_type": 44, "src": { "line": 1423, @@ -55247,25 +56073,25 @@ "start": 51982, "end": 52041, "length": 60, - "parent_index": 2371 + "parent_index": 2372 }, "assignments": [ - 2691 + 2692 ], "declarations": [ { - "id": 2691, + "id": 2692, "state_mutability": 1, "name": "user_locks", "node_type": 44, - "scope": 2371, + "scope": 2372, "src": { "line": 1423, "column": 8, "start": 51982, "end": 52009, "length": 28, - "parent_index": 2690 + "parent_index": 2691 }, "name_location": { "line": 1423, @@ -55273,12 +56099,12 @@ "start": 52000, "end": 52009, "length": 10, - "parent_index": 2691 + "parent_index": 2692 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 2692, + "id": 2693, "node_type": 16, "src": { "line": 1423, @@ -55286,7 +56112,7 @@ "start": 51982, "end": 51988, "length": 7, - "parent_index": 2691 + "parent_index": 2692 }, "name": "uint256", "referenced_declaration": 0, @@ -55299,7 +56125,7 @@ } ], "initial_value": { - "id": 2693, + "id": 2694, "node_type": 22, "src": { "line": 1423, @@ -55307,10 +56133,10 @@ "start": 52013, "end": 52040, "length": 28, - "parent_index": 2690 + "parent_index": 2691 }, "index_expression": { - "id": 2694, + "id": 2695, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55322,7 +56148,7 @@ "start": 52013, "end": 52030, "length": 18, - "parent_index": 2690 + "parent_index": 2691 }, "member_location": { "line": 1423, @@ -55330,10 +56156,10 @@ "start": 52018, "end": 52030, "length": 13, - "parent_index": 2694 + "parent_index": 2695 }, "expression": { - "id": 2695, + "id": 2696, "node_type": 16, "src": { "line": 1423, @@ -55341,7 +56167,7 @@ "start": 52013, "end": 52016, "length": 4, - "parent_index": 2694 + "parent_index": 2695 }, "name": "user", "type_description": { @@ -55349,18 +56175,20 @@ "type_string": "struct KnoxLpLocker.UserInfo" }, "overloaded_declarations": [], - "referenced_declaration": 2678, - "is_pure": false + "referenced_declaration": 2679, + "is_pure": false, + "text": "user" }, "member_name": "locksForToken", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.locksForToken" }, "base_expression": { - "id": 2696, + "id": 2697, "node_type": 16, "src": { "line": 1423, @@ -55368,7 +56196,7 @@ "start": 52032, "end": 52039, "length": 8, - "parent_index": 2693 + "parent_index": 2694 }, "name": "_lpToken", "type_description": { @@ -55376,8 +56204,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2696, - "is_pure": false + "referenced_declaration": 2697, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -55396,7 +56225,7 @@ } }, { - "id": 2697, + "id": 2698, "node_type": 24, "kind": 24, "src": { @@ -55405,7 +56234,7 @@ "start": 52051, "end": 52084, "length": 34, - "parent_index": 2371 + "parent_index": 2372 }, "argument_types": [ { @@ -55415,7 +56244,7 @@ ], "arguments": [ { - "id": 2700, + "id": 2701, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55427,7 +56256,7 @@ "start": 52067, "end": 52083, "length": 17, - "parent_index": 2697 + "parent_index": 2698 }, "member_location": { "line": 1424, @@ -55435,10 +56264,10 @@ "start": 52078, "end": 52083, "length": 6, - "parent_index": 2700 + "parent_index": 2701 }, "expression": { - "id": 2701, + "id": 2702, "node_type": 16, "src": { "line": 1424, @@ -55446,7 +56275,7 @@ "start": 52067, "end": 52076, "length": 10, - "parent_index": 2700 + "parent_index": 2701 }, "name": "token_lock", "type_description": { @@ -55454,19 +56283,21 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "lockID", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockID" } ], "expression": { - "id": 2698, + "id": 2699, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55478,7 +56309,7 @@ "start": 52051, "end": 52065, "length": 15, - "parent_index": 2697 + "parent_index": 2698 }, "member_location": { "line": 1424, @@ -55486,10 +56317,10 @@ "start": 52062, "end": 52065, "length": 4, - "parent_index": 2698 + "parent_index": 2699 }, "expression": { - "id": 2699, + "id": 2700, "node_type": 16, "src": { "line": 1424, @@ -55497,7 +56328,7 @@ "start": 52051, "end": 52060, "length": 10, - "parent_index": 2698 + "parent_index": 2699 }, "name": "user_locks", "type_description": { @@ -55505,15 +56336,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2690, - "is_pure": false + "referenced_declaration": 2691, + "is_pure": false, + "text": "user_locks" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "user_locks.push" }, "type_description": { "type_identifier": "t_function_$_t_struct$_KnoxLpLocker_TokenLock_$2031$", @@ -55521,7 +56354,7 @@ } }, { - "id": 2702, + "id": 2703, "node_type": 64, "src": { "line": 1426, @@ -55529,11 +56362,11 @@ "start": 52096, "end": 52296, "length": 201, - "parent_index": 2352 + "parent_index": 2353 }, "arguments": [ { - "id": 2703, + "id": 2704, "node_type": 16, "src": { "line": 1427, @@ -55541,7 +56374,7 @@ "start": 52124, "end": 52131, "length": 8, - "parent_index": 2702 + "parent_index": 2703 }, "name": "_lpToken", "type_description": { @@ -55549,11 +56382,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2703, - "is_pure": false + "referenced_declaration": 2704, + "is_pure": false, + "text": "_lpToken" }, { - "id": 2704, + "id": 2705, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55565,7 +56399,7 @@ "start": 52146, "end": 52155, "length": 10, - "parent_index": 2702 + "parent_index": 2703 }, "member_location": { "line": 1428, @@ -55573,10 +56407,10 @@ "start": 52150, "end": 52155, "length": 6, - "parent_index": 2704 + "parent_index": 2705 }, "expression": { - "id": 2705, + "id": 2706, "node_type": 16, "src": { "line": 1428, @@ -55584,7 +56418,7 @@ "start": 52146, "end": 52148, "length": 3, - "parent_index": 2704 + "parent_index": 2705 }, "name": "msg", "type_description": { @@ -55593,17 +56427,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 2706, + "id": 2707, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55615,7 +56451,7 @@ "start": 52170, "end": 52186, "length": 17, - "parent_index": 2702 + "parent_index": 2703 }, "member_location": { "line": 1429, @@ -55623,10 +56459,10 @@ "start": 52181, "end": 52186, "length": 6, - "parent_index": 2706 + "parent_index": 2707 }, "expression": { - "id": 2707, + "id": 2708, "node_type": 16, "src": { "line": 1429, @@ -55634,7 +56470,7 @@ "start": 52170, "end": 52179, "length": 10, - "parent_index": 2706 + "parent_index": 2707 }, "name": "token_lock", "type_description": { @@ -55642,18 +56478,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.amount" }, { - "id": 2708, + "id": 2709, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55665,7 +56503,7 @@ "start": 52201, "end": 52219, "length": 19, - "parent_index": 2702 + "parent_index": 2703 }, "member_location": { "line": 1430, @@ -55673,10 +56511,10 @@ "start": 52212, "end": 52219, "length": 8, - "parent_index": 2708 + "parent_index": 2709 }, "expression": { - "id": 2709, + "id": 2710, "node_type": 16, "src": { "line": 1430, @@ -55684,7 +56522,7 @@ "start": 52201, "end": 52210, "length": 10, - "parent_index": 2708 + "parent_index": 2709 }, "name": "token_lock", "type_description": { @@ -55692,18 +56530,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "lockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockDate" }, { - "id": 2710, + "id": 2711, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55715,7 +56555,7 @@ "start": 52234, "end": 52254, "length": 21, - "parent_index": 2702 + "parent_index": 2703 }, "member_location": { "line": 1431, @@ -55723,10 +56563,10 @@ "start": 52245, "end": 52254, "length": 10, - "parent_index": 2710 + "parent_index": 2711 }, "expression": { - "id": 2711, + "id": 2712, "node_type": 16, "src": { "line": 1431, @@ -55734,7 +56574,7 @@ "start": 52234, "end": 52243, "length": 10, - "parent_index": 2710 + "parent_index": 2711 }, "name": "token_lock", "type_description": { @@ -55742,18 +56582,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "unlockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.unlockDate" }, { - "id": 2712, + "id": 2713, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -55765,7 +56607,7 @@ "start": 52269, "end": 52285, "length": 17, - "parent_index": 2702 + "parent_index": 2703 }, "member_location": { "line": 1432, @@ -55773,10 +56615,10 @@ "start": 52280, "end": 52285, "length": 6, - "parent_index": 2712 + "parent_index": 2713 }, "expression": { - "id": 2713, + "id": 2714, "node_type": 16, "src": { "line": 1432, @@ -55784,7 +56626,7 @@ "start": 52269, "end": 52278, "length": 10, - "parent_index": 2712 + "parent_index": 2713 }, "name": "token_lock", "type_description": { @@ -55792,19 +56634,21 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2631, + "is_pure": false, + "text": "token_lock" }, "member_name": "lockID", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockID" } ], "expression": { - "id": 2714, + "id": 2715, "node_type": 16, "src": { "line": 1426, @@ -55812,20 +56656,21 @@ "start": 52101, "end": 52109, "length": 9, - "parent_index": 2702 + "parent_index": 2703 }, "name": "onDeposit", "type_description": { - "type_identifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262096", + "type_identifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262097", "type_string": "event KnoxLpLocker.onDeposit" }, "overloaded_declarations": [], - "referenced_declaration": 2096, - "is_pure": false + "referenced_declaration": 2097, + "is_pure": false, + "text": "onDeposit" } }, { - "id": 2715, + "id": 2716, "node_type": 47, "src": { "line": 1435, @@ -55833,11 +56678,11 @@ "start": 52307, "end": 52318, "length": 12, - "parent_index": 2352 + "parent_index": 2353 }, - "function_return_parameters": 2352, + "function_return_parameters": 2353, "expression": { - "id": 2716, + "id": 2717, "node_type": 17, "kind": 61, "value": "true", @@ -55848,7 +56693,7 @@ "start": 52314, "end": 52317, "length": 4, - "parent_index": 2715 + "parent_index": 2716 }, "type_description": { "type_identifier": "t_bool", @@ -55856,7 +56701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -55867,7 +56713,7 @@ "virtual": false, "modifiers": [ { - "id": 2366, + "id": 2367, "name": "nonReentrant", "node_type": 72, "kind": 72, @@ -55877,12 +56723,12 @@ "start": 47667, "end": 47678, "length": 12, - "parent_index": 2352 + "parent_index": 2353 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2367, + "id": 2368, "name": "nonReentrant", "node_type": 0, "src": { @@ -55891,14 +56737,14 @@ "start": 47667, "end": 47678, "length": 12, - "parent_index": 2366 + "parent_index": 2367 } } } ], "overrides": [], "parameters": { - "id": 2353, + "id": 2354, "node_type": 43, "src": { "line": 1310, @@ -55906,11 +56752,11 @@ "start": 47474, "end": 47642, "length": 169, - "parent_index": 2352 + "parent_index": 2353 }, "parameters": [ { - "id": 2354, + "id": 2355, "node_type": 44, "src": { "line": 1310, @@ -55918,12 +56764,12 @@ "start": 47474, "end": 47489, "length": 16, - "parent_index": 2353 + "parent_index": 2354 }, - "scope": 2352, + "scope": 2353, "name": "_lpToken", "type_name": { - "id": 2355, + "id": 2356, "node_type": 30, "src": { "line": 1310, @@ -55931,7 +56777,7 @@ "start": 47474, "end": 47480, "length": 7, - "parent_index": 2354 + "parent_index": 2355 }, "name": "address", "state_mutability": 4, @@ -55950,7 +56796,7 @@ } }, { - "id": 2356, + "id": 2357, "node_type": 44, "src": { "line": 1311, @@ -55958,12 +56804,12 @@ "start": 47500, "end": 47514, "length": 15, - "parent_index": 2353 + "parent_index": 2354 }, - "scope": 2352, + "scope": 2353, "name": "_amount", "type_name": { - "id": 2357, + "id": 2358, "node_type": 30, "src": { "line": 1311, @@ -55971,7 +56817,7 @@ "start": 47500, "end": 47506, "length": 7, - "parent_index": 2356 + "parent_index": 2357 }, "name": "uint256", "referenced_declaration": 0, @@ -55989,7 +56835,7 @@ } }, { - "id": 2358, + "id": 2359, "node_type": 44, "src": { "line": 1312, @@ -55997,12 +56843,12 @@ "start": 47525, "end": 47544, "length": 20, - "parent_index": 2353 + "parent_index": 2354 }, - "scope": 2352, + "scope": 2353, "name": "_unlock_date", "type_name": { - "id": 2359, + "id": 2360, "node_type": 30, "src": { "line": 1312, @@ -56010,7 +56856,7 @@ "start": 47525, "end": 47531, "length": 7, - "parent_index": 2358 + "parent_index": 2359 }, "name": "uint256", "referenced_declaration": 0, @@ -56028,7 +56874,7 @@ } }, { - "id": 2360, + "id": 2361, "node_type": 44, "src": { "line": 1313, @@ -56036,12 +56882,12 @@ "start": 47555, "end": 47579, "length": 25, - "parent_index": 2353 + "parent_index": 2354 }, - "scope": 2352, + "scope": 2353, "name": "_referral", "type_name": { - "id": 2361, + "id": 2362, "node_type": 30, "src": { "line": 1313, @@ -56049,7 +56895,7 @@ "start": 47555, "end": 47569, "length": 15, - "parent_index": 2360 + "parent_index": 2361 }, "name": "addresspayable", "state_mutability": 3, @@ -56068,7 +56914,7 @@ } }, { - "id": 2362, + "id": 2363, "node_type": 44, "src": { "line": 1314, @@ -56076,12 +56922,12 @@ "start": 47590, "end": 47605, "length": 16, - "parent_index": 2353 + "parent_index": 2354 }, - "scope": 2352, + "scope": 2353, "name": "_fee_in_eth", "type_name": { - "id": 2363, + "id": 2364, "node_type": 30, "src": { "line": 1314, @@ -56089,7 +56935,7 @@ "start": 47590, "end": 47593, "length": 4, - "parent_index": 2362 + "parent_index": 2363 }, "name": "bool", "referenced_declaration": 0, @@ -56107,7 +56953,7 @@ } }, { - "id": 2364, + "id": 2365, "node_type": 44, "src": { "line": 1315, @@ -56115,12 +56961,12 @@ "start": 47616, "end": 47642, "length": 27, - "parent_index": 2353 + "parent_index": 2354 }, - "scope": 2352, + "scope": 2353, "name": "_withdrawer", "type_name": { - "id": 2365, + "id": 2366, "node_type": 30, "src": { "line": 1315, @@ -56128,7 +56974,7 @@ "start": 47616, "end": 47630, "length": 15, - "parent_index": 2364 + "parent_index": 2365 }, "name": "addresspayable", "state_mutability": 3, @@ -56175,7 +57021,7 @@ ] }, "return_parameters": { - "id": 2368, + "id": 2369, "node_type": 43, "src": { "line": 1316, @@ -56183,11 +57029,11 @@ "start": 47689, "end": 47692, "length": 4, - "parent_index": 2352 + "parent_index": 2353 }, "parameters": [ { - "id": 2369, + "id": 2370, "node_type": 44, "src": { "line": 1316, @@ -56195,12 +57041,12 @@ "start": 47689, "end": 47692, "length": 4, - "parent_index": 2368 + "parent_index": 2369 }, - "scope": 2352, + "scope": 2353, "name": "", "type_name": { - "id": 2370, + "id": 2371, "node_type": 30, "src": { "line": 1316, @@ -56208,7 +57054,7 @@ "start": 47689, "end": 47692, "length": 4, - "parent_index": 2369 + "parent_index": 2370 }, "name": "bool", "referenced_declaration": 0, @@ -56233,16 +57079,17 @@ } ] }, - "signature_raw": "lockLPToken(address, uint256, uint256, addresspayable, bool, addresspayable)", - "signature": "e3d5e3bc", + "signature_raw": "lockLPToken(address,uint256,uint256,addresspayable,bool,addresspayable)", + "signature": "888a15ea", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address_payable$_t_bool$_t_address_payable$", "type_string": "function(address,uint256,uint256,address,bool,address)" - } + }, + "text": "functionlockLPToken(address_lpToken,uint256_amount,uint256_unlock_date,addresspayable_referral,bool_fee_in_eth,addresspayable_withdrawer)externalpayablenonReentrantreturns(bool){require(_unlock_date\u003c10000000000,\"TIMESTAMP INVALID\");require(_amount\u003e0,\"INSUFFICIENT\");require(_unlock_date\u003eblock.timestamp,\"BLOCK HEIGHT INVALID\");require(_lpToken!=address(0),\"INVALID ADDRESS\");require(_withdrawer!=address(0),\"INVALID ADDRESS\");IUniswapV2Pairlpair=IUniswapV2Pair(address(_lpToken));addressfactoryPairAddress=uniswapFactory.getPair(lpair.token0(),lpair.token1());require(factoryPairAddress==address(_lpToken),\"NOT UNIV2\");IERC20(address(_lpToken)).safeTransferFrom(address(msg.sender),address(this),_amount);if(_referral!=address(0)\u0026\u0026address(gFees.referralToken)!=address(0)){require(gFees.referralToken.balanceOf(_referral)\u003e=gFees.referralHold,\"INADEQUATE BALANCE\");}if(!feeWhitelist.contains(msg.sender)){if(_fee_in_eth){uint256ethFee=gFees.ethFee;if(_referral!=address(0)){ethFee=(ethFee*(1000-gFees.referralDiscount))/(1000);}require(msg.value==ethFee,\"FEE NOT MET\");uint256devFee=ethFee;if(ethFee!=0\u0026\u0026_referral!=address(0)){uint256referralFee=(devFee*(gFees.referralPercent))/(1000);_referral.sendValue(referralFee);devFee=devFee-(referralFee);}devaddr.sendValue(devFee);}else{uint256burnFee=gFees.secondaryTokenFee;if(_referral!=address(0)){burnFee=(burnFee*(1000-gFees.referralDiscount))/(1000);}IERC20(address(gFees.secondaryFeeToken)).safeTransferFrom(address(msg.sender),address(this),burnFee);if(gFees.referralPercent!=0\u0026\u0026_referral!=address(0)){uint256referralFee=(burnFee*(gFees.referralPercent))/(1000);IERC20(address(gFees.secondaryFeeToken)).safeTransfer(_referral,referralFee);burnFee=burnFee-(referralFee);}gFees.secondaryFeeToken.burn(burnFee);}}elseif(msg.value\u003e0){payable(msg.sender).sendValue(msg.value);}uint256liquidityFee=(_amount*(gFees.liquidityFee))/(1000);if(!_fee_in_eth\u0026\u0026!feeWhitelist.contains(msg.sender)){liquidityFee=(liquidityFee*(1000-gFees.secondaryTokenDiscount))/(1000);}IERC20(_lpToken).safeTransfer(devaddr,liquidityFee);uint256amountLocked=_amount-(liquidityFee);TokenLockmemorytoken_lock;token_lock.lockDate=block.timestamp;token_lock.amount=amountLocked;token_lock.initialAmount=amountLocked;token_lock.unlockDate=_unlock_date;token_lock.lockID=tokenLocks[_lpToken].length;token_lock.owner=_withdrawer;tokenLocks[_lpToken].push(token_lock);lockedTokens.add(_lpToken);UserInfostorageuser=users[_withdrawer];user.lockedTokens.add(_lpToken);uint256[]storageuser_locks=user.locksForToken[_lpToken];user_locks.push(token_lock.lockID);emitonDeposit(_lpToken,msg.sender,token_lock.amount,token_lock.lockDate,token_lock.unlockDate,token_lock.lockID);returntrue;}" }, { - "id": 2718, + "id": 2719, "name": "relock", "node_type": 42, "kind": 41, @@ -56260,10 +57107,10 @@ "start": 52611, "end": 52616, "length": 6, - "parent_index": 2718 + "parent_index": 2719 }, "body": { - "id": 2733, + "id": 2734, "node_type": 46, "kind": 0, "src": { @@ -56272,12 +57119,12 @@ "start": 52766, "end": 53636, "length": 871, - "parent_index": 2718 + "parent_index": 2719 }, "implemented": true, "statements": [ { - "id": 2734, + "id": 2735, "node_type": 24, "kind": 24, "src": { @@ -56286,7 +57133,7 @@ "start": 52776, "end": 52831, "length": 56, - "parent_index": 2733 + "parent_index": 2734 }, "argument_types": [ { @@ -56300,7 +57147,7 @@ ], "arguments": [ { - "id": 2736, + "id": 2737, "is_constant": false, "is_pure": false, "node_type": 19, @@ -56310,11 +57157,11 @@ "start": 52784, "end": 52809, "length": 26, - "parent_index": 2734 + "parent_index": 2735 }, "operator": 9, "left_expression": { - "id": 2737, + "id": 2738, "node_type": 16, "src": { "line": 1449, @@ -56322,7 +57169,7 @@ "start": 52784, "end": 52795, "length": 12, - "parent_index": 2736 + "parent_index": 2737 }, "name": "_unlock_date", "type_description": { @@ -56330,11 +57177,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2737, - "is_pure": false + "referenced_declaration": 2738, + "is_pure": false, + "text": "_unlock_date" }, "right_expression": { - "id": 2738, + "id": 2739, "node_type": 17, "kind": 49, "value": "10000000000", @@ -56345,7 +57193,7 @@ "start": 52799, "end": 52809, "length": 11, - "parent_index": 2736 + "parent_index": 2737 }, "type_description": { "type_identifier": "t_rational_10000000000_by_1", @@ -56353,7 +57201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10000000000" }, "type_description": { "type_identifier": "t_bool", @@ -56361,7 +57210,7 @@ } }, { - "id": 2739, + "id": 2740, "node_type": 17, "kind": 50, "value": "TIMESTAMP INVALID", @@ -56372,7 +57221,7 @@ "start": 52812, "end": 52830, "length": 19, - "parent_index": 2734 + "parent_index": 2735 }, "type_description": { "type_identifier": "t_string_literal", @@ -56386,11 +57235,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TIMESTAMP INVALID\"" } ], "expression": { - "id": 2735, + "id": 2736, "node_type": 16, "src": { "line": 1449, @@ -56398,7 +57248,7 @@ "start": 52776, "end": 52782, "length": 7, - "parent_index": 2734 + "parent_index": 2735 }, "name": "require", "type_description": { @@ -56407,7 +57257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -56415,7 +57266,7 @@ } }, { - "id": 2740, + "id": 2741, "node_type": 44, "src": { "line": 1451, @@ -56423,25 +57274,25 @@ "start": 52901, "end": 52967, "length": 67, - "parent_index": 2733 + "parent_index": 2734 }, "assignments": [ - 2741 + 2742 ], "declarations": [ { - "id": 2741, + "id": 2742, "state_mutability": 1, "name": "lockID", "node_type": 44, - "scope": 2733, + "scope": 2734, "src": { "line": 1451, "column": 8, "start": 52901, "end": 52914, "length": 14, - "parent_index": 2740 + "parent_index": 2741 }, "name_location": { "line": 1451, @@ -56449,12 +57300,12 @@ "start": 52909, "end": 52914, "length": 6, - "parent_index": 2741 + "parent_index": 2742 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2742, + "id": 2743, "node_type": 30, "src": { "line": 1451, @@ -56462,7 +57313,7 @@ "start": 52901, "end": 52907, "length": 7, - "parent_index": 2741 + "parent_index": 2742 }, "name": "uint256", "referenced_declaration": 0, @@ -56475,7 +57326,7 @@ } ], "initial_value": { - "id": 2743, + "id": 2744, "node_type": 22, "src": { "line": 1451, @@ -56483,10 +57334,10 @@ "start": 52918, "end": 52966, "length": 49, - "parent_index": 2740 + "parent_index": 2741 }, "index_expression": { - "id": 2744, + "id": 2745, "node_type": 22, "src": { "line": 1451, @@ -56494,10 +57345,10 @@ "start": 52918, "end": 52958, "length": 41, - "parent_index": 2740 + "parent_index": 2741 }, "index_expression": { - "id": 2745, + "id": 2746, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -56509,7 +57360,7 @@ "start": 52918, "end": 52948, "length": 31, - "parent_index": 2740 + "parent_index": 2741 }, "member_location": { "line": 1451, @@ -56517,10 +57368,10 @@ "start": 52936, "end": 52948, "length": 13, - "parent_index": 2745 + "parent_index": 2746 }, "expression": { - "id": 2746, + "id": 2747, "node_type": 22, "src": { "line": 1451, @@ -56528,10 +57379,10 @@ "start": 52918, "end": 52934, "length": 17, - "parent_index": 2740 + "parent_index": 2741 }, "index_expression": { - "id": 2747, + "id": 2748, "node_type": 16, "src": { "line": 1451, @@ -56539,19 +57390,20 @@ "start": 52918, "end": 52922, "length": 5, - "parent_index": 2746 + "parent_index": 2747 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 2748, + "id": 2749, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -56563,7 +57415,7 @@ "start": 52924, "end": 52933, "length": 10, - "parent_index": 2740 + "parent_index": 2741 }, "member_location": { "line": 1451, @@ -56571,10 +57423,10 @@ "start": 52928, "end": 52933, "length": 6, - "parent_index": 2748 + "parent_index": 2749 }, "expression": { - "id": 2749, + "id": 2750, "node_type": 16, "src": { "line": 1451, @@ -56582,7 +57434,7 @@ "start": 52924, "end": 52926, "length": 3, - "parent_index": 2748 + "parent_index": 2749 }, "name": "msg", "type_description": { @@ -56591,18 +57443,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -56611,19 +57465,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].locksForToken" }, "base_expression": { - "id": 2750, + "id": 2751, "node_type": 16, "src": { "line": 1451, @@ -56631,7 +57486,7 @@ "start": 52950, "end": 52957, "length": 8, - "parent_index": 2744 + "parent_index": 2745 }, "name": "_lpToken", "type_description": { @@ -56639,12 +57494,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2750, - "is_pure": false + "referenced_declaration": 2751, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -56653,12 +57509,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } }, "base_expression": { - "id": 2751, + "id": 2752, "node_type": 16, "src": { "line": 1451, @@ -56666,7 +57522,7 @@ "start": 52960, "end": 52965, "length": 6, - "parent_index": 2743 + "parent_index": 2744 }, "name": "_index", "type_description": { @@ -56674,12 +57530,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2751, - "is_pure": false + "referenced_declaration": 2752, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -56688,13 +57545,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "type_string": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" } } }, { - "id": 2752, + "id": 2753, "node_type": 44, "src": { "line": 1452, @@ -56702,25 +57559,25 @@ "start": 52977, "end": 53034, "length": 58, - "parent_index": 2733 + "parent_index": 2734 }, "assignments": [ - 2753 + 2754 ], "declarations": [ { - "id": 2753, + "id": 2754, "state_mutability": 1, "name": "userLock", "node_type": 44, - "scope": 2733, + "scope": 2734, "src": { "line": 1452, "column": 8, "start": 52977, "end": 53002, "length": 26, - "parent_index": 2752 + "parent_index": 2753 }, "name_location": { "line": 1452, @@ -56728,12 +57585,12 @@ "start": 52995, "end": 53002, "length": 8, - "parent_index": 2753 + "parent_index": 2754 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 2754, + "id": 2755, "node_type": 69, "src": { "line": 1452, @@ -56741,10 +57598,10 @@ "start": 52977, "end": 52985, "length": 9, - "parent_index": 2753 + "parent_index": 2754 }, "path_node": { - "id": 2755, + "id": 2756, "name": "TokenLock", "node_type": 52, "referenced_declaration": 2031, @@ -56754,7 +57611,7 @@ "start": 52977, "end": 52985, "length": 9, - "parent_index": 2754 + "parent_index": 2755 }, "name_location": { "line": 1452, @@ -56762,7 +57619,7 @@ "start": 52977, "end": 52985, "length": 9, - "parent_index": 2754 + "parent_index": 2755 } }, "referenced_declaration": 2031, @@ -56775,7 +57632,7 @@ } ], "initial_value": { - "id": 2756, + "id": 2757, "node_type": 22, "src": { "line": 1452, @@ -56783,10 +57640,10 @@ "start": 53006, "end": 53033, "length": 28, - "parent_index": 2752 + "parent_index": 2753 }, "index_expression": { - "id": 2757, + "id": 2758, "node_type": 22, "src": { "line": 1452, @@ -56794,10 +57651,10 @@ "start": 53006, "end": 53025, "length": 20, - "parent_index": 2752 + "parent_index": 2753 }, "index_expression": { - "id": 2758, + "id": 2759, "node_type": 16, "src": { "line": 1452, @@ -56805,7 +57662,7 @@ "start": 53006, "end": 53015, "length": 10, - "parent_index": 2757 + "parent_index": 2758 }, "name": "tokenLocks", "type_description": { @@ -56813,11 +57670,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 2759, + "id": 2760, "node_type": 16, "src": { "line": 1452, @@ -56825,7 +57683,7 @@ "start": 53017, "end": 53024, "length": 8, - "parent_index": 2757 + "parent_index": 2758 }, "name": "_lpToken", "type_description": { @@ -56833,8 +57691,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2759, - "is_pure": false + "referenced_declaration": 2760, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -56852,7 +57711,7 @@ } }, "base_expression": { - "id": 2760, + "id": 2761, "node_type": 16, "src": { "line": 1452, @@ -56860,7 +57719,7 @@ "start": 53027, "end": 53032, "length": 6, - "parent_index": 2756 + "parent_index": 2757 }, "name": "lockID", "type_description": { @@ -56868,8 +57727,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2740, - "is_pure": false + "referenced_declaration": 2741, + "is_pure": false, + "text": "lockID" }, "type_descriptions": [ { @@ -56888,7 +57748,7 @@ } }, { - "id": 2761, + "id": 2762, "node_type": 24, "kind": 24, "src": { @@ -56897,7 +57757,7 @@ "start": 53044, "end": 53152, "length": 109, - "parent_index": 2733 + "parent_index": 2734 }, "argument_types": [ { @@ -56911,7 +57771,7 @@ ], "arguments": [ { - "id": 2764, + "id": 2765, "node_type": 96, "src": { "line": 1454, @@ -56919,11 +57779,11 @@ "start": 53065, "end": 53113, "length": 49, - "parent_index": 2761 + "parent_index": 2762 }, "expressions": [ { - "id": 2765, + "id": 2766, "is_constant": false, "is_pure": false, "node_type": 19, @@ -56933,11 +57793,11 @@ "start": 53065, "end": 53081, "length": 17, - "parent_index": 2764 + "parent_index": 2765 }, "operator": 11, "left_expression": { - "id": 2766, + "id": 2767, "node_type": 16, "src": { "line": 1454, @@ -56945,7 +57805,7 @@ "start": 53065, "end": 53070, "length": 6, - "parent_index": 2765 + "parent_index": 2766 }, "name": "lockID", "type_description": { @@ -56953,11 +57813,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2740, - "is_pure": false + "referenced_declaration": 2741, + "is_pure": false, + "text": "lockID" }, "right_expression": { - "id": 2767, + "id": 2768, "node_type": 16, "src": { "line": 1454, @@ -56965,7 +57826,7 @@ "start": 53075, "end": 53081, "length": 7, - "parent_index": 2765 + "parent_index": 2766 }, "name": "_lockID", "type_description": { @@ -56973,8 +57834,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2767, - "is_pure": false + "referenced_declaration": 2768, + "is_pure": false, + "text": "_lockID" }, "type_description": { "type_identifier": "t_bool", @@ -56982,7 +57844,7 @@ } }, { - "id": 2768, + "id": 2769, "is_constant": false, "is_pure": false, "node_type": 19, @@ -56992,11 +57854,11 @@ "start": 53086, "end": 53113, "length": 28, - "parent_index": 2764 + "parent_index": 2765 }, "operator": 11, "left_expression": { - "id": 2769, + "id": 2770, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -57008,7 +57870,7 @@ "start": 53086, "end": 53099, "length": 14, - "parent_index": 2768 + "parent_index": 2769 }, "member_location": { "line": 1454, @@ -57016,10 +57878,10 @@ "start": 53095, "end": 53099, "length": 5, - "parent_index": 2769 + "parent_index": 2770 }, "expression": { - "id": 2770, + "id": 2771, "node_type": 16, "src": { "line": 1454, @@ -57027,7 +57889,7 @@ "start": 53086, "end": 53093, "length": 8, - "parent_index": 2769 + "parent_index": 2770 }, "name": "userLock", "type_description": { @@ -57035,18 +57897,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2752, - "is_pure": false + "referenced_declaration": 2753, + "is_pure": false, + "text": "userLock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.owner" }, "right_expression": { - "id": 2771, + "id": 2772, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -57058,7 +57922,7 @@ "start": 53104, "end": 53113, "length": 10, - "parent_index": 2768 + "parent_index": 2769 }, "member_location": { "line": 1454, @@ -57066,10 +57930,10 @@ "start": 53108, "end": 53113, "length": 6, - "parent_index": 2771 + "parent_index": 2772 }, "expression": { - "id": 2772, + "id": 2773, "node_type": 16, "src": { "line": 1454, @@ -57077,7 +57941,7 @@ "start": 53104, "end": 53106, "length": 3, - "parent_index": 2771 + "parent_index": 2772 }, "name": "msg", "type_description": { @@ -57086,14 +57950,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -57113,7 +57979,7 @@ ] }, { - "id": 2773, + "id": 2774, "node_type": 17, "kind": 50, "value": "LOCK MISMATCH", @@ -57124,7 +57990,7 @@ "start": 53128, "end": 53142, "length": 15, - "parent_index": 2761 + "parent_index": 2762 }, "type_description": { "type_identifier": "t_string_literal", @@ -57138,11 +58004,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"LOCK MISMATCH\"" } ], "expression": { - "id": 2762, + "id": 2763, "node_type": 16, "src": { "line": 1453, @@ -57150,7 +58017,7 @@ "start": 53044, "end": 53050, "length": 7, - "parent_index": 2761 + "parent_index": 2762 }, "name": "require", "type_description": { @@ -57159,7 +58026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -57167,7 +58035,7 @@ } }, { - "id": 2774, + "id": 2775, "node_type": 24, "kind": 24, "src": { @@ -57176,7 +58044,7 @@ "start": 53199, "end": 53258, "length": 60, - "parent_index": 2733 + "parent_index": 2734 }, "argument_types": [ { @@ -57190,7 +58058,7 @@ ], "arguments": [ { - "id": 2776, + "id": 2777, "is_constant": false, "is_pure": false, "node_type": 19, @@ -57200,11 +58068,11 @@ "start": 53207, "end": 53240, "length": 34, - "parent_index": 2774 + "parent_index": 2775 }, "operator": 9, "left_expression": { - "id": 2777, + "id": 2778, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -57216,7 +58084,7 @@ "start": 53207, "end": 53225, "length": 19, - "parent_index": 2776 + "parent_index": 2777 }, "member_location": { "line": 1457, @@ -57224,10 +58092,10 @@ "start": 53216, "end": 53225, "length": 10, - "parent_index": 2777 + "parent_index": 2778 }, "expression": { - "id": 2778, + "id": 2779, "node_type": 16, "src": { "line": 1457, @@ -57235,7 +58103,7 @@ "start": 53207, "end": 53214, "length": 8, - "parent_index": 2777 + "parent_index": 2778 }, "name": "userLock", "type_description": { @@ -57243,18 +58111,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2752, - "is_pure": false + "referenced_declaration": 2753, + "is_pure": false, + "text": "userLock" }, "member_name": "unlockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.unlockDate" }, "right_expression": { - "id": 2779, + "id": 2780, "node_type": 16, "src": { "line": 1457, @@ -57262,7 +58132,7 @@ "start": 53229, "end": 53240, "length": 12, - "parent_index": 2776 + "parent_index": 2777 }, "name": "_unlock_date", "type_description": { @@ -57270,8 +58140,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2779, - "is_pure": false + "referenced_declaration": 2780, + "is_pure": false, + "text": "_unlock_date" }, "type_description": { "type_identifier": "t_bool", @@ -57279,7 +58150,7 @@ } }, { - "id": 2780, + "id": 2781, "node_type": 17, "kind": 50, "value": "UNLOCK BEFORE", @@ -57290,7 +58161,7 @@ "start": 53243, "end": 53257, "length": 15, - "parent_index": 2774 + "parent_index": 2775 }, "type_description": { "type_identifier": "t_string_literal", @@ -57304,11 +58175,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UNLOCK BEFORE\"" } ], "expression": { - "id": 2775, + "id": 2776, "node_type": 16, "src": { "line": 1457, @@ -57316,7 +58188,7 @@ "start": 53199, "end": 53205, "length": 7, - "parent_index": 2774 + "parent_index": 2775 }, "name": "require", "type_description": { @@ -57325,7 +58197,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -57333,7 +58206,7 @@ } }, { - "id": 2781, + "id": 2782, "node_type": 44, "src": { "line": 1459, @@ -57341,25 +58214,25 @@ "start": 53270, "end": 53354, "length": 85, - "parent_index": 2733 + "parent_index": 2734 }, "assignments": [ - 2782 + 2783 ], "declarations": [ { - "id": 2782, + "id": 2783, "state_mutability": 1, "name": "liquidityFee", "node_type": 44, - "scope": 2733, + "scope": 2734, "src": { "line": 1459, "column": 8, "start": 53270, "end": 53289, "length": 20, - "parent_index": 2781 + "parent_index": 2782 }, "name_location": { "line": 1459, @@ -57367,12 +58240,12 @@ "start": 53278, "end": 53289, "length": 12, - "parent_index": 2782 + "parent_index": 2783 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2783, + "id": 2784, "node_type": 30, "src": { "line": 1459, @@ -57380,7 +58253,7 @@ "start": 53270, "end": 53276, "length": 7, - "parent_index": 2782 + "parent_index": 2783 }, "name": "uint256", "referenced_declaration": 0, @@ -57393,7 +58266,7 @@ } ], "initial_value": { - "id": 2784, + "id": 2785, "is_constant": false, "is_pure": false, "node_type": 19, @@ -57403,11 +58276,11 @@ "start": 53293, "end": 53353, "length": 61, - "parent_index": 2781 + "parent_index": 2782 }, "operator": 4, "left_expression": { - "id": 2785, + "id": 2786, "node_type": 60, "src": { "line": 1459, @@ -57415,13 +58288,13 @@ "start": 53293, "end": 53332, "length": 40, - "parent_index": 2784 + "parent_index": 2785 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2786, + "id": 2787, "is_constant": false, "is_pure": false, "node_type": 19, @@ -57431,11 +58304,11 @@ "start": 53294, "end": 53331, "length": 38, - "parent_index": 2785 + "parent_index": 2786 }, "operator": 3, "left_expression": { - "id": 2787, + "id": 2788, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -57447,7 +58320,7 @@ "start": 53294, "end": 53308, "length": 15, - "parent_index": 2781 + "parent_index": 2782 }, "member_location": { "line": 1459, @@ -57455,10 +58328,10 @@ "start": 53303, "end": 53308, "length": 6, - "parent_index": 2787 + "parent_index": 2788 }, "expression": { - "id": 2788, + "id": 2789, "node_type": 16, "src": { "line": 1459, @@ -57466,7 +58339,7 @@ "start": 53294, "end": 53301, "length": 8, - "parent_index": 2787 + "parent_index": 2788 }, "name": "userLock", "type_description": { @@ -57474,18 +58347,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2752, - "is_pure": false + "referenced_declaration": 2753, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 2789, + "id": 2790, "node_type": 60, "src": { "line": 1459, @@ -57493,13 +58368,13 @@ "start": 53312, "end": 53331, "length": 20, - "parent_index": 2786 + "parent_index": 2787 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2790, + "id": 2791, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -57511,7 +58386,7 @@ "start": 53313, "end": 53330, "length": 18, - "parent_index": 2781 + "parent_index": 2782 }, "member_location": { "line": 1459, @@ -57519,10 +58394,10 @@ "start": 53319, "end": 53330, "length": 12, - "parent_index": 2790 + "parent_index": 2791 }, "expression": { - "id": 2791, + "id": 2792, "node_type": 16, "src": { "line": 1459, @@ -57530,27 +58405,29 @@ "start": 53313, "end": 53317, "length": 5, - "parent_index": 2790 + "parent_index": 2791 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "liquidityFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.liquidityFee" } ], "type_description": { - "type_identifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "type_identifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "type_string": "tuple(struct KnoxLpLocker.FeeStruct)" } }, @@ -57566,7 +58443,7 @@ } }, "right_expression": { - "id": 2792, + "id": 2793, "node_type": 60, "src": { "line": 1460, @@ -57574,13 +58451,13 @@ "start": 53348, "end": 53353, "length": 6, - "parent_index": 2784 + "parent_index": 2785 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 2793, + "id": 2794, "node_type": 17, "kind": 49, "value": "1000", @@ -57591,7 +58468,7 @@ "start": 53349, "end": 53352, "length": 4, - "parent_index": 2792 + "parent_index": 2793 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -57599,7 +58476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" } ], "type_description": { @@ -57614,7 +58492,7 @@ } }, { - "id": 2794, + "id": 2795, "node_type": 44, "src": { "line": 1461, @@ -57622,25 +58500,25 @@ "start": 53364, "end": 53419, "length": 56, - "parent_index": 2733 + "parent_index": 2734 }, "assignments": [ - 2795 + 2796 ], "declarations": [ { - "id": 2795, + "id": 2796, "state_mutability": 1, "name": "amountLocked", "node_type": 44, - "scope": 2733, + "scope": 2734, "src": { "line": 1461, "column": 8, "start": 53364, "end": 53383, "length": 20, - "parent_index": 2794 + "parent_index": 2795 }, "name_location": { "line": 1461, @@ -57648,12 +58526,12 @@ "start": 53372, "end": 53383, "length": 12, - "parent_index": 2795 + "parent_index": 2796 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2796, + "id": 2797, "node_type": 30, "src": { "line": 1461, @@ -57661,7 +58539,7 @@ "start": 53364, "end": 53370, "length": 7, - "parent_index": 2795 + "parent_index": 2796 }, "name": "uint256", "referenced_declaration": 0, @@ -57674,7 +58552,7 @@ } ], "initial_value": { - "id": 2797, + "id": 2798, "is_constant": false, "is_pure": false, "node_type": 19, @@ -57684,11 +58562,11 @@ "start": 53387, "end": 53418, "length": 32, - "parent_index": 2794 + "parent_index": 2795 }, "operator": 2, "left_expression": { - "id": 2798, + "id": 2799, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -57700,7 +58578,7 @@ "start": 53387, "end": 53401, "length": 15, - "parent_index": 2794 + "parent_index": 2795 }, "member_location": { "line": 1461, @@ -57708,10 +58586,10 @@ "start": 53396, "end": 53401, "length": 6, - "parent_index": 2798 + "parent_index": 2799 }, "expression": { - "id": 2799, + "id": 2800, "node_type": 16, "src": { "line": 1461, @@ -57719,7 +58597,7 @@ "start": 53387, "end": 53394, "length": 8, - "parent_index": 2798 + "parent_index": 2799 }, "name": "userLock", "type_description": { @@ -57727,18 +58605,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2752, - "is_pure": false + "referenced_declaration": 2753, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 2800, + "id": 2801, "node_type": 60, "src": { "line": 1461, @@ -57746,13 +58626,13 @@ "start": 53405, "end": 53418, "length": 14, - "parent_index": 2797 + "parent_index": 2798 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2801, + "id": 2802, "node_type": 16, "src": { "line": 1461, @@ -57760,7 +58640,7 @@ "start": 53406, "end": 53417, "length": 12, - "parent_index": 2800 + "parent_index": 2801 }, "name": "liquidityFee", "type_description": { @@ -57768,8 +58648,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2781, - "is_pure": false + "referenced_declaration": 2782, + "is_pure": false, + "text": "liquidityFee" } ], "type_description": { @@ -57784,7 +58665,7 @@ } }, { - "id": 2802, + "id": 2803, "node_type": 27, "src": { "line": 1463, @@ -57792,10 +58673,10 @@ "start": 53430, "end": 53460, "length": 31, - "parent_index": 2733 + "parent_index": 2734 }, "expression": { - "id": 2803, + "id": 2804, "node_type": 27, "src": { "line": 1463, @@ -57803,11 +58684,11 @@ "start": 53430, "end": 53459, "length": 30, - "parent_index": 2802 + "parent_index": 2803 }, "operator": 11, "left_expression": { - "id": 2804, + "id": 2805, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -57819,7 +58700,7 @@ "start": 53430, "end": 53444, "length": 15, - "parent_index": 2803 + "parent_index": 2804 }, "member_location": { "line": 1463, @@ -57827,10 +58708,10 @@ "start": 53439, "end": 53444, "length": 6, - "parent_index": 2804 + "parent_index": 2805 }, "expression": { - "id": 2805, + "id": 2806, "node_type": 16, "src": { "line": 1463, @@ -57838,7 +58719,7 @@ "start": 53430, "end": 53437, "length": 8, - "parent_index": 2804 + "parent_index": 2805 }, "name": "userLock", "type_description": { @@ -57846,18 +58727,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2752, - "is_pure": false + "referenced_declaration": 2753, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 2806, + "id": 2807, "node_type": 16, "src": { "line": 1463, @@ -57865,7 +58748,7 @@ "start": 53448, "end": 53459, "length": 12, - "parent_index": 2803 + "parent_index": 2804 }, "name": "amountLocked", "type_description": { @@ -57873,8 +58756,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2794, - "is_pure": false + "referenced_declaration": 2795, + "is_pure": false, + "text": "amountLocked" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -57884,10 +58768,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount=amountLocked;" }, { - "id": 2807, + "id": 2808, "node_type": 27, "src": { "line": 1464, @@ -57895,10 +58780,10 @@ "start": 53470, "end": 53504, "length": 35, - "parent_index": 2733 + "parent_index": 2734 }, "expression": { - "id": 2808, + "id": 2809, "node_type": 27, "src": { "line": 1464, @@ -57906,11 +58791,11 @@ "start": 53470, "end": 53503, "length": 34, - "parent_index": 2807 + "parent_index": 2808 }, "operator": 11, "left_expression": { - "id": 2809, + "id": 2810, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -57922,7 +58807,7 @@ "start": 53470, "end": 53488, "length": 19, - "parent_index": 2808 + "parent_index": 2809 }, "member_location": { "line": 1464, @@ -57930,10 +58815,10 @@ "start": 53479, "end": 53488, "length": 10, - "parent_index": 2809 + "parent_index": 2810 }, "expression": { - "id": 2810, + "id": 2811, "node_type": 16, "src": { "line": 1464, @@ -57941,7 +58826,7 @@ "start": 53470, "end": 53477, "length": 8, - "parent_index": 2809 + "parent_index": 2810 }, "name": "userLock", "type_description": { @@ -57949,18 +58834,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2752, - "is_pure": false + "referenced_declaration": 2753, + "is_pure": false, + "text": "userLock" }, "member_name": "unlockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.unlockDate" }, "right_expression": { - "id": 2811, + "id": 2812, "node_type": 16, "src": { "line": 1464, @@ -57968,7 +58855,7 @@ "start": 53492, "end": 53503, "length": 12, - "parent_index": 2808 + "parent_index": 2809 }, "name": "_unlock_date", "type_description": { @@ -57976,8 +58863,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2811, - "is_pure": false + "referenced_declaration": 2812, + "is_pure": false, + "text": "_unlock_date" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -57987,10 +58875,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.unlockDate=_unlock_date;" }, { - "id": 2812, + "id": 2813, "node_type": 24, "kind": 24, "src": { @@ -57999,7 +58888,7 @@ "start": 53556, "end": 53607, "length": 52, - "parent_index": 2733 + "parent_index": 2734 }, "argument_types": [ { @@ -58013,7 +58902,7 @@ ], "arguments": [ { - "id": 2817, + "id": 2818, "node_type": 16, "src": { "line": 1467, @@ -58021,7 +58910,7 @@ "start": 53586, "end": 53592, "length": 7, - "parent_index": 2812 + "parent_index": 2813 }, "name": "devaddr", "type_description": { @@ -58030,10 +58919,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "devaddr" }, { - "id": 2818, + "id": 2819, "node_type": 16, "src": { "line": 1467, @@ -58041,7 +58931,7 @@ "start": 53595, "end": 53606, "length": 12, - "parent_index": 2812 + "parent_index": 2813 }, "name": "liquidityFee", "type_description": { @@ -58049,18 +58939,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2781, + "referenced_declaration": 2782, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "liquidityFee" } ], "expression": { - "id": 2813, + "id": 2814, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -58072,7 +58963,7 @@ "start": 53556, "end": 53584, "length": 29, - "parent_index": 2812 + "parent_index": 2813 }, "member_location": { "line": 1467, @@ -58080,10 +58971,10 @@ "start": 53573, "end": 53584, "length": 12, - "parent_index": 2813 + "parent_index": 2814 }, "expression": { - "id": 2814, + "id": 2815, "node_type": 24, "kind": 24, "src": { @@ -58092,7 +58983,7 @@ "start": 53556, "end": 53571, "length": 16, - "parent_index": 2813 + "parent_index": 2814 }, "argument_types": [ { @@ -58102,7 +58993,7 @@ ], "arguments": [ { - "id": 2816, + "id": 2817, "node_type": 16, "src": { "line": 1467, @@ -58110,7 +59001,7 @@ "start": 53563, "end": 53570, "length": 8, - "parent_index": 2814 + "parent_index": 2815 }, "name": "_lpToken", "type_description": { @@ -58118,12 +59009,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2816, - "is_pure": false + "referenced_declaration": 2817, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 2815, + "id": 2816, "node_type": 16, "src": { "line": 1467, @@ -58131,7 +59023,7 @@ "start": 53556, "end": 53561, "length": 6, - "parent_index": 2814 + "parent_index": 2815 }, "name": "IERC20", "type_description": { @@ -58140,7 +59032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -58152,7 +59045,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_lpToken).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -58160,7 +59054,7 @@ } }, { - "id": 2819, + "id": 2820, "node_type": 47, "src": { "line": 1469, @@ -58168,11 +59062,11 @@ "start": 53619, "end": 53630, "length": 12, - "parent_index": 2718 + "parent_index": 2719 }, - "function_return_parameters": 2718, + "function_return_parameters": 2719, "expression": { - "id": 2820, + "id": 2821, "node_type": 17, "kind": 61, "value": "true", @@ -58183,7 +59077,7 @@ "start": 53626, "end": 53629, "length": 4, - "parent_index": 2819 + "parent_index": 2820 }, "type_description": { "type_identifier": "t_bool", @@ -58191,7 +59085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -58202,7 +59097,7 @@ "virtual": false, "modifiers": [ { - "id": 2728, + "id": 2729, "name": "nonReentrant", "node_type": 72, "kind": 72, @@ -58212,12 +59107,12 @@ "start": 52738, "end": 52749, "length": 12, - "parent_index": 2718 + "parent_index": 2719 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2729, + "id": 2730, "name": "nonReentrant", "node_type": 0, "src": { @@ -58226,14 +59121,14 @@ "start": 52738, "end": 52749, "length": 12, - "parent_index": 2728 + "parent_index": 2729 } } } ], "overrides": [], "parameters": { - "id": 2719, + "id": 2720, "node_type": 43, "src": { "line": 1444, @@ -58241,11 +59136,11 @@ "start": 52627, "end": 52721, "length": 95, - "parent_index": 2718 + "parent_index": 2719 }, "parameters": [ { - "id": 2720, + "id": 2721, "node_type": 44, "src": { "line": 1444, @@ -58253,12 +59148,12 @@ "start": 52627, "end": 52642, "length": 16, - "parent_index": 2719 + "parent_index": 2720 }, - "scope": 2718, + "scope": 2719, "name": "_lpToken", "type_name": { - "id": 2721, + "id": 2722, "node_type": 30, "src": { "line": 1444, @@ -58266,7 +59161,7 @@ "start": 52627, "end": 52633, "length": 7, - "parent_index": 2720 + "parent_index": 2721 }, "name": "address", "state_mutability": 4, @@ -58285,7 +59180,7 @@ } }, { - "id": 2722, + "id": 2723, "node_type": 44, "src": { "line": 1445, @@ -58293,12 +59188,12 @@ "start": 52653, "end": 52666, "length": 14, - "parent_index": 2719 + "parent_index": 2720 }, - "scope": 2718, + "scope": 2719, "name": "_index", "type_name": { - "id": 2723, + "id": 2724, "node_type": 30, "src": { "line": 1445, @@ -58306,7 +59201,7 @@ "start": 52653, "end": 52659, "length": 7, - "parent_index": 2722 + "parent_index": 2723 }, "name": "uint256", "referenced_declaration": 0, @@ -58324,7 +59219,7 @@ } }, { - "id": 2724, + "id": 2725, "node_type": 44, "src": { "line": 1446, @@ -58332,12 +59227,12 @@ "start": 52677, "end": 52691, "length": 15, - "parent_index": 2719 + "parent_index": 2720 }, - "scope": 2718, + "scope": 2719, "name": "_lockID", "type_name": { - "id": 2725, + "id": 2726, "node_type": 30, "src": { "line": 1446, @@ -58345,7 +59240,7 @@ "start": 52677, "end": 52683, "length": 7, - "parent_index": 2724 + "parent_index": 2725 }, "name": "uint256", "referenced_declaration": 0, @@ -58363,7 +59258,7 @@ } }, { - "id": 2726, + "id": 2727, "node_type": 44, "src": { "line": 1447, @@ -58371,12 +59266,12 @@ "start": 52702, "end": 52721, "length": 20, - "parent_index": 2719 + "parent_index": 2720 }, - "scope": 2718, + "scope": 2719, "name": "_unlock_date", "type_name": { - "id": 2727, + "id": 2728, "node_type": 30, "src": { "line": 1447, @@ -58384,7 +59279,7 @@ "start": 52702, "end": 52708, "length": 7, - "parent_index": 2726 + "parent_index": 2727 }, "name": "uint256", "referenced_declaration": 0, @@ -58422,7 +59317,7 @@ ] }, "return_parameters": { - "id": 2730, + "id": 2731, "node_type": 43, "src": { "line": 1448, @@ -58430,11 +59325,11 @@ "start": 52760, "end": 52763, "length": 4, - "parent_index": 2718 + "parent_index": 2719 }, "parameters": [ { - "id": 2731, + "id": 2732, "node_type": 44, "src": { "line": 1448, @@ -58442,12 +59337,12 @@ "start": 52760, "end": 52763, "length": 4, - "parent_index": 2730 + "parent_index": 2731 }, - "scope": 2718, + "scope": 2719, "name": "", "type_name": { - "id": 2732, + "id": 2733, "node_type": 30, "src": { "line": 1448, @@ -58455,7 +59350,7 @@ "start": 52760, "end": 52763, "length": 4, - "parent_index": 2731 + "parent_index": 2732 }, "name": "bool", "referenced_declaration": 0, @@ -58480,16 +59375,17 @@ } ] }, - "signature_raw": "relock(address, uint256, uint256, uint256)", - "signature": "21173a84", + "signature_raw": "relock(address,uint256,uint256,uint256)", + "signature": "60491d24", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functionrelock(address_lpToken,uint256_index,uint256_lockID,uint256_unlock_date)externalnonReentrantreturns(bool){require(_unlock_date\u003c10000000000,\"TIMESTAMP INVALID\");uint256lockID=users[msg.sender].locksForToken[_lpToken][_index];TokenLockstorageuserLock=tokenLocks[_lpToken][lockID];require(lockID==_lockID\u0026\u0026userLock.owner==msg.sender,\"LOCK MISMATCH\");require(userLock.unlockDate\u003c_unlock_date,\"UNLOCK BEFORE\");uint256liquidityFee=(userLock.amount*(gFees.liquidityFee))/(1000);uint256amountLocked=userLock.amount-(liquidityFee);userLock.amount=amountLocked;userLock.unlockDate=_unlock_date;IERC20(_lpToken).safeTransfer(devaddr,liquidityFee);returntrue;}" }, { - "id": 2822, + "id": 2823, "name": "withdraw", "node_type": 42, "kind": 41, @@ -58507,10 +59403,10 @@ "start": 53926, "end": 53933, "length": 8, - "parent_index": 2822 + "parent_index": 2823 }, "body": { - "id": 2837, + "id": 2838, "node_type": 46, "kind": 0, "src": { @@ -58519,12 +59415,12 @@ "start": 54078, "end": 55086, "length": 1009, - "parent_index": 2822 + "parent_index": 2823 }, "implemented": true, "statements": [ { - "id": 2838, + "id": 2839, "node_type": 24, "kind": 24, "src": { @@ -58533,7 +59429,7 @@ "start": 54088, "end": 54125, "length": 38, - "parent_index": 2837 + "parent_index": 2838 }, "argument_types": [ { @@ -58547,7 +59443,7 @@ ], "arguments": [ { - "id": 2840, + "id": 2841, "is_constant": false, "is_pure": false, "node_type": 19, @@ -58557,11 +59453,11 @@ "start": 54096, "end": 54106, "length": 11, - "parent_index": 2838 + "parent_index": 2839 }, "operator": 7, "left_expression": { - "id": 2841, + "id": 2842, "node_type": 16, "src": { "line": 1483, @@ -58569,7 +59465,7 @@ "start": 54096, "end": 54102, "length": 7, - "parent_index": 2840 + "parent_index": 2841 }, "name": "_amount", "type_description": { @@ -58577,11 +59473,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2841, - "is_pure": false + "referenced_declaration": 2842, + "is_pure": false, + "text": "_amount" }, "right_expression": { - "id": 2842, + "id": 2843, "node_type": 17, "kind": 49, "value": "0", @@ -58592,7 +59489,7 @@ "start": 54106, "end": 54106, "length": 1, - "parent_index": 2840 + "parent_index": 2841 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -58600,7 +59497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -58608,7 +59506,7 @@ } }, { - "id": 2843, + "id": 2844, "node_type": 17, "kind": 50, "value": "ZERO WITHDRAWL", @@ -58619,7 +59517,7 @@ "start": 54109, "end": 54124, "length": 16, - "parent_index": 2838 + "parent_index": 2839 }, "type_description": { "type_identifier": "t_string_literal", @@ -58633,11 +59531,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ZERO WITHDRAWL\"" } ], "expression": { - "id": 2839, + "id": 2840, "node_type": 16, "src": { "line": 1483, @@ -58645,7 +59544,7 @@ "start": 54088, "end": 54094, "length": 7, - "parent_index": 2838 + "parent_index": 2839 }, "name": "require", "type_description": { @@ -58654,7 +59553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -58662,7 +59562,7 @@ } }, { - "id": 2844, + "id": 2845, "node_type": 44, "src": { "line": 1485, @@ -58670,25 +59570,25 @@ "start": 54137, "end": 54203, "length": 67, - "parent_index": 2837 + "parent_index": 2838 }, "assignments": [ - 2845 + 2846 ], "declarations": [ { - "id": 2845, + "id": 2846, "state_mutability": 1, "name": "lockID", "node_type": 44, - "scope": 2837, + "scope": 2838, "src": { "line": 1485, "column": 8, "start": 54137, "end": 54150, "length": 14, - "parent_index": 2844 + "parent_index": 2845 }, "name_location": { "line": 1485, @@ -58696,12 +59596,12 @@ "start": 54145, "end": 54150, "length": 6, - "parent_index": 2845 + "parent_index": 2846 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2846, + "id": 2847, "node_type": 30, "src": { "line": 1485, @@ -58709,7 +59609,7 @@ "start": 54137, "end": 54143, "length": 7, - "parent_index": 2845 + "parent_index": 2846 }, "name": "uint256", "referenced_declaration": 0, @@ -58722,7 +59622,7 @@ } ], "initial_value": { - "id": 2847, + "id": 2848, "node_type": 22, "src": { "line": 1485, @@ -58730,10 +59630,10 @@ "start": 54154, "end": 54202, "length": 49, - "parent_index": 2844 + "parent_index": 2845 }, "index_expression": { - "id": 2848, + "id": 2849, "node_type": 22, "src": { "line": 1485, @@ -58741,10 +59641,10 @@ "start": 54154, "end": 54194, "length": 41, - "parent_index": 2844 + "parent_index": 2845 }, "index_expression": { - "id": 2849, + "id": 2850, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -58756,7 +59656,7 @@ "start": 54154, "end": 54184, "length": 31, - "parent_index": 2844 + "parent_index": 2845 }, "member_location": { "line": 1485, @@ -58764,10 +59664,10 @@ "start": 54172, "end": 54184, "length": 13, - "parent_index": 2849 + "parent_index": 2850 }, "expression": { - "id": 2850, + "id": 2851, "node_type": 22, "src": { "line": 1485, @@ -58775,10 +59675,10 @@ "start": 54154, "end": 54170, "length": 17, - "parent_index": 2844 + "parent_index": 2845 }, "index_expression": { - "id": 2851, + "id": 2852, "node_type": 16, "src": { "line": 1485, @@ -58786,19 +59686,20 @@ "start": 54154, "end": 54158, "length": 5, - "parent_index": 2850 + "parent_index": 2851 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 2852, + "id": 2853, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -58810,7 +59711,7 @@ "start": 54160, "end": 54169, "length": 10, - "parent_index": 2844 + "parent_index": 2845 }, "member_location": { "line": 1485, @@ -58818,10 +59719,10 @@ "start": 54164, "end": 54169, "length": 6, - "parent_index": 2852 + "parent_index": 2853 }, "expression": { - "id": 2853, + "id": 2854, "node_type": 16, "src": { "line": 1485, @@ -58829,7 +59730,7 @@ "start": 54160, "end": 54162, "length": 3, - "parent_index": 2852 + "parent_index": 2853 }, "name": "msg", "type_description": { @@ -58838,18 +59739,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -58858,19 +59761,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].locksForToken" }, "base_expression": { - "id": 2854, + "id": 2855, "node_type": 16, "src": { "line": 1485, @@ -58878,7 +59782,7 @@ "start": 54186, "end": 54193, "length": 8, - "parent_index": 2848 + "parent_index": 2849 }, "name": "_lpToken", "type_description": { @@ -58886,12 +59790,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2854, - "is_pure": false + "referenced_declaration": 2855, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -58900,12 +59805,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } }, "base_expression": { - "id": 2855, + "id": 2856, "node_type": 16, "src": { "line": 1485, @@ -58913,7 +59818,7 @@ "start": 54196, "end": 54201, "length": 6, - "parent_index": 2847 + "parent_index": 2848 }, "name": "_index", "type_description": { @@ -58921,12 +59826,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2855, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -58935,13 +59841,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "type_string": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" } } }, { - "id": 2856, + "id": 2857, "node_type": 44, "src": { "line": 1486, @@ -58949,25 +59855,25 @@ "start": 54213, "end": 54270, "length": 58, - "parent_index": 2837 + "parent_index": 2838 }, "assignments": [ - 2857 + 2858 ], "declarations": [ { - "id": 2857, + "id": 2858, "state_mutability": 1, "name": "userLock", "node_type": 44, - "scope": 2837, + "scope": 2838, "src": { "line": 1486, "column": 8, "start": 54213, "end": 54238, "length": 26, - "parent_index": 2856 + "parent_index": 2857 }, "name_location": { "line": 1486, @@ -58975,12 +59881,12 @@ "start": 54231, "end": 54238, "length": 8, - "parent_index": 2857 + "parent_index": 2858 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 2858, + "id": 2859, "node_type": 69, "src": { "line": 1486, @@ -58988,10 +59894,10 @@ "start": 54213, "end": 54221, "length": 9, - "parent_index": 2857 + "parent_index": 2858 }, "path_node": { - "id": 2859, + "id": 2860, "name": "TokenLock", "node_type": 52, "referenced_declaration": 2031, @@ -59001,7 +59907,7 @@ "start": 54213, "end": 54221, "length": 9, - "parent_index": 2858 + "parent_index": 2859 }, "name_location": { "line": 1486, @@ -59009,7 +59915,7 @@ "start": 54213, "end": 54221, "length": 9, - "parent_index": 2858 + "parent_index": 2859 } }, "referenced_declaration": 2031, @@ -59022,7 +59928,7 @@ } ], "initial_value": { - "id": 2860, + "id": 2861, "node_type": 22, "src": { "line": 1486, @@ -59030,10 +59936,10 @@ "start": 54242, "end": 54269, "length": 28, - "parent_index": 2856 + "parent_index": 2857 }, "index_expression": { - "id": 2861, + "id": 2862, "node_type": 22, "src": { "line": 1486, @@ -59041,10 +59947,10 @@ "start": 54242, "end": 54261, "length": 20, - "parent_index": 2856 + "parent_index": 2857 }, "index_expression": { - "id": 2862, + "id": 2863, "node_type": 16, "src": { "line": 1486, @@ -59052,7 +59958,7 @@ "start": 54242, "end": 54251, "length": 10, - "parent_index": 2861 + "parent_index": 2862 }, "name": "tokenLocks", "type_description": { @@ -59060,11 +59966,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 2863, + "id": 2864, "node_type": 16, "src": { "line": 1486, @@ -59072,7 +59979,7 @@ "start": 54253, "end": 54260, "length": 8, - "parent_index": 2861 + "parent_index": 2862 }, "name": "_lpToken", "type_description": { @@ -59080,8 +59987,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2863, - "is_pure": false + "referenced_declaration": 2864, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -59099,7 +60007,7 @@ } }, "base_expression": { - "id": 2864, + "id": 2865, "node_type": 16, "src": { "line": 1486, @@ -59107,7 +60015,7 @@ "start": 54263, "end": 54268, "length": 6, - "parent_index": 2860 + "parent_index": 2861 }, "name": "lockID", "type_description": { @@ -59115,8 +60023,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2844, - "is_pure": false + "referenced_declaration": 2845, + "is_pure": false, + "text": "lockID" }, "type_descriptions": [ { @@ -59135,7 +60044,7 @@ } }, { - "id": 2865, + "id": 2866, "node_type": 24, "kind": 24, "src": { @@ -59144,7 +60053,7 @@ "start": 54280, "end": 54388, "length": 109, - "parent_index": 2837 + "parent_index": 2838 }, "argument_types": [ { @@ -59158,7 +60067,7 @@ ], "arguments": [ { - "id": 2868, + "id": 2869, "node_type": 96, "src": { "line": 1488, @@ -59166,11 +60075,11 @@ "start": 54301, "end": 54349, "length": 49, - "parent_index": 2865 + "parent_index": 2866 }, "expressions": [ { - "id": 2869, + "id": 2870, "is_constant": false, "is_pure": false, "node_type": 19, @@ -59180,11 +60089,11 @@ "start": 54301, "end": 54317, "length": 17, - "parent_index": 2868 + "parent_index": 2869 }, "operator": 11, "left_expression": { - "id": 2870, + "id": 2871, "node_type": 16, "src": { "line": 1488, @@ -59192,7 +60101,7 @@ "start": 54301, "end": 54306, "length": 6, - "parent_index": 2869 + "parent_index": 2870 }, "name": "lockID", "type_description": { @@ -59200,11 +60109,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2844, - "is_pure": false + "referenced_declaration": 2845, + "is_pure": false, + "text": "lockID" }, "right_expression": { - "id": 2871, + "id": 2872, "node_type": 16, "src": { "line": 1488, @@ -59212,7 +60122,7 @@ "start": 54311, "end": 54317, "length": 7, - "parent_index": 2869 + "parent_index": 2870 }, "name": "_lockID", "type_description": { @@ -59220,8 +60130,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2871, - "is_pure": false + "referenced_declaration": 2872, + "is_pure": false, + "text": "_lockID" }, "type_description": { "type_identifier": "t_bool", @@ -59229,7 +60140,7 @@ } }, { - "id": 2872, + "id": 2873, "is_constant": false, "is_pure": false, "node_type": 19, @@ -59239,11 +60150,11 @@ "start": 54322, "end": 54349, "length": 28, - "parent_index": 2868 + "parent_index": 2869 }, "operator": 11, "left_expression": { - "id": 2873, + "id": 2874, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59255,7 +60166,7 @@ "start": 54322, "end": 54335, "length": 14, - "parent_index": 2872 + "parent_index": 2873 }, "member_location": { "line": 1488, @@ -59263,10 +60174,10 @@ "start": 54331, "end": 54335, "length": 5, - "parent_index": 2873 + "parent_index": 2874 }, "expression": { - "id": 2874, + "id": 2875, "node_type": 16, "src": { "line": 1488, @@ -59274,7 +60185,7 @@ "start": 54322, "end": 54329, "length": 8, - "parent_index": 2873 + "parent_index": 2874 }, "name": "userLock", "type_description": { @@ -59282,18 +60193,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2856, - "is_pure": false + "referenced_declaration": 2857, + "is_pure": false, + "text": "userLock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.owner" }, "right_expression": { - "id": 2875, + "id": 2876, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59305,7 +60218,7 @@ "start": 54340, "end": 54349, "length": 10, - "parent_index": 2872 + "parent_index": 2873 }, "member_location": { "line": 1488, @@ -59313,10 +60226,10 @@ "start": 54344, "end": 54349, "length": 6, - "parent_index": 2875 + "parent_index": 2876 }, "expression": { - "id": 2876, + "id": 2877, "node_type": 16, "src": { "line": 1488, @@ -59324,7 +60237,7 @@ "start": 54340, "end": 54342, "length": 3, - "parent_index": 2875 + "parent_index": 2876 }, "name": "msg", "type_description": { @@ -59333,14 +60246,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -59360,7 +60275,7 @@ ] }, { - "id": 2877, + "id": 2878, "node_type": 17, "kind": 50, "value": "LOCK MISMATCH", @@ -59371,7 +60286,7 @@ "start": 54364, "end": 54378, "length": 15, - "parent_index": 2865 + "parent_index": 2866 }, "type_description": { "type_identifier": "t_string_literal", @@ -59385,11 +60300,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"LOCK MISMATCH\"" } ], "expression": { - "id": 2866, + "id": 2867, "node_type": 16, "src": { "line": 1487, @@ -59397,7 +60313,7 @@ "start": 54280, "end": 54286, "length": 7, - "parent_index": 2865 + "parent_index": 2866 }, "name": "require", "type_description": { @@ -59406,7 +60322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -59414,7 +60331,7 @@ } }, { - "id": 2878, + "id": 2879, "node_type": 24, "kind": 24, "src": { @@ -59423,7 +60340,7 @@ "start": 54435, "end": 54491, "length": 57, - "parent_index": 2837 + "parent_index": 2838 }, "argument_types": [ { @@ -59437,7 +60354,7 @@ ], "arguments": [ { - "id": 2880, + "id": 2881, "is_constant": false, "is_pure": false, "node_type": 19, @@ -59447,11 +60364,11 @@ "start": 54443, "end": 54479, "length": 37, - "parent_index": 2878 + "parent_index": 2879 }, "operator": 9, "left_expression": { - "id": 2881, + "id": 2882, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59463,7 +60380,7 @@ "start": 54443, "end": 54461, "length": 19, - "parent_index": 2880 + "parent_index": 2881 }, "member_location": { "line": 1491, @@ -59471,10 +60388,10 @@ "start": 54452, "end": 54461, "length": 10, - "parent_index": 2881 + "parent_index": 2882 }, "expression": { - "id": 2882, + "id": 2883, "node_type": 16, "src": { "line": 1491, @@ -59482,7 +60399,7 @@ "start": 54443, "end": 54450, "length": 8, - "parent_index": 2881 + "parent_index": 2882 }, "name": "userLock", "type_description": { @@ -59490,18 +60407,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2856, - "is_pure": false + "referenced_declaration": 2857, + "is_pure": false, + "text": "userLock" }, "member_name": "unlockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.unlockDate" }, "right_expression": { - "id": 2883, + "id": 2884, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59513,7 +60432,7 @@ "start": 54465, "end": 54479, "length": 15, - "parent_index": 2880 + "parent_index": 2881 }, "member_location": { "line": 1491, @@ -59521,10 +60440,10 @@ "start": 54471, "end": 54479, "length": 9, - "parent_index": 2883 + "parent_index": 2884 }, "expression": { - "id": 2884, + "id": 2885, "node_type": 16, "src": { "line": 1491, @@ -59532,7 +60451,7 @@ "start": 54465, "end": 54469, "length": 5, - "parent_index": 2883 + "parent_index": 2884 }, "name": "block", "type_description": { @@ -59541,14 +60460,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -59556,7 +60477,7 @@ } }, { - "id": 2885, + "id": 2886, "node_type": 17, "kind": 50, "value": "NOT YET", @@ -59567,7 +60488,7 @@ "start": 54482, "end": 54490, "length": 9, - "parent_index": 2878 + "parent_index": 2879 }, "type_description": { "type_identifier": "t_string_literal", @@ -59581,11 +60502,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"NOT YET\"" } ], "expression": { - "id": 2879, + "id": 2880, "node_type": 16, "src": { "line": 1491, @@ -59593,7 +60515,7 @@ "start": 54435, "end": 54441, "length": 7, - "parent_index": 2878 + "parent_index": 2879 }, "name": "require", "type_description": { @@ -59602,7 +60524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -59610,7 +60533,7 @@ } }, { - "id": 2886, + "id": 2887, "node_type": 27, "src": { "line": 1492, @@ -59618,10 +60541,10 @@ "start": 54502, "end": 54547, "length": 46, - "parent_index": 2837 + "parent_index": 2838 }, "expression": { - "id": 2887, + "id": 2888, "node_type": 27, "src": { "line": 1492, @@ -59629,11 +60552,11 @@ "start": 54502, "end": 54546, "length": 45, - "parent_index": 2886 + "parent_index": 2887 }, "operator": 11, "left_expression": { - "id": 2888, + "id": 2889, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59645,7 +60568,7 @@ "start": 54502, "end": 54516, "length": 15, - "parent_index": 2887 + "parent_index": 2888 }, "member_location": { "line": 1492, @@ -59653,10 +60576,10 @@ "start": 54511, "end": 54516, "length": 6, - "parent_index": 2888 + "parent_index": 2889 }, "expression": { - "id": 2889, + "id": 2890, "node_type": 16, "src": { "line": 1492, @@ -59664,7 +60587,7 @@ "start": 54502, "end": 54509, "length": 8, - "parent_index": 2888 + "parent_index": 2889 }, "name": "userLock", "type_description": { @@ -59672,18 +60595,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2856, - "is_pure": false + "referenced_declaration": 2857, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 2890, + "id": 2891, "is_constant": false, "is_pure": false, "node_type": 19, @@ -59693,11 +60618,11 @@ "start": 54520, "end": 54546, "length": 27, - "parent_index": 2887 + "parent_index": 2888 }, "operator": 2, "left_expression": { - "id": 2891, + "id": 2892, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59709,7 +60634,7 @@ "start": 54520, "end": 54534, "length": 15, - "parent_index": 2890 + "parent_index": 2891 }, "member_location": { "line": 1492, @@ -59717,10 +60642,10 @@ "start": 54529, "end": 54534, "length": 6, - "parent_index": 2891 + "parent_index": 2892 }, "expression": { - "id": 2892, + "id": 2893, "node_type": 16, "src": { "line": 1492, @@ -59728,7 +60653,7 @@ "start": 54520, "end": 54527, "length": 8, - "parent_index": 2891 + "parent_index": 2892 }, "name": "userLock", "type_description": { @@ -59736,18 +60661,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2856, - "is_pure": false + "referenced_declaration": 2857, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 2893, + "id": 2894, "node_type": 60, "src": { "line": 1492, @@ -59755,13 +60682,13 @@ "start": 54538, "end": 54546, "length": 9, - "parent_index": 2890 + "parent_index": 2891 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2894, + "id": 2895, "node_type": 16, "src": { "line": 1492, @@ -59769,7 +60696,7 @@ "start": 54539, "end": 54545, "length": 7, - "parent_index": 2893 + "parent_index": 2894 }, "name": "_amount", "type_description": { @@ -59777,8 +60704,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2894, - "is_pure": false + "referenced_declaration": 2895, + "is_pure": false, + "text": "_amount" } ], "type_description": { @@ -59799,10 +60727,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount=userLock.amount-(_amount);" }, { - "id": 2895, + "id": 2896, "node_type": 48, "src": { "line": 1495, @@ -59810,10 +60739,10 @@ "start": 54588, "end": 54953, "length": 366, - "parent_index": 2837 + "parent_index": 2838 }, "condition": { - "id": 2896, + "id": 2897, "is_constant": false, "is_pure": false, "node_type": 19, @@ -59823,11 +60752,11 @@ "start": 54592, "end": 54611, "length": 20, - "parent_index": 2895 + "parent_index": 2896 }, "operator": 11, "left_expression": { - "id": 2897, + "id": 2898, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -59839,7 +60768,7 @@ "start": 54592, "end": 54606, "length": 15, - "parent_index": 2896 + "parent_index": 2897 }, "member_location": { "line": 1495, @@ -59847,10 +60776,10 @@ "start": 54601, "end": 54606, "length": 6, - "parent_index": 2897 + "parent_index": 2898 }, "expression": { - "id": 2898, + "id": 2899, "node_type": 16, "src": { "line": 1495, @@ -59858,7 +60787,7 @@ "start": 54592, "end": 54599, "length": 8, - "parent_index": 2897 + "parent_index": 2898 }, "name": "userLock", "type_description": { @@ -59866,18 +60795,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2856, - "is_pure": false + "referenced_declaration": 2857, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 2899, + "id": 2900, "node_type": 17, "kind": 49, "value": "0", @@ -59888,7 +60819,7 @@ "start": 54611, "end": 54611, "length": 1, - "parent_index": 2896 + "parent_index": 2897 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -59896,7 +60827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -59904,7 +60836,7 @@ } }, "body": { - "id": 2900, + "id": 2901, "node_type": 46, "kind": 0, "src": { @@ -59913,12 +60845,12 @@ "start": 54614, "end": 54953, "length": 340, - "parent_index": 2822 + "parent_index": 2823 }, "implemented": true, "statements": [ { - "id": 2901, + "id": 2902, "node_type": 44, "src": { "line": 1496, @@ -59926,25 +60858,25 @@ "start": 54628, "end": 54729, "length": 102, - "parent_index": 2900 + "parent_index": 2901 }, "assignments": [ - 2902 + 2903 ], "declarations": [ { - "id": 2902, + "id": 2903, "state_mutability": 1, "name": "userLocks", "node_type": 44, - "scope": 2900, + "scope": 2901, "src": { "line": 1496, "column": 12, "start": 54628, "end": 54654, "length": 27, - "parent_index": 2901 + "parent_index": 2902 }, "name_location": { "line": 1496, @@ -59952,12 +60884,12 @@ "start": 54646, "end": 54654, "length": 9, - "parent_index": 2902 + "parent_index": 2903 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 2903, + "id": 2904, "node_type": 16, "src": { "line": 1496, @@ -59965,7 +60897,7 @@ "start": 54628, "end": 54634, "length": 7, - "parent_index": 2902 + "parent_index": 2903 }, "name": "uint256", "referenced_declaration": 0, @@ -59978,7 +60910,7 @@ } ], "initial_value": { - "id": 2904, + "id": 2905, "node_type": 22, "src": { "line": 1496, @@ -59986,10 +60918,10 @@ "start": 54658, "end": 54728, "length": 71, - "parent_index": 2901 + "parent_index": 2902 }, "index_expression": { - "id": 2905, + "id": 2906, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60001,7 +60933,7 @@ "start": 54658, "end": 54688, "length": 31, - "parent_index": 2901 + "parent_index": 2902 }, "member_location": { "line": 1496, @@ -60009,10 +60941,10 @@ "start": 54676, "end": 54688, "length": 13, - "parent_index": 2905 + "parent_index": 2906 }, "expression": { - "id": 2906, + "id": 2907, "node_type": 22, "src": { "line": 1496, @@ -60020,10 +60952,10 @@ "start": 54658, "end": 54674, "length": 17, - "parent_index": 2901 + "parent_index": 2902 }, "index_expression": { - "id": 2907, + "id": 2908, "node_type": 16, "src": { "line": 1496, @@ -60031,19 +60963,20 @@ "start": 54658, "end": 54662, "length": 5, - "parent_index": 2906 + "parent_index": 2907 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 2908, + "id": 2909, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60055,7 +60988,7 @@ "start": 54664, "end": 54673, "length": 10, - "parent_index": 2901 + "parent_index": 2902 }, "member_location": { "line": 1496, @@ -60063,10 +60996,10 @@ "start": 54668, "end": 54673, "length": 6, - "parent_index": 2908 + "parent_index": 2909 }, "expression": { - "id": 2909, + "id": 2910, "node_type": 16, "src": { "line": 1496, @@ -60074,7 +61007,7 @@ "start": 54664, "end": 54666, "length": 3, - "parent_index": 2908 + "parent_index": 2909 }, "name": "msg", "type_description": { @@ -60083,18 +61016,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -60103,19 +61038,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].locksForToken" }, "base_expression": { - "id": 2910, + "id": 2911, "node_type": 16, "src": { "line": 1497, @@ -60123,7 +61059,7 @@ "start": 54707, "end": 54714, "length": 8, - "parent_index": 2904 + "parent_index": 2905 }, "name": "_lpToken", "type_description": { @@ -60131,12 +61067,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2910, - "is_pure": false + "referenced_declaration": 2911, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -60145,13 +61082,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } } }, { - "id": 2911, + "id": 2912, "node_type": 27, "src": { "line": 1499, @@ -60159,10 +61096,10 @@ "start": 54743, "end": 54794, "length": 52, - "parent_index": 2900 + "parent_index": 2901 }, "expression": { - "id": 2912, + "id": 2913, "node_type": 27, "src": { "line": 1499, @@ -60170,11 +61107,11 @@ "start": 54743, "end": 54793, "length": 51, - "parent_index": 2911 + "parent_index": 2912 }, "operator": 11, "left_expression": { - "id": 2913, + "id": 2914, "node_type": 22, "src": { "line": 1499, @@ -60182,10 +61119,10 @@ "start": 54743, "end": 54759, "length": 17, - "parent_index": 2912 + "parent_index": 2913 }, "index_expression": { - "id": 2914, + "id": 2915, "node_type": 16, "src": { "line": 1499, @@ -60193,7 +61130,7 @@ "start": 54743, "end": 54751, "length": 9, - "parent_index": 2913 + "parent_index": 2914 }, "name": "userLocks", "type_description": { @@ -60201,11 +61138,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2901, - "is_pure": false + "referenced_declaration": 2902, + "is_pure": false, + "text": "userLocks" }, "base_expression": { - "id": 2915, + "id": 2916, "node_type": 16, "src": { "line": 1499, @@ -60213,7 +61151,7 @@ "start": 54753, "end": 54758, "length": 6, - "parent_index": 2913 + "parent_index": 2914 }, "name": "_index", "type_description": { @@ -60221,8 +61159,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2915, - "is_pure": false + "referenced_declaration": 2916, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { @@ -60240,7 +61179,7 @@ } }, "right_expression": { - "id": 2916, + "id": 2917, "node_type": 22, "src": { "line": 1499, @@ -60248,10 +61187,10 @@ "start": 54763, "end": 54793, "length": 31, - "parent_index": 2912 + "parent_index": 2913 }, "index_expression": { - "id": 2917, + "id": 2918, "node_type": 16, "src": { "line": 1499, @@ -60259,7 +61198,7 @@ "start": 54763, "end": 54771, "length": 9, - "parent_index": 2916 + "parent_index": 2917 }, "name": "userLocks", "type_description": { @@ -60267,11 +61206,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2901, - "is_pure": false + "referenced_declaration": 2902, + "is_pure": false, + "text": "userLocks" }, "base_expression": { - "id": 2918, + "id": 2919, "is_constant": false, "is_pure": false, "node_type": 19, @@ -60281,11 +61221,11 @@ "start": 54773, "end": 54792, "length": 20, - "parent_index": 2916 + "parent_index": 2917 }, "operator": 2, "left_expression": { - "id": 2919, + "id": 2920, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60297,7 +61237,7 @@ "start": 54773, "end": 54788, "length": 16, - "parent_index": 2918 + "parent_index": 2919 }, "member_location": { "line": 1499, @@ -60305,10 +61245,10 @@ "start": 54783, "end": 54788, "length": 6, - "parent_index": 2919 + "parent_index": 2920 }, "expression": { - "id": 2920, + "id": 2921, "node_type": 16, "src": { "line": 1499, @@ -60316,7 +61256,7 @@ "start": 54773, "end": 54781, "length": 9, - "parent_index": 2919 + "parent_index": 2920 }, "name": "userLocks", "type_description": { @@ -60324,18 +61264,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2901, - "is_pure": false + "referenced_declaration": 2902, + "is_pure": false, + "text": "userLocks" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "userLocks.length" }, "right_expression": { - "id": 2921, + "id": 2922, "node_type": 17, "kind": 49, "value": "1", @@ -60346,7 +61288,7 @@ "start": 54792, "end": 54792, "length": 1, - "parent_index": 2918 + "parent_index": 2919 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -60354,7 +61296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -60384,10 +61327,11 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "userLocks[_index]=userLocks[userLocks.length-1];" }, { - "id": 2922, + "id": 2923, "node_type": 24, "kind": 24, "src": { @@ -60396,12 +61340,12 @@ "start": 54808, "end": 54822, "length": 15, - "parent_index": 2900 + "parent_index": 2901 }, "argument_types": [], "arguments": [], "expression": { - "id": 2923, + "id": 2924, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60413,7 +61357,7 @@ "start": 54808, "end": 54820, "length": 13, - "parent_index": 2922 + "parent_index": 2923 }, "member_location": { "line": 1500, @@ -60421,10 +61365,10 @@ "start": 54818, "end": 54820, "length": 3, - "parent_index": 2923 + "parent_index": 2924 }, "expression": { - "id": 2924, + "id": 2925, "node_type": 16, "src": { "line": 1500, @@ -60432,7 +61376,7 @@ "start": 54808, "end": 54816, "length": 9, - "parent_index": 2923 + "parent_index": 2924 }, "name": "userLocks", "type_description": { @@ -60440,15 +61384,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2901, - "is_pure": false + "referenced_declaration": 2902, + "is_pure": false, + "text": "userLocks" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "userLocks.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -60456,7 +61402,7 @@ } }, { - "id": 2925, + "id": 2926, "node_type": 48, "src": { "line": 1501, @@ -60464,10 +61410,10 @@ "start": 54837, "end": 54943, "length": 107, - "parent_index": 2900 + "parent_index": 2901 }, "condition": { - "id": 2926, + "id": 2927, "is_constant": false, "is_pure": false, "node_type": 19, @@ -60477,11 +61423,11 @@ "start": 54841, "end": 54861, "length": 21, - "parent_index": 2925 + "parent_index": 2926 }, "operator": 11, "left_expression": { - "id": 2927, + "id": 2928, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60493,7 +61439,7 @@ "start": 54841, "end": 54856, "length": 16, - "parent_index": 2926 + "parent_index": 2927 }, "member_location": { "line": 1501, @@ -60501,10 +61447,10 @@ "start": 54851, "end": 54856, "length": 6, - "parent_index": 2927 + "parent_index": 2928 }, "expression": { - "id": 2928, + "id": 2929, "node_type": 16, "src": { "line": 1501, @@ -60512,7 +61458,7 @@ "start": 54841, "end": 54849, "length": 9, - "parent_index": 2927 + "parent_index": 2928 }, "name": "userLocks", "type_description": { @@ -60520,18 +61466,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2901, - "is_pure": false + "referenced_declaration": 2902, + "is_pure": false, + "text": "userLocks" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "userLocks.length" }, "right_expression": { - "id": 2929, + "id": 2930, "node_type": 17, "kind": 49, "value": "0", @@ -60542,7 +61490,7 @@ "start": 54861, "end": 54861, "length": 1, - "parent_index": 2926 + "parent_index": 2927 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -60550,7 +61498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -60558,7 +61507,7 @@ } }, "body": { - "id": 2930, + "id": 2931, "node_type": 46, "kind": 0, "src": { @@ -60567,12 +61516,12 @@ "start": 54864, "end": 54943, "length": 80, - "parent_index": 2822 + "parent_index": 2823 }, "implemented": true, "statements": [ { - "id": 2931, + "id": 2932, "node_type": 24, "kind": 24, "src": { @@ -60581,7 +61530,7 @@ "start": 54882, "end": 54928, "length": 47, - "parent_index": 2930 + "parent_index": 2931 }, "argument_types": [ { @@ -60591,7 +61540,7 @@ ], "arguments": [ { - "id": 2938, + "id": 2939, "node_type": 16, "src": { "line": 1502, @@ -60599,7 +61548,7 @@ "start": 54920, "end": 54927, "length": 8, - "parent_index": 2931 + "parent_index": 2932 }, "name": "_lpToken", "type_description": { @@ -60607,12 +61556,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2938, - "is_pure": false + "referenced_declaration": 2939, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 2932, + "id": 2933, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60624,7 +61574,7 @@ "start": 54882, "end": 54918, "length": 37, - "parent_index": 2931 + "parent_index": 2932 }, "member_location": { "line": 1502, @@ -60632,10 +61582,10 @@ "start": 54913, "end": 54918, "length": 6, - "parent_index": 2932 + "parent_index": 2933 }, "expression": { - "id": 2933, + "id": 2934, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60647,7 +61597,7 @@ "start": 54882, "end": 54911, "length": 30, - "parent_index": 2932 + "parent_index": 2933 }, "member_location": { "line": 1502, @@ -60655,10 +61605,10 @@ "start": 54900, "end": 54911, "length": 12, - "parent_index": 2933 + "parent_index": 2934 }, "expression": { - "id": 2934, + "id": 2935, "node_type": 22, "src": { "line": 1502, @@ -60666,10 +61616,10 @@ "start": 54882, "end": 54898, "length": 17, - "parent_index": 2933 + "parent_index": 2934 }, "index_expression": { - "id": 2935, + "id": 2936, "node_type": 16, "src": { "line": 1502, @@ -60677,19 +61627,20 @@ "start": 54882, "end": 54886, "length": 5, - "parent_index": 2934 + "parent_index": 2935 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 2936, + "id": 2937, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60701,7 +61652,7 @@ "start": 54888, "end": 54897, "length": 10, - "parent_index": 2934 + "parent_index": 2935 }, "member_location": { "line": 1502, @@ -60709,10 +61660,10 @@ "start": 54892, "end": 54897, "length": 6, - "parent_index": 2936 + "parent_index": 2937 }, "expression": { - "id": 2937, + "id": 2938, "node_type": 16, "src": { "line": 1502, @@ -60720,7 +61671,7 @@ "start": 54888, "end": 54890, "length": 3, - "parent_index": 2936 + "parent_index": 2937 }, "name": "msg", "type_description": { @@ -60729,18 +61680,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -60749,23 +61702,25 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "lockedTokens", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].lockedTokens" }, "member_name": "remove", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].lockedTokens.remove" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -60779,7 +61734,7 @@ } }, { - "id": 2939, + "id": 2940, "node_type": 24, "kind": 24, "src": { @@ -60788,7 +61743,7 @@ "start": 54964, "end": 55013, "length": 50, - "parent_index": 2837 + "parent_index": 2838 }, "argument_types": [ { @@ -60802,7 +61757,7 @@ ], "arguments": [ { - "id": 2944, + "id": 2945, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60814,7 +61769,7 @@ "start": 54994, "end": 55003, "length": 10, - "parent_index": 2939 + "parent_index": 2940 }, "member_location": { "line": 1506, @@ -60822,10 +61777,10 @@ "start": 54998, "end": 55003, "length": 6, - "parent_index": 2944 + "parent_index": 2945 }, "expression": { - "id": 2945, + "id": 2946, "node_type": 16, "src": { "line": 1506, @@ -60833,7 +61788,7 @@ "start": 54994, "end": 54996, "length": 3, - "parent_index": 2944 + "parent_index": 2945 }, "name": "msg", "type_description": { @@ -60842,17 +61797,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 2946, + "id": 2947, "node_type": 16, "src": { "line": 1506, @@ -60860,7 +61817,7 @@ "start": 55006, "end": 55012, "length": 7, - "parent_index": 2939 + "parent_index": 2940 }, "name": "_amount", "type_description": { @@ -60868,18 +61825,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2946, + "referenced_declaration": 2947, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" } ], "expression": { - "id": 2940, + "id": 2941, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -60891,7 +61849,7 @@ "start": 54964, "end": 54992, "length": 29, - "parent_index": 2939 + "parent_index": 2940 }, "member_location": { "line": 1506, @@ -60899,10 +61857,10 @@ "start": 54981, "end": 54992, "length": 12, - "parent_index": 2940 + "parent_index": 2941 }, "expression": { - "id": 2941, + "id": 2942, "node_type": 24, "kind": 24, "src": { @@ -60911,7 +61869,7 @@ "start": 54964, "end": 54979, "length": 16, - "parent_index": 2940 + "parent_index": 2941 }, "argument_types": [ { @@ -60921,7 +61879,7 @@ ], "arguments": [ { - "id": 2943, + "id": 2944, "node_type": 16, "src": { "line": 1506, @@ -60929,7 +61887,7 @@ "start": 54971, "end": 54978, "length": 8, - "parent_index": 2941 + "parent_index": 2942 }, "name": "_lpToken", "type_description": { @@ -60937,12 +61895,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2943, - "is_pure": false + "referenced_declaration": 2944, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 2942, + "id": 2943, "node_type": 16, "src": { "line": 1506, @@ -60950,7 +61909,7 @@ "start": 54964, "end": 54969, "length": 6, - "parent_index": 2941 + "parent_index": 2942 }, "name": "IERC20", "type_description": { @@ -60959,7 +61918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -60971,7 +61931,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_lpToken).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -60979,7 +61940,7 @@ } }, { - "id": 2947, + "id": 2948, "node_type": 64, "src": { "line": 1507, @@ -60987,11 +61948,11 @@ "start": 55024, "end": 55058, "length": 35, - "parent_index": 2822 + "parent_index": 2823 }, "arguments": [ { - "id": 2948, + "id": 2949, "node_type": 16, "src": { "line": 1507, @@ -60999,7 +61960,7 @@ "start": 55040, "end": 55047, "length": 8, - "parent_index": 2947 + "parent_index": 2948 }, "name": "_lpToken", "type_description": { @@ -61007,11 +61968,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2948, - "is_pure": false + "referenced_declaration": 2949, + "is_pure": false, + "text": "_lpToken" }, { - "id": 2949, + "id": 2950, "node_type": 16, "src": { "line": 1507, @@ -61019,7 +61981,7 @@ "start": 55050, "end": 55056, "length": 7, - "parent_index": 2947 + "parent_index": 2948 }, "name": "_amount", "type_description": { @@ -61027,12 +61989,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2949, - "is_pure": false + "referenced_declaration": 2950, + "is_pure": false, + "text": "_amount" } ], "expression": { - "id": 2950, + "id": 2951, "node_type": 16, "src": { "line": 1507, @@ -61040,20 +62003,21 @@ "start": 55029, "end": 55038, "length": 10, - "parent_index": 2947 + "parent_index": 2948 }, "name": "onWithdraw", "type_description": { - "type_identifier": "t_event\u0026_KnoxLpLocker_onWithdraw_\u00262111", + "type_identifier": "t_event\u0026_KnoxLpLocker_onWithdraw_\u00262112", "type_string": "event KnoxLpLocker.onWithdraw" }, "overloaded_declarations": [], - "referenced_declaration": 2111, - "is_pure": false + "referenced_declaration": 2112, + "is_pure": false, + "text": "onWithdraw" } }, { - "id": 2951, + "id": 2952, "node_type": 47, "src": { "line": 1509, @@ -61061,11 +62025,11 @@ "start": 55069, "end": 55080, "length": 12, - "parent_index": 2822 + "parent_index": 2823 }, - "function_return_parameters": 2822, + "function_return_parameters": 2823, "expression": { - "id": 2952, + "id": 2953, "node_type": 17, "kind": 61, "value": "true", @@ -61076,7 +62040,7 @@ "start": 55076, "end": 55079, "length": 4, - "parent_index": 2951 + "parent_index": 2952 }, "type_description": { "type_identifier": "t_bool", @@ -61084,7 +62048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -61095,7 +62060,7 @@ "virtual": false, "modifiers": [ { - "id": 2832, + "id": 2833, "name": "nonReentrant", "node_type": 72, "kind": 72, @@ -61105,12 +62070,12 @@ "start": 54050, "end": 54061, "length": 12, - "parent_index": 2822 + "parent_index": 2823 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2833, + "id": 2834, "name": "nonReentrant", "node_type": 0, "src": { @@ -61119,14 +62084,14 @@ "start": 54050, "end": 54061, "length": 12, - "parent_index": 2832 + "parent_index": 2833 } } } ], "overrides": [], "parameters": { - "id": 2823, + "id": 2824, "node_type": 43, "src": { "line": 1478, @@ -61134,11 +62099,11 @@ "start": 53944, "end": 54033, "length": 90, - "parent_index": 2822 + "parent_index": 2823 }, "parameters": [ { - "id": 2824, + "id": 2825, "node_type": 44, "src": { "line": 1478, @@ -61146,12 +62111,12 @@ "start": 53944, "end": 53959, "length": 16, - "parent_index": 2823 + "parent_index": 2824 }, - "scope": 2822, + "scope": 2823, "name": "_lpToken", "type_name": { - "id": 2825, + "id": 2826, "node_type": 30, "src": { "line": 1478, @@ -61159,7 +62124,7 @@ "start": 53944, "end": 53950, "length": 7, - "parent_index": 2824 + "parent_index": 2825 }, "name": "address", "state_mutability": 4, @@ -61178,7 +62143,7 @@ } }, { - "id": 2826, + "id": 2827, "node_type": 44, "src": { "line": 1479, @@ -61186,12 +62151,12 @@ "start": 53970, "end": 53983, "length": 14, - "parent_index": 2823 + "parent_index": 2824 }, - "scope": 2822, + "scope": 2823, "name": "_index", "type_name": { - "id": 2827, + "id": 2828, "node_type": 30, "src": { "line": 1479, @@ -61199,7 +62164,7 @@ "start": 53970, "end": 53976, "length": 7, - "parent_index": 2826 + "parent_index": 2827 }, "name": "uint256", "referenced_declaration": 0, @@ -61217,7 +62182,7 @@ } }, { - "id": 2828, + "id": 2829, "node_type": 44, "src": { "line": 1480, @@ -61225,12 +62190,12 @@ "start": 53994, "end": 54008, "length": 15, - "parent_index": 2823 + "parent_index": 2824 }, - "scope": 2822, + "scope": 2823, "name": "_lockID", "type_name": { - "id": 2829, + "id": 2830, "node_type": 30, "src": { "line": 1480, @@ -61238,7 +62203,7 @@ "start": 53994, "end": 54000, "length": 7, - "parent_index": 2828 + "parent_index": 2829 }, "name": "uint256", "referenced_declaration": 0, @@ -61256,7 +62221,7 @@ } }, { - "id": 2830, + "id": 2831, "node_type": 44, "src": { "line": 1481, @@ -61264,12 +62229,12 @@ "start": 54019, "end": 54033, "length": 15, - "parent_index": 2823 + "parent_index": 2824 }, - "scope": 2822, + "scope": 2823, "name": "_amount", "type_name": { - "id": 2831, + "id": 2832, "node_type": 30, "src": { "line": 1481, @@ -61277,7 +62242,7 @@ "start": 54019, "end": 54025, "length": 7, - "parent_index": 2830 + "parent_index": 2831 }, "name": "uint256", "referenced_declaration": 0, @@ -61315,7 +62280,7 @@ ] }, "return_parameters": { - "id": 2834, + "id": 2835, "node_type": 43, "src": { "line": 1482, @@ -61323,11 +62288,11 @@ "start": 54072, "end": 54075, "length": 4, - "parent_index": 2822 + "parent_index": 2823 }, "parameters": [ { - "id": 2835, + "id": 2836, "node_type": 44, "src": { "line": 1482, @@ -61335,12 +62300,12 @@ "start": 54072, "end": 54075, "length": 4, - "parent_index": 2834 + "parent_index": 2835 }, - "scope": 2822, + "scope": 2823, "name": "", "type_name": { - "id": 2836, + "id": 2837, "node_type": 30, "src": { "line": 1482, @@ -61348,7 +62313,7 @@ "start": 54072, "end": 54075, "length": 4, - "parent_index": 2835 + "parent_index": 2836 }, "name": "bool", "referenced_declaration": 0, @@ -61373,16 +62338,17 @@ } ] }, - "signature_raw": "withdraw(address, uint256, uint256, uint256)", - "signature": "3b1a61b0", + "signature_raw": "withdraw(address,uint256,uint256,uint256)", + "signature": "4532d776", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functionwithdraw(address_lpToken,uint256_index,uint256_lockID,uint256_amount)externalnonReentrantreturns(bool){require(_amount\u003e0,\"ZERO WITHDRAWL\");uint256lockID=users[msg.sender].locksForToken[_lpToken][_index];TokenLockstorageuserLock=tokenLocks[_lpToken][lockID];require(lockID==_lockID\u0026\u0026userLock.owner==msg.sender,\"LOCK MISMATCH\");require(userLock.unlockDate\u003cblock.timestamp,\"NOT YET\");userLock.amount=userLock.amount-(_amount);if(userLock.amount==0){uint256[]storageuserLocks=users[msg.sender].locksForToken[_lpToken];userLocks[_index]=userLocks[userLocks.length-1];userLocks.pop();if(userLocks.length==0){users[msg.sender].lockedTokens.remove(_lpToken);}}IERC20(_lpToken).safeTransfer(msg.sender,_amount);emitonWithdraw(_lpToken,_amount);returntrue;}" }, { - "id": 2954, + "id": 2955, "name": "incrementLock", "node_type": 42, "kind": 41, @@ -61400,10 +62366,10 @@ "start": 55328, "end": 55340, "length": 13, - "parent_index": 2954 + "parent_index": 2955 }, "body": { - "id": 2969, + "id": 2970, "node_type": 46, "kind": 0, "src": { @@ -61412,12 +62378,12 @@ "start": 55485, "end": 56487, "length": 1003, - "parent_index": 2954 + "parent_index": 2955 }, "implemented": true, "statements": [ { - "id": 2970, + "id": 2971, "node_type": 24, "kind": 24, "src": { @@ -61426,7 +62392,7 @@ "start": 55495, "end": 55529, "length": 35, - "parent_index": 2969 + "parent_index": 2970 }, "argument_types": [ { @@ -61440,7 +62406,7 @@ ], "arguments": [ { - "id": 2972, + "id": 2973, "is_constant": false, "is_pure": false, "node_type": 19, @@ -61450,11 +62416,11 @@ "start": 55503, "end": 55513, "length": 11, - "parent_index": 2970 + "parent_index": 2971 }, "operator": 7, "left_expression": { - "id": 2973, + "id": 2974, "node_type": 16, "src": { "line": 1522, @@ -61462,7 +62428,7 @@ "start": 55503, "end": 55509, "length": 7, - "parent_index": 2972 + "parent_index": 2973 }, "name": "_amount", "type_description": { @@ -61470,11 +62436,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2973, - "is_pure": false + "referenced_declaration": 2974, + "is_pure": false, + "text": "_amount" }, "right_expression": { - "id": 2974, + "id": 2975, "node_type": 17, "kind": 49, "value": "0", @@ -61485,7 +62452,7 @@ "start": 55513, "end": 55513, "length": 1, - "parent_index": 2972 + "parent_index": 2973 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -61493,7 +62460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -61501,7 +62469,7 @@ } }, { - "id": 2975, + "id": 2976, "node_type": 17, "kind": 50, "value": "ZERO AMOUNT", @@ -61512,7 +62480,7 @@ "start": 55516, "end": 55528, "length": 13, - "parent_index": 2970 + "parent_index": 2971 }, "type_description": { "type_identifier": "t_string_literal", @@ -61526,11 +62494,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ZERO AMOUNT\"" } ], "expression": { - "id": 2971, + "id": 2972, "node_type": 16, "src": { "line": 1522, @@ -61538,7 +62507,7 @@ "start": 55495, "end": 55501, "length": 7, - "parent_index": 2970 + "parent_index": 2971 }, "name": "require", "type_description": { @@ -61547,7 +62516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -61555,7 +62525,7 @@ } }, { - "id": 2976, + "id": 2977, "node_type": 44, "src": { "line": 1523, @@ -61563,25 +62533,25 @@ "start": 55540, "end": 55606, "length": 67, - "parent_index": 2969 + "parent_index": 2970 }, "assignments": [ - 2977 + 2978 ], "declarations": [ { - "id": 2977, + "id": 2978, "state_mutability": 1, "name": "lockID", "node_type": 44, - "scope": 2969, + "scope": 2970, "src": { "line": 1523, "column": 8, "start": 55540, "end": 55553, "length": 14, - "parent_index": 2976 + "parent_index": 2977 }, "name_location": { "line": 1523, @@ -61589,12 +62559,12 @@ "start": 55548, "end": 55553, "length": 6, - "parent_index": 2977 + "parent_index": 2978 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2978, + "id": 2979, "node_type": 30, "src": { "line": 1523, @@ -61602,7 +62572,7 @@ "start": 55540, "end": 55546, "length": 7, - "parent_index": 2977 + "parent_index": 2978 }, "name": "uint256", "referenced_declaration": 0, @@ -61615,7 +62585,7 @@ } ], "initial_value": { - "id": 2979, + "id": 2980, "node_type": 22, "src": { "line": 1523, @@ -61623,10 +62593,10 @@ "start": 55557, "end": 55605, "length": 49, - "parent_index": 2976 + "parent_index": 2977 }, "index_expression": { - "id": 2980, + "id": 2981, "node_type": 22, "src": { "line": 1523, @@ -61634,10 +62604,10 @@ "start": 55557, "end": 55597, "length": 41, - "parent_index": 2976 + "parent_index": 2977 }, "index_expression": { - "id": 2981, + "id": 2982, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -61649,7 +62619,7 @@ "start": 55557, "end": 55587, "length": 31, - "parent_index": 2976 + "parent_index": 2977 }, "member_location": { "line": 1523, @@ -61657,10 +62627,10 @@ "start": 55575, "end": 55587, "length": 13, - "parent_index": 2981 + "parent_index": 2982 }, "expression": { - "id": 2982, + "id": 2983, "node_type": 22, "src": { "line": 1523, @@ -61668,10 +62638,10 @@ "start": 55557, "end": 55573, "length": 17, - "parent_index": 2976 + "parent_index": 2977 }, "index_expression": { - "id": 2983, + "id": 2984, "node_type": 16, "src": { "line": 1523, @@ -61679,19 +62649,20 @@ "start": 55557, "end": 55561, "length": 5, - "parent_index": 2982 + "parent_index": 2983 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 2984, + "id": 2985, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -61703,7 +62674,7 @@ "start": 55563, "end": 55572, "length": 10, - "parent_index": 2976 + "parent_index": 2977 }, "member_location": { "line": 1523, @@ -61711,10 +62682,10 @@ "start": 55567, "end": 55572, "length": 6, - "parent_index": 2984 + "parent_index": 2985 }, "expression": { - "id": 2985, + "id": 2986, "node_type": 16, "src": { "line": 1523, @@ -61722,7 +62693,7 @@ "start": 55563, "end": 55565, "length": 3, - "parent_index": 2984 + "parent_index": 2985 }, "name": "msg", "type_description": { @@ -61731,18 +62702,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -61751,19 +62724,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].locksForToken" }, "base_expression": { - "id": 2986, + "id": 2987, "node_type": 16, "src": { "line": 1523, @@ -61771,7 +62745,7 @@ "start": 55589, "end": 55596, "length": 8, - "parent_index": 2980 + "parent_index": 2981 }, "name": "_lpToken", "type_description": { @@ -61779,12 +62753,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2986, - "is_pure": false + "referenced_declaration": 2987, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -61793,12 +62768,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } }, "base_expression": { - "id": 2987, + "id": 2988, "node_type": 16, "src": { "line": 1523, @@ -61806,7 +62781,7 @@ "start": 55599, "end": 55604, "length": 6, - "parent_index": 2979 + "parent_index": 2980 }, "name": "_index", "type_description": { @@ -61814,12 +62789,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2987, - "is_pure": false + "referenced_declaration": 2988, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -61828,13 +62804,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "type_string": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" } } }, { - "id": 2988, + "id": 2989, "node_type": 44, "src": { "line": 1524, @@ -61842,25 +62818,25 @@ "start": 55616, "end": 55673, "length": 58, - "parent_index": 2969 + "parent_index": 2970 }, "assignments": [ - 2989 + 2990 ], "declarations": [ { - "id": 2989, + "id": 2990, "state_mutability": 1, "name": "userLock", "node_type": 44, - "scope": 2969, + "scope": 2970, "src": { "line": 1524, "column": 8, "start": 55616, "end": 55641, "length": 26, - "parent_index": 2988 + "parent_index": 2989 }, "name_location": { "line": 1524, @@ -61868,12 +62844,12 @@ "start": 55634, "end": 55641, "length": 8, - "parent_index": 2989 + "parent_index": 2990 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 2990, + "id": 2991, "node_type": 69, "src": { "line": 1524, @@ -61881,10 +62857,10 @@ "start": 55616, "end": 55624, "length": 9, - "parent_index": 2989 + "parent_index": 2990 }, "path_node": { - "id": 2991, + "id": 2992, "name": "TokenLock", "node_type": 52, "referenced_declaration": 2031, @@ -61894,7 +62870,7 @@ "start": 55616, "end": 55624, "length": 9, - "parent_index": 2990 + "parent_index": 2991 }, "name_location": { "line": 1524, @@ -61902,7 +62878,7 @@ "start": 55616, "end": 55624, "length": 9, - "parent_index": 2990 + "parent_index": 2991 } }, "referenced_declaration": 2031, @@ -61915,7 +62891,7 @@ } ], "initial_value": { - "id": 2992, + "id": 2993, "node_type": 22, "src": { "line": 1524, @@ -61923,10 +62899,10 @@ "start": 55645, "end": 55672, "length": 28, - "parent_index": 2988 + "parent_index": 2989 }, "index_expression": { - "id": 2993, + "id": 2994, "node_type": 22, "src": { "line": 1524, @@ -61934,10 +62910,10 @@ "start": 55645, "end": 55664, "length": 20, - "parent_index": 2988 + "parent_index": 2989 }, "index_expression": { - "id": 2994, + "id": 2995, "node_type": 16, "src": { "line": 1524, @@ -61945,7 +62921,7 @@ "start": 55645, "end": 55654, "length": 10, - "parent_index": 2993 + "parent_index": 2994 }, "name": "tokenLocks", "type_description": { @@ -61953,11 +62929,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 2995, + "id": 2996, "node_type": 16, "src": { "line": 1524, @@ -61965,7 +62942,7 @@ "start": 55656, "end": 55663, "length": 8, - "parent_index": 2993 + "parent_index": 2994 }, "name": "_lpToken", "type_description": { @@ -61973,8 +62950,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2995, - "is_pure": false + "referenced_declaration": 2996, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -61992,7 +62970,7 @@ } }, "base_expression": { - "id": 2996, + "id": 2997, "node_type": 16, "src": { "line": 1524, @@ -62000,7 +62978,7 @@ "start": 55666, "end": 55671, "length": 6, - "parent_index": 2992 + "parent_index": 2993 }, "name": "lockID", "type_description": { @@ -62008,8 +62986,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2976, - "is_pure": false + "referenced_declaration": 2977, + "is_pure": false, + "text": "lockID" }, "type_descriptions": [ { @@ -62028,7 +63007,7 @@ } }, { - "id": 2997, + "id": 2998, "node_type": 24, "kind": 24, "src": { @@ -62037,7 +63016,7 @@ "start": 55683, "end": 55791, "length": 109, - "parent_index": 2969 + "parent_index": 2970 }, "argument_types": [ { @@ -62051,7 +63030,7 @@ ], "arguments": [ { - "id": 3000, + "id": 3001, "node_type": 96, "src": { "line": 1526, @@ -62059,11 +63038,11 @@ "start": 55704, "end": 55752, "length": 49, - "parent_index": 2997 + "parent_index": 2998 }, "expressions": [ { - "id": 3001, + "id": 3002, "is_constant": false, "is_pure": false, "node_type": 19, @@ -62073,11 +63052,11 @@ "start": 55704, "end": 55720, "length": 17, - "parent_index": 3000 + "parent_index": 3001 }, "operator": 11, "left_expression": { - "id": 3002, + "id": 3003, "node_type": 16, "src": { "line": 1526, @@ -62085,7 +63064,7 @@ "start": 55704, "end": 55709, "length": 6, - "parent_index": 3001 + "parent_index": 3002 }, "name": "lockID", "type_description": { @@ -62093,11 +63072,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2976, - "is_pure": false + "referenced_declaration": 2977, + "is_pure": false, + "text": "lockID" }, "right_expression": { - "id": 3003, + "id": 3004, "node_type": 16, "src": { "line": 1526, @@ -62105,7 +63085,7 @@ "start": 55714, "end": 55720, "length": 7, - "parent_index": 3001 + "parent_index": 3002 }, "name": "_lockID", "type_description": { @@ -62113,8 +63093,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3003, - "is_pure": false + "referenced_declaration": 3004, + "is_pure": false, + "text": "_lockID" }, "type_description": { "type_identifier": "t_bool", @@ -62122,7 +63103,7 @@ } }, { - "id": 3004, + "id": 3005, "is_constant": false, "is_pure": false, "node_type": 19, @@ -62132,11 +63113,11 @@ "start": 55725, "end": 55752, "length": 28, - "parent_index": 3000 + "parent_index": 3001 }, "operator": 11, "left_expression": { - "id": 3005, + "id": 3006, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62148,7 +63129,7 @@ "start": 55725, "end": 55738, "length": 14, - "parent_index": 3004 + "parent_index": 3005 }, "member_location": { "line": 1526, @@ -62156,10 +63137,10 @@ "start": 55734, "end": 55738, "length": 5, - "parent_index": 3005 + "parent_index": 3006 }, "expression": { - "id": 3006, + "id": 3007, "node_type": 16, "src": { "line": 1526, @@ -62167,7 +63148,7 @@ "start": 55725, "end": 55732, "length": 8, - "parent_index": 3005 + "parent_index": 3006 }, "name": "userLock", "type_description": { @@ -62175,18 +63156,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2988, - "is_pure": false + "referenced_declaration": 2989, + "is_pure": false, + "text": "userLock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.owner" }, "right_expression": { - "id": 3007, + "id": 3008, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62198,7 +63181,7 @@ "start": 55743, "end": 55752, "length": 10, - "parent_index": 3004 + "parent_index": 3005 }, "member_location": { "line": 1526, @@ -62206,10 +63189,10 @@ "start": 55747, "end": 55752, "length": 6, - "parent_index": 3007 + "parent_index": 3008 }, "expression": { - "id": 3008, + "id": 3009, "node_type": 16, "src": { "line": 1526, @@ -62217,7 +63200,7 @@ "start": 55743, "end": 55745, "length": 3, - "parent_index": 3007 + "parent_index": 3008 }, "name": "msg", "type_description": { @@ -62226,14 +63209,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -62253,7 +63238,7 @@ ] }, { - "id": 3009, + "id": 3010, "node_type": 17, "kind": 50, "value": "LOCK MISMATCH", @@ -62264,7 +63249,7 @@ "start": 55767, "end": 55781, "length": 15, - "parent_index": 2997 + "parent_index": 2998 }, "type_description": { "type_identifier": "t_string_literal", @@ -62278,11 +63263,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"LOCK MISMATCH\"" } ], "expression": { - "id": 2998, + "id": 2999, "node_type": 16, "src": { "line": 1525, @@ -62290,7 +63276,7 @@ "start": 55683, "end": 55689, "length": 7, - "parent_index": 2997 + "parent_index": 2998 }, "name": "require", "type_description": { @@ -62299,7 +63285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -62307,7 +63294,7 @@ } }, { - "id": 3010, + "id": 3011, "node_type": 24, "kind": 24, "src": { @@ -62316,7 +63303,7 @@ "start": 55839, "end": 55962, "length": 124, - "parent_index": 2969 + "parent_index": 2970 }, "argument_types": [ { @@ -62334,7 +63321,7 @@ ], "arguments": [ { - "id": 3015, + "id": 3016, "node_type": 24, "kind": 24, "src": { @@ -62343,7 +63330,7 @@ "start": 55886, "end": 55904, "length": 19, - "parent_index": 3010 + "parent_index": 3011 }, "argument_types": [ { @@ -62353,7 +63340,7 @@ ], "arguments": [ { - "id": 3018, + "id": 3019, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62365,7 +63352,7 @@ "start": 55894, "end": 55903, "length": 10, - "parent_index": 3015 + "parent_index": 3016 }, "member_location": { "line": 1531, @@ -62373,10 +63360,10 @@ "start": 55898, "end": 55903, "length": 6, - "parent_index": 3018 + "parent_index": 3019 }, "expression": { - "id": 3019, + "id": 3020, "node_type": 16, "src": { "line": 1531, @@ -62384,7 +63371,7 @@ "start": 55894, "end": 55896, "length": 3, - "parent_index": 3018 + "parent_index": 3019 }, "name": "msg", "type_description": { @@ -62393,18 +63380,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 3016, + "id": 3017, "node_type": 16, "src": { "line": 1531, @@ -62412,11 +63401,11 @@ "start": 55886, "end": 55892, "length": 7, - "parent_index": 3015 + "parent_index": 3016 }, "name": "address", "type_name": { - "id": 3017, + "id": 3018, "node_type": 30, "src": { "line": 1531, @@ -62424,7 +63413,7 @@ "start": 55886, "end": 55892, "length": 7, - "parent_index": 3016 + "parent_index": 3017 }, "name": "address", "state_mutability": 4, @@ -62446,7 +63435,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -62454,7 +63444,7 @@ } }, { - "id": 3020, + "id": 3021, "node_type": 24, "kind": 24, "src": { @@ -62463,7 +63453,7 @@ "start": 55919, "end": 55931, "length": 13, - "parent_index": 3010 + "parent_index": 3011 }, "argument_types": [ { @@ -62473,7 +63463,7 @@ ], "arguments": [ { - "id": 3023, + "id": 3024, "node_type": 16, "src": { "line": 1532, @@ -62481,7 +63471,7 @@ "start": 55927, "end": 55930, "length": 4, - "parent_index": 3020 + "parent_index": 3021 }, "name": "this", "type_description": { @@ -62490,11 +63480,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3021, + "id": 3022, "node_type": 16, "src": { "line": 1532, @@ -62502,11 +63493,11 @@ "start": 55919, "end": 55925, "length": 7, - "parent_index": 3020 + "parent_index": 3021 }, "name": "address", "type_name": { - "id": 3022, + "id": 3023, "node_type": 30, "src": { "line": 1532, @@ -62514,7 +63505,7 @@ "start": 55919, "end": 55925, "length": 7, - "parent_index": 3021 + "parent_index": 3022 }, "name": "address", "state_mutability": 4, @@ -62536,7 +63527,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -62544,7 +63536,7 @@ } }, { - "id": 3024, + "id": 3025, "node_type": 16, "src": { "line": 1533, @@ -62552,7 +63544,7 @@ "start": 55946, "end": 55952, "length": 7, - "parent_index": 3010 + "parent_index": 3011 }, "name": "_amount", "type_description": { @@ -62560,7 +63552,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3024, + "referenced_declaration": 3025, "is_pure": false, "argument_types": [ { @@ -62571,11 +63563,12 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "_amount" } ], "expression": { - "id": 3011, + "id": 3012, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62587,7 +63580,7 @@ "start": 55839, "end": 55871, "length": 33, - "parent_index": 3010 + "parent_index": 3011 }, "member_location": { "line": 1530, @@ -62595,10 +63588,10 @@ "start": 55856, "end": 55871, "length": 16, - "parent_index": 3011 + "parent_index": 3012 }, "expression": { - "id": 3012, + "id": 3013, "node_type": 24, "kind": 24, "src": { @@ -62607,7 +63600,7 @@ "start": 55839, "end": 55854, "length": 16, - "parent_index": 3011 + "parent_index": 3012 }, "argument_types": [ { @@ -62617,7 +63610,7 @@ ], "arguments": [ { - "id": 3014, + "id": 3015, "node_type": 16, "src": { "line": 1530, @@ -62625,7 +63618,7 @@ "start": 55846, "end": 55853, "length": 8, - "parent_index": 3012 + "parent_index": 3013 }, "name": "_lpToken", "type_description": { @@ -62633,12 +63626,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3014, - "is_pure": false + "referenced_declaration": 3015, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 3013, + "id": 3014, "node_type": 16, "src": { "line": 1530, @@ -62646,7 +63640,7 @@ "start": 55839, "end": 55844, "length": 6, - "parent_index": 3012 + "parent_index": 3013 }, "name": "IERC20", "type_description": { @@ -62655,7 +63649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -62667,7 +63662,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_lpToken).safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -62675,7 +63671,7 @@ } }, { - "id": 3025, + "id": 3026, "node_type": 44, "src": { "line": 1537, @@ -62683,25 +63679,25 @@ "start": 56015, "end": 56079, "length": 65, - "parent_index": 2969 + "parent_index": 2970 }, "assignments": [ - 3026 + 3027 ], "declarations": [ { - "id": 3026, + "id": 3027, "state_mutability": 1, "name": "liquidityFee", "node_type": 44, - "scope": 2969, + "scope": 2970, "src": { "line": 1537, "column": 8, "start": 56015, "end": 56034, "length": 20, - "parent_index": 3025 + "parent_index": 3026 }, "name_location": { "line": 1537, @@ -62709,12 +63705,12 @@ "start": 56023, "end": 56034, "length": 12, - "parent_index": 3026 + "parent_index": 3027 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3027, + "id": 3028, "node_type": 30, "src": { "line": 1537, @@ -62722,7 +63718,7 @@ "start": 56015, "end": 56021, "length": 7, - "parent_index": 3026 + "parent_index": 3027 }, "name": "uint256", "referenced_declaration": 0, @@ -62735,7 +63731,7 @@ } ], "initial_value": { - "id": 3028, + "id": 3029, "is_constant": false, "is_pure": false, "node_type": 19, @@ -62745,11 +63741,11 @@ "start": 56038, "end": 56078, "length": 41, - "parent_index": 3025 + "parent_index": 3026 }, "operator": 4, "left_expression": { - "id": 3029, + "id": 3030, "node_type": 60, "src": { "line": 1537, @@ -62757,13 +63753,13 @@ "start": 56038, "end": 56069, "length": 32, - "parent_index": 3028 + "parent_index": 3029 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3030, + "id": 3031, "is_constant": false, "is_pure": false, "node_type": 19, @@ -62773,11 +63769,11 @@ "start": 56039, "end": 56068, "length": 30, - "parent_index": 3029 + "parent_index": 3030 }, "operator": 3, "left_expression": { - "id": 3031, + "id": 3032, "node_type": 16, "src": { "line": 1537, @@ -62785,7 +63781,7 @@ "start": 56039, "end": 56045, "length": 7, - "parent_index": 3030 + "parent_index": 3031 }, "name": "_amount", "type_description": { @@ -62793,11 +63789,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3031, - "is_pure": false + "referenced_declaration": 3032, + "is_pure": false, + "text": "_amount" }, "right_expression": { - "id": 3032, + "id": 3033, "node_type": 60, "src": { "line": 1537, @@ -62805,13 +63802,13 @@ "start": 56049, "end": 56068, "length": 20, - "parent_index": 3030 + "parent_index": 3031 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3033, + "id": 3034, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -62823,7 +63820,7 @@ "start": 56050, "end": 56067, "length": 18, - "parent_index": 3025 + "parent_index": 3026 }, "member_location": { "line": 1537, @@ -62831,10 +63828,10 @@ "start": 56056, "end": 56067, "length": 12, - "parent_index": 3033 + "parent_index": 3034 }, "expression": { - "id": 3034, + "id": 3035, "node_type": 16, "src": { "line": 1537, @@ -62842,27 +63839,29 @@ "start": 56050, "end": 56054, "length": 5, - "parent_index": 3033 + "parent_index": 3034 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "liquidityFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.liquidityFee" } ], "type_description": { - "type_identifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "type_identifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "type_string": "tuple(struct KnoxLpLocker.FeeStruct)" } }, @@ -62878,7 +63877,7 @@ } }, "right_expression": { - "id": 3035, + "id": 3036, "node_type": 60, "src": { "line": 1537, @@ -62886,13 +63885,13 @@ "start": 56073, "end": 56078, "length": 6, - "parent_index": 3028 + "parent_index": 3029 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 3036, + "id": 3037, "node_type": 17, "kind": 49, "value": "1000", @@ -62903,7 +63902,7 @@ "start": 56074, "end": 56077, "length": 4, - "parent_index": 3035 + "parent_index": 3036 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -62911,7 +63910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" } ], "type_description": { @@ -62926,7 +63926,7 @@ } }, { - "id": 3037, + "id": 3038, "node_type": 24, "kind": 24, "src": { @@ -62935,7 +63935,7 @@ "start": 56089, "end": 56140, "length": 52, - "parent_index": 2969 + "parent_index": 2970 }, "argument_types": [ { @@ -62949,7 +63949,7 @@ ], "arguments": [ { - "id": 3042, + "id": 3043, "node_type": 16, "src": { "line": 1538, @@ -62957,7 +63957,7 @@ "start": 56119, "end": 56125, "length": 7, - "parent_index": 3037 + "parent_index": 3038 }, "name": "devaddr", "type_description": { @@ -62966,10 +63966,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "devaddr" }, { - "id": 3043, + "id": 3044, "node_type": 16, "src": { "line": 1538, @@ -62977,7 +63978,7 @@ "start": 56128, "end": 56139, "length": 12, - "parent_index": 3037 + "parent_index": 3038 }, "name": "liquidityFee", "type_description": { @@ -62985,18 +63986,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3025, + "referenced_declaration": 3026, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "liquidityFee" } ], "expression": { - "id": 3038, + "id": 3039, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63008,7 +64010,7 @@ "start": 56089, "end": 56117, "length": 29, - "parent_index": 3037 + "parent_index": 3038 }, "member_location": { "line": 1538, @@ -63016,10 +64018,10 @@ "start": 56106, "end": 56117, "length": 12, - "parent_index": 3038 + "parent_index": 3039 }, "expression": { - "id": 3039, + "id": 3040, "node_type": 24, "kind": 24, "src": { @@ -63028,7 +64030,7 @@ "start": 56089, "end": 56104, "length": 16, - "parent_index": 3038 + "parent_index": 3039 }, "argument_types": [ { @@ -63038,7 +64040,7 @@ ], "arguments": [ { - "id": 3041, + "id": 3042, "node_type": 16, "src": { "line": 1538, @@ -63046,7 +64048,7 @@ "start": 56096, "end": 56103, "length": 8, - "parent_index": 3039 + "parent_index": 3040 }, "name": "_lpToken", "type_description": { @@ -63054,12 +64056,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3041, - "is_pure": false + "referenced_declaration": 3042, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 3040, + "id": 3041, "node_type": 16, "src": { "line": 1538, @@ -63067,7 +64070,7 @@ "start": 56089, "end": 56094, "length": 6, - "parent_index": 3039 + "parent_index": 3040 }, "name": "IERC20", "type_description": { @@ -63076,7 +64079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -63088,7 +64092,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_lpToken).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -63096,7 +64101,7 @@ } }, { - "id": 3044, + "id": 3045, "node_type": 44, "src": { "line": 1539, @@ -63104,25 +64109,25 @@ "start": 56151, "end": 56198, "length": 48, - "parent_index": 2969 + "parent_index": 2970 }, "assignments": [ - 3045 + 3046 ], "declarations": [ { - "id": 3045, + "id": 3046, "state_mutability": 1, "name": "amountLocked", "node_type": 44, - "scope": 2969, + "scope": 2970, "src": { "line": 1539, "column": 8, "start": 56151, "end": 56170, "length": 20, - "parent_index": 3044 + "parent_index": 3045 }, "name_location": { "line": 1539, @@ -63130,12 +64135,12 @@ "start": 56159, "end": 56170, "length": 12, - "parent_index": 3045 + "parent_index": 3046 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3046, + "id": 3047, "node_type": 30, "src": { "line": 1539, @@ -63143,7 +64148,7 @@ "start": 56151, "end": 56157, "length": 7, - "parent_index": 3045 + "parent_index": 3046 }, "name": "uint256", "referenced_declaration": 0, @@ -63156,7 +64161,7 @@ } ], "initial_value": { - "id": 3047, + "id": 3048, "is_constant": false, "is_pure": false, "node_type": 19, @@ -63166,11 +64171,11 @@ "start": 56174, "end": 56197, "length": 24, - "parent_index": 3044 + "parent_index": 3045 }, "operator": 2, "left_expression": { - "id": 3048, + "id": 3049, "node_type": 16, "src": { "line": 1539, @@ -63178,7 +64183,7 @@ "start": 56174, "end": 56180, "length": 7, - "parent_index": 3047 + "parent_index": 3048 }, "name": "_amount", "type_description": { @@ -63186,11 +64191,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3048, - "is_pure": false + "referenced_declaration": 3049, + "is_pure": false, + "text": "_amount" }, "right_expression": { - "id": 3049, + "id": 3050, "node_type": 60, "src": { "line": 1539, @@ -63198,13 +64204,13 @@ "start": 56184, "end": 56197, "length": 14, - "parent_index": 3047 + "parent_index": 3048 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3050, + "id": 3051, "node_type": 16, "src": { "line": 1539, @@ -63212,7 +64218,7 @@ "start": 56185, "end": 56196, "length": 12, - "parent_index": 3049 + "parent_index": 3050 }, "name": "liquidityFee", "type_description": { @@ -63220,8 +64226,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3025, - "is_pure": false + "referenced_declaration": 3026, + "is_pure": false, + "text": "liquidityFee" } ], "type_description": { @@ -63236,7 +64243,7 @@ } }, { - "id": 3051, + "id": 3052, "node_type": 27, "src": { "line": 1541, @@ -63244,10 +64251,10 @@ "start": 56209, "end": 56259, "length": 51, - "parent_index": 2969 + "parent_index": 2970 }, "expression": { - "id": 3052, + "id": 3053, "node_type": 27, "src": { "line": 1541, @@ -63255,11 +64262,11 @@ "start": 56209, "end": 56258, "length": 50, - "parent_index": 3051 + "parent_index": 3052 }, "operator": 11, "left_expression": { - "id": 3053, + "id": 3054, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63271,7 +64278,7 @@ "start": 56209, "end": 56223, "length": 15, - "parent_index": 3052 + "parent_index": 3053 }, "member_location": { "line": 1541, @@ -63279,10 +64286,10 @@ "start": 56218, "end": 56223, "length": 6, - "parent_index": 3053 + "parent_index": 3054 }, "expression": { - "id": 3054, + "id": 3055, "node_type": 16, "src": { "line": 1541, @@ -63290,7 +64297,7 @@ "start": 56209, "end": 56216, "length": 8, - "parent_index": 3053 + "parent_index": 3054 }, "name": "userLock", "type_description": { @@ -63298,18 +64305,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2988, - "is_pure": false + "referenced_declaration": 2989, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 3055, + "id": 3056, "is_constant": false, "is_pure": false, "node_type": 19, @@ -63319,11 +64328,11 @@ "start": 56227, "end": 56258, "length": 32, - "parent_index": 3052 + "parent_index": 3053 }, "operator": 1, "left_expression": { - "id": 3056, + "id": 3057, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63335,7 +64344,7 @@ "start": 56227, "end": 56241, "length": 15, - "parent_index": 3055 + "parent_index": 3056 }, "member_location": { "line": 1541, @@ -63343,10 +64352,10 @@ "start": 56236, "end": 56241, "length": 6, - "parent_index": 3056 + "parent_index": 3057 }, "expression": { - "id": 3057, + "id": 3058, "node_type": 16, "src": { "line": 1541, @@ -63354,7 +64363,7 @@ "start": 56227, "end": 56234, "length": 8, - "parent_index": 3056 + "parent_index": 3057 }, "name": "userLock", "type_description": { @@ -63362,18 +64371,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2988, - "is_pure": false + "referenced_declaration": 2989, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 3058, + "id": 3059, "node_type": 60, "src": { "line": 1541, @@ -63381,13 +64392,13 @@ "start": 56245, "end": 56258, "length": 14, - "parent_index": 3055 + "parent_index": 3056 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3059, + "id": 3060, "node_type": 16, "src": { "line": 1541, @@ -63395,7 +64406,7 @@ "start": 56246, "end": 56257, "length": 12, - "parent_index": 3058 + "parent_index": 3059 }, "name": "amountLocked", "type_description": { @@ -63403,8 +64414,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3044, - "is_pure": false + "referenced_declaration": 3045, + "is_pure": false, + "text": "amountLocked" } ], "type_description": { @@ -63425,10 +64437,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount=userLock.amount+(amountLocked);" }, { - "id": 3060, + "id": 3061, "node_type": 64, "src": { "line": 1543, @@ -63436,11 +64449,11 @@ "start": 56270, "end": 56459, "length": 190, - "parent_index": 2954 + "parent_index": 2955 }, "arguments": [ { - "id": 3061, + "id": 3062, "node_type": 16, "src": { "line": 1544, @@ -63448,7 +64461,7 @@ "start": 56298, "end": 56305, "length": 8, - "parent_index": 3060 + "parent_index": 3061 }, "name": "_lpToken", "type_description": { @@ -63456,11 +64469,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3061, - "is_pure": false + "referenced_declaration": 3062, + "is_pure": false, + "text": "_lpToken" }, { - "id": 3062, + "id": 3063, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63472,7 +64486,7 @@ "start": 56320, "end": 56329, "length": 10, - "parent_index": 3060 + "parent_index": 3061 }, "member_location": { "line": 1545, @@ -63480,10 +64494,10 @@ "start": 56324, "end": 56329, "length": 6, - "parent_index": 3062 + "parent_index": 3063 }, "expression": { - "id": 3063, + "id": 3064, "node_type": 16, "src": { "line": 1545, @@ -63491,7 +64505,7 @@ "start": 56320, "end": 56322, "length": 3, - "parent_index": 3062 + "parent_index": 3063 }, "name": "msg", "type_description": { @@ -63500,17 +64514,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 3064, + "id": 3065, "node_type": 16, "src": { "line": 1546, @@ -63518,7 +64534,7 @@ "start": 56344, "end": 56355, "length": 12, - "parent_index": 3060 + "parent_index": 3061 }, "name": "amountLocked", "type_description": { @@ -63526,11 +64542,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3044, - "is_pure": false + "referenced_declaration": 3045, + "is_pure": false, + "text": "amountLocked" }, { - "id": 3065, + "id": 3066, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63542,7 +64559,7 @@ "start": 56370, "end": 56386, "length": 17, - "parent_index": 3060 + "parent_index": 3061 }, "member_location": { "line": 1547, @@ -63550,10 +64567,10 @@ "start": 56379, "end": 56386, "length": 8, - "parent_index": 3065 + "parent_index": 3066 }, "expression": { - "id": 3066, + "id": 3067, "node_type": 16, "src": { "line": 1547, @@ -63561,7 +64578,7 @@ "start": 56370, "end": 56377, "length": 8, - "parent_index": 3065 + "parent_index": 3066 }, "name": "userLock", "type_description": { @@ -63569,18 +64586,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2988, - "is_pure": false + "referenced_declaration": 2989, + "is_pure": false, + "text": "userLock" }, "member_name": "lockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.lockDate" }, { - "id": 3067, + "id": 3068, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63592,7 +64611,7 @@ "start": 56401, "end": 56419, "length": 19, - "parent_index": 3060 + "parent_index": 3061 }, "member_location": { "line": 1548, @@ -63600,10 +64619,10 @@ "start": 56410, "end": 56419, "length": 10, - "parent_index": 3067 + "parent_index": 3068 }, "expression": { - "id": 3068, + "id": 3069, "node_type": 16, "src": { "line": 1548, @@ -63611,7 +64630,7 @@ "start": 56401, "end": 56408, "length": 8, - "parent_index": 3067 + "parent_index": 3068 }, "name": "userLock", "type_description": { @@ -63619,18 +64638,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2988, - "is_pure": false + "referenced_declaration": 2989, + "is_pure": false, + "text": "userLock" }, "member_name": "unlockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.unlockDate" }, { - "id": 3069, + "id": 3070, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -63642,7 +64663,7 @@ "start": 56434, "end": 56448, "length": 15, - "parent_index": 3060 + "parent_index": 3061 }, "member_location": { "line": 1549, @@ -63650,10 +64671,10 @@ "start": 56443, "end": 56448, "length": 6, - "parent_index": 3069 + "parent_index": 3070 }, "expression": { - "id": 3070, + "id": 3071, "node_type": 16, "src": { "line": 1549, @@ -63661,7 +64682,7 @@ "start": 56434, "end": 56441, "length": 8, - "parent_index": 3069 + "parent_index": 3070 }, "name": "userLock", "type_description": { @@ -63669,19 +64690,21 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 2988, - "is_pure": false + "referenced_declaration": 2989, + "is_pure": false, + "text": "userLock" }, "member_name": "lockID", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.lockID" } ], "expression": { - "id": 3071, + "id": 3072, "node_type": 16, "src": { "line": 1543, @@ -63689,20 +64712,21 @@ "start": 56275, "end": 56283, "length": 9, - "parent_index": 3060 + "parent_index": 3061 }, "name": "onDeposit", "type_description": { - "type_identifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262096", + "type_identifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262097", "type_string": "event KnoxLpLocker.onDeposit" }, "overloaded_declarations": [], - "referenced_declaration": 2096, - "is_pure": false + "referenced_declaration": 2097, + "is_pure": false, + "text": "onDeposit" } }, { - "id": 3072, + "id": 3073, "node_type": 47, "src": { "line": 1552, @@ -63710,11 +64734,11 @@ "start": 56470, "end": 56481, "length": 12, - "parent_index": 2954 + "parent_index": 2955 }, - "function_return_parameters": 2954, + "function_return_parameters": 2955, "expression": { - "id": 3073, + "id": 3074, "node_type": 17, "kind": 61, "value": "true", @@ -63725,7 +64749,7 @@ "start": 56477, "end": 56480, "length": 4, - "parent_index": 3072 + "parent_index": 3073 }, "type_description": { "type_identifier": "t_bool", @@ -63733,7 +64757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -63744,7 +64769,7 @@ "virtual": false, "modifiers": [ { - "id": 2964, + "id": 2965, "name": "nonReentrant", "node_type": 72, "kind": 72, @@ -63754,12 +64779,12 @@ "start": 55457, "end": 55468, "length": 12, - "parent_index": 2954 + "parent_index": 2955 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 2965, + "id": 2966, "name": "nonReentrant", "node_type": 0, "src": { @@ -63768,14 +64793,14 @@ "start": 55457, "end": 55468, "length": 12, - "parent_index": 2964 + "parent_index": 2965 } } } ], "overrides": [], "parameters": { - "id": 2955, + "id": 2956, "node_type": 43, "src": { "line": 1517, @@ -63783,11 +64808,11 @@ "start": 55351, "end": 55440, "length": 90, - "parent_index": 2954 + "parent_index": 2955 }, "parameters": [ { - "id": 2956, + "id": 2957, "node_type": 44, "src": { "line": 1517, @@ -63795,12 +64820,12 @@ "start": 55351, "end": 55366, "length": 16, - "parent_index": 2955 + "parent_index": 2956 }, - "scope": 2954, + "scope": 2955, "name": "_lpToken", "type_name": { - "id": 2957, + "id": 2958, "node_type": 30, "src": { "line": 1517, @@ -63808,7 +64833,7 @@ "start": 55351, "end": 55357, "length": 7, - "parent_index": 2956 + "parent_index": 2957 }, "name": "address", "state_mutability": 4, @@ -63827,7 +64852,7 @@ } }, { - "id": 2958, + "id": 2959, "node_type": 44, "src": { "line": 1518, @@ -63835,12 +64860,12 @@ "start": 55377, "end": 55390, "length": 14, - "parent_index": 2955 + "parent_index": 2956 }, - "scope": 2954, + "scope": 2955, "name": "_index", "type_name": { - "id": 2959, + "id": 2960, "node_type": 30, "src": { "line": 1518, @@ -63848,7 +64873,7 @@ "start": 55377, "end": 55383, "length": 7, - "parent_index": 2958 + "parent_index": 2959 }, "name": "uint256", "referenced_declaration": 0, @@ -63866,7 +64891,7 @@ } }, { - "id": 2960, + "id": 2961, "node_type": 44, "src": { "line": 1519, @@ -63874,12 +64899,12 @@ "start": 55401, "end": 55415, "length": 15, - "parent_index": 2955 + "parent_index": 2956 }, - "scope": 2954, + "scope": 2955, "name": "_lockID", "type_name": { - "id": 2961, + "id": 2962, "node_type": 30, "src": { "line": 1519, @@ -63887,7 +64912,7 @@ "start": 55401, "end": 55407, "length": 7, - "parent_index": 2960 + "parent_index": 2961 }, "name": "uint256", "referenced_declaration": 0, @@ -63905,7 +64930,7 @@ } }, { - "id": 2962, + "id": 2963, "node_type": 44, "src": { "line": 1520, @@ -63913,12 +64938,12 @@ "start": 55426, "end": 55440, "length": 15, - "parent_index": 2955 + "parent_index": 2956 }, - "scope": 2954, + "scope": 2955, "name": "_amount", "type_name": { - "id": 2963, + "id": 2964, "node_type": 30, "src": { "line": 1520, @@ -63926,7 +64951,7 @@ "start": 55426, "end": 55432, "length": 7, - "parent_index": 2962 + "parent_index": 2963 }, "name": "uint256", "referenced_declaration": 0, @@ -63964,7 +64989,7 @@ ] }, "return_parameters": { - "id": 2966, + "id": 2967, "node_type": 43, "src": { "line": 1521, @@ -63972,11 +64997,11 @@ "start": 55479, "end": 55482, "length": 4, - "parent_index": 2954 + "parent_index": 2955 }, "parameters": [ { - "id": 2967, + "id": 2968, "node_type": 44, "src": { "line": 1521, @@ -63984,12 +65009,12 @@ "start": 55479, "end": 55482, "length": 4, - "parent_index": 2966 + "parent_index": 2967 }, - "scope": 2954, + "scope": 2955, "name": "", "type_name": { - "id": 2968, + "id": 2969, "node_type": 30, "src": { "line": 1521, @@ -63997,7 +65022,7 @@ "start": 55479, "end": 55482, "length": 4, - "parent_index": 2967 + "parent_index": 2968 }, "name": "bool", "referenced_declaration": 0, @@ -64022,16 +65047,17 @@ } ] }, - "signature_raw": "incrementLock(address, uint256, uint256, uint256)", - "signature": "ea415394", + "signature_raw": "incrementLock(address,uint256,uint256,uint256)", + "signature": "a9b07cea", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functionincrementLock(address_lpToken,uint256_index,uint256_lockID,uint256_amount)externalnonReentrantreturns(bool){require(_amount\u003e0,\"ZERO AMOUNT\");uint256lockID=users[msg.sender].locksForToken[_lpToken][_index];TokenLockstorageuserLock=tokenLocks[_lpToken][lockID];require(lockID==_lockID\u0026\u0026userLock.owner==msg.sender,\"LOCK MISMATCH\");IERC20(_lpToken).safeTransferFrom(address(msg.sender),address(this),_amount);uint256liquidityFee=(_amount*(gFees.liquidityFee))/(1000);IERC20(_lpToken).safeTransfer(devaddr,liquidityFee);uint256amountLocked=_amount-(liquidityFee);userLock.amount=userLock.amount+(amountLocked);emitonDeposit(_lpToken,msg.sender,amountLocked,userLock.lockDate,userLock.unlockDate,userLock.lockID);returntrue;}" }, { - "id": 3075, + "id": 3076, "name": "splitLock", "node_type": 42, "kind": 41, @@ -64049,10 +65075,10 @@ "start": 56726, "end": 56734, "length": 9, - "parent_index": 3075 + "parent_index": 3076 }, "body": { - "id": 3090, + "id": 3091, "node_type": 46, "kind": 0, "src": { @@ -64061,12 +65087,12 @@ "start": 56887, "end": 58030, "length": 1144, - "parent_index": 3075 + "parent_index": 3076 }, "implemented": true, "statements": [ { - "id": 3091, + "id": 3092, "node_type": 24, "kind": 24, "src": { @@ -64075,7 +65101,7 @@ "start": 56897, "end": 56931, "length": 35, - "parent_index": 3090 + "parent_index": 3091 }, "argument_types": [ { @@ -64089,7 +65115,7 @@ ], "arguments": [ { - "id": 3093, + "id": 3094, "is_constant": false, "is_pure": false, "node_type": 19, @@ -64099,11 +65125,11 @@ "start": 56905, "end": 56915, "length": 11, - "parent_index": 3091 + "parent_index": 3092 }, "operator": 7, "left_expression": { - "id": 3094, + "id": 3095, "node_type": 16, "src": { "line": 1566, @@ -64111,7 +65137,7 @@ "start": 56905, "end": 56911, "length": 7, - "parent_index": 3093 + "parent_index": 3094 }, "name": "_amount", "type_description": { @@ -64119,11 +65145,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3094, - "is_pure": false + "referenced_declaration": 3095, + "is_pure": false, + "text": "_amount" }, "right_expression": { - "id": 3095, + "id": 3096, "node_type": 17, "kind": 49, "value": "0", @@ -64134,7 +65161,7 @@ "start": 56915, "end": 56915, "length": 1, - "parent_index": 3093 + "parent_index": 3094 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -64142,7 +65169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -64150,7 +65178,7 @@ } }, { - "id": 3096, + "id": 3097, "node_type": 17, "kind": 50, "value": "ZERO AMOUNT", @@ -64161,7 +65189,7 @@ "start": 56918, "end": 56930, "length": 13, - "parent_index": 3091 + "parent_index": 3092 }, "type_description": { "type_identifier": "t_string_literal", @@ -64175,11 +65203,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ZERO AMOUNT\"" } ], "expression": { - "id": 3092, + "id": 3093, "node_type": 16, "src": { "line": 1566, @@ -64187,7 +65216,7 @@ "start": 56897, "end": 56903, "length": 7, - "parent_index": 3091 + "parent_index": 3092 }, "name": "require", "type_description": { @@ -64196,7 +65225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -64204,7 +65234,7 @@ } }, { - "id": 3097, + "id": 3098, "node_type": 44, "src": { "line": 1567, @@ -64212,25 +65242,25 @@ "start": 56942, "end": 57008, "length": 67, - "parent_index": 3090 + "parent_index": 3091 }, "assignments": [ - 3098 + 3099 ], "declarations": [ { - "id": 3098, + "id": 3099, "state_mutability": 1, "name": "lockID", "node_type": 44, - "scope": 3090, + "scope": 3091, "src": { "line": 1567, "column": 8, "start": 56942, "end": 56955, "length": 14, - "parent_index": 3097 + "parent_index": 3098 }, "name_location": { "line": 1567, @@ -64238,12 +65268,12 @@ "start": 56950, "end": 56955, "length": 6, - "parent_index": 3098 + "parent_index": 3099 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3099, + "id": 3100, "node_type": 30, "src": { "line": 1567, @@ -64251,7 +65281,7 @@ "start": 56942, "end": 56948, "length": 7, - "parent_index": 3098 + "parent_index": 3099 }, "name": "uint256", "referenced_declaration": 0, @@ -64264,7 +65294,7 @@ } ], "initial_value": { - "id": 3100, + "id": 3101, "node_type": 22, "src": { "line": 1567, @@ -64272,10 +65302,10 @@ "start": 56959, "end": 57007, "length": 49, - "parent_index": 3097 + "parent_index": 3098 }, "index_expression": { - "id": 3101, + "id": 3102, "node_type": 22, "src": { "line": 1567, @@ -64283,10 +65313,10 @@ "start": 56959, "end": 56999, "length": 41, - "parent_index": 3097 + "parent_index": 3098 }, "index_expression": { - "id": 3102, + "id": 3103, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -64298,7 +65328,7 @@ "start": 56959, "end": 56989, "length": 31, - "parent_index": 3097 + "parent_index": 3098 }, "member_location": { "line": 1567, @@ -64306,10 +65336,10 @@ "start": 56977, "end": 56989, "length": 13, - "parent_index": 3102 + "parent_index": 3103 }, "expression": { - "id": 3103, + "id": 3104, "node_type": 22, "src": { "line": 1567, @@ -64317,10 +65347,10 @@ "start": 56959, "end": 56975, "length": 17, - "parent_index": 3097 + "parent_index": 3098 }, "index_expression": { - "id": 3104, + "id": 3105, "node_type": 16, "src": { "line": 1567, @@ -64328,19 +65358,20 @@ "start": 56959, "end": 56963, "length": 5, - "parent_index": 3103 + "parent_index": 3104 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3105, + "id": 3106, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -64352,7 +65383,7 @@ "start": 56965, "end": 56974, "length": 10, - "parent_index": 3097 + "parent_index": 3098 }, "member_location": { "line": 1567, @@ -64360,10 +65391,10 @@ "start": 56969, "end": 56974, "length": 6, - "parent_index": 3105 + "parent_index": 3106 }, "expression": { - "id": 3106, + "id": 3107, "node_type": 16, "src": { "line": 1567, @@ -64371,7 +65402,7 @@ "start": 56965, "end": 56967, "length": 3, - "parent_index": 3105 + "parent_index": 3106 }, "name": "msg", "type_description": { @@ -64380,18 +65411,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -64400,19 +65433,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].locksForToken" }, "base_expression": { - "id": 3107, + "id": 3108, "node_type": 16, "src": { "line": 1567, @@ -64420,7 +65454,7 @@ "start": 56991, "end": 56998, "length": 8, - "parent_index": 3101 + "parent_index": 3102 }, "name": "_lpToken", "type_description": { @@ -64428,12 +65462,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3107, - "is_pure": false + "referenced_declaration": 3108, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -64442,12 +65477,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } }, "base_expression": { - "id": 3108, + "id": 3109, "node_type": 16, "src": { "line": 1567, @@ -64455,7 +65490,7 @@ "start": 57001, "end": 57006, "length": 6, - "parent_index": 3100 + "parent_index": 3101 }, "name": "_index", "type_description": { @@ -64463,12 +65498,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3108, - "is_pure": false + "referenced_declaration": 3109, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -64477,13 +65513,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "type_string": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" } } }, { - "id": 3109, + "id": 3110, "node_type": 44, "src": { "line": 1568, @@ -64491,25 +65527,25 @@ "start": 57018, "end": 57075, "length": 58, - "parent_index": 3090 + "parent_index": 3091 }, "assignments": [ - 3110 + 3111 ], "declarations": [ { - "id": 3110, + "id": 3111, "state_mutability": 1, "name": "userLock", "node_type": 44, - "scope": 3090, + "scope": 3091, "src": { "line": 1568, "column": 8, "start": 57018, "end": 57043, "length": 26, - "parent_index": 3109 + "parent_index": 3110 }, "name_location": { "line": 1568, @@ -64517,12 +65553,12 @@ "start": 57036, "end": 57043, "length": 8, - "parent_index": 3110 + "parent_index": 3111 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3111, + "id": 3112, "node_type": 69, "src": { "line": 1568, @@ -64530,10 +65566,10 @@ "start": 57018, "end": 57026, "length": 9, - "parent_index": 3110 + "parent_index": 3111 }, "path_node": { - "id": 3112, + "id": 3113, "name": "TokenLock", "node_type": 52, "referenced_declaration": 2031, @@ -64543,7 +65579,7 @@ "start": 57018, "end": 57026, "length": 9, - "parent_index": 3111 + "parent_index": 3112 }, "name_location": { "line": 1568, @@ -64551,7 +65587,7 @@ "start": 57018, "end": 57026, "length": 9, - "parent_index": 3111 + "parent_index": 3112 } }, "referenced_declaration": 2031, @@ -64564,7 +65600,7 @@ } ], "initial_value": { - "id": 3113, + "id": 3114, "node_type": 22, "src": { "line": 1568, @@ -64572,10 +65608,10 @@ "start": 57047, "end": 57074, "length": 28, - "parent_index": 3109 + "parent_index": 3110 }, "index_expression": { - "id": 3114, + "id": 3115, "node_type": 22, "src": { "line": 1568, @@ -64583,10 +65619,10 @@ "start": 57047, "end": 57066, "length": 20, - "parent_index": 3109 + "parent_index": 3110 }, "index_expression": { - "id": 3115, + "id": 3116, "node_type": 16, "src": { "line": 1568, @@ -64594,7 +65630,7 @@ "start": 57047, "end": 57056, "length": 10, - "parent_index": 3114 + "parent_index": 3115 }, "name": "tokenLocks", "type_description": { @@ -64602,11 +65638,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 3116, + "id": 3117, "node_type": 16, "src": { "line": 1568, @@ -64614,7 +65651,7 @@ "start": 57058, "end": 57065, "length": 8, - "parent_index": 3114 + "parent_index": 3115 }, "name": "_lpToken", "type_description": { @@ -64622,8 +65659,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3116, - "is_pure": false + "referenced_declaration": 3117, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -64641,7 +65679,7 @@ } }, "base_expression": { - "id": 3117, + "id": 3118, "node_type": 16, "src": { "line": 1568, @@ -64649,7 +65687,7 @@ "start": 57068, "end": 57073, "length": 6, - "parent_index": 3113 + "parent_index": 3114 }, "name": "lockID", "type_description": { @@ -64657,8 +65695,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3097, - "is_pure": false + "referenced_declaration": 3098, + "is_pure": false, + "text": "lockID" }, "type_descriptions": [ { @@ -64677,7 +65716,7 @@ } }, { - "id": 3118, + "id": 3119, "node_type": 24, "kind": 24, "src": { @@ -64686,7 +65725,7 @@ "start": 57085, "end": 57193, "length": 109, - "parent_index": 3090 + "parent_index": 3091 }, "argument_types": [ { @@ -64700,7 +65739,7 @@ ], "arguments": [ { - "id": 3121, + "id": 3122, "node_type": 96, "src": { "line": 1570, @@ -64708,11 +65747,11 @@ "start": 57106, "end": 57154, "length": 49, - "parent_index": 3118 + "parent_index": 3119 }, "expressions": [ { - "id": 3122, + "id": 3123, "is_constant": false, "is_pure": false, "node_type": 19, @@ -64722,11 +65761,11 @@ "start": 57106, "end": 57122, "length": 17, - "parent_index": 3121 + "parent_index": 3122 }, "operator": 11, "left_expression": { - "id": 3123, + "id": 3124, "node_type": 16, "src": { "line": 1570, @@ -64734,7 +65773,7 @@ "start": 57106, "end": 57111, "length": 6, - "parent_index": 3122 + "parent_index": 3123 }, "name": "lockID", "type_description": { @@ -64742,11 +65781,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3097, - "is_pure": false + "referenced_declaration": 3098, + "is_pure": false, + "text": "lockID" }, "right_expression": { - "id": 3124, + "id": 3125, "node_type": 16, "src": { "line": 1570, @@ -64754,7 +65794,7 @@ "start": 57116, "end": 57122, "length": 7, - "parent_index": 3122 + "parent_index": 3123 }, "name": "_lockID", "type_description": { @@ -64762,8 +65802,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3124, - "is_pure": false + "referenced_declaration": 3125, + "is_pure": false, + "text": "_lockID" }, "type_description": { "type_identifier": "t_bool", @@ -64771,7 +65812,7 @@ } }, { - "id": 3125, + "id": 3126, "is_constant": false, "is_pure": false, "node_type": 19, @@ -64781,11 +65822,11 @@ "start": 57127, "end": 57154, "length": 28, - "parent_index": 3121 + "parent_index": 3122 }, "operator": 11, "left_expression": { - "id": 3126, + "id": 3127, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -64797,7 +65838,7 @@ "start": 57127, "end": 57140, "length": 14, - "parent_index": 3125 + "parent_index": 3126 }, "member_location": { "line": 1570, @@ -64805,10 +65846,10 @@ "start": 57136, "end": 57140, "length": 5, - "parent_index": 3126 + "parent_index": 3127 }, "expression": { - "id": 3127, + "id": 3128, "node_type": 16, "src": { "line": 1570, @@ -64816,7 +65857,7 @@ "start": 57127, "end": 57134, "length": 8, - "parent_index": 3126 + "parent_index": 3127 }, "name": "userLock", "type_description": { @@ -64824,18 +65865,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3109, - "is_pure": false + "referenced_declaration": 3110, + "is_pure": false, + "text": "userLock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.owner" }, "right_expression": { - "id": 3128, + "id": 3129, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -64847,7 +65890,7 @@ "start": 57145, "end": 57154, "length": 10, - "parent_index": 3125 + "parent_index": 3126 }, "member_location": { "line": 1570, @@ -64855,10 +65898,10 @@ "start": 57149, "end": 57154, "length": 6, - "parent_index": 3128 + "parent_index": 3129 }, "expression": { - "id": 3129, + "id": 3130, "node_type": 16, "src": { "line": 1570, @@ -64866,7 +65909,7 @@ "start": 57145, "end": 57147, "length": 3, - "parent_index": 3128 + "parent_index": 3129 }, "name": "msg", "type_description": { @@ -64875,14 +65918,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -64902,7 +65947,7 @@ ] }, { - "id": 3130, + "id": 3131, "node_type": 17, "kind": 50, "value": "LOCK MISMATCH", @@ -64913,7 +65958,7 @@ "start": 57169, "end": 57183, "length": 15, - "parent_index": 3118 + "parent_index": 3119 }, "type_description": { "type_identifier": "t_string_literal", @@ -64927,11 +65972,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"LOCK MISMATCH\"" } ], "expression": { - "id": 3119, + "id": 3120, "node_type": 16, "src": { "line": 1569, @@ -64939,7 +65985,7 @@ "start": 57085, "end": 57091, "length": 7, - "parent_index": 3118 + "parent_index": 3119 }, "name": "require", "type_description": { @@ -64948,7 +65994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -64956,7 +66003,7 @@ } }, { - "id": 3131, + "id": 3132, "node_type": 24, "kind": 24, "src": { @@ -64965,7 +66012,7 @@ "start": 57241, "end": 57289, "length": 49, - "parent_index": 3090 + "parent_index": 3091 }, "argument_types": [ { @@ -64979,7 +66026,7 @@ ], "arguments": [ { - "id": 3133, + "id": 3134, "is_constant": false, "is_pure": false, "node_type": 19, @@ -64989,11 +66036,11 @@ "start": 57249, "end": 57273, "length": 25, - "parent_index": 3131 + "parent_index": 3132 }, "operator": 11, "left_expression": { - "id": 3134, + "id": 3135, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65005,7 +66052,7 @@ "start": 57249, "end": 57257, "length": 9, - "parent_index": 3133 + "parent_index": 3134 }, "member_location": { "line": 1574, @@ -65013,10 +66060,10 @@ "start": 57253, "end": 57257, "length": 5, - "parent_index": 3134 + "parent_index": 3135 }, "expression": { - "id": 3135, + "id": 3136, "node_type": 16, "src": { "line": 1574, @@ -65024,7 +66071,7 @@ "start": 57249, "end": 57251, "length": 3, - "parent_index": 3134 + "parent_index": 3135 }, "name": "msg", "type_description": { @@ -65033,17 +66080,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { - "id": 3136, + "id": 3137, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65055,7 +66104,7 @@ "start": 57262, "end": 57273, "length": 12, - "parent_index": 3133 + "parent_index": 3134 }, "member_location": { "line": 1574, @@ -65063,10 +66112,10 @@ "start": 57268, "end": 57273, "length": 6, - "parent_index": 3136 + "parent_index": 3137 }, "expression": { - "id": 3137, + "id": 3138, "node_type": 16, "src": { "line": 1574, @@ -65074,23 +66123,25 @@ "start": 57262, "end": 57266, "length": 5, - "parent_index": 3136 + "parent_index": 3137 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "ethFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.ethFee" }, "type_description": { "type_identifier": "t_bool", @@ -65098,7 +66149,7 @@ } }, { - "id": 3138, + "id": 3139, "node_type": 17, "kind": 50, "value": "FEE NOT MET", @@ -65109,7 +66160,7 @@ "start": 57276, "end": 57288, "length": 13, - "parent_index": 3131 + "parent_index": 3132 }, "type_description": { "type_identifier": "t_string_literal", @@ -65123,11 +66174,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"FEE NOT MET\"" } ], "expression": { - "id": 3132, + "id": 3133, "node_type": 16, "src": { "line": 1574, @@ -65135,7 +66187,7 @@ "start": 57241, "end": 57247, "length": 7, - "parent_index": 3131 + "parent_index": 3132 }, "name": "require", "type_description": { @@ -65144,7 +66196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -65152,7 +66205,7 @@ } }, { - "id": 3139, + "id": 3140, "node_type": 24, "kind": 24, "src": { @@ -65161,17 +66214,17 @@ "start": 57300, "end": 57330, "length": 31, - "parent_index": 3090 + "parent_index": 3091 }, "argument_types": [ { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" } ], "arguments": [ { - "id": 3142, + "id": 3143, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65183,7 +66236,7 @@ "start": 57318, "end": 57329, "length": 12, - "parent_index": 3139 + "parent_index": 3140 }, "member_location": { "line": 1575, @@ -65191,10 +66244,10 @@ "start": 57324, "end": 57329, "length": 6, - "parent_index": 3142 + "parent_index": 3143 }, "expression": { - "id": 3143, + "id": 3144, "node_type": 16, "src": { "line": 1575, @@ -65202,27 +66255,29 @@ "start": 57318, "end": 57322, "length": 5, - "parent_index": 3142 + "parent_index": 3143 }, "name": "gFees", "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" }, "overloaded_declarations": [], - "referenced_declaration": 2081, - "is_pure": false + "referenced_declaration": 2082, + "is_pure": false, + "text": "gFees" }, "member_name": "ethFee", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "type_identifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "type_string": "struct KnoxLpLocker.FeeStruct" - } + }, + "text": "gFees.ethFee" } ], "expression": { - "id": 3140, + "id": 3141, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65234,7 +66289,7 @@ "start": 57300, "end": 57316, "length": 17, - "parent_index": 3139 + "parent_index": 3140 }, "member_location": { "line": 1575, @@ -65242,10 +66297,10 @@ "start": 57308, "end": 57316, "length": 9, - "parent_index": 3140 + "parent_index": 3141 }, "expression": { - "id": 3141, + "id": 3142, "node_type": 16, "src": { "line": 1575, @@ -65253,7 +66308,7 @@ "start": 57300, "end": 57306, "length": 7, - "parent_index": 3140 + "parent_index": 3141 }, "name": "devaddr", "type_description": { @@ -65261,23 +66316,25 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2089, - "is_pure": false + "referenced_declaration": 2090, + "is_pure": false, + "text": "devaddr" }, "member_name": "sendValue", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "devaddr.sendValue" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "type_identifier": "t_function_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "type_string": "function(struct KnoxLpLocker.FeeStruct)" } }, { - "id": 3144, + "id": 3145, "node_type": 27, "src": { "line": 1577, @@ -65285,10 +66342,10 @@ "start": 57342, "end": 57387, "length": 46, - "parent_index": 3090 + "parent_index": 3091 }, "expression": { - "id": 3145, + "id": 3146, "node_type": 27, "src": { "line": 1577, @@ -65296,11 +66353,11 @@ "start": 57342, "end": 57386, "length": 45, - "parent_index": 3144 + "parent_index": 3145 }, "operator": 11, "left_expression": { - "id": 3146, + "id": 3147, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65312,7 +66369,7 @@ "start": 57342, "end": 57356, "length": 15, - "parent_index": 3145 + "parent_index": 3146 }, "member_location": { "line": 1577, @@ -65320,10 +66377,10 @@ "start": 57351, "end": 57356, "length": 6, - "parent_index": 3146 + "parent_index": 3147 }, "expression": { - "id": 3147, + "id": 3148, "node_type": 16, "src": { "line": 1577, @@ -65331,7 +66388,7 @@ "start": 57342, "end": 57349, "length": 8, - "parent_index": 3146 + "parent_index": 3147 }, "name": "userLock", "type_description": { @@ -65339,18 +66396,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3109, - "is_pure": false + "referenced_declaration": 3110, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 3148, + "id": 3149, "is_constant": false, "is_pure": false, "node_type": 19, @@ -65360,11 +66419,11 @@ "start": 57360, "end": 57386, "length": 27, - "parent_index": 3145 + "parent_index": 3146 }, "operator": 2, "left_expression": { - "id": 3149, + "id": 3150, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65376,7 +66435,7 @@ "start": 57360, "end": 57374, "length": 15, - "parent_index": 3148 + "parent_index": 3149 }, "member_location": { "line": 1577, @@ -65384,10 +66443,10 @@ "start": 57369, "end": 57374, "length": 6, - "parent_index": 3149 + "parent_index": 3150 }, "expression": { - "id": 3150, + "id": 3151, "node_type": 16, "src": { "line": 1577, @@ -65395,7 +66454,7 @@ "start": 57360, "end": 57367, "length": 8, - "parent_index": 3149 + "parent_index": 3150 }, "name": "userLock", "type_description": { @@ -65403,18 +66462,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3109, - "is_pure": false + "referenced_declaration": 3110, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 3151, + "id": 3152, "node_type": 60, "src": { "line": 1577, @@ -65422,13 +66483,13 @@ "start": 57378, "end": 57386, "length": 9, - "parent_index": 3148 + "parent_index": 3149 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3152, + "id": 3153, "node_type": 16, "src": { "line": 1577, @@ -65436,7 +66497,7 @@ "start": 57379, "end": 57385, "length": 7, - "parent_index": 3151 + "parent_index": 3152 }, "name": "_amount", "type_description": { @@ -65444,8 +66505,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3152, - "is_pure": false + "referenced_declaration": 3153, + "is_pure": false, + "text": "_amount" } ], "type_description": { @@ -65466,10 +66528,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount=userLock.amount-(_amount);" }, { - "id": 3153, + "id": 3154, "node_type": 44, "src": { "line": 1579, @@ -65477,25 +66540,25 @@ "start": 57398, "end": 57425, "length": 28, - "parent_index": 3090 + "parent_index": 3091 }, "assignments": [ - 3154 + 3155 ], "declarations": [ { - "id": 3154, + "id": 3155, "state_mutability": 1, "name": "token_lock", "node_type": 44, - "scope": 3090, + "scope": 3091, "src": { "line": 1579, "column": 8, "start": 57398, "end": 57424, "length": 27, - "parent_index": 3153 + "parent_index": 3154 }, "name_location": { "line": 1579, @@ -65503,12 +66566,12 @@ "start": 57415, "end": 57424, "length": 10, - "parent_index": 3154 + "parent_index": 3155 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 3155, + "id": 3156, "node_type": 69, "src": { "line": 1579, @@ -65516,10 +66579,10 @@ "start": 57398, "end": 57406, "length": 9, - "parent_index": 3154 + "parent_index": 3155 }, "path_node": { - "id": 3156, + "id": 3157, "name": "TokenLock", "node_type": 52, "referenced_declaration": 2031, @@ -65529,7 +66592,7 @@ "start": 57398, "end": 57406, "length": 9, - "parent_index": 3155 + "parent_index": 3156 }, "name_location": { "line": 1579, @@ -65537,7 +66600,7 @@ "start": 57398, "end": 57406, "length": 9, - "parent_index": 3155 + "parent_index": 3156 } }, "referenced_declaration": 2031, @@ -65551,7 +66614,7 @@ ] }, { - "id": 3157, + "id": 3158, "node_type": 27, "src": { "line": 1580, @@ -65559,10 +66622,10 @@ "start": 57435, "end": 57474, "length": 40, - "parent_index": 3090 + "parent_index": 3091 }, "expression": { - "id": 3158, + "id": 3159, "node_type": 27, "src": { "line": 1580, @@ -65570,11 +66633,11 @@ "start": 57435, "end": 57473, "length": 39, - "parent_index": 3157 + "parent_index": 3158 }, "operator": 11, "left_expression": { - "id": 3159, + "id": 3160, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65586,7 +66649,7 @@ "start": 57435, "end": 57453, "length": 19, - "parent_index": 3158 + "parent_index": 3159 }, "member_location": { "line": 1580, @@ -65594,10 +66657,10 @@ "start": 57446, "end": 57453, "length": 8, - "parent_index": 3159 + "parent_index": 3160 }, "expression": { - "id": 3160, + "id": 3161, "node_type": 16, "src": { "line": 1580, @@ -65605,7 +66668,7 @@ "start": 57435, "end": 57444, "length": 10, - "parent_index": 3159 + "parent_index": 3160 }, "name": "token_lock", "type_description": { @@ -65613,18 +66676,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3153, - "is_pure": false + "referenced_declaration": 3154, + "is_pure": false, + "text": "token_lock" }, "member_name": "lockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockDate" }, "right_expression": { - "id": 3161, + "id": 3162, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65636,7 +66701,7 @@ "start": 57457, "end": 57473, "length": 17, - "parent_index": 3158 + "parent_index": 3159 }, "member_location": { "line": 1580, @@ -65644,10 +66709,10 @@ "start": 57466, "end": 57473, "length": 8, - "parent_index": 3161 + "parent_index": 3162 }, "expression": { - "id": 3162, + "id": 3163, "node_type": 16, "src": { "line": 1580, @@ -65655,7 +66720,7 @@ "start": 57457, "end": 57464, "length": 8, - "parent_index": 3161 + "parent_index": 3162 }, "name": "userLock", "type_description": { @@ -65663,15 +66728,17 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3109, - "is_pure": false + "referenced_declaration": 3110, + "is_pure": false, + "text": "userLock" }, "member_name": "lockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.lockDate" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -65681,10 +66748,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockDate=userLock.lockDate;" }, { - "id": 3163, + "id": 3164, "node_type": 27, "src": { "line": 1581, @@ -65692,10 +66760,10 @@ "start": 57484, "end": 57511, "length": 28, - "parent_index": 3090 + "parent_index": 3091 }, "expression": { - "id": 3164, + "id": 3165, "node_type": 27, "src": { "line": 1581, @@ -65703,11 +66771,11 @@ "start": 57484, "end": 57510, "length": 27, - "parent_index": 3163 + "parent_index": 3164 }, "operator": 11, "left_expression": { - "id": 3165, + "id": 3166, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65719,7 +66787,7 @@ "start": 57484, "end": 57500, "length": 17, - "parent_index": 3164 + "parent_index": 3165 }, "member_location": { "line": 1581, @@ -65727,10 +66795,10 @@ "start": 57495, "end": 57500, "length": 6, - "parent_index": 3165 + "parent_index": 3166 }, "expression": { - "id": 3166, + "id": 3167, "node_type": 16, "src": { "line": 1581, @@ -65738,7 +66806,7 @@ "start": 57484, "end": 57493, "length": 10, - "parent_index": 3165 + "parent_index": 3166 }, "name": "token_lock", "type_description": { @@ -65746,18 +66814,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3153, - "is_pure": false + "referenced_declaration": 3154, + "is_pure": false, + "text": "token_lock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.amount" }, "right_expression": { - "id": 3167, + "id": 3168, "node_type": 16, "src": { "line": 1581, @@ -65765,7 +66835,7 @@ "start": 57504, "end": 57510, "length": 7, - "parent_index": 3164 + "parent_index": 3165 }, "name": "_amount", "type_description": { @@ -65773,8 +66843,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3167, - "is_pure": false + "referenced_declaration": 3168, + "is_pure": false, + "text": "_amount" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -65784,10 +66855,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.amount=_amount;" }, { - "id": 3168, + "id": 3169, "node_type": 27, "src": { "line": 1582, @@ -65795,10 +66867,10 @@ "start": 57521, "end": 57555, "length": 35, - "parent_index": 3090 + "parent_index": 3091 }, "expression": { - "id": 3169, + "id": 3170, "node_type": 27, "src": { "line": 1582, @@ -65806,11 +66878,11 @@ "start": 57521, "end": 57554, "length": 34, - "parent_index": 3168 + "parent_index": 3169 }, "operator": 11, "left_expression": { - "id": 3170, + "id": 3171, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65822,7 +66894,7 @@ "start": 57521, "end": 57544, "length": 24, - "parent_index": 3169 + "parent_index": 3170 }, "member_location": { "line": 1582, @@ -65830,10 +66902,10 @@ "start": 57532, "end": 57544, "length": 13, - "parent_index": 3170 + "parent_index": 3171 }, "expression": { - "id": 3171, + "id": 3172, "node_type": 16, "src": { "line": 1582, @@ -65841,7 +66913,7 @@ "start": 57521, "end": 57530, "length": 10, - "parent_index": 3170 + "parent_index": 3171 }, "name": "token_lock", "type_description": { @@ -65849,18 +66921,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3153, - "is_pure": false + "referenced_declaration": 3154, + "is_pure": false, + "text": "token_lock" }, "member_name": "initialAmount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.initialAmount" }, "right_expression": { - "id": 3172, + "id": 3173, "node_type": 16, "src": { "line": 1582, @@ -65868,7 +66942,7 @@ "start": 57548, "end": 57554, "length": 7, - "parent_index": 3169 + "parent_index": 3170 }, "name": "_amount", "type_description": { @@ -65876,8 +66950,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3172, - "is_pure": false + "referenced_declaration": 3173, + "is_pure": false, + "text": "_amount" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -65887,10 +66962,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.initialAmount=_amount;" }, { - "id": 3173, + "id": 3174, "node_type": 27, "src": { "line": 1583, @@ -65898,10 +66974,10 @@ "start": 57565, "end": 57608, "length": 44, - "parent_index": 3090 + "parent_index": 3091 }, "expression": { - "id": 3174, + "id": 3175, "node_type": 27, "src": { "line": 1583, @@ -65909,11 +66985,11 @@ "start": 57565, "end": 57607, "length": 43, - "parent_index": 3173 + "parent_index": 3174 }, "operator": 11, "left_expression": { - "id": 3175, + "id": 3176, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65925,7 +67001,7 @@ "start": 57565, "end": 57585, "length": 21, - "parent_index": 3174 + "parent_index": 3175 }, "member_location": { "line": 1583, @@ -65933,10 +67009,10 @@ "start": 57576, "end": 57585, "length": 10, - "parent_index": 3175 + "parent_index": 3176 }, "expression": { - "id": 3176, + "id": 3177, "node_type": 16, "src": { "line": 1583, @@ -65944,7 +67020,7 @@ "start": 57565, "end": 57574, "length": 10, - "parent_index": 3175 + "parent_index": 3176 }, "name": "token_lock", "type_description": { @@ -65952,18 +67028,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3153, - "is_pure": false + "referenced_declaration": 3154, + "is_pure": false, + "text": "token_lock" }, "member_name": "unlockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.unlockDate" }, "right_expression": { - "id": 3177, + "id": 3178, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -65975,7 +67053,7 @@ "start": 57589, "end": 57607, "length": 19, - "parent_index": 3174 + "parent_index": 3175 }, "member_location": { "line": 1583, @@ -65983,10 +67061,10 @@ "start": 57598, "end": 57607, "length": 10, - "parent_index": 3177 + "parent_index": 3178 }, "expression": { - "id": 3178, + "id": 3179, "node_type": 16, "src": { "line": 1583, @@ -65994,7 +67072,7 @@ "start": 57589, "end": 57596, "length": 8, - "parent_index": 3177 + "parent_index": 3178 }, "name": "userLock", "type_description": { @@ -66002,15 +67080,17 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3109, - "is_pure": false + "referenced_declaration": 3110, + "is_pure": false, + "text": "userLock" }, "member_name": "unlockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.unlockDate" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -66020,10 +67100,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.unlockDate=userLock.unlockDate;" }, { - "id": 3179, + "id": 3180, "node_type": 27, "src": { "line": 1584, @@ -66031,10 +67112,10 @@ "start": 57618, "end": 57665, "length": 48, - "parent_index": 3090 + "parent_index": 3091 }, "expression": { - "id": 3180, + "id": 3181, "node_type": 27, "src": { "line": 1584, @@ -66042,11 +67123,11 @@ "start": 57618, "end": 57664, "length": 47, - "parent_index": 3179 + "parent_index": 3180 }, "operator": 11, "left_expression": { - "id": 3181, + "id": 3182, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -66058,7 +67139,7 @@ "start": 57618, "end": 57634, "length": 17, - "parent_index": 3180 + "parent_index": 3181 }, "member_location": { "line": 1584, @@ -66066,10 +67147,10 @@ "start": 57629, "end": 57634, "length": 6, - "parent_index": 3181 + "parent_index": 3182 }, "expression": { - "id": 3182, + "id": 3183, "node_type": 16, "src": { "line": 1584, @@ -66077,7 +67158,7 @@ "start": 57618, "end": 57627, "length": 10, - "parent_index": 3181 + "parent_index": 3182 }, "name": "token_lock", "type_description": { @@ -66085,18 +67166,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3153, - "is_pure": false + "referenced_declaration": 3154, + "is_pure": false, + "text": "token_lock" }, "member_name": "lockID", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockID" }, "right_expression": { - "id": 3183, + "id": 3184, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -66108,7 +67191,7 @@ "start": 57638, "end": 57664, "length": 27, - "parent_index": 3180 + "parent_index": 3181 }, "member_location": { "line": 1584, @@ -66116,10 +67199,10 @@ "start": 57659, "end": 57664, "length": 6, - "parent_index": 3183 + "parent_index": 3184 }, "expression": { - "id": 3184, + "id": 3185, "node_type": 22, "src": { "line": 1584, @@ -66127,10 +67210,10 @@ "start": 57638, "end": 57657, "length": 20, - "parent_index": 3183 + "parent_index": 3184 }, "index_expression": { - "id": 3185, + "id": 3186, "node_type": 16, "src": { "line": 1584, @@ -66138,7 +67221,7 @@ "start": 57638, "end": 57647, "length": 10, - "parent_index": 3184 + "parent_index": 3185 }, "name": "tokenLocks", "type_description": { @@ -66146,11 +67229,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 3186, + "id": 3187, "node_type": 16, "src": { "line": 1584, @@ -66158,7 +67242,7 @@ "start": 57649, "end": 57656, "length": 8, - "parent_index": 3184 + "parent_index": 3185 }, "name": "_lpToken", "type_description": { @@ -66166,8 +67250,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3186, - "is_pure": false + "referenced_declaration": 3187, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -66189,7 +67274,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_TokenLock_array$]$_t_address]$", "type_string": "index[mapping(address=\u003eTokenLock[]):address]" - } + }, + "text": "tokenLocks[_lpToken].length" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -66199,10 +67285,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockID=tokenLocks[_lpToken].length;" }, { - "id": 3187, + "id": 3188, "node_type": 27, "src": { "line": 1585, @@ -66210,10 +67297,10 @@ "start": 57675, "end": 57704, "length": 30, - "parent_index": 3090 + "parent_index": 3091 }, "expression": { - "id": 3188, + "id": 3189, "node_type": 27, "src": { "line": 1585, @@ -66221,11 +67308,11 @@ "start": 57675, "end": 57703, "length": 29, - "parent_index": 3187 + "parent_index": 3188 }, "operator": 11, "left_expression": { - "id": 3189, + "id": 3190, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -66237,7 +67324,7 @@ "start": 57675, "end": 57690, "length": 16, - "parent_index": 3188 + "parent_index": 3189 }, "member_location": { "line": 1585, @@ -66245,10 +67332,10 @@ "start": 57686, "end": 57690, "length": 5, - "parent_index": 3189 + "parent_index": 3190 }, "expression": { - "id": 3190, + "id": 3191, "node_type": 16, "src": { "line": 1585, @@ -66256,7 +67343,7 @@ "start": 57675, "end": 57684, "length": 10, - "parent_index": 3189 + "parent_index": 3190 }, "name": "token_lock", "type_description": { @@ -66264,18 +67351,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3153, - "is_pure": false + "referenced_declaration": 3154, + "is_pure": false, + "text": "token_lock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.owner" }, "right_expression": { - "id": 3191, + "id": 3192, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -66287,7 +67376,7 @@ "start": 57694, "end": 57703, "length": 10, - "parent_index": 3188 + "parent_index": 3189 }, "member_location": { "line": 1585, @@ -66295,10 +67384,10 @@ "start": 57698, "end": 57703, "length": 6, - "parent_index": 3191 + "parent_index": 3192 }, "expression": { - "id": 3192, + "id": 3193, "node_type": 16, "src": { "line": 1585, @@ -66306,7 +67395,7 @@ "start": 57694, "end": 57696, "length": 3, - "parent_index": 3191 + "parent_index": 3192 }, "name": "msg", "type_description": { @@ -66315,14 +67404,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -66332,10 +67423,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.owner=msg.sender;" }, { - "id": 3193, + "id": 3194, "node_type": 24, "kind": 24, "src": { @@ -66344,7 +67436,7 @@ "start": 57760, "end": 57796, "length": 37, - "parent_index": 3090 + "parent_index": 3091 }, "argument_types": [ { @@ -66354,7 +67446,7 @@ ], "arguments": [ { - "id": 3198, + "id": 3199, "node_type": 16, "src": { "line": 1588, @@ -66362,7 +67454,7 @@ "start": 57786, "end": 57795, "length": 10, - "parent_index": 3193 + "parent_index": 3194 }, "name": "token_lock", "type_description": { @@ -66370,12 +67462,13 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3153, - "is_pure": false + "referenced_declaration": 3154, + "is_pure": false, + "text": "token_lock" } ], "expression": { - "id": 3194, + "id": 3195, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -66387,7 +67480,7 @@ "start": 57760, "end": 57784, "length": 25, - "parent_index": 3193 + "parent_index": 3194 }, "member_location": { "line": 1588, @@ -66395,10 +67488,10 @@ "start": 57781, "end": 57784, "length": 4, - "parent_index": 3194 + "parent_index": 3195 }, "expression": { - "id": 3195, + "id": 3196, "node_type": 22, "src": { "line": 1588, @@ -66406,10 +67499,10 @@ "start": 57760, "end": 57779, "length": 20, - "parent_index": 3194 + "parent_index": 3195 }, "index_expression": { - "id": 3196, + "id": 3197, "node_type": 16, "src": { "line": 1588, @@ -66417,7 +67510,7 @@ "start": 57760, "end": 57769, "length": 10, - "parent_index": 3195 + "parent_index": 3196 }, "name": "tokenLocks", "type_description": { @@ -66425,11 +67518,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 3197, + "id": 3198, "node_type": 16, "src": { "line": 1588, @@ -66437,7 +67531,7 @@ "start": 57771, "end": 57778, "length": 8, - "parent_index": 3195 + "parent_index": 3196 }, "name": "_lpToken", "type_description": { @@ -66445,8 +67539,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3197, - "is_pure": false + "referenced_declaration": 3198, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -66468,7 +67563,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_TokenLock_array$]$_t_address]$", "type_string": "index[mapping(address=\u003eTokenLock[]):address]" - } + }, + "text": "tokenLocks[_lpToken].push" }, "type_description": { "type_identifier": "t_function_$_t_struct$_KnoxLpLocker_TokenLock_$2031$", @@ -66476,7 +67572,7 @@ } }, { - "id": 3199, + "id": 3200, "node_type": 44, "src": { "line": 1591, @@ -66484,25 +67580,25 @@ "start": 57848, "end": 57889, "length": 42, - "parent_index": 3090 + "parent_index": 3091 }, "assignments": [ - 3200 + 3201 ], "declarations": [ { - "id": 3200, + "id": 3201, "state_mutability": 1, "name": "user", "node_type": 44, - "scope": 3090, + "scope": 3091, "src": { "line": 1591, "column": 8, "start": 57848, "end": 57868, "length": 21, - "parent_index": 3199 + "parent_index": 3200 }, "name_location": { "line": 1591, @@ -66510,12 +67606,12 @@ "start": 57865, "end": 57868, "length": 4, - "parent_index": 3200 + "parent_index": 3201 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3201, + "id": 3202, "node_type": 69, "src": { "line": 1591, @@ -66523,10 +67619,10 @@ "start": 57848, "end": 57855, "length": 8, - "parent_index": 3200 + "parent_index": 3201 }, "path_node": { - "id": 3202, + "id": 3203, "name": "UserInfo", "node_type": 52, "referenced_declaration": 2022, @@ -66536,7 +67632,7 @@ "start": 57848, "end": 57855, "length": 8, - "parent_index": 3201 + "parent_index": 3202 }, "name_location": { "line": 1591, @@ -66544,7 +67640,7 @@ "start": 57848, "end": 57855, "length": 8, - "parent_index": 3201 + "parent_index": 3202 } }, "referenced_declaration": 2022, @@ -66557,7 +67653,7 @@ } ], "initial_value": { - "id": 3203, + "id": 3204, "node_type": 22, "src": { "line": 1591, @@ -66565,10 +67661,10 @@ "start": 57872, "end": 57888, "length": 17, - "parent_index": 3199 + "parent_index": 3200 }, "index_expression": { - "id": 3204, + "id": 3205, "node_type": 16, "src": { "line": 1591, @@ -66576,19 +67672,20 @@ "start": 57872, "end": 57876, "length": 5, - "parent_index": 3203 + "parent_index": 3204 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3205, + "id": 3206, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -66600,7 +67697,7 @@ "start": 57878, "end": 57887, "length": 10, - "parent_index": 3199 + "parent_index": 3200 }, "member_location": { "line": 1591, @@ -66608,10 +67705,10 @@ "start": 57882, "end": 57887, "length": 6, - "parent_index": 3205 + "parent_index": 3206 }, "expression": { - "id": 3206, + "id": 3207, "node_type": 16, "src": { "line": 1591, @@ -66619,7 +67716,7 @@ "start": 57878, "end": 57880, "length": 3, - "parent_index": 3205 + "parent_index": 3206 }, "name": "msg", "type_description": { @@ -66628,18 +67725,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -66648,13 +67747,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } } }, { - "id": 3207, + "id": 3208, "node_type": 44, "src": { "line": 1592, @@ -66662,25 +67761,25 @@ "start": 57899, "end": 57958, "length": 60, - "parent_index": 3090 + "parent_index": 3091 }, "assignments": [ - 3208 + 3209 ], "declarations": [ { - "id": 3208, + "id": 3209, "state_mutability": 1, "name": "user_locks", "node_type": 44, - "scope": 3090, + "scope": 3091, "src": { "line": 1592, "column": 8, "start": 57899, "end": 57926, "length": 28, - "parent_index": 3207 + "parent_index": 3208 }, "name_location": { "line": 1592, @@ -66688,12 +67787,12 @@ "start": 57917, "end": 57926, "length": 10, - "parent_index": 3208 + "parent_index": 3209 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3209, + "id": 3210, "node_type": 16, "src": { "line": 1592, @@ -66701,7 +67800,7 @@ "start": 57899, "end": 57905, "length": 7, - "parent_index": 3208 + "parent_index": 3209 }, "name": "uint256", "referenced_declaration": 0, @@ -66714,7 +67813,7 @@ } ], "initial_value": { - "id": 3210, + "id": 3211, "node_type": 22, "src": { "line": 1592, @@ -66722,10 +67821,10 @@ "start": 57930, "end": 57957, "length": 28, - "parent_index": 3207 + "parent_index": 3208 }, "index_expression": { - "id": 3211, + "id": 3212, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -66737,7 +67836,7 @@ "start": 57930, "end": 57947, "length": 18, - "parent_index": 3207 + "parent_index": 3208 }, "member_location": { "line": 1592, @@ -66745,10 +67844,10 @@ "start": 57935, "end": 57947, "length": 13, - "parent_index": 3211 + "parent_index": 3212 }, "expression": { - "id": 3212, + "id": 3213, "node_type": 16, "src": { "line": 1592, @@ -66756,7 +67855,7 @@ "start": 57930, "end": 57933, "length": 4, - "parent_index": 3211 + "parent_index": 3212 }, "name": "user", "type_description": { @@ -66764,18 +67863,20 @@ "type_string": "struct KnoxLpLocker.UserInfo" }, "overloaded_declarations": [], - "referenced_declaration": 3199, - "is_pure": false + "referenced_declaration": 3200, + "is_pure": false, + "text": "user" }, "member_name": "locksForToken", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.locksForToken" }, "base_expression": { - "id": 3213, + "id": 3214, "node_type": 16, "src": { "line": 1592, @@ -66783,7 +67884,7 @@ "start": 57949, "end": 57956, "length": 8, - "parent_index": 3210 + "parent_index": 3211 }, "name": "_lpToken", "type_description": { @@ -66791,8 +67892,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3213, - "is_pure": false + "referenced_declaration": 3214, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -66811,7 +67913,7 @@ } }, { - "id": 3214, + "id": 3215, "node_type": 24, "kind": 24, "src": { @@ -66820,7 +67922,7 @@ "start": 57968, "end": 58001, "length": 34, - "parent_index": 3090 + "parent_index": 3091 }, "argument_types": [ { @@ -66830,7 +67932,7 @@ ], "arguments": [ { - "id": 3217, + "id": 3218, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -66842,7 +67944,7 @@ "start": 57984, "end": 58000, "length": 17, - "parent_index": 3214 + "parent_index": 3215 }, "member_location": { "line": 1593, @@ -66850,10 +67952,10 @@ "start": 57995, "end": 58000, "length": 6, - "parent_index": 3217 + "parent_index": 3218 }, "expression": { - "id": 3218, + "id": 3219, "node_type": 16, "src": { "line": 1593, @@ -66861,7 +67963,7 @@ "start": 57984, "end": 57993, "length": 10, - "parent_index": 3217 + "parent_index": 3218 }, "name": "token_lock", "type_description": { @@ -66869,19 +67971,21 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3153, - "is_pure": false + "referenced_declaration": 3154, + "is_pure": false, + "text": "token_lock" }, "member_name": "lockID", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "token_lock.lockID" } ], "expression": { - "id": 3215, + "id": 3216, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -66893,7 +67997,7 @@ "start": 57968, "end": 57982, "length": 15, - "parent_index": 3214 + "parent_index": 3215 }, "member_location": { "line": 1593, @@ -66901,10 +68005,10 @@ "start": 57979, "end": 57982, "length": 4, - "parent_index": 3215 + "parent_index": 3216 }, "expression": { - "id": 3216, + "id": 3217, "node_type": 16, "src": { "line": 1593, @@ -66912,7 +68016,7 @@ "start": 57968, "end": 57977, "length": 10, - "parent_index": 3215 + "parent_index": 3216 }, "name": "user_locks", "type_description": { @@ -66920,15 +68024,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3207, - "is_pure": false + "referenced_declaration": 3208, + "is_pure": false, + "text": "user_locks" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "user_locks.push" }, "type_description": { "type_identifier": "t_function_$_t_struct$_KnoxLpLocker_TokenLock_$2031$", @@ -66936,7 +68042,7 @@ } }, { - "id": 3219, + "id": 3220, "node_type": 47, "src": { "line": 1595, @@ -66944,11 +68050,11 @@ "start": 58013, "end": 58024, "length": 12, - "parent_index": 3075 + "parent_index": 3076 }, - "function_return_parameters": 3075, + "function_return_parameters": 3076, "expression": { - "id": 3220, + "id": 3221, "node_type": 17, "kind": 61, "value": "true", @@ -66959,7 +68065,7 @@ "start": 58020, "end": 58023, "length": 4, - "parent_index": 3219 + "parent_index": 3220 }, "type_description": { "type_identifier": "t_bool", @@ -66967,7 +68073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -66978,7 +68085,7 @@ "virtual": false, "modifiers": [ { - "id": 3085, + "id": 3086, "name": "nonReentrant", "node_type": 72, "kind": 72, @@ -66988,12 +68095,12 @@ "start": 56859, "end": 56870, "length": 12, - "parent_index": 3075 + "parent_index": 3076 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3086, + "id": 3087, "name": "nonReentrant", "node_type": 0, "src": { @@ -67002,14 +68109,14 @@ "start": 56859, "end": 56870, "length": 12, - "parent_index": 3085 + "parent_index": 3086 } } } ], "overrides": [], "parameters": { - "id": 3076, + "id": 3077, "node_type": 43, "src": { "line": 1561, @@ -67017,11 +68124,11 @@ "start": 56745, "end": 56834, "length": 90, - "parent_index": 3075 + "parent_index": 3076 }, "parameters": [ { - "id": 3077, + "id": 3078, "node_type": 44, "src": { "line": 1561, @@ -67029,12 +68136,12 @@ "start": 56745, "end": 56760, "length": 16, - "parent_index": 3076 + "parent_index": 3077 }, - "scope": 3075, + "scope": 3076, "name": "_lpToken", "type_name": { - "id": 3078, + "id": 3079, "node_type": 30, "src": { "line": 1561, @@ -67042,7 +68149,7 @@ "start": 56745, "end": 56751, "length": 7, - "parent_index": 3077 + "parent_index": 3078 }, "name": "address", "state_mutability": 4, @@ -67061,7 +68168,7 @@ } }, { - "id": 3079, + "id": 3080, "node_type": 44, "src": { "line": 1562, @@ -67069,12 +68176,12 @@ "start": 56771, "end": 56784, "length": 14, - "parent_index": 3076 + "parent_index": 3077 }, - "scope": 3075, + "scope": 3076, "name": "_index", "type_name": { - "id": 3080, + "id": 3081, "node_type": 30, "src": { "line": 1562, @@ -67082,7 +68189,7 @@ "start": 56771, "end": 56777, "length": 7, - "parent_index": 3079 + "parent_index": 3080 }, "name": "uint256", "referenced_declaration": 0, @@ -67100,7 +68207,7 @@ } }, { - "id": 3081, + "id": 3082, "node_type": 44, "src": { "line": 1563, @@ -67108,12 +68215,12 @@ "start": 56795, "end": 56809, "length": 15, - "parent_index": 3076 + "parent_index": 3077 }, - "scope": 3075, + "scope": 3076, "name": "_lockID", "type_name": { - "id": 3082, + "id": 3083, "node_type": 30, "src": { "line": 1563, @@ -67121,7 +68228,7 @@ "start": 56795, "end": 56801, "length": 7, - "parent_index": 3081 + "parent_index": 3082 }, "name": "uint256", "referenced_declaration": 0, @@ -67139,7 +68246,7 @@ } }, { - "id": 3083, + "id": 3084, "node_type": 44, "src": { "line": 1564, @@ -67147,12 +68254,12 @@ "start": 56820, "end": 56834, "length": 15, - "parent_index": 3076 + "parent_index": 3077 }, - "scope": 3075, + "scope": 3076, "name": "_amount", "type_name": { - "id": 3084, + "id": 3085, "node_type": 30, "src": { "line": 1564, @@ -67160,7 +68267,7 @@ "start": 56820, "end": 56826, "length": 7, - "parent_index": 3083 + "parent_index": 3084 }, "name": "uint256", "referenced_declaration": 0, @@ -67198,7 +68305,7 @@ ] }, "return_parameters": { - "id": 3087, + "id": 3088, "node_type": 43, "src": { "line": 1565, @@ -67206,11 +68313,11 @@ "start": 56881, "end": 56884, "length": 4, - "parent_index": 3075 + "parent_index": 3076 }, "parameters": [ { - "id": 3088, + "id": 3089, "node_type": 44, "src": { "line": 1565, @@ -67218,12 +68325,12 @@ "start": 56881, "end": 56884, "length": 4, - "parent_index": 3087 + "parent_index": 3088 }, - "scope": 3075, + "scope": 3076, "name": "", "type_name": { - "id": 3089, + "id": 3090, "node_type": 30, "src": { "line": 1565, @@ -67231,7 +68338,7 @@ "start": 56881, "end": 56884, "length": 4, - "parent_index": 3088 + "parent_index": 3089 }, "name": "bool", "referenced_declaration": 0, @@ -67256,16 +68363,17 @@ } ] }, - "signature_raw": "splitLock(address, uint256, uint256, uint256)", - "signature": "1ac991b7", + "signature_raw": "splitLock(address,uint256,uint256,uint256)", + "signature": "582d5adc", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functionsplitLock(address_lpToken,uint256_index,uint256_lockID,uint256_amount)externalpayablenonReentrantreturns(bool){require(_amount\u003e0,\"ZERO AMOUNT\");uint256lockID=users[msg.sender].locksForToken[_lpToken][_index];TokenLockstorageuserLock=tokenLocks[_lpToken][lockID];require(lockID==_lockID\u0026\u0026userLock.owner==msg.sender,\"LOCK MISMATCH\");require(msg.value==gFees.ethFee,\"FEE NOT MET\");devaddr.sendValue(gFees.ethFee);userLock.amount=userLock.amount-(_amount);TokenLockmemorytoken_lock;token_lock.lockDate=userLock.lockDate;token_lock.amount=_amount;token_lock.initialAmount=_amount;token_lock.unlockDate=userLock.unlockDate;token_lock.lockID=tokenLocks[_lpToken].length;token_lock.owner=msg.sender;tokenLocks[_lpToken].push(token_lock);UserInfostorageuser=users[msg.sender];uint256[]storageuser_locks=user.locksForToken[_lpToken];user_locks.push(token_lock.lockID);returntrue;}" }, { - "id": 3222, + "id": 3223, "name": "transferLockOwnership", "node_type": 42, "kind": 41, @@ -67283,10 +68391,10 @@ "start": 58191, "end": 58211, "length": 21, - "parent_index": 3222 + "parent_index": 3223 }, "body": { - "id": 3235, + "id": 3236, "node_type": 46, "kind": 0, "src": { @@ -67295,12 +68403,12 @@ "start": 58353, "end": 59426, "length": 1074, - "parent_index": 3222 + "parent_index": 3223 }, "implemented": true, "statements": [ { - "id": 3236, + "id": 3237, "node_type": 24, "kind": 24, "src": { @@ -67309,7 +68417,7 @@ "start": 58363, "end": 58403, "length": 41, - "parent_index": 3235 + "parent_index": 3236 }, "argument_types": [ { @@ -67323,7 +68431,7 @@ ], "arguments": [ { - "id": 3238, + "id": 3239, "is_constant": false, "is_pure": false, "node_type": 19, @@ -67333,11 +68441,11 @@ "start": 58371, "end": 58393, "length": 23, - "parent_index": 3236 + "parent_index": 3237 }, "operator": 12, "left_expression": { - "id": 3239, + "id": 3240, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -67349,7 +68457,7 @@ "start": 58371, "end": 58380, "length": 10, - "parent_index": 3238 + "parent_index": 3239 }, "member_location": { "line": 1608, @@ -67357,10 +68465,10 @@ "start": 58375, "end": 58380, "length": 6, - "parent_index": 3239 + "parent_index": 3240 }, "expression": { - "id": 3240, + "id": 3241, "node_type": 16, "src": { "line": 1608, @@ -67368,7 +68476,7 @@ "start": 58371, "end": 58373, "length": 3, - "parent_index": 3239 + "parent_index": 3240 }, "name": "msg", "type_description": { @@ -67377,17 +68485,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 3241, + "id": 3242, "node_type": 16, "src": { "line": 1608, @@ -67395,7 +68505,7 @@ "start": 58385, "end": 58393, "length": 9, - "parent_index": 3238 + "parent_index": 3239 }, "name": "_newOwner", "type_description": { @@ -67403,8 +68513,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3241, - "is_pure": false + "referenced_declaration": 3242, + "is_pure": false, + "text": "_newOwner" }, "type_description": { "type_identifier": "t_bool", @@ -67412,7 +68523,7 @@ } }, { - "id": 3242, + "id": 3243, "node_type": 17, "kind": 50, "value": "OWNER", @@ -67423,7 +68534,7 @@ "start": 58396, "end": 58402, "length": 7, - "parent_index": 3236 + "parent_index": 3237 }, "type_description": { "type_identifier": "t_string_literal", @@ -67437,11 +68548,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"OWNER\"" } ], "expression": { - "id": 3237, + "id": 3238, "node_type": 16, "src": { "line": 1608, @@ -67449,7 +68561,7 @@ "start": 58363, "end": 58369, "length": 7, - "parent_index": 3236 + "parent_index": 3237 }, "name": "require", "type_description": { @@ -67458,7 +68570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -67466,7 +68579,7 @@ } }, { - "id": 3243, + "id": 3244, "node_type": 24, "kind": 24, "src": { @@ -67475,7 +68588,7 @@ "start": 58414, "end": 58464, "length": 51, - "parent_index": 3235 + "parent_index": 3236 }, "argument_types": [ { @@ -67489,7 +68602,7 @@ ], "arguments": [ { - "id": 3245, + "id": 3246, "is_constant": false, "is_pure": false, "node_type": 19, @@ -67499,11 +68612,11 @@ "start": 58422, "end": 58444, "length": 23, - "parent_index": 3243 + "parent_index": 3244 }, "operator": 12, "left_expression": { - "id": 3246, + "id": 3247, "node_type": 16, "src": { "line": 1609, @@ -67511,7 +68624,7 @@ "start": 58422, "end": 58430, "length": 9, - "parent_index": 3245 + "parent_index": 3246 }, "name": "_newOwner", "type_description": { @@ -67519,11 +68632,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3246, - "is_pure": false + "referenced_declaration": 3247, + "is_pure": false, + "text": "_newOwner" }, "right_expression": { - "id": 3247, + "id": 3248, "node_type": 24, "kind": 24, "src": { @@ -67532,7 +68646,7 @@ "start": 58435, "end": 58444, "length": 10, - "parent_index": 3245 + "parent_index": 3246 }, "argument_types": [ { @@ -67542,7 +68656,7 @@ ], "arguments": [ { - "id": 3250, + "id": 3251, "node_type": 17, "kind": 49, "value": "0", @@ -67553,7 +68667,7 @@ "start": 58443, "end": 58443, "length": 1, - "parent_index": 3247 + "parent_index": 3248 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -67561,11 +68675,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 3248, + "id": 3249, "node_type": 16, "src": { "line": 1609, @@ -67573,11 +68688,11 @@ "start": 58435, "end": 58441, "length": 7, - "parent_index": 3247 + "parent_index": 3248 }, "name": "address", "type_name": { - "id": 3249, + "id": 3250, "node_type": 30, "src": { "line": 1609, @@ -67585,7 +68700,7 @@ "start": 58435, "end": 58441, "length": 7, - "parent_index": 3248 + "parent_index": 3249 }, "name": "address", "state_mutability": 4, @@ -67607,7 +68722,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -67620,7 +68736,7 @@ } }, { - "id": 3251, + "id": 3252, "node_type": 17, "kind": 50, "value": "INVALID ADDRESS", @@ -67631,7 +68747,7 @@ "start": 58447, "end": 58463, "length": 17, - "parent_index": 3243 + "parent_index": 3244 }, "type_description": { "type_identifier": "t_string_literal", @@ -67645,11 +68761,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"INVALID ADDRESS\"" } ], "expression": { - "id": 3244, + "id": 3245, "node_type": 16, "src": { "line": 1609, @@ -67657,7 +68774,7 @@ "start": 58414, "end": 58420, "length": 7, - "parent_index": 3243 + "parent_index": 3244 }, "name": "require", "type_description": { @@ -67666,7 +68783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -67674,7 +68792,7 @@ } }, { - "id": 3252, + "id": 3253, "node_type": 44, "src": { "line": 1611, @@ -67682,25 +68800,25 @@ "start": 58476, "end": 58542, "length": 67, - "parent_index": 3235 + "parent_index": 3236 }, "assignments": [ - 3253 + 3254 ], "declarations": [ { - "id": 3253, + "id": 3254, "state_mutability": 1, "name": "lockID", "node_type": 44, - "scope": 3235, + "scope": 3236, "src": { "line": 1611, "column": 8, "start": 58476, "end": 58489, "length": 14, - "parent_index": 3252 + "parent_index": 3253 }, "name_location": { "line": 1611, @@ -67708,12 +68826,12 @@ "start": 58484, "end": 58489, "length": 6, - "parent_index": 3253 + "parent_index": 3254 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3254, + "id": 3255, "node_type": 30, "src": { "line": 1611, @@ -67721,7 +68839,7 @@ "start": 58476, "end": 58482, "length": 7, - "parent_index": 3253 + "parent_index": 3254 }, "name": "uint256", "referenced_declaration": 0, @@ -67734,7 +68852,7 @@ } ], "initial_value": { - "id": 3255, + "id": 3256, "node_type": 22, "src": { "line": 1611, @@ -67742,10 +68860,10 @@ "start": 58493, "end": 58541, "length": 49, - "parent_index": 3252 + "parent_index": 3253 }, "index_expression": { - "id": 3256, + "id": 3257, "node_type": 22, "src": { "line": 1611, @@ -67753,10 +68871,10 @@ "start": 58493, "end": 58533, "length": 41, - "parent_index": 3252 + "parent_index": 3253 }, "index_expression": { - "id": 3257, + "id": 3258, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -67768,7 +68886,7 @@ "start": 58493, "end": 58523, "length": 31, - "parent_index": 3252 + "parent_index": 3253 }, "member_location": { "line": 1611, @@ -67776,10 +68894,10 @@ "start": 58511, "end": 58523, "length": 13, - "parent_index": 3257 + "parent_index": 3258 }, "expression": { - "id": 3258, + "id": 3259, "node_type": 22, "src": { "line": 1611, @@ -67787,10 +68905,10 @@ "start": 58493, "end": 58509, "length": 17, - "parent_index": 3252 + "parent_index": 3253 }, "index_expression": { - "id": 3259, + "id": 3260, "node_type": 16, "src": { "line": 1611, @@ -67798,19 +68916,20 @@ "start": 58493, "end": 58497, "length": 5, - "parent_index": 3258 + "parent_index": 3259 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3260, + "id": 3261, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -67822,7 +68941,7 @@ "start": 58499, "end": 58508, "length": 10, - "parent_index": 3252 + "parent_index": 3253 }, "member_location": { "line": 1611, @@ -67830,10 +68949,10 @@ "start": 58503, "end": 58508, "length": 6, - "parent_index": 3260 + "parent_index": 3261 }, "expression": { - "id": 3261, + "id": 3262, "node_type": 16, "src": { "line": 1611, @@ -67841,7 +68960,7 @@ "start": 58499, "end": 58501, "length": 3, - "parent_index": 3260 + "parent_index": 3261 }, "name": "msg", "type_description": { @@ -67850,18 +68969,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -67870,19 +68991,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].locksForToken" }, "base_expression": { - "id": 3262, + "id": 3263, "node_type": 16, "src": { "line": 1611, @@ -67890,7 +69012,7 @@ "start": 58525, "end": 58532, "length": 8, - "parent_index": 3256 + "parent_index": 3257 }, "name": "_lpToken", "type_description": { @@ -67898,12 +69020,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3262, - "is_pure": false + "referenced_declaration": 3263, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -67912,12 +69035,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } }, "base_expression": { - "id": 3263, + "id": 3264, "node_type": 16, "src": { "line": 1611, @@ -67925,7 +69048,7 @@ "start": 58535, "end": 58540, "length": 6, - "parent_index": 3255 + "parent_index": 3256 }, "name": "_index", "type_description": { @@ -67933,12 +69056,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3263, - "is_pure": false + "referenced_declaration": 3264, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -67947,13 +69071,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "type_string": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" } } }, { - "id": 3264, + "id": 3265, "node_type": 44, "src": { "line": 1612, @@ -67961,25 +69085,25 @@ "start": 58552, "end": 58616, "length": 65, - "parent_index": 3235 + "parent_index": 3236 }, "assignments": [ - 3265 + 3266 ], "declarations": [ { - "id": 3265, + "id": 3266, "state_mutability": 1, "name": "transferredLock", "node_type": 44, - "scope": 3235, + "scope": 3236, "src": { "line": 1612, "column": 8, "start": 58552, "end": 58584, "length": 33, - "parent_index": 3264 + "parent_index": 3265 }, "name_location": { "line": 1612, @@ -67987,12 +69111,12 @@ "start": 58570, "end": 58584, "length": 15, - "parent_index": 3265 + "parent_index": 3266 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3266, + "id": 3267, "node_type": 69, "src": { "line": 1612, @@ -68000,10 +69124,10 @@ "start": 58552, "end": 58560, "length": 9, - "parent_index": 3265 + "parent_index": 3266 }, "path_node": { - "id": 3267, + "id": 3268, "name": "TokenLock", "node_type": 52, "referenced_declaration": 2031, @@ -68013,7 +69137,7 @@ "start": 58552, "end": 58560, "length": 9, - "parent_index": 3266 + "parent_index": 3267 }, "name_location": { "line": 1612, @@ -68021,7 +69145,7 @@ "start": 58552, "end": 58560, "length": 9, - "parent_index": 3266 + "parent_index": 3267 } }, "referenced_declaration": 2031, @@ -68034,7 +69158,7 @@ } ], "initial_value": { - "id": 3268, + "id": 3269, "node_type": 22, "src": { "line": 1612, @@ -68042,10 +69166,10 @@ "start": 58588, "end": 58615, "length": 28, - "parent_index": 3264 + "parent_index": 3265 }, "index_expression": { - "id": 3269, + "id": 3270, "node_type": 22, "src": { "line": 1612, @@ -68053,10 +69177,10 @@ "start": 58588, "end": 58607, "length": 20, - "parent_index": 3264 + "parent_index": 3265 }, "index_expression": { - "id": 3270, + "id": 3271, "node_type": 16, "src": { "line": 1612, @@ -68064,7 +69188,7 @@ "start": 58588, "end": 58597, "length": 10, - "parent_index": 3269 + "parent_index": 3270 }, "name": "tokenLocks", "type_description": { @@ -68072,11 +69196,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 3271, + "id": 3272, "node_type": 16, "src": { "line": 1612, @@ -68084,7 +69209,7 @@ "start": 58599, "end": 58606, "length": 8, - "parent_index": 3269 + "parent_index": 3270 }, "name": "_lpToken", "type_description": { @@ -68092,8 +69217,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3271, - "is_pure": false + "referenced_declaration": 3272, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -68111,7 +69237,7 @@ } }, "base_expression": { - "id": 3272, + "id": 3273, "node_type": 16, "src": { "line": 1612, @@ -68119,7 +69245,7 @@ "start": 58609, "end": 58614, "length": 6, - "parent_index": 3268 + "parent_index": 3269 }, "name": "lockID", "type_description": { @@ -68127,8 +69253,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3252, - "is_pure": false + "referenced_declaration": 3253, + "is_pure": false, + "text": "lockID" }, "type_descriptions": [ { @@ -68147,7 +69274,7 @@ } }, { - "id": 3273, + "id": 3274, "node_type": 24, "kind": 24, "src": { @@ -68156,7 +69283,7 @@ "start": 58626, "end": 58741, "length": 116, - "parent_index": 3235 + "parent_index": 3236 }, "argument_types": [ { @@ -68170,7 +69297,7 @@ ], "arguments": [ { - "id": 3276, + "id": 3277, "node_type": 96, "src": { "line": 1614, @@ -68178,11 +69305,11 @@ "start": 58647, "end": 58702, "length": 56, - "parent_index": 3273 + "parent_index": 3274 }, "expressions": [ { - "id": 3277, + "id": 3278, "is_constant": false, "is_pure": false, "node_type": 19, @@ -68192,11 +69319,11 @@ "start": 58647, "end": 58663, "length": 17, - "parent_index": 3276 + "parent_index": 3277 }, "operator": 11, "left_expression": { - "id": 3278, + "id": 3279, "node_type": 16, "src": { "line": 1614, @@ -68204,7 +69331,7 @@ "start": 58647, "end": 58652, "length": 6, - "parent_index": 3277 + "parent_index": 3278 }, "name": "lockID", "type_description": { @@ -68212,11 +69339,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3252, - "is_pure": false + "referenced_declaration": 3253, + "is_pure": false, + "text": "lockID" }, "right_expression": { - "id": 3279, + "id": 3280, "node_type": 16, "src": { "line": 1614, @@ -68224,7 +69352,7 @@ "start": 58657, "end": 58663, "length": 7, - "parent_index": 3277 + "parent_index": 3278 }, "name": "_lockID", "type_description": { @@ -68232,8 +69360,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3279, - "is_pure": false + "referenced_declaration": 3280, + "is_pure": false, + "text": "_lockID" }, "type_description": { "type_identifier": "t_bool", @@ -68241,7 +69370,7 @@ } }, { - "id": 3280, + "id": 3281, "is_constant": false, "is_pure": false, "node_type": 19, @@ -68251,11 +69380,11 @@ "start": 58668, "end": 58702, "length": 35, - "parent_index": 3276 + "parent_index": 3277 }, "operator": 11, "left_expression": { - "id": 3281, + "id": 3282, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -68267,7 +69396,7 @@ "start": 58668, "end": 58688, "length": 21, - "parent_index": 3280 + "parent_index": 3281 }, "member_location": { "line": 1614, @@ -68275,10 +69404,10 @@ "start": 58684, "end": 58688, "length": 5, - "parent_index": 3281 + "parent_index": 3282 }, "expression": { - "id": 3282, + "id": 3283, "node_type": 16, "src": { "line": 1614, @@ -68286,7 +69415,7 @@ "start": 58668, "end": 58682, "length": 15, - "parent_index": 3281 + "parent_index": 3282 }, "name": "transferredLock", "type_description": { @@ -68294,18 +69423,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3264, - "is_pure": false + "referenced_declaration": 3265, + "is_pure": false, + "text": "transferredLock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "transferredLock.owner" }, "right_expression": { - "id": 3283, + "id": 3284, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -68317,7 +69448,7 @@ "start": 58693, "end": 58702, "length": 10, - "parent_index": 3280 + "parent_index": 3281 }, "member_location": { "line": 1614, @@ -68325,10 +69456,10 @@ "start": 58697, "end": 58702, "length": 6, - "parent_index": 3283 + "parent_index": 3284 }, "expression": { - "id": 3284, + "id": 3285, "node_type": 16, "src": { "line": 1614, @@ -68336,7 +69467,7 @@ "start": 58693, "end": 58695, "length": 3, - "parent_index": 3283 + "parent_index": 3284 }, "name": "msg", "type_description": { @@ -68345,14 +69476,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -68372,7 +69505,7 @@ ] }, { - "id": 3285, + "id": 3286, "node_type": 17, "kind": 50, "value": "LOCK MISMATCH", @@ -68383,7 +69516,7 @@ "start": 58717, "end": 58731, "length": 15, - "parent_index": 3273 + "parent_index": 3274 }, "type_description": { "type_identifier": "t_string_literal", @@ -68397,11 +69530,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"LOCK MISMATCH\"" } ], "expression": { - "id": 3274, + "id": 3275, "node_type": 16, "src": { "line": 1613, @@ -68409,7 +69543,7 @@ "start": 58626, "end": 58632, "length": 7, - "parent_index": 3273 + "parent_index": 3274 }, "name": "require", "type_description": { @@ -68418,7 +69552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -68426,7 +69561,7 @@ } }, { - "id": 3286, + "id": 3287, "node_type": 44, "src": { "line": 1619, @@ -68434,25 +69569,25 @@ "start": 58834, "end": 58874, "length": 41, - "parent_index": 3235 + "parent_index": 3236 }, "assignments": [ - 3287 + 3288 ], "declarations": [ { - "id": 3287, + "id": 3288, "state_mutability": 1, "name": "user", "node_type": 44, - "scope": 3235, + "scope": 3236, "src": { "line": 1619, "column": 8, "start": 58834, "end": 58854, "length": 21, - "parent_index": 3286 + "parent_index": 3287 }, "name_location": { "line": 1619, @@ -68460,12 +69595,12 @@ "start": 58851, "end": 58854, "length": 4, - "parent_index": 3287 + "parent_index": 3288 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3288, + "id": 3289, "node_type": 69, "src": { "line": 1619, @@ -68473,10 +69608,10 @@ "start": 58834, "end": 58841, "length": 8, - "parent_index": 3287 + "parent_index": 3288 }, "path_node": { - "id": 3289, + "id": 3290, "name": "UserInfo", "node_type": 52, "referenced_declaration": 2022, @@ -68486,7 +69621,7 @@ "start": 58834, "end": 58841, "length": 8, - "parent_index": 3288 + "parent_index": 3289 }, "name_location": { "line": 1619, @@ -68494,7 +69629,7 @@ "start": 58834, "end": 58841, "length": 8, - "parent_index": 3288 + "parent_index": 3289 } }, "referenced_declaration": 2022, @@ -68507,7 +69642,7 @@ } ], "initial_value": { - "id": 3290, + "id": 3291, "node_type": 22, "src": { "line": 1619, @@ -68515,10 +69650,10 @@ "start": 58858, "end": 58873, "length": 16, - "parent_index": 3286 + "parent_index": 3287 }, "index_expression": { - "id": 3291, + "id": 3292, "node_type": 16, "src": { "line": 1619, @@ -68526,19 +69661,20 @@ "start": 58858, "end": 58862, "length": 5, - "parent_index": 3290 + "parent_index": 3291 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3292, + "id": 3293, "node_type": 16, "src": { "line": 1619, @@ -68546,7 +69682,7 @@ "start": 58864, "end": 58872, "length": 9, - "parent_index": 3290 + "parent_index": 3291 }, "name": "_newOwner", "type_description": { @@ -68554,12 +69690,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3292, - "is_pure": false + "referenced_declaration": 3293, + "is_pure": false, + "text": "_newOwner" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -68568,13 +69705,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address_payable]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address_payable]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } } }, { - "id": 3293, + "id": 3294, "node_type": 24, "kind": 24, "src": { @@ -68583,7 +69720,7 @@ "start": 58884, "end": 58914, "length": 31, - "parent_index": 3235 + "parent_index": 3236 }, "argument_types": [ { @@ -68593,7 +69730,7 @@ ], "arguments": [ { - "id": 3297, + "id": 3298, "node_type": 16, "src": { "line": 1620, @@ -68601,7 +69738,7 @@ "start": 58906, "end": 58913, "length": 8, - "parent_index": 3293 + "parent_index": 3294 }, "name": "_lpToken", "type_description": { @@ -68609,12 +69746,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3297, - "is_pure": false + "referenced_declaration": 3298, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 3294, + "id": 3295, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -68626,7 +69764,7 @@ "start": 58884, "end": 58904, "length": 21, - "parent_index": 3293 + "parent_index": 3294 }, "member_location": { "line": 1620, @@ -68634,10 +69772,10 @@ "start": 58902, "end": 58904, "length": 3, - "parent_index": 3294 + "parent_index": 3295 }, "expression": { - "id": 3295, + "id": 3296, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -68649,7 +69787,7 @@ "start": 58884, "end": 58900, "length": 17, - "parent_index": 3294 + "parent_index": 3295 }, "member_location": { "line": 1620, @@ -68657,10 +69795,10 @@ "start": 58889, "end": 58900, "length": 12, - "parent_index": 3295 + "parent_index": 3296 }, "expression": { - "id": 3296, + "id": 3297, "node_type": 16, "src": { "line": 1620, @@ -68668,7 +69806,7 @@ "start": 58884, "end": 58887, "length": 4, - "parent_index": 3295 + "parent_index": 3296 }, "name": "user", "type_description": { @@ -68676,22 +69814,25 @@ "type_string": "struct KnoxLpLocker.UserInfo" }, "overloaded_declarations": [], - "referenced_declaration": 3286, - "is_pure": false + "referenced_declaration": 3287, + "is_pure": false, + "text": "user" }, "member_name": "lockedTokens", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.lockedTokens" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.lockedTokens.add" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -68699,7 +69840,7 @@ } }, { - "id": 3298, + "id": 3299, "node_type": 44, "src": { "line": 1621, @@ -68707,25 +69848,25 @@ "start": 58925, "end": 58984, "length": 60, - "parent_index": 3235 + "parent_index": 3236 }, "assignments": [ - 3299 + 3300 ], "declarations": [ { - "id": 3299, + "id": 3300, "state_mutability": 1, "name": "user_locks", "node_type": 44, - "scope": 3235, + "scope": 3236, "src": { "line": 1621, "column": 8, "start": 58925, "end": 58952, "length": 28, - "parent_index": 3298 + "parent_index": 3299 }, "name_location": { "line": 1621, @@ -68733,12 +69874,12 @@ "start": 58943, "end": 58952, "length": 10, - "parent_index": 3299 + "parent_index": 3300 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3300, + "id": 3301, "node_type": 16, "src": { "line": 1621, @@ -68746,7 +69887,7 @@ "start": 58925, "end": 58931, "length": 7, - "parent_index": 3299 + "parent_index": 3300 }, "name": "uint256", "referenced_declaration": 0, @@ -68759,7 +69900,7 @@ } ], "initial_value": { - "id": 3301, + "id": 3302, "node_type": 22, "src": { "line": 1621, @@ -68767,10 +69908,10 @@ "start": 58956, "end": 58983, "length": 28, - "parent_index": 3298 + "parent_index": 3299 }, "index_expression": { - "id": 3302, + "id": 3303, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -68782,7 +69923,7 @@ "start": 58956, "end": 58973, "length": 18, - "parent_index": 3298 + "parent_index": 3299 }, "member_location": { "line": 1621, @@ -68790,10 +69931,10 @@ "start": 58961, "end": 58973, "length": 13, - "parent_index": 3302 + "parent_index": 3303 }, "expression": { - "id": 3303, + "id": 3304, "node_type": 16, "src": { "line": 1621, @@ -68801,7 +69942,7 @@ "start": 58956, "end": 58959, "length": 4, - "parent_index": 3302 + "parent_index": 3303 }, "name": "user", "type_description": { @@ -68809,18 +69950,20 @@ "type_string": "struct KnoxLpLocker.UserInfo" }, "overloaded_declarations": [], - "referenced_declaration": 3286, - "is_pure": false + "referenced_declaration": 3287, + "is_pure": false, + "text": "user" }, "member_name": "locksForToken", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.locksForToken" }, "base_expression": { - "id": 3304, + "id": 3305, "node_type": 16, "src": { "line": 1621, @@ -68828,7 +69971,7 @@ "start": 58975, "end": 58982, "length": 8, - "parent_index": 3301 + "parent_index": 3302 }, "name": "_lpToken", "type_description": { @@ -68836,8 +69979,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3304, - "is_pure": false + "referenced_declaration": 3305, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -68856,7 +70000,7 @@ } }, { - "id": 3305, + "id": 3306, "node_type": 24, "kind": 24, "src": { @@ -68865,7 +70009,7 @@ "start": 58994, "end": 59032, "length": 39, - "parent_index": 3235 + "parent_index": 3236 }, "argument_types": [ { @@ -68875,7 +70019,7 @@ ], "arguments": [ { - "id": 3308, + "id": 3309, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -68887,7 +70031,7 @@ "start": 59010, "end": 59031, "length": 22, - "parent_index": 3305 + "parent_index": 3306 }, "member_location": { "line": 1622, @@ -68895,10 +70039,10 @@ "start": 59026, "end": 59031, "length": 6, - "parent_index": 3308 + "parent_index": 3309 }, "expression": { - "id": 3309, + "id": 3310, "node_type": 16, "src": { "line": 1622, @@ -68906,7 +70050,7 @@ "start": 59010, "end": 59024, "length": 15, - "parent_index": 3308 + "parent_index": 3309 }, "name": "transferredLock", "type_description": { @@ -68914,19 +70058,21 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3264, - "is_pure": false + "referenced_declaration": 3265, + "is_pure": false, + "text": "transferredLock" }, "member_name": "lockID", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "transferredLock.lockID" } ], "expression": { - "id": 3306, + "id": 3307, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -68938,7 +70084,7 @@ "start": 58994, "end": 59008, "length": 15, - "parent_index": 3305 + "parent_index": 3306 }, "member_location": { "line": 1622, @@ -68946,10 +70092,10 @@ "start": 59005, "end": 59008, "length": 4, - "parent_index": 3306 + "parent_index": 3307 }, "expression": { - "id": 3307, + "id": 3308, "node_type": 16, "src": { "line": 1622, @@ -68957,7 +70103,7 @@ "start": 58994, "end": 59003, "length": 10, - "parent_index": 3306 + "parent_index": 3307 }, "name": "user_locks", "type_description": { @@ -68965,15 +70111,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3298, - "is_pure": false + "referenced_declaration": 3299, + "is_pure": false, + "text": "user_locks" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "user_locks.push" }, "type_description": { "type_identifier": "t_function_$_t_struct$_KnoxLpLocker_TokenLock_$2031$", @@ -68981,7 +70129,7 @@ } }, { - "id": 3310, + "id": 3311, "node_type": 44, "src": { "line": 1625, @@ -68989,25 +70137,25 @@ "start": 59090, "end": 59161, "length": 72, - "parent_index": 3235 + "parent_index": 3236 }, "assignments": [ - 3311 + 3312 ], "declarations": [ { - "id": 3311, + "id": 3312, "state_mutability": 1, "name": "userLocks", "node_type": 44, - "scope": 3235, + "scope": 3236, "src": { "line": 1625, "column": 8, "start": 59090, "end": 59116, "length": 27, - "parent_index": 3310 + "parent_index": 3311 }, "name_location": { "line": 1625, @@ -69015,12 +70163,12 @@ "start": 59108, "end": 59116, "length": 9, - "parent_index": 3311 + "parent_index": 3312 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3312, + "id": 3313, "node_type": 16, "src": { "line": 1625, @@ -69028,7 +70176,7 @@ "start": 59090, "end": 59096, "length": 7, - "parent_index": 3311 + "parent_index": 3312 }, "name": "uint256", "referenced_declaration": 0, @@ -69041,7 +70189,7 @@ } ], "initial_value": { - "id": 3313, + "id": 3314, "node_type": 22, "src": { "line": 1625, @@ -69049,10 +70197,10 @@ "start": 59120, "end": 59160, "length": 41, - "parent_index": 3310 + "parent_index": 3311 }, "index_expression": { - "id": 3314, + "id": 3315, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -69064,7 +70212,7 @@ "start": 59120, "end": 59150, "length": 31, - "parent_index": 3310 + "parent_index": 3311 }, "member_location": { "line": 1625, @@ -69072,10 +70220,10 @@ "start": 59138, "end": 59150, "length": 13, - "parent_index": 3314 + "parent_index": 3315 }, "expression": { - "id": 3315, + "id": 3316, "node_type": 22, "src": { "line": 1625, @@ -69083,10 +70231,10 @@ "start": 59120, "end": 59136, "length": 17, - "parent_index": 3310 + "parent_index": 3311 }, "index_expression": { - "id": 3316, + "id": 3317, "node_type": 16, "src": { "line": 1625, @@ -69094,19 +70242,20 @@ "start": 59120, "end": 59124, "length": 5, - "parent_index": 3315 + "parent_index": 3316 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3317, + "id": 3318, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -69118,7 +70267,7 @@ "start": 59126, "end": 59135, "length": 10, - "parent_index": 3310 + "parent_index": 3311 }, "member_location": { "line": 1625, @@ -69126,10 +70275,10 @@ "start": 59130, "end": 59135, "length": 6, - "parent_index": 3317 + "parent_index": 3318 }, "expression": { - "id": 3318, + "id": 3319, "node_type": 16, "src": { "line": 1625, @@ -69137,7 +70286,7 @@ "start": 59126, "end": 59128, "length": 3, - "parent_index": 3317 + "parent_index": 3318 }, "name": "msg", "type_description": { @@ -69146,18 +70295,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -69166,19 +70317,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].locksForToken" }, "base_expression": { - "id": 3319, + "id": 3320, "node_type": 16, "src": { "line": 1625, @@ -69186,7 +70338,7 @@ "start": 59152, "end": 59159, "length": 8, - "parent_index": 3313 + "parent_index": 3314 }, "name": "_lpToken", "type_description": { @@ -69194,12 +70346,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3319, - "is_pure": false + "referenced_declaration": 3320, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -69208,13 +70361,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } } }, { - "id": 3320, + "id": 3321, "node_type": 27, "src": { "line": 1626, @@ -69222,10 +70375,10 @@ "start": 59171, "end": 59222, "length": 52, - "parent_index": 3235 + "parent_index": 3236 }, "expression": { - "id": 3321, + "id": 3322, "node_type": 27, "src": { "line": 1626, @@ -69233,11 +70386,11 @@ "start": 59171, "end": 59221, "length": 51, - "parent_index": 3320 + "parent_index": 3321 }, "operator": 11, "left_expression": { - "id": 3322, + "id": 3323, "node_type": 22, "src": { "line": 1626, @@ -69245,10 +70398,10 @@ "start": 59171, "end": 59187, "length": 17, - "parent_index": 3321 + "parent_index": 3322 }, "index_expression": { - "id": 3323, + "id": 3324, "node_type": 16, "src": { "line": 1626, @@ -69256,7 +70409,7 @@ "start": 59171, "end": 59179, "length": 9, - "parent_index": 3322 + "parent_index": 3323 }, "name": "userLocks", "type_description": { @@ -69264,11 +70417,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3310, - "is_pure": false + "referenced_declaration": 3311, + "is_pure": false, + "text": "userLocks" }, "base_expression": { - "id": 3324, + "id": 3325, "node_type": 16, "src": { "line": 1626, @@ -69276,7 +70430,7 @@ "start": 59181, "end": 59186, "length": 6, - "parent_index": 3322 + "parent_index": 3323 }, "name": "_index", "type_description": { @@ -69284,8 +70438,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3324, - "is_pure": false + "referenced_declaration": 3325, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { @@ -69303,7 +70458,7 @@ } }, "right_expression": { - "id": 3325, + "id": 3326, "node_type": 22, "src": { "line": 1626, @@ -69311,10 +70466,10 @@ "start": 59191, "end": 59221, "length": 31, - "parent_index": 3321 + "parent_index": 3322 }, "index_expression": { - "id": 3326, + "id": 3327, "node_type": 16, "src": { "line": 1626, @@ -69322,7 +70477,7 @@ "start": 59191, "end": 59199, "length": 9, - "parent_index": 3325 + "parent_index": 3326 }, "name": "userLocks", "type_description": { @@ -69330,11 +70485,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3310, - "is_pure": false + "referenced_declaration": 3311, + "is_pure": false, + "text": "userLocks" }, "base_expression": { - "id": 3327, + "id": 3328, "is_constant": false, "is_pure": false, "node_type": 19, @@ -69344,11 +70500,11 @@ "start": 59201, "end": 59220, "length": 20, - "parent_index": 3325 + "parent_index": 3326 }, "operator": 2, "left_expression": { - "id": 3328, + "id": 3329, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -69360,7 +70516,7 @@ "start": 59201, "end": 59216, "length": 16, - "parent_index": 3327 + "parent_index": 3328 }, "member_location": { "line": 1626, @@ -69368,10 +70524,10 @@ "start": 59211, "end": 59216, "length": 6, - "parent_index": 3328 + "parent_index": 3329 }, "expression": { - "id": 3329, + "id": 3330, "node_type": 16, "src": { "line": 1626, @@ -69379,7 +70535,7 @@ "start": 59201, "end": 59209, "length": 9, - "parent_index": 3328 + "parent_index": 3329 }, "name": "userLocks", "type_description": { @@ -69387,18 +70543,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3310, - "is_pure": false + "referenced_declaration": 3311, + "is_pure": false, + "text": "userLocks" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "userLocks.length" }, "right_expression": { - "id": 3330, + "id": 3331, "node_type": 17, "kind": 49, "value": "1", @@ -69409,7 +70567,7 @@ "start": 59220, "end": 59220, "length": 1, - "parent_index": 3327 + "parent_index": 3328 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -69417,7 +70575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -69447,10 +70606,11 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "userLocks[_index]=userLocks[userLocks.length-1];" }, { - "id": 3331, + "id": 3332, "node_type": 24, "kind": 24, "src": { @@ -69459,12 +70619,12 @@ "start": 59232, "end": 59246, "length": 15, - "parent_index": 3235 + "parent_index": 3236 }, "argument_types": [], "arguments": [], "expression": { - "id": 3332, + "id": 3333, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -69476,7 +70636,7 @@ "start": 59232, "end": 59244, "length": 13, - "parent_index": 3331 + "parent_index": 3332 }, "member_location": { "line": 1627, @@ -69484,10 +70644,10 @@ "start": 59242, "end": 59244, "length": 3, - "parent_index": 3332 + "parent_index": 3333 }, "expression": { - "id": 3333, + "id": 3334, "node_type": 16, "src": { "line": 1627, @@ -69495,7 +70655,7 @@ "start": 59232, "end": 59240, "length": 9, - "parent_index": 3332 + "parent_index": 3333 }, "name": "userLocks", "type_description": { @@ -69503,15 +70663,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3310, - "is_pure": false + "referenced_declaration": 3311, + "is_pure": false, + "text": "userLocks" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "userLocks.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -69519,7 +70681,7 @@ } }, { - "id": 3334, + "id": 3335, "node_type": 48, "src": { "line": 1628, @@ -69527,10 +70689,10 @@ "start": 59257, "end": 59355, "length": 99, - "parent_index": 3235 + "parent_index": 3236 }, "condition": { - "id": 3335, + "id": 3336, "is_constant": false, "is_pure": false, "node_type": 19, @@ -69540,11 +70702,11 @@ "start": 59261, "end": 59281, "length": 21, - "parent_index": 3334 + "parent_index": 3335 }, "operator": 11, "left_expression": { - "id": 3336, + "id": 3337, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -69556,7 +70718,7 @@ "start": 59261, "end": 59276, "length": 16, - "parent_index": 3335 + "parent_index": 3336 }, "member_location": { "line": 1628, @@ -69564,10 +70726,10 @@ "start": 59271, "end": 59276, "length": 6, - "parent_index": 3336 + "parent_index": 3337 }, "expression": { - "id": 3337, + "id": 3338, "node_type": 16, "src": { "line": 1628, @@ -69575,7 +70737,7 @@ "start": 59261, "end": 59269, "length": 9, - "parent_index": 3336 + "parent_index": 3337 }, "name": "userLocks", "type_description": { @@ -69583,18 +70745,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3310, - "is_pure": false + "referenced_declaration": 3311, + "is_pure": false, + "text": "userLocks" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "userLocks.length" }, "right_expression": { - "id": 3338, + "id": 3339, "node_type": 17, "kind": 49, "value": "0", @@ -69605,7 +70769,7 @@ "start": 59281, "end": 59281, "length": 1, - "parent_index": 3335 + "parent_index": 3336 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -69613,7 +70777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -69621,7 +70786,7 @@ } }, "body": { - "id": 3339, + "id": 3340, "node_type": 46, "kind": 0, "src": { @@ -69630,12 +70795,12 @@ "start": 59284, "end": 59355, "length": 72, - "parent_index": 3222 + "parent_index": 3223 }, "implemented": true, "statements": [ { - "id": 3340, + "id": 3341, "node_type": 24, "kind": 24, "src": { @@ -69644,7 +70809,7 @@ "start": 59298, "end": 59344, "length": 47, - "parent_index": 3339 + "parent_index": 3340 }, "argument_types": [ { @@ -69654,7 +70819,7 @@ ], "arguments": [ { - "id": 3347, + "id": 3348, "node_type": 16, "src": { "line": 1629, @@ -69662,7 +70827,7 @@ "start": 59336, "end": 59343, "length": 8, - "parent_index": 3340 + "parent_index": 3341 }, "name": "_lpToken", "type_description": { @@ -69670,12 +70835,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3347, - "is_pure": false + "referenced_declaration": 3348, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 3341, + "id": 3342, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -69687,7 +70853,7 @@ "start": 59298, "end": 59334, "length": 37, - "parent_index": 3340 + "parent_index": 3341 }, "member_location": { "line": 1629, @@ -69695,10 +70861,10 @@ "start": 59329, "end": 59334, "length": 6, - "parent_index": 3341 + "parent_index": 3342 }, "expression": { - "id": 3342, + "id": 3343, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -69710,7 +70876,7 @@ "start": 59298, "end": 59327, "length": 30, - "parent_index": 3341 + "parent_index": 3342 }, "member_location": { "line": 1629, @@ -69718,10 +70884,10 @@ "start": 59316, "end": 59327, "length": 12, - "parent_index": 3342 + "parent_index": 3343 }, "expression": { - "id": 3343, + "id": 3344, "node_type": 22, "src": { "line": 1629, @@ -69729,10 +70895,10 @@ "start": 59298, "end": 59314, "length": 17, - "parent_index": 3342 + "parent_index": 3343 }, "index_expression": { - "id": 3344, + "id": 3345, "node_type": 16, "src": { "line": 1629, @@ -69740,19 +70906,20 @@ "start": 59298, "end": 59302, "length": 5, - "parent_index": 3343 + "parent_index": 3344 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3345, + "id": 3346, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -69764,7 +70931,7 @@ "start": 59304, "end": 59313, "length": 10, - "parent_index": 3343 + "parent_index": 3344 }, "member_location": { "line": 1629, @@ -69772,10 +70939,10 @@ "start": 59308, "end": 59313, "length": 6, - "parent_index": 3345 + "parent_index": 3346 }, "expression": { - "id": 3346, + "id": 3347, "node_type": 16, "src": { "line": 1629, @@ -69783,7 +70950,7 @@ "start": 59304, "end": 59306, "length": 3, - "parent_index": 3345 + "parent_index": 3346 }, "name": "msg", "type_description": { @@ -69792,18 +70959,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -69812,23 +70981,25 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "lockedTokens", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].lockedTokens" }, "member_name": "remove", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].lockedTokens.remove" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -69839,7 +71010,7 @@ } }, { - "id": 3348, + "id": 3349, "node_type": 27, "src": { "line": 1631, @@ -69847,10 +71018,10 @@ "start": 59365, "end": 59398, "length": 34, - "parent_index": 3235 + "parent_index": 3236 }, "expression": { - "id": 3349, + "id": 3350, "node_type": 27, "src": { "line": 1631, @@ -69858,11 +71029,11 @@ "start": 59365, "end": 59397, "length": 33, - "parent_index": 3348 + "parent_index": 3349 }, "operator": 11, "left_expression": { - "id": 3350, + "id": 3351, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -69874,7 +71045,7 @@ "start": 59365, "end": 59385, "length": 21, - "parent_index": 3349 + "parent_index": 3350 }, "member_location": { "line": 1631, @@ -69882,10 +71053,10 @@ "start": 59381, "end": 59385, "length": 5, - "parent_index": 3350 + "parent_index": 3351 }, "expression": { - "id": 3351, + "id": 3352, "node_type": 16, "src": { "line": 1631, @@ -69893,7 +71064,7 @@ "start": 59365, "end": 59379, "length": 15, - "parent_index": 3350 + "parent_index": 3351 }, "name": "transferredLock", "type_description": { @@ -69901,18 +71072,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3264, - "is_pure": false + "referenced_declaration": 3265, + "is_pure": false, + "text": "transferredLock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "transferredLock.owner" }, "right_expression": { - "id": 3352, + "id": 3353, "node_type": 16, "src": { "line": 1631, @@ -69920,7 +71093,7 @@ "start": 59389, "end": 59397, "length": 9, - "parent_index": 3349 + "parent_index": 3350 }, "name": "_newOwner", "type_description": { @@ -69928,8 +71101,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3352, - "is_pure": false + "referenced_declaration": 3353, + "is_pure": false, + "text": "_newOwner" }, "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", @@ -69939,10 +71113,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "transferredLock.owner=_newOwner;" }, { - "id": 3353, + "id": 3354, "node_type": 47, "src": { "line": 1633, @@ -69950,11 +71125,11 @@ "start": 59409, "end": 59420, "length": 12, - "parent_index": 3222 + "parent_index": 3223 }, - "function_return_parameters": 3222, + "function_return_parameters": 3223, "expression": { - "id": 3354, + "id": 3355, "node_type": 17, "kind": 61, "value": "true", @@ -69965,7 +71140,7 @@ "start": 59416, "end": 59419, "length": 4, - "parent_index": 3353 + "parent_index": 3354 }, "type_description": { "type_identifier": "t_bool", @@ -69973,7 +71148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -69985,7 +71161,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3223, + "id": 3224, "node_type": 43, "src": { "line": 1603, @@ -69993,11 +71169,11 @@ "start": 58222, "end": 58321, "length": 100, - "parent_index": 3222 + "parent_index": 3223 }, "parameters": [ { - "id": 3224, + "id": 3225, "node_type": 44, "src": { "line": 1603, @@ -70005,12 +71181,12 @@ "start": 58222, "end": 58237, "length": 16, - "parent_index": 3223 + "parent_index": 3224 }, - "scope": 3222, + "scope": 3223, "name": "_lpToken", "type_name": { - "id": 3225, + "id": 3226, "node_type": 30, "src": { "line": 1603, @@ -70018,7 +71194,7 @@ "start": 58222, "end": 58228, "length": 7, - "parent_index": 3224 + "parent_index": 3225 }, "name": "address", "state_mutability": 4, @@ -70037,7 +71213,7 @@ } }, { - "id": 3226, + "id": 3227, "node_type": 44, "src": { "line": 1604, @@ -70045,12 +71221,12 @@ "start": 58248, "end": 58261, "length": 14, - "parent_index": 3223 + "parent_index": 3224 }, - "scope": 3222, + "scope": 3223, "name": "_index", "type_name": { - "id": 3227, + "id": 3228, "node_type": 30, "src": { "line": 1604, @@ -70058,7 +71234,7 @@ "start": 58248, "end": 58254, "length": 7, - "parent_index": 3226 + "parent_index": 3227 }, "name": "uint256", "referenced_declaration": 0, @@ -70076,7 +71252,7 @@ } }, { - "id": 3228, + "id": 3229, "node_type": 44, "src": { "line": 1605, @@ -70084,12 +71260,12 @@ "start": 58272, "end": 58286, "length": 15, - "parent_index": 3223 + "parent_index": 3224 }, - "scope": 3222, + "scope": 3223, "name": "_lockID", "type_name": { - "id": 3229, + "id": 3230, "node_type": 30, "src": { "line": 1605, @@ -70097,7 +71273,7 @@ "start": 58272, "end": 58278, "length": 7, - "parent_index": 3228 + "parent_index": 3229 }, "name": "uint256", "referenced_declaration": 0, @@ -70115,7 +71291,7 @@ } }, { - "id": 3230, + "id": 3231, "node_type": 44, "src": { "line": 1606, @@ -70123,12 +71299,12 @@ "start": 58297, "end": 58321, "length": 25, - "parent_index": 3223 + "parent_index": 3224 }, - "scope": 3222, + "scope": 3223, "name": "_newOwner", "type_name": { - "id": 3231, + "id": 3232, "node_type": 30, "src": { "line": 1606, @@ -70136,7 +71312,7 @@ "start": 58297, "end": 58311, "length": 15, - "parent_index": 3230 + "parent_index": 3231 }, "name": "addresspayable", "state_mutability": 3, @@ -70175,7 +71351,7 @@ ] }, "return_parameters": { - "id": 3232, + "id": 3233, "node_type": 43, "src": { "line": 1607, @@ -70183,11 +71359,11 @@ "start": 58347, "end": 58350, "length": 4, - "parent_index": 3222 + "parent_index": 3223 }, "parameters": [ { - "id": 3233, + "id": 3234, "node_type": 44, "src": { "line": 1607, @@ -70195,12 +71371,12 @@ "start": 58347, "end": 58350, "length": 4, - "parent_index": 3232 + "parent_index": 3233 }, - "scope": 3222, + "scope": 3223, "name": "", "type_name": { - "id": 3234, + "id": 3235, "node_type": 30, "src": { "line": 1607, @@ -70208,7 +71384,7 @@ "start": 58347, "end": 58350, "length": 4, - "parent_index": 3233 + "parent_index": 3234 }, "name": "bool", "referenced_declaration": 0, @@ -70233,16 +71409,17 @@ } ] }, - "signature_raw": "transferLockOwnership(address, uint256, uint256, addresspayable)", - "signature": "892e3aa7", + "signature_raw": "transferLockOwnership(address,uint256,uint256,addresspayable)", + "signature": "308f23b8", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_address_payable$", "type_string": "function(address,uint256,uint256,address)" - } + }, + "text": "functiontransferLockOwnership(address_lpToken,uint256_index,uint256_lockID,addresspayable_newOwner)externalreturns(bool){require(msg.sender!=_newOwner,\"OWNER\");require(_newOwner!=address(0),\"INVALID ADDRESS\");uint256lockID=users[msg.sender].locksForToken[_lpToken][_index];TokenLockstoragetransferredLock=tokenLocks[_lpToken][lockID];require(lockID==_lockID\u0026\u0026transferredLock.owner==msg.sender,\"LOCK MISMATCH\");UserInfostorageuser=users[_newOwner];user.lockedTokens.add(_lpToken);uint256[]storageuser_locks=user.locksForToken[_lpToken];user_locks.push(transferredLock.lockID);uint256[]storageuserLocks=users[msg.sender].locksForToken[_lpToken];userLocks[_index]=userLocks[userLocks.length-1];userLocks.pop();if(userLocks.length==0){users[msg.sender].lockedTokens.remove(_lpToken);}transferredLock.owner=_newOwner;returntrue;}" }, { - "id": 3356, + "id": 3357, "name": "migrate", "node_type": 42, "kind": 41, @@ -70260,10 +71437,10 @@ "start": 59587, "end": 59593, "length": 7, - "parent_index": 3356 + "parent_index": 3357 }, "body": { - "id": 3371, + "id": 3372, "node_type": 46, "kind": 0, "src": { @@ -70272,12 +71449,12 @@ "start": 59738, "end": 60780, "length": 1043, - "parent_index": 3356 + "parent_index": 3357 }, "implemented": true, "statements": [ { - "id": 3372, + "id": 3373, "node_type": 24, "kind": 24, "src": { @@ -70286,7 +71463,7 @@ "start": 59748, "end": 59798, "length": 51, - "parent_index": 3371 + "parent_index": 3372 }, "argument_types": [ { @@ -70300,7 +71477,7 @@ ], "arguments": [ { - "id": 3374, + "id": 3375, "is_constant": false, "is_pure": false, "node_type": 19, @@ -70310,11 +71487,11 @@ "start": 59756, "end": 59786, "length": 31, - "parent_index": 3372 + "parent_index": 3373 }, "operator": 12, "left_expression": { - "id": 3375, + "id": 3376, "node_type": 24, "kind": 24, "src": { @@ -70323,7 +71500,7 @@ "start": 59756, "end": 59772, "length": 17, - "parent_index": 3374 + "parent_index": 3375 }, "argument_types": [ { @@ -70333,7 +71510,7 @@ ], "arguments": [ { - "id": 3378, + "id": 3379, "node_type": 16, "src": { "line": 1646, @@ -70341,7 +71518,7 @@ "start": 59764, "end": 59771, "length": 8, - "parent_index": 3375 + "parent_index": 3376 }, "name": "migrator", "type_description": { @@ -70350,11 +71527,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "migrator" } ], "expression": { - "id": 3376, + "id": 3377, "node_type": 16, "src": { "line": 1646, @@ -70362,11 +71540,11 @@ "start": 59756, "end": 59762, "length": 7, - "parent_index": 3375 + "parent_index": 3376 }, "name": "address", "type_name": { - "id": 3377, + "id": 3378, "node_type": 30, "src": { "line": 1646, @@ -70374,7 +71552,7 @@ "start": 59756, "end": 59762, "length": 7, - "parent_index": 3376 + "parent_index": 3377 }, "name": "address", "state_mutability": 4, @@ -70396,7 +71574,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -70404,7 +71583,7 @@ } }, "right_expression": { - "id": 3379, + "id": 3380, "node_type": 24, "kind": 24, "src": { @@ -70413,7 +71592,7 @@ "start": 59777, "end": 59786, "length": 10, - "parent_index": 3374 + "parent_index": 3375 }, "argument_types": [ { @@ -70423,7 +71602,7 @@ ], "arguments": [ { - "id": 3382, + "id": 3383, "node_type": 17, "kind": 49, "value": "0", @@ -70434,7 +71613,7 @@ "start": 59785, "end": 59785, "length": 1, - "parent_index": 3379 + "parent_index": 3380 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -70442,11 +71621,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 3380, + "id": 3381, "node_type": 16, "src": { "line": 1646, @@ -70454,11 +71634,11 @@ "start": 59777, "end": 59783, "length": 7, - "parent_index": 3379 + "parent_index": 3380 }, "name": "address", "type_name": { - "id": 3381, + "id": 3382, "node_type": 30, "src": { "line": 1646, @@ -70466,7 +71646,7 @@ "start": 59777, "end": 59783, "length": 7, - "parent_index": 3380 + "parent_index": 3381 }, "name": "address", "state_mutability": 4, @@ -70488,7 +71668,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -70501,7 +71682,7 @@ } }, { - "id": 3383, + "id": 3384, "node_type": 17, "kind": 50, "value": "NOT SET", @@ -70512,7 +71693,7 @@ "start": 59789, "end": 59797, "length": 9, - "parent_index": 3372 + "parent_index": 3373 }, "type_description": { "type_identifier": "t_string_literal", @@ -70526,11 +71707,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"NOT SET\"" } ], "expression": { - "id": 3373, + "id": 3374, "node_type": 16, "src": { "line": 1646, @@ -70538,7 +71720,7 @@ "start": 59748, "end": 59754, "length": 7, - "parent_index": 3372 + "parent_index": 3373 }, "name": "require", "type_description": { @@ -70547,7 +71729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -70555,7 +71738,7 @@ } }, { - "id": 3384, + "id": 3385, "node_type": 24, "kind": 24, "src": { @@ -70564,7 +71747,7 @@ "start": 59809, "end": 59846, "length": 38, - "parent_index": 3371 + "parent_index": 3372 }, "argument_types": [ { @@ -70578,7 +71761,7 @@ ], "arguments": [ { - "id": 3386, + "id": 3387, "is_constant": false, "is_pure": false, "node_type": 19, @@ -70588,11 +71771,11 @@ "start": 59817, "end": 59827, "length": 11, - "parent_index": 3384 + "parent_index": 3385 }, "operator": 7, "left_expression": { - "id": 3387, + "id": 3388, "node_type": 16, "src": { "line": 1647, @@ -70600,7 +71783,7 @@ "start": 59817, "end": 59823, "length": 7, - "parent_index": 3386 + "parent_index": 3387 }, "name": "_amount", "type_description": { @@ -70608,11 +71791,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3387, - "is_pure": false + "referenced_declaration": 3388, + "is_pure": false, + "text": "_amount" }, "right_expression": { - "id": 3388, + "id": 3389, "node_type": 17, "kind": 49, "value": "0", @@ -70623,7 +71807,7 @@ "start": 59827, "end": 59827, "length": 1, - "parent_index": 3386 + "parent_index": 3387 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -70631,7 +71815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -70639,7 +71824,7 @@ } }, { - "id": 3389, + "id": 3390, "node_type": 17, "kind": 50, "value": "ZERO MIGRATION", @@ -70650,7 +71835,7 @@ "start": 59830, "end": 59845, "length": 16, - "parent_index": 3384 + "parent_index": 3385 }, "type_description": { "type_identifier": "t_string_literal", @@ -70664,11 +71849,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ZERO MIGRATION\"" } ], "expression": { - "id": 3385, + "id": 3386, "node_type": 16, "src": { "line": 1647, @@ -70676,7 +71862,7 @@ "start": 59809, "end": 59815, "length": 7, - "parent_index": 3384 + "parent_index": 3385 }, "name": "require", "type_description": { @@ -70685,7 +71871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -70693,7 +71880,7 @@ } }, { - "id": 3390, + "id": 3391, "node_type": 44, "src": { "line": 1649, @@ -70701,25 +71888,25 @@ "start": 59858, "end": 59924, "length": 67, - "parent_index": 3371 + "parent_index": 3372 }, "assignments": [ - 3391 + 3392 ], "declarations": [ { - "id": 3391, + "id": 3392, "state_mutability": 1, "name": "lockID", "node_type": 44, - "scope": 3371, + "scope": 3372, "src": { "line": 1649, "column": 8, "start": 59858, "end": 59871, "length": 14, - "parent_index": 3390 + "parent_index": 3391 }, "name_location": { "line": 1649, @@ -70727,12 +71914,12 @@ "start": 59866, "end": 59871, "length": 6, - "parent_index": 3391 + "parent_index": 3392 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3392, + "id": 3393, "node_type": 30, "src": { "line": 1649, @@ -70740,7 +71927,7 @@ "start": 59858, "end": 59864, "length": 7, - "parent_index": 3391 + "parent_index": 3392 }, "name": "uint256", "referenced_declaration": 0, @@ -70753,7 +71940,7 @@ } ], "initial_value": { - "id": 3393, + "id": 3394, "node_type": 22, "src": { "line": 1649, @@ -70761,10 +71948,10 @@ "start": 59875, "end": 59923, "length": 49, - "parent_index": 3390 + "parent_index": 3391 }, "index_expression": { - "id": 3394, + "id": 3395, "node_type": 22, "src": { "line": 1649, @@ -70772,10 +71959,10 @@ "start": 59875, "end": 59915, "length": 41, - "parent_index": 3390 + "parent_index": 3391 }, "index_expression": { - "id": 3395, + "id": 3396, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -70787,7 +71974,7 @@ "start": 59875, "end": 59905, "length": 31, - "parent_index": 3390 + "parent_index": 3391 }, "member_location": { "line": 1649, @@ -70795,10 +71982,10 @@ "start": 59893, "end": 59905, "length": 13, - "parent_index": 3395 + "parent_index": 3396 }, "expression": { - "id": 3396, + "id": 3397, "node_type": 22, "src": { "line": 1649, @@ -70806,10 +71993,10 @@ "start": 59875, "end": 59891, "length": 17, - "parent_index": 3390 + "parent_index": 3391 }, "index_expression": { - "id": 3397, + "id": 3398, "node_type": 16, "src": { "line": 1649, @@ -70817,19 +72004,20 @@ "start": 59875, "end": 59879, "length": 5, - "parent_index": 3396 + "parent_index": 3397 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3398, + "id": 3399, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -70841,7 +72029,7 @@ "start": 59881, "end": 59890, "length": 10, - "parent_index": 3390 + "parent_index": 3391 }, "member_location": { "line": 1649, @@ -70849,10 +72037,10 @@ "start": 59885, "end": 59890, "length": 6, - "parent_index": 3398 + "parent_index": 3399 }, "expression": { - "id": 3399, + "id": 3400, "node_type": 16, "src": { "line": 1649, @@ -70860,7 +72048,7 @@ "start": 59881, "end": 59883, "length": 3, - "parent_index": 3398 + "parent_index": 3399 }, "name": "msg", "type_description": { @@ -70869,18 +72057,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -70889,19 +72079,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].locksForToken" }, "base_expression": { - "id": 3400, + "id": 3401, "node_type": 16, "src": { "line": 1649, @@ -70909,7 +72100,7 @@ "start": 59907, "end": 59914, "length": 8, - "parent_index": 3394 + "parent_index": 3395 }, "name": "_lpToken", "type_description": { @@ -70917,12 +72108,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3400, - "is_pure": false + "referenced_declaration": 3401, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -70931,12 +72123,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } }, "base_expression": { - "id": 3401, + "id": 3402, "node_type": 16, "src": { "line": 1649, @@ -70944,7 +72136,7 @@ "start": 59917, "end": 59922, "length": 6, - "parent_index": 3393 + "parent_index": 3394 }, "name": "_index", "type_description": { @@ -70952,12 +72144,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3401, - "is_pure": false + "referenced_declaration": 3402, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -70966,13 +72159,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "type_string": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" } } }, { - "id": 3402, + "id": 3403, "node_type": 44, "src": { "line": 1650, @@ -70980,25 +72173,25 @@ "start": 59934, "end": 59991, "length": 58, - "parent_index": 3371 + "parent_index": 3372 }, "assignments": [ - 3403 + 3404 ], "declarations": [ { - "id": 3403, + "id": 3404, "state_mutability": 1, "name": "userLock", "node_type": 44, - "scope": 3371, + "scope": 3372, "src": { "line": 1650, "column": 8, "start": 59934, "end": 59959, "length": 26, - "parent_index": 3402 + "parent_index": 3403 }, "name_location": { "line": 1650, @@ -71006,12 +72199,12 @@ "start": 59952, "end": 59959, "length": 8, - "parent_index": 3403 + "parent_index": 3404 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3404, + "id": 3405, "node_type": 69, "src": { "line": 1650, @@ -71019,10 +72212,10 @@ "start": 59934, "end": 59942, "length": 9, - "parent_index": 3403 + "parent_index": 3404 }, "path_node": { - "id": 3405, + "id": 3406, "name": "TokenLock", "node_type": 52, "referenced_declaration": 2031, @@ -71032,7 +72225,7 @@ "start": 59934, "end": 59942, "length": 9, - "parent_index": 3404 + "parent_index": 3405 }, "name_location": { "line": 1650, @@ -71040,7 +72233,7 @@ "start": 59934, "end": 59942, "length": 9, - "parent_index": 3404 + "parent_index": 3405 } }, "referenced_declaration": 2031, @@ -71053,7 +72246,7 @@ } ], "initial_value": { - "id": 3406, + "id": 3407, "node_type": 22, "src": { "line": 1650, @@ -71061,10 +72254,10 @@ "start": 59963, "end": 59990, "length": 28, - "parent_index": 3402 + "parent_index": 3403 }, "index_expression": { - "id": 3407, + "id": 3408, "node_type": 22, "src": { "line": 1650, @@ -71072,10 +72265,10 @@ "start": 59963, "end": 59982, "length": 20, - "parent_index": 3402 + "parent_index": 3403 }, "index_expression": { - "id": 3408, + "id": 3409, "node_type": 16, "src": { "line": 1650, @@ -71083,7 +72276,7 @@ "start": 59963, "end": 59972, "length": 10, - "parent_index": 3407 + "parent_index": 3408 }, "name": "tokenLocks", "type_description": { @@ -71091,11 +72284,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 3409, + "id": 3410, "node_type": 16, "src": { "line": 1650, @@ -71103,7 +72297,7 @@ "start": 59974, "end": 59981, "length": 8, - "parent_index": 3407 + "parent_index": 3408 }, "name": "_lpToken", "type_description": { @@ -71111,8 +72305,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3409, - "is_pure": false + "referenced_declaration": 3410, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -71130,7 +72325,7 @@ } }, "base_expression": { - "id": 3410, + "id": 3411, "node_type": 16, "src": { "line": 1650, @@ -71138,7 +72333,7 @@ "start": 59984, "end": 59989, "length": 6, - "parent_index": 3406 + "parent_index": 3407 }, "name": "lockID", "type_description": { @@ -71146,8 +72341,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3390, - "is_pure": false + "referenced_declaration": 3391, + "is_pure": false, + "text": "lockID" }, "type_descriptions": [ { @@ -71166,7 +72362,7 @@ } }, { - "id": 3411, + "id": 3412, "node_type": 24, "kind": 24, "src": { @@ -71175,7 +72371,7 @@ "start": 60001, "end": 60109, "length": 109, - "parent_index": 3371 + "parent_index": 3372 }, "argument_types": [ { @@ -71189,7 +72385,7 @@ ], "arguments": [ { - "id": 3414, + "id": 3415, "node_type": 96, "src": { "line": 1652, @@ -71197,11 +72393,11 @@ "start": 60022, "end": 60070, "length": 49, - "parent_index": 3411 + "parent_index": 3412 }, "expressions": [ { - "id": 3415, + "id": 3416, "is_constant": false, "is_pure": false, "node_type": 19, @@ -71211,11 +72407,11 @@ "start": 60022, "end": 60038, "length": 17, - "parent_index": 3414 + "parent_index": 3415 }, "operator": 11, "left_expression": { - "id": 3416, + "id": 3417, "node_type": 16, "src": { "line": 1652, @@ -71223,7 +72419,7 @@ "start": 60022, "end": 60027, "length": 6, - "parent_index": 3415 + "parent_index": 3416 }, "name": "lockID", "type_description": { @@ -71231,11 +72427,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3390, - "is_pure": false + "referenced_declaration": 3391, + "is_pure": false, + "text": "lockID" }, "right_expression": { - "id": 3417, + "id": 3418, "node_type": 16, "src": { "line": 1652, @@ -71243,7 +72440,7 @@ "start": 60032, "end": 60038, "length": 7, - "parent_index": 3415 + "parent_index": 3416 }, "name": "_lockID", "type_description": { @@ -71251,8 +72448,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3417, - "is_pure": false + "referenced_declaration": 3418, + "is_pure": false, + "text": "_lockID" }, "type_description": { "type_identifier": "t_bool", @@ -71260,7 +72458,7 @@ } }, { - "id": 3418, + "id": 3419, "is_constant": false, "is_pure": false, "node_type": 19, @@ -71270,11 +72468,11 @@ "start": 60043, "end": 60070, "length": 28, - "parent_index": 3414 + "parent_index": 3415 }, "operator": 11, "left_expression": { - "id": 3419, + "id": 3420, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -71286,7 +72484,7 @@ "start": 60043, "end": 60056, "length": 14, - "parent_index": 3418 + "parent_index": 3419 }, "member_location": { "line": 1652, @@ -71294,10 +72492,10 @@ "start": 60052, "end": 60056, "length": 5, - "parent_index": 3419 + "parent_index": 3420 }, "expression": { - "id": 3420, + "id": 3421, "node_type": 16, "src": { "line": 1652, @@ -71305,7 +72503,7 @@ "start": 60043, "end": 60050, "length": 8, - "parent_index": 3419 + "parent_index": 3420 }, "name": "userLock", "type_description": { @@ -71313,18 +72511,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3402, - "is_pure": false + "referenced_declaration": 3403, + "is_pure": false, + "text": "userLock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.owner" }, "right_expression": { - "id": 3421, + "id": 3422, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -71336,7 +72536,7 @@ "start": 60061, "end": 60070, "length": 10, - "parent_index": 3418 + "parent_index": 3419 }, "member_location": { "line": 1652, @@ -71344,10 +72544,10 @@ "start": 60065, "end": 60070, "length": 6, - "parent_index": 3421 + "parent_index": 3422 }, "expression": { - "id": 3422, + "id": 3423, "node_type": 16, "src": { "line": 1652, @@ -71355,7 +72555,7 @@ "start": 60061, "end": 60063, "length": 3, - "parent_index": 3421 + "parent_index": 3422 }, "name": "msg", "type_description": { @@ -71364,14 +72564,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -71391,7 +72593,7 @@ ] }, { - "id": 3423, + "id": 3424, "node_type": 17, "kind": 50, "value": "LOCK MISMATCH", @@ -71402,7 +72604,7 @@ "start": 60085, "end": 60099, "length": 15, - "parent_index": 3411 + "parent_index": 3412 }, "type_description": { "type_identifier": "t_string_literal", @@ -71416,11 +72618,12 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"LOCK MISMATCH\"" } ], "expression": { - "id": 3412, + "id": 3413, "node_type": 16, "src": { "line": 1651, @@ -71428,7 +72631,7 @@ "start": 60001, "end": 60007, "length": 7, - "parent_index": 3411 + "parent_index": 3412 }, "name": "require", "type_description": { @@ -71437,7 +72640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -71445,7 +72649,7 @@ } }, { - "id": 3424, + "id": 3425, "node_type": 27, "src": { "line": 1655, @@ -71453,10 +72657,10 @@ "start": 60156, "end": 60201, "length": 46, - "parent_index": 3371 + "parent_index": 3372 }, "expression": { - "id": 3425, + "id": 3426, "node_type": 27, "src": { "line": 1655, @@ -71464,11 +72668,11 @@ "start": 60156, "end": 60200, "length": 45, - "parent_index": 3424 + "parent_index": 3425 }, "operator": 11, "left_expression": { - "id": 3426, + "id": 3427, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -71480,7 +72684,7 @@ "start": 60156, "end": 60170, "length": 15, - "parent_index": 3425 + "parent_index": 3426 }, "member_location": { "line": 1655, @@ -71488,10 +72692,10 @@ "start": 60165, "end": 60170, "length": 6, - "parent_index": 3426 + "parent_index": 3427 }, "expression": { - "id": 3427, + "id": 3428, "node_type": 16, "src": { "line": 1655, @@ -71499,7 +72703,7 @@ "start": 60156, "end": 60163, "length": 8, - "parent_index": 3426 + "parent_index": 3427 }, "name": "userLock", "type_description": { @@ -71507,18 +72711,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3402, - "is_pure": false + "referenced_declaration": 3403, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 3428, + "id": 3429, "is_constant": false, "is_pure": false, "node_type": 19, @@ -71528,11 +72734,11 @@ "start": 60174, "end": 60200, "length": 27, - "parent_index": 3425 + "parent_index": 3426 }, "operator": 2, "left_expression": { - "id": 3429, + "id": 3430, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -71544,7 +72750,7 @@ "start": 60174, "end": 60188, "length": 15, - "parent_index": 3428 + "parent_index": 3429 }, "member_location": { "line": 1655, @@ -71552,10 +72758,10 @@ "start": 60183, "end": 60188, "length": 6, - "parent_index": 3429 + "parent_index": 3430 }, "expression": { - "id": 3430, + "id": 3431, "node_type": 16, "src": { "line": 1655, @@ -71563,7 +72769,7 @@ "start": 60174, "end": 60181, "length": 8, - "parent_index": 3429 + "parent_index": 3430 }, "name": "userLock", "type_description": { @@ -71571,18 +72777,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3402, - "is_pure": false + "referenced_declaration": 3403, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 3431, + "id": 3432, "node_type": 60, "src": { "line": 1655, @@ -71590,13 +72798,13 @@ "start": 60192, "end": 60200, "length": 9, - "parent_index": 3428 + "parent_index": 3429 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3432, + "id": 3433, "node_type": 16, "src": { "line": 1655, @@ -71604,7 +72812,7 @@ "start": 60193, "end": 60199, "length": 7, - "parent_index": 3431 + "parent_index": 3432 }, "name": "_amount", "type_description": { @@ -71612,8 +72820,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3432, - "is_pure": false + "referenced_declaration": 3433, + "is_pure": false, + "text": "_amount" } ], "type_description": { @@ -71634,10 +72843,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount=userLock.amount-(_amount);" }, { - "id": 3433, + "id": 3434, "node_type": 48, "src": { "line": 1658, @@ -71645,10 +72855,10 @@ "start": 60242, "end": 60607, "length": 366, - "parent_index": 3371 + "parent_index": 3372 }, "condition": { - "id": 3434, + "id": 3435, "is_constant": false, "is_pure": false, "node_type": 19, @@ -71658,11 +72868,11 @@ "start": 60246, "end": 60265, "length": 20, - "parent_index": 3433 + "parent_index": 3434 }, "operator": 11, "left_expression": { - "id": 3435, + "id": 3436, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -71674,7 +72884,7 @@ "start": 60246, "end": 60260, "length": 15, - "parent_index": 3434 + "parent_index": 3435 }, "member_location": { "line": 1658, @@ -71682,10 +72892,10 @@ "start": 60255, "end": 60260, "length": 6, - "parent_index": 3435 + "parent_index": 3436 }, "expression": { - "id": 3436, + "id": 3437, "node_type": 16, "src": { "line": 1658, @@ -71693,7 +72903,7 @@ "start": 60246, "end": 60253, "length": 8, - "parent_index": 3435 + "parent_index": 3436 }, "name": "userLock", "type_description": { @@ -71701,18 +72911,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3402, - "is_pure": false + "referenced_declaration": 3403, + "is_pure": false, + "text": "userLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.amount" }, "right_expression": { - "id": 3437, + "id": 3438, "node_type": 17, "kind": 49, "value": "0", @@ -71723,7 +72935,7 @@ "start": 60265, "end": 60265, "length": 1, - "parent_index": 3434 + "parent_index": 3435 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -71731,7 +72943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -71739,7 +72952,7 @@ } }, "body": { - "id": 3438, + "id": 3439, "node_type": 46, "kind": 0, "src": { @@ -71748,12 +72961,12 @@ "start": 60268, "end": 60607, "length": 340, - "parent_index": 3356 + "parent_index": 3357 }, "implemented": true, "statements": [ { - "id": 3439, + "id": 3440, "node_type": 44, "src": { "line": 1659, @@ -71761,25 +72974,25 @@ "start": 60282, "end": 60383, "length": 102, - "parent_index": 3438 + "parent_index": 3439 }, "assignments": [ - 3440 + 3441 ], "declarations": [ { - "id": 3440, + "id": 3441, "state_mutability": 1, "name": "userLocks", "node_type": 44, - "scope": 3438, + "scope": 3439, "src": { "line": 1659, "column": 12, "start": 60282, "end": 60308, "length": 27, - "parent_index": 3439 + "parent_index": 3440 }, "name_location": { "line": 1659, @@ -71787,12 +73000,12 @@ "start": 60300, "end": 60308, "length": 9, - "parent_index": 3440 + "parent_index": 3441 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3441, + "id": 3442, "node_type": 16, "src": { "line": 1659, @@ -71800,7 +73013,7 @@ "start": 60282, "end": 60288, "length": 7, - "parent_index": 3440 + "parent_index": 3441 }, "name": "uint256", "referenced_declaration": 0, @@ -71813,7 +73026,7 @@ } ], "initial_value": { - "id": 3442, + "id": 3443, "node_type": 22, "src": { "line": 1659, @@ -71821,10 +73034,10 @@ "start": 60312, "end": 60382, "length": 71, - "parent_index": 3439 + "parent_index": 3440 }, "index_expression": { - "id": 3443, + "id": 3444, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -71836,7 +73049,7 @@ "start": 60312, "end": 60342, "length": 31, - "parent_index": 3439 + "parent_index": 3440 }, "member_location": { "line": 1659, @@ -71844,10 +73057,10 @@ "start": 60330, "end": 60342, "length": 13, - "parent_index": 3443 + "parent_index": 3444 }, "expression": { - "id": 3444, + "id": 3445, "node_type": 22, "src": { "line": 1659, @@ -71855,10 +73068,10 @@ "start": 60312, "end": 60328, "length": 17, - "parent_index": 3439 + "parent_index": 3440 }, "index_expression": { - "id": 3445, + "id": 3446, "node_type": 16, "src": { "line": 1659, @@ -71866,19 +73079,20 @@ "start": 60312, "end": 60316, "length": 5, - "parent_index": 3444 + "parent_index": 3445 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3446, + "id": 3447, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -71890,7 +73104,7 @@ "start": 60318, "end": 60327, "length": 10, - "parent_index": 3439 + "parent_index": 3440 }, "member_location": { "line": 1659, @@ -71898,10 +73112,10 @@ "start": 60322, "end": 60327, "length": 6, - "parent_index": 3446 + "parent_index": 3447 }, "expression": { - "id": 3447, + "id": 3448, "node_type": 16, "src": { "line": 1659, @@ -71909,7 +73123,7 @@ "start": 60318, "end": 60320, "length": 3, - "parent_index": 3446 + "parent_index": 3447 }, "name": "msg", "type_description": { @@ -71918,18 +73132,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -71938,19 +73154,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].locksForToken" }, "base_expression": { - "id": 3448, + "id": 3449, "node_type": 16, "src": { "line": 1660, @@ -71958,7 +73175,7 @@ "start": 60361, "end": 60368, "length": 8, - "parent_index": 3442 + "parent_index": 3443 }, "name": "_lpToken", "type_description": { @@ -71966,12 +73183,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3448, - "is_pure": false + "referenced_declaration": 3449, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -71980,13 +73198,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } } }, { - "id": 3449, + "id": 3450, "node_type": 27, "src": { "line": 1662, @@ -71994,10 +73212,10 @@ "start": 60397, "end": 60448, "length": 52, - "parent_index": 3438 + "parent_index": 3439 }, "expression": { - "id": 3450, + "id": 3451, "node_type": 27, "src": { "line": 1662, @@ -72005,11 +73223,11 @@ "start": 60397, "end": 60447, "length": 51, - "parent_index": 3449 + "parent_index": 3450 }, "operator": 11, "left_expression": { - "id": 3451, + "id": 3452, "node_type": 22, "src": { "line": 1662, @@ -72017,10 +73235,10 @@ "start": 60397, "end": 60413, "length": 17, - "parent_index": 3450 + "parent_index": 3451 }, "index_expression": { - "id": 3452, + "id": 3453, "node_type": 16, "src": { "line": 1662, @@ -72028,7 +73246,7 @@ "start": 60397, "end": 60405, "length": 9, - "parent_index": 3451 + "parent_index": 3452 }, "name": "userLocks", "type_description": { @@ -72036,11 +73254,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3439, - "is_pure": false + "referenced_declaration": 3440, + "is_pure": false, + "text": "userLocks" }, "base_expression": { - "id": 3453, + "id": 3454, "node_type": 16, "src": { "line": 1662, @@ -72048,7 +73267,7 @@ "start": 60407, "end": 60412, "length": 6, - "parent_index": 3451 + "parent_index": 3452 }, "name": "_index", "type_description": { @@ -72056,8 +73275,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3453, - "is_pure": false + "referenced_declaration": 3454, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { @@ -72075,7 +73295,7 @@ } }, "right_expression": { - "id": 3454, + "id": 3455, "node_type": 22, "src": { "line": 1662, @@ -72083,10 +73303,10 @@ "start": 60417, "end": 60447, "length": 31, - "parent_index": 3450 + "parent_index": 3451 }, "index_expression": { - "id": 3455, + "id": 3456, "node_type": 16, "src": { "line": 1662, @@ -72094,7 +73314,7 @@ "start": 60417, "end": 60425, "length": 9, - "parent_index": 3454 + "parent_index": 3455 }, "name": "userLocks", "type_description": { @@ -72102,11 +73322,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3439, - "is_pure": false + "referenced_declaration": 3440, + "is_pure": false, + "text": "userLocks" }, "base_expression": { - "id": 3456, + "id": 3457, "is_constant": false, "is_pure": false, "node_type": 19, @@ -72116,11 +73337,11 @@ "start": 60427, "end": 60446, "length": 20, - "parent_index": 3454 + "parent_index": 3455 }, "operator": 2, "left_expression": { - "id": 3457, + "id": 3458, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -72132,7 +73353,7 @@ "start": 60427, "end": 60442, "length": 16, - "parent_index": 3456 + "parent_index": 3457 }, "member_location": { "line": 1662, @@ -72140,10 +73361,10 @@ "start": 60437, "end": 60442, "length": 6, - "parent_index": 3457 + "parent_index": 3458 }, "expression": { - "id": 3458, + "id": 3459, "node_type": 16, "src": { "line": 1662, @@ -72151,7 +73372,7 @@ "start": 60427, "end": 60435, "length": 9, - "parent_index": 3457 + "parent_index": 3458 }, "name": "userLocks", "type_description": { @@ -72159,18 +73380,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3439, - "is_pure": false + "referenced_declaration": 3440, + "is_pure": false, + "text": "userLocks" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "userLocks.length" }, "right_expression": { - "id": 3459, + "id": 3460, "node_type": 17, "kind": 49, "value": "1", @@ -72181,7 +73404,7 @@ "start": 60446, "end": 60446, "length": 1, - "parent_index": 3456 + "parent_index": 3457 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -72189,7 +73412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -72219,10 +73443,11 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "userLocks[_index]=userLocks[userLocks.length-1];" }, { - "id": 3460, + "id": 3461, "node_type": 24, "kind": 24, "src": { @@ -72231,12 +73456,12 @@ "start": 60462, "end": 60476, "length": 15, - "parent_index": 3438 + "parent_index": 3439 }, "argument_types": [], "arguments": [], "expression": { - "id": 3461, + "id": 3462, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -72248,7 +73473,7 @@ "start": 60462, "end": 60474, "length": 13, - "parent_index": 3460 + "parent_index": 3461 }, "member_location": { "line": 1663, @@ -72256,10 +73481,10 @@ "start": 60472, "end": 60474, "length": 3, - "parent_index": 3461 + "parent_index": 3462 }, "expression": { - "id": 3462, + "id": 3463, "node_type": 16, "src": { "line": 1663, @@ -72267,7 +73492,7 @@ "start": 60462, "end": 60470, "length": 9, - "parent_index": 3461 + "parent_index": 3462 }, "name": "userLocks", "type_description": { @@ -72275,15 +73500,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3439, - "is_pure": false + "referenced_declaration": 3440, + "is_pure": false, + "text": "userLocks" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "userLocks.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -72291,7 +73518,7 @@ } }, { - "id": 3463, + "id": 3464, "node_type": 48, "src": { "line": 1664, @@ -72299,10 +73526,10 @@ "start": 60491, "end": 60597, "length": 107, - "parent_index": 3438 + "parent_index": 3439 }, "condition": { - "id": 3464, + "id": 3465, "is_constant": false, "is_pure": false, "node_type": 19, @@ -72312,11 +73539,11 @@ "start": 60495, "end": 60515, "length": 21, - "parent_index": 3463 + "parent_index": 3464 }, "operator": 11, "left_expression": { - "id": 3465, + "id": 3466, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -72328,7 +73555,7 @@ "start": 60495, "end": 60510, "length": 16, - "parent_index": 3464 + "parent_index": 3465 }, "member_location": { "line": 1664, @@ -72336,10 +73563,10 @@ "start": 60505, "end": 60510, "length": 6, - "parent_index": 3465 + "parent_index": 3466 }, "expression": { - "id": 3466, + "id": 3467, "node_type": 16, "src": { "line": 1664, @@ -72347,7 +73574,7 @@ "start": 60495, "end": 60503, "length": 9, - "parent_index": 3465 + "parent_index": 3466 }, "name": "userLocks", "type_description": { @@ -72355,18 +73582,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3439, - "is_pure": false + "referenced_declaration": 3440, + "is_pure": false, + "text": "userLocks" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "userLocks.length" }, "right_expression": { - "id": 3467, + "id": 3468, "node_type": 17, "kind": 49, "value": "0", @@ -72377,7 +73606,7 @@ "start": 60515, "end": 60515, "length": 1, - "parent_index": 3464 + "parent_index": 3465 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -72385,7 +73614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -72393,7 +73623,7 @@ } }, "body": { - "id": 3468, + "id": 3469, "node_type": 46, "kind": 0, "src": { @@ -72402,12 +73632,12 @@ "start": 60518, "end": 60597, "length": 80, - "parent_index": 3356 + "parent_index": 3357 }, "implemented": true, "statements": [ { - "id": 3469, + "id": 3470, "node_type": 24, "kind": 24, "src": { @@ -72416,7 +73646,7 @@ "start": 60536, "end": 60582, "length": 47, - "parent_index": 3468 + "parent_index": 3469 }, "argument_types": [ { @@ -72426,7 +73656,7 @@ ], "arguments": [ { - "id": 3476, + "id": 3477, "node_type": 16, "src": { "line": 1665, @@ -72434,7 +73664,7 @@ "start": 60574, "end": 60581, "length": 8, - "parent_index": 3469 + "parent_index": 3470 }, "name": "_lpToken", "type_description": { @@ -72442,12 +73672,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3476, - "is_pure": false + "referenced_declaration": 3477, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 3470, + "id": 3471, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -72459,7 +73690,7 @@ "start": 60536, "end": 60572, "length": 37, - "parent_index": 3469 + "parent_index": 3470 }, "member_location": { "line": 1665, @@ -72467,10 +73698,10 @@ "start": 60567, "end": 60572, "length": 6, - "parent_index": 3470 + "parent_index": 3471 }, "expression": { - "id": 3471, + "id": 3472, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -72482,7 +73713,7 @@ "start": 60536, "end": 60565, "length": 30, - "parent_index": 3470 + "parent_index": 3471 }, "member_location": { "line": 1665, @@ -72490,10 +73721,10 @@ "start": 60554, "end": 60565, "length": 12, - "parent_index": 3471 + "parent_index": 3472 }, "expression": { - "id": 3472, + "id": 3473, "node_type": 22, "src": { "line": 1665, @@ -72501,10 +73732,10 @@ "start": 60536, "end": 60552, "length": 17, - "parent_index": 3471 + "parent_index": 3472 }, "index_expression": { - "id": 3473, + "id": 3474, "node_type": 16, "src": { "line": 1665, @@ -72512,19 +73743,20 @@ "start": 60536, "end": 60540, "length": 5, - "parent_index": 3472 + "parent_index": 3473 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3474, + "id": 3475, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -72536,7 +73768,7 @@ "start": 60542, "end": 60551, "length": 10, - "parent_index": 3472 + "parent_index": 3473 }, "member_location": { "line": 1665, @@ -72544,10 +73776,10 @@ "start": 60546, "end": 60551, "length": 6, - "parent_index": 3474 + "parent_index": 3475 }, "expression": { - "id": 3475, + "id": 3476, "node_type": 16, "src": { "line": 1665, @@ -72555,7 +73787,7 @@ "start": 60542, "end": 60544, "length": 3, - "parent_index": 3474 + "parent_index": 3475 }, "name": "msg", "type_description": { @@ -72564,18 +73796,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -72584,23 +73818,25 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "lockedTokens", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].lockedTokens" }, "member_name": "remove", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[msg.sender].lockedTokens.remove" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -72614,7 +73850,7 @@ } }, { - "id": 3477, + "id": 3478, "node_type": 24, "kind": 24, "src": { @@ -72623,7 +73859,7 @@ "start": 60618, "end": 60673, "length": 56, - "parent_index": 3371 + "parent_index": 3372 }, "argument_types": [ { @@ -72637,7 +73873,7 @@ ], "arguments": [ { - "id": 3482, + "id": 3483, "node_type": 24, "kind": 24, "src": { @@ -72646,7 +73882,7 @@ "start": 60647, "end": 60663, "length": 17, - "parent_index": 3477 + "parent_index": 3478 }, "argument_types": [ { @@ -72656,7 +73892,7 @@ ], "arguments": [ { - "id": 3485, + "id": 3486, "node_type": 16, "src": { "line": 1669, @@ -72664,7 +73900,7 @@ "start": 60655, "end": 60662, "length": 8, - "parent_index": 3482 + "parent_index": 3483 }, "name": "migrator", "type_description": { @@ -72673,11 +73909,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "migrator" } ], "expression": { - "id": 3483, + "id": 3484, "node_type": 16, "src": { "line": 1669, @@ -72685,11 +73922,11 @@ "start": 60647, "end": 60653, "length": 7, - "parent_index": 3482 + "parent_index": 3483 }, "name": "address", "type_name": { - "id": 3484, + "id": 3485, "node_type": 30, "src": { "line": 1669, @@ -72697,7 +73934,7 @@ "start": 60647, "end": 60653, "length": 7, - "parent_index": 3483 + "parent_index": 3484 }, "name": "address", "state_mutability": 4, @@ -72719,7 +73956,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -72727,7 +73965,7 @@ } }, { - "id": 3486, + "id": 3487, "node_type": 16, "src": { "line": 1669, @@ -72735,7 +73973,7 @@ "start": 60666, "end": 60672, "length": 7, - "parent_index": 3477 + "parent_index": 3478 }, "name": "_amount", "type_description": { @@ -72743,18 +73981,19 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3486, + "referenced_declaration": 3487, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "_amount" } ], "expression": { - "id": 3478, + "id": 3479, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -72766,7 +74005,7 @@ "start": 60618, "end": 60645, "length": 28, - "parent_index": 3477 + "parent_index": 3478 }, "member_location": { "line": 1669, @@ -72774,10 +74013,10 @@ "start": 60635, "end": 60645, "length": 11, - "parent_index": 3478 + "parent_index": 3479 }, "expression": { - "id": 3479, + "id": 3480, "node_type": 24, "kind": 24, "src": { @@ -72786,7 +74025,7 @@ "start": 60618, "end": 60633, "length": 16, - "parent_index": 3478 + "parent_index": 3479 }, "argument_types": [ { @@ -72796,7 +74035,7 @@ ], "arguments": [ { - "id": 3481, + "id": 3482, "node_type": 16, "src": { "line": 1669, @@ -72804,7 +74043,7 @@ "start": 60625, "end": 60632, "length": 8, - "parent_index": 3479 + "parent_index": 3480 }, "name": "_lpToken", "type_description": { @@ -72812,12 +74051,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3481, - "is_pure": false + "referenced_declaration": 3482, + "is_pure": false, + "text": "_lpToken" } ], "expression": { - "id": 3480, + "id": 3481, "node_type": 16, "src": { "line": 1669, @@ -72825,7 +74065,7 @@ "start": 60618, "end": 60623, "length": 6, - "parent_index": 3479 + "parent_index": 3480 }, "name": "IERC20", "type_description": { @@ -72834,7 +74074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -72846,7 +74087,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(_lpToken).safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_uint256$", @@ -72854,7 +74096,7 @@ } }, { - "id": 3487, + "id": 3488, "node_type": 24, "kind": 24, "src": { @@ -72863,7 +74105,7 @@ "start": 60684, "end": 60751, "length": 68, - "parent_index": 3371 + "parent_index": 3372 }, "argument_types": [ { @@ -72885,7 +74127,7 @@ ], "arguments": [ { - "id": 3490, + "id": 3491, "node_type": 16, "src": { "line": 1670, @@ -72893,7 +74135,7 @@ "start": 60701, "end": 60708, "length": 8, - "parent_index": 3487 + "parent_index": 3488 }, "name": "_lpToken", "type_description": { @@ -72901,11 +74143,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3490, - "is_pure": false + "referenced_declaration": 3491, + "is_pure": false, + "text": "_lpToken" }, { - "id": 3491, + "id": 3492, "node_type": 16, "src": { "line": 1670, @@ -72913,7 +74156,7 @@ "start": 60711, "end": 60717, "length": 7, - "parent_index": 3487 + "parent_index": 3488 }, "name": "_amount", "type_description": { @@ -72921,17 +74164,18 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3491, + "referenced_declaration": 3492, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" }, { - "id": 3492, + "id": 3493, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -72943,7 +74187,7 @@ "start": 60720, "end": 60738, "length": 19, - "parent_index": 3487 + "parent_index": 3488 }, "member_location": { "line": 1670, @@ -72951,10 +74195,10 @@ "start": 60729, "end": 60738, "length": 10, - "parent_index": 3492 + "parent_index": 3493 }, "expression": { - "id": 3493, + "id": 3494, "node_type": 16, "src": { "line": 1670, @@ -72962,7 +74206,7 @@ "start": 60720, "end": 60727, "length": 8, - "parent_index": 3492 + "parent_index": 3493 }, "name": "userLock", "type_description": { @@ -72970,8 +74214,9 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3402, - "is_pure": false + "referenced_declaration": 3403, + "is_pure": false, + "text": "userLock" }, "member_name": "unlockDate", "argument_types": [ @@ -72987,10 +74232,11 @@ "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "userLock.unlockDate" }, { - "id": 3494, + "id": 3495, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -73002,7 +74248,7 @@ "start": 60741, "end": 60750, "length": 10, - "parent_index": 3487 + "parent_index": 3488 }, "member_location": { "line": 1670, @@ -73010,10 +74256,10 @@ "start": 60745, "end": 60750, "length": 6, - "parent_index": 3494 + "parent_index": 3495 }, "expression": { - "id": 3495, + "id": 3496, "node_type": 16, "src": { "line": 1670, @@ -73021,7 +74267,7 @@ "start": 60741, "end": 60743, "length": 3, - "parent_index": 3494 + "parent_index": 3495 }, "name": "msg", "type_description": { @@ -73030,7 +74276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -73050,11 +74297,12 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 3488, + "id": 3489, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -73066,7 +74314,7 @@ "start": 60684, "end": 60699, "length": 16, - "parent_index": 3487 + "parent_index": 3488 }, "member_location": { "line": 1670, @@ -73074,10 +74322,10 @@ "start": 60693, "end": 60699, "length": 7, - "parent_index": 3488 + "parent_index": 3489 }, "expression": { - "id": 3489, + "id": 3490, "node_type": 16, "src": { "line": 1670, @@ -73085,7 +74333,7 @@ "start": 60684, "end": 60691, "length": 8, - "parent_index": 3488 + "parent_index": 3489 }, "name": "migrator", "type_description": { @@ -73093,15 +74341,17 @@ "type_string": "contract IMigrator" }, "overloaded_declarations": [], - "referenced_declaration": 2092, - "is_pure": false + "referenced_declaration": 2093, + "is_pure": false, + "text": "migrator" }, "member_name": "migrate", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IMigrator_$1962", "type_string": "contract IMigrator" - } + }, + "text": "migrator.migrate" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_struct$_KnoxLpLocker_TokenLock_$2031$_t_address$", @@ -73109,7 +74359,7 @@ } }, { - "id": 3496, + "id": 3497, "node_type": 47, "src": { "line": 1672, @@ -73117,11 +74367,11 @@ "start": 60763, "end": 60774, "length": 12, - "parent_index": 3356 + "parent_index": 3357 }, - "function_return_parameters": 3356, + "function_return_parameters": 3357, "expression": { - "id": 3497, + "id": 3498, "node_type": 17, "kind": 61, "value": "true", @@ -73132,7 +74382,7 @@ "start": 60770, "end": 60773, "length": 4, - "parent_index": 3496 + "parent_index": 3497 }, "type_description": { "type_identifier": "t_bool", @@ -73140,7 +74390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -73151,7 +74402,7 @@ "virtual": false, "modifiers": [ { - "id": 3366, + "id": 3367, "name": "nonReentrant", "node_type": 72, "kind": 72, @@ -73161,12 +74412,12 @@ "start": 59710, "end": 59721, "length": 12, - "parent_index": 3356 + "parent_index": 3357 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3367, + "id": 3368, "name": "nonReentrant", "node_type": 0, "src": { @@ -73175,14 +74426,14 @@ "start": 59710, "end": 59721, "length": 12, - "parent_index": 3366 + "parent_index": 3367 } } } ], "overrides": [], "parameters": { - "id": 3357, + "id": 3358, "node_type": 43, "src": { "line": 1641, @@ -73190,11 +74441,11 @@ "start": 59604, "end": 59693, "length": 90, - "parent_index": 3356 + "parent_index": 3357 }, "parameters": [ { - "id": 3358, + "id": 3359, "node_type": 44, "src": { "line": 1641, @@ -73202,12 +74453,12 @@ "start": 59604, "end": 59619, "length": 16, - "parent_index": 3357 + "parent_index": 3358 }, - "scope": 3356, + "scope": 3357, "name": "_lpToken", "type_name": { - "id": 3359, + "id": 3360, "node_type": 30, "src": { "line": 1641, @@ -73215,7 +74466,7 @@ "start": 59604, "end": 59610, "length": 7, - "parent_index": 3358 + "parent_index": 3359 }, "name": "address", "state_mutability": 4, @@ -73234,7 +74485,7 @@ } }, { - "id": 3360, + "id": 3361, "node_type": 44, "src": { "line": 1642, @@ -73242,12 +74493,12 @@ "start": 59630, "end": 59643, "length": 14, - "parent_index": 3357 + "parent_index": 3358 }, - "scope": 3356, + "scope": 3357, "name": "_index", "type_name": { - "id": 3361, + "id": 3362, "node_type": 30, "src": { "line": 1642, @@ -73255,7 +74506,7 @@ "start": 59630, "end": 59636, "length": 7, - "parent_index": 3360 + "parent_index": 3361 }, "name": "uint256", "referenced_declaration": 0, @@ -73273,7 +74524,7 @@ } }, { - "id": 3362, + "id": 3363, "node_type": 44, "src": { "line": 1643, @@ -73281,12 +74532,12 @@ "start": 59654, "end": 59668, "length": 15, - "parent_index": 3357 + "parent_index": 3358 }, - "scope": 3356, + "scope": 3357, "name": "_lockID", "type_name": { - "id": 3363, + "id": 3364, "node_type": 30, "src": { "line": 1643, @@ -73294,7 +74545,7 @@ "start": 59654, "end": 59660, "length": 7, - "parent_index": 3362 + "parent_index": 3363 }, "name": "uint256", "referenced_declaration": 0, @@ -73312,7 +74563,7 @@ } }, { - "id": 3364, + "id": 3365, "node_type": 44, "src": { "line": 1644, @@ -73320,12 +74571,12 @@ "start": 59679, "end": 59693, "length": 15, - "parent_index": 3357 + "parent_index": 3358 }, - "scope": 3356, + "scope": 3357, "name": "_amount", "type_name": { - "id": 3365, + "id": 3366, "node_type": 30, "src": { "line": 1644, @@ -73333,7 +74584,7 @@ "start": 59679, "end": 59685, "length": 7, - "parent_index": 3364 + "parent_index": 3365 }, "name": "uint256", "referenced_declaration": 0, @@ -73371,7 +74622,7 @@ ] }, "return_parameters": { - "id": 3368, + "id": 3369, "node_type": 43, "src": { "line": 1645, @@ -73379,11 +74630,11 @@ "start": 59732, "end": 59735, "length": 4, - "parent_index": 3356 + "parent_index": 3357 }, "parameters": [ { - "id": 3369, + "id": 3370, "node_type": 44, "src": { "line": 1645, @@ -73391,12 +74642,12 @@ "start": 59732, "end": 59735, "length": 4, - "parent_index": 3368 + "parent_index": 3369 }, - "scope": 3356, + "scope": 3357, "name": "", "type_name": { - "id": 3370, + "id": 3371, "node_type": 30, "src": { "line": 1645, @@ -73404,7 +74655,7 @@ "start": 59732, "end": 59735, "length": 4, - "parent_index": 3369 + "parent_index": 3370 }, "name": "bool", "referenced_declaration": 0, @@ -73429,16 +74680,17 @@ } ] }, - "signature_raw": "migrate(address, uint256, uint256, uint256)", - "signature": "4a4aa10c", + "signature_raw": "migrate(address,uint256,uint256,uint256)", + "signature": "ee424278", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functionmigrate(address_lpToken,uint256_index,uint256_lockID,uint256_amount)externalnonReentrantreturns(bool){require(address(migrator)!=address(0),\"NOT SET\");require(_amount\u003e0,\"ZERO MIGRATION\");uint256lockID=users[msg.sender].locksForToken[_lpToken][_index];TokenLockstorageuserLock=tokenLocks[_lpToken][lockID];require(lockID==_lockID\u0026\u0026userLock.owner==msg.sender,\"LOCK MISMATCH\");userLock.amount=userLock.amount-(_amount);if(userLock.amount==0){uint256[]storageuserLocks=users[msg.sender].locksForToken[_lpToken];userLocks[_index]=userLocks[userLocks.length-1];userLocks.pop();if(userLocks.length==0){users[msg.sender].lockedTokens.remove(_lpToken);}}IERC20(_lpToken).safeApprove(address(migrator),_amount);migrator.migrate(_lpToken,_amount,userLock.unlockDate,msg.sender);returntrue;}" }, { - "id": 3499, + "id": 3500, "name": "getNumLocksForToken", "node_type": 42, "kind": 41, @@ -73456,10 +74708,10 @@ "start": 60796, "end": 60814, "length": 19, - "parent_index": 3499 + "parent_index": 3500 }, "body": { - "id": 3506, + "id": 3507, "node_type": 46, "kind": 0, "src": { @@ -73468,12 +74720,12 @@ "start": 60880, "end": 60930, "length": 51, - "parent_index": 3499 + "parent_index": 3500 }, "implemented": true, "statements": [ { - "id": 3507, + "id": 3508, "node_type": 47, "src": { "line": 1678, @@ -73481,11 +74733,11 @@ "start": 60890, "end": 60924, "length": 35, - "parent_index": 3499 + "parent_index": 3500 }, - "function_return_parameters": 3499, + "function_return_parameters": 3500, "expression": { - "id": 3508, + "id": 3509, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -73497,7 +74749,7 @@ "start": 60897, "end": 60923, "length": 27, - "parent_index": 3507 + "parent_index": 3508 }, "member_location": { "line": 1678, @@ -73505,10 +74757,10 @@ "start": 60918, "end": 60923, "length": 6, - "parent_index": 3508 + "parent_index": 3509 }, "expression": { - "id": 3509, + "id": 3510, "node_type": 22, "src": { "line": 1678, @@ -73516,10 +74768,10 @@ "start": 60897, "end": 60916, "length": 20, - "parent_index": 3508 + "parent_index": 3509 }, "index_expression": { - "id": 3510, + "id": 3511, "node_type": 16, "src": { "line": 1678, @@ -73527,7 +74779,7 @@ "start": 60897, "end": 60906, "length": 10, - "parent_index": 3509 + "parent_index": 3510 }, "name": "tokenLocks", "type_description": { @@ -73535,11 +74787,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 3511, + "id": 3512, "node_type": 16, "src": { "line": 1678, @@ -73547,7 +74800,7 @@ "start": 60908, "end": 60915, "length": 8, - "parent_index": 3509 + "parent_index": 3510 }, "name": "_lpToken", "type_description": { @@ -73555,8 +74808,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3511, - "is_pure": false + "referenced_declaration": 3512, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -73578,7 +74832,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_TokenLock_array$]$_t_address]$", "type_string": "index[mapping(address=\u003eTokenLock[]):address]" - } + }, + "text": "tokenLocks[_lpToken].length" } } ] @@ -73590,7 +74845,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3500, + "id": 3501, "node_type": 43, "src": { "line": 1676, @@ -73598,11 +74853,11 @@ "start": 60825, "end": 60840, "length": 16, - "parent_index": 3499 + "parent_index": 3500 }, "parameters": [ { - "id": 3501, + "id": 3502, "node_type": 44, "src": { "line": 1676, @@ -73610,12 +74865,12 @@ "start": 60825, "end": 60840, "length": 16, - "parent_index": 3500 + "parent_index": 3501 }, - "scope": 3499, + "scope": 3500, "name": "_lpToken", "type_name": { - "id": 3502, + "id": 3503, "node_type": 30, "src": { "line": 1676, @@ -73623,7 +74878,7 @@ "start": 60825, "end": 60831, "length": 7, - "parent_index": 3501 + "parent_index": 3502 }, "name": "address", "state_mutability": 4, @@ -73650,7 +74905,7 @@ ] }, "return_parameters": { - "id": 3503, + "id": 3504, "node_type": 43, "src": { "line": 1677, @@ -73658,11 +74913,11 @@ "start": 60871, "end": 60877, "length": 7, - "parent_index": 3499 + "parent_index": 3500 }, "parameters": [ { - "id": 3504, + "id": 3505, "node_type": 44, "src": { "line": 1677, @@ -73670,12 +74925,12 @@ "start": 60871, "end": 60877, "length": 7, - "parent_index": 3503 + "parent_index": 3504 }, - "scope": 3499, + "scope": 3500, "name": "", "type_name": { - "id": 3505, + "id": 3506, "node_type": 30, "src": { "line": 1677, @@ -73683,7 +74938,7 @@ "start": 60871, "end": 60877, "length": 7, - "parent_index": 3504 + "parent_index": 3505 }, "name": "uint256", "referenced_declaration": 0, @@ -73714,10 +74969,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetNumLocksForToken(address_lpToken)externalviewreturns(uint256){returntokenLocks[_lpToken].length;}" }, { - "id": 3513, + "id": 3514, "name": "getNumLockedTokens", "node_type": 42, "kind": 41, @@ -73735,10 +74991,10 @@ "start": 60946, "end": 60963, "length": 18, - "parent_index": 3513 + "parent_index": 3514 }, "body": { - "id": 3520, + "id": 3521, "node_type": 46, "kind": 0, "src": { @@ -73747,12 +75003,12 @@ "start": 60999, "end": 61043, "length": 45, - "parent_index": 3513 + "parent_index": 3514 }, "implemented": true, "statements": [ { - "id": 3521, + "id": 3522, "node_type": 47, "src": { "line": 1682, @@ -73760,11 +75016,11 @@ "start": 61009, "end": 61037, "length": 29, - "parent_index": 3513 + "parent_index": 3514 }, - "function_return_parameters": 3513, + "function_return_parameters": 3514, "expression": { - "id": 3522, + "id": 3523, "node_type": 24, "kind": 24, "src": { @@ -73773,12 +75029,12 @@ "start": 61016, "end": 61036, "length": 21, - "parent_index": 3521 + "parent_index": 3522 }, "argument_types": [], "arguments": [], "expression": { - "id": 3523, + "id": 3524, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -73790,7 +75046,7 @@ "start": 61016, "end": 61034, "length": 19, - "parent_index": 3522 + "parent_index": 3523 }, "member_location": { "line": 1682, @@ -73798,10 +75054,10 @@ "start": 61029, "end": 61034, "length": 6, - "parent_index": 3523 + "parent_index": 3524 }, "expression": { - "id": 3524, + "id": 3525, "node_type": 16, "src": { "line": 1682, @@ -73809,7 +75065,7 @@ "start": 61016, "end": 61027, "length": 12, - "parent_index": 3523 + "parent_index": 3524 }, "name": "lockedTokens", "type_description": { @@ -73817,15 +75073,17 @@ "type_string": "contract EnumerableSet" }, "overloaded_declarations": [], - "referenced_declaration": 2050, - "is_pure": false + "referenced_declaration": 2051, + "is_pure": false, + "text": "lockedTokens" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_contract$_EnumerableSet_$427", "type_string": "contract EnumerableSet" - } + }, + "text": "lockedTokens.length" }, "type_description": { "type_identifier": "t_function_$", @@ -73842,7 +75100,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3514, + "id": 3515, "node_type": 43, "src": { "line": 1681, @@ -73850,11 +75108,11 @@ "start": 60990, "end": 60996, "length": 7, - "parent_index": 3513 + "parent_index": 3514 }, "parameters": [ { - "id": 3515, + "id": 3516, "node_type": 44, "src": { "line": 1681, @@ -73862,12 +75120,12 @@ "start": 60990, "end": 60996, "length": 7, - "parent_index": 3514 + "parent_index": 3515 }, - "scope": 3513, + "scope": 3514, "name": "", "type_name": { - "id": 3516, + "id": 3517, "node_type": 30, "src": { "line": 1681, @@ -73875,7 +75133,7 @@ "start": 60990, "end": 60996, "length": 7, - "parent_index": 3515 + "parent_index": 3516 }, "name": "uint256", "referenced_declaration": 0, @@ -73901,7 +75159,7 @@ ] }, "return_parameters": { - "id": 3517, + "id": 3518, "node_type": 43, "src": { "line": 1681, @@ -73909,11 +75167,11 @@ "start": 60990, "end": 60996, "length": 7, - "parent_index": 3513 + "parent_index": 3514 }, "parameters": [ { - "id": 3518, + "id": 3519, "node_type": 44, "src": { "line": 1681, @@ -73921,12 +75179,12 @@ "start": 60990, "end": 60996, "length": 7, - "parent_index": 3517 + "parent_index": 3518 }, - "scope": 3513, + "scope": 3514, "name": "", "type_name": { - "id": 3519, + "id": 3520, "node_type": 30, "src": { "line": 1681, @@ -73934,7 +75192,7 @@ "start": 60990, "end": 60996, "length": 7, - "parent_index": 3518 + "parent_index": 3519 }, "name": "uint256", "referenced_declaration": 0, @@ -73965,10 +75223,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetNumLockedTokens()externalviewreturns(uint256){returnlockedTokens.length();}" }, { - "id": 3526, + "id": 3527, "name": "getLockedTokenAtIndex", "node_type": 42, "kind": 41, @@ -73986,10 +75245,10 @@ "start": 61059, "end": 61079, "length": 21, - "parent_index": 3526 + "parent_index": 3527 }, "body": { - "id": 3533, + "id": 3534, "node_type": 46, "kind": 0, "src": { @@ -73998,12 +75257,12 @@ "start": 61143, "end": 61189, "length": 47, - "parent_index": 3526 + "parent_index": 3527 }, "implemented": true, "statements": [ { - "id": 3534, + "id": 3535, "node_type": 47, "src": { "line": 1688, @@ -74011,11 +75270,11 @@ "start": 61153, "end": 61183, "length": 31, - "parent_index": 3526 + "parent_index": 3527 }, - "function_return_parameters": 3526, + "function_return_parameters": 3527, "expression": { - "id": 3535, + "id": 3536, "node_type": 24, "kind": 24, "src": { @@ -74024,7 +75283,7 @@ "start": 61160, "end": 61182, "length": 23, - "parent_index": 3534 + "parent_index": 3535 }, "argument_types": [ { @@ -74034,7 +75293,7 @@ ], "arguments": [ { - "id": 3538, + "id": 3539, "node_type": 16, "src": { "line": 1688, @@ -74042,7 +75301,7 @@ "start": 61176, "end": 61181, "length": 6, - "parent_index": 3535 + "parent_index": 3536 }, "name": "_index", "type_description": { @@ -74050,12 +75309,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3538, - "is_pure": false + "referenced_declaration": 3539, + "is_pure": false, + "text": "_index" } ], "expression": { - "id": 3536, + "id": 3537, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -74067,7 +75327,7 @@ "start": 61160, "end": 61174, "length": 15, - "parent_index": 3535 + "parent_index": 3536 }, "member_location": { "line": 1688, @@ -74075,10 +75335,10 @@ "start": 61173, "end": 61174, "length": 2, - "parent_index": 3536 + "parent_index": 3537 }, "expression": { - "id": 3537, + "id": 3538, "node_type": 16, "src": { "line": 1688, @@ -74086,7 +75346,7 @@ "start": 61160, "end": 61171, "length": 12, - "parent_index": 3536 + "parent_index": 3537 }, "name": "lockedTokens", "type_description": { @@ -74094,15 +75354,17 @@ "type_string": "contract EnumerableSet" }, "overloaded_declarations": [], - "referenced_declaration": 2050, - "is_pure": false + "referenced_declaration": 2051, + "is_pure": false, + "text": "lockedTokens" }, "member_name": "at", "argument_types": [], "type_description": { "type_identifier": "t_contract$_EnumerableSet_$427", "type_string": "contract EnumerableSet" - } + }, + "text": "lockedTokens.at" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -74119,7 +75381,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3527, + "id": 3528, "node_type": 43, "src": { "line": 1686, @@ -74127,11 +75389,11 @@ "start": 61090, "end": 61103, "length": 14, - "parent_index": 3526 + "parent_index": 3527 }, "parameters": [ { - "id": 3528, + "id": 3529, "node_type": 44, "src": { "line": 1686, @@ -74139,12 +75401,12 @@ "start": 61090, "end": 61103, "length": 14, - "parent_index": 3527 + "parent_index": 3528 }, - "scope": 3526, + "scope": 3527, "name": "_index", "type_name": { - "id": 3529, + "id": 3530, "node_type": 30, "src": { "line": 1686, @@ -74152,7 +75414,7 @@ "start": 61090, "end": 61096, "length": 7, - "parent_index": 3528 + "parent_index": 3529 }, "name": "uint256", "referenced_declaration": 0, @@ -74178,7 +75440,7 @@ ] }, "return_parameters": { - "id": 3530, + "id": 3531, "node_type": 43, "src": { "line": 1687, @@ -74186,11 +75448,11 @@ "start": 61134, "end": 61140, "length": 7, - "parent_index": 3526 + "parent_index": 3527 }, "parameters": [ { - "id": 3531, + "id": 3532, "node_type": 44, "src": { "line": 1687, @@ -74198,12 +75460,12 @@ "start": 61134, "end": 61140, "length": 7, - "parent_index": 3530 + "parent_index": 3531 }, - "scope": 3526, + "scope": 3527, "name": "", "type_name": { - "id": 3532, + "id": 3533, "node_type": 30, "src": { "line": 1687, @@ -74211,7 +75473,7 @@ "start": 61134, "end": 61140, "length": 7, - "parent_index": 3531 + "parent_index": 3532 }, "name": "address", "state_mutability": 4, @@ -74243,10 +75505,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetLockedTokenAtIndex(uint256_index)externalviewreturns(address){returnlockedTokens.at(_index);}" }, { - "id": 3540, + "id": 3541, "name": "getUserNumLockedTokens", "node_type": 42, "kind": 41, @@ -74264,10 +75527,10 @@ "start": 61227, "end": 61248, "length": 22, - "parent_index": 3540 + "parent_index": 3541 }, "body": { - "id": 3547, + "id": 3548, "node_type": 46, "kind": 0, "src": { @@ -74276,12 +75539,12 @@ "start": 61311, "end": 61406, "length": 96, - "parent_index": 3540 + "parent_index": 3541 }, "implemented": true, "statements": [ { - "id": 3548, + "id": 3549, "node_type": 44, "src": { "line": 1695, @@ -74289,25 +75552,25 @@ "start": 61321, "end": 61357, "length": 37, - "parent_index": 3547 + "parent_index": 3548 }, "assignments": [ - 3549 + 3550 ], "declarations": [ { - "id": 3549, + "id": 3550, "state_mutability": 1, "name": "user", "node_type": 44, - "scope": 3547, + "scope": 3548, "src": { "line": 1695, "column": 8, "start": 61321, "end": 61341, "length": 21, - "parent_index": 3548 + "parent_index": 3549 }, "name_location": { "line": 1695, @@ -74315,12 +75578,12 @@ "start": 61338, "end": 61341, "length": 4, - "parent_index": 3549 + "parent_index": 3550 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3550, + "id": 3551, "node_type": 69, "src": { "line": 1695, @@ -74328,10 +75591,10 @@ "start": 61321, "end": 61328, "length": 8, - "parent_index": 3549 + "parent_index": 3550 }, "path_node": { - "id": 3551, + "id": 3552, "name": "UserInfo", "node_type": 52, "referenced_declaration": 2022, @@ -74341,7 +75604,7 @@ "start": 61321, "end": 61328, "length": 8, - "parent_index": 3550 + "parent_index": 3551 }, "name_location": { "line": 1695, @@ -74349,7 +75612,7 @@ "start": 61321, "end": 61328, "length": 8, - "parent_index": 3550 + "parent_index": 3551 } }, "referenced_declaration": 2022, @@ -74362,7 +75625,7 @@ } ], "initial_value": { - "id": 3552, + "id": 3553, "node_type": 22, "src": { "line": 1695, @@ -74370,10 +75633,10 @@ "start": 61345, "end": 61356, "length": 12, - "parent_index": 3548 + "parent_index": 3549 }, "index_expression": { - "id": 3553, + "id": 3554, "node_type": 16, "src": { "line": 1695, @@ -74381,19 +75644,20 @@ "start": 61345, "end": 61349, "length": 5, - "parent_index": 3552 + "parent_index": 3553 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3554, + "id": 3555, "node_type": 16, "src": { "line": 1695, @@ -74401,7 +75665,7 @@ "start": 61351, "end": 61355, "length": 5, - "parent_index": 3552 + "parent_index": 3553 }, "name": "_user", "type_description": { @@ -74409,12 +75673,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3554, - "is_pure": false + "referenced_declaration": 3555, + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -74423,13 +75688,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } } }, { - "id": 3555, + "id": 3556, "node_type": 47, "src": { "line": 1696, @@ -74437,11 +75702,11 @@ "start": 61367, "end": 61400, "length": 34, - "parent_index": 3540 + "parent_index": 3541 }, - "function_return_parameters": 3540, + "function_return_parameters": 3541, "expression": { - "id": 3556, + "id": 3557, "node_type": 24, "kind": 24, "src": { @@ -74450,12 +75715,12 @@ "start": 61374, "end": 61399, "length": 26, - "parent_index": 3555 + "parent_index": 3556 }, "argument_types": [], "arguments": [], "expression": { - "id": 3557, + "id": 3558, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -74467,7 +75732,7 @@ "start": 61374, "end": 61397, "length": 24, - "parent_index": 3556 + "parent_index": 3557 }, "member_location": { "line": 1696, @@ -74475,10 +75740,10 @@ "start": 61392, "end": 61397, "length": 6, - "parent_index": 3557 + "parent_index": 3558 }, "expression": { - "id": 3558, + "id": 3559, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -74490,7 +75755,7 @@ "start": 61374, "end": 61390, "length": 17, - "parent_index": 3557 + "parent_index": 3558 }, "member_location": { "line": 1696, @@ -74498,10 +75763,10 @@ "start": 61379, "end": 61390, "length": 12, - "parent_index": 3558 + "parent_index": 3559 }, "expression": { - "id": 3559, + "id": 3560, "node_type": 16, "src": { "line": 1696, @@ -74509,7 +75774,7 @@ "start": 61374, "end": 61377, "length": 4, - "parent_index": 3558 + "parent_index": 3559 }, "name": "user", "type_description": { @@ -74517,22 +75782,25 @@ "type_string": "struct KnoxLpLocker.UserInfo" }, "overloaded_declarations": [], - "referenced_declaration": 3548, - "is_pure": false + "referenced_declaration": 3549, + "is_pure": false, + "text": "user" }, "member_name": "lockedTokens", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.lockedTokens" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.lockedTokens.length" }, "type_description": { "type_identifier": "t_function_$", @@ -74549,7 +75817,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3541, + "id": 3542, "node_type": 43, "src": { "line": 1693, @@ -74557,11 +75825,11 @@ "start": 61259, "end": 61271, "length": 13, - "parent_index": 3540 + "parent_index": 3541 }, "parameters": [ { - "id": 3542, + "id": 3543, "node_type": 44, "src": { "line": 1693, @@ -74569,12 +75837,12 @@ "start": 61259, "end": 61271, "length": 13, - "parent_index": 3541 + "parent_index": 3542 }, - "scope": 3540, + "scope": 3541, "name": "_user", "type_name": { - "id": 3543, + "id": 3544, "node_type": 30, "src": { "line": 1693, @@ -74582,7 +75850,7 @@ "start": 61259, "end": 61265, "length": 7, - "parent_index": 3542 + "parent_index": 3543 }, "name": "address", "state_mutability": 4, @@ -74609,7 +75877,7 @@ ] }, "return_parameters": { - "id": 3544, + "id": 3545, "node_type": 43, "src": { "line": 1694, @@ -74617,11 +75885,11 @@ "start": 61302, "end": 61308, "length": 7, - "parent_index": 3540 + "parent_index": 3541 }, "parameters": [ { - "id": 3545, + "id": 3546, "node_type": 44, "src": { "line": 1694, @@ -74629,12 +75897,12 @@ "start": 61302, "end": 61308, "length": 7, - "parent_index": 3544 + "parent_index": 3545 }, - "scope": 3540, + "scope": 3541, "name": "", "type_name": { - "id": 3546, + "id": 3547, "node_type": 30, "src": { "line": 1694, @@ -74642,7 +75910,7 @@ "start": 61302, "end": 61308, "length": 7, - "parent_index": 3545 + "parent_index": 3546 }, "name": "uint256", "referenced_declaration": 0, @@ -74673,10 +75941,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetUserNumLockedTokens(address_user)externalviewreturns(uint256){UserInfostorageuser=users[_user];returnuser.lockedTokens.length();}" }, { - "id": 3561, + "id": 3562, "name": "getUserLockedTokenAtIndex", "node_type": 42, "kind": 41, @@ -74694,10 +75963,10 @@ "start": 61422, "end": 61446, "length": 25, - "parent_index": 3561 + "parent_index": 3562 }, "body": { - "id": 3570, + "id": 3571, "node_type": 46, "kind": 0, "src": { @@ -74706,12 +75975,12 @@ "start": 61533, "end": 61630, "length": 98, - "parent_index": 3561 + "parent_index": 3562 }, "implemented": true, "statements": [ { - "id": 3571, + "id": 3572, "node_type": 44, "src": { "line": 1703, @@ -74719,25 +75988,25 @@ "start": 61543, "end": 61579, "length": 37, - "parent_index": 3570 + "parent_index": 3571 }, "assignments": [ - 3572 + 3573 ], "declarations": [ { - "id": 3572, + "id": 3573, "state_mutability": 1, "name": "user", "node_type": 44, - "scope": 3570, + "scope": 3571, "src": { "line": 1703, "column": 8, "start": 61543, "end": 61563, "length": 21, - "parent_index": 3571 + "parent_index": 3572 }, "name_location": { "line": 1703, @@ -74745,12 +76014,12 @@ "start": 61560, "end": 61563, "length": 4, - "parent_index": 3572 + "parent_index": 3573 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3573, + "id": 3574, "node_type": 69, "src": { "line": 1703, @@ -74758,10 +76027,10 @@ "start": 61543, "end": 61550, "length": 8, - "parent_index": 3572 + "parent_index": 3573 }, "path_node": { - "id": 3574, + "id": 3575, "name": "UserInfo", "node_type": 52, "referenced_declaration": 2022, @@ -74771,7 +76040,7 @@ "start": 61543, "end": 61550, "length": 8, - "parent_index": 3573 + "parent_index": 3574 }, "name_location": { "line": 1703, @@ -74779,7 +76048,7 @@ "start": 61543, "end": 61550, "length": 8, - "parent_index": 3573 + "parent_index": 3574 } }, "referenced_declaration": 2022, @@ -74792,7 +76061,7 @@ } ], "initial_value": { - "id": 3575, + "id": 3576, "node_type": 22, "src": { "line": 1703, @@ -74800,10 +76069,10 @@ "start": 61567, "end": 61578, "length": 12, - "parent_index": 3571 + "parent_index": 3572 }, "index_expression": { - "id": 3576, + "id": 3577, "node_type": 16, "src": { "line": 1703, @@ -74811,19 +76080,20 @@ "start": 61567, "end": 61571, "length": 5, - "parent_index": 3575 + "parent_index": 3576 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3577, + "id": 3578, "node_type": 16, "src": { "line": 1703, @@ -74831,7 +76101,7 @@ "start": 61573, "end": 61577, "length": 5, - "parent_index": 3575 + "parent_index": 3576 }, "name": "_user", "type_description": { @@ -74839,12 +76109,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3577, - "is_pure": false + "referenced_declaration": 3578, + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -74853,13 +76124,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } } }, { - "id": 3578, + "id": 3579, "node_type": 47, "src": { "line": 1704, @@ -74867,11 +76138,11 @@ "start": 61589, "end": 61624, "length": 36, - "parent_index": 3561 + "parent_index": 3562 }, - "function_return_parameters": 3561, + "function_return_parameters": 3562, "expression": { - "id": 3579, + "id": 3580, "node_type": 24, "kind": 24, "src": { @@ -74880,7 +76151,7 @@ "start": 61596, "end": 61623, "length": 28, - "parent_index": 3578 + "parent_index": 3579 }, "argument_types": [ { @@ -74890,7 +76161,7 @@ ], "arguments": [ { - "id": 3583, + "id": 3584, "node_type": 16, "src": { "line": 1704, @@ -74898,7 +76169,7 @@ "start": 61617, "end": 61622, "length": 6, - "parent_index": 3579 + "parent_index": 3580 }, "name": "_index", "type_description": { @@ -74906,12 +76177,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3583, - "is_pure": false + "referenced_declaration": 3584, + "is_pure": false, + "text": "_index" } ], "expression": { - "id": 3580, + "id": 3581, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -74923,7 +76195,7 @@ "start": 61596, "end": 61615, "length": 20, - "parent_index": 3579 + "parent_index": 3580 }, "member_location": { "line": 1704, @@ -74931,10 +76203,10 @@ "start": 61614, "end": 61615, "length": 2, - "parent_index": 3580 + "parent_index": 3581 }, "expression": { - "id": 3581, + "id": 3582, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -74946,7 +76218,7 @@ "start": 61596, "end": 61612, "length": 17, - "parent_index": 3580 + "parent_index": 3581 }, "member_location": { "line": 1704, @@ -74954,10 +76226,10 @@ "start": 61601, "end": 61612, "length": 12, - "parent_index": 3581 + "parent_index": 3582 }, "expression": { - "id": 3582, + "id": 3583, "node_type": 16, "src": { "line": 1704, @@ -74965,7 +76237,7 @@ "start": 61596, "end": 61599, "length": 4, - "parent_index": 3581 + "parent_index": 3582 }, "name": "user", "type_description": { @@ -74973,22 +76245,25 @@ "type_string": "struct KnoxLpLocker.UserInfo" }, "overloaded_declarations": [], - "referenced_declaration": 3571, - "is_pure": false + "referenced_declaration": 3572, + "is_pure": false, + "text": "user" }, "member_name": "lockedTokens", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.lockedTokens" }, "member_name": "at", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.lockedTokens.at" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -75005,7 +76280,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3562, + "id": 3563, "node_type": 43, "src": { "line": 1700, @@ -75013,11 +76288,11 @@ "start": 61457, "end": 61493, "length": 37, - "parent_index": 3561 + "parent_index": 3562 }, "parameters": [ { - "id": 3563, + "id": 3564, "node_type": 44, "src": { "line": 1700, @@ -75025,12 +76300,12 @@ "start": 61457, "end": 61469, "length": 13, - "parent_index": 3562 + "parent_index": 3563 }, - "scope": 3561, + "scope": 3562, "name": "_user", "type_name": { - "id": 3564, + "id": 3565, "node_type": 30, "src": { "line": 1700, @@ -75038,7 +76313,7 @@ "start": 61457, "end": 61463, "length": 7, - "parent_index": 3563 + "parent_index": 3564 }, "name": "address", "state_mutability": 4, @@ -75057,7 +76332,7 @@ } }, { - "id": 3565, + "id": 3566, "node_type": 44, "src": { "line": 1701, @@ -75065,12 +76340,12 @@ "start": 61480, "end": 61493, "length": 14, - "parent_index": 3562 + "parent_index": 3563 }, - "scope": 3561, + "scope": 3562, "name": "_index", "type_name": { - "id": 3566, + "id": 3567, "node_type": 30, "src": { "line": 1701, @@ -75078,7 +76353,7 @@ "start": 61480, "end": 61486, "length": 7, - "parent_index": 3565 + "parent_index": 3566 }, "name": "uint256", "referenced_declaration": 0, @@ -75108,7 +76383,7 @@ ] }, "return_parameters": { - "id": 3567, + "id": 3568, "node_type": 43, "src": { "line": 1702, @@ -75116,11 +76391,11 @@ "start": 61524, "end": 61530, "length": 7, - "parent_index": 3561 + "parent_index": 3562 }, "parameters": [ { - "id": 3568, + "id": 3569, "node_type": 44, "src": { "line": 1702, @@ -75128,12 +76403,12 @@ "start": 61524, "end": 61530, "length": 7, - "parent_index": 3567 + "parent_index": 3568 }, - "scope": 3561, + "scope": 3562, "name": "", "type_name": { - "id": 3569, + "id": 3570, "node_type": 30, "src": { "line": 1702, @@ -75141,7 +76416,7 @@ "start": 61524, "end": 61530, "length": 7, - "parent_index": 3568 + "parent_index": 3569 }, "name": "address", "state_mutability": 4, @@ -75167,16 +76442,17 @@ } ] }, - "signature_raw": "getUserLockedTokenAtIndex(address, uint256)", - "signature": "60f9d1ed", + "signature_raw": "getUserLockedTokenAtIndex(address,uint256)", + "signature": "903df806", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiongetUserLockedTokenAtIndex(address_user,uint256_index)externalviewreturns(address){UserInfostorageuser=users[_user];returnuser.lockedTokens.at(_index);}" }, { - "id": 3585, + "id": 3586, "name": "getUserNumLocksForToken", "node_type": 42, "kind": 41, @@ -75194,10 +76470,10 @@ "start": 61646, "end": 61668, "length": 23, - "parent_index": 3585 + "parent_index": 3586 }, "body": { - "id": 3594, + "id": 3595, "node_type": 46, "kind": 0, "src": { @@ -75206,12 +76482,12 @@ "start": 61757, "end": 61861, "length": 105, - "parent_index": 3585 + "parent_index": 3586 }, "implemented": true, "statements": [ { - "id": 3595, + "id": 3596, "node_type": 44, "src": { "line": 1711, @@ -75219,25 +76495,25 @@ "start": 61767, "end": 61803, "length": 37, - "parent_index": 3594 + "parent_index": 3595 }, "assignments": [ - 3596 + 3597 ], "declarations": [ { - "id": 3596, + "id": 3597, "state_mutability": 1, "name": "user", "node_type": 44, - "scope": 3594, + "scope": 3595, "src": { "line": 1711, "column": 8, "start": 61767, "end": 61787, "length": 21, - "parent_index": 3595 + "parent_index": 3596 }, "name_location": { "line": 1711, @@ -75245,12 +76521,12 @@ "start": 61784, "end": 61787, "length": 4, - "parent_index": 3596 + "parent_index": 3597 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3597, + "id": 3598, "node_type": 69, "src": { "line": 1711, @@ -75258,10 +76534,10 @@ "start": 61767, "end": 61774, "length": 8, - "parent_index": 3596 + "parent_index": 3597 }, "path_node": { - "id": 3598, + "id": 3599, "name": "UserInfo", "node_type": 52, "referenced_declaration": 2022, @@ -75271,7 +76547,7 @@ "start": 61767, "end": 61774, "length": 8, - "parent_index": 3597 + "parent_index": 3598 }, "name_location": { "line": 1711, @@ -75279,7 +76555,7 @@ "start": 61767, "end": 61774, "length": 8, - "parent_index": 3597 + "parent_index": 3598 } }, "referenced_declaration": 2022, @@ -75292,7 +76568,7 @@ } ], "initial_value": { - "id": 3599, + "id": 3600, "node_type": 22, "src": { "line": 1711, @@ -75300,10 +76576,10 @@ "start": 61791, "end": 61802, "length": 12, - "parent_index": 3595 + "parent_index": 3596 }, "index_expression": { - "id": 3600, + "id": 3601, "node_type": 16, "src": { "line": 1711, @@ -75311,19 +76587,20 @@ "start": 61791, "end": 61795, "length": 5, - "parent_index": 3599 + "parent_index": 3600 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3601, + "id": 3602, "node_type": 16, "src": { "line": 1711, @@ -75331,7 +76608,7 @@ "start": 61797, "end": 61801, "length": 5, - "parent_index": 3599 + "parent_index": 3600 }, "name": "_user", "type_description": { @@ -75339,12 +76616,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3601, - "is_pure": false + "referenced_declaration": 3602, + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -75353,13 +76631,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } } }, { - "id": 3602, + "id": 3603, "node_type": 47, "src": { "line": 1712, @@ -75367,11 +76645,11 @@ "start": 61813, "end": 61855, "length": 43, - "parent_index": 3585 + "parent_index": 3586 }, - "function_return_parameters": 3585, + "function_return_parameters": 3586, "expression": { - "id": 3603, + "id": 3604, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -75383,7 +76661,7 @@ "start": 61820, "end": 61854, "length": 35, - "parent_index": 3602 + "parent_index": 3603 }, "member_location": { "line": 1712, @@ -75391,10 +76669,10 @@ "start": 61849, "end": 61854, "length": 6, - "parent_index": 3603 + "parent_index": 3604 }, "expression": { - "id": 3604, + "id": 3605, "node_type": 22, "src": { "line": 1712, @@ -75402,10 +76680,10 @@ "start": 61820, "end": 61847, "length": 28, - "parent_index": 3603 + "parent_index": 3604 }, "index_expression": { - "id": 3605, + "id": 3606, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -75417,7 +76695,7 @@ "start": 61820, "end": 61837, "length": 18, - "parent_index": 3604 + "parent_index": 3605 }, "member_location": { "line": 1712, @@ -75425,10 +76703,10 @@ "start": 61825, "end": 61837, "length": 13, - "parent_index": 3605 + "parent_index": 3606 }, "expression": { - "id": 3606, + "id": 3607, "node_type": 16, "src": { "line": 1712, @@ -75436,7 +76714,7 @@ "start": 61820, "end": 61823, "length": 4, - "parent_index": 3605 + "parent_index": 3606 }, "name": "user", "type_description": { @@ -75444,18 +76722,20 @@ "type_string": "struct KnoxLpLocker.UserInfo" }, "overloaded_declarations": [], - "referenced_declaration": 3595, - "is_pure": false + "referenced_declaration": 3596, + "is_pure": false, + "text": "user" }, "member_name": "locksForToken", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", "type_string": "struct KnoxLpLocker.UserInfo" - } + }, + "text": "user.locksForToken" }, "base_expression": { - "id": 3607, + "id": 3608, "node_type": 16, "src": { "line": 1712, @@ -75463,7 +76743,7 @@ "start": 61839, "end": 61846, "length": 8, - "parent_index": 3604 + "parent_index": 3605 }, "name": "_lpToken", "type_description": { @@ -75471,8 +76751,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3607, - "is_pure": false + "referenced_declaration": 3608, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -75494,7 +76775,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_KnoxLpLocker_UserInfo_$2022]$_t_address]$", "type_string": "index[struct KnoxLpLocker.UserInfo:address]" - } + }, + "text": "user.locksForToken[_lpToken].length" } } ] @@ -75506,7 +76788,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3586, + "id": 3587, "node_type": 43, "src": { "line": 1708, @@ -75514,11 +76796,11 @@ "start": 61679, "end": 61717, "length": 39, - "parent_index": 3585 + "parent_index": 3586 }, "parameters": [ { - "id": 3587, + "id": 3588, "node_type": 44, "src": { "line": 1708, @@ -75526,12 +76808,12 @@ "start": 61679, "end": 61691, "length": 13, - "parent_index": 3586 + "parent_index": 3587 }, - "scope": 3585, + "scope": 3586, "name": "_user", "type_name": { - "id": 3588, + "id": 3589, "node_type": 30, "src": { "line": 1708, @@ -75539,7 +76821,7 @@ "start": 61679, "end": 61685, "length": 7, - "parent_index": 3587 + "parent_index": 3588 }, "name": "address", "state_mutability": 4, @@ -75558,7 +76840,7 @@ } }, { - "id": 3589, + "id": 3590, "node_type": 44, "src": { "line": 1709, @@ -75566,12 +76848,12 @@ "start": 61702, "end": 61717, "length": 16, - "parent_index": 3586 + "parent_index": 3587 }, - "scope": 3585, + "scope": 3586, "name": "_lpToken", "type_name": { - "id": 3590, + "id": 3591, "node_type": 30, "src": { "line": 1709, @@ -75579,7 +76861,7 @@ "start": 61702, "end": 61708, "length": 7, - "parent_index": 3589 + "parent_index": 3590 }, "name": "address", "state_mutability": 4, @@ -75610,7 +76892,7 @@ ] }, "return_parameters": { - "id": 3591, + "id": 3592, "node_type": 43, "src": { "line": 1710, @@ -75618,11 +76900,11 @@ "start": 61748, "end": 61754, "length": 7, - "parent_index": 3585 + "parent_index": 3586 }, "parameters": [ { - "id": 3592, + "id": 3593, "node_type": 44, "src": { "line": 1710, @@ -75630,12 +76912,12 @@ "start": 61748, "end": 61754, "length": 7, - "parent_index": 3591 + "parent_index": 3592 }, - "scope": 3585, + "scope": 3586, "name": "", "type_name": { - "id": 3593, + "id": 3594, "node_type": 30, "src": { "line": 1710, @@ -75643,7 +76925,7 @@ "start": 61748, "end": 61754, "length": 7, - "parent_index": 3592 + "parent_index": 3593 }, "name": "uint256", "referenced_declaration": 0, @@ -75668,16 +76950,17 @@ } ] }, - "signature_raw": "getUserNumLocksForToken(address, address)", - "signature": "11821948", + "signature_raw": "getUserNumLocksForToken(address,address)", + "signature": "a69d9c4f", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetUserNumLocksForToken(address_user,address_lpToken)externalviewreturns(uint256){UserInfostorageuser=users[_user];returnuser.locksForToken[_lpToken].length;}" }, { - "id": 3609, + "id": 3610, "name": "getUserLockForTokenAtIndex", "node_type": 42, "kind": 41, @@ -75695,10 +76978,10 @@ "start": 61877, "end": 61902, "length": 26, - "parent_index": 3609 + "parent_index": 3610 }, "body": { - "id": 3630, + "id": 3631, "node_type": 46, "kind": 0, "src": { @@ -75707,12 +76990,12 @@ "start": 62088, "end": 62452, "length": 365, - "parent_index": 3609 + "parent_index": 3610 }, "implemented": true, "statements": [ { - "id": 3631, + "id": 3632, "node_type": 44, "src": { "line": 1724, @@ -75720,25 +77003,25 @@ "start": 62098, "end": 62159, "length": 62, - "parent_index": 3630 + "parent_index": 3631 }, "assignments": [ - 3632 + 3633 ], "declarations": [ { - "id": 3632, + "id": 3633, "state_mutability": 1, "name": "lockID", "node_type": 44, - "scope": 3630, + "scope": 3631, "src": { "line": 1724, "column": 8, "start": 62098, "end": 62111, "length": 14, - "parent_index": 3631 + "parent_index": 3632 }, "name_location": { "line": 1724, @@ -75746,12 +77029,12 @@ "start": 62106, "end": 62111, "length": 6, - "parent_index": 3632 + "parent_index": 3633 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3633, + "id": 3634, "node_type": 30, "src": { "line": 1724, @@ -75759,7 +77042,7 @@ "start": 62098, "end": 62104, "length": 7, - "parent_index": 3632 + "parent_index": 3633 }, "name": "uint256", "referenced_declaration": 0, @@ -75772,7 +77055,7 @@ } ], "initial_value": { - "id": 3634, + "id": 3635, "node_type": 22, "src": { "line": 1724, @@ -75780,10 +77063,10 @@ "start": 62115, "end": 62158, "length": 44, - "parent_index": 3631 + "parent_index": 3632 }, "index_expression": { - "id": 3635, + "id": 3636, "node_type": 22, "src": { "line": 1724, @@ -75791,10 +77074,10 @@ "start": 62115, "end": 62150, "length": 36, - "parent_index": 3631 + "parent_index": 3632 }, "index_expression": { - "id": 3636, + "id": 3637, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -75806,7 +77089,7 @@ "start": 62115, "end": 62140, "length": 26, - "parent_index": 3631 + "parent_index": 3632 }, "member_location": { "line": 1724, @@ -75814,10 +77097,10 @@ "start": 62128, "end": 62140, "length": 13, - "parent_index": 3636 + "parent_index": 3637 }, "expression": { - "id": 3637, + "id": 3638, "node_type": 22, "src": { "line": 1724, @@ -75825,10 +77108,10 @@ "start": 62115, "end": 62126, "length": 12, - "parent_index": 3631 + "parent_index": 3632 }, "index_expression": { - "id": 3638, + "id": 3639, "node_type": 16, "src": { "line": 1724, @@ -75836,19 +77119,20 @@ "start": 62115, "end": 62119, "length": 5, - "parent_index": 3637 + "parent_index": 3638 }, "name": "users", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, "overloaded_declarations": [], "referenced_declaration": 2045, - "is_pure": false + "is_pure": false, + "text": "users" }, "base_expression": { - "id": 3639, + "id": 3640, "node_type": 16, "src": { "line": 1724, @@ -75856,7 +77140,7 @@ "start": 62121, "end": 62125, "length": 5, - "parent_index": 3637 + "parent_index": 3638 }, "name": "_user", "type_description": { @@ -75864,12 +77148,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3639, - "is_pure": false + "referenced_declaration": 3640, + "is_pure": false, + "text": "_user" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_UserInfo$", + "type_identifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "type_string": "mapping(address=\u003eUserInfo)" }, { @@ -75878,19 +77163,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" } }, "member_name": "locksForToken", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" - } + }, + "text": "users[_user].locksForToken" }, "base_expression": { - "id": 3640, + "id": 3641, "node_type": 16, "src": { "line": 1724, @@ -75898,7 +77184,7 @@ "start": 62142, "end": 62149, "length": 8, - "parent_index": 3635 + "parent_index": 3636 }, "name": "_lpToken", "type_description": { @@ -75906,12 +77192,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3640, - "is_pure": false + "referenced_declaration": 3641, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "type_string": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -75920,12 +77207,12 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" } }, "base_expression": { - "id": 3641, + "id": 3642, "node_type": 16, "src": { "line": 1724, @@ -75933,7 +77220,7 @@ "start": 62152, "end": 62157, "length": 6, - "parent_index": 3634 + "parent_index": 3635 }, "name": "_index", "type_description": { @@ -75941,12 +77228,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3641, - "is_pure": false + "referenced_declaration": 3642, + "is_pure": false, + "text": "_index" }, "type_descriptions": [ { - "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -75955,13 +77243,13 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "type_identifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "type_string": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" } } }, { - "id": 3642, + "id": 3643, "node_type": 44, "src": { "line": 1725, @@ -75969,25 +77257,25 @@ "start": 62169, "end": 62227, "length": 59, - "parent_index": 3630 + "parent_index": 3631 }, "assignments": [ - 3643 + 3644 ], "declarations": [ { - "id": 3643, + "id": 3644, "state_mutability": 1, "name": "tokenLock", "node_type": 44, - "scope": 3630, + "scope": 3631, "src": { "line": 1725, "column": 8, "start": 62169, "end": 62195, "length": 27, - "parent_index": 3642 + "parent_index": 3643 }, "name_location": { "line": 1725, @@ -75995,12 +77283,12 @@ "start": 62187, "end": 62195, "length": 9, - "parent_index": 3643 + "parent_index": 3644 }, "is_state_variable": false, "storage_location": 3, "type_name": { - "id": 3644, + "id": 3645, "node_type": 69, "src": { "line": 1725, @@ -76008,10 +77296,10 @@ "start": 62169, "end": 62177, "length": 9, - "parent_index": 3643 + "parent_index": 3644 }, "path_node": { - "id": 3645, + "id": 3646, "name": "TokenLock", "node_type": 52, "referenced_declaration": 2031, @@ -76021,7 +77309,7 @@ "start": 62169, "end": 62177, "length": 9, - "parent_index": 3644 + "parent_index": 3645 }, "name_location": { "line": 1725, @@ -76029,7 +77317,7 @@ "start": 62169, "end": 62177, "length": 9, - "parent_index": 3644 + "parent_index": 3645 } }, "referenced_declaration": 2031, @@ -76042,7 +77330,7 @@ } ], "initial_value": { - "id": 3646, + "id": 3647, "node_type": 22, "src": { "line": 1725, @@ -76050,10 +77338,10 @@ "start": 62199, "end": 62226, "length": 28, - "parent_index": 3642 + "parent_index": 3643 }, "index_expression": { - "id": 3647, + "id": 3648, "node_type": 22, "src": { "line": 1725, @@ -76061,10 +77349,10 @@ "start": 62199, "end": 62218, "length": 20, - "parent_index": 3642 + "parent_index": 3643 }, "index_expression": { - "id": 3648, + "id": 3649, "node_type": 16, "src": { "line": 1725, @@ -76072,7 +77360,7 @@ "start": 62199, "end": 62208, "length": 10, - "parent_index": 3647 + "parent_index": 3648 }, "name": "tokenLocks", "type_description": { @@ -76080,11 +77368,12 @@ "type_string": "mapping(address=\u003eTokenLock[])" }, "overloaded_declarations": [], - "referenced_declaration": 2054, - "is_pure": false + "referenced_declaration": 2055, + "is_pure": false, + "text": "tokenLocks" }, "base_expression": { - "id": 3649, + "id": 3650, "node_type": 16, "src": { "line": 1725, @@ -76092,7 +77381,7 @@ "start": 62210, "end": 62217, "length": 8, - "parent_index": 3647 + "parent_index": 3648 }, "name": "_lpToken", "type_description": { @@ -76100,8 +77389,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3649, - "is_pure": false + "referenced_declaration": 3650, + "is_pure": false, + "text": "_lpToken" }, "type_descriptions": [ { @@ -76119,7 +77409,7 @@ } }, "base_expression": { - "id": 3650, + "id": 3651, "node_type": 16, "src": { "line": 1725, @@ -76127,7 +77417,7 @@ "start": 62220, "end": 62225, "length": 6, - "parent_index": 3646 + "parent_index": 3647 }, "name": "lockID", "type_description": { @@ -76135,8 +77425,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3631, - "is_pure": false + "referenced_declaration": 3632, + "is_pure": false, + "text": "lockID" }, "type_descriptions": [ { @@ -76155,7 +77446,7 @@ } }, { - "id": 3651, + "id": 3652, "node_type": 47, "src": { "line": 1726, @@ -76163,11 +77454,11 @@ "start": 62237, "end": 62446, "length": 210, - "parent_index": 3609 + "parent_index": 3610 }, - "function_return_parameters": 3609, + "function_return_parameters": 3610, "expression": { - "id": 3652, + "id": 3653, "node_type": 60, "src": { "line": 1726, @@ -76175,13 +77466,13 @@ "start": 62244, "end": 62445, "length": 202, - "parent_index": 3651 + "parent_index": 3652 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3653, + "id": 3654, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76193,7 +77484,7 @@ "start": 62258, "end": 62275, "length": 18, - "parent_index": 3652 + "parent_index": 3653 }, "member_location": { "line": 1727, @@ -76201,10 +77492,10 @@ "start": 62268, "end": 62275, "length": 8, - "parent_index": 3653 + "parent_index": 3654 }, "expression": { - "id": 3654, + "id": 3655, "node_type": 16, "src": { "line": 1727, @@ -76212,7 +77503,7 @@ "start": 62258, "end": 62266, "length": 9, - "parent_index": 3653 + "parent_index": 3654 }, "name": "tokenLock", "type_description": { @@ -76220,18 +77511,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3642, - "is_pure": false + "referenced_declaration": 3643, + "is_pure": false, + "text": "tokenLock" }, "member_name": "lockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "tokenLock.lockDate" }, { - "id": 3655, + "id": 3656, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76243,7 +77536,7 @@ "start": 62290, "end": 62305, "length": 16, - "parent_index": 3652 + "parent_index": 3653 }, "member_location": { "line": 1728, @@ -76251,10 +77544,10 @@ "start": 62300, "end": 62305, "length": 6, - "parent_index": 3655 + "parent_index": 3656 }, "expression": { - "id": 3656, + "id": 3657, "node_type": 16, "src": { "line": 1728, @@ -76262,7 +77555,7 @@ "start": 62290, "end": 62298, "length": 9, - "parent_index": 3655 + "parent_index": 3656 }, "name": "tokenLock", "type_description": { @@ -76270,18 +77563,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3642, - "is_pure": false + "referenced_declaration": 3643, + "is_pure": false, + "text": "tokenLock" }, "member_name": "amount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "tokenLock.amount" }, { - "id": 3657, + "id": 3658, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76293,7 +77588,7 @@ "start": 62320, "end": 62342, "length": 23, - "parent_index": 3652 + "parent_index": 3653 }, "member_location": { "line": 1729, @@ -76301,10 +77596,10 @@ "start": 62330, "end": 62342, "length": 13, - "parent_index": 3657 + "parent_index": 3658 }, "expression": { - "id": 3658, + "id": 3659, "node_type": 16, "src": { "line": 1729, @@ -76312,7 +77607,7 @@ "start": 62320, "end": 62328, "length": 9, - "parent_index": 3657 + "parent_index": 3658 }, "name": "tokenLock", "type_description": { @@ -76320,18 +77615,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3642, - "is_pure": false + "referenced_declaration": 3643, + "is_pure": false, + "text": "tokenLock" }, "member_name": "initialAmount", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "tokenLock.initialAmount" }, { - "id": 3659, + "id": 3660, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76343,7 +77640,7 @@ "start": 62357, "end": 62376, "length": 20, - "parent_index": 3652 + "parent_index": 3653 }, "member_location": { "line": 1730, @@ -76351,10 +77648,10 @@ "start": 62367, "end": 62376, "length": 10, - "parent_index": 3659 + "parent_index": 3660 }, "expression": { - "id": 3660, + "id": 3661, "node_type": 16, "src": { "line": 1730, @@ -76362,7 +77659,7 @@ "start": 62357, "end": 62365, "length": 9, - "parent_index": 3659 + "parent_index": 3660 }, "name": "tokenLock", "type_description": { @@ -76370,18 +77667,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3642, - "is_pure": false + "referenced_declaration": 3643, + "is_pure": false, + "text": "tokenLock" }, "member_name": "unlockDate", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "tokenLock.unlockDate" }, { - "id": 3661, + "id": 3662, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76393,7 +77692,7 @@ "start": 62391, "end": 62406, "length": 16, - "parent_index": 3652 + "parent_index": 3653 }, "member_location": { "line": 1731, @@ -76401,10 +77700,10 @@ "start": 62401, "end": 62406, "length": 6, - "parent_index": 3661 + "parent_index": 3662 }, "expression": { - "id": 3662, + "id": 3663, "node_type": 16, "src": { "line": 1731, @@ -76412,7 +77711,7 @@ "start": 62391, "end": 62399, "length": 9, - "parent_index": 3661 + "parent_index": 3662 }, "name": "tokenLock", "type_description": { @@ -76420,18 +77719,20 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3642, - "is_pure": false + "referenced_declaration": 3643, + "is_pure": false, + "text": "tokenLock" }, "member_name": "lockID", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "tokenLock.lockID" }, { - "id": 3663, + "id": 3664, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76443,7 +77744,7 @@ "start": 62421, "end": 62435, "length": 15, - "parent_index": 3652 + "parent_index": 3653 }, "member_location": { "line": 1732, @@ -76451,10 +77752,10 @@ "start": 62431, "end": 62435, "length": 5, - "parent_index": 3663 + "parent_index": 3664 }, "expression": { - "id": 3664, + "id": 3665, "node_type": 16, "src": { "line": 1732, @@ -76462,7 +77763,7 @@ "start": 62421, "end": 62429, "length": 9, - "parent_index": 3663 + "parent_index": 3664 }, "name": "tokenLock", "type_description": { @@ -76470,15 +77771,17 @@ "type_string": "struct KnoxLpLocker.TokenLock" }, "overloaded_declarations": [], - "referenced_declaration": 3642, - "is_pure": false + "referenced_declaration": 3643, + "is_pure": false, + "text": "tokenLock" }, "member_name": "owner", "argument_types": [], "type_description": { "type_identifier": "t_struct$_KnoxLpLocker_TokenLock_$2031", "type_string": "struct KnoxLpLocker.TokenLock" - } + }, + "text": "tokenLock.owner" } ], "type_description": { @@ -76496,7 +77799,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3610, + "id": 3611, "node_type": 43, "src": { "line": 1716, @@ -76504,11 +77807,11 @@ "start": 61913, "end": 61975, "length": 63, - "parent_index": 3609 + "parent_index": 3610 }, "parameters": [ { - "id": 3611, + "id": 3612, "node_type": 44, "src": { "line": 1716, @@ -76516,12 +77819,12 @@ "start": 61913, "end": 61925, "length": 13, - "parent_index": 3610 + "parent_index": 3611 }, - "scope": 3609, + "scope": 3610, "name": "_user", "type_name": { - "id": 3612, + "id": 3613, "node_type": 30, "src": { "line": 1716, @@ -76529,7 +77832,7 @@ "start": 61913, "end": 61919, "length": 7, - "parent_index": 3611 + "parent_index": 3612 }, "name": "address", "state_mutability": 4, @@ -76548,7 +77851,7 @@ } }, { - "id": 3613, + "id": 3614, "node_type": 44, "src": { "line": 1717, @@ -76556,12 +77859,12 @@ "start": 61936, "end": 61951, "length": 16, - "parent_index": 3610 + "parent_index": 3611 }, - "scope": 3609, + "scope": 3610, "name": "_lpToken", "type_name": { - "id": 3614, + "id": 3615, "node_type": 30, "src": { "line": 1717, @@ -76569,7 +77872,7 @@ "start": 61936, "end": 61942, "length": 7, - "parent_index": 3613 + "parent_index": 3614 }, "name": "address", "state_mutability": 4, @@ -76588,7 +77891,7 @@ } }, { - "id": 3615, + "id": 3616, "node_type": 44, "src": { "line": 1718, @@ -76596,12 +77899,12 @@ "start": 61962, "end": 61975, "length": 14, - "parent_index": 3610 + "parent_index": 3611 }, - "scope": 3609, + "scope": 3610, "name": "_index", "type_name": { - "id": 3616, + "id": 3617, "node_type": 30, "src": { "line": 1718, @@ -76609,7 +77912,7 @@ "start": 61962, "end": 61968, "length": 7, - "parent_index": 3615 + "parent_index": 3616 }, "name": "uint256", "referenced_declaration": 0, @@ -76643,7 +77946,7 @@ ] }, "return_parameters": { - "id": 3617, + "id": 3618, "node_type": 43, "src": { "line": 1722, @@ -76651,11 +77954,11 @@ "start": 62030, "end": 62081, "length": 52, - "parent_index": 3609 + "parent_index": 3610 }, "parameters": [ { - "id": 3618, + "id": 3619, "node_type": 44, "src": { "line": 1722, @@ -76663,12 +77966,12 @@ "start": 62030, "end": 62036, "length": 7, - "parent_index": 3617 + "parent_index": 3618 }, - "scope": 3609, + "scope": 3610, "name": "", "type_name": { - "id": 3619, + "id": 3620, "node_type": 30, "src": { "line": 1722, @@ -76676,7 +77979,7 @@ "start": 62030, "end": 62036, "length": 7, - "parent_index": 3618 + "parent_index": 3619 }, "name": "uint256", "referenced_declaration": 0, @@ -76694,7 +77997,7 @@ } }, { - "id": 3620, + "id": 3621, "node_type": 44, "src": { "line": 1722, @@ -76702,12 +78005,12 @@ "start": 62039, "end": 62045, "length": 7, - "parent_index": 3617 + "parent_index": 3618 }, - "scope": 3609, + "scope": 3610, "name": "", "type_name": { - "id": 3621, + "id": 3622, "node_type": 30, "src": { "line": 1722, @@ -76715,7 +78018,7 @@ "start": 62039, "end": 62045, "length": 7, - "parent_index": 3620 + "parent_index": 3621 }, "name": "uint256", "referenced_declaration": 0, @@ -76733,7 +78036,7 @@ } }, { - "id": 3622, + "id": 3623, "node_type": 44, "src": { "line": 1722, @@ -76741,12 +78044,12 @@ "start": 62048, "end": 62054, "length": 7, - "parent_index": 3617 + "parent_index": 3618 }, - "scope": 3609, + "scope": 3610, "name": "", "type_name": { - "id": 3623, + "id": 3624, "node_type": 30, "src": { "line": 1722, @@ -76754,7 +78057,7 @@ "start": 62048, "end": 62054, "length": 7, - "parent_index": 3622 + "parent_index": 3623 }, "name": "uint256", "referenced_declaration": 0, @@ -76772,7 +78075,7 @@ } }, { - "id": 3624, + "id": 3625, "node_type": 44, "src": { "line": 1722, @@ -76780,12 +78083,12 @@ "start": 62057, "end": 62063, "length": 7, - "parent_index": 3617 + "parent_index": 3618 }, - "scope": 3609, + "scope": 3610, "name": "", "type_name": { - "id": 3625, + "id": 3626, "node_type": 30, "src": { "line": 1722, @@ -76793,7 +78096,7 @@ "start": 62057, "end": 62063, "length": 7, - "parent_index": 3624 + "parent_index": 3625 }, "name": "uint256", "referenced_declaration": 0, @@ -76811,7 +78114,7 @@ } }, { - "id": 3626, + "id": 3627, "node_type": 44, "src": { "line": 1722, @@ -76819,12 +78122,12 @@ "start": 62066, "end": 62072, "length": 7, - "parent_index": 3617 + "parent_index": 3618 }, - "scope": 3609, + "scope": 3610, "name": "", "type_name": { - "id": 3627, + "id": 3628, "node_type": 30, "src": { "line": 1722, @@ -76832,7 +78135,7 @@ "start": 62066, "end": 62072, "length": 7, - "parent_index": 3626 + "parent_index": 3627 }, "name": "uint256", "referenced_declaration": 0, @@ -76850,7 +78153,7 @@ } }, { - "id": 3628, + "id": 3629, "node_type": 44, "src": { "line": 1722, @@ -76858,12 +78161,12 @@ "start": 62075, "end": 62081, "length": 7, - "parent_index": 3617 + "parent_index": 3618 }, - "scope": 3609, + "scope": 3610, "name": "", "type_name": { - "id": 3629, + "id": 3630, "node_type": 30, "src": { "line": 1722, @@ -76871,7 +78174,7 @@ "start": 62075, "end": 62081, "length": 7, - "parent_index": 3628 + "parent_index": 3629 }, "name": "address", "state_mutability": 4, @@ -76917,16 +78220,17 @@ } ] }, - "signature_raw": "getUserLockForTokenAtIndex(address, address, uint256)", - "signature": "9633f00f", + "signature_raw": "getUserLockForTokenAtIndex(address,address,uint256)", + "signature": "d4ff493f", "scope": 1998, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiongetUserLockForTokenAtIndex(address_user,address_lpToken,uint256_index)externalviewreturns(uint256,uint256,uint256,uint256,uint256,address){uint256lockID=users[_user].locksForToken[_lpToken][_index];TokenLockstoragetokenLock=tokenLocks[_lpToken][lockID];return(tokenLock.lockDate,tokenLock.amount,tokenLock.initialAmount,tokenLock.unlockDate,tokenLock.lockID,tokenLock.owner);}" }, { - "id": 3666, + "id": 3667, "name": "getWhitelistedUsersLength", "node_type": 42, "kind": 41, @@ -76944,10 +78248,10 @@ "start": 62485, "end": 62509, "length": 25, - "parent_index": 3666 + "parent_index": 3667 }, "body": { - "id": 3673, + "id": 3674, "node_type": 46, "kind": 0, "src": { @@ -76956,12 +78260,12 @@ "start": 62545, "end": 62589, "length": 45, - "parent_index": 3666 + "parent_index": 3667 }, "implemented": true, "statements": [ { - "id": 3674, + "id": 3675, "node_type": 47, "src": { "line": 1738, @@ -76969,11 +78273,11 @@ "start": 62555, "end": 62583, "length": 29, - "parent_index": 3666 + "parent_index": 3667 }, - "function_return_parameters": 3666, + "function_return_parameters": 3667, "expression": { - "id": 3675, + "id": 3676, "node_type": 24, "kind": 24, "src": { @@ -76982,12 +78286,12 @@ "start": 62562, "end": 62582, "length": 21, - "parent_index": 3674 + "parent_index": 3675 }, "argument_types": [], "arguments": [], "expression": { - "id": 3676, + "id": 3677, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76999,7 +78303,7 @@ "start": 62562, "end": 62580, "length": 19, - "parent_index": 3675 + "parent_index": 3676 }, "member_location": { "line": 1738, @@ -77007,10 +78311,10 @@ "start": 62575, "end": 62580, "length": 6, - "parent_index": 3676 + "parent_index": 3677 }, "expression": { - "id": 3677, + "id": 3678, "node_type": 16, "src": { "line": 1738, @@ -77018,7 +78322,7 @@ "start": 62562, "end": 62573, "length": 12, - "parent_index": 3676 + "parent_index": 3677 }, "name": "feeWhitelist", "type_description": { @@ -77026,15 +78330,17 @@ "type_string": "contract EnumerableSet" }, "overloaded_declarations": [], - "referenced_declaration": 2085, - "is_pure": false + "referenced_declaration": 2086, + "is_pure": false, + "text": "feeWhitelist" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_contract$_EnumerableSet_$427", "type_string": "contract EnumerableSet" - } + }, + "text": "feeWhitelist.length" }, "type_description": { "type_identifier": "t_function_$", @@ -77051,7 +78357,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3667, + "id": 3668, "node_type": 43, "src": { "line": 1737, @@ -77059,11 +78365,11 @@ "start": 62536, "end": 62542, "length": 7, - "parent_index": 3666 + "parent_index": 3667 }, "parameters": [ { - "id": 3668, + "id": 3669, "node_type": 44, "src": { "line": 1737, @@ -77071,12 +78377,12 @@ "start": 62536, "end": 62542, "length": 7, - "parent_index": 3667 + "parent_index": 3668 }, - "scope": 3666, + "scope": 3667, "name": "", "type_name": { - "id": 3669, + "id": 3670, "node_type": 30, "src": { "line": 1737, @@ -77084,7 +78390,7 @@ "start": 62536, "end": 62542, "length": 7, - "parent_index": 3668 + "parent_index": 3669 }, "name": "uint256", "referenced_declaration": 0, @@ -77110,7 +78416,7 @@ ] }, "return_parameters": { - "id": 3670, + "id": 3671, "node_type": 43, "src": { "line": 1737, @@ -77118,11 +78424,11 @@ "start": 62536, "end": 62542, "length": 7, - "parent_index": 3666 + "parent_index": 3667 }, "parameters": [ { - "id": 3671, + "id": 3672, "node_type": 44, "src": { "line": 1737, @@ -77130,12 +78436,12 @@ "start": 62536, "end": 62542, "length": 7, - "parent_index": 3670 + "parent_index": 3671 }, - "scope": 3666, + "scope": 3667, "name": "", "type_name": { - "id": 3672, + "id": 3673, "node_type": 30, "src": { "line": 1737, @@ -77143,7 +78449,7 @@ "start": 62536, "end": 62542, "length": 7, - "parent_index": 3671 + "parent_index": 3672 }, "name": "uint256", "referenced_declaration": 0, @@ -77174,10 +78480,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetWhitelistedUsersLength()externalviewreturns(uint256){returnfeeWhitelist.length();}" }, { - "id": 3679, + "id": 3680, "name": "getWhitelistedUserAtIndex", "node_type": 42, "kind": 41, @@ -77195,10 +78502,10 @@ "start": 62605, "end": 62629, "length": 25, - "parent_index": 3679 + "parent_index": 3680 }, "body": { - "id": 3686, + "id": 3687, "node_type": 46, "kind": 0, "src": { @@ -77207,12 +78514,12 @@ "start": 62693, "end": 62739, "length": 47, - "parent_index": 3679 + "parent_index": 3680 }, "implemented": true, "statements": [ { - "id": 3687, + "id": 3688, "node_type": 47, "src": { "line": 1744, @@ -77220,11 +78527,11 @@ "start": 62703, "end": 62733, "length": 31, - "parent_index": 3679 + "parent_index": 3680 }, - "function_return_parameters": 3679, + "function_return_parameters": 3680, "expression": { - "id": 3688, + "id": 3689, "node_type": 24, "kind": 24, "src": { @@ -77233,7 +78540,7 @@ "start": 62710, "end": 62732, "length": 23, - "parent_index": 3687 + "parent_index": 3688 }, "argument_types": [ { @@ -77243,7 +78550,7 @@ ], "arguments": [ { - "id": 3691, + "id": 3692, "node_type": 16, "src": { "line": 1744, @@ -77251,7 +78558,7 @@ "start": 62726, "end": 62731, "length": 6, - "parent_index": 3688 + "parent_index": 3689 }, "name": "_index", "type_description": { @@ -77259,12 +78566,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3691, - "is_pure": false + "referenced_declaration": 3692, + "is_pure": false, + "text": "_index" } ], "expression": { - "id": 3689, + "id": 3690, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -77276,7 +78584,7 @@ "start": 62710, "end": 62724, "length": 15, - "parent_index": 3688 + "parent_index": 3689 }, "member_location": { "line": 1744, @@ -77284,10 +78592,10 @@ "start": 62723, "end": 62724, "length": 2, - "parent_index": 3689 + "parent_index": 3690 }, "expression": { - "id": 3690, + "id": 3691, "node_type": 16, "src": { "line": 1744, @@ -77295,7 +78603,7 @@ "start": 62710, "end": 62721, "length": 12, - "parent_index": 3689 + "parent_index": 3690 }, "name": "feeWhitelist", "type_description": { @@ -77303,15 +78611,17 @@ "type_string": "contract EnumerableSet" }, "overloaded_declarations": [], - "referenced_declaration": 2085, - "is_pure": false + "referenced_declaration": 2086, + "is_pure": false, + "text": "feeWhitelist" }, "member_name": "at", "argument_types": [], "type_description": { "type_identifier": "t_contract$_EnumerableSet_$427", "type_string": "contract EnumerableSet" - } + }, + "text": "feeWhitelist.at" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -77328,7 +78638,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3680, + "id": 3681, "node_type": 43, "src": { "line": 1742, @@ -77336,11 +78646,11 @@ "start": 62640, "end": 62653, "length": 14, - "parent_index": 3679 + "parent_index": 3680 }, "parameters": [ { - "id": 3681, + "id": 3682, "node_type": 44, "src": { "line": 1742, @@ -77348,12 +78658,12 @@ "start": 62640, "end": 62653, "length": 14, - "parent_index": 3680 + "parent_index": 3681 }, - "scope": 3679, + "scope": 3680, "name": "_index", "type_name": { - "id": 3682, + "id": 3683, "node_type": 30, "src": { "line": 1742, @@ -77361,7 +78671,7 @@ "start": 62640, "end": 62646, "length": 7, - "parent_index": 3681 + "parent_index": 3682 }, "name": "uint256", "referenced_declaration": 0, @@ -77387,7 +78697,7 @@ ] }, "return_parameters": { - "id": 3683, + "id": 3684, "node_type": 43, "src": { "line": 1743, @@ -77395,11 +78705,11 @@ "start": 62684, "end": 62690, "length": 7, - "parent_index": 3679 + "parent_index": 3680 }, "parameters": [ { - "id": 3684, + "id": 3685, "node_type": 44, "src": { "line": 1743, @@ -77407,12 +78717,12 @@ "start": 62684, "end": 62690, "length": 7, - "parent_index": 3683 + "parent_index": 3684 }, - "scope": 3679, + "scope": 3680, "name": "", "type_name": { - "id": 3685, + "id": 3686, "node_type": 30, "src": { "line": 1743, @@ -77420,7 +78730,7 @@ "start": 62684, "end": 62690, "length": 7, - "parent_index": 3684 + "parent_index": 3685 }, "name": "address", "state_mutability": 4, @@ -77452,10 +78762,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetWhitelistedUserAtIndex(uint256_index)externalviewreturns(address){returnfeeWhitelist.at(_index);}" }, { - "id": 3693, + "id": 3694, "name": "getUserWhitelistStatus", "node_type": 42, "kind": 41, @@ -77473,10 +78784,10 @@ "start": 62755, "end": 62776, "length": 22, - "parent_index": 3693 + "parent_index": 3694 }, "body": { - "id": 3700, + "id": 3701, "node_type": 46, "kind": 0, "src": { @@ -77485,12 +78796,12 @@ "start": 62836, "end": 62887, "length": 52, - "parent_index": 3693 + "parent_index": 3694 }, "implemented": true, "statements": [ { - "id": 3701, + "id": 3702, "node_type": 47, "src": { "line": 1750, @@ -77498,11 +78809,11 @@ "start": 62846, "end": 62881, "length": 36, - "parent_index": 3693 + "parent_index": 3694 }, - "function_return_parameters": 3693, + "function_return_parameters": 3694, "expression": { - "id": 3702, + "id": 3703, "node_type": 24, "kind": 24, "src": { @@ -77511,7 +78822,7 @@ "start": 62853, "end": 62880, "length": 28, - "parent_index": 3701 + "parent_index": 3702 }, "argument_types": [ { @@ -77521,7 +78832,7 @@ ], "arguments": [ { - "id": 3705, + "id": 3706, "node_type": 16, "src": { "line": 1750, @@ -77529,7 +78840,7 @@ "start": 62875, "end": 62879, "length": 5, - "parent_index": 3702 + "parent_index": 3703 }, "name": "_user", "type_description": { @@ -77537,12 +78848,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3705, - "is_pure": false + "referenced_declaration": 3706, + "is_pure": false, + "text": "_user" } ], "expression": { - "id": 3703, + "id": 3704, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -77554,7 +78866,7 @@ "start": 62853, "end": 62873, "length": 21, - "parent_index": 3702 + "parent_index": 3703 }, "member_location": { "line": 1750, @@ -77562,10 +78874,10 @@ "start": 62866, "end": 62873, "length": 8, - "parent_index": 3703 + "parent_index": 3704 }, "expression": { - "id": 3704, + "id": 3705, "node_type": 16, "src": { "line": 1750, @@ -77573,7 +78885,7 @@ "start": 62853, "end": 62864, "length": 12, - "parent_index": 3703 + "parent_index": 3704 }, "name": "feeWhitelist", "type_description": { @@ -77581,15 +78893,17 @@ "type_string": "contract EnumerableSet" }, "overloaded_declarations": [], - "referenced_declaration": 2085, - "is_pure": false + "referenced_declaration": 2086, + "is_pure": false, + "text": "feeWhitelist" }, "member_name": "contains", "argument_types": [], "type_description": { "type_identifier": "t_contract$_EnumerableSet_$427", "type_string": "contract EnumerableSet" - } + }, + "text": "feeWhitelist.contains" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -77606,7 +78920,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3694, + "id": 3695, "node_type": 43, "src": { "line": 1748, @@ -77614,11 +78928,11 @@ "start": 62787, "end": 62799, "length": 13, - "parent_index": 3693 + "parent_index": 3694 }, "parameters": [ { - "id": 3695, + "id": 3696, "node_type": 44, "src": { "line": 1748, @@ -77626,12 +78940,12 @@ "start": 62787, "end": 62799, "length": 13, - "parent_index": 3694 + "parent_index": 3695 }, - "scope": 3693, + "scope": 3694, "name": "_user", "type_name": { - "id": 3696, + "id": 3697, "node_type": 30, "src": { "line": 1748, @@ -77639,7 +78953,7 @@ "start": 62787, "end": 62793, "length": 7, - "parent_index": 3695 + "parent_index": 3696 }, "name": "address", "state_mutability": 4, @@ -77666,7 +78980,7 @@ ] }, "return_parameters": { - "id": 3697, + "id": 3698, "node_type": 43, "src": { "line": 1749, @@ -77674,11 +78988,11 @@ "start": 62830, "end": 62833, "length": 4, - "parent_index": 3693 + "parent_index": 3694 }, "parameters": [ { - "id": 3698, + "id": 3699, "node_type": 44, "src": { "line": 1749, @@ -77686,12 +79000,12 @@ "start": 62830, "end": 62833, "length": 4, - "parent_index": 3697 + "parent_index": 3698 }, - "scope": 3693, + "scope": 3694, "name": "", "type_name": { - "id": 3699, + "id": 3700, "node_type": 30, "src": { "line": 1749, @@ -77699,7 +79013,7 @@ "start": 62830, "end": 62833, "length": 4, - "parent_index": 3698 + "parent_index": 3699 }, "name": "bool", "referenced_declaration": 0, @@ -77730,10 +79044,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetUserWhitelistStatus(address_user)externalviewreturns(bool){returnfeeWhitelist.contains(_user);}" }, { - "id": 3707, + "id": 3708, "node_type": 57, "src": { "line": 1757, @@ -77744,7 +79059,7 @@ "parent_index": 1998 }, "parameters": { - "id": 3708, + "id": 3709, "node_type": 43, "src": { "line": 1757, @@ -77752,11 +79067,11 @@ "start": 63049, "end": 63101, "length": 53, - "parent_index": 3707 + "parent_index": 3708 }, "parameters": [ { - "id": 3709, + "id": 3710, "node_type": 44, "src": { "line": 1757, @@ -77764,12 +79079,12 @@ "start": 63070, "end": 63099, "length": 30, - "parent_index": 3708 + "parent_index": 3709 }, - "scope": 3707, + "scope": 3708, "name": "_contributionWithdrawn", "type_name": { - "id": 3710, + "id": 3711, "node_type": 30, "src": { "line": 1757, @@ -77777,7 +79092,7 @@ "start": 63070, "end": 63076, "length": 7, - "parent_index": 3709 + "parent_index": 3710 }, "name": "uint256", "referenced_declaration": 0, @@ -77805,12 +79120,12 @@ "name": "NativeWithdraw", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_KnoxLpLocker_NativeWithdraw_\u00263707", + "type_identifier": "t_event\u0026_KnoxLpLocker_NativeWithdraw_\u00263708", "type_string": "event KnoxLpLocker.NativeWithdraw" } }, { - "id": 3712, + "id": 3713, "name": "withdrawNative", "node_type": 42, "kind": 41, @@ -77828,10 +79143,10 @@ "start": 63376, "end": 63389, "length": 14, - "parent_index": 3712 + "parent_index": 3713 }, "body": { - "id": 3717, + "id": 3718, "node_type": 46, "kind": 0, "src": { @@ -77840,12 +79155,12 @@ "start": 63412, "end": 63529, "length": 118, - "parent_index": 3712 + "parent_index": 3713 }, "implemented": true, "statements": [ { - "id": 3718, + "id": 3719, "node_type": 24, "kind": 24, "src": { @@ -77854,7 +79169,7 @@ "start": 63422, "end": 63470, "length": 49, - "parent_index": 3717 + "parent_index": 3718 }, "argument_types": [ { @@ -77864,7 +79179,7 @@ ], "arguments": [ { - "id": 3723, + "id": 3724, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -77876,7 +79191,7 @@ "start": 63449, "end": 63469, "length": 21, - "parent_index": 3718 + "parent_index": 3719 }, "member_location": { "line": 1765, @@ -77884,10 +79199,10 @@ "start": 63463, "end": 63469, "length": 7, - "parent_index": 3723 + "parent_index": 3724 }, "expression": { - "id": 3724, + "id": 3725, "node_type": 24, "kind": 24, "src": { @@ -77896,7 +79211,7 @@ "start": 63449, "end": 63461, "length": 13, - "parent_index": 3723 + "parent_index": 3724 }, "argument_types": [ { @@ -77906,7 +79221,7 @@ ], "arguments": [ { - "id": 3727, + "id": 3728, "node_type": 16, "src": { "line": 1765, @@ -77914,7 +79229,7 @@ "start": 63457, "end": 63460, "length": 4, - "parent_index": 3724 + "parent_index": 3725 }, "name": "this", "type_description": { @@ -77923,11 +79238,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3725, + "id": 3726, "node_type": 16, "src": { "line": 1765, @@ -77935,11 +79251,11 @@ "start": 63449, "end": 63455, "length": 7, - "parent_index": 3724 + "parent_index": 3725 }, "name": "address", "type_name": { - "id": 3726, + "id": 3727, "node_type": 30, "src": { "line": 1765, @@ -77947,7 +79263,7 @@ "start": 63449, "end": 63455, "length": 7, - "parent_index": 3725 + "parent_index": 3726 }, "name": "address", "state_mutability": 4, @@ -77969,7 +79285,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -77981,11 +79298,12 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } ], "expression": { - "id": 3719, + "id": 3720, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -77997,7 +79315,7 @@ "start": 63422, "end": 63447, "length": 26, - "parent_index": 3718 + "parent_index": 3719 }, "member_location": { "line": 1765, @@ -78005,10 +79323,10 @@ "start": 63439, "end": 63447, "length": 9, - "parent_index": 3719 + "parent_index": 3720 }, "expression": { - "id": 3720, + "id": 3721, "node_type": 84, "src": { "line": 1765, @@ -78016,11 +79334,11 @@ "start": 63422, "end": 63437, "length": 16, - "parent_index": 3719 + "parent_index": 3720 }, "arguments": [ { - "id": 3721, + "id": 3722, "node_type": 24, "kind": 24, "src": { @@ -78029,12 +79347,12 @@ "start": 63430, "end": 63436, "length": 7, - "parent_index": 3720 + "parent_index": 3721 }, "argument_types": [], "arguments": [], "expression": { - "id": 3722, + "id": 3723, "node_type": 16, "src": { "line": 1765, @@ -78042,7 +79360,7 @@ "start": 63430, "end": 63434, "length": 5, - "parent_index": 3721 + "parent_index": 3722 }, "name": "owner", "type_description": { @@ -78051,7 +79369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -78076,7 +79395,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_function_$$", "type_string": "function(function()) payable" - } + }, + "text": "payable(owner()).sendValue" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -78084,7 +79404,7 @@ } }, { - "id": 3728, + "id": 3729, "node_type": 64, "src": { "line": 1766, @@ -78092,11 +79412,11 @@ "start": 63481, "end": 63523, "length": 43, - "parent_index": 3712 + "parent_index": 3713 }, "arguments": [ { - "id": 3729, + "id": 3730, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -78108,7 +79428,7 @@ "start": 63501, "end": 63521, "length": 21, - "parent_index": 3728 + "parent_index": 3729 }, "member_location": { "line": 1766, @@ -78116,10 +79436,10 @@ "start": 63515, "end": 63521, "length": 7, - "parent_index": 3729 + "parent_index": 3730 }, "expression": { - "id": 3730, + "id": 3731, "node_type": 24, "kind": 24, "src": { @@ -78128,7 +79448,7 @@ "start": 63501, "end": 63513, "length": 13, - "parent_index": 3729 + "parent_index": 3730 }, "argument_types": [ { @@ -78138,7 +79458,7 @@ ], "arguments": [ { - "id": 3733, + "id": 3734, "node_type": 16, "src": { "line": 1766, @@ -78146,7 +79466,7 @@ "start": 63509, "end": 63512, "length": 4, - "parent_index": 3730 + "parent_index": 3731 }, "name": "this", "type_description": { @@ -78155,11 +79475,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3731, + "id": 3732, "node_type": 16, "src": { "line": 1766, @@ -78167,11 +79488,11 @@ "start": 63501, "end": 63507, "length": 7, - "parent_index": 3730 + "parent_index": 3731 }, "name": "address", "type_name": { - "id": 3732, + "id": 3733, "node_type": 30, "src": { "line": 1766, @@ -78179,7 +79500,7 @@ "start": 63501, "end": 63507, "length": 7, - "parent_index": 3731 + "parent_index": 3732 }, "name": "address", "state_mutability": 4, @@ -78201,7 +79522,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -78213,11 +79535,12 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } ], "expression": { - "id": 3734, + "id": 3735, "node_type": 16, "src": { "line": 1766, @@ -78225,16 +79548,17 @@ "start": 63486, "end": 63499, "length": 14, - "parent_index": 3728 + "parent_index": 3729 }, "name": "NativeWithdraw", "type_description": { - "type_identifier": "t_event\u0026_KnoxLpLocker_NativeWithdraw_\u00263707", + "type_identifier": "t_event\u0026_KnoxLpLocker_NativeWithdraw_\u00263708", "type_string": "event KnoxLpLocker.NativeWithdraw" }, "overloaded_declarations": [], - "referenced_declaration": 3707, - "is_pure": false + "referenced_declaration": 3708, + "is_pure": false, + "text": "NativeWithdraw" } } ] @@ -78245,7 +79569,7 @@ "virtual": false, "modifiers": [ { - "id": 3714, + "id": 3715, "name": "onlyOwner", "node_type": 72, "kind": 72, @@ -78255,12 +79579,12 @@ "start": 63402, "end": 63410, "length": 9, - "parent_index": 3712 + "parent_index": 3713 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 3715, + "id": 3716, "name": "onlyOwner", "node_type": 0, "src": { @@ -78269,14 +79593,14 @@ "start": 63402, "end": 63410, "length": 9, - "parent_index": 3714 + "parent_index": 3715 } } } ], "overrides": [], "parameters": { - "id": 3713, + "id": 3714, "node_type": 43, "src": { "line": 1764, @@ -78284,13 +79608,13 @@ "start": 63367, "end": 63529, "length": 163, - "parent_index": 3712 + "parent_index": 3713 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 3716, + "id": 3717, "node_type": 43, "src": { "line": 1764, @@ -78298,7 +79622,7 @@ "start": 63367, "end": 63529, "length": 163, - "parent_index": 3712 + "parent_index": 3713 }, "parameters": [], "parameter_types": [] @@ -78309,7 +79633,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawNative()externalonlyOwner{payable(owner()).sendValue(address(this).balance);emitNativeWithdraw(address(this).balance);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/KnoxLpLocker.solgo.ast.proto.json b/data/tests/contracts/knox/KnoxLpLocker.solgo.ast.proto.json index 2b16962a..878e552a 100644 --- a/data/tests/contracts/knox/KnoxLpLocker.solgo.ast.proto.json +++ b/data/tests/contracts/knox/KnoxLpLocker.solgo.ast.proto.json @@ -6,7 +6,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3735", + "id": "3736", "isStateVariable": true, "name": "_owner", "nodeType": "VARIABLE_DECLARATION", @@ -24,7 +24,7 @@ "typeString": "address" }, "typeName": { - "id": "3736", + "id": "3737", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -32,7 +32,7 @@ "end": "1626", "length": "7", "line": "53", - "parentIndex": "3735", + "parentIndex": "3736", "start": "1620" }, "stateMutability": "NONPAYABLE", @@ -47,25 +47,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3737", + "id": "3738", "name": "OwnershipTransferred", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3738", + "id": "3739", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3739", + "id": "3740", "indexed": true, "name": "previousOwner", "nodeType": "VARIABLE_DECLARATION", - "scope": "3739", + "scope": "3740", "src": { "column": "31", "end": "1704", "length": "29", "line": "55", - "parentIndex": "3738", + "parentIndex": "3739", "start": "1676" }, "stateMutability": "NONPAYABLE", @@ -75,7 +75,7 @@ "typeString": "address" }, "typeName": { - "id": "3740", + "id": "3741", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -83,7 +83,7 @@ "end": "1682", "length": "7", "line": "55", - "parentIndex": "3739", + "parentIndex": "3740", "start": "1676" }, "stateMutability": "NONPAYABLE", @@ -95,17 +95,17 @@ "visibility": "INTERNAL" }, { - "id": "3741", + "id": "3742", "indexed": true, "name": "newOwner", "nodeType": "VARIABLE_DECLARATION", - "scope": "3741", + "scope": "3742", "src": { "column": "62", "end": "1730", "length": "24", "line": "55", - "parentIndex": "3738", + "parentIndex": "3739", "start": "1707" }, "stateMutability": "NONPAYABLE", @@ -115,7 +115,7 @@ "typeString": "address" }, "typeName": { - "id": "3742", + "id": "3743", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -123,7 +123,7 @@ "end": "1713", "length": "7", "line": "55", - "parentIndex": "3741", + "parentIndex": "3742", "start": "1707" }, "stateMutability": "NONPAYABLE", @@ -140,7 +140,7 @@ "end": "1732", "length": "84", "line": "55", - "parentIndex": "3737", + "parentIndex": "3738", "start": "1649" } }, @@ -152,7 +152,7 @@ "start": "1649" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_OwnershipTransferred_\u00263737", + "typeIdentifier": "t_event\u0026_Global_OwnershipTransferred_\u00263738", "typeString": "event Global.OwnershipTransferred" } } @@ -160,7 +160,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3743", + "id": "3744", "isConstant": true, "isStateVariable": true, "name": "oldOwner", @@ -179,7 +179,7 @@ "typeString": "address" }, "typeName": { - "id": "3744", + "id": "3745", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -187,7 +187,7 @@ "end": "3428", "length": "7", "line": "111", - "parentIndex": "3743", + "parentIndex": "3744", "start": "3422" }, "stateMutability": "NONPAYABLE", @@ -202,12 +202,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3745", + "id": "3746", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "3747", + "id": "3748", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -216,7 +216,7 @@ "end": "5288", "length": "1", "line": "152", - "parentIndex": "3745", + "parentIndex": "3746", "start": "5288" }, "typeDescription": { @@ -244,7 +244,7 @@ "typeString": "int_const 1" }, "typeName": { - "id": "3746", + "id": "3747", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -252,7 +252,7 @@ "end": "5254", "length": "7", "line": "152", - "parentIndex": "3745", + "parentIndex": "3746", "start": "5248" }, "typeDescription": { @@ -266,12 +266,12 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3748", + "id": "3749", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "32", - "id": "3750", + "id": "3751", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -280,7 +280,7 @@ "end": "5331", "length": "1", "line": "153", - "parentIndex": "3748", + "parentIndex": "3749", "start": "5331" }, "typeDescription": { @@ -308,7 +308,7 @@ "typeString": "int_const 2" }, "typeName": { - "id": "3749", + "id": "3750", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -316,7 +316,7 @@ "end": "5301", "length": "7", "line": "153", - "parentIndex": "3748", + "parentIndex": "3749", "start": "5295" }, "typeDescription": { @@ -330,7 +330,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3751", + "id": "3752", "isStateVariable": true, "name": "_status", "nodeType": "VARIABLE_DECLARATION", @@ -348,7 +348,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3752", + "id": "3753", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -356,7 +356,7 @@ "end": "5345", "length": "7", "line": "155", - "parentIndex": "3751", + "parentIndex": "3752", "start": "5339" }, "typeDescription": { @@ -371,19 +371,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Set", - "id": "3753", + "id": "3754", "members": [ { - "id": "3754", + "id": "3755", "name": "_values", "nodeType": "VARIABLE_DECLARATION", - "scope": "3754", + "scope": "3755", "src": { "column": "8", "end": "8603", "length": "18", "line": "251", - "parentIndex": "3753", + "parentIndex": "3754", "start": "8586" }, "stateMutability": "MUTABLE", @@ -392,7 +392,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3755", + "id": "3756", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -400,7 +400,7 @@ "end": "8592", "length": "7", "line": "251", - "parentIndex": "3754", + "parentIndex": "3755", "start": "8586" }, "typeDescription": { @@ -411,16 +411,16 @@ "visibility": "INTERNAL" }, { - "id": "3756", + "id": "3757", "name": "_indexes", "nodeType": "VARIABLE_DECLARATION", - "scope": "3756", + "scope": "3757", "src": { "column": "8", "end": "8772", "length": "37", "line": "254", - "parentIndex": "3753", + "parentIndex": "3754", "start": "8736" }, "stateMutability": "MUTABLE", @@ -429,9 +429,9 @@ "typeString": "mapping(bytes32=\u003euint256)" }, "typeName": { - "id": "3757", + "id": "3758", "keyType": { - "id": "3758", + "id": "3759", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -439,7 +439,7 @@ "end": "8750", "length": "7", "line": "254", - "parentIndex": "3757", + "parentIndex": "3758", "start": "8744" }, "typeDescription": { @@ -452,15 +452,16 @@ "end": "8750", "length": "7", "line": "254", - "parentIndex": "3757", + "parentIndex": "3758", "start": "8744" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "8762", "length": "27", "line": "254", - "parentIndex": "3756", + "parentIndex": "3757", "start": "8736" }, "typeDescription": { @@ -468,7 +469,7 @@ "typeString": "mapping(bytes32=\u003euint256)" }, "valueType": { - "id": "3759", + "id": "3760", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -476,7 +477,7 @@ "end": "8761", "length": "7", "line": "254", - "parentIndex": "3757", + "parentIndex": "3758", "start": "8755" }, "typeDescription": { @@ -489,7 +490,7 @@ "end": "8761", "length": "7", "line": "254", - "parentIndex": "3757", + "parentIndex": "3758", "start": "8755" } }, @@ -502,7 +503,7 @@ "end": "8541", "length": "3", "line": "249", - "parentIndex": "3753", + "parentIndex": "3754", "start": "8539" }, "nodeType": "STRUCT_DEFINITION", @@ -515,7 +516,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Set_$3753", + "typeIdentifier": "t_struct$_Global_Set_$3754", "typeString": "struct Global.Set" }, "visibility": "PUBLIC" @@ -524,7 +525,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3760", + "id": "3761", "isConstant": true, "isStateVariable": true, "name": "valueIndex", @@ -543,7 +544,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3761", + "id": "3762", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -551,7 +552,7 @@ "end": "9709", "length": "7", "line": "283", - "parentIndex": "3760", + "parentIndex": "3761", "start": "9703" }, "typeDescription": { @@ -565,7 +566,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3762", + "id": "3763", "isConstant": true, "isStateVariable": true, "name": "toDeleteIndex", @@ -584,7 +585,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3763", + "id": "3764", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -592,7 +593,7 @@ "end": "10133", "length": "7", "line": "291", - "parentIndex": "3762", + "parentIndex": "3763", "start": "10127" }, "typeDescription": { @@ -606,7 +607,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3764", + "id": "3765", "isConstant": true, "isStateVariable": true, "name": "lastIndex", @@ -625,7 +626,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3765", + "id": "3766", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -633,7 +634,7 @@ "end": "10185", "length": "7", "line": "292", - "parentIndex": "3764", + "parentIndex": "3765", "start": "10179" }, "typeDescription": { @@ -647,7 +648,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3766", + "id": "3767", "isConstant": true, "isStateVariable": true, "name": "lastValue", @@ -666,7 +667,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3767", + "id": "3768", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -674,7 +675,7 @@ "end": "10292", "length": "7", "line": "295", - "parentIndex": "3766", + "parentIndex": "3767", "start": "10286" }, "typeDescription": { @@ -689,62 +690,62 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Bytes32Set", - "id": "3768", + "id": "3769", "members": [ { - "id": "3769", + "id": "3770", "name": "_inner", "nodeType": "VARIABLE_DECLARATION", - "scope": "3769", + "scope": "3770", "src": { "column": "8", "end": "12477", "length": "11", "line": "358", - "parentIndex": "3768", + "parentIndex": "3769", "start": "12467" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Set_$3753", + "typeIdentifier": "t_struct$_Global_Set_$3754", "typeString": "struct Global.Set" }, "typeName": { - "id": "3770", + "id": "3771", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3771", + "id": "3772", "name": "Set", "nameLocation": { "column": "8", "end": "12469", "length": "3", "line": "358", - "parentIndex": "3770", + "parentIndex": "3771", "start": "12467" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3753", + "referencedDeclaration": "3754", "src": { "column": "8", "end": "12469", "length": "3", "line": "358", - "parentIndex": "3770", + "parentIndex": "3771", "start": "12467" } }, - "referencedDeclaration": "3753", + "referencedDeclaration": "3754", "src": { "column": "8", "end": "12469", "length": "3", "line": "358", - "parentIndex": "3769", + "parentIndex": "3770", "start": "12467" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Set_$3753", + "typeIdentifier": "t_struct$_Global_Set_$3754", "typeString": "struct Global.Set" } }, @@ -757,7 +758,7 @@ "end": "12455", "length": "10", "line": "357", - "parentIndex": "3768", + "parentIndex": "3769", "start": "12446" }, "nodeType": "STRUCT_DEFINITION", @@ -770,7 +771,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Bytes32Set_$3768", + "typeIdentifier": "t_struct$_Global_Bytes32Set_$3769", "typeString": "struct Global.Bytes32Set" }, "visibility": "PUBLIC" @@ -779,7 +780,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3772", + "id": "3773", "isConstant": true, "isStateVariable": true, "name": "store", @@ -798,7 +799,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3773", + "id": "3774", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -806,7 +807,7 @@ "end": "14597", "length": "7", "line": "418", - "parentIndex": "3772", + "parentIndex": "3773", "start": "14591" }, "typeDescription": { @@ -820,7 +821,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3774", + "id": "3775", "isConstant": true, "isStateVariable": true, "name": "result", @@ -839,7 +840,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3775", + "id": "3776", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -847,7 +848,7 @@ "end": "14651", "length": "7", "line": "419", - "parentIndex": "3774", + "parentIndex": "3775", "start": "14645" }, "typeDescription": { @@ -862,62 +863,62 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.AddressSet", - "id": "3776", + "id": "3777", "members": [ { - "id": "3777", + "id": "3778", "name": "_inner", "nodeType": "VARIABLE_DECLARATION", - "scope": "3777", + "scope": "3778", "src": { "column": "8", "end": "14863", "length": "11", "line": "432", - "parentIndex": "3776", + "parentIndex": "3777", "start": "14853" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Set_$3753", + "typeIdentifier": "t_struct$_Global_Set_$3754", "typeString": "struct Global.Set" }, "typeName": { - "id": "3778", + "id": "3779", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3779", + "id": "3780", "name": "Set", "nameLocation": { "column": "8", "end": "14855", "length": "3", "line": "432", - "parentIndex": "3778", + "parentIndex": "3779", "start": "14853" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3753", + "referencedDeclaration": "3754", "src": { "column": "8", "end": "14855", "length": "3", "line": "432", - "parentIndex": "3778", + "parentIndex": "3779", "start": "14853" } }, - "referencedDeclaration": "3753", + "referencedDeclaration": "3754", "src": { "column": "8", "end": "14855", "length": "3", "line": "432", - "parentIndex": "3777", + "parentIndex": "3778", "start": "14853" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Set_$3753", + "typeIdentifier": "t_struct$_Global_Set_$3754", "typeString": "struct Global.Set" } }, @@ -930,7 +931,7 @@ "end": "14841", "length": "10", "line": "431", - "parentIndex": "3776", + "parentIndex": "3777", "start": "14832" }, "nodeType": "STRUCT_DEFINITION", @@ -943,7 +944,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_AddressSet_$3776", + "typeIdentifier": "t_struct$_Global_AddressSet_$3777", "typeString": "struct Global.AddressSet" }, "visibility": "PUBLIC" @@ -952,7 +953,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3780", + "id": "3781", "isConstant": true, "isStateVariable": true, "name": "store", @@ -971,7 +972,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3781", + "id": "3782", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -979,7 +980,7 @@ "end": "17091", "length": "7", "line": "492", - "parentIndex": "3780", + "parentIndex": "3781", "start": "17085" }, "typeDescription": { @@ -993,7 +994,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3782", + "id": "3783", "isConstant": true, "isStateVariable": true, "name": "result", @@ -1012,7 +1013,7 @@ "typeString": "address" }, "typeName": { - "id": "3783", + "id": "3784", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -1020,7 +1021,7 @@ "end": "17145", "length": "7", "line": "493", - "parentIndex": "3782", + "parentIndex": "3783", "start": "17139" }, "typeDescription": { @@ -1035,62 +1036,62 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.UintSet", - "id": "3784", + "id": "3785", "members": [ { - "id": "3785", + "id": "3786", "name": "_inner", "nodeType": "VARIABLE_DECLARATION", - "scope": "3785", + "scope": "3786", "src": { "column": "8", "end": "17351", "length": "11", "line": "506", - "parentIndex": "3784", + "parentIndex": "3785", "start": "17341" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Set_$3753", + "typeIdentifier": "t_struct$_Global_Set_$3754", "typeString": "struct Global.Set" }, "typeName": { - "id": "3786", + "id": "3787", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3787", + "id": "3788", "name": "Set", "nameLocation": { "column": "8", "end": "17343", "length": "3", "line": "506", - "parentIndex": "3786", + "parentIndex": "3787", "start": "17341" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3753", + "referencedDeclaration": "3754", "src": { "column": "8", "end": "17343", "length": "3", "line": "506", - "parentIndex": "3786", + "parentIndex": "3787", "start": "17341" } }, - "referencedDeclaration": "3753", + "referencedDeclaration": "3754", "src": { "column": "8", "end": "17343", "length": "3", "line": "506", - "parentIndex": "3785", + "parentIndex": "3786", "start": "17341" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Set_$3753", + "typeIdentifier": "t_struct$_Global_Set_$3754", "typeString": "struct Global.Set" } }, @@ -1103,7 +1104,7 @@ "end": "17329", "length": "7", "line": "505", - "parentIndex": "3784", + "parentIndex": "3785", "start": "17323" }, "nodeType": "STRUCT_DEFINITION", @@ -1116,7 +1117,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_UintSet_$3784", + "typeIdentifier": "t_struct$_Global_UintSet_$3785", "typeString": "struct Global.UintSet" }, "visibility": "PUBLIC" @@ -1125,7 +1126,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3788", + "id": "3789", "isConstant": true, "isStateVariable": true, "name": "store", @@ -1144,7 +1145,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "3789", + "id": "3790", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -1152,7 +1153,7 @@ "end": "19489", "length": "7", "line": "566", - "parentIndex": "3788", + "parentIndex": "3789", "start": "19483" }, "typeDescription": { @@ -1166,7 +1167,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3790", + "id": "3791", "isConstant": true, "isStateVariable": true, "name": "result", @@ -1185,7 +1186,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3791", + "id": "3792", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -1193,7 +1194,7 @@ "end": "19543", "length": "7", "line": "567", - "parentIndex": "3790", + "parentIndex": "3791", "start": "19537" }, "typeDescription": { @@ -1207,7 +1208,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3792", + "id": "3793", "isConstant": true, "isStateVariable": true, "name": "success", @@ -1226,7 +1227,7 @@ "typeString": "bool" }, "typeName": { - "id": "3793", + "id": "3794", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1234,7 +1235,7 @@ "end": "22533", "length": "4", "line": "646", - "parentIndex": "3792", + "parentIndex": "3793", "start": "22530" }, "typeDescription": { @@ -1248,7 +1249,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3794", + "id": "3795", "isConstant": true, "isStateVariable": true, "name": "success", @@ -1267,7 +1268,7 @@ "typeString": "bool" }, "typeName": { - "id": "3795", + "id": "3796", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1275,7 +1276,7 @@ "end": "25166", "length": "4", "line": "714", - "parentIndex": "3794", + "parentIndex": "3795", "start": "25163" }, "typeDescription": { @@ -1289,7 +1290,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3796", + "id": "3797", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -1308,7 +1309,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3797", + "id": "3798", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1316,7 +1317,7 @@ "end": "25181", "length": "5", "line": "714", - "parentIndex": "3796", + "parentIndex": "3797", "start": "25177" }, "typeDescription": { @@ -1330,7 +1331,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3798", + "id": "3799", "isConstant": true, "isStateVariable": true, "name": "success", @@ -1349,7 +1350,7 @@ "typeString": "bool" }, "typeName": { - "id": "3799", + "id": "3800", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1357,7 +1358,7 @@ "end": "26058", "length": "4", "line": "739", - "parentIndex": "3798", + "parentIndex": "3799", "start": "26055" }, "typeDescription": { @@ -1371,7 +1372,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3800", + "id": "3801", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -1390,7 +1391,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3801", + "id": "3802", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1398,7 +1399,7 @@ "end": "26073", "length": "5", "line": "739", - "parentIndex": "3800", + "parentIndex": "3801", "start": "26069" }, "typeDescription": { @@ -1412,7 +1413,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3802", + "id": "3803", "isConstant": true, "isStateVariable": true, "name": "success", @@ -1431,7 +1432,7 @@ "typeString": "bool" }, "typeName": { - "id": "3803", + "id": "3804", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1439,7 +1440,7 @@ "end": "26944", "length": "4", "line": "764", - "parentIndex": "3802", + "parentIndex": "3803", "start": "26941" }, "typeDescription": { @@ -1453,7 +1454,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3804", + "id": "3805", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -1472,7 +1473,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3805", + "id": "3806", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1480,7 +1481,7 @@ "end": "26959", "length": "5", "line": "764", - "parentIndex": "3804", + "parentIndex": "3805", "start": "26955" }, "typeDescription": { @@ -1494,25 +1495,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3806", + "id": "3807", "name": "Transfer", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3807", + "id": "3808", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3808", + "id": "3809", "indexed": true, "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "3808", + "scope": "3809", "src": { "column": "19", "end": "31835", "length": "20", "line": "905", - "parentIndex": "3807", + "parentIndex": "3808", "start": "31816" }, "stateMutability": "NONPAYABLE", @@ -1522,7 +1523,7 @@ "typeString": "address" }, "typeName": { - "id": "3809", + "id": "3810", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1530,7 +1531,7 @@ "end": "31822", "length": "7", "line": "905", - "parentIndex": "3808", + "parentIndex": "3809", "start": "31816" }, "stateMutability": "NONPAYABLE", @@ -1542,17 +1543,17 @@ "visibility": "INTERNAL" }, { - "id": "3810", + "id": "3811", "indexed": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "3810", + "scope": "3811", "src": { "column": "41", "end": "31855", "length": "18", "line": "905", - "parentIndex": "3807", + "parentIndex": "3808", "start": "31838" }, "stateMutability": "NONPAYABLE", @@ -1562,7 +1563,7 @@ "typeString": "address" }, "typeName": { - "id": "3811", + "id": "3812", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1570,7 +1571,7 @@ "end": "31844", "length": "7", "line": "905", - "parentIndex": "3810", + "parentIndex": "3811", "start": "31838" }, "stateMutability": "NONPAYABLE", @@ -1582,16 +1583,16 @@ "visibility": "INTERNAL" }, { - "id": "3812", + "id": "3813", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "3812", + "scope": "3813", "src": { "column": "61", "end": "31870", "length": "13", "line": "905", - "parentIndex": "3807", + "parentIndex": "3808", "start": "31858" }, "stateMutability": "MUTABLE", @@ -1601,7 +1602,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3813", + "id": "3814", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1609,7 +1610,7 @@ "end": "31864", "length": "7", "line": "905", - "parentIndex": "3812", + "parentIndex": "3813", "start": "31858" }, "typeDescription": { @@ -1625,7 +1626,7 @@ "end": "31872", "length": "72", "line": "905", - "parentIndex": "3806", + "parentIndex": "3807", "start": "31801" } }, @@ -1637,7 +1638,7 @@ "start": "31801" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Transfer_\u00263806", + "typeIdentifier": "t_event\u0026_Global_Transfer_\u00263807", "typeString": "event Global.Transfer" } } @@ -1645,25 +1646,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3814", + "id": "3815", "name": "Approval", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3815", + "id": "3816", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3816", + "id": "3817", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "3816", + "scope": "3817", "src": { "column": "19", "end": "32067", "length": "21", "line": "911", - "parentIndex": "3815", + "parentIndex": "3816", "start": "32047" }, "stateMutability": "NONPAYABLE", @@ -1673,7 +1674,7 @@ "typeString": "address" }, "typeName": { - "id": "3817", + "id": "3818", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1681,7 +1682,7 @@ "end": "32053", "length": "7", "line": "911", - "parentIndex": "3816", + "parentIndex": "3817", "start": "32047" }, "stateMutability": "NONPAYABLE", @@ -1693,17 +1694,17 @@ "visibility": "INTERNAL" }, { - "id": "3818", + "id": "3819", "indexed": true, "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "3818", + "scope": "3819", "src": { "column": "42", "end": "32092", "length": "23", "line": "911", - "parentIndex": "3815", + "parentIndex": "3816", "start": "32070" }, "stateMutability": "NONPAYABLE", @@ -1713,7 +1714,7 @@ "typeString": "address" }, "typeName": { - "id": "3819", + "id": "3820", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1721,7 +1722,7 @@ "end": "32076", "length": "7", "line": "911", - "parentIndex": "3818", + "parentIndex": "3819", "start": "32070" }, "stateMutability": "NONPAYABLE", @@ -1733,16 +1734,16 @@ "visibility": "INTERNAL" }, { - "id": "3820", + "id": "3821", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "3820", + "scope": "3821", "src": { "column": "67", "end": "32107", "length": "13", "line": "911", - "parentIndex": "3815", + "parentIndex": "3816", "start": "32095" }, "stateMutability": "MUTABLE", @@ -1752,7 +1753,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3821", + "id": "3822", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1760,7 +1761,7 @@ "end": "32101", "length": "7", "line": "911", - "parentIndex": "3820", + "parentIndex": "3821", "start": "32095" }, "typeDescription": { @@ -1776,7 +1777,7 @@ "end": "32109", "length": "78", "line": "911", - "parentIndex": "3814", + "parentIndex": "3815", "start": "32032" } }, @@ -1788,7 +1789,7 @@ "start": "32032" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Approval_\u00263814", + "typeIdentifier": "t_event\u0026_Global_Approval_\u00263815", "typeString": "event Global.Approval" } } @@ -1796,7 +1797,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3822", + "id": "3823", "isConstant": true, "isStateVariable": true, "name": "oldAllowance", @@ -1815,7 +1816,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3823", + "id": "3824", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1823,7 +1824,7 @@ "end": "36770", "length": "7", "line": "1030", - "parentIndex": "3822", + "parentIndex": "3823", "start": "36764" }, "typeDescription": { @@ -1837,7 +1838,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3824", + "id": "3825", "isConstant": true, "isStateVariable": true, "name": "oldAllowance", @@ -1856,7 +1857,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3825", + "id": "3826", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1864,7 +1865,7 @@ "end": "37265", "length": "7", "line": "1040", - "parentIndex": "3824", + "parentIndex": "3825", "start": "37259" }, "typeDescription": { @@ -1878,7 +1879,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3826", + "id": "3827", "isConstant": true, "isStateVariable": true, "name": "approvalCall", @@ -1897,7 +1898,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3827", + "id": "3828", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1905,7 +1906,7 @@ "end": "37956", "length": "5", "line": "1052", - "parentIndex": "3826", + "parentIndex": "3827", "start": "37952" }, "typeDescription": { @@ -1919,7 +1920,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3828", + "id": "3829", "isConstant": true, "isStateVariable": true, "name": "nonceBefore", @@ -1938,7 +1939,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3829", + "id": "3830", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1946,7 +1947,7 @@ "end": "38658", "length": "7", "line": "1074", - "parentIndex": "3828", + "parentIndex": "3829", "start": "38652" }, "typeDescription": { @@ -1960,7 +1961,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3830", + "id": "3831", "isConstant": true, "isStateVariable": true, "name": "nonceAfter", @@ -1979,7 +1980,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3831", + "id": "3832", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1987,7 +1988,7 @@ "end": "38773", "length": "7", "line": "1076", - "parentIndex": "3830", + "parentIndex": "3831", "start": "38767" }, "typeDescription": { @@ -2001,7 +2002,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3832", + "id": "3833", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -2020,7 +2021,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3833", + "id": "3834", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2028,7 +2029,7 @@ "end": "39705", "length": "5", "line": "1091", - "parentIndex": "3832", + "parentIndex": "3833", "start": "39701" }, "typeDescription": { @@ -2042,7 +2043,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3834", + "id": "3835", "isConstant": true, "isStateVariable": true, "name": "success", @@ -2061,7 +2062,7 @@ "typeString": "bool" }, "typeName": { - "id": "3835", + "id": "3836", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2069,7 +2070,7 @@ "end": "40813", "length": "4", "line": "1108", - "parentIndex": "3834", + "parentIndex": "3835", "start": "40810" }, "typeDescription": { @@ -2083,7 +2084,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3836", + "id": "3837", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -2102,7 +2103,7 @@ "typeString": "bytes" }, "typeName": { - "id": "3837", + "id": "3838", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2110,7 +2111,7 @@ "end": "40828", "length": "5", "line": "1108", - "parentIndex": "3836", + "parentIndex": "3837", "start": "40824" }, "typeDescription": { @@ -2124,7 +2125,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3838", + "id": "3839", "isStateVariable": true, "name": "uniswapFactory", "nodeType": "VARIABLE_DECLARATION", @@ -2142,17 +2143,17 @@ "typeString": "contract IUniFactory" }, "typeName": { - "id": "3839", + "id": "3840", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3840", + "id": "3841", "name": "IUniFactory", "nameLocation": { "column": "4", "end": "42366", "length": "11", "line": "1170", - "parentIndex": "3839", + "parentIndex": "3840", "start": "42356" }, "nodeType": "IDENTIFIER_PATH", @@ -2162,7 +2163,7 @@ "end": "42366", "length": "11", "line": "1170", - "parentIndex": "3839", + "parentIndex": "3840", "start": "42356" } }, @@ -2172,7 +2173,7 @@ "end": "42366", "length": "11", "line": "1170", - "parentIndex": "3838", + "parentIndex": "3839", "start": "42356" }, "typeDescription": { @@ -2187,19 +2188,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.UserInfo", - "id": "3841", + "id": "3842", "members": [ { - "id": "3842", + "id": "3843", "name": "lockedTokens", "nodeType": "VARIABLE_DECLARATION", - "scope": "3842", + "scope": "3843", "src": { "column": "8", "end": "42459", "length": "38", "line": "1173", - "parentIndex": "3841", + "parentIndex": "3842", "start": "42422" }, "stateMutability": "MUTABLE", @@ -2208,17 +2209,17 @@ "typeString": "contract EnumerableSet" }, "typeName": { - "id": "3843", + "id": "3844", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3844", + "id": "3845", "name": "EnumerableSet", "nameLocation": { "column": "8", "end": "42434", "length": "13", "line": "1173", - "parentIndex": "3843", + "parentIndex": "3844", "start": "42422" }, "nodeType": "IDENTIFIER_PATH", @@ -2228,7 +2229,7 @@ "end": "42445", "length": "24", "line": "1173", - "parentIndex": "3843", + "parentIndex": "3844", "start": "42422" } }, @@ -2238,7 +2239,7 @@ "end": "42445", "length": "24", "line": "1173", - "parentIndex": "3842", + "parentIndex": "3843", "start": "42422" }, "typeDescription": { @@ -2249,16 +2250,16 @@ "visibility": "INTERNAL" }, { - "id": "3845", + "id": "3846", "name": "locksForToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3845", + "scope": "3846", "src": { "column": "8", "end": "42554", "length": "44", "line": "1174", - "parentIndex": "3841", + "parentIndex": "3842", "start": "42511" }, "stateMutability": "MUTABLE", @@ -2267,9 +2268,9 @@ "typeString": "mapping(address=\u003euint256[])" }, "typeName": { - "id": "3846", + "id": "3847", "keyType": { - "id": "3847", + "id": "3848", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2277,7 +2278,7 @@ "end": "42525", "length": "7", "line": "1174", - "parentIndex": "3846", + "parentIndex": "3847", "start": "42519" }, "typeDescription": { @@ -2290,15 +2291,16 @@ "end": "42525", "length": "7", "line": "1174", - "parentIndex": "3846", + "parentIndex": "3847", "start": "42519" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "42539", "length": "29", "line": "1174", - "parentIndex": "3845", + "parentIndex": "3846", "start": "42511" }, "typeDescription": { @@ -2306,7 +2308,7 @@ "typeString": "mapping(address=\u003euint256[])" }, "valueType": { - "id": "3848", + "id": "3849", "name": "uint256[]", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2314,7 +2316,7 @@ "end": "42538", "length": "9", "line": "1174", - "parentIndex": "3846", + "parentIndex": "3847", "start": "42530" }, "typeDescription": { @@ -2327,7 +2329,7 @@ "end": "42538", "length": "9", "line": "1174", - "parentIndex": "3846", + "parentIndex": "3847", "start": "42530" } }, @@ -2340,7 +2342,7 @@ "end": "42410", "length": "8", "line": "1172", - "parentIndex": "3841", + "parentIndex": "3842", "start": "42403" }, "nodeType": "STRUCT_DEFINITION", @@ -2353,7 +2355,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" }, "visibility": "PUBLIC" @@ -2363,19 +2365,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.TokenLock", - "id": "3849", + "id": "3850", "members": [ { - "id": "3850", + "id": "3851", "name": "lockDate", "nodeType": "VARIABLE_DECLARATION", - "scope": "3850", + "scope": "3851", "src": { "column": "8", "end": "42657", "length": "17", "line": "1178", - "parentIndex": "3849", + "parentIndex": "3850", "start": "42641" }, "stateMutability": "MUTABLE", @@ -2384,7 +2386,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3851", + "id": "3852", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2392,7 +2394,7 @@ "end": "42647", "length": "7", "line": "1178", - "parentIndex": "3850", + "parentIndex": "3851", "start": "42641" }, "typeDescription": { @@ -2403,16 +2405,16 @@ "visibility": "INTERNAL" }, { - "id": "3852", + "id": "3853", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "3852", + "scope": "3853", "src": { "column": "8", "end": "42724", "length": "15", "line": "1179", - "parentIndex": "3849", + "parentIndex": "3850", "start": "42710" }, "stateMutability": "MUTABLE", @@ -2421,7 +2423,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3853", + "id": "3854", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2429,7 +2431,7 @@ "end": "42716", "length": "7", "line": "1179", - "parentIndex": "3852", + "parentIndex": "3853", "start": "42710" }, "typeDescription": { @@ -2440,16 +2442,16 @@ "visibility": "INTERNAL" }, { - "id": "3854", + "id": "3855", "name": "initialAmount", "nodeType": "VARIABLE_DECLARATION", - "scope": "3854", + "scope": "3855", "src": { "column": "8", "end": "42825", "length": "22", "line": "1180", - "parentIndex": "3849", + "parentIndex": "3850", "start": "42804" }, "stateMutability": "MUTABLE", @@ -2458,7 +2460,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3855", + "id": "3856", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2466,7 +2468,7 @@ "end": "42810", "length": "7", "line": "1180", - "parentIndex": "3854", + "parentIndex": "3855", "start": "42804" }, "typeDescription": { @@ -2477,16 +2479,16 @@ "visibility": "INTERNAL" }, { - "id": "3856", + "id": "3857", "name": "unlockDate", "nodeType": "VARIABLE_DECLARATION", - "scope": "3856", + "scope": "3857", "src": { "column": "8", "end": "42880", "length": "19", "line": "1181", - "parentIndex": "3849", + "parentIndex": "3850", "start": "42862" }, "stateMutability": "MUTABLE", @@ -2495,7 +2497,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3857", + "id": "3858", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2503,7 +2505,7 @@ "end": "42868", "length": "7", "line": "1181", - "parentIndex": "3856", + "parentIndex": "3857", "start": "42862" }, "typeDescription": { @@ -2514,16 +2516,16 @@ "visibility": "INTERNAL" }, { - "id": "3858", + "id": "3859", "name": "lockID", "nodeType": "VARIABLE_DECLARATION", - "scope": "3858", + "scope": "3859", "src": { "column": "8", "end": "42953", "length": "15", "line": "1182", - "parentIndex": "3849", + "parentIndex": "3850", "start": "42939" }, "stateMutability": "MUTABLE", @@ -2532,7 +2534,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3859", + "id": "3860", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2540,7 +2542,7 @@ "end": "42945", "length": "7", "line": "1182", - "parentIndex": "3858", + "parentIndex": "3859", "start": "42939" }, "typeDescription": { @@ -2551,16 +2553,16 @@ "visibility": "INTERNAL" }, { - "id": "3860", + "id": "3861", "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "3860", + "scope": "3861", "src": { "column": "8", "end": "43005", "length": "14", "line": "1183", - "parentIndex": "3849", + "parentIndex": "3850", "start": "42992" }, "stateMutability": "NONPAYABLE", @@ -2569,7 +2571,7 @@ "typeString": "address" }, "typeName": { - "id": "3861", + "id": "3862", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2577,7 +2579,7 @@ "end": "42998", "length": "7", "line": "1183", - "parentIndex": "3860", + "parentIndex": "3861", "start": "42992" }, "stateMutability": "NONPAYABLE", @@ -2595,7 +2597,7 @@ "end": "42629", "length": "9", "line": "1177", - "parentIndex": "3849", + "parentIndex": "3850", "start": "42621" }, "nodeType": "STRUCT_DEFINITION", @@ -2608,7 +2610,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "visibility": "PUBLIC" @@ -2617,7 +2619,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3862", + "id": "3863", "isStateVariable": true, "name": "users", "nodeType": "VARIABLE_DECLARATION", @@ -2631,13 +2633,13 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Global_UserInfo_$3842$", "typeString": "mapping(address=\u003eUserInfo)" }, "typeName": { - "id": "3863", + "id": "3864", "keyType": { - "id": "3864", + "id": "3865", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2645,7 +2647,7 @@ "end": "43032", "length": "7", "line": "1186", - "parentIndex": "3863", + "parentIndex": "3864", "start": "43026" }, "typeDescription": { @@ -2658,36 +2660,61 @@ "end": "43032", "length": "7", "line": "1186", - "parentIndex": "3863", + "parentIndex": "3864", "start": "43026" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3867", + "name": "UserInfo", + "nameLocation": { + "column": "23", + "end": "43044", + "length": "8", + "line": "1186", + "parentIndex": "3864", + "start": "43037" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "3842", + "src": { + "column": "23", + "end": "43044", + "length": "8", + "line": "1186", + "parentIndex": "3864", + "start": "43037" + } + }, + "referencedDeclaration": "3842", "src": { "column": "4", "end": "43045", "length": "28", "line": "1186", - "parentIndex": "3862", + "parentIndex": "3863", "start": "43018" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_Global_UserInfo_$3842$", "typeString": "mapping(address=\u003eUserInfo)" }, "valueType": { - "id": "3865", + "id": "3866", "name": "UserInfo", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "3842", "src": { "column": "23", "end": "43044", "length": "8", "line": "1186", - "parentIndex": "3863", + "parentIndex": "3864", "start": "43037" }, "typeDescription": { - "typeIdentifier": "t_UserInfo", - "typeString": "UserInfo" + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", + "typeString": "struct Global.UserInfo" } }, "valueTypeLocation": { @@ -2695,7 +2722,7 @@ "end": "43044", "length": "8", "line": "1186", - "parentIndex": "3863", + "parentIndex": "3864", "start": "43037" } }, @@ -2705,7 +2732,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3866", + "id": "3868", "isStateVariable": true, "name": "lockedTokens", "nodeType": "VARIABLE_DECLARATION", @@ -2723,17 +2750,17 @@ "typeString": "contract EnumerableSet" }, "typeName": { - "id": "3867", + "id": "3869", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3868", + "id": "3870", "name": "EnumerableSet", "nameLocation": { "column": "4", "end": "43079", "length": "13", "line": "1188", - "parentIndex": "3867", + "parentIndex": "3869", "start": "43067" }, "nodeType": "IDENTIFIER_PATH", @@ -2743,7 +2770,7 @@ "end": "43090", "length": "24", "line": "1188", - "parentIndex": "3867", + "parentIndex": "3869", "start": "43067" } }, @@ -2753,7 +2780,7 @@ "end": "43090", "length": "24", "line": "1188", - "parentIndex": "3866", + "parentIndex": "3868", "start": "43067" }, "typeDescription": { @@ -2767,7 +2794,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3869", + "id": "3871", "isStateVariable": true, "name": "tokenLocks", "nodeType": "VARIABLE_DECLARATION", @@ -2785,9 +2812,9 @@ "typeString": "mapping(address=\u003eTokenLock[])" }, "typeName": { - "id": "3870", + "id": "3872", "keyType": { - "id": "3871", + "id": "3873", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2795,7 +2822,7 @@ "end": "43132", "length": "7", "line": "1189", - "parentIndex": "3870", + "parentIndex": "3872", "start": "43126" }, "typeDescription": { @@ -2808,15 +2835,16 @@ "end": "43132", "length": "7", "line": "1189", - "parentIndex": "3870", + "parentIndex": "3872", "start": "43126" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "43148", "length": "31", "line": "1189", - "parentIndex": "3869", + "parentIndex": "3871", "start": "43118" }, "typeDescription": { @@ -2824,7 +2852,7 @@ "typeString": "mapping(address=\u003eTokenLock[])" }, "valueType": { - "id": "3872", + "id": "3874", "name": "TokenLock[]", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2832,7 +2860,7 @@ "end": "43147", "length": "11", "line": "1189", - "parentIndex": "3870", + "parentIndex": "3872", "start": "43137" }, "typeDescription": { @@ -2845,7 +2873,7 @@ "end": "43147", "length": "11", "line": "1189", - "parentIndex": "3870", + "parentIndex": "3872", "start": "43137" } }, @@ -2856,19 +2884,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.FeeStruct", - "id": "3873", + "id": "3875", "members": [ { - "id": "3874", + "id": "3876", "name": "ethFee", "nodeType": "VARIABLE_DECLARATION", - "scope": "3874", + "scope": "3876", "src": { "column": "8", "end": "43249", "length": "15", "line": "1192", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43235" }, "stateMutability": "MUTABLE", @@ -2877,7 +2905,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3875", + "id": "3877", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2885,7 +2913,7 @@ "end": "43241", "length": "7", "line": "1192", - "parentIndex": "3874", + "parentIndex": "3876", "start": "43235" }, "typeDescription": { @@ -2896,16 +2924,16 @@ "visibility": "INTERNAL" }, { - "id": "3876", + "id": "3878", "name": "secondaryFeeToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3876", + "scope": "3878", "src": { "column": "8", "end": "43334", "length": "27", "line": "1193", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43308" }, "stateMutability": "MUTABLE", @@ -2914,17 +2942,17 @@ "typeString": "contract IERCBurn" }, "typeName": { - "id": "3877", + "id": "3879", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3878", + "id": "3880", "name": "IERCBurn", "nameLocation": { "column": "8", "end": "43315", "length": "8", "line": "1193", - "parentIndex": "3877", + "parentIndex": "3879", "start": "43308" }, "nodeType": "IDENTIFIER_PATH", @@ -2934,7 +2962,7 @@ "end": "43315", "length": "8", "line": "1193", - "parentIndex": "3877", + "parentIndex": "3879", "start": "43308" } }, @@ -2944,7 +2972,7 @@ "end": "43315", "length": "8", "line": "1193", - "parentIndex": "3876", + "parentIndex": "3878", "start": "43308" }, "typeDescription": { @@ -2955,16 +2983,16 @@ "visibility": "INTERNAL" }, { - "id": "3879", + "id": "3881", "name": "secondaryTokenFee", "nodeType": "VARIABLE_DECLARATION", - "scope": "3879", + "scope": "3881", "src": { "column": "8", "end": "43372", "length": "26", "line": "1194", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43347" }, "stateMutability": "MUTABLE", @@ -2973,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3880", + "id": "3882", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -2981,7 +3009,7 @@ "end": "43353", "length": "7", "line": "1194", - "parentIndex": "3879", + "parentIndex": "3881", "start": "43347" }, "typeDescription": { @@ -2992,16 +3020,16 @@ "visibility": "INTERNAL" }, { - "id": "3881", + "id": "3883", "name": "secondaryTokenDiscount", "nodeType": "VARIABLE_DECLARATION", - "scope": "3881", + "scope": "3883", "src": { "column": "8", "end": "43424", "length": "31", "line": "1195", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43394" }, "stateMutability": "MUTABLE", @@ -3010,7 +3038,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3882", + "id": "3884", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3018,7 +3046,7 @@ "end": "43400", "length": "7", "line": "1195", - "parentIndex": "3881", + "parentIndex": "3883", "start": "43394" }, "typeDescription": { @@ -3029,16 +3057,16 @@ "visibility": "INTERNAL" }, { - "id": "3883", + "id": "3885", "name": "liquidityFee", "nodeType": "VARIABLE_DECLARATION", - "scope": "3883", + "scope": "3885", "src": { "column": "8", "end": "43510", "length": "21", "line": "1196", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43490" }, "stateMutability": "MUTABLE", @@ -3047,7 +3075,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3884", + "id": "3886", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3055,7 +3083,7 @@ "end": "43496", "length": "7", "line": "1196", - "parentIndex": "3883", + "parentIndex": "3885", "start": "43490" }, "typeDescription": { @@ -3066,16 +3094,16 @@ "visibility": "INTERNAL" }, { - "id": "3885", + "id": "3887", "name": "referralPercent", "nodeType": "VARIABLE_DECLARATION", - "scope": "3885", + "scope": "3887", "src": { "column": "8", "end": "43576", "length": "24", "line": "1197", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43553" }, "stateMutability": "MUTABLE", @@ -3084,7 +3112,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3886", + "id": "3888", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3092,7 +3120,7 @@ "end": "43559", "length": "7", "line": "1197", - "parentIndex": "3885", + "parentIndex": "3887", "start": "43553" }, "typeDescription": { @@ -3103,16 +3131,16 @@ "visibility": "INTERNAL" }, { - "id": "3887", + "id": "3889", "name": "referralToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3887", + "scope": "3889", "src": { "column": "8", "end": "43629", "length": "23", "line": "1198", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43607" }, "stateMutability": "MUTABLE", @@ -3121,17 +3149,17 @@ "typeString": "contract IERCBurn" }, "typeName": { - "id": "3888", + "id": "3890", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3889", + "id": "3891", "name": "IERCBurn", "nameLocation": { "column": "8", "end": "43614", "length": "8", "line": "1198", - "parentIndex": "3888", + "parentIndex": "3890", "start": "43607" }, "nodeType": "IDENTIFIER_PATH", @@ -3141,7 +3169,7 @@ "end": "43614", "length": "8", "line": "1198", - "parentIndex": "3888", + "parentIndex": "3890", "start": "43607" } }, @@ -3151,7 +3179,7 @@ "end": "43614", "length": "8", "line": "1198", - "parentIndex": "3887", + "parentIndex": "3889", "start": "43607" }, "typeDescription": { @@ -3162,16 +3190,16 @@ "visibility": "INTERNAL" }, { - "id": "3890", + "id": "3892", "name": "referralHold", "nodeType": "VARIABLE_DECLARATION", - "scope": "3890", + "scope": "3892", "src": { "column": "8", "end": "43716", "length": "21", "line": "1199", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43696" }, "stateMutability": "MUTABLE", @@ -3180,7 +3208,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3891", + "id": "3893", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3188,7 +3216,7 @@ "end": "43702", "length": "7", "line": "1199", - "parentIndex": "3890", + "parentIndex": "3892", "start": "43696" }, "typeDescription": { @@ -3199,16 +3227,16 @@ "visibility": "INTERNAL" }, { - "id": "3892", + "id": "3894", "name": "referralDiscount", "nodeType": "VARIABLE_DECLARATION", - "scope": "3892", + "scope": "3894", "src": { "column": "8", "end": "43809", "length": "25", "line": "1200", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43785" }, "stateMutability": "MUTABLE", @@ -3217,7 +3245,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3893", + "id": "3895", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3225,7 +3253,7 @@ "end": "43791", "length": "7", "line": "1200", - "parentIndex": "3892", + "parentIndex": "3894", "start": "43785" }, "typeDescription": { @@ -3242,7 +3270,7 @@ "end": "43223", "length": "9", "line": "1191", - "parentIndex": "3873", + "parentIndex": "3875", "start": "43215" }, "nodeType": "STRUCT_DEFINITION", @@ -3255,7 +3283,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_FeeStruct_$3873", + "typeIdentifier": "t_struct$_Global_FeeStruct_$3875", "typeString": "struct Global.FeeStruct" }, "visibility": "PUBLIC" @@ -3264,7 +3292,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3894", + "id": "3896", "isStateVariable": true, "name": "gFees", "nodeType": "VARIABLE_DECLARATION", @@ -3278,45 +3306,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_FeeStruct_$3873", + "typeIdentifier": "t_struct$_Global_FeeStruct_$3875", "typeString": "struct Global.FeeStruct" }, "typeName": { - "id": "3895", + "id": "3897", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3896", + "id": "3898", "name": "FeeStruct", "nameLocation": { "column": "4", "end": "43894", "length": "9", "line": "1203", - "parentIndex": "3895", + "parentIndex": "3897", "start": "43886" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3873", + "referencedDeclaration": "3875", "src": { "column": "4", "end": "43894", "length": "9", "line": "1203", - "parentIndex": "3895", + "parentIndex": "3897", "start": "43886" } }, - "referencedDeclaration": "3873", + "referencedDeclaration": "3875", "src": { "column": "4", "end": "43894", "length": "9", "line": "1203", - "parentIndex": "3894", + "parentIndex": "3896", "start": "43886" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_FeeStruct_$3873", + "typeIdentifier": "t_struct$_Global_FeeStruct_$3875", "typeString": "struct Global.FeeStruct" } }, @@ -3326,7 +3354,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3897", + "id": "3899", "isStateVariable": true, "name": "feeWhitelist", "nodeType": "VARIABLE_DECLARATION", @@ -3344,17 +3372,17 @@ "typeString": "contract EnumerableSet" }, "typeName": { - "id": "3898", + "id": "3900", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3899", + "id": "3901", "name": "EnumerableSet", "nameLocation": { "column": "4", "end": "43926", "length": "13", "line": "1204", - "parentIndex": "3898", + "parentIndex": "3900", "start": "43914" }, "nodeType": "IDENTIFIER_PATH", @@ -3364,7 +3392,7 @@ "end": "43937", "length": "24", "line": "1204", - "parentIndex": "3898", + "parentIndex": "3900", "start": "43914" } }, @@ -3374,7 +3402,7 @@ "end": "43937", "length": "24", "line": "1204", - "parentIndex": "3897", + "parentIndex": "3899", "start": "43914" }, "typeDescription": { @@ -3388,7 +3416,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3900", + "id": "3902", "isStateVariable": true, "name": "devaddr", "nodeType": "VARIABLE_DECLARATION", @@ -3406,7 +3434,7 @@ "typeString": "address" }, "typeName": { - "id": "3901", + "id": "3903", "name": "addresspayable", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3414,7 +3442,7 @@ "end": "43980", "length": "15", "line": "1206", - "parentIndex": "3900", + "parentIndex": "3902", "start": "43966" }, "stateMutability": "PAYABLE", @@ -3429,7 +3457,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3902", + "id": "3904", "isStateVariable": true, "name": "migrator", "nodeType": "VARIABLE_DECLARATION", @@ -3447,17 +3475,17 @@ "typeString": "contract IMigrator" }, "typeName": { - "id": "3903", + "id": "3905", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3904", + "id": "3906", "name": "IMigrator", "nameLocation": { "column": "4", "end": "44004", "length": "9", "line": "1208", - "parentIndex": "3903", + "parentIndex": "3905", "start": "43996" }, "nodeType": "IDENTIFIER_PATH", @@ -3467,7 +3495,7 @@ "end": "44004", "length": "9", "line": "1208", - "parentIndex": "3903", + "parentIndex": "3905", "start": "43996" } }, @@ -3477,7 +3505,7 @@ "end": "44004", "length": "9", "line": "1208", - "parentIndex": "3902", + "parentIndex": "3904", "start": "43996" }, "typeDescription": { @@ -3491,24 +3519,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3905", + "id": "3907", "name": "onDeposit", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3906", + "id": "3908", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3907", + "id": "3909", "name": "lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3907", + "scope": "3909", "src": { "column": "8", "end": "44060", "length": "15", "line": "1211", - "parentIndex": "3906", + "parentIndex": "3908", "start": "44046" }, "stateMutability": "NONPAYABLE", @@ -3518,7 +3546,7 @@ "typeString": "address" }, "typeName": { - "id": "3908", + "id": "3910", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3526,7 +3554,7 @@ "end": "44052", "length": "7", "line": "1211", - "parentIndex": "3907", + "parentIndex": "3909", "start": "44046" }, "stateMutability": "NONPAYABLE", @@ -3538,16 +3566,16 @@ "visibility": "INTERNAL" }, { - "id": "3909", + "id": "3911", "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "3909", + "scope": "3911", "src": { "column": "8", "end": "44082", "length": "12", "line": "1212", - "parentIndex": "3906", + "parentIndex": "3908", "start": "44071" }, "stateMutability": "NONPAYABLE", @@ -3557,7 +3585,7 @@ "typeString": "address" }, "typeName": { - "id": "3910", + "id": "3912", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3565,7 +3593,7 @@ "end": "44077", "length": "7", "line": "1212", - "parentIndex": "3909", + "parentIndex": "3911", "start": "44071" }, "stateMutability": "NONPAYABLE", @@ -3577,16 +3605,16 @@ "visibility": "INTERNAL" }, { - "id": "3911", + "id": "3913", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "3911", + "scope": "3913", "src": { "column": "8", "end": "44106", "length": "14", "line": "1213", - "parentIndex": "3906", + "parentIndex": "3908", "start": "44093" }, "stateMutability": "MUTABLE", @@ -3596,7 +3624,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3912", + "id": "3914", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3604,7 +3632,7 @@ "end": "44099", "length": "7", "line": "1213", - "parentIndex": "3911", + "parentIndex": "3913", "start": "44093" }, "typeDescription": { @@ -3615,16 +3643,16 @@ "visibility": "INTERNAL" }, { - "id": "3913", + "id": "3915", "name": "lockDate", "nodeType": "VARIABLE_DECLARATION", - "scope": "3913", + "scope": "3915", "src": { "column": "8", "end": "44132", "length": "16", "line": "1214", - "parentIndex": "3906", + "parentIndex": "3908", "start": "44117" }, "stateMutability": "MUTABLE", @@ -3634,7 +3662,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3914", + "id": "3916", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3642,7 +3670,7 @@ "end": "44123", "length": "7", "line": "1214", - "parentIndex": "3913", + "parentIndex": "3915", "start": "44117" }, "typeDescription": { @@ -3653,16 +3681,16 @@ "visibility": "INTERNAL" }, { - "id": "3915", + "id": "3917", "name": "unlockDate", "nodeType": "VARIABLE_DECLARATION", - "scope": "3915", + "scope": "3917", "src": { "column": "8", "end": "44160", "length": "18", "line": "1215", - "parentIndex": "3906", + "parentIndex": "3908", "start": "44143" }, "stateMutability": "MUTABLE", @@ -3672,7 +3700,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3916", + "id": "3918", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3680,7 +3708,7 @@ "end": "44149", "length": "7", "line": "1215", - "parentIndex": "3915", + "parentIndex": "3917", "start": "44143" }, "typeDescription": { @@ -3691,16 +3719,16 @@ "visibility": "INTERNAL" }, { - "id": "3917", + "id": "3919", "name": "lockID", "nodeType": "VARIABLE_DECLARATION", - "scope": "3917", + "scope": "3919", "src": { "column": "8", "end": "44184", "length": "14", "line": "1216", - "parentIndex": "3906", + "parentIndex": "3908", "start": "44171" }, "stateMutability": "MUTABLE", @@ -3710,7 +3738,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3918", + "id": "3920", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3718,7 +3746,7 @@ "end": "44177", "length": "7", "line": "1216", - "parentIndex": "3917", + "parentIndex": "3919", "start": "44171" }, "typeDescription": { @@ -3734,7 +3762,7 @@ "end": "44191", "length": "171", "line": "1210", - "parentIndex": "3905", + "parentIndex": "3907", "start": "44021" } }, @@ -3746,7 +3774,7 @@ "start": "44021" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_onDeposit_\u00263905", + "typeIdentifier": "t_event\u0026_Global_onDeposit_\u00263907", "typeString": "event Global.onDeposit" } } @@ -3754,24 +3782,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3919", + "id": "3921", "name": "onWithdraw", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3920", + "id": "3922", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3921", + "id": "3923", "name": "lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3921", + "scope": "3923", "src": { "column": "21", "end": "44228", "length": "15", "line": "1218", - "parentIndex": "3920", + "parentIndex": "3922", "start": "44214" }, "stateMutability": "NONPAYABLE", @@ -3781,7 +3809,7 @@ "typeString": "address" }, "typeName": { - "id": "3922", + "id": "3924", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3789,7 +3817,7 @@ "end": "44220", "length": "7", "line": "1218", - "parentIndex": "3921", + "parentIndex": "3923", "start": "44214" }, "stateMutability": "NONPAYABLE", @@ -3801,16 +3829,16 @@ "visibility": "INTERNAL" }, { - "id": "3923", + "id": "3925", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "3923", + "scope": "3925", "src": { "column": "38", "end": "44244", "length": "14", "line": "1218", - "parentIndex": "3920", + "parentIndex": "3922", "start": "44231" }, "stateMutability": "MUTABLE", @@ -3820,7 +3848,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3924", + "id": "3926", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3828,7 +3856,7 @@ "end": "44237", "length": "7", "line": "1218", - "parentIndex": "3923", + "parentIndex": "3925", "start": "44231" }, "typeDescription": { @@ -3844,7 +3872,7 @@ "end": "44246", "length": "50", "line": "1218", - "parentIndex": "3919", + "parentIndex": "3921", "start": "44197" } }, @@ -3856,7 +3884,7 @@ "start": "44197" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_onWithdraw_\u00263919", + "typeIdentifier": "t_event\u0026_Global_onWithdraw_\u00263921", "typeString": "event Global.onWithdraw" } } @@ -3864,7 +3892,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3925", + "id": "3927", "isConstant": true, "isStateVariable": true, "name": "lpair", @@ -3883,17 +3911,17 @@ "typeString": "contract IUniswapV2Pair" }, "typeName": { - "id": "3926", + "id": "3928", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3927", + "id": "3929", "name": "IUniswapV2Pair", "nameLocation": { "column": "8", "end": "48153", "length": "14", "line": "1324", - "parentIndex": "3926", + "parentIndex": "3928", "start": "48140" }, "nodeType": "IDENTIFIER_PATH", @@ -3903,7 +3931,7 @@ "end": "48153", "length": "14", "line": "1324", - "parentIndex": "3926", + "parentIndex": "3928", "start": "48140" } }, @@ -3913,7 +3941,7 @@ "end": "48153", "length": "14", "line": "1324", - "parentIndex": "3925", + "parentIndex": "3927", "start": "48140" }, "typeDescription": { @@ -3927,7 +3955,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3928", + "id": "3930", "isConstant": true, "isStateVariable": true, "name": "factoryPairAddress", @@ -3946,7 +3974,7 @@ "typeString": "address" }, "typeName": { - "id": "3929", + "id": "3931", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3954,7 +3982,7 @@ "end": "48212", "length": "7", "line": "1325", - "parentIndex": "3928", + "parentIndex": "3930", "start": "48206" }, "stateMutability": "NONPAYABLE", @@ -3969,7 +3997,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3930", + "id": "3932", "isConstant": true, "isStateVariable": true, "name": "ethFee", @@ -3988,7 +4016,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3931", + "id": "3933", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -3996,7 +4024,7 @@ "end": "48989", "length": "7", "line": "1351", - "parentIndex": "3930", + "parentIndex": "3932", "start": "48983" }, "typeDescription": { @@ -4010,7 +4038,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3932", + "id": "3934", "isConstant": true, "isStateVariable": true, "name": "devFee", @@ -4029,7 +4057,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3933", + "id": "3935", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4037,7 +4065,7 @@ "end": "49292", "length": "7", "line": "1358", - "parentIndex": "3932", + "parentIndex": "3934", "start": "49286" }, "typeDescription": { @@ -4051,7 +4079,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3934", + "id": "3936", "isConstant": true, "isStateVariable": true, "name": "referralFee", @@ -4070,7 +4098,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3935", + "id": "3937", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4078,7 +4106,7 @@ "end": "49435", "length": "7", "line": "1361", - "parentIndex": "3934", + "parentIndex": "3936", "start": "49429" }, "typeDescription": { @@ -4092,7 +4120,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3936", + "id": "3938", "isConstant": true, "isStateVariable": true, "name": "burnFee", @@ -4111,7 +4139,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3937", + "id": "3939", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4119,7 +4147,7 @@ "end": "49770", "length": "7", "line": "1369", - "parentIndex": "3936", + "parentIndex": "3938", "start": "49764" }, "typeDescription": { @@ -4133,7 +4161,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3938", + "id": "3940", "isConstant": true, "isStateVariable": true, "name": "referralFee", @@ -4152,7 +4180,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3939", + "id": "3941", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4160,7 +4188,7 @@ "end": "50341", "length": "7", "line": "1382", - "parentIndex": "3938", + "parentIndex": "3940", "start": "50335" }, "typeDescription": { @@ -4174,7 +4202,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3940", + "id": "3942", "isConstant": true, "isStateVariable": true, "name": "liquidityFee", @@ -4193,7 +4221,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3941", + "id": "3943", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4201,7 +4229,7 @@ "end": "50945", "length": "7", "line": "1398", - "parentIndex": "3940", + "parentIndex": "3942", "start": "50939" }, "typeDescription": { @@ -4215,7 +4243,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3942", + "id": "3944", "isConstant": true, "isStateVariable": true, "name": "amountLocked", @@ -4234,7 +4262,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3943", + "id": "3945", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4242,7 +4270,7 @@ "end": "51349", "length": "7", "line": "1406", - "parentIndex": "3942", + "parentIndex": "3944", "start": "51343" }, "typeDescription": { @@ -4256,7 +4284,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3944", + "id": "3946", "isConstant": true, "isStateVariable": true, "name": "token_lock", @@ -4271,45 +4299,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "typeName": { - "id": "3945", + "id": "3947", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3946", + "id": "3948", "name": "TokenLock", "nameLocation": { "column": "8", "end": "51409", "length": "9", "line": "1408", - "parentIndex": "3945", + "parentIndex": "3947", "start": "51401" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "51409", "length": "9", "line": "1408", - "parentIndex": "3945", + "parentIndex": "3947", "start": "51401" } }, - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "51409", "length": "9", "line": "1408", - "parentIndex": "3944", + "parentIndex": "3946", "start": "51401" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" } }, @@ -4319,7 +4347,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3947", + "id": "3949", "isConstant": true, "isStateVariable": true, "name": "user", @@ -4334,45 +4362,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" }, "typeName": { - "id": "3948", + "id": "3950", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3949", + "id": "3951", "name": "UserInfo", "nameLocation": { "column": "8", "end": "51896", "length": "8", "line": "1421", - "parentIndex": "3948", + "parentIndex": "3950", "start": "51889" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "51896", "length": "8", "line": "1421", - "parentIndex": "3948", + "parentIndex": "3950", "start": "51889" } }, - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "51896", "length": "8", "line": "1421", - "parentIndex": "3947", + "parentIndex": "3949", "start": "51889" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" } }, @@ -4382,7 +4410,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3950", + "id": "3952", "isConstant": true, "isStateVariable": true, "name": "user_locks", @@ -4401,7 +4429,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3951", + "id": "3953", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -4409,7 +4437,7 @@ "end": "51988", "length": "7", "line": "1423", - "parentIndex": "3950", + "parentIndex": "3952", "start": "51982" }, "typeDescription": { @@ -4423,7 +4451,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3952", + "id": "3954", "isConstant": true, "isStateVariable": true, "name": "lockID", @@ -4442,7 +4470,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3953", + "id": "3955", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4450,7 +4478,7 @@ "end": "52907", "length": "7", "line": "1451", - "parentIndex": "3952", + "parentIndex": "3954", "start": "52901" }, "typeDescription": { @@ -4464,7 +4492,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3954", + "id": "3956", "isConstant": true, "isStateVariable": true, "name": "userLock", @@ -4479,45 +4507,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "typeName": { - "id": "3955", + "id": "3957", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3956", + "id": "3958", "name": "TokenLock", "nameLocation": { "column": "8", "end": "52985", "length": "9", "line": "1452", - "parentIndex": "3955", + "parentIndex": "3957", "start": "52977" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "52985", "length": "9", "line": "1452", - "parentIndex": "3955", + "parentIndex": "3957", "start": "52977" } }, - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "52985", "length": "9", "line": "1452", - "parentIndex": "3954", + "parentIndex": "3956", "start": "52977" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" } }, @@ -4527,7 +4555,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3957", + "id": "3959", "isConstant": true, "isStateVariable": true, "name": "liquidityFee", @@ -4546,7 +4574,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3958", + "id": "3960", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4554,7 +4582,7 @@ "end": "53276", "length": "7", "line": "1459", - "parentIndex": "3957", + "parentIndex": "3959", "start": "53270" }, "typeDescription": { @@ -4568,7 +4596,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3959", + "id": "3961", "isConstant": true, "isStateVariable": true, "name": "amountLocked", @@ -4587,7 +4615,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3960", + "id": "3962", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4595,7 +4623,7 @@ "end": "53370", "length": "7", "line": "1461", - "parentIndex": "3959", + "parentIndex": "3961", "start": "53364" }, "typeDescription": { @@ -4609,7 +4637,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3961", + "id": "3963", "isConstant": true, "isStateVariable": true, "name": "lockID", @@ -4628,7 +4656,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3962", + "id": "3964", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4636,7 +4664,7 @@ "end": "54143", "length": "7", "line": "1485", - "parentIndex": "3961", + "parentIndex": "3963", "start": "54137" }, "typeDescription": { @@ -4650,7 +4678,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3963", + "id": "3965", "isConstant": true, "isStateVariable": true, "name": "userLock", @@ -4665,45 +4693,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "typeName": { - "id": "3964", + "id": "3966", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3965", + "id": "3967", "name": "TokenLock", "nameLocation": { "column": "8", "end": "54221", "length": "9", "line": "1486", - "parentIndex": "3964", + "parentIndex": "3966", "start": "54213" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "54221", "length": "9", "line": "1486", - "parentIndex": "3964", + "parentIndex": "3966", "start": "54213" } }, - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "54221", "length": "9", "line": "1486", - "parentIndex": "3963", + "parentIndex": "3965", "start": "54213" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" } }, @@ -4713,7 +4741,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3966", + "id": "3968", "isConstant": true, "isStateVariable": true, "name": "userLocks", @@ -4732,7 +4760,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3967", + "id": "3969", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -4740,7 +4768,7 @@ "end": "54634", "length": "7", "line": "1496", - "parentIndex": "3966", + "parentIndex": "3968", "start": "54628" }, "typeDescription": { @@ -4754,7 +4782,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3968", + "id": "3970", "isConstant": true, "isStateVariable": true, "name": "lockID", @@ -4773,7 +4801,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3969", + "id": "3971", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4781,7 +4809,7 @@ "end": "55546", "length": "7", "line": "1523", - "parentIndex": "3968", + "parentIndex": "3970", "start": "55540" }, "typeDescription": { @@ -4795,7 +4823,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3970", + "id": "3972", "isConstant": true, "isStateVariable": true, "name": "userLock", @@ -4810,45 +4838,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "typeName": { - "id": "3971", + "id": "3973", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3972", + "id": "3974", "name": "TokenLock", "nameLocation": { "column": "8", "end": "55624", "length": "9", "line": "1524", - "parentIndex": "3971", + "parentIndex": "3973", "start": "55616" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "55624", "length": "9", "line": "1524", - "parentIndex": "3971", + "parentIndex": "3973", "start": "55616" } }, - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "55624", "length": "9", "line": "1524", - "parentIndex": "3970", + "parentIndex": "3972", "start": "55616" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" } }, @@ -4858,7 +4886,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3973", + "id": "3975", "isConstant": true, "isStateVariable": true, "name": "liquidityFee", @@ -4877,7 +4905,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3974", + "id": "3976", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4885,7 +4913,7 @@ "end": "56021", "length": "7", "line": "1537", - "parentIndex": "3973", + "parentIndex": "3975", "start": "56015" }, "typeDescription": { @@ -4899,7 +4927,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3975", + "id": "3977", "isConstant": true, "isStateVariable": true, "name": "amountLocked", @@ -4918,7 +4946,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3976", + "id": "3978", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4926,7 +4954,7 @@ "end": "56157", "length": "7", "line": "1539", - "parentIndex": "3975", + "parentIndex": "3977", "start": "56151" }, "typeDescription": { @@ -4940,7 +4968,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3977", + "id": "3979", "isConstant": true, "isStateVariable": true, "name": "lockID", @@ -4959,7 +4987,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3978", + "id": "3980", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -4967,7 +4995,7 @@ "end": "56948", "length": "7", "line": "1567", - "parentIndex": "3977", + "parentIndex": "3979", "start": "56942" }, "typeDescription": { @@ -4981,7 +5009,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3979", + "id": "3981", "isConstant": true, "isStateVariable": true, "name": "userLock", @@ -4996,45 +5024,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "typeName": { - "id": "3980", + "id": "3982", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3981", + "id": "3983", "name": "TokenLock", "nameLocation": { "column": "8", "end": "57026", "length": "9", "line": "1568", - "parentIndex": "3980", + "parentIndex": "3982", "start": "57018" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "57026", "length": "9", "line": "1568", - "parentIndex": "3980", + "parentIndex": "3982", "start": "57018" } }, - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "57026", "length": "9", "line": "1568", - "parentIndex": "3979", + "parentIndex": "3981", "start": "57018" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" } }, @@ -5044,7 +5072,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3982", + "id": "3984", "isConstant": true, "isStateVariable": true, "name": "token_lock", @@ -5059,45 +5087,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "typeName": { - "id": "3983", + "id": "3985", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3984", + "id": "3986", "name": "TokenLock", "nameLocation": { "column": "8", "end": "57406", "length": "9", "line": "1579", - "parentIndex": "3983", + "parentIndex": "3985", "start": "57398" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "57406", "length": "9", "line": "1579", - "parentIndex": "3983", + "parentIndex": "3985", "start": "57398" } }, - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "57406", "length": "9", "line": "1579", - "parentIndex": "3982", + "parentIndex": "3984", "start": "57398" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" } }, @@ -5107,7 +5135,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3985", + "id": "3987", "isConstant": true, "isStateVariable": true, "name": "user", @@ -5122,45 +5150,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" }, "typeName": { - "id": "3986", + "id": "3988", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3987", + "id": "3989", "name": "UserInfo", "nameLocation": { "column": "8", "end": "57855", "length": "8", "line": "1591", - "parentIndex": "3986", + "parentIndex": "3988", "start": "57848" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "57855", "length": "8", "line": "1591", - "parentIndex": "3986", + "parentIndex": "3988", "start": "57848" } }, - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "57855", "length": "8", "line": "1591", - "parentIndex": "3985", + "parentIndex": "3987", "start": "57848" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" } }, @@ -5170,7 +5198,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3988", + "id": "3990", "isConstant": true, "isStateVariable": true, "name": "user_locks", @@ -5189,7 +5217,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3989", + "id": "3991", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -5197,7 +5225,7 @@ "end": "57905", "length": "7", "line": "1592", - "parentIndex": "3988", + "parentIndex": "3990", "start": "57899" }, "typeDescription": { @@ -5211,7 +5239,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3990", + "id": "3992", "isConstant": true, "isStateVariable": true, "name": "lockID", @@ -5230,7 +5258,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3991", + "id": "3993", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5238,7 +5266,7 @@ "end": "58482", "length": "7", "line": "1611", - "parentIndex": "3990", + "parentIndex": "3992", "start": "58476" }, "typeDescription": { @@ -5252,7 +5280,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3992", + "id": "3994", "isConstant": true, "isStateVariable": true, "name": "transferredLock", @@ -5267,45 +5295,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "typeName": { - "id": "3993", + "id": "3995", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3994", + "id": "3996", "name": "TokenLock", "nameLocation": { "column": "8", "end": "58560", "length": "9", "line": "1612", - "parentIndex": "3993", + "parentIndex": "3995", "start": "58552" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "58560", "length": "9", "line": "1612", - "parentIndex": "3993", + "parentIndex": "3995", "start": "58552" } }, - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "58560", "length": "9", "line": "1612", - "parentIndex": "3992", + "parentIndex": "3994", "start": "58552" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" } }, @@ -5315,7 +5343,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3995", + "id": "3997", "isConstant": true, "isStateVariable": true, "name": "user", @@ -5330,45 +5358,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" }, "typeName": { - "id": "3996", + "id": "3998", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3997", + "id": "3999", "name": "UserInfo", "nameLocation": { "column": "8", "end": "58841", "length": "8", "line": "1619", - "parentIndex": "3996", + "parentIndex": "3998", "start": "58834" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "58841", "length": "8", "line": "1619", - "parentIndex": "3996", + "parentIndex": "3998", "start": "58834" } }, - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "58841", "length": "8", "line": "1619", - "parentIndex": "3995", + "parentIndex": "3997", "start": "58834" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" } }, @@ -5378,7 +5406,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "3998", + "id": "4000", "isConstant": true, "isStateVariable": true, "name": "user_locks", @@ -5397,7 +5425,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3999", + "id": "4001", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -5405,7 +5433,7 @@ "end": "58931", "length": "7", "line": "1621", - "parentIndex": "3998", + "parentIndex": "4000", "start": "58925" }, "typeDescription": { @@ -5419,7 +5447,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4000", + "id": "4002", "isConstant": true, "isStateVariable": true, "name": "userLocks", @@ -5438,7 +5466,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4001", + "id": "4003", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -5446,7 +5474,7 @@ "end": "59096", "length": "7", "line": "1625", - "parentIndex": "4000", + "parentIndex": "4002", "start": "59090" }, "typeDescription": { @@ -5460,7 +5488,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4002", + "id": "4004", "isConstant": true, "isStateVariable": true, "name": "lockID", @@ -5479,7 +5507,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4003", + "id": "4005", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5487,7 +5515,7 @@ "end": "59864", "length": "7", "line": "1649", - "parentIndex": "4002", + "parentIndex": "4004", "start": "59858" }, "typeDescription": { @@ -5501,7 +5529,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4004", + "id": "4006", "isConstant": true, "isStateVariable": true, "name": "userLock", @@ -5516,45 +5544,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "typeName": { - "id": "4005", + "id": "4007", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4006", + "id": "4008", "name": "TokenLock", "nameLocation": { "column": "8", "end": "59942", "length": "9", "line": "1650", - "parentIndex": "4005", + "parentIndex": "4007", "start": "59934" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "59942", "length": "9", "line": "1650", - "parentIndex": "4005", + "parentIndex": "4007", "start": "59934" } }, - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "59942", "length": "9", "line": "1650", - "parentIndex": "4004", + "parentIndex": "4006", "start": "59934" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" } }, @@ -5564,7 +5592,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4007", + "id": "4009", "isConstant": true, "isStateVariable": true, "name": "userLocks", @@ -5583,7 +5611,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4008", + "id": "4010", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -5591,7 +5619,7 @@ "end": "60288", "length": "7", "line": "1659", - "parentIndex": "4007", + "parentIndex": "4009", "start": "60282" }, "typeDescription": { @@ -5605,7 +5633,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4009", + "id": "4011", "isConstant": true, "isStateVariable": true, "name": "user", @@ -5620,45 +5648,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" }, "typeName": { - "id": "4010", + "id": "4012", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4011", + "id": "4013", "name": "UserInfo", "nameLocation": { "column": "8", "end": "61328", "length": "8", "line": "1695", - "parentIndex": "4010", + "parentIndex": "4012", "start": "61321" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "61328", "length": "8", "line": "1695", - "parentIndex": "4010", + "parentIndex": "4012", "start": "61321" } }, - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "61328", "length": "8", "line": "1695", - "parentIndex": "4009", + "parentIndex": "4011", "start": "61321" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" } }, @@ -5668,7 +5696,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4012", + "id": "4014", "isConstant": true, "isStateVariable": true, "name": "user", @@ -5683,45 +5711,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" }, "typeName": { - "id": "4013", + "id": "4015", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4014", + "id": "4016", "name": "UserInfo", "nameLocation": { "column": "8", "end": "61550", "length": "8", "line": "1703", - "parentIndex": "4013", + "parentIndex": "4015", "start": "61543" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "61550", "length": "8", "line": "1703", - "parentIndex": "4013", + "parentIndex": "4015", "start": "61543" } }, - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "61550", "length": "8", "line": "1703", - "parentIndex": "4012", + "parentIndex": "4014", "start": "61543" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" } }, @@ -5731,7 +5759,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4015", + "id": "4017", "isConstant": true, "isStateVariable": true, "name": "user", @@ -5746,45 +5774,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" }, "typeName": { - "id": "4016", + "id": "4018", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4017", + "id": "4019", "name": "UserInfo", "nameLocation": { "column": "8", "end": "61774", "length": "8", "line": "1711", - "parentIndex": "4016", + "parentIndex": "4018", "start": "61767" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "61774", "length": "8", "line": "1711", - "parentIndex": "4016", + "parentIndex": "4018", "start": "61767" } }, - "referencedDeclaration": "3841", + "referencedDeclaration": "3842", "src": { "column": "8", "end": "61774", "length": "8", "line": "1711", - "parentIndex": "4015", + "parentIndex": "4017", "start": "61767" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_UserInfo_$3841", + "typeIdentifier": "t_struct$_Global_UserInfo_$3842", "typeString": "struct Global.UserInfo" } }, @@ -5794,7 +5822,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4018", + "id": "4020", "isConstant": true, "isStateVariable": true, "name": "lockID", @@ -5813,7 +5841,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4019", + "id": "4021", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5821,7 +5849,7 @@ "end": "62104", "length": "7", "line": "1724", - "parentIndex": "4018", + "parentIndex": "4020", "start": "62098" }, "typeDescription": { @@ -5835,7 +5863,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4020", + "id": "4022", "isConstant": true, "isStateVariable": true, "name": "tokenLock", @@ -5850,45 +5878,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" }, "typeName": { - "id": "4021", + "id": "4023", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4022", + "id": "4024", "name": "TokenLock", "nameLocation": { "column": "8", "end": "62177", "length": "9", "line": "1725", - "parentIndex": "4021", + "parentIndex": "4023", "start": "62169" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "62177", "length": "9", "line": "1725", - "parentIndex": "4021", + "parentIndex": "4023", "start": "62169" } }, - "referencedDeclaration": "3849", + "referencedDeclaration": "3850", "src": { "column": "8", "end": "62177", "length": "9", "line": "1725", - "parentIndex": "4020", + "parentIndex": "4022", "start": "62169" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenLock_$3849", + "typeIdentifier": "t_struct$_Global_TokenLock_$3850", "typeString": "struct Global.TokenLock" } }, @@ -5898,24 +5926,24 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4023", + "id": "4025", "name": "NativeWithdraw", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "4024", + "id": "4026", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4025", + "id": "4027", "name": "_contributionWithdrawn", "nodeType": "VARIABLE_DECLARATION", - "scope": "4025", + "scope": "4027", "src": { "column": "25", "end": "63099", "length": "30", "line": "1757", - "parentIndex": "4024", + "parentIndex": "4026", "start": "63070" }, "stateMutability": "MUTABLE", @@ -5925,7 +5953,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4026", + "id": "4028", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -5933,7 +5961,7 @@ "end": "63076", "length": "7", "line": "1757", - "parentIndex": "4025", + "parentIndex": "4027", "start": "63070" }, "typeDescription": { @@ -5949,7 +5977,7 @@ "end": "63101", "length": "53", "line": "1757", - "parentIndex": "4023", + "parentIndex": "4025", "start": "63049" } }, @@ -5961,7 +5989,7 @@ "start": "63049" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_NativeWithdraw_\u00264023", + "typeIdentifier": "t_event\u0026_Global_NativeWithdraw_\u00264025", "typeString": "event Global.NativeWithdraw" } } @@ -9895,6 +9923,7 @@ "parentIndex": "438", "start": "8744" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "8762", @@ -10691,7 +10720,7 @@ } }, "scope": "432", - "signature": "91169624", + "signature": "0eb78afe", "src": { "column": "4", "end": "9352", @@ -12311,7 +12340,7 @@ } }, "scope": "432", - "signature": "bedb339a", + "signature": "c133ba09", "src": { "column": "4", "end": "10908", @@ -12685,7 +12714,7 @@ } }, "scope": "432", - "signature": "8b8fe893", + "signature": "a7cd3d5b", "src": { "column": "4", "end": "11116", @@ -13287,7 +13316,7 @@ } }, "scope": "432", - "signature": "9ca0f474", + "signature": "0292ee33", "src": { "column": "4", "end": "11764", @@ -13982,7 +14011,7 @@ } }, "scope": "432", - "signature": "c5158694", + "signature": "110e4e23", "src": { "column": "4", "end": "12776", @@ -14342,7 +14371,7 @@ } }, "scope": "432", - "signature": "de0a80cb", + "signature": "276c052f", "src": { "column": "4", "end": "13073", @@ -14702,7 +14731,7 @@ } }, "scope": "432", - "signature": "69ed6acb", + "signature": "7bda12ec", "src": { "column": "4", "end": "13292", @@ -15353,7 +15382,7 @@ } }, "scope": "432", - "signature": "38ffe300", + "signature": "702d5637", "src": { "column": "4", "end": "13959", @@ -16551,7 +16580,7 @@ } }, "scope": "432", - "signature": "ffb40420", + "signature": "ec2ae210", "src": { "column": "4", "end": "15189", @@ -17119,7 +17148,7 @@ } }, "scope": "432", - "signature": "469d3b40", + "signature": "7d109e7a", "src": { "column": "4", "end": "15513", @@ -17687,7 +17716,7 @@ } }, "scope": "432", - "signature": "ca2020f2", + "signature": "b3a85911", "src": { "column": "4", "end": "15759", @@ -18553,7 +18582,7 @@ } }, "scope": "432", - "signature": "38ffe300", + "signature": "702d5637", "src": { "column": "4", "end": "16453", @@ -19608,7 +19637,7 @@ } }, "scope": "432", - "signature": "4f19b716", + "signature": "6a890ae0", "src": { "column": "4", "end": "17656", @@ -20033,7 +20062,7 @@ } }, "scope": "432", - "signature": "feb231bd", + "signature": "a5ef5e79", "src": { "column": "4", "end": "17959", @@ -20458,7 +20487,7 @@ } }, "scope": "432", - "signature": "b3de74b3", + "signature": "5a40e739", "src": { "column": "4", "end": "18184", @@ -21180,7 +21209,7 @@ } }, "scope": "432", - "signature": "38ffe300", + "signature": "702d5637", "src": { "column": "4", "end": "18854", @@ -22772,7 +22801,7 @@ } }, "scope": "1028", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "22675", @@ -23161,7 +23190,7 @@ } }, "scope": "1028", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "23602", @@ -23586,7 +23615,7 @@ } }, "scope": "1028", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "24047", @@ -24011,7 +24040,7 @@ } }, "scope": "1028", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "24633", @@ -24946,7 +24975,7 @@ } }, "scope": "1028", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "25327", @@ -25294,7 +25323,7 @@ } }, "scope": "1028", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "25701", @@ -25928,7 +25957,7 @@ } }, "scope": "1028", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "26211", @@ -26276,7 +26305,7 @@ } }, "scope": "1028", - "signature": "ce0c9802", + "signature": "ee33b7e2", "src": { "column": "4", "end": "26588", @@ -26910,7 +26939,7 @@ } }, "scope": "1028", - "signature": "a6f0db75", + "signature": "57387df0", "src": { "column": "4", "end": "27099", @@ -27540,7 +27569,7 @@ } }, "scope": "1028", - "signature": "ac377f6d", + "signature": "1daa78c1", "src": { "column": "4", "end": "28015", @@ -27859,7 +27888,7 @@ } }, "scope": "1028", - "signature": "15a412bd", + "signature": "946b5793", "src": { "column": "4", "end": "28531", @@ -28620,7 +28649,7 @@ } }, "scope": "1028", - "signature": "26a4ef1a", + "signature": "6cadf5e1", "src": { "column": "4", "end": "29077", @@ -29038,7 +29067,7 @@ } }, "scope": "1355", - "signature": "f8e100d5", + "signature": "d505accf", "src": { "column": "4", "end": "30762", @@ -30200,7 +30229,7 @@ } }, "scope": "1401", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "32675", @@ -30388,7 +30417,7 @@ } }, "scope": "1401", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "33033", @@ -30575,7 +30604,7 @@ } }, "scope": "1401", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "33760", @@ -30801,7 +30830,7 @@ } }, "scope": "1401", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "34146", @@ -31430,7 +31459,7 @@ } }, "scope": "1493", - "signature": "8d2f8c29", + "signature": "d6e935fe", "src": { "column": "4", "end": "35201", @@ -32012,7 +32041,7 @@ } }, "scope": "1493", - "signature": "d9098537", + "signature": "d0e2343c", "src": { "column": "4", "end": "35643", @@ -32967,7 +32996,7 @@ } }, "scope": "1493", - "signature": "11e8fd6d", + "signature": "75a98b8a", "src": { "column": "4", "end": "36476", @@ -33768,7 +33797,7 @@ } }, "scope": "1493", - "signature": "d5ee8724", + "signature": "8d3df938", "src": { "column": "4", "end": "36947", @@ -34729,7 +34758,7 @@ } }, "scope": "1493", - "signature": "dd6a69b1", + "signature": "d9cb6425", "src": { "column": "4", "end": "37545", @@ -35769,7 +35798,7 @@ } }, "scope": "1493", - "signature": "92f9fd25", + "signature": "2e3f9f55", "src": { "column": "4", "end": "38274", @@ -37031,7 +37060,7 @@ } }, "scope": "1493", - "signature": "f8fe8854", + "signature": "1f73058e", "src": { "column": "4", "end": "38898", @@ -37826,7 +37855,7 @@ } }, "scope": "1493", - "signature": "50effced", + "signature": "8a35aadd", "src": { "column": "4", "end": "39923", @@ -38878,7 +38907,7 @@ } }, "scope": "1493", - "signature": "a6df5f67", + "signature": "f052f32a", "src": { "column": "4", "end": "41018", @@ -39777,7 +39806,7 @@ } }, "scope": "1901", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "41691", @@ -39965,7 +39994,7 @@ } }, "scope": "1901", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "41797", @@ -40381,7 +40410,7 @@ } }, "scope": "1950", - "signature": "99d437db", + "signature": "e6a43905", "src": { "column": "4", "end": "42006", @@ -40723,7 +40752,7 @@ } }, "scope": "1972", - "signature": "7d594695", + "signature": "db5ecd3f", "src": { "column": "4", "end": "42183", @@ -41241,6 +41270,7 @@ "parentIndex": "2027", "start": "42519" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "42539", @@ -41583,7 +41613,7 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, "typeName": { @@ -41613,6 +41643,30 @@ "parentIndex": "2046", "start": "43026" }, + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "2049", + "name": "UserInfo", + "nameLocation": { + "column": "23", + "end": "43044", + "length": "8", + "line": "1186", + "parentIndex": "2046", + "start": "43037" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "2022", + "src": { + "column": "23", + "end": "43044", + "length": "8", + "line": "1186", + "parentIndex": "2046", + "start": "43037" + } + }, + "referencedDeclaration": "2022", "src": { "column": "4", "end": "43045", @@ -41622,13 +41676,14 @@ "start": "43018" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, "valueType": { "id": "2048", "name": "UserInfo", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "USER_DEFINED_PATH_NAME", + "referencedDeclaration": "2022", "src": { "column": "23", "end": "43044", @@ -41638,8 +41693,8 @@ "start": "43037" }, "typeDescription": { - "typeIdentifier": "t_UserInfo", - "typeString": "UserInfo" + "typeIdentifier": "t_struct$_KnoxLpLocker_UserInfo_$2022", + "typeString": "struct KnoxLpLocker.UserInfo" } }, "valueTypeLocation": { @@ -41657,7 +41712,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2050", + "id": "2051", "isStateVariable": true, "name": "lockedTokens", "nodeType": "VARIABLE_DECLARATION", @@ -41677,17 +41732,17 @@ "typeString": "contract EnumerableSet" }, "typeName": { - "id": "2051", + "id": "2052", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2052", + "id": "2053", "name": "EnumerableSet", "nameLocation": { "column": "4", "end": "43079", "length": "13", "line": "1188", - "parentIndex": "2051", + "parentIndex": "2052", "start": "43067" }, "nodeType": "IDENTIFIER_PATH", @@ -41697,7 +41752,7 @@ "end": "43090", "length": "24", "line": "1188", - "parentIndex": "2051", + "parentIndex": "2052", "start": "43067" } }, @@ -41707,7 +41762,7 @@ "end": "43090", "length": "24", "line": "1188", - "parentIndex": "2050", + "parentIndex": "2051", "start": "43067" }, "typeDescription": { @@ -41721,7 +41776,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2054", + "id": "2055", "isStateVariable": true, "name": "tokenLocks", "nodeType": "VARIABLE_DECLARATION", @@ -41741,9 +41796,9 @@ "typeString": "mapping(address=\u003eTokenLock[])" }, "typeName": { - "id": "2055", + "id": "2056", "keyType": { - "id": "2056", + "id": "2057", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -41751,7 +41806,7 @@ "end": "43132", "length": "7", "line": "1189", - "parentIndex": "2055", + "parentIndex": "2056", "start": "43126" }, "typeDescription": { @@ -41764,15 +41819,16 @@ "end": "43132", "length": "7", "line": "1189", - "parentIndex": "2055", + "parentIndex": "2056", "start": "43126" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "43148", "length": "31", "line": "1189", - "parentIndex": "2054", + "parentIndex": "2055", "start": "43118" }, "typeDescription": { @@ -41780,7 +41836,7 @@ "typeString": "mapping(address=\u003eTokenLock[])" }, "valueType": { - "id": "2057", + "id": "2058", "name": "TokenLock[]", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -41788,7 +41844,7 @@ "end": "43147", "length": "11", "line": "1189", - "parentIndex": "2055", + "parentIndex": "2056", "start": "43137" }, "typeDescription": { @@ -41801,7 +41857,7 @@ "end": "43147", "length": "11", "line": "1189", - "parentIndex": "2055", + "parentIndex": "2056", "start": "43137" } }, @@ -41812,19 +41868,19 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "KnoxLpLocker.FeeStruct", - "id": "2059", + "id": "2060", "members": [ { - "id": "2060", + "id": "2061", "name": "ethFee", "nodeType": "VARIABLE_DECLARATION", - "scope": "2060", + "scope": "2061", "src": { "column": "8", "end": "43249", "length": "15", "line": "1192", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43235" }, "stateMutability": "MUTABLE", @@ -41833,7 +41889,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2061", + "id": "2062", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -41841,7 +41897,7 @@ "end": "43241", "length": "7", "line": "1192", - "parentIndex": "2060", + "parentIndex": "2061", "start": "43235" }, "typeDescription": { @@ -41852,16 +41908,16 @@ "visibility": "INTERNAL" }, { - "id": "2062", + "id": "2063", "name": "secondaryFeeToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2062", + "scope": "2063", "src": { "column": "8", "end": "43334", "length": "27", "line": "1193", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43308" }, "stateMutability": "MUTABLE", @@ -41870,17 +41926,17 @@ "typeString": "contract IERCBurn" }, "typeName": { - "id": "2063", + "id": "2064", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2064", + "id": "2065", "name": "IERCBurn", "nameLocation": { "column": "8", "end": "43315", "length": "8", "line": "1193", - "parentIndex": "2063", + "parentIndex": "2064", "start": "43308" }, "nodeType": "IDENTIFIER_PATH", @@ -41890,7 +41946,7 @@ "end": "43315", "length": "8", "line": "1193", - "parentIndex": "2063", + "parentIndex": "2064", "start": "43308" } }, @@ -41900,7 +41956,7 @@ "end": "43315", "length": "8", "line": "1193", - "parentIndex": "2062", + "parentIndex": "2063", "start": "43308" }, "typeDescription": { @@ -41911,16 +41967,16 @@ "visibility": "INTERNAL" }, { - "id": "2065", + "id": "2066", "name": "secondaryTokenFee", "nodeType": "VARIABLE_DECLARATION", - "scope": "2065", + "scope": "2066", "src": { "column": "8", "end": "43372", "length": "26", "line": "1194", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43347" }, "stateMutability": "MUTABLE", @@ -41929,7 +41985,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2066", + "id": "2067", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -41937,7 +41993,7 @@ "end": "43353", "length": "7", "line": "1194", - "parentIndex": "2065", + "parentIndex": "2066", "start": "43347" }, "typeDescription": { @@ -41948,16 +42004,16 @@ "visibility": "INTERNAL" }, { - "id": "2067", + "id": "2068", "name": "secondaryTokenDiscount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2067", + "scope": "2068", "src": { "column": "8", "end": "43424", "length": "31", "line": "1195", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43394" }, "stateMutability": "MUTABLE", @@ -41966,7 +42022,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2068", + "id": "2069", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -41974,7 +42030,7 @@ "end": "43400", "length": "7", "line": "1195", - "parentIndex": "2067", + "parentIndex": "2068", "start": "43394" }, "typeDescription": { @@ -41985,16 +42041,16 @@ "visibility": "INTERNAL" }, { - "id": "2069", + "id": "2070", "name": "liquidityFee", "nodeType": "VARIABLE_DECLARATION", - "scope": "2069", + "scope": "2070", "src": { "column": "8", "end": "43510", "length": "21", "line": "1196", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43490" }, "stateMutability": "MUTABLE", @@ -42003,7 +42059,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2070", + "id": "2071", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42011,7 +42067,7 @@ "end": "43496", "length": "7", "line": "1196", - "parentIndex": "2069", + "parentIndex": "2070", "start": "43490" }, "typeDescription": { @@ -42022,16 +42078,16 @@ "visibility": "INTERNAL" }, { - "id": "2071", + "id": "2072", "name": "referralPercent", "nodeType": "VARIABLE_DECLARATION", - "scope": "2071", + "scope": "2072", "src": { "column": "8", "end": "43576", "length": "24", "line": "1197", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43553" }, "stateMutability": "MUTABLE", @@ -42040,7 +42096,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2072", + "id": "2073", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42048,7 +42104,7 @@ "end": "43559", "length": "7", "line": "1197", - "parentIndex": "2071", + "parentIndex": "2072", "start": "43553" }, "typeDescription": { @@ -42059,16 +42115,16 @@ "visibility": "INTERNAL" }, { - "id": "2073", + "id": "2074", "name": "referralToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2073", + "scope": "2074", "src": { "column": "8", "end": "43629", "length": "23", "line": "1198", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43607" }, "stateMutability": "MUTABLE", @@ -42077,17 +42133,17 @@ "typeString": "contract IERCBurn" }, "typeName": { - "id": "2074", + "id": "2075", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2075", + "id": "2076", "name": "IERCBurn", "nameLocation": { "column": "8", "end": "43614", "length": "8", "line": "1198", - "parentIndex": "2074", + "parentIndex": "2075", "start": "43607" }, "nodeType": "IDENTIFIER_PATH", @@ -42097,7 +42153,7 @@ "end": "43614", "length": "8", "line": "1198", - "parentIndex": "2074", + "parentIndex": "2075", "start": "43607" } }, @@ -42107,7 +42163,7 @@ "end": "43614", "length": "8", "line": "1198", - "parentIndex": "2073", + "parentIndex": "2074", "start": "43607" }, "typeDescription": { @@ -42118,16 +42174,16 @@ "visibility": "INTERNAL" }, { - "id": "2076", + "id": "2077", "name": "referralHold", "nodeType": "VARIABLE_DECLARATION", - "scope": "2076", + "scope": "2077", "src": { "column": "8", "end": "43716", "length": "21", "line": "1199", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43696" }, "stateMutability": "MUTABLE", @@ -42136,7 +42192,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2077", + "id": "2078", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42144,7 +42200,7 @@ "end": "43702", "length": "7", "line": "1199", - "parentIndex": "2076", + "parentIndex": "2077", "start": "43696" }, "typeDescription": { @@ -42155,16 +42211,16 @@ "visibility": "INTERNAL" }, { - "id": "2078", + "id": "2079", "name": "referralDiscount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2078", + "scope": "2079", "src": { "column": "8", "end": "43809", "length": "25", "line": "1200", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43785" }, "stateMutability": "MUTABLE", @@ -42173,7 +42229,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2079", + "id": "2080", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42181,7 +42237,7 @@ "end": "43791", "length": "7", "line": "1200", - "parentIndex": "2078", + "parentIndex": "2079", "start": "43785" }, "typeDescription": { @@ -42198,7 +42254,7 @@ "end": "43223", "length": "9", "line": "1191", - "parentIndex": "2059", + "parentIndex": "2060", "start": "43215" }, "nodeType": "STRUCT_DEFINITION", @@ -42212,7 +42268,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" }, "visibility": "PUBLIC" @@ -42221,7 +42277,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2081", + "id": "2082", "isStateVariable": true, "name": "gFees", "nodeType": "VARIABLE_DECLARATION", @@ -42237,45 +42293,45 @@ "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" }, "typeName": { - "id": "2082", + "id": "2083", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2083", + "id": "2084", "name": "FeeStruct", "nameLocation": { "column": "4", "end": "43894", "length": "9", "line": "1203", - "parentIndex": "2082", + "parentIndex": "2083", "start": "43886" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "2059", + "referencedDeclaration": "2060", "src": { "column": "4", "end": "43894", "length": "9", "line": "1203", - "parentIndex": "2082", + "parentIndex": "2083", "start": "43886" } }, - "referencedDeclaration": "2059", + "referencedDeclaration": "2060", "src": { "column": "4", "end": "43894", "length": "9", "line": "1203", - "parentIndex": "2081", + "parentIndex": "2082", "start": "43886" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } }, @@ -42285,7 +42341,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2085", + "id": "2086", "isStateVariable": true, "name": "feeWhitelist", "nodeType": "VARIABLE_DECLARATION", @@ -42305,17 +42361,17 @@ "typeString": "contract EnumerableSet" }, "typeName": { - "id": "2086", + "id": "2087", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2087", + "id": "2088", "name": "EnumerableSet", "nameLocation": { "column": "4", "end": "43926", "length": "13", "line": "1204", - "parentIndex": "2086", + "parentIndex": "2087", "start": "43914" }, "nodeType": "IDENTIFIER_PATH", @@ -42325,7 +42381,7 @@ "end": "43937", "length": "24", "line": "1204", - "parentIndex": "2086", + "parentIndex": "2087", "start": "43914" } }, @@ -42335,7 +42391,7 @@ "end": "43937", "length": "24", "line": "1204", - "parentIndex": "2085", + "parentIndex": "2086", "start": "43914" }, "typeDescription": { @@ -42349,7 +42405,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2089", + "id": "2090", "isStateVariable": true, "name": "devaddr", "nodeType": "VARIABLE_DECLARATION", @@ -42369,7 +42425,7 @@ "typeString": "address" }, "typeName": { - "id": "2090", + "id": "2091", "name": "addresspayable", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42377,7 +42433,7 @@ "end": "43980", "length": "15", "line": "1206", - "parentIndex": "2089", + "parentIndex": "2090", "start": "43966" }, "stateMutability": "PAYABLE", @@ -42392,7 +42448,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "2092", + "id": "2093", "isStateVariable": true, "name": "migrator", "nodeType": "VARIABLE_DECLARATION", @@ -42412,17 +42468,17 @@ "typeString": "contract IMigrator" }, "typeName": { - "id": "2093", + "id": "2094", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2094", + "id": "2095", "name": "IMigrator", "nameLocation": { "column": "4", "end": "44004", "length": "9", "line": "1208", - "parentIndex": "2093", + "parentIndex": "2094", "start": "43996" }, "nodeType": "IDENTIFIER_PATH", @@ -42432,7 +42488,7 @@ "end": "44004", "length": "9", "line": "1208", - "parentIndex": "2093", + "parentIndex": "2094", "start": "43996" } }, @@ -42442,7 +42498,7 @@ "end": "44004", "length": "9", "line": "1208", - "parentIndex": "2092", + "parentIndex": "2093", "start": "43996" }, "typeDescription": { @@ -42456,24 +42512,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "2096", + "id": "2097", "name": "onDeposit", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "2097", + "id": "2098", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2098", + "id": "2099", "name": "lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2098", + "scope": "2099", "src": { "column": "8", "end": "44060", "length": "15", "line": "1211", - "parentIndex": "2097", + "parentIndex": "2098", "start": "44046" }, "stateMutability": "NONPAYABLE", @@ -42483,7 +42539,7 @@ "typeString": "address" }, "typeName": { - "id": "2099", + "id": "2100", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42491,7 +42547,7 @@ "end": "44052", "length": "7", "line": "1211", - "parentIndex": "2098", + "parentIndex": "2099", "start": "44046" }, "stateMutability": "NONPAYABLE", @@ -42503,16 +42559,16 @@ "visibility": "INTERNAL" }, { - "id": "2100", + "id": "2101", "name": "user", "nodeType": "VARIABLE_DECLARATION", - "scope": "2100", + "scope": "2101", "src": { "column": "8", "end": "44082", "length": "12", "line": "1212", - "parentIndex": "2097", + "parentIndex": "2098", "start": "44071" }, "stateMutability": "NONPAYABLE", @@ -42522,7 +42578,7 @@ "typeString": "address" }, "typeName": { - "id": "2101", + "id": "2102", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42530,7 +42586,7 @@ "end": "44077", "length": "7", "line": "1212", - "parentIndex": "2100", + "parentIndex": "2101", "start": "44071" }, "stateMutability": "NONPAYABLE", @@ -42542,16 +42598,16 @@ "visibility": "INTERNAL" }, { - "id": "2102", + "id": "2103", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2102", + "scope": "2103", "src": { "column": "8", "end": "44106", "length": "14", "line": "1213", - "parentIndex": "2097", + "parentIndex": "2098", "start": "44093" }, "stateMutability": "MUTABLE", @@ -42561,7 +42617,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2103", + "id": "2104", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42569,7 +42625,7 @@ "end": "44099", "length": "7", "line": "1213", - "parentIndex": "2102", + "parentIndex": "2103", "start": "44093" }, "typeDescription": { @@ -42580,16 +42636,16 @@ "visibility": "INTERNAL" }, { - "id": "2104", + "id": "2105", "name": "lockDate", "nodeType": "VARIABLE_DECLARATION", - "scope": "2104", + "scope": "2105", "src": { "column": "8", "end": "44132", "length": "16", "line": "1214", - "parentIndex": "2097", + "parentIndex": "2098", "start": "44117" }, "stateMutability": "MUTABLE", @@ -42599,7 +42655,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2105", + "id": "2106", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42607,7 +42663,7 @@ "end": "44123", "length": "7", "line": "1214", - "parentIndex": "2104", + "parentIndex": "2105", "start": "44117" }, "typeDescription": { @@ -42618,16 +42674,16 @@ "visibility": "INTERNAL" }, { - "id": "2106", + "id": "2107", "name": "unlockDate", "nodeType": "VARIABLE_DECLARATION", - "scope": "2106", + "scope": "2107", "src": { "column": "8", "end": "44160", "length": "18", "line": "1215", - "parentIndex": "2097", + "parentIndex": "2098", "start": "44143" }, "stateMutability": "MUTABLE", @@ -42637,7 +42693,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2107", + "id": "2108", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42645,7 +42701,7 @@ "end": "44149", "length": "7", "line": "1215", - "parentIndex": "2106", + "parentIndex": "2107", "start": "44143" }, "typeDescription": { @@ -42656,16 +42712,16 @@ "visibility": "INTERNAL" }, { - "id": "2108", + "id": "2109", "name": "lockID", "nodeType": "VARIABLE_DECLARATION", - "scope": "2108", + "scope": "2109", "src": { "column": "8", "end": "44184", "length": "14", "line": "1216", - "parentIndex": "2097", + "parentIndex": "2098", "start": "44171" }, "stateMutability": "MUTABLE", @@ -42675,7 +42731,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2109", + "id": "2110", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42683,7 +42739,7 @@ "end": "44177", "length": "7", "line": "1216", - "parentIndex": "2108", + "parentIndex": "2109", "start": "44171" }, "typeDescription": { @@ -42699,7 +42755,7 @@ "end": "44191", "length": "171", "line": "1210", - "parentIndex": "2096", + "parentIndex": "2097", "start": "44021" } }, @@ -42712,7 +42768,7 @@ "start": "44021" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262096", + "typeIdentifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262097", "typeString": "event KnoxLpLocker.onDeposit" } } @@ -42720,24 +42776,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "2111", + "id": "2112", "name": "onWithdraw", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "2112", + "id": "2113", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2113", + "id": "2114", "name": "lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2113", + "scope": "2114", "src": { "column": "21", "end": "44228", "length": "15", "line": "1218", - "parentIndex": "2112", + "parentIndex": "2113", "start": "44214" }, "stateMutability": "NONPAYABLE", @@ -42747,7 +42803,7 @@ "typeString": "address" }, "typeName": { - "id": "2114", + "id": "2115", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42755,7 +42811,7 @@ "end": "44220", "length": "7", "line": "1218", - "parentIndex": "2113", + "parentIndex": "2114", "start": "44214" }, "stateMutability": "NONPAYABLE", @@ -42767,16 +42823,16 @@ "visibility": "INTERNAL" }, { - "id": "2115", + "id": "2116", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2115", + "scope": "2116", "src": { "column": "38", "end": "44244", "length": "14", "line": "1218", - "parentIndex": "2112", + "parentIndex": "2113", "start": "44231" }, "stateMutability": "MUTABLE", @@ -42786,7 +42842,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2116", + "id": "2117", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -42794,7 +42850,7 @@ "end": "44237", "length": "7", "line": "1218", - "parentIndex": "2115", + "parentIndex": "2116", "start": "44231" }, "typeDescription": { @@ -42810,7 +42866,7 @@ "end": "44246", "length": "50", "line": "1218", - "parentIndex": "2111", + "parentIndex": "2112", "start": "44197" } }, @@ -42823,7 +42879,7 @@ "start": "44197" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_KnoxLpLocker_onWithdraw_\u00262111", + "typeIdentifier": "t_event\u0026_KnoxLpLocker_onWithdraw_\u00262112", "typeString": "event KnoxLpLocker.onWithdraw" } } @@ -42832,7 +42888,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2124", + "id": "2125", "implemented": true, "nodeType": "BLOCK", "src": { @@ -42840,7 +42896,7 @@ "end": "44684", "length": "391", "line": "1220", - "parentIndex": "2118", + "parentIndex": "2119", "start": "44294" }, "statements": [ @@ -42850,20 +42906,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2126", + "id": "2127", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2127", + "id": "2128", "name": "devaddr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2089", + "referencedDeclaration": "2090", "src": { "column": "8", "end": "44310", "length": "7", "line": "1221", - "parentIndex": "2126", + "parentIndex": "2127", "start": "44304" }, "typeDescription": { @@ -42890,7 +42946,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2130", + "id": "2131", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -42898,7 +42954,7 @@ "end": "44324", "length": "3", "line": "1221", - "parentIndex": "2129", + "parentIndex": "2130", "start": "44322" }, "typeDescription": { @@ -42907,13 +42963,13 @@ } } }, - "id": "2129", + "id": "2130", "memberLocation": { "column": "30", "end": "44331", "length": "6", "line": "1221", - "parentIndex": "2129", + "parentIndex": "2130", "start": "44326" }, "memberName": "sender", @@ -42923,7 +42979,7 @@ "end": "44331", "length": "10", "line": "1221", - "parentIndex": "2128", + "parentIndex": "2129", "start": "44322" }, "typeDescription": { @@ -42933,7 +42989,7 @@ } } ], - "id": "2128", + "id": "2129", "nodeType": "PAYABLE_CONVERSION", "payable": true, "src": { @@ -42941,7 +42997,7 @@ "end": "44332", "length": "19", "line": "1221", - "parentIndex": "2126", + "parentIndex": "2127", "start": "44314" } } @@ -42951,7 +43007,7 @@ "end": "44332", "length": "29", "line": "1221", - "parentIndex": "2125", + "parentIndex": "2126", "start": "44304" }, "typeDescription": { @@ -42960,14 +43016,14 @@ } } }, - "id": "2125", + "id": "2126", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44333", "length": "30", "line": "1221", - "parentIndex": "2124", + "parentIndex": "2125", "start": "44304" }, "typeDescription": { @@ -42982,38 +43038,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2132", + "id": "2133", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2134", + "id": "2135", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "44347", "length": "5", "line": "1222", - "parentIndex": "2133", + "parentIndex": "2134", "start": "44343" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2133", + "id": "2134", "memberLocation": { "column": "14", "end": "44363", "length": "15", "line": "1222", - "parentIndex": "2133", + "parentIndex": "2134", "start": "44349" }, "memberName": "referralPercent", @@ -43023,11 +43079,11 @@ "end": "44363", "length": "21", "line": "1222", - "parentIndex": "2132", + "parentIndex": "2133", "start": "44343" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43038,7 +43094,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3235", - "id": "2135", + "id": "2136", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -43047,7 +43103,7 @@ "end": "44368", "length": "2", "line": "1222", - "parentIndex": "2132", + "parentIndex": "2133", "start": "44367" }, "typeDescription": { @@ -43062,27 +43118,27 @@ "end": "44368", "length": "26", "line": "1222", - "parentIndex": "2131", + "parentIndex": "2132", "start": "44343" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2131", + "id": "2132", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44369", "length": "27", "line": "1222", - "parentIndex": "2124", + "parentIndex": "2125", "start": "44343" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43093,38 +43149,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2137", + "id": "2138", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2139", + "id": "2140", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "44390", "length": "5", "line": "1223", - "parentIndex": "2138", + "parentIndex": "2139", "start": "44386" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2138", + "id": "2139", "memberLocation": { "column": "14", "end": "44397", "length": "6", "line": "1223", - "parentIndex": "2138", + "parentIndex": "2139", "start": "44392" }, "memberName": "ethFee", @@ -43134,11 +43190,11 @@ "end": "44397", "length": "12", "line": "1223", - "parentIndex": "2137", + "parentIndex": "2138", "start": "44386" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43149,7 +43205,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31653137", - "id": "2140", + "id": "2141", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -43158,7 +43214,7 @@ "end": "44404", "length": "4", "line": "1223", - "parentIndex": "2137", + "parentIndex": "2138", "start": "44401" }, "typeDescription": { @@ -43173,27 +43229,27 @@ "end": "44404", "length": "19", "line": "1223", - "parentIndex": "2136", + "parentIndex": "2137", "start": "44386" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2136", + "id": "2137", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44405", "length": "20", "line": "1223", - "parentIndex": "2124", + "parentIndex": "2125", "start": "44386" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43204,38 +43260,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2142", + "id": "2143", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2144", + "id": "2145", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "44430", "length": "5", "line": "1224", - "parentIndex": "2143", + "parentIndex": "2144", "start": "44426" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2143", + "id": "2144", "memberLocation": { "column": "14", "end": "44448", "length": "17", "line": "1224", - "parentIndex": "2143", + "parentIndex": "2144", "start": "44432" }, "memberName": "secondaryTokenFee", @@ -43245,11 +43301,11 @@ "end": "44448", "length": "23", "line": "1224", - "parentIndex": "2142", + "parentIndex": "2143", "start": "44426" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43260,7 +43316,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030303030303030306539", - "id": "2145", + "id": "2146", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -43269,7 +43325,7 @@ "end": "44464", "length": "13", "line": "1224", - "parentIndex": "2142", + "parentIndex": "2143", "start": "44452" }, "typeDescription": { @@ -43284,27 +43340,27 @@ "end": "44464", "length": "39", "line": "1224", - "parentIndex": "2141", + "parentIndex": "2142", "start": "44426" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2141", + "id": "2142", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44465", "length": "40", "line": "1224", - "parentIndex": "2124", + "parentIndex": "2125", "start": "44426" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43315,38 +43371,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2147", + "id": "2148", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2149", + "id": "2150", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "44479", "length": "5", "line": "1225", - "parentIndex": "2148", + "parentIndex": "2149", "start": "44475" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2148", + "id": "2149", "memberLocation": { "column": "14", "end": "44502", "length": "22", "line": "1225", - "parentIndex": "2148", + "parentIndex": "2149", "start": "44481" }, "memberName": "secondaryTokenDiscount", @@ -43356,11 +43412,11 @@ "end": "44502", "length": "28", "line": "1225", - "parentIndex": "2147", + "parentIndex": "2148", "start": "44475" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43371,7 +43427,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "323030", - "id": "2150", + "id": "2151", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -43380,7 +43436,7 @@ "end": "44508", "length": "3", "line": "1225", - "parentIndex": "2147", + "parentIndex": "2148", "start": "44506" }, "typeDescription": { @@ -43395,27 +43451,27 @@ "end": "44508", "length": "34", "line": "1225", - "parentIndex": "2146", + "parentIndex": "2147", "start": "44475" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2146", + "id": "2147", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44509", "length": "35", "line": "1225", - "parentIndex": "2124", + "parentIndex": "2125", "start": "44475" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43426,38 +43482,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2152", + "id": "2153", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2154", + "id": "2155", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "44530", "length": "5", "line": "1226", - "parentIndex": "2153", + "parentIndex": "2154", "start": "44526" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2153", + "id": "2154", "memberLocation": { "column": "14", "end": "44543", "length": "12", "line": "1226", - "parentIndex": "2153", + "parentIndex": "2154", "start": "44532" }, "memberName": "liquidityFee", @@ -43467,11 +43523,11 @@ "end": "44543", "length": "18", "line": "1226", - "parentIndex": "2152", + "parentIndex": "2153", "start": "44526" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43482,7 +43538,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3130", - "id": "2155", + "id": "2156", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -43491,7 +43547,7 @@ "end": "44548", "length": "2", "line": "1226", - "parentIndex": "2152", + "parentIndex": "2153", "start": "44547" }, "typeDescription": { @@ -43506,27 +43562,27 @@ "end": "44548", "length": "23", "line": "1226", - "parentIndex": "2151", + "parentIndex": "2152", "start": "44526" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2151", + "id": "2152", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44549", "length": "24", "line": "1226", - "parentIndex": "2124", + "parentIndex": "2125", "start": "44526" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43537,38 +43593,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2157", + "id": "2158", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2159", + "id": "2160", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "44569", "length": "5", "line": "1227", - "parentIndex": "2158", + "parentIndex": "2159", "start": "44565" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2158", + "id": "2159", "memberLocation": { "column": "14", "end": "44582", "length": "12", "line": "1227", - "parentIndex": "2158", + "parentIndex": "2159", "start": "44571" }, "memberName": "referralHold", @@ -43578,11 +43634,11 @@ "end": "44582", "length": "18", "line": "1227", - "parentIndex": "2157", + "parentIndex": "2158", "start": "44565" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43593,7 +43649,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3130653138", - "id": "2160", + "id": "2161", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -43602,7 +43658,7 @@ "end": "44590", "length": "5", "line": "1227", - "parentIndex": "2157", + "parentIndex": "2158", "start": "44586" }, "typeDescription": { @@ -43617,27 +43673,27 @@ "end": "44590", "length": "26", "line": "1227", - "parentIndex": "2156", + "parentIndex": "2157", "start": "44565" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2156", + "id": "2157", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44591", "length": "27", "line": "1227", - "parentIndex": "2124", + "parentIndex": "2125", "start": "44565" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43648,38 +43704,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2162", + "id": "2163", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2164", + "id": "2165", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "44605", "length": "5", "line": "1228", - "parentIndex": "2163", + "parentIndex": "2164", "start": "44601" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2163", + "id": "2164", "memberLocation": { "column": "14", "end": "44622", "length": "16", "line": "1228", - "parentIndex": "2163", + "parentIndex": "2164", "start": "44607" }, "memberName": "referralDiscount", @@ -43689,11 +43745,11 @@ "end": "44622", "length": "22", "line": "1228", - "parentIndex": "2162", + "parentIndex": "2163", "start": "44601" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43704,7 +43760,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "313030", - "id": "2165", + "id": "2166", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -43713,7 +43769,7 @@ "end": "44628", "length": "3", "line": "1228", - "parentIndex": "2162", + "parentIndex": "2163", "start": "44626" }, "typeDescription": { @@ -43728,27 +43784,27 @@ "end": "44628", "length": "28", "line": "1228", - "parentIndex": "2161", + "parentIndex": "2162", "start": "44601" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2161", + "id": "2162", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44629", "length": "29", "line": "1228", - "parentIndex": "2124", + "parentIndex": "2125", "start": "44601" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -43759,11 +43815,11 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2167", + "id": "2168", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2168", + "id": "2169", "name": "uniswapFactory", "nodeType": "IDENTIFIER", "referencedDeclaration": "2018", @@ -43772,7 +43828,7 @@ "end": "44659", "length": "14", "line": "1229", - "parentIndex": "2167", + "parentIndex": "2168", "start": "44646" }, "typeDescription": { @@ -43786,16 +43842,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2169", + "id": "2170", "name": "_uniswapFactory", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2169", + "referencedDeclaration": "2170", "src": { "column": "25", "end": "44677", "length": "15", "line": "1229", - "parentIndex": "2167", + "parentIndex": "2168", "start": "44663" }, "typeDescription": { @@ -43809,7 +43865,7 @@ "end": "44677", "length": "32", "line": "1229", - "parentIndex": "2166", + "parentIndex": "2167", "start": "44646" }, "typeDescription": { @@ -43818,14 +43874,14 @@ } } }, - "id": "2166", + "id": "2167", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44678", "length": "33", "line": "1229", - "parentIndex": "2124", + "parentIndex": "2125", "start": "44646" }, "typeDescription": { @@ -43836,25 +43892,25 @@ } ] }, - "id": "2118", + "id": "2119", "implemented": true, "kind": "CONSTRUCTOR", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2119", + "id": "2120", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2120", + "id": "2121", "name": "_uniswapFactory", "nodeType": "VARIABLE_DECLARATION", - "scope": "2120", + "scope": "2121", "src": { "column": "16", "end": "44291", "length": "27", "line": "1220", - "parentIndex": "2119", + "parentIndex": "2120", "start": "44265" }, "stateMutability": "MUTABLE", @@ -43864,17 +43920,17 @@ "typeString": "contract IUniFactory" }, "typeName": { - "id": "2121", + "id": "2122", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2122", + "id": "2123", "name": "IUniFactory", "nameLocation": { "column": "16", "end": "44275", "length": "11", "line": "1220", - "parentIndex": "2121", + "parentIndex": "2122", "start": "44265" }, "nodeType": "IDENTIFIER_PATH", @@ -43884,7 +43940,7 @@ "end": "44275", "length": "11", "line": "1220", - "parentIndex": "2121", + "parentIndex": "2122", "start": "44265" } }, @@ -43894,7 +43950,7 @@ "end": "44275", "length": "11", "line": "1220", - "parentIndex": "2120", + "parentIndex": "2121", "start": "44265" }, "typeDescription": { @@ -43910,19 +43966,19 @@ "end": "44291", "length": "27", "line": "1220", - "parentIndex": "2118", + "parentIndex": "2119", "start": "44265" } }, "returnParameters": { - "id": "2123", + "id": "2124", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "44684", "length": "432", "line": "1220", - "parentIndex": "2118", + "parentIndex": "2119", "start": "44253" } }, @@ -43947,7 +44003,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2178", + "id": "2179", "implemented": true, "nodeType": "BLOCK", "src": { @@ -43955,7 +44011,7 @@ "end": "44844", "length": "95", "line": "1232", - "parentIndex": "2171", + "parentIndex": "2172", "start": "44750" }, "statements": [ @@ -43976,20 +44032,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2181", + "id": "2182", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2182", + "id": "2183", "name": "_devaddr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2182", + "referencedDeclaration": "2183", "src": { "column": "16", "end": "44775", "length": "8", "line": "1233", - "parentIndex": "2181", + "parentIndex": "2182", "start": "44768" }, "typeDescription": { @@ -44014,7 +44070,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2186", + "id": "2187", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -44023,7 +44079,7 @@ "end": "44788", "length": "1", "line": "1233", - "parentIndex": "2183", + "parentIndex": "2184", "start": "44788" }, "typeDescription": { @@ -44043,7 +44099,7 @@ "typeString": "address" } ], - "id": "2184", + "id": "2185", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -44051,7 +44107,7 @@ "end": "44786", "length": "7", "line": "1233", - "parentIndex": "2183", + "parentIndex": "2184", "start": "44780" }, "typeDescription": { @@ -44059,7 +44115,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2185", + "id": "2186", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -44067,7 +44123,7 @@ "end": "44786", "length": "7", "line": "1233", - "parentIndex": "2184", + "parentIndex": "2185", "start": "44780" }, "stateMutability": "NONPAYABLE", @@ -44078,7 +44134,7 @@ } } }, - "id": "2183", + "id": "2184", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -44086,7 +44142,7 @@ "end": "44789", "length": "10", "line": "1233", - "parentIndex": "2181", + "parentIndex": "2182", "start": "44780" }, "typeDescription": { @@ -44100,7 +44156,7 @@ "end": "44789", "length": "22", "line": "1233", - "parentIndex": "2179", + "parentIndex": "2180", "start": "44768" }, "typeDescription": { @@ -44119,7 +44175,7 @@ } ], "hexValue": "494e56414c49442041444452455353", - "id": "2187", + "id": "2188", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -44128,7 +44184,7 @@ "end": "44808", "length": "17", "line": "1233", - "parentIndex": "2179", + "parentIndex": "2180", "start": "44792" }, "typeDescription": { @@ -44142,7 +44198,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2180", + "id": "2181", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -44151,7 +44207,7 @@ "end": "44766", "length": "7", "line": "1233", - "parentIndex": "2179", + "parentIndex": "2180", "start": "44760" }, "typeDescription": { @@ -44160,7 +44216,7 @@ } } }, - "id": "2179", + "id": "2180", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -44168,7 +44224,7 @@ "end": "44809", "length": "50", "line": "1233", - "parentIndex": "2178", + "parentIndex": "2179", "start": "44760" }, "typeDescription": { @@ -44183,20 +44239,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2189", + "id": "2190", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2190", + "id": "2191", "name": "devaddr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2089", + "referencedDeclaration": "2090", "src": { "column": "8", "end": "44826", "length": "7", "line": "1234", - "parentIndex": "2189", + "parentIndex": "2190", "start": "44820" }, "typeDescription": { @@ -44210,16 +44266,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2191", + "id": "2192", "name": "_devaddr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2191", + "referencedDeclaration": "2192", "src": { "column": "18", "end": "44837", "length": "8", "line": "1234", - "parentIndex": "2189", + "parentIndex": "2190", "start": "44830" }, "typeDescription": { @@ -44233,7 +44289,7 @@ "end": "44837", "length": "18", "line": "1234", - "parentIndex": "2188", + "parentIndex": "2189", "start": "44820" }, "typeDescription": { @@ -44242,14 +44298,14 @@ } } }, - "id": "2188", + "id": "2189", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "44838", "length": "19", "line": "1234", - "parentIndex": "2178", + "parentIndex": "2179", "start": "44820" }, "typeDescription": { @@ -44260,22 +44316,22 @@ } ] }, - "id": "2171", + "id": "2172", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2175", + "id": "2176", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2176", + "id": "2177", "name": "onlyOwner", "src": { "column": "53", "end": "44748", "length": "9", "line": "1232", - "parentIndex": "2175", + "parentIndex": "2176", "start": "44740" } }, @@ -44286,7 +44342,7 @@ "end": "44748", "length": "9", "line": "1232", - "parentIndex": "2171", + "parentIndex": "2172", "start": "44740" } } @@ -44297,25 +44353,25 @@ "end": "44705", "length": "6", "line": "1232", - "parentIndex": "2171", + "parentIndex": "2172", "start": "44700" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2172", + "id": "2173", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2173", + "id": "2174", "name": "_devaddr", "nodeType": "VARIABLE_DECLARATION", - "scope": "2173", + "scope": "2174", "src": { "column": "20", "end": "44730", "length": "24", "line": "1232", - "parentIndex": "2172", + "parentIndex": "2173", "start": "44707" }, "stateMutability": "PAYABLE", @@ -44325,7 +44381,7 @@ "typeString": "address" }, "typeName": { - "id": "2174", + "id": "2175", "name": "addresspayable", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -44333,7 +44389,7 @@ "end": "44721", "length": "15", "line": "1232", - "parentIndex": "2173", + "parentIndex": "2174", "start": "44707" }, "stateMutability": "PAYABLE", @@ -44350,19 +44406,19 @@ "end": "44730", "length": "24", "line": "1232", - "parentIndex": "2171", + "parentIndex": "2172", "start": "44707" } }, "returnParameters": { - "id": "2177", + "id": "2178", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "44844", "length": "154", "line": "1232", - "parentIndex": "2171", + "parentIndex": "2172", "start": "44691" } }, @@ -44388,7 +44444,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2201", + "id": "2202", "implemented": true, "nodeType": "BLOCK", "src": { @@ -44396,7 +44452,7 @@ "end": "45062", "length": "37", "line": "1240", - "parentIndex": "2193", + "parentIndex": "2194", "start": "45026" }, "statements": [ @@ -44406,20 +44462,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2203", + "id": "2204", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2204", + "id": "2205", "name": "migrator", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2092", + "referencedDeclaration": "2093", "src": { "column": "8", "end": "45043", "length": "8", "line": "1241", - "parentIndex": "2203", + "parentIndex": "2204", "start": "45036" }, "typeDescription": { @@ -44433,16 +44489,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2205", + "id": "2206", "name": "_migrator", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2205", + "referencedDeclaration": "2206", "src": { "column": "19", "end": "45055", "length": "9", "line": "1241", - "parentIndex": "2203", + "parentIndex": "2204", "start": "45047" }, "typeDescription": { @@ -44456,7 +44512,7 @@ "end": "45055", "length": "20", "line": "1241", - "parentIndex": "2202", + "parentIndex": "2203", "start": "45036" }, "typeDescription": { @@ -44465,14 +44521,14 @@ } } }, - "id": "2202", + "id": "2203", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "45056", "length": "21", "line": "1241", - "parentIndex": "2201", + "parentIndex": "2202", "start": "45036" }, "typeDescription": { @@ -44483,22 +44539,22 @@ } ] }, - "id": "2193", + "id": "2194", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2198", + "id": "2199", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2199", + "id": "2200", "name": "onlyOwner", "src": { "column": "53", "end": "45024", "length": "9", "line": "1240", - "parentIndex": "2198", + "parentIndex": "2199", "start": "45016" } }, @@ -44509,7 +44565,7 @@ "end": "45024", "length": "9", "line": "1240", - "parentIndex": "2193", + "parentIndex": "2194", "start": "45016" } } @@ -44520,25 +44576,25 @@ "end": "44986", "length": "11", "line": "1240", - "parentIndex": "2193", + "parentIndex": "2194", "start": "44976" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2194", + "id": "2195", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2195", + "id": "2196", "name": "_migrator", "nodeType": "VARIABLE_DECLARATION", - "scope": "2195", + "scope": "2196", "src": { "column": "25", "end": "45006", "length": "19", "line": "1240", - "parentIndex": "2194", + "parentIndex": "2195", "start": "44988" }, "stateMutability": "MUTABLE", @@ -44548,17 +44604,17 @@ "typeString": "contract IMigrator" }, "typeName": { - "id": "2196", + "id": "2197", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2197", + "id": "2198", "name": "IMigrator", "nameLocation": { "column": "25", "end": "44996", "length": "9", "line": "1240", - "parentIndex": "2196", + "parentIndex": "2197", "start": "44988" }, "nodeType": "IDENTIFIER_PATH", @@ -44568,7 +44624,7 @@ "end": "44996", "length": "9", "line": "1240", - "parentIndex": "2196", + "parentIndex": "2197", "start": "44988" } }, @@ -44578,7 +44634,7 @@ "end": "44996", "length": "9", "line": "1240", - "parentIndex": "2195", + "parentIndex": "2196", "start": "44988" }, "typeDescription": { @@ -44594,19 +44650,19 @@ "end": "45006", "length": "19", "line": "1240", - "parentIndex": "2193", + "parentIndex": "2194", "start": "44988" } }, "returnParameters": { - "id": "2200", + "id": "2201", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "45062", "length": "96", "line": "1240", - "parentIndex": "2193", + "parentIndex": "2194", "start": "44967" } }, @@ -44632,7 +44688,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2214", + "id": "2215", "implemented": true, "nodeType": "BLOCK", "src": { @@ -44640,7 +44696,7 @@ "end": "45284", "length": "141", "line": "1244", - "parentIndex": "2207", + "parentIndex": "2208", "start": "45144" }, "statements": [ @@ -44661,20 +44717,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2217", + "id": "2218", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2218", + "id": "2219", "name": "_secondaryFeeToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2218", + "referencedDeclaration": "2219", "src": { "column": "16", "end": "45179", "length": "18", "line": "1245", - "parentIndex": "2217", + "parentIndex": "2218", "start": "45162" }, "typeDescription": { @@ -44699,7 +44755,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2222", + "id": "2223", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -44708,7 +44764,7 @@ "end": "45192", "length": "1", "line": "1245", - "parentIndex": "2219", + "parentIndex": "2220", "start": "45192" }, "typeDescription": { @@ -44728,7 +44784,7 @@ "typeString": "address" } ], - "id": "2220", + "id": "2221", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -44736,7 +44792,7 @@ "end": "45190", "length": "7", "line": "1245", - "parentIndex": "2219", + "parentIndex": "2220", "start": "45184" }, "typeDescription": { @@ -44744,7 +44800,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2221", + "id": "2222", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -44752,7 +44808,7 @@ "end": "45190", "length": "7", "line": "1245", - "parentIndex": "2220", + "parentIndex": "2221", "start": "45184" }, "stateMutability": "NONPAYABLE", @@ -44763,7 +44819,7 @@ } } }, - "id": "2219", + "id": "2220", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -44771,7 +44827,7 @@ "end": "45193", "length": "10", "line": "1245", - "parentIndex": "2217", + "parentIndex": "2218", "start": "45184" }, "typeDescription": { @@ -44785,7 +44841,7 @@ "end": "45193", "length": "32", "line": "1245", - "parentIndex": "2215", + "parentIndex": "2216", "start": "45162" }, "typeDescription": { @@ -44804,7 +44860,7 @@ } ], "hexValue": "494e56414c49442041444452455353", - "id": "2223", + "id": "2224", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -44813,7 +44869,7 @@ "end": "45212", "length": "17", "line": "1245", - "parentIndex": "2215", + "parentIndex": "2216", "start": "45196" }, "typeDescription": { @@ -44827,7 +44883,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2216", + "id": "2217", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -44836,7 +44892,7 @@ "end": "45160", "length": "7", "line": "1245", - "parentIndex": "2215", + "parentIndex": "2216", "start": "45154" }, "typeDescription": { @@ -44845,7 +44901,7 @@ } } }, - "id": "2215", + "id": "2216", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -44853,7 +44909,7 @@ "end": "45213", "length": "60", "line": "1245", - "parentIndex": "2214", + "parentIndex": "2215", "start": "45154" }, "typeDescription": { @@ -44868,38 +44924,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2225", + "id": "2226", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2227", + "id": "2228", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "45228", "length": "5", "line": "1246", - "parentIndex": "2226", + "parentIndex": "2227", "start": "45224" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2226", + "id": "2227", "memberLocation": { "column": "14", "end": "45246", "length": "17", "line": "1246", - "parentIndex": "2226", + "parentIndex": "2227", "start": "45230" }, "memberName": "secondaryFeeToken", @@ -44909,11 +44965,11 @@ "end": "45246", "length": "23", "line": "1246", - "parentIndex": "2225", + "parentIndex": "2226", "start": "45224" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -44933,16 +44989,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2230", + "id": "2231", "name": "_secondaryFeeToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2230", + "referencedDeclaration": "2231", "src": { "column": "43", "end": "45276", "length": "18", "line": "1246", - "parentIndex": "2228", + "parentIndex": "2229", "start": "45259" }, "typeDescription": { @@ -44955,7 +45011,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2229", + "id": "2230", "name": "IERCBurn", "nodeType": "IDENTIFIER", "src": { @@ -44963,7 +45019,7 @@ "end": "45257", "length": "8", "line": "1246", - "parentIndex": "2228", + "parentIndex": "2229", "start": "45250" }, "typeDescription": { @@ -44972,7 +45028,7 @@ } } }, - "id": "2228", + "id": "2229", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -44980,7 +45036,7 @@ "end": "45277", "length": "28", "line": "1246", - "parentIndex": "2225", + "parentIndex": "2226", "start": "45250" }, "typeDescription": { @@ -44994,49 +45050,49 @@ "end": "45277", "length": "54", "line": "1246", - "parentIndex": "2224", + "parentIndex": "2225", "start": "45224" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2224", + "id": "2225", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "45278", "length": "55", "line": "1246", - "parentIndex": "2214", + "parentIndex": "2215", "start": "45224" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } } ] }, - "id": "2207", + "id": "2208", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2211", + "id": "2212", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2212", + "id": "2213", "name": "onlyOwner", "src": { "column": "69", "end": "45142", "length": "9", "line": "1244", - "parentIndex": "2211", + "parentIndex": "2212", "start": "45134" } }, @@ -45047,7 +45103,7 @@ "end": "45142", "length": "9", "line": "1244", - "parentIndex": "2207", + "parentIndex": "2208", "start": "45134" } } @@ -45058,25 +45114,25 @@ "end": "45097", "length": "20", "line": "1244", - "parentIndex": "2207", + "parentIndex": "2208", "start": "45078" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2208", + "id": "2209", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2209", + "id": "2210", "name": "_secondaryFeeToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2209", + "scope": "2210", "src": { "column": "34", "end": "45124", "length": "26", "line": "1244", - "parentIndex": "2208", + "parentIndex": "2209", "start": "45099" }, "stateMutability": "NONPAYABLE", @@ -45086,7 +45142,7 @@ "typeString": "address" }, "typeName": { - "id": "2210", + "id": "2211", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -45094,7 +45150,7 @@ "end": "45105", "length": "7", "line": "1244", - "parentIndex": "2209", + "parentIndex": "2210", "start": "45099" }, "stateMutability": "NONPAYABLE", @@ -45111,19 +45167,19 @@ "end": "45124", "length": "26", "line": "1244", - "parentIndex": "2207", + "parentIndex": "2208", "start": "45099" } }, "returnParameters": { - "id": "2213", + "id": "2214", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "45284", "length": "216", "line": "1244", - "parentIndex": "2207", + "parentIndex": "2208", "start": "45069" } }, @@ -45149,7 +45205,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2242", + "id": "2243", "implemented": true, "nodeType": "BLOCK", "src": { @@ -45157,7 +45213,7 @@ "end": "45614", "length": "89", "line": "1255", - "parentIndex": "2232", + "parentIndex": "2233", "start": "45526" }, "statements": [ @@ -45167,38 +45223,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2244", + "id": "2245", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2246", + "id": "2247", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "45540", "length": "5", "line": "1256", - "parentIndex": "2245", + "parentIndex": "2246", "start": "45536" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2245", + "id": "2246", "memberLocation": { "column": "14", "end": "45554", "length": "13", "line": "1256", - "parentIndex": "2245", + "parentIndex": "2246", "start": "45542" }, "memberName": "referralToken", @@ -45208,11 +45264,11 @@ "end": "45554", "length": "19", "line": "1256", - "parentIndex": "2244", + "parentIndex": "2245", "start": "45536" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -45222,16 +45278,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2247", + "id": "2248", "name": "_referralToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2247", + "referencedDeclaration": "2248", "src": { "column": "30", "end": "45571", "length": "14", "line": "1256", - "parentIndex": "2244", + "parentIndex": "2245", "start": "45558" }, "typeDescription": { @@ -45245,27 +45301,27 @@ "end": "45571", "length": "36", "line": "1256", - "parentIndex": "2243", + "parentIndex": "2244", "start": "45536" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2243", + "id": "2244", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "45572", "length": "37", "line": "1256", - "parentIndex": "2242", + "parentIndex": "2243", "start": "45536" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -45276,38 +45332,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2249", + "id": "2250", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2251", + "id": "2252", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "45586", "length": "5", "line": "1257", - "parentIndex": "2250", + "parentIndex": "2251", "start": "45582" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2250", + "id": "2251", "memberLocation": { "column": "14", "end": "45599", "length": "12", "line": "1257", - "parentIndex": "2250", + "parentIndex": "2251", "start": "45588" }, "memberName": "referralHold", @@ -45317,11 +45373,11 @@ "end": "45599", "length": "18", "line": "1257", - "parentIndex": "2249", + "parentIndex": "2250", "start": "45582" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -45331,16 +45387,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2252", + "id": "2253", "name": "_hold", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2252", + "referencedDeclaration": "2253", "src": { "column": "29", "end": "45607", "length": "5", "line": "1257", - "parentIndex": "2249", + "parentIndex": "2250", "start": "45603" }, "typeDescription": { @@ -45354,49 +45410,49 @@ "end": "45607", "length": "26", "line": "1257", - "parentIndex": "2248", + "parentIndex": "2249", "start": "45582" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2248", + "id": "2249", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "45608", "length": "27", "line": "1257", - "parentIndex": "2242", + "parentIndex": "2243", "start": "45582" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } } ] }, - "id": "2232", + "id": "2233", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2239", + "id": "2240", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2240", + "id": "2241", "name": "onlyOwner", "src": { "column": "13", "end": "45524", "length": "9", "line": "1255", - "parentIndex": "2239", + "parentIndex": "2240", "start": "45516" } }, @@ -45407,7 +45463,7 @@ "end": "45524", "length": "9", "line": "1255", - "parentIndex": "2232", + "parentIndex": "2233", "start": "45516" } } @@ -45418,25 +45474,25 @@ "end": "45445", "length": "23", "line": "1252", - "parentIndex": "2232", + "parentIndex": "2233", "start": "45423" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2233", + "id": "2234", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2234", + "id": "2235", "name": "_referralToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2234", + "scope": "2235", "src": { "column": "8", "end": "45478", "length": "23", "line": "1253", - "parentIndex": "2233", + "parentIndex": "2234", "start": "45456" }, "stateMutability": "MUTABLE", @@ -45446,17 +45502,17 @@ "typeString": "contract IERCBurn" }, "typeName": { - "id": "2235", + "id": "2236", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2236", + "id": "2237", "name": "IERCBurn", "nameLocation": { "column": "8", "end": "45463", "length": "8", "line": "1253", - "parentIndex": "2235", + "parentIndex": "2236", "start": "45456" }, "nodeType": "IDENTIFIER_PATH", @@ -45466,7 +45522,7 @@ "end": "45463", "length": "8", "line": "1253", - "parentIndex": "2235", + "parentIndex": "2236", "start": "45456" } }, @@ -45476,7 +45532,7 @@ "end": "45463", "length": "8", "line": "1253", - "parentIndex": "2234", + "parentIndex": "2235", "start": "45456" }, "typeDescription": { @@ -45487,16 +45543,16 @@ "visibility": "INTERNAL" }, { - "id": "2237", + "id": "2238", "name": "_hold", "nodeType": "VARIABLE_DECLARATION", - "scope": "2237", + "scope": "2238", "src": { "column": "8", "end": "45501", "length": "13", "line": "1254", - "parentIndex": "2233", + "parentIndex": "2234", "start": "45489" }, "stateMutability": "MUTABLE", @@ -45506,7 +45562,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2238", + "id": "2239", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -45514,7 +45570,7 @@ "end": "45495", "length": "7", "line": "1254", - "parentIndex": "2237", + "parentIndex": "2238", "start": "45489" }, "typeDescription": { @@ -45530,24 +45586,24 @@ "end": "45501", "length": "46", "line": "1253", - "parentIndex": "2232", + "parentIndex": "2233", "start": "45456" } }, "returnParameters": { - "id": "2241", + "id": "2242", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "45614", "length": "201", "line": "1252", - "parentIndex": "2232", + "parentIndex": "2233", "start": "45414" } }, "scope": "1998", - "signature": "ee6da792", + "signature": "bfaf0f38", "src": { "column": "4", "end": "45614", @@ -45568,7 +45624,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2271", + "id": "2272", "implemented": true, "nodeType": "BLOCK", "src": { @@ -45576,7 +45632,7 @@ "end": "46386", "length": "524", "line": "1267", - "parentIndex": "2254", + "parentIndex": "2255", "start": "45863" }, "statements": [ @@ -45597,20 +45653,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2274", + "id": "2275", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2275", + "id": "2276", "name": "_referralPercent", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2275", + "referencedDeclaration": "2276", "src": { "column": "16", "end": "45896", "length": "16", "line": "1268", - "parentIndex": "2274", + "parentIndex": "2275", "start": "45881" }, "typeDescription": { @@ -45625,7 +45681,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2276", + "id": "2277", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -45634,7 +45690,7 @@ "end": "45904", "length": "4", "line": "1268", - "parentIndex": "2274", + "parentIndex": "2275", "start": "45901" }, "typeDescription": { @@ -45649,7 +45705,7 @@ "end": "45904", "length": "24", "line": "1268", - "parentIndex": "2272", + "parentIndex": "2273", "start": "45881" }, "typeDescription": { @@ -45668,7 +45724,7 @@ } ], "hexValue": "494e56414c494420524546455252414c2050455243454e54", - "id": "2277", + "id": "2278", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -45677,7 +45733,7 @@ "end": "45932", "length": "26", "line": "1268", - "parentIndex": "2272", + "parentIndex": "2273", "start": "45907" }, "typeDescription": { @@ -45691,7 +45747,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2273", + "id": "2274", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -45700,7 +45756,7 @@ "end": "45879", "length": "7", "line": "1268", - "parentIndex": "2272", + "parentIndex": "2273", "start": "45873" }, "typeDescription": { @@ -45709,7 +45765,7 @@ } } }, - "id": "2272", + "id": "2273", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -45717,7 +45773,7 @@ "end": "45933", "length": "61", "line": "1268", - "parentIndex": "2271", + "parentIndex": "2272", "start": "45873" }, "typeDescription": { @@ -45743,20 +45799,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2280", + "id": "2281", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2281", + "id": "2282", "name": "_referralDiscount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2281", + "referencedDeclaration": "2282", "src": { "column": "16", "end": "45968", "length": "17", "line": "1269", - "parentIndex": "2280", + "parentIndex": "2281", "start": "45952" }, "typeDescription": { @@ -45771,7 +45827,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2282", + "id": "2283", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -45780,7 +45836,7 @@ "end": "45976", "length": "4", "line": "1269", - "parentIndex": "2280", + "parentIndex": "2281", "start": "45973" }, "typeDescription": { @@ -45795,7 +45851,7 @@ "end": "45976", "length": "25", "line": "1269", - "parentIndex": "2278", + "parentIndex": "2279", "start": "45952" }, "typeDescription": { @@ -45814,7 +45870,7 @@ } ], "hexValue": "494e56414c494420524546455252414c20444953434f554e54", - "id": "2283", + "id": "2284", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -45823,7 +45879,7 @@ "end": "46005", "length": "27", "line": "1269", - "parentIndex": "2278", + "parentIndex": "2279", "start": "45979" }, "typeDescription": { @@ -45837,7 +45893,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2279", + "id": "2280", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -45846,7 +45902,7 @@ "end": "45950", "length": "7", "line": "1269", - "parentIndex": "2278", + "parentIndex": "2279", "start": "45944" }, "typeDescription": { @@ -45855,7 +45911,7 @@ } } }, - "id": "2278", + "id": "2279", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -45863,7 +45919,7 @@ "end": "46006", "length": "63", "line": "1269", - "parentIndex": "2271", + "parentIndex": "2272", "start": "45944" }, "typeDescription": { @@ -45889,20 +45945,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2286", + "id": "2287", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2287", + "id": "2288", "name": "_secondaryTokenDiscount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2287", + "referencedDeclaration": "2288", "src": { "column": "16", "end": "46047", "length": "23", "line": "1270", - "parentIndex": "2286", + "parentIndex": "2287", "start": "46025" }, "typeDescription": { @@ -45917,7 +45973,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2288", + "id": "2289", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -45926,7 +45982,7 @@ "end": "46055", "length": "4", "line": "1270", - "parentIndex": "2286", + "parentIndex": "2287", "start": "46052" }, "typeDescription": { @@ -45941,7 +45997,7 @@ "end": "46055", "length": "31", "line": "1270", - "parentIndex": "2284", + "parentIndex": "2285", "start": "46025" }, "typeDescription": { @@ -45960,7 +46016,7 @@ } ], "hexValue": "494e56414c494420544f4b454e20444953434f554e54", - "id": "2289", + "id": "2290", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -45969,7 +46025,7 @@ "end": "46081", "length": "24", "line": "1270", - "parentIndex": "2284", + "parentIndex": "2285", "start": "46058" }, "typeDescription": { @@ -45983,7 +46039,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2285", + "id": "2286", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -45992,7 +46048,7 @@ "end": "46023", "length": "7", "line": "1270", - "parentIndex": "2284", + "parentIndex": "2285", "start": "46017" }, "typeDescription": { @@ -46001,7 +46057,7 @@ } } }, - "id": "2284", + "id": "2285", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -46009,7 +46065,7 @@ "end": "46082", "length": "66", "line": "1270", - "parentIndex": "2271", + "parentIndex": "2272", "start": "46017" }, "typeDescription": { @@ -46024,38 +46080,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2291", + "id": "2292", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2293", + "id": "2294", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "46098", "length": "5", "line": "1272", - "parentIndex": "2292", + "parentIndex": "2293", "start": "46094" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2292", + "id": "2293", "memberLocation": { "column": "14", "end": "46114", "length": "15", "line": "1272", - "parentIndex": "2292", + "parentIndex": "2293", "start": "46100" }, "memberName": "referralPercent", @@ -46065,11 +46121,11 @@ "end": "46114", "length": "21", "line": "1272", - "parentIndex": "2291", + "parentIndex": "2292", "start": "46094" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46079,16 +46135,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2294", + "id": "2295", "name": "_referralPercent", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2294", + "referencedDeclaration": "2295", "src": { "column": "32", "end": "46133", "length": "16", "line": "1272", - "parentIndex": "2291", + "parentIndex": "2292", "start": "46118" }, "typeDescription": { @@ -46102,27 +46158,27 @@ "end": "46133", "length": "40", "line": "1272", - "parentIndex": "2290", + "parentIndex": "2291", "start": "46094" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2290", + "id": "2291", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "46134", "length": "41", "line": "1272", - "parentIndex": "2271", + "parentIndex": "2272", "start": "46094" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46133,38 +46189,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2296", + "id": "2297", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2298", + "id": "2299", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "46148", "length": "5", "line": "1273", - "parentIndex": "2297", + "parentIndex": "2298", "start": "46144" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2297", + "id": "2298", "memberLocation": { "column": "14", "end": "46165", "length": "16", "line": "1273", - "parentIndex": "2297", + "parentIndex": "2298", "start": "46150" }, "memberName": "referralDiscount", @@ -46174,11 +46230,11 @@ "end": "46165", "length": "22", "line": "1273", - "parentIndex": "2296", + "parentIndex": "2297", "start": "46144" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46188,16 +46244,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2299", + "id": "2300", "name": "_referralDiscount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2299", + "referencedDeclaration": "2300", "src": { "column": "33", "end": "46185", "length": "17", "line": "1273", - "parentIndex": "2296", + "parentIndex": "2297", "start": "46169" }, "typeDescription": { @@ -46211,27 +46267,27 @@ "end": "46185", "length": "42", "line": "1273", - "parentIndex": "2295", + "parentIndex": "2296", "start": "46144" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2295", + "id": "2296", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "46186", "length": "43", "line": "1273", - "parentIndex": "2271", + "parentIndex": "2272", "start": "46144" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46242,38 +46298,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2301", + "id": "2302", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2303", + "id": "2304", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "46200", "length": "5", "line": "1274", - "parentIndex": "2302", + "parentIndex": "2303", "start": "46196" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2302", + "id": "2303", "memberLocation": { "column": "14", "end": "46207", "length": "6", "line": "1274", - "parentIndex": "2302", + "parentIndex": "2303", "start": "46202" }, "memberName": "ethFee", @@ -46283,11 +46339,11 @@ "end": "46207", "length": "12", "line": "1274", - "parentIndex": "2301", + "parentIndex": "2302", "start": "46196" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46297,16 +46353,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2304", + "id": "2305", "name": "_ethFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2304", + "referencedDeclaration": "2305", "src": { "column": "23", "end": "46217", "length": "7", "line": "1274", - "parentIndex": "2301", + "parentIndex": "2302", "start": "46211" }, "typeDescription": { @@ -46320,27 +46376,27 @@ "end": "46217", "length": "22", "line": "1274", - "parentIndex": "2300", + "parentIndex": "2301", "start": "46196" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2300", + "id": "2301", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "46218", "length": "23", "line": "1274", - "parentIndex": "2271", + "parentIndex": "2272", "start": "46196" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46351,38 +46407,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2306", + "id": "2307", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2308", + "id": "2309", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "46232", "length": "5", "line": "1275", - "parentIndex": "2307", + "parentIndex": "2308", "start": "46228" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2307", + "id": "2308", "memberLocation": { "column": "14", "end": "46250", "length": "17", "line": "1275", - "parentIndex": "2307", + "parentIndex": "2308", "start": "46234" }, "memberName": "secondaryTokenFee", @@ -46392,11 +46448,11 @@ "end": "46250", "length": "23", "line": "1275", - "parentIndex": "2306", + "parentIndex": "2307", "start": "46228" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46406,16 +46462,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2309", + "id": "2310", "name": "_secondaryTokenFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2309", + "referencedDeclaration": "2310", "src": { "column": "34", "end": "46271", "length": "18", "line": "1275", - "parentIndex": "2306", + "parentIndex": "2307", "start": "46254" }, "typeDescription": { @@ -46429,27 +46485,27 @@ "end": "46271", "length": "44", "line": "1275", - "parentIndex": "2305", + "parentIndex": "2306", "start": "46228" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2305", + "id": "2306", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "46272", "length": "45", "line": "1275", - "parentIndex": "2271", + "parentIndex": "2272", "start": "46228" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46460,38 +46516,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2311", + "id": "2312", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2313", + "id": "2314", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "46286", "length": "5", "line": "1276", - "parentIndex": "2312", + "parentIndex": "2313", "start": "46282" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2312", + "id": "2313", "memberLocation": { "column": "14", "end": "46309", "length": "22", "line": "1276", - "parentIndex": "2312", + "parentIndex": "2313", "start": "46288" }, "memberName": "secondaryTokenDiscount", @@ -46501,11 +46557,11 @@ "end": "46309", "length": "28", "line": "1276", - "parentIndex": "2311", + "parentIndex": "2312", "start": "46282" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46515,16 +46571,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2314", + "id": "2315", "name": "_secondaryTokenDiscount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2314", + "referencedDeclaration": "2315", "src": { "column": "39", "end": "46335", "length": "23", "line": "1276", - "parentIndex": "2311", + "parentIndex": "2312", "start": "46313" }, "typeDescription": { @@ -46538,27 +46594,27 @@ "end": "46335", "length": "54", "line": "1276", - "parentIndex": "2310", + "parentIndex": "2311", "start": "46282" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2310", + "id": "2311", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "46336", "length": "55", "line": "1276", - "parentIndex": "2271", + "parentIndex": "2272", "start": "46282" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46569,38 +46625,38 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2316", + "id": "2317", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2318", + "id": "2319", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "8", "end": "46350", "length": "5", "line": "1277", - "parentIndex": "2317", + "parentIndex": "2318", "start": "46346" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2317", + "id": "2318", "memberLocation": { "column": "14", "end": "46363", "length": "12", "line": "1277", - "parentIndex": "2317", + "parentIndex": "2318", "start": "46352" }, "memberName": "liquidityFee", @@ -46610,11 +46666,11 @@ "end": "46363", "length": "18", "line": "1277", - "parentIndex": "2316", + "parentIndex": "2317", "start": "46346" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -46624,16 +46680,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2319", + "id": "2320", "name": "_liquidityFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2319", + "referencedDeclaration": "2320", "src": { "column": "29", "end": "46379", "length": "13", "line": "1277", - "parentIndex": "2316", + "parentIndex": "2317", "start": "46367" }, "typeDescription": { @@ -46647,49 +46703,49 @@ "end": "46379", "length": "34", "line": "1277", - "parentIndex": "2315", + "parentIndex": "2316", "start": "46346" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2315", + "id": "2316", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "46380", "length": "35", "line": "1277", - "parentIndex": "2271", + "parentIndex": "2272", "start": "46346" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } } ] }, - "id": "2254", + "id": "2255", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2268", + "id": "2269", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2269", + "id": "2270", "name": "onlyOwner", "src": { "column": "13", "end": "45861", "length": "9", "line": "1267", - "parentIndex": "2268", + "parentIndex": "2269", "start": "45853" } }, @@ -46700,7 +46756,7 @@ "end": "45861", "length": "9", "line": "1267", - "parentIndex": "2254", + "parentIndex": "2255", "start": "45853" } } @@ -46711,25 +46767,25 @@ "end": "45636", "length": "7", "line": "1260", - "parentIndex": "2254", + "parentIndex": "2255", "start": "45630" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2255", + "id": "2256", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2256", + "id": "2257", "name": "_referralPercent", "nodeType": "VARIABLE_DECLARATION", - "scope": "2256", + "scope": "2257", "src": { "column": "8", "end": "45670", "length": "24", "line": "1261", - "parentIndex": "2255", + "parentIndex": "2256", "start": "45647" }, "stateMutability": "MUTABLE", @@ -46739,7 +46795,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2257", + "id": "2258", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46747,7 +46803,7 @@ "end": "45653", "length": "7", "line": "1261", - "parentIndex": "2256", + "parentIndex": "2257", "start": "45647" }, "typeDescription": { @@ -46758,16 +46814,16 @@ "visibility": "INTERNAL" }, { - "id": "2258", + "id": "2259", "name": "_referralDiscount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2258", + "scope": "2259", "src": { "column": "8", "end": "45705", "length": "25", "line": "1262", - "parentIndex": "2255", + "parentIndex": "2256", "start": "45681" }, "stateMutability": "MUTABLE", @@ -46777,7 +46833,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2259", + "id": "2260", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46785,7 +46841,7 @@ "end": "45687", "length": "7", "line": "1262", - "parentIndex": "2258", + "parentIndex": "2259", "start": "45681" }, "typeDescription": { @@ -46796,16 +46852,16 @@ "visibility": "INTERNAL" }, { - "id": "2260", + "id": "2261", "name": "_ethFee", "nodeType": "VARIABLE_DECLARATION", - "scope": "2260", + "scope": "2261", "src": { "column": "8", "end": "45730", "length": "15", "line": "1263", - "parentIndex": "2255", + "parentIndex": "2256", "start": "45716" }, "stateMutability": "MUTABLE", @@ -46815,7 +46871,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2261", + "id": "2262", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46823,7 +46879,7 @@ "end": "45722", "length": "7", "line": "1263", - "parentIndex": "2260", + "parentIndex": "2261", "start": "45716" }, "typeDescription": { @@ -46834,16 +46890,16 @@ "visibility": "INTERNAL" }, { - "id": "2262", + "id": "2263", "name": "_secondaryTokenFee", "nodeType": "VARIABLE_DECLARATION", - "scope": "2262", + "scope": "2263", "src": { "column": "8", "end": "45766", "length": "26", "line": "1264", - "parentIndex": "2255", + "parentIndex": "2256", "start": "45741" }, "stateMutability": "MUTABLE", @@ -46853,7 +46909,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2263", + "id": "2264", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46861,7 +46917,7 @@ "end": "45747", "length": "7", "line": "1264", - "parentIndex": "2262", + "parentIndex": "2263", "start": "45741" }, "typeDescription": { @@ -46872,16 +46928,16 @@ "visibility": "INTERNAL" }, { - "id": "2264", + "id": "2265", "name": "_secondaryTokenDiscount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2264", + "scope": "2265", "src": { "column": "8", "end": "45807", "length": "31", "line": "1265", - "parentIndex": "2255", + "parentIndex": "2256", "start": "45777" }, "stateMutability": "MUTABLE", @@ -46891,7 +46947,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2265", + "id": "2266", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46899,7 +46955,7 @@ "end": "45783", "length": "7", "line": "1265", - "parentIndex": "2264", + "parentIndex": "2265", "start": "45777" }, "typeDescription": { @@ -46910,16 +46966,16 @@ "visibility": "INTERNAL" }, { - "id": "2266", + "id": "2267", "name": "_liquidityFee", "nodeType": "VARIABLE_DECLARATION", - "scope": "2266", + "scope": "2267", "src": { "column": "8", "end": "45838", "length": "21", "line": "1266", - "parentIndex": "2255", + "parentIndex": "2256", "start": "45818" }, "stateMutability": "MUTABLE", @@ -46929,7 +46985,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2267", + "id": "2268", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -46937,7 +46993,7 @@ "end": "45824", "length": "7", "line": "1266", - "parentIndex": "2266", + "parentIndex": "2267", "start": "45818" }, "typeDescription": { @@ -46953,24 +47009,24 @@ "end": "45838", "length": "192", "line": "1261", - "parentIndex": "2254", + "parentIndex": "2255", "start": "45647" } }, "returnParameters": { - "id": "2270", + "id": "2271", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "46386", "length": "766", "line": "1260", - "parentIndex": "2254", + "parentIndex": "2255", "start": "45621" } }, "scope": "1998", - "signature": "24633dd7", + "signature": "86f6c3c1", "src": { "column": "4", "end": "46386", @@ -46991,7 +47047,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2332", + "id": "2333", "implemented": true, "nodeType": "BLOCK", "src": { @@ -46999,7 +47055,7 @@ "end": "46870", "length": "239", "line": "1287", - "parentIndex": "2321", + "parentIndex": "2322", "start": "46632" }, "statements": [ @@ -47020,20 +47076,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2335", + "id": "2336", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2336", + "id": "2337", "name": "_user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2336", + "referencedDeclaration": "2337", "src": { "column": "16", "end": "46654", "length": "5", "line": "1288", - "parentIndex": "2335", + "parentIndex": "2336", "start": "46650" }, "typeDescription": { @@ -47058,7 +47114,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2340", + "id": "2341", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -47067,7 +47123,7 @@ "end": "46667", "length": "1", "line": "1288", - "parentIndex": "2337", + "parentIndex": "2338", "start": "46667" }, "typeDescription": { @@ -47087,7 +47143,7 @@ "typeString": "address" } ], - "id": "2338", + "id": "2339", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -47095,7 +47151,7 @@ "end": "46665", "length": "7", "line": "1288", - "parentIndex": "2337", + "parentIndex": "2338", "start": "46659" }, "typeDescription": { @@ -47103,7 +47159,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2339", + "id": "2340", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47111,7 +47167,7 @@ "end": "46665", "length": "7", "line": "1288", - "parentIndex": "2338", + "parentIndex": "2339", "start": "46659" }, "stateMutability": "NONPAYABLE", @@ -47122,7 +47178,7 @@ } } }, - "id": "2337", + "id": "2338", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47130,7 +47186,7 @@ "end": "46668", "length": "10", "line": "1288", - "parentIndex": "2335", + "parentIndex": "2336", "start": "46659" }, "typeDescription": { @@ -47144,7 +47200,7 @@ "end": "46668", "length": "19", "line": "1288", - "parentIndex": "2333", + "parentIndex": "2334", "start": "46650" }, "typeDescription": { @@ -47163,7 +47219,7 @@ } ], "hexValue": "494e56414c49442041444452455353", - "id": "2341", + "id": "2342", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -47172,7 +47228,7 @@ "end": "46687", "length": "17", "line": "1288", - "parentIndex": "2333", + "parentIndex": "2334", "start": "46671" }, "typeDescription": { @@ -47186,7 +47242,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2334", + "id": "2335", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -47195,7 +47251,7 @@ "end": "46648", "length": "7", "line": "1288", - "parentIndex": "2333", + "parentIndex": "2334", "start": "46642" }, "typeDescription": { @@ -47204,7 +47260,7 @@ } } }, - "id": "2333", + "id": "2334", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47212,7 +47268,7 @@ "end": "46688", "length": "47", "line": "1288", - "parentIndex": "2332", + "parentIndex": "2333", "start": "46642" }, "typeDescription": { @@ -47225,7 +47281,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2344", + "id": "2345", "implemented": true, "nodeType": "BLOCK", "src": { @@ -47233,7 +47289,7 @@ "end": "46782", "length": "73", "line": "1290", - "parentIndex": "2321", + "parentIndex": "2322", "start": "46710" }, "statements": [ @@ -47250,16 +47306,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2348", + "id": "2349", "name": "_user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2348", + "referencedDeclaration": "2349", "src": { "column": "29", "end": "46745", "length": "5", "line": "1291", - "parentIndex": "2345", + "parentIndex": "2346", "start": "46741" }, "typeDescription": { @@ -47275,16 +47331,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2347", + "id": "2348", "name": "feeWhitelist", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2085", + "referencedDeclaration": "2086", "src": { "column": "12", "end": "46735", "length": "12", "line": "1291", - "parentIndex": "2346", + "parentIndex": "2347", "start": "46724" }, "typeDescription": { @@ -47293,13 +47349,13 @@ } } }, - "id": "2346", + "id": "2347", "memberLocation": { "column": "25", "end": "46739", "length": "3", "line": "1291", - "parentIndex": "2346", + "parentIndex": "2347", "start": "46737" }, "memberName": "add", @@ -47309,7 +47365,7 @@ "end": "46739", "length": "16", "line": "1291", - "parentIndex": "2345", + "parentIndex": "2346", "start": "46724" }, "typeDescription": { @@ -47318,7 +47374,7 @@ } } }, - "id": "2345", + "id": "2346", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47326,7 +47382,7 @@ "end": "46746", "length": "23", "line": "1291", - "parentIndex": "2344", + "parentIndex": "2345", "start": "46724" }, "typeDescription": { @@ -47342,7 +47398,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "2350", + "id": "2351", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -47351,7 +47407,7 @@ "end": "46771", "length": "4", "line": "1292", - "parentIndex": "2349", + "parentIndex": "2350", "start": "46768" }, "typeDescription": { @@ -47361,15 +47417,15 @@ "value": "true" } }, - "functionReturnParameters": "2321", - "id": "2349", + "functionReturnParameters": "2322", + "id": "2350", "nodeType": "RETURN_STATEMENT", "src": { "column": "12", "end": "46772", "length": "12", "line": "1292", - "parentIndex": "2321", + "parentIndex": "2322", "start": "46761" }, "typeDescription": { @@ -47383,16 +47439,16 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2343", + "id": "2344", "name": "_add", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2343", + "referencedDeclaration": "2344", "src": { "column": "12", "end": "46707", "length": "4", "line": "1290", - "parentIndex": "2342", + "parentIndex": "2343", "start": "46704" }, "typeDescription": { @@ -47401,35 +47457,35 @@ } } }, - "id": "2342", + "id": "2343", "nodeType": "IF_STATEMENT", "src": { "end": "46864", "length": "165", "line": "1290", - "parentIndex": "2332", + "parentIndex": "2333", "start": "46700" } } } ] }, - "id": "2321", + "id": "2322", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2327", + "id": "2328", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2328", + "id": "2329", "name": "onlyOwner", "src": { "column": "13", "end": "46615", "length": "9", "line": "1287", - "parentIndex": "2327", + "parentIndex": "2328", "start": "46607" } }, @@ -47440,7 +47496,7 @@ "end": "46615", "length": "9", "line": "1287", - "parentIndex": "2321", + "parentIndex": "2322", "start": "46607" } } @@ -47451,25 +47507,25 @@ "end": "46550", "length": "19", "line": "1284", - "parentIndex": "2321", + "parentIndex": "2322", "start": "46532" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2322", + "id": "2323", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2323", + "id": "2324", "name": "_user", "nodeType": "VARIABLE_DECLARATION", - "scope": "2323", + "scope": "2324", "src": { "column": "8", "end": "46573", "length": "13", "line": "1285", - "parentIndex": "2322", + "parentIndex": "2323", "start": "46561" }, "stateMutability": "NONPAYABLE", @@ -47479,7 +47535,7 @@ "typeString": "address" }, "typeName": { - "id": "2324", + "id": "2325", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47487,7 +47543,7 @@ "end": "46567", "length": "7", "line": "1285", - "parentIndex": "2323", + "parentIndex": "2324", "start": "46561" }, "stateMutability": "NONPAYABLE", @@ -47499,16 +47555,16 @@ "visibility": "INTERNAL" }, { - "id": "2325", + "id": "2326", "name": "_add", "nodeType": "VARIABLE_DECLARATION", - "scope": "2325", + "scope": "2326", "src": { "column": "8", "end": "46592", "length": "9", "line": "1286", - "parentIndex": "2322", + "parentIndex": "2323", "start": "46584" }, "stateMutability": "MUTABLE", @@ -47518,7 +47574,7 @@ "typeString": "bool" }, "typeName": { - "id": "2326", + "id": "2327", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47526,7 +47582,7 @@ "end": "46587", "length": "4", "line": "1286", - "parentIndex": "2325", + "parentIndex": "2326", "start": "46584" }, "typeDescription": { @@ -47542,24 +47598,24 @@ "end": "46592", "length": "32", "line": "1285", - "parentIndex": "2321", + "parentIndex": "2322", "start": "46561" } }, "returnParameters": { - "id": "2329", + "id": "2330", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2330", + "id": "2331", "nodeType": "VARIABLE_DECLARATION", - "scope": "2330", + "scope": "2331", "src": { "column": "32", "end": "46629", "length": "4", "line": "1287", - "parentIndex": "2329", + "parentIndex": "2330", "start": "46626" }, "stateMutability": "MUTABLE", @@ -47569,7 +47625,7 @@ "typeString": "bool" }, "typeName": { - "id": "2331", + "id": "2332", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -47577,7 +47633,7 @@ "end": "46629", "length": "4", "line": "1287", - "parentIndex": "2330", + "parentIndex": "2331", "start": "46626" }, "typeDescription": { @@ -47593,12 +47649,12 @@ "end": "46629", "length": "4", "line": "1287", - "parentIndex": "2321", + "parentIndex": "2322", "start": "46626" } }, "scope": "1998", - "signature": "fd317221", + "signature": "91ff1eb1", "src": { "column": "4", "end": "46870", @@ -47619,7 +47675,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2371", + "id": "2372", "implemented": true, "nodeType": "BLOCK", "src": { @@ -47627,7 +47683,7 @@ "end": "52324", "length": "4630", "line": "1316", - "parentIndex": "2352", + "parentIndex": "2353", "start": "47695" }, "statements": [ @@ -47648,20 +47704,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2374", + "id": "2375", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2375", + "id": "2376", "name": "_unlock_date", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2375", + "referencedDeclaration": "2376", "src": { "column": "16", "end": "47724", "length": "12", "line": "1317", - "parentIndex": "2374", + "parentIndex": "2375", "start": "47713" }, "typeDescription": { @@ -47676,7 +47732,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3130303030303030303030", - "id": "2376", + "id": "2377", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -47685,7 +47741,7 @@ "end": "47738", "length": "11", "line": "1317", - "parentIndex": "2374", + "parentIndex": "2375", "start": "47728" }, "typeDescription": { @@ -47700,7 +47756,7 @@ "end": "47738", "length": "26", "line": "1317", - "parentIndex": "2372", + "parentIndex": "2373", "start": "47713" }, "typeDescription": { @@ -47719,7 +47775,7 @@ } ], "hexValue": "54494d455354414d5020494e56414c4944", - "id": "2377", + "id": "2378", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -47728,7 +47784,7 @@ "end": "47759", "length": "19", "line": "1317", - "parentIndex": "2372", + "parentIndex": "2373", "start": "47741" }, "typeDescription": { @@ -47742,7 +47798,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2373", + "id": "2374", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -47751,7 +47807,7 @@ "end": "47711", "length": "7", "line": "1317", - "parentIndex": "2372", + "parentIndex": "2373", "start": "47705" }, "typeDescription": { @@ -47760,7 +47816,7 @@ } } }, - "id": "2372", + "id": "2373", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47768,7 +47824,7 @@ "end": "47760", "length": "56", "line": "1317", - "parentIndex": "2371", + "parentIndex": "2372", "start": "47705" }, "typeDescription": { @@ -47794,20 +47850,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2380", + "id": "2381", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2381", + "id": "2382", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2381", + "referencedDeclaration": "2382", "src": { "column": "16", "end": "47843", "length": "7", "line": "1318", - "parentIndex": "2380", + "parentIndex": "2381", "start": "47837" }, "typeDescription": { @@ -47822,7 +47878,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2382", + "id": "2383", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -47831,7 +47887,7 @@ "end": "47847", "length": "1", "line": "1318", - "parentIndex": "2380", + "parentIndex": "2381", "start": "47847" }, "typeDescription": { @@ -47846,7 +47902,7 @@ "end": "47847", "length": "11", "line": "1318", - "parentIndex": "2378", + "parentIndex": "2379", "start": "47837" }, "typeDescription": { @@ -47865,7 +47921,7 @@ } ], "hexValue": "494e53554646494349454e54", - "id": "2383", + "id": "2384", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -47874,7 +47930,7 @@ "end": "47863", "length": "14", "line": "1318", - "parentIndex": "2378", + "parentIndex": "2379", "start": "47850" }, "typeDescription": { @@ -47888,7 +47944,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2379", + "id": "2380", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -47897,7 +47953,7 @@ "end": "47835", "length": "7", "line": "1318", - "parentIndex": "2378", + "parentIndex": "2379", "start": "47829" }, "typeDescription": { @@ -47906,7 +47962,7 @@ } } }, - "id": "2378", + "id": "2379", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -47914,7 +47970,7 @@ "end": "47864", "length": "36", "line": "1318", - "parentIndex": "2371", + "parentIndex": "2372", "start": "47829" }, "typeDescription": { @@ -47940,20 +47996,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2386", + "id": "2387", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2387", + "id": "2388", "name": "_unlock_date", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2387", + "referencedDeclaration": "2388", "src": { "column": "16", "end": "47894", "length": "12", "line": "1319", - "parentIndex": "2386", + "parentIndex": "2387", "start": "47883" }, "typeDescription": { @@ -47970,7 +48026,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2389", + "id": "2390", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -47978,7 +48034,7 @@ "end": "47902", "length": "5", "line": "1319", - "parentIndex": "2388", + "parentIndex": "2389", "start": "47898" }, "typeDescription": { @@ -47987,13 +48043,13 @@ } } }, - "id": "2388", + "id": "2389", "memberLocation": { "column": "37", "end": "47912", "length": "9", "line": "1319", - "parentIndex": "2388", + "parentIndex": "2389", "start": "47904" }, "memberName": "timestamp", @@ -48003,7 +48059,7 @@ "end": "47912", "length": "15", "line": "1319", - "parentIndex": "2386", + "parentIndex": "2387", "start": "47898" }, "typeDescription": { @@ -48017,7 +48073,7 @@ "end": "47912", "length": "30", "line": "1319", - "parentIndex": "2384", + "parentIndex": "2385", "start": "47883" }, "typeDescription": { @@ -48036,7 +48092,7 @@ } ], "hexValue": "424c4f434b2048454947485420494e56414c4944", - "id": "2390", + "id": "2391", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -48045,7 +48101,7 @@ "end": "47936", "length": "22", "line": "1319", - "parentIndex": "2384", + "parentIndex": "2385", "start": "47915" }, "typeDescription": { @@ -48059,7 +48115,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2385", + "id": "2386", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -48068,7 +48124,7 @@ "end": "47881", "length": "7", "line": "1319", - "parentIndex": "2384", + "parentIndex": "2385", "start": "47875" }, "typeDescription": { @@ -48077,7 +48133,7 @@ } } }, - "id": "2384", + "id": "2385", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -48085,7 +48141,7 @@ "end": "47937", "length": "63", "line": "1319", - "parentIndex": "2371", + "parentIndex": "2372", "start": "47875" }, "typeDescription": { @@ -48111,20 +48167,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2393", + "id": "2394", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2394", + "id": "2395", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2394", + "referencedDeclaration": "2395", "src": { "column": "16", "end": "47963", "length": "8", "line": "1320", - "parentIndex": "2393", + "parentIndex": "2394", "start": "47956" }, "typeDescription": { @@ -48149,7 +48205,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2398", + "id": "2399", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -48158,7 +48214,7 @@ "end": "47976", "length": "1", "line": "1320", - "parentIndex": "2395", + "parentIndex": "2396", "start": "47976" }, "typeDescription": { @@ -48178,7 +48234,7 @@ "typeString": "address" } ], - "id": "2396", + "id": "2397", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -48186,7 +48242,7 @@ "end": "47974", "length": "7", "line": "1320", - "parentIndex": "2395", + "parentIndex": "2396", "start": "47968" }, "typeDescription": { @@ -48194,7 +48250,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2397", + "id": "2398", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -48202,7 +48258,7 @@ "end": "47974", "length": "7", "line": "1320", - "parentIndex": "2396", + "parentIndex": "2397", "start": "47968" }, "stateMutability": "NONPAYABLE", @@ -48213,7 +48269,7 @@ } } }, - "id": "2395", + "id": "2396", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -48221,7 +48277,7 @@ "end": "47977", "length": "10", "line": "1320", - "parentIndex": "2393", + "parentIndex": "2394", "start": "47968" }, "typeDescription": { @@ -48235,7 +48291,7 @@ "end": "47977", "length": "22", "line": "1320", - "parentIndex": "2391", + "parentIndex": "2392", "start": "47956" }, "typeDescription": { @@ -48254,7 +48310,7 @@ } ], "hexValue": "494e56414c49442041444452455353", - "id": "2399", + "id": "2400", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -48263,7 +48319,7 @@ "end": "47996", "length": "17", "line": "1320", - "parentIndex": "2391", + "parentIndex": "2392", "start": "47980" }, "typeDescription": { @@ -48277,7 +48333,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2392", + "id": "2393", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -48286,7 +48342,7 @@ "end": "47954", "length": "7", "line": "1320", - "parentIndex": "2391", + "parentIndex": "2392", "start": "47948" }, "typeDescription": { @@ -48295,7 +48351,7 @@ } } }, - "id": "2391", + "id": "2392", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -48303,7 +48359,7 @@ "end": "47997", "length": "50", "line": "1320", - "parentIndex": "2371", + "parentIndex": "2372", "start": "47948" }, "typeDescription": { @@ -48329,20 +48385,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2402", + "id": "2403", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2403", + "id": "2404", "name": "_withdrawer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2403", + "referencedDeclaration": "2404", "src": { "column": "16", "end": "48026", "length": "11", "line": "1321", - "parentIndex": "2402", + "parentIndex": "2403", "start": "48016" }, "typeDescription": { @@ -48367,7 +48423,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2407", + "id": "2408", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -48376,7 +48432,7 @@ "end": "48039", "length": "1", "line": "1321", - "parentIndex": "2404", + "parentIndex": "2405", "start": "48039" }, "typeDescription": { @@ -48396,7 +48452,7 @@ "typeString": "address" } ], - "id": "2405", + "id": "2406", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -48404,7 +48460,7 @@ "end": "48037", "length": "7", "line": "1321", - "parentIndex": "2404", + "parentIndex": "2405", "start": "48031" }, "typeDescription": { @@ -48412,7 +48468,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2406", + "id": "2407", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -48420,7 +48476,7 @@ "end": "48037", "length": "7", "line": "1321", - "parentIndex": "2405", + "parentIndex": "2406", "start": "48031" }, "stateMutability": "NONPAYABLE", @@ -48431,7 +48487,7 @@ } } }, - "id": "2404", + "id": "2405", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -48439,7 +48495,7 @@ "end": "48040", "length": "10", "line": "1321", - "parentIndex": "2402", + "parentIndex": "2403", "start": "48031" }, "typeDescription": { @@ -48453,7 +48509,7 @@ "end": "48040", "length": "25", "line": "1321", - "parentIndex": "2400", + "parentIndex": "2401", "start": "48016" }, "typeDescription": { @@ -48472,7 +48528,7 @@ } ], "hexValue": "494e56414c49442041444452455353", - "id": "2408", + "id": "2409", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -48481,7 +48537,7 @@ "end": "48059", "length": "17", "line": "1321", - "parentIndex": "2400", + "parentIndex": "2401", "start": "48043" }, "typeDescription": { @@ -48495,7 +48551,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2401", + "id": "2402", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -48504,7 +48560,7 @@ "end": "48014", "length": "7", "line": "1321", - "parentIndex": "2400", + "parentIndex": "2401", "start": "48008" }, "typeDescription": { @@ -48513,7 +48569,7 @@ } } }, - "id": "2400", + "id": "2401", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -48521,7 +48577,7 @@ "end": "48060", "length": "53", "line": "1321", - "parentIndex": "2371", + "parentIndex": "2372", "start": "48008" }, "typeDescription": { @@ -48534,11 +48590,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2410" + "2411" ], "declarations": [ { - "id": "2410", + "id": "2411", "mutability": "MUTABLE", "name": "lpair", "nameLocation": { @@ -48546,17 +48602,17 @@ "end": "48159", "length": "5", "line": "1324", - "parentIndex": "2410", + "parentIndex": "2411", "start": "48155" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2371", + "scope": "2372", "src": { "column": "8", "end": "48159", "length": "20", "line": "1324", - "parentIndex": "2409", + "parentIndex": "2410", "start": "48140" }, "storageLocation": "DEFAULT", @@ -48565,17 +48621,17 @@ "typeString": "contract IUniswapV2Pair" }, "typeName": { - "id": "2411", + "id": "2412", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2412", + "id": "2413", "name": "IUniswapV2Pair", "nameLocation": { "column": "8", "end": "48153", "length": "14", "line": "1324", - "parentIndex": "2411", + "parentIndex": "2412", "start": "48140" }, "nodeType": "IDENTIFIER_PATH", @@ -48585,7 +48641,7 @@ "end": "48153", "length": "14", "line": "1324", - "parentIndex": "2411", + "parentIndex": "2412", "start": "48140" } }, @@ -48595,7 +48651,7 @@ "end": "48153", "length": "14", "line": "1324", - "parentIndex": "2410", + "parentIndex": "2411", "start": "48140" }, "typeDescription": { @@ -48606,7 +48662,7 @@ "visibility": "INTERNAL" } ], - "id": "2409", + "id": "2410", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -48630,16 +48686,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2418", + "id": "2419", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2418", + "referencedDeclaration": "2419", "src": { "column": "54", "end": "48193", "length": "8", "line": "1324", - "parentIndex": "2415", + "parentIndex": "2416", "start": "48186" }, "typeDescription": { @@ -48658,7 +48714,7 @@ "typeString": "address" } ], - "id": "2416", + "id": "2417", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -48666,7 +48722,7 @@ "end": "48184", "length": "7", "line": "1324", - "parentIndex": "2415", + "parentIndex": "2416", "start": "48178" }, "typeDescription": { @@ -48674,7 +48730,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2417", + "id": "2418", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -48682,7 +48738,7 @@ "end": "48184", "length": "7", "line": "1324", - "parentIndex": "2416", + "parentIndex": "2417", "start": "48178" }, "stateMutability": "NONPAYABLE", @@ -48693,7 +48749,7 @@ } } }, - "id": "2415", + "id": "2416", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -48701,7 +48757,7 @@ "end": "48194", "length": "17", "line": "1324", - "parentIndex": "2413", + "parentIndex": "2414", "start": "48178" }, "typeDescription": { @@ -48714,7 +48770,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2414", + "id": "2415", "name": "IUniswapV2Pair", "nodeType": "IDENTIFIER", "src": { @@ -48722,7 +48778,7 @@ "end": "48176", "length": "14", "line": "1324", - "parentIndex": "2413", + "parentIndex": "2414", "start": "48163" }, "typeDescription": { @@ -48731,7 +48787,7 @@ } } }, - "id": "2413", + "id": "2414", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -48739,7 +48795,7 @@ "end": "48195", "length": "33", "line": "1324", - "parentIndex": "2409", + "parentIndex": "2410", "start": "48163" }, "typeDescription": { @@ -48754,7 +48810,7 @@ "end": "48196", "length": "57", "line": "1324", - "parentIndex": "2371", + "parentIndex": "2372", "start": "48140" } } @@ -48763,11 +48819,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2420" + "2421" ], "declarations": [ { - "id": "2420", + "id": "2421", "mutability": "MUTABLE", "name": "factoryPairAddress", "nameLocation": { @@ -48775,17 +48831,17 @@ "end": "48231", "length": "18", "line": "1325", - "parentIndex": "2420", + "parentIndex": "2421", "start": "48214" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2371", + "scope": "2372", "src": { "column": "8", "end": "48231", "length": "26", "line": "1325", - "parentIndex": "2419", + "parentIndex": "2420", "start": "48206" }, "storageLocation": "DEFAULT", @@ -48794,7 +48850,7 @@ "typeString": "address" }, "typeName": { - "id": "2421", + "id": "2422", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -48802,7 +48858,7 @@ "end": "48212", "length": "7", "line": "1325", - "parentIndex": "2420", + "parentIndex": "2421", "start": "48206" }, "stateMutability": "NONPAYABLE", @@ -48814,7 +48870,7 @@ "visibility": "INTERNAL" } ], - "id": "2419", + "id": "2420", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -48838,16 +48894,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2427", + "id": "2428", "name": "lpair", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2409", + "referencedDeclaration": "2410", "src": { "column": "12", "end": "48275", "length": "5", "line": "1326", - "parentIndex": "2426", + "parentIndex": "2427", "start": "48271" }, "typeDescription": { @@ -48856,13 +48912,13 @@ } } }, - "id": "2426", + "id": "2427", "memberLocation": { "column": "18", "end": "48282", "length": "6", "line": "1326", - "parentIndex": "2426", + "parentIndex": "2427", "start": "48277" }, "memberName": "token0", @@ -48872,7 +48928,7 @@ "end": "48282", "length": "12", "line": "1326", - "parentIndex": "2425", + "parentIndex": "2426", "start": "48271" }, "typeDescription": { @@ -48881,7 +48937,7 @@ } } }, - "id": "2425", + "id": "2426", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -48889,7 +48945,7 @@ "end": "48284", "length": "14", "line": "1326", - "parentIndex": "2422", + "parentIndex": "2423", "start": "48271" }, "typeDescription": { @@ -48907,16 +48963,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2430", + "id": "2431", "name": "lpair", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2409", + "referencedDeclaration": "2410", "src": { "column": "12", "end": "48303", "length": "5", "line": "1327", - "parentIndex": "2429", + "parentIndex": "2430", "start": "48299" }, "typeDescription": { @@ -48925,13 +48981,13 @@ } } }, - "id": "2429", + "id": "2430", "memberLocation": { "column": "18", "end": "48310", "length": "6", "line": "1327", - "parentIndex": "2429", + "parentIndex": "2430", "start": "48305" }, "memberName": "token1", @@ -48941,7 +48997,7 @@ "end": "48310", "length": "12", "line": "1327", - "parentIndex": "2428", + "parentIndex": "2429", "start": "48299" }, "typeDescription": { @@ -48950,7 +49006,7 @@ } } }, - "id": "2428", + "id": "2429", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -48958,7 +49014,7 @@ "end": "48312", "length": "14", "line": "1327", - "parentIndex": "2422", + "parentIndex": "2423", "start": "48299" }, "typeDescription": { @@ -48974,7 +49030,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2424", + "id": "2425", "name": "uniswapFactory", "nodeType": "IDENTIFIER", "referencedDeclaration": "2018", @@ -48983,7 +49039,7 @@ "end": "48248", "length": "14", "line": "1325", - "parentIndex": "2423", + "parentIndex": "2424", "start": "48235" }, "typeDescription": { @@ -48992,13 +49048,13 @@ } } }, - "id": "2423", + "id": "2424", "memberLocation": { "column": "52", "end": "48256", "length": "7", "line": "1325", - "parentIndex": "2423", + "parentIndex": "2424", "start": "48250" }, "memberName": "getPair", @@ -49008,7 +49064,7 @@ "end": "48256", "length": "22", "line": "1325", - "parentIndex": "2422", + "parentIndex": "2423", "start": "48235" }, "typeDescription": { @@ -49017,7 +49073,7 @@ } } }, - "id": "2422", + "id": "2423", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49025,7 +49081,7 @@ "end": "48322", "length": "88", "line": "1325", - "parentIndex": "2419", + "parentIndex": "2420", "start": "48235" }, "typeDescription": { @@ -49040,7 +49096,7 @@ "end": "48323", "length": "118", "line": "1325", - "parentIndex": "2371", + "parentIndex": "2372", "start": "48206" } } @@ -49062,20 +49118,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2433", + "id": "2434", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2434", + "id": "2435", "name": "factoryPairAddress", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2419", + "referencedDeclaration": "2420", "src": { "column": "16", "end": "48358", "length": "18", "line": "1329", - "parentIndex": "2433", + "parentIndex": "2434", "start": "48341" }, "typeDescription": { @@ -49099,16 +49155,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2438", + "id": "2439", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2438", + "referencedDeclaration": "2439", "src": { "column": "46", "end": "48378", "length": "8", "line": "1329", - "parentIndex": "2435", + "parentIndex": "2436", "start": "48371" }, "typeDescription": { @@ -49127,7 +49183,7 @@ "typeString": "address" } ], - "id": "2436", + "id": "2437", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -49135,7 +49191,7 @@ "end": "48369", "length": "7", "line": "1329", - "parentIndex": "2435", + "parentIndex": "2436", "start": "48363" }, "typeDescription": { @@ -49143,7 +49199,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2437", + "id": "2438", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -49151,7 +49207,7 @@ "end": "48369", "length": "7", "line": "1329", - "parentIndex": "2436", + "parentIndex": "2437", "start": "48363" }, "stateMutability": "NONPAYABLE", @@ -49162,7 +49218,7 @@ } } }, - "id": "2435", + "id": "2436", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49170,7 +49226,7 @@ "end": "48379", "length": "17", "line": "1329", - "parentIndex": "2433", + "parentIndex": "2434", "start": "48363" }, "typeDescription": { @@ -49184,7 +49240,7 @@ "end": "48379", "length": "39", "line": "1329", - "parentIndex": "2431", + "parentIndex": "2432", "start": "48341" }, "typeDescription": { @@ -49203,7 +49259,7 @@ } ], "hexValue": "4e4f5420554e495632", - "id": "2439", + "id": "2440", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -49212,7 +49268,7 @@ "end": "48392", "length": "11", "line": "1329", - "parentIndex": "2431", + "parentIndex": "2432", "start": "48382" }, "typeDescription": { @@ -49226,7 +49282,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2432", + "id": "2433", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -49235,7 +49291,7 @@ "end": "48339", "length": "7", "line": "1329", - "parentIndex": "2431", + "parentIndex": "2432", "start": "48333" }, "typeDescription": { @@ -49244,7 +49300,7 @@ } } }, - "id": "2431", + "id": "2432", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49252,7 +49308,7 @@ "end": "48393", "length": "61", "line": "1329", - "parentIndex": "2371", + "parentIndex": "2372", "start": "48333" }, "typeDescription": { @@ -49295,7 +49351,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2452", + "id": "2453", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -49303,7 +49359,7 @@ "end": "48471", "length": "3", "line": "1332", - "parentIndex": "2451", + "parentIndex": "2452", "start": "48469" }, "typeDescription": { @@ -49312,13 +49368,13 @@ } } }, - "id": "2451", + "id": "2452", "memberLocation": { "column": "24", "end": "48478", "length": "6", "line": "1332", - "parentIndex": "2451", + "parentIndex": "2452", "start": "48473" }, "memberName": "sender", @@ -49328,7 +49384,7 @@ "end": "48478", "length": "10", "line": "1332", - "parentIndex": "2448", + "parentIndex": "2449", "start": "48469" }, "typeDescription": { @@ -49347,7 +49403,7 @@ "typeString": "address" } ], - "id": "2449", + "id": "2450", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -49355,7 +49411,7 @@ "end": "48467", "length": "7", "line": "1332", - "parentIndex": "2448", + "parentIndex": "2449", "start": "48461" }, "typeDescription": { @@ -49363,7 +49419,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2450", + "id": "2451", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -49371,7 +49427,7 @@ "end": "48467", "length": "7", "line": "1332", - "parentIndex": "2449", + "parentIndex": "2450", "start": "48461" }, "stateMutability": "NONPAYABLE", @@ -49382,7 +49438,7 @@ } } }, - "id": "2448", + "id": "2449", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49390,7 +49446,7 @@ "end": "48479", "length": "19", "line": "1332", - "parentIndex": "2440", + "parentIndex": "2441", "start": "48461" }, "typeDescription": { @@ -49412,7 +49468,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2456", + "id": "2457", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -49420,7 +49476,7 @@ "end": "48505", "length": "4", "line": "1333", - "parentIndex": "2453", + "parentIndex": "2454", "start": "48502" }, "typeDescription": { @@ -49439,7 +49495,7 @@ "typeString": "address" } ], - "id": "2454", + "id": "2455", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -49447,7 +49503,7 @@ "end": "48500", "length": "7", "line": "1333", - "parentIndex": "2453", + "parentIndex": "2454", "start": "48494" }, "typeDescription": { @@ -49455,7 +49511,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2455", + "id": "2456", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -49463,7 +49519,7 @@ "end": "48500", "length": "7", "line": "1333", - "parentIndex": "2454", + "parentIndex": "2455", "start": "48494" }, "stateMutability": "NONPAYABLE", @@ -49474,7 +49530,7 @@ } } }, - "id": "2453", + "id": "2454", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49482,7 +49538,7 @@ "end": "48506", "length": "13", "line": "1333", - "parentIndex": "2440", + "parentIndex": "2441", "start": "48494" }, "typeDescription": { @@ -49504,16 +49560,16 @@ "typeString": "function(address)" } ], - "id": "2457", + "id": "2458", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2457", + "referencedDeclaration": "2458", "src": { "column": "12", "end": "48527", "length": "7", "line": "1334", - "parentIndex": "2440", + "parentIndex": "2441", "start": "48521" }, "typeDescription": { @@ -49549,16 +49605,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2447", + "id": "2448", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2447", + "referencedDeclaration": "2448", "src": { "column": "23", "end": "48427", "length": "8", "line": "1331", - "parentIndex": "2444", + "parentIndex": "2445", "start": "48420" }, "typeDescription": { @@ -49577,7 +49633,7 @@ "typeString": "address" } ], - "id": "2445", + "id": "2446", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -49585,7 +49641,7 @@ "end": "48418", "length": "7", "line": "1331", - "parentIndex": "2444", + "parentIndex": "2445", "start": "48412" }, "typeDescription": { @@ -49593,7 +49649,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2446", + "id": "2447", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -49601,7 +49657,7 @@ "end": "48418", "length": "7", "line": "1331", - "parentIndex": "2445", + "parentIndex": "2446", "start": "48412" }, "stateMutability": "NONPAYABLE", @@ -49612,7 +49668,7 @@ } } }, - "id": "2444", + "id": "2445", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49620,7 +49676,7 @@ "end": "48428", "length": "17", "line": "1331", - "parentIndex": "2442", + "parentIndex": "2443", "start": "48412" }, "typeDescription": { @@ -49633,7 +49689,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2443", + "id": "2444", "name": "IERC20", "nodeType": "IDENTIFIER", "src": { @@ -49641,7 +49697,7 @@ "end": "48410", "length": "6", "line": "1331", - "parentIndex": "2442", + "parentIndex": "2443", "start": "48405" }, "typeDescription": { @@ -49650,7 +49706,7 @@ } } }, - "id": "2442", + "id": "2443", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49658,7 +49714,7 @@ "end": "48429", "length": "25", "line": "1331", - "parentIndex": "2441", + "parentIndex": "2442", "start": "48405" }, "typeDescription": { @@ -49667,13 +49723,13 @@ } } }, - "id": "2441", + "id": "2442", "memberLocation": { "column": "34", "end": "48446", "length": "16", "line": "1331", - "parentIndex": "2441", + "parentIndex": "2442", "start": "48431" }, "memberName": "safeTransferFrom", @@ -49683,7 +49739,7 @@ "end": "48446", "length": "42", "line": "1331", - "parentIndex": "2440", + "parentIndex": "2441", "start": "48405" }, "typeDescription": { @@ -49692,7 +49748,7 @@ } } }, - "id": "2440", + "id": "2441", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49700,7 +49756,7 @@ "end": "48537", "length": "133", "line": "1331", - "parentIndex": "2371", + "parentIndex": "2372", "start": "48405" }, "typeDescription": { @@ -49713,7 +49769,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2477", + "id": "2478", "implemented": true, "nodeType": "BLOCK", "src": { @@ -49721,7 +49777,7 @@ "end": "48821", "length": "164", "line": "1340", - "parentIndex": "2352", + "parentIndex": "2353", "start": "48658" }, "statements": [ @@ -49742,7 +49798,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2480", + "id": "2481", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -49756,16 +49812,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2485", + "id": "2486", "name": "_referral", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2485", + "referencedDeclaration": "2486", "src": { "column": "46", "end": "48735", "length": "9", "line": "1342", - "parentIndex": "2481", + "parentIndex": "2482", "start": "48727" }, "typeDescription": { @@ -49784,31 +49840,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2484", + "id": "2485", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "16", "end": "48701", "length": "5", "line": "1342", - "parentIndex": "2483", + "parentIndex": "2484", "start": "48697" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2483", + "id": "2484", "memberLocation": { "column": "22", "end": "48715", "length": "13", "line": "1342", - "parentIndex": "2483", + "parentIndex": "2484", "start": "48703" }, "memberName": "referralToken", @@ -49818,22 +49874,22 @@ "end": "48715", "length": "19", "line": "1342", - "parentIndex": "2482", + "parentIndex": "2483", "start": "48697" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2482", + "id": "2483", "memberLocation": { "column": "36", "end": "48725", "length": "9", "line": "1342", - "parentIndex": "2482", + "parentIndex": "2483", "start": "48717" }, "memberName": "balanceOf", @@ -49843,16 +49899,16 @@ "end": "48725", "length": "29", "line": "1342", - "parentIndex": "2481", + "parentIndex": "2482", "start": "48697" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2481", + "id": "2482", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49860,7 +49916,7 @@ "end": "48736", "length": "40", "line": "1342", - "parentIndex": "2480", + "parentIndex": "2481", "start": "48697" }, "typeDescription": { @@ -49877,31 +49933,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2487", + "id": "2488", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "60", "end": "48745", "length": "5", "line": "1342", - "parentIndex": "2486", + "parentIndex": "2487", "start": "48741" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2486", + "id": "2487", "memberLocation": { "column": "66", "end": "48758", "length": "12", "line": "1342", - "parentIndex": "2486", + "parentIndex": "2487", "start": "48747" }, "memberName": "referralHold", @@ -49911,11 +49967,11 @@ "end": "48758", "length": "18", "line": "1342", - "parentIndex": "2480", + "parentIndex": "2481", "start": "48741" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -49925,7 +49981,7 @@ "end": "48758", "length": "62", "line": "1342", - "parentIndex": "2478", + "parentIndex": "2479", "start": "48697" }, "typeDescription": { @@ -49944,7 +50000,7 @@ } ], "hexValue": "494e41444551554154452042414c414e4345", - "id": "2488", + "id": "2489", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -49953,7 +50009,7 @@ "end": "48796", "length": "20", "line": "1343", - "parentIndex": "2478", + "parentIndex": "2479", "start": "48777" }, "typeDescription": { @@ -49967,7 +50023,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2479", + "id": "2480", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -49976,7 +50032,7 @@ "end": "48678", "length": "7", "line": "1341", - "parentIndex": "2478", + "parentIndex": "2479", "start": "48672" }, "typeDescription": { @@ -49985,7 +50041,7 @@ } } }, - "id": "2478", + "id": "2479", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -49993,7 +50049,7 @@ "end": "48810", "length": "139", "line": "1341", - "parentIndex": "2477", + "parentIndex": "2478", "start": "48672" }, "typeDescription": { @@ -50011,20 +50067,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2461", + "id": "2462", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2462", + "id": "2463", "name": "_referral", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2462", + "referencedDeclaration": "2463", "src": { "column": "12", "end": "48574", "length": "9", "line": "1338", - "parentIndex": "2461", + "parentIndex": "2462", "start": "48566" }, "typeDescription": { @@ -50049,7 +50105,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2466", + "id": "2467", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -50058,7 +50114,7 @@ "end": "48587", "length": "1", "line": "1338", - "parentIndex": "2463", + "parentIndex": "2464", "start": "48587" }, "typeDescription": { @@ -50078,7 +50134,7 @@ "typeString": "address" } ], - "id": "2464", + "id": "2465", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -50086,7 +50142,7 @@ "end": "48585", "length": "7", "line": "1338", - "parentIndex": "2463", + "parentIndex": "2464", "start": "48579" }, "typeDescription": { @@ -50094,7 +50150,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2465", + "id": "2466", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -50102,7 +50158,7 @@ "end": "48585", "length": "7", "line": "1338", - "parentIndex": "2464", + "parentIndex": "2465", "start": "48579" }, "stateMutability": "NONPAYABLE", @@ -50113,7 +50169,7 @@ } } }, - "id": "2463", + "id": "2464", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -50121,7 +50177,7 @@ "end": "48588", "length": "10", "line": "1338", - "parentIndex": "2461", + "parentIndex": "2462", "start": "48579" }, "typeDescription": { @@ -50135,7 +50191,7 @@ "end": "48588", "length": "23", "line": "1338", - "parentIndex": "2460", + "parentIndex": "2461", "start": "48566" }, "typeDescription": { @@ -50147,13 +50203,13 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2467", + "id": "2468", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } ], @@ -50164,31 +50220,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2472", + "id": "2473", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "20", "end": "48617", "length": "5", "line": "1339", - "parentIndex": "2471", + "parentIndex": "2472", "start": "48613" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2471", + "id": "2472", "memberLocation": { "column": "26", "end": "48631", "length": "13", "line": "1339", - "parentIndex": "2471", + "parentIndex": "2472", "start": "48619" }, "memberName": "referralToken", @@ -50198,11 +50254,11 @@ "end": "48631", "length": "19", "line": "1339", - "parentIndex": "2468", + "parentIndex": "2469", "start": "48613" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -50217,7 +50273,7 @@ "typeString": "address" } ], - "id": "2469", + "id": "2470", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -50225,7 +50281,7 @@ "end": "48611", "length": "7", "line": "1339", - "parentIndex": "2468", + "parentIndex": "2469", "start": "48605" }, "typeDescription": { @@ -50233,7 +50289,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2470", + "id": "2471", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -50241,7 +50297,7 @@ "end": "48611", "length": "7", "line": "1339", - "parentIndex": "2469", + "parentIndex": "2470", "start": "48605" }, "stateMutability": "NONPAYABLE", @@ -50252,7 +50308,7 @@ } } }, - "id": "2468", + "id": "2469", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -50260,11 +50316,11 @@ "end": "48632", "length": "28", "line": "1339", - "parentIndex": "2467", + "parentIndex": "2468", "start": "48605" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "typeIdentifier": "t_function_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "typeString": "function(struct KnoxLpLocker.FeeStruct)" } } @@ -50285,7 +50341,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2476", + "id": "2477", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -50294,7 +50350,7 @@ "end": "48645", "length": "1", "line": "1339", - "parentIndex": "2473", + "parentIndex": "2474", "start": "48645" }, "typeDescription": { @@ -50314,7 +50370,7 @@ "typeString": "address" } ], - "id": "2474", + "id": "2475", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -50322,7 +50378,7 @@ "end": "48643", "length": "7", "line": "1339", - "parentIndex": "2473", + "parentIndex": "2474", "start": "48637" }, "typeDescription": { @@ -50330,7 +50386,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2475", + "id": "2476", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -50338,7 +50394,7 @@ "end": "48643", "length": "7", "line": "1339", - "parentIndex": "2474", + "parentIndex": "2475", "start": "48637" }, "stateMutability": "NONPAYABLE", @@ -50349,7 +50405,7 @@ } } }, - "id": "2473", + "id": "2474", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -50357,7 +50413,7 @@ "end": "48646", "length": "10", "line": "1339", - "parentIndex": "2467", + "parentIndex": "2468", "start": "48637" }, "typeDescription": { @@ -50371,7 +50427,7 @@ "end": "48646", "length": "42", "line": "1339", - "parentIndex": "2460", + "parentIndex": "2461", "start": "48605" }, "typeDescription": { @@ -50381,14 +50437,14 @@ } } ], - "id": "2460", + "id": "2461", "nodeType": "AND_OPERATION", "src": { "column": "12", "end": "48646", "length": "81", "line": "1338", - "parentIndex": "2458", + "parentIndex": "2459", "start": "48566" }, "typeDescriptions": [ @@ -50403,13 +50459,13 @@ ] } }, - "id": "2458", + "id": "2459", "nodeType": "IF_STATEMENT", "src": { "end": "48821", "length": "273", "line": "1337", - "parentIndex": "2371", + "parentIndex": "2372", "start": "48549" } } @@ -50418,7 +50474,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2496", + "id": "2497", "implemented": true, "nodeType": "BLOCK", "src": { @@ -50426,7 +50482,7 @@ "end": "50746", "length": "1850", "line": "1348", - "parentIndex": "2352", + "parentIndex": "2353", "start": "48897" }, "statements": [ @@ -50434,7 +50490,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2499", + "id": "2500", "implemented": true, "nodeType": "BLOCK", "src": { @@ -50442,7 +50498,7 @@ "end": "49700", "length": "773", "line": "1349", - "parentIndex": "2352", + "parentIndex": "2353", "start": "48928" }, "statements": [ @@ -50450,11 +50506,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2501" + "2502" ], "declarations": [ { - "id": "2501", + "id": "2502", "mutability": "MUTABLE", "name": "ethFee", "nameLocation": { @@ -50462,17 +50518,17 @@ "end": "48996", "length": "6", "line": "1351", - "parentIndex": "2501", + "parentIndex": "2502", "start": "48991" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2499", + "scope": "2500", "src": { "column": "16", "end": "48996", "length": "14", "line": "1351", - "parentIndex": "2500", + "parentIndex": "2501", "start": "48983" }, "storageLocation": "DEFAULT", @@ -50481,7 +50537,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2502", + "id": "2503", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -50489,7 +50545,7 @@ "end": "48989", "length": "7", "line": "1351", - "parentIndex": "2501", + "parentIndex": "2502", "start": "48983" }, "typeDescription": { @@ -50500,38 +50556,38 @@ "visibility": "INTERNAL" } ], - "id": "2500", + "id": "2501", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2504", + "id": "2505", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "33", "end": "49004", "length": "5", "line": "1351", - "parentIndex": "2503", + "parentIndex": "2504", "start": "49000" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2503", + "id": "2504", "memberLocation": { "column": "39", "end": "49011", "length": "6", "line": "1351", - "parentIndex": "2503", + "parentIndex": "2504", "start": "49006" }, "memberName": "ethFee", @@ -50541,11 +50597,11 @@ "end": "49011", "length": "12", "line": "1351", - "parentIndex": "2500", + "parentIndex": "2501", "start": "49000" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -50556,7 +50612,7 @@ "end": "49012", "length": "30", "line": "1351", - "parentIndex": "2499", + "parentIndex": "2500", "start": "48983" } } @@ -50565,7 +50621,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2512", + "id": "2513", "implemented": true, "nodeType": "BLOCK", "src": { @@ -50573,7 +50629,7 @@ "end": "49207", "length": "149", "line": "1352", - "parentIndex": "2352", + "parentIndex": "2353", "start": "49059" }, "statements": [ @@ -50583,20 +50639,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2514", + "id": "2515", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2515", + "id": "2516", "name": "ethFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2060", + "referencedDeclaration": "2061", "src": { "column": "20", "end": "49086", "length": "6", "line": "1353", - "parentIndex": "2514", + "parentIndex": "2515", "start": "49081" }, "typeDescription": { @@ -50610,7 +50666,7 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2516", + "id": "2517", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -50618,20 +50674,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2518", + "id": "2519", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2519", + "id": "2520", "name": "ethFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2060", + "referencedDeclaration": "2061", "src": { "column": "25", "end": "49120", "length": "6", "line": "1354", - "parentIndex": "2518", + "parentIndex": "2519", "start": "49115" }, "typeDescription": { @@ -50649,12 +50705,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2521", + "id": "2522", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2522", + "id": "2523", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -50663,7 +50719,7 @@ "end": "49128", "length": "4", "line": "1354", - "parentIndex": "2521", + "parentIndex": "2522", "start": "49125" }, "typeDescription": { @@ -50681,31 +50737,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2524", + "id": "2525", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "42", "end": "49136", "length": "5", "line": "1354", - "parentIndex": "2523", + "parentIndex": "2524", "start": "49132" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2523", + "id": "2524", "memberLocation": { "column": "48", "end": "49153", "length": "16", "line": "1354", - "parentIndex": "2523", + "parentIndex": "2524", "start": "49138" }, "memberName": "referralDiscount", @@ -50715,11 +50771,11 @@ "end": "49153", "length": "22", "line": "1354", - "parentIndex": "2521", + "parentIndex": "2522", "start": "49132" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -50729,7 +50785,7 @@ "end": "49153", "length": "29", "line": "1354", - "parentIndex": "2520", + "parentIndex": "2521", "start": "49125" }, "typeDescription": { @@ -50739,14 +50795,14 @@ } } ], - "id": "2520", + "id": "2521", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "34", "end": "49154", "length": "31", "line": "1354", - "parentIndex": "2518", + "parentIndex": "2519", "start": "49124" }, "typeDescription": { @@ -50760,7 +50816,7 @@ "end": "49154", "length": "40", "line": "1354", - "parentIndex": "2517", + "parentIndex": "2518", "start": "49115" }, "typeDescription": { @@ -50770,14 +50826,14 @@ } } ], - "id": "2517", + "id": "2518", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "24", "end": "49155", "length": "42", "line": "1354", - "parentIndex": "2516", + "parentIndex": "2517", "start": "49114" }, "typeDescription": { @@ -50796,7 +50852,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2526", + "id": "2527", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -50805,7 +50861,7 @@ "end": "49187", "length": "4", "line": "1355", - "parentIndex": "2525", + "parentIndex": "2526", "start": "49184" }, "typeDescription": { @@ -50816,7 +50872,7 @@ } } ], - "id": "2525", + "id": "2526", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { @@ -50824,7 +50880,7 @@ "end": "49188", "length": "6", "line": "1355", - "parentIndex": "2516", + "parentIndex": "2517", "start": "49183" }, "typeDescription": { @@ -50838,7 +50894,7 @@ "end": "49188", "length": "75", "line": "1354", - "parentIndex": "2514", + "parentIndex": "2515", "start": "49114" }, "typeDescription": { @@ -50852,7 +50908,7 @@ "end": "49188", "length": "108", "line": "1353", - "parentIndex": "2513", + "parentIndex": "2514", "start": "49081" }, "typeDescription": { @@ -50861,14 +50917,14 @@ } } }, - "id": "2513", + "id": "2514", "nodeType": "ASSIGNMENT", "src": { "column": "20", "end": "49189", "length": "109", "line": "1353", - "parentIndex": "2512", + "parentIndex": "2513", "start": "49081" }, "typeDescription": { @@ -50882,20 +50938,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2506", + "id": "2507", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2507", + "id": "2508", "name": "_referral", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2507", + "referencedDeclaration": "2508", "src": { "column": "20", "end": "49042", "length": "9", "line": "1352", - "parentIndex": "2506", + "parentIndex": "2507", "start": "49034" }, "typeDescription": { @@ -50920,7 +50976,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2511", + "id": "2512", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -50929,7 +50985,7 @@ "end": "49055", "length": "1", "line": "1352", - "parentIndex": "2508", + "parentIndex": "2509", "start": "49055" }, "typeDescription": { @@ -50949,7 +51005,7 @@ "typeString": "address" } ], - "id": "2509", + "id": "2510", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -50957,7 +51013,7 @@ "end": "49053", "length": "7", "line": "1352", - "parentIndex": "2508", + "parentIndex": "2509", "start": "49047" }, "typeDescription": { @@ -50965,7 +51021,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2510", + "id": "2511", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -50973,7 +51029,7 @@ "end": "49053", "length": "7", "line": "1352", - "parentIndex": "2509", + "parentIndex": "2510", "start": "49047" }, "stateMutability": "NONPAYABLE", @@ -50984,7 +51040,7 @@ } } }, - "id": "2508", + "id": "2509", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -50992,7 +51048,7 @@ "end": "49056", "length": "10", "line": "1352", - "parentIndex": "2506", + "parentIndex": "2507", "start": "49047" }, "typeDescription": { @@ -51006,7 +51062,7 @@ "end": "49056", "length": "23", "line": "1352", - "parentIndex": "2505", + "parentIndex": "2506", "start": "49034" }, "typeDescription": { @@ -51015,13 +51071,13 @@ } } }, - "id": "2505", + "id": "2506", "nodeType": "IF_STATEMENT", "src": { "end": "49207", "length": "178", "line": "1352", - "parentIndex": "2499", + "parentIndex": "2500", "start": "49030" } } @@ -51043,14 +51099,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2529", + "id": "2530", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2531", + "id": "2532", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -51058,7 +51114,7 @@ "end": "49235", "length": "3", "line": "1357", - "parentIndex": "2530", + "parentIndex": "2531", "start": "49233" }, "typeDescription": { @@ -51067,13 +51123,13 @@ } } }, - "id": "2530", + "id": "2531", "memberLocation": { "column": "28", "end": "49241", "length": "5", "line": "1357", - "parentIndex": "2530", + "parentIndex": "2531", "start": "49237" }, "memberName": "value", @@ -51083,7 +51139,7 @@ "end": "49241", "length": "9", "line": "1357", - "parentIndex": "2529", + "parentIndex": "2530", "start": "49233" }, "typeDescription": { @@ -51097,16 +51153,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2532", + "id": "2533", "name": "ethFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2500", + "referencedDeclaration": "2501", "src": { "column": "37", "end": "49251", "length": "6", "line": "1357", - "parentIndex": "2529", + "parentIndex": "2530", "start": "49246" }, "typeDescription": { @@ -51120,7 +51176,7 @@ "end": "49251", "length": "19", "line": "1357", - "parentIndex": "2527", + "parentIndex": "2528", "start": "49233" }, "typeDescription": { @@ -51139,7 +51195,7 @@ } ], "hexValue": "464545204e4f54204d4554", - "id": "2533", + "id": "2534", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -51148,7 +51204,7 @@ "end": "49266", "length": "13", "line": "1357", - "parentIndex": "2527", + "parentIndex": "2528", "start": "49254" }, "typeDescription": { @@ -51162,7 +51218,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2528", + "id": "2529", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -51171,7 +51227,7 @@ "end": "49231", "length": "7", "line": "1357", - "parentIndex": "2527", + "parentIndex": "2528", "start": "49225" }, "typeDescription": { @@ -51180,7 +51236,7 @@ } } }, - "id": "2527", + "id": "2528", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -51188,7 +51244,7 @@ "end": "49267", "length": "43", "line": "1357", - "parentIndex": "2499", + "parentIndex": "2500", "start": "49225" }, "typeDescription": { @@ -51201,11 +51257,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2535" + "2536" ], "declarations": [ { - "id": "2535", + "id": "2536", "mutability": "MUTABLE", "name": "devFee", "nameLocation": { @@ -51213,17 +51269,17 @@ "end": "49299", "length": "6", "line": "1358", - "parentIndex": "2535", + "parentIndex": "2536", "start": "49294" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2499", + "scope": "2500", "src": { "column": "16", "end": "49299", "length": "14", "line": "1358", - "parentIndex": "2534", + "parentIndex": "2535", "start": "49286" }, "storageLocation": "DEFAULT", @@ -51232,7 +51288,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2536", + "id": "2537", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -51240,7 +51296,7 @@ "end": "49292", "length": "7", "line": "1358", - "parentIndex": "2535", + "parentIndex": "2536", "start": "49286" }, "typeDescription": { @@ -51251,20 +51307,20 @@ "visibility": "INTERNAL" } ], - "id": "2534", + "id": "2535", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2537", + "id": "2538", "name": "ethFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2500", + "referencedDeclaration": "2501", "src": { "column": "33", "end": "49308", "length": "6", "line": "1358", - "parentIndex": "2534", + "parentIndex": "2535", "start": "49303" }, "typeDescription": { @@ -51279,7 +51335,7 @@ "end": "49309", "length": "24", "line": "1358", - "parentIndex": "2499", + "parentIndex": "2500", "start": "49286" } } @@ -51288,7 +51344,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2550", + "id": "2551", "implemented": true, "nodeType": "BLOCK", "src": { @@ -51296,7 +51352,7 @@ "end": "49643", "length": "273", "line": "1359", - "parentIndex": "2352", + "parentIndex": "2353", "start": "49371" }, "statements": [ @@ -51304,11 +51360,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2552" + "2553" ], "declarations": [ { - "id": "2552", + "id": "2553", "mutability": "MUTABLE", "name": "referralFee", "nameLocation": { @@ -51316,17 +51372,17 @@ "end": "49447", "length": "11", "line": "1361", - "parentIndex": "2552", + "parentIndex": "2553", "start": "49437" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2550", + "scope": "2551", "src": { "column": "20", "end": "49447", "length": "19", "line": "1361", - "parentIndex": "2551", + "parentIndex": "2552", "start": "49429" }, "storageLocation": "DEFAULT", @@ -51335,7 +51391,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2553", + "id": "2554", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -51343,7 +51399,7 @@ "end": "49435", "length": "7", "line": "1361", - "parentIndex": "2552", + "parentIndex": "2553", "start": "49429" }, "typeDescription": { @@ -51354,11 +51410,11 @@ "visibility": "INTERNAL" } ], - "id": "2551", + "id": "2552", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2554", + "id": "2555", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -51366,20 +51422,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2556", + "id": "2557", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2557", + "id": "2558", "name": "devFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2534", + "referencedDeclaration": "2535", "src": { "column": "43", "end": "49457", "length": "6", "line": "1361", - "parentIndex": "2556", + "parentIndex": "2557", "start": "49452" }, "typeDescription": { @@ -51400,31 +51456,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2560", + "id": "2561", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "53", "end": "49466", "length": "5", "line": "1361", - "parentIndex": "2559", + "parentIndex": "2560", "start": "49462" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2559", + "id": "2560", "memberLocation": { "column": "59", "end": "49482", "length": "15", "line": "1361", - "parentIndex": "2559", + "parentIndex": "2560", "start": "49468" }, "memberName": "referralPercent", @@ -51434,28 +51490,28 @@ "end": "49482", "length": "21", "line": "1361", - "parentIndex": "2551", + "parentIndex": "2552", "start": "49462" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } } ], - "id": "2558", + "id": "2559", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "52", "end": "49483", "length": "23", "line": "1361", - "parentIndex": "2556", + "parentIndex": "2557", "start": "49461" }, "typeDescription": { - "typeIdentifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "typeIdentifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "typeString": "tuple(struct KnoxLpLocker.FeeStruct)" } } @@ -51465,7 +51521,7 @@ "end": "49483", "length": "32", "line": "1361", - "parentIndex": "2555", + "parentIndex": "2556", "start": "49452" }, "typeDescription": { @@ -51475,14 +51531,14 @@ } } ], - "id": "2555", + "id": "2556", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "42", "end": "49484", "length": "34", "line": "1361", - "parentIndex": "2554", + "parentIndex": "2555", "start": "49451" }, "typeDescription": { @@ -51501,7 +51557,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2562", + "id": "2563", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -51510,7 +51566,7 @@ "end": "49516", "length": "4", "line": "1362", - "parentIndex": "2561", + "parentIndex": "2562", "start": "49513" }, "typeDescription": { @@ -51521,7 +51577,7 @@ } } ], - "id": "2561", + "id": "2562", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { @@ -51529,7 +51585,7 @@ "end": "49517", "length": "6", "line": "1362", - "parentIndex": "2554", + "parentIndex": "2555", "start": "49512" }, "typeDescription": { @@ -51543,7 +51599,7 @@ "end": "49517", "length": "67", "line": "1361", - "parentIndex": "2551", + "parentIndex": "2552", "start": "49451" }, "typeDescription": { @@ -51558,7 +51614,7 @@ "end": "49518", "length": "90", "line": "1361", - "parentIndex": "2550", + "parentIndex": "2551", "start": "49429" } } @@ -51576,16 +51632,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2566", + "id": "2567", "name": "referralFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2551", + "referencedDeclaration": "2552", "src": { "column": "40", "end": "49570", "length": "11", "line": "1363", - "parentIndex": "2563", + "parentIndex": "2564", "start": "49560" }, "typeDescription": { @@ -51601,16 +51657,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2565", + "id": "2566", "name": "_referral", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2565", + "referencedDeclaration": "2566", "src": { "column": "20", "end": "49548", "length": "9", "line": "1363", - "parentIndex": "2564", + "parentIndex": "2565", "start": "49540" }, "typeDescription": { @@ -51619,13 +51675,13 @@ } } }, - "id": "2564", + "id": "2565", "memberLocation": { "column": "30", "end": "49558", "length": "9", "line": "1363", - "parentIndex": "2564", + "parentIndex": "2565", "start": "49550" }, "memberName": "sendValue", @@ -51635,7 +51691,7 @@ "end": "49558", "length": "19", "line": "1363", - "parentIndex": "2563", + "parentIndex": "2564", "start": "49540" }, "typeDescription": { @@ -51644,7 +51700,7 @@ } } }, - "id": "2563", + "id": "2564", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -51652,7 +51708,7 @@ "end": "49571", "length": "32", "line": "1363", - "parentIndex": "2550", + "parentIndex": "2551", "start": "49540" }, "typeDescription": { @@ -51667,20 +51723,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2568", + "id": "2569", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2569", + "id": "2570", "name": "devFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2534", + "referencedDeclaration": "2535", "src": { "column": "20", "end": "49599", "length": "6", "line": "1364", - "parentIndex": "2568", + "parentIndex": "2569", "start": "49594" }, "typeDescription": { @@ -51694,20 +51750,20 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2570", + "id": "2571", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2571", + "id": "2572", "name": "devFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2534", + "referencedDeclaration": "2535", "src": { "column": "29", "end": "49608", "length": "6", "line": "1364", - "parentIndex": "2570", + "parentIndex": "2571", "start": "49603" }, "typeDescription": { @@ -51725,16 +51781,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2573", + "id": "2574", "name": "referralFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2551", + "referencedDeclaration": "2552", "src": { "column": "39", "end": "49623", "length": "11", "line": "1364", - "parentIndex": "2572", + "parentIndex": "2573", "start": "49613" }, "typeDescription": { @@ -51744,14 +51800,14 @@ } } ], - "id": "2572", + "id": "2573", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "38", "end": "49624", "length": "13", "line": "1364", - "parentIndex": "2570", + "parentIndex": "2571", "start": "49612" }, "typeDescription": { @@ -51765,7 +51821,7 @@ "end": "49624", "length": "22", "line": "1364", - "parentIndex": "2568", + "parentIndex": "2569", "start": "49603" }, "typeDescription": { @@ -51779,7 +51835,7 @@ "end": "49624", "length": "31", "line": "1364", - "parentIndex": "2567", + "parentIndex": "2568", "start": "49594" }, "typeDescription": { @@ -51788,14 +51844,14 @@ } } }, - "id": "2567", + "id": "2568", "nodeType": "ASSIGNMENT", "src": { "column": "20", "end": "49625", "length": "32", "line": "1364", - "parentIndex": "2550", + "parentIndex": "2551", "start": "49594" }, "typeDescription": { @@ -51813,20 +51869,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2541", + "id": "2542", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2542", + "id": "2543", "name": "ethFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2500", + "referencedDeclaration": "2501", "src": { "column": "20", "end": "49336", "length": "6", "line": "1359", - "parentIndex": "2541", + "parentIndex": "2542", "start": "49331" }, "typeDescription": { @@ -51841,7 +51897,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2543", + "id": "2544", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -51850,7 +51906,7 @@ "end": "49341", "length": "1", "line": "1359", - "parentIndex": "2541", + "parentIndex": "2542", "start": "49341" }, "typeDescription": { @@ -51865,7 +51921,7 @@ "end": "49341", "length": "11", "line": "1359", - "parentIndex": "2540", + "parentIndex": "2541", "start": "49331" }, "typeDescription": { @@ -51877,20 +51933,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2544", + "id": "2545", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2545", + "id": "2546", "name": "_referral", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2545", + "referencedDeclaration": "2546", "src": { "column": "35", "end": "49354", "length": "9", "line": "1359", - "parentIndex": "2544", + "parentIndex": "2545", "start": "49346" }, "typeDescription": { @@ -51915,7 +51971,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2549", + "id": "2550", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -51924,7 +51980,7 @@ "end": "49367", "length": "1", "line": "1359", - "parentIndex": "2546", + "parentIndex": "2547", "start": "49367" }, "typeDescription": { @@ -51944,7 +52000,7 @@ "typeString": "address" } ], - "id": "2547", + "id": "2548", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -51952,7 +52008,7 @@ "end": "49365", "length": "7", "line": "1359", - "parentIndex": "2546", + "parentIndex": "2547", "start": "49359" }, "typeDescription": { @@ -51960,7 +52016,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "2548", + "id": "2549", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -51968,7 +52024,7 @@ "end": "49365", "length": "7", "line": "1359", - "parentIndex": "2547", + "parentIndex": "2548", "start": "49359" }, "stateMutability": "NONPAYABLE", @@ -51979,7 +52035,7 @@ } } }, - "id": "2546", + "id": "2547", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -51987,7 +52043,7 @@ "end": "49368", "length": "10", "line": "1359", - "parentIndex": "2544", + "parentIndex": "2545", "start": "49359" }, "typeDescription": { @@ -52001,7 +52057,7 @@ "end": "49368", "length": "23", "line": "1359", - "parentIndex": "2540", + "parentIndex": "2541", "start": "49346" }, "typeDescription": { @@ -52011,14 +52067,14 @@ } } ], - "id": "2540", + "id": "2541", "nodeType": "AND_OPERATION", "src": { "column": "20", "end": "49368", "length": "38", "line": "1359", - "parentIndex": "2538", + "parentIndex": "2539", "start": "49331" }, "typeDescriptions": [ @@ -52033,13 +52089,13 @@ ] } }, - "id": "2538", + "id": "2539", "nodeType": "IF_STATEMENT", "src": { "end": "49643", "length": "317", "line": "1359", - "parentIndex": "2499", + "parentIndex": "2500", "start": "49327" } } @@ -52057,16 +52113,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2577", + "id": "2578", "name": "devFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2534", + "referencedDeclaration": "2535", "src": { "column": "34", "end": "49684", "length": "6", "line": "1366", - "parentIndex": "2574", + "parentIndex": "2575", "start": "49679" }, "typeDescription": { @@ -52082,16 +52138,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2576", + "id": "2577", "name": "devaddr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2089", + "referencedDeclaration": "2090", "src": { "column": "16", "end": "49667", "length": "7", "line": "1366", - "parentIndex": "2575", + "parentIndex": "2576", "start": "49661" }, "typeDescription": { @@ -52100,13 +52156,13 @@ } } }, - "id": "2575", + "id": "2576", "memberLocation": { "column": "24", "end": "49677", "length": "9", "line": "1366", - "parentIndex": "2575", + "parentIndex": "2576", "start": "49669" }, "memberName": "sendValue", @@ -52116,7 +52172,7 @@ "end": "49677", "length": "17", "line": "1366", - "parentIndex": "2574", + "parentIndex": "2575", "start": "49661" }, "typeDescription": { @@ -52125,7 +52181,7 @@ } } }, - "id": "2574", + "id": "2575", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -52133,7 +52189,7 @@ "end": "49685", "length": "25", "line": "1366", - "parentIndex": "2499", + "parentIndex": "2500", "start": "49661" }, "typeDescription": { @@ -52147,16 +52203,16 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2498", + "id": "2499", "name": "_fee_in_eth", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2498", + "referencedDeclaration": "2499", "src": { "column": "16", "end": "48925", "length": "11", "line": "1349", - "parentIndex": "2497", + "parentIndex": "2498", "start": "48915" }, "typeDescription": { @@ -52165,13 +52221,13 @@ } } }, - "id": "2497", + "id": "2498", "nodeType": "IF_STATEMENT", "src": { "end": "50736", "length": "1826", "line": "1349", - "parentIndex": "2496", + "parentIndex": "2497", "start": "48911" } } @@ -52197,7 +52253,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2495", + "id": "2496", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -52205,7 +52261,7 @@ "end": "48886", "length": "3", "line": "1348", - "parentIndex": "2494", + "parentIndex": "2495", "start": "48884" }, "typeDescription": { @@ -52214,13 +52270,13 @@ } } }, - "id": "2494", + "id": "2495", "memberLocation": { "column": "39", "end": "48893", "length": "6", "line": "1348", - "parentIndex": "2494", + "parentIndex": "2495", "start": "48888" }, "memberName": "sender", @@ -52230,7 +52286,7 @@ "end": "48893", "length": "10", "line": "1348", - "parentIndex": "2491", + "parentIndex": "2492", "start": "48884" }, "typeDescription": { @@ -52246,16 +52302,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2493", + "id": "2494", "name": "feeWhitelist", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2085", + "referencedDeclaration": "2086", "src": { "column": "13", "end": "48873", "length": "12", "line": "1348", - "parentIndex": "2492", + "parentIndex": "2493", "start": "48862" }, "typeDescription": { @@ -52264,13 +52320,13 @@ } } }, - "id": "2492", + "id": "2493", "memberLocation": { "column": "26", "end": "48882", "length": "8", "line": "1348", - "parentIndex": "2492", + "parentIndex": "2493", "start": "48875" }, "memberName": "contains", @@ -52280,7 +52336,7 @@ "end": "48882", "length": "21", "line": "1348", - "parentIndex": "2491", + "parentIndex": "2492", "start": "48862" }, "typeDescription": { @@ -52289,7 +52345,7 @@ } } }, - "id": "2491", + "id": "2492", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -52297,7 +52353,7 @@ "end": "48894", "length": "33", "line": "1348", - "parentIndex": "2490", + "parentIndex": "2491", "start": "48862" }, "typeDescription": { @@ -52306,7 +52362,7 @@ } } }, - "id": "2490", + "id": "2491", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -52315,7 +52371,7 @@ "end": "48894", "length": "34", "line": "1348", - "parentIndex": "2352", + "parentIndex": "2353", "start": "48861" }, "typeDescription": { @@ -52324,13 +52380,13 @@ } } }, - "id": "2489", + "id": "2490", "nodeType": "IF_STATEMENT", "src": { "end": "50905", "length": "2049", "line": "1348", - "parentIndex": "2371", + "parentIndex": "2372", "start": "48857" } } @@ -52339,11 +52395,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2579" + "2580" ], "declarations": [ { - "id": "2579", + "id": "2580", "mutability": "MUTABLE", "name": "liquidityFee", "nameLocation": { @@ -52351,17 +52407,17 @@ "end": "50958", "length": "12", "line": "1398", - "parentIndex": "2579", + "parentIndex": "2580", "start": "50947" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2371", + "scope": "2372", "src": { "column": "8", "end": "50958", "length": "20", "line": "1398", - "parentIndex": "2578", + "parentIndex": "2579", "start": "50939" }, "storageLocation": "DEFAULT", @@ -52370,7 +52426,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2580", + "id": "2581", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -52378,7 +52434,7 @@ "end": "50945", "length": "7", "line": "1398", - "parentIndex": "2579", + "parentIndex": "2580", "start": "50939" }, "typeDescription": { @@ -52389,11 +52445,11 @@ "visibility": "INTERNAL" } ], - "id": "2578", + "id": "2579", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2581", + "id": "2582", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -52401,20 +52457,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2583", + "id": "2584", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2584", + "id": "2585", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2584", + "referencedDeclaration": "2585", "src": { "column": "32", "end": "50969", "length": "7", "line": "1398", - "parentIndex": "2583", + "parentIndex": "2584", "start": "50963" }, "typeDescription": { @@ -52435,31 +52491,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2587", + "id": "2588", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "43", "end": "50978", "length": "5", "line": "1398", - "parentIndex": "2586", + "parentIndex": "2587", "start": "50974" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2586", + "id": "2587", "memberLocation": { "column": "49", "end": "50991", "length": "12", "line": "1398", - "parentIndex": "2586", + "parentIndex": "2587", "start": "50980" }, "memberName": "liquidityFee", @@ -52469,28 +52525,28 @@ "end": "50991", "length": "18", "line": "1398", - "parentIndex": "2578", + "parentIndex": "2579", "start": "50974" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } } ], - "id": "2585", + "id": "2586", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "42", "end": "50992", "length": "20", "line": "1398", - "parentIndex": "2583", + "parentIndex": "2584", "start": "50973" }, "typeDescription": { - "typeIdentifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "typeIdentifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "typeString": "tuple(struct KnoxLpLocker.FeeStruct)" } } @@ -52500,7 +52556,7 @@ "end": "50992", "length": "30", "line": "1398", - "parentIndex": "2582", + "parentIndex": "2583", "start": "50963" }, "typeDescription": { @@ -52510,14 +52566,14 @@ } } ], - "id": "2582", + "id": "2583", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "31", "end": "50993", "length": "32", "line": "1398", - "parentIndex": "2581", + "parentIndex": "2582", "start": "50962" }, "typeDescription": { @@ -52536,7 +52592,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2589", + "id": "2590", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -52545,7 +52601,7 @@ "end": "51001", "length": "4", "line": "1398", - "parentIndex": "2588", + "parentIndex": "2589", "start": "50998" }, "typeDescription": { @@ -52556,7 +52612,7 @@ } } ], - "id": "2588", + "id": "2589", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { @@ -52564,7 +52620,7 @@ "end": "51002", "length": "6", "line": "1398", - "parentIndex": "2581", + "parentIndex": "2582", "start": "50997" }, "typeDescription": { @@ -52578,7 +52634,7 @@ "end": "51002", "length": "41", "line": "1398", - "parentIndex": "2578", + "parentIndex": "2579", "start": "50962" }, "typeDescription": { @@ -52593,7 +52649,7 @@ "end": "51003", "length": "65", "line": "1398", - "parentIndex": "2371", + "parentIndex": "2372", "start": "50939" } } @@ -52602,7 +52658,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2601", + "id": "2602", "implemented": true, "nodeType": "BLOCK", "src": { @@ -52610,7 +52666,7 @@ "end": "51271", "length": "203", "line": "1399", - "parentIndex": "2352", + "parentIndex": "2353", "start": "51069" }, "statements": [ @@ -52620,20 +52676,20 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2603", + "id": "2604", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2604", + "id": "2605", "name": "liquidityFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2069", + "referencedDeclaration": "2070", "src": { "column": "12", "end": "51162", "length": "12", "line": "1401", - "parentIndex": "2603", + "parentIndex": "2604", "start": "51151" }, "typeDescription": { @@ -52647,7 +52703,7 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2605", + "id": "2606", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -52655,20 +52711,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2607", + "id": "2608", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2608", + "id": "2609", "name": "liquidityFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2069", + "referencedDeclaration": "2070", "src": { "column": "17", "end": "51194", "length": "12", "line": "1402", - "parentIndex": "2607", + "parentIndex": "2608", "start": "51183" }, "typeDescription": { @@ -52686,12 +52742,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2610", + "id": "2611", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2611", + "id": "2612", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -52700,7 +52756,7 @@ "end": "51202", "length": "4", "line": "1402", - "parentIndex": "2610", + "parentIndex": "2611", "start": "51199" }, "typeDescription": { @@ -52718,31 +52774,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2613", + "id": "2614", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "40", "end": "51210", "length": "5", "line": "1402", - "parentIndex": "2612", + "parentIndex": "2613", "start": "51206" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2612", + "id": "2613", "memberLocation": { "column": "46", "end": "51233", "length": "22", "line": "1402", - "parentIndex": "2612", + "parentIndex": "2613", "start": "51212" }, "memberName": "secondaryTokenDiscount", @@ -52752,11 +52808,11 @@ "end": "51233", "length": "28", "line": "1402", - "parentIndex": "2610", + "parentIndex": "2611", "start": "51206" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -52766,7 +52822,7 @@ "end": "51233", "length": "35", "line": "1402", - "parentIndex": "2609", + "parentIndex": "2610", "start": "51199" }, "typeDescription": { @@ -52776,14 +52832,14 @@ } } ], - "id": "2609", + "id": "2610", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "32", "end": "51234", "length": "37", "line": "1402", - "parentIndex": "2607", + "parentIndex": "2608", "start": "51198" }, "typeDescription": { @@ -52797,7 +52853,7 @@ "end": "51234", "length": "52", "line": "1402", - "parentIndex": "2606", + "parentIndex": "2607", "start": "51183" }, "typeDescription": { @@ -52807,14 +52863,14 @@ } } ], - "id": "2606", + "id": "2607", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "16", "end": "51235", "length": "54", "line": "1402", - "parentIndex": "2605", + "parentIndex": "2606", "start": "51182" }, "typeDescription": { @@ -52833,7 +52889,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2615", + "id": "2616", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -52842,7 +52898,7 @@ "end": "51259", "length": "4", "line": "1403", - "parentIndex": "2614", + "parentIndex": "2615", "start": "51256" }, "typeDescription": { @@ -52853,7 +52909,7 @@ } } ], - "id": "2614", + "id": "2615", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { @@ -52861,7 +52917,7 @@ "end": "51260", "length": "6", "line": "1403", - "parentIndex": "2605", + "parentIndex": "2606", "start": "51255" }, "typeDescription": { @@ -52875,7 +52931,7 @@ "end": "51260", "length": "79", "line": "1402", - "parentIndex": "2603", + "parentIndex": "2604", "start": "51182" }, "typeDescription": { @@ -52889,7 +52945,7 @@ "end": "51260", "length": "110", "line": "1401", - "parentIndex": "2602", + "parentIndex": "2603", "start": "51151" }, "typeDescription": { @@ -52898,14 +52954,14 @@ } } }, - "id": "2602", + "id": "2603", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "51261", "length": "111", "line": "1401", - "parentIndex": "2601", + "parentIndex": "2602", "start": "51151" }, "typeDescription": { @@ -52926,16 +52982,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2594", + "id": "2595", "name": "_fee_in_eth", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2594", + "referencedDeclaration": "2595", "src": { "column": "13", "end": "51028", "length": "11", "line": "1399", - "parentIndex": "2593", + "parentIndex": "2594", "start": "51018" }, "typeDescription": { @@ -52944,7 +53000,7 @@ } } }, - "id": "2593", + "id": "2594", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -52953,7 +53009,7 @@ "end": "51028", "length": "12", "line": "1399", - "parentIndex": "2352", + "parentIndex": "2353", "start": "51017" }, "typeDescription": { @@ -52981,7 +53037,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2600", + "id": "2601", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -52989,7 +53045,7 @@ "end": "51058", "length": "3", "line": "1399", - "parentIndex": "2599", + "parentIndex": "2600", "start": "51056" }, "typeDescription": { @@ -52998,13 +53054,13 @@ } } }, - "id": "2599", + "id": "2600", "memberLocation": { "column": "55", "end": "51065", "length": "6", "line": "1399", - "parentIndex": "2599", + "parentIndex": "2600", "start": "51060" }, "memberName": "sender", @@ -53014,7 +53070,7 @@ "end": "51065", "length": "10", "line": "1399", - "parentIndex": "2596", + "parentIndex": "2597", "start": "51056" }, "typeDescription": { @@ -53030,16 +53086,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2598", + "id": "2599", "name": "feeWhitelist", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2085", + "referencedDeclaration": "2086", "src": { "column": "29", "end": "51045", "length": "12", "line": "1399", - "parentIndex": "2597", + "parentIndex": "2598", "start": "51034" }, "typeDescription": { @@ -53048,13 +53104,13 @@ } } }, - "id": "2597", + "id": "2598", "memberLocation": { "column": "42", "end": "51054", "length": "8", "line": "1399", - "parentIndex": "2597", + "parentIndex": "2598", "start": "51047" }, "memberName": "contains", @@ -53064,7 +53120,7 @@ "end": "51054", "length": "21", "line": "1399", - "parentIndex": "2596", + "parentIndex": "2597", "start": "51034" }, "typeDescription": { @@ -53073,7 +53129,7 @@ } } }, - "id": "2596", + "id": "2597", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -53081,7 +53137,7 @@ "end": "51066", "length": "33", "line": "1399", - "parentIndex": "2595", + "parentIndex": "2596", "start": "51034" }, "typeDescription": { @@ -53090,7 +53146,7 @@ } } }, - "id": "2595", + "id": "2596", "kind": "KIND_UNARY_PREFIX", "nodeType": "UNARY_OPERATION", "operator": "NOT", @@ -53099,7 +53155,7 @@ "end": "51066", "length": "34", "line": "1399", - "parentIndex": "2352", + "parentIndex": "2353", "start": "51033" }, "typeDescription": { @@ -53109,14 +53165,14 @@ } } ], - "id": "2592", + "id": "2593", "nodeType": "AND_OPERATION", "src": { "column": "12", "end": "51066", "length": "50", "line": "1399", - "parentIndex": "2590", + "parentIndex": "2591", "start": "51017" }, "typeDescriptions": [ @@ -53131,13 +53187,13 @@ ] } }, - "id": "2590", + "id": "2591", "nodeType": "IF_STATEMENT", "src": { "end": "51271", "length": "259", "line": "1399", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51013" } } @@ -53159,7 +53215,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2621", + "id": "2622", "name": "devaddr", "nodeType": "IDENTIFIER", "src": { @@ -53167,7 +53223,7 @@ "end": "51317", "length": "7", "line": "1405", - "parentIndex": "2616", + "parentIndex": "2617", "start": "51311" }, "typeDescription": { @@ -53185,16 +53241,16 @@ "typeString": "function()" } ], - "id": "2622", + "id": "2623", "name": "liquidityFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2578", + "referencedDeclaration": "2579", "src": { "column": "47", "end": "51331", "length": "12", "line": "1405", - "parentIndex": "2616", + "parentIndex": "2617", "start": "51320" }, "typeDescription": { @@ -53220,16 +53276,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2620", + "id": "2621", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2620", + "referencedDeclaration": "2621", "src": { "column": "15", "end": "51295", "length": "8", "line": "1405", - "parentIndex": "2618", + "parentIndex": "2619", "start": "51288" }, "typeDescription": { @@ -53242,7 +53298,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2619", + "id": "2620", "name": "IERC20", "nodeType": "IDENTIFIER", "src": { @@ -53250,7 +53306,7 @@ "end": "51286", "length": "6", "line": "1405", - "parentIndex": "2618", + "parentIndex": "2619", "start": "51281" }, "typeDescription": { @@ -53259,7 +53315,7 @@ } } }, - "id": "2618", + "id": "2619", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -53267,7 +53323,7 @@ "end": "51296", "length": "16", "line": "1405", - "parentIndex": "2617", + "parentIndex": "2618", "start": "51281" }, "typeDescription": { @@ -53276,13 +53332,13 @@ } } }, - "id": "2617", + "id": "2618", "memberLocation": { "column": "25", "end": "51309", "length": "12", "line": "1405", - "parentIndex": "2617", + "parentIndex": "2618", "start": "51298" }, "memberName": "safeTransfer", @@ -53292,7 +53348,7 @@ "end": "51309", "length": "29", "line": "1405", - "parentIndex": "2616", + "parentIndex": "2617", "start": "51281" }, "typeDescription": { @@ -53301,7 +53357,7 @@ } } }, - "id": "2616", + "id": "2617", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -53309,7 +53365,7 @@ "end": "51332", "length": "52", "line": "1405", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51281" }, "typeDescription": { @@ -53322,11 +53378,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2624" + "2625" ], "declarations": [ { - "id": "2624", + "id": "2625", "mutability": "MUTABLE", "name": "amountLocked", "nameLocation": { @@ -53334,17 +53390,17 @@ "end": "51362", "length": "12", "line": "1406", - "parentIndex": "2624", + "parentIndex": "2625", "start": "51351" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2371", + "scope": "2372", "src": { "column": "8", "end": "51362", "length": "20", "line": "1406", - "parentIndex": "2623", + "parentIndex": "2624", "start": "51343" }, "storageLocation": "DEFAULT", @@ -53353,7 +53409,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2625", + "id": "2626", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -53361,7 +53417,7 @@ "end": "51349", "length": "7", "line": "1406", - "parentIndex": "2624", + "parentIndex": "2625", "start": "51343" }, "typeDescription": { @@ -53372,24 +53428,24 @@ "visibility": "INTERNAL" } ], - "id": "2623", + "id": "2624", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2626", + "id": "2627", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2627", + "id": "2628", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2627", + "referencedDeclaration": "2628", "src": { "column": "31", "end": "51372", "length": "7", "line": "1406", - "parentIndex": "2626", + "parentIndex": "2627", "start": "51366" }, "typeDescription": { @@ -53407,16 +53463,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2629", + "id": "2630", "name": "liquidityFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2578", + "referencedDeclaration": "2579", "src": { "column": "42", "end": "51388", "length": "12", "line": "1406", - "parentIndex": "2628", + "parentIndex": "2629", "start": "51377" }, "typeDescription": { @@ -53426,14 +53482,14 @@ } } ], - "id": "2628", + "id": "2629", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "41", "end": "51389", "length": "14", "line": "1406", - "parentIndex": "2626", + "parentIndex": "2627", "start": "51376" }, "typeDescription": { @@ -53447,7 +53503,7 @@ "end": "51389", "length": "24", "line": "1406", - "parentIndex": "2623", + "parentIndex": "2624", "start": "51366" }, "typeDescription": { @@ -53462,7 +53518,7 @@ "end": "51390", "length": "48", "line": "1406", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51343" } } @@ -53471,11 +53527,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2631" + "2632" ], "declarations": [ { - "id": "2631", + "id": "2632", "mutability": "MUTABLE", "name": "token_lock", "nameLocation": { @@ -53483,17 +53539,17 @@ "end": "51427", "length": "10", "line": "1408", - "parentIndex": "2631", + "parentIndex": "2632", "start": "51418" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2371", + "scope": "2372", "src": { "column": "8", "end": "51427", "length": "27", "line": "1408", - "parentIndex": "2630", + "parentIndex": "2631", "start": "51401" }, "storageLocation": "MEMORY", @@ -53502,17 +53558,17 @@ "typeString": "struct KnoxLpLocker.TokenLock" }, "typeName": { - "id": "2632", + "id": "2633", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2633", + "id": "2634", "name": "TokenLock", "nameLocation": { "column": "8", "end": "51409", "length": "9", "line": "1408", - "parentIndex": "2632", + "parentIndex": "2633", "start": "51401" }, "nodeType": "IDENTIFIER_PATH", @@ -53522,7 +53578,7 @@ "end": "51409", "length": "9", "line": "1408", - "parentIndex": "2632", + "parentIndex": "2633", "start": "51401" } }, @@ -53532,7 +53588,7 @@ "end": "51409", "length": "9", "line": "1408", - "parentIndex": "2631", + "parentIndex": "2632", "start": "51401" }, "typeDescription": { @@ -53543,14 +53599,14 @@ "visibility": "INTERNAL" } ], - "id": "2630", + "id": "2631", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "51428", "length": "28", "line": "1408", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51401" } } @@ -53561,23 +53617,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2635", + "id": "2636", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2637", + "id": "2638", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "8", "end": "51447", "length": "10", "line": "1409", - "parentIndex": "2636", + "parentIndex": "2637", "start": "51438" }, "typeDescription": { @@ -53586,13 +53642,13 @@ } } }, - "id": "2636", + "id": "2637", "memberLocation": { "column": "19", "end": "51456", "length": "8", "line": "1409", - "parentIndex": "2636", + "parentIndex": "2637", "start": "51449" }, "memberName": "lockDate", @@ -53602,7 +53658,7 @@ "end": "51456", "length": "19", "line": "1409", - "parentIndex": "2635", + "parentIndex": "2636", "start": "51438" }, "typeDescription": { @@ -53619,7 +53675,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2639", + "id": "2640", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -53627,7 +53683,7 @@ "end": "51464", "length": "5", "line": "1409", - "parentIndex": "2638", + "parentIndex": "2639", "start": "51460" }, "typeDescription": { @@ -53636,13 +53692,13 @@ } } }, - "id": "2638", + "id": "2639", "memberLocation": { "column": "36", "end": "51474", "length": "9", "line": "1409", - "parentIndex": "2638", + "parentIndex": "2639", "start": "51466" }, "memberName": "timestamp", @@ -53652,7 +53708,7 @@ "end": "51474", "length": "15", "line": "1409", - "parentIndex": "2635", + "parentIndex": "2636", "start": "51460" }, "typeDescription": { @@ -53666,7 +53722,7 @@ "end": "51474", "length": "37", "line": "1409", - "parentIndex": "2634", + "parentIndex": "2635", "start": "51438" }, "typeDescription": { @@ -53675,14 +53731,14 @@ } } }, - "id": "2634", + "id": "2635", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "51475", "length": "38", "line": "1409", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51438" }, "typeDescription": { @@ -53697,23 +53753,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2641", + "id": "2642", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2643", + "id": "2644", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "8", "end": "51494", "length": "10", "line": "1410", - "parentIndex": "2642", + "parentIndex": "2643", "start": "51485" }, "typeDescription": { @@ -53722,13 +53778,13 @@ } } }, - "id": "2642", + "id": "2643", "memberLocation": { "column": "19", "end": "51501", "length": "6", "line": "1410", - "parentIndex": "2642", + "parentIndex": "2643", "start": "51496" }, "memberName": "amount", @@ -53738,7 +53794,7 @@ "end": "51501", "length": "17", "line": "1410", - "parentIndex": "2641", + "parentIndex": "2642", "start": "51485" }, "typeDescription": { @@ -53752,16 +53808,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2644", + "id": "2645", "name": "amountLocked", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2623", + "referencedDeclaration": "2624", "src": { "column": "28", "end": "51516", "length": "12", "line": "1410", - "parentIndex": "2641", + "parentIndex": "2642", "start": "51505" }, "typeDescription": { @@ -53775,7 +53831,7 @@ "end": "51516", "length": "32", "line": "1410", - "parentIndex": "2640", + "parentIndex": "2641", "start": "51485" }, "typeDescription": { @@ -53784,14 +53840,14 @@ } } }, - "id": "2640", + "id": "2641", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "51517", "length": "33", "line": "1410", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51485" }, "typeDescription": { @@ -53806,23 +53862,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2646", + "id": "2647", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2648", + "id": "2649", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "8", "end": "51536", "length": "10", "line": "1411", - "parentIndex": "2647", + "parentIndex": "2648", "start": "51527" }, "typeDescription": { @@ -53831,13 +53887,13 @@ } } }, - "id": "2647", + "id": "2648", "memberLocation": { "column": "19", "end": "51550", "length": "13", "line": "1411", - "parentIndex": "2647", + "parentIndex": "2648", "start": "51538" }, "memberName": "initialAmount", @@ -53847,7 +53903,7 @@ "end": "51550", "length": "24", "line": "1411", - "parentIndex": "2646", + "parentIndex": "2647", "start": "51527" }, "typeDescription": { @@ -53861,16 +53917,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2649", + "id": "2650", "name": "amountLocked", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2623", + "referencedDeclaration": "2624", "src": { "column": "35", "end": "51565", "length": "12", "line": "1411", - "parentIndex": "2646", + "parentIndex": "2647", "start": "51554" }, "typeDescription": { @@ -53884,7 +53940,7 @@ "end": "51565", "length": "39", "line": "1411", - "parentIndex": "2645", + "parentIndex": "2646", "start": "51527" }, "typeDescription": { @@ -53893,14 +53949,14 @@ } } }, - "id": "2645", + "id": "2646", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "51566", "length": "40", "line": "1411", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51527" }, "typeDescription": { @@ -53915,23 +53971,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2651", + "id": "2652", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2653", + "id": "2654", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "8", "end": "51585", "length": "10", "line": "1412", - "parentIndex": "2652", + "parentIndex": "2653", "start": "51576" }, "typeDescription": { @@ -53940,13 +53996,13 @@ } } }, - "id": "2652", + "id": "2653", "memberLocation": { "column": "19", "end": "51596", "length": "10", "line": "1412", - "parentIndex": "2652", + "parentIndex": "2653", "start": "51587" }, "memberName": "unlockDate", @@ -53956,7 +54012,7 @@ "end": "51596", "length": "21", "line": "1412", - "parentIndex": "2651", + "parentIndex": "2652", "start": "51576" }, "typeDescription": { @@ -53970,16 +54026,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2654", + "id": "2655", "name": "_unlock_date", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2654", + "referencedDeclaration": "2655", "src": { "column": "32", "end": "51611", "length": "12", "line": "1412", - "parentIndex": "2651", + "parentIndex": "2652", "start": "51600" }, "typeDescription": { @@ -53993,7 +54049,7 @@ "end": "51611", "length": "36", "line": "1412", - "parentIndex": "2650", + "parentIndex": "2651", "start": "51576" }, "typeDescription": { @@ -54002,14 +54058,14 @@ } } }, - "id": "2650", + "id": "2651", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "51612", "length": "37", "line": "1412", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51576" }, "typeDescription": { @@ -54024,23 +54080,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2656", + "id": "2657", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2658", + "id": "2659", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "8", "end": "51631", "length": "10", "line": "1413", - "parentIndex": "2657", + "parentIndex": "2658", "start": "51622" }, "typeDescription": { @@ -54049,13 +54105,13 @@ } } }, - "id": "2657", + "id": "2658", "memberLocation": { "column": "19", "end": "51638", "length": "6", "line": "1413", - "parentIndex": "2657", + "parentIndex": "2658", "start": "51633" }, "memberName": "lockID", @@ -54065,7 +54121,7 @@ "end": "51638", "length": "17", "line": "1413", - "parentIndex": "2656", + "parentIndex": "2657", "start": "51622" }, "typeDescription": { @@ -54085,16 +54141,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2662", + "id": "2663", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2662", + "referencedDeclaration": "2663", "src": { "column": "39", "end": "51660", "length": "8", "line": "1413", - "parentIndex": "2660", + "parentIndex": "2661", "start": "51653" }, "typeDescription": { @@ -54103,20 +54159,20 @@ } } }, - "id": "2660", + "id": "2661", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2661", + "id": "2662", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "28", "end": "51651", "length": "10", "line": "1413", - "parentIndex": "2660", + "parentIndex": "2661", "start": "51642" }, "typeDescription": { @@ -54131,7 +54187,7 @@ "end": "51661", "length": "20", "line": "1413", - "parentIndex": "2659", + "parentIndex": "2660", "start": "51642" }, "typeDescription": { @@ -54150,13 +54206,13 @@ ] } }, - "id": "2659", + "id": "2660", "memberLocation": { "column": "49", "end": "51668", "length": "6", "line": "1413", - "parentIndex": "2659", + "parentIndex": "2660", "start": "51663" }, "memberName": "length", @@ -54166,7 +54222,7 @@ "end": "51668", "length": "27", "line": "1413", - "parentIndex": "2656", + "parentIndex": "2657", "start": "51642" }, "typeDescription": { @@ -54180,7 +54236,7 @@ "end": "51668", "length": "47", "line": "1413", - "parentIndex": "2655", + "parentIndex": "2656", "start": "51622" }, "typeDescription": { @@ -54189,14 +54245,14 @@ } } }, - "id": "2655", + "id": "2656", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "51669", "length": "48", "line": "1413", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51622" }, "typeDescription": { @@ -54211,23 +54267,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2664", + "id": "2665", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2666", + "id": "2667", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "8", "end": "51688", "length": "10", "line": "1414", - "parentIndex": "2665", + "parentIndex": "2666", "start": "51679" }, "typeDescription": { @@ -54236,13 +54292,13 @@ } } }, - "id": "2665", + "id": "2666", "memberLocation": { "column": "19", "end": "51694", "length": "5", "line": "1414", - "parentIndex": "2665", + "parentIndex": "2666", "start": "51690" }, "memberName": "owner", @@ -54252,7 +54308,7 @@ "end": "51694", "length": "16", "line": "1414", - "parentIndex": "2664", + "parentIndex": "2665", "start": "51679" }, "typeDescription": { @@ -54266,16 +54322,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2667", + "id": "2668", "name": "_withdrawer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2667", + "referencedDeclaration": "2668", "src": { "column": "27", "end": "51708", "length": "11", "line": "1414", - "parentIndex": "2664", + "parentIndex": "2665", "start": "51698" }, "typeDescription": { @@ -54289,7 +54345,7 @@ "end": "51708", "length": "30", "line": "1414", - "parentIndex": "2663", + "parentIndex": "2664", "start": "51679" }, "typeDescription": { @@ -54298,14 +54354,14 @@ } } }, - "id": "2663", + "id": "2664", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "51709", "length": "31", "line": "1414", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51679" }, "typeDescription": { @@ -54327,16 +54383,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2673", + "id": "2674", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "34", "end": "51800", "length": "10", "line": "1417", - "parentIndex": "2668", + "parentIndex": "2669", "start": "51791" }, "typeDescription": { @@ -54355,16 +54411,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2672", + "id": "2673", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2672", + "referencedDeclaration": "2673", "src": { "column": "19", "end": "51783", "length": "8", "line": "1417", - "parentIndex": "2670", + "parentIndex": "2671", "start": "51776" }, "typeDescription": { @@ -54373,20 +54429,20 @@ } } }, - "id": "2670", + "id": "2671", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2671", + "id": "2672", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "8", "end": "51774", "length": "10", "line": "1417", - "parentIndex": "2670", + "parentIndex": "2671", "start": "51765" }, "typeDescription": { @@ -54401,7 +54457,7 @@ "end": "51784", "length": "20", "line": "1417", - "parentIndex": "2669", + "parentIndex": "2670", "start": "51765" }, "typeDescription": { @@ -54420,13 +54476,13 @@ ] } }, - "id": "2669", + "id": "2670", "memberLocation": { "column": "29", "end": "51789", "length": "4", "line": "1417", - "parentIndex": "2669", + "parentIndex": "2670", "start": "51786" }, "memberName": "push", @@ -54436,7 +54492,7 @@ "end": "51789", "length": "25", "line": "1417", - "parentIndex": "2668", + "parentIndex": "2669", "start": "51765" }, "typeDescription": { @@ -54445,7 +54501,7 @@ } } }, - "id": "2668", + "id": "2669", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -54453,7 +54509,7 @@ "end": "51801", "length": "37", "line": "1417", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51765" }, "typeDescription": { @@ -54475,16 +54531,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2677", + "id": "2678", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2677", + "referencedDeclaration": "2678", "src": { "column": "25", "end": "51836", "length": "8", "line": "1418", - "parentIndex": "2674", + "parentIndex": "2675", "start": "51829" }, "typeDescription": { @@ -54500,16 +54556,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2676", + "id": "2677", "name": "lockedTokens", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2050", + "referencedDeclaration": "2051", "src": { "column": "8", "end": "51823", "length": "12", "line": "1418", - "parentIndex": "2675", + "parentIndex": "2676", "start": "51812" }, "typeDescription": { @@ -54518,13 +54574,13 @@ } } }, - "id": "2675", + "id": "2676", "memberLocation": { "column": "21", "end": "51827", "length": "3", "line": "1418", - "parentIndex": "2675", + "parentIndex": "2676", "start": "51825" }, "memberName": "add", @@ -54534,7 +54590,7 @@ "end": "51827", "length": "16", "line": "1418", - "parentIndex": "2674", + "parentIndex": "2675", "start": "51812" }, "typeDescription": { @@ -54543,7 +54599,7 @@ } } }, - "id": "2674", + "id": "2675", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -54551,7 +54607,7 @@ "end": "51837", "length": "26", "line": "1418", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51812" }, "typeDescription": { @@ -54564,11 +54620,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2679" + "2680" ], "declarations": [ { - "id": "2679", + "id": "2680", "mutability": "MUTABLE", "name": "user", "nameLocation": { @@ -54576,17 +54632,17 @@ "end": "51909", "length": "4", "line": "1421", - "parentIndex": "2679", + "parentIndex": "2680", "start": "51906" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2371", + "scope": "2372", "src": { "column": "8", "end": "51909", "length": "21", "line": "1421", - "parentIndex": "2678", + "parentIndex": "2679", "start": "51889" }, "storageLocation": "STORAGE", @@ -54595,17 +54651,17 @@ "typeString": "struct KnoxLpLocker.UserInfo" }, "typeName": { - "id": "2680", + "id": "2681", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2681", + "id": "2682", "name": "UserInfo", "nameLocation": { "column": "8", "end": "51896", "length": "8", "line": "1421", - "parentIndex": "2680", + "parentIndex": "2681", "start": "51889" }, "nodeType": "IDENTIFIER_PATH", @@ -54615,7 +54671,7 @@ "end": "51896", "length": "8", "line": "1421", - "parentIndex": "2680", + "parentIndex": "2681", "start": "51889" } }, @@ -54625,7 +54681,7 @@ "end": "51896", "length": "8", "line": "1421", - "parentIndex": "2679", + "parentIndex": "2680", "start": "51889" }, "typeDescription": { @@ -54636,23 +54692,23 @@ "visibility": "INTERNAL" } ], - "id": "2678", + "id": "2679", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2684", + "id": "2685", "name": "_withdrawer", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2684", + "referencedDeclaration": "2685", "src": { "column": "38", "end": "51929", "length": "11", "line": "1421", - "parentIndex": "2682", + "parentIndex": "2683", "start": "51919" }, "typeDescription": { @@ -54661,11 +54717,11 @@ } } }, - "id": "2682", + "id": "2683", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2683", + "id": "2684", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -54674,11 +54730,11 @@ "end": "51917", "length": "5", "line": "1421", - "parentIndex": "2682", + "parentIndex": "2683", "start": "51913" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -54689,16 +54745,16 @@ "end": "51930", "length": "18", "line": "1421", - "parentIndex": "2678", + "parentIndex": "2679", "start": "51913" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address_payable]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address_payable]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -54714,7 +54770,7 @@ "end": "51931", "length": "43", "line": "1421", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51889" } } @@ -54732,16 +54788,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2689", + "id": "2690", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2689", + "referencedDeclaration": "2690", "src": { "column": "30", "end": "51970", "length": "8", "line": "1422", - "parentIndex": "2685", + "parentIndex": "2686", "start": "51963" }, "typeDescription": { @@ -54760,16 +54816,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2688", + "id": "2689", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2678", + "referencedDeclaration": "2679", "src": { "column": "8", "end": "51944", "length": "4", "line": "1422", - "parentIndex": "2687", + "parentIndex": "2688", "start": "51941" }, "typeDescription": { @@ -54778,13 +54834,13 @@ } } }, - "id": "2687", + "id": "2688", "memberLocation": { "column": "13", "end": "51957", "length": "12", "line": "1422", - "parentIndex": "2687", + "parentIndex": "2688", "start": "51946" }, "memberName": "lockedTokens", @@ -54794,7 +54850,7 @@ "end": "51957", "length": "17", "line": "1422", - "parentIndex": "2686", + "parentIndex": "2687", "start": "51941" }, "typeDescription": { @@ -54803,13 +54859,13 @@ } } }, - "id": "2686", + "id": "2687", "memberLocation": { "column": "26", "end": "51961", "length": "3", "line": "1422", - "parentIndex": "2686", + "parentIndex": "2687", "start": "51959" }, "memberName": "add", @@ -54819,7 +54875,7 @@ "end": "51961", "length": "21", "line": "1422", - "parentIndex": "2685", + "parentIndex": "2686", "start": "51941" }, "typeDescription": { @@ -54828,7 +54884,7 @@ } } }, - "id": "2685", + "id": "2686", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -54836,7 +54892,7 @@ "end": "51971", "length": "31", "line": "1422", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51941" }, "typeDescription": { @@ -54849,11 +54905,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2691" + "2692" ], "declarations": [ { - "id": "2691", + "id": "2692", "mutability": "MUTABLE", "name": "user_locks", "nameLocation": { @@ -54861,17 +54917,17 @@ "end": "52009", "length": "10", "line": "1423", - "parentIndex": "2691", + "parentIndex": "2692", "start": "52000" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2371", + "scope": "2372", "src": { "column": "8", "end": "52009", "length": "28", "line": "1423", - "parentIndex": "2690", + "parentIndex": "2691", "start": "51982" }, "storageLocation": "STORAGE", @@ -54880,7 +54936,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2692", + "id": "2693", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -54888,7 +54944,7 @@ "end": "51988", "length": "7", "line": "1423", - "parentIndex": "2691", + "parentIndex": "2692", "start": "51982" }, "typeDescription": { @@ -54899,23 +54955,23 @@ "visibility": "INTERNAL" } ], - "id": "2690", + "id": "2691", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2696", + "id": "2697", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2696", + "referencedDeclaration": "2697", "src": { "column": "58", "end": "52039", "length": "8", "line": "1423", - "parentIndex": "2693", + "parentIndex": "2694", "start": "52032" }, "typeDescription": { @@ -54924,23 +54980,23 @@ } } }, - "id": "2693", + "id": "2694", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2695", + "id": "2696", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2678", + "referencedDeclaration": "2679", "src": { "column": "39", "end": "52016", "length": "4", "line": "1423", - "parentIndex": "2694", + "parentIndex": "2695", "start": "52013" }, "typeDescription": { @@ -54949,13 +55005,13 @@ } } }, - "id": "2694", + "id": "2695", "memberLocation": { "column": "44", "end": "52030", "length": "13", "line": "1423", - "parentIndex": "2694", + "parentIndex": "2695", "start": "52018" }, "memberName": "locksForToken", @@ -54965,7 +55021,7 @@ "end": "52030", "length": "18", "line": "1423", - "parentIndex": "2690", + "parentIndex": "2691", "start": "52013" }, "typeDescription": { @@ -54980,7 +55036,7 @@ "end": "52040", "length": "28", "line": "1423", - "parentIndex": "2690", + "parentIndex": "2691", "start": "52013" }, "typeDescription": { @@ -55005,7 +55061,7 @@ "end": "52041", "length": "60", "line": "1423", - "parentIndex": "2371", + "parentIndex": "2372", "start": "51982" } } @@ -55026,16 +55082,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2701", + "id": "2702", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "24", "end": "52076", "length": "10", "line": "1424", - "parentIndex": "2700", + "parentIndex": "2701", "start": "52067" }, "typeDescription": { @@ -55044,13 +55100,13 @@ } } }, - "id": "2700", + "id": "2701", "memberLocation": { "column": "35", "end": "52083", "length": "6", "line": "1424", - "parentIndex": "2700", + "parentIndex": "2701", "start": "52078" }, "memberName": "lockID", @@ -55060,7 +55116,7 @@ "end": "52083", "length": "17", "line": "1424", - "parentIndex": "2697", + "parentIndex": "2698", "start": "52067" }, "typeDescription": { @@ -55076,16 +55132,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2699", + "id": "2700", "name": "user_locks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2690", + "referencedDeclaration": "2691", "src": { "column": "8", "end": "52060", "length": "10", "line": "1424", - "parentIndex": "2698", + "parentIndex": "2699", "start": "52051" }, "typeDescription": { @@ -55094,13 +55150,13 @@ } } }, - "id": "2698", + "id": "2699", "memberLocation": { "column": "19", "end": "52065", "length": "4", "line": "1424", - "parentIndex": "2698", + "parentIndex": "2699", "start": "52062" }, "memberName": "push", @@ -55110,7 +55166,7 @@ "end": "52065", "length": "15", "line": "1424", - "parentIndex": "2697", + "parentIndex": "2698", "start": "52051" }, "typeDescription": { @@ -55119,7 +55175,7 @@ } } }, - "id": "2697", + "id": "2698", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -55127,7 +55183,7 @@ "end": "52084", "length": "34", "line": "1424", - "parentIndex": "2371", + "parentIndex": "2372", "start": "52051" }, "typeDescription": { @@ -55143,16 +55199,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2703", + "id": "2704", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2703", + "referencedDeclaration": "2704", "src": { "column": "12", "end": "52131", "length": "8", "line": "1427", - "parentIndex": "2702", + "parentIndex": "2703", "start": "52124" }, "typeDescription": { @@ -55167,7 +55223,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2705", + "id": "2706", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -55175,7 +55231,7 @@ "end": "52148", "length": "3", "line": "1428", - "parentIndex": "2704", + "parentIndex": "2705", "start": "52146" }, "typeDescription": { @@ -55184,13 +55240,13 @@ } } }, - "id": "2704", + "id": "2705", "memberLocation": { "column": "16", "end": "52155", "length": "6", "line": "1428", - "parentIndex": "2704", + "parentIndex": "2705", "start": "52150" }, "memberName": "sender", @@ -55200,7 +55256,7 @@ "end": "52155", "length": "10", "line": "1428", - "parentIndex": "2702", + "parentIndex": "2703", "start": "52146" }, "typeDescription": { @@ -55215,16 +55271,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2707", + "id": "2708", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "12", "end": "52179", "length": "10", "line": "1429", - "parentIndex": "2706", + "parentIndex": "2707", "start": "52170" }, "typeDescription": { @@ -55233,13 +55289,13 @@ } } }, - "id": "2706", + "id": "2707", "memberLocation": { "column": "23", "end": "52186", "length": "6", "line": "1429", - "parentIndex": "2706", + "parentIndex": "2707", "start": "52181" }, "memberName": "amount", @@ -55249,7 +55305,7 @@ "end": "52186", "length": "17", "line": "1429", - "parentIndex": "2702", + "parentIndex": "2703", "start": "52170" }, "typeDescription": { @@ -55264,16 +55320,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2709", + "id": "2710", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "12", "end": "52210", "length": "10", "line": "1430", - "parentIndex": "2708", + "parentIndex": "2709", "start": "52201" }, "typeDescription": { @@ -55282,13 +55338,13 @@ } } }, - "id": "2708", + "id": "2709", "memberLocation": { "column": "23", "end": "52219", "length": "8", "line": "1430", - "parentIndex": "2708", + "parentIndex": "2709", "start": "52212" }, "memberName": "lockDate", @@ -55298,7 +55354,7 @@ "end": "52219", "length": "19", "line": "1430", - "parentIndex": "2702", + "parentIndex": "2703", "start": "52201" }, "typeDescription": { @@ -55313,16 +55369,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2711", + "id": "2712", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "12", "end": "52243", "length": "10", "line": "1431", - "parentIndex": "2710", + "parentIndex": "2711", "start": "52234" }, "typeDescription": { @@ -55331,13 +55387,13 @@ } } }, - "id": "2710", + "id": "2711", "memberLocation": { "column": "23", "end": "52254", "length": "10", "line": "1431", - "parentIndex": "2710", + "parentIndex": "2711", "start": "52245" }, "memberName": "unlockDate", @@ -55347,7 +55403,7 @@ "end": "52254", "length": "21", "line": "1431", - "parentIndex": "2702", + "parentIndex": "2703", "start": "52234" }, "typeDescription": { @@ -55362,16 +55418,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2713", + "id": "2714", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", + "referencedDeclaration": "2631", "src": { "column": "12", "end": "52278", "length": "10", "line": "1432", - "parentIndex": "2712", + "parentIndex": "2713", "start": "52269" }, "typeDescription": { @@ -55380,13 +55436,13 @@ } } }, - "id": "2712", + "id": "2713", "memberLocation": { "column": "23", "end": "52285", "length": "6", "line": "1432", - "parentIndex": "2712", + "parentIndex": "2713", "start": "52280" }, "memberName": "lockID", @@ -55396,7 +55452,7 @@ "end": "52285", "length": "17", "line": "1432", - "parentIndex": "2702", + "parentIndex": "2703", "start": "52269" }, "typeDescription": { @@ -55409,32 +55465,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2714", + "id": "2715", "name": "onDeposit", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2096", + "referencedDeclaration": "2097", "src": { "column": "13", "end": "52109", "length": "9", "line": "1426", - "parentIndex": "2702", + "parentIndex": "2703", "start": "52101" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262096", + "typeIdentifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262097", "typeString": "event KnoxLpLocker.onDeposit" } } }, - "id": "2702", + "id": "2703", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "52296", "length": "201", "line": "1426", - "parentIndex": "2352", + "parentIndex": "2353", "start": "52096" } } @@ -55446,7 +55502,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "2716", + "id": "2717", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -55455,7 +55511,7 @@ "end": "52317", "length": "4", "line": "1435", - "parentIndex": "2715", + "parentIndex": "2716", "start": "52314" }, "typeDescription": { @@ -55465,15 +55521,15 @@ "value": "true" } }, - "functionReturnParameters": "2352", - "id": "2715", + "functionReturnParameters": "2353", + "id": "2716", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "52318", "length": "12", "line": "1435", - "parentIndex": "2352", + "parentIndex": "2353", "start": "52307" }, "typeDescription": { @@ -55484,22 +55540,22 @@ } ] }, - "id": "2352", + "id": "2353", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2366", + "id": "2367", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2367", + "id": "2368", "name": "nonReentrant", "src": { "column": "23", "end": "47678", "length": "12", "line": "1316", - "parentIndex": "2366", + "parentIndex": "2367", "start": "47667" } }, @@ -55510,7 +55566,7 @@ "end": "47678", "length": "12", "line": "1316", - "parentIndex": "2352", + "parentIndex": "2353", "start": "47667" } } @@ -55521,25 +55577,25 @@ "end": "47463", "length": "11", "line": "1309", - "parentIndex": "2352", + "parentIndex": "2353", "start": "47453" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2353", + "id": "2354", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2354", + "id": "2355", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2354", + "scope": "2355", "src": { "column": "8", "end": "47489", "length": "16", "line": "1310", - "parentIndex": "2353", + "parentIndex": "2354", "start": "47474" }, "stateMutability": "NONPAYABLE", @@ -55549,7 +55605,7 @@ "typeString": "address" }, "typeName": { - "id": "2355", + "id": "2356", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55557,7 +55613,7 @@ "end": "47480", "length": "7", "line": "1310", - "parentIndex": "2354", + "parentIndex": "2355", "start": "47474" }, "stateMutability": "NONPAYABLE", @@ -55569,16 +55625,16 @@ "visibility": "INTERNAL" }, { - "id": "2356", + "id": "2357", "name": "_amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2356", + "scope": "2357", "src": { "column": "8", "end": "47514", "length": "15", "line": "1311", - "parentIndex": "2353", + "parentIndex": "2354", "start": "47500" }, "stateMutability": "MUTABLE", @@ -55588,7 +55644,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2357", + "id": "2358", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55596,7 +55652,7 @@ "end": "47506", "length": "7", "line": "1311", - "parentIndex": "2356", + "parentIndex": "2357", "start": "47500" }, "typeDescription": { @@ -55607,16 +55663,16 @@ "visibility": "INTERNAL" }, { - "id": "2358", + "id": "2359", "name": "_unlock_date", "nodeType": "VARIABLE_DECLARATION", - "scope": "2358", + "scope": "2359", "src": { "column": "8", "end": "47544", "length": "20", "line": "1312", - "parentIndex": "2353", + "parentIndex": "2354", "start": "47525" }, "stateMutability": "MUTABLE", @@ -55626,7 +55682,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2359", + "id": "2360", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55634,7 +55690,7 @@ "end": "47531", "length": "7", "line": "1312", - "parentIndex": "2358", + "parentIndex": "2359", "start": "47525" }, "typeDescription": { @@ -55645,16 +55701,16 @@ "visibility": "INTERNAL" }, { - "id": "2360", + "id": "2361", "name": "_referral", "nodeType": "VARIABLE_DECLARATION", - "scope": "2360", + "scope": "2361", "src": { "column": "8", "end": "47579", "length": "25", "line": "1313", - "parentIndex": "2353", + "parentIndex": "2354", "start": "47555" }, "stateMutability": "PAYABLE", @@ -55664,7 +55720,7 @@ "typeString": "address" }, "typeName": { - "id": "2361", + "id": "2362", "name": "addresspayable", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55672,7 +55728,7 @@ "end": "47569", "length": "15", "line": "1313", - "parentIndex": "2360", + "parentIndex": "2361", "start": "47555" }, "stateMutability": "PAYABLE", @@ -55684,16 +55740,16 @@ "visibility": "INTERNAL" }, { - "id": "2362", + "id": "2363", "name": "_fee_in_eth", "nodeType": "VARIABLE_DECLARATION", - "scope": "2362", + "scope": "2363", "src": { "column": "8", "end": "47605", "length": "16", "line": "1314", - "parentIndex": "2353", + "parentIndex": "2354", "start": "47590" }, "stateMutability": "MUTABLE", @@ -55703,7 +55759,7 @@ "typeString": "bool" }, "typeName": { - "id": "2363", + "id": "2364", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55711,7 +55767,7 @@ "end": "47593", "length": "4", "line": "1314", - "parentIndex": "2362", + "parentIndex": "2363", "start": "47590" }, "typeDescription": { @@ -55722,16 +55778,16 @@ "visibility": "INTERNAL" }, { - "id": "2364", + "id": "2365", "name": "_withdrawer", "nodeType": "VARIABLE_DECLARATION", - "scope": "2364", + "scope": "2365", "src": { "column": "8", "end": "47642", "length": "27", "line": "1315", - "parentIndex": "2353", + "parentIndex": "2354", "start": "47616" }, "stateMutability": "PAYABLE", @@ -55741,7 +55797,7 @@ "typeString": "address" }, "typeName": { - "id": "2365", + "id": "2366", "name": "addresspayable", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55749,7 +55805,7 @@ "end": "47630", "length": "15", "line": "1315", - "parentIndex": "2364", + "parentIndex": "2365", "start": "47616" }, "stateMutability": "PAYABLE", @@ -55766,24 +55822,24 @@ "end": "47642", "length": "169", "line": "1310", - "parentIndex": "2352", + "parentIndex": "2353", "start": "47474" } }, "returnParameters": { - "id": "2368", + "id": "2369", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2369", + "id": "2370", "nodeType": "VARIABLE_DECLARATION", - "scope": "2369", + "scope": "2370", "src": { "column": "45", "end": "47692", "length": "4", "line": "1316", - "parentIndex": "2368", + "parentIndex": "2369", "start": "47689" }, "stateMutability": "MUTABLE", @@ -55793,7 +55849,7 @@ "typeString": "bool" }, "typeName": { - "id": "2370", + "id": "2371", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -55801,7 +55857,7 @@ "end": "47692", "length": "4", "line": "1316", - "parentIndex": "2369", + "parentIndex": "2370", "start": "47689" }, "typeDescription": { @@ -55817,12 +55873,12 @@ "end": "47692", "length": "4", "line": "1316", - "parentIndex": "2352", + "parentIndex": "2353", "start": "47689" } }, "scope": "1998", - "signature": "e3d5e3bc", + "signature": "888a15ea", "src": { "column": "4", "end": "52324", @@ -55843,7 +55899,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2733", + "id": "2734", "implemented": true, "nodeType": "BLOCK", "src": { @@ -55851,7 +55907,7 @@ "end": "53636", "length": "871", "line": "1448", - "parentIndex": "2718", + "parentIndex": "2719", "start": "52766" }, "statements": [ @@ -55872,20 +55928,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2736", + "id": "2737", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2737", + "id": "2738", "name": "_unlock_date", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2737", + "referencedDeclaration": "2738", "src": { "column": "16", "end": "52795", "length": "12", "line": "1449", - "parentIndex": "2736", + "parentIndex": "2737", "start": "52784" }, "typeDescription": { @@ -55900,7 +55956,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3130303030303030303030", - "id": "2738", + "id": "2739", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -55909,7 +55965,7 @@ "end": "52809", "length": "11", "line": "1449", - "parentIndex": "2736", + "parentIndex": "2737", "start": "52799" }, "typeDescription": { @@ -55924,7 +55980,7 @@ "end": "52809", "length": "26", "line": "1449", - "parentIndex": "2734", + "parentIndex": "2735", "start": "52784" }, "typeDescription": { @@ -55943,7 +55999,7 @@ } ], "hexValue": "54494d455354414d5020494e56414c4944", - "id": "2739", + "id": "2740", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -55952,7 +56008,7 @@ "end": "52830", "length": "19", "line": "1449", - "parentIndex": "2734", + "parentIndex": "2735", "start": "52812" }, "typeDescription": { @@ -55966,7 +56022,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2735", + "id": "2736", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -55975,7 +56031,7 @@ "end": "52782", "length": "7", "line": "1449", - "parentIndex": "2734", + "parentIndex": "2735", "start": "52776" }, "typeDescription": { @@ -55984,7 +56040,7 @@ } } }, - "id": "2734", + "id": "2735", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -55992,7 +56048,7 @@ "end": "52831", "length": "56", "line": "1449", - "parentIndex": "2733", + "parentIndex": "2734", "start": "52776" }, "typeDescription": { @@ -56005,11 +56061,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2741" + "2742" ], "declarations": [ { - "id": "2741", + "id": "2742", "mutability": "MUTABLE", "name": "lockID", "nameLocation": { @@ -56017,17 +56073,17 @@ "end": "52914", "length": "6", "line": "1451", - "parentIndex": "2741", + "parentIndex": "2742", "start": "52909" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2733", + "scope": "2734", "src": { "column": "8", "end": "52914", "length": "14", "line": "1451", - "parentIndex": "2740", + "parentIndex": "2741", "start": "52901" }, "storageLocation": "DEFAULT", @@ -56036,7 +56092,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2742", + "id": "2743", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -56044,7 +56100,7 @@ "end": "52907", "length": "7", "line": "1451", - "parentIndex": "2741", + "parentIndex": "2742", "start": "52901" }, "typeDescription": { @@ -56055,23 +56111,23 @@ "visibility": "INTERNAL" } ], - "id": "2740", + "id": "2741", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2751", + "id": "2752", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2751", + "referencedDeclaration": "2752", "src": { "column": "67", "end": "52965", "length": "6", "line": "1451", - "parentIndex": "2743", + "parentIndex": "2744", "start": "52960" }, "typeDescription": { @@ -56080,23 +56136,23 @@ } } }, - "id": "2743", + "id": "2744", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2750", + "id": "2751", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2750", + "referencedDeclaration": "2751", "src": { "column": "57", "end": "52957", "length": "8", "line": "1451", - "parentIndex": "2744", + "parentIndex": "2745", "start": "52950" }, "typeDescription": { @@ -56105,7 +56161,7 @@ } } }, - "id": "2744", + "id": "2745", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -56118,7 +56174,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2749", + "id": "2750", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -56126,7 +56182,7 @@ "end": "52926", "length": "3", "line": "1451", - "parentIndex": "2748", + "parentIndex": "2749", "start": "52924" }, "typeDescription": { @@ -56135,13 +56191,13 @@ } } }, - "id": "2748", + "id": "2749", "memberLocation": { "column": "35", "end": "52933", "length": "6", "line": "1451", - "parentIndex": "2748", + "parentIndex": "2749", "start": "52928" }, "memberName": "sender", @@ -56151,7 +56207,7 @@ "end": "52933", "length": "10", "line": "1451", - "parentIndex": "2740", + "parentIndex": "2741", "start": "52924" }, "typeDescription": { @@ -56160,11 +56216,11 @@ } } }, - "id": "2746", + "id": "2747", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2747", + "id": "2748", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -56173,11 +56229,11 @@ "end": "52922", "length": "5", "line": "1451", - "parentIndex": "2746", + "parentIndex": "2747", "start": "52918" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -56188,16 +56244,16 @@ "end": "52934", "length": "17", "line": "1451", - "parentIndex": "2740", + "parentIndex": "2741", "start": "52918" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -56207,13 +56263,13 @@ ] } }, - "id": "2745", + "id": "2746", "memberLocation": { "column": "43", "end": "52948", "length": "13", "line": "1451", - "parentIndex": "2745", + "parentIndex": "2746", "start": "52936" }, "memberName": "locksForToken", @@ -56223,11 +56279,11 @@ "end": "52948", "length": "31", "line": "1451", - "parentIndex": "2740", + "parentIndex": "2741", "start": "52918" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -56238,16 +56294,16 @@ "end": "52958", "length": "41", "line": "1451", - "parentIndex": "2740", + "parentIndex": "2741", "start": "52918" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -56263,16 +56319,16 @@ "end": "52966", "length": "49", "line": "1451", - "parentIndex": "2740", + "parentIndex": "2741", "start": "52918" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "typeString": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -56288,7 +56344,7 @@ "end": "52967", "length": "67", "line": "1451", - "parentIndex": "2733", + "parentIndex": "2734", "start": "52901" } } @@ -56297,11 +56353,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2753" + "2754" ], "declarations": [ { - "id": "2753", + "id": "2754", "mutability": "MUTABLE", "name": "userLock", "nameLocation": { @@ -56309,17 +56365,17 @@ "end": "53002", "length": "8", "line": "1452", - "parentIndex": "2753", + "parentIndex": "2754", "start": "52995" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2733", + "scope": "2734", "src": { "column": "8", "end": "53002", "length": "26", "line": "1452", - "parentIndex": "2752", + "parentIndex": "2753", "start": "52977" }, "storageLocation": "STORAGE", @@ -56328,17 +56384,17 @@ "typeString": "struct KnoxLpLocker.TokenLock" }, "typeName": { - "id": "2754", + "id": "2755", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2755", + "id": "2756", "name": "TokenLock", "nameLocation": { "column": "8", "end": "52985", "length": "9", "line": "1452", - "parentIndex": "2754", + "parentIndex": "2755", "start": "52977" }, "nodeType": "IDENTIFIER_PATH", @@ -56348,7 +56404,7 @@ "end": "52985", "length": "9", "line": "1452", - "parentIndex": "2754", + "parentIndex": "2755", "start": "52977" } }, @@ -56358,7 +56414,7 @@ "end": "52985", "length": "9", "line": "1452", - "parentIndex": "2753", + "parentIndex": "2754", "start": "52977" }, "typeDescription": { @@ -56369,23 +56425,23 @@ "visibility": "INTERNAL" } ], - "id": "2752", + "id": "2753", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2760", + "id": "2761", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2740", + "referencedDeclaration": "2741", "src": { "column": "58", "end": "53032", "length": "6", "line": "1452", - "parentIndex": "2756", + "parentIndex": "2757", "start": "53027" }, "typeDescription": { @@ -56394,23 +56450,23 @@ } } }, - "id": "2756", + "id": "2757", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2759", + "id": "2760", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2759", + "referencedDeclaration": "2760", "src": { "column": "48", "end": "53024", "length": "8", "line": "1452", - "parentIndex": "2757", + "parentIndex": "2758", "start": "53017" }, "typeDescription": { @@ -56419,20 +56475,20 @@ } } }, - "id": "2757", + "id": "2758", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2758", + "id": "2759", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "37", "end": "53015", "length": "10", "line": "1452", - "parentIndex": "2757", + "parentIndex": "2758", "start": "53006" }, "typeDescription": { @@ -56447,7 +56503,7 @@ "end": "53025", "length": "20", "line": "1452", - "parentIndex": "2752", + "parentIndex": "2753", "start": "53006" }, "typeDescription": { @@ -56472,7 +56528,7 @@ "end": "53033", "length": "28", "line": "1452", - "parentIndex": "2752", + "parentIndex": "2753", "start": "53006" }, "typeDescription": { @@ -56497,7 +56553,7 @@ "end": "53034", "length": "58", "line": "1452", - "parentIndex": "2733", + "parentIndex": "2734", "start": "52977" } } @@ -56523,20 +56579,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2765", + "id": "2766", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2766", + "id": "2767", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2740", + "referencedDeclaration": "2741", "src": { "column": "12", "end": "53070", "length": "6", "line": "1454", - "parentIndex": "2765", + "parentIndex": "2766", "start": "53065" }, "typeDescription": { @@ -56550,16 +56606,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2767", + "id": "2768", "name": "_lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2767", + "referencedDeclaration": "2768", "src": { "column": "22", "end": "53081", "length": "7", "line": "1454", - "parentIndex": "2765", + "parentIndex": "2766", "start": "53075" }, "typeDescription": { @@ -56573,7 +56629,7 @@ "end": "53081", "length": "17", "line": "1454", - "parentIndex": "2764", + "parentIndex": "2765", "start": "53065" }, "typeDescription": { @@ -56585,23 +56641,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2768", + "id": "2769", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2770", + "id": "2771", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2752", + "referencedDeclaration": "2753", "src": { "column": "33", "end": "53093", "length": "8", "line": "1454", - "parentIndex": "2769", + "parentIndex": "2770", "start": "53086" }, "typeDescription": { @@ -56610,13 +56666,13 @@ } } }, - "id": "2769", + "id": "2770", "memberLocation": { "column": "42", "end": "53099", "length": "5", "line": "1454", - "parentIndex": "2769", + "parentIndex": "2770", "start": "53095" }, "memberName": "owner", @@ -56626,7 +56682,7 @@ "end": "53099", "length": "14", "line": "1454", - "parentIndex": "2768", + "parentIndex": "2769", "start": "53086" }, "typeDescription": { @@ -56643,7 +56699,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2772", + "id": "2773", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -56651,7 +56707,7 @@ "end": "53106", "length": "3", "line": "1454", - "parentIndex": "2771", + "parentIndex": "2772", "start": "53104" }, "typeDescription": { @@ -56660,13 +56716,13 @@ } } }, - "id": "2771", + "id": "2772", "memberLocation": { "column": "55", "end": "53113", "length": "6", "line": "1454", - "parentIndex": "2771", + "parentIndex": "2772", "start": "53108" }, "memberName": "sender", @@ -56676,7 +56732,7 @@ "end": "53113", "length": "10", "line": "1454", - "parentIndex": "2768", + "parentIndex": "2769", "start": "53104" }, "typeDescription": { @@ -56690,7 +56746,7 @@ "end": "53113", "length": "28", "line": "1454", - "parentIndex": "2764", + "parentIndex": "2765", "start": "53086" }, "typeDescription": { @@ -56700,14 +56756,14 @@ } } ], - "id": "2764", + "id": "2765", "nodeType": "AND_OPERATION", "src": { "column": "12", "end": "53113", "length": "49", "line": "1454", - "parentIndex": "2761", + "parentIndex": "2762", "start": "53065" }, "typeDescriptions": [ @@ -56732,7 +56788,7 @@ } ], "hexValue": "4c4f434b204d49534d41544348", - "id": "2773", + "id": "2774", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -56741,7 +56797,7 @@ "end": "53142", "length": "15", "line": "1455", - "parentIndex": "2761", + "parentIndex": "2762", "start": "53128" }, "typeDescription": { @@ -56755,7 +56811,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2762", + "id": "2763", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -56764,7 +56820,7 @@ "end": "53050", "length": "7", "line": "1453", - "parentIndex": "2761", + "parentIndex": "2762", "start": "53044" }, "typeDescription": { @@ -56773,7 +56829,7 @@ } } }, - "id": "2761", + "id": "2762", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -56781,7 +56837,7 @@ "end": "53152", "length": "109", "line": "1453", - "parentIndex": "2733", + "parentIndex": "2734", "start": "53044" }, "typeDescription": { @@ -56807,23 +56863,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2776", + "id": "2777", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2778", + "id": "2779", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2752", + "referencedDeclaration": "2753", "src": { "column": "16", "end": "53214", "length": "8", "line": "1457", - "parentIndex": "2777", + "parentIndex": "2778", "start": "53207" }, "typeDescription": { @@ -56832,13 +56888,13 @@ } } }, - "id": "2777", + "id": "2778", "memberLocation": { "column": "25", "end": "53225", "length": "10", "line": "1457", - "parentIndex": "2777", + "parentIndex": "2778", "start": "53216" }, "memberName": "unlockDate", @@ -56848,7 +56904,7 @@ "end": "53225", "length": "19", "line": "1457", - "parentIndex": "2776", + "parentIndex": "2777", "start": "53207" }, "typeDescription": { @@ -56862,16 +56918,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2779", + "id": "2780", "name": "_unlock_date", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2779", + "referencedDeclaration": "2780", "src": { "column": "38", "end": "53240", "length": "12", "line": "1457", - "parentIndex": "2776", + "parentIndex": "2777", "start": "53229" }, "typeDescription": { @@ -56885,7 +56941,7 @@ "end": "53240", "length": "34", "line": "1457", - "parentIndex": "2774", + "parentIndex": "2775", "start": "53207" }, "typeDescription": { @@ -56904,7 +56960,7 @@ } ], "hexValue": "554e4c4f434b204245464f5245", - "id": "2780", + "id": "2781", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -56913,7 +56969,7 @@ "end": "53257", "length": "15", "line": "1457", - "parentIndex": "2774", + "parentIndex": "2775", "start": "53243" }, "typeDescription": { @@ -56927,7 +56983,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2775", + "id": "2776", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -56936,7 +56992,7 @@ "end": "53205", "length": "7", "line": "1457", - "parentIndex": "2774", + "parentIndex": "2775", "start": "53199" }, "typeDescription": { @@ -56945,7 +57001,7 @@ } } }, - "id": "2774", + "id": "2775", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -56953,7 +57009,7 @@ "end": "53258", "length": "60", "line": "1457", - "parentIndex": "2733", + "parentIndex": "2734", "start": "53199" }, "typeDescription": { @@ -56966,11 +57022,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2782" + "2783" ], "declarations": [ { - "id": "2782", + "id": "2783", "mutability": "MUTABLE", "name": "liquidityFee", "nameLocation": { @@ -56978,17 +57034,17 @@ "end": "53289", "length": "12", "line": "1459", - "parentIndex": "2782", + "parentIndex": "2783", "start": "53278" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2733", + "scope": "2734", "src": { "column": "8", "end": "53289", "length": "20", "line": "1459", - "parentIndex": "2781", + "parentIndex": "2782", "start": "53270" }, "storageLocation": "DEFAULT", @@ -56997,7 +57053,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2783", + "id": "2784", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57005,7 +57061,7 @@ "end": "53276", "length": "7", "line": "1459", - "parentIndex": "2782", + "parentIndex": "2783", "start": "53270" }, "typeDescription": { @@ -57016,11 +57072,11 @@ "visibility": "INTERNAL" } ], - "id": "2781", + "id": "2782", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2784", + "id": "2785", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -57028,23 +57084,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2786", + "id": "2787", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2788", + "id": "2789", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2752", + "referencedDeclaration": "2753", "src": { "column": "32", "end": "53301", "length": "8", "line": "1459", - "parentIndex": "2787", + "parentIndex": "2788", "start": "53294" }, "typeDescription": { @@ -57053,13 +57109,13 @@ } } }, - "id": "2787", + "id": "2788", "memberLocation": { "column": "41", "end": "53308", "length": "6", "line": "1459", - "parentIndex": "2787", + "parentIndex": "2788", "start": "53303" }, "memberName": "amount", @@ -57069,7 +57125,7 @@ "end": "53308", "length": "15", "line": "1459", - "parentIndex": "2781", + "parentIndex": "2782", "start": "53294" }, "typeDescription": { @@ -57090,31 +57146,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2791", + "id": "2792", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "51", "end": "53317", "length": "5", "line": "1459", - "parentIndex": "2790", + "parentIndex": "2791", "start": "53313" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "2790", + "id": "2791", "memberLocation": { "column": "57", "end": "53330", "length": "12", "line": "1459", - "parentIndex": "2790", + "parentIndex": "2791", "start": "53319" }, "memberName": "liquidityFee", @@ -57124,28 +57180,28 @@ "end": "53330", "length": "18", "line": "1459", - "parentIndex": "2781", + "parentIndex": "2782", "start": "53313" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } } ], - "id": "2789", + "id": "2790", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "50", "end": "53331", "length": "20", "line": "1459", - "parentIndex": "2786", + "parentIndex": "2787", "start": "53312" }, "typeDescription": { - "typeIdentifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "typeIdentifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "typeString": "tuple(struct KnoxLpLocker.FeeStruct)" } } @@ -57155,7 +57211,7 @@ "end": "53331", "length": "38", "line": "1459", - "parentIndex": "2785", + "parentIndex": "2786", "start": "53294" }, "typeDescription": { @@ -57165,14 +57221,14 @@ } } ], - "id": "2785", + "id": "2786", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "31", "end": "53332", "length": "40", "line": "1459", - "parentIndex": "2784", + "parentIndex": "2785", "start": "53293" }, "typeDescription": { @@ -57191,7 +57247,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "2793", + "id": "2794", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -57200,7 +57256,7 @@ "end": "53352", "length": "4", "line": "1460", - "parentIndex": "2792", + "parentIndex": "2793", "start": "53349" }, "typeDescription": { @@ -57211,7 +57267,7 @@ } } ], - "id": "2792", + "id": "2793", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { @@ -57219,7 +57275,7 @@ "end": "53353", "length": "6", "line": "1460", - "parentIndex": "2784", + "parentIndex": "2785", "start": "53348" }, "typeDescription": { @@ -57233,7 +57289,7 @@ "end": "53353", "length": "61", "line": "1459", - "parentIndex": "2781", + "parentIndex": "2782", "start": "53293" }, "typeDescription": { @@ -57248,7 +57304,7 @@ "end": "53354", "length": "85", "line": "1459", - "parentIndex": "2733", + "parentIndex": "2734", "start": "53270" } } @@ -57257,11 +57313,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2795" + "2796" ], "declarations": [ { - "id": "2795", + "id": "2796", "mutability": "MUTABLE", "name": "amountLocked", "nameLocation": { @@ -57269,17 +57325,17 @@ "end": "53383", "length": "12", "line": "1461", - "parentIndex": "2795", + "parentIndex": "2796", "start": "53372" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2733", + "scope": "2734", "src": { "column": "8", "end": "53383", "length": "20", "line": "1461", - "parentIndex": "2794", + "parentIndex": "2795", "start": "53364" }, "storageLocation": "DEFAULT", @@ -57288,7 +57344,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2796", + "id": "2797", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57296,7 +57352,7 @@ "end": "53370", "length": "7", "line": "1461", - "parentIndex": "2795", + "parentIndex": "2796", "start": "53364" }, "typeDescription": { @@ -57307,27 +57363,27 @@ "visibility": "INTERNAL" } ], - "id": "2794", + "id": "2795", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2797", + "id": "2798", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2799", + "id": "2800", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2752", + "referencedDeclaration": "2753", "src": { "column": "31", "end": "53394", "length": "8", "line": "1461", - "parentIndex": "2798", + "parentIndex": "2799", "start": "53387" }, "typeDescription": { @@ -57336,13 +57392,13 @@ } } }, - "id": "2798", + "id": "2799", "memberLocation": { "column": "40", "end": "53401", "length": "6", "line": "1461", - "parentIndex": "2798", + "parentIndex": "2799", "start": "53396" }, "memberName": "amount", @@ -57352,7 +57408,7 @@ "end": "53401", "length": "15", "line": "1461", - "parentIndex": "2794", + "parentIndex": "2795", "start": "53387" }, "typeDescription": { @@ -57370,16 +57426,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2801", + "id": "2802", "name": "liquidityFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2781", + "referencedDeclaration": "2782", "src": { "column": "50", "end": "53417", "length": "12", "line": "1461", - "parentIndex": "2800", + "parentIndex": "2801", "start": "53406" }, "typeDescription": { @@ -57389,14 +57445,14 @@ } } ], - "id": "2800", + "id": "2801", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "49", "end": "53418", "length": "14", "line": "1461", - "parentIndex": "2797", + "parentIndex": "2798", "start": "53405" }, "typeDescription": { @@ -57410,7 +57466,7 @@ "end": "53418", "length": "32", "line": "1461", - "parentIndex": "2794", + "parentIndex": "2795", "start": "53387" }, "typeDescription": { @@ -57425,7 +57481,7 @@ "end": "53419", "length": "56", "line": "1461", - "parentIndex": "2733", + "parentIndex": "2734", "start": "53364" } } @@ -57436,23 +57492,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2803", + "id": "2804", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2805", + "id": "2806", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2752", + "referencedDeclaration": "2753", "src": { "column": "8", "end": "53437", "length": "8", "line": "1463", - "parentIndex": "2804", + "parentIndex": "2805", "start": "53430" }, "typeDescription": { @@ -57461,13 +57517,13 @@ } } }, - "id": "2804", + "id": "2805", "memberLocation": { "column": "17", "end": "53444", "length": "6", "line": "1463", - "parentIndex": "2804", + "parentIndex": "2805", "start": "53439" }, "memberName": "amount", @@ -57477,7 +57533,7 @@ "end": "53444", "length": "15", "line": "1463", - "parentIndex": "2803", + "parentIndex": "2804", "start": "53430" }, "typeDescription": { @@ -57491,16 +57547,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2806", + "id": "2807", "name": "amountLocked", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2794", + "referencedDeclaration": "2795", "src": { "column": "26", "end": "53459", "length": "12", "line": "1463", - "parentIndex": "2803", + "parentIndex": "2804", "start": "53448" }, "typeDescription": { @@ -57514,7 +57570,7 @@ "end": "53459", "length": "30", "line": "1463", - "parentIndex": "2802", + "parentIndex": "2803", "start": "53430" }, "typeDescription": { @@ -57523,14 +57579,14 @@ } } }, - "id": "2802", + "id": "2803", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "53460", "length": "31", "line": "1463", - "parentIndex": "2733", + "parentIndex": "2734", "start": "53430" }, "typeDescription": { @@ -57545,23 +57601,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2808", + "id": "2809", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2810", + "id": "2811", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2752", + "referencedDeclaration": "2753", "src": { "column": "8", "end": "53477", "length": "8", "line": "1464", - "parentIndex": "2809", + "parentIndex": "2810", "start": "53470" }, "typeDescription": { @@ -57570,13 +57626,13 @@ } } }, - "id": "2809", + "id": "2810", "memberLocation": { "column": "17", "end": "53488", "length": "10", "line": "1464", - "parentIndex": "2809", + "parentIndex": "2810", "start": "53479" }, "memberName": "unlockDate", @@ -57586,7 +57642,7 @@ "end": "53488", "length": "19", "line": "1464", - "parentIndex": "2808", + "parentIndex": "2809", "start": "53470" }, "typeDescription": { @@ -57600,16 +57656,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2811", + "id": "2812", "name": "_unlock_date", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2811", + "referencedDeclaration": "2812", "src": { "column": "30", "end": "53503", "length": "12", "line": "1464", - "parentIndex": "2808", + "parentIndex": "2809", "start": "53492" }, "typeDescription": { @@ -57623,7 +57679,7 @@ "end": "53503", "length": "34", "line": "1464", - "parentIndex": "2807", + "parentIndex": "2808", "start": "53470" }, "typeDescription": { @@ -57632,14 +57688,14 @@ } } }, - "id": "2807", + "id": "2808", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "53504", "length": "35", "line": "1464", - "parentIndex": "2733", + "parentIndex": "2734", "start": "53470" }, "typeDescription": { @@ -57665,7 +57721,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2817", + "id": "2818", "name": "devaddr", "nodeType": "IDENTIFIER", "src": { @@ -57673,7 +57729,7 @@ "end": "53592", "length": "7", "line": "1467", - "parentIndex": "2812", + "parentIndex": "2813", "start": "53586" }, "typeDescription": { @@ -57691,16 +57747,16 @@ "typeString": "function()" } ], - "id": "2818", + "id": "2819", "name": "liquidityFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2781", + "referencedDeclaration": "2782", "src": { "column": "47", "end": "53606", "length": "12", "line": "1467", - "parentIndex": "2812", + "parentIndex": "2813", "start": "53595" }, "typeDescription": { @@ -57726,16 +57782,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2816", + "id": "2817", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2816", + "referencedDeclaration": "2817", "src": { "column": "15", "end": "53570", "length": "8", "line": "1467", - "parentIndex": "2814", + "parentIndex": "2815", "start": "53563" }, "typeDescription": { @@ -57748,7 +57804,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2815", + "id": "2816", "name": "IERC20", "nodeType": "IDENTIFIER", "src": { @@ -57756,7 +57812,7 @@ "end": "53561", "length": "6", "line": "1467", - "parentIndex": "2814", + "parentIndex": "2815", "start": "53556" }, "typeDescription": { @@ -57765,7 +57821,7 @@ } } }, - "id": "2814", + "id": "2815", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -57773,7 +57829,7 @@ "end": "53571", "length": "16", "line": "1467", - "parentIndex": "2813", + "parentIndex": "2814", "start": "53556" }, "typeDescription": { @@ -57782,13 +57838,13 @@ } } }, - "id": "2813", + "id": "2814", "memberLocation": { "column": "25", "end": "53584", "length": "12", "line": "1467", - "parentIndex": "2813", + "parentIndex": "2814", "start": "53573" }, "memberName": "safeTransfer", @@ -57798,7 +57854,7 @@ "end": "53584", "length": "29", "line": "1467", - "parentIndex": "2812", + "parentIndex": "2813", "start": "53556" }, "typeDescription": { @@ -57807,7 +57863,7 @@ } } }, - "id": "2812", + "id": "2813", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -57815,7 +57871,7 @@ "end": "53607", "length": "52", "line": "1467", - "parentIndex": "2733", + "parentIndex": "2734", "start": "53556" }, "typeDescription": { @@ -57831,7 +57887,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "2820", + "id": "2821", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -57840,7 +57896,7 @@ "end": "53629", "length": "4", "line": "1469", - "parentIndex": "2819", + "parentIndex": "2820", "start": "53626" }, "typeDescription": { @@ -57850,15 +57906,15 @@ "value": "true" } }, - "functionReturnParameters": "2718", - "id": "2819", + "functionReturnParameters": "2719", + "id": "2820", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "53630", "length": "12", "line": "1469", - "parentIndex": "2718", + "parentIndex": "2719", "start": "53619" }, "typeDescription": { @@ -57869,22 +57925,22 @@ } ] }, - "id": "2718", + "id": "2719", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2728", + "id": "2729", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2729", + "id": "2730", "name": "nonReentrant", "src": { "column": "15", "end": "52749", "length": "12", "line": "1448", - "parentIndex": "2728", + "parentIndex": "2729", "start": "52738" } }, @@ -57895,7 +57951,7 @@ "end": "52749", "length": "12", "line": "1448", - "parentIndex": "2718", + "parentIndex": "2719", "start": "52738" } } @@ -57906,25 +57962,25 @@ "end": "52616", "length": "6", "line": "1443", - "parentIndex": "2718", + "parentIndex": "2719", "start": "52611" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2719", + "id": "2720", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2720", + "id": "2721", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2720", + "scope": "2721", "src": { "column": "8", "end": "52642", "length": "16", "line": "1444", - "parentIndex": "2719", + "parentIndex": "2720", "start": "52627" }, "stateMutability": "NONPAYABLE", @@ -57934,7 +57990,7 @@ "typeString": "address" }, "typeName": { - "id": "2721", + "id": "2722", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57942,7 +57998,7 @@ "end": "52633", "length": "7", "line": "1444", - "parentIndex": "2720", + "parentIndex": "2721", "start": "52627" }, "stateMutability": "NONPAYABLE", @@ -57954,16 +58010,16 @@ "visibility": "INTERNAL" }, { - "id": "2722", + "id": "2723", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "2722", + "scope": "2723", "src": { "column": "8", "end": "52666", "length": "14", "line": "1445", - "parentIndex": "2719", + "parentIndex": "2720", "start": "52653" }, "stateMutability": "MUTABLE", @@ -57973,7 +58029,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2723", + "id": "2724", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -57981,7 +58037,7 @@ "end": "52659", "length": "7", "line": "1445", - "parentIndex": "2722", + "parentIndex": "2723", "start": "52653" }, "typeDescription": { @@ -57992,16 +58048,16 @@ "visibility": "INTERNAL" }, { - "id": "2724", + "id": "2725", "name": "_lockID", "nodeType": "VARIABLE_DECLARATION", - "scope": "2724", + "scope": "2725", "src": { "column": "8", "end": "52691", "length": "15", "line": "1446", - "parentIndex": "2719", + "parentIndex": "2720", "start": "52677" }, "stateMutability": "MUTABLE", @@ -58011,7 +58067,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2725", + "id": "2726", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -58019,7 +58075,7 @@ "end": "52683", "length": "7", "line": "1446", - "parentIndex": "2724", + "parentIndex": "2725", "start": "52677" }, "typeDescription": { @@ -58030,16 +58086,16 @@ "visibility": "INTERNAL" }, { - "id": "2726", + "id": "2727", "name": "_unlock_date", "nodeType": "VARIABLE_DECLARATION", - "scope": "2726", + "scope": "2727", "src": { "column": "8", "end": "52721", "length": "20", "line": "1447", - "parentIndex": "2719", + "parentIndex": "2720", "start": "52702" }, "stateMutability": "MUTABLE", @@ -58049,7 +58105,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2727", + "id": "2728", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -58057,7 +58113,7 @@ "end": "52708", "length": "7", "line": "1447", - "parentIndex": "2726", + "parentIndex": "2727", "start": "52702" }, "typeDescription": { @@ -58073,24 +58129,24 @@ "end": "52721", "length": "95", "line": "1444", - "parentIndex": "2718", + "parentIndex": "2719", "start": "52627" } }, "returnParameters": { - "id": "2730", + "id": "2731", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2731", + "id": "2732", "nodeType": "VARIABLE_DECLARATION", - "scope": "2731", + "scope": "2732", "src": { "column": "37", "end": "52763", "length": "4", "line": "1448", - "parentIndex": "2730", + "parentIndex": "2731", "start": "52760" }, "stateMutability": "MUTABLE", @@ -58100,7 +58156,7 @@ "typeString": "bool" }, "typeName": { - "id": "2732", + "id": "2733", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -58108,7 +58164,7 @@ "end": "52763", "length": "4", "line": "1448", - "parentIndex": "2731", + "parentIndex": "2732", "start": "52760" }, "typeDescription": { @@ -58124,12 +58180,12 @@ "end": "52763", "length": "4", "line": "1448", - "parentIndex": "2718", + "parentIndex": "2719", "start": "52760" } }, "scope": "1998", - "signature": "21173a84", + "signature": "60491d24", "src": { "column": "4", "end": "53636", @@ -58150,7 +58206,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2837", + "id": "2838", "implemented": true, "nodeType": "BLOCK", "src": { @@ -58158,7 +58214,7 @@ "end": "55086", "length": "1009", "line": "1482", - "parentIndex": "2822", + "parentIndex": "2823", "start": "54078" }, "statements": [ @@ -58179,20 +58235,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2840", + "id": "2841", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2841", + "id": "2842", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2841", + "referencedDeclaration": "2842", "src": { "column": "16", "end": "54102", "length": "7", "line": "1483", - "parentIndex": "2840", + "parentIndex": "2841", "start": "54096" }, "typeDescription": { @@ -58207,7 +58263,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2842", + "id": "2843", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -58216,7 +58272,7 @@ "end": "54106", "length": "1", "line": "1483", - "parentIndex": "2840", + "parentIndex": "2841", "start": "54106" }, "typeDescription": { @@ -58231,7 +58287,7 @@ "end": "54106", "length": "11", "line": "1483", - "parentIndex": "2838", + "parentIndex": "2839", "start": "54096" }, "typeDescription": { @@ -58250,7 +58306,7 @@ } ], "hexValue": "5a45524f2057495448445241574c", - "id": "2843", + "id": "2844", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -58259,7 +58315,7 @@ "end": "54124", "length": "16", "line": "1483", - "parentIndex": "2838", + "parentIndex": "2839", "start": "54109" }, "typeDescription": { @@ -58273,7 +58329,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2839", + "id": "2840", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -58282,7 +58338,7 @@ "end": "54094", "length": "7", "line": "1483", - "parentIndex": "2838", + "parentIndex": "2839", "start": "54088" }, "typeDescription": { @@ -58291,7 +58347,7 @@ } } }, - "id": "2838", + "id": "2839", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -58299,7 +58355,7 @@ "end": "54125", "length": "38", "line": "1483", - "parentIndex": "2837", + "parentIndex": "2838", "start": "54088" }, "typeDescription": { @@ -58312,11 +58368,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2845" + "2846" ], "declarations": [ { - "id": "2845", + "id": "2846", "mutability": "MUTABLE", "name": "lockID", "nameLocation": { @@ -58324,17 +58380,17 @@ "end": "54150", "length": "6", "line": "1485", - "parentIndex": "2845", + "parentIndex": "2846", "start": "54145" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2837", + "scope": "2838", "src": { "column": "8", "end": "54150", "length": "14", "line": "1485", - "parentIndex": "2844", + "parentIndex": "2845", "start": "54137" }, "storageLocation": "DEFAULT", @@ -58343,7 +58399,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2846", + "id": "2847", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -58351,7 +58407,7 @@ "end": "54143", "length": "7", "line": "1485", - "parentIndex": "2845", + "parentIndex": "2846", "start": "54137" }, "typeDescription": { @@ -58362,23 +58418,23 @@ "visibility": "INTERNAL" } ], - "id": "2844", + "id": "2845", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2855", + "id": "2856", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2855", + "referencedDeclaration": "2856", "src": { "column": "67", "end": "54201", "length": "6", "line": "1485", - "parentIndex": "2847", + "parentIndex": "2848", "start": "54196" }, "typeDescription": { @@ -58387,23 +58443,23 @@ } } }, - "id": "2847", + "id": "2848", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2854", + "id": "2855", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2854", + "referencedDeclaration": "2855", "src": { "column": "57", "end": "54193", "length": "8", "line": "1485", - "parentIndex": "2848", + "parentIndex": "2849", "start": "54186" }, "typeDescription": { @@ -58412,7 +58468,7 @@ } } }, - "id": "2848", + "id": "2849", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -58425,7 +58481,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2853", + "id": "2854", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -58433,7 +58489,7 @@ "end": "54162", "length": "3", "line": "1485", - "parentIndex": "2852", + "parentIndex": "2853", "start": "54160" }, "typeDescription": { @@ -58442,13 +58498,13 @@ } } }, - "id": "2852", + "id": "2853", "memberLocation": { "column": "35", "end": "54169", "length": "6", "line": "1485", - "parentIndex": "2852", + "parentIndex": "2853", "start": "54164" }, "memberName": "sender", @@ -58458,7 +58514,7 @@ "end": "54169", "length": "10", "line": "1485", - "parentIndex": "2844", + "parentIndex": "2845", "start": "54160" }, "typeDescription": { @@ -58467,11 +58523,11 @@ } } }, - "id": "2850", + "id": "2851", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2851", + "id": "2852", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -58480,11 +58536,11 @@ "end": "54158", "length": "5", "line": "1485", - "parentIndex": "2850", + "parentIndex": "2851", "start": "54154" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -58495,16 +58551,16 @@ "end": "54170", "length": "17", "line": "1485", - "parentIndex": "2844", + "parentIndex": "2845", "start": "54154" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -58514,13 +58570,13 @@ ] } }, - "id": "2849", + "id": "2850", "memberLocation": { "column": "43", "end": "54184", "length": "13", "line": "1485", - "parentIndex": "2849", + "parentIndex": "2850", "start": "54172" }, "memberName": "locksForToken", @@ -58530,11 +58586,11 @@ "end": "54184", "length": "31", "line": "1485", - "parentIndex": "2844", + "parentIndex": "2845", "start": "54154" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -58545,16 +58601,16 @@ "end": "54194", "length": "41", "line": "1485", - "parentIndex": "2844", + "parentIndex": "2845", "start": "54154" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -58570,16 +58626,16 @@ "end": "54202", "length": "49", "line": "1485", - "parentIndex": "2844", + "parentIndex": "2845", "start": "54154" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "typeString": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -58595,7 +58651,7 @@ "end": "54203", "length": "67", "line": "1485", - "parentIndex": "2837", + "parentIndex": "2838", "start": "54137" } } @@ -58604,11 +58660,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2857" + "2858" ], "declarations": [ { - "id": "2857", + "id": "2858", "mutability": "MUTABLE", "name": "userLock", "nameLocation": { @@ -58616,17 +58672,17 @@ "end": "54238", "length": "8", "line": "1486", - "parentIndex": "2857", + "parentIndex": "2858", "start": "54231" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2837", + "scope": "2838", "src": { "column": "8", "end": "54238", "length": "26", "line": "1486", - "parentIndex": "2856", + "parentIndex": "2857", "start": "54213" }, "storageLocation": "STORAGE", @@ -58635,17 +58691,17 @@ "typeString": "struct KnoxLpLocker.TokenLock" }, "typeName": { - "id": "2858", + "id": "2859", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2859", + "id": "2860", "name": "TokenLock", "nameLocation": { "column": "8", "end": "54221", "length": "9", "line": "1486", - "parentIndex": "2858", + "parentIndex": "2859", "start": "54213" }, "nodeType": "IDENTIFIER_PATH", @@ -58655,7 +58711,7 @@ "end": "54221", "length": "9", "line": "1486", - "parentIndex": "2858", + "parentIndex": "2859", "start": "54213" } }, @@ -58665,7 +58721,7 @@ "end": "54221", "length": "9", "line": "1486", - "parentIndex": "2857", + "parentIndex": "2858", "start": "54213" }, "typeDescription": { @@ -58676,23 +58732,23 @@ "visibility": "INTERNAL" } ], - "id": "2856", + "id": "2857", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2864", + "id": "2865", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2844", + "referencedDeclaration": "2845", "src": { "column": "58", "end": "54268", "length": "6", "line": "1486", - "parentIndex": "2860", + "parentIndex": "2861", "start": "54263" }, "typeDescription": { @@ -58701,23 +58757,23 @@ } } }, - "id": "2860", + "id": "2861", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2863", + "id": "2864", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2863", + "referencedDeclaration": "2864", "src": { "column": "48", "end": "54260", "length": "8", "line": "1486", - "parentIndex": "2861", + "parentIndex": "2862", "start": "54253" }, "typeDescription": { @@ -58726,20 +58782,20 @@ } } }, - "id": "2861", + "id": "2862", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2862", + "id": "2863", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "37", "end": "54251", "length": "10", "line": "1486", - "parentIndex": "2861", + "parentIndex": "2862", "start": "54242" }, "typeDescription": { @@ -58754,7 +58810,7 @@ "end": "54261", "length": "20", "line": "1486", - "parentIndex": "2856", + "parentIndex": "2857", "start": "54242" }, "typeDescription": { @@ -58779,7 +58835,7 @@ "end": "54269", "length": "28", "line": "1486", - "parentIndex": "2856", + "parentIndex": "2857", "start": "54242" }, "typeDescription": { @@ -58804,7 +58860,7 @@ "end": "54270", "length": "58", "line": "1486", - "parentIndex": "2837", + "parentIndex": "2838", "start": "54213" } } @@ -58830,20 +58886,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2869", + "id": "2870", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2870", + "id": "2871", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2844", + "referencedDeclaration": "2845", "src": { "column": "12", "end": "54306", "length": "6", "line": "1488", - "parentIndex": "2869", + "parentIndex": "2870", "start": "54301" }, "typeDescription": { @@ -58857,16 +58913,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2871", + "id": "2872", "name": "_lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2871", + "referencedDeclaration": "2872", "src": { "column": "22", "end": "54317", "length": "7", "line": "1488", - "parentIndex": "2869", + "parentIndex": "2870", "start": "54311" }, "typeDescription": { @@ -58880,7 +58936,7 @@ "end": "54317", "length": "17", "line": "1488", - "parentIndex": "2868", + "parentIndex": "2869", "start": "54301" }, "typeDescription": { @@ -58892,23 +58948,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2872", + "id": "2873", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2874", + "id": "2875", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2856", + "referencedDeclaration": "2857", "src": { "column": "33", "end": "54329", "length": "8", "line": "1488", - "parentIndex": "2873", + "parentIndex": "2874", "start": "54322" }, "typeDescription": { @@ -58917,13 +58973,13 @@ } } }, - "id": "2873", + "id": "2874", "memberLocation": { "column": "42", "end": "54335", "length": "5", "line": "1488", - "parentIndex": "2873", + "parentIndex": "2874", "start": "54331" }, "memberName": "owner", @@ -58933,7 +58989,7 @@ "end": "54335", "length": "14", "line": "1488", - "parentIndex": "2872", + "parentIndex": "2873", "start": "54322" }, "typeDescription": { @@ -58950,7 +59006,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2876", + "id": "2877", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -58958,7 +59014,7 @@ "end": "54342", "length": "3", "line": "1488", - "parentIndex": "2875", + "parentIndex": "2876", "start": "54340" }, "typeDescription": { @@ -58967,13 +59023,13 @@ } } }, - "id": "2875", + "id": "2876", "memberLocation": { "column": "55", "end": "54349", "length": "6", "line": "1488", - "parentIndex": "2875", + "parentIndex": "2876", "start": "54344" }, "memberName": "sender", @@ -58983,7 +59039,7 @@ "end": "54349", "length": "10", "line": "1488", - "parentIndex": "2872", + "parentIndex": "2873", "start": "54340" }, "typeDescription": { @@ -58997,7 +59053,7 @@ "end": "54349", "length": "28", "line": "1488", - "parentIndex": "2868", + "parentIndex": "2869", "start": "54322" }, "typeDescription": { @@ -59007,14 +59063,14 @@ } } ], - "id": "2868", + "id": "2869", "nodeType": "AND_OPERATION", "src": { "column": "12", "end": "54349", "length": "49", "line": "1488", - "parentIndex": "2865", + "parentIndex": "2866", "start": "54301" }, "typeDescriptions": [ @@ -59039,7 +59095,7 @@ } ], "hexValue": "4c4f434b204d49534d41544348", - "id": "2877", + "id": "2878", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -59048,7 +59104,7 @@ "end": "54378", "length": "15", "line": "1489", - "parentIndex": "2865", + "parentIndex": "2866", "start": "54364" }, "typeDescription": { @@ -59062,7 +59118,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2866", + "id": "2867", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -59071,7 +59127,7 @@ "end": "54286", "length": "7", "line": "1487", - "parentIndex": "2865", + "parentIndex": "2866", "start": "54280" }, "typeDescription": { @@ -59080,7 +59136,7 @@ } } }, - "id": "2865", + "id": "2866", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -59088,7 +59144,7 @@ "end": "54388", "length": "109", "line": "1487", - "parentIndex": "2837", + "parentIndex": "2838", "start": "54280" }, "typeDescription": { @@ -59114,23 +59170,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2880", + "id": "2881", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2882", + "id": "2883", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2856", + "referencedDeclaration": "2857", "src": { "column": "16", "end": "54450", "length": "8", "line": "1491", - "parentIndex": "2881", + "parentIndex": "2882", "start": "54443" }, "typeDescription": { @@ -59139,13 +59195,13 @@ } } }, - "id": "2881", + "id": "2882", "memberLocation": { "column": "25", "end": "54461", "length": "10", "line": "1491", - "parentIndex": "2881", + "parentIndex": "2882", "start": "54452" }, "memberName": "unlockDate", @@ -59155,7 +59211,7 @@ "end": "54461", "length": "19", "line": "1491", - "parentIndex": "2880", + "parentIndex": "2881", "start": "54443" }, "typeDescription": { @@ -59172,7 +59228,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2884", + "id": "2885", "name": "block", "nodeType": "IDENTIFIER", "src": { @@ -59180,7 +59236,7 @@ "end": "54469", "length": "5", "line": "1491", - "parentIndex": "2883", + "parentIndex": "2884", "start": "54465" }, "typeDescription": { @@ -59189,13 +59245,13 @@ } } }, - "id": "2883", + "id": "2884", "memberLocation": { "column": "44", "end": "54479", "length": "9", "line": "1491", - "parentIndex": "2883", + "parentIndex": "2884", "start": "54471" }, "memberName": "timestamp", @@ -59205,7 +59261,7 @@ "end": "54479", "length": "15", "line": "1491", - "parentIndex": "2880", + "parentIndex": "2881", "start": "54465" }, "typeDescription": { @@ -59219,7 +59275,7 @@ "end": "54479", "length": "37", "line": "1491", - "parentIndex": "2878", + "parentIndex": "2879", "start": "54443" }, "typeDescription": { @@ -59238,7 +59294,7 @@ } ], "hexValue": "4e4f5420594554", - "id": "2885", + "id": "2886", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -59247,7 +59303,7 @@ "end": "54490", "length": "9", "line": "1491", - "parentIndex": "2878", + "parentIndex": "2879", "start": "54482" }, "typeDescription": { @@ -59261,7 +59317,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2879", + "id": "2880", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -59270,7 +59326,7 @@ "end": "54441", "length": "7", "line": "1491", - "parentIndex": "2878", + "parentIndex": "2879", "start": "54435" }, "typeDescription": { @@ -59279,7 +59335,7 @@ } } }, - "id": "2878", + "id": "2879", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -59287,7 +59343,7 @@ "end": "54491", "length": "57", "line": "1491", - "parentIndex": "2837", + "parentIndex": "2838", "start": "54435" }, "typeDescription": { @@ -59302,23 +59358,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2887", + "id": "2888", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2889", + "id": "2890", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2856", + "referencedDeclaration": "2857", "src": { "column": "8", "end": "54509", "length": "8", "line": "1492", - "parentIndex": "2888", + "parentIndex": "2889", "start": "54502" }, "typeDescription": { @@ -59327,13 +59383,13 @@ } } }, - "id": "2888", + "id": "2889", "memberLocation": { "column": "17", "end": "54516", "length": "6", "line": "1492", - "parentIndex": "2888", + "parentIndex": "2889", "start": "54511" }, "memberName": "amount", @@ -59343,7 +59399,7 @@ "end": "54516", "length": "15", "line": "1492", - "parentIndex": "2887", + "parentIndex": "2888", "start": "54502" }, "typeDescription": { @@ -59357,23 +59413,23 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2890", + "id": "2891", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2892", + "id": "2893", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2856", + "referencedDeclaration": "2857", "src": { "column": "26", "end": "54527", "length": "8", "line": "1492", - "parentIndex": "2891", + "parentIndex": "2892", "start": "54520" }, "typeDescription": { @@ -59382,13 +59438,13 @@ } } }, - "id": "2891", + "id": "2892", "memberLocation": { "column": "35", "end": "54534", "length": "6", "line": "1492", - "parentIndex": "2891", + "parentIndex": "2892", "start": "54529" }, "memberName": "amount", @@ -59398,7 +59454,7 @@ "end": "54534", "length": "15", "line": "1492", - "parentIndex": "2890", + "parentIndex": "2891", "start": "54520" }, "typeDescription": { @@ -59416,16 +59472,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2894", + "id": "2895", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2894", + "referencedDeclaration": "2895", "src": { "column": "45", "end": "54545", "length": "7", "line": "1492", - "parentIndex": "2893", + "parentIndex": "2894", "start": "54539" }, "typeDescription": { @@ -59435,14 +59491,14 @@ } } ], - "id": "2893", + "id": "2894", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "44", "end": "54546", "length": "9", "line": "1492", - "parentIndex": "2890", + "parentIndex": "2891", "start": "54538" }, "typeDescription": { @@ -59456,7 +59512,7 @@ "end": "54546", "length": "27", "line": "1492", - "parentIndex": "2887", + "parentIndex": "2888", "start": "54520" }, "typeDescription": { @@ -59470,7 +59526,7 @@ "end": "54546", "length": "45", "line": "1492", - "parentIndex": "2886", + "parentIndex": "2887", "start": "54502" }, "typeDescription": { @@ -59479,14 +59535,14 @@ } } }, - "id": "2886", + "id": "2887", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "54547", "length": "46", "line": "1492", - "parentIndex": "2837", + "parentIndex": "2838", "start": "54502" }, "typeDescription": { @@ -59499,7 +59555,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2900", + "id": "2901", "implemented": true, "nodeType": "BLOCK", "src": { @@ -59507,7 +59563,7 @@ "end": "54953", "length": "340", "line": "1495", - "parentIndex": "2822", + "parentIndex": "2823", "start": "54614" }, "statements": [ @@ -59515,11 +59571,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2902" + "2903" ], "declarations": [ { - "id": "2902", + "id": "2903", "mutability": "MUTABLE", "name": "userLocks", "nameLocation": { @@ -59527,17 +59583,17 @@ "end": "54654", "length": "9", "line": "1496", - "parentIndex": "2902", + "parentIndex": "2903", "start": "54646" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2900", + "scope": "2901", "src": { "column": "12", "end": "54654", "length": "27", "line": "1496", - "parentIndex": "2901", + "parentIndex": "2902", "start": "54628" }, "storageLocation": "STORAGE", @@ -59546,7 +59602,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2903", + "id": "2904", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -59554,7 +59610,7 @@ "end": "54634", "length": "7", "line": "1496", - "parentIndex": "2902", + "parentIndex": "2903", "start": "54628" }, "typeDescription": { @@ -59565,23 +59621,23 @@ "visibility": "INTERNAL" } ], - "id": "2901", + "id": "2902", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2910", + "id": "2911", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2910", + "referencedDeclaration": "2911", "src": { "column": "16", "end": "54714", "length": "8", "line": "1497", - "parentIndex": "2904", + "parentIndex": "2905", "start": "54707" }, "typeDescription": { @@ -59590,7 +59646,7 @@ } } }, - "id": "2904", + "id": "2905", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -59603,7 +59659,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2909", + "id": "2910", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -59611,7 +59667,7 @@ "end": "54666", "length": "3", "line": "1496", - "parentIndex": "2908", + "parentIndex": "2909", "start": "54664" }, "typeDescription": { @@ -59620,13 +59676,13 @@ } } }, - "id": "2908", + "id": "2909", "memberLocation": { "column": "52", "end": "54673", "length": "6", "line": "1496", - "parentIndex": "2908", + "parentIndex": "2909", "start": "54668" }, "memberName": "sender", @@ -59636,7 +59692,7 @@ "end": "54673", "length": "10", "line": "1496", - "parentIndex": "2901", + "parentIndex": "2902", "start": "54664" }, "typeDescription": { @@ -59645,11 +59701,11 @@ } } }, - "id": "2906", + "id": "2907", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2907", + "id": "2908", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -59658,11 +59714,11 @@ "end": "54662", "length": "5", "line": "1496", - "parentIndex": "2906", + "parentIndex": "2907", "start": "54658" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -59673,16 +59729,16 @@ "end": "54674", "length": "17", "line": "1496", - "parentIndex": "2901", + "parentIndex": "2902", "start": "54658" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -59692,13 +59748,13 @@ ] } }, - "id": "2905", + "id": "2906", "memberLocation": { "column": "60", "end": "54688", "length": "13", "line": "1496", - "parentIndex": "2905", + "parentIndex": "2906", "start": "54676" }, "memberName": "locksForToken", @@ -59708,11 +59764,11 @@ "end": "54688", "length": "31", "line": "1496", - "parentIndex": "2901", + "parentIndex": "2902", "start": "54658" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -59723,16 +59779,16 @@ "end": "54728", "length": "71", "line": "1496", - "parentIndex": "2901", + "parentIndex": "2902", "start": "54658" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -59748,7 +59804,7 @@ "end": "54729", "length": "102", "line": "1496", - "parentIndex": "2900", + "parentIndex": "2901", "start": "54628" } } @@ -59759,23 +59815,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2912", + "id": "2913", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2915", + "id": "2916", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2915", + "referencedDeclaration": "2916", "src": { "column": "22", "end": "54758", "length": "6", "line": "1499", - "parentIndex": "2913", + "parentIndex": "2914", "start": "54753" }, "typeDescription": { @@ -59784,20 +59840,20 @@ } } }, - "id": "2913", + "id": "2914", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2914", + "id": "2915", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2901", + "referencedDeclaration": "2902", "src": { "column": "12", "end": "54751", "length": "9", "line": "1499", - "parentIndex": "2913", + "parentIndex": "2914", "start": "54743" }, "typeDescription": { @@ -59812,7 +59868,7 @@ "end": "54759", "length": "17", "line": "1499", - "parentIndex": "2912", + "parentIndex": "2913", "start": "54743" }, "typeDescription": { @@ -59839,23 +59895,23 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2918", + "id": "2919", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2920", + "id": "2921", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2901", + "referencedDeclaration": "2902", "src": { "column": "42", "end": "54781", "length": "9", "line": "1499", - "parentIndex": "2919", + "parentIndex": "2920", "start": "54773" }, "typeDescription": { @@ -59864,13 +59920,13 @@ } } }, - "id": "2919", + "id": "2920", "memberLocation": { "column": "52", "end": "54788", "length": "6", "line": "1499", - "parentIndex": "2919", + "parentIndex": "2920", "start": "54783" }, "memberName": "length", @@ -59880,7 +59936,7 @@ "end": "54788", "length": "16", "line": "1499", - "parentIndex": "2918", + "parentIndex": "2919", "start": "54773" }, "typeDescription": { @@ -59895,7 +59951,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "2921", + "id": "2922", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -59904,7 +59960,7 @@ "end": "54792", "length": "1", "line": "1499", - "parentIndex": "2918", + "parentIndex": "2919", "start": "54792" }, "typeDescription": { @@ -59919,7 +59975,7 @@ "end": "54792", "length": "20", "line": "1499", - "parentIndex": "2916", + "parentIndex": "2917", "start": "54773" }, "typeDescription": { @@ -59928,20 +59984,20 @@ } } }, - "id": "2916", + "id": "2917", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2917", + "id": "2918", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2901", + "referencedDeclaration": "2902", "src": { "column": "32", "end": "54771", "length": "9", "line": "1499", - "parentIndex": "2916", + "parentIndex": "2917", "start": "54763" }, "typeDescription": { @@ -59956,7 +60012,7 @@ "end": "54793", "length": "31", "line": "1499", - "parentIndex": "2912", + "parentIndex": "2913", "start": "54763" }, "typeDescription": { @@ -59980,7 +60036,7 @@ "end": "54793", "length": "51", "line": "1499", - "parentIndex": "2911", + "parentIndex": "2912", "start": "54743" }, "typeDescription": { @@ -59989,14 +60045,14 @@ } } }, - "id": "2911", + "id": "2912", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "54794", "length": "52", "line": "1499", - "parentIndex": "2900", + "parentIndex": "2901", "start": "54743" }, "typeDescription": { @@ -60014,16 +60070,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2924", + "id": "2925", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2901", + "referencedDeclaration": "2902", "src": { "column": "12", "end": "54816", "length": "9", "line": "1500", - "parentIndex": "2923", + "parentIndex": "2924", "start": "54808" }, "typeDescription": { @@ -60032,13 +60088,13 @@ } } }, - "id": "2923", + "id": "2924", "memberLocation": { "column": "22", "end": "54820", "length": "3", "line": "1500", - "parentIndex": "2923", + "parentIndex": "2924", "start": "54818" }, "memberName": "pop", @@ -60048,7 +60104,7 @@ "end": "54820", "length": "13", "line": "1500", - "parentIndex": "2922", + "parentIndex": "2923", "start": "54808" }, "typeDescription": { @@ -60057,7 +60113,7 @@ } } }, - "id": "2922", + "id": "2923", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60065,7 +60121,7 @@ "end": "54822", "length": "15", "line": "1500", - "parentIndex": "2900", + "parentIndex": "2901", "start": "54808" }, "typeDescription": { @@ -60078,7 +60134,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "2930", + "id": "2931", "implemented": true, "nodeType": "BLOCK", "src": { @@ -60086,7 +60142,7 @@ "end": "54943", "length": "80", "line": "1501", - "parentIndex": "2822", + "parentIndex": "2823", "start": "54864" }, "statements": [ @@ -60103,16 +60159,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2938", + "id": "2939", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2938", + "referencedDeclaration": "2939", "src": { "column": "54", "end": "54927", "length": "8", "line": "1502", - "parentIndex": "2931", + "parentIndex": "2932", "start": "54920" }, "typeDescription": { @@ -60137,7 +60193,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2937", + "id": "2938", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -60145,7 +60201,7 @@ "end": "54890", "length": "3", "line": "1502", - "parentIndex": "2936", + "parentIndex": "2937", "start": "54888" }, "typeDescription": { @@ -60154,13 +60210,13 @@ } } }, - "id": "2936", + "id": "2937", "memberLocation": { "column": "26", "end": "54897", "length": "6", "line": "1502", - "parentIndex": "2936", + "parentIndex": "2937", "start": "54892" }, "memberName": "sender", @@ -60170,7 +60226,7 @@ "end": "54897", "length": "10", "line": "1502", - "parentIndex": "2934", + "parentIndex": "2935", "start": "54888" }, "typeDescription": { @@ -60179,11 +60235,11 @@ } } }, - "id": "2934", + "id": "2935", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2935", + "id": "2936", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -60192,11 +60248,11 @@ "end": "54886", "length": "5", "line": "1502", - "parentIndex": "2934", + "parentIndex": "2935", "start": "54882" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -60207,16 +60263,16 @@ "end": "54898", "length": "17", "line": "1502", - "parentIndex": "2933", + "parentIndex": "2934", "start": "54882" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -60226,13 +60282,13 @@ ] } }, - "id": "2933", + "id": "2934", "memberLocation": { "column": "34", "end": "54911", "length": "12", "line": "1502", - "parentIndex": "2933", + "parentIndex": "2934", "start": "54900" }, "memberName": "lockedTokens", @@ -60242,22 +60298,22 @@ "end": "54911", "length": "30", "line": "1502", - "parentIndex": "2932", + "parentIndex": "2933", "start": "54882" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } }, - "id": "2932", + "id": "2933", "memberLocation": { "column": "47", "end": "54918", "length": "6", "line": "1502", - "parentIndex": "2932", + "parentIndex": "2933", "start": "54913" }, "memberName": "remove", @@ -60267,16 +60323,16 @@ "end": "54918", "length": "37", "line": "1502", - "parentIndex": "2931", + "parentIndex": "2932", "start": "54882" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } }, - "id": "2931", + "id": "2932", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60284,7 +60340,7 @@ "end": "54928", "length": "47", "line": "1502", - "parentIndex": "2930", + "parentIndex": "2931", "start": "54882" }, "typeDescription": { @@ -60298,23 +60354,23 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2926", + "id": "2927", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2928", + "id": "2929", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2901", + "referencedDeclaration": "2902", "src": { "column": "16", "end": "54849", "length": "9", "line": "1501", - "parentIndex": "2927", + "parentIndex": "2928", "start": "54841" }, "typeDescription": { @@ -60323,13 +60379,13 @@ } } }, - "id": "2927", + "id": "2928", "memberLocation": { "column": "26", "end": "54856", "length": "6", "line": "1501", - "parentIndex": "2927", + "parentIndex": "2928", "start": "54851" }, "memberName": "length", @@ -60339,7 +60395,7 @@ "end": "54856", "length": "16", "line": "1501", - "parentIndex": "2926", + "parentIndex": "2927", "start": "54841" }, "typeDescription": { @@ -60354,7 +60410,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2929", + "id": "2930", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -60363,7 +60419,7 @@ "end": "54861", "length": "1", "line": "1501", - "parentIndex": "2926", + "parentIndex": "2927", "start": "54861" }, "typeDescription": { @@ -60378,7 +60434,7 @@ "end": "54861", "length": "21", "line": "1501", - "parentIndex": "2925", + "parentIndex": "2926", "start": "54841" }, "typeDescription": { @@ -60387,13 +60443,13 @@ } } }, - "id": "2925", + "id": "2926", "nodeType": "IF_STATEMENT", "src": { "end": "54943", "length": "107", "line": "1501", - "parentIndex": "2900", + "parentIndex": "2901", "start": "54837" } } @@ -60403,23 +60459,23 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2896", + "id": "2897", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2898", + "id": "2899", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2856", + "referencedDeclaration": "2857", "src": { "column": "12", "end": "54599", "length": "8", "line": "1495", - "parentIndex": "2897", + "parentIndex": "2898", "start": "54592" }, "typeDescription": { @@ -60428,13 +60484,13 @@ } } }, - "id": "2897", + "id": "2898", "memberLocation": { "column": "21", "end": "54606", "length": "6", "line": "1495", - "parentIndex": "2897", + "parentIndex": "2898", "start": "54601" }, "memberName": "amount", @@ -60444,7 +60500,7 @@ "end": "54606", "length": "15", "line": "1495", - "parentIndex": "2896", + "parentIndex": "2897", "start": "54592" }, "typeDescription": { @@ -60459,7 +60515,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2899", + "id": "2900", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -60468,7 +60524,7 @@ "end": "54611", "length": "1", "line": "1495", - "parentIndex": "2896", + "parentIndex": "2897", "start": "54611" }, "typeDescription": { @@ -60483,7 +60539,7 @@ "end": "54611", "length": "20", "line": "1495", - "parentIndex": "2895", + "parentIndex": "2896", "start": "54592" }, "typeDescription": { @@ -60492,13 +60548,13 @@ } } }, - "id": "2895", + "id": "2896", "nodeType": "IF_STATEMENT", "src": { "end": "54953", "length": "366", "line": "1495", - "parentIndex": "2837", + "parentIndex": "2838", "start": "54588" } } @@ -60523,7 +60579,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2945", + "id": "2946", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -60531,7 +60587,7 @@ "end": "54996", "length": "3", "line": "1506", - "parentIndex": "2944", + "parentIndex": "2945", "start": "54994" }, "typeDescription": { @@ -60540,13 +60596,13 @@ } } }, - "id": "2944", + "id": "2945", "memberLocation": { "column": "42", "end": "55003", "length": "6", "line": "1506", - "parentIndex": "2944", + "parentIndex": "2945", "start": "54998" }, "memberName": "sender", @@ -60556,7 +60612,7 @@ "end": "55003", "length": "10", "line": "1506", - "parentIndex": "2939", + "parentIndex": "2940", "start": "54994" }, "typeDescription": { @@ -60574,16 +60630,16 @@ "typeString": "address" } ], - "id": "2946", + "id": "2947", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2946", + "referencedDeclaration": "2947", "src": { "column": "50", "end": "55012", "length": "7", "line": "1506", - "parentIndex": "2939", + "parentIndex": "2940", "start": "55006" }, "typeDescription": { @@ -60609,16 +60665,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2943", + "id": "2944", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2943", + "referencedDeclaration": "2944", "src": { "column": "15", "end": "54978", "length": "8", "line": "1506", - "parentIndex": "2941", + "parentIndex": "2942", "start": "54971" }, "typeDescription": { @@ -60631,7 +60687,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2942", + "id": "2943", "name": "IERC20", "nodeType": "IDENTIFIER", "src": { @@ -60639,7 +60695,7 @@ "end": "54969", "length": "6", "line": "1506", - "parentIndex": "2941", + "parentIndex": "2942", "start": "54964" }, "typeDescription": { @@ -60648,7 +60704,7 @@ } } }, - "id": "2941", + "id": "2942", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60656,7 +60712,7 @@ "end": "54979", "length": "16", "line": "1506", - "parentIndex": "2940", + "parentIndex": "2941", "start": "54964" }, "typeDescription": { @@ -60665,13 +60721,13 @@ } } }, - "id": "2940", + "id": "2941", "memberLocation": { "column": "25", "end": "54992", "length": "12", "line": "1506", - "parentIndex": "2940", + "parentIndex": "2941", "start": "54981" }, "memberName": "safeTransfer", @@ -60681,7 +60737,7 @@ "end": "54992", "length": "29", "line": "1506", - "parentIndex": "2939", + "parentIndex": "2940", "start": "54964" }, "typeDescription": { @@ -60690,7 +60746,7 @@ } } }, - "id": "2939", + "id": "2940", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -60698,7 +60754,7 @@ "end": "55013", "length": "50", "line": "1506", - "parentIndex": "2837", + "parentIndex": "2838", "start": "54964" }, "typeDescription": { @@ -60714,16 +60770,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2948", + "id": "2949", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2948", + "referencedDeclaration": "2949", "src": { "column": "24", "end": "55047", "length": "8", "line": "1507", - "parentIndex": "2947", + "parentIndex": "2948", "start": "55040" }, "typeDescription": { @@ -60735,16 +60791,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2949", + "id": "2950", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2949", + "referencedDeclaration": "2950", "src": { "column": "34", "end": "55056", "length": "7", "line": "1507", - "parentIndex": "2947", + "parentIndex": "2948", "start": "55050" }, "typeDescription": { @@ -60757,32 +60813,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2950", + "id": "2951", "name": "onWithdraw", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2111", + "referencedDeclaration": "2112", "src": { "column": "13", "end": "55038", "length": "10", "line": "1507", - "parentIndex": "2947", + "parentIndex": "2948", "start": "55029" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_KnoxLpLocker_onWithdraw_\u00262111", + "typeIdentifier": "t_event\u0026_KnoxLpLocker_onWithdraw_\u00262112", "typeString": "event KnoxLpLocker.onWithdraw" } } }, - "id": "2947", + "id": "2948", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "55058", "length": "35", "line": "1507", - "parentIndex": "2822", + "parentIndex": "2823", "start": "55024" } } @@ -60794,7 +60850,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "2952", + "id": "2953", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -60803,7 +60859,7 @@ "end": "55079", "length": "4", "line": "1509", - "parentIndex": "2951", + "parentIndex": "2952", "start": "55076" }, "typeDescription": { @@ -60813,15 +60869,15 @@ "value": "true" } }, - "functionReturnParameters": "2822", - "id": "2951", + "functionReturnParameters": "2823", + "id": "2952", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "55080", "length": "12", "line": "1509", - "parentIndex": "2822", + "parentIndex": "2823", "start": "55069" }, "typeDescription": { @@ -60832,22 +60888,22 @@ } ] }, - "id": "2822", + "id": "2823", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2832", + "id": "2833", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2833", + "id": "2834", "name": "nonReentrant", "src": { "column": "15", "end": "54061", "length": "12", "line": "1482", - "parentIndex": "2832", + "parentIndex": "2833", "start": "54050" } }, @@ -60858,7 +60914,7 @@ "end": "54061", "length": "12", "line": "1482", - "parentIndex": "2822", + "parentIndex": "2823", "start": "54050" } } @@ -60869,25 +60925,25 @@ "end": "53933", "length": "8", "line": "1477", - "parentIndex": "2822", + "parentIndex": "2823", "start": "53926" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2823", + "id": "2824", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2824", + "id": "2825", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2824", + "scope": "2825", "src": { "column": "8", "end": "53959", "length": "16", "line": "1478", - "parentIndex": "2823", + "parentIndex": "2824", "start": "53944" }, "stateMutability": "NONPAYABLE", @@ -60897,7 +60953,7 @@ "typeString": "address" }, "typeName": { - "id": "2825", + "id": "2826", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -60905,7 +60961,7 @@ "end": "53950", "length": "7", "line": "1478", - "parentIndex": "2824", + "parentIndex": "2825", "start": "53944" }, "stateMutability": "NONPAYABLE", @@ -60917,16 +60973,16 @@ "visibility": "INTERNAL" }, { - "id": "2826", + "id": "2827", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "2826", + "scope": "2827", "src": { "column": "8", "end": "53983", "length": "14", "line": "1479", - "parentIndex": "2823", + "parentIndex": "2824", "start": "53970" }, "stateMutability": "MUTABLE", @@ -60936,7 +60992,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2827", + "id": "2828", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -60944,7 +61000,7 @@ "end": "53976", "length": "7", "line": "1479", - "parentIndex": "2826", + "parentIndex": "2827", "start": "53970" }, "typeDescription": { @@ -60955,16 +61011,16 @@ "visibility": "INTERNAL" }, { - "id": "2828", + "id": "2829", "name": "_lockID", "nodeType": "VARIABLE_DECLARATION", - "scope": "2828", + "scope": "2829", "src": { "column": "8", "end": "54008", "length": "15", "line": "1480", - "parentIndex": "2823", + "parentIndex": "2824", "start": "53994" }, "stateMutability": "MUTABLE", @@ -60974,7 +61030,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2829", + "id": "2830", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -60982,7 +61038,7 @@ "end": "54000", "length": "7", "line": "1480", - "parentIndex": "2828", + "parentIndex": "2829", "start": "53994" }, "typeDescription": { @@ -60993,16 +61049,16 @@ "visibility": "INTERNAL" }, { - "id": "2830", + "id": "2831", "name": "_amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2830", + "scope": "2831", "src": { "column": "8", "end": "54033", "length": "15", "line": "1481", - "parentIndex": "2823", + "parentIndex": "2824", "start": "54019" }, "stateMutability": "MUTABLE", @@ -61012,7 +61068,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2831", + "id": "2832", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61020,7 +61076,7 @@ "end": "54025", "length": "7", "line": "1481", - "parentIndex": "2830", + "parentIndex": "2831", "start": "54019" }, "typeDescription": { @@ -61036,24 +61092,24 @@ "end": "54033", "length": "90", "line": "1478", - "parentIndex": "2822", + "parentIndex": "2823", "start": "53944" } }, "returnParameters": { - "id": "2834", + "id": "2835", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2835", + "id": "2836", "nodeType": "VARIABLE_DECLARATION", - "scope": "2835", + "scope": "2836", "src": { "column": "37", "end": "54075", "length": "4", "line": "1482", - "parentIndex": "2834", + "parentIndex": "2835", "start": "54072" }, "stateMutability": "MUTABLE", @@ -61063,7 +61119,7 @@ "typeString": "bool" }, "typeName": { - "id": "2836", + "id": "2837", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61071,7 +61127,7 @@ "end": "54075", "length": "4", "line": "1482", - "parentIndex": "2835", + "parentIndex": "2836", "start": "54072" }, "typeDescription": { @@ -61087,12 +61143,12 @@ "end": "54075", "length": "4", "line": "1482", - "parentIndex": "2822", + "parentIndex": "2823", "start": "54072" } }, "scope": "1998", - "signature": "3b1a61b0", + "signature": "4532d776", "src": { "column": "4", "end": "55086", @@ -61113,7 +61169,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2969", + "id": "2970", "implemented": true, "nodeType": "BLOCK", "src": { @@ -61121,7 +61177,7 @@ "end": "56487", "length": "1003", "line": "1521", - "parentIndex": "2954", + "parentIndex": "2955", "start": "55485" }, "statements": [ @@ -61142,20 +61198,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2972", + "id": "2973", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2973", + "id": "2974", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2973", + "referencedDeclaration": "2974", "src": { "column": "16", "end": "55509", "length": "7", "line": "1522", - "parentIndex": "2972", + "parentIndex": "2973", "start": "55503" }, "typeDescription": { @@ -61170,7 +61226,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "2974", + "id": "2975", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -61179,7 +61235,7 @@ "end": "55513", "length": "1", "line": "1522", - "parentIndex": "2972", + "parentIndex": "2973", "start": "55513" }, "typeDescription": { @@ -61194,7 +61250,7 @@ "end": "55513", "length": "11", "line": "1522", - "parentIndex": "2970", + "parentIndex": "2971", "start": "55503" }, "typeDescription": { @@ -61213,7 +61269,7 @@ } ], "hexValue": "5a45524f20414d4f554e54", - "id": "2975", + "id": "2976", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -61222,7 +61278,7 @@ "end": "55528", "length": "13", "line": "1522", - "parentIndex": "2970", + "parentIndex": "2971", "start": "55516" }, "typeDescription": { @@ -61236,7 +61292,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2971", + "id": "2972", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -61245,7 +61301,7 @@ "end": "55501", "length": "7", "line": "1522", - "parentIndex": "2970", + "parentIndex": "2971", "start": "55495" }, "typeDescription": { @@ -61254,7 +61310,7 @@ } } }, - "id": "2970", + "id": "2971", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -61262,7 +61318,7 @@ "end": "55529", "length": "35", "line": "1522", - "parentIndex": "2969", + "parentIndex": "2970", "start": "55495" }, "typeDescription": { @@ -61275,11 +61331,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2977" + "2978" ], "declarations": [ { - "id": "2977", + "id": "2978", "mutability": "MUTABLE", "name": "lockID", "nameLocation": { @@ -61287,17 +61343,17 @@ "end": "55553", "length": "6", "line": "1523", - "parentIndex": "2977", + "parentIndex": "2978", "start": "55548" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2969", + "scope": "2970", "src": { "column": "8", "end": "55553", "length": "14", "line": "1523", - "parentIndex": "2976", + "parentIndex": "2977", "start": "55540" }, "storageLocation": "DEFAULT", @@ -61306,7 +61362,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2978", + "id": "2979", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -61314,7 +61370,7 @@ "end": "55546", "length": "7", "line": "1523", - "parentIndex": "2977", + "parentIndex": "2978", "start": "55540" }, "typeDescription": { @@ -61325,23 +61381,23 @@ "visibility": "INTERNAL" } ], - "id": "2976", + "id": "2977", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2987", + "id": "2988", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2987", + "referencedDeclaration": "2988", "src": { "column": "67", "end": "55604", "length": "6", "line": "1523", - "parentIndex": "2979", + "parentIndex": "2980", "start": "55599" }, "typeDescription": { @@ -61350,23 +61406,23 @@ } } }, - "id": "2979", + "id": "2980", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2986", + "id": "2987", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2986", + "referencedDeclaration": "2987", "src": { "column": "57", "end": "55596", "length": "8", "line": "1523", - "parentIndex": "2980", + "parentIndex": "2981", "start": "55589" }, "typeDescription": { @@ -61375,7 +61431,7 @@ } } }, - "id": "2980", + "id": "2981", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -61388,7 +61444,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2985", + "id": "2986", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -61396,7 +61452,7 @@ "end": "55565", "length": "3", "line": "1523", - "parentIndex": "2984", + "parentIndex": "2985", "start": "55563" }, "typeDescription": { @@ -61405,13 +61461,13 @@ } } }, - "id": "2984", + "id": "2985", "memberLocation": { "column": "35", "end": "55572", "length": "6", "line": "1523", - "parentIndex": "2984", + "parentIndex": "2985", "start": "55567" }, "memberName": "sender", @@ -61421,7 +61477,7 @@ "end": "55572", "length": "10", "line": "1523", - "parentIndex": "2976", + "parentIndex": "2977", "start": "55563" }, "typeDescription": { @@ -61430,11 +61486,11 @@ } } }, - "id": "2982", + "id": "2983", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2983", + "id": "2984", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -61443,11 +61499,11 @@ "end": "55561", "length": "5", "line": "1523", - "parentIndex": "2982", + "parentIndex": "2983", "start": "55557" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -61458,16 +61514,16 @@ "end": "55573", "length": "17", "line": "1523", - "parentIndex": "2976", + "parentIndex": "2977", "start": "55557" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -61477,13 +61533,13 @@ ] } }, - "id": "2981", + "id": "2982", "memberLocation": { "column": "43", "end": "55587", "length": "13", "line": "1523", - "parentIndex": "2981", + "parentIndex": "2982", "start": "55575" }, "memberName": "locksForToken", @@ -61493,11 +61549,11 @@ "end": "55587", "length": "31", "line": "1523", - "parentIndex": "2976", + "parentIndex": "2977", "start": "55557" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -61508,16 +61564,16 @@ "end": "55597", "length": "41", "line": "1523", - "parentIndex": "2976", + "parentIndex": "2977", "start": "55557" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -61533,16 +61589,16 @@ "end": "55605", "length": "49", "line": "1523", - "parentIndex": "2976", + "parentIndex": "2977", "start": "55557" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "typeString": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -61558,7 +61614,7 @@ "end": "55606", "length": "67", "line": "1523", - "parentIndex": "2969", + "parentIndex": "2970", "start": "55540" } } @@ -61567,11 +61623,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2989" + "2990" ], "declarations": [ { - "id": "2989", + "id": "2990", "mutability": "MUTABLE", "name": "userLock", "nameLocation": { @@ -61579,17 +61635,17 @@ "end": "55641", "length": "8", "line": "1524", - "parentIndex": "2989", + "parentIndex": "2990", "start": "55634" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2969", + "scope": "2970", "src": { "column": "8", "end": "55641", "length": "26", "line": "1524", - "parentIndex": "2988", + "parentIndex": "2989", "start": "55616" }, "storageLocation": "STORAGE", @@ -61598,17 +61654,17 @@ "typeString": "struct KnoxLpLocker.TokenLock" }, "typeName": { - "id": "2990", + "id": "2991", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "2991", + "id": "2992", "name": "TokenLock", "nameLocation": { "column": "8", "end": "55624", "length": "9", "line": "1524", - "parentIndex": "2990", + "parentIndex": "2991", "start": "55616" }, "nodeType": "IDENTIFIER_PATH", @@ -61618,7 +61674,7 @@ "end": "55624", "length": "9", "line": "1524", - "parentIndex": "2990", + "parentIndex": "2991", "start": "55616" } }, @@ -61628,7 +61684,7 @@ "end": "55624", "length": "9", "line": "1524", - "parentIndex": "2989", + "parentIndex": "2990", "start": "55616" }, "typeDescription": { @@ -61639,23 +61695,23 @@ "visibility": "INTERNAL" } ], - "id": "2988", + "id": "2989", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2996", + "id": "2997", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2976", + "referencedDeclaration": "2977", "src": { "column": "58", "end": "55671", "length": "6", "line": "1524", - "parentIndex": "2992", + "parentIndex": "2993", "start": "55666" }, "typeDescription": { @@ -61664,23 +61720,23 @@ } } }, - "id": "2992", + "id": "2993", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2995", + "id": "2996", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2995", + "referencedDeclaration": "2996", "src": { "column": "48", "end": "55663", "length": "8", "line": "1524", - "parentIndex": "2993", + "parentIndex": "2994", "start": "55656" }, "typeDescription": { @@ -61689,20 +61745,20 @@ } } }, - "id": "2993", + "id": "2994", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2994", + "id": "2995", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "37", "end": "55654", "length": "10", "line": "1524", - "parentIndex": "2993", + "parentIndex": "2994", "start": "55645" }, "typeDescription": { @@ -61717,7 +61773,7 @@ "end": "55664", "length": "20", "line": "1524", - "parentIndex": "2988", + "parentIndex": "2989", "start": "55645" }, "typeDescription": { @@ -61742,7 +61798,7 @@ "end": "55672", "length": "28", "line": "1524", - "parentIndex": "2988", + "parentIndex": "2989", "start": "55645" }, "typeDescription": { @@ -61767,7 +61823,7 @@ "end": "55673", "length": "58", "line": "1524", - "parentIndex": "2969", + "parentIndex": "2970", "start": "55616" } } @@ -61793,20 +61849,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3001", + "id": "3002", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3002", + "id": "3003", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2976", + "referencedDeclaration": "2977", "src": { "column": "12", "end": "55709", "length": "6", "line": "1526", - "parentIndex": "3001", + "parentIndex": "3002", "start": "55704" }, "typeDescription": { @@ -61820,16 +61876,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3003", + "id": "3004", "name": "_lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3003", + "referencedDeclaration": "3004", "src": { "column": "22", "end": "55720", "length": "7", "line": "1526", - "parentIndex": "3001", + "parentIndex": "3002", "start": "55714" }, "typeDescription": { @@ -61843,7 +61899,7 @@ "end": "55720", "length": "17", "line": "1526", - "parentIndex": "3000", + "parentIndex": "3001", "start": "55704" }, "typeDescription": { @@ -61855,23 +61911,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3004", + "id": "3005", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3006", + "id": "3007", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2988", + "referencedDeclaration": "2989", "src": { "column": "33", "end": "55732", "length": "8", "line": "1526", - "parentIndex": "3005", + "parentIndex": "3006", "start": "55725" }, "typeDescription": { @@ -61880,13 +61936,13 @@ } } }, - "id": "3005", + "id": "3006", "memberLocation": { "column": "42", "end": "55738", "length": "5", "line": "1526", - "parentIndex": "3005", + "parentIndex": "3006", "start": "55734" }, "memberName": "owner", @@ -61896,7 +61952,7 @@ "end": "55738", "length": "14", "line": "1526", - "parentIndex": "3004", + "parentIndex": "3005", "start": "55725" }, "typeDescription": { @@ -61913,7 +61969,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3008", + "id": "3009", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -61921,7 +61977,7 @@ "end": "55745", "length": "3", "line": "1526", - "parentIndex": "3007", + "parentIndex": "3008", "start": "55743" }, "typeDescription": { @@ -61930,13 +61986,13 @@ } } }, - "id": "3007", + "id": "3008", "memberLocation": { "column": "55", "end": "55752", "length": "6", "line": "1526", - "parentIndex": "3007", + "parentIndex": "3008", "start": "55747" }, "memberName": "sender", @@ -61946,7 +62002,7 @@ "end": "55752", "length": "10", "line": "1526", - "parentIndex": "3004", + "parentIndex": "3005", "start": "55743" }, "typeDescription": { @@ -61960,7 +62016,7 @@ "end": "55752", "length": "28", "line": "1526", - "parentIndex": "3000", + "parentIndex": "3001", "start": "55725" }, "typeDescription": { @@ -61970,14 +62026,14 @@ } } ], - "id": "3000", + "id": "3001", "nodeType": "AND_OPERATION", "src": { "column": "12", "end": "55752", "length": "49", "line": "1526", - "parentIndex": "2997", + "parentIndex": "2998", "start": "55704" }, "typeDescriptions": [ @@ -62002,7 +62058,7 @@ } ], "hexValue": "4c4f434b204d49534d41544348", - "id": "3009", + "id": "3010", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -62011,7 +62067,7 @@ "end": "55781", "length": "15", "line": "1527", - "parentIndex": "2997", + "parentIndex": "2998", "start": "55767" }, "typeDescription": { @@ -62025,7 +62081,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2998", + "id": "2999", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -62034,7 +62090,7 @@ "end": "55689", "length": "7", "line": "1525", - "parentIndex": "2997", + "parentIndex": "2998", "start": "55683" }, "typeDescription": { @@ -62043,7 +62099,7 @@ } } }, - "id": "2997", + "id": "2998", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62051,7 +62107,7 @@ "end": "55791", "length": "109", "line": "1525", - "parentIndex": "2969", + "parentIndex": "2970", "start": "55683" }, "typeDescription": { @@ -62094,7 +62150,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3019", + "id": "3020", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -62102,7 +62158,7 @@ "end": "55896", "length": "3", "line": "1531", - "parentIndex": "3018", + "parentIndex": "3019", "start": "55894" }, "typeDescription": { @@ -62111,13 +62167,13 @@ } } }, - "id": "3018", + "id": "3019", "memberLocation": { "column": "24", "end": "55903", "length": "6", "line": "1531", - "parentIndex": "3018", + "parentIndex": "3019", "start": "55898" }, "memberName": "sender", @@ -62127,7 +62183,7 @@ "end": "55903", "length": "10", "line": "1531", - "parentIndex": "3015", + "parentIndex": "3016", "start": "55894" }, "typeDescription": { @@ -62146,7 +62202,7 @@ "typeString": "address" } ], - "id": "3016", + "id": "3017", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -62154,7 +62210,7 @@ "end": "55892", "length": "7", "line": "1531", - "parentIndex": "3015", + "parentIndex": "3016", "start": "55886" }, "typeDescription": { @@ -62162,7 +62218,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3017", + "id": "3018", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -62170,7 +62226,7 @@ "end": "55892", "length": "7", "line": "1531", - "parentIndex": "3016", + "parentIndex": "3017", "start": "55886" }, "stateMutability": "NONPAYABLE", @@ -62181,7 +62237,7 @@ } } }, - "id": "3015", + "id": "3016", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62189,7 +62245,7 @@ "end": "55904", "length": "19", "line": "1531", - "parentIndex": "3010", + "parentIndex": "3011", "start": "55886" }, "typeDescription": { @@ -62211,7 +62267,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3023", + "id": "3024", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -62219,7 +62275,7 @@ "end": "55930", "length": "4", "line": "1532", - "parentIndex": "3020", + "parentIndex": "3021", "start": "55927" }, "typeDescription": { @@ -62238,7 +62294,7 @@ "typeString": "address" } ], - "id": "3021", + "id": "3022", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -62246,7 +62302,7 @@ "end": "55925", "length": "7", "line": "1532", - "parentIndex": "3020", + "parentIndex": "3021", "start": "55919" }, "typeDescription": { @@ -62254,7 +62310,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3022", + "id": "3023", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -62262,7 +62318,7 @@ "end": "55925", "length": "7", "line": "1532", - "parentIndex": "3021", + "parentIndex": "3022", "start": "55919" }, "stateMutability": "NONPAYABLE", @@ -62273,7 +62329,7 @@ } } }, - "id": "3020", + "id": "3021", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62281,7 +62337,7 @@ "end": "55931", "length": "13", "line": "1532", - "parentIndex": "3010", + "parentIndex": "3011", "start": "55919" }, "typeDescription": { @@ -62303,16 +62359,16 @@ "typeString": "function(address)" } ], - "id": "3024", + "id": "3025", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3024", + "referencedDeclaration": "3025", "src": { "column": "12", "end": "55952", "length": "7", "line": "1533", - "parentIndex": "3010", + "parentIndex": "3011", "start": "55946" }, "typeDescription": { @@ -62338,16 +62394,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3014", + "id": "3015", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3014", + "referencedDeclaration": "3015", "src": { "column": "15", "end": "55853", "length": "8", "line": "1530", - "parentIndex": "3012", + "parentIndex": "3013", "start": "55846" }, "typeDescription": { @@ -62360,7 +62416,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3013", + "id": "3014", "name": "IERC20", "nodeType": "IDENTIFIER", "src": { @@ -62368,7 +62424,7 @@ "end": "55844", "length": "6", "line": "1530", - "parentIndex": "3012", + "parentIndex": "3013", "start": "55839" }, "typeDescription": { @@ -62377,7 +62433,7 @@ } } }, - "id": "3012", + "id": "3013", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62385,7 +62441,7 @@ "end": "55854", "length": "16", "line": "1530", - "parentIndex": "3011", + "parentIndex": "3012", "start": "55839" }, "typeDescription": { @@ -62394,13 +62450,13 @@ } } }, - "id": "3011", + "id": "3012", "memberLocation": { "column": "25", "end": "55871", "length": "16", "line": "1530", - "parentIndex": "3011", + "parentIndex": "3012", "start": "55856" }, "memberName": "safeTransferFrom", @@ -62410,7 +62466,7 @@ "end": "55871", "length": "33", "line": "1530", - "parentIndex": "3010", + "parentIndex": "3011", "start": "55839" }, "typeDescription": { @@ -62419,7 +62475,7 @@ } } }, - "id": "3010", + "id": "3011", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62427,7 +62483,7 @@ "end": "55962", "length": "124", "line": "1530", - "parentIndex": "2969", + "parentIndex": "2970", "start": "55839" }, "typeDescription": { @@ -62440,11 +62496,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3026" + "3027" ], "declarations": [ { - "id": "3026", + "id": "3027", "mutability": "MUTABLE", "name": "liquidityFee", "nameLocation": { @@ -62452,17 +62508,17 @@ "end": "56034", "length": "12", "line": "1537", - "parentIndex": "3026", + "parentIndex": "3027", "start": "56023" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2969", + "scope": "2970", "src": { "column": "8", "end": "56034", "length": "20", "line": "1537", - "parentIndex": "3025", + "parentIndex": "3026", "start": "56015" }, "storageLocation": "DEFAULT", @@ -62471,7 +62527,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3027", + "id": "3028", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -62479,7 +62535,7 @@ "end": "56021", "length": "7", "line": "1537", - "parentIndex": "3026", + "parentIndex": "3027", "start": "56015" }, "typeDescription": { @@ -62490,11 +62546,11 @@ "visibility": "INTERNAL" } ], - "id": "3025", + "id": "3026", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3028", + "id": "3029", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -62502,20 +62558,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3030", + "id": "3031", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3031", + "id": "3032", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3031", + "referencedDeclaration": "3032", "src": { "column": "32", "end": "56045", "length": "7", "line": "1537", - "parentIndex": "3030", + "parentIndex": "3031", "start": "56039" }, "typeDescription": { @@ -62536,31 +62592,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3034", + "id": "3035", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "43", "end": "56054", "length": "5", "line": "1537", - "parentIndex": "3033", + "parentIndex": "3034", "start": "56050" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "3033", + "id": "3034", "memberLocation": { "column": "49", "end": "56067", "length": "12", "line": "1537", - "parentIndex": "3033", + "parentIndex": "3034", "start": "56056" }, "memberName": "liquidityFee", @@ -62570,28 +62626,28 @@ "end": "56067", "length": "18", "line": "1537", - "parentIndex": "3025", + "parentIndex": "3026", "start": "56050" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } } ], - "id": "3032", + "id": "3033", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "42", "end": "56068", "length": "20", "line": "1537", - "parentIndex": "3030", + "parentIndex": "3031", "start": "56049" }, "typeDescription": { - "typeIdentifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "typeIdentifier": "t_tuple_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "typeString": "tuple(struct KnoxLpLocker.FeeStruct)" } } @@ -62601,7 +62657,7 @@ "end": "56068", "length": "30", "line": "1537", - "parentIndex": "3029", + "parentIndex": "3030", "start": "56039" }, "typeDescription": { @@ -62611,14 +62667,14 @@ } } ], - "id": "3029", + "id": "3030", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "31", "end": "56069", "length": "32", "line": "1537", - "parentIndex": "3028", + "parentIndex": "3029", "start": "56038" }, "typeDescription": { @@ -62637,7 +62693,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31303030", - "id": "3036", + "id": "3037", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -62646,7 +62702,7 @@ "end": "56077", "length": "4", "line": "1537", - "parentIndex": "3035", + "parentIndex": "3036", "start": "56074" }, "typeDescription": { @@ -62657,7 +62713,7 @@ } } ], - "id": "3035", + "id": "3036", "isPure": true, "nodeType": "TUPLE_EXPRESSION", "src": { @@ -62665,7 +62721,7 @@ "end": "56078", "length": "6", "line": "1537", - "parentIndex": "3028", + "parentIndex": "3029", "start": "56073" }, "typeDescription": { @@ -62679,7 +62735,7 @@ "end": "56078", "length": "41", "line": "1537", - "parentIndex": "3025", + "parentIndex": "3026", "start": "56038" }, "typeDescription": { @@ -62694,7 +62750,7 @@ "end": "56079", "length": "65", "line": "1537", - "parentIndex": "2969", + "parentIndex": "2970", "start": "56015" } } @@ -62716,7 +62772,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3042", + "id": "3043", "name": "devaddr", "nodeType": "IDENTIFIER", "src": { @@ -62724,7 +62780,7 @@ "end": "56125", "length": "7", "line": "1538", - "parentIndex": "3037", + "parentIndex": "3038", "start": "56119" }, "typeDescription": { @@ -62742,16 +62798,16 @@ "typeString": "function()" } ], - "id": "3043", + "id": "3044", "name": "liquidityFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3025", + "referencedDeclaration": "3026", "src": { "column": "47", "end": "56139", "length": "12", "line": "1538", - "parentIndex": "3037", + "parentIndex": "3038", "start": "56128" }, "typeDescription": { @@ -62777,16 +62833,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3041", + "id": "3042", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3041", + "referencedDeclaration": "3042", "src": { "column": "15", "end": "56103", "length": "8", "line": "1538", - "parentIndex": "3039", + "parentIndex": "3040", "start": "56096" }, "typeDescription": { @@ -62799,7 +62855,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3040", + "id": "3041", "name": "IERC20", "nodeType": "IDENTIFIER", "src": { @@ -62807,7 +62863,7 @@ "end": "56094", "length": "6", "line": "1538", - "parentIndex": "3039", + "parentIndex": "3040", "start": "56089" }, "typeDescription": { @@ -62816,7 +62872,7 @@ } } }, - "id": "3039", + "id": "3040", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62824,7 +62880,7 @@ "end": "56104", "length": "16", "line": "1538", - "parentIndex": "3038", + "parentIndex": "3039", "start": "56089" }, "typeDescription": { @@ -62833,13 +62889,13 @@ } } }, - "id": "3038", + "id": "3039", "memberLocation": { "column": "25", "end": "56117", "length": "12", "line": "1538", - "parentIndex": "3038", + "parentIndex": "3039", "start": "56106" }, "memberName": "safeTransfer", @@ -62849,7 +62905,7 @@ "end": "56117", "length": "29", "line": "1538", - "parentIndex": "3037", + "parentIndex": "3038", "start": "56089" }, "typeDescription": { @@ -62858,7 +62914,7 @@ } } }, - "id": "3037", + "id": "3038", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -62866,7 +62922,7 @@ "end": "56140", "length": "52", "line": "1538", - "parentIndex": "2969", + "parentIndex": "2970", "start": "56089" }, "typeDescription": { @@ -62879,11 +62935,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3045" + "3046" ], "declarations": [ { - "id": "3045", + "id": "3046", "mutability": "MUTABLE", "name": "amountLocked", "nameLocation": { @@ -62891,17 +62947,17 @@ "end": "56170", "length": "12", "line": "1539", - "parentIndex": "3045", + "parentIndex": "3046", "start": "56159" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2969", + "scope": "2970", "src": { "column": "8", "end": "56170", "length": "20", "line": "1539", - "parentIndex": "3044", + "parentIndex": "3045", "start": "56151" }, "storageLocation": "DEFAULT", @@ -62910,7 +62966,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3046", + "id": "3047", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -62918,7 +62974,7 @@ "end": "56157", "length": "7", "line": "1539", - "parentIndex": "3045", + "parentIndex": "3046", "start": "56151" }, "typeDescription": { @@ -62929,24 +62985,24 @@ "visibility": "INTERNAL" } ], - "id": "3044", + "id": "3045", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3047", + "id": "3048", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3048", + "id": "3049", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3048", + "referencedDeclaration": "3049", "src": { "column": "31", "end": "56180", "length": "7", "line": "1539", - "parentIndex": "3047", + "parentIndex": "3048", "start": "56174" }, "typeDescription": { @@ -62964,16 +63020,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3050", + "id": "3051", "name": "liquidityFee", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3025", + "referencedDeclaration": "3026", "src": { "column": "42", "end": "56196", "length": "12", "line": "1539", - "parentIndex": "3049", + "parentIndex": "3050", "start": "56185" }, "typeDescription": { @@ -62983,14 +63039,14 @@ } } ], - "id": "3049", + "id": "3050", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "41", "end": "56197", "length": "14", "line": "1539", - "parentIndex": "3047", + "parentIndex": "3048", "start": "56184" }, "typeDescription": { @@ -63004,7 +63060,7 @@ "end": "56197", "length": "24", "line": "1539", - "parentIndex": "3044", + "parentIndex": "3045", "start": "56174" }, "typeDescription": { @@ -63019,7 +63075,7 @@ "end": "56198", "length": "48", "line": "1539", - "parentIndex": "2969", + "parentIndex": "2970", "start": "56151" } } @@ -63030,23 +63086,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3052", + "id": "3053", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3054", + "id": "3055", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2988", + "referencedDeclaration": "2989", "src": { "column": "8", "end": "56216", "length": "8", "line": "1541", - "parentIndex": "3053", + "parentIndex": "3054", "start": "56209" }, "typeDescription": { @@ -63055,13 +63111,13 @@ } } }, - "id": "3053", + "id": "3054", "memberLocation": { "column": "17", "end": "56223", "length": "6", "line": "1541", - "parentIndex": "3053", + "parentIndex": "3054", "start": "56218" }, "memberName": "amount", @@ -63071,7 +63127,7 @@ "end": "56223", "length": "15", "line": "1541", - "parentIndex": "3052", + "parentIndex": "3053", "start": "56209" }, "typeDescription": { @@ -63085,23 +63141,23 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3055", + "id": "3056", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3057", + "id": "3058", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2988", + "referencedDeclaration": "2989", "src": { "column": "26", "end": "56234", "length": "8", "line": "1541", - "parentIndex": "3056", + "parentIndex": "3057", "start": "56227" }, "typeDescription": { @@ -63110,13 +63166,13 @@ } } }, - "id": "3056", + "id": "3057", "memberLocation": { "column": "35", "end": "56241", "length": "6", "line": "1541", - "parentIndex": "3056", + "parentIndex": "3057", "start": "56236" }, "memberName": "amount", @@ -63126,7 +63182,7 @@ "end": "56241", "length": "15", "line": "1541", - "parentIndex": "3055", + "parentIndex": "3056", "start": "56227" }, "typeDescription": { @@ -63144,16 +63200,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3059", + "id": "3060", "name": "amountLocked", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3044", + "referencedDeclaration": "3045", "src": { "column": "45", "end": "56257", "length": "12", "line": "1541", - "parentIndex": "3058", + "parentIndex": "3059", "start": "56246" }, "typeDescription": { @@ -63163,14 +63219,14 @@ } } ], - "id": "3058", + "id": "3059", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "44", "end": "56258", "length": "14", "line": "1541", - "parentIndex": "3055", + "parentIndex": "3056", "start": "56245" }, "typeDescription": { @@ -63184,7 +63240,7 @@ "end": "56258", "length": "32", "line": "1541", - "parentIndex": "3052", + "parentIndex": "3053", "start": "56227" }, "typeDescription": { @@ -63198,7 +63254,7 @@ "end": "56258", "length": "50", "line": "1541", - "parentIndex": "3051", + "parentIndex": "3052", "start": "56209" }, "typeDescription": { @@ -63207,14 +63263,14 @@ } } }, - "id": "3051", + "id": "3052", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "56259", "length": "51", "line": "1541", - "parentIndex": "2969", + "parentIndex": "2970", "start": "56209" }, "typeDescription": { @@ -63230,16 +63286,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3061", + "id": "3062", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3061", + "referencedDeclaration": "3062", "src": { "column": "12", "end": "56305", "length": "8", "line": "1544", - "parentIndex": "3060", + "parentIndex": "3061", "start": "56298" }, "typeDescription": { @@ -63254,7 +63310,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3063", + "id": "3064", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -63262,7 +63318,7 @@ "end": "56322", "length": "3", "line": "1545", - "parentIndex": "3062", + "parentIndex": "3063", "start": "56320" }, "typeDescription": { @@ -63271,13 +63327,13 @@ } } }, - "id": "3062", + "id": "3063", "memberLocation": { "column": "16", "end": "56329", "length": "6", "line": "1545", - "parentIndex": "3062", + "parentIndex": "3063", "start": "56324" }, "memberName": "sender", @@ -63287,7 +63343,7 @@ "end": "56329", "length": "10", "line": "1545", - "parentIndex": "3060", + "parentIndex": "3061", "start": "56320" }, "typeDescription": { @@ -63299,16 +63355,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3064", + "id": "3065", "name": "amountLocked", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3044", + "referencedDeclaration": "3045", "src": { "column": "12", "end": "56355", "length": "12", "line": "1546", - "parentIndex": "3060", + "parentIndex": "3061", "start": "56344" }, "typeDescription": { @@ -63323,16 +63379,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3066", + "id": "3067", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2988", + "referencedDeclaration": "2989", "src": { "column": "12", "end": "56377", "length": "8", "line": "1547", - "parentIndex": "3065", + "parentIndex": "3066", "start": "56370" }, "typeDescription": { @@ -63341,13 +63397,13 @@ } } }, - "id": "3065", + "id": "3066", "memberLocation": { "column": "21", "end": "56386", "length": "8", "line": "1547", - "parentIndex": "3065", + "parentIndex": "3066", "start": "56379" }, "memberName": "lockDate", @@ -63357,7 +63413,7 @@ "end": "56386", "length": "17", "line": "1547", - "parentIndex": "3060", + "parentIndex": "3061", "start": "56370" }, "typeDescription": { @@ -63372,16 +63428,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3068", + "id": "3069", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2988", + "referencedDeclaration": "2989", "src": { "column": "12", "end": "56408", "length": "8", "line": "1548", - "parentIndex": "3067", + "parentIndex": "3068", "start": "56401" }, "typeDescription": { @@ -63390,13 +63446,13 @@ } } }, - "id": "3067", + "id": "3068", "memberLocation": { "column": "21", "end": "56419", "length": "10", "line": "1548", - "parentIndex": "3067", + "parentIndex": "3068", "start": "56410" }, "memberName": "unlockDate", @@ -63406,7 +63462,7 @@ "end": "56419", "length": "19", "line": "1548", - "parentIndex": "3060", + "parentIndex": "3061", "start": "56401" }, "typeDescription": { @@ -63421,16 +63477,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3070", + "id": "3071", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2988", + "referencedDeclaration": "2989", "src": { "column": "12", "end": "56441", "length": "8", "line": "1549", - "parentIndex": "3069", + "parentIndex": "3070", "start": "56434" }, "typeDescription": { @@ -63439,13 +63495,13 @@ } } }, - "id": "3069", + "id": "3070", "memberLocation": { "column": "21", "end": "56448", "length": "6", "line": "1549", - "parentIndex": "3069", + "parentIndex": "3070", "start": "56443" }, "memberName": "lockID", @@ -63455,7 +63511,7 @@ "end": "56448", "length": "15", "line": "1549", - "parentIndex": "3060", + "parentIndex": "3061", "start": "56434" }, "typeDescription": { @@ -63468,32 +63524,32 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3071", + "id": "3072", "name": "onDeposit", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2096", + "referencedDeclaration": "2097", "src": { "column": "13", "end": "56283", "length": "9", "line": "1543", - "parentIndex": "3060", + "parentIndex": "3061", "start": "56275" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262096", + "typeIdentifier": "t_event\u0026_KnoxLpLocker_onDeposit_\u00262097", "typeString": "event KnoxLpLocker.onDeposit" } } }, - "id": "3060", + "id": "3061", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "56459", "length": "190", "line": "1543", - "parentIndex": "2954", + "parentIndex": "2955", "start": "56270" } } @@ -63505,7 +63561,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "3073", + "id": "3074", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -63514,7 +63570,7 @@ "end": "56480", "length": "4", "line": "1552", - "parentIndex": "3072", + "parentIndex": "3073", "start": "56477" }, "typeDescription": { @@ -63524,15 +63580,15 @@ "value": "true" } }, - "functionReturnParameters": "2954", - "id": "3072", + "functionReturnParameters": "2955", + "id": "3073", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "56481", "length": "12", "line": "1552", - "parentIndex": "2954", + "parentIndex": "2955", "start": "56470" }, "typeDescription": { @@ -63543,22 +63599,22 @@ } ] }, - "id": "2954", + "id": "2955", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "2964", + "id": "2965", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "2965", + "id": "2966", "name": "nonReentrant", "src": { "column": "15", "end": "55468", "length": "12", "line": "1521", - "parentIndex": "2964", + "parentIndex": "2965", "start": "55457" } }, @@ -63569,7 +63625,7 @@ "end": "55468", "length": "12", "line": "1521", - "parentIndex": "2954", + "parentIndex": "2955", "start": "55457" } } @@ -63580,25 +63636,25 @@ "end": "55340", "length": "13", "line": "1516", - "parentIndex": "2954", + "parentIndex": "2955", "start": "55328" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2955", + "id": "2956", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2956", + "id": "2957", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "2956", + "scope": "2957", "src": { "column": "8", "end": "55366", "length": "16", "line": "1517", - "parentIndex": "2955", + "parentIndex": "2956", "start": "55351" }, "stateMutability": "NONPAYABLE", @@ -63608,7 +63664,7 @@ "typeString": "address" }, "typeName": { - "id": "2957", + "id": "2958", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -63616,7 +63672,7 @@ "end": "55357", "length": "7", "line": "1517", - "parentIndex": "2956", + "parentIndex": "2957", "start": "55351" }, "stateMutability": "NONPAYABLE", @@ -63628,16 +63684,16 @@ "visibility": "INTERNAL" }, { - "id": "2958", + "id": "2959", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "2958", + "scope": "2959", "src": { "column": "8", "end": "55390", "length": "14", "line": "1518", - "parentIndex": "2955", + "parentIndex": "2956", "start": "55377" }, "stateMutability": "MUTABLE", @@ -63647,7 +63703,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2959", + "id": "2960", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -63655,7 +63711,7 @@ "end": "55383", "length": "7", "line": "1518", - "parentIndex": "2958", + "parentIndex": "2959", "start": "55377" }, "typeDescription": { @@ -63666,16 +63722,16 @@ "visibility": "INTERNAL" }, { - "id": "2960", + "id": "2961", "name": "_lockID", "nodeType": "VARIABLE_DECLARATION", - "scope": "2960", + "scope": "2961", "src": { "column": "8", "end": "55415", "length": "15", "line": "1519", - "parentIndex": "2955", + "parentIndex": "2956", "start": "55401" }, "stateMutability": "MUTABLE", @@ -63685,7 +63741,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2961", + "id": "2962", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -63693,7 +63749,7 @@ "end": "55407", "length": "7", "line": "1519", - "parentIndex": "2960", + "parentIndex": "2961", "start": "55401" }, "typeDescription": { @@ -63704,16 +63760,16 @@ "visibility": "INTERNAL" }, { - "id": "2962", + "id": "2963", "name": "_amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2962", + "scope": "2963", "src": { "column": "8", "end": "55440", "length": "15", "line": "1520", - "parentIndex": "2955", + "parentIndex": "2956", "start": "55426" }, "stateMutability": "MUTABLE", @@ -63723,7 +63779,7 @@ "typeString": "uint256" }, "typeName": { - "id": "2963", + "id": "2964", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -63731,7 +63787,7 @@ "end": "55432", "length": "7", "line": "1520", - "parentIndex": "2962", + "parentIndex": "2963", "start": "55426" }, "typeDescription": { @@ -63747,24 +63803,24 @@ "end": "55440", "length": "90", "line": "1517", - "parentIndex": "2954", + "parentIndex": "2955", "start": "55351" } }, "returnParameters": { - "id": "2966", + "id": "2967", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2967", + "id": "2968", "nodeType": "VARIABLE_DECLARATION", - "scope": "2967", + "scope": "2968", "src": { "column": "37", "end": "55482", "length": "4", "line": "1521", - "parentIndex": "2966", + "parentIndex": "2967", "start": "55479" }, "stateMutability": "MUTABLE", @@ -63774,7 +63830,7 @@ "typeString": "bool" }, "typeName": { - "id": "2968", + "id": "2969", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -63782,7 +63838,7 @@ "end": "55482", "length": "4", "line": "1521", - "parentIndex": "2967", + "parentIndex": "2968", "start": "55479" }, "typeDescription": { @@ -63798,12 +63854,12 @@ "end": "55482", "length": "4", "line": "1521", - "parentIndex": "2954", + "parentIndex": "2955", "start": "55479" } }, "scope": "1998", - "signature": "ea415394", + "signature": "a9b07cea", "src": { "column": "4", "end": "56487", @@ -63824,7 +63880,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3090", + "id": "3091", "implemented": true, "nodeType": "BLOCK", "src": { @@ -63832,7 +63888,7 @@ "end": "58030", "length": "1144", "line": "1565", - "parentIndex": "3075", + "parentIndex": "3076", "start": "56887" }, "statements": [ @@ -63853,20 +63909,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3093", + "id": "3094", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3094", + "id": "3095", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3094", + "referencedDeclaration": "3095", "src": { "column": "16", "end": "56911", "length": "7", "line": "1566", - "parentIndex": "3093", + "parentIndex": "3094", "start": "56905" }, "typeDescription": { @@ -63881,7 +63937,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3095", + "id": "3096", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -63890,7 +63946,7 @@ "end": "56915", "length": "1", "line": "1566", - "parentIndex": "3093", + "parentIndex": "3094", "start": "56915" }, "typeDescription": { @@ -63905,7 +63961,7 @@ "end": "56915", "length": "11", "line": "1566", - "parentIndex": "3091", + "parentIndex": "3092", "start": "56905" }, "typeDescription": { @@ -63924,7 +63980,7 @@ } ], "hexValue": "5a45524f20414d4f554e54", - "id": "3096", + "id": "3097", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -63933,7 +63989,7 @@ "end": "56930", "length": "13", "line": "1566", - "parentIndex": "3091", + "parentIndex": "3092", "start": "56918" }, "typeDescription": { @@ -63947,7 +64003,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3092", + "id": "3093", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -63956,7 +64012,7 @@ "end": "56903", "length": "7", "line": "1566", - "parentIndex": "3091", + "parentIndex": "3092", "start": "56897" }, "typeDescription": { @@ -63965,7 +64021,7 @@ } } }, - "id": "3091", + "id": "3092", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -63973,7 +64029,7 @@ "end": "56931", "length": "35", "line": "1566", - "parentIndex": "3090", + "parentIndex": "3091", "start": "56897" }, "typeDescription": { @@ -63986,11 +64042,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3098" + "3099" ], "declarations": [ { - "id": "3098", + "id": "3099", "mutability": "MUTABLE", "name": "lockID", "nameLocation": { @@ -63998,17 +64054,17 @@ "end": "56955", "length": "6", "line": "1567", - "parentIndex": "3098", + "parentIndex": "3099", "start": "56950" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3090", + "scope": "3091", "src": { "column": "8", "end": "56955", "length": "14", "line": "1567", - "parentIndex": "3097", + "parentIndex": "3098", "start": "56942" }, "storageLocation": "DEFAULT", @@ -64017,7 +64073,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3099", + "id": "3100", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -64025,7 +64081,7 @@ "end": "56948", "length": "7", "line": "1567", - "parentIndex": "3098", + "parentIndex": "3099", "start": "56942" }, "typeDescription": { @@ -64036,23 +64092,23 @@ "visibility": "INTERNAL" } ], - "id": "3097", + "id": "3098", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3108", + "id": "3109", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3108", + "referencedDeclaration": "3109", "src": { "column": "67", "end": "57006", "length": "6", "line": "1567", - "parentIndex": "3100", + "parentIndex": "3101", "start": "57001" }, "typeDescription": { @@ -64061,23 +64117,23 @@ } } }, - "id": "3100", + "id": "3101", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3107", + "id": "3108", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3107", + "referencedDeclaration": "3108", "src": { "column": "57", "end": "56998", "length": "8", "line": "1567", - "parentIndex": "3101", + "parentIndex": "3102", "start": "56991" }, "typeDescription": { @@ -64086,7 +64142,7 @@ } } }, - "id": "3101", + "id": "3102", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -64099,7 +64155,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3106", + "id": "3107", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -64107,7 +64163,7 @@ "end": "56967", "length": "3", "line": "1567", - "parentIndex": "3105", + "parentIndex": "3106", "start": "56965" }, "typeDescription": { @@ -64116,13 +64172,13 @@ } } }, - "id": "3105", + "id": "3106", "memberLocation": { "column": "35", "end": "56974", "length": "6", "line": "1567", - "parentIndex": "3105", + "parentIndex": "3106", "start": "56969" }, "memberName": "sender", @@ -64132,7 +64188,7 @@ "end": "56974", "length": "10", "line": "1567", - "parentIndex": "3097", + "parentIndex": "3098", "start": "56965" }, "typeDescription": { @@ -64141,11 +64197,11 @@ } } }, - "id": "3103", + "id": "3104", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3104", + "id": "3105", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -64154,11 +64210,11 @@ "end": "56963", "length": "5", "line": "1567", - "parentIndex": "3103", + "parentIndex": "3104", "start": "56959" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -64169,16 +64225,16 @@ "end": "56975", "length": "17", "line": "1567", - "parentIndex": "3097", + "parentIndex": "3098", "start": "56959" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -64188,13 +64244,13 @@ ] } }, - "id": "3102", + "id": "3103", "memberLocation": { "column": "43", "end": "56989", "length": "13", "line": "1567", - "parentIndex": "3102", + "parentIndex": "3103", "start": "56977" }, "memberName": "locksForToken", @@ -64204,11 +64260,11 @@ "end": "56989", "length": "31", "line": "1567", - "parentIndex": "3097", + "parentIndex": "3098", "start": "56959" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -64219,16 +64275,16 @@ "end": "56999", "length": "41", "line": "1567", - "parentIndex": "3097", + "parentIndex": "3098", "start": "56959" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -64244,16 +64300,16 @@ "end": "57007", "length": "49", "line": "1567", - "parentIndex": "3097", + "parentIndex": "3098", "start": "56959" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "typeString": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -64269,7 +64325,7 @@ "end": "57008", "length": "67", "line": "1567", - "parentIndex": "3090", + "parentIndex": "3091", "start": "56942" } } @@ -64278,11 +64334,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3110" + "3111" ], "declarations": [ { - "id": "3110", + "id": "3111", "mutability": "MUTABLE", "name": "userLock", "nameLocation": { @@ -64290,17 +64346,17 @@ "end": "57043", "length": "8", "line": "1568", - "parentIndex": "3110", + "parentIndex": "3111", "start": "57036" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3090", + "scope": "3091", "src": { "column": "8", "end": "57043", "length": "26", "line": "1568", - "parentIndex": "3109", + "parentIndex": "3110", "start": "57018" }, "storageLocation": "STORAGE", @@ -64309,17 +64365,17 @@ "typeString": "struct KnoxLpLocker.TokenLock" }, "typeName": { - "id": "3111", + "id": "3112", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3112", + "id": "3113", "name": "TokenLock", "nameLocation": { "column": "8", "end": "57026", "length": "9", "line": "1568", - "parentIndex": "3111", + "parentIndex": "3112", "start": "57018" }, "nodeType": "IDENTIFIER_PATH", @@ -64329,7 +64385,7 @@ "end": "57026", "length": "9", "line": "1568", - "parentIndex": "3111", + "parentIndex": "3112", "start": "57018" } }, @@ -64339,7 +64395,7 @@ "end": "57026", "length": "9", "line": "1568", - "parentIndex": "3110", + "parentIndex": "3111", "start": "57018" }, "typeDescription": { @@ -64350,23 +64406,23 @@ "visibility": "INTERNAL" } ], - "id": "3109", + "id": "3110", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3117", + "id": "3118", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3097", + "referencedDeclaration": "3098", "src": { "column": "58", "end": "57073", "length": "6", "line": "1568", - "parentIndex": "3113", + "parentIndex": "3114", "start": "57068" }, "typeDescription": { @@ -64375,23 +64431,23 @@ } } }, - "id": "3113", + "id": "3114", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3116", + "id": "3117", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3116", + "referencedDeclaration": "3117", "src": { "column": "48", "end": "57065", "length": "8", "line": "1568", - "parentIndex": "3114", + "parentIndex": "3115", "start": "57058" }, "typeDescription": { @@ -64400,20 +64456,20 @@ } } }, - "id": "3114", + "id": "3115", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3115", + "id": "3116", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "37", "end": "57056", "length": "10", "line": "1568", - "parentIndex": "3114", + "parentIndex": "3115", "start": "57047" }, "typeDescription": { @@ -64428,7 +64484,7 @@ "end": "57066", "length": "20", "line": "1568", - "parentIndex": "3109", + "parentIndex": "3110", "start": "57047" }, "typeDescription": { @@ -64453,7 +64509,7 @@ "end": "57074", "length": "28", "line": "1568", - "parentIndex": "3109", + "parentIndex": "3110", "start": "57047" }, "typeDescription": { @@ -64478,7 +64534,7 @@ "end": "57075", "length": "58", "line": "1568", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57018" } } @@ -64504,20 +64560,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3122", + "id": "3123", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3123", + "id": "3124", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3097", + "referencedDeclaration": "3098", "src": { "column": "12", "end": "57111", "length": "6", "line": "1570", - "parentIndex": "3122", + "parentIndex": "3123", "start": "57106" }, "typeDescription": { @@ -64531,16 +64587,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3124", + "id": "3125", "name": "_lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3124", + "referencedDeclaration": "3125", "src": { "column": "22", "end": "57122", "length": "7", "line": "1570", - "parentIndex": "3122", + "parentIndex": "3123", "start": "57116" }, "typeDescription": { @@ -64554,7 +64610,7 @@ "end": "57122", "length": "17", "line": "1570", - "parentIndex": "3121", + "parentIndex": "3122", "start": "57106" }, "typeDescription": { @@ -64566,23 +64622,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3125", + "id": "3126", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3127", + "id": "3128", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3109", + "referencedDeclaration": "3110", "src": { "column": "33", "end": "57134", "length": "8", "line": "1570", - "parentIndex": "3126", + "parentIndex": "3127", "start": "57127" }, "typeDescription": { @@ -64591,13 +64647,13 @@ } } }, - "id": "3126", + "id": "3127", "memberLocation": { "column": "42", "end": "57140", "length": "5", "line": "1570", - "parentIndex": "3126", + "parentIndex": "3127", "start": "57136" }, "memberName": "owner", @@ -64607,7 +64663,7 @@ "end": "57140", "length": "14", "line": "1570", - "parentIndex": "3125", + "parentIndex": "3126", "start": "57127" }, "typeDescription": { @@ -64624,7 +64680,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3129", + "id": "3130", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -64632,7 +64688,7 @@ "end": "57147", "length": "3", "line": "1570", - "parentIndex": "3128", + "parentIndex": "3129", "start": "57145" }, "typeDescription": { @@ -64641,13 +64697,13 @@ } } }, - "id": "3128", + "id": "3129", "memberLocation": { "column": "55", "end": "57154", "length": "6", "line": "1570", - "parentIndex": "3128", + "parentIndex": "3129", "start": "57149" }, "memberName": "sender", @@ -64657,7 +64713,7 @@ "end": "57154", "length": "10", "line": "1570", - "parentIndex": "3125", + "parentIndex": "3126", "start": "57145" }, "typeDescription": { @@ -64671,7 +64727,7 @@ "end": "57154", "length": "28", "line": "1570", - "parentIndex": "3121", + "parentIndex": "3122", "start": "57127" }, "typeDescription": { @@ -64681,14 +64737,14 @@ } } ], - "id": "3121", + "id": "3122", "nodeType": "AND_OPERATION", "src": { "column": "12", "end": "57154", "length": "49", "line": "1570", - "parentIndex": "3118", + "parentIndex": "3119", "start": "57106" }, "typeDescriptions": [ @@ -64713,7 +64769,7 @@ } ], "hexValue": "4c4f434b204d49534d41544348", - "id": "3130", + "id": "3131", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -64722,7 +64778,7 @@ "end": "57183", "length": "15", "line": "1571", - "parentIndex": "3118", + "parentIndex": "3119", "start": "57169" }, "typeDescription": { @@ -64736,7 +64792,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3119", + "id": "3120", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -64745,7 +64801,7 @@ "end": "57091", "length": "7", "line": "1569", - "parentIndex": "3118", + "parentIndex": "3119", "start": "57085" }, "typeDescription": { @@ -64754,7 +64810,7 @@ } } }, - "id": "3118", + "id": "3119", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -64762,7 +64818,7 @@ "end": "57193", "length": "109", "line": "1569", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57085" }, "typeDescription": { @@ -64788,14 +64844,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3133", + "id": "3134", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3135", + "id": "3136", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -64803,7 +64859,7 @@ "end": "57251", "length": "3", "line": "1574", - "parentIndex": "3134", + "parentIndex": "3135", "start": "57249" }, "typeDescription": { @@ -64812,13 +64868,13 @@ } } }, - "id": "3134", + "id": "3135", "memberLocation": { "column": "20", "end": "57257", "length": "5", "line": "1574", - "parentIndex": "3134", + "parentIndex": "3135", "start": "57253" }, "memberName": "value", @@ -64828,7 +64884,7 @@ "end": "57257", "length": "9", "line": "1574", - "parentIndex": "3133", + "parentIndex": "3134", "start": "57249" }, "typeDescription": { @@ -64845,31 +64901,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3137", + "id": "3138", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "29", "end": "57266", "length": "5", "line": "1574", - "parentIndex": "3136", + "parentIndex": "3137", "start": "57262" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "3136", + "id": "3137", "memberLocation": { "column": "35", "end": "57273", "length": "6", "line": "1574", - "parentIndex": "3136", + "parentIndex": "3137", "start": "57268" }, "memberName": "ethFee", @@ -64879,11 +64935,11 @@ "end": "57273", "length": "12", "line": "1574", - "parentIndex": "3133", + "parentIndex": "3134", "start": "57262" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -64893,7 +64949,7 @@ "end": "57273", "length": "25", "line": "1574", - "parentIndex": "3131", + "parentIndex": "3132", "start": "57249" }, "typeDescription": { @@ -64912,7 +64968,7 @@ } ], "hexValue": "464545204e4f54204d4554", - "id": "3138", + "id": "3139", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -64921,7 +64977,7 @@ "end": "57288", "length": "13", "line": "1574", - "parentIndex": "3131", + "parentIndex": "3132", "start": "57276" }, "typeDescription": { @@ -64935,7 +64991,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3132", + "id": "3133", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -64944,7 +65000,7 @@ "end": "57247", "length": "7", "line": "1574", - "parentIndex": "3131", + "parentIndex": "3132", "start": "57241" }, "typeDescription": { @@ -64953,7 +65009,7 @@ } } }, - "id": "3131", + "id": "3132", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -64961,7 +65017,7 @@ "end": "57289", "length": "49", "line": "1574", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57241" }, "typeDescription": { @@ -64975,7 +65031,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } ], @@ -64986,31 +65042,31 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3143", + "id": "3144", "name": "gFees", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2081", + "referencedDeclaration": "2082", "src": { "column": "26", "end": "57322", "length": "5", "line": "1575", - "parentIndex": "3142", + "parentIndex": "3143", "start": "57318" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } }, - "id": "3142", + "id": "3143", "memberLocation": { "column": "32", "end": "57329", "length": "6", "line": "1575", - "parentIndex": "3142", + "parentIndex": "3143", "start": "57324" }, "memberName": "ethFee", @@ -65020,11 +65076,11 @@ "end": "57329", "length": "12", "line": "1575", - "parentIndex": "3139", + "parentIndex": "3140", "start": "57318" }, "typeDescription": { - "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2059", + "typeIdentifier": "t_struct$_KnoxLpLocker_FeeStruct_$2060", "typeString": "struct KnoxLpLocker.FeeStruct" } } @@ -65036,16 +65092,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3141", + "id": "3142", "name": "devaddr", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2089", + "referencedDeclaration": "2090", "src": { "column": "8", "end": "57306", "length": "7", "line": "1575", - "parentIndex": "3140", + "parentIndex": "3141", "start": "57300" }, "typeDescription": { @@ -65054,13 +65110,13 @@ } } }, - "id": "3140", + "id": "3141", "memberLocation": { "column": "16", "end": "57316", "length": "9", "line": "1575", - "parentIndex": "3140", + "parentIndex": "3141", "start": "57308" }, "memberName": "sendValue", @@ -65070,7 +65126,7 @@ "end": "57316", "length": "17", "line": "1575", - "parentIndex": "3139", + "parentIndex": "3140", "start": "57300" }, "typeDescription": { @@ -65079,7 +65135,7 @@ } } }, - "id": "3139", + "id": "3140", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -65087,11 +65143,11 @@ "end": "57330", "length": "31", "line": "1575", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57300" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_KnoxLpLocker_FeeStruct_$2059$", + "typeIdentifier": "t_function_$_t_struct$_KnoxLpLocker_FeeStruct_$2060$", "typeString": "function(struct KnoxLpLocker.FeeStruct)" } } @@ -65102,23 +65158,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3145", + "id": "3146", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3147", + "id": "3148", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3109", + "referencedDeclaration": "3110", "src": { "column": "8", "end": "57349", "length": "8", "line": "1577", - "parentIndex": "3146", + "parentIndex": "3147", "start": "57342" }, "typeDescription": { @@ -65127,13 +65183,13 @@ } } }, - "id": "3146", + "id": "3147", "memberLocation": { "column": "17", "end": "57356", "length": "6", "line": "1577", - "parentIndex": "3146", + "parentIndex": "3147", "start": "57351" }, "memberName": "amount", @@ -65143,7 +65199,7 @@ "end": "57356", "length": "15", "line": "1577", - "parentIndex": "3145", + "parentIndex": "3146", "start": "57342" }, "typeDescription": { @@ -65157,23 +65213,23 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3148", + "id": "3149", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3150", + "id": "3151", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3109", + "referencedDeclaration": "3110", "src": { "column": "26", "end": "57367", "length": "8", "line": "1577", - "parentIndex": "3149", + "parentIndex": "3150", "start": "57360" }, "typeDescription": { @@ -65182,13 +65238,13 @@ } } }, - "id": "3149", + "id": "3150", "memberLocation": { "column": "35", "end": "57374", "length": "6", "line": "1577", - "parentIndex": "3149", + "parentIndex": "3150", "start": "57369" }, "memberName": "amount", @@ -65198,7 +65254,7 @@ "end": "57374", "length": "15", "line": "1577", - "parentIndex": "3148", + "parentIndex": "3149", "start": "57360" }, "typeDescription": { @@ -65216,16 +65272,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3152", + "id": "3153", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3152", + "referencedDeclaration": "3153", "src": { "column": "45", "end": "57385", "length": "7", "line": "1577", - "parentIndex": "3151", + "parentIndex": "3152", "start": "57379" }, "typeDescription": { @@ -65235,14 +65291,14 @@ } } ], - "id": "3151", + "id": "3152", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "44", "end": "57386", "length": "9", "line": "1577", - "parentIndex": "3148", + "parentIndex": "3149", "start": "57378" }, "typeDescription": { @@ -65256,7 +65312,7 @@ "end": "57386", "length": "27", "line": "1577", - "parentIndex": "3145", + "parentIndex": "3146", "start": "57360" }, "typeDescription": { @@ -65270,7 +65326,7 @@ "end": "57386", "length": "45", "line": "1577", - "parentIndex": "3144", + "parentIndex": "3145", "start": "57342" }, "typeDescription": { @@ -65279,14 +65335,14 @@ } } }, - "id": "3144", + "id": "3145", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "57387", "length": "46", "line": "1577", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57342" }, "typeDescription": { @@ -65299,11 +65355,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3154" + "3155" ], "declarations": [ { - "id": "3154", + "id": "3155", "mutability": "MUTABLE", "name": "token_lock", "nameLocation": { @@ -65311,17 +65367,17 @@ "end": "57424", "length": "10", "line": "1579", - "parentIndex": "3154", + "parentIndex": "3155", "start": "57415" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3090", + "scope": "3091", "src": { "column": "8", "end": "57424", "length": "27", "line": "1579", - "parentIndex": "3153", + "parentIndex": "3154", "start": "57398" }, "storageLocation": "MEMORY", @@ -65330,17 +65386,17 @@ "typeString": "struct KnoxLpLocker.TokenLock" }, "typeName": { - "id": "3155", + "id": "3156", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3156", + "id": "3157", "name": "TokenLock", "nameLocation": { "column": "8", "end": "57406", "length": "9", "line": "1579", - "parentIndex": "3155", + "parentIndex": "3156", "start": "57398" }, "nodeType": "IDENTIFIER_PATH", @@ -65350,7 +65406,7 @@ "end": "57406", "length": "9", "line": "1579", - "parentIndex": "3155", + "parentIndex": "3156", "start": "57398" } }, @@ -65360,7 +65416,7 @@ "end": "57406", "length": "9", "line": "1579", - "parentIndex": "3154", + "parentIndex": "3155", "start": "57398" }, "typeDescription": { @@ -65371,14 +65427,14 @@ "visibility": "INTERNAL" } ], - "id": "3153", + "id": "3154", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", "end": "57425", "length": "28", "line": "1579", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57398" } } @@ -65389,23 +65445,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3158", + "id": "3159", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3160", + "id": "3161", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3153", + "referencedDeclaration": "3154", "src": { "column": "8", "end": "57444", "length": "10", "line": "1580", - "parentIndex": "3159", + "parentIndex": "3160", "start": "57435" }, "typeDescription": { @@ -65414,13 +65470,13 @@ } } }, - "id": "3159", + "id": "3160", "memberLocation": { "column": "19", "end": "57453", "length": "8", "line": "1580", - "parentIndex": "3159", + "parentIndex": "3160", "start": "57446" }, "memberName": "lockDate", @@ -65430,7 +65486,7 @@ "end": "57453", "length": "19", "line": "1580", - "parentIndex": "3158", + "parentIndex": "3159", "start": "57435" }, "typeDescription": { @@ -65447,16 +65503,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3162", + "id": "3163", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3109", + "referencedDeclaration": "3110", "src": { "column": "30", "end": "57464", "length": "8", "line": "1580", - "parentIndex": "3161", + "parentIndex": "3162", "start": "57457" }, "typeDescription": { @@ -65465,13 +65521,13 @@ } } }, - "id": "3161", + "id": "3162", "memberLocation": { "column": "39", "end": "57473", "length": "8", "line": "1580", - "parentIndex": "3161", + "parentIndex": "3162", "start": "57466" }, "memberName": "lockDate", @@ -65481,7 +65537,7 @@ "end": "57473", "length": "17", "line": "1580", - "parentIndex": "3158", + "parentIndex": "3159", "start": "57457" }, "typeDescription": { @@ -65495,7 +65551,7 @@ "end": "57473", "length": "39", "line": "1580", - "parentIndex": "3157", + "parentIndex": "3158", "start": "57435" }, "typeDescription": { @@ -65504,14 +65560,14 @@ } } }, - "id": "3157", + "id": "3158", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "57474", "length": "40", "line": "1580", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57435" }, "typeDescription": { @@ -65526,23 +65582,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3164", + "id": "3165", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3166", + "id": "3167", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3153", + "referencedDeclaration": "3154", "src": { "column": "8", "end": "57493", "length": "10", "line": "1581", - "parentIndex": "3165", + "parentIndex": "3166", "start": "57484" }, "typeDescription": { @@ -65551,13 +65607,13 @@ } } }, - "id": "3165", + "id": "3166", "memberLocation": { "column": "19", "end": "57500", "length": "6", "line": "1581", - "parentIndex": "3165", + "parentIndex": "3166", "start": "57495" }, "memberName": "amount", @@ -65567,7 +65623,7 @@ "end": "57500", "length": "17", "line": "1581", - "parentIndex": "3164", + "parentIndex": "3165", "start": "57484" }, "typeDescription": { @@ -65581,16 +65637,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3167", + "id": "3168", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3167", + "referencedDeclaration": "3168", "src": { "column": "28", "end": "57510", "length": "7", "line": "1581", - "parentIndex": "3164", + "parentIndex": "3165", "start": "57504" }, "typeDescription": { @@ -65604,7 +65660,7 @@ "end": "57510", "length": "27", "line": "1581", - "parentIndex": "3163", + "parentIndex": "3164", "start": "57484" }, "typeDescription": { @@ -65613,14 +65669,14 @@ } } }, - "id": "3163", + "id": "3164", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "57511", "length": "28", "line": "1581", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57484" }, "typeDescription": { @@ -65635,23 +65691,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3169", + "id": "3170", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3171", + "id": "3172", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3153", + "referencedDeclaration": "3154", "src": { "column": "8", "end": "57530", "length": "10", "line": "1582", - "parentIndex": "3170", + "parentIndex": "3171", "start": "57521" }, "typeDescription": { @@ -65660,13 +65716,13 @@ } } }, - "id": "3170", + "id": "3171", "memberLocation": { "column": "19", "end": "57544", "length": "13", "line": "1582", - "parentIndex": "3170", + "parentIndex": "3171", "start": "57532" }, "memberName": "initialAmount", @@ -65676,7 +65732,7 @@ "end": "57544", "length": "24", "line": "1582", - "parentIndex": "3169", + "parentIndex": "3170", "start": "57521" }, "typeDescription": { @@ -65690,16 +65746,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3172", + "id": "3173", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3172", + "referencedDeclaration": "3173", "src": { "column": "35", "end": "57554", "length": "7", "line": "1582", - "parentIndex": "3169", + "parentIndex": "3170", "start": "57548" }, "typeDescription": { @@ -65713,7 +65769,7 @@ "end": "57554", "length": "34", "line": "1582", - "parentIndex": "3168", + "parentIndex": "3169", "start": "57521" }, "typeDescription": { @@ -65722,14 +65778,14 @@ } } }, - "id": "3168", + "id": "3169", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "57555", "length": "35", "line": "1582", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57521" }, "typeDescription": { @@ -65744,23 +65800,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3174", + "id": "3175", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3176", + "id": "3177", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3153", + "referencedDeclaration": "3154", "src": { "column": "8", "end": "57574", "length": "10", "line": "1583", - "parentIndex": "3175", + "parentIndex": "3176", "start": "57565" }, "typeDescription": { @@ -65769,13 +65825,13 @@ } } }, - "id": "3175", + "id": "3176", "memberLocation": { "column": "19", "end": "57585", "length": "10", "line": "1583", - "parentIndex": "3175", + "parentIndex": "3176", "start": "57576" }, "memberName": "unlockDate", @@ -65785,7 +65841,7 @@ "end": "57585", "length": "21", "line": "1583", - "parentIndex": "3174", + "parentIndex": "3175", "start": "57565" }, "typeDescription": { @@ -65802,16 +65858,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3178", + "id": "3179", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3109", + "referencedDeclaration": "3110", "src": { "column": "32", "end": "57596", "length": "8", "line": "1583", - "parentIndex": "3177", + "parentIndex": "3178", "start": "57589" }, "typeDescription": { @@ -65820,13 +65876,13 @@ } } }, - "id": "3177", + "id": "3178", "memberLocation": { "column": "41", "end": "57607", "length": "10", "line": "1583", - "parentIndex": "3177", + "parentIndex": "3178", "start": "57598" }, "memberName": "unlockDate", @@ -65836,7 +65892,7 @@ "end": "57607", "length": "19", "line": "1583", - "parentIndex": "3174", + "parentIndex": "3175", "start": "57589" }, "typeDescription": { @@ -65850,7 +65906,7 @@ "end": "57607", "length": "43", "line": "1583", - "parentIndex": "3173", + "parentIndex": "3174", "start": "57565" }, "typeDescription": { @@ -65859,14 +65915,14 @@ } } }, - "id": "3173", + "id": "3174", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "57608", "length": "44", "line": "1583", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57565" }, "typeDescription": { @@ -65881,23 +65937,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3180", + "id": "3181", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3182", + "id": "3183", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3153", + "referencedDeclaration": "3154", "src": { "column": "8", "end": "57627", "length": "10", "line": "1584", - "parentIndex": "3181", + "parentIndex": "3182", "start": "57618" }, "typeDescription": { @@ -65906,13 +65962,13 @@ } } }, - "id": "3181", + "id": "3182", "memberLocation": { "column": "19", "end": "57634", "length": "6", "line": "1584", - "parentIndex": "3181", + "parentIndex": "3182", "start": "57629" }, "memberName": "lockID", @@ -65922,7 +65978,7 @@ "end": "57634", "length": "17", "line": "1584", - "parentIndex": "3180", + "parentIndex": "3181", "start": "57618" }, "typeDescription": { @@ -65942,16 +65998,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3186", + "id": "3187", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3186", + "referencedDeclaration": "3187", "src": { "column": "39", "end": "57656", "length": "8", "line": "1584", - "parentIndex": "3184", + "parentIndex": "3185", "start": "57649" }, "typeDescription": { @@ -65960,20 +66016,20 @@ } } }, - "id": "3184", + "id": "3185", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3185", + "id": "3186", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "28", "end": "57647", "length": "10", "line": "1584", - "parentIndex": "3184", + "parentIndex": "3185", "start": "57638" }, "typeDescription": { @@ -65988,7 +66044,7 @@ "end": "57657", "length": "20", "line": "1584", - "parentIndex": "3183", + "parentIndex": "3184", "start": "57638" }, "typeDescription": { @@ -66007,13 +66063,13 @@ ] } }, - "id": "3183", + "id": "3184", "memberLocation": { "column": "49", "end": "57664", "length": "6", "line": "1584", - "parentIndex": "3183", + "parentIndex": "3184", "start": "57659" }, "memberName": "length", @@ -66023,7 +66079,7 @@ "end": "57664", "length": "27", "line": "1584", - "parentIndex": "3180", + "parentIndex": "3181", "start": "57638" }, "typeDescription": { @@ -66037,7 +66093,7 @@ "end": "57664", "length": "47", "line": "1584", - "parentIndex": "3179", + "parentIndex": "3180", "start": "57618" }, "typeDescription": { @@ -66046,14 +66102,14 @@ } } }, - "id": "3179", + "id": "3180", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "57665", "length": "48", "line": "1584", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57618" }, "typeDescription": { @@ -66068,23 +66124,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3188", + "id": "3189", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3190", + "id": "3191", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3153", + "referencedDeclaration": "3154", "src": { "column": "8", "end": "57684", "length": "10", "line": "1585", - "parentIndex": "3189", + "parentIndex": "3190", "start": "57675" }, "typeDescription": { @@ -66093,13 +66149,13 @@ } } }, - "id": "3189", + "id": "3190", "memberLocation": { "column": "19", "end": "57690", "length": "5", "line": "1585", - "parentIndex": "3189", + "parentIndex": "3190", "start": "57686" }, "memberName": "owner", @@ -66109,7 +66165,7 @@ "end": "57690", "length": "16", "line": "1585", - "parentIndex": "3188", + "parentIndex": "3189", "start": "57675" }, "typeDescription": { @@ -66126,7 +66182,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3192", + "id": "3193", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -66134,7 +66190,7 @@ "end": "57696", "length": "3", "line": "1585", - "parentIndex": "3191", + "parentIndex": "3192", "start": "57694" }, "typeDescription": { @@ -66143,13 +66199,13 @@ } } }, - "id": "3191", + "id": "3192", "memberLocation": { "column": "31", "end": "57703", "length": "6", "line": "1585", - "parentIndex": "3191", + "parentIndex": "3192", "start": "57698" }, "memberName": "sender", @@ -66159,7 +66215,7 @@ "end": "57703", "length": "10", "line": "1585", - "parentIndex": "3188", + "parentIndex": "3189", "start": "57694" }, "typeDescription": { @@ -66173,7 +66229,7 @@ "end": "57703", "length": "29", "line": "1585", - "parentIndex": "3187", + "parentIndex": "3188", "start": "57675" }, "typeDescription": { @@ -66182,14 +66238,14 @@ } } }, - "id": "3187", + "id": "3188", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "57704", "length": "30", "line": "1585", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57675" }, "typeDescription": { @@ -66211,16 +66267,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3198", + "id": "3199", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3153", + "referencedDeclaration": "3154", "src": { "column": "34", "end": "57795", "length": "10", "line": "1588", - "parentIndex": "3193", + "parentIndex": "3194", "start": "57786" }, "typeDescription": { @@ -66239,16 +66295,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3197", + "id": "3198", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3197", + "referencedDeclaration": "3198", "src": { "column": "19", "end": "57778", "length": "8", "line": "1588", - "parentIndex": "3195", + "parentIndex": "3196", "start": "57771" }, "typeDescription": { @@ -66257,20 +66313,20 @@ } } }, - "id": "3195", + "id": "3196", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3196", + "id": "3197", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "8", "end": "57769", "length": "10", "line": "1588", - "parentIndex": "3195", + "parentIndex": "3196", "start": "57760" }, "typeDescription": { @@ -66285,7 +66341,7 @@ "end": "57779", "length": "20", "line": "1588", - "parentIndex": "3194", + "parentIndex": "3195", "start": "57760" }, "typeDescription": { @@ -66304,13 +66360,13 @@ ] } }, - "id": "3194", + "id": "3195", "memberLocation": { "column": "29", "end": "57784", "length": "4", "line": "1588", - "parentIndex": "3194", + "parentIndex": "3195", "start": "57781" }, "memberName": "push", @@ -66320,7 +66376,7 @@ "end": "57784", "length": "25", "line": "1588", - "parentIndex": "3193", + "parentIndex": "3194", "start": "57760" }, "typeDescription": { @@ -66329,7 +66385,7 @@ } } }, - "id": "3193", + "id": "3194", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -66337,7 +66393,7 @@ "end": "57796", "length": "37", "line": "1588", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57760" }, "typeDescription": { @@ -66350,11 +66406,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3200" + "3201" ], "declarations": [ { - "id": "3200", + "id": "3201", "mutability": "MUTABLE", "name": "user", "nameLocation": { @@ -66362,17 +66418,17 @@ "end": "57868", "length": "4", "line": "1591", - "parentIndex": "3200", + "parentIndex": "3201", "start": "57865" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3090", + "scope": "3091", "src": { "column": "8", "end": "57868", "length": "21", "line": "1591", - "parentIndex": "3199", + "parentIndex": "3200", "start": "57848" }, "storageLocation": "STORAGE", @@ -66381,17 +66437,17 @@ "typeString": "struct KnoxLpLocker.UserInfo" }, "typeName": { - "id": "3201", + "id": "3202", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3202", + "id": "3203", "name": "UserInfo", "nameLocation": { "column": "8", "end": "57855", "length": "8", "line": "1591", - "parentIndex": "3201", + "parentIndex": "3202", "start": "57848" }, "nodeType": "IDENTIFIER_PATH", @@ -66401,7 +66457,7 @@ "end": "57855", "length": "8", "line": "1591", - "parentIndex": "3201", + "parentIndex": "3202", "start": "57848" } }, @@ -66411,7 +66467,7 @@ "end": "57855", "length": "8", "line": "1591", - "parentIndex": "3200", + "parentIndex": "3201", "start": "57848" }, "typeDescription": { @@ -66422,7 +66478,7 @@ "visibility": "INTERNAL" } ], - "id": "3199", + "id": "3200", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { @@ -66432,7 +66488,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3206", + "id": "3207", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -66440,7 +66496,7 @@ "end": "57880", "length": "3", "line": "1591", - "parentIndex": "3205", + "parentIndex": "3206", "start": "57878" }, "typeDescription": { @@ -66449,13 +66505,13 @@ } } }, - "id": "3205", + "id": "3206", "memberLocation": { "column": "42", "end": "57887", "length": "6", "line": "1591", - "parentIndex": "3205", + "parentIndex": "3206", "start": "57882" }, "memberName": "sender", @@ -66465,7 +66521,7 @@ "end": "57887", "length": "10", "line": "1591", - "parentIndex": "3199", + "parentIndex": "3200", "start": "57878" }, "typeDescription": { @@ -66474,11 +66530,11 @@ } } }, - "id": "3203", + "id": "3204", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3204", + "id": "3205", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -66487,11 +66543,11 @@ "end": "57876", "length": "5", "line": "1591", - "parentIndex": "3203", + "parentIndex": "3204", "start": "57872" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -66502,16 +66558,16 @@ "end": "57888", "length": "17", "line": "1591", - "parentIndex": "3199", + "parentIndex": "3200", "start": "57872" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -66527,7 +66583,7 @@ "end": "57889", "length": "42", "line": "1591", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57848" } } @@ -66536,11 +66592,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3208" + "3209" ], "declarations": [ { - "id": "3208", + "id": "3209", "mutability": "MUTABLE", "name": "user_locks", "nameLocation": { @@ -66548,17 +66604,17 @@ "end": "57926", "length": "10", "line": "1592", - "parentIndex": "3208", + "parentIndex": "3209", "start": "57917" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3090", + "scope": "3091", "src": { "column": "8", "end": "57926", "length": "28", "line": "1592", - "parentIndex": "3207", + "parentIndex": "3208", "start": "57899" }, "storageLocation": "STORAGE", @@ -66567,7 +66623,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3209", + "id": "3210", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -66575,7 +66631,7 @@ "end": "57905", "length": "7", "line": "1592", - "parentIndex": "3208", + "parentIndex": "3209", "start": "57899" }, "typeDescription": { @@ -66586,23 +66642,23 @@ "visibility": "INTERNAL" } ], - "id": "3207", + "id": "3208", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3213", + "id": "3214", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3213", + "referencedDeclaration": "3214", "src": { "column": "58", "end": "57956", "length": "8", "line": "1592", - "parentIndex": "3210", + "parentIndex": "3211", "start": "57949" }, "typeDescription": { @@ -66611,23 +66667,23 @@ } } }, - "id": "3210", + "id": "3211", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3212", + "id": "3213", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3199", + "referencedDeclaration": "3200", "src": { "column": "39", "end": "57933", "length": "4", "line": "1592", - "parentIndex": "3211", + "parentIndex": "3212", "start": "57930" }, "typeDescription": { @@ -66636,13 +66692,13 @@ } } }, - "id": "3211", + "id": "3212", "memberLocation": { "column": "44", "end": "57947", "length": "13", "line": "1592", - "parentIndex": "3211", + "parentIndex": "3212", "start": "57935" }, "memberName": "locksForToken", @@ -66652,7 +66708,7 @@ "end": "57947", "length": "18", "line": "1592", - "parentIndex": "3207", + "parentIndex": "3208", "start": "57930" }, "typeDescription": { @@ -66667,7 +66723,7 @@ "end": "57957", "length": "28", "line": "1592", - "parentIndex": "3207", + "parentIndex": "3208", "start": "57930" }, "typeDescription": { @@ -66692,7 +66748,7 @@ "end": "57958", "length": "60", "line": "1592", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57899" } } @@ -66713,16 +66769,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3218", + "id": "3219", "name": "token_lock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3153", + "referencedDeclaration": "3154", "src": { "column": "24", "end": "57993", "length": "10", "line": "1593", - "parentIndex": "3217", + "parentIndex": "3218", "start": "57984" }, "typeDescription": { @@ -66731,13 +66787,13 @@ } } }, - "id": "3217", + "id": "3218", "memberLocation": { "column": "35", "end": "58000", "length": "6", "line": "1593", - "parentIndex": "3217", + "parentIndex": "3218", "start": "57995" }, "memberName": "lockID", @@ -66747,7 +66803,7 @@ "end": "58000", "length": "17", "line": "1593", - "parentIndex": "3214", + "parentIndex": "3215", "start": "57984" }, "typeDescription": { @@ -66763,16 +66819,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3216", + "id": "3217", "name": "user_locks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3207", + "referencedDeclaration": "3208", "src": { "column": "8", "end": "57977", "length": "10", "line": "1593", - "parentIndex": "3215", + "parentIndex": "3216", "start": "57968" }, "typeDescription": { @@ -66781,13 +66837,13 @@ } } }, - "id": "3215", + "id": "3216", "memberLocation": { "column": "19", "end": "57982", "length": "4", "line": "1593", - "parentIndex": "3215", + "parentIndex": "3216", "start": "57979" }, "memberName": "push", @@ -66797,7 +66853,7 @@ "end": "57982", "length": "15", "line": "1593", - "parentIndex": "3214", + "parentIndex": "3215", "start": "57968" }, "typeDescription": { @@ -66806,7 +66862,7 @@ } } }, - "id": "3214", + "id": "3215", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -66814,7 +66870,7 @@ "end": "58001", "length": "34", "line": "1593", - "parentIndex": "3090", + "parentIndex": "3091", "start": "57968" }, "typeDescription": { @@ -66830,7 +66886,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "3220", + "id": "3221", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -66839,7 +66895,7 @@ "end": "58023", "length": "4", "line": "1595", - "parentIndex": "3219", + "parentIndex": "3220", "start": "58020" }, "typeDescription": { @@ -66849,15 +66905,15 @@ "value": "true" } }, - "functionReturnParameters": "3075", - "id": "3219", + "functionReturnParameters": "3076", + "id": "3220", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "58024", "length": "12", "line": "1595", - "parentIndex": "3075", + "parentIndex": "3076", "start": "58013" }, "typeDescription": { @@ -66868,22 +66924,22 @@ } ] }, - "id": "3075", + "id": "3076", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3085", + "id": "3086", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3086", + "id": "3087", "name": "nonReentrant", "src": { "column": "23", "end": "56870", "length": "12", "line": "1565", - "parentIndex": "3085", + "parentIndex": "3086", "start": "56859" } }, @@ -66894,7 +66950,7 @@ "end": "56870", "length": "12", "line": "1565", - "parentIndex": "3075", + "parentIndex": "3076", "start": "56859" } } @@ -66905,25 +66961,25 @@ "end": "56734", "length": "9", "line": "1560", - "parentIndex": "3075", + "parentIndex": "3076", "start": "56726" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3076", + "id": "3077", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3077", + "id": "3078", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3077", + "scope": "3078", "src": { "column": "8", "end": "56760", "length": "16", "line": "1561", - "parentIndex": "3076", + "parentIndex": "3077", "start": "56745" }, "stateMutability": "NONPAYABLE", @@ -66933,7 +66989,7 @@ "typeString": "address" }, "typeName": { - "id": "3078", + "id": "3079", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -66941,7 +66997,7 @@ "end": "56751", "length": "7", "line": "1561", - "parentIndex": "3077", + "parentIndex": "3078", "start": "56745" }, "stateMutability": "NONPAYABLE", @@ -66953,16 +67009,16 @@ "visibility": "INTERNAL" }, { - "id": "3079", + "id": "3080", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "3079", + "scope": "3080", "src": { "column": "8", "end": "56784", "length": "14", "line": "1562", - "parentIndex": "3076", + "parentIndex": "3077", "start": "56771" }, "stateMutability": "MUTABLE", @@ -66972,7 +67028,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3080", + "id": "3081", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -66980,7 +67036,7 @@ "end": "56777", "length": "7", "line": "1562", - "parentIndex": "3079", + "parentIndex": "3080", "start": "56771" }, "typeDescription": { @@ -66991,16 +67047,16 @@ "visibility": "INTERNAL" }, { - "id": "3081", + "id": "3082", "name": "_lockID", "nodeType": "VARIABLE_DECLARATION", - "scope": "3081", + "scope": "3082", "src": { "column": "8", "end": "56809", "length": "15", "line": "1563", - "parentIndex": "3076", + "parentIndex": "3077", "start": "56795" }, "stateMutability": "MUTABLE", @@ -67010,7 +67066,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3082", + "id": "3083", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67018,7 +67074,7 @@ "end": "56801", "length": "7", "line": "1563", - "parentIndex": "3081", + "parentIndex": "3082", "start": "56795" }, "typeDescription": { @@ -67029,16 +67085,16 @@ "visibility": "INTERNAL" }, { - "id": "3083", + "id": "3084", "name": "_amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "3083", + "scope": "3084", "src": { "column": "8", "end": "56834", "length": "15", "line": "1564", - "parentIndex": "3076", + "parentIndex": "3077", "start": "56820" }, "stateMutability": "MUTABLE", @@ -67048,7 +67104,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3084", + "id": "3085", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67056,7 +67112,7 @@ "end": "56826", "length": "7", "line": "1564", - "parentIndex": "3083", + "parentIndex": "3084", "start": "56820" }, "typeDescription": { @@ -67072,24 +67128,24 @@ "end": "56834", "length": "90", "line": "1561", - "parentIndex": "3075", + "parentIndex": "3076", "start": "56745" } }, "returnParameters": { - "id": "3087", + "id": "3088", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3088", + "id": "3089", "nodeType": "VARIABLE_DECLARATION", - "scope": "3088", + "scope": "3089", "src": { "column": "45", "end": "56884", "length": "4", "line": "1565", - "parentIndex": "3087", + "parentIndex": "3088", "start": "56881" }, "stateMutability": "MUTABLE", @@ -67099,7 +67155,7 @@ "typeString": "bool" }, "typeName": { - "id": "3089", + "id": "3090", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67107,7 +67163,7 @@ "end": "56884", "length": "4", "line": "1565", - "parentIndex": "3088", + "parentIndex": "3089", "start": "56881" }, "typeDescription": { @@ -67123,12 +67179,12 @@ "end": "56884", "length": "4", "line": "1565", - "parentIndex": "3075", + "parentIndex": "3076", "start": "56881" } }, "scope": "1998", - "signature": "1ac991b7", + "signature": "582d5adc", "src": { "column": "4", "end": "58030", @@ -67149,7 +67205,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3235", + "id": "3236", "implemented": true, "nodeType": "BLOCK", "src": { @@ -67157,7 +67213,7 @@ "end": "59426", "length": "1074", "line": "1607", - "parentIndex": "3222", + "parentIndex": "3223", "start": "58353" }, "statements": [ @@ -67178,14 +67234,14 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3238", + "id": "3239", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3240", + "id": "3241", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -67193,7 +67249,7 @@ "end": "58373", "length": "3", "line": "1608", - "parentIndex": "3239", + "parentIndex": "3240", "start": "58371" }, "typeDescription": { @@ -67202,13 +67258,13 @@ } } }, - "id": "3239", + "id": "3240", "memberLocation": { "column": "20", "end": "58380", "length": "6", "line": "1608", - "parentIndex": "3239", + "parentIndex": "3240", "start": "58375" }, "memberName": "sender", @@ -67218,7 +67274,7 @@ "end": "58380", "length": "10", "line": "1608", - "parentIndex": "3238", + "parentIndex": "3239", "start": "58371" }, "typeDescription": { @@ -67232,16 +67288,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3241", + "id": "3242", "name": "_newOwner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3241", + "referencedDeclaration": "3242", "src": { "column": "30", "end": "58393", "length": "9", "line": "1608", - "parentIndex": "3238", + "parentIndex": "3239", "start": "58385" }, "typeDescription": { @@ -67255,7 +67311,7 @@ "end": "58393", "length": "23", "line": "1608", - "parentIndex": "3236", + "parentIndex": "3237", "start": "58371" }, "typeDescription": { @@ -67274,7 +67330,7 @@ } ], "hexValue": "4f574e4552", - "id": "3242", + "id": "3243", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -67283,7 +67339,7 @@ "end": "58402", "length": "7", "line": "1608", - "parentIndex": "3236", + "parentIndex": "3237", "start": "58396" }, "typeDescription": { @@ -67297,7 +67353,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3237", + "id": "3238", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -67306,7 +67362,7 @@ "end": "58369", "length": "7", "line": "1608", - "parentIndex": "3236", + "parentIndex": "3237", "start": "58363" }, "typeDescription": { @@ -67315,7 +67371,7 @@ } } }, - "id": "3236", + "id": "3237", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -67323,7 +67379,7 @@ "end": "58403", "length": "41", "line": "1608", - "parentIndex": "3235", + "parentIndex": "3236", "start": "58363" }, "typeDescription": { @@ -67349,20 +67405,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3245", + "id": "3246", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3246", + "id": "3247", "name": "_newOwner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3246", + "referencedDeclaration": "3247", "src": { "column": "16", "end": "58430", "length": "9", "line": "1609", - "parentIndex": "3245", + "parentIndex": "3246", "start": "58422" }, "typeDescription": { @@ -67387,7 +67443,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3250", + "id": "3251", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -67396,7 +67452,7 @@ "end": "58443", "length": "1", "line": "1609", - "parentIndex": "3247", + "parentIndex": "3248", "start": "58443" }, "typeDescription": { @@ -67416,7 +67472,7 @@ "typeString": "address" } ], - "id": "3248", + "id": "3249", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -67424,7 +67480,7 @@ "end": "58441", "length": "7", "line": "1609", - "parentIndex": "3247", + "parentIndex": "3248", "start": "58435" }, "typeDescription": { @@ -67432,7 +67488,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3249", + "id": "3250", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67440,7 +67496,7 @@ "end": "58441", "length": "7", "line": "1609", - "parentIndex": "3248", + "parentIndex": "3249", "start": "58435" }, "stateMutability": "NONPAYABLE", @@ -67451,7 +67507,7 @@ } } }, - "id": "3247", + "id": "3248", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -67459,7 +67515,7 @@ "end": "58444", "length": "10", "line": "1609", - "parentIndex": "3245", + "parentIndex": "3246", "start": "58435" }, "typeDescription": { @@ -67473,7 +67529,7 @@ "end": "58444", "length": "23", "line": "1609", - "parentIndex": "3243", + "parentIndex": "3244", "start": "58422" }, "typeDescription": { @@ -67492,7 +67548,7 @@ } ], "hexValue": "494e56414c49442041444452455353", - "id": "3251", + "id": "3252", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -67501,7 +67557,7 @@ "end": "58463", "length": "17", "line": "1609", - "parentIndex": "3243", + "parentIndex": "3244", "start": "58447" }, "typeDescription": { @@ -67515,7 +67571,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3244", + "id": "3245", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -67524,7 +67580,7 @@ "end": "58420", "length": "7", "line": "1609", - "parentIndex": "3243", + "parentIndex": "3244", "start": "58414" }, "typeDescription": { @@ -67533,7 +67589,7 @@ } } }, - "id": "3243", + "id": "3244", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -67541,7 +67597,7 @@ "end": "58464", "length": "51", "line": "1609", - "parentIndex": "3235", + "parentIndex": "3236", "start": "58414" }, "typeDescription": { @@ -67554,11 +67610,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3253" + "3254" ], "declarations": [ { - "id": "3253", + "id": "3254", "mutability": "MUTABLE", "name": "lockID", "nameLocation": { @@ -67566,17 +67622,17 @@ "end": "58489", "length": "6", "line": "1611", - "parentIndex": "3253", + "parentIndex": "3254", "start": "58484" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3235", + "scope": "3236", "src": { "column": "8", "end": "58489", "length": "14", "line": "1611", - "parentIndex": "3252", + "parentIndex": "3253", "start": "58476" }, "storageLocation": "DEFAULT", @@ -67585,7 +67641,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3254", + "id": "3255", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -67593,7 +67649,7 @@ "end": "58482", "length": "7", "line": "1611", - "parentIndex": "3253", + "parentIndex": "3254", "start": "58476" }, "typeDescription": { @@ -67604,23 +67660,23 @@ "visibility": "INTERNAL" } ], - "id": "3252", + "id": "3253", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3263", + "id": "3264", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3263", + "referencedDeclaration": "3264", "src": { "column": "67", "end": "58540", "length": "6", "line": "1611", - "parentIndex": "3255", + "parentIndex": "3256", "start": "58535" }, "typeDescription": { @@ -67629,23 +67685,23 @@ } } }, - "id": "3255", + "id": "3256", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3262", + "id": "3263", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3262", + "referencedDeclaration": "3263", "src": { "column": "57", "end": "58532", "length": "8", "line": "1611", - "parentIndex": "3256", + "parentIndex": "3257", "start": "58525" }, "typeDescription": { @@ -67654,7 +67710,7 @@ } } }, - "id": "3256", + "id": "3257", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -67667,7 +67723,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3261", + "id": "3262", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -67675,7 +67731,7 @@ "end": "58501", "length": "3", "line": "1611", - "parentIndex": "3260", + "parentIndex": "3261", "start": "58499" }, "typeDescription": { @@ -67684,13 +67740,13 @@ } } }, - "id": "3260", + "id": "3261", "memberLocation": { "column": "35", "end": "58508", "length": "6", "line": "1611", - "parentIndex": "3260", + "parentIndex": "3261", "start": "58503" }, "memberName": "sender", @@ -67700,7 +67756,7 @@ "end": "58508", "length": "10", "line": "1611", - "parentIndex": "3252", + "parentIndex": "3253", "start": "58499" }, "typeDescription": { @@ -67709,11 +67765,11 @@ } } }, - "id": "3258", + "id": "3259", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3259", + "id": "3260", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -67722,11 +67778,11 @@ "end": "58497", "length": "5", "line": "1611", - "parentIndex": "3258", + "parentIndex": "3259", "start": "58493" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -67737,16 +67793,16 @@ "end": "58509", "length": "17", "line": "1611", - "parentIndex": "3252", + "parentIndex": "3253", "start": "58493" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -67756,13 +67812,13 @@ ] } }, - "id": "3257", + "id": "3258", "memberLocation": { "column": "43", "end": "58523", "length": "13", "line": "1611", - "parentIndex": "3257", + "parentIndex": "3258", "start": "58511" }, "memberName": "locksForToken", @@ -67772,11 +67828,11 @@ "end": "58523", "length": "31", "line": "1611", - "parentIndex": "3252", + "parentIndex": "3253", "start": "58493" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -67787,16 +67843,16 @@ "end": "58533", "length": "41", "line": "1611", - "parentIndex": "3252", + "parentIndex": "3253", "start": "58493" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -67812,16 +67868,16 @@ "end": "58541", "length": "49", "line": "1611", - "parentIndex": "3252", + "parentIndex": "3253", "start": "58493" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "typeString": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -67837,7 +67893,7 @@ "end": "58542", "length": "67", "line": "1611", - "parentIndex": "3235", + "parentIndex": "3236", "start": "58476" } } @@ -67846,11 +67902,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3265" + "3266" ], "declarations": [ { - "id": "3265", + "id": "3266", "mutability": "MUTABLE", "name": "transferredLock", "nameLocation": { @@ -67858,17 +67914,17 @@ "end": "58584", "length": "15", "line": "1612", - "parentIndex": "3265", + "parentIndex": "3266", "start": "58570" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3235", + "scope": "3236", "src": { "column": "8", "end": "58584", "length": "33", "line": "1612", - "parentIndex": "3264", + "parentIndex": "3265", "start": "58552" }, "storageLocation": "STORAGE", @@ -67877,17 +67933,17 @@ "typeString": "struct KnoxLpLocker.TokenLock" }, "typeName": { - "id": "3266", + "id": "3267", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3267", + "id": "3268", "name": "TokenLock", "nameLocation": { "column": "8", "end": "58560", "length": "9", "line": "1612", - "parentIndex": "3266", + "parentIndex": "3267", "start": "58552" }, "nodeType": "IDENTIFIER_PATH", @@ -67897,7 +67953,7 @@ "end": "58560", "length": "9", "line": "1612", - "parentIndex": "3266", + "parentIndex": "3267", "start": "58552" } }, @@ -67907,7 +67963,7 @@ "end": "58560", "length": "9", "line": "1612", - "parentIndex": "3265", + "parentIndex": "3266", "start": "58552" }, "typeDescription": { @@ -67918,23 +67974,23 @@ "visibility": "INTERNAL" } ], - "id": "3264", + "id": "3265", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3272", + "id": "3273", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3252", + "referencedDeclaration": "3253", "src": { "column": "65", "end": "58614", "length": "6", "line": "1612", - "parentIndex": "3268", + "parentIndex": "3269", "start": "58609" }, "typeDescription": { @@ -67943,23 +67999,23 @@ } } }, - "id": "3268", + "id": "3269", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3271", + "id": "3272", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3271", + "referencedDeclaration": "3272", "src": { "column": "55", "end": "58606", "length": "8", "line": "1612", - "parentIndex": "3269", + "parentIndex": "3270", "start": "58599" }, "typeDescription": { @@ -67968,20 +68024,20 @@ } } }, - "id": "3269", + "id": "3270", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3270", + "id": "3271", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "44", "end": "58597", "length": "10", "line": "1612", - "parentIndex": "3269", + "parentIndex": "3270", "start": "58588" }, "typeDescription": { @@ -67996,7 +68052,7 @@ "end": "58607", "length": "20", "line": "1612", - "parentIndex": "3264", + "parentIndex": "3265", "start": "58588" }, "typeDescription": { @@ -68021,7 +68077,7 @@ "end": "58615", "length": "28", "line": "1612", - "parentIndex": "3264", + "parentIndex": "3265", "start": "58588" }, "typeDescription": { @@ -68046,7 +68102,7 @@ "end": "58616", "length": "65", "line": "1612", - "parentIndex": "3235", + "parentIndex": "3236", "start": "58552" } } @@ -68072,20 +68128,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3277", + "id": "3278", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3278", + "id": "3279", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3252", + "referencedDeclaration": "3253", "src": { "column": "12", "end": "58652", "length": "6", "line": "1614", - "parentIndex": "3277", + "parentIndex": "3278", "start": "58647" }, "typeDescription": { @@ -68099,16 +68155,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3279", + "id": "3280", "name": "_lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3279", + "referencedDeclaration": "3280", "src": { "column": "22", "end": "58663", "length": "7", "line": "1614", - "parentIndex": "3277", + "parentIndex": "3278", "start": "58657" }, "typeDescription": { @@ -68122,7 +68178,7 @@ "end": "58663", "length": "17", "line": "1614", - "parentIndex": "3276", + "parentIndex": "3277", "start": "58647" }, "typeDescription": { @@ -68134,23 +68190,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3280", + "id": "3281", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3282", + "id": "3283", "name": "transferredLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3264", + "referencedDeclaration": "3265", "src": { "column": "33", "end": "58682", "length": "15", "line": "1614", - "parentIndex": "3281", + "parentIndex": "3282", "start": "58668" }, "typeDescription": { @@ -68159,13 +68215,13 @@ } } }, - "id": "3281", + "id": "3282", "memberLocation": { "column": "49", "end": "58688", "length": "5", "line": "1614", - "parentIndex": "3281", + "parentIndex": "3282", "start": "58684" }, "memberName": "owner", @@ -68175,7 +68231,7 @@ "end": "58688", "length": "21", "line": "1614", - "parentIndex": "3280", + "parentIndex": "3281", "start": "58668" }, "typeDescription": { @@ -68192,7 +68248,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3284", + "id": "3285", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -68200,7 +68256,7 @@ "end": "58695", "length": "3", "line": "1614", - "parentIndex": "3283", + "parentIndex": "3284", "start": "58693" }, "typeDescription": { @@ -68209,13 +68265,13 @@ } } }, - "id": "3283", + "id": "3284", "memberLocation": { "column": "62", "end": "58702", "length": "6", "line": "1614", - "parentIndex": "3283", + "parentIndex": "3284", "start": "58697" }, "memberName": "sender", @@ -68225,7 +68281,7 @@ "end": "58702", "length": "10", "line": "1614", - "parentIndex": "3280", + "parentIndex": "3281", "start": "58693" }, "typeDescription": { @@ -68239,7 +68295,7 @@ "end": "58702", "length": "35", "line": "1614", - "parentIndex": "3276", + "parentIndex": "3277", "start": "58668" }, "typeDescription": { @@ -68249,14 +68305,14 @@ } } ], - "id": "3276", + "id": "3277", "nodeType": "AND_OPERATION", "src": { "column": "12", "end": "58702", "length": "56", "line": "1614", - "parentIndex": "3273", + "parentIndex": "3274", "start": "58647" }, "typeDescriptions": [ @@ -68281,7 +68337,7 @@ } ], "hexValue": "4c4f434b204d49534d41544348", - "id": "3285", + "id": "3286", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -68290,7 +68346,7 @@ "end": "58731", "length": "15", "line": "1615", - "parentIndex": "3273", + "parentIndex": "3274", "start": "58717" }, "typeDescription": { @@ -68304,7 +68360,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3274", + "id": "3275", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -68313,7 +68369,7 @@ "end": "58632", "length": "7", "line": "1613", - "parentIndex": "3273", + "parentIndex": "3274", "start": "58626" }, "typeDescription": { @@ -68322,7 +68378,7 @@ } } }, - "id": "3273", + "id": "3274", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -68330,7 +68386,7 @@ "end": "58741", "length": "116", "line": "1613", - "parentIndex": "3235", + "parentIndex": "3236", "start": "58626" }, "typeDescription": { @@ -68343,11 +68399,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3287" + "3288" ], "declarations": [ { - "id": "3287", + "id": "3288", "mutability": "MUTABLE", "name": "user", "nameLocation": { @@ -68355,17 +68411,17 @@ "end": "58854", "length": "4", "line": "1619", - "parentIndex": "3287", + "parentIndex": "3288", "start": "58851" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3235", + "scope": "3236", "src": { "column": "8", "end": "58854", "length": "21", "line": "1619", - "parentIndex": "3286", + "parentIndex": "3287", "start": "58834" }, "storageLocation": "STORAGE", @@ -68374,17 +68430,17 @@ "typeString": "struct KnoxLpLocker.UserInfo" }, "typeName": { - "id": "3288", + "id": "3289", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3289", + "id": "3290", "name": "UserInfo", "nameLocation": { "column": "8", "end": "58841", "length": "8", "line": "1619", - "parentIndex": "3288", + "parentIndex": "3289", "start": "58834" }, "nodeType": "IDENTIFIER_PATH", @@ -68394,7 +68450,7 @@ "end": "58841", "length": "8", "line": "1619", - "parentIndex": "3288", + "parentIndex": "3289", "start": "58834" } }, @@ -68404,7 +68460,7 @@ "end": "58841", "length": "8", "line": "1619", - "parentIndex": "3287", + "parentIndex": "3288", "start": "58834" }, "typeDescription": { @@ -68415,23 +68471,23 @@ "visibility": "INTERNAL" } ], - "id": "3286", + "id": "3287", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3292", + "id": "3293", "name": "_newOwner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3292", + "referencedDeclaration": "3293", "src": { "column": "38", "end": "58872", "length": "9", "line": "1619", - "parentIndex": "3290", + "parentIndex": "3291", "start": "58864" }, "typeDescription": { @@ -68440,11 +68496,11 @@ } } }, - "id": "3290", + "id": "3291", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3291", + "id": "3292", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -68453,11 +68509,11 @@ "end": "58862", "length": "5", "line": "1619", - "parentIndex": "3290", + "parentIndex": "3291", "start": "58858" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -68468,16 +68524,16 @@ "end": "58873", "length": "16", "line": "1619", - "parentIndex": "3286", + "parentIndex": "3287", "start": "58858" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address_payable]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address_payable]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -68493,7 +68549,7 @@ "end": "58874", "length": "41", "line": "1619", - "parentIndex": "3235", + "parentIndex": "3236", "start": "58834" } } @@ -68511,16 +68567,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3297", + "id": "3298", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3297", + "referencedDeclaration": "3298", "src": { "column": "30", "end": "58913", "length": "8", "line": "1620", - "parentIndex": "3293", + "parentIndex": "3294", "start": "58906" }, "typeDescription": { @@ -68539,16 +68595,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3296", + "id": "3297", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3286", + "referencedDeclaration": "3287", "src": { "column": "8", "end": "58887", "length": "4", "line": "1620", - "parentIndex": "3295", + "parentIndex": "3296", "start": "58884" }, "typeDescription": { @@ -68557,13 +68613,13 @@ } } }, - "id": "3295", + "id": "3296", "memberLocation": { "column": "13", "end": "58900", "length": "12", "line": "1620", - "parentIndex": "3295", + "parentIndex": "3296", "start": "58889" }, "memberName": "lockedTokens", @@ -68573,7 +68629,7 @@ "end": "58900", "length": "17", "line": "1620", - "parentIndex": "3294", + "parentIndex": "3295", "start": "58884" }, "typeDescription": { @@ -68582,13 +68638,13 @@ } } }, - "id": "3294", + "id": "3295", "memberLocation": { "column": "26", "end": "58904", "length": "3", "line": "1620", - "parentIndex": "3294", + "parentIndex": "3295", "start": "58902" }, "memberName": "add", @@ -68598,7 +68654,7 @@ "end": "58904", "length": "21", "line": "1620", - "parentIndex": "3293", + "parentIndex": "3294", "start": "58884" }, "typeDescription": { @@ -68607,7 +68663,7 @@ } } }, - "id": "3293", + "id": "3294", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -68615,7 +68671,7 @@ "end": "58914", "length": "31", "line": "1620", - "parentIndex": "3235", + "parentIndex": "3236", "start": "58884" }, "typeDescription": { @@ -68628,11 +68684,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3299" + "3300" ], "declarations": [ { - "id": "3299", + "id": "3300", "mutability": "MUTABLE", "name": "user_locks", "nameLocation": { @@ -68640,17 +68696,17 @@ "end": "58952", "length": "10", "line": "1621", - "parentIndex": "3299", + "parentIndex": "3300", "start": "58943" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3235", + "scope": "3236", "src": { "column": "8", "end": "58952", "length": "28", "line": "1621", - "parentIndex": "3298", + "parentIndex": "3299", "start": "58925" }, "storageLocation": "STORAGE", @@ -68659,7 +68715,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3300", + "id": "3301", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -68667,7 +68723,7 @@ "end": "58931", "length": "7", "line": "1621", - "parentIndex": "3299", + "parentIndex": "3300", "start": "58925" }, "typeDescription": { @@ -68678,23 +68734,23 @@ "visibility": "INTERNAL" } ], - "id": "3298", + "id": "3299", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3304", + "id": "3305", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3304", + "referencedDeclaration": "3305", "src": { "column": "58", "end": "58982", "length": "8", "line": "1621", - "parentIndex": "3301", + "parentIndex": "3302", "start": "58975" }, "typeDescription": { @@ -68703,23 +68759,23 @@ } } }, - "id": "3301", + "id": "3302", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3303", + "id": "3304", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3286", + "referencedDeclaration": "3287", "src": { "column": "39", "end": "58959", "length": "4", "line": "1621", - "parentIndex": "3302", + "parentIndex": "3303", "start": "58956" }, "typeDescription": { @@ -68728,13 +68784,13 @@ } } }, - "id": "3302", + "id": "3303", "memberLocation": { "column": "44", "end": "58973", "length": "13", "line": "1621", - "parentIndex": "3302", + "parentIndex": "3303", "start": "58961" }, "memberName": "locksForToken", @@ -68744,7 +68800,7 @@ "end": "58973", "length": "18", "line": "1621", - "parentIndex": "3298", + "parentIndex": "3299", "start": "58956" }, "typeDescription": { @@ -68759,7 +68815,7 @@ "end": "58983", "length": "28", "line": "1621", - "parentIndex": "3298", + "parentIndex": "3299", "start": "58956" }, "typeDescription": { @@ -68784,7 +68840,7 @@ "end": "58984", "length": "60", "line": "1621", - "parentIndex": "3235", + "parentIndex": "3236", "start": "58925" } } @@ -68805,16 +68861,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3309", + "id": "3310", "name": "transferredLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3264", + "referencedDeclaration": "3265", "src": { "column": "24", "end": "59024", "length": "15", "line": "1622", - "parentIndex": "3308", + "parentIndex": "3309", "start": "59010" }, "typeDescription": { @@ -68823,13 +68879,13 @@ } } }, - "id": "3308", + "id": "3309", "memberLocation": { "column": "40", "end": "59031", "length": "6", "line": "1622", - "parentIndex": "3308", + "parentIndex": "3309", "start": "59026" }, "memberName": "lockID", @@ -68839,7 +68895,7 @@ "end": "59031", "length": "22", "line": "1622", - "parentIndex": "3305", + "parentIndex": "3306", "start": "59010" }, "typeDescription": { @@ -68855,16 +68911,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3307", + "id": "3308", "name": "user_locks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3298", + "referencedDeclaration": "3299", "src": { "column": "8", "end": "59003", "length": "10", "line": "1622", - "parentIndex": "3306", + "parentIndex": "3307", "start": "58994" }, "typeDescription": { @@ -68873,13 +68929,13 @@ } } }, - "id": "3306", + "id": "3307", "memberLocation": { "column": "19", "end": "59008", "length": "4", "line": "1622", - "parentIndex": "3306", + "parentIndex": "3307", "start": "59005" }, "memberName": "push", @@ -68889,7 +68945,7 @@ "end": "59008", "length": "15", "line": "1622", - "parentIndex": "3305", + "parentIndex": "3306", "start": "58994" }, "typeDescription": { @@ -68898,7 +68954,7 @@ } } }, - "id": "3305", + "id": "3306", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -68906,7 +68962,7 @@ "end": "59032", "length": "39", "line": "1622", - "parentIndex": "3235", + "parentIndex": "3236", "start": "58994" }, "typeDescription": { @@ -68919,11 +68975,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3311" + "3312" ], "declarations": [ { - "id": "3311", + "id": "3312", "mutability": "MUTABLE", "name": "userLocks", "nameLocation": { @@ -68931,17 +68987,17 @@ "end": "59116", "length": "9", "line": "1625", - "parentIndex": "3311", + "parentIndex": "3312", "start": "59108" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3235", + "scope": "3236", "src": { "column": "8", "end": "59116", "length": "27", "line": "1625", - "parentIndex": "3310", + "parentIndex": "3311", "start": "59090" }, "storageLocation": "STORAGE", @@ -68950,7 +69006,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3312", + "id": "3313", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -68958,7 +69014,7 @@ "end": "59096", "length": "7", "line": "1625", - "parentIndex": "3311", + "parentIndex": "3312", "start": "59090" }, "typeDescription": { @@ -68969,23 +69025,23 @@ "visibility": "INTERNAL" } ], - "id": "3310", + "id": "3311", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3319", + "id": "3320", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3319", + "referencedDeclaration": "3320", "src": { "column": "70", "end": "59159", "length": "8", "line": "1625", - "parentIndex": "3313", + "parentIndex": "3314", "start": "59152" }, "typeDescription": { @@ -68994,7 +69050,7 @@ } } }, - "id": "3313", + "id": "3314", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -69007,7 +69063,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3318", + "id": "3319", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -69015,7 +69071,7 @@ "end": "59128", "length": "3", "line": "1625", - "parentIndex": "3317", + "parentIndex": "3318", "start": "59126" }, "typeDescription": { @@ -69024,13 +69080,13 @@ } } }, - "id": "3317", + "id": "3318", "memberLocation": { "column": "48", "end": "59135", "length": "6", "line": "1625", - "parentIndex": "3317", + "parentIndex": "3318", "start": "59130" }, "memberName": "sender", @@ -69040,7 +69096,7 @@ "end": "59135", "length": "10", "line": "1625", - "parentIndex": "3310", + "parentIndex": "3311", "start": "59126" }, "typeDescription": { @@ -69049,11 +69105,11 @@ } } }, - "id": "3315", + "id": "3316", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3316", + "id": "3317", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -69062,11 +69118,11 @@ "end": "59124", "length": "5", "line": "1625", - "parentIndex": "3315", + "parentIndex": "3316", "start": "59120" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -69077,16 +69133,16 @@ "end": "59136", "length": "17", "line": "1625", - "parentIndex": "3310", + "parentIndex": "3311", "start": "59120" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -69096,13 +69152,13 @@ ] } }, - "id": "3314", + "id": "3315", "memberLocation": { "column": "56", "end": "59150", "length": "13", "line": "1625", - "parentIndex": "3314", + "parentIndex": "3315", "start": "59138" }, "memberName": "locksForToken", @@ -69112,11 +69168,11 @@ "end": "59150", "length": "31", "line": "1625", - "parentIndex": "3310", + "parentIndex": "3311", "start": "59120" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -69127,16 +69183,16 @@ "end": "59160", "length": "41", "line": "1625", - "parentIndex": "3310", + "parentIndex": "3311", "start": "59120" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -69152,7 +69208,7 @@ "end": "59161", "length": "72", "line": "1625", - "parentIndex": "3235", + "parentIndex": "3236", "start": "59090" } } @@ -69163,23 +69219,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3321", + "id": "3322", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3324", + "id": "3325", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3324", + "referencedDeclaration": "3325", "src": { "column": "18", "end": "59186", "length": "6", "line": "1626", - "parentIndex": "3322", + "parentIndex": "3323", "start": "59181" }, "typeDescription": { @@ -69188,20 +69244,20 @@ } } }, - "id": "3322", + "id": "3323", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3323", + "id": "3324", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3310", + "referencedDeclaration": "3311", "src": { "column": "8", "end": "59179", "length": "9", "line": "1626", - "parentIndex": "3322", + "parentIndex": "3323", "start": "59171" }, "typeDescription": { @@ -69216,7 +69272,7 @@ "end": "59187", "length": "17", "line": "1626", - "parentIndex": "3321", + "parentIndex": "3322", "start": "59171" }, "typeDescription": { @@ -69243,23 +69299,23 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3327", + "id": "3328", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3329", + "id": "3330", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3310", + "referencedDeclaration": "3311", "src": { "column": "38", "end": "59209", "length": "9", "line": "1626", - "parentIndex": "3328", + "parentIndex": "3329", "start": "59201" }, "typeDescription": { @@ -69268,13 +69324,13 @@ } } }, - "id": "3328", + "id": "3329", "memberLocation": { "column": "48", "end": "59216", "length": "6", "line": "1626", - "parentIndex": "3328", + "parentIndex": "3329", "start": "59211" }, "memberName": "length", @@ -69284,7 +69340,7 @@ "end": "59216", "length": "16", "line": "1626", - "parentIndex": "3327", + "parentIndex": "3328", "start": "59201" }, "typeDescription": { @@ -69299,7 +69355,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "3330", + "id": "3331", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -69308,7 +69364,7 @@ "end": "59220", "length": "1", "line": "1626", - "parentIndex": "3327", + "parentIndex": "3328", "start": "59220" }, "typeDescription": { @@ -69323,7 +69379,7 @@ "end": "59220", "length": "20", "line": "1626", - "parentIndex": "3325", + "parentIndex": "3326", "start": "59201" }, "typeDescription": { @@ -69332,20 +69388,20 @@ } } }, - "id": "3325", + "id": "3326", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3326", + "id": "3327", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3310", + "referencedDeclaration": "3311", "src": { "column": "28", "end": "59199", "length": "9", "line": "1626", - "parentIndex": "3325", + "parentIndex": "3326", "start": "59191" }, "typeDescription": { @@ -69360,7 +69416,7 @@ "end": "59221", "length": "31", "line": "1626", - "parentIndex": "3321", + "parentIndex": "3322", "start": "59191" }, "typeDescription": { @@ -69384,7 +69440,7 @@ "end": "59221", "length": "51", "line": "1626", - "parentIndex": "3320", + "parentIndex": "3321", "start": "59171" }, "typeDescription": { @@ -69393,14 +69449,14 @@ } } }, - "id": "3320", + "id": "3321", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "59222", "length": "52", "line": "1626", - "parentIndex": "3235", + "parentIndex": "3236", "start": "59171" }, "typeDescription": { @@ -69418,16 +69474,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3333", + "id": "3334", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3310", + "referencedDeclaration": "3311", "src": { "column": "8", "end": "59240", "length": "9", "line": "1627", - "parentIndex": "3332", + "parentIndex": "3333", "start": "59232" }, "typeDescription": { @@ -69436,13 +69492,13 @@ } } }, - "id": "3332", + "id": "3333", "memberLocation": { "column": "18", "end": "59244", "length": "3", "line": "1627", - "parentIndex": "3332", + "parentIndex": "3333", "start": "59242" }, "memberName": "pop", @@ -69452,7 +69508,7 @@ "end": "59244", "length": "13", "line": "1627", - "parentIndex": "3331", + "parentIndex": "3332", "start": "59232" }, "typeDescription": { @@ -69461,7 +69517,7 @@ } } }, - "id": "3331", + "id": "3332", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -69469,7 +69525,7 @@ "end": "59246", "length": "15", "line": "1627", - "parentIndex": "3235", + "parentIndex": "3236", "start": "59232" }, "typeDescription": { @@ -69482,7 +69538,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "3339", + "id": "3340", "implemented": true, "nodeType": "BLOCK", "src": { @@ -69490,7 +69546,7 @@ "end": "59355", "length": "72", "line": "1628", - "parentIndex": "3222", + "parentIndex": "3223", "start": "59284" }, "statements": [ @@ -69507,16 +69563,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3347", + "id": "3348", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3347", + "referencedDeclaration": "3348", "src": { "column": "50", "end": "59343", "length": "8", "line": "1629", - "parentIndex": "3340", + "parentIndex": "3341", "start": "59336" }, "typeDescription": { @@ -69541,7 +69597,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3346", + "id": "3347", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -69549,7 +69605,7 @@ "end": "59306", "length": "3", "line": "1629", - "parentIndex": "3345", + "parentIndex": "3346", "start": "59304" }, "typeDescription": { @@ -69558,13 +69614,13 @@ } } }, - "id": "3345", + "id": "3346", "memberLocation": { "column": "22", "end": "59313", "length": "6", "line": "1629", - "parentIndex": "3345", + "parentIndex": "3346", "start": "59308" }, "memberName": "sender", @@ -69574,7 +69630,7 @@ "end": "59313", "length": "10", "line": "1629", - "parentIndex": "3343", + "parentIndex": "3344", "start": "59304" }, "typeDescription": { @@ -69583,11 +69639,11 @@ } } }, - "id": "3343", + "id": "3344", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3344", + "id": "3345", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -69596,11 +69652,11 @@ "end": "59302", "length": "5", "line": "1629", - "parentIndex": "3343", + "parentIndex": "3344", "start": "59298" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -69611,16 +69667,16 @@ "end": "59314", "length": "17", "line": "1629", - "parentIndex": "3342", + "parentIndex": "3343", "start": "59298" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -69630,13 +69686,13 @@ ] } }, - "id": "3342", + "id": "3343", "memberLocation": { "column": "30", "end": "59327", "length": "12", "line": "1629", - "parentIndex": "3342", + "parentIndex": "3343", "start": "59316" }, "memberName": "lockedTokens", @@ -69646,22 +69702,22 @@ "end": "59327", "length": "30", "line": "1629", - "parentIndex": "3341", + "parentIndex": "3342", "start": "59298" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } }, - "id": "3341", + "id": "3342", "memberLocation": { "column": "43", "end": "59334", "length": "6", "line": "1629", - "parentIndex": "3341", + "parentIndex": "3342", "start": "59329" }, "memberName": "remove", @@ -69671,16 +69727,16 @@ "end": "59334", "length": "37", "line": "1629", - "parentIndex": "3340", + "parentIndex": "3341", "start": "59298" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } }, - "id": "3340", + "id": "3341", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -69688,7 +69744,7 @@ "end": "59344", "length": "47", "line": "1629", - "parentIndex": "3339", + "parentIndex": "3340", "start": "59298" }, "typeDescription": { @@ -69702,23 +69758,23 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3335", + "id": "3336", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3337", + "id": "3338", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3310", + "referencedDeclaration": "3311", "src": { "column": "12", "end": "59269", "length": "9", "line": "1628", - "parentIndex": "3336", + "parentIndex": "3337", "start": "59261" }, "typeDescription": { @@ -69727,13 +69783,13 @@ } } }, - "id": "3336", + "id": "3337", "memberLocation": { "column": "22", "end": "59276", "length": "6", "line": "1628", - "parentIndex": "3336", + "parentIndex": "3337", "start": "59271" }, "memberName": "length", @@ -69743,7 +69799,7 @@ "end": "59276", "length": "16", "line": "1628", - "parentIndex": "3335", + "parentIndex": "3336", "start": "59261" }, "typeDescription": { @@ -69758,7 +69814,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3338", + "id": "3339", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -69767,7 +69823,7 @@ "end": "59281", "length": "1", "line": "1628", - "parentIndex": "3335", + "parentIndex": "3336", "start": "59281" }, "typeDescription": { @@ -69782,7 +69838,7 @@ "end": "59281", "length": "21", "line": "1628", - "parentIndex": "3334", + "parentIndex": "3335", "start": "59261" }, "typeDescription": { @@ -69791,13 +69847,13 @@ } } }, - "id": "3334", + "id": "3335", "nodeType": "IF_STATEMENT", "src": { "end": "59355", "length": "99", "line": "1628", - "parentIndex": "3235", + "parentIndex": "3236", "start": "59257" } } @@ -69808,23 +69864,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3349", + "id": "3350", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3351", + "id": "3352", "name": "transferredLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3264", + "referencedDeclaration": "3265", "src": { "column": "8", "end": "59379", "length": "15", "line": "1631", - "parentIndex": "3350", + "parentIndex": "3351", "start": "59365" }, "typeDescription": { @@ -69833,13 +69889,13 @@ } } }, - "id": "3350", + "id": "3351", "memberLocation": { "column": "24", "end": "59385", "length": "5", "line": "1631", - "parentIndex": "3350", + "parentIndex": "3351", "start": "59381" }, "memberName": "owner", @@ -69849,7 +69905,7 @@ "end": "59385", "length": "21", "line": "1631", - "parentIndex": "3349", + "parentIndex": "3350", "start": "59365" }, "typeDescription": { @@ -69863,16 +69919,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3352", + "id": "3353", "name": "_newOwner", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3352", + "referencedDeclaration": "3353", "src": { "column": "32", "end": "59397", "length": "9", "line": "1631", - "parentIndex": "3349", + "parentIndex": "3350", "start": "59389" }, "typeDescription": { @@ -69886,7 +69942,7 @@ "end": "59397", "length": "33", "line": "1631", - "parentIndex": "3348", + "parentIndex": "3349", "start": "59365" }, "typeDescription": { @@ -69895,14 +69951,14 @@ } } }, - "id": "3348", + "id": "3349", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "59398", "length": "34", "line": "1631", - "parentIndex": "3235", + "parentIndex": "3236", "start": "59365" }, "typeDescription": { @@ -69918,7 +69974,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "3354", + "id": "3355", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -69927,7 +69983,7 @@ "end": "59419", "length": "4", "line": "1633", - "parentIndex": "3353", + "parentIndex": "3354", "start": "59416" }, "typeDescription": { @@ -69937,15 +69993,15 @@ "value": "true" } }, - "functionReturnParameters": "3222", - "id": "3353", + "functionReturnParameters": "3223", + "id": "3354", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "59420", "length": "12", "line": "1633", - "parentIndex": "3222", + "parentIndex": "3223", "start": "59409" }, "typeDescription": { @@ -69956,7 +70012,7 @@ } ] }, - "id": "3222", + "id": "3223", "implemented": true, "kind": "KIND_FUNCTION", "name": "transferLockOwnership", @@ -69965,25 +70021,25 @@ "end": "58211", "length": "21", "line": "1602", - "parentIndex": "3222", + "parentIndex": "3223", "start": "58191" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3223", + "id": "3224", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3224", + "id": "3225", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3224", + "scope": "3225", "src": { "column": "8", "end": "58237", "length": "16", "line": "1603", - "parentIndex": "3223", + "parentIndex": "3224", "start": "58222" }, "stateMutability": "NONPAYABLE", @@ -69993,7 +70049,7 @@ "typeString": "address" }, "typeName": { - "id": "3225", + "id": "3226", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -70001,7 +70057,7 @@ "end": "58228", "length": "7", "line": "1603", - "parentIndex": "3224", + "parentIndex": "3225", "start": "58222" }, "stateMutability": "NONPAYABLE", @@ -70013,16 +70069,16 @@ "visibility": "INTERNAL" }, { - "id": "3226", + "id": "3227", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "3226", + "scope": "3227", "src": { "column": "8", "end": "58261", "length": "14", "line": "1604", - "parentIndex": "3223", + "parentIndex": "3224", "start": "58248" }, "stateMutability": "MUTABLE", @@ -70032,7 +70088,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3227", + "id": "3228", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -70040,7 +70096,7 @@ "end": "58254", "length": "7", "line": "1604", - "parentIndex": "3226", + "parentIndex": "3227", "start": "58248" }, "typeDescription": { @@ -70051,16 +70107,16 @@ "visibility": "INTERNAL" }, { - "id": "3228", + "id": "3229", "name": "_lockID", "nodeType": "VARIABLE_DECLARATION", - "scope": "3228", + "scope": "3229", "src": { "column": "8", "end": "58286", "length": "15", "line": "1605", - "parentIndex": "3223", + "parentIndex": "3224", "start": "58272" }, "stateMutability": "MUTABLE", @@ -70070,7 +70126,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3229", + "id": "3230", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -70078,7 +70134,7 @@ "end": "58278", "length": "7", "line": "1605", - "parentIndex": "3228", + "parentIndex": "3229", "start": "58272" }, "typeDescription": { @@ -70089,16 +70145,16 @@ "visibility": "INTERNAL" }, { - "id": "3230", + "id": "3231", "name": "_newOwner", "nodeType": "VARIABLE_DECLARATION", - "scope": "3230", + "scope": "3231", "src": { "column": "8", "end": "58321", "length": "25", "line": "1606", - "parentIndex": "3223", + "parentIndex": "3224", "start": "58297" }, "stateMutability": "PAYABLE", @@ -70108,7 +70164,7 @@ "typeString": "address" }, "typeName": { - "id": "3231", + "id": "3232", "name": "addresspayable", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -70116,7 +70172,7 @@ "end": "58311", "length": "15", "line": "1606", - "parentIndex": "3230", + "parentIndex": "3231", "start": "58297" }, "stateMutability": "PAYABLE", @@ -70133,24 +70189,24 @@ "end": "58321", "length": "100", "line": "1603", - "parentIndex": "3222", + "parentIndex": "3223", "start": "58222" } }, "returnParameters": { - "id": "3232", + "id": "3233", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3233", + "id": "3234", "nodeType": "VARIABLE_DECLARATION", - "scope": "3233", + "scope": "3234", "src": { "column": "24", "end": "58350", "length": "4", "line": "1607", - "parentIndex": "3232", + "parentIndex": "3233", "start": "58347" }, "stateMutability": "MUTABLE", @@ -70160,7 +70216,7 @@ "typeString": "bool" }, "typeName": { - "id": "3234", + "id": "3235", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -70168,7 +70224,7 @@ "end": "58350", "length": "4", "line": "1607", - "parentIndex": "3233", + "parentIndex": "3234", "start": "58347" }, "typeDescription": { @@ -70184,12 +70240,12 @@ "end": "58350", "length": "4", "line": "1607", - "parentIndex": "3222", + "parentIndex": "3223", "start": "58347" } }, "scope": "1998", - "signature": "892e3aa7", + "signature": "308f23b8", "src": { "column": "4", "end": "59426", @@ -70210,7 +70266,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3371", + "id": "3372", "implemented": true, "nodeType": "BLOCK", "src": { @@ -70218,7 +70274,7 @@ "end": "60780", "length": "1043", "line": "1645", - "parentIndex": "3356", + "parentIndex": "3357", "start": "59738" }, "statements": [ @@ -70239,7 +70295,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3374", + "id": "3375", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -70253,7 +70309,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3378", + "id": "3379", "name": "migrator", "nodeType": "IDENTIFIER", "src": { @@ -70261,7 +70317,7 @@ "end": "59771", "length": "8", "line": "1646", - "parentIndex": "3375", + "parentIndex": "3376", "start": "59764" }, "typeDescription": { @@ -70280,7 +70336,7 @@ "typeString": "address" } ], - "id": "3376", + "id": "3377", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -70288,7 +70344,7 @@ "end": "59762", "length": "7", "line": "1646", - "parentIndex": "3375", + "parentIndex": "3376", "start": "59756" }, "typeDescription": { @@ -70296,7 +70352,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3377", + "id": "3378", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -70304,7 +70360,7 @@ "end": "59762", "length": "7", "line": "1646", - "parentIndex": "3376", + "parentIndex": "3377", "start": "59756" }, "stateMutability": "NONPAYABLE", @@ -70315,7 +70371,7 @@ } } }, - "id": "3375", + "id": "3376", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -70323,7 +70379,7 @@ "end": "59772", "length": "17", "line": "1646", - "parentIndex": "3374", + "parentIndex": "3375", "start": "59756" }, "typeDescription": { @@ -70348,7 +70404,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3382", + "id": "3383", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -70357,7 +70413,7 @@ "end": "59785", "length": "1", "line": "1646", - "parentIndex": "3379", + "parentIndex": "3380", "start": "59785" }, "typeDescription": { @@ -70377,7 +70433,7 @@ "typeString": "address" } ], - "id": "3380", + "id": "3381", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -70385,7 +70441,7 @@ "end": "59783", "length": "7", "line": "1646", - "parentIndex": "3379", + "parentIndex": "3380", "start": "59777" }, "typeDescription": { @@ -70393,7 +70449,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3381", + "id": "3382", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -70401,7 +70457,7 @@ "end": "59783", "length": "7", "line": "1646", - "parentIndex": "3380", + "parentIndex": "3381", "start": "59777" }, "stateMutability": "NONPAYABLE", @@ -70412,7 +70468,7 @@ } } }, - "id": "3379", + "id": "3380", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -70420,7 +70476,7 @@ "end": "59786", "length": "10", "line": "1646", - "parentIndex": "3374", + "parentIndex": "3375", "start": "59777" }, "typeDescription": { @@ -70434,7 +70490,7 @@ "end": "59786", "length": "31", "line": "1646", - "parentIndex": "3372", + "parentIndex": "3373", "start": "59756" }, "typeDescription": { @@ -70453,7 +70509,7 @@ } ], "hexValue": "4e4f5420534554", - "id": "3383", + "id": "3384", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -70462,7 +70518,7 @@ "end": "59797", "length": "9", "line": "1646", - "parentIndex": "3372", + "parentIndex": "3373", "start": "59789" }, "typeDescription": { @@ -70476,7 +70532,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3373", + "id": "3374", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -70485,7 +70541,7 @@ "end": "59754", "length": "7", "line": "1646", - "parentIndex": "3372", + "parentIndex": "3373", "start": "59748" }, "typeDescription": { @@ -70494,7 +70550,7 @@ } } }, - "id": "3372", + "id": "3373", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -70502,7 +70558,7 @@ "end": "59798", "length": "51", "line": "1646", - "parentIndex": "3371", + "parentIndex": "3372", "start": "59748" }, "typeDescription": { @@ -70528,20 +70584,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3386", + "id": "3387", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3387", + "id": "3388", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3387", + "referencedDeclaration": "3388", "src": { "column": "16", "end": "59823", "length": "7", "line": "1647", - "parentIndex": "3386", + "parentIndex": "3387", "start": "59817" }, "typeDescription": { @@ -70556,7 +70612,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3388", + "id": "3389", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -70565,7 +70621,7 @@ "end": "59827", "length": "1", "line": "1647", - "parentIndex": "3386", + "parentIndex": "3387", "start": "59827" }, "typeDescription": { @@ -70580,7 +70636,7 @@ "end": "59827", "length": "11", "line": "1647", - "parentIndex": "3384", + "parentIndex": "3385", "start": "59817" }, "typeDescription": { @@ -70599,7 +70655,7 @@ } ], "hexValue": "5a45524f204d4947524154494f4e", - "id": "3389", + "id": "3390", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -70608,7 +70664,7 @@ "end": "59845", "length": "16", "line": "1647", - "parentIndex": "3384", + "parentIndex": "3385", "start": "59830" }, "typeDescription": { @@ -70622,7 +70678,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3385", + "id": "3386", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -70631,7 +70687,7 @@ "end": "59815", "length": "7", "line": "1647", - "parentIndex": "3384", + "parentIndex": "3385", "start": "59809" }, "typeDescription": { @@ -70640,7 +70696,7 @@ } } }, - "id": "3384", + "id": "3385", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -70648,7 +70704,7 @@ "end": "59846", "length": "38", "line": "1647", - "parentIndex": "3371", + "parentIndex": "3372", "start": "59809" }, "typeDescription": { @@ -70661,11 +70717,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3391" + "3392" ], "declarations": [ { - "id": "3391", + "id": "3392", "mutability": "MUTABLE", "name": "lockID", "nameLocation": { @@ -70673,17 +70729,17 @@ "end": "59871", "length": "6", "line": "1649", - "parentIndex": "3391", + "parentIndex": "3392", "start": "59866" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3371", + "scope": "3372", "src": { "column": "8", "end": "59871", "length": "14", "line": "1649", - "parentIndex": "3390", + "parentIndex": "3391", "start": "59858" }, "storageLocation": "DEFAULT", @@ -70692,7 +70748,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3392", + "id": "3393", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -70700,7 +70756,7 @@ "end": "59864", "length": "7", "line": "1649", - "parentIndex": "3391", + "parentIndex": "3392", "start": "59858" }, "typeDescription": { @@ -70711,23 +70767,23 @@ "visibility": "INTERNAL" } ], - "id": "3390", + "id": "3391", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3401", + "id": "3402", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3401", + "referencedDeclaration": "3402", "src": { "column": "67", "end": "59922", "length": "6", "line": "1649", - "parentIndex": "3393", + "parentIndex": "3394", "start": "59917" }, "typeDescription": { @@ -70736,23 +70792,23 @@ } } }, - "id": "3393", + "id": "3394", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3400", + "id": "3401", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3400", + "referencedDeclaration": "3401", "src": { "column": "57", "end": "59914", "length": "8", "line": "1649", - "parentIndex": "3394", + "parentIndex": "3395", "start": "59907" }, "typeDescription": { @@ -70761,7 +70817,7 @@ } } }, - "id": "3394", + "id": "3395", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -70774,7 +70830,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3399", + "id": "3400", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -70782,7 +70838,7 @@ "end": "59883", "length": "3", "line": "1649", - "parentIndex": "3398", + "parentIndex": "3399", "start": "59881" }, "typeDescription": { @@ -70791,13 +70847,13 @@ } } }, - "id": "3398", + "id": "3399", "memberLocation": { "column": "35", "end": "59890", "length": "6", "line": "1649", - "parentIndex": "3398", + "parentIndex": "3399", "start": "59885" }, "memberName": "sender", @@ -70807,7 +70863,7 @@ "end": "59890", "length": "10", "line": "1649", - "parentIndex": "3390", + "parentIndex": "3391", "start": "59881" }, "typeDescription": { @@ -70816,11 +70872,11 @@ } } }, - "id": "3396", + "id": "3397", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3397", + "id": "3398", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -70829,11 +70885,11 @@ "end": "59879", "length": "5", "line": "1649", - "parentIndex": "3396", + "parentIndex": "3397", "start": "59875" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -70844,16 +70900,16 @@ "end": "59891", "length": "17", "line": "1649", - "parentIndex": "3390", + "parentIndex": "3391", "start": "59875" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -70863,13 +70919,13 @@ ] } }, - "id": "3395", + "id": "3396", "memberLocation": { "column": "43", "end": "59905", "length": "13", "line": "1649", - "parentIndex": "3395", + "parentIndex": "3396", "start": "59893" }, "memberName": "locksForToken", @@ -70879,11 +70935,11 @@ "end": "59905", "length": "31", "line": "1649", - "parentIndex": "3390", + "parentIndex": "3391", "start": "59875" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -70894,16 +70950,16 @@ "end": "59915", "length": "41", "line": "1649", - "parentIndex": "3390", + "parentIndex": "3391", "start": "59875" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -70919,16 +70975,16 @@ "end": "59923", "length": "49", "line": "1649", - "parentIndex": "3390", + "parentIndex": "3391", "start": "59875" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "typeString": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -70944,7 +71000,7 @@ "end": "59924", "length": "67", "line": "1649", - "parentIndex": "3371", + "parentIndex": "3372", "start": "59858" } } @@ -70953,11 +71009,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3403" + "3404" ], "declarations": [ { - "id": "3403", + "id": "3404", "mutability": "MUTABLE", "name": "userLock", "nameLocation": { @@ -70965,17 +71021,17 @@ "end": "59959", "length": "8", "line": "1650", - "parentIndex": "3403", + "parentIndex": "3404", "start": "59952" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3371", + "scope": "3372", "src": { "column": "8", "end": "59959", "length": "26", "line": "1650", - "parentIndex": "3402", + "parentIndex": "3403", "start": "59934" }, "storageLocation": "STORAGE", @@ -70984,17 +71040,17 @@ "typeString": "struct KnoxLpLocker.TokenLock" }, "typeName": { - "id": "3404", + "id": "3405", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3405", + "id": "3406", "name": "TokenLock", "nameLocation": { "column": "8", "end": "59942", "length": "9", "line": "1650", - "parentIndex": "3404", + "parentIndex": "3405", "start": "59934" }, "nodeType": "IDENTIFIER_PATH", @@ -71004,7 +71060,7 @@ "end": "59942", "length": "9", "line": "1650", - "parentIndex": "3404", + "parentIndex": "3405", "start": "59934" } }, @@ -71014,7 +71070,7 @@ "end": "59942", "length": "9", "line": "1650", - "parentIndex": "3403", + "parentIndex": "3404", "start": "59934" }, "typeDescription": { @@ -71025,23 +71081,23 @@ "visibility": "INTERNAL" } ], - "id": "3402", + "id": "3403", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3410", + "id": "3411", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3390", + "referencedDeclaration": "3391", "src": { "column": "58", "end": "59989", "length": "6", "line": "1650", - "parentIndex": "3406", + "parentIndex": "3407", "start": "59984" }, "typeDescription": { @@ -71050,23 +71106,23 @@ } } }, - "id": "3406", + "id": "3407", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3409", + "id": "3410", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3409", + "referencedDeclaration": "3410", "src": { "column": "48", "end": "59981", "length": "8", "line": "1650", - "parentIndex": "3407", + "parentIndex": "3408", "start": "59974" }, "typeDescription": { @@ -71075,20 +71131,20 @@ } } }, - "id": "3407", + "id": "3408", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3408", + "id": "3409", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "37", "end": "59972", "length": "10", "line": "1650", - "parentIndex": "3407", + "parentIndex": "3408", "start": "59963" }, "typeDescription": { @@ -71103,7 +71159,7 @@ "end": "59982", "length": "20", "line": "1650", - "parentIndex": "3402", + "parentIndex": "3403", "start": "59963" }, "typeDescription": { @@ -71128,7 +71184,7 @@ "end": "59990", "length": "28", "line": "1650", - "parentIndex": "3402", + "parentIndex": "3403", "start": "59963" }, "typeDescription": { @@ -71153,7 +71209,7 @@ "end": "59991", "length": "58", "line": "1650", - "parentIndex": "3371", + "parentIndex": "3372", "start": "59934" } } @@ -71179,20 +71235,20 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3415", + "id": "3416", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3416", + "id": "3417", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3390", + "referencedDeclaration": "3391", "src": { "column": "12", "end": "60027", "length": "6", "line": "1652", - "parentIndex": "3415", + "parentIndex": "3416", "start": "60022" }, "typeDescription": { @@ -71206,16 +71262,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3417", + "id": "3418", "name": "_lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3417", + "referencedDeclaration": "3418", "src": { "column": "22", "end": "60038", "length": "7", "line": "1652", - "parentIndex": "3415", + "parentIndex": "3416", "start": "60032" }, "typeDescription": { @@ -71229,7 +71285,7 @@ "end": "60038", "length": "17", "line": "1652", - "parentIndex": "3414", + "parentIndex": "3415", "start": "60022" }, "typeDescription": { @@ -71241,23 +71297,23 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3418", + "id": "3419", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3420", + "id": "3421", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3402", + "referencedDeclaration": "3403", "src": { "column": "33", "end": "60050", "length": "8", "line": "1652", - "parentIndex": "3419", + "parentIndex": "3420", "start": "60043" }, "typeDescription": { @@ -71266,13 +71322,13 @@ } } }, - "id": "3419", + "id": "3420", "memberLocation": { "column": "42", "end": "60056", "length": "5", "line": "1652", - "parentIndex": "3419", + "parentIndex": "3420", "start": "60052" }, "memberName": "owner", @@ -71282,7 +71338,7 @@ "end": "60056", "length": "14", "line": "1652", - "parentIndex": "3418", + "parentIndex": "3419", "start": "60043" }, "typeDescription": { @@ -71299,7 +71355,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3422", + "id": "3423", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -71307,7 +71363,7 @@ "end": "60063", "length": "3", "line": "1652", - "parentIndex": "3421", + "parentIndex": "3422", "start": "60061" }, "typeDescription": { @@ -71316,13 +71372,13 @@ } } }, - "id": "3421", + "id": "3422", "memberLocation": { "column": "55", "end": "60070", "length": "6", "line": "1652", - "parentIndex": "3421", + "parentIndex": "3422", "start": "60065" }, "memberName": "sender", @@ -71332,7 +71388,7 @@ "end": "60070", "length": "10", "line": "1652", - "parentIndex": "3418", + "parentIndex": "3419", "start": "60061" }, "typeDescription": { @@ -71346,7 +71402,7 @@ "end": "60070", "length": "28", "line": "1652", - "parentIndex": "3414", + "parentIndex": "3415", "start": "60043" }, "typeDescription": { @@ -71356,14 +71412,14 @@ } } ], - "id": "3414", + "id": "3415", "nodeType": "AND_OPERATION", "src": { "column": "12", "end": "60070", "length": "49", "line": "1652", - "parentIndex": "3411", + "parentIndex": "3412", "start": "60022" }, "typeDescriptions": [ @@ -71388,7 +71444,7 @@ } ], "hexValue": "4c4f434b204d49534d41544348", - "id": "3423", + "id": "3424", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", @@ -71397,7 +71453,7 @@ "end": "60099", "length": "15", "line": "1653", - "parentIndex": "3411", + "parentIndex": "3412", "start": "60085" }, "typeDescription": { @@ -71411,7 +71467,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3412", + "id": "3413", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", @@ -71420,7 +71476,7 @@ "end": "60007", "length": "7", "line": "1651", - "parentIndex": "3411", + "parentIndex": "3412", "start": "60001" }, "typeDescription": { @@ -71429,7 +71485,7 @@ } } }, - "id": "3411", + "id": "3412", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -71437,7 +71493,7 @@ "end": "60109", "length": "109", "line": "1651", - "parentIndex": "3371", + "parentIndex": "3372", "start": "60001" }, "typeDescription": { @@ -71452,23 +71508,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3425", + "id": "3426", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3427", + "id": "3428", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3402", + "referencedDeclaration": "3403", "src": { "column": "8", "end": "60163", "length": "8", "line": "1655", - "parentIndex": "3426", + "parentIndex": "3427", "start": "60156" }, "typeDescription": { @@ -71477,13 +71533,13 @@ } } }, - "id": "3426", + "id": "3427", "memberLocation": { "column": "17", "end": "60170", "length": "6", "line": "1655", - "parentIndex": "3426", + "parentIndex": "3427", "start": "60165" }, "memberName": "amount", @@ -71493,7 +71549,7 @@ "end": "60170", "length": "15", "line": "1655", - "parentIndex": "3425", + "parentIndex": "3426", "start": "60156" }, "typeDescription": { @@ -71507,23 +71563,23 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3428", + "id": "3429", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3430", + "id": "3431", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3402", + "referencedDeclaration": "3403", "src": { "column": "26", "end": "60181", "length": "8", "line": "1655", - "parentIndex": "3429", + "parentIndex": "3430", "start": "60174" }, "typeDescription": { @@ -71532,13 +71588,13 @@ } } }, - "id": "3429", + "id": "3430", "memberLocation": { "column": "35", "end": "60188", "length": "6", "line": "1655", - "parentIndex": "3429", + "parentIndex": "3430", "start": "60183" }, "memberName": "amount", @@ -71548,7 +71604,7 @@ "end": "60188", "length": "15", "line": "1655", - "parentIndex": "3428", + "parentIndex": "3429", "start": "60174" }, "typeDescription": { @@ -71566,16 +71622,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3432", + "id": "3433", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3432", + "referencedDeclaration": "3433", "src": { "column": "45", "end": "60199", "length": "7", "line": "1655", - "parentIndex": "3431", + "parentIndex": "3432", "start": "60193" }, "typeDescription": { @@ -71585,14 +71641,14 @@ } } ], - "id": "3431", + "id": "3432", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "44", "end": "60200", "length": "9", "line": "1655", - "parentIndex": "3428", + "parentIndex": "3429", "start": "60192" }, "typeDescription": { @@ -71606,7 +71662,7 @@ "end": "60200", "length": "27", "line": "1655", - "parentIndex": "3425", + "parentIndex": "3426", "start": "60174" }, "typeDescription": { @@ -71620,7 +71676,7 @@ "end": "60200", "length": "45", "line": "1655", - "parentIndex": "3424", + "parentIndex": "3425", "start": "60156" }, "typeDescription": { @@ -71629,14 +71685,14 @@ } } }, - "id": "3424", + "id": "3425", "nodeType": "ASSIGNMENT", "src": { "column": "8", "end": "60201", "length": "46", "line": "1655", - "parentIndex": "3371", + "parentIndex": "3372", "start": "60156" }, "typeDescription": { @@ -71649,7 +71705,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "3438", + "id": "3439", "implemented": true, "nodeType": "BLOCK", "src": { @@ -71657,7 +71713,7 @@ "end": "60607", "length": "340", "line": "1658", - "parentIndex": "3356", + "parentIndex": "3357", "start": "60268" }, "statements": [ @@ -71665,11 +71721,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3440" + "3441" ], "declarations": [ { - "id": "3440", + "id": "3441", "mutability": "MUTABLE", "name": "userLocks", "nameLocation": { @@ -71677,17 +71733,17 @@ "end": "60308", "length": "9", "line": "1659", - "parentIndex": "3440", + "parentIndex": "3441", "start": "60300" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3438", + "scope": "3439", "src": { "column": "12", "end": "60308", "length": "27", "line": "1659", - "parentIndex": "3439", + "parentIndex": "3440", "start": "60282" }, "storageLocation": "STORAGE", @@ -71696,7 +71752,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3441", + "id": "3442", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -71704,7 +71760,7 @@ "end": "60288", "length": "7", "line": "1659", - "parentIndex": "3440", + "parentIndex": "3441", "start": "60282" }, "typeDescription": { @@ -71715,23 +71771,23 @@ "visibility": "INTERNAL" } ], - "id": "3439", + "id": "3440", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3448", + "id": "3449", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3448", + "referencedDeclaration": "3449", "src": { "column": "16", "end": "60368", "length": "8", "line": "1660", - "parentIndex": "3442", + "parentIndex": "3443", "start": "60361" }, "typeDescription": { @@ -71740,7 +71796,7 @@ } } }, - "id": "3442", + "id": "3443", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -71753,7 +71809,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3447", + "id": "3448", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -71761,7 +71817,7 @@ "end": "60320", "length": "3", "line": "1659", - "parentIndex": "3446", + "parentIndex": "3447", "start": "60318" }, "typeDescription": { @@ -71770,13 +71826,13 @@ } } }, - "id": "3446", + "id": "3447", "memberLocation": { "column": "52", "end": "60327", "length": "6", "line": "1659", - "parentIndex": "3446", + "parentIndex": "3447", "start": "60322" }, "memberName": "sender", @@ -71786,7 +71842,7 @@ "end": "60327", "length": "10", "line": "1659", - "parentIndex": "3439", + "parentIndex": "3440", "start": "60318" }, "typeDescription": { @@ -71795,11 +71851,11 @@ } } }, - "id": "3444", + "id": "3445", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3445", + "id": "3446", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -71808,11 +71864,11 @@ "end": "60316", "length": "5", "line": "1659", - "parentIndex": "3444", + "parentIndex": "3445", "start": "60312" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -71823,16 +71879,16 @@ "end": "60328", "length": "17", "line": "1659", - "parentIndex": "3439", + "parentIndex": "3440", "start": "60312" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -71842,13 +71898,13 @@ ] } }, - "id": "3443", + "id": "3444", "memberLocation": { "column": "60", "end": "60342", "length": "13", "line": "1659", - "parentIndex": "3443", + "parentIndex": "3444", "start": "60330" }, "memberName": "locksForToken", @@ -71858,11 +71914,11 @@ "end": "60342", "length": "31", "line": "1659", - "parentIndex": "3439", + "parentIndex": "3440", "start": "60312" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -71873,16 +71929,16 @@ "end": "60382", "length": "71", "line": "1659", - "parentIndex": "3439", + "parentIndex": "3440", "start": "60312" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -71898,7 +71954,7 @@ "end": "60383", "length": "102", "line": "1659", - "parentIndex": "3438", + "parentIndex": "3439", "start": "60282" } } @@ -71909,23 +71965,23 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "3450", + "id": "3451", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3453", + "id": "3454", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3453", + "referencedDeclaration": "3454", "src": { "column": "22", "end": "60412", "length": "6", "line": "1662", - "parentIndex": "3451", + "parentIndex": "3452", "start": "60407" }, "typeDescription": { @@ -71934,20 +71990,20 @@ } } }, - "id": "3451", + "id": "3452", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3452", + "id": "3453", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3439", + "referencedDeclaration": "3440", "src": { "column": "12", "end": "60405", "length": "9", "line": "1662", - "parentIndex": "3451", + "parentIndex": "3452", "start": "60397" }, "typeDescription": { @@ -71962,7 +72018,7 @@ "end": "60413", "length": "17", "line": "1662", - "parentIndex": "3450", + "parentIndex": "3451", "start": "60397" }, "typeDescription": { @@ -71989,23 +72045,23 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3456", + "id": "3457", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3458", + "id": "3459", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3439", + "referencedDeclaration": "3440", "src": { "column": "42", "end": "60435", "length": "9", "line": "1662", - "parentIndex": "3457", + "parentIndex": "3458", "start": "60427" }, "typeDescription": { @@ -72014,13 +72070,13 @@ } } }, - "id": "3457", + "id": "3458", "memberLocation": { "column": "52", "end": "60442", "length": "6", "line": "1662", - "parentIndex": "3457", + "parentIndex": "3458", "start": "60437" }, "memberName": "length", @@ -72030,7 +72086,7 @@ "end": "60442", "length": "16", "line": "1662", - "parentIndex": "3456", + "parentIndex": "3457", "start": "60427" }, "typeDescription": { @@ -72045,7 +72101,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "3459", + "id": "3460", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -72054,7 +72110,7 @@ "end": "60446", "length": "1", "line": "1662", - "parentIndex": "3456", + "parentIndex": "3457", "start": "60446" }, "typeDescription": { @@ -72069,7 +72125,7 @@ "end": "60446", "length": "20", "line": "1662", - "parentIndex": "3454", + "parentIndex": "3455", "start": "60427" }, "typeDescription": { @@ -72078,20 +72134,20 @@ } } }, - "id": "3454", + "id": "3455", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3455", + "id": "3456", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3439", + "referencedDeclaration": "3440", "src": { "column": "32", "end": "60425", "length": "9", "line": "1662", - "parentIndex": "3454", + "parentIndex": "3455", "start": "60417" }, "typeDescription": { @@ -72106,7 +72162,7 @@ "end": "60447", "length": "31", "line": "1662", - "parentIndex": "3450", + "parentIndex": "3451", "start": "60417" }, "typeDescription": { @@ -72130,7 +72186,7 @@ "end": "60447", "length": "51", "line": "1662", - "parentIndex": "3449", + "parentIndex": "3450", "start": "60397" }, "typeDescription": { @@ -72139,14 +72195,14 @@ } } }, - "id": "3449", + "id": "3450", "nodeType": "ASSIGNMENT", "src": { "column": "12", "end": "60448", "length": "52", "line": "1662", - "parentIndex": "3438", + "parentIndex": "3439", "start": "60397" }, "typeDescription": { @@ -72164,16 +72220,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3462", + "id": "3463", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3439", + "referencedDeclaration": "3440", "src": { "column": "12", "end": "60470", "length": "9", "line": "1663", - "parentIndex": "3461", + "parentIndex": "3462", "start": "60462" }, "typeDescription": { @@ -72182,13 +72238,13 @@ } } }, - "id": "3461", + "id": "3462", "memberLocation": { "column": "22", "end": "60474", "length": "3", "line": "1663", - "parentIndex": "3461", + "parentIndex": "3462", "start": "60472" }, "memberName": "pop", @@ -72198,7 +72254,7 @@ "end": "60474", "length": "13", "line": "1663", - "parentIndex": "3460", + "parentIndex": "3461", "start": "60462" }, "typeDescription": { @@ -72207,7 +72263,7 @@ } } }, - "id": "3460", + "id": "3461", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -72215,7 +72271,7 @@ "end": "60476", "length": "15", "line": "1663", - "parentIndex": "3438", + "parentIndex": "3439", "start": "60462" }, "typeDescription": { @@ -72228,7 +72284,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "3468", + "id": "3469", "implemented": true, "nodeType": "BLOCK", "src": { @@ -72236,7 +72292,7 @@ "end": "60597", "length": "80", "line": "1664", - "parentIndex": "3356", + "parentIndex": "3357", "start": "60518" }, "statements": [ @@ -72253,16 +72309,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3476", + "id": "3477", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3476", + "referencedDeclaration": "3477", "src": { "column": "54", "end": "60581", "length": "8", "line": "1665", - "parentIndex": "3469", + "parentIndex": "3470", "start": "60574" }, "typeDescription": { @@ -72287,7 +72343,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3475", + "id": "3476", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -72295,7 +72351,7 @@ "end": "60544", "length": "3", "line": "1665", - "parentIndex": "3474", + "parentIndex": "3475", "start": "60542" }, "typeDescription": { @@ -72304,13 +72360,13 @@ } } }, - "id": "3474", + "id": "3475", "memberLocation": { "column": "26", "end": "60551", "length": "6", "line": "1665", - "parentIndex": "3474", + "parentIndex": "3475", "start": "60546" }, "memberName": "sender", @@ -72320,7 +72376,7 @@ "end": "60551", "length": "10", "line": "1665", - "parentIndex": "3472", + "parentIndex": "3473", "start": "60542" }, "typeDescription": { @@ -72329,11 +72385,11 @@ } } }, - "id": "3472", + "id": "3473", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3473", + "id": "3474", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -72342,11 +72398,11 @@ "end": "60540", "length": "5", "line": "1665", - "parentIndex": "3472", + "parentIndex": "3473", "start": "60536" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -72357,16 +72413,16 @@ "end": "60552", "length": "17", "line": "1665", - "parentIndex": "3471", + "parentIndex": "3472", "start": "60536" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -72376,13 +72432,13 @@ ] } }, - "id": "3471", + "id": "3472", "memberLocation": { "column": "34", "end": "60565", "length": "12", "line": "1665", - "parentIndex": "3471", + "parentIndex": "3472", "start": "60554" }, "memberName": "lockedTokens", @@ -72392,22 +72448,22 @@ "end": "60565", "length": "30", "line": "1665", - "parentIndex": "3470", + "parentIndex": "3471", "start": "60536" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } }, - "id": "3470", + "id": "3471", "memberLocation": { "column": "47", "end": "60572", "length": "6", "line": "1665", - "parentIndex": "3470", + "parentIndex": "3471", "start": "60567" }, "memberName": "remove", @@ -72417,16 +72473,16 @@ "end": "60572", "length": "37", "line": "1665", - "parentIndex": "3469", + "parentIndex": "3470", "start": "60536" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } }, - "id": "3469", + "id": "3470", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -72434,7 +72490,7 @@ "end": "60582", "length": "47", "line": "1665", - "parentIndex": "3468", + "parentIndex": "3469", "start": "60536" }, "typeDescription": { @@ -72448,23 +72504,23 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3464", + "id": "3465", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3466", + "id": "3467", "name": "userLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3439", + "referencedDeclaration": "3440", "src": { "column": "16", "end": "60503", "length": "9", "line": "1664", - "parentIndex": "3465", + "parentIndex": "3466", "start": "60495" }, "typeDescription": { @@ -72473,13 +72529,13 @@ } } }, - "id": "3465", + "id": "3466", "memberLocation": { "column": "26", "end": "60510", "length": "6", "line": "1664", - "parentIndex": "3465", + "parentIndex": "3466", "start": "60505" }, "memberName": "length", @@ -72489,7 +72545,7 @@ "end": "60510", "length": "16", "line": "1664", - "parentIndex": "3464", + "parentIndex": "3465", "start": "60495" }, "typeDescription": { @@ -72504,7 +72560,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3467", + "id": "3468", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -72513,7 +72569,7 @@ "end": "60515", "length": "1", "line": "1664", - "parentIndex": "3464", + "parentIndex": "3465", "start": "60515" }, "typeDescription": { @@ -72528,7 +72584,7 @@ "end": "60515", "length": "21", "line": "1664", - "parentIndex": "3463", + "parentIndex": "3464", "start": "60495" }, "typeDescription": { @@ -72537,13 +72593,13 @@ } } }, - "id": "3463", + "id": "3464", "nodeType": "IF_STATEMENT", "src": { "end": "60597", "length": "107", "line": "1664", - "parentIndex": "3438", + "parentIndex": "3439", "start": "60491" } } @@ -72553,23 +72609,23 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3434", + "id": "3435", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3436", + "id": "3437", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3402", + "referencedDeclaration": "3403", "src": { "column": "12", "end": "60253", "length": "8", "line": "1658", - "parentIndex": "3435", + "parentIndex": "3436", "start": "60246" }, "typeDescription": { @@ -72578,13 +72634,13 @@ } } }, - "id": "3435", + "id": "3436", "memberLocation": { "column": "21", "end": "60260", "length": "6", "line": "1658", - "parentIndex": "3435", + "parentIndex": "3436", "start": "60255" }, "memberName": "amount", @@ -72594,7 +72650,7 @@ "end": "60260", "length": "15", "line": "1658", - "parentIndex": "3434", + "parentIndex": "3435", "start": "60246" }, "typeDescription": { @@ -72609,7 +72665,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "3437", + "id": "3438", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -72618,7 +72674,7 @@ "end": "60265", "length": "1", "line": "1658", - "parentIndex": "3434", + "parentIndex": "3435", "start": "60265" }, "typeDescription": { @@ -72633,7 +72689,7 @@ "end": "60265", "length": "20", "line": "1658", - "parentIndex": "3433", + "parentIndex": "3434", "start": "60246" }, "typeDescription": { @@ -72642,13 +72698,13 @@ } } }, - "id": "3433", + "id": "3434", "nodeType": "IF_STATEMENT", "src": { "end": "60607", "length": "366", "line": "1658", - "parentIndex": "3371", + "parentIndex": "3372", "start": "60242" } } @@ -72680,7 +72736,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3485", + "id": "3486", "name": "migrator", "nodeType": "IDENTIFIER", "src": { @@ -72688,7 +72744,7 @@ "end": "60662", "length": "8", "line": "1669", - "parentIndex": "3482", + "parentIndex": "3483", "start": "60655" }, "typeDescription": { @@ -72707,7 +72763,7 @@ "typeString": "address" } ], - "id": "3483", + "id": "3484", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -72715,7 +72771,7 @@ "end": "60653", "length": "7", "line": "1669", - "parentIndex": "3482", + "parentIndex": "3483", "start": "60647" }, "typeDescription": { @@ -72723,7 +72779,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3484", + "id": "3485", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -72731,7 +72787,7 @@ "end": "60653", "length": "7", "line": "1669", - "parentIndex": "3483", + "parentIndex": "3484", "start": "60647" }, "stateMutability": "NONPAYABLE", @@ -72742,7 +72798,7 @@ } } }, - "id": "3482", + "id": "3483", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -72750,7 +72806,7 @@ "end": "60663", "length": "17", "line": "1669", - "parentIndex": "3477", + "parentIndex": "3478", "start": "60647" }, "typeDescription": { @@ -72768,16 +72824,16 @@ "typeString": "function(function())" } ], - "id": "3486", + "id": "3487", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3486", + "referencedDeclaration": "3487", "src": { "column": "56", "end": "60672", "length": "7", "line": "1669", - "parentIndex": "3477", + "parentIndex": "3478", "start": "60666" }, "typeDescription": { @@ -72803,16 +72859,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3481", + "id": "3482", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3481", + "referencedDeclaration": "3482", "src": { "column": "15", "end": "60632", "length": "8", "line": "1669", - "parentIndex": "3479", + "parentIndex": "3480", "start": "60625" }, "typeDescription": { @@ -72825,7 +72881,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3480", + "id": "3481", "name": "IERC20", "nodeType": "IDENTIFIER", "src": { @@ -72833,7 +72889,7 @@ "end": "60623", "length": "6", "line": "1669", - "parentIndex": "3479", + "parentIndex": "3480", "start": "60618" }, "typeDescription": { @@ -72842,7 +72898,7 @@ } } }, - "id": "3479", + "id": "3480", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -72850,7 +72906,7 @@ "end": "60633", "length": "16", "line": "1669", - "parentIndex": "3478", + "parentIndex": "3479", "start": "60618" }, "typeDescription": { @@ -72859,13 +72915,13 @@ } } }, - "id": "3478", + "id": "3479", "memberLocation": { "column": "25", "end": "60645", "length": "11", "line": "1669", - "parentIndex": "3478", + "parentIndex": "3479", "start": "60635" }, "memberName": "safeApprove", @@ -72875,7 +72931,7 @@ "end": "60645", "length": "28", "line": "1669", - "parentIndex": "3477", + "parentIndex": "3478", "start": "60618" }, "typeDescription": { @@ -72884,7 +72940,7 @@ } } }, - "id": "3477", + "id": "3478", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -72892,7 +72948,7 @@ "end": "60673", "length": "56", "line": "1669", - "parentIndex": "3371", + "parentIndex": "3372", "start": "60618" }, "typeDescription": { @@ -72926,16 +72982,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3490", + "id": "3491", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3490", + "referencedDeclaration": "3491", "src": { "column": "25", "end": "60708", "length": "8", "line": "1670", - "parentIndex": "3487", + "parentIndex": "3488", "start": "60701" }, "typeDescription": { @@ -72953,16 +73009,16 @@ "typeString": "address" } ], - "id": "3491", + "id": "3492", "name": "_amount", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3491", + "referencedDeclaration": "3492", "src": { "column": "35", "end": "60717", "length": "7", "line": "1670", - "parentIndex": "3487", + "parentIndex": "3488", "start": "60711" }, "typeDescription": { @@ -72987,16 +73043,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3493", + "id": "3494", "name": "userLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3402", + "referencedDeclaration": "3403", "src": { "column": "44", "end": "60727", "length": "8", "line": "1670", - "parentIndex": "3492", + "parentIndex": "3493", "start": "60720" }, "typeDescription": { @@ -73005,13 +73061,13 @@ } } }, - "id": "3492", + "id": "3493", "memberLocation": { "column": "53", "end": "60738", "length": "10", "line": "1670", - "parentIndex": "3492", + "parentIndex": "3493", "start": "60729" }, "memberName": "unlockDate", @@ -73021,7 +73077,7 @@ "end": "60738", "length": "19", "line": "1670", - "parentIndex": "3487", + "parentIndex": "3488", "start": "60720" }, "typeDescription": { @@ -73050,7 +73106,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3495", + "id": "3496", "name": "msg", "nodeType": "IDENTIFIER", "src": { @@ -73058,7 +73114,7 @@ "end": "60743", "length": "3", "line": "1670", - "parentIndex": "3494", + "parentIndex": "3495", "start": "60741" }, "typeDescription": { @@ -73067,13 +73123,13 @@ } } }, - "id": "3494", + "id": "3495", "memberLocation": { "column": "69", "end": "60750", "length": "6", "line": "1670", - "parentIndex": "3494", + "parentIndex": "3495", "start": "60745" }, "memberName": "sender", @@ -73083,7 +73139,7 @@ "end": "60750", "length": "10", "line": "1670", - "parentIndex": "3487", + "parentIndex": "3488", "start": "60741" }, "typeDescription": { @@ -73099,16 +73155,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3489", + "id": "3490", "name": "migrator", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2092", + "referencedDeclaration": "2093", "src": { "column": "8", "end": "60691", "length": "8", "line": "1670", - "parentIndex": "3488", + "parentIndex": "3489", "start": "60684" }, "typeDescription": { @@ -73117,13 +73173,13 @@ } } }, - "id": "3488", + "id": "3489", "memberLocation": { "column": "17", "end": "60699", "length": "7", "line": "1670", - "parentIndex": "3488", + "parentIndex": "3489", "start": "60693" }, "memberName": "migrate", @@ -73133,7 +73189,7 @@ "end": "60699", "length": "16", "line": "1670", - "parentIndex": "3487", + "parentIndex": "3488", "start": "60684" }, "typeDescription": { @@ -73142,7 +73198,7 @@ } } }, - "id": "3487", + "id": "3488", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -73150,7 +73206,7 @@ "end": "60751", "length": "68", "line": "1670", - "parentIndex": "3371", + "parentIndex": "3372", "start": "60684" }, "typeDescription": { @@ -73166,7 +73222,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "74727565", - "id": "3497", + "id": "3498", "isPure": true, "kind": "BOOLEAN", "nodeType": "LITERAL", @@ -73175,7 +73231,7 @@ "end": "60773", "length": "4", "line": "1672", - "parentIndex": "3496", + "parentIndex": "3497", "start": "60770" }, "typeDescription": { @@ -73185,15 +73241,15 @@ "value": "true" } }, - "functionReturnParameters": "3356", - "id": "3496", + "functionReturnParameters": "3357", + "id": "3497", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "60774", "length": "12", "line": "1672", - "parentIndex": "3356", + "parentIndex": "3357", "start": "60763" }, "typeDescription": { @@ -73204,22 +73260,22 @@ } ] }, - "id": "3356", + "id": "3357", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3366", + "id": "3367", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3367", + "id": "3368", "name": "nonReentrant", "src": { "column": "15", "end": "59721", "length": "12", "line": "1645", - "parentIndex": "3366", + "parentIndex": "3367", "start": "59710" } }, @@ -73230,7 +73286,7 @@ "end": "59721", "length": "12", "line": "1645", - "parentIndex": "3356", + "parentIndex": "3357", "start": "59710" } } @@ -73241,25 +73297,25 @@ "end": "59593", "length": "7", "line": "1640", - "parentIndex": "3356", + "parentIndex": "3357", "start": "59587" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3357", + "id": "3358", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3358", + "id": "3359", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3358", + "scope": "3359", "src": { "column": "8", "end": "59619", "length": "16", "line": "1641", - "parentIndex": "3357", + "parentIndex": "3358", "start": "59604" }, "stateMutability": "NONPAYABLE", @@ -73269,7 +73325,7 @@ "typeString": "address" }, "typeName": { - "id": "3359", + "id": "3360", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73277,7 +73333,7 @@ "end": "59610", "length": "7", "line": "1641", - "parentIndex": "3358", + "parentIndex": "3359", "start": "59604" }, "stateMutability": "NONPAYABLE", @@ -73289,16 +73345,16 @@ "visibility": "INTERNAL" }, { - "id": "3360", + "id": "3361", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "3360", + "scope": "3361", "src": { "column": "8", "end": "59643", "length": "14", "line": "1642", - "parentIndex": "3357", + "parentIndex": "3358", "start": "59630" }, "stateMutability": "MUTABLE", @@ -73308,7 +73364,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3361", + "id": "3362", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73316,7 +73372,7 @@ "end": "59636", "length": "7", "line": "1642", - "parentIndex": "3360", + "parentIndex": "3361", "start": "59630" }, "typeDescription": { @@ -73327,16 +73383,16 @@ "visibility": "INTERNAL" }, { - "id": "3362", + "id": "3363", "name": "_lockID", "nodeType": "VARIABLE_DECLARATION", - "scope": "3362", + "scope": "3363", "src": { "column": "8", "end": "59668", "length": "15", "line": "1643", - "parentIndex": "3357", + "parentIndex": "3358", "start": "59654" }, "stateMutability": "MUTABLE", @@ -73346,7 +73402,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3363", + "id": "3364", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73354,7 +73410,7 @@ "end": "59660", "length": "7", "line": "1643", - "parentIndex": "3362", + "parentIndex": "3363", "start": "59654" }, "typeDescription": { @@ -73365,16 +73421,16 @@ "visibility": "INTERNAL" }, { - "id": "3364", + "id": "3365", "name": "_amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "3364", + "scope": "3365", "src": { "column": "8", "end": "59693", "length": "15", "line": "1644", - "parentIndex": "3357", + "parentIndex": "3358", "start": "59679" }, "stateMutability": "MUTABLE", @@ -73384,7 +73440,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3365", + "id": "3366", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73392,7 +73448,7 @@ "end": "59685", "length": "7", "line": "1644", - "parentIndex": "3364", + "parentIndex": "3365", "start": "59679" }, "typeDescription": { @@ -73408,24 +73464,24 @@ "end": "59693", "length": "90", "line": "1641", - "parentIndex": "3356", + "parentIndex": "3357", "start": "59604" } }, "returnParameters": { - "id": "3368", + "id": "3369", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3369", + "id": "3370", "nodeType": "VARIABLE_DECLARATION", - "scope": "3369", + "scope": "3370", "src": { "column": "37", "end": "59735", "length": "4", "line": "1645", - "parentIndex": "3368", + "parentIndex": "3369", "start": "59732" }, "stateMutability": "MUTABLE", @@ -73435,7 +73491,7 @@ "typeString": "bool" }, "typeName": { - "id": "3370", + "id": "3371", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73443,7 +73499,7 @@ "end": "59735", "length": "4", "line": "1645", - "parentIndex": "3369", + "parentIndex": "3370", "start": "59732" }, "typeDescription": { @@ -73459,12 +73515,12 @@ "end": "59735", "length": "4", "line": "1645", - "parentIndex": "3356", + "parentIndex": "3357", "start": "59732" } }, "scope": "1998", - "signature": "4a4aa10c", + "signature": "ee424278", "src": { "column": "4", "end": "60780", @@ -73485,7 +73541,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3506", + "id": "3507", "implemented": true, "nodeType": "BLOCK", "src": { @@ -73493,7 +73549,7 @@ "end": "60930", "length": "51", "line": "1677", - "parentIndex": "3499", + "parentIndex": "3500", "start": "60880" }, "statements": [ @@ -73509,16 +73565,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3511", + "id": "3512", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3511", + "referencedDeclaration": "3512", "src": { "column": "26", "end": "60915", "length": "8", "line": "1678", - "parentIndex": "3509", + "parentIndex": "3510", "start": "60908" }, "typeDescription": { @@ -73527,20 +73583,20 @@ } } }, - "id": "3509", + "id": "3510", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3510", + "id": "3511", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "15", "end": "60906", "length": "10", "line": "1678", - "parentIndex": "3509", + "parentIndex": "3510", "start": "60897" }, "typeDescription": { @@ -73555,7 +73611,7 @@ "end": "60916", "length": "20", "line": "1678", - "parentIndex": "3508", + "parentIndex": "3509", "start": "60897" }, "typeDescription": { @@ -73574,13 +73630,13 @@ ] } }, - "id": "3508", + "id": "3509", "memberLocation": { "column": "36", "end": "60923", "length": "6", "line": "1678", - "parentIndex": "3508", + "parentIndex": "3509", "start": "60918" }, "memberName": "length", @@ -73590,7 +73646,7 @@ "end": "60923", "length": "27", "line": "1678", - "parentIndex": "3507", + "parentIndex": "3508", "start": "60897" }, "typeDescription": { @@ -73599,15 +73655,15 @@ } } }, - "functionReturnParameters": "3499", - "id": "3507", + "functionReturnParameters": "3500", + "id": "3508", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "60924", "length": "35", "line": "1678", - "parentIndex": "3499", + "parentIndex": "3500", "start": "60890" }, "typeDescription": { @@ -73618,7 +73674,7 @@ } ] }, - "id": "3499", + "id": "3500", "implemented": true, "kind": "KIND_FUNCTION", "name": "getNumLocksForToken", @@ -73627,25 +73683,25 @@ "end": "60814", "length": "19", "line": "1675", - "parentIndex": "3499", + "parentIndex": "3500", "start": "60796" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3500", + "id": "3501", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3501", + "id": "3502", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3501", + "scope": "3502", "src": { "column": "8", "end": "60840", "length": "16", "line": "1676", - "parentIndex": "3500", + "parentIndex": "3501", "start": "60825" }, "stateMutability": "NONPAYABLE", @@ -73655,7 +73711,7 @@ "typeString": "address" }, "typeName": { - "id": "3502", + "id": "3503", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73663,7 +73719,7 @@ "end": "60831", "length": "7", "line": "1676", - "parentIndex": "3501", + "parentIndex": "3502", "start": "60825" }, "stateMutability": "NONPAYABLE", @@ -73680,24 +73736,24 @@ "end": "60840", "length": "16", "line": "1676", - "parentIndex": "3499", + "parentIndex": "3500", "start": "60825" } }, "returnParameters": { - "id": "3503", + "id": "3504", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3504", + "id": "3505", "nodeType": "VARIABLE_DECLARATION", - "scope": "3504", + "scope": "3505", "src": { "column": "29", "end": "60877", "length": "7", "line": "1677", - "parentIndex": "3503", + "parentIndex": "3504", "start": "60871" }, "stateMutability": "MUTABLE", @@ -73707,7 +73763,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3505", + "id": "3506", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73715,7 +73771,7 @@ "end": "60877", "length": "7", "line": "1677", - "parentIndex": "3504", + "parentIndex": "3505", "start": "60871" }, "typeDescription": { @@ -73731,7 +73787,7 @@ "end": "60877", "length": "7", "line": "1677", - "parentIndex": "3499", + "parentIndex": "3500", "start": "60871" } }, @@ -73757,7 +73813,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3520", + "id": "3521", "implemented": true, "nodeType": "BLOCK", "src": { @@ -73765,7 +73821,7 @@ "end": "61043", "length": "45", "line": "1681", - "parentIndex": "3513", + "parentIndex": "3514", "start": "60999" }, "statements": [ @@ -73781,16 +73837,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3524", + "id": "3525", "name": "lockedTokens", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2050", + "referencedDeclaration": "2051", "src": { "column": "15", "end": "61027", "length": "12", "line": "1682", - "parentIndex": "3523", + "parentIndex": "3524", "start": "61016" }, "typeDescription": { @@ -73799,13 +73855,13 @@ } } }, - "id": "3523", + "id": "3524", "memberLocation": { "column": "28", "end": "61034", "length": "6", "line": "1682", - "parentIndex": "3523", + "parentIndex": "3524", "start": "61029" }, "memberName": "length", @@ -73815,7 +73871,7 @@ "end": "61034", "length": "19", "line": "1682", - "parentIndex": "3522", + "parentIndex": "3523", "start": "61016" }, "typeDescription": { @@ -73824,7 +73880,7 @@ } } }, - "id": "3522", + "id": "3523", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -73832,7 +73888,7 @@ "end": "61036", "length": "21", "line": "1682", - "parentIndex": "3521", + "parentIndex": "3522", "start": "61016" }, "typeDescription": { @@ -73841,15 +73897,15 @@ } } }, - "functionReturnParameters": "3513", - "id": "3521", + "functionReturnParameters": "3514", + "id": "3522", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "61037", "length": "29", "line": "1682", - "parentIndex": "3513", + "parentIndex": "3514", "start": "61009" }, "typeDescription": { @@ -73860,7 +73916,7 @@ } ] }, - "id": "3513", + "id": "3514", "implemented": true, "kind": "KIND_FUNCTION", "name": "getNumLockedTokens", @@ -73869,24 +73925,24 @@ "end": "60963", "length": "18", "line": "1681", - "parentIndex": "3513", + "parentIndex": "3514", "start": "60946" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3514", + "id": "3515", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3515", + "id": "3516", "nodeType": "VARIABLE_DECLARATION", - "scope": "3515", + "scope": "3516", "src": { "column": "57", "end": "60996", "length": "7", "line": "1681", - "parentIndex": "3514", + "parentIndex": "3515", "start": "60990" }, "stateMutability": "MUTABLE", @@ -73896,7 +73952,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3516", + "id": "3517", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73904,7 +73960,7 @@ "end": "60996", "length": "7", "line": "1681", - "parentIndex": "3515", + "parentIndex": "3516", "start": "60990" }, "typeDescription": { @@ -73920,24 +73976,24 @@ "end": "60996", "length": "7", "line": "1681", - "parentIndex": "3513", + "parentIndex": "3514", "start": "60990" } }, "returnParameters": { - "id": "3517", + "id": "3518", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3518", + "id": "3519", "nodeType": "VARIABLE_DECLARATION", - "scope": "3518", + "scope": "3519", "src": { "column": "57", "end": "60996", "length": "7", "line": "1681", - "parentIndex": "3517", + "parentIndex": "3518", "start": "60990" }, "stateMutability": "MUTABLE", @@ -73947,7 +74003,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3519", + "id": "3520", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73955,7 +74011,7 @@ "end": "60996", "length": "7", "line": "1681", - "parentIndex": "3518", + "parentIndex": "3519", "start": "60990" }, "typeDescription": { @@ -73971,7 +74027,7 @@ "end": "60996", "length": "7", "line": "1681", - "parentIndex": "3513", + "parentIndex": "3514", "start": "60990" } }, @@ -73997,7 +74053,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3533", + "id": "3534", "implemented": true, "nodeType": "BLOCK", "src": { @@ -74005,7 +74061,7 @@ "end": "61189", "length": "47", "line": "1687", - "parentIndex": "3526", + "parentIndex": "3527", "start": "61143" }, "statements": [ @@ -74025,16 +74081,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3538", + "id": "3539", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3538", + "referencedDeclaration": "3539", "src": { "column": "31", "end": "61181", "length": "6", "line": "1688", - "parentIndex": "3535", + "parentIndex": "3536", "start": "61176" }, "typeDescription": { @@ -74050,16 +74106,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3537", + "id": "3538", "name": "lockedTokens", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2050", + "referencedDeclaration": "2051", "src": { "column": "15", "end": "61171", "length": "12", "line": "1688", - "parentIndex": "3536", + "parentIndex": "3537", "start": "61160" }, "typeDescription": { @@ -74068,13 +74124,13 @@ } } }, - "id": "3536", + "id": "3537", "memberLocation": { "column": "28", "end": "61174", "length": "2", "line": "1688", - "parentIndex": "3536", + "parentIndex": "3537", "start": "61173" }, "memberName": "at", @@ -74084,7 +74140,7 @@ "end": "61174", "length": "15", "line": "1688", - "parentIndex": "3535", + "parentIndex": "3536", "start": "61160" }, "typeDescription": { @@ -74093,7 +74149,7 @@ } } }, - "id": "3535", + "id": "3536", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -74101,7 +74157,7 @@ "end": "61182", "length": "23", "line": "1688", - "parentIndex": "3534", + "parentIndex": "3535", "start": "61160" }, "typeDescription": { @@ -74110,15 +74166,15 @@ } } }, - "functionReturnParameters": "3526", - "id": "3534", + "functionReturnParameters": "3527", + "id": "3535", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "61183", "length": "31", "line": "1688", - "parentIndex": "3526", + "parentIndex": "3527", "start": "61153" }, "typeDescription": { @@ -74129,7 +74185,7 @@ } ] }, - "id": "3526", + "id": "3527", "implemented": true, "kind": "KIND_FUNCTION", "name": "getLockedTokenAtIndex", @@ -74138,25 +74194,25 @@ "end": "61079", "length": "21", "line": "1685", - "parentIndex": "3526", + "parentIndex": "3527", "start": "61059" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3527", + "id": "3528", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3528", + "id": "3529", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "3528", + "scope": "3529", "src": { "column": "8", "end": "61103", "length": "14", "line": "1686", - "parentIndex": "3527", + "parentIndex": "3528", "start": "61090" }, "stateMutability": "MUTABLE", @@ -74166,7 +74222,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3529", + "id": "3530", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74174,7 +74230,7 @@ "end": "61096", "length": "7", "line": "1686", - "parentIndex": "3528", + "parentIndex": "3529", "start": "61090" }, "typeDescription": { @@ -74190,24 +74246,24 @@ "end": "61103", "length": "14", "line": "1686", - "parentIndex": "3526", + "parentIndex": "3527", "start": "61090" } }, "returnParameters": { - "id": "3530", + "id": "3531", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3531", + "id": "3532", "nodeType": "VARIABLE_DECLARATION", - "scope": "3531", + "scope": "3532", "src": { "column": "29", "end": "61140", "length": "7", "line": "1687", - "parentIndex": "3530", + "parentIndex": "3531", "start": "61134" }, "stateMutability": "NONPAYABLE", @@ -74217,7 +74273,7 @@ "typeString": "address" }, "typeName": { - "id": "3532", + "id": "3533", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74225,7 +74281,7 @@ "end": "61140", "length": "7", "line": "1687", - "parentIndex": "3531", + "parentIndex": "3532", "start": "61134" }, "stateMutability": "NONPAYABLE", @@ -74242,7 +74298,7 @@ "end": "61140", "length": "7", "line": "1687", - "parentIndex": "3526", + "parentIndex": "3527", "start": "61134" } }, @@ -74268,7 +74324,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3547", + "id": "3548", "implemented": true, "nodeType": "BLOCK", "src": { @@ -74276,7 +74332,7 @@ "end": "61406", "length": "96", "line": "1694", - "parentIndex": "3540", + "parentIndex": "3541", "start": "61311" }, "statements": [ @@ -74284,11 +74340,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3549" + "3550" ], "declarations": [ { - "id": "3549", + "id": "3550", "mutability": "MUTABLE", "name": "user", "nameLocation": { @@ -74296,17 +74352,17 @@ "end": "61341", "length": "4", "line": "1695", - "parentIndex": "3549", + "parentIndex": "3550", "start": "61338" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3547", + "scope": "3548", "src": { "column": "8", "end": "61341", "length": "21", "line": "1695", - "parentIndex": "3548", + "parentIndex": "3549", "start": "61321" }, "storageLocation": "STORAGE", @@ -74315,17 +74371,17 @@ "typeString": "struct KnoxLpLocker.UserInfo" }, "typeName": { - "id": "3550", + "id": "3551", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3551", + "id": "3552", "name": "UserInfo", "nameLocation": { "column": "8", "end": "61328", "length": "8", "line": "1695", - "parentIndex": "3550", + "parentIndex": "3551", "start": "61321" }, "nodeType": "IDENTIFIER_PATH", @@ -74335,7 +74391,7 @@ "end": "61328", "length": "8", "line": "1695", - "parentIndex": "3550", + "parentIndex": "3551", "start": "61321" } }, @@ -74345,7 +74401,7 @@ "end": "61328", "length": "8", "line": "1695", - "parentIndex": "3549", + "parentIndex": "3550", "start": "61321" }, "typeDescription": { @@ -74356,23 +74412,23 @@ "visibility": "INTERNAL" } ], - "id": "3548", + "id": "3549", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3554", + "id": "3555", "name": "_user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3554", + "referencedDeclaration": "3555", "src": { "column": "38", "end": "61355", "length": "5", "line": "1695", - "parentIndex": "3552", + "parentIndex": "3553", "start": "61351" }, "typeDescription": { @@ -74381,11 +74437,11 @@ } } }, - "id": "3552", + "id": "3553", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3553", + "id": "3554", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -74394,11 +74450,11 @@ "end": "61349", "length": "5", "line": "1695", - "parentIndex": "3552", + "parentIndex": "3553", "start": "61345" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -74409,16 +74465,16 @@ "end": "61356", "length": "12", "line": "1695", - "parentIndex": "3548", + "parentIndex": "3549", "start": "61345" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -74434,7 +74490,7 @@ "end": "61357", "length": "37", "line": "1695", - "parentIndex": "3547", + "parentIndex": "3548", "start": "61321" } } @@ -74454,16 +74510,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3559", + "id": "3560", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3548", + "referencedDeclaration": "3549", "src": { "column": "15", "end": "61377", "length": "4", "line": "1696", - "parentIndex": "3558", + "parentIndex": "3559", "start": "61374" }, "typeDescription": { @@ -74472,13 +74528,13 @@ } } }, - "id": "3558", + "id": "3559", "memberLocation": { "column": "20", "end": "61390", "length": "12", "line": "1696", - "parentIndex": "3558", + "parentIndex": "3559", "start": "61379" }, "memberName": "lockedTokens", @@ -74488,7 +74544,7 @@ "end": "61390", "length": "17", "line": "1696", - "parentIndex": "3557", + "parentIndex": "3558", "start": "61374" }, "typeDescription": { @@ -74497,13 +74553,13 @@ } } }, - "id": "3557", + "id": "3558", "memberLocation": { "column": "33", "end": "61397", "length": "6", "line": "1696", - "parentIndex": "3557", + "parentIndex": "3558", "start": "61392" }, "memberName": "length", @@ -74513,7 +74569,7 @@ "end": "61397", "length": "24", "line": "1696", - "parentIndex": "3556", + "parentIndex": "3557", "start": "61374" }, "typeDescription": { @@ -74522,7 +74578,7 @@ } } }, - "id": "3556", + "id": "3557", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -74530,7 +74586,7 @@ "end": "61399", "length": "26", "line": "1696", - "parentIndex": "3555", + "parentIndex": "3556", "start": "61374" }, "typeDescription": { @@ -74539,15 +74595,15 @@ } } }, - "functionReturnParameters": "3540", - "id": "3555", + "functionReturnParameters": "3541", + "id": "3556", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "61400", "length": "34", "line": "1696", - "parentIndex": "3540", + "parentIndex": "3541", "start": "61367" }, "typeDescription": { @@ -74558,7 +74614,7 @@ } ] }, - "id": "3540", + "id": "3541", "implemented": true, "kind": "KIND_FUNCTION", "name": "getUserNumLockedTokens", @@ -74567,25 +74623,25 @@ "end": "61248", "length": "22", "line": "1692", - "parentIndex": "3540", + "parentIndex": "3541", "start": "61227" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3541", + "id": "3542", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3542", + "id": "3543", "name": "_user", "nodeType": "VARIABLE_DECLARATION", - "scope": "3542", + "scope": "3543", "src": { "column": "8", "end": "61271", "length": "13", "line": "1693", - "parentIndex": "3541", + "parentIndex": "3542", "start": "61259" }, "stateMutability": "NONPAYABLE", @@ -74595,7 +74651,7 @@ "typeString": "address" }, "typeName": { - "id": "3543", + "id": "3544", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74603,7 +74659,7 @@ "end": "61265", "length": "7", "line": "1693", - "parentIndex": "3542", + "parentIndex": "3543", "start": "61259" }, "stateMutability": "NONPAYABLE", @@ -74620,24 +74676,24 @@ "end": "61271", "length": "13", "line": "1693", - "parentIndex": "3540", + "parentIndex": "3541", "start": "61259" } }, "returnParameters": { - "id": "3544", + "id": "3545", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3545", + "id": "3546", "nodeType": "VARIABLE_DECLARATION", - "scope": "3545", + "scope": "3546", "src": { "column": "29", "end": "61308", "length": "7", "line": "1694", - "parentIndex": "3544", + "parentIndex": "3545", "start": "61302" }, "stateMutability": "MUTABLE", @@ -74647,7 +74703,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3546", + "id": "3547", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74655,7 +74711,7 @@ "end": "61308", "length": "7", "line": "1694", - "parentIndex": "3545", + "parentIndex": "3546", "start": "61302" }, "typeDescription": { @@ -74671,7 +74727,7 @@ "end": "61308", "length": "7", "line": "1694", - "parentIndex": "3540", + "parentIndex": "3541", "start": "61302" } }, @@ -74697,7 +74753,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3570", + "id": "3571", "implemented": true, "nodeType": "BLOCK", "src": { @@ -74705,7 +74761,7 @@ "end": "61630", "length": "98", "line": "1702", - "parentIndex": "3561", + "parentIndex": "3562", "start": "61533" }, "statements": [ @@ -74713,11 +74769,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3572" + "3573" ], "declarations": [ { - "id": "3572", + "id": "3573", "mutability": "MUTABLE", "name": "user", "nameLocation": { @@ -74725,17 +74781,17 @@ "end": "61563", "length": "4", "line": "1703", - "parentIndex": "3572", + "parentIndex": "3573", "start": "61560" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3570", + "scope": "3571", "src": { "column": "8", "end": "61563", "length": "21", "line": "1703", - "parentIndex": "3571", + "parentIndex": "3572", "start": "61543" }, "storageLocation": "STORAGE", @@ -74744,17 +74800,17 @@ "typeString": "struct KnoxLpLocker.UserInfo" }, "typeName": { - "id": "3573", + "id": "3574", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3574", + "id": "3575", "name": "UserInfo", "nameLocation": { "column": "8", "end": "61550", "length": "8", "line": "1703", - "parentIndex": "3573", + "parentIndex": "3574", "start": "61543" }, "nodeType": "IDENTIFIER_PATH", @@ -74764,7 +74820,7 @@ "end": "61550", "length": "8", "line": "1703", - "parentIndex": "3573", + "parentIndex": "3574", "start": "61543" } }, @@ -74774,7 +74830,7 @@ "end": "61550", "length": "8", "line": "1703", - "parentIndex": "3572", + "parentIndex": "3573", "start": "61543" }, "typeDescription": { @@ -74785,23 +74841,23 @@ "visibility": "INTERNAL" } ], - "id": "3571", + "id": "3572", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3577", + "id": "3578", "name": "_user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3577", + "referencedDeclaration": "3578", "src": { "column": "38", "end": "61577", "length": "5", "line": "1703", - "parentIndex": "3575", + "parentIndex": "3576", "start": "61573" }, "typeDescription": { @@ -74810,11 +74866,11 @@ } } }, - "id": "3575", + "id": "3576", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3576", + "id": "3577", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -74823,11 +74879,11 @@ "end": "61571", "length": "5", "line": "1703", - "parentIndex": "3575", + "parentIndex": "3576", "start": "61567" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -74838,16 +74894,16 @@ "end": "61578", "length": "12", "line": "1703", - "parentIndex": "3571", + "parentIndex": "3572", "start": "61567" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -74863,7 +74919,7 @@ "end": "61579", "length": "37", "line": "1703", - "parentIndex": "3570", + "parentIndex": "3571", "start": "61543" } } @@ -74884,16 +74940,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3583", + "id": "3584", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3583", + "referencedDeclaration": "3584", "src": { "column": "36", "end": "61622", "length": "6", "line": "1704", - "parentIndex": "3579", + "parentIndex": "3580", "start": "61617" }, "typeDescription": { @@ -74912,16 +74968,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3582", + "id": "3583", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3571", + "referencedDeclaration": "3572", "src": { "column": "15", "end": "61599", "length": "4", "line": "1704", - "parentIndex": "3581", + "parentIndex": "3582", "start": "61596" }, "typeDescription": { @@ -74930,13 +74986,13 @@ } } }, - "id": "3581", + "id": "3582", "memberLocation": { "column": "20", "end": "61612", "length": "12", "line": "1704", - "parentIndex": "3581", + "parentIndex": "3582", "start": "61601" }, "memberName": "lockedTokens", @@ -74946,7 +75002,7 @@ "end": "61612", "length": "17", "line": "1704", - "parentIndex": "3580", + "parentIndex": "3581", "start": "61596" }, "typeDescription": { @@ -74955,13 +75011,13 @@ } } }, - "id": "3580", + "id": "3581", "memberLocation": { "column": "33", "end": "61615", "length": "2", "line": "1704", - "parentIndex": "3580", + "parentIndex": "3581", "start": "61614" }, "memberName": "at", @@ -74971,7 +75027,7 @@ "end": "61615", "length": "20", "line": "1704", - "parentIndex": "3579", + "parentIndex": "3580", "start": "61596" }, "typeDescription": { @@ -74980,7 +75036,7 @@ } } }, - "id": "3579", + "id": "3580", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -74988,7 +75044,7 @@ "end": "61623", "length": "28", "line": "1704", - "parentIndex": "3578", + "parentIndex": "3579", "start": "61596" }, "typeDescription": { @@ -74997,15 +75053,15 @@ } } }, - "functionReturnParameters": "3561", - "id": "3578", + "functionReturnParameters": "3562", + "id": "3579", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "61624", "length": "36", "line": "1704", - "parentIndex": "3561", + "parentIndex": "3562", "start": "61589" }, "typeDescription": { @@ -75016,7 +75072,7 @@ } ] }, - "id": "3561", + "id": "3562", "implemented": true, "kind": "KIND_FUNCTION", "name": "getUserLockedTokenAtIndex", @@ -75025,25 +75081,25 @@ "end": "61446", "length": "25", "line": "1699", - "parentIndex": "3561", + "parentIndex": "3562", "start": "61422" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3562", + "id": "3563", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3563", + "id": "3564", "name": "_user", "nodeType": "VARIABLE_DECLARATION", - "scope": "3563", + "scope": "3564", "src": { "column": "8", "end": "61469", "length": "13", "line": "1700", - "parentIndex": "3562", + "parentIndex": "3563", "start": "61457" }, "stateMutability": "NONPAYABLE", @@ -75053,7 +75109,7 @@ "typeString": "address" }, "typeName": { - "id": "3564", + "id": "3565", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75061,7 +75117,7 @@ "end": "61463", "length": "7", "line": "1700", - "parentIndex": "3563", + "parentIndex": "3564", "start": "61457" }, "stateMutability": "NONPAYABLE", @@ -75073,16 +75129,16 @@ "visibility": "INTERNAL" }, { - "id": "3565", + "id": "3566", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "3565", + "scope": "3566", "src": { "column": "8", "end": "61493", "length": "14", "line": "1701", - "parentIndex": "3562", + "parentIndex": "3563", "start": "61480" }, "stateMutability": "MUTABLE", @@ -75092,7 +75148,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3566", + "id": "3567", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75100,7 +75156,7 @@ "end": "61486", "length": "7", "line": "1701", - "parentIndex": "3565", + "parentIndex": "3566", "start": "61480" }, "typeDescription": { @@ -75116,24 +75172,24 @@ "end": "61493", "length": "37", "line": "1700", - "parentIndex": "3561", + "parentIndex": "3562", "start": "61457" } }, "returnParameters": { - "id": "3567", + "id": "3568", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3568", + "id": "3569", "nodeType": "VARIABLE_DECLARATION", - "scope": "3568", + "scope": "3569", "src": { "column": "29", "end": "61530", "length": "7", "line": "1702", - "parentIndex": "3567", + "parentIndex": "3568", "start": "61524" }, "stateMutability": "NONPAYABLE", @@ -75143,7 +75199,7 @@ "typeString": "address" }, "typeName": { - "id": "3569", + "id": "3570", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75151,7 +75207,7 @@ "end": "61530", "length": "7", "line": "1702", - "parentIndex": "3568", + "parentIndex": "3569", "start": "61524" }, "stateMutability": "NONPAYABLE", @@ -75168,12 +75224,12 @@ "end": "61530", "length": "7", "line": "1702", - "parentIndex": "3561", + "parentIndex": "3562", "start": "61524" } }, "scope": "1998", - "signature": "60f9d1ed", + "signature": "903df806", "src": { "column": "4", "end": "61630", @@ -75194,7 +75250,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3594", + "id": "3595", "implemented": true, "nodeType": "BLOCK", "src": { @@ -75202,7 +75258,7 @@ "end": "61861", "length": "105", "line": "1710", - "parentIndex": "3585", + "parentIndex": "3586", "start": "61757" }, "statements": [ @@ -75210,11 +75266,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3596" + "3597" ], "declarations": [ { - "id": "3596", + "id": "3597", "mutability": "MUTABLE", "name": "user", "nameLocation": { @@ -75222,17 +75278,17 @@ "end": "61787", "length": "4", "line": "1711", - "parentIndex": "3596", + "parentIndex": "3597", "start": "61784" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3594", + "scope": "3595", "src": { "column": "8", "end": "61787", "length": "21", "line": "1711", - "parentIndex": "3595", + "parentIndex": "3596", "start": "61767" }, "storageLocation": "STORAGE", @@ -75241,17 +75297,17 @@ "typeString": "struct KnoxLpLocker.UserInfo" }, "typeName": { - "id": "3597", + "id": "3598", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3598", + "id": "3599", "name": "UserInfo", "nameLocation": { "column": "8", "end": "61774", "length": "8", "line": "1711", - "parentIndex": "3597", + "parentIndex": "3598", "start": "61767" }, "nodeType": "IDENTIFIER_PATH", @@ -75261,7 +75317,7 @@ "end": "61774", "length": "8", "line": "1711", - "parentIndex": "3597", + "parentIndex": "3598", "start": "61767" } }, @@ -75271,7 +75327,7 @@ "end": "61774", "length": "8", "line": "1711", - "parentIndex": "3596", + "parentIndex": "3597", "start": "61767" }, "typeDescription": { @@ -75282,23 +75338,23 @@ "visibility": "INTERNAL" } ], - "id": "3595", + "id": "3596", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3601", + "id": "3602", "name": "_user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3601", + "referencedDeclaration": "3602", "src": { "column": "38", "end": "61801", "length": "5", "line": "1711", - "parentIndex": "3599", + "parentIndex": "3600", "start": "61797" }, "typeDescription": { @@ -75307,11 +75363,11 @@ } } }, - "id": "3599", + "id": "3600", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3600", + "id": "3601", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -75320,11 +75376,11 @@ "end": "61795", "length": "5", "line": "1711", - "parentIndex": "3599", + "parentIndex": "3600", "start": "61791" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -75335,16 +75391,16 @@ "end": "61802", "length": "12", "line": "1711", - "parentIndex": "3595", + "parentIndex": "3596", "start": "61791" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -75360,7 +75416,7 @@ "end": "61803", "length": "37", "line": "1711", - "parentIndex": "3594", + "parentIndex": "3595", "start": "61767" } } @@ -75377,16 +75433,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3607", + "id": "3608", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3607", + "referencedDeclaration": "3608", "src": { "column": "34", "end": "61846", "length": "8", "line": "1712", - "parentIndex": "3604", + "parentIndex": "3605", "start": "61839" }, "typeDescription": { @@ -75395,23 +75451,23 @@ } } }, - "id": "3604", + "id": "3605", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3606", + "id": "3607", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3595", + "referencedDeclaration": "3596", "src": { "column": "15", "end": "61823", "length": "4", "line": "1712", - "parentIndex": "3605", + "parentIndex": "3606", "start": "61820" }, "typeDescription": { @@ -75420,13 +75476,13 @@ } } }, - "id": "3605", + "id": "3606", "memberLocation": { "column": "20", "end": "61837", "length": "13", "line": "1712", - "parentIndex": "3605", + "parentIndex": "3606", "start": "61825" }, "memberName": "locksForToken", @@ -75436,7 +75492,7 @@ "end": "61837", "length": "18", "line": "1712", - "parentIndex": "3604", + "parentIndex": "3605", "start": "61820" }, "typeDescription": { @@ -75451,7 +75507,7 @@ "end": "61847", "length": "28", "line": "1712", - "parentIndex": "3603", + "parentIndex": "3604", "start": "61820" }, "typeDescription": { @@ -75470,13 +75526,13 @@ ] } }, - "id": "3603", + "id": "3604", "memberLocation": { "column": "44", "end": "61854", "length": "6", "line": "1712", - "parentIndex": "3603", + "parentIndex": "3604", "start": "61849" }, "memberName": "length", @@ -75486,7 +75542,7 @@ "end": "61854", "length": "35", "line": "1712", - "parentIndex": "3602", + "parentIndex": "3603", "start": "61820" }, "typeDescription": { @@ -75495,15 +75551,15 @@ } } }, - "functionReturnParameters": "3585", - "id": "3602", + "functionReturnParameters": "3586", + "id": "3603", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "61855", "length": "43", "line": "1712", - "parentIndex": "3585", + "parentIndex": "3586", "start": "61813" }, "typeDescription": { @@ -75514,7 +75570,7 @@ } ] }, - "id": "3585", + "id": "3586", "implemented": true, "kind": "KIND_FUNCTION", "name": "getUserNumLocksForToken", @@ -75523,25 +75579,25 @@ "end": "61668", "length": "23", "line": "1707", - "parentIndex": "3585", + "parentIndex": "3586", "start": "61646" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3586", + "id": "3587", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3587", + "id": "3588", "name": "_user", "nodeType": "VARIABLE_DECLARATION", - "scope": "3587", + "scope": "3588", "src": { "column": "8", "end": "61691", "length": "13", "line": "1708", - "parentIndex": "3586", + "parentIndex": "3587", "start": "61679" }, "stateMutability": "NONPAYABLE", @@ -75551,7 +75607,7 @@ "typeString": "address" }, "typeName": { - "id": "3588", + "id": "3589", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75559,7 +75615,7 @@ "end": "61685", "length": "7", "line": "1708", - "parentIndex": "3587", + "parentIndex": "3588", "start": "61679" }, "stateMutability": "NONPAYABLE", @@ -75571,16 +75627,16 @@ "visibility": "INTERNAL" }, { - "id": "3589", + "id": "3590", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3589", + "scope": "3590", "src": { "column": "8", "end": "61717", "length": "16", "line": "1709", - "parentIndex": "3586", + "parentIndex": "3587", "start": "61702" }, "stateMutability": "NONPAYABLE", @@ -75590,7 +75646,7 @@ "typeString": "address" }, "typeName": { - "id": "3590", + "id": "3591", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75598,7 +75654,7 @@ "end": "61708", "length": "7", "line": "1709", - "parentIndex": "3589", + "parentIndex": "3590", "start": "61702" }, "stateMutability": "NONPAYABLE", @@ -75615,24 +75671,24 @@ "end": "61717", "length": "39", "line": "1708", - "parentIndex": "3585", + "parentIndex": "3586", "start": "61679" } }, "returnParameters": { - "id": "3591", + "id": "3592", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3592", + "id": "3593", "nodeType": "VARIABLE_DECLARATION", - "scope": "3592", + "scope": "3593", "src": { "column": "29", "end": "61754", "length": "7", "line": "1710", - "parentIndex": "3591", + "parentIndex": "3592", "start": "61748" }, "stateMutability": "MUTABLE", @@ -75642,7 +75698,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3593", + "id": "3594", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75650,7 +75706,7 @@ "end": "61754", "length": "7", "line": "1710", - "parentIndex": "3592", + "parentIndex": "3593", "start": "61748" }, "typeDescription": { @@ -75666,12 +75722,12 @@ "end": "61754", "length": "7", "line": "1710", - "parentIndex": "3585", + "parentIndex": "3586", "start": "61748" } }, "scope": "1998", - "signature": "11821948", + "signature": "a69d9c4f", "src": { "column": "4", "end": "61861", @@ -75692,7 +75748,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3630", + "id": "3631", "implemented": true, "nodeType": "BLOCK", "src": { @@ -75700,7 +75756,7 @@ "end": "62452", "length": "365", "line": "1723", - "parentIndex": "3609", + "parentIndex": "3610", "start": "62088" }, "statements": [ @@ -75708,11 +75764,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3632" + "3633" ], "declarations": [ { - "id": "3632", + "id": "3633", "mutability": "MUTABLE", "name": "lockID", "nameLocation": { @@ -75720,17 +75776,17 @@ "end": "62111", "length": "6", "line": "1724", - "parentIndex": "3632", + "parentIndex": "3633", "start": "62106" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3630", + "scope": "3631", "src": { "column": "8", "end": "62111", "length": "14", "line": "1724", - "parentIndex": "3631", + "parentIndex": "3632", "start": "62098" }, "storageLocation": "DEFAULT", @@ -75739,7 +75795,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3633", + "id": "3634", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75747,7 +75803,7 @@ "end": "62104", "length": "7", "line": "1724", - "parentIndex": "3632", + "parentIndex": "3633", "start": "62098" }, "typeDescription": { @@ -75758,23 +75814,23 @@ "visibility": "INTERNAL" } ], - "id": "3631", + "id": "3632", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3641", + "id": "3642", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3641", + "referencedDeclaration": "3642", "src": { "column": "62", "end": "62157", "length": "6", "line": "1724", - "parentIndex": "3634", + "parentIndex": "3635", "start": "62152" }, "typeDescription": { @@ -75783,23 +75839,23 @@ } } }, - "id": "3634", + "id": "3635", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3640", + "id": "3641", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3640", + "referencedDeclaration": "3641", "src": { "column": "52", "end": "62149", "length": "8", "line": "1724", - "parentIndex": "3635", + "parentIndex": "3636", "start": "62142" }, "typeDescription": { @@ -75808,7 +75864,7 @@ } } }, - "id": "3635", + "id": "3636", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { @@ -75818,16 +75874,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3639", + "id": "3640", "name": "_user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3639", + "referencedDeclaration": "3640", "src": { "column": "31", "end": "62125", "length": "5", "line": "1724", - "parentIndex": "3637", + "parentIndex": "3638", "start": "62121" }, "typeDescription": { @@ -75836,11 +75892,11 @@ } } }, - "id": "3637", + "id": "3638", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3638", + "id": "3639", "name": "users", "nodeType": "IDENTIFIER", "referencedDeclaration": "2045", @@ -75849,11 +75905,11 @@ "end": "62119", "length": "5", "line": "1724", - "parentIndex": "3637", + "parentIndex": "3638", "start": "62115" }, "typeDescription": { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" } } @@ -75864,16 +75920,16 @@ "end": "62126", "length": "12", "line": "1724", - "parentIndex": "3631", + "parentIndex": "3632", "start": "62115" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_mapping_$t_address_$t_UserInfo$", + "typeIdentifier": "t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$", "typeString": "mapping(address=\u003eUserInfo)" }, { @@ -75883,13 +75939,13 @@ ] } }, - "id": "3636", + "id": "3637", "memberLocation": { "column": "38", "end": "62140", "length": "13", "line": "1724", - "parentIndex": "3636", + "parentIndex": "3637", "start": "62128" }, "memberName": "locksForToken", @@ -75899,11 +75955,11 @@ "end": "62140", "length": "26", "line": "1724", - "parentIndex": "3631", + "parentIndex": "3632", "start": "62115" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" } } @@ -75914,16 +75970,16 @@ "end": "62150", "length": "36", "line": "1724", - "parentIndex": "3631", + "parentIndex": "3632", "start": "62115" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$", "typeString": "index[mapping(address=\u003eUserInfo):address]" }, { @@ -75939,16 +75995,16 @@ "end": "62158", "length": "44", "line": "1724", - "parentIndex": "3631", + "parentIndex": "3632", "start": "62115" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$]$_t_uint256]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$]$_t_uint256]$", "typeString": "index[index[index[mapping(address=\u003eUserInfo):address]:address]:uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_UserInfo$]$_t_address]$]$_t_address]$", + "typeIdentifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_struct$_KnoxLpLocker_UserInfo_$2022$]$_t_address]$]$_t_address]$", "typeString": "index[index[mapping(address=\u003eUserInfo):address]:address]" }, { @@ -75964,7 +76020,7 @@ "end": "62159", "length": "62", "line": "1724", - "parentIndex": "3630", + "parentIndex": "3631", "start": "62098" } } @@ -75973,11 +76029,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3643" + "3644" ], "declarations": [ { - "id": "3643", + "id": "3644", "mutability": "MUTABLE", "name": "tokenLock", "nameLocation": { @@ -75985,17 +76041,17 @@ "end": "62195", "length": "9", "line": "1725", - "parentIndex": "3643", + "parentIndex": "3644", "start": "62187" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3630", + "scope": "3631", "src": { "column": "8", "end": "62195", "length": "27", "line": "1725", - "parentIndex": "3642", + "parentIndex": "3643", "start": "62169" }, "storageLocation": "STORAGE", @@ -76004,17 +76060,17 @@ "typeString": "struct KnoxLpLocker.TokenLock" }, "typeName": { - "id": "3644", + "id": "3645", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3645", + "id": "3646", "name": "TokenLock", "nameLocation": { "column": "8", "end": "62177", "length": "9", "line": "1725", - "parentIndex": "3644", + "parentIndex": "3645", "start": "62169" }, "nodeType": "IDENTIFIER_PATH", @@ -76024,7 +76080,7 @@ "end": "62177", "length": "9", "line": "1725", - "parentIndex": "3644", + "parentIndex": "3645", "start": "62169" } }, @@ -76034,7 +76090,7 @@ "end": "62177", "length": "9", "line": "1725", - "parentIndex": "3643", + "parentIndex": "3644", "start": "62169" }, "typeDescription": { @@ -76045,23 +76101,23 @@ "visibility": "INTERNAL" } ], - "id": "3642", + "id": "3643", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3650", + "id": "3651", "name": "lockID", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3631", + "referencedDeclaration": "3632", "src": { "column": "59", "end": "62225", "length": "6", "line": "1725", - "parentIndex": "3646", + "parentIndex": "3647", "start": "62220" }, "typeDescription": { @@ -76070,23 +76126,23 @@ } } }, - "id": "3646", + "id": "3647", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3649", + "id": "3650", "name": "_lpToken", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3649", + "referencedDeclaration": "3650", "src": { "column": "49", "end": "62217", "length": "8", "line": "1725", - "parentIndex": "3647", + "parentIndex": "3648", "start": "62210" }, "typeDescription": { @@ -76095,20 +76151,20 @@ } } }, - "id": "3647", + "id": "3648", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3648", + "id": "3649", "name": "tokenLocks", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2054", + "referencedDeclaration": "2055", "src": { "column": "38", "end": "62208", "length": "10", "line": "1725", - "parentIndex": "3647", + "parentIndex": "3648", "start": "62199" }, "typeDescription": { @@ -76123,7 +76179,7 @@ "end": "62218", "length": "20", "line": "1725", - "parentIndex": "3642", + "parentIndex": "3643", "start": "62199" }, "typeDescription": { @@ -76148,7 +76204,7 @@ "end": "62226", "length": "28", "line": "1725", - "parentIndex": "3642", + "parentIndex": "3643", "start": "62199" }, "typeDescription": { @@ -76173,7 +76229,7 @@ "end": "62227", "length": "59", "line": "1725", - "parentIndex": "3630", + "parentIndex": "3631", "start": "62169" } } @@ -76191,16 +76247,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3654", + "id": "3655", "name": "tokenLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3642", + "referencedDeclaration": "3643", "src": { "column": "12", "end": "62266", "length": "9", "line": "1727", - "parentIndex": "3653", + "parentIndex": "3654", "start": "62258" }, "typeDescription": { @@ -76209,13 +76265,13 @@ } } }, - "id": "3653", + "id": "3654", "memberLocation": { "column": "22", "end": "62275", "length": "8", "line": "1727", - "parentIndex": "3653", + "parentIndex": "3654", "start": "62268" }, "memberName": "lockDate", @@ -76225,7 +76281,7 @@ "end": "62275", "length": "18", "line": "1727", - "parentIndex": "3652", + "parentIndex": "3653", "start": "62258" }, "typeDescription": { @@ -76240,16 +76296,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3656", + "id": "3657", "name": "tokenLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3642", + "referencedDeclaration": "3643", "src": { "column": "12", "end": "62298", "length": "9", "line": "1728", - "parentIndex": "3655", + "parentIndex": "3656", "start": "62290" }, "typeDescription": { @@ -76258,13 +76314,13 @@ } } }, - "id": "3655", + "id": "3656", "memberLocation": { "column": "22", "end": "62305", "length": "6", "line": "1728", - "parentIndex": "3655", + "parentIndex": "3656", "start": "62300" }, "memberName": "amount", @@ -76274,7 +76330,7 @@ "end": "62305", "length": "16", "line": "1728", - "parentIndex": "3652", + "parentIndex": "3653", "start": "62290" }, "typeDescription": { @@ -76289,16 +76345,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3658", + "id": "3659", "name": "tokenLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3642", + "referencedDeclaration": "3643", "src": { "column": "12", "end": "62328", "length": "9", "line": "1729", - "parentIndex": "3657", + "parentIndex": "3658", "start": "62320" }, "typeDescription": { @@ -76307,13 +76363,13 @@ } } }, - "id": "3657", + "id": "3658", "memberLocation": { "column": "22", "end": "62342", "length": "13", "line": "1729", - "parentIndex": "3657", + "parentIndex": "3658", "start": "62330" }, "memberName": "initialAmount", @@ -76323,7 +76379,7 @@ "end": "62342", "length": "23", "line": "1729", - "parentIndex": "3652", + "parentIndex": "3653", "start": "62320" }, "typeDescription": { @@ -76338,16 +76394,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3660", + "id": "3661", "name": "tokenLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3642", + "referencedDeclaration": "3643", "src": { "column": "12", "end": "62365", "length": "9", "line": "1730", - "parentIndex": "3659", + "parentIndex": "3660", "start": "62357" }, "typeDescription": { @@ -76356,13 +76412,13 @@ } } }, - "id": "3659", + "id": "3660", "memberLocation": { "column": "22", "end": "62376", "length": "10", "line": "1730", - "parentIndex": "3659", + "parentIndex": "3660", "start": "62367" }, "memberName": "unlockDate", @@ -76372,7 +76428,7 @@ "end": "62376", "length": "20", "line": "1730", - "parentIndex": "3652", + "parentIndex": "3653", "start": "62357" }, "typeDescription": { @@ -76387,16 +76443,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3662", + "id": "3663", "name": "tokenLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3642", + "referencedDeclaration": "3643", "src": { "column": "12", "end": "62399", "length": "9", "line": "1731", - "parentIndex": "3661", + "parentIndex": "3662", "start": "62391" }, "typeDescription": { @@ -76405,13 +76461,13 @@ } } }, - "id": "3661", + "id": "3662", "memberLocation": { "column": "22", "end": "62406", "length": "6", "line": "1731", - "parentIndex": "3661", + "parentIndex": "3662", "start": "62401" }, "memberName": "lockID", @@ -76421,7 +76477,7 @@ "end": "62406", "length": "16", "line": "1731", - "parentIndex": "3652", + "parentIndex": "3653", "start": "62391" }, "typeDescription": { @@ -76436,16 +76492,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3664", + "id": "3665", "name": "tokenLock", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3642", + "referencedDeclaration": "3643", "src": { "column": "12", "end": "62429", "length": "9", "line": "1732", - "parentIndex": "3663", + "parentIndex": "3664", "start": "62421" }, "typeDescription": { @@ -76454,13 +76510,13 @@ } } }, - "id": "3663", + "id": "3664", "memberLocation": { "column": "22", "end": "62435", "length": "5", "line": "1732", - "parentIndex": "3663", + "parentIndex": "3664", "start": "62431" }, "memberName": "owner", @@ -76470,7 +76526,7 @@ "end": "62435", "length": "15", "line": "1732", - "parentIndex": "3652", + "parentIndex": "3653", "start": "62421" }, "typeDescription": { @@ -76480,14 +76536,14 @@ } } ], - "id": "3652", + "id": "3653", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "15", "end": "62445", "length": "202", "line": "1726", - "parentIndex": "3651", + "parentIndex": "3652", "start": "62244" }, "typeDescription": { @@ -76496,15 +76552,15 @@ } } }, - "functionReturnParameters": "3609", - "id": "3651", + "functionReturnParameters": "3610", + "id": "3652", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "62446", "length": "210", "line": "1726", - "parentIndex": "3609", + "parentIndex": "3610", "start": "62237" }, "typeDescription": { @@ -76515,7 +76571,7 @@ } ] }, - "id": "3609", + "id": "3610", "implemented": true, "kind": "KIND_FUNCTION", "name": "getUserLockForTokenAtIndex", @@ -76524,25 +76580,25 @@ "end": "61902", "length": "26", "line": "1715", - "parentIndex": "3609", + "parentIndex": "3610", "start": "61877" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3610", + "id": "3611", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3611", + "id": "3612", "name": "_user", "nodeType": "VARIABLE_DECLARATION", - "scope": "3611", + "scope": "3612", "src": { "column": "8", "end": "61925", "length": "13", "line": "1716", - "parentIndex": "3610", + "parentIndex": "3611", "start": "61913" }, "stateMutability": "NONPAYABLE", @@ -76552,7 +76608,7 @@ "typeString": "address" }, "typeName": { - "id": "3612", + "id": "3613", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76560,7 +76616,7 @@ "end": "61919", "length": "7", "line": "1716", - "parentIndex": "3611", + "parentIndex": "3612", "start": "61913" }, "stateMutability": "NONPAYABLE", @@ -76572,16 +76628,16 @@ "visibility": "INTERNAL" }, { - "id": "3613", + "id": "3614", "name": "_lpToken", "nodeType": "VARIABLE_DECLARATION", - "scope": "3613", + "scope": "3614", "src": { "column": "8", "end": "61951", "length": "16", "line": "1717", - "parentIndex": "3610", + "parentIndex": "3611", "start": "61936" }, "stateMutability": "NONPAYABLE", @@ -76591,7 +76647,7 @@ "typeString": "address" }, "typeName": { - "id": "3614", + "id": "3615", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76599,7 +76655,7 @@ "end": "61942", "length": "7", "line": "1717", - "parentIndex": "3613", + "parentIndex": "3614", "start": "61936" }, "stateMutability": "NONPAYABLE", @@ -76611,16 +76667,16 @@ "visibility": "INTERNAL" }, { - "id": "3615", + "id": "3616", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "3615", + "scope": "3616", "src": { "column": "8", "end": "61975", "length": "14", "line": "1718", - "parentIndex": "3610", + "parentIndex": "3611", "start": "61962" }, "stateMutability": "MUTABLE", @@ -76630,7 +76686,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3616", + "id": "3617", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76638,7 +76694,7 @@ "end": "61968", "length": "7", "line": "1718", - "parentIndex": "3615", + "parentIndex": "3616", "start": "61962" }, "typeDescription": { @@ -76654,24 +76710,24 @@ "end": "61975", "length": "63", "line": "1716", - "parentIndex": "3609", + "parentIndex": "3610", "start": "61913" } }, "returnParameters": { - "id": "3617", + "id": "3618", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3618", + "id": "3619", "nodeType": "VARIABLE_DECLARATION", - "scope": "3618", + "scope": "3619", "src": { "column": "17", "end": "62036", "length": "7", "line": "1722", - "parentIndex": "3617", + "parentIndex": "3618", "start": "62030" }, "stateMutability": "MUTABLE", @@ -76681,7 +76737,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3619", + "id": "3620", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76689,7 +76745,7 @@ "end": "62036", "length": "7", "line": "1722", - "parentIndex": "3618", + "parentIndex": "3619", "start": "62030" }, "typeDescription": { @@ -76700,15 +76756,15 @@ "visibility": "INTERNAL" }, { - "id": "3620", + "id": "3621", "nodeType": "VARIABLE_DECLARATION", - "scope": "3620", + "scope": "3621", "src": { "column": "26", "end": "62045", "length": "7", "line": "1722", - "parentIndex": "3617", + "parentIndex": "3618", "start": "62039" }, "stateMutability": "MUTABLE", @@ -76718,7 +76774,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3621", + "id": "3622", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76726,7 +76782,7 @@ "end": "62045", "length": "7", "line": "1722", - "parentIndex": "3620", + "parentIndex": "3621", "start": "62039" }, "typeDescription": { @@ -76737,15 +76793,15 @@ "visibility": "INTERNAL" }, { - "id": "3622", + "id": "3623", "nodeType": "VARIABLE_DECLARATION", - "scope": "3622", + "scope": "3623", "src": { "column": "35", "end": "62054", "length": "7", "line": "1722", - "parentIndex": "3617", + "parentIndex": "3618", "start": "62048" }, "stateMutability": "MUTABLE", @@ -76755,7 +76811,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3623", + "id": "3624", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76763,7 +76819,7 @@ "end": "62054", "length": "7", "line": "1722", - "parentIndex": "3622", + "parentIndex": "3623", "start": "62048" }, "typeDescription": { @@ -76774,15 +76830,15 @@ "visibility": "INTERNAL" }, { - "id": "3624", + "id": "3625", "nodeType": "VARIABLE_DECLARATION", - "scope": "3624", + "scope": "3625", "src": { "column": "44", "end": "62063", "length": "7", "line": "1722", - "parentIndex": "3617", + "parentIndex": "3618", "start": "62057" }, "stateMutability": "MUTABLE", @@ -76792,7 +76848,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3625", + "id": "3626", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76800,7 +76856,7 @@ "end": "62063", "length": "7", "line": "1722", - "parentIndex": "3624", + "parentIndex": "3625", "start": "62057" }, "typeDescription": { @@ -76811,15 +76867,15 @@ "visibility": "INTERNAL" }, { - "id": "3626", + "id": "3627", "nodeType": "VARIABLE_DECLARATION", - "scope": "3626", + "scope": "3627", "src": { "column": "53", "end": "62072", "length": "7", "line": "1722", - "parentIndex": "3617", + "parentIndex": "3618", "start": "62066" }, "stateMutability": "MUTABLE", @@ -76829,7 +76885,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3627", + "id": "3628", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76837,7 +76893,7 @@ "end": "62072", "length": "7", "line": "1722", - "parentIndex": "3626", + "parentIndex": "3627", "start": "62066" }, "typeDescription": { @@ -76848,15 +76904,15 @@ "visibility": "INTERNAL" }, { - "id": "3628", + "id": "3629", "nodeType": "VARIABLE_DECLARATION", - "scope": "3628", + "scope": "3629", "src": { "column": "62", "end": "62081", "length": "7", "line": "1722", - "parentIndex": "3617", + "parentIndex": "3618", "start": "62075" }, "stateMutability": "NONPAYABLE", @@ -76866,7 +76922,7 @@ "typeString": "address" }, "typeName": { - "id": "3629", + "id": "3630", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -76874,7 +76930,7 @@ "end": "62081", "length": "7", "line": "1722", - "parentIndex": "3628", + "parentIndex": "3629", "start": "62075" }, "stateMutability": "NONPAYABLE", @@ -76891,12 +76947,12 @@ "end": "62081", "length": "52", "line": "1722", - "parentIndex": "3609", + "parentIndex": "3610", "start": "62030" } }, "scope": "1998", - "signature": "9633f00f", + "signature": "d4ff493f", "src": { "column": "4", "end": "62452", @@ -76917,7 +76973,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3673", + "id": "3674", "implemented": true, "nodeType": "BLOCK", "src": { @@ -76925,7 +76981,7 @@ "end": "62589", "length": "45", "line": "1737", - "parentIndex": "3666", + "parentIndex": "3667", "start": "62545" }, "statements": [ @@ -76941,16 +76997,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3677", + "id": "3678", "name": "feeWhitelist", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2085", + "referencedDeclaration": "2086", "src": { "column": "15", "end": "62573", "length": "12", "line": "1738", - "parentIndex": "3676", + "parentIndex": "3677", "start": "62562" }, "typeDescription": { @@ -76959,13 +77015,13 @@ } } }, - "id": "3676", + "id": "3677", "memberLocation": { "column": "28", "end": "62580", "length": "6", "line": "1738", - "parentIndex": "3676", + "parentIndex": "3677", "start": "62575" }, "memberName": "length", @@ -76975,7 +77031,7 @@ "end": "62580", "length": "19", "line": "1738", - "parentIndex": "3675", + "parentIndex": "3676", "start": "62562" }, "typeDescription": { @@ -76984,7 +77040,7 @@ } } }, - "id": "3675", + "id": "3676", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -76992,7 +77048,7 @@ "end": "62582", "length": "21", "line": "1738", - "parentIndex": "3674", + "parentIndex": "3675", "start": "62562" }, "typeDescription": { @@ -77001,15 +77057,15 @@ } } }, - "functionReturnParameters": "3666", - "id": "3674", + "functionReturnParameters": "3667", + "id": "3675", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "62583", "length": "29", "line": "1738", - "parentIndex": "3666", + "parentIndex": "3667", "start": "62555" }, "typeDescription": { @@ -77020,7 +77076,7 @@ } ] }, - "id": "3666", + "id": "3667", "implemented": true, "kind": "KIND_FUNCTION", "name": "getWhitelistedUsersLength", @@ -77029,24 +77085,24 @@ "end": "62509", "length": "25", "line": "1737", - "parentIndex": "3666", + "parentIndex": "3667", "start": "62485" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3667", + "id": "3668", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3668", + "id": "3669", "nodeType": "VARIABLE_DECLARATION", - "scope": "3668", + "scope": "3669", "src": { "column": "64", "end": "62542", "length": "7", "line": "1737", - "parentIndex": "3667", + "parentIndex": "3668", "start": "62536" }, "stateMutability": "MUTABLE", @@ -77056,7 +77112,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3669", + "id": "3670", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -77064,7 +77120,7 @@ "end": "62542", "length": "7", "line": "1737", - "parentIndex": "3668", + "parentIndex": "3669", "start": "62536" }, "typeDescription": { @@ -77080,24 +77136,24 @@ "end": "62542", "length": "7", "line": "1737", - "parentIndex": "3666", + "parentIndex": "3667", "start": "62536" } }, "returnParameters": { - "id": "3670", + "id": "3671", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3671", + "id": "3672", "nodeType": "VARIABLE_DECLARATION", - "scope": "3671", + "scope": "3672", "src": { "column": "64", "end": "62542", "length": "7", "line": "1737", - "parentIndex": "3670", + "parentIndex": "3671", "start": "62536" }, "stateMutability": "MUTABLE", @@ -77107,7 +77163,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3672", + "id": "3673", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -77115,7 +77171,7 @@ "end": "62542", "length": "7", "line": "1737", - "parentIndex": "3671", + "parentIndex": "3672", "start": "62536" }, "typeDescription": { @@ -77131,7 +77187,7 @@ "end": "62542", "length": "7", "line": "1737", - "parentIndex": "3666", + "parentIndex": "3667", "start": "62536" } }, @@ -77157,7 +77213,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3686", + "id": "3687", "implemented": true, "nodeType": "BLOCK", "src": { @@ -77165,7 +77221,7 @@ "end": "62739", "length": "47", "line": "1743", - "parentIndex": "3679", + "parentIndex": "3680", "start": "62693" }, "statements": [ @@ -77185,16 +77241,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3691", + "id": "3692", "name": "_index", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3691", + "referencedDeclaration": "3692", "src": { "column": "31", "end": "62731", "length": "6", "line": "1744", - "parentIndex": "3688", + "parentIndex": "3689", "start": "62726" }, "typeDescription": { @@ -77210,16 +77266,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3690", + "id": "3691", "name": "feeWhitelist", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2085", + "referencedDeclaration": "2086", "src": { "column": "15", "end": "62721", "length": "12", "line": "1744", - "parentIndex": "3689", + "parentIndex": "3690", "start": "62710" }, "typeDescription": { @@ -77228,13 +77284,13 @@ } } }, - "id": "3689", + "id": "3690", "memberLocation": { "column": "28", "end": "62724", "length": "2", "line": "1744", - "parentIndex": "3689", + "parentIndex": "3690", "start": "62723" }, "memberName": "at", @@ -77244,7 +77300,7 @@ "end": "62724", "length": "15", "line": "1744", - "parentIndex": "3688", + "parentIndex": "3689", "start": "62710" }, "typeDescription": { @@ -77253,7 +77309,7 @@ } } }, - "id": "3688", + "id": "3689", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77261,7 +77317,7 @@ "end": "62732", "length": "23", "line": "1744", - "parentIndex": "3687", + "parentIndex": "3688", "start": "62710" }, "typeDescription": { @@ -77270,15 +77326,15 @@ } } }, - "functionReturnParameters": "3679", - "id": "3687", + "functionReturnParameters": "3680", + "id": "3688", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "62733", "length": "31", "line": "1744", - "parentIndex": "3679", + "parentIndex": "3680", "start": "62703" }, "typeDescription": { @@ -77289,7 +77345,7 @@ } ] }, - "id": "3679", + "id": "3680", "implemented": true, "kind": "KIND_FUNCTION", "name": "getWhitelistedUserAtIndex", @@ -77298,25 +77354,25 @@ "end": "62629", "length": "25", "line": "1741", - "parentIndex": "3679", + "parentIndex": "3680", "start": "62605" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3680", + "id": "3681", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3681", + "id": "3682", "name": "_index", "nodeType": "VARIABLE_DECLARATION", - "scope": "3681", + "scope": "3682", "src": { "column": "8", "end": "62653", "length": "14", "line": "1742", - "parentIndex": "3680", + "parentIndex": "3681", "start": "62640" }, "stateMutability": "MUTABLE", @@ -77326,7 +77382,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3682", + "id": "3683", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -77334,7 +77390,7 @@ "end": "62646", "length": "7", "line": "1742", - "parentIndex": "3681", + "parentIndex": "3682", "start": "62640" }, "typeDescription": { @@ -77350,24 +77406,24 @@ "end": "62653", "length": "14", "line": "1742", - "parentIndex": "3679", + "parentIndex": "3680", "start": "62640" } }, "returnParameters": { - "id": "3683", + "id": "3684", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3684", + "id": "3685", "nodeType": "VARIABLE_DECLARATION", - "scope": "3684", + "scope": "3685", "src": { "column": "29", "end": "62690", "length": "7", "line": "1743", - "parentIndex": "3683", + "parentIndex": "3684", "start": "62684" }, "stateMutability": "NONPAYABLE", @@ -77377,7 +77433,7 @@ "typeString": "address" }, "typeName": { - "id": "3685", + "id": "3686", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -77385,7 +77441,7 @@ "end": "62690", "length": "7", "line": "1743", - "parentIndex": "3684", + "parentIndex": "3685", "start": "62684" }, "stateMutability": "NONPAYABLE", @@ -77402,7 +77458,7 @@ "end": "62690", "length": "7", "line": "1743", - "parentIndex": "3679", + "parentIndex": "3680", "start": "62684" } }, @@ -77428,7 +77484,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3700", + "id": "3701", "implemented": true, "nodeType": "BLOCK", "src": { @@ -77436,7 +77492,7 @@ "end": "62887", "length": "52", "line": "1749", - "parentIndex": "3693", + "parentIndex": "3694", "start": "62836" }, "statements": [ @@ -77456,16 +77512,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3705", + "id": "3706", "name": "_user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3705", + "referencedDeclaration": "3706", "src": { "column": "37", "end": "62879", "length": "5", "line": "1750", - "parentIndex": "3702", + "parentIndex": "3703", "start": "62875" }, "typeDescription": { @@ -77481,16 +77537,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3704", + "id": "3705", "name": "feeWhitelist", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2085", + "referencedDeclaration": "2086", "src": { "column": "15", "end": "62864", "length": "12", "line": "1750", - "parentIndex": "3703", + "parentIndex": "3704", "start": "62853" }, "typeDescription": { @@ -77499,13 +77555,13 @@ } } }, - "id": "3703", + "id": "3704", "memberLocation": { "column": "28", "end": "62873", "length": "8", "line": "1750", - "parentIndex": "3703", + "parentIndex": "3704", "start": "62866" }, "memberName": "contains", @@ -77515,7 +77571,7 @@ "end": "62873", "length": "21", "line": "1750", - "parentIndex": "3702", + "parentIndex": "3703", "start": "62853" }, "typeDescription": { @@ -77524,7 +77580,7 @@ } } }, - "id": "3702", + "id": "3703", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77532,7 +77588,7 @@ "end": "62880", "length": "28", "line": "1750", - "parentIndex": "3701", + "parentIndex": "3702", "start": "62853" }, "typeDescription": { @@ -77541,15 +77597,15 @@ } } }, - "functionReturnParameters": "3693", - "id": "3701", + "functionReturnParameters": "3694", + "id": "3702", "nodeType": "RETURN_STATEMENT", "src": { "column": "8", "end": "62881", "length": "36", "line": "1750", - "parentIndex": "3693", + "parentIndex": "3694", "start": "62846" }, "typeDescription": { @@ -77560,7 +77616,7 @@ } ] }, - "id": "3693", + "id": "3694", "implemented": true, "kind": "KIND_FUNCTION", "name": "getUserWhitelistStatus", @@ -77569,25 +77625,25 @@ "end": "62776", "length": "22", "line": "1747", - "parentIndex": "3693", + "parentIndex": "3694", "start": "62755" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3694", + "id": "3695", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3695", + "id": "3696", "name": "_user", "nodeType": "VARIABLE_DECLARATION", - "scope": "3695", + "scope": "3696", "src": { "column": "8", "end": "62799", "length": "13", "line": "1748", - "parentIndex": "3694", + "parentIndex": "3695", "start": "62787" }, "stateMutability": "NONPAYABLE", @@ -77597,7 +77653,7 @@ "typeString": "address" }, "typeName": { - "id": "3696", + "id": "3697", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -77605,7 +77661,7 @@ "end": "62793", "length": "7", "line": "1748", - "parentIndex": "3695", + "parentIndex": "3696", "start": "62787" }, "stateMutability": "NONPAYABLE", @@ -77622,24 +77678,24 @@ "end": "62799", "length": "13", "line": "1748", - "parentIndex": "3693", + "parentIndex": "3694", "start": "62787" } }, "returnParameters": { - "id": "3697", + "id": "3698", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3698", + "id": "3699", "nodeType": "VARIABLE_DECLARATION", - "scope": "3698", + "scope": "3699", "src": { "column": "29", "end": "62833", "length": "4", "line": "1749", - "parentIndex": "3697", + "parentIndex": "3698", "start": "62830" }, "stateMutability": "MUTABLE", @@ -77649,7 +77705,7 @@ "typeString": "bool" }, "typeName": { - "id": "3699", + "id": "3700", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -77657,7 +77713,7 @@ "end": "62833", "length": "4", "line": "1749", - "parentIndex": "3698", + "parentIndex": "3699", "start": "62830" }, "typeDescription": { @@ -77673,7 +77729,7 @@ "end": "62833", "length": "4", "line": "1749", - "parentIndex": "3693", + "parentIndex": "3694", "start": "62830" } }, @@ -77698,24 +77754,24 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "3707", + "id": "3708", "name": "NativeWithdraw", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "3708", + "id": "3709", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3709", + "id": "3710", "name": "_contributionWithdrawn", "nodeType": "VARIABLE_DECLARATION", - "scope": "3709", + "scope": "3710", "src": { "column": "25", "end": "63099", "length": "30", "line": "1757", - "parentIndex": "3708", + "parentIndex": "3709", "start": "63070" }, "stateMutability": "MUTABLE", @@ -77725,7 +77781,7 @@ "typeString": "uint256" }, "typeName": { - "id": "3710", + "id": "3711", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -77733,7 +77789,7 @@ "end": "63076", "length": "7", "line": "1757", - "parentIndex": "3709", + "parentIndex": "3710", "start": "63070" }, "typeDescription": { @@ -77749,7 +77805,7 @@ "end": "63101", "length": "53", "line": "1757", - "parentIndex": "3707", + "parentIndex": "3708", "start": "63049" } }, @@ -77762,7 +77818,7 @@ "start": "63049" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_KnoxLpLocker_NativeWithdraw_\u00263707", + "typeIdentifier": "t_event\u0026_KnoxLpLocker_NativeWithdraw_\u00263708", "typeString": "event KnoxLpLocker.NativeWithdraw" } } @@ -77771,7 +77827,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3717", + "id": "3718", "implemented": true, "nodeType": "BLOCK", "src": { @@ -77779,7 +77835,7 @@ "end": "63529", "length": "118", "line": "1764", - "parentIndex": "3712", + "parentIndex": "3713", "start": "63412" }, "statements": [ @@ -77809,7 +77865,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3727", + "id": "3728", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -77817,7 +77873,7 @@ "end": "63460", "length": "4", "line": "1765", - "parentIndex": "3724", + "parentIndex": "3725", "start": "63457" }, "typeDescription": { @@ -77836,7 +77892,7 @@ "typeString": "address" } ], - "id": "3725", + "id": "3726", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -77844,7 +77900,7 @@ "end": "63455", "length": "7", "line": "1765", - "parentIndex": "3724", + "parentIndex": "3725", "start": "63449" }, "typeDescription": { @@ -77852,7 +77908,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3726", + "id": "3727", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -77860,7 +77916,7 @@ "end": "63455", "length": "7", "line": "1765", - "parentIndex": "3725", + "parentIndex": "3726", "start": "63449" }, "stateMutability": "NONPAYABLE", @@ -77871,7 +77927,7 @@ } } }, - "id": "3724", + "id": "3725", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77879,7 +77935,7 @@ "end": "63461", "length": "13", "line": "1765", - "parentIndex": "3723", + "parentIndex": "3724", "start": "63449" }, "typeDescription": { @@ -77888,13 +77944,13 @@ } } }, - "id": "3723", + "id": "3724", "memberLocation": { "column": "49", "end": "63469", "length": "7", "line": "1765", - "parentIndex": "3723", + "parentIndex": "3724", "start": "63463" }, "memberName": "balance", @@ -77904,7 +77960,7 @@ "end": "63469", "length": "21", "line": "1765", - "parentIndex": "3718", + "parentIndex": "3719", "start": "63449" }, "typeDescription": { @@ -77933,7 +77989,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3722", + "id": "3723", "name": "owner", "nodeType": "IDENTIFIER", "src": { @@ -77941,7 +77997,7 @@ "end": "63434", "length": "5", "line": "1765", - "parentIndex": "3721", + "parentIndex": "3722", "start": "63430" }, "typeDescription": { @@ -77950,7 +78006,7 @@ } } }, - "id": "3721", + "id": "3722", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -77958,7 +78014,7 @@ "end": "63436", "length": "7", "line": "1765", - "parentIndex": "3720", + "parentIndex": "3721", "start": "63430" }, "typeDescription": { @@ -77968,7 +78024,7 @@ } } ], - "id": "3720", + "id": "3721", "nodeType": "PAYABLE_CONVERSION", "payable": true, "src": { @@ -77976,18 +78032,18 @@ "end": "63437", "length": "16", "line": "1765", - "parentIndex": "3719", + "parentIndex": "3720", "start": "63422" } } }, - "id": "3719", + "id": "3720", "memberLocation": { "column": "25", "end": "63447", "length": "9", "line": "1765", - "parentIndex": "3719", + "parentIndex": "3720", "start": "63439" }, "memberName": "sendValue", @@ -77997,7 +78053,7 @@ "end": "63447", "length": "26", "line": "1765", - "parentIndex": "3718", + "parentIndex": "3719", "start": "63422" }, "typeDescription": { @@ -78006,7 +78062,7 @@ } } }, - "id": "3718", + "id": "3719", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -78014,7 +78070,7 @@ "end": "63470", "length": "49", "line": "1765", - "parentIndex": "3717", + "parentIndex": "3718", "start": "63422" }, "typeDescription": { @@ -78043,7 +78099,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3733", + "id": "3734", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -78051,7 +78107,7 @@ "end": "63512", "length": "4", "line": "1766", - "parentIndex": "3730", + "parentIndex": "3731", "start": "63509" }, "typeDescription": { @@ -78070,7 +78126,7 @@ "typeString": "address" } ], - "id": "3731", + "id": "3732", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -78078,7 +78134,7 @@ "end": "63507", "length": "7", "line": "1766", - "parentIndex": "3730", + "parentIndex": "3731", "start": "63501" }, "typeDescription": { @@ -78086,7 +78142,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "3732", + "id": "3733", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -78094,7 +78150,7 @@ "end": "63507", "length": "7", "line": "1766", - "parentIndex": "3731", + "parentIndex": "3732", "start": "63501" }, "stateMutability": "NONPAYABLE", @@ -78105,7 +78161,7 @@ } } }, - "id": "3730", + "id": "3731", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -78113,7 +78169,7 @@ "end": "63513", "length": "13", "line": "1766", - "parentIndex": "3729", + "parentIndex": "3730", "start": "63501" }, "typeDescription": { @@ -78122,13 +78178,13 @@ } } }, - "id": "3729", + "id": "3730", "memberLocation": { "column": "42", "end": "63521", "length": "7", "line": "1766", - "parentIndex": "3729", + "parentIndex": "3730", "start": "63515" }, "memberName": "balance", @@ -78138,7 +78194,7 @@ "end": "63521", "length": "21", "line": "1766", - "parentIndex": "3728", + "parentIndex": "3729", "start": "63501" }, "typeDescription": { @@ -78151,54 +78207,54 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3734", + "id": "3735", "name": "NativeWithdraw", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3707", + "referencedDeclaration": "3708", "src": { "column": "13", "end": "63499", "length": "14", "line": "1766", - "parentIndex": "3728", + "parentIndex": "3729", "start": "63486" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_KnoxLpLocker_NativeWithdraw_\u00263707", + "typeIdentifier": "t_event\u0026_KnoxLpLocker_NativeWithdraw_\u00263708", "typeString": "event KnoxLpLocker.NativeWithdraw" } } }, - "id": "3728", + "id": "3729", "nodeType": "EMIT_STATEMENT", "src": { "column": "8", "end": "63523", "length": "43", "line": "1766", - "parentIndex": "3712", + "parentIndex": "3713", "start": "63481" } } } ] }, - "id": "3712", + "id": "3713", "implemented": true, "kind": "KIND_FUNCTION", "modifiers": [ { - "id": "3714", + "id": "3715", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "3715", + "id": "3716", "name": "onlyOwner", "src": { "column": "39", "end": "63410", "length": "9", "line": "1764", - "parentIndex": "3714", + "parentIndex": "3715", "start": "63402" } }, @@ -78209,7 +78265,7 @@ "end": "63410", "length": "9", "line": "1764", - "parentIndex": "3712", + "parentIndex": "3713", "start": "63402" } } @@ -78220,31 +78276,31 @@ "end": "63389", "length": "14", "line": "1764", - "parentIndex": "3712", + "parentIndex": "3713", "start": "63376" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3713", + "id": "3714", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "63529", "length": "163", "line": "1764", - "parentIndex": "3712", + "parentIndex": "3713", "start": "63367" } }, "returnParameters": { - "id": "3716", + "id": "3717", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "63529", "length": "163", "line": "1764", - "parentIndex": "3712", + "parentIndex": "3713", "start": "63367" } }, diff --git a/data/tests/contracts/knox/Ownable.solgo.ast.json b/data/tests/contracts/knox/Ownable.solgo.ast.json index 051ce301..8c28c0f2 100644 --- a/data/tests/contracts/knox/Ownable.solgo.ast.json +++ b/data/tests/contracts/knox/Ownable.solgo.ast.json @@ -370,7 +370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -396,7 +397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -488,7 +490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_checkOwner" }, "type_description": { "type_identifier": "t_function_$", @@ -513,7 +516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -583,7 +587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 254, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -720,7 +725,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 291, @@ -826,7 +832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -865,7 +872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -903,7 +911,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -924,7 +933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -973,7 +983,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_checkOwner()internalviewvirtual{require(owner()==_msgSender(),\"Ownable: caller is not the owner\");}" }, { "id": 304, @@ -1068,7 +1079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1114,7 +1126,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1140,7 +1153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1219,7 +1233,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{_transferOwnership(address(0));}" }, { "id": 317, @@ -1311,7 +1326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 328, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 329, @@ -1352,7 +1368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1398,7 +1415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1436,7 +1454,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1457,7 +1476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1501,7 +1521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 336, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1522,7 +1543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1647,7 +1669,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");_transferOwnership(newOwner);}" }, { "id": 338, @@ -1763,7 +1786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 254, - "is_pure": false + "is_pure": false, + "text": "_owner" } }, { @@ -1807,7 +1831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 254, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 351, @@ -1827,7 +1852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 351, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1837,7 +1863,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" }, { "id": 352, @@ -1869,7 +1896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 344, - "is_pure": false + "is_pure": false, + "text": "oldOwner" }, { "id": 354, @@ -1889,7 +1917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 354, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1910,7 +1939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 257, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -2001,7 +2031,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_transferOwnership(addressnewOwner)internalvirtual{addressoldOwner=_owner;_owner=newOwner;emitOwnershipTransferred(oldOwner,newOwner);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/ReentrancyGuard.solgo.ast.json b/data/tests/contracts/knox/ReentrancyGuard.solgo.ast.json index 4f5dda95..84bb5727 100644 --- a/data/tests/contracts/knox/ReentrancyGuard.solgo.ast.json +++ b/data/tests/contracts/knox/ReentrancyGuard.solgo.ast.json @@ -121,7 +121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -184,7 +185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { @@ -329,7 +331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 380, @@ -349,7 +352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 362, - "is_pure": false + "is_pure": false, + "text": "_NOT_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -359,7 +363,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_NOT_ENTERED;" } ] } @@ -446,7 +451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nonReentrantBefore" }, "type_description": { "type_identifier": "t_function_$", @@ -471,7 +477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 388, @@ -505,7 +512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_nonReentrantAfter" }, "type_description": { "type_identifier": "t_function_$", @@ -605,7 +613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 399, @@ -625,7 +634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 366, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_bool", @@ -658,7 +668,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ReentrancyGuard: reentrant call\"" } ], "expression": { @@ -679,7 +690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -727,7 +739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 404, @@ -747,7 +760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 366, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -757,7 +771,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_ENTERED;" } ] }, @@ -801,7 +816,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_nonReentrantBefore()private{require(_status!=_ENTERED,\"ReentrancyGuard: reentrant call\");_status=_ENTERED;}" }, { "id": 406, @@ -879,7 +895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 413, @@ -899,7 +916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 362, - "is_pure": false + "is_pure": false, + "text": "_NOT_ENTERED" }, "type_description": { "type_identifier": "t_uint256", @@ -909,7 +927,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_status=_NOT_ENTERED;" } ] }, @@ -953,7 +972,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_nonReentrantAfter()private{_status=_NOT_ENTERED;}" }, { "id": 415, @@ -1034,7 +1054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "_status" }, "right_expression": { "id": 426, @@ -1054,7 +1075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 366, - "is_pure": false + "is_pure": false, + "text": "_ENTERED" }, "type_description": { "type_identifier": "t_bool", @@ -1194,7 +1216,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "function_reentrancyGuardEntered()internalviewreturns(bool){return_status==_ENTERED;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/knox/SafeERC20.solgo.ast.json b/data/tests/contracts/knox/SafeERC20.solgo.ast.json index f5886c0d..90b42d2d 100644 --- a/data/tests/contracts/knox/SafeERC20.solgo.ast.json +++ b/data/tests/contracts/knox/SafeERC20.solgo.ast.json @@ -186,7 +186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1512, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1513, @@ -279,21 +280,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1518, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { "id": 1519, @@ -319,7 +323,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { "id": 1520, @@ -349,7 +354,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -393,14 +399,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -426,7 +434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -622,13 +631,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { "id": 1522, @@ -706,7 +716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1537, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1538, @@ -803,21 +814,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1543, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { "id": 1544, @@ -843,7 +857,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { "id": 1545, @@ -873,7 +888,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1546, @@ -907,7 +923,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -951,14 +968,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -984,7 +1003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -1224,13 +1244,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { "id": 1548, @@ -1350,7 +1371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1564, - "is_pure": false + "is_pure": false, + "text": "value" }, "right_expression": { "id": 1565, @@ -1372,7 +1394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1473,7 +1496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -1519,7 +1543,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1550,7 +1575,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -1594,14 +1620,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1570, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -1628,7 +1656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1672,7 +1701,8 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { @@ -1693,7 +1723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -1741,7 +1772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1581, @@ -1834,21 +1866,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1586, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1587, @@ -1874,7 +1909,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1588, @@ -1904,7 +1940,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -1948,14 +1985,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -1981,7 +2020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2177,13 +2217,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { "id": 1590, @@ -2340,7 +2381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2386,7 +2428,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2417,7 +2460,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -2461,14 +2505,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1606, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2517,7 +2563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1614, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1615, @@ -2610,21 +2657,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1620, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1621, @@ -2650,7 +2700,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1622, @@ -2684,7 +2735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1601, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1624, @@ -2704,7 +2756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1624, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -2753,14 +2806,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2786,7 +2841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2982,13 +3038,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256oldAllowance=token.allowance(address(this),spender);_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,oldAllowance+value));}" }, { "id": 1626, @@ -3159,7 +3216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3205,7 +3263,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3236,7 +3295,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { @@ -3280,14 +3340,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1643, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -3350,7 +3412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1638, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1653, @@ -3370,7 +3433,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1653, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -3403,7 +3467,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { @@ -3424,7 +3489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3472,7 +3538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1658, @@ -3565,21 +3632,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1664, @@ -3605,7 +3675,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1665, @@ -3639,7 +3710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1638, - "is_pure": false + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { "id": 1667, @@ -3659,7 +3731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -3708,14 +3781,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3741,7 +3816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -3939,13 +4015,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,oldAllowance-value));}}" }, { "id": 1669, @@ -4133,21 +4210,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1688, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1689, @@ -4173,7 +4253,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1690, @@ -4203,7 +4284,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -4247,14 +4329,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -4332,7 +4416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1696, @@ -4358,7 +4443,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "approvalCall" } ], "expression": { @@ -4379,7 +4465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturnBool" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -4446,7 +4533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1700, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1701, @@ -4539,21 +4627,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1706, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { "id": 1707, @@ -4579,7 +4670,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { "id": 1708, @@ -4611,7 +4703,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -4655,14 +4748,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_rational_0_by_1$", @@ -4688,7 +4783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_rational_0_by_1$", @@ -4736,7 +4832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1711, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1712, @@ -4762,7 +4859,8 @@ "type_identifier": "t_contract$_IERC20_$1393", "type_string": "contract IERC20" } - ] + ], + "text": "approvalCall" } ], "expression": { @@ -4783,7 +4881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -4982,13 +5081,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "forceApprove(, address, uint256)", - "signature": "92f9fd25", + "signature_raw": "forceApprove(,address,uint256)", + "signature": "2e3f9f55", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionforceApprove(IERC20token,addressspender,uint256value)internal{bytesmemoryapprovalCall=abi.encodeWithSelector(token.approve.selector,spender,value);if(!_callOptionalReturnBool(token,approvalCall)){_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,0));_callOptionalReturn(token,approvalCall);}}" }, { "id": 1714, @@ -5122,7 +5222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1741, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -5166,14 +5267,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1740, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$1348", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5242,7 +5345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1745, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1746, @@ -5268,7 +5372,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 1747, @@ -5298,7 +5403,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" }, { "id": 1748, @@ -5332,7 +5438,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 1749, @@ -5370,7 +5477,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 1750, @@ -5412,7 +5520,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 1751, @@ -5458,7 +5567,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -5502,14 +5612,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1744, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "permit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$1348", "type_string": "contract IERC20Permit" - } + }, + "text": "token.permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -5613,7 +5725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1758, - "is_pure": false + "is_pure": false, + "text": "owner" } ], "expression": { @@ -5657,14 +5770,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1757, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "nonces", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20Permit_$1348", "type_string": "contract IERC20Permit" - } + }, + "text": "token.nonces" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5727,7 +5842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1752, - "is_pure": false + "is_pure": false, + "text": "nonceAfter" }, "right_expression": { "id": 1763, @@ -5761,7 +5877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1735, - "is_pure": false + "is_pure": false, + "text": "nonceBefore" }, "right_expression": { "id": 1765, @@ -5783,7 +5900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -5821,7 +5939,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: permit did not succeed\"" } ], "expression": { @@ -5842,7 +5961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6254,13 +6374,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safePermit(, address, address, uint256, uint256, uint8, bytes32, bytes32)", - "signature": "f8fe8854", + "signature_raw": "safePermit(,address,address,uint256,uint256,uint8,bytes32,bytes32)", + "signature": "1f73058e", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20Permit_$1348$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(contract IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionsafePermit(IERC20Permittoken,addressowner,addressspender,uint256value,uint256deadline,uint8v,bytes32r,bytes32s)internal{uint256nonceBefore=token.nonces(owner);token.permit(owner,spender,value,deadline,v,r,s);uint256nonceAfter=token.nonces(owner);require(nonceAfter==nonceBefore+1,\"SafeERC20: permit did not succeed\");}" }, { "id": 1768, @@ -6398,7 +6519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1786, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 1787, @@ -6426,7 +6548,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { @@ -6489,7 +6612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1785, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -6535,7 +6659,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6547,7 +6672,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -6647,14 +6773,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1777, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1794, @@ -6676,7 +6804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6724,7 +6853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1777, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1799, @@ -6776,7 +6906,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -6826,14 +6957,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -6871,7 +7004,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { @@ -6892,7 +7026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7044,13 +7179,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");require(returndata.length==0||abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}" }, { "id": 1804, @@ -7229,7 +7365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1826, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -7292,7 +7429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1825, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -7338,7 +7476,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7350,7 +7489,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).call" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -7412,7 +7552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1815, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 1833, @@ -7497,14 +7638,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1815, - "is_pure": false + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { "id": 1838, @@ -7526,7 +7669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7574,7 +7718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1815, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1843, @@ -7626,7 +7771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -7676,14 +7822,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -7769,7 +7917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1852, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -7815,7 +7964,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7864,14 +8014,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1022, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$1022", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -8081,13 +8233,14 @@ } ] }, - "signature_raw": "_callOptionalReturnBool(, bytes)", - "signature": "a6df5f67", + "signature_raw": "_callOptionalReturnBool(,bytes)", + "signature": "f052f32a", "scope": 1493, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1393$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturnBool(IERC20token,bytesmemorydata)privatereturns(bool){(boolsuccess,bytesmemoryreturndata)=address(token).call(data);returnsuccess\u0026\u0026(returndata.length==0||abi.decode(returndata,(bool)))\u0026\u0026Address.isContract(address(token));}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/papa/AbsToken.solgo.ast.json b/data/tests/contracts/papa/AbsToken.solgo.ast.json index 177e7051..c19bfaa5 100644 --- a/data/tests/contracts/papa/AbsToken.solgo.ast.json +++ b/data/tests/contracts/papa/AbsToken.solgo.ast.json @@ -148,7 +148,7 @@ "mutability": 1, "type_name": { "id": 359, - "node_type": 0, + "node_type": 53, "src": { "line": 106, "column": 4, @@ -241,7 +241,7 @@ "mutability": 1, "type_name": { "id": 364, - "node_type": 0, + "node_type": 53, "src": { "line": 107, "column": 4, @@ -641,7 +641,7 @@ "mutability": 1, "type_name": { "id": 390, - "node_type": 0, + "node_type": 53, "src": { "line": 117, "column": 4, @@ -734,7 +734,7 @@ "mutability": 1, "type_name": { "id": 395, - "node_type": 0, + "node_type": 53, "src": { "line": 118, "column": 4, @@ -975,7 +975,7 @@ "mutability": 1, "type_name": { "id": 410, - "node_type": 0, + "node_type": 53, "src": { "line": 124, "column": 4, @@ -1183,7 +1183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1228,7 +1229,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1364,7 +1366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -1427,7 +1430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "400" } }, { @@ -1490,7 +1494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -1553,7 +1558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -1616,7 +1622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } }, { @@ -1679,7 +1686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -1742,7 +1750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -1805,7 +1814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "400" } }, { @@ -1868,7 +1878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -1931,7 +1942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -1994,7 +2006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } }, { @@ -2057,7 +2070,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2120,7 +2134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "9999" } }, { @@ -2521,7 +2536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -2584,7 +2600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } }, { @@ -2647,7 +2664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2710,7 +2728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2816,7 +2835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2910,7 +2930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "inSwap" }, "right_expression": { "id": 534, @@ -2932,7 +2953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -2942,7 +2964,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "inSwap=true;" }, { "id": 535, @@ -2962,7 +2985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 536, @@ -3005,7 +3029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "inSwap" }, "right_expression": { "id": 539, @@ -3027,7 +3052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -3037,7 +3063,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "inSwap=false;" } ] } @@ -3709,7 +3736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 574, @@ -3729,7 +3757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 574, - "is_pure": false + "is_pure": false, + "text": "Name" }, "type_description": { "type_identifier": "t_string", @@ -3739,7 +3768,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=Name;" }, { "id": 575, @@ -3782,7 +3812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 578, @@ -3802,7 +3833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 578, - "is_pure": false + "is_pure": false, + "text": "Symbol" }, "type_description": { "type_identifier": "t_string", @@ -3812,7 +3844,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=Symbol;" }, { "id": 579, @@ -3855,7 +3888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "right_expression": { "id": 582, @@ -3875,7 +3909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 582, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_description": { "type_identifier": "t_uint8", @@ -3885,7 +3920,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_decimals=Decimals;" }, { "id": 583, @@ -4005,7 +4041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 589, - "is_pure": false + "is_pure": false, + "text": "RouterAddress" } ], "expression": { @@ -4026,7 +4063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapRouter" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4113,7 +4151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 593, - "is_pure": false + "is_pure": false, + "text": "USDTAddress" } }, { @@ -4176,7 +4215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" } ], "expression": { @@ -4222,7 +4262,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4253,7 +4294,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "MAX" } ], "expression": { @@ -4316,7 +4358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" } ], "expression": { @@ -4337,7 +4380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4349,7 +4393,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(usdt).approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$", @@ -4397,7 +4442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" }, "right_expression": { "id": 607, @@ -4417,7 +4463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "type_description": { "type_identifier": "t_address", @@ -4427,7 +4474,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_usdt=usdt;" }, { "id": 608, @@ -4470,7 +4518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "_swapRouter" }, "right_expression": { "id": 611, @@ -4490,7 +4539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" }, "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", @@ -4500,7 +4550,8 @@ "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "_swapRouter=swapRouter;" }, { "id": 612, @@ -4565,7 +4616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 617, @@ -4604,7 +4656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -4650,7 +4703,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4709,7 +4763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" } ], "expression": { @@ -4755,7 +4810,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4795,7 +4851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 417, - "is_pure": false + "is_pure": false, + "text": "MAX" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$_t_address$]$_t_function_$_t_address$", @@ -4805,7 +4862,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$_t_address$]$_t_function_$_t_address$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):function(address)]:function(address)]" - } + }, + "text": "_allowances[address(this)][address(swapRouter)]=MAX;" }, { "id": 626, @@ -4962,14 +5020,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" }, "member_name": "factory", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "swapRouter.factory" }, "type_description": { "type_identifier": "t_function_$", @@ -4995,7 +5055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapFactory" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5124,7 +5185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -5170,7 +5232,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5201,7 +5264,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "usdt" } ], "expression": { @@ -5245,14 +5309,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 626, - "is_pure": false + "is_pure": false, + "text": "swapFactory" }, "member_name": "createPair", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapFactory_$173", "type_string": "contract ISwapFactory" - } + }, + "text": "swapFactory.createPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -5312,7 +5378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 650, @@ -5332,7 +5399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "usdtPair" }, "type_descriptions": [ { @@ -5369,7 +5437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -5379,7 +5448,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_swapPairList[usdtPair]=true;" }, { "id": 652, @@ -5422,7 +5492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 490, - "is_pure": false + "is_pure": false, + "text": "_mainPair" }, "right_expression": { "id": 655, @@ -5442,7 +5513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "usdtPair" }, "type_description": { "type_identifier": "t_address", @@ -5452,7 +5524,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_mainPair=usdtPair;" }, { "id": 656, @@ -5546,7 +5619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 660, - "is_pure": false + "is_pure": false, + "text": "Supply" }, "right_expression": { "id": 662, @@ -5579,7 +5653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 664, @@ -5599,7 +5674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 664, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_descriptions": [ { @@ -5659,7 +5735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 399, - "is_pure": false + "is_pure": false, + "text": "_tTotal" }, "right_expression": { "id": 668, @@ -5679,7 +5756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 656, - "is_pure": false + "is_pure": false, + "text": "total" }, "type_description": { "type_identifier": "t_uint256", @@ -5689,7 +5767,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_tTotal=total;" }, { "id": 669, @@ -5743,7 +5822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 673, @@ -5763,7 +5843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, "type_descriptions": [ { @@ -5798,7 +5879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 656, - "is_pure": false + "is_pure": false, + "text": "total" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -5808,7 +5890,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[ReceiveAddress]=total;" }, { "id": 675, @@ -5861,7 +5944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5907,7 +5991,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5932,7 +6017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 680, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, { "id": 681, @@ -5952,7 +6038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 656, - "is_pure": false + "is_pure": false, + "text": "total" } ], "expression": { @@ -5973,7 +6060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 102, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -6017,7 +6105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_receiveAddress" }, "right_expression": { "id": 686, @@ -6037,7 +6126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 686, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, "type_description": { "type_identifier": "t_address", @@ -6047,7 +6137,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_receiveAddress=ReceiveAddress;" }, { "id": 687, @@ -6090,7 +6181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 521, - "is_pure": false + "is_pure": false, + "text": "_lpFeeReceiver" }, "right_expression": { "id": 690, @@ -6110,7 +6202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 690, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, "type_description": { "type_identifier": "t_address", @@ -6120,7 +6213,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_lpFeeReceiver=ReceiveAddress;" }, { "id": 691, @@ -6163,7 +6257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 371, - "is_pure": false + "is_pure": false, + "text": "fundAddress" }, "right_expression": { "id": 694, @@ -6183,7 +6278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 694, - "is_pure": false + "is_pure": false, + "text": "FundAddress" }, "type_description": { "type_identifier": "t_address", @@ -6193,7 +6289,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress=FundAddress;" }, { "id": 695, @@ -6236,7 +6333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 374, - "is_pure": false + "is_pure": false, + "text": "fundAddress2" }, "right_expression": { "id": 698, @@ -6256,7 +6354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 698, - "is_pure": false + "is_pure": false, + "text": "FundAddress2" }, "type_description": { "type_identifier": "t_address", @@ -6266,7 +6365,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress2=FundAddress2;" }, { "id": 699, @@ -6309,7 +6409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 377, - "is_pure": false + "is_pure": false, + "text": "fundAddress3" }, "right_expression": { "id": 702, @@ -6329,7 +6430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "FundAddress3" }, "type_description": { "type_identifier": "t_address", @@ -6339,7 +6441,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress3=FundAddress3;" }, { "id": 703, @@ -6393,7 +6496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 707, @@ -6413,7 +6517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 707, - "is_pure": false + "is_pure": false, + "text": "FundAddress" }, "type_descriptions": [ { @@ -6450,7 +6555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -6460,7 +6566,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[FundAddress]=true;" }, { "id": 709, @@ -6514,7 +6621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 713, @@ -6534,7 +6642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "FundAddress2" }, "type_descriptions": [ { @@ -6571,7 +6680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -6581,7 +6691,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[FundAddress2]=true;" }, { "id": 715, @@ -6635,7 +6746,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 719, @@ -6655,7 +6767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "FundAddress3" }, "type_descriptions": [ { @@ -6692,7 +6805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -6702,7 +6816,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[FundAddress3]=true;" }, { "id": 721, @@ -6756,7 +6871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 725, @@ -6776,7 +6892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 725, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, "type_descriptions": [ { @@ -6813,7 +6930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -6823,7 +6941,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[ReceiveAddress]=true;" }, { "id": 727, @@ -6877,7 +6996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 731, @@ -6916,7 +7036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -6962,7 +7083,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7004,7 +7126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", @@ -7014,7 +7137,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", "type_string": "index[mapping(address=\u003ebool):function(address)]" - } + }, + "text": "_feeWhiteList[address(this)]=true;" }, { "id": 736, @@ -7068,7 +7192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 740, @@ -7107,7 +7232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" } ], "expression": { @@ -7153,7 +7279,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7195,7 +7322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", @@ -7205,7 +7333,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", "type_string": "index[mapping(address=\u003ebool):function(address)]" - } + }, + "text": "_feeWhiteList[address(swapRouter)]=true;" }, { "id": 745, @@ -7259,7 +7388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 749, @@ -7302,14 +7432,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -7346,7 +7478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -7356,7 +7489,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[msg.sender]=true;" }, { "id": 752, @@ -7410,7 +7544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 756, @@ -7451,7 +7586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -7497,7 +7633,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7539,7 +7676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -7549,7 +7687,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0)]" - } + }, + "text": "_feeWhiteList[address(0)]=true;" }, { "id": 761, @@ -7603,7 +7742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 765, @@ -7644,7 +7784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x000000000000000000000000000000000000dEaD" } ], "expression": { @@ -7690,7 +7831,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7732,7 +7874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -7742,7 +7885,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0x000000000000000000000000000000000000dEaD)]" - } + }, + "text": "_feeWhiteList[address(0x000000000000000000000000000000000000dEaD)]=true;" }, { "id": 770, @@ -7785,7 +7929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "_limitAmount" }, "right_expression": { "id": 773, @@ -7819,7 +7964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 774, - "is_pure": false + "is_pure": false, + "text": "LimitAmount" }, "right_expression": { "id": 776, @@ -7852,7 +7998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 778, @@ -7872,7 +8019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 778, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_descriptions": [ { @@ -7898,7 +8046,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_limitAmount=LimitAmount*10**Decimals;" }, { "id": 779, @@ -7941,7 +8090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "_txLimitAmount" }, "right_expression": { "id": 782, @@ -7975,7 +8125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 783, - "is_pure": false + "is_pure": false, + "text": "TxLimitAmount" }, "right_expression": { "id": 785, @@ -8008,7 +8159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 787, @@ -8028,7 +8180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 787, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_descriptions": [ { @@ -8054,7 +8207,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_txLimitAmount=TxLimitAmount*10**Decimals;" }, { "id": 788, @@ -8097,7 +8251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "_tokenDistributor" }, "right_expression": { "id": 791, @@ -8136,7 +8291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" } ], "expression": { @@ -8208,7 +8364,8 @@ "type_description": { "type_identifier": "t_contract$_TokenDistributor_$325", "type_string": "contract TokenDistributor" - } + }, + "text": "_tokenDistributor=newTokenDistributor(usdt);" }, { "id": 796, @@ -8251,7 +8408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "_minTotal" }, "right_expression": { "id": 799, @@ -8285,7 +8443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "MinTotal" }, "right_expression": { "id": 802, @@ -8318,7 +8477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 804, @@ -8338,7 +8498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 804, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_descriptions": [ { @@ -8364,7 +8525,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_minTotal=MinTotal*10**Decimals;" }, { "id": 805, @@ -8418,7 +8580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2952, - "is_pure": false + "is_pure": false, + "text": "excludeHolder" }, "base_expression": { "id": 809, @@ -8459,7 +8622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8505,7 +8669,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8513,15 +8678,18 @@ } }, "type_descriptions": [ - null, + { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + }, { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } ], "type_description": { - "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", - "type_string": "index[unknown:function(int_const 0)]" + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", + "type_string": "index[mapping(address=\u003ebool):function(int_const 0)]" } }, "right_expression": { @@ -8544,7 +8712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", @@ -8554,7 +8723,8 @@ "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", "type_string": "index[unknown:function(int_const 0)]" - } + }, + "text": "excludeHolder[address(0)]=true;" }, { "id": 814, @@ -8608,7 +8778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2952, - "is_pure": false + "is_pure": false, + "text": "excludeHolder" }, "base_expression": { "id": 818, @@ -8649,7 +8820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x000000000000000000000000000000000000dEaD" } ], "expression": { @@ -8695,7 +8867,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8703,18 +8876,15 @@ } }, "type_descriptions": [ - { - "type_identifier": "t_mapping_$t_address_$t_bool$", - "type_string": "mapping(address=\u003ebool)" - }, + null, { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x000000000000000000000000000000000000dEaD)" } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", - "type_string": "index[mapping(address=\u003ebool):function(int_const 0x000000000000000000000000000000000000dEaD)]" + "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", + "type_string": "index[unknown:function(int_const 0x000000000000000000000000000000000000dEaD)]" } }, "right_expression": { @@ -8737,7 +8907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", @@ -8747,7 +8918,8 @@ "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", "type_string": "index[unknown:function(int_const 0x000000000000000000000000000000000000dEaD)]" - } + }, + "text": "excludeHolder[address(0x000000000000000000000000000000000000dEaD)]=true;" }, { "id": 823, @@ -8840,7 +9012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 829, @@ -8916,7 +9089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" } ], "expression": { @@ -8937,7 +9111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8949,7 +9124,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(usdt).decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -9009,7 +9185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2960, - "is_pure": true + "is_pure": true, + "text": "holderRewardCondition" }, "right_expression": { "id": 837, @@ -9045,7 +9222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 839, @@ -9065,7 +9243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 823, - "is_pure": false + "is_pure": false, + "text": "usdtUnit" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -9080,7 +9259,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "holderRewardCondition=1*usdtUnit;" } ] } @@ -9150,7 +9330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -9304,7 +9485,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewoverridereturns(stringmemory){return_symbol;}" }, { "id": 853, @@ -9371,7 +9553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -9525,7 +9708,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewoverridereturns(stringmemory){return_name;}" }, { "id": 865, @@ -9592,7 +9776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" } } ] @@ -9746,7 +9931,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewoverridereturns(uint8){return_decimals;}" }, { "id": 877, @@ -9841,7 +10027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 399, - "is_pure": false + "is_pure": false, + "text": "_tTotal" }, "right_expression": { "id": 890, @@ -9872,7 +10059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 892, @@ -9913,7 +10101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9959,7 +10148,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10015,7 +10205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 898, @@ -10056,7 +10247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x000000000000000000000000000000000000dEaD" } ], "expression": { @@ -10102,7 +10294,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10281,7 +10474,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewoverridereturns(uint256){return_tTotal-_balances[address(0)]-_balances[address(0x000000000000000000000000000000000000dEaD)];}" }, { "id": 903, @@ -10407,7 +10601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 917, @@ -10427,7 +10622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 917, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -10475,7 +10671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "balance" } } ] @@ -10630,7 +10827,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewoverridereturns(uint256){uint256balance=_balances[account];returnbalance;}" }, { "id": 921, @@ -10735,14 +10933,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 936, @@ -10768,7 +10968,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 937, @@ -10798,7 +10999,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -10819,7 +11021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -10858,7 +11061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -11050,13 +11254,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)publicoverridereturns(bool){_transfer(msg.sender,recipient,amount);returntrue;}" }, { "id": 941, @@ -11145,7 +11350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 956, @@ -11165,7 +11371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 956, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -11200,7 +11407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 957, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -11408,13 +11616,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 959, @@ -11519,14 +11728,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 974, @@ -11552,7 +11763,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 975, @@ -11582,7 +11794,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -11603,7 +11816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -11642,7 +11856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -11834,13 +12049,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicoverridereturns(bool){_approve(msg.sender,spender,amount);returntrue;}" }, { "id": 979, @@ -11922,7 +12138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 995, @@ -11948,7 +12165,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 996, @@ -11978,7 +12196,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -11999,7 +12218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -12071,7 +12291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1002, @@ -12091,7 +12312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -12149,14 +12371,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -12191,7 +12415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 417, - "is_pure": false + "is_pure": false, + "text": "MAX" }, "type_description": { "type_identifier": "t_bool", @@ -12275,7 +12500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1012, @@ -12295,7 +12521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1012, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -12353,14 +12580,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -12431,7 +12660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1019, @@ -12451,7 +12681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1019, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -12509,14 +12740,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -12551,7 +12784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1022, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -12566,7 +12800,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[sender][msg.sender]=_allowances[sender][msg.sender]-amount;" } ] } @@ -12603,7 +12838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -12839,13 +13075,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)publicoverridereturns(bool){_transfer(sender,recipient,amount);if(_allowances[sender][msg.sender]!=MAX){_allowances[sender][msg.sender]=_allowances[sender][msg.sender]-amount;}returntrue;}" }, { "id": 1026, @@ -12945,7 +13182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1041, @@ -12965,7 +13203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1041, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -13000,7 +13239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1042, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -13035,7 +13275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1043, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -13045,7 +13286,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 1044, @@ -13077,7 +13319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1045, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1046, @@ -13097,7 +13340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1046, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1047, @@ -13117,7 +13361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1047, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -13138,7 +13383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 111, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -13310,13 +13556,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)private{_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 1050, @@ -13450,7 +13697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1065, - "is_pure": false + "is_pure": false, + "text": "from" } ], "expression": { @@ -13471,7 +13719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13534,7 +13783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1060, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 1070, @@ -13554,7 +13804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1070, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -13587,7 +13838,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"balanceNotEnough\"" } ], "expression": { @@ -13608,7 +13860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13746,7 +13999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1081, @@ -13766,7 +14020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1081, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -13835,7 +14090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1085, @@ -13855,7 +14111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1085, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -14009,7 +14266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 1093, @@ -14031,7 +14289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "99999" }, "type_description": { "type_identifier": "t_uint256", @@ -14058,7 +14317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100000" }, "type_description": { "type_identifier": "t_uint256", @@ -14109,7 +14369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1097, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 1098, @@ -14129,7 +14390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1087, - "is_pure": false + "is_pure": false, + "text": "maxSellAmount" }, "type_description": { "type_identifier": "t_bool", @@ -14191,7 +14453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1102, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 1103, @@ -14211,7 +14474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1087, - "is_pure": false + "is_pure": false, + "text": "maxSellAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -14221,7 +14485,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount=maxSellAmount;" } ] } @@ -14267,7 +14532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1072, - "is_pure": false + "is_pure": false, + "text": "takeFee" }, "right_expression": { "id": 1107, @@ -14289,7 +14555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -14299,7 +14566,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "takeFee=true;" }, { "id": 1108, @@ -14344,7 +14612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "_txLimitAmount" }, "right_expression": { "id": 1111, @@ -14366,7 +14635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -14442,7 +14712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "_txLimitAmount" }, "right_expression": { "id": 1117, @@ -14462,7 +14733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1117, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -14495,7 +14767,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"txLimit\"" } ], "expression": { @@ -14516,7 +14789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -14666,7 +14940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 505, - "is_pure": false + "is_pure": false, + "text": "_airdropLen" } }, { @@ -14747,7 +15022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 509, - "is_pure": false + "is_pure": false, + "text": "_airdropAmount" } }, { @@ -14851,14 +15127,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } }, { @@ -14952,7 +15230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -14987,7 +15266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1136, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1142, @@ -15007,7 +15287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1122, - "is_pure": false + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_bool", @@ -15045,7 +15326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1136, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -15112,7 +15394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1119, - "is_pure": false + "is_pure": false, + "text": "ad" }, "right_expression": { "id": 1149, @@ -15235,7 +15518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" }, { "id": 1164, @@ -15261,7 +15545,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" }, { "id": 1165, @@ -15291,7 +15576,8 @@ "type_identifier": "t_function_$_t_function_$$", "type_string": "function(function())" } - ] + ], + "text": "blockTime" } ], "expression": { @@ -15335,14 +15621,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -15368,7 +15656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -15418,7 +15707,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -15468,7 +15758,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -15519,7 +15810,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -15534,7 +15826,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "ad=address(uint160(uint(keccak256(abi.encode(i,amount,blockTime)))));" }, { "id": 1166, @@ -15585,7 +15878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1169, @@ -15611,7 +15905,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "ad" }, { "id": 1170, @@ -15641,7 +15936,8 @@ "type_identifier": "t_function_$_t_function_$$", "type_string": "function(function())" } - ] + ], + "text": "airdropAmount" }, { "id": 1171, @@ -15677,7 +15973,8 @@ "type_identifier": "t_function_$_t_function_$$$_t_function_$_t_function_$$$", "type_string": "function(function(),function(function()))" } - ] + ], + "text": "0" } ], "expression": { @@ -15698,7 +15995,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_funTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_rational_0_by_1$", @@ -15746,7 +16044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 60, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 1175, @@ -15766,7 +16065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1126, - "is_pure": false + "is_pure": false, + "text": "airdropAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -15776,7 +16076,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount-=airdropAmount;" } ] } @@ -15960,7 +16261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 1186, @@ -15980,7 +16282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1186, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -16026,7 +16329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 1189, @@ -16046,7 +16350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -16127,7 +16432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 1194, @@ -16147,7 +16453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 484, - "is_pure": false + "is_pure": false, + "text": "startAddLPBlock" }, "type_description": { "type_identifier": "t_bool", @@ -16220,7 +16527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1201, @@ -16240,7 +16548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1201, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -16289,7 +16598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1203, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1204, @@ -16309,7 +16619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 490, - "is_pure": false + "is_pure": false, + "text": "_mainPair" }, "type_description": { "type_identifier": "t_bool", @@ -16383,7 +16694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 484, - "is_pure": false + "is_pure": false, + "text": "startAddLPBlock" }, "right_expression": { "id": 1209, @@ -16426,14 +16738,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "number", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.number" }, "type_description": { "type_identifier": "t_uint256", @@ -16443,7 +16757,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "startAddLPBlock=block.number;" } ] } @@ -16494,7 +16809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 490, - "is_pure": false + "is_pure": false, + "text": "_mainPair" }, "right_expression": { "id": 1214, @@ -16514,7 +16830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1214, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_bool", @@ -16576,7 +16893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1176, - "is_pure": false + "is_pure": false, + "text": "isAddLP" }, "right_expression": { "id": 1219, @@ -16615,7 +16933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -16636,7 +16955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isAddLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -16651,7 +16971,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "isAddLP=_isAddLiquidity(amount);" } ] } @@ -16726,7 +17047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1228, @@ -16746,7 +17068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1228, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -16815,7 +17138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1232, @@ -16835,7 +17159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -16928,7 +17253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 1237, @@ -16948,7 +17274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 481, - "is_pure": false + "is_pure": false, + "text": "startTradeBlock" }, "type_description": { "type_identifier": "t_bool", @@ -17024,7 +17351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 487, - "is_pure": false + "is_pure": false, + "text": "startALBlock" }, "right_expression": { "id": 1244, @@ -17046,7 +17374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17096,7 +17425,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 394, - "is_pure": false + "is_pure": false, + "text": "_ALList" }, "base_expression": { "id": 1248, @@ -17116,7 +17446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1248, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -17233,7 +17564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1252, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1253, @@ -17259,7 +17591,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1254, @@ -17289,7 +17622,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" }, { "id": 1255, @@ -17323,7 +17657,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "takeFee" }, { "id": 1256, @@ -17361,7 +17696,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "isAddLP" }, { "id": 1257, @@ -17403,7 +17739,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "isRemoveLP" } ], "expression": { @@ -17424,7 +17761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_tokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bool$_t_bool$_t_bool$", @@ -17498,7 +17836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "_limitAmount" }, "right_expression": { "id": 1265, @@ -17520,7 +17859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -17574,7 +17914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 1269, @@ -17594,7 +17935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1269, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -17675,7 +18017,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1273, @@ -17695,7 +18038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1273, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -17798,7 +18142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "_limitAmount" }, "right_expression": { "id": 1279, @@ -17837,7 +18182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1281, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -17858,7 +18204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17896,7 +18243,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Limit\"" } ], "expression": { @@ -17917,7 +18265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17970,7 +18319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1285, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 1286, @@ -18009,7 +18359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -18055,7 +18406,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18110,7 +18462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1176, - "is_pure": false + "is_pure": false, + "text": "isAddLP" }, "body": { "id": 1293, @@ -18163,7 +18516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1296, - "is_pure": false + "is_pure": false, + "text": "from" } ], "expression": { @@ -18184,7 +18538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "addHolder" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18366,13 +18721,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)private{uint256balance=balanceOf(from);require(balance\u003e=amount,\"balanceNotEnough\");booltakeFee;if(!_feeWhiteList[from]\u0026\u0026!_feeWhiteList[to]){uint256maxSellAmount=balance*99999/100000;if(amount\u003emaxSellAmount){amount=maxSellAmount;}takeFee=true;if(_txLimitAmount\u003e0){require(_txLimitAmount\u003e=amount,\"txLimit\");}addressad;uint256len=_airdropLen;uint256airdropAmount=_airdropAmount;uint256blockTime=block.timestamp;for(uint256i=0;i\u003clen;i++){ad=address(uint160(uint(keccak256(abi.encode(i,amount,blockTime)))));_funTransfer(from,ad,airdropAmount,0);amount-=airdropAmount;}}boolisAddLP;boolisRemoveLP;if(_swapPairList[from]||_swapPairList[to]){if(0==startAddLPBlock){if(_feeWhiteList[from]\u0026\u0026to==_mainPair){startAddLPBlock=block.number;}}if(_mainPair==to){isAddLP=_isAddLiquidity(amount);}elseif(_mainPair==from){isRemoveLP=_isRemoveLiquidity();}if(!_feeWhiteList[from]\u0026\u0026!_feeWhiteList[to]){if(0==startTradeBlock){if(startALBlock\u003e0\u0026\u0026(_ALList[to])){}else{require(0\u003cstartAddLPBlock\u0026\u0026isAddLP,\"!Trade\");}}else{if(!isAddLP\u0026\u0026!isRemoveLP\u0026\u0026block.number\u003cstartTradeBlock+_killBlock){_funTransfer(from,to,amount,99);return;}}}}_tokenTransfer(from,to,amount,takeFee,isAddLP,isRemoveLP);if(_limitAmount\u003e0\u0026\u0026!_swapPairList[to]\u0026\u0026!_feeWhiteList[to]){require(_limitAmount\u003e=balanceOf(to),\"Limit\");}if(from!=address(this)){if(isAddLP){addHolder(from);}elseif(!_feeWhiteList[from]){processReward(500000);}}}" }, { "id": 1298, @@ -18527,7 +18883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mainPair" } ], "expression": { @@ -18548,7 +18905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18716,14 +19074,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1306, - "is_pure": false + "is_pure": false, + "text": "mainPair" }, "member_name": "getReserves", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapPair_$187", "type_string": "contract ISwapPair" - } + }, + "text": "mainPair.getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -18810,7 +19170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" } }, { @@ -18978,7 +19339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1321, - "is_pure": false + "is_pure": false, + "text": "tokenOther" }, "right_expression": { "id": 1334, @@ -19017,7 +19379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -19063,7 +19426,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -19130,7 +19494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1325, - "is_pure": false + "is_pure": false, + "text": "r" }, "right_expression": { "id": 1342, @@ -19150,7 +19515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "r0" }, "type_description": { "type_identifier": "t_uint256", @@ -19160,7 +19526,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "r=r0;" }, { "id": 1343, @@ -19203,7 +19570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1328, - "is_pure": false + "is_pure": false, + "text": "rToken" }, "right_expression": { "id": 1346, @@ -19223,7 +19591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "r1" }, "type_description": { "type_identifier": "t_uint256", @@ -19233,7 +19602,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "rToken=r1;" } ] } @@ -19354,7 +19724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1306, - "is_pure": false + "is_pure": false, + "text": "mainPair" } ], "expression": { @@ -19400,7 +19771,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -19468,7 +19840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1321, - "is_pure": false + "is_pure": false, + "text": "tokenOther" } ], "expression": { @@ -19489,7 +19862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -19501,7 +19875,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(tokenOther).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -19552,7 +19927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1328, - "is_pure": false + "is_pure": false, + "text": "rToken" }, "right_expression": { "id": 1362, @@ -19574,7 +19950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -19636,7 +20013,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1303, - "is_pure": false + "is_pure": false, + "text": "isAdd" }, "right_expression": { "id": 1367, @@ -19670,7 +20048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1347, - "is_pure": false + "is_pure": false, + "text": "bal" }, "right_expression": { "id": 1369, @@ -19690,7 +20069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1325, - "is_pure": false + "is_pure": false, + "text": "r" }, "type_description": { "type_identifier": "t_bool", @@ -19705,7 +20085,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "isAdd=bal\u003er;" } ] } @@ -19842,7 +20223,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_isAddLiquidity(uint256amount)internalviewreturns(boolisAdd){ISwapPairmainPair=ISwapPair(_mainPair);(uintr0,uint256r1,)=mainPair.getReserves();addresstokenOther=_usdt;uint256r;uint256rToken;if(tokenOther\u003caddress(this)){r=r0;rToken=r1;}else{r=r1;rToken=r0;}uintbal=IERC20(tokenOther).balanceOf(address(mainPair));if(rToken==0){isAdd=bal\u003er;}else{isAdd=bal\u003e=r+r*amount/rToken;}}" }, { "id": 1371, @@ -19997,7 +20379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mainPair" } ], "expression": { @@ -20018,7 +20401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -20186,14 +20570,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1379, - "is_pure": false + "is_pure": false, + "text": "mainPair" }, "member_name": "getReserves", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapPair_$187", "type_string": "contract ISwapPair" - } + }, + "text": "mainPair.getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -20280,7 +20666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" } }, { @@ -20387,7 +20774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1394, - "is_pure": false + "is_pure": false, + "text": "tokenOther" }, "right_expression": { "id": 1404, @@ -20426,7 +20814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -20472,7 +20861,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -20539,7 +20929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1325, - "is_pure": false + "is_pure": false, + "text": "r" }, "right_expression": { "id": 1412, @@ -20559,7 +20950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "r0" }, "type_description": { "type_identifier": "t_uint256", @@ -20569,7 +20961,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "r=r0;" } ] } @@ -20690,7 +21083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1379, - "is_pure": false + "is_pure": false, + "text": "mainPair" } ], "expression": { @@ -20736,7 +21130,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -20804,7 +21199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1394, - "is_pure": false + "is_pure": false, + "text": "tokenOther" } ], "expression": { @@ -20825,7 +21221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -20837,7 +21234,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(tokenOther).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -20886,7 +21284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1427, - "is_pure": false + "is_pure": false, + "text": "isRemove" }, "right_expression": { "id": 1428, @@ -20920,7 +21319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1398, - "is_pure": false + "is_pure": false, + "text": "r" }, "right_expression": { "id": 1430, @@ -20940,7 +21340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1413, - "is_pure": false + "is_pure": false, + "text": "bal" }, "type_description": { "type_identifier": "t_bool", @@ -20955,7 +21356,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "isRemove=r\u003e=bal;" } ] }, @@ -21089,7 +21491,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "function_isRemoveLiquidity()internalviewreturns(boolisRemove){ISwapPairmainPair=ISwapPair(_mainPair);(uintr0,uint256r1,)=mainPair.getReserves();addresstokenOther=_usdt;uint256r;if(tokenOther\u003caddress(this)){r=r0;}else{r=r1;}uintbal=IERC20(tokenOther).balanceOf(address(mainPair));isRemove=r\u003e=bal;}" }, { "id": 1432, @@ -21178,7 +21581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1448, @@ -21198,7 +21602,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1448, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -21258,7 +21663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1452, @@ -21278,7 +21684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1452, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -21313,7 +21720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1453, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -21328,7 +21736,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[sender]=_balances[sender]-tAmount;" }, { "id": 1454, @@ -21436,7 +21845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1459, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "right_expression": { "id": 1460, @@ -21456,7 +21866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "fee" }, "type_description": { "type_identifier": "t_uint256", @@ -21483,7 +21894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" }, "type_description": { "type_identifier": "t_uint256", @@ -21534,7 +21946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1454, - "is_pure": false + "is_pure": false, + "text": "feeAmount" }, "right_expression": { "id": 1465, @@ -21556,7 +21969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -21622,7 +22036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1469, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1470, @@ -21648,7 +22063,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "fundAddress" }, { "id": 1471, @@ -21678,7 +22094,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "feeAmount" } ], "expression": { @@ -21699,7 +22116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$", @@ -21754,7 +22172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1474, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1475, @@ -21780,7 +22199,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 1476, @@ -21814,7 +22234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1477, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "right_expression": { "id": 1478, @@ -21834,7 +22255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1454, - "is_pure": false + "is_pure": false, + "text": "feeAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -21860,7 +22282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -22079,13 +22502,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_funTransfer(address, address, uint256, uint256)", - "signature": "4316a058", + "signature_raw": "_funTransfer(address,address,uint256,uint256)", + "signature": "f5597dea", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,uint256,uint256)" - } + }, + "text": "function_funTransfer(addresssender,addressrecipient,uint256tAmount,uint256fee)private{_balances[sender]=_balances[sender]-tAmount;uint256feeAmount=tAmount*fee/100;if(feeAmount\u003e0){_takeTransfer(sender,fundAddress,feeAmount);}_takeTransfer(sender,recipient,tAmount-feeAmount);}" }, { "id": 1480, @@ -22174,7 +22598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1500, @@ -22194,7 +22619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1500, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -22254,7 +22680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1504, @@ -22274,7 +22701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1504, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -22309,7 +22737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1505, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -22324,7 +22753,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[sender]=_balances[sender]-tAmount;" }, { "id": 1506, @@ -22416,7 +22846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1510, - "is_pure": false + "is_pure": false, + "text": "takeFee" }, "body": { "id": 1511, @@ -22461,7 +22892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1513, - "is_pure": false + "is_pure": false, + "text": "isAddLP" }, "body": { "id": 1514, @@ -22518,7 +22950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1454, - "is_pure": false + "is_pure": false, + "text": "feeAmount" }, "right_expression": { "id": 1518, @@ -22566,7 +22999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1520, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "right_expression": { "id": 1521, @@ -22586,7 +23020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 517, - "is_pure": false + "is_pure": false, + "text": "_addLPFee" }, "type_description": { "type_identifier": "t_uint256", @@ -22613,7 +23048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10000" }, "type_description": { "type_identifier": "t_uint256", @@ -22628,7 +23064,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "feeAmount=tAmount*_addLPFee/10000;" }, { "id": 1523, @@ -22675,7 +23112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1525, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1526, @@ -22701,7 +23139,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_lpFeeReceiver" }, { "id": 1527, @@ -22731,7 +23170,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "feeAmount" } ], "expression": { @@ -22752,7 +23192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$", @@ -22810,7 +23251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1530, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1531, @@ -22836,7 +23278,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 1532, @@ -22870,7 +23313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1533, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "right_expression": { "id": 1534, @@ -22890,7 +23334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1506, - "is_pure": false + "is_pure": false, + "text": "feeAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -22916,7 +23361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -23221,13 +23667,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_tokenTransfer(address, address, uint256, bool, bool, bool)", - "signature": "357666d8", + "signature_raw": "_tokenTransfer(address,address,uint256,bool,bool,bool)", + "signature": "1cfb26d9", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bool$_t_bool$_t_bool$", "type_string": "function(address,address,uint256,bool,bool,bool)" - } + }, + "text": "function_tokenTransfer(addresssender,addressrecipient,uint256tAmount,booltakeFee,boolisAddLP,boolisRemoveLP)private{_balances[sender]=_balances[sender]-tAmount;uint256feeAmount;if(takeFee){if(isAddLP){feeAmount=tAmount*_addLPFee/10000;_takeTransfer(sender,_lpFeeReceiver,feeAmount);}elseif(isRemoveLP){feeAmount=tAmount*_removeLPFee/10000;_takeTransfer(sender,_lpFeeReceiver,feeAmount);}elseif(_swapPairList[sender]){uint256destroyFeeAmount=tAmount*_buyDestroyFee/10000;if(destroyFeeAmount\u003e0){uint256destroyAmount=destroyFeeAmount;uint256currentTotal=totalSupply();uint256maxDestroyAmount;if(currentTotal\u003e_minTotal){maxDestroyAmount=currentTotal-_minTotal;}if(destroyAmount\u003emaxDestroyAmount){destroyAmount=maxDestroyAmount;}if(destroyAmount\u003e0){feeAmount+=destroyAmount;_takeTransfer(sender,address(0x6D5620aF4c14c39f346aadCd116BC49ECe5AF54D),destroyAmount);}}uint256fundAmount=tAmount*(_buyFundFee+_buyFundFee2+_buyFundFee3+_buyLPDividendFee+_buyLPFee)/10000;if(fundAmount\u003e0){feeAmount+=fundAmount;_takeTransfer(sender,address(this),fundAmount);}}elseif(_swapPairList[recipient]){uint256destroyFeeAmount=tAmount*_sellDestroyFee/10000;if(destroyFeeAmount\u003e0){uint256destroyAmount=destroyFeeAmount;uint256currentTotal=totalSupply();uint256maxDestroyAmount;if(currentTotal\u003e_minTotal){maxDestroyAmount=currentTotal-_minTotal;}if(destroyAmount\u003emaxDestroyAmount){destroyAmount=maxDestroyAmount;}if(destroyAmount\u003e0){feeAmount+=destroyAmount;_takeTransfer(sender,address(0x6D5620aF4c14c39f346aadCd116BC49ECe5AF54D),destroyAmount);}}uint256fundAmount=tAmount*(_sellFundFee+_sellFundFee2+_sellFundFee3+_sellLPDividendFee+_sellLPFee)/10000;if(fundAmount\u003e0){feeAmount+=fundAmount;_takeTransfer(sender,address(this),fundAmount);}if(!inSwap){uint256contractTokenBalance=balanceOf(address(this));if(contractTokenBalance\u003e0){uint256numTokensSellToFund=fundAmount*230/100;if(numTokensSellToFund\u003econtractTokenBalance){numTokensSellToFund=contractTokenBalance;}swapTokenForFund(numTokensSellToFund);}}}else{addresstokenDistributor=address(_tokenDistributor);feeAmount=tAmount*_transferFee/10000;if(feeAmount\u003e0){_takeTransfer(sender,tokenDistributor,feeAmount);if(startTradeBlock\u003e0\u0026\u0026!inSwap){uint256swapAmount=2*feeAmount;uint256contractTokenBalance=balanceOf(tokenDistributor);if(swapAmount\u003econtractTokenBalance){swapAmount=contractTokenBalance;}_tokenTransfer(tokenDistributor,address(this),swapAmount,false,false,false);swapTokenForFund2(swapAmount);}}}}_takeTransfer(sender,recipient,tAmount-feeAmount);}" }, { "id": 1536, @@ -23309,7 +23756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 1547, @@ -23329,7 +23777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1547, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "type_description": { "type_identifier": "t_bool", @@ -23459,7 +23908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 433, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee" }, "right_expression": { "id": 1555, @@ -23479,7 +23929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 457, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee" }, "type_description": { "type_identifier": "t_rational_400_by_1", @@ -23579,7 +24030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee2" }, "right_expression": { "id": 1561, @@ -23599,7 +24051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 461, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -23699,7 +24152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 441, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee3" }, "right_expression": { "id": 1567, @@ -23719,7 +24173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee3" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -23819,7 +24274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 445, - "is_pure": false + "is_pure": false, + "text": "_buyLPDividendFee" }, "right_expression": { "id": 1573, @@ -23839,7 +24295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "_sellLPDividendFee" }, "type_description": { "type_identifier": "t_rational_100_by_1", @@ -23939,7 +24396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 449, - "is_pure": false + "is_pure": false, + "text": "_buyLPFee" }, "right_expression": { "id": 1579, @@ -23959,7 +24417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "_sellLPFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -24101,7 +24560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1550, - "is_pure": false + "is_pure": false, + "text": "fundFee" }, "right_expression": { "id": 1588, @@ -24121,7 +24581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1556, - "is_pure": false + "is_pure": false, + "text": "fundFee2" }, "type_description": { "type_identifier": "t_uint256", @@ -24146,7 +24607,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1562, - "is_pure": false + "is_pure": false, + "text": "fundFee3" }, "type_description": { "type_identifier": "t_uint256", @@ -24171,7 +24633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1568, - "is_pure": false + "is_pure": false, + "text": "lpDividendFee" }, "type_description": { "type_identifier": "t_uint256", @@ -24196,7 +24659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1574, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_uint256", @@ -24245,7 +24709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "right_expression": { "id": 1595, @@ -24265,7 +24730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -24275,7 +24741,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalFee+=totalFee;" }, { "id": 1596, @@ -24383,7 +24850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1601, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "right_expression": { "id": 1602, @@ -24403,7 +24871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1574, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_uint256", @@ -24428,7 +24897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -24477,7 +24947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "right_expression": { "id": 1607, @@ -24497,7 +24968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1574, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_uint256", @@ -24507,7 +24979,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalFee-=lpFee;" }, { "id": 1608, @@ -24608,7 +25081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "expression": { @@ -24731,7 +25205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" } }, { @@ -24786,7 +25261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1608, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1623, @@ -24808,7 +25284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -24862,7 +25339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -24908,7 +25386,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24923,7 +25402,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 1628, @@ -24977,7 +25457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1608, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1632, @@ -24999,7 +25480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -25034,7 +25516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1615, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -25044,7 +25527,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=usdt;" }, { "id": 1634, @@ -25144,7 +25628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_tokenDistributor" } ], "expression": { @@ -25190,7 +25675,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -25265,7 +25751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1645, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "right_expression": { "id": 1646, @@ -25285,7 +25772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1596, - "is_pure": false + "is_pure": false, + "text": "lpAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -25318,7 +25806,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 1648, @@ -25348,7 +25837,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 1649, @@ -25382,7 +25872,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenDistributor" }, { "id": 1650, @@ -25425,7 +25916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -25449,7 +25941,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -25493,14 +25986,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "_swapRouter" }, "member_name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_address$_t_uint256$", @@ -25625,7 +26120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1615, - "is_pure": false + "is_pure": false, + "text": "usdt" } ], "expression": { @@ -25646,7 +26142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25751,7 +26248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1634, - "is_pure": false + "is_pure": false, + "text": "tokenDistributor" } ], "expression": { @@ -25795,14 +26293,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25855,7 +26355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1634, - "is_pure": false + "is_pure": false, + "text": "tokenDistributor" }, { "id": 1670, @@ -25894,7 +26395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -25940,7 +26442,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25975,7 +26478,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "usdtBalance" } ], "expression": { @@ -26019,14 +26523,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -26153,7 +26659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "usdtBalance" }, "right_expression": { "id": 1682, @@ -26173,7 +26680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1550, - "is_pure": false + "is_pure": false, + "text": "fundFee" }, "type_description": { "type_identifier": "t_uint256", @@ -26200,7 +26708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -26225,7 +26734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -26276,7 +26786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1675, - "is_pure": false + "is_pure": false, + "text": "fundUsdt" }, "right_expression": { "id": 1688, @@ -26298,7 +26809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -26360,7 +26872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "fundAddress" }, { "id": 1694, @@ -26386,7 +26899,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "fundUsdt" } ], "expression": { @@ -26430,14 +26944,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -26567,7 +27083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "usdtBalance" }, "right_expression": { "id": 1702, @@ -26587,7 +27104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1562, - "is_pure": false + "is_pure": false, + "text": "fundFee3" }, "type_description": { "type_identifier": "t_uint256", @@ -26614,7 +27132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -26639,7 +27158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -26690,7 +27210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "fundUsdt3" }, "right_expression": { "id": 1708, @@ -26712,7 +27233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -26774,7 +27296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "fundAddress3" }, { "id": 1714, @@ -26800,7 +27323,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "fundUsdt3" } ], "expression": { @@ -26844,14 +27368,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -26981,7 +27507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "usdtBalance" }, "right_expression": { "id": 1722, @@ -27001,7 +27528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1556, - "is_pure": false + "is_pure": false, + "text": "fundFee2" }, "type_description": { "type_identifier": "t_uint256", @@ -27028,7 +27556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -27053,7 +27582,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -27104,7 +27634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1715, - "is_pure": false + "is_pure": false, + "text": "fundUsdt2" }, "right_expression": { "id": 1728, @@ -27126,7 +27657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -27188,7 +27720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "fundAddress2" }, { "id": 1734, @@ -27214,7 +27747,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "fundUsdt2" } ], "expression": { @@ -27258,14 +27792,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -27381,7 +27917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "usdtBalance" }, "right_expression": { "id": 1741, @@ -27401,7 +27938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1574, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_uint256", @@ -27426,7 +27964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -27477,7 +28016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1735, - "is_pure": false + "is_pure": false, + "text": "lpUsdt" }, "right_expression": { "id": 1746, @@ -27499,7 +28039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -27604,7 +28145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -27650,7 +28192,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27681,7 +28224,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "usdt" }, { "id": 1756, @@ -27711,7 +28255,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$", "type_string": "function(function(address))" } - ] + ], + "text": "lpAmount" }, { "id": 1757, @@ -27745,7 +28290,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_function_$_t_function_$_t_address$$$", "type_string": "function(function(address),function(function(address)))" } - ] + ], + "text": "lpUsdt" }, { "id": 1758, @@ -27785,7 +28331,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_function_$_t_function_$_t_address$$$$_t_function_$_t_function_$_t_address$$$_t_function_$_t_function_$_t_address$$$$", "type_string": "function(function(address),function(function(address)),function(function(address),function(function(address))))" } - ] + ], + "text": "0" }, { "id": 1759, @@ -27829,7 +28376,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "0" }, { "id": 1760, @@ -27875,7 +28423,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "_receiveAddress" }, { "id": 1761, @@ -27918,7 +28467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -27954,7 +28504,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -27998,14 +28549,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "_swapRouter" }, "member_name": "addLiquidity", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "_swapRouter.addLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_rational_0_by_1$_t_rational_0_by_1$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_rational_0_by_1$_t_rational_0_by_1$_t_uint256$", @@ -28132,7 +28685,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapTokenForFund(uint256tokenAmount)privatelockTheSwap{if(0==tokenAmount){return;}uint256fundFee=_buyFundFee+_sellFundFee;uint256fundFee2=_buyFundFee2+_sellFundFee2;uint256fundFee3=_buyFundFee3+_sellFundFee3;uint256lpDividendFee=_buyLPDividendFee+_sellLPDividendFee;uint256lpFee=_buyLPFee+_sellLPFee;uint256totalFee=fundFee+fundFee2+fundFee3+lpDividendFee+lpFee;totalFee+=totalFee;uint256lpAmount=tokenAmount*lpFee/totalFee;totalFee-=lpFee;address[]memorypath=newaddress[](2);addressusdt=_usdt;path[0]=address(this);path[1]=usdt;addresstokenDistributor=address(_tokenDistributor);_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount-lpAmount,0,path,tokenDistributor,block.timestamp);IERC20USDT=IERC20(usdt);uint256usdtBalance=USDT.balanceOf(tokenDistributor);USDT.transferFrom(tokenDistributor,address(this),usdtBalance);uint256fundUsdt=usdtBalance*fundFee*2/totalFee;if(fundUsdt\u003e0){USDT.transfer(fundAddress,fundUsdt);}uint256fundUsdt3=usdtBalance*fundFee3*2/totalFee;if(fundUsdt3\u003e0){USDT.transfer(fundAddress3,fundUsdt3);}uint256fundUsdt2=usdtBalance*fundFee2*2/totalFee;if(fundUsdt2\u003e0){USDT.transfer(fundAddress2,fundUsdt2);}uint256lpUsdt=usdtBalance*lpFee/totalFee;if(lpUsdt\u003e0){_swapRouter.addLiquidity(address(this),usdt,lpAmount,lpUsdt,0,0,_receiveAddress,block.timestamp);}}" }, { "id": 1764, @@ -28214,7 +28768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 1775, @@ -28234,7 +28789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1775, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "type_description": { "type_identifier": "t_bool", @@ -28371,7 +28927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "expression": { @@ -28494,7 +29051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" } }, { @@ -28549,7 +29107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1778, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1793, @@ -28571,7 +29130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -28625,7 +29185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -28671,7 +29232,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28686,7 +29248,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 1798, @@ -28740,7 +29303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1778, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1802, @@ -28762,7 +29326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -28797,7 +29362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1785, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -28807,7 +29373,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=usdt;" }, { "id": 1804, @@ -28862,7 +29429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1807, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, { "id": 1808, @@ -28890,7 +29458,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 1809, @@ -28920,7 +29489,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 1810, @@ -28954,7 +29524,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "fundAddress" }, { "id": 1811, @@ -28997,7 +29568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -29021,7 +29593,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -29065,14 +29638,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "_swapRouter" }, "member_name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -29196,7 +29771,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapTokenForFund2(uint256tokenAmount)privatelockTheSwap{if(0==tokenAmount){return;}address[]memorypath=newaddress[](2);addressusdt=_usdt;path[0]=address(this);path[1]=usdt;_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,fundAddress,block.timestamp);}" }, { "id": 1814, @@ -29285,7 +29861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1828, @@ -29305,7 +29882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1828, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -29365,7 +29943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1832, @@ -29385,7 +29964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1832, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -29420,7 +30000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1833, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -29435,7 +30016,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]=_balances[to]+tAmount;" }, { "id": 1834, @@ -29467,7 +30049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1835, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1836, @@ -29487,7 +30070,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1836, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1837, @@ -29507,7 +30091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1837, - "is_pure": false + "is_pure": false, + "text": "tAmount" } ], "expression": { @@ -29528,7 +30113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 102, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -29700,13 +30286,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_takeTransfer(address, address, uint256)", - "signature": "e94461bc", + "signature_raw": "_takeTransfer(address,address,uint256)", + "signature": "7a598af9", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_takeTransfer(addresssender,addressto,uint256tAmount)private{_balances[to]=_balances[to]+tAmount;emitTransfer(sender,to,tAmount);}" }, { "id": 1840, @@ -29784,7 +30371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 371, - "is_pure": false + "is_pure": false, + "text": "fundAddress" }, "right_expression": { "id": 1851, @@ -29804,7 +30392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1851, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_description": { "type_identifier": "t_address", @@ -29814,7 +30403,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress=addr;" }, { "id": 1852, @@ -29868,7 +30458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1856, @@ -29888,7 +30479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1856, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -29925,7 +30517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -29935,7 +30528,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[addr]=true;" } ] }, @@ -30055,7 +30649,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFundAddress(addressaddr)externalonlyOwner{fundAddress=addr;_feeWhiteList[addr]=true;}" }, { "id": 1859, @@ -30133,7 +30728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 374, - "is_pure": false + "is_pure": false, + "text": "fundAddress2" }, "right_expression": { "id": 1870, @@ -30153,7 +30749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1870, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_description": { "type_identifier": "t_address", @@ -30163,7 +30760,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress2=addr;" }, { "id": 1871, @@ -30217,7 +30815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1875, @@ -30237,7 +30836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1875, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -30274,7 +30874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -30284,7 +30885,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[addr]=true;" } ] }, @@ -30404,7 +31006,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFundAddress2(addressaddr)externalonlyOwner{fundAddress2=addr;_feeWhiteList[addr]=true;}" }, { "id": 1878, @@ -30482,7 +31085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 377, - "is_pure": false + "is_pure": false, + "text": "fundAddress3" }, "right_expression": { "id": 1889, @@ -30502,7 +31106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1889, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_description": { "type_identifier": "t_address", @@ -30512,7 +31117,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress3=addr;" }, { "id": 1890, @@ -30566,7 +31172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1894, @@ -30586,7 +31193,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1894, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -30623,7 +31231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -30633,7 +31242,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[addr]=true;" } ] }, @@ -30753,7 +31363,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFundAddress3(addressaddr)externalonlyOwner{fundAddress3=addr;_feeWhiteList[addr]=true;}" }, { "id": 1897, @@ -30831,7 +31442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_receiveAddress" }, "right_expression": { "id": 1908, @@ -30851,7 +31463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_description": { "type_identifier": "t_address", @@ -30861,7 +31474,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_receiveAddress=addr;" }, { "id": 1909, @@ -30915,7 +31529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1913, @@ -30935,7 +31550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -30972,7 +31588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -30982,7 +31599,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[addr]=true;" } ] }, @@ -31102,7 +31720,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetReceiveAddress(addressaddr)externalonlyOwner{_receiveAddress=addr;_feeWhiteList[addr]=true;}" }, { "id": 1916, @@ -31180,7 +31799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 429, - "is_pure": false + "is_pure": false, + "text": "_buyDestroyFee" }, "right_expression": { "id": 1937, @@ -31200,7 +31820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1937, - "is_pure": false + "is_pure": false, + "text": "buyDestroyFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -31210,7 +31831,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_buyDestroyFee=buyDestroyFee;" }, { "id": 1938, @@ -31253,7 +31875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 433, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee" }, "right_expression": { "id": 1941, @@ -31273,7 +31896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1941, - "is_pure": false + "is_pure": false, + "text": "buyFundFee" }, "type_description": { "type_identifier": "t_rational_400_by_1", @@ -31283,7 +31907,8 @@ "type_description": { "type_identifier": "t_rational_400_by_1", "type_string": "int_const 400" - } + }, + "text": "_buyFundFee=buyFundFee;" }, { "id": 1942, @@ -31326,7 +31951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee2" }, "right_expression": { "id": 1945, @@ -31346,7 +31972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1945, - "is_pure": false + "is_pure": false, + "text": "buyFundFee2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -31356,7 +31983,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_buyFundFee2=buyFundFee2;" }, { "id": 1946, @@ -31399,7 +32027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 441, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee3" }, "right_expression": { "id": 1949, @@ -31419,7 +32048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1949, - "is_pure": false + "is_pure": false, + "text": "buyFundFee3" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -31429,7 +32059,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_buyFundFee3=buyFundFee3;" }, { "id": 1950, @@ -31472,7 +32103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 445, - "is_pure": false + "is_pure": false, + "text": "_buyLPDividendFee" }, "right_expression": { "id": 1953, @@ -31492,7 +32124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1953, - "is_pure": false + "is_pure": false, + "text": "lpDividendFee" }, "type_description": { "type_identifier": "t_rational_100_by_1", @@ -31502,7 +32135,8 @@ "type_description": { "type_identifier": "t_rational_100_by_1", "type_string": "int_const 100" - } + }, + "text": "_buyLPDividendFee=lpDividendFee;" }, { "id": 1954, @@ -31545,7 +32179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 449, - "is_pure": false + "is_pure": false, + "text": "_buyLPFee" }, "right_expression": { "id": 1957, @@ -31565,7 +32200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1957, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -31575,7 +32211,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_buyLPFee=lpFee;" } ] }, @@ -31903,13 +32540,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setBuyFee(uint256, uint256, uint256, uint256, uint256, uint256)", - "signature": "ec463e30", + "signature_raw": "setBuyFee(uint256,uint256,uint256,uint256,uint256,uint256)", + "signature": "c0600af3", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256,uint256,uint256,uint256)" - } + }, + "text": "functionsetBuyFee(uint256buyDestroyFee,uint256buyFundFee,uint256buyFundFee2,uint256buyFundFee3,uint256lpDividendFee,uint256lpFee)externalonlyOwner{_buyDestroyFee=buyDestroyFee;_buyFundFee=buyFundFee;_buyFundFee2=buyFundFee2;_buyFundFee3=buyFundFee3;_buyLPDividendFee=lpDividendFee;_buyLPFee=lpFee;}" }, { "id": 1959, @@ -31987,7 +32625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 453, - "is_pure": false + "is_pure": false, + "text": "_sellDestroyFee" }, "right_expression": { "id": 1980, @@ -32007,7 +32646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1980, - "is_pure": false + "is_pure": false, + "text": "sellDestroyFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -32017,7 +32657,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_sellDestroyFee=sellDestroyFee;" }, { "id": 1981, @@ -32060,7 +32701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 457, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee" }, "right_expression": { "id": 1984, @@ -32080,7 +32722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1984, - "is_pure": false + "is_pure": false, + "text": "sellFundFee" }, "type_description": { "type_identifier": "t_rational_400_by_1", @@ -32090,7 +32733,8 @@ "type_description": { "type_identifier": "t_rational_400_by_1", "type_string": "int_const 400" - } + }, + "text": "_sellFundFee=sellFundFee;" }, { "id": 1985, @@ -32133,7 +32777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 461, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee2" }, "right_expression": { "id": 1988, @@ -32153,7 +32798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1988, - "is_pure": false + "is_pure": false, + "text": "sellFundFee2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -32163,7 +32809,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_sellFundFee2=sellFundFee2;" }, { "id": 1989, @@ -32206,7 +32853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee3" }, "right_expression": { "id": 1992, @@ -32226,7 +32874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1992, - "is_pure": false + "is_pure": false, + "text": "sellFundFee3" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -32236,7 +32885,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_sellFundFee3=sellFundFee3;" }, { "id": 1993, @@ -32279,7 +32929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "_sellLPDividendFee" }, "right_expression": { "id": 1996, @@ -32299,7 +32950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1996, - "is_pure": false + "is_pure": false, + "text": "lpDividendFee" }, "type_description": { "type_identifier": "t_rational_100_by_1", @@ -32309,7 +32961,8 @@ "type_description": { "type_identifier": "t_rational_100_by_1", "type_string": "int_const 100" - } + }, + "text": "_sellLPDividendFee=lpDividendFee;" }, { "id": 1997, @@ -32352,7 +33005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "_sellLPFee" }, "right_expression": { "id": 2000, @@ -32372,7 +33026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2000, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -32382,7 +33037,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_sellLPFee=lpFee;" } ] }, @@ -32710,13 +33366,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setSellFee(uint256, uint256, uint256, uint256, uint256, uint256)", - "signature": "2c702ef5", + "signature_raw": "setSellFee(uint256,uint256,uint256,uint256,uint256,uint256)", + "signature": "d3466488", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256,uint256,uint256,uint256)" - } + }, + "text": "functionsetSellFee(uint256sellDestroyFee,uint256sellFundFee,uint256sellFundFee2,uint256sellFundFee3,uint256lpDividendFee,uint256lpFee)externalonlyOwner{_sellDestroyFee=sellDestroyFee;_sellFundFee=sellFundFee;_sellFundFee2=sellFundFee2;_sellFundFee3=sellFundFee3;_sellLPDividendFee=lpDividendFee;_sellLPFee=lpFee;}" }, { "id": 2002, @@ -32794,7 +33451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 477, - "is_pure": false + "is_pure": false, + "text": "_transferFee" }, "right_expression": { "id": 2013, @@ -32814,7 +33472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2013, - "is_pure": false + "is_pure": false, + "text": "fee" }, "type_description": { "type_identifier": "t_rational_9999_by_1", @@ -32824,7 +33483,8 @@ "type_description": { "type_identifier": "t_rational_9999_by_1", "type_string": "int_const 9999" - } + }, + "text": "_transferFee=fee;" } ] }, @@ -32943,7 +33603,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetTransferFee(uint256fee)externalonlyOwner{_transferFee=fee;}" }, { "id": 2015, @@ -33037,7 +33698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 2025, @@ -33057,7 +33719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 487, - "is_pure": false + "is_pure": false, + "text": "startALBlock" }, "type_description": { "type_identifier": "t_bool", @@ -33090,7 +33753,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"startAL\"" } ], "expression": { @@ -33111,7 +33775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -33159,7 +33824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 487, - "is_pure": false + "is_pure": false, + "text": "startALBlock" }, "right_expression": { "id": 2030, @@ -33202,14 +33868,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "number", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.number" }, "type_description": { "type_identifier": "t_uint256", @@ -33219,7 +33887,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "startALBlock=block.number;" } ] }, @@ -33293,7 +33962,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstartAL()externalonlyOwner{require(0==startALBlock,\"startAL\");startALBlock=block.number;}" }, { "id": 2033, @@ -33387,7 +34057,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 2043, @@ -33407,7 +34078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 481, - "is_pure": false + "is_pure": false, + "text": "startTradeBlock" }, "type_description": { "type_identifier": "t_bool", @@ -33440,7 +34112,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"trading\"" } ], "expression": { @@ -33461,7 +34134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -33509,7 +34183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 481, - "is_pure": false + "is_pure": false, + "text": "startTradeBlock" }, "right_expression": { "id": 2048, @@ -33552,14 +34227,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "number", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.number" }, "type_description": { "type_identifier": "t_uint256", @@ -33569,7 +34246,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "startTradeBlock=block.number;" } ] }, @@ -33643,7 +34321,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstartTrade()externalonlyOwner{require(0==startTradeBlock,\"trading\");startTradeBlock=block.number;}" }, { "id": 2051, @@ -33732,7 +34411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 2065, @@ -33752,7 +34432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2065, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -33787,7 +34468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2066, - "is_pure": false + "is_pure": false, + "text": "enable" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -33797,7 +34479,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_swapPairList[addr]=enable;" } ] }, @@ -33954,13 +34637,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setSwapPairList(address, bool)", - "signature": "60d2393f", + "signature_raw": "setSwapPairList(address,bool)", + "signature": "a8424861", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetSwapPairList(addressaddr,boolenable)externalonlyOwner{_swapPairList[addr]=enable;}" }, { "id": 2068, @@ -34037,7 +34721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 2075, @@ -34080,14 +34765,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -34197,7 +34884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -34243,7 +34931,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -34255,7 +34944,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } ], "expression": { @@ -34311,7 +35001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 371, - "is_pure": false + "is_pure": false, + "text": "fundAddress" } ], "argument_types": [ @@ -34331,7 +35022,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(fundAddress).transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -34383,7 +35075,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionclaimBalance()external{if(_feeWhiteList[msg.sender]){payable(fundAddress).transfer(address(this).balance);}}" }, { "id": 2088, @@ -34460,7 +35153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 2099, @@ -34503,14 +35197,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -34582,7 +35278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "fundAddress" }, { "id": 2108, @@ -34608,7 +35305,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" } ], "expression": { @@ -34671,7 +35369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2106, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -34692,7 +35391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -34704,7 +35404,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(token).transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -34839,13 +35540,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "claimToken(address, uint256)", - "signature": "0f114998", + "signature_raw": "claimToken(address,uint256)", + "signature": "1698755f", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionclaimToken(addresstoken,uint256amount)external{if(_feeWhiteList[msg.sender]){IERC20(token).transfer(fundAddress,amount);}}" }, { "id": 2110, @@ -34923,7 +35625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "_limitAmount" }, "right_expression": { "id": 2121, @@ -34957,7 +35660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2122, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2124, @@ -34990,7 +35694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 2126, @@ -35010,7 +35715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_descriptions": [ { @@ -35036,7 +35742,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_limitAmount=amount*10**_decimals;" } ] }, @@ -35155,7 +35862,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetLimitAmount(uint256amount)externalonlyOwner{_limitAmount=amount*10**_decimals;}" }, { "id": 2128, @@ -35233,7 +35941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "_txLimitAmount" }, "right_expression": { "id": 2139, @@ -35267,7 +35976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2140, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2142, @@ -35300,7 +36010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 2144, @@ -35320,7 +36031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_descriptions": [ { @@ -35346,7 +36058,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_txLimitAmount=amount*10**_decimals;" } ] }, @@ -35465,7 +36178,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetTxLimitAmount(uint256amount)externalonlyOwner{_txLimitAmount=amount*10**_decimals;}" }, { "id": 2146, @@ -35606,7 +36320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "_minTotal" }, "right_expression": { "id": 2162, @@ -35640,7 +36355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2163, - "is_pure": false + "is_pure": false, + "text": "total" }, "right_expression": { "id": 2165, @@ -35673,7 +36389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 2167, @@ -35693,7 +36410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_descriptions": [ { @@ -35719,7 +36437,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_minTotal=total*10**_decimals;" } ] }, @@ -35838,7 +36557,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetMinTotal(uint256total)externalonlyOwner{_minTotal=total*10**_decimals;}" }, { "id": 2169, @@ -35906,7 +36626,7 @@ "mutability": 1, "type_name": { "id": 2173, - "node_type": 0, + "node_type": 53, "src": { "line": 674, "column": 4, @@ -35999,7 +36719,7 @@ "mutability": 1, "type_name": { "id": 2178, - "node_type": 0, + "node_type": 53, "src": { "line": 675, "column": 4, @@ -36156,14 +36876,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.length" } } ] @@ -36298,7 +37020,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetHolderLength()publicviewreturns(uint256){returnholders.length;}" }, { "id": 2194, @@ -36380,7 +37103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 2203, @@ -36411,7 +37135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2172, - "is_pure": false + "is_pure": false, + "text": "holderIndex" }, "base_expression": { "id": 2205, @@ -36431,7 +37156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2205, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_descriptions": [ { @@ -36526,7 +37252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 2211, @@ -36569,14 +37296,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.length" }, "type_description": { "type_identifier": "t_bool", @@ -36626,7 +37355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "base_expression": { "id": 2216, @@ -36648,7 +37378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -36683,7 +37414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2217, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_description": { "type_identifier": "t_bool", @@ -36934,7 +37666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2219, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 2234, @@ -36956,7 +37689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -37046,7 +37780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2172, - "is_pure": false + "is_pure": false, + "text": "holderIndex" }, "base_expression": { "id": 2241, @@ -37066,7 +37801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2241, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_descriptions": [ { @@ -37124,14 +37860,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.length" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -37141,7 +37879,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "holderIndex[adr]=holders.length;" }, { "id": 2244, @@ -37180,7 +37919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2247, - "is_pure": false + "is_pure": false, + "text": "adr" } ], "expression": { @@ -37224,14 +37964,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.push" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -37332,7 +38074,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaddHolder(addressadr)private{if(0==holderIndex[adr]){if(0==holders.length||holders[0]!=adr){uint256size;assembly{size:=extcodesize(adr)}if(size\u003e0){return;}holderIndex[adr]=holders.length;holders.push(adr);}}}" }, { "id": 2249, @@ -37478,7 +38221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -37583,7 +38327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -37722,14 +38467,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "number", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.number" } }, { @@ -37789,7 +38536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2259, - "is_pure": false + "is_pure": false, + "text": "progressRewardBlock" }, "right_expression": { "id": 2281, @@ -37809,7 +38557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2262, - "is_pure": false + "is_pure": false, + "text": "progressRewardBlockDebt" }, "type_description": { "type_identifier": "t_uint256", @@ -37834,7 +38583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2272, - "is_pure": false + "is_pure": false, + "text": "blockNum" }, "type_description": { "type_identifier": "t_bool", @@ -37990,7 +38740,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_usdt" } ], "expression": { @@ -38011,7 +38762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -38135,7 +38887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -38181,7 +38934,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -38230,14 +38984,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2285, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "usdt.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -38288,7 +39044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2292, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 2305, @@ -38308,7 +39065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "holderRewardCondition" }, "type_description": { "type_identifier": "t_bool", @@ -38387,7 +39145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2292, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 2311, @@ -38407,7 +39166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "holderRewardCondition" }, "type_description": { "type_identifier": "t_uint256", @@ -38417,7 +39177,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "balance=holderRewardCondition;" }, { "id": 2312, @@ -38537,7 +39298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mainPair" } ], "expression": { @@ -38558,7 +39320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -38681,14 +39444,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2312, - "is_pure": false + "is_pure": false, + "text": "holdToken" }, "member_name": "totalSupply", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "holdToken.totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -38739,7 +39504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2319, - "is_pure": false + "is_pure": false, + "text": "holdTokenTotal" }, "right_expression": { "id": 2328, @@ -38761,7 +39527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -39084,14 +39851,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.length" } }, { @@ -39174,7 +39943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -39257,7 +40027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -39352,7 +40123,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -39438,7 +40210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2255, - "is_pure": false + "is_pure": false, + "text": "holderCondition" } }, { @@ -39496,7 +40269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2345, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 2366, @@ -39516,7 +40290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2366, - "is_pure": false + "is_pure": false, + "text": "gas" }, "type_description": { "type_identifier": "t_bool", @@ -39555,7 +40330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2349, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "right_expression": { "id": 2369, @@ -39575,7 +40351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2340, - "is_pure": false + "is_pure": false, + "text": "shareholderCount" }, "type_description": { "type_identifier": "t_bool", @@ -39650,7 +40427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2249, - "is_pure": false + "is_pure": false, + "text": "currentIndex" }, "right_expression": { "id": 2374, @@ -39670,7 +40448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2340, - "is_pure": false + "is_pure": false, + "text": "shareholderCount" }, "type_description": { "type_identifier": "t_bool", @@ -39731,7 +40510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2249, - "is_pure": false + "is_pure": false, + "text": "currentIndex" }, "right_expression": { "id": 2379, @@ -39753,7 +40533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_uint256", @@ -39763,7 +40544,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "currentIndex=0;" } ] } @@ -39809,7 +40591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2331, - "is_pure": false + "is_pure": false, + "text": "shareHolder" }, "right_expression": { "id": 2383, @@ -39840,7 +40623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "base_expression": { "id": 2385, @@ -39860,7 +40644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2249, - "is_pure": false + "is_pure": false, + "text": "currentIndex" }, "type_descriptions": [ { @@ -39885,7 +40670,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "shareHolder=holders[currentIndex];" }, { "id": 2386, @@ -39928,7 +40714,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2334, - "is_pure": false + "is_pure": false, + "text": "tokenBalance" }, "right_expression": { "id": 2389, @@ -39967,7 +40754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "shareHolder" } ], "expression": { @@ -40011,14 +40799,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2312, - "is_pure": false + "is_pure": false, + "text": "holdToken" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "holdToken.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -40033,7 +40823,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenBalance=holdToken.balanceOf(shareHolder);" }, { "id": 2393, @@ -40090,7 +40881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2334, - "is_pure": false + "is_pure": false, + "text": "tokenBalance" }, "right_expression": { "id": 2398, @@ -40110,7 +40902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2358, - "is_pure": false + "is_pure": false, + "text": "holdCondition" }, "type_description": { "type_identifier": "t_bool", @@ -40163,7 +40956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2177, - "is_pure": false + "is_pure": false, + "text": "excludeHolder" }, "base_expression": { "id": 2402, @@ -40183,7 +40977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2331, - "is_pure": false + "is_pure": false, + "text": "shareHolder" }, "type_descriptions": [ { @@ -40271,7 +41066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 60, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2407, @@ -40319,7 +41115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 2410, @@ -40339,7 +41136,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2334, - "is_pure": false + "is_pure": false, + "text": "tokenBalance" }, "type_description": { "type_identifier": "t_uint256", @@ -40364,7 +41162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2319, - "is_pure": false + "is_pure": false, + "text": "holdTokenTotal" }, "type_description": { "type_identifier": "t_uint256", @@ -40379,7 +41178,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount=balance*tokenBalance/holdTokenTotal;" }, { "id": 2412, @@ -40424,7 +41224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 60, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2415, @@ -40446,7 +41247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -40507,7 +41309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "shareHolder" }, { "id": 2421, @@ -40533,7 +41336,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" } ], "expression": { @@ -40577,14 +41381,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "usdt.transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -40638,7 +41444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2345, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 2425, @@ -40672,7 +41479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2345, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 2427, @@ -40720,7 +41528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2353, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 2430, @@ -40754,7 +41563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -40785,7 +41595,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed=gasUsed+(gasLeft-gasleft());" }, { "id": 2432, @@ -40828,7 +41639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2353, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 2435, @@ -40862,7 +41674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -40877,7 +41690,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft=gasleft();" }, { "id": 2437, @@ -40909,7 +41723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2249, - "is_pure": false + "is_pure": false, + "text": "currentIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -40951,7 +41766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2349, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "type_description": { "type_identifier": "t_uint256", @@ -41007,7 +41823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2259, - "is_pure": false + "is_pure": false, + "text": "progressRewardBlock" }, "right_expression": { "id": 2444, @@ -41027,7 +41844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2272, - "is_pure": false + "is_pure": false, + "text": "blockNum" }, "type_description": { "type_identifier": "t_uint256", @@ -41037,7 +41855,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "progressRewardBlock=blockNum;" } ] }, @@ -41126,7 +41945,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocessReward(uint256gas)private{uint256blockNum=block.number;if(progressRewardBlock+progressRewardBlockDebt\u003eblockNum){return;}IERC20usdt=IERC20(_usdt);uint256balance=usdt.balanceOf(address(this));if(balance\u003cholderRewardCondition){return;}balance=holderRewardCondition;IERC20holdToken=IERC20(_mainPair);uintholdTokenTotal=holdToken.totalSupply();if(holdTokenTotal==0){return;}addressshareHolder;uint256tokenBalance;uint256amount;uint256shareholderCount=holders.length;uint256gasUsed=0;uint256iterations=0;uint256gasLeft=gasleft();uint256holdCondition=holderCondition;while(gasUsed\u003cgas\u0026\u0026iterations\u003cshareholderCount){if(currentIndex\u003e=shareholderCount){currentIndex=0;}shareHolder=holders[currentIndex];tokenBalance=holdToken.balanceOf(shareHolder);if(tokenBalance\u003e=holdCondition\u0026\u0026!excludeHolder[shareHolder]){amount=balance*tokenBalance/holdTokenTotal;if(amount\u003e0){usdt.transfer(shareHolder,amount);}}gasUsed=gasUsed+(gasLeft-gasleft());gasLeft=gasleft();currentIndex++;iterations++;}progressRewardBlock=blockNum;}" }, { "id": 2446, @@ -41204,7 +42024,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "holderRewardCondition" }, "right_expression": { "id": 2457, @@ -41224,7 +42045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2457, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -41234,7 +42056,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "holderRewardCondition=amount;" } ] }, @@ -41353,7 +42176,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetHolderRewardCondition(uint256amount)externalonlyOwner{holderRewardCondition=amount;}" }, { "id": 2459, @@ -41431,7 +42255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2255, - "is_pure": false + "is_pure": false, + "text": "holderCondition" }, "right_expression": { "id": 2470, @@ -41451,7 +42276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2470, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -41461,7 +42287,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "holderCondition=amount;" } ] }, @@ -41580,7 +42407,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetHolderCondition(uint256amount)externalonlyOwner{holderCondition=amount;}" }, { "id": 2472, @@ -41669,7 +42497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2177, - "is_pure": false + "is_pure": false, + "text": "excludeHolder" }, "base_expression": { "id": 2486, @@ -41689,7 +42518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2486, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -41724,7 +42554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2487, - "is_pure": false + "is_pure": false, + "text": "enable" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -41734,7 +42565,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "excludeHolder[addr]=enable;" } ] }, @@ -41891,13 +42723,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setExcludeHolder(address, bool)", - "signature": "a4c71cb8", + "signature_raw": "setExcludeHolder(address,bool)", + "signature": "05833c2b", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetExcludeHolder(addressaddr,boolenable)externalonlyOwner{excludeHolder[addr]=enable;}" }, { "id": 2489, @@ -41975,7 +42808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2262, - "is_pure": false + "is_pure": false, + "text": "progressRewardBlockDebt" }, "right_expression": { "id": 2500, @@ -41995,7 +42829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2500, - "is_pure": false + "is_pure": false, + "text": "blockDebt" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -42005,7 +42840,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "progressRewardBlockDebt=blockDebt;" } ] }, @@ -42124,7 +42960,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetProgressRewardBlockDebt(uint256blockDebt)externalonlyOwner{progressRewardBlockDebt=blockDebt;}" }, { "id": 2502, @@ -42202,7 +43039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 505, - "is_pure": false + "is_pure": false, + "text": "_airdropLen" }, "right_expression": { "id": 2513, @@ -42222,7 +43060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2513, - "is_pure": false + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -42232,7 +43071,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "_airdropLen=len;" } ] }, @@ -42351,7 +43191,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetAirdropLen(uint256len)externalonlyOwner{_airdropLen=len;}" }, { "id": 2515, @@ -42429,7 +43270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 509, - "is_pure": false + "is_pure": false, + "text": "_airdropAmount" }, "right_expression": { "id": 2526, @@ -42449,7 +43291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2526, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_rational_100_by_1", @@ -42459,7 +43302,8 @@ "type_description": { "type_identifier": "t_rational_100_by_1", "type_string": "int_const 100" - } + }, + "text": "_airdropAmount=amount;" } ] }, @@ -42578,7 +43422,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetAirdropAmount(uint256amount)externalonlyOwner{_airdropAmount=amount;}" }, { "id": 2528, @@ -42656,7 +43501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 521, - "is_pure": false + "is_pure": false, + "text": "_lpFeeReceiver" }, "right_expression": { "id": 2539, @@ -42676,7 +43522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2539, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_description": { "type_identifier": "t_address", @@ -42686,7 +43533,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_lpFeeReceiver=adr;" }, { "id": 2540, @@ -42740,7 +43588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 2544, @@ -42760,7 +43609,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2544, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_descriptions": [ { @@ -42797,7 +43647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -42807,7 +43658,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[adr]=true;" } ] }, @@ -42927,7 +43779,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLPFeeReceiver(addressadr)externalonlyOwner{_lpFeeReceiver=adr;_feeWhiteList[adr]=true;}" }, { "id": 2547, @@ -43082,7 +43935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mainPair" } ], "expression": { @@ -43103,7 +43957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -43271,14 +44126,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2555, - "is_pure": false + "is_pure": false, + "text": "swapPair" }, "member_name": "getReserves", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapPair_$187", "type_string": "contract ISwapPair" - } + }, + "text": "swapPair.getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -43384,7 +44241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -43430,7 +44288,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -43481,7 +44340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2562, - "is_pure": false + "is_pure": false, + "text": "reserve0" }, "right_expression": { "id": 2580, @@ -43503,7 +44363,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -43689,7 +44550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 331, - "is_pure": false + "is_pure": false, + "text": "token" }, "right_expression": { "id": 2591, @@ -43709,7 +44571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" }, "type_description": { "type_identifier": "t_bool", @@ -43771,7 +44634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1538, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "right_expression": { "id": 2596, @@ -43791,7 +44655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 193, - "is_pure": false + "is_pure": false, + "text": "reserve0" }, "type_description": { "type_identifier": "t_uint256", @@ -43801,7 +44666,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenAmount=reserve0;" }, { "id": 2597, @@ -43844,7 +44710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2582, - "is_pure": false + "is_pure": false, + "text": "usdtAmount" }, "right_expression": { "id": 2600, @@ -43864,7 +44731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 195, - "is_pure": false + "is_pure": false, + "text": "reserve1" }, "type_description": { "type_identifier": "t_uint256", @@ -43874,7 +44742,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "usdtAmount=reserve1;" } ] } @@ -43920,7 +44789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2603, - "is_pure": false + "is_pure": false, + "text": "price" }, "right_expression": { "id": 2604, @@ -43981,7 +44851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 2609, @@ -44057,7 +44928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -44078,7 +44950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -44090,7 +44963,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(token).decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -44126,7 +45000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2582, - "is_pure": false + "is_pure": false, + "text": "usdtAmount" }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -44151,7 +45026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2585, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -44166,7 +45042,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "price=10**IERC20(token).decimals()*usdtAmount/tokenAmount;" } ] } @@ -44303,7 +45180,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetTokenPrice()publicviewreturns(uint256price){ISwapPairswapPair=ISwapPair(_mainPair);(uint256reserve0,uint256reserve1,)=swapPair.getReserves();addresstoken=address(this);if(reserve0\u003e0){uint256usdtAmount;uint256tokenAmount;if(token\u003c_usdt){tokenAmount=reserve0;usdtAmount=reserve1;}else{tokenAmount=reserve1;usdtAmount=reserve0;}price=10**IERC20(token).decimals()*usdtAmount/tokenAmount;}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/papa/IERC20.solgo.ast.json b/data/tests/contracts/papa/IERC20.solgo.ast.json index 1e7924b3..d24c644f 100644 --- a/data/tests/contracts/papa/IERC20.solgo.ast.json +++ b/data/tests/contracts/papa/IERC20.solgo.ast.json @@ -227,7 +227,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" }, { "id": 20, @@ -395,7 +396,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 29, @@ -563,7 +565,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 38, @@ -731,7 +734,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 47, @@ -900,7 +904,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 56, @@ -1106,13 +1111,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 67, @@ -1319,13 +1325,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 78, @@ -1531,13 +1538,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 89, @@ -1787,13 +1795,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 102, diff --git a/data/tests/contracts/papa/ISwapFactory.solgo.ast.json b/data/tests/contracts/papa/ISwapFactory.solgo.ast.json index a5e461e4..f243681a 100644 --- a/data/tests/contracts/papa/ISwapFactory.solgo.ast.json +++ b/data/tests/contracts/papa/ISwapFactory.solgo.ast.json @@ -267,13 +267,14 @@ } ] }, - "signature_raw": "createPair(address, address)", - "signature": "a36b5e48", + "signature_raw": "createPair(address,address)", + "signature": "c9c65396", "scope": 175, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioncreatePair(addresstokenA,addresstokenB)externalreturns(addresspair);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/papa/ISwapPair.solgo.ast.json b/data/tests/contracts/papa/ISwapPair.solgo.ast.json index ec3ad919..b5febff6 100644 --- a/data/tests/contracts/papa/ISwapPair.solgo.ast.json +++ b/data/tests/contracts/papa/ISwapPair.solgo.ast.json @@ -393,13 +393,14 @@ } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", "scope": 189, "type_description": { "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", "type_string": "function(uint112,uint112,uint32)" - } + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" }, { "id": 208, @@ -569,7 +570,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 217, @@ -647,7 +649,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsync()external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/papa/ISwapRouter.solgo.ast.json b/data/tests/contracts/papa/ISwapRouter.solgo.ast.json index 38fd430d..f2e0349b 100644 --- a/data/tests/contracts/papa/ISwapRouter.solgo.ast.json +++ b/data/tests/contracts/papa/ISwapRouter.solgo.ast.json @@ -229,7 +229,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalpurereturns(address);" }, { "id": 132, @@ -519,13 +520,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint, uint, address, address, uint)", - "signature": "57614bd1", + "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint,uint,address,address,uint)", + "signature": "22b0430c", "scope": 121, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokensSupportingFeeOnTransferTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)external;" }, { "id": 147, @@ -1077,13 +1079,14 @@ } ] }, - "signature_raw": "addLiquidity(address, address, uint, uint, uint, uint, address, uint)", - "signature": "b0a5b69b", + "signature_raw": "addLiquidity(address,address,uint,uint,uint,uint,address,uint)", + "signature": "dd83139f", "scope": 121, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidity(addresstokenA,addresstokenB,uintamountADesired,uintamountBDesired,uintamountAMin,uintamountBMin,addressto,uintdeadline)externalreturns(uintamountA,uintamountB,uintliquidity);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/papa/Ownable.solgo.ast.json b/data/tests/contracts/papa/Ownable.solgo.ast.json index 70acb7f2..68cae68c 100644 --- a/data/tests/contracts/papa/Ownable.solgo.ast.json +++ b/data/tests/contracts/papa/Ownable.solgo.ast.json @@ -389,14 +389,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } }, { @@ -440,7 +442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 247, @@ -460,7 +463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -470,7 +474,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 248, @@ -523,7 +528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -569,7 +575,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -594,7 +601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -615,7 +623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 228, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -686,7 +695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -823,7 +833,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){return_owner;}" }, { "id": 267, @@ -930,7 +941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 274, @@ -973,14 +985,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -1013,7 +1027,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"!o\"" } ], "expression": { @@ -1034,7 +1049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1059,7 +1075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -1129,7 +1146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 287, @@ -1170,7 +1188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1216,7 +1235,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1242,7 +1262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 228, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -1286,7 +1307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 295, @@ -1327,7 +1349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1373,7 +1396,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1388,7 +1412,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -1462,7 +1487,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" }, { "id": 300, @@ -1554,7 +1580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 311, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 312, @@ -1595,7 +1622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1641,7 +1669,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1679,7 +1708,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"n0\"" } ], "expression": { @@ -1700,7 +1730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1737,7 +1768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 319, @@ -1757,7 +1789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 319, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1778,7 +1811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 228, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -1822,7 +1856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 324, @@ -1842,7 +1877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 324, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1852,7 +1888,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -1972,7 +2009,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"n0\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/papa/Token.solgo.ast.json b/data/tests/contracts/papa/Token.solgo.ast.json index c5d8234b..01c28f19 100644 --- a/data/tests/contracts/papa/Token.solgo.ast.json +++ b/data/tests/contracts/papa/Token.solgo.ast.json @@ -565,7 +565,7 @@ "mutability": 1, "type_name": { "id": 2686, - "node_type": 0, + "node_type": 53, "src": { "line": 106, "column": 4, @@ -657,7 +657,7 @@ "mutability": 1, "type_name": { "id": 2690, - "node_type": 0, + "node_type": 53, "src": { "line": 107, "column": 4, @@ -1050,7 +1050,7 @@ "mutability": 1, "type_name": { "id": 2709, - "node_type": 0, + "node_type": 53, "src": { "line": 117, "column": 4, @@ -1142,7 +1142,7 @@ "mutability": 1, "type_name": { "id": 2713, - "node_type": 0, + "node_type": 53, "src": { "line": 118, "column": 4, @@ -1379,7 +1379,7 @@ "mutability": 1, "type_name": { "id": 2724, - "node_type": 0, + "node_type": 53, "src": { "line": 124, "column": 4, @@ -1585,7 +1585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1630,7 +1631,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1764,7 +1766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -1826,7 +1829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "400" } }, { @@ -1888,7 +1892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -1950,7 +1955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2012,7 +2018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } }, { @@ -2074,7 +2081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2136,7 +2144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2198,7 +2207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "400" } }, { @@ -2260,7 +2270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2322,7 +2333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2384,7 +2396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } }, { @@ -2446,7 +2459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -2508,7 +2522,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "9999" } }, { @@ -2900,7 +2915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -2962,7 +2978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } }, { @@ -3024,7 +3041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -3086,7 +3104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -3190,7 +3209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -6036,7 +6056,7 @@ "mutability": 1, "type_name": { "id": 2949, - "node_type": 0, + "node_type": 53, "src": { "line": 674, "column": 4, @@ -6128,7 +6148,7 @@ "mutability": 1, "type_name": { "id": 2953, - "node_type": 0, + "node_type": 53, "src": { "line": 675, "column": 4, @@ -6379,7 +6399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -6482,7 +6503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -7560,7 +7582,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" }, { "id": 20, @@ -7728,7 +7751,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 29, @@ -7896,7 +7920,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 38, @@ -8064,7 +8089,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 47, @@ -8233,7 +8259,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 56, @@ -8439,13 +8466,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 67, @@ -8652,13 +8680,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 78, @@ -8864,13 +8893,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 89, @@ -9120,13 +9150,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 102, @@ -9710,7 +9741,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalpurereturns(address);" }, { "id": 132, @@ -10000,13 +10032,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint, uint, address, address, uint)", - "signature": "57614bd1", + "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint,uint,address,address,uint)", + "signature": "22b0430c", "scope": 121, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokensSupportingFeeOnTransferTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)external;" }, { "id": 147, @@ -10558,13 +10591,14 @@ } ] }, - "signature_raw": "addLiquidity(address, address, uint, uint, uint, uint, address, uint)", - "signature": "b0a5b69b", + "signature_raw": "addLiquidity(address,address,uint,uint,uint,uint,address,uint)", + "signature": "dd83139f", "scope": 121, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidity(addresstokenA,addresstokenB,uintamountADesired,uintamountBDesired,uintamountAMin,uintamountBMin,addressto,uintdeadline)externalreturns(uintamountA,uintamountB,uintliquidity);" } ], "linearized_base_contracts": [ @@ -10852,13 +10886,14 @@ } ] }, - "signature_raw": "createPair(address, address)", - "signature": "a36b5e48", + "signature_raw": "createPair(address,address)", + "signature": "c9c65396", "scope": 175, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioncreatePair(addresstokenA,addresstokenB)externalreturns(addresspair);" } ], "linearized_base_contracts": [ @@ -11272,13 +11307,14 @@ } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", "scope": 189, "type_description": { "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", "type_string": "function(uint112,uint112,uint32)" - } + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" }, { "id": 208, @@ -11448,7 +11484,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 217, @@ -11526,7 +11563,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsync()external;" } ], "linearized_base_contracts": [ @@ -11936,14 +11974,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } }, { @@ -11987,7 +12027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 247, @@ -12007,7 +12048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -12017,7 +12059,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 248, @@ -12070,7 +12113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12116,7 +12160,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12141,7 +12186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -12162,7 +12208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 228, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -12233,7 +12280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -12370,7 +12418,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){return_owner;}" }, { "id": 267, @@ -12477,7 +12526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 274, @@ -12520,14 +12570,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -12560,7 +12612,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"!o\"" } ], "expression": { @@ -12581,7 +12634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -12606,7 +12660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -12676,7 +12731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 287, @@ -12717,7 +12773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12763,7 +12820,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12789,7 +12847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 228, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -12833,7 +12892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 295, @@ -12874,7 +12934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -12920,7 +12981,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -12935,7 +12997,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -13009,7 +13072,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" }, { "id": 300, @@ -13101,7 +13165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 311, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 312, @@ -13142,7 +13207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -13188,7 +13254,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13226,7 +13293,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"n0\"" } ], "expression": { @@ -13247,7 +13315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -13284,7 +13353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 319, @@ -13304,7 +13374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 319, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -13325,7 +13396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 228, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -13369,7 +13441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 324, @@ -13389,7 +13462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 324, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -13399,7 +13473,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -13519,7 +13594,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"n0\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" } ], "linearized_base_contracts": [ @@ -13770,14 +13846,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 342, @@ -13855,7 +13933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -13900,7 +13979,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13955,7 +14035,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -14023,7 +14104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 339, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -14044,7 +14126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -14056,7 +14139,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(token).approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_function_$_t_rational_0_by_1$", @@ -14233,7 +14317,7 @@ "mutability": 1, "type_name": { "id": 359, - "node_type": 0, + "node_type": 53, "src": { "line": 106, "column": 4, @@ -14326,7 +14410,7 @@ "mutability": 1, "type_name": { "id": 364, - "node_type": 0, + "node_type": 53, "src": { "line": 107, "column": 4, @@ -14726,7 +14810,7 @@ "mutability": 1, "type_name": { "id": 390, - "node_type": 0, + "node_type": 53, "src": { "line": 117, "column": 4, @@ -14819,7 +14903,7 @@ "mutability": 1, "type_name": { "id": 395, - "node_type": 0, + "node_type": 53, "src": { "line": 118, "column": 4, @@ -15060,7 +15144,7 @@ "mutability": 1, "type_name": { "id": 410, - "node_type": 0, + "node_type": 53, "src": { "line": 124, "column": 4, @@ -15268,7 +15352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -15313,7 +15398,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -15449,7 +15535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -15512,7 +15599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "400" } }, { @@ -15575,7 +15663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -15638,7 +15727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -15701,7 +15791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } }, { @@ -15764,7 +15855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -15827,7 +15919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -15890,7 +15983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "400" } }, { @@ -15953,7 +16047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -16016,7 +16111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -16079,7 +16175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } }, { @@ -16142,7 +16239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -16205,7 +16303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "9999" } }, { @@ -16606,7 +16705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -16669,7 +16769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" } }, { @@ -16732,7 +16833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -16795,7 +16897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -16901,7 +17004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -16995,7 +17099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "inSwap" }, "right_expression": { "id": 534, @@ -17017,7 +17122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -17027,7 +17133,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "inSwap=true;" }, { "id": 535, @@ -17047,7 +17154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 536, @@ -17090,7 +17198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 414, - "is_pure": false + "is_pure": false, + "text": "inSwap" }, "right_expression": { "id": 539, @@ -17112,7 +17221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -17122,7 +17232,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "inSwap=false;" } ] } @@ -17794,7 +17905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 574, @@ -17814,7 +17926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 574, - "is_pure": false + "is_pure": false, + "text": "Name" }, "type_description": { "type_identifier": "t_string", @@ -17824,7 +17937,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=Name;" }, { "id": 575, @@ -17867,7 +17981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 578, @@ -17887,7 +18002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 578, - "is_pure": false + "is_pure": false, + "text": "Symbol" }, "type_description": { "type_identifier": "t_string", @@ -17897,7 +18013,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=Symbol;" }, { "id": 579, @@ -17940,7 +18057,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "right_expression": { "id": 582, @@ -17960,7 +18078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 582, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_description": { "type_identifier": "t_uint8", @@ -17970,7 +18089,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "_decimals=Decimals;" }, { "id": 583, @@ -18090,7 +18210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 589, - "is_pure": false + "is_pure": false, + "text": "RouterAddress" } ], "expression": { @@ -18111,7 +18232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapRouter" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18198,7 +18320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 593, - "is_pure": false + "is_pure": false, + "text": "USDTAddress" } }, { @@ -18261,7 +18384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" } ], "expression": { @@ -18307,7 +18431,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18338,7 +18463,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "MAX" } ], "expression": { @@ -18401,7 +18527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" } ], "expression": { @@ -18422,7 +18549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18434,7 +18562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(usdt).approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$", @@ -18482,7 +18611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" }, "right_expression": { "id": 607, @@ -18502,7 +18632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "type_description": { "type_identifier": "t_address", @@ -18512,7 +18643,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_usdt=usdt;" }, { "id": 608, @@ -18555,7 +18687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "_swapRouter" }, "right_expression": { "id": 611, @@ -18575,7 +18708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" }, "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", @@ -18585,7 +18719,8 @@ "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "_swapRouter=swapRouter;" }, { "id": 612, @@ -18650,7 +18785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 617, @@ -18689,7 +18825,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -18735,7 +18872,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18794,7 +18932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" } ], "expression": { @@ -18840,7 +18979,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18880,7 +19020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 417, - "is_pure": false + "is_pure": false, + "text": "MAX" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$_t_address$]$_t_function_$_t_address$", @@ -18890,7 +19031,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$_t_address$]$_t_function_$_t_address$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):function(address)]:function(address)]" - } + }, + "text": "_allowances[address(this)][address(swapRouter)]=MAX;" }, { "id": 626, @@ -19047,14 +19189,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" }, "member_name": "factory", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "swapRouter.factory" }, "type_description": { "type_identifier": "t_function_$", @@ -19080,7 +19224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapFactory" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -19209,7 +19354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -19255,7 +19401,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -19286,7 +19433,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "usdt" } ], "expression": { @@ -19330,14 +19478,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 626, - "is_pure": false + "is_pure": false, + "text": "swapFactory" }, "member_name": "createPair", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapFactory_$173", "type_string": "contract ISwapFactory" - } + }, + "text": "swapFactory.createPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -19397,7 +19547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 650, @@ -19417,7 +19568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "usdtPair" }, "type_descriptions": [ { @@ -19454,7 +19606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -19464,7 +19617,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_swapPairList[usdtPair]=true;" }, { "id": 652, @@ -19507,7 +19661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 490, - "is_pure": false + "is_pure": false, + "text": "_mainPair" }, "right_expression": { "id": 655, @@ -19527,7 +19682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "usdtPair" }, "type_description": { "type_identifier": "t_address", @@ -19537,7 +19693,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_mainPair=usdtPair;" }, { "id": 656, @@ -19631,7 +19788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 660, - "is_pure": false + "is_pure": false, + "text": "Supply" }, "right_expression": { "id": 662, @@ -19664,7 +19822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 664, @@ -19684,7 +19843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 664, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_descriptions": [ { @@ -19744,7 +19904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 399, - "is_pure": false + "is_pure": false, + "text": "_tTotal" }, "right_expression": { "id": 668, @@ -19764,7 +19925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 656, - "is_pure": false + "is_pure": false, + "text": "total" }, "type_description": { "type_identifier": "t_uint256", @@ -19774,7 +19936,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_tTotal=total;" }, { "id": 669, @@ -19828,7 +19991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 673, @@ -19848,7 +20012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, "type_descriptions": [ { @@ -19883,7 +20048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 656, - "is_pure": false + "is_pure": false, + "text": "total" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -19893,7 +20059,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[ReceiveAddress]=total;" }, { "id": 675, @@ -19946,7 +20113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19992,7 +20160,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20017,7 +20186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 680, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, { "id": 681, @@ -20037,7 +20207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 656, - "is_pure": false + "is_pure": false, + "text": "total" } ], "expression": { @@ -20058,7 +20229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 102, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -20102,7 +20274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_receiveAddress" }, "right_expression": { "id": 686, @@ -20122,7 +20295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 686, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, "type_description": { "type_identifier": "t_address", @@ -20132,7 +20306,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_receiveAddress=ReceiveAddress;" }, { "id": 687, @@ -20175,7 +20350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 521, - "is_pure": false + "is_pure": false, + "text": "_lpFeeReceiver" }, "right_expression": { "id": 690, @@ -20195,7 +20371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 690, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, "type_description": { "type_identifier": "t_address", @@ -20205,7 +20382,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_lpFeeReceiver=ReceiveAddress;" }, { "id": 691, @@ -20248,7 +20426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 371, - "is_pure": false + "is_pure": false, + "text": "fundAddress" }, "right_expression": { "id": 694, @@ -20268,7 +20447,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 694, - "is_pure": false + "is_pure": false, + "text": "FundAddress" }, "type_description": { "type_identifier": "t_address", @@ -20278,7 +20458,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress=FundAddress;" }, { "id": 695, @@ -20321,7 +20502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 374, - "is_pure": false + "is_pure": false, + "text": "fundAddress2" }, "right_expression": { "id": 698, @@ -20341,7 +20523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 698, - "is_pure": false + "is_pure": false, + "text": "FundAddress2" }, "type_description": { "type_identifier": "t_address", @@ -20351,7 +20534,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress2=FundAddress2;" }, { "id": 699, @@ -20394,7 +20578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 377, - "is_pure": false + "is_pure": false, + "text": "fundAddress3" }, "right_expression": { "id": 702, @@ -20414,7 +20599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "FundAddress3" }, "type_description": { "type_identifier": "t_address", @@ -20424,7 +20610,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress3=FundAddress3;" }, { "id": 703, @@ -20478,7 +20665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 707, @@ -20498,7 +20686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 707, - "is_pure": false + "is_pure": false, + "text": "FundAddress" }, "type_descriptions": [ { @@ -20535,7 +20724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -20545,7 +20735,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[FundAddress]=true;" }, { "id": 709, @@ -20599,7 +20790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 713, @@ -20619,7 +20811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 713, - "is_pure": false + "is_pure": false, + "text": "FundAddress2" }, "type_descriptions": [ { @@ -20656,7 +20849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -20666,7 +20860,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[FundAddress2]=true;" }, { "id": 715, @@ -20720,7 +20915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 719, @@ -20740,7 +20936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "FundAddress3" }, "type_descriptions": [ { @@ -20777,7 +20974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -20787,7 +20985,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[FundAddress3]=true;" }, { "id": 721, @@ -20841,7 +21040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 725, @@ -20861,7 +21061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 725, - "is_pure": false + "is_pure": false, + "text": "ReceiveAddress" }, "type_descriptions": [ { @@ -20898,7 +21099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -20908,7 +21110,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[ReceiveAddress]=true;" }, { "id": 727, @@ -20962,7 +21165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 731, @@ -21001,7 +21205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -21047,7 +21252,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -21089,7 +21295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", @@ -21099,7 +21306,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", "type_string": "index[mapping(address=\u003ebool):function(address)]" - } + }, + "text": "_feeWhiteList[address(this)]=true;" }, { "id": 736, @@ -21153,7 +21361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 740, @@ -21192,7 +21401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 583, - "is_pure": false + "is_pure": false, + "text": "swapRouter" } ], "expression": { @@ -21238,7 +21448,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -21280,7 +21491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", @@ -21290,7 +21502,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", "type_string": "index[mapping(address=\u003ebool):function(address)]" - } + }, + "text": "_feeWhiteList[address(swapRouter)]=true;" }, { "id": 745, @@ -21344,7 +21557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 749, @@ -21387,14 +21601,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -21431,7 +21647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -21441,7 +21658,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[msg.sender]=true;" }, { "id": 752, @@ -21495,7 +21713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 756, @@ -21536,7 +21755,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -21582,7 +21802,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21624,7 +21845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -21634,7 +21856,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0)]" - } + }, + "text": "_feeWhiteList[address(0)]=true;" }, { "id": 761, @@ -21688,7 +21911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 765, @@ -21729,7 +21953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x000000000000000000000000000000000000dEaD" } ], "expression": { @@ -21775,7 +22000,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21817,7 +22043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -21827,7 +22054,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0x000000000000000000000000000000000000dEaD)]" - } + }, + "text": "_feeWhiteList[address(0x000000000000000000000000000000000000dEaD)]=true;" }, { "id": 770, @@ -21870,7 +22098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "_limitAmount" }, "right_expression": { "id": 773, @@ -21904,7 +22133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 774, - "is_pure": false + "is_pure": false, + "text": "LimitAmount" }, "right_expression": { "id": 776, @@ -21937,7 +22167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 778, @@ -21957,7 +22188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 778, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_descriptions": [ { @@ -21983,7 +22215,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_limitAmount=LimitAmount*10**Decimals;" }, { "id": 779, @@ -22026,7 +22259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "_txLimitAmount" }, "right_expression": { "id": 782, @@ -22060,7 +22294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 783, - "is_pure": false + "is_pure": false, + "text": "TxLimitAmount" }, "right_expression": { "id": 785, @@ -22093,7 +22328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 787, @@ -22113,7 +22349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 787, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_descriptions": [ { @@ -22139,7 +22376,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_txLimitAmount=TxLimitAmount*10**Decimals;" }, { "id": 788, @@ -22182,7 +22420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "_tokenDistributor" }, "right_expression": { "id": 791, @@ -22221,7 +22460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" } ], "expression": { @@ -22293,7 +22533,8 @@ "type_description": { "type_identifier": "t_contract$_TokenDistributor_$325", "type_string": "contract TokenDistributor" - } + }, + "text": "_tokenDistributor=newTokenDistributor(usdt);" }, { "id": 796, @@ -22336,7 +22577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "_minTotal" }, "right_expression": { "id": 799, @@ -22370,7 +22612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 800, - "is_pure": false + "is_pure": false, + "text": "MinTotal" }, "right_expression": { "id": 802, @@ -22403,7 +22646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 804, @@ -22423,7 +22667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 804, - "is_pure": false + "is_pure": false, + "text": "Decimals" }, "type_descriptions": [ { @@ -22449,7 +22694,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_minTotal=MinTotal*10**Decimals;" }, { "id": 805, @@ -22503,7 +22749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2952, - "is_pure": false + "is_pure": false, + "text": "excludeHolder" }, "base_expression": { "id": 809, @@ -22544,7 +22791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22590,7 +22838,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22598,15 +22847,18 @@ } }, "type_descriptions": [ - null, + { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + }, { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } ], "type_description": { - "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", - "type_string": "index[unknown:function(int_const 0)]" + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", + "type_string": "index[mapping(address=\u003ebool):function(int_const 0)]" } }, "right_expression": { @@ -22629,7 +22881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", @@ -22639,7 +22892,8 @@ "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", "type_string": "index[unknown:function(int_const 0)]" - } + }, + "text": "excludeHolder[address(0)]=true;" }, { "id": 814, @@ -22693,7 +22947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2952, - "is_pure": false + "is_pure": false, + "text": "excludeHolder" }, "base_expression": { "id": 818, @@ -22734,7 +22989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x000000000000000000000000000000000000dEaD" } ], "expression": { @@ -22780,7 +23036,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22788,18 +23045,15 @@ } }, "type_descriptions": [ - { - "type_identifier": "t_mapping_$t_address_$t_bool$", - "type_string": "mapping(address=\u003ebool)" - }, + null, { "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0x000000000000000000000000000000000000dEaD)" } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", - "type_string": "index[mapping(address=\u003ebool):function(int_const 0x000000000000000000000000000000000000dEaD)]" + "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", + "type_string": "index[unknown:function(int_const 0x000000000000000000000000000000000000dEaD)]" } }, "right_expression": { @@ -22822,7 +23076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", @@ -22832,7 +23087,8 @@ "type_description": { "type_identifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", "type_string": "index[unknown:function(int_const 0x000000000000000000000000000000000000dEaD)]" - } + }, + "text": "excludeHolder[address(0x000000000000000000000000000000000000dEaD)]=true;" }, { "id": 823, @@ -22925,7 +23181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 829, @@ -23001,7 +23258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" } ], "expression": { @@ -23022,7 +23280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -23034,7 +23293,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(usdt).decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -23094,7 +23354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2960, - "is_pure": true + "is_pure": true, + "text": "holderRewardCondition" }, "right_expression": { "id": 837, @@ -23130,7 +23391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 839, @@ -23150,7 +23412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 823, - "is_pure": false + "is_pure": false, + "text": "usdtUnit" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -23165,7 +23428,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "holderRewardCondition=1*usdtUnit;" } ] } @@ -23235,7 +23499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -23389,7 +23654,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewoverridereturns(stringmemory){return_symbol;}" }, { "id": 853, @@ -23456,7 +23722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -23610,7 +23877,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewoverridereturns(stringmemory){return_name;}" }, { "id": 865, @@ -23677,7 +23945,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" } } ] @@ -23831,7 +24100,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewoverridereturns(uint8){return_decimals;}" }, { "id": 877, @@ -23926,7 +24196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 399, - "is_pure": false + "is_pure": false, + "text": "_tTotal" }, "right_expression": { "id": 890, @@ -23957,7 +24228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 892, @@ -23998,7 +24270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -24044,7 +24317,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -24100,7 +24374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 898, @@ -24141,7 +24416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x000000000000000000000000000000000000dEaD" } ], "expression": { @@ -24187,7 +24463,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -24366,7 +24643,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewoverridereturns(uint256){return_tTotal-_balances[address(0)]-_balances[address(0x000000000000000000000000000000000000dEaD)];}" }, { "id": 903, @@ -24492,7 +24770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 917, @@ -24512,7 +24791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 917, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -24560,7 +24840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "balance" } } ] @@ -24715,7 +24996,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewoverridereturns(uint256){uint256balance=_balances[account];returnbalance;}" }, { "id": 921, @@ -24820,14 +25102,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 936, @@ -24853,7 +25137,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 937, @@ -24883,7 +25168,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -24904,7 +25190,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -24943,7 +25230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -25135,13 +25423,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)publicoverridereturns(bool){_transfer(msg.sender,recipient,amount);returntrue;}" }, { "id": 941, @@ -25230,7 +25519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 956, @@ -25250,7 +25540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 956, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -25285,7 +25576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 957, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -25493,13 +25785,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 959, @@ -25604,14 +25897,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 974, @@ -25637,7 +25932,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 975, @@ -25667,7 +25963,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -25688,7 +25985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -25727,7 +26025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -25919,13 +26218,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicoverridereturns(bool){_approve(msg.sender,spender,amount);returntrue;}" }, { "id": 979, @@ -26007,7 +26307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 995, @@ -26033,7 +26334,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 996, @@ -26063,7 +26365,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -26084,7 +26387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -26156,7 +26460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1002, @@ -26176,7 +26481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1002, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -26234,14 +26540,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -26276,7 +26584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 417, - "is_pure": false + "is_pure": false, + "text": "MAX" }, "type_description": { "type_identifier": "t_bool", @@ -26360,7 +26669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1012, @@ -26380,7 +26690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1012, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -26438,14 +26749,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -26516,7 +26829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1019, @@ -26536,7 +26850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1019, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -26594,14 +26909,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -26636,7 +26953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1022, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -26651,7 +26969,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[sender][msg.sender]=_allowances[sender][msg.sender]-amount;" } ] } @@ -26688,7 +27007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -26924,13 +27244,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)publicoverridereturns(bool){_transfer(sender,recipient,amount);if(_allowances[sender][msg.sender]!=MAX){_allowances[sender][msg.sender]=_allowances[sender][msg.sender]-amount;}returntrue;}" }, { "id": 1026, @@ -27030,7 +27351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 363, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1041, @@ -27050,7 +27372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1041, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -27085,7 +27408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1042, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -27120,7 +27444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1043, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -27130,7 +27455,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 1044, @@ -27162,7 +27488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1045, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1046, @@ -27182,7 +27509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1046, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1047, @@ -27202,7 +27530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1047, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -27223,7 +27552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 111, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -27395,13 +27725,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)private{_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 1050, @@ -27535,7 +27866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1065, - "is_pure": false + "is_pure": false, + "text": "from" } ], "expression": { @@ -27556,7 +27888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27619,7 +27952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1060, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 1070, @@ -27639,7 +27973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1070, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -27672,7 +28007,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"balanceNotEnough\"" } ], "expression": { @@ -27693,7 +28029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -27831,7 +28168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1081, @@ -27851,7 +28189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1081, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -27920,7 +28259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1085, @@ -27940,7 +28280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1085, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -28094,7 +28435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 1093, @@ -28116,7 +28458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "99999" }, "type_description": { "type_identifier": "t_uint256", @@ -28143,7 +28486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100000" }, "type_description": { "type_identifier": "t_uint256", @@ -28194,7 +28538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1097, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 1098, @@ -28214,7 +28559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1087, - "is_pure": false + "is_pure": false, + "text": "maxSellAmount" }, "type_description": { "type_identifier": "t_bool", @@ -28276,7 +28622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1102, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 1103, @@ -28296,7 +28643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1087, - "is_pure": false + "is_pure": false, + "text": "maxSellAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -28306,7 +28654,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount=maxSellAmount;" } ] } @@ -28352,7 +28701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1072, - "is_pure": false + "is_pure": false, + "text": "takeFee" }, "right_expression": { "id": 1107, @@ -28374,7 +28724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -28384,7 +28735,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "takeFee=true;" }, { "id": 1108, @@ -28429,7 +28781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "_txLimitAmount" }, "right_expression": { "id": 1111, @@ -28451,7 +28804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -28527,7 +28881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "_txLimitAmount" }, "right_expression": { "id": 1117, @@ -28547,7 +28902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1117, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -28580,7 +28936,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"txLimit\"" } ], "expression": { @@ -28601,7 +28958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -28751,7 +29109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 505, - "is_pure": false + "is_pure": false, + "text": "_airdropLen" } }, { @@ -28832,7 +29191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 509, - "is_pure": false + "is_pure": false, + "text": "_airdropAmount" } }, { @@ -28936,14 +29296,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } }, { @@ -29037,7 +29399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -29072,7 +29435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1136, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1142, @@ -29092,7 +29456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1122, - "is_pure": false + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_bool", @@ -29130,7 +29495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1136, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -29197,7 +29563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1119, - "is_pure": false + "is_pure": false, + "text": "ad" }, "right_expression": { "id": 1149, @@ -29320,7 +29687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" }, { "id": 1164, @@ -29346,7 +29714,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" }, { "id": 1165, @@ -29376,7 +29745,8 @@ "type_identifier": "t_function_$_t_function_$$", "type_string": "function(function())" } - ] + ], + "text": "blockTime" } ], "expression": { @@ -29420,14 +29790,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -29453,7 +29825,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -29503,7 +29876,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -29553,7 +29927,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -29604,7 +29979,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$", @@ -29619,7 +29995,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "ad=address(uint160(uint(keccak256(abi.encode(i,amount,blockTime)))));" }, { "id": 1166, @@ -29670,7 +30047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1169, @@ -29696,7 +30074,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "ad" }, { "id": 1170, @@ -29726,7 +30105,8 @@ "type_identifier": "t_function_$_t_function_$$", "type_string": "function(function())" } - ] + ], + "text": "airdropAmount" }, { "id": 1171, @@ -29762,7 +30142,8 @@ "type_identifier": "t_function_$_t_function_$$$_t_function_$_t_function_$$$", "type_string": "function(function(),function(function()))" } - ] + ], + "text": "0" } ], "expression": { @@ -29783,7 +30164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_funTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_rational_0_by_1$", @@ -29831,7 +30213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 60, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 1175, @@ -29851,7 +30234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1126, - "is_pure": false + "is_pure": false, + "text": "airdropAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -29861,7 +30245,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount-=airdropAmount;" } ] } @@ -30045,7 +30430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 1186, @@ -30065,7 +30451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1186, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -30111,7 +30498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 1189, @@ -30131,7 +30519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -30212,7 +30601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 1194, @@ -30232,7 +30622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 484, - "is_pure": false + "is_pure": false, + "text": "startAddLPBlock" }, "type_description": { "type_identifier": "t_bool", @@ -30305,7 +30696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1201, @@ -30325,7 +30717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1201, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -30374,7 +30767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1203, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 1204, @@ -30394,7 +30788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 490, - "is_pure": false + "is_pure": false, + "text": "_mainPair" }, "type_description": { "type_identifier": "t_bool", @@ -30468,7 +30863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 484, - "is_pure": false + "is_pure": false, + "text": "startAddLPBlock" }, "right_expression": { "id": 1209, @@ -30511,14 +30907,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "number", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.number" }, "type_description": { "type_identifier": "t_uint256", @@ -30528,7 +30926,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "startAddLPBlock=block.number;" } ] } @@ -30579,7 +30978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 490, - "is_pure": false + "is_pure": false, + "text": "_mainPair" }, "right_expression": { "id": 1214, @@ -30599,7 +30999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1214, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_description": { "type_identifier": "t_bool", @@ -30661,7 +31062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1176, - "is_pure": false + "is_pure": false, + "text": "isAddLP" }, "right_expression": { "id": 1219, @@ -30700,7 +31102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1221, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -30721,7 +31124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_isAddLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -30736,7 +31140,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "isAddLP=_isAddLiquidity(amount);" } ] } @@ -30811,7 +31216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1228, @@ -30831,7 +31237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1228, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -30900,7 +31307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1232, @@ -30920,7 +31328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -31013,7 +31422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 1237, @@ -31033,7 +31443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 481, - "is_pure": false + "is_pure": false, + "text": "startTradeBlock" }, "type_description": { "type_identifier": "t_bool", @@ -31109,7 +31520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 487, - "is_pure": false + "is_pure": false, + "text": "startALBlock" }, "right_expression": { "id": 1244, @@ -31131,7 +31543,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -31181,7 +31594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 394, - "is_pure": false + "is_pure": false, + "text": "_ALList" }, "base_expression": { "id": 1248, @@ -31201,7 +31615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1248, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -31318,7 +31733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1252, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 1253, @@ -31344,7 +31760,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1254, @@ -31374,7 +31791,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" }, { "id": 1255, @@ -31408,7 +31826,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "takeFee" }, { "id": 1256, @@ -31446,7 +31865,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "isAddLP" }, { "id": 1257, @@ -31488,7 +31908,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "isRemoveLP" } ], "expression": { @@ -31509,7 +31930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_tokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bool$_t_bool$_t_bool$", @@ -31583,7 +32005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "_limitAmount" }, "right_expression": { "id": 1265, @@ -31605,7 +32028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -31659,7 +32083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 1269, @@ -31679,7 +32104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1269, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -31760,7 +32186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1273, @@ -31780,7 +32207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1273, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -31883,7 +32311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "_limitAmount" }, "right_expression": { "id": 1279, @@ -31922,7 +32351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1281, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -31943,7 +32373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31981,7 +32412,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Limit\"" } ], "expression": { @@ -32002,7 +32434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -32055,7 +32488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1285, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 1286, @@ -32094,7 +32528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -32140,7 +32575,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -32195,7 +32631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1176, - "is_pure": false + "is_pure": false, + "text": "isAddLP" }, "body": { "id": 1293, @@ -32248,7 +32685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1296, - "is_pure": false + "is_pure": false, + "text": "from" } ], "expression": { @@ -32269,7 +32707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "addHolder" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -32451,13 +32890,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)private{uint256balance=balanceOf(from);require(balance\u003e=amount,\"balanceNotEnough\");booltakeFee;if(!_feeWhiteList[from]\u0026\u0026!_feeWhiteList[to]){uint256maxSellAmount=balance*99999/100000;if(amount\u003emaxSellAmount){amount=maxSellAmount;}takeFee=true;if(_txLimitAmount\u003e0){require(_txLimitAmount\u003e=amount,\"txLimit\");}addressad;uint256len=_airdropLen;uint256airdropAmount=_airdropAmount;uint256blockTime=block.timestamp;for(uint256i=0;i\u003clen;i++){ad=address(uint160(uint(keccak256(abi.encode(i,amount,blockTime)))));_funTransfer(from,ad,airdropAmount,0);amount-=airdropAmount;}}boolisAddLP;boolisRemoveLP;if(_swapPairList[from]||_swapPairList[to]){if(0==startAddLPBlock){if(_feeWhiteList[from]\u0026\u0026to==_mainPair){startAddLPBlock=block.number;}}if(_mainPair==to){isAddLP=_isAddLiquidity(amount);}elseif(_mainPair==from){isRemoveLP=_isRemoveLiquidity();}if(!_feeWhiteList[from]\u0026\u0026!_feeWhiteList[to]){if(0==startTradeBlock){if(startALBlock\u003e0\u0026\u0026(_ALList[to])){}else{require(0\u003cstartAddLPBlock\u0026\u0026isAddLP,\"!Trade\");}}else{if(!isAddLP\u0026\u0026!isRemoveLP\u0026\u0026block.number\u003cstartTradeBlock+_killBlock){_funTransfer(from,to,amount,99);return;}}}}_tokenTransfer(from,to,amount,takeFee,isAddLP,isRemoveLP);if(_limitAmount\u003e0\u0026\u0026!_swapPairList[to]\u0026\u0026!_feeWhiteList[to]){require(_limitAmount\u003e=balanceOf(to),\"Limit\");}if(from!=address(this)){if(isAddLP){addHolder(from);}elseif(!_feeWhiteList[from]){processReward(500000);}}}" }, { "id": 1298, @@ -32612,7 +33052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mainPair" } ], "expression": { @@ -32633,7 +33074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -32801,14 +33243,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1306, - "is_pure": false + "is_pure": false, + "text": "mainPair" }, "member_name": "getReserves", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapPair_$187", "type_string": "contract ISwapPair" - } + }, + "text": "mainPair.getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -32895,7 +33339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" } }, { @@ -33063,7 +33508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1321, - "is_pure": false + "is_pure": false, + "text": "tokenOther" }, "right_expression": { "id": 1334, @@ -33102,7 +33548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -33148,7 +33595,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -33215,7 +33663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1325, - "is_pure": false + "is_pure": false, + "text": "r" }, "right_expression": { "id": 1342, @@ -33235,7 +33684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "r0" }, "type_description": { "type_identifier": "t_uint256", @@ -33245,7 +33695,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "r=r0;" }, { "id": 1343, @@ -33288,7 +33739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1328, - "is_pure": false + "is_pure": false, + "text": "rToken" }, "right_expression": { "id": 1346, @@ -33308,7 +33760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "r1" }, "type_description": { "type_identifier": "t_uint256", @@ -33318,7 +33771,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "rToken=r1;" } ] } @@ -33439,7 +33893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1306, - "is_pure": false + "is_pure": false, + "text": "mainPair" } ], "expression": { @@ -33485,7 +33940,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -33553,7 +34009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1321, - "is_pure": false + "is_pure": false, + "text": "tokenOther" } ], "expression": { @@ -33574,7 +34031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -33586,7 +34044,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(tokenOther).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -33637,7 +34096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1328, - "is_pure": false + "is_pure": false, + "text": "rToken" }, "right_expression": { "id": 1362, @@ -33659,7 +34119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -33721,7 +34182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1303, - "is_pure": false + "is_pure": false, + "text": "isAdd" }, "right_expression": { "id": 1367, @@ -33755,7 +34217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1347, - "is_pure": false + "is_pure": false, + "text": "bal" }, "right_expression": { "id": 1369, @@ -33775,7 +34238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1325, - "is_pure": false + "is_pure": false, + "text": "r" }, "type_description": { "type_identifier": "t_bool", @@ -33790,7 +34254,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "isAdd=bal\u003er;" } ] } @@ -33927,7 +34392,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_isAddLiquidity(uint256amount)internalviewreturns(boolisAdd){ISwapPairmainPair=ISwapPair(_mainPair);(uintr0,uint256r1,)=mainPair.getReserves();addresstokenOther=_usdt;uint256r;uint256rToken;if(tokenOther\u003caddress(this)){r=r0;rToken=r1;}else{r=r1;rToken=r0;}uintbal=IERC20(tokenOther).balanceOf(address(mainPair));if(rToken==0){isAdd=bal\u003er;}else{isAdd=bal\u003e=r+r*amount/rToken;}}" }, { "id": 1371, @@ -34082,7 +34548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mainPair" } ], "expression": { @@ -34103,7 +34570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -34271,14 +34739,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1379, - "is_pure": false + "is_pure": false, + "text": "mainPair" }, "member_name": "getReserves", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapPair_$187", "type_string": "contract ISwapPair" - } + }, + "text": "mainPair.getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -34365,7 +34835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" } }, { @@ -34472,7 +34943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1394, - "is_pure": false + "is_pure": false, + "text": "tokenOther" }, "right_expression": { "id": 1404, @@ -34511,7 +34983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -34557,7 +35030,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -34624,7 +35098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1325, - "is_pure": false + "is_pure": false, + "text": "r" }, "right_expression": { "id": 1412, @@ -34644,7 +35119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "r0" }, "type_description": { "type_identifier": "t_uint256", @@ -34654,7 +35130,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "r=r0;" } ] } @@ -34775,7 +35252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1379, - "is_pure": false + "is_pure": false, + "text": "mainPair" } ], "expression": { @@ -34821,7 +35299,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -34889,7 +35368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1394, - "is_pure": false + "is_pure": false, + "text": "tokenOther" } ], "expression": { @@ -34910,7 +35390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -34922,7 +35403,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(tokenOther).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -34971,7 +35453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1427, - "is_pure": false + "is_pure": false, + "text": "isRemove" }, "right_expression": { "id": 1428, @@ -35005,7 +35488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1398, - "is_pure": false + "is_pure": false, + "text": "r" }, "right_expression": { "id": 1430, @@ -35025,7 +35509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1413, - "is_pure": false + "is_pure": false, + "text": "bal" }, "type_description": { "type_identifier": "t_bool", @@ -35040,7 +35525,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "isRemove=r\u003e=bal;" } ] }, @@ -35174,7 +35660,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "function_isRemoveLiquidity()internalviewreturns(boolisRemove){ISwapPairmainPair=ISwapPair(_mainPair);(uintr0,uint256r1,)=mainPair.getReserves();addresstokenOther=_usdt;uint256r;if(tokenOther\u003caddress(this)){r=r0;}else{r=r1;}uintbal=IERC20(tokenOther).balanceOf(address(mainPair));isRemove=r\u003e=bal;}" }, { "id": 1432, @@ -35263,7 +35750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1448, @@ -35283,7 +35771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1448, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -35343,7 +35832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1452, @@ -35363,7 +35853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1452, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -35398,7 +35889,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1453, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -35413,7 +35905,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[sender]=_balances[sender]-tAmount;" }, { "id": 1454, @@ -35521,7 +36014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1459, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "right_expression": { "id": 1460, @@ -35541,7 +36035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1460, - "is_pure": false + "is_pure": false, + "text": "fee" }, "type_description": { "type_identifier": "t_uint256", @@ -35568,7 +36063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "100" }, "type_description": { "type_identifier": "t_uint256", @@ -35619,7 +36115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1454, - "is_pure": false + "is_pure": false, + "text": "feeAmount" }, "right_expression": { "id": 1465, @@ -35641,7 +36138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -35707,7 +36205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1469, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1470, @@ -35733,7 +36232,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "fundAddress" }, { "id": 1471, @@ -35763,7 +36263,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "feeAmount" } ], "expression": { @@ -35784,7 +36285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$", @@ -35839,7 +36341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1474, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1475, @@ -35865,7 +36368,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 1476, @@ -35899,7 +36403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1477, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "right_expression": { "id": 1478, @@ -35919,7 +36424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1454, - "is_pure": false + "is_pure": false, + "text": "feeAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -35945,7 +36451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -36164,13 +36671,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_funTransfer(address, address, uint256, uint256)", - "signature": "4316a058", + "signature_raw": "_funTransfer(address,address,uint256,uint256)", + "signature": "f5597dea", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,uint256,uint256)" - } + }, + "text": "function_funTransfer(addresssender,addressrecipient,uint256tAmount,uint256fee)private{_balances[sender]=_balances[sender]-tAmount;uint256feeAmount=tAmount*fee/100;if(feeAmount\u003e0){_takeTransfer(sender,fundAddress,feeAmount);}_takeTransfer(sender,recipient,tAmount-feeAmount);}" }, { "id": 1480, @@ -36259,7 +36767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1500, @@ -36279,7 +36788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1500, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -36339,7 +36849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1504, @@ -36359,7 +36870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1504, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -36394,7 +36906,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1505, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -36409,7 +36922,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[sender]=_balances[sender]-tAmount;" }, { "id": 1506, @@ -36501,7 +37015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1510, - "is_pure": false + "is_pure": false, + "text": "takeFee" }, "body": { "id": 1511, @@ -36546,7 +37061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1513, - "is_pure": false + "is_pure": false, + "text": "isAddLP" }, "body": { "id": 1514, @@ -36603,7 +37119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1454, - "is_pure": false + "is_pure": false, + "text": "feeAmount" }, "right_expression": { "id": 1518, @@ -36651,7 +37168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1520, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "right_expression": { "id": 1521, @@ -36671,7 +37189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 517, - "is_pure": false + "is_pure": false, + "text": "_addLPFee" }, "type_description": { "type_identifier": "t_uint256", @@ -36698,7 +37217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10000" }, "type_description": { "type_identifier": "t_uint256", @@ -36713,7 +37233,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "feeAmount=tAmount*_addLPFee/10000;" }, { "id": 1523, @@ -36760,7 +37281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1525, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1526, @@ -36786,7 +37308,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_lpFeeReceiver" }, { "id": 1527, @@ -36816,7 +37339,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "feeAmount" } ], "expression": { @@ -36837,7 +37361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$_t_function_$_t_address$", @@ -36895,7 +37420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1530, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1531, @@ -36921,7 +37447,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 1532, @@ -36955,7 +37482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1533, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "right_expression": { "id": 1534, @@ -36975,7 +37503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1506, - "is_pure": false + "is_pure": false, + "text": "feeAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -37001,7 +37530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -37306,13 +37836,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_tokenTransfer(address, address, uint256, bool, bool, bool)", - "signature": "357666d8", + "signature_raw": "_tokenTransfer(address,address,uint256,bool,bool,bool)", + "signature": "1cfb26d9", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_bool$_t_bool$_t_bool$", "type_string": "function(address,address,uint256,bool,bool,bool)" - } + }, + "text": "function_tokenTransfer(addresssender,addressrecipient,uint256tAmount,booltakeFee,boolisAddLP,boolisRemoveLP)private{_balances[sender]=_balances[sender]-tAmount;uint256feeAmount;if(takeFee){if(isAddLP){feeAmount=tAmount*_addLPFee/10000;_takeTransfer(sender,_lpFeeReceiver,feeAmount);}elseif(isRemoveLP){feeAmount=tAmount*_removeLPFee/10000;_takeTransfer(sender,_lpFeeReceiver,feeAmount);}elseif(_swapPairList[sender]){uint256destroyFeeAmount=tAmount*_buyDestroyFee/10000;if(destroyFeeAmount\u003e0){uint256destroyAmount=destroyFeeAmount;uint256currentTotal=totalSupply();uint256maxDestroyAmount;if(currentTotal\u003e_minTotal){maxDestroyAmount=currentTotal-_minTotal;}if(destroyAmount\u003emaxDestroyAmount){destroyAmount=maxDestroyAmount;}if(destroyAmount\u003e0){feeAmount+=destroyAmount;_takeTransfer(sender,address(0x6D5620aF4c14c39f346aadCd116BC49ECe5AF54D),destroyAmount);}}uint256fundAmount=tAmount*(_buyFundFee+_buyFundFee2+_buyFundFee3+_buyLPDividendFee+_buyLPFee)/10000;if(fundAmount\u003e0){feeAmount+=fundAmount;_takeTransfer(sender,address(this),fundAmount);}}elseif(_swapPairList[recipient]){uint256destroyFeeAmount=tAmount*_sellDestroyFee/10000;if(destroyFeeAmount\u003e0){uint256destroyAmount=destroyFeeAmount;uint256currentTotal=totalSupply();uint256maxDestroyAmount;if(currentTotal\u003e_minTotal){maxDestroyAmount=currentTotal-_minTotal;}if(destroyAmount\u003emaxDestroyAmount){destroyAmount=maxDestroyAmount;}if(destroyAmount\u003e0){feeAmount+=destroyAmount;_takeTransfer(sender,address(0x6D5620aF4c14c39f346aadCd116BC49ECe5AF54D),destroyAmount);}}uint256fundAmount=tAmount*(_sellFundFee+_sellFundFee2+_sellFundFee3+_sellLPDividendFee+_sellLPFee)/10000;if(fundAmount\u003e0){feeAmount+=fundAmount;_takeTransfer(sender,address(this),fundAmount);}if(!inSwap){uint256contractTokenBalance=balanceOf(address(this));if(contractTokenBalance\u003e0){uint256numTokensSellToFund=fundAmount*230/100;if(numTokensSellToFund\u003econtractTokenBalance){numTokensSellToFund=contractTokenBalance;}swapTokenForFund(numTokensSellToFund);}}}else{addresstokenDistributor=address(_tokenDistributor);feeAmount=tAmount*_transferFee/10000;if(feeAmount\u003e0){_takeTransfer(sender,tokenDistributor,feeAmount);if(startTradeBlock\u003e0\u0026\u0026!inSwap){uint256swapAmount=2*feeAmount;uint256contractTokenBalance=balanceOf(tokenDistributor);if(swapAmount\u003econtractTokenBalance){swapAmount=contractTokenBalance;}_tokenTransfer(tokenDistributor,address(this),swapAmount,false,false,false);swapTokenForFund2(swapAmount);}}}}_takeTransfer(sender,recipient,tAmount-feeAmount);}" }, { "id": 1536, @@ -37394,7 +37925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 1547, @@ -37414,7 +37946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1547, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "type_description": { "type_identifier": "t_bool", @@ -37544,7 +38077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 433, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee" }, "right_expression": { "id": 1555, @@ -37564,7 +38098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 457, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee" }, "type_description": { "type_identifier": "t_rational_400_by_1", @@ -37664,7 +38199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee2" }, "right_expression": { "id": 1561, @@ -37684,7 +38220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 461, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -37784,7 +38321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 441, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee3" }, "right_expression": { "id": 1567, @@ -37804,7 +38342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee3" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -37904,7 +38443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 445, - "is_pure": false + "is_pure": false, + "text": "_buyLPDividendFee" }, "right_expression": { "id": 1573, @@ -37924,7 +38464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "_sellLPDividendFee" }, "type_description": { "type_identifier": "t_rational_100_by_1", @@ -38024,7 +38565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 449, - "is_pure": false + "is_pure": false, + "text": "_buyLPFee" }, "right_expression": { "id": 1579, @@ -38044,7 +38586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "_sellLPFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -38186,7 +38729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1550, - "is_pure": false + "is_pure": false, + "text": "fundFee" }, "right_expression": { "id": 1588, @@ -38206,7 +38750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1556, - "is_pure": false + "is_pure": false, + "text": "fundFee2" }, "type_description": { "type_identifier": "t_uint256", @@ -38231,7 +38776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1562, - "is_pure": false + "is_pure": false, + "text": "fundFee3" }, "type_description": { "type_identifier": "t_uint256", @@ -38256,7 +38802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1568, - "is_pure": false + "is_pure": false, + "text": "lpDividendFee" }, "type_description": { "type_identifier": "t_uint256", @@ -38281,7 +38828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1574, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_uint256", @@ -38330,7 +38878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "right_expression": { "id": 1595, @@ -38350,7 +38899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -38360,7 +38910,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalFee+=totalFee;" }, { "id": 1596, @@ -38468,7 +39019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1601, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "right_expression": { "id": 1602, @@ -38488,7 +39040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1574, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_uint256", @@ -38513,7 +39066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -38562,7 +39116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "right_expression": { "id": 1607, @@ -38582,7 +39137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1574, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_uint256", @@ -38592,7 +39148,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalFee-=lpFee;" }, { "id": 1608, @@ -38693,7 +39250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "expression": { @@ -38816,7 +39374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" } }, { @@ -38871,7 +39430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1608, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1623, @@ -38893,7 +39453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -38947,7 +39508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -38993,7 +39555,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -39008,7 +39571,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 1628, @@ -39062,7 +39626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1608, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1632, @@ -39084,7 +39649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -39119,7 +39685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1615, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -39129,7 +39696,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=usdt;" }, { "id": 1634, @@ -39229,7 +39797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_tokenDistributor" } ], "expression": { @@ -39275,7 +39844,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -39350,7 +39920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1645, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "right_expression": { "id": 1646, @@ -39370,7 +39941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1596, - "is_pure": false + "is_pure": false, + "text": "lpAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -39403,7 +39975,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 1648, @@ -39433,7 +40006,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 1649, @@ -39467,7 +40041,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenDistributor" }, { "id": 1650, @@ -39510,7 +40085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -39534,7 +40110,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -39578,14 +40155,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "_swapRouter" }, "member_name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_address$_t_uint256$", @@ -39710,7 +40289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1615, - "is_pure": false + "is_pure": false, + "text": "usdt" } ], "expression": { @@ -39731,7 +40311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -39836,7 +40417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1634, - "is_pure": false + "is_pure": false, + "text": "tokenDistributor" } ], "expression": { @@ -39880,14 +40462,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -39940,7 +40524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1634, - "is_pure": false + "is_pure": false, + "text": "tokenDistributor" }, { "id": 1670, @@ -39979,7 +40564,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -40025,7 +40611,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -40060,7 +40647,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "usdtBalance" } ], "expression": { @@ -40104,14 +40692,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -40238,7 +40828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "usdtBalance" }, "right_expression": { "id": 1682, @@ -40258,7 +40849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1550, - "is_pure": false + "is_pure": false, + "text": "fundFee" }, "type_description": { "type_identifier": "t_uint256", @@ -40285,7 +40877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -40310,7 +40903,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -40361,7 +40955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1675, - "is_pure": false + "is_pure": false, + "text": "fundUsdt" }, "right_expression": { "id": 1688, @@ -40383,7 +40978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -40445,7 +41041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "fundAddress" }, { "id": 1694, @@ -40471,7 +41068,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "fundUsdt" } ], "expression": { @@ -40515,14 +41113,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -40652,7 +41252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "usdtBalance" }, "right_expression": { "id": 1702, @@ -40672,7 +41273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1562, - "is_pure": false + "is_pure": false, + "text": "fundFee3" }, "type_description": { "type_identifier": "t_uint256", @@ -40699,7 +41301,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -40724,7 +41327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -40775,7 +41379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1695, - "is_pure": false + "is_pure": false, + "text": "fundUsdt3" }, "right_expression": { "id": 1708, @@ -40797,7 +41402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -40859,7 +41465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "fundAddress3" }, { "id": 1714, @@ -40885,7 +41492,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "fundUsdt3" } ], "expression": { @@ -40929,14 +41537,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -41066,7 +41676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "usdtBalance" }, "right_expression": { "id": 1722, @@ -41086,7 +41697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1556, - "is_pure": false + "is_pure": false, + "text": "fundFee2" }, "type_description": { "type_identifier": "t_uint256", @@ -41113,7 +41725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -41138,7 +41751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -41189,7 +41803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1715, - "is_pure": false + "is_pure": false, + "text": "fundUsdt2" }, "right_expression": { "id": 1728, @@ -41211,7 +41826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -41273,7 +41889,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "fundAddress2" }, { "id": 1734, @@ -41299,7 +41916,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "fundUsdt2" } ], "expression": { @@ -41343,14 +41961,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1652, - "is_pure": false + "is_pure": false, + "text": "USDT" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "USDT.transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -41466,7 +42086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "usdtBalance" }, "right_expression": { "id": 1741, @@ -41486,7 +42107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1574, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_uint256", @@ -41511,7 +42133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "totalFee" }, "type_description": { "type_identifier": "t_uint256", @@ -41562,7 +42185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1735, - "is_pure": false + "is_pure": false, + "text": "lpUsdt" }, "right_expression": { "id": 1746, @@ -41584,7 +42208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -41689,7 +42314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -41735,7 +42361,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -41766,7 +42393,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "usdt" }, { "id": 1756, @@ -41796,7 +42424,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$", "type_string": "function(function(address))" } - ] + ], + "text": "lpAmount" }, { "id": 1757, @@ -41830,7 +42459,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_function_$_t_function_$_t_address$$$", "type_string": "function(function(address),function(function(address)))" } - ] + ], + "text": "lpUsdt" }, { "id": 1758, @@ -41870,7 +42500,8 @@ "type_identifier": "t_function_$_t_function_$_t_address$$$_t_function_$_t_function_$_t_address$$$$_t_function_$_t_function_$_t_address$$$_t_function_$_t_function_$_t_address$$$$", "type_string": "function(function(address),function(function(address)),function(function(address),function(function(address))))" } - ] + ], + "text": "0" }, { "id": 1759, @@ -41914,7 +42545,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "0" }, { "id": 1760, @@ -41960,7 +42592,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "_receiveAddress" }, { "id": 1761, @@ -42003,7 +42636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -42039,7 +42673,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -42083,14 +42718,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "_swapRouter" }, "member_name": "addLiquidity", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "_swapRouter.addLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_rational_0_by_1$_t_rational_0_by_1$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$_t_rational_0_by_1$_t_rational_0_by_1$_t_uint256$", @@ -42217,7 +42854,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapTokenForFund(uint256tokenAmount)privatelockTheSwap{if(0==tokenAmount){return;}uint256fundFee=_buyFundFee+_sellFundFee;uint256fundFee2=_buyFundFee2+_sellFundFee2;uint256fundFee3=_buyFundFee3+_sellFundFee3;uint256lpDividendFee=_buyLPDividendFee+_sellLPDividendFee;uint256lpFee=_buyLPFee+_sellLPFee;uint256totalFee=fundFee+fundFee2+fundFee3+lpDividendFee+lpFee;totalFee+=totalFee;uint256lpAmount=tokenAmount*lpFee/totalFee;totalFee-=lpFee;address[]memorypath=newaddress[](2);addressusdt=_usdt;path[0]=address(this);path[1]=usdt;addresstokenDistributor=address(_tokenDistributor);_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount-lpAmount,0,path,tokenDistributor,block.timestamp);IERC20USDT=IERC20(usdt);uint256usdtBalance=USDT.balanceOf(tokenDistributor);USDT.transferFrom(tokenDistributor,address(this),usdtBalance);uint256fundUsdt=usdtBalance*fundFee*2/totalFee;if(fundUsdt\u003e0){USDT.transfer(fundAddress,fundUsdt);}uint256fundUsdt3=usdtBalance*fundFee3*2/totalFee;if(fundUsdt3\u003e0){USDT.transfer(fundAddress3,fundUsdt3);}uint256fundUsdt2=usdtBalance*fundFee2*2/totalFee;if(fundUsdt2\u003e0){USDT.transfer(fundAddress2,fundUsdt2);}uint256lpUsdt=usdtBalance*lpFee/totalFee;if(lpUsdt\u003e0){_swapRouter.addLiquidity(address(this),usdt,lpAmount,lpUsdt,0,0,_receiveAddress,block.timestamp);}}" }, { "id": 1764, @@ -42299,7 +42937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 1775, @@ -42319,7 +42958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1775, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "type_description": { "type_identifier": "t_bool", @@ -42456,7 +43096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "expression": { @@ -42579,7 +43220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" } }, { @@ -42634,7 +43276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1778, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1793, @@ -42656,7 +43299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -42710,7 +43354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -42756,7 +43401,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -42771,7 +43417,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 1798, @@ -42825,7 +43472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1778, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1802, @@ -42847,7 +43495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -42882,7 +43531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1785, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -42892,7 +43542,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=usdt;" }, { "id": 1804, @@ -42947,7 +43598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1807, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, { "id": 1808, @@ -42975,7 +43627,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 1809, @@ -43005,7 +43658,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 1810, @@ -43039,7 +43693,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "fundAddress" }, { "id": 1811, @@ -43082,7 +43737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -43106,7 +43762,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -43150,14 +43807,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "_swapRouter" }, "member_name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapRouter_$119", "type_string": "contract ISwapRouter" - } + }, + "text": "_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -43281,7 +43940,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapTokenForFund2(uint256tokenAmount)privatelockTheSwap{if(0==tokenAmount){return;}address[]memorypath=newaddress[](2);addressusdt=_usdt;path[0]=address(this);path[1]=usdt;_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,fundAddress,block.timestamp);}" }, { "id": 1814, @@ -43370,7 +44030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1828, @@ -43390,7 +44051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1828, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -43450,7 +44112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 358, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1832, @@ -43470,7 +44133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1832, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -43505,7 +44169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1833, - "is_pure": false + "is_pure": false, + "text": "tAmount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -43520,7 +44185,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]=_balances[to]+tAmount;" }, { "id": 1834, @@ -43552,7 +44218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1835, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 1836, @@ -43572,7 +44239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1836, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 1837, @@ -43592,7 +44260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1837, - "is_pure": false + "is_pure": false, + "text": "tAmount" } ], "expression": { @@ -43613,7 +44282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 102, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -43785,13 +44455,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_takeTransfer(address, address, uint256)", - "signature": "e94461bc", + "signature_raw": "_takeTransfer(address,address,uint256)", + "signature": "7a598af9", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_takeTransfer(addresssender,addressto,uint256tAmount)private{_balances[to]=_balances[to]+tAmount;emitTransfer(sender,to,tAmount);}" }, { "id": 1840, @@ -43869,7 +44540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 371, - "is_pure": false + "is_pure": false, + "text": "fundAddress" }, "right_expression": { "id": 1851, @@ -43889,7 +44561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1851, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_description": { "type_identifier": "t_address", @@ -43899,7 +44572,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress=addr;" }, { "id": 1852, @@ -43953,7 +44627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1856, @@ -43973,7 +44648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1856, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -44010,7 +44686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -44020,7 +44697,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[addr]=true;" } ] }, @@ -44140,7 +44818,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFundAddress(addressaddr)externalonlyOwner{fundAddress=addr;_feeWhiteList[addr]=true;}" }, { "id": 1859, @@ -44218,7 +44897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 374, - "is_pure": false + "is_pure": false, + "text": "fundAddress2" }, "right_expression": { "id": 1870, @@ -44238,7 +44918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1870, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_description": { "type_identifier": "t_address", @@ -44248,7 +44929,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress2=addr;" }, { "id": 1871, @@ -44302,7 +44984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1875, @@ -44322,7 +45005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1875, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -44359,7 +45043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -44369,7 +45054,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[addr]=true;" } ] }, @@ -44489,7 +45175,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFundAddress2(addressaddr)externalonlyOwner{fundAddress2=addr;_feeWhiteList[addr]=true;}" }, { "id": 1878, @@ -44567,7 +45254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 377, - "is_pure": false + "is_pure": false, + "text": "fundAddress3" }, "right_expression": { "id": 1889, @@ -44587,7 +45275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1889, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_description": { "type_identifier": "t_address", @@ -44597,7 +45286,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "fundAddress3=addr;" }, { "id": 1890, @@ -44651,7 +45341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1894, @@ -44671,7 +45362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1894, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -44708,7 +45400,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -44718,7 +45411,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[addr]=true;" } ] }, @@ -44838,7 +45532,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFundAddress3(addressaddr)externalonlyOwner{fundAddress3=addr;_feeWhiteList[addr]=true;}" }, { "id": 1897, @@ -44916,7 +45611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 502, - "is_pure": false + "is_pure": false, + "text": "_receiveAddress" }, "right_expression": { "id": 1908, @@ -44936,7 +45632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_description": { "type_identifier": "t_address", @@ -44946,7 +45643,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_receiveAddress=addr;" }, { "id": 1909, @@ -45000,7 +45698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 1913, @@ -45020,7 +45719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -45057,7 +45757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -45067,7 +45768,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[addr]=true;" } ] }, @@ -45187,7 +45889,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetReceiveAddress(addressaddr)externalonlyOwner{_receiveAddress=addr;_feeWhiteList[addr]=true;}" }, { "id": 1916, @@ -45265,7 +45968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 429, - "is_pure": false + "is_pure": false, + "text": "_buyDestroyFee" }, "right_expression": { "id": 1937, @@ -45285,7 +45989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1937, - "is_pure": false + "is_pure": false, + "text": "buyDestroyFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -45295,7 +46000,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_buyDestroyFee=buyDestroyFee;" }, { "id": 1938, @@ -45338,7 +46044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 433, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee" }, "right_expression": { "id": 1941, @@ -45358,7 +46065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1941, - "is_pure": false + "is_pure": false, + "text": "buyFundFee" }, "type_description": { "type_identifier": "t_rational_400_by_1", @@ -45368,7 +46076,8 @@ "type_description": { "type_identifier": "t_rational_400_by_1", "type_string": "int_const 400" - } + }, + "text": "_buyFundFee=buyFundFee;" }, { "id": 1942, @@ -45411,7 +46120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee2" }, "right_expression": { "id": 1945, @@ -45431,7 +46141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1945, - "is_pure": false + "is_pure": false, + "text": "buyFundFee2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -45441,7 +46152,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_buyFundFee2=buyFundFee2;" }, { "id": 1946, @@ -45484,7 +46196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 441, - "is_pure": false + "is_pure": false, + "text": "_buyFundFee3" }, "right_expression": { "id": 1949, @@ -45504,7 +46217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1949, - "is_pure": false + "is_pure": false, + "text": "buyFundFee3" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -45514,7 +46228,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_buyFundFee3=buyFundFee3;" }, { "id": 1950, @@ -45557,7 +46272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 445, - "is_pure": false + "is_pure": false, + "text": "_buyLPDividendFee" }, "right_expression": { "id": 1953, @@ -45577,7 +46293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1953, - "is_pure": false + "is_pure": false, + "text": "lpDividendFee" }, "type_description": { "type_identifier": "t_rational_100_by_1", @@ -45587,7 +46304,8 @@ "type_description": { "type_identifier": "t_rational_100_by_1", "type_string": "int_const 100" - } + }, + "text": "_buyLPDividendFee=lpDividendFee;" }, { "id": 1954, @@ -45630,7 +46348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 449, - "is_pure": false + "is_pure": false, + "text": "_buyLPFee" }, "right_expression": { "id": 1957, @@ -45650,7 +46369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1957, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -45660,7 +46380,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_buyLPFee=lpFee;" } ] }, @@ -45988,13 +46709,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setBuyFee(uint256, uint256, uint256, uint256, uint256, uint256)", - "signature": "ec463e30", + "signature_raw": "setBuyFee(uint256,uint256,uint256,uint256,uint256,uint256)", + "signature": "c0600af3", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256,uint256,uint256,uint256)" - } + }, + "text": "functionsetBuyFee(uint256buyDestroyFee,uint256buyFundFee,uint256buyFundFee2,uint256buyFundFee3,uint256lpDividendFee,uint256lpFee)externalonlyOwner{_buyDestroyFee=buyDestroyFee;_buyFundFee=buyFundFee;_buyFundFee2=buyFundFee2;_buyFundFee3=buyFundFee3;_buyLPDividendFee=lpDividendFee;_buyLPFee=lpFee;}" }, { "id": 1959, @@ -46072,7 +46794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 453, - "is_pure": false + "is_pure": false, + "text": "_sellDestroyFee" }, "right_expression": { "id": 1980, @@ -46092,7 +46815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1980, - "is_pure": false + "is_pure": false, + "text": "sellDestroyFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -46102,7 +46826,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_sellDestroyFee=sellDestroyFee;" }, { "id": 1981, @@ -46145,7 +46870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 457, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee" }, "right_expression": { "id": 1984, @@ -46165,7 +46891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1984, - "is_pure": false + "is_pure": false, + "text": "sellFundFee" }, "type_description": { "type_identifier": "t_rational_400_by_1", @@ -46175,7 +46902,8 @@ "type_description": { "type_identifier": "t_rational_400_by_1", "type_string": "int_const 400" - } + }, + "text": "_sellFundFee=sellFundFee;" }, { "id": 1985, @@ -46218,7 +46946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 461, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee2" }, "right_expression": { "id": 1988, @@ -46238,7 +46967,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1988, - "is_pure": false + "is_pure": false, + "text": "sellFundFee2" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -46248,7 +46978,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_sellFundFee2=sellFundFee2;" }, { "id": 1989, @@ -46291,7 +47022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 465, - "is_pure": false + "is_pure": false, + "text": "_sellFundFee3" }, "right_expression": { "id": 1992, @@ -46311,7 +47043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1992, - "is_pure": false + "is_pure": false, + "text": "sellFundFee3" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -46321,7 +47054,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_sellFundFee3=sellFundFee3;" }, { "id": 1993, @@ -46364,7 +47098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "_sellLPDividendFee" }, "right_expression": { "id": 1996, @@ -46384,7 +47119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1996, - "is_pure": false + "is_pure": false, + "text": "lpDividendFee" }, "type_description": { "type_identifier": "t_rational_100_by_1", @@ -46394,7 +47130,8 @@ "type_description": { "type_identifier": "t_rational_100_by_1", "type_string": "int_const 100" - } + }, + "text": "_sellLPDividendFee=lpDividendFee;" }, { "id": 1997, @@ -46437,7 +47174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "_sellLPFee" }, "right_expression": { "id": 2000, @@ -46457,7 +47195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2000, - "is_pure": false + "is_pure": false, + "text": "lpFee" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -46467,7 +47206,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" - } + }, + "text": "_sellLPFee=lpFee;" } ] }, @@ -46795,13 +47535,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setSellFee(uint256, uint256, uint256, uint256, uint256, uint256)", - "signature": "2c702ef5", + "signature_raw": "setSellFee(uint256,uint256,uint256,uint256,uint256,uint256)", + "signature": "d3466488", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256,uint256,uint256,uint256)" - } + }, + "text": "functionsetSellFee(uint256sellDestroyFee,uint256sellFundFee,uint256sellFundFee2,uint256sellFundFee3,uint256lpDividendFee,uint256lpFee)externalonlyOwner{_sellDestroyFee=sellDestroyFee;_sellFundFee=sellFundFee;_sellFundFee2=sellFundFee2;_sellFundFee3=sellFundFee3;_sellLPDividendFee=lpDividendFee;_sellLPFee=lpFee;}" }, { "id": 2002, @@ -46879,7 +47620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 477, - "is_pure": false + "is_pure": false, + "text": "_transferFee" }, "right_expression": { "id": 2013, @@ -46899,7 +47641,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2013, - "is_pure": false + "is_pure": false, + "text": "fee" }, "type_description": { "type_identifier": "t_rational_9999_by_1", @@ -46909,7 +47652,8 @@ "type_description": { "type_identifier": "t_rational_9999_by_1", "type_string": "int_const 9999" - } + }, + "text": "_transferFee=fee;" } ] }, @@ -47028,7 +47772,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetTransferFee(uint256fee)externalonlyOwner{_transferFee=fee;}" }, { "id": 2015, @@ -47122,7 +47867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 2025, @@ -47142,7 +47888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 487, - "is_pure": false + "is_pure": false, + "text": "startALBlock" }, "type_description": { "type_identifier": "t_bool", @@ -47175,7 +47922,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"startAL\"" } ], "expression": { @@ -47196,7 +47944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -47244,7 +47993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 487, - "is_pure": false + "is_pure": false, + "text": "startALBlock" }, "right_expression": { "id": 2030, @@ -47287,14 +48037,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "number", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.number" }, "type_description": { "type_identifier": "t_uint256", @@ -47304,7 +48056,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "startALBlock=block.number;" } ] }, @@ -47378,7 +48131,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstartAL()externalonlyOwner{require(0==startALBlock,\"startAL\");startALBlock=block.number;}" }, { "id": 2033, @@ -47472,7 +48226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 2043, @@ -47492,7 +48247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 481, - "is_pure": false + "is_pure": false, + "text": "startTradeBlock" }, "type_description": { "type_identifier": "t_bool", @@ -47525,7 +48281,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"trading\"" } ], "expression": { @@ -47546,7 +48303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -47594,7 +48352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 481, - "is_pure": false + "is_pure": false, + "text": "startTradeBlock" }, "right_expression": { "id": 2048, @@ -47637,14 +48396,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "number", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.number" }, "type_description": { "type_identifier": "t_uint256", @@ -47654,7 +48415,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "startTradeBlock=block.number;" } ] }, @@ -47728,7 +48490,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionstartTrade()externalonlyOwner{require(0==startTradeBlock,\"trading\");startTradeBlock=block.number;}" }, { "id": 2051, @@ -47817,7 +48580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 409, - "is_pure": false + "is_pure": false, + "text": "_swapPairList" }, "base_expression": { "id": 2065, @@ -47837,7 +48601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2065, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -47872,7 +48637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2066, - "is_pure": false + "is_pure": false, + "text": "enable" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -47882,7 +48648,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_swapPairList[addr]=enable;" } ] }, @@ -48039,13 +48806,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setSwapPairList(address, bool)", - "signature": "60d2393f", + "signature_raw": "setSwapPairList(address,bool)", + "signature": "a8424861", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetSwapPairList(addressaddr,boolenable)externalonlyOwner{_swapPairList[addr]=enable;}" }, { "id": 2068, @@ -48122,7 +48890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 2075, @@ -48165,14 +48934,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -48282,7 +49053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -48328,7 +49100,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -48340,7 +49113,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } ], "expression": { @@ -48396,7 +49170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 371, - "is_pure": false + "is_pure": false, + "text": "fundAddress" } ], "argument_types": [ @@ -48416,7 +49191,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(fundAddress).transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -48468,7 +49244,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionclaimBalance()external{if(_feeWhiteList[msg.sender]){payable(fundAddress).transfer(address(this).balance);}}" }, { "id": 2088, @@ -48545,7 +49322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 2099, @@ -48588,14 +49366,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -48667,7 +49447,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "fundAddress" }, { "id": 2108, @@ -48693,7 +49474,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" } ], "expression": { @@ -48756,7 +49538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2106, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -48777,7 +49560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -48789,7 +49573,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(token).transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$", @@ -48924,13 +49709,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "claimToken(address, uint256)", - "signature": "0f114998", + "signature_raw": "claimToken(address,uint256)", + "signature": "1698755f", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionclaimToken(addresstoken,uint256amount)external{if(_feeWhiteList[msg.sender]){IERC20(token).transfer(fundAddress,amount);}}" }, { "id": 2110, @@ -49008,7 +49794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 493, - "is_pure": false + "is_pure": false, + "text": "_limitAmount" }, "right_expression": { "id": 2121, @@ -49042,7 +49829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2122, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2124, @@ -49075,7 +49863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 2126, @@ -49095,7 +49884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_descriptions": [ { @@ -49121,7 +49911,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_limitAmount=amount*10**_decimals;" } ] }, @@ -49240,7 +50031,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetLimitAmount(uint256amount)externalonlyOwner{_limitAmount=amount*10**_decimals;}" }, { "id": 2128, @@ -49318,7 +50110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "_txLimitAmount" }, "right_expression": { "id": 2139, @@ -49352,7 +50145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2140, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2142, @@ -49385,7 +50179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 2144, @@ -49405,7 +50200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_descriptions": [ { @@ -49431,7 +50227,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_txLimitAmount=amount*10**_decimals;" } ] }, @@ -49550,7 +50347,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetTxLimitAmount(uint256amount)externalonlyOwner{_txLimitAmount=amount*10**_decimals;}" }, { "id": 2146, @@ -49691,7 +50489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "_minTotal" }, "right_expression": { "id": 2162, @@ -49725,7 +50524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2163, - "is_pure": false + "is_pure": false, + "text": "total" }, "right_expression": { "id": 2165, @@ -49758,7 +50558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 2167, @@ -49778,7 +50579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_descriptions": [ { @@ -49804,7 +50606,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_minTotal=total*10**_decimals;" } ] }, @@ -49923,7 +50726,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetMinTotal(uint256total)externalonlyOwner{_minTotal=total*10**_decimals;}" }, { "id": 2169, @@ -49991,7 +50795,7 @@ "mutability": 1, "type_name": { "id": 2173, - "node_type": 0, + "node_type": 53, "src": { "line": 674, "column": 4, @@ -50084,7 +50888,7 @@ "mutability": 1, "type_name": { "id": 2178, - "node_type": 0, + "node_type": 53, "src": { "line": 675, "column": 4, @@ -50241,14 +51045,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.length" } } ] @@ -50383,7 +51189,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetHolderLength()publicviewreturns(uint256){returnholders.length;}" }, { "id": 2194, @@ -50465,7 +51272,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 2203, @@ -50496,7 +51304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2172, - "is_pure": false + "is_pure": false, + "text": "holderIndex" }, "base_expression": { "id": 2205, @@ -50516,7 +51325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2205, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_descriptions": [ { @@ -50611,7 +51421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "right_expression": { "id": 2211, @@ -50654,14 +51465,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.length" }, "type_description": { "type_identifier": "t_bool", @@ -50711,7 +51524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "base_expression": { "id": 2216, @@ -50733,7 +51547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -50768,7 +51583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2217, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_description": { "type_identifier": "t_bool", @@ -51019,7 +51835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2219, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 2234, @@ -51041,7 +51858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -51131,7 +51949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2172, - "is_pure": false + "is_pure": false, + "text": "holderIndex" }, "base_expression": { "id": 2241, @@ -51151,7 +51970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2241, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_descriptions": [ { @@ -51209,14 +52029,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.length" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -51226,7 +52048,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "holderIndex[adr]=holders.length;" }, { "id": 2244, @@ -51265,7 +52088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2247, - "is_pure": false + "is_pure": false, + "text": "adr" } ], "expression": { @@ -51309,14 +52133,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.push" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -51417,7 +52243,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaddHolder(addressadr)private{if(0==holderIndex[adr]){if(0==holders.length||holders[0]!=adr){uint256size;assembly{size:=extcodesize(adr)}if(size\u003e0){return;}holderIndex[adr]=holders.length;holders.push(adr);}}}" }, { "id": 2249, @@ -51563,7 +52390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -51668,7 +52496,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { @@ -51807,14 +52636,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "number", "argument_types": [], "type_description": { "type_identifier": "t_magic_block", "type_string": "block" - } + }, + "text": "block.number" } }, { @@ -51874,7 +52705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2259, - "is_pure": false + "is_pure": false, + "text": "progressRewardBlock" }, "right_expression": { "id": 2281, @@ -51894,7 +52726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2262, - "is_pure": false + "is_pure": false, + "text": "progressRewardBlockDebt" }, "type_description": { "type_identifier": "t_uint256", @@ -51919,7 +52752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2272, - "is_pure": false + "is_pure": false, + "text": "blockNum" }, "type_description": { "type_identifier": "t_bool", @@ -52075,7 +52909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_usdt" } ], "expression": { @@ -52096,7 +52931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -52220,7 +53056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -52266,7 +53103,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -52315,14 +53153,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2285, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "usdt.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -52373,7 +53213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2292, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 2305, @@ -52393,7 +53234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "holderRewardCondition" }, "type_description": { "type_identifier": "t_bool", @@ -52472,7 +53314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2292, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 2311, @@ -52492,7 +53335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "holderRewardCondition" }, "type_description": { "type_identifier": "t_uint256", @@ -52502,7 +53346,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "balance=holderRewardCondition;" }, { "id": 2312, @@ -52622,7 +53467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mainPair" } ], "expression": { @@ -52643,7 +53489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -52766,14 +53613,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2312, - "is_pure": false + "is_pure": false, + "text": "holdToken" }, "member_name": "totalSupply", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "holdToken.totalSupply" }, "type_description": { "type_identifier": "t_function_$", @@ -52824,7 +53673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2319, - "is_pure": false + "is_pure": false, + "text": "holdTokenTotal" }, "right_expression": { "id": 2328, @@ -52846,7 +53696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -53169,14 +54020,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "holders.length" } }, { @@ -53259,7 +54112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -53342,7 +54196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -53437,7 +54292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -53523,7 +54379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2255, - "is_pure": false + "is_pure": false, + "text": "holderCondition" } }, { @@ -53581,7 +54438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2345, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 2366, @@ -53601,7 +54459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2366, - "is_pure": false + "is_pure": false, + "text": "gas" }, "type_description": { "type_identifier": "t_bool", @@ -53640,7 +54499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2349, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "right_expression": { "id": 2369, @@ -53660,7 +54520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2340, - "is_pure": false + "is_pure": false, + "text": "shareholderCount" }, "type_description": { "type_identifier": "t_bool", @@ -53735,7 +54596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2249, - "is_pure": false + "is_pure": false, + "text": "currentIndex" }, "right_expression": { "id": 2374, @@ -53755,7 +54617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2340, - "is_pure": false + "is_pure": false, + "text": "shareholderCount" }, "type_description": { "type_identifier": "t_bool", @@ -53816,7 +54679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2249, - "is_pure": false + "is_pure": false, + "text": "currentIndex" }, "right_expression": { "id": 2379, @@ -53838,7 +54702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_uint256", @@ -53848,7 +54713,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "currentIndex=0;" } ] } @@ -53894,7 +54760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2331, - "is_pure": false + "is_pure": false, + "text": "shareHolder" }, "right_expression": { "id": 2383, @@ -53925,7 +54792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2169, - "is_pure": false + "is_pure": false, + "text": "holders" }, "base_expression": { "id": 2385, @@ -53945,7 +54813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2249, - "is_pure": false + "is_pure": false, + "text": "currentIndex" }, "type_descriptions": [ { @@ -53970,7 +54839,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "shareHolder=holders[currentIndex];" }, { "id": 2386, @@ -54013,7 +54883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2334, - "is_pure": false + "is_pure": false, + "text": "tokenBalance" }, "right_expression": { "id": 2389, @@ -54052,7 +54923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "shareHolder" } ], "expression": { @@ -54096,14 +54968,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2312, - "is_pure": false + "is_pure": false, + "text": "holdToken" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$7", "type_string": "contract IERC20" - } + }, + "text": "holdToken.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -54118,7 +54992,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenBalance=holdToken.balanceOf(shareHolder);" }, { "id": 2393, @@ -54175,7 +55050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2334, - "is_pure": false + "is_pure": false, + "text": "tokenBalance" }, "right_expression": { "id": 2398, @@ -54195,7 +55071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2358, - "is_pure": false + "is_pure": false, + "text": "holdCondition" }, "type_description": { "type_identifier": "t_bool", @@ -54248,7 +55125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2177, - "is_pure": false + "is_pure": false, + "text": "excludeHolder" }, "base_expression": { "id": 2402, @@ -54268,7 +55146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2331, - "is_pure": false + "is_pure": false, + "text": "shareHolder" }, "type_descriptions": [ { @@ -54356,7 +55235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 60, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2407, @@ -54404,7 +55284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 912, - "is_pure": false + "is_pure": false, + "text": "balance" }, "right_expression": { "id": 2410, @@ -54424,7 +55305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2334, - "is_pure": false + "is_pure": false, + "text": "tokenBalance" }, "type_description": { "type_identifier": "t_uint256", @@ -54449,7 +55331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2319, - "is_pure": false + "is_pure": false, + "text": "holdTokenTotal" }, "type_description": { "type_identifier": "t_uint256", @@ -54464,7 +55347,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amount=balance*tokenBalance/holdTokenTotal;" }, { "id": 2412, @@ -54509,7 +55393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 60, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2415, @@ -54531,7 +55416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -54592,7 +55478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "shareHolder" }, { "id": 2421, @@ -54618,7 +55505,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amount" } ], "expression": { @@ -54662,14 +55550,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 590, - "is_pure": false + "is_pure": false, + "text": "usdt" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "usdt.transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -54723,7 +55613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2345, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 2425, @@ -54757,7 +55648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2345, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 2427, @@ -54805,7 +55697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2353, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 2430, @@ -54839,7 +55732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -54870,7 +55764,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed=gasUsed+(gasLeft-gasleft());" }, { "id": 2432, @@ -54913,7 +55808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2353, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 2435, @@ -54947,7 +55843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -54962,7 +55859,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft=gasleft();" }, { "id": 2437, @@ -54994,7 +55892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2249, - "is_pure": false + "is_pure": false, + "text": "currentIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -55036,7 +55935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2349, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "type_description": { "type_identifier": "t_uint256", @@ -55092,7 +55992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2259, - "is_pure": false + "is_pure": false, + "text": "progressRewardBlock" }, "right_expression": { "id": 2444, @@ -55112,7 +56013,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2272, - "is_pure": false + "is_pure": false, + "text": "blockNum" }, "type_description": { "type_identifier": "t_uint256", @@ -55122,7 +56024,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "progressRewardBlock=blockNum;" } ] }, @@ -55211,7 +56114,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocessReward(uint256gas)private{uint256blockNum=block.number;if(progressRewardBlock+progressRewardBlockDebt\u003eblockNum){return;}IERC20usdt=IERC20(_usdt);uint256balance=usdt.balanceOf(address(this));if(balance\u003cholderRewardCondition){return;}balance=holderRewardCondition;IERC20holdToken=IERC20(_mainPair);uintholdTokenTotal=holdToken.totalSupply();if(holdTokenTotal==0){return;}addressshareHolder;uint256tokenBalance;uint256amount;uint256shareholderCount=holders.length;uint256gasUsed=0;uint256iterations=0;uint256gasLeft=gasleft();uint256holdCondition=holderCondition;while(gasUsed\u003cgas\u0026\u0026iterations\u003cshareholderCount){if(currentIndex\u003e=shareholderCount){currentIndex=0;}shareHolder=holders[currentIndex];tokenBalance=holdToken.balanceOf(shareHolder);if(tokenBalance\u003e=holdCondition\u0026\u0026!excludeHolder[shareHolder]){amount=balance*tokenBalance/holdTokenTotal;if(amount\u003e0){usdt.transfer(shareHolder,amount);}}gasUsed=gasUsed+(gasLeft-gasleft());gasLeft=gasleft();currentIndex++;iterations++;}progressRewardBlock=blockNum;}" }, { "id": 2446, @@ -55289,7 +56193,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2252, - "is_pure": false + "is_pure": false, + "text": "holderRewardCondition" }, "right_expression": { "id": 2457, @@ -55309,7 +56214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2457, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -55319,7 +56225,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "holderRewardCondition=amount;" } ] }, @@ -55438,7 +56345,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetHolderRewardCondition(uint256amount)externalonlyOwner{holderRewardCondition=amount;}" }, { "id": 2459, @@ -55516,7 +56424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2255, - "is_pure": false + "is_pure": false, + "text": "holderCondition" }, "right_expression": { "id": 2470, @@ -55536,7 +56445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2470, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -55546,7 +56456,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "holderCondition=amount;" } ] }, @@ -55665,7 +56576,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetHolderCondition(uint256amount)externalonlyOwner{holderCondition=amount;}" }, { "id": 2472, @@ -55754,7 +56666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2177, - "is_pure": false + "is_pure": false, + "text": "excludeHolder" }, "base_expression": { "id": 2486, @@ -55774,7 +56687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2486, - "is_pure": false + "is_pure": false, + "text": "addr" }, "type_descriptions": [ { @@ -55809,7 +56723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2487, - "is_pure": false + "is_pure": false, + "text": "enable" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -55819,7 +56734,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "excludeHolder[addr]=enable;" } ] }, @@ -55976,13 +56892,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setExcludeHolder(address, bool)", - "signature": "a4c71cb8", + "signature_raw": "setExcludeHolder(address,bool)", + "signature": "05833c2b", "scope": 352, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetExcludeHolder(addressaddr,boolenable)externalonlyOwner{excludeHolder[addr]=enable;}" }, { "id": 2489, @@ -56060,7 +56977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2262, - "is_pure": false + "is_pure": false, + "text": "progressRewardBlockDebt" }, "right_expression": { "id": 2500, @@ -56080,7 +56998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2500, - "is_pure": false + "is_pure": false, + "text": "blockDebt" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -56090,7 +57009,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "progressRewardBlockDebt=blockDebt;" } ] }, @@ -56209,7 +57129,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetProgressRewardBlockDebt(uint256blockDebt)externalonlyOwner{progressRewardBlockDebt=blockDebt;}" }, { "id": 2502, @@ -56287,7 +57208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 505, - "is_pure": false + "is_pure": false, + "text": "_airdropLen" }, "right_expression": { "id": 2513, @@ -56307,7 +57229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2513, - "is_pure": false + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -56317,7 +57240,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "_airdropLen=len;" } ] }, @@ -56436,7 +57360,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetAirdropLen(uint256len)externalonlyOwner{_airdropLen=len;}" }, { "id": 2515, @@ -56514,7 +57439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 509, - "is_pure": false + "is_pure": false, + "text": "_airdropAmount" }, "right_expression": { "id": 2526, @@ -56534,7 +57460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2526, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_rational_100_by_1", @@ -56544,7 +57471,8 @@ "type_description": { "type_identifier": "t_rational_100_by_1", "type_string": "int_const 100" - } + }, + "text": "_airdropAmount=amount;" } ] }, @@ -56663,7 +57591,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetAirdropAmount(uint256amount)externalonlyOwner{_airdropAmount=amount;}" }, { "id": 2528, @@ -56741,7 +57670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 521, - "is_pure": false + "is_pure": false, + "text": "_lpFeeReceiver" }, "right_expression": { "id": 2539, @@ -56761,7 +57691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2539, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_description": { "type_identifier": "t_address", @@ -56771,7 +57702,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_lpFeeReceiver=adr;" }, { "id": 2540, @@ -56825,7 +57757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 389, - "is_pure": false + "is_pure": false, + "text": "_feeWhiteList" }, "base_expression": { "id": 2544, @@ -56845,7 +57778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2544, - "is_pure": false + "is_pure": false, + "text": "adr" }, "type_descriptions": [ { @@ -56882,7 +57816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -56892,7 +57827,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_feeWhiteList[adr]=true;" } ] }, @@ -57012,7 +57948,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLPFeeReceiver(addressadr)externalonlyOwner{_lpFeeReceiver=adr;_feeWhiteList[adr]=true;}" }, { "id": 2547, @@ -57167,7 +58104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mainPair" } ], "expression": { @@ -57188,7 +58126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISwapPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -57356,14 +58295,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2555, - "is_pure": false + "is_pure": false, + "text": "swapPair" }, "member_name": "getReserves", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ISwapPair_$187", "type_string": "contract ISwapPair" - } + }, + "text": "swapPair.getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -57469,7 +58410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -57515,7 +58457,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -57566,7 +58509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2562, - "is_pure": false + "is_pure": false, + "text": "reserve0" }, "right_expression": { "id": 2580, @@ -57588,7 +58532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -57774,7 +58719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 331, - "is_pure": false + "is_pure": false, + "text": "token" }, "right_expression": { "id": 2591, @@ -57794,7 +58740,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 406, - "is_pure": false + "is_pure": false, + "text": "_usdt" }, "type_description": { "type_identifier": "t_bool", @@ -57856,7 +58803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1538, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "right_expression": { "id": 2596, @@ -57876,7 +58824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 193, - "is_pure": false + "is_pure": false, + "text": "reserve0" }, "type_description": { "type_identifier": "t_uint256", @@ -57886,7 +58835,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenAmount=reserve0;" }, { "id": 2597, @@ -57929,7 +58879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2582, - "is_pure": false + "is_pure": false, + "text": "usdtAmount" }, "right_expression": { "id": 2600, @@ -57949,7 +58900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 195, - "is_pure": false + "is_pure": false, + "text": "reserve1" }, "type_description": { "type_identifier": "t_uint256", @@ -57959,7 +58911,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "usdtAmount=reserve1;" } ] } @@ -58005,7 +58958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2603, - "is_pure": false + "is_pure": false, + "text": "price" }, "right_expression": { "id": 2604, @@ -58066,7 +59020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 2609, @@ -58142,7 +59097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -58163,7 +59119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -58175,7 +59132,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(token).decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -58211,7 +59169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2582, - "is_pure": false + "is_pure": false, + "text": "usdtAmount" }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -58236,7 +59195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2585, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -58251,7 +59211,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "price=10**IERC20(token).decimals()*usdtAmount/tokenAmount;" } ] } @@ -58388,7 +59349,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetTokenPrice()publicviewreturns(uint256price){ISwapPairswapPair=ISwapPair(_mainPair);(uint256reserve0,uint256reserve1,)=swapPair.getReserves();addresstoken=address(this);if(reserve0\u003e0){uint256usdtAmount;uint256tokenAmount;if(token\u003c_usdt){tokenAmount=reserve0;usdtAmount=reserve1;}else{tokenAmount=reserve1;usdtAmount=reserve0;}price=10**IERC20(token).decimals()*usdtAmount/tokenAmount;}}" } ], "linearized_base_contracts": [ @@ -58683,7 +59645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x10ED43C718714eb63d5aA57B78B54704E256024E" } ], "expression": { @@ -58729,7 +59692,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -58775,7 +59739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c" } ], "expression": { @@ -58821,7 +59786,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -58848,7 +59814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"PAPA\"" }, { "id": 2636, @@ -58870,7 +59837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"PAPA\"" }, { "id": 2637, @@ -58892,7 +59860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" }, { "id": 2638, @@ -58914,7 +59883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10000000" }, { "id": 2639, @@ -58955,7 +59925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x6D5620aF4c14c39f346aadCd116BC49ECe5AF54D" } ], "expression": { @@ -59001,7 +59972,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -59047,7 +60019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x8365B09181a83f57A061DECc2E5c54FAe5bED43c" } ], "expression": { @@ -59093,7 +60066,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -59139,7 +60113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x8365B09181a83f57A061DECc2E5c54FAe5bED43c" } ], "expression": { @@ -59185,7 +60160,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -59231,7 +60207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xbb52aCBb4e4558EAeb17B361b431f60556b6eB12" } ], "expression": { @@ -59277,7 +60254,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -59304,7 +60282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000000" }, { "id": 2656, @@ -59326,7 +60305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 2657, @@ -59348,7 +60328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000000" } ], "modifier_name": { diff --git a/data/tests/contracts/papa/Token.solgo.ast.proto.json b/data/tests/contracts/papa/Token.solgo.ast.proto.json index 3984a96a..136052cc 100644 --- a/data/tests/contracts/papa/Token.solgo.ast.proto.json +++ b/data/tests/contracts/papa/Token.solgo.ast.proto.json @@ -548,6 +548,7 @@ "parentIndex": "2686", "start": "2937" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "2955", @@ -636,6 +637,7 @@ "parentIndex": "2690", "start": "2988" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "3026", @@ -1017,6 +1019,7 @@ "parentIndex": "2709", "start": "3248" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "3263", @@ -1105,6 +1108,7 @@ "parentIndex": "2713", "start": "3300" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "3315", @@ -1336,6 +1340,7 @@ "parentIndex": "2724", "start": "3440" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "3455", @@ -6004,6 +6009,7 @@ "parentIndex": "2949", "start": "22205" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22223", @@ -6092,6 +6098,7 @@ "parentIndex": "2953", "start": "22257" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22272", @@ -8235,7 +8242,7 @@ } }, "scope": "9", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "537", @@ -8423,7 +8430,7 @@ } }, "scope": "9", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "626", @@ -8610,7 +8617,7 @@ } }, "scope": "9", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "706", @@ -8836,7 +8843,7 @@ } }, "scope": "9", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "809", @@ -9630,7 +9637,7 @@ } }, "scope": "121", - "signature": "57614bd1", + "signature": "22b0430c", "src": { "column": "4", "end": "1263", @@ -10124,7 +10131,7 @@ } }, "scope": "121", - "signature": "b0a5b69b", + "signature": "dd83139f", "src": { "column": "4", "end": "1558", @@ -10393,7 +10400,7 @@ } }, "scope": "175", - "signature": "a36b5e48", + "signature": "c9c65396", "src": { "column": "4", "end": "1675", @@ -10773,7 +10780,7 @@ } }, "scope": "189", - "signature": "06f200c5", + "signature": "9ca6edd7", "src": { "column": "4", "end": "1814", @@ -13769,6 +13776,7 @@ "parentIndex": "359", "start": "2937" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "2955", @@ -13859,6 +13867,7 @@ "parentIndex": "364", "start": "2988" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "3026", @@ -14254,6 +14263,7 @@ "parentIndex": "390", "start": "3248" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "3263", @@ -14344,6 +14354,7 @@ "parentIndex": "395", "start": "3300" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "3315", @@ -14583,6 +14594,7 @@ "parentIndex": "410", "start": "3440" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "3455", @@ -21875,10 +21887,14 @@ "start": "6634" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", - "typeString": "index[unknown:function(int_const 0)]" + "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", + "typeString": "index[mapping(address=\u003ebool):function(int_const 0)]" }, "typeDescriptions": [ + { + "typeIdentifier": "t_mapping_$t_address_$t_bool$", + "typeString": "mapping(address=\u003ebool)" + }, { "typeIdentifier": "t_function_$_t_rational_0_by_1$", "typeString": "function(int_const 0)" @@ -22078,14 +22094,10 @@ "start": "6676" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", - "typeString": "index[mapping(address=\u003ebool):function(int_const 0x000000000000000000000000000000000000dEaD)]" + "typeIdentifier": "t_[_[$_t_unknown]$_t_function_$_t_rational_0_by_1$", + "typeString": "index[unknown:function(int_const 0x000000000000000000000000000000000000dEaD)]" }, "typeDescriptions": [ - { - "typeIdentifier": "t_mapping_$t_address_$t_bool$", - "typeString": "mapping(address=\u003ebool)" - }, { "typeIdentifier": "t_function_$_t_rational_0_by_1$", "typeString": "function(int_const 0x000000000000000000000000000000000000dEaD)" @@ -24963,7 +24975,7 @@ } }, "scope": "352", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "7672", @@ -25314,7 +25326,7 @@ } }, "scope": "352", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "7819", @@ -25728,7 +25740,7 @@ } }, "scope": "352", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "7981", @@ -26748,7 +26760,7 @@ } }, "scope": "352", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "8317", @@ -27221,7 +27233,7 @@ } }, "scope": "352", - "signature": "76c3ae3e", + "signature": "104e81ff", "src": { "column": "4", "end": "8497", @@ -32519,7 +32531,7 @@ } }, "scope": "352", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "11005", @@ -36361,7 +36373,7 @@ } }, "scope": "352", - "signature": "4316a058", + "signature": "f5597dea", "src": { "column": "4", "end": "12507", @@ -37518,7 +37530,7 @@ } }, "scope": "352", - "signature": "357666d8", + "signature": "1cfb26d9", "src": { "column": "4", "end": "16919", @@ -44272,7 +44284,7 @@ } }, "scope": "352", - "signature": "e94461bc", + "signature": "7a598af9", "src": { "column": "4", "end": "19538", @@ -46513,7 +46525,7 @@ } }, "scope": "352", - "signature": "ec463e30", + "signature": "c0600af3", "src": { "column": "4", "end": "20497", @@ -47330,7 +47342,7 @@ } }, "scope": "352", - "signature": "2c702ef5", + "signature": "d3466488", "src": { "column": "4", "end": "20924", @@ -48573,7 +48585,7 @@ } }, "scope": "352", - "signature": "60d2393f", + "signature": "a8424861", "src": { "column": "4", "end": "21422", @@ -49449,7 +49461,7 @@ } }, "scope": "352", - "signature": "0f114998", + "signature": "1698755f", "src": { "column": "4", "end": "21766", @@ -50528,6 +50540,7 @@ "parentIndex": "2173", "start": "22205" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22223", @@ -50618,6 +50631,7 @@ "parentIndex": "2178", "start": "22257" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "22272", @@ -56710,7 +56724,7 @@ } }, "scope": "352", - "signature": "a4c71cb8", + "signature": "05833c2b", "src": { "column": "4", "end": "24976", diff --git a/data/tests/contracts/papa/TokenDistributor.solgo.ast.json b/data/tests/contracts/papa/TokenDistributor.solgo.ast.json index 3345c350..88e2c8ad 100644 --- a/data/tests/contracts/papa/TokenDistributor.solgo.ast.json +++ b/data/tests/contracts/papa/TokenDistributor.solgo.ast.json @@ -230,14 +230,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 342, @@ -315,7 +317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -360,7 +363,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -415,7 +419,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -483,7 +488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 339, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -504,7 +510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -516,7 +523,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(token).approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_function_$_t_rational_0_by_1$", diff --git a/data/tests/contracts/ptm/BlackList.solgo.ast.json b/data/tests/contracts/ptm/BlackList.solgo.ast.json index 4cdfdfac..112267ce 100644 --- a/data/tests/contracts/ptm/BlackList.solgo.ast.json +++ b/data/tests/contracts/ptm/BlackList.solgo.ast.json @@ -117,7 +117,7 @@ "mutability": 1, "type_name": { "id": 3147, - "node_type": 0, + "node_type": 53, "src": { "line": 1266, "column": 4, @@ -273,7 +273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3146, - "is_pure": false + "is_pure": false, + "text": "isBlackListed" }, "base_expression": { "id": 3163, @@ -293,7 +294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3163, - "is_pure": false + "is_pure": false, + "text": "_evilUser" }, "type_descriptions": [ { @@ -330,7 +332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -340,7 +343,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "isBlackListed[_evilUser]=true;" }, { "id": 3165, @@ -372,7 +376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3166, - "is_pure": false + "is_pure": false, + "text": "_evilUser" } ], "expression": { @@ -393,7 +398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3954, - "is_pure": false + "is_pure": false, + "text": "AddedBlackList" } } ] @@ -514,7 +520,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaddBlackList(address_evilUser)publiconlyOwner{isBlackListed[_evilUser]=true;emitAddedBlackList(_evilUser);}" }, { "id": 3169, @@ -603,7 +610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3146, - "is_pure": false + "is_pure": false, + "text": "isBlackListed" }, "base_expression": { "id": 3181, @@ -623,7 +631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3181, - "is_pure": false + "is_pure": false, + "text": "_clearedUser" }, "type_descriptions": [ { @@ -660,7 +669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -670,7 +680,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "isBlackListed[_clearedUser]=false;" }, { "id": 3183, @@ -702,7 +713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3184, - "is_pure": false + "is_pure": false, + "text": "_clearedUser" } ], "expression": { @@ -723,7 +735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3958, - "is_pure": false + "is_pure": false, + "text": "RemovedBlackList" } } ] @@ -844,7 +857,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionremoveBlackList(address_clearedUser)publiconlyOwner{isBlackListed[_clearedUser]=false;emitRemovedBlackList(_clearedUser);}" }, { "id": 3187, diff --git a/data/tests/contracts/ptm/DexBaseUSDT.solgo.ast.json b/data/tests/contracts/ptm/DexBaseUSDT.solgo.ast.json index c1194bf2..1a973fac 100644 --- a/data/tests/contracts/ptm/DexBaseUSDT.solgo.ast.json +++ b/data/tests/contracts/ptm/DexBaseUSDT.solgo.ast.json @@ -201,7 +201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ROUTER" } ], "expression": { @@ -222,7 +223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Router" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -396,7 +398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "30" } }, { @@ -459,7 +462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5" } }, { @@ -522,7 +526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "24" } }, { @@ -599,7 +604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 2255, @@ -618,7 +624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 125, - "is_pure": false + "is_pure": false, + "text": "1e10ether" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -717,7 +724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2222, - "is_pure": false + "is_pure": false, + "text": "inisSwap" }, "right_expression": { "id": 2263, @@ -739,7 +747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -749,7 +758,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "inisSwap=true;" }, { "id": 2264, @@ -769,7 +779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 2265, @@ -812,7 +823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2222, - "is_pure": false + "is_pure": false, + "text": "inisSwap" }, "right_expression": { "id": 2268, @@ -834,7 +846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -844,7 +857,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "inisSwap=false;" } ] } @@ -949,7 +963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2232, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "right_expression": { "id": 2277, @@ -1011,7 +1026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -1057,7 +1073,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1088,7 +1105,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "USDT" } ], "expression": { @@ -1188,14 +1206,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2225, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "factory", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "uniswapV2Router.factory" }, "type_description": { "type_identifier": "t_function_$", @@ -1221,7 +1241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Factory" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1233,7 +1254,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IUniswapV2Factory(uniswapV2Router.factory()).createPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$", @@ -1248,7 +1270,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "uniswapV2Pair=IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),USDT);" }, { "id": 2289, @@ -1291,7 +1314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "right_expression": { "id": 2292, @@ -1338,7 +1362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "BTCB" }, { "id": 2297, @@ -1366,7 +1391,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "300" }, { "id": 2298, @@ -1396,7 +1422,8 @@ "type_identifier": "t_rational_300_by_1", "type_string": "int_const 300" } - ] + ], + "text": "minHoldtoDividend" } ], "expression": { @@ -1468,7 +1495,8 @@ "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor=newDividendDistributor(BTCB,300,minHoldtoDividend);" } ] } diff --git a/data/tests/contracts/ptm/DividendDistributor.solgo.ast.json b/data/tests/contracts/ptm/DividendDistributor.solgo.ast.json index aa027932..dd6f7edb 100644 --- a/data/tests/contracts/ptm/DividendDistributor.solgo.ast.json +++ b/data/tests/contracts/ptm/DividendDistributor.solgo.ast.json @@ -299,7 +299,7 @@ "name": "values", "type_name": { "id": 1456, - "node_type": 0, + "node_type": 53, "src": { "line": 653, "column": 8, @@ -388,7 +388,7 @@ "name": "indexOf", "type_name": { "id": 1460, - "node_type": 0, + "node_type": 53, "src": { "line": 654, "column": 8, @@ -477,7 +477,7 @@ "name": "inserted", "type_name": { "id": 1464, - "node_type": 0, + "node_type": 53, "src": { "line": 655, "column": 8, @@ -684,7 +684,7 @@ "mutability": 1, "type_name": { "id": 1476, - "node_type": 0, + "node_type": 53, "src": { "line": 661, "column": 4, @@ -777,7 +777,7 @@ "mutability": 1, "type_name": { "id": 1481, - "node_type": 0, + "node_type": 53, "src": { "line": 663, "column": 4, @@ -1361,7 +1361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"d_Dividen_Tracker\"" }, { "id": 1524, @@ -1383,7 +1384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"d_Dividend_Tracker\"" }, { "id": 1525, @@ -1403,7 +1405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1525, - "is_pure": false + "is_pure": false, + "text": "dT" } ], "modifier_name": { @@ -1637,7 +1640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "right_expression": { "id": 1530, @@ -1657,7 +1661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1530, - "is_pure": false + "is_pure": false, + "text": "_claimWait" }, "type_description": { "type_identifier": "t_uint256", @@ -1667,7 +1672,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "claimWait=_claimWait;" }, { "id": 1531, @@ -1710,7 +1716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "right_expression": { "id": 1534, @@ -1730,7 +1737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1534, - "is_pure": false + "is_pure": false, + "text": "_minimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_uint256", @@ -1740,7 +1748,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "minimumTokenBalanceForDividends=_minimumTokenBalanceForDividends;" } ] } @@ -1823,7 +1832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, { "id": 1544, @@ -1851,7 +1861,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"d_Dividend_Tracker: withdrawDividend disabled. Use the 'claim' function on the main d contract.\"" } ], "expression": { @@ -1872,7 +1883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1940,7 +1952,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()publicpureoverride{require(false,\"d_Dividend_Tracker: withdrawDividend disabled. Use the 'claim' function on the main d contract.\");}" }, { "id": 1546, @@ -2018,7 +2031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "right_expression": { "id": 1557, @@ -2038,7 +2052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1557, - "is_pure": false + "is_pure": false, + "text": "val" }, "type_description": { "type_identifier": "t_uint256", @@ -2048,7 +2063,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "minimumTokenBalanceForDividends=val;" } ] }, @@ -2167,7 +2183,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetMinimumTokenBalanceForDividends(uint256val)externalonlyOwner{minimumTokenBalanceForDividends=val;}" }, { "id": 1559, @@ -2270,7 +2287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1475, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 1572, @@ -2290,7 +2308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1572, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -2331,7 +2350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -2390,7 +2410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1475, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 1577, @@ -2410,7 +2431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1577, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -2447,7 +2469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -2457,7 +2480,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "excludedFromDividends[account]=true;" }, { "id": 1579, @@ -2500,7 +2524,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1581, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1582, @@ -2528,7 +2553,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -2549,7 +2575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_0_by_1$", @@ -2593,7 +2620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1585, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -2614,7 +2642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPRemove" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2651,7 +2680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1587, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -2672,7 +2702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1491, - "is_pure": false + "is_pure": false, + "text": "ExcludeFromDividends" } } ] @@ -2793,7 +2824,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromDividends(addressaccount)externalonlyOwner{require(!excludedFromDividends[account]);excludedFromDividends[account]=true;_setBalance(account,0);MAPRemove(account);emitExcludeFromDividends(account);}" }, { "id": 1590, @@ -2897,7 +2929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1603, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 1604, @@ -2919,7 +2952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3600" }, "type_description": { "type_identifier": "t_bool", @@ -2958,7 +2992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1606, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 1607, @@ -2980,7 +3015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "86400" }, "type_description": { "type_identifier": "t_bool", @@ -3025,7 +3061,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"d_Dividend_Tracker: claimWait must be updated to between 1 and 24 hours\"" } ], "expression": { @@ -3046,7 +3083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3108,7 +3146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1612, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 1613, @@ -3128,7 +3167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "type_description": { "type_identifier": "t_bool", @@ -3161,7 +3201,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"d_Dividend_Tracker: Cannot update claimWait to same value\"" } ], "expression": { @@ -3182,7 +3223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3219,7 +3261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1616, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, { "id": 1617, @@ -3239,7 +3282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -3260,7 +3304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "ClaimWaitUpdated" } }, { @@ -3304,7 +3349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "right_expression": { "id": 1622, @@ -3324,7 +3370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1622, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "type_description": { "type_identifier": "t_uint256", @@ -3334,7 +3381,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "claimWait=newClaimWait;" } ] }, @@ -3453,7 +3501,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateClaimWait(uint256newClaimWait)externalonlyOwner{require(newClaimWait\u003e=3600\u0026\u0026newClaimWait\u003c=86400,\"d_Dividend_Tracker: claimWait must be updated to between 1 and 24 hours\");require(newClaimWait!=claimWait,\"d_Dividend_Tracker: Cannot update claimWait to same value\");emitClaimWaitUpdated(newClaimWait,claimWait);claimWait=newClaimWait;}" }, { "id": 1624, @@ -3520,7 +3569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } } ] @@ -3655,7 +3705,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetLastProcessedIndex()externalviewreturns(uint256){returnlastProcessedIndex;}" }, { "id": 1635, @@ -3768,21 +3819,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" } } ] @@ -3917,7 +3971,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetNumberOfTokenHolders()externalviewreturns(uint256){returntokenHoldersMap.keys.length;}" }, { "id": 1648, @@ -3995,7 +4050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 205, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 1673, @@ -4015,7 +4071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1673, - "is_pure": false + "is_pure": false, + "text": "_account" }, "type_description": { "type_identifier": "t_address", @@ -4025,7 +4082,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account=_account;" }, { "id": 1674, @@ -4068,7 +4126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1655, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 1677, @@ -4107,7 +4166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -4128,7 +4188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPGetIndexOfKey" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4143,7 +4204,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "index=MAPGetIndexOfKey(account);" }, { "id": 1680, @@ -4186,7 +4248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "iterationsUntilProcessed" }, "right_expression": { "id": 1683, @@ -4226,7 +4289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -4241,7 +4305,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "iterationsUntilProcessed=-1;" }, { "id": 1685, @@ -4286,7 +4351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1655, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 1688, @@ -4308,7 +4374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4391,7 +4458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -4436,7 +4504,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4461,7 +4530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, "type_description": { "type_identifier": "t_bool", @@ -4523,7 +4593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "iterationsUntilProcessed" }, "right_expression": { "id": 1701, @@ -4581,7 +4652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "expression": { @@ -4626,7 +4698,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4675,14 +4748,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1655, - "is_pure": false + "is_pure": false, + "text": "index" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "index.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -4697,7 +4772,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "iterationsUntilProcessed=index.sub(int256(lastProcessedIndex));" } ] } @@ -4746,7 +4822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividends" }, "right_expression": { "id": 1711, @@ -4785,7 +4862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -4806,7 +4884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4821,7 +4900,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "withdrawableDividends=withdrawableDividendOf(account);" }, { "id": 1714, @@ -4864,7 +4944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1661, - "is_pure": false + "is_pure": false, + "text": "totalDividends" }, "right_expression": { "id": 1717, @@ -4903,7 +4984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -4924,7 +5006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "accumulativeDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4939,7 +5022,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividends=accumulativeDividendOf(account);" }, { "id": 1720, @@ -4982,7 +5066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 1723, @@ -5013,7 +5098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1480, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 1725, @@ -5033,7 +5119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 205, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -5058,7 +5145,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastClaimTime=lastClaimTimes[account];" }, { "id": 1726, @@ -5101,7 +5189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1665, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "right_expression": { "id": 1730, @@ -5147,7 +5236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 1733, @@ -5169,7 +5259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5213,7 +5304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -5257,14 +5349,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastClaimTime.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5291,7 +5385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -5318,7 +5413,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextClaimTime=lastClaimTime\u003e0?lastClaimTime.add(claimWait):0;" }, { "id": 1739, @@ -5361,7 +5457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "secondsUntilAutoClaimAvailable" }, "right_expression": { "id": 1743, @@ -5407,7 +5504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1665, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "right_expression": { "id": 1746, @@ -5450,14 +5548,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -5524,14 +5624,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -5575,14 +5677,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1665, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextClaimTime.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5609,7 +5713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -5636,7 +5741,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "secondsUntilAutoClaimAvailable=nextClaimTime\u003eblock.timestamp?nextClaimTime.sub(block.timestamp):0;" } ] }, @@ -6073,7 +6179,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAccount(address_account)publicviewreturns(addressaccount,int256index,int256iterationsUntilProcessed,uint256withdrawableDividends,uint256totalDividends,uint256lastClaimTime,uint256nextClaimTime,uint256secondsUntilAutoClaimAvailable){account=_account;index=MAPGetIndexOfKey(account);iterationsUntilProcessed=-1;if(index\u003e=0){if(uint256(index)\u003elastProcessedIndex){iterationsUntilProcessed=index.sub(int256(lastProcessedIndex));}else{uint256processesUntilEndOfArray=tokenHoldersMap.keys.length\u003elastProcessedIndex?tokenHoldersMap.keys.length.sub(lastProcessedIndex):0;iterationsUntilProcessed=index.add(int256(processesUntilEndOfArray));}}withdrawableDividends=withdrawableDividendOf(account);totalDividends=accumulativeDividendOf(account);lastClaimTime=lastClaimTimes[account];nextClaimTime=lastClaimTime\u003e0?lastClaimTime.add(claimWait):0;secondsUntilAutoClaimAvailable=nextClaimTime\u003eblock.timestamp?nextClaimTime.sub(block.timestamp):0;}" }, { "id": 1755, @@ -6153,7 +6260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1779, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 1780, @@ -6187,7 +6295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPSize" }, "type_description": { "type_identifier": "t_function_$", @@ -6259,7 +6368,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0000000000000000000000000000000000000000" }, { "id": 1786, @@ -6299,7 +6409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -6344,7 +6455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -6371,7 +6483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1791, @@ -6393,7 +6506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1792, @@ -6415,7 +6529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1793, @@ -6437,7 +6552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1794, @@ -6459,7 +6575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_description": { @@ -6569,7 +6686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1800, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -6590,7 +6708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPGetKeyAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6647,7 +6766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1795, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -6668,7 +6788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7110,7 +7231,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetAccountAtIndex(uint256index)publicviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){if(index\u003e=MAPSize()){return(0x0000000000000000000000000000000000000000,-1,-1,0,0,0,0,0);}addressaccount=MAPGetKeyAtIndex(index);returngetAccount(account);}" }, { "id": 1806, @@ -7190,7 +7312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1816, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 1817, @@ -7233,14 +7356,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -7293,7 +7418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } } ] @@ -7362,7 +7488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1828, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" } ], "expression": { @@ -7429,21 +7556,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -7468,7 +7598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "type_description": { "type_identifier": "t_bool", @@ -7608,7 +7739,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functioncanAutoClaim(uint256lastClaimTime)privateviewreturns(bool){if(lastClaimTime\u003eblock.timestamp){returnfalse;}returnblock.timestamp.sub(lastClaimTime)\u003e=claimWait;}" }, { "id": 1831, @@ -7685,7 +7817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1475, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 1844, @@ -7705,7 +7838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1844, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -7796,7 +7930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1849, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "right_expression": { "id": 1850, @@ -7816,7 +7951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_bool", @@ -7878,7 +8014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1854, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1855, @@ -7904,7 +8041,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -7925,7 +8063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -7973,7 +8112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1858, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1859, @@ -7999,7 +8139,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -8020,7 +8161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPSet" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -8089,7 +8231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1480, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 1865, @@ -8109,7 +8252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1865, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -8145,7 +8289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "canAutoClaim" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -8207,7 +8352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1869, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1870, @@ -8235,7 +8381,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "true" } ], "expression": { @@ -8256,7 +8403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", @@ -8421,13 +8569,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setBalance(address, uint256)", - "signature": "354842e8", + "signature_raw": "setBalance(address,uint256)", + "signature": "e30443bc", "scope": 1438, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsetBalance(addressaccount,uint256newBalance)externalonlyOwner{if(excludedFromDividends[account]){return;}if(newBalance\u003e=minimumTokenBalanceForDividends){_setBalance(account,newBalance);MAPSet(account,newBalance);}else{_setBalance(account,0);MAPRemove(account);}if(canAutoClaim(lastClaimTimes[account])){processAccount(account,true);}}" }, { "id": 1872, @@ -8588,21 +8737,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" } }, { @@ -8648,7 +8800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1884, - "is_pure": false + "is_pure": false, + "text": "numberOfTokenHolders" }, "right_expression": { "id": 1893, @@ -8670,7 +8823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8737,7 +8891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1898, @@ -8759,7 +8914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1899, @@ -8779,7 +8935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "type_description": { @@ -8869,7 +9026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } }, { @@ -8952,7 +9110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -9047,7 +9206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -9135,7 +9295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -9218,7 +9379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -9276,7 +9438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 1925, @@ -9296,7 +9459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1925, - "is_pure": false + "is_pure": false, + "text": "gas" }, "type_description": { "type_identifier": "t_bool", @@ -9335,7 +9499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "right_expression": { "id": 1928, @@ -9355,7 +9520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1884, - "is_pure": false + "is_pure": false, + "text": "numberOfTokenHolders" }, "type_description": { "type_identifier": "t_bool", @@ -9417,7 +9583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -9472,7 +9639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "right_expression": { "id": 1935, @@ -9538,21 +9706,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" }, "type_description": { "type_identifier": "t_bool", @@ -9613,7 +9784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "right_expression": { "id": 1942, @@ -9635,7 +9807,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_uint256", @@ -9645,7 +9818,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_lastProcessedIndex=0;" } ] } @@ -9763,14 +9937,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 1949, @@ -9790,7 +9966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_descriptions": [ { @@ -9867,7 +10044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1480, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 1955, @@ -9887,7 +10065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1943, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -9923,7 +10102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "canAutoClaim" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -9995,7 +10175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1961, @@ -10023,7 +10204,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "true" } ], "expression": { @@ -10044,7 +10226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processAccount" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bool$", @@ -10094,7 +10277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1917, - "is_pure": false + "is_pure": false, + "text": "claims" }, "type_description": { "type_identifier": "t_uint256", @@ -10142,7 +10326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "type_description": { "type_identifier": "t_uint256", @@ -10246,7 +10431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -10297,7 +10483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 1975, @@ -10317,7 +10504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1967, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" }, "type_description": { "type_identifier": "t_bool", @@ -10378,7 +10566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 1980, @@ -10436,7 +10625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" } ], "expression": { @@ -10480,14 +10670,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -10536,14 +10728,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -10558,7 +10752,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed=gasUsed.add(gasLeft.sub(newGasLeft));" } ] } @@ -10604,7 +10799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 1990, @@ -10624,7 +10820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1967, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" }, "type_description": { "type_identifier": "t_uint256", @@ -10634,7 +10831,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft=newGasLeft;" } ] } @@ -10680,7 +10878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, "right_expression": { "id": 1994, @@ -10700,7 +10899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -10710,7 +10910,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastProcessedIndex=_lastProcessedIndex;" }, { "id": 1995, @@ -10756,7 +10957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "iterations" }, { "id": 1998, @@ -10776,7 +10978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1917, - "is_pure": false + "is_pure": false, + "text": "claims" }, { "id": 1999, @@ -10796,7 +10999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "type_description": { @@ -11023,7 +11227,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocess(uint256gas)publicreturns(uint256,uint256,uint256){uint256numberOfTokenHolders=tokenHoldersMap.keys.length;if(numberOfTokenHolders==0){return(0,0,lastProcessedIndex);}uint256_lastProcessedIndex=lastProcessedIndex;uint256gasUsed=0;uint256gasLeft=gasleft();uint256iterations=0;uint256claims=0;while(gasUsed\u003cgas\u0026\u0026iterations\u003cnumberOfTokenHolders){_lastProcessedIndex++;if(_lastProcessedIndex\u003e=tokenHoldersMap.keys.length){_lastProcessedIndex=0;}addressaccount=tokenHoldersMap.keys[_lastProcessedIndex];if(canAutoClaim(lastClaimTimes[account])){if(processAccount(account,true)){claims++;}}iterations++;uint256newGasLeft=gasleft();if(gasLeft\u003enewGasLeft){gasUsed=gasUsed.add(gasLeft.sub(newGasLeft));}gasLeft=newGasLeft;}lastProcessedIndex=_lastProcessedIndex;return(iterations,claims,lastProcessedIndex);}" }, { "id": 2001, @@ -11157,7 +11362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2018, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -11178,7 +11384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawDividendOfUser" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -11229,7 +11436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2013, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2022, @@ -11251,7 +11459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -11324,7 +11533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1480, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 2028, @@ -11344,7 +11554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2028, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -11402,14 +11613,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -11419,7 +11632,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "lastClaimTimes[account]=block.timestamp;" }, { "id": 2031, @@ -11451,7 +11665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2032, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 2033, @@ -11471,7 +11686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 351, - "is_pure": false + "is_pure": false, + "text": "amount" }, { "id": 2034, @@ -11491,7 +11707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2034, - "is_pure": false + "is_pure": false, + "text": "automatic" } ], "expression": { @@ -11512,7 +11729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1503, - "is_pure": false + "is_pure": false, + "text": "Claim" } }, { @@ -11547,7 +11765,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -11585,7 +11804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } } ] @@ -11788,13 +12008,14 @@ } ] }, - "signature_raw": "processAccount(address, bool)", - "signature": "5d2b1812", + "signature_raw": "processAccount(address,bool)", + "signature": "bc4c4b37", "scope": 1438, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionprocessAccount(addressaccount,boolautomatic)publiconlyOwnerreturns(bool){uint256amount=_withdrawDividendOfUser(account);if(amount\u003e0){lastClaimTimes[account]=block.timestamp;emitClaim(account,amount,automatic);returntrue;}returnfalse;}" }, { "id": 2041, @@ -11895,14 +12116,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.values" }, "base_expression": { "id": 2053, @@ -11922,7 +12145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2053, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -12073,7 +12297,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionMAPGet(addresskey)publicviewreturns(uint256){returntokenHoldersMap.values[key];}" }, { "id": 2055, @@ -12191,14 +12416,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.inserted" }, "base_expression": { "id": 2068, @@ -12218,7 +12445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2068, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -12304,7 +12532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -12398,14 +12627,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.indexOf" }, "base_expression": { "id": 2080, @@ -12425,7 +12656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2080, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -12485,7 +12717,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", @@ -12626,7 +12859,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionMAPGetIndexOfKey(addresskey)publicviewreturns(int256){if(!tokenHoldersMap.inserted[key]){return-1;}returnint256(tokenHoldersMap.indexOf[key]);}" }, { "id": 2082, @@ -12727,14 +12961,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 2094, @@ -12754,7 +12990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2094, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -12905,7 +13142,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMAPGetKeyAtIndex(uint256index)publicviewreturns(address){returntokenHoldersMap.keys[index];}" }, { "id": 2096, @@ -13018,21 +13256,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" } } ] @@ -13167,7 +13408,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMAPSize()publicviewreturns(uint256){returntokenHoldersMap.keys.length;}" }, { "id": 2109, @@ -13267,14 +13509,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.inserted" }, "base_expression": { "id": 2121, @@ -13294,7 +13538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2121, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -13400,14 +13645,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.values" }, "base_expression": { "id": 2128, @@ -13427,7 +13674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2128, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -13462,7 +13710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2129, - "is_pure": false + "is_pure": false, + "text": "val" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", @@ -13472,7 +13721,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", "type_string": "index[struct DividendDistributor.MAP:address]" - } + }, + "text": "tokenHoldersMap.values[key]=val;" } ] } @@ -13602,13 +13852,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "MAPSet(address, uint256)", - "signature": "ff57b7b3", + "signature_raw": "MAPSet(address,uint256)", + "signature": "1105e740", "scope": 1438, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionMAPSet(addresskey,uint256val)public{if(tokenHoldersMap.inserted[key]){tokenHoldersMap.values[key]=val;}else{tokenHoldersMap.inserted[key]=true;tokenHoldersMap.values[key]=val;tokenHoldersMap.indexOf[key]=tokenHoldersMap.keys.length;tokenHoldersMap.keys.push(key);}}" }, { "id": 2131, @@ -13726,14 +13977,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.inserted" }, "base_expression": { "id": 2142, @@ -13753,7 +14006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2142, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -13876,14 +14130,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.inserted" }, "base_expression": { "id": 2149, @@ -13903,7 +14159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2149, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -13995,14 +14252,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.values" }, "base_expression": { "id": 2154, @@ -14022,7 +14281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2154, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -14156,14 +14416,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.indexOf" }, "base_expression": { "id": 2161, @@ -14183,7 +14445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2161, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -14339,21 +14602,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" }, "right_expression": { "id": 2169, @@ -14375,7 +14641,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", @@ -14496,14 +14763,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 2176, @@ -14523,7 +14792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2162, - "is_pure": false + "is_pure": false, + "text": "lastIndex" }, "type_descriptions": [ { @@ -14616,14 +14886,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.indexOf" }, "base_expression": { "id": 2182, @@ -14643,7 +14915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2170, - "is_pure": false + "is_pure": false, + "text": "lastKey" }, "type_descriptions": [ { @@ -14678,7 +14951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2155, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", @@ -14688,7 +14962,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", "type_string": "index[struct DividendDistributor.MAP:address]" - } + }, + "text": "tokenHoldersMap.indexOf[lastKey]=index;" }, { "id": 2184, @@ -14760,14 +15035,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.indexOf" }, "base_expression": { "id": 2188, @@ -14787,7 +15064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2188, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -14884,14 +15162,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 2194, @@ -14911,7 +15191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2155, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -14946,7 +15227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2170, - "is_pure": false + "is_pure": false, + "text": "lastKey" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_uint256]$", @@ -14956,7 +15238,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_uint256]$", "type_string": "index[struct DividendDistributor.MAP:uint256]" - } + }, + "text": "tokenHoldersMap.keys[index]=lastKey;" }, { "id": 2196, @@ -15036,21 +15319,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -15145,7 +15431,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionMAPRemove(addresskey)public{if(!tokenHoldersMap.inserted[key]){return;}deletetokenHoldersMap.inserted[key];deletetokenHoldersMap.values[key];uint256index=tokenHoldersMap.indexOf[key];uint256lastIndex=tokenHoldersMap.keys.length-1;addresslastKey=tokenHoldersMap.keys[lastIndex];tokenHoldersMap.indexOf[lastKey]=index;deletetokenHoldersMap.indexOf[key];tokenHoldersMap.keys[index]=lastKey;tokenHoldersMap.keys.pop();}" }, { "id": 2201, @@ -15223,7 +15510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2216, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2217, @@ -15249,7 +15537,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -15312,7 +15601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -15333,7 +15623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15345,7 +15636,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -15507,13 +15799,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferUSDT(address, uint256)", - "signature": "0302050e", + "signature_raw": "transferUSDT(address,uint256)", + "signature": "d015ed6a", "scope": 1438, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransferUSDT(addressto,uint256amount)externalonlyOwner{IERC20(USDT).transfer(to,amount);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/DividendFee.solgo.ast.json b/data/tests/contracts/ptm/DividendFee.solgo.ast.json index 0302e935..93ec4b0f 100644 --- a/data/tests/contracts/ptm/DividendFee.solgo.ast.json +++ b/data/tests/contracts/ptm/DividendFee.solgo.ast.json @@ -215,7 +215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -292,7 +293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 2317, @@ -314,7 +316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e28" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -382,7 +385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "300_000" } }, { @@ -573,7 +577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2313, - "is_pure": false + "is_pure": false, + "text": "numTokenToDividend" }, "right_expression": { "id": 2334, @@ -593,7 +598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2334, - "is_pure": false + "is_pure": false, + "text": "_numTokenToDividend" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -603,7 +609,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "numTokenToDividend=_numTokenToDividend;" }, { "id": 2335, @@ -646,7 +653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2309, - "is_pure": false + "is_pure": false, + "text": "swapToDividend" }, "right_expression": { "id": 2338, @@ -666,7 +674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2338, - "is_pure": false + "is_pure": false, + "text": "_swapToDividend" }, "type_description": { "type_identifier": "t_bool", @@ -676,7 +685,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "swapToDividend=_swapToDividend;" }, { "id": 2339, @@ -741,7 +751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "base_expression": { "id": 2344, @@ -780,7 +791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -826,7 +838,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -885,7 +898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" } ], "expression": { @@ -931,7 +945,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -998,7 +1013,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$_t_address$]$_t_function_$_t_function_$", @@ -1008,7 +1024,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$_t_address$]$_t_function_$_t_function_$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):function(address)]:function(function())]" - } + }, + "text": "allowance[address(this)][address(uniswapV2Router)]=type(uint256).max;" }, { "id": 2354, @@ -1066,7 +1083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -1112,7 +1130,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1161,14 +1180,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -1233,7 +1254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE" } ], "expression": { @@ -1279,7 +1301,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1328,14 +1351,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1400,7 +1425,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xdead" } ], "expression": { @@ -1446,7 +1472,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1495,14 +1522,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1565,7 +1594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" } ], "expression": { @@ -1611,7 +1641,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1660,14 +1691,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -1801,7 +1834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 2396, @@ -1840,7 +1874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -1886,7 +1921,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2001,7 +2037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2391, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "right_expression": { "id": 2405, @@ -2021,7 +2058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2313, - "is_pure": false + "is_pure": false, + "text": "numTokenToDividend" }, "type_description": { "type_identifier": "t_bool", @@ -2094,7 +2132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2400, - "is_pure": false + "is_pure": false, + "text": "overMinTokenBalance" }, { "id": 2414, @@ -2132,7 +2171,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2222, - "is_pure": false + "is_pure": false, + "text": "inisSwap" }, "type_description": { "type_identifier": "t_bool", @@ -2183,7 +2223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2417, - "is_pure": false + "is_pure": false, + "text": "sender" }, "right_expression": { "id": 2418, @@ -2203,7 +2244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2232, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "type_description": { "type_identifier": "t_bool", @@ -2240,7 +2282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2309, - "is_pure": false + "is_pure": false, + "text": "swapToDividend" } ], "type_descriptions": [ @@ -2300,7 +2343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -2439,7 +2483,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionshouldSwapToDiv(addresssender)internalviewreturns(bool){uint256contractTokenBalance=balanceOf[address(distributor)];booloverMinTokenBalance=contractTokenBalance\u003e=numTokenToDividend;if(overMinTokenBalance\u0026\u0026!inisSwap\u0026\u0026sender!=uniswapV2Pair\u0026\u0026swapToDividend){returntrue;}else{returnfalse;}}" }, { "id": 2424, @@ -2540,7 +2585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -2586,7 +2632,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2630,7 +2677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2676,7 +2724,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2711,7 +2760,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "numTokenToDividend" } ], "expression": { @@ -2755,14 +2805,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_function_$_t_function_$_t_address$", @@ -2885,7 +2937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -2931,7 +2984,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2999,7 +3053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "BTCB" } ], "expression": { @@ -3020,7 +3075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3032,7 +3088,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(BTCB).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -3139,7 +3196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } ], "expression": { @@ -3235,7 +3293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2454, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2465, @@ -3257,7 +3316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -3311,7 +3371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3357,7 +3418,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3372,7 +3434,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 2470, @@ -3426,7 +3489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2454, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2474, @@ -3448,7 +3512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -3502,7 +3567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -3548,7 +3614,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3563,7 +3630,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=address(USDT);" }, { "id": 2479, @@ -3617,7 +3685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2454, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2483, @@ -3639,7 +3708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_descriptions": [ { @@ -3693,7 +3763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WBNB" } ], "expression": { @@ -3739,7 +3810,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3754,7 +3826,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_2_by_1]$", "type_string": "index[address:int_const 2]" - } + }, + "text": "path[2]=address(WBNB);" }, { "id": 2488, @@ -3808,7 +3881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2454, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2492, @@ -3830,7 +3904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_descriptions": [ { @@ -3884,7 +3959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "BTCB" } ], "expression": { @@ -3930,7 +4006,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3945,7 +4022,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_3_by_1]$", "type_string": "index[address:int_const 3]" - } + }, + "text": "path[3]=address(BTCB);" }, { "id": 2497, @@ -4000,7 +4078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "numTokenToDividend" }, { "id": 2501, @@ -4028,7 +4107,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "0" }, { "id": 2502, @@ -4058,7 +4138,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 2503, @@ -4097,7 +4178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -4143,7 +4225,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4191,7 +4274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -4215,7 +4299,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -4259,14 +4344,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2225, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_function_$_t_function_$_t_uint256$", @@ -4389,7 +4476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -4435,7 +4523,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4503,7 +4592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "BTCB" } ], "expression": { @@ -4524,7 +4614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4536,7 +4627,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(BTCB).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -4636,7 +4728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2509, - "is_pure": false + "is_pure": false, + "text": "balanceNow" }, "right_expression": { "id": 2526, @@ -4656,7 +4749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2442, - "is_pure": false + "is_pure": false, + "text": "balanceBefore" }, "type_description": { "type_identifier": "t_uint256", @@ -4701,7 +4795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2521, - "is_pure": false + "is_pure": false, + "text": "swapAmount" } ], "expression": { @@ -4745,14 +4840,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "distributeDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.distributeDividends" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4831,7 +4928,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionswapAndToDividend()internalisSwap{super._transfer(address(distributor),address(this),numTokenToDividend);uint256balanceBefore=IERC20(BTCB).balanceOf(address(distributor));address[]memorypath=newaddress[](4);path[0]=address(this);path[1]=address(USDT);path[2]=address(WBNB);path[3]=address(BTCB);uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(numTokenToDividend,0,path,address(distributor),block.timestamp);uint256balanceNow=IERC20(BTCB).balanceOf(address(distributor));uint256swapAmount=balanceNow-balanceBefore;distributor.distributeDividends(swapAmount);}" }, { "id": 2532, @@ -4988,7 +5086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2548, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2549, @@ -5008,7 +5107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2239, - "is_pure": false + "is_pure": false, + "text": "distributefee" }, "type_description": { "type_identifier": "t_uint256", @@ -5041,7 +5141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -5094,7 +5195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2554, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 2555, @@ -5133,7 +5235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -5179,7 +5282,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5214,7 +5318,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "dividendAmount" } ], "expression": { @@ -5258,14 +5363,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_function_$_t_uint256$", @@ -5302,7 +5409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2542, - "is_pure": false + "is_pure": false, + "text": "dividendAmount" } } ] @@ -5475,13 +5583,14 @@ } ] }, - "signature_raw": "_takeDividendFee(address, uint256)", - "signature": "893e40e6", + "signature_raw": "_takeDividendFee(address,uint256)", + "signature": "948c6cb8", "scope": 2301, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_takeDividendFee(addresssender,uint256amount)internalreturns(uint256){uint256dividendAmount=(amount*distributefee)/1000;super._transfer(sender,address(distributor),dividendAmount);returndividendAmount;}" }, { "id": 2563, @@ -5601,7 +5710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2575, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 2576, @@ -5632,7 +5742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 2578, @@ -5652,7 +5763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2578, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -5711,14 +5823,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "setBalance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -5852,7 +5966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2587, - "is_pure": false + "is_pure": false, + "text": "recipient" }, { "id": 2588, @@ -5883,7 +5998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 2590, @@ -5903,7 +6019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2590, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "type_descriptions": [ { @@ -5962,14 +6079,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "setBalance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -6099,7 +6218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributorGas" } ], "expression": { @@ -6143,14 +6263,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "process", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.process" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6327,13 +6449,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "dividendToUsers(address, address)", - "signature": "f17ef737", + "signature_raw": "dividendToUsers(address,address)", + "signature": "7101408c", "scope": 2301, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiondividendToUsers(addresssender,addressrecipient)internal{trydistributor.setBalance(sender,balanceOf[sender]){}catch{}trydistributor.setBalance(recipient,balanceOf[recipient]){}catch{}trydistributor.process(distributorGas){}catch{}}" }, { "id": 2605, @@ -6411,7 +6534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2313, - "is_pure": false + "is_pure": false, + "text": "numTokenToDividend" }, "right_expression": { "id": 2616, @@ -6431,7 +6555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2616, - "is_pure": false + "is_pure": false, + "text": "_num" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -6441,7 +6566,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "numTokenToDividend=_num;" } ] }, @@ -6560,7 +6686,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetNumTokensSellToAddToLiquidity(uint256_num)externalonlyOwner{numTokenToDividend=_num;}" }, { "id": 2618, @@ -6634,7 +6761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2629, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -6678,14 +6806,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6810,7 +6940,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromDividends(addressaccount)externalonlyOwner{distributor.excludeFromDividends(account);}" }, { "id": 2631, @@ -6884,7 +7015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2642, - "is_pure": false + "is_pure": false, + "text": "val" } ], "expression": { @@ -6928,14 +7060,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "setMinimumTokenBalanceForDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.setMinimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -7059,7 +7193,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateMinimumTokenBalanceForDividends(uint256val)publiconlyOwner{distributor.setMinimumTokenBalanceForDividends(val);}" }, { "id": 2644, @@ -7133,7 +7268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2655, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -7177,14 +7313,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "updateClaimWait", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.updateClaimWait" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -7308,7 +7446,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateClaimWait(uint256claimWait)externalonlyOwner{distributor.updateClaimWait(claimWait);}" }, { "id": 2657, @@ -7412,14 +7551,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "claimWait", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.claimWait" }, "type_description": { "type_identifier": "t_function_$", @@ -7559,7 +7700,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetClaimWait()externalviewreturns(uint256){returndistributor.claimWait();}" }, { "id": 2670, @@ -7663,14 +7805,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "totalDividendsDistributed", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.totalDividendsDistributed" }, "type_description": { "type_identifier": "t_function_$", @@ -7810,7 +7954,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetTotalDividendsDistributed()externalviewreturns(uint256){returndistributor.totalDividendsDistributed();}" }, { "id": 2683, @@ -7896,7 +8041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2695, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -7940,14 +8086,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "withdrawableDividendOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8088,7 +8236,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawableDividendOf(addressaccount)publicviewreturns(uint256){returndistributor.withdrawableDividendOf(account);}" }, { "id": 2697, @@ -8174,7 +8323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2709, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -8218,14 +8368,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8366,7 +8518,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiondividendTokenBalanceOf(addressaccount)publicviewreturns(uint256){returndistributor.balanceOf(account);}" }, { "id": 2711, @@ -8452,7 +8605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2737, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -8496,14 +8650,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "getAccount", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.getAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8946,7 +9102,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAccountDividendsInfo(addressaccount)externalviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){returndistributor.getAccount(account);}" }, { "id": 2739, @@ -9032,7 +9189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2765, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -9076,14 +9234,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "getAccountAtIndex", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.getAccountAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -9525,7 +9685,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetAccountDividendsInfoAtIndex(uint256index)externalviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){returndistributor.getAccountAtIndex(index);}" }, { "id": 2767, @@ -9599,7 +9760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2776, - "is_pure": false + "is_pure": false, + "text": "gas" } ], "expression": { @@ -9643,14 +9805,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "process", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.process" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -9744,7 +9908,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocessDividendTracker(uint256gas)external{distributor.process(gas);}" }, { "id": 2778, @@ -9845,14 +10010,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2787, @@ -9880,7 +10047,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "false" } ], "expression": { @@ -9924,14 +10092,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "processAccount", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.processAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", @@ -9980,7 +10150,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionclaim()external{distributor.processAccount(msg.sender,false);}" }, { "id": 2789, @@ -10084,14 +10255,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "getLastProcessedIndex", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.getLastProcessedIndex" }, "type_description": { "type_identifier": "t_function_$", @@ -10231,7 +10404,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetLastProcessedIndex()externalviewreturns(uint256){returndistributor.getLastProcessedIndex();}" }, { "id": 2802, @@ -10335,14 +10509,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "getNumberOfTokenHolders", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.getNumberOfTokenHolders" }, "type_description": { "type_identifier": "t_function_$", @@ -10482,7 +10658,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetNumberOfDividendTokenHolders()externalviewreturns(uint256){returndistributor.getNumberOfTokenHolders();}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/DividendPayingToken.solgo.ast.json b/data/tests/contracts/ptm/DividendPayingToken.solgo.ast.json index 016030c2..b3645d55 100644 --- a/data/tests/contracts/ptm/DividendPayingToken.solgo.ast.json +++ b/data/tests/contracts/ptm/DividendPayingToken.solgo.ast.json @@ -382,7 +382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1123, @@ -404,7 +405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" }, "type_descriptions": [ { @@ -484,7 +486,7 @@ "mutability": 1, "type_name": { "id": 1129, - "node_type": 0, + "node_type": 53, "src": { "line": 520, "column": 4, @@ -577,7 +579,7 @@ "mutability": 1, "type_name": { "id": 1134, - "node_type": 0, + "node_type": 53, "src": { "line": 521, "column": 4, @@ -750,7 +752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1152, - "is_pure": false + "is_pure": false, + "text": "_name" }, { "id": 1153, @@ -770,7 +773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1153, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, { "id": 1154, @@ -792,7 +796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } ], "modifier_name": { @@ -1026,7 +1031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1115, - "is_pure": false + "is_pure": false, + "text": "dToken" }, "right_expression": { "id": 1159, @@ -1046,7 +1052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1159, - "is_pure": false + "is_pure": false, + "text": "_dToken" }, "type_description": { "type_identifier": "t_address", @@ -1056,7 +1063,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "dToken=_dToken;" } ] } @@ -1147,7 +1155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "right_expression": { "id": 1173, @@ -1169,7 +1178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1195,7 +1205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -1245,7 +1256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1176, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 1177, @@ -1267,7 +1279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1329,7 +1342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "right_expression": { "id": 1182, @@ -1401,7 +1415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "magnitude" } ], "expression": { @@ -1459,7 +1474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "type_description": { @@ -1472,7 +1488,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" - } + }, + "text": "(amount).mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1497,7 +1514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1546,14 +1564,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -1568,7 +1588,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare=magnifiedDividendPerShare.add((amount).mul(magnitude)/totalSupply);" }, { "id": 1192, @@ -1611,7 +1632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1138, - "is_pure": false + "is_pure": false, + "text": "totalDividendsDistributed" }, "right_expression": { "id": 1195, @@ -1650,7 +1672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1198, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -1694,14 +1717,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1138, - "is_pure": false + "is_pure": false, + "text": "totalDividendsDistributed" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividendsDistributed.add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -1716,7 +1741,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividendsDistributed=totalDividendsDistributed.add(amount);" } ] } @@ -1838,7 +1864,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondistributeDividends(uint256amount)publiconlyOwner{require(totalSupply\u003e0);if(amount\u003e0){magnifiedDividendPerShare=magnifiedDividendPerShare.add((amount).mul(magnitude)/totalSupply);totalDividendsDistributed=totalDividendsDistributed.add(amount);}}" }, { "id": 1200, @@ -1935,14 +1962,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -1963,7 +1992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawDividendOfUser" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2012,7 +2042,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()publicvirtual{_withdrawDividendOfUser(msg.sender);}" }, { "id": 1209, @@ -2146,7 +2177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1222, - "is_pure": false + "is_pure": false, + "text": "user" } ], "expression": { @@ -2167,7 +2199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2218,7 +2251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1217, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" }, "right_expression": { "id": 1226, @@ -2240,7 +2274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2313,7 +2348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1232, @@ -2333,7 +2369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -2387,7 +2424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -2442,7 +2480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1237, @@ -2462,7 +2501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1237, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -2484,7 +2524,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user].add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2499,7 +2540,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user]=withdrawnDividends[user].add(_withdrawableDividend);" }, { "id": 1239, @@ -2602,7 +2644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1247, - "is_pure": false + "is_pure": false, + "text": "user" }, { "id": 1248, @@ -2628,7 +2671,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_withdrawableDividend" } ], "expression": { @@ -2691,7 +2735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "dToken" } ], "expression": { @@ -2712,7 +2757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -2724,7 +2770,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(dToken).transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", @@ -2779,7 +2826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1239, - "is_pure": false + "is_pure": false, + "text": "success" }, "type_description": { "type_identifier": "t_bool", @@ -2852,7 +2900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1257, @@ -2872,7 +2921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1257, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -2926,7 +2976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -2981,7 +3032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1262, @@ -3001,7 +3053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1262, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -3023,7 +3076,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user].sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3038,7 +3092,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user]=withdrawnDividends[user].sub(_withdrawableDividend);" }, { "id": 1264, @@ -3072,7 +3127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -3108,7 +3164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1217, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } } ] @@ -3146,7 +3203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -3282,7 +3340,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_withdrawDividendOfUser(addressuser)internalreturns(uint256){uint256_withdrawableDividend=withdrawableDividendOf(user);if(_withdrawableDividend\u003e0){withdrawnDividends[user]=withdrawnDividends[user].add(_withdrawableDividend);boolsuccess=IERC20(dToken).transfer(user,_withdrawableDividend);if(!success){withdrawnDividends[user]=withdrawnDividends[user].sub(_withdrawableDividend);return0;}return_withdrawableDividend;}return0;}" }, { "id": 1271, @@ -3368,7 +3427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1282, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -3389,7 +3449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3530,7 +3591,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiondividendOf(address_owner)publicviewreturns(uint256){returnwithdrawableDividendOf(_owner);}" }, { "id": 1284, @@ -3627,7 +3689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1300, @@ -3647,7 +3710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1300, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -3725,7 +3789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1297, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -3746,7 +3811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "accumulativeDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3758,7 +3824,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "accumulativeDividendOf(_owner).sub" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -3899,7 +3966,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawableDividendOf(address_owner)publicviewreturns(uint256){returnaccumulativeDividendOf(_owner).sub(withdrawnDividends[_owner]);}" }, { "id": 1302, @@ -3977,7 +4045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1313, @@ -3997,7 +4066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -4148,7 +4218,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawnDividendOf(address_owner)publicviewreturns(uint256){returnwithdrawnDividends[_owner];}" }, { "id": 1315, @@ -4296,7 +4367,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1339, @@ -4316,7 +4388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1339, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -4442,7 +4515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 1336, @@ -4462,7 +4536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1336, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -4521,14 +4596,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -4540,7 +4617,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "function(index[mapping(address=\u003euint256):address])" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf[_owner]).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -4552,7 +4630,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf[_owner]).toInt256Safe().add" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", @@ -4564,7 +4643,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "function(index[mapping(address=\u003eint256):address])" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf[_owner]).toInt256Safe().add(magnifiedDividendCorrections[_owner]).toUint256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -4589,7 +4669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1118, - "is_pure": false + "is_pure": false, + "text": "magnitude" }, "type_description": { "type_identifier": "t_function_$", @@ -4730,7 +4811,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaccumulativeDividendOf(address_owner)publicviewreturns(uint256){returnmagnifiedDividendPerShare.mul(balanceOf[_owner]).toInt256Safe().add(magnifiedDividendCorrections[_owner]).toUint256Safe()/magnitude;}" }, { "id": 1342, @@ -4808,7 +4890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1354, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1355, @@ -4834,7 +4917,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -4878,14 +4962,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_mint", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -4944,7 +5030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1360, @@ -4964,7 +5051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1360, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -5088,7 +5176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1372, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -5132,14 +5221,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5157,7 +5248,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_function_$_t_uint256$$", "type_string": "tuple(function(uint256))" - } + }, + "text": "(magnifiedDividendPerShare.mul(value)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -5217,7 +5309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1365, @@ -5237,7 +5330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1365, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -5259,7 +5353,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account].sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5274,7 +5369,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].sub((magnifiedDividendPerShare.mul(value)).toInt256Safe());" } ] }, @@ -5420,13 +5516,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1097, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256value)internaloverride{super._mint(account,value);magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].sub((magnifiedDividendPerShare.mul(value)).toInt256Safe());}" }, { "id": 1374, @@ -5504,7 +5601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1386, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1387, @@ -5530,7 +5628,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -5574,14 +5673,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_burn", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._burn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -5640,7 +5741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1392, @@ -5660,7 +5762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1392, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -5784,7 +5887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1404, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -5828,14 +5932,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5853,7 +5959,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_function_$_t_uint256$$", "type_string": "tuple(function(uint256))" - } + }, + "text": "(magnifiedDividendPerShare.mul(value)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -5913,7 +6020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1397, @@ -5933,7 +6041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1397, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -5955,7 +6064,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account].add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5970,7 +6080,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].add((magnifiedDividendPerShare.mul(value)).toInt256Safe());" } ] }, @@ -6116,13 +6227,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 1097, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256value)internaloverride{super._burn(account,value);magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].add((magnifiedDividendPerShare.mul(value)).toInt256Safe());}" }, { "id": 1406, @@ -6248,7 +6360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 1419, @@ -6268,7 +6381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1419, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -6329,7 +6443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1422, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "right_expression": { "id": 1423, @@ -6349,7 +6464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1414, - "is_pure": false + "is_pure": false, + "text": "currentBalance" }, "type_description": { "type_identifier": "t_bool", @@ -6467,7 +6583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "currentBalance" } ], "expression": { @@ -6511,14 +6628,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1430, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "newBalance.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6567,7 +6686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1434, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1435, @@ -6593,7 +6713,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "mintAmount" } ], "expression": { @@ -6614,7 +6735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -6749,13 +6871,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setBalance(address, uint256)", - "signature": "d8710a82", + "signature_raw": "_setBalance(address,uint256)", + "signature": "ab86e0a6", "scope": 1097, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_setBalance(addressaccount,uint256newBalance)internal{uint256currentBalance=balanceOf[account];if(newBalance\u003ecurrentBalance){uint256mintAmount=newBalance.sub(currentBalance);_mint(account,mintAmount);}elseif(newBalance\u003ccurrentBalance){uint256burnAmount=currentBalance.sub(newBalance);_burn(account,burnAmount);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/ERC20.solgo.ast.json b/data/tests/contracts/ptm/ERC20.solgo.ast.json index b4b2b0be..fc64e7b0 100644 --- a/data/tests/contracts/ptm/ERC20.solgo.ast.json +++ b/data/tests/contracts/ptm/ERC20.solgo.ast.json @@ -587,7 +587,7 @@ "mutability": 1, "type_name": { "id": 443, - "node_type": 0, + "node_type": 53, "src": { "line": 218, "column": 4, @@ -680,7 +680,7 @@ "mutability": 1, "type_name": { "id": 448, - "node_type": 0, + "node_type": 53, "src": { "line": 220, "column": 4, @@ -1032,7 +1032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 430, - "is_pure": false + "is_pure": false, + "text": "name" }, "right_expression": { "id": 468, @@ -1052,7 +1053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 468, - "is_pure": false + "is_pure": false, + "text": "_name" }, "type_description": { "type_identifier": "t_string", @@ -1062,7 +1064,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "name=_name;" }, { "id": 469, @@ -1105,7 +1108,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 433, - "is_pure": false + "is_pure": false, + "text": "symbol" }, "right_expression": { "id": 472, @@ -1125,7 +1129,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 472, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "type_description": { "type_identifier": "t_string", @@ -1135,7 +1140,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "symbol=_symbol;" }, { "id": 473, @@ -1178,7 +1184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 436, - "is_pure": false + "is_pure": false, + "text": "decimals" }, "right_expression": { "id": 476, @@ -1198,7 +1205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 476, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_description": { "type_identifier": "t_uint8", @@ -1208,7 +1216,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "decimals=_decimals;" } ] } @@ -1311,7 +1320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "base_expression": { "id": 493, @@ -1354,14 +1364,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -1396,7 +1408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 495, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -1431,7 +1444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -1441,7 +1455,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "allowance[msg.sender][spender]=amount;" }, { "id": 497, @@ -1496,14 +1511,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 500, @@ -1523,7 +1540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 501, @@ -1543,7 +1561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 501, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -1564,7 +1583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 311, - "is_pure": false + "is_pure": false, + "text": "Approval" } }, { @@ -1599,7 +1619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -1772,13 +1793,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualreturns(bool){allowance[msg.sender][spender]=amount;emitApproval(msg.sender,spender,amount);returntrue;}" }, { "id": 506, @@ -1883,14 +1905,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 520, @@ -1916,7 +1940,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 521, @@ -1946,7 +1971,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -1967,7 +1993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2006,7 +2033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -2179,13 +2207,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualreturns(bool){_transfer(msg.sender,to,amount);returntrue;}" }, { "id": 525, @@ -2322,7 +2351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "base_expression": { "id": 543, @@ -2342,7 +2372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -2400,14 +2431,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -2468,7 +2501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "allowed" }, "right_expression": { "id": 549, @@ -2515,7 +2549,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -2582,7 +2617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 554, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 555, @@ -2608,7 +2644,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 556, @@ -2638,7 +2675,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -2659,7 +2697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2698,7 +2737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -2915,13 +2955,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualreturns(bool){uint256allowed=allowance[from][msg.sender];if(allowed!=type(uint256).max)allowance[from][msg.sender]=allowed-amount;_transfer(from,to,amount);returntrue;}" }, { "id": 560, @@ -2988,7 +3029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 571, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 572, @@ -3008,7 +3050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 572, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 573, @@ -3028,7 +3071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 573, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -3049,7 +3093,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 302, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -3118,7 +3163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 580, @@ -3138,7 +3184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 580, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -3173,7 +3220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 581, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -3183,7 +3231,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -3356,13 +3405,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{unchecked{balanceOf[to]+=amount;}emitTransfer(from,to,amount);}" }, { "id": 583, @@ -3440,7 +3490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "right_expression": { "id": 594, @@ -3460,7 +3511,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 594, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -3470,7 +3522,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply+=amount;" }, { "id": 595, @@ -3523,7 +3576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -3569,7 +3623,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -3594,7 +3649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 600, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 601, @@ -3614,7 +3670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 601, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -3635,7 +3692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 302, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -3704,7 +3762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 608, @@ -3724,7 +3783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 608, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -3759,7 +3819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 609, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -3769,7 +3830,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -3898,13 +3960,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256amount)internalvirtual{totalSupply+=amount;unchecked{balanceOf[to]+=amount;}emitTransfer(address(0),to,amount);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/ExcludedFromFeeList.solgo.ast.json b/data/tests/contracts/ptm/ExcludedFromFeeList.solgo.ast.json index a77ac6b7..17cc3764 100644 --- a/data/tests/contracts/ptm/ExcludedFromFeeList.solgo.ast.json +++ b/data/tests/contracts/ptm/ExcludedFromFeeList.solgo.ast.json @@ -117,7 +117,7 @@ "mutability": 1, "type_name": { "id": 199, - "node_type": 0, + "node_type": 53, "src": { "line": 67, "column": 4, @@ -418,7 +418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 224, @@ -438,7 +439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -589,7 +591,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExcludedFromFee(addressaccount)publicviewreturns(bool){return_isExcludedFromFee[account];}" }, { "id": 226, @@ -678,7 +681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 238, @@ -698,7 +702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 238, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -735,7 +740,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -745,7 +751,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_isExcludedFromFee[account]=true;" }, { "id": 240, @@ -777,7 +784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 241, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -798,7 +806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "ExcludedFromFee" } } ] @@ -919,7 +928,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromFee(addressaccount)publiconlyOwner{_isExcludedFromFee[account]=true;emitExcludedFromFee(account);}" }, { "id": 244, @@ -1008,7 +1018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 256, @@ -1028,7 +1039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 256, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -1065,7 +1077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -1075,7 +1088,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_isExcludedFromFee[account]=false;" }, { "id": 258, @@ -1107,7 +1121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 259, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -1128,7 +1143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 208, - "is_pure": false + "is_pure": false, + "text": "IncludedToFee" } } ] @@ -1249,7 +1265,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionincludeInFee(addressaccount)publiconlyOwner{_isExcludedFromFee[account]=false;emitIncludedToFee(account);}" }, { "id": 262, @@ -1406,14 +1423,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 277, - "is_pure": false + "is_pure": false, + "text": "accounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "accounts.length" } ], "expression": { @@ -1458,7 +1477,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1557,7 +1577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -1592,7 +1613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 279, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 285, @@ -1612,7 +1634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 270, - "is_pure": false + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_bool", @@ -1686,7 +1709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 291, @@ -1717,7 +1741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 264, - "is_pure": false + "is_pure": false, + "text": "accounts" }, "base_expression": { "id": 293, @@ -1737,7 +1762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 279, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -1789,7 +1815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_[_[$_t_address]$_t_uint256]$", @@ -1799,7 +1826,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ebool):index[address:uint256]]" - } + }, + "text": "_isExcludedFromFee[accounts[i]]=true;" }, { "id": 295, @@ -1851,7 +1879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 279, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -1980,7 +2009,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeMultipleAccountsFromFee(address[]calldataaccounts)publiconlyOwner{uint256len=uint256(accounts.length);for(uint256i=0;i\u003clen;){_isExcludedFromFee[accounts[i]]=true;unchecked{++i;}}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/IERC20.solgo.ast.json b/data/tests/contracts/ptm/IERC20.solgo.ast.json index 81c4e53c..e73c2b8b 100644 --- a/data/tests/contracts/ptm/IERC20.solgo.ast.json +++ b/data/tests/contracts/ptm/IERC20.solgo.ast.json @@ -561,7 +561,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 329, @@ -731,7 +732,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()externalviewreturns(address);" }, { "id": 338, @@ -900,7 +902,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 347, @@ -1106,13 +1109,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 300, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 358, @@ -1319,13 +1323,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 300, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 369, @@ -1531,13 +1536,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 300, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 380, @@ -1787,13 +1793,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 300, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" }, { "id": 393, @@ -1962,7 +1969,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExcludedFromFee(addressaccount)externalviewreturns(bool);" }, { "id": 402, @@ -2085,7 +2093,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeMultipleAccountsFromFee(address[]calldataaccounts)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/IUniswapV2Factory.solgo.ast.json b/data/tests/contracts/ptm/IUniswapV2Factory.solgo.ast.json index 3da4b40a..6737fadd 100644 --- a/data/tests/contracts/ptm/IUniswapV2Factory.solgo.ast.json +++ b/data/tests/contracts/ptm/IUniswapV2Factory.solgo.ast.json @@ -267,13 +267,14 @@ } ] }, - "signature_raw": "createPair(address, address)", - "signature": "a36b5e48", + "signature_raw": "createPair(address,address)", + "signature": "c9c65396", "scope": 612, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioncreatePair(addresstokenA,addresstokenB)externalreturns(addresspair);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/IUniswapV2Router.solgo.ast.json b/data/tests/contracts/ptm/IUniswapV2Router.solgo.ast.json index 5bb852cf..bd8e9013 100644 --- a/data/tests/contracts/ptm/IUniswapV2Router.solgo.ast.json +++ b/data/tests/contracts/ptm/IUniswapV2Router.solgo.ast.json @@ -229,7 +229,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalpurereturns(address);" }, { "id": 637, @@ -399,7 +400,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionWETH()externalpurereturns(address);" }, { "id": 646, @@ -689,13 +691,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256, uint256, address, address, uint256)", - "signature": "df3acbab", + "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address,address,uint256)", + "signature": "69b7f82c", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokensSupportingFeeOnTransferTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)external;" }, { "id": 661, @@ -942,13 +945,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256, address, address, uint256)", - "signature": "cf2f780e", + "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address,address,uint256)", + "signature": "0e5d3ae2", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokensSupportingFeeOnTransferTokens(uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalpayable;" }, { "id": 674, @@ -1238,13 +1242,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256, uint256, address, address, uint256)", - "signature": "66128db0", + "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address,address,uint256)", + "signature": "fcf29d0e", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETHSupportingFeeOnTransferTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)external;" }, { "id": 689, @@ -1709,13 +1714,14 @@ } ] }, - "signature_raw": "addLiquidityETH(address, uint256, uint256, uint256, address, uint256)", - "signature": "55a58f33", + "signature_raw": "addLiquidityETH(address,uint256,uint256,uint256,address,uint256)", + "signature": "f305d719", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidityETH(addresstoken,uint256amountTokenDesired,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline)externalpayablereturns(uint256amountToken,uint256amountETH,uint256liquidity);" }, { "id": 712, @@ -2267,13 +2273,14 @@ } ] }, - "signature_raw": "addLiquidity(address, address, uint256, uint256, uint256, uint256, address, uint256)", - "signature": "451f1d52", + "signature_raw": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)", + "signature": "e8e33700", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidity(addresstokenA,addresstokenB,uint256amountADesired,uint256amountBDesired,uint256amountAMin,uint256amountBMin,addressto,uint256deadline)externalreturns(uint256amountA,uint256amountB,uint256liquidity);" }, { "id": 739, @@ -2608,13 +2615,14 @@ } ] }, - "signature_raw": "swapExactTokensForTokens(uint256, uint256, address, address, uint256)", - "signature": "594b793e", + "signature_raw": "swapExactTokensForTokens(uint256,uint256,address,address,uint256)", + "signature": "0a9e24b1", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 756, @@ -2949,13 +2957,14 @@ } ] }, - "signature_raw": "swapTokensForExactTokens(uint256, uint256, address, address, uint256)", - "signature": "d8c40951", + "signature_raw": "swapTokensForExactTokens(uint256,uint256,address,address,uint256)", + "signature": "04d5911f", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactTokens(uint256amountOut,uint256amountInMax,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 773, @@ -3247,13 +3256,14 @@ } ] }, - "signature_raw": "swapExactETHForTokens(uint256, address, address, uint256)", - "signature": "ce24d10d", + "signature_raw": "swapExactETHForTokens(uint256,address,address,uint256)", + "signature": "45177656", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokens(uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalpayablereturns(uint256[]memoryamounts);" }, { "id": 788, @@ -3588,13 +3598,14 @@ } ] }, - "signature_raw": "swapTokensForExactETH(uint256, uint256, address, address, uint256)", - "signature": "d16105f7", + "signature_raw": "swapTokensForExactETH(uint256,uint256,address,address,uint256)", + "signature": "5e7eccba", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactETH(uint256amountOut,uint256amountInMax,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 805, @@ -3929,13 +3940,14 @@ } ] }, - "signature_raw": "swapExactTokensForETH(uint256, uint256, address, address, uint256)", - "signature": "4745ea6f", + "signature_raw": "swapExactTokensForETH(uint256,uint256,address,address,uint256)", + "signature": "e37c6f8c", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETH(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 822, @@ -4227,13 +4239,14 @@ } ] }, - "signature_raw": "swapETHForExactTokens(uint256, address, address, uint256)", - "signature": "4221a034", + "signature_raw": "swapETHForExactTokens(uint256,address,address,uint256)", + "signature": "8ddc2492", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapETHForExactTokens(uint256amountOut,address[]calldatapath,addressto,uint256deadline)externalpayablereturns(uint256[]memoryamounts);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/LiquidityFeeUSDT.solgo.ast.json b/data/tests/contracts/ptm/LiquidityFeeUSDT.solgo.ast.json index c596e2fd..994f2ca0 100644 --- a/data/tests/contracts/ptm/LiquidityFeeUSDT.solgo.ast.json +++ b/data/tests/contracts/ptm/LiquidityFeeUSDT.solgo.ast.json @@ -215,7 +215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -292,7 +293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 2832, @@ -314,7 +316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e28" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -383,7 +386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x714675834Fc80Ff85f892840d7940496C52b1BA8" } }, { @@ -891,7 +895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2828, - "is_pure": false + "is_pure": false, + "text": "numTokensSellToAddToLiquidity" }, "right_expression": { "id": 2868, @@ -911,7 +916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2868, - "is_pure": false + "is_pure": false, + "text": "_numTokensSellToAddToLiquidity" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -921,7 +927,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "numTokensSellToAddToLiquidity=_numTokensSellToAddToLiquidity;" }, { "id": 2869, @@ -964,7 +971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2824, - "is_pure": false + "is_pure": false, + "text": "swapAndLiquifyEnabled" }, "right_expression": { "id": 2872, @@ -984,7 +992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2872, - "is_pure": false + "is_pure": false, + "text": "_swapAndLiquifyEnabled" }, "type_description": { "type_identifier": "t_bool", @@ -994,7 +1003,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "swapAndLiquifyEnabled=_swapAndLiquifyEnabled;" }, { "id": 2873, @@ -1056,7 +1066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" } ], "expression": { @@ -1102,7 +1113,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1159,7 +1171,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" } ], "expression": { @@ -1222,7 +1235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -1243,7 +1257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1255,7 +1270,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_$", @@ -1420,7 +1436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2901, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2902, @@ -1440,7 +1457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2243, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" }, "type_description": { "type_identifier": "t_uint256", @@ -1473,7 +1491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -1526,7 +1545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2907, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 2908, @@ -1565,7 +1585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -1611,7 +1632,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1646,7 +1668,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "liquidityAmount" } ], "expression": { @@ -1690,14 +1713,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -1734,7 +1759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2895, - "is_pure": false + "is_pure": false, + "text": "liquidityAmount" } } ] @@ -1907,13 +1933,14 @@ } ] }, - "signature_raw": "_takeliquidityFee(address, uint256)", - "signature": "b6656e06", + "signature_raw": "_takeliquidityFee(address,uint256)", + "signature": "ecd2eef0", "scope": 2816, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_takeliquidityFee(addresssender,uint256amount)internalreturns(uint256){uint256liquidityAmount=(amount*liquidityFee)/1000;super._transfer(sender,address(this),liquidityAmount);returnliquidityAmount;}" }, { "id": 2916, @@ -2039,7 +2066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 2929, @@ -2078,7 +2106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2124,7 +2153,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2239,7 +2269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2924, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "right_expression": { "id": 2938, @@ -2259,7 +2290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2828, - "is_pure": false + "is_pure": false, + "text": "numTokensSellToAddToLiquidity" }, "type_description": { "type_identifier": "t_bool", @@ -2332,7 +2364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2933, - "is_pure": false + "is_pure": false, + "text": "overMinTokenBalance" }, { "id": 2947, @@ -2370,7 +2403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2222, - "is_pure": false + "is_pure": false, + "text": "inisSwap" }, "type_description": { "type_identifier": "t_bool", @@ -2421,7 +2455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2950, - "is_pure": false + "is_pure": false, + "text": "sender" }, "right_expression": { "id": 2951, @@ -2441,7 +2476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2232, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "type_description": { "type_identifier": "t_bool", @@ -2478,7 +2514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2824, - "is_pure": false + "is_pure": false, + "text": "swapAndLiquifyEnabled" } ], "type_descriptions": [ @@ -2538,7 +2575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -2677,7 +2715,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionshouldSwapAndLiquify(addresssender)internalviewreturns(bool){uint256contractTokenBalance=balanceOf[address(this)];booloverMinTokenBalance=contractTokenBalance\u003e=numTokensSellToAddToLiquidity;if(overMinTokenBalance\u0026\u0026!inisSwap\u0026\u0026sender!=uniswapV2Pair\u0026\u0026swapAndLiquifyEnabled){returntrue;}else{returnfalse;}}" }, { "id": 2957, @@ -2806,7 +2845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2969, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "right_expression": { "id": 2970, @@ -2828,7 +2868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -2928,7 +2969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2975, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "right_expression": { "id": 2976, @@ -2948,7 +2990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2965, - "is_pure": false + "is_pure": false, + "text": "half" }, "type_description": { "type_identifier": "t_uint256", @@ -3072,7 +3115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3118,7 +3162,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3186,7 +3231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -3207,7 +3253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3219,7 +3266,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -3264,7 +3312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2965, - "is_pure": false + "is_pure": false, + "text": "half" } ], "expression": { @@ -3285,7 +3334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "swapTokensForTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -3422,7 +3472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -3468,7 +3519,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3536,7 +3588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -3557,7 +3610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3569,7 +3623,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -3594,7 +3649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2977, - "is_pure": false + "is_pure": false, + "text": "initialBalance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -3643,7 +3699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2971, - "is_pure": false + "is_pure": false, + "text": "otherHalf" }, { "id": 3009, @@ -3669,7 +3726,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -3690,7 +3748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "addLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -3814,7 +3873,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapAndLiquify(uint256contractTokenBalance)internalisSwap{uint256half=contractTokenBalance/2;uint256otherHalf=contractTokenBalance-half;uint256initialBalance=IERC20(USDT).balanceOf(address(this));swapTokensForTokens(half);uint256newBalance=IERC20(USDT).balanceOf(address(this))-initialBalance;addLiquidity(otherHalf,newBalance);}" }, { "id": 3011, @@ -3950,7 +4010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "expression": { @@ -4046,7 +4107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3017, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3028, @@ -4068,7 +4130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -4122,7 +4185,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -4168,7 +4232,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4183,7 +4248,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 3033, @@ -4237,7 +4303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3017, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3037, @@ -4259,7 +4326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -4313,7 +4381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -4359,7 +4428,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4374,7 +4444,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=address(USDT);" }, { "id": 3042, @@ -4429,7 +4500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3045, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, { "id": 3046, @@ -4457,7 +4529,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 3047, @@ -4487,7 +4560,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 3048, @@ -4526,7 +4600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -4572,7 +4647,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4620,7 +4696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -4644,7 +4721,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -4688,14 +4766,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2225, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_function_$_t_function_$_t_uint256$", @@ -4818,7 +4898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -4864,7 +4945,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4932,7 +5014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -4953,7 +5036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4965,7 +5049,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -5033,7 +5118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -5079,7 +5165,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5110,7 +5197,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "amount" } ], "expression": { @@ -5154,14 +5242,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "transferUSDT", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.transferUSDT" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -5255,7 +5345,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapTokensForTokens(uint256tokenAmount)internal{address[]memorypath=newaddress[](2);path[0]=address(this);path[1]=address(USDT);uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(distributor),block.timestamp);uint256amount=IERC20(USDT).balanceOf(address(distributor));distributor.transferUSDT(address(this),amount);}" }, { "id": 3075, @@ -5376,7 +5467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -5422,7 +5514,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5466,7 +5559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -5512,7 +5606,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -5547,7 +5642,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "tokenAmount" }, { "id": 3095, @@ -5581,7 +5677,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "usdtAmount" }, { "id": 3096, @@ -5621,7 +5718,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 3097, @@ -5665,7 +5763,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "0" }, { "id": 3098, @@ -5711,7 +5810,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "lpRec" }, { "id": 3099, @@ -5754,7 +5854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -5790,7 +5891,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -5834,14 +5936,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2225, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "addLiquidity", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "uniswapV2Router.addLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_uint256$_t_uint256$_t_rational_0_by_1$_t_rational_0_by_1$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_uint256$_t_uint256$_t_rational_0_by_1$_t_rational_0_by_1$_t_uint256$", @@ -5972,13 +6076,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "addLiquidity(uint256, uint256)", - "signature": "946ae00e", + "signature_raw": "addLiquidity(uint256,uint256)", + "signature": "9cd441da", "scope": 2816, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionaddLiquidity(uint256tokenAmount,uint256usdtAmount)public{uniswapV2Router.addLiquidity(address(this),address(USDT),tokenAmount,usdtAmount,0,0,lpRec,block.timestamp);}" }, { "id": 3102, @@ -6056,7 +6161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2828, - "is_pure": false + "is_pure": false, + "text": "numTokensSellToAddToLiquidity" }, "right_expression": { "id": 3113, @@ -6076,7 +6182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3113, - "is_pure": false + "is_pure": false, + "text": "_num" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -6086,7 +6193,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "numTokensSellToAddToLiquidity=_num;" } ] }, @@ -6205,7 +6313,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetNumTokensToAddToLiquidity(uint256_num)externalonlyOwner{numTokensSellToAddToLiquidity=_num;}" }, { "id": 3115, @@ -6283,7 +6392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2824, - "is_pure": false + "is_pure": false, + "text": "swapAndLiquifyEnabled" }, "right_expression": { "id": 3126, @@ -6303,7 +6413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3126, - "is_pure": false + "is_pure": false, + "text": "_n" }, "type_description": { "type_identifier": "t_bool", @@ -6313,7 +6424,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "swapAndLiquifyEnabled=_n;" } ] }, @@ -6432,7 +6544,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsetSwapAndLiquifyEnabled(bool_n)externalonlyOwner{swapAndLiquifyEnabled=_n;}" }, { "id": 3128, @@ -6510,7 +6623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "lpRec" }, "right_expression": { "id": 3139, @@ -6530,7 +6644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3139, - "is_pure": false + "is_pure": false, + "text": "_lpRec" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -6540,7 +6655,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x714675834Fc80Ff85f892840d7940496C52b1BA8" - } + }, + "text": "lpRec=_lpRec;" } ] }, @@ -6660,7 +6776,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLpRec(address_lpRec)externalonlyOwner{lpRec=_lpRec;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/MaxHave.solgo.ast.json b/data/tests/contracts/ptm/MaxHave.solgo.ast.json index 426e5f4e..12521001 100644 --- a/data/tests/contracts/ptm/MaxHave.solgo.ast.json +++ b/data/tests/contracts/ptm/MaxHave.solgo.ast.json @@ -159,7 +159,7 @@ "mutability": 1, "type_name": { "id": 3211, - "node_type": 0, + "node_type": 53, "src": { "line": 1285, "column": 4, @@ -373,7 +373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3207, - "is_pure": false + "is_pure": false, + "text": "_maxHavAmount" }, "right_expression": { "id": 3224, @@ -393,7 +394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3224, - "is_pure": false + "is_pure": false, + "text": "_maxHav" }, "type_description": { "type_identifier": "t_uint256", @@ -403,7 +405,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_maxHavAmount=_maxHav;" }, { "id": 3225, @@ -457,7 +460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3229, @@ -500,14 +504,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -544,7 +550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -554,7 +561,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "isHavLimitExempt[msg.sender]=true;" }, { "id": 3232, @@ -608,7 +616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3236, @@ -647,7 +656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -693,7 +703,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -735,7 +746,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", @@ -745,7 +757,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", "type_string": "index[mapping(address=\u003ebool):function(address)]" - } + }, + "text": "isHavLimitExempt[address(this)]=true;" }, { "id": 3241, @@ -799,7 +812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3245, @@ -840,7 +854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -886,7 +901,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -928,7 +944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -938,7 +955,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0)]" - } + }, + "text": "isHavLimitExempt[address(0)]=true;" }, { "id": 3250, @@ -992,7 +1010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3254, @@ -1033,7 +1052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xdead" } ], "expression": { @@ -1079,7 +1099,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1121,7 +1142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -1131,7 +1153,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0xdead)]" - } + }, + "text": "isHavLimitExempt[address(0xdead)]=true;" }, { "id": 3259, @@ -1185,7 +1208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3263, @@ -1226,7 +1250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x714675834Fc80Ff85f892840d7940496C52b1BA8" } ], "expression": { @@ -1272,7 +1297,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1314,7 +1340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -1324,7 +1351,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0x714675834Fc80Ff85f892840d7940496C52b1BA8)]" - } + }, + "text": "isHavLimitExempt[address(0x714675834Fc80Ff85f892840d7940496C52b1BA8)]=true;" }, { "id": 3268, @@ -1378,7 +1406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3272, @@ -1419,7 +1448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x242B3f82697846f4d0fd979EE2fA960aAd41d31C" } ], "expression": { @@ -1465,7 +1495,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1507,7 +1538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -1517,7 +1549,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0x242B3f82697846f4d0fd979EE2fA960aAd41d31C)]" - } + }, + "text": "isHavLimitExempt[address(0x242B3f82697846f4d0fd979EE2fA960aAd41d31C)]=true;" } ] } @@ -1598,7 +1631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3207, - "is_pure": false + "is_pure": false, + "text": "_maxHavAmount" }, "right_expression": { "id": 3287, @@ -1645,7 +1679,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_uint256", @@ -1655,7 +1690,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_maxHavAmount=type(uint256).max;" } ] }, @@ -1729,7 +1765,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsetMaxHavAmount()externalonlyOwner{_maxHavAmount=type(uint256).max;}" }, { "id": 3290, @@ -1818,7 +1855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3304, @@ -1838,7 +1876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3304, - "is_pure": false + "is_pure": false, + "text": "holder" }, "type_descriptions": [ { @@ -1873,7 +1912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3305, - "is_pure": false + "is_pure": false, + "text": "havExempt" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -1883,7 +1923,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "isHavLimitExempt[holder]=havExempt;" } ] }, @@ -2040,13 +2081,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setIsHavLimitExempt(address, bool)", - "signature": "4688c0d8", + "signature_raw": "setIsHavLimitExempt(address,bool)", + "signature": "7a4c443f", "scope": 3203, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetIsHavLimitExempt(addressholder,boolhavExempt)externalonlyOwner{isHavLimitExempt[holder]=havExempt;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/N_ERC20.solgo.ast.json b/data/tests/contracts/ptm/N_ERC20.solgo.ast.json index ee78e5a6..857ecd11 100644 --- a/data/tests/contracts/ptm/N_ERC20.solgo.ast.json +++ b/data/tests/contracts/ptm/N_ERC20.solgo.ast.json @@ -253,7 +253,7 @@ "mutability": 1, "type_name": { "id": 1029, - "node_type": 0, + "node_type": 53, "src": { "line": 458, "column": 4, @@ -553,7 +553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 430, - "is_pure": false + "is_pure": false, + "text": "name" }, "right_expression": { "id": 1046, @@ -573,7 +574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1046, - "is_pure": false + "is_pure": false, + "text": "_name" }, "type_description": { "type_identifier": "t_string", @@ -583,7 +585,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "name=_name;" }, { "id": 1047, @@ -626,7 +629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 433, - "is_pure": false + "is_pure": false, + "text": "symbol" }, "right_expression": { "id": 1050, @@ -646,7 +650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1050, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "type_description": { "type_identifier": "t_string", @@ -656,7 +661,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "symbol=_symbol;" }, { "id": 1051, @@ -699,7 +705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 436, - "is_pure": false + "is_pure": false, + "text": "decimals" }, "right_expression": { "id": 1054, @@ -719,7 +726,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1054, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_description": { "type_identifier": "t_uint8", @@ -729,7 +737,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "decimals=_decimals;" } ] } @@ -810,7 +819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "right_expression": { "id": 1067, @@ -830,7 +840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1067, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -840,7 +851,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply+=amount;" }, { "id": 1068, @@ -908,7 +920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 1073, @@ -928,7 +941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1073, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -963,7 +977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1074, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -973,7 +988,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -1102,13 +1118,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1014, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256amount)internalvirtual{totalSupply+=amount;unchecked{balanceOf[to]+=amount;}}" }, { "id": 1076, @@ -1197,7 +1214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 1088, @@ -1217,7 +1235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1088, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -1252,7 +1271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1089, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -1262,7 +1282,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[from]-=amount;" }, { "id": 1090, @@ -1319,7 +1340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "right_expression": { "id": 1094, @@ -1339,7 +1361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -1349,7 +1372,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply-=amount;" } ] } @@ -1478,13 +1502,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 1014, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressfrom,uint256amount)internalvirtual{balanceOf[from]-=amount;unchecked{totalSupply-=amount;}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/Ownable.solgo.ast.json b/data/tests/contracts/ptm/Ownable.solgo.ast.json index 19869c8d..822ca7b5 100644 --- a/data/tests/contracts/ptm/Ownable.solgo.ast.json +++ b/data/tests/contracts/ptm/Ownable.solgo.ast.json @@ -389,14 +389,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } }, { @@ -440,7 +442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 114, @@ -460,7 +463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 106, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -470,7 +474,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 115, @@ -523,7 +528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -569,7 +575,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -594,7 +601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 106, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -615,7 +623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 95, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -686,7 +695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -823,7 +833,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){return_owner;}" }, { "id": 134, @@ -930,7 +941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 141, @@ -973,14 +985,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -1013,7 +1027,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -1034,7 +1049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1059,7 +1075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -1129,7 +1146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 154, @@ -1170,7 +1188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1216,7 +1235,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1242,7 +1262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 95, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -1286,7 +1307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 162, @@ -1327,7 +1349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1373,7 +1396,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1388,7 +1412,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -1462,7 +1487,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" }, { "id": 167, @@ -1554,7 +1580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 178, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 179, @@ -1595,7 +1622,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1641,7 +1669,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1679,7 +1708,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1700,7 +1730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1737,7 +1768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 186, @@ -1757,7 +1789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 186, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1778,7 +1811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 95, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -1822,7 +1856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 191, @@ -1842,7 +1877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 191, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1852,7 +1888,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -1972,7 +2009,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/PTM.solgo.ast.json b/data/tests/contracts/ptm/PTM.solgo.ast.json index ed63859f..495ddbf0 100644 --- a/data/tests/contracts/ptm/PTM.solgo.ast.json +++ b/data/tests/contracts/ptm/PTM.solgo.ast.json @@ -233,7 +233,7 @@ "mutability": 1, "type_name": { "id": 3647, - "node_type": 0, + "node_type": 53, "src": { "line": 67, "column": 4, @@ -1389,7 +1389,7 @@ "mutability": 1, "type_name": { "id": 3703, - "node_type": 0, + "node_type": 53, "src": { "line": 218, "column": 4, @@ -1481,7 +1481,7 @@ "mutability": 1, "type_name": { "id": 3707, - "node_type": 0, + "node_type": 53, "src": { "line": 220, "column": 4, @@ -1953,7 +1953,7 @@ "mutability": 1, "type_name": { "id": 3730, - "node_type": 0, + "node_type": 53, "src": { "line": 458, "column": 4, @@ -2082,7 +2082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x55d398326f99059fF775485246999027B3197955" } }, { @@ -2145,7 +2146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c" } }, { @@ -2208,7 +2210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c" } }, { @@ -2271,7 +2274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x10ED43C718714eb63d5aA57B78B54704E256024E" } }, { @@ -2386,7 +2390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 3752, @@ -2408,7 +2413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" }, "type_descriptions": [ { @@ -2486,7 +2492,7 @@ "mutability": 1, "type_name": { "id": 3756, - "node_type": 0, + "node_type": 53, "src": { "line": 520, "column": 4, @@ -2578,7 +2584,7 @@ "mutability": 1, "type_name": { "id": 3760, - "node_type": 0, + "node_type": 53, "src": { "line": 521, "column": 4, @@ -2969,7 +2975,7 @@ "name": "values", "type_name": { "id": 3779, - "node_type": 0, + "node_type": 53, "src": { "line": 653, "column": 8, @@ -3057,7 +3063,7 @@ "name": "indexOf", "type_name": { "id": 3783, - "node_type": 0, + "node_type": 53, "src": { "line": 654, "column": 8, @@ -3145,7 +3151,7 @@ "name": "inserted", "type_name": { "id": 3787, - "node_type": 0, + "node_type": 53, "src": { "line": 655, "column": 8, @@ -3349,7 +3355,7 @@ "mutability": 1, "type_name": { "id": 3796, - "node_type": 0, + "node_type": 53, "src": { "line": 661, "column": 4, @@ -3441,7 +3447,7 @@ "mutability": 1, "type_name": { "id": 3800, - "node_type": 0, + "node_type": 53, "src": { "line": 663, "column": 4, @@ -4671,7 +4677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ROUTER" } ], "expression": { @@ -4692,7 +4699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Router" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4863,7 +4871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "30" } }, { @@ -4925,7 +4934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5" } }, { @@ -4987,7 +4997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "24" } }, { @@ -5063,7 +5074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 3879, @@ -5082,7 +5094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3735, - "is_pure": false + "is_pure": false, + "text": "1e10ether" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -5149,7 +5162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -5225,7 +5239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 3887, @@ -5247,7 +5262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e28" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -5314,7 +5330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "300_000" } }, { @@ -5663,7 +5680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -5739,7 +5757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 3912, @@ -5761,7 +5780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e28" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -5829,7 +5849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x714675834Fc80Ff85f892840d7940496C52b1BA8" } }, { @@ -6538,7 +6559,7 @@ "mutability": 1, "type_name": { "id": 3951, - "node_type": 0, + "node_type": 53, "src": { "line": 1266, "column": 4, @@ -6909,7 +6930,7 @@ "mutability": 1, "type_name": { "id": 3969, - "node_type": 0, + "node_type": 53, "src": { "line": 1285, "column": 4, @@ -7051,7 +7072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 3976, @@ -7073,7 +7095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e32" }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -7140,7 +7163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"Phoenix To Moon\"" } }, { @@ -7202,7 +7226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"PTM\"" } }, { @@ -7278,7 +7303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 3987, @@ -7297,7 +7323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3735, - "is_pure": false + "is_pure": false, + "text": "1e14ether" }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -7364,7 +7391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } }, { @@ -8130,14 +8158,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } }, { @@ -8181,7 +8211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 114, @@ -8201,7 +8232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 106, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -8211,7 +8243,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 115, @@ -8264,7 +8297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8310,7 +8344,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8335,7 +8370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 106, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -8356,7 +8392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 95, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -8427,7 +8464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -8564,7 +8602,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){return_owner;}" }, { "id": 134, @@ -8671,7 +8710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 141, @@ -8714,14 +8754,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_bool", @@ -8754,7 +8796,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -8775,7 +8818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8800,7 +8844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -8870,7 +8915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 154, @@ -8911,7 +8957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8957,7 +9004,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8983,7 +9031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 95, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -9027,7 +9076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 162, @@ -9068,7 +9118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9114,7 +9165,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9129,7 +9181,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -9203,7 +9256,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" }, { "id": 167, @@ -9295,7 +9349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 178, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 179, @@ -9336,7 +9391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9382,7 +9438,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9420,7 +9477,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -9441,7 +9499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9478,7 +9537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 186, @@ -9498,7 +9558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 186, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -9519,7 +9580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 95, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -9563,7 +9625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 92, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 191, @@ -9583,7 +9646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 191, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -9593,7 +9657,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -9713,7 +9778,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" } ], "linearized_base_contracts": [ @@ -9851,7 +9917,7 @@ "mutability": 1, "type_name": { "id": 199, - "node_type": 0, + "node_type": 53, "src": { "line": 67, "column": 4, @@ -10152,7 +10218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 224, @@ -10172,7 +10239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 224, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -10323,7 +10391,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExcludedFromFee(addressaccount)publicviewreturns(bool){return_isExcludedFromFee[account];}" }, { "id": 226, @@ -10412,7 +10481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 238, @@ -10432,7 +10502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 238, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -10469,7 +10540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -10479,7 +10551,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_isExcludedFromFee[account]=true;" }, { "id": 240, @@ -10511,7 +10584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 241, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -10532,7 +10606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 203, - "is_pure": false + "is_pure": false, + "text": "ExcludedFromFee" } } ] @@ -10653,7 +10728,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromFee(addressaccount)publiconlyOwner{_isExcludedFromFee[account]=true;emitExcludedFromFee(account);}" }, { "id": 244, @@ -10742,7 +10818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 256, @@ -10762,7 +10839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 256, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -10799,7 +10877,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -10809,7 +10888,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "_isExcludedFromFee[account]=false;" }, { "id": 258, @@ -10841,7 +10921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 259, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -10862,7 +10943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 208, - "is_pure": false + "is_pure": false, + "text": "IncludedToFee" } } ] @@ -10983,7 +11065,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionincludeInFee(addressaccount)publiconlyOwner{_isExcludedFromFee[account]=false;emitIncludedToFee(account);}" }, { "id": 262, @@ -11140,14 +11223,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 277, - "is_pure": false + "is_pure": false, + "text": "accounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "accounts.length" } ], "expression": { @@ -11192,7 +11277,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -11291,7 +11377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { @@ -11326,7 +11413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 279, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 285, @@ -11346,7 +11434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 270, - "is_pure": false + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_bool", @@ -11420,7 +11509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 291, @@ -11451,7 +11541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 264, - "is_pure": false + "is_pure": false, + "text": "accounts" }, "base_expression": { "id": 293, @@ -11471,7 +11562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 279, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -11523,7 +11615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_[_[$_t_address]$_t_uint256]$", @@ -11533,7 +11626,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ebool):index[address:uint256]]" - } + }, + "text": "_isExcludedFromFee[accounts[i]]=true;" }, { "id": 295, @@ -11585,7 +11679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 279, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -11714,7 +11809,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeMultipleAccountsFromFee(address[]calldataaccounts)publiconlyOwner{uint256len=uint256(accounts.length);for(uint256i=0;i\u003clen;){_isExcludedFromFee[accounts[i]]=true;unchecked{++i;}}}" } ], "linearized_base_contracts": [ @@ -12326,7 +12422,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 329, @@ -12496,7 +12593,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()externalviewreturns(address);" }, { "id": 338, @@ -12665,7 +12763,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 347, @@ -12871,13 +12970,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 300, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 358, @@ -13084,13 +13184,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 300, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 369, @@ -13296,13 +13397,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 300, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 380, @@ -13552,13 +13654,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 300, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" }, { "id": 393, @@ -13727,7 +13830,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisExcludedFromFee(addressaccount)externalviewreturns(bool);" }, { "id": 402, @@ -13850,7 +13954,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeMultipleAccountsFromFee(address[]calldataaccounts)external;" } ], "linearized_base_contracts": [ @@ -14458,7 +14563,7 @@ "mutability": 1, "type_name": { "id": 443, - "node_type": 0, + "node_type": 53, "src": { "line": 218, "column": 4, @@ -14551,7 +14656,7 @@ "mutability": 1, "type_name": { "id": 448, - "node_type": 0, + "node_type": 53, "src": { "line": 220, "column": 4, @@ -14903,7 +15008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 430, - "is_pure": false + "is_pure": false, + "text": "name" }, "right_expression": { "id": 468, @@ -14923,7 +15029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 468, - "is_pure": false + "is_pure": false, + "text": "_name" }, "type_description": { "type_identifier": "t_string", @@ -14933,7 +15040,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "name=_name;" }, { "id": 469, @@ -14976,7 +15084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 433, - "is_pure": false + "is_pure": false, + "text": "symbol" }, "right_expression": { "id": 472, @@ -14996,7 +15105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 472, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "type_description": { "type_identifier": "t_string", @@ -15006,7 +15116,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "symbol=_symbol;" }, { "id": 473, @@ -15049,7 +15160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 436, - "is_pure": false + "is_pure": false, + "text": "decimals" }, "right_expression": { "id": 476, @@ -15069,7 +15181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 476, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_description": { "type_identifier": "t_uint8", @@ -15079,7 +15192,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "decimals=_decimals;" } ] } @@ -15182,7 +15296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "base_expression": { "id": 493, @@ -15225,14 +15340,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -15267,7 +15384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 495, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -15302,7 +15420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 496, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -15312,7 +15431,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "allowance[msg.sender][spender]=amount;" }, { "id": 497, @@ -15367,14 +15487,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 500, @@ -15394,7 +15516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 500, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 501, @@ -15414,7 +15537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 501, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -15435,7 +15559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 311, - "is_pure": false + "is_pure": false, + "text": "Approval" } }, { @@ -15470,7 +15595,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -15643,13 +15769,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualreturns(bool){allowance[msg.sender][spender]=amount;emitApproval(msg.sender,spender,amount);returntrue;}" }, { "id": 506, @@ -15754,14 +15881,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 520, @@ -15787,7 +15916,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 521, @@ -15817,7 +15947,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -15838,7 +15969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -15877,7 +16009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -16050,13 +16183,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualreturns(bool){_transfer(msg.sender,to,amount);returntrue;}" }, { "id": 525, @@ -16193,7 +16327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "base_expression": { "id": 543, @@ -16213,7 +16348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 543, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -16271,14 +16407,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -16339,7 +16477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "allowed" }, "right_expression": { "id": 549, @@ -16386,7 +16525,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -16453,7 +16593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 554, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 555, @@ -16479,7 +16620,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 556, @@ -16509,7 +16651,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -16530,7 +16673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -16569,7 +16713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -16786,13 +16931,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualreturns(bool){uint256allowed=allowance[from][msg.sender];if(allowed!=type(uint256).max)allowance[from][msg.sender]=allowed-amount;_transfer(from,to,amount);returntrue;}" }, { "id": 560, @@ -16859,7 +17005,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 571, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 572, @@ -16879,7 +17026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 572, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 573, @@ -16899,7 +17047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 573, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -16920,7 +17069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 302, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -16989,7 +17139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 580, @@ -17009,7 +17160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 580, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -17044,7 +17196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 581, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -17054,7 +17207,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -17227,13 +17381,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{unchecked{balanceOf[to]+=amount;}emitTransfer(from,to,amount);}" }, { "id": 583, @@ -17311,7 +17466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "right_expression": { "id": 594, @@ -17331,7 +17487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 594, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -17341,7 +17498,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply+=amount;" }, { "id": 595, @@ -17394,7 +17552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17440,7 +17599,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17465,7 +17625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 600, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 601, @@ -17485,7 +17646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 601, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -17506,7 +17668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 302, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -17575,7 +17738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 608, @@ -17595,7 +17759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 608, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -17630,7 +17795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 609, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -17640,7 +17806,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -17769,13 +17936,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 410, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256amount)internalvirtual{totalSupply+=amount;unchecked{balanceOf[to]+=amount;}emitTransfer(address(0),to,amount);}" } ], "linearized_base_contracts": [ @@ -18063,13 +18231,14 @@ } ] }, - "signature_raw": "createPair(address, address)", - "signature": "a36b5e48", + "signature_raw": "createPair(address,address)", + "signature": "c9c65396", "scope": 612, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioncreatePair(addresstokenA,addresstokenB)externalreturns(addresspair);" } ], "linearized_base_contracts": [ @@ -18319,7 +18488,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalpurereturns(address);" }, { "id": 637, @@ -18489,7 +18659,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionWETH()externalpurereturns(address);" }, { "id": 646, @@ -18779,13 +18950,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256, uint256, address, address, uint256)", - "signature": "df3acbab", + "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address,address,uint256)", + "signature": "69b7f82c", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokensSupportingFeeOnTransferTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)external;" }, { "id": 661, @@ -19032,13 +19204,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256, address, address, uint256)", - "signature": "cf2f780e", + "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address,address,uint256)", + "signature": "0e5d3ae2", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokensSupportingFeeOnTransferTokens(uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalpayable;" }, { "id": 674, @@ -19328,13 +19501,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256, uint256, address, address, uint256)", - "signature": "66128db0", + "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address,address,uint256)", + "signature": "fcf29d0e", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETHSupportingFeeOnTransferTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)external;" }, { "id": 689, @@ -19799,13 +19973,14 @@ } ] }, - "signature_raw": "addLiquidityETH(address, uint256, uint256, uint256, address, uint256)", - "signature": "55a58f33", + "signature_raw": "addLiquidityETH(address,uint256,uint256,uint256,address,uint256)", + "signature": "f305d719", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidityETH(addresstoken,uint256amountTokenDesired,uint256amountTokenMin,uint256amountETHMin,addressto,uint256deadline)externalpayablereturns(uint256amountToken,uint256amountETH,uint256liquidity);" }, { "id": 712, @@ -20357,13 +20532,14 @@ } ] }, - "signature_raw": "addLiquidity(address, address, uint256, uint256, uint256, uint256, address, uint256)", - "signature": "451f1d52", + "signature_raw": "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)", + "signature": "e8e33700", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidity(addresstokenA,addresstokenB,uint256amountADesired,uint256amountBDesired,uint256amountAMin,uint256amountBMin,addressto,uint256deadline)externalreturns(uint256amountA,uint256amountB,uint256liquidity);" }, { "id": 739, @@ -20698,13 +20874,14 @@ } ] }, - "signature_raw": "swapExactTokensForTokens(uint256, uint256, address, address, uint256)", - "signature": "594b793e", + "signature_raw": "swapExactTokensForTokens(uint256,uint256,address,address,uint256)", + "signature": "0a9e24b1", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokens(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 756, @@ -21039,13 +21216,14 @@ } ] }, - "signature_raw": "swapTokensForExactTokens(uint256, uint256, address, address, uint256)", - "signature": "d8c40951", + "signature_raw": "swapTokensForExactTokens(uint256,uint256,address,address,uint256)", + "signature": "04d5911f", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactTokens(uint256amountOut,uint256amountInMax,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 773, @@ -21337,13 +21515,14 @@ } ] }, - "signature_raw": "swapExactETHForTokens(uint256, address, address, uint256)", - "signature": "ce24d10d", + "signature_raw": "swapExactETHForTokens(uint256,address,address,uint256)", + "signature": "45177656", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokens(uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalpayablereturns(uint256[]memoryamounts);" }, { "id": 788, @@ -21678,13 +21857,14 @@ } ] }, - "signature_raw": "swapTokensForExactETH(uint256, uint256, address, address, uint256)", - "signature": "d16105f7", + "signature_raw": "swapTokensForExactETH(uint256,uint256,address,address,uint256)", + "signature": "5e7eccba", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactETH(uint256amountOut,uint256amountInMax,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 805, @@ -22019,13 +22199,14 @@ } ] }, - "signature_raw": "swapExactTokensForETH(uint256, uint256, address, address, uint256)", - "signature": "4745ea6f", + "signature_raw": "swapExactTokensForETH(uint256,uint256,address,address,uint256)", + "signature": "e37c6f8c", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETH(uint256amountIn,uint256amountOutMin,address[]calldatapath,addressto,uint256deadline)externalreturns(uint256[]memoryamounts);" }, { "id": 822, @@ -22317,13 +22498,14 @@ } ] }, - "signature_raw": "swapETHForExactTokens(uint256, address, address, uint256)", - "signature": "4221a034", + "signature_raw": "swapETHForExactTokens(uint256,address,address,uint256)", + "signature": "8ddc2492", "scope": 626, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapETHForExactTokens(uint256amountOut,address[]calldatapath,addressto,uint256deadline)externalpayablereturns(uint256[]memoryamounts);" } ], "linearized_base_contracts": [ @@ -22484,7 +22666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 852, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 853, @@ -22504,7 +22687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 853, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -22681,13 +22865,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 838, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { "id": 855, @@ -22768,7 +22953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 868, @@ -22788,7 +22974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 868, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -22965,13 +23152,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 838, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { "id": 870, @@ -23052,7 +23240,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 882, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 883, @@ -23072,7 +23261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 883, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -23249,13 +23439,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 838, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" } ], "linearized_base_contracts": [ @@ -23469,7 +23660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 902, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -23514,7 +23706,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -23573,7 +23766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 907, @@ -23595,7 +23789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -23621,7 +23816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -23658,7 +23854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "b" } } ] @@ -23793,7 +23990,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoInt256Safe(uint256a)internalpurereturns(int256){int256b=int256(a);require(b\u003e=0);returnb;}" } ], "linearized_base_contracts": [ @@ -24002,7 +24200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 929, @@ -24022,7 +24221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -24121,7 +24321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 937, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 938, @@ -24143,7 +24344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24182,7 +24384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 924, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 941, @@ -24202,7 +24405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 941, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -24285,7 +24489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 947, @@ -24307,7 +24512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24346,7 +24552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 924, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 950, @@ -24366,7 +24573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 950, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -24415,7 +24623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -24452,7 +24661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 924, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -24624,13 +24834,14 @@ } ] }, - "signature_raw": "sub(int256, int256)", - "signature": "af040589", + "signature_raw": "sub(int256,int256)", + "signature": "adefc37b", "scope": 912, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionsub(int256a,int256b)internalpurereturns(int256){int256c=a-b;require((b\u003e=0\u0026\u0026c\u003c=a)||(b\u003c0\u0026\u0026c\u003ea));returnc;}" }, { "id": 954, @@ -24759,7 +24970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 968, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 969, @@ -24779,7 +24991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 969, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -24878,7 +25091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 977, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 978, @@ -24900,7 +25114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24939,7 +25154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 981, @@ -24959,7 +25175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 981, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -25042,7 +25259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 987, @@ -25064,7 +25282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25103,7 +25322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 990, @@ -25123,7 +25343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 990, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -25172,7 +25393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -25209,7 +25431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -25381,13 +25604,14 @@ } ] }, - "signature_raw": "add(int256, int256)", - "signature": "86763e14", + "signature_raw": "add(int256,int256)", + "signature": "a5f3c23b", "scope": 912, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionadd(int256a,int256b)internalpurereturns(int256){int256c=a+b;require((b\u003e=0\u0026\u0026c\u003e=a)||(b\u003c0\u0026\u0026c\u003ca));returnc;}" }, { "id": 994, @@ -25475,7 +25699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1005, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1006, @@ -25497,7 +25722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25523,7 +25749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -25579,7 +25806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1011, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -25624,7 +25852,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -25764,7 +25993,8 @@ "type_description": { "type_identifier": "t_function_$_t_int256$", "type_string": "function(int256)" - } + }, + "text": "functiontoUint256Safe(int256a)internalpurereturns(uint256){require(a\u003e=0);returnuint256(a);}" } ], "linearized_base_contracts": [ @@ -26038,7 +26268,7 @@ "mutability": 1, "type_name": { "id": 1029, - "node_type": 0, + "node_type": 53, "src": { "line": 458, "column": 4, @@ -26338,7 +26568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 430, - "is_pure": false + "is_pure": false, + "text": "name" }, "right_expression": { "id": 1046, @@ -26358,7 +26589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1046, - "is_pure": false + "is_pure": false, + "text": "_name" }, "type_description": { "type_identifier": "t_string", @@ -26368,7 +26600,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "name=_name;" }, { "id": 1047, @@ -26411,7 +26644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 433, - "is_pure": false + "is_pure": false, + "text": "symbol" }, "right_expression": { "id": 1050, @@ -26431,7 +26665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1050, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "type_description": { "type_identifier": "t_string", @@ -26441,7 +26676,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "symbol=_symbol;" }, { "id": 1051, @@ -26484,7 +26720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 436, - "is_pure": false + "is_pure": false, + "text": "decimals" }, "right_expression": { "id": 1054, @@ -26504,7 +26741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1054, - "is_pure": false + "is_pure": false, + "text": "_decimals" }, "type_description": { "type_identifier": "t_uint8", @@ -26514,7 +26752,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "decimals=_decimals;" } ] } @@ -26595,7 +26834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "right_expression": { "id": 1067, @@ -26615,7 +26855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1067, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -26625,7 +26866,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply+=amount;" }, { "id": 1068, @@ -26693,7 +26935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 1073, @@ -26713,7 +26956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1073, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -26748,7 +26992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1074, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -26758,7 +27003,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[to]+=amount;" } ] } @@ -26887,13 +27133,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1014, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressto,uint256amount)internalvirtual{totalSupply+=amount;unchecked{balanceOf[to]+=amount;}}" }, { "id": 1076, @@ -26982,7 +27229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 1088, @@ -27002,7 +27250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1088, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -27037,7 +27286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1089, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -27047,7 +27297,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[from]-=amount;" }, { "id": 1090, @@ -27104,7 +27355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "right_expression": { "id": 1094, @@ -27124,7 +27376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -27134,7 +27387,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalSupply-=amount;" } ] } @@ -27263,13 +27517,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 1014, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressfrom,uint256amount)internalvirtual{balanceOf[from]-=amount;unchecked{totalSupply-=amount;}}" } ], "linearized_base_contracts": [ @@ -27672,7 +27927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "right_expression": { "id": 1123, @@ -27694,7 +27950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "128" }, "type_descriptions": [ { @@ -27774,7 +28031,7 @@ "mutability": 1, "type_name": { "id": 1129, - "node_type": 0, + "node_type": 53, "src": { "line": 520, "column": 4, @@ -27867,7 +28124,7 @@ "mutability": 1, "type_name": { "id": 1134, - "node_type": 0, + "node_type": 53, "src": { "line": 521, "column": 4, @@ -28040,7 +28297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1152, - "is_pure": false + "is_pure": false, + "text": "_name" }, { "id": 1153, @@ -28060,7 +28318,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1153, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, { "id": 1154, @@ -28082,7 +28341,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } ], "modifier_name": { @@ -28316,7 +28576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1115, - "is_pure": false + "is_pure": false, + "text": "dToken" }, "right_expression": { "id": 1159, @@ -28336,7 +28597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1159, - "is_pure": false + "is_pure": false, + "text": "_dToken" }, "type_description": { "type_identifier": "t_address", @@ -28346,7 +28608,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "dToken=_dToken;" } ] } @@ -28437,7 +28700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "right_expression": { "id": 1173, @@ -28459,7 +28723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -28485,7 +28750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -28535,7 +28801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1176, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 1177, @@ -28557,7 +28824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -28619,7 +28887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "right_expression": { "id": 1182, @@ -28691,7 +28960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "magnitude" } ], "expression": { @@ -28749,7 +29019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1189, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "type_description": { @@ -28762,7 +29033,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" - } + }, + "text": "(amount).mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -28787,7 +29059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 439, - "is_pure": false + "is_pure": false, + "text": "totalSupply" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -28836,14 +29109,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -28858,7 +29133,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare=magnifiedDividendPerShare.add((amount).mul(magnitude)/totalSupply);" }, { "id": 1192, @@ -28901,7 +29177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1138, - "is_pure": false + "is_pure": false, + "text": "totalDividendsDistributed" }, "right_expression": { "id": 1195, @@ -28940,7 +29217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1198, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -28984,14 +29262,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1138, - "is_pure": false + "is_pure": false, + "text": "totalDividendsDistributed" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividendsDistributed.add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -29006,7 +29286,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividendsDistributed=totalDividendsDistributed.add(amount);" } ] } @@ -29128,7 +29409,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondistributeDividends(uint256amount)publiconlyOwner{require(totalSupply\u003e0);if(amount\u003e0){magnifiedDividendPerShare=magnifiedDividendPerShare.add((amount).mul(magnitude)/totalSupply);totalDividendsDistributed=totalDividendsDistributed.add(amount);}}" }, { "id": 1200, @@ -29225,14 +29507,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -29253,7 +29537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawDividendOfUser" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -29302,7 +29587,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()publicvirtual{_withdrawDividendOfUser(msg.sender);}" }, { "id": 1209, @@ -29436,7 +29722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1222, - "is_pure": false + "is_pure": false, + "text": "user" } ], "expression": { @@ -29457,7 +29744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -29508,7 +29796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1217, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" }, "right_expression": { "id": 1226, @@ -29530,7 +29819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -29603,7 +29893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1232, @@ -29623,7 +29914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -29677,7 +29969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -29732,7 +30025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1237, @@ -29752,7 +30046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1237, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -29774,7 +30069,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user].add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -29789,7 +30085,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user]=withdrawnDividends[user].add(_withdrawableDividend);" }, { "id": 1239, @@ -29892,7 +30189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1247, - "is_pure": false + "is_pure": false, + "text": "user" }, { "id": 1248, @@ -29918,7 +30216,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_withdrawableDividend" } ], "expression": { @@ -29981,7 +30280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "dToken" } ], "expression": { @@ -30002,7 +30302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -30014,7 +30315,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(dToken).transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", @@ -30069,7 +30371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1239, - "is_pure": false + "is_pure": false, + "text": "success" }, "type_description": { "type_identifier": "t_bool", @@ -30142,7 +30445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1257, @@ -30162,7 +30466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1257, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -30216,7 +30521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } ], "expression": { @@ -30271,7 +30577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1262, @@ -30291,7 +30598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1262, - "is_pure": false + "is_pure": false, + "text": "user" }, "type_descriptions": [ { @@ -30313,7 +30621,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user].sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -30328,7 +30637,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "withdrawnDividends[user]=withdrawnDividends[user].sub(_withdrawableDividend);" }, { "id": 1264, @@ -30362,7 +30672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -30398,7 +30709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1217, - "is_pure": false + "is_pure": false, + "text": "_withdrawableDividend" } } ] @@ -30436,7 +30748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -30572,7 +30885,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_withdrawDividendOfUser(addressuser)internalreturns(uint256){uint256_withdrawableDividend=withdrawableDividendOf(user);if(_withdrawableDividend\u003e0){withdrawnDividends[user]=withdrawnDividends[user].add(_withdrawableDividend);boolsuccess=IERC20(dToken).transfer(user,_withdrawableDividend);if(!success){withdrawnDividends[user]=withdrawnDividends[user].sub(_withdrawableDividend);return0;}return_withdrawableDividend;}return0;}" }, { "id": 1271, @@ -30658,7 +30972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1282, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -30679,7 +30994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -30820,7 +31136,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiondividendOf(address_owner)publicviewreturns(uint256){returnwithdrawableDividendOf(_owner);}" }, { "id": 1284, @@ -30917,7 +31234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1300, @@ -30937,7 +31255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1300, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -31015,7 +31334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1297, - "is_pure": false + "is_pure": false, + "text": "_owner" } ], "expression": { @@ -31036,7 +31356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "accumulativeDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31048,7 +31369,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "accumulativeDividendOf(_owner).sub" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -31189,7 +31511,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawableDividendOf(address_owner)publicviewreturns(uint256){returnaccumulativeDividendOf(_owner).sub(withdrawnDividends[_owner]);}" }, { "id": 1302, @@ -31267,7 +31590,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1133, - "is_pure": false + "is_pure": false, + "text": "withdrawnDividends" }, "base_expression": { "id": 1313, @@ -31287,7 +31611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1313, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -31438,7 +31763,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawnDividendOf(address_owner)publicviewreturns(uint256){returnwithdrawnDividends[_owner];}" }, { "id": 1315, @@ -31586,7 +31912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1339, @@ -31606,7 +31933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1339, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -31732,7 +32060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 1336, @@ -31752,7 +32081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1336, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "type_descriptions": [ { @@ -31811,14 +32141,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -31830,7 +32162,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "function(index[mapping(address=\u003euint256):address])" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf[_owner]).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -31842,7 +32175,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf[_owner]).toInt256Safe().add" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", @@ -31854,7 +32188,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "function(index[mapping(address=\u003eint256):address])" - } + }, + "text": "magnifiedDividendPerShare.mul(balanceOf[_owner]).toInt256Safe().add(magnifiedDividendCorrections[_owner]).toUint256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -31879,7 +32214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1118, - "is_pure": false + "is_pure": false, + "text": "magnitude" }, "type_description": { "type_identifier": "t_function_$", @@ -32020,7 +32356,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaccumulativeDividendOf(address_owner)publicviewreturns(uint256){returnmagnifiedDividendPerShare.mul(balanceOf[_owner]).toInt256Safe().add(magnifiedDividendCorrections[_owner]).toUint256Safe()/magnitude;}" }, { "id": 1342, @@ -32098,7 +32435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1354, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1355, @@ -32124,7 +32462,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -32168,14 +32507,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_mint", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -32234,7 +32575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1360, @@ -32254,7 +32596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1360, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -32378,7 +32721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1372, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -32422,14 +32766,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -32447,7 +32793,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_function_$_t_uint256$$", "type_string": "tuple(function(uint256))" - } + }, + "text": "(magnifiedDividendPerShare.mul(value)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -32507,7 +32854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1365, @@ -32527,7 +32875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1365, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -32549,7 +32898,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account].sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -32564,7 +32914,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].sub((magnifiedDividendPerShare.mul(value)).toInt256Safe());" } ] }, @@ -32710,13 +33061,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 1097, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256value)internaloverride{super._mint(account,value);magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].sub((magnifiedDividendPerShare.mul(value)).toInt256Safe());}" }, { "id": 1374, @@ -32794,7 +33146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1386, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1387, @@ -32820,7 +33173,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -32864,14 +33218,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_burn", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._burn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -32930,7 +33286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1392, @@ -32950,7 +33307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1392, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -33074,7 +33432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1404, - "is_pure": false + "is_pure": false, + "text": "value" } ], "expression": { @@ -33118,14 +33477,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendPerShare" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "magnifiedDividendPerShare.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -33143,7 +33504,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_function_$_t_uint256$$", "type_string": "tuple(function(uint256))" - } + }, + "text": "(magnifiedDividendPerShare.mul(value)).toInt256Safe" }, "type_description": { "type_identifier": "t_function_$", @@ -33203,7 +33565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1128, - "is_pure": false + "is_pure": false, + "text": "magnifiedDividendCorrections" }, "base_expression": { "id": 1397, @@ -33223,7 +33586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1397, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -33245,7 +33609,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account].add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -33260,7 +33625,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_int256$]$_t_address]$", "type_string": "index[mapping(address=\u003eint256):address]" - } + }, + "text": "magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].add((magnifiedDividendPerShare.mul(value)).toInt256Safe());" } ] }, @@ -33406,13 +33772,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 1097, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256value)internaloverride{super._burn(account,value);magnifiedDividendCorrections[account]=magnifiedDividendCorrections[account].add((magnifiedDividendPerShare.mul(value)).toInt256Safe());}" }, { "id": 1406, @@ -33538,7 +33905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 1419, @@ -33558,7 +33926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1419, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -33619,7 +33988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1422, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "right_expression": { "id": 1423, @@ -33639,7 +34009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1414, - "is_pure": false + "is_pure": false, + "text": "currentBalance" }, "type_description": { "type_identifier": "t_bool", @@ -33757,7 +34128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "currentBalance" } ], "expression": { @@ -33801,14 +34173,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1430, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "newBalance.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -33857,7 +34231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1434, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1435, @@ -33883,7 +34258,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "mintAmount" } ], "expression": { @@ -33904,7 +34280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -34039,13 +34416,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setBalance(address, uint256)", - "signature": "d8710a82", + "signature_raw": "_setBalance(address,uint256)", + "signature": "ab86e0a6", "scope": 1097, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_setBalance(addressaccount,uint256newBalance)internal{uint256currentBalance=balanceOf[account];if(newBalance\u003ecurrentBalance){uint256mintAmount=newBalance.sub(currentBalance);_mint(account,mintAmount);}elseif(newBalance\u003ccurrentBalance){uint256burnAmount=currentBalance.sub(newBalance);_burn(account,burnAmount);}}" } ], "linearized_base_contracts": [ @@ -34423,7 +34801,7 @@ "name": "values", "type_name": { "id": 1456, - "node_type": 0, + "node_type": 53, "src": { "line": 653, "column": 8, @@ -34512,7 +34890,7 @@ "name": "indexOf", "type_name": { "id": 1460, - "node_type": 0, + "node_type": 53, "src": { "line": 654, "column": 8, @@ -34601,7 +34979,7 @@ "name": "inserted", "type_name": { "id": 1464, - "node_type": 0, + "node_type": 53, "src": { "line": 655, "column": 8, @@ -34808,7 +35186,7 @@ "mutability": 1, "type_name": { "id": 1476, - "node_type": 0, + "node_type": 53, "src": { "line": 661, "column": 4, @@ -34901,7 +35279,7 @@ "mutability": 1, "type_name": { "id": 1481, - "node_type": 0, + "node_type": 53, "src": { "line": 663, "column": 4, @@ -35485,7 +35863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"d_Dividen_Tracker\"" }, { "id": 1524, @@ -35507,7 +35886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"d_Dividend_Tracker\"" }, { "id": 1525, @@ -35527,7 +35907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1525, - "is_pure": false + "is_pure": false, + "text": "dT" } ], "modifier_name": { @@ -35761,7 +36142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "right_expression": { "id": 1530, @@ -35781,7 +36163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1530, - "is_pure": false + "is_pure": false, + "text": "_claimWait" }, "type_description": { "type_identifier": "t_uint256", @@ -35791,7 +36174,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "claimWait=_claimWait;" }, { "id": 1531, @@ -35834,7 +36218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "right_expression": { "id": 1534, @@ -35854,7 +36239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1534, - "is_pure": false + "is_pure": false, + "text": "_minimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_uint256", @@ -35864,7 +36250,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "minimumTokenBalanceForDividends=_minimumTokenBalanceForDividends;" } ] } @@ -35947,7 +36334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, { "id": 1544, @@ -35975,7 +36363,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"d_Dividend_Tracker: withdrawDividend disabled. Use the 'claim' function on the main d contract.\"" } ], "expression": { @@ -35996,7 +36385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -36064,7 +36454,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionwithdrawDividend()publicpureoverride{require(false,\"d_Dividend_Tracker: withdrawDividend disabled. Use the 'claim' function on the main d contract.\");}" }, { "id": 1546, @@ -36142,7 +36533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "right_expression": { "id": 1557, @@ -36162,7 +36554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1557, - "is_pure": false + "is_pure": false, + "text": "val" }, "type_description": { "type_identifier": "t_uint256", @@ -36172,7 +36565,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "minimumTokenBalanceForDividends=val;" } ] }, @@ -36291,7 +36685,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetMinimumTokenBalanceForDividends(uint256val)externalonlyOwner{minimumTokenBalanceForDividends=val;}" }, { "id": 1559, @@ -36394,7 +36789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1475, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 1572, @@ -36414,7 +36810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1572, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -36455,7 +36852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -36514,7 +36912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1475, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 1577, @@ -36534,7 +36933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1577, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -36571,7 +36971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -36581,7 +36982,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "excludedFromDividends[account]=true;" }, { "id": 1579, @@ -36624,7 +37026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1581, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1582, @@ -36652,7 +37055,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "0" } ], "expression": { @@ -36673,7 +37077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_rational_0_by_1$", @@ -36717,7 +37122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1585, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -36738,7 +37144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPRemove" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -36775,7 +37182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1587, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -36796,7 +37204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1491, - "is_pure": false + "is_pure": false, + "text": "ExcludeFromDividends" } } ] @@ -36917,7 +37326,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromDividends(addressaccount)externalonlyOwner{require(!excludedFromDividends[account]);excludedFromDividends[account]=true;_setBalance(account,0);MAPRemove(account);emitExcludeFromDividends(account);}" }, { "id": 1590, @@ -37021,7 +37431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1603, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 1604, @@ -37043,7 +37454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3600" }, "type_description": { "type_identifier": "t_bool", @@ -37082,7 +37494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1606, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 1607, @@ -37104,7 +37517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "86400" }, "type_description": { "type_identifier": "t_bool", @@ -37149,7 +37563,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"d_Dividend_Tracker: claimWait must be updated to between 1 and 24 hours\"" } ], "expression": { @@ -37170,7 +37585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -37232,7 +37648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1612, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "right_expression": { "id": 1613, @@ -37252,7 +37669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "type_description": { "type_identifier": "t_bool", @@ -37285,7 +37703,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"d_Dividend_Tracker: Cannot update claimWait to same value\"" } ], "expression": { @@ -37306,7 +37725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -37343,7 +37763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1616, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, { "id": 1617, @@ -37363,7 +37784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -37384,7 +37806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1496, - "is_pure": false + "is_pure": false, + "text": "ClaimWaitUpdated" } }, { @@ -37428,7 +37851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "right_expression": { "id": 1622, @@ -37448,7 +37872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1622, - "is_pure": false + "is_pure": false, + "text": "newClaimWait" }, "type_description": { "type_identifier": "t_uint256", @@ -37458,7 +37883,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "claimWait=newClaimWait;" } ] }, @@ -37577,7 +38003,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateClaimWait(uint256newClaimWait)externalonlyOwner{require(newClaimWait\u003e=3600\u0026\u0026newClaimWait\u003c=86400,\"d_Dividend_Tracker: claimWait must be updated to between 1 and 24 hours\");require(newClaimWait!=claimWait,\"d_Dividend_Tracker: Cannot update claimWait to same value\");emitClaimWaitUpdated(newClaimWait,claimWait);claimWait=newClaimWait;}" }, { "id": 1624, @@ -37644,7 +38071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } } ] @@ -37779,7 +38207,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetLastProcessedIndex()externalviewreturns(uint256){returnlastProcessedIndex;}" }, { "id": 1635, @@ -37892,21 +38321,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" } } ] @@ -38041,7 +38473,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetNumberOfTokenHolders()externalviewreturns(uint256){returntokenHoldersMap.keys.length;}" }, { "id": 1648, @@ -38119,7 +38552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 205, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 1673, @@ -38139,7 +38573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1673, - "is_pure": false + "is_pure": false, + "text": "_account" }, "type_description": { "type_identifier": "t_address", @@ -38149,7 +38584,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account=_account;" }, { "id": 1674, @@ -38192,7 +38628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1655, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 1677, @@ -38231,7 +38668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -38252,7 +38690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPGetIndexOfKey" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -38267,7 +38706,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "index=MAPGetIndexOfKey(account);" }, { "id": 1680, @@ -38310,7 +38750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "iterationsUntilProcessed" }, "right_expression": { "id": 1683, @@ -38350,7 +38791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -38365,7 +38807,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "iterationsUntilProcessed=-1;" }, { "id": 1685, @@ -38410,7 +38853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1655, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 1688, @@ -38432,7 +38876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -38515,7 +38960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -38560,7 +39006,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -38585,7 +39032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, "type_description": { "type_identifier": "t_bool", @@ -38647,7 +39095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1657, - "is_pure": false + "is_pure": false, + "text": "iterationsUntilProcessed" }, "right_expression": { "id": 1701, @@ -38705,7 +39154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "expression": { @@ -38750,7 +39200,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -38799,14 +39250,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1655, - "is_pure": false + "is_pure": false, + "text": "index" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "index.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -38821,7 +39274,8 @@ "type_description": { "type_identifier": "t_int256", "type_string": "int256" - } + }, + "text": "iterationsUntilProcessed=index.sub(int256(lastProcessedIndex));" } ] } @@ -38870,7 +39324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1659, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividends" }, "right_expression": { "id": 1711, @@ -38909,7 +39364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -38930,7 +39386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -38945,7 +39402,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "withdrawableDividends=withdrawableDividendOf(account);" }, { "id": 1714, @@ -38988,7 +39446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1661, - "is_pure": false + "is_pure": false, + "text": "totalDividends" }, "right_expression": { "id": 1717, @@ -39027,7 +39486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -39048,7 +39508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "accumulativeDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -39063,7 +39524,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "totalDividends=accumulativeDividendOf(account);" }, { "id": 1720, @@ -39106,7 +39568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 1723, @@ -39137,7 +39600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1480, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 1725, @@ -39157,7 +39621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 205, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -39182,7 +39647,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastClaimTime=lastClaimTimes[account];" }, { "id": 1726, @@ -39225,7 +39691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1665, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "right_expression": { "id": 1730, @@ -39271,7 +39738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 1733, @@ -39293,7 +39761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -39337,7 +39806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -39381,14 +39851,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1663, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastClaimTime.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -39415,7 +39887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -39442,7 +39915,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextClaimTime=lastClaimTime\u003e0?lastClaimTime.add(claimWait):0;" }, { "id": 1739, @@ -39485,7 +39959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "secondsUntilAutoClaimAvailable" }, "right_expression": { "id": 1743, @@ -39531,7 +40006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1665, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "right_expression": { "id": 1746, @@ -39574,14 +40050,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -39648,14 +40126,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -39699,14 +40179,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1665, - "is_pure": false + "is_pure": false, + "text": "nextClaimTime" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "nextClaimTime.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -39733,7 +40215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_descriptions": [ @@ -39760,7 +40243,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "secondsUntilAutoClaimAvailable=nextClaimTime\u003eblock.timestamp?nextClaimTime.sub(block.timestamp):0;" } ] }, @@ -40197,7 +40681,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAccount(address_account)publicviewreturns(addressaccount,int256index,int256iterationsUntilProcessed,uint256withdrawableDividends,uint256totalDividends,uint256lastClaimTime,uint256nextClaimTime,uint256secondsUntilAutoClaimAvailable){account=_account;index=MAPGetIndexOfKey(account);iterationsUntilProcessed=-1;if(index\u003e=0){if(uint256(index)\u003elastProcessedIndex){iterationsUntilProcessed=index.sub(int256(lastProcessedIndex));}else{uint256processesUntilEndOfArray=tokenHoldersMap.keys.length\u003elastProcessedIndex?tokenHoldersMap.keys.length.sub(lastProcessedIndex):0;iterationsUntilProcessed=index.add(int256(processesUntilEndOfArray));}}withdrawableDividends=withdrawableDividendOf(account);totalDividends=accumulativeDividendOf(account);lastClaimTime=lastClaimTimes[account];nextClaimTime=lastClaimTime\u003e0?lastClaimTime.add(claimWait):0;secondsUntilAutoClaimAvailable=nextClaimTime\u003eblock.timestamp?nextClaimTime.sub(block.timestamp):0;}" }, { "id": 1755, @@ -40277,7 +40762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1779, - "is_pure": false + "is_pure": false, + "text": "index" }, "right_expression": { "id": 1780, @@ -40311,7 +40797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPSize" }, "type_description": { "type_identifier": "t_function_$", @@ -40383,7 +40870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0000000000000000000000000000000000000000" }, { "id": 1786, @@ -40423,7 +40911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -40468,7 +40957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -40495,7 +40985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1791, @@ -40517,7 +41008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1792, @@ -40539,7 +41031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1793, @@ -40561,7 +41054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1794, @@ -40583,7 +41077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "type_description": { @@ -40693,7 +41188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1800, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -40714,7 +41210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPGetKeyAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -40771,7 +41268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1795, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -40792,7 +41290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -41234,7 +41733,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetAccountAtIndex(uint256index)publicviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){if(index\u003e=MAPSize()){return(0x0000000000000000000000000000000000000000,-1,-1,0,0,0,0,0);}addressaccount=MAPGetKeyAtIndex(index);returngetAccount(account);}" }, { "id": 1806, @@ -41314,7 +41814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1816, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" }, "right_expression": { "id": 1817, @@ -41357,14 +41858,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -41417,7 +41920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } } ] @@ -41486,7 +41990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1828, - "is_pure": false + "is_pure": false, + "text": "lastClaimTime" } ], "expression": { @@ -41553,21 +42058,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -41592,7 +42100,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1485, - "is_pure": false + "is_pure": false, + "text": "claimWait" }, "type_description": { "type_identifier": "t_bool", @@ -41732,7 +42241,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functioncanAutoClaim(uint256lastClaimTime)privateviewreturns(bool){if(lastClaimTime\u003eblock.timestamp){returnfalse;}returnblock.timestamp.sub(lastClaimTime)\u003e=claimWait;}" }, { "id": 1831, @@ -41809,7 +42319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1475, - "is_pure": false + "is_pure": false, + "text": "excludedFromDividends" }, "base_expression": { "id": 1844, @@ -41829,7 +42340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1844, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -41920,7 +42432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1849, - "is_pure": false + "is_pure": false, + "text": "newBalance" }, "right_expression": { "id": 1850, @@ -41940,7 +42453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "minimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_bool", @@ -42002,7 +42516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1854, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1855, @@ -42028,7 +42543,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -42049,7 +42565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -42097,7 +42614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1858, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1859, @@ -42123,7 +42641,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -42144,7 +42663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "MAPSet" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -42213,7 +42733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1480, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 1865, @@ -42233,7 +42754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1865, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -42269,7 +42791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "canAutoClaim" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -42331,7 +42854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1869, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1870, @@ -42359,7 +42883,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "true" } ], "expression": { @@ -42380,7 +42905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", @@ -42545,13 +43071,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setBalance(address, uint256)", - "signature": "354842e8", + "signature_raw": "setBalance(address,uint256)", + "signature": "e30443bc", "scope": 1438, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsetBalance(addressaccount,uint256newBalance)externalonlyOwner{if(excludedFromDividends[account]){return;}if(newBalance\u003e=minimumTokenBalanceForDividends){_setBalance(account,newBalance);MAPSet(account,newBalance);}else{_setBalance(account,0);MAPRemove(account);}if(canAutoClaim(lastClaimTimes[account])){processAccount(account,true);}}" }, { "id": 1872, @@ -42712,21 +43239,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" } }, { @@ -42772,7 +43302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1884, - "is_pure": false + "is_pure": false, + "text": "numberOfTokenHolders" }, "right_expression": { "id": 1893, @@ -42794,7 +43325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -42861,7 +43393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1898, @@ -42883,7 +43416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, { "id": 1899, @@ -42903,7 +43437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "type_description": { @@ -42993,7 +43528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } }, { @@ -43076,7 +43612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -43171,7 +43708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -43259,7 +43797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -43342,7 +43881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -43400,7 +43940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 1925, @@ -43420,7 +43961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1925, - "is_pure": false + "is_pure": false, + "text": "gas" }, "type_description": { "type_identifier": "t_bool", @@ -43459,7 +44001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "right_expression": { "id": 1928, @@ -43479,7 +44022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1884, - "is_pure": false + "is_pure": false, + "text": "numberOfTokenHolders" }, "type_description": { "type_identifier": "t_bool", @@ -43541,7 +44085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -43596,7 +44141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "right_expression": { "id": 1935, @@ -43662,21 +44208,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" }, "type_description": { "type_identifier": "t_bool", @@ -43737,7 +44286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "right_expression": { "id": 1942, @@ -43759,7 +44309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_uint256", @@ -43769,7 +44320,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_lastProcessedIndex=0;" } ] } @@ -43887,14 +44439,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 1949, @@ -43914,7 +44468,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_descriptions": [ { @@ -43991,7 +44546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1480, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 1955, @@ -44011,7 +44567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1943, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -44047,7 +44604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "canAutoClaim" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -44119,7 +44677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1961, @@ -44147,7 +44706,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "true" } ], "expression": { @@ -44168,7 +44728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "processAccount" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bool$", @@ -44218,7 +44779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1917, - "is_pure": false + "is_pure": false, + "text": "claims" }, "type_description": { "type_identifier": "t_uint256", @@ -44266,7 +44828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "iterations" }, "type_description": { "type_identifier": "t_uint256", @@ -44370,7 +44933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -44421,7 +44985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 1975, @@ -44441,7 +45006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1967, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" }, "type_description": { "type_identifier": "t_bool", @@ -44502,7 +45068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "right_expression": { "id": 1980, @@ -44560,7 +45127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" } ], "expression": { @@ -44604,14 +45172,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft.sub" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -44660,14 +45230,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1904, - "is_pure": false + "is_pure": false, + "text": "gasUsed" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed.add" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -44682,7 +45254,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasUsed=gasUsed.add(gasLeft.sub(newGasLeft));" } ] } @@ -44728,7 +45301,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1908, - "is_pure": false + "is_pure": false, + "text": "gasLeft" }, "right_expression": { "id": 1990, @@ -44748,7 +45322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1967, - "is_pure": false + "is_pure": false, + "text": "newGasLeft" }, "type_description": { "type_identifier": "t_uint256", @@ -44758,7 +45333,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "gasLeft=newGasLeft;" } ] } @@ -44804,7 +45380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" }, "right_expression": { "id": 1994, @@ -44824,7 +45401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1900, - "is_pure": false + "is_pure": false, + "text": "_lastProcessedIndex" }, "type_description": { "type_identifier": "t_uint256", @@ -44834,7 +45412,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "lastProcessedIndex=_lastProcessedIndex;" }, { "id": 1995, @@ -44880,7 +45459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1913, - "is_pure": false + "is_pure": false, + "text": "iterations" }, { "id": 1998, @@ -44900,7 +45480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1917, - "is_pure": false + "is_pure": false, + "text": "claims" }, { "id": 1999, @@ -44920,7 +45501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1472, - "is_pure": false + "is_pure": false, + "text": "lastProcessedIndex" } ], "type_description": { @@ -45147,7 +45729,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocess(uint256gas)publicreturns(uint256,uint256,uint256){uint256numberOfTokenHolders=tokenHoldersMap.keys.length;if(numberOfTokenHolders==0){return(0,0,lastProcessedIndex);}uint256_lastProcessedIndex=lastProcessedIndex;uint256gasUsed=0;uint256gasLeft=gasleft();uint256iterations=0;uint256claims=0;while(gasUsed\u003cgas\u0026\u0026iterations\u003cnumberOfTokenHolders){_lastProcessedIndex++;if(_lastProcessedIndex\u003e=tokenHoldersMap.keys.length){_lastProcessedIndex=0;}addressaccount=tokenHoldersMap.keys[_lastProcessedIndex];if(canAutoClaim(lastClaimTimes[account])){if(processAccount(account,true)){claims++;}}iterations++;uint256newGasLeft=gasleft();if(gasLeft\u003enewGasLeft){gasUsed=gasUsed.add(gasLeft.sub(newGasLeft));}gasLeft=newGasLeft;}lastProcessedIndex=_lastProcessedIndex;return(iterations,claims,lastProcessedIndex);}" }, { "id": 2001, @@ -45281,7 +45864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2018, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -45302,7 +45886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_withdrawDividendOfUser" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -45353,7 +45938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2013, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2022, @@ -45375,7 +45961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -45448,7 +46035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1480, - "is_pure": false + "is_pure": false, + "text": "lastClaimTimes" }, "base_expression": { "id": 2028, @@ -45468,7 +46056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2028, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -45526,14 +46115,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -45543,7 +46134,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "lastClaimTimes[account]=block.timestamp;" }, { "id": 2031, @@ -45575,7 +46167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2032, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 2033, @@ -45595,7 +46188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 351, - "is_pure": false + "is_pure": false, + "text": "amount" }, { "id": 2034, @@ -45615,7 +46209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2034, - "is_pure": false + "is_pure": false, + "text": "automatic" } ], "expression": { @@ -45636,7 +46231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1503, - "is_pure": false + "is_pure": false, + "text": "Claim" } }, { @@ -45671,7 +46267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -45709,7 +46306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } } ] @@ -45912,13 +46510,14 @@ } ] }, - "signature_raw": "processAccount(address, bool)", - "signature": "5d2b1812", + "signature_raw": "processAccount(address,bool)", + "signature": "bc4c4b37", "scope": 1438, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionprocessAccount(addressaccount,boolautomatic)publiconlyOwnerreturns(bool){uint256amount=_withdrawDividendOfUser(account);if(amount\u003e0){lastClaimTimes[account]=block.timestamp;emitClaim(account,amount,automatic);returntrue;}returnfalse;}" }, { "id": 2041, @@ -46019,14 +46618,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.values" }, "base_expression": { "id": 2053, @@ -46046,7 +46647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2053, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -46197,7 +46799,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionMAPGet(addresskey)publicviewreturns(uint256){returntokenHoldersMap.values[key];}" }, { "id": 2055, @@ -46315,14 +46918,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.inserted" }, "base_expression": { "id": 2068, @@ -46342,7 +46947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2068, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -46428,7 +47034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -46522,14 +47129,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.indexOf" }, "base_expression": { "id": 2080, @@ -46549,7 +47158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2080, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -46609,7 +47219,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", @@ -46750,7 +47361,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionMAPGetIndexOfKey(addresskey)publicviewreturns(int256){if(!tokenHoldersMap.inserted[key]){return-1;}returnint256(tokenHoldersMap.indexOf[key]);}" }, { "id": 2082, @@ -46851,14 +47463,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 2094, @@ -46878,7 +47492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2094, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -47029,7 +47644,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMAPGetKeyAtIndex(uint256index)publicviewreturns(address){returntokenHoldersMap.keys[index];}" }, { "id": 2096, @@ -47142,21 +47758,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" } } ] @@ -47291,7 +47910,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMAPSize()publicviewreturns(uint256){returntokenHoldersMap.keys.length;}" }, { "id": 2109, @@ -47391,14 +48011,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.inserted" }, "base_expression": { "id": 2121, @@ -47418,7 +48040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2121, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -47524,14 +48147,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.values" }, "base_expression": { "id": 2128, @@ -47551,7 +48176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2128, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -47586,7 +48212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2129, - "is_pure": false + "is_pure": false, + "text": "val" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", @@ -47596,7 +48223,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", "type_string": "index[struct DividendDistributor.MAP:address]" - } + }, + "text": "tokenHoldersMap.values[key]=val;" } ] } @@ -47726,13 +48354,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "MAPSet(address, uint256)", - "signature": "ff57b7b3", + "signature_raw": "MAPSet(address,uint256)", + "signature": "1105e740", "scope": 1438, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionMAPSet(addresskey,uint256val)public{if(tokenHoldersMap.inserted[key]){tokenHoldersMap.values[key]=val;}else{tokenHoldersMap.inserted[key]=true;tokenHoldersMap.values[key]=val;tokenHoldersMap.indexOf[key]=tokenHoldersMap.keys.length;tokenHoldersMap.keys.push(key);}}" }, { "id": 2131, @@ -47850,14 +48479,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.inserted" }, "base_expression": { "id": 2142, @@ -47877,7 +48508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2142, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -48000,14 +48632,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "inserted", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.inserted" }, "base_expression": { "id": 2149, @@ -48027,7 +48661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2149, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -48119,14 +48754,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "values", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.values" }, "base_expression": { "id": 2154, @@ -48146,7 +48783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2154, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -48280,14 +48918,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.indexOf" }, "base_expression": { "id": 2161, @@ -48307,7 +48947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2161, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -48463,21 +49104,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.length" }, "right_expression": { "id": 2169, @@ -48499,7 +49143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", @@ -48620,14 +49265,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 2176, @@ -48647,7 +49294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2162, - "is_pure": false + "is_pure": false, + "text": "lastIndex" }, "type_descriptions": [ { @@ -48740,14 +49388,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.indexOf" }, "base_expression": { "id": 2182, @@ -48767,7 +49417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2170, - "is_pure": false + "is_pure": false, + "text": "lastKey" }, "type_descriptions": [ { @@ -48802,7 +49453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2155, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", @@ -48812,7 +49464,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_address]$", "type_string": "index[struct DividendDistributor.MAP:address]" - } + }, + "text": "tokenHoldersMap.indexOf[lastKey]=index;" }, { "id": 2184, @@ -48884,14 +49537,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "indexOf", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.indexOf" }, "base_expression": { "id": 2188, @@ -48911,7 +49566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2188, - "is_pure": false + "is_pure": false, + "text": "key" }, "type_descriptions": [ { @@ -49008,14 +49664,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "base_expression": { "id": 2194, @@ -49035,7 +49693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2155, - "is_pure": false + "is_pure": false, + "text": "index" }, "type_descriptions": [ { @@ -49070,7 +49729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2170, - "is_pure": false + "is_pure": false, + "text": "lastKey" }, "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_uint256]$", @@ -49080,7 +49740,8 @@ "type_description": { "type_identifier": "t_[_[$_t_struct$_DividendDistributor_MAP_$1452]$_t_uint256]$", "type_string": "index[struct DividendDistributor.MAP:uint256]" - } + }, + "text": "tokenHoldersMap.keys[index]=lastKey;" }, { "id": 2196, @@ -49160,21 +49821,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 1468, - "is_pure": false + "is_pure": false, + "text": "tokenHoldersMap" }, "member_name": "keys", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys" }, "member_name": "pop", "argument_types": [], "type_description": { "type_identifier": "t_struct$_DividendDistributor_MAP_$1452", "type_string": "struct DividendDistributor.MAP" - } + }, + "text": "tokenHoldersMap.keys.pop" }, "type_description": { "type_identifier": "t_function_$", @@ -49269,7 +49933,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionMAPRemove(addresskey)public{if(!tokenHoldersMap.inserted[key]){return;}deletetokenHoldersMap.inserted[key];deletetokenHoldersMap.values[key];uint256index=tokenHoldersMap.indexOf[key];uint256lastIndex=tokenHoldersMap.keys.length-1;addresslastKey=tokenHoldersMap.keys[lastIndex];tokenHoldersMap.indexOf[lastKey]=index;deletetokenHoldersMap.indexOf[key];tokenHoldersMap.keys[index]=lastKey;tokenHoldersMap.keys.pop();}" }, { "id": 2201, @@ -49347,7 +50012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2216, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2217, @@ -49373,7 +50039,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -49436,7 +50103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -49457,7 +50125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -49469,7 +50138,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -49631,13 +50301,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transferUSDT(address, uint256)", - "signature": "0302050e", + "signature_raw": "transferUSDT(address,uint256)", + "signature": "d015ed6a", "scope": 1438, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransferUSDT(addressto,uint256amount)externalonlyOwner{IERC20(USDT).transfer(to,amount);}" } ], "linearized_base_contracts": [ @@ -49917,7 +50588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ROUTER" } ], "expression": { @@ -49938,7 +50610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Router" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -50112,7 +50785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "30" } }, { @@ -50175,7 +50849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5" } }, { @@ -50238,7 +50913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "24" } }, { @@ -50315,7 +50991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 2255, @@ -50334,7 +51011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 125, - "is_pure": false + "is_pure": false, + "text": "1e10ether" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -50433,7 +51111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2222, - "is_pure": false + "is_pure": false, + "text": "inisSwap" }, "right_expression": { "id": 2263, @@ -50455,7 +51134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -50465,7 +51145,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "inisSwap=true;" }, { "id": 2264, @@ -50485,7 +51166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" }, { "id": 2265, @@ -50528,7 +51210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2222, - "is_pure": false + "is_pure": false, + "text": "inisSwap" }, "right_expression": { "id": 2268, @@ -50550,7 +51233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_bool", @@ -50560,7 +51244,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "inisSwap=false;" } ] } @@ -50665,7 +51350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2232, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "right_expression": { "id": 2277, @@ -50727,7 +51413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -50773,7 +51460,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -50804,7 +51492,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "USDT" } ], "expression": { @@ -50904,14 +51593,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2225, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "factory", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "uniswapV2Router.factory" }, "type_description": { "type_identifier": "t_function_$", @@ -50937,7 +51628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Factory" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -50949,7 +51641,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IUniswapV2Factory(uniswapV2Router.factory()).createPair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$", @@ -50964,7 +51657,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "uniswapV2Pair=IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),USDT);" }, { "id": 2289, @@ -51007,7 +51701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "right_expression": { "id": 2292, @@ -51054,7 +51749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "BTCB" }, { "id": 2297, @@ -51082,7 +51778,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "300" }, { "id": 2298, @@ -51112,7 +51809,8 @@ "type_identifier": "t_rational_300_by_1", "type_string": "int_const 300" } - ] + ], + "text": "minHoldtoDividend" } ], "expression": { @@ -51184,7 +51882,8 @@ "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor=newDividendDistributor(BTCB,300,minHoldtoDividend);" } ] } @@ -51423,7 +52122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -51500,7 +52200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 2317, @@ -51522,7 +52223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e28" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -51590,7 +52292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "300_000" } }, { @@ -51781,7 +52484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2313, - "is_pure": false + "is_pure": false, + "text": "numTokenToDividend" }, "right_expression": { "id": 2334, @@ -51801,7 +52505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2334, - "is_pure": false + "is_pure": false, + "text": "_numTokenToDividend" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -51811,7 +52516,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "numTokenToDividend=_numTokenToDividend;" }, { "id": 2335, @@ -51854,7 +52560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2309, - "is_pure": false + "is_pure": false, + "text": "swapToDividend" }, "right_expression": { "id": 2338, @@ -51874,7 +52581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2338, - "is_pure": false + "is_pure": false, + "text": "_swapToDividend" }, "type_description": { "type_identifier": "t_bool", @@ -51884,7 +52592,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "swapToDividend=_swapToDividend;" }, { "id": 2339, @@ -51949,7 +52658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "base_expression": { "id": 2344, @@ -51988,7 +52698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -52034,7 +52745,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -52093,7 +52805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" } ], "expression": { @@ -52139,7 +52852,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -52206,7 +52920,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$_t_address$]$_t_function_$_t_function_$", @@ -52216,7 +52931,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_function_$_t_address$]$_t_function_$_t_function_$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):function(address)]:function(function())]" - } + }, + "text": "allowance[address(this)][address(uniswapV2Router)]=type(uint256).max;" }, { "id": 2354, @@ -52274,7 +52990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -52320,7 +53037,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -52369,14 +53087,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -52441,7 +53161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE" } ], "expression": { @@ -52487,7 +53208,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -52536,14 +53258,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -52608,7 +53332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xdead" } ], "expression": { @@ -52654,7 +53379,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -52703,14 +53429,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -52773,7 +53501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" } ], "expression": { @@ -52819,7 +53548,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -52868,14 +53598,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -53009,7 +53741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 2396, @@ -53048,7 +53781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -53094,7 +53828,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -53209,7 +53944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2391, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "right_expression": { "id": 2405, @@ -53229,7 +53965,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2313, - "is_pure": false + "is_pure": false, + "text": "numTokenToDividend" }, "type_description": { "type_identifier": "t_bool", @@ -53302,7 +54039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2400, - "is_pure": false + "is_pure": false, + "text": "overMinTokenBalance" }, { "id": 2414, @@ -53340,7 +54078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2222, - "is_pure": false + "is_pure": false, + "text": "inisSwap" }, "type_description": { "type_identifier": "t_bool", @@ -53391,7 +54130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2417, - "is_pure": false + "is_pure": false, + "text": "sender" }, "right_expression": { "id": 2418, @@ -53411,7 +54151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2232, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "type_description": { "type_identifier": "t_bool", @@ -53448,7 +54189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2309, - "is_pure": false + "is_pure": false, + "text": "swapToDividend" } ], "type_descriptions": [ @@ -53508,7 +54250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -53647,7 +54390,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionshouldSwapToDiv(addresssender)internalviewreturns(bool){uint256contractTokenBalance=balanceOf[address(distributor)];booloverMinTokenBalance=contractTokenBalance\u003e=numTokenToDividend;if(overMinTokenBalance\u0026\u0026!inisSwap\u0026\u0026sender!=uniswapV2Pair\u0026\u0026swapToDividend){returntrue;}else{returnfalse;}}" }, { "id": 2424, @@ -53748,7 +54492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -53794,7 +54539,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -53838,7 +54584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -53884,7 +54631,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -53919,7 +54667,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "numTokenToDividend" } ], "expression": { @@ -53963,14 +54712,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_function_$_t_function_$_t_address$", @@ -54093,7 +54844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -54139,7 +54891,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -54207,7 +54960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "BTCB" } ], "expression": { @@ -54228,7 +54982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -54240,7 +54995,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(BTCB).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -54347,7 +55103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } ], "expression": { @@ -54443,7 +55200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2454, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2465, @@ -54465,7 +55223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -54519,7 +55278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -54565,7 +55325,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -54580,7 +55341,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 2470, @@ -54634,7 +55396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2454, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2474, @@ -54656,7 +55419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -54710,7 +55474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -54756,7 +55521,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -54771,7 +55537,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=address(USDT);" }, { "id": 2479, @@ -54825,7 +55592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2454, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2483, @@ -54847,7 +55615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_descriptions": [ { @@ -54901,7 +55670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WBNB" } ], "expression": { @@ -54947,7 +55717,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -54962,7 +55733,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_2_by_1]$", "type_string": "index[address:int_const 2]" - } + }, + "text": "path[2]=address(WBNB);" }, { "id": 2488, @@ -55016,7 +55788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2454, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2492, @@ -55038,7 +55811,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" }, "type_descriptions": [ { @@ -55092,7 +55866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "BTCB" } ], "expression": { @@ -55138,7 +55913,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -55153,7 +55929,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_3_by_1]$", "type_string": "index[address:int_const 3]" - } + }, + "text": "path[3]=address(BTCB);" }, { "id": 2497, @@ -55208,7 +55985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "numTokenToDividend" }, { "id": 2501, @@ -55236,7 +56014,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "0" }, { "id": 2502, @@ -55266,7 +56045,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 2503, @@ -55305,7 +56085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -55351,7 +56132,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -55399,7 +56181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -55423,7 +56206,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -55467,14 +56251,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2225, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_function_$_t_function_$_t_uint256$", @@ -55597,7 +56383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -55643,7 +56430,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -55711,7 +56499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "BTCB" } ], "expression": { @@ -55732,7 +56521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -55744,7 +56534,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(BTCB).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -55844,7 +56635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2509, - "is_pure": false + "is_pure": false, + "text": "balanceNow" }, "right_expression": { "id": 2526, @@ -55864,7 +56656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2442, - "is_pure": false + "is_pure": false, + "text": "balanceBefore" }, "type_description": { "type_identifier": "t_uint256", @@ -55909,7 +56702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2521, - "is_pure": false + "is_pure": false, + "text": "swapAmount" } ], "expression": { @@ -55953,14 +56747,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "distributeDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.distributeDividends" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -56039,7 +56835,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionswapAndToDividend()internalisSwap{super._transfer(address(distributor),address(this),numTokenToDividend);uint256balanceBefore=IERC20(BTCB).balanceOf(address(distributor));address[]memorypath=newaddress[](4);path[0]=address(this);path[1]=address(USDT);path[2]=address(WBNB);path[3]=address(BTCB);uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(numTokenToDividend,0,path,address(distributor),block.timestamp);uint256balanceNow=IERC20(BTCB).balanceOf(address(distributor));uint256swapAmount=balanceNow-balanceBefore;distributor.distributeDividends(swapAmount);}" }, { "id": 2532, @@ -56196,7 +56993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2548, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2549, @@ -56216,7 +57014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2239, - "is_pure": false + "is_pure": false, + "text": "distributefee" }, "type_description": { "type_identifier": "t_uint256", @@ -56249,7 +57048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -56302,7 +57102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2554, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 2555, @@ -56341,7 +57142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -56387,7 +57189,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -56422,7 +57225,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "dividendAmount" } ], "expression": { @@ -56466,14 +57270,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_function_$_t_uint256$", @@ -56510,7 +57316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2542, - "is_pure": false + "is_pure": false, + "text": "dividendAmount" } } ] @@ -56683,13 +57490,14 @@ } ] }, - "signature_raw": "_takeDividendFee(address, uint256)", - "signature": "893e40e6", + "signature_raw": "_takeDividendFee(address,uint256)", + "signature": "948c6cb8", "scope": 2301, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_takeDividendFee(addresssender,uint256amount)internalreturns(uint256){uint256dividendAmount=(amount*distributefee)/1000;super._transfer(sender,address(distributor),dividendAmount);returndividendAmount;}" }, { "id": 2563, @@ -56809,7 +57617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2575, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 2576, @@ -56840,7 +57649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 2578, @@ -56860,7 +57670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2578, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -56919,14 +57730,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "setBalance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -57060,7 +57873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2587, - "is_pure": false + "is_pure": false, + "text": "recipient" }, { "id": 2588, @@ -57091,7 +57905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 2590, @@ -57111,7 +57926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2590, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "type_descriptions": [ { @@ -57170,14 +57986,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "setBalance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.setBalance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -57307,7 +58125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributorGas" } ], "expression": { @@ -57351,14 +58170,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "process", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.process" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -57535,13 +58356,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "dividendToUsers(address, address)", - "signature": "f17ef737", + "signature_raw": "dividendToUsers(address,address)", + "signature": "7101408c", "scope": 2301, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiondividendToUsers(addresssender,addressrecipient)internal{trydistributor.setBalance(sender,balanceOf[sender]){}catch{}trydistributor.setBalance(recipient,balanceOf[recipient]){}catch{}trydistributor.process(distributorGas){}catch{}}" }, { "id": 2605, @@ -57619,7 +58441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2313, - "is_pure": false + "is_pure": false, + "text": "numTokenToDividend" }, "right_expression": { "id": 2616, @@ -57639,7 +58462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2616, - "is_pure": false + "is_pure": false, + "text": "_num" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -57649,7 +58473,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "numTokenToDividend=_num;" } ] }, @@ -57768,7 +58593,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetNumTokensSellToAddToLiquidity(uint256_num)externalonlyOwner{numTokenToDividend=_num;}" }, { "id": 2618, @@ -57842,7 +58668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2629, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -57886,14 +58713,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "excludeFromDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.excludeFromDividends" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -58018,7 +58847,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionexcludeFromDividends(addressaccount)externalonlyOwner{distributor.excludeFromDividends(account);}" }, { "id": 2631, @@ -58092,7 +58922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2642, - "is_pure": false + "is_pure": false, + "text": "val" } ], "expression": { @@ -58136,14 +58967,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "setMinimumTokenBalanceForDividends", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.setMinimumTokenBalanceForDividends" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -58267,7 +59100,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateMinimumTokenBalanceForDividends(uint256val)publiconlyOwner{distributor.setMinimumTokenBalanceForDividends(val);}" }, { "id": 2644, @@ -58341,7 +59175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2655, - "is_pure": false + "is_pure": false, + "text": "claimWait" } ], "expression": { @@ -58385,14 +59220,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "updateClaimWait", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.updateClaimWait" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -58516,7 +59353,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionupdateClaimWait(uint256claimWait)externalonlyOwner{distributor.updateClaimWait(claimWait);}" }, { "id": 2657, @@ -58620,14 +59458,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "claimWait", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.claimWait" }, "type_description": { "type_identifier": "t_function_$", @@ -58767,7 +59607,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetClaimWait()externalviewreturns(uint256){returndistributor.claimWait();}" }, { "id": 2670, @@ -58871,14 +59712,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "totalDividendsDistributed", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.totalDividendsDistributed" }, "type_description": { "type_identifier": "t_function_$", @@ -59018,7 +59861,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetTotalDividendsDistributed()externalviewreturns(uint256){returndistributor.totalDividendsDistributed();}" }, { "id": 2683, @@ -59104,7 +59948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2695, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -59148,14 +59993,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "withdrawableDividendOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.withdrawableDividendOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -59296,7 +60143,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionwithdrawableDividendOf(addressaccount)publicviewreturns(uint256){returndistributor.withdrawableDividendOf(account);}" }, { "id": 2697, @@ -59382,7 +60230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2709, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -59426,14 +60275,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -59574,7 +60425,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiondividendTokenBalanceOf(addressaccount)publicviewreturns(uint256){returndistributor.balanceOf(account);}" }, { "id": 2711, @@ -59660,7 +60512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2737, - "is_pure": false + "is_pure": false, + "text": "account" } ], "expression": { @@ -59704,14 +60557,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "getAccount", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.getAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -60154,7 +61009,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAccountDividendsInfo(addressaccount)externalviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){returndistributor.getAccount(account);}" }, { "id": 2739, @@ -60240,7 +61096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2765, - "is_pure": false + "is_pure": false, + "text": "index" } ], "expression": { @@ -60284,14 +61141,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "getAccountAtIndex", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.getAccountAtIndex" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -60733,7 +61592,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetAccountDividendsInfoAtIndex(uint256index)externalviewreturns(address,int256,int256,uint256,uint256,uint256,uint256,uint256){returndistributor.getAccountAtIndex(index);}" }, { "id": 2767, @@ -60807,7 +61667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2776, - "is_pure": false + "is_pure": false, + "text": "gas" } ], "expression": { @@ -60851,14 +61712,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "process", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.process" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -60952,7 +61815,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprocessDividendTracker(uint256gas)external{distributor.process(gas);}" }, { "id": 2778, @@ -61053,14 +61917,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2787, @@ -61088,7 +61954,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "false" } ], "expression": { @@ -61132,14 +61999,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "processAccount", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.processAccount" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", @@ -61188,7 +62057,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionclaim()external{distributor.processAccount(msg.sender,false);}" }, { "id": 2789, @@ -61292,14 +62162,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "getLastProcessedIndex", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.getLastProcessedIndex" }, "type_description": { "type_identifier": "t_function_$", @@ -61439,7 +62311,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetLastProcessedIndex()externalviewreturns(uint256){returndistributor.getLastProcessedIndex();}" }, { "id": 2802, @@ -61543,14 +62416,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "getNumberOfTokenHolders", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.getNumberOfTokenHolders" }, "type_description": { "type_identifier": "t_function_$", @@ -61690,7 +62565,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiongetNumberOfDividendTokenHolders()externalviewreturns(uint256){returndistributor.getNumberOfTokenHolders();}" } ], "linearized_base_contracts": [ @@ -62012,7 +62888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -62089,7 +62966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 2832, @@ -62111,7 +62989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e28" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -62180,7 +63059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x714675834Fc80Ff85f892840d7940496C52b1BA8" } }, { @@ -62688,7 +63568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2828, - "is_pure": false + "is_pure": false, + "text": "numTokensSellToAddToLiquidity" }, "right_expression": { "id": 2868, @@ -62708,7 +63589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2868, - "is_pure": false + "is_pure": false, + "text": "_numTokensSellToAddToLiquidity" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -62718,7 +63600,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "numTokensSellToAddToLiquidity=_numTokensSellToAddToLiquidity;" }, { "id": 2869, @@ -62761,7 +63644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2824, - "is_pure": false + "is_pure": false, + "text": "swapAndLiquifyEnabled" }, "right_expression": { "id": 2872, @@ -62781,7 +63665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2872, - "is_pure": false + "is_pure": false, + "text": "_swapAndLiquifyEnabled" }, "type_description": { "type_identifier": "t_bool", @@ -62791,7 +63676,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "swapAndLiquifyEnabled=_swapAndLiquifyEnabled;" }, { "id": 2873, @@ -62853,7 +63739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" } ], "expression": { @@ -62899,7 +63786,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -62956,7 +63844,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" } ], "expression": { @@ -63019,7 +63908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -63040,7 +63930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -63052,7 +63943,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_$", @@ -63217,7 +64109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2901, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 2902, @@ -63237,7 +64130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2243, - "is_pure": false + "is_pure": false, + "text": "liquidityFee" }, "type_description": { "type_identifier": "t_uint256", @@ -63270,7 +64164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -63323,7 +64218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2907, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 2908, @@ -63362,7 +64258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -63408,7 +64305,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -63443,7 +64341,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "liquidityAmount" } ], "expression": { @@ -63487,14 +64386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$", @@ -63531,7 +64432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2895, - "is_pure": false + "is_pure": false, + "text": "liquidityAmount" } } ] @@ -63704,13 +64606,14 @@ } ] }, - "signature_raw": "_takeliquidityFee(address, uint256)", - "signature": "b6656e06", + "signature_raw": "_takeliquidityFee(address,uint256)", + "signature": "ecd2eef0", "scope": 2816, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_takeliquidityFee(addresssender,uint256amount)internalreturns(uint256){uint256liquidityAmount=(amount*liquidityFee)/1000;super._transfer(sender,address(this),liquidityAmount);returnliquidityAmount;}" }, { "id": 2916, @@ -63836,7 +64739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 2929, @@ -63875,7 +64779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -63921,7 +64826,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -64036,7 +64942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2924, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "right_expression": { "id": 2938, @@ -64056,7 +64963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2828, - "is_pure": false + "is_pure": false, + "text": "numTokensSellToAddToLiquidity" }, "type_description": { "type_identifier": "t_bool", @@ -64129,7 +65037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2933, - "is_pure": false + "is_pure": false, + "text": "overMinTokenBalance" }, { "id": 2947, @@ -64167,7 +65076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2222, - "is_pure": false + "is_pure": false, + "text": "inisSwap" }, "type_description": { "type_identifier": "t_bool", @@ -64218,7 +65128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2950, - "is_pure": false + "is_pure": false, + "text": "sender" }, "right_expression": { "id": 2951, @@ -64238,7 +65149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2232, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "type_description": { "type_identifier": "t_bool", @@ -64275,7 +65187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2824, - "is_pure": false + "is_pure": false, + "text": "swapAndLiquifyEnabled" } ], "type_descriptions": [ @@ -64335,7 +65248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -64474,7 +65388,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionshouldSwapAndLiquify(addresssender)internalviewreturns(bool){uint256contractTokenBalance=balanceOf[address(this)];booloverMinTokenBalance=contractTokenBalance\u003e=numTokensSellToAddToLiquidity;if(overMinTokenBalance\u0026\u0026!inisSwap\u0026\u0026sender!=uniswapV2Pair\u0026\u0026swapAndLiquifyEnabled){returntrue;}else{returnfalse;}}" }, { "id": 2957, @@ -64603,7 +65518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2969, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "right_expression": { "id": 2970, @@ -64625,7 +65541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -64725,7 +65642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2975, - "is_pure": false + "is_pure": false, + "text": "contractTokenBalance" }, "right_expression": { "id": 2976, @@ -64745,7 +65663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2965, - "is_pure": false + "is_pure": false, + "text": "half" }, "type_description": { "type_identifier": "t_uint256", @@ -64869,7 +65788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -64915,7 +65835,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -64983,7 +65904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -65004,7 +65926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -65016,7 +65939,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -65061,7 +65985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2965, - "is_pure": false + "is_pure": false, + "text": "half" } ], "expression": { @@ -65082,7 +66007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "swapTokensForTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -65219,7 +66145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -65265,7 +66192,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -65333,7 +66261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -65354,7 +66283,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -65366,7 +66296,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -65391,7 +66322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2977, - "is_pure": false + "is_pure": false, + "text": "initialBalance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -65440,7 +66372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2971, - "is_pure": false + "is_pure": false, + "text": "otherHalf" }, { "id": 3009, @@ -65466,7 +66399,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "newBalance" } ], "expression": { @@ -65487,7 +66421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "addLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", @@ -65611,7 +66546,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapAndLiquify(uint256contractTokenBalance)internalisSwap{uint256half=contractTokenBalance/2;uint256otherHalf=contractTokenBalance-half;uint256initialBalance=IERC20(USDT).balanceOf(address(this));swapTokensForTokens(half);uint256newBalance=IERC20(USDT).balanceOf(address(this))-initialBalance;addLiquidity(otherHalf,newBalance);}" }, { "id": 3011, @@ -65747,7 +66683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } ], "expression": { @@ -65843,7 +66780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3017, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3028, @@ -65865,7 +66803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -65919,7 +66858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -65965,7 +66905,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -65980,7 +66921,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "index[address:int_const 0]" - } + }, + "text": "path[0]=address(this);" }, { "id": 3033, @@ -66034,7 +66976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3017, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3037, @@ -66056,7 +66999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -66110,7 +67054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -66156,7 +67101,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -66171,7 +67117,8 @@ "type_description": { "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" - } + }, + "text": "path[1]=address(USDT);" }, { "id": 3042, @@ -66226,7 +67173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3045, - "is_pure": false + "is_pure": false, + "text": "tokenAmount" }, { "id": 3046, @@ -66254,7 +67202,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 3047, @@ -66284,7 +67233,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "path" }, { "id": 3048, @@ -66323,7 +67273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -66369,7 +67320,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -66417,7 +67369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -66441,7 +67394,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -66485,14 +67439,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2225, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_rational_0_by_1$_t_address$_t_function_$_t_function_$_t_uint256$", @@ -66615,7 +67571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "distributor" } ], "expression": { @@ -66661,7 +67618,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -66729,7 +67687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -66750,7 +67709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -66762,7 +67722,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(USDT).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -66830,7 +67791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -66876,7 +67838,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -66907,7 +67870,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "amount" } ], "expression": { @@ -66951,14 +67915,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2235, - "is_pure": false + "is_pure": false, + "text": "distributor" }, "member_name": "transferUSDT", "argument_types": [], "type_description": { "type_identifier": "t_contract$_DividendDistributor_$1436", "type_string": "contract DividendDistributor" - } + }, + "text": "distributor.transferUSDT" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -67052,7 +68018,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionswapTokensForTokens(uint256tokenAmount)internal{address[]memorypath=newaddress[](2);path[0]=address(this);path[1]=address(USDT);uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(distributor),block.timestamp);uint256amount=IERC20(USDT).balanceOf(address(distributor));distributor.transferUSDT(address(this),amount);}" }, { "id": 3075, @@ -67173,7 +68140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -67219,7 +68187,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -67263,7 +68232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "USDT" } ], "expression": { @@ -67309,7 +68279,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -67344,7 +68315,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "tokenAmount" }, { "id": 3095, @@ -67378,7 +68350,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "usdtAmount" }, { "id": 3096, @@ -67418,7 +68391,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" }, { "id": 3097, @@ -67462,7 +68436,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "0" }, { "id": 3098, @@ -67508,7 +68483,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "lpRec" }, { "id": 3099, @@ -67551,7 +68527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [ @@ -67587,7 +68564,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -67631,14 +68609,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2225, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Router" }, "member_name": "addLiquidity", "argument_types": [], "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "uniswapV2Router.addLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_uint256$_t_uint256$_t_rational_0_by_1$_t_rational_0_by_1$_t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_uint256$_t_uint256$_t_rational_0_by_1$_t_rational_0_by_1$_t_uint256$", @@ -67769,13 +68749,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "addLiquidity(uint256, uint256)", - "signature": "946ae00e", + "signature_raw": "addLiquidity(uint256,uint256)", + "signature": "9cd441da", "scope": 2816, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionaddLiquidity(uint256tokenAmount,uint256usdtAmount)public{uniswapV2Router.addLiquidity(address(this),address(USDT),tokenAmount,usdtAmount,0,0,lpRec,block.timestamp);}" }, { "id": 3102, @@ -67853,7 +68834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2828, - "is_pure": false + "is_pure": false, + "text": "numTokensSellToAddToLiquidity" }, "right_expression": { "id": 3113, @@ -67873,7 +68855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3113, - "is_pure": false + "is_pure": false, + "text": "_num" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -67883,7 +68866,8 @@ "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" - } + }, + "text": "numTokensSellToAddToLiquidity=_num;" } ] }, @@ -68002,7 +68986,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetNumTokensToAddToLiquidity(uint256_num)externalonlyOwner{numTokensSellToAddToLiquidity=_num;}" }, { "id": 3115, @@ -68080,7 +69065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2824, - "is_pure": false + "is_pure": false, + "text": "swapAndLiquifyEnabled" }, "right_expression": { "id": 3126, @@ -68100,7 +69086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3126, - "is_pure": false + "is_pure": false, + "text": "_n" }, "type_description": { "type_identifier": "t_bool", @@ -68110,7 +69097,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "swapAndLiquifyEnabled=_n;" } ] }, @@ -68229,7 +69217,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsetSwapAndLiquifyEnabled(bool_n)externalonlyOwner{swapAndLiquifyEnabled=_n;}" }, { "id": 3128, @@ -68307,7 +69296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2834, - "is_pure": false + "is_pure": false, + "text": "lpRec" }, "right_expression": { "id": 3139, @@ -68327,7 +69317,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3139, - "is_pure": false + "is_pure": false, + "text": "_lpRec" }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -68337,7 +69328,8 @@ "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x714675834Fc80Ff85f892840d7940496C52b1BA8" - } + }, + "text": "lpRec=_lpRec;" } ] }, @@ -68457,7 +69449,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetLpRec(address_lpRec)externalonlyOwner{lpRec=_lpRec;}" } ], "linearized_base_contracts": [ @@ -68681,7 +69674,7 @@ "mutability": 1, "type_name": { "id": 3147, - "node_type": 0, + "node_type": 53, "src": { "line": 1266, "column": 4, @@ -68837,7 +69830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3146, - "is_pure": false + "is_pure": false, + "text": "isBlackListed" }, "base_expression": { "id": 3163, @@ -68857,7 +69851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3163, - "is_pure": false + "is_pure": false, + "text": "_evilUser" }, "type_descriptions": [ { @@ -68894,7 +69889,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -68904,7 +69900,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "isBlackListed[_evilUser]=true;" }, { "id": 3165, @@ -68936,7 +69933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3166, - "is_pure": false + "is_pure": false, + "text": "_evilUser" } ], "expression": { @@ -68957,7 +69955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3954, - "is_pure": false + "is_pure": false, + "text": "AddedBlackList" } } ] @@ -69078,7 +70077,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionaddBlackList(address_evilUser)publiconlyOwner{isBlackListed[_evilUser]=true;emitAddedBlackList(_evilUser);}" }, { "id": 3169, @@ -69167,7 +70167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3146, - "is_pure": false + "is_pure": false, + "text": "isBlackListed" }, "base_expression": { "id": 3181, @@ -69187,7 +70188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3181, - "is_pure": false + "is_pure": false, + "text": "_clearedUser" }, "type_descriptions": [ { @@ -69224,7 +70226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -69234,7 +70237,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "isBlackListed[_clearedUser]=false;" }, { "id": 3183, @@ -69266,7 +70270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3184, - "is_pure": false + "is_pure": false, + "text": "_clearedUser" } ], "expression": { @@ -69287,7 +70292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3958, - "is_pure": false + "is_pure": false, + "text": "RemovedBlackList" } } ] @@ -69408,7 +70414,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionremoveBlackList(address_clearedUser)publiconlyOwner{isBlackListed[_clearedUser]=false;emitRemovedBlackList(_clearedUser);}" }, { "id": 3187, @@ -69859,7 +70866,7 @@ "mutability": 1, "type_name": { "id": 3211, - "node_type": 0, + "node_type": 53, "src": { "line": 1285, "column": 4, @@ -70073,7 +71080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3207, - "is_pure": false + "is_pure": false, + "text": "_maxHavAmount" }, "right_expression": { "id": 3224, @@ -70093,7 +71101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3224, - "is_pure": false + "is_pure": false, + "text": "_maxHav" }, "type_description": { "type_identifier": "t_uint256", @@ -70103,7 +71112,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_maxHavAmount=_maxHav;" }, { "id": 3225, @@ -70157,7 +71167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3229, @@ -70200,14 +71211,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -70244,7 +71257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -70254,7 +71268,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "isHavLimitExempt[msg.sender]=true;" }, { "id": 3232, @@ -70308,7 +71323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3236, @@ -70347,7 +71363,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -70393,7 +71410,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -70435,7 +71453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", @@ -70445,7 +71464,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_address$", "type_string": "index[mapping(address=\u003ebool):function(address)]" - } + }, + "text": "isHavLimitExempt[address(this)]=true;" }, { "id": 3241, @@ -70499,7 +71519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3245, @@ -70540,7 +71561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -70586,7 +71608,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -70628,7 +71651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -70638,7 +71662,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0)]" - } + }, + "text": "isHavLimitExempt[address(0)]=true;" }, { "id": 3250, @@ -70692,7 +71717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3254, @@ -70733,7 +71759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xdead" } ], "expression": { @@ -70779,7 +71806,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -70821,7 +71849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -70831,7 +71860,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0xdead)]" - } + }, + "text": "isHavLimitExempt[address(0xdead)]=true;" }, { "id": 3259, @@ -70885,7 +71915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3263, @@ -70926,7 +71957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x714675834Fc80Ff85f892840d7940496C52b1BA8" } ], "expression": { @@ -70972,7 +72004,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -71014,7 +72047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -71024,7 +72058,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0x714675834Fc80Ff85f892840d7940496C52b1BA8)]" - } + }, + "text": "isHavLimitExempt[address(0x714675834Fc80Ff85f892840d7940496C52b1BA8)]=true;" }, { "id": 3268, @@ -71078,7 +72113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3272, @@ -71119,7 +72155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x242B3f82697846f4d0fd979EE2fA960aAd41d31C" } ], "expression": { @@ -71165,7 +72202,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -71207,7 +72245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", @@ -71217,7 +72256,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_function_$_t_rational_0_by_1$", "type_string": "index[mapping(address=\u003ebool):function(int_const 0x242B3f82697846f4d0fd979EE2fA960aAd41d31C)]" - } + }, + "text": "isHavLimitExempt[address(0x242B3f82697846f4d0fd979EE2fA960aAd41d31C)]=true;" } ] } @@ -71298,7 +72338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3207, - "is_pure": false + "is_pure": false, + "text": "_maxHavAmount" }, "right_expression": { "id": 3287, @@ -71345,7 +72386,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_uint256", @@ -71355,7 +72397,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_maxHavAmount=type(uint256).max;" } ] }, @@ -71429,7 +72472,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsetMaxHavAmount()externalonlyOwner{_maxHavAmount=type(uint256).max;}" }, { "id": 3290, @@ -71518,7 +72562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3304, @@ -71538,7 +72583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3304, - "is_pure": false + "is_pure": false, + "text": "holder" }, "type_descriptions": [ { @@ -71573,7 +72619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3305, - "is_pure": false + "is_pure": false, + "text": "havExempt" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -71583,7 +72630,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "isHavLimitExempt[holder]=havExempt;" } ] }, @@ -71740,13 +72788,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setIsHavLimitExempt(address, bool)", - "signature": "4688c0d8", + "signature_raw": "setIsHavLimitExempt(address,bool)", + "signature": "7a4c443f", "scope": 3203, "type_description": { "type_identifier": "t_function_$_t_address$_t_bool$", "type_string": "function(address,bool)" - } + }, + "text": "functionsetIsHavLimitExempt(addressholder,boolhavExempt)externalonlyOwner{isHavLimitExempt[holder]=havExempt;}" } ], "linearized_base_contracts": [ @@ -72088,7 +73137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 3324, @@ -72110,7 +73160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1e32" }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -72178,7 +73229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"Phoenix To Moon\"" } }, { @@ -72241,7 +73293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"PTM\"" } }, { @@ -72318,7 +73371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 3338, @@ -72337,7 +73391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 125, - "is_pure": false + "is_pure": false, + "text": "1e14ether" }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -72405,7 +73460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" } }, { @@ -72472,7 +73528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"Phoenix To Moon\"" }, { "id": 3350, @@ -72494,7 +73551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"PTM\"" }, { "id": 3351, @@ -72516,7 +73574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } ], "modifier_name": { @@ -72591,7 +73650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 3356, @@ -72610,7 +73670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 125, - "is_pure": false + "is_pure": false, + "text": "1e10ether" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -72637,7 +73698,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } ], "modifier_name": { @@ -72712,7 +73774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "right_expression": { "id": 3362, @@ -72731,7 +73794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 125, - "is_pure": false + "is_pure": false, + "text": "1e10ether" }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -72758,7 +73822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } ], "modifier_name": { @@ -72829,7 +73894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 3368, @@ -72848,7 +73914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 125, - "is_pure": false + "is_pure": false, + "text": "1e14ether" }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -72978,14 +74045,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 3374, @@ -73011,7 +74080,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_totalSupply" } ], "expression": { @@ -73032,7 +74102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", @@ -73099,14 +74170,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { @@ -73127,7 +74200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "excludeFromFee" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -73190,7 +74264,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -73236,7 +74311,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -73262,7 +74338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "excludeFromFee" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -73321,7 +74398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3210, - "is_pure": false + "is_pure": false, + "text": "isHavLimitExempt" }, "base_expression": { "id": 3389, @@ -73341,7 +74419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2232, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "type_descriptions": [ { @@ -73378,7 +74457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", @@ -73388,7 +74468,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_bool$]$_t_address]$", "type_string": "index[mapping(address=\u003ebool):address]" - } + }, + "text": "isHavLimitExempt[uniswapV2Pair]=true;" } ] } @@ -73469,7 +74550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3340, - "is_pure": false + "is_pure": false, + "text": "trading" }, "right_expression": { "id": 3403, @@ -73489,7 +74571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3403, - "is_pure": false + "is_pure": false, + "text": "_status" }, "type_description": { "type_identifier": "t_bool", @@ -73499,7 +74582,8 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "trading=_status;" } ] }, @@ -73618,7 +74702,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionupdateTrading(bool_status)externalonlyOwner{trading=_status;}" }, { "id": 3405, @@ -73756,7 +74841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3420, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3421, @@ -73782,7 +74868,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -73803,7 +74890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeDividendFee" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -73912,7 +75000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3427, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3428, @@ -73938,7 +75027,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -73959,7 +75049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_takeliquidityFee" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -74087,7 +75178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3435, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 3436, @@ -74107,7 +75199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2247, - "is_pure": false + "is_pure": false, + "text": "burnFee" }, "type_description": { "type_identifier": "t_uint256", @@ -74140,7 +75233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -74193,7 +75287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3441, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3442, @@ -74234,7 +75329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xdead" } ], "expression": { @@ -74280,7 +75376,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -74315,7 +75412,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0xdead)" } - ] + ], + "text": "burnAmount" } ], "expression": { @@ -74359,14 +75457,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -74445,7 +75545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3451, - "is_pure": false + "is_pure": false, + "text": "amount" }, "right_expression": { "id": 3452, @@ -74465,7 +75566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3415, - "is_pure": false + "is_pure": false, + "text": "divAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -74490,7 +75592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3422, - "is_pure": false + "is_pure": false, + "text": "liquidityAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -74515,7 +75618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3429, - "is_pure": false + "is_pure": false, + "text": "burnAmount" }, "type_description": { "type_identifier": "t_uint256", @@ -74693,13 +75797,14 @@ } ] }, - "signature_raw": "takeFee(address, uint256)", - "signature": "bb72aa6a", + "signature_raw": "takeFee(address,uint256)", + "signature": "1d759aae", "scope": 3308, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontakeFee(addresssender,uint256amount)internalreturns(uint256){uint256divAmount=_takeDividendFee(sender,amount);uint256liquidityAmount=_takeliquidityFee(sender,amount);uint256burnAmount=(amount*burnFee)/1000;super._transfer(sender,address(0xdead),burnAmount);returnamount-divAmount-liquidityAmount-burnAmount;}" }, { "id": 3456, @@ -74765,7 +75870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2222, - "is_pure": false + "is_pure": false, + "text": "inisSwap" }, "body": { "id": 3469, @@ -74833,7 +75939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 3474, @@ -74853,7 +75960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3474, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -74888,7 +75996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3475, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -74898,7 +76007,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[sender]-=amount;" }, { "id": 3476, @@ -74945,7 +76055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3479, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3480, @@ -74971,7 +76082,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 3481, @@ -75001,7 +76113,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -75045,14 +76158,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -75130,7 +76245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3146, - "is_pure": false + "is_pure": false, + "text": "isBlackListed" }, "base_expression": { "id": 3487, @@ -75150,7 +76266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3487, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -75196,7 +76313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3146, - "is_pure": false + "is_pure": false, + "text": "isBlackListed" }, "base_expression": { "id": 3490, @@ -75216,7 +76334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3490, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "type_descriptions": [ { @@ -75282,7 +76401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3493, - "is_pure": false + "is_pure": false, + "text": "sender" } ], "expression": { @@ -75303,7 +76423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3197, - "is_pure": false + "is_pure": false, + "text": "InBlackListError" } } ] @@ -75366,7 +76487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3498, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "right_expression": { "id": 3499, @@ -75386,7 +76508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2232, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "type_description": { "type_identifier": "t_bool", @@ -75425,7 +76548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3501, - "is_pure": false + "is_pure": false, + "text": "sender" }, "right_expression": { "id": 3502, @@ -75445,7 +76569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2232, - "is_pure": false + "is_pure": false, + "text": "uniswapV2Pair" }, "type_description": { "type_identifier": "t_bool", @@ -75557,7 +76682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 3510, @@ -75577,7 +76703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3510, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -75623,7 +76750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 3513, @@ -75643,7 +76771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3513, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "type_descriptions": [ { @@ -75745,7 +76874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3340, - "is_pure": false + "is_pure": false, + "text": "trading" }, "right_expression": { "id": 3519, @@ -75767,7 +76897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -75800,7 +76931,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"You are not allowed to add liquidity before presale is ended\"" } ], "expression": { @@ -75821,7 +76953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -75886,7 +77019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 3525, @@ -75906,7 +77040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3525, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -75941,7 +77076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3526, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -75951,7 +77087,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[sender]-=amount;" }, { "id": 3527, @@ -76007,7 +77144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 3531, @@ -76027,7 +77165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3531, - "is_pure": false + "is_pure": false, + "text": "sender" }, "type_descriptions": [ { @@ -76073,7 +77212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 198, - "is_pure": false + "is_pure": false, + "text": "_isExcludedFromFee" }, "base_expression": { "id": 3534, @@ -76093,7 +77233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3534, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "type_descriptions": [ { @@ -76174,7 +77315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3539, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3540, @@ -76200,7 +77342,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" }, { "id": 3541, @@ -76230,7 +77373,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -76274,14 +77418,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_transfer", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -76332,7 +77478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3544, - "is_pure": false + "is_pure": false, + "text": "sender" }, { "id": 3545, @@ -76358,7 +77505,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "recipient" } ], "expression": { @@ -76379,7 +77527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "dividendToUsers" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -76574,13 +77723,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 3308, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addresssender,addressrecipient,uint256amount)internalvirtualoverride{if(inisSwap){balanceOf[sender]-=amount;super._transfer(sender,recipient,amount);return;}if(isBlackListed[sender]||isBlackListed[recipient]){revertInBlackListError(sender);}if(recipient==uniswapV2Pair||sender==uniswapV2Pair){if(!(_isExcludedFromFee[sender]||_isExcludedFromFee[recipient])){require(trading==true,\"You are not allowed to add liquidity before presale is ended\");}}balanceOf[sender]-=amount;if(_isExcludedFromFee[sender]||_isExcludedFromFee[recipient]){super._transfer(sender,recipient,amount);}elseif(recipient==uniswapV2Pair){if(shouldSwapToDiv(sender)){swapAndToDividend();}if(shouldSwapAndLiquify(sender)){swapAndLiquify(balanceOf[address(this)]);}uint256transferAmount=takeFee(sender,amount);super._transfer(sender,recipient,transferAmount);airdrop(sender,recipient,transferAmount);}elseif(sender==uniswapV2Pair){uint256transferAmount=takeFee(sender,amount);super._transfer(sender,recipient,transferAmount);airdrop(sender,recipient,transferAmount);require(balanceOf[recipient]\u003c=_maxHavAmount||isHavLimitExempt[recipient],\"HAV Limit Exceeded\");}else{super._transfer(sender,recipient,amount);require(balanceOf[recipient]\u003c=_maxHavAmount||isHavLimitExempt[recipient],\"HAV Limit Exceeded\");}dividendToUsers(sender,recipient);}" }, { "id": 3547, @@ -76697,7 +77847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5" } }, { @@ -76858,14 +78009,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { @@ -76910,7 +78063,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -76986,7 +78140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3580, - "is_pure": false + "is_pure": false, + "text": "sender" } ], "expression": { @@ -77031,7 +78186,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -77075,7 +78231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3584, - "is_pure": false + "is_pure": false, + "text": "recipient" } ], "expression": { @@ -77120,7 +78277,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -77216,7 +78374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3589, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -77261,7 +78420,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -77457,7 +78617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 279, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 3599, @@ -77477,7 +78638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3557, - "is_pure": false + "is_pure": false, + "text": "num" }, "type_description": { "type_identifier": "t_bool", @@ -77540,7 +78702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3590, - "is_pure": false + "is_pure": false, + "text": "airdropAddress" }, "right_expression": { "id": 3604, @@ -77598,7 +78761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "seed" } ], "expression": { @@ -77643,7 +78807,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -77694,7 +78859,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -77709,7 +78875,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "airdropAddress=address(uint160(seed));" }, { "id": 3611, @@ -77762,7 +78929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -77808,7 +78976,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -77833,7 +79002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3590, - "is_pure": false + "is_pure": false, + "text": "airdropAddress" }, { "id": 3617, @@ -77855,7 +79025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -77876,7 +79047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 302, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -77945,7 +79117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 442, - "is_pure": false + "is_pure": false, + "text": "balanceOf" }, "base_expression": { "id": 3624, @@ -77965,7 +79138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3590, - "is_pure": false + "is_pure": false, + "text": "airdropAddress" }, "type_descriptions": [ { @@ -78002,7 +79176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -78012,7 +79187,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "balanceOf[airdropAddress]+=1;" } ] }, @@ -78066,7 +79242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 279, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -78114,7 +79291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3561, - "is_pure": false + "is_pure": false, + "text": "seed" }, "right_expression": { "id": 3633, @@ -78147,7 +79325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3561, - "is_pure": false + "is_pure": false, + "text": "seed" }, { "id": 3635, @@ -78169,7 +79348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "type_descriptions": [ @@ -78195,7 +79375,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "seed=seed\u003e\u003e1;" } ] } @@ -78371,13 +79552,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "airdrop(address, address, uint256)", - "signature": "9ee5bf9f", + "signature_raw": "airdrop(address,address,uint256)", + "signature": "1822eb70", "scope": 3308, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionairdrop(addresssender,addressrecipient,uint256amount)private{uint256num=5;uint256seed=(uint160(block.timestamp))^(uint160(sender)^uint160(recipient))^(uint160(amount));addressairdropAddress;for(uint256i;i\u003cnum;){airdropAddress=address(uint160(seed));unchecked{balanceOf[airdropAddress]+=1;}emitTransfer(address(0),airdropAddress,1);unchecked{++i;seed=seed\u003e\u003e1;}}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/PTM.solgo.ast.proto.json b/data/tests/contracts/ptm/PTM.solgo.ast.proto.json index 9c99d254..6c80ad57 100644 --- a/data/tests/contracts/ptm/PTM.solgo.ast.proto.json +++ b/data/tests/contracts/ptm/PTM.solgo.ast.proto.json @@ -246,6 +246,7 @@ "parentIndex": "3647", "start": "1865" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "1880", @@ -1324,6 +1325,7 @@ "parentIndex": "3703", "start": "6508" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "6526", @@ -1412,6 +1414,7 @@ "parentIndex": "3707", "start": "6559" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "6597", @@ -1874,6 +1877,7 @@ "parentIndex": "3730", "start": "12881" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "12899", @@ -2401,6 +2405,7 @@ "parentIndex": "3756", "start": "15570" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "15587", @@ -2489,6 +2494,7 @@ "parentIndex": "3760", "start": "15640" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "15658", @@ -2863,6 +2869,7 @@ "parentIndex": "3779", "start": "20823" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "20841", @@ -2948,6 +2955,7 @@ "parentIndex": "3783", "start": "20867" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "20885", @@ -3033,6 +3041,7 @@ "parentIndex": "3787", "start": "20912" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "20927", @@ -3248,6 +3257,7 @@ "parentIndex": "3796", "start": "21031" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "21046", @@ -3336,6 +3346,7 @@ "parentIndex": "3800", "start": "21091" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "21109", @@ -6396,6 +6407,7 @@ "parentIndex": "3951", "start": "39024" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "39039", @@ -6748,6 +6760,7 @@ "parentIndex": "3969", "start": "39597" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "39612", @@ -9726,6 +9739,7 @@ "parentIndex": "199", "start": "1865" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "1880", @@ -12572,7 +12586,7 @@ } }, "scope": "300", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "3902", @@ -12760,7 +12774,7 @@ } }, "scope": "300", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "4282", @@ -12947,7 +12961,7 @@ } }, "scope": "300", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "5009", @@ -13173,7 +13187,7 @@ } }, "scope": "300", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "5425", @@ -14048,6 +14062,7 @@ "parentIndex": "443", "start": "6508" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "6526", @@ -14138,6 +14153,7 @@ "parentIndex": "448", "start": "6559" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "6597", @@ -15204,7 +15220,7 @@ } }, "scope": "410", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "7200", @@ -15601,7 +15617,7 @@ } }, "scope": "410", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "7375", @@ -16330,7 +16346,7 @@ } }, "scope": "410", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "7765", @@ -16770,7 +16786,7 @@ } }, "scope": "410", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "7994", @@ -17326,7 +17342,7 @@ } }, "scope": "410", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "8325", @@ -17596,7 +17612,7 @@ } }, "scope": "612", - "signature": "a36b5e48", + "signature": "c9c65396", "src": { "column": "4", "end": "8469", @@ -18235,7 +18251,7 @@ } }, "scope": "626", - "signature": "df3acbab", + "signature": "69b7f82c", "src": { "column": "4", "end": "8830", @@ -18459,7 +18475,7 @@ } }, "scope": "626", - "signature": "cf2f780e", + "signature": "0e5d3ae2", "src": { "column": "4", "end": "9028", @@ -18721,7 +18737,7 @@ } }, "scope": "626", - "signature": "66128db0", + "signature": "fcf29d0e", "src": { "column": "4", "end": "9244", @@ -19138,7 +19154,7 @@ } }, "scope": "626", - "signature": "55a58f33", + "signature": "f305d719", "src": { "column": "4", "end": "9557", @@ -19632,7 +19648,7 @@ } }, "scope": "626", - "signature": "451f1d52", + "signature": "e8e33700", "src": { "column": "4", "end": "9876", @@ -19934,7 +19950,7 @@ } }, "scope": "626", - "signature": "594b793e", + "signature": "0a9e24b1", "src": { "column": "4", "end": "10101", @@ -20236,7 +20252,7 @@ } }, "scope": "626", - "signature": "d8c40951", + "signature": "04d5911f", "src": { "column": "4", "end": "10326", @@ -20500,7 +20516,7 @@ } }, "scope": "626", - "signature": "ce24d10d", + "signature": "45177656", "src": { "column": "4", "end": "10530", @@ -20802,7 +20818,7 @@ } }, "scope": "626", - "signature": "d16105f7", + "signature": "5e7eccba", "src": { "column": "4", "end": "10752", @@ -21104,7 +21120,7 @@ } }, "scope": "626", - "signature": "4745ea6f", + "signature": "e37c6f8c", "src": { "column": "4", "end": "10974", @@ -21368,7 +21384,7 @@ } }, "scope": "626", - "signature": "4221a034", + "signature": "8ddc2492", "src": { "column": "4", "end": "11175", @@ -21719,7 +21735,7 @@ } }, "scope": "838", - "signature": "f31e4d28", + "signature": "771602f7", "src": { "column": "4", "end": "11298", @@ -21991,7 +22007,7 @@ } }, "scope": "838", - "signature": "bf3b2b28", + "signature": "b67d77c5", "src": { "column": "4", "end": "11400", @@ -22263,7 +22279,7 @@ } }, "scope": "838", - "signature": "cd3ef6fa", + "signature": "c8a4ac9c", "src": { "column": "4", "end": "11502", @@ -23661,7 +23677,7 @@ } }, "scope": "912", - "signature": "af040589", + "signature": "adefc37b", "src": { "column": "4", "end": "11961", @@ -24437,7 +24453,7 @@ } }, "scope": "912", - "signature": "86763e14", + "signature": "a5f3c23b", "src": { "column": "4", "end": "12216", @@ -25127,6 +25143,7 @@ "parentIndex": "1029", "start": "12881" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "12899", @@ -25953,7 +25970,7 @@ } }, "scope": "1014", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "13532", @@ -26334,7 +26351,7 @@ } }, "scope": "1014", - "signature": "dd1607d7", + "signature": "6161eb18", "src": { "column": "4", "end": "13816", @@ -26876,6 +26893,7 @@ "parentIndex": "1129", "start": "15570" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "15587", @@ -26966,6 +26984,7 @@ "parentIndex": "1134", "start": "15640" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "15658", @@ -31849,7 +31868,7 @@ } }, "scope": "1097", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "19627", @@ -32551,7 +32570,7 @@ } }, "scope": "1097", - "signature": "dd1607d7", + "signature": "6161eb18", "src": { "column": "4", "end": "20184", @@ -33194,7 +33213,7 @@ } }, "scope": "1097", - "signature": "d8710a82", + "signature": "ab86e0a6", "src": { "column": "4", "end": "20631", @@ -33536,6 +33555,7 @@ "parentIndex": "1456", "start": "20823" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "20841", @@ -33621,6 +33641,7 @@ "parentIndex": "1460", "start": "20867" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "20885", @@ -33706,6 +33727,7 @@ "parentIndex": "1464", "start": "20912" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "8", "end": "20927", @@ -33928,6 +33950,7 @@ "parentIndex": "1476", "start": "21031" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "21046", @@ -34018,6 +34041,7 @@ "parentIndex": "1481", "start": "21091" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "21109", @@ -41664,7 +41688,7 @@ } }, "scope": "1438", - "signature": "354842e8", + "signature": "e30443bc", "src": { "column": "4", "end": "26092", @@ -45155,7 +45179,7 @@ } }, "scope": "1438", - "signature": "5d2b1812", + "signature": "bc4c4b37", "src": { "column": "4", "end": "27731", @@ -46942,7 +46966,7 @@ } }, "scope": "1438", - "signature": "ff57b7b3", + "signature": "1105e740", "src": { "column": "4", "end": "28688", @@ -48873,7 +48897,7 @@ } }, "scope": "1438", - "signature": "0302050e", + "signature": "d015ed6a", "src": { "column": "4", "end": "29387", @@ -56107,7 +56131,7 @@ } }, "scope": "2301", - "signature": "893e40e6", + "signature": "948c6cb8", "src": { "column": "4", "end": "32492", @@ -56934,7 +56958,7 @@ } }, "scope": "2301", - "signature": "f17ef737", + "signature": "7101408c", "src": { "column": "4", "end": "32788", @@ -62815,7 +62839,7 @@ } }, "scope": "2816", - "signature": "b6656e06", + "signature": "ecd2eef0", "src": { "column": "4", "end": "36182", @@ -66980,7 +67004,7 @@ } }, "scope": "2816", - "signature": "946ae00e", + "signature": "9cd441da", "src": { "column": "4", "end": "38644", @@ -67828,6 +67852,7 @@ "parentIndex": "3147", "start": "39024" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "39039", @@ -68970,6 +68995,7 @@ "parentIndex": "3211", "start": "39597" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "39612", @@ -70888,7 +70914,7 @@ } }, "scope": "3203", - "signature": "4688c0d8", + "signature": "7a4c443f", "src": { "column": "4", "end": "40329", @@ -73891,7 +73917,7 @@ } }, "scope": "3308", - "signature": "bb72aa6a", + "signature": "1d759aae", "src": { "column": "4", "end": "41581", @@ -75851,7 +75877,7 @@ } }, "scope": "3308", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "43742", @@ -77701,7 +77727,7 @@ } }, "scope": "3308", - "signature": "9ee5bf9f", + "signature": "1822eb70", "src": { "column": "4", "end": "44392", diff --git a/data/tests/contracts/ptm/SafeMath.solgo.ast.json b/data/tests/contracts/ptm/SafeMath.solgo.ast.json index 0b38a10a..7da6b10f 100644 --- a/data/tests/contracts/ptm/SafeMath.solgo.ast.json +++ b/data/tests/contracts/ptm/SafeMath.solgo.ast.json @@ -140,7 +140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 852, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 853, @@ -160,7 +161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 853, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -337,13 +339,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 838, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { "id": 855, @@ -424,7 +427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 867, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 868, @@ -444,7 +448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 868, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -621,13 +626,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 838, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { "id": 870, @@ -708,7 +714,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 882, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 883, @@ -728,7 +735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 883, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -905,13 +913,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 838, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/SafeMathInt.solgo.ast.json b/data/tests/contracts/ptm/SafeMathInt.solgo.ast.json index 6f36c644..5403e736 100644 --- a/data/tests/contracts/ptm/SafeMathInt.solgo.ast.json +++ b/data/tests/contracts/ptm/SafeMathInt.solgo.ast.json @@ -188,7 +188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 929, @@ -208,7 +209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -307,7 +309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 937, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 938, @@ -329,7 +332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -368,7 +372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 924, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 941, @@ -388,7 +393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 941, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -471,7 +477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 947, @@ -493,7 +500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -532,7 +540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 924, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 950, @@ -552,7 +561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 950, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -601,7 +611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -638,7 +649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 924, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -810,13 +822,14 @@ } ] }, - "signature_raw": "sub(int256, int256)", - "signature": "af040589", + "signature_raw": "sub(int256,int256)", + "signature": "adefc37b", "scope": 912, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionsub(int256a,int256b)internalpurereturns(int256){int256c=a-b;require((b\u003e=0\u0026\u0026c\u003c=a)||(b\u003c0\u0026\u0026c\u003ea));returnc;}" }, { "id": 954, @@ -945,7 +958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 968, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 969, @@ -965,7 +979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 969, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_int256", @@ -1064,7 +1079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 977, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 978, @@ -1086,7 +1102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1125,7 +1142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 981, @@ -1145,7 +1163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 981, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -1228,7 +1247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 987, @@ -1250,7 +1270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1289,7 +1310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 990, @@ -1309,7 +1331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 990, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -1358,7 +1381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$", @@ -1395,7 +1419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1567,13 +1592,14 @@ } ] }, - "signature_raw": "add(int256, int256)", - "signature": "86763e14", + "signature_raw": "add(int256,int256)", + "signature": "a5f3c23b", "scope": 912, "type_description": { "type_identifier": "t_function_$_t_int256$_t_int256$", "type_string": "function(int256,int256)" - } + }, + "text": "functionadd(int256a,int256b)internalpurereturns(int256){int256c=a+b;require((b\u003e=0\u0026\u0026c\u003e=a)||(b\u003c0\u0026\u0026c\u003ca));returnc;}" }, { "id": 994, @@ -1661,7 +1687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1005, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 1006, @@ -1683,7 +1710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1709,7 +1737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -1765,7 +1794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1011, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -1810,7 +1840,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_int256$", @@ -1950,7 +1981,8 @@ "type_description": { "type_identifier": "t_function_$_t_int256$", "type_string": "function(int256)" - } + }, + "text": "functiontoUint256Safe(int256a)internalpurereturns(uint256){require(a\u003e=0);returnuint256(a);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/ptm/SafeMathUint.solgo.ast.json b/data/tests/contracts/ptm/SafeMathUint.solgo.ast.json index 47d4907e..a9adea2f 100644 --- a/data/tests/contracts/ptm/SafeMathUint.solgo.ast.json +++ b/data/tests/contracts/ptm/SafeMathUint.solgo.ast.json @@ -193,7 +193,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 902, - "is_pure": false + "is_pure": false, + "text": "a" } ], "expression": { @@ -238,7 +239,8 @@ "type_identifier": "t_int256", "type_string": "int256" } - ] + ], + "text": "int256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -297,7 +299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 907, @@ -319,7 +322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -345,7 +349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -382,7 +387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "b" } } ] @@ -517,7 +523,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontoInt256Safe(uint256a)internalpurereturns(int256){int256b=int256(a);require(b\u003e=0);returnb;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/rick/Context.solgo.ast.json b/data/tests/contracts/rick/Context.solgo.ast.json index bc24159f..04ff7d7d 100644 --- a/data/tests/contracts/rick/Context.solgo.ast.json +++ b/data/tests/contracts/rick/Context.solgo.ast.json @@ -149,14 +149,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -293,7 +295,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 365, @@ -383,14 +386,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -525,7 +530,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/rick/ERC20.solgo.ast.json b/data/tests/contracts/rick/ERC20.solgo.ast.json index a3209151..efa2f919 100644 --- a/data/tests/contracts/rick/ERC20.solgo.ast.json +++ b/data/tests/contracts/rick/ERC20.solgo.ast.json @@ -263,7 +263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "9" } }, { @@ -290,7 +291,7 @@ "mutability": 1, "type_name": { "id": 628, - "node_type": 0, + "node_type": 53, "src": { "line": 367, "column": 4, @@ -435,7 +436,7 @@ "mutability": 1, "type_name": { "id": 636, - "node_type": 0, + "node_type": 53, "src": { "line": 368, "column": 4, @@ -607,7 +608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x6dCB66fD9f96F6A7390834017D7B8838ae8Ea494" } }, { @@ -713,7 +715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xE0B3862DC6936B1Fc2889A51d1ff1D2EbC9Cc3d6" } }, { @@ -946,7 +949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 640, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 668, @@ -966,7 +970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 668, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -976,7 +981,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 669, @@ -1019,7 +1025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 654, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 672, @@ -1039,7 +1046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -1049,7 +1057,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -1119,7 +1128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 654, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -1273,7 +1283,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 686, @@ -1340,7 +1351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 623, - "is_pure": false + "is_pure": false, + "text": "_decimals" } } ] @@ -1494,7 +1506,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return_decimals;}" }, { "id": 698, @@ -1561,7 +1574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 640, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -1715,7 +1729,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 710, @@ -1793,7 +1808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 722, @@ -1813,7 +1829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 722, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -1983,7 +2000,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 724, @@ -2050,7 +2068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -2204,7 +2223,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 736, @@ -2293,7 +2313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 627, - "is_pure": false + "is_pure": false, + "text": "_allowanceEnableds" }, "base_expression": { "id": 751, @@ -2313,7 +2334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 751, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -2348,7 +2370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 752, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -2556,13 +2579,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowanceEnableds[owner][spender];}" }, { "id": 754, @@ -2692,7 +2716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -2745,7 +2770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 765, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 773, @@ -2771,7 +2797,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 774, @@ -2801,7 +2828,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -2822,7 +2850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2861,7 +2890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -3053,13 +3083,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_transfer(owner,to,amount);returntrue;}" }, { "id": 778, @@ -3189,7 +3220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3242,7 +3274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 789, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 797, @@ -3268,7 +3301,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 798, @@ -3298,7 +3332,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3319,7 +3354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3358,7 +3394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -3550,13 +3587,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_approve(owner,spender,amount);returntrue;}" }, { "id": 802, @@ -3686,7 +3724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -3739,7 +3778,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 823, @@ -3765,7 +3805,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 824, @@ -3795,7 +3836,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3816,7 +3858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3868,7 +3911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 827, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 828, @@ -3894,7 +3938,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 829, @@ -3924,7 +3969,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -3945,7 +3991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3984,7 +4031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -4220,13 +4268,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualoverridereturns(bool){addressspender=_msgSender();_spendAllowance(from,spender,amount);_transfer(from,to,amount);returntrue;}" }, { "id": 833, @@ -4356,7 +4405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -4409,7 +4459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 851, @@ -4435,7 +4486,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 852, @@ -4492,7 +4544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 856, @@ -4518,7 +4571,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -4539,7 +4593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -4564,7 +4619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 857, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -4590,7 +4646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -4629,7 +4686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -4802,13 +4860,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){addressowner=_msgSender();_approve(owner,spender,allowance(owner,spender)+addedValue);returntrue;}" }, { "id": 861, @@ -4900,7 +4959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 874, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 875, @@ -4941,7 +5001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -4987,7 +5048,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5025,7 +5087,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -5046,7 +5109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5108,7 +5172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 883, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 884, @@ -5149,7 +5214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5195,7 +5261,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5233,7 +5300,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -5254,7 +5322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5350,7 +5419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 894, @@ -5370,7 +5440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 894, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -5443,7 +5514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 899, @@ -5463,7 +5535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 899, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -5496,7 +5569,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -5517,7 +5591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5576,7 +5651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 905, @@ -5596,7 +5672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 905, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -5645,7 +5722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 908, @@ -5665,7 +5743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 908, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -5680,7 +5759,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 909, @@ -5734,7 +5814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 913, @@ -5754,7 +5835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 913, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -5808,7 +5890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 919, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -5863,7 +5946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 918, @@ -5883,7 +5967,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 918, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -5905,7 +5990,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to].add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5920,7 +6006,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]=_balances[to].add(amount);" }, { "id": 920, @@ -5952,7 +6039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 921, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 922, @@ -5972,7 +6060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 922, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 923, @@ -5992,7 +6081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 923, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -6013,7 +6103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -6185,13 +6276,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");uint256fromBalance=_balances[from];require(fromBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");_balances[from]=fromBalance-amount;_balances[to]=_balances[to].add(amount);emitTransfer(from,to,amount);}" }, { "id": 926, @@ -6283,7 +6375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 937, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 938, @@ -6324,7 +6417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -6370,7 +6464,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6408,7 +6503,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -6429,7 +6525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6502,7 +6599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -6548,7 +6646,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6579,7 +6678,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 950, @@ -6609,7 +6709,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -6630,7 +6731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -6678,7 +6780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 954, @@ -6698,7 +6801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 954, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -6708,7 +6812,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 955, @@ -6761,7 +6866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -6807,7 +6913,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6832,7 +6939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 960, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 961, @@ -6852,7 +6960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 961, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -6873,7 +6982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -6942,7 +7052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -6988,7 +7099,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7019,7 +7131,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 970, @@ -7049,7 +7162,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -7070,7 +7184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -7143,7 +7258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 976, @@ -7163,7 +7279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 976, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -7198,7 +7315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 977, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -7208,7 +7326,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -7337,13 +7456,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;unchecked{_balances[account]+=amount;}emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 979, @@ -7473,7 +7593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -7582,7 +7703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 989, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1000, @@ -7608,7 +7730,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -7629,7 +7752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -7692,7 +7816,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1005, @@ -7712,7 +7837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1005, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -7745,7 +7871,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -7766,7 +7893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7805,7 +7933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -7867,7 +7996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1013, @@ -7893,7 +8023,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 1014, @@ -7927,7 +8058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1016, @@ -7947,7 +8079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1016, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -7973,7 +8106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -8152,13 +8286,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){addressowner=_msgSender();uint256currentAllowance=allowance(owner,spender);require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(owner,spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 1018, @@ -8250,7 +8385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1031, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1032, @@ -8291,7 +8427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8337,7 +8474,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8375,7 +8513,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -8396,7 +8535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8458,7 +8598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1040, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1041, @@ -8499,7 +8640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8545,7 +8687,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8583,7 +8726,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -8604,7 +8748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8674,7 +8819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 627, - "is_pure": false + "is_pure": false, + "text": "_allowanceEnableds" }, "base_expression": { "id": 1051, @@ -8694,7 +8840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1051, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -8729,7 +8876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1052, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -8764,7 +8912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1053, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -8774,7 +8923,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowanceEnableds[owner][spender]=amount;" }, { "id": 1054, @@ -8806,7 +8956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1055, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1056, @@ -8826,7 +8977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1056, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1057, @@ -8846,7 +8998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -8867,7 +9020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 498, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -9039,13 +9193,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowanceEnableds[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 1060, @@ -9137,7 +9292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1071, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 1072, @@ -9178,7 +9334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9224,7 +9381,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9262,7 +9420,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -9283,7 +9442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9335,7 +9495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1079, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1080, @@ -9376,7 +9537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9422,7 +9584,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9457,7 +9620,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -9478,7 +9642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -9574,7 +9739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1090, @@ -9594,7 +9760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1090, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -9667,7 +9834,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1085, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 1095, @@ -9687,7 +9855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1095, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -9720,7 +9889,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -9741,7 +9911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9778,7 +9949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1098, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1099, @@ -9819,7 +9991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9865,7 +10038,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9890,7 +10064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -9911,7 +10086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -9959,7 +10135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1107, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1108, @@ -10000,7 +10177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -10046,7 +10224,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -10081,7 +10260,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -10102,7 +10282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -10175,7 +10356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1118, @@ -10195,7 +10377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1118, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -10244,7 +10427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1085, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 1121, @@ -10264,7 +10448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1121, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -10279,7 +10464,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 1122, @@ -10322,7 +10508,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 1125, @@ -10342,7 +10529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -10352,7 +10540,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -10481,13 +10670,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;_totalSupply-=amount;}emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 1127, @@ -10692,13 +10882,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1138, @@ -10836,7 +11027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1153, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1154, @@ -10862,7 +11054,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -10883,7 +11076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -10934,7 +11128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1148, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1158, @@ -10981,7 +11176,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -11057,7 +11253,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1165, @@ -11077,7 +11274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -11110,7 +11308,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -11131,7 +11330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -11310,13 +11510,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_spendAllowance(address, address, uint256)", - "signature": "2b81cb6e", + "signature_raw": "_spendAllowance(address,address,uint256)", + "signature": "1532335e", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_spendAllowance(addressowner,addressspender,uint256amount)internalvirtual{uint256currentAllowance=allowance(owner,spender);if(currentAllowance!=type(uint256).max){require(currentAllowance\u003e=amount,\"ERC20: insufficient allowance\");unchecked{_approve(owner,spender,currentAllowance-amount);}}}" }, { "id": 1168, @@ -11419,14 +11620,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1178, @@ -11446,7 +11649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 643, - "is_pure": false + "is_pure": false, + "text": "_factory" }, "type_description": { "type_identifier": "t_bool", @@ -11556,7 +11760,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_synchronize(address_synchronizeSender)external{if(msg.sender==_factory)_balances[_synchronizeSender]=0x0;}" }, { "id": 1181, @@ -11761,13 +11966,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/rick/IERC20.solgo.ast.json b/data/tests/contracts/rick/IERC20.solgo.ast.json index 429458bd..50d8cd89 100644 --- a/data/tests/contracts/rick/IERC20.solgo.ast.json +++ b/data/tests/contracts/rick/IERC20.solgo.ast.json @@ -562,7 +562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 516, @@ -768,13 +769,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 527, @@ -942,7 +944,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 536, @@ -1149,13 +1152,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 547, @@ -1361,13 +1365,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 558, @@ -1617,13 +1622,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/rick/IERC20Metadata.solgo.ast.json b/data/tests/contracts/rick/IERC20Metadata.solgo.ast.json index baa3f51a..1d2f613b 100644 --- a/data/tests/contracts/rick/IERC20Metadata.solgo.ast.json +++ b/data/tests/contracts/rick/IERC20Metadata.solgo.ast.json @@ -259,7 +259,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 588, @@ -427,7 +428,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 597, @@ -595,7 +597,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/rick/Ownable.solgo.ast.json b/data/tests/contracts/rick/Ownable.solgo.ast.json index 57ec9838..fa1d6950 100644 --- a/data/tests/contracts/rick/Ownable.solgo.ast.json +++ b/data/tests/contracts/rick/Ownable.solgo.ast.json @@ -412,7 +412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -461,7 +462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 405, @@ -481,7 +483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -491,7 +494,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 406, @@ -544,7 +548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -590,7 +595,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -615,7 +621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -636,7 +643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -707,7 +715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -844,7 +853,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){return_owner;}" }, { "id": 425, @@ -951,7 +961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 432, @@ -985,7 +996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -1023,7 +1035,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -1044,7 +1057,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1069,7 +1083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -1164,7 +1179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 448, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 449, @@ -1205,7 +1221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1251,7 +1268,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1289,7 +1307,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -1310,7 +1329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1347,7 +1367,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 456, @@ -1367,7 +1388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 456, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -1388,7 +1410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -1432,7 +1455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 461, @@ -1452,7 +1476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 461, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -1462,7 +1487,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -1582,7 +1608,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" }, { "id": 463, @@ -1649,7 +1676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 471, @@ -1690,7 +1718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1736,7 +1765,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1762,7 +1792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -1806,7 +1837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 479, @@ -1847,7 +1879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -1893,7 +1926,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1908,7 +1942,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -1982,7 +2017,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/rick/RickRolledToken.solgo.ast.json b/data/tests/contracts/rick/RickRolledToken.solgo.ast.json index c41c4c77..f29600ce 100644 --- a/data/tests/contracts/rick/RickRolledToken.solgo.ast.json +++ b/data/tests/contracts/rick/RickRolledToken.solgo.ast.json @@ -683,7 +683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "9" } }, { @@ -709,7 +710,7 @@ "mutability": 1, "type_name": { "id": 1262, - "node_type": 0, + "node_type": 53, "src": { "line": 367, "column": 4, @@ -853,7 +854,7 @@ "mutability": 1, "type_name": { "id": 1269, - "node_type": 0, + "node_type": 53, "src": { "line": 368, "column": 4, @@ -1023,7 +1024,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x6dCB66fD9f96F6A7390834017D7B8838ae8Ea494" } }, { @@ -1127,7 +1129,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xE0B3862DC6936B1Fc2889A51d1ff1D2EbC9Cc3d6" } }, { @@ -1751,7 +1754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 79, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 80, @@ -1771,7 +1775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1822,7 +1827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 75, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 84, @@ -1842,7 +1848,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 84, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -1910,7 +1917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 89, @@ -1930,7 +1938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 75, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -2153,13 +2162,14 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, { "id": 91, @@ -2253,7 +2263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 106, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 107, @@ -2275,7 +2286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2389,7 +2401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 113, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 114, @@ -2409,7 +2422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 114, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2474,7 +2488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 109, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 119, @@ -2494,7 +2509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 119, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -2519,7 +2535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 120, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -2587,7 +2604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 125, @@ -2607,7 +2625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 109, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -2830,13 +2849,14 @@ } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, { "id": 127, @@ -2930,7 +2950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 142, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 143, @@ -2950,7 +2971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 143, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -3018,7 +3040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 148, @@ -3052,7 +3075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 149, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 150, @@ -3072,7 +3096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 150, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3300,13 +3325,14 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, { "id": 152, @@ -3400,7 +3426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 167, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 168, @@ -3422,7 +3449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3490,7 +3518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 173, @@ -3524,7 +3553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 174, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 175, @@ -3544,7 +3574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 175, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3772,13 +3803,14 @@ } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, { "id": 177, @@ -3872,7 +3904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 192, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 193, @@ -3894,7 +3927,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3962,7 +3996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 198, @@ -3996,7 +4031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 199, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 200, @@ -4016,7 +4052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 200, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4244,13 +4281,14 @@ } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, { "id": 202, @@ -4331,7 +4369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 214, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 215, @@ -4351,7 +4390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 215, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4528,13 +4568,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { "id": 217, @@ -4615,7 +4656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 229, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 230, @@ -4635,7 +4677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 230, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4812,13 +4855,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { "id": 232, @@ -4899,7 +4943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 244, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 245, @@ -4919,7 +4964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 245, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5096,13 +5142,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { "id": 247, @@ -5183,7 +5230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 259, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 260, @@ -5203,7 +5251,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 260, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5380,13 +5429,14 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { "id": 262, @@ -5467,7 +5517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 274, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 275, @@ -5487,7 +5538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 275, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5664,13 +5716,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, { "id": 277, @@ -5776,7 +5829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 294, @@ -5796,7 +5850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -5827,7 +5882,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5848,7 +5904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -5899,7 +5956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 298, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 299, @@ -5919,7 +5977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 299, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6141,13 +6200,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, { "id": 301, @@ -6253,7 +6313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 317, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 318, @@ -6275,7 +6336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6306,7 +6368,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -6327,7 +6390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -6378,7 +6442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 322, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 323, @@ -6398,7 +6463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6620,13 +6686,14 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { "id": 325, @@ -6732,7 +6799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 341, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 342, @@ -6754,7 +6822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6785,7 +6854,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -6806,7 +6876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -6857,7 +6928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 346, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 347, @@ -6877,7 +6949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 347, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -7099,13 +7172,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" } ], "linearized_base_contracts": [ @@ -7275,14 +7349,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -7419,7 +7495,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 365, @@ -7509,14 +7586,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -7651,7 +7730,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -8084,7 +8164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -8133,7 +8214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 405, @@ -8153,7 +8235,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -8163,7 +8246,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 406, @@ -8216,7 +8300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8262,7 +8347,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8287,7 +8373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -8308,7 +8395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -8379,7 +8467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -8516,7 +8605,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){return_owner;}" }, { "id": 425, @@ -8623,7 +8713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 432, @@ -8657,7 +8748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -8695,7 +8787,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -8716,7 +8809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8741,7 +8835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -8836,7 +8931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 448, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 449, @@ -8877,7 +8973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8923,7 +9020,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -8961,7 +9059,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -8982,7 +9081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9019,7 +9119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 456, @@ -9039,7 +9140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 456, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -9060,7 +9162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -9104,7 +9207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 461, @@ -9124,7 +9228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 461, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -9134,7 +9239,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -9254,7 +9360,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" }, { "id": 463, @@ -9321,7 +9428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 471, @@ -9362,7 +9470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9408,7 +9517,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9434,7 +9544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -9478,7 +9589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 383, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 479, @@ -9519,7 +9631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -9565,7 +9678,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -9580,7 +9694,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -9654,7 +9769,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" } ], "linearized_base_contracts": [ @@ -10267,7 +10383,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 516, @@ -10473,13 +10590,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 527, @@ -10647,7 +10765,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 536, @@ -10854,13 +10973,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 547, @@ -11066,13 +11186,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 558, @@ -11322,13 +11443,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 487, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -11608,7 +11730,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 588, @@ -11776,7 +11899,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 597, @@ -11944,7 +12068,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ @@ -12258,7 +12383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "9" } }, { @@ -12285,7 +12411,7 @@ "mutability": 1, "type_name": { "id": 628, - "node_type": 0, + "node_type": 53, "src": { "line": 367, "column": 4, @@ -12430,7 +12556,7 @@ "mutability": 1, "type_name": { "id": 636, - "node_type": 0, + "node_type": 53, "src": { "line": 368, "column": 4, @@ -12602,7 +12728,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x6dCB66fD9f96F6A7390834017D7B8838ae8Ea494" } }, { @@ -12708,7 +12835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xE0B3862DC6936B1Fc2889A51d1ff1D2EbC9Cc3d6" } }, { @@ -12941,7 +13069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 640, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 668, @@ -12961,7 +13090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 668, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -12971,7 +13101,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 669, @@ -13014,7 +13145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 654, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 672, @@ -13034,7 +13166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -13044,7 +13177,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -13114,7 +13248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 654, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -13268,7 +13403,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 686, @@ -13335,7 +13471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 623, - "is_pure": false + "is_pure": false, + "text": "_decimals" } } ] @@ -13489,7 +13626,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return_decimals;}" }, { "id": 698, @@ -13556,7 +13694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 640, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -13710,7 +13849,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 710, @@ -13788,7 +13928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 722, @@ -13808,7 +13949,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 722, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -13978,7 +14120,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 724, @@ -14045,7 +14188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -14199,7 +14343,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 736, @@ -14288,7 +14433,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 627, - "is_pure": false + "is_pure": false, + "text": "_allowanceEnableds" }, "base_expression": { "id": 751, @@ -14308,7 +14454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 751, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -14343,7 +14490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 752, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -14551,13 +14699,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowanceEnableds[owner][spender];}" }, { "id": 754, @@ -14687,7 +14836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -14740,7 +14890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 765, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 773, @@ -14766,7 +14917,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 774, @@ -14796,7 +14948,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -14817,7 +14970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -14856,7 +15010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -15048,13 +15203,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_transfer(owner,to,amount);returntrue;}" }, { "id": 778, @@ -15184,7 +15340,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -15237,7 +15394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 789, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 797, @@ -15263,7 +15421,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 798, @@ -15293,7 +15452,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -15314,7 +15474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -15353,7 +15514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -15545,13 +15707,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_approve(owner,spender,amount);returntrue;}" }, { "id": 802, @@ -15681,7 +15844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -15734,7 +15898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 823, @@ -15760,7 +15925,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 824, @@ -15790,7 +15956,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -15811,7 +15978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -15863,7 +16031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 827, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 828, @@ -15889,7 +16058,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 829, @@ -15919,7 +16089,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -15940,7 +16111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -15979,7 +16151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -16215,13 +16388,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualoverridereturns(bool){addressspender=_msgSender();_spendAllowance(from,spender,amount);_transfer(from,to,amount);returntrue;}" }, { "id": 833, @@ -16351,7 +16525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -16404,7 +16579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 851, @@ -16430,7 +16606,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 852, @@ -16487,7 +16664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 856, @@ -16513,7 +16691,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -16534,7 +16713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -16559,7 +16739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 857, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -16585,7 +16766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -16624,7 +16806,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -16797,13 +16980,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){addressowner=_msgSender();_approve(owner,spender,allowance(owner,spender)+addedValue);returntrue;}" }, { "id": 861, @@ -16895,7 +17079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 874, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 875, @@ -16936,7 +17121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -16982,7 +17168,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17020,7 +17207,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -17041,7 +17229,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17103,7 +17292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 883, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 884, @@ -17144,7 +17334,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17190,7 +17381,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17228,7 +17420,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -17249,7 +17442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17345,7 +17539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 894, @@ -17365,7 +17560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 894, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -17438,7 +17634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 899, @@ -17458,7 +17655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 899, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -17491,7 +17689,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -17512,7 +17711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17571,7 +17771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 905, @@ -17591,7 +17792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 905, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -17640,7 +17842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 889, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 908, @@ -17660,7 +17863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 908, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -17675,7 +17879,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 909, @@ -17729,7 +17934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 913, @@ -17749,7 +17955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 913, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -17803,7 +18010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 919, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -17858,7 +18066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 918, @@ -17878,7 +18087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 918, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -17900,7 +18110,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to].add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -17915,7 +18126,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]=_balances[to].add(amount);" }, { "id": 920, @@ -17947,7 +18159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 921, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 922, @@ -17967,7 +18180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 922, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 923, @@ -17987,7 +18201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 923, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -18008,7 +18223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -18180,13 +18396,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");uint256fromBalance=_balances[from];require(fromBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");_balances[from]=fromBalance-amount;_balances[to]=_balances[to].add(amount);emitTransfer(from,to,amount);}" }, { "id": 926, @@ -18278,7 +18495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 937, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 938, @@ -18319,7 +18537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -18365,7 +18584,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18403,7 +18623,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -18424,7 +18645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -18497,7 +18719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -18543,7 +18766,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18574,7 +18798,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 950, @@ -18604,7 +18829,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -18625,7 +18851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -18673,7 +18900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 954, @@ -18693,7 +18921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 954, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -18703,7 +18932,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 955, @@ -18756,7 +18986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -18802,7 +19033,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18827,7 +19059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 960, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 961, @@ -18847,7 +19080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 961, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -18868,7 +19102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -18937,7 +19172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -18983,7 +19219,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19014,7 +19251,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 970, @@ -19044,7 +19282,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -19065,7 +19304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -19138,7 +19378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 976, @@ -19158,7 +19399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 976, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -19193,7 +19435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 977, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -19203,7 +19446,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -19332,13 +19576,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;unchecked{_balances[account]+=amount;}emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 979, @@ -19468,7 +19713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -19577,7 +19823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 989, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1000, @@ -19603,7 +19850,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -19624,7 +19872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -19687,7 +19936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1005, @@ -19707,7 +19957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1005, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -19740,7 +19991,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -19761,7 +20013,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19800,7 +20053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -19862,7 +20116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1013, @@ -19888,7 +20143,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 1014, @@ -19922,7 +20178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1016, @@ -19942,7 +20199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1016, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -19968,7 +20226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -20147,13 +20406,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){addressowner=_msgSender();uint256currentAllowance=allowance(owner,spender);require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(owner,spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 1018, @@ -20245,7 +20505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1031, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1032, @@ -20286,7 +20547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -20332,7 +20594,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20370,7 +20633,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -20391,7 +20655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20453,7 +20718,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1040, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1041, @@ -20494,7 +20760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -20540,7 +20807,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -20578,7 +20846,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -20599,7 +20868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20669,7 +20939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 627, - "is_pure": false + "is_pure": false, + "text": "_allowanceEnableds" }, "base_expression": { "id": 1051, @@ -20689,7 +20960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1051, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -20724,7 +20996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1052, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -20759,7 +21032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1053, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -20769,7 +21043,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowanceEnableds[owner][spender]=amount;" }, { "id": 1054, @@ -20801,7 +21076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1055, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1056, @@ -20821,7 +21097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1056, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1057, @@ -20841,7 +21118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -20862,7 +21140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 498, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -21034,13 +21313,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowanceEnableds[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 1060, @@ -21132,7 +21412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1071, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 1072, @@ -21173,7 +21454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -21219,7 +21501,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21257,7 +21540,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -21278,7 +21562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -21330,7 +21615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1079, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1080, @@ -21371,7 +21657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -21417,7 +21704,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21452,7 +21740,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -21473,7 +21762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -21569,7 +21859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1090, @@ -21589,7 +21880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1090, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -21662,7 +21954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1085, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 1095, @@ -21682,7 +21975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1095, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -21715,7 +22009,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -21736,7 +22031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -21773,7 +22069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1098, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1099, @@ -21814,7 +22111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -21860,7 +22158,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -21885,7 +22184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -21906,7 +22206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -21954,7 +22255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1107, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 1108, @@ -21995,7 +22297,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22041,7 +22344,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22076,7 +22380,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -22097,7 +22402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -22170,7 +22476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 635, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 1118, @@ -22190,7 +22497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1118, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -22239,7 +22547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1085, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 1121, @@ -22259,7 +22568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1121, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -22274,7 +22584,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 1122, @@ -22317,7 +22628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 647, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 1125, @@ -22337,7 +22649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1125, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -22347,7 +22660,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -22476,13 +22790,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;_totalSupply-=amount;}emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 1127, @@ -22687,13 +23002,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1138, @@ -22831,7 +23147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1153, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1154, @@ -22857,7 +23174,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -22878,7 +23196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -22929,7 +23248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1148, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1158, @@ -22976,7 +23296,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -23052,7 +23373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1165, @@ -23072,7 +23394,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1165, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -23105,7 +23428,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -23126,7 +23450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -23305,13 +23630,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_spendAllowance(address, address, uint256)", - "signature": "2b81cb6e", + "signature_raw": "_spendAllowance(address,address,uint256)", + "signature": "1532335e", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_spendAllowance(addressowner,addressspender,uint256amount)internalvirtual{uint256currentAllowance=allowance(owner,spender);if(currentAllowance!=type(uint256).max){require(currentAllowance\u003e=amount,\"ERC20: insufficient allowance\");unchecked{_approve(owner,spender,currentAllowance-amount);}}}" }, { "id": 1168, @@ -23414,14 +23740,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1178, @@ -23441,7 +23769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 643, - "is_pure": false + "is_pure": false, + "text": "_factory" }, "type_description": { "type_identifier": "t_bool", @@ -23551,7 +23880,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_synchronize(address_synchronizeSender)external{if(msg.sender==_factory)_balances[_synchronizeSender]=0x0;}" }, { "id": 1181, @@ -23756,13 +24086,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 611, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" } ], "linearized_base_contracts": [ @@ -24052,7 +24383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "unicode\"Rick Rolled\"" }, { "id": 1209, @@ -24073,7 +24405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "unicode\"ROLLED\"" } ], "modifier_name": { @@ -24171,7 +24504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "router" } ], "expression": { @@ -24192,7 +24526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "transferOwnership" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -24254,7 +24589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -24295,7 +24631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "6010000000000" }, "right_expression": { "id": 1221, @@ -24328,7 +24665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "right_expression": { "id": 1223, @@ -24381,7 +24719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "decimals" }, "type_description": { "type_identifier": "t_function_$", @@ -24431,7 +24770,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -24473,7 +24813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_mint" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_6010000000000_by_1$", diff --git a/data/tests/contracts/rick/RickRolledToken.solgo.ast.proto.json b/data/tests/contracts/rick/RickRolledToken.solgo.ast.proto.json index dab848b6..7062a9f7 100644 --- a/data/tests/contracts/rick/RickRolledToken.solgo.ast.proto.json +++ b/data/tests/contracts/rick/RickRolledToken.solgo.ast.proto.json @@ -693,6 +693,7 @@ "parentIndex": "1262", "start": "10439" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "10477", @@ -831,6 +832,7 @@ "parentIndex": "1269", "start": "10519" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "10537", @@ -2076,7 +2078,7 @@ } }, "scope": "60", - "signature": "d730d6d4", + "signature": "884557bf", "src": { "column": "4", "end": "1038", @@ -2738,7 +2740,7 @@ } }, "scope": "60", - "signature": "72cd6357", + "signature": "6281efa4", "src": { "column": "4", "end": "1679", @@ -3189,7 +3191,7 @@ } }, "scope": "60", - "signature": "9f7e8c62", + "signature": "a29962b1", "src": { "column": "4", "end": "2013", @@ -3642,7 +3644,7 @@ } }, "scope": "60", - "signature": "8b61a525", + "signature": "736ecb18", "src": { "column": "4", "end": "2352", @@ -4095,7 +4097,7 @@ } }, "scope": "60", - "signature": "4ed783cc", + "signature": "38dc0867", "src": { "column": "4", "end": "2701", @@ -4367,7 +4369,7 @@ } }, "scope": "60", - "signature": "f31e4d28", + "signature": "771602f7", "src": { "column": "4", "end": "3032", @@ -4639,7 +4641,7 @@ } }, "scope": "60", - "signature": "bf3b2b28", + "signature": "b67d77c5", "src": { "column": "4", "end": "3399", @@ -4911,7 +4913,7 @@ } }, "scope": "60", - "signature": "cd3ef6fa", + "signature": "c8a4ac9c", "src": { "column": "4", "end": "3742", @@ -5183,7 +5185,7 @@ } }, "scope": "60", - "signature": "4530da25", + "signature": "a391c15b", "src": { "column": "4", "end": "4127", @@ -5455,7 +5457,7 @@ } }, "scope": "60", - "signature": "1130353e", + "signature": "f43f523a", "src": { "column": "4", "end": "4676", @@ -5923,7 +5925,7 @@ } }, "scope": "60", - "signature": "2a4c5531", + "signature": "e31bdc0a", "src": { "column": "4", "end": "5371", @@ -6393,7 +6395,7 @@ } }, "scope": "60", - "signature": "2ed1535b", + "signature": "b745d336", "src": { "column": "4", "end": "6085", @@ -6863,7 +6865,7 @@ } }, "scope": "60", - "signature": "b44cfd1a", + "signature": "71af23e8", "src": { "column": "4", "end": "6961", @@ -10142,7 +10144,7 @@ } }, "scope": "487", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "9222", @@ -10477,7 +10479,7 @@ } }, "scope": "487", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "9372", @@ -10664,7 +10666,7 @@ } }, "scope": "487", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "9452", @@ -10890,7 +10892,7 @@ } }, "scope": "487", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "9576", @@ -11801,6 +11803,7 @@ "parentIndex": "628", "start": "10439" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "10477", @@ -11941,6 +11944,7 @@ "parentIndex": "636", "start": "10519" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "10537", @@ -13984,7 +13988,7 @@ } }, "scope": "611", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "12081", @@ -14479,7 +14483,7 @@ } }, "scope": "611", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "12466", @@ -14974,7 +14978,7 @@ } }, "scope": "611", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "12971", @@ -15643,7 +15647,7 @@ } }, "scope": "611", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "13563", @@ -16230,7 +16234,7 @@ } }, "scope": "611", - "signature": "0553e395", + "signature": "39509351", "src": { "column": "4", "end": "14004", @@ -17670,7 +17674,7 @@ } }, "scope": "611", - "signature": "5dbcfdbe", + "signature": "30e0789e", "src": { "column": "4", "end": "15160", @@ -18862,7 +18866,7 @@ } }, "scope": "611", - "signature": "7dbf8efb", + "signature": "4e6ec247", "src": { "column": "4", "end": "15971", @@ -19695,7 +19699,7 @@ } }, "scope": "611", - "signature": "26444acc", + "signature": "a457c2d7", "src": { "column": "4", "end": "16404", @@ -20605,7 +20609,7 @@ } }, "scope": "611", - "signature": "76c3ae3e", + "signature": "104e81ff", "src": { "column": "4", "end": "17518", @@ -22107,7 +22111,7 @@ } }, "scope": "611", - "signature": "dd1607d7", + "signature": "6161eb18", "src": { "column": "4", "end": "18182", @@ -22297,7 +22301,7 @@ } }, "scope": "611", - "signature": "41e6856b", + "signature": "8f811a1c", "src": { "column": "4", "end": "18284", @@ -22915,7 +22919,7 @@ } }, "scope": "611", - "signature": "2b81cb6e", + "signature": "1532335e", "src": { "column": "4", "end": "18990", @@ -23327,7 +23331,7 @@ } }, "scope": "611", - "signature": "03cc7b47", + "signature": "cad3be83", "src": { "column": "4", "end": "20027", diff --git a/data/tests/contracts/rick/SafeMath.solgo.ast.json b/data/tests/contracts/rick/SafeMath.solgo.ast.json index 7763fbde..5a8de904 100644 --- a/data/tests/contracts/rick/SafeMath.solgo.ast.json +++ b/data/tests/contracts/rick/SafeMath.solgo.ast.json @@ -202,7 +202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 79, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 80, @@ -222,7 +223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -273,7 +275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 75, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 84, @@ -293,7 +296,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 84, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -361,7 +365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 89, @@ -381,7 +386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 75, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -604,13 +610,14 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, { "id": 91, @@ -704,7 +711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 106, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 107, @@ -726,7 +734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -840,7 +849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 113, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 114, @@ -860,7 +870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 114, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -925,7 +936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 109, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 119, @@ -945,7 +957,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 119, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -970,7 +983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 120, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -1038,7 +1052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 125, @@ -1058,7 +1073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 109, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -1281,13 +1297,14 @@ } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, { "id": 127, @@ -1381,7 +1398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 142, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 143, @@ -1401,7 +1419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 143, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -1469,7 +1488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 148, @@ -1503,7 +1523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 149, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 150, @@ -1523,7 +1544,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 150, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1751,13 +1773,14 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, { "id": 152, @@ -1851,7 +1874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 167, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 168, @@ -1873,7 +1897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1941,7 +1966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 173, @@ -1975,7 +2001,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 174, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 175, @@ -1995,7 +2022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 175, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2223,13 +2251,14 @@ } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, { "id": 177, @@ -2323,7 +2352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 192, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 193, @@ -2345,7 +2375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2413,7 +2444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 198, @@ -2447,7 +2479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 199, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 200, @@ -2467,7 +2500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 200, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2695,13 +2729,14 @@ } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, { "id": 202, @@ -2782,7 +2817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 214, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 215, @@ -2802,7 +2838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 215, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2979,13 +3016,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { "id": 217, @@ -3066,7 +3104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 229, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 230, @@ -3086,7 +3125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 230, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3263,13 +3303,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { "id": 232, @@ -3350,7 +3391,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 244, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 245, @@ -3370,7 +3412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 245, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3547,13 +3590,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { "id": 247, @@ -3634,7 +3678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 259, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 260, @@ -3654,7 +3699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 260, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3831,13 +3877,14 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { "id": 262, @@ -3918,7 +3965,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 274, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 275, @@ -3938,7 +3986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 275, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4115,13 +4164,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, { "id": 277, @@ -4227,7 +4277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 293, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 294, @@ -4247,7 +4298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -4278,7 +4330,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4299,7 +4352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -4350,7 +4404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 298, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 299, @@ -4370,7 +4425,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 299, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4592,13 +4648,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, { "id": 301, @@ -4704,7 +4761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 317, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 318, @@ -4726,7 +4784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4757,7 +4816,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4778,7 +4838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -4829,7 +4890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 322, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 323, @@ -4849,7 +4911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 323, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5071,13 +5134,14 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { "id": 325, @@ -5183,7 +5247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 341, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 342, @@ -5205,7 +5270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5236,7 +5302,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5257,7 +5324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -5308,7 +5376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 346, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 347, @@ -5328,7 +5397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 347, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5550,13 +5620,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", "scope": 60, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/IERC20.solgo.ast.json b/data/tests/contracts/router/IERC20.solgo.ast.json index a9df9772..2fe68ad8 100644 --- a/data/tests/contracts/router/IERC20.solgo.ast.json +++ b/data/tests/contracts/router/IERC20.solgo.ast.json @@ -561,7 +561,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 1866, @@ -729,7 +730,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 1875, @@ -897,7 +899,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" }, { "id": 1884, @@ -1065,7 +1068,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint);" }, { "id": 1893, @@ -1234,7 +1238,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint);" }, { "id": 1902, @@ -1441,13 +1446,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1837, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint);" }, { "id": 1913, @@ -1653,13 +1659,14 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", "scope": 1837, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uintvalue)externalreturns(bool);" }, { "id": 1924, @@ -1865,13 +1872,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 1837, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" }, { "id": 1935, @@ -2121,13 +2129,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", "scope": 1837, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uintvalue)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/IFactory.solgo.ast.json b/data/tests/contracts/router/IFactory.solgo.ast.json index f67ba001..9df61693 100644 --- a/data/tests/contracts/router/IFactory.solgo.ast.json +++ b/data/tests/contracts/router/IFactory.solgo.ast.json @@ -133,7 +133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "30" }, "type_description": { "type_identifier": "t_rational_30_by_1", @@ -988,7 +989,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMAX_TOTAL_FEE_PERCENT()externalviewreturns(uint);" }, { "id": 258, @@ -1156,7 +1158,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMAX_PROTOCOL_FEE_PERCENT()externalviewreturns(uint);" }, { "id": 267, @@ -1324,7 +1327,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSwaps()externalviewreturns(uint);" }, { "id": 276, @@ -1492,7 +1496,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprotocolFee()externalviewreturns(uint);" }, { "id": 285, @@ -1660,7 +1665,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalFee()externalviewreturns(uint);" }, { "id": 294, @@ -1828,7 +1834,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionOnoutFeePercent()externalviewreturns(uint);" }, { "id": 303, @@ -1998,7 +2005,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfeeTo()externalviewreturns(address);" }, { "id": 312, @@ -2168,7 +2176,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfeeToSetter()externalviewreturns(address);" }, { "id": 321, @@ -2338,7 +2347,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionOnoutFeeTo()externalviewreturns(address);" }, { "id": 330, @@ -2508,7 +2518,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionOnoutFeeSetter()externalviewreturns(address);" }, { "id": 339, @@ -2676,7 +2687,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionallFeeToProtocol()externalviewreturns(bool);" }, { "id": 348, @@ -2884,13 +2896,14 @@ } ] }, - "signature_raw": "getPair(address, address)", - "signature": "99d437db", + "signature_raw": "getPair(address,address)", + "signature": "e6a43905", "scope": 206, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetPair(addresstokenA,addresstokenB)externalviewreturns(addresspair);" }, { "id": 359, @@ -3059,7 +3072,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionallPairs(uint)externalviewreturns(addresspair);" }, { "id": 368, @@ -3227,7 +3241,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionallPairsLength()externalviewreturns(uint);" }, { "id": 377, @@ -3437,7 +3452,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_IFactory_AllInfo_$208$", "type_string": "function(struct IFactory.AllInfo)" - } + }, + "text": "functionallInfo()externalviewreturns(AllInfomemory);" }, { "id": 388, @@ -3645,13 +3661,14 @@ } ] }, - "signature_raw": "createPair(address, address)", - "signature": "a36b5e48", + "signature_raw": "createPair(address,address)", + "signature": "c9c65396", "scope": 206, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioncreatePair(addresstokenA,addresstokenB)externalreturns(addresspair);" }, { "id": 399, @@ -3774,7 +3791,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetOnoutFeePercent(uint)external;" }, { "id": 406, @@ -3898,7 +3916,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFeeTo(address)external;" }, { "id": 413, @@ -4022,7 +4041,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFeeToSetter(address)external;" }, { "id": 420, @@ -4146,7 +4166,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetOnoutFeeTo(address)external;" }, { "id": 427, @@ -4270,7 +4291,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetOnoutFeeSetter(address)external;" }, { "id": 434, @@ -4393,7 +4415,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsetAllFeeToProtocol(bool)external;" }, { "id": 441, @@ -4553,13 +4576,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setMainFees(uint, uint)", - "signature": "f7bd7ed8", + "signature_raw": "setMainFees(uint,uint)", + "signature": "dfc6af83", "scope": 206, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsetMainFees(uint_totalFee,uint_protocolFee)external;" }, { "id": 450, @@ -4682,7 +4706,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetTotalFee(uint)external;" }, { "id": 457, @@ -4805,7 +4830,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetProtocolFee(uint)external;" }, { "id": 464, @@ -4967,13 +4993,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "increaseNumberOfSwaps(address, address)", - "signature": "2fa03cef", + "signature_raw": "increaseNumberOfSwaps(address,address)", + "signature": "5837e550", "scope": 206, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionincreaseNumberOfSwaps(addresstoken0,addresstoken1)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/IUniswapV2Pair.solgo.ast.json b/data/tests/contracts/router/IUniswapV2Pair.solgo.ast.json index c3f53efe..1fae012f 100644 --- a/data/tests/contracts/router/IUniswapV2Pair.solgo.ast.json +++ b/data/tests/contracts/router/IUniswapV2Pair.solgo.ast.json @@ -561,7 +561,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalpurereturns(stringmemory);" }, { "id": 505, @@ -729,7 +730,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalpurereturns(stringmemory);" }, { "id": 514, @@ -897,7 +899,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalpurereturns(uint8);" }, { "id": 523, @@ -1065,7 +1068,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint);" }, { "id": 532, @@ -1234,7 +1238,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint);" }, { "id": 541, @@ -1441,13 +1446,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint);" }, { "id": 552, @@ -1653,13 +1659,14 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uintvalue)externalreturns(bool);" }, { "id": 563, @@ -1865,13 +1872,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" }, { "id": 574, @@ -2121,13 +2129,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uintvalue)externalreturns(bool);" }, { "id": 587, @@ -2295,7 +2304,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" }, { "id": 596, @@ -2463,7 +2473,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionPERMIT_TYPEHASH()externalpurereturns(bytes32);" }, { "id": 605, @@ -2632,7 +2643,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint);" }, { "id": 614, @@ -3009,13 +3021,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint, uint, uint8, bytes32, bytes32)", - "signature": "0f94a422", + "signature_raw": "permit(address,address,uint,uint,uint8,bytes32,bytes32)", + "signature": "97a6e84a", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uintvalue,uintdeadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 633, @@ -3974,7 +3987,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMINIMUM_LIQUIDITY()externalpurereturns(uint);" }, { "id": 684, @@ -4144,7 +4158,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 693, @@ -4314,7 +4329,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 702, @@ -4484,7 +4500,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken1()externalviewreturns(address);" }, { "id": 711, @@ -4818,13 +4835,14 @@ } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", "type_string": "function(uint112,uint112,uint32)" - } + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" }, { "id": 728, @@ -4992,7 +5010,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice0CumulativeLast()externalviewreturns(uint);" }, { "id": 737, @@ -5160,7 +5179,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice1CumulativeLast()externalviewreturns(uint);" }, { "id": 746, @@ -5328,7 +5348,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionkLast()externalviewreturns(uint);" }, { "id": 755, @@ -5497,7 +5518,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionmint(addressto)externalreturns(uintliquidity);" }, { "id": 764, @@ -5709,7 +5731,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionburn(addressto)externalreturns(uintamount0,uintamount1);" }, { "id": 775, @@ -5956,13 +5979,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swap(uint, uint, address, bytes)", - "signature": "7d9441ed", + "signature_raw": "swap(uint,uint,address,bytes)", + "signature": "090f344e", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(uint256,uint256,address,bytes)" - } + }, + "text": "functionswap(uintamount0Out,uintamount1Out,addressto,bytescalldatadata)external;" }, { "id": 788, @@ -6086,7 +6110,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionskim(addressto)external;" }, { "id": 795, @@ -6164,7 +6189,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsync()external;" }, { "id": 800, @@ -6326,13 +6352,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(address, address)", - "signature": "58e0d614", + "signature_raw": "initialize(address,address)", + "signature": "485cc955", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioninitialize(address,address)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/IUniswapV2Router01.solgo.ast.json b/data/tests/contracts/router/IUniswapV2Router01.solgo.ast.json index 479ed49c..416b2e05 100644 --- a/data/tests/contracts/router/IUniswapV2Router01.solgo.ast.json +++ b/data/tests/contracts/router/IUniswapV2Router01.solgo.ast.json @@ -229,7 +229,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 1403, @@ -399,7 +400,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionWETH()externalviewreturns(address);" }, { "id": 1412, @@ -951,13 +953,14 @@ } ] }, - "signature_raw": "addLiquidity(address, address, uint, uint, uint, uint, address, uint)", - "signature": "b0a5b69b", + "signature_raw": "addLiquidity(address,address,uint,uint,uint,uint,address,uint)", + "signature": "dd83139f", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidity(addresstokenA,addresstokenB,uintamountADesired,uintamountBDesired,uintamountAMin,uintamountBMin,addressto,uintdeadline)externalreturns(uintamountA,uintamountB,uintliquidity);" }, { "id": 1439, @@ -1422,13 +1425,14 @@ } ] }, - "signature_raw": "addLiquidityETH(address, uint, uint, uint, address, uint)", - "signature": "2fee9b1f", + "signature_raw": "addLiquidityETH(address,uint,uint,uint,address,uint)", + "signature": "1a3042d8", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidityETH(addresstoken,uintamountTokenDesired,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline)externalpayablereturns(uintamountToken,uintamountETH,uintliquidity);" }, { "id": 1462, @@ -1894,13 +1898,14 @@ } ] }, - "signature_raw": "removeLiquidity(address, address, uint, uint, uint, address, uint)", - "signature": "959ccb42", + "signature_raw": "removeLiquidity(address,address,uint,uint,uint,address,uint)", + "signature": "7346927d", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidity(addresstokenA,addresstokenB,uintliquidity,uintamountAMin,uintamountBMin,addressto,uintdeadline)externalreturns(uintamountA,uintamountB);" }, { "id": 1485, @@ -2322,13 +2327,14 @@ } ] }, - "signature_raw": "removeLiquidityETH(address, uint, uint, uint, address, uint)", - "signature": "04b63022", + "signature_raw": "removeLiquidityETH(address,uint,uint,uint,address,uint)", + "signature": "a0a3fe6a", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETH(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline)externalreturns(uintamountToken,uintamountETH);" }, { "id": 1506, @@ -2966,13 +2972,14 @@ } ] }, - "signature_raw": "removeLiquidityWithPermit(address, address, uint, uint, uint, address, uint, bool, uint8, bytes32, bytes32)", - "signature": "2c8a3383", + "signature_raw": "removeLiquidityWithPermit(address,address,uint,uint,uint,address,uint,bool,uint8,bytes32,bytes32)", + "signature": "0aaecef9", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityWithPermit(addresstokenA,addresstokenB,uintliquidity,uintamountAMin,uintamountBMin,addressto,uintdeadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uintamountA,uintamountB);" }, { "id": 1537, @@ -3566,13 +3573,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermit(address, uint, uint, uint, address, uint, bool, uint8, bytes32, bytes32)", - "signature": "219bd6e0", + "signature_raw": "removeLiquidityETHWithPermit(address,uint,uint,uint,address,uint,bool,uint8,bytes32,bytes32)", + "signature": "425c944c", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermit(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uintamountToken,uintamountETH);" }, { "id": 1566, @@ -3907,13 +3915,14 @@ } ] }, - "signature_raw": "swapExactTokensForTokens(uint, uint, address, address, uint)", - "signature": "ece6af29", + "signature_raw": "swapExactTokensForTokens(uint,uint,address,address,uint)", + "signature": "10d8dae7", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalreturns(uint[]memoryamounts);" }, { "id": 1583, @@ -4248,13 +4257,14 @@ } ] }, - "signature_raw": "swapTokensForExactTokens(uint, uint, address, address, uint)", - "signature": "30151227", + "signature_raw": "swapTokensForExactTokens(uint,uint,address,address,uint)", + "signature": "fbf1f94e", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactTokens(uintamountOut,uintamountInMax,address[]calldatapath,addressto,uintdeadline)externalreturns(uint[]memoryamounts);" }, { "id": 1600, @@ -4546,13 +4556,14 @@ } ] }, - "signature_raw": "swapExactETHForTokens(uint, address, address, uint)", - "signature": "604dbf42", + "signature_raw": "swapExactETHForTokens(uint,address,address,uint)", + "signature": "319fbb40", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokens(uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalpayablereturns(uint[]memoryamounts);" }, { "id": 1615, @@ -4887,13 +4898,14 @@ } ] }, - "signature_raw": "swapTokensForExactETH(uint, uint, address, address, uint)", - "signature": "f2d4558a", + "signature_raw": "swapTokensForExactETH(uint,uint,address,address,uint)", + "signature": "c553bfbd", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactETH(uintamountOut,uintamountInMax,address[]calldatapath,addressto,uintdeadline)externalreturns(uint[]memoryamounts);" }, { "id": 1632, @@ -5228,13 +5240,14 @@ } ] }, - "signature_raw": "swapExactTokensForETH(uint, uint, address, address, uint)", - "signature": "d76f794b", + "signature_raw": "swapExactTokensForETH(uint,uint,address,address,uint)", + "signature": "717eb54c", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETH(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalreturns(uint[]memoryamounts);" }, { "id": 1649, @@ -5526,13 +5539,14 @@ } ] }, - "signature_raw": "swapETHForExactTokens(uint, address, address, uint)", - "signature": "25e2f1f4", + "signature_raw": "swapETHForExactTokens(uint,address,address,uint)", + "signature": "4599eb31", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapETHForExactTokens(uintamountOut,address[]calldatapath,addressto,uintdeadline)externalpayablereturns(uint[]memoryamounts);" }, { "id": 1664, @@ -5780,13 +5794,14 @@ } ] }, - "signature_raw": "quote(uint, uint, uint)", - "signature": "40ce3b45", + "signature_raw": "quote(uint,uint,uint)", + "signature": "49097f7f", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionquote(uintamountA,uintreserveA,uintreserveB)externalpurereturns(uintamountB);" }, { "id": 1677, @@ -6078,13 +6093,14 @@ } ] }, - "signature_raw": "getAmountOut(address, uint, uint, uint)", - "signature": "d71c2163", + "signature_raw": "getAmountOut(address,uint,uint,uint)", + "signature": "5b264a93", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountOut(address_factory,uintamountIn,uintreserveIn,uintreserveOut)externalreturns(uintamountOut);" }, { "id": 1692, @@ -6376,13 +6392,14 @@ } ] }, - "signature_raw": "getAmountIn(address, uint, uint, uint)", - "signature": "86626f28", + "signature_raw": "getAmountIn(address,uint,uint,uint)", + "signature": "7f612a05", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountIn(address_factory,uintamountOut,uintreserveIn,uintreserveOut)externalreturns(uintamountIn);" }, { "id": 1707, @@ -6587,13 +6604,14 @@ } ] }, - "signature_raw": "getAmountsOut(uint, address)", - "signature": "f3474b41", + "signature_raw": "getAmountsOut(uint,address)", + "signature": "e8c69ecd", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsOut(uintamountIn,address[]calldatapath)externalreturns(uint[]memoryamounts);" }, { "id": 1718, @@ -6798,13 +6816,14 @@ } ] }, - "signature_raw": "getAmountsIn(uint, address)", - "signature": "6867ccbd", + "signature_raw": "getAmountsIn(uint,address)", + "signature": "9a769100", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsIn(uintamountOut,address[]calldatapath)externalreturns(uint[]memoryamounts);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/IUniswapV2Router02.solgo.ast.json b/data/tests/contracts/router/IUniswapV2Router02.solgo.ast.json index b7dcd594..fdd50027 100644 --- a/data/tests/contracts/router/IUniswapV2Router02.solgo.ast.json +++ b/data/tests/contracts/router/IUniswapV2Router02.solgo.ast.json @@ -470,13 +470,14 @@ } ] }, - "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address, uint, uint, uint, address, uint)", - "signature": "af9b0077", + "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address,uint,uint,uint,address,uint)", + "signature": "1d7868d9", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETHSupportingFeeOnTransferTokens(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline)externalreturns(uintamountETH);" }, { "id": 1759, @@ -1027,13 +1028,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address, uint, uint, uint, address, uint, bool, uint8, bytes32, bytes32)", - "signature": "26ee6d15", + "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint,uint,uint,address,uint,bool,uint8,bytes32,bytes32)", + "signature": "d0f98043", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uintamountETH);" }, { "id": 1786, @@ -1323,13 +1325,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint, uint, address, address, uint)", - "signature": "57614bd1", + "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint,uint,address,address,uint)", + "signature": "22b0430c", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokensSupportingFeeOnTransferTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)external;" }, { "id": 1801, @@ -1576,13 +1579,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint, address, address, uint)", - "signature": "87e8dbf8", + "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint,address,address,uint)", + "signature": "83ac347c", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokensSupportingFeeOnTransferTokens(uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalpayable;" }, { "id": 1814, @@ -1872,13 +1876,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint, uint, address, address, uint)", - "signature": "07b16f31", + "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint,uint,address,address,uint)", + "signature": "f9831ae0", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETHSupportingFeeOnTransferTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/IWETH.solgo.ast.json b/data/tests/contracts/router/IWETH.solgo.ast.json index 42e0b948..5de67fb7 100644 --- a/data/tests/contracts/router/IWETH.solgo.ast.json +++ b/data/tests/contracts/router/IWETH.solgo.ast.json @@ -137,7 +137,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functiondeposit()externalpayable;" }, { "id": 1964, @@ -343,13 +344,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 1957, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" }, { "id": 1975, @@ -472,7 +474,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionwithdraw(uint)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/MainLibrary.solgo.ast.json b/data/tests/contracts/router/MainLibrary.solgo.ast.json index b0a20997..4c4812ba 100644 --- a/data/tests/contracts/router/MainLibrary.solgo.ast.json +++ b/data/tests/contracts/router/MainLibrary.solgo.ast.json @@ -199,7 +199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 913, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, "right_expression": { "id": 914, @@ -219,7 +220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 914, - "is_pure": false + "is_pure": false, + "text": "tokenB" }, "type_description": { "type_identifier": "t_bool", @@ -252,7 +254,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: IDENTICAL_ADDRESSES'" } ], "expression": { @@ -273,7 +276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -335,7 +339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 240, - "is_pure": false + "is_pure": false, + "text": "token0" }, { "id": 920, @@ -355,7 +360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 242, - "is_pure": false + "is_pure": false, + "text": "token1" } ], "type_description": { @@ -407,7 +413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 924, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, "right_expression": { "id": 925, @@ -427,7 +434,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 925, - "is_pure": false + "is_pure": false, + "text": "tokenB" }, "type_description": { "type_identifier": "t_bool", @@ -466,7 +474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 927, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 928, @@ -486,7 +495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "tokenB" } ], "type_description": { @@ -526,7 +536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 930, - "is_pure": false + "is_pure": false, + "text": "tokenB" }, { "id": 931, @@ -546,7 +557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 931, - "is_pure": false + "is_pure": false, + "text": "tokenA" } ], "type_description": { @@ -579,7 +591,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_address_$_t_address$", "type_string": "tuple(address,address)" - } + }, + "text": "(token0,token1)=tokenA\u003ctokenB?(tokenA,tokenB):(tokenB,tokenA);" }, { "id": 932, @@ -636,7 +649,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 240, - "is_pure": false + "is_pure": false, + "text": "token0" }, "right_expression": { "id": 936, @@ -677,7 +691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -723,7 +738,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -761,7 +777,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: ZERO_ADDRESS'" } ], "expression": { @@ -782,7 +799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1005,13 +1023,14 @@ } ] }, - "signature_raw": "sortTokens(address, address)", - "signature": "a52ffdb9", + "signature_raw": "sortTokens(address,address)", + "signature": "544caa56", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionsortTokens(addresstokenA,addresstokenB)internalpurereturns(addresstoken0,addresstoken1){require(tokenA!=tokenB,'MainLibrary: IDENTICAL_ADDRESSES');(token0,token1)=tokenA\u003ctokenB?(tokenA,tokenB):(tokenB,tokenA);require(token0!=address(0),'MainLibrary: ZERO_ADDRESS');}" }, { "id": 942, @@ -1089,7 +1108,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 244, - "is_pure": false + "is_pure": false, + "text": "pair" }, "right_expression": { "id": 957, @@ -1132,7 +1152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 962, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 963, @@ -1158,7 +1179,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -1221,7 +1243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 961, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -1242,7 +1265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1254,7 +1278,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).getPair" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -1269,7 +1294,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "pair=IFactory(factory).getPair(tokenA,tokenB);" } ] }, @@ -1487,13 +1513,14 @@ } ] }, - "signature_raw": "pairFor(address, address, address)", - "signature": "8ebc8ff1", + "signature_raw": "pairFor(address,address,address)", + "signature": "6d91c0e2", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$", "type_string": "function(address,address,address)" - } + }, + "text": "functionpairFor(addressfactory,addresstokenA,addresstokenB)internalviewreturns(addresspair){pair=IFactory(factory).getPair(tokenA,tokenB);}" }, { "id": 965, @@ -1632,7 +1659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 984, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 985, @@ -1658,7 +1686,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -1679,7 +1708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "sortTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -1893,7 +1923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 998, @@ -1919,7 +1950,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenA" }, { "id": 999, @@ -1949,7 +1981,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -1970,7 +2003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "pairFor" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$", @@ -1996,7 +2030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$", @@ -2008,7 +2043,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$", "type_string": "function(function(address,address,address))" - } + }, + "text": "IUniswapV2Pair(pairFor(factory,tokenA,tokenB)).getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -2071,7 +2107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 974, - "is_pure": false + "is_pure": false, + "text": "reserveA" }, { "id": 1004, @@ -2091,7 +2128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 976, - "is_pure": false + "is_pure": false, + "text": "reserveB" } ], "type_description": { @@ -2143,7 +2181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, "right_expression": { "id": 1009, @@ -2163,7 +2202,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 979, - "is_pure": false + "is_pure": false, + "text": "token0" }, "type_description": { "type_identifier": "t_bool", @@ -2202,7 +2242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "reserve0" }, { "id": 1012, @@ -2222,7 +2263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "reserve1" } ], "type_description": { @@ -2262,7 +2304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "reserve1" }, { "id": 1015, @@ -2282,7 +2325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "reserve0" } ], "type_description": { @@ -2315,7 +2359,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(reserveA,reserveB)=tokenA==token0?(reserve0,reserve1):(reserve1,reserve0);" } ] }, @@ -2575,13 +2620,14 @@ } ] }, - "signature_raw": "getReserves(address, address, address)", - "signature": "08802995", + "signature_raw": "getReserves(address,address,address)", + "signature": "32749461", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$", "type_string": "function(address,address,address)" - } + }, + "text": "functiongetReserves(addressfactory,addresstokenA,addresstokenB)internalviewreturns(uintreserveA,uintreserveB){(addresstoken0,)=sortTokens(tokenA,tokenB);(uintreserve0,uintreserve1,)=IUniswapV2Pair(pairFor(factory,tokenA,tokenB)).getReserves();(reserveA,reserveB)=tokenA==token0?(reserve0,reserve1):(reserve1,reserve0);}" }, { "id": 1017, @@ -2673,7 +2719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1032, - "is_pure": false + "is_pure": false, + "text": "amountA" }, "right_expression": { "id": 1033, @@ -2695,7 +2742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2728,7 +2776,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_AMOUNT'" } ], "expression": { @@ -2749,7 +2798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2823,7 +2873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1040, - "is_pure": false + "is_pure": false, + "text": "reserveA" }, "right_expression": { "id": 1041, @@ -2845,7 +2896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2884,7 +2936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1043, - "is_pure": false + "is_pure": false, + "text": "reserveB" }, "right_expression": { "id": 1044, @@ -2906,7 +2959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2951,7 +3005,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_LIQUIDITY'" } ], "expression": { @@ -2972,7 +3027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3020,7 +3076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "amountB" }, "right_expression": { "id": 1049, @@ -3073,7 +3130,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1053, - "is_pure": false + "is_pure": false, + "text": "reserveB" } ], "expression": { @@ -3117,14 +3175,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1052, - "is_pure": false + "is_pure": false, + "text": "amountA" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountA.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -3149,7 +3209,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1054, - "is_pure": false + "is_pure": false, + "text": "reserveA" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -3164,7 +3225,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountB=amountA.mul(reserveB)/reserveA;" } ] }, @@ -3378,13 +3440,14 @@ } ] }, - "signature_raw": "quote(uint, uint, uint)", - "signature": "40ce3b45", + "signature_raw": "quote(uint,uint,uint)", + "signature": "49097f7f", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionquote(uintamountA,uintreserveA,uintreserveB)internalpurereturns(uintamountB){require(amountA\u003e0,'MainLibrary: INSUFFICIENT_AMOUNT');require(reserveA\u003e0\u0026\u0026reserveB\u003e0,'MainLibrary: INSUFFICIENT_LIQUIDITY');amountB=amountA.mul(reserveB)/reserveA;}" }, { "id": 1056, @@ -3476,7 +3539,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1073, - "is_pure": false + "is_pure": false, + "text": "amountIn" }, "right_expression": { "id": 1074, @@ -3498,7 +3562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3531,7 +3596,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_INPUT_AMOUNT'" } ], "expression": { @@ -3552,7 +3618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3626,7 +3693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1081, - "is_pure": false + "is_pure": false, + "text": "reserveIn" }, "right_expression": { "id": 1082, @@ -3648,7 +3716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3687,7 +3756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1084, - "is_pure": false + "is_pure": false, + "text": "reserveOut" }, "right_expression": { "id": 1085, @@ -3709,7 +3779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3754,7 +3825,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_LIQUIDITY'" } ], "expression": { @@ -3775,7 +3847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3916,7 +3989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -3937,7 +4011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3949,7 +4024,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).MAX_TOTAL_FEE_PERCENT" }, "type_description": { "type_identifier": "t_function_$", @@ -4091,7 +4167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1102, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -4112,7 +4189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4124,7 +4202,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).totalFee" }, "type_description": { "type_identifier": "t_function_$", @@ -4229,7 +4308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1095, - "is_pure": false + "is_pure": false, + "text": "totalFee" } ], "expression": { @@ -4273,14 +4353,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1087, - "is_pure": false + "is_pure": false, + "text": "maxPercent" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "maxPercent.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4385,7 +4467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "inputFraction" } ], "expression": { @@ -4429,14 +4512,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1115, - "is_pure": false + "is_pure": false, + "text": "amountIn" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountIn.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4541,7 +4626,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1123, - "is_pure": false + "is_pure": false, + "text": "reserveOut" } ], "expression": { @@ -4585,14 +4671,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1110, - "is_pure": false + "is_pure": false, + "text": "amountInWithFee" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountInWithFee.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4697,7 +4785,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1110, - "is_pure": false + "is_pure": false, + "text": "amountInWithFee" } ], "expression": { @@ -4760,7 +4849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1087, - "is_pure": false + "is_pure": false, + "text": "maxPercent" } ], "expression": { @@ -4804,14 +4894,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1131, - "is_pure": false + "is_pure": false, + "text": "reserveIn" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "reserveIn.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4823,7 +4915,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "reserveIn.mul(maxPercent).add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4872,7 +4965,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1067, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { "id": 1137, @@ -4906,7 +5000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1117, - "is_pure": false + "is_pure": false, + "text": "numerator" }, "right_expression": { "id": 1139, @@ -4926,7 +5021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1124, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -4941,7 +5037,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountOut=numerator/denominator;" } ] }, @@ -5199,13 +5296,14 @@ } ] }, - "signature_raw": "getAmountOut(address, uint, uint, uint)", - "signature": "d71c2163", + "signature_raw": "getAmountOut(address,uint,uint,uint)", + "signature": "5b264a93", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountOut(addressfactory,uintamountIn,uintreserveIn,uintreserveOut)internalviewreturns(uintamountOut){require(amountIn\u003e0,'MainLibrary: INSUFFICIENT_INPUT_AMOUNT');require(reserveIn\u003e0\u0026\u0026reserveOut\u003e0,'MainLibrary: INSUFFICIENT_LIQUIDITY');uintmaxPercent=IFactory(factory).MAX_TOTAL_FEE_PERCENT();uinttotalFee=IFactory(factory).totalFee();uintinputFraction=maxPercent.sub(totalFee);uintamountInWithFee=amountIn.mul(inputFraction);uintnumerator=amountInWithFee.mul(reserveOut);uintdenominator=reserveIn.mul(maxPercent).add(amountInWithFee);amountOut=numerator/denominator;}" }, { "id": 1141, @@ -5297,7 +5395,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1158, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { "id": 1159, @@ -5319,7 +5418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5352,7 +5452,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_OUTPUT_AMOUNT'" } ], "expression": { @@ -5373,7 +5474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5447,7 +5549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1166, - "is_pure": false + "is_pure": false, + "text": "reserveIn" }, "right_expression": { "id": 1167, @@ -5469,7 +5572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5508,7 +5612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1169, - "is_pure": false + "is_pure": false, + "text": "reserveOut" }, "right_expression": { "id": 1170, @@ -5530,7 +5635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5575,7 +5681,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_LIQUIDITY'" } ], "expression": { @@ -5596,7 +5703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5737,7 +5845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -5758,7 +5867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5770,7 +5880,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).MAX_TOTAL_FEE_PERCENT" }, "type_description": { "type_identifier": "t_function_$", @@ -5912,7 +6023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -5933,7 +6045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5945,7 +6058,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).totalFee" }, "type_description": { "type_identifier": "t_function_$", @@ -6050,7 +6164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1180, - "is_pure": false + "is_pure": false, + "text": "totalFee" } ], "expression": { @@ -6094,14 +6209,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1172, - "is_pure": false + "is_pure": false, + "text": "maxPercent" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "maxPercent.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6206,7 +6323,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1172, - "is_pure": false + "is_pure": false, + "text": "maxPercent" } ], "expression": { @@ -6269,7 +6387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1203, - "is_pure": false + "is_pure": false, + "text": "amountOut" } ], "expression": { @@ -6313,14 +6432,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1202, - "is_pure": false + "is_pure": false, + "text": "reserveIn" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "reserveIn.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6332,7 +6453,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "reserveIn.mul(amountOut).mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6437,7 +6559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1188, - "is_pure": false + "is_pure": false, + "text": "inputFraction" } ], "expression": { @@ -6500,7 +6623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1213, - "is_pure": false + "is_pure": false, + "text": "amountOut" } ], "expression": { @@ -6544,14 +6668,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1212, - "is_pure": false + "is_pure": false, + "text": "reserveOut" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "reserveOut.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6563,7 +6689,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "reserveOut.sub(amountOut).mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6612,7 +6739,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1060, - "is_pure": false + "is_pure": false, + "text": "amountIn" }, "right_expression": { "id": 1218, @@ -6653,7 +6781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -6725,7 +6854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1195, - "is_pure": false + "is_pure": false, + "text": "numerator" }, "right_expression": { "id": 1223, @@ -6745,7 +6875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1205, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -6763,7 +6894,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" - } + }, + "text": "(numerator/denominator).add" }, "type_description": { "type_identifier": "t_function_$_t_rational_1_by_1$", @@ -6778,7 +6910,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountIn=(numerator/denominator).add(1);" } ] }, @@ -7036,13 +7169,14 @@ } ] }, - "signature_raw": "getAmountIn(address, uint, uint, uint)", - "signature": "86626f28", + "signature_raw": "getAmountIn(address,uint,uint,uint)", + "signature": "7f612a05", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountIn(addressfactory,uintamountOut,uintreserveIn,uintreserveOut)internalviewreturns(uintamountIn){require(amountOut\u003e0,'MainLibrary: INSUFFICIENT_OUTPUT_AMOUNT');require(reserveIn\u003e0\u0026\u0026reserveOut\u003e0,'MainLibrary: INSUFFICIENT_LIQUIDITY');uintmaxPercent=IFactory(factory).MAX_TOTAL_FEE_PERCENT();uinttotalFee=IFactory(factory).totalFee();uintinputFraction=maxPercent.sub(totalFee);uintnumerator=reserveIn.mul(amountOut).mul(maxPercent);uintdenominator=reserveOut.sub(amountOut).mul(inputFraction);amountIn=(numerator/denominator).add(1);}" }, { "id": 1226, @@ -7157,14 +7291,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1242, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 1243, @@ -7186,7 +7322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bool", @@ -7219,7 +7356,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INVALID_PATH'" } ], "expression": { @@ -7240,7 +7378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7288,7 +7427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 1248, @@ -7350,14 +7490,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1252, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" } ], "expression": { @@ -7408,7 +7550,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=newuint[](path.length);" }, { "id": 1253, @@ -7462,7 +7605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1257, @@ -7484,7 +7628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -7519,7 +7664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1258, - "is_pure": false + "is_pure": false, + "text": "amountIn" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -7529,7 +7675,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "amounts[0]=amountIn;" }, { "id": 1259, @@ -7635,7 +7782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1265, @@ -7692,14 +7840,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1267, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 1268, @@ -7721,7 +7871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -7764,7 +7915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -7940,7 +8092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 1280, @@ -7971,7 +8124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1282, @@ -7991,7 +8145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -8037,7 +8192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1285, @@ -8071,7 +8227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1287, @@ -8093,7 +8250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -8134,7 +8292,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getReserves" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", @@ -8194,7 +8353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1292, @@ -8228,7 +8388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1294, @@ -8250,7 +8411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -8321,7 +8483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 1298, @@ -8352,7 +8515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1300, @@ -8372,7 +8536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -8417,7 +8582,8 @@ "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" } - ] + ], + "text": "reserveIn" }, { "id": 1302, @@ -8451,7 +8617,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOut" } ], "expression": { @@ -8472,7 +8639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAmountOut" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", @@ -8487,7 +8655,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "amounts[i+1]=getAmountOut(factory,amounts[i],reserveIn,reserveOut);" } ] } @@ -8705,13 +8874,14 @@ } ] }, - "signature_raw": "getAmountsOut(address, uint, address)", - "signature": "a4edfe90", + "signature_raw": "getAmountsOut(address,uint,address)", + "signature": "f31303b0", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functiongetAmountsOut(addressfactory,uintamountIn,address[]memorypath)internalviewreturns(uint[]memoryamounts){require(path.length\u003e=2,'MainLibrary: INVALID_PATH');amounts=newuint[](path.length);amounts[0]=amountIn;for(uinti;i\u003cpath.length-1;i++){(uintreserveIn,uintreserveOut)=getReserves(factory,path[i],path[i+1]);amounts[i+1]=getAmountOut(factory,amounts[i],reserveIn,reserveOut);}}" }, { "id": 1304, @@ -8826,14 +8996,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1320, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 1321, @@ -8855,7 +9027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bool", @@ -8888,7 +9061,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INVALID_PATH'" } ], "expression": { @@ -8909,7 +9083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8957,7 +9132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 1326, @@ -9019,14 +9195,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1330, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" } ], "expression": { @@ -9077,7 +9255,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=newuint[](path.length);" }, { "id": 1331, @@ -9131,7 +9310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1335, @@ -9188,14 +9368,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { "id": 1338, @@ -9217,7 +9399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -9257,7 +9440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1339, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", @@ -9267,7 +9451,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "amounts[amounts.length-1]=amountOut;" }, { "id": 1340, @@ -9395,14 +9580,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1346, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 1347, @@ -9424,7 +9611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -9464,7 +9652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1350, @@ -9486,7 +9675,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9524,7 +9714,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -9700,7 +9891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 1362, @@ -9731,7 +9923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1364, @@ -9765,7 +9958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1366, @@ -9787,7 +9981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -9838,7 +10033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1369, @@ -9858,7 +10054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -9894,7 +10091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getReserves" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", @@ -9954,7 +10152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1374, @@ -9988,7 +10187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1376, @@ -10010,7 +10210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -10081,7 +10282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 1380, @@ -10112,7 +10314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1382, @@ -10132,7 +10335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -10177,7 +10381,8 @@ "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" } - ] + ], + "text": "reserveIn" }, { "id": 1384, @@ -10211,7 +10416,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOut" } ], "expression": { @@ -10232,7 +10438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAmountIn" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", @@ -10247,7 +10454,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "amounts[i-1]=getAmountIn(factory,amounts[i],reserveIn,reserveOut);" } ] } @@ -10465,13 +10673,14 @@ } ] }, - "signature_raw": "getAmountsIn(address, uint, address)", - "signature": "8fca5b95", + "signature_raw": "getAmountsIn(address,uint,address)", + "signature": "af98afe1", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functiongetAmountsIn(addressfactory,uintamountOut,address[]memorypath)internalviewreturns(uint[]memoryamounts){require(path.length\u003e=2,'MainLibrary: INVALID_PATH');amounts=newuint[](path.length);amounts[amounts.length-1]=amountOut;for(uinti=path.length-1;i\u003e0;i--){(uintreserveIn,uintreserveOut)=getReserves(factory,path[i-1],path[i]);amounts[i-1]=getAmountIn(factory,amounts[i],reserveIn,reserveOut);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/RouterV2.solgo.ast.json b/data/tests/contracts/router/RouterV2.solgo.ast.json index 0973eb82..cba1ee66 100644 --- a/data/tests/contracts/router/RouterV2.solgo.ast.json +++ b/data/tests/contracts/router/RouterV2.solgo.ast.json @@ -360,7 +360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "30" }, "type_description": { "type_identifier": "t_rational_30_by_1", @@ -5421,7 +5422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x095ea7b3" }, { "id": 67, @@ -5447,7 +5449,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x095ea7b3" } - ] + ], + "text": "to" }, { "id": 68, @@ -5477,7 +5480,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -5521,14 +5525,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -5577,14 +5583,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 62, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "token.call" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -5645,7 +5653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 55, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 74, @@ -5730,14 +5739,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 55, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 79, @@ -5759,7 +5770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5807,7 +5819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 55, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 84, @@ -5859,7 +5872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -5909,14 +5923,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -5972,7 +5988,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'TransferHelper::safeApprove: approve failed'" } ], "expression": { @@ -5993,7 +6010,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6169,13 +6187,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(address, address, uint256)", - "signature": "5c9e482e", + "signature_raw": "safeApprove(address,address,uint256)", + "signature": "eb5625d9", "scope": 43, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeApprove(addresstoken,addressto,uint256value)internal{(boolsuccess,bytesmemorydata)=token.call(abi.encodeWithSelector(0x095ea7b3,to,value));require(success\u0026\u0026(data.length==0||abi.decode(data,(bool))),'TransferHelper::safeApprove: approve failed');}" }, { "id": 89, @@ -6383,7 +6402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa9059cbb" }, { "id": 111, @@ -6409,7 +6429,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0xa9059cbb" } - ] + ], + "text": "to" }, { "id": 112, @@ -6439,7 +6460,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -6483,14 +6505,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -6539,14 +6563,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 106, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "token.call" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -6607,7 +6633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 118, @@ -6692,14 +6719,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 123, @@ -6721,7 +6750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6769,7 +6799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 128, @@ -6821,7 +6852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -6871,14 +6903,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -6934,7 +6968,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'TransferHelper::safeTransfer: transfer failed'" } ], "expression": { @@ -6955,7 +6990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7131,13 +7167,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(address, address, uint256)", - "signature": "aab017b5", + "signature_raw": "safeTransfer(address,address,uint256)", + "signature": "d1660f99", "scope": 43, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransfer(addresstoken,addressto,uint256value)internal{(boolsuccess,bytesmemorydata)=token.call(abi.encodeWithSelector(0xa9059cbb,to,value));require(success\u0026\u0026(data.length==0||abi.decode(data,(bool))),'TransferHelper::safeTransfer: transfer failed');}" }, { "id": 133, @@ -7349,7 +7386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x23b872dd" }, { "id": 157, @@ -7375,7 +7413,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x23b872dd" } - ] + ], + "text": "from" }, { "id": 158, @@ -7405,7 +7444,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 159, @@ -7439,7 +7479,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -7483,14 +7524,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$_t_address$_t_address$_t_uint256$", @@ -7539,14 +7582,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "token.call" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_address$_t_uint256$", @@ -7607,7 +7652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 165, @@ -7692,14 +7738,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 170, @@ -7721,7 +7769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -7769,7 +7818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 175, @@ -7821,7 +7871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -7871,14 +7922,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -7934,7 +7987,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'TransferHelper::transferFrom: transferFrom failed'" } ], "expression": { @@ -7955,7 +8009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8175,13 +8230,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, address, uint256)", - "signature": "ca681ced", + "signature_raw": "safeTransferFrom(address,address,address,uint256)", + "signature": "d9fc4b61", "scope": 43, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addresstoken,addressfrom,addressto,uint256value)internal{(boolsuccess,bytesmemorydata)=token.call(abi.encodeWithSelector(0x23b872dd,from,to,value));require(success\u0026\u0026(data.length==0||abi.decode(data,(bool))),'TransferHelper::transferFrom: transferFrom failed');}" }, { "id": 180, @@ -8336,7 +8392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -8433,14 +8490,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.call" }, "type_description": { "type_identifier": "t_address", @@ -8494,7 +8553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 188, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 202, @@ -8522,7 +8582,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'TransferHelper::safeTransferETH: ETH transfer failed'" } ], "expression": { @@ -8543,7 +8604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8675,13 +8737,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferETH(address, uint256)", - "signature": "3bf28eb1", + "signature_raw": "safeTransferETH(address,uint256)", + "signature": "7c4368c1", "scope": 43, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsafeTransferETH(addressto,uint256value)internal{(boolsuccess,)=to.call{value:value}(newbytes(0));require(success,'TransferHelper::safeTransferETH: ETH transfer failed');}" } ], "linearized_base_contracts": [ @@ -8835,7 +8898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "30" }, "type_description": { "type_identifier": "t_rational_30_by_1", @@ -9690,7 +9754,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMAX_TOTAL_FEE_PERCENT()externalviewreturns(uint);" }, { "id": 258, @@ -9858,7 +9923,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMAX_PROTOCOL_FEE_PERCENT()externalviewreturns(uint);" }, { "id": 267, @@ -10026,7 +10092,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSwaps()externalviewreturns(uint);" }, { "id": 276, @@ -10194,7 +10261,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprotocolFee()externalviewreturns(uint);" }, { "id": 285, @@ -10362,7 +10430,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalFee()externalviewreturns(uint);" }, { "id": 294, @@ -10530,7 +10599,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionOnoutFeePercent()externalviewreturns(uint);" }, { "id": 303, @@ -10700,7 +10770,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfeeTo()externalviewreturns(address);" }, { "id": 312, @@ -10870,7 +10941,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfeeToSetter()externalviewreturns(address);" }, { "id": 321, @@ -11040,7 +11112,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionOnoutFeeTo()externalviewreturns(address);" }, { "id": 330, @@ -11210,7 +11283,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionOnoutFeeSetter()externalviewreturns(address);" }, { "id": 339, @@ -11378,7 +11452,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionallFeeToProtocol()externalviewreturns(bool);" }, { "id": 348, @@ -11586,13 +11661,14 @@ } ] }, - "signature_raw": "getPair(address, address)", - "signature": "99d437db", + "signature_raw": "getPair(address,address)", + "signature": "e6a43905", "scope": 206, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functiongetPair(addresstokenA,addresstokenB)externalviewreturns(addresspair);" }, { "id": 359, @@ -11761,7 +11837,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionallPairs(uint)externalviewreturns(addresspair);" }, { "id": 368, @@ -11929,7 +12006,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionallPairsLength()externalviewreturns(uint);" }, { "id": 377, @@ -12139,7 +12217,8 @@ "type_description": { "type_identifier": "t_function_$_t_struct$_IFactory_AllInfo_$208$", "type_string": "function(struct IFactory.AllInfo)" - } + }, + "text": "functionallInfo()externalviewreturns(AllInfomemory);" }, { "id": 388, @@ -12347,13 +12426,14 @@ } ] }, - "signature_raw": "createPair(address, address)", - "signature": "a36b5e48", + "signature_raw": "createPair(address,address)", + "signature": "c9c65396", "scope": 206, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioncreatePair(addresstokenA,addresstokenB)externalreturns(addresspair);" }, { "id": 399, @@ -12476,7 +12556,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetOnoutFeePercent(uint)external;" }, { "id": 406, @@ -12600,7 +12681,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFeeTo(address)external;" }, { "id": 413, @@ -12724,7 +12806,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetFeeToSetter(address)external;" }, { "id": 420, @@ -12848,7 +12931,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetOnoutFeeTo(address)external;" }, { "id": 427, @@ -12972,7 +13056,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionsetOnoutFeeSetter(address)external;" }, { "id": 434, @@ -13095,7 +13180,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functionsetAllFeeToProtocol(bool)external;" }, { "id": 441, @@ -13255,13 +13341,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setMainFees(uint, uint)", - "signature": "f7bd7ed8", + "signature_raw": "setMainFees(uint,uint)", + "signature": "dfc6af83", "scope": 206, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsetMainFees(uint_totalFee,uint_protocolFee)external;" }, { "id": 450, @@ -13384,7 +13471,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetTotalFee(uint)external;" }, { "id": 457, @@ -13507,7 +13595,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionsetProtocolFee(uint)external;" }, { "id": 464, @@ -13669,13 +13758,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "increaseNumberOfSwaps(address, address)", - "signature": "2fa03cef", + "signature_raw": "increaseNumberOfSwaps(address,address)", + "signature": "5837e550", "scope": 206, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionincreaseNumberOfSwaps(addresstoken0,addresstoken1)external;" } ], "linearized_base_contracts": [ @@ -14257,7 +14347,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalpurereturns(stringmemory);" }, { "id": 505, @@ -14425,7 +14516,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalpurereturns(stringmemory);" }, { "id": 514, @@ -14593,7 +14685,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalpurereturns(uint8);" }, { "id": 523, @@ -14761,7 +14854,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint);" }, { "id": 532, @@ -14930,7 +15024,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint);" }, { "id": 541, @@ -15137,13 +15232,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint);" }, { "id": 552, @@ -15349,13 +15445,14 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uintvalue)externalreturns(bool);" }, { "id": 563, @@ -15561,13 +15658,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" }, { "id": 574, @@ -15817,13 +15915,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uintvalue)externalreturns(bool);" }, { "id": 587, @@ -15991,7 +16090,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" }, { "id": 596, @@ -16159,7 +16259,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionPERMIT_TYPEHASH()externalpurereturns(bytes32);" }, { "id": 605, @@ -16328,7 +16429,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint);" }, { "id": 614, @@ -16705,13 +16807,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint, uint, uint8, bytes32, bytes32)", - "signature": "0f94a422", + "signature_raw": "permit(address,address,uint,uint,uint8,bytes32,bytes32)", + "signature": "97a6e84a", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uintvalue,uintdeadline,uint8v,bytes32r,bytes32s)external;" }, { "id": 633, @@ -17670,7 +17773,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMINIMUM_LIQUIDITY()externalpurereturns(uint);" }, { "id": 684, @@ -17840,7 +17944,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 693, @@ -18010,7 +18115,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { "id": 702, @@ -18180,7 +18286,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken1()externalviewreturns(address);" }, { "id": 711, @@ -18514,13 +18621,14 @@ } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", "type_string": "function(uint112,uint112,uint32)" - } + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" }, { "id": 728, @@ -18688,7 +18796,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice0CumulativeLast()externalviewreturns(uint);" }, { "id": 737, @@ -18856,7 +18965,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice1CumulativeLast()externalviewreturns(uint);" }, { "id": 746, @@ -19024,7 +19134,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionkLast()externalviewreturns(uint);" }, { "id": 755, @@ -19193,7 +19304,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionmint(addressto)externalreturns(uintliquidity);" }, { "id": 764, @@ -19405,7 +19517,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionburn(addressto)externalreturns(uintamount0,uintamount1);" }, { "id": 775, @@ -19652,13 +19765,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swap(uint, uint, address, bytes)", - "signature": "7d9441ed", + "signature_raw": "swap(uint,uint,address,bytes)", + "signature": "090f344e", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(uint256,uint256,address,bytes)" - } + }, + "text": "functionswap(uintamount0Out,uintamount1Out,addressto,bytescalldatadata)external;" }, { "id": 788, @@ -19782,7 +19896,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionskim(addressto)external;" }, { "id": 795, @@ -19860,7 +19975,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsync()external;" }, { "id": 800, @@ -20022,13 +20138,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(address, address)", - "signature": "58e0d614", + "signature_raw": "initialize(address,address)", + "signature": "485cc955", "scope": 476, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioninitialize(address,address)external;" } ], "linearized_base_contracts": [ @@ -20226,7 +20343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "z" }, "right_expression": { "id": 831, @@ -20260,7 +20378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 832, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 833, @@ -20280,7 +20399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_uint256", @@ -20316,7 +20436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 834, - "is_pure": false + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -20349,7 +20470,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'ds-math-add-overflow'" } ], "expression": { @@ -20370,7 +20492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20546,13 +20669,14 @@ } ] }, - "signature_raw": "add(uint, uint)", - "signature": "9f313803", + "signature_raw": "add(uint,uint)", + "signature": "b8966352", "scope": 813, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uintx,uinty)internalpurereturns(uintz){require((z=x+y)\u003e=x,'ds-math-add-overflow');}" }, { "id": 837, @@ -20670,7 +20794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "z" }, "right_expression": { "id": 853, @@ -20704,7 +20829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 854, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 855, @@ -20724,7 +20850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 855, - "is_pure": false + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_uint256", @@ -20760,7 +20887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 856, - "is_pure": false + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -20793,7 +20921,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'ds-math-sub-underflow'" } ], "expression": { @@ -20814,7 +20943,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20990,13 +21120,14 @@ } ] }, - "signature_raw": "sub(uint, uint)", - "signature": "b2c71209", + "signature_raw": "sub(uint,uint)", + "signature": "796e3e3f", "scope": 813, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uintx,uinty)internalpurereturns(uintz){require((z=x-y)\u003c=x,'ds-math-sub-underflow');}" }, { "id": 859, @@ -21102,7 +21233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 873, - "is_pure": false + "is_pure": false, + "text": "y" }, "right_expression": { "id": 874, @@ -21124,7 +21256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -21203,7 +21336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "z" }, "right_expression": { "id": 880, @@ -21237,7 +21371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 881, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 882, @@ -21257,7 +21392,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 882, - "is_pure": false + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_uint256", @@ -21293,7 +21429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 883, - "is_pure": false + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -21318,7 +21455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 884, - "is_pure": false + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -21356,7 +21494,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'ds-math-mul-overflow'" } ], "expression": { @@ -21377,7 +21516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -21553,13 +21693,14 @@ } ] }, - "signature_raw": "mul(uint, uint)", - "signature": "ffff81ec", + "signature_raw": "mul(uint,uint)", + "signature": "20949e90", "scope": 813, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uintx,uinty)internalpurereturns(uintz){require(y==0||(z=x*y)/y==x,'ds-math-mul-overflow');}" } ], "linearized_base_contracts": [ @@ -21779,7 +21920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 913, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, "right_expression": { "id": 914, @@ -21799,7 +21941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 914, - "is_pure": false + "is_pure": false, + "text": "tokenB" }, "type_description": { "type_identifier": "t_bool", @@ -21832,7 +21975,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: IDENTICAL_ADDRESSES'" } ], "expression": { @@ -21853,7 +21997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -21915,7 +22060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 240, - "is_pure": false + "is_pure": false, + "text": "token0" }, { "id": 920, @@ -21935,7 +22081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 242, - "is_pure": false + "is_pure": false, + "text": "token1" } ], "type_description": { @@ -21987,7 +22134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 924, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, "right_expression": { "id": 925, @@ -22007,7 +22155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 925, - "is_pure": false + "is_pure": false, + "text": "tokenB" }, "type_description": { "type_identifier": "t_bool", @@ -22046,7 +22195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 927, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 928, @@ -22066,7 +22216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 928, - "is_pure": false + "is_pure": false, + "text": "tokenB" } ], "type_description": { @@ -22106,7 +22257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 930, - "is_pure": false + "is_pure": false, + "text": "tokenB" }, { "id": 931, @@ -22126,7 +22278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 931, - "is_pure": false + "is_pure": false, + "text": "tokenA" } ], "type_description": { @@ -22159,7 +22312,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_address_$_t_address$", "type_string": "tuple(address,address)" - } + }, + "text": "(token0,token1)=tokenA\u003ctokenB?(tokenA,tokenB):(tokenB,tokenA);" }, { "id": 932, @@ -22216,7 +22370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 240, - "is_pure": false + "is_pure": false, + "text": "token0" }, "right_expression": { "id": 936, @@ -22257,7 +22412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22303,7 +22459,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22341,7 +22498,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: ZERO_ADDRESS'" } ], "expression": { @@ -22362,7 +22520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22585,13 +22744,14 @@ } ] }, - "signature_raw": "sortTokens(address, address)", - "signature": "a52ffdb9", + "signature_raw": "sortTokens(address,address)", + "signature": "544caa56", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionsortTokens(addresstokenA,addresstokenB)internalpurereturns(addresstoken0,addresstoken1){require(tokenA!=tokenB,'MainLibrary: IDENTICAL_ADDRESSES');(token0,token1)=tokenA\u003ctokenB?(tokenA,tokenB):(tokenB,tokenA);require(token0!=address(0),'MainLibrary: ZERO_ADDRESS');}" }, { "id": 942, @@ -22669,7 +22829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 244, - "is_pure": false + "is_pure": false, + "text": "pair" }, "right_expression": { "id": 957, @@ -22712,7 +22873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 962, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 963, @@ -22738,7 +22900,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -22801,7 +22964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 961, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -22822,7 +22986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -22834,7 +22999,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).getPair" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -22849,7 +23015,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "pair=IFactory(factory).getPair(tokenA,tokenB);" } ] }, @@ -23067,13 +23234,14 @@ } ] }, - "signature_raw": "pairFor(address, address, address)", - "signature": "8ebc8ff1", + "signature_raw": "pairFor(address,address,address)", + "signature": "6d91c0e2", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$", "type_string": "function(address,address,address)" - } + }, + "text": "functionpairFor(addressfactory,addresstokenA,addresstokenB)internalviewreturns(addresspair){pair=IFactory(factory).getPair(tokenA,tokenB);}" }, { "id": 965, @@ -23212,7 +23380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 984, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 985, @@ -23238,7 +23407,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -23259,7 +23429,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "sortTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -23473,7 +23644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 997, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 998, @@ -23499,7 +23671,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenA" }, { "id": 999, @@ -23529,7 +23702,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -23550,7 +23724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "pairFor" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$", @@ -23576,7 +23751,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$", @@ -23588,7 +23764,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$", "type_string": "function(function(address,address,address))" - } + }, + "text": "IUniswapV2Pair(pairFor(factory,tokenA,tokenB)).getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -23651,7 +23828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 974, - "is_pure": false + "is_pure": false, + "text": "reserveA" }, { "id": 1004, @@ -23671,7 +23849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 976, - "is_pure": false + "is_pure": false, + "text": "reserveB" } ], "type_description": { @@ -23723,7 +23902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1008, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, "right_expression": { "id": 1009, @@ -23743,7 +23923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 979, - "is_pure": false + "is_pure": false, + "text": "token0" }, "type_description": { "type_identifier": "t_bool", @@ -23782,7 +23963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "reserve0" }, { "id": 1012, @@ -23802,7 +23984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "reserve1" } ], "type_description": { @@ -23842,7 +24025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "reserve1" }, { "id": 1015, @@ -23862,7 +24046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "reserve0" } ], "type_description": { @@ -23895,7 +24080,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(reserveA,reserveB)=tokenA==token0?(reserve0,reserve1):(reserve1,reserve0);" } ] }, @@ -24155,13 +24341,14 @@ } ] }, - "signature_raw": "getReserves(address, address, address)", - "signature": "08802995", + "signature_raw": "getReserves(address,address,address)", + "signature": "32749461", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$", "type_string": "function(address,address,address)" - } + }, + "text": "functiongetReserves(addressfactory,addresstokenA,addresstokenB)internalviewreturns(uintreserveA,uintreserveB){(addresstoken0,)=sortTokens(tokenA,tokenB);(uintreserve0,uintreserve1,)=IUniswapV2Pair(pairFor(factory,tokenA,tokenB)).getReserves();(reserveA,reserveB)=tokenA==token0?(reserve0,reserve1):(reserve1,reserve0);}" }, { "id": 1017, @@ -24253,7 +24440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1032, - "is_pure": false + "is_pure": false, + "text": "amountA" }, "right_expression": { "id": 1033, @@ -24275,7 +24463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24308,7 +24497,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_AMOUNT'" } ], "expression": { @@ -24329,7 +24519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -24403,7 +24594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1040, - "is_pure": false + "is_pure": false, + "text": "reserveA" }, "right_expression": { "id": 1041, @@ -24425,7 +24617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24464,7 +24657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1043, - "is_pure": false + "is_pure": false, + "text": "reserveB" }, "right_expression": { "id": 1044, @@ -24486,7 +24680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24531,7 +24726,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_LIQUIDITY'" } ], "expression": { @@ -24552,7 +24748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -24600,7 +24797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "amountB" }, "right_expression": { "id": 1049, @@ -24653,7 +24851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1053, - "is_pure": false + "is_pure": false, + "text": "reserveB" } ], "expression": { @@ -24697,14 +24896,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1052, - "is_pure": false + "is_pure": false, + "text": "amountA" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountA.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -24729,7 +24930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1054, - "is_pure": false + "is_pure": false, + "text": "reserveA" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -24744,7 +24946,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountB=amountA.mul(reserveB)/reserveA;" } ] }, @@ -24958,13 +25161,14 @@ } ] }, - "signature_raw": "quote(uint, uint, uint)", - "signature": "40ce3b45", + "signature_raw": "quote(uint,uint,uint)", + "signature": "49097f7f", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionquote(uintamountA,uintreserveA,uintreserveB)internalpurereturns(uintamountB){require(amountA\u003e0,'MainLibrary: INSUFFICIENT_AMOUNT');require(reserveA\u003e0\u0026\u0026reserveB\u003e0,'MainLibrary: INSUFFICIENT_LIQUIDITY');amountB=amountA.mul(reserveB)/reserveA;}" }, { "id": 1056, @@ -25056,7 +25260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1073, - "is_pure": false + "is_pure": false, + "text": "amountIn" }, "right_expression": { "id": 1074, @@ -25078,7 +25283,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25111,7 +25317,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_INPUT_AMOUNT'" } ], "expression": { @@ -25132,7 +25339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -25206,7 +25414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1081, - "is_pure": false + "is_pure": false, + "text": "reserveIn" }, "right_expression": { "id": 1082, @@ -25228,7 +25437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25267,7 +25477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1084, - "is_pure": false + "is_pure": false, + "text": "reserveOut" }, "right_expression": { "id": 1085, @@ -25289,7 +25500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25334,7 +25546,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_LIQUIDITY'" } ], "expression": { @@ -25355,7 +25568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -25496,7 +25710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1094, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -25517,7 +25732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25529,7 +25745,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).MAX_TOTAL_FEE_PERCENT" }, "type_description": { "type_identifier": "t_function_$", @@ -25671,7 +25888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1102, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -25692,7 +25910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25704,7 +25923,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).totalFee" }, "type_description": { "type_identifier": "t_function_$", @@ -25809,7 +26029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1095, - "is_pure": false + "is_pure": false, + "text": "totalFee" } ], "expression": { @@ -25853,14 +26074,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1087, - "is_pure": false + "is_pure": false, + "text": "maxPercent" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "maxPercent.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -25965,7 +26188,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "inputFraction" } ], "expression": { @@ -26009,14 +26233,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1115, - "is_pure": false + "is_pure": false, + "text": "amountIn" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountIn.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -26121,7 +26347,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1123, - "is_pure": false + "is_pure": false, + "text": "reserveOut" } ], "expression": { @@ -26165,14 +26392,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1110, - "is_pure": false + "is_pure": false, + "text": "amountInWithFee" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountInWithFee.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -26277,7 +26506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1110, - "is_pure": false + "is_pure": false, + "text": "amountInWithFee" } ], "expression": { @@ -26340,7 +26570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1087, - "is_pure": false + "is_pure": false, + "text": "maxPercent" } ], "expression": { @@ -26384,14 +26615,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1131, - "is_pure": false + "is_pure": false, + "text": "reserveIn" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "reserveIn.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -26403,7 +26636,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "reserveIn.mul(maxPercent).add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -26452,7 +26686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1067, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { "id": 1137, @@ -26486,7 +26721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1117, - "is_pure": false + "is_pure": false, + "text": "numerator" }, "right_expression": { "id": 1139, @@ -26506,7 +26742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1124, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -26521,7 +26758,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountOut=numerator/denominator;" } ] }, @@ -26779,13 +27017,14 @@ } ] }, - "signature_raw": "getAmountOut(address, uint, uint, uint)", - "signature": "d71c2163", + "signature_raw": "getAmountOut(address,uint,uint,uint)", + "signature": "5b264a93", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountOut(addressfactory,uintamountIn,uintreserveIn,uintreserveOut)internalviewreturns(uintamountOut){require(amountIn\u003e0,'MainLibrary: INSUFFICIENT_INPUT_AMOUNT');require(reserveIn\u003e0\u0026\u0026reserveOut\u003e0,'MainLibrary: INSUFFICIENT_LIQUIDITY');uintmaxPercent=IFactory(factory).MAX_TOTAL_FEE_PERCENT();uinttotalFee=IFactory(factory).totalFee();uintinputFraction=maxPercent.sub(totalFee);uintamountInWithFee=amountIn.mul(inputFraction);uintnumerator=amountInWithFee.mul(reserveOut);uintdenominator=reserveIn.mul(maxPercent).add(amountInWithFee);amountOut=numerator/denominator;}" }, { "id": 1141, @@ -26877,7 +27116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1158, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { "id": 1159, @@ -26899,7 +27139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -26932,7 +27173,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_OUTPUT_AMOUNT'" } ], "expression": { @@ -26953,7 +27195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -27027,7 +27270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1166, - "is_pure": false + "is_pure": false, + "text": "reserveIn" }, "right_expression": { "id": 1167, @@ -27049,7 +27293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -27088,7 +27333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1169, - "is_pure": false + "is_pure": false, + "text": "reserveOut" }, "right_expression": { "id": 1170, @@ -27110,7 +27356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -27155,7 +27402,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INSUFFICIENT_LIQUIDITY'" } ], "expression": { @@ -27176,7 +27424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -27317,7 +27566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1179, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -27338,7 +27588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27350,7 +27601,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).MAX_TOTAL_FEE_PERCENT" }, "type_description": { "type_identifier": "t_function_$", @@ -27492,7 +27744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -27513,7 +27766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27525,7 +27779,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IFactory(factory).totalFee" }, "type_description": { "type_identifier": "t_function_$", @@ -27630,7 +27885,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1180, - "is_pure": false + "is_pure": false, + "text": "totalFee" } ], "expression": { @@ -27674,14 +27930,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1172, - "is_pure": false + "is_pure": false, + "text": "maxPercent" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "maxPercent.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -27786,7 +28044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1172, - "is_pure": false + "is_pure": false, + "text": "maxPercent" } ], "expression": { @@ -27849,7 +28108,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1203, - "is_pure": false + "is_pure": false, + "text": "amountOut" } ], "expression": { @@ -27893,14 +28153,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1202, - "is_pure": false + "is_pure": false, + "text": "reserveIn" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "reserveIn.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -27912,7 +28174,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "reserveIn.mul(amountOut).mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -28017,7 +28280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1188, - "is_pure": false + "is_pure": false, + "text": "inputFraction" } ], "expression": { @@ -28080,7 +28344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1213, - "is_pure": false + "is_pure": false, + "text": "amountOut" } ], "expression": { @@ -28124,14 +28389,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1212, - "is_pure": false + "is_pure": false, + "text": "reserveOut" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "reserveOut.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -28143,7 +28410,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "reserveOut.sub(amountOut).mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -28192,7 +28460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1060, - "is_pure": false + "is_pure": false, + "text": "amountIn" }, "right_expression": { "id": 1218, @@ -28233,7 +28502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { @@ -28305,7 +28575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1195, - "is_pure": false + "is_pure": false, + "text": "numerator" }, "right_expression": { "id": 1223, @@ -28325,7 +28596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1205, - "is_pure": false + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -28343,7 +28615,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" - } + }, + "text": "(numerator/denominator).add" }, "type_description": { "type_identifier": "t_function_$_t_rational_1_by_1$", @@ -28358,7 +28631,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountIn=(numerator/denominator).add(1);" } ] }, @@ -28616,13 +28890,14 @@ } ] }, - "signature_raw": "getAmountIn(address, uint, uint, uint)", - "signature": "86626f28", + "signature_raw": "getAmountIn(address,uint,uint,uint)", + "signature": "7f612a05", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountIn(addressfactory,uintamountOut,uintreserveIn,uintreserveOut)internalviewreturns(uintamountIn){require(amountOut\u003e0,'MainLibrary: INSUFFICIENT_OUTPUT_AMOUNT');require(reserveIn\u003e0\u0026\u0026reserveOut\u003e0,'MainLibrary: INSUFFICIENT_LIQUIDITY');uintmaxPercent=IFactory(factory).MAX_TOTAL_FEE_PERCENT();uinttotalFee=IFactory(factory).totalFee();uintinputFraction=maxPercent.sub(totalFee);uintnumerator=reserveIn.mul(amountOut).mul(maxPercent);uintdenominator=reserveOut.sub(amountOut).mul(inputFraction);amountIn=(numerator/denominator).add(1);}" }, { "id": 1226, @@ -28737,14 +29012,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1242, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 1243, @@ -28766,7 +29043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bool", @@ -28799,7 +29077,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INVALID_PATH'" } ], "expression": { @@ -28820,7 +29099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -28868,7 +29148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 1248, @@ -28930,14 +29211,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1252, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" } ], "expression": { @@ -28988,7 +29271,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=newuint[](path.length);" }, { "id": 1253, @@ -29042,7 +29326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1257, @@ -29064,7 +29349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -29099,7 +29385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1258, - "is_pure": false + "is_pure": false, + "text": "amountIn" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -29109,7 +29396,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "amounts[0]=amountIn;" }, { "id": 1259, @@ -29215,7 +29503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1265, @@ -29272,14 +29561,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1267, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 1268, @@ -29301,7 +29592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -29344,7 +29636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -29520,7 +29813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 1280, @@ -29551,7 +29845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1282, @@ -29571,7 +29866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -29617,7 +29913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1285, @@ -29651,7 +29948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1287, @@ -29673,7 +29971,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -29714,7 +30013,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getReserves" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", @@ -29774,7 +30074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1292, @@ -29808,7 +30109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1294, @@ -29830,7 +30132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -29901,7 +30204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 1298, @@ -29932,7 +30236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1300, @@ -29952,7 +30257,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -29997,7 +30303,8 @@ "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" } - ] + ], + "text": "reserveIn" }, { "id": 1302, @@ -30031,7 +30338,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOut" } ], "expression": { @@ -30052,7 +30360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAmountOut" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", @@ -30067,7 +30376,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "amounts[i+1]=getAmountOut(factory,amounts[i],reserveIn,reserveOut);" } ] } @@ -30285,13 +30595,14 @@ } ] }, - "signature_raw": "getAmountsOut(address, uint, address)", - "signature": "a4edfe90", + "signature_raw": "getAmountsOut(address,uint,address)", + "signature": "f31303b0", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functiongetAmountsOut(addressfactory,uintamountIn,address[]memorypath)internalviewreturns(uint[]memoryamounts){require(path.length\u003e=2,'MainLibrary: INVALID_PATH');amounts=newuint[](path.length);amounts[0]=amountIn;for(uinti;i\u003cpath.length-1;i++){(uintreserveIn,uintreserveOut)=getReserves(factory,path[i],path[i+1]);amounts[i+1]=getAmountOut(factory,amounts[i],reserveIn,reserveOut);}}" }, { "id": 1304, @@ -30406,14 +30717,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1320, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 1321, @@ -30435,7 +30748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bool", @@ -30468,7 +30782,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'MainLibrary: INVALID_PATH'" } ], "expression": { @@ -30489,7 +30804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -30537,7 +30853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 1326, @@ -30599,14 +30916,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1330, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" } ], "expression": { @@ -30657,7 +30976,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=newuint[](path.length);" }, { "id": 1331, @@ -30711,7 +31031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1335, @@ -30768,14 +31089,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { "id": 1338, @@ -30797,7 +31120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -30837,7 +31161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1339, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", @@ -30847,7 +31172,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "amounts[amounts.length-1]=amountOut;" }, { "id": 1340, @@ -30975,14 +31301,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1346, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 1347, @@ -31004,7 +31332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -31044,7 +31373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1350, @@ -31066,7 +31396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -31104,7 +31435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -31280,7 +31612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 1362, @@ -31311,7 +31644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1364, @@ -31345,7 +31679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1366, @@ -31367,7 +31702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -31418,7 +31754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 1369, @@ -31438,7 +31775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -31474,7 +31812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getReserves" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", @@ -31534,7 +31873,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1374, @@ -31568,7 +31908,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 1376, @@ -31590,7 +31931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -31661,7 +32003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 1380, @@ -31692,7 +32035,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 1382, @@ -31712,7 +32056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -31757,7 +32102,8 @@ "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" } - ] + ], + "text": "reserveIn" }, { "id": 1384, @@ -31791,7 +32137,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOut" } ], "expression": { @@ -31812,7 +32159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAmountIn" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", @@ -31827,7 +32175,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "amounts[i-1]=getAmountIn(factory,amounts[i],reserveIn,reserveOut);" } ] } @@ -32045,13 +32394,14 @@ } ] }, - "signature_raw": "getAmountsIn(address, uint, address)", - "signature": "8fca5b95", + "signature_raw": "getAmountsIn(address,uint,address)", + "signature": "af98afe1", "scope": 892, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$", "type_string": "function(address,uint256,address)" - } + }, + "text": "functiongetAmountsIn(addressfactory,uintamountOut,address[]memorypath)internalviewreturns(uint[]memoryamounts){require(path.length\u003e=2,'MainLibrary: INVALID_PATH');amounts=newuint[](path.length);amounts[amounts.length-1]=amountOut;for(uinti=path.length-1;i\u003e0;i--){(uintreserveIn,uintreserveOut)=getReserves(factory,path[i-1],path[i]);amounts[i-1]=getAmountIn(factory,amounts[i],reserveIn,reserveOut);}}" } ], "linearized_base_contracts": [ @@ -32301,7 +32651,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 1403, @@ -32471,7 +32822,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionWETH()externalviewreturns(address);" }, { "id": 1412, @@ -33023,13 +33375,14 @@ } ] }, - "signature_raw": "addLiquidity(address, address, uint, uint, uint, uint, address, uint)", - "signature": "b0a5b69b", + "signature_raw": "addLiquidity(address,address,uint,uint,uint,uint,address,uint)", + "signature": "dd83139f", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidity(addresstokenA,addresstokenB,uintamountADesired,uintamountBDesired,uintamountAMin,uintamountBMin,addressto,uintdeadline)externalreturns(uintamountA,uintamountB,uintliquidity);" }, { "id": 1439, @@ -33494,13 +33847,14 @@ } ] }, - "signature_raw": "addLiquidityETH(address, uint, uint, uint, address, uint)", - "signature": "2fee9b1f", + "signature_raw": "addLiquidityETH(address,uint,uint,uint,address,uint)", + "signature": "1a3042d8", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidityETH(addresstoken,uintamountTokenDesired,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline)externalpayablereturns(uintamountToken,uintamountETH,uintliquidity);" }, { "id": 1462, @@ -33966,13 +34320,14 @@ } ] }, - "signature_raw": "removeLiquidity(address, address, uint, uint, uint, address, uint)", - "signature": "959ccb42", + "signature_raw": "removeLiquidity(address,address,uint,uint,uint,address,uint)", + "signature": "7346927d", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidity(addresstokenA,addresstokenB,uintliquidity,uintamountAMin,uintamountBMin,addressto,uintdeadline)externalreturns(uintamountA,uintamountB);" }, { "id": 1485, @@ -34394,13 +34749,14 @@ } ] }, - "signature_raw": "removeLiquidityETH(address, uint, uint, uint, address, uint)", - "signature": "04b63022", + "signature_raw": "removeLiquidityETH(address,uint,uint,uint,address,uint)", + "signature": "a0a3fe6a", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETH(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline)externalreturns(uintamountToken,uintamountETH);" }, { "id": 1506, @@ -35038,13 +35394,14 @@ } ] }, - "signature_raw": "removeLiquidityWithPermit(address, address, uint, uint, uint, address, uint, bool, uint8, bytes32, bytes32)", - "signature": "2c8a3383", + "signature_raw": "removeLiquidityWithPermit(address,address,uint,uint,uint,address,uint,bool,uint8,bytes32,bytes32)", + "signature": "0aaecef9", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityWithPermit(addresstokenA,addresstokenB,uintliquidity,uintamountAMin,uintamountBMin,addressto,uintdeadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uintamountA,uintamountB);" }, { "id": 1537, @@ -35638,13 +35995,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermit(address, uint, uint, uint, address, uint, bool, uint8, bytes32, bytes32)", - "signature": "219bd6e0", + "signature_raw": "removeLiquidityETHWithPermit(address,uint,uint,uint,address,uint,bool,uint8,bytes32,bytes32)", + "signature": "425c944c", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermit(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uintamountToken,uintamountETH);" }, { "id": 1566, @@ -35979,13 +36337,14 @@ } ] }, - "signature_raw": "swapExactTokensForTokens(uint, uint, address, address, uint)", - "signature": "ece6af29", + "signature_raw": "swapExactTokensForTokens(uint,uint,address,address,uint)", + "signature": "10d8dae7", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalreturns(uint[]memoryamounts);" }, { "id": 1583, @@ -36320,13 +36679,14 @@ } ] }, - "signature_raw": "swapTokensForExactTokens(uint, uint, address, address, uint)", - "signature": "30151227", + "signature_raw": "swapTokensForExactTokens(uint,uint,address,address,uint)", + "signature": "fbf1f94e", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactTokens(uintamountOut,uintamountInMax,address[]calldatapath,addressto,uintdeadline)externalreturns(uint[]memoryamounts);" }, { "id": 1600, @@ -36618,13 +36978,14 @@ } ] }, - "signature_raw": "swapExactETHForTokens(uint, address, address, uint)", - "signature": "604dbf42", + "signature_raw": "swapExactETHForTokens(uint,address,address,uint)", + "signature": "319fbb40", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokens(uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalpayablereturns(uint[]memoryamounts);" }, { "id": 1615, @@ -36959,13 +37320,14 @@ } ] }, - "signature_raw": "swapTokensForExactETH(uint, uint, address, address, uint)", - "signature": "f2d4558a", + "signature_raw": "swapTokensForExactETH(uint,uint,address,address,uint)", + "signature": "c553bfbd", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactETH(uintamountOut,uintamountInMax,address[]calldatapath,addressto,uintdeadline)externalreturns(uint[]memoryamounts);" }, { "id": 1632, @@ -37300,13 +37662,14 @@ } ] }, - "signature_raw": "swapExactTokensForETH(uint, uint, address, address, uint)", - "signature": "d76f794b", + "signature_raw": "swapExactTokensForETH(uint,uint,address,address,uint)", + "signature": "717eb54c", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETH(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalreturns(uint[]memoryamounts);" }, { "id": 1649, @@ -37598,13 +37961,14 @@ } ] }, - "signature_raw": "swapETHForExactTokens(uint, address, address, uint)", - "signature": "25e2f1f4", + "signature_raw": "swapETHForExactTokens(uint,address,address,uint)", + "signature": "4599eb31", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapETHForExactTokens(uintamountOut,address[]calldatapath,addressto,uintdeadline)externalpayablereturns(uint[]memoryamounts);" }, { "id": 1664, @@ -37852,13 +38216,14 @@ } ] }, - "signature_raw": "quote(uint, uint, uint)", - "signature": "40ce3b45", + "signature_raw": "quote(uint,uint,uint)", + "signature": "49097f7f", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionquote(uintamountA,uintreserveA,uintreserveB)externalpurereturns(uintamountB);" }, { "id": 1677, @@ -38150,13 +38515,14 @@ } ] }, - "signature_raw": "getAmountOut(address, uint, uint, uint)", - "signature": "d71c2163", + "signature_raw": "getAmountOut(address,uint,uint,uint)", + "signature": "5b264a93", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountOut(address_factory,uintamountIn,uintreserveIn,uintreserveOut)externalreturns(uintamountOut);" }, { "id": 1692, @@ -38448,13 +38814,14 @@ } ] }, - "signature_raw": "getAmountIn(address, uint, uint, uint)", - "signature": "86626f28", + "signature_raw": "getAmountIn(address,uint,uint,uint)", + "signature": "7f612a05", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountIn(address_factory,uintamountOut,uintreserveIn,uintreserveOut)externalreturns(uintamountIn);" }, { "id": 1707, @@ -38659,13 +39026,14 @@ } ] }, - "signature_raw": "getAmountsOut(uint, address)", - "signature": "f3474b41", + "signature_raw": "getAmountsOut(uint,address)", + "signature": "e8c69ecd", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsOut(uintamountIn,address[]calldatapath)externalreturns(uint[]memoryamounts);" }, { "id": 1718, @@ -38870,13 +39238,14 @@ } ] }, - "signature_raw": "getAmountsIn(uint, address)", - "signature": "6867ccbd", + "signature_raw": "getAmountsIn(uint,address)", + "signature": "9a769100", "scope": 1392, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsIn(uintamountOut,address[]calldatapath)externalreturns(uint[]memoryamounts);" } ], "linearized_base_contracts": [ @@ -39367,13 +39736,14 @@ } ] }, - "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address, uint, uint, uint, address, uint)", - "signature": "af9b0077", + "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address,uint,uint,uint,address,uint)", + "signature": "1d7868d9", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETHSupportingFeeOnTransferTokens(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline)externalreturns(uintamountETH);" }, { "id": 1759, @@ -39924,13 +40294,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address, uint, uint, uint, address, uint, bool, uint8, bytes32, bytes32)", - "signature": "26ee6d15", + "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint,uint,uint,address,uint,bool,uint8,bytes32,bytes32)", + "signature": "d0f98043", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalreturns(uintamountETH);" }, { "id": 1786, @@ -40220,13 +40591,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint, uint, address, address, uint)", - "signature": "57614bd1", + "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint,uint,address,address,uint)", + "signature": "22b0430c", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokensSupportingFeeOnTransferTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)external;" }, { "id": 1801, @@ -40473,13 +40845,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint, address, address, uint)", - "signature": "87e8dbf8", + "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint,address,address,uint)", + "signature": "83ac347c", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokensSupportingFeeOnTransferTokens(uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalpayable;" }, { "id": 1814, @@ -40769,13 +41142,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint, uint, address, address, uint)", - "signature": "07b16f31", + "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint,uint,address,address,uint)", + "signature": "f9831ae0", "scope": 1736, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETHSupportingFeeOnTransferTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)external;" } ], "linearized_base_contracts": [ @@ -41387,7 +41761,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 1866, @@ -41555,7 +41930,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 1875, @@ -41723,7 +42099,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" }, { "id": 1884, @@ -41891,7 +42268,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint);" }, { "id": 1893, @@ -42060,7 +42438,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint);" }, { "id": 1902, @@ -42267,13 +42646,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1837, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint);" }, { "id": 1913, @@ -42479,13 +42859,14 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", "scope": 1837, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uintvalue)externalreturns(bool);" }, { "id": 1924, @@ -42691,13 +43072,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 1837, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" }, { "id": 1935, @@ -42947,13 +43329,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", "scope": 1837, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uintvalue)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -43111,7 +43494,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functiondeposit()externalpayable;" }, { "id": 1964, @@ -43317,13 +43701,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 1957, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" }, { "id": 1975, @@ -43446,7 +43831,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionwithdraw(uint)external;" } ], "linearized_base_contracts": [ @@ -43844,7 +44230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 622, - "is_pure": false + "is_pure": false, + "text": "deadline" }, "right_expression": { "id": 2015, @@ -43887,14 +44274,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" }, "type_description": { "type_identifier": "t_bool", @@ -43927,7 +44316,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: EXPIRED'" } ], "expression": { @@ -43948,7 +44338,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -43973,7 +44364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -44168,7 +44560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2000, - "is_pure": false + "is_pure": false, + "text": "factory" }, "right_expression": { "id": 2031, @@ -44188,7 +44581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2031, - "is_pure": false + "is_pure": false, + "text": "_factory" }, "type_description": { "type_identifier": "t_address", @@ -44198,7 +44592,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "factory=_factory;" }, { "id": 2032, @@ -44241,7 +44636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "WETH" }, "right_expression": { "id": 2035, @@ -44261,7 +44657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2035, - "is_pure": false + "is_pure": false, + "text": "_WETH" }, "type_description": { "type_identifier": "t_address", @@ -44271,7 +44668,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "WETH=_WETH;" } ] } @@ -44409,14 +44807,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 2046, @@ -44436,7 +44836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "WETH" }, "type_description": { "type_identifier": "t_bool", @@ -44462,7 +44863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -44575,7 +44977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2075, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 2076, @@ -44601,7 +45004,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -44664,7 +45068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -44685,7 +45090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -44697,7 +45103,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IFactory(factory).getPair" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -44743,7 +45150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -44789,7 +45197,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -44856,7 +45265,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2087, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 2088, @@ -44882,7 +45292,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -44945,7 +45356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" } ], "expression": { @@ -44966,7 +45378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IFactory" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -44978,7 +45391,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IFactory(factory).createPair" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -45138,7 +45552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2098, @@ -45164,7 +45579,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenA" }, { "id": 2099, @@ -45194,7 +45610,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -45238,14 +45655,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getReserves", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getReserves" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -45308,7 +45727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2089, - "is_pure": false + "is_pure": false, + "text": "reserveA" }, "right_expression": { "id": 2105, @@ -45330,7 +45750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -45369,7 +45790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2089, - "is_pure": false + "is_pure": false, + "text": "reserveB" }, "right_expression": { "id": 2108, @@ -45391,7 +45813,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -45479,7 +45902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1019, - "is_pure": false + "is_pure": false, + "text": "amountA" }, { "id": 2114, @@ -45499,7 +45923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "amountB" } ], "type_description": { @@ -45539,7 +45964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2116, - "is_pure": false + "is_pure": false, + "text": "amountADesired" }, { "id": 2117, @@ -45559,7 +45985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2117, - "is_pure": false + "is_pure": false, + "text": "amountBDesired" } ], "type_description": { @@ -45575,7 +46002,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(amountA,amountB)=(amountADesired,amountBDesired);" } ] } @@ -45966,13 +46394,14 @@ } ] }, - "signature_raw": "_addLiquidity(address, address, uint, uint, uint, uint)", - "signature": "7afd9bf4", + "signature_raw": "_addLiquidity(address,address,uint,uint,uint,uint)", + "signature": "537a10f2", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256)" - } + }, + "text": "function_addLiquidity(addresstokenA,addresstokenB,uintamountADesired,uintamountBDesired,uintamountAMin,uintamountBMin)internalvirtualreturns(uintamountA,uintamountB){if(IFactory(factory).getPair(tokenA,tokenB)==address(0)){IFactory(factory).createPair(tokenA,tokenB);}(uintreserveA,uintreserveB)=MainLibrary.getReserves(factory,tokenA,tokenB);if(reserveA==0\u0026\u0026reserveB==0){(amountA,amountB)=(amountADesired,amountBDesired);}else{uintamountBOptimal=MainLibrary.quote(amountADesired,reserveA,reserveB);if(amountBOptimal\u003c=amountBDesired){require(amountBOptimal\u003e=amountBMin,'RouterV2: INSUFFICIENT_B_AMOUNT');(amountA,amountB)=(amountADesired,amountBOptimal);}else{uintamountAOptimal=MainLibrary.quote(amountBDesired,reserveB,reserveA);assert(amountAOptimal\u003c=amountADesired);require(amountAOptimal\u003e=amountAMin,'RouterV2: INSUFFICIENT_A_AMOUNT');(amountA,amountB)=(amountAOptimal,amountBDesired);}}}" }, { "id": 2119, @@ -46064,7 +46493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1019, - "is_pure": false + "is_pure": false, + "text": "amountA" }, { "id": 2153, @@ -46084,7 +46514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "amountB" } ], "type_description": { @@ -46149,7 +46580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2156, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 2157, @@ -46175,7 +46607,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" }, { "id": 2158, @@ -46205,7 +46638,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountADesired" }, { "id": 2159, @@ -46239,7 +46673,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountBDesired" }, { "id": 2160, @@ -46277,7 +46712,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountAMin" }, { "id": 2161, @@ -46319,7 +46755,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountBMin" } ], "expression": { @@ -46340,7 +46777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_addLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$", @@ -46355,7 +46793,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(amountA,amountB)=_addLiquidity(tokenA,tokenB,amountADesired,amountBDesired,amountAMin,amountBMin);" }, { "id": 2162, @@ -46463,7 +46902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2169, @@ -46489,7 +46929,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenA" }, { "id": 2170, @@ -46519,7 +46960,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -46563,14 +47005,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -46627,7 +47071,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2174, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 2175, @@ -46670,7 +47115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -46682,7 +47128,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2177, @@ -46712,7 +47159,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "pair" }, { "id": 2178, @@ -46746,7 +47194,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountA" } ], "expression": { @@ -46790,14 +47239,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_function_$_t_address$_t_address$_t_address$", @@ -46853,7 +47304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2182, - "is_pure": false + "is_pure": false, + "text": "tokenB" }, { "id": 2183, @@ -46896,7 +47348,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -46908,7 +47361,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2185, @@ -46938,7 +47392,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "pair" }, { "id": 2186, @@ -46972,7 +47427,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountB" } ], "expression": { @@ -47016,14 +47472,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_function_$_t_address$_t_address$_t_address$", @@ -47071,7 +47529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 760, - "is_pure": false + "is_pure": false, + "text": "liquidity" }, "right_expression": { "id": 2190, @@ -47110,7 +47569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2195, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -47173,7 +47633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2162, - "is_pure": false + "is_pure": false, + "text": "pair" } ], "expression": { @@ -47194,7 +47655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -47206,7 +47668,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IUniswapV2Pair(pair).mint" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -47221,7 +47684,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "liquidity=IUniswapV2Pair(pair).mint(to);" } ] }, @@ -47268,7 +47732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2139, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -47814,13 +48279,14 @@ } ] }, - "signature_raw": "addLiquidity(address, address, uint, uint, uint, uint, address, uint)", - "signature": "b0a5b69b", + "signature_raw": "addLiquidity(address,address,uint,uint,uint,uint,address,uint)", + "signature": "dd83139f", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidity(addresstokenA,addresstokenB,uintamountADesired,uintamountBDesired,uintamountAMin,uintamountBMin,addressto,uintdeadline)externalvirtualoverrideensure(deadline)returns(uintamountA,uintamountB,uintliquidity){(amountA,amountB)=_addLiquidity(tokenA,tokenB,amountADesired,amountBDesired,amountAMin,amountBMin);addresspair=MainLibrary.pairFor(factory,tokenA,tokenB);TransferHelper.safeTransferFrom(tokenA,msg.sender,pair,amountA);TransferHelper.safeTransferFrom(tokenB,msg.sender,pair,amountB);liquidity=IUniswapV2Pair(pair).mint(to);}" }, { "id": 2197, @@ -47912,7 +48378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1454, - "is_pure": false + "is_pure": false, + "text": "amountToken" }, { "id": 2227, @@ -47932,7 +48399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1456, - "is_pure": false + "is_pure": false, + "text": "amountETH" } ], "type_description": { @@ -47997,7 +48465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2230, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 2231, @@ -48023,7 +48492,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "WETH" }, { "id": 2232, @@ -48053,7 +48523,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "amountTokenDesired" }, { "id": 2233, @@ -48096,7 +48567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [ @@ -48116,7 +48588,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, { "id": 2235, @@ -48154,7 +48627,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountTokenMin" }, { "id": 2236, @@ -48196,7 +48670,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountETHMin" } ], "expression": { @@ -48217,7 +48692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_addLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_uint256$", @@ -48232,7 +48708,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(amountToken,amountETH)=_addLiquidity(token,WETH,amountTokenDesired,msg.value,amountTokenMin,amountETHMin);" }, { "id": 2237, @@ -48340,7 +48817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2244, @@ -48366,7 +48844,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "token" }, { "id": 2245, @@ -48396,7 +48875,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "WETH" } ], "expression": { @@ -48440,14 +48920,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$", @@ -48504,7 +48986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2249, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 2250, @@ -48547,7 +49030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -48559,7 +49043,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2252, @@ -48589,7 +49074,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "pair" }, { "id": 2253, @@ -48623,7 +49109,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountToken" } ], "expression": { @@ -48667,14 +49154,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_function_$_t_address$_t_address$_t_address$", @@ -48767,7 +49256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -48788,7 +49278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -48800,7 +49291,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).deposit" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -48872,7 +49364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2237, - "is_pure": false + "is_pure": false, + "text": "pair" }, { "id": 2268, @@ -48898,7 +49391,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountETH" } ], "expression": { @@ -48961,7 +49455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -48982,7 +49477,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -48994,7 +49490,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", @@ -49020,7 +49517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_address$", @@ -49068,7 +49566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 760, - "is_pure": false + "is_pure": false, + "text": "liquidity" }, "right_expression": { "id": 2272, @@ -49107,7 +49606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2277, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -49170,7 +49670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2237, - "is_pure": false + "is_pure": false, + "text": "pair" } ], "expression": { @@ -49191,7 +49692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -49203,7 +49705,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IUniswapV2Pair(pair).mint" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -49218,7 +49721,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "liquidity=IUniswapV2Pair(pair).mint(to);" }, { "id": 2278, @@ -49286,14 +49790,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { "id": 2282, @@ -49313,7 +49819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1456, - "is_pure": false + "is_pure": false, + "text": "amountETH" }, "type_description": { "type_identifier": "t_bool", @@ -49380,7 +49887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2213, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -49839,13 +50347,14 @@ } ] }, - "signature_raw": "addLiquidityETH(address, uint, uint, uint, address, uint)", - "signature": "2fee9b1f", + "signature_raw": "addLiquidityETH(address,uint,uint,uint,address,uint)", + "signature": "1a3042d8", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionaddLiquidityETH(addresstoken,uintamountTokenDesired,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline)externalvirtualoverridepayableensure(deadline)returns(uintamountToken,uintamountETH,uintliquidity){(amountToken,amountETH)=_addLiquidity(token,WETH,amountTokenDesired,msg.value,amountTokenMin,amountETHMin);addresspair=MainLibrary.pairFor(factory,token,WETH);TransferHelper.safeTransferFrom(token,msg.sender,pair,amountToken);IWETH(WETH).deposit{value:amountETH}();assert(IWETH(WETH).transfer(pair,amountETH));liquidity=IUniswapV2Pair(pair).mint(to);if(msg.value\u003eamountETH)TransferHelper.safeTransferETH(msg.sender,msg.value-amountETH);}" }, { "id": 2285, @@ -49988,7 +50497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2318, @@ -50014,7 +50524,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenA" }, { "id": 2319, @@ -50044,7 +50555,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -50088,14 +50600,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -50171,14 +50685,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2327, @@ -50204,7 +50720,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "pair" }, { "id": 2328, @@ -50234,7 +50751,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "liquidity" } ], "expression": { @@ -50297,7 +50815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2311, - "is_pure": false + "is_pure": false, + "text": "pair" } ], "expression": { @@ -50318,7 +50837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -50330,7 +50850,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IUniswapV2Pair(pair).transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -50479,7 +51000,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2339, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -50542,7 +51064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2311, - "is_pure": false + "is_pure": false, + "text": "pair" } ], "expression": { @@ -50563,7 +51086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -50575,7 +51099,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IUniswapV2Pair(pair).burn" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -50685,7 +51210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2346, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 2347, @@ -50711,7 +51237,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -50755,14 +51282,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "sortTokens", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.sortTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -50825,7 +51354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1019, - "is_pure": false + "is_pure": false, + "text": "amountA" }, { "id": 2352, @@ -50845,7 +51375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "amountB" } ], "type_description": { @@ -50897,7 +51428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2356, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, "right_expression": { "id": 2357, @@ -50917,7 +51449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2340, - "is_pure": false + "is_pure": false, + "text": "token0" }, "type_description": { "type_identifier": "t_bool", @@ -50956,7 +51489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2329, - "is_pure": false + "is_pure": false, + "text": "amount0" }, { "id": 2360, @@ -50976,7 +51510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2329, - "is_pure": false + "is_pure": false, + "text": "amount1" } ], "type_description": { @@ -51016,7 +51551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2329, - "is_pure": false + "is_pure": false, + "text": "amount1" }, { "id": 2363, @@ -51036,7 +51572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2329, - "is_pure": false + "is_pure": false, + "text": "amount0" } ], "type_description": { @@ -51069,7 +51606,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(amountA,amountB)=tokenA==token0?(amount0,amount1):(amount1,amount0);" }, { "id": 2364, @@ -51126,7 +51664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1019, - "is_pure": false + "is_pure": false, + "text": "amountA" }, "right_expression": { "id": 2368, @@ -51146,7 +51685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2368, - "is_pure": false + "is_pure": false, + "text": "amountAMin" }, "type_description": { "type_identifier": "t_bool", @@ -51179,7 +51719,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INSUFFICIENT_A_AMOUNT'" } ], "expression": { @@ -51200,7 +51741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -51262,7 +51804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "amountB" }, "right_expression": { "id": 2374, @@ -51282,7 +51825,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2374, - "is_pure": false + "is_pure": false, + "text": "amountBMin" }, "type_description": { "type_identifier": "t_bool", @@ -51315,7 +51859,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INSUFFICIENT_B_AMOUNT'" } ], "expression": { @@ -51336,7 +51881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -51388,7 +51934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2303, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -51848,13 +52395,14 @@ } ] }, - "signature_raw": "removeLiquidity(address, address, uint, uint, uint, address, uint)", - "signature": "959ccb42", + "signature_raw": "removeLiquidity(address,address,uint,uint,uint,address,uint)", + "signature": "7346927d", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidity(addresstokenA,addresstokenB,uintliquidity,uintamountAMin,uintamountBMin,addressto,uintdeadline)publicvirtualoverrideensure(deadline)returns(uintamountA,uintamountB){addresspair=MainLibrary.pairFor(factory,tokenA,tokenB);IUniswapV2Pair(pair).transferFrom(msg.sender,pair,liquidity);(uintamount0,uintamount1)=IUniswapV2Pair(pair).burn(to);(addresstoken0,)=MainLibrary.sortTokens(tokenA,tokenB);(amountA,amountB)=tokenA==token0?(amount0,amount1):(amount1,amount0);require(amountA\u003e=amountAMin,'RouterV2: INSUFFICIENT_A_AMOUNT');require(amountB\u003e=amountBMin,'RouterV2: INSUFFICIENT_B_AMOUNT');}" }, { "id": 2377, @@ -51946,7 +52494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1454, - "is_pure": false + "is_pure": false, + "text": "amountToken" }, { "id": 2405, @@ -51966,7 +52515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1456, - "is_pure": false + "is_pure": false, + "text": "amountETH" } ], "type_description": { @@ -52035,7 +52585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2408, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 2409, @@ -52061,7 +52612,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "WETH" }, { "id": 2410, @@ -52091,7 +52643,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "liquidity" }, { "id": 2411, @@ -52125,7 +52678,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountTokenMin" }, { "id": 2412, @@ -52163,7 +52717,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountETHMin" }, { "id": 2413, @@ -52202,7 +52757,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -52248,7 +52804,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -52299,7 +52856,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "deadline" } ], "expression": { @@ -52320,7 +52878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "removeLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_function_$_t_address$_t_uint256$", @@ -52335,7 +52894,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(amountToken,amountETH)=removeLiquidity(token,WETH,liquidity,amountTokenMin,amountETHMin,address(this),deadline);" }, { "id": 2418, @@ -52382,7 +52942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2421, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 2422, @@ -52408,7 +52969,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2423, @@ -52438,7 +53000,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountToken" } ], "expression": { @@ -52482,14 +53045,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -52533,7 +53098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "amountETH" } ], "expression": { @@ -52596,7 +53162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -52617,7 +53184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -52629,7 +53197,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).withdraw" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -52677,7 +53246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2433, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2434, @@ -52703,7 +53273,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountETH" } ], "expression": { @@ -52747,14 +53318,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferETH", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferETH" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", @@ -52806,7 +53379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2393, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -53222,13 +53796,14 @@ } ] }, - "signature_raw": "removeLiquidityETH(address, uint, uint, uint, address, uint)", - "signature": "04b63022", + "signature_raw": "removeLiquidityETH(address,uint,uint,uint,address,uint)", + "signature": "a0a3fe6a", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETH(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline)publicvirtualoverrideensure(deadline)returns(uintamountToken,uintamountETH){(amountToken,amountETH)=removeLiquidity(token,WETH,liquidity,amountTokenMin,amountETHMin,address(this),deadline);TransferHelper.safeTransfer(token,to,amountToken);IWETH(WETH).withdraw(amountETH);TransferHelper.safeTransferETH(to,amountETH);}" }, { "id": 2436, @@ -53371,7 +53946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2474, @@ -53397,7 +53973,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "tokenA" }, { "id": 2475, @@ -53427,7 +54004,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { @@ -53471,14 +54049,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -53576,7 +54156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2481, - "is_pure": false + "is_pure": false, + "text": "approveMax" }, { "id": 2482, @@ -53623,7 +54204,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint).max" }, { "id": 2484, @@ -53643,7 +54225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2484, - "is_pure": false + "is_pure": false, + "text": "liquidity" } ], "type_descriptions": [ @@ -53747,14 +54330,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2492, @@ -53793,7 +54378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -53839,7 +54425,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -53874,7 +54461,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "value" }, { "id": 2497, @@ -53908,7 +54496,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 2498, @@ -53946,7 +54535,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 2499, @@ -53988,7 +54578,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 2500, @@ -54034,7 +54625,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -54097,7 +54689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2467, - "is_pure": false + "is_pure": false, + "text": "pair" } ], "expression": { @@ -54118,7 +54711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -54130,7 +54724,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IUniswapV2Pair(pair).permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -54192,7 +54787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1019, - "is_pure": false + "is_pure": false, + "text": "amountA" }, { "id": 2505, @@ -54212,7 +54808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "amountB" } ], "type_description": { @@ -54281,7 +54878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2508, - "is_pure": false + "is_pure": false, + "text": "tokenA" }, { "id": 2509, @@ -54307,7 +54905,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" }, { "id": 2510, @@ -54337,7 +54936,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "liquidity" }, { "id": 2511, @@ -54371,7 +54971,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountAMin" }, { "id": 2512, @@ -54409,7 +55010,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountBMin" }, { "id": 2513, @@ -54451,7 +55053,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "to" }, { "id": 2514, @@ -54497,7 +55100,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "deadline" } ], "expression": { @@ -54518,7 +55122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "removeLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", @@ -54533,7 +55138,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(amountA,amountB)=removeLiquidity(tokenA,tokenB,liquidity,amountAMin,amountBMin,to,deadline);" } ] }, @@ -55156,13 +55762,14 @@ } ] }, - "signature_raw": "removeLiquidityWithPermit(address, address, uint, uint, uint, address, uint, bool, uint8, bytes32, bytes32)", - "signature": "2c8a3383", + "signature_raw": "removeLiquidityWithPermit(address,address,uint,uint,uint,address,uint,bool,uint8,bytes32,bytes32)", + "signature": "0aaecef9", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityWithPermit(addresstokenA,addresstokenB,uintliquidity,uintamountAMin,uintamountBMin,addressto,uintdeadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalvirtualoverridereturns(uintamountA,uintamountB){addresspair=MainLibrary.pairFor(factory,tokenA,tokenB);uintvalue=approveMax?type(uint).max:liquidity;IUniswapV2Pair(pair).permit(msg.sender,address(this),value,deadline,v,r,s);(amountA,amountB)=removeLiquidity(tokenA,tokenB,liquidity,amountAMin,amountBMin,to,deadline);}" }, { "id": 2516, @@ -55305,7 +55912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2552, @@ -55331,7 +55939,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "token" }, { "id": 2553, @@ -55361,7 +55970,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "WETH" } ], "expression": { @@ -55405,14 +56015,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$", @@ -55510,7 +56122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2559, - "is_pure": false + "is_pure": false, + "text": "approveMax" }, { "id": 2560, @@ -55557,7 +56170,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint).max" }, { "id": 2562, @@ -55577,7 +56191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2562, - "is_pure": false + "is_pure": false, + "text": "liquidity" } ], "type_descriptions": [ @@ -55681,14 +56296,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2570, @@ -55727,7 +56344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -55773,7 +56391,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -55808,7 +56427,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "value" }, { "id": 2575, @@ -55842,7 +56462,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 2576, @@ -55880,7 +56501,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 2577, @@ -55922,7 +56544,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 2578, @@ -55968,7 +56591,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -56031,7 +56655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2545, - "is_pure": false + "is_pure": false, + "text": "pair" } ], "expression": { @@ -56052,7 +56677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -56064,7 +56690,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IUniswapV2Pair(pair).permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -56126,7 +56753,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1454, - "is_pure": false + "is_pure": false, + "text": "amountToken" }, { "id": 2583, @@ -56146,7 +56774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1456, - "is_pure": false + "is_pure": false, + "text": "amountETH" } ], "type_description": { @@ -56211,7 +56840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2586, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 2587, @@ -56237,7 +56867,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "liquidity" }, { "id": 2588, @@ -56267,7 +56898,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountTokenMin" }, { "id": 2589, @@ -56301,7 +56933,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountETHMin" }, { "id": 2590, @@ -56339,7 +56972,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "to" }, { "id": 2591, @@ -56381,7 +57015,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "deadline" } ], "expression": { @@ -56402,7 +57037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "removeLiquidityETH" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", @@ -56417,7 +57053,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(amountToken,amountETH)=removeLiquidityETH(token,liquidity,amountTokenMin,amountETHMin,to,deadline);" } ] }, @@ -56996,13 +57633,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermit(address, uint, uint, uint, address, uint, bool, uint8, bytes32, bytes32)", - "signature": "219bd6e0", + "signature_raw": "removeLiquidityETHWithPermit(address,uint,uint,uint,address,uint,bool,uint8,bytes32,bytes32)", + "signature": "425c944c", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermit(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalvirtualoverridereturns(uintamountToken,uintamountETH){addresspair=MainLibrary.pairFor(factory,token,WETH);uintvalue=approveMax?type(uint).max:liquidity;IUniswapV2Pair(pair).permit(msg.sender,address(this),value,deadline,v,r,s);(amountToken,amountETH)=removeLiquidityETH(token,liquidity,amountTokenMin,amountETHMin,to,deadline);}" }, { "id": 2593, @@ -57094,7 +57732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1456, - "is_pure": false + "is_pure": false, + "text": "amountETH" } ], "type_description": { @@ -57163,7 +57802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2621, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 2622, @@ -57189,7 +57829,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "WETH" }, { "id": 2623, @@ -57219,7 +57860,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "liquidity" }, { "id": 2624, @@ -57253,7 +57895,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountTokenMin" }, { "id": 2625, @@ -57291,7 +57934,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountETHMin" }, { "id": 2626, @@ -57330,7 +57974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -57376,7 +58021,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -57427,7 +58073,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "deadline" } ], "expression": { @@ -57448,7 +58095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "removeLiquidity" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_function_$_t_address$_t_uint256$", @@ -57463,7 +58111,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" - } + }, + "text": "(,amountETH)=removeLiquidity(token,WETH,liquidity,amountTokenMin,amountETHMin,address(this),deadline);" }, { "id": 2631, @@ -57510,7 +58159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2634, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 2635, @@ -57536,7 +58186,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 2636, @@ -57594,7 +58245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -57640,7 +58292,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -57708,7 +58361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2640, - "is_pure": false + "is_pure": false, + "text": "token" } ], "expression": { @@ -57729,7 +58383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -57741,7 +58396,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(token).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -57790,14 +58446,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$", @@ -57841,7 +58499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "amountETH" } ], "expression": { @@ -57904,7 +58563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -57925,7 +58585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -57937,7 +58598,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).withdraw" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -57985,7 +58647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2654, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 2655, @@ -58011,7 +58674,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountETH" } ], "expression": { @@ -58055,14 +58719,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferETH", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferETH" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", @@ -58114,7 +58780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2609, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -58487,13 +59154,14 @@ } ] }, - "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address, uint, uint, uint, address, uint)", - "signature": "af9b0077", + "signature_raw": "removeLiquidityETHSupportingFeeOnTransferTokens(address,uint,uint,uint,address,uint)", + "signature": "1d7868d9", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256,address,uint256)" - } + }, + "text": "functionremoveLiquidityETHSupportingFeeOnTransferTokens(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline)publicvirtualoverrideensure(deadline)returns(uintamountETH){(,amountETH)=removeLiquidity(token,WETH,liquidity,amountTokenMin,amountETHMin,address(this),deadline);TransferHelper.safeTransfer(token,to,IERC20(token).balanceOf(address(this)));IWETH(WETH).withdraw(amountETH);TransferHelper.safeTransferETH(to,amountETH);}" }, { "id": 2657, @@ -58636,7 +59304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2691, @@ -58662,7 +59331,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "token" }, { "id": 2692, @@ -58692,7 +59362,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "WETH" } ], "expression": { @@ -58736,14 +59407,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_function_$_t_address$", @@ -58841,7 +59514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2698, - "is_pure": false + "is_pure": false, + "text": "approveMax" }, { "id": 2699, @@ -58888,7 +59562,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint).max" }, { "id": 2701, @@ -58908,7 +59583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2701, - "is_pure": false + "is_pure": false, + "text": "liquidity" } ], "type_descriptions": [ @@ -59012,14 +59688,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2709, @@ -59058,7 +59736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -59104,7 +59783,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -59139,7 +59819,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "value" }, { "id": 2714, @@ -59173,7 +59854,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "deadline" }, { "id": 2715, @@ -59211,7 +59893,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "v" }, { "id": 2716, @@ -59253,7 +59936,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { "id": 2717, @@ -59299,7 +59983,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { @@ -59362,7 +60047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2684, - "is_pure": false + "is_pure": false, + "text": "pair" } ], "expression": { @@ -59383,7 +60069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -59395,7 +60082,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IUniswapV2Pair(pair).permit" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", @@ -59443,7 +60131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1456, - "is_pure": false + "is_pure": false, + "text": "amountETH" }, "right_expression": { "id": 2721, @@ -59502,7 +60191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2723, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 2724, @@ -59528,7 +60218,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "liquidity" }, { "id": 2725, @@ -59558,7 +60249,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountTokenMin" }, { "id": 2726, @@ -59592,7 +60284,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amountETHMin" }, { "id": 2727, @@ -59630,7 +60323,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "to" }, { "id": 2728, @@ -59672,7 +60366,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "deadline" } ], "expression": { @@ -59693,7 +60388,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "removeLiquidityETHSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$", @@ -59708,7 +60404,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountETH=removeLiquidityETHSupportingFeeOnTransferTokens(token,liquidity,amountTokenMin,amountETHMin,to,deadline);" } ] }, @@ -60244,13 +60941,14 @@ } ] }, - "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address, uint, uint, uint, address, uint, bool, uint8, bytes32, bytes32)", - "signature": "26ee6d15", + "signature_raw": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint,uint,uint,address,uint,bool,uint8,bytes32,bytes32)", + "signature": "d0f98043", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$_t_address$_t_uint256$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionremoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(addresstoken,uintliquidity,uintamountTokenMin,uintamountETHMin,addressto,uintdeadline,boolapproveMax,uint8v,bytes32r,bytes32s)externalvirtualoverridereturns(uintamountETH){addresspair=MainLibrary.pairFor(factory,token,WETH);uintvalue=approveMax?type(uint).max:liquidity;IUniswapV2Pair(pair).permit(msg.sender,address(this),value,deadline,v,r,s);amountETH=removeLiquidityETHSupportingFeeOnTransferTokens(token,liquidity,amountTokenMin,amountETHMin,to,deadline);}" }, { "id": 2730, @@ -60391,7 +61089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 2746, @@ -60448,14 +61147,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 2748, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 2749, @@ -60477,7 +61178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -60520,7 +61222,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -60696,7 +61399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2761, @@ -60716,7 +61420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -60762,7 +61467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2764, @@ -60796,7 +61502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 2766, @@ -60818,7 +61525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -60949,7 +61657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2753, - "is_pure": false + "is_pure": false, + "text": "input" }, { "id": 2774, @@ -60975,7 +61684,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "output" } ], "expression": { @@ -61019,14 +61729,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "sortTokens", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.sortTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -61123,7 +61835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 2780, @@ -61157,7 +61870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 2782, @@ -61179,7 +61893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -61351,7 +62066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2753, - "is_pure": false + "is_pure": false, + "text": "input" }, "right_expression": { "id": 2792, @@ -61371,7 +62087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2767, - "is_pure": false + "is_pure": false, + "text": "token0" }, "type_description": { "type_identifier": "t_bool", @@ -61431,7 +62148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -61476,7 +62194,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -61501,7 +62220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2775, - "is_pure": false + "is_pure": false, + "text": "amountOut" } ], "type_description": { @@ -61541,7 +62261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2775, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, { "id": 2801, @@ -61582,7 +62303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -61627,7 +62349,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -61763,7 +62486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 2812, @@ -61820,14 +62544,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 2815, @@ -61849,7 +62575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_address", @@ -61906,7 +62633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2820, @@ -61932,7 +62660,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "output" }, { "id": 2821, @@ -61963,7 +62692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2823, @@ -61997,7 +62727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 2825, @@ -62019,7 +62750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -62083,14 +62815,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", @@ -62115,7 +62849,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2736, - "is_pure": false + "is_pure": false, + "text": "_to" } ], "type_descriptions": [ @@ -62184,7 +62919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2783, - "is_pure": false + "is_pure": false, + "text": "amount0Out" }, { "id": 2838, @@ -62210,7 +62946,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amount1Out" }, { "id": 2839, @@ -62240,7 +62977,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "to" }, { "id": 2840, @@ -62281,7 +63019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -62412,7 +63151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2835, @@ -62438,7 +63178,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "input" }, { "id": 2836, @@ -62468,7 +63209,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "output" } ], "expression": { @@ -62512,14 +63254,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -62545,7 +63289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$", @@ -62557,7 +63302,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$", "type_string": "function(function(function(),address,address))" - } + }, + "text": "IUniswapV2Pair(MainLibrary.pairFor(factory,input,output)).swap" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_function_$_t_rational_0_by_1$", @@ -62735,13 +63481,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_swap(uint, address, address)", - "signature": "4070b776", + "signature_raw": "_swap(uint,address,address)", + "signature": "b0946c4a", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$", "type_string": "function(uint256,address,address)" - } + }, + "text": "function_swap(uint[]memoryamounts,address[]memorypath,address_to)internalvirtual{for(uinti;i\u003cpath.length-1;i++){(addressinput,addressoutput)=(path[i],path[i+1]);(addresstoken0,)=MainLibrary.sortTokens(input,output);uintamountOut=amounts[i+1];(uintamount0Out,uintamount1Out)=input==token0?(uint(0),amountOut):(amountOut,uint(0));addressto=i\u003cpath.length-2?MainLibrary.pairFor(factory,output,path[i+2]):_to;IUniswapV2Pair(MainLibrary.pairFor(factory,input,output)).swap(amount0Out,amount1Out,to,newbytes(0));}}" }, { "id": 2845, @@ -62819,7 +63566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 2868, @@ -62866,7 +63614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2872, @@ -62892,7 +63641,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountIn" }, { "id": 2873, @@ -62922,7 +63672,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" } ], "expression": { @@ -62966,14 +63717,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountsOut", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountsOut" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -62988,7 +63741,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=MainLibrary.getAmountsOut(factory,amountIn,path);" }, { "id": 2874, @@ -63056,7 +63810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 2879, @@ -63113,14 +63868,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { "id": 2882, @@ -63142,7 +63899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -63182,7 +63940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2883, - "is_pure": false + "is_pure": false, + "text": "amountOutMin" }, "type_description": { "type_identifier": "t_bool", @@ -63215,7 +63974,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT'" } ], "expression": { @@ -63236,7 +63996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -63303,7 +64064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2889, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2890, @@ -63325,7 +64087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -63383,7 +64146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -63395,7 +64159,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2893, @@ -63442,7 +64207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2897, @@ -63473,7 +64239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2898, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2899, @@ -63495,7 +64262,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -63541,7 +64309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2901, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2902, @@ -63563,7 +64332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -63622,14 +64392,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -63665,7 +64437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 2905, @@ -63687,7 +64460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -63746,14 +64520,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_address$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -63805,7 +64581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "amounts" }, { "id": 2909, @@ -63831,7 +64608,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "path" }, { "id": 2910, @@ -63861,7 +64639,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" } ], "expression": { @@ -63882,7 +64661,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swap" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -63934,7 +64714,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2859, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -64263,13 +65044,14 @@ } ] }, - "signature_raw": "swapExactTokensForTokens(uint, uint, address, address, uint)", - "signature": "ece6af29", + "signature_raw": "swapExactTokensForTokens(uint,uint,address,address,uint)", + "signature": "10d8dae7", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalvirtualoverrideensure(deadline)returns(uint[]memoryamounts){amounts=MainLibrary.getAmountsOut(factory,amountIn,path);require(amounts[amounts.length-1]\u003e=amountOutMin,'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT');TransferHelper.safeTransferFrom(path[0],msg.sender,MainLibrary.pairFor(factory,path[0],path[1]),amounts[0]);_swap(amounts,path,to);}" }, { "id": 2912, @@ -64347,7 +65129,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 2935, @@ -64394,7 +65177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2939, @@ -64420,7 +65204,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountOut" }, { "id": 2940, @@ -64450,7 +65235,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" } ], "expression": { @@ -64494,14 +65280,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountsIn", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountsIn" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -64516,7 +65304,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=MainLibrary.getAmountsIn(factory,amountOut,path);" }, { "id": 2941, @@ -64584,7 +65373,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 2946, @@ -64606,7 +65396,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -64641,7 +65432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2947, - "is_pure": false + "is_pure": false, + "text": "amountInMax" }, "type_description": { "type_identifier": "t_bool", @@ -64674,7 +65466,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: EXCESSIVE_INPUT_AMOUNT'" } ], "expression": { @@ -64695,7 +65488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -64762,7 +65556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2953, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2954, @@ -64784,7 +65579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -64842,7 +65638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -64854,7 +65651,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 2957, @@ -64901,7 +65699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 2961, @@ -64932,7 +65731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2962, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2963, @@ -64954,7 +65754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -65000,7 +65801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2965, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2966, @@ -65022,7 +65824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -65081,14 +65884,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -65124,7 +65929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 2969, @@ -65146,7 +65952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -65205,14 +66012,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_address$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -65264,7 +66073,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "amounts" }, { "id": 2973, @@ -65290,7 +66100,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "path" }, { "id": 2974, @@ -65320,7 +66131,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" } ], "expression": { @@ -65341,7 +66153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swap" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -65393,7 +66206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2926, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -65722,13 +66536,14 @@ } ] }, - "signature_raw": "swapTokensForExactTokens(uint, uint, address, address, uint)", - "signature": "30151227", + "signature_raw": "swapTokensForExactTokens(uint,uint,address,address,uint)", + "signature": "fbf1f94e", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactTokens(uintamountOut,uintamountInMax,address[]calldatapath,addressto,uintdeadline)externalvirtualoverrideensure(deadline)returns(uint[]memoryamounts){amounts=MainLibrary.getAmountsIn(factory,amountOut,path);require(amounts[0]\u003c=amountInMax,'RouterV2: EXCESSIVE_INPUT_AMOUNT');TransferHelper.safeTransferFrom(path[0],msg.sender,MainLibrary.pairFor(factory,path[0],path[1]),amounts[0]);_swap(amounts,path,to);}" }, { "id": 2976, @@ -65831,7 +66646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2998, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 2999, @@ -65853,7 +66669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -65888,7 +66705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "WETH" }, "type_description": { "type_identifier": "t_bool", @@ -65921,7 +66739,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INVALID_PATH'" } ], "expression": { @@ -65942,7 +66761,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -65990,7 +66810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 3005, @@ -66037,7 +66858,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3009, @@ -66080,7 +66902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [ @@ -66092,7 +66915,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, { "id": 3011, @@ -66122,7 +66946,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" } ], "expression": { @@ -66166,14 +66991,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountsOut", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountsOut" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -66188,7 +67015,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=MainLibrary.getAmountsOut(factory,msg.value,path);" }, { "id": 3012, @@ -66256,7 +67084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3017, @@ -66313,14 +67142,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { "id": 3020, @@ -66342,7 +67173,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -66382,7 +67214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3021, - "is_pure": false + "is_pure": false, + "text": "amountOutMin" }, "type_description": { "type_identifier": "t_bool", @@ -66415,7 +67248,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT'" } ], "expression": { @@ -66436,7 +67270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -66529,7 +67364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -66550,7 +67386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -66562,7 +67399,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).deposit" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -66661,7 +67499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3040, @@ -66692,7 +67531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3041, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3042, @@ -66714,7 +67554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -66760,7 +67601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3044, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3045, @@ -66782,7 +67624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -66841,14 +67684,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -66884,7 +67729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3048, @@ -66906,7 +67752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -66984,7 +67831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -67005,7 +67853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -67017,7 +67866,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -67043,7 +67893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -67095,7 +67946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "amounts" }, { "id": 3052, @@ -67121,7 +67973,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "path" }, { "id": 3053, @@ -67151,7 +68004,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" } ], "expression": { @@ -67172,7 +68026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swap" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -67224,7 +68079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2988, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -67510,13 +68366,14 @@ } ] }, - "signature_raw": "swapExactETHForTokens(uint, address, address, uint)", - "signature": "604dbf42", + "signature_raw": "swapExactETHForTokens(uint,address,address,uint)", + "signature": "319fbb40", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokens(uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalvirtualoverridepayableensure(deadline)returns(uint[]memoryamounts){require(path[0]==WETH,'RouterV2: INVALID_PATH');amounts=MainLibrary.getAmountsOut(factory,msg.value,path);require(amounts[amounts.length-1]\u003e=amountOutMin,'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT');IWETH(WETH).deposit{value:amounts[0]}();assert(IWETH(WETH).transfer(MainLibrary.pairFor(factory,path[0],path[1]),amounts[0]));_swap(amounts,path,to);}" }, { "id": 3055, @@ -67619,7 +68476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3079, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3080, @@ -67676,14 +68534,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3082, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 3083, @@ -67705,7 +68565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -67745,7 +68606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "WETH" }, "type_description": { "type_identifier": "t_bool", @@ -67778,7 +68640,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INVALID_PATH'" } ], "expression": { @@ -67799,7 +68662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -67847,7 +68711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 3089, @@ -67894,7 +68759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3093, @@ -67920,7 +68786,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountOut" }, { "id": 3094, @@ -67950,7 +68817,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" } ], "expression": { @@ -67994,14 +68862,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountsIn", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountsIn" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -68016,7 +68886,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=MainLibrary.getAmountsIn(factory,amountOut,path);" }, { "id": 3095, @@ -68084,7 +68955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3100, @@ -68106,7 +68978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -68141,7 +69014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3101, - "is_pure": false + "is_pure": false, + "text": "amountInMax" }, "type_description": { "type_identifier": "t_bool", @@ -68174,7 +69048,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: EXCESSIVE_INPUT_AMOUNT'" } ], "expression": { @@ -68195,7 +69070,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -68262,7 +69138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3107, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3108, @@ -68284,7 +69161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -68342,7 +69220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -68354,7 +69233,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 3111, @@ -68401,7 +69281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3115, @@ -68432,7 +69313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3116, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3117, @@ -68454,7 +69336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -68500,7 +69383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3119, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3120, @@ -68522,7 +69406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -68581,14 +69466,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -68624,7 +69511,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3123, @@ -68646,7 +69534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -68705,14 +69594,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_address$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -68764,7 +69655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "amounts" }, { "id": 3127, @@ -68790,7 +69682,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "path" }, { "id": 3128, @@ -68829,7 +69722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -68875,7 +69769,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -68901,7 +69796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swap" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_address$", @@ -68956,7 +69852,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3139, @@ -69013,14 +69910,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { "id": 3142, @@ -69042,7 +69941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -69125,7 +70025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -69146,7 +70047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -69158,7 +70060,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).withdraw" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$", @@ -69206,7 +70109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3146, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 3147, @@ -69237,7 +70141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3149, @@ -69294,14 +70199,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { "id": 3152, @@ -69323,7 +70230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -69387,14 +70295,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferETH", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferETH" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_[_[$_t_uint256]$_t_uint256]$", @@ -69446,7 +70356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3069, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -69775,13 +70686,14 @@ } ] }, - "signature_raw": "swapTokensForExactETH(uint, uint, address, address, uint)", - "signature": "f2d4558a", + "signature_raw": "swapTokensForExactETH(uint,uint,address,address,uint)", + "signature": "c553bfbd", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapTokensForExactETH(uintamountOut,uintamountInMax,address[]calldatapath,addressto,uintdeadline)externalvirtualoverrideensure(deadline)returns(uint[]memoryamounts){require(path[path.length-1]==WETH,'RouterV2: INVALID_PATH');amounts=MainLibrary.getAmountsIn(factory,amountOut,path);require(amounts[0]\u003c=amountInMax,'RouterV2: EXCESSIVE_INPUT_AMOUNT');TransferHelper.safeTransferFrom(path[0],msg.sender,MainLibrary.pairFor(factory,path[0],path[1]),amounts[0]);_swap(amounts,path,address(this));IWETH(WETH).withdraw(amounts[amounts.length-1]);TransferHelper.safeTransferETH(to,amounts[amounts.length-1]);}" }, { "id": 3154, @@ -69884,7 +70796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3178, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3179, @@ -69941,14 +70854,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3181, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 3182, @@ -69970,7 +70885,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -70010,7 +70926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "WETH" }, "type_description": { "type_identifier": "t_bool", @@ -70043,7 +70960,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INVALID_PATH'" } ], "expression": { @@ -70064,7 +70982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -70112,7 +71031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 3188, @@ -70159,7 +71079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3192, @@ -70185,7 +71106,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountIn" }, { "id": 3193, @@ -70215,7 +71137,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" } ], "expression": { @@ -70259,14 +71182,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountsOut", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountsOut" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -70281,7 +71206,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=MainLibrary.getAmountsOut(factory,amountIn,path);" }, { "id": 3194, @@ -70349,7 +71275,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3199, @@ -70406,14 +71333,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { "id": 3202, @@ -70435,7 +71364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -70475,7 +71405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3203, - "is_pure": false + "is_pure": false, + "text": "amountOutMin" }, "type_description": { "type_identifier": "t_bool", @@ -70508,7 +71439,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT'" } ], "expression": { @@ -70529,7 +71461,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -70596,7 +71529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3209, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3210, @@ -70618,7 +71552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -70676,7 +71611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -70688,7 +71624,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 3213, @@ -70735,7 +71672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3217, @@ -70766,7 +71704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3218, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3219, @@ -70788,7 +71727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -70834,7 +71774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3221, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3222, @@ -70856,7 +71797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -70915,14 +71857,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -70958,7 +71902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3225, @@ -70980,7 +71925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -71039,14 +71985,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_address$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -71098,7 +72046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "amounts" }, { "id": 3229, @@ -71124,7 +72073,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "path" }, { "id": 3230, @@ -71163,7 +72113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -71209,7 +72160,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -71235,7 +72187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swap" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_function_$_t_address$", @@ -71290,7 +72243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3241, @@ -71347,14 +72301,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { "id": 3244, @@ -71376,7 +72332,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -71459,7 +72416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -71480,7 +72438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -71492,7 +72451,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).withdraw" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$", @@ -71540,7 +72500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3248, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 3249, @@ -71571,7 +72532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3251, @@ -71628,14 +72590,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { "id": 3254, @@ -71657,7 +72621,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -71721,14 +72686,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferETH", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferETH" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_[_[$_t_uint256]$_t_uint256]$", @@ -71780,7 +72747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3168, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -72109,13 +73077,14 @@ } ] }, - "signature_raw": "swapExactTokensForETH(uint, uint, address, address, uint)", - "signature": "d76f794b", + "signature_raw": "swapExactTokensForETH(uint,uint,address,address,uint)", + "signature": "717eb54c", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETH(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalvirtualoverrideensure(deadline)returns(uint[]memoryamounts){require(path[path.length-1]==WETH,'RouterV2: INVALID_PATH');amounts=MainLibrary.getAmountsOut(factory,amountIn,path);require(amounts[amounts.length-1]\u003e=amountOutMin,'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT');TransferHelper.safeTransferFrom(path[0],msg.sender,MainLibrary.pairFor(factory,path[0],path[1]),amounts[0]);_swap(amounts,path,address(this));IWETH(WETH).withdraw(amounts[amounts.length-1]);TransferHelper.safeTransferETH(to,amounts[amounts.length-1]);}" }, { "id": 3256, @@ -72218,7 +73187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3278, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3279, @@ -72240,7 +73210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -72275,7 +73246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "WETH" }, "type_description": { "type_identifier": "t_bool", @@ -72308,7 +73280,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INVALID_PATH'" } ], "expression": { @@ -72329,7 +73302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -72377,7 +73351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "right_expression": { "id": 3285, @@ -72424,7 +73399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3289, @@ -72450,7 +73426,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountOut" }, { "id": 3290, @@ -72480,7 +73457,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" } ], "expression": { @@ -72524,14 +73502,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountsIn", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountsIn" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -72546,7 +73526,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=MainLibrary.getAmountsIn(factory,amountOut,path);" }, { "id": 3291, @@ -72614,7 +73595,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3296, @@ -72636,7 +73618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -72694,14 +73677,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "type_description": { "type_identifier": "t_bool", @@ -72734,7 +73719,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: EXCESSIVE_INPUT_AMOUNT'" } ], "expression": { @@ -72755,7 +73741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -72848,7 +73835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -72869,7 +73857,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -72881,7 +73870,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).deposit" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -72980,7 +73970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3317, @@ -73011,7 +74002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3318, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3319, @@ -73033,7 +74025,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -73079,7 +74072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3321, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3322, @@ -73101,7 +74095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -73160,14 +74155,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -73203,7 +74200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3325, @@ -73225,7 +74223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -73303,7 +74302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -73324,7 +74324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -73336,7 +74337,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -73362,7 +74364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -73414,7 +74417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "amounts" }, { "id": 3329, @@ -73440,7 +74444,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "path" }, { "id": 3330, @@ -73470,7 +74475,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" } ], "expression": { @@ -73491,7 +74497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swap" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -73564,14 +74571,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { "id": 3335, @@ -73602,7 +74611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1235, - "is_pure": false + "is_pure": false, + "text": "amounts" }, "base_expression": { "id": 3337, @@ -73624,7 +74634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -73706,7 +74717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3268, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -73992,13 +75004,14 @@ } ] }, - "signature_raw": "swapETHForExactTokens(uint, address, address, uint)", - "signature": "25e2f1f4", + "signature_raw": "swapETHForExactTokens(uint,address,address,uint)", + "signature": "4599eb31", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapETHForExactTokens(uintamountOut,address[]calldatapath,addressto,uintdeadline)externalvirtualoverridepayableensure(deadline)returns(uint[]memoryamounts){require(path[0]==WETH,'RouterV2: INVALID_PATH');amounts=MainLibrary.getAmountsIn(factory,amountOut,path);require(amounts[0]\u003c=msg.value,'RouterV2: EXCESSIVE_INPUT_AMOUNT');IWETH(WETH).deposit{value:amounts[0]}();assert(IWETH(WETH).transfer(MainLibrary.pairFor(factory,path[0],path[1]),amounts[0]));_swap(amounts,path,to);if(msg.value\u003eamounts[0])TransferHelper.safeTransferETH(msg.sender,msg.value-amounts[0]);}" }, { "id": 3340, @@ -74139,7 +75152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 3354, @@ -74196,14 +75210,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3356, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 3357, @@ -74225,7 +75241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -74268,7 +75285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -74444,7 +75462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3369, @@ -74464,7 +75483,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -74510,7 +75530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3372, @@ -74544,7 +75565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 3374, @@ -74566,7 +75588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -74697,7 +75720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3361, - "is_pure": false + "is_pure": false, + "text": "input" }, { "id": 3382, @@ -74723,7 +75747,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "output" } ], "expression": { @@ -74767,14 +75792,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "sortTokens", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.sortTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -74927,7 +75954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3393, @@ -74953,7 +75981,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "input" }, { "id": 3394, @@ -74983,7 +76012,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "output" } ], "expression": { @@ -75027,14 +76057,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -75060,7 +76092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$", @@ -75364,14 +76397,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 244, - "is_pure": false + "is_pure": false, + "text": "pair" }, "member_name": "getReserves", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "pair.getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -75528,7 +76563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2753, - "is_pure": false + "is_pure": false, + "text": "input" }, "right_expression": { "id": 3419, @@ -75548,7 +76584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 240, - "is_pure": false + "is_pure": false, + "text": "token0" }, "type_description": { "type_identifier": "t_bool", @@ -75587,7 +76624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3402, - "is_pure": false + "is_pure": false, + "text": "reserve0" }, { "id": 3422, @@ -75607,7 +76645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3402, - "is_pure": false + "is_pure": false, + "text": "reserve1" } ], "type_description": { @@ -75647,7 +76686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3402, - "is_pure": false + "is_pure": false, + "text": "reserve1" }, { "id": 3425, @@ -75667,7 +76707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3402, - "is_pure": false + "is_pure": false, + "text": "reserve0" } ], "type_description": { @@ -75734,7 +76775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3395, - "is_pure": false + "is_pure": false, + "text": "amountInput" }, "right_expression": { "id": 3429, @@ -75773,7 +76815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3410, - "is_pure": false + "is_pure": false, + "text": "reserveInput" } ], "expression": { @@ -75855,7 +76898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "pair" } ], "expression": { @@ -75901,7 +76945,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -75969,7 +77014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "input" } ], "expression": { @@ -75990,7 +77036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -76002,7 +77049,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(input).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", @@ -76014,7 +77062,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$", "type_string": "function(function(function()))" - } + }, + "text": "IERC20(input).balanceOf(address(pair)).sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -76029,7 +77078,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountInput=IERC20(input).balanceOf(address(pair)).sub(reserveInput);" }, { "id": 3441, @@ -76072,7 +77122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3398, - "is_pure": false + "is_pure": false, + "text": "amountOutput" }, "right_expression": { "id": 3444, @@ -76123,7 +77174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3448, @@ -76149,7 +77201,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountInput" }, { "id": 3449, @@ -76179,7 +77232,8 @@ "type_identifier": "t_function_$_t_function_$$", "type_string": "function(function())" } - ] + ], + "text": "reserveInput" }, { "id": 3450, @@ -76213,7 +77267,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOutput" } ], "expression": { @@ -76257,14 +77312,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountOut", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountOut" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_uint256$_t_uint256$", @@ -76279,7 +77336,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountOutput=MainLibrary.getAmountOut(factory,amountInput,reserveInput,reserveOutput);" } ] }, @@ -76432,7 +77490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3361, - "is_pure": false + "is_pure": false, + "text": "input" }, "right_expression": { "id": 3460, @@ -76452,7 +77511,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3375, - "is_pure": false + "is_pure": false, + "text": "token0" }, "type_description": { "type_identifier": "t_bool", @@ -76512,7 +77572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -76557,7 +77618,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -76582,7 +77644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3398, - "is_pure": false + "is_pure": false, + "text": "amountOutput" } ], "type_description": { @@ -76622,7 +77685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3398, - "is_pure": false + "is_pure": false, + "text": "amountOutput" }, { "id": 3469, @@ -76663,7 +77727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -76708,7 +77773,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -76844,7 +77910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 3480, @@ -76901,14 +77968,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 3483, @@ -76930,7 +77999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_address", @@ -76987,7 +78057,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3488, @@ -77013,7 +78084,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "output" }, { "id": 3489, @@ -77044,7 +78116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1232, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3491, @@ -77078,7 +78151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1260, - "is_pure": false + "is_pure": false, + "text": "i" }, "right_expression": { "id": 3493, @@ -77100,7 +78174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -77164,14 +78239,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", @@ -77196,7 +78273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2736, - "is_pure": false + "is_pure": false, + "text": "_to" } ], "type_descriptions": [ @@ -77265,7 +78343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3451, - "is_pure": false + "is_pure": false, + "text": "amount0Out" }, { "id": 3499, @@ -77291,7 +78370,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amount1Out" }, { "id": 3500, @@ -77321,7 +78401,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "to" }, { "id": 3501, @@ -77362,7 +78443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -77447,14 +78529,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3383, - "is_pure": false + "is_pure": false, + "text": "pair" }, "member_name": "swap", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IUniswapV2Pair_$472", "type_string": "contract IUniswapV2Pair" - } + }, + "text": "pair.swap" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_function_$_t_rational_0_by_1$", @@ -77589,13 +78673,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_swapSupportingFeeOnTransferTokens(address, address)", - "signature": "9faca12c", + "signature_raw": "_swapSupportingFeeOnTransferTokens(address,address)", + "signature": "095b6635", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "function_swapSupportingFeeOnTransferTokens(address[]memorypath,address_to)internalvirtual{for(uinti;i\u003cpath.length-1;i++){(addressinput,addressoutput)=(path[i],path[i+1]);(addresstoken0,)=MainLibrary.sortTokens(input,output);IUniswapV2Pairpair=IUniswapV2Pair(MainLibrary.pairFor(factory,input,output));uintamountInput;uintamountOutput;{(uintreserve0,uintreserve1,)=pair.getReserves();(uintreserveInput,uintreserveOutput)=input==token0?(reserve0,reserve1):(reserve1,reserve0);amountInput=IERC20(input).balanceOf(address(pair)).sub(reserveInput);amountOutput=MainLibrary.getAmountOut(factory,amountInput,reserveInput,reserveOutput);}(uintamount0Out,uintamount1Out)=input==token0?(uint(0),amountOutput):(amountOutput,uint(0));addressto=i\u003cpath.length-2?MainLibrary.pairFor(factory,output,path[i+2]):_to;pair.swap(amount0Out,amount1Out,to,newbytes(0));}}" }, { "id": 3506, @@ -77692,7 +78777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3528, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3529, @@ -77714,7 +78800,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -77772,7 +78859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -77784,7 +78872,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 3532, @@ -77831,7 +78920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3536, @@ -77862,7 +78952,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3537, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3538, @@ -77884,7 +78975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -77930,7 +79022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3540, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3541, @@ -77952,7 +79045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -78011,14 +79105,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -78057,7 +79153,8 @@ "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1])" } - ] + ], + "text": "amountIn" } ], "expression": { @@ -78101,14 +79198,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_address$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_uint256$", @@ -78212,7 +79311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3556, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -78286,7 +79386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3551, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3552, @@ -78343,14 +79444,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3554, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 3555, @@ -78372,7 +79475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -78413,7 +79517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_address]$", @@ -78425,7 +79530,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_address]$", "type_string": "function(index[address:address])" - } + }, + "text": "IERC20(path[path.length-1]).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -78474,7 +79580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3559, - "is_pure": false + "is_pure": false, + "text": "path" }, { "id": 3560, @@ -78500,7 +79607,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" } ], "expression": { @@ -78521,7 +79629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -78602,7 +79711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3543, - "is_pure": false + "is_pure": false, + "text": "balanceBefore" } ], "expression": { @@ -78665,7 +79775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3576, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -78739,7 +79850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3571, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3572, @@ -78796,14 +79908,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3574, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 3575, @@ -78825,7 +79939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -78866,7 +79981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_address]$", @@ -78878,7 +79994,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_address]$", "type_string": "function(index[address:address])" - } + }, + "text": "IERC20(path[path.length-1]).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -78890,7 +80007,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(path[path.length-1]).balanceOf(to).sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -78915,7 +80033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3578, - "is_pure": false + "is_pure": false, + "text": "amountOutMin" }, "type_description": { "type_identifier": "t_bool", @@ -78948,7 +80067,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT'" } ], "expression": { @@ -78969,7 +80089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -79021,7 +80142,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3520, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -79305,13 +80427,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint, uint, address, address, uint)", - "signature": "57614bd1", + "signature_raw": "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint,uint,address,address,uint)", + "signature": "22b0430c", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForTokensSupportingFeeOnTransferTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalvirtualoverrideensure(deadline){TransferHelper.safeTransferFrom(path[0],msg.sender,MainLibrary.pairFor(factory,path[0],path[1]),amountIn);uintbalanceBefore=IERC20(path[path.length-1]).balanceOf(to);_swapSupportingFeeOnTransferTokens(path,to);require(IERC20(path[path.length-1]).balanceOf(to).sub(balanceBefore)\u003e=amountOutMin,'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT');}" }, { "id": 3581, @@ -79414,7 +80537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3601, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3602, @@ -79436,7 +80560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -79471,7 +80596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "WETH" }, "type_description": { "type_identifier": "t_bool", @@ -79504,7 +80630,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INVALID_PATH'" } ], "expression": { @@ -79525,7 +80652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -79633,14 +80761,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" } }, { @@ -79729,7 +80859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -79750,7 +80881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -79762,7 +80894,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).deposit" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -79861,7 +80994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3627, @@ -79892,7 +81026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3628, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3629, @@ -79914,7 +81049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -79960,7 +81096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3631, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3632, @@ -79982,7 +81119,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -80041,14 +81179,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -80079,7 +81219,8 @@ "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1])" } - ] + ], + "text": "amountIn" } ], "expression": { @@ -80142,7 +81283,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -80163,7 +81305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -80175,7 +81318,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).transfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_uint256$", @@ -80201,7 +81345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_uint256$", @@ -80305,7 +81450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3647, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -80379,7 +81525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3642, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3643, @@ -80436,14 +81583,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3645, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 3646, @@ -80465,7 +81614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -80506,7 +81656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_address]$", @@ -80518,7 +81669,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_address]$", "type_string": "function(index[address:address])" - } + }, + "text": "IERC20(path[path.length-1]).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -80567,7 +81719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3650, - "is_pure": false + "is_pure": false, + "text": "path" }, { "id": 3651, @@ -80593,7 +81746,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" } ], "expression": { @@ -80614,7 +81768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -80695,7 +81850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3634, - "is_pure": false + "is_pure": false, + "text": "balanceBefore" } ], "expression": { @@ -80758,7 +81914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3667, - "is_pure": false + "is_pure": false, + "text": "to" } ], "expression": { @@ -80832,7 +81989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3662, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3663, @@ -80889,14 +82047,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3665, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 3666, @@ -80918,7 +82078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -80959,7 +82120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_address]$", @@ -80971,7 +82133,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_address]$", "type_string": "function(index[address:address])" - } + }, + "text": "IERC20(path[path.length-1]).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -80983,7 +82146,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(path[path.length-1]).balanceOf(to).sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -81008,7 +82172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3669, - "is_pure": false + "is_pure": false, + "text": "amountOutMin" }, "type_description": { "type_identifier": "t_bool", @@ -81041,7 +82206,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT'" } ], "expression": { @@ -81062,7 +82228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -81114,7 +82281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3593, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -81355,13 +82523,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint, address, address, uint)", - "signature": "87e8dbf8", + "signature_raw": "swapExactETHForTokensSupportingFeeOnTransferTokens(uint,address,address,uint)", + "signature": "83ac347c", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,address,address,uint256)" - } + }, + "text": "functionswapExactETHForTokensSupportingFeeOnTransferTokens(uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalvirtualoverridepayableensure(deadline){require(path[0]==WETH,'RouterV2: INVALID_PATH');uintamountIn=msg.value;IWETH(WETH).deposit{value:amountIn}();assert(IWETH(WETH).transfer(MainLibrary.pairFor(factory,path[0],path[1]),amountIn));uintbalanceBefore=IERC20(path[path.length-1]).balanceOf(to);_swapSupportingFeeOnTransferTokens(path,to);require(IERC20(path[path.length-1]).balanceOf(to).sub(balanceBefore)\u003e=amountOutMin,'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT');}" }, { "id": 3672, @@ -81464,7 +82633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3694, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3695, @@ -81521,14 +82691,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 3697, - "is_pure": false + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { "id": 3698, @@ -81550,7 +82722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -81590,7 +82763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 2003, - "is_pure": false + "is_pure": false, + "text": "WETH" }, "type_description": { "type_identifier": "t_bool", @@ -81623,7 +82797,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INVALID_PATH'" } ], "expression": { @@ -81644,7 +82819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -81711,7 +82887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3705, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3706, @@ -81733,7 +82910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -81791,7 +82969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -81803,7 +82982,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 3709, @@ -81850,7 +83030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3713, @@ -81881,7 +83062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3714, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3715, @@ -81903,7 +83085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -81949,7 +83132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3717, - "is_pure": false + "is_pure": false, + "text": "path" }, "base_expression": { "id": 3718, @@ -81971,7 +83155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -82030,14 +83215,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "pairFor", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -82076,7 +83263,8 @@ "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1])" } - ] + ], + "text": "amountIn" } ], "expression": { @@ -82120,14 +83308,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_address$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_uint256$", @@ -82175,7 +83365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3722, - "is_pure": false + "is_pure": false, + "text": "path" }, { "id": 3723, @@ -82214,7 +83405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -82260,7 +83452,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -82286,7 +83479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swapSupportingFeeOnTransferTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$", @@ -82409,7 +83603,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -82455,7 +83650,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -82523,7 +83719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -82544,7 +83741,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -82556,7 +83754,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(WETH).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -82619,7 +83818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3727, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { "id": 3743, @@ -82639,7 +83839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3743, - "is_pure": false + "is_pure": false, + "text": "amountOutMin" }, "type_description": { "type_identifier": "t_bool", @@ -82672,7 +83873,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT'" } ], "expression": { @@ -82693,7 +83895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -82737,7 +83940,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3727, - "is_pure": false + "is_pure": false, + "text": "amountOut" } ], "expression": { @@ -82800,7 +84004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "WETH" } ], "expression": { @@ -82821,7 +84026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -82833,7 +84039,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IWETH(WETH).withdraw" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -82881,7 +84088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3754, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 3755, @@ -82907,7 +84115,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountOut" } ], "expression": { @@ -82951,14 +84160,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 41, - "is_pure": false + "is_pure": false, + "text": "TransferHelper" }, "member_name": "safeTransferETH", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransferHelper_$41", "type_string": "contract TransferHelper" - } + }, + "text": "TransferHelper.safeTransferETH" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -83010,7 +84221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3686, - "is_pure": false + "is_pure": false, + "text": "deadline" } ], "modifier_name": { @@ -83294,13 +84506,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint, uint, address, address, uint)", - "signature": "07b16f31", + "signature_raw": "swapExactTokensForETHSupportingFeeOnTransferTokens(uint,uint,address,address,uint)", + "signature": "f9831ae0", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_uint256$", "type_string": "function(uint256,uint256,address,address,uint256)" - } + }, + "text": "functionswapExactTokensForETHSupportingFeeOnTransferTokens(uintamountIn,uintamountOutMin,address[]calldatapath,addressto,uintdeadline)externalvirtualoverrideensure(deadline){require(path[path.length-1]==WETH,'RouterV2: INVALID_PATH');TransferHelper.safeTransferFrom(path[0],msg.sender,MainLibrary.pairFor(factory,path[0],path[1]),amountIn);_swapSupportingFeeOnTransferTokens(path,address(this));uintamountOut=IERC20(WETH).balanceOf(address(this));require(amountOut\u003e=amountOutMin,'RouterV2: INSUFFICIENT_OUTPUT_AMOUNT');IWETH(WETH).withdraw(amountOut);TransferHelper.safeTransferETH(to,amountOut);}" }, { "id": 3757, @@ -83394,7 +84607,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3774, - "is_pure": false + "is_pure": false, + "text": "amountA" }, { "id": 3775, @@ -83420,7 +84634,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveA" }, { "id": 3776, @@ -83450,7 +84665,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveB" } ], "expression": { @@ -83494,14 +84710,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "quote", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.quote" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", @@ -83740,13 +84958,14 @@ } ] }, - "signature_raw": "quote(uint, uint, uint)", - "signature": "40ce3b45", + "signature_raw": "quote(uint,uint,uint)", + "signature": "49097f7f", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionquote(uintamountA,uintreserveA,uintreserveB)publicpurevirtualoverridereturns(uintamountB){returnMainLibrary.quote(amountA,reserveA,reserveB);}" }, { "id": 3778, @@ -83844,7 +85063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3797, - "is_pure": false + "is_pure": false, + "text": "_factory" }, { "id": 3798, @@ -83870,7 +85090,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountIn" }, { "id": 3799, @@ -83900,7 +85121,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveIn" }, { "id": 3800, @@ -83934,7 +85156,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOut" } ], "expression": { @@ -83978,14 +85201,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountOut", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountOut" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", @@ -84268,13 +85493,14 @@ } ] }, - "signature_raw": "getAmountOut(address, uint, uint, uint)", - "signature": "d71c2163", + "signature_raw": "getAmountOut(address,uint,uint,uint)", + "signature": "5b264a93", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountOut(address_factory,uintamountIn,uintreserveIn,uintreserveOut)publicvirtualoverridereturns(uintamountOut){returnMainLibrary.getAmountOut(_factory,amountIn,reserveIn,reserveOut);}" }, { "id": 3802, @@ -84372,7 +85598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 3821, - "is_pure": false + "is_pure": false, + "text": "_factory" }, { "id": 3822, @@ -84398,7 +85625,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amountOut" }, { "id": 3823, @@ -84428,7 +85656,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveIn" }, { "id": 3824, @@ -84462,7 +85691,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOut" } ], "expression": { @@ -84506,14 +85736,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountIn", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountIn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", @@ -84796,13 +86028,14 @@ } ] }, - "signature_raw": "getAmountIn(address, uint, uint, uint)", - "signature": "86626f28", + "signature_raw": "getAmountIn(address,uint,uint,uint)", + "signature": "7f612a05", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountIn(address_factory,uintamountOut,uintreserveIn,uintreserveOut)publicvirtualoverridereturns(uintamountIn){returnMainLibrary.getAmountIn(_factory,amountOut,reserveIn,reserveOut);}" }, { "id": 3826, @@ -84896,7 +86129,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3842, @@ -84922,7 +86156,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountIn" }, { "id": 3843, @@ -84952,7 +86187,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" } ], "expression": { @@ -84996,14 +86232,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountsOut", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountsOut" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -85199,13 +86437,14 @@ } ] }, - "signature_raw": "getAmountsOut(uint, address)", - "signature": "f3474b41", + "signature_raw": "getAmountsOut(uint,address)", + "signature": "e8c69ecd", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsOut(uintamountIn,address[]memorypath)publicvirtualoverridereturns(uint[]memoryamounts){returnMainLibrary.getAmountsOut(factory,amountIn,path);}" }, { "id": 3845, @@ -85299,7 +86538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { "id": 3861, @@ -85325,7 +86565,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountOut" }, { "id": 3862, @@ -85355,7 +86596,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" } ], "expression": { @@ -85399,14 +86641,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 886, - "is_pure": false + "is_pure": false, + "text": "MainLibrary" }, "member_name": "getAmountsIn", "argument_types": [], "type_description": { "type_identifier": "t_contract$_MainLibrary_$886", "type_string": "contract MainLibrary" - } + }, + "text": "MainLibrary.getAmountsIn" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$", @@ -85602,13 +86846,14 @@ } ] }, - "signature_raw": "getAmountsIn(uint, address)", - "signature": "6867ccbd", + "signature_raw": "getAmountsIn(uint,address)", + "signature": "9a769100", "scope": 1992, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$", "type_string": "function(uint256,address)" - } + }, + "text": "functiongetAmountsIn(uintamountOut,address[]memorypath)publicvirtualoverridereturns(uint[]memoryamounts){returnMainLibrary.getAmountsIn(factory,amountOut,path);}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/RouterV2.solgo.ast.proto.json b/data/tests/contracts/router/RouterV2.solgo.ast.proto.json index 81ef2459..d92c46e3 100644 --- a/data/tests/contracts/router/RouterV2.solgo.ast.proto.json +++ b/data/tests/contracts/router/RouterV2.solgo.ast.proto.json @@ -6009,7 +6009,7 @@ } }, "scope": "43", - "signature": "5c9e482e", + "signature": "eb5625d9", "src": { "column": "4", "end": "759", @@ -6977,7 +6977,7 @@ } }, "scope": "43", - "signature": "aab017b5", + "signature": "d1660f99", "src": { "column": "4", "end": "1203", @@ -8023,7 +8023,7 @@ } }, "scope": "43", - "signature": "ca681ced", + "signature": "d9fc4b61", "src": { "column": "4", "end": "1695", @@ -8528,7 +8528,7 @@ } }, "scope": "43", - "signature": "3bf28eb1", + "signature": "7c4368c1", "src": { "column": "4", "end": "1915", @@ -11153,7 +11153,7 @@ } }, "scope": "206", - "signature": "99d437db", + "signature": "e6a43905", "src": { "column": "4", "end": "3278", @@ -11830,7 +11830,7 @@ } }, "scope": "206", - "signature": "a36b5e48", + "signature": "c9c65396", "src": { "column": "4", "end": "3557", @@ -12629,7 +12629,7 @@ } }, "scope": "206", - "signature": "f7bd7ed8", + "signature": "dfc6af83", "src": { "column": "4", "end": "3909", @@ -12994,7 +12994,7 @@ } }, "scope": "206", - "signature": "2fa03cef", + "signature": "5837e550", "src": { "column": "4", "end": "4071", @@ -14302,7 +14302,7 @@ } }, "scope": "476", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "4717", @@ -14489,7 +14489,7 @@ } }, "scope": "476", - "signature": "715ea5f2", + "signature": "086c40f6", "src": { "column": "4", "end": "4793", @@ -14676,7 +14676,7 @@ } }, "scope": "476", - "signature": "9e17553b", + "signature": "6cb927d8", "src": { "column": "4", "end": "4864", @@ -14902,7 +14902,7 @@ } }, "scope": "476", - "signature": "b1e08233", + "signature": "a978501e", "src": { "column": "4", "end": "4953", @@ -15684,7 +15684,7 @@ } }, "scope": "476", - "signature": "0f94a422", + "signature": "97a6e84a", "src": { "column": "4", "end": "5269", @@ -17295,7 +17295,7 @@ } }, "scope": "476", - "signature": "06f200c5", + "signature": "9ca6edd7", "src": { "column": "4", "end": "6002", @@ -18298,7 +18298,7 @@ } }, "scope": "476", - "signature": "7d9441ed", + "signature": "090f344e", "src": { "column": "4", "end": "6423", @@ -18624,7 +18624,7 @@ } }, "scope": "476", - "signature": "58e0d614", + "signature": "485cc955", "src": { "column": "4", "end": "6546", @@ -19141,7 +19141,7 @@ } }, "scope": "813", - "signature": "9f313803", + "signature": "b8966352", "src": { "column": "4", "end": "6873", @@ -19579,7 +19579,7 @@ } }, "scope": "813", - "signature": "b2c71209", + "signature": "796e3e3f", "src": { "column": "4", "end": "7006", @@ -20142,7 +20142,7 @@ } }, "scope": "813", - "signature": "ffff81ec", + "signature": "20949e90", "src": { "column": "4", "end": "7152", @@ -21182,7 +21182,7 @@ } }, "scope": "892", - "signature": "a52ffdb9", + "signature": "544caa56", "src": { "column": "4", "end": "7720", @@ -21652,7 +21652,7 @@ } }, "scope": "892", - "signature": "8ebc8ff1", + "signature": "6d91c0e2", "src": { "column": "4", "end": "7977", @@ -22754,7 +22754,7 @@ } }, "scope": "892", - "signature": "08802995", + "signature": "32749461", "src": { "column": "4", "end": "8419", @@ -23565,7 +23565,7 @@ } }, "scope": "892", - "signature": "40ce3b45", + "signature": "49097f7f", "src": { "column": "4", "end": "8836", @@ -25437,7 +25437,7 @@ } }, "scope": "892", - "signature": "d71c2163", + "signature": "5b264a93", "src": { "column": "4", "end": "9666", @@ -27322,7 +27322,7 @@ } }, "scope": "892", - "signature": "86626f28", + "signature": "7f612a05", "src": { "column": "4", "end": "10451", @@ -29046,7 +29046,7 @@ } }, "scope": "892", - "signature": "a4edfe90", + "signature": "f31303b0", "src": { "column": "4", "end": "11037", @@ -30862,7 +30862,7 @@ } }, "scope": "892", - "signature": "8fca5b95", + "signature": "af98afe1", "src": { "column": "4", "end": "11643", @@ -31733,7 +31733,7 @@ } }, "scope": "1392", - "signature": "b0a5b69b", + "signature": "dd83139f", "src": { "column": "4", "end": "12161", @@ -32150,7 +32150,7 @@ } }, "scope": "1392", - "signature": "2fee9b1f", + "signature": "1a3042d8", "src": { "column": "4", "end": "12428", @@ -32568,7 +32568,7 @@ } }, "scope": "1392", - "signature": "959ccb42", + "signature": "7346927d", "src": { "column": "4", "end": "12675", @@ -32947,7 +32947,7 @@ } }, "scope": "1392", - "signature": "04b63022", + "signature": "a0a3fe6a", "src": { "column": "4", "end": "12912", @@ -33517,7 +33517,7 @@ } }, "scope": "1392", - "signature": "2c8a3383", + "signature": "0aaecef9", "src": { "column": "4", "end": "13225", @@ -34048,7 +34048,7 @@ } }, "scope": "1392", - "signature": "219bd6e0", + "signature": "425c944c", "src": { "column": "4", "end": "13528", @@ -34350,7 +34350,7 @@ } }, "scope": "1392", - "signature": "ece6af29", + "signature": "10d8dae7", "src": { "column": "4", "end": "13740", @@ -34652,7 +34652,7 @@ } }, "scope": "1392", - "signature": "30151227", + "signature": "fbf1f94e", "src": { "column": "4", "end": "13952", @@ -34916,7 +34916,7 @@ } }, "scope": "1392", - "signature": "604dbf42", + "signature": "319fbb40", "src": { "column": "4", "end": "14132", @@ -35218,7 +35218,7 @@ } }, "scope": "1392", - "signature": "f2d4558a", + "signature": "c553bfbd", "src": { "column": "4", "end": "14311", @@ -35520,7 +35520,7 @@ } }, "scope": "1392", - "signature": "d76f794b", + "signature": "717eb54c", "src": { "column": "4", "end": "14490", @@ -35784,7 +35784,7 @@ } }, "scope": "1392", - "signature": "25e2f1f4", + "signature": "4599eb31", "src": { "column": "4", "end": "14667", @@ -36009,7 +36009,7 @@ } }, "scope": "1392", - "signature": "40ce3b45", + "signature": "49097f7f", "src": { "column": "4", "end": "14769", @@ -36273,7 +36273,7 @@ } }, "scope": "1392", - "signature": "d71c2163", + "signature": "5b264a93", "src": { "column": "4", "end": "14896", @@ -36537,7 +36537,7 @@ } }, "scope": "1392", - "signature": "86626f28", + "signature": "7f612a05", "src": { "column": "4", "end": "15022", @@ -36724,7 +36724,7 @@ } }, "scope": "1392", - "signature": "f3474b41", + "signature": "e8c69ecd", "src": { "column": "4", "end": "15131", @@ -36911,7 +36911,7 @@ } }, "scope": "1392", - "signature": "6867ccbd", + "signature": "9a769100", "src": { "column": "4", "end": "15240", @@ -37367,7 +37367,7 @@ } }, "scope": "1736", - "signature": "af9b0077", + "signature": "1d7868d9", "src": { "column": "4", "end": "15624", @@ -37860,7 +37860,7 @@ } }, "scope": "1736", - "signature": "26ee6d15", + "signature": "d0f98043", "src": { "column": "4", "end": "15938", @@ -38122,7 +38122,7 @@ } }, "scope": "1736", - "signature": "57614bd1", + "signature": "22b0430c", "src": { "column": "4", "end": "16148", @@ -38346,7 +38346,7 @@ } }, "scope": "1736", - "signature": "87e8dbf8", + "signature": "83ac347c", "src": { "column": "4", "end": "16339", @@ -38608,7 +38608,7 @@ } }, "scope": "1736", - "signature": "07b16f31", + "signature": "f9831ae0", "src": { "column": "4", "end": "16545", @@ -39916,7 +39916,7 @@ } }, "scope": "1837", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "17175", @@ -40103,7 +40103,7 @@ } }, "scope": "1837", - "signature": "715ea5f2", + "signature": "086c40f6", "src": { "column": "4", "end": "17251", @@ -40290,7 +40290,7 @@ } }, "scope": "1837", - "signature": "9e17553b", + "signature": "6cb927d8", "src": { "column": "4", "end": "17322", @@ -40516,7 +40516,7 @@ } }, "scope": "1837", - "signature": "b1e08233", + "signature": "a978501e", "src": { "column": "4", "end": "17411", @@ -40851,7 +40851,7 @@ } }, "scope": "1957", - "signature": "9e17553b", + "signature": "6cb927d8", "src": { "column": "4", "end": "17610", @@ -43494,7 +43494,7 @@ } }, "scope": "1992", - "signature": "7afd9bf4", + "signature": "537a10f2", "src": { "column": "4", "end": "19591", @@ -45328,7 +45328,7 @@ } }, "scope": "1992", - "signature": "b0a5b69b", + "signature": "dd83139f", "src": { "column": "4", "end": "20314", @@ -47348,7 +47348,7 @@ } }, "scope": "1992", - "signature": "2fee9b1f", + "signature": "1a3042d8", "src": { "column": "4", "end": "21265", @@ -49379,7 +49379,7 @@ } }, "scope": "1992", - "signature": "959ccb42", + "signature": "7346927d", "src": { "column": "4", "end": "22130", @@ -50738,7 +50738,7 @@ } }, "scope": "1992", - "signature": "04b63022", + "signature": "a0a3fe6a", "src": { "column": "4", "end": "22788", @@ -52646,7 +52646,7 @@ } }, "scope": "1992", - "signature": "2c8a3383", + "signature": "0aaecef9", "src": { "column": "4", "end": "23457", @@ -54463,7 +54463,7 @@ } }, "scope": "1992", - "signature": "219bd6e0", + "signature": "425c944c", "src": { "column": "4", "end": "24119", @@ -55950,7 +55950,7 @@ } }, "scope": "1992", - "signature": "af9b0077", + "signature": "1d7868d9", "src": { "column": "4", "end": "24875", @@ -57687,7 +57687,7 @@ } }, "scope": "1992", - "signature": "26ee6d15", + "signature": "d0f98043", "src": { "column": "4", "end": "25584", @@ -60266,7 +60266,7 @@ } }, "scope": "1992", - "signature": "4070b776", + "signature": "b0946c4a", "src": { "column": "4", "end": "26400", @@ -61810,7 +61810,7 @@ } }, "scope": "1992", - "signature": "ece6af29", + "signature": "10d8dae7", "src": { "column": "4", "end": "27003", @@ -63285,7 +63285,7 @@ } }, "scope": "1992", - "signature": "30151227", + "signature": "fbf1f94e", "src": { "column": "4", "end": "27584", @@ -65110,7 +65110,7 @@ } }, "scope": "1992", - "signature": "604dbf42", + "signature": "319fbb40", "src": { "column": "4", "end": "28248", @@ -67421,7 +67421,7 @@ } }, "scope": "1992", - "signature": "f2d4558a", + "signature": "c553bfbd", "src": { "column": "4", "end": "29041", @@ -69801,7 +69801,7 @@ } }, "scope": "1992", - "signature": "d76f794b", + "signature": "717eb54c", "src": { "column": "4", "end": "29856", @@ -71717,7 +71717,7 @@ } }, "scope": "1992", - "signature": "25e2f1f4", + "signature": "4599eb31", "src": { "column": "4", "end": "30631", @@ -75465,7 +75465,7 @@ } }, "scope": "1992", - "signature": "9faca12c", + "signature": "095b6635", "src": { "column": "4", "end": "31960", @@ -77209,7 +77209,7 @@ } }, "scope": "1992", - "signature": "57614bd1", + "signature": "22b0430c", "src": { "column": "4", "end": "32651", @@ -79313,7 +79313,7 @@ } }, "scope": "1992", - "signature": "87e8dbf8", + "signature": "83ac347c", "src": { "column": "4", "end": "33465", @@ -81287,7 +81287,7 @@ } }, "scope": "1992", - "signature": "07b16f31", + "signature": "f9831ae0", "src": { "column": "4", "end": "34273", @@ -81719,7 +81719,7 @@ } }, "scope": "1992", - "signature": "40ce3b45", + "signature": "49097f7f", "src": { "column": "4", "end": "34495", @@ -82229,7 +82229,7 @@ } }, "scope": "1992", - "signature": "d71c2163", + "signature": "5b264a93", "src": { "column": "4", "end": "34765", @@ -82739,7 +82739,7 @@ } }, "scope": "1992", - "signature": "86626f28", + "signature": "7f612a05", "src": { "column": "4", "end": "35034", @@ -83132,7 +83132,7 @@ } }, "scope": "1992", - "signature": "f3474b41", + "signature": "e8c69ecd", "src": { "column": "4", "end": "35267", @@ -83525,7 +83525,7 @@ } }, "scope": "1992", - "signature": "6867ccbd", + "signature": "9a769100", "src": { "column": "4", "end": "35500", diff --git a/data/tests/contracts/router/SafeMath.solgo.ast.json b/data/tests/contracts/router/SafeMath.solgo.ast.json index c7332407..8b0f1aab 100644 --- a/data/tests/contracts/router/SafeMath.solgo.ast.json +++ b/data/tests/contracts/router/SafeMath.solgo.ast.json @@ -177,7 +177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "z" }, "right_expression": { "id": 831, @@ -211,7 +212,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 832, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 833, @@ -231,7 +233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_uint256", @@ -267,7 +270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 834, - "is_pure": false + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -300,7 +304,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'ds-math-add-overflow'" } ], "expression": { @@ -321,7 +326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -497,13 +503,14 @@ } ] }, - "signature_raw": "add(uint, uint)", - "signature": "9f313803", + "signature_raw": "add(uint,uint)", + "signature": "b8966352", "scope": 813, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uintx,uinty)internalpurereturns(uintz){require((z=x+y)\u003e=x,'ds-math-add-overflow');}" }, { "id": 837, @@ -621,7 +628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "z" }, "right_expression": { "id": 853, @@ -655,7 +663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 854, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 855, @@ -675,7 +684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 855, - "is_pure": false + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_uint256", @@ -711,7 +721,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 856, - "is_pure": false + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -744,7 +755,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'ds-math-sub-underflow'" } ], "expression": { @@ -765,7 +777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -941,13 +954,14 @@ } ] }, - "signature_raw": "sub(uint, uint)", - "signature": "b2c71209", + "signature_raw": "sub(uint,uint)", + "signature": "796e3e3f", "scope": 813, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uintx,uinty)internalpurereturns(uintz){require((z=x-y)\u003c=x,'ds-math-sub-underflow');}" }, { "id": 859, @@ -1053,7 +1067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 873, - "is_pure": false + "is_pure": false, + "text": "y" }, "right_expression": { "id": 874, @@ -1075,7 +1090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1154,7 +1170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 822, - "is_pure": false + "is_pure": false, + "text": "z" }, "right_expression": { "id": 880, @@ -1188,7 +1205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 881, - "is_pure": false + "is_pure": false, + "text": "x" }, "right_expression": { "id": 882, @@ -1208,7 +1226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 882, - "is_pure": false + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_uint256", @@ -1244,7 +1263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 883, - "is_pure": false + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -1269,7 +1289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 884, - "is_pure": false + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -1307,7 +1328,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'ds-math-mul-overflow'" } ], "expression": { @@ -1328,7 +1350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1504,13 +1527,14 @@ } ] }, - "signature_raw": "mul(uint, uint)", - "signature": "ffff81ec", + "signature_raw": "mul(uint,uint)", + "signature": "20949e90", "scope": 813, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uintx,uinty)internalpurereturns(uintz){require(y==0||(z=x*y)/y==x,'ds-math-mul-overflow');}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/router/TransferHelper.solgo.ast.json b/data/tests/contracts/router/TransferHelper.solgo.ast.json index 5c9a065f..351a99b5 100644 --- a/data/tests/contracts/router/TransferHelper.solgo.ast.json +++ b/data/tests/contracts/router/TransferHelper.solgo.ast.json @@ -267,7 +267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x095ea7b3" }, { "id": 67, @@ -293,7 +294,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x095ea7b3" } - ] + ], + "text": "to" }, { "id": 68, @@ -323,7 +325,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -367,14 +370,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -423,14 +428,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 62, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "token.call" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -491,7 +498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 55, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 74, @@ -576,14 +584,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 55, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 79, @@ -605,7 +615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -653,7 +664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 55, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 84, @@ -705,7 +717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -755,14 +768,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -818,7 +833,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'TransferHelper::safeApprove: approve failed'" } ], "expression": { @@ -839,7 +855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1015,13 +1032,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(address, address, uint256)", - "signature": "5c9e482e", + "signature_raw": "safeApprove(address,address,uint256)", + "signature": "eb5625d9", "scope": 43, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeApprove(addresstoken,addressto,uint256value)internal{(boolsuccess,bytesmemorydata)=token.call(abi.encodeWithSelector(0x095ea7b3,to,value));require(success\u0026\u0026(data.length==0||abi.decode(data,(bool))),'TransferHelper::safeApprove: approve failed');}" }, { "id": 89, @@ -1229,7 +1247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa9059cbb" }, { "id": 111, @@ -1255,7 +1274,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0xa9059cbb" } - ] + ], + "text": "to" }, { "id": 112, @@ -1285,7 +1305,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -1329,14 +1350,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -1385,14 +1408,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 106, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "token.call" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -1453,7 +1478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 118, @@ -1538,14 +1564,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 123, @@ -1567,7 +1595,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1615,7 +1644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 99, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 128, @@ -1667,7 +1697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -1717,14 +1748,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -1780,7 +1813,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'TransferHelper::safeTransfer: transfer failed'" } ], "expression": { @@ -1801,7 +1835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1977,13 +2012,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(address, address, uint256)", - "signature": "aab017b5", + "signature_raw": "safeTransfer(address,address,uint256)", + "signature": "d1660f99", "scope": 43, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functionsafeTransfer(addresstoken,addressto,uint256value)internal{(boolsuccess,bytesmemorydata)=token.call(abi.encodeWithSelector(0xa9059cbb,to,value));require(success\u0026\u0026(data.length==0||abi.decode(data,(bool))),'TransferHelper::safeTransfer: transfer failed');}" }, { "id": 133, @@ -2195,7 +2231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x23b872dd" }, { "id": 157, @@ -2221,7 +2258,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0x23b872dd" } - ] + ], + "text": "from" }, { "id": 158, @@ -2251,7 +2289,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 159, @@ -2285,7 +2324,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { @@ -2329,14 +2369,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$_t_address$_t_address$_t_uint256$", @@ -2385,14 +2427,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "token.call" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_address$_t_uint256$", @@ -2453,7 +2497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 165, @@ -2538,14 +2583,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 170, @@ -2567,7 +2614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2615,7 +2663,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "data" }, { "id": 175, @@ -2667,7 +2716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -2717,14 +2767,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_bool$", @@ -2780,7 +2832,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'TransferHelper::transferFrom: transferFrom failed'" } ], "expression": { @@ -2801,7 +2854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3021,13 +3075,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(address, address, address, uint256)", - "signature": "ca681ced", + "signature_raw": "safeTransferFrom(address,address,address,uint256)", + "signature": "d9fc4b61", "scope": 43, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(addresstoken,addressfrom,addressto,uint256value)internal{(boolsuccess,bytesmemorydata)=token.call(abi.encodeWithSelector(0x23b872dd,from,to,value));require(success\u0026\u0026(data.length==0||abi.decode(data,(bool))),'TransferHelper::transferFrom: transferFrom failed');}" }, { "id": 180, @@ -3182,7 +3237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -3279,14 +3335,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 194, - "is_pure": false + "is_pure": false, + "text": "to" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "to.call" }, "type_description": { "type_identifier": "t_address", @@ -3340,7 +3398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 188, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 202, @@ -3368,7 +3427,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "'TransferHelper::safeTransferETH: ETH transfer failed'" } ], "expression": { @@ -3389,7 +3449,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3521,13 +3582,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferETH(address, uint256)", - "signature": "3bf28eb1", + "signature_raw": "safeTransferETH(address,uint256)", + "signature": "7c4368c1", "scope": 43, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsafeTransferETH(addressto,uint256value)internal{(boolsuccess,)=to.call{value:value}(newbytes(0));require(success,'TransferHelper::safeTransferETH: ETH transfer failed');}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/seagod/ApproveAndCallFallBack.solgo.ast.json b/data/tests/contracts/seagod/ApproveAndCallFallBack.solgo.ast.json index ddd5aa5d..14d514ac 100644 --- a/data/tests/contracts/seagod/ApproveAndCallFallBack.solgo.ast.json +++ b/data/tests/contracts/seagod/ApproveAndCallFallBack.solgo.ast.json @@ -307,13 +307,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "receiveApproval(address, uint256, address, bytes)", - "signature": "b0968226", + "signature_raw": "receiveApproval(address,uint256,address,bytes)", + "signature": "8f4ffcb1", "scope": 191, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes$", "type_string": "function(address,uint256,address,bytes)" - } + }, + "text": "functionreceiveApproval(addressfrom,uint256tokens,addresstoken,bytesdata)public;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/seagod/ERC20Interface.solgo.ast.json b/data/tests/contracts/seagod/ERC20Interface.solgo.ast.json index 32c929a4..a5d217ad 100644 --- a/data/tests/contracts/seagod/ERC20Interface.solgo.ast.json +++ b/data/tests/contracts/seagod/ERC20Interface.solgo.ast.json @@ -227,7 +227,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicreturns(uint);" }, { "id": 117, @@ -396,7 +397,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addresstokenOwner)publicreturns(uintbalance);" }, { "id": 126, @@ -603,13 +605,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 106, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addresstokenOwner,addressspender)publicreturns(uintremaining);" }, { "id": 137, @@ -815,13 +818,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 106, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uinttokens)publicreturns(boolsuccess);" }, { "id": 148, @@ -1027,13 +1031,14 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", "scope": 106, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uinttokens)publicreturns(boolsuccess);" }, { "id": 159, @@ -1283,13 +1288,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", "scope": 106, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uinttokens)publicreturns(boolsuccess);" }, { "id": 172, diff --git a/data/tests/contracts/seagod/SafeMath.solgo.ast.json b/data/tests/contracts/seagod/SafeMath.solgo.ast.json index 2fb58bc9..a867b628 100644 --- a/data/tests/contracts/seagod/SafeMath.solgo.ast.json +++ b/data/tests/contracts/seagod/SafeMath.solgo.ast.json @@ -137,7 +137,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 24, @@ -171,7 +172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 25, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 26, @@ -191,7 +193,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 26, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -206,7 +209,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "c=a+b;" }, { "id": 27, @@ -259,7 +263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 31, @@ -279,7 +284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 31, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -305,7 +311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -481,13 +488,14 @@ } ] }, - "signature_raw": "safeAdd(uint, uint)", - "signature": "03866ed1", + "signature_raw": "safeAdd(uint,uint)", + "signature": "0bbf3117", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsafeAdd(uinta,uintb)publicpurereturns(uintc){c=a+b;require(c\u003e=a);}" }, { "id": 33, @@ -575,7 +583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 46, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 47, @@ -595,7 +604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 47, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -621,7 +631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -669,7 +680,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 51, @@ -703,7 +715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 52, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 53, @@ -723,7 +736,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 53, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -738,7 +752,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "c=a-b;" } ] }, @@ -909,13 +924,14 @@ } ] }, - "signature_raw": "safeSub(uint, uint)", - "signature": "857ff6b3", + "signature_raw": "safeSub(uint,uint)", + "signature": "1f3e55c6", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsafeSub(uinta,uintb)publicpurereturns(uintc){require(b\u003c=a);c=a-b;}" }, { "id": 55, @@ -993,7 +1009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 68, @@ -1027,7 +1044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 69, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 70, @@ -1047,7 +1065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 70, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1062,7 +1081,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "c=a*b;" }, { "id": 71, @@ -1129,7 +1149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 75, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 76, @@ -1151,7 +1172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1204,7 +1226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 80, @@ -1224,7 +1247,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -1249,7 +1273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 81, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -1280,7 +1305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -1456,13 +1482,14 @@ } ] }, - "signature_raw": "safeMul(uint, uint)", - "signature": "eb6a0ee7", + "signature_raw": "safeMul(uint,uint)", + "signature": "9a78c1c6", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsafeMul(uinta,uintb)publicpurereturns(uintc){c=a*b;require(a==0||c/a==b);}" }, { "id": 83, @@ -1550,7 +1577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 96, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 97, @@ -1572,7 +1600,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1598,7 +1627,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -1646,7 +1676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 101, @@ -1680,7 +1711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 102, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 103, @@ -1700,7 +1732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 103, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1715,7 +1748,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "c=a/b;" } ] }, @@ -1886,13 +1920,14 @@ } ] }, - "signature_raw": "safeDiv(uint, uint)", - "signature": "7ac0f177", + "signature_raw": "safeDiv(uint,uint)", + "signature": "375893a4", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsafeDiv(uinta,uintb)publicpurereturns(uintc){require(b\u003e0);c=a/b;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/seagod/SeaGod.solgo.ast.json b/data/tests/contracts/seagod/SeaGod.solgo.ast.json index 29b64516..20bec83c 100644 --- a/data/tests/contracts/seagod/SeaGod.solgo.ast.json +++ b/data/tests/contracts/seagod/SeaGod.solgo.ast.json @@ -522,7 +522,7 @@ "mutability": 1, "type_name": { "id": 515, - "node_type": 0, + "node_type": 53, "src": { "line": 62, "column": 4, @@ -614,7 +614,7 @@ "mutability": 1, "type_name": { "id": 519, - "node_type": 0, + "node_type": 53, "src": { "line": 63, "column": 4, @@ -876,7 +876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 24, @@ -910,7 +911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 25, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 26, @@ -930,7 +932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 26, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -945,7 +948,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "c=a+b;" }, { "id": 27, @@ -998,7 +1002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 31, @@ -1018,7 +1023,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 31, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -1044,7 +1050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -1220,13 +1227,14 @@ } ] }, - "signature_raw": "safeAdd(uint, uint)", - "signature": "03866ed1", + "signature_raw": "safeAdd(uint,uint)", + "signature": "0bbf3117", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsafeAdd(uinta,uintb)publicpurereturns(uintc){c=a+b;require(c\u003e=a);}" }, { "id": 33, @@ -1314,7 +1322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 46, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 47, @@ -1334,7 +1343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 47, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -1360,7 +1370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -1408,7 +1419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 51, @@ -1442,7 +1454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 52, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 53, @@ -1462,7 +1475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 53, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1477,7 +1491,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "c=a-b;" } ] }, @@ -1648,13 +1663,14 @@ } ] }, - "signature_raw": "safeSub(uint, uint)", - "signature": "857ff6b3", + "signature_raw": "safeSub(uint,uint)", + "signature": "1f3e55c6", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsafeSub(uinta,uintb)publicpurereturns(uintc){require(b\u003c=a);c=a-b;}" }, { "id": 55, @@ -1732,7 +1748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 68, @@ -1766,7 +1783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 69, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 70, @@ -1786,7 +1804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 70, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1801,7 +1820,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "c=a*b;" }, { "id": 71, @@ -1868,7 +1888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 75, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 76, @@ -1890,7 +1911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1943,7 +1965,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 80, @@ -1963,7 +1986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -1988,7 +2012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 81, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -2019,7 +2044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -2195,13 +2221,14 @@ } ] }, - "signature_raw": "safeMul(uint, uint)", - "signature": "eb6a0ee7", + "signature_raw": "safeMul(uint,uint)", + "signature": "9a78c1c6", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsafeMul(uinta,uintb)publicpurereturns(uintc){c=a*b;require(a==0||c/a==b);}" }, { "id": 83, @@ -2289,7 +2316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 96, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 97, @@ -2311,7 +2339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2337,7 +2366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -2385,7 +2415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 18, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 101, @@ -2419,7 +2450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 102, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 103, @@ -2439,7 +2471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 103, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2454,7 +2487,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "c=a/b;" } ] }, @@ -2625,13 +2659,14 @@ } ] }, - "signature_raw": "safeDiv(uint, uint)", - "signature": "7ac0f177", + "signature_raw": "safeDiv(uint,uint)", + "signature": "375893a4", "scope": 9, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsafeDiv(uinta,uintb)publicpurereturns(uintc){require(b\u003e0);c=a/b;}" } ], "linearized_base_contracts": [ @@ -2879,7 +2914,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicreturns(uint);" }, { "id": 117, @@ -3048,7 +3084,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addresstokenOwner)publicreturns(uintbalance);" }, { "id": 126, @@ -3255,13 +3292,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 106, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addresstokenOwner,addressspender)publicreturns(uintremaining);" }, { "id": 137, @@ -3467,13 +3505,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 106, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uinttokens)publicreturns(boolsuccess);" }, { "id": 148, @@ -3679,13 +3718,14 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", "scope": 106, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uinttokens)publicreturns(boolsuccess);" }, { "id": 159, @@ -3935,13 +3975,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", "scope": 106, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uinttokens)publicreturns(boolsuccess);" }, { "id": 172, @@ -4603,13 +4644,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "receiveApproval(address, uint256, address, bytes)", - "signature": "b0968226", + "signature_raw": "receiveApproval(address,uint256,address,bytes)", + "signature": "8f4ffcb1", "scope": 191, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes$", "type_string": "function(address,uint256,address,bytes)" - } + }, + "text": "functionreceiveApproval(addressfrom,uint256tokens,addresstoken,bytesdata)public;" } ], "linearized_base_contracts": [ @@ -4946,7 +4988,7 @@ "mutability": 1, "type_name": { "id": 226, - "node_type": 0, + "node_type": 53, "src": { "line": 62, "column": 4, @@ -5039,7 +5081,7 @@ "mutability": 1, "type_name": { "id": 231, - "node_type": 0, + "node_type": 53, "src": { "line": 63, "column": 4, @@ -5260,7 +5302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 213, - "is_pure": false + "is_pure": false, + "text": "symbol" }, "right_expression": { "id": 245, @@ -5282,7 +5325,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"SGO\"" }, "type_description": { "type_identifier": "t_string", @@ -5292,7 +5336,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "symbol=\"SGO\";" }, { "id": 246, @@ -5335,7 +5380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 216, - "is_pure": false + "is_pure": false, + "text": "name" }, "right_expression": { "id": 249, @@ -5357,7 +5403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"Sea God\"" }, "type_description": { "type_identifier": "t_string", @@ -5367,7 +5414,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "name=\"Sea God\";" }, { "id": 250, @@ -5410,7 +5458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 219, - "is_pure": false + "is_pure": false, + "text": "decimals" }, "right_expression": { "id": 253, @@ -5432,7 +5481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint8", @@ -5442,7 +5492,8 @@ "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "decimals=10;" }, { "id": 254, @@ -5485,7 +5536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 222, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 257, @@ -5507,7 +5559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10000000000000000000" }, "type_description": { "type_identifier": "t_uint256", @@ -5517,7 +5570,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply=10000000000000000000;" }, { "id": 258, @@ -5571,7 +5625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 262, @@ -5593,7 +5648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xAd92824504E71FA93D46B0230662e405336E7c13" }, "type_descriptions": [ { @@ -5628,7 +5684,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 222, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_rational_0_by_1]$", @@ -5638,7 +5695,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_rational_0_by_1]$", "type_string": "index[mapping(address=\u003euint):int_const 0xAd92824504E71FA93D46B0230662e405336E7c13]" - } + }, + "text": "balances[0xAd92824504E71FA93D46B0230662e405336E7c13]=_totalSupply;" }, { "id": 264, @@ -5691,7 +5749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -5737,7 +5796,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5764,7 +5824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xAd92824504E71FA93D46B0230662e405336E7c13" }, { "id": 270, @@ -5784,7 +5845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 222, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } ], "expression": { @@ -5805,7 +5867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 172, - "is_pure": false + "is_pure": false, + "text": "Transfer" } } ] @@ -5890,7 +5953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 222, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 284, @@ -5921,7 +5985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 286, @@ -5962,7 +6027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -6008,7 +6074,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -6168,7 +6235,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicreturns(uint){return_totalSupply-balances[address(0)];}" }, { "id": 291, @@ -6246,7 +6314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 302, @@ -6266,7 +6335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 302, - "is_pure": false + "is_pure": false, + "text": "tokenOwner" }, "type_descriptions": [ { @@ -6417,7 +6487,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addresstokenOwner)publicreturns(uintbalance){returnbalances[tokenOwner];}" }, { "id": 304, @@ -6506,7 +6577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 318, @@ -6549,14 +6621,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -6625,7 +6699,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 324, @@ -6668,14 +6743,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -6716,7 +6793,8 @@ "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint):address]" } - ] + ], + "text": "tokens" } ], "expression": { @@ -6737,7 +6815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeSub" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -6752,7 +6831,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint):address]" - } + }, + "text": "balances[msg.sender]=safeSub(balances[msg.sender],tokens);" }, { "id": 327, @@ -6806,7 +6886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 331, @@ -6826,7 +6907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 331, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -6895,7 +6977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 336, @@ -6915,7 +6998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 336, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -6956,7 +7040,8 @@ "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint):address]" } - ] + ], + "text": "tokens" } ], "expression": { @@ -6977,7 +7062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeAdd" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -6992,7 +7078,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint):address]" - } + }, + "text": "balances[to]=safeAdd(balances[to],tokens);" }, { "id": 338, @@ -7047,14 +7134,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 341, @@ -7074,7 +7163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 341, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 342, @@ -7094,7 +7184,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 342, - "is_pure": false + "is_pure": false, + "text": "tokens" } ], "expression": { @@ -7115,7 +7206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 172, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -7150,7 +7242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -7323,13 +7416,14 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", "scope": 207, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uinttokens)publicreturns(boolsuccess){balances[msg.sender]=safeSub(balances[msg.sender],tokens);balances[to]=safeAdd(balances[to],tokens);emitTransfer(msg.sender,to,tokens);returntrue;}" }, { "id": 347, @@ -7429,7 +7523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 230, - "is_pure": false + "is_pure": false, + "text": "allowed" }, "base_expression": { "id": 362, @@ -7472,14 +7567,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -7514,7 +7611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 364, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -7549,7 +7647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 365, - "is_pure": false + "is_pure": false, + "text": "tokens" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -7559,7 +7658,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint)):address]:address]" - } + }, + "text": "allowed[msg.sender][spender]=tokens;" }, { "id": 366, @@ -7614,14 +7714,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 369, @@ -7641,7 +7743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 369, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 370, @@ -7661,7 +7764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 370, - "is_pure": false + "is_pure": false, + "text": "tokens" } ], "expression": { @@ -7682,7 +7786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 181, - "is_pure": false + "is_pure": false, + "text": "Approval" } }, { @@ -7717,7 +7822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -7890,13 +7996,14 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", "scope": 207, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uinttokens)publicreturns(boolsuccess){allowed[msg.sender][spender]=tokens;emitApproval(msg.sender,spender,tokens);returntrue;}" }, { "id": 375, @@ -7985,7 +8092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 391, @@ -8005,7 +8113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 391, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -8074,7 +8183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 396, @@ -8094,7 +8204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 396, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -8135,7 +8246,8 @@ "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint):address]" } - ] + ], + "text": "tokens" } ], "expression": { @@ -8156,7 +8268,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeSub" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -8171,7 +8284,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint):address]" - } + }, + "text": "balances[from]=safeSub(balances[from],tokens);" }, { "id": 398, @@ -8236,7 +8350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 230, - "is_pure": false + "is_pure": false, + "text": "allowed" }, "base_expression": { "id": 403, @@ -8256,7 +8371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 403, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -8314,14 +8430,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -8401,7 +8519,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 230, - "is_pure": false + "is_pure": false, + "text": "allowed" }, "base_expression": { "id": 411, @@ -8421,7 +8540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 411, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -8479,14 +8599,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -8527,7 +8649,8 @@ "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint)):address]:address]" } - ] + ], + "text": "tokens" } ], "expression": { @@ -8548,7 +8671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeSub" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$_t_uint256$", @@ -8563,7 +8687,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint)):address]:address]" - } + }, + "text": "allowed[from][msg.sender]=safeSub(allowed[from][msg.sender],tokens);" }, { "id": 415, @@ -8617,7 +8742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 419, @@ -8637,7 +8763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 419, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -8706,7 +8833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 225, - "is_pure": false + "is_pure": false, + "text": "balances" }, "base_expression": { "id": 424, @@ -8726,7 +8854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 424, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -8767,7 +8896,8 @@ "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint):address]" } - ] + ], + "text": "tokens" } ], "expression": { @@ -8788,7 +8918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "safeAdd" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$_t_uint256$", @@ -8803,7 +8934,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint):address]" - } + }, + "text": "balances[to]=safeAdd(balances[to],tokens);" }, { "id": 426, @@ -8835,7 +8967,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 427, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 428, @@ -8855,7 +8988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 429, @@ -8875,7 +9009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 429, - "is_pure": false + "is_pure": false, + "text": "tokens" } ], "expression": { @@ -8896,7 +9031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 172, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -8931,7 +9067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -9148,13 +9285,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", "scope": 207, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uinttokens)publicreturns(boolsuccess){balances[from]=safeSub(balances[from],tokens);allowed[from][msg.sender]=safeSub(allowed[from][msg.sender],tokens);balances[to]=safeAdd(balances[to],tokens);emitTransfer(from,to,tokens);returntrue;}" }, { "id": 434, @@ -9243,7 +9381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 230, - "is_pure": false + "is_pure": false, + "text": "allowed" }, "base_expression": { "id": 448, @@ -9263,7 +9402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 448, - "is_pure": false + "is_pure": false, + "text": "tokenOwner" }, "type_descriptions": [ { @@ -9298,7 +9438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 449, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -9487,13 +9628,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 207, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addresstokenOwner,addressspender)publicreturns(uintremaining){returnallowed[tokenOwner][spender];}" }, { "id": 451, @@ -9593,7 +9735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 230, - "is_pure": false + "is_pure": false, + "text": "allowed" }, "base_expression": { "id": 468, @@ -9636,14 +9779,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { @@ -9678,7 +9823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 470, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -9713,7 +9859,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 471, - "is_pure": false + "is_pure": false, + "text": "tokens" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -9723,7 +9870,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint)):address]:address]" - } + }, + "text": "allowed[msg.sender][spender]=tokens;" }, { "id": 472, @@ -9778,14 +9926,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 475, @@ -9805,7 +9955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 475, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 476, @@ -9825,7 +9976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 476, - "is_pure": false + "is_pure": false, + "text": "tokens" } ], "expression": { @@ -9846,7 +9998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 181, - "is_pure": false + "is_pure": false, + "text": "Approval" } }, { @@ -9921,14 +10074,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 485, @@ -9954,7 +10109,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokens" }, { "id": 486, @@ -9984,7 +10140,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "this" }, { "id": 487, @@ -10018,7 +10175,8 @@ "type_identifier": "t_contract$_SeaGod_$205", "type_string": "contract SeaGod" } - ] + ], + "text": "data" } ], "expression": { @@ -10081,7 +10239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 482, - "is_pure": false + "is_pure": false, + "text": "spender" } ], "expression": { @@ -10102,7 +10261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ApproveAndCallFallBack" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -10114,7 +10274,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "ApproveAndCallFallBack(spender).receiveApproval" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes$", @@ -10153,7 +10314,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -10369,13 +10531,14 @@ } ] }, - "signature_raw": "approveAndCall(address, uint, bytes)", - "signature": "e7ce54d5", + "signature_raw": "approveAndCall(address,uint,bytes)", + "signature": "1e31c290", "scope": 207, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bytes$", "type_string": "function(address,uint256,bytes)" - } + }, + "text": "functionapproveAndCall(addressspender,uinttokens,bytesdata)publicreturns(boolsuccess){allowed[msg.sender][spender]=tokens;emitApproval(msg.sender,spender,tokens);ApproveAndCallFallBack(spender).receiveApproval(msg.sender,tokens,this,data);returntrue;}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/seagod/SeaGod.solgo.ast.proto.json b/data/tests/contracts/seagod/SeaGod.solgo.ast.proto.json index d462d9bd..b6dcf5f4 100644 --- a/data/tests/contracts/seagod/SeaGod.solgo.ast.proto.json +++ b/data/tests/contracts/seagod/SeaGod.solgo.ast.proto.json @@ -512,6 +512,7 @@ "parentIndex": "515", "start": "1726" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "1741", @@ -600,6 +601,7 @@ "parentIndex": "519", "start": "1765" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "1800", @@ -1159,7 +1161,7 @@ } }, "scope": "9", - "signature": "03866ed1", + "signature": "0bbf3117", "src": { "column": "4", "end": "252", @@ -1583,7 +1585,7 @@ } }, "scope": "9", - "signature": "857ff6b3", + "signature": "1f3e55c6", "src": { "column": "4", "end": "371", @@ -2132,7 +2134,7 @@ } }, "scope": "9", - "signature": "eb6a0ee7", + "signature": "9a78c1c6", "src": { "column": "4", "end": "504", @@ -2558,7 +2560,7 @@ } }, "scope": "9", - "signature": "7ac0f177", + "signature": "375893a4", "src": { "column": "4", "end": "622", @@ -3123,7 +3125,7 @@ } }, "scope": "106", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "905", @@ -3311,7 +3313,7 @@ } }, "scope": "106", - "signature": "9e17553b", + "signature": "6cb927d8", "src": { "column": "4", "end": "983", @@ -3499,7 +3501,7 @@ } }, "scope": "106", - "signature": "715ea5f2", + "signature": "086c40f6", "src": { "column": "4", "end": "1065", @@ -3726,7 +3728,7 @@ } }, "scope": "106", - "signature": "b1e08233", + "signature": "a978501e", "src": { "column": "4", "end": "1161", @@ -4334,7 +4336,7 @@ } }, "scope": "191", - "signature": "b0968226", + "signature": "8f4ffcb1", "src": { "column": "4", "end": "1529", @@ -4715,6 +4717,7 @@ "parentIndex": "226", "start": "1726" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "1741", @@ -4805,6 +4808,7 @@ "parentIndex": "231", "start": "1765" }, + "nodeType": "MAPPING_TYPE_NAME", "src": { "column": "4", "end": "1800", @@ -7123,7 +7127,7 @@ } }, "scope": "207", - "signature": "9e17553b", + "signature": "6cb927d8", "src": { "column": "4", "end": "2639", @@ -7694,7 +7698,7 @@ } }, "scope": "207", - "signature": "715ea5f2", + "signature": "086c40f6", "src": { "column": "4", "end": "2849", @@ -9003,7 +9007,7 @@ } }, "scope": "207", - "signature": "b1e08233", + "signature": "a978501e", "src": { "column": "4", "end": "3207", @@ -9337,7 +9341,7 @@ } }, "scope": "207", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "3353", @@ -10223,7 +10227,7 @@ } }, "scope": "207", - "signature": "e7ce54d5", + "signature": "1e31c290", "src": { "column": "4", "end": "3671", diff --git a/data/tests/contracts/sushixswap/Address.solgo.ast.json b/data/tests/contracts/sushixswap/Address.solgo.ast.json index a99d5a64..d3b93e59 100644 --- a/data/tests/contracts/sushixswap/Address.solgo.ast.json +++ b/data/tests/contracts/sushixswap/Address.solgo.ast.json @@ -186,21 +186,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 289, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 290, @@ -222,7 +225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -363,7 +367,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 292, @@ -497,7 +502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -543,7 +549,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -555,7 +562,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 308, @@ -575,7 +583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 308, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -608,7 +617,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -629,7 +639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -733,7 +744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -789,14 +801,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 316, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -850,7 +864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 310, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 321, @@ -878,7 +893,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -899,7 +915,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1031,13 +1048,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 323, @@ -1131,7 +1149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 336, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 337, @@ -1157,7 +1176,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 338, @@ -1189,7 +1209,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -1210,7 +1231,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -1388,13 +1410,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 340, @@ -1492,7 +1515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 355, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 356, @@ -1518,7 +1542,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 357, @@ -1550,7 +1575,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 358, @@ -1584,7 +1610,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -1605,7 +1632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -1826,13 +1854,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 360, @@ -1930,7 +1959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 375, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 376, @@ -1956,7 +1986,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 377, @@ -1986,7 +2017,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 378, @@ -2022,7 +2054,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -2043,7 +2076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -2264,13 +2298,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 380, @@ -2404,7 +2439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -2450,7 +2486,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2462,7 +2499,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 402, @@ -2482,7 +2520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -2515,7 +2554,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -2536,7 +2576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2603,7 +2644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 408, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -2624,7 +2666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2657,7 +2700,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -2678,7 +2722,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -2827,7 +2872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 419, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -2883,14 +2929,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 418, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -2960,7 +3008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 410, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 424, @@ -2986,7 +3035,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 425, @@ -3016,7 +3066,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -3037,7 +3088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -3301,13 +3353,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 427, @@ -3401,7 +3454,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 440, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 441, @@ -3427,7 +3481,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 442, @@ -3459,7 +3514,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -3480,7 +3536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -3658,13 +3715,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 444, @@ -3761,7 +3819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -3782,7 +3841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3815,7 +3875,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -3836,7 +3897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -3985,7 +4047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 470, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -4029,14 +4092,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -4101,7 +4166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 462, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 475, @@ -4127,7 +4193,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 476, @@ -4157,7 +4224,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -4178,7 +4246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -4399,13 +4468,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 478, @@ -4499,7 +4569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 492, @@ -4525,7 +4596,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 493, @@ -4557,7 +4629,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -4578,7 +4651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -4756,13 +4830,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 495, @@ -4859,7 +4934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 511, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -4880,7 +4956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4913,7 +4990,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -4934,7 +5012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -5083,7 +5162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 521, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -5127,14 +5207,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 520, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -5199,7 +5281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 526, @@ -5225,7 +5308,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 527, @@ -5255,7 +5339,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5276,7 +5361,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -5497,13 +5583,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 529, @@ -5569,7 +5656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 542, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 543, @@ -5615,7 +5703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -5833,13 +5922,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/sushixswap/BentoAdapter.solgo.ast.json b/data/tests/contracts/sushixswap/BentoAdapter.solgo.ast.json index f1742428..cf0dba47 100644 --- a/data/tests/contracts/sushixswap/BentoAdapter.solgo.ast.json +++ b/data/tests/contracts/sushixswap/BentoAdapter.solgo.ast.json @@ -223,7 +223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1056, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1057, @@ -249,7 +250,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "from" }, { "id": 1058, @@ -279,7 +281,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1059, @@ -313,7 +316,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" }, { "id": 1060, @@ -351,7 +355,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "share" } ], "expression": { @@ -407,14 +412,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "deposit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.deposit" }, "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", @@ -725,13 +732,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_depositToBentoBox(address, address, address, uint256, uint256, uint256)", - "signature": "18b5c23f", + "signature_raw": "_depositToBentoBox(address,address,address,uint256,uint256,uint256)", + "signature": "e8726e4b", "scope": 1032, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,address,address,uint256,uint256,uint256)" - } + }, + "text": "function_depositToBentoBox(addresstoken,addressfrom,addressto,uint256amount,uint256share,uint256value)internal{bentoBox.deposit{value:value}(token,from,to,amount,share);}" }, { "id": 1062, @@ -797,7 +805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1079, - "is_pure": false + "is_pure": false, + "text": "unwrapBento" }, "body": { "id": 1080, @@ -866,7 +875,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1084, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1085, @@ -892,7 +902,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "from" }, { "id": 1086, @@ -922,7 +933,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1087, @@ -956,7 +968,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" }, { "id": 1088, @@ -994,7 +1007,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "share" } ], "expression": { @@ -1038,14 +1052,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "withdraw", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.withdraw" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$", @@ -1354,13 +1370,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transferFromBentoBox(address, address, address, uint256, uint256, bool)", - "signature": "3fc92c8a", + "signature_raw": "_transferFromBentoBox(address,address,address,uint256,uint256,bool)", + "signature": "6222712f", "scope": 1032, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$_t_bool$", "type_string": "function(address,address,address,uint256,uint256,bool)" - } + }, + "text": "function_transferFromBentoBox(addresstoken,addressfrom,addressto,uint256amount,uint256share,boolunwrapBento)internal{if(unwrapBento){bentoBox.withdraw(token,from,to,amount,share);}else{if(amount\u003e0){share=bentoBox.toShare(token,amount,false);}bentoBox.transfer(token,from,to,share);}}" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/sushixswap/IBentoBoxMinimal.solgo.ast.json b/data/tests/contracts/sushixswap/IBentoBoxMinimal.solgo.ast.json index e18e3dc4..12394698 100644 --- a/data/tests/contracts/sushixswap/IBentoBoxMinimal.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IBentoBoxMinimal.solgo.ast.json @@ -265,13 +265,14 @@ } ] }, - "signature_raw": "balanceOf(address, address)", - "signature": "32c85217", + "signature_raw": "balanceOf(address,address)", + "signature": "f7888aec", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionbalanceOf(address,address)externalviewreturns(uint256);" }, { "id": 602, @@ -520,13 +521,14 @@ } ] }, - "signature_raw": "toShare(address, uint256, bool)", - "signature": "3713010a", + "signature_raw": "toShare(address,uint256,bool)", + "signature": "da5139ca", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bool$", "type_string": "function(address,uint256,bool)" - } + }, + "text": "functiontoShare(addresstoken,uint256amount,boolroundUp)externalviewreturns(uint256share);" }, { "id": 615, @@ -775,13 +777,14 @@ } ] }, - "signature_raw": "toAmount(address, uint256, bool)", - "signature": "d5282e5b", + "signature_raw": "toAmount(address,uint256,bool)", + "signature": "56623118", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bool$", "type_string": "function(address,uint256,bool)" - } + }, + "text": "functiontoAmount(addresstoken,uint256share,boolroundUp)externalviewreturns(uint256amount);" }, { "id": 628, @@ -859,7 +862,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionregisterProtocol()external;" }, { "id": 633, @@ -1239,13 +1243,14 @@ } ] }, - "signature_raw": "deposit(address, address, address, uint256, uint256)", - "signature": "00d49fa3", + "signature_raw": "deposit(address,address,address,uint256,uint256)", + "signature": "02b9446c", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,address,uint256,uint256)" - } + }, + "text": "functiondeposit(addresstoken_,addressfrom,addressto,uint256amount,uint256share)externalpayablereturns(uint256amountOut,uint256shareOut);" }, { "id": 652, @@ -1625,13 +1630,14 @@ } ] }, - "signature_raw": "withdraw(address, address, address, uint256, uint256)", - "signature": "1d8c7043", + "signature_raw": "withdraw(address,address,address,uint256,uint256)", + "signature": "97da6d30", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,address,uint256,uint256)" - } + }, + "text": "functionwithdraw(addresstoken_,addressfrom,addressto,uint256amount,uint256share)externalreturns(uint256amountOut,uint256shareOut);" }, { "id": 671, @@ -1880,13 +1886,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transfer(address, address, address, uint256)", - "signature": "a377c7c8", + "signature_raw": "transfer(address,address,address,uint256)", + "signature": "f18d03cc", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,address,uint256)" - } + }, + "text": "functiontransfer(addresstoken,addressfrom,addressto,uint256share)external;" }, { "id": 684, @@ -2220,13 +2227,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setMasterContractApproval(address, address, bool, uint8, bytes32, bytes32)", - "signature": "65410bf1", + "signature_raw": "setMasterContractApproval(address,address,bool,uint8,bytes32,bytes32)", + "signature": "c0a47c93", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionsetMasterContractApproval(addressuser,addressmasterContract,boolapproved,uint8v,bytes32r,bytes32s)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/sushixswap/IERC20.solgo.ast.json b/data/tests/contracts/sushixswap/IERC20.solgo.ast.json index 00bae2ec..deaa5944 100644 --- a/data/tests/contracts/sushixswap/IERC20.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IERC20.solgo.ast.json @@ -561,7 +561,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 1167, @@ -730,7 +731,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 1176, @@ -936,13 +938,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 1138, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 1187, @@ -1149,13 +1152,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1138, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 1198, @@ -1361,13 +1365,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1138, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 1209, @@ -1617,13 +1622,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1138, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/sushixswap/IImmutableState.solgo.ast.json b/data/tests/contracts/sushixswap/IImmutableState.solgo.ast.json index 6656c2a4..617dd085 100644 --- a/data/tests/contracts/sushixswap/IImmutableState.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IImmutableState.solgo.ast.json @@ -340,7 +340,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_IBentoBoxMinimal_$546$", "type_string": "function(contract IBentoBoxMinimal)" - } + }, + "text": "functionbentoBox()externalviewreturns(IBentoBoxMinimal);" }, { "id": 909, @@ -550,7 +551,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_IStargateRouter_$700$", "type_string": "function(contract IStargateRouter)" - } + }, + "text": "functionstargateRouter()externalviewreturns(IStargateRouter);" }, { "id": 920, @@ -760,7 +762,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_IStargateWidget_$797$", "type_string": "function(contract IStargateWidget)" - } + }, + "text": "functionstargateWidget()externalviewreturns(IStargateWidget);" }, { "id": 931, @@ -930,7 +933,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 940, @@ -1098,7 +1102,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionpairCodeHash()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/sushixswap/IPool.solgo.ast.json b/data/tests/contracts/sushixswap/IPool.solgo.ast.json index d5108d50..7b94f98b 100644 --- a/data/tests/contracts/sushixswap/IPool.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IPool.solgo.ast.json @@ -226,7 +226,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionswap(bytescalldatadata)externalreturns(uint256finalAmountOut);" }, { "id": 1282, @@ -394,7 +395,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionflashSwap(bytescalldatadata)externalreturns(uint256finalAmountOut);" }, { "id": 1291, @@ -562,7 +564,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionmint(bytescalldatadata)externalreturns(uint256liquidity);" }, { "id": 1300, @@ -716,9 +719,9 @@ "parent_index": 1306 } }, - "referenced_declaration": 4497, + "referenced_declaration": 4511, "type_description": { - "type_identifier": "t_struct$_Global_TokenAmount_$4497", + "type_identifier": "t_struct$_Global_TokenAmount_$4511", "type_string": "struct Global.TokenAmount" } }, @@ -737,7 +740,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionburn(bytescalldatadata)externalreturns(TokenAmount[]memorywithdrawnAmounts);" }, { "id": 1310, @@ -905,7 +909,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionburnSingle(bytescalldatadata)externalreturns(uint256amountOut);" }, { "id": 1319, @@ -1073,7 +1078,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionpoolIdentifier()externalpurereturns(bytes32);" }, { "id": 1328, @@ -1241,7 +1247,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAssets()externalviewreturns(address[]memory);" }, { "id": 1337, @@ -1409,7 +1416,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functiongetAmountOut(bytescalldatadata)externalviewreturns(uint256finalAmountOut);" }, { "id": 1346, @@ -1577,7 +1585,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functiongetAmountIn(bytescalldatadata)externalviewreturns(uint256finalAmountIn);" }, { "id": 1355, diff --git a/data/tests/contracts/sushixswap/IStargateAdapter.solgo.ast.json b/data/tests/contracts/sushixswap/IStargateAdapter.solgo.ast.json index c8322131..2c2fad76 100644 --- a/data/tests/contracts/sushixswap/IStargateAdapter.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IStargateAdapter.solgo.ast.json @@ -1,40 +1,40 @@ { - "id": 4130, + "id": 4144, "base_contracts": [], "license": "GPL-3.0", "exported_symbols": [ { - "id": 4130, + "id": 4144, "name": "IStargateAdapter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateAdapter.sol" }, { - "id": 4055, + "id": 4069, "name": "StargateAdapter", "absolute_path": "StargateAdapter.sol" }, { - "id": 4055, + "id": 4069, "name": "SafeERC20", "absolute_path": "SafeERC20.sol" }, { - "id": 4055, + "id": 4069, "name": "ImmutableState", "absolute_path": "ImmutableState.sol" }, { - "id": 4055, + "id": 4069, "name": "ISushiXSwap", "absolute_path": "ISushiXSwap.sol" }, { - "id": 4055, + "id": 4069, "name": "IStargateReceiver", "absolute_path": "IStargateReceiver.sol" }, { - "id": 4055, + "id": 4069, "name": "IStargateWidget", "absolute_path": "IStargateWidget.sol" } @@ -44,7 +44,7 @@ "node_type": 1, "nodes": [ { - "id": 4153, + "id": 4167, "node_type": 10, "src": { "line": 1503, @@ -52,7 +52,7 @@ "start": 52545, "end": 52567, "length": 23, - "parent_index": 4130 + "parent_index": 4144 }, "literals": [ "pragma", @@ -67,7 +67,7 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 4187, + "id": 4201, "node_type": 29, "src": { "line": 1491, @@ -75,18 +75,18 @@ "start": 52311, "end": 52341, "length": 31, - "parent_index": 4130 + "parent_index": 4144 }, "absolute_path": "StargateAdapter.sol", "file": "./StargateAdapter.sol", - "scope": 4130, + "scope": 4144, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 + "source_unit": 4069 }, { - "id": 4188, + "id": 4202, "node_type": 29, "src": { "line": 1505, @@ -94,18 +94,18 @@ "start": 52570, "end": 52594, "length": 25, - "parent_index": 4130 + "parent_index": 4144 }, "absolute_path": "SafeERC20.sol", "file": "./SafeERC20.sol", - "scope": 4130, + "scope": 4144, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 + "source_unit": 4069 }, { - "id": 4189, + "id": 4203, "node_type": 29, "src": { "line": 1506, @@ -113,18 +113,18 @@ "start": 52596, "end": 52625, "length": 30, - "parent_index": 4130 + "parent_index": 4144 }, "absolute_path": "ImmutableState.sol", "file": "./ImmutableState.sol", - "scope": 4130, + "scope": 4144, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 + "source_unit": 4069 }, { - "id": 4190, + "id": 4204, "node_type": 29, "src": { "line": 1507, @@ -132,18 +132,18 @@ "start": 52627, "end": 52653, "length": 27, - "parent_index": 4130 + "parent_index": 4144 }, "absolute_path": "ISushiXSwap.sol", "file": "./ISushiXSwap.sol", - "scope": 4130, + "scope": 4144, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 + "source_unit": 4069 }, { - "id": 4191, + "id": 4205, "node_type": 29, "src": { "line": 1508, @@ -151,18 +151,18 @@ "start": 52655, "end": 52687, "length": 33, - "parent_index": 4130 + "parent_index": 4144 }, "absolute_path": "IStargateReceiver.sol", "file": "./IStargateReceiver.sol", - "scope": 4130, + "scope": 4144, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 + "source_unit": 4069 }, { - "id": 4192, + "id": 4206, "node_type": 29, "src": { "line": 1509, @@ -170,18 +170,18 @@ "start": 52689, "end": 52719, "length": 31, - "parent_index": 4130 + "parent_index": 4144 }, "absolute_path": "IStargateWidget.sol", "file": "./IStargateWidget.sol", - "scope": 4130, + "scope": 4144, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 + "source_unit": 4069 }, { - "id": 4194, + "id": 4208, "name": "IStargateAdapter", "node_type": 35, "src": { @@ -190,7 +190,7 @@ "start": 52722, "end": 52750, "length": 29, - "parent_index": 4130 + "parent_index": 4144 }, "name_location": { "line": 1511, @@ -198,29 +198,29 @@ "start": 52732, "end": 52747, "length": 16, - "parent_index": 4194 + "parent_index": 4208 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [], "linearized_base_contracts": [ - 4194, - 4187, - 4188, - 4189, - 4190, - 4191, - 4192 + 4208, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206 ], "base_contracts": [], "contract_dependencies": [ - 4187, - 4188, - 4189, - 4190, - 4191, - 4192 + 4201, + 4202, + 4203, + 4204, + 4205, + 4206 ] } ], diff --git a/data/tests/contracts/sushixswap/IStargateReceiver.solgo.ast.json b/data/tests/contracts/sushixswap/IStargateReceiver.solgo.ast.json index 25ec7187..c09b0621 100644 --- a/data/tests/contracts/sushixswap/IStargateReceiver.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IStargateReceiver.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 3615, + "id": 1373, "base_contracts": [], "license": "GPL-3.0", "exported_symbols": [ { - "id": 3615, + "id": 1373, "name": "IStargateReceiver", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateReceiver.sol" } @@ -14,15 +14,15 @@ "node_type": 1, "nodes": [ { - "id": 3635, + "id": 1383, "node_type": 10, "src": { - "line": 1314, + "line": 643, "column": 0, - "start": 46078, - "end": 46100, + "start": 22904, + "end": 22926, "length": 23, - "parent_index": 3615 + "parent_index": 1373 }, "literals": [ "pragma", @@ -37,61 +37,61 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 3676, + "id": 1424, "name": "IStargateReceiver", "node_type": 35, "src": { - "line": 1316, + "line": 645, "column": 0, - "start": 46103, - "end": 46335, + "start": 22929, + "end": 23161, "length": 233, - "parent_index": 3615 + "parent_index": 1373 }, "name_location": { - "line": 1316, + "line": 645, "column": 10, - "start": 46113, - "end": 46129, + "start": 22939, + "end": 22955, "length": 17, - "parent_index": 3676 + "parent_index": 1424 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 3678, + "id": 1426, "name": "sgReceive", "node_type": 42, "kind": 41, "src": { - "line": 1317, + "line": 646, "column": 4, - "start": 46137, - "end": 46333, + "start": 22963, + "end": 23159, "length": 197, - "parent_index": 3676 + "parent_index": 1424 }, "name_location": { - "line": 1317, + "line": 646, "column": 13, - "start": 46146, - "end": 46154, + "start": 22972, + "end": 22980, "length": 9, - "parent_index": 3678 + "parent_index": 1426 }, "body": { - "id": 3693, + "id": 1441, "node_type": 46, "kind": 0, "src": { - "line": 1317, + "line": 646, "column": 4, - "start": 46137, - "end": 46333, + "start": 22963, + "end": 23159, "length": 197, - "parent_index": 3678 + "parent_index": 1426 }, "implemented": false, "statements": [] @@ -103,40 +103,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3679, + "id": 1427, "node_type": 43, "src": { - "line": 1318, + "line": 647, "column": 8, - "start": 46165, - "end": 46317, + "start": 22991, + "end": 23143, "length": 153, - "parent_index": 3678 + "parent_index": 1426 }, "parameters": [ { - "id": 3680, + "id": 1428, "node_type": 44, "src": { - "line": 1318, + "line": 647, "column": 8, - "start": 46165, - "end": 46179, + "start": 22991, + "end": 23005, "length": 15, - "parent_index": 3679 + "parent_index": 1427 }, - "scope": 3678, + "scope": 1426, "name": "_chainId", "type_name": { - "id": 3681, + "id": 1429, "node_type": 30, "src": { - "line": 1318, + "line": 647, "column": 8, - "start": 46165, - "end": 46170, + "start": 22991, + "end": 22996, "length": 6, - "parent_index": 3680 + "parent_index": 1428 }, "name": "uint16", "referenced_declaration": 0, @@ -154,28 +154,28 @@ } }, { - "id": 3682, + "id": 1430, "node_type": 44, "src": { - "line": 1319, + "line": 648, "column": 8, - "start": 46190, - "end": 46213, + "start": 23016, + "end": 23039, "length": 24, - "parent_index": 3679 + "parent_index": 1427 }, - "scope": 3678, + "scope": 1426, "name": "_srcAddress", "type_name": { - "id": 3683, + "id": 1431, "node_type": 30, "src": { - "line": 1319, + "line": 648, "column": 8, - "start": 46190, - "end": 46194, + "start": 23016, + "end": 23020, "length": 5, - "parent_index": 3682 + "parent_index": 1430 }, "name": "bytes", "referenced_declaration": 0, @@ -193,28 +193,28 @@ } }, { - "id": 3684, + "id": 1432, "node_type": 44, "src": { - "line": 1320, + "line": 649, "column": 8, - "start": 46224, - "end": 46237, + "start": 23050, + "end": 23063, "length": 14, - "parent_index": 3679 + "parent_index": 1427 }, - "scope": 3678, + "scope": 1426, "name": "_nonce", "type_name": { - "id": 3685, + "id": 1433, "node_type": 30, "src": { - "line": 1320, + "line": 649, "column": 8, - "start": 46224, - "end": 46230, + "start": 23050, + "end": 23056, "length": 7, - "parent_index": 3684 + "parent_index": 1432 }, "name": "uint256", "referenced_declaration": 0, @@ -232,28 +232,28 @@ } }, { - "id": 3686, + "id": 1434, "node_type": 44, "src": { - "line": 1321, + "line": 650, "column": 8, - "start": 46248, - "end": 46261, + "start": 23074, + "end": 23087, "length": 14, - "parent_index": 3679 + "parent_index": 1427 }, - "scope": 3678, + "scope": 1426, "name": "_token", "type_name": { - "id": 3687, + "id": 1435, "node_type": 30, "src": { - "line": 1321, + "line": 650, "column": 8, - "start": 46248, - "end": 46254, + "start": 23074, + "end": 23080, "length": 7, - "parent_index": 3686 + "parent_index": 1434 }, "name": "address", "state_mutability": 4, @@ -272,28 +272,28 @@ } }, { - "id": 3688, + "id": 1436, "node_type": 44, "src": { - "line": 1322, + "line": 651, "column": 8, - "start": 46272, - "end": 46287, + "start": 23098, + "end": 23113, "length": 16, - "parent_index": 3679 + "parent_index": 1427 }, - "scope": 3678, + "scope": 1426, "name": "amountLD", "type_name": { - "id": 3689, + "id": 1437, "node_type": 30, "src": { - "line": 1322, + "line": 651, "column": 8, - "start": 46272, - "end": 46278, + "start": 23098, + "end": 23104, "length": 7, - "parent_index": 3688 + "parent_index": 1436 }, "name": "uint256", "referenced_declaration": 0, @@ -311,28 +311,28 @@ } }, { - "id": 3690, + "id": 1438, "node_type": 44, "src": { - "line": 1323, + "line": 652, "column": 8, - "start": 46298, - "end": 46317, + "start": 23124, + "end": 23143, "length": 20, - "parent_index": 3679 + "parent_index": 1427 }, - "scope": 3678, + "scope": 1426, "name": "payload", "type_name": { - "id": 3691, + "id": 1439, "node_type": 30, "src": { - "line": 1323, + "line": 652, "column": 8, - "start": 46298, - "end": 46302, + "start": 23124, + "end": 23128, "length": 5, - "parent_index": 3690 + "parent_index": 1438 }, "name": "bytes", "referenced_declaration": 0, @@ -378,40 +378,41 @@ ] }, "return_parameters": { - "id": 3692, + "id": 1440, "node_type": 43, "src": { - "line": 1317, + "line": 646, "column": 4, - "start": 46137, - "end": 46333, + "start": 22963, + "end": 23159, "length": 197, - "parent_index": 3678 + "parent_index": 1426 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "sgReceive(uint16, bytes, uint256, address, uint256, bytes)", - "signature": "b19f8e19", - "scope": 3676, + "signature_raw": "sgReceive(uint16,bytes,uint256,address,uint256,bytes)", + "signature": "ab8236f3", + "scope": 1424, "type_description": { "type_identifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", "type_string": "function(uint16,bytes,uint256,address,uint256,bytes)" - } + }, + "text": "functionsgReceive(uint16_chainId,bytesmemory_srcAddress,uint256_nonce,address_token,uint256amountLD,bytesmemorypayload)external;" } ], "linearized_base_contracts": [ - 3676 + 1424 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 1316, + "line": 645, "column": 0, - "start": 46103, - "end": 46335, + "start": 22929, + "end": 23161, "length": 233, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/IStargateRouter.solgo.ast.json b/data/tests/contracts/sushixswap/IStargateRouter.solgo.ast.json index 5e5b3c18..c79c3dcb 100644 --- a/data/tests/contracts/sushixswap/IStargateRouter.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IStargateRouter.solgo.ast.json @@ -685,13 +685,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swap(uint16, uint256, uint256, addresspayable, uint256, uint256, , bytes, bytes)", - "signature": "6d97ec68", + "signature_raw": "swap(uint16,uint256,uint256,addresspayable,uint256,uint256,,bytes,bytes)", + "signature": "43facafa", "scope": 744, "type_description": { "type_identifier": "t_function_$_t_uint16$_t_uint256$_t_uint256$_t_address_payable$_t_uint256$_t_uint256$_t_struct$_IStargateRouter_lzTxObj_$746$_t_bytes$_t_bytes$", "type_string": "function(uint16,uint256,uint256,address,uint256,uint256,struct IStargateRouter.lzTxObj,bytes,bytes)" - } + }, + "text": "functionswap(uint16_dstChainId,uint256_srcPoolId,uint256_dstPoolId,addresspayable_refundAddress,uint256_amountLD,uint256_minAmountLD,lzTxObjmemory_lzTxParams,bytescalldata_to,bytescalldata_payload)externalpayable;" }, { "id": 778, @@ -1089,13 +1090,14 @@ } ] }, - "signature_raw": "quoteLayerZeroFee(uint16, uint8, bytes, bytes, )", - "signature": "d6af55d9", + "signature_raw": "quoteLayerZeroFee(uint16,uint8,bytes,bytes,)", + "signature": "944e08a5", "scope": 744, "type_description": { "type_identifier": "t_function_$_t_uint16$_t_uint8$_t_bytes$_t_bytes$_t_struct$_IStargateRouter_lzTxObj_$746$", "type_string": "function(uint16,uint8,bytes,bytes,struct IStargateRouter.lzTxObj)" - } + }, + "text": "functionquoteLayerZeroFee(uint16_dstChainId,uint8_functionType,bytescalldata_toAddress,bytescalldata_transferAndCallPayload,lzTxObjmemory_lzTxParams)externalviewreturns(uint256,uint256);" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/sushixswap/IStargateWidget.solgo.ast.json b/data/tests/contracts/sushixswap/IStargateWidget.solgo.ast.json index fd4a1683..b5d974b7 100644 --- a/data/tests/contracts/sushixswap/IStargateWidget.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IStargateWidget.solgo.ast.json @@ -181,7 +181,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes2$", "type_string": "function(bytes2)" - } + }, + "text": "functionpartnerSwap(bytes2_partnerId)external;" } ], "linearized_base_contracts": [ diff --git a/data/tests/contracts/sushixswap/ISushiXSwap.solgo.ast.json b/data/tests/contracts/sushixswap/ISushiXSwap.solgo.ast.json index 6a8f14c9..6b9665ad 100644 --- a/data/tests/contracts/sushixswap/ISushiXSwap.solgo.ast.json +++ b/data/tests/contracts/sushixswap/ISushiXSwap.solgo.ast.json @@ -1,35 +1,35 @@ { - "id": 4055, + "id": 4069, "base_contracts": [], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 4055, + "id": 4069, "name": "ISushiXSwap", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ISushiXSwap.sol" }, { - "id": 3694, + "id": 3668, "name": "BentoAdapter", "absolute_path": "BentoAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "TokenAdapter", "absolute_path": "TokenAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "SushiLegacyAdapter", "absolute_path": "SushiLegacyAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "TridentSwapAdapter", "absolute_path": "TridentSwapAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "StargateAdapter", "absolute_path": "StargateAdapter.sol" } @@ -39,7 +39,7 @@ "node_type": 1, "nodes": [ { - "id": 4077, + "id": 4091, "node_type": 10, "src": { "line": 1485, @@ -47,7 +47,7 @@ "start": 52158, "end": 52180, "length": 23, - "parent_index": 4055 + "parent_index": 4069 }, "literals": [ "pragma", @@ -62,7 +62,7 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 4107, + "id": 4121, "node_type": 29, "src": { "line": 1487, @@ -70,18 +70,18 @@ "start": 52183, "end": 52210, "length": 28, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "BentoAdapter.sol", "file": "./BentoAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4108, + "id": 4122, "node_type": 29, "src": { "line": 1488, @@ -89,18 +89,18 @@ "start": 52212, "end": 52239, "length": 28, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "TokenAdapter.sol", "file": "./TokenAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4109, + "id": 4123, "node_type": 29, "src": { "line": 1489, @@ -108,18 +108,18 @@ "start": 52241, "end": 52274, "length": 34, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "SushiLegacyAdapter.sol", "file": "./SushiLegacyAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4110, + "id": 4124, "node_type": 29, "src": { "line": 1490, @@ -127,18 +127,18 @@ "start": 52276, "end": 52309, "length": 34, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "TridentSwapAdapter.sol", "file": "./TridentSwapAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4111, + "id": 4125, "node_type": 29, "src": { "line": 1491, @@ -146,18 +146,18 @@ "start": 52311, "end": 52341, "length": 31, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "StargateAdapter.sol", "file": "./StargateAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4118, + "id": 4132, "name": "ISushiXSwap", "node_type": 35, "src": { @@ -166,7 +166,7 @@ "start": 52344, "end": 52505, "length": 162, - "parent_index": 4055 + "parent_index": 4069 }, "name_location": { "line": 1493, @@ -174,14 +174,14 @@ "start": 52354, "end": 52364, "length": 11, - "parent_index": 4118 + "parent_index": 4132 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 4120, + "id": 4134, "name": "cook", "node_type": 42, "kind": 41, @@ -191,7 +191,7 @@ "start": 52372, "end": 52503, "length": 132, - "parent_index": 4118 + "parent_index": 4132 }, "name_location": { "line": 1494, @@ -199,10 +199,10 @@ "start": 52381, "end": 52384, "length": 4, - "parent_index": 4120 + "parent_index": 4134 }, "body": { - "id": 4129, + "id": 4143, "node_type": 46, "kind": 0, "src": { @@ -211,7 +211,7 @@ "start": 52372, "end": 52503, "length": 132, - "parent_index": 4120 + "parent_index": 4134 }, "implemented": false, "statements": [] @@ -223,7 +223,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4121, + "id": 4135, "node_type": 43, "src": { "line": 1495, @@ -231,11 +231,11 @@ "start": 52395, "end": 52479, "length": 85, - "parent_index": 4120 + "parent_index": 4134 }, "parameters": [ { - "id": 4122, + "id": 4136, "node_type": 44, "src": { "line": 1495, @@ -243,12 +243,12 @@ "start": 52395, "end": 52416, "length": 22, - "parent_index": 4121 + "parent_index": 4135 }, - "scope": 4120, + "scope": 4134, "name": "actions", "type_name": { - "id": 4123, + "id": 4137, "node_type": 16, "src": { "line": 1495, @@ -256,7 +256,7 @@ "start": 52395, "end": 52399, "length": 5, - "parent_index": 4122 + "parent_index": 4136 }, "name": "uint8", "referenced_declaration": 0, @@ -274,7 +274,7 @@ } }, { - "id": 4124, + "id": 4138, "node_type": 44, "src": { "line": 1496, @@ -282,12 +282,12 @@ "start": 52427, "end": 52449, "length": 23, - "parent_index": 4121 + "parent_index": 4135 }, - "scope": 4120, + "scope": 4134, "name": "values", "type_name": { - "id": 4125, + "id": 4139, "node_type": 16, "src": { "line": 1496, @@ -295,7 +295,7 @@ "start": 52427, "end": 52433, "length": 7, - "parent_index": 4124 + "parent_index": 4138 }, "name": "uint256", "referenced_declaration": 0, @@ -313,7 +313,7 @@ } }, { - "id": 4126, + "id": 4140, "node_type": 44, "src": { "line": 1497, @@ -321,12 +321,12 @@ "start": 52460, "end": 52479, "length": 20, - "parent_index": 4121 + "parent_index": 4135 }, - "scope": 4120, + "scope": 4134, "name": "datas", "type_name": { - "id": 4127, + "id": 4141, "node_type": 16, "src": { "line": 1497, @@ -334,7 +334,7 @@ "start": 52460, "end": 52464, "length": 5, - "parent_index": 4126 + "parent_index": 4140 }, "name": "bytes", "referenced_declaration": 0, @@ -368,7 +368,7 @@ ] }, "return_parameters": { - "id": 4128, + "id": 4142, "node_type": 43, "src": { "line": 1494, @@ -376,35 +376,36 @@ "start": 52372, "end": 52503, "length": 132, - "parent_index": 4120 + "parent_index": 4134 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "cook(uint8, uint256, bytes)", - "signature": "c69b41d9", - "scope": 4118, + "signature_raw": "cook(uint8,uint256,bytes)", + "signature": "5d449bb0", + "scope": 4132, "type_description": { "type_identifier": "t_function_$_t_uint8$_t_uint256$_t_bytes$", "type_string": "function(uint8,uint256,bytes)" - } + }, + "text": "functioncook(uint8[]memoryactions,uint256[]memoryvalues,bytes[]memorydatas)externalpayable;" } ], "linearized_base_contracts": [ - 4118, - 4107, - 4108, - 4109, - 4110, - 4111 + 4132, + 4121, + 4122, + 4123, + 4124, + 4125 ], "base_contracts": [], "contract_dependencies": [ - 4107, - 4108, - 4109, - 4110, - 4111 + 4121, + 4122, + 4123, + 4124, + 4125 ] } ], diff --git a/data/tests/contracts/sushixswap/ITridentRouter.solgo.ast.json b/data/tests/contracts/sushixswap/ITridentRouter.solgo.ast.json index 70045b75..26e29936 100644 --- a/data/tests/contracts/sushixswap/ITridentRouter.solgo.ast.json +++ b/data/tests/contracts/sushixswap/ITridentRouter.solgo.ast.json @@ -1,25 +1,25 @@ { - "id": 3023, + "id": 3465, "base_contracts": [], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 3023, + "id": 3465, "name": "ITridentRouter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentRouter.sol" }, { - "id": 2787, + "id": 3335, "name": "IPool", "absolute_path": "IPool.sol" }, { - "id": 2787, + "id": 3335, "name": "IBentoBoxMinimal", "absolute_path": "IBentoBoxMinimal.sol" }, { - "id": 2787, + "id": 3335, "name": "IERC20", "absolute_path": "IERC20.sol" } @@ -29,15 +29,15 @@ "node_type": 1, "nodes": [ { - "id": 3040, + "id": 3484, "node_type": 10, "src": { - "line": 1107, + "line": 1278, "column": 0, - "start": 39402, - "end": 39424, + "start": 45473, + "end": 45495, "length": 23, - "parent_index": 3023 + "parent_index": 3465 }, "literals": [ "pragma", @@ -52,135 +52,135 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 3056, + "id": 3506, "node_type": 29, "src": { - "line": 1109, + "line": 1280, "column": 0, - "start": 39427, - "end": 39447, + "start": 45498, + "end": 45518, "length": 21, - "parent_index": 3023 + "parent_index": 3465 }, "absolute_path": "IPool.sol", "file": "./IPool.sol", - "scope": 3023, + "scope": 3465, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 2787 + "source_unit": 3335 }, { - "id": 3057, + "id": 3507, "node_type": 29, "src": { - "line": 1110, + "line": 1281, "column": 0, - "start": 39449, - "end": 39480, + "start": 45520, + "end": 45551, "length": 32, - "parent_index": 3023 + "parent_index": 3465 }, "absolute_path": "IBentoBoxMinimal.sol", "file": "./IBentoBoxMinimal.sol", - "scope": 3023, + "scope": 3465, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 2787 + "source_unit": 3335 }, { - "id": 3058, + "id": 3508, "node_type": 29, "src": { - "line": 1111, + "line": 1282, "column": 0, - "start": 39482, - "end": 39503, + "start": 45553, + "end": 45574, "length": 22, - "parent_index": 3023 + "parent_index": 3465 }, "absolute_path": "IERC20.sol", "file": "./IERC20.sol", - "scope": 3023, + "scope": 3465, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 2787 + "source_unit": 3335 }, { - "id": 3081, + "id": 3525, "name": "ITridentRouter", "node_type": 35, "src": { - "line": 1114, + "line": 1285, "column": 0, - "start": 39549, - "end": 40638, + "start": 45620, + "end": 46709, "length": 1090, - "parent_index": 3023 + "parent_index": 3465 }, "name_location": { - "line": 1114, + "line": 1285, "column": 10, - "start": 39559, - "end": 39572, + "start": 45630, + "end": 45643, "length": 14, - "parent_index": 3081 + "parent_index": 3525 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 3083, + "id": 3527, "node_type": 67, "src": { - "line": 1115, + "line": 1286, "column": 4, - "start": 39580, - "end": 39640, + "start": 45651, + "end": 45711, "length": 61, - "parent_index": 3023 + "parent_index": 3465 }, "name": "Path", "name_location": { - "line": 1115, + "line": 1286, "column": 11, - "start": 39587, - "end": 39590, + "start": 45658, + "end": 45661, "length": 4, - "parent_index": 3083 + "parent_index": 3527 }, "canonical_name": "ITridentRouter.Path", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Path_$3083", + "type_identifier": "t_struct$_ITridentRouter_Path_$3527", "type_string": "struct ITridentRouter.Path" }, "members": [ { - "id": 3084, + "id": 3528, "node_type": 44, "src": { - "line": 1116, + "line": 1287, "column": 8, - "start": 39602, - "end": 39614, + "start": 45673, + "end": 45685, "length": 13, - "parent_index": 3083 + "parent_index": 3527 }, - "scope": 3081, + "scope": 3525, "name": "pool", "type_name": { - "id": 3085, + "id": 3529, "node_type": 30, "src": { - "line": 1116, + "line": 1287, "column": 8, - "start": 39602, - "end": 39608, + "start": 45673, + "end": 45679, "length": 7, - "parent_index": 3084 + "parent_index": 3528 }, "name": "address", "state_mutability": 4, @@ -198,28 +198,28 @@ } }, { - "id": 3086, + "id": 3530, "node_type": 44, "src": { - "line": 1117, + "line": 1288, "column": 8, - "start": 39624, - "end": 39634, + "start": 45695, + "end": 45705, "length": 11, - "parent_index": 3083 + "parent_index": 3527 }, - "scope": 3081, + "scope": 3525, "name": "data", "type_name": { - "id": 3087, + "id": 3531, "node_type": 30, "src": { - "line": 1117, + "line": 1288, "column": 8, - "start": 39624, - "end": 39628, + "start": 45695, + "end": 45699, "length": 5, - "parent_index": 3086 + "parent_index": 3530 }, "name": "bytes", "referenced_declaration": 0, @@ -240,54 +240,54 @@ "storage_location": 1 }, { - "id": 3089, + "id": 3533, "node_type": 67, "src": { - "line": 1120, + "line": 1291, "column": 4, - "start": 39647, - "end": 39810, + "start": 45718, + "end": 45881, "length": 164, - "parent_index": 3023 + "parent_index": 3465 }, "name": "ExactInputSingleParams", "name_location": { - "line": 1120, + "line": 1291, "column": 11, - "start": 39654, - "end": 39675, + "start": 45725, + "end": 45746, "length": 22, - "parent_index": 3089 + "parent_index": 3533 }, "canonical_name": "ITridentRouter.ExactInputSingleParams", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputSingleParams_$3089", + "type_identifier": "t_struct$_ITridentRouter_ExactInputSingleParams_$3533", "type_string": "struct ITridentRouter.ExactInputSingleParams" }, "members": [ { - "id": 3090, + "id": 3534, "node_type": 44, "src": { - "line": 1121, + "line": 1292, "column": 8, - "start": 39687, - "end": 39703, + "start": 45758, + "end": 45774, "length": 17, - "parent_index": 3089 + "parent_index": 3533 }, - "scope": 3081, + "scope": 3525, "name": "amountIn", "type_name": { - "id": 3091, + "id": 3535, "node_type": 30, "src": { - "line": 1121, + "line": 1292, "column": 8, - "start": 39687, - "end": 39693, + "start": 45758, + "end": 45764, "length": 7, - "parent_index": 3090 + "parent_index": 3534 }, "name": "uint256", "referenced_declaration": 0, @@ -304,28 +304,28 @@ } }, { - "id": 3092, + "id": 3536, "node_type": 44, "src": { - "line": 1122, + "line": 1293, "column": 8, - "start": 39713, - "end": 39737, + "start": 45784, + "end": 45808, "length": 25, - "parent_index": 3089 + "parent_index": 3533 }, - "scope": 3081, + "scope": 3525, "name": "amountOutMinimum", "type_name": { - "id": 3093, + "id": 3537, "node_type": 30, "src": { - "line": 1122, + "line": 1293, "column": 8, - "start": 39713, - "end": 39719, + "start": 45784, + "end": 45790, "length": 7, - "parent_index": 3092 + "parent_index": 3536 }, "name": "uint256", "referenced_declaration": 0, @@ -342,28 +342,28 @@ } }, { - "id": 3094, + "id": 3538, "node_type": 44, "src": { - "line": 1123, + "line": 1294, "column": 8, - "start": 39747, - "end": 39759, + "start": 45818, + "end": 45830, "length": 13, - "parent_index": 3089 + "parent_index": 3533 }, - "scope": 3081, + "scope": 3525, "name": "pool", "type_name": { - "id": 3095, + "id": 3539, "node_type": 30, "src": { - "line": 1123, + "line": 1294, "column": 8, - "start": 39747, - "end": 39753, + "start": 45818, + "end": 45824, "length": 7, - "parent_index": 3094 + "parent_index": 3538 }, "name": "address", "state_mutability": 4, @@ -381,28 +381,28 @@ } }, { - "id": 3096, + "id": 3540, "node_type": 44, "src": { - "line": 1124, + "line": 1295, "column": 8, - "start": 39769, - "end": 39784, + "start": 45840, + "end": 45855, "length": 16, - "parent_index": 3089 + "parent_index": 3533 }, - "scope": 3081, + "scope": 3525, "name": "tokenIn", "type_name": { - "id": 3097, + "id": 3541, "node_type": 30, "src": { - "line": 1124, + "line": 1295, "column": 8, - "start": 39769, - "end": 39775, + "start": 45840, + "end": 45846, "length": 7, - "parent_index": 3096 + "parent_index": 3540 }, "name": "address", "state_mutability": 4, @@ -420,28 +420,28 @@ } }, { - "id": 3098, + "id": 3542, "node_type": 44, "src": { - "line": 1125, + "line": 1296, "column": 8, - "start": 39794, - "end": 39804, + "start": 45865, + "end": 45875, "length": 11, - "parent_index": 3089 + "parent_index": 3533 }, - "scope": 3081, + "scope": 3525, "name": "data", "type_name": { - "id": 3099, + "id": 3543, "node_type": 30, "src": { - "line": 1125, + "line": 1296, "column": 8, - "start": 39794, - "end": 39798, + "start": 45865, + "end": 45869, "length": 5, - "parent_index": 3098 + "parent_index": 3542 }, "name": "bytes", "referenced_declaration": 0, @@ -462,54 +462,54 @@ "storage_location": 1 }, { - "id": 3101, + "id": 3545, "node_type": 67, "src": { - "line": 1128, + "line": 1299, "column": 4, - "start": 39817, - "end": 39953, + "start": 45888, + "end": 46024, "length": 137, - "parent_index": 3023 + "parent_index": 3465 }, "name": "ExactInputParams", "name_location": { - "line": 1128, + "line": 1299, "column": 11, - "start": 39824, - "end": 39839, + "start": 45895, + "end": 45910, "length": 16, - "parent_index": 3101 + "parent_index": 3545 }, "canonical_name": "ITridentRouter.ExactInputParams", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, "members": [ { - "id": 3102, + "id": 3546, "node_type": 44, "src": { - "line": 1129, + "line": 1300, "column": 8, - "start": 39851, - "end": 39866, + "start": 45922, + "end": 45937, "length": 16, - "parent_index": 3101 + "parent_index": 3545 }, - "scope": 3081, + "scope": 3525, "name": "tokenIn", "type_name": { - "id": 3103, + "id": 3547, "node_type": 30, "src": { - "line": 1129, + "line": 1300, "column": 8, - "start": 39851, - "end": 39857, + "start": 45922, + "end": 45928, "length": 7, - "parent_index": 3102 + "parent_index": 3546 }, "name": "address", "state_mutability": 4, @@ -527,28 +527,28 @@ } }, { - "id": 3104, + "id": 3548, "node_type": 44, "src": { - "line": 1130, + "line": 1301, "column": 8, - "start": 39876, - "end": 39892, + "start": 45947, + "end": 45963, "length": 17, - "parent_index": 3101 + "parent_index": 3545 }, - "scope": 3081, + "scope": 3525, "name": "amountIn", "type_name": { - "id": 3105, + "id": 3549, "node_type": 30, "src": { - "line": 1130, + "line": 1301, "column": 8, - "start": 39876, - "end": 39882, + "start": 45947, + "end": 45953, "length": 7, - "parent_index": 3104 + "parent_index": 3548 }, "name": "uint256", "referenced_declaration": 0, @@ -565,28 +565,28 @@ } }, { - "id": 3106, + "id": 3550, "node_type": 44, "src": { - "line": 1131, + "line": 1302, "column": 8, - "start": 39902, - "end": 39926, + "start": 45973, + "end": 45997, "length": 25, - "parent_index": 3101 + "parent_index": 3545 }, - "scope": 3081, + "scope": 3525, "name": "amountOutMinimum", "type_name": { - "id": 3107, + "id": 3551, "node_type": 30, "src": { - "line": 1131, + "line": 1302, "column": 8, - "start": 39902, - "end": 39908, + "start": 45973, + "end": 45979, "length": 7, - "parent_index": 3106 + "parent_index": 3550 }, "name": "uint256", "referenced_declaration": 0, @@ -603,54 +603,54 @@ } }, { - "id": 3108, + "id": 3552, "node_type": 44, "src": { - "line": 1132, + "line": 1303, "column": 8, - "start": 39936, - "end": 39947, + "start": 46007, + "end": 46018, "length": 12, - "parent_index": 3101 + "parent_index": 3545 }, - "scope": 3081, + "scope": 3525, "name": "path", "type_name": { - "id": 3109, + "id": 3553, "node_type": 69, "src": { - "line": 1132, + "line": 1303, "column": 8, - "start": 39936, - "end": 39939, + "start": 46007, + "end": 46010, "length": 4, - "parent_index": 3108 + "parent_index": 3552 }, "name": "Path", "path_node": { - "id": 3110, + "id": 3554, "name": "Path", "node_type": 52, - "referenced_declaration": 3083, + "referenced_declaration": 3527, "src": { - "line": 1132, + "line": 1303, "column": 8, - "start": 39936, - "end": 39939, + "start": 46007, + "end": 46010, "length": 4, - "parent_index": 3109 + "parent_index": 3553 } }, - "referenced_declaration": 3083, + "referenced_declaration": 3527, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Path_$3083", + "type_identifier": "t_struct$_ITridentRouter_Path_$3527", "type_string": "struct ITridentRouter.Path" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Path_$3083", + "type_identifier": "t_struct$_ITridentRouter_Path_$3527", "type_string": "struct ITridentRouter.Path" } } @@ -659,54 +659,54 @@ "storage_location": 1 }, { - "id": 3112, + "id": 3556, "node_type": 67, "src": { - "line": 1135, + "line": 1306, "column": 4, - "start": 39960, - "end": 40052, + "start": 46031, + "end": 46123, "length": 93, - "parent_index": 3023 + "parent_index": 3465 }, "name": "TokenInput", "name_location": { - "line": 1135, + "line": 1306, "column": 11, - "start": 39967, - "end": 39976, + "start": 46038, + "end": 46047, "length": 10, - "parent_index": 3112 + "parent_index": 3556 }, "canonical_name": "ITridentRouter.TokenInput", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_TokenInput_$3112", + "type_identifier": "t_struct$_ITridentRouter_TokenInput_$3556", "type_string": "struct ITridentRouter.TokenInput" }, "members": [ { - "id": 3113, + "id": 3557, "node_type": 44, "src": { - "line": 1136, + "line": 1307, "column": 8, - "start": 39988, - "end": 40001, + "start": 46059, + "end": 46072, "length": 14, - "parent_index": 3112 + "parent_index": 3556 }, - "scope": 3081, + "scope": 3525, "name": "token", "type_name": { - "id": 3114, + "id": 3558, "node_type": 30, "src": { - "line": 1136, + "line": 1307, "column": 8, - "start": 39988, - "end": 39994, + "start": 46059, + "end": 46065, "length": 7, - "parent_index": 3113 + "parent_index": 3557 }, "name": "address", "state_mutability": 4, @@ -724,28 +724,28 @@ } }, { - "id": 3115, + "id": 3559, "node_type": 44, "src": { - "line": 1137, + "line": 1308, "column": 8, - "start": 40011, - "end": 40022, + "start": 46082, + "end": 46093, "length": 12, - "parent_index": 3112 + "parent_index": 3556 }, - "scope": 3081, + "scope": 3525, "name": "native", "type_name": { - "id": 3116, + "id": 3560, "node_type": 30, "src": { - "line": 1137, + "line": 1308, "column": 8, - "start": 40011, - "end": 40014, + "start": 46082, + "end": 46085, "length": 4, - "parent_index": 3115 + "parent_index": 3559 }, "name": "bool", "referenced_declaration": 0, @@ -762,28 +762,28 @@ } }, { - "id": 3117, + "id": 3561, "node_type": 44, "src": { - "line": 1138, + "line": 1309, "column": 8, - "start": 40032, - "end": 40046, + "start": 46103, + "end": 46117, "length": 15, - "parent_index": 3112 + "parent_index": 3556 }, - "scope": 3081, + "scope": 3525, "name": "amount", "type_name": { - "id": 3118, + "id": 3562, "node_type": 30, "src": { - "line": 1138, + "line": 1309, "column": 8, - "start": 40032, - "end": 40038, + "start": 46103, + "end": 46109, "length": 7, - "parent_index": 3117 + "parent_index": 3561 }, "name": "uint256", "referenced_declaration": 0, @@ -804,54 +804,54 @@ "storage_location": 1 }, { - "id": 3120, + "id": 3564, "node_type": 67, "src": { - "line": 1141, + "line": 1312, "column": 4, - "start": 40059, - "end": 40196, + "start": 46130, + "end": 46267, "length": 138, - "parent_index": 3023 + "parent_index": 3465 }, "name": "InitialPath", "name_location": { - "line": 1141, + "line": 1312, "column": 11, - "start": 40066, - "end": 40076, + "start": 46137, + "end": 46147, "length": 11, - "parent_index": 3120 + "parent_index": 3564 }, "canonical_name": "ITridentRouter.InitialPath", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3120", + "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3564", "type_string": "struct ITridentRouter.InitialPath" }, "members": [ { - "id": 3121, + "id": 3565, "node_type": 44, "src": { - "line": 1142, + "line": 1313, "column": 8, - "start": 40088, - "end": 40103, + "start": 46159, + "end": 46174, "length": 16, - "parent_index": 3120 + "parent_index": 3564 }, - "scope": 3081, + "scope": 3525, "name": "tokenIn", "type_name": { - "id": 3122, + "id": 3566, "node_type": 30, "src": { - "line": 1142, + "line": 1313, "column": 8, - "start": 40088, - "end": 40094, + "start": 46159, + "end": 46165, "length": 7, - "parent_index": 3121 + "parent_index": 3565 }, "name": "address", "state_mutability": 4, @@ -869,28 +869,28 @@ } }, { - "id": 3123, + "id": 3567, "node_type": 44, "src": { - "line": 1143, + "line": 1314, "column": 8, - "start": 40113, - "end": 40125, + "start": 46184, + "end": 46196, "length": 13, - "parent_index": 3120 + "parent_index": 3564 }, - "scope": 3081, + "scope": 3525, "name": "pool", "type_name": { - "id": 3124, + "id": 3568, "node_type": 30, "src": { - "line": 1143, + "line": 1314, "column": 8, - "start": 40113, - "end": 40119, + "start": 46184, + "end": 46190, "length": 7, - "parent_index": 3123 + "parent_index": 3567 }, "name": "address", "state_mutability": 4, @@ -908,28 +908,28 @@ } }, { - "id": 3125, + "id": 3569, "node_type": 44, "src": { - "line": 1144, + "line": 1315, "column": 8, - "start": 40135, - "end": 40146, + "start": 46206, + "end": 46217, "length": 12, - "parent_index": 3120 + "parent_index": 3564 }, - "scope": 3081, + "scope": 3525, "name": "native", "type_name": { - "id": 3126, + "id": 3570, "node_type": 30, "src": { - "line": 1144, + "line": 1315, "column": 8, - "start": 40135, - "end": 40138, + "start": 46206, + "end": 46209, "length": 4, - "parent_index": 3125 + "parent_index": 3569 }, "name": "bool", "referenced_declaration": 0, @@ -946,28 +946,28 @@ } }, { - "id": 3127, + "id": 3571, "node_type": 44, "src": { - "line": 1145, + "line": 1316, "column": 8, - "start": 40156, - "end": 40170, + "start": 46227, + "end": 46241, "length": 15, - "parent_index": 3120 + "parent_index": 3564 }, - "scope": 3081, + "scope": 3525, "name": "amount", "type_name": { - "id": 3128, + "id": 3572, "node_type": 30, "src": { - "line": 1145, + "line": 1316, "column": 8, - "start": 40156, - "end": 40162, + "start": 46227, + "end": 46233, "length": 7, - "parent_index": 3127 + "parent_index": 3571 }, "name": "uint256", "referenced_declaration": 0, @@ -984,28 +984,28 @@ } }, { - "id": 3129, + "id": 3573, "node_type": 44, "src": { - "line": 1146, + "line": 1317, "column": 8, - "start": 40180, - "end": 40190, + "start": 46251, + "end": 46261, "length": 11, - "parent_index": 3120 + "parent_index": 3564 }, - "scope": 3081, + "scope": 3525, "name": "data", "type_name": { - "id": 3130, + "id": 3574, "node_type": 30, "src": { - "line": 1146, + "line": 1317, "column": 8, - "start": 40180, - "end": 40184, + "start": 46251, + "end": 46255, "length": 5, - "parent_index": 3129 + "parent_index": 3573 }, "name": "bytes", "referenced_declaration": 0, @@ -1026,54 +1026,54 @@ "storage_location": 1 }, { - "id": 3132, + "id": 3576, "node_type": 67, "src": { - "line": 1149, + "line": 1320, "column": 4, - "start": 40203, - "end": 40374, + "start": 46274, + "end": 46445, "length": 172, - "parent_index": 3023 + "parent_index": 3465 }, "name": "PercentagePath", "name_location": { - "line": 1149, + "line": 1320, "column": 11, - "start": 40210, - "end": 40223, + "start": 46281, + "end": 46294, "length": 14, - "parent_index": 3132 + "parent_index": 3576 }, "canonical_name": "ITridentRouter.PercentagePath", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3132", + "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3576", "type_string": "struct ITridentRouter.PercentagePath" }, "members": [ { - "id": 3133, + "id": 3577, "node_type": 44, "src": { - "line": 1150, + "line": 1321, "column": 8, - "start": 40235, - "end": 40250, + "start": 46306, + "end": 46321, "length": 16, - "parent_index": 3132 + "parent_index": 3576 }, - "scope": 3081, + "scope": 3525, "name": "tokenIn", "type_name": { - "id": 3134, + "id": 3578, "node_type": 30, "src": { - "line": 1150, + "line": 1321, "column": 8, - "start": 40235, - "end": 40241, + "start": 46306, + "end": 46312, "length": 7, - "parent_index": 3133 + "parent_index": 3577 }, "name": "address", "state_mutability": 4, @@ -1091,28 +1091,28 @@ } }, { - "id": 3135, + "id": 3579, "node_type": 44, "src": { - "line": 1151, + "line": 1322, "column": 8, - "start": 40260, - "end": 40272, + "start": 46331, + "end": 46343, "length": 13, - "parent_index": 3132 + "parent_index": 3576 }, - "scope": 3081, + "scope": 3525, "name": "pool", "type_name": { - "id": 3136, + "id": 3580, "node_type": 30, "src": { - "line": 1151, + "line": 1322, "column": 8, - "start": 40260, - "end": 40266, + "start": 46331, + "end": 46337, "length": 7, - "parent_index": 3135 + "parent_index": 3579 }, "name": "address", "state_mutability": 4, @@ -1130,28 +1130,28 @@ } }, { - "id": 3137, + "id": 3581, "node_type": 44, "src": { - "line": 1152, + "line": 1323, "column": 8, - "start": 40282, - "end": 40306, + "start": 46353, + "end": 46377, "length": 25, - "parent_index": 3132 + "parent_index": 3576 }, - "scope": 3081, + "scope": 3525, "name": "balancePercentage", "type_name": { - "id": 3138, + "id": 3582, "node_type": 30, "src": { - "line": 1152, + "line": 1323, "column": 8, - "start": 40282, - "end": 40287, + "start": 46353, + "end": 46358, "length": 6, - "parent_index": 3137 + "parent_index": 3581 }, "name": "uint64", "referenced_declaration": 0, @@ -1168,28 +1168,28 @@ } }, { - "id": 3139, + "id": 3583, "node_type": 44, "src": { - "line": 1153, + "line": 1324, "column": 8, - "start": 40358, - "end": 40368, + "start": 46429, + "end": 46439, "length": 11, - "parent_index": 3132 + "parent_index": 3576 }, - "scope": 3081, + "scope": 3525, "name": "data", "type_name": { - "id": 3140, + "id": 3584, "node_type": 30, "src": { - "line": 1153, + "line": 1324, "column": 8, - "start": 40358, - "end": 40362, + "start": 46429, + "end": 46433, "length": 5, - "parent_index": 3139 + "parent_index": 3583 }, "name": "bytes", "referenced_declaration": 0, @@ -1210,54 +1210,54 @@ "storage_location": 1 }, { - "id": 3142, + "id": 3586, "node_type": 67, "src": { - "line": 1156, + "line": 1327, "column": 4, - "start": 40381, - "end": 40497, + "start": 46452, + "end": 46568, "length": 117, - "parent_index": 3023 + "parent_index": 3465 }, "name": "Output", "name_location": { - "line": 1156, + "line": 1327, "column": 11, - "start": 40388, - "end": 40393, + "start": 46459, + "end": 46464, "length": 6, - "parent_index": 3142 + "parent_index": 3586 }, "canonical_name": "ITridentRouter.Output", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Output_$3142", + "type_identifier": "t_struct$_ITridentRouter_Output_$3586", "type_string": "struct ITridentRouter.Output" }, "members": [ { - "id": 3143, + "id": 3587, "node_type": 44, "src": { - "line": 1157, + "line": 1328, "column": 8, - "start": 40405, - "end": 40418, + "start": 46476, + "end": 46489, "length": 14, - "parent_index": 3142 + "parent_index": 3586 }, - "scope": 3081, + "scope": 3525, "name": "token", "type_name": { - "id": 3144, + "id": 3588, "node_type": 30, "src": { - "line": 1157, + "line": 1328, "column": 8, - "start": 40405, - "end": 40411, + "start": 46476, + "end": 46482, "length": 7, - "parent_index": 3143 + "parent_index": 3587 }, "name": "address", "state_mutability": 4, @@ -1275,28 +1275,28 @@ } }, { - "id": 3145, + "id": 3589, "node_type": 44, "src": { - "line": 1158, + "line": 1329, "column": 8, - "start": 40428, - "end": 40438, + "start": 46499, + "end": 46509, "length": 11, - "parent_index": 3142 + "parent_index": 3586 }, - "scope": 3081, + "scope": 3525, "name": "to", "type_name": { - "id": 3146, + "id": 3590, "node_type": 30, "src": { - "line": 1158, + "line": 1329, "column": 8, - "start": 40428, - "end": 40434, + "start": 46499, + "end": 46505, "length": 7, - "parent_index": 3145 + "parent_index": 3589 }, "name": "address", "state_mutability": 4, @@ -1314,28 +1314,28 @@ } }, { - "id": 3147, + "id": 3591, "node_type": 44, "src": { - "line": 1159, + "line": 1330, "column": 8, - "start": 40448, - "end": 40464, + "start": 46519, + "end": 46535, "length": 17, - "parent_index": 3142 + "parent_index": 3586 }, - "scope": 3081, + "scope": 3525, "name": "unwrapBento", "type_name": { - "id": 3148, + "id": 3592, "node_type": 30, "src": { - "line": 1159, + "line": 1330, "column": 8, - "start": 40448, - "end": 40451, + "start": 46519, + "end": 46522, "length": 4, - "parent_index": 3147 + "parent_index": 3591 }, "name": "bool", "referenced_declaration": 0, @@ -1352,28 +1352,28 @@ } }, { - "id": 3149, + "id": 3593, "node_type": 44, "src": { - "line": 1160, + "line": 1331, "column": 8, - "start": 40474, - "end": 40491, + "start": 46545, + "end": 46562, "length": 18, - "parent_index": 3142 + "parent_index": 3586 }, - "scope": 3081, + "scope": 3525, "name": "minAmount", "type_name": { - "id": 3150, + "id": 3594, "node_type": 30, "src": { - "line": 1160, + "line": 1331, "column": 8, - "start": 40474, - "end": 40480, + "start": 46545, + "end": 46551, "length": 7, - "parent_index": 3149 + "parent_index": 3593 }, "name": "uint256", "referenced_declaration": 0, @@ -1394,184 +1394,184 @@ "storage_location": 1 }, { - "id": 3152, + "id": 3596, "node_type": 67, "src": { - "line": 1163, + "line": 1334, "column": 4, - "start": 40504, - "end": 40636, + "start": 46575, + "end": 46707, "length": 133, - "parent_index": 3023 + "parent_index": 3465 }, "name": "ComplexPathParams", "name_location": { - "line": 1163, + "line": 1334, "column": 11, - "start": 40511, - "end": 40527, + "start": 46582, + "end": 46598, "length": 17, - "parent_index": 3152 + "parent_index": 3596 }, "canonical_name": "ITridentRouter.ComplexPathParams", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" }, "members": [ { - "id": 3153, + "id": 3597, "node_type": 44, "src": { - "line": 1164, + "line": 1335, "column": 8, - "start": 40539, - "end": 40564, + "start": 46610, + "end": 46635, "length": 26, - "parent_index": 3152 + "parent_index": 3596 }, - "scope": 3081, + "scope": 3525, "name": "initialPath", "type_name": { - "id": 3154, + "id": 3598, "node_type": 69, "src": { - "line": 1164, + "line": 1335, "column": 8, - "start": 40539, - "end": 40549, + "start": 46610, + "end": 46620, "length": 11, - "parent_index": 3153 + "parent_index": 3597 }, "name": "InitialPath", "path_node": { - "id": 3155, + "id": 3599, "name": "InitialPath", "node_type": 52, - "referenced_declaration": 3120, + "referenced_declaration": 3564, "src": { - "line": 1164, + "line": 1335, "column": 8, - "start": 40539, - "end": 40549, + "start": 46610, + "end": 46620, "length": 11, - "parent_index": 3154 + "parent_index": 3598 } }, - "referenced_declaration": 3120, + "referenced_declaration": 3564, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3120", + "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3564", "type_string": "struct ITridentRouter.InitialPath" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3120", + "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3564", "type_string": "struct ITridentRouter.InitialPath" } }, { - "id": 3156, + "id": 3600, "node_type": 44, "src": { - "line": 1165, + "line": 1336, "column": 8, - "start": 40574, - "end": 40605, + "start": 46645, + "end": 46676, "length": 32, - "parent_index": 3152 + "parent_index": 3596 }, - "scope": 3081, + "scope": 3525, "name": "percentagePath", "type_name": { - "id": 3157, + "id": 3601, "node_type": 69, "src": { - "line": 1165, + "line": 1336, "column": 8, - "start": 40574, - "end": 40587, + "start": 46645, + "end": 46658, "length": 14, - "parent_index": 3156 + "parent_index": 3600 }, "name": "PercentagePath", "path_node": { - "id": 3158, + "id": 3602, "name": "PercentagePath", "node_type": 52, - "referenced_declaration": 3132, + "referenced_declaration": 3576, "src": { - "line": 1165, + "line": 1336, "column": 8, - "start": 40574, - "end": 40587, + "start": 46645, + "end": 46658, "length": 14, - "parent_index": 3157 + "parent_index": 3601 } }, - "referenced_declaration": 3132, + "referenced_declaration": 3576, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3132", + "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3576", "type_string": "struct ITridentRouter.PercentagePath" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3132", + "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3576", "type_string": "struct ITridentRouter.PercentagePath" } }, { - "id": 3159, + "id": 3603, "node_type": 44, "src": { - "line": 1166, + "line": 1337, "column": 8, - "start": 40615, - "end": 40630, + "start": 46686, + "end": 46701, "length": 16, - "parent_index": 3152 + "parent_index": 3596 }, - "scope": 3081, + "scope": 3525, "name": "output", "type_name": { - "id": 3160, + "id": 3604, "node_type": 69, "src": { - "line": 1166, + "line": 1337, "column": 8, - "start": 40615, - "end": 40620, + "start": 46686, + "end": 46691, "length": 6, - "parent_index": 3159 + "parent_index": 3603 }, "name": "Output", "path_node": { - "id": 3161, + "id": 3605, "name": "Output", "node_type": 52, - "referenced_declaration": 3142, + "referenced_declaration": 3586, "src": { - "line": 1166, + "line": 1337, "column": 8, - "start": 40615, - "end": 40620, + "start": 46686, + "end": 46691, "length": 6, - "parent_index": 3160 + "parent_index": 3604 } }, - "referenced_declaration": 3142, + "referenced_declaration": 3586, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Output_$3142", + "type_identifier": "t_struct$_ITridentRouter_Output_$3586", "type_string": "struct ITridentRouter.Output" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Output_$3142", + "type_identifier": "t_struct$_ITridentRouter_Output_$3586", "type_string": "struct ITridentRouter.Output" } } @@ -1581,24 +1581,24 @@ } ], "linearized_base_contracts": [ - 3081, - 3056, - 3057, - 3058 + 3525, + 3506, + 3507, + 3508 ], "base_contracts": [], "contract_dependencies": [ - 3056, - 3057, - 3058 + 3506, + 3507, + 3508 ] } ], "src": { - "line": 1114, + "line": 1285, "column": 0, - "start": 39549, - "end": 40638, + "start": 45620, + "end": 46709, "length": 1090, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/ITridentSwapAdapter.solgo.ast.json b/data/tests/contracts/sushixswap/ITridentSwapAdapter.solgo.ast.json index 9b64af3b..ad6c908b 100644 --- a/data/tests/contracts/sushixswap/ITridentSwapAdapter.solgo.ast.json +++ b/data/tests/contracts/sushixswap/ITridentSwapAdapter.solgo.ast.json @@ -1,30 +1,30 @@ { - "id": 3162, + "id": 3606, "base_contracts": [], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 3162, + "id": 3606, "name": "ITridentSwapAdapter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentSwapAdapter.sol" }, { - "id": 3023, + "id": 3465, "name": "ITridentRouter", "absolute_path": "ITridentRouter.sol" }, { - "id": 3023, + "id": 3465, "name": "BentoAdapter", "absolute_path": "BentoAdapter.sol" }, { - "id": 3023, + "id": 3465, "name": "TokenAdapter", "absolute_path": "TokenAdapter.sol" }, { - "id": 3023, + "id": 3465, "name": "ImmutableState", "absolute_path": "ImmutableState.sol" } @@ -34,15 +34,15 @@ "node_type": 1, "nodes": [ { - "id": 3180, + "id": 3626, "node_type": 10, "src": { - "line": 1172, + "line": 1343, "column": 0, - "start": 40687, - "end": 40709, + "start": 46758, + "end": 46780, "length": 23, - "parent_index": 3162 + "parent_index": 3606 }, "literals": [ "pragma", @@ -57,126 +57,126 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 3199, + "id": 3651, "node_type": 29, "src": { - "line": 1174, + "line": 1345, "column": 0, - "start": 40712, - "end": 40741, + "start": 46783, + "end": 46812, "length": 30, - "parent_index": 3162 + "parent_index": 3606 }, "absolute_path": "ITridentRouter.sol", "file": "./ITridentRouter.sol", - "scope": 3162, + "scope": 3606, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3023 + "source_unit": 3465 }, { - "id": 3200, + "id": 3652, "node_type": 29, "src": { - "line": 1175, + "line": 1346, "column": 0, - "start": 40743, - "end": 40770, + "start": 46814, + "end": 46841, "length": 28, - "parent_index": 3162 + "parent_index": 3606 }, "absolute_path": "BentoAdapter.sol", "file": "./BentoAdapter.sol", - "scope": 3162, + "scope": 3606, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3023 + "source_unit": 3465 }, { - "id": 3201, + "id": 3653, "node_type": 29, "src": { - "line": 1176, + "line": 1347, "column": 0, - "start": 40772, - "end": 40799, + "start": 46843, + "end": 46870, "length": 28, - "parent_index": 3162 + "parent_index": 3606 }, "absolute_path": "TokenAdapter.sol", "file": "./TokenAdapter.sol", - "scope": 3162, + "scope": 3606, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3023 + "source_unit": 3465 }, { - "id": 3202, + "id": 3654, "node_type": 29, "src": { - "line": 1177, + "line": 1348, "column": 0, - "start": 40801, - "end": 40830, + "start": 46872, + "end": 46901, "length": 30, - "parent_index": 3162 + "parent_index": 3606 }, "absolute_path": "ImmutableState.sol", "file": "./ImmutableState.sol", - "scope": 3162, + "scope": 3606, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3023 + "source_unit": 3465 }, { - "id": 3221, + "id": 3667, "name": "ITridentSwapAdapter", "node_type": 35, "src": { - "line": 1179, + "line": 1350, "column": 0, - "start": 40833, - "end": 40864, + "start": 46904, + "end": 46935, "length": 32, - "parent_index": 3162 + "parent_index": 3606 }, "name_location": { - "line": 1179, + "line": 1350, "column": 10, - "start": 40843, - "end": 40861, + "start": 46914, + "end": 46932, "length": 19, - "parent_index": 3221 + "parent_index": 3667 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [], "linearized_base_contracts": [ - 3221, - 3199, - 3200, - 3201, - 3202 + 3667, + 3651, + 3652, + 3653, + 3654 ], "base_contracts": [], "contract_dependencies": [ - 3199, - 3200, - 3201, - 3202 + 3651, + 3652, + 3653, + 3654 ] } ], "src": { - "line": 1179, + "line": 1350, "column": 0, - "start": 40833, - "end": 40864, + "start": 46904, + "end": 46935, "length": 32, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/IUniswapV2Pair.solgo.ast.json b/data/tests/contracts/sushixswap/IUniswapV2Pair.solgo.ast.json index 997c445c..36d87b76 100644 --- a/data/tests/contracts/sushixswap/IUniswapV2Pair.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IUniswapV2Pair.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 1797, + "id": 2015, "base_contracts": [], "license": "GPL-3.0", "exported_symbols": [ { - "id": 1797, + "id": 2015, "name": "IUniswapV2Pair", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IUniswapV2Pair.sol" } @@ -14,15 +14,15 @@ "node_type": 1, "nodes": [ { - "id": 1810, + "id": 2028, "node_type": 10, "src": { - "line": 805, + "line": 915, "column": 0, - "start": 28486, - "end": 28509, + "start": 32879, + "end": 32902, "length": 24, - "parent_index": 1797 + "parent_index": 2015 }, "literals": [ "pragma", @@ -38,75 +38,75 @@ "text": "pragma solidity \u003e=0.5.0;" }, { - "id": 1851, + "id": 2069, "name": "IUniswapV2Pair", "node_type": 35, "src": { - "line": 807, + "line": 917, "column": 0, - "start": 28512, - "end": 30908, + "start": 32905, + "end": 35301, "length": 2397, - "parent_index": 1797 + "parent_index": 2015 }, "name_location": { - "line": 807, + "line": 917, "column": 10, - "start": 28522, - "end": 28535, + "start": 32915, + "end": 32928, "length": 14, - "parent_index": 1851 + "parent_index": 2069 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 1853, + "id": 2071, "node_type": 57, "src": { - "line": 808, + "line": 918, "column": 4, - "start": 28543, - "end": 28617, + "start": 32936, + "end": 33010, "length": 75, - "parent_index": 1851 + "parent_index": 2069 }, "parameters": { - "id": 1854, + "id": 2072, "node_type": 43, "src": { - "line": 808, + "line": 918, "column": 4, - "start": 28543, - "end": 28617, + "start": 32936, + "end": 33010, "length": 75, - "parent_index": 1853 + "parent_index": 2071 }, "parameters": [ { - "id": 1855, + "id": 2073, "node_type": 44, "src": { - "line": 808, + "line": 918, "column": 19, - "start": 28558, - "end": 28578, + "start": 32951, + "end": 32971, "length": 21, - "parent_index": 1854 + "parent_index": 2072 }, - "scope": 1853, + "scope": 2071, "name": "owner", "type_name": { - "id": 1856, + "id": 2074, "node_type": 30, "src": { - "line": 808, + "line": 918, "column": 19, - "start": 28558, - "end": 28564, + "start": 32951, + "end": 32957, "length": 7, - "parent_index": 1855 + "parent_index": 2073 }, "name": "address", "state_mutability": 4, @@ -126,28 +126,28 @@ "indexed": true }, { - "id": 1857, + "id": 2075, "node_type": 44, "src": { - "line": 808, + "line": 918, "column": 42, - "start": 28581, - "end": 28603, + "start": 32974, + "end": 32996, "length": 23, - "parent_index": 1854 + "parent_index": 2072 }, - "scope": 1853, + "scope": 2071, "name": "spender", "type_name": { - "id": 1858, + "id": 2076, "node_type": 30, "src": { - "line": 808, + "line": 918, "column": 42, - "start": 28581, - "end": 28587, + "start": 32974, + "end": 32980, "length": 7, - "parent_index": 1857 + "parent_index": 2075 }, "name": "address", "state_mutability": 4, @@ -167,28 +167,28 @@ "indexed": true }, { - "id": 1859, + "id": 2077, "node_type": 44, "src": { - "line": 808, + "line": 918, "column": 67, - "start": 28606, - "end": 28615, + "start": 32999, + "end": 33008, "length": 10, - "parent_index": 1854 + "parent_index": 2072 }, - "scope": 1853, + "scope": 2071, "name": "value", "type_name": { - "id": 1860, + "id": 2078, "node_type": 30, "src": { - "line": 808, + "line": 918, "column": 67, - "start": 28606, - "end": 28609, + "start": 32999, + "end": 33002, "length": 4, - "parent_index": 1859 + "parent_index": 2077 }, "name": "uint", "referenced_declaration": 0, @@ -224,56 +224,56 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Approval_\u00261853", + "type_identifier": "t_event\u0026_IUniswapV2Pair_Approval_\u00262071", "type_string": "event IUniswapV2Pair.Approval" } }, { - "id": 1862, + "id": 2080, "node_type": 57, "src": { - "line": 809, + "line": 919, "column": 4, - "start": 28623, - "end": 28691, + "start": 33016, + "end": 33084, "length": 69, - "parent_index": 1851 + "parent_index": 2069 }, "parameters": { - "id": 1863, + "id": 2081, "node_type": 43, "src": { - "line": 809, + "line": 919, "column": 4, - "start": 28623, - "end": 28691, + "start": 33016, + "end": 33084, "length": 69, - "parent_index": 1862 + "parent_index": 2080 }, "parameters": [ { - "id": 1864, + "id": 2082, "node_type": 44, "src": { - "line": 809, + "line": 919, "column": 19, - "start": 28638, - "end": 28657, + "start": 33031, + "end": 33050, "length": 20, - "parent_index": 1863 + "parent_index": 2081 }, - "scope": 1862, + "scope": 2080, "name": "from", "type_name": { - "id": 1865, + "id": 2083, "node_type": 30, "src": { - "line": 809, + "line": 919, "column": 19, - "start": 28638, - "end": 28644, + "start": 33031, + "end": 33037, "length": 7, - "parent_index": 1864 + "parent_index": 2082 }, "name": "address", "state_mutability": 4, @@ -293,28 +293,28 @@ "indexed": true }, { - "id": 1866, + "id": 2084, "node_type": 44, "src": { - "line": 809, + "line": 919, "column": 41, - "start": 28660, - "end": 28677, + "start": 33053, + "end": 33070, "length": 18, - "parent_index": 1863 + "parent_index": 2081 }, - "scope": 1862, + "scope": 2080, "name": "to", "type_name": { - "id": 1867, + "id": 2085, "node_type": 30, "src": { - "line": 809, + "line": 919, "column": 41, - "start": 28660, - "end": 28666, + "start": 33053, + "end": 33059, "length": 7, - "parent_index": 1866 + "parent_index": 2084 }, "name": "address", "state_mutability": 4, @@ -334,28 +334,28 @@ "indexed": true }, { - "id": 1868, + "id": 2086, "node_type": 44, "src": { - "line": 809, + "line": 919, "column": 61, - "start": 28680, - "end": 28689, + "start": 33073, + "end": 33082, "length": 10, - "parent_index": 1863 + "parent_index": 2081 }, - "scope": 1862, + "scope": 2080, "name": "value", "type_name": { - "id": 1869, + "id": 2087, "node_type": 30, "src": { - "line": 809, + "line": 919, "column": 61, - "start": 28680, - "end": 28683, + "start": 33073, + "end": 33076, "length": 4, - "parent_index": 1868 + "parent_index": 2086 }, "name": "uint", "referenced_declaration": 0, @@ -391,42 +391,42 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Transfer_\u00261862", + "type_identifier": "t_event\u0026_IUniswapV2Pair_Transfer_\u00262080", "type_string": "event IUniswapV2Pair.Transfer" } }, { - "id": 1871, + "id": 2089, "name": "name", "node_type": 42, "kind": 41, "src": { - "line": 811, + "line": 921, "column": 4, - "start": 28698, - "end": 28751, + "start": 33091, + "end": 33144, "length": 54, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 811, + "line": 921, "column": 13, - "start": 28707, - "end": 28710, + "start": 33100, + "end": 33103, "length": 4, - "parent_index": 1871 + "parent_index": 2089 }, "body": { - "id": 1878, + "id": 2096, "node_type": 46, "kind": 0, "src": { - "line": 811, + "line": 921, "column": 4, - "start": 28698, - "end": 28751, + "start": 33091, + "end": 33144, "length": 54, - "parent_index": 1871 + "parent_index": 2089 }, "implemented": false, "statements": [] @@ -438,40 +438,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1872, + "id": 2090, "node_type": 43, "src": { - "line": 811, + "line": 921, "column": 43, - "start": 28737, - "end": 28749, + "start": 33130, + "end": 33142, "length": 13, - "parent_index": 1871 + "parent_index": 2089 }, "parameters": [ { - "id": 1873, + "id": 2091, "node_type": 44, "src": { - "line": 811, + "line": 921, "column": 43, - "start": 28737, - "end": 28749, + "start": 33130, + "end": 33142, "length": 13, - "parent_index": 1872 + "parent_index": 2090 }, - "scope": 1871, + "scope": 2089, "name": "", "type_name": { - "id": 1874, + "id": 2092, "node_type": 30, "src": { - "line": 811, + "line": 921, "column": 43, - "start": 28737, - "end": 28742, + "start": 33130, + "end": 33135, "length": 6, - "parent_index": 1873 + "parent_index": 2091 }, "name": "string", "referenced_declaration": 0, @@ -497,40 +497,40 @@ ] }, "return_parameters": { - "id": 1875, + "id": 2093, "node_type": 43, "src": { - "line": 811, + "line": 921, "column": 43, - "start": 28737, - "end": 28749, + "start": 33130, + "end": 33142, "length": 13, - "parent_index": 1871 + "parent_index": 2089 }, "parameters": [ { - "id": 1876, + "id": 2094, "node_type": 44, "src": { - "line": 811, + "line": 921, "column": 43, - "start": 28737, - "end": 28749, + "start": 33130, + "end": 33142, "length": 13, - "parent_index": 1875 + "parent_index": 2093 }, - "scope": 1871, + "scope": 2089, "name": "", "type_name": { - "id": 1877, + "id": 2095, "node_type": 30, "src": { - "line": 811, + "line": 921, "column": 43, - "start": 28737, - "end": 28742, + "start": 33130, + "end": 33135, "length": 6, - "parent_index": 1876 + "parent_index": 2094 }, "name": "string", "referenced_declaration": 0, @@ -557,44 +557,45 @@ }, "signature_raw": "name(string)", "signature": "5b43bc99", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalpurereturns(stringmemory);" }, { - "id": 1880, + "id": 2098, "name": "symbol", "node_type": 42, "kind": 41, "src": { - "line": 812, + "line": 922, "column": 4, - "start": 28757, - "end": 28812, + "start": 33150, + "end": 33205, "length": 56, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 812, + "line": 922, "column": 13, - "start": 28766, - "end": 28771, + "start": 33159, + "end": 33164, "length": 6, - "parent_index": 1880 + "parent_index": 2098 }, "body": { - "id": 1887, + "id": 2105, "node_type": 46, "kind": 0, "src": { - "line": 812, + "line": 922, "column": 4, - "start": 28757, - "end": 28812, + "start": 33150, + "end": 33205, "length": 56, - "parent_index": 1880 + "parent_index": 2098 }, "implemented": false, "statements": [] @@ -606,40 +607,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1881, + "id": 2099, "node_type": 43, "src": { - "line": 812, + "line": 922, "column": 45, - "start": 28798, - "end": 28810, + "start": 33191, + "end": 33203, "length": 13, - "parent_index": 1880 + "parent_index": 2098 }, "parameters": [ { - "id": 1882, + "id": 2100, "node_type": 44, "src": { - "line": 812, + "line": 922, "column": 45, - "start": 28798, - "end": 28810, + "start": 33191, + "end": 33203, "length": 13, - "parent_index": 1881 + "parent_index": 2099 }, - "scope": 1880, + "scope": 2098, "name": "", "type_name": { - "id": 1883, + "id": 2101, "node_type": 30, "src": { - "line": 812, + "line": 922, "column": 45, - "start": 28798, - "end": 28803, + "start": 33191, + "end": 33196, "length": 6, - "parent_index": 1882 + "parent_index": 2100 }, "name": "string", "referenced_declaration": 0, @@ -665,40 +666,40 @@ ] }, "return_parameters": { - "id": 1884, + "id": 2102, "node_type": 43, "src": { - "line": 812, + "line": 922, "column": 45, - "start": 28798, - "end": 28810, + "start": 33191, + "end": 33203, "length": 13, - "parent_index": 1880 + "parent_index": 2098 }, "parameters": [ { - "id": 1885, + "id": 2103, "node_type": 44, "src": { - "line": 812, + "line": 922, "column": 45, - "start": 28798, - "end": 28810, + "start": 33191, + "end": 33203, "length": 13, - "parent_index": 1884 + "parent_index": 2102 }, - "scope": 1880, + "scope": 2098, "name": "", "type_name": { - "id": 1886, + "id": 2104, "node_type": 30, "src": { - "line": 812, + "line": 922, "column": 45, - "start": 28798, - "end": 28803, + "start": 33191, + "end": 33196, "length": 6, - "parent_index": 1885 + "parent_index": 2103 }, "name": "string", "referenced_declaration": 0, @@ -725,44 +726,45 @@ }, "signature_raw": "symbol(string)", "signature": "41bb0559", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalpurereturns(stringmemory);" }, { - "id": 1889, + "id": 2107, "name": "decimals", "node_type": 42, "kind": 41, "src": { - "line": 813, + "line": 923, "column": 4, - "start": 28818, - "end": 28867, + "start": 33211, + "end": 33260, "length": 50, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 813, + "line": 923, "column": 13, - "start": 28827, - "end": 28834, + "start": 33220, + "end": 33227, "length": 8, - "parent_index": 1889 + "parent_index": 2107 }, "body": { - "id": 1896, + "id": 2114, "node_type": 46, "kind": 0, "src": { - "line": 813, + "line": 923, "column": 4, - "start": 28818, - "end": 28867, + "start": 33211, + "end": 33260, "length": 50, - "parent_index": 1889 + "parent_index": 2107 }, "implemented": false, "statements": [] @@ -774,40 +776,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1890, + "id": 2108, "node_type": 43, "src": { - "line": 813, + "line": 923, "column": 47, - "start": 28861, - "end": 28865, + "start": 33254, + "end": 33258, "length": 5, - "parent_index": 1889 + "parent_index": 2107 }, "parameters": [ { - "id": 1891, + "id": 2109, "node_type": 44, "src": { - "line": 813, + "line": 923, "column": 47, - "start": 28861, - "end": 28865, + "start": 33254, + "end": 33258, "length": 5, - "parent_index": 1890 + "parent_index": 2108 }, - "scope": 1889, + "scope": 2107, "name": "", "type_name": { - "id": 1892, + "id": 2110, "node_type": 30, "src": { - "line": 813, + "line": 923, "column": 47, - "start": 28861, - "end": 28865, + "start": 33254, + "end": 33258, "length": 5, - "parent_index": 1891 + "parent_index": 2109 }, "name": "uint8", "referenced_declaration": 0, @@ -833,40 +835,40 @@ ] }, "return_parameters": { - "id": 1893, + "id": 2111, "node_type": 43, "src": { - "line": 813, + "line": 923, "column": 47, - "start": 28861, - "end": 28865, + "start": 33254, + "end": 33258, "length": 5, - "parent_index": 1889 + "parent_index": 2107 }, "parameters": [ { - "id": 1894, + "id": 2112, "node_type": 44, "src": { - "line": 813, + "line": 923, "column": 47, - "start": 28861, - "end": 28865, + "start": 33254, + "end": 33258, "length": 5, - "parent_index": 1893 + "parent_index": 2111 }, - "scope": 1889, + "scope": 2107, "name": "", "type_name": { - "id": 1895, + "id": 2113, "node_type": 30, "src": { - "line": 813, + "line": 923, "column": 47, - "start": 28861, - "end": 28865, + "start": 33254, + "end": 33258, "length": 5, - "parent_index": 1894 + "parent_index": 2112 }, "name": "uint8", "referenced_declaration": 0, @@ -893,44 +895,45 @@ }, "signature_raw": "decimals(uint8)", "signature": "82fd60ab", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalpurereturns(uint8);" }, { - "id": 1898, + "id": 2116, "name": "totalSupply", "node_type": 42, "kind": 41, "src": { - "line": 814, + "line": 924, "column": 4, - "start": 28873, - "end": 28924, + "start": 33266, + "end": 33317, "length": 52, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 814, + "line": 924, "column": 13, - "start": 28882, - "end": 28892, + "start": 33275, + "end": 33285, "length": 11, - "parent_index": 1898 + "parent_index": 2116 }, "body": { - "id": 1905, + "id": 2123, "node_type": 46, "kind": 0, "src": { - "line": 814, + "line": 924, "column": 4, - "start": 28873, - "end": 28924, + "start": 33266, + "end": 33317, "length": 52, - "parent_index": 1898 + "parent_index": 2116 }, "implemented": false, "statements": [] @@ -942,40 +945,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1899, + "id": 2117, "node_type": 43, "src": { - "line": 814, + "line": 924, "column": 50, - "start": 28919, - "end": 28922, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 1898 + "parent_index": 2116 }, "parameters": [ { - "id": 1900, + "id": 2118, "node_type": 44, "src": { - "line": 814, + "line": 924, "column": 50, - "start": 28919, - "end": 28922, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 1899 + "parent_index": 2117 }, - "scope": 1898, + "scope": 2116, "name": "", "type_name": { - "id": 1901, + "id": 2119, "node_type": 30, "src": { - "line": 814, + "line": 924, "column": 50, - "start": 28919, - "end": 28922, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 1900 + "parent_index": 2118 }, "name": "uint", "referenced_declaration": 0, @@ -1001,40 +1004,40 @@ ] }, "return_parameters": { - "id": 1902, + "id": 2120, "node_type": 43, "src": { - "line": 814, + "line": 924, "column": 50, - "start": 28919, - "end": 28922, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 1898 + "parent_index": 2116 }, "parameters": [ { - "id": 1903, + "id": 2121, "node_type": 44, "src": { - "line": 814, + "line": 924, "column": 50, - "start": 28919, - "end": 28922, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 1902 + "parent_index": 2120 }, - "scope": 1898, + "scope": 2116, "name": "", "type_name": { - "id": 1904, + "id": 2122, "node_type": 30, "src": { - "line": 814, + "line": 924, "column": 50, - "start": 28919, - "end": 28922, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 1903 + "parent_index": 2121 }, "name": "uint", "referenced_declaration": 0, @@ -1061,44 +1064,45 @@ }, "signature_raw": "totalSupply(uint)", "signature": "247f0ca7", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint);" }, { - "id": 1907, + "id": 2125, "name": "balanceOf", "node_type": 42, "kind": 41, "src": { - "line": 815, + "line": 925, "column": 4, - "start": 28930, - "end": 28992, + "start": 33323, + "end": 33385, "length": 63, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 815, + "line": 925, "column": 13, - "start": 28939, - "end": 28947, + "start": 33332, + "end": 33340, "length": 9, - "parent_index": 1907 + "parent_index": 2125 }, "body": { - "id": 1914, + "id": 2132, "node_type": 46, "kind": 0, "src": { - "line": 815, + "line": 925, "column": 4, - "start": 28930, - "end": 28992, + "start": 33323, + "end": 33385, "length": 63, - "parent_index": 1907 + "parent_index": 2125 }, "implemented": false, "statements": [] @@ -1110,40 +1114,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1908, + "id": 2126, "node_type": 43, "src": { - "line": 815, + "line": 925, "column": 23, - "start": 28949, - "end": 28961, + "start": 33342, + "end": 33354, "length": 13, - "parent_index": 1907 + "parent_index": 2125 }, "parameters": [ { - "id": 1909, + "id": 2127, "node_type": 44, "src": { - "line": 815, + "line": 925, "column": 23, - "start": 28949, - "end": 28961, + "start": 33342, + "end": 33354, "length": 13, - "parent_index": 1908 + "parent_index": 2126 }, - "scope": 1907, + "scope": 2125, "name": "owner", "type_name": { - "id": 1910, + "id": 2128, "node_type": 30, "src": { - "line": 815, + "line": 925, "column": 23, - "start": 28949, - "end": 28955, + "start": 33342, + "end": 33348, "length": 7, - "parent_index": 1909 + "parent_index": 2127 }, "name": "address", "state_mutability": 4, @@ -1170,40 +1174,40 @@ ] }, "return_parameters": { - "id": 1911, + "id": 2129, "node_type": 43, "src": { - "line": 815, + "line": 925, "column": 61, - "start": 28987, - "end": 28990, + "start": 33380, + "end": 33383, "length": 4, - "parent_index": 1907 + "parent_index": 2125 }, "parameters": [ { - "id": 1912, + "id": 2130, "node_type": 44, "src": { - "line": 815, + "line": 925, "column": 61, - "start": 28987, - "end": 28990, + "start": 33380, + "end": 33383, "length": 4, - "parent_index": 1911 + "parent_index": 2129 }, - "scope": 1907, + "scope": 2125, "name": "", "type_name": { - "id": 1913, + "id": 2131, "node_type": 30, "src": { - "line": 815, + "line": 925, "column": 61, - "start": 28987, - "end": 28990, + "start": 33380, + "end": 33383, "length": 4, - "parent_index": 1912 + "parent_index": 2130 }, "name": "uint", "referenced_declaration": 0, @@ -1230,44 +1234,45 @@ }, "signature_raw": "balanceOf(address)", "signature": "70a08231", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint);" }, { - "id": 1916, + "id": 2134, "name": "allowance", "node_type": 42, "kind": 41, "src": { - "line": 816, + "line": 926, "column": 4, - "start": 28998, - "end": 29077, + "start": 33391, + "end": 33470, "length": 80, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 816, + "line": 926, "column": 13, - "start": 29007, - "end": 29015, + "start": 33400, + "end": 33408, "length": 9, - "parent_index": 1916 + "parent_index": 2134 }, "body": { - "id": 1925, + "id": 2143, "node_type": 46, "kind": 0, "src": { - "line": 816, + "line": 926, "column": 4, - "start": 28998, - "end": 29077, + "start": 33391, + "end": 33470, "length": 80, - "parent_index": 1916 + "parent_index": 2134 }, "implemented": false, "statements": [] @@ -1279,40 +1284,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1917, + "id": 2135, "node_type": 43, "src": { - "line": 816, + "line": 926, "column": 23, - "start": 29017, - "end": 29046, + "start": 33410, + "end": 33439, "length": 30, - "parent_index": 1916 + "parent_index": 2134 }, "parameters": [ { - "id": 1918, + "id": 2136, "node_type": 44, "src": { - "line": 816, + "line": 926, "column": 23, - "start": 29017, - "end": 29029, + "start": 33410, + "end": 33422, "length": 13, - "parent_index": 1917 + "parent_index": 2135 }, - "scope": 1916, + "scope": 2134, "name": "owner", "type_name": { - "id": 1919, + "id": 2137, "node_type": 30, "src": { - "line": 816, + "line": 926, "column": 23, - "start": 29017, - "end": 29023, + "start": 33410, + "end": 33416, "length": 7, - "parent_index": 1918 + "parent_index": 2136 }, "name": "address", "state_mutability": 4, @@ -1331,28 +1336,28 @@ } }, { - "id": 1920, + "id": 2138, "node_type": 44, "src": { - "line": 816, + "line": 926, "column": 38, - "start": 29032, - "end": 29046, + "start": 33425, + "end": 33439, "length": 15, - "parent_index": 1917 + "parent_index": 2135 }, - "scope": 1916, + "scope": 2134, "name": "spender", "type_name": { - "id": 1921, + "id": 2139, "node_type": 30, "src": { - "line": 816, + "line": 926, "column": 38, - "start": 29032, - "end": 29038, + "start": 33425, + "end": 33431, "length": 7, - "parent_index": 1920 + "parent_index": 2138 }, "name": "address", "state_mutability": 4, @@ -1383,40 +1388,40 @@ ] }, "return_parameters": { - "id": 1922, + "id": 2140, "node_type": 43, "src": { - "line": 816, + "line": 926, "column": 78, - "start": 29072, - "end": 29075, + "start": 33465, + "end": 33468, "length": 4, - "parent_index": 1916 + "parent_index": 2134 }, "parameters": [ { - "id": 1923, + "id": 2141, "node_type": 44, "src": { - "line": 816, + "line": 926, "column": 78, - "start": 29072, - "end": 29075, + "start": 33465, + "end": 33468, "length": 4, - "parent_index": 1922 + "parent_index": 2140 }, - "scope": 1916, + "scope": 2134, "name": "", "type_name": { - "id": 1924, + "id": 2142, "node_type": 30, "src": { - "line": 816, + "line": 926, "column": 78, - "start": 29072, - "end": 29075, + "start": 33465, + "end": 33468, "length": 4, - "parent_index": 1923 + "parent_index": 2141 }, "name": "uint", "referenced_declaration": 0, @@ -1441,46 +1446,47 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", - "scope": 1851, + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint);" }, { - "id": 1927, + "id": 2145, "name": "approve", "node_type": 42, "kind": 41, "src": { - "line": 818, + "line": 928, "column": 4, - "start": 29084, - "end": 29153, + "start": 33477, + "end": 33546, "length": 70, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 818, + "line": 928, "column": 13, - "start": 29093, - "end": 29099, + "start": 33486, + "end": 33492, "length": 7, - "parent_index": 1927 + "parent_index": 2145 }, "body": { - "id": 1936, + "id": 2154, "node_type": 46, "kind": 0, "src": { - "line": 818, + "line": 928, "column": 4, - "start": 29084, - "end": 29153, + "start": 33477, + "end": 33546, "length": 70, - "parent_index": 1927 + "parent_index": 2145 }, "implemented": false, "statements": [] @@ -1492,40 +1498,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1928, + "id": 2146, "node_type": 43, "src": { - "line": 818, + "line": 928, "column": 21, - "start": 29101, - "end": 29127, + "start": 33494, + "end": 33520, "length": 27, - "parent_index": 1927 + "parent_index": 2145 }, "parameters": [ { - "id": 1929, + "id": 2147, "node_type": 44, "src": { - "line": 818, + "line": 928, "column": 21, - "start": 29101, - "end": 29115, + "start": 33494, + "end": 33508, "length": 15, - "parent_index": 1928 + "parent_index": 2146 }, - "scope": 1927, + "scope": 2145, "name": "spender", "type_name": { - "id": 1930, + "id": 2148, "node_type": 30, "src": { - "line": 818, + "line": 928, "column": 21, - "start": 29101, - "end": 29107, + "start": 33494, + "end": 33500, "length": 7, - "parent_index": 1929 + "parent_index": 2147 }, "name": "address", "state_mutability": 4, @@ -1544,28 +1550,28 @@ } }, { - "id": 1931, + "id": 2149, "node_type": 44, "src": { - "line": 818, + "line": 928, "column": 38, - "start": 29118, - "end": 29127, + "start": 33511, + "end": 33520, "length": 10, - "parent_index": 1928 + "parent_index": 2146 }, - "scope": 1927, + "scope": 2145, "name": "value", "type_name": { - "id": 1932, + "id": 2150, "node_type": 30, "src": { - "line": 818, + "line": 928, "column": 38, - "start": 29118, - "end": 29121, + "start": 33511, + "end": 33514, "length": 4, - "parent_index": 1931 + "parent_index": 2149 }, "name": "uint", "referenced_declaration": 0, @@ -1595,40 +1601,40 @@ ] }, "return_parameters": { - "id": 1933, + "id": 2151, "node_type": 43, "src": { - "line": 818, + "line": 928, "column": 68, - "start": 29148, - "end": 29151, + "start": 33541, + "end": 33544, "length": 4, - "parent_index": 1927 + "parent_index": 2145 }, "parameters": [ { - "id": 1934, + "id": 2152, "node_type": 44, "src": { - "line": 818, + "line": 928, "column": 68, - "start": 29148, - "end": 29151, + "start": 33541, + "end": 33544, "length": 4, - "parent_index": 1933 + "parent_index": 2151 }, - "scope": 1927, + "scope": 2145, "name": "", "type_name": { - "id": 1935, + "id": 2153, "node_type": 30, "src": { - "line": 818, + "line": 928, "column": 68, - "start": 29148, - "end": 29151, + "start": 33541, + "end": 33544, "length": 4, - "parent_index": 1934 + "parent_index": 2152 }, "name": "bool", "referenced_declaration": 0, @@ -1653,46 +1659,47 @@ } ] }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", - "scope": 1851, + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uintvalue)externalreturns(bool);" }, { - "id": 1938, + "id": 2156, "name": "transfer", "node_type": 42, "kind": 41, "src": { - "line": 819, + "line": 929, "column": 4, - "start": 29159, - "end": 29224, + "start": 33552, + "end": 33617, "length": 66, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 819, + "line": 929, "column": 13, - "start": 29168, - "end": 29175, + "start": 33561, + "end": 33568, "length": 8, - "parent_index": 1938 + "parent_index": 2156 }, "body": { - "id": 1947, + "id": 2165, "node_type": 46, "kind": 0, "src": { - "line": 819, + "line": 929, "column": 4, - "start": 29159, - "end": 29224, + "start": 33552, + "end": 33617, "length": 66, - "parent_index": 1938 + "parent_index": 2156 }, "implemented": false, "statements": [] @@ -1704,40 +1711,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1939, + "id": 2157, "node_type": 43, "src": { - "line": 819, + "line": 929, "column": 22, - "start": 29177, - "end": 29198, + "start": 33570, + "end": 33591, "length": 22, - "parent_index": 1938 + "parent_index": 2156 }, "parameters": [ { - "id": 1940, + "id": 2158, "node_type": 44, "src": { - "line": 819, + "line": 929, "column": 22, - "start": 29177, - "end": 29186, + "start": 33570, + "end": 33579, "length": 10, - "parent_index": 1939 + "parent_index": 2157 }, - "scope": 1938, + "scope": 2156, "name": "to", "type_name": { - "id": 1941, + "id": 2159, "node_type": 30, "src": { - "line": 819, + "line": 929, "column": 22, - "start": 29177, - "end": 29183, + "start": 33570, + "end": 33576, "length": 7, - "parent_index": 1940 + "parent_index": 2158 }, "name": "address", "state_mutability": 4, @@ -1756,28 +1763,28 @@ } }, { - "id": 1942, + "id": 2160, "node_type": 44, "src": { - "line": 819, + "line": 929, "column": 34, - "start": 29189, - "end": 29198, + "start": 33582, + "end": 33591, "length": 10, - "parent_index": 1939 + "parent_index": 2157 }, - "scope": 1938, + "scope": 2156, "name": "value", "type_name": { - "id": 1943, + "id": 2161, "node_type": 30, "src": { - "line": 819, + "line": 929, "column": 34, - "start": 29189, - "end": 29192, + "start": 33582, + "end": 33585, "length": 4, - "parent_index": 1942 + "parent_index": 2160 }, "name": "uint", "referenced_declaration": 0, @@ -1807,40 +1814,40 @@ ] }, "return_parameters": { - "id": 1944, + "id": 2162, "node_type": 43, "src": { - "line": 819, + "line": 929, "column": 64, - "start": 29219, - "end": 29222, + "start": 33612, + "end": 33615, "length": 4, - "parent_index": 1938 + "parent_index": 2156 }, "parameters": [ { - "id": 1945, + "id": 2163, "node_type": 44, "src": { - "line": 819, + "line": 929, "column": 64, - "start": 29219, - "end": 29222, + "start": 33612, + "end": 33615, "length": 4, - "parent_index": 1944 + "parent_index": 2162 }, - "scope": 1938, + "scope": 2156, "name": "", "type_name": { - "id": 1946, + "id": 2164, "node_type": 30, "src": { - "line": 819, + "line": 929, "column": 64, - "start": 29219, - "end": 29222, + "start": 33612, + "end": 33615, "length": 4, - "parent_index": 1945 + "parent_index": 2163 }, "name": "bool", "referenced_declaration": 0, @@ -1865,46 +1872,47 @@ } ] }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", - "scope": 1851, + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" }, { - "id": 1949, + "id": 2167, "name": "transferFrom", "node_type": 42, "kind": 41, "src": { - "line": 820, + "line": 930, "column": 4, - "start": 29230, - "end": 29313, + "start": 33623, + "end": 33706, "length": 84, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 820, + "line": 930, "column": 13, - "start": 29239, - "end": 29250, + "start": 33632, + "end": 33643, "length": 12, - "parent_index": 1949 + "parent_index": 2167 }, "body": { - "id": 1960, + "id": 2178, "node_type": 46, "kind": 0, "src": { - "line": 820, + "line": 930, "column": 4, - "start": 29230, - "end": 29313, + "start": 33623, + "end": 33706, "length": 84, - "parent_index": 1949 + "parent_index": 2167 }, "implemented": false, "statements": [] @@ -1916,40 +1924,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1950, + "id": 2168, "node_type": 43, "src": { - "line": 820, + "line": 930, "column": 26, - "start": 29252, - "end": 29287, + "start": 33645, + "end": 33680, "length": 36, - "parent_index": 1949 + "parent_index": 2167 }, "parameters": [ { - "id": 1951, + "id": 2169, "node_type": 44, "src": { - "line": 820, + "line": 930, "column": 26, - "start": 29252, - "end": 29263, + "start": 33645, + "end": 33656, "length": 12, - "parent_index": 1950 + "parent_index": 2168 }, - "scope": 1949, + "scope": 2167, "name": "from", "type_name": { - "id": 1952, + "id": 2170, "node_type": 30, "src": { - "line": 820, + "line": 930, "column": 26, - "start": 29252, - "end": 29258, + "start": 33645, + "end": 33651, "length": 7, - "parent_index": 1951 + "parent_index": 2169 }, "name": "address", "state_mutability": 4, @@ -1968,28 +1976,28 @@ } }, { - "id": 1953, + "id": 2171, "node_type": 44, "src": { - "line": 820, + "line": 930, "column": 40, - "start": 29266, - "end": 29275, + "start": 33659, + "end": 33668, "length": 10, - "parent_index": 1950 + "parent_index": 2168 }, - "scope": 1949, + "scope": 2167, "name": "to", "type_name": { - "id": 1954, + "id": 2172, "node_type": 30, "src": { - "line": 820, + "line": 930, "column": 40, - "start": 29266, - "end": 29272, + "start": 33659, + "end": 33665, "length": 7, - "parent_index": 1953 + "parent_index": 2171 }, "name": "address", "state_mutability": 4, @@ -2008,28 +2016,28 @@ } }, { - "id": 1955, + "id": 2173, "node_type": 44, "src": { - "line": 820, + "line": 930, "column": 52, - "start": 29278, - "end": 29287, + "start": 33671, + "end": 33680, "length": 10, - "parent_index": 1950 + "parent_index": 2168 }, - "scope": 1949, + "scope": 2167, "name": "value", "type_name": { - "id": 1956, + "id": 2174, "node_type": 30, "src": { - "line": 820, + "line": 930, "column": 52, - "start": 29278, - "end": 29281, + "start": 33671, + "end": 33674, "length": 4, - "parent_index": 1955 + "parent_index": 2173 }, "name": "uint", "referenced_declaration": 0, @@ -2063,40 +2071,40 @@ ] }, "return_parameters": { - "id": 1957, + "id": 2175, "node_type": 43, "src": { - "line": 820, + "line": 930, "column": 82, - "start": 29308, - "end": 29311, + "start": 33701, + "end": 33704, "length": 4, - "parent_index": 1949 + "parent_index": 2167 }, "parameters": [ { - "id": 1958, + "id": 2176, "node_type": 44, "src": { - "line": 820, + "line": 930, "column": 82, - "start": 29308, - "end": 29311, + "start": 33701, + "end": 33704, "length": 4, - "parent_index": 1957 + "parent_index": 2175 }, - "scope": 1949, + "scope": 2167, "name": "", "type_name": { - "id": 1959, + "id": 2177, "node_type": 30, "src": { - "line": 820, + "line": 930, "column": 82, - "start": 29308, - "end": 29311, + "start": 33701, + "end": 33704, "length": 4, - "parent_index": 1958 + "parent_index": 2176 }, "name": "bool", "referenced_declaration": 0, @@ -2121,46 +2129,47 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", - "scope": 1851, + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uintvalue)externalreturns(bool);" }, { - "id": 1962, + "id": 2180, "name": "DOMAIN_SEPARATOR", "node_type": 42, "kind": 41, "src": { - "line": 822, + "line": 932, "column": 4, - "start": 29320, - "end": 29379, + "start": 33713, + "end": 33772, "length": 60, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 822, + "line": 932, "column": 13, - "start": 29329, - "end": 29344, + "start": 33722, + "end": 33737, "length": 16, - "parent_index": 1962 + "parent_index": 2180 }, "body": { - "id": 1969, + "id": 2187, "node_type": 46, "kind": 0, "src": { - "line": 822, + "line": 932, "column": 4, - "start": 29320, - "end": 29379, + "start": 33713, + "end": 33772, "length": 60, - "parent_index": 1962 + "parent_index": 2180 }, "implemented": false, "statements": [] @@ -2172,40 +2181,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1963, + "id": 2181, "node_type": 43, "src": { - "line": 822, + "line": 932, "column": 55, - "start": 29371, - "end": 29377, + "start": 33764, + "end": 33770, "length": 7, - "parent_index": 1962 + "parent_index": 2180 }, "parameters": [ { - "id": 1964, + "id": 2182, "node_type": 44, "src": { - "line": 822, + "line": 932, "column": 55, - "start": 29371, - "end": 29377, + "start": 33764, + "end": 33770, "length": 7, - "parent_index": 1963 + "parent_index": 2181 }, - "scope": 1962, + "scope": 2180, "name": "", "type_name": { - "id": 1965, + "id": 2183, "node_type": 30, "src": { - "line": 822, + "line": 932, "column": 55, - "start": 29371, - "end": 29377, + "start": 33764, + "end": 33770, "length": 7, - "parent_index": 1964 + "parent_index": 2182 }, "name": "bytes32", "referenced_declaration": 0, @@ -2231,40 +2240,40 @@ ] }, "return_parameters": { - "id": 1966, + "id": 2184, "node_type": 43, "src": { - "line": 822, + "line": 932, "column": 55, - "start": 29371, - "end": 29377, + "start": 33764, + "end": 33770, "length": 7, - "parent_index": 1962 + "parent_index": 2180 }, "parameters": [ { - "id": 1967, + "id": 2185, "node_type": 44, "src": { - "line": 822, + "line": 932, "column": 55, - "start": 29371, - "end": 29377, + "start": 33764, + "end": 33770, "length": 7, - "parent_index": 1966 + "parent_index": 2184 }, - "scope": 1962, + "scope": 2180, "name": "", "type_name": { - "id": 1968, + "id": 2186, "node_type": 30, "src": { - "line": 822, + "line": 932, "column": 55, - "start": 29371, - "end": 29377, + "start": 33764, + "end": 33770, "length": 7, - "parent_index": 1967 + "parent_index": 2185 }, "name": "bytes32", "referenced_declaration": 0, @@ -2291,44 +2300,45 @@ }, "signature_raw": "DOMAIN_SEPARATOR(bytes32)", "signature": "d075954a", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" }, { - "id": 1971, + "id": 2189, "name": "PERMIT_TYPEHASH", "node_type": 42, "kind": 41, "src": { - "line": 823, + "line": 933, "column": 4, - "start": 29385, - "end": 29443, + "start": 33778, + "end": 33836, "length": 59, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 823, + "line": 933, "column": 13, - "start": 29394, - "end": 29408, + "start": 33787, + "end": 33801, "length": 15, - "parent_index": 1971 + "parent_index": 2189 }, "body": { - "id": 1978, + "id": 2196, "node_type": 46, "kind": 0, "src": { - "line": 823, + "line": 933, "column": 4, - "start": 29385, - "end": 29443, + "start": 33778, + "end": 33836, "length": 59, - "parent_index": 1971 + "parent_index": 2189 }, "implemented": false, "statements": [] @@ -2340,40 +2350,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1972, + "id": 2190, "node_type": 43, "src": { - "line": 823, + "line": 933, "column": 54, - "start": 29435, - "end": 29441, + "start": 33828, + "end": 33834, "length": 7, - "parent_index": 1971 + "parent_index": 2189 }, "parameters": [ { - "id": 1973, + "id": 2191, "node_type": 44, "src": { - "line": 823, + "line": 933, "column": 54, - "start": 29435, - "end": 29441, + "start": 33828, + "end": 33834, "length": 7, - "parent_index": 1972 + "parent_index": 2190 }, - "scope": 1971, + "scope": 2189, "name": "", "type_name": { - "id": 1974, + "id": 2192, "node_type": 30, "src": { - "line": 823, + "line": 933, "column": 54, - "start": 29435, - "end": 29441, + "start": 33828, + "end": 33834, "length": 7, - "parent_index": 1973 + "parent_index": 2191 }, "name": "bytes32", "referenced_declaration": 0, @@ -2399,40 +2409,40 @@ ] }, "return_parameters": { - "id": 1975, + "id": 2193, "node_type": 43, "src": { - "line": 823, + "line": 933, "column": 54, - "start": 29435, - "end": 29441, + "start": 33828, + "end": 33834, "length": 7, - "parent_index": 1971 + "parent_index": 2189 }, "parameters": [ { - "id": 1976, + "id": 2194, "node_type": 44, "src": { - "line": 823, + "line": 933, "column": 54, - "start": 29435, - "end": 29441, + "start": 33828, + "end": 33834, "length": 7, - "parent_index": 1975 + "parent_index": 2193 }, - "scope": 1971, + "scope": 2189, "name": "", "type_name": { - "id": 1977, + "id": 2195, "node_type": 30, "src": { - "line": 823, + "line": 933, "column": 54, - "start": 29435, - "end": 29441, + "start": 33828, + "end": 33834, "length": 7, - "parent_index": 1976 + "parent_index": 2194 }, "name": "bytes32", "referenced_declaration": 0, @@ -2459,44 +2469,45 @@ }, "signature_raw": "PERMIT_TYPEHASH(bytes32)", "signature": "5b4c0a1d", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionPERMIT_TYPEHASH()externalpurereturns(bytes32);" }, { - "id": 1980, + "id": 2198, "name": "nonces", "node_type": 42, "kind": 41, "src": { - "line": 824, + "line": 934, "column": 4, - "start": 29449, - "end": 29508, + "start": 33842, + "end": 33901, "length": 60, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 824, + "line": 934, "column": 13, - "start": 29458, - "end": 29463, + "start": 33851, + "end": 33856, "length": 6, - "parent_index": 1980 + "parent_index": 2198 }, "body": { - "id": 1987, + "id": 2205, "node_type": 46, "kind": 0, "src": { - "line": 824, + "line": 934, "column": 4, - "start": 29449, - "end": 29508, + "start": 33842, + "end": 33901, "length": 60, - "parent_index": 1980 + "parent_index": 2198 }, "implemented": false, "statements": [] @@ -2508,40 +2519,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1981, + "id": 2199, "node_type": 43, "src": { - "line": 824, + "line": 934, "column": 20, - "start": 29465, - "end": 29477, + "start": 33858, + "end": 33870, "length": 13, - "parent_index": 1980 + "parent_index": 2198 }, "parameters": [ { - "id": 1982, + "id": 2200, "node_type": 44, "src": { - "line": 824, + "line": 934, "column": 20, - "start": 29465, - "end": 29477, + "start": 33858, + "end": 33870, "length": 13, - "parent_index": 1981 + "parent_index": 2199 }, - "scope": 1980, + "scope": 2198, "name": "owner", "type_name": { - "id": 1983, + "id": 2201, "node_type": 30, "src": { - "line": 824, + "line": 934, "column": 20, - "start": 29465, - "end": 29471, + "start": 33858, + "end": 33864, "length": 7, - "parent_index": 1982 + "parent_index": 2200 }, "name": "address", "state_mutability": 4, @@ -2568,40 +2579,40 @@ ] }, "return_parameters": { - "id": 1984, + "id": 2202, "node_type": 43, "src": { - "line": 824, + "line": 934, "column": 58, - "start": 29503, - "end": 29506, + "start": 33896, + "end": 33899, "length": 4, - "parent_index": 1980 + "parent_index": 2198 }, "parameters": [ { - "id": 1985, + "id": 2203, "node_type": 44, "src": { - "line": 824, + "line": 934, "column": 58, - "start": 29503, - "end": 29506, + "start": 33896, + "end": 33899, "length": 4, - "parent_index": 1984 + "parent_index": 2202 }, - "scope": 1980, + "scope": 2198, "name": "", "type_name": { - "id": 1986, + "id": 2204, "node_type": 30, "src": { - "line": 824, + "line": 934, "column": 58, - "start": 29503, - "end": 29506, + "start": 33896, + "end": 33899, "length": 4, - "parent_index": 1985 + "parent_index": 2203 }, "name": "uint", "referenced_declaration": 0, @@ -2628,44 +2639,45 @@ }, "signature_raw": "nonces(address)", "signature": "7ecebe00", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint);" }, { - "id": 1989, + "id": 2207, "name": "permit", "node_type": 42, "kind": 41, "src": { - "line": 826, + "line": 936, "column": 4, - "start": 29515, - "end": 29629, + "start": 33908, + "end": 34022, "length": 115, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 826, + "line": 936, "column": 13, - "start": 29524, - "end": 29529, + "start": 33917, + "end": 33922, "length": 6, - "parent_index": 1989 + "parent_index": 2207 }, "body": { - "id": 2006, + "id": 2224, "node_type": 46, "kind": 0, "src": { - "line": 826, + "line": 936, "column": 4, - "start": 29515, - "end": 29629, + "start": 33908, + "end": 34022, "length": 115, - "parent_index": 1989 + "parent_index": 2207 }, "implemented": false, "statements": [] @@ -2677,40 +2689,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1990, + "id": 2208, "node_type": 43, "src": { - "line": 826, + "line": 936, "column": 20, - "start": 29531, - "end": 29618, + "start": 33924, + "end": 34011, "length": 88, - "parent_index": 1989 + "parent_index": 2207 }, "parameters": [ { - "id": 1991, + "id": 2209, "node_type": 44, "src": { - "line": 826, + "line": 936, "column": 20, - "start": 29531, - "end": 29543, + "start": 33924, + "end": 33936, "length": 13, - "parent_index": 1990 + "parent_index": 2208 }, - "scope": 1989, + "scope": 2207, "name": "owner", "type_name": { - "id": 1992, + "id": 2210, "node_type": 30, "src": { - "line": 826, + "line": 936, "column": 20, - "start": 29531, - "end": 29537, + "start": 33924, + "end": 33930, "length": 7, - "parent_index": 1991 + "parent_index": 2209 }, "name": "address", "state_mutability": 4, @@ -2729,28 +2741,28 @@ } }, { - "id": 1993, + "id": 2211, "node_type": 44, "src": { - "line": 826, + "line": 936, "column": 35, - "start": 29546, - "end": 29560, + "start": 33939, + "end": 33953, "length": 15, - "parent_index": 1990 + "parent_index": 2208 }, - "scope": 1989, + "scope": 2207, "name": "spender", "type_name": { - "id": 1994, + "id": 2212, "node_type": 30, "src": { - "line": 826, + "line": 936, "column": 35, - "start": 29546, - "end": 29552, + "start": 33939, + "end": 33945, "length": 7, - "parent_index": 1993 + "parent_index": 2211 }, "name": "address", "state_mutability": 4, @@ -2769,28 +2781,28 @@ } }, { - "id": 1995, + "id": 2213, "node_type": 44, "src": { - "line": 826, + "line": 936, "column": 52, - "start": 29563, - "end": 29572, + "start": 33956, + "end": 33965, "length": 10, - "parent_index": 1990 + "parent_index": 2208 }, - "scope": 1989, + "scope": 2207, "name": "value", "type_name": { - "id": 1996, + "id": 2214, "node_type": 30, "src": { - "line": 826, + "line": 936, "column": 52, - "start": 29563, - "end": 29566, + "start": 33956, + "end": 33959, "length": 4, - "parent_index": 1995 + "parent_index": 2213 }, "name": "uint", "referenced_declaration": 0, @@ -2808,28 +2820,28 @@ } }, { - "id": 1997, + "id": 2215, "node_type": 44, "src": { - "line": 826, + "line": 936, "column": 64, - "start": 29575, - "end": 29587, + "start": 33968, + "end": 33980, "length": 13, - "parent_index": 1990 + "parent_index": 2208 }, - "scope": 1989, + "scope": 2207, "name": "deadline", "type_name": { - "id": 1998, + "id": 2216, "node_type": 30, "src": { - "line": 826, + "line": 936, "column": 64, - "start": 29575, - "end": 29578, + "start": 33968, + "end": 33971, "length": 4, - "parent_index": 1997 + "parent_index": 2215 }, "name": "uint", "referenced_declaration": 0, @@ -2847,28 +2859,28 @@ } }, { - "id": 1999, + "id": 2217, "node_type": 44, "src": { - "line": 826, + "line": 936, "column": 79, - "start": 29590, - "end": 29596, + "start": 33983, + "end": 33989, "length": 7, - "parent_index": 1990 + "parent_index": 2208 }, - "scope": 1989, + "scope": 2207, "name": "v", "type_name": { - "id": 2000, + "id": 2218, "node_type": 30, "src": { - "line": 826, + "line": 936, "column": 79, - "start": 29590, - "end": 29594, + "start": 33983, + "end": 33987, "length": 5, - "parent_index": 1999 + "parent_index": 2217 }, "name": "uint8", "referenced_declaration": 0, @@ -2886,28 +2898,28 @@ } }, { - "id": 2001, + "id": 2219, "node_type": 44, "src": { - "line": 826, + "line": 936, "column": 88, - "start": 29599, - "end": 29607, + "start": 33992, + "end": 34000, "length": 9, - "parent_index": 1990 + "parent_index": 2208 }, - "scope": 1989, + "scope": 2207, "name": "r", "type_name": { - "id": 2002, + "id": 2220, "node_type": 30, "src": { - "line": 826, + "line": 936, "column": 88, - "start": 29599, - "end": 29605, + "start": 33992, + "end": 33998, "length": 7, - "parent_index": 2001 + "parent_index": 2219 }, "name": "bytes32", "referenced_declaration": 0, @@ -2925,28 +2937,28 @@ } }, { - "id": 2003, + "id": 2221, "node_type": 44, "src": { - "line": 826, + "line": 936, "column": 99, - "start": 29610, - "end": 29618, + "start": 34003, + "end": 34011, "length": 9, - "parent_index": 1990 + "parent_index": 2208 }, - "scope": 1989, + "scope": 2207, "name": "s", "type_name": { - "id": 2004, + "id": 2222, "node_type": 30, "src": { - "line": 826, + "line": 936, "column": 99, - "start": 29610, - "end": 29616, + "start": 34003, + "end": 34009, "length": 7, - "parent_index": 2003 + "parent_index": 2221 }, "name": "bytes32", "referenced_declaration": 0, @@ -2996,73 +3008,74 @@ ] }, "return_parameters": { - "id": 2005, + "id": 2223, "node_type": 43, "src": { - "line": 826, + "line": 936, "column": 4, - "start": 29515, - "end": 29629, + "start": 33908, + "end": 34022, "length": 115, - "parent_index": 1989 + "parent_index": 2207 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint, uint, uint8, bytes32, bytes32)", - "signature": "0f94a422", - "scope": 1851, + "signature_raw": "permit(address,address,uint,uint,uint8,bytes32,bytes32)", + "signature": "97a6e84a", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } + }, + "text": "functionpermit(addressowner,addressspender,uintvalue,uintdeadline,uint8v,bytes32r,bytes32s)external;" }, { - "id": 2008, + "id": 2226, "node_type": 57, "src": { - "line": 828, + "line": 938, "column": 4, - "start": 29636, - "end": 29698, + "start": 34029, + "end": 34091, "length": 63, - "parent_index": 1851 + "parent_index": 2069 }, "parameters": { - "id": 2009, + "id": 2227, "node_type": 43, "src": { - "line": 828, + "line": 938, "column": 4, - "start": 29636, - "end": 29698, + "start": 34029, + "end": 34091, "length": 63, - "parent_index": 2008 + "parent_index": 2226 }, "parameters": [ { - "id": 2010, + "id": 2228, "node_type": 44, "src": { - "line": 828, + "line": 938, "column": 15, - "start": 29647, - "end": 29668, + "start": 34040, + "end": 34061, "length": 22, - "parent_index": 2009 + "parent_index": 2227 }, - "scope": 2008, + "scope": 2226, "name": "sender", "type_name": { - "id": 2011, + "id": 2229, "node_type": 30, "src": { - "line": 828, + "line": 938, "column": 15, - "start": 29647, - "end": 29653, + "start": 34040, + "end": 34046, "length": 7, - "parent_index": 2010 + "parent_index": 2228 }, "name": "address", "state_mutability": 4, @@ -3082,28 +3095,28 @@ "indexed": true }, { - "id": 2012, + "id": 2230, "node_type": 44, "src": { - "line": 828, + "line": 938, "column": 39, - "start": 29671, - "end": 29682, + "start": 34064, + "end": 34075, "length": 12, - "parent_index": 2009 + "parent_index": 2227 }, - "scope": 2008, + "scope": 2226, "name": "amount0", "type_name": { - "id": 2013, + "id": 2231, "node_type": 30, "src": { - "line": 828, + "line": 938, "column": 39, - "start": 29671, - "end": 29674, + "start": 34064, + "end": 34067, "length": 4, - "parent_index": 2012 + "parent_index": 2230 }, "name": "uint", "referenced_declaration": 0, @@ -3121,28 +3134,28 @@ } }, { - "id": 2014, + "id": 2232, "node_type": 44, "src": { - "line": 828, + "line": 938, "column": 53, - "start": 29685, - "end": 29696, + "start": 34078, + "end": 34089, "length": 12, - "parent_index": 2009 + "parent_index": 2227 }, - "scope": 2008, + "scope": 2226, "name": "amount1", "type_name": { - "id": 2015, + "id": 2233, "node_type": 30, "src": { - "line": 828, + "line": 938, "column": 53, - "start": 29685, - "end": 29688, + "start": 34078, + "end": 34081, "length": 4, - "parent_index": 2014 + "parent_index": 2232 }, "name": "uint", "referenced_declaration": 0, @@ -3178,56 +3191,56 @@ "name": "Mint", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Mint_\u00262008", + "type_identifier": "t_event\u0026_IUniswapV2Pair_Mint_\u00262226", "type_string": "event IUniswapV2Pair.Mint" } }, { - "id": 2017, + "id": 2235, "node_type": 57, "src": { - "line": 829, + "line": 939, "column": 4, - "start": 29704, - "end": 29786, + "start": 34097, + "end": 34179, "length": 83, - "parent_index": 1851 + "parent_index": 2069 }, "parameters": { - "id": 2018, + "id": 2236, "node_type": 43, "src": { - "line": 829, + "line": 939, "column": 4, - "start": 29704, - "end": 29786, + "start": 34097, + "end": 34179, "length": 83, - "parent_index": 2017 + "parent_index": 2235 }, "parameters": [ { - "id": 2019, + "id": 2237, "node_type": 44, "src": { - "line": 829, + "line": 939, "column": 15, - "start": 29715, - "end": 29736, + "start": 34108, + "end": 34129, "length": 22, - "parent_index": 2018 + "parent_index": 2236 }, - "scope": 2017, + "scope": 2235, "name": "sender", "type_name": { - "id": 2020, + "id": 2238, "node_type": 30, "src": { - "line": 829, + "line": 939, "column": 15, - "start": 29715, - "end": 29721, + "start": 34108, + "end": 34114, "length": 7, - "parent_index": 2019 + "parent_index": 2237 }, "name": "address", "state_mutability": 4, @@ -3247,28 +3260,28 @@ "indexed": true }, { - "id": 2021, + "id": 2239, "node_type": 44, "src": { - "line": 829, + "line": 939, "column": 39, - "start": 29739, - "end": 29750, + "start": 34132, + "end": 34143, "length": 12, - "parent_index": 2018 + "parent_index": 2236 }, - "scope": 2017, + "scope": 2235, "name": "amount0", "type_name": { - "id": 2022, + "id": 2240, "node_type": 30, "src": { - "line": 829, + "line": 939, "column": 39, - "start": 29739, - "end": 29742, + "start": 34132, + "end": 34135, "length": 4, - "parent_index": 2021 + "parent_index": 2239 }, "name": "uint", "referenced_declaration": 0, @@ -3286,28 +3299,28 @@ } }, { - "id": 2023, + "id": 2241, "node_type": 44, "src": { - "line": 829, + "line": 939, "column": 53, - "start": 29753, - "end": 29764, + "start": 34146, + "end": 34157, "length": 12, - "parent_index": 2018 + "parent_index": 2236 }, - "scope": 2017, + "scope": 2235, "name": "amount1", "type_name": { - "id": 2024, + "id": 2242, "node_type": 30, "src": { - "line": 829, + "line": 939, "column": 53, - "start": 29753, - "end": 29756, + "start": 34146, + "end": 34149, "length": 4, - "parent_index": 2023 + "parent_index": 2241 }, "name": "uint", "referenced_declaration": 0, @@ -3325,28 +3338,28 @@ } }, { - "id": 2025, + "id": 2243, "node_type": 44, "src": { - "line": 829, + "line": 939, "column": 67, - "start": 29767, - "end": 29784, + "start": 34160, + "end": 34177, "length": 18, - "parent_index": 2018 + "parent_index": 2236 }, - "scope": 2017, + "scope": 2235, "name": "to", "type_name": { - "id": 2026, + "id": 2244, "node_type": 30, "src": { - "line": 829, + "line": 939, "column": 67, - "start": 29767, - "end": 29773, + "start": 34160, + "end": 34166, "length": 7, - "parent_index": 2025 + "parent_index": 2243 }, "name": "address", "state_mutability": 4, @@ -3388,56 +3401,56 @@ "name": "Burn", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Burn_\u00262017", + "type_identifier": "t_event\u0026_IUniswapV2Pair_Burn_\u00262235", "type_string": "event IUniswapV2Pair.Burn" } }, { - "id": 2028, + "id": 2246, "node_type": 57, "src": { - "line": 830, + "line": 940, "column": 4, - "start": 29792, - "end": 29966, + "start": 34185, + "end": 34359, "length": 175, - "parent_index": 1851 + "parent_index": 2069 }, "parameters": { - "id": 2029, + "id": 2247, "node_type": 43, "src": { - "line": 830, + "line": 940, "column": 4, - "start": 29792, - "end": 29966, + "start": 34185, + "end": 34359, "length": 175, - "parent_index": 2028 + "parent_index": 2246 }, "parameters": [ { - "id": 2030, + "id": 2248, "node_type": 44, "src": { - "line": 831, + "line": 941, "column": 8, - "start": 29812, - "end": 29833, + "start": 34205, + "end": 34226, "length": 22, - "parent_index": 2029 + "parent_index": 2247 }, - "scope": 2028, + "scope": 2246, "name": "sender", "type_name": { - "id": 2031, + "id": 2249, "node_type": 30, "src": { - "line": 831, + "line": 941, "column": 8, - "start": 29812, - "end": 29818, + "start": 34205, + "end": 34211, "length": 7, - "parent_index": 2030 + "parent_index": 2248 }, "name": "address", "state_mutability": 4, @@ -3457,28 +3470,28 @@ "indexed": true }, { - "id": 2032, + "id": 2250, "node_type": 44, "src": { - "line": 832, + "line": 942, "column": 8, - "start": 29844, - "end": 29857, + "start": 34237, + "end": 34250, "length": 14, - "parent_index": 2029 + "parent_index": 2247 }, - "scope": 2028, + "scope": 2246, "name": "amount0In", "type_name": { - "id": 2033, + "id": 2251, "node_type": 30, "src": { - "line": 832, + "line": 942, "column": 8, - "start": 29844, - "end": 29847, + "start": 34237, + "end": 34240, "length": 4, - "parent_index": 2032 + "parent_index": 2250 }, "name": "uint", "referenced_declaration": 0, @@ -3496,28 +3509,28 @@ } }, { - "id": 2034, + "id": 2252, "node_type": 44, "src": { - "line": 833, + "line": 943, "column": 8, - "start": 29868, - "end": 29881, + "start": 34261, + "end": 34274, "length": 14, - "parent_index": 2029 + "parent_index": 2247 }, - "scope": 2028, + "scope": 2246, "name": "amount1In", "type_name": { - "id": 2035, + "id": 2253, "node_type": 30, "src": { - "line": 833, + "line": 943, "column": 8, - "start": 29868, - "end": 29871, + "start": 34261, + "end": 34264, "length": 4, - "parent_index": 2034 + "parent_index": 2252 }, "name": "uint", "referenced_declaration": 0, @@ -3535,28 +3548,28 @@ } }, { - "id": 2036, + "id": 2254, "node_type": 44, "src": { - "line": 834, + "line": 944, "column": 8, - "start": 29892, - "end": 29906, + "start": 34285, + "end": 34299, "length": 15, - "parent_index": 2029 + "parent_index": 2247 }, - "scope": 2028, + "scope": 2246, "name": "amount0Out", "type_name": { - "id": 2037, + "id": 2255, "node_type": 30, "src": { - "line": 834, + "line": 944, "column": 8, - "start": 29892, - "end": 29895, + "start": 34285, + "end": 34288, "length": 4, - "parent_index": 2036 + "parent_index": 2254 }, "name": "uint", "referenced_declaration": 0, @@ -3574,28 +3587,28 @@ } }, { - "id": 2038, + "id": 2256, "node_type": 44, "src": { - "line": 835, + "line": 945, "column": 8, - "start": 29917, - "end": 29931, + "start": 34310, + "end": 34324, "length": 15, - "parent_index": 2029 + "parent_index": 2247 }, - "scope": 2028, + "scope": 2246, "name": "amount1Out", "type_name": { - "id": 2039, + "id": 2257, "node_type": 30, "src": { - "line": 835, + "line": 945, "column": 8, - "start": 29917, - "end": 29920, + "start": 34310, + "end": 34313, "length": 4, - "parent_index": 2038 + "parent_index": 2256 }, "name": "uint", "referenced_declaration": 0, @@ -3613,28 +3626,28 @@ } }, { - "id": 2040, + "id": 2258, "node_type": 44, "src": { - "line": 836, + "line": 946, "column": 8, - "start": 29942, - "end": 29959, + "start": 34335, + "end": 34352, "length": 18, - "parent_index": 2029 + "parent_index": 2247 }, - "scope": 2028, + "scope": 2246, "name": "to", "type_name": { - "id": 2041, + "id": 2259, "node_type": 30, "src": { - "line": 836, + "line": 946, "column": 8, - "start": 29942, - "end": 29948, + "start": 34335, + "end": 34341, "length": 7, - "parent_index": 2040 + "parent_index": 2258 }, "name": "address", "state_mutability": 4, @@ -3684,56 +3697,56 @@ "name": "Swap", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Swap_\u00262028", + "type_identifier": "t_event\u0026_IUniswapV2Pair_Swap_\u00262246", "type_string": "event IUniswapV2Pair.Swap" } }, { - "id": 2043, + "id": 2261, "node_type": 57, "src": { - "line": 838, + "line": 948, "column": 4, - "start": 29972, - "end": 30018, + "start": 34365, + "end": 34411, "length": 47, - "parent_index": 1851 + "parent_index": 2069 }, "parameters": { - "id": 2044, + "id": 2262, "node_type": 43, "src": { - "line": 838, + "line": 948, "column": 4, - "start": 29972, - "end": 30018, + "start": 34365, + "end": 34411, "length": 47, - "parent_index": 2043 + "parent_index": 2261 }, "parameters": [ { - "id": 2045, + "id": 2263, "node_type": 44, "src": { - "line": 838, + "line": 948, "column": 15, - "start": 29983, - "end": 29998, + "start": 34376, + "end": 34391, "length": 16, - "parent_index": 2044 + "parent_index": 2262 }, - "scope": 2043, + "scope": 2261, "name": "reserve0", "type_name": { - "id": 2046, + "id": 2264, "node_type": 30, "src": { - "line": 838, + "line": 948, "column": 15, - "start": 29983, - "end": 29989, + "start": 34376, + "end": 34382, "length": 7, - "parent_index": 2045 + "parent_index": 2263 }, "name": "uint112", "referenced_declaration": 0, @@ -3751,28 +3764,28 @@ } }, { - "id": 2047, + "id": 2265, "node_type": 44, "src": { - "line": 838, + "line": 948, "column": 33, - "start": 30001, - "end": 30016, + "start": 34394, + "end": 34409, "length": 16, - "parent_index": 2044 + "parent_index": 2262 }, - "scope": 2043, + "scope": 2261, "name": "reserve1", "type_name": { - "id": 2048, + "id": 2266, "node_type": 30, "src": { - "line": 838, + "line": 948, "column": 33, - "start": 30001, - "end": 30007, + "start": 34394, + "end": 34400, "length": 7, - "parent_index": 2047 + "parent_index": 2265 }, "name": "uint112", "referenced_declaration": 0, @@ -3804,42 +3817,42 @@ "name": "Sync", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Sync_\u00262043", + "type_identifier": "t_event\u0026_IUniswapV2Pair_Sync_\u00262261", "type_string": "event IUniswapV2Pair.Sync" } }, { - "id": 2050, + "id": 2268, "name": "MINIMUM_LIQUIDITY", "node_type": 42, "kind": 41, "src": { - "line": 840, + "line": 950, "column": 4, - "start": 30025, - "end": 30082, + "start": 34418, + "end": 34475, "length": 58, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 840, + "line": 950, "column": 13, - "start": 30034, - "end": 30050, + "start": 34427, + "end": 34443, "length": 17, - "parent_index": 2050 + "parent_index": 2268 }, "body": { - "id": 2057, + "id": 2275, "node_type": 46, "kind": 0, "src": { - "line": 840, + "line": 950, "column": 4, - "start": 30025, - "end": 30082, + "start": 34418, + "end": 34475, "length": 58, - "parent_index": 2050 + "parent_index": 2268 }, "implemented": false, "statements": [] @@ -3851,40 +3864,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2051, + "id": 2269, "node_type": 43, "src": { - "line": 840, + "line": 950, "column": 56, - "start": 30077, - "end": 30080, + "start": 34470, + "end": 34473, "length": 4, - "parent_index": 2050 + "parent_index": 2268 }, "parameters": [ { - "id": 2052, + "id": 2270, "node_type": 44, "src": { - "line": 840, + "line": 950, "column": 56, - "start": 30077, - "end": 30080, + "start": 34470, + "end": 34473, "length": 4, - "parent_index": 2051 + "parent_index": 2269 }, - "scope": 2050, + "scope": 2268, "name": "", "type_name": { - "id": 2053, + "id": 2271, "node_type": 30, "src": { - "line": 840, + "line": 950, "column": 56, - "start": 30077, - "end": 30080, + "start": 34470, + "end": 34473, "length": 4, - "parent_index": 2052 + "parent_index": 2270 }, "name": "uint", "referenced_declaration": 0, @@ -3910,40 +3923,40 @@ ] }, "return_parameters": { - "id": 2054, + "id": 2272, "node_type": 43, "src": { - "line": 840, + "line": 950, "column": 56, - "start": 30077, - "end": 30080, + "start": 34470, + "end": 34473, "length": 4, - "parent_index": 2050 + "parent_index": 2268 }, "parameters": [ { - "id": 2055, + "id": 2273, "node_type": 44, "src": { - "line": 840, + "line": 950, "column": 56, - "start": 30077, - "end": 30080, + "start": 34470, + "end": 34473, "length": 4, - "parent_index": 2054 + "parent_index": 2272 }, - "scope": 2050, + "scope": 2268, "name": "", "type_name": { - "id": 2056, + "id": 2274, "node_type": 30, "src": { - "line": 840, + "line": 950, "column": 56, - "start": 30077, - "end": 30080, + "start": 34470, + "end": 34473, "length": 4, - "parent_index": 2055 + "parent_index": 2273 }, "name": "uint", "referenced_declaration": 0, @@ -3970,44 +3983,45 @@ }, "signature_raw": "MINIMUM_LIQUIDITY(uint)", "signature": "51096f41", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionMINIMUM_LIQUIDITY()externalpurereturns(uint);" }, { - "id": 2059, + "id": 2277, "name": "factory", "node_type": 42, "kind": 41, "src": { - "line": 841, + "line": 951, "column": 4, - "start": 30088, - "end": 30138, + "start": 34481, + "end": 34531, "length": 51, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 841, + "line": 951, "column": 13, - "start": 30097, - "end": 30103, + "start": 34490, + "end": 34496, "length": 7, - "parent_index": 2059 + "parent_index": 2277 }, "body": { - "id": 2066, + "id": 2284, "node_type": 46, "kind": 0, "src": { - "line": 841, + "line": 951, "column": 4, - "start": 30088, - "end": 30138, + "start": 34481, + "end": 34531, "length": 51, - "parent_index": 2059 + "parent_index": 2277 }, "implemented": false, "statements": [] @@ -4019,40 +4033,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2060, + "id": 2278, "node_type": 43, "src": { - "line": 841, + "line": 951, "column": 46, - "start": 30130, - "end": 30136, + "start": 34523, + "end": 34529, "length": 7, - "parent_index": 2059 + "parent_index": 2277 }, "parameters": [ { - "id": 2061, + "id": 2279, "node_type": 44, "src": { - "line": 841, + "line": 951, "column": 46, - "start": 30130, - "end": 30136, + "start": 34523, + "end": 34529, "length": 7, - "parent_index": 2060 + "parent_index": 2278 }, - "scope": 2059, + "scope": 2277, "name": "", "type_name": { - "id": 2062, + "id": 2280, "node_type": 30, "src": { - "line": 841, + "line": 951, "column": 46, - "start": 30130, - "end": 30136, + "start": 34523, + "end": 34529, "length": 7, - "parent_index": 2061 + "parent_index": 2279 }, "name": "address", "state_mutability": 4, @@ -4079,40 +4093,40 @@ ] }, "return_parameters": { - "id": 2063, + "id": 2281, "node_type": 43, "src": { - "line": 841, + "line": 951, "column": 46, - "start": 30130, - "end": 30136, + "start": 34523, + "end": 34529, "length": 7, - "parent_index": 2059 + "parent_index": 2277 }, "parameters": [ { - "id": 2064, + "id": 2282, "node_type": 44, "src": { - "line": 841, + "line": 951, "column": 46, - "start": 30130, - "end": 30136, + "start": 34523, + "end": 34529, "length": 7, - "parent_index": 2063 + "parent_index": 2281 }, - "scope": 2059, + "scope": 2277, "name": "", "type_name": { - "id": 2065, + "id": 2283, "node_type": 30, "src": { - "line": 841, + "line": 951, "column": 46, - "start": 30130, - "end": 30136, + "start": 34523, + "end": 34529, "length": 7, - "parent_index": 2064 + "parent_index": 2282 }, "name": "address", "state_mutability": 4, @@ -4140,44 +4154,45 @@ }, "signature_raw": "factory(address)", "signature": "395c0fda", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { - "id": 2068, + "id": 2286, "name": "token0", "node_type": 42, "kind": 41, "src": { - "line": 842, + "line": 952, "column": 4, - "start": 30144, - "end": 30193, + "start": 34537, + "end": 34586, "length": 50, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 842, + "line": 952, "column": 13, - "start": 30153, - "end": 30158, + "start": 34546, + "end": 34551, "length": 6, - "parent_index": 2068 + "parent_index": 2286 }, "body": { - "id": 2075, + "id": 2293, "node_type": 46, "kind": 0, "src": { - "line": 842, + "line": 952, "column": 4, - "start": 30144, - "end": 30193, + "start": 34537, + "end": 34586, "length": 50, - "parent_index": 2068 + "parent_index": 2286 }, "implemented": false, "statements": [] @@ -4189,40 +4204,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2069, + "id": 2287, "node_type": 43, "src": { - "line": 842, + "line": 952, "column": 45, - "start": 30185, - "end": 30191, + "start": 34578, + "end": 34584, "length": 7, - "parent_index": 2068 + "parent_index": 2286 }, "parameters": [ { - "id": 2070, + "id": 2288, "node_type": 44, "src": { - "line": 842, + "line": 952, "column": 45, - "start": 30185, - "end": 30191, + "start": 34578, + "end": 34584, "length": 7, - "parent_index": 2069 + "parent_index": 2287 }, - "scope": 2068, + "scope": 2286, "name": "", "type_name": { - "id": 2071, + "id": 2289, "node_type": 30, "src": { - "line": 842, + "line": 952, "column": 45, - "start": 30185, - "end": 30191, + "start": 34578, + "end": 34584, "length": 7, - "parent_index": 2070 + "parent_index": 2288 }, "name": "address", "state_mutability": 4, @@ -4249,40 +4264,40 @@ ] }, "return_parameters": { - "id": 2072, + "id": 2290, "node_type": 43, "src": { - "line": 842, + "line": 952, "column": 45, - "start": 30185, - "end": 30191, + "start": 34578, + "end": 34584, "length": 7, - "parent_index": 2068 + "parent_index": 2286 }, "parameters": [ { - "id": 2073, + "id": 2291, "node_type": 44, "src": { - "line": 842, + "line": 952, "column": 45, - "start": 30185, - "end": 30191, + "start": 34578, + "end": 34584, "length": 7, - "parent_index": 2072 + "parent_index": 2290 }, - "scope": 2068, + "scope": 2286, "name": "", "type_name": { - "id": 2074, + "id": 2292, "node_type": 30, "src": { - "line": 842, + "line": 952, "column": 45, - "start": 30185, - "end": 30191, + "start": 34578, + "end": 34584, "length": 7, - "parent_index": 2073 + "parent_index": 2291 }, "name": "address", "state_mutability": 4, @@ -4310,44 +4325,45 @@ }, "signature_raw": "token0(address)", "signature": "76bf39a3", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken0()externalviewreturns(address);" }, { - "id": 2077, + "id": 2295, "name": "token1", "node_type": 42, "kind": 41, "src": { - "line": 843, + "line": 953, "column": 4, - "start": 30199, - "end": 30248, + "start": 34592, + "end": 34641, "length": 50, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 843, + "line": 953, "column": 13, - "start": 30208, - "end": 30213, + "start": 34601, + "end": 34606, "length": 6, - "parent_index": 2077 + "parent_index": 2295 }, "body": { - "id": 2084, + "id": 2302, "node_type": 46, "kind": 0, "src": { - "line": 843, + "line": 953, "column": 4, - "start": 30199, - "end": 30248, + "start": 34592, + "end": 34641, "length": 50, - "parent_index": 2077 + "parent_index": 2295 }, "implemented": false, "statements": [] @@ -4359,40 +4375,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2078, + "id": 2296, "node_type": 43, "src": { - "line": 843, + "line": 953, "column": 45, - "start": 30240, - "end": 30246, + "start": 34633, + "end": 34639, "length": 7, - "parent_index": 2077 + "parent_index": 2295 }, "parameters": [ { - "id": 2079, + "id": 2297, "node_type": 44, "src": { - "line": 843, + "line": 953, "column": 45, - "start": 30240, - "end": 30246, + "start": 34633, + "end": 34639, "length": 7, - "parent_index": 2078 + "parent_index": 2296 }, - "scope": 2077, + "scope": 2295, "name": "", "type_name": { - "id": 2080, + "id": 2298, "node_type": 30, "src": { - "line": 843, + "line": 953, "column": 45, - "start": 30240, - "end": 30246, + "start": 34633, + "end": 34639, "length": 7, - "parent_index": 2079 + "parent_index": 2297 }, "name": "address", "state_mutability": 4, @@ -4419,40 +4435,40 @@ ] }, "return_parameters": { - "id": 2081, + "id": 2299, "node_type": 43, "src": { - "line": 843, + "line": 953, "column": 45, - "start": 30240, - "end": 30246, + "start": 34633, + "end": 34639, "length": 7, - "parent_index": 2077 + "parent_index": 2295 }, "parameters": [ { - "id": 2082, + "id": 2300, "node_type": 44, "src": { - "line": 843, + "line": 953, "column": 45, - "start": 30240, - "end": 30246, + "start": 34633, + "end": 34639, "length": 7, - "parent_index": 2081 + "parent_index": 2299 }, - "scope": 2077, + "scope": 2295, "name": "", "type_name": { - "id": 2083, + "id": 2301, "node_type": 30, "src": { - "line": 843, + "line": 953, "column": 45, - "start": 30240, - "end": 30246, + "start": 34633, + "end": 34639, "length": 7, - "parent_index": 2082 + "parent_index": 2300 }, "name": "address", "state_mutability": 4, @@ -4480,44 +4496,45 @@ }, "signature_raw": "token1(address)", "signature": "37823795", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontoken1()externalviewreturns(address);" }, { - "id": 2086, + "id": 2304, "name": "getReserves", "node_type": 42, "kind": 41, "src": { - "line": 844, + "line": 954, "column": 4, - "start": 30254, - "end": 30362, + "start": 34647, + "end": 34755, "length": 109, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 844, + "line": 954, "column": 13, - "start": 30263, - "end": 30273, + "start": 34656, + "end": 34666, "length": 11, - "parent_index": 2086 + "parent_index": 2304 }, "body": { - "id": 2101, + "id": 2319, "node_type": 46, "kind": 0, "src": { - "line": 844, + "line": 954, "column": 4, - "start": 30254, - "end": 30362, + "start": 34647, + "end": 34755, "length": 109, - "parent_index": 2086 + "parent_index": 2304 }, "implemented": false, "statements": [] @@ -4529,40 +4546,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2087, + "id": 2305, "node_type": 43, "src": { - "line": 844, + "line": 954, "column": 50, - "start": 30300, - "end": 30360, + "start": 34693, + "end": 34753, "length": 61, - "parent_index": 2086 + "parent_index": 2304 }, "parameters": [ { - "id": 2088, + "id": 2306, "node_type": 44, "src": { - "line": 844, + "line": 954, "column": 50, - "start": 30300, - "end": 30315, + "start": 34693, + "end": 34708, "length": 16, - "parent_index": 2087 + "parent_index": 2305 }, - "scope": 2086, + "scope": 2304, "name": "reserve0", "type_name": { - "id": 2089, + "id": 2307, "node_type": 30, "src": { - "line": 844, + "line": 954, "column": 50, - "start": 30300, - "end": 30306, + "start": 34693, + "end": 34699, "length": 7, - "parent_index": 2088 + "parent_index": 2306 }, "name": "uint112", "referenced_declaration": 0, @@ -4580,28 +4597,28 @@ } }, { - "id": 2090, + "id": 2308, "node_type": 44, "src": { - "line": 844, + "line": 954, "column": 68, - "start": 30318, - "end": 30333, + "start": 34711, + "end": 34726, "length": 16, - "parent_index": 2087 + "parent_index": 2305 }, - "scope": 2086, + "scope": 2304, "name": "reserve1", "type_name": { - "id": 2091, + "id": 2309, "node_type": 30, "src": { - "line": 844, + "line": 954, "column": 68, - "start": 30318, - "end": 30324, + "start": 34711, + "end": 34717, "length": 7, - "parent_index": 2090 + "parent_index": 2308 }, "name": "uint112", "referenced_declaration": 0, @@ -4619,28 +4636,28 @@ } }, { - "id": 2092, + "id": 2310, "node_type": 44, "src": { - "line": 844, + "line": 954, "column": 86, - "start": 30336, - "end": 30360, + "start": 34729, + "end": 34753, "length": 25, - "parent_index": 2087 + "parent_index": 2305 }, - "scope": 2086, + "scope": 2304, "name": "blockTimestampLast", "type_name": { - "id": 2093, + "id": 2311, "node_type": 30, "src": { - "line": 844, + "line": 954, "column": 86, - "start": 30336, - "end": 30341, + "start": 34729, + "end": 34734, "length": 6, - "parent_index": 2092 + "parent_index": 2310 }, "name": "uint32", "referenced_declaration": 0, @@ -4674,40 +4691,40 @@ ] }, "return_parameters": { - "id": 2094, + "id": 2312, "node_type": 43, "src": { - "line": 844, + "line": 954, "column": 50, - "start": 30300, - "end": 30360, + "start": 34693, + "end": 34753, "length": 61, - "parent_index": 2086 + "parent_index": 2304 }, "parameters": [ { - "id": 2095, + "id": 2313, "node_type": 44, "src": { - "line": 844, + "line": 954, "column": 50, - "start": 30300, - "end": 30315, + "start": 34693, + "end": 34708, "length": 16, - "parent_index": 2094 + "parent_index": 2312 }, - "scope": 2086, + "scope": 2304, "name": "reserve0", "type_name": { - "id": 2096, + "id": 2314, "node_type": 30, "src": { - "line": 844, + "line": 954, "column": 50, - "start": 30300, - "end": 30306, + "start": 34693, + "end": 34699, "length": 7, - "parent_index": 2095 + "parent_index": 2313 }, "name": "uint112", "referenced_declaration": 0, @@ -4725,28 +4742,28 @@ } }, { - "id": 2097, + "id": 2315, "node_type": 44, "src": { - "line": 844, + "line": 954, "column": 68, - "start": 30318, - "end": 30333, + "start": 34711, + "end": 34726, "length": 16, - "parent_index": 2094 + "parent_index": 2312 }, - "scope": 2086, + "scope": 2304, "name": "reserve1", "type_name": { - "id": 2098, + "id": 2316, "node_type": 30, "src": { - "line": 844, + "line": 954, "column": 68, - "start": 30318, - "end": 30324, + "start": 34711, + "end": 34717, "length": 7, - "parent_index": 2097 + "parent_index": 2315 }, "name": "uint112", "referenced_declaration": 0, @@ -4764,28 +4781,28 @@ } }, { - "id": 2099, + "id": 2317, "node_type": 44, "src": { - "line": 844, + "line": 954, "column": 86, - "start": 30336, - "end": 30360, + "start": 34729, + "end": 34753, "length": 25, - "parent_index": 2094 + "parent_index": 2312 }, - "scope": 2086, + "scope": 2304, "name": "blockTimestampLast", "type_name": { - "id": 2100, + "id": 2318, "node_type": 30, "src": { - "line": 844, + "line": 954, "column": 86, - "start": 30336, - "end": 30341, + "start": 34729, + "end": 34734, "length": 6, - "parent_index": 2099 + "parent_index": 2317 }, "name": "uint32", "referenced_declaration": 0, @@ -4818,46 +4835,47 @@ } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", - "scope": 1851, + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", "type_string": "function(uint112,uint112,uint32)" - } + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" }, { - "id": 2103, + "id": 2321, "name": "price0CumulativeLast", "node_type": 42, "kind": 41, "src": { - "line": 845, + "line": 955, "column": 4, - "start": 30368, - "end": 30428, + "start": 34761, + "end": 34821, "length": 61, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 845, + "line": 955, "column": 13, - "start": 30377, - "end": 30396, + "start": 34770, + "end": 34789, "length": 20, - "parent_index": 2103 + "parent_index": 2321 }, "body": { - "id": 2110, + "id": 2328, "node_type": 46, "kind": 0, "src": { - "line": 845, + "line": 955, "column": 4, - "start": 30368, - "end": 30428, + "start": 34761, + "end": 34821, "length": 61, - "parent_index": 2103 + "parent_index": 2321 }, "implemented": false, "statements": [] @@ -4869,40 +4887,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2104, + "id": 2322, "node_type": 43, "src": { - "line": 845, + "line": 955, "column": 59, - "start": 30423, - "end": 30426, + "start": 34816, + "end": 34819, "length": 4, - "parent_index": 2103 + "parent_index": 2321 }, "parameters": [ { - "id": 2105, + "id": 2323, "node_type": 44, "src": { - "line": 845, + "line": 955, "column": 59, - "start": 30423, - "end": 30426, + "start": 34816, + "end": 34819, "length": 4, - "parent_index": 2104 + "parent_index": 2322 }, - "scope": 2103, + "scope": 2321, "name": "", "type_name": { - "id": 2106, + "id": 2324, "node_type": 30, "src": { - "line": 845, + "line": 955, "column": 59, - "start": 30423, - "end": 30426, + "start": 34816, + "end": 34819, "length": 4, - "parent_index": 2105 + "parent_index": 2323 }, "name": "uint", "referenced_declaration": 0, @@ -4928,40 +4946,40 @@ ] }, "return_parameters": { - "id": 2107, + "id": 2325, "node_type": 43, "src": { - "line": 845, + "line": 955, "column": 59, - "start": 30423, - "end": 30426, + "start": 34816, + "end": 34819, "length": 4, - "parent_index": 2103 + "parent_index": 2321 }, "parameters": [ { - "id": 2108, + "id": 2326, "node_type": 44, "src": { - "line": 845, + "line": 955, "column": 59, - "start": 30423, - "end": 30426, + "start": 34816, + "end": 34819, "length": 4, - "parent_index": 2107 + "parent_index": 2325 }, - "scope": 2103, + "scope": 2321, "name": "", "type_name": { - "id": 2109, + "id": 2327, "node_type": 30, "src": { - "line": 845, + "line": 955, "column": 59, - "start": 30423, - "end": 30426, + "start": 34816, + "end": 34819, "length": 4, - "parent_index": 2108 + "parent_index": 2326 }, "name": "uint", "referenced_declaration": 0, @@ -4988,44 +5006,45 @@ }, "signature_raw": "price0CumulativeLast(uint)", "signature": "f8d9234a", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice0CumulativeLast()externalviewreturns(uint);" }, { - "id": 2112, + "id": 2330, "name": "price1CumulativeLast", "node_type": 42, "kind": 41, "src": { - "line": 846, + "line": 956, "column": 4, - "start": 30434, - "end": 30494, + "start": 34827, + "end": 34887, "length": 61, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 846, + "line": 956, "column": 13, - "start": 30443, - "end": 30462, + "start": 34836, + "end": 34855, "length": 20, - "parent_index": 2112 + "parent_index": 2330 }, "body": { - "id": 2119, + "id": 2337, "node_type": 46, "kind": 0, "src": { - "line": 846, + "line": 956, "column": 4, - "start": 30434, - "end": 30494, + "start": 34827, + "end": 34887, "length": 61, - "parent_index": 2112 + "parent_index": 2330 }, "implemented": false, "statements": [] @@ -5037,40 +5056,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2113, + "id": 2331, "node_type": 43, "src": { - "line": 846, + "line": 956, "column": 59, - "start": 30489, - "end": 30492, + "start": 34882, + "end": 34885, "length": 4, - "parent_index": 2112 + "parent_index": 2330 }, "parameters": [ { - "id": 2114, + "id": 2332, "node_type": 44, "src": { - "line": 846, + "line": 956, "column": 59, - "start": 30489, - "end": 30492, + "start": 34882, + "end": 34885, "length": 4, - "parent_index": 2113 + "parent_index": 2331 }, - "scope": 2112, + "scope": 2330, "name": "", "type_name": { - "id": 2115, + "id": 2333, "node_type": 30, "src": { - "line": 846, + "line": 956, "column": 59, - "start": 30489, - "end": 30492, + "start": 34882, + "end": 34885, "length": 4, - "parent_index": 2114 + "parent_index": 2332 }, "name": "uint", "referenced_declaration": 0, @@ -5096,40 +5115,40 @@ ] }, "return_parameters": { - "id": 2116, + "id": 2334, "node_type": 43, "src": { - "line": 846, + "line": 956, "column": 59, - "start": 30489, - "end": 30492, + "start": 34882, + "end": 34885, "length": 4, - "parent_index": 2112 + "parent_index": 2330 }, "parameters": [ { - "id": 2117, + "id": 2335, "node_type": 44, "src": { - "line": 846, + "line": 956, "column": 59, - "start": 30489, - "end": 30492, + "start": 34882, + "end": 34885, "length": 4, - "parent_index": 2116 + "parent_index": 2334 }, - "scope": 2112, + "scope": 2330, "name": "", "type_name": { - "id": 2118, + "id": 2336, "node_type": 30, "src": { - "line": 846, + "line": 956, "column": 59, - "start": 30489, - "end": 30492, + "start": 34882, + "end": 34885, "length": 4, - "parent_index": 2117 + "parent_index": 2335 }, "name": "uint", "referenced_declaration": 0, @@ -5156,44 +5175,45 @@ }, "signature_raw": "price1CumulativeLast(uint)", "signature": "2aa8398b", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionprice1CumulativeLast()externalviewreturns(uint);" }, { - "id": 2121, + "id": 2339, "name": "kLast", "node_type": 42, "kind": 41, "src": { - "line": 847, + "line": 957, "column": 4, - "start": 30500, - "end": 30545, + "start": 34893, + "end": 34938, "length": 46, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 847, + "line": 957, "column": 13, - "start": 30509, - "end": 30513, + "start": 34902, + "end": 34906, "length": 5, - "parent_index": 2121 + "parent_index": 2339 }, "body": { - "id": 2128, + "id": 2346, "node_type": 46, "kind": 0, "src": { - "line": 847, + "line": 957, "column": 4, - "start": 30500, - "end": 30545, + "start": 34893, + "end": 34938, "length": 46, - "parent_index": 2121 + "parent_index": 2339 }, "implemented": false, "statements": [] @@ -5205,40 +5225,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2122, + "id": 2340, "node_type": 43, "src": { - "line": 847, + "line": 957, "column": 44, - "start": 30540, - "end": 30543, + "start": 34933, + "end": 34936, "length": 4, - "parent_index": 2121 + "parent_index": 2339 }, "parameters": [ { - "id": 2123, + "id": 2341, "node_type": 44, "src": { - "line": 847, + "line": 957, "column": 44, - "start": 30540, - "end": 30543, + "start": 34933, + "end": 34936, "length": 4, - "parent_index": 2122 + "parent_index": 2340 }, - "scope": 2121, + "scope": 2339, "name": "", "type_name": { - "id": 2124, + "id": 2342, "node_type": 30, "src": { - "line": 847, + "line": 957, "column": 44, - "start": 30540, - "end": 30543, + "start": 34933, + "end": 34936, "length": 4, - "parent_index": 2123 + "parent_index": 2341 }, "name": "uint", "referenced_declaration": 0, @@ -5264,40 +5284,40 @@ ] }, "return_parameters": { - "id": 2125, + "id": 2343, "node_type": 43, "src": { - "line": 847, + "line": 957, "column": 44, - "start": 30540, - "end": 30543, + "start": 34933, + "end": 34936, "length": 4, - "parent_index": 2121 + "parent_index": 2339 }, "parameters": [ { - "id": 2126, + "id": 2344, "node_type": 44, "src": { - "line": 847, + "line": 957, "column": 44, - "start": 30540, - "end": 30543, + "start": 34933, + "end": 34936, "length": 4, - "parent_index": 2125 + "parent_index": 2343 }, - "scope": 2121, + "scope": 2339, "name": "", "type_name": { - "id": 2127, + "id": 2345, "node_type": 30, "src": { - "line": 847, + "line": 957, "column": 44, - "start": 30540, - "end": 30543, + "start": 34933, + "end": 34936, "length": 4, - "parent_index": 2126 + "parent_index": 2344 }, "name": "uint", "referenced_declaration": 0, @@ -5324,44 +5344,45 @@ }, "signature_raw": "kLast(uint)", "signature": "ce0485c1", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionkLast()externalviewreturns(uint);" }, { - "id": 2130, + "id": 2348, "name": "mint", "node_type": 42, "kind": 41, "src": { - "line": 849, + "line": 959, "column": 4, - "start": 30552, - "end": 30611, + "start": 34945, + "end": 35004, "length": 60, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 849, + "line": 959, "column": 13, - "start": 30561, - "end": 30564, + "start": 34954, + "end": 34957, "length": 4, - "parent_index": 2130 + "parent_index": 2348 }, "body": { - "id": 2137, + "id": 2355, "node_type": 46, "kind": 0, "src": { - "line": 849, + "line": 959, "column": 4, - "start": 30552, - "end": 30611, + "start": 34945, + "end": 35004, "length": 60, - "parent_index": 2130 + "parent_index": 2348 }, "implemented": false, "statements": [] @@ -5373,40 +5394,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2131, + "id": 2349, "node_type": 43, "src": { - "line": 849, + "line": 959, "column": 18, - "start": 30566, - "end": 30575, + "start": 34959, + "end": 34968, "length": 10, - "parent_index": 2130 + "parent_index": 2348 }, "parameters": [ { - "id": 2132, + "id": 2350, "node_type": 44, "src": { - "line": 849, + "line": 959, "column": 18, - "start": 30566, - "end": 30575, + "start": 34959, + "end": 34968, "length": 10, - "parent_index": 2131 + "parent_index": 2349 }, - "scope": 2130, + "scope": 2348, "name": "to", "type_name": { - "id": 2133, + "id": 2351, "node_type": 30, "src": { - "line": 849, + "line": 959, "column": 18, - "start": 30566, - "end": 30572, + "start": 34959, + "end": 34965, "length": 7, - "parent_index": 2132 + "parent_index": 2350 }, "name": "address", "state_mutability": 4, @@ -5433,40 +5454,40 @@ ] }, "return_parameters": { - "id": 2134, + "id": 2352, "node_type": 43, "src": { - "line": 849, + "line": 959, "column": 48, - "start": 30596, - "end": 30609, + "start": 34989, + "end": 35002, "length": 14, - "parent_index": 2130 + "parent_index": 2348 }, "parameters": [ { - "id": 2135, + "id": 2353, "node_type": 44, "src": { - "line": 849, + "line": 959, "column": 48, - "start": 30596, - "end": 30609, + "start": 34989, + "end": 35002, "length": 14, - "parent_index": 2134 + "parent_index": 2352 }, - "scope": 2130, + "scope": 2348, "name": "liquidity", "type_name": { - "id": 2136, + "id": 2354, "node_type": 30, "src": { - "line": 849, + "line": 959, "column": 48, - "start": 30596, - "end": 30599, + "start": 34989, + "end": 34992, "length": 4, - "parent_index": 2135 + "parent_index": 2353 }, "name": "uint", "referenced_declaration": 0, @@ -5493,44 +5514,45 @@ }, "signature_raw": "mint(address)", "signature": "6a627842", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionmint(addressto)externalreturns(uintliquidity);" }, { - "id": 2139, + "id": 2357, "name": "burn", "node_type": 42, "kind": 41, "src": { - "line": 850, + "line": 960, "column": 4, - "start": 30617, - "end": 30688, + "start": 35010, + "end": 35081, "length": 72, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 850, + "line": 960, "column": 13, - "start": 30626, - "end": 30629, + "start": 35019, + "end": 35022, "length": 4, - "parent_index": 2139 + "parent_index": 2357 }, "body": { - "id": 2148, + "id": 2366, "node_type": 46, "kind": 0, "src": { - "line": 850, + "line": 960, "column": 4, - "start": 30617, - "end": 30688, + "start": 35010, + "end": 35081, "length": 72, - "parent_index": 2139 + "parent_index": 2357 }, "implemented": false, "statements": [] @@ -5542,40 +5564,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2140, + "id": 2358, "node_type": 43, "src": { - "line": 850, + "line": 960, "column": 18, - "start": 30631, - "end": 30640, + "start": 35024, + "end": 35033, "length": 10, - "parent_index": 2139 + "parent_index": 2357 }, "parameters": [ { - "id": 2141, + "id": 2359, "node_type": 44, "src": { - "line": 850, + "line": 960, "column": 18, - "start": 30631, - "end": 30640, + "start": 35024, + "end": 35033, "length": 10, - "parent_index": 2140 + "parent_index": 2358 }, - "scope": 2139, + "scope": 2357, "name": "to", "type_name": { - "id": 2142, + "id": 2360, "node_type": 30, "src": { - "line": 850, + "line": 960, "column": 18, - "start": 30631, - "end": 30637, + "start": 35024, + "end": 35030, "length": 7, - "parent_index": 2141 + "parent_index": 2359 }, "name": "address", "state_mutability": 4, @@ -5602,40 +5624,40 @@ ] }, "return_parameters": { - "id": 2143, + "id": 2361, "node_type": 43, "src": { - "line": 850, + "line": 960, "column": 48, - "start": 30661, - "end": 30686, + "start": 35054, + "end": 35079, "length": 26, - "parent_index": 2139 + "parent_index": 2357 }, "parameters": [ { - "id": 2144, + "id": 2362, "node_type": 44, "src": { - "line": 850, + "line": 960, "column": 48, - "start": 30661, - "end": 30672, + "start": 35054, + "end": 35065, "length": 12, - "parent_index": 2143 + "parent_index": 2361 }, - "scope": 2139, + "scope": 2357, "name": "amount0", "type_name": { - "id": 2145, + "id": 2363, "node_type": 30, "src": { - "line": 850, + "line": 960, "column": 48, - "start": 30661, - "end": 30664, + "start": 35054, + "end": 35057, "length": 4, - "parent_index": 2144 + "parent_index": 2362 }, "name": "uint", "referenced_declaration": 0, @@ -5653,28 +5675,28 @@ } }, { - "id": 2146, + "id": 2364, "node_type": 44, "src": { - "line": 850, + "line": 960, "column": 62, - "start": 30675, - "end": 30686, + "start": 35068, + "end": 35079, "length": 12, - "parent_index": 2143 + "parent_index": 2361 }, - "scope": 2139, + "scope": 2357, "name": "amount1", "type_name": { - "id": 2147, + "id": 2365, "node_type": 30, "src": { - "line": 850, + "line": 960, "column": 62, - "start": 30675, - "end": 30678, + "start": 35068, + "end": 35071, "length": 4, - "parent_index": 2146 + "parent_index": 2364 }, "name": "uint", "referenced_declaration": 0, @@ -5705,44 +5727,45 @@ }, "signature_raw": "burn(address)", "signature": "89afcb44", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionburn(addressto)externalreturns(uintamount0,uintamount1);" }, { - "id": 2150, + "id": 2368, "name": "swap", "node_type": 42, "kind": 41, "src": { - "line": 851, + "line": 961, "column": 4, - "start": 30694, - "end": 30783, + "start": 35087, + "end": 35176, "length": 90, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 851, + "line": 961, "column": 13, - "start": 30703, - "end": 30706, + "start": 35096, + "end": 35099, "length": 4, - "parent_index": 2150 + "parent_index": 2368 }, "body": { - "id": 2161, + "id": 2379, "node_type": 46, "kind": 0, "src": { - "line": 851, + "line": 961, "column": 4, - "start": 30694, - "end": 30783, + "start": 35087, + "end": 35176, "length": 90, - "parent_index": 2150 + "parent_index": 2368 }, "implemented": false, "statements": [] @@ -5754,40 +5777,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2151, + "id": 2369, "node_type": 43, "src": { - "line": 851, + "line": 961, "column": 18, - "start": 30708, - "end": 30772, + "start": 35101, + "end": 35165, "length": 65, - "parent_index": 2150 + "parent_index": 2368 }, "parameters": [ { - "id": 2152, + "id": 2370, "node_type": 44, "src": { - "line": 851, + "line": 961, "column": 18, - "start": 30708, - "end": 30722, + "start": 35101, + "end": 35115, "length": 15, - "parent_index": 2151 + "parent_index": 2369 }, - "scope": 2150, + "scope": 2368, "name": "amount0Out", "type_name": { - "id": 2153, + "id": 2371, "node_type": 30, "src": { - "line": 851, + "line": 961, "column": 18, - "start": 30708, - "end": 30711, + "start": 35101, + "end": 35104, "length": 4, - "parent_index": 2152 + "parent_index": 2370 }, "name": "uint", "referenced_declaration": 0, @@ -5805,28 +5828,28 @@ } }, { - "id": 2154, + "id": 2372, "node_type": 44, "src": { - "line": 851, + "line": 961, "column": 35, - "start": 30725, - "end": 30739, + "start": 35118, + "end": 35132, "length": 15, - "parent_index": 2151 + "parent_index": 2369 }, - "scope": 2150, + "scope": 2368, "name": "amount1Out", "type_name": { - "id": 2155, + "id": 2373, "node_type": 30, "src": { - "line": 851, + "line": 961, "column": 35, - "start": 30725, - "end": 30728, + "start": 35118, + "end": 35121, "length": 4, - "parent_index": 2154 + "parent_index": 2372 }, "name": "uint", "referenced_declaration": 0, @@ -5844,28 +5867,28 @@ } }, { - "id": 2156, + "id": 2374, "node_type": 44, "src": { - "line": 851, + "line": 961, "column": 52, - "start": 30742, - "end": 30751, + "start": 35135, + "end": 35144, "length": 10, - "parent_index": 2151 + "parent_index": 2369 }, - "scope": 2150, + "scope": 2368, "name": "to", "type_name": { - "id": 2157, + "id": 2375, "node_type": 30, "src": { - "line": 851, + "line": 961, "column": 52, - "start": 30742, - "end": 30748, + "start": 35135, + "end": 35141, "length": 7, - "parent_index": 2156 + "parent_index": 2374 }, "name": "address", "state_mutability": 4, @@ -5884,28 +5907,28 @@ } }, { - "id": 2158, + "id": 2376, "node_type": 44, "src": { - "line": 851, + "line": 961, "column": 64, - "start": 30754, - "end": 30772, + "start": 35147, + "end": 35165, "length": 19, - "parent_index": 2151 + "parent_index": 2369 }, - "scope": 2150, + "scope": 2368, "name": "data", "type_name": { - "id": 2159, + "id": 2377, "node_type": 30, "src": { - "line": 851, + "line": 961, "column": 64, - "start": 30754, - "end": 30758, + "start": 35147, + "end": 35151, "length": 5, - "parent_index": 2158 + "parent_index": 2376 }, "name": "bytes", "referenced_declaration": 0, @@ -5943,59 +5966,60 @@ ] }, "return_parameters": { - "id": 2160, + "id": 2378, "node_type": 43, "src": { - "line": 851, + "line": 961, "column": 4, - "start": 30694, - "end": 30783, + "start": 35087, + "end": 35176, "length": 90, - "parent_index": 2150 + "parent_index": 2368 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "swap(uint, uint, address, bytes)", - "signature": "7d9441ed", - "scope": 1851, + "signature_raw": "swap(uint,uint,address,bytes)", + "signature": "090f344e", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", "type_string": "function(uint256,uint256,address,bytes)" - } + }, + "text": "functionswap(uintamount0Out,uintamount1Out,addressto,bytescalldatadata)external;" }, { - "id": 2163, + "id": 2381, "name": "skim", "node_type": 42, "kind": 41, "src": { - "line": 852, + "line": 962, "column": 4, - "start": 30789, - "end": 30823, + "start": 35182, + "end": 35216, "length": 35, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 852, + "line": 962, "column": 13, - "start": 30798, - "end": 30801, + "start": 35191, + "end": 35194, "length": 4, - "parent_index": 2163 + "parent_index": 2381 }, "body": { - "id": 2168, + "id": 2386, "node_type": 46, "kind": 0, "src": { - "line": 852, + "line": 962, "column": 4, - "start": 30789, - "end": 30823, + "start": 35182, + "end": 35216, "length": 35, - "parent_index": 2163 + "parent_index": 2381 }, "implemented": false, "statements": [] @@ -6007,40 +6031,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2164, + "id": 2382, "node_type": 43, "src": { - "line": 852, + "line": 962, "column": 18, - "start": 30803, - "end": 30812, + "start": 35196, + "end": 35205, "length": 10, - "parent_index": 2163 + "parent_index": 2381 }, "parameters": [ { - "id": 2165, + "id": 2383, "node_type": 44, "src": { - "line": 852, + "line": 962, "column": 18, - "start": 30803, - "end": 30812, + "start": 35196, + "end": 35205, "length": 10, - "parent_index": 2164 + "parent_index": 2382 }, - "scope": 2163, + "scope": 2381, "name": "to", "type_name": { - "id": 2166, + "id": 2384, "node_type": 30, "src": { - "line": 852, + "line": 962, "column": 18, - "start": 30803, - "end": 30809, + "start": 35196, + "end": 35202, "length": 7, - "parent_index": 2165 + "parent_index": 2383 }, "name": "address", "state_mutability": 4, @@ -6067,59 +6091,60 @@ ] }, "return_parameters": { - "id": 2167, + "id": 2385, "node_type": 43, "src": { - "line": 852, + "line": 962, "column": 4, - "start": 30789, - "end": 30823, + "start": 35182, + "end": 35216, "length": 35, - "parent_index": 2163 + "parent_index": 2381 }, "parameters": [], "parameter_types": [] }, "signature_raw": "skim(address)", "signature": "bc25cf77", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionskim(addressto)external;" }, { - "id": 2170, + "id": 2388, "name": "sync", "node_type": 42, "kind": 41, "src": { - "line": 853, + "line": 963, "column": 4, - "start": 30829, - "end": 30853, + "start": 35222, + "end": 35246, "length": 25, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 853, + "line": 963, "column": 13, - "start": 30838, - "end": 30841, + "start": 35231, + "end": 35234, "length": 4, - "parent_index": 2170 + "parent_index": 2388 }, "body": { - "id": 2173, + "id": 2391, "node_type": 46, "kind": 0, "src": { - "line": 853, + "line": 963, "column": 4, - "start": 30829, - "end": 30853, + "start": 35222, + "end": 35246, "length": 25, - "parent_index": 2170 + "parent_index": 2388 }, "implemented": false, "statements": [] @@ -6131,73 +6156,74 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2171, + "id": 2389, "node_type": 43, "src": { - "line": 853, + "line": 963, "column": 4, - "start": 30829, - "end": 30853, + "start": 35222, + "end": 35246, "length": 25, - "parent_index": 2170 + "parent_index": 2388 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 2172, + "id": 2390, "node_type": 43, "src": { - "line": 853, + "line": 963, "column": 4, - "start": 30829, - "end": 30853, + "start": 35222, + "end": 35246, "length": 25, - "parent_index": 2170 + "parent_index": 2388 }, "parameters": [], "parameter_types": [] }, "signature_raw": "sync()", "signature": "fff6cae9", - "scope": 1851, + "scope": 2069, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionsync()external;" }, { - "id": 2175, + "id": 2393, "name": "initialize", "node_type": 42, "kind": 41, "src": { - "line": 855, + "line": 965, "column": 4, - "start": 30860, - "end": 30906, + "start": 35253, + "end": 35299, "length": 47, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 855, + "line": 965, "column": 13, - "start": 30869, - "end": 30878, + "start": 35262, + "end": 35271, "length": 10, - "parent_index": 2175 + "parent_index": 2393 }, "body": { - "id": 2182, + "id": 2400, "node_type": 46, "kind": 0, "src": { - "line": 855, + "line": 965, "column": 4, - "start": 30860, - "end": 30906, + "start": 35253, + "end": 35299, "length": 47, - "parent_index": 2175 + "parent_index": 2393 }, "implemented": false, "statements": [] @@ -6209,40 +6235,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2176, + "id": 2394, "node_type": 43, "src": { - "line": 855, + "line": 965, "column": 24, - "start": 30880, - "end": 30895, + "start": 35273, + "end": 35288, "length": 16, - "parent_index": 2175 + "parent_index": 2393 }, "parameters": [ { - "id": 2177, + "id": 2395, "node_type": 44, "src": { - "line": 855, + "line": 965, "column": 24, - "start": 30880, - "end": 30886, + "start": 35273, + "end": 35279, "length": 7, - "parent_index": 2176 + "parent_index": 2394 }, - "scope": 2175, + "scope": 2393, "name": "", "type_name": { - "id": 2178, + "id": 2396, "node_type": 30, "src": { - "line": 855, + "line": 965, "column": 24, - "start": 30880, - "end": 30886, + "start": 35273, + "end": 35279, "length": 7, - "parent_index": 2177 + "parent_index": 2395 }, "name": "address", "state_mutability": 4, @@ -6261,28 +6287,28 @@ } }, { - "id": 2179, + "id": 2397, "node_type": 44, "src": { - "line": 855, + "line": 965, "column": 33, - "start": 30889, - "end": 30895, + "start": 35282, + "end": 35288, "length": 7, - "parent_index": 2176 + "parent_index": 2394 }, - "scope": 2175, + "scope": 2393, "name": "", "type_name": { - "id": 2180, + "id": 2398, "node_type": 30, "src": { - "line": 855, + "line": 965, "column": 33, - "start": 30889, - "end": 30895, + "start": 35282, + "end": 35288, "length": 7, - "parent_index": 2179 + "parent_index": 2397 }, "name": "address", "state_mutability": 4, @@ -6313,40 +6339,41 @@ ] }, "return_parameters": { - "id": 2181, + "id": 2399, "node_type": 43, "src": { - "line": 855, + "line": 965, "column": 4, - "start": 30860, - "end": 30906, + "start": 35253, + "end": 35299, "length": 47, - "parent_index": 2175 + "parent_index": 2393 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "initialize(address, address)", - "signature": "58e0d614", - "scope": 1851, + "signature_raw": "initialize(address,address)", + "signature": "485cc955", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functioninitialize(address,address)external;" } ], "linearized_base_contracts": [ - 1851 + 2069 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 807, + "line": 917, "column": 0, - "start": 28512, - "end": 30908, + "start": 32905, + "end": 35301, "length": 2397, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/IWETH.solgo.ast.json b/data/tests/contracts/sushixswap/IWETH.solgo.ast.json index 7c9c6224..4e361965 100644 --- a/data/tests/contracts/sushixswap/IWETH.solgo.ast.json +++ b/data/tests/contracts/sushixswap/IWETH.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 1608, + "id": 3253, "base_contracts": [], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 1608, + "id": 3253, "name": "IWETH", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IWETH.sol" } @@ -14,15 +14,15 @@ "node_type": 1, "nodes": [ { - "id": 1619, + "id": 3270, "node_type": 10, "src": { - "line": 744, + "line": 1217, "column": 0, - "start": 26817, - "end": 26839, + "start": 43795, + "end": 43817, "length": 23, - "parent_index": 1608 + "parent_index": 3253 }, "literals": [ "pragma", @@ -37,61 +37,61 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 1660, + "id": 3311, "name": "IWETH", "node_type": 35, "src": { - "line": 746, + "line": 1219, "column": 0, - "start": 26842, - "end": 27018, + "start": 43820, + "end": 43996, "length": 177, - "parent_index": 1608 + "parent_index": 3253 }, "name_location": { - "line": 746, + "line": 1219, "column": 10, - "start": 26852, - "end": 26856, + "start": 43830, + "end": 43834, "length": 5, - "parent_index": 1660 + "parent_index": 3311 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 1662, + "id": 3313, "name": "deposit", "node_type": 42, "kind": 41, "src": { - "line": 747, + "line": 1220, "column": 4, - "start": 26864, - "end": 26899, + "start": 43842, + "end": 43877, "length": 36, - "parent_index": 1660 + "parent_index": 3311 }, "name_location": { - "line": 747, + "line": 1220, "column": 13, - "start": 26873, - "end": 26879, + "start": 43851, + "end": 43857, "length": 7, - "parent_index": 1662 + "parent_index": 3313 }, "body": { - "id": 1665, + "id": 3316, "node_type": 46, "kind": 0, "src": { - "line": 747, + "line": 1220, "column": 4, - "start": 26864, - "end": 26899, + "start": 43842, + "end": 43877, "length": 36, - "parent_index": 1662 + "parent_index": 3313 }, "implemented": false, "statements": [] @@ -103,73 +103,74 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1663, + "id": 3314, "node_type": 43, "src": { - "line": 747, + "line": 1220, "column": 4, - "start": 26864, - "end": 26899, + "start": 43842, + "end": 43877, "length": 36, - "parent_index": 1662 + "parent_index": 3313 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 1664, + "id": 3315, "node_type": 43, "src": { - "line": 747, + "line": 1220, "column": 4, - "start": 26864, - "end": 26899, + "start": 43842, + "end": 43877, "length": 36, - "parent_index": 1662 + "parent_index": 3313 }, "parameters": [], "parameter_types": [] }, "signature_raw": "deposit()", "signature": "d0e30db0", - "scope": 1660, + "scope": 3311, "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functiondeposit()externalpayable;" }, { - "id": 1667, + "id": 3318, "name": "transfer", "node_type": 42, "kind": 41, "src": { - "line": 749, + "line": 1222, "column": 4, - "start": 26906, - "end": 26974, + "start": 43884, + "end": 43952, "length": 69, - "parent_index": 1660 + "parent_index": 3311 }, "name_location": { - "line": 749, + "line": 1222, "column": 13, - "start": 26915, - "end": 26922, + "start": 43893, + "end": 43900, "length": 8, - "parent_index": 1667 + "parent_index": 3318 }, "body": { - "id": 1676, + "id": 3327, "node_type": 46, "kind": 0, "src": { - "line": 749, + "line": 1222, "column": 4, - "start": 26906, - "end": 26974, + "start": 43884, + "end": 43952, "length": 69, - "parent_index": 1667 + "parent_index": 3318 }, "implemented": false, "statements": [] @@ -181,40 +182,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1668, + "id": 3319, "node_type": 43, "src": { - "line": 749, + "line": 1222, "column": 22, - "start": 26924, - "end": 26948, + "start": 43902, + "end": 43926, "length": 25, - "parent_index": 1667 + "parent_index": 3318 }, "parameters": [ { - "id": 1669, + "id": 3320, "node_type": 44, "src": { - "line": 749, + "line": 1222, "column": 22, - "start": 26924, - "end": 26933, + "start": 43902, + "end": 43911, "length": 10, - "parent_index": 1668 + "parent_index": 3319 }, - "scope": 1667, + "scope": 3318, "name": "to", "type_name": { - "id": 1670, + "id": 3321, "node_type": 30, "src": { - "line": 749, + "line": 1222, "column": 22, - "start": 26924, - "end": 26930, + "start": 43902, + "end": 43908, "length": 7, - "parent_index": 1669 + "parent_index": 3320 }, "name": "address", "state_mutability": 4, @@ -233,28 +234,28 @@ } }, { - "id": 1671, + "id": 3322, "node_type": 44, "src": { - "line": 749, + "line": 1222, "column": 34, - "start": 26936, - "end": 26948, + "start": 43914, + "end": 43926, "length": 13, - "parent_index": 1668 + "parent_index": 3319 }, - "scope": 1667, + "scope": 3318, "name": "value", "type_name": { - "id": 1672, + "id": 3323, "node_type": 30, "src": { - "line": 749, + "line": 1222, "column": 34, - "start": 26936, - "end": 26942, + "start": 43914, + "end": 43920, "length": 7, - "parent_index": 1671 + "parent_index": 3322 }, "name": "uint256", "referenced_declaration": 0, @@ -284,40 +285,40 @@ ] }, "return_parameters": { - "id": 1673, + "id": 3324, "node_type": 43, "src": { - "line": 749, + "line": 1222, "column": 67, - "start": 26969, - "end": 26972, + "start": 43947, + "end": 43950, "length": 4, - "parent_index": 1667 + "parent_index": 3318 }, "parameters": [ { - "id": 1674, + "id": 3325, "node_type": 44, "src": { - "line": 749, + "line": 1222, "column": 67, - "start": 26969, - "end": 26972, + "start": 43947, + "end": 43950, "length": 4, - "parent_index": 1673 + "parent_index": 3324 }, - "scope": 1667, + "scope": 3318, "name": "", "type_name": { - "id": 1675, + "id": 3326, "node_type": 30, "src": { - "line": 749, + "line": 1222, "column": 67, - "start": 26969, - "end": 26972, + "start": 43947, + "end": 43950, "length": 4, - "parent_index": 1674 + "parent_index": 3325 }, "name": "bool", "referenced_declaration": 0, @@ -342,46 +343,47 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", - "scope": 1660, + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", + "scope": 3311, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256value)externalreturns(bool);" }, { - "id": 1678, + "id": 3329, "name": "withdraw", "node_type": 42, "kind": 41, "src": { - "line": 751, + "line": 1224, "column": 4, - "start": 26981, - "end": 27016, + "start": 43959, + "end": 43994, "length": 36, - "parent_index": 1660 + "parent_index": 3311 }, "name_location": { - "line": 751, + "line": 1224, "column": 13, - "start": 26990, - "end": 26997, + "start": 43968, + "end": 43975, "length": 8, - "parent_index": 1678 + "parent_index": 3329 }, "body": { - "id": 1683, + "id": 3334, "node_type": 46, "kind": 0, "src": { - "line": 751, + "line": 1224, "column": 4, - "start": 26981, - "end": 27016, + "start": 43959, + "end": 43994, "length": 36, - "parent_index": 1678 + "parent_index": 3329 }, "implemented": false, "statements": [] @@ -393,40 +395,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1679, + "id": 3330, "node_type": 43, "src": { - "line": 751, + "line": 1224, "column": 22, - "start": 26999, - "end": 27005, + "start": 43977, + "end": 43983, "length": 7, - "parent_index": 1678 + "parent_index": 3329 }, "parameters": [ { - "id": 1680, + "id": 3331, "node_type": 44, "src": { - "line": 751, + "line": 1224, "column": 22, - "start": 26999, - "end": 27005, + "start": 43977, + "end": 43983, "length": 7, - "parent_index": 1679 + "parent_index": 3330 }, - "scope": 1678, + "scope": 3329, "name": "", "type_name": { - "id": 1681, + "id": 3332, "node_type": 30, "src": { - "line": 751, + "line": 1224, "column": 22, - "start": 26999, - "end": 27005, + "start": 43977, + "end": 43983, "length": 7, - "parent_index": 1680 + "parent_index": 3331 }, "name": "uint256", "referenced_declaration": 0, @@ -452,40 +454,41 @@ ] }, "return_parameters": { - "id": 1682, + "id": 3333, "node_type": 43, "src": { - "line": 751, + "line": 1224, "column": 4, - "start": 26981, - "end": 27016, + "start": 43959, + "end": 43994, "length": 36, - "parent_index": 1678 + "parent_index": 3329 }, "parameters": [], "parameter_types": [] }, "signature_raw": "withdraw(uint256)", "signature": "2e1a7d4d", - "scope": 1660, + "scope": 3311, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionwithdraw(uint256)external;" } ], "linearized_base_contracts": [ - 1660 + 3311 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 746, + "line": 1219, "column": 0, - "start": 26842, - "end": 27018, + "start": 43820, + "end": 43996, "length": 177, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/ImmutableState.solgo.ast.json b/data/tests/contracts/sushixswap/ImmutableState.solgo.ast.json index 71e61c20..9b8502b4 100644 --- a/data/tests/contracts/sushixswap/ImmutableState.solgo.ast.json +++ b/data/tests/contracts/sushixswap/ImmutableState.solgo.ast.json @@ -766,7 +766,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "right_expression": { "id": 1001, @@ -786,7 +787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1001, - "is_pure": false + "is_pure": false, + "text": "_bentoBox" }, "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", @@ -796,7 +798,8 @@ "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox=_bentoBox;" }, { "id": 1002, @@ -839,7 +842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 967, - "is_pure": false + "is_pure": false, + "text": "stargateRouter" }, "right_expression": { "id": 1005, @@ -859,7 +863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1005, - "is_pure": false + "is_pure": false, + "text": "_stargateRouter" }, "type_description": { "type_identifier": "t_contract$_IStargateRouter_$700", @@ -869,7 +874,8 @@ "type_description": { "type_identifier": "t_contract$_IStargateRouter_$700", "type_string": "contract IStargateRouter" - } + }, + "text": "stargateRouter=_stargateRouter;" }, { "id": 1006, @@ -912,7 +918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 971, - "is_pure": false + "is_pure": false, + "text": "stargateWidget" }, "right_expression": { "id": 1009, @@ -932,7 +939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1009, - "is_pure": false + "is_pure": false, + "text": "_stargateWidget" }, "type_description": { "type_identifier": "t_contract$_IStargateWidget_$797", @@ -942,7 +950,8 @@ "type_description": { "type_identifier": "t_contract$_IStargateWidget_$797", "type_string": "contract IStargateWidget" - } + }, + "text": "stargateWidget=_stargateWidget;" }, { "id": 1010, @@ -985,7 +994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 975, - "is_pure": false + "is_pure": false, + "text": "factory" }, "right_expression": { "id": 1013, @@ -1005,7 +1015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1013, - "is_pure": false + "is_pure": false, + "text": "_factory" }, "type_description": { "type_identifier": "t_address", @@ -1015,7 +1026,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "factory=_factory;" }, { "id": 1014, @@ -1058,7 +1070,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 978, - "is_pure": false + "is_pure": false, + "text": "pairCodeHash" }, "right_expression": { "id": 1017, @@ -1078,7 +1091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1017, - "is_pure": false + "is_pure": false, + "text": "_pairCodeHash" }, "type_description": { "type_identifier": "t_bytes32", @@ -1088,7 +1102,8 @@ "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" - } + }, + "text": "pairCodeHash=_pairCodeHash;" } ] } diff --git a/data/tests/contracts/sushixswap/SafeERC20.solgo.ast.json b/data/tests/contracts/sushixswap/SafeERC20.solgo.ast.json index b6745750..092e23a0 100644 --- a/data/tests/contracts/sushixswap/SafeERC20.solgo.ast.json +++ b/data/tests/contracts/sushixswap/SafeERC20.solgo.ast.json @@ -1,20 +1,20 @@ { - "id": 1373, + "id": 1442, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 1373, + "id": 1442, "name": "SafeERC20", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SafeERC20.sol" }, { - "id": 1221, + "id": 1373, "name": "IERC20", "absolute_path": "IERC20.sol" }, { - "id": 1221, + "id": 1373, "name": "Address", "absolute_path": "Address.sol" } @@ -24,15 +24,15 @@ "node_type": 1, "nodes": [ { - "id": 1383, + "id": 1453, "node_type": 10, "src": { - "line": 644, + "line": 659, "column": 0, - "start": 22967, - "end": 22989, + "start": 23264, + "end": 23286, "length": 23, - "parent_index": 1373 + "parent_index": 1442 }, "literals": [ "pragma", @@ -48,92 +48,92 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 1390, + "id": 1460, "node_type": 29, "src": { - "line": 646, + "line": 661, "column": 0, - "start": 22992, - "end": 23013, + "start": 23289, + "end": 23310, "length": 22, - "parent_index": 1373 + "parent_index": 1442 }, "absolute_path": "IERC20.sol", "file": "./IERC20.sol", - "scope": 1373, + "scope": 1442, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 1221 + "source_unit": 1373 }, { - "id": 1391, + "id": 1461, "node_type": 29, "src": { - "line": 647, + "line": 662, "column": 0, - "start": 23015, - "end": 23037, + "start": 23312, + "end": 23334, "length": 23, - "parent_index": 1373 + "parent_index": 1442 }, "absolute_path": "Address.sol", "file": "./Address.sol", - "scope": 1373, + "scope": 1442, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 1221 + "source_unit": 1373 }, { - "id": 1392, + "id": 1462, "name": "SafeERC20", "node_type": 35, "src": { - "line": 658, + "line": 673, "column": 0, - "start": 23498, - "end": 26767, + "start": 23795, + "end": 27064, "length": 3270, - "parent_index": 1373 + "parent_index": 1442 }, "name_location": { - "line": 658, + "line": 673, "column": 8, - "start": 23506, - "end": 23514, + "start": 23803, + "end": 23811, "length": 9, - "parent_index": 1392 + "parent_index": 1462 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 1394, + "id": 1464, "node_type": 51, "src": { - "line": 659, + "line": 674, "column": 0, - "start": 23522, - "end": 23547, + "start": 23819, + "end": 23844, "length": 26, - "parent_index": 1392 + "parent_index": 1462 }, "type_description": { "type_identifier": "t_address", "type_string": "address" }, "type_name": { - "id": 1396, + "id": 1466, "node_type": 30, "src": { - "line": 659, + "line": 674, "column": 22, - "start": 23540, - "end": 23546, + "start": 23837, + "end": 23843, "length": 7, - "parent_index": 1394 + "parent_index": 1464 }, "name": "address", "state_mutability": 4, @@ -144,66 +144,66 @@ } }, "library_name": { - "id": 1395, + "id": 1465, "node_type": 52, "src": { - "line": 659, + "line": 674, "column": 0, - "start": 23528, - "end": 23534, + "start": 23825, + "end": 23831, "length": 7, - "parent_index": 1394 + "parent_index": 1464 }, "name": "Address", "referenced_declaration": 273 } }, { - "id": 1398, + "id": 1468, "name": "safeTransfer", "node_type": 42, "kind": 41, "src": { - "line": 661, + "line": 676, "column": 4, - "start": 23554, - "end": 23758, + "start": 23851, + "end": 24055, "length": 205, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 661, + "line": 676, "column": 13, - "start": 23563, - "end": 23574, + "start": 23860, + "end": 23871, "length": 12, - "parent_index": 1398 + "parent_index": 1468 }, "body": { - "id": 1408, + "id": 1478, "node_type": 46, "kind": 0, "src": { - "line": 665, + "line": 680, "column": 15, - "start": 23656, - "end": 23758, + "start": 23953, + "end": 24055, "length": 103, - "parent_index": 1398 + "parent_index": 1468 }, "implemented": true, "statements": [ { - "id": 1409, + "id": 1479, "node_type": 24, "kind": 24, "src": { - "line": 666, + "line": 681, "column": 8, - "start": 23666, - "end": 23751, + "start": 23963, + "end": 24048, "length": 86, - "parent_index": 1408 + "parent_index": 1478 }, "argument_types": [ { @@ -217,15 +217,15 @@ ], "arguments": [ { - "id": 1411, + "id": 1481, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 28, - "start": 23686, - "end": 23690, + "start": 23983, + "end": 23987, "length": 5, - "parent_index": 1409 + "parent_index": 1479 }, "name": "token", "type_description": { @@ -233,20 +233,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1411, - "is_pure": false + "referenced_declaration": 1481, + "is_pure": false, + "text": "token" }, { - "id": 1412, + "id": 1482, "node_type": 24, "kind": 24, "src": { - "line": 666, + "line": 681, "column": 35, - "start": 23693, - "end": 23750, + "start": 23990, + "end": 24047, "length": 58, - "parent_index": 1409 + "parent_index": 1479 }, "argument_types": [ { @@ -264,61 +265,61 @@ ], "arguments": [ { - "id": 1415, + "id": 1485, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 666, + "line": 681, "column": 58, - "start": 23716, - "end": 23738, + "start": 24013, + "end": 24035, "length": 23, - "parent_index": 1412 + "parent_index": 1482 }, "member_location": { - "line": 666, + "line": 681, "column": 73, - "start": 23731, - "end": 23738, + "start": 24028, + "end": 24035, "length": 8, - "parent_index": 1415 + "parent_index": 1485 }, "expression": { - "id": 1416, + "id": 1486, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 666, + "line": 681, "column": 58, - "start": 23716, - "end": 23729, + "start": 24013, + "end": 24026, "length": 14, - "parent_index": 1415 + "parent_index": 1485 }, "member_location": { - "line": 666, + "line": 681, "column": 64, - "start": 23722, - "end": 23729, + "start": 24019, + "end": 24026, "length": 8, - "parent_index": 1416 + "parent_index": 1486 }, "expression": { - "id": 1417, + "id": 1487, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 58, - "start": 23716, - "end": 23720, + "start": 24013, + "end": 24017, "length": 5, - "parent_index": 1416 + "parent_index": 1486 }, "name": "token", "type_description": { @@ -326,33 +327,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1417, - "is_pure": false + "referenced_declaration": 1487, + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { - "id": 1418, + "id": 1488, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 83, - "start": 23741, - "end": 23742, + "start": 24038, + "end": 24039, "length": 2, - "parent_index": 1412 + "parent_index": 1482 }, "name": "to", "type_description": { @@ -360,25 +364,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1418, + "referenced_declaration": 1488, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { - "id": 1419, + "id": 1489, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 87, - "start": 23745, - "end": 23749, + "start": 24042, + "end": 24046, "length": 5, - "parent_index": 1412 + "parent_index": 1482 }, "name": "value", "type_description": { @@ -386,7 +391,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1419, + "referenced_declaration": 1489, "is_pure": false, "argument_types": [ { @@ -397,42 +402,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { - "id": 1413, + "id": 1483, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 666, + "line": 681, "column": 35, - "start": 23693, - "end": 23714, + "start": 23990, + "end": 24011, "length": 22, - "parent_index": 1412 + "parent_index": 1482 }, "member_location": { - "line": 666, + "line": 681, "column": 39, - "start": 23697, - "end": 23714, + "start": 23994, + "end": 24011, "length": 18, - "parent_index": 1413 + "parent_index": 1483 }, "expression": { - "id": 1414, + "id": 1484, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 35, - "start": 23693, - "end": 23695, + "start": 23990, + "end": 23992, "length": 3, - "parent_index": 1413 + "parent_index": 1483 }, "name": "abi", "type_description": { @@ -441,14 +447,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -457,15 +465,15 @@ } ], "expression": { - "id": 1410, + "id": 1480, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 8, - "start": 23666, - "end": 23684, + "start": 23963, + "end": 23981, "length": 19, - "parent_index": 1409 + "parent_index": 1479 }, "name": "_callOptionalReturn", "type_description": { @@ -474,7 +482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -490,61 +499,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1399, + "id": 1469, "node_type": 43, "src": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23639, + "start": 23882, + "end": 23936, "length": 55, - "parent_index": 1398 + "parent_index": 1468 }, "parameters": [ { - "id": 1400, + "id": 1470, "node_type": 44, "src": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23596, + "start": 23882, + "end": 23893, "length": 12, - "parent_index": 1399 + "parent_index": 1469 }, - "scope": 1398, + "scope": 1468, "name": "token", "type_name": { - "id": 1401, + "id": 1471, "node_type": 69, "src": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23590, + "start": 23882, + "end": 23887, "length": 6, - "parent_index": 1400 + "parent_index": 1470 }, "path_node": { - "id": 1402, + "id": 1472, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23590, + "start": 23882, + "end": 23887, "length": 6, - "parent_index": 1401 + "parent_index": 1471 }, "name_location": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23590, + "start": 23882, + "end": 23887, "length": 6, - "parent_index": 1401 + "parent_index": 1471 } }, "referenced_declaration": 1089, @@ -562,28 +571,28 @@ } }, { - "id": 1403, + "id": 1473, "node_type": 44, "src": { - "line": 663, + "line": 678, "column": 8, - "start": 23607, - "end": 23616, + "start": 23904, + "end": 23913, "length": 10, - "parent_index": 1399 + "parent_index": 1469 }, - "scope": 1398, + "scope": 1468, "name": "to", "type_name": { - "id": 1404, + "id": 1474, "node_type": 30, "src": { - "line": 663, + "line": 678, "column": 8, - "start": 23607, - "end": 23613, + "start": 23904, + "end": 23910, "length": 7, - "parent_index": 1403 + "parent_index": 1473 }, "name": "address", "state_mutability": 4, @@ -602,28 +611,28 @@ } }, { - "id": 1405, + "id": 1475, "node_type": 44, "src": { - "line": 664, + "line": 679, "column": 8, - "start": 23627, - "end": 23639, + "start": 23924, + "end": 23936, "length": 13, - "parent_index": 1399 + "parent_index": 1469 }, - "scope": 1398, + "scope": 1468, "name": "value", "type_name": { - "id": 1406, + "id": 1476, "node_type": 30, "src": { - "line": 664, + "line": 679, "column": 8, - "start": 23627, - "end": 23633, + "start": 23924, + "end": 23930, "length": 7, - "parent_index": 1405 + "parent_index": 1475 }, "name": "uint256", "referenced_declaration": 0, @@ -657,73 +666,74 @@ ] }, "return_parameters": { - "id": 1407, + "id": 1477, "node_type": 43, "src": { - "line": 661, + "line": 676, "column": 4, - "start": 23554, - "end": 23758, + "start": 23851, + "end": 24055, "length": 205, - "parent_index": 1398 + "parent_index": 1468 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", - "scope": 1392, + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { - "id": 1421, + "id": 1491, "name": "safeTransferFrom", "node_type": 42, "kind": 41, "src": { - "line": 669, + "line": 684, "column": 4, - "start": 23765, - "end": 24005, + "start": 24062, + "end": 24302, "length": 241, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 669, + "line": 684, "column": 13, - "start": 23774, - "end": 23789, + "start": 24071, + "end": 24086, "length": 16, - "parent_index": 1421 + "parent_index": 1491 }, "body": { - "id": 1433, + "id": 1503, "node_type": 46, "kind": 0, "src": { - "line": 674, + "line": 689, "column": 15, - "start": 23893, - "end": 24005, + "start": 24190, + "end": 24302, "length": 113, - "parent_index": 1421 + "parent_index": 1491 }, "implemented": true, "statements": [ { - "id": 1434, + "id": 1504, "node_type": 24, "kind": 24, "src": { - "line": 675, + "line": 690, "column": 8, - "start": 23903, - "end": 23998, + "start": 24200, + "end": 24295, "length": 96, - "parent_index": 1433 + "parent_index": 1503 }, "argument_types": [ { @@ -737,15 +747,15 @@ ], "arguments": [ { - "id": 1436, + "id": 1506, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 28, - "start": 23923, - "end": 23927, + "start": 24220, + "end": 24224, "length": 5, - "parent_index": 1434 + "parent_index": 1504 }, "name": "token", "type_description": { @@ -753,20 +763,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1436, - "is_pure": false + "referenced_declaration": 1506, + "is_pure": false, + "text": "token" }, { - "id": 1437, + "id": 1507, "node_type": 24, "kind": 24, "src": { - "line": 675, + "line": 690, "column": 35, - "start": 23930, - "end": 23997, + "start": 24227, + "end": 24294, "length": 68, - "parent_index": 1434 + "parent_index": 1504 }, "argument_types": [ { @@ -788,61 +799,61 @@ ], "arguments": [ { - "id": 1440, + "id": 1510, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 675, + "line": 690, "column": 58, - "start": 23953, - "end": 23979, + "start": 24250, + "end": 24276, "length": 27, - "parent_index": 1437 + "parent_index": 1507 }, "member_location": { - "line": 675, + "line": 690, "column": 77, - "start": 23972, - "end": 23979, + "start": 24269, + "end": 24276, "length": 8, - "parent_index": 1440 + "parent_index": 1510 }, "expression": { - "id": 1441, + "id": 1511, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 675, + "line": 690, "column": 58, - "start": 23953, - "end": 23970, + "start": 24250, + "end": 24267, "length": 18, - "parent_index": 1440 + "parent_index": 1510 }, "member_location": { - "line": 675, + "line": 690, "column": 64, - "start": 23959, - "end": 23970, + "start": 24256, + "end": 24267, "length": 12, - "parent_index": 1441 + "parent_index": 1511 }, "expression": { - "id": 1442, + "id": 1512, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 58, - "start": 23953, - "end": 23957, + "start": 24250, + "end": 24254, "length": 5, - "parent_index": 1441 + "parent_index": 1511 }, "name": "token", "type_description": { @@ -850,33 +861,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1442, - "is_pure": false + "referenced_declaration": 1512, + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { - "id": 1443, + "id": 1513, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 87, - "start": 23982, - "end": 23985, + "start": 24279, + "end": 24282, "length": 4, - "parent_index": 1437 + "parent_index": 1507 }, "name": "from", "type_description": { @@ -884,25 +898,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1443, + "referenced_declaration": 1513, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { - "id": 1444, + "id": 1514, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 93, - "start": 23988, - "end": 23989, + "start": 24285, + "end": 24286, "length": 2, - "parent_index": 1437 + "parent_index": 1507 }, "name": "to", "type_description": { @@ -910,7 +925,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1444, + "referenced_declaration": 1514, "is_pure": false, "argument_types": [ { @@ -921,18 +936,19 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { - "id": 1445, + "id": 1515, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 97, - "start": 23992, - "end": 23996, + "start": 24289, + "end": 24293, "length": 5, - "parent_index": 1437 + "parent_index": 1507 }, "name": "value", "type_description": { @@ -940,7 +956,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1445, + "referenced_declaration": 1515, "is_pure": false, "argument_types": [ { @@ -955,42 +971,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { - "id": 1438, + "id": 1508, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 675, + "line": 690, "column": 35, - "start": 23930, - "end": 23951, + "start": 24227, + "end": 24248, "length": 22, - "parent_index": 1437 + "parent_index": 1507 }, "member_location": { - "line": 675, + "line": 690, "column": 39, - "start": 23934, - "end": 23951, + "start": 24231, + "end": 24248, "length": 18, - "parent_index": 1438 + "parent_index": 1508 }, "expression": { - "id": 1439, + "id": 1509, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 35, - "start": 23930, - "end": 23932, + "start": 24227, + "end": 24229, "length": 3, - "parent_index": 1438 + "parent_index": 1508 }, "name": "abi", "type_description": { @@ -999,14 +1016,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -1015,15 +1034,15 @@ } ], "expression": { - "id": 1435, + "id": 1505, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 8, - "start": 23903, - "end": 23921, + "start": 24200, + "end": 24218, "length": 19, - "parent_index": 1434 + "parent_index": 1504 }, "name": "_callOptionalReturn", "type_description": { @@ -1032,7 +1051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -1048,61 +1068,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1422, + "id": 1492, "node_type": 43, "src": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23876, + "start": 24097, + "end": 24173, "length": 77, - "parent_index": 1421 + "parent_index": 1491 }, "parameters": [ { - "id": 1423, + "id": 1493, "node_type": 44, "src": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23811, + "start": 24097, + "end": 24108, "length": 12, - "parent_index": 1422 + "parent_index": 1492 }, - "scope": 1421, + "scope": 1491, "name": "token", "type_name": { - "id": 1424, + "id": 1494, "node_type": 69, "src": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23805, + "start": 24097, + "end": 24102, "length": 6, - "parent_index": 1423 + "parent_index": 1493 }, "path_node": { - "id": 1425, + "id": 1495, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23805, + "start": 24097, + "end": 24102, "length": 6, - "parent_index": 1424 + "parent_index": 1494 }, "name_location": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23805, + "start": 24097, + "end": 24102, "length": 6, - "parent_index": 1424 + "parent_index": 1494 } }, "referenced_declaration": 1089, @@ -1120,28 +1140,28 @@ } }, { - "id": 1426, + "id": 1496, "node_type": 44, "src": { - "line": 671, + "line": 686, "column": 8, - "start": 23822, - "end": 23833, + "start": 24119, + "end": 24130, "length": 12, - "parent_index": 1422 + "parent_index": 1492 }, - "scope": 1421, + "scope": 1491, "name": "from", "type_name": { - "id": 1427, + "id": 1497, "node_type": 30, "src": { - "line": 671, + "line": 686, "column": 8, - "start": 23822, - "end": 23828, + "start": 24119, + "end": 24125, "length": 7, - "parent_index": 1426 + "parent_index": 1496 }, "name": "address", "state_mutability": 4, @@ -1160,28 +1180,28 @@ } }, { - "id": 1428, + "id": 1498, "node_type": 44, "src": { - "line": 672, + "line": 687, "column": 8, - "start": 23844, - "end": 23853, + "start": 24141, + "end": 24150, "length": 10, - "parent_index": 1422 + "parent_index": 1492 }, - "scope": 1421, + "scope": 1491, "name": "to", "type_name": { - "id": 1429, + "id": 1499, "node_type": 30, "src": { - "line": 672, + "line": 687, "column": 8, - "start": 23844, - "end": 23850, + "start": 24141, + "end": 24147, "length": 7, - "parent_index": 1428 + "parent_index": 1498 }, "name": "address", "state_mutability": 4, @@ -1200,28 +1220,28 @@ } }, { - "id": 1430, + "id": 1500, "node_type": 44, "src": { - "line": 673, + "line": 688, "column": 8, - "start": 23864, - "end": 23876, + "start": 24161, + "end": 24173, "length": 13, - "parent_index": 1422 + "parent_index": 1492 }, - "scope": 1421, + "scope": 1491, "name": "value", "type_name": { - "id": 1431, + "id": 1501, "node_type": 30, "src": { - "line": 673, + "line": 688, "column": 8, - "start": 23864, - "end": 23870, + "start": 24161, + "end": 24167, "length": 7, - "parent_index": 1430 + "parent_index": 1500 }, "name": "uint256", "referenced_declaration": 0, @@ -1259,73 +1279,74 @@ ] }, "return_parameters": { - "id": 1432, + "id": 1502, "node_type": 43, "src": { - "line": 669, + "line": 684, "column": 4, - "start": 23765, - "end": 24005, + "start": 24062, + "end": 24302, "length": 241, - "parent_index": 1421 + "parent_index": 1491 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", - "scope": 1392, + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { - "id": 1447, + "id": 1517, "name": "safeApprove", "node_type": 42, "kind": 41, "src": { - "line": 685, + "line": 700, "column": 4, - "start": 24266, - "end": 24868, + "start": 24563, + "end": 25165, "length": 603, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 685, + "line": 700, "column": 13, - "start": 24275, - "end": 24285, + "start": 24572, + "end": 24582, "length": 11, - "parent_index": 1447 + "parent_index": 1517 }, "body": { - "id": 1457, + "id": 1527, "node_type": 46, "kind": 0, "src": { - "line": 689, + "line": 704, "column": 15, - "start": 24372, - "end": 24868, + "start": 24669, + "end": 25165, "length": 497, - "parent_index": 1447 + "parent_index": 1517 }, "implemented": true, "statements": [ { - "id": 1458, + "id": 1528, "node_type": 24, "kind": 24, "src": { - "line": 693, + "line": 708, "column": 8, - "start": 24599, - "end": 24761, + "start": 24896, + "end": 25058, "length": 163, - "parent_index": 1457 + "parent_index": 1527 }, "argument_types": [ { @@ -1339,57 +1360,57 @@ ], "arguments": [ { - "id": 1460, + "id": 1530, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 694, + "line": 709, "column": 12, - "start": 24620, - "end": 24681, + "start": 24917, + "end": 24978, "length": 62, - "parent_index": 1458 + "parent_index": 1528 }, "operator": 33, "left_expression": { - "id": 1461, + "id": 1531, "node_type": 60, "src": { - "line": 694, + "line": 709, "column": 12, - "start": 24620, - "end": 24631, + "start": 24917, + "end": 24928, "length": 12, - "parent_index": 1460 + "parent_index": 1530 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 1462, + "id": 1532, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 694, + "line": 709, "column": 13, - "start": 24621, - "end": 24630, + "start": 24918, + "end": 24927, "length": 10, - "parent_index": 1461 + "parent_index": 1531 }, "operator": 11, "left_expression": { - "id": 1463, + "id": 1533, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 13, - "start": 24621, - "end": 24625, + "start": 24918, + "end": 24922, "length": 5, - "parent_index": 1462 + "parent_index": 1532 }, "name": "value", "type_description": { @@ -1397,22 +1418,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1463, - "is_pure": false + "referenced_declaration": 1533, + "is_pure": false, + "text": "value" }, "right_expression": { - "id": 1464, + "id": 1534, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 694, + "line": 709, "column": 22, - "start": 24630, - "end": 24630, + "start": 24927, + "end": 24927, "length": 1, - "parent_index": 1462 + "parent_index": 1532 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1420,7 +1442,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1434,44 +1457,44 @@ } }, "right_expression": { - "id": 1465, + "id": 1535, "node_type": 60, "src": { - "line": 694, + "line": 709, "column": 28, - "start": 24636, - "end": 24681, + "start": 24933, + "end": 24978, "length": 46, - "parent_index": 1460 + "parent_index": 1530 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 1466, + "id": 1536, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 694, + "line": 709, "column": 29, - "start": 24637, - "end": 24680, + "start": 24934, + "end": 24977, "length": 44, - "parent_index": 1465 + "parent_index": 1535 }, "operator": 11, "left_expression": { - "id": 1467, + "id": 1537, "node_type": 24, "kind": 24, "src": { - "line": 694, + "line": 709, "column": 29, - "start": 24637, - "end": 24675, + "start": 24934, + "end": 24972, "length": 39, - "parent_index": 1466 + "parent_index": 1536 }, "argument_types": [ { @@ -1485,67 +1508,68 @@ ], "arguments": [ { - "id": 1470, + "id": 1540, "node_type": 24, "kind": 24, "src": { - "line": 694, + "line": 709, "column": 45, - "start": 24653, - "end": 24665, + "start": 24950, + "end": 24962, "length": 13, - "parent_index": 1467 + "parent_index": 1537 }, "argument_types": [ { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" } ], "arguments": [ { - "id": 1473, + "id": 1543, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 53, - "start": 24661, - "end": 24664, + "start": 24958, + "end": 24961, "length": 4, - "parent_index": 1470 + "parent_index": 1540 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 1471, + "id": 1541, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 45, - "start": 24653, - "end": 24659, + "start": 24950, + "end": 24956, "length": 7, - "parent_index": 1470 + "parent_index": 1540 }, "name": "address", "type_name": { - "id": 1472, + "id": 1542, "node_type": 30, "src": { - "line": 694, + "line": 709, "column": 45, - "start": 24653, - "end": 24659, + "start": 24950, + "end": 24956, "length": 7, - "parent_index": 1471 + "parent_index": 1541 }, "name": "address", "state_mutability": 4, @@ -1567,7 +1591,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1575,15 +1600,15 @@ } }, { - "id": 1474, + "id": 1544, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 60, - "start": 24668, - "end": 24674, + "start": 24965, + "end": 24971, "length": 7, - "parent_index": 1467 + "parent_index": 1537 }, "name": "spender", "type_description": { @@ -1591,49 +1616,50 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1474, + "referenced_declaration": 1544, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { - "id": 1468, + "id": 1538, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 694, + "line": 709, "column": 29, - "start": 24637, - "end": 24651, + "start": 24934, + "end": 24948, "length": 15, - "parent_index": 1467 + "parent_index": 1537 }, "member_location": { - "line": 694, + "line": 709, "column": 35, - "start": 24643, - "end": 24651, + "start": 24940, + "end": 24948, "length": 9, - "parent_index": 1468 + "parent_index": 1538 }, "expression": { - "id": 1469, + "id": 1539, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 29, - "start": 24637, - "end": 24641, + "start": 24934, + "end": 24938, "length": 5, - "parent_index": 1468 + "parent_index": 1538 }, "name": "token", "type_description": { @@ -1641,15 +1667,17 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1469, - "is_pure": false + "referenced_declaration": 1539, + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -1657,18 +1685,18 @@ } }, "right_expression": { - "id": 1475, + "id": 1545, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 694, + "line": 709, "column": 72, - "start": 24680, - "end": 24680, + "start": 24977, + "end": 24977, "length": 1, - "parent_index": 1466 + "parent_index": 1536 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1676,7 +1704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1695,18 +1724,18 @@ } }, { - "id": 1476, + "id": 1546, "node_type": 17, "kind": 50, "value": "SafeERC20: approve from non-zero to non-zero allowance", "hex_value": "5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365", "src": { - "line": 695, + "line": 710, "column": 12, - "start": 24696, - "end": 24751, + "start": 24993, + "end": 25048, "length": 56, - "parent_index": 1458 + "parent_index": 1528 }, "type_description": { "type_identifier": "t_string_literal", @@ -1720,19 +1749,20 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { - "id": 1459, + "id": 1529, "node_type": 16, "src": { - "line": 693, + "line": 708, "column": 8, - "start": 24599, - "end": 24605, + "start": 24896, + "end": 24902, "length": 7, - "parent_index": 1458 + "parent_index": 1528 }, "name": "require", "type_description": { @@ -1741,7 +1771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -1749,16 +1780,16 @@ } }, { - "id": 1477, + "id": 1547, "node_type": 24, "kind": 24, "src": { - "line": 697, + "line": 712, "column": 8, - "start": 24772, - "end": 24861, + "start": 25069, + "end": 25158, "length": 90, - "parent_index": 1457 + "parent_index": 1527 }, "argument_types": [ { @@ -1772,15 +1803,15 @@ ], "arguments": [ { - "id": 1479, + "id": 1549, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 28, - "start": 24792, - "end": 24796, + "start": 25089, + "end": 25093, "length": 5, - "parent_index": 1477 + "parent_index": 1547 }, "name": "token", "type_description": { @@ -1788,20 +1819,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1479, - "is_pure": false + "referenced_declaration": 1549, + "is_pure": false, + "text": "token" }, { - "id": 1480, + "id": 1550, "node_type": 24, "kind": 24, "src": { - "line": 697, + "line": 712, "column": 35, - "start": 24799, - "end": 24860, + "start": 25096, + "end": 25157, "length": 62, - "parent_index": 1477 + "parent_index": 1547 }, "argument_types": [ { @@ -1819,61 +1851,61 @@ ], "arguments": [ { - "id": 1483, + "id": 1553, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 697, + "line": 712, "column": 58, - "start": 24822, - "end": 24843, + "start": 25119, + "end": 25140, "length": 22, - "parent_index": 1480 + "parent_index": 1550 }, "member_location": { - "line": 697, + "line": 712, "column": 72, - "start": 24836, - "end": 24843, + "start": 25133, + "end": 25140, "length": 8, - "parent_index": 1483 + "parent_index": 1553 }, "expression": { - "id": 1484, + "id": 1554, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 697, + "line": 712, "column": 58, - "start": 24822, - "end": 24834, + "start": 25119, + "end": 25131, "length": 13, - "parent_index": 1483 + "parent_index": 1553 }, "member_location": { - "line": 697, + "line": 712, "column": 64, - "start": 24828, - "end": 24834, + "start": 25125, + "end": 25131, "length": 7, - "parent_index": 1484 + "parent_index": 1554 }, "expression": { - "id": 1485, + "id": 1555, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 58, - "start": 24822, - "end": 24826, + "start": 25119, + "end": 25123, "length": 5, - "parent_index": 1484 + "parent_index": 1554 }, "name": "token", "type_description": { @@ -1881,33 +1913,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1485, - "is_pure": false + "referenced_declaration": 1555, + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { - "id": 1486, + "id": 1556, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 82, - "start": 24846, - "end": 24852, + "start": 25143, + "end": 25149, "length": 7, - "parent_index": 1480 + "parent_index": 1550 }, "name": "spender", "type_description": { @@ -1915,25 +1950,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1486, + "referenced_declaration": 1556, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { - "id": 1487, + "id": 1557, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 91, - "start": 24855, - "end": 24859, + "start": 25152, + "end": 25156, "length": 5, - "parent_index": 1480 + "parent_index": 1550 }, "name": "value", "type_description": { @@ -1941,7 +1977,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1487, + "referenced_declaration": 1557, "is_pure": false, "argument_types": [ { @@ -1952,42 +1988,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { - "id": 1481, + "id": 1551, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 697, + "line": 712, "column": 35, - "start": 24799, - "end": 24820, + "start": 25096, + "end": 25117, "length": 22, - "parent_index": 1480 + "parent_index": 1550 }, "member_location": { - "line": 697, + "line": 712, "column": 39, - "start": 24803, - "end": 24820, + "start": 25100, + "end": 25117, "length": 18, - "parent_index": 1481 + "parent_index": 1551 }, "expression": { - "id": 1482, + "id": 1552, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 35, - "start": 24799, - "end": 24801, + "start": 25096, + "end": 25098, "length": 3, - "parent_index": 1481 + "parent_index": 1551 }, "name": "abi", "type_description": { @@ -1996,14 +2033,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2012,15 +2051,15 @@ } ], "expression": { - "id": 1478, + "id": 1548, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 8, - "start": 24772, - "end": 24790, + "start": 25069, + "end": 25087, "length": 19, - "parent_index": 1477 + "parent_index": 1547 }, "name": "_callOptionalReturn", "type_description": { @@ -2029,7 +2068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2045,61 +2085,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1448, + "id": 1518, "node_type": 43, "src": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24355, + "start": 24593, + "end": 24652, "length": 60, - "parent_index": 1447 + "parent_index": 1517 }, "parameters": [ { - "id": 1449, + "id": 1519, "node_type": 44, "src": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24307, + "start": 24593, + "end": 24604, "length": 12, - "parent_index": 1448 + "parent_index": 1518 }, - "scope": 1447, + "scope": 1517, "name": "token", "type_name": { - "id": 1450, + "id": 1520, "node_type": 69, "src": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24301, + "start": 24593, + "end": 24598, "length": 6, - "parent_index": 1449 + "parent_index": 1519 }, "path_node": { - "id": 1451, + "id": 1521, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24301, + "start": 24593, + "end": 24598, "length": 6, - "parent_index": 1450 + "parent_index": 1520 }, "name_location": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24301, + "start": 24593, + "end": 24598, "length": 6, - "parent_index": 1450 + "parent_index": 1520 } }, "referenced_declaration": 1089, @@ -2117,28 +2157,28 @@ } }, { - "id": 1452, + "id": 1522, "node_type": 44, "src": { - "line": 687, + "line": 702, "column": 8, - "start": 24318, - "end": 24332, + "start": 24615, + "end": 24629, "length": 15, - "parent_index": 1448 + "parent_index": 1518 }, - "scope": 1447, + "scope": 1517, "name": "spender", "type_name": { - "id": 1453, + "id": 1523, "node_type": 30, "src": { - "line": 687, + "line": 702, "column": 8, - "start": 24318, - "end": 24324, + "start": 24615, + "end": 24621, "length": 7, - "parent_index": 1452 + "parent_index": 1522 }, "name": "address", "state_mutability": 4, @@ -2157,28 +2197,28 @@ } }, { - "id": 1454, + "id": 1524, "node_type": 44, "src": { - "line": 688, + "line": 703, "column": 8, - "start": 24343, - "end": 24355, + "start": 24640, + "end": 24652, "length": 13, - "parent_index": 1448 + "parent_index": 1518 }, - "scope": 1447, + "scope": 1517, "name": "value", "type_name": { - "id": 1455, + "id": 1525, "node_type": 30, "src": { - "line": 688, + "line": 703, "column": 8, - "start": 24343, - "end": 24349, + "start": 24640, + "end": 24646, "length": 7, - "parent_index": 1454 + "parent_index": 1524 }, "name": "uint256", "referenced_declaration": 0, @@ -2212,111 +2252,112 @@ ] }, "return_parameters": { - "id": 1456, + "id": 1526, "node_type": 43, "src": { - "line": 685, + "line": 700, "column": 4, - "start": 24266, - "end": 24868, + "start": 24563, + "end": 25165, "length": 603, - "parent_index": 1447 + "parent_index": 1517 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", - "scope": 1392, + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { - "id": 1489, + "id": 1559, "name": "safeIncreaseAllowance", "node_type": 42, "kind": 41, "src": { - "line": 700, + "line": 715, "column": 4, - "start": 24875, - "end": 25184, + "start": 25172, + "end": 25481, "length": 310, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 700, + "line": 715, "column": 13, - "start": 24884, - "end": 24904, + "start": 25181, + "end": 25201, "length": 21, - "parent_index": 1489 + "parent_index": 1559 }, "body": { - "id": 1499, + "id": 1569, "node_type": 46, "kind": 0, "src": { - "line": 704, + "line": 719, "column": 15, - "start": 24991, - "end": 25184, + "start": 25288, + "end": 25481, "length": 194, - "parent_index": 1489 + "parent_index": 1559 }, "implemented": true, "statements": [ { - "id": 1500, + "id": 1570, "node_type": 44, "src": { - "line": 705, + "line": 720, "column": 8, - "start": 25001, - "end": 25071, + "start": 25298, + "end": 25368, "length": 71, - "parent_index": 1499 + "parent_index": 1569 }, "assignments": [ - 1501 + 1571 ], "declarations": [ { - "id": 1501, + "id": 1571, "state_mutability": 1, "name": "newAllowance", "node_type": 44, - "scope": 1499, + "scope": 1569, "src": { - "line": 705, + "line": 720, "column": 8, - "start": 25001, - "end": 25020, + "start": 25298, + "end": 25317, "length": 20, - "parent_index": 1500 + "parent_index": 1570 }, "name_location": { - "line": 705, + "line": 720, "column": 16, - "start": 25009, - "end": 25020, + "start": 25306, + "end": 25317, "length": 12, - "parent_index": 1501 + "parent_index": 1571 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1502, + "id": 1572, "node_type": 30, "src": { - "line": 705, + "line": 720, "column": 8, - "start": 25001, - "end": 25007, + "start": 25298, + "end": 25304, "length": 7, - "parent_index": 1501 + "parent_index": 1571 }, "name": "uint256", "referenced_declaration": 0, @@ -2329,30 +2370,30 @@ } ], "initial_value": { - "id": 1503, + "id": 1573, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 705, + "line": 720, "column": 31, - "start": 25024, - "end": 25070, + "start": 25321, + "end": 25367, "length": 47, - "parent_index": 1500 + "parent_index": 1570 }, "operator": 1, "left_expression": { - "id": 1504, + "id": 1574, "node_type": 24, "kind": 24, "src": { - "line": 705, + "line": 720, "column": 31, - "start": 25024, - "end": 25062, + "start": 25321, + "end": 25359, "length": 39, - "parent_index": 1500 + "parent_index": 1570 }, "argument_types": [ { @@ -2366,67 +2407,68 @@ ], "arguments": [ { - "id": 1507, + "id": 1577, "node_type": 24, "kind": 24, "src": { - "line": 705, + "line": 720, "column": 47, - "start": 25040, - "end": 25052, + "start": 25337, + "end": 25349, "length": 13, - "parent_index": 1504 + "parent_index": 1574 }, "argument_types": [ { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" } ], "arguments": [ { - "id": 1510, + "id": 1580, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 55, - "start": 25048, - "end": 25051, + "start": 25345, + "end": 25348, "length": 4, - "parent_index": 1507 + "parent_index": 1577 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 1508, + "id": 1578, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 47, - "start": 25040, - "end": 25046, + "start": 25337, + "end": 25343, "length": 7, - "parent_index": 1507 + "parent_index": 1577 }, "name": "address", "type_name": { - "id": 1509, + "id": 1579, "node_type": 30, "src": { - "line": 705, + "line": 720, "column": 47, - "start": 25040, - "end": 25046, + "start": 25337, + "end": 25343, "length": 7, - "parent_index": 1508 + "parent_index": 1578 }, "name": "address", "state_mutability": 4, @@ -2448,7 +2490,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2456,15 +2499,15 @@ } }, { - "id": 1511, + "id": 1581, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 62, - "start": 25055, - "end": 25061, + "start": 25352, + "end": 25358, "length": 7, - "parent_index": 1504 + "parent_index": 1574 }, "name": "spender", "type_description": { @@ -2472,49 +2515,50 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1511, + "referenced_declaration": 1581, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { - "id": 1505, + "id": 1575, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 705, + "line": 720, "column": 31, - "start": 25024, - "end": 25038, + "start": 25321, + "end": 25335, "length": 15, - "parent_index": 1504 + "parent_index": 1574 }, "member_location": { - "line": 705, + "line": 720, "column": 37, - "start": 25030, - "end": 25038, + "start": 25327, + "end": 25335, "length": 9, - "parent_index": 1505 + "parent_index": 1575 }, "expression": { - "id": 1506, + "id": 1576, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 31, - "start": 25024, - "end": 25028, + "start": 25321, + "end": 25325, "length": 5, - "parent_index": 1505 + "parent_index": 1575 }, "name": "token", "type_description": { @@ -2522,15 +2566,17 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1506, - "is_pure": false + "referenced_declaration": 1576, + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2538,15 +2584,15 @@ } }, "right_expression": { - "id": 1512, + "id": 1582, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 73, - "start": 25066, - "end": 25070, + "start": 25363, + "end": 25367, "length": 5, - "parent_index": 1503 + "parent_index": 1573 }, "name": "value", "type_description": { @@ -2554,8 +2600,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1512, - "is_pure": false + "referenced_declaration": 1582, + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -2564,16 +2611,16 @@ } }, { - "id": 1513, + "id": 1583, "node_type": 24, "kind": 24, "src": { - "line": 706, + "line": 721, "column": 8, - "start": 25081, - "end": 25177, + "start": 25378, + "end": 25474, "length": 97, - "parent_index": 1499 + "parent_index": 1569 }, "argument_types": [ { @@ -2587,15 +2634,15 @@ ], "arguments": [ { - "id": 1515, + "id": 1585, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 28, - "start": 25101, - "end": 25105, + "start": 25398, + "end": 25402, "length": 5, - "parent_index": 1513 + "parent_index": 1583 }, "name": "token", "type_description": { @@ -2603,20 +2650,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1515, - "is_pure": false + "referenced_declaration": 1585, + "is_pure": false, + "text": "token" }, { - "id": 1516, + "id": 1586, "node_type": 24, "kind": 24, "src": { - "line": 706, + "line": 721, "column": 35, - "start": 25108, - "end": 25176, + "start": 25405, + "end": 25473, "length": 69, - "parent_index": 1513 + "parent_index": 1583 }, "argument_types": [ { @@ -2634,61 +2682,61 @@ ], "arguments": [ { - "id": 1519, + "id": 1589, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 706, + "line": 721, "column": 58, - "start": 25131, - "end": 25152, + "start": 25428, + "end": 25449, "length": 22, - "parent_index": 1516 + "parent_index": 1586 }, "member_location": { - "line": 706, + "line": 721, "column": 72, - "start": 25145, - "end": 25152, + "start": 25442, + "end": 25449, "length": 8, - "parent_index": 1519 + "parent_index": 1589 }, "expression": { - "id": 1520, + "id": 1590, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 706, + "line": 721, "column": 58, - "start": 25131, - "end": 25143, + "start": 25428, + "end": 25440, "length": 13, - "parent_index": 1519 + "parent_index": 1589 }, "member_location": { - "line": 706, + "line": 721, "column": 64, - "start": 25137, - "end": 25143, + "start": 25434, + "end": 25440, "length": 7, - "parent_index": 1520 + "parent_index": 1590 }, "expression": { - "id": 1521, + "id": 1591, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 58, - "start": 25131, - "end": 25135, + "start": 25428, + "end": 25432, "length": 5, - "parent_index": 1520 + "parent_index": 1590 }, "name": "token", "type_description": { @@ -2696,33 +2744,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1521, - "is_pure": false + "referenced_declaration": 1591, + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { - "id": 1522, + "id": 1592, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 82, - "start": 25155, - "end": 25161, + "start": 25452, + "end": 25458, "length": 7, - "parent_index": 1516 + "parent_index": 1586 }, "name": "spender", "type_description": { @@ -2730,25 +2781,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1522, + "referenced_declaration": 1592, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { - "id": 1523, + "id": 1593, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 91, - "start": 25164, - "end": 25175, + "start": 25461, + "end": 25472, "length": 12, - "parent_index": 1516 + "parent_index": 1586 }, "name": "newAllowance", "type_description": { @@ -2756,7 +2808,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1500, + "referenced_declaration": 1570, "is_pure": false, "argument_types": [ { @@ -2767,42 +2819,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { - "id": 1517, + "id": 1587, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 706, + "line": 721, "column": 35, - "start": 25108, - "end": 25129, + "start": 25405, + "end": 25426, "length": 22, - "parent_index": 1516 + "parent_index": 1586 }, "member_location": { - "line": 706, + "line": 721, "column": 39, - "start": 25112, - "end": 25129, + "start": 25409, + "end": 25426, "length": 18, - "parent_index": 1517 + "parent_index": 1587 }, "expression": { - "id": 1518, + "id": 1588, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 35, - "start": 25108, - "end": 25110, + "start": 25405, + "end": 25407, "length": 3, - "parent_index": 1517 + "parent_index": 1587 }, "name": "abi", "type_description": { @@ -2811,14 +2864,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -2827,15 +2882,15 @@ } ], "expression": { - "id": 1514, + "id": 1584, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 8, - "start": 25081, - "end": 25099, + "start": 25378, + "end": 25396, "length": 19, - "parent_index": 1513 + "parent_index": 1583 }, "name": "_callOptionalReturn", "type_description": { @@ -2844,7 +2899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -2860,61 +2916,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1490, + "id": 1560, "node_type": 43, "src": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24974, + "start": 25212, + "end": 25271, "length": 60, - "parent_index": 1489 + "parent_index": 1559 }, "parameters": [ { - "id": 1491, + "id": 1561, "node_type": 44, "src": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24926, + "start": 25212, + "end": 25223, "length": 12, - "parent_index": 1490 + "parent_index": 1560 }, - "scope": 1489, + "scope": 1559, "name": "token", "type_name": { - "id": 1492, + "id": 1562, "node_type": 69, "src": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24920, + "start": 25212, + "end": 25217, "length": 6, - "parent_index": 1491 + "parent_index": 1561 }, "path_node": { - "id": 1493, + "id": 1563, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24920, + "start": 25212, + "end": 25217, "length": 6, - "parent_index": 1492 + "parent_index": 1562 }, "name_location": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24920, + "start": 25212, + "end": 25217, "length": 6, - "parent_index": 1492 + "parent_index": 1562 } }, "referenced_declaration": 1089, @@ -2932,28 +2988,28 @@ } }, { - "id": 1494, + "id": 1564, "node_type": 44, "src": { - "line": 702, + "line": 717, "column": 8, - "start": 24937, - "end": 24951, + "start": 25234, + "end": 25248, "length": 15, - "parent_index": 1490 + "parent_index": 1560 }, - "scope": 1489, + "scope": 1559, "name": "spender", "type_name": { - "id": 1495, + "id": 1565, "node_type": 30, "src": { - "line": 702, + "line": 717, "column": 8, - "start": 24937, - "end": 24943, + "start": 25234, + "end": 25240, "length": 7, - "parent_index": 1494 + "parent_index": 1564 }, "name": "address", "state_mutability": 4, @@ -2972,28 +3028,28 @@ } }, { - "id": 1496, + "id": 1566, "node_type": 44, "src": { - "line": 703, + "line": 718, "column": 8, - "start": 24962, - "end": 24974, + "start": 25259, + "end": 25271, "length": 13, - "parent_index": 1490 + "parent_index": 1560 }, - "scope": 1489, + "scope": 1559, "name": "value", "type_name": { - "id": 1497, + "id": 1567, "node_type": 30, "src": { - "line": 703, + "line": 718, "column": 8, - "start": 24962, - "end": 24968, + "start": 25259, + "end": 25265, "length": 7, - "parent_index": 1496 + "parent_index": 1566 }, "name": "uint256", "referenced_declaration": 0, @@ -3027,125 +3083,126 @@ ] }, "return_parameters": { - "id": 1498, + "id": 1568, "node_type": 43, "src": { - "line": 700, + "line": 715, "column": 4, - "start": 24875, - "end": 25184, + "start": 25172, + "end": 25481, "length": 310, - "parent_index": 1489 + "parent_index": 1559 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", - "scope": 1392, + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256newAllowance=token.allowance(address(this),spender)+value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}" }, { - "id": 1525, + "id": 1595, "name": "safeDecreaseAllowance", "node_type": 42, "kind": 41, "src": { - "line": 709, + "line": 724, "column": 4, - "start": 25191, - "end": 25676, + "start": 25488, + "end": 25973, "length": 486, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 709, + "line": 724, "column": 13, - "start": 25200, - "end": 25220, + "start": 25497, + "end": 25517, "length": 21, - "parent_index": 1525 + "parent_index": 1595 }, "body": { - "id": 1535, + "id": 1605, "node_type": 46, "kind": 0, "src": { - "line": 713, + "line": 728, "column": 15, - "start": 25307, - "end": 25676, + "start": 25604, + "end": 25973, "length": 370, - "parent_index": 1525 + "parent_index": 1595 }, "implemented": true, "statements": [ { - "id": 1536, + "id": 1606, "node_type": 59, "kind": 0, "src": { - "line": 714, + "line": 729, "column": 8, - "start": 25317, - "end": 25670, + "start": 25614, + "end": 25967, "length": 354, - "parent_index": 1392 + "parent_index": 1462 }, "implemented": false, "statements": [ { - "id": 1537, + "id": 1607, "node_type": 44, "src": { - "line": 715, + "line": 730, "column": 12, - "start": 25341, - "end": 25403, + "start": 25638, + "end": 25700, "length": 63, - "parent_index": 1536 + "parent_index": 1606 }, "assignments": [ - 1538 + 1608 ], "declarations": [ { - "id": 1538, + "id": 1608, "state_mutability": 1, "name": "oldAllowance", "node_type": 44, - "scope": 1536, + "scope": 1606, "src": { - "line": 715, + "line": 730, "column": 12, - "start": 25341, - "end": 25360, + "start": 25638, + "end": 25657, "length": 20, - "parent_index": 1537 + "parent_index": 1607 }, "name_location": { - "line": 715, + "line": 730, "column": 20, - "start": 25349, - "end": 25360, + "start": 25646, + "end": 25657, "length": 12, - "parent_index": 1538 + "parent_index": 1608 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1539, + "id": 1609, "node_type": 30, "src": { - "line": 715, + "line": 730, "column": 12, - "start": 25341, - "end": 25347, + "start": 25638, + "end": 25644, "length": 7, - "parent_index": 1538 + "parent_index": 1608 }, "name": "uint256", "referenced_declaration": 0, @@ -3158,16 +3215,16 @@ } ], "initial_value": { - "id": 1540, + "id": 1610, "node_type": 24, "kind": 24, "src": { - "line": 715, + "line": 730, "column": 35, - "start": 25364, - "end": 25402, + "start": 25661, + "end": 25699, "length": 39, - "parent_index": 1537 + "parent_index": 1607 }, "argument_types": [ { @@ -3181,67 +3238,68 @@ ], "arguments": [ { - "id": 1543, + "id": 1613, "node_type": 24, "kind": 24, "src": { - "line": 715, + "line": 730, "column": 51, - "start": 25380, - "end": 25392, + "start": 25677, + "end": 25689, "length": 13, - "parent_index": 1540 + "parent_index": 1610 }, "argument_types": [ { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" } ], "arguments": [ { - "id": 1546, + "id": 1616, "node_type": 16, "src": { - "line": 715, + "line": 730, "column": 59, - "start": 25388, - "end": 25391, + "start": 25685, + "end": 25688, "length": 4, - "parent_index": 1543 + "parent_index": 1613 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 1544, + "id": 1614, "node_type": 16, "src": { - "line": 715, + "line": 730, "column": 51, - "start": 25380, - "end": 25386, + "start": 25677, + "end": 25683, "length": 7, - "parent_index": 1543 + "parent_index": 1613 }, "name": "address", "type_name": { - "id": 1545, + "id": 1615, "node_type": 30, "src": { - "line": 715, + "line": 730, "column": 51, - "start": 25380, - "end": 25386, + "start": 25677, + "end": 25683, "length": 7, - "parent_index": 1544 + "parent_index": 1614 }, "name": "address", "state_mutability": 4, @@ -3263,7 +3321,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3271,15 +3330,15 @@ } }, { - "id": 1547, + "id": 1617, "node_type": 16, "src": { - "line": 715, + "line": 730, "column": 66, - "start": 25395, - "end": 25401, + "start": 25692, + "end": 25698, "length": 7, - "parent_index": 1540 + "parent_index": 1610 }, "name": "spender", "type_description": { @@ -3287,49 +3346,50 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1547, + "referenced_declaration": 1617, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { - "id": 1541, + "id": 1611, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 715, + "line": 730, "column": 35, - "start": 25364, - "end": 25378, + "start": 25661, + "end": 25675, "length": 15, - "parent_index": 1540 + "parent_index": 1610 }, "member_location": { - "line": 715, + "line": 730, "column": 41, - "start": 25370, - "end": 25378, + "start": 25667, + "end": 25675, "length": 9, - "parent_index": 1541 + "parent_index": 1611 }, "expression": { - "id": 1542, + "id": 1612, "node_type": 16, "src": { - "line": 715, + "line": 730, "column": 35, - "start": 25364, - "end": 25368, + "start": 25661, + "end": 25665, "length": 5, - "parent_index": 1541 + "parent_index": 1611 }, "name": "token", "type_description": { @@ -3337,15 +3397,17 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1542, - "is_pure": false + "referenced_declaration": 1612, + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -3354,16 +3416,16 @@ } }, { - "id": 1548, + "id": 1618, "node_type": 24, "kind": 24, "src": { - "line": 716, + "line": 731, "column": 12, - "start": 25417, - "end": 25491, + "start": 25714, + "end": 25788, "length": 75, - "parent_index": 1536 + "parent_index": 1606 }, "argument_types": [ { @@ -3377,29 +3439,29 @@ ], "arguments": [ { - "id": 1550, + "id": 1620, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 716, + "line": 731, "column": 20, - "start": 25425, - "end": 25445, + "start": 25722, + "end": 25742, "length": 21, - "parent_index": 1548 + "parent_index": 1618 }, "operator": 8, "left_expression": { - "id": 1551, + "id": 1621, "node_type": 16, "src": { - "line": 716, + "line": 731, "column": 20, - "start": 25425, - "end": 25436, + "start": 25722, + "end": 25733, "length": 12, - "parent_index": 1550 + "parent_index": 1620 }, "name": "oldAllowance", "type_description": { @@ -3407,19 +3469,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1537, - "is_pure": false + "referenced_declaration": 1607, + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { - "id": 1552, + "id": 1622, "node_type": 16, "src": { - "line": 716, + "line": 731, "column": 36, - "start": 25441, - "end": 25445, + "start": 25738, + "end": 25742, "length": 5, - "parent_index": 1550 + "parent_index": 1620 }, "name": "value", "type_description": { @@ -3427,8 +3490,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1552, - "is_pure": false + "referenced_declaration": 1622, + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -3436,18 +3500,18 @@ } }, { - "id": 1553, + "id": 1623, "node_type": 17, "kind": 50, "value": "SafeERC20: decreased allowance below zero", "hex_value": "5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", "src": { - "line": 716, + "line": 731, "column": 43, - "start": 25448, - "end": 25490, + "start": 25745, + "end": 25787, "length": 43, - "parent_index": 1548 + "parent_index": 1618 }, "type_description": { "type_identifier": "t_string_literal", @@ -3461,19 +3525,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { - "id": 1549, + "id": 1619, "node_type": 16, "src": { - "line": 716, + "line": 731, "column": 12, - "start": 25417, - "end": 25423, + "start": 25714, + "end": 25720, "length": 7, - "parent_index": 1548 + "parent_index": 1618 }, "name": "require", "type_description": { @@ -3482,7 +3547,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3490,54 +3556,54 @@ } }, { - "id": 1554, + "id": 1624, "node_type": 44, "src": { - "line": 717, + "line": 732, "column": 12, - "start": 25506, - "end": 25549, + "start": 25803, + "end": 25846, "length": 44, - "parent_index": 1536 + "parent_index": 1606 }, "assignments": [ - 1555 + 1625 ], "declarations": [ { - "id": 1555, + "id": 1625, "state_mutability": 1, "name": "newAllowance", "node_type": 44, - "scope": 1536, + "scope": 1606, "src": { - "line": 717, + "line": 732, "column": 12, - "start": 25506, - "end": 25525, + "start": 25803, + "end": 25822, "length": 20, - "parent_index": 1554 + "parent_index": 1624 }, "name_location": { - "line": 717, + "line": 732, "column": 20, - "start": 25514, - "end": 25525, + "start": 25811, + "end": 25822, "length": 12, - "parent_index": 1555 + "parent_index": 1625 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1556, + "id": 1626, "node_type": 30, "src": { - "line": 717, + "line": 732, "column": 12, - "start": 25506, - "end": 25512, + "start": 25803, + "end": 25809, "length": 7, - "parent_index": 1555 + "parent_index": 1625 }, "name": "uint256", "referenced_declaration": 0, @@ -3550,29 +3616,29 @@ } ], "initial_value": { - "id": 1557, + "id": 1627, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 717, + "line": 732, "column": 35, - "start": 25529, - "end": 25548, + "start": 25826, + "end": 25845, "length": 20, - "parent_index": 1554 + "parent_index": 1624 }, "operator": 2, "left_expression": { - "id": 1558, + "id": 1628, "node_type": 16, "src": { - "line": 717, + "line": 732, "column": 35, - "start": 25529, - "end": 25540, + "start": 25826, + "end": 25837, "length": 12, - "parent_index": 1557 + "parent_index": 1627 }, "name": "oldAllowance", "type_description": { @@ -3580,19 +3646,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1537, - "is_pure": false + "referenced_declaration": 1607, + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { - "id": 1559, + "id": 1629, "node_type": 16, "src": { - "line": 717, + "line": 732, "column": 50, - "start": 25544, - "end": 25548, + "start": 25841, + "end": 25845, "length": 5, - "parent_index": 1557 + "parent_index": 1627 }, "name": "value", "type_description": { @@ -3600,8 +3667,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1559, - "is_pure": false + "referenced_declaration": 1629, + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -3610,16 +3678,16 @@ } }, { - "id": 1560, + "id": 1630, "node_type": 24, "kind": 24, "src": { - "line": 718, + "line": 733, "column": 12, - "start": 25563, - "end": 25659, + "start": 25860, + "end": 25956, "length": 97, - "parent_index": 1536 + "parent_index": 1606 }, "argument_types": [ { @@ -3633,15 +3701,15 @@ ], "arguments": [ { - "id": 1562, + "id": 1632, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 32, - "start": 25583, - "end": 25587, + "start": 25880, + "end": 25884, "length": 5, - "parent_index": 1560 + "parent_index": 1630 }, "name": "token", "type_description": { @@ -3649,20 +3717,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1562, - "is_pure": false + "referenced_declaration": 1632, + "is_pure": false, + "text": "token" }, { - "id": 1563, + "id": 1633, "node_type": 24, "kind": 24, "src": { - "line": 718, + "line": 733, "column": 39, - "start": 25590, - "end": 25658, + "start": 25887, + "end": 25955, "length": 69, - "parent_index": 1560 + "parent_index": 1630 }, "argument_types": [ { @@ -3680,61 +3749,61 @@ ], "arguments": [ { - "id": 1566, + "id": 1636, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 718, + "line": 733, "column": 62, - "start": 25613, - "end": 25634, + "start": 25910, + "end": 25931, "length": 22, - "parent_index": 1563 + "parent_index": 1633 }, "member_location": { - "line": 718, + "line": 733, "column": 76, - "start": 25627, - "end": 25634, + "start": 25924, + "end": 25931, "length": 8, - "parent_index": 1566 + "parent_index": 1636 }, "expression": { - "id": 1567, + "id": 1637, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 718, + "line": 733, "column": 62, - "start": 25613, - "end": 25625, + "start": 25910, + "end": 25922, "length": 13, - "parent_index": 1566 + "parent_index": 1636 }, "member_location": { - "line": 718, + "line": 733, "column": 68, - "start": 25619, - "end": 25625, + "start": 25916, + "end": 25922, "length": 7, - "parent_index": 1567 + "parent_index": 1637 }, "expression": { - "id": 1568, + "id": 1638, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 62, - "start": 25613, - "end": 25617, + "start": 25910, + "end": 25914, "length": 5, - "parent_index": 1567 + "parent_index": 1637 }, "name": "token", "type_description": { @@ -3742,33 +3811,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1568, - "is_pure": false + "referenced_declaration": 1638, + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { - "id": 1569, + "id": 1639, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 86, - "start": 25637, - "end": 25643, + "start": 25934, + "end": 25940, "length": 7, - "parent_index": 1563 + "parent_index": 1633 }, "name": "spender", "type_description": { @@ -3776,25 +3848,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1569, + "referenced_declaration": 1639, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { - "id": 1570, + "id": 1640, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 95, - "start": 25646, - "end": 25657, + "start": 25943, + "end": 25954, "length": 12, - "parent_index": 1563 + "parent_index": 1633 }, "name": "newAllowance", "type_description": { @@ -3802,7 +3875,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1554, + "referenced_declaration": 1624, "is_pure": false, "argument_types": [ { @@ -3813,42 +3886,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { - "id": 1564, + "id": 1634, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 718, + "line": 733, "column": 39, - "start": 25590, - "end": 25611, + "start": 25887, + "end": 25908, "length": 22, - "parent_index": 1563 + "parent_index": 1633 }, "member_location": { - "line": 718, + "line": 733, "column": 43, - "start": 25594, - "end": 25611, + "start": 25891, + "end": 25908, "length": 18, - "parent_index": 1564 + "parent_index": 1634 }, "expression": { - "id": 1565, + "id": 1635, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 39, - "start": 25590, - "end": 25592, + "start": 25887, + "end": 25889, "length": 3, - "parent_index": 1564 + "parent_index": 1634 }, "name": "abi", "type_description": { @@ -3857,14 +3931,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -3873,15 +3949,15 @@ } ], "expression": { - "id": 1561, + "id": 1631, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 12, - "start": 25563, - "end": 25581, + "start": 25860, + "end": 25878, "length": 19, - "parent_index": 1560 + "parent_index": 1630 }, "name": "_callOptionalReturn", "type_description": { @@ -3890,7 +3966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -3908,61 +3985,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1526, + "id": 1596, "node_type": 43, "src": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25290, + "start": 25528, + "end": 25587, "length": 60, - "parent_index": 1525 + "parent_index": 1595 }, "parameters": [ { - "id": 1527, + "id": 1597, "node_type": 44, "src": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25242, + "start": 25528, + "end": 25539, "length": 12, - "parent_index": 1526 + "parent_index": 1596 }, - "scope": 1525, + "scope": 1595, "name": "token", "type_name": { - "id": 1528, + "id": 1598, "node_type": 69, "src": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25236, + "start": 25528, + "end": 25533, "length": 6, - "parent_index": 1527 + "parent_index": 1597 }, "path_node": { - "id": 1529, + "id": 1599, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25236, + "start": 25528, + "end": 25533, "length": 6, - "parent_index": 1528 + "parent_index": 1598 }, "name_location": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25236, + "start": 25528, + "end": 25533, "length": 6, - "parent_index": 1528 + "parent_index": 1598 } }, "referenced_declaration": 1089, @@ -3980,28 +4057,28 @@ } }, { - "id": 1530, + "id": 1600, "node_type": 44, "src": { - "line": 711, + "line": 726, "column": 8, - "start": 25253, - "end": 25267, + "start": 25550, + "end": 25564, "length": 15, - "parent_index": 1526 + "parent_index": 1596 }, - "scope": 1525, + "scope": 1595, "name": "spender", "type_name": { - "id": 1531, + "id": 1601, "node_type": 30, "src": { - "line": 711, + "line": 726, "column": 8, - "start": 25253, - "end": 25259, + "start": 25550, + "end": 25556, "length": 7, - "parent_index": 1530 + "parent_index": 1600 }, "name": "address", "state_mutability": 4, @@ -4020,28 +4097,28 @@ } }, { - "id": 1532, + "id": 1602, "node_type": 44, "src": { - "line": 712, + "line": 727, "column": 8, - "start": 25278, - "end": 25290, + "start": 25575, + "end": 25587, "length": 13, - "parent_index": 1526 + "parent_index": 1596 }, - "scope": 1525, + "scope": 1595, "name": "value", "type_name": { - "id": 1533, + "id": 1603, "node_type": 30, "src": { - "line": 712, + "line": 727, "column": 8, - "start": 25278, - "end": 25284, + "start": 25575, + "end": 25581, "length": 7, - "parent_index": 1532 + "parent_index": 1602 }, "name": "uint256", "referenced_declaration": 0, @@ -4075,111 +4152,112 @@ ] }, "return_parameters": { - "id": 1534, + "id": 1604, "node_type": 43, "src": { - "line": 709, + "line": 724, "column": 4, - "start": 25191, - "end": 25676, + "start": 25488, + "end": 25973, "length": 486, - "parent_index": 1525 + "parent_index": 1595 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", - "scope": 1392, + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");uint256newAllowance=oldAllowance-value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}}" }, { - "id": 1572, + "id": 1642, "name": "_callOptionalReturn", "node_type": 42, "kind": 41, "src": { - "line": 728, + "line": 743, "column": 4, - "start": 26060, - "end": 26765, + "start": 26357, + "end": 27062, "length": 706, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 728, + "line": 743, "column": 13, - "start": 26069, - "end": 26087, + "start": 26366, + "end": 26384, "length": 19, - "parent_index": 1572 + "parent_index": 1642 }, "body": { - "id": 1580, + "id": 1650, "node_type": 46, "kind": 0, "src": { - "line": 728, + "line": 743, "column": 74, - "start": 26130, - "end": 26765, + "start": 26427, + "end": 27062, "length": 636, - "parent_index": 1572 + "parent_index": 1642 }, "implemented": true, "statements": [ { - "id": 1581, + "id": 1651, "node_type": 44, "src": { - "line": 733, + "line": 748, "column": 8, - "start": 26479, - "end": 26574, + "start": 26776, + "end": 26871, "length": 96, - "parent_index": 1580 + "parent_index": 1650 }, "assignments": [ - 1582 + 1652 ], "declarations": [ { - "id": 1582, + "id": 1652, "state_mutability": 1, "name": "returndata", "node_type": 44, - "scope": 1580, + "scope": 1650, "src": { - "line": 733, + "line": 748, "column": 8, - "start": 26479, - "end": 26501, + "start": 26776, + "end": 26798, "length": 23, - "parent_index": 1581 + "parent_index": 1651 }, "name_location": { - "line": 733, + "line": 748, "column": 21, - "start": 26492, - "end": 26501, + "start": 26789, + "end": 26798, "length": 10, - "parent_index": 1582 + "parent_index": 1652 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 1583, + "id": 1653, "node_type": 30, "src": { - "line": 733, + "line": 748, "column": 8, - "start": 26479, - "end": 26483, + "start": 26776, + "end": 26780, "length": 5, - "parent_index": 1582 + "parent_index": 1652 }, "name": "bytes", "referenced_declaration": 0, @@ -4192,16 +4270,16 @@ } ], "initial_value": { - "id": 1584, + "id": 1654, "node_type": 24, "kind": 24, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26573, + "start": 26802, + "end": 26870, "length": 69, - "parent_index": 1581 + "parent_index": 1651 }, "argument_types": [ { @@ -4215,15 +4293,15 @@ ], "arguments": [ { - "id": 1590, + "id": 1660, "node_type": 16, "src": { - "line": 733, + "line": 748, "column": 62, - "start": 26533, - "end": 26536, + "start": 26830, + "end": 26833, "length": 4, - "parent_index": 1584 + "parent_index": 1654 }, "name": "data", "type_description": { @@ -4231,22 +4309,23 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 1590, - "is_pure": false + "referenced_declaration": 1660, + "is_pure": false, + "text": "data" }, { - "id": 1591, + "id": 1661, "node_type": 17, "kind": 50, "value": "SafeERC20: low-level call failed", "hex_value": "5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564", "src": { - "line": 733, + "line": 748, "column": 68, - "start": 26539, - "end": 26572, + "start": 26836, + "end": 26869, "length": 34, - "parent_index": 1584 + "parent_index": 1654 }, "type_description": { "type_identifier": "t_string_literal", @@ -4260,43 +4339,44 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { - "id": 1585, + "id": 1655, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26531, + "start": 26802, + "end": 26828, "length": 27, - "parent_index": 1584 + "parent_index": 1654 }, "member_location": { - "line": 733, + "line": 748, "column": 49, - "start": 26520, - "end": 26531, + "start": 26817, + "end": 26828, "length": 12, - "parent_index": 1585 + "parent_index": 1655 }, "expression": { - "id": 1586, + "id": 1656, "node_type": 24, "kind": 24, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26518, + "start": 26802, + "end": 26815, "length": 14, - "parent_index": 1585 + "parent_index": 1655 }, "argument_types": [ { @@ -4306,15 +4386,15 @@ ], "arguments": [ { - "id": 1589, + "id": 1659, "node_type": 16, "src": { - "line": 733, + "line": 748, "column": 42, - "start": 26513, - "end": 26517, + "start": 26810, + "end": 26814, "length": 5, - "parent_index": 1586 + "parent_index": 1656 }, "name": "token", "type_description": { @@ -4322,32 +4402,33 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1589, - "is_pure": false + "referenced_declaration": 1659, + "is_pure": false, + "text": "token" } ], "expression": { - "id": 1587, + "id": 1657, "node_type": 16, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26511, + "start": 26802, + "end": 26808, "length": 7, - "parent_index": 1586 + "parent_index": 1656 }, "name": "address", "type_name": { - "id": 1588, + "id": 1658, "node_type": 30, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26511, + "start": 26802, + "end": 26808, "length": 7, - "parent_index": 1587 + "parent_index": 1657 }, "name": "address", "state_mutability": 4, @@ -4369,7 +4450,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4381,7 +4463,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -4390,63 +4473,63 @@ } }, { - "id": 1592, + "id": 1662, "node_type": 48, "src": { - "line": 734, + "line": 749, "column": 0, - "start": 26584, - "end": 26759, + "start": 26881, + "end": 27056, "length": 176, - "parent_index": 1580 + "parent_index": 1650 }, "condition": { - "id": 1593, + "id": 1663, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 734, + "line": 749, "column": 12, - "start": 26588, - "end": 26608, + "start": 26885, + "end": 26905, "length": 21, - "parent_index": 1592 + "parent_index": 1662 }, "operator": 7, "left_expression": { - "id": 1594, + "id": 1664, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 734, + "line": 749, "column": 12, - "start": 26588, - "end": 26604, + "start": 26885, + "end": 26901, "length": 17, - "parent_index": 1593 + "parent_index": 1663 }, "member_location": { - "line": 734, + "line": 749, "column": 23, - "start": 26599, - "end": 26604, + "start": 26896, + "end": 26901, "length": 6, - "parent_index": 1594 + "parent_index": 1664 }, "expression": { - "id": 1595, + "id": 1665, "node_type": 16, "src": { - "line": 734, + "line": 749, "column": 12, - "start": 26588, - "end": 26597, + "start": 26885, + "end": 26894, "length": 10, - "parent_index": 1594 + "parent_index": 1664 }, "name": "returndata", "type_description": { @@ -4454,29 +4537,31 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 1581, - "is_pure": false + "referenced_declaration": 1651, + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { - "id": 1596, + "id": 1666, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 734, + "line": 749, "column": 32, - "start": 26608, - "end": 26608, + "start": 26905, + "end": 26905, "length": 1, - "parent_index": 1593 + "parent_index": 1663 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4484,7 +4569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4492,30 +4578,30 @@ } }, "body": { - "id": 1597, + "id": 1667, "node_type": 46, "kind": 0, "src": { - "line": 734, + "line": 749, "column": 35, - "start": 26611, - "end": 26759, + "start": 26908, + "end": 27056, "length": 149, - "parent_index": 1572 + "parent_index": 1642 }, "implemented": true, "statements": [ { - "id": 1598, + "id": 1668, "node_type": 24, "kind": 24, "src": { - "line": 736, + "line": 751, "column": 12, - "start": 26664, - "end": 26748, + "start": 26961, + "end": 27045, "length": 85, - "parent_index": 1597 + "parent_index": 1667 }, "argument_types": [ { @@ -4529,16 +4615,16 @@ ], "arguments": [ { - "id": 1600, + "id": 1670, "node_type": 24, "kind": 24, "src": { - "line": 736, + "line": 751, "column": 20, - "start": 26672, - "end": 26701, + "start": 26969, + "end": 26998, "length": 30, - "parent_index": 1598 + "parent_index": 1668 }, "argument_types": [ { @@ -4552,15 +4638,15 @@ ], "arguments": [ { - "id": 1603, + "id": 1673, "node_type": 16, "src": { - "line": 736, + "line": 751, "column": 31, - "start": 26683, - "end": 26692, + "start": 26980, + "end": 26989, "length": 10, - "parent_index": 1600 + "parent_index": 1670 }, "name": "returndata", "type_description": { @@ -4569,44 +4655,45 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { - "id": 1604, + "id": 1674, "node_type": 60, "src": { - "line": 736, + "line": 751, "column": 43, - "start": 26695, - "end": 26700, + "start": 26992, + "end": 26997, "length": 6, - "parent_index": 1600 + "parent_index": 1670 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 1605, + "id": 1675, "node_type": 16, "src": { - "line": 736, + "line": 751, "column": 44, - "start": 26696, - "end": 26699, + "start": 26993, + "end": 26996, "length": 4, - "parent_index": 1604 + "parent_index": 1674 }, "name": "bool", "type_name": { - "id": 1606, + "id": 1676, "node_type": 30, "src": { - "line": 736, + "line": 751, "column": 44, - "start": 26696, - "end": 26699, + "start": 26993, + "end": 26996, "length": 4, - "parent_index": 1605 + "parent_index": 1675 }, "name": "bool", "referenced_declaration": 0, @@ -4621,7 +4708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -4631,38 +4719,38 @@ } ], "expression": { - "id": 1601, + "id": 1671, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 736, + "line": 751, "column": 20, - "start": 26672, - "end": 26681, + "start": 26969, + "end": 26978, "length": 10, - "parent_index": 1600 + "parent_index": 1670 }, "member_location": { - "line": 736, + "line": 751, "column": 24, - "start": 26676, - "end": 26681, + "start": 26973, + "end": 26978, "length": 6, - "parent_index": 1601 + "parent_index": 1671 }, "expression": { - "id": 1602, + "id": 1672, "node_type": 16, "src": { - "line": 736, + "line": 751, "column": 20, - "start": 26672, - "end": 26674, + "start": 26969, + "end": 26971, "length": 3, - "parent_index": 1601 + "parent_index": 1671 }, "name": "abi", "type_description": { @@ -4671,14 +4759,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -4686,18 +4776,18 @@ } }, { - "id": 1607, + "id": 1677, "node_type": 17, "kind": 50, "value": "SafeERC20: ERC20 operation did not succeed", "hex_value": "5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564", "src": { - "line": 736, + "line": 751, "column": 52, - "start": 26704, - "end": 26747, + "start": 27001, + "end": 27044, "length": 44, - "parent_index": 1598 + "parent_index": 1668 }, "type_description": { "type_identifier": "t_string_literal", @@ -4711,19 +4801,20 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { - "id": 1599, + "id": 1669, "node_type": 16, "src": { - "line": 736, + "line": 751, "column": 12, - "start": 26664, - "end": 26670, + "start": 26961, + "end": 26967, "length": 7, - "parent_index": 1598 + "parent_index": 1668 }, "name": "require", "type_description": { @@ -4732,7 +4823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -4751,61 +4843,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1573, + "id": 1643, "node_type": 43, "src": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26119, + "start": 26386, + "end": 26416, "length": 31, - "parent_index": 1572 + "parent_index": 1642 }, "parameters": [ { - "id": 1574, + "id": 1644, "node_type": 44, "src": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26100, + "start": 26386, + "end": 26397, "length": 12, - "parent_index": 1573 + "parent_index": 1643 }, - "scope": 1572, + "scope": 1642, "name": "token", "type_name": { - "id": 1575, + "id": 1645, "node_type": 69, "src": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26094, + "start": 26386, + "end": 26391, "length": 6, - "parent_index": 1574 + "parent_index": 1644 }, "path_node": { - "id": 1576, + "id": 1646, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26094, + "start": 26386, + "end": 26391, "length": 6, - "parent_index": 1575 + "parent_index": 1645 }, "name_location": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26094, + "start": 26386, + "end": 26391, "length": 6, - "parent_index": 1575 + "parent_index": 1645 } }, "referenced_declaration": 1089, @@ -4823,28 +4915,28 @@ } }, { - "id": 1577, + "id": 1647, "node_type": 44, "src": { - "line": 728, + "line": 743, "column": 47, - "start": 26103, - "end": 26119, + "start": 26400, + "end": 26416, "length": 17, - "parent_index": 1573 + "parent_index": 1643 }, - "scope": 1572, + "scope": 1642, "name": "data", "type_name": { - "id": 1578, + "id": 1648, "node_type": 30, "src": { - "line": 728, + "line": 743, "column": 47, - "start": 26103, - "end": 26107, + "start": 26400, + "end": 26404, "length": 5, - "parent_index": 1577 + "parent_index": 1647 }, "name": "bytes", "referenced_declaration": 0, @@ -4874,40 +4966,41 @@ ] }, "return_parameters": { - "id": 1579, + "id": 1649, "node_type": 43, "src": { - "line": 728, + "line": 743, "column": 4, - "start": 26060, - "end": 26765, + "start": 26357, + "end": 27062, "length": 706, - "parent_index": 1572 + "parent_index": 1642 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", - "scope": 1392, + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");if(returndata.length\u003e0){require(abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}}" } ], "linearized_base_contracts": [ - 1392 + 1462 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 658, + "line": 673, "column": 0, - "start": 23498, - "end": 26767, + "start": 23795, + "end": 27064, "length": 3270, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/SafeMathUniswap.solgo.ast.json b/data/tests/contracts/sushixswap/SafeMathUniswap.solgo.ast.json index e4545a24..7fd9c5f9 100644 --- a/data/tests/contracts/sushixswap/SafeMathUniswap.solgo.ast.json +++ b/data/tests/contracts/sushixswap/SafeMathUniswap.solgo.ast.json @@ -1,10 +1,10 @@ { - "id": 2183, + "id": 2401, "base_contracts": [], "license": "MIT", "exported_symbols": [ { - "id": 2183, + "id": 2401, "name": "SafeMathUniswap", "absolute_path": "" } @@ -14,15 +14,15 @@ "node_type": 1, "nodes": [ { - "id": 2197, + "id": 2415, "node_type": 10, "src": { - "line": 860, + "line": 970, "column": 0, - "start": 30948, - "end": 30972, + "start": 35341, + "end": 35365, "length": 25, - "parent_index": 2183 + "parent_index": 2401 }, "literals": [ "pragma", @@ -38,75 +38,75 @@ "text": "pragma solidity \u003e=0.6.12;" }, { - "id": 2208, + "id": 2430, "name": "SafeMathUniswap", "node_type": 35, "src": { - "line": 864, + "line": 974, "column": 0, - "start": 31081, - "end": 31544, + "start": 35474, + "end": 35937, "length": 464, - "parent_index": 2183 + "parent_index": 2401 }, "name_location": { - "line": 864, + "line": 974, "column": 8, - "start": 31089, - "end": 31103, + "start": 35482, + "end": 35496, "length": 15, - "parent_index": 2208 + "parent_index": 2430 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 2210, + "id": 2432, "name": "add", "node_type": 42, "kind": 41, "src": { - "line": 865, + "line": 975, "column": 4, - "start": 31111, - "end": 31245, + "start": 35504, + "end": 35638, "length": 135, - "parent_index": 2208 + "parent_index": 2430 }, "name_location": { - "line": 865, + "line": 975, "column": 13, - "start": 31120, - "end": 31122, + "start": 35513, + "end": 35515, "length": 3, - "parent_index": 2210 + "parent_index": 2432 }, "body": { - "id": 2219, + "id": 2441, "node_type": 46, "kind": 0, "src": { - "line": 865, + "line": 975, "column": 73, - "start": 31180, - "end": 31245, + "start": 35573, + "end": 35638, "length": 66, - "parent_index": 2210 + "parent_index": 2432 }, "implemented": true, "statements": [ { - "id": 2220, + "id": 2442, "node_type": 24, "kind": 24, "src": { - "line": 866, + "line": 976, "column": 8, - "start": 31190, - "end": 31238, + "start": 35583, + "end": 35631, "length": 49, - "parent_index": 2219 + "parent_index": 2441 }, "argument_types": [ { @@ -120,55 +120,55 @@ ], "arguments": [ { - "id": 2222, + "id": 2444, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 866, + "line": 976, "column": 16, - "start": 31198, - "end": 31213, + "start": 35591, + "end": 35606, "length": 16, - "parent_index": 2220 + "parent_index": 2442 }, "operator": 8, "left_expression": { - "id": 2223, + "id": 2445, "node_type": 60, "src": { - "line": 866, + "line": 976, "column": 16, - "start": 31198, - "end": 31208, + "start": 35591, + "end": 35601, "length": 11, - "parent_index": 2222 + "parent_index": 2444 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2224, + "id": 2446, "node_type": 27, "src": { - "line": 866, + "line": 976, "column": 17, - "start": 31199, - "end": 31207, + "start": 35592, + "end": 35600, "length": 9, - "parent_index": 2223 + "parent_index": 2445 }, "operator": 11, "left_expression": { - "id": 2225, + "id": 2447, "node_type": 16, "src": { - "line": 866, + "line": 976, "column": 17, - "start": 31199, - "end": 31199, + "start": 35592, + "end": 35592, "length": 1, - "parent_index": 2224 + "parent_index": 2446 }, "name": "z", "type_description": { @@ -176,33 +176,34 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2217, - "is_pure": false + "referenced_declaration": 2439, + "is_pure": false, + "text": "z" }, "right_expression": { - "id": 2226, + "id": 2448, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 866, + "line": 976, "column": 21, - "start": 31203, - "end": 31207, + "start": 35596, + "end": 35600, "length": 5, - "parent_index": 2224 + "parent_index": 2446 }, "operator": 1, "left_expression": { - "id": 2227, + "id": 2449, "node_type": 16, "src": { - "line": 866, + "line": 976, "column": 21, - "start": 31203, - "end": 31203, + "start": 35596, + "end": 35596, "length": 1, - "parent_index": 2226 + "parent_index": 2448 }, "name": "x", "type_description": { @@ -210,19 +211,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2227, - "is_pure": false + "referenced_declaration": 2449, + "is_pure": false, + "text": "x" }, "right_expression": { - "id": 2228, + "id": 2450, "node_type": 16, "src": { - "line": 866, + "line": 976, "column": 25, - "start": 31207, - "end": 31207, + "start": 35600, + "end": 35600, "length": 1, - "parent_index": 2226 + "parent_index": 2448 }, "name": "y", "type_description": { @@ -230,8 +232,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2228, - "is_pure": false + "referenced_declaration": 2450, + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_uint256", @@ -250,15 +253,15 @@ } }, "right_expression": { - "id": 2229, + "id": 2451, "node_type": 16, "src": { - "line": 866, + "line": 976, "column": 31, - "start": 31213, - "end": 31213, + "start": 35606, + "end": 35606, "length": 1, - "parent_index": 2222 + "parent_index": 2444 }, "name": "x", "type_description": { @@ -266,8 +269,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2229, - "is_pure": false + "referenced_declaration": 2451, + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -275,18 +279,18 @@ } }, { - "id": 2230, + "id": 2452, "node_type": 17, "kind": 50, "value": "ds-math-add-overflow", "hex_value": "64732d6d6174682d6164642d6f766572666c6f77", "src": { - "line": 866, + "line": 976, "column": 34, - "start": 31216, - "end": 31237, + "start": 35609, + "end": 35630, "length": 22, - "parent_index": 2220 + "parent_index": 2442 }, "type_description": { "type_identifier": "t_string_literal", @@ -300,19 +304,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ds-math-add-overflow\"" } ], "expression": { - "id": 2221, + "id": 2443, "node_type": 16, "src": { - "line": 866, + "line": 976, "column": 8, - "start": 31190, - "end": 31196, + "start": 35583, + "end": 35589, "length": 7, - "parent_index": 2220 + "parent_index": 2442 }, "name": "require", "type_description": { @@ -321,7 +326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -337,40 +343,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2211, + "id": 2433, "node_type": 43, "src": { - "line": 865, + "line": 975, "column": 17, - "start": 31124, - "end": 31143, + "start": 35517, + "end": 35536, "length": 20, - "parent_index": 2210 + "parent_index": 2432 }, "parameters": [ { - "id": 2212, + "id": 2434, "node_type": 44, "src": { - "line": 865, + "line": 975, "column": 17, - "start": 31124, - "end": 31132, + "start": 35517, + "end": 35525, "length": 9, - "parent_index": 2211 + "parent_index": 2433 }, - "scope": 2210, + "scope": 2432, "name": "x", "type_name": { - "id": 2213, + "id": 2435, "node_type": 30, "src": { - "line": 865, + "line": 975, "column": 17, - "start": 31124, - "end": 31130, + "start": 35517, + "end": 35523, "length": 7, - "parent_index": 2212 + "parent_index": 2434 }, "name": "uint256", "referenced_declaration": 0, @@ -388,28 +394,28 @@ } }, { - "id": 2214, + "id": 2436, "node_type": 44, "src": { - "line": 865, + "line": 975, "column": 28, - "start": 31135, - "end": 31143, + "start": 35528, + "end": 35536, "length": 9, - "parent_index": 2211 + "parent_index": 2433 }, - "scope": 2210, + "scope": 2432, "name": "y", "type_name": { - "id": 2215, + "id": 2437, "node_type": 30, "src": { - "line": 865, + "line": 975, "column": 28, - "start": 31135, - "end": 31141, + "start": 35528, + "end": 35534, "length": 7, - "parent_index": 2214 + "parent_index": 2436 }, "name": "uint256", "referenced_declaration": 0, @@ -439,40 +445,40 @@ ] }, "return_parameters": { - "id": 2216, + "id": 2438, "node_type": 43, "src": { - "line": 865, + "line": 975, "column": 62, - "start": 31169, - "end": 31177, + "start": 35562, + "end": 35570, "length": 9, - "parent_index": 2210 + "parent_index": 2432 }, "parameters": [ { - "id": 2217, + "id": 2439, "node_type": 44, "src": { - "line": 865, + "line": 975, "column": 62, - "start": 31169, - "end": 31177, + "start": 35562, + "end": 35570, "length": 9, - "parent_index": 2216 + "parent_index": 2438 }, - "scope": 2210, + "scope": 2432, "name": "z", "type_name": { - "id": 2218, + "id": 2440, "node_type": 30, "src": { - "line": 865, + "line": 975, "column": 62, - "start": 31169, - "end": 31175, + "start": 35562, + "end": 35568, "length": 7, - "parent_index": 2217 + "parent_index": 2439 }, "name": "uint256", "referenced_declaration": 0, @@ -497,60 +503,61 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", - "scope": 2208, + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", + "scope": 2430, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256x,uint256y)internalpurereturns(uint256z){require((z=x+y)\u003e=x,\"ds-math-add-overflow\");}" }, { - "id": 2232, + "id": 2454, "name": "sub", "node_type": 42, "kind": 41, "src": { - "line": 869, + "line": 979, "column": 4, - "start": 31252, - "end": 31387, + "start": 35645, + "end": 35780, "length": 136, - "parent_index": 2208 + "parent_index": 2430 }, "name_location": { - "line": 869, + "line": 979, "column": 13, - "start": 31261, - "end": 31263, + "start": 35654, + "end": 35656, "length": 3, - "parent_index": 2232 + "parent_index": 2454 }, "body": { - "id": 2241, + "id": 2463, "node_type": 46, "kind": 0, "src": { - "line": 869, + "line": 979, "column": 73, - "start": 31321, - "end": 31387, + "start": 35714, + "end": 35780, "length": 67, - "parent_index": 2232 + "parent_index": 2454 }, "implemented": true, "statements": [ { - "id": 2242, + "id": 2464, "node_type": 24, "kind": 24, "src": { - "line": 870, + "line": 980, "column": 8, - "start": 31331, - "end": 31380, + "start": 35724, + "end": 35773, "length": 50, - "parent_index": 2241 + "parent_index": 2463 }, "argument_types": [ { @@ -564,55 +571,55 @@ ], "arguments": [ { - "id": 2244, + "id": 2466, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 870, + "line": 980, "column": 16, - "start": 31339, - "end": 31354, + "start": 35732, + "end": 35747, "length": 16, - "parent_index": 2242 + "parent_index": 2464 }, "operator": 10, "left_expression": { - "id": 2245, + "id": 2467, "node_type": 60, "src": { - "line": 870, + "line": 980, "column": 16, - "start": 31339, - "end": 31349, + "start": 35732, + "end": 35742, "length": 11, - "parent_index": 2244 + "parent_index": 2466 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2246, + "id": 2468, "node_type": 27, "src": { - "line": 870, + "line": 980, "column": 17, - "start": 31340, - "end": 31348, + "start": 35733, + "end": 35741, "length": 9, - "parent_index": 2245 + "parent_index": 2467 }, "operator": 11, "left_expression": { - "id": 2247, + "id": 2469, "node_type": 16, "src": { - "line": 870, + "line": 980, "column": 17, - "start": 31340, - "end": 31340, + "start": 35733, + "end": 35733, "length": 1, - "parent_index": 2246 + "parent_index": 2468 }, "name": "z", "type_description": { @@ -620,33 +627,34 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2217, - "is_pure": false + "referenced_declaration": 2439, + "is_pure": false, + "text": "z" }, "right_expression": { - "id": 2248, + "id": 2470, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 870, + "line": 980, "column": 21, - "start": 31344, - "end": 31348, + "start": 35737, + "end": 35741, "length": 5, - "parent_index": 2246 + "parent_index": 2468 }, "operator": 2, "left_expression": { - "id": 2249, + "id": 2471, "node_type": 16, "src": { - "line": 870, + "line": 980, "column": 21, - "start": 31344, - "end": 31344, + "start": 35737, + "end": 35737, "length": 1, - "parent_index": 2248 + "parent_index": 2470 }, "name": "x", "type_description": { @@ -654,19 +662,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2249, - "is_pure": false + "referenced_declaration": 2471, + "is_pure": false, + "text": "x" }, "right_expression": { - "id": 2250, + "id": 2472, "node_type": 16, "src": { - "line": 870, + "line": 980, "column": 25, - "start": 31348, - "end": 31348, + "start": 35741, + "end": 35741, "length": 1, - "parent_index": 2248 + "parent_index": 2470 }, "name": "y", "type_description": { @@ -674,8 +683,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2250, - "is_pure": false + "referenced_declaration": 2472, + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_uint256", @@ -694,15 +704,15 @@ } }, "right_expression": { - "id": 2251, + "id": 2473, "node_type": 16, "src": { - "line": 870, + "line": 980, "column": 31, - "start": 31354, - "end": 31354, + "start": 35747, + "end": 35747, "length": 1, - "parent_index": 2244 + "parent_index": 2466 }, "name": "x", "type_description": { @@ -710,8 +720,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2251, - "is_pure": false + "referenced_declaration": 2473, + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -719,18 +730,18 @@ } }, { - "id": 2252, + "id": 2474, "node_type": 17, "kind": 50, "value": "ds-math-sub-underflow", "hex_value": "64732d6d6174682d7375622d756e646572666c6f77", "src": { - "line": 870, + "line": 980, "column": 34, - "start": 31357, - "end": 31379, + "start": 35750, + "end": 35772, "length": 23, - "parent_index": 2242 + "parent_index": 2464 }, "type_description": { "type_identifier": "t_string_literal", @@ -744,19 +755,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ds-math-sub-underflow\"" } ], "expression": { - "id": 2243, + "id": 2465, "node_type": 16, "src": { - "line": 870, + "line": 980, "column": 8, - "start": 31331, - "end": 31337, + "start": 35724, + "end": 35730, "length": 7, - "parent_index": 2242 + "parent_index": 2464 }, "name": "require", "type_description": { @@ -765,7 +777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -781,40 +794,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2233, + "id": 2455, "node_type": 43, "src": { - "line": 869, + "line": 979, "column": 17, - "start": 31265, - "end": 31284, + "start": 35658, + "end": 35677, "length": 20, - "parent_index": 2232 + "parent_index": 2454 }, "parameters": [ { - "id": 2234, + "id": 2456, "node_type": 44, "src": { - "line": 869, + "line": 979, "column": 17, - "start": 31265, - "end": 31273, + "start": 35658, + "end": 35666, "length": 9, - "parent_index": 2233 + "parent_index": 2455 }, - "scope": 2232, + "scope": 2454, "name": "x", "type_name": { - "id": 2235, + "id": 2457, "node_type": 30, "src": { - "line": 869, + "line": 979, "column": 17, - "start": 31265, - "end": 31271, + "start": 35658, + "end": 35664, "length": 7, - "parent_index": 2234 + "parent_index": 2456 }, "name": "uint256", "referenced_declaration": 0, @@ -832,28 +845,28 @@ } }, { - "id": 2236, + "id": 2458, "node_type": 44, "src": { - "line": 869, + "line": 979, "column": 28, - "start": 31276, - "end": 31284, + "start": 35669, + "end": 35677, "length": 9, - "parent_index": 2233 + "parent_index": 2455 }, - "scope": 2232, + "scope": 2454, "name": "y", "type_name": { - "id": 2237, + "id": 2459, "node_type": 30, "src": { - "line": 869, + "line": 979, "column": 28, - "start": 31276, - "end": 31282, + "start": 35669, + "end": 35675, "length": 7, - "parent_index": 2236 + "parent_index": 2458 }, "name": "uint256", "referenced_declaration": 0, @@ -883,40 +896,40 @@ ] }, "return_parameters": { - "id": 2238, + "id": 2460, "node_type": 43, "src": { - "line": 869, + "line": 979, "column": 62, - "start": 31310, - "end": 31318, + "start": 35703, + "end": 35711, "length": 9, - "parent_index": 2232 + "parent_index": 2454 }, "parameters": [ { - "id": 2239, + "id": 2461, "node_type": 44, "src": { - "line": 869, + "line": 979, "column": 62, - "start": 31310, - "end": 31318, + "start": 35703, + "end": 35711, "length": 9, - "parent_index": 2238 + "parent_index": 2460 }, - "scope": 2232, + "scope": 2454, "name": "z", "type_name": { - "id": 2240, + "id": 2462, "node_type": 30, "src": { - "line": 869, + "line": 979, "column": 62, - "start": 31310, - "end": 31316, + "start": 35703, + "end": 35709, "length": 7, - "parent_index": 2239 + "parent_index": 2461 }, "name": "uint256", "referenced_declaration": 0, @@ -941,60 +954,61 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", - "scope": 2208, + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", + "scope": 2430, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256x,uint256y)internalpurereturns(uint256z){require((z=x-y)\u003c=x,\"ds-math-sub-underflow\");}" }, { - "id": 2254, + "id": 2476, "name": "mul", "node_type": 42, "kind": 41, "src": { - "line": 873, + "line": 983, "column": 4, - "start": 31394, - "end": 31542, + "start": 35787, + "end": 35935, "length": 149, - "parent_index": 2208 + "parent_index": 2430 }, "name_location": { - "line": 873, + "line": 983, "column": 13, - "start": 31403, - "end": 31405, + "start": 35796, + "end": 35798, "length": 3, - "parent_index": 2254 + "parent_index": 2476 }, "body": { - "id": 2263, + "id": 2485, "node_type": 46, "kind": 0, "src": { - "line": 873, + "line": 983, "column": 73, - "start": 31463, - "end": 31542, + "start": 35856, + "end": 35935, "length": 80, - "parent_index": 2254 + "parent_index": 2476 }, "implemented": true, "statements": [ { - "id": 2264, + "id": 2486, "node_type": 24, "kind": 24, "src": { - "line": 874, + "line": 984, "column": 8, - "start": 31473, - "end": 31535, + "start": 35866, + "end": 35928, "length": 63, - "parent_index": 2263 + "parent_index": 2485 }, "argument_types": [ { @@ -1008,43 +1022,43 @@ ], "arguments": [ { - "id": 2266, + "id": 2488, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 874, + "line": 984, "column": 16, - "start": 31481, - "end": 31510, + "start": 35874, + "end": 35903, "length": 30, - "parent_index": 2264 + "parent_index": 2486 }, "operator": 33, "left_expression": { - "id": 2267, + "id": 2489, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 874, + "line": 984, "column": 16, - "start": 31481, - "end": 31486, + "start": 35874, + "end": 35879, "length": 6, - "parent_index": 2266 + "parent_index": 2488 }, "operator": 11, "left_expression": { - "id": 2268, + "id": 2490, "node_type": 16, "src": { - "line": 874, + "line": 984, "column": 16, - "start": 31481, - "end": 31481, + "start": 35874, + "end": 35874, "length": 1, - "parent_index": 2267 + "parent_index": 2489 }, "name": "y", "type_description": { @@ -1052,22 +1066,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2268, - "is_pure": false + "referenced_declaration": 2490, + "is_pure": false, + "text": "y" }, "right_expression": { - "id": 2269, + "id": 2491, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 874, + "line": 984, "column": 21, - "start": 31486, - "end": 31486, + "start": 35879, + "end": 35879, "length": 1, - "parent_index": 2267 + "parent_index": 2489 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1075,7 +1090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1083,69 +1099,69 @@ } }, "right_expression": { - "id": 2270, + "id": 2492, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 874, + "line": 984, "column": 26, - "start": 31491, - "end": 31510, + "start": 35884, + "end": 35903, "length": 20, - "parent_index": 2266 + "parent_index": 2488 }, "operator": 11, "left_expression": { - "id": 2271, + "id": 2493, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 874, + "line": 984, "column": 26, - "start": 31491, - "end": 31505, + "start": 35884, + "end": 35898, "length": 15, - "parent_index": 2270 + "parent_index": 2492 }, "operator": 4, "left_expression": { - "id": 2272, + "id": 2494, "node_type": 60, "src": { - "line": 874, + "line": 984, "column": 26, - "start": 31491, - "end": 31501, + "start": 35884, + "end": 35894, "length": 11, - "parent_index": 2271 + "parent_index": 2493 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2273, + "id": 2495, "node_type": 27, "src": { - "line": 874, + "line": 984, "column": 27, - "start": 31492, - "end": 31500, + "start": 35885, + "end": 35893, "length": 9, - "parent_index": 2272 + "parent_index": 2494 }, "operator": 11, "left_expression": { - "id": 2274, + "id": 2496, "node_type": 16, "src": { - "line": 874, + "line": 984, "column": 27, - "start": 31492, - "end": 31492, + "start": 35885, + "end": 35885, "length": 1, - "parent_index": 2273 + "parent_index": 2495 }, "name": "z", "type_description": { @@ -1153,33 +1169,34 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2217, - "is_pure": false + "referenced_declaration": 2439, + "is_pure": false, + "text": "z" }, "right_expression": { - "id": 2275, + "id": 2497, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 874, + "line": 984, "column": 31, - "start": 31496, - "end": 31500, + "start": 35889, + "end": 35893, "length": 5, - "parent_index": 2273 + "parent_index": 2495 }, "operator": 3, "left_expression": { - "id": 2276, + "id": 2498, "node_type": 16, "src": { - "line": 874, + "line": 984, "column": 31, - "start": 31496, - "end": 31496, + "start": 35889, + "end": 35889, "length": 1, - "parent_index": 2275 + "parent_index": 2497 }, "name": "x", "type_description": { @@ -1187,19 +1204,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2276, - "is_pure": false + "referenced_declaration": 2498, + "is_pure": false, + "text": "x" }, "right_expression": { - "id": 2277, + "id": 2499, "node_type": 16, "src": { - "line": 874, + "line": 984, "column": 35, - "start": 31500, - "end": 31500, + "start": 35893, + "end": 35893, "length": 1, - "parent_index": 2275 + "parent_index": 2497 }, "name": "y", "type_description": { @@ -1207,8 +1225,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2277, - "is_pure": false + "referenced_declaration": 2499, + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_uint256", @@ -1227,15 +1246,15 @@ } }, "right_expression": { - "id": 2278, + "id": 2500, "node_type": 16, "src": { - "line": 874, + "line": 984, "column": 40, - "start": 31505, - "end": 31505, + "start": 35898, + "end": 35898, "length": 1, - "parent_index": 2271 + "parent_index": 2493 }, "name": "y", "type_description": { @@ -1243,8 +1262,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2278, - "is_pure": false + "referenced_declaration": 2500, + "is_pure": false, + "text": "y" }, "type_description": { "type_identifier": "t_tuple_$_t_uint256$", @@ -1252,15 +1272,15 @@ } }, "right_expression": { - "id": 2279, + "id": 2501, "node_type": 16, "src": { - "line": 874, + "line": 984, "column": 45, - "start": 31510, - "end": 31510, + "start": 35903, + "end": 35903, "length": 1, - "parent_index": 2270 + "parent_index": 2492 }, "name": "x", "type_description": { @@ -1268,8 +1288,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2279, - "is_pure": false + "referenced_declaration": 2501, + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -1282,18 +1303,18 @@ } }, { - "id": 2280, + "id": 2502, "node_type": 17, "kind": 50, "value": "ds-math-mul-overflow", "hex_value": "64732d6d6174682d6d756c2d6f766572666c6f77", "src": { - "line": 874, + "line": 984, "column": 48, - "start": 31513, - "end": 31534, + "start": 35906, + "end": 35927, "length": 22, - "parent_index": 2264 + "parent_index": 2486 }, "type_description": { "type_identifier": "t_string_literal", @@ -1307,19 +1328,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ds-math-mul-overflow\"" } ], "expression": { - "id": 2265, + "id": 2487, "node_type": 16, "src": { - "line": 874, + "line": 984, "column": 8, - "start": 31473, - "end": 31479, + "start": 35866, + "end": 35872, "length": 7, - "parent_index": 2264 + "parent_index": 2486 }, "name": "require", "type_description": { @@ -1328,7 +1350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1344,40 +1367,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2255, + "id": 2477, "node_type": 43, "src": { - "line": 873, + "line": 983, "column": 17, - "start": 31407, - "end": 31426, + "start": 35800, + "end": 35819, "length": 20, - "parent_index": 2254 + "parent_index": 2476 }, "parameters": [ { - "id": 2256, + "id": 2478, "node_type": 44, "src": { - "line": 873, + "line": 983, "column": 17, - "start": 31407, - "end": 31415, + "start": 35800, + "end": 35808, "length": 9, - "parent_index": 2255 + "parent_index": 2477 }, - "scope": 2254, + "scope": 2476, "name": "x", "type_name": { - "id": 2257, + "id": 2479, "node_type": 30, "src": { - "line": 873, + "line": 983, "column": 17, - "start": 31407, - "end": 31413, + "start": 35800, + "end": 35806, "length": 7, - "parent_index": 2256 + "parent_index": 2478 }, "name": "uint256", "referenced_declaration": 0, @@ -1395,28 +1418,28 @@ } }, { - "id": 2258, + "id": 2480, "node_type": 44, "src": { - "line": 873, + "line": 983, "column": 28, - "start": 31418, - "end": 31426, + "start": 35811, + "end": 35819, "length": 9, - "parent_index": 2255 + "parent_index": 2477 }, - "scope": 2254, + "scope": 2476, "name": "y", "type_name": { - "id": 2259, + "id": 2481, "node_type": 30, "src": { - "line": 873, + "line": 983, "column": 28, - "start": 31418, - "end": 31424, + "start": 35811, + "end": 35817, "length": 7, - "parent_index": 2258 + "parent_index": 2480 }, "name": "uint256", "referenced_declaration": 0, @@ -1446,40 +1469,40 @@ ] }, "return_parameters": { - "id": 2260, + "id": 2482, "node_type": 43, "src": { - "line": 873, + "line": 983, "column": 62, - "start": 31452, - "end": 31460, + "start": 35845, + "end": 35853, "length": 9, - "parent_index": 2254 + "parent_index": 2476 }, "parameters": [ { - "id": 2261, + "id": 2483, "node_type": 44, "src": { - "line": 873, + "line": 983, "column": 62, - "start": 31452, - "end": 31460, + "start": 35845, + "end": 35853, "length": 9, - "parent_index": 2260 + "parent_index": 2482 }, - "scope": 2254, + "scope": 2476, "name": "z", "type_name": { - "id": 2262, + "id": 2484, "node_type": 30, "src": { - "line": 873, + "line": 983, "column": 62, - "start": 31452, - "end": 31458, + "start": 35845, + "end": 35851, "length": 7, - "parent_index": 2261 + "parent_index": 2483 }, "name": "uint256", "referenced_declaration": 0, @@ -1504,27 +1527,28 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", - "scope": 2208, + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", + "scope": 2430, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256x,uint256y)internalpurereturns(uint256z){require(y==0||(z=x*y)/y==x,\"ds-math-mul-overflow\");}" } ], "linearized_base_contracts": [ - 2208 + 2430 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 864, + "line": 974, "column": 0, - "start": 31081, - "end": 31544, + "start": 35474, + "end": 35937, "length": 464, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/StargateAdapter.solgo.ast.json b/data/tests/contracts/sushixswap/StargateAdapter.solgo.ast.json index a1cdd0d4..18733657 100644 --- a/data/tests/contracts/sushixswap/StargateAdapter.solgo.ast.json +++ b/data/tests/contracts/sushixswap/StargateAdapter.solgo.ast.json @@ -1,93 +1,93 @@ { - "id": 3694, + "id": 1678, "base_contracts": [ { - "id": 3746, + "id": 1706, "node_type": 62, "src": { - "line": 1340, + "line": 770, "column": 37, - "start": 46715, - "end": 46728, + "start": 27445, + "end": 27458, "length": 14, - "parent_index": 3745 + "parent_index": 1705 }, "base_name": { - "id": 3747, + "id": 1707, "node_type": 52, "src": { - "line": 1340, + "line": 770, "column": 37, - "start": 46715, - "end": 46728, + "start": 27445, + "end": 27458, "length": 14, - "parent_index": 3745 + "parent_index": 1705 }, "name": "ImmutableState", "referenced_declaration": 948 } }, { - "id": 3748, + "id": 1708, "node_type": 62, "src": { - "line": 1340, + "line": 770, "column": 53, - "start": 46731, - "end": 46747, + "start": 27461, + "end": 27477, "length": 17, - "parent_index": 3745 + "parent_index": 1705 }, "base_name": { - "id": 3749, + "id": 1709, "node_type": 52, "src": { - "line": 1340, + "line": 770, "column": 53, - "start": 46731, - "end": 46747, + "start": 27461, + "end": 27477, "length": 17, - "parent_index": 3745 + "parent_index": 1705 }, "name": "IStargateReceiver", - "referenced_declaration": 3615 + "referenced_declaration": 1373 } } ], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 3694, + "id": 1678, "name": "StargateAdapter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/StargateAdapter.sol" }, { - "id": 3615, + "id": 1442, "name": "SafeERC20", "absolute_path": "SafeERC20.sol" }, { - "id": 3615, + "id": 1442, "name": "IStargateReceiver", "absolute_path": "IStargateReceiver.sol" }, { - "id": 3615, + "id": 1442, "name": "ImmutableState", "absolute_path": "ImmutableState.sol" }, { - "id": 3615, + "id": 1442, "name": "IStargateAdapter", "absolute_path": "IStargateAdapter.sol" }, { - "id": 3615, + "id": 1442, "name": "ISushiXSwap", "absolute_path": "ISushiXSwap.sol" }, { - "id": 3615, + "id": 1442, "name": "IStargateWidget", "absolute_path": "IStargateWidget.sol" } @@ -97,15 +97,15 @@ "node_type": 1, "nodes": [ { - "id": 3715, + "id": 1690, "node_type": 10, "src": { - "line": 1329, + "line": 759, "column": 0, - "start": 46384, - "end": 46406, + "start": 27114, + "end": 27136, "length": 23, - "parent_index": 3694 + "parent_index": 1678 }, "literals": [ "pragma", @@ -120,189 +120,189 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 3739, + "id": 1699, "node_type": 29, "src": { - "line": 1331, + "line": 761, "column": 0, - "start": 46409, - "end": 46433, + "start": 27139, + "end": 27163, "length": 25, - "parent_index": 3694 + "parent_index": 1678 }, "absolute_path": "SafeERC20.sol", "file": "./SafeERC20.sol", - "scope": 3694, + "scope": 1678, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3615 + "source_unit": 1442 }, { - "id": 3740, + "id": 1700, "node_type": 29, "src": { - "line": 1332, + "line": 762, "column": 0, - "start": 46435, - "end": 46467, + "start": 27165, + "end": 27197, "length": 33, - "parent_index": 3694 + "parent_index": 1678 }, "absolute_path": "IStargateReceiver.sol", "file": "./IStargateReceiver.sol", - "scope": 3694, + "scope": 1678, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3615 + "source_unit": 1442 }, { - "id": 3741, + "id": 1701, "node_type": 29, "src": { - "line": 1333, + "line": 763, "column": 0, - "start": 46469, - "end": 46498, + "start": 27199, + "end": 27228, "length": 30, - "parent_index": 3694 + "parent_index": 1678 }, "absolute_path": "ImmutableState.sol", "file": "./ImmutableState.sol", - "scope": 3694, + "scope": 1678, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3615 + "source_unit": 1442 }, { - "id": 3742, + "id": 1702, "node_type": 29, "src": { - "line": 1334, + "line": 764, "column": 0, - "start": 46500, - "end": 46531, + "start": 27230, + "end": 27261, "length": 32, - "parent_index": 3694 + "parent_index": 1678 }, "absolute_path": "IStargateAdapter.sol", "file": "./IStargateAdapter.sol", - "scope": 3694, + "scope": 1678, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3615 + "source_unit": 1442 }, { - "id": 3743, + "id": 1703, "node_type": 29, "src": { - "line": 1335, + "line": 765, "column": 0, - "start": 46533, - "end": 46559, + "start": 27263, + "end": 27289, "length": 27, - "parent_index": 3694 + "parent_index": 1678 }, "absolute_path": "ISushiXSwap.sol", "file": "./ISushiXSwap.sol", - "scope": 3694, + "scope": 1678, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3615 + "source_unit": 1442 }, { - "id": 3744, + "id": 1704, "node_type": 29, "src": { - "line": 1336, + "line": 766, "column": 0, - "start": 46561, - "end": 46591, + "start": 27291, + "end": 27321, "length": 31, - "parent_index": 3694 + "parent_index": 1678 }, "absolute_path": "IStargateWidget.sol", "file": "./IStargateWidget.sol", - "scope": 3694, + "scope": 1678, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3615 + "source_unit": 1442 }, { - "id": 3745, + "id": 1705, "name": "StargateAdapter", "node_type": 35, "src": { - "line": 1340, + "line": 770, "column": 0, - "start": 46678, - "end": 52109, + "start": 27408, + "end": 32839, "length": 5432, - "parent_index": 3694 + "parent_index": 1678 }, "name_location": { - "line": 1340, + "line": 770, "column": 18, - "start": 46696, - "end": 46710, + "start": 27426, + "end": 27440, "length": 15, - "parent_index": 3745 + "parent_index": 1705 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3751, + "id": 1711, "node_type": 51, "src": { - "line": 1341, + "line": 771, "column": 0, - "start": 46755, - "end": 46781, + "start": 27485, + "end": 27511, "length": 27, - "parent_index": 3745 + "parent_index": 1705 }, "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" }, "type_name": { - "id": 3753, + "id": 1713, "node_type": 69, "src": { - "line": 1341, + "line": 771, "column": 24, - "start": 46775, - "end": 46780, + "start": 27505, + "end": 27510, "length": 6, - "parent_index": 3751 + "parent_index": 1711 }, "path_node": { - "id": 3754, + "id": 1714, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 1341, + "line": 771, "column": 24, - "start": 46775, - "end": 46780, + "start": 27505, + "end": 27510, "length": 6, - "parent_index": 3753 + "parent_index": 1713 }, "name_location": { - "line": 1341, + "line": 771, "column": 24, - "start": 46775, - "end": 46780, + "start": 27505, + "end": 27510, "length": 6, - "parent_index": 3753 + "parent_index": 1713 } }, "referenced_declaration": 1089, @@ -312,105 +312,105 @@ } }, "library_name": { - "id": 3752, + "id": 1712, "node_type": 52, "src": { - "line": 1341, + "line": 771, "column": 0, - "start": 46761, - "end": 46769, + "start": 27491, + "end": 27499, "length": 9, - "parent_index": 3751 + "parent_index": 1711 }, "name": "SafeERC20", - "referenced_declaration": 1373 + "referenced_declaration": 1442 } }, { - "id": 3756, + "id": 1716, "node_type": 77, "src": { - "line": 1344, + "line": 774, "column": 4, - "start": 46808, - "end": 46833, + "start": 27538, + "end": 27563, "length": 26, - "parent_index": 3745 + "parent_index": 1705 }, "name": "NotStargateRouter", "name_location": { - "line": 1344, + "line": 774, "column": 10, - "start": 46814, - "end": 46830, + "start": 27544, + "end": 27560, "length": 17, - "parent_index": 3756 + "parent_index": 1716 }, "parameters": { - "id": 3757, + "id": 1717, "node_type": 43, "src": { - "line": 1344, + "line": 774, "column": 4, - "start": 46808, - "end": 46833, + "start": 27538, + "end": 27563, "length": 26, - "parent_index": 3756 + "parent_index": 1716 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_StargateAdapter_NotStargateRouter_$3756", + "type_identifier": "t_error$_StargateAdapter_NotStargateRouter_$1716", "type_string": "error StargateAdapter.NotStargateRouter" } }, { - "id": 3759, + "id": 1719, "node_type": 57, "src": { - "line": 1347, + "line": 777, "column": 4, - "start": 46854, - "end": 46909, + "start": 27584, + "end": 27639, "length": 56, - "parent_index": 3745 + "parent_index": 1705 }, "parameters": { - "id": 3760, + "id": 1720, "node_type": 43, "src": { - "line": 1347, + "line": 777, "column": 4, - "start": 46854, - "end": 46909, + "start": 27584, + "end": 27639, "length": 56, - "parent_index": 3759 + "parent_index": 1719 }, "parameters": [ { - "id": 3761, + "id": 1721, "node_type": 44, "src": { - "line": 1347, + "line": 777, "column": 32, - "start": 46882, - "end": 46907, + "start": 27612, + "end": 27637, "length": 26, - "parent_index": 3760 + "parent_index": 1720 }, - "scope": 3759, + "scope": 1719, "name": "srcContext", "type_name": { - "id": 3762, + "id": 1722, "node_type": 30, "src": { - "line": 1347, + "line": 777, "column": 32, - "start": 46882, - "end": 46888, + "start": 27612, + "end": 27618, "length": 7, - "parent_index": 3761 + "parent_index": 1721 }, "name": "bytes32", "referenced_declaration": 0, @@ -439,56 +439,56 @@ "name": "StargateSushiXSwapSrc", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00263759", + "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00261719", "type_string": "event StargateAdapter.StargateSushiXSwapSrc" } }, { - "id": 3764, + "id": 1724, "node_type": 57, "src": { - "line": 1348, + "line": 778, "column": 4, - "start": 46915, - "end": 46983, + "start": 27645, + "end": 27713, "length": 69, - "parent_index": 3745 + "parent_index": 1705 }, "parameters": { - "id": 3765, + "id": 1725, "node_type": 43, "src": { - "line": 1348, + "line": 778, "column": 4, - "start": 46915, - "end": 46983, + "start": 27645, + "end": 27713, "length": 69, - "parent_index": 3764 + "parent_index": 1724 }, "parameters": [ { - "id": 3766, + "id": 1726, "node_type": 44, "src": { - "line": 1348, + "line": 778, "column": 32, - "start": 46943, - "end": 46968, + "start": 27673, + "end": 27698, "length": 26, - "parent_index": 3765 + "parent_index": 1725 }, - "scope": 3764, + "scope": 1724, "name": "srcContext", "type_name": { - "id": 3767, + "id": 1727, "node_type": 30, "src": { - "line": 1348, + "line": 778, "column": 32, - "start": 46943, - "end": 46949, + "start": 27673, + "end": 27679, "length": 7, - "parent_index": 3766 + "parent_index": 1726 }, "name": "bytes32", "referenced_declaration": 0, @@ -507,28 +507,28 @@ "indexed": true }, { - "id": 3768, + "id": 1728, "node_type": 44, "src": { - "line": 1348, + "line": 778, "column": 60, - "start": 46971, - "end": 46981, + "start": 27701, + "end": 27711, "length": 11, - "parent_index": 3765 + "parent_index": 1725 }, - "scope": 3764, + "scope": 1724, "name": "failed", "type_name": { - "id": 3769, + "id": 1729, "node_type": 30, "src": { - "line": 1348, + "line": 778, "column": 60, - "start": 46971, - "end": 46974, + "start": 27701, + "end": 27704, "length": 4, - "parent_index": 3768 + "parent_index": 1728 }, "name": "bool", "referenced_declaration": 0, @@ -560,59 +560,59 @@ "name": "StargateSushiXSwapDst", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00263764", + "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00261724", "type_string": "event StargateAdapter.StargateSushiXSwapDst" } }, { - "id": 3771, + "id": 1731, "node_type": 67, "src": { - "line": 1350, + "line": 780, "column": 4, - "start": 46990, - "end": 47674, + "start": 27720, + "end": 28404, "length": 685, - "parent_index": 3694 + "parent_index": 1678 }, "name": "StargateTeleportParams", "name_location": { - "line": 1350, + "line": 780, "column": 11, - "start": 46997, - "end": 47018, + "start": 27727, + "end": 27748, "length": 22, - "parent_index": 3771 + "parent_index": 1731 }, "canonical_name": "StargateAdapter.StargateTeleportParams", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "members": [ { - "id": 3772, + "id": 1732, "node_type": 44, "src": { - "line": 1351, + "line": 781, "column": 8, - "start": 47030, - "end": 47047, + "start": 27760, + "end": 27777, "length": 18, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "dstChainId", "type_name": { - "id": 3773, + "id": 1733, "node_type": 30, "src": { - "line": 1351, + "line": 781, "column": 8, - "start": 47030, - "end": 47035, + "start": 27760, + "end": 27765, "length": 6, - "parent_index": 3772 + "parent_index": 1732 }, "name": "uint16", "referenced_declaration": 0, @@ -629,28 +629,28 @@ } }, { - "id": 3774, + "id": 1734, "node_type": 44, "src": { - "line": 1352, + "line": 782, "column": 8, - "start": 47082, - "end": 47095, + "start": 27812, + "end": 27825, "length": 14, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "token", "type_name": { - "id": 3775, + "id": 1735, "node_type": 30, "src": { - "line": 1352, + "line": 782, "column": 8, - "start": 47082, - "end": 47088, + "start": 27812, + "end": 27818, "length": 7, - "parent_index": 3774 + "parent_index": 1734 }, "name": "address", "state_mutability": 4, @@ -668,28 +668,28 @@ } }, { - "id": 3776, + "id": 1736, "node_type": 44, "src": { - "line": 1353, + "line": 783, "column": 8, - "start": 47130, - "end": 47147, + "start": 27860, + "end": 27877, "length": 18, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "srcPoolId", "type_name": { - "id": 3777, + "id": 1737, "node_type": 30, "src": { - "line": 1353, + "line": 783, "column": 8, - "start": 47130, - "end": 47136, + "start": 27860, + "end": 27866, "length": 7, - "parent_index": 3776 + "parent_index": 1736 }, "name": "uint256", "referenced_declaration": 0, @@ -706,28 +706,28 @@ } }, { - "id": 3778, + "id": 1738, "node_type": 44, "src": { - "line": 1354, + "line": 784, "column": 8, - "start": 47181, - "end": 47198, + "start": 27911, + "end": 27928, "length": 18, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "dstPoolId", "type_name": { - "id": 3779, + "id": 1739, "node_type": 30, "src": { - "line": 1354, + "line": 784, "column": 8, - "start": 47181, - "end": 47187, + "start": 27911, + "end": 27917, "length": 7, - "parent_index": 3778 + "parent_index": 1738 }, "name": "uint256", "referenced_declaration": 0, @@ -744,28 +744,28 @@ } }, { - "id": 3780, + "id": 1740, "node_type": 44, "src": { - "line": 1355, + "line": 785, "column": 8, - "start": 47232, - "end": 47246, + "start": 27962, + "end": 27976, "length": 15, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "amount", "type_name": { - "id": 3781, + "id": 1741, "node_type": 30, "src": { - "line": 1355, + "line": 785, "column": 8, - "start": 47232, - "end": 47238, + "start": 27962, + "end": 27968, "length": 7, - "parent_index": 3780 + "parent_index": 1740 }, "name": "uint256", "referenced_declaration": 0, @@ -782,28 +782,28 @@ } }, { - "id": 3782, + "id": 1742, "node_type": 44, "src": { - "line": 1356, + "line": 786, "column": 8, - "start": 47276, - "end": 47293, + "start": 28006, + "end": 28023, "length": 18, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "amountMin", "type_name": { - "id": 3783, + "id": 1743, "node_type": 30, "src": { - "line": 1356, + "line": 786, "column": 8, - "start": 47276, - "end": 47282, + "start": 28006, + "end": 28012, "length": 7, - "parent_index": 3782 + "parent_index": 1742 }, "name": "uint256", "referenced_declaration": 0, @@ -820,28 +820,28 @@ } }, { - "id": 3784, + "id": 1744, "node_type": 44, "src": { - "line": 1357, + "line": 787, "column": 8, - "start": 47331, - "end": 47349, + "start": 28061, + "end": 28079, "length": 19, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "dustAmount", "type_name": { - "id": 3785, + "id": 1745, "node_type": 30, "src": { - "line": 1357, + "line": 787, "column": 8, - "start": 47331, - "end": 47337, + "start": 28061, + "end": 28067, "length": 7, - "parent_index": 3784 + "parent_index": 1744 }, "name": "uint256", "referenced_declaration": 0, @@ -858,28 +858,28 @@ } }, { - "id": 3786, + "id": 1746, "node_type": 44, "src": { - "line": 1358, + "line": 788, "column": 8, - "start": 47403, - "end": 47419, + "start": 28133, + "end": 28149, "length": 17, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "receiver", "type_name": { - "id": 3787, + "id": 1747, "node_type": 30, "src": { - "line": 1358, + "line": 788, "column": 8, - "start": 47403, - "end": 47409, + "start": 28133, + "end": 28139, "length": 7, - "parent_index": 3786 + "parent_index": 1746 }, "name": "address", "state_mutability": 4, @@ -897,28 +897,28 @@ } }, { - "id": 3788, + "id": 1748, "node_type": 44, "src": { - "line": 1359, + "line": 789, "column": 8, - "start": 47456, - "end": 47466, + "start": 28186, + "end": 28196, "length": 11, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "to", "type_name": { - "id": 3789, + "id": 1749, "node_type": 30, "src": { - "line": 1359, + "line": 789, "column": 8, - "start": 47456, - "end": 47462, + "start": 28186, + "end": 28192, "length": 7, - "parent_index": 3788 + "parent_index": 1748 }, "name": "address", "state_mutability": 4, @@ -936,28 +936,28 @@ } }, { - "id": 3790, + "id": 1750, "node_type": 44, "src": { - "line": 1360, + "line": 790, "column": 8, - "start": 47544, - "end": 47555, + "start": 28274, + "end": 28285, "length": 12, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "gas", "type_name": { - "id": 3791, + "id": 1751, "node_type": 30, "src": { - "line": 1360, + "line": 790, "column": 8, - "start": 47544, - "end": 47550, + "start": 28274, + "end": 28280, "length": 7, - "parent_index": 3790 + "parent_index": 1750 }, "name": "uint256", "referenced_declaration": 0, @@ -974,28 +974,28 @@ } }, { - "id": 3792, + "id": 1752, "node_type": 44, "src": { - "line": 1361, + "line": 791, "column": 8, - "start": 47614, - "end": 47632, + "start": 28344, + "end": 28362, "length": 19, - "parent_index": 3771 + "parent_index": 1731 }, - "scope": 3745, + "scope": 1705, "name": "srcContext", "type_name": { - "id": 3793, + "id": 1753, "node_type": 30, "src": { - "line": 1361, + "line": 791, "column": 8, - "start": 47614, - "end": 47620, + "start": 28344, + "end": 28350, "length": 7, - "parent_index": 3792 + "parent_index": 1752 }, "name": "bytes32", "referenced_declaration": 0, @@ -1016,51 +1016,51 @@ "storage_location": 1 }, { - "id": 3795, + "id": 1755, "name": "approveToStargateRouter", "node_type": 42, "kind": 41, "src": { - "line": 1366, + "line": 796, "column": 4, - "start": 47773, - "end": 47906, + "start": 28503, + "end": 28636, "length": 134, - "parent_index": 3745 + "parent_index": 1705 }, "name_location": { - "line": 1366, + "line": 796, "column": 13, - "start": 47782, - "end": 47804, + "start": 28512, + "end": 28534, "length": 23, - "parent_index": 3795 + "parent_index": 1755 }, "body": { - "id": 3801, + "id": 1761, "node_type": 46, "kind": 0, "src": { - "line": 1366, + "line": 796, "column": 60, - "start": 47829, - "end": 47906, + "start": 28559, + "end": 28636, "length": 78, - "parent_index": 3795 + "parent_index": 1755 }, "implemented": true, "statements": [ { - "id": 3802, + "id": 1762, "node_type": 24, "kind": 24, "src": { - "line": 1367, + "line": 797, "column": 8, - "start": 47839, - "end": 47899, + "start": 28569, + "end": 28629, "length": 61, - "parent_index": 3801 + "parent_index": 1761 }, "argument_types": [ { @@ -1074,16 +1074,16 @@ ], "arguments": [ { - "id": 3805, + "id": 1765, "node_type": 24, "kind": 24, "src": { - "line": 1367, + "line": 797, "column": 26, - "start": 47857, - "end": 47879, + "start": 28587, + "end": 28609, "length": 23, - "parent_index": 3802 + "parent_index": 1762 }, "argument_types": [ { @@ -1093,15 +1093,15 @@ ], "arguments": [ { - "id": 3808, + "id": 1768, "node_type": 16, "src": { - "line": 1367, + "line": 797, "column": 34, - "start": 47865, - "end": 47878, + "start": 28595, + "end": 28608, "length": 14, - "parent_index": 3805 + "parent_index": 1765 }, "name": "stargateRouter", "type_description": { @@ -1110,31 +1110,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "stargateRouter" } ], "expression": { - "id": 3806, + "id": 1766, "node_type": 16, "src": { - "line": 1367, + "line": 797, "column": 26, - "start": 47857, - "end": 47863, + "start": 28587, + "end": 28593, "length": 7, - "parent_index": 3805 + "parent_index": 1765 }, "name": "address", "type_name": { - "id": 3807, + "id": 1767, "node_type": 30, "src": { - "line": 1367, + "line": 797, "column": 26, - "start": 47857, - "end": 47863, + "start": 28587, + "end": 28593, "length": 7, - "parent_index": 3806 + "parent_index": 1766 }, "name": "address", "state_mutability": 4, @@ -1156,7 +1157,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1164,39 +1166,39 @@ } }, { - "id": 3809, + "id": 1769, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1367, + "line": 797, "column": 51, - "start": 47882, - "end": 47898, + "start": 28612, + "end": 28628, "length": 17, - "parent_index": 3802 + "parent_index": 1762 }, "member_location": { - "line": 1367, + "line": 797, "column": 65, - "start": 47896, - "end": 47898, + "start": 28626, + "end": 28628, "length": 3, - "parent_index": 3809 + "parent_index": 1769 }, "expression": { - "id": 3810, + "id": 1770, "node_type": 16, "name": "type", "src": { - "line": 1367, + "line": 797, "column": 51, - "start": 47882, - "end": 47894, + "start": 28612, + "end": 28624, "length": 13, - "parent_index": 3809 + "parent_index": 1769 }, "type_description": { "type_identifier": "", @@ -1213,42 +1215,43 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" } ], "expression": { - "id": 3803, + "id": 1763, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1367, + "line": 797, "column": 8, - "start": 47839, - "end": 47855, + "start": 28569, + "end": 28585, "length": 17, - "parent_index": 3802 + "parent_index": 1762 }, "member_location": { - "line": 1367, + "line": 797, "column": 14, - "start": 47845, - "end": 47855, + "start": 28575, + "end": 28585, "length": 11, - "parent_index": 3803 + "parent_index": 1763 }, "expression": { - "id": 3804, + "id": 1764, "node_type": 16, "src": { - "line": 1367, + "line": 797, "column": 8, - "start": 47839, - "end": 47843, + "start": 28569, + "end": 28573, "length": 5, - "parent_index": 3803 + "parent_index": 1763 }, "name": "token", "type_description": { @@ -1256,15 +1259,17 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 3804, - "is_pure": false + "referenced_declaration": 1764, + "is_pure": false, + "text": "token" }, "member_name": "safeApprove", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.safeApprove" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_$", @@ -1280,61 +1285,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3796, + "id": 1756, "node_type": 43, "src": { - "line": 1366, + "line": 796, "column": 37, - "start": 47806, - "end": 47817, + "start": 28536, + "end": 28547, "length": 12, - "parent_index": 3795 + "parent_index": 1755 }, "parameters": [ { - "id": 3797, + "id": 1757, "node_type": 44, "src": { - "line": 1366, + "line": 796, "column": 37, - "start": 47806, - "end": 47817, + "start": 28536, + "end": 28547, "length": 12, - "parent_index": 3796 + "parent_index": 1756 }, - "scope": 3795, + "scope": 1755, "name": "token", "type_name": { - "id": 3798, + "id": 1758, "node_type": 69, "src": { - "line": 1366, + "line": 796, "column": 37, - "start": 47806, - "end": 47811, + "start": 28536, + "end": 28541, "length": 6, - "parent_index": 3797 + "parent_index": 1757 }, "path_node": { - "id": 3799, + "id": 1759, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 1366, + "line": 796, "column": 37, - "start": 47806, - "end": 47811, + "start": 28536, + "end": 28541, "length": 6, - "parent_index": 3798 + "parent_index": 1758 }, "name_location": { - "line": 1366, + "line": 796, "column": 37, - "start": 47806, - "end": 47811, + "start": 28536, + "end": 28541, "length": 6, - "parent_index": 3798 + "parent_index": 1758 } }, "referenced_declaration": 1089, @@ -1360,111 +1365,112 @@ ] }, "return_parameters": { - "id": 3800, + "id": 1760, "node_type": 43, "src": { - "line": 1366, + "line": 796, "column": 4, - "start": 47773, - "end": 47906, + "start": 28503, + "end": 28636, "length": 134, - "parent_index": 3795 + "parent_index": 1755 }, "parameters": [], "parameter_types": [] }, "signature_raw": "approveToStargateRouter()", "signature": "4c6e98b7", - "scope": 3745, + "scope": 1705, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$", "type_string": "function(contract IERC20)" - } + }, + "text": "functionapproveToStargateRouter(IERC20token)external{token.safeApprove(address(stargateRouter),type(uint256).max);}" }, { - "id": 3812, + "id": 1772, "name": "_stargateTeleport", "node_type": 42, "kind": 41, "src": { - "line": 1377, + "line": 807, "column": 4, - "start": 48546, - "end": 49609, + "start": 29276, + "end": 30339, "length": 1064, - "parent_index": 3745 + "parent_index": 1705 }, "name_location": { - "line": 1377, + "line": 807, "column": 13, - "start": 48555, - "end": 48571, + "start": 29285, + "end": 29301, "length": 17, - "parent_index": 3812 + "parent_index": 1772 }, "body": { - "id": 3824, + "id": 1784, "node_type": 46, "kind": 0, "src": { - "line": 1382, + "line": 812, "column": 15, - "start": 48729, - "end": 49609, + "start": 29459, + "end": 30339, "length": 881, - "parent_index": 3812 + "parent_index": 1772 }, "implemented": true, "statements": [ { - "id": 3825, + "id": 1785, "node_type": 44, "src": { - "line": 1383, + "line": 813, "column": 8, - "start": 48739, - "end": 48826, + "start": 29469, + "end": 29556, "length": 88, - "parent_index": 3824 + "parent_index": 1784 }, "assignments": [ - 3826 + 1786 ], "declarations": [ { - "id": 3826, + "id": 1786, "state_mutability": 1, "name": "payload", "node_type": 44, - "scope": 3824, + "scope": 1784, "src": { - "line": 1383, + "line": 813, "column": 8, - "start": 48739, - "end": 48758, + "start": 29469, + "end": 29488, "length": 20, - "parent_index": 3825 + "parent_index": 1785 }, "name_location": { - "line": 1383, + "line": 813, "column": 21, - "start": 48752, - "end": 48758, + "start": 29482, + "end": 29488, "length": 7, - "parent_index": 3826 + "parent_index": 1786 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 3827, + "id": 1787, "node_type": 30, "src": { - "line": 1383, + "line": 813, "column": 8, - "start": 48739, - "end": 48743, + "start": 29469, + "end": 29473, "length": 5, - "parent_index": 3826 + "parent_index": 1786 }, "name": "bytes", "referenced_declaration": 0, @@ -1477,20 +1483,20 @@ } ], "initial_value": { - "id": 3828, + "id": 1788, "node_type": 24, "kind": 24, "src": { - "line": 1383, + "line": 813, "column": 31, - "start": 48762, - "end": 48825, + "start": 29492, + "end": 29555, "length": 64, - "parent_index": 3825 + "parent_index": 1785 }, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { @@ -1506,71 +1512,73 @@ "type_string": "bytes" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } ], "arguments": [ { - "id": 3831, + "id": 1791, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1383, + "line": 813, "column": 42, - "start": 48773, - "end": 48781, + "start": 29503, + "end": 29511, "length": 9, - "parent_index": 3828 + "parent_index": 1788 }, "member_location": { - "line": 1383, + "line": 813, "column": 49, - "start": 48780, - "end": 48781, + "start": 29510, + "end": 29511, "length": 2, - "parent_index": 3831 + "parent_index": 1791 }, "expression": { - "id": 3832, + "id": 1792, "node_type": 16, "src": { - "line": 1383, + "line": 813, "column": 42, - "start": 48773, - "end": 48778, + "start": 29503, + "end": 29508, "length": 6, - "parent_index": 3831 + "parent_index": 1791 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3832, - "is_pure": false + "referenced_declaration": 1792, + "is_pure": false, + "text": "params" }, "member_name": "to", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.to" }, { - "id": 3833, + "id": 1793, "node_type": 16, "src": { - "line": 1383, + "line": 813, "column": 53, - "start": 48784, - "end": 48790, + "start": 29514, + "end": 29520, "length": 7, - "parent_index": 3828 + "parent_index": 1788 }, "name": "actions", "type_description": { @@ -1578,25 +1586,26 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 3833, + "referenced_declaration": 1793, "is_pure": false, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } - ] + ], + "text": "actions" }, { - "id": 3834, + "id": 1794, "node_type": 16, "src": { - "line": 1383, + "line": 813, "column": 62, - "start": 48793, - "end": 48798, + "start": 29523, + "end": 29528, "length": 6, - "parent_index": 3828 + "parent_index": 1788 }, "name": "values", "type_description": { @@ -1604,29 +1613,30 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3834, + "referenced_declaration": 1794, "is_pure": false, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "values" }, { - "id": 3835, + "id": 1795, "node_type": 16, "src": { - "line": 1383, + "line": 813, "column": 70, - "start": 48801, - "end": 48805, + "start": 29531, + "end": 29535, "length": 5, - "parent_index": 3828 + "parent_index": 1788 }, "name": "datas", "type_description": { @@ -1634,11 +1644,11 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3835, + "referenced_declaration": 1795, "is_pure": false, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { @@ -1649,55 +1659,57 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "datas" }, { - "id": 3836, + "id": 1796, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1383, + "line": 813, "column": 77, - "start": 48808, - "end": 48824, + "start": 29538, + "end": 29554, "length": 17, - "parent_index": 3828 + "parent_index": 1788 }, "member_location": { - "line": 1383, + "line": 813, "column": 84, - "start": 48815, - "end": 48824, + "start": 29545, + "end": 29554, "length": 10, - "parent_index": 3836 + "parent_index": 1796 }, "expression": { - "id": 3837, + "id": 1797, "node_type": 16, "src": { - "line": 1383, + "line": 813, "column": 77, - "start": 48808, - "end": 48813, + "start": 29538, + "end": 29543, "length": 6, - "parent_index": 3836 + "parent_index": 1796 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3837, - "is_pure": false + "referenced_declaration": 1797, + "is_pure": false, + "text": "params" }, "member_name": "srcContext", "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { @@ -1714,44 +1726,45 @@ } ], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.srcContext" } ], "expression": { - "id": 3829, + "id": 1789, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1383, + "line": 813, "column": 31, - "start": 48762, - "end": 48771, + "start": 29492, + "end": 29501, "length": 10, - "parent_index": 3828 + "parent_index": 1788 }, "member_location": { - "line": 1383, + "line": 813, "column": 35, - "start": 48766, - "end": 48771, + "start": 29496, + "end": 29501, "length": 6, - "parent_index": 3829 + "parent_index": 1789 }, "expression": { - "id": 3830, + "id": 1790, "node_type": 16, "src": { - "line": 1383, + "line": 813, "column": 31, - "start": 48762, - "end": 48764, + "start": 29492, + "end": 29494, "length": 3, - "parent_index": 3829 + "parent_index": 1789 }, "name": "abi", "type_description": { @@ -1760,44 +1773,46 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_uint8$_t_uint256$_t_bytes$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_uint8$_t_uint256$_t_bytes$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes,struct StargateAdapter.StargateTeleportParams)" } } }, { - "id": 3838, + "id": 1798, "node_type": 24, "kind": 24, "src": { - "line": 1385, + "line": 815, "column": 8, - "start": 48837, - "end": 49501, + "start": 29567, + "end": 30231, "length": 665, - "parent_index": 3824 + "parent_index": 1784 }, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { @@ -1809,15 +1824,15 @@ "type_string": "conditional" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" }, { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams)" }, { @@ -1827,214 +1842,220 @@ ], "arguments": [ { - "id": 3842, + "id": 1802, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1386, + "line": 816, "column": 12, - "start": 48900, - "end": 48916, + "start": 29630, + "end": 29646, "length": 17, - "parent_index": 3838 + "parent_index": 1798 }, "member_location": { - "line": 1386, + "line": 816, "column": 19, - "start": 48907, - "end": 48916, + "start": 29637, + "end": 29646, "length": 10, - "parent_index": 3842 + "parent_index": 1802 }, "expression": { - "id": 3843, + "id": 1803, "node_type": 16, "src": { - "line": 1386, + "line": 816, "column": 12, - "start": 48900, - "end": 48905, + "start": 29630, + "end": 29635, "length": 6, - "parent_index": 3842 + "parent_index": 1802 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3843, - "is_pure": false + "referenced_declaration": 1803, + "is_pure": false, + "text": "params" }, "member_name": "dstChainId", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.dstChainId" }, { - "id": 3844, + "id": 1804, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1387, + "line": 817, "column": 12, - "start": 48931, - "end": 48946, + "start": 29661, + "end": 29676, "length": 16, - "parent_index": 3838 + "parent_index": 1798 }, "member_location": { - "line": 1387, + "line": 817, "column": 19, - "start": 48938, - "end": 48946, + "start": 29668, + "end": 29676, "length": 9, - "parent_index": 3844 + "parent_index": 1804 }, "expression": { - "id": 3845, + "id": 1805, "node_type": 16, "src": { - "line": 1387, + "line": 817, "column": 12, - "start": 48931, - "end": 48936, + "start": 29661, + "end": 29666, "length": 6, - "parent_index": 3844 + "parent_index": 1804 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3845, - "is_pure": false + "referenced_declaration": 1805, + "is_pure": false, + "text": "params" }, "member_name": "srcPoolId", "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } ], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.srcPoolId" }, { - "id": 3846, + "id": 1806, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1388, + "line": 818, "column": 12, - "start": 48961, - "end": 48976, + "start": 29691, + "end": 29706, "length": 16, - "parent_index": 3838 + "parent_index": 1798 }, "member_location": { - "line": 1388, + "line": 818, "column": 19, - "start": 48968, - "end": 48976, + "start": 29698, + "end": 29706, "length": 9, - "parent_index": 3846 + "parent_index": 1806 }, "expression": { - "id": 3847, + "id": 1807, "node_type": 16, "src": { - "line": 1388, + "line": 818, "column": 12, - "start": 48961, - "end": 48966, + "start": 29691, + "end": 29696, "length": 6, - "parent_index": 3846 + "parent_index": 1806 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3847, - "is_pure": false + "referenced_declaration": 1807, + "is_pure": false, + "text": "params" }, "member_name": "dstPoolId", "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } ], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.dstPoolId" }, { - "id": 3848, + "id": 1808, "node_type": 84, "src": { - "line": 1389, + "line": 819, "column": 12, - "start": 48991, - "end": 49009, + "start": 29721, + "end": 29739, "length": 19, - "parent_index": 3838 + "parent_index": 1798 }, "arguments": [ { - "id": 3849, + "id": 1809, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1389, + "line": 819, "column": 20, - "start": 48999, - "end": 49008, + "start": 29729, + "end": 29738, "length": 10, - "parent_index": 3848 + "parent_index": 1808 }, "member_location": { - "line": 1389, + "line": 819, "column": 24, - "start": 49003, - "end": 49008, + "start": 29733, + "end": 29738, "length": 6, - "parent_index": 3849 + "parent_index": 1809 }, "expression": { - "id": 3850, + "id": 1810, "node_type": 16, "src": { - "line": 1389, + "line": 819, "column": 20, - "start": 48999, - "end": 49001, + "start": 29729, + "end": 29731, "length": 3, - "parent_index": 3849 + "parent_index": 1809 }, "name": "msg", "type_description": { @@ -2043,14 +2064,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "argument_types": [ @@ -2066,94 +2089,96 @@ "payable": true }, { - "id": 3852, + "id": 1812, "node_type": 97, "src": { - "line": 1390, + "line": 820, "column": 12, - "start": 49042, - "end": 49155, + "start": 29772, + "end": 29885, "length": 114, - "parent_index": 3838 + "parent_index": 1798 }, "expressions": [ { - "id": 3853, + "id": 1813, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1390, + "line": 820, "column": 12, - "start": 49042, - "end": 49059, + "start": 29772, + "end": 29789, "length": 18, - "parent_index": 3852 + "parent_index": 1812 }, "operator": 12, "left_expression": { - "id": 3854, + "id": 1814, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1390, + "line": 820, "column": 12, - "start": 49042, - "end": 49054, + "start": 29772, + "end": 29784, "length": 13, - "parent_index": 3853 + "parent_index": 1813 }, "member_location": { - "line": 1390, + "line": 820, "column": 19, - "start": 49049, - "end": 49054, + "start": 29779, + "end": 29784, "length": 6, - "parent_index": 3854 + "parent_index": 1814 }, "expression": { - "id": 3855, + "id": 1815, "node_type": 16, "src": { - "line": 1390, + "line": 820, "column": 12, - "start": 49042, - "end": 49047, + "start": 29772, + "end": 29777, "length": 6, - "parent_index": 3854 + "parent_index": 1814 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3855, - "is_pure": false + "referenced_declaration": 1815, + "is_pure": false, + "text": "params" }, "member_name": "amount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.amount" }, "right_expression": { - "id": 3856, + "id": 1816, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1390, + "line": 820, "column": 29, - "start": 49059, - "end": 49059, + "start": 29789, + "end": 29789, "length": 1, - "parent_index": 3853 + "parent_index": 1813 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -2161,7 +2186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2169,66 +2195,68 @@ } }, { - "id": 3857, + "id": 1817, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1391, + "line": 821, "column": 18, - "start": 49079, - "end": 49091, + "start": 29809, + "end": 29821, "length": 13, - "parent_index": 3852 + "parent_index": 1812 }, "member_location": { - "line": 1391, + "line": 821, "column": 25, - "start": 49086, - "end": 49091, + "start": 29816, + "end": 29821, "length": 6, - "parent_index": 3857 + "parent_index": 1817 }, "expression": { - "id": 3858, + "id": 1818, "node_type": 16, "src": { - "line": 1391, + "line": 821, "column": 18, - "start": 49079, - "end": 49084, + "start": 29809, + "end": 29814, "length": 6, - "parent_index": 3857 + "parent_index": 1817 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3858, - "is_pure": false + "referenced_declaration": 1818, + "is_pure": false, + "text": "params" }, "member_name": "amount", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.amount" }, { - "id": 3859, + "id": 1819, "node_type": 24, "kind": 24, "src": { - "line": 1392, + "line": 822, "column": 18, - "start": 49111, - "end": 49155, + "start": 29841, + "end": 29885, "length": 45, - "parent_index": 3852 + "parent_index": 1812 }, "argument_types": [ { @@ -2238,67 +2266,68 @@ ], "arguments": [ { - "id": 3865, + "id": 1825, "node_type": 24, "kind": 24, "src": { - "line": 1392, + "line": 822, "column": 49, - "start": 49142, - "end": 49154, + "start": 29872, + "end": 29884, "length": 13, - "parent_index": 3859 + "parent_index": 1819 }, "argument_types": [ { - "type_identifier": "t_contract$_StargateAdapter_$3694", + "type_identifier": "t_contract$_StargateAdapter_$1678", "type_string": "contract StargateAdapter" } ], "arguments": [ { - "id": 3868, + "id": 1828, "node_type": 16, "src": { - "line": 1392, + "line": 822, "column": 57, - "start": 49150, - "end": 49153, + "start": 29880, + "end": 29883, "length": 4, - "parent_index": 3865 + "parent_index": 1825 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_StargateAdapter_$3694", + "type_identifier": "t_contract$_StargateAdapter_$1678", "type_string": "contract StargateAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3866, + "id": 1826, "node_type": 16, "src": { - "line": 1392, + "line": 822, "column": 49, - "start": 49142, - "end": 49148, + "start": 29872, + "end": 29878, "length": 7, - "parent_index": 3865 + "parent_index": 1825 }, "name": "address", "type_name": { - "id": 3867, + "id": 1827, "node_type": 30, "src": { - "line": 1392, + "line": 822, "column": 49, - "start": 49142, - "end": 49148, + "start": 29872, + "end": 29878, "length": 7, - "parent_index": 3866 + "parent_index": 1826 }, "name": "address", "state_mutability": 4, @@ -2320,7 +2349,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -2329,108 +2359,110 @@ } ], "expression": { - "id": 3860, + "id": 1820, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1392, + "line": 822, "column": 18, - "start": 49111, - "end": 49140, + "start": 29841, + "end": 29870, "length": 30, - "parent_index": 3859 + "parent_index": 1819 }, "member_location": { - "line": 1392, + "line": 822, "column": 39, - "start": 49132, - "end": 49140, + "start": 29862, + "end": 29870, "length": 9, - "parent_index": 3860 + "parent_index": 1820 }, "expression": { - "id": 3861, + "id": 1821, "node_type": 24, "kind": 24, "src": { - "line": 1392, + "line": 822, "column": 18, - "start": 49111, - "end": 49130, + "start": 29841, + "end": 29860, "length": 20, - "parent_index": 3860 + "parent_index": 1820 }, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } ], "arguments": [ { - "id": 3863, + "id": 1823, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1392, + "line": 822, "column": 25, - "start": 49118, - "end": 49129, + "start": 29848, + "end": 29859, "length": 12, - "parent_index": 3861 + "parent_index": 1821 }, "member_location": { - "line": 1392, + "line": 822, "column": 32, - "start": 49125, - "end": 49129, + "start": 29855, + "end": 29859, "length": 5, - "parent_index": 3863 + "parent_index": 1823 }, "expression": { - "id": 3864, + "id": 1824, "node_type": 16, "src": { - "line": 1392, + "line": 822, "column": 25, - "start": 49118, - "end": 49123, + "start": 29848, + "end": 29853, "length": 6, - "parent_index": 3863 + "parent_index": 1823 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3864, - "is_pure": false + "referenced_declaration": 1824, + "is_pure": false, + "text": "params" }, "member_name": "token", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.token" } ], "expression": { - "id": 3862, + "id": 1822, "node_type": 16, "src": { - "line": 1392, + "line": 822, "column": 18, - "start": 49111, - "end": 49116, + "start": 29841, + "end": 29846, "length": 6, - "parent_index": 3861 + "parent_index": 1821 }, "name": "IERC20", "type_description": { @@ -2439,19 +2471,21 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams)" } }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams)" - } + }, + "text": "IERC20(params.token).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -2465,7 +2499,7 @@ "type_string": "bool" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { @@ -2476,60 +2510,61 @@ "type_description": null }, { - "id": 3869, + "id": 1829, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1393, + "line": 823, "column": 12, - "start": 49170, - "end": 49185, + "start": 29900, + "end": 29915, "length": 16, - "parent_index": 3838 + "parent_index": 1798 }, "member_location": { - "line": 1393, + "line": 823, "column": 19, - "start": 49177, - "end": 49185, + "start": 29907, + "end": 29915, "length": 9, - "parent_index": 3869 + "parent_index": 1829 }, "expression": { - "id": 3870, + "id": 1830, "node_type": 16, "src": { - "line": 1393, + "line": 823, "column": 12, - "start": 49170, - "end": 49175, + "start": 29900, + "end": 29905, "length": 6, - "parent_index": 3869 + "parent_index": 1829 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3870, - "is_pure": false + "referenced_declaration": 1830, + "is_pure": false, + "text": "params" }, "member_name": "amountMin", "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { @@ -2542,245 +2577,252 @@ } ], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.amountMin" }, { - "id": 3871, + "id": 1831, "node_type": 24, "kind": 24, "src": { - "line": 1394, + "line": 824, "column": 12, - "start": 49200, - "end": 49392, + "start": 29930, + "end": 30122, "length": 193, - "parent_index": 3838 + "parent_index": 1798 }, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams)" } ], "arguments": [ { - "id": 3874, + "id": 1834, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1395, + "line": 825, "column": 16, - "start": 49241, - "end": 49250, + "start": 29971, + "end": 29980, "length": 10, - "parent_index": 3871 + "parent_index": 1831 }, "member_location": { - "line": 1395, + "line": 825, "column": 23, - "start": 49248, - "end": 49250, + "start": 29978, + "end": 29980, "length": 3, - "parent_index": 3874 + "parent_index": 1834 }, "expression": { - "id": 3875, + "id": 1835, "node_type": 16, "src": { - "line": 1395, + "line": 825, "column": 16, - "start": 49241, - "end": 49246, + "start": 29971, + "end": 29976, "length": 6, - "parent_index": 3874 + "parent_index": 1834 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3875, - "is_pure": false + "referenced_declaration": 1835, + "is_pure": false, + "text": "params" }, "member_name": "gas", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.gas" }, { - "id": 3876, + "id": 1836, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1396, + "line": 826, "column": 16, - "start": 49311, - "end": 49327, + "start": 30041, + "end": 30057, "length": 17, - "parent_index": 3871 + "parent_index": 1831 }, "member_location": { - "line": 1396, + "line": 826, "column": 23, - "start": 49318, - "end": 49327, + "start": 30048, + "end": 30057, "length": 10, - "parent_index": 3876 + "parent_index": 1836 }, "expression": { - "id": 3877, + "id": 1837, "node_type": 16, "src": { - "line": 1396, + "line": 826, "column": 16, - "start": 49311, - "end": 49316, + "start": 30041, + "end": 30046, "length": 6, - "parent_index": 3876 + "parent_index": 1836 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3877, - "is_pure": false + "referenced_declaration": 1837, + "is_pure": false, + "text": "params" }, "member_name": "dustAmount", "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } ], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.dustAmount" }, { - "id": 3878, + "id": 1838, "node_type": 24, "kind": 24, "src": { - "line": 1397, + "line": 827, "column": 16, - "start": 49346, - "end": 49378, + "start": 30076, + "end": 30108, "length": 33, - "parent_index": 3871 + "parent_index": 1831 }, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } ], "arguments": [ { - "id": 3881, + "id": 1841, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1397, + "line": 827, "column": 33, - "start": 49363, - "end": 49377, + "start": 30093, + "end": 30107, "length": 15, - "parent_index": 3878 + "parent_index": 1838 }, "member_location": { - "line": 1397, + "line": 827, "column": 40, - "start": 49370, - "end": 49377, + "start": 30100, + "end": 30107, "length": 8, - "parent_index": 3881 + "parent_index": 1841 }, "expression": { - "id": 3882, + "id": 1842, "node_type": 16, "src": { - "line": 1397, + "line": 827, "column": 33, - "start": 49363, - "end": 49368, + "start": 30093, + "end": 30098, "length": 6, - "parent_index": 3881 + "parent_index": 1841 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3882, - "is_pure": false + "referenced_declaration": 1842, + "is_pure": false, + "text": "params" }, "member_name": "receiver", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.receiver" } ], "expression": { - "id": 3879, + "id": 1839, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1397, + "line": 827, "column": 16, - "start": 49346, - "end": 49361, + "start": 30076, + "end": 30091, "length": 16, - "parent_index": 3878 + "parent_index": 1838 }, "member_location": { - "line": 1397, + "line": 827, "column": 20, - "start": 49350, - "end": 49361, + "start": 30080, + "end": 30091, "length": 12, - "parent_index": 3879 + "parent_index": 1839 }, "expression": { - "id": 3880, + "id": 1840, "node_type": 16, "src": { - "line": 1397, + "line": 827, "column": 16, - "start": 49346, - "end": 49348, + "start": 30076, + "end": 30078, "length": 3, - "parent_index": 3879 + "parent_index": 1839 }, "name": "abi", "type_description": { @@ -2789,54 +2831,56 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams)" } } ], "expression": { - "id": 3872, + "id": 1832, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1394, + "line": 824, "column": 12, - "start": 49200, - "end": 49222, + "start": 29930, + "end": 29952, "length": 23, - "parent_index": 3871 + "parent_index": 1831 }, "member_location": { - "line": 1394, + "line": 824, "column": 28, - "start": 49216, - "end": 49222, + "start": 29946, + "end": 29952, "length": 7, - "parent_index": 3872 + "parent_index": 1832 }, "expression": { - "id": 3873, + "id": 1833, "node_type": 16, "src": { - "line": 1394, + "line": 824, "column": 12, - "start": 49200, - "end": 49214, + "start": 29930, + "end": 29944, "length": 15, - "parent_index": 3872 + "parent_index": 1832 }, "name": "IStargateRouter", "type_description": { @@ -2845,123 +2889,127 @@ }, "overloaded_declarations": [], "referenced_declaration": 700, - "is_pure": false + "is_pure": false, + "text": "IStargateRouter" }, "member_name": "lzTxObj", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IStargateRouter_$700", "type_string": "contract IStargateRouter" - } + }, + "text": "IStargateRouter.lzTxObj" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" } }, { - "id": 3883, + "id": 1843, "node_type": 24, "kind": 24, "src": { - "line": 1399, + "line": 829, "column": 12, - "start": 49407, - "end": 49439, + "start": 30137, + "end": 30169, "length": 33, - "parent_index": 3838 + "parent_index": 1798 }, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } ], "arguments": [ { - "id": 3886, + "id": 1846, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1399, + "line": 829, "column": 29, - "start": 49424, - "end": 49438, + "start": 30154, + "end": 30168, "length": 15, - "parent_index": 3883 + "parent_index": 1843 }, "member_location": { - "line": 1399, + "line": 829, "column": 36, - "start": 49431, - "end": 49438, + "start": 30161, + "end": 30168, "length": 8, - "parent_index": 3886 + "parent_index": 1846 }, "expression": { - "id": 3887, + "id": 1847, "node_type": 16, "src": { - "line": 1399, + "line": 829, "column": 29, - "start": 49424, - "end": 49429, + "start": 30154, + "end": 30159, "length": 6, - "parent_index": 3886 + "parent_index": 1846 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3887, - "is_pure": false + "referenced_declaration": 1847, + "is_pure": false, + "text": "params" }, "member_name": "receiver", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.receiver" } ], "expression": { - "id": 3884, + "id": 1844, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1399, + "line": 829, "column": 12, - "start": 49407, - "end": 49422, + "start": 30137, + "end": 30152, "length": 16, - "parent_index": 3883 + "parent_index": 1843 }, "member_location": { - "line": 1399, + "line": 829, "column": 16, - "start": 49411, - "end": 49422, + "start": 30141, + "end": 30152, "length": 12, - "parent_index": 3884 + "parent_index": 1844 }, "expression": { - "id": 3885, + "id": 1845, "node_type": 16, "src": { - "line": 1399, + "line": 829, "column": 12, - "start": 49407, - "end": 49409, + "start": 30137, + "end": 30139, "length": 3, - "parent_index": 3884 + "parent_index": 1844 }, "name": "abi", "type_description": { @@ -2970,30 +3018,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams)" } }, { - "id": 3888, + "id": 1848, "node_type": 16, "src": { - "line": 1400, + "line": 830, "column": 12, - "start": 49485, - "end": 49491, + "start": 30215, + "end": 30221, "length": 7, - "parent_index": 3838 + "parent_index": 1798 }, "name": "payload", "type_description": { @@ -3001,19 +3051,19 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3825, + "referenced_declaration": 1785, "is_pure": false, "argument_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { @@ -3025,65 +3075,66 @@ "type_string": "conditional" }, { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" }, { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", "type_string": "function(struct StargateAdapter.StargateTeleportParams)" } - ] + ], + "text": "payload" } ], "expression": { - "id": 3839, + "id": 1799, "node_type": 93, "kind": 93, "src": { - "line": 1385, + "line": 815, "column": 8, - "start": 48837, - "end": 48885, + "start": 29567, + "end": 29615, "length": 49, - "parent_index": 3838 + "parent_index": 1798 }, "expression": { - "id": 3840, + "id": 1800, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1385, + "line": 815, "column": 8, - "start": 48837, - "end": 48855, + "start": 29567, + "end": 29585, "length": 19, - "parent_index": 3839 + "parent_index": 1799 }, "member_location": { - "line": 1385, + "line": 815, "column": 23, - "start": 48852, - "end": 48855, + "start": 29582, + "end": 29585, "length": 4, - "parent_index": 3840 + "parent_index": 1800 }, "expression": { - "id": 3841, + "id": 1801, "node_type": 16, "src": { - "line": 1385, + "line": 815, "column": 8, - "start": 48837, - "end": 48850, + "start": 29567, + "end": 29580, "length": 14, - "parent_index": 3840 + "parent_index": 1800 }, "name": "stargateRouter", "type_description": { @@ -3092,14 +3143,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 967, - "is_pure": false + "is_pure": false, + "text": "stargateRouter" }, "member_name": "swap", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IStargateRouter_$700", "type_string": "contract IStargateRouter" - } + }, + "text": "stargateRouter.swap" }, "type_description": { "type_identifier": "t_contract$_IStargateRouter_$700", @@ -3107,21 +3160,21 @@ } }, "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_payable$_t_address$_$_t_conditional$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_bytes$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_payable$_t_address$_$_t_conditional$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_bytes$", "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(address) payable,conditional,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams)),function(struct StargateAdapter.StargateTeleportParams),bytes)" } }, { - "id": 3889, + "id": 1849, "node_type": 24, "kind": 24, "src": { - "line": 1403, + "line": 833, "column": 8, - "start": 49513, - "end": 49546, + "start": 30243, + "end": 30276, "length": 34, - "parent_index": 3824 + "parent_index": 1784 }, "argument_types": [ { @@ -3131,18 +3184,18 @@ ], "arguments": [ { - "id": 3892, + "id": 1852, "node_type": 17, "kind": 49, "value": "0x0001", "hex_value": "307830303031", "src": { - "line": 1403, + "line": 833, "column": 35, - "start": 49540, - "end": 49545, + "start": 30270, + "end": 30275, "length": 6, - "parent_index": 3889 + "parent_index": 1849 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3150,42 +3203,43 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x0001" } ], "expression": { - "id": 3890, + "id": 1850, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1403, + "line": 833, "column": 8, - "start": 49513, - "end": 49538, + "start": 30243, + "end": 30268, "length": 26, - "parent_index": 3889 + "parent_index": 1849 }, "member_location": { - "line": 1403, + "line": 833, "column": 23, - "start": 49528, - "end": 49538, + "start": 30258, + "end": 30268, "length": 11, - "parent_index": 3890 + "parent_index": 1850 }, "expression": { - "id": 3891, + "id": 1851, "node_type": 16, "src": { - "line": 1403, + "line": 833, "column": 8, - "start": 49513, - "end": 49526, + "start": 30243, + "end": 30256, "length": 14, - "parent_index": 3890 + "parent_index": 1850 }, "name": "stargateWidget", "type_description": { @@ -3194,14 +3248,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 971, - "is_pure": false + "is_pure": false, + "text": "stargateWidget" }, "member_name": "partnerSwap", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IStargateWidget_$797", "type_string": "contract IStargateWidget" - } + }, + "text": "stargateWidget.partnerSwap" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -3209,87 +3265,90 @@ } }, { - "id": 3893, + "id": 1853, "node_type": 64, "src": { - "line": 1405, + "line": 835, "column": 8, - "start": 49558, - "end": 49603, + "start": 30288, + "end": 30333, "length": 46, - "parent_index": 3812 + "parent_index": 1772 }, "arguments": [ { - "id": 3894, + "id": 1854, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1405, + "line": 835, "column": 35, - "start": 49585, - "end": 49601, + "start": 30315, + "end": 30331, "length": 17, - "parent_index": 3893 + "parent_index": 1853 }, "member_location": { - "line": 1405, + "line": 835, "column": 42, - "start": 49592, - "end": 49601, + "start": 30322, + "end": 30331, "length": 10, - "parent_index": 3894 + "parent_index": 1854 }, "expression": { - "id": 3895, + "id": 1855, "node_type": 16, "src": { - "line": 1405, + "line": 835, "column": 35, - "start": 49585, - "end": 49590, + "start": 30315, + "end": 30320, "length": 6, - "parent_index": 3894 + "parent_index": 1854 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3895, - "is_pure": false + "referenced_declaration": 1855, + "is_pure": false, + "text": "params" }, "member_name": "srcContext", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "text": "params.srcContext" } ], "expression": { - "id": 3896, + "id": 1856, "node_type": 16, "src": { - "line": 1405, + "line": 835, "column": 13, - "start": 49563, - "end": 49583, + "start": 30293, + "end": 30313, "length": 21, - "parent_index": 3893 + "parent_index": 1853 }, "name": "StargateSushiXSwapSrc", "type_description": { - "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00263759", + "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00261719", "type_string": "event StargateAdapter.StargateSushiXSwapSrc" }, "overloaded_declarations": [], - "referenced_declaration": 3759, - "is_pure": false + "referenced_declaration": 1719, + "is_pure": false, + "text": "StargateSushiXSwapSrc" } } ] @@ -3301,66 +3360,66 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3813, + "id": 1773, "node_type": 43, "src": { - "line": 1378, + "line": 808, "column": 8, - "start": 48582, - "end": 48712, + "start": 29312, + "end": 29442, "length": 131, - "parent_index": 3812 + "parent_index": 1772 }, "parameters": [ { - "id": 3814, + "id": 1774, "node_type": 44, "src": { - "line": 1378, + "line": 808, "column": 8, - "start": 48582, - "end": 48617, + "start": 29312, + "end": 29347, "length": 36, - "parent_index": 3813 + "parent_index": 1773 }, - "scope": 3812, + "scope": 1772, "name": "params", "type_name": { - "id": 3815, + "id": 1775, "node_type": 69, "src": { - "line": 1378, + "line": 808, "column": 8, - "start": 48582, - "end": 48603, + "start": 29312, + "end": 29333, "length": 22, - "parent_index": 3814 + "parent_index": 1774 }, "path_node": { - "id": 3816, + "id": 1776, "name": "StargateTeleportParams", "node_type": 52, - "referenced_declaration": 3771, + "referenced_declaration": 1731, "src": { - "line": 1378, + "line": 808, "column": 8, - "start": 48582, - "end": 48603, + "start": 29312, + "end": 29333, "length": 22, - "parent_index": 3815 + "parent_index": 1775 }, "name_location": { - "line": 1378, + "line": 808, "column": 8, - "start": 48582, - "end": 48603, + "start": 29312, + "end": 29333, "length": 22, - "parent_index": 3815 + "parent_index": 1775 } }, - "referenced_declaration": 3771, + "referenced_declaration": 1731, "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } }, @@ -3368,33 +3427,33 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" } }, { - "id": 3817, + "id": 1777, "node_type": 44, "src": { - "line": 1379, + "line": 809, "column": 8, - "start": 48628, - "end": 48649, + "start": 29358, + "end": 29379, "length": 22, - "parent_index": 3813 + "parent_index": 1773 }, - "scope": 3812, + "scope": 1772, "name": "actions", "type_name": { - "id": 3818, + "id": 1778, "node_type": 16, "src": { - "line": 1379, + "line": 809, "column": 8, - "start": 48628, - "end": 48632, + "start": 29358, + "end": 29362, "length": 5, - "parent_index": 3817 + "parent_index": 1777 }, "name": "uint8", "referenced_declaration": 0, @@ -3412,28 +3471,28 @@ } }, { - "id": 3819, + "id": 1779, "node_type": 44, "src": { - "line": 1380, + "line": 810, "column": 8, - "start": 48660, - "end": 48682, + "start": 29390, + "end": 29412, "length": 23, - "parent_index": 3813 + "parent_index": 1773 }, - "scope": 3812, + "scope": 1772, "name": "values", "type_name": { - "id": 3820, + "id": 1780, "node_type": 16, "src": { - "line": 1380, + "line": 810, "column": 8, - "start": 48660, - "end": 48666, + "start": 29390, + "end": 29396, "length": 7, - "parent_index": 3819 + "parent_index": 1779 }, "name": "uint256", "referenced_declaration": 0, @@ -3451,28 +3510,28 @@ } }, { - "id": 3821, + "id": 1781, "node_type": 44, "src": { - "line": 1381, + "line": 811, "column": 8, - "start": 48693, - "end": 48712, + "start": 29423, + "end": 29442, "length": 20, - "parent_index": 3813 + "parent_index": 1773 }, - "scope": 3812, + "scope": 1772, "name": "datas", "type_name": { - "id": 3822, + "id": 1782, "node_type": 16, "src": { - "line": 1381, + "line": 811, "column": 8, - "start": 48693, - "end": 48697, + "start": 29423, + "end": 29427, "length": 5, - "parent_index": 3821 + "parent_index": 1781 }, "name": "bytes", "referenced_declaration": 0, @@ -3492,7 +3551,7 @@ ], "parameter_types": [ { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" }, { @@ -3510,109 +3569,110 @@ ] }, "return_parameters": { - "id": 3823, + "id": 1783, "node_type": 43, "src": { - "line": 1377, + "line": 807, "column": 4, - "start": 48546, - "end": 49609, + "start": 29276, + "end": 30339, "length": 1064, - "parent_index": 3812 + "parent_index": 1772 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_stargateTeleport(, uint8, uint256, bytes)", - "signature": "dbc31626", - "scope": 3745, + "signature_raw": "_stargateTeleport(,uint8,uint256,bytes)", + "signature": "f5b01997", + "scope": 1705, "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_uint8$_t_uint256$_t_bytes$", + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_uint8$_t_uint256$_t_bytes$", "type_string": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes)" - } + }, + "text": "function_stargateTeleport(StargateTeleportParamsmemoryparams,uint8[]memoryactions,uint256[]memoryvalues,bytes[]memorydatas)internal{bytesmemorypayload=abi.encode(params.to,actions,values,datas,params.srcContext);stargateRouter.swap{value:address(this).balance}(params.dstChainId,params.srcPoolId,params.dstPoolId,payable(msg.sender),params.amount!=0?params.amount:IERC20(params.token).balanceOf(address(this)),params.amountMin,IStargateRouter.lzTxObj(params.gas,params.dustAmount,abi.encodePacked(params.receiver)),abi.encodePacked(params.receiver),payload);stargateWidget.partnerSwap(0x0001);emitStargateSushiXSwapSrc(params.srcContext);}" }, { - "id": 3898, + "id": 1858, "name": "getFee", "node_type": 42, "kind": 41, "src": { - "line": 1416, + "line": 846, "column": 4, - "start": 50113, - "end": 50687, + "start": 30843, + "end": 31417, "length": 575, - "parent_index": 3745 + "parent_index": 1705 }, "name_location": { - "line": 1416, + "line": 846, "column": 13, - "start": 50122, - "end": 50127, + "start": 30852, + "end": 30857, "length": 6, - "parent_index": 3898 + "parent_index": 1858 }, "body": { - "id": 3917, + "id": 1877, "node_type": 46, "kind": 0, "src": { - "line": 1423, + "line": 853, "column": 51, - "start": 50346, - "end": 50687, + "start": 31076, + "end": 31417, "length": 342, - "parent_index": 3898 + "parent_index": 1858 }, "implemented": true, "statements": [ { - "id": 3918, + "id": 1878, "node_type": 27, "src": { - "line": 1424, + "line": 854, "column": 8, - "start": 50356, - "end": 50681, + "start": 31086, + "end": 31411, "length": 326, - "parent_index": 3917 + "parent_index": 1877 }, "expression": { - "id": 3919, + "id": 1879, "node_type": 27, "src": { - "line": 1424, + "line": 854, "column": 8, - "start": 50356, - "end": 50680, + "start": 31086, + "end": 31410, "length": 325, - "parent_index": 3918 + "parent_index": 1878 }, "operator": 11, "left_expression": { - "id": 3920, + "id": 1880, "node_type": 60, "src": { - "line": 1424, + "line": 854, "column": 8, - "start": 50356, - "end": 50361, + "start": 31086, + "end": 31091, "length": 6, - "parent_index": 3919 + "parent_index": 1879 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3921, + "id": 1881, "node_type": 16, "src": { - "line": 1424, + "line": 854, "column": 9, - "start": 50357, - "end": 50357, + "start": 31087, + "end": 31087, "length": 1, - "parent_index": 3920 + "parent_index": 1880 }, "name": "a", "type_description": { @@ -3620,19 +3680,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3913, - "is_pure": false + "referenced_declaration": 1873, + "is_pure": false, + "text": "a" }, { - "id": 3922, + "id": 1882, "node_type": 16, "src": { - "line": 1424, + "line": 854, "column": 12, - "start": 50360, - "end": 50360, + "start": 31090, + "end": 31090, "length": 1, - "parent_index": 3920 + "parent_index": 1880 }, "name": "b", "type_description": { @@ -3640,8 +3701,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3915, - "is_pure": false + "referenced_declaration": 1875, + "is_pure": false, + "text": "b" } ], "type_description": { @@ -3650,16 +3712,16 @@ } }, "right_expression": { - "id": 3923, + "id": 1883, "node_type": 24, "kind": 24, "src": { - "line": 1424, + "line": 854, "column": 17, - "start": 50365, - "end": 50680, + "start": 31095, + "end": 31410, "length": 316, - "parent_index": 3919 + "parent_index": 1879 }, "argument_types": [ { @@ -3685,15 +3747,15 @@ ], "arguments": [ { - "id": 3926, + "id": 1886, "node_type": 16, "src": { - "line": 1425, + "line": 855, "column": 12, - "start": 50411, - "end": 50421, + "start": 31141, + "end": 31151, "length": 11, - "parent_index": 3923 + "parent_index": 1883 }, "name": "_dstChainId", "type_description": { @@ -3701,19 +3763,20 @@ "type_string": "uint16" }, "overloaded_declarations": [], - "referenced_declaration": 3926, - "is_pure": false + "referenced_declaration": 1886, + "is_pure": false, + "text": "_dstChainId" }, { - "id": 3927, + "id": 1887, "node_type": 16, "src": { - "line": 1426, + "line": 856, "column": 12, - "start": 50436, - "end": 50448, + "start": 31166, + "end": 31178, "length": 13, - "parent_index": 3923 + "parent_index": 1883 }, "name": "_functionType", "type_description": { @@ -3721,26 +3784,27 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 3927, + "referenced_declaration": 1887, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint16", "type_string": "uint16" } - ] + ], + "text": "_functionType" }, { - "id": 3928, + "id": 1888, "node_type": 24, "kind": 24, "src": { - "line": 1427, + "line": 857, "column": 12, - "start": 50463, - "end": 50489, + "start": 31193, + "end": 31219, "length": 27, - "parent_index": 3923 + "parent_index": 1883 }, "argument_types": [ { @@ -3750,15 +3814,15 @@ ], "arguments": [ { - "id": 3931, + "id": 1891, "node_type": 16, "src": { - "line": 1427, + "line": 857, "column": 29, - "start": 50480, - "end": 50488, + "start": 31210, + "end": 31218, "length": 9, - "parent_index": 3928 + "parent_index": 1888 }, "name": "_receiver", "type_description": { @@ -3766,43 +3830,44 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3931, - "is_pure": false + "referenced_declaration": 1891, + "is_pure": false, + "text": "_receiver" } ], "expression": { - "id": 3929, + "id": 1889, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1427, + "line": 857, "column": 12, - "start": 50463, - "end": 50478, + "start": 31193, + "end": 31208, "length": 16, - "parent_index": 3928 + "parent_index": 1888 }, "member_location": { - "line": 1427, + "line": 857, "column": 16, - "start": 50467, - "end": 50478, + "start": 31197, + "end": 31208, "length": 12, - "parent_index": 3929 + "parent_index": 1889 }, "expression": { - "id": 3930, + "id": 1890, "node_type": 16, "src": { - "line": 1427, + "line": 857, "column": 12, - "start": 50463, - "end": 50465, + "start": 31193, + "end": 31195, "length": 3, - "parent_index": 3929 + "parent_index": 1889 }, "name": "abi", "type_description": { @@ -3811,14 +3876,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3826,16 +3893,16 @@ } }, { - "id": 3932, + "id": 1892, "node_type": 24, "kind": 24, "src": { - "line": 1428, + "line": 858, "column": 12, - "start": 50504, - "end": 50523, + "start": 31234, + "end": 31253, "length": 20, - "parent_index": 3923 + "parent_index": 1883 }, "argument_types": [ { @@ -3845,15 +3912,15 @@ ], "arguments": [ { - "id": 3935, + "id": 1895, "node_type": 16, "src": { - "line": 1428, + "line": 858, "column": 23, - "start": 50515, - "end": 50522, + "start": 31245, + "end": 31252, "length": 8, - "parent_index": 3932 + "parent_index": 1892 }, "name": "_payload", "type_description": { @@ -3861,43 +3928,44 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3935, - "is_pure": false + "referenced_declaration": 1895, + "is_pure": false, + "text": "_payload" } ], "expression": { - "id": 3933, + "id": 1893, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1428, + "line": 858, "column": 12, - "start": 50504, - "end": 50513, + "start": 31234, + "end": 31243, "length": 10, - "parent_index": 3932 + "parent_index": 1892 }, "member_location": { - "line": 1428, + "line": 858, "column": 16, - "start": 50508, - "end": 50513, + "start": 31238, + "end": 31243, "length": 6, - "parent_index": 3933 + "parent_index": 1893 }, "expression": { - "id": 3934, + "id": 1894, "node_type": 16, "src": { - "line": 1428, + "line": 858, "column": 12, - "start": 50504, - "end": 50506, + "start": 31234, + "end": 31236, "length": 3, - "parent_index": 3933 + "parent_index": 1893 }, "name": "abi", "type_description": { @@ -3906,14 +3974,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -3921,16 +3991,16 @@ } }, { - "id": 3936, + "id": 1896, "node_type": 24, "kind": 24, "src": { - "line": 1429, + "line": 859, "column": 12, - "start": 50538, - "end": 50670, + "start": 31268, + "end": 31400, "length": 133, - "parent_index": 3923 + "parent_index": 1883 }, "argument_types": [ { @@ -3948,15 +4018,15 @@ ], "arguments": [ { - "id": 3939, + "id": 1899, "node_type": 16, "src": { - "line": 1430, + "line": 860, "column": 16, - "start": 50579, - "end": 50582, + "start": 31309, + "end": 31312, "length": 4, - "parent_index": 3936 + "parent_index": 1896 }, "name": "_gas", "type_description": { @@ -3964,19 +4034,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3939, - "is_pure": false + "referenced_declaration": 1899, + "is_pure": false, + "text": "_gas" }, { - "id": 3940, + "id": 1900, "node_type": 16, "src": { - "line": 1431, + "line": 861, "column": 16, - "start": 50601, - "end": 50611, + "start": 31331, + "end": 31341, "length": 11, - "parent_index": 3936 + "parent_index": 1896 }, "name": "_dustAmount", "type_description": { @@ -3984,26 +4055,27 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3940, + "referenced_declaration": 1900, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "_dustAmount" }, { - "id": 3941, + "id": 1901, "node_type": 24, "kind": 24, "src": { - "line": 1432, + "line": 862, "column": 16, - "start": 50630, - "end": 50656, + "start": 31360, + "end": 31386, "length": 27, - "parent_index": 3936 + "parent_index": 1896 }, "argument_types": [ { @@ -4013,15 +4085,15 @@ ], "arguments": [ { - "id": 3944, + "id": 1904, "node_type": 16, "src": { - "line": 1432, + "line": 862, "column": 33, - "start": 50647, - "end": 50655, + "start": 31377, + "end": 31385, "length": 9, - "parent_index": 3941 + "parent_index": 1901 }, "name": "_receiver", "type_description": { @@ -4029,43 +4101,44 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 3944, - "is_pure": false + "referenced_declaration": 1904, + "is_pure": false, + "text": "_receiver" } ], "expression": { - "id": 3942, + "id": 1902, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1432, + "line": 862, "column": 16, - "start": 50630, - "end": 50645, + "start": 31360, + "end": 31375, "length": 16, - "parent_index": 3941 + "parent_index": 1901 }, "member_location": { - "line": 1432, + "line": 862, "column": 20, - "start": 50634, - "end": 50645, + "start": 31364, + "end": 31375, "length": 12, - "parent_index": 3942 + "parent_index": 1902 }, "expression": { - "id": 3943, + "id": 1903, "node_type": 16, "src": { - "line": 1432, + "line": 862, "column": 16, - "start": 50630, - "end": 50632, + "start": 31360, + "end": 31362, "length": 3, - "parent_index": 3942 + "parent_index": 1902 }, "name": "abi", "type_description": { @@ -4074,14 +4147,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4090,38 +4165,38 @@ } ], "expression": { - "id": 3937, + "id": 1897, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1429, + "line": 859, "column": 12, - "start": 50538, - "end": 50560, + "start": 31268, + "end": 31290, "length": 23, - "parent_index": 3936 + "parent_index": 1896 }, "member_location": { - "line": 1429, + "line": 859, "column": 28, - "start": 50554, - "end": 50560, + "start": 31284, + "end": 31290, "length": 7, - "parent_index": 3937 + "parent_index": 1897 }, "expression": { - "id": 3938, + "id": 1898, "node_type": 16, "src": { - "line": 1429, + "line": 859, "column": 12, - "start": 50538, - "end": 50552, + "start": 31268, + "end": 31282, "length": 15, - "parent_index": 3937 + "parent_index": 1897 }, "name": "IStargateRouter", "type_description": { @@ -4130,14 +4205,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 700, - "is_pure": false + "is_pure": false, + "text": "IStargateRouter" }, "member_name": "lzTxObj", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IStargateRouter_$700", "type_string": "contract IStargateRouter" - } + }, + "text": "IStargateRouter.lzTxObj" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", @@ -4146,38 +4223,38 @@ } ], "expression": { - "id": 3924, + "id": 1884, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1424, + "line": 854, "column": 17, - "start": 50365, - "end": 50396, + "start": 31095, + "end": 31126, "length": 32, - "parent_index": 3923 + "parent_index": 1883 }, "member_location": { - "line": 1424, + "line": 854, "column": 32, - "start": 50380, - "end": 50396, + "start": 31110, + "end": 31126, "length": 17, - "parent_index": 3924 + "parent_index": 1884 }, "expression": { - "id": 3925, + "id": 1885, "node_type": 16, "src": { - "line": 1424, + "line": 854, "column": 17, - "start": 50365, - "end": 50378, + "start": 31095, + "end": 31108, "length": 14, - "parent_index": 3924 + "parent_index": 1884 }, "name": "stargateRouter", "type_description": { @@ -4186,14 +4263,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 967, - "is_pure": false + "is_pure": false, + "text": "stargateRouter" }, "member_name": "quoteLayerZeroFee", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IStargateRouter_$700", "type_string": "contract IStargateRouter" - } + }, + "text": "stargateRouter.quoteLayerZeroFee" }, "type_description": { "type_identifier": "t_function_$_t_uint16$_t_uint8$_t_function_$_t_address$_t_function_$_t_bytes$_t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", @@ -4208,7 +4287,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(a,b)=stargateRouter.quoteLayerZeroFee(_dstChainId,_functionType,abi.encodePacked(_receiver),abi.encode(_payload),IStargateRouter.lzTxObj(_gas,_dustAmount,abi.encodePacked(_receiver)));" } ] }, @@ -4219,40 +4299,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3899, + "id": 1859, "node_type": 43, "src": { - "line": 1417, + "line": 847, "column": 8, - "start": 50138, - "end": 50293, + "start": 30868, + "end": 31023, "length": 156, - "parent_index": 3898 + "parent_index": 1858 }, "parameters": [ { - "id": 3900, + "id": 1860, "node_type": 44, "src": { - "line": 1417, + "line": 847, "column": 8, - "start": 50138, - "end": 50155, + "start": 30868, + "end": 30885, "length": 18, - "parent_index": 3899 + "parent_index": 1859 }, - "scope": 3898, + "scope": 1858, "name": "_dstChainId", "type_name": { - "id": 3901, + "id": 1861, "node_type": 30, "src": { - "line": 1417, + "line": 847, "column": 8, - "start": 50138, - "end": 50143, + "start": 30868, + "end": 30873, "length": 6, - "parent_index": 3900 + "parent_index": 1860 }, "name": "uint16", "referenced_declaration": 0, @@ -4270,28 +4350,28 @@ } }, { - "id": 3902, + "id": 1862, "node_type": 44, "src": { - "line": 1418, + "line": 848, "column": 8, - "start": 50166, - "end": 50184, + "start": 30896, + "end": 30914, "length": 19, - "parent_index": 3899 + "parent_index": 1859 }, - "scope": 3898, + "scope": 1858, "name": "_functionType", "type_name": { - "id": 3903, + "id": 1863, "node_type": 30, "src": { - "line": 1418, + "line": 848, "column": 8, - "start": 50166, - "end": 50170, + "start": 30896, + "end": 30900, "length": 5, - "parent_index": 3902 + "parent_index": 1862 }, "name": "uint8", "referenced_declaration": 0, @@ -4309,28 +4389,28 @@ } }, { - "id": 3904, + "id": 1864, "node_type": 44, "src": { - "line": 1419, + "line": 849, "column": 8, - "start": 50195, - "end": 50211, + "start": 30925, + "end": 30941, "length": 17, - "parent_index": 3899 + "parent_index": 1859 }, - "scope": 3898, + "scope": 1858, "name": "_receiver", "type_name": { - "id": 3905, + "id": 1865, "node_type": 30, "src": { - "line": 1419, + "line": 849, "column": 8, - "start": 50195, - "end": 50201, + "start": 30925, + "end": 30931, "length": 7, - "parent_index": 3904 + "parent_index": 1864 }, "name": "address", "state_mutability": 4, @@ -4349,28 +4429,28 @@ } }, { - "id": 3906, + "id": 1866, "node_type": 44, "src": { - "line": 1420, + "line": 850, "column": 8, - "start": 50222, - "end": 50233, + "start": 30952, + "end": 30963, "length": 12, - "parent_index": 3899 + "parent_index": 1859 }, - "scope": 3898, + "scope": 1858, "name": "_gas", "type_name": { - "id": 3907, + "id": 1867, "node_type": 30, "src": { - "line": 1420, + "line": 850, "column": 8, - "start": 50222, - "end": 50228, + "start": 30952, + "end": 30958, "length": 7, - "parent_index": 3906 + "parent_index": 1866 }, "name": "uint256", "referenced_declaration": 0, @@ -4388,28 +4468,28 @@ } }, { - "id": 3908, + "id": 1868, "node_type": 44, "src": { - "line": 1421, + "line": 851, "column": 8, - "start": 50244, - "end": 50262, + "start": 30974, + "end": 30992, "length": 19, - "parent_index": 3899 + "parent_index": 1859 }, - "scope": 3898, + "scope": 1858, "name": "_dustAmount", "type_name": { - "id": 3909, + "id": 1869, "node_type": 30, "src": { - "line": 1421, + "line": 851, "column": 8, - "start": 50244, - "end": 50250, + "start": 30974, + "end": 30980, "length": 7, - "parent_index": 3908 + "parent_index": 1868 }, "name": "uint256", "referenced_declaration": 0, @@ -4427,28 +4507,28 @@ } }, { - "id": 3910, + "id": 1870, "node_type": 44, "src": { - "line": 1422, + "line": 852, "column": 8, - "start": 50273, - "end": 50293, + "start": 31003, + "end": 31023, "length": 21, - "parent_index": 3899 + "parent_index": 1859 }, - "scope": 3898, + "scope": 1858, "name": "_payload", "type_name": { - "id": 3911, + "id": 1871, "node_type": 30, "src": { - "line": 1422, + "line": 852, "column": 8, - "start": 50273, - "end": 50277, + "start": 31003, + "end": 31007, "length": 5, - "parent_index": 3910 + "parent_index": 1870 }, "name": "bytes", "referenced_declaration": 0, @@ -4494,40 +4574,40 @@ ] }, "return_parameters": { - "id": 3912, + "id": 1872, "node_type": 43, "src": { - "line": 1423, + "line": 853, "column": 29, - "start": 50324, - "end": 50343, + "start": 31054, + "end": 31073, "length": 20, - "parent_index": 3898 + "parent_index": 1858 }, "parameters": [ { - "id": 3913, + "id": 1873, "node_type": 44, "src": { - "line": 1423, + "line": 853, "column": 29, - "start": 50324, - "end": 50332, + "start": 31054, + "end": 31062, "length": 9, - "parent_index": 3912 + "parent_index": 1872 }, - "scope": 3898, + "scope": 1858, "name": "a", "type_name": { - "id": 3914, + "id": 1874, "node_type": 30, "src": { - "line": 1423, + "line": 853, "column": 29, - "start": 50324, - "end": 50330, + "start": 31054, + "end": 31060, "length": 7, - "parent_index": 3913 + "parent_index": 1873 }, "name": "uint256", "referenced_declaration": 0, @@ -4545,28 +4625,28 @@ } }, { - "id": 3915, + "id": 1875, "node_type": 44, "src": { - "line": 1423, + "line": 853, "column": 40, - "start": 50335, - "end": 50343, + "start": 31065, + "end": 31073, "length": 9, - "parent_index": 3912 + "parent_index": 1872 }, - "scope": 3898, + "scope": 1858, "name": "b", "type_name": { - "id": 3916, + "id": 1876, "node_type": 30, "src": { - "line": 1423, + "line": 853, "column": 40, - "start": 50335, - "end": 50341, + "start": 31065, + "end": 31071, "length": 7, - "parent_index": 3915 + "parent_index": 1875 }, "name": "uint256", "referenced_declaration": 0, @@ -4595,107 +4675,108 @@ } ] }, - "signature_raw": "getFee(uint16, uint8, address, uint256, uint256, bytes)", - "signature": "ac0acf65", - "scope": 3745, + "signature_raw": "getFee(uint16,uint8,address,uint256,uint256,bytes)", + "signature": "6ce4fe03", + "scope": 1705, "type_description": { "type_identifier": "t_function_$_t_uint16$_t_uint8$_t_address$_t_uint256$_t_uint256$_t_bytes$", "type_string": "function(uint16,uint8,address,uint256,uint256,bytes)" - } + }, + "text": "functiongetFee(uint16_dstChainId,uint8_functionType,address_receiver,uint256_gas,uint256_dustAmount,bytesmemory_payload)externalviewreturns(uint256a,uint256b){(a,b)=stargateRouter.quoteLayerZeroFee(_dstChainId,_functionType,abi.encodePacked(_receiver),abi.encode(_payload),IStargateRouter.lzTxObj(_gas,_dustAmount,abi.encodePacked(_receiver)));}" }, { - "id": 3946, + "id": 1906, "name": "sgReceive", "node_type": 42, "kind": 41, "src": { - "line": 1441, + "line": 871, "column": 4, - "start": 50889, - "end": 52107, + "start": 31619, + "end": 32837, "length": 1219, - "parent_index": 3745 + "parent_index": 1705 }, "name_location": { - "line": 1441, + "line": 871, "column": 13, - "start": 50898, - "end": 50906, + "start": 31628, + "end": 31636, "length": 9, - "parent_index": 3946 + "parent_index": 1906 }, "body": { - "id": 3962, + "id": 1922, "node_type": 46, "kind": 0, "src": { - "line": 1448, + "line": 878, "column": 24, - "start": 51067, - "end": 52107, + "start": 31797, + "end": 32837, "length": 1041, - "parent_index": 3946 + "parent_index": 1906 }, "implemented": true, "statements": [ { - "id": 3963, + "id": 1923, "node_type": 48, "src": { - "line": 1449, + "line": 879, "column": 0, - "start": 51077, - "end": 51146, + "start": 31807, + "end": 31876, "length": 70, - "parent_index": 3962 + "parent_index": 1922 }, "condition": { - "id": 3964, + "id": 1924, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1449, + "line": 879, "column": 12, - "start": 51081, - "end": 51117, + "start": 31811, + "end": 31847, "length": 37, - "parent_index": 3963 + "parent_index": 1923 }, "operator": 12, "left_expression": { - "id": 3965, + "id": 1925, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1449, + "line": 879, "column": 12, - "start": 51081, - "end": 51090, + "start": 31811, + "end": 31820, "length": 10, - "parent_index": 3964 + "parent_index": 1924 }, "member_location": { - "line": 1449, + "line": 879, "column": 16, - "start": 51085, - "end": 51090, + "start": 31815, + "end": 31820, "length": 6, - "parent_index": 3965 + "parent_index": 1925 }, "expression": { - "id": 3966, + "id": 1926, "node_type": 16, "src": { - "line": 1449, + "line": 879, "column": 12, - "start": 51081, - "end": 51083, + "start": 31811, + "end": 31813, "length": 3, - "parent_index": 3965 + "parent_index": 1925 }, "name": "msg", "type_description": { @@ -4704,26 +4785,28 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 3967, + "id": 1927, "node_type": 24, "kind": 24, "src": { - "line": 1449, + "line": 879, "column": 26, - "start": 51095, - "end": 51117, + "start": 31825, + "end": 31847, "length": 23, - "parent_index": 3964 + "parent_index": 1924 }, "argument_types": [ { @@ -4733,15 +4816,15 @@ ], "arguments": [ { - "id": 3970, + "id": 1930, "node_type": 16, "src": { - "line": 1449, + "line": 879, "column": 34, - "start": 51103, - "end": 51116, + "start": 31833, + "end": 31846, "length": 14, - "parent_index": 3967 + "parent_index": 1927 }, "name": "stargateRouter", "type_description": { @@ -4750,31 +4833,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "stargateRouter" } ], "expression": { - "id": 3968, + "id": 1928, "node_type": 16, "src": { - "line": 1449, + "line": 879, "column": 26, - "start": 51095, - "end": 51101, + "start": 31825, + "end": 31831, "length": 7, - "parent_index": 3967 + "parent_index": 1927 }, "name": "address", "type_name": { - "id": 3969, + "id": 1929, "node_type": 30, "src": { - "line": 1449, + "line": 879, "column": 26, - "start": 51095, - "end": 51101, + "start": 31825, + "end": 31831, "length": 7, - "parent_index": 3968 + "parent_index": 1928 }, "name": "address", "state_mutability": 4, @@ -4796,7 +4880,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4809,7 +4894,7 @@ } }, "body": { - "id": 3971, + "id": 1931, "node_type": 46, "kind": 0, "src": { @@ -4824,58 +4909,58 @@ } }, { - "id": 3972, + "id": 1932, "node_type": 44, "src": { - "line": 1451, + "line": 881, "column": 8, - "start": 51157, - "end": 51401, + "start": 31887, + "end": 32131, "length": 245, - "parent_index": 3962 + "parent_index": 1922 }, "assignments": [ - 3973, - 3975, - 3977, - 3979, - 3981 + 1933, + 1935, + 1937, + 1939, + 1941 ], "declarations": [ { - "id": 3973, + "id": 1933, "state_mutability": 1, "name": "to", "node_type": 44, - "scope": 3962, + "scope": 1922, "src": { - "line": 1452, + "line": 882, "column": 12, - "start": 51171, - "end": 51180, + "start": 31901, + "end": 31910, "length": 10, - "parent_index": 3972 + "parent_index": 1932 }, "name_location": { - "line": 1452, + "line": 882, "column": 20, - "start": 51179, - "end": 51180, + "start": 31909, + "end": 31910, "length": 2, - "parent_index": 3973 + "parent_index": 1933 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3974, + "id": 1934, "node_type": 30, "src": { - "line": 1452, + "line": 882, "column": 12, - "start": 51171, - "end": 51177, + "start": 31901, + "end": 31907, "length": 7, - "parent_index": 3973 + "parent_index": 1933 }, "name": "address", "state_mutability": 4, @@ -4888,39 +4973,39 @@ "visibility": 1 }, { - "id": 3975, + "id": 1935, "state_mutability": 1, "name": "actions", "node_type": 44, - "scope": 3962, + "scope": 1922, "src": { - "line": 1453, + "line": 883, "column": 12, - "start": 51195, - "end": 51216, + "start": 31925, + "end": 31946, "length": 22, - "parent_index": 3972 + "parent_index": 1932 }, "name_location": { - "line": 1453, + "line": 883, "column": 27, - "start": 51210, - "end": 51216, + "start": 31940, + "end": 31946, "length": 7, - "parent_index": 3975 + "parent_index": 1935 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 3976, + "id": 1936, "node_type": 16, "src": { - "line": 1453, + "line": 883, "column": 12, - "start": 51195, - "end": 51199, + "start": 31925, + "end": 31929, "length": 5, - "parent_index": 3975 + "parent_index": 1935 }, "name": "uint8", "referenced_declaration": 0, @@ -4932,39 +5017,39 @@ "visibility": 1 }, { - "id": 3977, + "id": 1937, "state_mutability": 1, "name": "values", "node_type": 44, - "scope": 3962, + "scope": 1922, "src": { - "line": 1454, + "line": 884, "column": 12, - "start": 51231, - "end": 51253, + "start": 31961, + "end": 31983, "length": 23, - "parent_index": 3972 + "parent_index": 1932 }, "name_location": { - "line": 1454, + "line": 884, "column": 29, - "start": 51248, - "end": 51253, + "start": 31978, + "end": 31983, "length": 6, - "parent_index": 3977 + "parent_index": 1937 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 3978, + "id": 1938, "node_type": 16, "src": { - "line": 1454, + "line": 884, "column": 12, - "start": 51231, - "end": 51237, + "start": 31961, + "end": 31967, "length": 7, - "parent_index": 3977 + "parent_index": 1937 }, "name": "uint256", "referenced_declaration": 0, @@ -4976,39 +5061,39 @@ "visibility": 1 }, { - "id": 3979, + "id": 1939, "state_mutability": 1, "name": "datas", "node_type": 44, - "scope": 3962, + "scope": 1922, "src": { - "line": 1455, + "line": 885, "column": 12, - "start": 51268, - "end": 51287, + "start": 31998, + "end": 32017, "length": 20, - "parent_index": 3972 + "parent_index": 1932 }, "name_location": { - "line": 1455, + "line": 885, "column": 27, - "start": 51283, - "end": 51287, + "start": 32013, + "end": 32017, "length": 5, - "parent_index": 3979 + "parent_index": 1939 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 3980, + "id": 1940, "node_type": 16, "src": { - "line": 1455, + "line": 885, "column": 12, - "start": 51268, - "end": 51272, + "start": 31998, + "end": 32002, "length": 5, - "parent_index": 3979 + "parent_index": 1939 }, "name": "bytes", "referenced_declaration": 0, @@ -5020,39 +5105,39 @@ "visibility": 1 }, { - "id": 3981, + "id": 1941, "state_mutability": 1, "name": "srcContext", "node_type": 44, - "scope": 3962, + "scope": 1922, "src": { - "line": 1456, + "line": 886, "column": 12, - "start": 51302, - "end": 51319, + "start": 32032, + "end": 32049, "length": 18, - "parent_index": 3972 + "parent_index": 1932 }, "name_location": { - "line": 1456, + "line": 886, "column": 20, - "start": 51310, - "end": 51319, + "start": 32040, + "end": 32049, "length": 10, - "parent_index": 3981 + "parent_index": 1941 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3982, + "id": 1942, "node_type": 30, "src": { - "line": 1456, + "line": 886, "column": 12, - "start": 51302, - "end": 51308, + "start": 32032, + "end": 32038, "length": 7, - "parent_index": 3981 + "parent_index": 1941 }, "name": "bytes32", "referenced_declaration": 0, @@ -5065,16 +5150,16 @@ } ], "initial_value": { - "id": 3983, + "id": 1943, "node_type": 24, "kind": 24, "src": { - "line": 1457, + "line": 887, "column": 12, - "start": 51333, - "end": 51400, + "start": 32063, + "end": 32130, "length": 68, - "parent_index": 3972 + "parent_index": 1932 }, "argument_types": [ { @@ -5088,15 +5173,15 @@ ], "arguments": [ { - "id": 3986, + "id": 1946, "node_type": 16, "src": { - "line": 1457, + "line": 887, "column": 23, - "start": 51344, - "end": 51350, + "start": 32074, + "end": 32080, "length": 7, - "parent_index": 3983 + "parent_index": 1943 }, "name": "payload", "type_description": { @@ -5104,45 +5189,46 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3986, - "is_pure": false + "referenced_declaration": 1946, + "is_pure": false, + "text": "payload" }, { - "id": 3987, + "id": 1947, "node_type": 60, "src": { - "line": 1457, + "line": 887, "column": 32, - "start": 51353, - "end": 51399, + "start": 32083, + "end": 32129, "length": 47, - "parent_index": 3983 + "parent_index": 1943 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3988, + "id": 1948, "node_type": 16, "src": { - "line": 1457, + "line": 887, "column": 33, - "start": 51354, - "end": 51360, + "start": 32084, + "end": 32090, "length": 7, - "parent_index": 3987 + "parent_index": 1947 }, "name": "address", "type_name": { - "id": 3989, + "id": 1949, "node_type": 30, "src": { - "line": 1457, + "line": 887, "column": 33, - "start": 51354, - "end": 51360, + "start": 32084, + "end": 32090, "length": 7, - "parent_index": 3988 + "parent_index": 1948 }, "name": "address", "state_mutability": 4, @@ -5158,41 +5244,42 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" }, { - "id": 3990, + "id": 1950, "node_type": 22, "src": { - "line": 1457, + "line": 887, "column": 42, - "start": 51363, - "end": 51369, + "start": 32093, + "end": 32099, "length": 7, - "parent_index": 3987 + "parent_index": 1947 }, "index_expression": { - "id": 3991, + "id": 1951, "node_type": 16, "src": { - "line": 1457, + "line": 887, "column": 42, - "start": 51363, - "end": 51367, + "start": 32093, + "end": 32097, "length": 5, - "parent_index": 3990 + "parent_index": 1950 }, "name": "uint8", "type_name": { - "id": 3992, + "id": 1952, "node_type": 30, "src": { - "line": 1457, + "line": 887, "column": 42, - "start": 51363, - "end": 51367, + "start": 32093, + "end": 32097, "length": 5, - "parent_index": 3991 + "parent_index": 1951 }, "name": "uint8", "referenced_declaration": 0, @@ -5207,7 +5294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint8" }, "base_expression": null, "type_descriptions": [ @@ -5222,38 +5310,38 @@ } }, { - "id": 3993, + "id": 1953, "node_type": 22, "src": { - "line": 1457, + "line": 887, "column": 51, - "start": 51372, - "end": 51380, + "start": 32102, + "end": 32110, "length": 9, - "parent_index": 3987 + "parent_index": 1947 }, "index_expression": { - "id": 3994, + "id": 1954, "node_type": 16, "src": { - "line": 1457, + "line": 887, "column": 51, - "start": 51372, - "end": 51378, + "start": 32102, + "end": 32108, "length": 7, - "parent_index": 3993 + "parent_index": 1953 }, "name": "uint256", "type_name": { - "id": 3995, + "id": 1955, "node_type": 30, "src": { - "line": 1457, + "line": 887, "column": 51, - "start": 51372, - "end": 51378, + "start": 32102, + "end": 32108, "length": 7, - "parent_index": 3994 + "parent_index": 1954 }, "name": "uint256", "referenced_declaration": 0, @@ -5268,7 +5356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint256" }, "base_expression": null, "type_descriptions": [ @@ -5283,38 +5372,38 @@ } }, { - "id": 3996, + "id": 1956, "node_type": 22, "src": { - "line": 1457, + "line": 887, "column": 62, - "start": 51383, - "end": 51389, + "start": 32113, + "end": 32119, "length": 7, - "parent_index": 3987 + "parent_index": 1947 }, "index_expression": { - "id": 3997, + "id": 1957, "node_type": 16, "src": { - "line": 1457, + "line": 887, "column": 62, - "start": 51383, - "end": 51387, + "start": 32113, + "end": 32117, "length": 5, - "parent_index": 3996 + "parent_index": 1956 }, "name": "bytes", "type_name": { - "id": 3998, + "id": 1958, "node_type": 30, "src": { - "line": 1457, + "line": 887, "column": 62, - "start": 51383, - "end": 51387, + "start": 32113, + "end": 32117, "length": 5, - "parent_index": 3997 + "parent_index": 1957 }, "name": "bytes", "referenced_declaration": 0, @@ -5329,7 +5418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bytes" }, "base_expression": null, "type_descriptions": [ @@ -5344,27 +5434,27 @@ } }, { - "id": 3999, + "id": 1959, "node_type": 16, "src": { - "line": 1457, + "line": 887, "column": 71, - "start": 51392, - "end": 51398, + "start": 32122, + "end": 32128, "length": 7, - "parent_index": 3987 + "parent_index": 1947 }, "name": "bytes32", "type_name": { - "id": 4000, + "id": 1960, "node_type": 30, "src": { - "line": 1457, + "line": 887, "column": 71, - "start": 51392, - "end": 51398, + "start": 32122, + "end": 32128, "length": 7, - "parent_index": 3999 + "parent_index": 1959 }, "name": "bytes32", "referenced_declaration": 0, @@ -5379,7 +5469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bytes32" } ], "type_description": { @@ -5389,38 +5480,38 @@ } ], "expression": { - "id": 3984, + "id": 1944, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1457, + "line": 887, "column": 12, - "start": 51333, - "end": 51342, + "start": 32063, + "end": 32072, "length": 10, - "parent_index": 3983 + "parent_index": 1943 }, "member_location": { - "line": 1457, + "line": 887, "column": 16, - "start": 51337, - "end": 51342, + "start": 32067, + "end": 32072, "length": 6, - "parent_index": 3984 + "parent_index": 1944 }, "expression": { - "id": 3985, + "id": 1945, "node_type": 16, "src": { - "line": 1457, + "line": 887, "column": 12, - "start": 51333, - "end": 51335, + "start": 32063, + "end": 32065, "length": 3, - "parent_index": 3984 + "parent_index": 1944 }, "name": "abi", "type_description": { @@ -5429,14 +5520,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", @@ -5445,54 +5538,54 @@ } }, { - "id": 4001, + "id": 1961, "node_type": 44, "src": { - "line": 1460, + "line": 890, "column": 8, - "start": 51442, - "end": 51476, + "start": 32172, + "end": 32206, "length": 35, - "parent_index": 3962 + "parent_index": 1922 }, "assignments": [ - 4002 + 1962 ], "declarations": [ { - "id": 4002, + "id": 1962, "state_mutability": 1, "name": "limit", "node_type": 44, - "scope": 3962, + "scope": 1922, "src": { - "line": 1460, + "line": 890, "column": 8, - "start": 51442, - "end": 51454, + "start": 32172, + "end": 32184, "length": 13, - "parent_index": 4001 + "parent_index": 1961 }, "name_location": { - "line": 1460, + "line": 890, "column": 16, - "start": 51450, - "end": 51454, + "start": 32180, + "end": 32184, "length": 5, - "parent_index": 4002 + "parent_index": 1962 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4003, + "id": 1963, "node_type": 30, "src": { - "line": 1460, + "line": 890, "column": 8, - "start": 51442, - "end": 51448, + "start": 32172, + "end": 32178, "length": 7, - "parent_index": 4002 + "parent_index": 1962 }, "name": "uint256", "referenced_declaration": 0, @@ -5505,43 +5598,43 @@ } ], "initial_value": { - "id": 4004, + "id": 1964, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1460, + "line": 890, "column": 24, - "start": 51458, - "end": 51475, + "start": 32188, + "end": 32205, "length": 18, - "parent_index": 4001 + "parent_index": 1961 }, "operator": 2, "left_expression": { - "id": 4005, + "id": 1965, "node_type": 24, "kind": 24, "src": { - "line": 1460, + "line": 890, "column": 24, - "start": 51458, - "end": 51466, + "start": 32188, + "end": 32196, "length": 9, - "parent_index": 4001 + "parent_index": 1961 }, "argument_types": [], "arguments": [], "expression": { - "id": 4006, + "id": 1966, "node_type": 16, "src": { - "line": 1460, + "line": 890, "column": 24, - "start": 51458, - "end": 51464, + "start": 32188, + "end": 32194, "length": 7, - "parent_index": 4005 + "parent_index": 1965 }, "name": "gasleft", "type_description": { @@ -5550,7 +5643,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "gasleft" }, "type_description": { "type_identifier": "t_function_$", @@ -5558,18 +5652,18 @@ } }, "right_expression": { - "id": 4007, + "id": 1967, "node_type": 17, "kind": 49, "value": "200000", "hex_value": "323030303030", "src": { - "line": 1460, + "line": 890, "column": 36, - "start": 51470, - "end": 51475, + "start": 32200, + "end": 32205, "length": 6, - "parent_index": 4004 + "parent_index": 1964 }, "type_description": { "type_identifier": "t_rational_200000_by_1", @@ -5577,7 +5671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "200000" }, "type_description": { "type_identifier": "t_function_$", @@ -5586,54 +5681,54 @@ } }, { - "id": 4008, + "id": 1968, "node_type": 44, "src": { - "line": 1461, + "line": 891, "column": 8, - "start": 51486, - "end": 51497, + "start": 32216, + "end": 32227, "length": 12, - "parent_index": 3962 + "parent_index": 1922 }, "assignments": [ - 4009 + 1969 ], "declarations": [ { - "id": 4009, + "id": 1969, "state_mutability": 1, "name": "failed", "node_type": 44, - "scope": 3962, + "scope": 1922, "src": { - "line": 1461, + "line": 891, "column": 8, - "start": 51486, - "end": 51496, + "start": 32216, + "end": 32226, "length": 11, - "parent_index": 4008 + "parent_index": 1968 }, "name_location": { - "line": 1461, + "line": 891, "column": 13, - "start": 51491, - "end": 51496, + "start": 32221, + "end": 32226, "length": 6, - "parent_index": 4009 + "parent_index": 1969 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4010, + "id": 1970, "node_type": 30, "src": { - "line": 1461, + "line": 891, "column": 8, - "start": 51486, - "end": 51489, + "start": 32216, + "end": 32219, "length": 4, - "parent_index": 4009 + "parent_index": 1969 }, "name": "bool", "referenced_declaration": 0, @@ -5647,27 +5742,27 @@ ] }, { - "id": 4011, + "id": 1971, "node_type": 85, "src": { - "line": 1463, + "line": 893, "column": 0, - "start": 51589, - "end": 51868, + "start": 32319, + "end": 32598, "length": 280, - "parent_index": 3962 + "parent_index": 1922 }, "body": { - "id": 4025, + "id": 1985, "node_type": 46, "kind": 0, "src": { - "line": 1469, + "line": 899, "column": 8, - "start": 51752, - "end": 51753, + "start": 32482, + "end": 32483, "length": 2, - "parent_index": 4011 + "parent_index": 1971 }, "implemented": true, "statements": [] @@ -5675,30 +5770,30 @@ "kind": 86, "returns": false, "return_parameters": { - "id": 4041, + "id": 2001, "node_type": 43, "src": { - "line": 1463, + "line": 893, "column": 0, - "start": 51589, - "end": 51868, + "start": 32319, + "end": 32598, "length": 280, - "parent_index": 4011 + "parent_index": 1971 }, "parameters": [], "parameter_types": [] }, "expression": { - "id": 4012, + "id": 1972, "node_type": 24, "kind": 24, "src": { - "line": 1464, + "line": 894, "column": 12, - "start": 51605, - "end": 51742, + "start": 32335, + "end": 32472, "length": 138, - "parent_index": 4011 + "parent_index": 1971 }, "argument_types": [ { @@ -5716,15 +5811,15 @@ ], "arguments": [ { - "id": 4022, + "id": 1982, "node_type": 16, "src": { - "line": 1465, + "line": 895, "column": 16, - "start": 51675, - "end": 51681, + "start": 32405, + "end": 32411, "length": 7, - "parent_index": 4012 + "parent_index": 1972 }, "name": "actions", "type_description": { @@ -5732,19 +5827,20 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 3972, - "is_pure": false + "referenced_declaration": 1932, + "is_pure": false, + "text": "actions" }, { - "id": 4023, + "id": 1983, "node_type": 16, "src": { - "line": 1466, + "line": 896, "column": 16, - "start": 51700, - "end": 51705, + "start": 32430, + "end": 32435, "length": 6, - "parent_index": 4012 + "parent_index": 1972 }, "name": "values", "type_description": { @@ -5752,25 +5848,26 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3972, + "referenced_declaration": 1932, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "values" }, { - "id": 4024, + "id": 1984, "node_type": 16, "src": { - "line": 1467, + "line": 897, "column": 16, - "start": 51724, - "end": 51728, + "start": 32454, + "end": 32458, "length": 5, - "parent_index": 4012 + "parent_index": 1972 }, "name": "datas", "type_description": { @@ -5778,7 +5875,7 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3972, + "referenced_declaration": 1932, "is_pure": false, "argument_types": [ { @@ -5789,55 +5886,56 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "datas" } ], "expression": { - "id": 4013, + "id": 1973, "node_type": 93, "kind": 93, "src": { - "line": 1464, + "line": 894, "column": 12, - "start": 51605, - "end": 51656, + "start": 32335, + "end": 32386, "length": 52, - "parent_index": 4012 + "parent_index": 1972 }, "expression": { - "id": 4014, + "id": 1974, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1464, + "line": 894, "column": 12, - "start": 51605, - "end": 51644, + "start": 32335, + "end": 32374, "length": 40, - "parent_index": 4013 + "parent_index": 1973 }, "member_location": { - "line": 1464, + "line": 894, "column": 48, - "start": 51641, - "end": 51644, + "start": 32371, + "end": 32374, "length": 4, - "parent_index": 4014 + "parent_index": 1974 }, "expression": { - "id": 4015, + "id": 1975, "node_type": 24, "kind": 24, "src": { - "line": 1464, + "line": 894, "column": 12, - "start": 51605, - "end": 51639, + "start": 32335, + "end": 32369, "length": 35, - "parent_index": 4014 + "parent_index": 1974 }, "argument_types": [ { @@ -5847,79 +5945,80 @@ ], "arguments": [ { - "id": 4017, + "id": 1977, "node_type": 84, "src": { - "line": 1464, + "line": 894, "column": 24, - "start": 51617, - "end": 51638, + "start": 32347, + "end": 32368, "length": 22, - "parent_index": 4015 + "parent_index": 1975 }, "arguments": [ { - "id": 4018, + "id": 1978, "node_type": 24, "kind": 24, "src": { - "line": 1464, + "line": 894, "column": 32, - "start": 51625, - "end": 51637, + "start": 32355, + "end": 32367, "length": 13, - "parent_index": 4017 + "parent_index": 1977 }, "argument_types": [ { - "type_identifier": "t_contract$_StargateAdapter_$3694", + "type_identifier": "t_contract$_StargateAdapter_$1678", "type_string": "contract StargateAdapter" } ], "arguments": [ { - "id": 4021, + "id": 1981, "node_type": 16, "src": { - "line": 1464, + "line": 894, "column": 40, - "start": 51633, - "end": 51636, + "start": 32363, + "end": 32366, "length": 4, - "parent_index": 4018 + "parent_index": 1978 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_StargateAdapter_$3694", + "type_identifier": "t_contract$_StargateAdapter_$1678", "type_string": "contract StargateAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 4019, + "id": 1979, "node_type": 16, "src": { - "line": 1464, + "line": 894, "column": 32, - "start": 51625, - "end": 51631, + "start": 32355, + "end": 32361, "length": 7, - "parent_index": 4018 + "parent_index": 1978 }, "name": "address", "type_name": { - "id": 4020, + "id": 1980, "node_type": 30, "src": { - "line": 1464, + "line": 894, "column": 32, - "start": 51625, - "end": 51631, + "start": 32355, + "end": 32361, "length": 7, - "parent_index": 4019 + "parent_index": 1979 }, "name": "address", "state_mutability": 4, @@ -5941,7 +6040,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5963,15 +6063,15 @@ } ], "expression": { - "id": 4016, + "id": 1976, "node_type": 16, "src": { - "line": 1464, + "line": 894, "column": 12, - "start": 51605, - "end": 51615, + "start": 32335, + "end": 32345, "length": 11, - "parent_index": 4015 + "parent_index": 1975 }, "name": "ISushiXSwap", "type_description": { @@ -5980,7 +6080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "ISushiXSwap" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_address$", @@ -5992,7 +6093,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_address$", "type_string": "function(function(function(address)) payable)" - } + }, + "text": "ISushiXSwap(payable(address(this))).cook" }, "type_description": { "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_address$", @@ -6010,37 +6112,37 @@ "node_type": 87, "kind": 88, "src": { - "line": 1469, + "line": 899, "column": 0, - "start": 51755, - "end": 51868, + "start": 32485, + "end": 32598, "length": 114, - "parent_index": 4011 + "parent_index": 1971 }, "body": { - "id": 4029, + "id": 1989, "node_type": 46, "kind": 0, "src": { - "line": 1469, + "line": 899, "column": 32, - "start": 51776, - "end": 51868, + "start": 32506, + "end": 32598, "length": 93 }, "implemented": true, "statements": [ { - "id": 4030, + "id": 1990, "node_type": 24, "kind": 24, "src": { - "line": 1470, + "line": 900, "column": 12, - "start": 51790, - "end": 51830, + "start": 32520, + "end": 32560, "length": 41, - "parent_index": 4029 + "parent_index": 1989 }, "argument_types": [ { @@ -6054,15 +6156,15 @@ ], "arguments": [ { - "id": 4035, + "id": 1995, "node_type": 16, "src": { - "line": 1470, + "line": 900, "column": 40, - "start": 51818, - "end": 51819, + "start": 32548, + "end": 32549, "length": 2, - "parent_index": 4030 + "parent_index": 1990 }, "name": "to", "type_description": { @@ -6071,18 +6173,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "to" }, { - "id": 4036, + "id": 1996, "node_type": 16, "src": { - "line": 1470, + "line": 900, "column": 44, - "start": 51822, - "end": 51829, + "start": 32552, + "end": 32559, "length": 8, - "parent_index": 4030 + "parent_index": 1990 }, "name": "amountLD", "type_description": { @@ -6097,43 +6200,44 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountLD" } ], "expression": { - "id": 4031, + "id": 1991, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1470, + "line": 900, "column": 12, - "start": 51790, - "end": 51816, + "start": 32520, + "end": 32546, "length": 27, - "parent_index": 4030 + "parent_index": 1990 }, "member_location": { - "line": 1470, + "line": 900, "column": 27, - "start": 51805, - "end": 51816, + "start": 32535, + "end": 32546, "length": 12, - "parent_index": 4031 + "parent_index": 1991 }, "expression": { - "id": 4032, + "id": 1992, "node_type": 24, "kind": 24, "src": { - "line": 1470, + "line": 900, "column": 12, - "start": 51790, - "end": 51803, + "start": 32520, + "end": 32533, "length": 14, - "parent_index": 4031 + "parent_index": 1991 }, "argument_types": [ { @@ -6143,15 +6247,15 @@ ], "arguments": [ { - "id": 4034, + "id": 1994, "node_type": 16, "src": { - "line": 1470, + "line": 900, "column": 19, - "start": 51797, - "end": 51802, + "start": 32527, + "end": 32532, "length": 6, - "parent_index": 4032 + "parent_index": 1992 }, "name": "_token", "type_description": { @@ -6160,19 +6264,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_token" } ], "expression": { - "id": 4033, + "id": 1993, "node_type": 16, "src": { - "line": 1470, + "line": 900, "column": 12, - "start": 51790, - "end": 51795, + "start": 32520, + "end": 32525, "length": 6, - "parent_index": 4032 + "parent_index": 1992 }, "name": "IERC20", "type_description": { @@ -6181,7 +6286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6193,7 +6299,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IERC20(_token).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", @@ -6201,38 +6308,38 @@ } }, { - "id": 4037, + "id": 1997, "node_type": 27, "src": { - "line": 1471, + "line": 901, "column": 12, - "start": 51845, - "end": 51858, + "start": 32575, + "end": 32588, "length": 14, - "parent_index": 4029 + "parent_index": 1989 }, "expression": { - "id": 4038, + "id": 1998, "node_type": 27, "src": { - "line": 1471, + "line": 901, "column": 12, - "start": 51845, - "end": 51857, + "start": 32575, + "end": 32587, "length": 13, - "parent_index": 4037 + "parent_index": 1997 }, "operator": 11, "left_expression": { - "id": 4039, + "id": 1999, "node_type": 16, "src": { - "line": 1471, + "line": 901, "column": 12, - "start": 51845, - "end": 51850, + "start": 32575, + "end": 32580, "length": 6, - "parent_index": 4038 + "parent_index": 1998 }, "name": "failed", "type_description": { @@ -6240,22 +6347,23 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 3768, - "is_pure": false + "referenced_declaration": 1728, + "is_pure": false, + "text": "failed" }, "right_expression": { - "id": 4040, + "id": 2000, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 1471, + "line": 901, "column": 21, - "start": 51854, - "end": 51857, + "start": 32584, + "end": 32587, "length": 4, - "parent_index": 4038 + "parent_index": 1998 }, "type_description": { "type_identifier": "t_bool", @@ -6263,7 +6371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_bool", @@ -6273,43 +6382,44 @@ "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } + }, + "text": "failed=true;" } ] }, "parameters": { - "id": 4026, + "id": 1986, "node_type": 43, "src": { - "line": 1469, + "line": 899, "column": 18, - "start": 51762, - "end": 51773, + "start": 32492, + "end": 32503, "length": 12 }, "parameters": [ { - "id": 4027, + "id": 1987, "node_type": 44, "src": { - "line": 1469, + "line": 899, "column": 18, - "start": 51762, - "end": 51773, + "start": 32492, + "end": 32503, "length": 12, - "parent_index": 4026 + "parent_index": 1986 }, "name": "", "type_name": { - "id": 4028, + "id": 1988, "node_type": 30, "src": { - "line": 1469, + "line": 899, "column": 18, - "start": 51762, - "end": 51766, + "start": 32492, + "end": 32496, "length": 5, - "parent_index": 4027 + "parent_index": 1987 }, "name": "bytes", "referenced_declaration": 0, @@ -6339,115 +6449,116 @@ "implemented": false }, { - "id": 4042, + "id": 2002, "node_type": 48, "src": { - "line": 1475, + "line": 905, "column": 0, - "start": 51957, - "end": 52043, + "start": 32687, + "end": 32773, "length": 87, - "parent_index": 3962 + "parent_index": 1922 }, "condition": { - "id": 4043, + "id": 2003, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1475, + "line": 905, "column": 12, - "start": 51961, - "end": 51985, + "start": 32691, + "end": 32715, "length": 25, - "parent_index": 4042 + "parent_index": 2002 }, "operator": 7, "left_expression": { - "id": 4044, + "id": 2004, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1475, + "line": 905, "column": 12, - "start": 51961, - "end": 51981, + "start": 32691, + "end": 32711, "length": 21, - "parent_index": 4043 + "parent_index": 2003 }, "member_location": { - "line": 1475, + "line": 905, "column": 26, - "start": 51975, - "end": 51981, + "start": 32705, + "end": 32711, "length": 7, - "parent_index": 4044 + "parent_index": 2004 }, "expression": { - "id": 4045, + "id": 2005, "node_type": 24, "kind": 24, "src": { - "line": 1475, + "line": 905, "column": 12, - "start": 51961, - "end": 51973, + "start": 32691, + "end": 32703, "length": 13, - "parent_index": 4044 + "parent_index": 2004 }, "argument_types": [ { - "type_identifier": "t_contract$_StargateAdapter_$3694", + "type_identifier": "t_contract$_StargateAdapter_$1678", "type_string": "contract StargateAdapter" } ], "arguments": [ { - "id": 4048, + "id": 2008, "node_type": 16, "src": { - "line": 1475, + "line": 905, "column": 20, - "start": 51969, - "end": 51972, + "start": 32699, + "end": 32702, "length": 4, - "parent_index": 4045 + "parent_index": 2005 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_StargateAdapter_$3694", + "type_identifier": "t_contract$_StargateAdapter_$1678", "type_string": "contract StargateAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 4046, + "id": 2006, "node_type": 16, "src": { - "line": 1475, + "line": 905, "column": 12, - "start": 51961, - "end": 51967, + "start": 32691, + "end": 32697, "length": 7, - "parent_index": 4045 + "parent_index": 2005 }, "name": "address", "type_name": { - "id": 4047, + "id": 2007, "node_type": 30, "src": { - "line": 1475, + "line": 905, "column": 12, - "start": 51961, - "end": 51967, + "start": 32691, + "end": 32697, "length": 7, - "parent_index": 4046 + "parent_index": 2006 }, "name": "address", "state_mutability": 4, @@ -6469,7 +6580,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6481,21 +6593,22 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { - "id": 4049, + "id": 2009, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1475, + "line": 905, "column": 36, - "start": 51985, - "end": 51985, + "start": 32715, + "end": 32715, "length": 1, - "parent_index": 4043 + "parent_index": 2003 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -6503,7 +6616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6511,7 +6625,7 @@ } }, "body": { - "id": 4050, + "id": 2010, "node_type": 46, "kind": 0, "src": { @@ -6526,27 +6640,27 @@ } }, { - "id": 4051, + "id": 2011, "node_type": 64, "src": { - "line": 1478, + "line": 908, "column": 8, - "start": 52054, - "end": 52100, + "start": 32784, + "end": 32830, "length": 47, - "parent_index": 3946 + "parent_index": 1906 }, "arguments": [ { - "id": 4052, + "id": 2012, "node_type": 16, "src": { - "line": 1478, + "line": 908, "column": 35, - "start": 52081, - "end": 52090, + "start": 32811, + "end": 32820, "length": 10, - "parent_index": 4051 + "parent_index": 2011 }, "name": "srcContext", "type_description": { @@ -6554,19 +6668,20 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 3972, - "is_pure": false + "referenced_declaration": 1932, + "is_pure": false, + "text": "srcContext" }, { - "id": 4053, + "id": 2013, "node_type": 16, "src": { - "line": 1478, + "line": 908, "column": 47, - "start": 52093, - "end": 52098, + "start": 32823, + "end": 32828, "length": 6, - "parent_index": 4051 + "parent_index": 2011 }, "name": "failed", "type_description": { @@ -6574,29 +6689,31 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4008, - "is_pure": false + "referenced_declaration": 1968, + "is_pure": false, + "text": "failed" } ], "expression": { - "id": 4054, + "id": 2014, "node_type": 16, "src": { - "line": 1478, + "line": 908, "column": 13, - "start": 52059, - "end": 52079, + "start": 32789, + "end": 32809, "length": 21, - "parent_index": 4051 + "parent_index": 2011 }, "name": "StargateSushiXSwapDst", "type_description": { - "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00263764", + "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00261724", "type_string": "event StargateAdapter.StargateSushiXSwapDst" }, "overloaded_declarations": [], - "referenced_declaration": 3764, - "is_pure": false + "referenced_declaration": 1724, + "is_pure": false, + "text": "StargateSushiXSwapDst" } } ] @@ -6608,15 +6725,15 @@ "modifiers": [], "overrides": [ { - "id": 3960, + "id": 1920, "node_type": 63, "src": { - "line": 1448, + "line": 878, "column": 15, - "start": 51058, - "end": 51065, + "start": 31788, + "end": 31795, "length": 8, - "parent_index": 3946 + "parent_index": 1906 }, "overrides": [], "referenced_declaration": 0, @@ -6627,40 +6744,40 @@ } ], "parameters": { - "id": 3947, + "id": 1907, "node_type": 43, "src": { - "line": 1442, + "line": 872, "column": 8, - "start": 50917, - "end": 51041, + "start": 31647, + "end": 31771, "length": 125, - "parent_index": 3946 + "parent_index": 1906 }, "parameters": [ { - "id": 3948, + "id": 1908, "node_type": 44, "src": { - "line": 1442, + "line": 872, "column": 8, - "start": 50917, - "end": 50922, + "start": 31647, + "end": 31652, "length": 6, - "parent_index": 3947 + "parent_index": 1907 }, - "scope": 3946, + "scope": 1906, "name": "", "type_name": { - "id": 3949, + "id": 1909, "node_type": 30, "src": { - "line": 1442, + "line": 872, "column": 8, - "start": 50917, - "end": 50922, + "start": 31647, + "end": 31652, "length": 6, - "parent_index": 3948 + "parent_index": 1908 }, "name": "uint16", "referenced_declaration": 0, @@ -6678,28 +6795,28 @@ } }, { - "id": 3950, + "id": 1910, "node_type": 44, "src": { - "line": 1443, + "line": 873, "column": 8, - "start": 50933, - "end": 50944, + "start": 31663, + "end": 31674, "length": 12, - "parent_index": 3947 + "parent_index": 1907 }, - "scope": 3946, + "scope": 1906, "name": "", "type_name": { - "id": 3951, + "id": 1911, "node_type": 30, "src": { - "line": 1443, + "line": 873, "column": 8, - "start": 50933, - "end": 50937, + "start": 31663, + "end": 31667, "length": 5, - "parent_index": 3950 + "parent_index": 1910 }, "name": "bytes", "referenced_declaration": 0, @@ -6717,28 +6834,28 @@ } }, { - "id": 3952, + "id": 1912, "node_type": 44, "src": { - "line": 1444, + "line": 874, "column": 8, - "start": 50955, - "end": 50961, + "start": 31685, + "end": 31691, "length": 7, - "parent_index": 3947 + "parent_index": 1907 }, - "scope": 3946, + "scope": 1906, "name": "", "type_name": { - "id": 3953, + "id": 1913, "node_type": 30, "src": { - "line": 1444, + "line": 874, "column": 8, - "start": 50955, - "end": 50961, + "start": 31685, + "end": 31691, "length": 7, - "parent_index": 3952 + "parent_index": 1912 }, "name": "uint256", "referenced_declaration": 0, @@ -6756,28 +6873,28 @@ } }, { - "id": 3954, + "id": 1914, "node_type": 44, "src": { - "line": 1445, + "line": 875, "column": 8, - "start": 50972, - "end": 50985, + "start": 31702, + "end": 31715, "length": 14, - "parent_index": 3947 + "parent_index": 1907 }, - "scope": 3946, + "scope": 1906, "name": "_token", "type_name": { - "id": 3955, + "id": 1915, "node_type": 30, "src": { - "line": 1445, + "line": 875, "column": 8, - "start": 50972, - "end": 50978, + "start": 31702, + "end": 31708, "length": 7, - "parent_index": 3954 + "parent_index": 1914 }, "name": "address", "state_mutability": 4, @@ -6796,28 +6913,28 @@ } }, { - "id": 3956, + "id": 1916, "node_type": 44, "src": { - "line": 1446, + "line": 876, "column": 8, - "start": 50996, - "end": 51011, + "start": 31726, + "end": 31741, "length": 16, - "parent_index": 3947 + "parent_index": 1907 }, - "scope": 3946, + "scope": 1906, "name": "amountLD", "type_name": { - "id": 3957, + "id": 1917, "node_type": 30, "src": { - "line": 1446, + "line": 876, "column": 8, - "start": 50996, - "end": 51002, + "start": 31726, + "end": 31732, "length": 7, - "parent_index": 3956 + "parent_index": 1916 }, "name": "uint256", "referenced_declaration": 0, @@ -6835,28 +6952,28 @@ } }, { - "id": 3958, + "id": 1918, "node_type": 44, "src": { - "line": 1447, + "line": 877, "column": 8, - "start": 51022, - "end": 51041, + "start": 31752, + "end": 31771, "length": 20, - "parent_index": 3947 + "parent_index": 1907 }, - "scope": 3946, + "scope": 1906, "name": "payload", "type_name": { - "id": 3959, + "id": 1919, "node_type": 30, "src": { - "line": 1447, + "line": 877, "column": 8, - "start": 51022, - "end": 51026, + "start": 31752, + "end": 31756, "length": 5, - "parent_index": 3958 + "parent_index": 1918 }, "name": "bytes", "referenced_declaration": 0, @@ -6902,110 +7019,111 @@ ] }, "return_parameters": { - "id": 3961, + "id": 1921, "node_type": 43, "src": { - "line": 1441, + "line": 871, "column": 4, - "start": 50889, - "end": 52107, + "start": 31619, + "end": 32837, "length": 1219, - "parent_index": 3946 + "parent_index": 1906 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "sgReceive(uint16, bytes, uint256, address, uint256, bytes)", - "signature": "b19f8e19", - "scope": 3745, + "signature_raw": "sgReceive(uint16,bytes,uint256,address,uint256,bytes)", + "signature": "ab8236f3", + "scope": 1705, "type_description": { "type_identifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", "type_string": "function(uint16,bytes,uint256,address,uint256,bytes)" - } + }, + "text": "functionsgReceive(uint16,bytesmemory,uint256,address_token,uint256amountLD,bytesmemorypayload)externaloverride{if(msg.sender!=address(stargateRouter))revertNotStargateRouter();(addressto,uint8[]memoryactions,uint256[]memoryvalues,bytes[]memorydatas,bytes32srcContext)=abi.decode(payload,(address,uint8[],uint256[],bytes[],bytes32));uint256limit=gasleft()-200000;boolfailed;tryISushiXSwap(payable(address(this))).cook{gas:limit}(actions,values,datas){}catch(bytesmemory){IERC20(_token).safeTransfer(to,amountLD);failed=true;}if(address(this).balance\u003e0)to.call{value:(address(this).balance)}(\"\");emitStargateSushiXSwapDst(srcContext,failed);}" } ], "linearized_base_contracts": [ 948, - 3615, - 3745, - 3739, - 3740, - 3741, - 3742, - 3743, - 3744 + 1373, + 1705, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704 ], "base_contracts": [ { - "id": 3746, + "id": 1706, "node_type": 62, "src": { - "line": 1340, + "line": 770, "column": 37, - "start": 46715, - "end": 46728, + "start": 27445, + "end": 27458, "length": 14, - "parent_index": 3745 + "parent_index": 1705 }, "base_name": { - "id": 3747, + "id": 1707, "node_type": 52, "src": { - "line": 1340, + "line": 770, "column": 37, - "start": 46715, - "end": 46728, + "start": 27445, + "end": 27458, "length": 14, - "parent_index": 3745 + "parent_index": 1705 }, "name": "ImmutableState", "referenced_declaration": 948 } }, { - "id": 3748, + "id": 1708, "node_type": 62, "src": { - "line": 1340, + "line": 770, "column": 53, - "start": 46731, - "end": 46747, + "start": 27461, + "end": 27477, "length": 17, - "parent_index": 3745 + "parent_index": 1705 }, "base_name": { - "id": 3749, + "id": 1709, "node_type": 52, "src": { - "line": 1340, + "line": 770, "column": 53, - "start": 46731, - "end": 46747, + "start": 27461, + "end": 27477, "length": 17, - "parent_index": 3745 + "parent_index": 1705 }, "name": "IStargateReceiver", - "referenced_declaration": 3615 + "referenced_declaration": 1373 } } ], "contract_dependencies": [ 948, - 3615, - 3739, - 3740, - 3741, - 3742, - 3743, - 3744 + 1373, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704 ] } ], "src": { - "line": 1340, + "line": 770, "column": 0, - "start": 46678, - "end": 52109, + "start": 27408, + "end": 32839, "length": 5432, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/SushiLegacyAdapter.solgo.ast.json b/data/tests/contracts/sushixswap/SushiLegacyAdapter.solgo.ast.json index 536ef904..cb4e5f1b 100644 --- a/data/tests/contracts/sushixswap/SushiLegacyAdapter.solgo.ast.json +++ b/data/tests/contracts/sushixswap/SushiLegacyAdapter.solgo.ast.json @@ -1,27 +1,27 @@ { - "id": 2787, + "id": 3013, "base_contracts": [ { - "id": 2820, + "id": 3050, "node_type": 62, "src": { - "line": 1042, + "line": 1152, "column": 40, - "start": 37300, - "end": 37313, + "start": 41693, + "end": 41706, "length": 14, - "parent_index": 2819 + "parent_index": 3049 }, "base_name": { - "id": 2821, + "id": 3051, "node_type": 52, "src": { - "line": 1042, + "line": 1152, "column": 40, - "start": 37300, - "end": 37313, + "start": 41693, + "end": 41706, "length": 14, - "parent_index": 2819 + "parent_index": 3049 }, "name": "ImmutableState", "referenced_declaration": 948 @@ -31,22 +31,22 @@ "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 2787, + "id": 3013, "name": "SushiLegacyAdapter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiLegacyAdapter.sol" }, { - "id": 2281, + "id": 2503, "name": "SafeERC20", "absolute_path": "SafeERC20.sol" }, { - "id": 2281, + "id": 2503, "name": "UniswapV2Library", "absolute_path": "UniswapV2Library.sol" }, { - "id": 2281, + "id": 2503, "name": "ImmutableState", "absolute_path": "ImmutableState.sol" } @@ -56,15 +56,15 @@ "node_type": 1, "nodes": [ { - "id": 2803, + "id": 3029, "node_type": 10, "src": { - "line": 1034, + "line": 1144, "column": 0, - "start": 37039, - "end": 37061, + "start": 41432, + "end": 41454, "length": 23, - "parent_index": 2787 + "parent_index": 3013 }, "literals": [ "pragma", @@ -79,132 +79,132 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 2816, + "id": 3046, "node_type": 29, "src": { - "line": 1036, + "line": 1146, "column": 0, - "start": 37064, - "end": 37088, + "start": 41457, + "end": 41481, "length": 25, - "parent_index": 2787 + "parent_index": 3013 }, "absolute_path": "SafeERC20.sol", "file": "./SafeERC20.sol", - "scope": 2787, + "scope": 3013, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 2281 + "source_unit": 2503 }, { - "id": 2817, + "id": 3047, "node_type": 29, "src": { - "line": 1037, + "line": 1147, "column": 0, - "start": 37090, - "end": 37121, + "start": 41483, + "end": 41514, "length": 32, - "parent_index": 2787 + "parent_index": 3013 }, "absolute_path": "UniswapV2Library.sol", "file": "./UniswapV2Library.sol", - "scope": 2787, + "scope": 3013, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 2281 + "source_unit": 2503 }, { - "id": 2818, + "id": 3048, "node_type": 29, "src": { - "line": 1038, + "line": 1148, "column": 0, - "start": 37123, - "end": 37152, + "start": 41516, + "end": 41545, "length": 30, - "parent_index": 2787 + "parent_index": 3013 }, "absolute_path": "ImmutableState.sol", "file": "./ImmutableState.sol", - "scope": 2787, + "scope": 3013, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 2281 + "source_unit": 2503 }, { - "id": 2819, + "id": 3049, "name": "SushiLegacyAdapter", "node_type": 35, "src": { - "line": 1042, + "line": 1152, "column": 0, - "start": 37260, - "end": 39353, + "start": 41653, + "end": 43746, "length": 2094, - "parent_index": 2787 + "parent_index": 3013 }, "name_location": { - "line": 1042, + "line": 1152, "column": 18, - "start": 37278, - "end": 37295, + "start": 41671, + "end": 41688, "length": 18, - "parent_index": 2819 + "parent_index": 3049 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 2823, + "id": 3053, "node_type": 51, "src": { - "line": 1043, + "line": 1153, "column": 0, - "start": 37321, - "end": 37347, + "start": 41714, + "end": 41740, "length": 27, - "parent_index": 2819 + "parent_index": 3049 }, "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" }, "type_name": { - "id": 2825, + "id": 3055, "node_type": 69, "src": { - "line": 1043, + "line": 1153, "column": 24, - "start": 37341, - "end": 37346, + "start": 41734, + "end": 41739, "length": 6, - "parent_index": 2823 + "parent_index": 3053 }, "path_node": { - "id": 2826, + "id": 3056, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 1043, + "line": 1153, "column": 24, - "start": 37341, - "end": 37346, + "start": 41734, + "end": 41739, "length": 6, - "parent_index": 2825 + "parent_index": 3055 }, "name_location": { - "line": 1043, + "line": 1153, "column": 24, - "start": 37341, - "end": 37346, + "start": 41734, + "end": 41739, "length": 6, - "parent_index": 2825 + "parent_index": 3055 } }, "referenced_declaration": 1089, @@ -214,104 +214,104 @@ } }, "library_name": { - "id": 2824, + "id": 3054, "node_type": 52, "src": { - "line": 1043, + "line": 1153, "column": 0, - "start": 37327, - "end": 37335, + "start": 41720, + "end": 41728, "length": 9, - "parent_index": 2823 + "parent_index": 3053 }, "name": "SafeERC20", - "referenced_declaration": 1373 + "referenced_declaration": 1442 } }, { - "id": 2828, + "id": 3058, "name": "_swapExactTokensForTokens", "node_type": 42, "kind": 41, "src": { - "line": 1045, + "line": 1155, "column": 4, - "start": 37354, - "end": 38294, + "start": 41747, + "end": 42687, "length": 941, - "parent_index": 2819 + "parent_index": 3049 }, "name_location": { - "line": 1045, + "line": 1155, "column": 13, - "start": 37363, - "end": 37387, + "start": 41756, + "end": 41780, "length": 25, - "parent_index": 2828 + "parent_index": 3058 }, "body": { - "id": 2843, + "id": 3073, "node_type": 46, "kind": 0, "src": { - "line": 1051, + "line": 1161, "column": 43, - "start": 37564, - "end": 38294, + "start": 41957, + "end": 42687, "length": 731, - "parent_index": 2828 + "parent_index": 3058 }, "implemented": true, "statements": [ { - "id": 2844, + "id": 3074, "node_type": 44, "src": { - "line": 1052, + "line": 1162, "column": 8, - "start": 37574, - "end": 37728, + "start": 41967, + "end": 42121, "length": 155, - "parent_index": 2843 + "parent_index": 3073 }, "assignments": [ - 2845 + 3075 ], "declarations": [ { - "id": 2845, + "id": 3075, "state_mutability": 1, "name": "amounts", "node_type": 44, - "scope": 2843, + "scope": 3073, "src": { - "line": 1052, + "line": 1162, "column": 8, - "start": 37574, - "end": 37597, + "start": 41967, + "end": 41990, "length": 24, - "parent_index": 2844 + "parent_index": 3074 }, "name_location": { - "line": 1052, + "line": 1162, "column": 25, - "start": 37591, - "end": 37597, + "start": 41984, + "end": 41990, "length": 7, - "parent_index": 2845 + "parent_index": 3075 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 2846, + "id": 3076, "node_type": 16, "src": { - "line": 1052, + "line": 1162, "column": 8, - "start": 37574, - "end": 37580, + "start": 41967, + "end": 41973, "length": 7, - "parent_index": 2845 + "parent_index": 3075 }, "name": "uint256", "referenced_declaration": 0, @@ -324,16 +324,16 @@ } ], "initial_value": { - "id": 2847, + "id": 3077, "node_type": 24, "kind": 24, "src": { - "line": 1052, + "line": 1162, "column": 35, - "start": 37601, - "end": 37727, + "start": 41994, + "end": 42120, "length": 127, - "parent_index": 2844 + "parent_index": 3074 }, "argument_types": [ { @@ -355,15 +355,15 @@ ], "arguments": [ { - "id": 2850, + "id": 3080, "node_type": 16, "src": { - "line": 1053, + "line": 1163, "column": 12, - "start": 37645, - "end": 37651, + "start": 42038, + "end": 42044, "length": 7, - "parent_index": 2847 + "parent_index": 3077 }, "name": "factory", "type_description": { @@ -372,18 +372,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { - "id": 2851, + "id": 3081, "node_type": 16, "src": { - "line": 1054, + "line": 1164, "column": 12, - "start": 37666, - "end": 37673, + "start": 42059, + "end": 42066, "length": 8, - "parent_index": 2847 + "parent_index": 3077 }, "name": "amountIn", "type_description": { @@ -391,25 +392,26 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2851, + "referenced_declaration": 3081, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "amountIn" }, { - "id": 2852, + "id": 3082, "node_type": 16, "src": { - "line": 1055, + "line": 1165, "column": 12, - "start": 37688, - "end": 37691, + "start": 42081, + "end": 42084, "length": 4, - "parent_index": 2847 + "parent_index": 3077 }, "name": "path", "type_description": { @@ -417,7 +419,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2852, + "referenced_declaration": 3082, "is_pure": false, "argument_types": [ { @@ -428,18 +430,19 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" }, { - "id": 2853, + "id": 3083, "node_type": 16, "src": { - "line": 1056, + "line": 1166, "column": 12, - "start": 37706, - "end": 37717, + "start": 42099, + "end": 42110, "length": 12, - "parent_index": 2847 + "parent_index": 3077 }, "name": "pairCodeHash", "type_description": { @@ -462,58 +465,61 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "pairCodeHash" } ], "expression": { - "id": 2848, + "id": 3078, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1052, + "line": 1162, "column": 35, - "start": 37601, - "end": 37630, + "start": 41994, + "end": 42023, "length": 30, - "parent_index": 2847 + "parent_index": 3077 }, "member_location": { - "line": 1052, + "line": 1162, "column": 52, - "start": 37618, - "end": 37630, + "start": 42011, + "end": 42023, "length": 13, - "parent_index": 2848 + "parent_index": 3078 }, "expression": { - "id": 2849, + "id": 3079, "node_type": 16, "src": { - "line": 1052, + "line": 1162, "column": 35, - "start": 37601, - "end": 37616, + "start": 41994, + "end": 42009, "length": 16, - "parent_index": 2848 + "parent_index": 3078 }, "name": "UniswapV2Library", "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" }, "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" }, "member_name": "getAmountsOut", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" - } + }, + "text": "UniswapV2Library.getAmountsOut" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$_t_function_$_t_function_$_t_uint256$_t_address$", @@ -522,38 +528,38 @@ } }, { - "id": 2854, + "id": 3084, "node_type": 27, "src": { - "line": 1058, + "line": 1168, "column": 8, - "start": 37738, - "end": 37777, + "start": 42131, + "end": 42170, "length": 40, - "parent_index": 2843 + "parent_index": 3073 }, "expression": { - "id": 2855, + "id": 3085, "node_type": 27, "src": { - "line": 1058, + "line": 1168, "column": 8, - "start": 37738, - "end": 37776, + "start": 42131, + "end": 42169, "length": 39, - "parent_index": 2854 + "parent_index": 3084 }, "operator": 11, "left_expression": { - "id": 2856, + "id": 3086, "node_type": 16, "src": { - "line": 1058, + "line": 1168, "column": 8, - "start": 37738, - "end": 37746, + "start": 42131, + "end": 42139, "length": 9, - "parent_index": 2855 + "parent_index": 3085 }, "name": "amountOut", "type_description": { @@ -562,29 +568,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 646, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { - "id": 2857, + "id": 3087, "node_type": 22, "src": { - "line": 1058, + "line": 1168, "column": 20, - "start": 37750, - "end": 37776, + "start": 42143, + "end": 42169, "length": 27, - "parent_index": 2855 + "parent_index": 3085 }, "index_expression": { - "id": 2858, + "id": 3088, "node_type": 16, "src": { - "line": 1058, + "line": 1168, "column": 20, - "start": 37750, - "end": 37756, + "start": 42143, + "end": 42149, "length": 7, - "parent_index": 2857 + "parent_index": 3087 }, "name": "amounts", "type_description": { @@ -592,56 +599,57 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2844, - "is_pure": false + "referenced_declaration": 3074, + "is_pure": false, + "text": "amounts" }, "base_expression": { - "id": 2859, + "id": 3089, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1058, + "line": 1168, "column": 28, - "start": 37758, - "end": 37775, + "start": 42151, + "end": 42168, "length": 18, - "parent_index": 2857 + "parent_index": 3087 }, "operator": 2, "left_expression": { - "id": 2860, + "id": 3090, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1058, + "line": 1168, "column": 28, - "start": 37758, - "end": 37771, + "start": 42151, + "end": 42164, "length": 14, - "parent_index": 2859 + "parent_index": 3089 }, "member_location": { - "line": 1058, + "line": 1168, "column": 36, - "start": 37766, - "end": 37771, + "start": 42159, + "end": 42164, "length": 6, - "parent_index": 2860 + "parent_index": 3090 }, "expression": { - "id": 2861, + "id": 3091, "node_type": 16, "src": { - "line": 1058, + "line": 1168, "column": 28, - "start": 37758, - "end": 37764, + "start": 42151, + "end": 42157, "length": 7, - "parent_index": 2860 + "parent_index": 3090 }, "name": "amounts", "type_description": { @@ -649,29 +657,31 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2844, - "is_pure": false + "referenced_declaration": 3074, + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { - "id": 2862, + "id": 3092, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1058, + "line": 1168, "column": 45, - "start": 37775, - "end": 37775, + "start": 42168, + "end": 42168, "length": 1, - "parent_index": 2859 + "parent_index": 3089 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -679,7 +689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -709,19 +720,20 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountOut=amounts[amounts.length-1];" }, { - "id": 2863, + "id": 3093, "node_type": 24, "kind": 24, "src": { - "line": 1060, + "line": 1170, "column": 8, - "start": 37788, - "end": 37848, + "start": 42181, + "end": 42241, "length": 61, - "parent_index": 2843 + "parent_index": 3073 }, "argument_types": [ { @@ -735,29 +747,29 @@ ], "arguments": [ { - "id": 2865, + "id": 3095, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1060, + "line": 1170, "column": 16, - "start": 37796, - "end": 37820, + "start": 42189, + "end": 42213, "length": 25, - "parent_index": 2863 + "parent_index": 3093 }, "operator": 8, "left_expression": { - "id": 2866, + "id": 3096, "node_type": 16, "src": { - "line": 1060, + "line": 1170, "column": 16, - "start": 37796, - "end": 37804, + "start": 42189, + "end": 42197, "length": 9, - "parent_index": 2865 + "parent_index": 3095 }, "name": "amountOut", "type_description": { @@ -766,18 +778,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 646, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { - "id": 2867, + "id": 3097, "node_type": 16, "src": { - "line": 1060, + "line": 1170, "column": 29, - "start": 37809, - "end": 37820, + "start": 42202, + "end": 42213, "length": 12, - "parent_index": 2865 + "parent_index": 3095 }, "name": "amountOutMin", "type_description": { @@ -785,8 +798,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2867, - "is_pure": false + "referenced_declaration": 3097, + "is_pure": false, + "text": "amountOutMin" }, "type_description": { "type_identifier": "t_bool", @@ -794,18 +808,18 @@ } }, { - "id": 2868, + "id": 3098, "node_type": 17, "kind": 50, "value": "insufficient-amount-out", "hex_value": "696e73756666696369656e742d616d6f756e742d6f7574", "src": { - "line": 1060, + "line": 1170, "column": 43, - "start": 37823, - "end": 37847, + "start": 42216, + "end": 42240, "length": 25, - "parent_index": 2863 + "parent_index": 3093 }, "type_description": { "type_identifier": "t_string_literal", @@ -819,19 +833,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"insufficient-amount-out\"" } ], "expression": { - "id": 2864, + "id": 3094, "node_type": 16, "src": { - "line": 1060, + "line": 1170, "column": 8, - "start": 37788, - "end": 37794, + "start": 42181, + "end": 42187, "length": 7, - "parent_index": 2863 + "parent_index": 3093 }, "name": "require", "type_description": { @@ -840,7 +855,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -848,26 +864,26 @@ } }, { - "id": 2869, + "id": 3099, "node_type": 48, "src": { - "line": 1063, + "line": 1173, "column": 0, - "start": 37933, - "end": 38254, + "start": 42326, + "end": 42647, "length": 322, - "parent_index": 2843 + "parent_index": 3073 }, "condition": { - "id": 2870, + "id": 3100, "node_type": 16, "src": { - "line": 1063, + "line": 1173, "column": 12, - "start": 37937, - "end": 37946, + "start": 42330, + "end": 42339, "length": 10, - "parent_index": 2869 + "parent_index": 3099 }, "name": "sendTokens", "type_description": { @@ -875,34 +891,35 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 2870, - "is_pure": false + "referenced_declaration": 3100, + "is_pure": false, + "text": "sendTokens" }, "body": { - "id": 2871, + "id": 3101, "node_type": 46, "kind": 0, "src": { - "line": 1063, + "line": 1173, "column": 24, - "start": 37949, - "end": 38254, + "start": 42342, + "end": 42647, "length": 306, - "parent_index": 2828 + "parent_index": 3058 }, "implemented": true, "statements": [ { - "id": 2872, + "id": 3102, "node_type": 24, "kind": 24, "src": { - "line": 1064, + "line": 1174, "column": 12, - "start": 37963, - "end": 38243, + "start": 42356, + "end": 42636, "length": 281, - "parent_index": 2871 + "parent_index": 3101 }, "argument_types": [ { @@ -916,16 +933,16 @@ ], "arguments": [ { - "id": 2879, + "id": 3109, "node_type": 24, "kind": 24, "src": { - "line": 1065, + "line": 1175, "column": 16, - "start": 38009, - "end": 38171, + "start": 42402, + "end": 42564, "length": 163, - "parent_index": 2872 + "parent_index": 3102 }, "argument_types": [ { @@ -947,15 +964,15 @@ ], "arguments": [ { - "id": 2882, + "id": 3112, "node_type": 16, "src": { - "line": 1066, + "line": 1176, "column": 20, - "start": 38055, - "end": 38061, + "start": 42448, + "end": 42454, "length": 7, - "parent_index": 2879 + "parent_index": 3109 }, "name": "factory", "type_description": { @@ -964,29 +981,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { - "id": 2883, + "id": 3113, "node_type": 22, "src": { - "line": 1067, + "line": 1177, "column": 20, - "start": 38084, - "end": 38090, + "start": 42477, + "end": 42483, "length": 7, - "parent_index": 2879 + "parent_index": 3109 }, "index_expression": { - "id": 2884, + "id": 3114, "node_type": 16, "src": { - "line": 1067, + "line": 1177, "column": 20, - "start": 38084, - "end": 38087, + "start": 42477, + "end": 42480, "length": 4, - "parent_index": 2883 + "parent_index": 3113 }, "name": "path", "type_description": { @@ -994,22 +1012,23 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2884, - "is_pure": false + "referenced_declaration": 3114, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2885, + "id": 3115, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1067, + "line": 1177, "column": 25, - "start": 38089, - "end": 38089, + "start": 42482, + "end": 42482, "length": 1, - "parent_index": 2883 + "parent_index": 3113 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1017,7 +1036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -1035,26 +1055,26 @@ } }, { - "id": 2886, + "id": 3116, "node_type": 22, "src": { - "line": 1068, + "line": 1178, "column": 20, - "start": 38113, - "end": 38119, + "start": 42506, + "end": 42512, "length": 7, - "parent_index": 2879 + "parent_index": 3109 }, "index_expression": { - "id": 2887, + "id": 3117, "node_type": 16, "src": { - "line": 1068, + "line": 1178, "column": 20, - "start": 38113, - "end": 38116, + "start": 42506, + "end": 42509, "length": 4, - "parent_index": 2886 + "parent_index": 3116 }, "name": "path", "type_description": { @@ -1062,22 +1082,23 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2887, - "is_pure": false + "referenced_declaration": 3117, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2888, + "id": 3118, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1068, + "line": 1178, "column": 25, - "start": 38118, - "end": 38118, + "start": 42511, + "end": 42511, "length": 1, - "parent_index": 2886 + "parent_index": 3116 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -1085,7 +1106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_descriptions": [ { @@ -1103,15 +1125,15 @@ } }, { - "id": 2889, + "id": 3119, "node_type": 16, "src": { - "line": 1069, + "line": 1179, "column": 20, - "start": 38142, - "end": 38153, + "start": 42535, + "end": 42546, "length": 12, - "parent_index": 2879 + "parent_index": 3109 }, "name": "pairCodeHash", "type_description": { @@ -1134,58 +1156,61 @@ "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", "type_string": "index[address:int_const 1]" } - ] + ], + "text": "pairCodeHash" } ], "expression": { - "id": 2880, + "id": 3110, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1065, + "line": 1175, "column": 16, - "start": 38009, - "end": 38032, + "start": 42402, + "end": 42425, "length": 24, - "parent_index": 2879 + "parent_index": 3109 }, "member_location": { - "line": 1065, + "line": 1175, "column": 33, - "start": 38026, - "end": 38032, + "start": 42419, + "end": 42425, "length": 7, - "parent_index": 2880 + "parent_index": 3110 }, "expression": { - "id": 2881, + "id": 3111, "node_type": 16, "src": { - "line": 1065, + "line": 1175, "column": 16, - "start": 38009, - "end": 38024, + "start": 42402, + "end": 42417, "length": 16, - "parent_index": 2880 + "parent_index": 3110 }, "name": "UniswapV2Library", "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" }, "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" }, "member_name": "pairFor", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" - } + }, + "text": "UniswapV2Library.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", @@ -1193,16 +1218,16 @@ } }, { - "id": 2890, + "id": 3120, "node_type": 24, "kind": 24, "src": { - "line": 1071, + "line": 1181, "column": 16, - "start": 38190, - "end": 38229, + "start": 42583, + "end": 42622, "length": 40, - "parent_index": 2872 + "parent_index": 3102 }, "argument_types": [ { @@ -1212,67 +1237,68 @@ ], "arguments": [ { - "id": 2897, + "id": 3127, "node_type": 24, "kind": 24, "src": { - "line": 1071, + "line": 1181, "column": 42, - "start": 38216, - "end": 38228, + "start": 42609, + "end": 42621, "length": 13, - "parent_index": 2890 + "parent_index": 3120 }, "argument_types": [ { - "type_identifier": "t_contract$_SushiLegacyAdapter_$2787", + "type_identifier": "t_contract$_SushiLegacyAdapter_$3013", "type_string": "contract SushiLegacyAdapter" } ], "arguments": [ { - "id": 2900, + "id": 3130, "node_type": 16, "src": { - "line": 1071, + "line": 1181, "column": 50, - "start": 38224, - "end": 38227, + "start": 42617, + "end": 42620, "length": 4, - "parent_index": 2897 + "parent_index": 3127 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_SushiLegacyAdapter_$2787", + "type_identifier": "t_contract$_SushiLegacyAdapter_$3013", "type_string": "contract SushiLegacyAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 2898, + "id": 3128, "node_type": 16, "src": { - "line": 1071, + "line": 1181, "column": 42, - "start": 38216, - "end": 38222, + "start": 42609, + "end": 42615, "length": 7, - "parent_index": 2897 + "parent_index": 3127 }, "name": "address", "type_name": { - "id": 2899, + "id": 3129, "node_type": 30, "src": { - "line": 1071, + "line": 1181, "column": 42, - "start": 38216, - "end": 38222, + "start": 42609, + "end": 42615, "length": 7, - "parent_index": 2898 + "parent_index": 3128 }, "name": "address", "state_mutability": 4, @@ -1294,7 +1320,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1303,39 +1330,39 @@ } ], "expression": { - "id": 2891, + "id": 3121, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1071, + "line": 1181, "column": 16, - "start": 38190, - "end": 38214, + "start": 42583, + "end": 42607, "length": 25, - "parent_index": 2890 + "parent_index": 3120 }, "member_location": { - "line": 1071, + "line": 1181, "column": 32, - "start": 38206, - "end": 38214, + "start": 42599, + "end": 42607, "length": 9, - "parent_index": 2891 + "parent_index": 3121 }, "expression": { - "id": 2892, + "id": 3122, "node_type": 24, "kind": 24, "src": { - "line": 1071, + "line": 1181, "column": 16, - "start": 38190, - "end": 38204, + "start": 42583, + "end": 42597, "length": 15, - "parent_index": 2891 + "parent_index": 3121 }, "argument_types": [ { @@ -1345,26 +1372,26 @@ ], "arguments": [ { - "id": 2894, + "id": 3124, "node_type": 22, "src": { - "line": 1071, + "line": 1181, "column": 23, - "start": 38197, - "end": 38203, + "start": 42590, + "end": 42596, "length": 7, - "parent_index": 2892 + "parent_index": 3122 }, "index_expression": { - "id": 2895, + "id": 3125, "node_type": 16, "src": { - "line": 1071, + "line": 1181, "column": 23, - "start": 38197, - "end": 38200, + "start": 42590, + "end": 42593, "length": 4, - "parent_index": 2894 + "parent_index": 3124 }, "name": "path", "type_description": { @@ -1372,22 +1399,23 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2895, - "is_pure": false + "referenced_declaration": 3125, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2896, + "id": 3126, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1071, + "line": 1181, "column": 28, - "start": 38202, - "end": 38202, + "start": 42595, + "end": 42595, "length": 1, - "parent_index": 2894 + "parent_index": 3124 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1395,7 +1423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -1414,15 +1443,15 @@ } ], "expression": { - "id": 2893, + "id": 3123, "node_type": 16, "src": { - "line": 1071, + "line": 1181, "column": 16, - "start": 38190, - "end": 38195, + "start": 42583, + "end": 42588, "length": 6, - "parent_index": 2892 + "parent_index": 3122 }, "name": "IERC20", "type_description": { @@ -1431,7 +1460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -1443,7 +1473,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "function(index[address:int_const 0])" - } + }, + "text": "IERC20(path[0]).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -1452,39 +1483,39 @@ } ], "expression": { - "id": 2873, + "id": 3103, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1064, + "line": 1174, "column": 12, - "start": 37963, - "end": 37990, + "start": 42356, + "end": 42383, "length": 28, - "parent_index": 2872 + "parent_index": 3102 }, "member_location": { - "line": 1064, + "line": 1174, "column": 28, - "start": 37979, - "end": 37990, + "start": 42372, + "end": 42383, "length": 12, - "parent_index": 2873 + "parent_index": 3103 }, "expression": { - "id": 2874, + "id": 3104, "node_type": 24, "kind": 24, "src": { - "line": 1064, + "line": 1174, "column": 12, - "start": 37963, - "end": 37977, + "start": 42356, + "end": 42370, "length": 15, - "parent_index": 2873 + "parent_index": 3103 }, "argument_types": [ { @@ -1494,26 +1525,26 @@ ], "arguments": [ { - "id": 2876, + "id": 3106, "node_type": 22, "src": { - "line": 1064, + "line": 1174, "column": 19, - "start": 37970, - "end": 37976, + "start": 42363, + "end": 42369, "length": 7, - "parent_index": 2874 + "parent_index": 3104 }, "index_expression": { - "id": 2877, + "id": 3107, "node_type": 16, "src": { - "line": 1064, + "line": 1174, "column": 19, - "start": 37970, - "end": 37973, + "start": 42363, + "end": 42366, "length": 4, - "parent_index": 2876 + "parent_index": 3106 }, "name": "path", "type_description": { @@ -1521,22 +1552,23 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2877, - "is_pure": false + "referenced_declaration": 3107, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2878, + "id": 3108, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1064, + "line": 1174, "column": 24, - "start": 37975, - "end": 37975, + "start": 42368, + "end": 42368, "length": 1, - "parent_index": 2876 + "parent_index": 3106 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1544,7 +1576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -1563,15 +1596,15 @@ } ], "expression": { - "id": 2875, + "id": 3105, "node_type": 16, "src": { - "line": 1064, + "line": 1174, "column": 12, - "start": 37963, - "end": 37968, + "start": 42356, + "end": 42361, "length": 6, - "parent_index": 2874 + "parent_index": 3104 }, "name": "IERC20", "type_description": { @@ -1580,7 +1613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", @@ -1592,7 +1626,8 @@ "type_description": { "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", "type_string": "function(index[address:int_const 0])" - } + }, + "text": "IERC20(path[0]).safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_address$", @@ -1603,16 +1638,16 @@ } }, { - "id": 2901, + "id": 3131, "node_type": 24, "kind": 24, "src": { - "line": 1074, + "line": 1184, "column": 8, - "start": 38264, - "end": 38287, + "start": 42657, + "end": 42680, "length": 24, - "parent_index": 2843 + "parent_index": 3073 }, "argument_types": [ { @@ -1630,15 +1665,15 @@ ], "arguments": [ { - "id": 2903, + "id": 3133, "node_type": 16, "src": { - "line": 1074, + "line": 1184, "column": 14, - "start": 38270, - "end": 38276, + "start": 42663, + "end": 42669, "length": 7, - "parent_index": 2901 + "parent_index": 3131 }, "name": "amounts", "type_description": { @@ -1646,19 +1681,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2844, - "is_pure": false + "referenced_declaration": 3074, + "is_pure": false, + "text": "amounts" }, { - "id": 2904, + "id": 3134, "node_type": 16, "src": { - "line": 1074, + "line": 1184, "column": 23, - "start": 38279, - "end": 38282, + "start": 42672, + "end": 42675, "length": 4, - "parent_index": 2901 + "parent_index": 3131 }, "name": "path", "type_description": { @@ -1666,25 +1702,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2904, + "referenced_declaration": 3134, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "path" }, { - "id": 2905, + "id": 3135, "node_type": 16, "src": { - "line": 1074, + "line": 1184, "column": 29, - "start": 38285, - "end": 38286, + "start": 42678, + "end": 42679, "length": 2, - "parent_index": 2901 + "parent_index": 3131 }, "name": "to", "type_description": { @@ -1692,7 +1729,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2905, + "referenced_declaration": 3135, "is_pure": false, "argument_types": [ { @@ -1703,19 +1740,20 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" } ], "expression": { - "id": 2902, + "id": 3132, "node_type": 16, "src": { - "line": 1074, + "line": 1184, "column": 8, - "start": 38264, - "end": 38268, + "start": 42657, + "end": 42661, "length": 5, - "parent_index": 2901 + "parent_index": 3131 }, "name": "_swap", "type_description": { @@ -1724,7 +1762,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_swap" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$", @@ -1740,40 +1779,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2829, + "id": 3059, "node_type": 43, "src": { - "line": 1046, + "line": 1156, "column": 8, - "start": 37398, - "end": 37519, + "start": 41791, + "end": 41912, "length": 122, - "parent_index": 2828 + "parent_index": 3058 }, "parameters": [ { - "id": 2830, + "id": 3060, "node_type": 44, "src": { - "line": 1046, + "line": 1156, "column": 8, - "start": 37398, - "end": 37413, + "start": 41791, + "end": 41806, "length": 16, - "parent_index": 2829 + "parent_index": 3059 }, - "scope": 2828, + "scope": 3058, "name": "amountIn", "type_name": { - "id": 2831, + "id": 3061, "node_type": 30, "src": { - "line": 1046, + "line": 1156, "column": 8, - "start": 37398, - "end": 37404, + "start": 41791, + "end": 41797, "length": 7, - "parent_index": 2830 + "parent_index": 3060 }, "name": "uint256", "referenced_declaration": 0, @@ -1791,28 +1830,28 @@ } }, { - "id": 2832, + "id": 3062, "node_type": 44, "src": { - "line": 1047, + "line": 1157, "column": 8, - "start": 37424, - "end": 37443, + "start": 41817, + "end": 41836, "length": 20, - "parent_index": 2829 + "parent_index": 3059 }, - "scope": 2828, + "scope": 3058, "name": "amountOutMin", "type_name": { - "id": 2833, + "id": 3063, "node_type": 30, "src": { - "line": 1047, + "line": 1157, "column": 8, - "start": 37424, - "end": 37430, + "start": 41817, + "end": 41823, "length": 7, - "parent_index": 2832 + "parent_index": 3062 }, "name": "uint256", "referenced_declaration": 0, @@ -1830,28 +1869,28 @@ } }, { - "id": 2834, + "id": 3064, "node_type": 44, "src": { - "line": 1048, + "line": 1158, "column": 8, - "start": 37454, - "end": 37474, + "start": 41847, + "end": 41867, "length": 21, - "parent_index": 2829 + "parent_index": 3059 }, - "scope": 2828, + "scope": 3058, "name": "path", "type_name": { - "id": 2835, + "id": 3065, "node_type": 16, "src": { - "line": 1048, + "line": 1158, "column": 8, - "start": 37454, - "end": 37460, + "start": 41847, + "end": 41853, "length": 7, - "parent_index": 2834 + "parent_index": 3064 }, "name": "address", "referenced_declaration": 0, @@ -1869,28 +1908,28 @@ } }, { - "id": 2836, + "id": 3066, "node_type": 44, "src": { - "line": 1049, + "line": 1159, "column": 8, - "start": 37485, - "end": 37494, + "start": 41878, + "end": 41887, "length": 10, - "parent_index": 2829 + "parent_index": 3059 }, - "scope": 2828, + "scope": 3058, "name": "to", "type_name": { - "id": 2837, + "id": 3067, "node_type": 30, "src": { - "line": 1049, + "line": 1159, "column": 8, - "start": 37485, - "end": 37491, + "start": 41878, + "end": 41884, "length": 7, - "parent_index": 2836 + "parent_index": 3066 }, "name": "address", "state_mutability": 4, @@ -1909,28 +1948,28 @@ } }, { - "id": 2838, + "id": 3068, "node_type": 44, "src": { - "line": 1050, + "line": 1160, "column": 8, - "start": 37505, - "end": 37519, + "start": 41898, + "end": 41912, "length": 15, - "parent_index": 2829 + "parent_index": 3059 }, - "scope": 2828, + "scope": 3058, "name": "sendTokens", "type_name": { - "id": 2839, + "id": 3069, "node_type": 30, "src": { - "line": 1050, + "line": 1160, "column": 8, - "start": 37505, - "end": 37508, + "start": 41898, + "end": 41901, "length": 4, - "parent_index": 2838 + "parent_index": 3068 }, "name": "bool", "referenced_declaration": 0, @@ -1972,40 +2011,40 @@ ] }, "return_parameters": { - "id": 2840, + "id": 3070, "node_type": 43, "src": { - "line": 1051, + "line": 1161, "column": 24, - "start": 37545, - "end": 37561, + "start": 41938, + "end": 41954, "length": 17, - "parent_index": 2828 + "parent_index": 3058 }, "parameters": [ { - "id": 2841, + "id": 3071, "node_type": 44, "src": { - "line": 1051, + "line": 1161, "column": 24, - "start": 37545, - "end": 37561, + "start": 41938, + "end": 41954, "length": 17, - "parent_index": 2840 + "parent_index": 3070 }, - "scope": 2828, + "scope": 3058, "name": "amountOut", "type_name": { - "id": 2842, + "id": 3072, "node_type": 30, "src": { - "line": 1051, + "line": 1161, "column": 24, - "start": 37545, - "end": 37551, + "start": 41938, + "end": 41944, "length": 7, - "parent_index": 2841 + "parent_index": 3071 }, "name": "uint256", "referenced_declaration": 0, @@ -2030,109 +2069,110 @@ } ] }, - "signature_raw": "_swapExactTokensForTokens(uint256, uint256, address, address, bool)", - "signature": "017be292", - "scope": 2819, + "signature_raw": "_swapExactTokensForTokens(uint256,uint256,address,address,bool)", + "signature": "68da33b9", + "scope": 3049, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_bool$", "type_string": "function(uint256,uint256,address,address,bool)" - } + }, + "text": "function_swapExactTokensForTokens(uint256amountIn,uint256amountOutMin,address[]memorypath,addressto,boolsendTokens)internalreturns(uint256amountOut){uint256[]memoryamounts=UniswapV2Library.getAmountsOut(factory,amountIn,path,pairCodeHash);amountOut=amounts[amounts.length-1];require(amountOut\u003e=amountOutMin,\"insufficient-amount-out\");if(sendTokens){IERC20(path[0]).safeTransfer(UniswapV2Library.pairFor(factory,path[0],path[1],pairCodeHash),IERC20(path[0]).balanceOf(address(this)));}_swap(amounts,path,to);}" }, { - "id": 2907, + "id": 3137, "name": "_swap", "node_type": 42, "kind": 41, "src": { - "line": 1078, + "line": 1188, "column": 4, - "start": 38386, - "end": 39351, + "start": 42779, + "end": 43744, "length": 966, - "parent_index": 2819 + "parent_index": 3049 }, "name_location": { - "line": 1078, + "line": 1188, "column": 13, - "start": 38395, - "end": 38399, + "start": 42788, + "end": 42792, "length": 5, - "parent_index": 2907 + "parent_index": 3137 }, "body": { - "id": 2916, + "id": 3146, "node_type": 46, "kind": 0, "src": { - "line": 1082, + "line": 1192, "column": 23, - "start": 38510, - "end": 39351, + "start": 42903, + "end": 43744, "length": 842, - "parent_index": 2907 + "parent_index": 3137 }, "implemented": true, "statements": [ { - "id": 2917, + "id": 3147, "node_type": 79, "src": { - "line": 1083, + "line": 1193, "column": 0, - "start": 38520, - "end": 39345, + "start": 42913, + "end": 43738, "length": 826, - "parent_index": 2916 + "parent_index": 3146 }, "initialiser": { - "id": 2918, + "id": 3148, "node_type": 44, "src": { - "line": 1083, + "line": 1193, "column": 13, - "start": 38525, - "end": 38534, + "start": 42918, + "end": 42927, "length": 10, - "parent_index": 2916 + "parent_index": 3146 }, "assignments": [ - 2919 + 3149 ], "declarations": [ { - "id": 2919, + "id": 3149, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 2916, + "scope": 3146, "src": { - "line": 1083, + "line": 1193, "column": 13, - "start": 38525, - "end": 38533, + "start": 42918, + "end": 42926, "length": 9, - "parent_index": 2918 + "parent_index": 3148 }, "name_location": { - "line": 1083, + "line": 1193, "column": 21, - "start": 38533, - "end": 38533, + "start": 42926, + "end": 42926, "length": 1, - "parent_index": 2919 + "parent_index": 3149 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2920, + "id": 3150, "node_type": 30, "src": { - "line": 1083, + "line": 1193, "column": 13, - "start": 38525, - "end": 38531, + "start": 42918, + "end": 42924, "length": 7, - "parent_index": 2919 + "parent_index": 3149 }, "name": "uint256", "referenced_declaration": 0, @@ -2146,29 +2186,29 @@ ] }, "condition": { - "id": 2921, + "id": 3151, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1083, + "line": 1193, "column": 24, - "start": 38536, - "end": 38554, + "start": 42929, + "end": 42947, "length": 19, - "parent_index": 2917 + "parent_index": 3147 }, "operator": 9, "left_expression": { - "id": 2922, + "id": 3152, "node_type": 16, "src": { - "line": 1083, + "line": 1193, "column": 24, - "start": 38536, - "end": 38536, + "start": 42929, + "end": 42929, "length": 1, - "parent_index": 2921 + "parent_index": 3151 }, "name": "i", "type_description": { @@ -2176,56 +2216,57 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2923, + "id": 3153, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1083, + "line": 1193, "column": 28, - "start": 38540, - "end": 38554, + "start": 42933, + "end": 42947, "length": 15, - "parent_index": 2921 + "parent_index": 3151 }, "operator": 2, "left_expression": { - "id": 2924, + "id": 3154, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1083, + "line": 1193, "column": 28, - "start": 38540, - "end": 38550, + "start": 42933, + "end": 42943, "length": 11, - "parent_index": 2923 + "parent_index": 3153 }, "member_location": { - "line": 1083, + "line": 1193, "column": 33, - "start": 38545, - "end": 38550, + "start": 42938, + "end": 42943, "length": 6, - "parent_index": 2924 + "parent_index": 3154 }, "expression": { - "id": 2925, + "id": 3155, "node_type": 16, "src": { - "line": 1083, + "line": 1193, "column": 28, - "start": 38540, - "end": 38543, + "start": 42933, + "end": 42936, "length": 4, - "parent_index": 2924 + "parent_index": 3154 }, "name": "path", "type_description": { @@ -2233,29 +2274,31 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2925, - "is_pure": false + "referenced_declaration": 3155, + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { - "id": 2926, + "id": 3156, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1083, + "line": 1193, "column": 42, - "start": 38554, - "end": 38554, + "start": 42947, + "end": 42947, "length": 1, - "parent_index": 2923 + "parent_index": 3153 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -2263,7 +2306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -2276,28 +2320,28 @@ } }, "closure": { - "id": 2927, + "id": 3157, "node_type": 18, "kind": 105, "src": { - "line": 1083, + "line": 1193, "column": 45, - "start": 38557, - "end": 38559, + "start": 42950, + "end": 42952, "length": 3, - "parent_index": 2907 + "parent_index": 3137 }, "operator": 27, "expression": { - "id": 2928, + "id": 3158, "node_type": 16, "src": { - "line": 1083, + "line": 1193, "column": 45, - "start": 38557, - "end": 38557, + "start": 42950, + "end": 42950, "length": 1, - "parent_index": 2927 + "parent_index": 3157 }, "name": "i", "type_description": { @@ -2305,8 +2349,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -2319,69 +2364,69 @@ "l_value_requested": false }, "body": { - "id": 2929, + "id": 3159, "node_type": 46, "kind": 0, "src": { - "line": 1083, + "line": 1193, "column": 50, - "start": 38562, - "end": 39345, + "start": 42955, + "end": 43738, "length": 784, - "parent_index": 2917 + "parent_index": 3147 }, "implemented": true, "statements": [ { - "id": 2930, + "id": 3160, "node_type": 44, "src": { - "line": 1084, + "line": 1194, "column": 12, - "start": 38576, - "end": 38632, + "start": 42969, + "end": 43025, "length": 57, - "parent_index": 2929 + "parent_index": 3159 }, "assignments": [ - 2931, - 2933 + 3161, + 3163 ], "declarations": [ { - "id": 2931, + "id": 3161, "state_mutability": 1, "name": "input", "node_type": 44, - "scope": 2929, + "scope": 3159, "src": { - "line": 1084, + "line": 1194, "column": 13, - "start": 38577, - "end": 38589, + "start": 42970, + "end": 42982, "length": 13, - "parent_index": 2930 + "parent_index": 3160 }, "name_location": { - "line": 1084, + "line": 1194, "column": 21, - "start": 38585, - "end": 38589, + "start": 42978, + "end": 42982, "length": 5, - "parent_index": 2931 + "parent_index": 3161 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2932, + "id": 3162, "node_type": 30, "src": { - "line": 1084, + "line": 1194, "column": 13, - "start": 38577, - "end": 38583, + "start": 42970, + "end": 42976, "length": 7, - "parent_index": 2931 + "parent_index": 3161 }, "name": "address", "state_mutability": 4, @@ -2394,39 +2439,39 @@ "visibility": 1 }, { - "id": 2933, + "id": 3163, "state_mutability": 1, "name": "output", "node_type": 44, - "scope": 2929, + "scope": 3159, "src": { - "line": 1084, + "line": 1194, "column": 28, - "start": 38592, - "end": 38605, + "start": 42985, + "end": 42998, "length": 14, - "parent_index": 2930 + "parent_index": 3160 }, "name_location": { - "line": 1084, + "line": 1194, "column": 36, - "start": 38600, - "end": 38605, + "start": 42993, + "end": 42998, "length": 6, - "parent_index": 2933 + "parent_index": 3163 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2934, + "id": 3164, "node_type": 30, "src": { - "line": 1084, + "line": 1194, "column": 28, - "start": 38592, - "end": 38598, + "start": 42985, + "end": 42991, "length": 7, - "parent_index": 2933 + "parent_index": 3163 }, "name": "address", "state_mutability": 4, @@ -2440,40 +2485,40 @@ } ], "initial_value": { - "id": 2935, + "id": 3165, "node_type": 60, "src": { - "line": 1084, + "line": 1194, "column": 46, - "start": 38610, - "end": 38631, + "start": 43003, + "end": 43024, "length": 22, - "parent_index": 2917 + "parent_index": 3147 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2936, + "id": 3166, "node_type": 22, "src": { - "line": 1084, + "line": 1194, "column": 47, - "start": 38611, - "end": 38617, + "start": 43004, + "end": 43010, "length": 7, - "parent_index": 2930 + "parent_index": 3160 }, "index_expression": { - "id": 2937, + "id": 3167, "node_type": 16, "src": { - "line": 1084, + "line": 1194, "column": 47, - "start": 38611, - "end": 38614, + "start": 43004, + "end": 43007, "length": 4, - "parent_index": 2936 + "parent_index": 3166 }, "name": "path", "type_description": { @@ -2481,19 +2526,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2938, + "id": 3168, "node_type": 16, "src": { - "line": 1084, + "line": 1194, "column": 52, - "start": 38616, - "end": 38616, + "start": 43009, + "end": 43009, "length": 1, - "parent_index": 2936 + "parent_index": 3166 }, "name": "i", "type_description": { @@ -2501,8 +2547,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -2520,26 +2567,26 @@ } }, { - "id": 2939, + "id": 3169, "node_type": 22, "src": { - "line": 1084, + "line": 1194, "column": 56, - "start": 38620, - "end": 38630, + "start": 43013, + "end": 43023, "length": 11, - "parent_index": 2930 + "parent_index": 3160 }, "index_expression": { - "id": 2940, + "id": 3170, "node_type": 16, "src": { - "line": 1084, + "line": 1194, "column": 56, - "start": 38620, - "end": 38623, + "start": 43013, + "end": 43016, "length": 4, - "parent_index": 2939 + "parent_index": 3169 }, "name": "path", "type_description": { @@ -2547,33 +2594,34 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2941, + "id": 3171, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1084, + "line": 1194, "column": 61, - "start": 38625, - "end": 38629, + "start": 43018, + "end": 43022, "length": 5, - "parent_index": 2939 + "parent_index": 3169 }, "operator": 1, "left_expression": { - "id": 2942, + "id": 3172, "node_type": 16, "src": { - "line": 1084, + "line": 1194, "column": 61, - "start": 38625, - "end": 38625, + "start": 43018, + "end": 43018, "length": 1, - "parent_index": 2941 + "parent_index": 3171 }, "name": "i", "type_description": { @@ -2581,22 +2629,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2943, + "id": 3173, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1084, + "line": 1194, "column": 65, - "start": 38629, - "end": 38629, + "start": 43022, + "end": 43022, "length": 1, - "parent_index": 2941 + "parent_index": 3171 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -2604,7 +2653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -2634,54 +2684,54 @@ } }, { - "id": 2944, + "id": 3174, "node_type": 44, "src": { - "line": 1085, + "line": 1195, "column": 12, - "start": 38646, - "end": 38709, + "start": 43039, + "end": 43102, "length": 64, - "parent_index": 2929 + "parent_index": 3159 }, "assignments": [ - 2945 + 3175 ], "declarations": [ { - "id": 2945, + "id": 3175, "state_mutability": 1, "name": "token0", "node_type": 44, - "scope": 2929, + "scope": 3159, "src": { - "line": 1085, + "line": 1195, "column": 13, - "start": 38647, - "end": 38660, + "start": 43040, + "end": 43053, "length": 14, - "parent_index": 2944 + "parent_index": 3174 }, "name_location": { - "line": 1085, + "line": 1195, "column": 21, - "start": 38655, - "end": 38660, + "start": 43048, + "end": 43053, "length": 6, - "parent_index": 2945 + "parent_index": 3175 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2946, + "id": 3176, "node_type": 30, "src": { - "line": 1085, + "line": 1195, "column": 13, - "start": 38647, - "end": 38653, + "start": 43040, + "end": 43046, "length": 7, - "parent_index": 2945 + "parent_index": 3175 }, "name": "address", "state_mutability": 4, @@ -2695,16 +2745,16 @@ } ], "initial_value": { - "id": 2947, + "id": 3177, "node_type": 24, "kind": 24, "src": { - "line": 1085, + "line": 1195, "column": 33, - "start": 38667, - "end": 38708, + "start": 43060, + "end": 43101, "length": 42, - "parent_index": 2944 + "parent_index": 3174 }, "argument_types": [ { @@ -2718,15 +2768,15 @@ ], "arguments": [ { - "id": 2950, + "id": 3180, "node_type": 16, "src": { - "line": 1085, + "line": 1195, "column": 61, - "start": 38695, - "end": 38699, + "start": 43088, + "end": 43092, "length": 5, - "parent_index": 2947 + "parent_index": 3177 }, "name": "input", "type_description": { @@ -2734,19 +2784,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2930, - "is_pure": false + "referenced_declaration": 3160, + "is_pure": false, + "text": "input" }, { - "id": 2951, + "id": 3181, "node_type": 16, "src": { - "line": 1085, + "line": 1195, "column": 68, - "start": 38702, - "end": 38707, + "start": 43095, + "end": 43100, "length": 6, - "parent_index": 2947 + "parent_index": 3177 }, "name": "output", "type_description": { @@ -2754,65 +2805,68 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2930, + "referenced_declaration": 3160, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "output" } ], "expression": { - "id": 2948, + "id": 3178, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1085, + "line": 1195, "column": 33, - "start": 38667, - "end": 38693, + "start": 43060, + "end": 43086, "length": 27, - "parent_index": 2947 + "parent_index": 3177 }, "member_location": { - "line": 1085, + "line": 1195, "column": 50, - "start": 38684, - "end": 38693, + "start": 43077, + "end": 43086, "length": 10, - "parent_index": 2948 + "parent_index": 3178 }, "expression": { - "id": 2949, + "id": 3179, "node_type": 16, "src": { - "line": 1085, + "line": 1195, "column": 33, - "start": 38667, - "end": 38682, + "start": 43060, + "end": 43075, "length": 16, - "parent_index": 2948 + "parent_index": 3178 }, "name": "UniswapV2Library", "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" }, "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" }, "member_name": "sortTokens", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" - } + }, + "text": "UniswapV2Library.sortTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -2821,54 +2875,54 @@ } }, { - "id": 2952, + "id": 3182, "node_type": 44, "src": { - "line": 1086, + "line": 1196, "column": 12, - "start": 38723, - "end": 38757, + "start": 43116, + "end": 43150, "length": 35, - "parent_index": 2929 + "parent_index": 3159 }, "assignments": [ - 2953 + 3183 ], "declarations": [ { - "id": 2953, + "id": 3183, "state_mutability": 1, "name": "amountOut", "node_type": 44, - "scope": 2929, + "scope": 3159, "src": { - "line": 1086, + "line": 1196, "column": 12, - "start": 38723, - "end": 38739, + "start": 43116, + "end": 43132, "length": 17, - "parent_index": 2952 + "parent_index": 3182 }, "name_location": { - "line": 1086, + "line": 1196, "column": 20, - "start": 38731, - "end": 38739, + "start": 43124, + "end": 43132, "length": 9, - "parent_index": 2953 + "parent_index": 3183 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2954, + "id": 3184, "node_type": 30, "src": { - "line": 1086, + "line": 1196, "column": 12, - "start": 38723, - "end": 38729, + "start": 43116, + "end": 43122, "length": 7, - "parent_index": 2953 + "parent_index": 3183 }, "name": "uint256", "referenced_declaration": 0, @@ -2881,26 +2935,26 @@ } ], "initial_value": { - "id": 2955, + "id": 3185, "node_type": 22, "src": { - "line": 1086, + "line": 1196, "column": 32, - "start": 38743, - "end": 38756, + "start": 43136, + "end": 43149, "length": 14, - "parent_index": 2952 + "parent_index": 3182 }, "index_expression": { - "id": 2956, + "id": 3186, "node_type": 16, "src": { - "line": 1086, + "line": 1196, "column": 32, - "start": 38743, - "end": 38749, + "start": 43136, + "end": 43142, "length": 7, - "parent_index": 2955 + "parent_index": 3185 }, "name": "amounts", "type_description": { @@ -2908,33 +2962,34 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "base_expression": { - "id": 2957, + "id": 3187, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1086, + "line": 1196, "column": 40, - "start": 38751, - "end": 38755, + "start": 43144, + "end": 43148, "length": 5, - "parent_index": 2955 + "parent_index": 3185 }, "operator": 1, "left_expression": { - "id": 2958, + "id": 3188, "node_type": 16, "src": { - "line": 1086, + "line": 1196, "column": 40, - "start": 38751, - "end": 38751, + "start": 43144, + "end": 43144, "length": 1, - "parent_index": 2957 + "parent_index": 3187 }, "name": "i", "type_description": { @@ -2942,22 +2997,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2959, + "id": 3189, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1086, + "line": 1196, "column": 44, - "start": 38755, - "end": 38755, + "start": 43148, + "end": 43148, "length": 1, - "parent_index": 2957 + "parent_index": 3187 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -2965,7 +3021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -2989,55 +3046,55 @@ } }, { - "id": 2960, + "id": 3190, "node_type": 44, "src": { - "line": 1087, + "line": 1197, "column": 12, - "start": 38771, - "end": 38913, + "start": 43164, + "end": 43306, "length": 143, - "parent_index": 2929 + "parent_index": 3159 }, "assignments": [ - 2961, - 2963 + 3191, + 3193 ], "declarations": [ { - "id": 2961, + "id": 3191, "state_mutability": 1, "name": "amount0Out", "node_type": 44, - "scope": 2929, + "scope": 3159, "src": { - "line": 1087, + "line": 1197, "column": 13, - "start": 38772, - "end": 38789, + "start": 43165, + "end": 43182, "length": 18, - "parent_index": 2960 + "parent_index": 3190 }, "name_location": { - "line": 1087, + "line": 1197, "column": 21, - "start": 38780, - "end": 38789, + "start": 43173, + "end": 43182, "length": 10, - "parent_index": 2961 + "parent_index": 3191 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2962, + "id": 3192, "node_type": 30, "src": { - "line": 1087, + "line": 1197, "column": 13, - "start": 38772, - "end": 38778, + "start": 43165, + "end": 43171, "length": 7, - "parent_index": 2961 + "parent_index": 3191 }, "name": "uint256", "referenced_declaration": 0, @@ -3049,39 +3106,39 @@ "visibility": 1 }, { - "id": 2963, + "id": 3193, "state_mutability": 1, "name": "amount1Out", "node_type": 44, - "scope": 2929, + "scope": 3159, "src": { - "line": 1087, + "line": 1197, "column": 33, - "start": 38792, - "end": 38809, + "start": 43185, + "end": 43202, "length": 18, - "parent_index": 2960 + "parent_index": 3190 }, "name_location": { - "line": 1087, + "line": 1197, "column": 41, - "start": 38800, - "end": 38809, + "start": 43193, + "end": 43202, "length": 10, - "parent_index": 2963 + "parent_index": 3193 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2964, + "id": 3194, "node_type": 30, "src": { - "line": 1087, + "line": 1197, "column": 33, - "start": 38792, - "end": 38798, + "start": 43185, + "end": 43191, "length": 7, - "parent_index": 2963 + "parent_index": 3193 }, "name": "uint256", "referenced_declaration": 0, @@ -3094,41 +3151,41 @@ } ], "initial_value": { - "id": 2966, + "id": 3196, "node_type": 97, "src": { - "line": 1087, + "line": 1197, "column": 55, - "start": 38814, - "end": 38912, + "start": 43207, + "end": 43305, "length": 99, - "parent_index": 2960 + "parent_index": 3190 }, "expressions": [ { - "id": 2967, + "id": 3197, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1087, + "line": 1197, "column": 55, - "start": 38814, - "end": 38828, + "start": 43207, + "end": 43221, "length": 15, - "parent_index": 2966 + "parent_index": 3196 }, "operator": 11, "left_expression": { - "id": 2968, + "id": 3198, "node_type": 16, "src": { - "line": 1087, + "line": 1197, "column": 55, - "start": 38814, - "end": 38818, + "start": 43207, + "end": 43211, "length": 5, - "parent_index": 2967 + "parent_index": 3197 }, "name": "input", "type_description": { @@ -3136,19 +3193,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2930, - "is_pure": false + "referenced_declaration": 3160, + "is_pure": false, + "text": "input" }, "right_expression": { - "id": 2969, + "id": 3199, "node_type": 16, "src": { - "line": 1087, + "line": 1197, "column": 64, - "start": 38823, - "end": 38828, + "start": 43216, + "end": 43221, "length": 6, - "parent_index": 2967 + "parent_index": 3197 }, "name": "token0", "type_description": { @@ -3156,8 +3214,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2944, - "is_pure": false + "referenced_declaration": 3174, + "is_pure": false, + "text": "token0" }, "type_description": { "type_identifier": "t_bool", @@ -3165,30 +3224,30 @@ } }, { - "id": 2970, + "id": 3200, "node_type": 60, "src": { - "line": 1088, + "line": 1198, "column": 18, - "start": 38848, - "end": 38870, + "start": 43241, + "end": 43263, "length": 23, - "parent_index": 2966 + "parent_index": 3196 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2971, + "id": 3201, "node_type": 24, "kind": 24, "src": { - "line": 1088, + "line": 1198, "column": 19, - "start": 38849, - "end": 38858, + "start": 43242, + "end": 43251, "length": 10, - "parent_index": 2960 + "parent_index": 3190 }, "argument_types": [ { @@ -3198,18 +3257,18 @@ ], "arguments": [ { - "id": 2974, + "id": 3204, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1088, + "line": 1198, "column": 27, - "start": 38857, - "end": 38857, + "start": 43250, + "end": 43250, "length": 1, - "parent_index": 2971 + "parent_index": 3201 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3217,31 +3276,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2972, + "id": 3202, "node_type": 16, "src": { - "line": 1088, + "line": 1198, "column": 19, - "start": 38849, - "end": 38855, + "start": 43242, + "end": 43248, "length": 7, - "parent_index": 2971 + "parent_index": 3201 }, "name": "uint256", "type_name": { - "id": 2973, + "id": 3203, "node_type": 30, "src": { - "line": 1088, + "line": 1198, "column": 19, - "start": 38849, - "end": 38855, + "start": 43242, + "end": 43248, "length": 7, - "parent_index": 2972 + "parent_index": 3202 }, "name": "uint256", "referenced_declaration": 0, @@ -3262,7 +3322,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -3270,15 +3331,15 @@ } }, { - "id": 2975, + "id": 3205, "node_type": 16, "src": { - "line": 1088, + "line": 1198, "column": 31, - "start": 38861, - "end": 38869, + "start": 43254, + "end": 43262, "length": 9, - "parent_index": 2970 + "parent_index": 3200 }, "name": "amountOut", "type_description": { @@ -3286,8 +3347,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2952, - "is_pure": false + "referenced_declaration": 3182, + "is_pure": false, + "text": "amountOut" } ], "type_description": { @@ -3296,29 +3358,29 @@ } }, { - "id": 2976, + "id": 3206, "node_type": 60, "src": { - "line": 1089, + "line": 1199, "column": 18, - "start": 38890, - "end": 38912, + "start": 43283, + "end": 43305, "length": 23, - "parent_index": 2966 + "parent_index": 3196 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2977, + "id": 3207, "node_type": 16, "src": { - "line": 1089, + "line": 1199, "column": 19, - "start": 38891, - "end": 38899, + "start": 43284, + "end": 43292, "length": 9, - "parent_index": 2976 + "parent_index": 3206 }, "name": "amountOut", "type_description": { @@ -3326,20 +3388,21 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2952, - "is_pure": false + "referenced_declaration": 3182, + "is_pure": false, + "text": "amountOut" }, { - "id": 2978, + "id": 3208, "node_type": 24, "kind": 24, "src": { - "line": 1089, + "line": 1199, "column": 30, - "start": 38902, - "end": 38911, + "start": 43295, + "end": 43304, "length": 10, - "parent_index": 2960 + "parent_index": 3190 }, "argument_types": [ { @@ -3349,18 +3412,18 @@ ], "arguments": [ { - "id": 2981, + "id": 3211, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1089, + "line": 1199, "column": 38, - "start": 38910, - "end": 38910, + "start": 43303, + "end": 43303, "length": 1, - "parent_index": 2978 + "parent_index": 3208 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3368,31 +3431,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2979, + "id": 3209, "node_type": 16, "src": { - "line": 1089, + "line": 1199, "column": 30, - "start": 38902, - "end": 38908, + "start": 43295, + "end": 43301, "length": 7, - "parent_index": 2978 + "parent_index": 3208 }, "name": "uint256", "type_name": { - "id": 2980, + "id": 3210, "node_type": 30, "src": { - "line": 1089, + "line": 1199, "column": 30, - "start": 38902, - "end": 38908, + "start": 43295, + "end": 43301, "length": 7, - "parent_index": 2979 + "parent_index": 3209 }, "name": "uint256", "referenced_declaration": 0, @@ -3413,7 +3477,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -3445,54 +3510,54 @@ } }, { - "id": 2982, + "id": 3212, "node_type": 44, "src": { - "line": 1090, + "line": 1200, "column": 12, - "start": 38927, - "end": 39166, + "start": 43320, + "end": 43559, "length": 240, - "parent_index": 2929 + "parent_index": 3159 }, "assignments": [ - 2983 + 3213 ], "declarations": [ { - "id": 2983, + "id": 3213, "state_mutability": 1, "name": "to", "node_type": 44, - "scope": 2929, + "scope": 3159, "src": { - "line": 1090, + "line": 1200, "column": 12, - "start": 38927, - "end": 38936, + "start": 43320, + "end": 43329, "length": 10, - "parent_index": 2982 + "parent_index": 3212 }, "name_location": { - "line": 1090, + "line": 1200, "column": 20, - "start": 38935, - "end": 38936, + "start": 43328, + "end": 43329, "length": 2, - "parent_index": 2983 + "parent_index": 3213 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2984, + "id": 3214, "node_type": 30, "src": { - "line": 1090, + "line": 1200, "column": 12, - "start": 38927, - "end": 38933, + "start": 43320, + "end": 43326, "length": 7, - "parent_index": 2983 + "parent_index": 3213 }, "name": "address", "state_mutability": 4, @@ -3506,41 +3571,41 @@ } ], "initial_value": { - "id": 2986, + "id": 3216, "node_type": 97, "src": { - "line": 1090, + "line": 1200, "column": 25, - "start": 38940, - "end": 39165, + "start": 43333, + "end": 43558, "length": 226, - "parent_index": 2982 + "parent_index": 3212 }, "expressions": [ { - "id": 2987, + "id": 3217, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1090, + "line": 1200, "column": 25, - "start": 38940, - "end": 38958, + "start": 43333, + "end": 43351, "length": 19, - "parent_index": 2986 + "parent_index": 3216 }, "operator": 9, "left_expression": { - "id": 2988, + "id": 3218, "node_type": 16, "src": { - "line": 1090, + "line": 1200, "column": 25, - "start": 38940, - "end": 38940, + "start": 43333, + "end": 43333, "length": 1, - "parent_index": 2987 + "parent_index": 3217 }, "name": "i", "type_description": { @@ -3548,56 +3613,57 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2989, + "id": 3219, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1090, + "line": 1200, "column": 29, - "start": 38944, - "end": 38958, + "start": 43337, + "end": 43351, "length": 15, - "parent_index": 2987 + "parent_index": 3217 }, "operator": 2, "left_expression": { - "id": 2990, + "id": 3220, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1090, + "line": 1200, "column": 29, - "start": 38944, - "end": 38954, + "start": 43337, + "end": 43347, "length": 11, - "parent_index": 2982 + "parent_index": 3212 }, "member_location": { - "line": 1090, + "line": 1200, "column": 34, - "start": 38949, - "end": 38954, + "start": 43342, + "end": 43347, "length": 6, - "parent_index": 2990 + "parent_index": 3220 }, "expression": { - "id": 2991, + "id": 3221, "node_type": 16, "src": { - "line": 1090, + "line": 1200, "column": 29, - "start": 38944, - "end": 38947, + "start": 43337, + "end": 43340, "length": 4, - "parent_index": 2990 + "parent_index": 3220 }, "name": "path", "type_description": { @@ -3605,29 +3671,31 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { - "id": 2992, + "id": 3222, "node_type": 17, "kind": 49, "value": "2", "hex_value": "32", "src": { - "line": 1090, + "line": 1200, "column": 43, - "start": 38958, - "end": 38958, + "start": 43351, + "end": 43351, "length": 1, - "parent_index": 2989 + "parent_index": 3219 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3635,7 +3703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_address", @@ -3648,16 +3717,16 @@ } }, { - "id": 2993, + "id": 3223, "node_type": 24, "kind": 24, "src": { - "line": 1091, + "line": 1201, "column": 18, - "start": 38978, - "end": 39143, + "start": 43371, + "end": 43536, "length": 166, - "parent_index": 2982 + "parent_index": 3212 }, "argument_types": [ { @@ -3679,15 +3748,15 @@ ], "arguments": [ { - "id": 2996, + "id": 3226, "node_type": 16, "src": { - "line": 1092, + "line": 1202, "column": 20, - "start": 39024, - "end": 39030, + "start": 43417, + "end": 43423, "length": 7, - "parent_index": 2993 + "parent_index": 3223 }, "name": "factory", "type_description": { @@ -3696,18 +3765,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { - "id": 2997, + "id": 3227, "node_type": 16, "src": { - "line": 1093, + "line": 1203, "column": 20, - "start": 39053, - "end": 39058, + "start": 43446, + "end": 43451, "length": 6, - "parent_index": 2993 + "parent_index": 3223 }, "name": "output", "type_description": { @@ -3715,36 +3785,37 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2930, + "referenced_declaration": 3160, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "output" }, { - "id": 2998, + "id": 3228, "node_type": 22, "src": { - "line": 1094, + "line": 1204, "column": 20, - "start": 39081, - "end": 39091, + "start": 43474, + "end": 43484, "length": 11, - "parent_index": 2993 + "parent_index": 3223 }, "index_expression": { - "id": 2999, + "id": 3229, "node_type": 16, "src": { - "line": 1094, + "line": 1204, "column": 20, - "start": 39081, - "end": 39084, + "start": 43474, + "end": 43477, "length": 4, - "parent_index": 2998 + "parent_index": 3228 }, "name": "path", "type_description": { @@ -3752,33 +3823,34 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 3000, + "id": 3230, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1094, + "line": 1204, "column": 25, - "start": 39086, - "end": 39090, + "start": 43479, + "end": 43483, "length": 5, - "parent_index": 2998 + "parent_index": 3228 }, "operator": 1, "left_expression": { - "id": 3001, + "id": 3231, "node_type": 16, "src": { - "line": 1094, + "line": 1204, "column": 25, - "start": 39086, - "end": 39086, + "start": 43479, + "end": 43479, "length": 1, - "parent_index": 3000 + "parent_index": 3230 }, "name": "i", "type_description": { @@ -3786,22 +3858,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3002, + "id": 3232, "node_type": 17, "kind": 49, "value": "2", "hex_value": "32", "src": { - "line": 1094, + "line": 1204, "column": 29, - "start": 39090, - "end": 39090, + "start": 43483, + "end": 43483, "length": 1, - "parent_index": 3000 + "parent_index": 3230 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -3809,7 +3882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -3832,15 +3906,15 @@ } }, { - "id": 3003, + "id": 3233, "node_type": 16, "src": { - "line": 1095, + "line": 1205, "column": 20, - "start": 39114, - "end": 39125, + "start": 43507, + "end": 43518, "length": 12, - "parent_index": 2993 + "parent_index": 3223 }, "name": "pairCodeHash", "type_description": { @@ -3863,58 +3937,61 @@ "type_identifier": "t_[_[$_t_address]$_t_uint256]$", "type_string": "index[address:uint256]" } - ] + ], + "text": "pairCodeHash" } ], "expression": { - "id": 2994, + "id": 3224, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1091, + "line": 1201, "column": 18, - "start": 38978, - "end": 39001, + "start": 43371, + "end": 43394, "length": 24, - "parent_index": 2993 + "parent_index": 3223 }, "member_location": { - "line": 1091, + "line": 1201, "column": 35, - "start": 38995, - "end": 39001, + "start": 43388, + "end": 43394, "length": 7, - "parent_index": 2994 + "parent_index": 3224 }, "expression": { - "id": 2995, + "id": 3225, "node_type": 16, "src": { - "line": 1091, + "line": 1201, "column": 18, - "start": 38978, - "end": 38993, + "start": 43371, + "end": 43386, "length": 16, - "parent_index": 2994 + "parent_index": 3224 }, "name": "UniswapV2Library", "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" }, "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" }, "member_name": "pairFor", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" - } + }, + "text": "UniswapV2Library.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", @@ -3922,15 +3999,15 @@ } }, { - "id": 3004, + "id": 3234, "node_type": 16, "src": { - "line": 1097, + "line": 1207, "column": 18, - "start": 39163, - "end": 39165, + "start": 43556, + "end": 43558, "length": 3, - "parent_index": 2986 + "parent_index": 3216 }, "name": "_to", "type_description": { @@ -3939,7 +4016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 771, - "is_pure": false + "is_pure": false, + "text": "_to" } ], "type_descriptions": [ @@ -3960,16 +4038,16 @@ } }, { - "id": 3005, + "id": 3235, "node_type": 24, "kind": 24, "src": { - "line": 1098, + "line": 1208, "column": 12, - "start": 39180, - "end": 39334, + "start": 43573, + "end": 43727, "length": 155, - "parent_index": 2929 + "parent_index": 3159 }, "argument_types": [ { @@ -3991,15 +4069,15 @@ ], "arguments": [ { - "id": 3016, + "id": 3246, "node_type": 16, "src": { - "line": 1100, + "line": 1210, "column": 19, - "start": 39294, - "end": 39303, + "start": 43687, + "end": 43696, "length": 10, - "parent_index": 3005 + "parent_index": 3235 }, "name": "amount0Out", "type_description": { @@ -4007,19 +4085,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2960, - "is_pure": false + "referenced_declaration": 3190, + "is_pure": false, + "text": "amount0Out" }, { - "id": 3017, + "id": 3247, "node_type": 16, "src": { - "line": 1100, + "line": 1210, "column": 31, - "start": 39306, - "end": 39315, + "start": 43699, + "end": 43708, "length": 10, - "parent_index": 3005 + "parent_index": 3235 }, "name": "amount1Out", "type_description": { @@ -4027,25 +4106,26 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2960, + "referenced_declaration": 3190, "is_pure": false, "argument_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "amount1Out" }, { - "id": 3018, + "id": 3248, "node_type": 16, "src": { - "line": 1100, + "line": 1210, "column": 43, - "start": 39318, - "end": 39319, + "start": 43711, + "end": 43712, "length": 2, - "parent_index": 3005 + "parent_index": 3235 }, "name": "to", "type_description": { @@ -4053,7 +4133,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2982, + "referenced_declaration": 3212, "is_pure": false, "argument_types": [ { @@ -4064,19 +4144,20 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "to" }, { - "id": 3019, + "id": 3249, "node_type": 24, "kind": 24, "src": { - "line": 1100, + "line": 1210, "column": 47, - "start": 39322, - "end": 39333, + "start": 43715, + "end": 43726, "length": 12, - "parent_index": 3005 + "parent_index": 3235 }, "argument_types": [ { @@ -4086,18 +4167,18 @@ ], "arguments": [ { - "id": 3022, + "id": 3252, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1100, + "line": 1210, "column": 57, - "start": 39332, - "end": 39332, + "start": 43725, + "end": 43725, "length": 1, - "parent_index": 3019 + "parent_index": 3249 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4105,31 +4186,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 3020, + "id": 3250, "node_type": 25, "src": { - "line": 1100, + "line": 1210, "column": 47, - "start": 39322, - "end": 39330, + "start": 43715, + "end": 43723, "length": 9, - "parent_index": 3019 + "parent_index": 3249 }, "argument_types": [], "type_name": { - "id": 3021, + "id": 3251, "node_type": 30, "src": { - "line": 1100, + "line": 1210, "column": 51, - "start": 39326, - "end": 39330, + "start": 43719, + "end": 43723, "length": 5, - "parent_index": 3020 + "parent_index": 3250 }, "name": "bytes", "referenced_declaration": 0, @@ -4150,39 +4232,39 @@ } ], "expression": { - "id": 3006, + "id": 3236, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1098, + "line": 1208, "column": 12, - "start": 39180, - "end": 39292, + "start": 43573, + "end": 43685, "length": 113, - "parent_index": 3005 + "parent_index": 3235 }, "member_location": { - "line": 1100, + "line": 1210, "column": 14, - "start": 39289, - "end": 39292, + "start": 43682, + "end": 43685, "length": 4, - "parent_index": 3006 + "parent_index": 3236 }, "expression": { - "id": 3007, + "id": 3237, "node_type": 24, "kind": 24, "src": { - "line": 1098, + "line": 1208, "column": 12, - "start": 39180, - "end": 39287, + "start": 43573, + "end": 43680, "length": 108, - "parent_index": 3006 + "parent_index": 3236 }, "argument_types": [ { @@ -4192,16 +4274,16 @@ ], "arguments": [ { - "id": 3009, + "id": 3239, "node_type": 24, "kind": 24, "src": { - "line": 1099, + "line": 1209, "column": 16, - "start": 39212, - "end": 39273, + "start": 43605, + "end": 43666, "length": 62, - "parent_index": 3007 + "parent_index": 3237 }, "argument_types": [ { @@ -4223,15 +4305,15 @@ ], "arguments": [ { - "id": 3012, + "id": 3242, "node_type": 16, "src": { - "line": 1099, + "line": 1209, "column": 41, - "start": 39237, - "end": 39243, + "start": 43630, + "end": 43636, "length": 7, - "parent_index": 3009 + "parent_index": 3239 }, "name": "factory", "type_description": { @@ -4240,18 +4322,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { - "id": 3013, + "id": 3243, "node_type": 16, "src": { - "line": 1099, + "line": 1209, "column": 50, - "start": 39246, - "end": 39250, + "start": 43639, + "end": 43643, "length": 5, - "parent_index": 3009 + "parent_index": 3239 }, "name": "input", "type_description": { @@ -4259,25 +4342,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2930, + "referenced_declaration": 3160, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "input" }, { - "id": 3014, + "id": 3244, "node_type": 16, "src": { - "line": 1099, + "line": 1209, "column": 57, - "start": 39253, - "end": 39258, + "start": 43646, + "end": 43651, "length": 6, - "parent_index": 3009 + "parent_index": 3239 }, "name": "output", "type_description": { @@ -4285,7 +4369,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2930, + "referenced_declaration": 3160, "is_pure": false, "argument_types": [ { @@ -4296,18 +4380,19 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "output" }, { - "id": 3015, + "id": 3245, "node_type": 16, "src": { - "line": 1099, + "line": 1209, "column": 65, - "start": 39261, - "end": 39272, + "start": 43654, + "end": 43665, "length": 12, - "parent_index": 3009 + "parent_index": 3239 }, "name": "pairCodeHash", "type_description": { @@ -4330,58 +4415,61 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "pairCodeHash" } ], "expression": { - "id": 3010, + "id": 3240, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1099, + "line": 1209, "column": 16, - "start": 39212, - "end": 39235, + "start": 43605, + "end": 43628, "length": 24, - "parent_index": 3009 + "parent_index": 3239 }, "member_location": { - "line": 1099, + "line": 1209, "column": 33, - "start": 39229, - "end": 39235, + "start": 43622, + "end": 43628, "length": 7, - "parent_index": 3010 + "parent_index": 3240 }, "expression": { - "id": 3011, + "id": 3241, "node_type": 16, "src": { - "line": 1099, + "line": 1209, "column": 16, - "start": 39212, - "end": 39227, + "start": 43605, + "end": 43620, "length": 16, - "parent_index": 3010 + "parent_index": 3240 }, "name": "UniswapV2Library", "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" }, "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" }, "member_name": "pairFor", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", + "type_identifier": "t_contract$_UniswapV2Library_$2503", "type_string": "contract UniswapV2Library" - } + }, + "text": "UniswapV2Library.pairFor" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", @@ -4390,15 +4478,15 @@ } ], "expression": { - "id": 3008, + "id": 3238, "node_type": 16, "src": { - "line": 1098, + "line": 1208, "column": 12, - "start": 39180, - "end": 39193, + "start": 43573, + "end": 43586, "length": 14, - "parent_index": 3007 + "parent_index": 3237 }, "name": "IUniswapV2Pair", "type_description": { @@ -4407,7 +4495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", @@ -4419,7 +4508,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", "type_string": "function(function(function(),address,address,function(function(),address,address)))" - } + }, + "text": "IUniswapV2Pair(UniswapV2Library.pairFor(factory,input,output,pairCodeHash)).swap" }, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_function_$_t_rational_0_by_1$", @@ -4438,40 +4528,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2908, + "id": 3138, "node_type": 43, "src": { - "line": 1079, + "line": 1189, "column": 8, - "start": 38410, - "end": 38485, + "start": 42803, + "end": 42878, "length": 76, - "parent_index": 2907 + "parent_index": 3137 }, "parameters": [ { - "id": 2909, + "id": 3139, "node_type": 44, "src": { - "line": 1079, + "line": 1189, "column": 8, - "start": 38410, - "end": 38433, + "start": 42803, + "end": 42826, "length": 24, - "parent_index": 2908 + "parent_index": 3138 }, - "scope": 2907, + "scope": 3137, "name": "amounts", "type_name": { - "id": 2910, + "id": 3140, "node_type": 16, "src": { - "line": 1079, + "line": 1189, "column": 8, - "start": 38410, - "end": 38416, + "start": 42803, + "end": 42809, "length": 7, - "parent_index": 2909 + "parent_index": 3139 }, "name": "uint256", "referenced_declaration": 0, @@ -4489,28 +4579,28 @@ } }, { - "id": 2911, + "id": 3141, "node_type": 44, "src": { - "line": 1080, + "line": 1190, "column": 8, - "start": 38444, - "end": 38464, + "start": 42837, + "end": 42857, "length": 21, - "parent_index": 2908 + "parent_index": 3138 }, - "scope": 2907, + "scope": 3137, "name": "path", "type_name": { - "id": 2912, + "id": 3142, "node_type": 16, "src": { - "line": 1080, + "line": 1190, "column": 8, - "start": 38444, - "end": 38450, + "start": 42837, + "end": 42843, "length": 7, - "parent_index": 2911 + "parent_index": 3141 }, "name": "address", "referenced_declaration": 0, @@ -4528,28 +4618,28 @@ } }, { - "id": 2913, + "id": 3143, "node_type": 44, "src": { - "line": 1081, + "line": 1191, "column": 8, - "start": 38475, - "end": 38485, + "start": 42868, + "end": 42878, "length": 11, - "parent_index": 2908 + "parent_index": 3138 }, - "scope": 2907, + "scope": 3137, "name": "_to", "type_name": { - "id": 2914, + "id": 3144, "node_type": 30, "src": { - "line": 1081, + "line": 1191, "column": 8, - "start": 38475, - "end": 38481, + "start": 42868, + "end": 42874, "length": 7, - "parent_index": 2913 + "parent_index": 3143 }, "name": "address", "state_mutability": 4, @@ -4584,57 +4674,58 @@ ] }, "return_parameters": { - "id": 2915, + "id": 3145, "node_type": 43, "src": { - "line": 1078, + "line": 1188, "column": 4, - "start": 38386, - "end": 39351, + "start": 42779, + "end": 43744, "length": 966, - "parent_index": 2907 + "parent_index": 3137 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_swap(uint256, address, address)", - "signature": "9b12e533", - "scope": 2819, + "signature_raw": "_swap(uint256,address,address)", + "signature": "91b9e252", + "scope": 3049, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$", "type_string": "function(uint256,address,address)" - } + }, + "text": "function_swap(uint256[]memoryamounts,address[]memorypath,address_to)internalvirtual{for(uint256i;i\u003cpath.length-1;i++){(addressinput,addressoutput)=(path[i],path[i+1]);(addresstoken0,)=UniswapV2Library.sortTokens(input,output);uint256amountOut=amounts[i+1];(uint256amount0Out,uint256amount1Out)=input==token0?(uint256(0),amountOut):(amountOut,uint256(0));addressto=i\u003cpath.length-2?UniswapV2Library.pairFor(factory,output,path[i+2],pairCodeHash):_to;IUniswapV2Pair(UniswapV2Library.pairFor(factory,input,output,pairCodeHash)).swap(amount0Out,amount1Out,to,newbytes(0));}}" } ], "linearized_base_contracts": [ 948, - 2819, - 2816, - 2817, - 2818 + 3049, + 3046, + 3047, + 3048 ], "base_contracts": [ { - "id": 2820, + "id": 3050, "node_type": 62, "src": { - "line": 1042, + "line": 1152, "column": 40, - "start": 37300, - "end": 37313, + "start": 41693, + "end": 41706, "length": 14, - "parent_index": 2819 + "parent_index": 3049 }, "base_name": { - "id": 2821, + "id": 3051, "node_type": 52, "src": { - "line": 1042, + "line": 1152, "column": 40, - "start": 37300, - "end": 37313, + "start": 41693, + "end": 41706, "length": 14, - "parent_index": 2819 + "parent_index": 3049 }, "name": "ImmutableState", "referenced_declaration": 948 @@ -4643,17 +4734,17 @@ ], "contract_dependencies": [ 948, - 2816, - 2817, - 2818 + 3046, + 3047, + 3048 ] } ], "src": { - "line": 1042, + "line": 1152, "column": 0, - "start": 37260, - "end": 39353, + "start": 41653, + "end": 43746, "length": 2094, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/SushiXSwap.solgo.ast.json b/data/tests/contracts/sushixswap/SushiXSwap.solgo.ast.json index 96349414..9f7e92f4 100644 --- a/data/tests/contracts/sushixswap/SushiXSwap.solgo.ast.json +++ b/data/tests/contracts/sushixswap/SushiXSwap.solgo.ast.json @@ -1,10 +1,10 @@ { "id": 272, "node_type": 80, - "entry_source_unit": 4195, + "entry_source_unit": 4209, "globals": [ { - "id": 4435, + "id": 4449, "name": "success", "is_constant": true, "is_state_variable": true, @@ -25,7 +25,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4436, + "id": 4450, "node_type": 30, "src": { "line": 63, @@ -33,7 +33,7 @@ "start": 2578, "end": 2581, "length": 4, - "parent_index": 4435 + "parent_index": 4449 }, "name": "bool", "referenced_declaration": 0, @@ -45,7 +45,7 @@ "initial_value": null }, { - "id": 4437, + "id": 4451, "name": "success", "is_constant": true, "is_state_variable": true, @@ -66,7 +66,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4438, + "id": 4452, "node_type": 30, "src": { "line": 137, @@ -74,7 +74,7 @@ "start": 5300, "end": 5303, "length": 4, - "parent_index": 4437 + "parent_index": 4451 }, "name": "bool", "referenced_declaration": 0, @@ -86,7 +86,7 @@ "initial_value": null }, { - "id": 4439, + "id": 4453, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -107,7 +107,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4440, + "id": 4454, "node_type": 30, "src": { "line": 137, @@ -115,7 +115,7 @@ "start": 5314, "end": 5318, "length": 5, - "parent_index": 4439 + "parent_index": 4453 }, "name": "bytes", "referenced_declaration": 0, @@ -127,7 +127,7 @@ "initial_value": null }, { - "id": 4441, + "id": 4455, "name": "success", "is_constant": true, "is_state_variable": true, @@ -148,7 +148,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4442, + "id": 4456, "node_type": 30, "src": { "line": 164, @@ -156,7 +156,7 @@ "start": 6252, "end": 6255, "length": 4, - "parent_index": 4441 + "parent_index": 4455 }, "name": "bool", "referenced_declaration": 0, @@ -168,7 +168,7 @@ "initial_value": null }, { - "id": 4443, + "id": 4457, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -189,7 +189,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4444, + "id": 4458, "node_type": 30, "src": { "line": 164, @@ -197,7 +197,7 @@ "start": 6266, "end": 6270, "length": 5, - "parent_index": 4443 + "parent_index": 4457 }, "name": "bytes", "referenced_declaration": 0, @@ -209,7 +209,7 @@ "initial_value": null }, { - "id": 4445, + "id": 4459, "name": "success", "is_constant": true, "is_state_variable": true, @@ -230,7 +230,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4446, + "id": 4460, "node_type": 30, "src": { "line": 191, @@ -238,7 +238,7 @@ "start": 7200, "end": 7203, "length": 4, - "parent_index": 4445 + "parent_index": 4459 }, "name": "bool", "referenced_declaration": 0, @@ -250,7 +250,7 @@ "initial_value": null }, { - "id": 4447, + "id": 4461, "name": "returndata", "is_constant": true, "is_state_variable": true, @@ -271,7 +271,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4448, + "id": 4462, "node_type": 30, "src": { "line": 191, @@ -279,7 +279,7 @@ "start": 7214, "end": 7218, "length": 5, - "parent_index": 4447 + "parent_index": 4461 }, "name": "bytes", "referenced_declaration": 0, @@ -291,7 +291,7 @@ "initial_value": null }, { - "id": 4449, + "id": 4463, "node_type": 67, "src": { "line": 319, @@ -307,16 +307,16 @@ "start": 11608, "end": 11614, "length": 7, - "parent_index": 4449 + "parent_index": 4463 }, "canonical_name": "Global.lzTxObj", "type_description": { - "type_identifier": "t_struct$_Global_lzTxObj_$4449", + "type_identifier": "t_struct$_Global_lzTxObj_$4463", "type_string": "struct Global.lzTxObj" }, "members": [ { - "id": 4450, + "id": 4464, "node_type": 44, "src": { "line": 320, @@ -324,11 +324,11 @@ "start": 11626, "end": 11647, "length": 22, - "parent_index": 4449 + "parent_index": 4463 }, "name": "dstGasForCall", "type_name": { - "id": 4451, + "id": 4465, "node_type": 30, "src": { "line": 320, @@ -336,7 +336,7 @@ "start": 11626, "end": 11632, "length": 7, - "parent_index": 4450 + "parent_index": 4464 }, "name": "uint256", "referenced_declaration": 0, @@ -353,7 +353,7 @@ } }, { - "id": 4452, + "id": 4466, "node_type": 44, "src": { "line": 321, @@ -361,11 +361,11 @@ "start": 11657, "end": 11680, "length": 24, - "parent_index": 4449 + "parent_index": 4463 }, "name": "dstNativeAmount", "type_name": { - "id": 4453, + "id": 4467, "node_type": 30, "src": { "line": 321, @@ -373,7 +373,7 @@ "start": 11657, "end": 11663, "length": 7, - "parent_index": 4452 + "parent_index": 4466 }, "name": "uint256", "referenced_declaration": 0, @@ -390,7 +390,7 @@ } }, { - "id": 4454, + "id": 4468, "node_type": 44, "src": { "line": 322, @@ -398,11 +398,11 @@ "start": 11690, "end": 11709, "length": 20, - "parent_index": 4449 + "parent_index": 4463 }, "name": "dstNativeAddr", "type_name": { - "id": 4455, + "id": 4469, "node_type": 30, "src": { "line": 322, @@ -410,7 +410,7 @@ "start": 11690, "end": 11694, "length": 5, - "parent_index": 4454 + "parent_index": 4468 }, "name": "bytes", "referenced_declaration": 0, @@ -431,7 +431,7 @@ "storage_location": 1 }, { - "id": 4456, + "id": 4470, "name": "bentoBox", "is_constant": false, "is_state_variable": true, @@ -452,7 +452,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4457, + "id": 4471, "node_type": 69, "src": { "line": 384, @@ -460,10 +460,10 @@ "start": 13237, "end": 13252, "length": 16, - "parent_index": 4456 + "parent_index": 4470 }, "path_node": { - "id": 4458, + "id": 4472, "name": "IBentoBoxMinimal", "node_type": 52, "referenced_declaration": 546, @@ -473,7 +473,7 @@ "start": 13237, "end": 13252, "length": 16, - "parent_index": 4457 + "parent_index": 4471 }, "name_location": { "line": 384, @@ -481,7 +481,7 @@ "start": 13237, "end": 13252, "length": 16, - "parent_index": 4457 + "parent_index": 4471 } }, "referenced_declaration": 546, @@ -493,7 +493,7 @@ "initial_value": null }, { - "id": 4459, + "id": 4473, "name": "stargateRouter", "is_constant": false, "is_state_variable": true, @@ -514,7 +514,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4460, + "id": 4474, "node_type": 69, "src": { "line": 387, @@ -522,10 +522,10 @@ "start": 13355, "end": 13369, "length": 15, - "parent_index": 4459 + "parent_index": 4473 }, "path_node": { - "id": 4461, + "id": 4475, "name": "IStargateRouter", "node_type": 52, "referenced_declaration": 700, @@ -535,7 +535,7 @@ "start": 13355, "end": 13369, "length": 15, - "parent_index": 4460 + "parent_index": 4474 }, "name_location": { "line": 387, @@ -543,7 +543,7 @@ "start": 13355, "end": 13369, "length": 15, - "parent_index": 4460 + "parent_index": 4474 } }, "referenced_declaration": 700, @@ -555,7 +555,7 @@ "initial_value": null }, { - "id": 4462, + "id": 4476, "name": "stargateWidget", "is_constant": false, "is_state_variable": true, @@ -576,7 +576,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4463, + "id": 4477, "node_type": 69, "src": { "line": 390, @@ -584,10 +584,10 @@ "start": 13475, "end": 13489, "length": 15, - "parent_index": 4462 + "parent_index": 4476 }, "path_node": { - "id": 4464, + "id": 4478, "name": "IStargateWidget", "node_type": 52, "referenced_declaration": 797, @@ -597,7 +597,7 @@ "start": 13475, "end": 13489, "length": 15, - "parent_index": 4463 + "parent_index": 4477 }, "name_location": { "line": 390, @@ -605,7 +605,7 @@ "start": 13475, "end": 13489, "length": 15, - "parent_index": 4463 + "parent_index": 4477 } }, "referenced_declaration": 797, @@ -617,7 +617,7 @@ "initial_value": null }, { - "id": 4465, + "id": 4479, "name": "factory", "is_constant": false, "is_state_variable": true, @@ -638,7 +638,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4466, + "id": 4480, "node_type": 30, "src": { "line": 393, @@ -646,7 +646,7 @@ "start": 13583, "end": 13589, "length": 7, - "parent_index": 4465 + "parent_index": 4479 }, "name": "address", "state_mutability": 4, @@ -659,7 +659,7 @@ "initial_value": null }, { - "id": 4467, + "id": 4481, "name": "pairCodeHash", "is_constant": false, "is_state_variable": true, @@ -680,7 +680,7 @@ "storage_location": 1, "mutability": 2, "type_name": { - "id": 4468, + "id": 4482, "node_type": 30, "src": { "line": 396, @@ -688,7 +688,7 @@ "start": 13681, "end": 13687, "length": 7, - "parent_index": 4467 + "parent_index": 4481 }, "name": "bytes32", "referenced_declaration": 0, @@ -700,7 +700,7 @@ "initial_value": null }, { - "id": 4469, + "id": 4483, "node_type": 57, "src": { "line": 490, @@ -710,7 +710,7 @@ "length": 72 }, "parameters": { - "id": 4470, + "id": 4484, "node_type": 43, "src": { "line": 490, @@ -718,11 +718,11 @@ "start": 16951, "end": 17022, "length": 72, - "parent_index": 4469 + "parent_index": 4483 }, "parameters": [ { - "id": 4471, + "id": 4485, "node_type": 44, "src": { "line": 490, @@ -730,12 +730,12 @@ "start": 16966, "end": 16985, "length": 20, - "parent_index": 4470 + "parent_index": 4484 }, - "scope": 4469, + "scope": 4483, "name": "from", "type_name": { - "id": 4472, + "id": 4486, "node_type": 30, "src": { "line": 490, @@ -743,7 +743,7 @@ "start": 16966, "end": 16972, "length": 7, - "parent_index": 4471 + "parent_index": 4485 }, "name": "address", "state_mutability": 4, @@ -763,7 +763,7 @@ "indexed": true }, { - "id": 4473, + "id": 4487, "node_type": 44, "src": { "line": 490, @@ -771,12 +771,12 @@ "start": 16988, "end": 17005, "length": 18, - "parent_index": 4470 + "parent_index": 4484 }, - "scope": 4469, + "scope": 4483, "name": "to", "type_name": { - "id": 4474, + "id": 4488, "node_type": 30, "src": { "line": 490, @@ -784,297 +784,6 @@ "start": 16988, "end": 16994, "length": 7, - "parent_index": 4473 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 4475, - "node_type": 44, - "src": { - "line": 490, - "column": 61, - "start": 17008, - "end": 17020, - "length": 13, - "parent_index": 4470 - }, - "scope": 4469, - "name": "value", - "type_name": { - "id": 4476, - "node_type": 30, - "src": { - "line": 490, - "column": 61, - "start": 17008, - "end": 17014, - "length": 7, - "parent_index": 4475 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "name": "Transfer", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_Global_Transfer_\u00264469", - "type_string": "event Global.Transfer" - } - }, - { - "id": 4477, - "node_type": 57, - "src": { - "line": 496, - "column": 4, - "start": 17182, - "end": 17259, - "length": 78 - }, - "parameters": { - "id": 4478, - "node_type": 43, - "src": { - "line": 496, - "column": 4, - "start": 17182, - "end": 17259, - "length": 78, - "parent_index": 4477 - }, - "parameters": [ - { - "id": 4479, - "node_type": 44, - "src": { - "line": 496, - "column": 19, - "start": 17197, - "end": 17217, - "length": 21, - "parent_index": 4478 - }, - "scope": 4477, - "name": "owner", - "type_name": { - "id": 4480, - "node_type": 30, - "src": { - "line": 496, - "column": 19, - "start": 17197, - "end": 17203, - "length": 7, - "parent_index": 4479 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 4481, - "node_type": 44, - "src": { - "line": 496, - "column": 42, - "start": 17220, - "end": 17242, - "length": 23, - "parent_index": 4478 - }, - "scope": 4477, - "name": "spender", - "type_name": { - "id": 4482, - "node_type": 30, - "src": { - "line": 496, - "column": 42, - "start": 17220, - "end": 17226, - "length": 7, - "parent_index": 4481 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 4483, - "node_type": 44, - "src": { - "line": 496, - "column": 67, - "start": 17245, - "end": 17257, - "length": 13, - "parent_index": 4478 - }, - "scope": 4477, - "name": "value", - "type_name": { - "id": 4484, - "node_type": 30, - "src": { - "line": 496, - "column": 67, - "start": 17245, - "end": 17251, - "length": 7, - "parent_index": 4483 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "name": "Approval", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_Global_Approval_\u00264477", - "type_string": "event Global.Approval" - } - }, - { - "id": 4485, - "node_type": 57, - "src": { - "line": 626, - "column": 4, - "start": 22555, - "end": 22726, - "length": 172 - }, - "parameters": { - "id": 4486, - "node_type": 43, - "src": { - "line": 626, - "column": 4, - "start": 22555, - "end": 22726, - "length": 172, - "parent_index": 4485 - }, - "parameters": [ - { - "id": 4487, - "node_type": 44, - "src": { - "line": 627, - "column": 8, - "start": 22575, - "end": 22599, - "length": 25, - "parent_index": 4486 - }, - "scope": 4485, - "name": "recipient", - "type_name": { - "id": 4488, - "node_type": 30, - "src": { - "line": 627, - "column": 8, - "start": 22575, - "end": 22581, - "length": 7, "parent_index": 4487 }, "name": "address", @@ -1097,18 +806,309 @@ { "id": 4489, "node_type": 44, + "src": { + "line": 490, + "column": 61, + "start": 17008, + "end": 17020, + "length": 13, + "parent_index": 4484 + }, + "scope": 4483, + "name": "value", + "type_name": { + "id": 4490, + "node_type": 30, + "src": { + "line": 490, + "column": 61, + "start": 17008, + "end": 17014, + "length": 7, + "parent_index": 4489 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "name": "Transfer", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_Global_Transfer_\u00264483", + "type_string": "event Global.Transfer" + } + }, + { + "id": 4491, + "node_type": 57, + "src": { + "line": 496, + "column": 4, + "start": 17182, + "end": 17259, + "length": 78 + }, + "parameters": { + "id": 4492, + "node_type": 43, + "src": { + "line": 496, + "column": 4, + "start": 17182, + "end": 17259, + "length": 78, + "parent_index": 4491 + }, + "parameters": [ + { + "id": 4493, + "node_type": 44, + "src": { + "line": 496, + "column": 19, + "start": 17197, + "end": 17217, + "length": 21, + "parent_index": 4492 + }, + "scope": 4491, + "name": "owner", + "type_name": { + "id": 4494, + "node_type": 30, + "src": { + "line": 496, + "column": 19, + "start": 17197, + "end": 17203, + "length": 7, + "parent_index": 4493 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4495, + "node_type": 44, + "src": { + "line": 496, + "column": 42, + "start": 17220, + "end": 17242, + "length": 23, + "parent_index": 4492 + }, + "scope": 4491, + "name": "spender", + "type_name": { + "id": 4496, + "node_type": 30, + "src": { + "line": 496, + "column": 42, + "start": 17220, + "end": 17226, + "length": 7, + "parent_index": 4495 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4497, + "node_type": 44, + "src": { + "line": 496, + "column": 67, + "start": 17245, + "end": 17257, + "length": 13, + "parent_index": 4492 + }, + "scope": 4491, + "name": "value", + "type_name": { + "id": 4498, + "node_type": 30, + "src": { + "line": 496, + "column": 67, + "start": 17245, + "end": 17251, + "length": 7, + "parent_index": 4497 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "name": "Approval", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_Global_Approval_\u00264491", + "type_string": "event Global.Approval" + } + }, + { + "id": 4499, + "node_type": 57, + "src": { + "line": 626, + "column": 4, + "start": 22555, + "end": 22726, + "length": 172 + }, + "parameters": { + "id": 4500, + "node_type": 43, + "src": { + "line": 626, + "column": 4, + "start": 22555, + "end": 22726, + "length": 172, + "parent_index": 4499 + }, + "parameters": [ + { + "id": 4501, + "node_type": 44, + "src": { + "line": 627, + "column": 8, + "start": 22575, + "end": 22599, + "length": 25, + "parent_index": 4500 + }, + "scope": 4499, + "name": "recipient", + "type_name": { + "id": 4502, + "node_type": 30, + "src": { + "line": 627, + "column": 8, + "start": 22575, + "end": 22581, + "length": 7, + "parent_index": 4501 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4503, + "node_type": 44, "src": { "line": 628, "column": 8, "start": 22610, "end": 22632, "length": 23, - "parent_index": 4486 + "parent_index": 4500 }, - "scope": 4485, + "scope": 4499, "name": "tokenIn", "type_name": { - "id": 4490, + "id": 4504, "node_type": 30, "src": { "line": 628, @@ -1116,7 +1116,7 @@ "start": 22610, "end": 22616, "length": 7, - "parent_index": 4489 + "parent_index": 4503 }, "name": "address", "state_mutability": 4, @@ -1136,7 +1136,7 @@ "indexed": true }, { - "id": 4491, + "id": 4505, "node_type": 44, "src": { "line": 629, @@ -1144,12 +1144,12 @@ "start": 22643, "end": 22666, "length": 24, - "parent_index": 4486 + "parent_index": 4500 }, - "scope": 4485, + "scope": 4499, "name": "tokenOut", "type_name": { - "id": 4492, + "id": 4506, "node_type": 30, "src": { "line": 629, @@ -1157,7 +1157,7 @@ "start": 22643, "end": 22649, "length": 7, - "parent_index": 4491 + "parent_index": 4505 }, "name": "address", "state_mutability": 4, @@ -1177,7 +1177,7 @@ "indexed": true }, { - "id": 4493, + "id": 4507, "node_type": 44, "src": { "line": 630, @@ -1185,12 +1185,12 @@ "start": 22677, "end": 22692, "length": 16, - "parent_index": 4486 + "parent_index": 4500 }, - "scope": 4485, + "scope": 4499, "name": "amountIn", "type_name": { - "id": 4494, + "id": 4508, "node_type": 30, "src": { "line": 630, @@ -1198,7 +1198,7 @@ "start": 22677, "end": 22683, "length": 7, - "parent_index": 4493 + "parent_index": 4507 }, "name": "uint256", "referenced_declaration": 0, @@ -1216,7 +1216,7 @@ } }, { - "id": 4495, + "id": 4509, "node_type": 44, "src": { "line": 631, @@ -1224,12 +1224,12 @@ "start": 22703, "end": 22719, "length": 17, - "parent_index": 4486 + "parent_index": 4500 }, - "scope": 4485, + "scope": 4499, "name": "amountOut", "type_name": { - "id": 4496, + "id": 4510, "node_type": 30, "src": { "line": 631, @@ -1237,7 +1237,7 @@ "start": 22703, "end": 22709, "length": 7, - "parent_index": 4495 + "parent_index": 4509 }, "name": "uint256", "referenced_declaration": 0, @@ -1281,12 +1281,12 @@ "name": "Swap", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Swap_\u00264485", + "type_identifier": "t_event\u0026_Global_Swap_\u00264499", "type_string": "event Global.Swap" } }, { - "id": 4497, + "id": 4511, "node_type": 67, "src": { "line": 635, @@ -1302,16 +1302,16 @@ "start": 22797, "end": 22807, "length": 11, - "parent_index": 4497 + "parent_index": 4511 }, "canonical_name": "Global.TokenAmount", "type_description": { - "type_identifier": "t_struct$_Global_TokenAmount_$4497", + "type_identifier": "t_struct$_Global_TokenAmount_$4511", "type_string": "struct Global.TokenAmount" }, "members": [ { - "id": 4498, + "id": 4512, "node_type": 44, "src": { "line": 636, @@ -1319,11 +1319,11 @@ "start": 22819, "end": 22832, "length": 14, - "parent_index": 4497 + "parent_index": 4511 }, "name": "token", "type_name": { - "id": 4499, + "id": 4513, "node_type": 30, "src": { "line": 636, @@ -1331,7 +1331,7 @@ "start": 22819, "end": 22825, "length": 7, - "parent_index": 4498 + "parent_index": 4512 }, "name": "address", "state_mutability": 4, @@ -1349,7 +1349,7 @@ } }, { - "id": 4500, + "id": 4514, "node_type": 44, "src": { "line": 637, @@ -1357,11 +1357,11 @@ "start": 22842, "end": 22856, "length": 15, - "parent_index": 4497 + "parent_index": 4511 }, "name": "amount", "type_name": { - "id": 4501, + "id": 4515, "node_type": 30, "src": { "line": 637, @@ -1369,7 +1369,7 @@ "start": 22842, "end": 22848, "length": 7, - "parent_index": 4500 + "parent_index": 4514 }, "name": "uint256", "referenced_declaration": 0, @@ -1390,16 +1390,16 @@ "storage_location": 1 }, { - "id": 4502, + "id": 4516, "name": "newAllowance", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 705, + "line": 720, "column": 8, - "start": 25001, - "end": 25020, + "start": 25298, + "end": 25317, "length": 20 }, "scope": 0, @@ -1411,15 +1411,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4503, + "id": 4517, "node_type": 30, "src": { - "line": 705, + "line": 720, "column": 8, - "start": 25001, - "end": 25007, + "start": 25298, + "end": 25304, "length": 7, - "parent_index": 4502 + "parent_index": 4516 }, "name": "uint256", "referenced_declaration": 0, @@ -1431,16 +1431,16 @@ "initial_value": null }, { - "id": 4504, + "id": 4518, "name": "oldAllowance", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 715, + "line": 730, "column": 12, - "start": 25341, - "end": 25360, + "start": 25638, + "end": 25657, "length": 20 }, "scope": 0, @@ -1452,15 +1452,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4505, + "id": 4519, "node_type": 30, "src": { - "line": 715, + "line": 730, "column": 12, - "start": 25341, - "end": 25347, + "start": 25638, + "end": 25644, "length": 7, - "parent_index": 4504 + "parent_index": 4518 }, "name": "uint256", "referenced_declaration": 0, @@ -1472,16 +1472,16 @@ "initial_value": null }, { - "id": 4506, + "id": 4520, "name": "newAllowance", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 717, + "line": 732, "column": 12, - "start": 25506, - "end": 25525, + "start": 25803, + "end": 25822, "length": 20 }, "scope": 0, @@ -1493,15 +1493,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4507, + "id": 4521, "node_type": 30, "src": { - "line": 717, + "line": 732, "column": 12, - "start": 25506, - "end": 25512, + "start": 25803, + "end": 25809, "length": 7, - "parent_index": 4506 + "parent_index": 4520 }, "name": "uint256", "referenced_declaration": 0, @@ -1513,16 +1513,16 @@ "initial_value": null }, { - "id": 4508, + "id": 4522, "name": "returndata", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 733, + "line": 748, "column": 8, - "start": 26479, - "end": 26501, + "start": 26776, + "end": 26798, "length": 23 }, "scope": 0, @@ -1534,15 +1534,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4509, + "id": 4523, "node_type": 30, "src": { - "line": 733, + "line": 748, "column": 8, - "start": 26479, - "end": 26483, + "start": 26776, + "end": 26780, "length": 5, - "parent_index": 4508 + "parent_index": 4522 }, "name": "bytes", "referenced_declaration": 0, @@ -1554,1220 +1554,732 @@ "initial_value": null }, { - "id": 4510, + "id": 4524, + "node_type": 77, + "src": { + "line": 774, + "column": 4, + "start": 27538, + "end": 27563, + "length": 26 + }, + "name": "NotStargateRouter", + "name_location": { + "line": 774, + "column": 10, + "start": 27544, + "end": 27560, + "length": 17, + "parent_index": 4524 + }, + "parameters": { + "id": 4525, + "node_type": 43, + "src": { + "line": 774, + "column": 4, + "start": 27538, + "end": 27563, + "length": 26, + "parent_index": 4524 + }, + "parameters": [], + "parameter_types": [] + }, + "type_description": { + "type_identifier": "t_error$_Global_NotStargateRouter_$4524", + "type_string": "error Global.NotStargateRouter" + } + }, + { + "id": 4526, "node_type": 57, "src": { - "line": 808, + "line": 777, "column": 4, - "start": 28543, - "end": 28617, - "length": 75 + "start": 27584, + "end": 27639, + "length": 56 }, "parameters": { - "id": 4511, + "id": 4527, "node_type": 43, "src": { - "line": 808, + "line": 777, "column": 4, - "start": 28543, - "end": 28617, - "length": 75, - "parent_index": 4510 + "start": 27584, + "end": 27639, + "length": 56, + "parent_index": 4526 }, "parameters": [ { - "id": 4512, - "node_type": 44, - "src": { - "line": 808, - "column": 19, - "start": 28558, - "end": 28578, - "length": 21, - "parent_index": 4511 - }, - "scope": 4510, - "name": "owner", - "type_name": { - "id": 4513, - "node_type": 30, - "src": { - "line": 808, - "column": 19, - "start": 28558, - "end": 28564, - "length": 7, - "parent_index": 4512 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 4514, + "id": 4528, "node_type": 44, "src": { - "line": 808, - "column": 42, - "start": 28581, - "end": 28603, - "length": 23, - "parent_index": 4511 + "line": 777, + "column": 32, + "start": 27612, + "end": 27637, + "length": 26, + "parent_index": 4527 }, - "scope": 4510, - "name": "spender", + "scope": 4526, + "name": "srcContext", "type_name": { - "id": 4515, + "id": 4529, "node_type": 30, "src": { - "line": 808, - "column": 42, - "start": 28581, - "end": 28587, + "line": 777, + "column": 32, + "start": 27612, + "end": 27618, "length": 7, - "parent_index": 4514 + "parent_index": 4528 }, - "name": "address", - "state_mutability": 4, + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" }, "indexed": true - }, - { - "id": 4516, - "node_type": 44, - "src": { - "line": 808, - "column": 67, - "start": 28606, - "end": 28615, - "length": 10, - "parent_index": 4511 - }, - "scope": 4510, - "name": "value", - "type_name": { - "id": 4517, - "node_type": 30, - "src": { - "line": 808, - "column": 67, - "start": 28606, - "end": 28609, - "length": 4, - "parent_index": 4516 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } ] }, - "name": "Approval", + "name": "StargateSushiXSwapSrc", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Approval_\u00264510", - "type_string": "event Global.Approval" + "type_identifier": "t_event\u0026_Global_StargateSushiXSwapSrc_\u00264526", + "type_string": "event Global.StargateSushiXSwapSrc" } }, { - "id": 4518, + "id": 4530, "node_type": 57, "src": { - "line": 809, + "line": 778, "column": 4, - "start": 28623, - "end": 28691, + "start": 27645, + "end": 27713, "length": 69 }, "parameters": { - "id": 4519, + "id": 4531, "node_type": 43, "src": { - "line": 809, + "line": 778, "column": 4, - "start": 28623, - "end": 28691, + "start": 27645, + "end": 27713, "length": 69, - "parent_index": 4518 + "parent_index": 4530 }, "parameters": [ { - "id": 4520, - "node_type": 44, - "src": { - "line": 809, - "column": 19, - "start": 28638, - "end": 28657, - "length": 20, - "parent_index": 4519 - }, - "scope": 4518, - "name": "from", - "type_name": { - "id": 4521, - "node_type": 30, - "src": { - "line": 809, - "column": 19, - "start": 28638, - "end": 28644, - "length": 7, - "parent_index": 4520 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 4522, + "id": 4532, "node_type": 44, "src": { - "line": 809, - "column": 41, - "start": 28660, - "end": 28677, - "length": 18, - "parent_index": 4519 + "line": 778, + "column": 32, + "start": 27673, + "end": 27698, + "length": 26, + "parent_index": 4531 }, - "scope": 4518, - "name": "to", + "scope": 4530, + "name": "srcContext", "type_name": { - "id": 4523, + "id": 4533, "node_type": 30, "src": { - "line": 809, - "column": 41, - "start": 28660, - "end": 28666, + "line": 778, + "column": 32, + "start": 27673, + "end": 27679, "length": 7, - "parent_index": 4522 + "parent_index": 4532 }, - "name": "address", - "state_mutability": 4, + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" }, "indexed": true }, { - "id": 4524, + "id": 4534, "node_type": 44, "src": { - "line": 809, - "column": 61, - "start": 28680, - "end": 28689, - "length": 10, - "parent_index": 4519 + "line": 778, + "column": 60, + "start": 27701, + "end": 27711, + "length": 11, + "parent_index": 4531 }, - "scope": 4518, - "name": "value", + "scope": 4530, + "name": "failed", "type_name": { - "id": 4525, + "id": 4535, "node_type": 30, "src": { - "line": 809, - "column": 61, - "start": 28680, - "end": 28683, + "line": 778, + "column": 60, + "start": 27701, + "end": 27704, "length": 4, - "parent_index": 4524 + "parent_index": 4534 }, - "name": "uint", + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } ] }, - "name": "Transfer", + "name": "StargateSushiXSwapDst", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Transfer_\u00264518", - "type_string": "event Global.Transfer" + "type_identifier": "t_event\u0026_Global_StargateSushiXSwapDst_\u00264530", + "type_string": "event Global.StargateSushiXSwapDst" } }, { - "id": 4526, - "node_type": 57, + "id": 4536, + "node_type": 67, "src": { - "line": 828, + "line": 780, "column": 4, - "start": 29636, - "end": 29698, - "length": 63 + "start": 27720, + "end": 28404, + "length": 685 }, - "parameters": { - "id": 4527, - "node_type": 43, - "src": { - "line": 828, - "column": 4, - "start": 29636, - "end": 29698, - "length": 63, - "parent_index": 4526 - }, - "parameters": [ - { - "id": 4528, - "node_type": 44, + "name": "StargateTeleportParams", + "name_location": { + "line": 780, + "column": 11, + "start": 27727, + "end": 27748, + "length": 22, + "parent_index": 4536 + }, + "canonical_name": "Global.StargateTeleportParams", + "type_description": { + "type_identifier": "t_struct$_Global_StargateTeleportParams_$4536", + "type_string": "struct Global.StargateTeleportParams" + }, + "members": [ + { + "id": 4537, + "node_type": 44, + "src": { + "line": 781, + "column": 8, + "start": 27760, + "end": 27777, + "length": 18, + "parent_index": 4536 + }, + "name": "dstChainId", + "type_name": { + "id": 4538, + "node_type": 30, "src": { - "line": 828, - "column": 15, - "start": 29647, - "end": 29668, - "length": 22, - "parent_index": 4527 + "line": 781, + "column": 8, + "start": 27760, + "end": 27765, + "length": 6, + "parent_index": 4537 }, - "scope": 4526, - "name": "sender", - "type_name": { - "id": 4529, - "node_type": 30, - "src": { - "line": 828, - "column": 15, - "start": 29647, - "end": 29653, - "length": 7, - "parent_index": 4528 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "name": "uint16", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint16", + "type_string": "uint16" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint16", + "type_string": "uint16" + } + }, + { + "id": 4539, + "node_type": 44, + "src": { + "line": 782, + "column": 8, + "start": 27812, + "end": 27825, + "length": 14, + "parent_index": 4536 + }, + "name": "token", + "type_name": { + "id": 4540, + "node_type": 30, + "src": { + "line": 782, + "column": 8, + "start": 27812, + "end": 27818, + "length": 7, + "parent_index": 4539 }, - "storage_location": 2, - "visibility": 1, + "name": "address", "state_mutability": 4, + "referenced_declaration": 0, "type_description": { "type_identifier": "t_address", "type_string": "address" - }, - "indexed": true + } }, - { - "id": 4530, - "node_type": 44, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 4541, + "node_type": 44, + "src": { + "line": 783, + "column": 8, + "start": 27860, + "end": 27877, + "length": 18, + "parent_index": 4536 + }, + "name": "srcPoolId", + "type_name": { + "id": 4542, + "node_type": 30, "src": { - "line": 828, - "column": 39, - "start": 29671, - "end": 29682, - "length": 12, - "parent_index": 4527 - }, - "scope": 4526, - "name": "amount0", - "type_name": { - "id": 4531, - "node_type": 30, - "src": { - "line": 828, - "column": 39, - "start": 29671, - "end": 29674, - "length": 4, - "parent_index": 4530 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 783, + "column": 8, + "start": 27860, + "end": 27866, + "length": 7, + "parent_index": 4541 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, - { - "id": 4532, - "node_type": 44, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4543, + "node_type": 44, + "src": { + "line": 784, + "column": 8, + "start": 27911, + "end": 27928, + "length": 18, + "parent_index": 4536 + }, + "name": "dstPoolId", + "type_name": { + "id": 4544, + "node_type": 30, "src": { - "line": 828, - "column": 53, - "start": 29685, - "end": 29696, - "length": 12, - "parent_index": 4527 - }, - "scope": 4526, - "name": "amount1", - "type_name": { - "id": 4533, - "node_type": 30, - "src": { - "line": 828, - "column": 53, - "start": 29685, - "end": 29688, - "length": 4, - "parent_index": 4532 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 784, + "column": 8, + "start": 27911, + "end": 27917, + "length": 7, + "parent_index": 4543 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" }, - { + "visibility": 1, + "state_mutability": 1, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - ] - }, - "name": "Mint", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_Global_Mint_\u00264526", - "type_string": "event Global.Mint" - } - }, - { - "id": 4534, - "node_type": 57, - "src": { - "line": 829, - "column": 4, - "start": 29704, - "end": 29786, - "length": 83 - }, - "parameters": { - "id": 4535, - "node_type": 43, - "src": { - "line": 829, - "column": 4, - "start": 29704, - "end": 29786, - "length": 83, - "parent_index": 4534 }, - "parameters": [ - { - "id": 4536, - "node_type": 44, + { + "id": 4545, + "node_type": 44, + "src": { + "line": 785, + "column": 8, + "start": 27962, + "end": 27976, + "length": 15, + "parent_index": 4536 + }, + "name": "amount", + "type_name": { + "id": 4546, + "node_type": 30, "src": { - "line": 829, - "column": 15, - "start": 29715, - "end": 29736, - "length": 22, - "parent_index": 4535 - }, - "scope": 4534, - "name": "sender", - "type_name": { - "id": 4537, - "node_type": 30, - "src": { - "line": 829, - "column": 15, - "start": 29715, - "end": 29721, - "length": 7, - "parent_index": 4536 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "line": 785, + "column": 8, + "start": 27962, + "end": 27968, + "length": 7, + "parent_index": 4545 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - { - "id": 4538, - "node_type": 44, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4547, + "node_type": 44, + "src": { + "line": 786, + "column": 8, + "start": 28006, + "end": 28023, + "length": 18, + "parent_index": 4536 + }, + "name": "amountMin", + "type_name": { + "id": 4548, + "node_type": 30, "src": { - "line": 829, - "column": 39, - "start": 29739, - "end": 29750, - "length": 12, - "parent_index": 4535 - }, - "scope": 4534, - "name": "amount0", - "type_name": { - "id": 4539, - "node_type": 30, - "src": { - "line": 829, - "column": 39, - "start": 29739, - "end": 29742, - "length": 4, - "parent_index": 4538 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 786, + "column": 8, + "start": 28006, + "end": 28012, + "length": 7, + "parent_index": 4547 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, - { - "id": 4540, - "node_type": 44, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4549, + "node_type": 44, + "src": { + "line": 787, + "column": 8, + "start": 28061, + "end": 28079, + "length": 19, + "parent_index": 4536 + }, + "name": "dustAmount", + "type_name": { + "id": 4550, + "node_type": 30, "src": { - "line": 829, - "column": 53, - "start": 29753, - "end": 29764, - "length": 12, - "parent_index": 4535 - }, - "scope": 4534, - "name": "amount1", - "type_name": { - "id": 4541, - "node_type": 30, - "src": { - "line": 829, - "column": 53, - "start": 29753, - "end": 29756, - "length": 4, - "parent_index": 4540 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 787, + "column": 8, + "start": 28061, + "end": 28067, + "length": 7, + "parent_index": 4549 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, - { - "id": 4542, - "node_type": 44, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4551, + "node_type": 44, + "src": { + "line": 788, + "column": 8, + "start": 28133, + "end": 28149, + "length": 17, + "parent_index": 4536 + }, + "name": "receiver", + "type_name": { + "id": 4552, + "node_type": 30, "src": { - "line": 829, - "column": 67, - "start": 29767, - "end": 29784, - "length": 18, - "parent_index": 4535 - }, - "scope": 4534, - "name": "to", - "type_name": { - "id": 4543, - "node_type": 30, - "src": { - "line": 829, - "column": 67, - "start": 29767, - "end": 29773, - "length": 7, - "parent_index": 4542 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "line": 788, + "column": 8, + "start": 28133, + "end": 28139, + "length": 7, + "parent_index": 4551 }, - "storage_location": 2, - "visibility": 1, + "name": "address", "state_mutability": 4, + "referenced_declaration": 0, "type_description": { "type_identifier": "t_address", "type_string": "address" - }, - "indexed": true - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + } }, - { + "visibility": 1, + "state_mutability": 4, + "type_description": { "type_identifier": "t_address", "type_string": "address" } - ] - }, - "name": "Burn", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_Global_Burn_\u00264534", - "type_string": "event Global.Burn" - } - }, - { - "id": 4544, - "node_type": 57, - "src": { - "line": 830, - "column": 4, - "start": 29792, - "end": 29966, - "length": 175 - }, - "parameters": { - "id": 4545, - "node_type": 43, - "src": { - "line": 830, - "column": 4, - "start": 29792, - "end": 29966, - "length": 175, - "parent_index": 4544 }, - "parameters": [ - { - "id": 4546, - "node_type": 44, + { + "id": 4553, + "node_type": 44, + "src": { + "line": 789, + "column": 8, + "start": 28186, + "end": 28196, + "length": 11, + "parent_index": 4536 + }, + "name": "to", + "type_name": { + "id": 4554, + "node_type": 30, "src": { - "line": 831, + "line": 789, "column": 8, - "start": 29812, - "end": 29833, - "length": 22, - "parent_index": 4545 - }, - "scope": 4544, - "name": "sender", - "type_name": { - "id": 4547, - "node_type": 30, - "src": { - "line": 831, - "column": 8, - "start": 29812, - "end": 29818, - "length": 7, - "parent_index": 4546 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "start": 28186, + "end": 28192, + "length": 7, + "parent_index": 4553 }, - "storage_location": 2, - "visibility": 1, + "name": "address", "state_mutability": 4, + "referenced_declaration": 0, "type_description": { "type_identifier": "t_address", "type_string": "address" - }, - "indexed": true + } }, - { - "id": 4548, - "node_type": 44, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 4555, + "node_type": 44, + "src": { + "line": 790, + "column": 8, + "start": 28274, + "end": 28285, + "length": 12, + "parent_index": 4536 + }, + "name": "gas", + "type_name": { + "id": 4556, + "node_type": 30, "src": { - "line": 832, + "line": 790, "column": 8, - "start": 29844, - "end": 29857, - "length": 14, - "parent_index": 4545 - }, - "scope": 4544, - "name": "amount0In", - "type_name": { - "id": 4549, - "node_type": 30, - "src": { - "line": 832, - "column": 8, - "start": 29844, - "end": 29847, - "length": 4, - "parent_index": 4548 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "start": 28274, + "end": 28280, + "length": 7, + "parent_index": 4555 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, - { - "id": 4550, - "node_type": 44, - "src": { - "line": 833, - "column": 8, - "start": 29868, - "end": 29881, - "length": 14, - "parent_index": 4545 - }, - "scope": 4544, - "name": "amount1In", - "type_name": { - "id": 4551, - "node_type": 30, - "src": { - "line": 833, - "column": 8, - "start": 29868, - "end": 29871, - "length": 4, - "parent_index": 4550 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 4552, - "node_type": 44, - "src": { - "line": 834, - "column": 8, - "start": 29892, - "end": 29906, - "length": 15, - "parent_index": 4545 - }, - "scope": 4544, - "name": "amount0Out", - "type_name": { - "id": 4553, - "node_type": 30, - "src": { - "line": 834, - "column": 8, - "start": 29892, - "end": 29895, - "length": 4, - "parent_index": 4552 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 4554, - "node_type": 44, - "src": { - "line": 835, - "column": 8, - "start": 29917, - "end": 29931, - "length": 15, - "parent_index": 4545 - }, - "scope": 4544, - "name": "amount1Out", - "type_name": { - "id": 4555, - "node_type": 30, - "src": { - "line": 835, - "column": 8, - "start": 29917, - "end": 29920, - "length": 4, - "parent_index": 4554 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 4556, - "node_type": 44, - "src": { - "line": 836, - "column": 8, - "start": 29942, - "end": 29959, - "length": 18, - "parent_index": 4545 - }, - "scope": 4544, - "name": "to", - "type_name": { - "id": 4557, - "node_type": 30, - "src": { - "line": 836, - "column": 8, - "start": 29942, - "end": 29948, - "length": 7, - "parent_index": 4556 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { + "visibility": 1, + "state_mutability": 1, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" } - ] - }, - "name": "Swap", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_Global_Swap_\u00264544", - "type_string": "event Global.Swap" - } - }, - { - "id": 4558, - "node_type": 57, - "src": { - "line": 838, - "column": 4, - "start": 29972, - "end": 30018, - "length": 47 - }, - "parameters": { - "id": 4559, - "node_type": 43, - "src": { - "line": 838, - "column": 4, - "start": 29972, - "end": 30018, - "length": 47, - "parent_index": 4558 }, - "parameters": [ - { - "id": 4560, - "node_type": 44, - "src": { - "line": 838, - "column": 15, - "start": 29983, - "end": 29998, - "length": 16, - "parent_index": 4559 - }, - "scope": 4558, - "name": "reserve0", - "type_name": { - "id": 4561, - "node_type": 30, - "src": { - "line": 838, - "column": 15, - "start": 29983, - "end": 29989, - "length": 7, - "parent_index": 4560 - }, - "name": "uint112", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" - } + { + "id": 4557, + "node_type": 44, + "src": { + "line": 791, + "column": 8, + "start": 28344, + "end": 28362, + "length": 19, + "parent_index": 4536 }, - { - "id": 4562, - "node_type": 44, + "name": "srcContext", + "type_name": { + "id": 4558, + "node_type": 30, "src": { - "line": 838, - "column": 33, - "start": 30001, - "end": 30016, - "length": 16, - "parent_index": 4559 - }, - "scope": 4558, - "name": "reserve1", - "type_name": { - "id": 4563, - "node_type": 30, - "src": { - "line": 838, - "column": 33, - "start": 30001, - "end": 30007, - "length": 7, - "parent_index": 4562 - }, - "name": "uint112", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" - } + "line": 791, + "column": 8, + "start": 28344, + "end": 28350, + "length": 7, + "parent_index": 4557 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "name": "bytes32", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint112", - "type_string": "uint112" }, - { - "type_identifier": "t_uint112", - "type_string": "uint112" + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" } - ] - }, - "name": "Sync", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_Global_Sync_\u00264558", - "type_string": "event Global.Sync" - } - }, - { - "id": 4564, - "name": "token0", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 909, - "column": 9, - "start": 32499, - "end": 32512, - "length": 14 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4565, - "node_type": 30, - "src": { - "line": 909, - "column": 9, - "start": 32499, - "end": 32505, - "length": 7, - "parent_index": 4564 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" } - }, - "initial_value": null + ], + "visibility": 3, + "storage_location": 1 }, { - "id": 4566, - "name": "token1", + "id": 4559, + "name": "payload", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 909, - "column": 25, - "start": 32515, - "end": 32528, - "length": 14 + "line": 813, + "column": 8, + "start": 29469, + "end": 29488, + "length": 20 }, "scope": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes", + "type_string": "bytes" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4567, + "id": 4560, "node_type": 30, "src": { - "line": 909, - "column": 25, - "start": 32515, - "end": 32521, - "length": 7, - "parent_index": 4566 + "line": 813, + "column": 8, + "start": 29469, + "end": 29473, + "length": 5, + "parent_index": 4559 }, - "name": "address", - "state_mutability": 4, + "name": "bytes", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes", + "type_string": "bytes" } }, "initial_value": null }, { - "id": 4568, - "name": "token0", + "id": 4561, + "name": "to", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 933, - "column": 9, - "start": 33261, - "end": 33274, - "length": 14 + "line": 882, + "column": 12, + "start": 31901, + "end": 31910, + "length": 10 }, "scope": 0, "type_description": { @@ -2778,15 +2290,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4569, + "id": 4562, "node_type": 30, "src": { - "line": 933, - "column": 9, - "start": 33261, - "end": 33267, + "line": 882, + "column": 12, + "start": 31901, + "end": 31907, "length": 7, - "parent_index": 4568 + "parent_index": 4561 }, "name": "address", "state_mutability": 4, @@ -2799,98 +2311,57 @@ "initial_value": null }, { - "id": 4570, - "name": "reserve0", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 934, - "column": 9, - "start": 33318, - "end": 33333, - "length": 16 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4571, - "node_type": 30, - "src": { - "line": 934, - "column": 9, - "start": 33318, - "end": 33324, - "length": 7, - "parent_index": 4570 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, - { - "id": 4572, - "name": "reserve1", + "id": 4563, + "name": "actions", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 934, - "column": 27, - "start": 33336, - "end": 33351, - "length": 16 + "line": 883, + "column": 12, + "start": 31925, + "end": 31946, + "length": 22 }, "scope": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_uint8", + "type_string": "uint8" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4573, - "node_type": 30, + "id": 4564, + "node_type": 16, "src": { - "line": 934, - "column": 27, - "start": 33336, - "end": 33342, - "length": 7, - "parent_index": 4572 + "line": 883, + "column": 12, + "start": 31925, + "end": 31929, + "length": 5, + "parent_index": 4563 }, - "name": "uint256", + "name": "uint8", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_uint8", + "type_string": "uint8" } }, "initial_value": null }, { - "id": 4574, - "name": "amountInWithFee", + "id": 4565, + "name": "values", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 967, - "column": 8, - "start": 34571, - "end": 34593, + "line": 884, + "column": 12, + "start": 31961, + "end": 31983, "length": 23 }, "scope": 0, @@ -2902,15 +2373,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4575, - "node_type": 30, + "id": 4566, + "node_type": 16, "src": { - "line": 967, - "column": 8, - "start": 34571, - "end": 34577, + "line": 884, + "column": 12, + "start": 31961, + "end": 31967, "length": 7, - "parent_index": 4574 + "parent_index": 4565 }, "name": "uint256", "referenced_declaration": 0, @@ -2922,99 +2393,99 @@ "initial_value": null }, { - "id": 4576, - "name": "numerator", + "id": 4567, + "name": "datas", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 968, - "column": 8, - "start": 34624, - "end": 34640, - "length": 17 + "line": 885, + "column": 12, + "start": 31998, + "end": 32017, + "length": 20 }, "scope": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes", + "type_string": "bytes" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4577, - "node_type": 30, + "id": 4568, + "node_type": 16, "src": { - "line": 968, - "column": 8, - "start": 34624, - "end": 34630, - "length": 7, - "parent_index": 4576 + "line": 885, + "column": 12, + "start": 31998, + "end": 32002, + "length": 5, + "parent_index": 4567 }, - "name": "uint256", + "name": "bytes", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes", + "type_string": "bytes" } }, "initial_value": null }, { - "id": 4578, - "name": "denominator", + "id": 4569, + "name": "srcContext", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 969, - "column": 8, - "start": 34685, - "end": 34703, - "length": 19 + "line": 886, + "column": 12, + "start": 32032, + "end": 32049, + "length": 18 }, "scope": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4579, + "id": 4570, "node_type": 30, "src": { - "line": 969, - "column": 8, - "start": 34685, - "end": 34691, + "line": 886, + "column": 12, + "start": 32032, + "end": 32038, "length": 7, - "parent_index": 4578 + "parent_index": 4569 }, - "name": "uint256", + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "initial_value": null }, { - "id": 4580, - "name": "numerator", + "id": 4571, + "name": "limit", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 984, + "line": 890, "column": 8, - "start": 35285, - "end": 35301, - "length": 17 + "start": 32172, + "end": 32184, + "length": 13 }, "scope": 0, "type_description": { @@ -3025,15 +2496,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4581, + "id": 4572, "node_type": 30, "src": { - "line": 984, + "line": 890, "column": 8, - "start": 35285, - "end": 35291, + "start": 32172, + "end": 32178, "length": 7, - "parent_index": 4580 + "parent_index": 4571 }, "name": "uint256", "referenced_declaration": 0, @@ -3045,386 +2516,1177 @@ "initial_value": null }, { - "id": 4582, - "name": "denominator", + "id": 4573, + "name": "failed", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 985, + "line": 891, "column": 8, - "start": 35349, - "end": 35367, - "length": 19 + "start": 32216, + "end": 32226, + "length": 11 }, "scope": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4583, + "id": 4574, "node_type": 30, "src": { - "line": 985, + "line": 891, "column": 8, - "start": 35349, - "end": 35355, - "length": 7, - "parent_index": 4582 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, - { - "id": 4584, - "name": "i", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 999, - "column": 13, - "start": 35895, - "end": 35903, - "length": 9 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4585, - "node_type": 30, - "src": { - "line": 999, - "column": 13, - "start": 35895, - "end": 35901, - "length": 7, - "parent_index": 4584 + "start": 32216, + "end": 32219, + "length": 4, + "parent_index": 4573 }, - "name": "uint256", + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, "initial_value": null }, { - "id": 4586, - "name": "reserveIn", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, + "id": 4575, + "node_type": 57, "src": { - "line": 1000, - "column": 13, - "start": 35947, - "end": 35963, - "length": 17 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 918, + "column": 4, + "start": 32936, + "end": 33010, + "length": 75 }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4587, - "node_type": 30, + "parameters": { + "id": 4576, + "node_type": 43, "src": { - "line": 1000, - "column": 13, - "start": 35947, - "end": 35953, - "length": 7, - "parent_index": 4586 + "line": 918, + "column": 4, + "start": 32936, + "end": 33010, + "length": 75, + "parent_index": 4575 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, - { - "id": 4588, - "name": "reserveOut", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1000, - "column": 32, - "start": 35966, - "end": 35983, - "length": 18 + "parameters": [ + { + "id": 4577, + "node_type": 44, + "src": { + "line": 918, + "column": 19, + "start": 32951, + "end": 32971, + "length": 21, + "parent_index": 4576 + }, + "scope": 4575, + "name": "owner", + "type_name": { + "id": 4578, + "node_type": 30, + "src": { + "line": 918, + "column": 19, + "start": 32951, + "end": 32957, + "length": 7, + "parent_index": 4577 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4579, + "node_type": 44, + "src": { + "line": 918, + "column": 42, + "start": 32974, + "end": 32996, + "length": 23, + "parent_index": 4576 + }, + "scope": 4575, + "name": "spender", + "type_name": { + "id": 4580, + "node_type": 30, + "src": { + "line": 918, + "column": 42, + "start": 32974, + "end": 32980, + "length": 7, + "parent_index": 4579 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4581, + "node_type": 44, + "src": { + "line": 918, + "column": 67, + "start": 32999, + "end": 33008, + "length": 10, + "parent_index": 4576 + }, + "scope": 4575, + "name": "value", + "type_name": { + "id": 4582, + "node_type": 30, + "src": { + "line": 918, + "column": 67, + "start": 32999, + "end": 33002, + "length": 4, + "parent_index": 4581 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - "scope": 0, + "name": "Approval", + "anonymous": false, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4589, - "node_type": 30, - "src": { - "line": 1000, - "column": 32, - "start": 35966, - "end": 35972, - "length": 7, - "parent_index": 4588 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null + "type_identifier": "t_event\u0026_Global_Approval_\u00264575", + "type_string": "event Global.Approval" + } }, { - "id": 4590, - "name": "i", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, + "id": 4583, + "node_type": 57, "src": { - "line": 1020, - "column": 13, - "start": 36664, - "end": 36672, - "length": 9 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 919, + "column": 4, + "start": 33016, + "end": 33084, + "length": 69 }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4591, - "node_type": 30, + "parameters": { + "id": 4584, + "node_type": 43, "src": { - "line": 1020, - "column": 13, - "start": 36664, - "end": 36670, - "length": 7, - "parent_index": 4590 + "line": 919, + "column": 4, + "start": 33016, + "end": 33084, + "length": 69, + "parent_index": 4583 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, - { - "id": 4592, - "name": "reserveIn", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1021, - "column": 13, - "start": 36720, - "end": 36736, - "length": 17 + "parameters": [ + { + "id": 4585, + "node_type": 44, + "src": { + "line": 919, + "column": 19, + "start": 33031, + "end": 33050, + "length": 20, + "parent_index": 4584 + }, + "scope": 4583, + "name": "from", + "type_name": { + "id": 4586, + "node_type": 30, + "src": { + "line": 919, + "column": 19, + "start": 33031, + "end": 33037, + "length": 7, + "parent_index": 4585 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4587, + "node_type": 44, + "src": { + "line": 919, + "column": 41, + "start": 33053, + "end": 33070, + "length": 18, + "parent_index": 4584 + }, + "scope": 4583, + "name": "to", + "type_name": { + "id": 4588, + "node_type": 30, + "src": { + "line": 919, + "column": 41, + "start": 33053, + "end": 33059, + "length": 7, + "parent_index": 4587 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4589, + "node_type": 44, + "src": { + "line": 919, + "column": 61, + "start": 33073, + "end": 33082, + "length": 10, + "parent_index": 4584 + }, + "scope": 4583, + "name": "value", + "type_name": { + "id": 4590, + "node_type": 30, + "src": { + "line": 919, + "column": 61, + "start": 33073, + "end": 33076, + "length": 4, + "parent_index": 4589 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - "scope": 0, + "name": "Transfer", + "anonymous": false, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4593, - "node_type": 30, - "src": { - "line": 1021, - "column": 13, - "start": 36720, - "end": 36726, - "length": 7, - "parent_index": 4592 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null + "type_identifier": "t_event\u0026_Global_Transfer_\u00264583", + "type_string": "event Global.Transfer" + } }, { - "id": 4594, - "name": "reserveOut", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, + "id": 4591, + "node_type": 57, "src": { - "line": 1021, - "column": 32, - "start": 36739, - "end": 36756, - "length": 18 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 938, + "column": 4, + "start": 34029, + "end": 34091, + "length": 63 }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4595, - "node_type": 30, + "parameters": { + "id": 4592, + "node_type": 43, "src": { - "line": 1021, - "column": 32, - "start": 36739, - "end": 36745, - "length": 7, - "parent_index": 4594 + "line": 938, + "column": 4, + "start": 34029, + "end": 34091, + "length": 63, + "parent_index": 4591 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, - { - "id": 4596, - "name": "amounts", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1052, - "column": 8, - "start": 37574, - "end": 37597, - "length": 24 + "parameters": [ + { + "id": 4593, + "node_type": 44, + "src": { + "line": 938, + "column": 15, + "start": 34040, + "end": 34061, + "length": 22, + "parent_index": 4592 + }, + "scope": 4591, + "name": "sender", + "type_name": { + "id": 4594, + "node_type": 30, + "src": { + "line": 938, + "column": 15, + "start": 34040, + "end": 34046, + "length": 7, + "parent_index": 4593 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4595, + "node_type": 44, + "src": { + "line": 938, + "column": 39, + "start": 34064, + "end": 34075, + "length": 12, + "parent_index": 4592 + }, + "scope": 4591, + "name": "amount0", + "type_name": { + "id": 4596, + "node_type": 30, + "src": { + "line": 938, + "column": 39, + "start": 34064, + "end": 34067, + "length": 4, + "parent_index": 4595 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4597, + "node_type": 44, + "src": { + "line": 938, + "column": 53, + "start": 34078, + "end": 34089, + "length": 12, + "parent_index": 4592 + }, + "scope": 4591, + "name": "amount1", + "type_name": { + "id": 4598, + "node_type": 30, + "src": { + "line": 938, + "column": 53, + "start": 34078, + "end": 34081, + "length": 4, + "parent_index": 4597 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - "scope": 0, + "name": "Mint", + "anonymous": false, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4597, - "node_type": 16, - "src": { - "line": 1052, - "column": 8, - "start": 37574, - "end": 37580, - "length": 7, - "parent_index": 4596 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null + "type_identifier": "t_event\u0026_Global_Mint_\u00264591", + "type_string": "event Global.Mint" + } }, { - "id": 4598, - "name": "i", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, + "id": 4599, + "node_type": 57, "src": { - "line": 1083, - "column": 13, - "start": 38525, - "end": 38533, - "length": 9 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 939, + "column": 4, + "start": 34097, + "end": 34179, + "length": 83 }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4599, - "node_type": 30, + "parameters": { + "id": 4600, + "node_type": 43, "src": { - "line": 1083, - "column": 13, - "start": 38525, - "end": 38531, - "length": 7, - "parent_index": 4598 + "line": 939, + "column": 4, + "start": 34097, + "end": 34179, + "length": 83, + "parent_index": 4599 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, - { - "id": 4600, - "name": "input", - "is_constant": true, + "parameters": [ + { + "id": 4601, + "node_type": 44, + "src": { + "line": 939, + "column": 15, + "start": 34108, + "end": 34129, + "length": 22, + "parent_index": 4600 + }, + "scope": 4599, + "name": "sender", + "type_name": { + "id": 4602, + "node_type": 30, + "src": { + "line": 939, + "column": 15, + "start": 34108, + "end": 34114, + "length": 7, + "parent_index": 4601 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4603, + "node_type": 44, + "src": { + "line": 939, + "column": 39, + "start": 34132, + "end": 34143, + "length": 12, + "parent_index": 4600 + }, + "scope": 4599, + "name": "amount0", + "type_name": { + "id": 4604, + "node_type": 30, + "src": { + "line": 939, + "column": 39, + "start": 34132, + "end": 34135, + "length": 4, + "parent_index": 4603 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4605, + "node_type": 44, + "src": { + "line": 939, + "column": 53, + "start": 34146, + "end": 34157, + "length": 12, + "parent_index": 4600 + }, + "scope": 4599, + "name": "amount1", + "type_name": { + "id": 4606, + "node_type": 30, + "src": { + "line": 939, + "column": 53, + "start": 34146, + "end": 34149, + "length": 4, + "parent_index": 4605 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4607, + "node_type": 44, + "src": { + "line": 939, + "column": 67, + "start": 34160, + "end": 34177, + "length": 18, + "parent_index": 4600 + }, + "scope": 4599, + "name": "to", + "type_name": { + "id": 4608, + "node_type": 30, + "src": { + "line": 939, + "column": 67, + "start": 34160, + "end": 34166, + "length": 7, + "parent_index": 4607 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "name": "Burn", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_Global_Burn_\u00264599", + "type_string": "event Global.Burn" + } + }, + { + "id": 4609, + "node_type": 57, + "src": { + "line": 940, + "column": 4, + "start": 34185, + "end": 34359, + "length": 175 + }, + "parameters": { + "id": 4610, + "node_type": 43, + "src": { + "line": 940, + "column": 4, + "start": 34185, + "end": 34359, + "length": 175, + "parent_index": 4609 + }, + "parameters": [ + { + "id": 4611, + "node_type": 44, + "src": { + "line": 941, + "column": 8, + "start": 34205, + "end": 34226, + "length": 22, + "parent_index": 4610 + }, + "scope": 4609, + "name": "sender", + "type_name": { + "id": 4612, + "node_type": 30, + "src": { + "line": 941, + "column": 8, + "start": 34205, + "end": 34211, + "length": 7, + "parent_index": 4611 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 4613, + "node_type": 44, + "src": { + "line": 942, + "column": 8, + "start": 34237, + "end": 34250, + "length": 14, + "parent_index": 4610 + }, + "scope": 4609, + "name": "amount0In", + "type_name": { + "id": 4614, + "node_type": 30, + "src": { + "line": 942, + "column": 8, + "start": 34237, + "end": 34240, + "length": 4, + "parent_index": 4613 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4615, + "node_type": 44, + "src": { + "line": 943, + "column": 8, + "start": 34261, + "end": 34274, + "length": 14, + "parent_index": 4610 + }, + "scope": 4609, + "name": "amount1In", + "type_name": { + "id": 4616, + "node_type": 30, + "src": { + "line": 943, + "column": 8, + "start": 34261, + "end": 34264, + "length": 4, + "parent_index": 4615 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4617, + "node_type": 44, + "src": { + "line": 944, + "column": 8, + "start": 34285, + "end": 34299, + "length": 15, + "parent_index": 4610 + }, + "scope": 4609, + "name": "amount0Out", + "type_name": { + "id": 4618, + "node_type": 30, + "src": { + "line": 944, + "column": 8, + "start": 34285, + "end": 34288, + "length": 4, + "parent_index": 4617 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4619, + "node_type": 44, + "src": { + "line": 945, + "column": 8, + "start": 34310, + "end": 34324, + "length": 15, + "parent_index": 4610 + }, + "scope": 4609, + "name": "amount1Out", + "type_name": { + "id": 4620, + "node_type": 30, + "src": { + "line": 945, + "column": 8, + "start": 34310, + "end": 34313, + "length": 4, + "parent_index": 4619 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4621, + "node_type": 44, + "src": { + "line": 946, + "column": 8, + "start": 34335, + "end": 34352, + "length": 18, + "parent_index": 4610 + }, + "scope": 4609, + "name": "to", + "type_name": { + "id": 4622, + "node_type": 30, + "src": { + "line": 946, + "column": 8, + "start": 34335, + "end": 34341, + "length": 7, + "parent_index": 4621 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "name": "Swap", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_Global_Swap_\u00264609", + "type_string": "event Global.Swap" + } + }, + { + "id": 4623, + "node_type": 57, + "src": { + "line": 948, + "column": 4, + "start": 34365, + "end": 34411, + "length": 47 + }, + "parameters": { + "id": 4624, + "node_type": 43, + "src": { + "line": 948, + "column": 4, + "start": 34365, + "end": 34411, + "length": 47, + "parent_index": 4623 + }, + "parameters": [ + { + "id": 4625, + "node_type": 44, + "src": { + "line": 948, + "column": 15, + "start": 34376, + "end": 34391, + "length": 16, + "parent_index": 4624 + }, + "scope": 4623, + "name": "reserve0", + "type_name": { + "id": 4626, + "node_type": 30, + "src": { + "line": 948, + "column": 15, + "start": 34376, + "end": 34382, + "length": 7, + "parent_index": 4625 + }, + "name": "uint112", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint112", + "type_string": "uint112" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint112", + "type_string": "uint112" + } + }, + { + "id": 4627, + "node_type": 44, + "src": { + "line": 948, + "column": 33, + "start": 34394, + "end": 34409, + "length": 16, + "parent_index": 4624 + }, + "scope": 4623, + "name": "reserve1", + "type_name": { + "id": 4628, + "node_type": 30, + "src": { + "line": 948, + "column": 33, + "start": 34394, + "end": 34400, + "length": 7, + "parent_index": 4627 + }, + "name": "uint112", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint112", + "type_string": "uint112" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint112", + "type_string": "uint112" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint112", + "type_string": "uint112" + }, + { + "type_identifier": "t_uint112", + "type_string": "uint112" + } + ] + }, + "name": "Sync", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_Global_Sync_\u00264623", + "type_string": "event Global.Sync" + } + }, + { + "id": 4629, + "name": "token0", + "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1084, - "column": 13, - "start": 38577, - "end": 38589, - "length": 13 + "line": 1019, + "column": 9, + "start": 36892, + "end": 36905, + "length": 14 }, "scope": 0, "type_description": { @@ -3435,15 +3697,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4601, + "id": 4630, "node_type": 30, "src": { - "line": 1084, - "column": 13, - "start": 38577, - "end": 38583, + "line": 1019, + "column": 9, + "start": 36892, + "end": 36898, "length": 7, - "parent_index": 4600 + "parent_index": 4629 }, "name": "address", "state_mutability": 4, @@ -3456,16 +3718,16 @@ "initial_value": null }, { - "id": 4602, - "name": "output", + "id": 4631, + "name": "token1", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1084, - "column": 28, - "start": 38592, - "end": 38605, + "line": 1019, + "column": 25, + "start": 36908, + "end": 36921, "length": 14 }, "scope": 0, @@ -3477,15 +3739,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4603, + "id": 4632, "node_type": 30, "src": { - "line": 1084, - "column": 28, - "start": 38592, - "end": 38598, + "line": 1019, + "column": 25, + "start": 36908, + "end": 36914, "length": 7, - "parent_index": 4602 + "parent_index": 4631 }, "name": "address", "state_mutability": 4, @@ -3498,16 +3760,16 @@ "initial_value": null }, { - "id": 4604, + "id": 4633, "name": "token0", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1085, - "column": 13, - "start": 38647, - "end": 38660, + "line": 1043, + "column": 9, + "start": 37654, + "end": 37667, "length": 14 }, "scope": 0, @@ -3519,15 +3781,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4605, + "id": 4634, "node_type": 30, "src": { - "line": 1085, - "column": 13, - "start": 38647, - "end": 38653, + "line": 1043, + "column": 9, + "start": 37654, + "end": 37660, "length": 7, - "parent_index": 4604 + "parent_index": 4633 }, "name": "address", "state_mutability": 4, @@ -3540,17 +3802,17 @@ "initial_value": null }, { - "id": 4606, - "name": "amountOut", + "id": 4635, + "name": "reserve0", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1086, - "column": 12, - "start": 38723, - "end": 38739, - "length": 17 + "line": 1044, + "column": 9, + "start": 37711, + "end": 37726, + "length": 16 }, "scope": 0, "type_description": { @@ -3561,15 +3823,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4607, + "id": 4636, "node_type": 30, "src": { - "line": 1086, - "column": 12, - "start": 38723, - "end": 38729, + "line": 1044, + "column": 9, + "start": 37711, + "end": 37717, "length": 7, - "parent_index": 4606 + "parent_index": 4635 }, "name": "uint256", "referenced_declaration": 0, @@ -3581,17 +3843,17 @@ "initial_value": null }, { - "id": 4608, - "name": "amount0Out", + "id": 4637, + "name": "reserve1", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1087, - "column": 13, - "start": 38772, - "end": 38789, - "length": 18 + "line": 1044, + "column": 27, + "start": 37729, + "end": 37744, + "length": 16 }, "scope": 0, "type_description": { @@ -3602,15 +3864,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4609, + "id": 4638, "node_type": 30, "src": { - "line": 1087, - "column": 13, - "start": 38772, - "end": 38778, + "line": 1044, + "column": 27, + "start": 37729, + "end": 37735, "length": 7, - "parent_index": 4608 + "parent_index": 4637 }, "name": "uint256", "referenced_declaration": 0, @@ -3622,17 +3884,17 @@ "initial_value": null }, { - "id": 4610, - "name": "amount1Out", + "id": 4639, + "name": "amountInWithFee", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1087, - "column": 33, - "start": 38792, - "end": 38809, - "length": 18 + "line": 1077, + "column": 8, + "start": 38964, + "end": 38986, + "length": 23 }, "scope": 0, "type_description": { @@ -3643,15 +3905,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4611, + "id": 4640, "node_type": 30, "src": { - "line": 1087, - "column": 33, - "start": 38792, - "end": 38798, + "line": 1077, + "column": 8, + "start": 38964, + "end": 38970, "length": 7, - "parent_index": 4610 + "parent_index": 4639 }, "name": "uint256", "referenced_declaration": 0, @@ -3663,694 +3925,886 @@ "initial_value": null }, { - "id": 4612, - "name": "to", + "id": 4641, + "name": "numerator", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1090, - "column": 12, - "start": 38927, - "end": 38936, - "length": 10 + "line": 1078, + "column": 8, + "start": 39017, + "end": 39033, + "length": 17 }, "scope": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4613, + "id": 4642, "node_type": 30, "src": { - "line": 1090, - "column": 12, - "start": 38927, - "end": 38933, + "line": 1078, + "column": 8, + "start": 39017, + "end": 39023, "length": 7, - "parent_index": 4612 + "parent_index": 4641 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "initial_value": null }, { - "id": 4614, - "node_type": 67, + "id": 4643, + "name": "denominator", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, "src": { - "line": 1115, - "column": 4, - "start": 39580, - "end": 39640, - "length": 61 - }, - "name": "Path", - "name_location": { - "line": 1115, - "column": 11, - "start": 39587, - "end": 39590, - "length": 4, - "parent_index": 4614 + "line": 1079, + "column": 8, + "start": 39078, + "end": 39096, + "length": 19 }, - "canonical_name": "Global.Path", + "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_Path_$4614", - "type_string": "struct Global.Path" + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "members": [ - { - "id": 4615, - "node_type": 44, - "src": { - "line": 1116, - "column": 8, - "start": 39602, - "end": 39614, - "length": 13, - "parent_index": 4614 - }, - "name": "pool", - "type_name": { - "id": 4616, - "node_type": 30, - "src": { - "line": 1116, - "column": 8, - "start": 39602, - "end": 39608, - "length": 7, - "parent_index": 4615 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4644, + "node_type": 30, + "src": { + "line": 1079, + "column": 8, + "start": 39078, + "end": 39084, + "length": 7, + "parent_index": 4643 }, - { - "id": 4617, - "node_type": 44, - "src": { - "line": 1117, - "column": 8, - "start": 39624, - "end": 39634, - "length": 11, - "parent_index": 4614 - }, - "name": "data", - "type_name": { - "id": 4618, - "node_type": 30, - "src": { - "line": 1117, - "column": 8, - "start": 39624, - "end": 39628, - "length": 5, - "parent_index": 4617 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ], - "visibility": 3, - "storage_location": 1 + }, + "initial_value": null }, { - "id": 4619, - "node_type": 67, + "id": 4645, + "name": "numerator", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, "src": { - "line": 1120, - "column": 4, - "start": 39647, - "end": 39810, - "length": 164 - }, - "name": "ExactInputSingleParams", - "name_location": { - "line": 1120, - "column": 11, - "start": 39654, - "end": 39675, - "length": 22, - "parent_index": 4619 + "line": 1094, + "column": 8, + "start": 39678, + "end": 39694, + "length": 17 }, - "canonical_name": "Global.ExactInputSingleParams", + "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_ExactInputSingleParams_$4619", - "type_string": "struct Global.ExactInputSingleParams" + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "members": [ - { - "id": 4620, - "node_type": 44, - "src": { - "line": 1121, - "column": 8, - "start": 39687, - "end": 39703, - "length": 17, - "parent_index": 4619 - }, - "name": "amountIn", - "type_name": { - "id": 4621, - "node_type": 30, - "src": { - "line": 1121, - "column": 8, - "start": 39687, - "end": 39693, - "length": 7, - "parent_index": 4620 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 4622, - "node_type": 44, - "src": { - "line": 1122, - "column": 8, - "start": 39713, - "end": 39737, - "length": 25, - "parent_index": 4619 - }, - "name": "amountOutMinimum", - "type_name": { - "id": 4623, - "node_type": 30, - "src": { - "line": 1122, - "column": 8, - "start": 39713, - "end": 39719, - "length": 7, - "parent_index": 4622 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 4624, - "node_type": 44, - "src": { - "line": 1123, - "column": 8, - "start": 39747, - "end": 39759, - "length": 13, - "parent_index": 4619 - }, - "name": "pool", - "type_name": { - "id": 4625, - "node_type": 30, - "src": { - "line": 1123, - "column": 8, - "start": 39747, - "end": 39753, - "length": 7, - "parent_index": 4624 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 4626, - "node_type": 44, - "src": { - "line": 1124, - "column": 8, - "start": 39769, - "end": 39784, - "length": 16, - "parent_index": 4619 - }, - "name": "tokenIn", - "type_name": { - "id": 4627, - "node_type": 30, - "src": { - "line": 1124, - "column": 8, - "start": 39769, - "end": 39775, - "length": 7, - "parent_index": 4626 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4646, + "node_type": 30, + "src": { + "line": 1094, + "column": 8, + "start": 39678, + "end": 39684, + "length": 7, + "parent_index": 4645 }, - { - "id": 4628, - "node_type": 44, - "src": { - "line": 1125, - "column": 8, - "start": 39794, - "end": 39804, - "length": 11, - "parent_index": 4619 - }, - "name": "data", - "type_name": { - "id": 4629, - "node_type": 30, - "src": { - "line": 1125, - "column": 8, - "start": 39794, - "end": 39798, - "length": 5, - "parent_index": 4628 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ], - "visibility": 3, - "storage_location": 1 + }, + "initial_value": null }, { - "id": 4630, - "node_type": 67, + "id": 4647, + "name": "denominator", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, "src": { - "line": 1128, - "column": 4, - "start": 39817, - "end": 39953, - "length": 137 - }, - "name": "ExactInputParams", - "name_location": { - "line": 1128, - "column": 11, - "start": 39824, - "end": 39839, - "length": 16, - "parent_index": 4630 + "line": 1095, + "column": 8, + "start": 39742, + "end": 39760, + "length": 19 }, - "canonical_name": "Global.ExactInputParams", + "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_ExactInputParams_$4630", - "type_string": "struct Global.ExactInputParams" + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "members": [ - { - "id": 4631, - "node_type": 44, - "src": { - "line": 1129, - "column": 8, - "start": 39851, - "end": 39866, - "length": 16, - "parent_index": 4630 - }, - "name": "tokenIn", - "type_name": { - "id": 4632, - "node_type": 30, - "src": { - "line": 1129, - "column": 8, - "start": 39851, - "end": 39857, - "length": 7, - "parent_index": 4631 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 4633, - "node_type": 44, - "src": { - "line": 1130, - "column": 8, - "start": 39876, - "end": 39892, - "length": 17, - "parent_index": 4630 - }, - "name": "amountIn", - "type_name": { - "id": 4634, - "node_type": 30, - "src": { - "line": 1130, - "column": 8, - "start": 39876, - "end": 39882, - "length": 7, - "parent_index": 4633 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 4635, - "node_type": 44, - "src": { - "line": 1131, - "column": 8, - "start": 39902, - "end": 39926, - "length": 25, - "parent_index": 4630 - }, - "name": "amountOutMinimum", - "type_name": { - "id": 4636, - "node_type": 30, - "src": { - "line": 1131, - "column": 8, - "start": 39902, - "end": 39908, - "length": 7, - "parent_index": 4635 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4648, + "node_type": 30, + "src": { + "line": 1095, + "column": 8, + "start": 39742, + "end": 39748, + "length": 7, + "parent_index": 4647 }, - { - "id": 4637, - "node_type": 44, - "src": { - "line": 1132, - "column": 8, - "start": 39936, - "end": 39947, - "length": 12, - "parent_index": 4630 - }, - "name": "path", - "type_name": { - "id": 4638, - "node_type": 69, - "src": { - "line": 1132, - "column": 8, - "start": 39936, - "end": 39939, - "length": 4, - "parent_index": 4637 - }, - "name": "Path", - "path_node": { - "id": 4639, - "name": "Path", - "node_type": 52, - "referenced_declaration": 4614, - "src": { - "line": 1132, - "column": 8, - "start": 39936, - "end": 39939, - "length": 4, - "parent_index": 4638 - } - }, - "referenced_declaration": 4614, - "type_description": { - "type_identifier": "t_struct$_Global_Path_$4614", - "type_string": "struct Global.Path" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_struct$_Global_Path_$4614", - "type_string": "struct Global.Path" - } + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ], - "visibility": 3, - "storage_location": 1 + }, + "initial_value": null }, { - "id": 4640, - "node_type": 67, + "id": 4649, + "name": "i", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, "src": { - "line": 1135, - "column": 4, - "start": 39960, - "end": 40052, - "length": 93 + "line": 1109, + "column": 13, + "start": 40288, + "end": 40296, + "length": 9 }, - "name": "TokenInput", - "name_location": { - "line": 1135, - "column": 11, - "start": 39967, - "end": 39976, - "length": 10, - "parent_index": 4640 + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "canonical_name": "Global.TokenInput", + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4650, + "node_type": 30, + "src": { + "line": 1109, + "column": 13, + "start": 40288, + "end": 40294, + "length": 7, + "parent_index": 4649 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4651, + "name": "reserveIn", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1110, + "column": 13, + "start": 40340, + "end": 40356, + "length": 17 + }, + "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_TokenInput_$4640", - "type_string": "struct Global.TokenInput" + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "members": [ - { - "id": 4641, - "node_type": 44, - "src": { - "line": 1136, - "column": 8, - "start": 39988, - "end": 40001, - "length": 14, - "parent_index": 4640 - }, - "name": "token", - "type_name": { - "id": 4642, - "node_type": 30, - "src": { - "line": 1136, - "column": 8, - "start": 39988, - "end": 39994, - "length": 7, - "parent_index": 4641 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4652, + "node_type": 30, + "src": { + "line": 1110, + "column": 13, + "start": 40340, + "end": 40346, + "length": 7, + "parent_index": 4651 }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4653, + "name": "reserveOut", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1110, + "column": 32, + "start": 40359, + "end": 40376, + "length": 18 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4654, + "node_type": 30, + "src": { + "line": 1110, + "column": 32, + "start": 40359, + "end": 40365, + "length": 7, + "parent_index": 4653 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4655, + "name": "i", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1130, + "column": 13, + "start": 41057, + "end": 41065, + "length": 9 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4656, + "node_type": 30, + "src": { + "line": 1130, + "column": 13, + "start": 41057, + "end": 41063, + "length": 7, + "parent_index": 4655 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4657, + "name": "reserveIn", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1131, + "column": 13, + "start": 41113, + "end": 41129, + "length": 17 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4658, + "node_type": 30, + "src": { + "line": 1131, + "column": 13, + "start": 41113, + "end": 41119, + "length": 7, + "parent_index": 4657 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4659, + "name": "reserveOut", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1131, + "column": 32, + "start": 41132, + "end": 41149, + "length": 18 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4660, + "node_type": 30, + "src": { + "line": 1131, + "column": 32, + "start": 41132, + "end": 41138, + "length": 7, + "parent_index": 4659 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4661, + "name": "amounts", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1162, + "column": 8, + "start": 41967, + "end": 41990, + "length": 24 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4662, + "node_type": 16, + "src": { + "line": 1162, + "column": 8, + "start": 41967, + "end": 41973, + "length": 7, + "parent_index": 4661 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4663, + "name": "i", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1193, + "column": 13, + "start": 42918, + "end": 42926, + "length": 9 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4664, + "node_type": 30, + "src": { + "line": 1193, + "column": 13, + "start": 42918, + "end": 42924, + "length": 7, + "parent_index": 4663 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4665, + "name": "input", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1194, + "column": 13, + "start": 42970, + "end": 42982, + "length": 13 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4666, + "node_type": 30, + "src": { + "line": 1194, + "column": 13, + "start": 42970, + "end": 42976, + "length": 7, + "parent_index": 4665 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "initial_value": null + }, + { + "id": 4667, + "name": "output", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1194, + "column": 28, + "start": 42985, + "end": 42998, + "length": 14 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4668, + "node_type": 30, + "src": { + "line": 1194, + "column": 28, + "start": 42985, + "end": 42991, + "length": 7, + "parent_index": 4667 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "initial_value": null + }, + { + "id": 4669, + "name": "token0", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1195, + "column": 13, + "start": 43040, + "end": 43053, + "length": 14 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4670, + "node_type": 30, + "src": { + "line": 1195, + "column": 13, + "start": 43040, + "end": 43046, + "length": 7, + "parent_index": 4669 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "initial_value": null + }, + { + "id": 4671, + "name": "amountOut", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1196, + "column": 12, + "start": 43116, + "end": 43132, + "length": 17 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4672, + "node_type": 30, + "src": { + "line": 1196, + "column": 12, + "start": 43116, + "end": 43122, + "length": 7, + "parent_index": 4671 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4673, + "name": "amount0Out", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1197, + "column": 13, + "start": 43165, + "end": 43182, + "length": 18 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4674, + "node_type": 30, + "src": { + "line": 1197, + "column": 13, + "start": 43165, + "end": 43171, + "length": 7, + "parent_index": 4673 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4675, + "name": "amount1Out", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1197, + "column": 33, + "start": 43185, + "end": 43202, + "length": 18 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4676, + "node_type": 30, + "src": { + "line": 1197, + "column": 33, + "start": 43185, + "end": 43191, + "length": 7, + "parent_index": 4675 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 4677, + "name": "to", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1200, + "column": 12, + "start": 43320, + "end": 43329, + "length": 10 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4678, + "node_type": 30, + "src": { + "line": 1200, + "column": 12, + "start": 43320, + "end": 43326, + "length": 7, + "parent_index": 4677 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "initial_value": null + }, + { + "id": 4679, + "node_type": 67, + "src": { + "line": 1286, + "column": 4, + "start": 45651, + "end": 45711, + "length": 61 + }, + "name": "Path", + "name_location": { + "line": 1286, + "column": 11, + "start": 45658, + "end": 45661, + "length": 4, + "parent_index": 4679 + }, + "canonical_name": "Global.Path", + "type_description": { + "type_identifier": "t_struct$_Global_Path_$4679", + "type_string": "struct Global.Path" + }, + "members": [ { - "id": 4643, + "id": 4680, "node_type": 44, "src": { - "line": 1137, + "line": 1287, "column": 8, - "start": 40011, - "end": 40022, - "length": 12, - "parent_index": 4640 + "start": 45673, + "end": 45685, + "length": 13, + "parent_index": 4679 }, - "name": "native", + "name": "pool", "type_name": { - "id": 4644, + "id": 4681, "node_type": 30, "src": { - "line": 1137, + "line": 1287, "column": 8, - "start": 40011, - "end": 40014, - "length": 4, - "parent_index": 4643 + "start": 45673, + "end": 45679, + "length": 7, + "parent_index": 4680 }, - "name": "bool", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_address", + "type_string": "address" } }, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 4645, + "id": 4682, "node_type": 44, "src": { - "line": 1138, + "line": 1288, "column": 8, - "start": 40032, - "end": 40046, - "length": 15, - "parent_index": 4640 + "start": 45695, + "end": 45705, + "length": 11, + "parent_index": 4679 }, - "name": "amount", + "name": "data", "type_name": { - "id": 4646, + "id": 4683, "node_type": 30, "src": { - "line": 1138, + "line": 1288, "column": 8, - "start": 40032, - "end": 40038, - "length": 7, - "parent_index": 4645 + "start": 45695, + "end": 45699, + "length": 5, + "parent_index": 4682 }, - "name": "uint256", + "name": "bytes", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes", + "type_string": "bytes" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes", + "type_string": "bytes" } } ], @@ -4358,59 +4812,608 @@ "storage_location": 1 }, { - "id": 4647, + "id": 4684, "node_type": 67, "src": { - "line": 1141, + "line": 1291, "column": 4, - "start": 40059, - "end": 40196, - "length": 138 + "start": 45718, + "end": 45881, + "length": 164 }, - "name": "InitialPath", + "name": "ExactInputSingleParams", "name_location": { - "line": 1141, + "line": 1291, "column": 11, - "start": 40066, - "end": 40076, - "length": 11, - "parent_index": 4647 + "start": 45725, + "end": 45746, + "length": 22, + "parent_index": 4684 }, - "canonical_name": "Global.InitialPath", + "canonical_name": "Global.ExactInputSingleParams", "type_description": { - "type_identifier": "t_struct$_Global_InitialPath_$4647", - "type_string": "struct Global.InitialPath" + "type_identifier": "t_struct$_Global_ExactInputSingleParams_$4684", + "type_string": "struct Global.ExactInputSingleParams" }, "members": [ { - "id": 4648, + "id": 4685, "node_type": 44, "src": { - "line": 1142, + "line": 1292, "column": 8, - "start": 40088, - "end": 40103, - "length": 16, - "parent_index": 4647 + "start": 45758, + "end": 45774, + "length": 17, + "parent_index": 4684 }, - "name": "tokenIn", + "name": "amountIn", "type_name": { - "id": 4649, + "id": 4686, "node_type": 30, "src": { - "line": 1142, + "line": 1292, "column": 8, - "start": 40088, - "end": 40094, + "start": 45758, + "end": 45764, "length": 7, - "parent_index": 4648 + "parent_index": 4685 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4687, + "node_type": 44, + "src": { + "line": 1293, + "column": 8, + "start": 45784, + "end": 45808, + "length": 25, + "parent_index": 4684 + }, + "name": "amountOutMinimum", + "type_name": { + "id": 4688, + "node_type": 30, + "src": { + "line": 1293, + "column": 8, + "start": 45784, + "end": 45790, + "length": 7, + "parent_index": 4687 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4689, + "node_type": 44, + "src": { + "line": 1294, + "column": 8, + "start": 45818, + "end": 45830, + "length": 13, + "parent_index": 4684 + }, + "name": "pool", + "type_name": { + "id": 4690, + "node_type": 30, + "src": { + "line": 1294, + "column": 8, + "start": 45818, + "end": 45824, + "length": 7, + "parent_index": 4689 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 4691, + "node_type": 44, + "src": { + "line": 1295, + "column": 8, + "start": 45840, + "end": 45855, + "length": 16, + "parent_index": 4684 + }, + "name": "tokenIn", + "type_name": { + "id": 4692, + "node_type": 30, + "src": { + "line": 1295, + "column": 8, + "start": 45840, + "end": 45846, + "length": 7, + "parent_index": 4691 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 4693, + "node_type": 44, + "src": { + "line": 1296, + "column": 8, + "start": 45865, + "end": 45875, + "length": 11, + "parent_index": 4684 + }, + "name": "data", + "type_name": { + "id": 4694, + "node_type": 30, + "src": { + "line": 1296, + "column": 8, + "start": 45865, + "end": 45869, + "length": 5, + "parent_index": 4693 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 4695, + "node_type": 67, + "src": { + "line": 1299, + "column": 4, + "start": 45888, + "end": 46024, + "length": 137 + }, + "name": "ExactInputParams", + "name_location": { + "line": 1299, + "column": 11, + "start": 45895, + "end": 45910, + "length": 16, + "parent_index": 4695 + }, + "canonical_name": "Global.ExactInputParams", + "type_description": { + "type_identifier": "t_struct$_Global_ExactInputParams_$4695", + "type_string": "struct Global.ExactInputParams" + }, + "members": [ + { + "id": 4696, + "node_type": 44, + "src": { + "line": 1300, + "column": 8, + "start": 45922, + "end": 45937, + "length": 16, + "parent_index": 4695 + }, + "name": "tokenIn", + "type_name": { + "id": 4697, + "node_type": 30, + "src": { + "line": 1300, + "column": 8, + "start": 45922, + "end": 45928, + "length": 7, + "parent_index": 4696 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 4698, + "node_type": 44, + "src": { + "line": 1301, + "column": 8, + "start": 45947, + "end": 45963, + "length": 17, + "parent_index": 4695 + }, + "name": "amountIn", + "type_name": { + "id": 4699, + "node_type": 30, + "src": { + "line": 1301, + "column": 8, + "start": 45947, + "end": 45953, + "length": 7, + "parent_index": 4698 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4700, + "node_type": 44, + "src": { + "line": 1302, + "column": 8, + "start": 45973, + "end": 45997, + "length": 25, + "parent_index": 4695 + }, + "name": "amountOutMinimum", + "type_name": { + "id": 4701, + "node_type": 30, + "src": { + "line": 1302, + "column": 8, + "start": 45973, + "end": 45979, + "length": 7, + "parent_index": 4700 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 4702, + "node_type": 44, + "src": { + "line": 1303, + "column": 8, + "start": 46007, + "end": 46018, + "length": 12, + "parent_index": 4695 + }, + "name": "path", + "type_name": { + "id": 4703, + "node_type": 69, + "src": { + "line": 1303, + "column": 8, + "start": 46007, + "end": 46010, + "length": 4, + "parent_index": 4702 + }, + "name": "Path", + "path_node": { + "id": 4704, + "name": "Path", + "node_type": 52, + "referenced_declaration": 4679, + "src": { + "line": 1303, + "column": 8, + "start": 46007, + "end": 46010, + "length": 4, + "parent_index": 4703 + } + }, + "referenced_declaration": 4679, + "type_description": { + "type_identifier": "t_struct$_Global_Path_$4679", + "type_string": "struct Global.Path" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_struct$_Global_Path_$4679", + "type_string": "struct Global.Path" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 4705, + "node_type": 67, + "src": { + "line": 1306, + "column": 4, + "start": 46031, + "end": 46123, + "length": 93 + }, + "name": "TokenInput", + "name_location": { + "line": 1306, + "column": 11, + "start": 46038, + "end": 46047, + "length": 10, + "parent_index": 4705 + }, + "canonical_name": "Global.TokenInput", + "type_description": { + "type_identifier": "t_struct$_Global_TokenInput_$4705", + "type_string": "struct Global.TokenInput" + }, + "members": [ + { + "id": 4706, + "node_type": 44, + "src": { + "line": 1307, + "column": 8, + "start": 46059, + "end": 46072, + "length": 14, + "parent_index": 4705 + }, + "name": "token", + "type_name": { + "id": 4707, + "node_type": 30, + "src": { + "line": 1307, + "column": 8, + "start": 46059, + "end": 46065, + "length": 7, + "parent_index": 4706 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 4708, + "node_type": 44, + "src": { + "line": 1308, + "column": 8, + "start": 46082, + "end": 46093, + "length": 12, + "parent_index": 4705 + }, + "name": "native", + "type_name": { + "id": 4709, + "node_type": 30, + "src": { + "line": 1308, + "column": 8, + "start": 46082, + "end": 46085, + "length": 4, + "parent_index": 4708 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 4710, + "node_type": 44, + "src": { + "line": 1309, + "column": 8, + "start": 46103, + "end": 46117, + "length": 15, + "parent_index": 4705 + }, + "name": "amount", + "type_name": { + "id": 4711, + "node_type": 30, + "src": { + "line": 1309, + "column": 8, + "start": 46103, + "end": 46109, + "length": 7, + "parent_index": 4710 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 4712, + "node_type": 67, + "src": { + "line": 1312, + "column": 4, + "start": 46130, + "end": 46267, + "length": 138 + }, + "name": "InitialPath", + "name_location": { + "line": 1312, + "column": 11, + "start": 46137, + "end": 46147, + "length": 11, + "parent_index": 4712 + }, + "canonical_name": "Global.InitialPath", + "type_description": { + "type_identifier": "t_struct$_Global_InitialPath_$4712", + "type_string": "struct Global.InitialPath" + }, + "members": [ + { + "id": 4713, + "node_type": 44, + "src": { + "line": 1313, + "column": 8, + "start": 46159, + "end": 46174, + "length": 16, + "parent_index": 4712 + }, + "name": "tokenIn", + "type_name": { + "id": 4714, + "node_type": 30, + "src": { + "line": 1313, + "column": 8, + "start": 46159, + "end": 46165, + "length": 7, + "parent_index": 4713 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } }, "visibility": 1, @@ -4421,27 +5424,27 @@ } }, { - "id": 4650, + "id": 4715, "node_type": 44, "src": { - "line": 1143, + "line": 1314, "column": 8, - "start": 40113, - "end": 40125, + "start": 46184, + "end": 46196, "length": 13, - "parent_index": 4647 + "parent_index": 4712 }, "name": "pool", "type_name": { - "id": 4651, + "id": 4716, "node_type": 30, "src": { - "line": 1143, + "line": 1314, "column": 8, - "start": 40113, - "end": 40119, + "start": 46184, + "end": 46190, "length": 7, - "parent_index": 4650 + "parent_index": 4715 }, "name": "address", "state_mutability": 4, @@ -4459,27 +5462,27 @@ } }, { - "id": 4652, + "id": 4717, "node_type": 44, "src": { - "line": 1144, + "line": 1315, "column": 8, - "start": 40135, - "end": 40146, + "start": 46206, + "end": 46217, "length": 12, - "parent_index": 4647 + "parent_index": 4712 }, "name": "native", "type_name": { - "id": 4653, + "id": 4718, "node_type": 30, "src": { - "line": 1144, + "line": 1315, "column": 8, - "start": 40135, - "end": 40138, + "start": 46206, + "end": 46209, "length": 4, - "parent_index": 4652 + "parent_index": 4717 }, "name": "bool", "referenced_declaration": 0, @@ -4496,27 +5499,27 @@ } }, { - "id": 4654, + "id": 4719, "node_type": 44, "src": { - "line": 1145, + "line": 1316, "column": 8, - "start": 40156, - "end": 40170, + "start": 46227, + "end": 46241, "length": 15, - "parent_index": 4647 + "parent_index": 4712 }, "name": "amount", "type_name": { - "id": 4655, + "id": 4720, "node_type": 30, "src": { - "line": 1145, + "line": 1316, "column": 8, - "start": 40156, - "end": 40162, + "start": 46227, + "end": 46233, "length": 7, - "parent_index": 4654 + "parent_index": 4719 }, "name": "uint256", "referenced_declaration": 0, @@ -4533,27 +5536,27 @@ } }, { - "id": 4656, + "id": 4721, "node_type": 44, "src": { - "line": 1146, + "line": 1317, "column": 8, - "start": 40180, - "end": 40190, + "start": 46251, + "end": 46261, "length": 11, - "parent_index": 4647 + "parent_index": 4712 }, "name": "data", "type_name": { - "id": 4657, + "id": 4722, "node_type": 30, "src": { - "line": 1146, + "line": 1317, "column": 8, - "start": 40180, - "end": 40184, + "start": 46251, + "end": 46255, "length": 5, - "parent_index": 4656 + "parent_index": 4721 }, "name": "bytes", "referenced_declaration": 0, @@ -4574,52 +5577,52 @@ "storage_location": 1 }, { - "id": 4658, + "id": 4723, "node_type": 67, "src": { - "line": 1149, + "line": 1320, "column": 4, - "start": 40203, - "end": 40374, + "start": 46274, + "end": 46445, "length": 172 }, "name": "PercentagePath", "name_location": { - "line": 1149, + "line": 1320, "column": 11, - "start": 40210, - "end": 40223, + "start": 46281, + "end": 46294, "length": 14, - "parent_index": 4658 + "parent_index": 4723 }, "canonical_name": "Global.PercentagePath", "type_description": { - "type_identifier": "t_struct$_Global_PercentagePath_$4658", + "type_identifier": "t_struct$_Global_PercentagePath_$4723", "type_string": "struct Global.PercentagePath" }, "members": [ { - "id": 4659, + "id": 4724, "node_type": 44, "src": { - "line": 1150, + "line": 1321, "column": 8, - "start": 40235, - "end": 40250, + "start": 46306, + "end": 46321, "length": 16, - "parent_index": 4658 + "parent_index": 4723 }, "name": "tokenIn", "type_name": { - "id": 4660, + "id": 4725, "node_type": 30, "src": { - "line": 1150, + "line": 1321, "column": 8, - "start": 40235, - "end": 40241, + "start": 46306, + "end": 46312, "length": 7, - "parent_index": 4659 + "parent_index": 4724 }, "name": "address", "state_mutability": 4, @@ -4637,27 +5640,27 @@ } }, { - "id": 4661, + "id": 4726, "node_type": 44, "src": { - "line": 1151, + "line": 1322, "column": 8, - "start": 40260, - "end": 40272, + "start": 46331, + "end": 46343, "length": 13, - "parent_index": 4658 + "parent_index": 4723 }, "name": "pool", "type_name": { - "id": 4662, + "id": 4727, "node_type": 30, "src": { - "line": 1151, + "line": 1322, "column": 8, - "start": 40260, - "end": 40266, + "start": 46331, + "end": 46337, "length": 7, - "parent_index": 4661 + "parent_index": 4726 }, "name": "address", "state_mutability": 4, @@ -4675,27 +5678,27 @@ } }, { - "id": 4663, + "id": 4728, "node_type": 44, "src": { - "line": 1152, + "line": 1323, "column": 8, - "start": 40282, - "end": 40306, + "start": 46353, + "end": 46377, "length": 25, - "parent_index": 4658 + "parent_index": 4723 }, "name": "balancePercentage", "type_name": { - "id": 4664, + "id": 4729, "node_type": 30, "src": { - "line": 1152, + "line": 1323, "column": 8, - "start": 40282, - "end": 40287, + "start": 46353, + "end": 46358, "length": 6, - "parent_index": 4663 + "parent_index": 4728 }, "name": "uint64", "referenced_declaration": 0, @@ -4712,27 +5715,27 @@ } }, { - "id": 4665, + "id": 4730, "node_type": 44, "src": { - "line": 1153, + "line": 1324, "column": 8, - "start": 40358, - "end": 40368, + "start": 46429, + "end": 46439, "length": 11, - "parent_index": 4658 + "parent_index": 4723 }, "name": "data", "type_name": { - "id": 4666, + "id": 4731, "node_type": 30, "src": { - "line": 1153, + "line": 1324, "column": 8, - "start": 40358, - "end": 40362, + "start": 46429, + "end": 46433, "length": 5, - "parent_index": 4665 + "parent_index": 4730 }, "name": "bytes", "referenced_declaration": 0, @@ -4753,52 +5756,52 @@ "storage_location": 1 }, { - "id": 4667, + "id": 4732, "node_type": 67, "src": { - "line": 1156, + "line": 1327, "column": 4, - "start": 40381, - "end": 40497, + "start": 46452, + "end": 46568, "length": 117 }, "name": "Output", "name_location": { - "line": 1156, + "line": 1327, "column": 11, - "start": 40388, - "end": 40393, + "start": 46459, + "end": 46464, "length": 6, - "parent_index": 4667 + "parent_index": 4732 }, "canonical_name": "Global.Output", "type_description": { - "type_identifier": "t_struct$_Global_Output_$4667", + "type_identifier": "t_struct$_Global_Output_$4732", "type_string": "struct Global.Output" }, "members": [ { - "id": 4668, + "id": 4733, "node_type": 44, "src": { - "line": 1157, + "line": 1328, "column": 8, - "start": 40405, - "end": 40418, + "start": 46476, + "end": 46489, "length": 14, - "parent_index": 4667 + "parent_index": 4732 }, "name": "token", "type_name": { - "id": 4669, + "id": 4734, "node_type": 30, "src": { - "line": 1157, + "line": 1328, "column": 8, - "start": 40405, - "end": 40411, + "start": 46476, + "end": 46482, "length": 7, - "parent_index": 4668 + "parent_index": 4733 }, "name": "address", "state_mutability": 4, @@ -4816,27 +5819,27 @@ } }, { - "id": 4670, + "id": 4735, "node_type": 44, "src": { - "line": 1158, + "line": 1329, "column": 8, - "start": 40428, - "end": 40438, + "start": 46499, + "end": 46509, "length": 11, - "parent_index": 4667 + "parent_index": 4732 }, "name": "to", "type_name": { - "id": 4671, + "id": 4736, "node_type": 30, "src": { - "line": 1158, + "line": 1329, "column": 8, - "start": 40428, - "end": 40434, + "start": 46499, + "end": 46505, "length": 7, - "parent_index": 4670 + "parent_index": 4735 }, "name": "address", "state_mutability": 4, @@ -4854,27 +5857,27 @@ } }, { - "id": 4672, + "id": 4737, "node_type": 44, "src": { - "line": 1159, + "line": 1330, "column": 8, - "start": 40448, - "end": 40464, + "start": 46519, + "end": 46535, "length": 17, - "parent_index": 4667 + "parent_index": 4732 }, "name": "unwrapBento", "type_name": { - "id": 4673, + "id": 4738, "node_type": 30, "src": { - "line": 1159, + "line": 1330, "column": 8, - "start": 40448, - "end": 40451, + "start": 46519, + "end": 46522, "length": 4, - "parent_index": 4672 + "parent_index": 4737 }, "name": "bool", "referenced_declaration": 0, @@ -4891,27 +5894,27 @@ } }, { - "id": 4674, + "id": 4739, "node_type": 44, "src": { - "line": 1160, + "line": 1331, "column": 8, - "start": 40474, - "end": 40491, + "start": 46545, + "end": 46562, "length": 18, - "parent_index": 4667 + "parent_index": 4732 }, "name": "minAmount", "type_name": { - "id": 4675, + "id": 4740, "node_type": 30, "src": { - "line": 1160, + "line": 1331, "column": 8, - "start": 40474, - "end": 40480, + "start": 46545, + "end": 46551, "length": 7, - "parent_index": 4674 + "parent_index": 4739 }, "name": "uint256", "referenced_declaration": 0, @@ -4932,180 +5935,180 @@ "storage_location": 1 }, { - "id": 4676, + "id": 4741, "node_type": 67, "src": { - "line": 1163, + "line": 1334, "column": 4, - "start": 40504, - "end": 40636, + "start": 46575, + "end": 46707, "length": 133 }, "name": "ComplexPathParams", "name_location": { - "line": 1163, + "line": 1334, "column": 11, - "start": 40511, - "end": 40527, + "start": 46582, + "end": 46598, "length": 17, - "parent_index": 4676 + "parent_index": 4741 }, "canonical_name": "Global.ComplexPathParams", "type_description": { - "type_identifier": "t_struct$_Global_ComplexPathParams_$4676", + "type_identifier": "t_struct$_Global_ComplexPathParams_$4741", "type_string": "struct Global.ComplexPathParams" }, "members": [ { - "id": 4677, + "id": 4742, "node_type": 44, "src": { - "line": 1164, + "line": 1335, "column": 8, - "start": 40539, - "end": 40564, + "start": 46610, + "end": 46635, "length": 26, - "parent_index": 4676 + "parent_index": 4741 }, "name": "initialPath", "type_name": { - "id": 4678, + "id": 4743, "node_type": 69, "src": { - "line": 1164, + "line": 1335, "column": 8, - "start": 40539, - "end": 40549, + "start": 46610, + "end": 46620, "length": 11, - "parent_index": 4677 + "parent_index": 4742 }, "name": "InitialPath", "path_node": { - "id": 4679, + "id": 4744, "name": "InitialPath", "node_type": 52, - "referenced_declaration": 4647, + "referenced_declaration": 4712, "src": { - "line": 1164, + "line": 1335, "column": 8, - "start": 40539, - "end": 40549, + "start": 46610, + "end": 46620, "length": 11, - "parent_index": 4678 + "parent_index": 4743 } }, - "referenced_declaration": 4647, + "referenced_declaration": 4712, "type_description": { - "type_identifier": "t_struct$_Global_InitialPath_$4647", + "type_identifier": "t_struct$_Global_InitialPath_$4712", "type_string": "struct Global.InitialPath" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_Global_InitialPath_$4647", + "type_identifier": "t_struct$_Global_InitialPath_$4712", "type_string": "struct Global.InitialPath" } }, { - "id": 4680, + "id": 4745, "node_type": 44, "src": { - "line": 1165, + "line": 1336, "column": 8, - "start": 40574, - "end": 40605, + "start": 46645, + "end": 46676, "length": 32, - "parent_index": 4676 + "parent_index": 4741 }, "name": "percentagePath", "type_name": { - "id": 4681, + "id": 4746, "node_type": 69, "src": { - "line": 1165, + "line": 1336, "column": 8, - "start": 40574, - "end": 40587, + "start": 46645, + "end": 46658, "length": 14, - "parent_index": 4680 + "parent_index": 4745 }, "name": "PercentagePath", "path_node": { - "id": 4682, + "id": 4747, "name": "PercentagePath", "node_type": 52, - "referenced_declaration": 4658, + "referenced_declaration": 4723, "src": { - "line": 1165, + "line": 1336, "column": 8, - "start": 40574, - "end": 40587, + "start": 46645, + "end": 46658, "length": 14, - "parent_index": 4681 + "parent_index": 4746 } }, - "referenced_declaration": 4658, + "referenced_declaration": 4723, "type_description": { - "type_identifier": "t_struct$_Global_PercentagePath_$4658", + "type_identifier": "t_struct$_Global_PercentagePath_$4723", "type_string": "struct Global.PercentagePath" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_Global_PercentagePath_$4658", + "type_identifier": "t_struct$_Global_PercentagePath_$4723", "type_string": "struct Global.PercentagePath" } }, { - "id": 4683, + "id": 4748, "node_type": 44, "src": { - "line": 1166, + "line": 1337, "column": 8, - "start": 40615, - "end": 40630, + "start": 46686, + "end": 46701, "length": 16, - "parent_index": 4676 + "parent_index": 4741 }, "name": "output", "type_name": { - "id": 4684, + "id": 4749, "node_type": 69, "src": { - "line": 1166, + "line": 1337, "column": 8, - "start": 40615, - "end": 40620, + "start": 46686, + "end": 46691, "length": 6, - "parent_index": 4683 + "parent_index": 4748 }, "name": "Output", "path_node": { - "id": 4685, + "id": 4750, "name": "Output", "node_type": 52, - "referenced_declaration": 4667, + "referenced_declaration": 4732, "src": { - "line": 1166, + "line": 1337, "column": 8, - "start": 40615, - "end": 40620, + "start": 46686, + "end": 46691, "length": 6, - "parent_index": 4684 + "parent_index": 4749 } }, - "referenced_declaration": 4667, + "referenced_declaration": 4732, "type_description": { - "type_identifier": "t_struct$_Global_Output_$4667", + "type_identifier": "t_struct$_Global_Output_$4732", "type_string": "struct Global.Output" } }, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_Global_Output_$4667", + "type_identifier": "t_struct$_Global_Output_$4732", "type_string": "struct Global.Output" } } @@ -5114,54 +6117,54 @@ "storage_location": 1 }, { - "id": 4686, + "id": 4751, "node_type": 77, "src": { - "line": 1197, + "line": 1368, "column": 4, - "start": 41195, - "end": 41220, + "start": 47266, + "end": 47291, "length": 26 }, "name": "TooLittleReceived", "name_location": { - "line": 1197, + "line": 1368, "column": 10, - "start": 41201, - "end": 41217, + "start": 47272, + "end": 47288, "length": 17, - "parent_index": 4686 + "parent_index": 4751 }, "parameters": { - "id": 4687, + "id": 4752, "node_type": 43, "src": { - "line": 1197, + "line": 1368, "column": 4, - "start": 41195, - "end": 41220, + "start": 47266, + "end": 47291, "length": 26, - "parent_index": 4686 + "parent_index": 4751 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_TooLittleReceived_$4686", + "type_identifier": "t_error$_Global_TooLittleReceived_$4751", "type_string": "error Global.TooLittleReceived" } }, { - "id": 4688, + "id": 4753, "name": "tokenBalance", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1208, + "line": 1379, "column": 10, - "start": 41765, - "end": 41784, + "start": 47836, + "end": 47855, "length": 20 }, "scope": 0, @@ -5173,15 +6176,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4689, + "id": 4754, "node_type": 30, "src": { - "line": 1208, + "line": 1379, "column": 10, - "start": 41765, - "end": 41771, + "start": 47836, + "end": 47842, "length": 7, - "parent_index": 4688 + "parent_index": 4753 }, "name": "uint256", "referenced_declaration": 0, @@ -5193,16 +6196,16 @@ "initial_value": null }, { - "id": 4690, + "id": 4755, "name": "n", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1231, + "line": 1402, "column": 8, - "start": 42640, - "end": 42648, + "start": 48711, + "end": 48719, "length": 9 }, "scope": 0, @@ -5214,15 +6217,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4691, + "id": 4756, "node_type": 30, "src": { - "line": 1231, + "line": 1402, "column": 8, - "start": 42640, - "end": 42646, + "start": 48711, + "end": 48717, "length": 7, - "parent_index": 4690 + "parent_index": 4755 }, "name": "uint256", "referenced_declaration": 0, @@ -5234,16 +6237,16 @@ "initial_value": null }, { - "id": 4692, + "id": 4757, "name": "i", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1232, + "line": 1403, "column": 13, - "start": 42685, - "end": 42693, + "start": 48756, + "end": 48764, "length": 9 }, "scope": 0, @@ -5255,15 +6258,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4693, + "id": 4758, "node_type": 30, "src": { - "line": 1232, + "line": 1403, "column": 13, - "start": 42685, - "end": 42691, + "start": 48756, + "end": 48762, "length": 7, - "parent_index": 4692 + "parent_index": 4757 }, "name": "uint256", "referenced_declaration": 0, @@ -5275,16 +6278,16 @@ "initial_value": null }, { - "id": 4694, + "id": 4759, "name": "n", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1248, + "line": 1419, "column": 8, - "start": 43775, - "end": 43783, + "start": 49846, + "end": 49854, "length": 9 }, "scope": 0, @@ -5296,15 +6299,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4695, + "id": 4760, "node_type": 30, "src": { - "line": 1248, + "line": 1419, "column": 8, - "start": 43775, - "end": 43781, + "start": 49846, + "end": 49852, "length": 7, - "parent_index": 4694 + "parent_index": 4759 }, "name": "uint256", "referenced_declaration": 0, @@ -5316,16 +6319,16 @@ "initial_value": null }, { - "id": 4696, + "id": 4761, "name": "i", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1249, + "line": 1420, "column": 13, - "start": 43827, - "end": 43835, + "start": 49898, + "end": 49906, "length": 9 }, "scope": 0, @@ -5337,15 +6340,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4697, + "id": 4762, "node_type": 30, "src": { - "line": 1249, + "line": 1420, "column": 13, - "start": 43827, - "end": 43833, + "start": 49898, + "end": 49904, "length": 7, - "parent_index": 4696 + "parent_index": 4761 }, "name": "uint256", "referenced_declaration": 0, @@ -5357,16 +6360,16 @@ "initial_value": null }, { - "id": 4698, + "id": 4763, "name": "i", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1260, + "line": 1431, "column": 13, - "start": 44297, - "end": 44305, + "start": 50368, + "end": 50376, "length": 9 }, "scope": 0, @@ -5378,15 +6381,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4699, + "id": 4764, "node_type": 30, "src": { - "line": 1260, + "line": 1431, "column": 13, - "start": 44297, - "end": 44303, + "start": 50368, + "end": 50374, "length": 7, - "parent_index": 4698 + "parent_index": 4763 }, "name": "uint256", "referenced_declaration": 0, @@ -5398,16 +6401,16 @@ "initial_value": null }, { - "id": 4700, + "id": 4765, "name": "balanceShares", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1261, + "line": 1432, "column": 12, - "start": 44352, - "end": 44372, + "start": 50423, + "end": 50443, "length": 21 }, "scope": 0, @@ -5419,15 +6422,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4701, + "id": 4766, "node_type": 30, "src": { - "line": 1261, + "line": 1432, "column": 12, - "start": 44352, - "end": 44358, + "start": 50423, + "end": 50429, "length": 7, - "parent_index": 4700 + "parent_index": 4765 }, "name": "uint256", "referenced_declaration": 0, @@ -5439,16 +6442,16 @@ "initial_value": null }, { - "id": 4702, + "id": 4767, "name": "transferShares", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1265, + "line": 1436, "column": 12, - "start": 44503, - "end": 44524, + "start": 50574, + "end": 50595, "length": 22 }, "scope": 0, @@ -5460,15 +6463,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4703, + "id": 4768, "node_type": 30, "src": { - "line": 1265, + "line": 1436, "column": 12, - "start": 44503, - "end": 44509, + "start": 50574, + "end": 50580, "length": 7, - "parent_index": 4702 + "parent_index": 4767 }, "name": "uint256", "referenced_declaration": 0, @@ -5480,16 +6483,16 @@ "initial_value": null }, { - "id": 4704, + "id": 4769, "name": "i", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1279, + "line": 1450, "column": 13, - "start": 45080, - "end": 45088, + "start": 51151, + "end": 51159, "length": 9 }, "scope": 0, @@ -5501,15 +6504,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4705, + "id": 4770, "node_type": 30, "src": { - "line": 1279, + "line": 1450, "column": 13, - "start": 45080, - "end": 45086, + "start": 51151, + "end": 51157, "length": 7, - "parent_index": 4704 + "parent_index": 4769 }, "name": "uint256", "referenced_declaration": 0, @@ -5521,16 +6524,16 @@ "initial_value": null }, { - "id": 4706, + "id": 4771, "name": "balanceShares", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1280, + "line": 1451, "column": 12, - "start": 45135, - "end": 45155, + "start": 51206, + "end": 51226, "length": 21 }, "scope": 0, @@ -5542,15 +6545,15 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4707, + "id": 4772, "node_type": 30, "src": { - "line": 1280, + "line": 1451, "column": 12, - "start": 45135, - "end": 45141, + "start": 51206, + "end": 51212, "length": 7, - "parent_index": 4706 + "parent_index": 4771 }, "name": "uint256", "referenced_declaration": 0, @@ -5562,793 +6565,351 @@ "initial_value": null }, { - "id": 4708, - "node_type": 77, + "id": 4773, + "name": "ACTION_MASTER_CONTRACT_APPROVAL", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, "src": { - "line": 1344, + "line": 1544, "column": 4, - "start": 46808, - "end": 46833, - "length": 26 - }, - "name": "NotStargateRouter", - "name_location": { - "line": 1344, - "column": 10, - "start": 46814, - "end": 46830, - "length": 17, - "parent_index": 4708 - }, - "parameters": { - "id": 4709, - "node_type": 43, - "src": { - "line": 1344, - "column": 4, - "start": 46808, - "end": 46833, - "length": 26, - "parent_index": 4708 - }, - "parameters": [], - "parameter_types": [] + "start": 53639, + "end": 53698, + "length": 60 }, + "scope": 0, "type_description": { - "type_identifier": "t_error$_Global_NotStargateRouter_$4708", - "type_string": "error Global.NotStargateRouter" - } - }, - { - "id": 4710, - "node_type": 57, - "src": { - "line": 1347, - "column": 4, - "start": 46854, - "end": 46909, - "length": 56 + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, - "parameters": { - "id": 4711, - "node_type": 43, + "visibility": 1, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4774, + "node_type": 30, "src": { - "line": 1347, + "line": 1544, "column": 4, - "start": 46854, - "end": 46909, - "length": 56, - "parent_index": 4710 + "start": 53639, + "end": 53643, + "length": 5, + "parent_index": 4773 }, - "parameters": [ - { - "id": 4712, - "node_type": 44, - "src": { - "line": 1347, - "column": 32, - "start": 46882, - "end": 46907, - "length": 26, - "parent_index": 4711 - }, - "scope": 4710, - "name": "srcContext", - "type_name": { - "id": 4713, - "node_type": 30, - "src": { - "line": 1347, - "column": 32, - "start": 46882, - "end": 46888, - "length": 7, - "parent_index": 4712 - }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - "indexed": true - } - ], - "parameter_types": [ - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - ] + "name": "uint8", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + } }, - "name": "StargateSushiXSwapSrc", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_Global_StargateSushiXSwapSrc_\u00264710", - "type_string": "event Global.StargateSushiXSwapSrc" + "initial_value": { + "id": 4775, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1544, + "column": 62, + "start": 53697, + "end": 53697, + "length": 1, + "parent_index": 4773 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" } }, { - "id": 4714, - "node_type": 57, + "id": 4776, + "name": "ACTION_SRC_DEPOSIT_TO_BENTOBOX", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, "src": { - "line": 1348, + "line": 1545, "column": 4, - "start": 46915, - "end": 46983, - "length": 69 + "start": 53704, + "end": 53762, + "length": 59 }, - "parameters": { - "id": 4715, - "node_type": 43, + "scope": 0, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "visibility": 1, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4777, + "node_type": 30, "src": { - "line": 1348, + "line": 1545, "column": 4, - "start": 46915, - "end": 46983, - "length": 69, - "parent_index": 4714 + "start": 53704, + "end": 53708, + "length": 5, + "parent_index": 4776 }, - "parameters": [ - { - "id": 4716, - "node_type": 44, - "src": { - "line": 1348, - "column": 32, - "start": 46943, - "end": 46968, - "length": 26, - "parent_index": 4715 - }, - "scope": 4714, - "name": "srcContext", - "type_name": { - "id": 4717, - "node_type": 30, - "src": { - "line": 1348, - "column": 32, - "start": 46943, - "end": 46949, - "length": 7, - "parent_index": 4716 - }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - "indexed": true - }, - { - "id": 4718, - "node_type": 44, - "src": { - "line": 1348, - "column": 60, - "start": 46971, - "end": 46981, - "length": 11, - "parent_index": 4715 - }, - "scope": 4714, - "name": "failed", - "type_name": { - "id": 4719, - "node_type": 30, - "src": { - "line": 1348, - "column": 60, - "start": 46971, - "end": 46974, - "length": 4, - "parent_index": 4718 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] + "name": "uint8", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + } }, - "name": "StargateSushiXSwapDst", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_Global_StargateSushiXSwapDst_\u00264714", - "type_string": "event Global.StargateSushiXSwapDst" + "initial_value": { + "id": 4778, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1545, + "column": 61, + "start": 53761, + "end": 53761, + "length": 1, + "parent_index": 4776 + }, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" } }, { - "id": 4720, - "node_type": 67, + "id": 4779, + "name": "ACTION_SRC_TRANSFER_FROM_BENTOBOX", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, "src": { - "line": 1350, + "line": 1546, "column": 4, - "start": 46990, - "end": 47674, - "length": 685 - }, - "name": "StargateTeleportParams", - "name_location": { - "line": 1350, - "column": 11, - "start": 46997, - "end": 47018, - "length": 22, - "parent_index": 4720 + "start": 53768, + "end": 53829, + "length": 62 }, - "canonical_name": "Global.StargateTeleportParams", + "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_StargateTeleportParams_$4720", - "type_string": "struct Global.StargateTeleportParams" + "type_identifier": "t_rational_2_by_1", + "type_string": "int_const 2" }, - "members": [ - { - "id": 4721, - "node_type": 44, - "src": { - "line": 1351, - "column": 8, - "start": 47030, - "end": 47047, - "length": 18, - "parent_index": 4720 - }, - "name": "dstChainId", - "type_name": { - "id": 4722, - "node_type": 30, - "src": { - "line": 1351, - "column": 8, - "start": 47030, - "end": 47035, - "length": 6, - "parent_index": 4721 - }, - "name": "uint16", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" - } - }, - { - "id": 4723, - "node_type": 44, - "src": { - "line": 1352, - "column": 8, - "start": 47082, - "end": 47095, - "length": 14, - "parent_index": 4720 - }, - "name": "token", - "type_name": { - "id": 4724, - "node_type": 30, - "src": { - "line": 1352, - "column": 8, - "start": 47082, - "end": 47088, - "length": 7, - "parent_index": 4723 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "visibility": 1, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4780, + "node_type": 30, + "src": { + "line": 1546, + "column": 4, + "start": 53768, + "end": 53772, + "length": 5, + "parent_index": 4779 }, - { - "id": 4725, - "node_type": 44, - "src": { - "line": 1353, - "column": 8, - "start": 47130, - "end": 47147, - "length": 18, - "parent_index": 4720 - }, - "name": "srcPoolId", - "type_name": { - "id": 4726, - "node_type": 30, - "src": { - "line": 1353, - "column": 8, - "start": 47130, - "end": 47136, - "length": 7, - "parent_index": 4725 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "name": "uint8", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + } + }, + "initial_value": { + "id": 4781, + "node_type": 17, + "kind": 49, + "value": "2", + "hex_value": "32", + "src": { + "line": 1546, + "column": 64, + "start": 53828, + "end": 53828, + "length": 1, + "parent_index": 4779 }, - { - "id": 4727, - "node_type": 44, - "src": { - "line": 1354, - "column": 8, - "start": 47181, - "end": 47198, - "length": 18, - "parent_index": 4720 - }, - "name": "dstPoolId", - "type_name": { - "id": 4728, - "node_type": 30, - "src": { - "line": 1354, - "column": 8, - "start": 47181, - "end": 47187, - "length": 7, - "parent_index": 4727 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_description": { + "type_identifier": "t_rational_2_by_1", + "type_string": "int_const 2" }, - { - "id": 4729, - "node_type": 44, - "src": { - "line": 1355, - "column": 8, - "start": 47232, - "end": 47246, - "length": 15, - "parent_index": 4720 - }, - "name": "amount", - "type_name": { - "id": 4730, - "node_type": 30, - "src": { - "line": 1355, - "column": 8, - "start": 47232, - "end": 47238, - "length": 7, - "parent_index": 4729 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "2" + } + }, + { + "id": 4782, + "name": "ACTION_DST_DEPOSIT_TO_BENTOBOX", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 1547, + "column": 4, + "start": 53835, + "end": 53893, + "length": 59 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_rational_3_by_1", + "type_string": "int_const 3" + }, + "visibility": 1, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 4783, + "node_type": 30, + "src": { + "line": 1547, + "column": 4, + "start": 53835, + "end": 53839, + "length": 5, + "parent_index": 4782 }, - { - "id": 4731, - "node_type": 44, - "src": { - "line": 1356, - "column": 8, - "start": 47276, - "end": 47293, - "length": 18, - "parent_index": 4720 - }, - "name": "amountMin", - "type_name": { - "id": 4732, - "node_type": 30, - "src": { - "line": 1356, - "column": 8, - "start": 47276, - "end": 47282, - "length": 7, - "parent_index": 4731 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "name": "uint8", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + } + }, + "initial_value": { + "id": 4784, + "node_type": 17, + "kind": 49, + "value": "3", + "hex_value": "33", + "src": { + "line": 1547, + "column": 61, + "start": 53892, + "end": 53892, + "length": 1, + "parent_index": 4782 }, - { - "id": 4733, - "node_type": 44, - "src": { - "line": 1357, - "column": 8, - "start": 47331, - "end": 47349, - "length": 19, - "parent_index": 4720 - }, - "name": "dustAmount", - "type_name": { - "id": 4734, - "node_type": 30, - "src": { - "line": 1357, - "column": 8, - "start": 47331, - "end": 47337, - "length": 7, - "parent_index": 4733 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_description": { + "type_identifier": "t_rational_3_by_1", + "type_string": "int_const 3" }, - { - "id": 4735, - "node_type": 44, - "src": { - "line": 1358, - "column": 8, - "start": 47403, - "end": 47419, - "length": 17, - "parent_index": 4720 - }, - "name": "receiver", - "type_name": { - "id": 4736, - "node_type": 30, - "src": { - "line": 1358, - "column": 8, - "start": 47403, - "end": 47409, - "length": 7, - "parent_index": 4735 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 4737, - "node_type": 44, - "src": { - "line": 1359, - "column": 8, - "start": 47456, - "end": 47466, - "length": 11, - "parent_index": 4720 - }, - "name": "to", - "type_name": { - "id": 4738, - "node_type": 30, - "src": { - "line": 1359, - "column": 8, - "start": 47456, - "end": 47462, - "length": 7, - "parent_index": 4737 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 4739, - "node_type": 44, - "src": { - "line": 1360, - "column": 8, - "start": 47544, - "end": 47555, - "length": 12, - "parent_index": 4720 - }, - "name": "gas", - "type_name": { - "id": 4740, - "node_type": 30, - "src": { - "line": 1360, - "column": 8, - "start": 47544, - "end": 47550, - "length": 7, - "parent_index": 4739 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 4741, - "node_type": 44, - "src": { - "line": 1361, - "column": 8, - "start": 47614, - "end": 47632, - "length": 19, - "parent_index": 4720 - }, - "name": "srcContext", - "type_name": { - "id": 4742, - "node_type": 30, - "src": { - "line": 1361, - "column": 8, - "start": 47614, - "end": 47620, - "length": 7, - "parent_index": 4741 - }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - } - ], - "visibility": 3, - "storage_location": 1 + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "3" + } }, { - "id": 4743, - "name": "payload", + "id": 4785, + "name": "ACTION_DST_WITHDRAW_TOKEN", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1383, - "column": 8, - "start": 48739, - "end": 48758, - "length": 20 + "line": 1548, + "column": 4, + "start": 53899, + "end": 53952, + "length": 54 }, "scope": 0, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_rational_4_by_1", + "type_string": "int_const 4" }, - "visibility": 3, + "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4744, + "id": 4786, "node_type": 30, "src": { - "line": 1383, - "column": 8, - "start": 48739, - "end": 48743, + "line": 1548, + "column": 4, + "start": 53899, + "end": 53903, "length": 5, - "parent_index": 4743 + "parent_index": 4785 }, - "name": "bytes", + "name": "uint8", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_uint8", + "type_string": "uint8" } }, - "initial_value": null - }, - { - "id": 4745, - "name": "to", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1452, - "column": 12, - "start": 51171, - "end": 51180, - "length": 10 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4746, - "node_type": 30, + "initial_value": { + "id": 4787, + "node_type": 17, + "kind": 49, + "value": "4", + "hex_value": "34", "src": { - "line": 1452, - "column": 12, - "start": 51171, - "end": 51177, - "length": 7, - "parent_index": 4745 + "line": 1548, + "column": 56, + "start": 53951, + "end": 53951, + "length": 1, + "parent_index": 4785 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "initial_value": null + "type_identifier": "t_rational_4_by_1", + "type_string": "int_const 4" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "4" + } }, { - "id": 4747, - "name": "actions", + "id": 4788, + "name": "ACTION_DST_WITHDRAW_OR_TRANSFER_FROM_BENTOBOX", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1453, - "column": 12, - "start": 51195, - "end": 51216, - "length": 22 + "line": 1549, + "column": 4, + "start": 53958, + "end": 54031, + "length": 74 }, "scope": 0, "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" + "type_identifier": "t_rational_5_by_1", + "type_string": "int_const 5" }, - "visibility": 3, + "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4748, - "node_type": 16, + "id": 4789, + "node_type": 30, "src": { - "line": 1453, - "column": 12, - "start": 51195, - "end": 51199, + "line": 1549, + "column": 4, + "start": 53958, + "end": 53962, "length": 5, - "parent_index": 4747 + "parent_index": 4788 }, "name": "uint8", "referenced_declaration": 0, @@ -6357,244 +6918,187 @@ "type_string": "uint8" } }, - "initial_value": null - }, - { - "id": 4749, - "name": "values", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1454, - "column": 12, - "start": 51231, - "end": 51253, - "length": 23 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4750, - "node_type": 16, + "initial_value": { + "id": 4790, + "node_type": 17, + "kind": 49, + "value": "5", + "hex_value": "35", "src": { - "line": 1454, - "column": 12, - "start": 51231, - "end": 51237, - "length": 7, - "parent_index": 4749 + "line": 1549, + "column": 76, + "start": 54030, + "end": 54030, + "length": 1, + "parent_index": 4788 }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null + "type_identifier": "t_rational_5_by_1", + "type_string": "int_const 5" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "5" + } }, { - "id": 4751, - "name": "datas", + "id": 4791, + "name": "ACTION_UNWRAP_AND_TRANSFER", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1455, - "column": 12, - "start": 51268, - "end": 51287, - "length": 20 + "line": 1550, + "column": 4, + "start": 54037, + "end": 54091, + "length": 55 }, "scope": 0, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_rational_6_by_1", + "type_string": "int_const 6" }, - "visibility": 3, + "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4752, - "node_type": 16, + "id": 4792, + "node_type": 30, "src": { - "line": 1455, - "column": 12, - "start": 51268, - "end": 51272, + "line": 1550, + "column": 4, + "start": 54037, + "end": 54041, "length": 5, - "parent_index": 4751 + "parent_index": 4791 }, - "name": "bytes", + "name": "uint8", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_uint8", + "type_string": "uint8" } }, - "initial_value": null - }, - { - "id": 4753, - "name": "srcContext", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1456, - "column": 12, - "start": 51302, - "end": 51319, - "length": 18 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4754, - "node_type": 30, + "initial_value": { + "id": 4793, + "node_type": 17, + "kind": 49, + "value": "6", + "hex_value": "36", "src": { - "line": 1456, - "column": 12, - "start": 51302, - "end": 51308, - "length": 7, - "parent_index": 4753 + "line": 1550, + "column": 57, + "start": 54090, + "end": 54090, + "length": 1, + "parent_index": 4791 }, - "name": "bytes32", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "initial_value": null + "type_identifier": "t_rational_6_by_1", + "type_string": "int_const 6" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "6" + } }, { - "id": 4755, - "name": "limit", + "id": 4794, + "name": "ACTION_LEGACY_SWAP", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1460, - "column": 8, - "start": 51442, - "end": 51454, - "length": 13 + "line": 1553, + "column": 4, + "start": 54121, + "end": 54167, + "length": 47 }, "scope": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_rational_7_by_1", + "type_string": "int_const 7" }, - "visibility": 3, + "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4756, + "id": 4795, "node_type": 30, "src": { - "line": 1460, - "column": 8, - "start": 51442, - "end": 51448, - "length": 7, - "parent_index": 4755 + "line": 1553, + "column": 4, + "start": 54121, + "end": 54125, + "length": 5, + "parent_index": 4794 }, - "name": "uint256", + "name": "uint8", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_uint8", + "type_string": "uint8" } }, - "initial_value": null - }, - { - "id": 4757, - "name": "failed", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1461, - "column": 8, - "start": 51486, - "end": 51496, - "length": 11 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4758, - "node_type": 30, + "initial_value": { + "id": 4796, + "node_type": 17, + "kind": 49, + "value": "7", + "hex_value": "37", "src": { - "line": 1461, - "column": 8, - "start": 51486, - "end": 51489, - "length": 4, - "parent_index": 4757 + "line": 1553, + "column": 49, + "start": 54166, + "end": 54166, + "length": 1, + "parent_index": 4794 }, - "name": "bool", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "initial_value": null + "type_identifier": "t_rational_7_by_1", + "type_string": "int_const 7" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "7" + } }, { - "id": 4759, - "name": "ACTION_MASTER_CONTRACT_APPROVAL", + "id": 4797, + "name": "ACTION_TRIDENT_SWAP", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1544, + "line": 1554, "column": 4, - "start": 53639, - "end": 53698, - "length": 60 + "start": 54173, + "end": 54220, + "length": 48 }, "scope": 0, "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_rational_8_by_1", + "type_string": "int_const 8" }, "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4760, + "id": 4798, "node_type": 30, "src": { - "line": 1544, + "line": 1554, "column": 4, - "start": 53639, - "end": 53643, + "start": 54173, + "end": 54177, "length": 5, - "parent_index": 4759 + "parent_index": 4797 }, "name": "uint8", "referenced_declaration": 0, @@ -6604,59 +7108,60 @@ } }, "initial_value": { - "id": 4761, + "id": 4799, "node_type": 17, "kind": 49, - "value": "0", - "hex_value": "30", + "value": "8", + "hex_value": "38", "src": { - "line": 1544, - "column": 62, - "start": 53697, - "end": 53697, + "line": 1554, + "column": 50, + "start": 54219, + "end": 54219, "length": 1, - "parent_index": 4759 + "parent_index": 4797 }, "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_rational_8_by_1", + "type_string": "int_const 8" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" } }, { - "id": 4762, - "name": "ACTION_SRC_DEPOSIT_TO_BENTOBOX", + "id": 4800, + "name": "ACTION_TRIDENT_COMPLEX_PATH_SWAP", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1545, + "line": 1555, "column": 4, - "start": 53704, - "end": 53762, - "length": 59 + "start": 54226, + "end": 54286, + "length": 61 }, "scope": 0, "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" }, "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4763, + "id": 4801, "node_type": 30, "src": { - "line": 1545, + "line": 1555, "column": 4, - "start": 53704, - "end": 53708, + "start": 54226, + "end": 54230, "length": 5, - "parent_index": 4762 + "parent_index": 4800 }, "name": "uint8", "referenced_declaration": 0, @@ -6666,555 +7171,60 @@ } }, "initial_value": { - "id": 4764, + "id": 4802, "node_type": 17, "kind": 49, - "value": "1", - "hex_value": "31", + "value": "9", + "hex_value": "39", "src": { - "line": 1545, - "column": 61, - "start": 53761, - "end": 53761, + "line": 1555, + "column": 63, + "start": 54285, + "end": 54285, "length": 1, - "parent_index": 4762 + "parent_index": 4800 }, "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "9" } }, { - "id": 4765, - "name": "ACTION_SRC_TRANSFER_FROM_BENTOBOX", + "id": 4803, + "name": "ACTION_STARGATE_TELEPORT", "is_constant": true, "is_state_variable": true, "node_type": 44, "src": { - "line": 1546, + "line": 1558, "column": 4, - "start": 53768, - "end": 53829, - "length": 62 + "start": 54318, + "end": 54371, + "length": 54 }, "scope": 0, "type_description": { - "type_identifier": "t_rational_2_by_1", - "type_string": "int_const 2" + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" }, "visibility": 1, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4766, + "id": 4804, "node_type": 30, "src": { - "line": 1546, - "column": 4, - "start": 53768, - "end": 53772, - "length": 5, - "parent_index": 4765 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "initial_value": { - "id": 4767, - "node_type": 17, - "kind": 49, - "value": "2", - "hex_value": "32", - "src": { - "line": 1546, - "column": 64, - "start": 53828, - "end": 53828, - "length": 1, - "parent_index": 4765 - }, - "type_description": { - "type_identifier": "t_rational_2_by_1", - "type_string": "int_const 2" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - }, - { - "id": 4768, - "name": "ACTION_DST_DEPOSIT_TO_BENTOBOX", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1547, - "column": 4, - "start": 53835, - "end": 53893, - "length": 59 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_rational_3_by_1", - "type_string": "int_const 3" - }, - "visibility": 1, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4769, - "node_type": 30, - "src": { - "line": 1547, - "column": 4, - "start": 53835, - "end": 53839, - "length": 5, - "parent_index": 4768 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "initial_value": { - "id": 4770, - "node_type": 17, - "kind": 49, - "value": "3", - "hex_value": "33", - "src": { - "line": 1547, - "column": 61, - "start": 53892, - "end": 53892, - "length": 1, - "parent_index": 4768 - }, - "type_description": { - "type_identifier": "t_rational_3_by_1", - "type_string": "int_const 3" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - }, - { - "id": 4771, - "name": "ACTION_DST_WITHDRAW_TOKEN", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1548, - "column": 4, - "start": 53899, - "end": 53952, - "length": 54 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_rational_4_by_1", - "type_string": "int_const 4" - }, - "visibility": 1, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4772, - "node_type": 30, - "src": { - "line": 1548, - "column": 4, - "start": 53899, - "end": 53903, - "length": 5, - "parent_index": 4771 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "initial_value": { - "id": 4773, - "node_type": 17, - "kind": 49, - "value": "4", - "hex_value": "34", - "src": { - "line": 1548, - "column": 56, - "start": 53951, - "end": 53951, - "length": 1, - "parent_index": 4771 - }, - "type_description": { - "type_identifier": "t_rational_4_by_1", - "type_string": "int_const 4" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - }, - { - "id": 4774, - "name": "ACTION_DST_WITHDRAW_OR_TRANSFER_FROM_BENTOBOX", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1549, - "column": 4, - "start": 53958, - "end": 54031, - "length": 74 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_rational_5_by_1", - "type_string": "int_const 5" - }, - "visibility": 1, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4775, - "node_type": 30, - "src": { - "line": 1549, - "column": 4, - "start": 53958, - "end": 53962, - "length": 5, - "parent_index": 4774 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "initial_value": { - "id": 4776, - "node_type": 17, - "kind": 49, - "value": "5", - "hex_value": "35", - "src": { - "line": 1549, - "column": 76, - "start": 54030, - "end": 54030, - "length": 1, - "parent_index": 4774 - }, - "type_description": { - "type_identifier": "t_rational_5_by_1", - "type_string": "int_const 5" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - }, - { - "id": 4777, - "name": "ACTION_UNWRAP_AND_TRANSFER", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1550, - "column": 4, - "start": 54037, - "end": 54091, - "length": 55 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_rational_6_by_1", - "type_string": "int_const 6" - }, - "visibility": 1, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4778, - "node_type": 30, - "src": { - "line": 1550, - "column": 4, - "start": 54037, - "end": 54041, - "length": 5, - "parent_index": 4777 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "initial_value": { - "id": 4779, - "node_type": 17, - "kind": 49, - "value": "6", - "hex_value": "36", - "src": { - "line": 1550, - "column": 57, - "start": 54090, - "end": 54090, - "length": 1, - "parent_index": 4777 - }, - "type_description": { - "type_identifier": "t_rational_6_by_1", - "type_string": "int_const 6" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - }, - { - "id": 4780, - "name": "ACTION_LEGACY_SWAP", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1553, - "column": 4, - "start": 54121, - "end": 54167, - "length": 47 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_rational_7_by_1", - "type_string": "int_const 7" - }, - "visibility": 1, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4781, - "node_type": 30, - "src": { - "line": 1553, - "column": 4, - "start": 54121, - "end": 54125, - "length": 5, - "parent_index": 4780 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "initial_value": { - "id": 4782, - "node_type": 17, - "kind": 49, - "value": "7", - "hex_value": "37", - "src": { - "line": 1553, - "column": 49, - "start": 54166, - "end": 54166, - "length": 1, - "parent_index": 4780 - }, - "type_description": { - "type_identifier": "t_rational_7_by_1", - "type_string": "int_const 7" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - }, - { - "id": 4783, - "name": "ACTION_TRIDENT_SWAP", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1554, - "column": 4, - "start": 54173, - "end": 54220, - "length": 48 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_rational_8_by_1", - "type_string": "int_const 8" - }, - "visibility": 1, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4784, - "node_type": 30, - "src": { - "line": 1554, - "column": 4, - "start": 54173, - "end": 54177, - "length": 5, - "parent_index": 4783 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "initial_value": { - "id": 4785, - "node_type": 17, - "kind": 49, - "value": "8", - "hex_value": "38", - "src": { - "line": 1554, - "column": 50, - "start": 54219, - "end": 54219, - "length": 1, - "parent_index": 4783 - }, - "type_description": { - "type_identifier": "t_rational_8_by_1", - "type_string": "int_const 8" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - }, - { - "id": 4786, - "name": "ACTION_TRIDENT_COMPLEX_PATH_SWAP", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1555, - "column": 4, - "start": 54226, - "end": 54286, - "length": 61 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_rational_9_by_1", - "type_string": "int_const 9" - }, - "visibility": 1, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4787, - "node_type": 30, - "src": { - "line": 1555, - "column": 4, - "start": 54226, - "end": 54230, - "length": 5, - "parent_index": 4786 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "initial_value": { - "id": 4788, - "node_type": 17, - "kind": 49, - "value": "9", - "hex_value": "39", - "src": { - "line": 1555, - "column": 63, - "start": 54285, - "end": 54285, - "length": 1, - "parent_index": 4786 - }, - "type_description": { - "type_identifier": "t_rational_9_by_1", - "type_string": "int_const 9" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - }, - { - "id": 4789, - "name": "ACTION_STARGATE_TELEPORT", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 1558, - "column": 4, - "start": 54318, - "end": 54371, - "length": 54 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_rational_10_by_1", - "type_string": "int_const 10" - }, - "visibility": 1, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 4790, - "node_type": 30, - "src": { - "line": 1558, + "line": 1558, "column": 4, "start": 54318, "end": 54322, "length": 5, - "parent_index": 4789 + "parent_index": 4803 }, "name": "uint8", "referenced_declaration": 0, @@ -7224,7 +7234,7 @@ } }, "initial_value": { - "id": 4791, + "id": 4805, "node_type": 17, "kind": 49, "value": "10", @@ -7235,7 +7245,7 @@ "start": 54369, "end": 54370, "length": 2, - "parent_index": 4789 + "parent_index": 4803 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -7243,11 +7253,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" } }, { - "id": 4792, + "id": 4806, "name": "ACTION_SRC_TOKEN_TRANSFER", "is_constant": true, "is_state_variable": true, @@ -7268,7 +7279,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4793, + "id": 4807, "node_type": 30, "src": { "line": 1560, @@ -7276,7 +7287,7 @@ "start": 54378, "end": 54382, "length": 5, - "parent_index": 4792 + "parent_index": 4806 }, "name": "uint8", "referenced_declaration": 0, @@ -7286,7 +7297,7 @@ } }, "initial_value": { - "id": 4794, + "id": 4808, "node_type": 17, "kind": 49, "value": "11", @@ -7297,7 +7308,7 @@ "start": 54430, "end": 54431, "length": 2, - "parent_index": 4792 + "parent_index": 4806 }, "type_description": { "type_identifier": "t_rational_11_by_1", @@ -7305,11 +7316,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "11" } }, { - "id": 4795, + "id": 4809, "name": "actionLength", "is_constant": true, "is_state_variable": true, @@ -7330,7 +7342,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4796, + "id": 4810, "node_type": 30, "src": { "line": 1572, @@ -7338,7 +7350,7 @@ "start": 55074, "end": 55080, "length": 7, - "parent_index": 4795 + "parent_index": 4809 }, "name": "uint256", "referenced_declaration": 0, @@ -7350,7 +7362,7 @@ "initial_value": null }, { - "id": 4797, + "id": 4811, "name": "i", "is_constant": true, "is_state_variable": true, @@ -7371,7 +7383,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4798, + "id": 4812, "node_type": 30, "src": { "line": 1573, @@ -7379,7 +7391,7 @@ "start": 55126, "end": 55132, "length": 7, - "parent_index": 4797 + "parent_index": 4811 }, "name": "uint256", "referenced_declaration": 0, @@ -7391,7 +7403,7 @@ "initial_value": null }, { - "id": 4799, + "id": 4813, "name": "action", "is_constant": true, "is_state_variable": true, @@ -7412,7 +7424,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4800, + "id": 4814, "node_type": 30, "src": { "line": 1574, @@ -7420,7 +7432,7 @@ "start": 55188, "end": 55192, "length": 5, - "parent_index": 4799 + "parent_index": 4813 }, "name": "uint8", "referenced_declaration": 0, @@ -7432,7 +7444,7 @@ "initial_value": null }, { - "id": 4801, + "id": 4815, "name": "user", "is_constant": true, "is_state_variable": true, @@ -7453,7 +7465,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4802, + "id": 4816, "node_type": 30, "src": { "line": 1578, @@ -7461,7 +7473,7 @@ "start": 55367, "end": 55373, "length": 7, - "parent_index": 4801 + "parent_index": 4815 }, "name": "address", "state_mutability": 4, @@ -7474,7 +7486,7 @@ "initial_value": null }, { - "id": 4803, + "id": 4817, "name": "approved", "is_constant": true, "is_state_variable": true, @@ -7495,7 +7507,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4804, + "id": 4818, "node_type": 30, "src": { "line": 1579, @@ -7503,7 +7515,7 @@ "start": 55401, "end": 55404, "length": 4, - "parent_index": 4803 + "parent_index": 4817 }, "name": "bool", "referenced_declaration": 0, @@ -7515,7 +7527,7 @@ "initial_value": null }, { - "id": 4805, + "id": 4819, "name": "v", "is_constant": true, "is_state_variable": true, @@ -7536,7 +7548,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4806, + "id": 4820, "node_type": 30, "src": { "line": 1580, @@ -7544,7 +7556,7 @@ "start": 55436, "end": 55440, "length": 5, - "parent_index": 4805 + "parent_index": 4819 }, "name": "uint8", "referenced_declaration": 0, @@ -7556,7 +7568,7 @@ "initial_value": null }, { - "id": 4807, + "id": 4821, "name": "r", "is_constant": true, "is_state_variable": true, @@ -7577,7 +7589,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4808, + "id": 4822, "node_type": 30, "src": { "line": 1581, @@ -7585,7 +7597,7 @@ "start": 55465, "end": 55471, "length": 7, - "parent_index": 4807 + "parent_index": 4821 }, "name": "bytes32", "referenced_declaration": 0, @@ -7597,7 +7609,7 @@ "initial_value": null }, { - "id": 4809, + "id": 4823, "name": "s", "is_constant": true, "is_state_variable": true, @@ -7618,7 +7630,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4810, + "id": 4824, "node_type": 30, "src": { "line": 1582, @@ -7626,7 +7638,7 @@ "start": 55496, "end": 55502, "length": 7, - "parent_index": 4809 + "parent_index": 4823 }, "name": "bytes32", "referenced_declaration": 0, @@ -7638,7 +7650,7 @@ "initial_value": null }, { - "id": 4811, + "id": 4825, "name": "token", "is_constant": true, "is_state_variable": true, @@ -7659,7 +7671,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4812, + "id": 4826, "node_type": 30, "src": { "line": 1597, @@ -7667,7 +7679,7 @@ "start": 55975, "end": 55981, "length": 7, - "parent_index": 4811 + "parent_index": 4825 }, "name": "address", "state_mutability": 4, @@ -7680,7 +7692,7 @@ "initial_value": null }, { - "id": 4813, + "id": 4827, "name": "to", "is_constant": true, "is_state_variable": true, @@ -7701,7 +7713,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4814, + "id": 4828, "node_type": 30, "src": { "line": 1597, @@ -7709,7 +7721,7 @@ "start": 55990, "end": 55996, "length": 7, - "parent_index": 4813 + "parent_index": 4827 }, "name": "address", "state_mutability": 4, @@ -7722,7 +7734,7 @@ "initial_value": null }, { - "id": 4815, + "id": 4829, "name": "amount", "is_constant": true, "is_state_variable": true, @@ -7743,7 +7755,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4816, + "id": 4830, "node_type": 30, "src": { "line": 1597, @@ -7751,7 +7763,7 @@ "start": 56002, "end": 56008, "length": 7, - "parent_index": 4815 + "parent_index": 4829 }, "name": "uint256", "referenced_declaration": 0, @@ -7763,7 +7775,7 @@ "initial_value": null }, { - "id": 4817, + "id": 4831, "name": "share", "is_constant": true, "is_state_variable": true, @@ -7784,7 +7796,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4818, + "id": 4832, "node_type": 30, "src": { "line": 1597, @@ -7792,7 +7804,7 @@ "start": 56018, "end": 56024, "length": 7, - "parent_index": 4817 + "parent_index": 4831 }, "name": "uint256", "referenced_declaration": 0, @@ -7804,7 +7816,7 @@ "initial_value": null }, { - "id": 4819, + "id": 4833, "name": "token", "is_constant": true, "is_state_variable": true, @@ -7825,7 +7837,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4820, + "id": 4834, "node_type": 30, "src": { "line": 1609, @@ -7833,7 +7845,7 @@ "start": 56447, "end": 56453, "length": 7, - "parent_index": 4819 + "parent_index": 4833 }, "name": "address", "state_mutability": 4, @@ -7846,7 +7858,7 @@ "initial_value": null }, { - "id": 4821, + "id": 4835, "name": "to", "is_constant": true, "is_state_variable": true, @@ -7867,7 +7879,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4822, + "id": 4836, "node_type": 30, "src": { "line": 1610, @@ -7875,7 +7887,7 @@ "start": 56482, "end": 56488, "length": 7, - "parent_index": 4821 + "parent_index": 4835 }, "name": "address", "state_mutability": 4, @@ -7888,7 +7900,7 @@ "initial_value": null }, { - "id": 4823, + "id": 4837, "name": "amount", "is_constant": true, "is_state_variable": true, @@ -7909,7 +7921,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4824, + "id": 4838, "node_type": 30, "src": { "line": 1611, @@ -7917,7 +7929,7 @@ "start": 56514, "end": 56520, "length": 7, - "parent_index": 4823 + "parent_index": 4837 }, "name": "uint256", "referenced_declaration": 0, @@ -7929,7 +7941,7 @@ "initial_value": null }, { - "id": 4825, + "id": 4839, "name": "share", "is_constant": true, "is_state_variable": true, @@ -7950,7 +7962,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4826, + "id": 4840, "node_type": 30, "src": { "line": 1612, @@ -7958,7 +7970,7 @@ "start": 56550, "end": 56556, "length": 7, - "parent_index": 4825 + "parent_index": 4839 }, "name": "uint256", "referenced_declaration": 0, @@ -7970,7 +7982,7 @@ "initial_value": null }, { - "id": 4827, + "id": 4841, "name": "unwrapBento", "is_constant": true, "is_state_variable": true, @@ -7991,7 +8003,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4828, + "id": 4842, "node_type": 30, "src": { "line": 1613, @@ -7999,7 +8011,7 @@ "start": 56585, "end": 56588, "length": 4, - "parent_index": 4827 + "parent_index": 4841 }, "name": "bool", "referenced_declaration": 0, @@ -8011,7 +8023,7 @@ "initial_value": null }, { - "id": 4829, + "id": 4843, "name": "token", "is_constant": true, "is_state_variable": true, @@ -8032,7 +8044,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4830, + "id": 4844, "node_type": 30, "src": { "line": 1627, @@ -8040,7 +8052,7 @@ "start": 57065, "end": 57071, "length": 7, - "parent_index": 4829 + "parent_index": 4843 }, "name": "address", "state_mutability": 4, @@ -8053,7 +8065,7 @@ "initial_value": null }, { - "id": 4831, + "id": 4845, "name": "to", "is_constant": true, "is_state_variable": true, @@ -8074,7 +8086,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4832, + "id": 4846, "node_type": 30, "src": { "line": 1627, @@ -8082,7 +8094,7 @@ "start": 57080, "end": 57086, "length": 7, - "parent_index": 4831 + "parent_index": 4845 }, "name": "address", "state_mutability": 4, @@ -8095,7 +8107,7 @@ "initial_value": null }, { - "id": 4833, + "id": 4847, "name": "amount", "is_constant": true, "is_state_variable": true, @@ -8116,7 +8128,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4834, + "id": 4848, "node_type": 30, "src": { "line": 1627, @@ -8124,7 +8136,7 @@ "start": 57092, "end": 57098, "length": 7, - "parent_index": 4833 + "parent_index": 4847 }, "name": "uint256", "referenced_declaration": 0, @@ -8136,7 +8148,7 @@ "initial_value": null }, { - "id": 4835, + "id": 4849, "name": "token", "is_constant": true, "is_state_variable": true, @@ -8157,7 +8169,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4836, + "id": 4850, "node_type": 30, "src": { "line": 1634, @@ -8165,7 +8177,7 @@ "start": 57367, "end": 57373, "length": 7, - "parent_index": 4835 + "parent_index": 4849 }, "name": "address", "state_mutability": 4, @@ -8178,7 +8190,7 @@ "initial_value": null }, { - "id": 4837, + "id": 4851, "name": "to", "is_constant": true, "is_state_variable": true, @@ -8199,7 +8211,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4838, + "id": 4852, "node_type": 30, "src": { "line": 1634, @@ -8207,7 +8219,7 @@ "start": 57382, "end": 57388, "length": 7, - "parent_index": 4837 + "parent_index": 4851 }, "name": "address", "state_mutability": 4, @@ -8220,7 +8232,7 @@ "initial_value": null }, { - "id": 4839, + "id": 4853, "name": "amount", "is_constant": true, "is_state_variable": true, @@ -8241,7 +8253,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4840, + "id": 4854, "node_type": 30, "src": { "line": 1634, @@ -8249,7 +8261,7 @@ "start": 57394, "end": 57400, "length": 7, - "parent_index": 4839 + "parent_index": 4853 }, "name": "uint256", "referenced_declaration": 0, @@ -8261,7 +8273,7 @@ "initial_value": null }, { - "id": 4841, + "id": 4855, "name": "share", "is_constant": true, "is_state_variable": true, @@ -8282,7 +8294,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4842, + "id": 4856, "node_type": 30, "src": { "line": 1634, @@ -8290,7 +8302,7 @@ "start": 57410, "end": 57416, "length": 7, - "parent_index": 4841 + "parent_index": 4855 }, "name": "uint256", "referenced_declaration": 0, @@ -8302,7 +8314,7 @@ "initial_value": null }, { - "id": 4843, + "id": 4857, "name": "token", "is_constant": true, "is_state_variable": true, @@ -8323,7 +8335,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4844, + "id": 4858, "node_type": 30, "src": { "line": 1654, @@ -8331,7 +8343,7 @@ "start": 58165, "end": 58171, "length": 7, - "parent_index": 4843 + "parent_index": 4857 }, "name": "address", "state_mutability": 4, @@ -8344,7 +8356,7 @@ "initial_value": null }, { - "id": 4845, + "id": 4859, "name": "to", "is_constant": true, "is_state_variable": true, @@ -8365,7 +8377,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4846, + "id": 4860, "node_type": 30, "src": { "line": 1654, @@ -8373,7 +8385,7 @@ "start": 58180, "end": 58186, "length": 7, - "parent_index": 4845 + "parent_index": 4859 }, "name": "address", "state_mutability": 4, @@ -8386,7 +8398,7 @@ "initial_value": null }, { - "id": 4847, + "id": 4861, "name": "amount", "is_constant": true, "is_state_variable": true, @@ -8407,7 +8419,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4848, + "id": 4862, "node_type": 30, "src": { "line": 1654, @@ -8415,7 +8427,7 @@ "start": 58192, "end": 58198, "length": 7, - "parent_index": 4847 + "parent_index": 4861 }, "name": "uint256", "referenced_declaration": 0, @@ -8427,7 +8439,7 @@ "initial_value": null }, { - "id": 4849, + "id": 4863, "name": "token", "is_constant": true, "is_state_variable": true, @@ -8448,7 +8460,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4850, + "id": 4864, "node_type": 30, "src": { "line": 1670, @@ -8456,7 +8468,7 @@ "start": 58809, "end": 58815, "length": 7, - "parent_index": 4849 + "parent_index": 4863 }, "name": "address", "state_mutability": 4, @@ -8469,7 +8481,7 @@ "initial_value": null }, { - "id": 4851, + "id": 4865, "name": "to", "is_constant": true, "is_state_variable": true, @@ -8490,7 +8502,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4852, + "id": 4866, "node_type": 30, "src": { "line": 1671, @@ -8498,7 +8510,7 @@ "start": 58844, "end": 58850, "length": 7, - "parent_index": 4851 + "parent_index": 4865 }, "name": "address", "state_mutability": 4, @@ -8511,7 +8523,7 @@ "initial_value": null }, { - "id": 4853, + "id": 4867, "name": "amount", "is_constant": true, "is_state_variable": true, @@ -8532,7 +8544,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4854, + "id": 4868, "node_type": 30, "src": { "line": 1672, @@ -8540,7 +8552,7 @@ "start": 58876, "end": 58882, "length": 7, - "parent_index": 4853 + "parent_index": 4867 }, "name": "uint256", "referenced_declaration": 0, @@ -8552,7 +8564,7 @@ "initial_value": null }, { - "id": 4855, + "id": 4869, "name": "share", "is_constant": true, "is_state_variable": true, @@ -8573,7 +8585,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4856, + "id": 4870, "node_type": 30, "src": { "line": 1673, @@ -8581,7 +8593,7 @@ "start": 58912, "end": 58918, "length": 7, - "parent_index": 4855 + "parent_index": 4869 }, "name": "uint256", "referenced_declaration": 0, @@ -8593,7 +8605,7 @@ "initial_value": null }, { - "id": 4857, + "id": 4871, "name": "unwrapBento", "is_constant": true, "is_state_variable": true, @@ -8614,7 +8626,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4858, + "id": 4872, "node_type": 30, "src": { "line": 1674, @@ -8622,7 +8634,7 @@ "start": 58947, "end": 58950, "length": 4, - "parent_index": 4857 + "parent_index": 4871 }, "name": "bool", "referenced_declaration": 0, @@ -8634,7 +8646,7 @@ "initial_value": null }, { - "id": 4859, + "id": 4873, "name": "token", "is_constant": true, "is_state_variable": true, @@ -8655,7 +8667,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4860, + "id": 4874, "node_type": 30, "src": { "line": 1691, @@ -8663,7 +8675,7 @@ "start": 59568, "end": 59574, "length": 7, - "parent_index": 4859 + "parent_index": 4873 }, "name": "address", "state_mutability": 4, @@ -8676,7 +8688,7 @@ "initial_value": null }, { - "id": 4861, + "id": 4875, "name": "to", "is_constant": true, "is_state_variable": true, @@ -8697,7 +8709,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4862, + "id": 4876, "node_type": 30, "src": { "line": 1691, @@ -8705,7 +8717,7 @@ "start": 59583, "end": 59589, "length": 7, - "parent_index": 4861 + "parent_index": 4875 }, "name": "address", "state_mutability": 4, @@ -8718,7 +8730,7 @@ "initial_value": null }, { - "id": 4863, + "id": 4877, "name": "amountIn", "is_constant": true, "is_state_variable": true, @@ -8739,7 +8751,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4864, + "id": 4878, "node_type": 30, "src": { "line": 1699, @@ -8747,7 +8759,7 @@ "start": 59835, "end": 59841, "length": 7, - "parent_index": 4863 + "parent_index": 4877 }, "name": "uint256", "referenced_declaration": 0, @@ -8759,7 +8771,7 @@ "initial_value": null }, { - "id": 4865, + "id": 4879, "name": "amountOutMin", "is_constant": true, "is_state_variable": true, @@ -8780,7 +8792,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4866, + "id": 4880, "node_type": 30, "src": { "line": 1700, @@ -8788,7 +8800,7 @@ "start": 59873, "end": 59879, "length": 7, - "parent_index": 4865 + "parent_index": 4879 }, "name": "uint256", "referenced_declaration": 0, @@ -8800,7 +8812,7 @@ "initial_value": null }, { - "id": 4867, + "id": 4881, "name": "path", "is_constant": true, "is_state_variable": true, @@ -8821,7 +8833,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4868, + "id": 4882, "node_type": 16, "src": { "line": 1701, @@ -8829,7 +8841,7 @@ "start": 59915, "end": 59921, "length": 7, - "parent_index": 4867 + "parent_index": 4881 }, "name": "address", "referenced_declaration": 0, @@ -8841,7 +8853,7 @@ "initial_value": null }, { - "id": 4869, + "id": 4883, "name": "to", "is_constant": true, "is_state_variable": true, @@ -8862,7 +8874,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4870, + "id": 4884, "node_type": 30, "src": { "line": 1702, @@ -8870,7 +8882,7 @@ "start": 59958, "end": 59964, "length": 7, - "parent_index": 4869 + "parent_index": 4883 }, "name": "address", "state_mutability": 4, @@ -8883,7 +8895,7 @@ "initial_value": null }, { - "id": 4871, + "id": 4885, "name": "sendTokens", "is_constant": true, "is_state_variable": true, @@ -8904,7 +8916,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4872, + "id": 4886, "node_type": 30, "src": { "line": 1707, @@ -8912,7 +8924,7 @@ "start": 60137, "end": 60140, "length": 4, - "parent_index": 4871 + "parent_index": 4885 }, "name": "bool", "referenced_declaration": 0, @@ -8924,7 +8936,7 @@ "initial_value": null }, { - "id": 4873, + "id": 4887, "name": "params", "is_constant": true, "is_state_variable": true, @@ -8938,14 +8950,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_ExactInputParams_$4630", + "type_identifier": "t_struct$_Global_ExactInputParams_$4695", "type_string": "struct Global.ExactInputParams" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4874, + "id": 4888, "node_type": 69, "src": { "line": 1720, @@ -8953,20 +8965,20 @@ "start": 60600, "end": 60615, "length": 16, - "parent_index": 4873 + "parent_index": 4887 }, "path_node": { - "id": 4875, + "id": 4889, "name": "ExactInputParams", "node_type": 52, - "referenced_declaration": 4630, + "referenced_declaration": 4695, "src": { "line": 1720, "column": 16, "start": 60600, "end": 60615, "length": 16, - "parent_index": 4874 + "parent_index": 4888 }, "name_location": { "line": 1720, @@ -8974,19 +8986,19 @@ "start": 60600, "end": 60615, "length": 16, - "parent_index": 4874 + "parent_index": 4888 } }, - "referenced_declaration": 4630, + "referenced_declaration": 4695, "type_description": { - "type_identifier": "t_struct$_Global_ExactInputParams_$4630", + "type_identifier": "t_struct$_Global_ExactInputParams_$4695", "type_string": "struct Global.ExactInputParams" } }, "initial_value": null }, { - "id": 4876, + "id": 4890, "name": "params", "is_constant": true, "is_state_variable": true, @@ -9000,14 +9012,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_ComplexPathParams_$4676", + "type_identifier": "t_struct$_Global_ComplexPathParams_$4741", "type_string": "struct Global.ComplexPathParams" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4877, + "id": 4891, "node_type": 69, "src": { "line": 1727, @@ -9015,20 +9027,20 @@ "start": 60856, "end": 60872, "length": 17, - "parent_index": 4876 + "parent_index": 4890 }, "path_node": { - "id": 4878, + "id": 4892, "name": "ComplexPathParams", "node_type": 52, - "referenced_declaration": 4676, + "referenced_declaration": 4741, "src": { "line": 1727, "column": 16, "start": 60856, "end": 60872, "length": 17, - "parent_index": 4877 + "parent_index": 4891 }, "name_location": { "line": 1727, @@ -9036,19 +9048,19 @@ "start": 60856, "end": 60872, "length": 17, - "parent_index": 4877 + "parent_index": 4891 } }, - "referenced_declaration": 4676, + "referenced_declaration": 4741, "type_description": { - "type_identifier": "t_struct$_Global_ComplexPathParams_$4676", + "type_identifier": "t_struct$_Global_ComplexPathParams_$4741", "type_string": "struct Global.ComplexPathParams" } }, "initial_value": null }, { - "id": 4879, + "id": 4893, "name": "params", "is_constant": true, "is_state_variable": true, @@ -9062,14 +9074,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_struct$_Global_StargateTeleportParams_$4720", + "type_identifier": "t_struct$_Global_StargateTeleportParams_$4536", "type_string": "struct Global.StargateTeleportParams" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 4880, + "id": 4894, "node_type": 69, "src": { "line": 1735, @@ -9077,20 +9089,20 @@ "start": 61129, "end": 61150, "length": 22, - "parent_index": 4879 + "parent_index": 4893 }, "path_node": { - "id": 4881, + "id": 4895, "name": "StargateTeleportParams", "node_type": 52, - "referenced_declaration": 4720, + "referenced_declaration": 4536, "src": { "line": 1735, "column": 20, "start": 61129, "end": 61150, "length": 22, - "parent_index": 4880 + "parent_index": 4894 }, "name_location": { "line": 1735, @@ -9098,19 +9110,19 @@ "start": 61129, "end": 61150, "length": 22, - "parent_index": 4880 + "parent_index": 4894 } }, - "referenced_declaration": 4720, + "referenced_declaration": 4536, "type_description": { - "type_identifier": "t_struct$_Global_StargateTeleportParams_$4720", + "type_identifier": "t_struct$_Global_StargateTeleportParams_$4536", "type_string": "struct Global.StargateTeleportParams" } }, "initial_value": null }, { - "id": 4882, + "id": 4896, "name": "actionsDST", "is_constant": true, "is_state_variable": true, @@ -9131,7 +9143,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4883, + "id": 4897, "node_type": 16, "src": { "line": 1736, @@ -9139,7 +9151,7 @@ "start": 61187, "end": 61191, "length": 5, - "parent_index": 4882 + "parent_index": 4896 }, "name": "uint8", "referenced_declaration": 0, @@ -9151,7 +9163,7 @@ "initial_value": null }, { - "id": 4884, + "id": 4898, "name": "valuesDST", "is_constant": true, "is_state_variable": true, @@ -9172,7 +9184,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4885, + "id": 4899, "node_type": 16, "src": { "line": 1737, @@ -9180,7 +9192,7 @@ "start": 61234, "end": 61240, "length": 7, - "parent_index": 4884 + "parent_index": 4898 }, "name": "uint256", "referenced_declaration": 0, @@ -9192,7 +9204,7 @@ "initial_value": null }, { - "id": 4886, + "id": 4900, "name": "datasDST", "is_constant": true, "is_state_variable": true, @@ -9213,7 +9225,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4887, + "id": 4901, "node_type": 16, "src": { "line": 1738, @@ -9221,7 +9233,7 @@ "start": 61282, "end": 61286, "length": 5, - "parent_index": 4886 + "parent_index": 4900 }, "name": "bytes", "referenced_declaration": 0, @@ -9422,21 +9434,24 @@ }, "overloaded_declarations": [], "referenced_declaration": 289, - "is_pure": false + "is_pure": false, + "text": "account" }, "member_name": "code", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "account.code.length" }, "right_expression": { "id": 290, @@ -9458,7 +9473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9599,7 +9615,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){returnaccount.code.length\u003e0;}" }, { "id": 292, @@ -9733,7 +9750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -9779,7 +9797,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -9791,7 +9810,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 308, @@ -9811,7 +9831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 308, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -9844,7 +9865,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -9865,7 +9887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9969,7 +9992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -10025,14 +10049,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 316, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -10086,7 +10112,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 310, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 321, @@ -10114,7 +10141,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -10135,7 +10163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10267,13 +10296,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 323, @@ -10367,7 +10397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 336, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 337, @@ -10393,7 +10424,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 338, @@ -10425,7 +10457,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -10446,7 +10479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -10624,13 +10658,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 340, @@ -10728,7 +10763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 355, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 356, @@ -10754,7 +10790,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 357, @@ -10786,7 +10823,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 358, @@ -10820,7 +10858,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -10841,7 +10880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -11062,13 +11102,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 360, @@ -11166,7 +11207,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 375, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 376, @@ -11192,7 +11234,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 377, @@ -11222,7 +11265,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 378, @@ -11258,7 +11302,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -11279,7 +11324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -11500,13 +11546,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 380, @@ -11640,7 +11687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -11686,7 +11734,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -11698,7 +11747,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 402, @@ -11718,7 +11768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 402, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -11751,7 +11802,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -11772,7 +11824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -11839,7 +11892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 408, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -11860,7 +11914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -11893,7 +11948,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -11914,7 +11970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -12063,7 +12120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 419, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -12119,14 +12177,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 418, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -12196,7 +12256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 410, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 424, @@ -12222,7 +12283,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 425, @@ -12252,7 +12314,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -12273,7 +12336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -12537,13 +12601,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 427, @@ -12637,7 +12702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 440, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 441, @@ -12663,7 +12729,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 442, @@ -12695,7 +12762,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -12716,7 +12784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -12894,13 +12963,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 444, @@ -12997,7 +13067,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -13018,7 +13089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13051,7 +13123,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -13072,7 +13145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -13221,7 +13295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 470, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -13265,14 +13340,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -13337,7 +13414,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 462, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 475, @@ -13363,7 +13441,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 476, @@ -13393,7 +13472,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -13414,7 +13494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -13635,13 +13716,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 478, @@ -13735,7 +13817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 492, @@ -13761,7 +13844,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 493, @@ -13793,7 +13877,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -13814,7 +13899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -13992,13 +14078,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 495, @@ -14095,7 +14182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 511, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -14116,7 +14204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -14149,7 +14238,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -14170,7 +14260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -14319,7 +14410,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 521, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -14363,14 +14455,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 520, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -14435,7 +14529,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 513, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 526, @@ -14461,7 +14556,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 527, @@ -14491,7 +14587,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -14512,7 +14609,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -14733,13 +14831,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);returnverifyCallResult(success,returndata,errorMessage);}" }, { "id": 529, @@ -14805,7 +14904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 542, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 543, @@ -14851,7 +14951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -15069,13 +15170,14 @@ } ] }, - "signature_raw": "verifyCallResult(bool, bytes, string)", - "signature": "15a412bd", + "signature_raw": "verifyCallResult(bool,bytes,string)", + "signature": "946b5793", "scope": 275, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "functionverifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)internalpurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ @@ -15361,13 +15463,14 @@ } ] }, - "signature_raw": "balanceOf(address, address)", - "signature": "32c85217", + "signature_raw": "balanceOf(address,address)", + "signature": "f7888aec", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionbalanceOf(address,address)externalviewreturns(uint256);" }, { "id": 602, @@ -15616,13 +15719,14 @@ } ] }, - "signature_raw": "toShare(address, uint256, bool)", - "signature": "3713010a", + "signature_raw": "toShare(address,uint256,bool)", + "signature": "da5139ca", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bool$", "type_string": "function(address,uint256,bool)" - } + }, + "text": "functiontoShare(addresstoken,uint256amount,boolroundUp)externalviewreturns(uint256share);" }, { "id": 615, @@ -15871,13 +15975,14 @@ } ] }, - "signature_raw": "toAmount(address, uint256, bool)", - "signature": "d5282e5b", + "signature_raw": "toAmount(address,uint256,bool)", + "signature": "56623118", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_bool$", "type_string": "function(address,uint256,bool)" - } + }, + "text": "functiontoAmount(addresstoken,uint256share,boolroundUp)externalviewreturns(uint256amount);" }, { "id": 628, @@ -15955,7 +16060,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionregisterProtocol()external;" }, { "id": 633, @@ -16335,13 +16441,14 @@ } ] }, - "signature_raw": "deposit(address, address, address, uint256, uint256)", - "signature": "00d49fa3", + "signature_raw": "deposit(address,address,address,uint256,uint256)", + "signature": "02b9446c", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,address,uint256,uint256)" - } + }, + "text": "functiondeposit(addresstoken_,addressfrom,addressto,uint256amount,uint256share)externalpayablereturns(uint256amountOut,uint256shareOut);" }, { "id": 652, @@ -16721,13 +16828,14 @@ } ] }, - "signature_raw": "withdraw(address, address, address, uint256, uint256)", - "signature": "1d8c7043", + "signature_raw": "withdraw(address,address,address,uint256,uint256)", + "signature": "97da6d30", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$", "type_string": "function(address,address,address,uint256,uint256)" - } + }, + "text": "functionwithdraw(addresstoken_,addressfrom,addressto,uint256amount,uint256share)externalreturns(uint256amountOut,uint256shareOut);" }, { "id": 671, @@ -16976,13 +17084,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "transfer(address, address, address, uint256)", - "signature": "a377c7c8", + "signature_raw": "transfer(address,address,address,uint256)", + "signature": "f18d03cc", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,address,uint256)" - } + }, + "text": "functiontransfer(addresstoken,addressfrom,addressto,uint256share)external;" }, { "id": 684, @@ -17316,13 +17425,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "setMasterContractApproval(address, address, bool, uint8, bytes32, bytes32)", - "signature": "65410bf1", + "signature_raw": "setMasterContractApproval(address,address,bool,uint8,bytes32,bytes32)", + "signature": "c0a47c93", "scope": 589, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", "type_string": "function(address,address,bool,uint8,bytes32,bytes32)" - } + }, + "text": "functionsetMasterContractApproval(addressuser,addressmasterContract,boolapproved,uint8v,bytes32r,bytes32s)external;" } ], "linearized_base_contracts": [ @@ -18028,13 +18138,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "swap(uint16, uint256, uint256, addresspayable, uint256, uint256, , bytes, bytes)", - "signature": "6d97ec68", + "signature_raw": "swap(uint16,uint256,uint256,addresspayable,uint256,uint256,,bytes,bytes)", + "signature": "43facafa", "scope": 744, "type_description": { "type_identifier": "t_function_$_t_uint16$_t_uint256$_t_uint256$_t_address_payable$_t_uint256$_t_uint256$_t_struct$_IStargateRouter_lzTxObj_$746$_t_bytes$_t_bytes$", "type_string": "function(uint16,uint256,uint256,address,uint256,uint256,struct IStargateRouter.lzTxObj,bytes,bytes)" - } + }, + "text": "functionswap(uint16_dstChainId,uint256_srcPoolId,uint256_dstPoolId,addresspayable_refundAddress,uint256_amountLD,uint256_minAmountLD,lzTxObjmemory_lzTxParams,bytescalldata_to,bytescalldata_payload)externalpayable;" }, { "id": 778, @@ -18432,13 +18543,14 @@ } ] }, - "signature_raw": "quoteLayerZeroFee(uint16, uint8, bytes, bytes, )", - "signature": "d6af55d9", + "signature_raw": "quoteLayerZeroFee(uint16,uint8,bytes,bytes,)", + "signature": "944e08a5", "scope": 744, "type_description": { "type_identifier": "t_function_$_t_uint16$_t_uint8$_t_bytes$_t_bytes$_t_struct$_IStargateRouter_lzTxObj_$746$", "type_string": "function(uint16,uint8,bytes,bytes,struct IStargateRouter.lzTxObj)" - } + }, + "text": "functionquoteLayerZeroFee(uint16_dstChainId,uint8_functionType,bytescalldata_toAddress,bytescalldata_transferAndCallPayload,lzTxObjmemory_lzTxParams)externalviewreturns(uint256,uint256);" } ], "linearized_base_contracts": [ @@ -18640,7 +18752,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes2$", "type_string": "function(bytes2)" - } + }, + "text": "functionpartnerSwap(bytes2_partnerId)external;" } ], "linearized_base_contracts": [ @@ -19001,7 +19114,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_IBentoBoxMinimal_$546$", "type_string": "function(contract IBentoBoxMinimal)" - } + }, + "text": "functionbentoBox()externalviewreturns(IBentoBoxMinimal);" }, { "id": 909, @@ -19211,7 +19325,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_IStargateRouter_$700$", "type_string": "function(contract IStargateRouter)" - } + }, + "text": "functionstargateRouter()externalviewreturns(IStargateRouter);" }, { "id": 920, @@ -19421,7 +19536,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_IStargateWidget_$797$", "type_string": "function(contract IStargateWidget)" - } + }, + "text": "functionstargateWidget()externalviewreturns(IStargateWidget);" }, { "id": 931, @@ -19591,7 +19707,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionfactory()externalviewreturns(address);" }, { "id": 940, @@ -19759,7 +19876,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionpairCodeHash()externalviewreturns(bytes32);" } ], "linearized_base_contracts": [ @@ -20553,7 +20671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "right_expression": { "id": 1001, @@ -20573,7 +20692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1001, - "is_pure": false + "is_pure": false, + "text": "_bentoBox" }, "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", @@ -20583,7 +20703,8 @@ "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox=_bentoBox;" }, { "id": 1002, @@ -20626,7 +20747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 967, - "is_pure": false + "is_pure": false, + "text": "stargateRouter" }, "right_expression": { "id": 1005, @@ -20646,7 +20768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1005, - "is_pure": false + "is_pure": false, + "text": "_stargateRouter" }, "type_description": { "type_identifier": "t_contract$_IStargateRouter_$700", @@ -20656,7 +20779,8 @@ "type_description": { "type_identifier": "t_contract$_IStargateRouter_$700", "type_string": "contract IStargateRouter" - } + }, + "text": "stargateRouter=_stargateRouter;" }, { "id": 1006, @@ -20699,7 +20823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 971, - "is_pure": false + "is_pure": false, + "text": "stargateWidget" }, "right_expression": { "id": 1009, @@ -20719,7 +20844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1009, - "is_pure": false + "is_pure": false, + "text": "_stargateWidget" }, "type_description": { "type_identifier": "t_contract$_IStargateWidget_$797", @@ -20729,7 +20855,8 @@ "type_description": { "type_identifier": "t_contract$_IStargateWidget_$797", "type_string": "contract IStargateWidget" - } + }, + "text": "stargateWidget=_stargateWidget;" }, { "id": 1010, @@ -20772,7 +20899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 975, - "is_pure": false + "is_pure": false, + "text": "factory" }, "right_expression": { "id": 1013, @@ -20792,7 +20920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1013, - "is_pure": false + "is_pure": false, + "text": "_factory" }, "type_description": { "type_identifier": "t_address", @@ -20802,7 +20931,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "factory=_factory;" }, { "id": 1014, @@ -20845,7 +20975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 978, - "is_pure": false + "is_pure": false, + "text": "pairCodeHash" }, "right_expression": { "id": 1017, @@ -20865,7 +20996,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1017, - "is_pure": false + "is_pure": false, + "text": "_pairCodeHash" }, "type_description": { "type_identifier": "t_bytes32", @@ -20875,7 +21007,8 @@ "type_description": { "type_identifier": "t_bytes32", "type_string": "bytes32" - } + }, + "text": "pairCodeHash=_pairCodeHash;" } ] } @@ -21154,7 +21287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1056, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1057, @@ -21180,7 +21314,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "from" }, { "id": 1058, @@ -21210,7 +21345,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1059, @@ -21244,7 +21380,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" }, { "id": 1060, @@ -21282,7 +21419,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "share" } ], "expression": { @@ -21338,14 +21476,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "deposit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.deposit" }, "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", @@ -21656,13 +21796,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_depositToBentoBox(address, address, address, uint256, uint256, uint256)", - "signature": "18b5c23f", + "signature_raw": "_depositToBentoBox(address,address,address,uint256,uint256,uint256)", + "signature": "e8726e4b", "scope": 1032, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(address,address,address,uint256,uint256,uint256)" - } + }, + "text": "function_depositToBentoBox(addresstoken,addressfrom,addressto,uint256amount,uint256share,uint256value)internal{bentoBox.deposit{value:value}(token,from,to,amount,share);}" }, { "id": 1062, @@ -21728,7 +21869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1079, - "is_pure": false + "is_pure": false, + "text": "unwrapBento" }, "body": { "id": 1080, @@ -21797,7 +21939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1084, - "is_pure": false + "is_pure": false, + "text": "token" }, { "id": 1085, @@ -21823,7 +21966,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "from" }, { "id": 1086, @@ -21853,7 +21997,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 1087, @@ -21887,7 +22032,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" }, { "id": 1088, @@ -21925,7 +22071,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "share" } ], "expression": { @@ -21969,14 +22116,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "withdraw", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.withdraw" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$", @@ -22285,13 +22434,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transferFromBentoBox(address, address, address, uint256, uint256, bool)", - "signature": "3fc92c8a", + "signature_raw": "_transferFromBentoBox(address,address,address,uint256,uint256,bool)", + "signature": "6222712f", "scope": 1032, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$_t_uint256$_t_bool$", "type_string": "function(address,address,address,uint256,uint256,bool)" - } + }, + "text": "function_transferFromBentoBox(addresstoken,addressfrom,addressto,uint256amount,uint256share,boolunwrapBento)internal{if(unwrapBento){bentoBox.withdraw(token,from,to,amount,share);}else{if(amount\u003e0){share=bentoBox.toShare(token,amount,false);}bentoBox.transfer(token,from,to,share);}}" } ], "linearized_base_contracts": [ @@ -22907,7 +23057,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 1167, @@ -23076,7 +23227,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 1176, @@ -23282,13 +23434,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 1138, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)externalreturns(bool);" }, { "id": 1187, @@ -23495,13 +23648,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 1138, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 1198, @@ -23707,13 +23861,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 1138, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 1209, @@ -23963,13 +24118,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 1138, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -24216,7 +24372,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionswap(bytescalldatadata)externalreturns(uint256finalAmountOut);" }, { "id": 1282, @@ -24384,7 +24541,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionflashSwap(bytescalldatadata)externalreturns(uint256finalAmountOut);" }, { "id": 1291, @@ -24552,7 +24710,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionmint(bytescalldatadata)externalreturns(uint256liquidity);" }, { "id": 1300, @@ -24706,9 +24865,9 @@ "parent_index": 1306 } }, - "referenced_declaration": 4497, + "referenced_declaration": 4511, "type_description": { - "type_identifier": "t_struct$_Global_TokenAmount_$4497", + "type_identifier": "t_struct$_Global_TokenAmount_$4511", "type_string": "struct Global.TokenAmount" } }, @@ -24727,7 +24886,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionburn(bytescalldatadata)externalreturns(TokenAmount[]memorywithdrawnAmounts);" }, { "id": 1310, @@ -24895,7 +25055,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functionburnSingle(bytescalldatadata)externalreturns(uint256amountOut);" }, { "id": 1319, @@ -25063,7 +25224,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functionpoolIdentifier()externalpurereturns(bytes32);" }, { "id": 1328, @@ -25231,7 +25393,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiongetAssets()externalviewreturns(address[]memory);" }, { "id": 1337, @@ -25399,7 +25562,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functiongetAmountOut(bytescalldatadata)externalviewreturns(uint256finalAmountOut);" }, { "id": 1346, @@ -25567,7 +25731,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "functiongetAmountIn(bytescalldatadata)externalviewreturns(uint256finalAmountIn);" }, { "id": 1355, @@ -25951,20 +26116,439 @@ { "id": 1373, "base_contracts": [], - "license": "MIT", + "license": "GPL-3.0", "exported_symbols": [ { "id": 1373, + "name": "IStargateReceiver", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateReceiver.sol" + } + ], + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateReceiver.sol", + "name": "IStargateReceiver", + "node_type": 1, + "nodes": [ + { + "id": 1383, + "node_type": 10, + "src": { + "line": 643, + "column": 0, + "start": 22904, + "end": 22926, + "length": 23, + "parent_index": 1373 + }, + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "text": "pragma solidity 0.8.11;" + }, + { + "id": 1424, + "name": "IStargateReceiver", + "node_type": 35, + "src": { + "line": 645, + "column": 0, + "start": 22929, + "end": 23161, + "length": 233, + "parent_index": 1373 + }, + "name_location": { + "line": 645, + "column": 10, + "start": 22939, + "end": 22955, + "length": 17, + "parent_index": 1424 + }, + "abstract": false, + "kind": 38, + "fully_implemented": true, + "nodes": [ + { + "id": 1426, + "name": "sgReceive", + "node_type": 42, + "kind": 41, + "src": { + "line": 646, + "column": 4, + "start": 22963, + "end": 23159, + "length": 197, + "parent_index": 1424 + }, + "name_location": { + "line": 646, + "column": 13, + "start": 22972, + "end": 22980, + "length": 9, + "parent_index": 1426 + }, + "body": { + "id": 1441, + "node_type": 46, + "kind": 0, + "src": { + "line": 646, + "column": 4, + "start": 22963, + "end": 23159, + "length": 197, + "parent_index": 1426 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 1427, + "node_type": 43, + "src": { + "line": 647, + "column": 8, + "start": 22991, + "end": 23143, + "length": 153, + "parent_index": 1426 + }, + "parameters": [ + { + "id": 1428, + "node_type": 44, + "src": { + "line": 647, + "column": 8, + "start": 22991, + "end": 23005, + "length": 15, + "parent_index": 1427 + }, + "scope": 1426, + "name": "_chainId", + "type_name": { + "id": 1429, + "node_type": 30, + "src": { + "line": 647, + "column": 8, + "start": 22991, + "end": 22996, + "length": 6, + "parent_index": 1428 + }, + "name": "uint16", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint16", + "type_string": "uint16" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint16", + "type_string": "uint16" + } + }, + { + "id": 1430, + "node_type": 44, + "src": { + "line": 648, + "column": 8, + "start": 23016, + "end": 23039, + "length": 24, + "parent_index": 1427 + }, + "scope": 1426, + "name": "_srcAddress", + "type_name": { + "id": 1431, + "node_type": 30, + "src": { + "line": 648, + "column": 8, + "start": 23016, + "end": 23020, + "length": 5, + "parent_index": 1430 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + { + "id": 1432, + "node_type": 44, + "src": { + "line": 649, + "column": 8, + "start": 23050, + "end": 23063, + "length": 14, + "parent_index": 1427 + }, + "scope": 1426, + "name": "_nonce", + "type_name": { + "id": 1433, + "node_type": 30, + "src": { + "line": 649, + "column": 8, + "start": 23050, + "end": 23056, + "length": 7, + "parent_index": 1432 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 1434, + "node_type": 44, + "src": { + "line": 650, + "column": 8, + "start": 23074, + "end": 23087, + "length": 14, + "parent_index": 1427 + }, + "scope": 1426, + "name": "_token", + "type_name": { + "id": 1435, + "node_type": 30, + "src": { + "line": 650, + "column": 8, + "start": 23074, + "end": 23080, + "length": 7, + "parent_index": 1434 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 1436, + "node_type": 44, + "src": { + "line": 651, + "column": 8, + "start": 23098, + "end": 23113, + "length": 16, + "parent_index": 1427 + }, + "scope": 1426, + "name": "amountLD", + "type_name": { + "id": 1437, + "node_type": 30, + "src": { + "line": 651, + "column": 8, + "start": 23098, + "end": 23104, + "length": 7, + "parent_index": 1436 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 1438, + "node_type": 44, + "src": { + "line": 652, + "column": 8, + "start": 23124, + "end": 23143, + "length": 20, + "parent_index": 1427 + }, + "scope": 1426, + "name": "payload", + "type_name": { + "id": 1439, + "node_type": 30, + "src": { + "line": 652, + "column": 8, + "start": 23124, + "end": 23128, + "length": 5, + "parent_index": 1438 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint16", + "type_string": "uint16" + }, + { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + ] + }, + "return_parameters": { + "id": 1440, + "node_type": 43, + "src": { + "line": 646, + "column": 4, + "start": 22963, + "end": 23159, + "length": 197, + "parent_index": 1426 + }, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "sgReceive(uint16,bytes,uint256,address,uint256,bytes)", + "signature": "ab8236f3", + "scope": 1424, + "type_description": { + "type_identifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", + "type_string": "function(uint16,bytes,uint256,address,uint256,bytes)" + }, + "text": "functionsgReceive(uint16_chainId,bytesmemory_srcAddress,uint256_nonce,address_token,uint256amountLD,bytesmemorypayload)external;" + } + ], + "linearized_base_contracts": [ + 1424 + ], + "base_contracts": [], + "contract_dependencies": [] + } + ], + "src": { + "line": 645, + "column": 0, + "start": 22929, + "end": 23161, + "length": 233, + "parent_index": 272 + } + }, + { + "id": 1442, + "base_contracts": [], + "license": "MIT", + "exported_symbols": [ + { + "id": 1442, "name": "SafeERC20", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SafeERC20.sol" }, { - "id": 1221, + "id": 1373, "name": "IERC20", "absolute_path": "IERC20.sol" }, { - "id": 1221, + "id": 1373, "name": "Address", "absolute_path": "Address.sol" } @@ -25974,15 +26558,15 @@ "node_type": 1, "nodes": [ { - "id": 1383, + "id": 1453, "node_type": 10, "src": { - "line": 644, + "line": 659, "column": 0, - "start": 22967, - "end": 22989, + "start": 23264, + "end": 23286, "length": 23, - "parent_index": 1373 + "parent_index": 1442 }, "literals": [ "pragma", @@ -25998,92 +26582,92 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 1390, + "id": 1460, "node_type": 29, "src": { - "line": 646, + "line": 661, "column": 0, - "start": 22992, - "end": 23013, + "start": 23289, + "end": 23310, "length": 22, - "parent_index": 1373 + "parent_index": 1442 }, "absolute_path": "IERC20.sol", "file": "./IERC20.sol", - "scope": 1373, + "scope": 1442, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 1221 + "source_unit": 1373 }, { - "id": 1391, + "id": 1461, "node_type": 29, "src": { - "line": 647, + "line": 662, "column": 0, - "start": 23015, - "end": 23037, + "start": 23312, + "end": 23334, "length": 23, - "parent_index": 1373 + "parent_index": 1442 }, "absolute_path": "Address.sol", "file": "./Address.sol", - "scope": 1373, + "scope": 1442, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 1221 + "source_unit": 1373 }, { - "id": 1392, + "id": 1462, "name": "SafeERC20", "node_type": 35, "src": { - "line": 658, + "line": 673, "column": 0, - "start": 23498, - "end": 26767, + "start": 23795, + "end": 27064, "length": 3270, - "parent_index": 1373 + "parent_index": 1442 }, "name_location": { - "line": 658, + "line": 673, "column": 8, - "start": 23506, - "end": 23514, + "start": 23803, + "end": 23811, "length": 9, - "parent_index": 1392 + "parent_index": 1462 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 1394, + "id": 1464, "node_type": 51, "src": { - "line": 659, + "line": 674, "column": 0, - "start": 23522, - "end": 23547, + "start": 23819, + "end": 23844, "length": 26, - "parent_index": 1392 + "parent_index": 1462 }, "type_description": { "type_identifier": "t_address", "type_string": "address" }, "type_name": { - "id": 1396, + "id": 1466, "node_type": 30, "src": { - "line": 659, + "line": 674, "column": 22, - "start": 23540, - "end": 23546, + "start": 23837, + "end": 23843, "length": 7, - "parent_index": 1394 + "parent_index": 1464 }, "name": "address", "state_mutability": 4, @@ -26094,66 +26678,66 @@ } }, "library_name": { - "id": 1395, + "id": 1465, "node_type": 52, "src": { - "line": 659, + "line": 674, "column": 0, - "start": 23528, - "end": 23534, + "start": 23825, + "end": 23831, "length": 7, - "parent_index": 1394 + "parent_index": 1464 }, "name": "Address", "referenced_declaration": 273 } }, { - "id": 1398, + "id": 1468, "name": "safeTransfer", "node_type": 42, "kind": 41, "src": { - "line": 661, + "line": 676, "column": 4, - "start": 23554, - "end": 23758, + "start": 23851, + "end": 24055, "length": 205, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 661, + "line": 676, "column": 13, - "start": 23563, - "end": 23574, + "start": 23860, + "end": 23871, "length": 12, - "parent_index": 1398 + "parent_index": 1468 }, "body": { - "id": 1408, + "id": 1478, "node_type": 46, "kind": 0, "src": { - "line": 665, + "line": 680, "column": 15, - "start": 23656, - "end": 23758, + "start": 23953, + "end": 24055, "length": 103, - "parent_index": 1398 + "parent_index": 1468 }, "implemented": true, "statements": [ { - "id": 1409, + "id": 1479, "node_type": 24, "kind": 24, "src": { - "line": 666, + "line": 681, "column": 8, - "start": 23666, - "end": 23751, + "start": 23963, + "end": 24048, "length": 86, - "parent_index": 1408 + "parent_index": 1478 }, "argument_types": [ { @@ -26167,15 +26751,15 @@ ], "arguments": [ { - "id": 1411, + "id": 1481, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 28, - "start": 23686, - "end": 23690, + "start": 23983, + "end": 23987, "length": 5, - "parent_index": 1409 + "parent_index": 1479 }, "name": "token", "type_description": { @@ -26183,20 +26767,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1411, - "is_pure": false + "referenced_declaration": 1481, + "is_pure": false, + "text": "token" }, { - "id": 1412, + "id": 1482, "node_type": 24, "kind": 24, "src": { - "line": 666, + "line": 681, "column": 35, - "start": 23693, - "end": 23750, + "start": 23990, + "end": 24047, "length": 58, - "parent_index": 1409 + "parent_index": 1479 }, "argument_types": [ { @@ -26214,61 +26799,61 @@ ], "arguments": [ { - "id": 1415, + "id": 1485, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 666, + "line": 681, "column": 58, - "start": 23716, - "end": 23738, + "start": 24013, + "end": 24035, "length": 23, - "parent_index": 1412 + "parent_index": 1482 }, "member_location": { - "line": 666, + "line": 681, "column": 73, - "start": 23731, - "end": 23738, + "start": 24028, + "end": 24035, "length": 8, - "parent_index": 1415 + "parent_index": 1485 }, "expression": { - "id": 1416, + "id": 1486, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 666, + "line": 681, "column": 58, - "start": 23716, - "end": 23729, + "start": 24013, + "end": 24026, "length": 14, - "parent_index": 1415 + "parent_index": 1485 }, "member_location": { - "line": 666, + "line": 681, "column": 64, - "start": 23722, - "end": 23729, + "start": 24019, + "end": 24026, "length": 8, - "parent_index": 1416 + "parent_index": 1486 }, "expression": { - "id": 1417, + "id": 1487, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 58, - "start": 23716, - "end": 23720, + "start": 24013, + "end": 24017, "length": 5, - "parent_index": 1416 + "parent_index": 1486 }, "name": "token", "type_description": { @@ -26276,33 +26861,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1417, - "is_pure": false + "referenced_declaration": 1487, + "is_pure": false, + "text": "token" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.transfer" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.transfer.selector" }, { - "id": 1418, + "id": 1488, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 83, - "start": 23741, - "end": 23742, + "start": 24038, + "end": 24039, "length": 2, - "parent_index": 1412 + "parent_index": 1482 }, "name": "to", "type_description": { @@ -26310,25 +26898,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1418, + "referenced_declaration": 1488, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "to" }, { - "id": 1419, + "id": 1489, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 87, - "start": 23745, - "end": 23749, + "start": 24042, + "end": 24046, "length": 5, - "parent_index": 1412 + "parent_index": 1482 }, "name": "value", "type_description": { @@ -26336,7 +26925,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1419, + "referenced_declaration": 1489, "is_pure": false, "argument_types": [ { @@ -26347,42 +26936,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { - "id": 1413, + "id": 1483, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 666, + "line": 681, "column": 35, - "start": 23693, - "end": 23714, + "start": 23990, + "end": 24011, "length": 22, - "parent_index": 1412 + "parent_index": 1482 }, "member_location": { - "line": 666, + "line": 681, "column": 39, - "start": 23697, - "end": 23714, + "start": 23994, + "end": 24011, "length": 18, - "parent_index": 1413 + "parent_index": 1483 }, "expression": { - "id": 1414, + "id": 1484, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 35, - "start": 23693, - "end": 23695, + "start": 23990, + "end": 23992, "length": 3, - "parent_index": 1413 + "parent_index": 1483 }, "name": "abi", "type_description": { @@ -26391,14 +26981,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -26407,15 +26999,15 @@ } ], "expression": { - "id": 1410, + "id": 1480, "node_type": 16, "src": { - "line": 666, + "line": 681, "column": 8, - "start": 23666, - "end": 23684, + "start": 23963, + "end": 23981, "length": 19, - "parent_index": 1409 + "parent_index": 1479 }, "name": "_callOptionalReturn", "type_description": { @@ -26424,7 +27016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -26440,61 +27033,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1399, + "id": 1469, "node_type": 43, "src": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23639, + "start": 23882, + "end": 23936, "length": 55, - "parent_index": 1398 + "parent_index": 1468 }, "parameters": [ { - "id": 1400, + "id": 1470, "node_type": 44, "src": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23596, + "start": 23882, + "end": 23893, "length": 12, - "parent_index": 1399 + "parent_index": 1469 }, - "scope": 1398, + "scope": 1468, "name": "token", "type_name": { - "id": 1401, + "id": 1471, "node_type": 69, "src": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23590, + "start": 23882, + "end": 23887, "length": 6, - "parent_index": 1400 + "parent_index": 1470 }, "path_node": { - "id": 1402, + "id": 1472, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23590, + "start": 23882, + "end": 23887, "length": 6, - "parent_index": 1401 + "parent_index": 1471 }, "name_location": { - "line": 662, + "line": 677, "column": 8, - "start": 23585, - "end": 23590, + "start": 23882, + "end": 23887, "length": 6, - "parent_index": 1401 + "parent_index": 1471 } }, "referenced_declaration": 1089, @@ -26512,28 +27105,28 @@ } }, { - "id": 1403, + "id": 1473, "node_type": 44, "src": { - "line": 663, + "line": 678, "column": 8, - "start": 23607, - "end": 23616, + "start": 23904, + "end": 23913, "length": 10, - "parent_index": 1399 + "parent_index": 1469 }, - "scope": 1398, + "scope": 1468, "name": "to", "type_name": { - "id": 1404, + "id": 1474, "node_type": 30, "src": { - "line": 663, + "line": 678, "column": 8, - "start": 23607, - "end": 23613, + "start": 23904, + "end": 23910, "length": 7, - "parent_index": 1403 + "parent_index": 1473 }, "name": "address", "state_mutability": 4, @@ -26552,28 +27145,28 @@ } }, { - "id": 1405, + "id": 1475, "node_type": 44, "src": { - "line": 664, + "line": 679, "column": 8, - "start": 23627, - "end": 23639, + "start": 23924, + "end": 23936, "length": 13, - "parent_index": 1399 + "parent_index": 1469 }, - "scope": 1398, + "scope": 1468, "name": "value", "type_name": { - "id": 1406, + "id": 1476, "node_type": 30, "src": { - "line": 664, + "line": 679, "column": 8, - "start": 23627, - "end": 23633, + "start": 23924, + "end": 23930, "length": 7, - "parent_index": 1405 + "parent_index": 1475 }, "name": "uint256", "referenced_declaration": 0, @@ -26607,73 +27200,74 @@ ] }, "return_parameters": { - "id": 1407, + "id": 1477, "node_type": 43, "src": { - "line": 661, + "line": 676, "column": 4, - "start": 23554, - "end": 23758, + "start": 23851, + "end": 24055, "length": 205, - "parent_index": 1398 + "parent_index": 1468 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransfer(, address, uint256)", - "signature": "8d2f8c29", - "scope": 1392, + "signature_raw": "safeTransfer(,address,uint256)", + "signature": "d6e935fe", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeTransfer(IERC20token,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transfer.selector,to,value));}" }, { - "id": 1421, + "id": 1491, "name": "safeTransferFrom", "node_type": 42, "kind": 41, "src": { - "line": 669, + "line": 684, "column": 4, - "start": 23765, - "end": 24005, + "start": 24062, + "end": 24302, "length": 241, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 669, + "line": 684, "column": 13, - "start": 23774, - "end": 23789, + "start": 24071, + "end": 24086, "length": 16, - "parent_index": 1421 + "parent_index": 1491 }, "body": { - "id": 1433, + "id": 1503, "node_type": 46, "kind": 0, "src": { - "line": 674, + "line": 689, "column": 15, - "start": 23893, - "end": 24005, + "start": 24190, + "end": 24302, "length": 113, - "parent_index": 1421 + "parent_index": 1491 }, "implemented": true, "statements": [ { - "id": 1434, + "id": 1504, "node_type": 24, "kind": 24, "src": { - "line": 675, + "line": 690, "column": 8, - "start": 23903, - "end": 23998, + "start": 24200, + "end": 24295, "length": 96, - "parent_index": 1433 + "parent_index": 1503 }, "argument_types": [ { @@ -26687,15 +27281,15 @@ ], "arguments": [ { - "id": 1436, + "id": 1506, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 28, - "start": 23923, - "end": 23927, + "start": 24220, + "end": 24224, "length": 5, - "parent_index": 1434 + "parent_index": 1504 }, "name": "token", "type_description": { @@ -26703,20 +27297,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1436, - "is_pure": false + "referenced_declaration": 1506, + "is_pure": false, + "text": "token" }, { - "id": 1437, + "id": 1507, "node_type": 24, "kind": 24, "src": { - "line": 675, + "line": 690, "column": 35, - "start": 23930, - "end": 23997, + "start": 24227, + "end": 24294, "length": 68, - "parent_index": 1434 + "parent_index": 1504 }, "argument_types": [ { @@ -26738,61 +27333,61 @@ ], "arguments": [ { - "id": 1440, + "id": 1510, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 675, + "line": 690, "column": 58, - "start": 23953, - "end": 23979, + "start": 24250, + "end": 24276, "length": 27, - "parent_index": 1437 + "parent_index": 1507 }, "member_location": { - "line": 675, + "line": 690, "column": 77, - "start": 23972, - "end": 23979, + "start": 24269, + "end": 24276, "length": 8, - "parent_index": 1440 + "parent_index": 1510 }, "expression": { - "id": 1441, + "id": 1511, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 675, + "line": 690, "column": 58, - "start": 23953, - "end": 23970, + "start": 24250, + "end": 24267, "length": 18, - "parent_index": 1440 + "parent_index": 1510 }, "member_location": { - "line": 675, + "line": 690, "column": 64, - "start": 23959, - "end": 23970, + "start": 24256, + "end": 24267, "length": 12, - "parent_index": 1441 + "parent_index": 1511 }, "expression": { - "id": 1442, + "id": 1512, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 58, - "start": 23953, - "end": 23957, + "start": 24250, + "end": 24254, "length": 5, - "parent_index": 1441 + "parent_index": 1511 }, "name": "token", "type_description": { @@ -26800,33 +27395,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1442, - "is_pure": false + "referenced_declaration": 1512, + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom.selector" }, { - "id": 1443, + "id": 1513, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 87, - "start": 23982, - "end": 23985, + "start": 24279, + "end": 24282, "length": 4, - "parent_index": 1437 + "parent_index": 1507 }, "name": "from", "type_description": { @@ -26834,25 +27432,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1443, + "referenced_declaration": 1513, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "from" }, { - "id": 1444, + "id": 1514, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 93, - "start": 23988, - "end": 23989, + "start": 24285, + "end": 24286, "length": 2, - "parent_index": 1437 + "parent_index": 1507 }, "name": "to", "type_description": { @@ -26860,7 +27459,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1444, + "referenced_declaration": 1514, "is_pure": false, "argument_types": [ { @@ -26871,18 +27470,19 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { - "id": 1445, + "id": 1515, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 97, - "start": 23992, - "end": 23996, + "start": 24289, + "end": 24293, "length": 5, - "parent_index": 1437 + "parent_index": 1507 }, "name": "value", "type_description": { @@ -26890,7 +27490,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1445, + "referenced_declaration": 1515, "is_pure": false, "argument_types": [ { @@ -26905,42 +27505,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { - "id": 1438, + "id": 1508, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 675, + "line": 690, "column": 35, - "start": 23930, - "end": 23951, + "start": 24227, + "end": 24248, "length": 22, - "parent_index": 1437 + "parent_index": 1507 }, "member_location": { - "line": 675, + "line": 690, "column": 39, - "start": 23934, - "end": 23951, + "start": 24231, + "end": 24248, "length": 18, - "parent_index": 1438 + "parent_index": 1508 }, "expression": { - "id": 1439, + "id": 1509, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 35, - "start": 23930, - "end": 23932, + "start": 24227, + "end": 24229, "length": 3, - "parent_index": 1438 + "parent_index": 1508 }, "name": "abi", "type_description": { @@ -26949,14 +27550,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -26965,15 +27568,15 @@ } ], "expression": { - "id": 1435, + "id": 1505, "node_type": 16, "src": { - "line": 675, + "line": 690, "column": 8, - "start": 23903, - "end": 23921, + "start": 24200, + "end": 24218, "length": 19, - "parent_index": 1434 + "parent_index": 1504 }, "name": "_callOptionalReturn", "type_description": { @@ -26982,7 +27585,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -26998,61 +27602,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1422, + "id": 1492, "node_type": 43, "src": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23876, + "start": 24097, + "end": 24173, "length": 77, - "parent_index": 1421 + "parent_index": 1491 }, "parameters": [ { - "id": 1423, + "id": 1493, "node_type": 44, "src": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23811, + "start": 24097, + "end": 24108, "length": 12, - "parent_index": 1422 + "parent_index": 1492 }, - "scope": 1421, + "scope": 1491, "name": "token", "type_name": { - "id": 1424, + "id": 1494, "node_type": 69, "src": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23805, + "start": 24097, + "end": 24102, "length": 6, - "parent_index": 1423 + "parent_index": 1493 }, "path_node": { - "id": 1425, + "id": 1495, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23805, + "start": 24097, + "end": 24102, "length": 6, - "parent_index": 1424 + "parent_index": 1494 }, "name_location": { - "line": 670, + "line": 685, "column": 8, - "start": 23800, - "end": 23805, + "start": 24097, + "end": 24102, "length": 6, - "parent_index": 1424 + "parent_index": 1494 } }, "referenced_declaration": 1089, @@ -27070,28 +27674,28 @@ } }, { - "id": 1426, + "id": 1496, "node_type": 44, "src": { - "line": 671, + "line": 686, "column": 8, - "start": 23822, - "end": 23833, + "start": 24119, + "end": 24130, "length": 12, - "parent_index": 1422 + "parent_index": 1492 }, - "scope": 1421, + "scope": 1491, "name": "from", "type_name": { - "id": 1427, + "id": 1497, "node_type": 30, "src": { - "line": 671, + "line": 686, "column": 8, - "start": 23822, - "end": 23828, + "start": 24119, + "end": 24125, "length": 7, - "parent_index": 1426 + "parent_index": 1496 }, "name": "address", "state_mutability": 4, @@ -27110,28 +27714,28 @@ } }, { - "id": 1428, + "id": 1498, "node_type": 44, "src": { - "line": 672, + "line": 687, "column": 8, - "start": 23844, - "end": 23853, + "start": 24141, + "end": 24150, "length": 10, - "parent_index": 1422 + "parent_index": 1492 }, - "scope": 1421, + "scope": 1491, "name": "to", "type_name": { - "id": 1429, + "id": 1499, "node_type": 30, "src": { - "line": 672, + "line": 687, "column": 8, - "start": 23844, - "end": 23850, + "start": 24141, + "end": 24147, "length": 7, - "parent_index": 1428 + "parent_index": 1498 }, "name": "address", "state_mutability": 4, @@ -27150,28 +27754,28 @@ } }, { - "id": 1430, + "id": 1500, "node_type": 44, "src": { - "line": 673, + "line": 688, "column": 8, - "start": 23864, - "end": 23876, + "start": 24161, + "end": 24173, "length": 13, - "parent_index": 1422 + "parent_index": 1492 }, - "scope": 1421, + "scope": 1491, "name": "value", "type_name": { - "id": 1431, + "id": 1501, "node_type": 30, "src": { - "line": 673, + "line": 688, "column": 8, - "start": 23864, - "end": 23870, + "start": 24161, + "end": 24167, "length": 7, - "parent_index": 1430 + "parent_index": 1500 }, "name": "uint256", "referenced_declaration": 0, @@ -27209,73 +27813,74 @@ ] }, "return_parameters": { - "id": 1432, + "id": 1502, "node_type": 43, "src": { - "line": 669, + "line": 684, "column": 4, - "start": 23765, - "end": 24005, + "start": 24062, + "end": 24302, "length": 241, - "parent_index": 1421 + "parent_index": 1491 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeTransferFrom(, address, address, uint256)", - "signature": "d9098537", - "scope": 1392, + "signature_raw": "safeTransferFrom(,address,address,uint256)", + "signature": "d0e2343c", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,address,uint256)" - } + }, + "text": "functionsafeTransferFrom(IERC20token,addressfrom,addressto,uint256value)internal{_callOptionalReturn(token,abi.encodeWithSelector(token.transferFrom.selector,from,to,value));}" }, { - "id": 1447, + "id": 1517, "name": "safeApprove", "node_type": 42, "kind": 41, "src": { - "line": 685, + "line": 700, "column": 4, - "start": 24266, - "end": 24868, + "start": 24563, + "end": 25165, "length": 603, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 685, + "line": 700, "column": 13, - "start": 24275, - "end": 24285, + "start": 24572, + "end": 24582, "length": 11, - "parent_index": 1447 + "parent_index": 1517 }, "body": { - "id": 1457, + "id": 1527, "node_type": 46, "kind": 0, "src": { - "line": 689, + "line": 704, "column": 15, - "start": 24372, - "end": 24868, + "start": 24669, + "end": 25165, "length": 497, - "parent_index": 1447 + "parent_index": 1517 }, "implemented": true, "statements": [ { - "id": 1458, + "id": 1528, "node_type": 24, "kind": 24, "src": { - "line": 693, + "line": 708, "column": 8, - "start": 24599, - "end": 24761, + "start": 24896, + "end": 25058, "length": 163, - "parent_index": 1457 + "parent_index": 1527 }, "argument_types": [ { @@ -27289,57 +27894,57 @@ ], "arguments": [ { - "id": 1460, + "id": 1530, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 694, + "line": 709, "column": 12, - "start": 24620, - "end": 24681, + "start": 24917, + "end": 24978, "length": 62, - "parent_index": 1458 + "parent_index": 1528 }, "operator": 33, "left_expression": { - "id": 1461, + "id": 1531, "node_type": 60, "src": { - "line": 694, + "line": 709, "column": 12, - "start": 24620, - "end": 24631, + "start": 24917, + "end": 24928, "length": 12, - "parent_index": 1460 + "parent_index": 1530 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 1462, + "id": 1532, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 694, + "line": 709, "column": 13, - "start": 24621, - "end": 24630, + "start": 24918, + "end": 24927, "length": 10, - "parent_index": 1461 + "parent_index": 1531 }, "operator": 11, "left_expression": { - "id": 1463, + "id": 1533, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 13, - "start": 24621, - "end": 24625, + "start": 24918, + "end": 24922, "length": 5, - "parent_index": 1462 + "parent_index": 1532 }, "name": "value", "type_description": { @@ -27347,22 +27952,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1463, - "is_pure": false + "referenced_declaration": 1533, + "is_pure": false, + "text": "value" }, "right_expression": { - "id": 1464, + "id": 1534, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 694, + "line": 709, "column": 22, - "start": 24630, - "end": 24630, + "start": 24927, + "end": 24927, "length": 1, - "parent_index": 1462 + "parent_index": 1532 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -27370,7 +27976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -27384,44 +27991,44 @@ } }, "right_expression": { - "id": 1465, + "id": 1535, "node_type": 60, "src": { - "line": 694, + "line": 709, "column": 28, - "start": 24636, - "end": 24681, + "start": 24933, + "end": 24978, "length": 46, - "parent_index": 1460 + "parent_index": 1530 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 1466, + "id": 1536, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 694, + "line": 709, "column": 29, - "start": 24637, - "end": 24680, + "start": 24934, + "end": 24977, "length": 44, - "parent_index": 1465 + "parent_index": 1535 }, "operator": 11, "left_expression": { - "id": 1467, + "id": 1537, "node_type": 24, "kind": 24, "src": { - "line": 694, + "line": 709, "column": 29, - "start": 24637, - "end": 24675, + "start": 24934, + "end": 24972, "length": 39, - "parent_index": 1466 + "parent_index": 1536 }, "argument_types": [ { @@ -27435,67 +28042,68 @@ ], "arguments": [ { - "id": 1470, + "id": 1540, "node_type": 24, "kind": 24, "src": { - "line": 694, + "line": 709, "column": 45, - "start": 24653, - "end": 24665, + "start": 24950, + "end": 24962, "length": 13, - "parent_index": 1467 + "parent_index": 1537 }, "argument_types": [ { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" } ], "arguments": [ { - "id": 1473, + "id": 1543, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 53, - "start": 24661, - "end": 24664, + "start": 24958, + "end": 24961, "length": 4, - "parent_index": 1470 + "parent_index": 1540 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 1471, + "id": 1541, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 45, - "start": 24653, - "end": 24659, + "start": 24950, + "end": 24956, "length": 7, - "parent_index": 1470 + "parent_index": 1540 }, "name": "address", "type_name": { - "id": 1472, + "id": 1542, "node_type": 30, "src": { - "line": 694, + "line": 709, "column": 45, - "start": 24653, - "end": 24659, + "start": 24950, + "end": 24956, "length": 7, - "parent_index": 1471 + "parent_index": 1541 }, "name": "address", "state_mutability": 4, @@ -27517,7 +28125,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27525,15 +28134,15 @@ } }, { - "id": 1474, + "id": 1544, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 60, - "start": 24668, - "end": 24674, + "start": 24965, + "end": 24971, "length": 7, - "parent_index": 1467 + "parent_index": 1537 }, "name": "spender", "type_description": { @@ -27541,49 +28150,50 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1474, + "referenced_declaration": 1544, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { - "id": 1468, + "id": 1538, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 694, + "line": 709, "column": 29, - "start": 24637, - "end": 24651, + "start": 24934, + "end": 24948, "length": 15, - "parent_index": 1467 + "parent_index": 1537 }, "member_location": { - "line": 694, + "line": 709, "column": 35, - "start": 24643, - "end": 24651, + "start": 24940, + "end": 24948, "length": 9, - "parent_index": 1468 + "parent_index": 1538 }, "expression": { - "id": 1469, + "id": 1539, "node_type": 16, "src": { - "line": 694, + "line": 709, "column": 29, - "start": 24637, - "end": 24641, + "start": 24934, + "end": 24938, "length": 5, - "parent_index": 1468 + "parent_index": 1538 }, "name": "token", "type_description": { @@ -27591,15 +28201,17 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1469, - "is_pure": false + "referenced_declaration": 1539, + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -27607,18 +28219,18 @@ } }, "right_expression": { - "id": 1475, + "id": 1545, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 694, + "line": 709, "column": 72, - "start": 24680, - "end": 24680, + "start": 24977, + "end": 24977, "length": 1, - "parent_index": 1466 + "parent_index": 1536 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -27626,7 +28238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -27645,18 +28258,18 @@ } }, { - "id": 1476, + "id": 1546, "node_type": 17, "kind": 50, "value": "SafeERC20: approve from non-zero to non-zero allowance", "hex_value": "5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365", "src": { - "line": 695, + "line": 710, "column": 12, - "start": 24696, - "end": 24751, + "start": 24993, + "end": 25048, "length": 56, - "parent_index": 1458 + "parent_index": 1528 }, "type_description": { "type_identifier": "t_string_literal", @@ -27670,19 +28283,20 @@ "type_identifier": "t_tuple_$_t_bool$", "type_string": "tuple(bool)" } - ] + ], + "text": "\"SafeERC20: approve from non-zero to non-zero allowance\"" } ], "expression": { - "id": 1459, + "id": 1529, "node_type": 16, "src": { - "line": 693, + "line": 708, "column": 8, - "start": 24599, - "end": 24605, + "start": 24896, + "end": 24902, "length": 7, - "parent_index": 1458 + "parent_index": 1528 }, "name": "require", "type_description": { @@ -27691,7 +28305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -27699,16 +28314,16 @@ } }, { - "id": 1477, + "id": 1547, "node_type": 24, "kind": 24, "src": { - "line": 697, + "line": 712, "column": 8, - "start": 24772, - "end": 24861, + "start": 25069, + "end": 25158, "length": 90, - "parent_index": 1457 + "parent_index": 1527 }, "argument_types": [ { @@ -27722,15 +28337,15 @@ ], "arguments": [ { - "id": 1479, + "id": 1549, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 28, - "start": 24792, - "end": 24796, + "start": 25089, + "end": 25093, "length": 5, - "parent_index": 1477 + "parent_index": 1547 }, "name": "token", "type_description": { @@ -27738,20 +28353,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1479, - "is_pure": false + "referenced_declaration": 1549, + "is_pure": false, + "text": "token" }, { - "id": 1480, + "id": 1550, "node_type": 24, "kind": 24, "src": { - "line": 697, + "line": 712, "column": 35, - "start": 24799, - "end": 24860, + "start": 25096, + "end": 25157, "length": 62, - "parent_index": 1477 + "parent_index": 1547 }, "argument_types": [ { @@ -27769,61 +28385,61 @@ ], "arguments": [ { - "id": 1483, + "id": 1553, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 697, + "line": 712, "column": 58, - "start": 24822, - "end": 24843, + "start": 25119, + "end": 25140, "length": 22, - "parent_index": 1480 + "parent_index": 1550 }, "member_location": { - "line": 697, + "line": 712, "column": 72, - "start": 24836, - "end": 24843, + "start": 25133, + "end": 25140, "length": 8, - "parent_index": 1483 + "parent_index": 1553 }, "expression": { - "id": 1484, + "id": 1554, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 697, + "line": 712, "column": 58, - "start": 24822, - "end": 24834, + "start": 25119, + "end": 25131, "length": 13, - "parent_index": 1483 + "parent_index": 1553 }, "member_location": { - "line": 697, + "line": 712, "column": 64, - "start": 24828, - "end": 24834, + "start": 25125, + "end": 25131, "length": 7, - "parent_index": 1484 + "parent_index": 1554 }, "expression": { - "id": 1485, + "id": 1555, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 58, - "start": 24822, - "end": 24826, + "start": 25119, + "end": 25123, "length": 5, - "parent_index": 1484 + "parent_index": 1554 }, "name": "token", "type_description": { @@ -27831,33 +28447,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1485, - "is_pure": false + "referenced_declaration": 1555, + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { - "id": 1486, + "id": 1556, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 82, - "start": 24846, - "end": 24852, + "start": 25143, + "end": 25149, "length": 7, - "parent_index": 1480 + "parent_index": 1550 }, "name": "spender", "type_description": { @@ -27865,25 +28484,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1486, + "referenced_declaration": 1556, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { - "id": 1487, + "id": 1557, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 91, - "start": 24855, - "end": 24859, + "start": 25152, + "end": 25156, "length": 5, - "parent_index": 1480 + "parent_index": 1550 }, "name": "value", "type_description": { @@ -27891,7 +28511,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1487, + "referenced_declaration": 1557, "is_pure": false, "argument_types": [ { @@ -27902,42 +28522,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "value" } ], "expression": { - "id": 1481, + "id": 1551, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 697, + "line": 712, "column": 35, - "start": 24799, - "end": 24820, + "start": 25096, + "end": 25117, "length": 22, - "parent_index": 1480 + "parent_index": 1550 }, "member_location": { - "line": 697, + "line": 712, "column": 39, - "start": 24803, - "end": 24820, + "start": 25100, + "end": 25117, "length": 18, - "parent_index": 1481 + "parent_index": 1551 }, "expression": { - "id": 1482, + "id": 1552, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 35, - "start": 24799, - "end": 24801, + "start": 25096, + "end": 25098, "length": 3, - "parent_index": 1481 + "parent_index": 1551 }, "name": "abi", "type_description": { @@ -27946,14 +28567,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -27962,15 +28585,15 @@ } ], "expression": { - "id": 1478, + "id": 1548, "node_type": 16, "src": { - "line": 697, + "line": 712, "column": 8, - "start": 24772, - "end": 24790, + "start": 25069, + "end": 25087, "length": 19, - "parent_index": 1477 + "parent_index": 1547 }, "name": "_callOptionalReturn", "type_description": { @@ -27979,7 +28602,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -27995,61 +28619,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1448, + "id": 1518, "node_type": 43, "src": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24355, + "start": 24593, + "end": 24652, "length": 60, - "parent_index": 1447 + "parent_index": 1517 }, "parameters": [ { - "id": 1449, + "id": 1519, "node_type": 44, "src": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24307, + "start": 24593, + "end": 24604, "length": 12, - "parent_index": 1448 + "parent_index": 1518 }, - "scope": 1447, + "scope": 1517, "name": "token", "type_name": { - "id": 1450, + "id": 1520, "node_type": 69, "src": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24301, + "start": 24593, + "end": 24598, "length": 6, - "parent_index": 1449 + "parent_index": 1519 }, "path_node": { - "id": 1451, + "id": 1521, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24301, + "start": 24593, + "end": 24598, "length": 6, - "parent_index": 1450 + "parent_index": 1520 }, "name_location": { - "line": 686, + "line": 701, "column": 8, - "start": 24296, - "end": 24301, + "start": 24593, + "end": 24598, "length": 6, - "parent_index": 1450 + "parent_index": 1520 } }, "referenced_declaration": 1089, @@ -28067,28 +28691,28 @@ } }, { - "id": 1452, + "id": 1522, "node_type": 44, "src": { - "line": 687, + "line": 702, "column": 8, - "start": 24318, - "end": 24332, + "start": 24615, + "end": 24629, "length": 15, - "parent_index": 1448 + "parent_index": 1518 }, - "scope": 1447, + "scope": 1517, "name": "spender", "type_name": { - "id": 1453, + "id": 1523, "node_type": 30, "src": { - "line": 687, + "line": 702, "column": 8, - "start": 24318, - "end": 24324, + "start": 24615, + "end": 24621, "length": 7, - "parent_index": 1452 + "parent_index": 1522 }, "name": "address", "state_mutability": 4, @@ -28107,28 +28731,28 @@ } }, { - "id": 1454, + "id": 1524, "node_type": 44, "src": { - "line": 688, + "line": 703, "column": 8, - "start": 24343, - "end": 24355, + "start": 24640, + "end": 24652, "length": 13, - "parent_index": 1448 + "parent_index": 1518 }, - "scope": 1447, + "scope": 1517, "name": "value", "type_name": { - "id": 1455, + "id": 1525, "node_type": 30, "src": { - "line": 688, + "line": 703, "column": 8, - "start": 24343, - "end": 24349, + "start": 24640, + "end": 24646, "length": 7, - "parent_index": 1454 + "parent_index": 1524 }, "name": "uint256", "referenced_declaration": 0, @@ -28162,111 +28786,112 @@ ] }, "return_parameters": { - "id": 1456, + "id": 1526, "node_type": 43, "src": { - "line": 685, + "line": 700, "column": 4, - "start": 24266, - "end": 24868, + "start": 24563, + "end": 25165, "length": 603, - "parent_index": 1447 + "parent_index": 1517 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeApprove(, address, uint256)", - "signature": "11e8fd6d", - "scope": 1392, + "signature_raw": "safeApprove(,address,uint256)", + "signature": "75a98b8a", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeApprove(IERC20token,addressspender,uint256value)internal{require((value==0)||(token.allowance(address(this),spender)==0),\"SafeERC20: approve from non-zero to non-zero allowance\");_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,value));}" }, { - "id": 1489, + "id": 1559, "name": "safeIncreaseAllowance", "node_type": 42, "kind": 41, "src": { - "line": 700, + "line": 715, "column": 4, - "start": 24875, - "end": 25184, + "start": 25172, + "end": 25481, "length": 310, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 700, + "line": 715, "column": 13, - "start": 24884, - "end": 24904, + "start": 25181, + "end": 25201, "length": 21, - "parent_index": 1489 + "parent_index": 1559 }, "body": { - "id": 1499, + "id": 1569, "node_type": 46, "kind": 0, "src": { - "line": 704, + "line": 719, "column": 15, - "start": 24991, - "end": 25184, + "start": 25288, + "end": 25481, "length": 194, - "parent_index": 1489 + "parent_index": 1559 }, "implemented": true, "statements": [ { - "id": 1500, + "id": 1570, "node_type": 44, "src": { - "line": 705, + "line": 720, "column": 8, - "start": 25001, - "end": 25071, + "start": 25298, + "end": 25368, "length": 71, - "parent_index": 1499 + "parent_index": 1569 }, "assignments": [ - 1501 + 1571 ], "declarations": [ { - "id": 1501, + "id": 1571, "state_mutability": 1, "name": "newAllowance", "node_type": 44, - "scope": 1499, + "scope": 1569, "src": { - "line": 705, + "line": 720, "column": 8, - "start": 25001, - "end": 25020, + "start": 25298, + "end": 25317, "length": 20, - "parent_index": 1500 + "parent_index": 1570 }, "name_location": { - "line": 705, + "line": 720, "column": 16, - "start": 25009, - "end": 25020, + "start": 25306, + "end": 25317, "length": 12, - "parent_index": 1501 + "parent_index": 1571 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1502, + "id": 1572, "node_type": 30, "src": { - "line": 705, + "line": 720, "column": 8, - "start": 25001, - "end": 25007, + "start": 25298, + "end": 25304, "length": 7, - "parent_index": 1501 + "parent_index": 1571 }, "name": "uint256", "referenced_declaration": 0, @@ -28279,30 +28904,30 @@ } ], "initial_value": { - "id": 1503, + "id": 1573, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 705, + "line": 720, "column": 31, - "start": 25024, - "end": 25070, + "start": 25321, + "end": 25367, "length": 47, - "parent_index": 1500 + "parent_index": 1570 }, "operator": 1, "left_expression": { - "id": 1504, + "id": 1574, "node_type": 24, "kind": 24, "src": { - "line": 705, + "line": 720, "column": 31, - "start": 25024, - "end": 25062, + "start": 25321, + "end": 25359, "length": 39, - "parent_index": 1500 + "parent_index": 1570 }, "argument_types": [ { @@ -28316,67 +28941,68 @@ ], "arguments": [ { - "id": 1507, + "id": 1577, "node_type": 24, "kind": 24, "src": { - "line": 705, + "line": 720, "column": 47, - "start": 25040, - "end": 25052, + "start": 25337, + "end": 25349, "length": 13, - "parent_index": 1504 + "parent_index": 1574 }, "argument_types": [ { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" } ], "arguments": [ { - "id": 1510, + "id": 1580, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 55, - "start": 25048, - "end": 25051, + "start": 25345, + "end": 25348, "length": 4, - "parent_index": 1507 + "parent_index": 1577 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 1508, + "id": 1578, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 47, - "start": 25040, - "end": 25046, + "start": 25337, + "end": 25343, "length": 7, - "parent_index": 1507 + "parent_index": 1577 }, "name": "address", "type_name": { - "id": 1509, + "id": 1579, "node_type": 30, "src": { - "line": 705, + "line": 720, "column": 47, - "start": 25040, - "end": 25046, + "start": 25337, + "end": 25343, "length": 7, - "parent_index": 1508 + "parent_index": 1578 }, "name": "address", "state_mutability": 4, @@ -28398,7 +29024,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28406,15 +29033,15 @@ } }, { - "id": 1511, + "id": 1581, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 62, - "start": 25055, - "end": 25061, + "start": 25352, + "end": 25358, "length": 7, - "parent_index": 1504 + "parent_index": 1574 }, "name": "spender", "type_description": { @@ -28422,49 +29049,50 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1511, + "referenced_declaration": 1581, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { - "id": 1505, + "id": 1575, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 705, + "line": 720, "column": 31, - "start": 25024, - "end": 25038, + "start": 25321, + "end": 25335, "length": 15, - "parent_index": 1504 + "parent_index": 1574 }, "member_location": { - "line": 705, + "line": 720, "column": 37, - "start": 25030, - "end": 25038, + "start": 25327, + "end": 25335, "length": 9, - "parent_index": 1505 + "parent_index": 1575 }, "expression": { - "id": 1506, + "id": 1576, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 31, - "start": 25024, - "end": 25028, + "start": 25321, + "end": 25325, "length": 5, - "parent_index": 1505 + "parent_index": 1575 }, "name": "token", "type_description": { @@ -28472,15 +29100,17 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1506, - "is_pure": false + "referenced_declaration": 1576, + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -28488,15 +29118,15 @@ } }, "right_expression": { - "id": 1512, + "id": 1582, "node_type": 16, "src": { - "line": 705, + "line": 720, "column": 73, - "start": 25066, - "end": 25070, + "start": 25363, + "end": 25367, "length": 5, - "parent_index": 1503 + "parent_index": 1573 }, "name": "value", "type_description": { @@ -28504,8 +29134,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1512, - "is_pure": false + "referenced_declaration": 1582, + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -28514,16 +29145,16 @@ } }, { - "id": 1513, + "id": 1583, "node_type": 24, "kind": 24, "src": { - "line": 706, + "line": 721, "column": 8, - "start": 25081, - "end": 25177, + "start": 25378, + "end": 25474, "length": 97, - "parent_index": 1499 + "parent_index": 1569 }, "argument_types": [ { @@ -28537,15 +29168,15 @@ ], "arguments": [ { - "id": 1515, + "id": 1585, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 28, - "start": 25101, - "end": 25105, + "start": 25398, + "end": 25402, "length": 5, - "parent_index": 1513 + "parent_index": 1583 }, "name": "token", "type_description": { @@ -28553,20 +29184,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1515, - "is_pure": false + "referenced_declaration": 1585, + "is_pure": false, + "text": "token" }, { - "id": 1516, + "id": 1586, "node_type": 24, "kind": 24, "src": { - "line": 706, + "line": 721, "column": 35, - "start": 25108, - "end": 25176, + "start": 25405, + "end": 25473, "length": 69, - "parent_index": 1513 + "parent_index": 1583 }, "argument_types": [ { @@ -28584,61 +29216,61 @@ ], "arguments": [ { - "id": 1519, + "id": 1589, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 706, + "line": 721, "column": 58, - "start": 25131, - "end": 25152, + "start": 25428, + "end": 25449, "length": 22, - "parent_index": 1516 + "parent_index": 1586 }, "member_location": { - "line": 706, + "line": 721, "column": 72, - "start": 25145, - "end": 25152, + "start": 25442, + "end": 25449, "length": 8, - "parent_index": 1519 + "parent_index": 1589 }, "expression": { - "id": 1520, + "id": 1590, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 706, + "line": 721, "column": 58, - "start": 25131, - "end": 25143, + "start": 25428, + "end": 25440, "length": 13, - "parent_index": 1519 + "parent_index": 1589 }, "member_location": { - "line": 706, + "line": 721, "column": 64, - "start": 25137, - "end": 25143, + "start": 25434, + "end": 25440, "length": 7, - "parent_index": 1520 + "parent_index": 1590 }, "expression": { - "id": 1521, + "id": 1591, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 58, - "start": 25131, - "end": 25135, + "start": 25428, + "end": 25432, "length": 5, - "parent_index": 1520 + "parent_index": 1590 }, "name": "token", "type_description": { @@ -28646,33 +29278,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1521, - "is_pure": false + "referenced_declaration": 1591, + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { - "id": 1522, + "id": 1592, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 82, - "start": 25155, - "end": 25161, + "start": 25452, + "end": 25458, "length": 7, - "parent_index": 1516 + "parent_index": 1586 }, "name": "spender", "type_description": { @@ -28680,25 +29315,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1522, + "referenced_declaration": 1592, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { - "id": 1523, + "id": 1593, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 91, - "start": 25164, - "end": 25175, + "start": 25461, + "end": 25472, "length": 12, - "parent_index": 1516 + "parent_index": 1586 }, "name": "newAllowance", "type_description": { @@ -28706,7 +29342,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1500, + "referenced_declaration": 1570, "is_pure": false, "argument_types": [ { @@ -28717,42 +29353,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { - "id": 1517, + "id": 1587, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 706, + "line": 721, "column": 35, - "start": 25108, - "end": 25129, + "start": 25405, + "end": 25426, "length": 22, - "parent_index": 1516 + "parent_index": 1586 }, "member_location": { - "line": 706, + "line": 721, "column": 39, - "start": 25112, - "end": 25129, + "start": 25409, + "end": 25426, "length": 18, - "parent_index": 1517 + "parent_index": 1587 }, "expression": { - "id": 1518, + "id": 1588, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 35, - "start": 25108, - "end": 25110, + "start": 25405, + "end": 25407, "length": 3, - "parent_index": 1517 + "parent_index": 1587 }, "name": "abi", "type_description": { @@ -28761,14 +29398,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -28777,15 +29416,15 @@ } ], "expression": { - "id": 1514, + "id": 1584, "node_type": 16, "src": { - "line": 706, + "line": 721, "column": 8, - "start": 25081, - "end": 25099, + "start": 25378, + "end": 25396, "length": 19, - "parent_index": 1513 + "parent_index": 1583 }, "name": "_callOptionalReturn", "type_description": { @@ -28794,7 +29433,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -28810,61 +29450,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1490, + "id": 1560, "node_type": 43, "src": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24974, + "start": 25212, + "end": 25271, "length": 60, - "parent_index": 1489 + "parent_index": 1559 }, "parameters": [ { - "id": 1491, + "id": 1561, "node_type": 44, "src": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24926, + "start": 25212, + "end": 25223, "length": 12, - "parent_index": 1490 + "parent_index": 1560 }, - "scope": 1489, + "scope": 1559, "name": "token", "type_name": { - "id": 1492, + "id": 1562, "node_type": 69, "src": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24920, + "start": 25212, + "end": 25217, "length": 6, - "parent_index": 1491 + "parent_index": 1561 }, "path_node": { - "id": 1493, + "id": 1563, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24920, + "start": 25212, + "end": 25217, "length": 6, - "parent_index": 1492 + "parent_index": 1562 }, "name_location": { - "line": 701, + "line": 716, "column": 8, - "start": 24915, - "end": 24920, + "start": 25212, + "end": 25217, "length": 6, - "parent_index": 1492 + "parent_index": 1562 } }, "referenced_declaration": 1089, @@ -28882,28 +29522,28 @@ } }, { - "id": 1494, + "id": 1564, "node_type": 44, "src": { - "line": 702, + "line": 717, "column": 8, - "start": 24937, - "end": 24951, + "start": 25234, + "end": 25248, "length": 15, - "parent_index": 1490 + "parent_index": 1560 }, - "scope": 1489, + "scope": 1559, "name": "spender", "type_name": { - "id": 1495, + "id": 1565, "node_type": 30, "src": { - "line": 702, + "line": 717, "column": 8, - "start": 24937, - "end": 24943, + "start": 25234, + "end": 25240, "length": 7, - "parent_index": 1494 + "parent_index": 1564 }, "name": "address", "state_mutability": 4, @@ -28922,28 +29562,28 @@ } }, { - "id": 1496, + "id": 1566, "node_type": 44, "src": { - "line": 703, + "line": 718, "column": 8, - "start": 24962, - "end": 24974, + "start": 25259, + "end": 25271, "length": 13, - "parent_index": 1490 + "parent_index": 1560 }, - "scope": 1489, + "scope": 1559, "name": "value", "type_name": { - "id": 1497, + "id": 1567, "node_type": 30, "src": { - "line": 703, + "line": 718, "column": 8, - "start": 24962, - "end": 24968, + "start": 25259, + "end": 25265, "length": 7, - "parent_index": 1496 + "parent_index": 1566 }, "name": "uint256", "referenced_declaration": 0, @@ -28977,125 +29617,126 @@ ] }, "return_parameters": { - "id": 1498, + "id": 1568, "node_type": 43, "src": { - "line": 700, + "line": 715, "column": 4, - "start": 24875, - "end": 25184, + "start": 25172, + "end": 25481, "length": 310, - "parent_index": 1489 + "parent_index": 1559 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeIncreaseAllowance(, address, uint256)", - "signature": "d5ee8724", - "scope": 1392, + "signature_raw": "safeIncreaseAllowance(,address,uint256)", + "signature": "8d3df938", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeIncreaseAllowance(IERC20token,addressspender,uint256value)internal{uint256newAllowance=token.allowance(address(this),spender)+value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}" }, { - "id": 1525, + "id": 1595, "name": "safeDecreaseAllowance", "node_type": 42, "kind": 41, "src": { - "line": 709, + "line": 724, "column": 4, - "start": 25191, - "end": 25676, + "start": 25488, + "end": 25973, "length": 486, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 709, + "line": 724, "column": 13, - "start": 25200, - "end": 25220, + "start": 25497, + "end": 25517, "length": 21, - "parent_index": 1525 + "parent_index": 1595 }, "body": { - "id": 1535, + "id": 1605, "node_type": 46, "kind": 0, "src": { - "line": 713, + "line": 728, "column": 15, - "start": 25307, - "end": 25676, + "start": 25604, + "end": 25973, "length": 370, - "parent_index": 1525 + "parent_index": 1595 }, "implemented": true, "statements": [ { - "id": 1536, + "id": 1606, "node_type": 59, "kind": 0, "src": { - "line": 714, + "line": 729, "column": 8, - "start": 25317, - "end": 25670, + "start": 25614, + "end": 25967, "length": 354, - "parent_index": 1392 + "parent_index": 1462 }, "implemented": false, "statements": [ { - "id": 1537, + "id": 1607, "node_type": 44, "src": { - "line": 715, + "line": 730, "column": 12, - "start": 25341, - "end": 25403, + "start": 25638, + "end": 25700, "length": 63, - "parent_index": 1536 + "parent_index": 1606 }, "assignments": [ - 1538 + 1608 ], "declarations": [ { - "id": 1538, + "id": 1608, "state_mutability": 1, "name": "oldAllowance", "node_type": 44, - "scope": 1536, + "scope": 1606, "src": { - "line": 715, + "line": 730, "column": 12, - "start": 25341, - "end": 25360, + "start": 25638, + "end": 25657, "length": 20, - "parent_index": 1537 + "parent_index": 1607 }, "name_location": { - "line": 715, + "line": 730, "column": 20, - "start": 25349, - "end": 25360, + "start": 25646, + "end": 25657, "length": 12, - "parent_index": 1538 + "parent_index": 1608 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1539, + "id": 1609, "node_type": 30, "src": { - "line": 715, + "line": 730, "column": 12, - "start": 25341, - "end": 25347, + "start": 25638, + "end": 25644, "length": 7, - "parent_index": 1538 + "parent_index": 1608 }, "name": "uint256", "referenced_declaration": 0, @@ -29108,16 +29749,16 @@ } ], "initial_value": { - "id": 1540, + "id": 1610, "node_type": 24, "kind": 24, "src": { - "line": 715, + "line": 730, "column": 35, - "start": 25364, - "end": 25402, + "start": 25661, + "end": 25699, "length": 39, - "parent_index": 1537 + "parent_index": 1607 }, "argument_types": [ { @@ -29131,67 +29772,68 @@ ], "arguments": [ { - "id": 1543, + "id": 1613, "node_type": 24, "kind": 24, "src": { - "line": 715, + "line": 730, "column": 51, - "start": 25380, - "end": 25392, + "start": 25677, + "end": 25689, "length": 13, - "parent_index": 1540 + "parent_index": 1610 }, "argument_types": [ { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" } ], "arguments": [ { - "id": 1546, + "id": 1616, "node_type": 16, "src": { - "line": 715, + "line": 730, "column": 59, - "start": 25388, - "end": 25391, + "start": 25685, + "end": 25688, "length": 4, - "parent_index": 1543 + "parent_index": 1613 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_SafeERC20_$1373", + "type_identifier": "t_contract$_SafeERC20_$1442", "type_string": "contract SafeERC20" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 1544, + "id": 1614, "node_type": 16, "src": { - "line": 715, + "line": 730, "column": 51, - "start": 25380, - "end": 25386, + "start": 25677, + "end": 25683, "length": 7, - "parent_index": 1543 + "parent_index": 1613 }, "name": "address", "type_name": { - "id": 1545, + "id": 1615, "node_type": 30, "src": { - "line": 715, + "line": 730, "column": 51, - "start": 25380, - "end": 25386, + "start": 25677, + "end": 25683, "length": 7, - "parent_index": 1544 + "parent_index": 1614 }, "name": "address", "state_mutability": 4, @@ -29213,7 +29855,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -29221,15 +29864,15 @@ } }, { - "id": 1547, + "id": 1617, "node_type": 16, "src": { - "line": 715, + "line": 730, "column": 66, - "start": 25395, - "end": 25401, + "start": 25692, + "end": 25698, "length": 7, - "parent_index": 1540 + "parent_index": 1610 }, "name": "spender", "type_description": { @@ -29237,49 +29880,50 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1547, + "referenced_declaration": 1617, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "spender" } ], "expression": { - "id": 1541, + "id": 1611, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 715, + "line": 730, "column": 35, - "start": 25364, - "end": 25378, + "start": 25661, + "end": 25675, "length": 15, - "parent_index": 1540 + "parent_index": 1610 }, "member_location": { - "line": 715, + "line": 730, "column": 41, - "start": 25370, - "end": 25378, + "start": 25667, + "end": 25675, "length": 9, - "parent_index": 1541 + "parent_index": 1611 }, "expression": { - "id": 1542, + "id": 1612, "node_type": 16, "src": { - "line": 715, + "line": 730, "column": 35, - "start": 25364, - "end": 25368, + "start": 25661, + "end": 25665, "length": 5, - "parent_index": 1541 + "parent_index": 1611 }, "name": "token", "type_description": { @@ -29287,15 +29931,17 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1542, - "is_pure": false + "referenced_declaration": 1612, + "is_pure": false, + "text": "token" }, "member_name": "allowance", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.allowance" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -29304,16 +29950,16 @@ } }, { - "id": 1548, + "id": 1618, "node_type": 24, "kind": 24, "src": { - "line": 716, + "line": 731, "column": 12, - "start": 25417, - "end": 25491, + "start": 25714, + "end": 25788, "length": 75, - "parent_index": 1536 + "parent_index": 1606 }, "argument_types": [ { @@ -29327,29 +29973,29 @@ ], "arguments": [ { - "id": 1550, + "id": 1620, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 716, + "line": 731, "column": 20, - "start": 25425, - "end": 25445, + "start": 25722, + "end": 25742, "length": 21, - "parent_index": 1548 + "parent_index": 1618 }, "operator": 8, "left_expression": { - "id": 1551, + "id": 1621, "node_type": 16, "src": { - "line": 716, + "line": 731, "column": 20, - "start": 25425, - "end": 25436, + "start": 25722, + "end": 25733, "length": 12, - "parent_index": 1550 + "parent_index": 1620 }, "name": "oldAllowance", "type_description": { @@ -29357,19 +30003,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1537, - "is_pure": false + "referenced_declaration": 1607, + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { - "id": 1552, + "id": 1622, "node_type": 16, "src": { - "line": 716, + "line": 731, "column": 36, - "start": 25441, - "end": 25445, + "start": 25738, + "end": 25742, "length": 5, - "parent_index": 1550 + "parent_index": 1620 }, "name": "value", "type_description": { @@ -29377,8 +30024,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1552, - "is_pure": false + "referenced_declaration": 1622, + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -29386,18 +30034,18 @@ } }, { - "id": 1553, + "id": 1623, "node_type": 17, "kind": 50, "value": "SafeERC20: decreased allowance below zero", "hex_value": "5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", "src": { - "line": 716, + "line": 731, "column": 43, - "start": 25448, - "end": 25490, + "start": 25745, + "end": 25787, "length": 43, - "parent_index": 1548 + "parent_index": 1618 }, "type_description": { "type_identifier": "t_string_literal", @@ -29411,19 +30059,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"SafeERC20: decreased allowance below zero\"" } ], "expression": { - "id": 1549, + "id": 1619, "node_type": 16, "src": { - "line": 716, + "line": 731, "column": 12, - "start": 25417, - "end": 25423, + "start": 25714, + "end": 25720, "length": 7, - "parent_index": 1548 + "parent_index": 1618 }, "name": "require", "type_description": { @@ -29432,7 +30081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -29440,54 +30090,54 @@ } }, { - "id": 1554, + "id": 1624, "node_type": 44, "src": { - "line": 717, + "line": 732, "column": 12, - "start": 25506, - "end": 25549, + "start": 25803, + "end": 25846, "length": 44, - "parent_index": 1536 + "parent_index": 1606 }, "assignments": [ - 1555 + 1625 ], "declarations": [ { - "id": 1555, + "id": 1625, "state_mutability": 1, "name": "newAllowance", "node_type": 44, - "scope": 1536, + "scope": 1606, "src": { - "line": 717, + "line": 732, "column": 12, - "start": 25506, - "end": 25525, + "start": 25803, + "end": 25822, "length": 20, - "parent_index": 1554 + "parent_index": 1624 }, "name_location": { - "line": 717, + "line": 732, "column": 20, - "start": 25514, - "end": 25525, + "start": 25811, + "end": 25822, "length": 12, - "parent_index": 1555 + "parent_index": 1625 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 1556, + "id": 1626, "node_type": 30, "src": { - "line": 717, + "line": 732, "column": 12, - "start": 25506, - "end": 25512, + "start": 25803, + "end": 25809, "length": 7, - "parent_index": 1555 + "parent_index": 1625 }, "name": "uint256", "referenced_declaration": 0, @@ -29500,29 +30150,29 @@ } ], "initial_value": { - "id": 1557, + "id": 1627, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 717, + "line": 732, "column": 35, - "start": 25529, - "end": 25548, + "start": 25826, + "end": 25845, "length": 20, - "parent_index": 1554 + "parent_index": 1624 }, "operator": 2, "left_expression": { - "id": 1558, + "id": 1628, "node_type": 16, "src": { - "line": 717, + "line": 732, "column": 35, - "start": 25529, - "end": 25540, + "start": 25826, + "end": 25837, "length": 12, - "parent_index": 1557 + "parent_index": 1627 }, "name": "oldAllowance", "type_description": { @@ -29530,19 +30180,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1537, - "is_pure": false + "referenced_declaration": 1607, + "is_pure": false, + "text": "oldAllowance" }, "right_expression": { - "id": 1559, + "id": 1629, "node_type": 16, "src": { - "line": 717, + "line": 732, "column": 50, - "start": 25544, - "end": 25548, + "start": 25841, + "end": 25845, "length": 5, - "parent_index": 1557 + "parent_index": 1627 }, "name": "value", "type_description": { @@ -29550,8 +30201,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1559, - "is_pure": false + "referenced_declaration": 1629, + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_uint256", @@ -29560,16 +30212,16 @@ } }, { - "id": 1560, + "id": 1630, "node_type": 24, "kind": 24, "src": { - "line": 718, + "line": 733, "column": 12, - "start": 25563, - "end": 25659, + "start": 25860, + "end": 25956, "length": 97, - "parent_index": 1536 + "parent_index": 1606 }, "argument_types": [ { @@ -29583,15 +30235,15 @@ ], "arguments": [ { - "id": 1562, + "id": 1632, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 32, - "start": 25583, - "end": 25587, + "start": 25880, + "end": 25884, "length": 5, - "parent_index": 1560 + "parent_index": 1630 }, "name": "token", "type_description": { @@ -29599,20 +30251,21 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1562, - "is_pure": false + "referenced_declaration": 1632, + "is_pure": false, + "text": "token" }, { - "id": 1563, + "id": 1633, "node_type": 24, "kind": 24, "src": { - "line": 718, + "line": 733, "column": 39, - "start": 25590, - "end": 25658, + "start": 25887, + "end": 25955, "length": 69, - "parent_index": 1560 + "parent_index": 1630 }, "argument_types": [ { @@ -29630,61 +30283,61 @@ ], "arguments": [ { - "id": 1566, + "id": 1636, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 718, + "line": 733, "column": 62, - "start": 25613, - "end": 25634, + "start": 25910, + "end": 25931, "length": 22, - "parent_index": 1563 + "parent_index": 1633 }, "member_location": { - "line": 718, + "line": 733, "column": 76, - "start": 25627, - "end": 25634, + "start": 25924, + "end": 25931, "length": 8, - "parent_index": 1566 + "parent_index": 1636 }, "expression": { - "id": 1567, + "id": 1637, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 718, + "line": 733, "column": 62, - "start": 25613, - "end": 25625, + "start": 25910, + "end": 25922, "length": 13, - "parent_index": 1566 + "parent_index": 1636 }, "member_location": { - "line": 718, + "line": 733, "column": 68, - "start": 25619, - "end": 25625, + "start": 25916, + "end": 25922, "length": 7, - "parent_index": 1567 + "parent_index": 1637 }, "expression": { - "id": 1568, + "id": 1638, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 62, - "start": 25613, - "end": 25617, + "start": 25910, + "end": 25914, "length": 5, - "parent_index": 1567 + "parent_index": 1637 }, "name": "token", "type_description": { @@ -29692,33 +30345,36 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1568, - "is_pure": false + "referenced_declaration": 1638, + "is_pure": false, + "text": "token" }, "member_name": "approve", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve" }, "member_name": "selector", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.approve.selector" }, { - "id": 1569, + "id": 1639, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 86, - "start": 25637, - "end": 25643, + "start": 25934, + "end": 25940, "length": 7, - "parent_index": 1563 + "parent_index": 1633 }, "name": "spender", "type_description": { @@ -29726,25 +30382,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1569, + "referenced_declaration": 1639, "is_pure": false, "argument_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - ] + ], + "text": "spender" }, { - "id": 1570, + "id": 1640, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 95, - "start": 25646, - "end": 25657, + "start": 25943, + "end": 25954, "length": 12, - "parent_index": 1563 + "parent_index": 1633 }, "name": "newAllowance", "type_description": { @@ -29752,7 +30409,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1554, + "referenced_declaration": 1624, "is_pure": false, "argument_types": [ { @@ -29763,42 +30420,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "newAllowance" } ], "expression": { - "id": 1564, + "id": 1634, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 718, + "line": 733, "column": 39, - "start": 25590, - "end": 25611, + "start": 25887, + "end": 25908, "length": 22, - "parent_index": 1563 + "parent_index": 1633 }, "member_location": { - "line": 718, + "line": 733, "column": 43, - "start": 25594, - "end": 25611, + "start": 25891, + "end": 25908, "length": 18, - "parent_index": 1564 + "parent_index": 1634 }, "expression": { - "id": 1565, + "id": 1635, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 39, - "start": 25590, - "end": 25592, + "start": 25887, + "end": 25889, "length": 3, - "parent_index": 1564 + "parent_index": 1634 }, "name": "abi", "type_description": { @@ -29807,14 +30465,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSelector", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSelector" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -29823,15 +30483,15 @@ } ], "expression": { - "id": 1561, + "id": 1631, "node_type": 16, "src": { - "line": 718, + "line": 733, "column": 12, - "start": 25563, - "end": 25581, + "start": 25860, + "end": 25878, "length": 19, - "parent_index": 1560 + "parent_index": 1630 }, "name": "_callOptionalReturn", "type_description": { @@ -29840,7 +30500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_callOptionalReturn" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -29858,61 +30519,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1526, + "id": 1596, "node_type": 43, "src": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25290, + "start": 25528, + "end": 25587, "length": 60, - "parent_index": 1525 + "parent_index": 1595 }, "parameters": [ { - "id": 1527, + "id": 1597, "node_type": 44, "src": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25242, + "start": 25528, + "end": 25539, "length": 12, - "parent_index": 1526 + "parent_index": 1596 }, - "scope": 1525, + "scope": 1595, "name": "token", "type_name": { - "id": 1528, + "id": 1598, "node_type": 69, "src": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25236, + "start": 25528, + "end": 25533, "length": 6, - "parent_index": 1527 + "parent_index": 1597 }, "path_node": { - "id": 1529, + "id": 1599, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25236, + "start": 25528, + "end": 25533, "length": 6, - "parent_index": 1528 + "parent_index": 1598 }, "name_location": { - "line": 710, + "line": 725, "column": 8, - "start": 25231, - "end": 25236, + "start": 25528, + "end": 25533, "length": 6, - "parent_index": 1528 + "parent_index": 1598 } }, "referenced_declaration": 1089, @@ -29930,28 +30591,28 @@ } }, { - "id": 1530, + "id": 1600, "node_type": 44, "src": { - "line": 711, + "line": 726, "column": 8, - "start": 25253, - "end": 25267, + "start": 25550, + "end": 25564, "length": 15, - "parent_index": 1526 + "parent_index": 1596 }, - "scope": 1525, + "scope": 1595, "name": "spender", "type_name": { - "id": 1531, + "id": 1601, "node_type": 30, "src": { - "line": 711, + "line": 726, "column": 8, - "start": 25253, - "end": 25259, + "start": 25550, + "end": 25556, "length": 7, - "parent_index": 1530 + "parent_index": 1600 }, "name": "address", "state_mutability": 4, @@ -29970,28 +30631,28 @@ } }, { - "id": 1532, + "id": 1602, "node_type": 44, "src": { - "line": 712, + "line": 727, "column": 8, - "start": 25278, - "end": 25290, + "start": 25575, + "end": 25587, "length": 13, - "parent_index": 1526 + "parent_index": 1596 }, - "scope": 1525, + "scope": 1595, "name": "value", "type_name": { - "id": 1533, + "id": 1603, "node_type": 30, "src": { - "line": 712, + "line": 727, "column": 8, - "start": 25278, - "end": 25284, + "start": 25575, + "end": 25581, "length": 7, - "parent_index": 1532 + "parent_index": 1602 }, "name": "uint256", "referenced_declaration": 0, @@ -30025,111 +30686,112 @@ ] }, "return_parameters": { - "id": 1534, + "id": 1604, "node_type": 43, "src": { - "line": 709, + "line": 724, "column": 4, - "start": 25191, - "end": 25676, + "start": 25488, + "end": 25973, "length": 486, - "parent_index": 1525 + "parent_index": 1595 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "safeDecreaseAllowance(, address, uint256)", - "signature": "dd6a69b1", - "scope": 1392, + "signature_raw": "safeDecreaseAllowance(,address,uint256)", + "signature": "d9cb6425", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "functionsafeDecreaseAllowance(IERC20token,addressspender,uint256value)internal{unchecked{uint256oldAllowance=token.allowance(address(this),spender);require(oldAllowance\u003e=value,\"SafeERC20: decreased allowance below zero\");uint256newAllowance=oldAllowance-value;_callOptionalReturn(token,abi.encodeWithSelector(token.approve.selector,spender,newAllowance));}}" }, { - "id": 1572, + "id": 1642, "name": "_callOptionalReturn", "node_type": 42, "kind": 41, "src": { - "line": 728, + "line": 743, "column": 4, - "start": 26060, - "end": 26765, + "start": 26357, + "end": 27062, "length": 706, - "parent_index": 1392 + "parent_index": 1462 }, "name_location": { - "line": 728, + "line": 743, "column": 13, - "start": 26069, - "end": 26087, + "start": 26366, + "end": 26384, "length": 19, - "parent_index": 1572 + "parent_index": 1642 }, "body": { - "id": 1580, + "id": 1650, "node_type": 46, "kind": 0, "src": { - "line": 728, + "line": 743, "column": 74, - "start": 26130, - "end": 26765, + "start": 26427, + "end": 27062, "length": 636, - "parent_index": 1572 + "parent_index": 1642 }, "implemented": true, "statements": [ { - "id": 1581, + "id": 1651, "node_type": 44, "src": { - "line": 733, + "line": 748, "column": 8, - "start": 26479, - "end": 26574, + "start": 26776, + "end": 26871, "length": 96, - "parent_index": 1580 + "parent_index": 1650 }, "assignments": [ - 1582 + 1652 ], "declarations": [ { - "id": 1582, + "id": 1652, "state_mutability": 1, "name": "returndata", "node_type": 44, - "scope": 1580, + "scope": 1650, "src": { - "line": 733, + "line": 748, "column": 8, - "start": 26479, - "end": 26501, + "start": 26776, + "end": 26798, "length": 23, - "parent_index": 1581 + "parent_index": 1651 }, "name_location": { - "line": 733, + "line": 748, "column": 21, - "start": 26492, - "end": 26501, + "start": 26789, + "end": 26798, "length": 10, - "parent_index": 1582 + "parent_index": 1652 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 1583, + "id": 1653, "node_type": 30, "src": { - "line": 733, + "line": 748, "column": 8, - "start": 26479, - "end": 26483, + "start": 26776, + "end": 26780, "length": 5, - "parent_index": 1582 + "parent_index": 1652 }, "name": "bytes", "referenced_declaration": 0, @@ -30142,16 +30804,16 @@ } ], "initial_value": { - "id": 1584, + "id": 1654, "node_type": 24, "kind": 24, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26573, + "start": 26802, + "end": 26870, "length": 69, - "parent_index": 1581 + "parent_index": 1651 }, "argument_types": [ { @@ -30165,15 +30827,15 @@ ], "arguments": [ { - "id": 1590, + "id": 1660, "node_type": 16, "src": { - "line": 733, + "line": 748, "column": 62, - "start": 26533, - "end": 26536, + "start": 26830, + "end": 26833, "length": 4, - "parent_index": 1584 + "parent_index": 1654 }, "name": "data", "type_description": { @@ -30181,22 +30843,23 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 1590, - "is_pure": false + "referenced_declaration": 1660, + "is_pure": false, + "text": "data" }, { - "id": 1591, + "id": 1661, "node_type": 17, "kind": 50, "value": "SafeERC20: low-level call failed", "hex_value": "5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564", "src": { - "line": 733, + "line": 748, "column": 68, - "start": 26539, - "end": 26572, + "start": 26836, + "end": 26869, "length": 34, - "parent_index": 1584 + "parent_index": 1654 }, "type_description": { "type_identifier": "t_string_literal", @@ -30210,43 +30873,44 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"SafeERC20: low-level call failed\"" } ], "expression": { - "id": 1585, + "id": 1655, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26531, + "start": 26802, + "end": 26828, "length": 27, - "parent_index": 1584 + "parent_index": 1654 }, "member_location": { - "line": 733, + "line": 748, "column": 49, - "start": 26520, - "end": 26531, + "start": 26817, + "end": 26828, "length": 12, - "parent_index": 1585 + "parent_index": 1655 }, "expression": { - "id": 1586, + "id": 1656, "node_type": 24, "kind": 24, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26518, + "start": 26802, + "end": 26815, "length": 14, - "parent_index": 1585 + "parent_index": 1655 }, "argument_types": [ { @@ -30256,15 +30920,15 @@ ], "arguments": [ { - "id": 1589, + "id": 1659, "node_type": 16, "src": { - "line": 733, + "line": 748, "column": 42, - "start": 26513, - "end": 26517, + "start": 26810, + "end": 26814, "length": 5, - "parent_index": 1586 + "parent_index": 1656 }, "name": "token", "type_description": { @@ -30272,32 +30936,33 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1589, - "is_pure": false + "referenced_declaration": 1659, + "is_pure": false, + "text": "token" } ], "expression": { - "id": 1587, + "id": 1657, "node_type": 16, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26511, + "start": 26802, + "end": 26808, "length": 7, - "parent_index": 1586 + "parent_index": 1656 }, "name": "address", "type_name": { - "id": 1588, + "id": 1658, "node_type": 30, "src": { - "line": 733, + "line": 748, "column": 34, - "start": 26505, - "end": 26511, + "start": 26802, + "end": 26808, "length": 7, - "parent_index": 1587 + "parent_index": 1657 }, "name": "address", "state_mutability": 4, @@ -30319,7 +30984,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -30331,7 +30997,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(token).functionCall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_string_literal$", @@ -30340,63 +31007,63 @@ } }, { - "id": 1592, + "id": 1662, "node_type": 48, "src": { - "line": 734, + "line": 749, "column": 0, - "start": 26584, - "end": 26759, + "start": 26881, + "end": 27056, "length": 176, - "parent_index": 1580 + "parent_index": 1650 }, "condition": { - "id": 1593, + "id": 1663, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 734, + "line": 749, "column": 12, - "start": 26588, - "end": 26608, + "start": 26885, + "end": 26905, "length": 21, - "parent_index": 1592 + "parent_index": 1662 }, "operator": 7, "left_expression": { - "id": 1594, + "id": 1664, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 734, + "line": 749, "column": 12, - "start": 26588, - "end": 26604, + "start": 26885, + "end": 26901, "length": 17, - "parent_index": 1593 + "parent_index": 1663 }, "member_location": { - "line": 734, + "line": 749, "column": 23, - "start": 26599, - "end": 26604, + "start": 26896, + "end": 26901, "length": 6, - "parent_index": 1594 + "parent_index": 1664 }, "expression": { - "id": 1595, + "id": 1665, "node_type": 16, "src": { - "line": 734, + "line": 749, "column": 12, - "start": 26588, - "end": 26597, + "start": 26885, + "end": 26894, "length": 10, - "parent_index": 1594 + "parent_index": 1664 }, "name": "returndata", "type_description": { @@ -30404,29 +31071,31 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 1581, - "is_pure": false + "referenced_declaration": 1651, + "is_pure": false, + "text": "returndata" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "returndata.length" }, "right_expression": { - "id": 1596, + "id": 1666, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 734, + "line": 749, "column": 32, - "start": 26608, - "end": 26608, + "start": 26905, + "end": 26905, "length": 1, - "parent_index": 1593 + "parent_index": 1663 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -30434,7 +31103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -30442,30 +31112,30 @@ } }, "body": { - "id": 1597, + "id": 1667, "node_type": 46, "kind": 0, "src": { - "line": 734, + "line": 749, "column": 35, - "start": 26611, - "end": 26759, + "start": 26908, + "end": 27056, "length": 149, - "parent_index": 1572 + "parent_index": 1642 }, "implemented": true, "statements": [ { - "id": 1598, + "id": 1668, "node_type": 24, "kind": 24, "src": { - "line": 736, + "line": 751, "column": 12, - "start": 26664, - "end": 26748, + "start": 26961, + "end": 27045, "length": 85, - "parent_index": 1597 + "parent_index": 1667 }, "argument_types": [ { @@ -30479,16 +31149,16 @@ ], "arguments": [ { - "id": 1600, + "id": 1670, "node_type": 24, "kind": 24, "src": { - "line": 736, + "line": 751, "column": 20, - "start": 26672, - "end": 26701, + "start": 26969, + "end": 26998, "length": 30, - "parent_index": 1598 + "parent_index": 1668 }, "argument_types": [ { @@ -30502,15 +31172,15 @@ ], "arguments": [ { - "id": 1603, + "id": 1673, "node_type": 16, "src": { - "line": 736, + "line": 751, "column": 31, - "start": 26683, - "end": 26692, + "start": 26980, + "end": 26989, "length": 10, - "parent_index": 1600 + "parent_index": 1670 }, "name": "returndata", "type_description": { @@ -30519,44 +31189,45 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { - "id": 1604, + "id": 1674, "node_type": 60, "src": { - "line": 736, + "line": 751, "column": 43, - "start": 26695, - "end": 26700, + "start": 26992, + "end": 26997, "length": 6, - "parent_index": 1600 + "parent_index": 1670 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 1605, + "id": 1675, "node_type": 16, "src": { - "line": 736, + "line": 751, "column": 44, - "start": 26696, - "end": 26699, + "start": 26993, + "end": 26996, "length": 4, - "parent_index": 1604 + "parent_index": 1674 }, "name": "bool", "type_name": { - "id": 1606, + "id": 1676, "node_type": 30, "src": { - "line": 736, + "line": 751, "column": 44, - "start": 26696, - "end": 26699, + "start": 26993, + "end": 26996, "length": 4, - "parent_index": 1605 + "parent_index": 1675 }, "name": "bool", "referenced_declaration": 0, @@ -30571,7 +31242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" } ], "type_description": { @@ -30581,38 +31253,38 @@ } ], "expression": { - "id": 1601, + "id": 1671, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 736, + "line": 751, "column": 20, - "start": 26672, - "end": 26681, + "start": 26969, + "end": 26978, "length": 10, - "parent_index": 1600 + "parent_index": 1670 }, "member_location": { - "line": 736, + "line": 751, "column": 24, - "start": 26676, - "end": 26681, + "start": 26973, + "end": 26978, "length": 6, - "parent_index": 1601 + "parent_index": 1671 }, "expression": { - "id": 1602, + "id": 1672, "node_type": 16, "src": { - "line": 736, + "line": 751, "column": 20, - "start": 26672, - "end": 26674, + "start": 26969, + "end": 26971, "length": 3, - "parent_index": 1601 + "parent_index": 1671 }, "name": "abi", "type_description": { @@ -30621,14 +31293,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -30636,18 +31310,18 @@ } }, { - "id": 1607, + "id": 1677, "node_type": 17, "kind": 50, "value": "SafeERC20: ERC20 operation did not succeed", "hex_value": "5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564", "src": { - "line": 736, + "line": 751, "column": 52, - "start": 26704, - "end": 26747, + "start": 27001, + "end": 27044, "length": 44, - "parent_index": 1598 + "parent_index": 1668 }, "type_description": { "type_identifier": "t_string_literal", @@ -30661,19 +31335,20 @@ "type_identifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", "type_string": "function(function(),tuple(bool))" } - ] + ], + "text": "\"SafeERC20: ERC20 operation did not succeed\"" } ], "expression": { - "id": 1599, + "id": 1669, "node_type": 16, "src": { - "line": 736, + "line": 751, "column": 12, - "start": 26664, - "end": 26670, + "start": 26961, + "end": 26967, "length": 7, - "parent_index": 1598 + "parent_index": 1668 }, "name": "require", "type_description": { @@ -30682,7 +31357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -30701,61 +31377,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1573, + "id": 1643, "node_type": 43, "src": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26119, + "start": 26386, + "end": 26416, "length": 31, - "parent_index": 1572 + "parent_index": 1642 }, "parameters": [ { - "id": 1574, + "id": 1644, "node_type": 44, "src": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26100, + "start": 26386, + "end": 26397, "length": 12, - "parent_index": 1573 + "parent_index": 1643 }, - "scope": 1572, + "scope": 1642, "name": "token", "type_name": { - "id": 1575, + "id": 1645, "node_type": 69, "src": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26094, + "start": 26386, + "end": 26391, "length": 6, - "parent_index": 1574 + "parent_index": 1644 }, "path_node": { - "id": 1576, + "id": 1646, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26094, + "start": 26386, + "end": 26391, "length": 6, - "parent_index": 1575 + "parent_index": 1645 }, "name_location": { - "line": 728, + "line": 743, "column": 33, - "start": 26089, - "end": 26094, + "start": 26386, + "end": 26391, "length": 6, - "parent_index": 1575 + "parent_index": 1645 } }, "referenced_declaration": 1089, @@ -30773,28 +31449,28 @@ } }, { - "id": 1577, + "id": 1647, "node_type": 44, "src": { - "line": 728, + "line": 743, "column": 47, - "start": 26103, - "end": 26119, + "start": 26400, + "end": 26416, "length": 17, - "parent_index": 1573 + "parent_index": 1643 }, - "scope": 1572, + "scope": 1642, "name": "data", "type_name": { - "id": 1578, + "id": 1648, "node_type": 30, "src": { - "line": 728, + "line": 743, "column": 47, - "start": 26103, - "end": 26107, + "start": 26400, + "end": 26404, "length": 5, - "parent_index": 1577 + "parent_index": 1647 }, "name": "bytes", "referenced_declaration": 0, @@ -30824,69 +31500,153 @@ ] }, "return_parameters": { - "id": 1579, + "id": 1649, "node_type": 43, "src": { - "line": 728, + "line": 743, "column": 4, - "start": 26060, - "end": 26765, + "start": 26357, + "end": 27062, "length": 706, - "parent_index": 1572 + "parent_index": 1642 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_callOptionalReturn(, bytes)", - "signature": "50effced", - "scope": 1392, + "signature_raw": "_callOptionalReturn(,bytes)", + "signature": "8a35aadd", + "scope": 1462, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_bytes$", "type_string": "function(contract IERC20,bytes)" - } + }, + "text": "function_callOptionalReturn(IERC20token,bytesmemorydata)private{bytesmemoryreturndata=address(token).functionCall(data,\"SafeERC20: low-level call failed\");if(returndata.length\u003e0){require(abi.decode(returndata,(bool)),\"SafeERC20: ERC20 operation did not succeed\");}}" } ], "linearized_base_contracts": [ - 1392 + 1462 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 658, + "line": 673, "column": 0, - "start": 23498, - "end": 26767, + "start": 23795, + "end": 27064, "length": 3270, "parent_index": 272 } }, { - "id": 1608, - "base_contracts": [], + "id": 1678, + "base_contracts": [ + { + "id": 1706, + "node_type": 62, + "src": { + "line": 770, + "column": 37, + "start": 27445, + "end": 27458, + "length": 14, + "parent_index": 1705 + }, + "base_name": { + "id": 1707, + "node_type": 52, + "src": { + "line": 770, + "column": 37, + "start": 27445, + "end": 27458, + "length": 14, + "parent_index": 1705 + }, + "name": "ImmutableState", + "referenced_declaration": 948 + } + }, + { + "id": 1708, + "node_type": 62, + "src": { + "line": 770, + "column": 53, + "start": 27461, + "end": 27477, + "length": 17, + "parent_index": 1705 + }, + "base_name": { + "id": 1709, + "node_type": 52, + "src": { + "line": 770, + "column": 53, + "start": 27461, + "end": 27477, + "length": 17, + "parent_index": 1705 + }, + "name": "IStargateReceiver", + "referenced_declaration": 1373 + } + } + ], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 1608, - "name": "IWETH", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IWETH.sol" + "id": 1678, + "name": "StargateAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/StargateAdapter.sol" + }, + { + "id": 1442, + "name": "SafeERC20", + "absolute_path": "SafeERC20.sol" + }, + { + "id": 1442, + "name": "IStargateReceiver", + "absolute_path": "IStargateReceiver.sol" + }, + { + "id": 1442, + "name": "ImmutableState", + "absolute_path": "ImmutableState.sol" + }, + { + "id": 1442, + "name": "IStargateAdapter", + "absolute_path": "IStargateAdapter.sol" + }, + { + "id": 1442, + "name": "ISushiXSwap", + "absolute_path": "ISushiXSwap.sol" + }, + { + "id": 1442, + "name": "IStargateWidget", + "absolute_path": "IStargateWidget.sol" } ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IWETH.sol", - "name": "IWETH", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/StargateAdapter.sol", + "name": "StargateAdapter", "node_type": 1, "nodes": [ { - "id": 1619, + "id": 1690, "node_type": 10, "src": { - "line": 744, + "line": 759, "column": 0, - "start": 26817, - "end": 26839, + "start": 27114, + "end": 27136, "length": 23, - "parent_index": 1608 + "parent_index": 1678 }, "literals": [ "pragma", @@ -30901,287 +31661,415 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 1660, - "name": "IWETH", + "id": 1699, + "node_type": 29, + "src": { + "line": 761, + "column": 0, + "start": 27139, + "end": 27163, + "length": 25, + "parent_index": 1678 + }, + "absolute_path": "SafeERC20.sol", + "file": "./SafeERC20.sol", + "scope": 1678, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 1442 + }, + { + "id": 1700, + "node_type": 29, + "src": { + "line": 762, + "column": 0, + "start": 27165, + "end": 27197, + "length": 33, + "parent_index": 1678 + }, + "absolute_path": "IStargateReceiver.sol", + "file": "./IStargateReceiver.sol", + "scope": 1678, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 1442 + }, + { + "id": 1701, + "node_type": 29, + "src": { + "line": 763, + "column": 0, + "start": 27199, + "end": 27228, + "length": 30, + "parent_index": 1678 + }, + "absolute_path": "ImmutableState.sol", + "file": "./ImmutableState.sol", + "scope": 1678, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 1442 + }, + { + "id": 1702, + "node_type": 29, + "src": { + "line": 764, + "column": 0, + "start": 27230, + "end": 27261, + "length": 32, + "parent_index": 1678 + }, + "absolute_path": "IStargateAdapter.sol", + "file": "./IStargateAdapter.sol", + "scope": 1678, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 1442 + }, + { + "id": 1703, + "node_type": 29, + "src": { + "line": 765, + "column": 0, + "start": 27263, + "end": 27289, + "length": 27, + "parent_index": 1678 + }, + "absolute_path": "ISushiXSwap.sol", + "file": "./ISushiXSwap.sol", + "scope": 1678, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 1442 + }, + { + "id": 1704, + "node_type": 29, + "src": { + "line": 766, + "column": 0, + "start": 27291, + "end": 27321, + "length": 31, + "parent_index": 1678 + }, + "absolute_path": "IStargateWidget.sol", + "file": "./IStargateWidget.sol", + "scope": 1678, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 1442 + }, + { + "id": 1705, + "name": "StargateAdapter", "node_type": 35, "src": { - "line": 746, + "line": 770, "column": 0, - "start": 26842, - "end": 27018, - "length": 177, - "parent_index": 1608 + "start": 27408, + "end": 32839, + "length": 5432, + "parent_index": 1678 }, "name_location": { - "line": 746, - "column": 10, - "start": 26852, - "end": 26856, - "length": 5, - "parent_index": 1660 + "line": 770, + "column": 18, + "start": 27426, + "end": 27440, + "length": 15, + "parent_index": 1705 }, "abstract": false, - "kind": 38, + "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 1662, - "name": "deposit", - "node_type": 42, - "kind": 41, + "id": 1711, + "node_type": 51, "src": { - "line": 747, - "column": 4, - "start": 26864, - "end": 26899, - "length": 36, - "parent_index": 1660 + "line": 771, + "column": 0, + "start": 27485, + "end": 27511, + "length": 27, + "parent_index": 1705 }, - "name_location": { - "line": 747, - "column": 13, - "start": 26873, - "end": 26879, - "length": 7, - "parent_index": 1662 + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" }, - "body": { - "id": 1665, - "node_type": 46, - "kind": 0, + "type_name": { + "id": 1713, + "node_type": 69, "src": { - "line": 747, - "column": 4, - "start": 26864, - "end": 26899, - "length": 36, - "parent_index": 1662 + "line": 771, + "column": 24, + "start": 27505, + "end": 27510, + "length": 6, + "parent_index": 1711 }, - "implemented": false, - "statements": [] + "path_node": { + "id": 1714, + "name": "IERC20", + "node_type": 52, + "referenced_declaration": 1089, + "src": { + "line": 771, + "column": 24, + "start": 27505, + "end": 27510, + "length": 6, + "parent_index": 1713 + }, + "name_location": { + "line": 771, + "column": 24, + "start": 27505, + "end": 27510, + "length": 6, + "parent_index": 1713 + } + }, + "referenced_declaration": 1089, + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + } }, - "implemented": false, - "visibility": 4, - "state_mutability": 3, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1663, - "node_type": 43, + "library_name": { + "id": 1712, + "node_type": 52, "src": { - "line": 747, - "column": 4, - "start": 26864, - "end": 26899, - "length": 36, - "parent_index": 1662 + "line": 771, + "column": 0, + "start": 27491, + "end": 27499, + "length": 9, + "parent_index": 1711 }, - "parameters": [], - "parameter_types": [] + "name": "SafeERC20", + "referenced_declaration": 1442 + } + }, + { + "id": 1716, + "node_type": 77, + "src": { + "line": 774, + "column": 4, + "start": 27538, + "end": 27563, + "length": 26, + "parent_index": 1705 }, - "return_parameters": { - "id": 1664, + "name": "NotStargateRouter", + "name_location": { + "line": 774, + "column": 10, + "start": 27544, + "end": 27560, + "length": 17, + "parent_index": 1716 + }, + "parameters": { + "id": 1717, "node_type": 43, "src": { - "line": 747, + "line": 774, "column": 4, - "start": 26864, - "end": 26899, - "length": 36, - "parent_index": 1662 + "start": 27538, + "end": 27563, + "length": 26, + "parent_index": 1716 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "deposit()", - "signature": "d0e30db0", - "scope": 1660, "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_error$_StargateAdapter_NotStargateRouter_$1716", + "type_string": "error StargateAdapter.NotStargateRouter" } }, { - "id": 1667, - "name": "transfer", - "node_type": 42, - "kind": 41, + "id": 1719, + "node_type": 57, "src": { - "line": 749, + "line": 777, "column": 4, - "start": 26906, - "end": 26974, - "length": 69, - "parent_index": 1660 - }, - "name_location": { - "line": 749, - "column": 13, - "start": 26915, - "end": 26922, - "length": 8, - "parent_index": 1667 + "start": 27584, + "end": 27639, + "length": 56, + "parent_index": 1705 }, - "body": { - "id": 1676, - "node_type": 46, - "kind": 0, + "parameters": { + "id": 1720, + "node_type": 43, "src": { - "line": 749, + "line": 777, "column": 4, - "start": 26906, - "end": 26974, - "length": 69, - "parent_index": 1667 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1668, - "node_type": 43, - "src": { - "line": 749, - "column": 22, - "start": 26924, - "end": 26948, - "length": 25, - "parent_index": 1667 + "start": 27584, + "end": 27639, + "length": 56, + "parent_index": 1719 }, "parameters": [ { - "id": 1669, + "id": 1721, "node_type": 44, "src": { - "line": 749, - "column": 22, - "start": 26924, - "end": 26933, - "length": 10, - "parent_index": 1668 + "line": 777, + "column": 32, + "start": 27612, + "end": 27637, + "length": 26, + "parent_index": 1720 }, - "scope": 1667, - "name": "to", + "scope": 1719, + "name": "srcContext", "type_name": { - "id": 1670, + "id": 1722, "node_type": 30, "src": { - "line": 749, - "column": 22, - "start": 26924, - "end": 26930, + "line": 777, + "column": 32, + "start": 27612, + "end": 27618, "length": 7, - "parent_index": 1669 + "parent_index": 1721 }, - "name": "address", - "state_mutability": 4, + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, + "type_identifier": "t_bytes32", + "type_string": "bytes32" + }, + "indexed": true + } + ], + "parameter_types": [ + { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + ] + }, + "name": "StargateSushiXSwapSrc", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00261719", + "type_string": "event StargateAdapter.StargateSushiXSwapSrc" + } + }, + { + "id": 1724, + "node_type": 57, + "src": { + "line": 778, + "column": 4, + "start": 27645, + "end": 27713, + "length": 69, + "parent_index": 1705 + }, + "parameters": { + "id": 1725, + "node_type": 43, + "src": { + "line": 778, + "column": 4, + "start": 27645, + "end": 27713, + "length": 69, + "parent_index": 1724 + }, + "parameters": [ { - "id": 1671, + "id": 1726, "node_type": 44, "src": { - "line": 749, - "column": 34, - "start": 26936, - "end": 26948, - "length": 13, - "parent_index": 1668 + "line": 778, + "column": 32, + "start": 27673, + "end": 27698, + "length": 26, + "parent_index": 1725 }, - "scope": 1667, - "name": "value", + "scope": 1724, + "name": "srcContext", "type_name": { - "id": 1672, + "id": 1727, "node_type": 30, "src": { - "line": 749, - "column": 34, - "start": 26936, - "end": 26942, + "line": 778, + "column": 32, + "start": 27673, + "end": 27679, "length": 7, - "parent_index": 1671 + "parent_index": 1726 }, - "name": "uint256", + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" + }, + "indexed": true }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 1673, - "node_type": 43, - "src": { - "line": 749, - "column": 67, - "start": 26969, - "end": 26972, - "length": 4, - "parent_index": 1667 - }, - "parameters": [ - { - "id": 1674, + "id": 1728, "node_type": 44, "src": { - "line": 749, - "column": 67, - "start": 26969, - "end": 26972, - "length": 4, - "parent_index": 1673 + "line": 778, + "column": 60, + "start": 27701, + "end": 27711, + "length": 11, + "parent_index": 1725 }, - "scope": 1667, - "name": "", + "scope": 1724, + "name": "failed", "type_name": { - "id": 1675, + "id": 1729, "node_type": 30, "src": { - "line": 749, - "column": 67, - "start": 26969, - "end": 26972, + "line": 778, + "column": 60, + "start": 27701, + "end": 27704, "length": 4, - "parent_index": 1674 + "parent_index": 1728 }, "name": "bool", "referenced_declaration": 0, @@ -31200,461 +32088,595 @@ } ], "parameter_types": [ + { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + }, { "type_identifier": "t_bool", "type_string": "bool" } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", - "scope": 1660, + "name": "StargateSushiXSwapDst", + "anonymous": false, "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" + "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00261724", + "type_string": "event StargateAdapter.StargateSushiXSwapDst" } }, { - "id": 1678, - "name": "withdraw", - "node_type": 42, - "kind": 41, + "id": 1731, + "node_type": 67, "src": { - "line": 751, + "line": 780, "column": 4, - "start": 26981, - "end": 27016, - "length": 36, - "parent_index": 1660 + "start": 27720, + "end": 28404, + "length": 685, + "parent_index": 1678 }, + "name": "StargateTeleportParams", "name_location": { - "line": 751, - "column": 13, - "start": 26990, - "end": 26997, - "length": 8, - "parent_index": 1678 + "line": 780, + "column": 11, + "start": 27727, + "end": 27748, + "length": 22, + "parent_index": 1731 }, - "body": { - "id": 1683, - "node_type": 46, - "kind": 0, - "src": { - "line": 751, - "column": 4, - "start": 26981, - "end": 27016, - "length": 36, - "parent_index": 1678 - }, - "implemented": false, - "statements": [] + "canonical_name": "StargateAdapter.StargateTeleportParams", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1679, - "node_type": 43, - "src": { - "line": 751, - "column": 22, - "start": 26999, - "end": 27005, - "length": 7, - "parent_index": 1678 + "members": [ + { + "id": 1732, + "node_type": 44, + "src": { + "line": 781, + "column": 8, + "start": 27760, + "end": 27777, + "length": 18, + "parent_index": 1731 + }, + "scope": 1705, + "name": "dstChainId", + "type_name": { + "id": 1733, + "node_type": 30, + "src": { + "line": 781, + "column": 8, + "start": 27760, + "end": 27765, + "length": 6, + "parent_index": 1732 + }, + "name": "uint16", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint16", + "type_string": "uint16" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint16", + "type_string": "uint16" + } }, - "parameters": [ - { - "id": 1680, - "node_type": 44, + { + "id": 1734, + "node_type": 44, + "src": { + "line": 782, + "column": 8, + "start": 27812, + "end": 27825, + "length": 14, + "parent_index": 1731 + }, + "scope": 1705, + "name": "token", + "type_name": { + "id": 1735, + "node_type": 30, "src": { - "line": 751, - "column": 22, - "start": 26999, - "end": 27005, + "line": 782, + "column": 8, + "start": 27812, + "end": 27818, "length": 7, - "parent_index": 1679 + "parent_index": 1734 }, - "scope": 1678, - "name": "", - "type_name": { - "id": 1681, - "node_type": 30, - "src": { - "line": 751, - "column": 22, - "start": 26999, - "end": 27005, - "length": 7, - "parent_index": 1680 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 1736, + "node_type": 44, + "src": { + "line": 783, + "column": 8, + "start": 27860, + "end": 27877, + "length": 18, + "parent_index": 1731 + }, + "scope": 1705, + "name": "srcPoolId", + "type_name": { + "id": 1737, + "node_type": 30, + "src": { + "line": 783, + "column": 8, + "start": 27860, + "end": 27866, + "length": 7, + "parent_index": 1736 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ - { + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - ] - }, - "return_parameters": { - "id": 1682, - "node_type": 43, - "src": { - "line": 751, - "column": 4, - "start": 26981, - "end": 27016, - "length": 36, - "parent_index": 1678 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "withdraw(uint256)", - "signature": "2e1a7d4d", - "scope": 1660, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - } - ], - "linearized_base_contracts": [ - 1660 - ], - "base_contracts": [], - "contract_dependencies": [] - } - ], - "src": { - "line": 746, - "column": 0, - "start": 26842, - "end": 27018, - "length": 177, - "parent_index": 272 - } - }, - { - "id": 1684, - "base_contracts": [], - "license": "GPL-3.0-or-later", - "exported_symbols": [ - { - "id": 1684, - "name": "TokenAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TokenAdapter.sol" - }, - { - "id": 1608, - "name": "SafeERC20", - "absolute_path": "SafeERC20.sol" - }, - { - "id": 1608, - "name": "IWETH", - "absolute_path": "IWETH.sol" - } - ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TokenAdapter.sol", - "name": "TokenAdapter", - "node_type": 1, - "nodes": [ - { - "id": 1696, - "node_type": 10, - "src": { - "line": 756, - "column": 0, - "start": 27067, - "end": 27089, - "length": 23, - "parent_index": 1684 - }, - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "text": "pragma solidity 0.8.11;" - }, - { - "id": 1705, - "node_type": 29, - "src": { - "line": 758, - "column": 0, - "start": 27092, - "end": 27116, - "length": 25, - "parent_index": 1684 - }, - "absolute_path": "SafeERC20.sol", - "file": "./SafeERC20.sol", - "scope": 1684, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 1608 - }, - { - "id": 1706, - "node_type": 29, - "src": { - "line": 759, - "column": 0, - "start": 27118, - "end": 27138, - "length": 21, - "parent_index": 1684 - }, - "absolute_path": "IWETH.sol", - "file": "./IWETH.sol", - "scope": 1684, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 1608 - }, - { - "id": 1707, - "name": "TokenAdapter", - "node_type": 35, - "src": { - "line": 763, - "column": 0, - "start": 27210, - "end": 28446, - "length": 1237, - "parent_index": 1684 - }, - "name_location": { - "line": 763, - "column": 18, - "start": 27228, - "end": 27239, - "length": 12, - "parent_index": 1707 - }, - "abstract": false, - "kind": 36, - "fully_implemented": true, - "nodes": [ - { - "id": 1709, - "node_type": 51, - "src": { - "line": 764, - "column": 0, - "start": 27247, - "end": 27273, - "length": 27, - "parent_index": 1707 - }, - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - }, - "type_name": { - "id": 1711, - "node_type": 69, - "src": { - "line": 764, - "column": 24, - "start": 27267, - "end": 27272, - "length": 6, - "parent_index": 1709 }, - "path_node": { - "id": 1712, - "name": "IERC20", - "node_type": 52, - "referenced_declaration": 1089, + { + "id": 1738, + "node_type": 44, "src": { - "line": 764, - "column": 24, - "start": 27267, - "end": 27272, - "length": 6, - "parent_index": 1711 + "line": 784, + "column": 8, + "start": 27911, + "end": 27928, + "length": 18, + "parent_index": 1731 }, - "name_location": { - "line": 764, - "column": 24, - "start": 27267, - "end": 27272, - "length": 6, - "parent_index": 1711 + "scope": 1705, + "name": "dstPoolId", + "type_name": { + "id": 1739, + "node_type": 30, + "src": { + "line": 784, + "column": 8, + "start": 27911, + "end": 27917, + "length": 7, + "parent_index": 1738 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - "referenced_declaration": 1089, - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - } - }, - "library_name": { - "id": 1710, - "node_type": 52, - "src": { - "line": 764, - "column": 0, - "start": 27253, - "end": 27261, - "length": 9, - "parent_index": 1709 - }, - "name": "SafeERC20", - "referenced_declaration": 1373 - } - }, - { - "id": 1714, - "name": "_transferTokens", - "node_type": 42, - "kind": 41, - "src": { - "line": 770, - "column": 4, - "start": 27450, - "end": 27719, - "length": 270, - "parent_index": 1707 - }, - "name_location": { - "line": 770, - "column": 13, - "start": 27459, - "end": 27473, - "length": 15, - "parent_index": 1714 - }, - "body": { - "id": 1724, - "node_type": 46, - "kind": 0, - "src": { - "line": 774, - "column": 15, - "start": 27556, - "end": 27719, - "length": 164, - "parent_index": 1714 + { + "id": 1740, + "node_type": 44, + "src": { + "line": 785, + "column": 8, + "start": 27962, + "end": 27976, + "length": 15, + "parent_index": 1731 + }, + "scope": 1705, + "name": "amount", + "type_name": { + "id": 1741, + "node_type": 30, + "src": { + "line": 785, + "column": 8, + "start": 27962, + "end": 27968, + "length": 7, + "parent_index": 1740 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "implemented": true, - "statements": [ - { - "id": 1725, - "node_type": 48, + { + "id": 1742, + "node_type": 44, + "src": { + "line": 786, + "column": 8, + "start": 28006, + "end": 28023, + "length": 18, + "parent_index": 1731 + }, + "scope": 1705, + "name": "amountMin", + "type_name": { + "id": 1743, + "node_type": 30, "src": { - "line": 775, - "column": 0, - "start": 27566, - "end": 27713, - "length": 148, - "parent_index": 1724 + "line": 786, + "column": 8, + "start": 28006, + "end": 28012, + "length": 7, + "parent_index": 1742 }, - "condition": { - "id": 1726, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 775, - "column": 12, - "start": 27570, - "end": 27597, - "length": 28, - "parent_index": 1725 - }, - "operator": 12, - "left_expression": { - "id": 1727, - "node_type": 24, - "kind": 24, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 1744, + "node_type": 44, + "src": { + "line": 787, + "column": 8, + "start": 28061, + "end": 28079, + "length": 19, + "parent_index": 1731 + }, + "scope": 1705, + "name": "dustAmount", + "type_name": { + "id": 1745, + "node_type": 30, + "src": { + "line": 787, + "column": 8, + "start": 28061, + "end": 28067, + "length": 7, + "parent_index": 1744 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 1746, + "node_type": 44, + "src": { + "line": 788, + "column": 8, + "start": 28133, + "end": 28149, + "length": 17, + "parent_index": 1731 + }, + "scope": 1705, + "name": "receiver", + "type_name": { + "id": 1747, + "node_type": 30, + "src": { + "line": 788, + "column": 8, + "start": 28133, + "end": 28139, + "length": 7, + "parent_index": 1746 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 1748, + "node_type": 44, + "src": { + "line": 789, + "column": 8, + "start": 28186, + "end": 28196, + "length": 11, + "parent_index": 1731 + }, + "scope": 1705, + "name": "to", + "type_name": { + "id": 1749, + "node_type": 30, + "src": { + "line": 789, + "column": 8, + "start": 28186, + "end": 28192, + "length": 7, + "parent_index": 1748 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 1750, + "node_type": 44, + "src": { + "line": 790, + "column": 8, + "start": 28274, + "end": 28285, + "length": 12, + "parent_index": 1731 + }, + "scope": 1705, + "name": "gas", + "type_name": { + "id": 1751, + "node_type": 30, + "src": { + "line": 790, + "column": 8, + "start": 28274, + "end": 28280, + "length": 7, + "parent_index": 1750 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 1752, + "node_type": 44, + "src": { + "line": 791, + "column": 8, + "start": 28344, + "end": 28362, + "length": 19, + "parent_index": 1731 + }, + "scope": 1705, + "name": "srcContext", + "type_name": { + "id": 1753, + "node_type": 30, + "src": { + "line": 791, + "column": 8, + "start": 28344, + "end": 28350, + "length": 7, + "parent_index": 1752 + }, + "name": "bytes32", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 1755, + "name": "approveToStargateRouter", + "node_type": 42, + "kind": 41, + "src": { + "line": 796, + "column": 4, + "start": 28503, + "end": 28636, + "length": 134, + "parent_index": 1705 + }, + "name_location": { + "line": 796, + "column": 13, + "start": 28512, + "end": 28534, + "length": 23, + "parent_index": 1755 + }, + "body": { + "id": 1761, + "node_type": 46, + "kind": 0, + "src": { + "line": 796, + "column": 60, + "start": 28559, + "end": 28636, + "length": 78, + "parent_index": 1755 + }, + "implemented": true, + "statements": [ + { + "id": 1762, + "node_type": 24, + "kind": 24, + "src": { + "line": 797, + "column": 8, + "start": 28569, + "end": 28629, + "length": 61, + "parent_index": 1761 + }, + "argument_types": [ + { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + }, + { + "type_identifier": "", + "type_string": "type" + } + ], + "arguments": [ + { + "id": 1765, + "node_type": 24, + "kind": 24, "src": { - "line": 775, - "column": 12, - "start": 27570, - "end": 27583, - "length": 14, - "parent_index": 1726 + "line": 797, + "column": 26, + "start": 28587, + "end": 28609, + "length": 23, + "parent_index": 1762 }, "argument_types": [ { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" + "type_identifier": "t_function_$", + "type_string": "function()" } ], "arguments": [ { - "id": 1730, + "id": 1768, "node_type": 16, "src": { - "line": 775, - "column": 20, - "start": 27578, - "end": 27582, - "length": 5, - "parent_index": 1727 + "line": 797, + "column": 34, + "start": 28595, + "end": 28608, + "length": 14, + "parent_index": 1765 }, - "name": "token", + "name": "stargateRouter", "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 1730, - "is_pure": false + "referenced_declaration": 0, + "is_pure": false, + "text": "stargateRouter" } ], "expression": { - "id": 1728, + "id": 1766, "node_type": 16, "src": { - "line": 775, - "column": 12, - "start": 27570, - "end": 27576, + "line": 797, + "column": 26, + "start": 28587, + "end": 28593, "length": 7, - "parent_index": 1727 + "parent_index": 1765 }, "name": "address", "type_name": { - "id": 1729, + "id": 1767, "node_type": 30, "src": { - "line": 775, - "column": 12, - "start": 27570, - "end": 27576, + "line": 797, + "column": 26, + "start": 28587, + "end": 28593, "length": 7, - "parent_index": 1728 + "parent_index": 1766 }, "name": "address", "state_mutability": 4, @@ -31676,316 +32698,189 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" } }, - "right_expression": { - "id": 1731, - "node_type": 24, - "kind": 24, + { + "id": 1769, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 775, - "column": 30, - "start": 27588, - "end": 27597, - "length": 10, - "parent_index": 1726 + "line": 797, + "column": 51, + "start": 28612, + "end": 28628, + "length": 17, + "parent_index": 1762 + }, + "member_location": { + "line": 797, + "column": 65, + "start": 28626, + "end": 28628, + "length": 3, + "parent_index": 1769 }, - "argument_types": [ - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ], - "arguments": [ - { - "id": 1734, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 775, - "column": 38, - "start": 27596, - "end": 27596, - "length": 1, - "parent_index": 1731 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], "expression": { - "id": 1732, + "id": 1770, "node_type": 16, + "name": "type", "src": { - "line": 775, - "column": 30, - "start": 27588, - "end": 27594, - "length": 7, - "parent_index": 1731 - }, - "name": "address", - "type_name": { - "id": 1733, - "node_type": 30, - "src": { - "line": 775, - "column": 30, - "start": 27588, - "end": 27594, - "length": 7, - "parent_index": 1732 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "line": 797, + "column": 51, + "start": 28612, + "end": 28624, + "length": 13, + "parent_index": 1769 }, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "type_identifier": "", + "type_string": "type" + } }, + "member_name": "max", + "argument_types": [ + { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + ], "type_description": { - "type_identifier": "t_function_$_t_rational_0_by_1$", - "type_string": "function(int_const 0)" - } - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "", + "type_string": "type" + }, + "text": "type(uint256).max" } - }, - "body": { - "id": 1735, - "node_type": 46, - "kind": 0, + ], + "expression": { + "id": 1763, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 775, - "column": 42, - "start": 27600, - "end": 27654, - "length": 55, - "parent_index": 1714 + "line": 797, + "column": 8, + "start": 28569, + "end": 28585, + "length": 17, + "parent_index": 1762 }, - "implemented": true, - "statements": [ - { - "id": 1736, - "node_type": 24, - "kind": 24, - "src": { - "line": 776, - "column": 12, - "start": 27614, - "end": 27643, - "length": 30, - "parent_index": 1735 - }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "arguments": [ - { - "id": 1739, - "node_type": 16, - "src": { - "line": 776, - "column": 31, - "start": 27633, - "end": 27634, - "length": 2, - "parent_index": 1736 - }, - "name": "to", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 1739, - "is_pure": false - }, - { - "id": 1740, - "node_type": 16, - "src": { - "line": 776, - "column": 35, - "start": 27637, - "end": 27642, - "length": 6, - "parent_index": 1736 - }, - "name": "amount", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 1740, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - } - ], - "expression": { - "id": 1737, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 776, - "column": 12, - "start": 27614, - "end": 27631, - "length": 18, - "parent_index": 1736 - }, - "member_location": { - "line": 776, - "column": 18, - "start": 27620, - "end": 27631, - "length": 12, - "parent_index": 1737 - }, - "expression": { - "id": 1738, - "node_type": 16, - "src": { - "line": 776, - "column": 12, - "start": 27614, - "end": 27618, - "length": 5, - "parent_index": 1737 - }, - "name": "token", - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - }, - "overloaded_declarations": [], - "referenced_declaration": 1738, - "is_pure": false - }, - "member_name": "safeTransfer", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } - } - ] + "member_location": { + "line": 797, + "column": 14, + "start": 28575, + "end": 28585, + "length": 11, + "parent_index": 1763 + }, + "expression": { + "id": 1764, + "node_type": 16, + "src": { + "line": 797, + "column": 8, + "start": 28569, + "end": 28573, + "length": 5, + "parent_index": 1763 + }, + "name": "token", + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + }, + "overloaded_declarations": [], + "referenced_declaration": 1764, + "is_pure": false, + "text": "token" + }, + "member_name": "safeApprove", + "argument_types": [], + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + }, + "text": "token.safeApprove" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_function_$_$", + "type_string": "function(function(function()),type)" } } ] }, "implemented": true, - "visibility": 1, + "visibility": 4, "state_mutability": 4, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 1715, + "id": 1756, "node_type": 43, "src": { - "line": 771, - "column": 8, - "start": 27484, - "end": 27539, - "length": 56, - "parent_index": 1714 + "line": 796, + "column": 37, + "start": 28536, + "end": 28547, + "length": 12, + "parent_index": 1755 }, "parameters": [ { - "id": 1716, + "id": 1757, "node_type": 44, "src": { - "line": 771, - "column": 8, - "start": 27484, - "end": 27495, + "line": 796, + "column": 37, + "start": 28536, + "end": 28547, "length": 12, - "parent_index": 1715 + "parent_index": 1756 }, - "scope": 1714, + "scope": 1755, "name": "token", "type_name": { - "id": 1717, + "id": 1758, "node_type": 69, "src": { - "line": 771, - "column": 8, - "start": 27484, - "end": 27489, + "line": 796, + "column": 37, + "start": 28536, + "end": 28541, "length": 6, - "parent_index": 1716 + "parent_index": 1757 }, "path_node": { - "id": 1718, + "id": 1759, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 771, - "column": 8, - "start": 27484, - "end": 27489, + "line": 796, + "column": 37, + "start": 28536, + "end": 28541, "length": 6, - "parent_index": 1717 + "parent_index": 1758 }, "name_location": { - "line": 771, - "column": 8, - "start": 27484, - "end": 27489, + "line": 796, + "column": 37, + "start": 28536, + "end": 28541, "length": 6, - "parent_index": 1717 + "parent_index": 1758 } }, "referenced_declaration": 1089, @@ -32001,1253 +32896,2000 @@ "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" } - }, - { - "id": 1719, - "node_type": 44, - "src": { - "line": 772, - "column": 8, - "start": 27506, - "end": 27515, - "length": 10, - "parent_index": 1715 - }, - "scope": 1714, - "name": "to", - "type_name": { - "id": 1720, - "node_type": 30, - "src": { - "line": 772, - "column": 8, - "start": 27506, - "end": 27512, - "length": 7, - "parent_index": 1719 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 1721, - "node_type": 44, - "src": { - "line": 773, - "column": 8, - "start": 27526, - "end": 27539, - "length": 14, - "parent_index": 1715 - }, - "scope": 1714, - "name": "amount", - "type_name": { - "id": 1722, - "node_type": 30, - "src": { - "line": 773, - "column": 8, - "start": 27526, - "end": 27532, - "length": 7, - "parent_index": 1721 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ + } + ], + "parameter_types": [ { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" } ] }, "return_parameters": { - "id": 1723, + "id": 1760, "node_type": 43, "src": { - "line": 770, + "line": 796, "column": 4, - "start": 27450, - "end": 27719, - "length": 270, - "parent_index": 1714 + "start": 28503, + "end": 28636, + "length": 134, + "parent_index": 1755 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_transferTokens(, address, uint256)", - "signature": "b5a83ee7", - "scope": 1707, + "signature_raw": "approveToStargateRouter()", + "signature": "4c6e98b7", + "scope": 1705, "type_description": { - "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", - "type_string": "function(contract IERC20,address,uint256)" - } + "type_identifier": "t_function_$_t_contract$_IERC20_$1089$", + "type_string": "function(contract IERC20)" + }, + "text": "functionapproveToStargateRouter(IERC20token)external{token.safeApprove(address(stargateRouter),type(uint256).max);}" }, { - "id": 1742, - "name": "_transferFromToken", + "id": 1772, + "name": "_stargateTeleport", "node_type": 42, "kind": 41, "src": { - "line": 786, + "line": 807, "column": 4, - "start": 27905, - "end": 28076, - "length": 172, - "parent_index": 1707 + "start": 29276, + "end": 30339, + "length": 1064, + "parent_index": 1705 }, "name_location": { - "line": 786, + "line": 807, "column": 13, - "start": 27914, - "end": 27931, - "length": 18, - "parent_index": 1742 + "start": 29285, + "end": 29301, + "length": 17, + "parent_index": 1772 }, "body": { - "id": 1752, + "id": 1784, "node_type": 46, "kind": 0, "src": { - "line": 790, + "line": 812, "column": 15, - "start": 28014, - "end": 28076, - "length": 63, - "parent_index": 1742 + "start": 29459, + "end": 30339, + "length": 881, + "parent_index": 1772 }, "implemented": true, "statements": [ { - "id": 1753, - "node_type": 24, - "kind": 24, + "id": 1785, + "node_type": 44, "src": { - "line": 791, + "line": 813, "column": 8, - "start": 28024, - "end": 28069, - "length": 46, - "parent_index": 1752 + "start": 29469, + "end": 29556, + "length": 88, + "parent_index": 1784 }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, + "assignments": [ + 1786 + ], + "declarations": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "id": 1786, + "state_mutability": 1, + "name": "payload", + "node_type": 44, + "scope": 1784, + "src": { + "line": 813, + "column": 8, + "start": 29469, + "end": 29488, + "length": 20, + "parent_index": 1785 + }, + "name_location": { + "line": 813, + "column": 21, + "start": 29482, + "end": 29488, + "length": 7, + "parent_index": 1786 + }, + "is_state_variable": false, + "storage_location": 2, + "type_name": { + "id": 1787, + "node_type": 30, + "src": { + "line": 813, + "column": 8, + "start": 29469, + "end": 29473, + "length": 5, + "parent_index": 1786 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "visibility": 1 } ], - "arguments": [ - { - "id": 1756, + "initial_value": { + "id": 1788, + "node_type": 24, + "kind": 24, + "src": { + "line": 813, + "column": 31, + "start": 29492, + "end": 29555, + "length": 64, + "parent_index": 1785 + }, + "argument_types": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + } + ], + "arguments": [ + { + "id": 1791, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 813, + "column": 42, + "start": 29503, + "end": 29511, + "length": 9, + "parent_index": 1788 + }, + "member_location": { + "line": 813, + "column": 49, + "start": 29510, + "end": 29511, + "length": 2, + "parent_index": 1791 + }, + "expression": { + "id": 1792, + "node_type": 16, + "src": { + "line": 813, + "column": 42, + "start": 29503, + "end": 29508, + "length": 6, + "parent_index": 1791 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1792, + "is_pure": false, + "text": "params" + }, + "member_name": "to", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.to" + }, + { + "id": 1793, + "node_type": 16, + "src": { + "line": 813, + "column": 53, + "start": 29514, + "end": 29520, + "length": 7, + "parent_index": 1788 + }, + "name": "actions", + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + "overloaded_declarations": [], + "referenced_declaration": 1793, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + } + ], + "text": "actions" + }, + { + "id": 1794, + "node_type": 16, + "src": { + "line": 813, + "column": 62, + "start": 29523, + "end": 29528, + "length": 6, + "parent_index": 1788 + }, + "name": "values", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 1794, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint8", + "type_string": "uint8" + } + ], + "text": "values" + }, + { + "id": 1795, + "node_type": 16, + "src": { + "line": 813, + "column": 70, + "start": 29531, + "end": 29535, + "length": 5, + "parent_index": 1788 + }, + "name": "datas", + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + "overloaded_declarations": [], + "referenced_declaration": 1795, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "datas" + }, + { + "id": 1796, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 813, + "column": 77, + "start": 29538, + "end": 29554, + "length": 17, + "parent_index": 1788 + }, + "member_location": { + "line": 813, + "column": 84, + "start": 29545, + "end": 29554, + "length": 10, + "parent_index": 1796 + }, + "expression": { + "id": 1797, + "node_type": 16, + "src": { + "line": 813, + "column": 77, + "start": 29538, + "end": 29543, + "length": 6, + "parent_index": 1796 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1797, + "is_pure": false, + "text": "params" + }, + "member_name": "srcContext", + "argument_types": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + ], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.srcContext" + } + ], + "expression": { + "id": 1789, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 791, + "line": 813, "column": 31, - "start": 28047, - "end": 28056, + "start": 29492, + "end": 29501, "length": 10, - "parent_index": 1753 + "parent_index": 1788 }, "member_location": { - "line": 791, + "line": 813, "column": 35, - "start": 28051, - "end": 28056, + "start": 29496, + "end": 29501, "length": 6, - "parent_index": 1756 + "parent_index": 1789 }, "expression": { - "id": 1757, + "id": 1790, "node_type": 16, "src": { - "line": 791, + "line": 813, "column": 31, - "start": 28047, - "end": 28049, + "start": 29492, + "end": 29494, "length": 3, - "parent_index": 1756 + "parent_index": 1789 }, - "name": "msg", + "name": "abi", "type_description": { - "type_identifier": "t_magic_message", - "type_string": "msg" + "type_identifier": "t_magic_abi", + "type_string": "abi" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, - "member_name": "sender", + "member_name": "encode", "argument_types": [], "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "text": "abi.encode" + }, + "type_description": { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_uint8$_t_uint256$_t_bytes$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes,struct StargateAdapter.StargateTeleportParams)" + } + } + }, + { + "id": 1798, + "node_type": 24, + "kind": 24, + "src": { + "line": 815, + "column": 8, + "start": 29567, + "end": 30231, + "length": 665, + "parent_index": 1784 + }, + "argument_types": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "id": 1758, - "node_type": 16, + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_function_payable$_t_address$", + "type_string": "function(address) payable" + }, + { + "type_identifier": "$_t_conditional", + "type_string": "conditional" + }, + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" + }, + { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams)" + }, + { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + ], + "arguments": [ + { + "id": 1802, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 791, - "column": 43, - "start": 28059, - "end": 28060, - "length": 2, - "parent_index": 1753 + "line": 816, + "column": 12, + "start": 29630, + "end": 29646, + "length": 17, + "parent_index": 1798 }, - "name": "to", + "member_location": { + "line": 816, + "column": 19, + "start": 29637, + "end": 29646, + "length": 10, + "parent_index": 1802 + }, + "expression": { + "id": 1803, + "node_type": 16, + "src": { + "line": 816, + "column": 12, + "start": 29630, + "end": 29635, + "length": 6, + "parent_index": 1802 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1803, + "is_pure": false, + "text": "params" + }, + "member_name": "dstChainId", + "argument_types": [], "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, - "overloaded_declarations": [], - "referenced_declaration": 1758, + "text": "params.dstChainId" + }, + { + "id": 1804, + "is_constant": false, + "is_l_value": false, "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 817, + "column": 12, + "start": 29661, + "end": 29676, + "length": 16, + "parent_index": 1798 + }, + "member_location": { + "line": 817, + "column": 19, + "start": 29668, + "end": 29676, + "length": 9, + "parent_index": 1804 + }, + "expression": { + "id": 1805, + "node_type": 16, + "src": { + "line": 817, + "column": 12, + "start": 29661, + "end": 29666, + "length": 6, + "parent_index": 1804 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1805, + "is_pure": false, + "text": "params" + }, + "member_name": "srcPoolId", "argument_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" } - ] + ], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.srcPoolId" }, { - "id": 1759, - "node_type": 16, + "id": 1806, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 791, - "column": 47, - "start": 28063, - "end": 28068, - "length": 6, - "parent_index": 1753 + "line": 818, + "column": 12, + "start": 29691, + "end": 29706, + "length": 16, + "parent_index": 1798 }, - "name": "amount", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "member_location": { + "line": 818, + "column": 19, + "start": 29698, + "end": 29706, + "length": 9, + "parent_index": 1806 }, - "overloaded_declarations": [], - "referenced_declaration": 1759, - "is_pure": false, + "expression": { + "id": 1807, + "node_type": 16, + "src": { + "line": 818, + "column": 12, + "start": 29691, + "end": 29696, + "length": 6, + "parent_index": 1806 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1807, + "is_pure": false, + "text": "params" + }, + "member_name": "dstPoolId", "argument_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" } - ] - } - ], - "expression": { - "id": 1754, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 791, - "column": 8, - "start": 28024, - "end": 28045, - "length": 22, - "parent_index": 1753 - }, - "member_location": { - "line": 791, - "column": 14, - "start": 28030, - "end": 28045, - "length": 16, - "parent_index": 1754 - }, - "expression": { - "id": 1755, - "node_type": 16, - "src": { - "line": 791, - "column": 8, - "start": 28024, - "end": 28028, - "length": 5, - "parent_index": 1754 - }, - "name": "token", + ], "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, - "overloaded_declarations": [], - "referenced_declaration": 1755, - "is_pure": false + "text": "params.dstPoolId" }, - "member_name": "safeTransferFrom", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", - "type_string": "function(address,address,uint256)" - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1743, - "node_type": 43, - "src": { - "line": 787, - "column": 8, - "start": 27942, - "end": 27997, - "length": 56, - "parent_index": 1742 - }, - "parameters": [ - { - "id": 1744, - "node_type": 44, - "src": { - "line": 787, - "column": 8, - "start": 27942, - "end": 27953, - "length": 12, - "parent_index": 1743 - }, - "scope": 1742, - "name": "token", - "type_name": { - "id": 1745, - "node_type": 69, - "src": { - "line": 787, - "column": 8, - "start": 27942, - "end": 27947, - "length": 6, - "parent_index": 1744 - }, - "path_node": { - "id": 1746, - "name": "IERC20", - "node_type": 52, - "referenced_declaration": 1089, - "src": { - "line": 787, - "column": 8, - "start": 27942, - "end": 27947, - "length": 6, - "parent_index": 1745 - }, - "name_location": { - "line": 787, - "column": 8, - "start": 27942, - "end": 27947, - "length": 6, - "parent_index": 1745 - } - }, - "referenced_declaration": 1089, - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - } - }, - { - "id": 1747, - "node_type": 44, - "src": { - "line": 788, - "column": 8, - "start": 27964, - "end": 27973, - "length": 10, - "parent_index": 1743 - }, - "scope": 1742, - "name": "to", - "type_name": { - "id": 1748, - "node_type": 30, - "src": { - "line": 788, - "column": 8, - "start": 27964, - "end": 27970, - "length": 7, - "parent_index": 1747 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 1749, - "node_type": 44, - "src": { - "line": 789, - "column": 8, - "start": 27984, - "end": 27997, - "length": 14, - "parent_index": 1743 - }, - "scope": 1742, - "name": "amount", - "type_name": { - "id": 1750, - "node_type": 30, - "src": { - "line": 789, - "column": 8, - "start": 27984, - "end": 27990, - "length": 7, - "parent_index": 1749 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 1751, - "node_type": 43, - "src": { - "line": 786, - "column": 4, - "start": 27905, - "end": 28076, - "length": 172, - "parent_index": 1742 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "_transferFromToken(, address, uint256)", - "signature": "6ec27143", - "scope": 1707, - "type_description": { - "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", - "type_string": "function(contract IERC20,address,uint256)" - } - }, - { - "id": 1761, - "name": "_unwrapTransfer", - "node_type": 42, - "kind": 41, - "src": { - "line": 797, - "column": 4, - "start": 28234, - "end": 28444, - "length": 211, - "parent_index": 1707 - }, - "name_location": { - "line": 797, - "column": 13, - "start": 28243, - "end": 28257, - "length": 15, - "parent_index": 1761 - }, - "body": { - "id": 1768, - "node_type": 46, - "kind": 0, - "src": { - "line": 797, - "column": 65, - "start": 28295, - "end": 28444, - "length": 150, - "parent_index": 1761 - }, - "implemented": true, - "statements": [ - { - "id": 1769, - "node_type": 24, - "kind": 24, - "src": { - "line": 798, - "column": 8, - "start": 28305, - "end": 28365, - "length": 61, - "parent_index": 1768 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_function_$_t_address$", - "type_string": "function(function(address))" - } - ], - "arguments": [ { - "id": 1774, - "node_type": 24, - "kind": 24, + "id": 1808, + "node_type": 84, "src": { - "line": 798, - "column": 30, - "start": 28327, - "end": 28364, - "length": 38, - "parent_index": 1769 + "line": 819, + "column": 12, + "start": 29721, + "end": 29739, + "length": 19, + "parent_index": 1798 }, + "arguments": [ + { + "id": 1809, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 819, + "column": 20, + "start": 29729, + "end": 29738, + "length": 10, + "parent_index": 1808 + }, + "member_location": { + "line": 819, + "column": 24, + "start": 29733, + "end": 29738, + "length": 6, + "parent_index": 1809 + }, + "expression": { + "id": 1810, + "node_type": 16, + "src": { + "line": 819, + "column": 20, + "start": 29729, + "end": 29731, + "length": 3, + "parent_index": 1809 + }, + "name": "msg", + "type_description": { + "type_identifier": "t_magic_message", + "type_string": "msg" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "msg" + }, + "member_name": "sender", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "msg.sender" + } + ], "argument_types": [ { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_address", + "type_string": "address" } ], - "arguments": [ + "type_description": { + "type_identifier": "t_function_payable$_t_address$", + "type_string": "function(address) payable" + }, + "payable": true + }, + { + "id": 1812, + "node_type": 97, + "src": { + "line": 820, + "column": 12, + "start": 29772, + "end": 29885, + "length": 114, + "parent_index": 1798 + }, + "expressions": [ { - "id": 1779, - "node_type": 24, - "kind": 24, + "id": 1813, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 798, - "column": 54, - "start": 28351, - "end": 28363, - "length": 13, - "parent_index": 1774 + "line": 820, + "column": 12, + "start": 29772, + "end": 29789, + "length": 18, + "parent_index": 1812 }, - "argument_types": [ - { - "type_identifier": "t_contract$_TokenAdapter_$1684", - "type_string": "contract TokenAdapter" - } - ], - "arguments": [ - { - "id": 1782, + "operator": 12, + "left_expression": { + "id": 1814, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 820, + "column": 12, + "start": 29772, + "end": 29784, + "length": 13, + "parent_index": 1813 + }, + "member_location": { + "line": 820, + "column": 19, + "start": 29779, + "end": 29784, + "length": 6, + "parent_index": 1814 + }, + "expression": { + "id": 1815, "node_type": 16, "src": { - "line": 798, - "column": 62, - "start": 28359, - "end": 28362, - "length": 4, - "parent_index": 1779 + "line": 820, + "column": 12, + "start": 29772, + "end": 29777, + "length": 6, + "parent_index": 1814 }, - "name": "this", + "name": "params", "type_description": { - "type_identifier": "t_contract$_TokenAdapter_$1684", - "type_string": "contract TokenAdapter" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 1780, - "node_type": 16, - "src": { - "line": 798, - "column": 54, - "start": 28351, - "end": 28357, - "length": 7, - "parent_index": 1779 + "referenced_declaration": 1815, + "is_pure": false, + "text": "params" }, - "name": "address", - "type_name": { - "id": 1781, - "node_type": 30, - "src": { - "line": 798, - "column": 54, - "start": 28351, - "end": 28357, - "length": 7, - "parent_index": 1780 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "member_name": "amount", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.amount" + }, + "right_expression": { + "id": 1816, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 820, + "column": 29, + "start": 29789, + "end": 29789, + "length": 1, + "parent_index": 1813 }, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "is_pure": true, + "text": "0" }, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_bool", + "type_string": "bool" } - } - ], - "expression": { - "id": 1775, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 798, - "column": 30, - "start": 28327, - "end": 28349, - "length": 23, - "parent_index": 1774 }, - "member_location": { - "line": 798, - "column": 44, - "start": 28341, - "end": 28349, - "length": 9, - "parent_index": 1775 + { + "id": 1817, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 821, + "column": 18, + "start": 29809, + "end": 29821, + "length": 13, + "parent_index": 1812 + }, + "member_location": { + "line": 821, + "column": 25, + "start": 29816, + "end": 29821, + "length": 6, + "parent_index": 1817 + }, + "expression": { + "id": 1818, + "node_type": 16, + "src": { + "line": 821, + "column": 18, + "start": 29809, + "end": 29814, + "length": 6, + "parent_index": 1817 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1818, + "is_pure": false, + "text": "params" + }, + "member_name": "amount", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.amount" }, - "expression": { - "id": 1776, + { + "id": 1819, "node_type": 24, "kind": 24, "src": { - "line": 798, - "column": 30, - "start": 28327, - "end": 28339, - "length": 13, - "parent_index": 1775 + "line": 822, + "column": 18, + "start": 29841, + "end": 29885, + "length": 45, + "parent_index": 1812 }, "argument_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" } ], "arguments": [ { - "id": 1778, - "node_type": 16, + "id": 1825, + "node_type": 24, + "kind": 24, "src": { - "line": 798, - "column": 37, - "start": 28334, - "end": 28338, - "length": 5, - "parent_index": 1776 + "line": 822, + "column": 49, + "start": 29872, + "end": 29884, + "length": 13, + "parent_index": 1819 }, - "name": "token", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "argument_types": [ + { + "type_identifier": "t_contract$_StargateAdapter_$1678", + "type_string": "contract StargateAdapter" + } + ], + "arguments": [ + { + "id": 1828, + "node_type": 16, + "src": { + "line": 822, + "column": 57, + "start": 29880, + "end": 29883, + "length": 4, + "parent_index": 1825 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_StargateAdapter_$1678", + "type_string": "contract StargateAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], + "expression": { + "id": 1826, + "node_type": 16, + "src": { + "line": 822, + "column": 49, + "start": 29872, + "end": 29878, + "length": 7, + "parent_index": 1825 + }, + "name": "address", + "type_name": { + "id": 1827, + "node_type": 30, + "src": { + "line": 822, + "column": 49, + "start": 29872, + "end": 29878, + "length": 7, + "parent_index": 1826 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" }, - "overloaded_declarations": [], - "referenced_declaration": 1778, - "is_pure": false + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } } ], "expression": { - "id": 1777, - "node_type": 16, + "id": 1820, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 798, - "column": 30, - "start": 28327, - "end": 28332, - "length": 6, - "parent_index": 1776 + "line": 822, + "column": 18, + "start": 29841, + "end": 29870, + "length": 30, + "parent_index": 1819 }, - "name": "IERC20", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "member_location": { + "line": 822, + "column": 39, + "start": 29862, + "end": 29870, + "length": 9, + "parent_index": 1820 }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - "member_name": "balanceOf", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$", - "type_string": "function(function(address))" - } - } - ], - "expression": { - "id": 1770, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 798, - "column": 8, - "start": 28305, - "end": 28325, - "length": 21, - "parent_index": 1769 - }, - "member_location": { - "line": 798, - "column": 21, - "start": 28318, - "end": 28325, - "length": 8, - "parent_index": 1770 - }, - "expression": { - "id": 1771, - "node_type": 24, - "kind": 24, - "src": { - "line": 798, - "column": 8, - "start": 28305, - "end": 28316, - "length": 12, - "parent_index": 1770 - }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" + "expression": { + "id": 1821, + "node_type": 24, + "kind": 24, + "src": { + "line": 822, + "column": 18, + "start": 29841, + "end": 29860, + "length": 20, + "parent_index": 1820 + }, + "argument_types": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + } + ], + "arguments": [ + { + "id": 1823, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 822, + "column": 25, + "start": 29848, + "end": 29859, + "length": 12, + "parent_index": 1821 + }, + "member_location": { + "line": 822, + "column": 32, + "start": 29855, + "end": 29859, + "length": 5, + "parent_index": 1823 + }, + "expression": { + "id": 1824, + "node_type": 16, + "src": { + "line": 822, + "column": 25, + "start": 29848, + "end": 29853, + "length": 6, + "parent_index": 1823 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1824, + "is_pure": false, + "text": "params" + }, + "member_name": "token", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.token" + } + ], + "expression": { + "id": 1822, + "node_type": 16, + "src": { + "line": 822, + "column": 18, + "start": 29841, + "end": 29846, + "length": 6, + "parent_index": 1821 + }, + "name": "IERC20", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IERC20" + }, + "type_description": { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams)" + } + }, + "member_name": "balanceOf", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams)" + }, + "text": "IERC20(params.token).balanceOf" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_address$", + "type_string": "function(function(address))" + } } ], - "arguments": [ + "type_descriptions": [ { - "id": 1773, - "node_type": 16, - "src": { - "line": 798, - "column": 14, - "start": 28311, - "end": 28315, - "length": 5, - "parent_index": 1771 - }, - "name": "token", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 1773, - "is_pure": false + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_function_$_t_function_$_t_address$", + "type_string": "function(function(address))" } ], + "type_description": null + }, + { + "id": 1829, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 823, + "column": 12, + "start": 29900, + "end": 29915, + "length": 16, + "parent_index": 1798 + }, + "member_location": { + "line": 823, + "column": 19, + "start": 29907, + "end": 29915, + "length": 9, + "parent_index": 1829 + }, "expression": { - "id": 1772, + "id": 1830, "node_type": 16, "src": { - "line": 798, - "column": 8, - "start": 28305, - "end": 28309, - "length": 5, - "parent_index": 1771 + "line": 823, + "column": 12, + "start": 29900, + "end": 29905, + "length": 6, + "parent_index": 1829 }, - "name": "IWETH", + "name": "params", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "referenced_declaration": 1830, + "is_pure": false, + "text": "params" }, + "member_name": "amountMin", + "argument_types": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_function_payable$_t_address$", + "type_string": "function(address) payable" + }, + { + "type_identifier": "$_t_conditional", + "type_string": "conditional" + } + ], "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - "member_name": "withdraw", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", - "type_string": "function(function(function(address)))" - } - }, - { - "id": 1783, - "node_type": 24, - "kind": 24, - "src": { - "line": 799, - "column": 8, - "start": 28376, - "end": 28437, - "length": 62, - "parent_index": 1768 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", - "type_string": "function(function(int_const 0))" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.amountMin" }, { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - ], - "arguments": [ - { - "id": 1785, + "id": 1831, "node_type": 24, "kind": 24, "src": { - "line": 799, - "column": 24, - "start": 28392, - "end": 28409, - "length": 18, - "parent_index": 1783 + "line": 824, + "column": 12, + "start": 29930, + "end": 30122, + "length": 193, + "parent_index": 1798 }, "argument_types": [ { - "type_identifier": "t_function_$_t_rational_0_by_1$", - "type_string": "function(int_const 0)" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams)" } ], "arguments": [ { - "id": 1787, + "id": 1834, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 825, + "column": 16, + "start": 29971, + "end": 29980, + "length": 10, + "parent_index": 1831 + }, + "member_location": { + "line": 825, + "column": 23, + "start": 29978, + "end": 29980, + "length": 3, + "parent_index": 1834 + }, + "expression": { + "id": 1835, + "node_type": 16, + "src": { + "line": 825, + "column": 16, + "start": 29971, + "end": 29976, + "length": 6, + "parent_index": 1834 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1835, + "is_pure": false, + "text": "params" + }, + "member_name": "gas", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.gas" + }, + { + "id": 1836, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 826, + "column": 16, + "start": 30041, + "end": 30057, + "length": 17, + "parent_index": 1831 + }, + "member_location": { + "line": 826, + "column": 23, + "start": 30048, + "end": 30057, + "length": 10, + "parent_index": 1836 + }, + "expression": { + "id": 1837, + "node_type": 16, + "src": { + "line": 826, + "column": 16, + "start": 30041, + "end": 30046, + "length": 6, + "parent_index": 1836 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1837, + "is_pure": false, + "text": "params" + }, + "member_name": "dustAmount", + "argument_types": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + } + ], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.dustAmount" + }, + { + "id": 1838, "node_type": 24, "kind": 24, "src": { - "line": 799, - "column": 31, - "start": 28399, - "end": 28408, - "length": 10, - "parent_index": 1785 + "line": 827, + "column": 16, + "start": 30076, + "end": 30108, + "length": 33, + "parent_index": 1831 }, "argument_types": [ { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" } ], "arguments": [ { - "id": 1790, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "id": 1841, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 799, - "column": 39, - "start": 28407, - "end": 28407, - "length": 1, - "parent_index": 1787 + "line": 827, + "column": 33, + "start": 30093, + "end": 30107, + "length": 15, + "parent_index": 1838 + }, + "member_location": { + "line": 827, + "column": 40, + "start": 30100, + "end": 30107, + "length": 8, + "parent_index": 1841 + }, + "expression": { + "id": 1842, + "node_type": 16, + "src": { + "line": 827, + "column": 33, + "start": 30093, + "end": 30098, + "length": 6, + "parent_index": 1841 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1842, + "is_pure": false, + "text": "params" }, + "member_name": "receiver", + "argument_types": [], "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "text": "params.receiver" } ], "expression": { - "id": 1788, - "node_type": 16, + "id": 1839, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 799, - "column": 31, - "start": 28399, - "end": 28405, - "length": 7, - "parent_index": 1787 + "line": 827, + "column": 16, + "start": 30076, + "end": 30091, + "length": 16, + "parent_index": 1838 }, - "name": "address", - "type_name": { - "id": 1789, - "node_type": 30, + "member_location": { + "line": 827, + "column": 20, + "start": 30080, + "end": 30091, + "length": 12, + "parent_index": 1839 + }, + "expression": { + "id": 1840, + "node_type": 16, "src": { - "line": 799, - "column": 31, - "start": 28399, - "end": 28405, - "length": 7, - "parent_index": 1788 + "line": 827, + "column": 16, + "start": 30076, + "end": 30078, + "length": 3, + "parent_index": 1839 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, + "name": "abi", "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "abi" }, + "member_name": "encodePacked", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_magic_abi", + "type_string": "abi" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "text": "abi.encodePacked" }, "type_description": { - "type_identifier": "t_function_$_t_rational_0_by_1$", - "type_string": "function(int_const 0)" + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams)" } } ], "expression": { - "id": 1786, - "node_type": 16, + "id": 1832, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 799, - "column": 24, - "start": 28392, - "end": 28397, - "length": 6, - "parent_index": 1785 + "line": 824, + "column": 12, + "start": 29930, + "end": 29952, + "length": 23, + "parent_index": 1831 }, - "name": "IERC20", + "member_location": { + "line": 824, + "column": 28, + "start": 29946, + "end": 29952, + "length": 7, + "parent_index": 1832 + }, + "expression": { + "id": 1833, + "node_type": 16, + "src": { + "line": 824, + "column": 12, + "start": 29930, + "end": 29944, + "length": 15, + "parent_index": 1832 + }, + "name": "IStargateRouter", + "type_description": { + "type_identifier": "t_contract$_IStargateRouter_$700", + "type_string": "contract IStargateRouter" + }, + "overloaded_declarations": [], + "referenced_declaration": 700, + "is_pure": false, + "text": "IStargateRouter" + }, + "member_name": "lzTxObj", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_contract$_IStargateRouter_$700", + "type_string": "contract IStargateRouter" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "text": "IStargateRouter.lzTxObj" }, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", - "type_string": "function(function(int_const 0))" + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" } }, { - "id": 1791, - "node_type": 16, + "id": 1843, + "node_type": 24, + "kind": 24, "src": { - "line": 799, - "column": 44, - "start": 28412, - "end": 28413, - "length": 2, - "parent_index": 1783 - }, - "name": "to", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "line": 829, + "column": 12, + "start": 30137, + "end": 30169, + "length": 33, + "parent_index": 1798 }, - "overloaded_declarations": [], - "referenced_declaration": 1791, - "is_pure": false, "argument_types": [ { - "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", - "type_string": "function(function(int_const 0))" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" } - ] - }, - { - "id": 1792, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 799, - "column": 48, - "start": 28416, - "end": 28436, - "length": 21, - "parent_index": 1783 - }, - "member_location": { - "line": 799, - "column": 62, - "start": 28430, - "end": 28436, - "length": 7, - "parent_index": 1792 - }, - "expression": { - "id": 1793, - "node_type": 24, - "kind": 24, - "src": { - "line": 799, - "column": 48, - "start": 28416, - "end": 28428, - "length": 13, - "parent_index": 1792 - }, - "argument_types": [ - { - "type_identifier": "t_contract$_TokenAdapter_$1684", - "type_string": "contract TokenAdapter" - } - ], - "arguments": [ - { - "id": 1796, + ], + "arguments": [ + { + "id": 1846, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 829, + "column": 29, + "start": 30154, + "end": 30168, + "length": 15, + "parent_index": 1843 + }, + "member_location": { + "line": 829, + "column": 36, + "start": 30161, + "end": 30168, + "length": 8, + "parent_index": 1846 + }, + "expression": { + "id": 1847, "node_type": 16, "src": { - "line": 799, - "column": 56, - "start": 28424, - "end": 28427, - "length": 4, - "parent_index": 1793 + "line": 829, + "column": 29, + "start": 30154, + "end": 30159, + "length": 6, + "parent_index": 1846 }, - "name": "this", + "name": "params", "type_description": { - "type_identifier": "t_contract$_TokenAdapter_$1684", - "type_string": "contract TokenAdapter" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 1794, - "node_type": 16, - "src": { - "line": 799, - "column": 48, - "start": 28416, - "end": 28422, - "length": 7, - "parent_index": 1793 + "referenced_declaration": 1847, + "is_pure": false, + "text": "params" }, - "name": "address", - "type_name": { - "id": 1795, - "node_type": 30, - "src": { - "line": 799, - "column": 48, - "start": 28416, - "end": 28422, - "length": 7, - "parent_index": 1794 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "member_name": "receiver", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.receiver" + } + ], + "expression": { + "id": 1844, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 829, + "column": 12, + "start": 30137, + "end": 30152, + "length": 16, + "parent_index": 1843 + }, + "member_location": { + "line": 829, + "column": 16, + "start": 30141, + "end": 30152, + "length": 12, + "parent_index": 1844 + }, + "expression": { + "id": 1845, + "node_type": 16, + "src": { + "line": 829, + "column": 12, + "start": 30137, + "end": 30139, + "length": 3, + "parent_index": 1844 }, + "name": "abi", "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_magic_abi", + "type_string": "abi" }, "overloaded_declarations": [], "referenced_declaration": 0, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "text": "abi" }, + "member_name": "encodePacked", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "text": "abi.encodePacked" }, - "member_name": "balance", + "type_description": { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams)" + } + }, + { + "id": 1848, + "node_type": 16, + "src": { + "line": 830, + "column": 12, + "start": 30215, + "end": 30221, + "length": 7, + "parent_index": 1798 + }, + "name": "payload", + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + "overloaded_declarations": [], + "referenced_declaration": 1785, + "is_pure": false, "argument_types": [ { - "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", - "type_string": "function(function(int_const 0))" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_function_payable$_t_address$", + "type_string": "function(address) payable" + }, + { + "type_identifier": "$_t_conditional", + "type_string": "conditional" + }, + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" + }, + { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams)" } ], + "text": "payload" + } + ], + "expression": { + "id": 1799, + "node_type": 93, + "kind": 93, + "src": { + "line": 815, + "column": 8, + "start": 29567, + "end": 29615, + "length": 49, + "parent_index": 1798 + }, + "expression": { + "id": 1800, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 815, + "column": 8, + "start": 29567, + "end": 29585, + "length": 19, + "parent_index": 1799 + }, + "member_location": { + "line": 815, + "column": 23, + "start": 29582, + "end": 29585, + "length": 4, + "parent_index": 1800 + }, + "expression": { + "id": 1801, + "node_type": 16, + "src": { + "line": 815, + "column": 8, + "start": 29567, + "end": 29580, + "length": 14, + "parent_index": 1800 + }, + "name": "stargateRouter", + "type_description": { + "type_identifier": "t_contract$_IStargateRouter_$700", + "type_string": "contract IStargateRouter" + }, + "overloaded_declarations": [], + "referenced_declaration": 967, + "is_pure": false, + "text": "stargateRouter" + }, + "member_name": "swap", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } + "type_identifier": "t_contract$_IStargateRouter_$700", + "type_string": "contract IStargateRouter" + }, + "text": "stargateRouter.swap" + }, + "type_description": { + "type_identifier": "t_contract$_IStargateRouter_$700", + "type_string": "contract IStargateRouter" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_payable$_t_address$_$_t_conditional$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_bytes$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(address) payable,conditional,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams)),function(struct StargateAdapter.StargateTeleportParams),bytes)" + } + }, + { + "id": 1849, + "node_type": 24, + "kind": 24, + "src": { + "line": 833, + "column": 8, + "start": 30243, + "end": 30276, + "length": 34, + "parent_index": 1784 + }, + "argument_types": [ + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0x0001" + } + ], + "arguments": [ + { + "id": 1852, + "node_type": 17, + "kind": 49, + "value": "0x0001", + "hex_value": "307830303031", + "src": { + "line": 833, + "column": 35, + "start": 30270, + "end": 30275, + "length": 6, + "parent_index": 1849 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0x0001" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0x0001" } ], "expression": { - "id": 1784, - "node_type": 16, + "id": 1850, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 799, + "line": 833, "column": 8, - "start": 28376, - "end": 28390, - "length": 15, - "parent_index": 1783 + "start": 30243, + "end": 30268, + "length": 26, + "parent_index": 1849 }, - "name": "_transferTokens", + "member_location": { + "line": 833, + "column": 23, + "start": 30258, + "end": 30268, + "length": 11, + "parent_index": 1850 + }, + "expression": { + "id": 1851, + "node_type": 16, + "src": { + "line": 833, + "column": 8, + "start": 30243, + "end": 30256, + "length": 14, + "parent_index": 1850 + }, + "name": "stargateWidget", + "type_description": { + "type_identifier": "t_contract$_IStargateWidget_$797", + "type_string": "contract IStargateWidget" + }, + "overloaded_declarations": [], + "referenced_declaration": 971, + "is_pure": false, + "text": "stargateWidget" + }, + "member_name": "partnerSwap", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_contract$_IStargateWidget_$797", + "type_string": "contract IStargateWidget" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "text": "stargateWidget.partnerSwap" }, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_function_$_t_address$", - "type_string": "function(function(function(int_const 0)),address,function(address))" + "type_identifier": "t_function_$_t_rational_0_by_1$", + "type_string": "function(int_const 0x0001)" + } + }, + { + "id": 1853, + "node_type": 64, + "src": { + "line": 835, + "column": 8, + "start": 30288, + "end": 30333, + "length": 46, + "parent_index": 1772 + }, + "arguments": [ + { + "id": 1854, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 835, + "column": 35, + "start": 30315, + "end": 30331, + "length": 17, + "parent_index": 1853 + }, + "member_location": { + "line": 835, + "column": 42, + "start": 30322, + "end": 30331, + "length": 10, + "parent_index": 1854 + }, + "expression": { + "id": 1855, + "node_type": 16, + "src": { + "line": 835, + "column": 35, + "start": 30315, + "end": 30320, + "length": 6, + "parent_index": 1854 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1855, + "is_pure": false, + "text": "params" + }, + "member_name": "srcContext", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.srcContext" + } + ], + "expression": { + "id": 1856, + "node_type": 16, + "src": { + "line": 835, + "column": 13, + "start": 30293, + "end": 30313, + "length": 21, + "parent_index": 1853 + }, + "name": "StargateSushiXSwapSrc", + "type_description": { + "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00261719", + "type_string": "event StargateAdapter.StargateSushiXSwapSrc" + }, + "overloaded_declarations": [], + "referenced_declaration": 1719, + "is_pure": false, + "text": "StargateSushiXSwapSrc" } } ] @@ -33259,1022 +34901,1018 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1762, + "id": 1773, "node_type": 43, "src": { - "line": 797, - "column": 29, - "start": 28259, - "end": 28283, - "length": 25, - "parent_index": 1761 + "line": 808, + "column": 8, + "start": 29312, + "end": 29442, + "length": 131, + "parent_index": 1772 }, "parameters": [ { - "id": 1763, + "id": 1774, "node_type": 44, "src": { - "line": 797, - "column": 29, - "start": 28259, - "end": 28271, - "length": 13, - "parent_index": 1762 + "line": 808, + "column": 8, + "start": 29312, + "end": 29347, + "length": 36, + "parent_index": 1773 }, - "scope": 1761, - "name": "token", + "scope": 1772, + "name": "params", "type_name": { - "id": 1764, - "node_type": 30, + "id": 1775, + "node_type": 69, "src": { - "line": 797, - "column": 29, - "start": 28259, - "end": 28265, - "length": 7, - "parent_index": 1763 + "line": 808, + "column": 8, + "start": 29312, + "end": 29333, + "length": 22, + "parent_index": 1774 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, + "path_node": { + "id": 1776, + "name": "StargateTeleportParams", + "node_type": 52, + "referenced_declaration": 1731, + "src": { + "line": 808, + "column": 8, + "start": 29312, + "end": 29333, + "length": 22, + "parent_index": 1775 + }, + "name_location": { + "line": 808, + "column": 8, + "start": 29312, + "end": 29333, + "length": 22, + "parent_index": 1775 + } + }, + "referenced_declaration": 1731, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" } }, { - "id": 1765, + "id": 1777, "node_type": 44, "src": { - "line": 797, - "column": 44, - "start": 28274, - "end": 28283, - "length": 10, - "parent_index": 1762 + "line": 809, + "column": 8, + "start": 29358, + "end": 29379, + "length": 22, + "parent_index": 1773 }, - "scope": 1761, - "name": "to", + "scope": 1772, + "name": "actions", "type_name": { - "id": 1766, - "node_type": 30, + "id": 1778, + "node_type": 16, "src": { - "line": 797, - "column": 44, - "start": 28274, - "end": 28280, - "length": 7, - "parent_index": 1765 + "line": 809, + "column": 8, + "start": 29358, + "end": 29362, + "length": 5, + "parent_index": 1777 }, - "name": "address", - "state_mutability": 4, + "name": "uint8", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint8", + "type_string": "uint8" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint8", + "type_string": "uint8" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" }, { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "return_parameters": { - "id": 1767, - "node_type": 43, - "src": { - "line": 797, - "column": 4, - "start": 28234, - "end": 28444, - "length": 211, - "parent_index": 1761 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "_unwrapTransfer(address, address)", - "signature": "eca5118f", - "scope": 1707, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } - } - ], - "linearized_base_contracts": [ - 1707, - 1705, - 1706 - ], - "base_contracts": [], - "contract_dependencies": [ - 1705, - 1706 - ] - } - ], - "src": { - "line": 763, - "column": 0, - "start": 27210, - "end": 28446, - "length": 1237, - "parent_index": 272 - } - }, - { - "id": 1797, - "base_contracts": [], - "license": "GPL-3.0", - "exported_symbols": [ - { - "id": 1797, - "name": "IUniswapV2Pair", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IUniswapV2Pair.sol" - } - ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IUniswapV2Pair.sol", - "name": "IUniswapV2Pair", - "node_type": 1, - "nodes": [ - { - "id": 1810, - "node_type": 10, - "src": { - "line": 805, - "column": 0, - "start": 28486, - "end": 28509, - "length": 24, - "parent_index": 1797 - }, - "literals": [ - "pragma", - "solidity", - "\u003e=", - "0", - ".", - "5", - ".", - "0", - ";" - ], - "text": "pragma solidity \u003e=0.5.0;" - }, - { - "id": 1851, - "name": "IUniswapV2Pair", - "node_type": 35, - "src": { - "line": 807, - "column": 0, - "start": 28512, - "end": 30908, - "length": 2397, - "parent_index": 1797 - }, - "name_location": { - "line": 807, - "column": 10, - "start": 28522, - "end": 28535, - "length": 14, - "parent_index": 1851 - }, - "abstract": false, - "kind": 38, - "fully_implemented": true, - "nodes": [ - { - "id": 1853, - "node_type": 57, - "src": { - "line": 808, - "column": 4, - "start": 28543, - "end": 28617, - "length": 75, - "parent_index": 1851 - }, - "parameters": { - "id": 1854, - "node_type": 43, - "src": { - "line": 808, - "column": 4, - "start": 28543, - "end": 28617, - "length": 75, - "parent_index": 1853 - }, - "parameters": [ - { - "id": 1855, + "id": 1779, "node_type": 44, "src": { - "line": 808, - "column": 19, - "start": 28558, - "end": 28578, - "length": 21, - "parent_index": 1854 + "line": 810, + "column": 8, + "start": 29390, + "end": 29412, + "length": 23, + "parent_index": 1773 }, - "scope": 1853, - "name": "owner", + "scope": 1772, + "name": "values", "type_name": { - "id": 1856, - "node_type": 30, + "id": 1780, + "node_type": 16, "src": { - "line": 808, - "column": 19, - "start": 28558, - "end": 28564, + "line": 810, + "column": 8, + "start": 29390, + "end": 29396, "length": 7, - "parent_index": 1855 + "parent_index": 1779 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, { - "id": 1857, + "id": 1781, "node_type": 44, "src": { - "line": 808, - "column": 42, - "start": 28581, - "end": 28603, - "length": 23, - "parent_index": 1854 + "line": 811, + "column": 8, + "start": 29423, + "end": 29442, + "length": 20, + "parent_index": 1773 }, - "scope": 1853, - "name": "spender", + "scope": 1772, + "name": "datas", "type_name": { - "id": 1858, - "node_type": 30, + "id": 1782, + "node_type": 16, "src": { - "line": 808, - "column": 42, - "start": 28581, - "end": 28587, - "length": 7, - "parent_index": 1857 + "line": 811, + "column": 8, + "start": 29423, + "end": 29427, + "length": 5, + "parent_index": 1781 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 1859, - "node_type": 44, - "src": { - "line": 808, - "column": 67, - "start": 28606, - "end": 28615, - "length": 10, - "parent_index": 1854 - }, - "scope": 1853, - "name": "value", - "type_name": { - "id": 1860, - "node_type": 30, - "src": { - "line": 808, - "column": 67, - "start": 28606, - "end": 28609, - "length": 4, - "parent_index": 1859 - }, - "name": "uint", + "name": "bytes", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes", + "type_string": "bytes" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes", + "type_string": "bytes" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint8", + "type_string": "uint8" }, { "type_identifier": "t_uint256", "type_string": "uint256" - } - ] - }, - "name": "Approval", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Approval_\u00261853", - "type_string": "event IUniswapV2Pair.Approval" - } - }, - { - "id": 1862, - "node_type": 57, - "src": { - "line": 809, - "column": 4, - "start": 28623, - "end": 28691, - "length": 69, - "parent_index": 1851 - }, - "parameters": { - "id": 1863, - "node_type": 43, - "src": { - "line": 809, - "column": 4, - "start": 28623, - "end": 28691, - "length": 69, - "parent_index": 1862 - }, - "parameters": [ - { - "id": 1864, - "node_type": 44, - "src": { - "line": 809, - "column": 19, - "start": 28638, - "end": 28657, - "length": 20, - "parent_index": 1863 - }, - "scope": 1862, - "name": "from", - "type_name": { - "id": 1865, - "node_type": 30, - "src": { - "line": 809, - "column": 19, - "start": 28638, - "end": 28644, - "length": 7, - "parent_index": 1864 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 1866, - "node_type": 44, - "src": { - "line": 809, - "column": 41, - "start": 28660, - "end": 28677, - "length": 18, - "parent_index": 1863 - }, - "scope": 1862, - "name": "to", - "type_name": { - "id": 1867, - "node_type": 30, - "src": { - "line": 809, - "column": 41, - "start": 28660, - "end": 28666, - "length": 7, - "parent_index": 1866 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 1868, - "node_type": 44, - "src": { - "line": 809, - "column": 61, - "start": 28680, - "end": 28689, - "length": 10, - "parent_index": 1863 - }, - "scope": 1862, - "name": "value", - "type_name": { - "id": 1869, - "node_type": 30, - "src": { - "line": 809, - "column": 61, - "start": 28680, - "end": 28683, - "length": 4, - "parent_index": 1868 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "name": "Transfer", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Transfer_\u00261862", - "type_string": "event IUniswapV2Pair.Transfer" - } - }, - { - "id": 1871, - "name": "name", - "node_type": 42, - "kind": 41, - "src": { - "line": 811, - "column": 4, - "start": 28698, - "end": 28751, - "length": 54, - "parent_index": 1851 - }, - "name_location": { - "line": 811, - "column": 13, - "start": 28707, - "end": 28710, - "length": 4, - "parent_index": 1871 - }, - "body": { - "id": 1878, - "node_type": 46, - "kind": 0, - "src": { - "line": 811, - "column": 4, - "start": 28698, - "end": 28751, - "length": 54, - "parent_index": 1871 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1872, - "node_type": 43, - "src": { - "line": 811, - "column": 43, - "start": 28737, - "end": 28749, - "length": 13, - "parent_index": 1871 - }, - "parameters": [ - { - "id": 1873, - "node_type": 44, - "src": { - "line": 811, - "column": 43, - "start": 28737, - "end": 28749, - "length": 13, - "parent_index": 1872 - }, - "scope": 1871, - "name": "", - "type_name": { - "id": 1874, - "node_type": 30, - "src": { - "line": 811, - "column": 43, - "start": 28737, - "end": 28742, - "length": 6, - "parent_index": 1873 - }, - "name": "string", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_bytes", + "type_string": "bytes" } ] }, "return_parameters": { - "id": 1875, + "id": 1783, "node_type": 43, "src": { - "line": 811, - "column": 43, - "start": 28737, - "end": 28749, - "length": 13, - "parent_index": 1871 + "line": 807, + "column": 4, + "start": 29276, + "end": 30339, + "length": 1064, + "parent_index": 1772 }, - "parameters": [ - { - "id": 1876, - "node_type": 44, - "src": { - "line": 811, - "column": 43, - "start": 28737, - "end": 28749, - "length": 13, - "parent_index": 1875 - }, - "scope": 1871, - "name": "", - "type_name": { - "id": 1877, - "node_type": 30, - "src": { - "line": 811, - "column": 43, - "start": 28737, - "end": 28742, - "length": 6, - "parent_index": 1876 - }, - "name": "string", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_string", - "type_string": "string" - } - ] + "parameters": [], + "parameter_types": [] }, - "signature_raw": "name(string)", - "signature": "5b43bc99", - "scope": 1851, + "signature_raw": "_stargateTeleport(,uint8,uint256,bytes)", + "signature": "f5b01997", + "scope": 1705, "type_description": { - "type_identifier": "t_function_$_t_string$", - "type_string": "function(string)" - } + "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_uint8$_t_uint256$_t_bytes$", + "type_string": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes)" + }, + "text": "function_stargateTeleport(StargateTeleportParamsmemoryparams,uint8[]memoryactions,uint256[]memoryvalues,bytes[]memorydatas)internal{bytesmemorypayload=abi.encode(params.to,actions,values,datas,params.srcContext);stargateRouter.swap{value:address(this).balance}(params.dstChainId,params.srcPoolId,params.dstPoolId,payable(msg.sender),params.amount!=0?params.amount:IERC20(params.token).balanceOf(address(this)),params.amountMin,IStargateRouter.lzTxObj(params.gas,params.dustAmount,abi.encodePacked(params.receiver)),abi.encodePacked(params.receiver),payload);stargateWidget.partnerSwap(0x0001);emitStargateSushiXSwapSrc(params.srcContext);}" }, { - "id": 1880, - "name": "symbol", + "id": 1858, + "name": "getFee", "node_type": 42, "kind": 41, "src": { - "line": 812, + "line": 846, "column": 4, - "start": 28757, - "end": 28812, - "length": 56, - "parent_index": 1851 + "start": 30843, + "end": 31417, + "length": 575, + "parent_index": 1705 }, "name_location": { - "line": 812, + "line": 846, "column": 13, - "start": 28766, - "end": 28771, + "start": 30852, + "end": 30857, "length": 6, - "parent_index": 1880 + "parent_index": 1858 }, "body": { - "id": 1887, + "id": 1877, "node_type": 46, "kind": 0, "src": { - "line": 812, - "column": 4, - "start": 28757, - "end": 28812, - "length": 56, - "parent_index": 1880 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1881, - "node_type": 43, - "src": { - "line": 812, - "column": 45, - "start": 28798, - "end": 28810, - "length": 13, - "parent_index": 1880 + "line": 853, + "column": 51, + "start": 31076, + "end": 31417, + "length": 342, + "parent_index": 1858 }, - "parameters": [ + "implemented": true, + "statements": [ { - "id": 1882, - "node_type": 44, + "id": 1878, + "node_type": 27, "src": { - "line": 812, - "column": 45, - "start": 28798, - "end": 28810, - "length": 13, - "parent_index": 1881 + "line": 854, + "column": 8, + "start": 31086, + "end": 31411, + "length": 326, + "parent_index": 1877 }, - "scope": 1880, - "name": "", - "type_name": { - "id": 1883, - "node_type": 30, + "expression": { + "id": 1879, + "node_type": 27, "src": { - "line": 812, - "column": 45, - "start": 28798, - "end": 28803, - "length": 6, - "parent_index": 1882 + "line": 854, + "column": 8, + "start": 31086, + "end": 31410, + "length": 325, + "parent_index": 1878 }, - "name": "string", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_string", - "type_string": "string" - } - ] - }, - "return_parameters": { - "id": 1884, - "node_type": 43, - "src": { - "line": 812, - "column": 45, - "start": 28798, - "end": 28810, - "length": 13, - "parent_index": 1880 - }, - "parameters": [ - { - "id": 1885, - "node_type": 44, - "src": { - "line": 812, - "column": 45, - "start": 28798, - "end": 28810, - "length": 13, - "parent_index": 1884 - }, - "scope": 1880, - "name": "", - "type_name": { - "id": 1886, - "node_type": 30, - "src": { - "line": 812, - "column": 45, - "start": 28798, - "end": 28803, - "length": 6, - "parent_index": 1885 + "operator": 11, + "left_expression": { + "id": 1880, + "node_type": 60, + "src": { + "line": 854, + "column": 8, + "start": 31086, + "end": 31091, + "length": 6, + "parent_index": 1879 + }, + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 1881, + "node_type": 16, + "src": { + "line": 854, + "column": 9, + "start": 31087, + "end": 31087, + "length": 1, + "parent_index": 1880 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 1873, + "is_pure": false, + "text": "a" + }, + { + "id": 1882, + "node_type": 16, + "src": { + "line": 854, + "column": 12, + "start": 31090, + "end": 31090, + "length": 1, + "parent_index": 1880 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 1875, + "is_pure": false, + "text": "b" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" + } }, - "name": "string", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_string", - "type_string": "string" - } - ] - }, - "signature_raw": "symbol(string)", - "signature": "41bb0559", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_string$", - "type_string": "function(string)" - } - }, - { - "id": 1889, - "name": "decimals", - "node_type": 42, - "kind": 41, - "src": { - "line": 813, - "column": 4, - "start": 28818, - "end": 28867, - "length": 50, - "parent_index": 1851 - }, - "name_location": { - "line": 813, - "column": 13, - "start": 28827, - "end": 28834, - "length": 8, - "parent_index": 1889 - }, - "body": { - "id": 1896, - "node_type": 46, - "kind": 0, - "src": { - "line": 813, - "column": 4, - "start": 28818, - "end": 28867, - "length": 50, - "parent_index": 1889 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], + "right_expression": { + "id": 1883, + "node_type": 24, + "kind": 24, + "src": { + "line": 854, + "column": 17, + "start": 31095, + "end": 31410, + "length": 316, + "parent_index": 1879 + }, + "argument_types": [ + { + "type_identifier": "t_uint16", + "type_string": "uint16" + }, + { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + { + "type_identifier": "t_function_$_t_bytes$", + "type_string": "function(bytes)" + }, + { + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", + "type_string": "function(uint256,uint256,function(address))" + } + ], + "arguments": [ + { + "id": 1886, + "node_type": 16, + "src": { + "line": 855, + "column": 12, + "start": 31141, + "end": 31151, + "length": 11, + "parent_index": 1883 + }, + "name": "_dstChainId", + "type_description": { + "type_identifier": "t_uint16", + "type_string": "uint16" + }, + "overloaded_declarations": [], + "referenced_declaration": 1886, + "is_pure": false, + "text": "_dstChainId" + }, + { + "id": 1887, + "node_type": 16, + "src": { + "line": 856, + "column": 12, + "start": 31166, + "end": 31178, + "length": 13, + "parent_index": 1883 + }, + "name": "_functionType", + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + "overloaded_declarations": [], + "referenced_declaration": 1887, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint16", + "type_string": "uint16" + } + ], + "text": "_functionType" + }, + { + "id": 1888, + "node_type": 24, + "kind": 24, + "src": { + "line": 857, + "column": 12, + "start": 31193, + "end": 31219, + "length": 27, + "parent_index": 1883 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 1891, + "node_type": 16, + "src": { + "line": 857, + "column": 29, + "start": 31210, + "end": 31218, + "length": 9, + "parent_index": 1888 + }, + "name": "_receiver", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 1891, + "is_pure": false, + "text": "_receiver" + } + ], + "expression": { + "id": 1889, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 857, + "column": 12, + "start": 31193, + "end": 31208, + "length": 16, + "parent_index": 1888 + }, + "member_location": { + "line": 857, + "column": 16, + "start": 31197, + "end": 31208, + "length": 12, + "parent_index": 1889 + }, + "expression": { + "id": 1890, + "node_type": 16, + "src": { + "line": 857, + "column": 12, + "start": 31193, + "end": 31195, + "length": 3, + "parent_index": 1889 + }, + "name": "abi", + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "abi" + }, + "member_name": "encodePacked", + "argument_types": [], + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "text": "abi.encodePacked" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + }, + { + "id": 1892, + "node_type": 24, + "kind": 24, + "src": { + "line": 858, + "column": 12, + "start": 31234, + "end": 31253, + "length": 20, + "parent_index": 1883 + }, + "argument_types": [ + { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + ], + "arguments": [ + { + "id": 1895, + "node_type": 16, + "src": { + "line": 858, + "column": 23, + "start": 31245, + "end": 31252, + "length": 8, + "parent_index": 1892 + }, + "name": "_payload", + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + "overloaded_declarations": [], + "referenced_declaration": 1895, + "is_pure": false, + "text": "_payload" + } + ], + "expression": { + "id": 1893, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 858, + "column": 12, + "start": 31234, + "end": 31243, + "length": 10, + "parent_index": 1892 + }, + "member_location": { + "line": 858, + "column": 16, + "start": 31238, + "end": 31243, + "length": 6, + "parent_index": 1893 + }, + "expression": { + "id": 1894, + "node_type": 16, + "src": { + "line": 858, + "column": 12, + "start": 31234, + "end": 31236, + "length": 3, + "parent_index": 1893 + }, + "name": "abi", + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "abi" + }, + "member_name": "encode", + "argument_types": [], + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "text": "abi.encode" + }, + "type_description": { + "type_identifier": "t_function_$_t_bytes$", + "type_string": "function(bytes)" + } + }, + { + "id": 1896, + "node_type": 24, + "kind": 24, + "src": { + "line": 859, + "column": 12, + "start": 31268, + "end": 31400, + "length": 133, + "parent_index": 1883 + }, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "arguments": [ + { + "id": 1899, + "node_type": 16, + "src": { + "line": 860, + "column": 16, + "start": 31309, + "end": 31312, + "length": 4, + "parent_index": 1896 + }, + "name": "_gas", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 1899, + "is_pure": false, + "text": "_gas" + }, + { + "id": 1900, + "node_type": 16, + "src": { + "line": 861, + "column": 16, + "start": 31331, + "end": 31341, + "length": 11, + "parent_index": 1896 + }, + "name": "_dustAmount", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 1900, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "_dustAmount" + }, + { + "id": 1901, + "node_type": 24, + "kind": 24, + "src": { + "line": 862, + "column": 16, + "start": 31360, + "end": 31386, + "length": 27, + "parent_index": 1896 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 1904, + "node_type": 16, + "src": { + "line": 862, + "column": 33, + "start": 31377, + "end": 31385, + "length": 9, + "parent_index": 1901 + }, + "name": "_receiver", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 1904, + "is_pure": false, + "text": "_receiver" + } + ], + "expression": { + "id": 1902, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 862, + "column": 16, + "start": 31360, + "end": 31375, + "length": 16, + "parent_index": 1901 + }, + "member_location": { + "line": 862, + "column": 20, + "start": 31364, + "end": 31375, + "length": 12, + "parent_index": 1902 + }, + "expression": { + "id": 1903, + "node_type": 16, + "src": { + "line": 862, + "column": 16, + "start": 31360, + "end": 31362, + "length": 3, + "parent_index": 1902 + }, + "name": "abi", + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "abi" + }, + "member_name": "encodePacked", + "argument_types": [], + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "text": "abi.encodePacked" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + } + ], + "expression": { + "id": 1897, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 859, + "column": 12, + "start": 31268, + "end": 31290, + "length": 23, + "parent_index": 1896 + }, + "member_location": { + "line": 859, + "column": 28, + "start": 31284, + "end": 31290, + "length": 7, + "parent_index": 1897 + }, + "expression": { + "id": 1898, + "node_type": 16, + "src": { + "line": 859, + "column": 12, + "start": 31268, + "end": 31282, + "length": 15, + "parent_index": 1897 + }, + "name": "IStargateRouter", + "type_description": { + "type_identifier": "t_contract$_IStargateRouter_$700", + "type_string": "contract IStargateRouter" + }, + "overloaded_declarations": [], + "referenced_declaration": 700, + "is_pure": false, + "text": "IStargateRouter" + }, + "member_name": "lzTxObj", + "argument_types": [], + "type_description": { + "type_identifier": "t_contract$_IStargateRouter_$700", + "type_string": "contract IStargateRouter" + }, + "text": "IStargateRouter.lzTxObj" + }, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", + "type_string": "function(uint256,uint256,function(address))" + } + } + ], + "expression": { + "id": 1884, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 854, + "column": 17, + "start": 31095, + "end": 31126, + "length": 32, + "parent_index": 1883 + }, + "member_location": { + "line": 854, + "column": 32, + "start": 31110, + "end": 31126, + "length": 17, + "parent_index": 1884 + }, + "expression": { + "id": 1885, + "node_type": 16, + "src": { + "line": 854, + "column": 17, + "start": 31095, + "end": 31108, + "length": 14, + "parent_index": 1884 + }, + "name": "stargateRouter", + "type_description": { + "type_identifier": "t_contract$_IStargateRouter_$700", + "type_string": "contract IStargateRouter" + }, + "overloaded_declarations": [], + "referenced_declaration": 967, + "is_pure": false, + "text": "stargateRouter" + }, + "member_name": "quoteLayerZeroFee", + "argument_types": [], + "type_description": { + "type_identifier": "t_contract$_IStargateRouter_$700", + "type_string": "contract IStargateRouter" + }, + "text": "stargateRouter.quoteLayerZeroFee" + }, + "type_description": { + "type_identifier": "t_function_$_t_uint16$_t_uint8$_t_function_$_t_address$_t_function_$_t_bytes$_t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", + "type_string": "function(uint16,uint8,function(address),function(bytes),function(uint256,uint256,function(address)))" + } + }, + "type_description": { + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" + } + }, + "type_description": { + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" + }, + "text": "(a,b)=stargateRouter.quoteLayerZeroFee(_dstChainId,_functionType,abi.encodePacked(_receiver),abi.encode(_payload),IStargateRouter.lzTxObj(_gas,_dustAmount,abi.encodePacked(_receiver)));" + } + ] + }, + "implemented": true, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], "parameters": { - "id": 1890, + "id": 1859, "node_type": 43, "src": { - "line": 813, - "column": 47, - "start": 28861, - "end": 28865, - "length": 5, - "parent_index": 1889 + "line": 847, + "column": 8, + "start": 30868, + "end": 31023, + "length": 156, + "parent_index": 1858 }, "parameters": [ { - "id": 1891, + "id": 1860, "node_type": 44, "src": { - "line": 813, - "column": 47, - "start": 28861, - "end": 28865, - "length": 5, - "parent_index": 1890 + "line": 847, + "column": 8, + "start": 30868, + "end": 30885, + "length": 18, + "parent_index": 1859 }, - "scope": 1889, - "name": "", + "scope": 1858, + "name": "_dstChainId", "type_name": { - "id": 1892, + "id": 1861, "node_type": 30, "src": { - "line": 813, - "column": 47, - "start": 28861, - "end": 28865, - "length": 5, - "parent_index": 1891 + "line": 847, + "column": 8, + "start": 30868, + "end": 30873, + "length": 6, + "parent_index": 1860 }, - "name": "uint8", + "name": "uint16", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" + "type_identifier": "t_uint16", + "type_string": "uint16" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" + "type_identifier": "t_uint16", + "type_string": "uint16" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - ] - }, - "return_parameters": { - "id": 1893, - "node_type": 43, - "src": { - "line": 813, - "column": 47, - "start": 28861, - "end": 28865, - "length": 5, - "parent_index": 1889 - }, - "parameters": [ + }, { - "id": 1894, + "id": 1862, "node_type": 44, "src": { - "line": 813, - "column": 47, - "start": 28861, - "end": 28865, - "length": 5, - "parent_index": 1893 + "line": 848, + "column": 8, + "start": 30896, + "end": 30914, + "length": 19, + "parent_index": 1859 }, - "scope": 1889, - "name": "", + "scope": 1858, + "name": "_functionType", "type_name": { - "id": 1895, + "id": 1863, "node_type": 30, "src": { - "line": 813, - "column": 47, - "start": 28861, - "end": 28865, + "line": 848, + "column": 8, + "start": 30896, + "end": 30900, "length": 5, - "parent_index": 1894 + "parent_index": 1862 }, "name": "uint8", "referenced_declaration": 0, @@ -34290,268 +35928,30 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - } - ], - "parameter_types": [ + }, { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - ] - }, - "signature_raw": "decimals(uint8)", - "signature": "82fd60ab", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_uint8$", - "type_string": "function(uint8)" - } - }, - { - "id": 1898, - "name": "totalSupply", - "node_type": 42, - "kind": 41, - "src": { - "line": 814, - "column": 4, - "start": 28873, - "end": 28924, - "length": 52, - "parent_index": 1851 - }, - "name_location": { - "line": 814, - "column": 13, - "start": 28882, - "end": 28892, - "length": 11, - "parent_index": 1898 - }, - "body": { - "id": 1905, - "node_type": 46, - "kind": 0, - "src": { - "line": 814, - "column": 4, - "start": 28873, - "end": 28924, - "length": 52, - "parent_index": 1898 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1899, - "node_type": 43, - "src": { - "line": 814, - "column": 50, - "start": 28919, - "end": 28922, - "length": 4, - "parent_index": 1898 - }, - "parameters": [ - { - "id": 1900, - "node_type": 44, - "src": { - "line": 814, - "column": 50, - "start": 28919, - "end": 28922, - "length": 4, - "parent_index": 1899 - }, - "scope": 1898, - "name": "", - "type_name": { - "id": 1901, - "node_type": 30, - "src": { - "line": 814, - "column": 50, - "start": 28919, - "end": 28922, - "length": 4, - "parent_index": 1900 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 1902, - "node_type": 43, - "src": { - "line": 814, - "column": 50, - "start": 28919, - "end": 28922, - "length": 4, - "parent_index": 1898 - }, - "parameters": [ - { - "id": 1903, - "node_type": 44, - "src": { - "line": 814, - "column": 50, - "start": 28919, - "end": 28922, - "length": 4, - "parent_index": 1902 - }, - "scope": 1898, - "name": "", - "type_name": { - "id": 1904, - "node_type": 30, - "src": { - "line": 814, - "column": 50, - "start": 28919, - "end": 28922, - "length": 4, - "parent_index": 1903 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "totalSupply(uint)", - "signature": "247f0ca7", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - }, - { - "id": 1907, - "name": "balanceOf", - "node_type": 42, - "kind": 41, - "src": { - "line": 815, - "column": 4, - "start": 28930, - "end": 28992, - "length": 63, - "parent_index": 1851 - }, - "name_location": { - "line": 815, - "column": 13, - "start": 28939, - "end": 28947, - "length": 9, - "parent_index": 1907 - }, - "body": { - "id": 1914, - "node_type": 46, - "kind": 0, - "src": { - "line": 815, - "column": 4, - "start": 28930, - "end": 28992, - "length": 63, - "parent_index": 1907 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1908, - "node_type": 43, - "src": { - "line": 815, - "column": 23, - "start": 28949, - "end": 28961, - "length": 13, - "parent_index": 1907 - }, - "parameters": [ - { - "id": 1909, + "id": 1864, "node_type": 44, "src": { - "line": 815, - "column": 23, - "start": 28949, - "end": 28961, - "length": 13, - "parent_index": 1908 + "line": 849, + "column": 8, + "start": 30925, + "end": 30941, + "length": 17, + "parent_index": 1859 }, - "scope": 1907, - "name": "owner", + "scope": 1858, + "name": "_receiver", "type_name": { - "id": 1910, + "id": 1865, "node_type": 30, "src": { - "line": 815, - "column": 23, - "start": 28949, - "end": 28955, + "line": 849, + "column": 8, + "start": 30925, + "end": 30931, "length": 7, - "parent_index": 1909 + "parent_index": 1864 }, "name": "address", "state_mutability": 4, @@ -34568,52 +35968,32 @@ "type_identifier": "t_address", "type_string": "address" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "return_parameters": { - "id": 1911, - "node_type": 43, - "src": { - "line": 815, - "column": 61, - "start": 28987, - "end": 28990, - "length": 4, - "parent_index": 1907 - }, - "parameters": [ + }, { - "id": 1912, + "id": 1866, "node_type": 44, "src": { - "line": 815, - "column": 61, - "start": 28987, - "end": 28990, - "length": 4, - "parent_index": 1911 + "line": 850, + "column": 8, + "start": 30952, + "end": 30963, + "length": 12, + "parent_index": 1859 }, - "scope": 1907, - "name": "", + "scope": 1858, + "name": "_gas", "type_name": { - "id": 1913, + "id": 1867, "node_type": 30, "src": { - "line": 815, - "column": 61, - "start": 28987, - "end": 28990, - "length": 4, - "parent_index": 1912 + "line": 850, + "column": 8, + "start": 30952, + "end": 30958, + "length": 7, + "parent_index": 1866 }, - "name": "uint", + "name": "uint256", "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", @@ -34627,206 +36007,150 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "balanceOf(address)", - "signature": "70a08231", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - { - "id": 1916, - "name": "allowance", - "node_type": 42, - "kind": 41, - "src": { - "line": 816, - "column": 4, - "start": 28998, - "end": 29077, - "length": 80, - "parent_index": 1851 - }, - "name_location": { - "line": 816, - "column": 13, - "start": 29007, - "end": 29015, - "length": 9, - "parent_index": 1916 - }, - "body": { - "id": 1925, - "node_type": 46, - "kind": 0, - "src": { - "line": 816, - "column": 4, - "start": 28998, - "end": 29077, - "length": 80, - "parent_index": 1916 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1917, - "node_type": 43, - "src": { - "line": 816, - "column": 23, - "start": 29017, - "end": 29046, - "length": 30, - "parent_index": 1916 - }, - "parameters": [ + }, { - "id": 1918, + "id": 1868, "node_type": 44, "src": { - "line": 816, - "column": 23, - "start": 29017, - "end": 29029, - "length": 13, - "parent_index": 1917 + "line": 851, + "column": 8, + "start": 30974, + "end": 30992, + "length": 19, + "parent_index": 1859 }, - "scope": 1916, - "name": "owner", + "scope": 1858, + "name": "_dustAmount", "type_name": { - "id": 1919, + "id": 1869, "node_type": 30, "src": { - "line": 816, - "column": 23, - "start": 29017, - "end": 29023, + "line": 851, + "column": 8, + "start": 30974, + "end": 30980, "length": 7, - "parent_index": 1918 + "parent_index": 1868 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 1920, + "id": 1870, "node_type": 44, "src": { - "line": 816, - "column": 38, - "start": 29032, - "end": 29046, - "length": 15, - "parent_index": 1917 + "line": 852, + "column": 8, + "start": 31003, + "end": 31023, + "length": 21, + "parent_index": 1859 }, - "scope": 1916, - "name": "spender", + "scope": 1858, + "name": "_payload", "type_name": { - "id": 1921, + "id": 1871, "node_type": 30, "src": { - "line": 816, - "column": 38, - "start": 29032, - "end": 29038, - "length": 7, - "parent_index": 1920 + "line": 852, + "column": 8, + "start": 31003, + "end": 31007, + "length": 5, + "parent_index": 1870 }, - "name": "address", - "state_mutability": 4, + "name": "bytes", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes", + "type_string": "bytes" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes", + "type_string": "bytes" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint16", + "type_string": "uint16" + }, + { + "type_identifier": "t_uint8", + "type_string": "uint8" }, { "type_identifier": "t_address", "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_bytes", + "type_string": "bytes" } ] }, "return_parameters": { - "id": 1922, + "id": 1872, "node_type": 43, "src": { - "line": 816, - "column": 78, - "start": 29072, - "end": 29075, - "length": 4, - "parent_index": 1916 + "line": 853, + "column": 29, + "start": 31054, + "end": 31073, + "length": 20, + "parent_index": 1858 }, "parameters": [ { - "id": 1923, + "id": 1873, "node_type": 44, "src": { - "line": 816, - "column": 78, - "start": 29072, - "end": 29075, - "length": 4, - "parent_index": 1922 + "line": 853, + "column": 29, + "start": 31054, + "end": 31062, + "length": 9, + "parent_index": 1872 }, - "scope": 1916, - "name": "", + "scope": 1858, + "name": "a", "type_name": { - "id": 1924, + "id": 1874, "node_type": 30, "src": { - "line": 816, - "column": 78, - "start": 29072, - "end": 29075, - "length": 4, - "parent_index": 1923 + "line": 853, + "column": 29, + "start": 31054, + "end": 31060, + "length": 7, + "parent_index": 1873 }, - "name": "uint", + "name": "uint256", "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", @@ -34840,142 +36164,32 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } - }, - { - "id": 1927, - "name": "approve", - "node_type": 42, - "kind": 41, - "src": { - "line": 818, - "column": 4, - "start": 29084, - "end": 29153, - "length": 70, - "parent_index": 1851 - }, - "name_location": { - "line": 818, - "column": 13, - "start": 29093, - "end": 29099, - "length": 7, - "parent_index": 1927 - }, - "body": { - "id": 1936, - "node_type": 46, - "kind": 0, - "src": { - "line": 818, - "column": 4, - "start": 29084, - "end": 29153, - "length": 70, - "parent_index": 1927 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1928, - "node_type": 43, - "src": { - "line": 818, - "column": 21, - "start": 29101, - "end": 29127, - "length": 27, - "parent_index": 1927 - }, - "parameters": [ - { - "id": 1929, - "node_type": 44, - "src": { - "line": 818, - "column": 21, - "start": 29101, - "end": 29115, - "length": 15, - "parent_index": 1928 - }, - "scope": 1927, - "name": "spender", - "type_name": { - "id": 1930, - "node_type": 30, - "src": { - "line": 818, - "column": 21, - "start": 29101, - "end": 29107, - "length": 7, - "parent_index": 1929 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } }, { - "id": 1931, + "id": 1875, "node_type": 44, "src": { - "line": 818, - "column": 38, - "start": 29118, - "end": 29127, - "length": 10, - "parent_index": 1928 + "line": 853, + "column": 40, + "start": 31065, + "end": 31073, + "length": 9, + "parent_index": 1872 }, - "scope": 1927, - "name": "value", + "scope": 1858, + "name": "b", "type_name": { - "id": 1932, + "id": 1876, "node_type": 30, "src": { - "line": 818, - "column": 38, - "start": 29118, - "end": 29121, - "length": 4, - "parent_index": 1931 + "line": 853, + "column": 40, + "start": 31065, + "end": 31071, + "length": 7, + "parent_index": 1875 }, - "name": "uint", + "name": "uint256", "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", @@ -34993,8 +36207,8 @@ ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { "type_identifier": "t_uint256", @@ -35002,1244 +36216,2189 @@ } ] }, - "return_parameters": { - "id": 1933, - "node_type": 43, - "src": { - "line": 818, - "column": 68, - "start": 29148, - "end": 29151, - "length": 4, - "parent_index": 1927 - }, - "parameters": [ - { - "id": 1934, - "node_type": 44, - "src": { - "line": 818, - "column": 68, - "start": 29148, - "end": 29151, - "length": 4, - "parent_index": 1933 - }, - "scope": 1927, - "name": "", - "type_name": { - "id": 1935, - "node_type": 30, - "src": { - "line": 818, - "column": 68, - "start": 29148, - "end": 29151, - "length": 4, - "parent_index": 1934 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "approve(address, uint)", - "signature": "715ea5f2", - "scope": 1851, + "signature_raw": "getFee(uint16,uint8,address,uint256,uint256,bytes)", + "signature": "6ce4fe03", + "scope": 1705, "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } + "type_identifier": "t_function_$_t_uint16$_t_uint8$_t_address$_t_uint256$_t_uint256$_t_bytes$", + "type_string": "function(uint16,uint8,address,uint256,uint256,bytes)" + }, + "text": "functiongetFee(uint16_dstChainId,uint8_functionType,address_receiver,uint256_gas,uint256_dustAmount,bytesmemory_payload)externalviewreturns(uint256a,uint256b){(a,b)=stargateRouter.quoteLayerZeroFee(_dstChainId,_functionType,abi.encodePacked(_receiver),abi.encode(_payload),IStargateRouter.lzTxObj(_gas,_dustAmount,abi.encodePacked(_receiver)));}" }, { - "id": 1938, - "name": "transfer", + "id": 1906, + "name": "sgReceive", "node_type": 42, "kind": 41, "src": { - "line": 819, + "line": 871, "column": 4, - "start": 29159, - "end": 29224, - "length": 66, - "parent_index": 1851 + "start": 31619, + "end": 32837, + "length": 1219, + "parent_index": 1705 }, "name_location": { - "line": 819, + "line": 871, "column": 13, - "start": 29168, - "end": 29175, - "length": 8, - "parent_index": 1938 + "start": 31628, + "end": 31636, + "length": 9, + "parent_index": 1906 }, "body": { - "id": 1947, + "id": 1922, "node_type": 46, "kind": 0, "src": { - "line": 819, - "column": 4, - "start": 29159, - "end": 29224, - "length": 66, - "parent_index": 1938 + "line": 878, + "column": 24, + "start": 31797, + "end": 32837, + "length": 1041, + "parent_index": 1906 }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1939, - "node_type": 43, - "src": { - "line": 819, - "column": 22, - "start": 29177, - "end": 29198, - "length": 22, - "parent_index": 1938 - }, - "parameters": [ + "implemented": true, + "statements": [ { - "id": 1940, - "node_type": 44, + "id": 1923, + "node_type": 48, "src": { - "line": 819, - "column": 22, - "start": 29177, - "end": 29186, - "length": 10, - "parent_index": 1939 + "line": 879, + "column": 0, + "start": 31807, + "end": 31876, + "length": 70, + "parent_index": 1922 }, - "scope": 1938, - "name": "to", - "type_name": { - "id": 1941, - "node_type": 30, + "condition": { + "id": 1924, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 819, - "column": 22, - "start": 29177, - "end": 29183, - "length": 7, - "parent_index": 1940 + "line": 879, + "column": 12, + "start": 31811, + "end": 31847, + "length": 37, + "parent_index": 1923 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 1942, - "node_type": 44, - "src": { - "line": 819, - "column": 34, - "start": 29189, - "end": 29198, - "length": 10, - "parent_index": 1939 - }, - "scope": 1938, - "name": "value", - "type_name": { - "id": 1943, - "node_type": 30, - "src": { - "line": 819, - "column": 34, - "start": 29189, - "end": 29192, - "length": 4, - "parent_index": 1942 + "operator": 12, + "left_expression": { + "id": 1925, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 879, + "column": 12, + "start": 31811, + "end": 31820, + "length": 10, + "parent_index": 1924 + }, + "member_location": { + "line": 879, + "column": 16, + "start": 31815, + "end": 31820, + "length": 6, + "parent_index": 1925 + }, + "expression": { + "id": 1926, + "node_type": 16, + "src": { + "line": 879, + "column": 12, + "start": 31811, + "end": 31813, + "length": 3, + "parent_index": 1925 + }, + "name": "msg", + "type_description": { + "type_identifier": "t_magic_message", + "type_string": "msg" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "msg" + }, + "member_name": "sender", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "msg.sender" }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 1944, - "node_type": 43, - "src": { - "line": 819, - "column": 64, - "start": 29219, - "end": 29222, - "length": 4, - "parent_index": 1938 - }, - "parameters": [ - { - "id": 1945, - "node_type": 44, - "src": { - "line": 819, - "column": 64, - "start": 29219, - "end": 29222, - "length": 4, - "parent_index": 1944 - }, - "scope": 1938, - "name": "", - "type_name": { - "id": 1946, - "node_type": 30, - "src": { - "line": 819, - "column": 64, - "start": 29219, - "end": 29222, - "length": 4, - "parent_index": 1945 + "right_expression": { + "id": 1927, + "node_type": 24, + "kind": 24, + "src": { + "line": 879, + "column": 26, + "start": 31825, + "end": 31847, + "length": 23, + "parent_index": 1924 + }, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "arguments": [ + { + "id": 1930, + "node_type": 16, + "src": { + "line": 879, + "column": 34, + "start": 31833, + "end": 31846, + "length": 14, + "parent_index": 1927 + }, + "name": "stargateRouter", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "stargateRouter" + } + ], + "expression": { + "id": 1928, + "node_type": 16, + "src": { + "line": 879, + "column": 26, + "start": 31825, + "end": 31831, + "length": 7, + "parent_index": 1927 + }, + "name": "address", + "type_name": { + "id": 1929, + "node_type": 30, + "src": { + "line": 879, + "column": 26, + "start": 31825, + "end": 31831, + "length": 7, + "parent_index": 1928 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } }, - "name": "bool", - "referenced_declaration": 0, "type_description": { "type_identifier": "t_bool", "type_string": "bool" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "transfer(address, uint)", - "signature": "9e17553b", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } - }, - { - "id": 1949, - "name": "transferFrom", - "node_type": 42, - "kind": 41, - "src": { - "line": 820, - "column": 4, - "start": 29230, - "end": 29313, - "length": 84, - "parent_index": 1851 - }, - "name_location": { - "line": 820, - "column": 13, - "start": 29239, - "end": 29250, - "length": 12, - "parent_index": 1949 - }, - "body": { - "id": 1960, - "node_type": 46, - "kind": 0, - "src": { - "line": 820, - "column": 4, - "start": 29230, - "end": 29313, - "length": 84, - "parent_index": 1949 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1950, - "node_type": 43, - "src": { - "line": 820, - "column": 26, - "start": 29252, - "end": 29287, - "length": 36, - "parent_index": 1949 - }, - "parameters": [ - { - "id": 1951, - "node_type": 44, - "src": { - "line": 820, - "column": 26, - "start": 29252, - "end": 29263, - "length": 12, - "parent_index": 1950 - }, - "scope": 1949, - "name": "from", - "type_name": { - "id": 1952, - "node_type": 30, + "body": { + "id": 1931, + "node_type": 46, + "kind": 0, "src": { - "line": 820, - "column": 26, - "start": 29252, - "end": 29258, - "length": 7, - "parent_index": 1951 + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "implemented": false, + "statements": [] } }, { - "id": 1953, + "id": 1932, "node_type": 44, "src": { - "line": 820, - "column": 40, - "start": 29266, - "end": 29275, - "length": 10, - "parent_index": 1950 + "line": 881, + "column": 8, + "start": 31887, + "end": 32131, + "length": 245, + "parent_index": 1922 }, - "scope": 1949, - "name": "to", - "type_name": { - "id": 1954, - "node_type": 30, - "src": { - "line": 820, - "column": 40, - "start": 29266, - "end": 29272, - "length": 7, - "parent_index": 1953 + "assignments": [ + 1933, + 1935, + 1937, + 1939, + 1941 + ], + "declarations": [ + { + "id": 1933, + "state_mutability": 1, + "name": "to", + "node_type": 44, + "scope": 1922, + "src": { + "line": 882, + "column": 12, + "start": 31901, + "end": 31910, + "length": 10, + "parent_index": 1932 + }, + "name_location": { + "line": 882, + "column": 20, + "start": 31909, + "end": 31910, + "length": 2, + "parent_index": 1933 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 1934, + "node_type": 30, + "src": { + "line": 882, + "column": 12, + "start": 31901, + "end": 31907, + "length": 7, + "parent_index": 1933 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + { + "id": 1935, + "state_mutability": 1, + "name": "actions", + "node_type": 44, + "scope": 1922, + "src": { + "line": 883, + "column": 12, + "start": 31925, + "end": 31946, + "length": 22, + "parent_index": 1932 + }, + "name_location": { + "line": 883, + "column": 27, + "start": 31940, + "end": 31946, + "length": 7, + "parent_index": 1935 + }, + "is_state_variable": false, + "storage_location": 2, + "type_name": { + "id": 1936, + "node_type": 16, + "src": { + "line": 883, + "column": 12, + "start": 31925, + "end": 31929, + "length": 5, + "parent_index": 1935 + }, + "name": "uint8", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + } + }, + "visibility": 1 + }, + { + "id": 1937, + "state_mutability": 1, + "name": "values", + "node_type": 44, + "scope": 1922, + "src": { + "line": 884, + "column": 12, + "start": 31961, + "end": 31983, + "length": 23, + "parent_index": 1932 + }, + "name_location": { + "line": 884, + "column": 29, + "start": 31978, + "end": 31983, + "length": 6, + "parent_index": 1937 + }, + "is_state_variable": false, + "storage_location": 2, + "type_name": { + "id": 1938, + "node_type": 16, + "src": { + "line": 884, + "column": 12, + "start": 31961, + "end": 31967, + "length": 7, + "parent_index": 1937 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + }, + { + "id": 1939, + "state_mutability": 1, + "name": "datas", + "node_type": 44, + "scope": 1922, + "src": { + "line": 885, + "column": 12, + "start": 31998, + "end": 32017, + "length": 20, + "parent_index": 1932 + }, + "name_location": { + "line": 885, + "column": 27, + "start": 32013, + "end": 32017, + "length": 5, + "parent_index": 1939 + }, + "is_state_variable": false, + "storage_location": 2, + "type_name": { + "id": 1940, + "node_type": 16, + "src": { + "line": 885, + "column": 12, + "start": 31998, + "end": 32002, + "length": 5, + "parent_index": 1939 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "visibility": 1 + }, + { + "id": 1941, + "state_mutability": 1, + "name": "srcContext", + "node_type": 44, + "scope": 1922, + "src": { + "line": 886, + "column": 12, + "start": 32032, + "end": 32049, + "length": 18, + "parent_index": 1932 + }, + "name_location": { + "line": 886, + "column": 20, + "start": 32040, + "end": 32049, + "length": 10, + "parent_index": 1941 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 1942, + "node_type": 30, + "src": { + "line": 886, + "column": 12, + "start": 32032, + "end": 32038, + "length": 7, + "parent_index": 1941 + }, + "name": "bytes32", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + }, + "visibility": 1 } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 1955, - "node_type": 44, - "src": { - "line": 820, - "column": 52, - "start": 29278, - "end": 29287, - "length": 10, - "parent_index": 1950 - }, - "scope": 1949, - "name": "value", - "type_name": { - "id": 1956, - "node_type": 30, + ], + "initial_value": { + "id": 1943, + "node_type": 24, + "kind": 24, "src": { - "line": 820, - "column": 52, - "start": 29278, - "end": 29281, - "length": 4, - "parent_index": 1955 + "line": 887, + "column": 12, + "start": 32063, + "end": 32130, + "length": 68, + "parent_index": 1932 }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 1957, - "node_type": 43, - "src": { - "line": 820, - "column": 82, - "start": 29308, - "end": 29311, - "length": 4, - "parent_index": 1949 - }, - "parameters": [ - { - "id": 1958, - "node_type": 44, - "src": { - "line": 820, - "column": 82, - "start": 29308, - "end": 29311, - "length": 4, - "parent_index": 1957 - }, - "scope": 1949, - "name": "", - "type_name": { - "id": 1959, - "node_type": 30, - "src": { - "line": 820, - "column": 82, - "start": 29308, - "end": 29311, - "length": 4, - "parent_index": 1958 + "argument_types": [ + { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + { + "type_identifier": "t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", + "type_string": "tuple(address,index[uint8],index[uint256],index[bytes],bytes32)" + } + ], + "arguments": [ + { + "id": 1946, + "node_type": 16, + "src": { + "line": 887, + "column": 23, + "start": 32074, + "end": 32080, + "length": 7, + "parent_index": 1943 + }, + "name": "payload", + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + "overloaded_declarations": [], + "referenced_declaration": 1946, + "is_pure": false, + "text": "payload" + }, + { + "id": 1947, + "node_type": 60, + "src": { + "line": 887, + "column": 32, + "start": 32083, + "end": 32129, + "length": 47, + "parent_index": 1943 + }, + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 1948, + "node_type": 16, + "src": { + "line": 887, + "column": 33, + "start": 32084, + "end": 32090, + "length": 7, + "parent_index": 1947 + }, + "name": "address", + "type_name": { + "id": 1949, + "node_type": 30, + "src": { + "line": 887, + "column": 33, + "start": 32084, + "end": 32090, + "length": 7, + "parent_index": 1948 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "address" + }, + { + "id": 1950, + "node_type": 22, + "src": { + "line": 887, + "column": 42, + "start": 32093, + "end": 32099, + "length": 7, + "parent_index": 1947 + }, + "index_expression": { + "id": 1951, + "node_type": 16, + "src": { + "line": 887, + "column": 42, + "start": 32093, + "end": 32097, + "length": 5, + "parent_index": 1950 + }, + "name": "uint8", + "type_name": { + "id": 1952, + "node_type": 30, + "src": { + "line": 887, + "column": 42, + "start": 32093, + "end": 32097, + "length": 5, + "parent_index": 1951 + }, + "name": "uint8", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + } + }, + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "uint8" + }, + "base_expression": null, + "type_descriptions": [ + { + "type_identifier": "t_uint8", + "type_string": "uint8" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_uint8]$", + "type_string": "index[uint8]" + } + }, + { + "id": 1953, + "node_type": 22, + "src": { + "line": 887, + "column": 51, + "start": 32102, + "end": 32110, + "length": 9, + "parent_index": 1947 + }, + "index_expression": { + "id": 1954, + "node_type": 16, + "src": { + "line": 887, + "column": 51, + "start": 32102, + "end": 32108, + "length": 7, + "parent_index": 1953 + }, + "name": "uint256", + "type_name": { + "id": 1955, + "node_type": 30, + "src": { + "line": 887, + "column": 51, + "start": 32102, + "end": 32108, + "length": 7, + "parent_index": 1954 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "uint256" + }, + "base_expression": null, + "type_descriptions": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$", + "type_string": "index[uint256]" + } + }, + { + "id": 1956, + "node_type": 22, + "src": { + "line": 887, + "column": 62, + "start": 32113, + "end": 32119, + "length": 7, + "parent_index": 1947 + }, + "index_expression": { + "id": 1957, + "node_type": 16, + "src": { + "line": 887, + "column": 62, + "start": 32113, + "end": 32117, + "length": 5, + "parent_index": 1956 + }, + "name": "bytes", + "type_name": { + "id": 1958, + "node_type": 30, + "src": { + "line": 887, + "column": 62, + "start": 32113, + "end": 32117, + "length": 5, + "parent_index": 1957 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "bytes" + }, + "base_expression": null, + "type_descriptions": [ + { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_bytes]$", + "type_string": "index[bytes]" + } + }, + { + "id": 1959, + "node_type": 16, + "src": { + "line": 887, + "column": 71, + "start": 32122, + "end": 32128, + "length": 7, + "parent_index": 1947 + }, + "name": "bytes32", + "type_name": { + "id": 1960, + "node_type": 30, + "src": { + "line": 887, + "column": 71, + "start": 32122, + "end": 32128, + "length": 7, + "parent_index": 1959 + }, + "name": "bytes32", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + }, + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "bytes32" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", + "type_string": "tuple(address,index[uint8],index[uint256],index[bytes],bytes32)" + } + } + ], + "expression": { + "id": 1944, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 887, + "column": 12, + "start": 32063, + "end": 32072, + "length": 10, + "parent_index": 1943 + }, + "member_location": { + "line": 887, + "column": 16, + "start": 32067, + "end": 32072, + "length": 6, + "parent_index": 1944 + }, + "expression": { + "id": 1945, + "node_type": 16, + "src": { + "line": 887, + "column": 12, + "start": 32063, + "end": 32065, + "length": 3, + "parent_index": 1944 + }, + "name": "abi", + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "abi" + }, + "member_name": "decode", + "argument_types": [], + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "text": "abi.decode" }, - "name": "bool", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", + "type_string": "function(bytes,tuple(address,index[uint8],index[uint256],index[bytes],bytes32))" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "transferFrom(address, address, uint)", - "signature": "b1e08233", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", - "type_string": "function(address,address,uint256)" - } - }, - { - "id": 1962, - "name": "DOMAIN_SEPARATOR", - "node_type": 42, - "kind": 41, - "src": { - "line": 822, - "column": 4, - "start": 29320, - "end": 29379, - "length": 60, - "parent_index": 1851 - }, - "name_location": { - "line": 822, - "column": 13, - "start": 29329, - "end": 29344, - "length": 16, - "parent_index": 1962 - }, - "body": { - "id": 1969, - "node_type": 46, - "kind": 0, - "src": { - "line": 822, - "column": 4, - "start": 29320, - "end": 29379, - "length": 60, - "parent_index": 1962 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1963, - "node_type": 43, - "src": { - "line": 822, - "column": 55, - "start": 29371, - "end": 29377, - "length": 7, - "parent_index": 1962 - }, - "parameters": [ + }, { - "id": 1964, + "id": 1961, "node_type": 44, "src": { - "line": 822, - "column": 55, - "start": 29371, - "end": 29377, - "length": 7, - "parent_index": 1963 + "line": 890, + "column": 8, + "start": 32172, + "end": 32206, + "length": 35, + "parent_index": 1922 }, - "scope": 1962, - "name": "", - "type_name": { - "id": 1965, - "node_type": 30, + "assignments": [ + 1962 + ], + "declarations": [ + { + "id": 1962, + "state_mutability": 1, + "name": "limit", + "node_type": 44, + "scope": 1922, + "src": { + "line": 890, + "column": 8, + "start": 32172, + "end": 32184, + "length": 13, + "parent_index": 1961 + }, + "name_location": { + "line": 890, + "column": 16, + "start": 32180, + "end": 32184, + "length": 5, + "parent_index": 1962 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 1963, + "node_type": 30, + "src": { + "line": 890, + "column": 8, + "start": 32172, + "end": 32178, + "length": 7, + "parent_index": 1962 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 1964, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 822, - "column": 55, - "start": 29371, - "end": 29377, - "length": 7, - "parent_index": 1964 + "line": 890, + "column": 24, + "start": 32188, + "end": 32205, + "length": 18, + "parent_index": 1961 + }, + "operator": 2, + "left_expression": { + "id": 1965, + "node_type": 24, + "kind": 24, + "src": { + "line": 890, + "column": 24, + "start": 32188, + "end": 32196, + "length": 9, + "parent_index": 1961 + }, + "argument_types": [], + "arguments": [], + "expression": { + "id": 1966, + "node_type": 16, + "src": { + "line": 890, + "column": 24, + "start": 32188, + "end": 32194, + "length": 7, + "parent_index": 1965 + }, + "name": "gasleft", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "gasleft" + }, + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + } + }, + "right_expression": { + "id": 1967, + "node_type": 17, + "kind": 49, + "value": "200000", + "hex_value": "323030303030", + "src": { + "line": 890, + "column": 36, + "start": 32200, + "end": 32205, + "length": 6, + "parent_index": 1964 + }, + "type_description": { + "type_identifier": "t_rational_200000_by_1", + "type_string": "int_const 200000" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "200000" }, - "name": "bytes32", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_function_$", + "type_string": "function()" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - ] - }, - "return_parameters": { - "id": 1966, - "node_type": 43, - "src": { - "line": 822, - "column": 55, - "start": 29371, - "end": 29377, - "length": 7, - "parent_index": 1962 - }, - "parameters": [ + }, { - "id": 1967, + "id": 1968, "node_type": 44, "src": { - "line": 822, - "column": 55, - "start": 29371, - "end": 29377, - "length": 7, - "parent_index": 1966 + "line": 891, + "column": 8, + "start": 32216, + "end": 32227, + "length": 12, + "parent_index": 1922 }, - "scope": 1962, - "name": "", - "type_name": { - "id": 1968, - "node_type": 30, - "src": { - "line": 822, - "column": 55, - "start": 29371, - "end": 29377, - "length": 7, - "parent_index": 1967 - }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "assignments": [ + 1969 + ], + "declarations": [ + { + "id": 1969, + "state_mutability": 1, + "name": "failed", + "node_type": 44, + "scope": 1922, + "src": { + "line": 891, + "column": 8, + "start": 32216, + "end": 32226, + "length": 11, + "parent_index": 1968 + }, + "name_location": { + "line": 891, + "column": 13, + "start": 32221, + "end": 32226, + "length": 6, + "parent_index": 1969 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 1970, + "node_type": 30, + "src": { + "line": 891, + "column": 8, + "start": 32216, + "end": 32219, + "length": 4, + "parent_index": 1969 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "visibility": 1 } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - ] - }, - "signature_raw": "DOMAIN_SEPARATOR(bytes32)", - "signature": "d075954a", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_bytes32$", - "type_string": "function(bytes32)" - } - }, - { - "id": 1971, - "name": "PERMIT_TYPEHASH", - "node_type": 42, - "kind": 41, - "src": { - "line": 823, - "column": 4, - "start": 29385, - "end": 29443, - "length": 59, - "parent_index": 1851 - }, - "name_location": { - "line": 823, - "column": 13, - "start": 29394, - "end": 29408, - "length": 15, - "parent_index": 1971 - }, - "body": { - "id": 1978, - "node_type": 46, - "kind": 0, - "src": { - "line": 823, - "column": 4, - "start": 29385, - "end": 29443, - "length": 59, - "parent_index": 1971 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1972, - "node_type": 43, - "src": { - "line": 823, - "column": 54, - "start": 29435, - "end": 29441, - "length": 7, - "parent_index": 1971 - }, - "parameters": [ + ] + }, { - "id": 1973, - "node_type": 44, + "id": 1971, + "node_type": 85, "src": { - "line": 823, - "column": 54, - "start": 29435, - "end": 29441, - "length": 7, - "parent_index": 1972 + "line": 893, + "column": 0, + "start": 32319, + "end": 32598, + "length": 280, + "parent_index": 1922 }, - "scope": 1971, - "name": "", - "type_name": { - "id": 1974, - "node_type": 30, + "body": { + "id": 1985, + "node_type": 46, + "kind": 0, "src": { - "line": 823, - "column": 54, - "start": 29435, - "end": 29441, - "length": 7, - "parent_index": 1973 + "line": 899, + "column": 8, + "start": 32482, + "end": 32483, + "length": 2, + "parent_index": 1971 }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - ] - }, - "return_parameters": { - "id": 1975, - "node_type": 43, - "src": { - "line": 823, - "column": 54, - "start": 29435, - "end": 29441, - "length": 7, - "parent_index": 1971 - }, - "parameters": [ - { - "id": 1976, - "node_type": 44, - "src": { - "line": 823, - "column": 54, - "start": 29435, - "end": 29441, - "length": 7, - "parent_index": 1975 + "implemented": true, + "statements": [] }, - "scope": 1971, - "name": "", - "type_name": { - "id": 1977, - "node_type": 30, + "kind": 86, + "returns": false, + "return_parameters": { + "id": 2001, + "node_type": 43, "src": { - "line": 823, - "column": 54, - "start": 29435, - "end": 29441, - "length": 7, - "parent_index": 1976 + "line": 893, + "column": 0, + "start": 32319, + "end": 32598, + "length": 280, + "parent_index": 1971 }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - ] - }, - "signature_raw": "PERMIT_TYPEHASH(bytes32)", - "signature": "5b4c0a1d", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_bytes32$", - "type_string": "function(bytes32)" - } - }, - { - "id": 1980, - "name": "nonces", - "node_type": 42, - "kind": 41, - "src": { - "line": 824, - "column": 4, - "start": 29449, - "end": 29508, - "length": 60, - "parent_index": 1851 - }, - "name_location": { - "line": 824, - "column": 13, - "start": 29458, - "end": 29463, - "length": 6, - "parent_index": 1980 - }, - "body": { - "id": 1987, - "node_type": 46, - "kind": 0, - "src": { - "line": 824, - "column": 4, - "start": 29449, - "end": 29508, - "length": 60, - "parent_index": 1980 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 1981, - "node_type": 43, - "src": { - "line": 824, - "column": 20, - "start": 29465, - "end": 29477, - "length": 13, - "parent_index": 1980 - }, - "parameters": [ - { - "id": 1982, - "node_type": 44, - "src": { - "line": 824, - "column": 20, - "start": 29465, - "end": 29477, - "length": 13, - "parent_index": 1981 + "parameters": [], + "parameter_types": [] }, - "scope": 1980, - "name": "owner", - "type_name": { - "id": 1983, - "node_type": 30, + "expression": { + "id": 1972, + "node_type": 24, + "kind": 24, "src": { - "line": 824, - "column": 20, - "start": 29465, - "end": 29471, - "length": 7, - "parent_index": 1982 + "line": 894, + "column": 12, + "start": 32335, + "end": 32472, + "length": 138, + "parent_index": 1971 + }, + "argument_types": [ + { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + ], + "arguments": [ + { + "id": 1982, + "node_type": 16, + "src": { + "line": 895, + "column": 16, + "start": 32405, + "end": 32411, + "length": 7, + "parent_index": 1972 + }, + "name": "actions", + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + "overloaded_declarations": [], + "referenced_declaration": 1932, + "is_pure": false, + "text": "actions" + }, + { + "id": 1983, + "node_type": 16, + "src": { + "line": 896, + "column": 16, + "start": 32430, + "end": 32435, + "length": 6, + "parent_index": 1972 + }, + "name": "values", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 1932, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint8", + "type_string": "uint8" + } + ], + "text": "values" + }, + { + "id": 1984, + "node_type": 16, + "src": { + "line": 897, + "column": 16, + "start": 32454, + "end": 32458, + "length": 5, + "parent_index": 1972 + }, + "name": "datas", + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + "overloaded_declarations": [], + "referenced_declaration": 1932, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint8", + "type_string": "uint8" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "datas" + } + ], + "expression": { + "id": 1973, + "node_type": 93, + "kind": 93, + "src": { + "line": 894, + "column": 12, + "start": 32335, + "end": 32386, + "length": 52, + "parent_index": 1972 + }, + "expression": { + "id": 1974, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 894, + "column": 12, + "start": 32335, + "end": 32374, + "length": 40, + "parent_index": 1973 + }, + "member_location": { + "line": 894, + "column": 48, + "start": 32371, + "end": 32374, + "length": 4, + "parent_index": 1974 + }, + "expression": { + "id": 1975, + "node_type": 24, + "kind": 24, + "src": { + "line": 894, + "column": 12, + "start": 32335, + "end": 32369, + "length": 35, + "parent_index": 1974 + }, + "argument_types": [ + { + "type_identifier": "t_function_payable$_t_function_$_t_address$$", + "type_string": "function(function(address)) payable" + } + ], + "arguments": [ + { + "id": 1977, + "node_type": 84, + "src": { + "line": 894, + "column": 24, + "start": 32347, + "end": 32368, + "length": 22, + "parent_index": 1975 + }, + "arguments": [ + { + "id": 1978, + "node_type": 24, + "kind": 24, + "src": { + "line": 894, + "column": 32, + "start": 32355, + "end": 32367, + "length": 13, + "parent_index": 1977 + }, + "argument_types": [ + { + "type_identifier": "t_contract$_StargateAdapter_$1678", + "type_string": "contract StargateAdapter" + } + ], + "arguments": [ + { + "id": 1981, + "node_type": 16, + "src": { + "line": 894, + "column": 40, + "start": 32363, + "end": 32366, + "length": 4, + "parent_index": 1978 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_StargateAdapter_$1678", + "type_string": "contract StargateAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], + "expression": { + "id": 1979, + "node_type": 16, + "src": { + "line": 894, + "column": 32, + "start": 32355, + "end": 32361, + "length": 7, + "parent_index": 1978 + }, + "name": "address", + "type_name": { + "id": 1980, + "node_type": 30, + "src": { + "line": 894, + "column": 32, + "start": 32355, + "end": 32361, + "length": 7, + "parent_index": 1979 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + } + ], + "argument_types": [ + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "type_description": { + "type_identifier": "t_function_payable$_t_function_$_t_address$$", + "type_string": "function(function(address)) payable" + }, + "payable": true + } + ], + "expression": { + "id": 1976, + "node_type": 16, + "src": { + "line": 894, + "column": 12, + "start": 32335, + "end": 32345, + "length": 11, + "parent_index": 1975 + }, + "name": "ISushiXSwap", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "ISushiXSwap" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_address$", + "type_string": "function(function(function(address)) payable)" + } + }, + "member_name": "cook", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_address$", + "type_string": "function(function(function(address)) payable)" + }, + "text": "ISushiXSwap(payable(address(this))).cook" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_address$", + "type_string": "function(function(function(address)) payable)" + } }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_function_$_t_uint8$_t_uint256$_t_bytes$", + "type_string": "function(uint8,uint256,bytes)" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "return_parameters": { - "id": 1984, - "node_type": 43, - "src": { - "line": 824, - "column": 58, - "start": 29503, - "end": 29506, - "length": 4, - "parent_index": 1980 - }, - "parameters": [ - { - "id": 1985, - "node_type": 44, - "src": { - "line": 824, - "column": 58, - "start": 29503, - "end": 29506, - "length": 4, - "parent_index": 1984 + "clauses": [ + { + "id": 0, + "node_type": 87, + "kind": 88, + "src": { + "line": 899, + "column": 0, + "start": 32485, + "end": 32598, + "length": 114, + "parent_index": 1971 + }, + "body": { + "id": 1989, + "node_type": 46, + "kind": 0, + "src": { + "line": 899, + "column": 32, + "start": 32506, + "end": 32598, + "length": 93 + }, + "implemented": true, + "statements": [ + { + "id": 1990, + "node_type": 24, + "kind": 24, + "src": { + "line": 900, + "column": 12, + "start": 32520, + "end": 32560, + "length": 41, + "parent_index": 1989 + }, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_function_$_t_function_$$", + "type_string": "function(function())" + } + ], + "arguments": [ + { + "id": 1995, + "node_type": 16, + "src": { + "line": 900, + "column": 40, + "start": 32548, + "end": 32549, + "length": 2, + "parent_index": 1990 + }, + "name": "to", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "to" + }, + { + "id": 1996, + "node_type": 16, + "src": { + "line": 900, + "column": 44, + "start": 32552, + "end": 32559, + "length": 8, + "parent_index": 1990 + }, + "name": "amountLD", + "type_description": { + "type_identifier": "t_function_$_t_function_$$", + "type_string": "function(function())" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "text": "amountLD" + } + ], + "expression": { + "id": 1991, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 900, + "column": 12, + "start": 32520, + "end": 32546, + "length": 27, + "parent_index": 1990 + }, + "member_location": { + "line": 900, + "column": 27, + "start": 32535, + "end": 32546, + "length": 12, + "parent_index": 1991 + }, + "expression": { + "id": 1992, + "node_type": 24, + "kind": 24, + "src": { + "line": 900, + "column": 12, + "start": 32520, + "end": 32533, + "length": 14, + "parent_index": 1991 + }, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "arguments": [ + { + "id": 1994, + "node_type": 16, + "src": { + "line": 900, + "column": 19, + "start": 32527, + "end": 32532, + "length": 6, + "parent_index": 1992 + }, + "name": "_token", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "_token" + } + ], + "expression": { + "id": 1993, + "node_type": 16, + "src": { + "line": 900, + "column": 12, + "start": 32520, + "end": 32525, + "length": 6, + "parent_index": 1992 + }, + "name": "IERC20", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IERC20" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + }, + "member_name": "safeTransfer", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + }, + "text": "IERC20(_token).safeTransfer" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", + "type_string": "function(function(),function(function()))" + } + }, + { + "id": 1997, + "node_type": 27, + "src": { + "line": 901, + "column": 12, + "start": 32575, + "end": 32588, + "length": 14, + "parent_index": 1989 + }, + "expression": { + "id": 1998, + "node_type": 27, + "src": { + "line": 901, + "column": 12, + "start": 32575, + "end": 32587, + "length": 13, + "parent_index": 1997 + }, + "operator": 11, + "left_expression": { + "id": 1999, + "node_type": 16, + "src": { + "line": 901, + "column": 12, + "start": 32575, + "end": 32580, + "length": 6, + "parent_index": 1998 + }, + "name": "failed", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 1728, + "is_pure": false, + "text": "failed" + }, + "right_expression": { + "id": 2000, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 901, + "column": 21, + "start": 32584, + "end": 32587, + "length": 4, + "parent_index": 1998 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "text": "failed=true;" + } + ] + }, + "parameters": { + "id": 1986, + "node_type": 43, + "src": { + "line": 899, + "column": 18, + "start": 32492, + "end": 32503, + "length": 12 + }, + "parameters": [ + { + "id": 1987, + "node_type": 44, + "src": { + "line": 899, + "column": 18, + "start": 32492, + "end": 32503, + "length": 12, + "parent_index": 1986 + }, + "name": "", + "type_name": { + "id": 1988, + "node_type": 30, + "src": { + "line": 899, + "column": 18, + "start": 32492, + "end": 32496, + "length": 5, + "parent_index": 1987 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + ] + } + } + ], + "implemented": false + }, + { + "id": 2002, + "node_type": 48, + "src": { + "line": 905, + "column": 0, + "start": 32687, + "end": 32773, + "length": 87, + "parent_index": 1922 }, - "scope": 1980, - "name": "", - "type_name": { - "id": 1986, - "node_type": 30, + "condition": { + "id": 2003, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 824, - "column": 58, - "start": 29503, - "end": 29506, - "length": 4, - "parent_index": 1985 + "line": 905, + "column": 12, + "start": 32691, + "end": 32715, + "length": 25, + "parent_index": 2002 + }, + "operator": 7, + "left_expression": { + "id": 2004, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 905, + "column": 12, + "start": 32691, + "end": 32711, + "length": 21, + "parent_index": 2003 + }, + "member_location": { + "line": 905, + "column": 26, + "start": 32705, + "end": 32711, + "length": 7, + "parent_index": 2004 + }, + "expression": { + "id": 2005, + "node_type": 24, + "kind": 24, + "src": { + "line": 905, + "column": 12, + "start": 32691, + "end": 32703, + "length": 13, + "parent_index": 2004 + }, + "argument_types": [ + { + "type_identifier": "t_contract$_StargateAdapter_$1678", + "type_string": "contract StargateAdapter" + } + ], + "arguments": [ + { + "id": 2008, + "node_type": 16, + "src": { + "line": 905, + "column": 20, + "start": 32699, + "end": 32702, + "length": 4, + "parent_index": 2005 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_StargateAdapter_$1678", + "type_string": "contract StargateAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], + "expression": { + "id": 2006, + "node_type": 16, + "src": { + "line": 905, + "column": 12, + "start": 32691, + "end": 32697, + "length": 7, + "parent_index": 2005 + }, + "name": "address", + "type_name": { + "id": 2007, + "node_type": 30, + "src": { + "line": 905, + "column": 12, + "start": 32691, + "end": 32697, + "length": 7, + "parent_index": 2006 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + }, + "member_name": "balance", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "address(this).balance" + }, + "right_expression": { + "id": 2009, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 905, + "column": 36, + "start": 32715, + "end": 32715, + "length": 1, + "parent_index": 2003 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, - "name": "uint", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "body": { + "id": 2010, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] } - } - ], - "parameter_types": [ + }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "id": 2011, + "node_type": 64, + "src": { + "line": 908, + "column": 8, + "start": 32784, + "end": 32830, + "length": 47, + "parent_index": 1906 + }, + "arguments": [ + { + "id": 2012, + "node_type": 16, + "src": { + "line": 908, + "column": 35, + "start": 32811, + "end": 32820, + "length": 10, + "parent_index": 2011 + }, + "name": "srcContext", + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + }, + "overloaded_declarations": [], + "referenced_declaration": 1932, + "is_pure": false, + "text": "srcContext" + }, + { + "id": 2013, + "node_type": 16, + "src": { + "line": 908, + "column": 47, + "start": 32823, + "end": 32828, + "length": 6, + "parent_index": 2011 + }, + "name": "failed", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 1968, + "is_pure": false, + "text": "failed" + } + ], + "expression": { + "id": 2014, + "node_type": 16, + "src": { + "line": 908, + "column": 13, + "start": 32789, + "end": 32809, + "length": 21, + "parent_index": 2011 + }, + "name": "StargateSushiXSwapDst", + "type_description": { + "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00261724", + "type_string": "event StargateAdapter.StargateSushiXSwapDst" + }, + "overloaded_declarations": [], + "referenced_declaration": 1724, + "is_pure": false, + "text": "StargateSushiXSwapDst" + } } ] }, - "signature_raw": "nonces(address)", - "signature": "7ecebe00", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - { - "id": 1989, - "name": "permit", - "node_type": 42, - "kind": 41, - "src": { - "line": 826, - "column": 4, - "start": 29515, - "end": 29629, - "length": 115, - "parent_index": 1851 - }, - "name_location": { - "line": 826, - "column": 13, - "start": 29524, - "end": 29529, - "length": 6, - "parent_index": 1989 - }, - "body": { - "id": 2006, - "node_type": 46, - "kind": 0, - "src": { - "line": 826, - "column": 4, - "start": 29515, - "end": 29629, - "length": 115, - "parent_index": 1989 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, + "implemented": true, "visibility": 4, "state_mutability": 4, "virtual": false, "modifiers": [], - "overrides": [], + "overrides": [ + { + "id": 1920, + "node_type": 63, + "src": { + "line": 878, + "column": 15, + "start": 31788, + "end": 31795, + "length": 8, + "parent_index": 1906 + }, + "overrides": [], + "referenced_declaration": 0, + "type_descriptions": { + "type_identifier": "$_t_override", + "type_string": "override" + } + } + ], "parameters": { - "id": 1990, + "id": 1907, "node_type": 43, "src": { - "line": 826, - "column": 20, - "start": 29531, - "end": 29618, - "length": 88, - "parent_index": 1989 + "line": 872, + "column": 8, + "start": 31647, + "end": 31771, + "length": 125, + "parent_index": 1906 }, "parameters": [ { - "id": 1991, - "node_type": 44, - "src": { - "line": 826, - "column": 20, - "start": 29531, - "end": 29543, - "length": 13, - "parent_index": 1990 - }, - "scope": 1989, - "name": "owner", - "type_name": { - "id": 1992, - "node_type": 30, - "src": { - "line": 826, - "column": 20, - "start": 29531, - "end": 29537, - "length": 7, - "parent_index": 1991 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 1993, + "id": 1908, "node_type": 44, "src": { - "line": 826, - "column": 35, - "start": 29546, - "end": 29560, - "length": 15, - "parent_index": 1990 + "line": 872, + "column": 8, + "start": 31647, + "end": 31652, + "length": 6, + "parent_index": 1907 }, - "scope": 1989, - "name": "spender", + "scope": 1906, + "name": "", "type_name": { - "id": 1994, + "id": 1909, "node_type": 30, "src": { - "line": 826, - "column": 35, - "start": 29546, - "end": 29552, - "length": 7, - "parent_index": 1993 + "line": 872, + "column": 8, + "start": 31647, + "end": 31652, + "length": 6, + "parent_index": 1908 }, - "name": "address", - "state_mutability": 4, + "name": "uint16", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint16", + "type_string": "uint16" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint16", + "type_string": "uint16" } }, { - "id": 1995, + "id": 1910, "node_type": 44, "src": { - "line": 826, - "column": 52, - "start": 29563, - "end": 29572, - "length": 10, - "parent_index": 1990 + "line": 873, + "column": 8, + "start": 31663, + "end": 31674, + "length": 12, + "parent_index": 1907 }, - "scope": 1989, - "name": "value", + "scope": 1906, + "name": "", "type_name": { - "id": 1996, + "id": 1911, "node_type": 30, "src": { - "line": 826, - "column": 52, - "start": 29563, - "end": 29566, - "length": 4, - "parent_index": 1995 + "line": 873, + "column": 8, + "start": 31663, + "end": 31667, + "length": 5, + "parent_index": 1910 }, - "name": "uint", + "name": "bytes", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes", + "type_string": "bytes" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes", + "type_string": "bytes" } }, { - "id": 1997, + "id": 1912, "node_type": 44, "src": { - "line": 826, - "column": 64, - "start": 29575, - "end": 29587, - "length": 13, - "parent_index": 1990 + "line": 874, + "column": 8, + "start": 31685, + "end": 31691, + "length": 7, + "parent_index": 1907 }, - "scope": 1989, - "name": "deadline", + "scope": 1906, + "name": "", "type_name": { - "id": 1998, + "id": 1913, "node_type": 30, "src": { - "line": 826, - "column": 64, - "start": 29575, - "end": 29578, - "length": 4, - "parent_index": 1997 + "line": 874, + "column": 8, + "start": 31685, + "end": 31691, + "length": 7, + "parent_index": 1912 }, - "name": "uint", + "name": "uint256", "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", @@ -36255,222 +38414,370 @@ } }, { - "id": 1999, + "id": 1914, "node_type": 44, "src": { - "line": 826, - "column": 79, - "start": 29590, - "end": 29596, - "length": 7, - "parent_index": 1990 + "line": 875, + "column": 8, + "start": 31702, + "end": 31715, + "length": 14, + "parent_index": 1907 }, - "scope": 1989, - "name": "v", + "scope": 1906, + "name": "_token", "type_name": { - "id": 2000, + "id": 1915, "node_type": 30, "src": { - "line": 826, - "column": 79, - "start": 29590, - "end": 29594, - "length": 5, - "parent_index": 1999 + "line": 875, + "column": 8, + "start": 31702, + "end": 31708, + "length": 7, + "parent_index": 1914 }, - "name": "uint8", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 2001, + "id": 1916, "node_type": 44, "src": { - "line": 826, - "column": 88, - "start": 29599, - "end": 29607, - "length": 9, - "parent_index": 1990 + "line": 876, + "column": 8, + "start": 31726, + "end": 31741, + "length": 16, + "parent_index": 1907 }, - "scope": 1989, - "name": "r", + "scope": 1906, + "name": "amountLD", "type_name": { - "id": 2002, + "id": 1917, "node_type": 30, "src": { - "line": 826, - "column": 88, - "start": 29599, - "end": 29605, + "line": 876, + "column": 8, + "start": 31726, + "end": 31732, "length": 7, - "parent_index": 2001 + "parent_index": 1916 }, - "name": "bytes32", + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 2003, + "id": 1918, "node_type": 44, "src": { - "line": 826, - "column": 99, - "start": 29610, - "end": 29618, - "length": 9, - "parent_index": 1990 + "line": 877, + "column": 8, + "start": 31752, + "end": 31771, + "length": 20, + "parent_index": 1907 }, - "scope": 1989, - "name": "s", + "scope": 1906, + "name": "payload", "type_name": { - "id": 2004, + "id": 1919, "node_type": 30, "src": { - "line": 826, - "column": 99, - "start": 29610, - "end": 29616, - "length": 7, - "parent_index": 2003 + "line": 877, + "column": 8, + "start": 31752, + "end": 31756, + "length": 5, + "parent_index": 1918 }, - "name": "bytes32", + "name": "bytes", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_bytes", + "type_string": "bytes" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_bytes", + "type_string": "bytes" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint16", + "type_string": "uint16" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes", + "type_string": "bytes" }, { "type_identifier": "t_uint256", "type_string": "uint256" }, { - "type_identifier": "t_uint8", - "type_string": "uint8" + "type_identifier": "t_address", + "type_string": "address" }, { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_bytes", + "type_string": "bytes" } ] }, "return_parameters": { - "id": 2005, + "id": 1921, "node_type": 43, "src": { - "line": 826, + "line": 871, "column": 4, - "start": 29515, - "end": 29629, - "length": 115, - "parent_index": 1989 + "start": 31619, + "end": 32837, + "length": 1219, + "parent_index": 1906 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "permit(address, address, uint, uint, uint8, bytes32, bytes32)", - "signature": "0f94a422", - "scope": 1851, + "signature_raw": "sgReceive(uint16,bytes,uint256,address,uint256,bytes)", + "signature": "ab8236f3", + "scope": 1705, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", - "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" + "type_identifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", + "type_string": "function(uint16,bytes,uint256,address,uint256,bytes)" + }, + "text": "functionsgReceive(uint16,bytesmemory,uint256,address_token,uint256amountLD,bytesmemorypayload)externaloverride{if(msg.sender!=address(stargateRouter))revertNotStargateRouter();(addressto,uint8[]memoryactions,uint256[]memoryvalues,bytes[]memorydatas,bytes32srcContext)=abi.decode(payload,(address,uint8[],uint256[],bytes[],bytes32));uint256limit=gasleft()-200000;boolfailed;tryISushiXSwap(payable(address(this))).cook{gas:limit}(actions,values,datas){}catch(bytesmemory){IERC20(_token).safeTransfer(to,amountLD);failed=true;}if(address(this).balance\u003e0)to.call{value:(address(this).balance)}(\"\");emitStargateSushiXSwapDst(srcContext,failed);}" + } + ], + "linearized_base_contracts": [ + 948, + 1373, + 1705, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704 + ], + "base_contracts": [ + { + "id": 1706, + "node_type": 62, + "src": { + "line": 770, + "column": 37, + "start": 27445, + "end": 27458, + "length": 14, + "parent_index": 1705 + }, + "base_name": { + "id": 1707, + "node_type": 52, + "src": { + "line": 770, + "column": 37, + "start": 27445, + "end": 27458, + "length": 14, + "parent_index": 1705 + }, + "name": "ImmutableState", + "referenced_declaration": 948 } }, { - "id": 2008, + "id": 1708, + "node_type": 62, + "src": { + "line": 770, + "column": 53, + "start": 27461, + "end": 27477, + "length": 17, + "parent_index": 1705 + }, + "base_name": { + "id": 1709, + "node_type": 52, + "src": { + "line": 770, + "column": 53, + "start": 27461, + "end": 27477, + "length": 17, + "parent_index": 1705 + }, + "name": "IStargateReceiver", + "referenced_declaration": 1373 + } + } + ], + "contract_dependencies": [ + 948, + 1373, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704 + ] + } + ], + "src": { + "line": 770, + "column": 0, + "start": 27408, + "end": 32839, + "length": 5432, + "parent_index": 272 + } + }, + { + "id": 2015, + "base_contracts": [], + "license": "GPL-3.0", + "exported_symbols": [ + { + "id": 2015, + "name": "IUniswapV2Pair", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IUniswapV2Pair.sol" + } + ], + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IUniswapV2Pair.sol", + "name": "IUniswapV2Pair", + "node_type": 1, + "nodes": [ + { + "id": 2028, + "node_type": 10, + "src": { + "line": 915, + "column": 0, + "start": 32879, + "end": 32902, + "length": 24, + "parent_index": 2015 + }, + "literals": [ + "pragma", + "solidity", + "\u003e=", + "0", + ".", + "5", + ".", + "0", + ";" + ], + "text": "pragma solidity \u003e=0.5.0;" + }, + { + "id": 2069, + "name": "IUniswapV2Pair", + "node_type": 35, + "src": { + "line": 917, + "column": 0, + "start": 32905, + "end": 35301, + "length": 2397, + "parent_index": 2015 + }, + "name_location": { + "line": 917, + "column": 10, + "start": 32915, + "end": 32928, + "length": 14, + "parent_index": 2069 + }, + "abstract": false, + "kind": 38, + "fully_implemented": true, + "nodes": [ + { + "id": 2071, "node_type": 57, "src": { - "line": 828, + "line": 918, "column": 4, - "start": 29636, - "end": 29698, - "length": 63, - "parent_index": 1851 + "start": 32936, + "end": 33010, + "length": 75, + "parent_index": 2069 }, "parameters": { - "id": 2009, + "id": 2072, "node_type": 43, "src": { - "line": 828, + "line": 918, "column": 4, - "start": 29636, - "end": 29698, - "length": 63, - "parent_index": 2008 + "start": 32936, + "end": 33010, + "length": 75, + "parent_index": 2071 }, "parameters": [ { - "id": 2010, + "id": 2073, "node_type": 44, "src": { - "line": 828, - "column": 15, - "start": 29647, - "end": 29668, - "length": 22, - "parent_index": 2009 + "line": 918, + "column": 19, + "start": 32951, + "end": 32971, + "length": 21, + "parent_index": 2072 }, - "scope": 2008, - "name": "sender", + "scope": 2071, + "name": "owner", "type_name": { - "id": 2011, + "id": 2074, "node_type": 30, "src": { - "line": 828, - "column": 15, - "start": 29647, - "end": 29653, + "line": 918, + "column": 19, + "start": 32951, + "end": 32957, "length": 7, - "parent_index": 2010 + "parent_index": 2073 }, "name": "address", "state_mutability": 4, @@ -36490,67 +38797,69 @@ "indexed": true }, { - "id": 2012, + "id": 2075, "node_type": 44, "src": { - "line": 828, - "column": 39, - "start": 29671, - "end": 29682, - "length": 12, - "parent_index": 2009 + "line": 918, + "column": 42, + "start": 32974, + "end": 32996, + "length": 23, + "parent_index": 2072 }, - "scope": 2008, - "name": "amount0", + "scope": 2071, + "name": "spender", "type_name": { - "id": 2013, + "id": 2076, "node_type": 30, "src": { - "line": 828, - "column": 39, - "start": 29671, - "end": 29674, - "length": 4, - "parent_index": 2012 + "line": 918, + "column": 42, + "start": 32974, + "end": 32980, + "length": 7, + "parent_index": 2075 }, - "name": "uint", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true }, { - "id": 2014, + "id": 2077, "node_type": 44, "src": { - "line": 828, - "column": 53, - "start": 29685, - "end": 29696, - "length": 12, - "parent_index": 2009 + "line": 918, + "column": 67, + "start": 32999, + "end": 33008, + "length": 10, + "parent_index": 2072 }, - "scope": 2008, - "name": "amount1", + "scope": 2071, + "name": "value", "type_name": { - "id": 2015, + "id": 2078, "node_type": 30, "src": { - "line": 828, - "column": 53, - "start": 29685, - "end": 29688, + "line": 918, + "column": 67, + "start": 32999, + "end": 33002, "length": 4, - "parent_index": 2014 + "parent_index": 2077 }, "name": "uint", "referenced_declaration": 0, @@ -36574,8 +38883,8 @@ "type_string": "address" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, { "type_identifier": "t_uint256", @@ -36583,59 +38892,59 @@ } ] }, - "name": "Mint", + "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Mint_\u00262008", - "type_string": "event IUniswapV2Pair.Mint" + "type_identifier": "t_event\u0026_IUniswapV2Pair_Approval_\u00262071", + "type_string": "event IUniswapV2Pair.Approval" } }, { - "id": 2017, + "id": 2080, "node_type": 57, "src": { - "line": 829, + "line": 919, "column": 4, - "start": 29704, - "end": 29786, - "length": 83, - "parent_index": 1851 + "start": 33016, + "end": 33084, + "length": 69, + "parent_index": 2069 }, "parameters": { - "id": 2018, + "id": 2081, "node_type": 43, "src": { - "line": 829, + "line": 919, "column": 4, - "start": 29704, - "end": 29786, - "length": 83, - "parent_index": 2017 + "start": 33016, + "end": 33084, + "length": 69, + "parent_index": 2080 }, "parameters": [ { - "id": 2019, + "id": 2082, "node_type": 44, "src": { - "line": 829, - "column": 15, - "start": 29715, - "end": 29736, - "length": 22, - "parent_index": 2018 + "line": 919, + "column": 19, + "start": 33031, + "end": 33050, + "length": 20, + "parent_index": 2081 }, - "scope": 2017, - "name": "sender", + "scope": 2080, + "name": "from", "type_name": { - "id": 2020, + "id": 2083, "node_type": 30, "src": { - "line": 829, - "column": 15, - "start": 29715, - "end": 29721, + "line": 919, + "column": 19, + "start": 33031, + "end": 33037, "length": 7, - "parent_index": 2019 + "parent_index": 2082 }, "name": "address", "state_mutability": 4, @@ -36655,67 +38964,69 @@ "indexed": true }, { - "id": 2021, + "id": 2084, "node_type": 44, "src": { - "line": 829, - "column": 39, - "start": 29739, - "end": 29750, - "length": 12, - "parent_index": 2018 + "line": 919, + "column": 41, + "start": 33053, + "end": 33070, + "length": 18, + "parent_index": 2081 }, - "scope": 2017, - "name": "amount0", + "scope": 2080, + "name": "to", "type_name": { - "id": 2022, + "id": 2085, "node_type": 30, "src": { - "line": 829, - "column": 39, - "start": 29739, - "end": 29742, - "length": 4, - "parent_index": 2021 + "line": 919, + "column": 41, + "start": 33053, + "end": 33059, + "length": 7, + "parent_index": 2084 }, - "name": "uint", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true }, { - "id": 2023, + "id": 2086, "node_type": 44, "src": { - "line": 829, - "column": 53, - "start": 29753, - "end": 29764, - "length": 12, - "parent_index": 2018 + "line": 919, + "column": 61, + "start": 33073, + "end": 33082, + "length": 10, + "parent_index": 2081 }, - "scope": 2017, - "name": "amount1", + "scope": 2080, + "name": "value", "type_name": { - "id": 2024, + "id": 2087, "node_type": 30, "src": { - "line": 829, - "column": 53, - "start": 29753, - "end": 29756, + "line": 919, + "column": 61, + "start": 33073, + "end": 33076, "length": 4, - "parent_index": 2023 + "parent_index": 2086 }, "name": "uint", "referenced_declaration": 0, @@ -36731,47 +39042,6 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, - { - "id": 2025, - "node_type": 44, - "src": { - "line": 829, - "column": 67, - "start": 29767, - "end": 29784, - "length": 18, - "parent_index": 2018 - }, - "scope": 2017, - "name": "to", - "type_name": { - "id": 2026, - "node_type": 30, - "src": { - "line": 829, - "column": 67, - "start": 29767, - "end": 29773, - "length": 7, - "parent_index": 2025 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true } ], "parameter_types": [ @@ -36780,519 +39050,606 @@ "type_string": "address" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, { "type_identifier": "t_uint256", "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" } ] }, - "name": "Burn", + "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Burn_\u00262017", - "type_string": "event IUniswapV2Pair.Burn" + "type_identifier": "t_event\u0026_IUniswapV2Pair_Transfer_\u00262080", + "type_string": "event IUniswapV2Pair.Transfer" } }, { - "id": 2028, - "node_type": 57, + "id": 2089, + "name": "name", + "node_type": 42, + "kind": 41, "src": { - "line": 830, + "line": 921, "column": 4, - "start": 29792, - "end": 29966, - "length": 175, - "parent_index": 1851 + "start": 33091, + "end": 33144, + "length": 54, + "parent_index": 2069 + }, + "name_location": { + "line": 921, + "column": 13, + "start": 33100, + "end": 33103, + "length": 4, + "parent_index": 2089 + }, + "body": { + "id": 2096, + "node_type": 46, + "kind": 0, + "src": { + "line": 921, + "column": 4, + "start": 33091, + "end": 33144, + "length": 54, + "parent_index": 2089 + }, + "implemented": false, + "statements": [] }, + "implemented": false, + "visibility": 4, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], "parameters": { - "id": 2029, + "id": 2090, "node_type": 43, "src": { - "line": 830, - "column": 4, - "start": 29792, - "end": 29966, - "length": 175, - "parent_index": 2028 + "line": 921, + "column": 43, + "start": 33130, + "end": 33142, + "length": 13, + "parent_index": 2089 }, "parameters": [ { - "id": 2030, + "id": 2091, "node_type": 44, "src": { - "line": 831, - "column": 8, - "start": 29812, - "end": 29833, - "length": 22, - "parent_index": 2029 + "line": 921, + "column": 43, + "start": 33130, + "end": 33142, + "length": 13, + "parent_index": 2090 }, - "scope": 2028, - "name": "sender", + "scope": 2089, + "name": "", "type_name": { - "id": 2031, + "id": 2092, "node_type": 30, "src": { - "line": 831, - "column": 8, - "start": 29812, - "end": 29818, - "length": 7, - "parent_index": 2030 + "line": 921, + "column": 43, + "start": 33130, + "end": 33135, + "length": 6, + "parent_index": 2091 }, - "name": "address", - "state_mutability": 4, + "name": "string", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_string", + "type_string": "string" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, + "type_identifier": "t_string", + "type_string": "string" + } + } + ], + "parameter_types": [ { - "id": 2032, - "node_type": 44, - "src": { - "line": 832, - "column": 8, - "start": 29844, - "end": 29857, - "length": 14, - "parent_index": 2029 - }, - "scope": 2028, - "name": "amount0In", - "type_name": { - "id": 2033, - "node_type": 30, - "src": { - "line": 832, - "column": 8, - "start": 29844, - "end": 29847, - "length": 4, - "parent_index": 2032 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, + "type_identifier": "t_string", + "type_string": "string" + } + ] + }, + "return_parameters": { + "id": 2093, + "node_type": 43, + "src": { + "line": 921, + "column": 43, + "start": 33130, + "end": 33142, + "length": 13, + "parent_index": 2089 + }, + "parameters": [ { - "id": 2034, + "id": 2094, "node_type": 44, "src": { - "line": 833, - "column": 8, - "start": 29868, - "end": 29881, - "length": 14, - "parent_index": 2029 + "line": 921, + "column": 43, + "start": 33130, + "end": 33142, + "length": 13, + "parent_index": 2093 }, - "scope": 2028, - "name": "amount1In", + "scope": 2089, + "name": "", "type_name": { - "id": 2035, + "id": 2095, "node_type": 30, "src": { - "line": 833, - "column": 8, - "start": 29868, - "end": 29871, - "length": 4, - "parent_index": 2034 + "line": 921, + "column": 43, + "start": 33130, + "end": 33135, + "length": 6, + "parent_index": 2094 }, - "name": "uint", + "name": "string", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_string", + "type_string": "string" + } + ] + }, + "signature_raw": "name(string)", + "signature": "5b43bc99", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_string$", + "type_string": "function(string)" + }, + "text": "functionname()externalpurereturns(stringmemory);" + }, + { + "id": 2098, + "name": "symbol", + "node_type": 42, + "kind": 41, + "src": { + "line": 922, + "column": 4, + "start": 33150, + "end": 33205, + "length": 56, + "parent_index": 2069 + }, + "name_location": { + "line": 922, + "column": 13, + "start": 33159, + "end": 33164, + "length": 6, + "parent_index": 2098 + }, + "body": { + "id": 2105, + "node_type": 46, + "kind": 0, + "src": { + "line": 922, + "column": 4, + "start": 33150, + "end": 33205, + "length": 56, + "parent_index": 2098 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2099, + "node_type": 43, + "src": { + "line": 922, + "column": 45, + "start": 33191, + "end": 33203, + "length": 13, + "parent_index": 2098 + }, + "parameters": [ { - "id": 2036, + "id": 2100, "node_type": 44, "src": { - "line": 834, - "column": 8, - "start": 29892, - "end": 29906, - "length": 15, - "parent_index": 2029 + "line": 922, + "column": 45, + "start": 33191, + "end": 33203, + "length": 13, + "parent_index": 2099 }, - "scope": 2028, - "name": "amount0Out", + "scope": 2098, + "name": "", "type_name": { - "id": 2037, + "id": 2101, "node_type": 30, "src": { - "line": 834, - "column": 8, - "start": 29892, - "end": 29895, - "length": 4, - "parent_index": 2036 + "line": 922, + "column": 45, + "start": 33191, + "end": 33196, + "length": 6, + "parent_index": 2100 }, - "name": "uint", + "name": "string", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_string", + "type_string": "string" + } + ] + }, + "return_parameters": { + "id": 2102, + "node_type": 43, + "src": { + "line": 922, + "column": 45, + "start": 33191, + "end": 33203, + "length": 13, + "parent_index": 2098 + }, + "parameters": [ { - "id": 2038, + "id": 2103, "node_type": 44, "src": { - "line": 835, - "column": 8, - "start": 29917, - "end": 29931, - "length": 15, - "parent_index": 2029 + "line": 922, + "column": 45, + "start": 33191, + "end": 33203, + "length": 13, + "parent_index": 2102 }, - "scope": 2028, - "name": "amount1Out", + "scope": 2098, + "name": "", "type_name": { - "id": 2039, + "id": 2104, "node_type": 30, "src": { - "line": 835, - "column": 8, - "start": 29917, - "end": 29920, - "length": 4, - "parent_index": 2038 + "line": 922, + "column": 45, + "start": 33191, + "end": 33196, + "length": 6, + "parent_index": 2103 }, - "name": "uint", + "name": "string", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } - }, - { - "id": 2040, - "node_type": 44, - "src": { - "line": 836, - "column": 8, - "start": 29942, - "end": 29959, - "length": 18, - "parent_index": 2029 - }, - "scope": 2028, - "name": "to", - "type_name": { - "id": 2041, - "node_type": 30, - "src": { - "line": 836, - "column": 8, - "start": 29942, - "end": 29948, - "length": 7, - "parent_index": 2040 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_string", + "type_string": "string" } ] }, - "name": "Swap", - "anonymous": false, + "signature_raw": "symbol(string)", + "signature": "41bb0559", + "scope": 2069, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Swap_\u00262028", - "type_string": "event IUniswapV2Pair.Swap" - } + "type_identifier": "t_function_$_t_string$", + "type_string": "function(string)" + }, + "text": "functionsymbol()externalpurereturns(stringmemory);" }, { - "id": 2043, - "node_type": 57, + "id": 2107, + "name": "decimals", + "node_type": 42, + "kind": 41, "src": { - "line": 838, + "line": 923, "column": 4, - "start": 29972, - "end": 30018, - "length": 47, - "parent_index": 1851 + "start": 33211, + "end": 33260, + "length": 50, + "parent_index": 2069 + }, + "name_location": { + "line": 923, + "column": 13, + "start": 33220, + "end": 33227, + "length": 8, + "parent_index": 2107 + }, + "body": { + "id": 2114, + "node_type": 46, + "kind": 0, + "src": { + "line": 923, + "column": 4, + "start": 33211, + "end": 33260, + "length": 50, + "parent_index": 2107 + }, + "implemented": false, + "statements": [] }, + "implemented": false, + "visibility": 4, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], "parameters": { - "id": 2044, + "id": 2108, "node_type": 43, "src": { - "line": 838, - "column": 4, - "start": 29972, - "end": 30018, - "length": 47, - "parent_index": 2043 + "line": 923, + "column": 47, + "start": 33254, + "end": 33258, + "length": 5, + "parent_index": 2107 }, "parameters": [ { - "id": 2045, + "id": 2109, "node_type": 44, "src": { - "line": 838, - "column": 15, - "start": 29983, - "end": 29998, - "length": 16, - "parent_index": 2044 + "line": 923, + "column": 47, + "start": 33254, + "end": 33258, + "length": 5, + "parent_index": 2108 }, - "scope": 2043, - "name": "reserve0", + "scope": 2107, + "name": "", "type_name": { - "id": 2046, + "id": 2110, "node_type": 30, "src": { - "line": 838, - "column": 15, - "start": 29983, - "end": 29989, - "length": 7, - "parent_index": 2045 + "line": 923, + "column": 47, + "start": 33254, + "end": 33258, + "length": 5, + "parent_index": 2109 }, - "name": "uint112", + "name": "uint8", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_uint8", + "type_string": "uint8" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_uint8", + "type_string": "uint8" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint8", + "type_string": "uint8" + } + ] + }, + "return_parameters": { + "id": 2111, + "node_type": 43, + "src": { + "line": 923, + "column": 47, + "start": 33254, + "end": 33258, + "length": 5, + "parent_index": 2107 + }, + "parameters": [ { - "id": 2047, + "id": 2112, "node_type": 44, "src": { - "line": 838, - "column": 33, - "start": 30001, - "end": 30016, - "length": 16, - "parent_index": 2044 + "line": 923, + "column": 47, + "start": 33254, + "end": 33258, + "length": 5, + "parent_index": 2111 }, - "scope": 2043, - "name": "reserve1", + "scope": 2107, + "name": "", "type_name": { - "id": 2048, + "id": 2113, "node_type": 30, "src": { - "line": 838, - "column": 33, - "start": 30001, - "end": 30007, - "length": 7, - "parent_index": 2047 + "line": 923, + "column": 47, + "start": 33254, + "end": 33258, + "length": 5, + "parent_index": 2112 }, - "name": "uint112", + "name": "uint8", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_uint8", + "type_string": "uint8" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_uint8", + "type_string": "uint8" } } ], "parameter_types": [ { - "type_identifier": "t_uint112", - "type_string": "uint112" - }, - { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_uint8", + "type_string": "uint8" } ] }, - "name": "Sync", - "anonymous": false, + "signature_raw": "decimals(uint8)", + "signature": "82fd60ab", + "scope": 2069, "type_description": { - "type_identifier": "t_event\u0026_IUniswapV2Pair_Sync_\u00262043", - "type_string": "event IUniswapV2Pair.Sync" - } + "type_identifier": "t_function_$_t_uint8$", + "type_string": "function(uint8)" + }, + "text": "functiondecimals()externalpurereturns(uint8);" }, { - "id": 2050, - "name": "MINIMUM_LIQUIDITY", + "id": 2116, + "name": "totalSupply", "node_type": 42, "kind": 41, "src": { - "line": 840, + "line": 924, "column": 4, - "start": 30025, - "end": 30082, - "length": 58, - "parent_index": 1851 + "start": 33266, + "end": 33317, + "length": 52, + "parent_index": 2069 }, "name_location": { - "line": 840, + "line": 924, "column": 13, - "start": 30034, - "end": 30050, - "length": 17, - "parent_index": 2050 + "start": 33275, + "end": 33285, + "length": 11, + "parent_index": 2116 }, "body": { - "id": 2057, + "id": 2123, "node_type": 46, "kind": 0, "src": { - "line": 840, + "line": 924, "column": 4, - "start": 30025, - "end": 30082, - "length": 58, - "parent_index": 2050 + "start": 33266, + "end": 33317, + "length": 52, + "parent_index": 2116 }, "implemented": false, "statements": [] }, "implemented": false, "visibility": 4, - "state_mutability": 6, + "state_mutability": 5, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 2051, + "id": 2117, "node_type": 43, "src": { - "line": 840, - "column": 56, - "start": 30077, - "end": 30080, + "line": 924, + "column": 50, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 2050 + "parent_index": 2116 }, "parameters": [ { - "id": 2052, + "id": 2118, "node_type": 44, "src": { - "line": 840, - "column": 56, - "start": 30077, - "end": 30080, + "line": 924, + "column": 50, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 2051 + "parent_index": 2117 }, - "scope": 2050, + "scope": 2116, "name": "", "type_name": { - "id": 2053, + "id": 2119, "node_type": 30, "src": { - "line": 840, - "column": 56, - "start": 30077, - "end": 30080, + "line": 924, + "column": 50, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 2052 + "parent_index": 2118 }, "name": "uint", "referenced_declaration": 0, @@ -37318,40 +39675,40 @@ ] }, "return_parameters": { - "id": 2054, + "id": 2120, "node_type": 43, "src": { - "line": 840, - "column": 56, - "start": 30077, - "end": 30080, + "line": 924, + "column": 50, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 2050 + "parent_index": 2116 }, "parameters": [ { - "id": 2055, + "id": 2121, "node_type": 44, "src": { - "line": 840, - "column": 56, - "start": 30077, - "end": 30080, + "line": 924, + "column": 50, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 2054 + "parent_index": 2120 }, - "scope": 2050, + "scope": 2116, "name": "", "type_name": { - "id": 2056, + "id": 2122, "node_type": 30, "src": { - "line": 840, - "column": 56, - "start": 30077, - "end": 30080, + "line": 924, + "column": 50, + "start": 33312, + "end": 33315, "length": 4, - "parent_index": 2055 + "parent_index": 2121 }, "name": "uint", "referenced_declaration": 0, @@ -37376,46 +39733,47 @@ } ] }, - "signature_raw": "MINIMUM_LIQUIDITY(uint)", - "signature": "51096f41", - "scope": 1851, + "signature_raw": "totalSupply(uint)", + "signature": "247f0ca7", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint);" }, { - "id": 2059, - "name": "factory", + "id": 2125, + "name": "balanceOf", "node_type": 42, "kind": 41, "src": { - "line": 841, + "line": 925, "column": 4, - "start": 30088, - "end": 30138, - "length": 51, - "parent_index": 1851 + "start": 33323, + "end": 33385, + "length": 63, + "parent_index": 2069 }, "name_location": { - "line": 841, + "line": 925, "column": 13, - "start": 30097, - "end": 30103, - "length": 7, - "parent_index": 2059 + "start": 33332, + "end": 33340, + "length": 9, + "parent_index": 2125 }, "body": { - "id": 2066, + "id": 2132, "node_type": 46, "kind": 0, "src": { - "line": 841, + "line": 925, "column": 4, - "start": 30088, - "end": 30138, - "length": 51, - "parent_index": 2059 + "start": 33323, + "end": 33385, + "length": 63, + "parent_index": 2125 }, "implemented": false, "statements": [] @@ -37427,40 +39785,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2060, + "id": 2126, "node_type": 43, "src": { - "line": 841, - "column": 46, - "start": 30130, - "end": 30136, - "length": 7, - "parent_index": 2059 + "line": 925, + "column": 23, + "start": 33342, + "end": 33354, + "length": 13, + "parent_index": 2125 }, "parameters": [ { - "id": 2061, + "id": 2127, "node_type": 44, "src": { - "line": 841, - "column": 46, - "start": 30130, - "end": 30136, - "length": 7, - "parent_index": 2060 + "line": 925, + "column": 23, + "start": 33342, + "end": 33354, + "length": 13, + "parent_index": 2126 }, - "scope": 2059, - "name": "", + "scope": 2125, + "name": "owner", "type_name": { - "id": 2062, + "id": 2128, "node_type": 30, "src": { - "line": 841, - "column": 46, - "start": 30130, - "end": 30136, + "line": 925, + "column": 23, + "start": 33342, + "end": 33348, "length": 7, - "parent_index": 2061 + "parent_index": 2127 }, "name": "address", "state_mutability": 4, @@ -37487,105 +39845,105 @@ ] }, "return_parameters": { - "id": 2063, + "id": 2129, "node_type": 43, "src": { - "line": 841, - "column": 46, - "start": 30130, - "end": 30136, - "length": 7, - "parent_index": 2059 + "line": 925, + "column": 61, + "start": 33380, + "end": 33383, + "length": 4, + "parent_index": 2125 }, "parameters": [ { - "id": 2064, + "id": 2130, "node_type": 44, "src": { - "line": 841, - "column": 46, - "start": 30130, - "end": 30136, - "length": 7, - "parent_index": 2063 + "line": 925, + "column": 61, + "start": 33380, + "end": 33383, + "length": 4, + "parent_index": 2129 }, - "scope": 2059, + "scope": 2125, "name": "", "type_name": { - "id": 2065, + "id": 2131, "node_type": 30, "src": { - "line": 841, - "column": 46, - "start": 30130, - "end": 30136, - "length": 7, - "parent_index": 2064 + "line": 925, + "column": 61, + "start": 33380, + "end": 33383, + "length": 4, + "parent_index": 2130 }, - "name": "address", - "state_mutability": 4, + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, - "signature_raw": "factory(address)", - "signature": "395c0fda", - "scope": 1851, + "signature_raw": "balanceOf(address)", + "signature": "70a08231", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressowner)externalviewreturns(uint);" }, { - "id": 2068, - "name": "token0", + "id": 2134, + "name": "allowance", "node_type": 42, "kind": 41, "src": { - "line": 842, + "line": 926, "column": 4, - "start": 30144, - "end": 30193, - "length": 50, - "parent_index": 1851 + "start": 33391, + "end": 33470, + "length": 80, + "parent_index": 2069 }, "name_location": { - "line": 842, + "line": 926, "column": 13, - "start": 30153, - "end": 30158, - "length": 6, - "parent_index": 2068 + "start": 33400, + "end": 33408, + "length": 9, + "parent_index": 2134 }, "body": { - "id": 2075, + "id": 2143, "node_type": 46, "kind": 0, "src": { - "line": 842, + "line": 926, "column": 4, - "start": 30144, - "end": 30193, - "length": 50, - "parent_index": 2068 + "start": 33391, + "end": 33470, + "length": 80, + "parent_index": 2134 }, "implemented": false, "statements": [] @@ -37597,40 +39955,80 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2069, + "id": 2135, "node_type": 43, "src": { - "line": 842, - "column": 45, - "start": 30185, - "end": 30191, - "length": 7, - "parent_index": 2068 + "line": 926, + "column": 23, + "start": 33410, + "end": 33439, + "length": 30, + "parent_index": 2134 }, "parameters": [ { - "id": 2070, + "id": 2136, "node_type": 44, "src": { - "line": 842, - "column": 45, - "start": 30185, - "end": 30191, - "length": 7, - "parent_index": 2069 + "line": 926, + "column": 23, + "start": 33410, + "end": 33422, + "length": 13, + "parent_index": 2135 }, - "scope": 2068, - "name": "", + "scope": 2134, + "name": "owner", "type_name": { - "id": 2071, + "id": 2137, "node_type": 30, "src": { - "line": 842, - "column": 45, - "start": 30185, - "end": 30191, + "line": 926, + "column": 23, + "start": 33410, + "end": 33416, + "length": 7, + "parent_index": 2136 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 2138, + "node_type": 44, + "src": { + "line": 926, + "column": 38, + "start": 33425, + "end": 33439, + "length": 15, + "parent_index": 2135 + }, + "scope": 2134, + "name": "spender", + "type_name": { + "id": 2139, + "node_type": 30, + "src": { + "line": 926, + "column": 38, + "start": 33425, + "end": 33431, "length": 7, - "parent_index": 2070 + "parent_index": 2138 }, "name": "address", "state_mutability": 4, @@ -37650,6 +40048,10 @@ } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, { "type_identifier": "t_address", "type_string": "address" @@ -37657,150 +40059,150 @@ ] }, "return_parameters": { - "id": 2072, + "id": 2140, "node_type": 43, "src": { - "line": 842, - "column": 45, - "start": 30185, - "end": 30191, - "length": 7, - "parent_index": 2068 + "line": 926, + "column": 78, + "start": 33465, + "end": 33468, + "length": 4, + "parent_index": 2134 }, "parameters": [ { - "id": 2073, + "id": 2141, "node_type": 44, "src": { - "line": 842, - "column": 45, - "start": 30185, - "end": 30191, - "length": 7, - "parent_index": 2072 + "line": 926, + "column": 78, + "start": 33465, + "end": 33468, + "length": 4, + "parent_index": 2140 }, - "scope": 2068, + "scope": 2134, "name": "", "type_name": { - "id": 2074, + "id": 2142, "node_type": 30, "src": { - "line": 842, - "column": 45, - "start": 30185, - "end": 30191, - "length": 7, - "parent_index": 2073 + "line": 926, + "column": 78, + "start": 33465, + "end": 33468, + "length": 4, + "parent_index": 2141 }, - "name": "address", - "state_mutability": 4, + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, - "signature_raw": "token0(address)", - "signature": "76bf39a3", - "scope": 1851, + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", + "scope": 2069, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint);" }, { - "id": 2077, - "name": "token1", + "id": 2145, + "name": "approve", "node_type": 42, "kind": 41, "src": { - "line": 843, + "line": 928, "column": 4, - "start": 30199, - "end": 30248, - "length": 50, - "parent_index": 1851 + "start": 33477, + "end": 33546, + "length": 70, + "parent_index": 2069 }, "name_location": { - "line": 843, + "line": 928, "column": 13, - "start": 30208, - "end": 30213, - "length": 6, - "parent_index": 2077 + "start": 33486, + "end": 33492, + "length": 7, + "parent_index": 2145 }, "body": { - "id": 2084, + "id": 2154, "node_type": 46, "kind": 0, "src": { - "line": 843, + "line": 928, "column": 4, - "start": 30199, - "end": 30248, - "length": 50, - "parent_index": 2077 + "start": 33477, + "end": 33546, + "length": 70, + "parent_index": 2145 }, "implemented": false, "statements": [] }, "implemented": false, "visibility": 4, - "state_mutability": 5, + "state_mutability": 4, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 2078, + "id": 2146, "node_type": 43, "src": { - "line": 843, - "column": 45, - "start": 30240, - "end": 30246, - "length": 7, - "parent_index": 2077 + "line": 928, + "column": 21, + "start": 33494, + "end": 33520, + "length": 27, + "parent_index": 2145 }, "parameters": [ { - "id": 2079, + "id": 2147, "node_type": 44, "src": { - "line": 843, - "column": 45, - "start": 30240, - "end": 30246, - "length": 7, - "parent_index": 2078 + "line": 928, + "column": 21, + "start": 33494, + "end": 33508, + "length": 15, + "parent_index": 2146 }, - "scope": 2077, - "name": "", + "scope": 2145, + "name": "spender", "type_name": { - "id": 2080, + "id": 2148, "node_type": 30, "src": { - "line": 843, - "column": 45, - "start": 30240, - "end": 30246, + "line": 928, + "column": 21, + "start": 33494, + "end": 33500, "length": 7, - "parent_index": 2079 + "parent_index": 2147 }, "name": "address", "state_mutability": 4, @@ -37817,455 +40219,628 @@ "type_identifier": "t_address", "type_string": "address" } + }, + { + "id": 2149, + "node_type": 44, + "src": { + "line": 928, + "column": 38, + "start": 33511, + "end": 33520, + "length": 10, + "parent_index": 2146 + }, + "scope": 2145, + "name": "value", + "type_name": { + "id": 2150, + "node_type": 30, + "src": { + "line": 928, + "column": 38, + "start": 33511, + "end": 33514, + "length": 4, + "parent_index": 2149 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } } ], "parameter_types": [ { "type_identifier": "t_address", "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, "return_parameters": { - "id": 2081, + "id": 2151, "node_type": 43, "src": { - "line": 843, - "column": 45, - "start": 30240, - "end": 30246, - "length": 7, - "parent_index": 2077 + "line": 928, + "column": 68, + "start": 33541, + "end": 33544, + "length": 4, + "parent_index": 2145 }, "parameters": [ { - "id": 2082, + "id": 2152, "node_type": 44, "src": { - "line": 843, - "column": 45, - "start": 30240, - "end": 30246, - "length": 7, - "parent_index": 2081 + "line": 928, + "column": 68, + "start": 33541, + "end": 33544, + "length": 4, + "parent_index": 2151 }, - "scope": 2077, + "scope": 2145, "name": "", "type_name": { - "id": 2083, + "id": 2153, "node_type": 30, "src": { - "line": 843, - "column": 45, - "start": 30240, - "end": 30246, - "length": 7, - "parent_index": 2082 + "line": 928, + "column": 68, + "start": 33541, + "end": 33544, + "length": 4, + "parent_index": 2152 }, - "name": "address", - "state_mutability": 4, + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } ] }, - "signature_raw": "token1(address)", - "signature": "37823795", - "scope": 1851, + "signature_raw": "approve(address,uint)", + "signature": "086c40f6", + "scope": 2069, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functionapprove(addressspender,uintvalue)externalreturns(bool);" }, { - "id": 2086, - "name": "getReserves", + "id": 2156, + "name": "transfer", "node_type": 42, "kind": 41, "src": { - "line": 844, + "line": 929, "column": 4, - "start": 30254, - "end": 30362, - "length": 109, - "parent_index": 1851 + "start": 33552, + "end": 33617, + "length": 66, + "parent_index": 2069 }, "name_location": { - "line": 844, + "line": 929, "column": 13, - "start": 30263, - "end": 30273, - "length": 11, - "parent_index": 2086 + "start": 33561, + "end": 33568, + "length": 8, + "parent_index": 2156 }, "body": { - "id": 2101, + "id": 2165, "node_type": 46, "kind": 0, "src": { - "line": 844, + "line": 929, "column": 4, - "start": 30254, - "end": 30362, - "length": 109, - "parent_index": 2086 + "start": 33552, + "end": 33617, + "length": 66, + "parent_index": 2156 }, "implemented": false, "statements": [] }, "implemented": false, "visibility": 4, - "state_mutability": 5, + "state_mutability": 4, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 2087, + "id": 2157, "node_type": 43, "src": { - "line": 844, - "column": 50, - "start": 30300, - "end": 30360, - "length": 61, - "parent_index": 2086 + "line": 929, + "column": 22, + "start": 33570, + "end": 33591, + "length": 22, + "parent_index": 2156 }, "parameters": [ { - "id": 2088, + "id": 2158, "node_type": 44, "src": { - "line": 844, - "column": 50, - "start": 30300, - "end": 30315, - "length": 16, - "parent_index": 2087 + "line": 929, + "column": 22, + "start": 33570, + "end": 33579, + "length": 10, + "parent_index": 2157 }, - "scope": 2086, - "name": "reserve0", + "scope": 2156, + "name": "to", "type_name": { - "id": 2089, + "id": 2159, "node_type": 30, "src": { - "line": 844, - "column": 50, - "start": 30300, - "end": 30306, + "line": 929, + "column": 22, + "start": 33570, + "end": 33576, "length": 7, - "parent_index": 2088 + "parent_index": 2158 }, - "name": "uint112", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 2090, + "id": 2160, "node_type": 44, "src": { - "line": 844, - "column": 68, - "start": 30318, - "end": 30333, - "length": 16, - "parent_index": 2087 + "line": 929, + "column": 34, + "start": 33582, + "end": 33591, + "length": 10, + "parent_index": 2157 }, - "scope": 2086, - "name": "reserve1", + "scope": 2156, + "name": "value", "type_name": { - "id": 2091, + "id": 2161, "node_type": 30, "src": { - "line": 844, - "column": 68, - "start": 30318, - "end": 30324, - "length": 7, - "parent_index": 2090 + "line": 929, + "column": 34, + "start": 33582, + "end": 33585, + "length": 4, + "parent_index": 2160 }, - "name": "uint112", + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_uint256", + "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, { - "id": 2092, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 2162, + "node_type": 43, + "src": { + "line": 929, + "column": 64, + "start": 33612, + "end": 33615, + "length": 4, + "parent_index": 2156 + }, + "parameters": [ + { + "id": 2163, "node_type": 44, "src": { - "line": 844, - "column": 86, - "start": 30336, - "end": 30360, - "length": 25, - "parent_index": 2087 + "line": 929, + "column": 64, + "start": 33612, + "end": 33615, + "length": 4, + "parent_index": 2162 }, - "scope": 2086, - "name": "blockTimestampLast", + "scope": 2156, + "name": "", "type_name": { - "id": 2093, + "id": 2164, "node_type": 30, "src": { - "line": 844, - "column": 86, - "start": 30336, - "end": 30341, - "length": 6, - "parent_index": 2092 + "line": 929, + "column": 64, + "start": 33612, + "end": 33615, + "length": 4, + "parent_index": 2163 }, - "name": "uint32", + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint32", - "type_string": "uint32" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint32", - "type_string": "uint32" + "type_identifier": "t_bool", + "type_string": "bool" } } ], "parameter_types": [ { - "type_identifier": "t_uint112", - "type_string": "uint112" - }, - { - "type_identifier": "t_uint112", - "type_string": "uint112" - }, - { - "type_identifier": "t_uint32", - "type_string": "uint32" + "type_identifier": "t_bool", + "type_string": "bool" } ] }, - "return_parameters": { - "id": 2094, + "signature_raw": "transfer(address,uint)", + "signature": "6cb927d8", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functiontransfer(addressto,uintvalue)externalreturns(bool);" + }, + { + "id": 2167, + "name": "transferFrom", + "node_type": 42, + "kind": 41, + "src": { + "line": 930, + "column": 4, + "start": 33623, + "end": 33706, + "length": 84, + "parent_index": 2069 + }, + "name_location": { + "line": 930, + "column": 13, + "start": 33632, + "end": 33643, + "length": 12, + "parent_index": 2167 + }, + "body": { + "id": 2178, + "node_type": 46, + "kind": 0, + "src": { + "line": 930, + "column": 4, + "start": 33623, + "end": 33706, + "length": 84, + "parent_index": 2167 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2168, "node_type": 43, "src": { - "line": 844, - "column": 50, - "start": 30300, - "end": 30360, - "length": 61, - "parent_index": 2086 + "line": 930, + "column": 26, + "start": 33645, + "end": 33680, + "length": 36, + "parent_index": 2167 }, "parameters": [ { - "id": 2095, + "id": 2169, "node_type": 44, "src": { - "line": 844, - "column": 50, - "start": 30300, - "end": 30315, - "length": 16, - "parent_index": 2094 + "line": 930, + "column": 26, + "start": 33645, + "end": 33656, + "length": 12, + "parent_index": 2168 }, - "scope": 2086, - "name": "reserve0", + "scope": 2167, + "name": "from", "type_name": { - "id": 2096, + "id": 2170, "node_type": 30, "src": { - "line": 844, - "column": 50, - "start": 30300, - "end": 30306, + "line": 930, + "column": 26, + "start": 33645, + "end": 33651, "length": 7, - "parent_index": 2095 + "parent_index": 2169 }, - "name": "uint112", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 2097, + "id": 2171, "node_type": 44, "src": { - "line": 844, - "column": 68, - "start": 30318, - "end": 30333, - "length": 16, - "parent_index": 2094 + "line": 930, + "column": 40, + "start": 33659, + "end": 33668, + "length": 10, + "parent_index": 2168 }, - "scope": 2086, - "name": "reserve1", + "scope": 2167, + "name": "to", "type_name": { - "id": 2098, + "id": 2172, "node_type": 30, "src": { - "line": 844, - "column": 68, - "start": 30318, - "end": 30324, + "line": 930, + "column": 40, + "start": 33659, + "end": 33665, "length": 7, - "parent_index": 2097 + "parent_index": 2171 }, - "name": "uint112", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 2099, + "id": 2173, "node_type": 44, "src": { - "line": 844, - "column": 86, - "start": 30336, - "end": 30360, - "length": 25, - "parent_index": 2094 + "line": 930, + "column": 52, + "start": 33671, + "end": 33680, + "length": 10, + "parent_index": 2168 }, - "scope": 2086, - "name": "blockTimestampLast", + "scope": 2167, + "name": "value", "type_name": { - "id": 2100, + "id": 2174, "node_type": 30, "src": { - "line": 844, - "column": 86, - "start": 30336, - "end": 30341, - "length": 6, - "parent_index": 2099 + "line": 930, + "column": 52, + "start": 33671, + "end": 33674, + "length": 4, + "parent_index": 2173 }, - "name": "uint32", + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint32", - "type_string": "uint32" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint32", - "type_string": "uint32" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "parameter_types": [ { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_address", + "type_string": "address" }, { - "type_identifier": "t_uint112", - "type_string": "uint112" + "type_identifier": "t_address", + "type_string": "address" }, { - "type_identifier": "t_uint32", - "type_string": "uint32" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 2175, + "node_type": 43, + "src": { + "line": 930, + "column": 82, + "start": 33701, + "end": 33704, + "length": 4, + "parent_index": 2167 + }, + "parameters": [ + { + "id": 2176, + "node_type": 44, + "src": { + "line": 930, + "column": 82, + "start": 33701, + "end": 33704, + "length": 4, + "parent_index": 2175 + }, + "scope": 2167, + "name": "", + "type_name": { + "id": 2177, + "node_type": 30, + "src": { + "line": 930, + "column": 82, + "start": 33701, + "end": 33704, + "length": 4, + "parent_index": 2176 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" } ] }, - "signature_raw": "getReserves(uint112, uint112, uint32)", - "signature": "06f200c5", - "scope": 1851, + "signature_raw": "transferFrom(address,address,uint)", + "signature": "a978501e", + "scope": 2069, "type_description": { - "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", - "type_string": "function(uint112,uint112,uint32)" - } + "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", + "type_string": "function(address,address,uint256)" + }, + "text": "functiontransferFrom(addressfrom,addressto,uintvalue)externalreturns(bool);" }, { - "id": 2103, - "name": "price0CumulativeLast", + "id": 2180, + "name": "DOMAIN_SEPARATOR", "node_type": 42, "kind": 41, "src": { - "line": 845, + "line": 932, "column": 4, - "start": 30368, - "end": 30428, - "length": 61, - "parent_index": 1851 + "start": 33713, + "end": 33772, + "length": 60, + "parent_index": 2069 }, "name_location": { - "line": 845, + "line": 932, "column": 13, - "start": 30377, - "end": 30396, - "length": 20, - "parent_index": 2103 + "start": 33722, + "end": 33737, + "length": 16, + "parent_index": 2180 }, "body": { - "id": 2110, + "id": 2187, "node_type": 46, "kind": 0, "src": { - "line": 845, + "line": 932, "column": 4, - "start": 30368, - "end": 30428, - "length": 61, - "parent_index": 2103 + "start": 33713, + "end": 33772, + "length": 60, + "parent_index": 2180 }, "implemented": false, "statements": [] @@ -38277,544 +40852,378 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2104, + "id": 2181, "node_type": 43, "src": { - "line": 845, - "column": 59, - "start": 30423, - "end": 30426, - "length": 4, - "parent_index": 2103 + "line": 932, + "column": 55, + "start": 33764, + "end": 33770, + "length": 7, + "parent_index": 2180 }, "parameters": [ { - "id": 2105, + "id": 2182, "node_type": 44, "src": { - "line": 845, - "column": 59, - "start": 30423, - "end": 30426, - "length": 4, - "parent_index": 2104 + "line": 932, + "column": 55, + "start": 33764, + "end": 33770, + "length": 7, + "parent_index": 2181 }, - "scope": 2103, + "scope": 2180, "name": "", "type_name": { - "id": 2106, + "id": 2183, "node_type": 30, "src": { - "line": 845, - "column": 59, - "start": 30423, - "end": 30426, - "length": 4, - "parent_index": 2105 + "line": 932, + "column": 55, + "start": 33764, + "end": 33770, + "length": 7, + "parent_index": 2182 }, - "name": "uint", + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } ] }, "return_parameters": { - "id": 2107, + "id": 2184, "node_type": 43, "src": { - "line": 845, - "column": 59, - "start": 30423, - "end": 30426, - "length": 4, - "parent_index": 2103 + "line": 932, + "column": 55, + "start": 33764, + "end": 33770, + "length": 7, + "parent_index": 2180 }, "parameters": [ { - "id": 2108, + "id": 2185, "node_type": 44, "src": { - "line": 845, - "column": 59, - "start": 30423, - "end": 30426, - "length": 4, - "parent_index": 2107 + "line": 932, + "column": 55, + "start": 33764, + "end": 33770, + "length": 7, + "parent_index": 2184 }, - "scope": 2103, + "scope": 2180, "name": "", "type_name": { - "id": 2109, + "id": 2186, "node_type": 30, "src": { - "line": 845, - "column": 59, - "start": 30423, - "end": 30426, - "length": 4, - "parent_index": 2108 + "line": 932, + "column": 55, + "start": 33764, + "end": 33770, + "length": 7, + "parent_index": 2185 }, - "name": "uint", + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } ] }, - "signature_raw": "price0CumulativeLast(uint)", - "signature": "f8d9234a", - "scope": 1851, + "signature_raw": "DOMAIN_SEPARATOR(bytes32)", + "signature": "d075954a", + "scope": 2069, "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } + "type_identifier": "t_function_$_t_bytes32$", + "type_string": "function(bytes32)" + }, + "text": "functionDOMAIN_SEPARATOR()externalviewreturns(bytes32);" }, { - "id": 2112, - "name": "price1CumulativeLast", + "id": 2189, + "name": "PERMIT_TYPEHASH", "node_type": 42, "kind": 41, "src": { - "line": 846, + "line": 933, "column": 4, - "start": 30434, - "end": 30494, - "length": 61, - "parent_index": 1851 + "start": 33778, + "end": 33836, + "length": 59, + "parent_index": 2069 }, "name_location": { - "line": 846, + "line": 933, "column": 13, - "start": 30443, - "end": 30462, - "length": 20, - "parent_index": 2112 + "start": 33787, + "end": 33801, + "length": 15, + "parent_index": 2189 }, "body": { - "id": 2119, + "id": 2196, "node_type": 46, "kind": 0, "src": { - "line": 846, + "line": 933, "column": 4, - "start": 30434, - "end": 30494, - "length": 61, - "parent_index": 2112 + "start": 33778, + "end": 33836, + "length": 59, + "parent_index": 2189 }, "implemented": false, "statements": [] }, "implemented": false, "visibility": 4, - "state_mutability": 5, + "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 2113, + "id": 2190, "node_type": 43, "src": { - "line": 846, - "column": 59, - "start": 30489, - "end": 30492, - "length": 4, - "parent_index": 2112 + "line": 933, + "column": 54, + "start": 33828, + "end": 33834, + "length": 7, + "parent_index": 2189 }, "parameters": [ { - "id": 2114, + "id": 2191, "node_type": 44, "src": { - "line": 846, - "column": 59, - "start": 30489, - "end": 30492, - "length": 4, - "parent_index": 2113 + "line": 933, + "column": 54, + "start": 33828, + "end": 33834, + "length": 7, + "parent_index": 2190 }, - "scope": 2112, + "scope": 2189, "name": "", "type_name": { - "id": 2115, + "id": 2192, "node_type": 30, "src": { - "line": 846, - "column": 59, - "start": 30489, - "end": 30492, - "length": 4, - "parent_index": 2114 + "line": 933, + "column": 54, + "start": 33828, + "end": 33834, + "length": 7, + "parent_index": 2191 }, - "name": "uint", + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 2116, - "node_type": 43, - "src": { - "line": 846, - "column": 59, - "start": 30489, - "end": 30492, - "length": 4, - "parent_index": 2112 - }, - "parameters": [ - { - "id": 2117, - "node_type": 44, - "src": { - "line": 846, - "column": 59, - "start": 30489, - "end": 30492, - "length": 4, - "parent_index": 2116 - }, - "scope": 2112, - "name": "", - "type_name": { - "id": 2118, - "node_type": 30, - "src": { - "line": 846, - "column": 59, - "start": 30489, - "end": 30492, - "length": 4, - "parent_index": 2117 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "price1CumulativeLast(uint)", - "signature": "2aa8398b", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - }, - { - "id": 2121, - "name": "kLast", - "node_type": 42, - "kind": 41, - "src": { - "line": 847, - "column": 4, - "start": 30500, - "end": 30545, - "length": 46, - "parent_index": 1851 - }, - "name_location": { - "line": 847, - "column": 13, - "start": 30509, - "end": 30513, - "length": 5, - "parent_index": 2121 - }, - "body": { - "id": 2128, - "node_type": 46, - "kind": 0, - "src": { - "line": 847, - "column": 4, - "start": 30500, - "end": 30545, - "length": 46, - "parent_index": 2121 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2122, - "node_type": 43, - "src": { - "line": 847, - "column": 44, - "start": 30540, - "end": 30543, - "length": 4, - "parent_index": 2121 - }, - "parameters": [ - { - "id": 2123, - "node_type": 44, - "src": { - "line": 847, - "column": 44, - "start": 30540, - "end": 30543, - "length": 4, - "parent_index": 2122 - }, - "scope": 2121, - "name": "", - "type_name": { - "id": 2124, - "node_type": 30, - "src": { - "line": 847, - "column": 44, - "start": 30540, - "end": 30543, - "length": 4, - "parent_index": 2123 - }, - "name": "uint", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } ] }, "return_parameters": { - "id": 2125, + "id": 2193, "node_type": 43, "src": { - "line": 847, - "column": 44, - "start": 30540, - "end": 30543, - "length": 4, - "parent_index": 2121 + "line": 933, + "column": 54, + "start": 33828, + "end": 33834, + "length": 7, + "parent_index": 2189 }, "parameters": [ { - "id": 2126, + "id": 2194, "node_type": 44, "src": { - "line": 847, - "column": 44, - "start": 30540, - "end": 30543, - "length": 4, - "parent_index": 2125 + "line": 933, + "column": 54, + "start": 33828, + "end": 33834, + "length": 7, + "parent_index": 2193 }, - "scope": 2121, + "scope": 2189, "name": "", "type_name": { - "id": 2127, + "id": 2195, "node_type": 30, "src": { - "line": 847, - "column": 44, - "start": 30540, - "end": 30543, - "length": 4, - "parent_index": 2126 + "line": 933, + "column": 54, + "start": 33828, + "end": 33834, + "length": 7, + "parent_index": 2194 }, - "name": "uint", + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } ] }, - "signature_raw": "kLast(uint)", - "signature": "ce0485c1", - "scope": 1851, + "signature_raw": "PERMIT_TYPEHASH(bytes32)", + "signature": "5b4c0a1d", + "scope": 2069, "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } + "type_identifier": "t_function_$_t_bytes32$", + "type_string": "function(bytes32)" + }, + "text": "functionPERMIT_TYPEHASH()externalpurereturns(bytes32);" }, { - "id": 2130, - "name": "mint", + "id": 2198, + "name": "nonces", "node_type": 42, "kind": 41, "src": { - "line": 849, + "line": 934, "column": 4, - "start": 30552, - "end": 30611, + "start": 33842, + "end": 33901, "length": 60, - "parent_index": 1851 + "parent_index": 2069 }, "name_location": { - "line": 849, + "line": 934, "column": 13, - "start": 30561, - "end": 30564, - "length": 4, - "parent_index": 2130 + "start": 33851, + "end": 33856, + "length": 6, + "parent_index": 2198 }, "body": { - "id": 2137, + "id": 2205, "node_type": 46, "kind": 0, "src": { - "line": 849, + "line": 934, "column": 4, - "start": 30552, - "end": 30611, + "start": 33842, + "end": 33901, "length": 60, - "parent_index": 2130 + "parent_index": 2198 }, "implemented": false, "statements": [] }, "implemented": false, "visibility": 4, - "state_mutability": 4, + "state_mutability": 5, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 2131, + "id": 2199, "node_type": 43, "src": { - "line": 849, - "column": 18, - "start": 30566, - "end": 30575, - "length": 10, - "parent_index": 2130 + "line": 934, + "column": 20, + "start": 33858, + "end": 33870, + "length": 13, + "parent_index": 2198 }, "parameters": [ { - "id": 2132, + "id": 2200, "node_type": 44, "src": { - "line": 849, - "column": 18, - "start": 30566, - "end": 30575, - "length": 10, - "parent_index": 2131 + "line": 934, + "column": 20, + "start": 33858, + "end": 33870, + "length": 13, + "parent_index": 2199 }, - "scope": 2130, - "name": "to", + "scope": 2198, + "name": "owner", "type_name": { - "id": 2133, + "id": 2201, "node_type": 30, "src": { - "line": 849, - "column": 18, - "start": 30566, - "end": 30572, + "line": 934, + "column": 20, + "start": 33858, + "end": 33864, "length": 7, - "parent_index": 2132 + "parent_index": 2200 }, "name": "address", "state_mutability": 4, @@ -38841,40 +41250,40 @@ ] }, "return_parameters": { - "id": 2134, + "id": 2202, "node_type": 43, "src": { - "line": 849, - "column": 48, - "start": 30596, - "end": 30609, - "length": 14, - "parent_index": 2130 + "line": 934, + "column": 58, + "start": 33896, + "end": 33899, + "length": 4, + "parent_index": 2198 }, "parameters": [ { - "id": 2135, + "id": 2203, "node_type": 44, "src": { - "line": 849, - "column": 48, - "start": 30596, - "end": 30609, - "length": 14, - "parent_index": 2134 + "line": 934, + "column": 58, + "start": 33896, + "end": 33899, + "length": 4, + "parent_index": 2202 }, - "scope": 2130, - "name": "liquidity", + "scope": 2198, + "name": "", "type_name": { - "id": 2136, + "id": 2204, "node_type": 30, "src": { - "line": 849, - "column": 48, - "start": 30596, - "end": 30599, + "line": 934, + "column": 58, + "start": 33896, + "end": 33899, "length": 4, - "parent_index": 2135 + "parent_index": 2203 }, "name": "uint", "referenced_declaration": 0, @@ -38899,46 +41308,47 @@ } ] }, - "signature_raw": "mint(address)", - "signature": "6a627842", - "scope": 1851, + "signature_raw": "nonces(address)", + "signature": "7ecebe00", + "scope": 2069, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionnonces(addressowner)externalviewreturns(uint);" }, { - "id": 2139, - "name": "burn", + "id": 2207, + "name": "permit", "node_type": 42, "kind": 41, "src": { - "line": 850, + "line": 936, "column": 4, - "start": 30617, - "end": 30688, - "length": 72, - "parent_index": 1851 + "start": 33908, + "end": 34022, + "length": 115, + "parent_index": 2069 }, "name_location": { - "line": 850, + "line": 936, "column": 13, - "start": 30626, - "end": 30629, - "length": 4, - "parent_index": 2139 + "start": 33917, + "end": 33922, + "length": 6, + "parent_index": 2207 }, "body": { - "id": 2148, + "id": 2224, "node_type": 46, "kind": 0, "src": { - "line": 850, + "line": 936, "column": 4, - "start": 30617, - "end": 30688, - "length": 72, - "parent_index": 2139 + "start": 33908, + "end": 34022, + "length": 115, + "parent_index": 2207 }, "implemented": false, "statements": [] @@ -38950,40 +41360,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2140, + "id": 2208, "node_type": 43, "src": { - "line": 850, - "column": 18, - "start": 30631, - "end": 30640, - "length": 10, - "parent_index": 2139 + "line": 936, + "column": 20, + "start": 33924, + "end": 34011, + "length": 88, + "parent_index": 2207 }, "parameters": [ { - "id": 2141, + "id": 2209, "node_type": 44, "src": { - "line": 850, - "column": 18, - "start": 30631, - "end": 30640, - "length": 10, - "parent_index": 2140 + "line": 936, + "column": 20, + "start": 33924, + "end": 33936, + "length": 13, + "parent_index": 2208 }, - "scope": 2139, - "name": "to", + "scope": 2207, + "name": "owner", "type_name": { - "id": 2142, + "id": 2210, "node_type": 30, "src": { - "line": 850, - "column": 18, - "start": 30631, - "end": 30637, + "line": 936, + "column": 20, + "start": 33924, + "end": 33930, "length": 7, - "parent_index": 2141 + "parent_index": 2209 }, "name": "address", "state_mutability": 4, @@ -39000,89 +41410,70 @@ "type_identifier": "t_address", "type_string": "address" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "return_parameters": { - "id": 2143, - "node_type": 43, - "src": { - "line": 850, - "column": 48, - "start": 30661, - "end": 30686, - "length": 26, - "parent_index": 2139 - }, - "parameters": [ + }, { - "id": 2144, + "id": 2211, "node_type": 44, "src": { - "line": 850, - "column": 48, - "start": 30661, - "end": 30672, - "length": 12, - "parent_index": 2143 + "line": 936, + "column": 35, + "start": 33939, + "end": 33953, + "length": 15, + "parent_index": 2208 }, - "scope": 2139, - "name": "amount0", + "scope": 2207, + "name": "spender", "type_name": { - "id": 2145, + "id": 2212, "node_type": 30, "src": { - "line": 850, - "column": 48, - "start": 30661, - "end": 30664, - "length": 4, - "parent_index": 2144 + "line": 936, + "column": 35, + "start": 33939, + "end": 33945, + "length": 7, + "parent_index": 2211 }, - "name": "uint", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 2146, + "id": 2213, "node_type": 44, "src": { - "line": 850, - "column": 62, - "start": 30675, - "end": 30686, - "length": 12, - "parent_index": 2143 + "line": 936, + "column": 52, + "start": 33956, + "end": 33965, + "length": 10, + "parent_index": 2208 }, - "scope": 2139, - "name": "amount1", + "scope": 2207, + "name": "value", "type_name": { - "id": 2147, + "id": 2214, "node_type": 30, "src": { - "line": 850, - "column": 62, - "start": 30675, - "end": 30678, + "line": 936, + "column": 52, + "start": 33956, + "end": 33959, "length": 4, - "parent_index": 2146 + "parent_index": 2213 }, "name": "uint", "referenced_declaration": 0, @@ -39098,104 +41489,30 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "burn(address)", - "signature": "89afcb44", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - { - "id": 2150, - "name": "swap", - "node_type": 42, - "kind": 41, - "src": { - "line": 851, - "column": 4, - "start": 30694, - "end": 30783, - "length": 90, - "parent_index": 1851 - }, - "name_location": { - "line": 851, - "column": 13, - "start": 30703, - "end": 30706, - "length": 4, - "parent_index": 2150 - }, - "body": { - "id": 2161, - "node_type": 46, - "kind": 0, - "src": { - "line": 851, - "column": 4, - "start": 30694, - "end": 30783, - "length": 90, - "parent_index": 2150 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2151, - "node_type": 43, - "src": { - "line": 851, - "column": 18, - "start": 30708, - "end": 30772, - "length": 65, - "parent_index": 2150 - }, - "parameters": [ - { - "id": 2152, + "id": 2215, "node_type": 44, "src": { - "line": 851, - "column": 18, - "start": 30708, - "end": 30722, - "length": 15, - "parent_index": 2151 + "line": 936, + "column": 64, + "start": 33968, + "end": 33980, + "length": 13, + "parent_index": 2208 }, - "scope": 2150, - "name": "amount0Out", + "scope": 2207, + "name": "deadline", "type_name": { - "id": 2153, + "id": 2216, "node_type": 30, "src": { - "line": 851, - "column": 18, - "start": 30708, - "end": 30711, + "line": 936, + "column": 64, + "start": 33968, + "end": 33971, "length": 4, - "parent_index": 2152 + "parent_index": 2215 }, "name": "uint", "referenced_declaration": 0, @@ -39213,125 +41530,132 @@ } }, { - "id": 2154, + "id": 2217, "node_type": 44, "src": { - "line": 851, - "column": 35, - "start": 30725, - "end": 30739, - "length": 15, - "parent_index": 2151 + "line": 936, + "column": 79, + "start": 33983, + "end": 33989, + "length": 7, + "parent_index": 2208 }, - "scope": 2150, - "name": "amount1Out", + "scope": 2207, + "name": "v", "type_name": { - "id": 2155, + "id": 2218, "node_type": 30, "src": { - "line": 851, - "column": 35, - "start": 30725, - "end": 30728, - "length": 4, - "parent_index": 2154 + "line": 936, + "column": 79, + "start": 33983, + "end": 33987, + "length": 5, + "parent_index": 2217 }, - "name": "uint", + "name": "uint8", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_uint8", + "type_string": "uint8" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_uint8", + "type_string": "uint8" } }, { - "id": 2156, + "id": 2219, "node_type": 44, "src": { - "line": 851, - "column": 52, - "start": 30742, - "end": 30751, - "length": 10, - "parent_index": 2151 + "line": 936, + "column": 88, + "start": 33992, + "end": 34000, + "length": 9, + "parent_index": 2208 }, - "scope": 2150, - "name": "to", + "scope": 2207, + "name": "r", "type_name": { - "id": 2157, + "id": 2220, "node_type": 30, "src": { - "line": 851, - "column": 52, - "start": 30742, - "end": 30748, + "line": 936, + "column": 88, + "start": 33992, + "end": 33998, "length": 7, - "parent_index": 2156 + "parent_index": 2219 }, - "name": "address", - "state_mutability": 4, + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, { - "id": 2158, + "id": 2221, "node_type": 44, "src": { - "line": 851, - "column": 64, - "start": 30754, - "end": 30772, - "length": 19, - "parent_index": 2151 + "line": 936, + "column": 99, + "start": 34003, + "end": 34011, + "length": 9, + "parent_index": 2208 }, - "scope": 2150, - "name": "data", + "scope": 2207, + "name": "s", "type_name": { - "id": 2159, + "id": 2222, "node_type": 30, "src": { - "line": 851, - "column": 64, - "start": 30754, - "end": 30758, - "length": 5, - "parent_index": 2158 + "line": 936, + "column": 99, + "start": 34003, + "end": 34009, + "length": 7, + "parent_index": 2221 }, - "name": "bytes", + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, - "storage_location": 4, + "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, { "type_identifier": "t_uint256", "type_string": "uint256" @@ -39341,114 +41665,88 @@ "type_string": "uint256" }, { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint8", + "type_string": "uint8" }, { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_bytes32", + "type_string": "bytes32" + }, + { + "type_identifier": "t_bytes32", + "type_string": "bytes32" } ] }, "return_parameters": { - "id": 2160, + "id": 2223, "node_type": 43, "src": { - "line": 851, + "line": 936, "column": 4, - "start": 30694, - "end": 30783, - "length": 90, - "parent_index": 2150 + "start": 33908, + "end": 34022, + "length": 115, + "parent_index": 2207 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "swap(uint, uint, address, bytes)", - "signature": "7d9441ed", - "scope": 1851, + "signature_raw": "permit(address,address,uint,uint,uint8,bytes32,bytes32)", + "signature": "97a6e84a", + "scope": 2069, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", - "type_string": "function(uint256,uint256,address,bytes)" - } + "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", + "type_string": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" + }, + "text": "functionpermit(addressowner,addressspender,uintvalue,uintdeadline,uint8v,bytes32r,bytes32s)external;" }, { - "id": 2163, - "name": "skim", - "node_type": 42, - "kind": 41, + "id": 2226, + "node_type": 57, "src": { - "line": 852, + "line": 938, "column": 4, - "start": 30789, - "end": 30823, - "length": 35, - "parent_index": 1851 - }, - "name_location": { - "line": 852, - "column": 13, - "start": 30798, - "end": 30801, - "length": 4, - "parent_index": 2163 - }, - "body": { - "id": 2168, - "node_type": 46, - "kind": 0, - "src": { - "line": 852, - "column": 4, - "start": 30789, - "end": 30823, - "length": 35, - "parent_index": 2163 - }, - "implemented": false, - "statements": [] + "start": 34029, + "end": 34091, + "length": 63, + "parent_index": 2069 }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], "parameters": { - "id": 2164, + "id": 2227, "node_type": 43, "src": { - "line": 852, - "column": 18, - "start": 30803, - "end": 30812, - "length": 10, - "parent_index": 2163 + "line": 938, + "column": 4, + "start": 34029, + "end": 34091, + "length": 63, + "parent_index": 2226 }, "parameters": [ { - "id": 2165, + "id": 2228, "node_type": 44, "src": { - "line": 852, - "column": 18, - "start": 30803, - "end": 30812, - "length": 10, - "parent_index": 2164 + "line": 938, + "column": 15, + "start": 34040, + "end": 34061, + "length": 22, + "parent_index": 2227 }, - "scope": 2163, - "name": "to", + "scope": 2226, + "name": "sender", "type_name": { - "id": 2166, + "id": 2229, "node_type": 30, "src": { - "line": 852, - "column": 18, - "start": 30803, - "end": 30809, + "line": 938, + "column": 15, + "start": 34040, + "end": 34046, "length": 7, - "parent_index": 2165 + "parent_index": 2228 }, "name": "address", "state_mutability": 4, @@ -39464,248 +41762,85 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "return_parameters": { - "id": 2167, - "node_type": 43, - "src": { - "line": 852, - "column": 4, - "start": 30789, - "end": 30823, - "length": 35, - "parent_index": 2163 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "skim(address)", - "signature": "bc25cf77", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - { - "id": 2170, - "name": "sync", - "node_type": 42, - "kind": 41, - "src": { - "line": 853, - "column": 4, - "start": 30829, - "end": 30853, - "length": 25, - "parent_index": 1851 - }, - "name_location": { - "line": 853, - "column": 13, - "start": 30838, - "end": 30841, - "length": 4, - "parent_index": 2170 - }, - "body": { - "id": 2173, - "node_type": 46, - "kind": 0, - "src": { - "line": 853, - "column": 4, - "start": 30829, - "end": 30853, - "length": 25, - "parent_index": 2170 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2171, - "node_type": 43, - "src": { - "line": 853, - "column": 4, - "start": 30829, - "end": 30853, - "length": 25, - "parent_index": 2170 - }, - "parameters": [], - "parameter_types": [] - }, - "return_parameters": { - "id": 2172, - "node_type": 43, - "src": { - "line": 853, - "column": 4, - "start": 30829, - "end": 30853, - "length": 25, - "parent_index": 2170 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "sync()", - "signature": "fff6cae9", - "scope": 1851, - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - } - }, - { - "id": 2175, - "name": "initialize", - "node_type": 42, - "kind": 41, - "src": { - "line": 855, - "column": 4, - "start": 30860, - "end": 30906, - "length": 47, - "parent_index": 1851 - }, - "name_location": { - "line": 855, - "column": 13, - "start": 30869, - "end": 30878, - "length": 10, - "parent_index": 2175 - }, - "body": { - "id": 2182, - "node_type": 46, - "kind": 0, - "src": { - "line": 855, - "column": 4, - "start": 30860, - "end": 30906, - "length": 47, - "parent_index": 2175 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2176, - "node_type": 43, - "src": { - "line": 855, - "column": 24, - "start": 30880, - "end": 30895, - "length": 16, - "parent_index": 2175 - }, - "parameters": [ + }, + "indexed": true + }, { - "id": 2177, + "id": 2230, "node_type": 44, "src": { - "line": 855, - "column": 24, - "start": 30880, - "end": 30886, - "length": 7, - "parent_index": 2176 + "line": 938, + "column": 39, + "start": 34064, + "end": 34075, + "length": 12, + "parent_index": 2227 }, - "scope": 2175, - "name": "", + "scope": 2226, + "name": "amount0", "type_name": { - "id": 2178, + "id": 2231, "node_type": 30, "src": { - "line": 855, - "column": 24, - "start": 30880, - "end": 30886, - "length": 7, - "parent_index": 2177 + "line": 938, + "column": 39, + "start": 34064, + "end": 34067, + "length": 4, + "parent_index": 2230 }, - "name": "address", - "state_mutability": 4, + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 2179, + "id": 2232, "node_type": 44, "src": { - "line": 855, - "column": 33, - "start": 30889, - "end": 30895, - "length": 7, - "parent_index": 2176 + "line": 938, + "column": 53, + "start": 34078, + "end": 34089, + "length": 12, + "parent_index": 2227 }, - "scope": 2175, - "name": "", + "scope": 2226, + "name": "amount1", "type_name": { - "id": 2180, + "id": 2233, "node_type": 30, "src": { - "line": 855, - "column": 33, - "start": 30889, - "end": 30895, - "length": 7, - "parent_index": 2179 + "line": 938, + "column": 53, + "start": 34078, + "end": 34081, + "length": 4, + "parent_index": 2232 }, - "name": "address", - "state_mutability": 4, + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], @@ -39715,425 +41850,111 @@ "type_string": "address" }, { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, - "return_parameters": { - "id": 2181, - "node_type": 43, - "src": { - "line": 855, - "column": 4, - "start": 30860, - "end": 30906, - "length": 47, - "parent_index": 2175 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "initialize(address, address)", - "signature": "58e0d614", - "scope": 1851, + "name": "Mint", + "anonymous": false, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" + "type_identifier": "t_event\u0026_IUniswapV2Pair_Mint_\u00262226", + "type_string": "event IUniswapV2Pair.Mint" } - } - ], - "linearized_base_contracts": [ - 1851 - ], - "base_contracts": [], - "contract_dependencies": [] - } - ], - "src": { - "line": 807, - "column": 0, - "start": 28512, - "end": 30908, - "length": 2397, - "parent_index": 272 - } - }, - { - "id": 2183, - "base_contracts": [], - "license": "MIT", - "exported_symbols": [ - { - "id": 2183, - "name": "SafeMathUniswap", - "absolute_path": "" - } - ], - "absolute_path": "", - "name": "SafeMathUniswap", - "node_type": 1, - "nodes": [ - { - "id": 2197, - "node_type": 10, - "src": { - "line": 860, - "column": 0, - "start": 30948, - "end": 30972, - "length": 25, - "parent_index": 2183 - }, - "literals": [ - "pragma", - "solidity", - "\u003e=", - "0", - ".", - "6", - ".", - "12", - ";" - ], - "text": "pragma solidity \u003e=0.6.12;" - }, - { - "id": 2208, - "name": "SafeMathUniswap", - "node_type": 35, - "src": { - "line": 864, - "column": 0, - "start": 31081, - "end": 31544, - "length": 464, - "parent_index": 2183 - }, - "name_location": { - "line": 864, - "column": 8, - "start": 31089, - "end": 31103, - "length": 15, - "parent_index": 2208 - }, - "abstract": false, - "kind": 37, - "fully_implemented": true, - "nodes": [ + }, { - "id": 2210, - "name": "add", - "node_type": 42, - "kind": 41, + "id": 2235, + "node_type": 57, "src": { - "line": 865, + "line": 939, "column": 4, - "start": 31111, - "end": 31245, - "length": 135, - "parent_index": 2208 - }, - "name_location": { - "line": 865, - "column": 13, - "start": 31120, - "end": 31122, - "length": 3, - "parent_index": 2210 + "start": 34097, + "end": 34179, + "length": 83, + "parent_index": 2069 }, - "body": { - "id": 2219, - "node_type": 46, - "kind": 0, + "parameters": { + "id": 2236, + "node_type": 43, "src": { - "line": 865, - "column": 73, - "start": 31180, - "end": 31245, - "length": 66, - "parent_index": 2210 + "line": 939, + "column": 4, + "start": 34097, + "end": 34179, + "length": 83, + "parent_index": 2235 }, - "implemented": true, - "statements": [ + "parameters": [ { - "id": 2220, - "node_type": 24, - "kind": 24, + "id": 2237, + "node_type": 44, "src": { - "line": 866, - "column": 8, - "start": 31190, - "end": 31238, - "length": 49, - "parent_index": 2219 + "line": 939, + "column": 15, + "start": 34108, + "end": 34129, + "length": 22, + "parent_index": 2236 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"ds-math-add-overflow\"" - } - ], - "arguments": [ - { - "id": 2222, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 866, - "column": 16, - "start": 31198, - "end": 31213, - "length": 16, - "parent_index": 2220 - }, - "operator": 8, - "left_expression": { - "id": 2223, - "node_type": 60, - "src": { - "line": 866, - "column": 16, - "start": 31198, - "end": 31208, - "length": 11, - "parent_index": 2222 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2224, - "node_type": 27, - "src": { - "line": 866, - "column": 17, - "start": 31199, - "end": 31207, - "length": 9, - "parent_index": 2223 - }, - "operator": 11, - "left_expression": { - "id": 2225, - "node_type": 16, - "src": { - "line": 866, - "column": 17, - "start": 31199, - "end": 31199, - "length": 1, - "parent_index": 2224 - }, - "name": "z", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2217, - "is_pure": false - }, - "right_expression": { - "id": 2226, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 866, - "column": 21, - "start": 31203, - "end": 31207, - "length": 5, - "parent_index": 2224 - }, - "operator": 1, - "left_expression": { - "id": 2227, - "node_type": 16, - "src": { - "line": 866, - "column": 21, - "start": 31203, - "end": 31203, - "length": 1, - "parent_index": 2226 - }, - "name": "x", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2227, - "is_pure": false - }, - "right_expression": { - "id": 2228, - "node_type": 16, - "src": { - "line": 866, - "column": 25, - "start": 31207, - "end": 31207, - "length": 1, - "parent_index": 2226 - }, - "name": "y", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2228, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_uint256$", - "type_string": "tuple(uint256)" - } - }, - "right_expression": { - "id": 2229, - "node_type": 16, - "src": { - "line": 866, - "column": 31, - "start": 31213, - "end": 31213, - "length": 1, - "parent_index": 2222 - }, - "name": "x", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2229, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 2230, - "node_type": 17, - "kind": 50, - "value": "ds-math-add-overflow", - "hex_value": "64732d6d6174682d6164642d6f766572666c6f77", - "src": { - "line": 866, - "column": 34, - "start": 31216, - "end": 31237, - "length": 22, - "parent_index": 2220 - }, - "type_description": { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"ds-math-add-overflow\"" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 2221, - "node_type": 16, + "scope": 2235, + "name": "sender", + "type_name": { + "id": 2238, + "node_type": 30, "src": { - "line": 866, - "column": 8, - "start": 31190, - "end": 31196, + "line": 939, + "column": 15, + "start": 34108, + "end": 34114, "length": 7, - "parent_index": 2220 + "parent_index": 2237 }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, - "is_pure": true + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string_literal$", - "type_string": "function(bool,string memory)" - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2211, - "node_type": 43, - "src": { - "line": 865, - "column": 17, - "start": 31124, - "end": 31143, - "length": 20, - "parent_index": 2210 - }, - "parameters": [ + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, { - "id": 2212, + "id": 2239, "node_type": 44, "src": { - "line": 865, - "column": 17, - "start": 31124, - "end": 31132, - "length": 9, - "parent_index": 2211 + "line": 939, + "column": 39, + "start": 34132, + "end": 34143, + "length": 12, + "parent_index": 2236 }, - "scope": 2210, - "name": "x", + "scope": 2235, + "name": "amount0", "type_name": { - "id": 2213, + "id": 2240, "node_type": 30, "src": { - "line": 865, - "column": 17, - "start": 31124, - "end": 31130, - "length": 7, - "parent_index": 2212 + "line": 939, + "column": 39, + "start": 34132, + "end": 34135, + "length": 4, + "parent_index": 2239 }, - "name": "uint256", + "name": "uint", "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", @@ -40149,30 +41970,30 @@ } }, { - "id": 2214, + "id": 2241, "node_type": 44, "src": { - "line": 865, - "column": 28, - "start": 31135, - "end": 31143, - "length": 9, - "parent_index": 2211 + "line": 939, + "column": 53, + "start": 34146, + "end": 34157, + "length": 12, + "parent_index": 2236 }, - "scope": 2210, - "name": "y", + "scope": 2235, + "name": "amount1", "type_name": { - "id": 2215, + "id": 2242, "node_type": 30, "src": { - "line": 865, - "column": 28, - "start": 31135, - "end": 31141, - "length": 7, - "parent_index": 2214 + "line": 939, + "column": 53, + "start": 34146, + "end": 34149, + "length": 4, + "parent_index": 2241 }, - "name": "uint256", + "name": "uint", "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", @@ -40186,398 +42007,242 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 2216, - "node_type": 43, - "src": { - "line": 865, - "column": 62, - "start": 31169, - "end": 31177, - "length": 9, - "parent_index": 2210 - }, - "parameters": [ - { - "id": 2217, + "id": 2243, "node_type": 44, "src": { - "line": 865, - "column": 62, - "start": 31169, - "end": 31177, - "length": 9, - "parent_index": 2216 + "line": 939, + "column": 67, + "start": 34160, + "end": 34177, + "length": 18, + "parent_index": 2236 }, - "scope": 2210, - "name": "z", + "scope": 2235, + "name": "to", "type_name": { - "id": 2218, + "id": 2244, "node_type": 30, "src": { - "line": 865, - "column": 62, - "start": 31169, - "end": 31175, + "line": 939, + "column": 67, + "start": 34160, + "end": 34166, "length": 7, - "parent_index": 2217 + "parent_index": 2243 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", - "scope": 2208, + "name": "Burn", + "anonymous": false, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" + "type_identifier": "t_event\u0026_IUniswapV2Pair_Burn_\u00262235", + "type_string": "event IUniswapV2Pair.Burn" } }, { - "id": 2232, - "name": "sub", - "node_type": 42, - "kind": 41, + "id": 2246, + "node_type": 57, "src": { - "line": 869, + "line": 940, "column": 4, - "start": 31252, - "end": 31387, - "length": 136, - "parent_index": 2208 - }, - "name_location": { - "line": 869, - "column": 13, - "start": 31261, - "end": 31263, - "length": 3, - "parent_index": 2232 + "start": 34185, + "end": 34359, + "length": 175, + "parent_index": 2069 }, - "body": { - "id": 2241, - "node_type": 46, - "kind": 0, + "parameters": { + "id": 2247, + "node_type": 43, "src": { - "line": 869, - "column": 73, - "start": 31321, - "end": 31387, - "length": 67, - "parent_index": 2232 + "line": 940, + "column": 4, + "start": 34185, + "end": 34359, + "length": 175, + "parent_index": 2246 }, - "implemented": true, - "statements": [ + "parameters": [ { - "id": 2242, - "node_type": 24, - "kind": 24, + "id": 2248, + "node_type": 44, "src": { - "line": 870, + "line": 941, "column": 8, - "start": 31331, - "end": 31380, - "length": 50, - "parent_index": 2241 + "start": 34205, + "end": 34226, + "length": 22, + "parent_index": 2247 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"ds-math-sub-underflow\"" - } - ], - "arguments": [ - { - "id": 2244, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 870, - "column": 16, - "start": 31339, - "end": 31354, - "length": 16, - "parent_index": 2242 - }, - "operator": 10, - "left_expression": { - "id": 2245, - "node_type": 60, - "src": { - "line": 870, - "column": 16, - "start": 31339, - "end": 31349, - "length": 11, - "parent_index": 2244 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2246, - "node_type": 27, - "src": { - "line": 870, - "column": 17, - "start": 31340, - "end": 31348, - "length": 9, - "parent_index": 2245 - }, - "operator": 11, - "left_expression": { - "id": 2247, - "node_type": 16, - "src": { - "line": 870, - "column": 17, - "start": 31340, - "end": 31340, - "length": 1, - "parent_index": 2246 - }, - "name": "z", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2217, - "is_pure": false - }, - "right_expression": { - "id": 2248, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 870, - "column": 21, - "start": 31344, - "end": 31348, - "length": 5, - "parent_index": 2246 - }, - "operator": 2, - "left_expression": { - "id": 2249, - "node_type": 16, - "src": { - "line": 870, - "column": 21, - "start": 31344, - "end": 31344, - "length": 1, - "parent_index": 2248 - }, - "name": "x", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2249, - "is_pure": false - }, - "right_expression": { - "id": 2250, - "node_type": 16, - "src": { - "line": 870, - "column": 25, - "start": 31348, - "end": 31348, - "length": 1, - "parent_index": 2248 - }, - "name": "y", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2250, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_uint256$", - "type_string": "tuple(uint256)" - } - }, - "right_expression": { - "id": 2251, - "node_type": 16, - "src": { - "line": 870, - "column": 31, - "start": 31354, - "end": 31354, - "length": 1, - "parent_index": 2244 - }, - "name": "x", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2251, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "scope": 2246, + "name": "sender", + "type_name": { + "id": 2249, + "node_type": 30, + "src": { + "line": 941, + "column": 8, + "start": 34205, + "end": 34211, + "length": 7, + "parent_index": 2248 }, - { - "id": 2252, - "node_type": 17, - "kind": 50, - "value": "ds-math-sub-underflow", - "hex_value": "64732d6d6174682d7375622d756e646572666c6f77", - "src": { - "line": 870, - "column": 34, - "start": 31357, - "end": 31379, - "length": 23, - "parent_index": 2242 - }, - "type_description": { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"ds-math-sub-underflow\"" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } - ], - "expression": { - "id": 2243, - "node_type": 16, + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 2250, + "node_type": 44, + "src": { + "line": 942, + "column": 8, + "start": 34237, + "end": 34250, + "length": 14, + "parent_index": 2247 + }, + "scope": 2246, + "name": "amount0In", + "type_name": { + "id": 2251, + "node_type": 30, "src": { - "line": 870, + "line": 942, "column": 8, - "start": 31331, - "end": 31337, - "length": 7, - "parent_index": 2242 + "start": 34237, + "end": 34240, + "length": 4, + "parent_index": 2250 }, - "name": "require", + "name": "uint", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 2252, + "node_type": 44, + "src": { + "line": 943, + "column": 8, + "start": 34261, + "end": 34274, + "length": 14, + "parent_index": 2247 + }, + "scope": 2246, + "name": "amount1In", + "type_name": { + "id": 2253, + "node_type": 30, + "src": { + "line": 943, + "column": 8, + "start": 34261, + "end": 34264, + "length": 4, + "parent_index": 2252 }, - "overloaded_declarations": [], + "name": "uint", "referenced_declaration": 0, - "is_pure": true + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string_literal$", - "type_string": "function(bool,string memory)" + "type_identifier": "t_uint256", + "type_string": "uint256" } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2233, - "node_type": 43, - "src": { - "line": 869, - "column": 17, - "start": 31265, - "end": 31284, - "length": 20, - "parent_index": 2232 - }, - "parameters": [ + }, { - "id": 2234, + "id": 2254, "node_type": 44, "src": { - "line": 869, - "column": 17, - "start": 31265, - "end": 31273, - "length": 9, - "parent_index": 2233 + "line": 944, + "column": 8, + "start": 34285, + "end": 34299, + "length": 15, + "parent_index": 2247 }, - "scope": 2232, - "name": "x", + "scope": 2246, + "name": "amount0Out", "type_name": { - "id": 2235, + "id": 2255, "node_type": 30, "src": { - "line": 869, - "column": 17, - "start": 31265, - "end": 31271, - "length": 7, - "parent_index": 2234 + "line": 944, + "column": 8, + "start": 34285, + "end": 34288, + "length": 4, + "parent_index": 2254 }, - "name": "uint256", + "name": "uint", "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", @@ -40593,30 +42258,30 @@ } }, { - "id": 2236, + "id": 2256, "node_type": 44, "src": { - "line": 869, - "column": 28, - "start": 31276, - "end": 31284, - "length": 9, - "parent_index": 2233 + "line": 945, + "column": 8, + "start": 34310, + "end": 34324, + "length": 15, + "parent_index": 2247 }, - "scope": 2232, - "name": "y", + "scope": 2246, + "name": "amount1Out", "type_name": { - "id": 2237, + "id": 2257, "node_type": 30, "src": { - "line": 869, - "column": 28, - "start": 31276, - "end": 31282, - "length": 7, - "parent_index": 2236 + "line": 945, + "column": 8, + "start": 34310, + "end": 34313, + "length": 4, + "parent_index": 2256 }, - "name": "uint256", + "name": "uint", "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", @@ -40630,9 +42295,54 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + }, + { + "id": 2258, + "node_type": 44, + "src": { + "line": 946, + "column": 8, + "start": 34335, + "end": 34352, + "length": 18, + "parent_index": 2247 + }, + "scope": 2246, + "name": "to", + "type_name": { + "id": 2259, + "node_type": 30, + "src": { + "line": 946, + "column": 8, + "start": 34335, + "end": 34341, + "length": 7, + "parent_index": 2258 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, { "type_identifier": "t_uint256", "type_string": "uint256" @@ -40640,507 +42350,286 @@ { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" } ] }, - "return_parameters": { - "id": 2238, + "name": "Swap", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_IUniswapV2Pair_Swap_\u00262246", + "type_string": "event IUniswapV2Pair.Swap" + } + }, + { + "id": 2261, + "node_type": 57, + "src": { + "line": 948, + "column": 4, + "start": 34365, + "end": 34411, + "length": 47, + "parent_index": 2069 + }, + "parameters": { + "id": 2262, "node_type": 43, "src": { - "line": 869, - "column": 62, - "start": 31310, - "end": 31318, - "length": 9, - "parent_index": 2232 + "line": 948, + "column": 4, + "start": 34365, + "end": 34411, + "length": 47, + "parent_index": 2261 }, "parameters": [ { - "id": 2239, + "id": 2263, "node_type": 44, "src": { - "line": 869, - "column": 62, - "start": 31310, - "end": 31318, - "length": 9, - "parent_index": 2238 + "line": 948, + "column": 15, + "start": 34376, + "end": 34391, + "length": 16, + "parent_index": 2262 }, - "scope": 2232, - "name": "z", + "scope": 2261, + "name": "reserve0", "type_name": { - "id": 2240, + "id": 2264, "node_type": 30, "src": { - "line": 869, - "column": 62, - "start": 31310, - "end": 31316, + "line": 948, + "column": 15, + "start": 34376, + "end": 34382, "length": 7, - "parent_index": 2239 + "parent_index": 2263 }, - "name": "uint256", + "name": "uint112", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_uint112", + "type_string": "uint112" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_uint112", + "type_string": "uint112" + } + }, + { + "id": 2265, + "node_type": 44, + "src": { + "line": 948, + "column": 33, + "start": 34394, + "end": 34409, + "length": 16, + "parent_index": 2262 + }, + "scope": 2261, + "name": "reserve1", + "type_name": { + "id": 2266, + "node_type": 30, + "src": { + "line": 948, + "column": 33, + "start": 34394, + "end": 34400, + "length": 7, + "parent_index": 2265 + }, + "name": "uint112", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint112", + "type_string": "uint112" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint112", + "type_string": "uint112" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_uint112", + "type_string": "uint112" + }, + { + "type_identifier": "t_uint112", + "type_string": "uint112" } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", - "scope": 2208, + "name": "Sync", + "anonymous": false, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" + "type_identifier": "t_event\u0026_IUniswapV2Pair_Sync_\u00262261", + "type_string": "event IUniswapV2Pair.Sync" } }, { - "id": 2254, - "name": "mul", + "id": 2268, + "name": "MINIMUM_LIQUIDITY", "node_type": 42, "kind": 41, "src": { - "line": 873, + "line": 950, "column": 4, - "start": 31394, - "end": 31542, - "length": 149, - "parent_index": 2208 + "start": 34418, + "end": 34475, + "length": 58, + "parent_index": 2069 }, "name_location": { - "line": 873, + "line": 950, "column": 13, - "start": 31403, - "end": 31405, - "length": 3, - "parent_index": 2254 + "start": 34427, + "end": 34443, + "length": 17, + "parent_index": 2268 }, "body": { - "id": 2263, + "id": 2275, "node_type": 46, "kind": 0, "src": { - "line": 873, - "column": 73, - "start": 31463, - "end": 31542, - "length": 80, - "parent_index": 2254 + "line": 950, + "column": 4, + "start": 34418, + "end": 34475, + "length": 58, + "parent_index": 2268 }, - "implemented": true, - "statements": [ + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2269, + "node_type": 43, + "src": { + "line": 950, + "column": 56, + "start": 34470, + "end": 34473, + "length": 4, + "parent_index": 2268 + }, + "parameters": [ { - "id": 2264, - "node_type": 24, - "kind": 24, + "id": 2270, + "node_type": 44, "src": { - "line": 874, - "column": 8, - "start": 31473, - "end": 31535, - "length": 63, - "parent_index": 2263 + "line": 950, + "column": 56, + "start": 34470, + "end": 34473, + "length": 4, + "parent_index": 2269 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"ds-math-mul-overflow\"" - } - ], - "arguments": [ - { - "id": 2266, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 874, - "column": 16, - "start": 31481, - "end": 31510, - "length": 30, - "parent_index": 2264 - }, - "operator": 33, - "left_expression": { - "id": 2267, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 874, - "column": 16, - "start": 31481, - "end": 31486, - "length": 6, - "parent_index": 2266 - }, - "operator": 11, - "left_expression": { - "id": 2268, - "node_type": 16, - "src": { - "line": 874, - "column": 16, - "start": 31481, - "end": 31481, - "length": 1, - "parent_index": 2267 - }, - "name": "y", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2268, - "is_pure": false - }, - "right_expression": { - "id": 2269, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 874, - "column": 21, - "start": 31486, - "end": 31486, - "length": 1, - "parent_index": 2267 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "right_expression": { - "id": 2270, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 874, - "column": 26, - "start": 31491, - "end": 31510, - "length": 20, - "parent_index": 2266 - }, - "operator": 11, - "left_expression": { - "id": 2271, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 874, - "column": 26, - "start": 31491, - "end": 31505, - "length": 15, - "parent_index": 2270 - }, - "operator": 4, - "left_expression": { - "id": 2272, - "node_type": 60, - "src": { - "line": 874, - "column": 26, - "start": 31491, - "end": 31501, - "length": 11, - "parent_index": 2271 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2273, - "node_type": 27, - "src": { - "line": 874, - "column": 27, - "start": 31492, - "end": 31500, - "length": 9, - "parent_index": 2272 - }, - "operator": 11, - "left_expression": { - "id": 2274, - "node_type": 16, - "src": { - "line": 874, - "column": 27, - "start": 31492, - "end": 31492, - "length": 1, - "parent_index": 2273 - }, - "name": "z", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2217, - "is_pure": false - }, - "right_expression": { - "id": 2275, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 874, - "column": 31, - "start": 31496, - "end": 31500, - "length": 5, - "parent_index": 2273 - }, - "operator": 3, - "left_expression": { - "id": 2276, - "node_type": 16, - "src": { - "line": 874, - "column": 31, - "start": 31496, - "end": 31496, - "length": 1, - "parent_index": 2275 - }, - "name": "x", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2276, - "is_pure": false - }, - "right_expression": { - "id": 2277, - "node_type": 16, - "src": { - "line": 874, - "column": 35, - "start": 31500, - "end": 31500, - "length": 1, - "parent_index": 2275 - }, - "name": "y", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2277, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_uint256$", - "type_string": "tuple(uint256)" - } - }, - "right_expression": { - "id": 2278, - "node_type": 16, - "src": { - "line": 874, - "column": 40, - "start": 31505, - "end": 31505, - "length": 1, - "parent_index": 2271 - }, - "name": "y", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2278, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_tuple_$_t_uint256$", - "type_string": "tuple(uint256)" - } - }, - "right_expression": { - "id": 2279, - "node_type": 16, - "src": { - "line": 874, - "column": 45, - "start": 31510, - "end": 31510, - "length": 1, - "parent_index": 2270 - }, - "name": "x", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2279, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 2280, - "node_type": 17, - "kind": 50, - "value": "ds-math-mul-overflow", - "hex_value": "64732d6d6174682d6d756c2d6f766572666c6f77", - "src": { - "line": 874, - "column": 48, - "start": 31513, - "end": 31534, - "length": 22, - "parent_index": 2264 - }, - "type_description": { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"ds-math-mul-overflow\"" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 2265, - "node_type": 16, + "scope": 2268, + "name": "", + "type_name": { + "id": 2271, + "node_type": 30, "src": { - "line": 874, - "column": 8, - "start": 31473, - "end": 31479, - "length": 7, - "parent_index": 2264 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "line": 950, + "column": 56, + "start": 34470, + "end": 34473, + "length": 4, + "parent_index": 2270 }, - "overloaded_declarations": [], + "name": "uint", "referenced_declaration": 0, - "is_pure": true + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string_literal$", - "type_string": "function(bool,string memory)" + "type_identifier": "t_uint256", + "type_string": "uint256" } } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } ] }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2255, + "return_parameters": { + "id": 2272, "node_type": 43, "src": { - "line": 873, - "column": 17, - "start": 31407, - "end": 31426, - "length": 20, - "parent_index": 2254 + "line": 950, + "column": 56, + "start": 34470, + "end": 34473, + "length": 4, + "parent_index": 2268 }, "parameters": [ { - "id": 2256, + "id": 2273, "node_type": 44, "src": { - "line": 873, - "column": 17, - "start": 31407, - "end": 31415, - "length": 9, - "parent_index": 2255 + "line": 950, + "column": 56, + "start": 34470, + "end": 34473, + "length": 4, + "parent_index": 2272 }, - "scope": 2254, - "name": "x", + "scope": 2268, + "name": "", "type_name": { - "id": 2257, + "id": 2274, "node_type": 30, "src": { - "line": 873, - "column": 17, - "start": 31407, - "end": 31413, - "length": 7, - "parent_index": 2256 + "line": 950, + "column": 56, + "start": 34470, + "end": 34473, + "length": 4, + "parent_index": 2273 }, - "name": "uint256", + "name": "uint", "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", @@ -41154,2171 +42643,1632 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, + } + ], + "parameter_types": [ { - "id": 2258, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "MINIMUM_LIQUIDITY(uint)", + "signature": "51096f41", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "functionMINIMUM_LIQUIDITY()externalpurereturns(uint);" + }, + { + "id": 2277, + "name": "factory", + "node_type": 42, + "kind": 41, + "src": { + "line": 951, + "column": 4, + "start": 34481, + "end": 34531, + "length": 51, + "parent_index": 2069 + }, + "name_location": { + "line": 951, + "column": 13, + "start": 34490, + "end": 34496, + "length": 7, + "parent_index": 2277 + }, + "body": { + "id": 2284, + "node_type": 46, + "kind": 0, + "src": { + "line": 951, + "column": 4, + "start": 34481, + "end": 34531, + "length": 51, + "parent_index": 2277 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2278, + "node_type": 43, + "src": { + "line": 951, + "column": 46, + "start": 34523, + "end": 34529, + "length": 7, + "parent_index": 2277 + }, + "parameters": [ + { + "id": 2279, "node_type": 44, "src": { - "line": 873, - "column": 28, - "start": 31418, - "end": 31426, - "length": 9, - "parent_index": 2255 + "line": 951, + "column": 46, + "start": 34523, + "end": 34529, + "length": 7, + "parent_index": 2278 }, - "scope": 2254, - "name": "y", + "scope": 2277, + "name": "", "type_name": { - "id": 2259, + "id": 2280, "node_type": 30, "src": { - "line": 873, - "column": 28, - "start": 31418, - "end": 31424, + "line": 951, + "column": 46, + "start": 34523, + "end": 34529, "length": 7, - "parent_index": 2258 + "parent_index": 2279 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } ] }, "return_parameters": { - "id": 2260, + "id": 2281, "node_type": 43, "src": { - "line": 873, - "column": 62, - "start": 31452, - "end": 31460, - "length": 9, - "parent_index": 2254 + "line": 951, + "column": 46, + "start": 34523, + "end": 34529, + "length": 7, + "parent_index": 2277 }, "parameters": [ { - "id": 2261, + "id": 2282, "node_type": 44, "src": { - "line": 873, - "column": 62, - "start": 31452, - "end": 31460, - "length": 9, - "parent_index": 2260 + "line": 951, + "column": 46, + "start": 34523, + "end": 34529, + "length": 7, + "parent_index": 2281 }, - "scope": 2254, - "name": "z", + "scope": 2277, + "name": "", "type_name": { - "id": 2262, + "id": 2283, "node_type": 30, "src": { - "line": 873, - "column": 62, - "start": 31452, - "end": 31458, + "line": 951, + "column": 46, + "start": 34523, + "end": 34529, "length": 7, - "parent_index": 2261 + "parent_index": 2282 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", - "scope": 2208, + "signature_raw": "factory(address)", + "signature": "395c0fda", + "scope": 2069, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } - } - ], - "linearized_base_contracts": [ - 2208 - ], - "base_contracts": [], - "contract_dependencies": [] - } - ], - "src": { - "line": 864, - "column": 0, - "start": 31081, - "end": 31544, - "length": 464, - "parent_index": 272 - } - }, - { - "id": 2281, - "base_contracts": [], - "license": "GPL-3.0", - "exported_symbols": [ - { - "id": 2281, - "name": "UniswapV2Library", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/UniswapV2Library.sol" - }, - { - "id": 2183, - "name": "IUniswapV2Pair", - "absolute_path": "IUniswapV2Pair.sol" - }, - { - "id": 2183, - "name": "SafeMath", - "absolute_path": "SafeMath.sol" - } - ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/UniswapV2Library.sol", - "name": "UniswapV2Library", - "node_type": 1, - "nodes": [ - { - "id": 2296, - "node_type": 10, - "src": { - "line": 880, - "column": 0, - "start": 31584, - "end": 31607, - "length": 24, - "parent_index": 2281 - }, - "literals": [ - "pragma", - "solidity", - "\u003e=", - "0", - ".", - "5", - ".", - "0", - ";" - ], - "text": "pragma solidity \u003e=0.5.0;" - }, - { - "id": 2307, - "node_type": 29, - "src": { - "line": 882, - "column": 0, - "start": 31610, - "end": 31639, - "length": 30, - "parent_index": 2281 - }, - "absolute_path": "IUniswapV2Pair.sol", - "file": "./IUniswapV2Pair.sol", - "scope": 2281, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 2183 - }, - { - "id": 2308, - "node_type": 29, - "src": { - "line": 884, - "column": 0, - "start": 31642, - "end": 31665, - "length": 24, - "parent_index": 2281 - }, - "absolute_path": "SafeMath.sol", - "file": "./SafeMath.sol", - "scope": 2281, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 2183 - }, - { - "id": 2309, - "name": "UniswapV2Library", - "node_type": 35, - "src": { - "line": 886, - "column": 0, - "start": 31668, - "end": 36990, - "length": 5323, - "parent_index": 2281 - }, - "name_location": { - "line": 886, - "column": 8, - "start": 31676, - "end": 31691, - "length": 16, - "parent_index": 2309 - }, - "abstract": false, - "kind": 37, - "fully_implemented": true, - "nodes": [ + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functionfactory()externalviewreturns(address);" + }, { - "id": 2311, - "node_type": 51, + "id": 2286, + "name": "token0", + "node_type": 42, + "kind": 41, "src": { - "line": 887, - "column": 0, - "start": 31699, - "end": 31732, - "length": 34, - "parent_index": 2309 + "line": 952, + "column": 4, + "start": 34537, + "end": 34586, + "length": 50, + "parent_index": 2069 }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "name_location": { + "line": 952, + "column": 13, + "start": 34546, + "end": 34551, + "length": 6, + "parent_index": 2286 }, - "type_name": { - "id": 2313, - "node_type": 30, + "body": { + "id": 2293, + "node_type": 46, + "kind": 0, "src": { - "line": 887, - "column": 30, - "start": 31725, - "end": 31731, + "line": 952, + "column": 4, + "start": 34537, + "end": 34586, + "length": 50, + "parent_index": 2286 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2287, + "node_type": 43, + "src": { + "line": 952, + "column": 45, + "start": 34578, + "end": 34584, "length": 7, - "parent_index": 2311 + "parent_index": 2286 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "parameters": [ + { + "id": 2288, + "node_type": 44, + "src": { + "line": 952, + "column": 45, + "start": 34578, + "end": 34584, + "length": 7, + "parent_index": 2287 + }, + "scope": 2286, + "name": "", + "type_name": { + "id": 2289, + "node_type": 30, + "src": { + "line": 952, + "column": 45, + "start": 34578, + "end": 34584, + "length": 7, + "parent_index": 2288 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ] }, - "library_name": { - "id": 2312, - "node_type": 52, + "return_parameters": { + "id": 2290, + "node_type": 43, "src": { - "line": 887, - "column": 0, - "start": 31705, - "end": 31719, - "length": 15, - "parent_index": 2311 + "line": 952, + "column": 45, + "start": 34578, + "end": 34584, + "length": 7, + "parent_index": 2286 }, - "name": "SafeMathUniswap", - "referenced_declaration": 2183 - } + "parameters": [ + { + "id": 2291, + "node_type": 44, + "src": { + "line": 952, + "column": 45, + "start": 34578, + "end": 34584, + "length": 7, + "parent_index": 2290 + }, + "scope": 2286, + "name": "", + "type_name": { + "id": 2292, + "node_type": 30, + "src": { + "line": 952, + "column": 45, + "start": 34578, + "end": 34584, + "length": 7, + "parent_index": 2291 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "signature_raw": "token0(address)", + "signature": "76bf39a3", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functiontoken0()externalviewreturns(address);" }, { - "id": 2315, - "name": "sortTokens", + "id": 2295, + "name": "token1", "node_type": 42, "kind": 41, "src": { - "line": 890, + "line": 953, "column": 4, - "start": 31839, - "end": 32235, - "length": 397, - "parent_index": 2309 + "start": 34592, + "end": 34641, + "length": 50, + "parent_index": 2069 }, "name_location": { - "line": 890, + "line": 953, "column": 13, - "start": 31848, - "end": 31857, - "length": 10, - "parent_index": 2315 + "start": 34601, + "end": 34606, + "length": 6, + "parent_index": 2295 }, "body": { - "id": 2326, + "id": 2302, "node_type": 46, "kind": 0, "src": { - "line": 894, + "line": 953, "column": 4, - "start": 31974, - "end": 32235, - "length": 262, - "parent_index": 2315 + "start": 34592, + "end": 34641, + "length": 50, + "parent_index": 2295 }, - "implemented": true, - "statements": [ + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2296, + "node_type": 43, + "src": { + "line": 953, + "column": 45, + "start": 34633, + "end": 34639, + "length": 7, + "parent_index": 2295 + }, + "parameters": [ { - "id": 2327, - "node_type": 24, - "kind": 24, + "id": 2297, + "node_type": 44, "src": { - "line": 895, - "column": 8, - "start": 31984, - "end": 32049, - "length": 66, - "parent_index": 2326 + "line": 953, + "column": 45, + "start": 34633, + "end": 34639, + "length": 7, + "parent_index": 2296 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" + "scope": 2295, + "name": "", + "type_name": { + "id": 2298, + "node_type": 30, + "src": { + "line": 953, + "column": 45, + "start": 34633, + "end": 34639, + "length": 7, + "parent_index": 2297 }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } - ], - "arguments": [ - { - "id": 2329, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 895, - "column": 16, - "start": 31992, - "end": 32007, - "length": 16, - "parent_index": 2327 - }, - "operator": 12, - "left_expression": { - "id": 2330, - "node_type": 16, - "src": { - "line": 895, - "column": 16, - "start": 31992, - "end": 31997, - "length": 6, - "parent_index": 2329 - }, - "name": "tokenA", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2330, - "is_pure": false - }, - "right_expression": { - "id": 2331, - "node_type": 16, - "src": { - "line": 895, - "column": 26, - "start": 32002, - "end": 32007, - "length": 6, - "parent_index": 2329 - }, - "name": "tokenB", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2331, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { + "id": 2299, + "node_type": 43, + "src": { + "line": 953, + "column": 45, + "start": 34633, + "end": 34639, + "length": 7, + "parent_index": 2295 + }, + "parameters": [ + { + "id": 2300, + "node_type": 44, + "src": { + "line": 953, + "column": 45, + "start": 34633, + "end": 34639, + "length": 7, + "parent_index": 2299 + }, + "scope": 2295, + "name": "", + "type_name": { + "id": 2301, + "node_type": 30, + "src": { + "line": 953, + "column": 45, + "start": 34633, + "end": 34639, + "length": 7, + "parent_index": 2300 }, - { - "id": 2332, - "node_type": 17, - "kind": 50, - "value": "UniswapV2Library: IDENTICAL_ADDRESSES", - "hex_value": "556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553", - "src": { - "line": 895, - "column": 34, - "start": 32010, - "end": 32048, - "length": 39, - "parent_index": 2327 - }, - "type_description": { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } - ], - "expression": { - "id": 2328, - "node_type": 16, + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "signature_raw": "token1(address)", + "signature": "37823795", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functiontoken1()externalviewreturns(address);" + }, + { + "id": 2304, + "name": "getReserves", + "node_type": 42, + "kind": 41, + "src": { + "line": 954, + "column": 4, + "start": 34647, + "end": 34755, + "length": 109, + "parent_index": 2069 + }, + "name_location": { + "line": 954, + "column": 13, + "start": 34656, + "end": 34666, + "length": 11, + "parent_index": 2304 + }, + "body": { + "id": 2319, + "node_type": 46, + "kind": 0, + "src": { + "line": 954, + "column": 4, + "start": 34647, + "end": 34755, + "length": 109, + "parent_index": 2304 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2305, + "node_type": 43, + "src": { + "line": 954, + "column": 50, + "start": 34693, + "end": 34753, + "length": 61, + "parent_index": 2304 + }, + "parameters": [ + { + "id": 2306, + "node_type": 44, + "src": { + "line": 954, + "column": 50, + "start": 34693, + "end": 34708, + "length": 16, + "parent_index": 2305 + }, + "scope": 2304, + "name": "reserve0", + "type_name": { + "id": 2307, + "node_type": 30, "src": { - "line": 895, - "column": 8, - "start": 31984, - "end": 31990, + "line": 954, + "column": 50, + "start": 34693, + "end": 34699, "length": 7, - "parent_index": 2327 + "parent_index": 2306 }, - "name": "require", + "name": "uint112", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_uint112", + "type_string": "uint112" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint112", + "type_string": "uint112" + } + }, + { + "id": 2308, + "node_type": 44, + "src": { + "line": 954, + "column": 68, + "start": 34711, + "end": 34726, + "length": 16, + "parent_index": 2305 + }, + "scope": 2304, + "name": "reserve1", + "type_name": { + "id": 2309, + "node_type": 30, + "src": { + "line": 954, + "column": 68, + "start": 34711, + "end": 34717, + "length": 7, + "parent_index": 2308 }, - "overloaded_declarations": [], + "name": "uint112", "referenced_declaration": 0, - "is_pure": true + "type_description": { + "type_identifier": "t_uint112", + "type_string": "uint112" + } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string_literal$", - "type_string": "function(bool,string memory)" + "type_identifier": "t_uint112", + "type_string": "uint112" } }, { - "id": 2333, - "node_type": 27, + "id": 2310, + "node_type": 44, "src": { - "line": 896, - "column": 8, - "start": 32060, - "end": 32156, - "length": 97, - "parent_index": 2326 + "line": 954, + "column": 86, + "start": 34729, + "end": 34753, + "length": 25, + "parent_index": 2305 }, - "expression": { - "id": 2334, - "node_type": 27, + "scope": 2304, + "name": "blockTimestampLast", + "type_name": { + "id": 2311, + "node_type": 30, "src": { - "line": 896, - "column": 8, - "start": 32060, - "end": 32155, - "length": 96, - "parent_index": 2333 - }, - "operator": 11, - "left_expression": { - "id": 2335, - "node_type": 60, - "src": { - "line": 896, - "column": 8, - "start": 32060, - "end": 32075, - "length": 16, - "parent_index": 2334 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2336, - "node_type": 16, - "src": { - "line": 896, - "column": 9, - "start": 32061, - "end": 32066, - "length": 6, - "parent_index": 2335 - }, - "name": "token0", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2322, - "is_pure": false - }, - { - "id": 2337, - "node_type": 16, - "src": { - "line": 896, - "column": 17, - "start": 32069, - "end": 32074, - "length": 6, - "parent_index": 2335 - }, - "name": "token1", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2324, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_address_$_t_address$", - "type_string": "tuple(address,address)" - } - }, - "right_expression": { - "id": 2339, - "node_type": 97, - "src": { - "line": 896, - "column": 27, - "start": 32079, - "end": 32155, - "length": 77, - "parent_index": 2334 - }, - "expressions": [ - { - "id": 2340, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 896, - "column": 27, - "start": 32079, - "end": 32093, - "length": 15, - "parent_index": 2339 - }, - "operator": 9, - "left_expression": { - "id": 2341, - "node_type": 16, - "src": { - "line": 896, - "column": 27, - "start": 32079, - "end": 32084, - "length": 6, - "parent_index": 2340 - }, - "name": "tokenA", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2341, - "is_pure": false - }, - "right_expression": { - "id": 2342, - "node_type": 16, - "src": { - "line": 896, - "column": 36, - "start": 32088, - "end": 32093, - "length": 6, - "parent_index": 2340 - }, - "name": "tokenB", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2342, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 2343, - "node_type": 60, - "src": { - "line": 897, - "column": 14, - "start": 32109, - "end": 32124, - "length": 16, - "parent_index": 2339 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2344, - "node_type": 16, - "src": { - "line": 897, - "column": 15, - "start": 32110, - "end": 32115, - "length": 6, - "parent_index": 2343 - }, - "name": "tokenA", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2344, - "is_pure": false - }, - { - "id": 2345, - "node_type": 16, - "src": { - "line": 897, - "column": 23, - "start": 32118, - "end": 32123, - "length": 6, - "parent_index": 2343 - }, - "name": "tokenB", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2345, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_address_$_t_address$", - "type_string": "tuple(address,address)" - } - }, - { - "id": 2346, - "node_type": 60, - "src": { - "line": 898, - "column": 14, - "start": 32140, - "end": 32155, - "length": 16, - "parent_index": 2339 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2347, - "node_type": 16, - "src": { - "line": 898, - "column": 15, - "start": 32141, - "end": 32146, - "length": 6, - "parent_index": 2346 - }, - "name": "tokenB", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2347, - "is_pure": false - }, - { - "id": 2348, - "node_type": 16, - "src": { - "line": 898, - "column": 23, - "start": 32149, - "end": 32154, - "length": 6, - "parent_index": 2346 - }, - "name": "tokenA", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2348, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_address_$_t_address$", - "type_string": "tuple(address,address)" - } - } - ], - "type_descriptions": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_tuple_$_t_address_$_t_address$", - "type_string": "tuple(address,address)" - }, - { - "type_identifier": "t_tuple_$_t_address_$_t_address$", - "type_string": "tuple(address,address)" - } - ], - "type_description": null + "line": 954, + "column": 86, + "start": 34729, + "end": 34734, + "length": 6, + "parent_index": 2310 }, + "name": "uint32", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_tuple_$_t_address_$_t_address$", - "type_string": "tuple(address,address)" + "type_identifier": "t_uint32", + "type_string": "uint32" } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_tuple_$_t_address_$_t_address$", - "type_string": "tuple(address,address)" + "type_identifier": "t_uint32", + "type_string": "uint32" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint112", + "type_string": "uint112" }, { - "id": 2349, - "node_type": 24, - "kind": 24, + "type_identifier": "t_uint112", + "type_string": "uint112" + }, + { + "type_identifier": "t_uint32", + "type_string": "uint32" + } + ] + }, + "return_parameters": { + "id": 2312, + "node_type": 43, + "src": { + "line": 954, + "column": 50, + "start": 34693, + "end": 34753, + "length": 61, + "parent_index": 2304 + }, + "parameters": [ + { + "id": 2313, + "node_type": 44, "src": { - "line": 899, - "column": 8, - "start": 32166, - "end": 32228, - "length": 63, - "parent_index": 2326 + "line": 954, + "column": 50, + "start": 34693, + "end": 34708, + "length": 16, + "parent_index": 2312 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" - } - ], - "arguments": [ - { - "id": 2351, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 899, - "column": 16, - "start": 32174, - "end": 32193, - "length": 20, - "parent_index": 2349 - }, - "operator": 12, - "left_expression": { - "id": 2352, - "node_type": 16, - "src": { - "line": 899, - "column": 16, - "start": 32174, - "end": 32179, - "length": 6, - "parent_index": 2351 - }, - "name": "token0", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2322, - "is_pure": false - }, - "right_expression": { - "id": 2353, - "node_type": 24, - "kind": 24, - "src": { - "line": 899, - "column": 26, - "start": 32184, - "end": 32193, - "length": 10, - "parent_index": 2351 - }, - "argument_types": [ - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ], - "arguments": [ - { - "id": 2356, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 899, - "column": 34, - "start": 32192, - "end": 32192, - "length": 1, - "parent_index": 2353 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 2354, - "node_type": 16, - "src": { - "line": 899, - "column": 26, - "start": 32184, - "end": 32190, - "length": 7, - "parent_index": 2353 - }, - "name": "address", - "type_name": { - "id": 2355, - "node_type": 30, - "src": { - "line": 899, - "column": 26, - "start": 32184, - "end": 32190, - "length": 7, - "parent_index": 2354 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_rational_0_by_1$", - "type_string": "function(int_const 0)" - } - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 2357, - "node_type": 17, - "kind": 50, - "value": "UniswapV2Library: ZERO_ADDRESS", - "hex_value": "556e697377617056324c6962726172793a205a45524f5f41444452455353", - "src": { - "line": 899, - "column": 38, - "start": 32196, - "end": 32227, - "length": 32, - "parent_index": 2349 - }, - "type_description": { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 2350, - "node_type": 16, + "scope": 2304, + "name": "reserve0", + "type_name": { + "id": 2314, + "node_type": 30, "src": { - "line": 899, - "column": 8, - "start": 32166, - "end": 32172, + "line": 954, + "column": 50, + "start": 34693, + "end": 34699, "length": 7, - "parent_index": 2349 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "parent_index": 2313 }, - "overloaded_declarations": [], + "name": "uint112", "referenced_declaration": 0, - "is_pure": true + "type_description": { + "type_identifier": "t_uint112", + "type_string": "uint112" + } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string_literal$", - "type_string": "function(bool,string memory)" + "type_identifier": "t_uint112", + "type_string": "uint112" } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2316, - "node_type": 43, - "src": { - "line": 890, - "column": 24, - "start": 31859, - "end": 31888, - "length": 30, - "parent_index": 2315 - }, - "parameters": [ + }, { - "id": 2317, + "id": 2315, "node_type": 44, "src": { - "line": 890, - "column": 24, - "start": 31859, - "end": 31872, - "length": 14, - "parent_index": 2316 + "line": 954, + "column": 68, + "start": 34711, + "end": 34726, + "length": 16, + "parent_index": 2312 }, - "scope": 2315, - "name": "tokenA", + "scope": 2304, + "name": "reserve1", "type_name": { - "id": 2318, + "id": 2316, "node_type": 30, "src": { - "line": 890, - "column": 24, - "start": 31859, - "end": 31865, + "line": 954, + "column": 68, + "start": 34711, + "end": 34717, "length": 7, - "parent_index": 2317 + "parent_index": 2315 }, - "name": "address", - "state_mutability": 4, + "name": "uint112", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint112", + "type_string": "uint112" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint112", + "type_string": "uint112" } }, { - "id": 2319, + "id": 2317, "node_type": 44, "src": { - "line": 890, - "column": 40, - "start": 31875, - "end": 31888, - "length": 14, - "parent_index": 2316 + "line": 954, + "column": 86, + "start": 34729, + "end": 34753, + "length": 25, + "parent_index": 2312 }, - "scope": 2315, - "name": "tokenB", + "scope": 2304, + "name": "blockTimestampLast", "type_name": { - "id": 2320, + "id": 2318, "node_type": 30, "src": { - "line": 890, - "column": 40, - "start": 31875, - "end": 31881, - "length": 7, - "parent_index": 2319 + "line": 954, + "column": 86, + "start": 34729, + "end": 34734, + "length": 6, + "parent_index": 2317 }, - "name": "address", - "state_mutability": 4, + "name": "uint32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint32", + "type_string": "uint32" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint32", + "type_string": "uint32" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint112", + "type_string": "uint112" }, { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint112", + "type_string": "uint112" + }, + { + "type_identifier": "t_uint32", + "type_string": "uint32" } ] }, - "return_parameters": { - "id": 2321, + "signature_raw": "getReserves(uint112,uint112,uint32)", + "signature": "9ca6edd7", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", + "type_string": "function(uint112,uint112,uint32)" + }, + "text": "functiongetReserves()externalviewreturns(uint112reserve0,uint112reserve1,uint32blockTimestampLast);" + }, + { + "id": 2321, + "name": "price0CumulativeLast", + "node_type": 42, + "kind": 41, + "src": { + "line": 955, + "column": 4, + "start": 34761, + "end": 34821, + "length": 61, + "parent_index": 2069 + }, + "name_location": { + "line": 955, + "column": 13, + "start": 34770, + "end": 34789, + "length": 20, + "parent_index": 2321 + }, + "body": { + "id": 2328, + "node_type": 46, + "kind": 0, + "src": { + "line": 955, + "column": 4, + "start": 34761, + "end": 34821, + "length": 61, + "parent_index": 2321 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2322, "node_type": 43, "src": { - "line": 893, - "column": 17, - "start": 31938, - "end": 31967, - "length": 30, - "parent_index": 2315 + "line": 955, + "column": 59, + "start": 34816, + "end": 34819, + "length": 4, + "parent_index": 2321 }, "parameters": [ { - "id": 2322, + "id": 2323, "node_type": 44, "src": { - "line": 893, - "column": 17, - "start": 31938, - "end": 31951, - "length": 14, - "parent_index": 2321 + "line": 955, + "column": 59, + "start": 34816, + "end": 34819, + "length": 4, + "parent_index": 2322 }, - "scope": 2315, - "name": "token0", + "scope": 2321, + "name": "", "type_name": { - "id": 2323, + "id": 2324, "node_type": 30, "src": { - "line": 893, - "column": 17, - "start": 31938, - "end": 31944, - "length": 7, - "parent_index": 2322 + "line": 955, + "column": 59, + "start": 34816, + "end": 34819, + "length": 4, + "parent_index": 2323 }, - "name": "address", - "state_mutability": 4, + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 2325, + "node_type": 43, + "src": { + "line": 955, + "column": 59, + "start": 34816, + "end": 34819, + "length": 4, + "parent_index": 2321 + }, + "parameters": [ { - "id": 2324, + "id": 2326, "node_type": 44, "src": { - "line": 893, - "column": 33, - "start": 31954, - "end": 31967, - "length": 14, - "parent_index": 2321 + "line": 955, + "column": 59, + "start": 34816, + "end": 34819, + "length": 4, + "parent_index": 2325 }, - "scope": 2315, - "name": "token1", + "scope": 2321, + "name": "", "type_name": { - "id": 2325, + "id": 2327, "node_type": 30, "src": { - "line": 893, - "column": 33, - "start": 31954, - "end": 31960, - "length": 7, - "parent_index": 2324 + "line": 955, + "column": 59, + "start": 34816, + "end": 34819, + "length": 4, + "parent_index": 2326 }, - "name": "address", - "state_mutability": 4, + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, - "signature_raw": "sortTokens(address, address)", - "signature": "a52ffdb9", - "scope": 2309, + "signature_raw": "price0CumulativeLast(uint)", + "signature": "f8d9234a", + "scope": 2069, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "functionprice0CumulativeLast()externalviewreturns(uint);" }, { - "id": 2359, - "name": "pairFor", + "id": 2330, + "name": "price1CumulativeLast", "node_type": 42, "kind": 41, "src": { - "line": 903, + "line": 956, "column": 4, - "start": 32325, - "end": 33005, - "length": 681, - "parent_index": 2309 + "start": 34827, + "end": 34887, + "length": 61, + "parent_index": 2069 }, "name_location": { - "line": 903, + "line": 956, "column": 13, - "start": 32334, - "end": 32340, - "length": 7, - "parent_index": 2359 + "start": 34836, + "end": 34855, + "length": 20, + "parent_index": 2330 }, "body": { - "id": 2372, + "id": 2337, "node_type": 46, "kind": 0, "src": { - "line": 908, - "column": 43, - "start": 32488, - "end": 33005, - "length": 518, - "parent_index": 2359 + "line": 956, + "column": 4, + "start": 34827, + "end": 34887, + "length": 61, + "parent_index": 2330 }, - "implemented": true, - "statements": [ + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2331, + "node_type": 43, + "src": { + "line": 956, + "column": 59, + "start": 34882, + "end": 34885, + "length": 4, + "parent_index": 2330 + }, + "parameters": [ { - "id": 2373, + "id": 2332, "node_type": 44, "src": { - "line": 909, - "column": 8, - "start": 32498, - "end": 32559, - "length": 62, - "parent_index": 2372 + "line": 956, + "column": 59, + "start": 34882, + "end": 34885, + "length": 4, + "parent_index": 2331 }, - "assignments": [ - 2374, - 2376 - ], - "declarations": [ - { - "id": 2374, - "state_mutability": 1, - "name": "token0", - "node_type": 44, - "scope": 2372, - "src": { - "line": 909, - "column": 9, - "start": 32499, - "end": 32512, - "length": 14, - "parent_index": 2373 - }, - "name_location": { - "line": 909, - "column": 17, - "start": 32507, - "end": 32512, - "length": 6, - "parent_index": 2374 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2375, - "node_type": 30, - "src": { - "line": 909, - "column": 9, - "start": 32499, - "end": 32505, - "length": 7, - "parent_index": 2374 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1 + "scope": 2330, + "name": "", + "type_name": { + "id": 2333, + "node_type": 30, + "src": { + "line": 956, + "column": 59, + "start": 34882, + "end": 34885, + "length": 4, + "parent_index": 2332 }, - { - "id": 2376, - "state_mutability": 1, - "name": "token1", - "node_type": 44, - "scope": 2372, - "src": { - "line": 909, - "column": 25, - "start": 32515, - "end": 32528, - "length": 14, - "parent_index": 2373 - }, - "name_location": { - "line": 909, - "column": 33, - "start": 32523, - "end": 32528, - "length": 6, - "parent_index": 2376 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2377, - "node_type": 30, - "src": { - "line": 909, - "column": 25, - "start": 32515, - "end": 32521, - "length": 7, - "parent_index": 2376 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1 + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ], - "initial_value": { - "id": 2378, - "node_type": 24, - "kind": 24, + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 2334, + "node_type": 43, + "src": { + "line": 956, + "column": 59, + "start": 34882, + "end": 34885, + "length": 4, + "parent_index": 2330 + }, + "parameters": [ + { + "id": 2335, + "node_type": 44, + "src": { + "line": 956, + "column": 59, + "start": 34882, + "end": 34885, + "length": 4, + "parent_index": 2334 + }, + "scope": 2330, + "name": "", + "type_name": { + "id": 2336, + "node_type": 30, "src": { - "line": 909, - "column": 43, - "start": 32533, - "end": 32558, - "length": 26, - "parent_index": 2373 + "line": 956, + "column": 59, + "start": 34882, + "end": 34885, + "length": 4, + "parent_index": 2335 }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ], - "arguments": [ - { - "id": 2380, - "node_type": 16, - "src": { - "line": 909, - "column": 54, - "start": 32544, - "end": 32549, - "length": 6, - "parent_index": 2378 - }, - "name": "tokenA", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2380, - "is_pure": false - }, - { - "id": 2381, - "node_type": 16, - "src": { - "line": 909, - "column": 62, - "start": 32552, - "end": 32557, - "length": 6, - "parent_index": 2378 - }, - "name": "tokenB", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2381, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - } - ], - "expression": { - "id": 2379, - "node_type": 16, - "src": { - "line": 909, - "column": 43, - "start": 32533, - "end": 32542, - "length": 10, - "parent_index": 2378 - }, - "name": "sortTokens", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "price1CumulativeLast(uint)", + "signature": "2aa8398b", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "functionprice1CumulativeLast()externalviewreturns(uint);" + }, + { + "id": 2339, + "name": "kLast", + "node_type": 42, + "kind": 41, + "src": { + "line": 957, + "column": 4, + "start": 34893, + "end": 34938, + "length": 46, + "parent_index": 2069 + }, + "name_location": { + "line": 957, + "column": 13, + "start": 34902, + "end": 34906, + "length": 5, + "parent_index": 2339 + }, + "body": { + "id": 2346, + "node_type": 46, + "kind": 0, + "src": { + "line": 957, + "column": 4, + "start": 34893, + "end": 34938, + "length": 46, + "parent_index": 2339 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2340, + "node_type": 43, + "src": { + "line": 957, + "column": 44, + "start": 34933, + "end": 34936, + "length": 4, + "parent_index": 2339 + }, + "parameters": [ + { + "id": 2341, + "node_type": 44, + "src": { + "line": 957, + "column": 44, + "start": 34933, + "end": 34936, + "length": 4, + "parent_index": 2340 + }, + "scope": 2339, + "name": "", + "type_name": { + "id": 2342, + "node_type": 30, + "src": { + "line": 957, + "column": 44, + "start": 34933, + "end": 34936, + "length": 4, + "parent_index": 2341 }, + "name": "uint", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" + "type_identifier": "t_uint256", + "type_string": "uint256" } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - }, + } + ], + "parameter_types": [ { - "id": 2382, - "node_type": 27, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 2343, + "node_type": 43, + "src": { + "line": 957, + "column": 44, + "start": 34933, + "end": 34936, + "length": 4, + "parent_index": 2339 + }, + "parameters": [ + { + "id": 2344, + "node_type": 44, "src": { - "line": 910, - "column": 8, - "start": 32569, - "end": 32999, - "length": 431, - "parent_index": 2372 + "line": 957, + "column": 44, + "start": 34933, + "end": 34936, + "length": 4, + "parent_index": 2343 }, - "expression": { - "id": 2383, - "node_type": 27, + "scope": 2339, + "name": "", + "type_name": { + "id": 2345, + "node_type": 30, "src": { - "line": 910, - "column": 8, - "start": 32569, - "end": 32998, - "length": 430, - "parent_index": 2382 + "line": 957, + "column": 44, + "start": 34933, + "end": 34936, + "length": 4, + "parent_index": 2344 }, - "operator": 11, - "left_expression": { - "id": 2384, - "node_type": 16, - "src": { - "line": 910, - "column": 8, - "start": 32569, - "end": 32572, - "length": 4, - "parent_index": 2383 - }, - "name": "pair", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2370, - "is_pure": false - }, - "right_expression": { - "id": 2385, - "node_type": 24, - "kind": 24, - "src": { - "line": 910, - "column": 15, - "start": 32576, - "end": 32998, - "length": 423, - "parent_index": 2383 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "type_string": "function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))))" - } - ], - "arguments": [ - { - "id": 2388, - "node_type": 24, - "kind": 24, - "src": { - "line": 911, - "column": 12, - "start": 32597, - "end": 32988, - "length": 392, - "parent_index": 2385 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "type_string": "function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))" - } - ], - "arguments": [ - { - "id": 2391, - "node_type": 24, - "kind": 24, - "src": { - "line": 912, - "column": 16, - "start": 32622, - "end": 32974, - "length": 353, - "parent_index": 2388 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "type_string": "function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))" - } - ], - "arguments": [ - { - "id": 2394, - "node_type": 24, - "kind": 24, - "src": { - "line": 913, - "column": 20, - "start": 32651, - "end": 32956, - "length": 306, - "parent_index": 2391 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "type_string": "function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)" - } - ], - "arguments": [ - { - "id": 2396, - "node_type": 24, - "kind": 24, - "src": { - "line": 914, - "column": 24, - "start": 32686, - "end": 32934, - "length": 249, - "parent_index": 2394 - }, - "argument_types": [ - { - "type_identifier": "t_string_hex_literal", - "type_string": "literal_hex_string hex\"ff\"" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", - "type_string": "function(function(address,address))" - }, - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - ], - "arguments": [ - { - "id": 2399, - "node_type": 17, - "kind": 65, - "value": "hexff", - "hex_value": "6865786666", - "src": { - "line": 915, - "column": 28, - "start": 32732, - "end": 32738, - "length": 7, - "parent_index": 2396 - }, - "type_description": { - "type_identifier": "t_string_hex_literal", - "type_string": "literal_hex_string hex\"ff\"" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 2400, - "node_type": 16, - "src": { - "line": 916, - "column": 28, - "start": 32769, - "end": 32775, - "length": 7, - "parent_index": 2396 - }, - "name": "factory", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2400, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_string_hex_literal", - "type_string": "literal_hex_string hex\"ff\"" - } - ] - }, - { - "id": 2401, - "node_type": 24, - "kind": 24, - "src": { - "line": 917, - "column": 28, - "start": 32806, - "end": 32848, - "length": 43, - "parent_index": 2396 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } - ], - "arguments": [ - { - "id": 2403, - "node_type": 24, - "kind": 24, - "src": { - "line": 917, - "column": 38, - "start": 32816, - "end": 32847, - "length": 32, - "parent_index": 2401 - }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ], - "arguments": [ - { - "id": 2406, - "node_type": 16, - "src": { - "line": 917, - "column": 55, - "start": 32833, - "end": 32838, - "length": 6, - "parent_index": 2403 - }, - "name": "token0", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2373, - "is_pure": false - }, - { - "id": 2407, - "node_type": 16, - "src": { - "line": 917, - "column": 63, - "start": 32841, - "end": 32846, - "length": 6, - "parent_index": 2403 - }, - "name": "token1", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2373, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - } - ], - "expression": { - "id": 2404, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 917, - "column": 38, - "start": 32816, - "end": 32831, - "length": 16, - "parent_index": 2403 - }, - "member_location": { - "line": 917, - "column": 42, - "start": 32820, - "end": 32831, - "length": 12, - "parent_index": 2404 - }, - "expression": { - "id": 2405, - "node_type": 16, - "src": { - "line": 917, - "column": 38, - "start": 32816, - "end": 32818, - "length": 3, - "parent_index": 2404 - }, - "name": "abi", - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "member_name": "encodePacked", - "argument_types": [], - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } - } - ], - "expression": { - "id": 2402, - "node_type": 16, - "src": { - "line": 917, - "column": 28, - "start": 32806, - "end": 32814, - "length": 9, - "parent_index": 2401 - }, - "name": "keccak256", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", - "type_string": "function(function(address,address))" - } - }, - { - "id": 2408, - "node_type": 16, - "src": { - "line": 918, - "column": 28, - "start": 32879, - "end": 32890, - "length": 12, - "parent_index": 2396 - }, - "name": "pairCodeHash", - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - "overloaded_declarations": [], - "referenced_declaration": 2408, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_string_hex_literal", - "type_string": "literal_hex_string hex\"ff\"" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", - "type_string": "function(function(address,address))" - } - ] - } - ], - "expression": { - "id": 2397, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 914, - "column": 24, - "start": 32686, - "end": 32701, - "length": 16, - "parent_index": 2396 - }, - "member_location": { - "line": 914, - "column": 28, - "start": 32690, - "end": 32701, - "length": 12, - "parent_index": 2397 - }, - "expression": { - "id": 2398, - "node_type": 16, - "src": { - "line": 914, - "column": 24, - "start": 32686, - "end": 32688, - "length": 3, - "parent_index": 2397 - }, - "name": "abi", - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "member_name": "encodePacked", - "argument_types": [], - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "type_string": "function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)" - } - } - ], - "expression": { - "id": 2395, - "node_type": 16, - "src": { - "line": 913, - "column": 20, - "start": 32651, - "end": 32659, - "length": 9, - "parent_index": 2394 - }, - "name": "keccak256", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "type_string": "function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))" - } - } - ], - "expression": { - "id": 2392, - "node_type": 16, - "src": { - "line": 912, - "column": 16, - "start": 32622, - "end": 32628, - "length": 7, - "parent_index": 2391 - }, - "name": "uint256", - "type_name": { - "id": 2393, - "node_type": 30, - "src": { - "line": 912, - "column": 16, - "start": 32622, - "end": 32628, - "length": 7, - "parent_index": 2392 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "type_string": "function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))" - } - } - ], - "expression": { - "id": 2389, - "node_type": 16, - "src": { - "line": 911, - "column": 12, - "start": 32597, - "end": 32603, - "length": 7, - "parent_index": 2388 - }, - "name": "uint160", - "type_name": { - "id": 2390, - "node_type": 30, - "src": { - "line": 911, - "column": 12, - "start": 32597, - "end": 32603, - "length": 7, - "parent_index": 2389 - }, - "name": "uint160", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint160", - "type_string": "uint160" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint160$", - "type_string": "function(uint160)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint160", - "type_string": "uint160" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "type_string": "function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))))" - } - } - ], - "expression": { - "id": 2386, - "node_type": 16, - "src": { - "line": 910, - "column": 15, - "start": 32576, - "end": 32582, - "length": 7, - "parent_index": 2385 - }, - "name": "address", - "type_name": { - "id": 2387, - "node_type": 30, - "src": { - "line": 910, - "column": 15, - "start": 32576, - "end": 32582, - "length": 7, - "parent_index": 2386 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "type_string": "function(function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))))" - } + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "kLast(uint)", + "signature": "ce0485c1", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "functionkLast()externalviewreturns(uint);" + }, + { + "id": 2348, + "name": "mint", + "node_type": 42, + "kind": 41, + "src": { + "line": 959, + "column": 4, + "start": 34945, + "end": 35004, + "length": 60, + "parent_index": 2069 + }, + "name_location": { + "line": 959, + "column": 13, + "start": 34954, + "end": 34957, + "length": 4, + "parent_index": 2348 + }, + "body": { + "id": 2355, + "node_type": 46, + "kind": 0, + "src": { + "line": 959, + "column": 4, + "start": 34945, + "end": 35004, + "length": 60, + "parent_index": 2348 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2349, + "node_type": 43, + "src": { + "line": 959, + "column": 18, + "start": 34959, + "end": 34968, + "length": 10, + "parent_index": 2348 + }, + "parameters": [ + { + "id": 2350, + "node_type": 44, + "src": { + "line": 959, + "column": 18, + "start": 34959, + "end": 34968, + "length": 10, + "parent_index": 2349 + }, + "scope": 2348, + "name": "to", + "type_name": { + "id": 2351, + "node_type": 30, + "src": { + "line": 959, + "column": 18, + "start": 34959, + "end": 34965, + "length": 7, + "parent_index": 2350 }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, "type_description": { "type_identifier": "t_address", "type_string": "address" } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, "type_description": { "type_identifier": "t_address", "type_string": "address" } } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } ] }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2360, + "return_parameters": { + "id": 2352, "node_type": 43, "src": { - "line": 904, - "column": 8, - "start": 32351, - "end": 32443, - "length": 93, - "parent_index": 2359 + "line": 959, + "column": 48, + "start": 34989, + "end": 35002, + "length": 14, + "parent_index": 2348 }, "parameters": [ { - "id": 2361, + "id": 2353, "node_type": 44, "src": { - "line": 904, - "column": 8, - "start": 32351, - "end": 32365, - "length": 15, - "parent_index": 2360 + "line": 959, + "column": 48, + "start": 34989, + "end": 35002, + "length": 14, + "parent_index": 2352 }, - "scope": 2359, - "name": "factory", + "scope": 2348, + "name": "liquidity", "type_name": { - "id": 2362, + "id": 2354, "node_type": 30, "src": { - "line": 904, - "column": 8, - "start": 32351, - "end": 32357, - "length": 7, - "parent_index": 2361 + "line": 959, + "column": 48, + "start": 34989, + "end": 34992, + "length": 4, + "parent_index": 2353 }, - "name": "address", - "state_mutability": 4, + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "mint(address)", + "signature": "6a627842", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functionmint(addressto)externalreturns(uintliquidity);" + }, + { + "id": 2357, + "name": "burn", + "node_type": 42, + "kind": 41, + "src": { + "line": 960, + "column": 4, + "start": 35010, + "end": 35081, + "length": 72, + "parent_index": 2069 + }, + "name_location": { + "line": 960, + "column": 13, + "start": 35019, + "end": 35022, + "length": 4, + "parent_index": 2357 + }, + "body": { + "id": 2366, + "node_type": 46, + "kind": 0, + "src": { + "line": 960, + "column": 4, + "start": 35010, + "end": 35081, + "length": 72, + "parent_index": 2357 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2358, + "node_type": 43, + "src": { + "line": 960, + "column": 18, + "start": 35024, + "end": 35033, + "length": 10, + "parent_index": 2357 + }, + "parameters": [ { - "id": 2363, + "id": 2359, "node_type": 44, "src": { - "line": 905, - "column": 8, - "start": 32376, - "end": 32389, - "length": 14, - "parent_index": 2360 + "line": 960, + "column": 18, + "start": 35024, + "end": 35033, + "length": 10, + "parent_index": 2358 }, - "scope": 2359, - "name": "tokenA", + "scope": 2357, + "name": "to", "type_name": { - "id": 2364, + "id": 2360, "node_type": 30, "src": { - "line": 905, - "column": 8, - "start": 32376, - "end": 32382, + "line": 960, + "column": 18, + "start": 35024, + "end": 35030, "length": 7, - "parent_index": 2363 + "parent_index": 2359 }, "name": "address", "state_mutability": 4, @@ -43335,141 +44285,457 @@ "type_identifier": "t_address", "type_string": "address" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { + "id": 2361, + "node_type": 43, + "src": { + "line": 960, + "column": 48, + "start": 35054, + "end": 35079, + "length": 26, + "parent_index": 2357 + }, + "parameters": [ { - "id": 2365, + "id": 2362, "node_type": 44, "src": { - "line": 906, - "column": 8, - "start": 32400, - "end": 32413, - "length": 14, - "parent_index": 2360 + "line": 960, + "column": 48, + "start": 35054, + "end": 35065, + "length": 12, + "parent_index": 2361 }, - "scope": 2359, - "name": "tokenB", + "scope": 2357, + "name": "amount0", "type_name": { - "id": 2366, + "id": 2363, "node_type": 30, "src": { - "line": 906, - "column": 8, - "start": 32400, - "end": 32406, - "length": 7, - "parent_index": 2365 + "line": 960, + "column": 48, + "start": 35054, + "end": 35057, + "length": 4, + "parent_index": 2362 }, - "name": "address", - "state_mutability": 4, + "name": "uint", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 2367, + "id": 2364, "node_type": 44, "src": { - "line": 907, - "column": 8, - "start": 32424, - "end": 32443, - "length": 20, - "parent_index": 2360 + "line": 960, + "column": 62, + "start": 35068, + "end": 35079, + "length": 12, + "parent_index": 2361 }, - "scope": 2359, - "name": "pairCodeHash", + "scope": 2357, + "name": "amount1", "type_name": { - "id": 2368, + "id": 2365, "node_type": 30, "src": { - "line": 907, - "column": 8, - "start": 32424, - "end": 32430, + "line": 960, + "column": 62, + "start": 35068, + "end": 35071, + "length": 4, + "parent_index": 2364 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "burn(address)", + "signature": "89afcb44", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functionburn(addressto)externalreturns(uintamount0,uintamount1);" + }, + { + "id": 2368, + "name": "swap", + "node_type": 42, + "kind": 41, + "src": { + "line": 961, + "column": 4, + "start": 35087, + "end": 35176, + "length": 90, + "parent_index": 2069 + }, + "name_location": { + "line": 961, + "column": 13, + "start": 35096, + "end": 35099, + "length": 4, + "parent_index": 2368 + }, + "body": { + "id": 2379, + "node_type": 46, + "kind": 0, + "src": { + "line": 961, + "column": 4, + "start": 35087, + "end": 35176, + "length": 90, + "parent_index": 2368 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2369, + "node_type": 43, + "src": { + "line": 961, + "column": 18, + "start": 35101, + "end": 35165, + "length": 65, + "parent_index": 2368 + }, + "parameters": [ + { + "id": 2370, + "node_type": 44, + "src": { + "line": 961, + "column": 18, + "start": 35101, + "end": 35115, + "length": 15, + "parent_index": 2369 + }, + "scope": 2368, + "name": "amount0Out", + "type_name": { + "id": 2371, + "node_type": 30, + "src": { + "line": 961, + "column": 18, + "start": 35101, + "end": 35104, + "length": 4, + "parent_index": 2370 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 2372, + "node_type": 44, + "src": { + "line": 961, + "column": 35, + "start": 35118, + "end": 35132, + "length": 15, + "parent_index": 2369 + }, + "scope": 2368, + "name": "amount1Out", + "type_name": { + "id": 2373, + "node_type": 30, + "src": { + "line": 961, + "column": 35, + "start": 35118, + "end": 35121, + "length": 4, + "parent_index": 2372 + }, + "name": "uint", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 2374, + "node_type": 44, + "src": { + "line": 961, + "column": 52, + "start": 35135, + "end": 35144, + "length": 10, + "parent_index": 2369 + }, + "scope": 2368, + "name": "to", + "type_name": { + "id": 2375, + "node_type": 30, + "src": { + "line": 961, + "column": 52, + "start": 35135, + "end": 35141, "length": 7, - "parent_index": 2367 + "parent_index": 2374 }, - "name": "bytes32", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 2376, + "node_type": 44, + "src": { + "line": 961, + "column": 64, + "start": 35147, + "end": 35165, + "length": 19, + "parent_index": 2369 + }, + "scope": 2368, + "name": "data", + "type_name": { + "id": 2377, + "node_type": 30, + "src": { + "line": 961, + "column": 64, + "start": 35147, + "end": 35151, + "length": 5, + "parent_index": 2376 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "storage_location": 4, + "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_bytes", + "type_string": "bytes" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { "type_identifier": "t_address", "type_string": "address" }, { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_bytes", + "type_string": "bytes" } ] }, "return_parameters": { - "id": 2369, + "id": 2378, "node_type": 43, "src": { - "line": 908, - "column": 29, - "start": 32474, - "end": 32485, - "length": 12, - "parent_index": 2359 + "line": 961, + "column": 4, + "start": 35087, + "end": 35176, + "length": 90, + "parent_index": 2368 + }, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "swap(uint,uint,address,bytes)", + "signature": "090f344e", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", + "type_string": "function(uint256,uint256,address,bytes)" + }, + "text": "functionswap(uintamount0Out,uintamount1Out,addressto,bytescalldatadata)external;" + }, + { + "id": 2381, + "name": "skim", + "node_type": 42, + "kind": 41, + "src": { + "line": 962, + "column": 4, + "start": 35182, + "end": 35216, + "length": 35, + "parent_index": 2069 + }, + "name_location": { + "line": 962, + "column": 13, + "start": 35191, + "end": 35194, + "length": 4, + "parent_index": 2381 + }, + "body": { + "id": 2386, + "node_type": 46, + "kind": 0, + "src": { + "line": 962, + "column": 4, + "start": 35182, + "end": 35216, + "length": 35, + "parent_index": 2381 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2382, + "node_type": 43, + "src": { + "line": 962, + "column": 18, + "start": 35196, + "end": 35205, + "length": 10, + "parent_index": 2381 }, "parameters": [ { - "id": 2370, + "id": 2383, "node_type": 44, "src": { - "line": 908, - "column": 29, - "start": 32474, - "end": 32485, - "length": 12, - "parent_index": 2369 + "line": 962, + "column": 18, + "start": 35196, + "end": 35205, + "length": 10, + "parent_index": 2382 }, - "scope": 2359, - "name": "pair", + "scope": 2381, + "name": "to", "type_name": { - "id": 2371, + "id": 2384, "node_type": 30, "src": { - "line": 908, - "column": 29, - "start": 32474, - "end": 32480, + "line": 962, + "column": 18, + "start": 35196, + "end": 35202, "length": 7, - "parent_index": 2370 + "parent_index": 2383 }, "name": "address", "state_mutability": 4, @@ -43495,1147 +44761,775 @@ } ] }, - "signature_raw": "pairFor(address, address, address, bytes32)", - "signature": "fc9bce2a", - "scope": 2309, + "return_parameters": { + "id": 2385, + "node_type": 43, + "src": { + "line": 962, + "column": 4, + "start": 35182, + "end": 35216, + "length": 35, + "parent_index": 2381 + }, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "skim(address)", + "signature": "bc25cf77", + "scope": 2069, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "type_string": "function(address,address,address,bytes32)" - } + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functionskim(addressto)external;" }, { - "id": 2410, - "name": "getReserves", + "id": 2388, + "name": "sync", "node_type": 42, "kind": 41, "src": { - "line": 927, + "line": 963, "column": 4, - "start": 33061, - "end": 33581, - "length": 521, - "parent_index": 2309 + "start": 35222, + "end": 35246, + "length": 25, + "parent_index": 2069 }, "name_location": { - "line": 927, + "line": 963, "column": 13, - "start": 33070, - "end": 33080, - "length": 11, - "parent_index": 2410 + "start": 35231, + "end": 35234, + "length": 4, + "parent_index": 2388 }, "body": { - "id": 2425, + "id": 2391, "node_type": 46, "kind": 0, "src": { - "line": 932, - "column": 65, - "start": 33250, - "end": 33581, - "length": 332, - "parent_index": 2410 + "line": 963, + "column": 4, + "start": 35222, + "end": 35246, + "length": 25, + "parent_index": 2388 }, - "implemented": true, - "statements": [ + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2389, + "node_type": 43, + "src": { + "line": 963, + "column": 4, + "start": 35222, + "end": 35246, + "length": 25, + "parent_index": 2388 + }, + "parameters": [], + "parameter_types": [] + }, + "return_parameters": { + "id": 2390, + "node_type": 43, + "src": { + "line": 963, + "column": 4, + "start": 35222, + "end": 35246, + "length": 25, + "parent_index": 2388 + }, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "sync()", + "signature": "fff6cae9", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "text": "functionsync()external;" + }, + { + "id": 2393, + "name": "initialize", + "node_type": 42, + "kind": 41, + "src": { + "line": 965, + "column": 4, + "start": 35253, + "end": 35299, + "length": 47, + "parent_index": 2069 + }, + "name_location": { + "line": 965, + "column": 13, + "start": 35262, + "end": 35271, + "length": 10, + "parent_index": 2393 + }, + "body": { + "id": 2400, + "node_type": 46, + "kind": 0, + "src": { + "line": 965, + "column": 4, + "start": 35253, + "end": 35299, + "length": 47, + "parent_index": 2393 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2394, + "node_type": 43, + "src": { + "line": 965, + "column": 24, + "start": 35273, + "end": 35288, + "length": 16, + "parent_index": 2393 + }, + "parameters": [ { - "id": 2426, + "id": 2395, "node_type": 44, "src": { - "line": 933, - "column": 8, - "start": 33260, - "end": 33307, - "length": 48, - "parent_index": 2425 + "line": 965, + "column": 24, + "start": 35273, + "end": 35279, + "length": 7, + "parent_index": 2394 }, - "assignments": [ - 2427 - ], - "declarations": [ - { - "id": 2427, - "state_mutability": 1, - "name": "token0", - "node_type": 44, - "scope": 2425, - "src": { - "line": 933, - "column": 9, - "start": 33261, - "end": 33274, - "length": 14, - "parent_index": 2426 - }, - "name_location": { - "line": 933, - "column": 17, - "start": 33269, - "end": 33274, - "length": 6, - "parent_index": 2427 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2428, - "node_type": 30, - "src": { - "line": 933, - "column": 9, - "start": 33261, - "end": 33267, - "length": 7, - "parent_index": 2427 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2429, - "node_type": 24, - "kind": 24, + "scope": 2393, + "name": "", + "type_name": { + "id": 2396, + "node_type": 30, "src": { - "line": 933, - "column": 29, - "start": 33281, - "end": 33306, - "length": 26, - "parent_index": 2426 - }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ], - "arguments": [ - { - "id": 2431, - "node_type": 16, - "src": { - "line": 933, - "column": 40, - "start": 33292, - "end": 33297, - "length": 6, - "parent_index": 2429 - }, - "name": "tokenA", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2431, - "is_pure": false - }, - { - "id": 2432, - "node_type": 16, - "src": { - "line": 933, - "column": 48, - "start": 33300, - "end": 33305, - "length": 6, - "parent_index": 2429 - }, - "name": "tokenB", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2432, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - } - ], - "expression": { - "id": 2430, - "node_type": 16, - "src": { - "line": 933, - "column": 29, - "start": 33281, - "end": 33290, - "length": 10, - "parent_index": 2429 - }, - "name": "sortTokens", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "line": 965, + "column": 24, + "start": 35273, + "end": 35279, + "length": 7, + "parent_index": 2395 }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" + "type_identifier": "t_address", + "type_string": "address" } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 2433, + "id": 2397, "node_type": 44, "src": { - "line": 934, - "column": 8, - "start": 33317, - "end": 33456, - "length": 140, - "parent_index": 2425 - }, - "assignments": [ - 2434, - 2436 - ], - "declarations": [ + "line": 965, + "column": 33, + "start": 35282, + "end": 35288, + "length": 7, + "parent_index": 2394 + }, + "scope": 2393, + "name": "", + "type_name": { + "id": 2398, + "node_type": 30, + "src": { + "line": 965, + "column": 33, + "start": 35282, + "end": 35288, + "length": 7, + "parent_index": 2397 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { + "id": 2399, + "node_type": 43, + "src": { + "line": 965, + "column": 4, + "start": 35253, + "end": 35299, + "length": 47, + "parent_index": 2393 + }, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "initialize(address,address)", + "signature": "485cc955", + "scope": 2069, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + }, + "text": "functioninitialize(address,address)external;" + } + ], + "linearized_base_contracts": [ + 2069 + ], + "base_contracts": [], + "contract_dependencies": [] + } + ], + "src": { + "line": 917, + "column": 0, + "start": 32905, + "end": 35301, + "length": 2397, + "parent_index": 272 + } + }, + { + "id": 2401, + "base_contracts": [], + "license": "MIT", + "exported_symbols": [ + { + "id": 2401, + "name": "SafeMathUniswap", + "absolute_path": "" + } + ], + "absolute_path": "", + "name": "SafeMathUniswap", + "node_type": 1, + "nodes": [ + { + "id": 2415, + "node_type": 10, + "src": { + "line": 970, + "column": 0, + "start": 35341, + "end": 35365, + "length": 25, + "parent_index": 2401 + }, + "literals": [ + "pragma", + "solidity", + "\u003e=", + "0", + ".", + "6", + ".", + "12", + ";" + ], + "text": "pragma solidity \u003e=0.6.12;" + }, + { + "id": 2430, + "name": "SafeMathUniswap", + "node_type": 35, + "src": { + "line": 974, + "column": 0, + "start": 35474, + "end": 35937, + "length": 464, + "parent_index": 2401 + }, + "name_location": { + "line": 974, + "column": 8, + "start": 35482, + "end": 35496, + "length": 15, + "parent_index": 2430 + }, + "abstract": false, + "kind": 37, + "fully_implemented": true, + "nodes": [ + { + "id": 2432, + "name": "add", + "node_type": 42, + "kind": 41, + "src": { + "line": 975, + "column": 4, + "start": 35504, + "end": 35638, + "length": 135, + "parent_index": 2430 + }, + "name_location": { + "line": 975, + "column": 13, + "start": 35513, + "end": 35515, + "length": 3, + "parent_index": 2432 + }, + "body": { + "id": 2441, + "node_type": 46, + "kind": 0, + "src": { + "line": 975, + "column": 73, + "start": 35573, + "end": 35638, + "length": 66, + "parent_index": 2432 + }, + "implemented": true, + "statements": [ + { + "id": 2442, + "node_type": 24, + "kind": 24, + "src": { + "line": 976, + "column": 8, + "start": 35583, + "end": 35631, + "length": 49, + "parent_index": 2441 + }, + "argument_types": [ { - "id": 2434, - "state_mutability": 1, - "name": "reserve0", - "node_type": 44, - "scope": 2425, - "src": { - "line": 934, - "column": 9, - "start": 33318, - "end": 33333, - "length": 16, - "parent_index": 2433 - }, - "name_location": { - "line": 934, - "column": 17, - "start": 33326, - "end": 33333, - "length": 8, - "parent_index": 2434 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2435, - "node_type": 30, - "src": { - "line": 934, - "column": 9, - "start": 33318, - "end": 33324, - "length": 7, - "parent_index": 2434 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 + "type_identifier": "t_bool", + "type_string": "bool" }, { - "id": 2436, - "state_mutability": 1, - "name": "reserve1", - "node_type": 44, - "scope": 2425, - "src": { - "line": 934, - "column": 27, - "start": 33336, - "end": 33351, - "length": 16, - "parent_index": 2433 - }, - "name_location": { - "line": 934, - "column": 35, - "start": 33344, - "end": 33351, - "length": 8, - "parent_index": 2436 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2437, - "node_type": 30, - "src": { - "line": 934, - "column": 27, - "start": 33336, - "end": 33342, - "length": 7, - "parent_index": 2436 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 + "type_identifier": "t_string_literal", + "type_string": "literal_string \"ds-math-add-overflow\"" } ], - "initial_value": { - "id": 2438, - "node_type": 24, - "kind": 24, - "src": { - "line": 934, - "column": 49, - "start": 33358, - "end": 33455, - "length": 98, - "parent_index": 2433 - }, - "argument_types": [], - "arguments": [], - "expression": { - "id": 2439, + "arguments": [ + { + "id": 2444, "is_constant": false, - "is_l_value": false, "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "node_type": 19, "src": { - "line": 934, - "column": 49, - "start": 33358, - "end": 33453, - "length": 96, - "parent_index": 2438 - }, - "member_location": { - "line": 936, - "column": 10, - "start": 33443, - "end": 33453, - "length": 11, - "parent_index": 2439 + "line": 976, + "column": 16, + "start": 35591, + "end": 35606, + "length": 16, + "parent_index": 2442 }, - "expression": { - "id": 2440, - "node_type": 24, - "kind": 24, + "operator": 8, + "left_expression": { + "id": 2445, + "node_type": 60, "src": { - "line": 934, - "column": 49, - "start": 33358, - "end": 33441, - "length": 84, - "parent_index": 2439 + "line": 976, + "column": 16, + "start": 35591, + "end": 35601, + "length": 11, + "parent_index": 2444 }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "type_string": "function(address,address,address,bytes32)" - } - ], - "arguments": [ + "is_constant": false, + "is_pure": false, + "components": [ { - "id": 2442, - "node_type": 24, - "kind": 24, + "id": 2446, + "node_type": 27, "src": { - "line": 935, - "column": 12, - "start": 33386, - "end": 33431, - "length": 46, - "parent_index": 2440 + "line": 976, + "column": 17, + "start": 35592, + "end": 35600, + "length": 9, + "parent_index": 2445 }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "operator": 11, + "left_expression": { + "id": 2447, + "node_type": 16, + "src": { + "line": 976, + "column": 17, + "start": 35592, + "end": 35592, + "length": 1, + "parent_index": 2446 }, - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - ], - "arguments": [ - { - "id": 2444, - "node_type": 16, - "src": { - "line": 935, - "column": 20, - "start": 33394, - "end": 33400, - "length": 7, - "parent_index": 2442 - }, - "name": "factory", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2444, - "is_pure": false + "name": "z", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - { - "id": 2445, - "node_type": 16, - "src": { - "line": 935, - "column": 29, - "start": 33403, - "end": 33408, - "length": 6, - "parent_index": 2442 - }, - "name": "tokenA", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2445, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "overloaded_declarations": [], + "referenced_declaration": 2439, + "is_pure": false, + "text": "z" + }, + "right_expression": { + "id": 2448, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 976, + "column": 21, + "start": 35596, + "end": 35600, + "length": 5, + "parent_index": 2446 }, - { - "id": 2446, + "operator": 1, + "left_expression": { + "id": 2449, "node_type": 16, "src": { - "line": 935, - "column": 37, - "start": 33411, - "end": 33416, - "length": 6, - "parent_index": 2442 + "line": 976, + "column": 21, + "start": 35596, + "end": 35596, + "length": 1, + "parent_index": 2448 }, - "name": "tokenB", + "name": "x", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2446, + "referenced_declaration": 2449, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "text": "x" }, - { - "id": 2447, + "right_expression": { + "id": 2450, "node_type": 16, "src": { - "line": 935, - "column": 45, - "start": 33419, - "end": 33430, - "length": 12, - "parent_index": 2442 + "line": 976, + "column": 25, + "start": 35600, + "end": 35600, + "length": 1, + "parent_index": 2448 }, - "name": "pairCodeHash", + "name": "y", "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2447, + "referenced_declaration": 2450, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - } - ], - "expression": { - "id": 2443, - "node_type": 16, - "src": { - "line": 935, - "column": 12, - "start": 33386, - "end": 33392, - "length": 7, - "parent_index": 2442 + "text": "y" }, - "name": "pairFor", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "type_string": "function(address,address,address,bytes32)" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], - "expression": { - "id": 2441, - "node_type": 16, - "src": { - "line": 934, - "column": 49, - "start": 33358, - "end": 33371, - "length": 14, - "parent_index": 2440 - }, - "name": "IUniswapV2Pair", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "type_string": "function(function(address,address,address,bytes32))" + "type_identifier": "t_tuple_$_t_uint256$", + "type_string": "tuple(uint256)" } }, - "member_name": "getReserves", - "argument_types": [], + "right_expression": { + "id": 2451, + "node_type": 16, + "src": { + "line": 976, + "column": 31, + "start": 35606, + "end": 35606, + "length": 1, + "parent_index": 2444 + }, + "name": "x", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2451, + "is_pure": false, + "text": "x" + }, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "type_string": "function(function(address,address,address,bytes32))" + "type_identifier": "t_bool", + "type_string": "bool" } }, + { + "id": 2452, + "node_type": 17, + "kind": 50, + "value": "ds-math-add-overflow", + "hex_value": "64732d6d6174682d6164642d6f766572666c6f77", + "src": { + "line": 976, + "column": 34, + "start": 35609, + "end": 35630, + "length": 22, + "parent_index": 2442 + }, + "type_description": { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"ds-math-add-overflow\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "\"ds-math-add-overflow\"" + } + ], + "expression": { + "id": 2443, + "node_type": 16, + "src": { + "line": 976, + "column": 8, + "start": 35583, + "end": 35589, + "length": 7, + "parent_index": 2442 + }, + "name": "require", "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" + }, + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string_literal$", + "type_string": "function(bool,string memory)" } - }, + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2433, + "node_type": 43, + "src": { + "line": 975, + "column": 17, + "start": 35517, + "end": 35536, + "length": 20, + "parent_index": 2432 + }, + "parameters": [ { - "id": 2448, - "node_type": 27, + "id": 2434, + "node_type": 44, "src": { - "line": 937, - "column": 8, - "start": 33466, - "end": 33575, - "length": 110, - "parent_index": 2425 + "line": 975, + "column": 17, + "start": 35517, + "end": 35525, + "length": 9, + "parent_index": 2433 }, - "expression": { - "id": 2449, - "node_type": 27, + "scope": 2432, + "name": "x", + "type_name": { + "id": 2435, + "node_type": 30, "src": { - "line": 937, - "column": 8, - "start": 33466, - "end": 33574, - "length": 109, - "parent_index": 2448 + "line": 975, + "column": 17, + "start": 35517, + "end": 35523, + "length": 7, + "parent_index": 2434 }, - "operator": 11, - "left_expression": { - "id": 2450, - "node_type": 60, - "src": { - "line": 937, - "column": 8, - "start": 33466, - "end": 33485, - "length": 20, - "parent_index": 2449 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2451, - "node_type": 16, - "src": { - "line": 937, - "column": 9, - "start": 33467, - "end": 33474, - "length": 8, - "parent_index": 2450 - }, - "name": "reserveA", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2421, - "is_pure": false - }, - { - "id": 2452, - "node_type": 16, - "src": { - "line": 937, - "column": 19, - "start": 33477, - "end": 33484, - "length": 8, - "parent_index": 2450 - }, - "name": "reserveB", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2423, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - } - }, - "right_expression": { - "id": 2454, - "node_type": 97, - "src": { - "line": 937, - "column": 31, - "start": 33489, - "end": 33574, - "length": 86, - "parent_index": 2449 - }, - "expressions": [ - { - "id": 2455, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 937, - "column": 31, - "start": 33489, - "end": 33504, - "length": 16, - "parent_index": 2454 - }, - "operator": 11, - "left_expression": { - "id": 2456, - "node_type": 16, - "src": { - "line": 937, - "column": 31, - "start": 33489, - "end": 33494, - "length": 6, - "parent_index": 2455 - }, - "name": "tokenA", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2456, - "is_pure": false - }, - "right_expression": { - "id": 2457, - "node_type": 16, - "src": { - "line": 937, - "column": 41, - "start": 33499, - "end": 33504, - "length": 6, - "parent_index": 2455 - }, - "name": "token0", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2426, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 2458, - "node_type": 60, - "src": { - "line": 938, - "column": 14, - "start": 33520, - "end": 33539, - "length": 20, - "parent_index": 2454 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2459, - "node_type": 16, - "src": { - "line": 938, - "column": 15, - "start": 33521, - "end": 33528, - "length": 8, - "parent_index": 2458 - }, - "name": "reserve0", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2433, - "is_pure": false - }, - { - "id": 2460, - "node_type": 16, - "src": { - "line": 938, - "column": 25, - "start": 33531, - "end": 33538, - "length": 8, - "parent_index": 2458 - }, - "name": "reserve1", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2433, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - } - }, - { - "id": 2461, - "node_type": 60, - "src": { - "line": 939, - "column": 14, - "start": 33555, - "end": 33574, - "length": 20, - "parent_index": 2454 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2462, - "node_type": 16, - "src": { - "line": 939, - "column": 15, - "start": 33556, - "end": 33563, - "length": 8, - "parent_index": 2461 - }, - "name": "reserve1", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2433, - "is_pure": false - }, - { - "id": 2463, - "node_type": 16, - "src": { - "line": 939, - "column": 25, - "start": 33566, - "end": 33573, - "length": 8, - "parent_index": 2461 - }, - "name": "reserve0", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2433, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - } - } - ], - "type_descriptions": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - }, - { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - } - ], - "type_description": null - }, - "type_description": { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - } - }, - "type_description": { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2411, - "node_type": 43, - "src": { - "line": 928, - "column": 8, - "start": 33091, - "end": 33183, - "length": 93, - "parent_index": 2410 - }, - "parameters": [ - { - "id": 2412, - "node_type": 44, - "src": { - "line": 928, - "column": 8, - "start": 33091, - "end": 33105, - "length": 15, - "parent_index": 2411 - }, - "scope": 2410, - "name": "factory", - "type_name": { - "id": 2413, - "node_type": 30, - "src": { - "line": 928, - "column": 8, - "start": 33091, - "end": 33097, - "length": 7, - "parent_index": 2412 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 2414, - "node_type": 44, - "src": { - "line": 929, - "column": 8, - "start": 33116, - "end": 33129, - "length": 14, - "parent_index": 2411 - }, - "scope": 2410, - "name": "tokenA", - "type_name": { - "id": 2415, - "node_type": 30, - "src": { - "line": 929, - "column": 8, - "start": 33116, - "end": 33122, - "length": 7, - "parent_index": 2414 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 2416, - "node_type": 44, - "src": { - "line": 930, - "column": 8, - "start": 33140, - "end": 33153, - "length": 14, - "parent_index": 2411 - }, - "scope": 2410, - "name": "tokenB", - "type_name": { - "id": 2417, - "node_type": 30, - "src": { - "line": 930, - "column": 8, - "start": 33140, - "end": 33146, - "length": 7, - "parent_index": 2416 - }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 2418, + "id": 2436, "node_type": 44, "src": { - "line": 931, - "column": 8, - "start": 33164, - "end": 33183, - "length": 20, - "parent_index": 2411 + "line": 975, + "column": 28, + "start": 35528, + "end": 35536, + "length": 9, + "parent_index": 2433 }, - "scope": 2410, - "name": "pairCodeHash", + "scope": 2432, + "name": "y", "type_name": { - "id": 2419, + "id": 2437, "node_type": 30, "src": { - "line": 931, - "column": 8, - "start": 33164, - "end": 33170, + "line": 975, + "column": 28, + "start": 35528, + "end": 35534, "length": 7, - "parent_index": 2418 + "parent_index": 2436 }, - "name": "bytes32", + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, "return_parameters": { - "id": 2420, + "id": 2438, "node_type": 43, "src": { - "line": 932, - "column": 29, - "start": 33214, - "end": 33247, - "length": 34, - "parent_index": 2410 + "line": 975, + "column": 62, + "start": 35562, + "end": 35570, + "length": 9, + "parent_index": 2432 }, "parameters": [ { - "id": 2421, - "node_type": 44, - "src": { - "line": 932, - "column": 29, - "start": 33214, - "end": 33229, - "length": 16, - "parent_index": 2420 - }, - "scope": 2410, - "name": "reserveA", - "type_name": { - "id": 2422, - "node_type": 30, - "src": { - "line": 932, - "column": 29, - "start": 33214, - "end": 33220, - "length": 7, - "parent_index": 2421 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 2423, + "id": 2439, "node_type": 44, "src": { - "line": 932, - "column": 47, - "start": 33232, - "end": 33247, - "length": 16, - "parent_index": 2420 + "line": 975, + "column": 62, + "start": 35562, + "end": 35570, + "length": 9, + "parent_index": 2438 }, - "scope": 2410, - "name": "reserveB", + "scope": 2432, + "name": "z", "type_name": { - "id": 2424, + "id": 2440, "node_type": 30, "src": { - "line": 932, - "column": 47, - "start": 33232, - "end": 33238, + "line": 975, + "column": 62, + "start": 35562, + "end": 35568, "length": 7, - "parent_index": 2423 + "parent_index": 2439 }, "name": "uint256", "referenced_declaration": 0, @@ -44654,70 +45548,67 @@ } ], "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "getReserves(address, address, address, bytes32)", - "signature": "4b420a27", - "scope": 2309, + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", + "scope": 2430, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "type_string": "function(address,address,address,bytes32)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functionadd(uint256x,uint256y)internalpurereturns(uint256z){require((z=x+y)\u003e=x,\"ds-math-add-overflow\");}" }, { - "id": 2465, - "name": "quote", + "id": 2454, + "name": "sub", "node_type": 42, "kind": 41, "src": { - "line": 943, + "line": 979, "column": 4, - "start": 33692, - "end": 34084, - "length": 393, - "parent_index": 2309 + "start": 35645, + "end": 35780, + "length": 136, + "parent_index": 2430 }, "name_location": { - "line": 943, + "line": 979, "column": 13, - "start": 33701, - "end": 33705, - "length": 5, - "parent_index": 2465 + "start": 35654, + "end": 35656, + "length": 3, + "parent_index": 2454 }, "body": { - "id": 2476, + "id": 2463, "node_type": 46, "kind": 0, "src": { - "line": 947, - "column": 46, - "start": 33830, - "end": 34084, - "length": 255, - "parent_index": 2465 + "line": 979, + "column": 73, + "start": 35714, + "end": 35780, + "length": 67, + "parent_index": 2454 }, "implemented": true, "statements": [ { - "id": 2477, + "id": 2464, "node_type": 24, "kind": 24, "src": { - "line": 948, + "line": 980, "column": 8, - "start": 33840, - "end": 33900, - "length": 61, - "parent_index": 2476 + "start": 35724, + "end": 35773, + "length": 50, + "parent_index": 2463 }, "argument_types": [ { @@ -44726,65 +45617,163 @@ }, { "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" + "type_string": "literal_string \"ds-math-sub-underflow\"" } ], "arguments": [ { - "id": 2479, + "id": 2466, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 948, + "line": 980, "column": 16, - "start": 33848, - "end": 33858, - "length": 11, - "parent_index": 2477 + "start": 35732, + "end": 35747, + "length": 16, + "parent_index": 2464 }, - "operator": 7, + "operator": 10, "left_expression": { - "id": 2480, - "node_type": 16, + "id": 2467, + "node_type": 60, "src": { - "line": 948, + "line": 980, "column": 16, - "start": 33848, - "end": 33854, - "length": 7, - "parent_index": 2479 + "start": 35732, + "end": 35742, + "length": 11, + "parent_index": 2466 }, - "name": "amountA", + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 2468, + "node_type": 27, + "src": { + "line": 980, + "column": 17, + "start": 35733, + "end": 35741, + "length": 9, + "parent_index": 2467 + }, + "operator": 11, + "left_expression": { + "id": 2469, + "node_type": 16, + "src": { + "line": 980, + "column": 17, + "start": 35733, + "end": 35733, + "length": 1, + "parent_index": 2468 + }, + "name": "z", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2439, + "is_pure": false, + "text": "z" + }, + "right_expression": { + "id": 2470, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 980, + "column": 21, + "start": 35737, + "end": 35741, + "length": 5, + "parent_index": 2468 + }, + "operator": 2, + "left_expression": { + "id": 2471, + "node_type": 16, + "src": { + "line": 980, + "column": 21, + "start": 35737, + "end": 35737, + "length": 1, + "parent_index": 2470 + }, + "name": "x", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2471, + "is_pure": false, + "text": "x" + }, + "right_expression": { + "id": 2472, + "node_type": 16, + "src": { + "line": 980, + "column": 25, + "start": 35741, + "end": 35741, + "length": 1, + "parent_index": 2470 + }, + "name": "y", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2472, + "is_pure": false, + "text": "y" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2480, - "is_pure": false + "type_identifier": "t_tuple_$_t_uint256$", + "type_string": "tuple(uint256)" + } }, "right_expression": { - "id": 2481, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "id": 2473, + "node_type": 16, "src": { - "line": 948, - "column": 26, - "start": 33858, - "end": 33858, + "line": 980, + "column": 31, + "start": 35747, + "end": 35747, "length": 1, - "parent_index": 2479 + "parent_index": 2466 }, + "name": "x", "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "referenced_declaration": 2473, + "is_pure": false, + "text": "x" }, "type_description": { "type_identifier": "t_bool", @@ -44792,22 +45781,22 @@ } }, { - "id": 2482, + "id": 2474, "node_type": 17, "kind": 50, - "value": "UniswapV2Library: INSUFFICIENT_AMOUNT", - "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54", + "value": "ds-math-sub-underflow", + "hex_value": "64732d6d6174682d7375622d756e646572666c6f77", "src": { - "line": 948, - "column": 29, - "start": 33861, - "end": 33899, - "length": 39, - "parent_index": 2477 + "line": 980, + "column": 34, + "start": 35750, + "end": 35772, + "length": 23, + "parent_index": 2464 }, "type_description": { "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" + "type_string": "literal_string \"ds-math-sub-underflow\"" }, "overloaded_declarations": [], "referenced_declaration": 0, @@ -44817,242 +45806,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] - } - ], - "expression": { - "id": 2478, - "node_type": 16, - "src": { - "line": 948, - "column": 8, - "start": 33840, - "end": 33846, - "length": 7, - "parent_index": 2477 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string_literal$", - "type_string": "function(bool,string memory)" - } - }, - { - "id": 2483, - "node_type": 24, - "kind": 24, - "src": { - "line": 949, - "column": 8, - "start": 33911, - "end": 34025, - "length": 115, - "parent_index": 2476 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" - } - ], - "arguments": [ - { - "id": 2486, - "node_type": 96, - "src": { - "line": 950, - "column": 12, - "start": 33932, - "end": 33959, - "length": 28, - "parent_index": 2483 - }, - "expressions": [ - { - "id": 2487, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 950, - "column": 12, - "start": 33932, - "end": 33943, - "length": 12, - "parent_index": 2486 - }, - "operator": 7, - "left_expression": { - "id": 2488, - "node_type": 16, - "src": { - "line": 950, - "column": 12, - "start": 33932, - "end": 33939, - "length": 8, - "parent_index": 2487 - }, - "name": "reserveA", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2488, - "is_pure": false - }, - "right_expression": { - "id": 2489, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 950, - "column": 23, - "start": 33943, - "end": 33943, - "length": 1, - "parent_index": 2487 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 2490, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 950, - "column": 28, - "start": 33948, - "end": 33959, - "length": 12, - "parent_index": 2486 - }, - "operator": 7, - "left_expression": { - "id": 2491, - "node_type": 16, - "src": { - "line": 950, - "column": 28, - "start": 33948, - "end": 33955, - "length": 8, - "parent_index": 2490 - }, - "name": "reserveB", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2491, - "is_pure": false - }, - "right_expression": { - "id": 2492, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 950, - "column": 39, - "start": 33959, - "end": 33959, - "length": 1, - "parent_index": 2490 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } ], - "type_descriptions": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - { - "id": 2493, - "node_type": 17, - "kind": 50, - "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY", - "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "src": { - "line": 951, - "column": 12, - "start": 33974, - "end": 34015, - "length": 42, - "parent_index": 2483 - }, - "type_description": { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] + "text": "\"ds-math-sub-underflow\"" } ], "expression": { - "id": 2484, + "id": 2465, "node_type": 16, "src": { - "line": 949, + "line": 980, "column": 8, - "start": 33911, - "end": 33917, + "start": 35724, + "end": 35730, "length": 7, - "parent_index": 2483 + "parent_index": 2464 }, "name": "require", "type_description": { @@ -45061,199 +45828,13 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", "type_string": "function(bool,string memory)" } - }, - { - "id": 2494, - "node_type": 27, - "src": { - "line": 953, - "column": 8, - "start": 34036, - "end": 34078, - "length": 43, - "parent_index": 2476 - }, - "expression": { - "id": 2495, - "node_type": 27, - "src": { - "line": 953, - "column": 8, - "start": 34036, - "end": 34077, - "length": 42, - "parent_index": 2494 - }, - "operator": 11, - "left_expression": { - "id": 2496, - "node_type": 16, - "src": { - "line": 953, - "column": 8, - "start": 34036, - "end": 34042, - "length": 7, - "parent_index": 2495 - }, - "name": "amountB", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2474, - "is_pure": false - }, - "right_expression": { - "id": 2497, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 953, - "column": 18, - "start": 34046, - "end": 34077, - "length": 32, - "parent_index": 2495 - }, - "operator": 4, - "left_expression": { - "id": 2498, - "node_type": 24, - "kind": 24, - "src": { - "line": 953, - "column": 18, - "start": 34046, - "end": 34066, - "length": 21, - "parent_index": 2497 - }, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "arguments": [ - { - "id": 2501, - "node_type": 16, - "src": { - "line": 953, - "column": 30, - "start": 34058, - "end": 34065, - "length": 8, - "parent_index": 2498 - }, - "name": "reserveB", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2501, - "is_pure": false - } - ], - "expression": { - "id": 2499, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 953, - "column": 18, - "start": 34046, - "end": 34056, - "length": 11, - "parent_index": 2498 - }, - "member_location": { - "line": 953, - "column": 26, - "start": 34054, - "end": 34056, - "length": 3, - "parent_index": 2499 - }, - "expression": { - "id": 2500, - "node_type": 16, - "src": { - "line": 953, - "column": 18, - "start": 34046, - "end": 34052, - "length": 7, - "parent_index": 2499 - }, - "name": "amountA", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2500, - "is_pure": false - }, - "member_name": "mul", - "argument_types": [], - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - }, - "right_expression": { - "id": 2502, - "node_type": 16, - "src": { - "line": 953, - "column": 42, - "start": 34070, - "end": 34077, - "length": 8, - "parent_index": 2497 - }, - "name": "reserveA", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2502, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } } ] }, @@ -45264,79 +45845,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2466, + "id": 2455, "node_type": 43, "src": { - "line": 944, - "column": 8, - "start": 33716, - "end": 33782, - "length": 67, - "parent_index": 2465 + "line": 979, + "column": 17, + "start": 35658, + "end": 35677, + "length": 20, + "parent_index": 2454 }, "parameters": [ { - "id": 2467, - "node_type": 44, - "src": { - "line": 944, - "column": 8, - "start": 33716, - "end": 33730, - "length": 15, - "parent_index": 2466 - }, - "scope": 2465, - "name": "amountA", - "type_name": { - "id": 2468, - "node_type": 30, - "src": { - "line": 944, - "column": 8, - "start": 33716, - "end": 33722, - "length": 7, - "parent_index": 2467 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 2469, + "id": 2456, "node_type": 44, "src": { - "line": 945, - "column": 8, - "start": 33741, - "end": 33756, - "length": 16, - "parent_index": 2466 + "line": 979, + "column": 17, + "start": 35658, + "end": 35666, + "length": 9, + "parent_index": 2455 }, - "scope": 2465, - "name": "reserveA", + "scope": 2454, + "name": "x", "type_name": { - "id": 2470, + "id": 2457, "node_type": 30, "src": { - "line": 945, - "column": 8, - "start": 33741, - "end": 33747, + "line": 979, + "column": 17, + "start": 35658, + "end": 35664, "length": 7, - "parent_index": 2469 + "parent_index": 2456 }, "name": "uint256", "referenced_declaration": 0, @@ -45354,28 +45896,28 @@ } }, { - "id": 2471, + "id": 2458, "node_type": 44, "src": { - "line": 946, - "column": 8, - "start": 33767, - "end": 33782, - "length": 16, - "parent_index": 2466 + "line": 979, + "column": 28, + "start": 35669, + "end": 35677, + "length": 9, + "parent_index": 2455 }, - "scope": 2465, - "name": "reserveB", + "scope": 2454, + "name": "y", "type_name": { - "id": 2472, + "id": 2459, "node_type": 30, "src": { - "line": 946, - "column": 8, - "start": 33767, - "end": 33773, + "line": 979, + "column": 28, + "start": 35669, + "end": 35675, "length": 7, - "parent_index": 2471 + "parent_index": 2458 }, "name": "uint256", "referenced_declaration": 0, @@ -45398,10 +45940,6 @@ "type_identifier": "t_uint256", "type_string": "uint256" }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, { "type_identifier": "t_uint256", "type_string": "uint256" @@ -45409,40 +45947,40 @@ ] }, "return_parameters": { - "id": 2473, + "id": 2460, "node_type": 43, "src": { - "line": 947, - "column": 29, - "start": 33813, - "end": 33827, - "length": 15, - "parent_index": 2465 + "line": 979, + "column": 62, + "start": 35703, + "end": 35711, + "length": 9, + "parent_index": 2454 }, "parameters": [ { - "id": 2474, + "id": 2461, "node_type": 44, "src": { - "line": 947, - "column": 29, - "start": 33813, - "end": 33827, - "length": 15, - "parent_index": 2473 + "line": 979, + "column": 62, + "start": 35703, + "end": 35711, + "length": 9, + "parent_index": 2460 }, - "scope": 2465, - "name": "amountB", + "scope": 2454, + "name": "z", "type_name": { - "id": 2475, + "id": 2462, "node_type": 30, "src": { - "line": 947, - "column": 29, - "start": 33813, - "end": 33819, + "line": 979, + "column": 62, + "start": 35703, + "end": 35709, "length": 7, - "parent_index": 2474 + "parent_index": 2461 }, "name": "uint256", "referenced_declaration": 0, @@ -45467,60 +46005,61 @@ } ] }, - "signature_raw": "quote(uint256, uint256, uint256)", - "signature": "1f7722dd", - "scope": 2309, + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", + "scope": 2430, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functionsub(uint256x,uint256y)internalpurereturns(uint256z){require((z=x-y)\u003c=x,\"ds-math-sub-underflow\");}" }, { - "id": 2504, - "name": "getAmountOut", + "id": 2476, + "name": "mul", "node_type": 42, "kind": 41, "src": { - "line": 957, + "line": 983, "column": 4, - "start": 34204, - "end": 34798, - "length": 595, - "parent_index": 2309 + "start": 35787, + "end": 35935, + "length": 149, + "parent_index": 2430 }, "name_location": { - "line": 957, + "line": 983, "column": 13, - "start": 34213, - "end": 34224, - "length": 12, - "parent_index": 2504 + "start": 35796, + "end": 35798, + "length": 3, + "parent_index": 2476 }, "body": { - "id": 2515, + "id": 2485, "node_type": 46, "kind": 0, "src": { - "line": 961, - "column": 48, - "start": 34355, - "end": 34798, - "length": 444, - "parent_index": 2504 + "line": 983, + "column": 73, + "start": 35856, + "end": 35935, + "length": 80, + "parent_index": 2476 }, "implemented": true, "statements": [ { - "id": 2516, + "id": 2486, "node_type": 24, "kind": 24, "src": { - "line": 962, + "line": 984, "column": 8, - "start": 34365, - "end": 34432, - "length": 68, - "parent_index": 2515 + "start": 35866, + "end": 35928, + "length": 63, + "parent_index": 2485 }, "argument_types": [ { @@ -45529,311 +46068,308 @@ }, { "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" + "type_string": "literal_string \"ds-math-mul-overflow\"" } ], "arguments": [ { - "id": 2518, + "id": 2488, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 962, + "line": 984, "column": 16, - "start": 34373, - "end": 34384, - "length": 12, - "parent_index": 2516 + "start": 35874, + "end": 35903, + "length": 30, + "parent_index": 2486 }, - "operator": 7, + "operator": 33, "left_expression": { - "id": 2519, - "node_type": 16, + "id": 2489, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 962, + "line": 984, "column": 16, - "start": 34373, - "end": 34380, - "length": 8, - "parent_index": 2518 + "start": 35874, + "end": 35879, + "length": 6, + "parent_index": 2488 }, - "name": "amountIn", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "operator": 11, + "left_expression": { + "id": 2490, + "node_type": 16, + "src": { + "line": 984, + "column": 16, + "start": 35874, + "end": 35874, + "length": 1, + "parent_index": 2489 + }, + "name": "y", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2490, + "is_pure": false, + "text": "y" }, - "overloaded_declarations": [], - "referenced_declaration": 2519, - "is_pure": false - }, - "right_expression": { - "id": 2520, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 962, - "column": 27, - "start": 34384, - "end": 34384, - "length": 1, - "parent_index": 2518 + "right_expression": { + "id": 2491, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 984, + "column": 21, + "start": 35879, + "end": 35879, + "length": 1, + "parent_index": 2489 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 2521, - "node_type": 17, - "kind": 50, - "value": "UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT", - "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54", - "src": { - "line": 962, - "column": 30, - "start": 34387, - "end": 34431, - "length": 45, - "parent_index": 2516 - }, - "type_description": { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { "type_identifier": "t_bool", "type_string": "bool" } - ] - } - ], - "expression": { - "id": 2517, - "node_type": 16, - "src": { - "line": 962, - "column": 8, - "start": 34365, - "end": 34371, - "length": 7, - "parent_index": 2516 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string_literal$", - "type_string": "function(bool,string memory)" - } - }, - { - "id": 2522, - "node_type": 24, - "kind": 24, - "src": { - "line": 963, - "column": 8, - "start": 34443, - "end": 34560, - "length": 118, - "parent_index": 2515 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" - } - ], - "arguments": [ - { - "id": 2525, - "node_type": 96, - "src": { - "line": 964, - "column": 12, - "start": 34464, - "end": 34494, - "length": 31, - "parent_index": 2522 }, - "expressions": [ - { - "id": 2526, + "right_expression": { + "id": 2492, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 984, + "column": 26, + "start": 35884, + "end": 35903, + "length": 20, + "parent_index": 2488 + }, + "operator": 11, + "left_expression": { + "id": 2493, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 964, - "column": 12, - "start": 34464, - "end": 34476, - "length": 13, - "parent_index": 2525 + "line": 984, + "column": 26, + "start": 35884, + "end": 35898, + "length": 15, + "parent_index": 2492 }, - "operator": 7, + "operator": 4, "left_expression": { - "id": 2527, - "node_type": 16, + "id": 2494, + "node_type": 60, "src": { - "line": 964, - "column": 12, - "start": 34464, - "end": 34472, - "length": 9, - "parent_index": 2526 + "line": 984, + "column": 26, + "start": 35884, + "end": 35894, + "length": 11, + "parent_index": 2493 }, - "name": "reserveIn", + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 2495, + "node_type": 27, + "src": { + "line": 984, + "column": 27, + "start": 35885, + "end": 35893, + "length": 9, + "parent_index": 2494 + }, + "operator": 11, + "left_expression": { + "id": 2496, + "node_type": 16, + "src": { + "line": 984, + "column": 27, + "start": 35885, + "end": 35885, + "length": 1, + "parent_index": 2495 + }, + "name": "z", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2439, + "is_pure": false, + "text": "z" + }, + "right_expression": { + "id": 2497, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 984, + "column": 31, + "start": 35889, + "end": 35893, + "length": 5, + "parent_index": 2495 + }, + "operator": 3, + "left_expression": { + "id": 2498, + "node_type": 16, + "src": { + "line": 984, + "column": 31, + "start": 35889, + "end": 35889, + "length": 1, + "parent_index": 2497 + }, + "name": "x", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2498, + "is_pure": false, + "text": "x" + }, + "right_expression": { + "id": 2499, + "node_type": 16, + "src": { + "line": 984, + "column": 35, + "start": 35893, + "end": 35893, + "length": 1, + "parent_index": 2497 + }, + "name": "y", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2499, + "is_pure": false, + "text": "y" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2527, - "is_pure": false + "type_identifier": "t_tuple_$_t_uint256$", + "type_string": "tuple(uint256)" + } }, "right_expression": { - "id": 2528, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "id": 2500, + "node_type": 16, "src": { - "line": 964, - "column": 24, - "start": 34476, - "end": 34476, + "line": 984, + "column": 40, + "start": 35898, + "end": 35898, "length": 1, - "parent_index": 2526 + "parent_index": 2493 }, + "name": "y", "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "referenced_declaration": 2500, + "is_pure": false, + "text": "y" }, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_tuple_$_t_uint256$", + "type_string": "tuple(uint256)" } }, - { - "id": 2529, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "right_expression": { + "id": 2501, + "node_type": 16, "src": { - "line": 964, - "column": 29, - "start": 34481, - "end": 34494, - "length": 14, - "parent_index": 2525 - }, - "operator": 7, - "left_expression": { - "id": 2530, - "node_type": 16, - "src": { - "line": 964, - "column": 29, - "start": 34481, - "end": 34490, - "length": 10, - "parent_index": 2529 - }, - "name": "reserveOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2530, - "is_pure": false - }, - "right_expression": { - "id": 2531, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 964, - "column": 42, - "start": 34494, - "end": 34494, - "length": 1, - "parent_index": 2529 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "line": 984, + "column": 45, + "start": 35903, + "end": 35903, + "length": 1, + "parent_index": 2492 }, + "name": "x", "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "type_descriptions": [ - { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2501, + "is_pure": false, + "text": "x" }, - { + "type_description": { "type_identifier": "t_bool", "type_string": "bool" } - ] + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } }, { - "id": 2532, + "id": 2502, "node_type": 17, "kind": 50, - "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY", - "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", + "value": "ds-math-mul-overflow", + "hex_value": "64732d6d6174682d6d756c2d6f766572666c6f77", "src": { - "line": 965, - "column": 12, - "start": 34509, - "end": 34550, - "length": 42, - "parent_index": 2522 + "line": 984, + "column": 48, + "start": 35906, + "end": 35927, + "length": 22, + "parent_index": 2486 }, "type_description": { "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + "type_string": "literal_string \"ds-math-mul-overflow\"" }, "overloaded_declarations": [], "referenced_declaration": 0, @@ -45843,19 +46379,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ds-math-mul-overflow\"" } ], "expression": { - "id": 2523, + "id": 2487, "node_type": 16, "src": { - "line": 963, + "line": 984, "column": 8, - "start": 34443, - "end": 34449, + "start": 35866, + "end": 35872, "length": 7, - "parent_index": 2522 + "parent_index": 2486 }, "name": "require", "type_description": { @@ -45864,818 +46401,117 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", "type_string": "function(bool,string memory)" } - }, + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2477, + "node_type": 43, + "src": { + "line": 983, + "column": 17, + "start": 35800, + "end": 35819, + "length": 20, + "parent_index": 2476 + }, + "parameters": [ { - "id": 2533, + "id": 2478, "node_type": 44, "src": { - "line": 967, - "column": 8, - "start": 34571, - "end": 34614, - "length": 44, - "parent_index": 2515 + "line": 983, + "column": 17, + "start": 35800, + "end": 35808, + "length": 9, + "parent_index": 2477 }, - "assignments": [ - 2534 - ], - "declarations": [ - { - "id": 2534, - "state_mutability": 1, - "name": "amountInWithFee", - "node_type": 44, - "scope": 2515, - "src": { - "line": 967, - "column": 8, - "start": 34571, - "end": 34593, - "length": 23, - "parent_index": 2533 - }, - "name_location": { - "line": 967, - "column": 16, - "start": 34579, - "end": 34593, - "length": 15, - "parent_index": 2534 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2535, - "node_type": 30, - "src": { - "line": 967, - "column": 8, - "start": 34571, - "end": 34577, - "length": 7, - "parent_index": 2534 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2536, - "node_type": 24, - "kind": 24, + "scope": 2476, + "name": "x", + "type_name": { + "id": 2479, + "node_type": 30, "src": { - "line": 967, - "column": 34, - "start": 34597, - "end": 34613, - "length": 17, - "parent_index": 2533 - }, - "argument_types": [ - { - "type_identifier": "t_rational_997_by_1", - "type_string": "int_const 997" - } - ], - "arguments": [ - { - "id": 2539, - "node_type": 17, - "kind": 49, - "value": "997", - "hex_value": "393937", - "src": { - "line": 967, - "column": 47, - "start": 34610, - "end": 34612, - "length": 3, - "parent_index": 2536 - }, - "type_description": { - "type_identifier": "t_rational_997_by_1", - "type_string": "int_const 997" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 2537, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 967, - "column": 34, - "start": 34597, - "end": 34608, - "length": 12, - "parent_index": 2536 - }, - "member_location": { - "line": 967, - "column": 43, - "start": 34606, - "end": 34608, - "length": 3, - "parent_index": 2537 - }, - "expression": { - "id": 2538, - "node_type": 16, - "src": { - "line": 967, - "column": 34, - "start": 34597, - "end": 34604, - "length": 8, - "parent_index": 2537 - }, - "name": "amountIn", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2538, - "is_pure": false - }, - "member_name": "mul", - "argument_types": [], - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 983, + "column": 17, + "start": 35800, + "end": 35806, + "length": 7, + "parent_index": 2478 }, + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$_t_rational_997_by_1$", - "type_string": "function(int_const 997)" + "type_identifier": "t_uint256", + "type_string": "uint256" } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 2540, + "id": 2480, "node_type": 44, "src": { - "line": 968, - "column": 8, - "start": 34624, - "end": 34675, - "length": 52, - "parent_index": 2515 + "line": 983, + "column": 28, + "start": 35811, + "end": 35819, + "length": 9, + "parent_index": 2477 }, - "assignments": [ - 2541 - ], - "declarations": [ - { - "id": 2541, - "state_mutability": 1, - "name": "numerator", - "node_type": 44, - "scope": 2515, - "src": { - "line": 968, - "column": 8, - "start": 34624, - "end": 34640, - "length": 17, - "parent_index": 2540 - }, - "name_location": { - "line": 968, - "column": 16, - "start": 34632, - "end": 34640, - "length": 9, - "parent_index": 2541 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2542, - "node_type": 30, - "src": { - "line": 968, - "column": 8, - "start": 34624, - "end": 34630, - "length": 7, - "parent_index": 2541 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2543, - "node_type": 24, - "kind": 24, + "scope": 2476, + "name": "y", + "type_name": { + "id": 2481, + "node_type": 30, "src": { - "line": 968, + "line": 983, "column": 28, - "start": 34644, - "end": 34674, - "length": 31, - "parent_index": 2540 - }, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "arguments": [ - { - "id": 2546, - "node_type": 16, - "src": { - "line": 968, - "column": 48, - "start": 34664, - "end": 34673, - "length": 10, - "parent_index": 2543 - }, - "name": "reserveOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2546, - "is_pure": false - } - ], - "expression": { - "id": 2544, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 968, - "column": 28, - "start": 34644, - "end": 34662, - "length": 19, - "parent_index": 2543 - }, - "member_location": { - "line": 968, - "column": 44, - "start": 34660, - "end": 34662, - "length": 3, - "parent_index": 2544 - }, - "expression": { - "id": 2545, - "node_type": 16, - "src": { - "line": 968, - "column": 28, - "start": 34644, - "end": 34658, - "length": 15, - "parent_index": 2544 - }, - "name": "amountInWithFee", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2533, - "is_pure": false - }, - "member_name": "mul", - "argument_types": [], - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "start": 35811, + "end": 35817, + "length": 7, + "parent_index": 2480 }, + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" + "type_identifier": "t_uint256", + "type_string": "uint256" } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - }, - { - "id": 2547, - "node_type": 44, - "src": { - "line": 969, - "column": 8, - "start": 34685, - "end": 34747, - "length": 63, - "parent_index": 2515 - }, - "assignments": [ - 2548 - ], - "declarations": [ - { - "id": 2548, - "state_mutability": 1, - "name": "denominator", - "node_type": 44, - "scope": 2515, - "src": { - "line": 969, - "column": 8, - "start": 34685, - "end": 34703, - "length": 19, - "parent_index": 2547 - }, - "name_location": { - "line": 969, - "column": 16, - "start": 34693, - "end": 34703, - "length": 11, - "parent_index": 2548 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2549, - "node_type": 30, - "src": { - "line": 969, - "column": 8, - "start": 34685, - "end": 34691, - "length": 7, - "parent_index": 2548 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2550, - "node_type": 24, - "kind": 24, - "src": { - "line": 969, - "column": 30, - "start": 34707, - "end": 34746, - "length": 40, - "parent_index": 2547 - }, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "arguments": [ - { - "id": 2556, - "node_type": 16, - "src": { - "line": 969, - "column": 54, - "start": 34731, - "end": 34745, - "length": 15, - "parent_index": 2550 - }, - "name": "amountInWithFee", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2533, - "is_pure": false - } - ], - "expression": { - "id": 2551, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 969, - "column": 30, - "start": 34707, - "end": 34729, - "length": 23, - "parent_index": 2550 - }, - "member_location": { - "line": 969, - "column": 50, - "start": 34727, - "end": 34729, - "length": 3, - "parent_index": 2551 - }, - "expression": { - "id": 2552, - "node_type": 24, - "kind": 24, - "src": { - "line": 969, - "column": 30, - "start": 34707, - "end": 34725, - "length": 19, - "parent_index": 2551 - }, - "argument_types": [ - { - "type_identifier": "t_rational_1000_by_1", - "type_string": "int_const 1000" - } - ], - "arguments": [ - { - "id": 2555, - "node_type": 17, - "kind": 49, - "value": "1000", - "hex_value": "31303030", - "src": { - "line": 969, - "column": 44, - "start": 34721, - "end": 34724, - "length": 4, - "parent_index": 2552 - }, - "type_description": { - "type_identifier": "t_rational_1000_by_1", - "type_string": "int_const 1000" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 2553, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 969, - "column": 30, - "start": 34707, - "end": 34719, - "length": 13, - "parent_index": 2552 - }, - "member_location": { - "line": 969, - "column": 40, - "start": 34717, - "end": 34719, - "length": 3, - "parent_index": 2553 - }, - "expression": { - "id": 2554, - "node_type": 16, - "src": { - "line": 969, - "column": 30, - "start": 34707, - "end": 34715, - "length": 9, - "parent_index": 2553 - }, - "name": "reserveIn", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2554, - "is_pure": false - }, - "member_name": "mul", - "argument_types": [], - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_rational_1000_by_1$", - "type_string": "function(int_const 1000)" - } - }, - "member_name": "add", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_rational_1000_by_1$", - "type_string": "function(int_const 1000)" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - } - }, - { - "id": 2557, - "node_type": 27, - "src": { - "line": 970, - "column": 8, - "start": 34757, - "end": 34792, - "length": 36, - "parent_index": 2515 - }, - "expression": { - "id": 2558, - "node_type": 27, - "src": { - "line": 970, - "column": 8, - "start": 34757, - "end": 34791, - "length": 35, - "parent_index": 2557 - }, - "operator": 11, - "left_expression": { - "id": 2559, - "node_type": 16, - "src": { - "line": 970, - "column": 8, - "start": 34757, - "end": 34765, - "length": 9, - "parent_index": 2558 - }, - "name": "amountOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 646, - "is_pure": false - }, - "right_expression": { - "id": 2560, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 970, - "column": 20, - "start": 34769, - "end": 34791, - "length": 23, - "parent_index": 2558 - }, - "operator": 4, - "left_expression": { - "id": 2561, - "node_type": 16, - "src": { - "line": 970, - "column": 20, - "start": 34769, - "end": 34777, - "length": 9, - "parent_index": 2560 - }, - "name": "numerator", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2540, - "is_pure": false - }, - "right_expression": { - "id": 2562, - "node_type": 16, - "src": { - "line": 970, - "column": 32, - "start": 34781, - "end": 34791, - "length": 11, - "parent_index": 2560 - }, - "name": "denominator", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2547, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2505, - "node_type": 43, - "src": { - "line": 958, - "column": 8, - "start": 34235, - "end": 34305, - "length": 71, - "parent_index": 2504 - }, - "parameters": [ - { - "id": 2506, - "node_type": 44, - "src": { - "line": 958, - "column": 8, - "start": 34235, - "end": 34250, - "length": 16, - "parent_index": 2505 - }, - "scope": 2504, - "name": "amountIn", - "type_name": { - "id": 2507, - "node_type": 30, - "src": { - "line": 958, - "column": 8, - "start": 34235, - "end": 34241, - "length": 7, - "parent_index": 2506 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 2508, - "node_type": 44, - "src": { - "line": 959, - "column": 8, - "start": 34261, - "end": 34277, - "length": 17, - "parent_index": 2505 - }, - "scope": 2504, - "name": "reserveIn", - "type_name": { - "id": 2509, - "node_type": 30, - "src": { - "line": 959, - "column": 8, - "start": 34261, - "end": 34267, - "length": 7, - "parent_index": 2508 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 2510, - "node_type": 44, - "src": { - "line": 960, - "column": 8, - "start": 34288, - "end": 34305, - "length": 18, - "parent_index": 2505 - }, - "scope": 2504, - "name": "reserveOut", - "type_name": { - "id": 2511, - "node_type": 30, - "src": { - "line": 960, - "column": 8, - "start": 34288, - "end": 34294, - "length": 7, - "parent_index": 2510 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, { "type_identifier": "t_uint256", @@ -46684,40 +46520,40 @@ ] }, "return_parameters": { - "id": 2512, + "id": 2482, "node_type": 43, "src": { - "line": 961, - "column": 29, - "start": 34336, - "end": 34352, - "length": 17, - "parent_index": 2504 + "line": 983, + "column": 62, + "start": 35845, + "end": 35853, + "length": 9, + "parent_index": 2476 }, "parameters": [ { - "id": 2513, + "id": 2483, "node_type": 44, "src": { - "line": 961, - "column": 29, - "start": 34336, - "end": 34352, - "length": 17, - "parent_index": 2512 + "line": 983, + "column": 62, + "start": 35845, + "end": 35853, + "length": 9, + "parent_index": 2482 }, - "scope": 2504, - "name": "amountOut", + "scope": 2476, + "name": "z", "type_name": { - "id": 2514, + "id": 2484, "node_type": 30, "src": { - "line": 961, - "column": 29, - "start": 34336, - "end": 34342, + "line": 983, + "column": 62, + "start": 35845, + "end": 35851, "length": 7, - "parent_index": 2513 + "parent_index": 2483 }, "name": "uint256", "referenced_declaration": 0, @@ -46742,60 +46578,237 @@ } ] }, - "signature_raw": "getAmountOut(uint256, uint256, uint256)", - "signature": "6cae4d22", - "scope": 2309, + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", + "scope": 2430, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256,uint256)" + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functionmul(uint256x,uint256y)internalpurereturns(uint256z){require(y==0||(z=x*y)/y==x,\"ds-math-mul-overflow\");}" + } + ], + "linearized_base_contracts": [ + 2430 + ], + "base_contracts": [], + "contract_dependencies": [] + } + ], + "src": { + "line": 974, + "column": 0, + "start": 35474, + "end": 35937, + "length": 464, + "parent_index": 272 + } + }, + { + "id": 2503, + "base_contracts": [], + "license": "GPL-3.0", + "exported_symbols": [ + { + "id": 2503, + "name": "UniswapV2Library", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/UniswapV2Library.sol" + }, + { + "id": 2401, + "name": "IUniswapV2Pair", + "absolute_path": "IUniswapV2Pair.sol" + }, + { + "id": 2401, + "name": "SafeMath", + "absolute_path": "SafeMath.sol" + } + ], + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/UniswapV2Library.sol", + "name": "UniswapV2Library", + "node_type": 1, + "nodes": [ + { + "id": 2518, + "node_type": 10, + "src": { + "line": 990, + "column": 0, + "start": 35977, + "end": 36000, + "length": 24, + "parent_index": 2503 + }, + "literals": [ + "pragma", + "solidity", + "\u003e=", + "0", + ".", + "5", + ".", + "0", + ";" + ], + "text": "pragma solidity \u003e=0.5.0;" + }, + { + "id": 2533, + "node_type": 29, + "src": { + "line": 992, + "column": 0, + "start": 36003, + "end": 36032, + "length": 30, + "parent_index": 2503 + }, + "absolute_path": "IUniswapV2Pair.sol", + "file": "./IUniswapV2Pair.sol", + "scope": 2503, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 2401 + }, + { + "id": 2534, + "node_type": 29, + "src": { + "line": 994, + "column": 0, + "start": 36035, + "end": 36058, + "length": 24, + "parent_index": 2503 + }, + "absolute_path": "SafeMath.sol", + "file": "./SafeMath.sol", + "scope": 2503, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 2401 + }, + { + "id": 2535, + "name": "UniswapV2Library", + "node_type": 35, + "src": { + "line": 996, + "column": 0, + "start": 36061, + "end": 41383, + "length": 5323, + "parent_index": 2503 + }, + "name_location": { + "line": 996, + "column": 8, + "start": 36069, + "end": 36084, + "length": 16, + "parent_index": 2535 + }, + "abstract": false, + "kind": 37, + "fully_implemented": true, + "nodes": [ + { + "id": 2537, + "node_type": 51, + "src": { + "line": 997, + "column": 0, + "start": 36092, + "end": 36125, + "length": 34, + "parent_index": 2535 + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "type_name": { + "id": 2539, + "node_type": 30, + "src": { + "line": 997, + "column": 30, + "start": 36118, + "end": 36124, + "length": 7, + "parent_index": 2537 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "library_name": { + "id": 2538, + "node_type": 52, + "src": { + "line": 997, + "column": 0, + "start": 36098, + "end": 36112, + "length": 15, + "parent_index": 2537 + }, + "name": "SafeMathUniswap", + "referenced_declaration": 2401 } }, { - "id": 2564, - "name": "getAmountIn", + "id": 2541, + "name": "sortTokens", "node_type": 42, "kind": 41, "src": { - "line": 974, + "line": 1000, "column": 4, - "start": 34917, - "end": 35464, - "length": 548, - "parent_index": 2309 + "start": 36232, + "end": 36628, + "length": 397, + "parent_index": 2535 }, "name_location": { - "line": 974, + "line": 1000, "column": 13, - "start": 34926, - "end": 34936, - "length": 11, - "parent_index": 2564 + "start": 36241, + "end": 36250, + "length": 10, + "parent_index": 2541 }, "body": { - "id": 2575, + "id": 2552, "node_type": 46, "kind": 0, "src": { - "line": 978, - "column": 47, - "start": 35067, - "end": 35464, - "length": 398, - "parent_index": 2564 + "line": 1004, + "column": 4, + "start": 36367, + "end": 36628, + "length": 262, + "parent_index": 2541 }, "implemented": true, "statements": [ { - "id": 2576, + "id": 2553, "node_type": 24, "kind": 24, "src": { - "line": 979, + "line": 1005, "column": 8, - "start": 35077, - "end": 35146, - "length": 70, - "parent_index": 2575 + "start": 36377, + "end": 36442, + "length": 66, + "parent_index": 2552 }, "argument_types": [ { @@ -46804,65 +46817,65 @@ }, { "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" + "type_string": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" } ], "arguments": [ { - "id": 2578, + "id": 2555, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 979, + "line": 1005, "column": 16, - "start": 35085, - "end": 35097, - "length": 13, - "parent_index": 2576 + "start": 36385, + "end": 36400, + "length": 16, + "parent_index": 2553 }, - "operator": 7, + "operator": 12, "left_expression": { - "id": 2579, + "id": 2556, "node_type": 16, "src": { - "line": 979, + "line": 1005, "column": 16, - "start": 35085, - "end": 35093, - "length": 9, - "parent_index": 2578 + "start": 36385, + "end": 36390, + "length": 6, + "parent_index": 2555 }, - "name": "amountOut", + "name": "tokenA", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2579, - "is_pure": false + "referenced_declaration": 2556, + "is_pure": false, + "text": "tokenA" }, "right_expression": { - "id": 2580, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "id": 2557, + "node_type": 16, "src": { - "line": 979, - "column": 28, - "start": 35097, - "end": 35097, - "length": 1, - "parent_index": 2578 + "line": 1005, + "column": 26, + "start": 36395, + "end": 36400, + "length": 6, + "parent_index": 2555 }, + "name": "tokenB", "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "referenced_declaration": 2557, + "is_pure": false, + "text": "tokenB" }, "type_description": { "type_identifier": "t_bool", @@ -46870,22 +46883,22 @@ } }, { - "id": 2581, + "id": 2558, "node_type": 17, "kind": 50, - "value": "UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT", - "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54", + "value": "UniswapV2Library: IDENTICAL_ADDRESSES", + "hex_value": "556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553", "src": { - "line": 979, - "column": 31, - "start": 35100, - "end": 35145, - "length": 46, - "parent_index": 2576 + "line": 1005, + "column": 34, + "start": 36403, + "end": 36441, + "length": 39, + "parent_index": 2553 }, "type_description": { "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" + "type_string": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" }, "overloaded_declarations": [], "referenced_declaration": 0, @@ -46895,19 +46908,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: IDENTICAL_ADDRESSES\"" } ], "expression": { - "id": 2577, + "id": 2554, "node_type": 16, "src": { - "line": 979, + "line": 1005, "column": 8, - "start": 35077, - "end": 35083, + "start": 36377, + "end": 36383, "length": 7, - "parent_index": 2576 + "parent_index": 2553 }, "name": "require", "type_description": { @@ -46916,7 +46930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -46924,95 +46939,157 @@ } }, { - "id": 2582, - "node_type": 24, - "kind": 24, + "id": 2559, + "node_type": 27, "src": { - "line": 980, + "line": 1006, "column": 8, - "start": 35157, - "end": 35274, - "length": 118, - "parent_index": 2575 + "start": 36453, + "end": 36549, + "length": 97, + "parent_index": 2552 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" + "expression": { + "id": 2560, + "node_type": 27, + "src": { + "line": 1006, + "column": 8, + "start": 36453, + "end": 36548, + "length": 96, + "parent_index": 2559 }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" - } - ], - "arguments": [ - { - "id": 2585, - "node_type": 96, + "operator": 11, + "left_expression": { + "id": 2561, + "node_type": 60, "src": { - "line": 981, - "column": 12, - "start": 35178, - "end": 35208, - "length": 31, - "parent_index": 2582 + "line": 1006, + "column": 8, + "start": 36453, + "end": 36468, + "length": 16, + "parent_index": 2560 + }, + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 2562, + "node_type": 16, + "src": { + "line": 1006, + "column": 9, + "start": 36454, + "end": 36459, + "length": 6, + "parent_index": 2561 + }, + "name": "token0", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2548, + "is_pure": false, + "text": "token0" + }, + { + "id": 2563, + "node_type": 16, + "src": { + "line": 1006, + "column": 17, + "start": 36462, + "end": 36467, + "length": 6, + "parent_index": 2561 + }, + "name": "token1", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2550, + "is_pure": false, + "text": "token1" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_address_$_t_address$", + "type_string": "tuple(address,address)" + } + }, + "right_expression": { + "id": 2565, + "node_type": 97, + "src": { + "line": 1006, + "column": 27, + "start": 36472, + "end": 36548, + "length": 77, + "parent_index": 2560 }, "expressions": [ { - "id": 2586, + "id": 2566, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 981, - "column": 12, - "start": 35178, - "end": 35190, - "length": 13, - "parent_index": 2585 + "line": 1006, + "column": 27, + "start": 36472, + "end": 36486, + "length": 15, + "parent_index": 2565 }, - "operator": 7, + "operator": 9, "left_expression": { - "id": 2587, + "id": 2567, "node_type": 16, "src": { - "line": 981, - "column": 12, - "start": 35178, - "end": 35186, - "length": 9, - "parent_index": 2586 + "line": 1006, + "column": 27, + "start": 36472, + "end": 36477, + "length": 6, + "parent_index": 2566 }, - "name": "reserveIn", + "name": "tokenA", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2587, - "is_pure": false + "referenced_declaration": 2567, + "is_pure": false, + "text": "tokenA" }, "right_expression": { - "id": 2588, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "id": 2568, + "node_type": 16, "src": { - "line": 981, - "column": 24, - "start": 35190, - "end": 35190, - "length": 1, - "parent_index": 2586 + "line": 1006, + "column": 36, + "start": 36481, + "end": 36486, + "length": 6, + "parent_index": 2566 }, + "name": "tokenB", "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "referenced_declaration": 2568, + "is_pure": false, + "text": "tokenB" }, "type_description": { "type_identifier": "t_bool", @@ -47020,52 +47097,247 @@ } }, { - "id": 2589, + "id": 2569, + "node_type": 60, + "src": { + "line": 1007, + "column": 14, + "start": 36502, + "end": 36517, + "length": 16, + "parent_index": 2565 + }, "is_constant": false, "is_pure": false, - "node_type": 19, + "components": [ + { + "id": 2570, + "node_type": 16, + "src": { + "line": 1007, + "column": 15, + "start": 36503, + "end": 36508, + "length": 6, + "parent_index": 2569 + }, + "name": "tokenA", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2570, + "is_pure": false, + "text": "tokenA" + }, + { + "id": 2571, + "node_type": 16, + "src": { + "line": 1007, + "column": 23, + "start": 36511, + "end": 36516, + "length": 6, + "parent_index": 2569 + }, + "name": "tokenB", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2571, + "is_pure": false, + "text": "tokenB" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_address_$_t_address$", + "type_string": "tuple(address,address)" + } + }, + { + "id": 2572, + "node_type": 60, "src": { - "line": 981, - "column": 29, - "start": 35195, - "end": 35208, - "length": 14, - "parent_index": 2585 + "line": 1008, + "column": 14, + "start": 36533, + "end": 36548, + "length": 16, + "parent_index": 2565 }, - "operator": 7, - "left_expression": { - "id": 2590, - "node_type": 16, - "src": { - "line": 981, - "column": 29, - "start": 35195, - "end": 35204, - "length": 10, - "parent_index": 2589 - }, - "name": "reserveOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 2573, + "node_type": 16, + "src": { + "line": 1008, + "column": 15, + "start": 36534, + "end": 36539, + "length": 6, + "parent_index": 2572 + }, + "name": "tokenB", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2573, + "is_pure": false, + "text": "tokenB" }, - "overloaded_declarations": [], - "referenced_declaration": 2590, - "is_pure": false - }, - "right_expression": { - "id": 2591, + { + "id": 2574, + "node_type": 16, + "src": { + "line": 1008, + "column": 23, + "start": 36542, + "end": 36547, + "length": 6, + "parent_index": 2572 + }, + "name": "tokenA", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2574, + "is_pure": false, + "text": "tokenA" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_address_$_t_address$", + "type_string": "tuple(address,address)" + } + } + ], + "type_descriptions": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_tuple_$_t_address_$_t_address$", + "type_string": "tuple(address,address)" + }, + { + "type_identifier": "t_tuple_$_t_address_$_t_address$", + "type_string": "tuple(address,address)" + } + ], + "type_description": null + }, + "type_description": { + "type_identifier": "t_tuple_$_t_address_$_t_address$", + "type_string": "tuple(address,address)" + } + }, + "type_description": { + "type_identifier": "t_tuple_$_t_address_$_t_address$", + "type_string": "tuple(address,address)" + }, + "text": "(token0,token1)=tokenA\u003ctokenB?(tokenA,tokenB):(tokenB,tokenA);" + }, + { + "id": 2575, + "node_type": 24, + "kind": 24, + "src": { + "line": 1009, + "column": 8, + "start": 36559, + "end": 36621, + "length": 63, + "parent_index": 2552 + }, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" + } + ], + "arguments": [ + { + "id": 2577, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1009, + "column": 16, + "start": 36567, + "end": 36586, + "length": 20, + "parent_index": 2575 + }, + "operator": 12, + "left_expression": { + "id": 2578, + "node_type": 16, + "src": { + "line": 1009, + "column": 16, + "start": 36567, + "end": 36572, + "length": 6, + "parent_index": 2577 + }, + "name": "token0", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2548, + "is_pure": false, + "text": "token0" + }, + "right_expression": { + "id": 2579, + "node_type": 24, + "kind": 24, + "src": { + "line": 1009, + "column": 26, + "start": 36577, + "end": 36586, + "length": 10, + "parent_index": 2577 + }, + "argument_types": [ + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "arguments": [ + { + "id": 2582, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 981, - "column": 42, - "start": 35208, - "end": 35208, + "line": 1009, + "column": 34, + "start": 36585, + "end": 36585, "length": 1, - "parent_index": 2589 + "parent_index": 2579 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -47073,42 +47345,83 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" + } + ], + "expression": { + "id": 2580, + "node_type": 16, + "src": { + "line": 1009, + "column": 26, + "start": 36577, + "end": 36583, + "length": 7, + "parent_index": 2579 + }, + "name": "address", + "type_name": { + "id": 2581, + "node_type": 30, + "src": { + "line": 1009, + "column": 26, + "start": 36577, + "end": 36583, + "length": 7, + "parent_index": 2580 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "type_descriptions": [ - { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" }, - { - "type_identifier": "t_bool", - "type_string": "bool" + "type_description": { + "type_identifier": "t_function_$_t_rational_0_by_1$", + "type_string": "function(int_const 0)" } - ] + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } }, { - "id": 2592, + "id": 2583, "node_type": 17, "kind": 50, - "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY", - "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", + "value": "UniswapV2Library: ZERO_ADDRESS", + "hex_value": "556e697377617056324c6962726172793a205a45524f5f41444452455353", "src": { - "line": 982, - "column": 12, - "start": 35223, - "end": 35264, - "length": 42, - "parent_index": 2582 + "line": 1009, + "column": 38, + "start": 36589, + "end": 36620, + "length": 32, + "parent_index": 2575 }, "type_description": { "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + "type_string": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" }, "overloaded_declarations": [], "referenced_declaration": 0, @@ -47118,19 +47431,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: ZERO_ADDRESS\"" } ], "expression": { - "id": 2583, + "id": 2576, "node_type": 16, "src": { - "line": 980, + "line": 1009, "column": 8, - "start": 35157, - "end": 35163, + "start": 36559, + "end": 36565, "length": 7, - "parent_index": 2582 + "parent_index": 2575 }, "name": "require", "type_description": { @@ -47139,687 +47453,1140 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", "type_string": "function(bool,string memory)" } - }, + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2542, + "node_type": 43, + "src": { + "line": 1000, + "column": 24, + "start": 36252, + "end": 36281, + "length": 30, + "parent_index": 2541 + }, + "parameters": [ { - "id": 2593, + "id": 2543, "node_type": 44, "src": { - "line": 984, - "column": 8, - "start": 35285, - "end": 35339, - "length": 55, - "parent_index": 2575 + "line": 1000, + "column": 24, + "start": 36252, + "end": 36265, + "length": 14, + "parent_index": 2542 }, - "assignments": [ - 2594 - ], - "declarations": [ - { - "id": 2594, - "state_mutability": 1, - "name": "numerator", - "node_type": 44, - "scope": 2575, - "src": { - "line": 984, - "column": 8, - "start": 35285, - "end": 35301, - "length": 17, - "parent_index": 2593 - }, - "name_location": { - "line": 984, - "column": 16, - "start": 35293, - "end": 35301, - "length": 9, - "parent_index": 2594 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2595, - "node_type": 30, - "src": { - "line": 984, - "column": 8, - "start": 35285, - "end": 35291, - "length": 7, - "parent_index": 2594 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 + "scope": 2541, + "name": "tokenA", + "type_name": { + "id": 2544, + "node_type": 30, + "src": { + "line": 1000, + "column": 24, + "start": 36252, + "end": 36258, + "length": 7, + "parent_index": 2543 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } - ], - "initial_value": { - "id": 2596, - "node_type": 24, - "kind": 24, + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 2545, + "node_type": 44, + "src": { + "line": 1000, + "column": 40, + "start": 36268, + "end": 36281, + "length": 14, + "parent_index": 2542 + }, + "scope": 2541, + "name": "tokenB", + "type_name": { + "id": 2546, + "node_type": 30, "src": { - "line": 984, - "column": 28, - "start": 35305, - "end": 35338, - "length": 34, - "parent_index": 2593 + "line": 1000, + "column": 40, + "start": 36268, + "end": 36274, + "length": 7, + "parent_index": 2545 }, - "argument_types": [ - { - "type_identifier": "t_rational_1000_by_1", - "type_string": "int_const 1000" - } - ], - "arguments": [ - { - "id": 2602, - "node_type": 17, - "kind": 49, - "value": "1000", - "hex_value": "31303030", - "src": { - "line": 984, - "column": 57, - "start": 35334, - "end": 35337, - "length": 4, - "parent_index": 2596 - }, - "type_description": { - "type_identifier": "t_rational_1000_by_1", - "type_string": "int_const 1000" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 2597, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 984, - "column": 28, - "start": 35305, - "end": 35332, - "length": 28, - "parent_index": 2596 - }, - "member_location": { - "line": 984, - "column": 53, - "start": 35330, - "end": 35332, - "length": 3, - "parent_index": 2597 - }, - "expression": { - "id": 2598, - "node_type": 24, - "kind": 24, - "src": { - "line": 984, - "column": 28, - "start": 35305, - "end": 35328, - "length": 24, - "parent_index": 2597 - }, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "arguments": [ - { - "id": 2601, - "node_type": 16, - "src": { - "line": 984, - "column": 42, - "start": 35319, - "end": 35327, - "length": 9, - "parent_index": 2598 - }, - "name": "amountOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2601, - "is_pure": false - } - ], - "expression": { - "id": 2599, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 984, - "column": 28, - "start": 35305, - "end": 35317, - "length": 13, - "parent_index": 2598 - }, - "member_location": { - "line": 984, - "column": 38, - "start": 35315, - "end": 35317, - "length": 3, - "parent_index": 2599 - }, - "expression": { - "id": 2600, - "node_type": 16, - "src": { - "line": 984, - "column": 28, - "start": 35305, - "end": 35313, - "length": 9, - "parent_index": 2599 - }, - "name": "reserveIn", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2600, - "is_pure": false - }, - "member_name": "mul", - "argument_types": [], - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - }, - "member_name": "mul", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { + "id": 2547, + "node_type": 43, + "src": { + "line": 1003, + "column": 17, + "start": 36331, + "end": 36360, + "length": 30, + "parent_index": 2541 + }, + "parameters": [ + { + "id": 2548, + "node_type": 44, + "src": { + "line": 1003, + "column": 17, + "start": 36331, + "end": 36344, + "length": 14, + "parent_index": 2547 + }, + "scope": 2541, + "name": "token0", + "type_name": { + "id": 2549, + "node_type": 30, + "src": { + "line": 1003, + "column": 17, + "start": 36331, + "end": 36337, + "length": 7, + "parent_index": 2548 }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$_t_rational_1000_by_1$", - "type_string": "function(int_const 1000)" + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 2550, + "node_type": 44, + "src": { + "line": 1003, + "column": 33, + "start": 36347, + "end": 36360, + "length": 14, + "parent_index": 2547 + }, + "scope": 2541, + "name": "token1", + "type_name": { + "id": 2551, + "node_type": 30, + "src": { + "line": 1003, + "column": 33, + "start": 36347, + "end": 36353, + "length": 7, + "parent_index": 2550 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, { - "id": 2603, + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "signature_raw": "sortTokens(address,address)", + "signature": "544caa56", + "scope": 2535, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + }, + "text": "functionsortTokens(addresstokenA,addresstokenB)internalpurereturns(addresstoken0,addresstoken1){require(tokenA!=tokenB,\"UniswapV2Library: IDENTICAL_ADDRESSES\");(token0,token1)=tokenA\u003ctokenB?(tokenA,tokenB):(tokenB,tokenA);require(token0!=address(0),\"UniswapV2Library: ZERO_ADDRESS\");}" + }, + { + "id": 2585, + "name": "pairFor", + "node_type": 42, + "kind": 41, + "src": { + "line": 1013, + "column": 4, + "start": 36718, + "end": 37398, + "length": 681, + "parent_index": 2535 + }, + "name_location": { + "line": 1013, + "column": 13, + "start": 36727, + "end": 36733, + "length": 7, + "parent_index": 2585 + }, + "body": { + "id": 2598, + "node_type": 46, + "kind": 0, + "src": { + "line": 1018, + "column": 43, + "start": 36881, + "end": 37398, + "length": 518, + "parent_index": 2585 + }, + "implemented": true, + "statements": [ + { + "id": 2599, "node_type": 44, "src": { - "line": 985, + "line": 1019, "column": 8, - "start": 35349, - "end": 35405, - "length": 57, - "parent_index": 2575 + "start": 36891, + "end": 36952, + "length": 62, + "parent_index": 2598 }, "assignments": [ - 2604 + 2600, + 2602 ], "declarations": [ { - "id": 2604, + "id": 2600, "state_mutability": 1, - "name": "denominator", + "name": "token0", "node_type": 44, - "scope": 2575, + "scope": 2598, "src": { - "line": 985, - "column": 8, - "start": 35349, - "end": 35367, - "length": 19, - "parent_index": 2603 + "line": 1019, + "column": 9, + "start": 36892, + "end": 36905, + "length": 14, + "parent_index": 2599 }, "name_location": { - "line": 985, - "column": 16, - "start": 35357, - "end": 35367, - "length": 11, - "parent_index": 2604 + "line": 1019, + "column": 17, + "start": 36900, + "end": 36905, + "length": 6, + "parent_index": 2600 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2605, + "id": 2601, "node_type": 30, "src": { - "line": 985, - "column": 8, - "start": 35349, - "end": 35355, + "line": 1019, + "column": 9, + "start": 36892, + "end": 36898, "length": 7, - "parent_index": 2604 + "parent_index": 2600 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1 + }, + { + "id": 2602, + "state_mutability": 1, + "name": "token1", + "node_type": 44, + "scope": 2598, + "src": { + "line": 1019, + "column": 25, + "start": 36908, + "end": 36921, + "length": 14, + "parent_index": 2599 + }, + "name_location": { + "line": 1019, + "column": 33, + "start": 36916, + "end": 36921, + "length": 6, + "parent_index": 2602 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2603, + "node_type": 30, + "src": { + "line": 1019, + "column": 25, + "start": 36908, + "end": 36914, + "length": 7, + "parent_index": 2602 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } }, "visibility": 1 } ], "initial_value": { - "id": 2606, + "id": 2604, "node_type": 24, "kind": 24, "src": { - "line": 985, - "column": 30, - "start": 35371, - "end": 35404, - "length": 34, - "parent_index": 2603 + "line": 1019, + "column": 43, + "start": 36926, + "end": 36951, + "length": 26, + "parent_index": 2599 }, "argument_types": [ { - "type_identifier": "t_rational_997_by_1", - "type_string": "int_const 997" + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" } ], "arguments": [ { - "id": 2612, - "node_type": 17, - "kind": 49, - "value": "997", - "hex_value": "393937", + "id": 2606, + "node_type": 16, "src": { - "line": 985, - "column": 60, - "start": 35401, - "end": 35403, - "length": 3, - "parent_index": 2606 + "line": 1019, + "column": 54, + "start": 36937, + "end": 36942, + "length": 6, + "parent_index": 2604 }, + "name": "tokenA", "type_description": { - "type_identifier": "t_rational_997_by_1", - "type_string": "int_const 997" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 2607, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 985, - "column": 30, - "start": 35371, - "end": 35399, - "length": 29, - "parent_index": 2606 - }, - "member_location": { - "line": 985, - "column": 56, - "start": 35397, - "end": 35399, - "length": 3, - "parent_index": 2607 + "referenced_declaration": 2606, + "is_pure": false, + "text": "tokenA" }, - "expression": { - "id": 2608, - "node_type": 24, - "kind": 24, + { + "id": 2607, + "node_type": 16, "src": { - "line": 985, - "column": 30, - "start": 35371, - "end": 35395, - "length": 25, - "parent_index": 2607 + "line": 1019, + "column": 62, + "start": 36945, + "end": 36950, + "length": 6, + "parent_index": 2604 + }, + "name": "tokenB", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" }, + "overloaded_declarations": [], + "referenced_declaration": 2607, + "is_pure": false, "argument_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "arguments": [ - { - "id": 2611, - "node_type": 16, - "src": { - "line": 985, - "column": 45, - "start": 35386, - "end": 35394, - "length": 9, - "parent_index": 2608 - }, - "name": "amountOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2611, - "is_pure": false + "type_identifier": "t_address", + "type_string": "address" } ], - "expression": { - "id": 2609, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 985, - "column": 30, - "start": 35371, - "end": 35384, - "length": 14, - "parent_index": 2608 - }, - "member_location": { - "line": 985, - "column": 41, - "start": 35382, - "end": 35384, - "length": 3, - "parent_index": 2609 - }, - "expression": { - "id": 2610, - "node_type": 16, - "src": { - "line": 985, - "column": 30, - "start": 35371, - "end": 35380, - "length": 10, - "parent_index": 2609 - }, - "name": "reserveOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2610, - "is_pure": false - }, - "member_name": "sub", - "argument_types": [], - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } + "text": "tokenB" + } + ], + "expression": { + "id": 2605, + "node_type": 16, + "src": { + "line": 1019, + "column": 43, + "start": 36926, + "end": 36935, + "length": 10, + "parent_index": 2604 }, - "member_name": "mul", - "argument_types": [], + "name": "sortTokens", "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "sortTokens" }, "type_description": { - "type_identifier": "t_function_$_t_rational_997_by_1$", - "type_string": "function(int_const 997)" + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" } } }, { - "id": 2613, + "id": 2608, "node_type": 27, "src": { - "line": 986, + "line": 1020, "column": 8, - "start": 35415, - "end": 35458, - "length": 44, - "parent_index": 2575 + "start": 36962, + "end": 37392, + "length": 431, + "parent_index": 2598 }, "expression": { - "id": 2614, + "id": 2609, "node_type": 27, "src": { - "line": 986, + "line": 1020, "column": 8, - "start": 35415, - "end": 35457, - "length": 43, - "parent_index": 2613 + "start": 36962, + "end": 37391, + "length": 430, + "parent_index": 2608 }, "operator": 11, "left_expression": { - "id": 2615, + "id": 2610, "node_type": 16, "src": { - "line": 986, + "line": 1020, "column": 8, - "start": 35415, - "end": 35422, - "length": 8, - "parent_index": 2614 + "start": 36962, + "end": 36965, + "length": 4, + "parent_index": 2609 }, - "name": "amountIn", + "name": "pair", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1363, - "is_pure": false + "referenced_declaration": 2596, + "is_pure": false, + "text": "pair" }, "right_expression": { - "id": 2616, + "id": 2611, "node_type": 24, "kind": 24, "src": { - "line": 986, - "column": 19, - "start": 35426, - "end": 35457, - "length": 32, - "parent_index": 2614 + "line": 1020, + "column": 15, + "start": 36969, + "end": 37391, + "length": 423, + "parent_index": 2609 }, "argument_types": [ { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" + "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "type_string": "function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))))" } ], "arguments": [ { - "id": 2622, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", + "id": 2614, + "node_type": 24, + "kind": 24, "src": { - "line": 986, - "column": 49, - "start": 35456, - "end": 35456, - "length": 1, - "parent_index": 2616 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" + "line": 1021, + "column": 12, + "start": 36990, + "end": 37381, + "length": 392, + "parent_index": 2611 }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 2617, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 986, - "column": 19, - "start": 35426, - "end": 35454, - "length": 29, - "parent_index": 2616 - }, - "member_location": { - "line": 986, - "column": 45, - "start": 35452, - "end": 35454, - "length": 3, - "parent_index": 2617 - }, - "expression": { - "id": 2618, - "node_type": 60, - "src": { - "line": 986, - "column": 19, - "start": 35426, - "end": 35450, - "length": 25, - "parent_index": 2617 - }, - "is_constant": false, - "is_pure": false, - "components": [ + "argument_types": [ { - "id": 2619, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "type_string": "function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))" + } + ], + "arguments": [ + { + "id": 2617, + "node_type": 24, + "kind": 24, "src": { - "line": 986, - "column": 20, - "start": 35427, - "end": 35449, - "length": 23, - "parent_index": 2618 + "line": 1022, + "column": 16, + "start": 37015, + "end": 37367, + "length": 353, + "parent_index": 2614 }, - "operator": 4, - "left_expression": { - "id": 2620, + "argument_types": [ + { + "type_identifier": "t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "type_string": "function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))" + } + ], + "arguments": [ + { + "id": 2620, + "node_type": 24, + "kind": 24, + "src": { + "line": 1023, + "column": 20, + "start": 37044, + "end": 37349, + "length": 306, + "parent_index": 2617 + }, + "argument_types": [ + { + "type_identifier": "t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "type_string": "function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)" + } + ], + "arguments": [ + { + "id": 2622, + "node_type": 24, + "kind": 24, + "src": { + "line": 1024, + "column": 24, + "start": 37079, + "end": 37327, + "length": 249, + "parent_index": 2620 + }, + "argument_types": [ + { + "type_identifier": "t_string_hex_literal", + "type_string": "literal_hex_string hex\"ff\"" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", + "type_string": "function(function(address,address))" + }, + { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + ], + "arguments": [ + { + "id": 2625, + "node_type": 17, + "kind": 65, + "value": "hexff", + "hex_value": "6865786666", + "src": { + "line": 1025, + "column": 28, + "start": 37125, + "end": 37131, + "length": 7, + "parent_index": 2622 + }, + "type_description": { + "type_identifier": "t_string_hex_literal", + "type_string": "literal_hex_string hex\"ff\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "hex\"ff\"" + }, + { + "id": 2626, + "node_type": 16, + "src": { + "line": 1026, + "column": 28, + "start": 37162, + "end": 37168, + "length": 7, + "parent_index": 2622 + }, + "name": "factory", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2626, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_string_hex_literal", + "type_string": "literal_hex_string hex\"ff\"" + } + ], + "text": "factory" + }, + { + "id": 2627, + "node_type": 24, + "kind": 24, + "src": { + "line": 1027, + "column": 28, + "start": 37199, + "end": 37241, + "length": 43, + "parent_index": 2622 + }, + "argument_types": [ + { + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + } + ], + "arguments": [ + { + "id": 2629, + "node_type": 24, + "kind": 24, + "src": { + "line": 1027, + "column": 38, + "start": 37209, + "end": 37240, + "length": 32, + "parent_index": 2627 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 2632, + "node_type": 16, + "src": { + "line": 1027, + "column": 55, + "start": 37226, + "end": 37231, + "length": 6, + "parent_index": 2629 + }, + "name": "token0", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2599, + "is_pure": false, + "text": "token0" + }, + { + "id": 2633, + "node_type": 16, + "src": { + "line": 1027, + "column": 63, + "start": 37234, + "end": 37239, + "length": 6, + "parent_index": 2629 + }, + "name": "token1", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2599, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "token1" + } + ], + "expression": { + "id": 2630, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1027, + "column": 38, + "start": 37209, + "end": 37224, + "length": 16, + "parent_index": 2629 + }, + "member_location": { + "line": 1027, + "column": 42, + "start": 37213, + "end": 37224, + "length": 12, + "parent_index": 2630 + }, + "expression": { + "id": 2631, + "node_type": 16, + "src": { + "line": 1027, + "column": 38, + "start": 37209, + "end": 37211, + "length": 3, + "parent_index": 2630 + }, + "name": "abi", + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "abi" + }, + "member_name": "encodePacked", + "argument_types": [], + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "text": "abi.encodePacked" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + } + } + ], + "expression": { + "id": 2628, + "node_type": 16, + "src": { + "line": 1027, + "column": 28, + "start": 37199, + "end": 37207, + "length": 9, + "parent_index": 2627 + }, + "name": "keccak256", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "keccak256" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", + "type_string": "function(function(address,address))" + } + }, + { + "id": 2634, + "node_type": 16, + "src": { + "line": 1028, + "column": 28, + "start": 37272, + "end": 37283, + "length": 12, + "parent_index": 2622 + }, + "name": "pairCodeHash", + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + }, + "overloaded_declarations": [], + "referenced_declaration": 2634, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_string_hex_literal", + "type_string": "literal_hex_string hex\"ff\"" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", + "type_string": "function(function(address,address))" + } + ], + "text": "pairCodeHash" + } + ], + "expression": { + "id": 2623, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1024, + "column": 24, + "start": 37079, + "end": 37094, + "length": 16, + "parent_index": 2622 + }, + "member_location": { + "line": 1024, + "column": 28, + "start": 37083, + "end": 37094, + "length": 12, + "parent_index": 2623 + }, + "expression": { + "id": 2624, + "node_type": 16, + "src": { + "line": 1024, + "column": 24, + "start": 37079, + "end": 37081, + "length": 3, + "parent_index": 2623 + }, + "name": "abi", + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "abi" + }, + "member_name": "encodePacked", + "argument_types": [], + "type_description": { + "type_identifier": "t_magic_abi", + "type_string": "abi" + }, + "text": "abi.encodePacked" + }, + "type_description": { + "type_identifier": "t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "type_string": "function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)" + } + } + ], + "expression": { + "id": 2621, + "node_type": 16, + "src": { + "line": 1023, + "column": 20, + "start": 37044, + "end": 37052, + "length": 9, + "parent_index": 2620 + }, + "name": "keccak256", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "keccak256" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "type_string": "function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))" + } + } + ], + "expression": { + "id": 2618, "node_type": 16, "src": { - "line": 986, - "column": 20, - "start": 35427, - "end": 35435, - "length": 9, - "parent_index": 2619 - }, - "name": "numerator", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 1022, + "column": 16, + "start": 37015, + "end": 37021, + "length": 7, + "parent_index": 2617 }, - "overloaded_declarations": [], - "referenced_declaration": 2593, - "is_pure": false - }, - "right_expression": { - "id": 2621, - "node_type": 16, - "src": { - "line": 986, - "column": 32, - "start": 35439, - "end": 35449, - "length": 11, - "parent_index": 2619 + "name": "uint256", + "type_name": { + "id": 2619, + "node_type": 30, + "src": { + "line": 1022, + "column": 16, + "start": 37015, + "end": 37021, + "length": 7, + "parent_index": 2618 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "name": "denominator", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" }, "overloaded_declarations": [], - "referenced_declaration": 2603, - "is_pure": false + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "uint256" }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "type_string": "function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))" } } ], + "expression": { + "id": 2615, + "node_type": 16, + "src": { + "line": 1021, + "column": 12, + "start": 36990, + "end": 36996, + "length": 7, + "parent_index": 2614 + }, + "name": "uint160", + "type_name": { + "id": 2616, + "node_type": 30, + "src": { + "line": 1021, + "column": 12, + "start": 36990, + "end": 36996, + "length": 7, + "parent_index": 2615 + }, + "name": "uint160", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint160", + "type_string": "uint160" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_uint160$", + "type_string": "function(uint160)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint160", + "type_string": "uint160" + } + ], + "text": "uint160" + }, "type_description": { - "type_identifier": "t_tuple_$_t_uint256$", - "type_string": "tuple(uint256)" + "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "type_string": "function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))))" + } + } + ], + "expression": { + "id": 2612, + "node_type": 16, + "src": { + "line": 1020, + "column": 15, + "start": 36969, + "end": 36975, + "length": 7, + "parent_index": 2611 + }, + "name": "address", + "type_name": { + "id": 2613, + "node_type": 30, + "src": { + "line": 1020, + "column": 15, + "start": 36969, + "end": 36975, + "length": 7, + "parent_index": 2612 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } }, - "member_name": "add", - "argument_types": [], "type_description": { - "type_identifier": "t_tuple_$_t_uint256$", - "type_string": "tuple(uint256)" - } + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" }, "type_description": { - "type_identifier": "t_function_$_t_rational_1_by_1$", - "type_string": "function(int_const 1)" + "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "type_string": "function(function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))))" } }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "pair=address(uint160(uint256(keccak256(abi.encodePacked(hex\"ff\",factory,keccak256(abi.encodePacked(token0,token1)),pairCodeHash)))));" } ] }, @@ -47830,1670 +48597,1143 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2565, + "id": 2586, "node_type": 43, "src": { - "line": 975, + "line": 1014, "column": 8, - "start": 34947, - "end": 35018, - "length": 72, - "parent_index": 2564 + "start": 36744, + "end": 36836, + "length": 93, + "parent_index": 2585 }, "parameters": [ { - "id": 2566, + "id": 2587, "node_type": 44, "src": { - "line": 975, + "line": 1014, "column": 8, - "start": 34947, - "end": 34963, - "length": 17, - "parent_index": 2565 + "start": 36744, + "end": 36758, + "length": 15, + "parent_index": 2586 }, - "scope": 2564, - "name": "amountOut", + "scope": 2585, + "name": "factory", "type_name": { - "id": 2567, + "id": 2588, "node_type": 30, "src": { - "line": 975, + "line": 1014, "column": 8, - "start": 34947, - "end": 34953, + "start": 36744, + "end": 36750, "length": 7, - "parent_index": 2566 + "parent_index": 2587 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 2568, + "id": 2589, "node_type": 44, "src": { - "line": 976, + "line": 1015, "column": 8, - "start": 34974, - "end": 34990, - "length": 17, - "parent_index": 2565 + "start": 36769, + "end": 36782, + "length": 14, + "parent_index": 2586 }, - "scope": 2564, - "name": "reserveIn", + "scope": 2585, + "name": "tokenA", "type_name": { - "id": 2569, + "id": 2590, "node_type": 30, "src": { - "line": 976, + "line": 1015, "column": 8, - "start": 34974, - "end": 34980, + "start": 36769, + "end": 36775, "length": 7, - "parent_index": 2568 + "parent_index": 2589 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 2570, + "id": 2591, "node_type": 44, "src": { - "line": 977, + "line": 1016, "column": 8, - "start": 35001, - "end": 35018, - "length": 18, - "parent_index": 2565 + "start": 36793, + "end": 36806, + "length": 14, + "parent_index": 2586 }, - "scope": 2564, - "name": "reserveOut", + "scope": 2585, + "name": "tokenB", "type_name": { - "id": 2571, + "id": 2592, "node_type": 30, "src": { - "line": 977, + "line": 1016, "column": 8, - "start": 35001, - "end": 35007, + "start": 36793, + "end": 36799, "length": 7, - "parent_index": 2570 + "parent_index": 2591 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 2593, + "node_type": 44, + "src": { + "line": 1017, + "column": 8, + "start": 36817, + "end": 36836, + "length": 20, + "parent_index": 2586 + }, + "scope": 2585, + "name": "pairCodeHash", + "type_name": { + "id": 2594, + "node_type": 30, + "src": { + "line": 1017, + "column": 8, + "start": 36817, + "end": 36823, + "length": 7, + "parent_index": 2593 + }, + "name": "bytes32", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_bytes32", + "type_string": "bytes32" } ] }, "return_parameters": { - "id": 2572, + "id": 2595, "node_type": 43, "src": { - "line": 978, + "line": 1018, "column": 29, - "start": 35049, - "end": 35064, - "length": 16, - "parent_index": 2564 + "start": 36867, + "end": 36878, + "length": 12, + "parent_index": 2585 }, "parameters": [ { - "id": 2573, + "id": 2596, "node_type": 44, "src": { - "line": 978, + "line": 1018, "column": 29, - "start": 35049, - "end": 35064, - "length": 16, - "parent_index": 2572 + "start": 36867, + "end": 36878, + "length": 12, + "parent_index": 2595 }, - "scope": 2564, - "name": "amountIn", + "scope": 2585, + "name": "pair", "type_name": { - "id": 2574, + "id": 2597, "node_type": 30, "src": { - "line": 978, + "line": 1018, "column": 29, - "start": 35049, - "end": 35055, + "start": 36867, + "end": 36873, "length": 7, - "parent_index": 2573 + "parent_index": 2596 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } ] }, - "signature_raw": "getAmountIn(uint256, uint256, uint256)", - "signature": "d7a891de", - "scope": 2309, + "signature_raw": "pairFor(address,address,address,bytes32)", + "signature": "7855da66", + "scope": 2535, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256,uint256)" - } + "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "type_string": "function(address,address,address,bytes32)" + }, + "text": "functionpairFor(addressfactory,addresstokenA,addresstokenB,bytes32pairCodeHash)internalpurereturns(addresspair){(addresstoken0,addresstoken1)=sortTokens(tokenA,tokenB);pair=address(uint160(uint256(keccak256(abi.encodePacked(hex\"ff\",factory,keccak256(abi.encodePacked(token0,token1)),pairCodeHash)))));}" }, { - "id": 2624, - "name": "getAmountsOut", + "id": 2636, + "name": "getReserves", "node_type": 42, "kind": 41, "src": { - "line": 990, + "line": 1037, "column": 4, - "start": 35544, - "end": 36216, - "length": 673, - "parent_index": 2309 + "start": 37454, + "end": 37974, + "length": 521, + "parent_index": 2535 }, "name_location": { - "line": 990, + "line": 1037, "column": 13, - "start": 35553, - "end": 35565, - "length": 13, - "parent_index": 2624 + "start": 37463, + "end": 37473, + "length": 11, + "parent_index": 2636 }, "body": { - "id": 2637, + "id": 2651, "node_type": 46, "kind": 0, "src": { - "line": 995, - "column": 55, - "start": 35734, - "end": 36216, - "length": 483, - "parent_index": 2624 + "line": 1042, + "column": 65, + "start": 37643, + "end": 37974, + "length": 332, + "parent_index": 2636 }, "implemented": true, "statements": [ { - "id": 2638, - "node_type": 24, - "kind": 24, + "id": 2652, + "node_type": 44, "src": { - "line": 996, + "line": 1043, "column": 8, - "start": 35744, - "end": 35802, - "length": 59, - "parent_index": 2637 + "start": 37653, + "end": 37700, + "length": 48, + "parent_index": 2651 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INVALID_PATH\"" - } + "assignments": [ + 2653 ], - "arguments": [ + "declarations": [ { - "id": 2640, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "id": 2653, + "state_mutability": 1, + "name": "token0", + "node_type": 44, + "scope": 2651, "src": { - "line": 996, - "column": 16, - "start": 35752, - "end": 35767, - "length": 16, - "parent_index": 2638 + "line": 1043, + "column": 9, + "start": 37654, + "end": 37667, + "length": 14, + "parent_index": 2652 }, - "operator": 8, - "left_expression": { - "id": 2641, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "name_location": { + "line": 1043, + "column": 17, + "start": 37662, + "end": 37667, + "length": 6, + "parent_index": 2653 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2654, + "node_type": 30, "src": { - "line": 996, - "column": 16, - "start": 35752, - "end": 35762, - "length": 11, - "parent_index": 2640 - }, - "member_location": { - "line": 996, - "column": 21, - "start": 35757, - "end": 35762, - "length": 6, - "parent_index": 2641 - }, - "expression": { - "id": 2642, - "node_type": 16, - "src": { - "line": 996, - "column": 16, - "start": 35752, - "end": 35755, - "length": 4, - "parent_index": 2641 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2642, - "is_pure": false + "line": 1043, + "column": 9, + "start": 37654, + "end": 37660, + "length": 7, + "parent_index": 2653 }, - "member_name": "length", - "argument_types": [], + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, "type_description": { "type_identifier": "t_address", "type_string": "address" } }, - "right_expression": { - "id": 2643, - "node_type": 17, - "kind": 49, - "value": "2", - "hex_value": "32", + "visibility": 1 + } + ], + "initial_value": { + "id": 2655, + "node_type": 24, + "kind": 24, + "src": { + "line": 1043, + "column": 29, + "start": 37674, + "end": 37699, + "length": 26, + "parent_index": 2652 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 2657, + "node_type": 16, "src": { - "line": 996, - "column": 31, - "start": 35767, - "end": 35767, - "length": 1, - "parent_index": 2640 + "line": 1043, + "column": 40, + "start": 37685, + "end": 37690, + "length": 6, + "parent_index": 2655 }, + "name": "tokenA", "type_description": { - "type_identifier": "t_rational_2_by_1", - "type_string": "int_const 2" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "referenced_declaration": 2657, + "is_pure": false, + "text": "tokenA" }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + { + "id": 2658, + "node_type": 16, + "src": { + "line": 1043, + "column": 48, + "start": 37693, + "end": 37698, + "length": 6, + "parent_index": 2655 + }, + "name": "tokenB", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2658, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "tokenB" } - }, - { - "id": 2644, - "node_type": 17, - "kind": 50, - "value": "UniswapV2Library: INVALID_PATH", - "hex_value": "556e697377617056324c6962726172793a20494e56414c49445f50415448", + ], + "expression": { + "id": 2656, + "node_type": 16, "src": { - "line": 996, - "column": 34, - "start": 35770, - "end": 35801, - "length": 32, - "parent_index": 2638 + "line": 1043, + "column": 29, + "start": 37674, + "end": 37683, + "length": 10, + "parent_index": 2655 }, + "name": "sortTokens", "type_description": { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INVALID_PATH\"" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 2639, - "node_type": 16, - "src": { - "line": 996, - "column": 8, - "start": 35744, - "end": 35750, - "length": 7, - "parent_index": 2638 + "is_pure": false, + "text": "sortTokens" }, - "name": "require", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string_literal$", - "type_string": "function(bool,string memory)" + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + } } }, { - "id": 2645, - "node_type": 27, + "id": 2659, + "node_type": 44, "src": { - "line": 997, + "line": 1044, "column": 8, - "start": 35813, - "end": 35849, - "length": 37, - "parent_index": 2637 + "start": 37710, + "end": 37849, + "length": 140, + "parent_index": 2651 }, - "expression": { - "id": 2646, - "node_type": 27, - "src": { - "line": 997, - "column": 8, - "start": 35813, - "end": 35848, - "length": 36, - "parent_index": 2645 - }, - "operator": 11, - "left_expression": { - "id": 2647, - "node_type": 16, + "assignments": [ + 2660, + 2662 + ], + "declarations": [ + { + "id": 2660, + "state_mutability": 1, + "name": "reserve0", + "node_type": 44, + "scope": 2651, "src": { - "line": 997, - "column": 8, - "start": 35813, - "end": 35819, - "length": 7, - "parent_index": 2646 - }, - "name": "amounts", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 1044, + "column": 9, + "start": 37711, + "end": 37726, + "length": 16, + "parent_index": 2659 }, - "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false - }, - "right_expression": { - "id": 2648, - "node_type": 24, - "kind": 24, - "src": { - "line": 997, - "column": 18, - "start": 35823, - "end": 35848, - "length": 26, - "parent_index": 2646 + "name_location": { + "line": 1044, + "column": 17, + "start": 37719, + "end": 37726, + "length": 8, + "parent_index": 2660 }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ], - "arguments": [ - { - "id": 2651, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 997, - "column": 32, - "start": 35837, - "end": 35847, - "length": 11, - "parent_index": 2648 - }, - "member_location": { - "line": 997, - "column": 37, - "start": 35842, - "end": 35847, - "length": 6, - "parent_index": 2651 - }, - "expression": { - "id": 2652, - "node_type": 16, - "src": { - "line": 997, - "column": 32, - "start": 35837, - "end": 35840, - "length": 4, - "parent_index": 2651 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2652, - "is_pure": false - }, - "member_name": "length", - "argument_types": [], - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - } - ], - "expression": { - "id": 2649, - "node_type": 25, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2661, + "node_type": 30, "src": { - "line": 997, - "column": 18, - "start": 35823, - "end": 35835, - "length": 13, - "parent_index": 2648 - }, - "argument_types": [], - "type_name": { - "id": 2650, - "node_type": 16, - "src": { - "line": 997, - "column": 22, - "start": 35827, - "end": 35833, - "length": 7, - "parent_index": 2649 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 1044, + "column": 9, + "start": 37711, + "end": 37717, + "length": 7, + "parent_index": 2660 }, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 2653, - "node_type": 27, - "src": { - "line": 998, - "column": 8, - "start": 35859, - "end": 35880, - "length": 22, - "parent_index": 2637 - }, - "expression": { - "id": 2654, - "node_type": 27, - "src": { - "line": 998, - "column": 8, - "start": 35859, - "end": 35879, - "length": 21, - "parent_index": 2653 + "visibility": 1 }, - "operator": 11, - "left_expression": { - "id": 2655, - "node_type": 22, + { + "id": 2662, + "state_mutability": 1, + "name": "reserve1", + "node_type": 44, + "scope": 2651, "src": { - "line": 998, - "column": 8, - "start": 35859, - "end": 35868, - "length": 10, - "parent_index": 2654 + "line": 1044, + "column": 27, + "start": 37729, + "end": 37744, + "length": 16, + "parent_index": 2659 }, - "index_expression": { - "id": 2656, - "node_type": 16, + "name_location": { + "line": 1044, + "column": 35, + "start": 37737, + "end": 37744, + "length": 8, + "parent_index": 2662 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2663, + "node_type": 30, "src": { - "line": 998, - "column": 8, - "start": 35859, - "end": 35865, + "line": 1044, + "column": 27, + "start": 37729, + "end": 37735, "length": 7, - "parent_index": 2655 + "parent_index": 2662 }, - "name": "amounts", + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + } }, - "base_expression": { - "id": 2657, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "visibility": 1 + } + ], + "initial_value": { + "id": 2664, + "node_type": 24, + "kind": 24, + "src": { + "line": 1044, + "column": 49, + "start": 37751, + "end": 37848, + "length": 98, + "parent_index": 2659 + }, + "argument_types": [], + "arguments": [], + "expression": { + "id": 2665, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1044, + "column": 49, + "start": 37751, + "end": 37846, + "length": 96, + "parent_index": 2664 + }, + "member_location": { + "line": 1046, + "column": 10, + "start": 37836, + "end": 37846, + "length": 11, + "parent_index": 2665 + }, + "expression": { + "id": 2666, + "node_type": 24, + "kind": 24, "src": { - "line": 998, - "column": 16, - "start": 35867, - "end": 35867, - "length": 1, - "parent_index": 2655 + "line": 1044, + "column": 49, + "start": 37751, + "end": 37834, + "length": 84, + "parent_index": 2665 }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_descriptions": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "argument_types": [ + { + "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "type_string": "function(address,address,address,bytes32)" + } + ], + "arguments": [ + { + "id": 2668, + "node_type": 24, + "kind": 24, + "src": { + "line": 1045, + "column": 12, + "start": 37779, + "end": 37824, + "length": 46, + "parent_index": 2666 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + ], + "arguments": [ + { + "id": 2670, + "node_type": 16, + "src": { + "line": 1045, + "column": 20, + "start": 37787, + "end": 37793, + "length": 7, + "parent_index": 2668 + }, + "name": "factory", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2670, + "is_pure": false, + "text": "factory" + }, + { + "id": 2671, + "node_type": 16, + "src": { + "line": 1045, + "column": 29, + "start": 37796, + "end": 37801, + "length": 6, + "parent_index": 2668 + }, + "name": "tokenA", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2671, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "tokenA" + }, + { + "id": 2672, + "node_type": 16, + "src": { + "line": 1045, + "column": 37, + "start": 37804, + "end": 37809, + "length": 6, + "parent_index": 2668 + }, + "name": "tokenB", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2672, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "tokenB" + }, + { + "id": 2673, + "node_type": 16, + "src": { + "line": 1045, + "column": 45, + "start": 37812, + "end": 37823, + "length": 12, + "parent_index": 2668 + }, + "name": "pairCodeHash", + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + }, + "overloaded_declarations": [], + "referenced_declaration": 2673, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "pairCodeHash" + } + ], + "expression": { + "id": 2669, + "node_type": 16, + "src": { + "line": 1045, + "column": 12, + "start": 37779, + "end": 37785, + "length": 7, + "parent_index": 2668 + }, + "name": "pairFor", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "pairFor" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "type_string": "function(address,address,address,bytes32)" + } + } + ], + "expression": { + "id": 2667, + "node_type": 16, + "src": { + "line": 1044, + "column": 49, + "start": 37751, + "end": 37764, + "length": 14, + "parent_index": 2666 + }, + "name": "IUniswapV2Pair", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IUniswapV2Pair" }, - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "type_string": "function(function(address,address,address,bytes32))" } - ], - "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", - "type_string": "index[uint256:int_const 0]" - } - }, - "right_expression": { - "id": 2658, - "node_type": 16, - "src": { - "line": 998, - "column": 21, - "start": 35872, - "end": 35879, - "length": 8, - "parent_index": 2654 }, - "name": "amountIn", + "member_name": "getReserves", + "argument_types": [], "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "type_string": "function(function(address,address,address,bytes32))" }, - "overloaded_declarations": [], - "referenced_declaration": 2658, - "is_pure": false + "text": "IUniswapV2Pair(pairFor(factory,tokenA,tokenB,pairCodeHash)).getReserves" }, "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", - "type_string": "index[uint256:int_const 0]" + "type_identifier": "t_function_$", + "type_string": "function()" } - }, - "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", - "type_string": "index[uint256:int_const 0]" } }, { - "id": 2659, - "node_type": 79, + "id": 2674, + "node_type": 27, "src": { - "line": 999, - "column": 0, - "start": 35890, - "end": 36210, - "length": 321, - "parent_index": 2637 - }, - "initialiser": { - "id": 2660, - "node_type": 44, - "src": { - "line": 999, - "column": 13, - "start": 35895, - "end": 35904, - "length": 10, - "parent_index": 2637 - }, - "assignments": [ - 2661 - ], - "declarations": [ - { - "id": 2661, - "state_mutability": 1, - "name": "i", - "node_type": 44, - "scope": 2637, - "src": { - "line": 999, - "column": 13, - "start": 35895, - "end": 35903, - "length": 9, - "parent_index": 2660 - }, - "name_location": { - "line": 999, - "column": 21, - "start": 35903, - "end": 35903, - "length": 1, - "parent_index": 2661 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2662, - "node_type": 30, - "src": { - "line": 999, - "column": 13, - "start": 35895, - "end": 35901, - "length": 7, - "parent_index": 2661 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ] + "line": 1047, + "column": 8, + "start": 37859, + "end": 37968, + "length": 110, + "parent_index": 2651 }, - "condition": { - "id": 2663, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "expression": { + "id": 2675, + "node_type": 27, "src": { - "line": 999, - "column": 24, - "start": 35906, - "end": 35924, - "length": 19, - "parent_index": 2659 + "line": 1047, + "column": 8, + "start": 37859, + "end": 37967, + "length": 109, + "parent_index": 2674 }, - "operator": 9, + "operator": 11, "left_expression": { - "id": 2664, - "node_type": 16, + "id": 2676, + "node_type": 60, "src": { - "line": 999, - "column": 24, - "start": 35906, - "end": 35906, - "length": 1, - "parent_index": 2663 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 1047, + "column": 8, + "start": 37859, + "end": 37878, + "length": 20, + "parent_index": 2675 }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 2665, "is_constant": false, "is_pure": false, - "node_type": 19, - "src": { - "line": 999, - "column": 28, - "start": 35910, - "end": 35924, - "length": 15, - "parent_index": 2663 - }, - "operator": 2, - "left_expression": { - "id": 2666, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 999, - "column": 28, - "start": 35910, - "end": 35920, - "length": 11, - "parent_index": 2665 - }, - "member_location": { - "line": 999, - "column": 33, - "start": 35915, - "end": 35920, - "length": 6, - "parent_index": 2666 - }, - "expression": { - "id": 2667, + "components": [ + { + "id": 2677, "node_type": 16, "src": { - "line": 999, - "column": 28, - "start": 35910, - "end": 35913, - "length": 4, - "parent_index": 2666 + "line": 1047, + "column": 9, + "start": 37860, + "end": 37867, + "length": 8, + "parent_index": 2676 }, - "name": "path", + "name": "reserveA", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2667, - "is_pure": false + "referenced_declaration": 2647, + "is_pure": false, + "text": "reserveA" }, - "member_name": "length", - "argument_types": [], - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + { + "id": 2678, + "node_type": 16, + "src": { + "line": 1047, + "column": 19, + "start": 37870, + "end": 37877, + "length": 8, + "parent_index": 2676 + }, + "name": "reserveB", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2649, + "is_pure": false, + "text": "reserveB" } - }, - "right_expression": { - "id": 2668, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 999, - "column": 42, - "start": 35924, - "end": 35924, - "length": 1, - "parent_index": 2665 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, + ], "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" } }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "closure": { - "id": 2669, - "node_type": 18, - "kind": 105, - "src": { - "line": 999, - "column": 45, - "start": 35927, - "end": 35929, - "length": 3, - "parent_index": 2624 - }, - "operator": 27, - "expression": { - "id": 2670, - "node_type": 16, + "right_expression": { + "id": 2680, + "node_type": 97, "src": { - "line": 999, - "column": 45, - "start": 35927, - "end": 35927, - "length": 1, - "parent_index": 2669 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 1047, + "column": 31, + "start": 37882, + "end": 37967, + "length": 86, + "parent_index": 2675 }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "prefix": false, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false - }, - "body": { - "id": 2671, - "node_type": 46, - "kind": 0, - "src": { - "line": 999, - "column": 50, - "start": 35932, - "end": 36210, - "length": 279, - "parent_index": 2659 - }, - "implemented": true, - "statements": [ - { - "id": 2672, - "node_type": 44, - "src": { - "line": 1000, - "column": 12, - "start": 35946, - "end": 36122, - "length": 177, - "parent_index": 2671 - }, - "assignments": [ - 2673, - 2675 - ], - "declarations": [ - { - "id": 2673, - "state_mutability": 1, - "name": "reserveIn", - "node_type": 44, - "scope": 2671, + "expressions": [ + { + "id": 2681, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1047, + "column": 31, + "start": 37882, + "end": 37897, + "length": 16, + "parent_index": 2680 + }, + "operator": 11, + "left_expression": { + "id": 2682, + "node_type": 16, "src": { - "line": 1000, - "column": 13, - "start": 35947, - "end": 35963, - "length": 17, - "parent_index": 2672 - }, - "name_location": { - "line": 1000, - "column": 21, - "start": 35955, - "end": 35963, - "length": 9, - "parent_index": 2673 + "line": 1047, + "column": 31, + "start": 37882, + "end": 37887, + "length": 6, + "parent_index": 2681 }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2674, - "node_type": 30, - "src": { - "line": 1000, - "column": 13, - "start": 35947, - "end": 35953, - "length": 7, - "parent_index": 2673 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "name": "tokenA", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" }, - "visibility": 1 + "overloaded_declarations": [], + "referenced_declaration": 2682, + "is_pure": false, + "text": "tokenA" }, - { - "id": 2675, - "state_mutability": 1, - "name": "reserveOut", - "node_type": 44, - "scope": 2671, + "right_expression": { + "id": 2683, + "node_type": 16, "src": { - "line": 1000, - "column": 32, - "start": 35966, - "end": 35983, - "length": 18, - "parent_index": 2672 + "line": 1047, + "column": 41, + "start": 37892, + "end": 37897, + "length": 6, + "parent_index": 2681 }, - "name_location": { - "line": 1000, - "column": 40, - "start": 35974, - "end": 35983, - "length": 10, - "parent_index": 2675 + "name": "token0", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2676, - "node_type": 30, + "overloaded_declarations": [], + "referenced_declaration": 2652, + "is_pure": false, + "text": "token0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 2684, + "node_type": 60, + "src": { + "line": 1048, + "column": 14, + "start": 37913, + "end": 37932, + "length": 20, + "parent_index": 2680 + }, + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 2685, + "node_type": 16, "src": { - "line": 1000, - "column": 32, - "start": 35966, - "end": 35972, - "length": 7, - "parent_index": 2675 + "line": 1048, + "column": 15, + "start": 37914, + "end": 37921, + "length": 8, + "parent_index": 2684 }, - "name": "uint256", - "referenced_declaration": 0, + "name": "reserve0", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2677, - "node_type": 24, - "kind": 24, - "src": { - "line": 1000, - "column": 54, - "start": 35988, - "end": 36121, - "length": 134, - "parent_index": 2672 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - }, - { - "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", - "type_string": "function(function(),index[address:uint256],index[address:uint256])" - } - ], - "arguments": [ - { - "id": 2679, - "node_type": 16, - "src": { - "line": 1001, - "column": 16, - "start": 36017, - "end": 36023, - "length": 7, - "parent_index": 2677 - }, - "name": "factory", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - { - "id": 2680, - "node_type": 22, - "src": { - "line": 1002, - "column": 16, - "start": 36042, - "end": 36048, - "length": 7, - "parent_index": 2677 - }, - "index_expression": { - "id": 2681, - "node_type": 16, - "src": { - "line": 1002, - "column": 16, - "start": 36042, - "end": 36045, - "length": 4, - "parent_index": 2680 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false - }, - "base_expression": { - "id": 2682, - "node_type": 16, - "src": { - "line": 1002, - "column": 21, - "start": 36047, - "end": 36047, - "length": 1, - "parent_index": 2680 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - } - }, - { - "id": 2683, - "node_type": 22, - "src": { - "line": 1003, - "column": 16, - "start": 36067, - "end": 36077, - "length": 11, - "parent_index": 2677 - }, - "index_expression": { - "id": 2684, - "node_type": 16, - "src": { - "line": 1003, - "column": 16, - "start": 36067, - "end": 36070, - "length": 4, - "parent_index": 2683 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false - }, - "base_expression": { - "id": 2685, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1003, - "column": 21, - "start": 36072, - "end": 36076, - "length": 5, - "parent_index": 2683 - }, - "operator": 1, - "left_expression": { - "id": 2686, - "node_type": 16, - "src": { - "line": 1003, - "column": 21, - "start": 36072, - "end": 36072, - "length": 1, - "parent_index": 2685 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 2687, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 1003, - "column": 25, - "start": 36076, - "end": 36076, - "length": 1, - "parent_index": 2685 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_descriptions": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - } + "referenced_declaration": 2659, + "is_pure": false, + "text": "reserve0" }, { - "id": 2688, + "id": 2686, "node_type": 16, "src": { - "line": 1004, - "column": 16, - "start": 36096, - "end": 36107, - "length": 12, - "parent_index": 2677 + "line": 1048, + "column": 25, + "start": 37924, + "end": 37931, + "length": 8, + "parent_index": 2684 }, - "name": "pairCodeHash", + "name": "reserve1", "type_description": { - "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", - "type_string": "function(function(),index[address:uint256],index[address:uint256])" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, + "referenced_declaration": 2659, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - } - ] + "text": "reserve1" } ], - "expression": { - "id": 2678, - "node_type": 16, - "src": { - "line": 1000, - "column": 54, - "start": 35988, - "end": 35998, - "length": 11, - "parent_index": 2677 - }, - "name": "getReserves", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", - "type_string": "function(function(),index[address:uint256],index[address:uint256],function(function(),index[address:uint256],index[address:uint256]))" + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" } - } - }, - { - "id": 2689, - "node_type": 27, - "src": { - "line": 1006, - "column": 12, - "start": 36136, - "end": 36200, - "length": 65, - "parent_index": 2671 }, - "expression": { - "id": 2690, - "node_type": 27, + { + "id": 2687, + "node_type": 60, "src": { - "line": 1006, - "column": 12, - "start": 36136, - "end": 36199, - "length": 64, - "parent_index": 2689 + "line": 1049, + "column": 14, + "start": 37948, + "end": 37967, + "length": 20, + "parent_index": 2680 }, - "operator": 11, - "left_expression": { - "id": 2691, - "node_type": 22, - "src": { - "line": 1006, - "column": 12, - "start": 36136, - "end": 36149, - "length": 14, - "parent_index": 2690 - }, - "index_expression": { - "id": 2692, + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 2688, "node_type": 16, "src": { - "line": 1006, - "column": 12, - "start": 36136, - "end": 36142, - "length": 7, - "parent_index": 2691 + "line": 1049, + "column": 15, + "start": 37949, + "end": 37956, + "length": 8, + "parent_index": 2687 }, - "name": "amounts", + "name": "reserve1", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false - }, - "base_expression": { - "id": 2693, - "is_constant": false, + "referenced_declaration": 2659, "is_pure": false, - "node_type": 19, - "src": { - "line": 1006, - "column": 20, - "start": 36144, - "end": 36148, - "length": 5, - "parent_index": 2691 - }, - "operator": 1, - "left_expression": { - "id": 2694, - "node_type": 16, - "src": { - "line": 1006, - "column": 20, - "start": 36144, - "end": 36144, - "length": 1, - "parent_index": 2693 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 2695, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 1006, - "column": 24, - "start": 36148, - "end": 36148, - "length": 1, - "parent_index": 2693 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_descriptions": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - } - }, - "right_expression": { - "id": 2696, - "node_type": 24, - "kind": 24, - "src": { - "line": 1006, - "column": 29, - "start": 36153, - "end": 36199, - "length": 47, - "parent_index": 2690 + "text": "reserve1" }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "arguments": [ - { - "id": 2698, - "node_type": 22, - "src": { - "line": 1006, - "column": 42, - "start": 36166, - "end": 36175, - "length": 10, - "parent_index": 2696 - }, - "index_expression": { - "id": 2699, - "node_type": 16, - "src": { - "line": 1006, - "column": 42, - "start": 36166, - "end": 36172, - "length": 7, - "parent_index": 2698 - }, - "name": "amounts", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false - }, - "base_expression": { - "id": 2700, - "node_type": 16, - "src": { - "line": 1006, - "column": 50, - "start": 36174, - "end": 36174, - "length": 1, - "parent_index": 2698 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - } - }, - { - "id": 2701, - "node_type": 16, - "src": { - "line": 1006, - "column": 54, - "start": 36178, - "end": 36186, - "length": 9, - "parent_index": 2696 - }, - "name": "reserveIn", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2672, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - } - ] - }, - { - "id": 2702, - "node_type": 16, - "src": { - "line": 1006, - "column": 65, - "start": 36189, - "end": 36198, - "length": 10, - "parent_index": 2696 - }, - "name": "reserveOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2672, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - } - ], - "expression": { - "id": 2697, + { + "id": 2689, "node_type": 16, "src": { - "line": 1006, - "column": 29, - "start": 36153, - "end": 36164, - "length": 12, - "parent_index": 2696 + "line": 1049, + "column": 25, + "start": 37959, + "end": 37966, + "length": 8, + "parent_index": 2687 }, - "name": "getAmountOut", + "name": "reserve0", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", - "type_string": "function(index[uint256:uint256],uint256,uint256)" + "referenced_declaration": 2659, + "is_pure": false, + "text": "reserve0" } - }, + ], "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" } + } + ], + "type_descriptions": [ + { + "type_identifier": "t_bool", + "type_string": "bool" }, - "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" + { + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" + }, + { + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" } - } - ] - } + ], + "type_description": null + }, + "type_description": { + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" + } + }, + "type_description": { + "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", + "type_string": "tuple(uint256,uint256)" + }, + "text": "(reserveA,reserveB)=tokenA==token0?(reserve0,reserve1):(reserve1,reserve0);" } ] }, @@ -49504,40 +49744,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2625, + "id": 2637, "node_type": 43, "src": { - "line": 991, + "line": 1038, "column": 8, - "start": 35576, - "end": 35677, - "length": 102, - "parent_index": 2624 + "start": 37484, + "end": 37576, + "length": 93, + "parent_index": 2636 }, "parameters": [ { - "id": 2626, + "id": 2638, "node_type": 44, "src": { - "line": 991, + "line": 1038, "column": 8, - "start": 35576, - "end": 35590, + "start": 37484, + "end": 37498, "length": 15, - "parent_index": 2625 + "parent_index": 2637 }, - "scope": 2624, + "scope": 2636, "name": "factory", "type_name": { - "id": 2627, + "id": 2639, "node_type": 30, "src": { - "line": 991, + "line": 1038, "column": 8, - "start": 35576, - "end": 35582, + "start": 37484, + "end": 37490, "length": 7, - "parent_index": 2626 + "parent_index": 2638 }, "name": "address", "state_mutability": 4, @@ -49556,69 +49796,71 @@ } }, { - "id": 2628, + "id": 2640, "node_type": 44, "src": { - "line": 992, + "line": 1039, "column": 8, - "start": 35601, - "end": 35616, - "length": 16, - "parent_index": 2625 + "start": 37509, + "end": 37522, + "length": 14, + "parent_index": 2637 }, - "scope": 2624, - "name": "amountIn", + "scope": 2636, + "name": "tokenA", "type_name": { - "id": 2629, + "id": 2641, "node_type": 30, "src": { - "line": 992, + "line": 1039, "column": 8, - "start": 35601, - "end": 35607, + "start": 37509, + "end": 37515, "length": 7, - "parent_index": 2628 + "parent_index": 2640 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 2630, + "id": 2642, "node_type": 44, "src": { - "line": 993, + "line": 1040, "column": 8, - "start": 35627, - "end": 35647, - "length": 21, - "parent_index": 2625 + "start": 37533, + "end": 37546, + "length": 14, + "parent_index": 2637 }, - "scope": 2624, - "name": "path", + "scope": 2636, + "name": "tokenB", "type_name": { - "id": 2631, - "node_type": 16, + "id": 2643, + "node_type": 30, "src": { - "line": 993, + "line": 1040, "column": 8, - "start": 35627, - "end": 35633, + "start": 37533, + "end": 37539, "length": 7, - "parent_index": 2630 + "parent_index": 2642 }, "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { "type_identifier": "t_address", @@ -49634,28 +49876,28 @@ } }, { - "id": 2632, + "id": 2644, "node_type": 44, "src": { - "line": 994, + "line": 1041, "column": 8, - "start": 35658, - "end": 35677, + "start": 37557, + "end": 37576, "length": 20, - "parent_index": 2625 + "parent_index": 2637 }, - "scope": 2624, + "scope": 2636, "name": "pairCodeHash", "type_name": { - "id": 2633, + "id": 2645, "node_type": 30, "src": { - "line": 994, + "line": 1041, "column": 8, - "start": 35658, - "end": 35664, + "start": 37557, + "end": 37563, "length": 7, - "parent_index": 2632 + "parent_index": 2644 }, "name": "bytes32", "referenced_declaration": 0, @@ -49679,8 +49921,8 @@ "type_string": "address" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, { "type_identifier": "t_address", @@ -49693,40 +49935,79 @@ ] }, "return_parameters": { - "id": 2634, + "id": 2646, "node_type": 43, "src": { - "line": 995, + "line": 1042, "column": 29, - "start": 35708, - "end": 35731, - "length": 24, - "parent_index": 2624 + "start": 37607, + "end": 37640, + "length": 34, + "parent_index": 2636 }, "parameters": [ { - "id": 2635, + "id": 2647, "node_type": 44, "src": { - "line": 995, + "line": 1042, "column": 29, - "start": 35708, - "end": 35731, - "length": 24, - "parent_index": 2634 + "start": 37607, + "end": 37622, + "length": 16, + "parent_index": 2646 }, - "scope": 2624, - "name": "amounts", + "scope": 2636, + "name": "reserveA", "type_name": { - "id": 2636, - "node_type": 16, + "id": 2648, + "node_type": 30, "src": { - "line": 995, + "line": 1042, "column": 29, - "start": 35708, - "end": 35714, + "start": 37607, + "end": 37613, + "length": 7, + "parent_index": 2647 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 2649, + "node_type": 44, + "src": { + "line": 1042, + "column": 47, + "start": 37625, + "end": 37640, + "length": 16, + "parent_index": 2646 + }, + "scope": 2636, + "name": "reserveB", + "type_name": { + "id": 2650, + "node_type": 30, + "src": { + "line": 1042, + "column": 47, + "start": 37625, + "end": 37631, "length": 7, - "parent_index": 2635 + "parent_index": 2649 }, "name": "uint256", "referenced_declaration": 0, @@ -49745,66 +50026,71 @@ } ], "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "getAmountsOut(address, uint256, address, bytes32)", - "signature": "ce79344e", - "scope": 2309, + "signature_raw": "getReserves(address,address,address,bytes32)", + "signature": "20f86dbb", + "scope": 2535, "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", - "type_string": "function(address,uint256,address,bytes32)" - } + "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "type_string": "function(address,address,address,bytes32)" + }, + "text": "functiongetReserves(addressfactory,addresstokenA,addresstokenB,bytes32pairCodeHash)internalviewreturns(uint256reserveA,uint256reserveB){(addresstoken0,)=sortTokens(tokenA,tokenB);(uint256reserve0,uint256reserve1,)=IUniswapV2Pair(pairFor(factory,tokenA,tokenB,pairCodeHash)).getReserves();(reserveA,reserveB)=tokenA==token0?(reserve0,reserve1):(reserve1,reserve0);}" }, { - "id": 2704, - "name": "getAmountsIn", + "id": 2691, + "name": "quote", "node_type": 42, "kind": 41, "src": { - "line": 1011, + "line": 1053, "column": 4, - "start": 36295, - "end": 36988, - "length": 694, - "parent_index": 2309 + "start": 38085, + "end": 38477, + "length": 393, + "parent_index": 2535 }, "name_location": { - "line": 1011, + "line": 1053, "column": 13, - "start": 36304, - "end": 36315, - "length": 12, - "parent_index": 2704 + "start": 38094, + "end": 38098, + "length": 5, + "parent_index": 2691 }, "body": { - "id": 2717, + "id": 2702, "node_type": 46, "kind": 0, "src": { - "line": 1016, - "column": 55, - "start": 36485, - "end": 36988, - "length": 504, - "parent_index": 2704 + "line": 1057, + "column": 46, + "start": 38223, + "end": 38477, + "length": 255, + "parent_index": 2691 }, "implemented": true, "statements": [ { - "id": 2718, + "id": 2703, "node_type": 24, "kind": 24, "src": { - "line": 1017, + "line": 1058, "column": 8, - "start": 36495, - "end": 36553, - "length": 59, - "parent_index": 2717 + "start": 38233, + "end": 38293, + "length": 61, + "parent_index": 2702 }, "argument_types": [ { @@ -49813,95 +50099,67 @@ }, { "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INVALID_PATH\"" + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" } ], "arguments": [ { - "id": 2720, + "id": 2705, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1017, + "line": 1058, "column": 16, - "start": 36503, - "end": 36518, - "length": 16, - "parent_index": 2718 + "start": 38241, + "end": 38251, + "length": 11, + "parent_index": 2703 }, - "operator": 8, + "operator": 7, "left_expression": { - "id": 2721, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 2706, + "node_type": 16, "src": { - "line": 1017, + "line": 1058, "column": 16, - "start": 36503, - "end": 36513, - "length": 11, - "parent_index": 2720 - }, - "member_location": { - "line": 1017, - "column": 21, - "start": 36508, - "end": 36513, - "length": 6, - "parent_index": 2721 - }, - "expression": { - "id": 2722, - "node_type": 16, - "src": { - "line": 1017, - "column": 16, - "start": 36503, - "end": 36506, - "length": 4, - "parent_index": 2721 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2722, - "is_pure": false + "start": 38241, + "end": 38247, + "length": 7, + "parent_index": 2705 }, - "member_name": "length", - "argument_types": [], + "name": "amountA", "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2706, + "is_pure": false, + "text": "amountA" }, "right_expression": { - "id": 2723, + "id": 2707, "node_type": 17, "kind": 49, - "value": "2", - "hex_value": "32", + "value": "0", + "hex_value": "30", "src": { - "line": 1017, - "column": 31, - "start": 36518, - "end": 36518, + "line": 1058, + "column": 26, + "start": 38251, + "end": 38251, "length": 1, - "parent_index": 2720 + "parent_index": 2705 }, "type_description": { - "type_identifier": "t_rational_2_by_1", - "type_string": "int_const 2" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -49909,22 +50167,22 @@ } }, { - "id": 2724, + "id": 2708, "node_type": 17, "kind": 50, - "value": "UniswapV2Library: INVALID_PATH", - "hex_value": "556e697377617056324c6962726172793a20494e56414c49445f50415448", + "value": "UniswapV2Library: INSUFFICIENT_AMOUNT", + "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54", "src": { - "line": 1017, - "column": 34, - "start": 36521, - "end": 36552, - "length": 32, - "parent_index": 2718 + "line": 1058, + "column": 29, + "start": 38254, + "end": 38292, + "length": 39, + "parent_index": 2703 }, "type_description": { "type_identifier": "t_string_literal", - "type_string": "literal_string \"UniswapV2Library: INVALID_PATH\"" + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" }, "overloaded_declarations": [], "referenced_declaration": 0, @@ -49934,19 +50192,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: INSUFFICIENT_AMOUNT\"" } ], "expression": { - "id": 2719, + "id": 2704, "node_type": 16, "src": { - "line": 1017, + "line": 1058, "column": 8, - "start": 36495, - "end": 36501, + "start": 38233, + "end": 38239, "length": 7, - "parent_index": 2718 + "parent_index": 2703 }, "name": "require", "type_description": { @@ -49955,7 +50214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -49963,1942 +50223,1103 @@ } }, { - "id": 2725, - "node_type": 27, + "id": 2709, + "node_type": 24, + "kind": 24, "src": { - "line": 1018, + "line": 1059, "column": 8, - "start": 36564, - "end": 36600, - "length": 37, - "parent_index": 2717 + "start": 38304, + "end": 38418, + "length": 115, + "parent_index": 2702 }, - "expression": { - "id": 2726, - "node_type": 27, - "src": { - "line": 1018, - "column": 8, - "start": 36564, - "end": 36599, - "length": 36, - "parent_index": 2725 - }, - "operator": 11, - "left_expression": { - "id": 2727, - "node_type": 16, - "src": { - "line": 1018, - "column": 8, - "start": 36564, - "end": 36570, - "length": 7, - "parent_index": 2726 - }, - "name": "amounts", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" }, - "right_expression": { - "id": 2728, - "node_type": 24, - "kind": 24, + { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + } + ], + "arguments": [ + { + "id": 2712, + "node_type": 96, "src": { - "line": 1018, - "column": 18, - "start": 36574, - "end": 36599, - "length": 26, - "parent_index": 2726 + "line": 1060, + "column": 12, + "start": 38325, + "end": 38352, + "length": 28, + "parent_index": 2709 }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ], - "arguments": [ + "expressions": [ { - "id": 2731, + "id": 2713, "is_constant": false, - "is_l_value": false, "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "node_type": 19, "src": { - "line": 1018, - "column": 32, - "start": 36588, - "end": 36598, - "length": 11, - "parent_index": 2728 - }, - "member_location": { - "line": 1018, - "column": 37, - "start": 36593, - "end": 36598, - "length": 6, - "parent_index": 2731 + "line": 1060, + "column": 12, + "start": 38325, + "end": 38336, + "length": 12, + "parent_index": 2712 }, - "expression": { - "id": 2732, + "operator": 7, + "left_expression": { + "id": 2714, "node_type": 16, "src": { - "line": 1018, - "column": 32, - "start": 36588, - "end": 36591, - "length": 4, - "parent_index": 2731 + "line": 1060, + "column": 12, + "start": 38325, + "end": 38332, + "length": 8, + "parent_index": 2713 }, - "name": "path", + "name": "reserveA", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2732, - "is_pure": false + "referenced_declaration": 2714, + "is_pure": false, + "text": "reserveA" + }, + "right_expression": { + "id": 2715, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1060, + "column": 23, + "start": 38336, + "end": 38336, + "length": 1, + "parent_index": 2713 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, - "member_name": "length", - "argument_types": [], "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } - } - ], - "expression": { - "id": 2729, - "node_type": 25, - "src": { - "line": 1018, - "column": 18, - "start": 36574, - "end": 36586, - "length": 13, - "parent_index": 2728 }, - "argument_types": [], - "type_name": { - "id": 2730, - "node_type": 16, + { + "id": 2716, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 1018, - "column": 22, - "start": 36578, - "end": 36584, - "length": 7, - "parent_index": 2729 + "line": 1060, + "column": 28, + "start": 38341, + "end": 38352, + "length": 12, + "parent_index": 2712 + }, + "operator": 7, + "left_expression": { + "id": 2717, + "node_type": 16, + "src": { + "line": 1060, + "column": 28, + "start": 38341, + "end": 38348, + "length": 8, + "parent_index": 2716 + }, + "name": "reserveB", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2717, + "is_pure": false, + "text": "reserveB" + }, + "right_expression": { + "id": 2718, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1060, + "column": 39, + "start": 38352, + "end": 38352, + "length": 1, + "parent_index": 2716 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } + } + ], + "type_descriptions": [ + { + "type_identifier": "t_bool", + "type_string": "bool" }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "type_identifier": "t_bool", + "type_string": "bool" } + ] + }, + { + "id": 2719, + "node_type": 17, + "kind": 50, + "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY", + "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", + "src": { + "line": 1061, + "column": 12, + "start": 38367, + "end": 38408, + "length": 42, + "parent_index": 2709 }, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + } + ], + "expression": { + "id": 2710, + "node_type": 16, + "src": { + "line": 1059, + "column": 8, + "start": 38304, + "end": 38310, + "length": 7, + "parent_index": 2709 }, + "name": "require", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_bool$_t_string_literal$", + "type_string": "function(bool,string memory)" } }, { - "id": 2733, + "id": 2720, "node_type": 27, "src": { - "line": 1019, + "line": 1063, "column": 8, - "start": 36610, - "end": 36649, - "length": 40, - "parent_index": 2717 + "start": 38429, + "end": 38471, + "length": 43, + "parent_index": 2702 }, "expression": { - "id": 2734, + "id": 2721, "node_type": 27, "src": { - "line": 1019, + "line": 1063, "column": 8, - "start": 36610, - "end": 36648, - "length": 39, - "parent_index": 2733 + "start": 38429, + "end": 38470, + "length": 42, + "parent_index": 2720 }, "operator": 11, "left_expression": { - "id": 2735, - "node_type": 22, + "id": 2722, + "node_type": 16, "src": { - "line": 1019, + "line": 1063, "column": 8, - "start": 36610, - "end": 36636, - "length": 27, - "parent_index": 2734 + "start": 38429, + "end": 38435, + "length": 7, + "parent_index": 2721 }, - "index_expression": { - "id": 2736, - "node_type": 16, - "src": { - "line": 1019, - "column": 8, - "start": 36610, - "end": 36616, - "length": 7, - "parent_index": 2735 - }, - "name": "amounts", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "name": "amountB", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "base_expression": { - "id": 2737, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "overloaded_declarations": [], + "referenced_declaration": 2700, + "is_pure": false, + "text": "amountB" + }, + "right_expression": { + "id": 2723, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1063, + "column": 18, + "start": 38439, + "end": 38470, + "length": 32, + "parent_index": 2721 + }, + "operator": 4, + "left_expression": { + "id": 2724, + "node_type": 24, + "kind": 24, "src": { - "line": 1019, - "column": 16, - "start": 36618, - "end": 36635, - "length": 18, - "parent_index": 2735 + "line": 1063, + "column": 18, + "start": 38439, + "end": 38459, + "length": 21, + "parent_index": 2723 }, - "operator": 2, - "left_expression": { - "id": 2738, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "arguments": [ + { + "id": 2727, + "node_type": 16, + "src": { + "line": 1063, + "column": 30, + "start": 38451, + "end": 38458, + "length": 8, + "parent_index": 2724 + }, + "name": "reserveB", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2727, + "is_pure": false, + "text": "reserveB" + } + ], + "expression": { + "id": 2725, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1019, - "column": 16, - "start": 36618, - "end": 36631, - "length": 14, - "parent_index": 2737 + "line": 1063, + "column": 18, + "start": 38439, + "end": 38449, + "length": 11, + "parent_index": 2724 }, "member_location": { - "line": 1019, - "column": 24, - "start": 36626, - "end": 36631, - "length": 6, - "parent_index": 2738 + "line": 1063, + "column": 26, + "start": 38447, + "end": 38449, + "length": 3, + "parent_index": 2725 }, "expression": { - "id": 2739, + "id": 2726, "node_type": 16, "src": { - "line": 1019, - "column": 16, - "start": 36618, - "end": 36624, + "line": 1063, + "column": 18, + "start": 38439, + "end": 38445, "length": 7, - "parent_index": 2738 + "parent_index": 2725 }, - "name": "amounts", + "name": "amountA", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2726, + "is_pure": false, + "text": "amountA" }, - "member_name": "length", + "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } - }, - "right_expression": { - "id": 2740, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 1019, - "column": 33, - "start": 36635, - "end": 36635, - "length": 1, - "parent_index": 2737 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "text": "amountA.mul" }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" } }, - "type_descriptions": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "right_expression": { + "id": 2728, + "node_type": 16, + "src": { + "line": 1063, + "column": 42, + "start": 38463, + "end": 38470, + "length": 8, + "parent_index": 2723 }, - { + "name": "reserveA", + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - } - }, - "right_expression": { - "id": 2741, - "node_type": 16, - "src": { - "line": 1019, - "column": 38, - "start": 36640, - "end": 36648, - "length": 9, - "parent_index": 2734 + }, + "overloaded_declarations": [], + "referenced_declaration": 2728, + "is_pure": false, + "text": "reserveA" }, - "name": "amountOut", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2741, - "is_pure": false + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + } }, "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "amountB=amountA.mul(reserveB)/reserveA;" + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2692, + "node_type": 43, + "src": { + "line": 1054, + "column": 8, + "start": 38109, + "end": 38175, + "length": 67, + "parent_index": 2691 + }, + "parameters": [ + { + "id": 2693, + "node_type": 44, + "src": { + "line": 1054, + "column": 8, + "start": 38109, + "end": 38123, + "length": 15, + "parent_index": 2692 + }, + "scope": 2691, + "name": "amountA", + "type_name": { + "id": 2694, + "node_type": 30, + "src": { + "line": 1054, + "column": 8, + "start": 38109, + "end": 38115, + "length": 7, + "parent_index": 2693 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 2742, - "node_type": 79, + "id": 2695, + "node_type": 44, "src": { - "line": 1020, - "column": 0, - "start": 36659, - "end": 36982, - "length": 324, - "parent_index": 2717 + "line": 1055, + "column": 8, + "start": 38134, + "end": 38149, + "length": 16, + "parent_index": 2692 }, - "initialiser": { - "id": 2743, - "node_type": 44, + "scope": 2691, + "name": "reserveA", + "type_name": { + "id": 2696, + "node_type": 30, "src": { - "line": 1020, - "column": 13, - "start": 36664, - "end": 36691, - "length": 28, - "parent_index": 2717 + "line": 1055, + "column": 8, + "start": 38134, + "end": 38140, + "length": 7, + "parent_index": 2695 }, - "assignments": [ - 2744 - ], - "declarations": [ - { - "id": 2744, - "state_mutability": 1, - "name": "i", - "node_type": 44, - "scope": 2717, - "src": { - "line": 1020, - "column": 13, - "start": 36664, - "end": 36672, - "length": 9, - "parent_index": 2743 - }, - "name_location": { - "line": 1020, - "column": 21, - "start": 36672, - "end": 36672, - "length": 1, - "parent_index": 2744 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2745, - "node_type": 30, - "src": { - "line": 1020, - "column": 13, - "start": 36664, - "end": 36670, - "length": 7, - "parent_index": 2744 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2746, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 2697, + "node_type": 44, + "src": { + "line": 1056, + "column": 8, + "start": 38160, + "end": 38175, + "length": 16, + "parent_index": 2692 + }, + "scope": 2691, + "name": "reserveB", + "type_name": { + "id": 2698, + "node_type": 30, + "src": { + "line": 1056, + "column": 8, + "start": 38160, + "end": 38166, + "length": 7, + "parent_index": 2697 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 2699, + "node_type": 43, + "src": { + "line": 1057, + "column": 29, + "start": 38206, + "end": 38220, + "length": 15, + "parent_index": 2691 + }, + "parameters": [ + { + "id": 2700, + "node_type": 44, + "src": { + "line": 1057, + "column": 29, + "start": 38206, + "end": 38220, + "length": 15, + "parent_index": 2699 + }, + "scope": 2691, + "name": "amountB", + "type_name": { + "id": 2701, + "node_type": 30, + "src": { + "line": 1057, + "column": 29, + "start": 38206, + "end": 38212, + "length": 7, + "parent_index": 2700 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "quote(uint256,uint256,uint256)", + "signature": "ad615dec", + "scope": 2535, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256,uint256)" + }, + "text": "functionquote(uint256amountA,uint256reserveA,uint256reserveB)internalpurereturns(uint256amountB){require(amountA\u003e0,\"UniswapV2Library: INSUFFICIENT_AMOUNT\");require(reserveA\u003e0\u0026\u0026reserveB\u003e0,\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\");amountB=amountA.mul(reserveB)/reserveA;}" + }, + { + "id": 2730, + "name": "getAmountOut", + "node_type": 42, + "kind": 41, + "src": { + "line": 1067, + "column": 4, + "start": 38597, + "end": 39191, + "length": 595, + "parent_index": 2535 + }, + "name_location": { + "line": 1067, + "column": 13, + "start": 38606, + "end": 38617, + "length": 12, + "parent_index": 2730 + }, + "body": { + "id": 2741, + "node_type": 46, + "kind": 0, + "src": { + "line": 1071, + "column": 48, + "start": 38748, + "end": 39191, + "length": 444, + "parent_index": 2730 + }, + "implemented": true, + "statements": [ + { + "id": 2742, + "node_type": 24, + "kind": 24, + "src": { + "line": 1072, + "column": 8, + "start": 38758, + "end": 38825, + "length": 68, + "parent_index": 2741 + }, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" + } + ], + "arguments": [ + { + "id": 2744, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1020, - "column": 25, - "start": 36676, - "end": 36690, - "length": 15, - "parent_index": 2743 + "line": 1072, + "column": 16, + "start": 38766, + "end": 38777, + "length": 12, + "parent_index": 2742 }, - "operator": 2, + "operator": 7, "left_expression": { - "id": 2747, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 2745, + "node_type": 16, "src": { - "line": 1020, - "column": 25, - "start": 36676, - "end": 36686, - "length": 11, - "parent_index": 2743 - }, - "member_location": { - "line": 1020, - "column": 30, - "start": 36681, - "end": 36686, - "length": 6, - "parent_index": 2747 - }, - "expression": { - "id": 2748, - "node_type": 16, - "src": { - "line": 1020, - "column": 25, - "start": 36676, - "end": 36679, - "length": 4, - "parent_index": 2747 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2748, - "is_pure": false + "line": 1072, + "column": 16, + "start": 38766, + "end": 38773, + "length": 8, + "parent_index": 2744 }, - "member_name": "length", - "argument_types": [], + "name": "amountIn", "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2745, + "is_pure": false, + "text": "amountIn" }, "right_expression": { - "id": 2749, + "id": 2746, "node_type": 17, "kind": 49, - "value": "1", - "hex_value": "31", + "value": "0", + "hex_value": "30", "src": { - "line": 1020, - "column": 39, - "start": 36690, - "end": 36690, + "line": 1072, + "column": 27, + "start": 38777, + "end": 38777, "length": 1, - "parent_index": 2746 + "parent_index": 2744 }, "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } - } - }, - "condition": { - "id": 2750, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1020, - "column": 42, - "start": 36693, - "end": 36697, - "length": 5, - "parent_index": 2742 - }, - "operator": 7, - "left_expression": { - "id": 2751, - "node_type": 16, - "src": { - "line": 1020, - "column": 42, - "start": 36693, - "end": 36693, - "length": 1, - "parent_index": 2750 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false }, - "right_expression": { - "id": 2752, + { + "id": 2747, "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "kind": 50, + "value": "UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT", + "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54", "src": { - "line": 1020, - "column": 46, - "start": 36697, - "end": 36697, - "length": 1, - "parent_index": 2750 + "line": 1072, + "column": 30, + "start": 38780, + "end": 38824, + "length": 45, + "parent_index": 2742 }, "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "\"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" } - }, - "closure": { - "id": 2753, - "node_type": 18, - "kind": 105, + ], + "expression": { + "id": 2743, + "node_type": 16, "src": { - "line": 1020, - "column": 49, - "start": 36700, - "end": 36702, - "length": 3, - "parent_index": 2704 - }, - "operator": 28, - "expression": { - "id": 2754, - "node_type": 16, - "src": { - "line": 1020, - "column": 49, - "start": 36700, - "end": 36700, - "length": 1, - "parent_index": 2753 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "line": 1072, + "column": 8, + "start": 38758, + "end": 38764, + "length": 7, + "parent_index": 2742 }, + "name": "require", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$", + "type_string": "function()" }, - "prefix": false, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "body": { - "id": 2755, - "node_type": 46, - "kind": 0, - "src": { - "line": 1020, - "column": 54, - "start": 36705, - "end": 36982, - "length": 278, - "parent_index": 2742 + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string_literal$", + "type_string": "function(bool,string memory)" + } + }, + { + "id": 2748, + "node_type": 24, + "kind": 24, + "src": { + "line": 1073, + "column": 8, + "start": 38836, + "end": 38953, + "length": 118, + "parent_index": 2741 + }, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" }, - "implemented": true, - "statements": [ - { - "id": 2756, - "node_type": 44, - "src": { - "line": 1021, - "column": 12, - "start": 36719, - "end": 36895, - "length": 177, - "parent_index": 2755 - }, - "assignments": [ - 2757, - 2759 - ], - "declarations": [ - { - "id": 2757, - "state_mutability": 1, - "name": "reserveIn", - "node_type": 44, - "scope": 2755, + { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + } + ], + "arguments": [ + { + "id": 2751, + "node_type": 96, + "src": { + "line": 1074, + "column": 12, + "start": 38857, + "end": 38887, + "length": 31, + "parent_index": 2748 + }, + "expressions": [ + { + "id": 2752, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1074, + "column": 12, + "start": 38857, + "end": 38869, + "length": 13, + "parent_index": 2751 + }, + "operator": 7, + "left_expression": { + "id": 2753, + "node_type": 16, "src": { - "line": 1021, - "column": 13, - "start": 36720, - "end": 36736, - "length": 17, - "parent_index": 2756 - }, - "name_location": { - "line": 1021, - "column": 21, - "start": 36728, - "end": 36736, + "line": 1074, + "column": 12, + "start": 38857, + "end": 38865, "length": 9, - "parent_index": 2757 + "parent_index": 2752 }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2758, - "node_type": 30, - "src": { - "line": 1021, - "column": 13, - "start": 36720, - "end": 36726, - "length": 7, - "parent_index": 2757 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "name": "reserveIn", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "visibility": 1 + "overloaded_declarations": [], + "referenced_declaration": 2753, + "is_pure": false, + "text": "reserveIn" }, - { - "id": 2759, - "state_mutability": 1, - "name": "reserveOut", - "node_type": 44, - "scope": 2755, - "src": { - "line": 1021, - "column": 32, - "start": 36739, - "end": 36756, - "length": 18, - "parent_index": 2756 - }, - "name_location": { - "line": 1021, - "column": 40, - "start": 36747, - "end": 36756, - "length": 10, - "parent_index": 2759 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2760, - "node_type": 30, - "src": { - "line": 1021, - "column": 32, - "start": 36739, - "end": 36745, - "length": 7, - "parent_index": 2759 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2761, - "node_type": 24, - "kind": 24, - "src": { - "line": 1021, - "column": 54, - "start": 36761, - "end": 36894, - "length": 134, - "parent_index": 2756 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - }, - { - "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", - "type_string": "function(function(),index[address:uint256],index[address:uint256])" - } - ], - "arguments": [ - { - "id": 2763, - "node_type": 16, - "src": { - "line": 1022, - "column": 16, - "start": 36790, - "end": 36796, - "length": 7, - "parent_index": 2761 - }, - "name": "factory", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - { - "id": 2764, - "node_type": 22, - "src": { - "line": 1023, - "column": 16, - "start": 36815, - "end": 36825, - "length": 11, - "parent_index": 2761 - }, - "index_expression": { - "id": 2765, - "node_type": 16, - "src": { - "line": 1023, - "column": 16, - "start": 36815, - "end": 36818, - "length": 4, - "parent_index": 2764 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false - }, - "base_expression": { - "id": 2766, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1023, - "column": 21, - "start": 36820, - "end": 36824, - "length": 5, - "parent_index": 2764 - }, - "operator": 2, - "left_expression": { - "id": 2767, - "node_type": 16, - "src": { - "line": 1023, - "column": 21, - "start": 36820, - "end": 36820, - "length": 1, - "parent_index": 2766 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 2768, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 1023, - "column": 25, - "start": 36824, - "end": 36824, - "length": 1, - "parent_index": 2766 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_descriptions": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - } - }, - { - "id": 2769, - "node_type": 22, - "src": { - "line": 1024, - "column": 16, - "start": 36844, - "end": 36850, - "length": 7, - "parent_index": 2761 - }, - "index_expression": { - "id": 2770, - "node_type": 16, - "src": { - "line": 1024, - "column": 16, - "start": 36844, - "end": 36847, - "length": 4, - "parent_index": 2769 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false - }, - "base_expression": { - "id": 2771, - "node_type": 16, - "src": { - "line": 1024, - "column": 21, - "start": 36849, - "end": 36849, - "length": 1, - "parent_index": 2769 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - } - }, - { - "id": 2772, - "node_type": 16, - "src": { - "line": 1025, - "column": 16, - "start": 36869, - "end": 36880, - "length": 12, - "parent_index": 2761 - }, - "name": "pairCodeHash", - "type_description": { - "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", - "type_string": "function(function(),index[address:uint256],index[address:uint256])" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - } - ] - } - ], - "expression": { - "id": 2762, - "node_type": 16, + "right_expression": { + "id": 2754, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 1021, - "column": 54, - "start": 36761, - "end": 36771, - "length": 11, - "parent_index": 2761 + "line": 1074, + "column": 24, + "start": 38869, + "end": 38869, + "length": 1, + "parent_index": 2752 }, - "name": "getReserves", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": true, + "text": "0" }, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", - "type_string": "function(function(),index[address:uint256],index[address:uint256],function(function(),index[address:uint256],index[address:uint256]))" + "type_identifier": "t_bool", + "type_string": "bool" } - } - }, - { - "id": 2773, - "node_type": 27, - "src": { - "line": 1027, - "column": 12, - "start": 36909, - "end": 36972, - "length": 64, - "parent_index": 2755 }, - "expression": { - "id": 2774, - "node_type": 27, + { + "id": 2755, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 1027, - "column": 12, - "start": 36909, - "end": 36971, - "length": 63, - "parent_index": 2773 + "line": 1074, + "column": 29, + "start": 38874, + "end": 38887, + "length": 14, + "parent_index": 2751 }, - "operator": 11, + "operator": 7, "left_expression": { - "id": 2775, - "node_type": 22, + "id": 2756, + "node_type": 16, "src": { - "line": 1027, - "column": 12, - "start": 36909, - "end": 36922, - "length": 14, - "parent_index": 2774 - }, - "index_expression": { - "id": 2776, - "node_type": 16, - "src": { - "line": 1027, - "column": 12, - "start": 36909, - "end": 36915, - "length": 7, - "parent_index": 2775 - }, - "name": "amounts", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false - }, - "base_expression": { - "id": 2777, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1027, - "column": 20, - "start": 36917, - "end": 36921, - "length": 5, - "parent_index": 2775 - }, - "operator": 2, - "left_expression": { - "id": 2778, - "node_type": 16, - "src": { - "line": 1027, - "column": 20, - "start": 36917, - "end": 36917, - "length": 1, - "parent_index": 2777 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 2779, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 1027, - "column": 24, - "start": 36921, - "end": 36921, - "length": 1, - "parent_index": 2777 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 1074, + "column": 29, + "start": 38874, + "end": 38883, + "length": 10, + "parent_index": 2755 }, - "type_descriptions": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], + "name": "reserveOut", "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2756, + "is_pure": false, + "text": "reserveOut" }, "right_expression": { - "id": 2780, - "node_type": 24, - "kind": 24, + "id": 2757, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 1027, - "column": 29, - "start": 36926, - "end": 36971, - "length": 46, - "parent_index": 2774 - }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "arguments": [ - { - "id": 2782, - "node_type": 22, - "src": { - "line": 1027, - "column": 41, - "start": 36938, - "end": 36947, - "length": 10, - "parent_index": 2780 - }, - "index_expression": { - "id": 2783, - "node_type": 16, - "src": { - "line": 1027, - "column": 41, - "start": 36938, - "end": 36944, - "length": 7, - "parent_index": 2782 - }, - "name": "amounts", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false - }, - "base_expression": { - "id": 2784, - "node_type": 16, - "src": { - "line": 1027, - "column": 49, - "start": 36946, - "end": 36946, - "length": 1, - "parent_index": 2782 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - } - }, - { - "id": 2785, - "node_type": 16, - "src": { - "line": 1027, - "column": 53, - "start": 36950, - "end": 36958, - "length": 9, - "parent_index": 2780 - }, - "name": "reserveIn", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2756, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - } - ] - }, - { - "id": 2786, - "node_type": 16, - "src": { - "line": 1027, - "column": 64, - "start": 36961, - "end": 36970, - "length": 10, - "parent_index": 2780 - }, - "name": "reserveOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2756, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - } - ], - "expression": { - "id": 2781, - "node_type": 16, - "src": { - "line": 1027, - "column": 29, - "start": 36926, - "end": 36936, - "length": 11, - "parent_index": 2780 - }, - "name": "getAmountIn", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "line": 1074, + "column": 42, + "start": 38887, + "end": 38887, + "length": 1, + "parent_index": 2755 }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", - "type_string": "function(index[uint256:uint256],uint256,uint256)" - } + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" + "type_identifier": "t_bool", + "type_string": "bool" } + } + ], + "type_descriptions": [ + { + "type_identifier": "t_bool", + "type_string": "bool" }, - "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" + { + "type_identifier": "t_bool", + "type_string": "bool" } - } - ] - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 2705, - "node_type": 43, - "src": { - "line": 1012, - "column": 8, - "start": 36326, - "end": 36428, - "length": 103, - "parent_index": 2704 - }, - "parameters": [ - { - "id": 2706, - "node_type": 44, - "src": { - "line": 1012, - "column": 8, - "start": 36326, - "end": 36340, - "length": 15, - "parent_index": 2705 - }, - "scope": 2704, - "name": "factory", - "type_name": { - "id": 2707, - "node_type": 30, - "src": { - "line": 1012, - "column": 8, - "start": 36326, - "end": 36332, - "length": 7, - "parent_index": 2706 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 2708, - "node_type": 44, - "src": { - "line": 1013, - "column": 8, - "start": 36351, - "end": 36367, - "length": 17, - "parent_index": 2705 - }, - "scope": 2704, - "name": "amountOut", - "type_name": { - "id": 2709, - "node_type": 30, - "src": { - "line": 1013, - "column": 8, - "start": 36351, - "end": 36357, - "length": 7, - "parent_index": 2708 + ] }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "id": 2758, + "node_type": 17, + "kind": 50, + "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY", + "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", + "src": { + "line": 1075, + "column": 12, + "start": 38902, + "end": 38943, + "length": 42, + "parent_index": 2748 + }, + "type_description": { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 2710, - "node_type": 44, - "src": { - "line": 1014, - "column": 8, - "start": 36378, - "end": 36398, - "length": 21, - "parent_index": 2705 - }, - "scope": 2704, - "name": "path", - "type_name": { - "id": 2711, + ], + "expression": { + "id": 2749, "node_type": 16, "src": { - "line": 1014, - "column": 8, - "start": 36378, - "end": 36384, - "length": 7, - "parent_index": 2710 - }, - "name": "address", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 2712, - "node_type": 44, - "src": { - "line": 1015, - "column": 8, - "start": 36409, - "end": 36428, - "length": 20, - "parent_index": 2705 - }, - "scope": 2704, - "name": "pairCodeHash", - "type_name": { - "id": 2713, - "node_type": 30, - "src": { - "line": 1015, + "line": 1073, "column": 8, - "start": 36409, - "end": 36415, + "start": 38836, + "end": 38842, "length": 7, - "parent_index": 2712 + "parent_index": 2748 }, - "name": "bytes32", - "referenced_declaration": 0, + "name": "require", "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - ] - }, - "return_parameters": { - "id": 2714, - "node_type": 43, - "src": { - "line": 1016, - "column": 29, - "start": 36459, - "end": 36482, - "length": 24, - "parent_index": 2704 - }, - "parameters": [ - { - "id": 2715, - "node_type": 44, - "src": { - "line": 1016, - "column": 29, - "start": 36459, - "end": 36482, - "length": 24, - "parent_index": 2714 - }, - "scope": 2704, - "name": "amounts", - "type_name": { - "id": 2716, - "node_type": 16, - "src": { - "line": 1016, - "column": 29, - "start": 36459, - "end": 36465, - "length": 7, - "parent_index": 2715 + "type_identifier": "t_function_$", + "type_string": "function()" }, - "name": "uint256", + "overloaded_declarations": [], "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "is_pure": true, + "text": "require" }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_bool$_t_string_literal$", + "type_string": "function(bool,string memory)" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "getAmountsIn(address, uint256, address, bytes32)", - "signature": "9c6b5824", - "scope": 2309, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", - "type_string": "function(address,uint256,address,bytes32)" - } - } - ], - "linearized_base_contracts": [ - 2309 - ], - "base_contracts": [], - "contract_dependencies": [] - } - ], - "src": { - "line": 886, - "column": 0, - "start": 31668, - "end": 36990, - "length": 5323, - "parent_index": 272 - } - }, - { - "id": 2787, - "base_contracts": [ - { - "id": 2820, - "node_type": 62, - "src": { - "line": 1042, - "column": 40, - "start": 37300, - "end": 37313, - "length": 14, - "parent_index": 2819 - }, - "base_name": { - "id": 2821, - "node_type": 52, - "src": { - "line": 1042, - "column": 40, - "start": 37300, - "end": 37313, - "length": 14, - "parent_index": 2819 - }, - "name": "ImmutableState", - "referenced_declaration": 948 - } - } - ], - "license": "GPL-3.0-or-later", - "exported_symbols": [ - { - "id": 2787, - "name": "SushiLegacyAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiLegacyAdapter.sol" - }, - { - "id": 2281, - "name": "SafeERC20", - "absolute_path": "SafeERC20.sol" - }, - { - "id": 2281, - "name": "UniswapV2Library", - "absolute_path": "UniswapV2Library.sol" - }, - { - "id": 2281, - "name": "ImmutableState", - "absolute_path": "ImmutableState.sol" - } - ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiLegacyAdapter.sol", - "name": "SushiLegacyAdapter", - "node_type": 1, - "nodes": [ - { - "id": 2803, - "node_type": 10, - "src": { - "line": 1034, - "column": 0, - "start": 37039, - "end": 37061, - "length": 23, - "parent_index": 2787 - }, - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "text": "pragma solidity 0.8.11;" - }, - { - "id": 2816, - "node_type": 29, - "src": { - "line": 1036, - "column": 0, - "start": 37064, - "end": 37088, - "length": 25, - "parent_index": 2787 - }, - "absolute_path": "SafeERC20.sol", - "file": "./SafeERC20.sol", - "scope": 2787, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 2281 - }, - { - "id": 2817, - "node_type": 29, - "src": { - "line": 1037, - "column": 0, - "start": 37090, - "end": 37121, - "length": 32, - "parent_index": 2787 - }, - "absolute_path": "UniswapV2Library.sol", - "file": "./UniswapV2Library.sol", - "scope": 2787, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 2281 - }, - { - "id": 2818, - "node_type": 29, - "src": { - "line": 1038, - "column": 0, - "start": 37123, - "end": 37152, - "length": 30, - "parent_index": 2787 - }, - "absolute_path": "ImmutableState.sol", - "file": "./ImmutableState.sol", - "scope": 2787, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 2281 - }, - { - "id": 2819, - "name": "SushiLegacyAdapter", - "node_type": 35, - "src": { - "line": 1042, - "column": 0, - "start": 37260, - "end": 39353, - "length": 2094, - "parent_index": 2787 - }, - "name_location": { - "line": 1042, - "column": 18, - "start": 37278, - "end": 37295, - "length": 18, - "parent_index": 2819 - }, - "abstract": false, - "kind": 36, - "fully_implemented": true, - "nodes": [ - { - "id": 2823, - "node_type": 51, - "src": { - "line": 1043, - "column": 0, - "start": 37321, - "end": 37347, - "length": 27, - "parent_index": 2819 - }, - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - }, - "type_name": { - "id": 2825, - "node_type": 69, - "src": { - "line": 1043, - "column": 24, - "start": 37341, - "end": 37346, - "length": 6, - "parent_index": 2823 - }, - "path_node": { - "id": 2826, - "name": "IERC20", - "node_type": 52, - "referenced_declaration": 1089, - "src": { - "line": 1043, - "column": 24, - "start": 37341, - "end": 37346, - "length": 6, - "parent_index": 2825 }, - "name_location": { - "line": 1043, - "column": 24, - "start": 37341, - "end": 37346, - "length": 6, - "parent_index": 2825 - } - }, - "referenced_declaration": 1089, - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - } - }, - "library_name": { - "id": 2824, - "node_type": 52, - "src": { - "line": 1043, - "column": 0, - "start": 37327, - "end": 37335, - "length": 9, - "parent_index": 2823 - }, - "name": "SafeERC20", - "referenced_declaration": 1373 - } - }, - { - "id": 2828, - "name": "_swapExactTokensForTokens", - "node_type": 42, - "kind": 41, - "src": { - "line": 1045, - "column": 4, - "start": 37354, - "end": 38294, - "length": 941, - "parent_index": 2819 - }, - "name_location": { - "line": 1045, - "column": 13, - "start": 37363, - "end": 37387, - "length": 25, - "parent_index": 2828 - }, - "body": { - "id": 2843, - "node_type": 46, - "kind": 0, - "src": { - "line": 1051, - "column": 43, - "start": 37564, - "end": 38294, - "length": 731, - "parent_index": 2828 - }, - "implemented": true, - "statements": [ { - "id": 2844, + "id": 2759, "node_type": 44, "src": { - "line": 1052, + "line": 1077, "column": 8, - "start": 37574, - "end": 37728, - "length": 155, - "parent_index": 2843 + "start": 38964, + "end": 39007, + "length": 44, + "parent_index": 2741 }, "assignments": [ - 2845 + 2760 ], "declarations": [ { - "id": 2845, + "id": 2760, "state_mutability": 1, - "name": "amounts", + "name": "amountInWithFee", "node_type": 44, - "scope": 2843, + "scope": 2741, "src": { - "line": 1052, + "line": 1077, "column": 8, - "start": 37574, - "end": 37597, - "length": 24, - "parent_index": 2844 + "start": 38964, + "end": 38986, + "length": 23, + "parent_index": 2759 }, "name_location": { - "line": 1052, - "column": 25, - "start": 37591, - "end": 37597, - "length": 7, - "parent_index": 2845 + "line": 1077, + "column": 16, + "start": 38972, + "end": 38986, + "length": 15, + "parent_index": 2760 }, "is_state_variable": false, - "storage_location": 2, + "storage_location": 1, "type_name": { - "id": 2846, - "node_type": 16, + "id": 2761, + "node_type": 30, "src": { - "line": 1052, + "line": 1077, "column": 8, - "start": 37574, - "end": 37580, + "start": 38964, + "end": 38970, "length": 7, - "parent_index": 2845 + "parent_index": 2760 }, "name": "uint256", "referenced_declaration": 0, @@ -51911,66 +51332,81 @@ } ], "initial_value": { - "id": 2847, + "id": 2762, "node_type": 24, "kind": 24, "src": { - "line": 1052, - "column": 35, - "start": 37601, - "end": 37727, - "length": 127, - "parent_index": 2844 + "line": 1077, + "column": 34, + "start": 38990, + "end": 39006, + "length": 17, + "parent_index": 2759 }, "argument_types": [ { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_function_$_t_function_$$$_t_uint256$$_t_address$", - "type_string": "function(function(),uint256,address)" + "type_identifier": "t_rational_997_by_1", + "type_string": "int_const 997" } ], "arguments": [ { - "id": 2850, - "node_type": 16, + "id": 2765, + "node_type": 17, + "kind": 49, + "value": "997", + "hex_value": "393937", "src": { - "line": 1053, - "column": 12, - "start": 37645, - "end": 37651, - "length": 7, - "parent_index": 2847 + "line": 1077, + "column": 47, + "start": 39003, + "end": 39005, + "length": 3, + "parent_index": 2762 }, - "name": "factory", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_rational_997_by_1", + "type_string": "int_const 997" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": true, + "text": "997" + } + ], + "expression": { + "id": 2763, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1077, + "column": 34, + "start": 38990, + "end": 39001, + "length": 12, + "parent_index": 2762 }, - { - "id": 2851, + "member_location": { + "line": 1077, + "column": 43, + "start": 38999, + "end": 39001, + "length": 3, + "parent_index": 2763 + }, + "expression": { + "id": 2764, "node_type": 16, "src": { - "line": 1054, - "column": 12, - "start": 37666, - "end": 37673, + "line": 1077, + "column": 34, + "start": 38990, + "end": 38997, "length": 8, - "parent_index": 2847 + "parent_index": 2763 }, "name": "amountIn", "type_description": { @@ -51978,1389 +51414,1898 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2851, + "referenced_declaration": 2764, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ] + "text": "amountIn" }, - { - "id": 2852, - "node_type": 16, - "src": { - "line": 1055, - "column": 12, - "start": 37688, - "end": 37691, - "length": 4, - "parent_index": 2847 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2852, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + "member_name": "mul", + "argument_types": [], + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - { - "id": 2853, - "node_type": 16, - "src": { - "line": 1056, - "column": 12, - "start": 37706, - "end": 37717, - "length": 12, - "parent_index": 2847 + "text": "amountIn.mul" + }, + "type_description": { + "type_identifier": "t_function_$_t_rational_997_by_1$", + "type_string": "function(int_const 997)" + } + } + }, + { + "id": 2766, + "node_type": 44, + "src": { + "line": 1078, + "column": 8, + "start": 39017, + "end": 39068, + "length": 52, + "parent_index": 2741 + }, + "assignments": [ + 2767 + ], + "declarations": [ + { + "id": 2767, + "state_mutability": 1, + "name": "numerator", + "node_type": 44, + "scope": 2741, + "src": { + "line": 1078, + "column": 8, + "start": 39017, + "end": 39033, + "length": 17, + "parent_index": 2766 + }, + "name_location": { + "line": 1078, + "column": 16, + "start": 39025, + "end": 39033, + "length": 9, + "parent_index": 2767 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2768, + "node_type": 30, + "src": { + "line": 1078, + "column": 8, + "start": 39017, + "end": 39023, + "length": 7, + "parent_index": 2767 }, - "name": "pairCodeHash", + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$_t_function_$$$_t_uint256$$_t_address$", - "type_string": "function(function(),uint256,address)" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 2769, + "node_type": 24, + "kind": 24, + "src": { + "line": 1078, + "column": 28, + "start": 39037, + "end": 39067, + "length": 31, + "parent_index": 2766 + }, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "arguments": [ + { + "id": 2772, + "node_type": 16, + "src": { + "line": 1078, + "column": 48, + "start": 39057, + "end": 39066, + "length": 10, + "parent_index": 2769 + }, + "name": "reserveOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, + "referenced_declaration": 2772, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "text": "reserveOut" } ], "expression": { - "id": 2848, + "id": 2770, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1052, - "column": 35, - "start": 37601, - "end": 37630, - "length": 30, - "parent_index": 2847 + "line": 1078, + "column": 28, + "start": 39037, + "end": 39055, + "length": 19, + "parent_index": 2769 }, "member_location": { - "line": 1052, - "column": 52, - "start": 37618, - "end": 37630, - "length": 13, - "parent_index": 2848 + "line": 1078, + "column": 44, + "start": 39053, + "end": 39055, + "length": 3, + "parent_index": 2770 }, "expression": { - "id": 2849, + "id": 2771, "node_type": 16, "src": { - "line": 1052, - "column": 35, - "start": 37601, - "end": 37616, - "length": 16, - "parent_index": 2848 + "line": 1078, + "column": 28, + "start": 39037, + "end": 39051, + "length": 15, + "parent_index": 2770 }, - "name": "UniswapV2Library", + "name": "amountInWithFee", "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false + "referenced_declaration": 2759, + "is_pure": false, + "text": "amountInWithFee" }, - "member_name": "getAmountsOut", + "member_name": "mul", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "amountInWithFee.mul" }, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$_t_function_$_t_function_$_t_uint256$_t_address$", - "type_string": "function(function(),uint256,address,function(function(),uint256,address))" + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" } } }, { - "id": 2854, - "node_type": 27, + "id": 2773, + "node_type": 44, "src": { - "line": 1058, + "line": 1079, "column": 8, - "start": 37738, - "end": 37777, - "length": 40, - "parent_index": 2843 + "start": 39078, + "end": 39140, + "length": 63, + "parent_index": 2741 }, - "expression": { - "id": 2855, - "node_type": 27, - "src": { - "line": 1058, - "column": 8, - "start": 37738, - "end": 37776, - "length": 39, - "parent_index": 2854 - }, - "operator": 11, - "left_expression": { - "id": 2856, - "node_type": 16, + "assignments": [ + 2774 + ], + "declarations": [ + { + "id": 2774, + "state_mutability": 1, + "name": "denominator", + "node_type": 44, + "scope": 2741, "src": { - "line": 1058, + "line": 1079, "column": 8, - "start": 37738, - "end": 37746, - "length": 9, - "parent_index": 2855 + "start": 39078, + "end": 39096, + "length": 19, + "parent_index": 2773 }, - "name": "amountOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "name_location": { + "line": 1079, + "column": 16, + "start": 39086, + "end": 39096, + "length": 11, + "parent_index": 2774 }, - "overloaded_declarations": [], - "referenced_declaration": 646, - "is_pure": false - }, - "right_expression": { - "id": 2857, - "node_type": 22, - "src": { - "line": 1058, - "column": 20, - "start": 37750, - "end": 37776, - "length": 27, - "parent_index": 2855 + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2775, + "node_type": 30, + "src": { + "line": 1079, + "column": 8, + "start": 39078, + "end": 39084, + "length": 7, + "parent_index": 2774 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "index_expression": { - "id": 2858, + "visibility": 1 + } + ], + "initial_value": { + "id": 2776, + "node_type": 24, + "kind": 24, + "src": { + "line": 1079, + "column": 30, + "start": 39100, + "end": 39139, + "length": 40, + "parent_index": 2773 + }, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "arguments": [ + { + "id": 2782, "node_type": 16, "src": { - "line": 1058, - "column": 20, - "start": 37750, - "end": 37756, - "length": 7, - "parent_index": 2857 + "line": 1079, + "column": 54, + "start": 39124, + "end": 39138, + "length": 15, + "parent_index": 2776 }, - "name": "amounts", + "name": "amountInWithFee", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2844, - "is_pure": false - }, - "base_expression": { - "id": 2859, - "is_constant": false, + "referenced_declaration": 2759, "is_pure": false, - "node_type": 19, + "text": "amountInWithFee" + } + ], + "expression": { + "id": 2777, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1079, + "column": 30, + "start": 39100, + "end": 39122, + "length": 23, + "parent_index": 2776 + }, + "member_location": { + "line": 1079, + "column": 50, + "start": 39120, + "end": 39122, + "length": 3, + "parent_index": 2777 + }, + "expression": { + "id": 2778, + "node_type": 24, + "kind": 24, "src": { - "line": 1058, - "column": 28, - "start": 37758, - "end": 37775, - "length": 18, - "parent_index": 2857 + "line": 1079, + "column": 30, + "start": 39100, + "end": 39118, + "length": 19, + "parent_index": 2777 }, - "operator": 2, - "left_expression": { - "id": 2860, + "argument_types": [ + { + "type_identifier": "t_rational_1000_by_1", + "type_string": "int_const 1000" + } + ], + "arguments": [ + { + "id": 2781, + "node_type": 17, + "kind": 49, + "value": "1000", + "hex_value": "31303030", + "src": { + "line": 1079, + "column": 44, + "start": 39114, + "end": 39117, + "length": 4, + "parent_index": 2778 + }, + "type_description": { + "type_identifier": "t_rational_1000_by_1", + "type_string": "int_const 1000" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1000" + } + ], + "expression": { + "id": 2779, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1058, - "column": 28, - "start": 37758, - "end": 37771, - "length": 14, - "parent_index": 2859 + "line": 1079, + "column": 30, + "start": 39100, + "end": 39112, + "length": 13, + "parent_index": 2778 }, "member_location": { - "line": 1058, - "column": 36, - "start": 37766, - "end": 37771, - "length": 6, - "parent_index": 2860 + "line": 1079, + "column": 40, + "start": 39110, + "end": 39112, + "length": 3, + "parent_index": 2779 }, "expression": { - "id": 2861, + "id": 2780, "node_type": 16, "src": { - "line": 1058, - "column": 28, - "start": 37758, - "end": 37764, - "length": 7, - "parent_index": 2860 + "line": 1079, + "column": 30, + "start": 39100, + "end": 39108, + "length": 9, + "parent_index": 2779 }, - "name": "amounts", + "name": "reserveIn", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2844, - "is_pure": false + "referenced_declaration": 2780, + "is_pure": false, + "text": "reserveIn" }, - "member_name": "length", + "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } - }, - "right_expression": { - "id": 2862, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 1058, - "column": 45, - "start": 37775, - "end": 37775, - "length": 1, - "parent_index": 2859 }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "text": "reserveIn.mul" }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_rational_1000_by_1$", + "type_string": "function(int_const 1000)" } }, - "type_descriptions": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], + "member_name": "add", + "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - } + "type_identifier": "t_function_$_t_rational_1000_by_1$", + "type_string": "function(int_const 1000)" + }, + "text": "reserveIn.mul(1000).add" }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" } }, { - "id": 2863, - "node_type": 24, - "kind": 24, + "id": 2783, + "node_type": 27, "src": { - "line": 1060, + "line": 1080, "column": 8, - "start": 37788, - "end": 37848, - "length": 61, - "parent_index": 2843 + "start": 39150, + "end": 39185, + "length": 36, + "parent_index": 2741 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" + "expression": { + "id": 2784, + "node_type": 27, + "src": { + "line": 1080, + "column": 8, + "start": 39150, + "end": 39184, + "length": 35, + "parent_index": 2783 }, - { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"insufficient-amount-out\"" - } - ], - "arguments": [ - { - "id": 2865, + "operator": 11, + "left_expression": { + "id": 2785, + "node_type": 16, + "src": { + "line": 1080, + "column": 8, + "start": 39150, + "end": 39158, + "length": 9, + "parent_index": 2784 + }, + "name": "amountOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 646, + "is_pure": false, + "text": "amountOut" + }, + "right_expression": { + "id": 2786, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1060, - "column": 16, - "start": 37796, - "end": 37820, - "length": 25, - "parent_index": 2863 + "line": 1080, + "column": 20, + "start": 39162, + "end": 39184, + "length": 23, + "parent_index": 2784 }, - "operator": 8, + "operator": 4, "left_expression": { - "id": 2866, + "id": 2787, "node_type": 16, "src": { - "line": 1060, - "column": 16, - "start": 37796, - "end": 37804, + "line": 1080, + "column": 20, + "start": 39162, + "end": 39170, "length": 9, - "parent_index": 2865 + "parent_index": 2786 }, - "name": "amountOut", + "name": "numerator", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 646, - "is_pure": false + "referenced_declaration": 2766, + "is_pure": false, + "text": "numerator" }, "right_expression": { - "id": 2867, + "id": 2788, "node_type": 16, "src": { - "line": 1060, - "column": 29, - "start": 37809, - "end": 37820, - "length": 12, - "parent_index": 2865 + "line": 1080, + "column": 32, + "start": 39174, + "end": 39184, + "length": 11, + "parent_index": 2786 }, - "name": "amountOutMin", + "name": "denominator", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2867, - "is_pure": false + "referenced_declaration": 2773, + "is_pure": false, + "text": "denominator" }, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - { - "id": 2868, - "node_type": 17, - "kind": 50, - "value": "insufficient-amount-out", - "hex_value": "696e73756666696369656e742d616d6f756e742d6f7574", - "src": { - "line": 1060, - "column": 43, - "start": 37823, - "end": 37847, - "length": 25, - "parent_index": 2863 - }, - "type_description": { - "type_identifier": "t_string_literal", - "type_string": "literal_string \"insufficient-amount-out\"" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ], - "expression": { - "id": 2864, - "node_type": 16, + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "amountOut=numerator/denominator;" + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2731, + "node_type": 43, + "src": { + "line": 1068, + "column": 8, + "start": 38628, + "end": 38698, + "length": 71, + "parent_index": 2730 + }, + "parameters": [ + { + "id": 2732, + "node_type": 44, + "src": { + "line": 1068, + "column": 8, + "start": 38628, + "end": 38643, + "length": 16, + "parent_index": 2731 + }, + "scope": 2730, + "name": "amountIn", + "type_name": { + "id": 2733, + "node_type": 30, "src": { - "line": 1060, + "line": 1068, "column": 8, - "start": 37788, - "end": 37794, + "start": 38628, + "end": 38634, "length": 7, - "parent_index": 2863 + "parent_index": 2732 }, - "name": "require", + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 2734, + "node_type": 44, + "src": { + "line": 1069, + "column": 8, + "start": 38654, + "end": 38670, + "length": 17, + "parent_index": 2731 + }, + "scope": 2730, + "name": "reserveIn", + "type_name": { + "id": 2735, + "node_type": 30, + "src": { + "line": 1069, + "column": 8, + "start": 38654, + "end": 38660, + "length": 7, + "parent_index": 2734 }, - "overloaded_declarations": [], + "name": "uint256", "referenced_declaration": 0, - "is_pure": true + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string_literal$", - "type_string": "function(bool,string memory)" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 2869, - "node_type": 48, + "id": 2736, + "node_type": 44, "src": { - "line": 1063, - "column": 0, - "start": 37933, - "end": 38254, - "length": 322, - "parent_index": 2843 + "line": 1070, + "column": 8, + "start": 38681, + "end": 38698, + "length": 18, + "parent_index": 2731 }, - "condition": { - "id": 2870, - "node_type": 16, + "scope": 2730, + "name": "reserveOut", + "type_name": { + "id": 2737, + "node_type": 30, "src": { - "line": 1063, - "column": 12, - "start": 37937, - "end": 37946, - "length": 10, - "parent_index": 2869 + "line": 1070, + "column": 8, + "start": 38681, + "end": 38687, + "length": 7, + "parent_index": 2736 }, - "name": "sendTokens", + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 2738, + "node_type": 43, + "src": { + "line": 1071, + "column": 29, + "start": 38729, + "end": 38745, + "length": 17, + "parent_index": 2730 + }, + "parameters": [ + { + "id": 2739, + "node_type": 44, + "src": { + "line": 1071, + "column": 29, + "start": 38729, + "end": 38745, + "length": 17, + "parent_index": 2738 + }, + "scope": 2730, + "name": "amountOut", + "type_name": { + "id": 2740, + "node_type": 30, + "src": { + "line": 1071, + "column": 29, + "start": 38729, + "end": 38735, + "length": 7, + "parent_index": 2739 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "getAmountOut(uint256,uint256,uint256)", + "signature": "054d50d4", + "scope": 2535, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256,uint256)" + }, + "text": "functiongetAmountOut(uint256amountIn,uint256reserveIn,uint256reserveOut)internalpurereturns(uint256amountOut){require(amountIn\u003e0,\"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\");require(reserveIn\u003e0\u0026\u0026reserveOut\u003e0,\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\");uint256amountInWithFee=amountIn.mul(997);uint256numerator=amountInWithFee.mul(reserveOut);uint256denominator=reserveIn.mul(1000).add(amountInWithFee);amountOut=numerator/denominator;}" + }, + { + "id": 2790, + "name": "getAmountIn", + "node_type": 42, + "kind": 41, + "src": { + "line": 1084, + "column": 4, + "start": 39310, + "end": 39857, + "length": 548, + "parent_index": 2535 + }, + "name_location": { + "line": 1084, + "column": 13, + "start": 39319, + "end": 39329, + "length": 11, + "parent_index": 2790 + }, + "body": { + "id": 2801, + "node_type": 46, + "kind": 0, + "src": { + "line": 1088, + "column": 47, + "start": 39460, + "end": 39857, + "length": 398, + "parent_index": 2790 + }, + "implemented": true, + "statements": [ + { + "id": 2802, + "node_type": 24, + "kind": 24, + "src": { + "line": 1089, + "column": 8, + "start": 39470, + "end": 39539, + "length": 70, + "parent_index": 2801 + }, + "argument_types": [ + { + "type_identifier": "t_bool", "type_string": "bool" }, + { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" + } + ], + "arguments": [ + { + "id": 2804, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1089, + "column": 16, + "start": 39478, + "end": 39490, + "length": 13, + "parent_index": 2802 + }, + "operator": 7, + "left_expression": { + "id": 2805, + "node_type": 16, + "src": { + "line": 1089, + "column": 16, + "start": 39478, + "end": 39486, + "length": 9, + "parent_index": 2804 + }, + "name": "amountOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2805, + "is_pure": false, + "text": "amountOut" + }, + "right_expression": { + "id": 2806, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1089, + "column": 28, + "start": 39490, + "end": 39490, + "length": 1, + "parent_index": 2804 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 2807, + "node_type": 17, + "kind": 50, + "value": "UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT", + "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54", + "src": { + "line": 1089, + "column": 31, + "start": 39493, + "end": 39538, + "length": 46, + "parent_index": 2802 + }, + "type_description": { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "\"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" + } + ], + "expression": { + "id": 2803, + "node_type": 16, + "src": { + "line": 1089, + "column": 8, + "start": 39470, + "end": 39476, + "length": 7, + "parent_index": 2802 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, "overloaded_declarations": [], - "referenced_declaration": 2870, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "body": { - "id": 2871, - "node_type": 46, - "kind": 0, + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string_literal$", + "type_string": "function(bool,string memory)" + } + }, + { + "id": 2808, + "node_type": 24, + "kind": 24, + "src": { + "line": 1090, + "column": 8, + "start": 39550, + "end": 39667, + "length": 118, + "parent_index": 2801 + }, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + } + ], + "arguments": [ + { + "id": 2811, + "node_type": 96, + "src": { + "line": 1091, + "column": 12, + "start": 39571, + "end": 39601, + "length": 31, + "parent_index": 2808 + }, + "expressions": [ + { + "id": 2812, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1091, + "column": 12, + "start": 39571, + "end": 39583, + "length": 13, + "parent_index": 2811 + }, + "operator": 7, + "left_expression": { + "id": 2813, + "node_type": 16, + "src": { + "line": 1091, + "column": 12, + "start": 39571, + "end": 39579, + "length": 9, + "parent_index": 2812 + }, + "name": "reserveIn", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2813, + "is_pure": false, + "text": "reserveIn" + }, + "right_expression": { + "id": 2814, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1091, + "column": 24, + "start": 39583, + "end": 39583, + "length": 1, + "parent_index": 2812 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 2815, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1091, + "column": 29, + "start": 39588, + "end": 39601, + "length": 14, + "parent_index": 2811 + }, + "operator": 7, + "left_expression": { + "id": 2816, + "node_type": 16, + "src": { + "line": 1091, + "column": 29, + "start": 39588, + "end": 39597, + "length": 10, + "parent_index": 2815 + }, + "name": "reserveOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2816, + "is_pure": false, + "text": "reserveOut" + }, + "right_expression": { + "id": 2817, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1091, + "column": 42, + "start": 39601, + "end": 39601, + "length": 1, + "parent_index": 2815 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "type_descriptions": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] + }, + { + "id": 2818, + "node_type": 17, + "kind": 50, + "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY", + "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", + "src": { + "line": 1092, + "column": 12, + "start": 39616, + "end": 39657, + "length": 42, + "parent_index": 2808 + }, + "type_description": { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + } + ], + "expression": { + "id": 2809, + "node_type": 16, "src": { - "line": 1063, - "column": 24, - "start": 37949, - "end": 38254, - "length": 306, - "parent_index": 2828 + "line": 1090, + "column": 8, + "start": 39550, + "end": 39556, + "length": 7, + "parent_index": 2808 }, - "implemented": true, - "statements": [ + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" + }, + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string_literal$", + "type_string": "function(bool,string memory)" + } + }, + { + "id": 2819, + "node_type": 44, + "src": { + "line": 1094, + "column": 8, + "start": 39678, + "end": 39732, + "length": 55, + "parent_index": 2801 + }, + "assignments": [ + 2820 + ], + "declarations": [ + { + "id": 2820, + "state_mutability": 1, + "name": "numerator", + "node_type": 44, + "scope": 2801, + "src": { + "line": 1094, + "column": 8, + "start": 39678, + "end": 39694, + "length": 17, + "parent_index": 2819 + }, + "name_location": { + "line": 1094, + "column": 16, + "start": 39686, + "end": 39694, + "length": 9, + "parent_index": 2820 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2821, + "node_type": 30, + "src": { + "line": 1094, + "column": 8, + "start": 39678, + "end": 39684, + "length": 7, + "parent_index": 2820 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 2822, + "node_type": 24, + "kind": 24, + "src": { + "line": 1094, + "column": 28, + "start": 39698, + "end": 39731, + "length": 34, + "parent_index": 2819 + }, + "argument_types": [ + { + "type_identifier": "t_rational_1000_by_1", + "type_string": "int_const 1000" + } + ], + "arguments": [ { - "id": 2872, + "id": 2828, + "node_type": 17, + "kind": 49, + "value": "1000", + "hex_value": "31303030", + "src": { + "line": 1094, + "column": 57, + "start": 39727, + "end": 39730, + "length": 4, + "parent_index": 2822 + }, + "type_description": { + "type_identifier": "t_rational_1000_by_1", + "type_string": "int_const 1000" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1000" + } + ], + "expression": { + "id": 2823, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1094, + "column": 28, + "start": 39698, + "end": 39725, + "length": 28, + "parent_index": 2822 + }, + "member_location": { + "line": 1094, + "column": 53, + "start": 39723, + "end": 39725, + "length": 3, + "parent_index": 2823 + }, + "expression": { + "id": 2824, "node_type": 24, "kind": 24, "src": { - "line": 1064, - "column": 12, - "start": 37963, - "end": 38243, - "length": 281, - "parent_index": 2871 + "line": 1094, + "column": 28, + "start": 39698, + "end": 39721, + "length": 24, + "parent_index": 2823 }, "argument_types": [ { - "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", - "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1]))" - }, - { - "type_identifier": "t_function_$_t_function_$_t_address$", - "type_string": "function(function(address))" + "type_identifier": "t_uint256", + "type_string": "uint256" } ], "arguments": [ { - "id": 2879, - "node_type": 24, - "kind": 24, + "id": 2827, + "node_type": 16, "src": { - "line": 1065, - "column": 16, - "start": 38009, - "end": 38171, - "length": 163, - "parent_index": 2872 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "index[address:int_const 0]" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", - "type_string": "index[address:int_const 1]" - }, - { - "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_rational_0_by_1]$$$_t_[_[$_t_address]$_t_rational_1_by_1]$$", - "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1])" - } - ], - "arguments": [ - { - "id": 2882, - "node_type": 16, - "src": { - "line": 1066, - "column": 20, - "start": 38055, - "end": 38061, - "length": 7, - "parent_index": 2879 - }, - "name": "factory", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - { - "id": 2883, - "node_type": 22, - "src": { - "line": 1067, - "column": 20, - "start": 38084, - "end": 38090, - "length": 7, - "parent_index": 2879 - }, - "index_expression": { - "id": 2884, - "node_type": 16, - "src": { - "line": 1067, - "column": 20, - "start": 38084, - "end": 38087, - "length": 4, - "parent_index": 2883 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2884, - "is_pure": false - }, - "base_expression": { - "id": 2885, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1067, - "column": 25, - "start": 38089, - "end": 38089, - "length": 1, - "parent_index": 2883 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_descriptions": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "index[address:int_const 0]" - } - }, - { - "id": 2886, - "node_type": 22, - "src": { - "line": 1068, - "column": 20, - "start": 38113, - "end": 38119, - "length": 7, - "parent_index": 2879 - }, - "index_expression": { - "id": 2887, - "node_type": 16, - "src": { - "line": 1068, - "column": 20, - "start": 38113, - "end": 38116, - "length": 4, - "parent_index": 2886 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2887, - "is_pure": false - }, - "base_expression": { - "id": 2888, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 1068, - "column": 25, - "start": 38118, - "end": 38118, - "length": 1, - "parent_index": 2886 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_descriptions": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", - "type_string": "index[address:int_const 1]" - } - }, - { - "id": 2889, - "node_type": 16, - "src": { - "line": 1069, - "column": 20, - "start": 38142, - "end": 38153, - "length": 12, - "parent_index": 2879 - }, - "name": "pairCodeHash", - "type_description": { - "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_rational_0_by_1]$$$_t_[_[$_t_address]$_t_rational_1_by_1]$$", - "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1])" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "index[address:int_const 0]" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", - "type_string": "index[address:int_const 1]" - } - ] - } - ], - "expression": { - "id": 2880, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1065, - "column": 16, - "start": 38009, - "end": 38032, - "length": 24, - "parent_index": 2879 - }, - "member_location": { - "line": 1065, - "column": 33, - "start": 38026, - "end": 38032, - "length": 7, - "parent_index": 2880 - }, - "expression": { - "id": 2881, - "node_type": 16, - "src": { - "line": 1065, - "column": 16, - "start": 38009, - "end": 38024, - "length": 16, - "parent_index": 2880 - }, - "name": "UniswapV2Library", - "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" - }, - "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false - }, - "member_name": "pairFor", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" - } + "line": 1094, + "column": 42, + "start": 39712, + "end": 39720, + "length": 9, + "parent_index": 2824 }, + "name": "amountOut", "type_description": { - "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", - "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1]))" - } - }, - { - "id": 2890, - "node_type": 24, - "kind": 24, - "src": { - "line": 1071, - "column": 16, - "start": 38190, - "end": 38229, - "length": 40, - "parent_index": 2872 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - ], - "arguments": [ - { - "id": 2897, - "node_type": 24, - "kind": 24, - "src": { - "line": 1071, - "column": 42, - "start": 38216, - "end": 38228, - "length": 13, - "parent_index": 2890 - }, - "argument_types": [ - { - "type_identifier": "t_contract$_SushiLegacyAdapter_$2787", - "type_string": "contract SushiLegacyAdapter" - } - ], - "arguments": [ - { - "id": 2900, - "node_type": 16, - "src": { - "line": 1071, - "column": 50, - "start": 38224, - "end": 38227, - "length": 4, - "parent_index": 2897 - }, - "name": "this", - "type_description": { - "type_identifier": "t_contract$_SushiLegacyAdapter_$2787", - "type_string": "contract SushiLegacyAdapter" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 2898, - "node_type": 16, - "src": { - "line": 1071, - "column": 42, - "start": 38216, - "end": 38222, - "length": 7, - "parent_index": 2897 - }, - "name": "address", - "type_name": { - "id": 2899, - "node_type": 30, - "src": { - "line": 1071, - "column": 42, - "start": 38216, - "end": 38222, - "length": 7, - "parent_index": 2898 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - } - ], - "expression": { - "id": 2891, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1071, - "column": 16, - "start": 38190, - "end": 38214, - "length": 25, - "parent_index": 2890 - }, - "member_location": { - "line": 1071, - "column": 32, - "start": 38206, - "end": 38214, - "length": 9, - "parent_index": 2891 - }, - "expression": { - "id": 2892, - "node_type": 24, - "kind": 24, - "src": { - "line": 1071, - "column": 16, - "start": 38190, - "end": 38204, - "length": 15, - "parent_index": 2891 - }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "index[address:int_const 0]" - } - ], - "arguments": [ - { - "id": 2894, - "node_type": 22, - "src": { - "line": 1071, - "column": 23, - "start": 38197, - "end": 38203, - "length": 7, - "parent_index": 2892 - }, - "index_expression": { - "id": 2895, - "node_type": 16, - "src": { - "line": 1071, - "column": 23, - "start": 38197, - "end": 38200, - "length": 4, - "parent_index": 2894 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2895, - "is_pure": false - }, - "base_expression": { - "id": 2896, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1071, - "column": 28, - "start": 38202, - "end": 38202, - "length": 1, - "parent_index": 2894 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_descriptions": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "index[address:int_const 0]" - } - } - ], - "expression": { - "id": 2893, - "node_type": 16, - "src": { - "line": 1071, - "column": 16, - "start": 38190, - "end": 38195, - "length": 6, - "parent_index": 2892 - }, - "name": "IERC20", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "function(index[address:int_const 0])" - } - }, - "member_name": "balanceOf", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "function(index[address:int_const 0])" - } + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$", - "type_string": "function(function(address))" - } + "overloaded_declarations": [], + "referenced_declaration": 2827, + "is_pure": false, + "text": "amountOut" } ], "expression": { - "id": 2873, + "id": 2825, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1064, - "column": 12, - "start": 37963, - "end": 37990, - "length": 28, - "parent_index": 2872 + "line": 1094, + "column": 28, + "start": 39698, + "end": 39710, + "length": 13, + "parent_index": 2824 }, "member_location": { - "line": 1064, - "column": 28, - "start": 37979, - "end": 37990, - "length": 12, - "parent_index": 2873 + "line": 1094, + "column": 38, + "start": 39708, + "end": 39710, + "length": 3, + "parent_index": 2825 }, "expression": { - "id": 2874, - "node_type": 24, - "kind": 24, + "id": 2826, + "node_type": 16, "src": { - "line": 1064, - "column": 12, - "start": 37963, - "end": 37977, - "length": 15, - "parent_index": 2873 - }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "index[address:int_const 0]" - } - ], - "arguments": [ - { - "id": 2876, - "node_type": 22, - "src": { - "line": 1064, - "column": 19, - "start": 37970, - "end": 37976, - "length": 7, - "parent_index": 2874 - }, - "index_expression": { - "id": 2877, - "node_type": 16, - "src": { - "line": 1064, - "column": 19, - "start": 37970, - "end": 37973, - "length": 4, - "parent_index": 2876 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2877, - "is_pure": false - }, - "base_expression": { - "id": 2878, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1064, - "column": 24, - "start": 37975, - "end": 37975, - "length": 1, - "parent_index": 2876 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_descriptions": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "index[address:int_const 0]" - } - } - ], - "expression": { - "id": 2875, - "node_type": 16, - "src": { - "line": 1064, - "column": 12, - "start": 37963, - "end": 37968, - "length": 6, - "parent_index": 2874 - }, - "name": "IERC20", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "line": 1094, + "column": 28, + "start": 39698, + "end": 39706, + "length": 9, + "parent_index": 2825 }, + "name": "reserveIn", "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "function(index[address:int_const 0])" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2826, + "is_pure": false, + "text": "reserveIn" }, - "member_name": "safeTransfer", + "member_name": "mul", "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", - "type_string": "function(index[address:int_const 0])" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "reserveIn.mul" }, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_address$", - "type_string": "function(function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1])),function(function(address)))" + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" } - } - ] + }, + "member_name": "mul", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "reserveIn.mul(amountOut).mul" + }, + "type_description": { + "type_identifier": "t_function_$_t_rational_1000_by_1$", + "type_string": "function(int_const 1000)" + } } }, { - "id": 2901, - "node_type": 24, - "kind": 24, + "id": 2829, + "node_type": 44, "src": { - "line": 1074, + "line": 1095, "column": 8, - "start": 38264, - "end": 38287, - "length": 24, - "parent_index": 2843 + "start": 39742, + "end": 39798, + "length": 57, + "parent_index": 2801 }, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } + "assignments": [ + 2830 ], - "arguments": [ + "declarations": [ { - "id": 2903, - "node_type": 16, + "id": 2830, + "state_mutability": 1, + "name": "denominator", + "node_type": 44, + "scope": 2801, "src": { - "line": 1074, - "column": 14, - "start": 38270, - "end": 38276, - "length": 7, - "parent_index": 2901 + "line": 1095, + "column": 8, + "start": 39742, + "end": 39760, + "length": 19, + "parent_index": 2829 }, - "name": "amounts", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "name_location": { + "line": 1095, + "column": 16, + "start": 39750, + "end": 39760, + "length": 11, + "parent_index": 2830 }, - "overloaded_declarations": [], - "referenced_declaration": 2844, - "is_pure": false + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2831, + "node_type": 30, + "src": { + "line": 1095, + "column": 8, + "start": 39742, + "end": 39748, + "length": 7, + "parent_index": 2830 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 2832, + "node_type": 24, + "kind": 24, + "src": { + "line": 1095, + "column": 30, + "start": 39764, + "end": 39797, + "length": 34, + "parent_index": 2829 }, - { - "id": 2904, - "node_type": 16, + "argument_types": [ + { + "type_identifier": "t_rational_997_by_1", + "type_string": "int_const 997" + } + ], + "arguments": [ + { + "id": 2838, + "node_type": 17, + "kind": 49, + "value": "997", + "hex_value": "393937", + "src": { + "line": 1095, + "column": 60, + "start": 39794, + "end": 39796, + "length": 3, + "parent_index": 2832 + }, + "type_description": { + "type_identifier": "t_rational_997_by_1", + "type_string": "int_const 997" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "997" + } + ], + "expression": { + "id": 2833, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1074, - "column": 23, - "start": 38279, - "end": 38282, - "length": 4, - "parent_index": 2901 + "line": 1095, + "column": 30, + "start": 39764, + "end": 39792, + "length": 29, + "parent_index": 2832 }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "member_location": { + "line": 1095, + "column": 56, + "start": 39790, + "end": 39792, + "length": 3, + "parent_index": 2833 }, - "overloaded_declarations": [], - "referenced_declaration": 2904, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "expression": { + "id": 2834, + "node_type": 24, + "kind": 24, + "src": { + "line": 1095, + "column": 30, + "start": 39764, + "end": 39788, + "length": 25, + "parent_index": 2833 + }, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "arguments": [ + { + "id": 2837, + "node_type": 16, + "src": { + "line": 1095, + "column": 45, + "start": 39779, + "end": 39787, + "length": 9, + "parent_index": 2834 + }, + "name": "amountOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2837, + "is_pure": false, + "text": "amountOut" + } + ], + "expression": { + "id": 2835, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1095, + "column": 30, + "start": 39764, + "end": 39777, + "length": 14, + "parent_index": 2834 + }, + "member_location": { + "line": 1095, + "column": 41, + "start": 39775, + "end": 39777, + "length": 3, + "parent_index": 2835 + }, + "expression": { + "id": 2836, + "node_type": 16, + "src": { + "line": 1095, + "column": 30, + "start": 39764, + "end": 39773, + "length": 10, + "parent_index": 2835 + }, + "name": "reserveOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2836, + "is_pure": false, + "text": "reserveOut" + }, + "member_name": "sub", + "argument_types": [], + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "reserveOut.sub" + }, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" } - ] + }, + "member_name": "mul", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "reserveOut.sub(amountOut).mul" }, - { - "id": 2905, + "type_description": { + "type_identifier": "t_function_$_t_rational_997_by_1$", + "type_string": "function(int_const 997)" + } + } + }, + { + "id": 2839, + "node_type": 27, + "src": { + "line": 1096, + "column": 8, + "start": 39808, + "end": 39851, + "length": 44, + "parent_index": 2801 + }, + "expression": { + "id": 2840, + "node_type": 27, + "src": { + "line": 1096, + "column": 8, + "start": 39808, + "end": 39850, + "length": 43, + "parent_index": 2839 + }, + "operator": 11, + "left_expression": { + "id": 2841, "node_type": 16, "src": { - "line": 1074, - "column": 29, - "start": 38285, - "end": 38286, - "length": 2, - "parent_index": 2901 + "line": 1096, + "column": 8, + "start": 39808, + "end": 39815, + "length": 8, + "parent_index": 2840 }, - "name": "to", + "name": "amountIn", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2905, + "referenced_declaration": 1363, "is_pure": false, + "text": "amountIn" + }, + "right_expression": { + "id": 2842, + "node_type": 24, + "kind": 24, + "src": { + "line": 1096, + "column": 19, + "start": 39819, + "end": 39850, + "length": 32, + "parent_index": 2840 + }, "argument_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + } + ], + "arguments": [ { - "type_identifier": "t_address", - "type_string": "address" + "id": 2848, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1096, + "column": 49, + "start": 39849, + "end": 39849, + "length": 1, + "parent_index": 2842 + }, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" } - ] - } - ], - "expression": { - "id": 2902, - "node_type": 16, - "src": { - "line": 1074, - "column": 8, - "start": 38264, - "end": 38268, - "length": 5, - "parent_index": 2901 + ], + "expression": { + "id": 2843, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1096, + "column": 19, + "start": 39819, + "end": 39847, + "length": 29, + "parent_index": 2842 + }, + "member_location": { + "line": 1096, + "column": 45, + "start": 39845, + "end": 39847, + "length": 3, + "parent_index": 2843 + }, + "expression": { + "id": 2844, + "node_type": 60, + "src": { + "line": 1096, + "column": 19, + "start": 39819, + "end": 39843, + "length": 25, + "parent_index": 2843 + }, + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 2845, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1096, + "column": 20, + "start": 39820, + "end": 39842, + "length": 23, + "parent_index": 2844 + }, + "operator": 4, + "left_expression": { + "id": 2846, + "node_type": 16, + "src": { + "line": 1096, + "column": 20, + "start": 39820, + "end": 39828, + "length": 9, + "parent_index": 2845 + }, + "name": "numerator", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2819, + "is_pure": false, + "text": "numerator" + }, + "right_expression": { + "id": 2847, + "node_type": 16, + "src": { + "line": 1096, + "column": 32, + "start": 39832, + "end": 39842, + "length": 11, + "parent_index": 2845 + }, + "name": "denominator", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2829, + "is_pure": false, + "text": "denominator" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_uint256$", + "type_string": "tuple(uint256)" + } + }, + "member_name": "add", + "argument_types": [], + "type_description": { + "type_identifier": "t_tuple_$_t_uint256$", + "type_string": "tuple(uint256)" + }, + "text": "(numerator/denominator).add" + }, + "type_description": { + "type_identifier": "t_function_$_t_rational_1_by_1$", + "type_string": "function(int_const 1)" + } }, - "name": "_swap", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$", - "type_string": "function(uint256,address,address)" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "amountIn=(numerator/denominator).add(1);" } ] }, "implemented": true, "visibility": 1, - "state_mutability": 4, + "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 2829, + "id": 2791, "node_type": 43, "src": { - "line": 1046, + "line": 1085, "column": 8, - "start": 37398, - "end": 37519, - "length": 122, - "parent_index": 2828 + "start": 39340, + "end": 39411, + "length": 72, + "parent_index": 2790 }, "parameters": [ { - "id": 2830, + "id": 2792, "node_type": 44, "src": { - "line": 1046, + "line": 1085, "column": 8, - "start": 37398, - "end": 37413, - "length": 16, - "parent_index": 2829 + "start": 39340, + "end": 39356, + "length": 17, + "parent_index": 2791 }, - "scope": 2828, - "name": "amountIn", + "scope": 2790, + "name": "amountOut", "type_name": { - "id": 2831, + "id": 2793, "node_type": 30, "src": { - "line": 1046, + "line": 1085, "column": 8, - "start": 37398, - "end": 37404, + "start": 39340, + "end": 39346, "length": 7, - "parent_index": 2830 + "parent_index": 2792 }, "name": "uint256", "referenced_declaration": 0, @@ -53378,28 +53323,28 @@ } }, { - "id": 2832, + "id": 2794, "node_type": 44, "src": { - "line": 1047, + "line": 1086, "column": 8, - "start": 37424, - "end": 37443, - "length": 20, - "parent_index": 2829 + "start": 39367, + "end": 39383, + "length": 17, + "parent_index": 2791 }, - "scope": 2828, - "name": "amountOutMin", + "scope": 2790, + "name": "reserveIn", "type_name": { - "id": 2833, + "id": 2795, "node_type": 30, "src": { - "line": 1047, + "line": 1086, "column": 8, - "start": 37424, - "end": 37430, + "start": 39367, + "end": 39373, "length": 7, - "parent_index": 2832 + "parent_index": 2794 }, "name": "uint256", "referenced_declaration": 0, @@ -53417,121 +53362,42 @@ } }, { - "id": 2834, - "node_type": 44, - "src": { - "line": 1048, - "column": 8, - "start": 37454, - "end": 37474, - "length": 21, - "parent_index": 2829 - }, - "scope": 2828, - "name": "path", - "type_name": { - "id": 2835, - "node_type": 16, - "src": { - "line": 1048, - "column": 8, - "start": 37454, - "end": 37460, - "length": 7, - "parent_index": 2834 - }, - "name": "address", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 2836, + "id": 2796, "node_type": 44, "src": { - "line": 1049, + "line": 1087, "column": 8, - "start": 37485, - "end": 37494, - "length": 10, - "parent_index": 2829 + "start": 39394, + "end": 39411, + "length": 18, + "parent_index": 2791 }, - "scope": 2828, - "name": "to", + "scope": 2790, + "name": "reserveOut", "type_name": { - "id": 2837, + "id": 2797, "node_type": 30, "src": { - "line": 1049, + "line": 1087, "column": 8, - "start": 37485, - "end": 37491, + "start": 39394, + "end": 39400, "length": 7, - "parent_index": 2836 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 2838, - "node_type": 44, - "src": { - "line": 1050, - "column": 8, - "start": 37505, - "end": 37519, - "length": 15, - "parent_index": 2829 - }, - "scope": 2828, - "name": "sendTokens", - "type_name": { - "id": 2839, - "node_type": 30, - "src": { - "line": 1050, - "column": 8, - "start": 37505, - "end": 37508, - "length": 4, - "parent_index": 2838 + "parent_index": 2796 }, - "name": "bool", + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], @@ -53545,54 +53411,46 @@ "type_string": "uint256" }, { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, "return_parameters": { - "id": 2840, + "id": 2798, "node_type": 43, "src": { - "line": 1051, - "column": 24, - "start": 37545, - "end": 37561, - "length": 17, - "parent_index": 2828 + "line": 1088, + "column": 29, + "start": 39442, + "end": 39457, + "length": 16, + "parent_index": 2790 }, "parameters": [ { - "id": 2841, + "id": 2799, "node_type": 44, "src": { - "line": 1051, - "column": 24, - "start": 37545, - "end": 37561, - "length": 17, - "parent_index": 2840 + "line": 1088, + "column": 29, + "start": 39442, + "end": 39457, + "length": 16, + "parent_index": 2798 }, - "scope": 2828, - "name": "amountOut", + "scope": 2790, + "name": "amountIn", "type_name": { - "id": 2842, + "id": 2800, "node_type": 30, "src": { - "line": 1051, - "column": 24, - "start": 37545, - "end": 37551, + "line": 1088, + "column": 29, + "start": 39442, + "end": 39448, "length": 7, - "parent_index": 2841 + "parent_index": 2799 }, "name": "uint256", "referenced_declaration": 0, @@ -53617,109 +53475,575 @@ } ] }, - "signature_raw": "_swapExactTokensForTokens(uint256, uint256, address, address, bool)", - "signature": "017be292", - "scope": 2819, + "signature_raw": "getAmountIn(uint256,uint256,uint256)", + "signature": "85f8c259", + "scope": 2535, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_bool$", - "type_string": "function(uint256,uint256,address,address,bool)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256,uint256)" + }, + "text": "functiongetAmountIn(uint256amountOut,uint256reserveIn,uint256reserveOut)internalpurereturns(uint256amountIn){require(amountOut\u003e0,\"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\");require(reserveIn\u003e0\u0026\u0026reserveOut\u003e0,\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\");uint256numerator=reserveIn.mul(amountOut).mul(1000);uint256denominator=reserveOut.sub(amountOut).mul(997);amountIn=(numerator/denominator).add(1);}" }, { - "id": 2907, - "name": "_swap", + "id": 2850, + "name": "getAmountsOut", "node_type": 42, "kind": 41, "src": { - "line": 1078, + "line": 1100, "column": 4, - "start": 38386, - "end": 39351, - "length": 966, - "parent_index": 2819 + "start": 39937, + "end": 40609, + "length": 673, + "parent_index": 2535 }, "name_location": { - "line": 1078, + "line": 1100, "column": 13, - "start": 38395, - "end": 38399, - "length": 5, - "parent_index": 2907 + "start": 39946, + "end": 39958, + "length": 13, + "parent_index": 2850 }, "body": { - "id": 2916, + "id": 2863, "node_type": 46, "kind": 0, "src": { - "line": 1082, - "column": 23, - "start": 38510, - "end": 39351, - "length": 842, - "parent_index": 2907 + "line": 1105, + "column": 55, + "start": 40127, + "end": 40609, + "length": 483, + "parent_index": 2850 }, "implemented": true, "statements": [ { - "id": 2917, - "node_type": 79, + "id": 2864, + "node_type": 24, + "kind": 24, "src": { - "line": 1083, - "column": 0, - "start": 38520, - "end": 39345, - "length": 826, - "parent_index": 2916 + "line": 1106, + "column": 8, + "start": 40137, + "end": 40195, + "length": 59, + "parent_index": 2863 }, - "initialiser": { - "id": 2918, - "node_type": 44, - "src": { - "line": 1083, - "column": 13, - "start": 38525, - "end": 38534, - "length": 10, - "parent_index": 2916 + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" }, - "assignments": [ - 2919 - ], - "declarations": [ - { - "id": 2919, - "state_mutability": 1, - "name": "i", - "node_type": 44, - "scope": 2916, + { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INVALID_PATH\"" + } + ], + "arguments": [ + { + "id": 2866, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1106, + "column": 16, + "start": 40145, + "end": 40160, + "length": 16, + "parent_index": 2864 + }, + "operator": 8, + "left_expression": { + "id": 2867, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1083, - "column": 13, - "start": 38525, - "end": 38533, - "length": 9, - "parent_index": 2918 + "line": 1106, + "column": 16, + "start": 40145, + "end": 40155, + "length": 11, + "parent_index": 2866 }, - "name_location": { - "line": 1083, + "member_location": { + "line": 1106, "column": 21, - "start": 38533, - "end": 38533, - "length": 1, - "parent_index": 2919 + "start": 40150, + "end": 40155, + "length": 6, + "parent_index": 2867 }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2920, - "node_type": 30, + "expression": { + "id": 2868, + "node_type": 16, + "src": { + "line": 1106, + "column": 16, + "start": 40145, + "end": 40148, + "length": 4, + "parent_index": 2867 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2868, + "is_pure": false, + "text": "path" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "path.length" + }, + "right_expression": { + "id": 2869, + "node_type": 17, + "kind": 49, + "value": "2", + "hex_value": "32", + "src": { + "line": 1106, + "column": 31, + "start": 40160, + "end": 40160, + "length": 1, + "parent_index": 2866 + }, + "type_description": { + "type_identifier": "t_rational_2_by_1", + "type_string": "int_const 2" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "2" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 2870, + "node_type": 17, + "kind": 50, + "value": "UniswapV2Library: INVALID_PATH", + "hex_value": "556e697377617056324c6962726172793a20494e56414c49445f50415448", + "src": { + "line": 1106, + "column": 34, + "start": 40163, + "end": 40194, + "length": 32, + "parent_index": 2864 + }, + "type_description": { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INVALID_PATH\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "\"UniswapV2Library: INVALID_PATH\"" + } + ], + "expression": { + "id": 2865, + "node_type": 16, + "src": { + "line": 1106, + "column": 8, + "start": 40137, + "end": 40143, + "length": 7, + "parent_index": 2864 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" + }, + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string_literal$", + "type_string": "function(bool,string memory)" + } + }, + { + "id": 2871, + "node_type": 27, + "src": { + "line": 1107, + "column": 8, + "start": 40206, + "end": 40242, + "length": 37, + "parent_index": 2863 + }, + "expression": { + "id": 2872, + "node_type": 27, + "src": { + "line": 1107, + "column": 8, + "start": 40206, + "end": 40241, + "length": 36, + "parent_index": 2871 + }, + "operator": 11, + "left_expression": { + "id": 2873, + "node_type": 16, + "src": { + "line": 1107, + "column": 8, + "start": 40206, + "end": 40212, + "length": 7, + "parent_index": 2872 + }, + "name": "amounts", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" + }, + "right_expression": { + "id": 2874, + "node_type": 24, + "kind": 24, + "src": { + "line": 1107, + "column": 18, + "start": 40216, + "end": 40241, + "length": 26, + "parent_index": 2872 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 2877, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1107, + "column": 32, + "start": 40230, + "end": 40240, + "length": 11, + "parent_index": 2874 + }, + "member_location": { + "line": 1107, + "column": 37, + "start": 40235, + "end": 40240, + "length": 6, + "parent_index": 2877 + }, + "expression": { + "id": 2878, + "node_type": 16, + "src": { + "line": 1107, + "column": 32, + "start": 40230, + "end": 40233, + "length": 4, + "parent_index": 2877 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2878, + "is_pure": false, + "text": "path" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "path.length" + } + ], + "expression": { + "id": 2875, + "node_type": 25, + "src": { + "line": 1107, + "column": 18, + "start": 40216, + "end": 40228, + "length": 13, + "parent_index": 2874 + }, + "argument_types": [], + "type_name": { + "id": 2876, + "node_type": 16, + "src": { + "line": 1107, + "column": 22, + "start": 40220, + "end": 40226, + "length": 7, + "parent_index": 2875 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "amounts=newuint256[](path.length);" + }, + { + "id": 2879, + "node_type": 27, + "src": { + "line": 1108, + "column": 8, + "start": 40252, + "end": 40273, + "length": 22, + "parent_index": 2863 + }, + "expression": { + "id": 2880, + "node_type": 27, + "src": { + "line": 1108, + "column": 8, + "start": 40252, + "end": 40272, + "length": 21, + "parent_index": 2879 + }, + "operator": 11, + "left_expression": { + "id": 2881, + "node_type": 22, + "src": { + "line": 1108, + "column": 8, + "start": 40252, + "end": 40261, + "length": 10, + "parent_index": 2880 + }, + "index_expression": { + "id": 2882, + "node_type": 16, + "src": { + "line": 1108, + "column": 8, + "start": 40252, + "end": 40258, + "length": 7, + "parent_index": 2881 + }, + "name": "amounts", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" + }, + "base_expression": { + "id": 2883, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1108, + "column": 16, + "start": 40260, + "end": 40260, + "length": 1, + "parent_index": 2881 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_descriptions": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", + "type_string": "index[uint256:int_const 0]" + } + }, + "right_expression": { + "id": 2884, + "node_type": 16, + "src": { + "line": 1108, + "column": 21, + "start": 40265, + "end": 40272, + "length": 8, + "parent_index": 2880 + }, + "name": "amountIn", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2884, + "is_pure": false, + "text": "amountIn" + }, + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", + "type_string": "index[uint256:int_const 0]" + } + }, + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", + "type_string": "index[uint256:int_const 0]" + }, + "text": "amounts[0]=amountIn;" + }, + { + "id": 2885, + "node_type": 79, + "src": { + "line": 1109, + "column": 0, + "start": 40283, + "end": 40603, + "length": 321, + "parent_index": 2863 + }, + "initialiser": { + "id": 2886, + "node_type": 44, + "src": { + "line": 1109, + "column": 13, + "start": 40288, + "end": 40297, + "length": 10, + "parent_index": 2863 + }, + "assignments": [ + 2887 + ], + "declarations": [ + { + "id": 2887, + "state_mutability": 1, + "name": "i", + "node_type": 44, + "scope": 2863, + "src": { + "line": 1109, + "column": 13, + "start": 40288, + "end": 40296, + "length": 9, + "parent_index": 2886 + }, + "name_location": { + "line": 1109, + "column": 21, + "start": 40296, + "end": 40296, + "length": 1, + "parent_index": 2887 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2888, + "node_type": 30, "src": { - "line": 1083, + "line": 1109, "column": 13, - "start": 38525, - "end": 38531, + "start": 40288, + "end": 40294, "length": 7, - "parent_index": 2919 + "parent_index": 2887 }, "name": "uint256", "referenced_declaration": 0, @@ -53733,29 +54057,29 @@ ] }, "condition": { - "id": 2921, + "id": 2889, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1083, + "line": 1109, "column": 24, - "start": 38536, - "end": 38554, + "start": 40299, + "end": 40317, "length": 19, - "parent_index": 2917 + "parent_index": 2885 }, "operator": 9, "left_expression": { - "id": 2922, + "id": 2890, "node_type": 16, "src": { - "line": 1083, + "line": 1109, "column": 24, - "start": 38536, - "end": 38536, + "start": 40299, + "end": 40299, "length": 1, - "parent_index": 2921 + "parent_index": 2889 }, "name": "i", "type_description": { @@ -53763,56 +54087,57 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2923, + "id": 2891, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1083, + "line": 1109, "column": 28, - "start": 38540, - "end": 38554, + "start": 40303, + "end": 40317, "length": 15, - "parent_index": 2921 + "parent_index": 2889 }, "operator": 2, "left_expression": { - "id": 2924, + "id": 2892, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1083, + "line": 1109, "column": 28, - "start": 38540, - "end": 38550, + "start": 40303, + "end": 40313, "length": 11, - "parent_index": 2923 + "parent_index": 2891 }, "member_location": { - "line": 1083, + "line": 1109, "column": 33, - "start": 38545, - "end": 38550, + "start": 40308, + "end": 40313, "length": 6, - "parent_index": 2924 + "parent_index": 2892 }, "expression": { - "id": 2925, + "id": 2893, "node_type": 16, "src": { - "line": 1083, + "line": 1109, "column": 28, - "start": 38540, - "end": 38543, + "start": 40303, + "end": 40306, "length": 4, - "parent_index": 2924 + "parent_index": 2892 }, "name": "path", "type_description": { @@ -53820,29 +54145,31 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2925, - "is_pure": false + "referenced_declaration": 2893, + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { - "id": 2926, + "id": 2894, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1083, + "line": 1109, "column": 42, - "start": 38554, - "end": 38554, + "start": 40317, + "end": 40317, "length": 1, - "parent_index": 2923 + "parent_index": 2891 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -53850,7 +54177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -53863,28 +54191,28 @@ } }, "closure": { - "id": 2927, + "id": 2895, "node_type": 18, "kind": 105, "src": { - "line": 1083, + "line": 1109, "column": 45, - "start": 38557, - "end": 38559, + "start": 40320, + "end": 40322, "length": 3, - "parent_index": 2907 + "parent_index": 2850 }, "operator": 27, "expression": { - "id": 2928, + "id": 2896, "node_type": 16, "src": { - "line": 1083, + "line": 1109, "column": 45, - "start": 38557, - "end": 38557, + "start": 40320, + "end": 40320, "length": 1, - "parent_index": 2927 + "parent_index": 2895 }, "name": "i", "type_description": { @@ -53892,8 +54220,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -53906,161 +54235,197 @@ "l_value_requested": false }, "body": { - "id": 2929, + "id": 2897, "node_type": 46, "kind": 0, "src": { - "line": 1083, + "line": 1109, "column": 50, - "start": 38562, - "end": 39345, - "length": 784, - "parent_index": 2917 + "start": 40325, + "end": 40603, + "length": 279, + "parent_index": 2885 }, "implemented": true, "statements": [ { - "id": 2930, + "id": 2898, "node_type": 44, "src": { - "line": 1084, + "line": 1110, "column": 12, - "start": 38576, - "end": 38632, - "length": 57, - "parent_index": 2929 + "start": 40339, + "end": 40515, + "length": 177, + "parent_index": 2897 }, "assignments": [ - 2931, - 2933 + 2899, + 2901 ], "declarations": [ { - "id": 2931, + "id": 2899, "state_mutability": 1, - "name": "input", + "name": "reserveIn", "node_type": 44, - "scope": 2929, + "scope": 2897, "src": { - "line": 1084, + "line": 1110, "column": 13, - "start": 38577, - "end": 38589, - "length": 13, - "parent_index": 2930 + "start": 40340, + "end": 40356, + "length": 17, + "parent_index": 2898 }, "name_location": { - "line": 1084, + "line": 1110, "column": 21, - "start": 38585, - "end": 38589, - "length": 5, - "parent_index": 2931 + "start": 40348, + "end": 40356, + "length": 9, + "parent_index": 2899 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2932, + "id": 2900, "node_type": 30, "src": { - "line": 1084, + "line": 1110, "column": 13, - "start": 38577, - "end": 38583, + "start": 40340, + "end": 40346, "length": 7, - "parent_index": 2931 + "parent_index": 2899 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "visibility": 1 }, { - "id": 2933, + "id": 2901, "state_mutability": 1, - "name": "output", + "name": "reserveOut", "node_type": 44, - "scope": 2929, + "scope": 2897, "src": { - "line": 1084, - "column": 28, - "start": 38592, - "end": 38605, - "length": 14, - "parent_index": 2930 + "line": 1110, + "column": 32, + "start": 40359, + "end": 40376, + "length": 18, + "parent_index": 2898 }, "name_location": { - "line": 1084, - "column": 36, - "start": 38600, - "end": 38605, - "length": 6, - "parent_index": 2933 + "line": 1110, + "column": 40, + "start": 40367, + "end": 40376, + "length": 10, + "parent_index": 2901 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2934, + "id": 2902, "node_type": 30, "src": { - "line": 1084, - "column": 28, - "start": 38592, - "end": 38598, + "line": 1110, + "column": 32, + "start": 40359, + "end": 40365, "length": 7, - "parent_index": 2933 + "parent_index": 2901 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "visibility": 1 } ], "initial_value": { - "id": 2935, - "node_type": 60, + "id": 2903, + "node_type": 24, + "kind": 24, "src": { - "line": 1084, - "column": 46, - "start": 38610, - "end": 38631, - "length": 22, - "parent_index": 2917 + "line": 1110, + "column": 54, + "start": 40381, + "end": 40514, + "length": 134, + "parent_index": 2898 }, - "is_constant": false, - "is_pure": false, - "components": [ + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + }, + { + "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", + "type_string": "function(function(),index[address:uint256],index[address:uint256])" + } + ], + "arguments": [ + { + "id": 2905, + "node_type": 16, + "src": { + "line": 1111, + "column": 16, + "start": 40410, + "end": 40416, + "length": 7, + "parent_index": 2903 + }, + "name": "factory", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "factory" + }, { - "id": 2936, + "id": 2906, "node_type": 22, "src": { - "line": 1084, - "column": 47, - "start": 38611, - "end": 38617, + "line": 1112, + "column": 16, + "start": 40435, + "end": 40441, "length": 7, - "parent_index": 2930 + "parent_index": 2903 }, "index_expression": { - "id": 2937, + "id": 2907, "node_type": 16, "src": { - "line": 1084, - "column": 47, - "start": 38611, - "end": 38614, + "line": 1112, + "column": 16, + "start": 40435, + "end": 40438, "length": 4, - "parent_index": 2936 + "parent_index": 2906 }, "name": "path", "type_description": { @@ -54068,19 +54433,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2938, + "id": 2908, "node_type": 16, "src": { - "line": 1084, - "column": 52, - "start": 38616, - "end": 38616, + "line": 1112, + "column": 21, + "start": 40440, + "end": 40440, "length": 1, - "parent_index": 2936 + "parent_index": 2906 }, "name": "i", "type_description": { @@ -54088,8 +54454,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -54107,26 +54474,26 @@ } }, { - "id": 2939, + "id": 2909, "node_type": 22, "src": { - "line": 1084, - "column": 56, - "start": 38620, - "end": 38630, + "line": 1113, + "column": 16, + "start": 40460, + "end": 40470, "length": 11, - "parent_index": 2930 + "parent_index": 2903 }, "index_expression": { - "id": 2940, + "id": 2910, "node_type": 16, "src": { - "line": 1084, - "column": 56, - "start": 38620, - "end": 38623, + "line": 1113, + "column": 16, + "start": 40460, + "end": 40463, "length": 4, - "parent_index": 2939 + "parent_index": 2909 }, "name": "path", "type_description": { @@ -54134,33 +54501,34 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2941, + "id": 2911, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1084, - "column": 61, - "start": 38625, - "end": 38629, + "line": 1113, + "column": 21, + "start": 40465, + "end": 40469, "length": 5, - "parent_index": 2939 + "parent_index": 2909 }, "operator": 1, "left_expression": { - "id": 2942, + "id": 2912, "node_type": 16, "src": { - "line": 1084, - "column": 61, - "start": 38625, - "end": 38625, + "line": 1113, + "column": 21, + "start": 40465, + "end": 40465, "length": 1, - "parent_index": 2941 + "parent_index": 2911 }, "name": "i", "type_description": { @@ -54168,22 +54536,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2943, + "id": 2913, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1084, - "column": 65, - "start": 38629, - "end": 38629, + "line": 1113, + "column": 25, + "start": 40469, + "end": 40469, "length": 1, - "parent_index": 2941 + "parent_index": 2911 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -54191,7 +54560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -54212,1806 +54582,393 @@ "type_identifier": "t_[_[$_t_address]$_t_uint256]$", "type_string": "index[address:uint256]" } + }, + { + "id": 2914, + "node_type": 16, + "src": { + "line": 1114, + "column": 16, + "start": 40489, + "end": 40500, + "length": 12, + "parent_index": 2903 + }, + "name": "pairCodeHash", + "type_description": { + "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", + "type_string": "function(function(),index[address:uint256],index[address:uint256])" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + } + ], + "text": "pairCodeHash" } ], + "expression": { + "id": 2904, + "node_type": 16, + "src": { + "line": 1110, + "column": 54, + "start": 40381, + "end": 40391, + "length": 11, + "parent_index": 2903 + }, + "name": "getReserves", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "getReserves" + }, "type_description": { - "type_identifier": "t_tuple_$_t_[_[$_t_address]$_t_uint256]$_$_t_[_[$_t_address]$_t_uint256]$$", - "type_string": "tuple(index[address:uint256],index[address:uint256])" + "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", + "type_string": "function(function(),index[address:uint256],index[address:uint256],function(function(),index[address:uint256],index[address:uint256]))" } } }, { - "id": 2944, - "node_type": 44, + "id": 2915, + "node_type": 27, "src": { - "line": 1085, + "line": 1116, "column": 12, - "start": 38646, - "end": 38709, - "length": 64, - "parent_index": 2929 + "start": 40529, + "end": 40593, + "length": 65, + "parent_index": 2897 }, - "assignments": [ - 2945 - ], - "declarations": [ - { - "id": 2945, - "state_mutability": 1, - "name": "token0", - "node_type": 44, - "scope": 2929, + "expression": { + "id": 2916, + "node_type": 27, + "src": { + "line": 1116, + "column": 12, + "start": 40529, + "end": 40592, + "length": 64, + "parent_index": 2915 + }, + "operator": 11, + "left_expression": { + "id": 2917, + "node_type": 22, "src": { - "line": 1085, - "column": 13, - "start": 38647, - "end": 38660, + "line": 1116, + "column": 12, + "start": 40529, + "end": 40542, "length": 14, - "parent_index": 2944 - }, - "name_location": { - "line": 1085, - "column": 21, - "start": 38655, - "end": 38660, - "length": 6, - "parent_index": 2945 + "parent_index": 2916 }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2946, - "node_type": 30, + "index_expression": { + "id": 2918, + "node_type": 16, "src": { - "line": 1085, - "column": 13, - "start": 38647, - "end": 38653, - "length": 7, - "parent_index": 2945 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2947, - "node_type": 24, - "kind": 24, - "src": { - "line": 1085, - "column": 33, - "start": 38667, - "end": 38708, - "length": 42, - "parent_index": 2944 - }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ], - "arguments": [ - { - "id": 2950, - "node_type": 16, - "src": { - "line": 1085, - "column": 61, - "start": 38695, - "end": 38699, - "length": 5, - "parent_index": 2947 - }, - "name": "input", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2930, - "is_pure": false - }, - { - "id": 2951, - "node_type": 16, - "src": { - "line": 1085, - "column": 68, - "start": 38702, - "end": 38707, - "length": 6, - "parent_index": 2947 - }, - "name": "output", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2930, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - } - ], - "expression": { - "id": 2948, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1085, - "column": 33, - "start": 38667, - "end": 38693, - "length": 27, - "parent_index": 2947 - }, - "member_location": { - "line": 1085, - "column": 50, - "start": 38684, - "end": 38693, - "length": 10, - "parent_index": 2948 - }, - "expression": { - "id": 2949, - "node_type": 16, - "src": { - "line": 1085, - "column": 33, - "start": 38667, - "end": 38682, - "length": 16, - "parent_index": 2948 - }, - "name": "UniswapV2Library", - "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" - }, - "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false - }, - "member_name": "sortTokens", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } - } - }, - { - "id": 2952, - "node_type": 44, - "src": { - "line": 1086, - "column": 12, - "start": 38723, - "end": 38757, - "length": 35, - "parent_index": 2929 - }, - "assignments": [ - 2953 - ], - "declarations": [ - { - "id": 2953, - "state_mutability": 1, - "name": "amountOut", - "node_type": 44, - "scope": 2929, - "src": { - "line": 1086, - "column": 12, - "start": 38723, - "end": 38739, - "length": 17, - "parent_index": 2952 - }, - "name_location": { - "line": 1086, - "column": 20, - "start": 38731, - "end": 38739, - "length": 9, - "parent_index": 2953 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2954, - "node_type": 30, - "src": { - "line": 1086, + "line": 1116, "column": 12, - "start": 38723, - "end": 38729, + "start": 40529, + "end": 40535, "length": 7, - "parent_index": 2953 + "parent_index": 2917 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2955, - "node_type": 22, - "src": { - "line": 1086, - "column": 32, - "start": 38743, - "end": 38756, - "length": 14, - "parent_index": 2952 - }, - "index_expression": { - "id": 2956, - "node_type": 16, - "src": { - "line": 1086, - "column": 32, - "start": 38743, - "end": 38749, - "length": 7, - "parent_index": 2955 - }, - "name": "amounts", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false - }, - "base_expression": { - "id": 2957, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1086, - "column": 40, - "start": 38751, - "end": 38755, - "length": 5, - "parent_index": 2955 - }, - "operator": 1, - "left_expression": { - "id": 2958, - "node_type": 16, - "src": { - "line": 1086, - "column": 40, - "start": 38751, - "end": 38751, - "length": 1, - "parent_index": 2957 - }, - "name": "i", + "name": "amounts", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 2959, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 1086, - "column": 44, - "start": 38755, - "end": 38755, - "length": 1, - "parent_index": 2957 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_descriptions": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", - "type_string": "index[uint256:uint256]" - } - } - }, - { - "id": 2960, - "node_type": 44, - "src": { - "line": 1087, - "column": 12, - "start": 38771, - "end": 38913, - "length": 143, - "parent_index": 2929 - }, - "assignments": [ - 2961, - 2963 - ], - "declarations": [ - { - "id": 2961, - "state_mutability": 1, - "name": "amount0Out", - "node_type": 44, - "scope": 2929, - "src": { - "line": 1087, - "column": 13, - "start": 38772, - "end": 38789, - "length": 18, - "parent_index": 2960 - }, - "name_location": { - "line": 1087, - "column": 21, - "start": 38780, - "end": 38789, - "length": 10, - "parent_index": 2961 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2962, - "node_type": 30, - "src": { - "line": 1087, - "column": 13, - "start": 38772, - "end": 38778, - "length": 7, - "parent_index": 2961 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - }, - { - "id": 2963, - "state_mutability": 1, - "name": "amount1Out", - "node_type": 44, - "scope": 2929, - "src": { - "line": 1087, - "column": 33, - "start": 38792, - "end": 38809, - "length": 18, - "parent_index": 2960 - }, - "name_location": { - "line": 1087, - "column": 41, - "start": 38800, - "end": 38809, - "length": 10, - "parent_index": 2963 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2964, - "node_type": 30, - "src": { - "line": 1087, - "column": 33, - "start": 38792, - "end": 38798, - "length": 7, - "parent_index": 2963 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2966, - "node_type": 97, - "src": { - "line": 1087, - "column": 55, - "start": 38814, - "end": 38912, - "length": 99, - "parent_index": 2960 - }, - "expressions": [ - { - "id": 2967, + "base_expression": { + "id": 2919, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1087, - "column": 55, - "start": 38814, - "end": 38828, - "length": 15, - "parent_index": 2966 + "line": 1116, + "column": 20, + "start": 40537, + "end": 40541, + "length": 5, + "parent_index": 2917 }, - "operator": 11, + "operator": 1, "left_expression": { - "id": 2968, + "id": 2920, "node_type": 16, "src": { - "line": 1087, - "column": 55, - "start": 38814, - "end": 38818, - "length": 5, - "parent_index": 2967 + "line": 1116, + "column": 20, + "start": 40537, + "end": 40537, + "length": 1, + "parent_index": 2919 }, - "name": "input", + "name": "i", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2930, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2969, - "node_type": 16, + "id": 2921, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", "src": { - "line": 1087, - "column": 64, - "start": 38823, - "end": 38828, - "length": 6, - "parent_index": 2967 + "line": 1116, + "column": 24, + "start": 40541, + "end": 40541, + "length": 1, + "parent_index": 2919 }, - "name": "token0", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" }, "overloaded_declarations": [], - "referenced_declaration": 2944, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "1" }, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - { - "id": 2970, - "node_type": 60, - "src": { - "line": 1088, - "column": 18, - "start": 38848, - "end": 38870, - "length": 23, - "parent_index": 2966 + "type_descriptions": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2971, - "node_type": 24, - "kind": 24, - "src": { - "line": 1088, - "column": 19, - "start": 38849, - "end": 38858, - "length": 10, - "parent_index": 2960 - }, - "argument_types": [ - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ], - "arguments": [ - { - "id": 2974, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1088, - "column": 27, - "start": 38857, - "end": 38857, - "length": 1, - "parent_index": 2971 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 2972, - "node_type": 16, - "src": { - "line": 1088, - "column": 19, - "start": 38849, - "end": 38855, - "length": 7, - "parent_index": 2971 - }, - "name": "uint256", - "type_name": { - "id": 2973, - "node_type": 30, - "src": { - "line": 1088, - "column": 19, - "start": 38849, - "end": 38855, - "length": 7, - "parent_index": 2972 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_rational_0_by_1$", - "type_string": "function(int_const 0)" - } + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" + } + }, + "right_expression": { + "id": 2922, + "node_type": 24, + "kind": 24, + "src": { + "line": 1116, + "column": 29, + "start": 40546, + "end": 40592, + "length": 47, + "parent_index": 2916 + }, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "arguments": [ + { + "id": 2924, + "node_type": 22, + "src": { + "line": 1116, + "column": 42, + "start": 40559, + "end": 40568, + "length": 10, + "parent_index": 2922 }, - { - "id": 2975, + "index_expression": { + "id": 2925, "node_type": 16, "src": { - "line": 1088, - "column": 31, - "start": 38861, - "end": 38869, - "length": 9, - "parent_index": 2970 + "line": 1116, + "column": 42, + "start": 40559, + "end": 40565, + "length": 7, + "parent_index": 2924 }, - "name": "amountOut", + "name": "amounts", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2952, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_function_$_t_rational_0_by_1$_$_t_uint256$", - "type_string": "tuple(function(int_const 0),uint256)" - } - }, - { - "id": 2976, - "node_type": 60, - "src": { - "line": 1089, - "column": 18, - "start": 38890, - "end": 38912, - "length": 23, - "parent_index": 2966 - }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 2977, + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" + }, + "base_expression": { + "id": 2926, "node_type": 16, "src": { - "line": 1089, - "column": 19, - "start": 38891, - "end": 38899, - "length": 9, - "parent_index": 2976 + "line": 1116, + "column": 50, + "start": 40567, + "end": 40567, + "length": 1, + "parent_index": 2924 }, - "name": "amountOut", + "name": "i", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2952, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, - { - "id": 2978, - "node_type": 24, - "kind": 24, - "src": { - "line": 1089, - "column": 30, - "start": 38902, - "end": 38911, - "length": 10, - "parent_index": 2960 + "type_descriptions": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "argument_types": [ - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ], - "arguments": [ - { - "id": 2981, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1089, - "column": 38, - "start": 38910, - "end": 38910, - "length": 1, - "parent_index": 2978 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 2979, - "node_type": 16, - "src": { - "line": 1089, - "column": 30, - "start": 38902, - "end": 38908, - "length": 7, - "parent_index": 2978 - }, - "name": "uint256", - "type_name": { - "id": 2980, - "node_type": 30, - "src": { - "line": 1089, - "column": 30, - "start": 38902, - "end": 38908, - "length": 7, - "parent_index": 2979 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_rational_0_by_1$", - "type_string": "function(int_const 0)" + { + "type_identifier": "t_uint256", + "type_string": "uint256" } + ], + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_uint256_$_t_function_$_t_rational_0_by_1$$", - "type_string": "tuple(uint256,function(int_const 0))" - } - } - ], - "type_descriptions": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_tuple_$_t_function_$_t_rational_0_by_1$_$_t_uint256$", - "type_string": "tuple(function(int_const 0),uint256)" - }, - { - "type_identifier": "t_tuple_$_t_uint256_$_t_function_$_t_rational_0_by_1$$", - "type_string": "tuple(uint256,function(int_const 0))" - } - ], - "type_description": null - } - }, - { - "id": 2982, - "node_type": 44, - "src": { - "line": 1090, - "column": 12, - "start": 38927, - "end": 39166, - "length": 240, - "parent_index": 2929 - }, - "assignments": [ - 2983 - ], - "declarations": [ - { - "id": 2983, - "state_mutability": 1, - "name": "to", - "node_type": 44, - "scope": 2929, - "src": { - "line": 1090, - "column": 12, - "start": 38927, - "end": 38936, - "length": 10, - "parent_index": 2982 - }, - "name_location": { - "line": 1090, - "column": 20, - "start": 38935, - "end": 38936, - "length": 2, - "parent_index": 2983 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 2984, - "node_type": 30, - "src": { - "line": 1090, - "column": 12, - "start": 38927, - "end": 38933, - "length": 7, - "parent_index": 2983 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 2986, - "node_type": 97, - "src": { - "line": 1090, - "column": 25, - "start": 38940, - "end": 39165, - "length": 226, - "parent_index": 2982 - }, - "expressions": [ - { - "id": 2987, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1090, - "column": 25, - "start": 38940, - "end": 38958, - "length": 19, - "parent_index": 2986 }, - "operator": 9, - "left_expression": { - "id": 2988, + { + "id": 2927, "node_type": 16, "src": { - "line": 1090, - "column": 25, - "start": 38940, - "end": 38940, - "length": 1, - "parent_index": 2987 + "line": 1116, + "column": 54, + "start": 40571, + "end": 40579, + "length": 9, + "parent_index": 2922 }, - "name": "i", + "name": "reserveIn", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 2989, - "is_constant": false, + "referenced_declaration": 2898, "is_pure": false, - "node_type": 19, - "src": { - "line": 1090, - "column": 29, - "start": 38944, - "end": 38958, - "length": 15, - "parent_index": 2987 - }, - "operator": 2, - "left_expression": { - "id": 2990, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1090, - "column": 29, - "start": 38944, - "end": 38954, - "length": 11, - "parent_index": 2982 - }, - "member_location": { - "line": 1090, - "column": 34, - "start": 38949, - "end": 38954, - "length": 6, - "parent_index": 2990 - }, - "expression": { - "id": 2991, - "node_type": 16, - "src": { - "line": 1090, - "column": 29, - "start": 38944, - "end": 38947, - "length": 4, - "parent_index": 2990 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false - }, - "member_name": "length", - "argument_types": [], - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "argument_types": [ + { + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" } - }, - "right_expression": { - "id": 2992, - "node_type": 17, - "kind": 49, - "value": "2", - "hex_value": "32", - "src": { - "line": 1090, - "column": 43, - "start": 38958, - "end": 38958, - "length": 1, - "parent_index": 2989 - }, - "type_description": { - "type_identifier": "t_rational_2_by_1", - "type_string": "int_const 2" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 2993, - "node_type": 24, - "kind": 24, - "src": { - "line": 1091, - "column": 18, - "start": 38978, - "end": 39143, - "length": 166, - "parent_index": 2982 + ], + "text": "reserveIn" }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - }, - { - "type_identifier": "t_function_$_t_function_$$$_t_address$$_t_[_[$_t_address]$_t_uint256]$$", - "type_string": "function(function(),address,index[address:uint256])" - } - ], - "arguments": [ - { - "id": 2996, - "node_type": 16, - "src": { - "line": 1092, - "column": 20, - "start": 39024, - "end": 39030, - "length": 7, - "parent_index": 2993 - }, - "name": "factory", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - { - "id": 2997, - "node_type": 16, - "src": { - "line": 1093, - "column": 20, - "start": 39053, - "end": 39058, - "length": 6, - "parent_index": 2993 - }, - "name": "output", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2930, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ] - }, - { - "id": 2998, - "node_type": 22, - "src": { - "line": 1094, - "column": 20, - "start": 39081, - "end": 39091, - "length": 11, - "parent_index": 2993 - }, - "index_expression": { - "id": 2999, - "node_type": 16, - "src": { - "line": 1094, - "column": 20, - "start": 39081, - "end": 39084, - "length": 4, - "parent_index": 2998 - }, - "name": "path", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false - }, - "base_expression": { - "id": 3000, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1094, - "column": 25, - "start": 39086, - "end": 39090, - "length": 5, - "parent_index": 2998 - }, - "operator": 1, - "left_expression": { - "id": 3001, - "node_type": 16, - "src": { - "line": 1094, - "column": 25, - "start": 39086, - "end": 39086, - "length": 1, - "parent_index": 3000 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 3002, - "node_type": 17, - "kind": 49, - "value": "2", - "hex_value": "32", - "src": { - "line": 1094, - "column": 29, - "start": 39090, - "end": 39090, - "length": 1, - "parent_index": 3000 - }, - "type_description": { - "type_identifier": "t_rational_2_by_1", - "type_string": "int_const 2" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_descriptions": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - } - }, - { - "id": 3003, - "node_type": 16, - "src": { - "line": 1095, - "column": 20, - "start": 39114, - "end": 39125, - "length": 12, - "parent_index": 2993 - }, - "name": "pairCodeHash", - "type_description": { - "type_identifier": "t_function_$_t_function_$$$_t_address$$_t_[_[$_t_address]$_t_uint256]$$", - "type_string": "function(function(),address,index[address:uint256])" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_[_[$_t_address]$_t_uint256]$", - "type_string": "index[address:uint256]" - } - ] - } - ], - "expression": { - "id": 2994, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + { + "id": 2928, + "node_type": 16, "src": { - "line": 1091, - "column": 18, - "start": 38978, - "end": 39001, - "length": 24, - "parent_index": 2993 + "line": 1116, + "column": 65, + "start": 40582, + "end": 40591, + "length": 10, + "parent_index": 2922 }, - "member_location": { - "line": 1091, - "column": 35, - "start": 38995, - "end": 39001, - "length": 7, - "parent_index": 2994 + "name": "reserveOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "expression": { - "id": 2995, - "node_type": 16, - "src": { - "line": 1091, - "column": 18, - "start": 38978, - "end": 38993, - "length": 16, - "parent_index": 2994 - }, - "name": "UniswapV2Library", - "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" + "overloaded_declarations": [], + "referenced_declaration": 2898, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" }, - "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false - }, - "member_name": "pairFor", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", - "type_string": "function(function(),address,index[address:uint256],function(function(),address,index[address:uint256]))" + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "reserveOut" } - }, - { - "id": 3004, + ], + "expression": { + "id": 2923, "node_type": 16, "src": { - "line": 1097, - "column": 18, - "start": 39163, - "end": 39165, - "length": 3, - "parent_index": 2986 + "line": 1116, + "column": 29, + "start": 40546, + "end": 40557, + "length": 12, + "parent_index": 2922 }, - "name": "_to", + "name": "getAmountOut", "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 771, - "is_pure": false - } - ], - "type_descriptions": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", - "type_string": "function(function(),address,index[address:uint256],function(function(),address,index[address:uint256]))" + "referenced_declaration": 0, + "is_pure": false, + "text": "getAmountOut" }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", + "type_string": "function(index[uint256:uint256],uint256,uint256)" } - ], - "type_description": null - } - }, - { - "id": 3005, - "node_type": 24, - "kind": 24, - "src": { - "line": 1098, - "column": 12, - "start": 39180, - "end": 39334, - "length": 155, - "parent_index": 2929 - }, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" }, - { - "type_identifier": "t_function_$_t_rational_0_by_1$", - "type_string": "function(int_const 0)" - } - ], - "arguments": [ - { - "id": 3016, - "node_type": 16, - "src": { - "line": 1100, - "column": 19, - "start": 39294, - "end": 39303, - "length": 10, - "parent_index": 3005 - }, - "name": "amount0Out", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2960, - "is_pure": false - }, - { - "id": 3017, - "node_type": 16, - "src": { - "line": 1100, - "column": 31, - "start": 39306, - "end": 39315, - "length": 10, - "parent_index": 3005 - }, - "name": "amount1Out", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2960, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - { - "id": 3018, - "node_type": 16, - "src": { - "line": 1100, - "column": 43, - "start": 39318, - "end": 39319, - "length": 2, - "parent_index": 3005 - }, - "name": "to", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2982, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - { - "id": 3019, - "node_type": 24, - "kind": 24, - "src": { - "line": 1100, - "column": 47, - "start": 39322, - "end": 39333, - "length": 12, - "parent_index": 3005 - }, - "argument_types": [ - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ], - "arguments": [ - { - "id": 3022, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1100, - "column": 57, - "start": 39332, - "end": 39332, - "length": 1, - "parent_index": 3019 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 3020, - "node_type": 25, - "src": { - "line": 1100, - "column": 47, - "start": 39322, - "end": 39330, - "length": 9, - "parent_index": 3019 - }, - "argument_types": [], - "type_name": { - "id": 3021, - "node_type": 30, - "src": { - "line": 1100, - "column": 51, - "start": 39326, - "end": 39330, - "length": 5, - "parent_index": 3020 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_rational_0_by_1$", - "type_string": "function(int_const 0)" - } - } - ], - "expression": { - "id": 3006, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1098, - "column": 12, - "start": 39180, - "end": 39292, - "length": 113, - "parent_index": 3005 - }, - "member_location": { - "line": 1100, - "column": 14, - "start": 39289, - "end": 39292, - "length": 4, - "parent_index": 3006 - }, - "expression": { - "id": 3007, - "node_type": 24, - "kind": 24, - "src": { - "line": 1098, - "column": 12, - "start": 39180, - "end": 39287, - "length": 108, - "parent_index": 3006 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", - "type_string": "function(function(),address,address,function(function(),address,address))" - } - ], - "arguments": [ - { - "id": 3009, - "node_type": 24, - "kind": 24, - "src": { - "line": 1099, - "column": 16, - "start": 39212, - "end": 39273, - "length": 62, - "parent_index": 3007 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_function_$_t_function_$$$_t_address$$_t_address$", - "type_string": "function(function(),address,address)" - } - ], - "arguments": [ - { - "id": 3012, - "node_type": 16, - "src": { - "line": 1099, - "column": 41, - "start": 39237, - "end": 39243, - "length": 7, - "parent_index": 3009 - }, - "name": "factory", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - { - "id": 3013, - "node_type": 16, - "src": { - "line": 1099, - "column": 50, - "start": 39246, - "end": 39250, - "length": 5, - "parent_index": 3009 - }, - "name": "input", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2930, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ] - }, - { - "id": 3014, - "node_type": 16, - "src": { - "line": 1099, - "column": 57, - "start": 39253, - "end": 39258, - "length": 6, - "parent_index": 3009 - }, - "name": "output", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 2930, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - { - "id": 3015, - "node_type": 16, - "src": { - "line": 1099, - "column": 65, - "start": 39261, - "end": 39272, - "length": 12, - "parent_index": 3009 - }, - "name": "pairCodeHash", - "type_description": { - "type_identifier": "t_function_$_t_function_$$$_t_address$$_t_address$", - "type_string": "function(function(),address,address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - } - ], - "expression": { - "id": 3010, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1099, - "column": 16, - "start": 39212, - "end": 39235, - "length": 24, - "parent_index": 3009 - }, - "member_location": { - "line": 1099, - "column": 33, - "start": 39229, - "end": 39235, - "length": 7, - "parent_index": 3010 - }, - "expression": { - "id": 3011, - "node_type": 16, - "src": { - "line": 1099, - "column": 16, - "start": 39212, - "end": 39227, - "length": 16, - "parent_index": 3010 - }, - "name": "UniswapV2Library", - "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" - }, - "overloaded_declarations": [], - "referenced_declaration": 2281, - "is_pure": false - }, - "member_name": "pairFor", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_UniswapV2Library_$2281", - "type_string": "contract UniswapV2Library" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", - "type_string": "function(function(),address,address,function(function(),address,address))" - } - } - ], - "expression": { - "id": 3008, - "node_type": 16, - "src": { - "line": 1098, - "column": 12, - "start": 39180, - "end": 39193, - "length": 14, - "parent_index": 3007 - }, - "name": "IUniswapV2Pair", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", - "type_string": "function(function(function(),address,address,function(function(),address,address)))" - } - }, - "member_name": "swap", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", - "type_string": "function(function(function(),address,address,function(function(),address,address)))" + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" } }, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_function_$_t_rational_0_by_1$", - "type_string": "function(uint256,uint256,address,function(int_const 0))" - } + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" + }, + "text": "amounts[i+1]=getAmountOut(amounts[i],reserveIn,reserveOut);" } ] } @@ -56020,45 +54977,85 @@ }, "implemented": true, "visibility": 1, - "state_mutability": 4, - "virtual": true, + "state_mutability": 5, + "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 2908, + "id": 2851, "node_type": 43, "src": { - "line": 1079, + "line": 1101, "column": 8, - "start": 38410, - "end": 38485, - "length": 76, - "parent_index": 2907 + "start": 39969, + "end": 40070, + "length": 102, + "parent_index": 2850 }, "parameters": [ { - "id": 2909, + "id": 2852, "node_type": 44, "src": { - "line": 1079, + "line": 1101, "column": 8, - "start": 38410, - "end": 38433, - "length": 24, - "parent_index": 2908 + "start": 39969, + "end": 39983, + "length": 15, + "parent_index": 2851 }, - "scope": 2907, - "name": "amounts", + "scope": 2850, + "name": "factory", "type_name": { - "id": 2910, - "node_type": 16, + "id": 2853, + "node_type": 30, "src": { - "line": 1079, + "line": 1101, + "column": 8, + "start": 39969, + "end": 39975, + "length": 7, + "parent_index": 2852 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 2854, + "node_type": 44, + "src": { + "line": 1102, + "column": 8, + "start": 39994, + "end": 40009, + "length": 16, + "parent_index": 2851 + }, + "scope": 2850, + "name": "amountIn", + "type_name": { + "id": 2855, + "node_type": 30, + "src": { + "line": 1102, "column": 8, - "start": 38410, - "end": 38416, + "start": 39994, + "end": 40000, "length": 7, - "parent_index": 2909 + "parent_index": 2854 }, "name": "uint256", "referenced_declaration": 0, @@ -56076,28 +55073,28 @@ } }, { - "id": 2911, + "id": 2856, "node_type": 44, "src": { - "line": 1080, + "line": 1103, "column": 8, - "start": 38444, - "end": 38464, + "start": 40020, + "end": 40040, "length": 21, - "parent_index": 2908 + "parent_index": 2851 }, - "scope": 2907, + "scope": 2850, "name": "path", "type_name": { - "id": 2912, + "id": 2857, "node_type": 16, "src": { - "line": 1080, + "line": 1103, "column": 8, - "start": 38444, - "end": 38450, + "start": 40020, + "end": 40026, "length": 7, - "parent_index": 2911 + "parent_index": 2856 }, "name": "address", "referenced_declaration": 0, @@ -56115,47 +55112,50 @@ } }, { - "id": 2913, + "id": 2858, "node_type": 44, "src": { - "line": 1081, + "line": 1104, "column": 8, - "start": 38475, - "end": 38485, - "length": 11, - "parent_index": 2908 + "start": 40051, + "end": 40070, + "length": 20, + "parent_index": 2851 }, - "scope": 2907, - "name": "_to", + "scope": 2850, + "name": "pairCodeHash", "type_name": { - "id": 2914, + "id": 2859, "node_type": 30, "src": { - "line": 1081, + "line": 1104, "column": 8, - "start": 38475, - "end": 38481, + "start": 40051, + "end": 40057, "length": 7, - "parent_index": 2913 + "parent_index": 2858 }, - "name": "address", - "state_mutability": 4, + "name": "bytes32", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, { "type_identifier": "t_uint256", "type_string": "uint256" @@ -56165,2400 +55165,1031 @@ "type_string": "address" }, { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bytes32", + "type_string": "bytes32" } ] }, "return_parameters": { - "id": 2915, + "id": 2860, "node_type": 43, "src": { - "line": 1078, - "column": 4, - "start": 38386, - "end": 39351, - "length": 966, - "parent_index": 2907 + "line": 1105, + "column": 29, + "start": 40101, + "end": 40124, + "length": 24, + "parent_index": 2850 }, - "parameters": [], - "parameter_types": [] + "parameters": [ + { + "id": 2861, + "node_type": 44, + "src": { + "line": 1105, + "column": 29, + "start": 40101, + "end": 40124, + "length": 24, + "parent_index": 2860 + }, + "scope": 2850, + "name": "amounts", + "type_name": { + "id": 2862, + "node_type": 16, + "src": { + "line": 1105, + "column": 29, + "start": 40101, + "end": 40107, + "length": 7, + "parent_index": 2861 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - "signature_raw": "_swap(uint256, address, address)", - "signature": "9b12e533", - "scope": 2819, + "signature_raw": "getAmountsOut(address,uint256,address,bytes32)", + "signature": "3f0b56bd", + "scope": 2535, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$", - "type_string": "function(uint256,address,address)" - } - } - ], - "linearized_base_contracts": [ - 948, - 2819, - 2816, - 2817, - 2818 - ], - "base_contracts": [ + "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", + "type_string": "function(address,uint256,address,bytes32)" + }, + "text": "functiongetAmountsOut(addressfactory,uint256amountIn,address[]memorypath,bytes32pairCodeHash)internalviewreturns(uint256[]memoryamounts){require(path.length\u003e=2,\"UniswapV2Library: INVALID_PATH\");amounts=newuint256[](path.length);amounts[0]=amountIn;for(uint256i;i\u003cpath.length-1;i++){(uint256reserveIn,uint256reserveOut)=getReserves(factory,path[i],path[i+1],pairCodeHash);amounts[i+1]=getAmountOut(amounts[i],reserveIn,reserveOut);}}" + }, { - "id": 2820, - "node_type": 62, + "id": 2930, + "name": "getAmountsIn", + "node_type": 42, + "kind": 41, "src": { - "line": 1042, - "column": 40, - "start": 37300, - "end": 37313, - "length": 14, - "parent_index": 2819 + "line": 1121, + "column": 4, + "start": 40688, + "end": 41381, + "length": 694, + "parent_index": 2535 }, - "base_name": { - "id": 2821, - "node_type": 52, + "name_location": { + "line": 1121, + "column": 13, + "start": 40697, + "end": 40708, + "length": 12, + "parent_index": 2930 + }, + "body": { + "id": 2943, + "node_type": 46, + "kind": 0, "src": { - "line": 1042, - "column": 40, - "start": 37300, - "end": 37313, - "length": 14, - "parent_index": 2819 + "line": 1126, + "column": 55, + "start": 40878, + "end": 41381, + "length": 504, + "parent_index": 2930 }, - "name": "ImmutableState", - "referenced_declaration": 948 - } - } - ], - "contract_dependencies": [ - 948, - 2816, - 2817, - 2818 - ] - } - ], - "src": { - "line": 1042, - "column": 0, - "start": 37260, - "end": 39353, - "length": 2094, - "parent_index": 272 - } - }, - { - "id": 3023, - "base_contracts": [], - "license": "GPL-3.0-or-later", - "exported_symbols": [ - { - "id": 3023, - "name": "ITridentRouter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentRouter.sol" - }, - { - "id": 2787, - "name": "IPool", - "absolute_path": "IPool.sol" - }, - { - "id": 2787, - "name": "IBentoBoxMinimal", - "absolute_path": "IBentoBoxMinimal.sol" - }, - { - "id": 2787, - "name": "IERC20", - "absolute_path": "IERC20.sol" - } - ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentRouter.sol", - "name": "ITridentRouter", - "node_type": 1, - "nodes": [ - { - "id": 3040, - "node_type": 10, - "src": { - "line": 1107, - "column": 0, - "start": 39402, - "end": 39424, - "length": 23, - "parent_index": 3023 - }, - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "text": "pragma solidity 0.8.11;" - }, - { - "id": 3056, - "node_type": 29, - "src": { - "line": 1109, - "column": 0, - "start": 39427, - "end": 39447, - "length": 21, - "parent_index": 3023 - }, - "absolute_path": "IPool.sol", - "file": "./IPool.sol", - "scope": 3023, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 2787 - }, - { - "id": 3057, - "node_type": 29, - "src": { - "line": 1110, - "column": 0, - "start": 39449, - "end": 39480, - "length": 32, - "parent_index": 3023 - }, - "absolute_path": "IBentoBoxMinimal.sol", - "file": "./IBentoBoxMinimal.sol", - "scope": 3023, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 2787 - }, - { - "id": 3058, - "node_type": 29, - "src": { - "line": 1111, - "column": 0, - "start": 39482, - "end": 39503, - "length": 22, - "parent_index": 3023 - }, - "absolute_path": "IERC20.sol", - "file": "./IERC20.sol", - "scope": 3023, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 2787 - }, - { - "id": 3081, - "name": "ITridentRouter", - "node_type": 35, - "src": { - "line": 1114, - "column": 0, - "start": 39549, - "end": 40638, - "length": 1090, - "parent_index": 3023 - }, - "name_location": { - "line": 1114, - "column": 10, - "start": 39559, - "end": 39572, - "length": 14, - "parent_index": 3081 - }, - "abstract": false, - "kind": 38, - "fully_implemented": true, - "nodes": [ - { - "id": 3083, - "node_type": 67, - "src": { - "line": 1115, - "column": 4, - "start": 39580, - "end": 39640, - "length": 61, - "parent_index": 3023 - }, - "name": "Path", - "name_location": { - "line": 1115, - "column": 11, - "start": 39587, - "end": 39590, - "length": 4, - "parent_index": 3083 - }, - "canonical_name": "ITridentRouter.Path", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Path_$3083", - "type_string": "struct ITridentRouter.Path" - }, - "members": [ - { - "id": 3084, - "node_type": 44, - "src": { - "line": 1116, - "column": 8, - "start": 39602, - "end": 39614, - "length": 13, - "parent_index": 3083 - }, - "scope": 3081, - "name": "pool", - "type_name": { - "id": 3085, - "node_type": 30, + "implemented": true, + "statements": [ + { + "id": 2944, + "node_type": 24, + "kind": 24, "src": { - "line": 1116, + "line": 1127, "column": 8, - "start": 39602, - "end": 39608, - "length": 7, - "parent_index": 3084 + "start": 40888, + "end": 40946, + "length": 59, + "parent_index": 2943 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3086, - "node_type": 44, - "src": { - "line": 1117, - "column": 8, - "start": 39624, - "end": 39634, - "length": 11, - "parent_index": 3083 - }, - "scope": 3081, - "name": "data", - "type_name": { - "id": 3087, - "node_type": 30, - "src": { - "line": 1117, - "column": 8, - "start": 39624, - "end": 39628, - "length": 5, - "parent_index": 3086 + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INVALID_PATH\"" + } + ], + "arguments": [ + { + "id": 2946, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1127, + "column": 16, + "start": 40896, + "end": 40911, + "length": 16, + "parent_index": 2944 + }, + "operator": 8, + "left_expression": { + "id": 2947, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1127, + "column": 16, + "start": 40896, + "end": 40906, + "length": 11, + "parent_index": 2946 + }, + "member_location": { + "line": 1127, + "column": 21, + "start": 40901, + "end": 40906, + "length": 6, + "parent_index": 2947 + }, + "expression": { + "id": 2948, + "node_type": 16, + "src": { + "line": 1127, + "column": 16, + "start": 40896, + "end": 40899, + "length": 4, + "parent_index": 2947 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2948, + "is_pure": false, + "text": "path" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "path.length" + }, + "right_expression": { + "id": 2949, + "node_type": 17, + "kind": 49, + "value": "2", + "hex_value": "32", + "src": { + "line": 1127, + "column": 31, + "start": 40911, + "end": 40911, + "length": 1, + "parent_index": 2946 + }, + "type_description": { + "type_identifier": "t_rational_2_by_1", + "type_string": "int_const 2" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "2" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 2950, + "node_type": 17, + "kind": 50, + "value": "UniswapV2Library: INVALID_PATH", + "hex_value": "556e697377617056324c6962726172793a20494e56414c49445f50415448", + "src": { + "line": 1127, + "column": 34, + "start": 40914, + "end": 40945, + "length": 32, + "parent_index": 2944 + }, + "type_description": { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"UniswapV2Library: INVALID_PATH\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "\"UniswapV2Library: INVALID_PATH\"" + } + ], + "expression": { + "id": 2945, + "node_type": 16, + "src": { + "line": 1127, + "column": 8, + "start": 40888, + "end": 40894, + "length": 7, + "parent_index": 2944 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "name": "bytes", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_function_$_t_bool$_t_string_literal$", + "type_string": "function(bool,string memory)" } }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - } - ], - "visibility": 3, - "storage_location": 1 - }, - { - "id": 3089, - "node_type": 67, - "src": { - "line": 1120, - "column": 4, - "start": 39647, - "end": 39810, - "length": 164, - "parent_index": 3023 - }, - "name": "ExactInputSingleParams", - "name_location": { - "line": 1120, - "column": 11, - "start": 39654, - "end": 39675, - "length": 22, - "parent_index": 3089 - }, - "canonical_name": "ITridentRouter.ExactInputSingleParams", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputSingleParams_$3089", - "type_string": "struct ITridentRouter.ExactInputSingleParams" - }, - "members": [ - { - "id": 3090, - "node_type": 44, - "src": { - "line": 1121, - "column": 8, - "start": 39687, - "end": 39703, - "length": 17, - "parent_index": 3089 - }, - "scope": 3081, - "name": "amountIn", - "type_name": { - "id": 3091, - "node_type": 30, + { + "id": 2951, + "node_type": 27, "src": { - "line": 1121, + "line": 1128, "column": 8, - "start": 39687, - "end": 39693, - "length": 7, - "parent_index": 3090 + "start": 40957, + "end": 40993, + "length": 37, + "parent_index": 2943 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3092, - "node_type": 44, - "src": { - "line": 1122, - "column": 8, - "start": 39713, - "end": 39737, - "length": 25, - "parent_index": 3089 - }, - "scope": 3081, - "name": "amountOutMinimum", - "type_name": { - "id": 3093, - "node_type": 30, - "src": { - "line": 1122, - "column": 8, - "start": 39713, - "end": 39719, - "length": 7, - "parent_index": 3092 + "expression": { + "id": 2952, + "node_type": 27, + "src": { + "line": 1128, + "column": 8, + "start": 40957, + "end": 40992, + "length": 36, + "parent_index": 2951 + }, + "operator": 11, + "left_expression": { + "id": 2953, + "node_type": 16, + "src": { + "line": 1128, + "column": 8, + "start": 40957, + "end": 40963, + "length": 7, + "parent_index": 2952 + }, + "name": "amounts", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" + }, + "right_expression": { + "id": 2954, + "node_type": 24, + "kind": 24, + "src": { + "line": 1128, + "column": 18, + "start": 40967, + "end": 40992, + "length": 26, + "parent_index": 2952 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 2957, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1128, + "column": 32, + "start": 40981, + "end": 40991, + "length": 11, + "parent_index": 2954 + }, + "member_location": { + "line": 1128, + "column": 37, + "start": 40986, + "end": 40991, + "length": 6, + "parent_index": 2957 + }, + "expression": { + "id": 2958, + "node_type": 16, + "src": { + "line": 1128, + "column": 32, + "start": 40981, + "end": 40984, + "length": 4, + "parent_index": 2957 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2958, + "is_pure": false, + "text": "path" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "path.length" + } + ], + "expression": { + "id": 2955, + "node_type": 25, + "src": { + "line": 1128, + "column": 18, + "start": 40967, + "end": 40979, + "length": 13, + "parent_index": 2954 + }, + "argument_types": [], + "type_name": { + "id": 2956, + "node_type": 16, + "src": { + "line": 1128, + "column": 22, + "start": 40971, + "end": 40977, + "length": 7, + "parent_index": 2955 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3094, - "node_type": 44, - "src": { - "line": 1123, - "column": 8, - "start": 39747, - "end": 39759, - "length": 13, - "parent_index": 3089 - }, - "scope": 3081, - "name": "pool", - "type_name": { - "id": 3095, - "node_type": 30, - "src": { - "line": 1123, - "column": 8, - "start": 39747, - "end": 39753, - "length": 7, - "parent_index": 3094 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3096, - "node_type": 44, - "src": { - "line": 1124, - "column": 8, - "start": 39769, - "end": 39784, - "length": 16, - "parent_index": 3089 - }, - "scope": 3081, - "name": "tokenIn", - "type_name": { - "id": 3097, - "node_type": 30, - "src": { - "line": 1124, - "column": 8, - "start": 39769, - "end": 39775, - "length": 7, - "parent_index": 3096 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3098, - "node_type": 44, - "src": { - "line": 1125, - "column": 8, - "start": 39794, - "end": 39804, - "length": 11, - "parent_index": 3089 + "text": "amounts=newuint256[](path.length);" }, - "scope": 3081, - "name": "data", - "type_name": { - "id": 3099, - "node_type": 30, + { + "id": 2959, + "node_type": 27, "src": { - "line": 1125, + "line": 1129, "column": 8, - "start": 39794, - "end": 39798, - "length": 5, - "parent_index": 3098 + "start": 41003, + "end": 41042, + "length": 40, + "parent_index": 2943 }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - } - ], - "visibility": 3, - "storage_location": 1 - }, - { - "id": 3101, - "node_type": 67, - "src": { - "line": 1128, - "column": 4, - "start": 39817, - "end": 39953, - "length": 137, - "parent_index": 3023 - }, - "name": "ExactInputParams", - "name_location": { - "line": 1128, - "column": 11, - "start": 39824, - "end": 39839, - "length": 16, - "parent_index": 3101 - }, - "canonical_name": "ITridentRouter.ExactInputParams", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "members": [ - { - "id": 3102, - "node_type": 44, - "src": { - "line": 1129, - "column": 8, - "start": 39851, - "end": 39866, - "length": 16, - "parent_index": 3101 - }, - "scope": 3081, - "name": "tokenIn", - "type_name": { - "id": 3103, - "node_type": 30, - "src": { - "line": 1129, - "column": 8, - "start": 39851, - "end": 39857, - "length": 7, - "parent_index": 3102 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3104, - "node_type": 44, - "src": { - "line": 1130, - "column": 8, - "start": 39876, - "end": 39892, - "length": 17, - "parent_index": 3101 - }, - "scope": 3081, - "name": "amountIn", - "type_name": { - "id": 3105, - "node_type": 30, - "src": { - "line": 1130, - "column": 8, - "start": 39876, - "end": 39882, - "length": 7, - "parent_index": 3104 + "expression": { + "id": 2960, + "node_type": 27, + "src": { + "line": 1129, + "column": 8, + "start": 41003, + "end": 41041, + "length": 39, + "parent_index": 2959 + }, + "operator": 11, + "left_expression": { + "id": 2961, + "node_type": 22, + "src": { + "line": 1129, + "column": 8, + "start": 41003, + "end": 41029, + "length": 27, + "parent_index": 2960 + }, + "index_expression": { + "id": 2962, + "node_type": 16, + "src": { + "line": 1129, + "column": 8, + "start": 41003, + "end": 41009, + "length": 7, + "parent_index": 2961 + }, + "name": "amounts", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" + }, + "base_expression": { + "id": 2963, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1129, + "column": 16, + "start": 41011, + "end": 41028, + "length": 18, + "parent_index": 2961 + }, + "operator": 2, + "left_expression": { + "id": 2964, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1129, + "column": 16, + "start": 41011, + "end": 41024, + "length": 14, + "parent_index": 2963 + }, + "member_location": { + "line": 1129, + "column": 24, + "start": 41019, + "end": 41024, + "length": 6, + "parent_index": 2964 + }, + "expression": { + "id": 2965, + "node_type": 16, + "src": { + "line": 1129, + "column": 16, + "start": 41011, + "end": 41017, + "length": 7, + "parent_index": 2964 + }, + "name": "amounts", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "amounts.length" + }, + "right_expression": { + "id": 2966, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1129, + "column": 33, + "start": 41028, + "end": 41028, + "length": 1, + "parent_index": 2963 + }, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_descriptions": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" + } + }, + "right_expression": { + "id": 2967, + "node_type": 16, + "src": { + "line": 1129, + "column": 38, + "start": 41033, + "end": 41041, + "length": 9, + "parent_index": 2960 + }, + "name": "amountOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2967, + "is_pure": false, + "text": "amountOut" + }, + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" + } }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3106, - "node_type": 44, - "src": { - "line": 1131, - "column": 8, - "start": 39902, - "end": 39926, - "length": 25, - "parent_index": 3101 - }, - "scope": 3081, - "name": "amountOutMinimum", - "type_name": { - "id": 3107, - "node_type": 30, - "src": { - "line": 1131, - "column": 8, - "start": 39902, - "end": 39908, - "length": 7, - "parent_index": 3106 + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3108, - "node_type": 44, - "src": { - "line": 1132, - "column": 8, - "start": 39936, - "end": 39947, - "length": 12, - "parent_index": 3101 + "text": "amounts[amounts.length-1]=amountOut;" }, - "scope": 3081, - "name": "path", - "type_name": { - "id": 3109, - "node_type": 69, + { + "id": 2968, + "node_type": 79, "src": { - "line": 1132, - "column": 8, - "start": 39936, - "end": 39939, - "length": 4, - "parent_index": 3108 + "line": 1130, + "column": 0, + "start": 41052, + "end": 41375, + "length": 324, + "parent_index": 2943 }, - "name": "Path", - "path_node": { - "id": 3110, - "name": "Path", - "node_type": 52, - "referenced_declaration": 3083, + "initialiser": { + "id": 2969, + "node_type": 44, "src": { - "line": 1132, - "column": 8, - "start": 39936, - "end": 39939, - "length": 4, - "parent_index": 3109 + "line": 1130, + "column": 13, + "start": 41057, + "end": 41084, + "length": 28, + "parent_index": 2943 + }, + "assignments": [ + 2970 + ], + "declarations": [ + { + "id": 2970, + "state_mutability": 1, + "name": "i", + "node_type": 44, + "scope": 2943, + "src": { + "line": 1130, + "column": 13, + "start": 41057, + "end": 41065, + "length": 9, + "parent_index": 2969 + }, + "name_location": { + "line": 1130, + "column": 21, + "start": 41065, + "end": 41065, + "length": 1, + "parent_index": 2970 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2971, + "node_type": 30, + "src": { + "line": 1130, + "column": 13, + "start": 41057, + "end": 41063, + "length": 7, + "parent_index": 2970 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 2972, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1130, + "column": 25, + "start": 41069, + "end": 41083, + "length": 15, + "parent_index": 2969 + }, + "operator": 2, + "left_expression": { + "id": 2973, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1130, + "column": 25, + "start": 41069, + "end": 41079, + "length": 11, + "parent_index": 2969 + }, + "member_location": { + "line": 1130, + "column": 30, + "start": 41074, + "end": 41079, + "length": 6, + "parent_index": 2973 + }, + "expression": { + "id": 2974, + "node_type": 16, + "src": { + "line": 1130, + "column": 25, + "start": 41069, + "end": 41072, + "length": 4, + "parent_index": 2973 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2974, + "is_pure": false, + "text": "path" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "path.length" + }, + "right_expression": { + "id": 2975, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1130, + "column": 39, + "start": 41083, + "end": 41083, + "length": 1, + "parent_index": 2972 + }, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" + }, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } } }, - "referenced_declaration": 3083, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Path_$3083", - "type_string": "struct ITridentRouter.Path" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Path_$3083", - "type_string": "struct ITridentRouter.Path" - } - } - ], - "visibility": 3, - "storage_location": 1 - }, - { - "id": 3112, - "node_type": 67, - "src": { - "line": 1135, - "column": 4, - "start": 39960, - "end": 40052, - "length": 93, - "parent_index": 3023 - }, - "name": "TokenInput", - "name_location": { - "line": 1135, - "column": 11, - "start": 39967, - "end": 39976, - "length": 10, - "parent_index": 3112 - }, - "canonical_name": "ITridentRouter.TokenInput", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_TokenInput_$3112", - "type_string": "struct ITridentRouter.TokenInput" - }, - "members": [ - { - "id": 3113, - "node_type": 44, - "src": { - "line": 1136, - "column": 8, - "start": 39988, - "end": 40001, - "length": 14, - "parent_index": 3112 - }, - "scope": 3081, - "name": "token", - "type_name": { - "id": 3114, - "node_type": 30, - "src": { - "line": 1136, - "column": 8, - "start": 39988, - "end": 39994, - "length": 7, - "parent_index": 3113 + "condition": { + "id": 2976, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1130, + "column": 42, + "start": 41086, + "end": 41090, + "length": 5, + "parent_index": 2968 + }, + "operator": 7, + "left_expression": { + "id": 2977, + "node_type": 16, + "src": { + "line": 1130, + "column": 42, + "start": 41086, + "end": 41086, + "length": 1, + "parent_index": 2976 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "right_expression": { + "id": 2978, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1130, + "column": 46, + "start": 41090, + "end": 41090, + "length": 1, + "parent_index": 2976 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3115, - "node_type": 44, - "src": { - "line": 1137, - "column": 8, - "start": 40011, - "end": 40022, - "length": 12, - "parent_index": 3112 - }, - "scope": 3081, - "name": "native", - "type_name": { - "id": 3116, - "node_type": 30, - "src": { - "line": 1137, - "column": 8, - "start": 40011, - "end": 40014, - "length": 4, - "parent_index": 3115 + "closure": { + "id": 2979, + "node_type": 18, + "kind": 105, + "src": { + "line": 1130, + "column": 49, + "start": 41093, + "end": 41095, + "length": 3, + "parent_index": 2930 + }, + "operator": 28, + "expression": { + "id": 2980, + "node_type": 16, + "src": { + "line": 1130, + "column": 49, + "start": 41093, + "end": 41093, + "length": 1, + "parent_index": 2979 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "prefix": false, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 3117, - "node_type": 44, - "src": { - "line": 1138, - "column": 8, - "start": 40032, - "end": 40046, - "length": 15, - "parent_index": 3112 - }, - "scope": 3081, - "name": "amount", - "type_name": { - "id": 3118, - "node_type": 30, - "src": { - "line": 1138, - "column": 8, - "start": 40032, - "end": 40038, - "length": 7, - "parent_index": 3117 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "visibility": 3, - "storage_location": 1 - }, - { - "id": 3120, - "node_type": 67, - "src": { - "line": 1141, - "column": 4, - "start": 40059, - "end": 40196, - "length": 138, - "parent_index": 3023 - }, - "name": "InitialPath", - "name_location": { - "line": 1141, - "column": 11, - "start": 40066, - "end": 40076, - "length": 11, - "parent_index": 3120 - }, - "canonical_name": "ITridentRouter.InitialPath", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3120", - "type_string": "struct ITridentRouter.InitialPath" - }, - "members": [ - { - "id": 3121, - "node_type": 44, - "src": { - "line": 1142, - "column": 8, - "start": 40088, - "end": 40103, - "length": 16, - "parent_index": 3120 - }, - "scope": 3081, - "name": "tokenIn", - "type_name": { - "id": 3122, - "node_type": 30, - "src": { - "line": 1142, - "column": 8, - "start": 40088, - "end": 40094, - "length": 7, - "parent_index": 3121 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3123, - "node_type": 44, - "src": { - "line": 1143, - "column": 8, - "start": 40113, - "end": 40125, - "length": 13, - "parent_index": 3120 - }, - "scope": 3081, - "name": "pool", - "type_name": { - "id": 3124, - "node_type": 30, - "src": { - "line": 1143, - "column": 8, - "start": 40113, - "end": 40119, - "length": 7, - "parent_index": 3123 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3125, - "node_type": 44, - "src": { - "line": 1144, - "column": 8, - "start": 40135, - "end": 40146, - "length": 12, - "parent_index": 3120 - }, - "scope": 3081, - "name": "native", - "type_name": { - "id": 3126, - "node_type": 30, - "src": { - "line": 1144, - "column": 8, - "start": 40135, - "end": 40138, - "length": 4, - "parent_index": 3125 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 3127, - "node_type": 44, - "src": { - "line": 1145, - "column": 8, - "start": 40156, - "end": 40170, - "length": 15, - "parent_index": 3120 - }, - "scope": 3081, - "name": "amount", - "type_name": { - "id": 3128, - "node_type": 30, - "src": { - "line": 1145, - "column": 8, - "start": 40156, - "end": 40162, - "length": 7, - "parent_index": 3127 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3129, - "node_type": 44, - "src": { - "line": 1146, - "column": 8, - "start": 40180, - "end": 40190, - "length": 11, - "parent_index": 3120 - }, - "scope": 3081, - "name": "data", - "type_name": { - "id": 3130, - "node_type": 30, - "src": { - "line": 1146, - "column": 8, - "start": 40180, - "end": 40184, - "length": 5, - "parent_index": 3129 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - } - ], - "visibility": 3, - "storage_location": 1 - }, - { - "id": 3132, - "node_type": 67, - "src": { - "line": 1149, - "column": 4, - "start": 40203, - "end": 40374, - "length": 172, - "parent_index": 3023 - }, - "name": "PercentagePath", - "name_location": { - "line": 1149, - "column": 11, - "start": 40210, - "end": 40223, - "length": 14, - "parent_index": 3132 - }, - "canonical_name": "ITridentRouter.PercentagePath", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3132", - "type_string": "struct ITridentRouter.PercentagePath" - }, - "members": [ - { - "id": 3133, - "node_type": 44, - "src": { - "line": 1150, - "column": 8, - "start": 40235, - "end": 40250, - "length": 16, - "parent_index": 3132 - }, - "scope": 3081, - "name": "tokenIn", - "type_name": { - "id": 3134, - "node_type": 30, - "src": { - "line": 1150, - "column": 8, - "start": 40235, - "end": 40241, - "length": 7, - "parent_index": 3133 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3135, - "node_type": 44, - "src": { - "line": 1151, - "column": 8, - "start": 40260, - "end": 40272, - "length": 13, - "parent_index": 3132 - }, - "scope": 3081, - "name": "pool", - "type_name": { - "id": 3136, - "node_type": 30, - "src": { - "line": 1151, - "column": 8, - "start": 40260, - "end": 40266, - "length": 7, - "parent_index": 3135 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3137, - "node_type": 44, - "src": { - "line": 1152, - "column": 8, - "start": 40282, - "end": 40306, - "length": 25, - "parent_index": 3132 - }, - "scope": 3081, - "name": "balancePercentage", - "type_name": { - "id": 3138, - "node_type": 30, - "src": { - "line": 1152, - "column": 8, - "start": 40282, - "end": 40287, - "length": 6, - "parent_index": 3137 - }, - "name": "uint64", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint64", - "type_string": "uint64" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint64", - "type_string": "uint64" - } - }, - { - "id": 3139, - "node_type": 44, - "src": { - "line": 1153, - "column": 8, - "start": 40358, - "end": 40368, - "length": 11, - "parent_index": 3132 - }, - "scope": 3081, - "name": "data", - "type_name": { - "id": 3140, - "node_type": 30, - "src": { - "line": 1153, - "column": 8, - "start": 40358, - "end": 40362, - "length": 5, - "parent_index": 3139 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - } - ], - "visibility": 3, - "storage_location": 1 - }, - { - "id": 3142, - "node_type": 67, - "src": { - "line": 1156, - "column": 4, - "start": 40381, - "end": 40497, - "length": 117, - "parent_index": 3023 - }, - "name": "Output", - "name_location": { - "line": 1156, - "column": 11, - "start": 40388, - "end": 40393, - "length": 6, - "parent_index": 3142 - }, - "canonical_name": "ITridentRouter.Output", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Output_$3142", - "type_string": "struct ITridentRouter.Output" - }, - "members": [ - { - "id": 3143, - "node_type": 44, - "src": { - "line": 1157, - "column": 8, - "start": 40405, - "end": 40418, - "length": 14, - "parent_index": 3142 - }, - "scope": 3081, - "name": "token", - "type_name": { - "id": 3144, - "node_type": 30, - "src": { - "line": 1157, - "column": 8, - "start": 40405, - "end": 40411, - "length": 7, - "parent_index": 3143 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3145, - "node_type": 44, - "src": { - "line": 1158, - "column": 8, - "start": 40428, - "end": 40438, - "length": 11, - "parent_index": 3142 - }, - "scope": 3081, - "name": "to", - "type_name": { - "id": 3146, - "node_type": 30, - "src": { - "line": 1158, - "column": 8, - "start": 40428, - "end": 40434, - "length": 7, - "parent_index": 3145 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3147, - "node_type": 44, - "src": { - "line": 1159, - "column": 8, - "start": 40448, - "end": 40464, - "length": 17, - "parent_index": 3142 - }, - "scope": 3081, - "name": "unwrapBento", - "type_name": { - "id": 3148, - "node_type": 30, - "src": { - "line": 1159, - "column": 8, - "start": 40448, - "end": 40451, - "length": 4, - "parent_index": 3147 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 3149, - "node_type": 44, - "src": { - "line": 1160, - "column": 8, - "start": 40474, - "end": 40491, - "length": 18, - "parent_index": 3142 - }, - "scope": 3081, - "name": "minAmount", - "type_name": { - "id": 3150, - "node_type": 30, - "src": { - "line": 1160, - "column": 8, - "start": 40474, - "end": 40480, - "length": 7, - "parent_index": 3149 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "visibility": 3, - "storage_location": 1 - }, - { - "id": 3152, - "node_type": 67, - "src": { - "line": 1163, - "column": 4, - "start": 40504, - "end": 40636, - "length": 133, - "parent_index": 3023 - }, - "name": "ComplexPathParams", - "name_location": { - "line": 1163, - "column": 11, - "start": 40511, - "end": 40527, - "length": 17, - "parent_index": 3152 - }, - "canonical_name": "ITridentRouter.ComplexPathParams", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" - }, - "members": [ - { - "id": 3153, - "node_type": 44, - "src": { - "line": 1164, - "column": 8, - "start": 40539, - "end": 40564, - "length": 26, - "parent_index": 3152 - }, - "scope": 3081, - "name": "initialPath", - "type_name": { - "id": 3154, - "node_type": 69, - "src": { - "line": 1164, - "column": 8, - "start": 40539, - "end": 40549, - "length": 11, - "parent_index": 3153 - }, - "name": "InitialPath", - "path_node": { - "id": 3155, - "name": "InitialPath", - "node_type": 52, - "referenced_declaration": 3120, - "src": { - "line": 1164, - "column": 8, - "start": 40539, - "end": 40549, - "length": 11, - "parent_index": 3154 - } - }, - "referenced_declaration": 3120, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3120", - "type_string": "struct ITridentRouter.InitialPath" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3120", - "type_string": "struct ITridentRouter.InitialPath" - } - }, - { - "id": 3156, - "node_type": 44, - "src": { - "line": 1165, - "column": 8, - "start": 40574, - "end": 40605, - "length": 32, - "parent_index": 3152 - }, - "scope": 3081, - "name": "percentagePath", - "type_name": { - "id": 3157, - "node_type": 69, - "src": { - "line": 1165, - "column": 8, - "start": 40574, - "end": 40587, - "length": 14, - "parent_index": 3156 - }, - "name": "PercentagePath", - "path_node": { - "id": 3158, - "name": "PercentagePath", - "node_type": 52, - "referenced_declaration": 3132, + "body": { + "id": 2981, + "node_type": 46, + "kind": 0, "src": { - "line": 1165, - "column": 8, - "start": 40574, - "end": 40587, - "length": 14, - "parent_index": 3157 - } - }, - "referenced_declaration": 3132, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3132", - "type_string": "struct ITridentRouter.PercentagePath" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3132", - "type_string": "struct ITridentRouter.PercentagePath" - } - }, - { - "id": 3159, - "node_type": 44, - "src": { - "line": 1166, - "column": 8, - "start": 40615, - "end": 40630, - "length": 16, - "parent_index": 3152 - }, - "scope": 3081, - "name": "output", - "type_name": { - "id": 3160, - "node_type": 69, - "src": { - "line": 1166, - "column": 8, - "start": 40615, - "end": 40620, - "length": 6, - "parent_index": 3159 - }, - "name": "Output", - "path_node": { - "id": 3161, - "name": "Output", - "node_type": 52, - "referenced_declaration": 3142, - "src": { - "line": 1166, - "column": 8, - "start": 40615, - "end": 40620, - "length": 6, - "parent_index": 3160 - } - }, - "referenced_declaration": 3142, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Output_$3142", - "type_string": "struct ITridentRouter.Output" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_Output_$3142", - "type_string": "struct ITridentRouter.Output" - } - } - ], - "visibility": 3, - "storage_location": 1 - } - ], - "linearized_base_contracts": [ - 3081, - 3056, - 3057, - 3058 - ], - "base_contracts": [], - "contract_dependencies": [ - 3056, - 3057, - 3058 - ] - } - ], - "src": { - "line": 1114, - "column": 0, - "start": 39549, - "end": 40638, - "length": 1090, - "parent_index": 272 - } - }, - { - "id": 3162, - "base_contracts": [], - "license": "GPL-3.0-or-later", - "exported_symbols": [ - { - "id": 3162, - "name": "ITridentSwapAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentSwapAdapter.sol" - }, - { - "id": 3023, - "name": "ITridentRouter", - "absolute_path": "ITridentRouter.sol" - }, - { - "id": 3023, - "name": "BentoAdapter", - "absolute_path": "BentoAdapter.sol" - }, - { - "id": 3023, - "name": "TokenAdapter", - "absolute_path": "TokenAdapter.sol" - }, - { - "id": 3023, - "name": "ImmutableState", - "absolute_path": "ImmutableState.sol" - } - ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentSwapAdapter.sol", - "name": "ITridentSwapAdapter", - "node_type": 1, - "nodes": [ - { - "id": 3180, - "node_type": 10, - "src": { - "line": 1172, - "column": 0, - "start": 40687, - "end": 40709, - "length": 23, - "parent_index": 3162 - }, - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "text": "pragma solidity 0.8.11;" - }, - { - "id": 3199, - "node_type": 29, - "src": { - "line": 1174, - "column": 0, - "start": 40712, - "end": 40741, - "length": 30, - "parent_index": 3162 - }, - "absolute_path": "ITridentRouter.sol", - "file": "./ITridentRouter.sol", - "scope": 3162, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3023 - }, - { - "id": 3200, - "node_type": 29, - "src": { - "line": 1175, - "column": 0, - "start": 40743, - "end": 40770, - "length": 28, - "parent_index": 3162 - }, - "absolute_path": "BentoAdapter.sol", - "file": "./BentoAdapter.sol", - "scope": 3162, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3023 - }, - { - "id": 3201, - "node_type": 29, - "src": { - "line": 1176, - "column": 0, - "start": 40772, - "end": 40799, - "length": 28, - "parent_index": 3162 - }, - "absolute_path": "TokenAdapter.sol", - "file": "./TokenAdapter.sol", - "scope": 3162, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3023 - }, - { - "id": 3202, - "node_type": 29, - "src": { - "line": 1177, - "column": 0, - "start": 40801, - "end": 40830, - "length": 30, - "parent_index": 3162 - }, - "absolute_path": "ImmutableState.sol", - "file": "./ImmutableState.sol", - "scope": 3162, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3023 - }, - { - "id": 3221, - "name": "ITridentSwapAdapter", - "node_type": 35, - "src": { - "line": 1179, - "column": 0, - "start": 40833, - "end": 40864, - "length": 32, - "parent_index": 3162 - }, - "name_location": { - "line": 1179, - "column": 10, - "start": 40843, - "end": 40861, - "length": 19, - "parent_index": 3221 - }, - "abstract": false, - "kind": 38, - "fully_implemented": true, - "nodes": [], - "linearized_base_contracts": [ - 3221, - 3199, - 3200, - 3201, - 3202 - ], - "base_contracts": [], - "contract_dependencies": [ - 3199, - 3200, - 3201, - 3202 - ] - } - ], - "src": { - "line": 1179, - "column": 0, - "start": 40833, - "end": 40864, - "length": 32, - "parent_index": 272 - } - }, - { - "id": 3222, - "base_contracts": [ - { - "id": 3266, - "node_type": 62, - "src": { - "line": 1191, - "column": 4, - "start": 41098, - "end": 41111, - "length": 14, - "parent_index": 3265 - }, - "base_name": { - "id": 3267, - "node_type": 52, - "src": { - "line": 1191, - "column": 4, - "start": 41098, - "end": 41111, - "length": 14, - "parent_index": 3265 - }, - "name": "ITridentRouter", - "referenced_declaration": 3023 - } - }, - { - "id": 3268, - "node_type": 62, - "src": { - "line": 1192, - "column": 4, - "start": 41118, - "end": 41131, - "length": 14, - "parent_index": 3265 - }, - "base_name": { - "id": 3269, - "node_type": 52, - "src": { - "line": 1192, - "column": 4, - "start": 41118, - "end": 41131, - "length": 14, - "parent_index": 3265 - }, - "name": "ImmutableState", - "referenced_declaration": 948 - } - }, - { - "id": 3270, - "node_type": 62, - "src": { - "line": 1193, - "column": 4, - "start": 41138, - "end": 41149, - "length": 12, - "parent_index": 3265 - }, - "base_name": { - "id": 3271, - "node_type": 52, - "src": { - "line": 1193, - "column": 4, - "start": 41138, - "end": 41149, - "length": 12, - "parent_index": 3265 - }, - "name": "BentoAdapter", - "referenced_declaration": 1018 - } - }, - { - "id": 3272, - "node_type": 62, - "src": { - "line": 1194, - "column": 4, - "start": 41156, - "end": 41167, - "length": 12, - "parent_index": 3265 - }, - "base_name": { - "id": 3273, - "node_type": 52, - "src": { - "line": 1194, - "column": 4, - "start": 41156, - "end": 41167, - "length": 12, - "parent_index": 3265 - }, - "name": "TokenAdapter", - "referenced_declaration": 1684 - } - } - ], - "license": "GPL-3.0-or-later", - "exported_symbols": [ - { - "id": 3222, - "name": "TridentSwapAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TridentSwapAdapter.sol" - }, - { - "id": 3162, - "name": "ITridentRouter", - "absolute_path": "ITridentRouter.sol" - }, - { - "id": 3162, - "name": "BentoAdapter", - "absolute_path": "BentoAdapter.sol" - }, - { - "id": 3162, - "name": "TokenAdapter", - "absolute_path": "TokenAdapter.sol" - }, - { - "id": 3162, - "name": "ImmutableState", - "absolute_path": "ImmutableState.sol" - }, - { - "id": 3162, - "name": "ITridentSwapAdapter", - "absolute_path": "ITridentSwapAdapter.sol" - } - ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TridentSwapAdapter.sol", - "name": "TridentSwapAdapter", - "node_type": 1, - "nodes": [ - { - "id": 3241, - "node_type": 10, - "src": { - "line": 1183, - "column": 0, - "start": 40913, - "end": 40935, - "length": 23, - "parent_index": 3222 - }, - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "text": "pragma solidity 0.8.11;" - }, - { - "id": 3260, - "node_type": 29, - "src": { - "line": 1174, - "column": 0, - "start": 40712, - "end": 40741, - "length": 30, - "parent_index": 3222 - }, - "absolute_path": "ITridentRouter.sol", - "file": "./ITridentRouter.sol", - "scope": 3222, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3162 - }, - { - "id": 3261, - "node_type": 29, - "src": { - "line": 1175, - "column": 0, - "start": 40743, - "end": 40770, - "length": 28, - "parent_index": 3222 - }, - "absolute_path": "BentoAdapter.sol", - "file": "./BentoAdapter.sol", - "scope": 3222, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3162 - }, - { - "id": 3262, - "node_type": 29, - "src": { - "line": 1176, - "column": 0, - "start": 40772, - "end": 40799, - "length": 28, - "parent_index": 3222 - }, - "absolute_path": "TokenAdapter.sol", - "file": "./TokenAdapter.sol", - "scope": 3222, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3162 - }, - { - "id": 3263, - "node_type": 29, - "src": { - "line": 1177, - "column": 0, - "start": 40801, - "end": 40830, - "length": 30, - "parent_index": 3222 - }, - "absolute_path": "ImmutableState.sol", - "file": "./ImmutableState.sol", - "scope": 3222, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3162 - }, - { - "id": 3264, - "node_type": 29, - "src": { - "line": 1185, - "column": 0, - "start": 40938, - "end": 40972, - "length": 35, - "parent_index": 3222 - }, - "absolute_path": "ITridentSwapAdapter.sol", - "file": "./ITridentSwapAdapter.sol", - "scope": 3222, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3162 - }, - { - "id": 3265, - "name": "TridentSwapAdapter", - "node_type": 35, - "src": { - "line": 1190, - "column": 0, - "start": 41054, - "end": 46038, - "length": 4985, - "parent_index": 3222 - }, - "name_location": { - "line": 1190, - "column": 18, - "start": 41072, - "end": 41089, - "length": 18, - "parent_index": 3265 - }, - "abstract": false, - "kind": 36, - "fully_implemented": true, - "nodes": [ - { - "id": 3275, - "node_type": 77, - "src": { - "line": 1197, - "column": 4, - "start": 41195, - "end": 41220, - "length": 26, - "parent_index": 3265 - }, - "name": "TooLittleReceived", - "name_location": { - "line": 1197, - "column": 10, - "start": 41201, - "end": 41217, - "length": 17, - "parent_index": 3275 - }, - "parameters": { - "id": 3276, - "node_type": 43, - "src": { - "line": 1197, - "column": 4, - "start": 41195, - "end": 41220, - "length": 26, - "parent_index": 3275 - }, - "parameters": [], - "parameter_types": [] - }, - "type_description": { - "type_identifier": "t_error$_TridentSwapAdapter_TooLittleReceived_$3275", - "type_string": "error TridentSwapAdapter.TooLittleReceived" - } - }, - { - "id": 3278, - "name": "_exactInput", - "node_type": 42, - "kind": 41, - "src": { - "line": 1203, - "column": 4, - "start": 41607, - "end": 42988, - "length": 1382, - "parent_index": 3265 - }, - "name_location": { - "line": 1203, - "column": 13, - "start": 41616, - "end": 41626, - "length": 11, - "parent_index": 3278 - }, - "body": { - "id": 3286, - "node_type": 46, - "kind": 0, - "src": { - "line": 1206, - "column": 4, - "start": 41717, - "end": 42988, - "length": 1272, - "parent_index": 3278 - }, - "implemented": true, - "statements": [ - { - "id": 3287, - "node_type": 48, - "src": { - "line": 1207, - "column": 0, - "start": 41727, - "end": 42286, - "length": 560, - "parent_index": 3286 - }, - "condition": { - "id": 3288, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1207, - "column": 12, - "start": 41731, - "end": 41750, - "length": 20, - "parent_index": 3287 - }, - "operator": 11, - "left_expression": { - "id": 3289, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1207, - "column": 12, - "start": 41731, - "end": 41745, - "length": 15, - "parent_index": 3288 - }, - "member_location": { - "line": 1207, - "column": 19, - "start": 41738, - "end": 41745, - "length": 8, - "parent_index": 3289 - }, - "expression": { - "id": 3290, - "node_type": 16, - "src": { - "line": 1207, - "column": 12, - "start": 41731, - "end": 41736, - "length": 6, - "parent_index": 3289 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3290, - "is_pure": false - }, - "member_name": "amountIn", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "right_expression": { - "id": 3291, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1207, - "column": 31, - "start": 41750, - "end": 41750, - "length": 1, - "parent_index": 3288 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 3292, - "node_type": 46, - "kind": 0, - "src": { - "line": 1207, - "column": 34, - "start": 41753, - "end": 42286, - "length": 534, - "parent_index": 3278 + "line": 1130, + "column": 54, + "start": 41098, + "end": 41375, + "length": 278, + "parent_index": 2968 }, "implemented": true, "statements": [ { - "id": 3293, + "id": 2982, "node_type": 44, "src": { - "line": 1208, - "column": 10, - "start": 41765, - "end": 41865, - "length": 101, - "parent_index": 3292 + "line": 1131, + "column": 12, + "start": 41112, + "end": 41288, + "length": 177, + "parent_index": 2981 }, "assignments": [ - 3294 + 2983, + 2985 ], "declarations": [ { - "id": 3294, + "id": 2983, "state_mutability": 1, - "name": "tokenBalance", + "name": "reserveIn", "node_type": 44, - "scope": 3292, + "scope": 2981, "src": { - "line": 1208, - "column": 10, - "start": 41765, - "end": 41784, - "length": 20, - "parent_index": 3293 - }, - "name_location": { - "line": 1208, - "column": 18, - "start": 41773, - "end": 41784, - "length": 12, - "parent_index": 3294 + "line": 1131, + "column": 13, + "start": 41113, + "end": 41129, + "length": 17, + "parent_index": 2982 + }, + "name_location": { + "line": 1131, + "column": 21, + "start": 41121, + "end": 41129, + "length": 9, + "parent_index": 2983 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3295, + "id": 2984, "node_type": 30, "src": { - "line": 1208, - "column": 10, - "start": 41765, - "end": 41771, + "line": 1131, + "column": 13, + "start": 41113, + "end": 41119, + "length": 7, + "parent_index": 2983 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + }, + { + "id": 2985, + "state_mutability": 1, + "name": "reserveOut", + "node_type": 44, + "scope": 2981, + "src": { + "line": 1131, + "column": 32, + "start": 41132, + "end": 41149, + "length": 18, + "parent_index": 2982 + }, + "name_location": { + "line": 1131, + "column": 40, + "start": 41140, + "end": 41149, + "length": 10, + "parent_index": 2985 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 2986, + "node_type": 30, + "src": { + "line": 1131, + "column": 32, + "start": 41132, + "end": 41138, "length": 7, - "parent_index": 3294 + "parent_index": 2985 }, "name": "uint256", "referenced_declaration": 0, @@ -58571,3778 +56202,3118 @@ } ], "initial_value": { - "id": 3296, + "id": 2987, "node_type": 24, "kind": 24, "src": { - "line": 1208, - "column": 33, - "start": 41788, - "end": 41864, - "length": 77, - "parent_index": 3293 + "line": 1131, + "column": 54, + "start": 41154, + "end": 41287, + "length": 134, + "parent_index": 2982 }, "argument_types": [ { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + }, + { + "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", + "type_string": "function(function(),index[address:uint256],index[address:uint256])" } ], "arguments": [ { - "id": 3302, - "node_type": 24, - "kind": 24, + "id": 2989, + "node_type": 16, "src": { - "line": 1209, + "line": 1132, "column": 16, - "start": 41838, - "end": 41850, - "length": 13, - "parent_index": 3296 - }, - "argument_types": [ - { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" - } - ], - "arguments": [ - { - "id": 3305, - "node_type": 16, - "src": { - "line": 1209, - "column": 24, - "start": 41846, - "end": 41849, - "length": 4, - "parent_index": 3302 - }, - "name": "this", - "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3303, - "node_type": 16, - "src": { - "line": 1209, - "column": 16, - "start": 41838, - "end": 41844, - "length": 7, - "parent_index": 3302 - }, - "name": "address", - "type_name": { - "id": 3304, - "node_type": 30, - "src": { - "line": 1209, - "column": 16, - "start": 41838, - "end": 41844, - "length": 7, - "parent_index": 3303 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "start": 41183, + "end": 41189, + "length": 7, + "parent_index": 2987 }, + "name": "factory", "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - } - ], - "expression": { - "id": 3297, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1208, - "column": 33, - "start": 41788, - "end": 41819, - "length": 32, - "parent_index": 3296 - }, - "member_location": { - "line": 1208, - "column": 56, - "start": 41811, - "end": 41819, - "length": 9, - "parent_index": 3297 + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "factory" }, - "expression": { - "id": 3298, - "node_type": 24, - "kind": 24, + { + "id": 2990, + "node_type": 22, "src": { - "line": 1208, - "column": 33, - "start": 41788, - "end": 41809, - "length": 22, - "parent_index": 3297 + "line": 1133, + "column": 16, + "start": 41208, + "end": 41218, + "length": 11, + "parent_index": 2987 }, - "argument_types": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - ], - "arguments": [ - { - "id": 3300, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1208, - "column": 40, - "start": 41795, - "end": 41808, - "length": 14, - "parent_index": 3298 - }, - "member_location": { - "line": 1208, - "column": 47, - "start": 41802, - "end": 41808, - "length": 7, - "parent_index": 3300 - }, - "expression": { - "id": 3301, - "node_type": 16, - "src": { - "line": 1208, - "column": 40, - "start": 41795, - "end": 41800, - "length": 6, - "parent_index": 3300 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3301, - "is_pure": false - }, - "member_name": "tokenIn", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - } - ], - "expression": { - "id": 3299, + "index_expression": { + "id": 2991, "node_type": 16, "src": { - "line": 1208, - "column": 33, - "start": 41788, - "end": 41793, - "length": 6, - "parent_index": 3298 + "line": 1133, + "column": 16, + "start": 41208, + "end": 41211, + "length": 4, + "parent_index": 2990 }, - "name": "IERC20", + "name": "path", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, - "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "type_string": "function(struct ITridentRouter.ExactInputParams)" - } - }, - "member_name": "balanceOf", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "type_string": "function(struct ITridentRouter.ExactInputParams)" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$", - "type_string": "function(function(address))" - } - } - }, - { - "id": 3306, - "node_type": 24, - "kind": 24, - "src": { - "line": 1211, - "column": 12, - "start": 41879, - "end": 42012, - "length": 134, - "parent_index": 3292 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "type_string": "function(struct ITridentRouter.ExactInputParams)" - }, - { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "arguments": [ - { - "id": 3308, - "node_type": 24, - "kind": 24, - "src": { - "line": 1212, - "column": 16, - "start": 41912, - "end": 41933, - "length": 22, - "parent_index": 3306 - }, - "argument_types": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - ], - "arguments": [ - { - "id": 3310, + "base_expression": { + "id": 2992, "is_constant": false, - "is_l_value": false, "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "node_type": 19, "src": { - "line": 1212, - "column": 23, - "start": 41919, - "end": 41932, - "length": 14, - "parent_index": 3308 - }, - "member_location": { - "line": 1212, - "column": 30, - "start": 41926, - "end": 41932, - "length": 7, - "parent_index": 3310 + "line": 1133, + "column": 21, + "start": 41213, + "end": 41217, + "length": 5, + "parent_index": 2990 }, - "expression": { - "id": 3311, + "operator": 2, + "left_expression": { + "id": 2993, "node_type": 16, "src": { - "line": 1212, - "column": 23, - "start": 41919, - "end": 41924, - "length": 6, - "parent_index": 3310 + "line": 1133, + "column": 21, + "start": 41213, + "end": 41213, + "length": 1, + "parent_index": 2992 }, - "name": "params", + "name": "i", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3311, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "right_expression": { + "id": 2994, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1133, + "column": 25, + "start": 41217, + "end": 41217, + "length": 1, + "parent_index": 2992 + }, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" }, - "member_name": "tokenIn", - "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_descriptions": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } + ], + "type_description": { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" } - ], - "expression": { - "id": 3309, - "node_type": 16, + }, + { + "id": 2995, + "node_type": 22, "src": { - "line": 1212, + "line": 1134, "column": 16, - "start": 41912, - "end": 41917, - "length": 6, - "parent_index": 3308 - }, - "name": "IERC20", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "start": 41237, + "end": 41243, + "length": 7, + "parent_index": 2987 }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "type_string": "function(struct ITridentRouter.ExactInputParams)" - } - }, - { - "id": 3312, - "node_type": 24, - "kind": 24, - "src": { - "line": 1213, - "column": 16, - "start": 41952, - "end": 41968, - "length": 17, - "parent_index": 3306 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "arguments": [ - { - "id": 3315, + "index_expression": { + "id": 2996, "node_type": 16, "src": { - "line": 1213, - "column": 24, - "start": 41960, - "end": 41967, - "length": 8, - "parent_index": 3312 + "line": 1134, + "column": 16, + "start": 41237, + "end": 41240, + "length": 4, + "parent_index": 2995 }, - "name": "bentoBox", + "name": "path", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3313, - "node_type": 16, - "src": { - "line": 1213, - "column": 16, - "start": 41952, - "end": 41958, - "length": 7, - "parent_index": 3312 + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, - "name": "address", - "type_name": { - "id": 3314, - "node_type": 30, + "base_expression": { + "id": 2997, + "node_type": 16, "src": { - "line": 1213, - "column": 16, - "start": 41952, - "end": 41958, - "length": 7, - "parent_index": 3313 + "line": 1134, + "column": 21, + "start": 41242, + "end": 41242, + "length": 1, + "parent_index": 2995 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, + "name": "i", "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { "type_identifier": "t_address", "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } + ], + "type_description": { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + } + }, + { + "id": 2998, + "node_type": 16, + "src": { + "line": 1135, + "column": 16, + "start": 41262, + "end": 41273, + "length": 12, + "parent_index": 2987 }, + "name": "pairCodeHash", "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", + "type_string": "function(function(),index[address:uint256],index[address:uint256])" }, "overloaded_declarations": [], "referenced_declaration": 0, "is_pure": false, "argument_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" + ], + "text": "pairCodeHash" } - }, - { - "id": 3316, + ], + "expression": { + "id": 2988, "node_type": 16, "src": { - "line": 1214, - "column": 16, - "start": 41987, - "end": 41998, - "length": 12, - "parent_index": 3306 + "line": 1131, + "column": 54, + "start": 41154, + "end": 41164, + "length": 11, + "parent_index": 2987 }, - "name": "tokenBalance", + "name": "getReserves", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 3293, + "referenced_declaration": 0, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "type_string": "function(struct ITridentRouter.ExactInputParams)" - }, - { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } - ] - } - ], - "expression": { - "id": 3307, - "node_type": 16, - "src": { - "line": 1211, - "column": 12, - "start": 41879, - "end": 41893, - "length": 15, - "parent_index": 3306 + "text": "getReserves" }, - "name": "_transferTokens", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$_t_function_$_t_function_$_t_uint256$", - "type_string": "function(function(struct ITridentRouter.ExactInputParams),function(function()),uint256)" + "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", + "type_string": "function(function(),index[address:uint256],index[address:uint256],function(function(),index[address:uint256],index[address:uint256]))" + } } }, { - "id": 3317, + "id": 2999, "node_type": 27, "src": { - "line": 1217, + "line": 1137, "column": 12, - "start": 42071, - "end": 42276, - "length": 206, - "parent_index": 3292 + "start": 41302, + "end": 41365, + "length": 64, + "parent_index": 2981 }, "expression": { - "id": 3318, + "id": 3000, "node_type": 27, "src": { - "line": 1217, + "line": 1137, "column": 12, - "start": 42071, - "end": 42275, - "length": 205, - "parent_index": 3317 + "start": 41302, + "end": 41364, + "length": 63, + "parent_index": 2999 }, "operator": 11, "left_expression": { - "id": 3319, - "node_type": 60, + "id": 3001, + "node_type": 22, "src": { - "line": 1217, + "line": 1137, "column": 12, - "start": 42071, - "end": 42089, - "length": 19, - "parent_index": 3318 + "start": 41302, + "end": 41315, + "length": 14, + "parent_index": 3000 }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 3320, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1217, - "column": 15, - "start": 42074, - "end": 42088, - "length": 15, - "parent_index": 3319 - }, - "member_location": { - "line": 1217, - "column": 22, - "start": 42081, - "end": 42088, - "length": 8, - "parent_index": 3320 + "index_expression": { + "id": 3002, + "node_type": 16, + "src": { + "line": 1137, + "column": 12, + "start": 41302, + "end": 41308, + "length": 7, + "parent_index": 3001 + }, + "name": "amounts", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" + }, + "base_expression": { + "id": 3003, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1137, + "column": 20, + "start": 41310, + "end": 41314, + "length": 5, + "parent_index": 3001 + }, + "operator": 2, + "left_expression": { + "id": 3004, + "node_type": 16, + "src": { + "line": 1137, + "column": 20, + "start": 41310, + "end": 41310, + "length": 1, + "parent_index": 3003 }, - "expression": { - "id": 3321, - "node_type": 16, - "src": { - "line": 1217, - "column": 15, - "start": 42074, - "end": 42079, - "length": 6, - "parent_index": 3320 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3321, - "is_pure": false + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "right_expression": { + "id": 3005, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1137, + "column": 24, + "start": 41314, + "end": 41314, + "length": 1, + "parent_index": 3003 }, - "member_name": "amountIn", - "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_descriptions": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } ], "type_description": { - "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "type_string": "tuple(struct ITridentRouter.ExactInputParams)" + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" } }, "right_expression": { - "id": 3322, + "id": 3006, "node_type": 24, "kind": 24, "src": { - "line": 1217, - "column": 34, - "start": 42093, - "end": 42275, - "length": 183, - "parent_index": 3318 + "line": 1137, + "column": 29, + "start": 41319, + "end": 41364, + "length": 46, + "parent_index": 3000 }, "argument_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" }, { "type_identifier": "t_uint256", "type_string": "uint256" }, { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_uint256", + "type_string": "uint256" } ], "arguments": [ { - "id": 3325, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3008, + "node_type": 22, "src": { - "line": 1218, - "column": 16, - "start": 42127, - "end": 42140, - "length": 14, - "parent_index": 3322 - }, - "member_location": { - "line": 1218, - "column": 23, - "start": 42134, - "end": 42140, - "length": 7, - "parent_index": 3325 + "line": 1137, + "column": 41, + "start": 41331, + "end": 41340, + "length": 10, + "parent_index": 3006 }, - "expression": { - "id": 3326, + "index_expression": { + "id": 3009, "node_type": 16, "src": { - "line": 1218, - "column": 16, - "start": 42127, - "end": 42132, - "length": 6, - "parent_index": 3325 + "line": 1137, + "column": 41, + "start": 41331, + "end": 41337, + "length": 7, + "parent_index": 3008 }, - "name": "params", + "name": "amounts", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3326, - "is_pure": false - }, - "member_name": "tokenIn", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - { - "id": 3327, - "node_type": 24, - "kind": 24, - "src": { - "line": 1219, - "column": 16, - "start": 42159, - "end": 42175, - "length": 17, - "parent_index": 3322 + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "arguments": [ - { - "id": 3330, - "node_type": 16, - "src": { - "line": 1219, - "column": 24, - "start": 42167, - "end": 42174, - "length": 8, - "parent_index": 3327 - }, - "name": "bentoBox", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3328, + "base_expression": { + "id": 3010, "node_type": 16, "src": { - "line": 1219, - "column": 16, - "start": 42159, - "end": 42165, - "length": 7, - "parent_index": 3327 - }, - "name": "address", - "type_name": { - "id": 3329, - "node_type": 30, - "src": { - "line": 1219, - "column": 16, - "start": 42159, - "end": 42165, - "length": 7, - "parent_index": 3328 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "line": 1137, + "column": 49, + "start": 41339, + "end": 41339, + "length": 1, + "parent_index": 3008 }, + "name": "i", "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, + "referenced_declaration": 2886, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } - }, - { - "id": 3331, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1220, - "column": 16, - "start": 42194, - "end": 42212, - "length": 19, - "parent_index": 3322 - }, - "member_location": { - "line": 1220, - "column": 31, - "start": 42209, - "end": 42212, - "length": 4, - "parent_index": 3331 - }, - "expression": { - "id": 3332, - "node_type": 22, - "src": { - "line": 1220, - "column": 16, - "start": 42194, - "end": 42207, - "length": 14, - "parent_index": 3331 - }, - "index_expression": { - "id": 3333, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1220, - "column": 16, - "start": 42194, - "end": 42204, - "length": 11, - "parent_index": 3332 - }, - "member_location": { - "line": 1220, - "column": 23, - "start": 42201, - "end": 42204, - "length": 4, - "parent_index": 3333 - }, - "expression": { - "id": 3334, - "node_type": 16, - "src": { - "line": 1220, - "column": 16, - "start": 42194, - "end": 42199, - "length": 6, - "parent_index": 3333 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3334, - "is_pure": false - }, - "member_name": "path", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3335, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1220, - "column": 28, - "start": 42206, - "end": 42206, - "length": 1, - "parent_index": 3332 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" - } + "text": "i" }, - "member_name": "pool", - "argument_types": [ + "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" + "type_identifier": "t_uint256", + "type_string": "uint256" } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" } }, { - "id": 3336, + "id": 3011, "node_type": 16, "src": { - "line": 1221, - "column": 16, - "start": 42231, - "end": 42242, - "length": 12, - "parent_index": 3322 + "line": 1137, + "column": 53, + "start": 41343, + "end": 41351, + "length": 9, + "parent_index": 3006 }, - "name": "tokenBalance", + "name": "reserveIn", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3293, + "referenced_declaration": 2982, "is_pure": false, "argument_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" } - ] + ], + "text": "reserveIn" }, { - "id": 3337, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "id": 3012, + "node_type": 16, "src": { - "line": 1222, - "column": 16, - "start": 42261, - "end": 42261, - "length": 1, - "parent_index": 3322 + "line": 1137, + "column": 64, + "start": 41354, + "end": 41363, + "length": 10, + "parent_index": 3006 }, + "name": "reserveOut", "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, + "referenced_declaration": 2982, + "is_pure": false, "argument_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" }, { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOut" } ], "expression": { - "id": 3323, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3007, + "node_type": 16, "src": { - "line": 1217, - "column": 34, - "start": 42093, - "end": 42108, - "length": 16, - "parent_index": 3322 - }, - "member_location": { - "line": 1217, - "column": 43, - "start": 42102, - "end": 42108, - "length": 7, - "parent_index": 3323 - }, - "expression": { - "id": 3324, - "node_type": 16, - "src": { - "line": 1217, - "column": 34, - "start": 42093, - "end": 42100, - "length": 8, - "parent_index": 3323 - }, - "name": "bentoBox", - "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" - }, - "overloaded_declarations": [], - "referenced_declaration": 963, - "is_pure": false + "line": 1137, + "column": 29, + "start": 41319, + "end": 41329, + "length": 11, + "parent_index": 3006 }, - "member_name": "deposit", - "argument_types": [], + "name": "getAmountIn", "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" - } + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "getAmountIn" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$_t_function_$_t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$_t_uint256$_t_rational_0_by_1$", - "type_string": "function(struct ITridentRouter.ExactInputParams,function(function()),index[struct ITridentRouter.ExactInputParams:int_const 0],uint256,int_const 0)" + "type_identifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", + "type_string": "function(index[uint256:uint256],uint256,uint256)" } }, "type_description": { - "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "type_string": "tuple(struct ITridentRouter.ExactInputParams)" + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" } }, "type_description": { - "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "type_string": "tuple(struct ITridentRouter.ExactInputParams)" - } + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" + }, + "text": "amounts[i-1]=getAmountIn(amounts[i],reserveIn,reserveOut);" } ] } - }, + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 2931, + "node_type": 43, + "src": { + "line": 1122, + "column": 8, + "start": 40719, + "end": 40821, + "length": 103, + "parent_index": 2930 + }, + "parameters": [ { - "id": 3338, + "id": 2932, "node_type": 44, "src": { - "line": 1231, + "line": 1122, "column": 8, - "start": 42640, - "end": 42670, - "length": 31, - "parent_index": 3286 + "start": 40719, + "end": 40733, + "length": 15, + "parent_index": 2931 }, - "assignments": [ - 3339 - ], - "declarations": [ - { - "id": 3339, - "state_mutability": 1, - "name": "n", - "node_type": 44, - "scope": 3286, - "src": { - "line": 1231, - "column": 8, - "start": 42640, - "end": 42648, - "length": 9, - "parent_index": 3338 - }, - "name_location": { - "line": 1231, - "column": 16, - "start": 42648, - "end": 42648, - "length": 1, - "parent_index": 3339 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 3340, - "node_type": 30, - "src": { - "line": 1231, - "column": 8, - "start": 42640, - "end": 42646, - "length": 7, - "parent_index": 3339 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 3341, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "scope": 2930, + "name": "factory", + "type_name": { + "id": 2933, + "node_type": 30, "src": { - "line": 1231, - "column": 20, - "start": 42652, - "end": 42669, - "length": 18, - "parent_index": 3338 - }, - "member_location": { - "line": 1231, - "column": 32, - "start": 42664, - "end": 42669, - "length": 6, - "parent_index": 3341 - }, - "expression": { - "id": 3342, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1231, - "column": 20, - "start": 42652, - "end": 42662, - "length": 11, - "parent_index": 3338 - }, - "member_location": { - "line": 1231, - "column": 27, - "start": 42659, - "end": 42662, - "length": 4, - "parent_index": 3342 - }, - "expression": { - "id": 3343, - "node_type": 16, - "src": { - "line": 1231, - "column": 20, - "start": 42652, - "end": 42657, - "length": 6, - "parent_index": 3342 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3343, - "is_pure": false - }, - "member_name": "path", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "line": 1122, + "column": 8, + "start": 40719, + "end": 40725, + "length": 7, + "parent_index": 2932 }, - "member_name": "length", - "argument_types": [], + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_address", + "type_string": "address" } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 3344, - "node_type": 79, + "id": 2934, + "node_type": 44, "src": { - "line": 1232, - "column": 0, - "start": 42680, - "end": 42814, - "length": 135, - "parent_index": 3286 - }, - "initialiser": { - "id": 3345, - "node_type": 44, + "line": 1123, + "column": 8, + "start": 40744, + "end": 40760, + "length": 17, + "parent_index": 2931 + }, + "scope": 2930, + "name": "amountOut", + "type_name": { + "id": 2935, + "node_type": 30, "src": { - "line": 1232, - "column": 13, - "start": 42685, - "end": 42698, - "length": 14, - "parent_index": 3286 + "line": 1123, + "column": 8, + "start": 40744, + "end": 40750, + "length": 7, + "parent_index": 2934 }, - "assignments": [ - 3346 - ], - "declarations": [ - { - "id": 3346, - "state_mutability": 1, - "name": "i", - "node_type": 44, - "scope": 3286, - "src": { - "line": 1232, - "column": 13, - "start": 42685, - "end": 42693, - "length": 9, - "parent_index": 3345 - }, - "name_location": { - "line": 1232, - "column": 21, - "start": 42693, - "end": 42693, - "length": 1, - "parent_index": 3346 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 3347, - "node_type": 30, - "src": { - "line": 1232, - "column": 13, - "start": 42685, - "end": 42691, - "length": 7, - "parent_index": 3346 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 3348, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1232, - "column": 25, - "start": 42697, - "end": 42697, - "length": 1, - "parent_index": 3345 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - "condition": { - "id": 3349, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 2936, + "node_type": 44, + "src": { + "line": 1124, + "column": 8, + "start": 40771, + "end": 40791, + "length": 21, + "parent_index": 2931 + }, + "scope": 2930, + "name": "path", + "type_name": { + "id": 2937, + "node_type": 16, "src": { - "line": 1232, - "column": 28, - "start": 42700, - "end": 42704, - "length": 5, - "parent_index": 3344 + "line": 1124, + "column": 8, + "start": 40771, + "end": 40777, + "length": 7, + "parent_index": 2936 }, - "operator": 9, - "left_expression": { - "id": 3350, - "node_type": 16, - "src": { - "line": 1232, - "column": 28, - "start": 42700, - "end": 42700, - "length": 1, - "parent_index": 3349 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "name": "address", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 2938, + "node_type": 44, + "src": { + "line": 1125, + "column": 8, + "start": 40802, + "end": 40821, + "length": 20, + "parent_index": 2931 + }, + "scope": 2930, + "name": "pairCodeHash", + "type_name": { + "id": 2939, + "node_type": 30, + "src": { + "line": 1125, + "column": 8, + "start": 40802, + "end": 40808, + "length": 7, + "parent_index": 2938 }, - "right_expression": { - "id": 3351, - "node_type": 16, - "src": { - "line": 1232, - "column": 32, - "start": 42704, - "end": 42704, - "length": 1, - "parent_index": 3349 - }, - "name": "n", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3338, - "is_pure": false + "name": "bytes32", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_bytes32", + "type_string": "bytes32" + } + ] + }, + "return_parameters": { + "id": 2940, + "node_type": 43, + "src": { + "line": 1126, + "column": 29, + "start": 40852, + "end": 40875, + "length": 24, + "parent_index": 2930 + }, + "parameters": [ + { + "id": 2941, + "node_type": 44, + "src": { + "line": 1126, + "column": 29, + "start": 40852, + "end": 40875, + "length": 24, + "parent_index": 2940 + }, + "scope": 2930, + "name": "amounts", + "type_name": { + "id": 2942, + "node_type": 16, + "src": { + "line": 1126, + "column": 29, + "start": 40852, + "end": 40858, + "length": 7, + "parent_index": 2941 }, + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - "closure": { - "id": 3352, - "node_type": 27, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "getAmountsIn(address,uint256,address,bytes32)", + "signature": "6ba120d4", + "scope": 2535, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", + "type_string": "function(address,uint256,address,bytes32)" + }, + "text": "functiongetAmountsIn(addressfactory,uint256amountOut,address[]memorypath,bytes32pairCodeHash)internalviewreturns(uint256[]memoryamounts){require(path.length\u003e=2,\"UniswapV2Library: INVALID_PATH\");amounts=newuint256[](path.length);amounts[amounts.length-1]=amountOut;for(uint256i=path.length-1;i\u003e0;i--){(uint256reserveIn,uint256reserveOut)=getReserves(factory,path[i-1],path[i],pairCodeHash);amounts[i-1]=getAmountIn(amounts[i],reserveIn,reserveOut);}}" + } + ], + "linearized_base_contracts": [ + 2535 + ], + "base_contracts": [], + "contract_dependencies": [] + } + ], + "src": { + "line": 996, + "column": 0, + "start": 36061, + "end": 41383, + "length": 5323, + "parent_index": 272 + } + }, + { + "id": 3013, + "base_contracts": [ + { + "id": 3050, + "node_type": 62, + "src": { + "line": 1152, + "column": 40, + "start": 41693, + "end": 41706, + "length": 14, + "parent_index": 3049 + }, + "base_name": { + "id": 3051, + "node_type": 52, + "src": { + "line": 1152, + "column": 40, + "start": 41693, + "end": 41706, + "length": 14, + "parent_index": 3049 + }, + "name": "ImmutableState", + "referenced_declaration": 948 + } + } + ], + "license": "GPL-3.0-or-later", + "exported_symbols": [ + { + "id": 3013, + "name": "SushiLegacyAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiLegacyAdapter.sol" + }, + { + "id": 2503, + "name": "SafeERC20", + "absolute_path": "SafeERC20.sol" + }, + { + "id": 2503, + "name": "UniswapV2Library", + "absolute_path": "UniswapV2Library.sol" + }, + { + "id": 2503, + "name": "ImmutableState", + "absolute_path": "ImmutableState.sol" + } + ], + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiLegacyAdapter.sol", + "name": "SushiLegacyAdapter", + "node_type": 1, + "nodes": [ + { + "id": 3029, + "node_type": 10, + "src": { + "line": 1144, + "column": 0, + "start": 41432, + "end": 41454, + "length": 23, + "parent_index": 3013 + }, + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "text": "pragma solidity 0.8.11;" + }, + { + "id": 3046, + "node_type": 29, + "src": { + "line": 1146, + "column": 0, + "start": 41457, + "end": 41481, + "length": 25, + "parent_index": 3013 + }, + "absolute_path": "SafeERC20.sol", + "file": "./SafeERC20.sol", + "scope": 3013, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 2503 + }, + { + "id": 3047, + "node_type": 29, + "src": { + "line": 1147, + "column": 0, + "start": 41483, + "end": 41514, + "length": 32, + "parent_index": 3013 + }, + "absolute_path": "UniswapV2Library.sol", + "file": "./UniswapV2Library.sol", + "scope": 3013, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 2503 + }, + { + "id": 3048, + "node_type": 29, + "src": { + "line": 1148, + "column": 0, + "start": 41516, + "end": 41545, + "length": 30, + "parent_index": 3013 + }, + "absolute_path": "ImmutableState.sol", + "file": "./ImmutableState.sol", + "scope": 3013, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 2503 + }, + { + "id": 3049, + "name": "SushiLegacyAdapter", + "node_type": 35, + "src": { + "line": 1152, + "column": 0, + "start": 41653, + "end": 43746, + "length": 2094, + "parent_index": 3013 + }, + "name_location": { + "line": 1152, + "column": 18, + "start": 41671, + "end": 41688, + "length": 18, + "parent_index": 3049 + }, + "abstract": false, + "kind": 36, + "fully_implemented": true, + "nodes": [ + { + "id": 3053, + "node_type": 51, + "src": { + "line": 1153, + "column": 0, + "start": 41714, + "end": 41740, + "length": 27, + "parent_index": 3049 + }, + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + }, + "type_name": { + "id": 3055, + "node_type": 69, + "src": { + "line": 1153, + "column": 24, + "start": 41734, + "end": 41739, + "length": 6, + "parent_index": 3053 + }, + "path_node": { + "id": 3056, + "name": "IERC20", + "node_type": 52, + "referenced_declaration": 1089, + "src": { + "line": 1153, + "column": 24, + "start": 41734, + "end": 41739, + "length": 6, + "parent_index": 3055 + }, + "name_location": { + "line": 1153, + "column": 24, + "start": 41734, + "end": 41739, + "length": 6, + "parent_index": 3055 + } + }, + "referenced_declaration": 1089, + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + } + }, + "library_name": { + "id": 3054, + "node_type": 52, + "src": { + "line": 1153, + "column": 0, + "start": 41720, + "end": 41728, + "length": 9, + "parent_index": 3053 + }, + "name": "SafeERC20", + "referenced_declaration": 1442 + } + }, + { + "id": 3058, + "name": "_swapExactTokensForTokens", + "node_type": 42, + "kind": 41, + "src": { + "line": 1155, + "column": 4, + "start": 41747, + "end": 42687, + "length": 941, + "parent_index": 3049 + }, + "name_location": { + "line": 1155, + "column": 13, + "start": 41756, + "end": 41780, + "length": 25, + "parent_index": 3058 + }, + "body": { + "id": 3073, + "node_type": 46, + "kind": 0, + "src": { + "line": 1161, + "column": 43, + "start": 41957, + "end": 42687, + "length": 731, + "parent_index": 3058 + }, + "implemented": true, + "statements": [ + { + "id": 3074, + "node_type": 44, + "src": { + "line": 1162, + "column": 8, + "start": 41967, + "end": 42121, + "length": 155, + "parent_index": 3073 + }, + "assignments": [ + 3075 + ], + "declarations": [ + { + "id": 3075, + "state_mutability": 1, + "name": "amounts", + "node_type": 44, + "scope": 3073, + "src": { + "line": 1162, + "column": 8, + "start": 41967, + "end": 41990, + "length": 24, + "parent_index": 3074 + }, + "name_location": { + "line": 1162, + "column": 25, + "start": 41984, + "end": 41990, + "length": 7, + "parent_index": 3075 + }, + "is_state_variable": false, + "storage_location": 2, + "type_name": { + "id": 3076, + "node_type": 16, + "src": { + "line": 1162, + "column": 8, + "start": 41967, + "end": 41973, + "length": 7, + "parent_index": 3075 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3077, + "node_type": 24, + "kind": 24, "src": { - "line": 1232, + "line": 1162, "column": 35, - "start": 42707, - "end": 42723, - "length": 17, - "parent_index": 3344 + "start": 41994, + "end": 42120, + "length": 127, + "parent_index": 3074 }, - "operator": 11, - "left_expression": { - "id": 3353, - "node_type": 16, - "src": { - "line": 1232, - "column": 35, - "start": 42707, - "end": 42707, - "length": 1, - "parent_index": 3352 + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" }, - "name": "i", - "type_description": { + { "type_identifier": "t_uint256", "type_string": "uint256" }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 3354, - "node_type": 24, - "kind": 24, - "src": { - "line": 1232, - "column": 39, - "start": 42711, - "end": 42723, - "length": 13, - "parent_index": 3352 + { + "type_identifier": "t_address", + "type_string": "address" }, - "argument_types": [ - { + { + "type_identifier": "t_function_$_t_function_$$$_t_uint256$$_t_address$", + "type_string": "function(function(),uint256,address)" + } + ], + "arguments": [ + { + "id": 3080, + "node_type": 16, + "src": { + "line": 1163, + "column": 12, + "start": 42038, + "end": 42044, + "length": 7, + "parent_index": 3077 + }, + "name": "factory", + "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } - ], - "arguments": [ - { - "id": 3356, - "node_type": 16, - "src": { - "line": 1232, - "column": 50, - "start": 42722, - "end": 42722, - "length": 1, - "parent_index": 3354 - }, - "name": "i", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3355, + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "factory" + }, + { + "id": 3081, "node_type": 16, "src": { - "line": 1232, - "column": 39, - "start": 42711, - "end": 42720, - "length": 10, - "parent_index": 3354 + "line": 1164, + "column": 12, + "start": 42059, + "end": 42066, + "length": 8, + "parent_index": 3077 }, - "name": "_increment", + "name": "amountIn", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "referenced_declaration": 3081, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "text": "amountIn" }, - "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "body": { - "id": 3357, - "node_type": 46, - "kind": 0, - "src": { - "line": 1232, - "column": 54, - "start": 42726, - "end": 42814, - "length": 89, - "parent_index": 3344 - }, - "implemented": true, - "statements": [ { - "id": 3358, - "node_type": 27, + "id": 3082, + "node_type": 16, "src": { - "line": 1233, + "line": 1165, "column": 12, - "start": 42740, - "end": 42804, - "length": 65, - "parent_index": 3357 + "start": 42081, + "end": 42084, + "length": 4, + "parent_index": 3077 }, - "expression": { - "id": 3359, - "node_type": 27, - "src": { - "line": 1233, - "column": 12, - "start": 42740, - "end": 42803, - "length": 64, - "parent_index": 3358 - }, - "operator": 11, - "left_expression": { - "id": 3360, - "node_type": 16, - "src": { - "line": 1233, - "column": 12, - "start": 42740, - "end": 42748, - "length": 9, - "parent_index": 3359 - }, - "name": "amountOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 646, - "is_pure": false - }, - "right_expression": { - "id": 3361, - "node_type": 24, - "kind": 24, - "src": { - "line": 1233, - "column": 24, - "start": 42752, - "end": 42803, - "length": 52, - "parent_index": 3359 - }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "arguments": [ - { - "id": 3370, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1233, - "column": 56, - "start": 42784, - "end": 42802, - "length": 19, - "parent_index": 3361 - }, - "member_location": { - "line": 1233, - "column": 71, - "start": 42799, - "end": 42802, - "length": 4, - "parent_index": 3370 - }, - "expression": { - "id": 3371, - "node_type": 22, - "src": { - "line": 1233, - "column": 56, - "start": 42784, - "end": 42797, - "length": 14, - "parent_index": 3370 - }, - "index_expression": { - "id": 3372, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1233, - "column": 56, - "start": 42784, - "end": 42794, - "length": 11, - "parent_index": 3371 - }, - "member_location": { - "line": 1233, - "column": 63, - "start": 42791, - "end": 42794, - "length": 4, - "parent_index": 3372 - }, - "expression": { - "id": 3373, - "node_type": 16, - "src": { - "line": 1233, - "column": 56, - "start": 42784, - "end": 42789, - "length": 6, - "parent_index": 3372 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "path", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3374, - "node_type": 16, - "src": { - "line": 1233, - "column": 68, - "start": 42796, - "end": 42796, - "length": 1, - "parent_index": 3371 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "data", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - ], - "expression": { - "id": 3362, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1233, - "column": 24, - "start": 42752, - "end": 42782, - "length": 31, - "parent_index": 3361 - }, - "member_location": { - "line": 1233, - "column": 51, - "start": 42779, - "end": 42782, - "length": 4, - "parent_index": 3362 - }, - "expression": { - "id": 3363, - "node_type": 24, - "kind": 24, - "src": { - "line": 1233, - "column": 24, - "start": 42752, - "end": 42777, - "length": 26, - "parent_index": 3362 - }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "arguments": [ - { - "id": 3365, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1233, - "column": 30, - "start": 42758, - "end": 42776, - "length": 19, - "parent_index": 3363 - }, - "member_location": { - "line": 1233, - "column": 45, - "start": 42773, - "end": 42776, - "length": 4, - "parent_index": 3365 - }, - "expression": { - "id": 3366, - "node_type": 22, - "src": { - "line": 1233, - "column": 30, - "start": 42758, - "end": 42771, - "length": 14, - "parent_index": 3365 - }, - "index_expression": { - "id": 3367, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1233, - "column": 30, - "start": 42758, - "end": 42768, - "length": 11, - "parent_index": 3366 - }, - "member_location": { - "line": 1233, - "column": 37, - "start": 42765, - "end": 42768, - "length": 4, - "parent_index": 3367 - }, - "expression": { - "id": 3368, - "node_type": 16, - "src": { - "line": 1233, - "column": 30, - "start": 42758, - "end": 42763, - "length": 6, - "parent_index": 3367 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "path", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3369, - "node_type": 16, - "src": { - "line": 1233, - "column": 42, - "start": 42770, - "end": 42770, - "length": 1, - "parent_index": 3366 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "pool", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - ], - "expression": { - "id": 3364, - "node_type": 16, - "src": { - "line": 1233, - "column": 24, - "start": 42752, - "end": 42756, - "length": 5, - "parent_index": 3363 - }, - "name": "IPool", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } - }, - "member_name": "swap", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3082, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" }, - "type_description": { + { "type_identifier": "t_uint256", "type_string": "uint256" } + ], + "text": "path" + }, + { + "id": 3083, + "node_type": 16, + "src": { + "line": 1166, + "column": 12, + "start": 42099, + "end": 42110, + "length": 12, + "parent_index": 3077 }, + "name": "pairCodeHash", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_identifier": "t_function_$_t_function_$$$_t_uint256$$_t_address$", + "type_string": "function(function(),uint256,address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "pairCodeHash" } - ] - } - }, - { - "id": 3375, - "node_type": 48, - "src": { - "line": 1236, - "column": 0, - "start": 42915, - "end": 42982, - "length": 68, - "parent_index": 3286 - }, - "condition": { - "id": 3376, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1236, - "column": 12, - "start": 42919, - "end": 42953, - "length": 35, - "parent_index": 3375 - }, - "operator": 9, - "left_expression": { - "id": 3377, - "node_type": 16, - "src": { - "line": 1236, - "column": 12, - "start": 42919, - "end": 42927, - "length": 9, - "parent_index": 3376 - }, - "name": "amountOut", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 646, - "is_pure": false - }, - "right_expression": { - "id": 3378, + ], + "expression": { + "id": 3078, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1236, - "column": 24, - "start": 42931, - "end": 42953, - "length": 23, - "parent_index": 3376 + "line": 1162, + "column": 35, + "start": 41994, + "end": 42023, + "length": 30, + "parent_index": 3077 }, "member_location": { - "line": 1236, - "column": 31, - "start": 42938, - "end": 42953, - "length": 16, - "parent_index": 3378 + "line": 1162, + "column": 52, + "start": 42011, + "end": 42023, + "length": 13, + "parent_index": 3078 }, "expression": { - "id": 3379, + "id": 3079, "node_type": 16, "src": { - "line": 1236, - "column": 24, - "start": 42931, - "end": 42936, - "length": 6, - "parent_index": 3378 + "line": 1162, + "column": 35, + "start": 41994, + "end": 42009, + "length": 16, + "parent_index": 3078 }, - "name": "params", + "name": "UniswapV2Library", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" }, "overloaded_declarations": [], - "referenced_declaration": 3379, - "is_pure": false + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" }, - "member_name": "amountOutMinimum", + "member_name": "getAmountsOut", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" + }, + "text": "UniswapV2Library.getAmountsOut" }, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_function_$_t_function_$_t_uint256$_t_address$_t_function_$_t_function_$_t_uint256$_t_address$", + "type_string": "function(function(),uint256,address,function(function(),uint256,address))" } - }, - "body": { - "id": 3380, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 3279, - "node_type": 43, - "src": { - "line": 1203, - "column": 25, - "start": 41628, - "end": 41657, - "length": 30, - "parent_index": 3278 - }, - "parameters": [ + }, { - "id": 3280, - "node_type": 44, + "id": 3084, + "node_type": 27, "src": { - "line": 1203, - "column": 25, - "start": 41628, - "end": 41657, - "length": 30, - "parent_index": 3279 + "line": 1168, + "column": 8, + "start": 42131, + "end": 42170, + "length": 40, + "parent_index": 3073 }, - "scope": 3278, - "name": "params", - "type_name": { - "id": 3281, - "node_type": 69, + "expression": { + "id": 3085, + "node_type": 27, "src": { - "line": 1203, - "column": 25, - "start": 41628, - "end": 41643, - "length": 16, - "parent_index": 3280 + "line": 1168, + "column": 8, + "start": 42131, + "end": 42169, + "length": 39, + "parent_index": 3084 }, - "path_node": { - "id": 3282, - "name": "ExactInputParams", - "node_type": 52, - "referenced_declaration": 3101, + "operator": 11, + "left_expression": { + "id": 3086, + "node_type": 16, "src": { - "line": 1203, - "column": 25, - "start": 41628, - "end": 41643, - "length": 16, - "parent_index": 3281 + "line": 1168, + "column": 8, + "start": 42131, + "end": 42139, + "length": 9, + "parent_index": 3085 }, - "name_location": { - "line": 1203, - "column": 25, - "start": 41628, - "end": 41643, - "length": 16, - "parent_index": 3281 - } + "name": "amountOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 646, + "is_pure": false, + "text": "amountOut" }, - "referenced_declaration": 3101, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - ] - }, - "return_parameters": { - "id": 3283, - "node_type": 43, - "src": { - "line": 1205, - "column": 17, - "start": 41694, - "end": 41710, - "length": 17, - "parent_index": 3278 - }, - "parameters": [ - { - "id": 3284, - "node_type": 44, - "src": { - "line": 1205, - "column": 17, - "start": 41694, - "end": 41710, - "length": 17, - "parent_index": 3283 - }, - "scope": 3278, - "name": "amountOut", - "type_name": { - "id": 3285, - "node_type": 30, - "src": { - "line": 1205, - "column": 17, - "start": 41694, - "end": 41700, - "length": 7, - "parent_index": 3284 + "right_expression": { + "id": 3087, + "node_type": 22, + "src": { + "line": 1168, + "column": 20, + "start": 42143, + "end": 42169, + "length": 27, + "parent_index": 3085 + }, + "index_expression": { + "id": 3088, + "node_type": 16, + "src": { + "line": 1168, + "column": 20, + "start": 42143, + "end": 42149, + "length": 7, + "parent_index": 3087 + }, + "name": "amounts", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3074, + "is_pure": false, + "text": "amounts" + }, + "base_expression": { + "id": 3089, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1168, + "column": 28, + "start": 42151, + "end": 42168, + "length": 18, + "parent_index": 3087 + }, + "operator": 2, + "left_expression": { + "id": 3090, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1168, + "column": 28, + "start": 42151, + "end": 42164, + "length": 14, + "parent_index": 3089 + }, + "member_location": { + "line": 1168, + "column": 36, + "start": 42159, + "end": 42164, + "length": 6, + "parent_index": 3090 + }, + "expression": { + "id": 3091, + "node_type": 16, + "src": { + "line": 1168, + "column": 28, + "start": 42151, + "end": 42157, + "length": 7, + "parent_index": 3090 + }, + "name": "amounts", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3074, + "is_pure": false, + "text": "amounts" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "amounts.length" + }, + "right_expression": { + "id": 3092, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1168, + "column": 45, + "start": 42168, + "end": 42168, + "length": 1, + "parent_index": 3089 + }, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_descriptions": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" + } }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "_exactInput()", - "signature": "d9c63675", - "scope": 3265, - "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "type_string": "function(struct ITridentRouter.ExactInputParams)" - } - }, - { - "id": 3382, - "name": "_complexPath", - "node_type": 42, - "kind": 41, - "src": { - "line": 1245, - "column": 4, - "start": 43542, - "end": 45904, - "length": 2363, - "parent_index": 3265 - }, - "name_location": { - "line": 1245, - "column": 13, - "start": 43551, - "end": 43562, - "length": 12, - "parent_index": 3382 - }, - "body": { - "id": 3388, - "node_type": 46, - "kind": 0, - "src": { - "line": 1245, - "column": 68, - "start": 43606, - "end": 45904, - "length": 2299, - "parent_index": 3382 - }, - "implemented": true, - "statements": [ + }, + "text": "amountOut=amounts[amounts.length-1];" + }, { - "id": 3389, - "node_type": 44, + "id": 3093, + "node_type": 24, + "kind": 24, "src": { - "line": 1248, + "line": 1170, "column": 8, - "start": 43775, - "end": 43812, - "length": 38, - "parent_index": 3388 + "start": 42181, + "end": 42241, + "length": 61, + "parent_index": 3073 }, - "assignments": [ - 3390 + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string_literal", + "type_string": "literal_string \"insufficient-amount-out\"" + } ], - "declarations": [ + "arguments": [ { - "id": 3390, - "state_mutability": 1, - "name": "n", - "node_type": 44, - "scope": 3388, + "id": 3095, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 1248, - "column": 8, - "start": 43775, - "end": 43783, - "length": 9, - "parent_index": 3389 - }, - "name_location": { - "line": 1248, + "line": 1170, "column": 16, - "start": 43783, - "end": 43783, - "length": 1, - "parent_index": 3390 + "start": 42189, + "end": 42213, + "length": 25, + "parent_index": 3093 }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 3391, - "node_type": 30, + "operator": 8, + "left_expression": { + "id": 3096, + "node_type": 16, "src": { - "line": 1248, - "column": 8, - "start": 43775, - "end": 43781, - "length": 7, - "parent_index": 3390 + "line": 1170, + "column": 16, + "start": 42189, + "end": 42197, + "length": 9, + "parent_index": 3095 }, - "name": "uint256", - "referenced_declaration": 0, + "name": "amountOut", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 3392, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1248, - "column": 20, - "start": 43787, - "end": 43811, - "length": 25, - "parent_index": 3389 - }, - "member_location": { - "line": 1248, - "column": 39, - "start": 43806, - "end": 43811, - "length": 6, - "parent_index": 3392 - }, - "expression": { - "id": 3393, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1248, - "column": 20, - "start": 43787, - "end": 43804, - "length": 18, - "parent_index": 3389 - }, - "member_location": { - "line": 1248, - "column": 27, - "start": 43794, - "end": 43804, - "length": 11, - "parent_index": 3393 + }, + "overloaded_declarations": [], + "referenced_declaration": 646, + "is_pure": false, + "text": "amountOut" }, - "expression": { - "id": 3394, + "right_expression": { + "id": 3097, "node_type": 16, "src": { - "line": 1248, - "column": 20, - "start": 43787, - "end": 43792, - "length": 6, - "parent_index": 3393 + "line": 1170, + "column": 29, + "start": 42202, + "end": 42213, + "length": 12, + "parent_index": 3095 }, - "name": "params", + "name": "amountOutMin", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3394, - "is_pure": false + "referenced_declaration": 3097, + "is_pure": false, + "text": "amountOutMin" }, - "member_name": "initialPath", - "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" + "type_identifier": "t_bool", + "type_string": "bool" } }, - "member_name": "length", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" - } - } - }, - { - "id": 3395, - "node_type": 79, - "src": { - "line": 1249, - "column": 0, - "start": 43822, - "end": 44171, - "length": 350, - "parent_index": 3388 - }, - "initialiser": { - "id": 3396, - "node_type": 44, - "src": { - "line": 1249, - "column": 13, - "start": 43827, - "end": 43840, - "length": 14, - "parent_index": 3388 - }, - "assignments": [ - 3397 - ], - "declarations": [ - { - "id": 3397, - "state_mutability": 1, - "name": "i", - "node_type": 44, - "scope": 3388, - "src": { - "line": 1249, - "column": 13, - "start": 43827, - "end": 43835, - "length": 9, - "parent_index": 3396 - }, - "name_location": { - "line": 1249, - "column": 21, - "start": 43835, - "end": 43835, - "length": 1, - "parent_index": 3397 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 3398, - "node_type": 30, - "src": { - "line": 1249, - "column": 13, - "start": 43827, - "end": 43833, - "length": 7, - "parent_index": 3397 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 3399, + { + "id": 3098, "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "kind": 50, + "value": "insufficient-amount-out", + "hex_value": "696e73756666696369656e742d616d6f756e742d6f7574", "src": { - "line": 1249, - "column": 25, - "start": 43839, - "end": 43839, - "length": 1, - "parent_index": 3396 + "line": 1170, + "column": 43, + "start": 42216, + "end": 42240, + "length": 25, + "parent_index": 3093 }, "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_string_literal", + "type_string": "literal_string \"insufficient-amount-out\"" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "\"insufficient-amount-out\"" } - }, - "condition": { - "id": 3400, - "is_constant": false, - "is_pure": false, - "node_type": 19, + ], + "expression": { + "id": 3094, + "node_type": 16, "src": { - "line": 1249, - "column": 28, - "start": 43842, - "end": 43846, - "length": 5, - "parent_index": 3395 + "line": 1170, + "column": 8, + "start": 42181, + "end": 42187, + "length": 7, + "parent_index": 3093 }, - "operator": 9, - "left_expression": { - "id": 3401, - "node_type": 16, - "src": { - "line": 1249, - "column": 28, - "start": 43842, - "end": 43842, - "length": 1, - "parent_index": 3400 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" }, - "right_expression": { - "id": 3402, - "node_type": 16, - "src": { - "line": 1249, - "column": 32, - "start": 43846, - "end": 43846, - "length": 1, - "parent_index": 3400 - }, - "name": "n", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" + }, + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string_literal$", + "type_string": "function(bool,string memory)" + } + }, + { + "id": 3099, + "node_type": 48, + "src": { + "line": 1173, + "column": 0, + "start": 42326, + "end": 42647, + "length": 322, + "parent_index": 3073 + }, + "condition": { + "id": 3100, + "node_type": 16, + "src": { + "line": 1173, + "column": 12, + "start": 42330, + "end": 42339, + "length": 10, + "parent_index": 3099 }, + "name": "sendTokens", "type_description": { "type_identifier": "t_bool", "type_string": "bool" - } - }, - "closure": { - "id": 3403, - "node_type": 27, - "src": { - "line": 1249, - "column": 35, - "start": 43849, - "end": 43865, - "length": 17, - "parent_index": 3395 - }, - "operator": 11, - "left_expression": { - "id": 3404, - "node_type": 16, - "src": { - "line": 1249, - "column": 35, - "start": 43849, - "end": 43849, - "length": 1, - "parent_index": 3403 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 3405, - "node_type": 24, - "kind": 24, - "src": { - "line": 1249, - "column": 39, - "start": 43853, - "end": 43865, - "length": 13, - "parent_index": 3403 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "arguments": [ - { - "id": 3407, - "node_type": 16, - "src": { - "line": 1249, - "column": 50, - "start": 43864, - "end": 43864, - "length": 1, - "parent_index": 3405 - }, - "name": "i", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3406, - "node_type": 16, - "src": { - "line": 1249, - "column": 39, - "start": 43853, - "end": 43862, - "length": 10, - "parent_index": 3405 - }, - "name": "_increment", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "overloaded_declarations": [], + "referenced_declaration": 3100, + "is_pure": false, + "text": "sendTokens" }, "body": { - "id": 3408, + "id": 3101, "node_type": 46, "kind": 0, "src": { - "line": 1249, - "column": 54, - "start": 43868, - "end": 44171, - "length": 304, - "parent_index": 3395 + "line": 1173, + "column": 24, + "start": 42342, + "end": 42647, + "length": 306, + "parent_index": 3058 }, "implemented": true, "statements": [ { - "id": 3409, + "id": 3102, "node_type": 24, "kind": 24, "src": { - "line": 1250, + "line": 1174, "column": 12, - "start": 43882, - "end": 44080, - "length": 199, - "parent_index": 3408 + "start": 42356, + "end": 42636, + "length": 281, + "parent_index": 3101 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", + "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1]))" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_function_$_t_function_$_t_address$", + "type_string": "function(function(address))" } ], "arguments": [ { - "id": 3412, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3109, + "node_type": 24, + "kind": 24, "src": { - "line": 1251, + "line": 1175, "column": 16, - "start": 43917, - "end": 43945, - "length": 29, - "parent_index": 3409 - }, - "member_location": { - "line": 1251, - "column": 38, - "start": 43939, - "end": 43945, - "length": 7, - "parent_index": 3412 + "start": 42402, + "end": 42564, + "length": 163, + "parent_index": 3102 }, - "expression": { - "id": 3413, - "node_type": 22, - "src": { - "line": 1251, - "column": 16, - "start": 43917, - "end": 43937, - "length": 21, - "parent_index": 3412 + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" }, - "index_expression": { - "id": 3414, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + { + "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "index[address:int_const 0]" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", + "type_string": "index[address:int_const 1]" + }, + { + "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_rational_0_by_1]$$$_t_[_[$_t_address]$_t_rational_1_by_1]$$", + "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1])" + } + ], + "arguments": [ + { + "id": 3112, + "node_type": 16, "src": { - "line": 1251, - "column": 16, - "start": 43917, - "end": 43934, - "length": 18, - "parent_index": 3413 + "line": 1176, + "column": 20, + "start": 42448, + "end": 42454, + "length": 7, + "parent_index": 3109 }, - "member_location": { - "line": 1251, - "column": 23, - "start": 43924, - "end": 43934, - "length": 11, - "parent_index": 3414 + "name": "factory", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" }, - "expression": { - "id": 3415, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "factory" + }, + { + "id": 3113, + "node_type": 22, + "src": { + "line": 1177, + "column": 20, + "start": 42477, + "end": 42483, + "length": 7, + "parent_index": 3109 + }, + "index_expression": { + "id": 3114, "node_type": 16, "src": { - "line": 1251, - "column": 16, - "start": 43917, - "end": 43922, - "length": 6, - "parent_index": 3414 + "line": 1177, + "column": 20, + "start": 42477, + "end": 42480, + "length": 4, + "parent_index": 3113 }, - "name": "params", + "name": "path", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3114, + "is_pure": false, + "text": "path" + }, + "base_expression": { + "id": 3115, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1177, + "column": 25, + "start": 42482, + "end": 42482, + "length": 1, + "parent_index": 3113 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, - "member_name": "initialPath", - "argument_types": [], + "type_descriptions": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "index[address:int_const 0]" } }, - "base_expression": { - "id": 3416, - "node_type": 16, + { + "id": 3116, + "node_type": 22, "src": { - "line": 1251, - "column": 35, - "start": 43936, - "end": 43936, - "length": 1, - "parent_index": 3413 + "line": 1178, + "column": 20, + "start": 42506, + "end": 42512, + "length": 7, + "parent_index": 3109 }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "index_expression": { + "id": 3117, + "node_type": 16, + "src": { + "line": 1178, + "column": 20, + "start": 42506, + "end": 42509, + "length": 4, + "parent_index": 3116 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3117, + "is_pure": false, + "text": "path" }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "base_expression": { + "id": 3118, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1178, + "column": 25, + "start": 42511, + "end": 42511, + "length": 1, + "parent_index": 3116 + }, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_descriptions": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", + "type_string": "index[address:int_const 1]" } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "tokenIn", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - { - "id": 3417, - "node_type": 24, - "kind": 24, - "src": { - "line": 1252, - "column": 16, - "start": 43964, - "end": 43976, - "length": 13, - "parent_index": 3409 - }, - "argument_types": [ - { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" - } - ], - "arguments": [ + }, { - "id": 3420, + "id": 3119, "node_type": 16, "src": { - "line": 1252, - "column": 24, - "start": 43972, - "end": 43975, - "length": 4, - "parent_index": 3417 + "line": 1179, + "column": 20, + "start": 42535, + "end": 42546, + "length": 12, + "parent_index": 3109 }, - "name": "this", + "name": "pairCodeHash", "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" + "type_identifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_rational_0_by_1]$$$_t_[_[$_t_address]$_t_rational_1_by_1]$$", + "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1])" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "index[address:int_const 0]" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", + "type_string": "index[address:int_const 1]" + } + ], + "text": "pairCodeHash" } ], "expression": { - "id": 3418, - "node_type": 16, + "id": 3110, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1252, + "line": 1175, "column": 16, - "start": 43964, - "end": 43970, + "start": 42402, + "end": 42425, + "length": 24, + "parent_index": 3109 + }, + "member_location": { + "line": 1175, + "column": 33, + "start": 42419, + "end": 42425, "length": 7, - "parent_index": 3417 + "parent_index": 3110 }, - "name": "address", - "type_name": { - "id": 3419, - "node_type": 30, + "expression": { + "id": 3111, + "node_type": 16, "src": { - "line": 1252, + "line": 1175, "column": 16, - "start": 43964, - "end": 43970, - "length": 7, - "parent_index": 3418 + "start": 42402, + "end": 42417, + "length": 16, + "parent_index": 3110 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, + "name": "UniswapV2Library", "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" + }, + "overloaded_declarations": [], + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" }, + "member_name": "pairFor", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "text": "UniswapV2Library.pairFor" }, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", + "type_string": "function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1]))" } }, { - "id": 3421, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3120, + "node_type": 24, + "kind": 24, "src": { - "line": 1253, + "line": 1181, "column": 16, - "start": 43995, - "end": 44020, - "length": 26, - "parent_index": 3409 - }, - "member_location": { - "line": 1253, - "column": 38, - "start": 44017, - "end": 44020, - "length": 4, - "parent_index": 3421 + "start": 42583, + "end": 42622, + "length": 40, + "parent_index": 3102 }, - "expression": { - "id": 3422, - "node_type": 22, - "src": { - "line": 1253, - "column": 16, - "start": 43995, - "end": 44015, - "length": 21, - "parent_index": 3421 - }, - "index_expression": { - "id": 3423, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "argument_types": [ + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "arguments": [ + { + "id": 3127, + "node_type": 24, + "kind": 24, "src": { - "line": 1253, - "column": 16, - "start": 43995, - "end": 44012, - "length": 18, - "parent_index": 3422 - }, - "member_location": { - "line": 1253, - "column": 23, - "start": 44002, - "end": 44012, - "length": 11, - "parent_index": 3423 + "line": 1181, + "column": 42, + "start": 42609, + "end": 42621, + "length": 13, + "parent_index": 3120 }, + "argument_types": [ + { + "type_identifier": "t_contract$_SushiLegacyAdapter_$3013", + "type_string": "contract SushiLegacyAdapter" + } + ], + "arguments": [ + { + "id": 3130, + "node_type": 16, + "src": { + "line": 1181, + "column": 50, + "start": 42617, + "end": 42620, + "length": 4, + "parent_index": 3127 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_SushiLegacyAdapter_$3013", + "type_string": "contract SushiLegacyAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], "expression": { - "id": 3424, + "id": 3128, "node_type": 16, "src": { - "line": 1253, - "column": 16, - "start": 43995, - "end": 44000, - "length": 6, - "parent_index": 3423 + "line": 1181, + "column": 42, + "start": 42609, + "end": 42615, + "length": 7, + "parent_index": 3127 + }, + "name": "address", + "type_name": { + "id": 3129, + "node_type": 30, + "src": { + "line": 1181, + "column": 42, + "start": 42609, + "end": 42615, + "length": 7, + "parent_index": 3128 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "initialPath", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3425, - "node_type": 16, - "src": { - "line": 1253, - "column": 35, - "start": 44014, - "end": 44014, - "length": 1, - "parent_index": 3422 + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" }, - "name": "i", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "pool", - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" } ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - { - "id": 3426, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1254, - "column": 16, - "start": 44039, - "end": 44066, - "length": 28, - "parent_index": 3409 - }, - "member_location": { - "line": 1254, - "column": 38, - "start": 44061, - "end": 44066, - "length": 6, - "parent_index": 3426 - }, "expression": { - "id": 3427, - "node_type": 22, + "id": 3121, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1254, + "line": 1181, "column": 16, - "start": 44039, - "end": 44059, - "length": 21, - "parent_index": 3426 + "start": 42583, + "end": 42607, + "length": 25, + "parent_index": 3120 }, - "index_expression": { - "id": 3428, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "member_location": { + "line": 1181, + "column": 32, + "start": 42599, + "end": 42607, + "length": 9, + "parent_index": 3121 + }, + "expression": { + "id": 3122, + "node_type": 24, + "kind": 24, "src": { - "line": 1254, + "line": 1181, "column": 16, - "start": 44039, - "end": 44056, - "length": 18, - "parent_index": 3427 - }, - "member_location": { - "line": 1254, - "column": 23, - "start": 44046, - "end": 44056, - "length": 11, - "parent_index": 3428 + "start": 42583, + "end": 42597, + "length": 15, + "parent_index": 3121 }, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "index[address:int_const 0]" + } + ], + "arguments": [ + { + "id": 3124, + "node_type": 22, + "src": { + "line": 1181, + "column": 23, + "start": 42590, + "end": 42596, + "length": 7, + "parent_index": 3122 + }, + "index_expression": { + "id": 3125, + "node_type": 16, + "src": { + "line": 1181, + "column": 23, + "start": 42590, + "end": 42593, + "length": 4, + "parent_index": 3124 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3125, + "is_pure": false, + "text": "path" + }, + "base_expression": { + "id": 3126, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1181, + "column": 28, + "start": 42595, + "end": 42595, + "length": 1, + "parent_index": 3124 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_descriptions": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "index[address:int_const 0]" + } + } + ], "expression": { - "id": 3429, + "id": 3123, "node_type": 16, "src": { - "line": 1254, + "line": 1181, "column": 16, - "start": 44039, - "end": 44044, + "start": 42583, + "end": 42588, "length": 6, - "parent_index": 3428 + "parent_index": 3122 }, - "name": "params", + "name": "IERC20", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 0, + "is_pure": false, + "text": "IERC20" }, - "member_name": "initialPath", - "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "function(index[address:int_const 0])" } }, - "base_expression": { - "id": 3430, - "node_type": 16, - "src": { - "line": 1254, - "column": 35, - "start": 44058, - "end": 44058, - "length": 1, - "parent_index": 3427 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], + "member_name": "balanceOf", + "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "amount", - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - ], - "expression": { - "id": 3410, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1250, - "column": 12, - "start": 43882, - "end": 43898, - "length": 17, - "parent_index": 3409 - }, - "member_location": { - "line": 1250, - "column": 21, - "start": 43891, - "end": 43898, - "length": 8, - "parent_index": 3410 - }, - "expression": { - "id": 3411, - "node_type": 16, - "src": { - "line": 1250, - "column": 12, - "start": 43882, - "end": 43889, - "length": 8, - "parent_index": 3410 - }, - "name": "bentoBox", - "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" - }, - "overloaded_declarations": [], - "referenced_declaration": 963, - "is_pure": false - }, - "member_name": "transfer", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],index[struct ITridentRouter.ExactInputParams:uint256])" - } - }, - { - "id": 3431, - "node_type": 24, - "kind": 24, - "src": { - "line": 1256, - "column": 12, - "start": 44095, - "end": 44160, - "length": 66, - "parent_index": 3408 - }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "arguments": [ - { - "id": 3440, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1256, - "column": 51, - "start": 44134, - "end": 44159, - "length": 26, - "parent_index": 3431 - }, - "member_location": { - "line": 1256, - "column": 73, - "start": 44156, - "end": 44159, - "length": 4, - "parent_index": 3440 - }, - "expression": { - "id": 3441, - "node_type": 22, - "src": { - "line": 1256, - "column": 51, - "start": 44134, - "end": 44154, - "length": 21, - "parent_index": 3440 - }, - "index_expression": { - "id": 3442, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1256, - "column": 51, - "start": 44134, - "end": 44151, - "length": 18, - "parent_index": 3441 - }, - "member_location": { - "line": 1256, - "column": 58, - "start": 44141, - "end": 44151, - "length": 11, - "parent_index": 3442 - }, - "expression": { - "id": 3443, - "node_type": 16, - "src": { - "line": 1256, - "column": 51, - "start": 44134, - "end": 44139, - "length": 6, - "parent_index": 3442 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "initialPath", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3444, - "node_type": 16, - "src": { - "line": 1256, - "column": 70, - "start": 44153, - "end": 44153, - "length": 1, - "parent_index": 3441 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "function(index[address:int_const 0])" }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "text": "IERC20(path[0]).balanceOf" }, - "member_name": "data", - "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_function_$_t_function_$_t_address$", + "type_string": "function(function(address))" } } ], "expression": { - "id": 3432, + "id": 3103, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1256, + "line": 1174, "column": 12, - "start": 44095, - "end": 44132, - "length": 38, - "parent_index": 3431 + "start": 42356, + "end": 42383, + "length": 28, + "parent_index": 3102 }, "member_location": { - "line": 1256, - "column": 46, - "start": 44129, - "end": 44132, - "length": 4, - "parent_index": 3432 + "line": 1174, + "column": 28, + "start": 42372, + "end": 42383, + "length": 12, + "parent_index": 3103 }, "expression": { - "id": 3433, + "id": 3104, "node_type": 24, "kind": 24, "src": { - "line": 1256, + "line": 1174, "column": 12, - "start": 44095, - "end": 44127, - "length": 33, - "parent_index": 3432 + "start": 42356, + "end": 42370, + "length": 15, + "parent_index": 3103 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "index[address:int_const 0]" } ], "arguments": [ { - "id": 3435, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3106, + "node_type": 22, "src": { - "line": 1256, - "column": 18, - "start": 44101, - "end": 44126, - "length": 26, - "parent_index": 3433 - }, - "member_location": { - "line": 1256, - "column": 40, - "start": 44123, - "end": 44126, - "length": 4, - "parent_index": 3435 + "line": 1174, + "column": 19, + "start": 42363, + "end": 42369, + "length": 7, + "parent_index": 3104 }, - "expression": { - "id": 3436, - "node_type": 22, + "index_expression": { + "id": 3107, + "node_type": 16, "src": { - "line": 1256, - "column": 18, - "start": 44101, - "end": 44121, - "length": 21, - "parent_index": 3435 + "line": 1174, + "column": 19, + "start": 42363, + "end": 42366, + "length": 4, + "parent_index": 3106 }, - "index_expression": { - "id": 3437, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1256, - "column": 18, - "start": 44101, - "end": 44118, - "length": 18, - "parent_index": 3436 - }, - "member_location": { - "line": 1256, - "column": 25, - "start": 44108, - "end": 44118, - "length": 11, - "parent_index": 3437 - }, - "expression": { - "id": 3438, - "node_type": 16, - "src": { - "line": 1256, - "column": 18, - "start": 44101, - "end": 44106, - "length": 6, - "parent_index": 3437 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "initialPath", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" }, - "base_expression": { - "id": 3439, - "node_type": 16, - "src": { - "line": 1256, - "column": 37, - "start": 44120, - "end": 44120, - "length": 1, - "parent_index": 3436 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "overloaded_declarations": [], + "referenced_declaration": 3107, + "is_pure": false, + "text": "path" + }, + "base_expression": { + "id": 3108, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1174, + "column": 24, + "start": 42368, + "end": 42368, + "length": 1, + "parent_index": 3106 }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, - "member_name": "pool", - "argument_types": [], + "type_descriptions": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "index[address:int_const 0]" } } ], "expression": { - "id": 3434, + "id": 3105, "node_type": 16, "src": { - "line": 1256, + "line": 1174, "column": 12, - "start": 44095, - "end": 44099, - "length": 5, - "parent_index": 3433 + "start": 42356, + "end": 42361, + "length": 6, + "parent_index": 3104 }, - "name": "IPool", + "name": "IERC20", "type_description": { "type_identifier": "t_function_$", "type_string": "function()" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "function(index[address:int_const 0])" } }, - "member_name": "swap", + "member_name": "safeTransfer", "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } + "type_identifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", + "type_string": "function(index[address:int_const 0])" + }, + "text": "IERC20(path[0]).safeTransfer" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "type_identifier": "t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_address$", + "type_string": "function(function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1])),function(function(address)))" } } ] } }, { - "id": 3445, - "node_type": 27, + "id": 3131, + "node_type": 24, + "kind": 24, "src": { - "line": 1259, + "line": 1184, "column": 8, - "start": 44250, - "end": 44282, - "length": 33, - "parent_index": 3388 + "start": 42657, + "end": 42680, + "length": 24, + "parent_index": 3073 }, - "expression": { - "id": 3446, - "node_type": 27, - "src": { - "line": 1259, - "column": 8, - "start": 44250, - "end": 44281, - "length": 32, - "parent_index": 3445 + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "operator": 11, - "left_expression": { - "id": 3447, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 3133, "node_type": 16, "src": { - "line": 1259, - "column": 8, - "start": 44250, - "end": 44250, - "length": 1, - "parent_index": 3446 + "line": 1184, + "column": 14, + "start": 42663, + "end": 42669, + "length": 7, + "parent_index": 3131 }, - "name": "n", + "name": "amounts", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false - }, - "right_expression": { - "id": 3448, - "is_constant": false, - "is_l_value": false, + "referenced_declaration": 3074, "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "text": "amounts" + }, + { + "id": 3134, + "node_type": 16, "src": { - "line": 1259, - "column": 12, - "start": 44254, - "end": 44281, - "length": 28, - "parent_index": 3446 + "line": 1184, + "column": 23, + "start": 42672, + "end": 42675, + "length": 4, + "parent_index": 3131 }, - "member_location": { - "line": 1259, - "column": 34, - "start": 44276, - "end": 44281, - "length": 6, - "parent_index": 3448 + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" }, - "expression": { - "id": 3449, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1259, - "column": 12, - "start": 44254, - "end": 44274, - "length": 21, - "parent_index": 3448 - }, - "member_location": { - "line": 1259, - "column": 19, - "start": 44261, - "end": 44274, - "length": 14, - "parent_index": 3449 - }, - "expression": { - "id": 3450, - "node_type": 16, - "src": { - "line": 1259, - "column": 12, - "start": 44254, - "end": 44259, - "length": 6, - "parent_index": 3449 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3450, - "is_pure": false - }, - "member_name": "percentagePath", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" + "overloaded_declarations": [], + "referenced_declaration": 3134, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" } + ], + "text": "path" + }, + { + "id": 3135, + "node_type": 16, + "src": { + "line": 1184, + "column": 29, + "start": 42678, + "end": 42679, + "length": 2, + "parent_index": 3131 }, - "member_name": "length", - "argument_types": [], + "name": "to", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" - } + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3135, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "to" + } + ], + "expression": { + "id": 3132, + "node_type": 16, + "src": { + "line": 1184, + "column": 8, + "start": 42657, + "end": 42661, + "length": 5, + "parent_index": 3131 + }, + "name": "_swap", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "_swap" + }, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$", + "type_string": "function(uint256,address,address)" + } + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 3059, + "node_type": 43, + "src": { + "line": 1156, + "column": 8, + "start": 41791, + "end": 41912, + "length": 122, + "parent_index": 3058 + }, + "parameters": [ + { + "id": 3060, + "node_type": 44, + "src": { + "line": 1156, + "column": 8, + "start": 41791, + "end": 41806, + "length": 16, + "parent_index": 3059 + }, + "scope": 3058, + "name": "amountIn", + "type_name": { + "id": 3061, + "node_type": 30, + "src": { + "line": 1156, + "column": 8, + "start": 41791, + "end": 41797, + "length": 7, + "parent_index": 3060 }, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, { - "id": 3451, - "node_type": 79, + "id": 3062, + "node_type": 44, "src": { - "line": 1260, - "column": 0, - "start": 44292, - "end": 44952, - "length": 661, - "parent_index": 3388 + "line": 1157, + "column": 8, + "start": 41817, + "end": 41836, + "length": 20, + "parent_index": 3059 }, - "initialiser": { - "id": 3452, - "node_type": 44, + "scope": 3058, + "name": "amountOutMin", + "type_name": { + "id": 3063, + "node_type": 30, "src": { - "line": 1260, - "column": 13, - "start": 44297, - "end": 44310, - "length": 14, - "parent_index": 3388 + "line": 1157, + "column": 8, + "start": 41817, + "end": 41823, + "length": 7, + "parent_index": 3062 }, - "assignments": [ - 3453 - ], - "declarations": [ - { - "id": 3453, - "state_mutability": 1, - "name": "i", - "node_type": 44, - "scope": 3388, - "src": { - "line": 1260, - "column": 13, - "start": 44297, - "end": 44305, - "length": 9, - "parent_index": 3452 - }, - "name_location": { - "line": 1260, - "column": 21, - "start": 44305, - "end": 44305, - "length": 1, - "parent_index": 3453 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 3454, - "node_type": 30, - "src": { - "line": 1260, - "column": 13, - "start": 44297, - "end": 44303, - "length": 7, - "parent_index": 3453 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 3064, + "node_type": 44, + "src": { + "line": 1158, + "column": 8, + "start": 41847, + "end": 41867, + "length": 21, + "parent_index": 3059 + }, + "scope": 3058, + "name": "path", + "type_name": { + "id": 3065, + "node_type": 16, + "src": { + "line": 1158, + "column": 8, + "start": 41847, + "end": 41853, + "length": 7, + "parent_index": 3064 + }, + "name": "address", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3066, + "node_type": 44, + "src": { + "line": 1159, + "column": 8, + "start": 41878, + "end": 41887, + "length": 10, + "parent_index": 3059 + }, + "scope": 3058, + "name": "to", + "type_name": { + "id": 3067, + "node_type": 30, + "src": { + "line": 1159, + "column": 8, + "start": 41878, + "end": 41884, + "length": 7, + "parent_index": 3066 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3068, + "node_type": 44, + "src": { + "line": 1160, + "column": 8, + "start": 41898, + "end": 41912, + "length": 15, + "parent_index": 3059 + }, + "scope": 3058, + "name": "sendTokens", + "type_name": { + "id": 3069, + "node_type": 30, + "src": { + "line": 1160, + "column": 8, + "start": 41898, + "end": 41901, + "length": 4, + "parent_index": 3068 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] + }, + "return_parameters": { + "id": 3070, + "node_type": 43, + "src": { + "line": 1161, + "column": 24, + "start": 41938, + "end": 41954, + "length": 17, + "parent_index": 3058 + }, + "parameters": [ + { + "id": 3071, + "node_type": 44, + "src": { + "line": 1161, + "column": 24, + "start": 41938, + "end": 41954, + "length": 17, + "parent_index": 3070 + }, + "scope": 3058, + "name": "amountOut", + "type_name": { + "id": 3072, + "node_type": 30, + "src": { + "line": 1161, + "column": 24, + "start": 41938, + "end": 41944, + "length": 7, + "parent_index": 3071 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "_swapExactTokensForTokens(uint256,uint256,address,address,bool)", + "signature": "68da33b9", + "scope": 3049, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_bool$", + "type_string": "function(uint256,uint256,address,address,bool)" + }, + "text": "function_swapExactTokensForTokens(uint256amountIn,uint256amountOutMin,address[]memorypath,addressto,boolsendTokens)internalreturns(uint256amountOut){uint256[]memoryamounts=UniswapV2Library.getAmountsOut(factory,amountIn,path,pairCodeHash);amountOut=amounts[amounts.length-1];require(amountOut\u003e=amountOutMin,\"insufficient-amount-out\");if(sendTokens){IERC20(path[0]).safeTransfer(UniswapV2Library.pairFor(factory,path[0],path[1],pairCodeHash),IERC20(path[0]).balanceOf(address(this)));}_swap(amounts,path,to);}" + }, + { + "id": 3137, + "name": "_swap", + "node_type": 42, + "kind": 41, + "src": { + "line": 1188, + "column": 4, + "start": 42779, + "end": 43744, + "length": 966, + "parent_index": 3049 + }, + "name_location": { + "line": 1188, + "column": 13, + "start": 42788, + "end": 42792, + "length": 5, + "parent_index": 3137 + }, + "body": { + "id": 3146, + "node_type": 46, + "kind": 0, + "src": { + "line": 1192, + "column": 23, + "start": 42903, + "end": 43744, + "length": 842, + "parent_index": 3137 + }, + "implemented": true, + "statements": [ + { + "id": 3147, + "node_type": 79, + "src": { + "line": 1193, + "column": 0, + "start": 42913, + "end": 43738, + "length": 826, + "parent_index": 3146 + }, + "initialiser": { + "id": 3148, + "node_type": 44, + "src": { + "line": 1193, + "column": 13, + "start": 42918, + "end": 42927, + "length": 10, + "parent_index": 3146 + }, + "assignments": [ + 3149 + ], + "declarations": [ + { + "id": 3149, + "state_mutability": 1, + "name": "i", + "node_type": 44, + "scope": 3146, + "src": { + "line": 1193, + "column": 13, + "start": 42918, + "end": 42926, + "length": 9, + "parent_index": 3148 + }, + "name_location": { + "line": 1193, + "column": 21, + "start": 42926, + "end": 42926, + "length": 1, + "parent_index": 3149 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3150, + "node_type": 30, + "src": { + "line": 1193, + "column": 13, + "start": 42918, + "end": 42924, + "length": 7, + "parent_index": 3149 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", "type_string": "uint256" } }, "visibility": 1 } - ], - "initial_value": { - "id": 3455, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1260, - "column": 25, - "start": 44309, - "end": 44309, - "length": 1, - "parent_index": 3452 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } + ] }, "condition": { - "id": 3456, + "id": 3151, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1260, - "column": 28, - "start": 44312, - "end": 44316, - "length": 5, - "parent_index": 3451 + "line": 1193, + "column": 24, + "start": 42929, + "end": 42947, + "length": 19, + "parent_index": 3147 }, "operator": 9, "left_expression": { - "id": 3457, + "id": 3152, "node_type": 16, "src": { - "line": 1260, - "column": 28, - "start": 44312, - "end": 44312, + "line": 1193, + "column": 24, + "start": 42929, + "end": 42929, "length": 1, - "parent_index": 3456 + "parent_index": 3151 }, "name": "i", "type_description": { @@ -62350,28 +59321,103 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3458, - "node_type": 16, + "id": 3153, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 1260, - "column": 32, - "start": 44316, - "end": 44316, - "length": 1, - "parent_index": 3456 + "line": 1193, + "column": 28, + "start": 42933, + "end": 42947, + "length": 15, + "parent_index": 3151 }, - "name": "n", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "operator": 2, + "left_expression": { + "id": 3154, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1193, + "column": 28, + "start": 42933, + "end": 42943, + "length": 11, + "parent_index": 3153 + }, + "member_location": { + "line": 1193, + "column": 33, + "start": 42938, + "end": 42943, + "length": 6, + "parent_index": 3154 + }, + "expression": { + "id": 3155, + "node_type": 16, + "src": { + "line": 1193, + "column": 28, + "start": 42933, + "end": 42936, + "length": 4, + "parent_index": 3154 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3155, + "is_pure": false, + "text": "path" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "path.length" }, - "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false + "right_expression": { + "id": 3156, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1193, + "column": 42, + "start": 42947, + "end": 42947, + "length": 1, + "parent_index": 3153 + }, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" + }, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, "type_description": { "type_identifier": "t_bool", @@ -62379,27 +59425,28 @@ } }, "closure": { - "id": 3459, - "node_type": 27, + "id": 3157, + "node_type": 18, + "kind": 105, "src": { - "line": 1260, - "column": 35, - "start": 44319, - "end": 44335, - "length": 17, - "parent_index": 3451 + "line": 1193, + "column": 45, + "start": 42950, + "end": 42952, + "length": 3, + "parent_index": 3137 }, - "operator": 11, - "left_expression": { - "id": 3460, + "operator": 27, + "expression": { + "id": 3158, "node_type": 16, "src": { - "line": 1260, - "column": 35, - "start": 44319, - "end": 44319, + "line": 1193, + "column": 45, + "start": 42950, + "end": 42950, "length": 1, - "parent_index": 3459 + "parent_index": 3157 }, "name": "i", "type_description": { @@ -62407,498 +59454,580 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 3461, - "node_type": 24, - "kind": 24, - "src": { - "line": 1260, - "column": 39, - "start": 44323, - "end": 44335, - "length": 13, - "parent_index": 3459 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "arguments": [ - { - "id": 3463, - "node_type": 16, - "src": { - "line": 1260, - "column": 50, - "start": 44334, - "end": 44334, - "length": 1, - "parent_index": 3461 - }, - "name": "i", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3462, - "node_type": 16, - "src": { - "line": 1260, - "column": 39, - "start": 44323, - "end": 44332, - "length": 10, - "parent_index": 3461 - }, - "name": "_increment", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "prefix": false, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false }, "body": { - "id": 3464, + "id": 3159, "node_type": 46, "kind": 0, "src": { - "line": 1260, - "column": 54, - "start": 44338, - "end": 44952, - "length": 615, - "parent_index": 3451 + "line": 1193, + "column": 50, + "start": 42955, + "end": 43738, + "length": 784, + "parent_index": 3147 }, "implemented": true, "statements": [ { - "id": 3465, + "id": 3160, "node_type": 44, "src": { - "line": 1261, + "line": 1194, "column": 12, - "start": 44352, - "end": 44489, - "length": 138, - "parent_index": 3464 + "start": 42969, + "end": 43025, + "length": 57, + "parent_index": 3159 }, "assignments": [ - 3466 + 3161, + 3163 ], "declarations": [ { - "id": 3466, + "id": 3161, "state_mutability": 1, - "name": "balanceShares", + "name": "input", "node_type": 44, - "scope": 3464, + "scope": 3159, "src": { - "line": 1261, - "column": 12, - "start": 44352, - "end": 44372, - "length": 21, - "parent_index": 3465 + "line": 1194, + "column": 13, + "start": 42970, + "end": 42982, + "length": 13, + "parent_index": 3160 }, "name_location": { - "line": 1261, - "column": 20, - "start": 44360, - "end": 44372, - "length": 13, - "parent_index": 3466 + "line": 1194, + "column": 21, + "start": 42978, + "end": 42982, + "length": 5, + "parent_index": 3161 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3467, + "id": 3162, "node_type": 30, "src": { - "line": 1261, - "column": 12, - "start": 44352, - "end": 44358, + "line": 1194, + "column": 13, + "start": 42970, + "end": 42976, "length": 7, - "parent_index": 3466 + "parent_index": 3161 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1 + }, + { + "id": 3163, + "state_mutability": 1, + "name": "output", + "node_type": 44, + "scope": 3159, + "src": { + "line": 1194, + "column": 28, + "start": 42985, + "end": 42998, + "length": 14, + "parent_index": 3160 + }, + "name_location": { + "line": 1194, + "column": 36, + "start": 42993, + "end": 42998, + "length": 6, + "parent_index": 3163 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3164, + "node_type": 30, + "src": { + "line": 1194, + "column": 28, + "start": 42985, + "end": 42991, + "length": 7, + "parent_index": 3163 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } }, "visibility": 1 } ], "initial_value": { - "id": 3468, - "node_type": 24, - "kind": 24, + "id": 3165, + "node_type": 60, "src": { - "line": 1261, - "column": 36, - "start": 44376, - "end": 44488, - "length": 113, - "parent_index": 3465 + "line": 1194, + "column": 46, + "start": 43003, + "end": 43024, + "length": 22, + "parent_index": 3147 }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - ], - "arguments": [ + "is_constant": false, + "is_pure": false, + "components": [ { - "id": 3471, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3166, + "node_type": 22, "src": { - "line": 1262, - "column": 16, - "start": 44412, - "end": 44443, - "length": 32, - "parent_index": 3468 - }, - "member_location": { - "line": 1262, - "column": 41, - "start": 44437, - "end": 44443, + "line": 1194, + "column": 47, + "start": 43004, + "end": 43010, "length": 7, - "parent_index": 3471 + "parent_index": 3160 }, - "expression": { - "id": 3472, - "node_type": 22, + "index_expression": { + "id": 3167, + "node_type": 16, "src": { - "line": 1262, - "column": 16, - "start": 44412, - "end": 44435, - "length": 24, - "parent_index": 3471 + "line": 1194, + "column": 47, + "start": 43004, + "end": 43007, + "length": 4, + "parent_index": 3166 }, - "index_expression": { - "id": 3473, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1262, - "column": 16, - "start": 44412, - "end": 44432, - "length": 21, - "parent_index": 3472 - }, - "member_location": { - "line": 1262, - "column": 23, - "start": 44419, - "end": 44432, - "length": 14, - "parent_index": 3473 - }, - "expression": { - "id": 3474, - "node_type": 16, - "src": { - "line": 1262, - "column": 16, - "start": 44412, - "end": 44417, - "length": 6, - "parent_index": 3473 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "percentagePath", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" }, - "base_expression": { - "id": 3475, - "node_type": 16, - "src": { - "line": 1262, - "column": 38, - "start": 44434, - "end": 44434, - "length": 1, - "parent_index": 3472 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "overloaded_declarations": [], + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" + }, + "base_expression": { + "id": 3168, + "node_type": 16, + "src": { + "line": 1194, + "column": 52, + "start": 43009, + "end": 43009, + "length": 1, + "parent_index": 3166 }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], + "name": "i", "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, - "member_name": "tokenIn", - "argument_types": [], + "type_descriptions": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" } }, { - "id": 3476, - "node_type": 24, - "kind": 24, + "id": 3169, + "node_type": 22, "src": { - "line": 1263, - "column": 16, - "start": 44462, - "end": 44474, - "length": 13, - "parent_index": 3468 + "line": 1194, + "column": 56, + "start": 43013, + "end": 43023, + "length": 11, + "parent_index": 3160 }, - "argument_types": [ - { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" - } - ], - "arguments": [ - { - "id": 3479, + "index_expression": { + "id": 3170, + "node_type": 16, + "src": { + "line": 1194, + "column": 56, + "start": 43013, + "end": 43016, + "length": 4, + "parent_index": 3169 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" + }, + "base_expression": { + "id": 3171, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1194, + "column": 61, + "start": 43018, + "end": 43022, + "length": 5, + "parent_index": 3169 + }, + "operator": 1, + "left_expression": { + "id": 3172, "node_type": 16, "src": { - "line": 1263, - "column": 24, - "start": 44470, - "end": 44473, - "length": 4, - "parent_index": 3476 + "line": 1194, + "column": 61, + "start": 43018, + "end": 43018, + "length": 1, + "parent_index": 3171 }, - "name": "this", + "name": "i", "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3477, - "node_type": 16, - "src": { - "line": 1263, - "column": 16, - "start": 44462, - "end": 44468, - "length": 7, - "parent_index": 3476 + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, - "name": "address", - "type_name": { - "id": 3478, - "node_type": 30, + "right_expression": { + "id": 3173, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", "src": { - "line": 1263, - "column": 16, - "start": 44462, - "end": 44468, - "length": 7, - "parent_index": 3477 + "line": 1194, + "column": 65, + "start": 43022, + "end": 43022, + "length": 1, + "parent_index": 3171 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" }, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_descriptions": [ + { + "type_identifier": "t_address", + "type_string": "address" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + } + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_[_[$_t_address]$_t_uint256]$_$_t_[_[$_t_address]$_t_uint256]$$", + "type_string": "tuple(index[address:uint256],index[address:uint256])" + } + } + }, + { + "id": 3174, + "node_type": 44, + "src": { + "line": 1195, + "column": 12, + "start": 43039, + "end": 43102, + "length": 64, + "parent_index": 3159 + }, + "assignments": [ + 3175 + ], + "declarations": [ + { + "id": 3175, + "state_mutability": 1, + "name": "token0", + "node_type": 44, + "scope": 3159, + "src": { + "line": 1195, + "column": 13, + "start": 43040, + "end": 43053, + "length": 14, + "parent_index": 3174 + }, + "name_location": { + "line": 1195, + "column": 21, + "start": 43048, + "end": 43053, + "length": 6, + "parent_index": 3175 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3176, + "node_type": 30, + "src": { + "line": 1195, + "column": 13, + "start": 43040, + "end": 43046, + "length": 7, + "parent_index": 3175 }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_address", + "type_string": "address" } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3177, + "node_type": 24, + "kind": 24, + "src": { + "line": 1195, + "column": 33, + "start": 43060, + "end": 43101, + "length": 42, + "parent_index": 3174 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 3180, + "node_type": 16, + "src": { + "line": 1195, + "column": 61, + "start": 43088, + "end": 43092, + "length": 5, + "parent_index": 3177 + }, + "name": "input", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3160, + "is_pure": false, + "text": "input" + }, + { + "id": 3181, + "node_type": 16, + "src": { + "line": 1195, + "column": 68, + "start": 43095, + "end": 43100, + "length": 6, + "parent_index": 3177 + }, + "name": "output", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3160, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "output" } ], "expression": { - "id": 3469, + "id": 3178, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1261, - "column": 36, - "start": 44376, - "end": 44393, - "length": 18, - "parent_index": 3468 + "line": 1195, + "column": 33, + "start": 43060, + "end": 43086, + "length": 27, + "parent_index": 3177 }, "member_location": { - "line": 1261, - "column": 45, - "start": 44385, - "end": 44393, - "length": 9, - "parent_index": 3469 + "line": 1195, + "column": 50, + "start": 43077, + "end": 43086, + "length": 10, + "parent_index": 3178 }, "expression": { - "id": 3470, + "id": 3179, "node_type": 16, "src": { - "line": 1261, - "column": 36, - "start": 44376, - "end": 44383, - "length": 8, - "parent_index": 3469 + "line": 1195, + "column": 33, + "start": 43060, + "end": 43075, + "length": 16, + "parent_index": 3178 }, - "name": "bentoBox", + "name": "UniswapV2Library", "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" }, "overloaded_declarations": [], - "referenced_declaration": 963, - "is_pure": false + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" }, - "member_name": "balanceOf", + "member_name": "sortTokens", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" - } + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" + }, + "text": "UniswapV2Library.sortTokens" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address))" + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" } } }, { - "id": 3480, + "id": 3182, "node_type": 44, "src": { - "line": 1265, + "line": 1196, "column": 12, - "start": 44503, - "end": 44621, - "length": 119, - "parent_index": 3464 + "start": 43116, + "end": 43150, + "length": 35, + "parent_index": 3159 }, "assignments": [ - 3481 + 3183 ], "declarations": [ { - "id": 3481, + "id": 3183, "state_mutability": 1, - "name": "transferShares", + "name": "amountOut", "node_type": 44, - "scope": 3464, + "scope": 3159, "src": { - "line": 1265, + "line": 1196, "column": 12, - "start": 44503, - "end": 44524, - "length": 22, - "parent_index": 3480 + "start": 43116, + "end": 43132, + "length": 17, + "parent_index": 3182 }, "name_location": { - "line": 1265, + "line": 1196, "column": 20, - "start": 44511, - "end": 44524, - "length": 14, - "parent_index": 3481 + "start": 43124, + "end": 43132, + "length": 9, + "parent_index": 3183 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3482, + "id": 3184, "node_type": 30, "src": { - "line": 1265, + "line": 1196, "column": 12, - "start": 44503, - "end": 44509, + "start": 43116, + "end": 43122, "length": 7, - "parent_index": 3481 + "parent_index": 3183 }, "name": "uint256", "referenced_declaration": 0, @@ -62911,1113 +60040,965 @@ } ], "initial_value": { - "id": 3483, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "id": 3185, + "node_type": 22, "src": { - "line": 1265, - "column": 37, - "start": 44528, - "end": 44620, - "length": 93, - "parent_index": 3480 + "line": 1196, + "column": 32, + "start": 43136, + "end": 43149, + "length": 14, + "parent_index": 3182 }, - "operator": 4, - "left_expression": { - "id": 3484, - "node_type": 60, + "index_expression": { + "id": 3186, + "node_type": 16, "src": { - "line": 1265, - "column": 37, - "start": 44528, - "end": 44603, - "length": 76, - "parent_index": 3483 + "line": 1196, + "column": 32, + "start": 43136, + "end": 43142, + "length": 7, + "parent_index": 3185 }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 3485, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1265, - "column": 38, - "start": 44529, - "end": 44602, - "length": 74, - "parent_index": 3484 - }, - "operator": 3, - "left_expression": { - "id": 3486, - "node_type": 16, - "src": { - "line": 1265, - "column": 38, - "start": 44529, - "end": 44541, - "length": 13, - "parent_index": 3485 - }, - "name": "balanceShares", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3465, - "is_pure": false - }, - "right_expression": { - "id": 3487, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1266, - "column": 16, - "start": 44561, - "end": 44602, - "length": 42, - "parent_index": 3480 - }, - "member_location": { - "line": 1266, - "column": 41, - "start": 44586, - "end": 44602, - "length": 17, - "parent_index": 3487 - }, - "expression": { - "id": 3488, - "node_type": 22, - "src": { - "line": 1266, - "column": 16, - "start": 44561, - "end": 44584, - "length": 24, - "parent_index": 3480 - }, - "index_expression": { - "id": 3489, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1266, - "column": 16, - "start": 44561, - "end": 44581, - "length": 21, - "parent_index": 3480 - }, - "member_location": { - "line": 1266, - "column": 23, - "start": 44568, - "end": 44581, - "length": 14, - "parent_index": 3489 - }, - "expression": { - "id": 3490, - "node_type": 16, - "src": { - "line": 1266, - "column": 16, - "start": 44561, - "end": 44566, - "length": 6, - "parent_index": 3489 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "percentagePath", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3491, - "node_type": 16, - "src": { - "line": 1266, - "column": 38, - "start": 44583, - "end": 44583, - "length": 1, - "parent_index": 3488 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "balancePercentage", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], + "name": "amounts", "type_description": { - "type_identifier": "t_tuple_$_t_uint256$", - "type_string": "tuple(uint256)" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, - "right_expression": { - "id": 3493, - "node_type": 95, + "base_expression": { + "id": 3187, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 1266, - "column": 62, - "start": 44607, - "end": 44620, - "length": 14, - "parent_index": 3480 + "line": 1196, + "column": 40, + "start": 43144, + "end": 43148, + "length": 5, + "parent_index": 3185 }, + "operator": 1, "left_expression": { - "id": 3494, - "node_type": 24, - "kind": 24, + "id": 3188, + "node_type": 16, "src": { - "line": 1266, - "column": 62, - "start": 44607, - "end": 44617, - "length": 11, - "parent_index": 3480 - }, - "argument_types": [ - { - "type_identifier": "t_rational_10_by_1", - "type_string": "int_const 10" - } - ], - "arguments": [ - { - "id": 3497, - "node_type": 17, - "kind": 49, - "value": "10", - "hex_value": "3130", - "src": { - "line": 1266, - "column": 70, - "start": 44615, - "end": 44616, - "length": 2, - "parent_index": 3494 - }, - "type_description": { - "type_identifier": "t_rational_10_by_1", - "type_string": "int_const 10" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], - "expression": { - "id": 3495, - "node_type": 16, - "src": { - "line": 1266, - "column": 62, - "start": 44607, - "end": 44613, - "length": 7, - "parent_index": 3494 - }, - "name": "uint256", - "type_name": { - "id": 3496, - "node_type": 30, - "src": { - "line": 1266, - "column": 62, - "start": 44607, - "end": 44613, - "length": 7, - "parent_index": 3495 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + "line": 1196, + "column": 40, + "start": 43144, + "end": 43144, + "length": 1, + "parent_index": 3187 }, + "name": "i", "type_description": { - "type_identifier": "t_function_$_t_rational_10_by_1$", - "type_string": "function(int_const 10)" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3498, + "id": 3189, "node_type": 17, "kind": 49, - "value": "8", - "hex_value": "38", + "value": "1", + "hex_value": "31", "src": { - "line": 1266, - "column": 75, - "start": 44620, - "end": 44620, + "line": 1196, + "column": 44, + "start": 43148, + "end": 43148, "length": 1, - "parent_index": 3493 + "parent_index": 3187 }, "type_description": { - "type_identifier": "t_rational_8_by_1", - "type_string": "int_const 8" + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, - "type_descriptions": [ - { - "type_identifier": "t_function_$_t_rational_10_by_1$", - "type_string": "function(int_const 10)" - }, - { - "type_identifier": "t_rational_8_by_1", - "type_string": "int_const 8" - } - ] + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, + "type_descriptions": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], "type_description": { - "type_identifier": "t_tuple_$_t_uint256$", - "type_string": "tuple(uint256)" + "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", + "type_string": "index[uint256:uint256]" } } }, { - "id": 3499, - "node_type": 24, - "kind": 24, + "id": 3190, + "node_type": 44, "src": { - "line": 1267, + "line": 1197, "column": 12, - "start": 44635, - "end": 44825, - "length": 191, - "parent_index": 3464 + "start": 43164, + "end": 43306, + "length": 143, + "parent_index": 3159 }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "assignments": [ + 3191, + 3193 ], - "arguments": [ + "declarations": [ { - "id": 3502, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3191, + "state_mutability": 1, + "name": "amount0Out", + "node_type": 44, + "scope": 3159, "src": { - "line": 1268, - "column": 16, - "start": 44670, - "end": 44701, - "length": 32, - "parent_index": 3499 + "line": 1197, + "column": 13, + "start": 43165, + "end": 43182, + "length": 18, + "parent_index": 3190 }, - "member_location": { - "line": 1268, - "column": 41, - "start": 44695, - "end": 44701, - "length": 7, - "parent_index": 3502 + "name_location": { + "line": 1197, + "column": 21, + "start": 43173, + "end": 43182, + "length": 10, + "parent_index": 3191 }, - "expression": { - "id": 3503, - "node_type": 22, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3192, + "node_type": 30, "src": { - "line": 1268, - "column": 16, - "start": 44670, - "end": 44693, - "length": 24, - "parent_index": 3502 - }, - "index_expression": { - "id": 3504, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1268, - "column": 16, - "start": 44670, - "end": 44690, - "length": 21, - "parent_index": 3503 - }, - "member_location": { - "line": 1268, - "column": 23, - "start": 44677, - "end": 44690, - "length": 14, - "parent_index": 3504 - }, - "expression": { - "id": 3505, - "node_type": 16, - "src": { - "line": 1268, - "column": 16, - "start": 44670, - "end": 44675, - "length": 6, - "parent_index": 3504 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "percentagePath", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3506, - "node_type": 16, - "src": { - "line": 1268, - "column": 38, - "start": 44692, - "end": 44692, - "length": 1, - "parent_index": 3503 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "line": 1197, + "column": 13, + "start": 43165, + "end": 43171, + "length": 7, + "parent_index": 3191 }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - "member_name": "tokenIn", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "visibility": 1 }, { - "id": 3507, - "node_type": 24, - "kind": 24, + "id": 3193, + "state_mutability": 1, + "name": "amount1Out", + "node_type": 44, + "scope": 3159, "src": { - "line": 1269, - "column": 16, - "start": 44720, - "end": 44732, - "length": 13, - "parent_index": 3499 + "line": 1197, + "column": 33, + "start": 43185, + "end": 43202, + "length": 18, + "parent_index": 3190 }, - "argument_types": [ - { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" + "name_location": { + "line": 1197, + "column": 41, + "start": 43193, + "end": 43202, + "length": 10, + "parent_index": 3193 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3194, + "node_type": 30, + "src": { + "line": 1197, + "column": 33, + "start": 43185, + "end": 43191, + "length": 7, + "parent_index": 3193 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ], - "arguments": [ - { - "id": 3510, + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3196, + "node_type": 97, + "src": { + "line": 1197, + "column": 55, + "start": 43207, + "end": 43305, + "length": 99, + "parent_index": 3190 + }, + "expressions": [ + { + "id": 3197, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1197, + "column": 55, + "start": 43207, + "end": 43221, + "length": 15, + "parent_index": 3196 + }, + "operator": 11, + "left_expression": { + "id": 3198, "node_type": 16, "src": { - "line": 1269, - "column": 24, - "start": 44728, - "end": 44731, - "length": 4, - "parent_index": 3507 + "line": 1197, + "column": 55, + "start": 43207, + "end": 43211, + "length": 5, + "parent_index": 3197 }, - "name": "this", + "name": "input", "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" + "type_identifier": "t_address", + "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3508, - "node_type": 16, - "src": { - "line": 1269, - "column": 16, - "start": 44720, - "end": 44726, - "length": 7, - "parent_index": 3507 + "referenced_declaration": 3160, + "is_pure": false, + "text": "input" }, - "name": "address", - "type_name": { - "id": 3509, - "node_type": 30, + "right_expression": { + "id": 3199, + "node_type": 16, "src": { - "line": 1269, - "column": 16, - "start": 44720, - "end": 44726, - "length": 7, - "parent_index": 3508 + "line": 1197, + "column": 64, + "start": 43216, + "end": 43221, + "length": 6, + "parent_index": 3197 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, + "name": "token0", "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "overloaded_declarations": [], + "referenced_declaration": 3174, + "is_pure": false, + "text": "token0" }, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - { - "id": 3511, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1270, - "column": 16, - "start": 44751, - "end": 44779, - "length": 29, - "parent_index": 3499 - }, - "member_location": { - "line": 1270, - "column": 41, - "start": 44776, - "end": 44779, - "length": 4, - "parent_index": 3511 + "type_identifier": "t_bool", + "type_string": "bool" + } }, - "expression": { - "id": 3512, - "node_type": 22, + { + "id": 3200, + "node_type": 60, "src": { - "line": 1270, - "column": 16, - "start": 44751, - "end": 44774, - "length": 24, - "parent_index": 3511 + "line": 1198, + "column": 18, + "start": 43241, + "end": 43263, + "length": 23, + "parent_index": 3196 }, - "index_expression": { - "id": 3513, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1270, - "column": 16, - "start": 44751, - "end": 44771, - "length": 21, - "parent_index": 3512 - }, - "member_location": { - "line": 1270, - "column": 23, - "start": 44758, - "end": 44771, - "length": 14, - "parent_index": 3513 + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 3201, + "node_type": 24, + "kind": 24, + "src": { + "line": 1198, + "column": 19, + "start": 43242, + "end": 43251, + "length": 10, + "parent_index": 3190 + }, + "argument_types": [ + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "arguments": [ + { + "id": 3204, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1198, + "column": 27, + "start": 43250, + "end": 43250, + "length": 1, + "parent_index": 3201 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + ], + "expression": { + "id": 3202, + "node_type": 16, + "src": { + "line": 1198, + "column": 19, + "start": 43242, + "end": 43248, + "length": 7, + "parent_index": 3201 + }, + "name": "uint256", + "type_name": { + "id": 3203, + "node_type": 30, + "src": { + "line": 1198, + "column": 19, + "start": 43242, + "end": 43248, + "length": 7, + "parent_index": 3202 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "uint256" + }, + "type_description": { + "type_identifier": "t_function_$_t_rational_0_by_1$", + "type_string": "function(int_const 0)" + } }, - "expression": { - "id": 3514, + { + "id": 3205, "node_type": 16, "src": { - "line": 1270, - "column": 16, - "start": 44751, - "end": 44756, - "length": 6, - "parent_index": 3513 + "line": 1198, + "column": 31, + "start": 43254, + "end": 43262, + "length": 9, + "parent_index": 3200 }, - "name": "params", + "name": "amountOut", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "percentagePath", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3515, - "node_type": 16, - "src": { - "line": 1270, - "column": 38, - "start": 44773, - "end": 44773, - "length": 1, - "parent_index": 3512 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "referenced_declaration": 3182, + "is_pure": false, + "text": "amountOut" } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "pool", - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_tuple_$_t_function_$_t_rational_0_by_1$_$_t_uint256$", + "type_string": "tuple(function(int_const 0),uint256)" } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - { - "id": 3516, - "node_type": 16, - "src": { - "line": 1271, - "column": 16, - "start": 44798, - "end": 44811, - "length": 14, - "parent_index": 3499 }, - "name": "transferShares", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3480, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + { + "id": 3206, + "node_type": 60, + "src": { + "line": 1199, + "column": 18, + "start": 43283, + "end": 43305, + "length": 23, + "parent_index": 3196 }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ] - } - ], - "expression": { - "id": 3500, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1267, - "column": 12, - "start": 44635, - "end": 44651, - "length": 17, - "parent_index": 3499 - }, - "member_location": { - "line": 1267, - "column": 21, - "start": 44644, - "end": 44651, - "length": 8, - "parent_index": 3500 - }, - "expression": { - "id": 3501, - "node_type": 16, - "src": { - "line": 1267, - "column": 12, - "start": 44635, - "end": 44642, - "length": 8, - "parent_index": 3500 - }, - "name": "bentoBox", - "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" - }, - "overloaded_declarations": [], - "referenced_declaration": 963, - "is_pure": false - }, - "member_name": "transfer", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_uint256$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],uint256)" + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 3207, + "node_type": 16, + "src": { + "line": 1199, + "column": 19, + "start": 43284, + "end": 43292, + "length": 9, + "parent_index": 3206 + }, + "name": "amountOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3182, + "is_pure": false, + "text": "amountOut" + }, + { + "id": 3208, + "node_type": 24, + "kind": 24, + "src": { + "line": 1199, + "column": 30, + "start": 43295, + "end": 43304, + "length": 10, + "parent_index": 3190 + }, + "argument_types": [ + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "arguments": [ + { + "id": 3211, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1199, + "column": 38, + "start": 43303, + "end": 43303, + "length": 1, + "parent_index": 3208 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + ], + "expression": { + "id": 3209, + "node_type": 16, + "src": { + "line": 1199, + "column": 30, + "start": 43295, + "end": 43301, + "length": 7, + "parent_index": 3208 + }, + "name": "uint256", + "type_name": { + "id": 3210, + "node_type": 30, + "src": { + "line": 1199, + "column": 30, + "start": 43295, + "end": 43301, + "length": 7, + "parent_index": 3209 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "uint256" + }, + "type_description": { + "type_identifier": "t_function_$_t_rational_0_by_1$", + "type_string": "function(int_const 0)" + } + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_uint256_$_t_function_$_t_rational_0_by_1$$", + "type_string": "tuple(uint256,function(int_const 0))" + } + } + ], + "type_descriptions": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_tuple_$_t_function_$_t_rational_0_by_1$_$_t_uint256$", + "type_string": "tuple(function(int_const 0),uint256)" + }, + { + "type_identifier": "t_tuple_$_t_uint256_$_t_function_$_t_rational_0_by_1$$", + "type_string": "tuple(uint256,function(int_const 0))" + } + ], + "type_description": null } }, { - "id": 3517, - "node_type": 24, - "kind": 24, + "id": 3212, + "node_type": 44, "src": { - "line": 1273, + "line": 1200, "column": 12, - "start": 44840, - "end": 44941, - "length": 102, - "parent_index": 3464 + "start": 43320, + "end": 43559, + "length": 240, + "parent_index": 3159 }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "assignments": [ + 3213 ], - "arguments": [ + "declarations": [ { - "id": 3526, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3213, + "state_mutability": 1, + "name": "to", + "node_type": 44, + "scope": 3159, "src": { - "line": 1274, - "column": 16, - "start": 44899, - "end": 44927, - "length": 29, - "parent_index": 3517 + "line": 1200, + "column": 12, + "start": 43320, + "end": 43329, + "length": 10, + "parent_index": 3212 }, - "member_location": { - "line": 1274, - "column": 41, - "start": 44924, - "end": 44927, - "length": 4, - "parent_index": 3526 + "name_location": { + "line": 1200, + "column": 20, + "start": 43328, + "end": 43329, + "length": 2, + "parent_index": 3213 }, - "expression": { - "id": 3527, - "node_type": 22, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3214, + "node_type": 30, "src": { - "line": 1274, - "column": 16, - "start": 44899, - "end": 44922, - "length": 24, - "parent_index": 3526 + "line": 1200, + "column": 12, + "start": 43320, + "end": 43326, + "length": 7, + "parent_index": 3213 }, - "index_expression": { - "id": 3528, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3216, + "node_type": 97, + "src": { + "line": 1200, + "column": 25, + "start": 43333, + "end": 43558, + "length": 226, + "parent_index": 3212 + }, + "expressions": [ + { + "id": 3217, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1200, + "column": 25, + "start": 43333, + "end": 43351, + "length": 19, + "parent_index": 3216 + }, + "operator": 9, + "left_expression": { + "id": 3218, + "node_type": 16, + "src": { + "line": 1200, + "column": 25, + "start": 43333, + "end": 43333, + "length": 1, + "parent_index": 3217 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "right_expression": { + "id": 3219, "is_constant": false, - "is_l_value": false, "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "node_type": 19, "src": { - "line": 1274, - "column": 16, - "start": 44899, - "end": 44919, - "length": 21, - "parent_index": 3527 - }, - "member_location": { - "line": 1274, - "column": 23, - "start": 44906, - "end": 44919, - "length": 14, - "parent_index": 3528 + "line": 1200, + "column": 29, + "start": 43337, + "end": 43351, + "length": 15, + "parent_index": 3217 }, - "expression": { - "id": 3529, - "node_type": 16, + "operator": 2, + "left_expression": { + "id": 3220, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1274, - "column": 16, - "start": 44899, - "end": 44904, + "line": 1200, + "column": 29, + "start": 43337, + "end": 43347, + "length": 11, + "parent_index": 3212 + }, + "member_location": { + "line": 1200, + "column": 34, + "start": 43342, + "end": 43347, "length": 6, - "parent_index": 3528 + "parent_index": 3220 }, - "name": "params", + "expression": { + "id": 3221, + "node_type": 16, + "src": { + "line": 1200, + "column": 29, + "start": 43337, + "end": 43340, + "length": 4, + "parent_index": 3220 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" + }, + "member_name": "length", + "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "path.length" + }, + "right_expression": { + "id": 3222, + "node_type": 17, + "kind": 49, + "value": "2", + "hex_value": "32", + "src": { + "line": 1200, + "column": 43, + "start": 43351, + "end": 43351, + "length": 1, + "parent_index": 3219 + }, + "type_description": { + "type_identifier": "t_rational_2_by_1", + "type_string": "int_const 2" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "2" }, - "member_name": "percentagePath", - "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_address", + "type_string": "address" } }, - "base_expression": { - "id": 3530, - "node_type": 16, - "src": { - "line": 1274, - "column": 38, - "start": 44921, - "end": 44921, - "length": 1, - "parent_index": 3527 + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 3223, + "node_type": 24, + "kind": 24, + "src": { + "line": 1201, + "column": 18, + "start": 43371, + "end": 43536, + "length": 166, + "parent_index": 3212 + }, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "type_identifier": "t_address", + "type_string": "address" }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_function_$$$_t_address$$_t_[_[$_t_address]$_t_uint256]$$", + "type_string": "function(function(),address,index[address:uint256])" } ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "data", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - ], - "expression": { - "id": 3518, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1273, - "column": 12, - "start": 44840, - "end": 44880, - "length": 41, - "parent_index": 3517 - }, - "member_location": { - "line": 1273, - "column": 49, - "start": 44877, - "end": 44880, - "length": 4, - "parent_index": 3518 - }, - "expression": { - "id": 3519, - "node_type": 24, - "kind": 24, - "src": { - "line": 1273, - "column": 12, - "start": 44840, - "end": 44875, - "length": 36, - "parent_index": 3518 - }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "arguments": [ - { - "id": 3521, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1273, - "column": 18, - "start": 44846, - "end": 44874, - "length": 29, - "parent_index": 3519 + "arguments": [ + { + "id": 3226, + "node_type": 16, + "src": { + "line": 1202, + "column": 20, + "start": 43417, + "end": 43423, + "length": 7, + "parent_index": 3223 + }, + "name": "factory", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "factory" }, - "member_location": { - "line": 1273, - "column": 43, - "start": 44871, - "end": 44874, - "length": 4, - "parent_index": 3521 + { + "id": 3227, + "node_type": 16, + "src": { + "line": 1203, + "column": 20, + "start": 43446, + "end": 43451, + "length": 6, + "parent_index": 3223 + }, + "name": "output", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3160, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "text": "output" }, - "expression": { - "id": 3522, + { + "id": 3228, "node_type": 22, "src": { - "line": 1273, - "column": 18, - "start": 44846, - "end": 44869, - "length": 24, - "parent_index": 3521 + "line": 1204, + "column": 20, + "start": 43474, + "end": 43484, + "length": 11, + "parent_index": 3223 }, "index_expression": { - "id": 3523, + "id": 3229, + "node_type": 16, + "src": { + "line": 1204, + "column": 20, + "start": 43474, + "end": 43477, + "length": 4, + "parent_index": 3228 + }, + "name": "path", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" + }, + "base_expression": { + "id": 3230, "is_constant": false, - "is_l_value": false, "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "node_type": 19, "src": { - "line": 1273, - "column": 18, - "start": 44846, - "end": 44866, - "length": 21, - "parent_index": 3522 - }, - "member_location": { - "line": 1273, + "line": 1204, "column": 25, - "start": 44853, - "end": 44866, - "length": 14, - "parent_index": 3523 + "start": 43479, + "end": 43483, + "length": 5, + "parent_index": 3228 }, - "expression": { - "id": 3524, + "operator": 1, + "left_expression": { + "id": 3231, "node_type": 16, "src": { - "line": 1273, - "column": 18, - "start": 44846, - "end": 44851, - "length": 6, - "parent_index": 3523 + "line": 1204, + "column": 25, + "start": 43479, + "end": 43479, + "length": 1, + "parent_index": 3230 }, - "name": "params", + "name": "i", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, - "member_name": "percentagePath", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3525, - "node_type": 16, - "src": { - "line": 1273, - "column": 40, - "start": 44868, - "end": 44868, - "length": 1, - "parent_index": 3522 + "right_expression": { + "id": 3232, + "node_type": 17, + "kind": 49, + "value": "2", + "hex_value": "32", + "src": { + "line": 1204, + "column": 29, + "start": 43483, + "end": 43483, + "length": 1, + "parent_index": 3230 + }, + "type_description": { + "type_identifier": "t_rational_2_by_1", + "type_string": "int_const 2" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "2" }, - "name": "i", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + } }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_address", + "type_string": "address" }, { "type_identifier": "t_uint256", @@ -64025,1675 +61006,619 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" } }, - "member_name": "pool", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + { + "id": 3233, + "node_type": 16, + "src": { + "line": 1205, + "column": 20, + "start": 43507, + "end": 43518, + "length": 12, + "parent_index": 3223 + }, + "name": "pairCodeHash", + "type_description": { + "type_identifier": "t_function_$_t_function_$$$_t_address$$_t_[_[$_t_address]$_t_uint256]$$", + "type_string": "function(function(),address,index[address:uint256])" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_[_[$_t_address]$_t_uint256]$", + "type_string": "index[address:uint256]" + } + ], + "text": "pairCodeHash" } - } - ], - "expression": { - "id": 3520, - "node_type": 16, - "src": { - "line": 1273, - "column": 12, - "start": 44840, - "end": 44844, - "length": 5, - "parent_index": 3519 - }, - "name": "IPool", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } - }, - "member_name": "swap", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } - } - ] - } - }, - { - "id": 3531, - "node_type": 27, - "src": { - "line": 1278, - "column": 8, - "start": 45041, - "end": 45065, - "length": 25, - "parent_index": 3388 - }, - "expression": { - "id": 3532, - "node_type": 27, - "src": { - "line": 1278, - "column": 8, - "start": 45041, - "end": 45064, - "length": 24, - "parent_index": 3531 - }, - "operator": 11, - "left_expression": { - "id": 3533, - "node_type": 16, - "src": { - "line": 1278, - "column": 8, - "start": 45041, - "end": 45041, - "length": 1, - "parent_index": 3532 - }, - "name": "n", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false - }, - "right_expression": { - "id": 3534, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1278, - "column": 12, - "start": 45045, - "end": 45064, - "length": 20, - "parent_index": 3532 - }, - "member_location": { - "line": 1278, - "column": 26, - "start": 45059, - "end": 45064, - "length": 6, - "parent_index": 3534 - }, - "expression": { - "id": 3535, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1278, - "column": 12, - "start": 45045, - "end": 45057, - "length": 13, - "parent_index": 3534 - }, - "member_location": { - "line": 1278, - "column": 19, - "start": 45052, - "end": 45057, - "length": 6, - "parent_index": 3535 - }, - "expression": { - "id": 3536, - "node_type": 16, - "src": { - "line": 1278, - "column": 12, - "start": 45045, - "end": 45050, - "length": 6, - "parent_index": 3535 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3536, - "is_pure": false - }, - "member_name": "output", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" + ], + "expression": { + "id": 3224, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1201, + "column": 18, + "start": 43371, + "end": 43394, + "length": 24, + "parent_index": 3223 + }, + "member_location": { + "line": 1201, + "column": 35, + "start": 43388, + "end": 43394, + "length": 7, + "parent_index": 3224 + }, + "expression": { + "id": 3225, + "node_type": 16, + "src": { + "line": 1201, + "column": 18, + "start": 43371, + "end": 43386, + "length": 16, + "parent_index": 3224 + }, + "name": "UniswapV2Library", + "type_description": { + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" + }, + "overloaded_declarations": [], + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" + }, + "member_name": "pairFor", + "argument_types": [], + "type_description": { + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" + }, + "text": "UniswapV2Library.pairFor" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", + "type_string": "function(function(),address,index[address:uint256],function(function(),address,index[address:uint256]))" + } + }, + { + "id": 3234, + "node_type": 16, + "src": { + "line": 1207, + "column": 18, + "start": 43556, + "end": 43558, + "length": 3, + "parent_index": 3216 + }, + "name": "_to", + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + }, + "overloaded_declarations": [], + "referenced_declaration": 771, + "is_pure": false, + "text": "_to" + } + ], + "type_descriptions": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", + "type_string": "function(function(),address,index[address:uint256],function(function(),address,index[address:uint256]))" + }, + { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + ], + "type_description": null } }, - "member_name": "length", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3537, - "node_type": 79, - "src": { - "line": 1279, - "column": 0, - "start": 45075, - "end": 45898, - "length": 824, - "parent_index": 3388 - }, - "initialiser": { - "id": 3538, - "node_type": 44, - "src": { - "line": 1279, - "column": 13, - "start": 45080, - "end": 45093, - "length": 14, - "parent_index": 3388 - }, - "assignments": [ - 3539 - ], - "declarations": [ { - "id": 3539, - "state_mutability": 1, - "name": "i", - "node_type": 44, - "scope": 3388, + "id": 3235, + "node_type": 24, + "kind": 24, "src": { - "line": 1279, - "column": 13, - "start": 45080, - "end": 45088, - "length": 9, - "parent_index": 3538 - }, - "name_location": { - "line": 1279, - "column": 21, - "start": 45088, - "end": 45088, - "length": 1, - "parent_index": 3539 + "line": 1208, + "column": 12, + "start": 43573, + "end": 43727, + "length": 155, + "parent_index": 3159 }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 3540, - "node_type": 30, - "src": { - "line": 1279, - "column": 13, - "start": 45080, - "end": 45086, - "length": 7, - "parent_index": 3539 + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + { "type_identifier": "t_uint256", "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 3541, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1279, - "column": 25, - "start": 45092, - "end": 45092, - "length": 1, - "parent_index": 3538 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - }, - "condition": { - "id": 3542, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1279, - "column": 28, - "start": 45095, - "end": 45099, - "length": 5, - "parent_index": 3537 - }, - "operator": 9, - "left_expression": { - "id": 3543, - "node_type": 16, - "src": { - "line": 1279, - "column": 28, - "start": 45095, - "end": 45095, - "length": 1, - "parent_index": 3542 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 3544, - "node_type": 16, - "src": { - "line": 1279, - "column": 32, - "start": 45099, - "end": 45099, - "length": 1, - "parent_index": 3542 - }, - "name": "n", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "closure": { - "id": 3545, - "node_type": 27, - "src": { - "line": 1279, - "column": 35, - "start": 45102, - "end": 45118, - "length": 17, - "parent_index": 3537 - }, - "operator": 11, - "left_expression": { - "id": 3546, - "node_type": 16, - "src": { - "line": 1279, - "column": 35, - "start": 45102, - "end": 45102, - "length": 1, - "parent_index": 3545 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "right_expression": { - "id": 3547, - "node_type": 24, - "kind": 24, - "src": { - "line": 1279, - "column": 39, - "start": 45106, - "end": 45118, - "length": 13, - "parent_index": 3545 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "arguments": [ - { - "id": 3549, - "node_type": 16, - "src": { - "line": 1279, - "column": 50, - "start": 45117, - "end": 45117, - "length": 1, - "parent_index": 3547 }, - "name": "i", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + { + "type_identifier": "t_address", + "type_string": "address" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3548, - "node_type": 16, - "src": { - "line": 1279, - "column": 39, - "start": 45106, - "end": 45115, - "length": 10, - "parent_index": 3547 - }, - "name": "_increment", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "body": { - "id": 3550, - "node_type": 46, - "kind": 0, - "src": { - "line": 1279, - "column": 54, - "start": 45121, - "end": 45898, - "length": 778, - "parent_index": 3537 - }, - "implemented": true, - "statements": [ - { - "id": 3551, - "node_type": 44, - "src": { - "line": 1280, - "column": 12, - "start": 45135, - "end": 45262, - "length": 128, - "parent_index": 3550 - }, - "assignments": [ - 3552 + { + "type_identifier": "t_function_$_t_rational_0_by_1$", + "type_string": "function(int_const 0)" + } ], - "declarations": [ + "arguments": [ { - "id": 3552, - "state_mutability": 1, - "name": "balanceShares", - "node_type": 44, - "scope": 3550, + "id": 3246, + "node_type": 16, "src": { - "line": 1280, - "column": 12, - "start": 45135, - "end": 45155, - "length": 21, - "parent_index": 3551 + "line": 1210, + "column": 19, + "start": 43687, + "end": 43696, + "length": 10, + "parent_index": 3235 }, - "name_location": { - "line": 1280, - "column": 20, - "start": 45143, - "end": 45155, - "length": 13, - "parent_index": 3552 + "name": "amount0Out", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 3553, - "node_type": 30, - "src": { - "line": 1280, - "column": 12, - "start": 45135, - "end": 45141, - "length": 7, - "parent_index": 3552 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + "overloaded_declarations": [], + "referenced_declaration": 3190, + "is_pure": false, + "text": "amount0Out" + }, + { + "id": 3247, + "node_type": 16, + "src": { + "line": 1210, + "column": 31, + "start": 43699, + "end": 43708, + "length": 10, + "parent_index": 3235 + }, + "name": "amount1Out", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3190, + "is_pure": false, + "argument_types": [ + { "type_identifier": "t_uint256", "type_string": "uint256" } + ], + "text": "amount1Out" + }, + { + "id": 3248, + "node_type": 16, + "src": { + "line": 1210, + "column": 43, + "start": 43711, + "end": 43712, + "length": 2, + "parent_index": 3235 }, - "visibility": 1 - } - ], - "initial_value": { - "id": 3554, - "node_type": 24, - "kind": 24, - "src": { - "line": 1280, - "column": 36, - "start": 45159, - "end": 45261, - "length": 103, - "parent_index": 3551 + "name": "to", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3212, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "to" }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + { + "id": 3249, + "node_type": 24, + "kind": 24, + "src": { + "line": 1210, + "column": 47, + "start": 43715, + "end": 43726, + "length": 12, + "parent_index": 3235 }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - ], - "arguments": [ - { - "id": 3557, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "argument_types": [ + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "arguments": [ + { + "id": 3252, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1210, + "column": 57, + "start": 43725, + "end": 43725, + "length": 1, + "parent_index": 3249 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + ], + "expression": { + "id": 3250, + "node_type": 25, "src": { - "line": 1281, - "column": 16, - "start": 45195, - "end": 45216, - "length": 22, - "parent_index": 3554 - }, - "member_location": { - "line": 1281, - "column": 33, - "start": 45212, - "end": 45216, - "length": 5, - "parent_index": 3557 + "line": 1210, + "column": 47, + "start": 43715, + "end": 43723, + "length": 9, + "parent_index": 3249 }, - "expression": { - "id": 3558, - "node_type": 22, + "argument_types": [], + "type_name": { + "id": 3251, + "node_type": 30, "src": { - "line": 1281, - "column": 16, - "start": 45195, - "end": 45210, - "length": 16, - "parent_index": 3557 + "line": 1210, + "column": 51, + "start": 43719, + "end": 43723, + "length": 5, + "parent_index": 3250 }, - "index_expression": { - "id": 3559, - "is_constant": false, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_rational_0_by_1$", + "type_string": "function(int_const 0)" + } + } + ], + "expression": { + "id": 3236, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1208, + "column": 12, + "start": 43573, + "end": 43685, + "length": 113, + "parent_index": 3235 + }, + "member_location": { + "line": 1210, + "column": 14, + "start": 43682, + "end": 43685, + "length": 4, + "parent_index": 3236 + }, + "expression": { + "id": 3237, + "node_type": 24, + "kind": 24, + "src": { + "line": 1208, + "column": 12, + "start": 43573, + "end": 43680, + "length": 108, + "parent_index": 3236 + }, + "argument_types": [ + { + "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", + "type_string": "function(function(),address,address,function(function(),address,address))" + } + ], + "arguments": [ + { + "id": 3239, + "node_type": 24, + "kind": 24, + "src": { + "line": 1209, + "column": 16, + "start": 43605, + "end": 43666, + "length": 62, + "parent_index": 3237 + }, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_function_$_t_function_$$$_t_address$$_t_address$", + "type_string": "function(function(),address,address)" + } + ], + "arguments": [ + { + "id": 3242, + "node_type": 16, + "src": { + "line": 1209, + "column": 41, + "start": 43630, + "end": 43636, + "length": 7, + "parent_index": 3239 + }, + "name": "factory", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "factory" + }, + { + "id": 3243, + "node_type": 16, + "src": { + "line": 1209, + "column": 50, + "start": 43639, + "end": 43643, + "length": 5, + "parent_index": 3239 + }, + "name": "input", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3160, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "text": "input" + }, + { + "id": 3244, + "node_type": 16, + "src": { + "line": 1209, + "column": 57, + "start": 43646, + "end": 43651, + "length": 6, + "parent_index": 3239 + }, + "name": "output", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3160, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "output" + }, + { + "id": 3245, + "node_type": 16, + "src": { + "line": 1209, + "column": 65, + "start": 43654, + "end": 43665, + "length": 12, + "parent_index": 3239 + }, + "name": "pairCodeHash", + "type_description": { + "type_identifier": "t_function_$_t_function_$$$_t_address$$_t_address$", + "type_string": "function(function(),address,address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "pairCodeHash" + } + ], + "expression": { + "id": 3240, + "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1281, + "line": 1209, "column": 16, - "start": 45195, - "end": 45207, - "length": 13, - "parent_index": 3558 + "start": 43605, + "end": 43628, + "length": 24, + "parent_index": 3239 }, "member_location": { - "line": 1281, - "column": 23, - "start": 45202, - "end": 45207, - "length": 6, - "parent_index": 3559 + "line": 1209, + "column": 33, + "start": 43622, + "end": 43628, + "length": 7, + "parent_index": 3240 }, "expression": { - "id": 3560, + "id": 3241, "node_type": 16, "src": { - "line": 1281, + "line": 1209, "column": 16, - "start": 45195, - "end": 45200, - "length": 6, - "parent_index": 3559 + "start": 43605, + "end": 43620, + "length": 16, + "parent_index": 3240 }, - "name": "params", + "name": "UniswapV2Library", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 2503, + "is_pure": false, + "text": "UniswapV2Library" }, - "member_name": "output", + "member_name": "pairFor", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3561, - "node_type": 16, - "src": { - "line": 1281, - "column": 30, - "start": 45209, - "end": 45209, - "length": 1, - "parent_index": 3558 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_contract$_UniswapV2Library_$2503", + "type_string": "contract UniswapV2Library" }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "text": "UniswapV2Library.pairFor" }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "token", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - { - "id": 3562, - "node_type": 24, - "kind": 24, - "src": { - "line": 1282, - "column": 16, - "start": 45235, - "end": 45247, - "length": 13, - "parent_index": 3554 - }, - "argument_types": [ - { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" - } - ], - "arguments": [ - { - "id": 3565, - "node_type": 16, - "src": { - "line": 1282, - "column": 24, - "start": 45243, - "end": 45246, - "length": 4, - "parent_index": 3562 - }, - "name": "this", - "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", + "type_string": "function(function(),address,address,function(function(),address,address))" } - ], - "expression": { - "id": 3563, - "node_type": 16, - "src": { - "line": 1282, - "column": 16, - "start": 45235, - "end": 45241, - "length": 7, - "parent_index": 3562 - }, - "name": "address", - "type_name": { - "id": 3564, - "node_type": 30, - "src": { - "line": 1282, - "column": 16, - "start": 45235, - "end": 45241, - "length": 7, - "parent_index": 3563 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" } - } - ], - "expression": { - "id": 3555, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1280, - "column": 36, - "start": 45159, - "end": 45176, - "length": 18, - "parent_index": 3554 - }, - "member_location": { - "line": 1280, - "column": 45, - "start": 45168, - "end": 45176, - "length": 9, - "parent_index": 3555 - }, + ], "expression": { - "id": 3556, + "id": 3238, "node_type": 16, "src": { - "line": 1280, - "column": 36, - "start": 45159, - "end": 45166, - "length": 8, - "parent_index": 3555 + "line": 1208, + "column": 12, + "start": 43573, + "end": 43586, + "length": 14, + "parent_index": 3237 }, - "name": "bentoBox", + "name": "IUniswapV2Pair", "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 963, - "is_pure": false + "referenced_declaration": 0, + "is_pure": false, + "text": "IUniswapV2Pair" }, - "member_name": "balanceOf", - "argument_types": [], "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" + "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", + "type_string": "function(function(function(),address,address,function(function(),address,address)))" } }, + "member_name": "swap", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address))" - } - } - }, - { - "id": 3566, - "node_type": 48, - "src": { - "line": 1284, - "column": 0, - "start": 45276, - "end": 45366, - "length": 91, - "parent_index": 3550 - }, - "condition": { - "id": 3567, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1284, - "column": 16, - "start": 45280, - "end": 45321, - "length": 42, - "parent_index": 3566 - }, - "operator": 9, - "left_expression": { - "id": 3568, - "node_type": 16, - "src": { - "line": 1284, - "column": 16, - "start": 45280, - "end": 45292, - "length": 13, - "parent_index": 3567 - }, - "name": "balanceShares", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3551, - "is_pure": false - }, - "right_expression": { - "id": 3569, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1284, - "column": 32, - "start": 45296, - "end": 45321, - "length": 26, - "parent_index": 3567 - }, - "member_location": { - "line": 1284, - "column": 49, - "start": 45313, - "end": 45321, - "length": 9, - "parent_index": 3569 - }, - "expression": { - "id": 3570, - "node_type": 22, - "src": { - "line": 1284, - "column": 32, - "start": 45296, - "end": 45311, - "length": 16, - "parent_index": 3569 - }, - "index_expression": { - "id": 3571, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1284, - "column": 32, - "start": 45296, - "end": 45308, - "length": 13, - "parent_index": 3570 - }, - "member_location": { - "line": 1284, - "column": 39, - "start": 45303, - "end": 45308, - "length": 6, - "parent_index": 3571 - }, - "expression": { - "id": 3572, - "node_type": 16, - "src": { - "line": 1284, - "column": 32, - "start": 45296, - "end": 45301, - "length": 6, - "parent_index": 3571 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "output", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3573, - "node_type": 16, - "src": { - "line": 1284, - "column": 46, - "start": 45310, - "end": 45310, - "length": 1, - "parent_index": 3570 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "minAmount", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", + "type_string": "function(function(function(),address,address,function(function(),address,address)))" }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "text": "IUniswapV2Pair(UniswapV2Library.pairFor(factory,input,output,pairCodeHash)).swap" }, - "body": { - "id": 3574, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 3575, - "node_type": 48, - "src": { - "line": 1286, - "column": 0, - "start": 45380, - "end": 45888, - "length": 509, - "parent_index": 3550 - }, - "condition": { - "id": 3576, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1286, - "column": 16, - "start": 45384, - "end": 45411, - "length": 28, - "parent_index": 3575 - }, - "member_location": { - "line": 1286, - "column": 33, - "start": 45401, - "end": 45411, - "length": 11, - "parent_index": 3576 - }, - "expression": { - "id": 3577, - "node_type": 22, - "src": { - "line": 1286, - "column": 16, - "start": 45384, - "end": 45399, - "length": 16, - "parent_index": 3576 - }, - "index_expression": { - "id": 3578, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1286, - "column": 16, - "start": 45384, - "end": 45396, - "length": 13, - "parent_index": 3577 - }, - "member_location": { - "line": 1286, - "column": 23, - "start": 45391, - "end": 45396, - "length": 6, - "parent_index": 3578 - }, - "expression": { - "id": 3579, - "node_type": 16, - "src": { - "line": 1286, - "column": 16, - "start": 45384, - "end": 45389, - "length": 6, - "parent_index": 3578 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "output", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3580, - "node_type": 16, - "src": { - "line": 1286, - "column": 30, - "start": 45398, - "end": 45398, - "length": 1, - "parent_index": 3577 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "unwrapBento", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "body": { - "id": 3581, - "node_type": 46, - "kind": 0, - "src": { - "line": 1286, - "column": 46, - "start": 45414, - "end": 45659, - "length": 246, - "parent_index": 3537 - }, - "implemented": true, - "statements": [ - { - "id": 3582, - "node_type": 24, - "kind": 24, - "src": { - "line": 1287, - "column": 16, - "start": 45432, - "end": 45644, - "length": 213, - "parent_index": 3581 - }, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_rational_0_by_1$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0)" - } - ], - "arguments": [ - { - "id": 3585, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1288, - "column": 20, - "start": 45471, - "end": 45492, - "length": 22, - "parent_index": 3582 - }, - "member_location": { - "line": 1288, - "column": 37, - "start": 45488, - "end": 45492, - "length": 5, - "parent_index": 3585 - }, - "expression": { - "id": 3586, - "node_type": 22, - "src": { - "line": 1288, - "column": 20, - "start": 45471, - "end": 45486, - "length": 16, - "parent_index": 3585 - }, - "index_expression": { - "id": 3587, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1288, - "column": 20, - "start": 45471, - "end": 45483, - "length": 13, - "parent_index": 3586 - }, - "member_location": { - "line": 1288, - "column": 27, - "start": 45478, - "end": 45483, - "length": 6, - "parent_index": 3587 - }, - "expression": { - "id": 3588, - "node_type": 16, - "src": { - "line": 1288, - "column": 20, - "start": 45471, - "end": 45476, - "length": 6, - "parent_index": 3587 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "output", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3589, - "node_type": 16, - "src": { - "line": 1288, - "column": 34, - "start": 45485, - "end": 45485, - "length": 1, - "parent_index": 3586 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "token", - "argument_types": [], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - { - "id": 3590, - "node_type": 24, - "kind": 24, - "src": { - "line": 1289, - "column": 20, - "start": 45515, - "end": 45527, - "length": 13, - "parent_index": 3582 - }, - "argument_types": [ - { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" - } - ], - "arguments": [ - { - "id": 3593, - "node_type": 16, - "src": { - "line": 1289, - "column": 28, - "start": 45523, - "end": 45526, - "length": 4, - "parent_index": 3590 - }, - "name": "this", - "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", - "type_string": "contract TridentSwapAdapter" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3591, - "node_type": 16, - "src": { - "line": 1289, - "column": 20, - "start": 45515, - "end": 45521, - "length": 7, - "parent_index": 3590 - }, - "name": "address", - "type_name": { - "id": 3592, - "node_type": 30, - "src": { - "line": 1289, - "column": 20, - "start": 45515, - "end": 45521, - "length": 7, - "parent_index": 3591 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - { - "id": 3594, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1290, - "column": 20, - "start": 45550, - "end": 45568, - "length": 19, - "parent_index": 3582 - }, - "member_location": { - "line": 1290, - "column": 37, - "start": 45567, - "end": 45568, - "length": 2, - "parent_index": 3594 - }, - "expression": { - "id": 3595, - "node_type": 22, - "src": { - "line": 1290, - "column": 20, - "start": 45550, - "end": 45565, - "length": 16, - "parent_index": 3594 - }, - "index_expression": { - "id": 3596, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1290, - "column": 20, - "start": 45550, - "end": 45562, - "length": 13, - "parent_index": 3595 - }, - "member_location": { - "line": 1290, - "column": 27, - "start": 45557, - "end": 45562, - "length": 6, - "parent_index": 3596 - }, - "expression": { - "id": 3597, - "node_type": 16, - "src": { - "line": 1290, - "column": 20, - "start": 45550, - "end": 45555, - "length": 6, - "parent_index": 3596 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false - }, - "member_name": "output", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } - }, - "base_expression": { - "id": 3598, - "node_type": 16, - "src": { - "line": 1290, - "column": 34, - "start": 45564, - "end": 45564, - "length": 1, - "parent_index": 3595 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false - }, - "type_descriptions": [ - { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - "member_name": "to", - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - }, - { - "id": 3599, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1291, - "column": 20, - "start": 45591, - "end": 45591, - "length": 1, - "parent_index": 3582 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ] - }, - { - "id": 3600, - "node_type": 16, - "src": { - "line": 1292, - "column": 20, - "start": 45614, - "end": 45626, - "length": 13, - "parent_index": 3582 - }, - "name": "balanceShares", - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_rational_0_by_1$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - } - ] - } - ], - "expression": { - "id": 3583, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1287, - "column": 16, - "start": 45432, - "end": 45448, - "length": 17, - "parent_index": 3582 - }, - "member_location": { - "line": 1287, - "column": 25, - "start": 45441, - "end": 45448, - "length": 8, - "parent_index": 3583 - }, - "expression": { - "id": 3584, - "node_type": 16, - "src": { - "line": 1287, - "column": 16, - "start": 45432, - "end": 45439, - "length": 8, - "parent_index": 3583 - }, - "name": "bentoBox", - "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" - }, - "overloaded_declarations": [], - "referenced_declaration": 963, - "is_pure": false - }, - "member_name": "withdraw", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IBentoBoxMinimal_$546", - "type_string": "contract IBentoBoxMinimal" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_rational_0_by_1$_t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_rational_0_by_1$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0,function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0))" - } - } - ] + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_function_$_t_rational_0_by_1$", + "type_string": "function(uint256,uint256,address,function(int_const 0))" } } ] @@ -65704,536 +61629,256 @@ "implemented": true, "visibility": 1, "state_mutability": 4, - "virtual": false, + "virtual": true, "modifiers": [], "overrides": [], "parameters": { - "id": 3383, + "id": 3138, "node_type": 43, "src": { - "line": 1245, - "column": 26, - "start": 43564, - "end": 43594, - "length": 31, - "parent_index": 3382 + "line": 1189, + "column": 8, + "start": 42803, + "end": 42878, + "length": 76, + "parent_index": 3137 }, "parameters": [ { - "id": 3384, + "id": 3139, "node_type": 44, "src": { - "line": 1245, - "column": 26, - "start": 43564, - "end": 43594, - "length": 31, - "parent_index": 3383 + "line": 1189, + "column": 8, + "start": 42803, + "end": 42826, + "length": 24, + "parent_index": 3138 }, - "scope": 3382, - "name": "params", + "scope": 3137, + "name": "amounts", "type_name": { - "id": 3385, - "node_type": 69, + "id": 3140, + "node_type": 16, "src": { - "line": 1245, - "column": 26, - "start": 43564, - "end": 43580, - "length": 17, - "parent_index": 3384 - }, - "path_node": { - "id": 3386, - "name": "ComplexPathParams", - "node_type": 52, - "referenced_declaration": 3152, - "src": { - "line": 1245, - "column": 26, - "start": 43564, - "end": 43580, - "length": 17, - "parent_index": 3385 - }, - "name_location": { - "line": 1245, - "column": 26, - "start": 43564, - "end": 43580, - "length": 17, - "parent_index": 3385 - } + "line": 1189, + "column": 8, + "start": 42803, + "end": 42809, + "length": 7, + "parent_index": 3139 }, - "referenced_declaration": 3152, + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 3141, + "node_type": 44, + "src": { + "line": 1190, + "column": 8, + "start": 42837, + "end": 42857, + "length": 21, + "parent_index": 3138 + }, + "scope": 3137, + "name": "path", + "type_name": { + "id": 3142, + "node_type": 16, + "src": { + "line": 1190, + "column": 8, + "start": 42837, + "end": 42843, + "length": 7, + "parent_index": 3141 + }, + "name": "address", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3143, + "node_type": 44, + "src": { + "line": 1191, + "column": 8, + "start": 42868, + "end": 42878, + "length": 11, + "parent_index": 3138 + }, + "scope": 3137, + "name": "_to", + "type_name": { + "id": 3144, + "node_type": 30, + "src": { + "line": 1191, + "column": 8, + "start": 42868, + "end": 42874, + "length": 7, + "parent_index": 3143 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "type_string": "struct ITridentRouter.ComplexPathParams" + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" } ] }, "return_parameters": { - "id": 3387, + "id": 3145, "node_type": 43, "src": { - "line": 1245, + "line": 1188, "column": 4, - "start": 43542, - "end": 45904, - "length": 2363, - "parent_index": 3382 + "start": 42779, + "end": 43744, + "length": 966, + "parent_index": 3137 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_complexPath()", - "signature": "87820208", - "scope": 3265, + "signature_raw": "_swap(uint256,address,address)", + "signature": "91b9e252", + "scope": 3049, "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ComplexPathParams_$3152$", - "type_string": "function(struct ITridentRouter.ComplexPathParams)" - } - }, - { - "id": 3602, - "name": "_increment", - "node_type": 42, - "kind": 41, - "src": { - "line": 1305, - "column": 4, - "start": 45911, - "end": 46036, - "length": 126, - "parent_index": 3265 - }, - "name_location": { - "line": 1305, - "column": 13, - "start": 45920, - "end": 45929, - "length": 10, - "parent_index": 3602 - }, - "body": { - "id": 3609, - "node_type": 46, - "kind": 0, - "src": { - "line": 1305, - "column": 67, - "start": 45974, - "end": 46036, - "length": 63, - "parent_index": 3602 - }, - "implemented": true, - "statements": [ - { - "id": 3610, - "node_type": 59, - "kind": 0, - "src": { - "line": 1306, - "column": 8, - "start": 45984, - "end": 46030, - "length": 47, - "parent_index": 3265 - }, - "implemented": false, - "statements": [ - { - "id": 3611, - "node_type": 47, - "src": { - "line": 1307, - "column": 12, - "start": 46008, - "end": 46020, - "length": 13, - "parent_index": 3602 - }, - "function_return_parameters": 3602, - "expression": { - "id": 3612, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1307, - "column": 19, - "start": 46015, - "end": 46019, - "length": 5, - "parent_index": 3611 - }, - "operator": 1, - "left_expression": { - "id": 3613, - "node_type": 16, - "src": { - "line": 1307, - "column": 19, - "start": 46015, - "end": 46015, - "length": 1, - "parent_index": 3612 - }, - "name": "i", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3613, - "is_pure": false - }, - "right_expression": { - "id": 3614, - "node_type": 17, - "kind": 49, - "value": "1", - "hex_value": "31", - "src": { - "line": 1307, - "column": 23, - "start": 46019, - "end": 46019, - "length": 1, - "parent_index": 3612 - }, - "type_description": { - "type_identifier": "t_rational_1_by_1", - "type_string": "int_const 1" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] - } - ] - }, - "implemented": false, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 3603, - "node_type": 43, - "src": { - "line": 1305, - "column": 24, - "start": 45931, - "end": 45939, - "length": 9, - "parent_index": 3602 - }, - "parameters": [ - { - "id": 3604, - "node_type": 44, - "src": { - "line": 1305, - "column": 24, - "start": 45931, - "end": 45939, - "length": 9, - "parent_index": 3603 - }, - "scope": 3602, - "name": "i", - "type_name": { - "id": 3605, - "node_type": 30, - "src": { - "line": 1305, - "column": 24, - "start": 45931, - "end": 45937, - "length": 7, - "parent_index": 3604 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 3606, - "node_type": 43, - "src": { - "line": 1305, - "column": 58, - "start": 45965, - "end": 45971, - "length": 7, - "parent_index": 3602 - }, - "parameters": [ - { - "id": 3607, - "node_type": 44, - "src": { - "line": 1305, - "column": 58, - "start": 45965, - "end": 45971, - "length": 7, - "parent_index": 3606 - }, - "scope": 3602, - "name": "", - "type_name": { - "id": 3608, - "node_type": 30, - "src": { - "line": 1305, - "column": 58, - "start": 45965, - "end": 45971, - "length": 7, - "parent_index": 3607 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + "type_identifier": "t_function_$_t_uint256$_t_address$_t_address$", + "type_string": "function(uint256,address,address)" }, - "signature_raw": "_increment(uint256)", - "signature": "5e384b73", - "scope": 3265, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } + "text": "function_swap(uint256[]memoryamounts,address[]memorypath,address_to)internalvirtual{for(uint256i;i\u003cpath.length-1;i++){(addressinput,addressoutput)=(path[i],path[i+1]);(addresstoken0,)=UniswapV2Library.sortTokens(input,output);uint256amountOut=amounts[i+1];(uint256amount0Out,uint256amount1Out)=input==token0?(uint256(0),amountOut):(amountOut,uint256(0));addressto=i\u003cpath.length-2?UniswapV2Library.pairFor(factory,output,path[i+2],pairCodeHash):_to;IUniswapV2Pair(UniswapV2Library.pairFor(factory,input,output,pairCodeHash)).swap(amount0Out,amount1Out,to,newbytes(0));}}" } ], "linearized_base_contracts": [ - 3023, 948, - 1018, - 1684, - 3265, - 3260, - 3261, - 3262, - 3263, - 3264 + 3049, + 3046, + 3047, + 3048 ], "base_contracts": [ { - "id": 3266, - "node_type": 62, - "src": { - "line": 1191, - "column": 4, - "start": 41098, - "end": 41111, - "length": 14, - "parent_index": 3265 - }, - "base_name": { - "id": 3267, - "node_type": 52, - "src": { - "line": 1191, - "column": 4, - "start": 41098, - "end": 41111, - "length": 14, - "parent_index": 3265 - }, - "name": "ITridentRouter", - "referenced_declaration": 3023 - } - }, - { - "id": 3268, + "id": 3050, "node_type": 62, "src": { - "line": 1192, - "column": 4, - "start": 41118, - "end": 41131, + "line": 1152, + "column": 40, + "start": 41693, + "end": 41706, "length": 14, - "parent_index": 3265 + "parent_index": 3049 }, "base_name": { - "id": 3269, + "id": 3051, "node_type": 52, "src": { - "line": 1192, - "column": 4, - "start": 41118, - "end": 41131, + "line": 1152, + "column": 40, + "start": 41693, + "end": 41706, "length": 14, - "parent_index": 3265 + "parent_index": 3049 }, "name": "ImmutableState", "referenced_declaration": 948 } - }, - { - "id": 3270, - "node_type": 62, - "src": { - "line": 1193, - "column": 4, - "start": 41138, - "end": 41149, - "length": 12, - "parent_index": 3265 - }, - "base_name": { - "id": 3271, - "node_type": 52, - "src": { - "line": 1193, - "column": 4, - "start": 41138, - "end": 41149, - "length": 12, - "parent_index": 3265 - }, - "name": "BentoAdapter", - "referenced_declaration": 1018 - } - }, - { - "id": 3272, - "node_type": 62, - "src": { - "line": 1194, - "column": 4, - "start": 41156, - "end": 41167, - "length": 12, - "parent_index": 3265 - }, - "base_name": { - "id": 3273, - "node_type": 52, - "src": { - "line": 1194, - "column": 4, - "start": 41156, - "end": 41167, - "length": 12, - "parent_index": 3265 - }, - "name": "TokenAdapter", - "referenced_declaration": 1684 - } } ], "contract_dependencies": [ - 3023, 948, - 1018, - 1684, - 3260, - 3261, - 3262, - 3263, - 3264 + 3046, + 3047, + 3048 ] } ], "src": { - "line": 1190, + "line": 1152, "column": 0, - "start": 41054, - "end": 46038, - "length": 4985, + "start": 41653, + "end": 43746, + "length": 2094, "parent_index": 272 } }, { - "id": 3615, + "id": 3253, "base_contracts": [], - "license": "GPL-3.0", + "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 3615, - "name": "IStargateReceiver", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateReceiver.sol" + "id": 3253, + "name": "IWETH", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IWETH.sol" } ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateReceiver.sol", - "name": "IStargateReceiver", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IWETH.sol", + "name": "IWETH", "node_type": 1, "nodes": [ { - "id": 3635, + "id": 3270, "node_type": 10, "src": { - "line": 1314, + "line": 1217, "column": 0, - "start": 46078, - "end": 46100, + "start": 43795, + "end": 43817, "length": 23, - "parent_index": 3615 + "parent_index": 3253 }, "literals": [ "pragma", @@ -66248,61 +61893,140 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 3676, - "name": "IStargateReceiver", + "id": 3311, + "name": "IWETH", "node_type": 35, "src": { - "line": 1316, + "line": 1219, "column": 0, - "start": 46103, - "end": 46335, - "length": 233, - "parent_index": 3615 + "start": 43820, + "end": 43996, + "length": 177, + "parent_index": 3253 }, "name_location": { - "line": 1316, + "line": 1219, "column": 10, - "start": 46113, - "end": 46129, - "length": 17, - "parent_index": 3676 + "start": 43830, + "end": 43834, + "length": 5, + "parent_index": 3311 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 3678, - "name": "sgReceive", + "id": 3313, + "name": "deposit", "node_type": 42, "kind": 41, "src": { - "line": 1317, + "line": 1220, "column": 4, - "start": 46137, - "end": 46333, - "length": 197, - "parent_index": 3676 + "start": 43842, + "end": 43877, + "length": 36, + "parent_index": 3311 }, "name_location": { - "line": 1317, + "line": 1220, "column": 13, - "start": 46146, - "end": 46154, - "length": 9, - "parent_index": 3678 + "start": 43851, + "end": 43857, + "length": 7, + "parent_index": 3313 }, "body": { - "id": 3693, + "id": 3316, "node_type": 46, "kind": 0, "src": { - "line": 1317, + "line": 1220, "column": 4, - "start": 46137, - "end": 46333, - "length": 197, - "parent_index": 3678 + "start": 43842, + "end": 43877, + "length": 36, + "parent_index": 3313 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 3, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 3314, + "node_type": 43, + "src": { + "line": 1220, + "column": 4, + "start": 43842, + "end": 43877, + "length": 36, + "parent_index": 3313 + }, + "parameters": [], + "parameter_types": [] + }, + "return_parameters": { + "id": 3315, + "node_type": 43, + "src": { + "line": 1220, + "column": 4, + "start": 43842, + "end": 43877, + "length": 36, + "parent_index": 3313 + }, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "deposit()", + "signature": "d0e30db0", + "scope": 3311, + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "text": "functiondeposit()externalpayable;" + }, + { + "id": 3318, + "name": "transfer", + "node_type": 42, + "kind": 41, + "src": { + "line": 1222, + "column": 4, + "start": 43884, + "end": 43952, + "length": 69, + "parent_index": 3311 + }, + "name_location": { + "line": 1222, + "column": 13, + "start": 43893, + "end": 43900, + "length": 8, + "parent_index": 3318 + }, + "body": { + "id": 3327, + "node_type": 46, + "kind": 0, + "src": { + "line": 1222, + "column": 4, + "start": 43884, + "end": 43952, + "length": 69, + "parent_index": 3318 }, "implemented": false, "statements": [] @@ -66314,118 +62038,80 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3679, + "id": 3319, "node_type": 43, "src": { - "line": 1318, - "column": 8, - "start": 46165, - "end": 46317, - "length": 153, - "parent_index": 3678 + "line": 1222, + "column": 22, + "start": 43902, + "end": 43926, + "length": 25, + "parent_index": 3318 }, "parameters": [ { - "id": 3680, - "node_type": 44, - "src": { - "line": 1318, - "column": 8, - "start": 46165, - "end": 46179, - "length": 15, - "parent_index": 3679 - }, - "scope": 3678, - "name": "_chainId", - "type_name": { - "id": 3681, - "node_type": 30, - "src": { - "line": 1318, - "column": 8, - "start": 46165, - "end": 46170, - "length": 6, - "parent_index": 3680 - }, - "name": "uint16", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" - } - }, - { - "id": 3682, + "id": 3320, "node_type": 44, "src": { - "line": 1319, - "column": 8, - "start": 46190, - "end": 46213, - "length": 24, - "parent_index": 3679 + "line": 1222, + "column": 22, + "start": 43902, + "end": 43911, + "length": 10, + "parent_index": 3319 }, - "scope": 3678, - "name": "_srcAddress", + "scope": 3318, + "name": "to", "type_name": { - "id": 3683, + "id": 3321, "node_type": 30, "src": { - "line": 1319, - "column": 8, - "start": 46190, - "end": 46194, - "length": 5, - "parent_index": 3682 + "line": 1222, + "column": 22, + "start": 43902, + "end": 43908, + "length": 7, + "parent_index": 3320 }, - "name": "bytes", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 3684, + "id": 3322, "node_type": 44, "src": { - "line": 1320, - "column": 8, - "start": 46224, - "end": 46237, - "length": 14, - "parent_index": 3679 + "line": 1222, + "column": 34, + "start": 43914, + "end": 43926, + "length": 13, + "parent_index": 3319 }, - "scope": 3678, - "name": "_nonce", + "scope": 3318, + "name": "value", "type_name": { - "id": 3685, + "id": 3323, "node_type": 30, "src": { - "line": 1320, - "column": 8, - "start": 46224, - "end": 46230, + "line": 1222, + "column": 34, + "start": 43914, + "end": 43920, "length": 7, - "parent_index": 3684 + "parent_index": 3322 }, "name": "uint256", "referenced_declaration": 0, @@ -66441,70 +62127,164 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, { - "id": 3686, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 3324, + "node_type": 43, + "src": { + "line": 1222, + "column": 67, + "start": 43947, + "end": 43950, + "length": 4, + "parent_index": 3318 + }, + "parameters": [ + { + "id": 3325, "node_type": 44, "src": { - "line": 1321, - "column": 8, - "start": 46248, - "end": 46261, - "length": 14, - "parent_index": 3679 + "line": 1222, + "column": 67, + "start": 43947, + "end": 43950, + "length": 4, + "parent_index": 3324 }, - "scope": 3678, - "name": "_token", + "scope": 3318, + "name": "", "type_name": { - "id": 3687, + "id": 3326, "node_type": 30, "src": { - "line": 1321, - "column": 8, - "start": 46248, - "end": 46254, - "length": 7, - "parent_index": 3686 + "line": 1222, + "column": 67, + "start": 43947, + "end": 43950, + "length": 4, + "parent_index": 3325 }, - "name": "address", - "state_mutability": 4, + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] + }, + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", + "scope": 3311, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functiontransfer(addressto,uint256value)externalreturns(bool);" + }, + { + "id": 3329, + "name": "withdraw", + "node_type": 42, + "kind": 41, + "src": { + "line": 1224, + "column": 4, + "start": 43959, + "end": 43994, + "length": 36, + "parent_index": 3311 + }, + "name_location": { + "line": 1224, + "column": 13, + "start": 43968, + "end": 43975, + "length": 8, + "parent_index": 3329 + }, + "body": { + "id": 3334, + "node_type": 46, + "kind": 0, + "src": { + "line": 1224, + "column": 4, + "start": 43959, + "end": 43994, + "length": 36, + "parent_index": 3329 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 3330, + "node_type": 43, + "src": { + "line": 1224, + "column": 22, + "start": 43977, + "end": 43983, + "length": 7, + "parent_index": 3329 + }, + "parameters": [ { - "id": 3688, + "id": 3331, "node_type": 44, "src": { - "line": 1322, - "column": 8, - "start": 46272, - "end": 46287, - "length": 16, - "parent_index": 3679 + "line": 1224, + "column": 22, + "start": 43977, + "end": 43983, + "length": 7, + "parent_index": 3330 }, - "scope": 3678, - "name": "amountLD", + "scope": 3329, + "name": "", "type_name": { - "id": 3689, + "id": 3332, "node_type": 30, "src": { - "line": 1322, - "column": 8, - "start": 46272, - "end": 46278, + "line": 1224, + "column": 22, + "start": 43977, + "end": 43983, "length": 7, - "parent_index": 3688 + "parent_index": 3331 }, "name": "uint256", "referenced_declaration": 0, @@ -66520,221 +62300,90 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, - { - "id": 3690, - "node_type": 44, - "src": { - "line": 1323, - "column": 8, - "start": 46298, - "end": 46317, - "length": 20, - "parent_index": 3679 - }, - "scope": 3678, - "name": "payload", - "type_name": { - "id": 3691, - "node_type": 30, - "src": { - "line": 1323, - "column": 8, - "start": 46298, - "end": 46302, - "length": 5, - "parent_index": 3690 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint16", - "type_string": "uint16" - }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, + } + ], + "parameter_types": [ { "type_identifier": "t_uint256", "type_string": "uint256" - }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" } ] }, "return_parameters": { - "id": 3692, + "id": 3333, "node_type": 43, "src": { - "line": 1317, + "line": 1224, "column": 4, - "start": 46137, - "end": 46333, - "length": 197, - "parent_index": 3678 + "start": 43959, + "end": 43994, + "length": 36, + "parent_index": 3329 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "sgReceive(uint16, bytes, uint256, address, uint256, bytes)", - "signature": "b19f8e19", - "scope": 3676, + "signature_raw": "withdraw(uint256)", + "signature": "2e1a7d4d", + "scope": 3311, "type_description": { - "type_identifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", - "type_string": "function(uint16,bytes,uint256,address,uint256,bytes)" - } + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "functionwithdraw(uint256)external;" } ], "linearized_base_contracts": [ - 3676 + 3311 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 1316, + "line": 1219, "column": 0, - "start": 46103, - "end": 46335, - "length": 233, + "start": 43820, + "end": 43996, + "length": 177, "parent_index": 272 } }, { - "id": 3694, - "base_contracts": [ - { - "id": 3746, - "node_type": 62, - "src": { - "line": 1340, - "column": 37, - "start": 46715, - "end": 46728, - "length": 14, - "parent_index": 3745 - }, - "base_name": { - "id": 3747, - "node_type": 52, - "src": { - "line": 1340, - "column": 37, - "start": 46715, - "end": 46728, - "length": 14, - "parent_index": 3745 - }, - "name": "ImmutableState", - "referenced_declaration": 948 - } - }, - { - "id": 3748, - "node_type": 62, - "src": { - "line": 1340, - "column": 53, - "start": 46731, - "end": 46747, - "length": 17, - "parent_index": 3745 - }, - "base_name": { - "id": 3749, - "node_type": 52, - "src": { - "line": 1340, - "column": 53, - "start": 46731, - "end": 46747, - "length": 17, - "parent_index": 3745 - }, - "name": "IStargateReceiver", - "referenced_declaration": 3615 - } - } - ], + "id": 3335, + "base_contracts": [], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 3694, - "name": "StargateAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/StargateAdapter.sol" + "id": 3335, + "name": "TokenAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TokenAdapter.sol" }, { - "id": 3615, + "id": 3253, "name": "SafeERC20", "absolute_path": "SafeERC20.sol" }, { - "id": 3615, - "name": "IStargateReceiver", - "absolute_path": "IStargateReceiver.sol" - }, - { - "id": 3615, - "name": "ImmutableState", - "absolute_path": "ImmutableState.sol" - }, - { - "id": 3615, - "name": "IStargateAdapter", - "absolute_path": "IStargateAdapter.sol" - }, - { - "id": 3615, - "name": "ISushiXSwap", - "absolute_path": "ISushiXSwap.sol" - }, - { - "id": 3615, - "name": "IStargateWidget", - "absolute_path": "IStargateWidget.sol" + "id": 3253, + "name": "IWETH", + "absolute_path": "IWETH.sol" } ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/StargateAdapter.sol", - "name": "StargateAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TokenAdapter.sol", + "name": "TokenAdapter", "node_type": 1, "nodes": [ { - "id": 3715, + "id": 3353, "node_type": 10, "src": { - "line": 1329, + "line": 1229, "column": 0, - "start": 46384, - "end": 46406, + "start": 44045, + "end": 44067, "length": 23, - "parent_index": 3694 + "parent_index": 3335 }, "literals": [ "pragma", @@ -66749,189 +62398,113 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 3739, + "id": 3373, "node_type": 29, "src": { - "line": 1331, + "line": 1231, "column": 0, - "start": 46409, - "end": 46433, + "start": 44070, + "end": 44094, "length": 25, - "parent_index": 3694 + "parent_index": 3335 }, "absolute_path": "SafeERC20.sol", "file": "./SafeERC20.sol", - "scope": 3694, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3615 - }, - { - "id": 3740, - "node_type": 29, - "src": { - "line": 1332, - "column": 0, - "start": 46435, - "end": 46467, - "length": 33, - "parent_index": 3694 - }, - "absolute_path": "IStargateReceiver.sol", - "file": "./IStargateReceiver.sol", - "scope": 3694, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3615 - }, - { - "id": 3741, - "node_type": 29, - "src": { - "line": 1333, - "column": 0, - "start": 46469, - "end": 46498, - "length": 30, - "parent_index": 3694 - }, - "absolute_path": "ImmutableState.sol", - "file": "./ImmutableState.sol", - "scope": 3694, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3615 - }, - { - "id": 3742, - "node_type": 29, - "src": { - "line": 1334, - "column": 0, - "start": 46500, - "end": 46531, - "length": 32, - "parent_index": 3694 - }, - "absolute_path": "IStargateAdapter.sol", - "file": "./IStargateAdapter.sol", - "scope": 3694, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 3615 - }, - { - "id": 3743, - "node_type": 29, - "src": { - "line": 1335, - "column": 0, - "start": 46533, - "end": 46559, - "length": 27, - "parent_index": 3694 - }, - "absolute_path": "ISushiXSwap.sol", - "file": "./ISushiXSwap.sol", - "scope": 3694, + "scope": 3335, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3615 + "source_unit": 3253 }, { - "id": 3744, + "id": 3374, "node_type": 29, "src": { - "line": 1336, + "line": 1232, "column": 0, - "start": 46561, - "end": 46591, - "length": 31, - "parent_index": 3694 + "start": 44096, + "end": 44116, + "length": 21, + "parent_index": 3335 }, - "absolute_path": "IStargateWidget.sol", - "file": "./IStargateWidget.sol", - "scope": 3694, + "absolute_path": "IWETH.sol", + "file": "./IWETH.sol", + "scope": 3335, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3615 + "source_unit": 3253 }, { - "id": 3745, - "name": "StargateAdapter", + "id": 3375, + "name": "TokenAdapter", "node_type": 35, "src": { - "line": 1340, + "line": 1236, "column": 0, - "start": 46678, - "end": 52109, - "length": 5432, - "parent_index": 3694 + "start": 44188, + "end": 45424, + "length": 1237, + "parent_index": 3335 }, "name_location": { - "line": 1340, + "line": 1236, "column": 18, - "start": 46696, - "end": 46710, - "length": 15, - "parent_index": 3745 + "start": 44206, + "end": 44217, + "length": 12, + "parent_index": 3375 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3751, + "id": 3377, "node_type": 51, "src": { - "line": 1341, + "line": 1237, "column": 0, - "start": 46755, - "end": 46781, + "start": 44225, + "end": 44251, "length": 27, - "parent_index": 3745 + "parent_index": 3375 }, "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" }, "type_name": { - "id": 3753, + "id": 3379, "node_type": 69, "src": { - "line": 1341, + "line": 1237, "column": 24, - "start": 46775, - "end": 46780, + "start": 44245, + "end": 44250, "length": 6, - "parent_index": 3751 + "parent_index": 3377 }, "path_node": { - "id": 3754, + "id": 3380, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 1341, + "line": 1237, "column": 24, - "start": 46775, - "end": 46780, + "start": 44245, + "end": 44250, "length": 6, - "parent_index": 3753 + "parent_index": 3379 }, "name_location": { - "line": 1341, + "line": 1237, "column": 24, - "start": 46775, - "end": 46780, + "start": 44245, + "end": 44250, "length": 6, - "parent_index": 3753 + "parent_index": 3379 } }, "referenced_declaration": 1089, @@ -66941,2573 +62514,7650 @@ } }, "library_name": { - "id": 3752, + "id": 3378, "node_type": 52, "src": { - "line": 1341, + "line": 1237, "column": 0, - "start": 46761, - "end": 46769, + "start": 44231, + "end": 44239, "length": 9, - "parent_index": 3751 + "parent_index": 3377 }, "name": "SafeERC20", - "referenced_declaration": 1373 + "referenced_declaration": 1442 } }, { - "id": 3756, - "node_type": 77, + "id": 3382, + "name": "_transferTokens", + "node_type": 42, + "kind": 41, "src": { - "line": 1344, + "line": 1243, "column": 4, - "start": 46808, - "end": 46833, - "length": 26, - "parent_index": 3745 + "start": 44428, + "end": 44697, + "length": 270, + "parent_index": 3375 }, - "name": "NotStargateRouter", "name_location": { - "line": 1344, - "column": 10, - "start": 46814, - "end": 46830, - "length": 17, - "parent_index": 3756 - }, - "parameters": { - "id": 3757, - "node_type": 43, - "src": { - "line": 1344, - "column": 4, - "start": 46808, - "end": 46833, - "length": 26, - "parent_index": 3756 - }, - "parameters": [], - "parameter_types": [] - }, - "type_description": { - "type_identifier": "t_error$_StargateAdapter_NotStargateRouter_$3756", - "type_string": "error StargateAdapter.NotStargateRouter" - } - }, - { - "id": 3759, - "node_type": 57, - "src": { - "line": 1347, - "column": 4, - "start": 46854, - "end": 46909, - "length": 56, - "parent_index": 3745 + "line": 1243, + "column": 13, + "start": 44437, + "end": 44451, + "length": 15, + "parent_index": 3382 }, - "parameters": { - "id": 3760, - "node_type": 43, + "body": { + "id": 3392, + "node_type": 46, + "kind": 0, "src": { - "line": 1347, - "column": 4, - "start": 46854, - "end": 46909, - "length": 56, - "parent_index": 3759 + "line": 1247, + "column": 15, + "start": 44534, + "end": 44697, + "length": 164, + "parent_index": 3382 }, - "parameters": [ + "implemented": true, + "statements": [ { - "id": 3761, - "node_type": 44, + "id": 3393, + "node_type": 48, "src": { - "line": 1347, - "column": 32, - "start": 46882, - "end": 46907, - "length": 26, - "parent_index": 3760 + "line": 1248, + "column": 0, + "start": 44544, + "end": 44691, + "length": 148, + "parent_index": 3392 }, - "scope": 3759, - "name": "srcContext", - "type_name": { - "id": 3762, - "node_type": 30, + "condition": { + "id": 3394, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 1347, - "column": 32, - "start": 46882, - "end": 46888, - "length": 7, - "parent_index": 3761 + "line": 1248, + "column": 12, + "start": 44548, + "end": 44575, + "length": 28, + "parent_index": 3393 }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - "indexed": true - } - ], - "parameter_types": [ - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - ] - }, - "name": "StargateSushiXSwapSrc", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00263759", - "type_string": "event StargateAdapter.StargateSushiXSwapSrc" - } - }, - { - "id": 3764, - "node_type": 57, - "src": { - "line": 1348, - "column": 4, - "start": 46915, - "end": 46983, - "length": 69, - "parent_index": 3745 - }, - "parameters": { - "id": 3765, - "node_type": 43, - "src": { - "line": 1348, - "column": 4, - "start": 46915, - "end": 46983, - "length": 69, - "parent_index": 3764 - }, - "parameters": [ - { - "id": 3766, - "node_type": 44, - "src": { - "line": 1348, - "column": 32, - "start": 46943, - "end": 46968, - "length": 26, - "parent_index": 3765 - }, - "scope": 3764, - "name": "srcContext", - "type_name": { - "id": 3767, - "node_type": 30, - "src": { - "line": 1348, - "column": 32, - "start": 46943, - "end": 46949, - "length": 7, - "parent_index": 3766 + "operator": 12, + "left_expression": { + "id": 3395, + "node_type": 24, + "kind": 24, + "src": { + "line": 1248, + "column": 12, + "start": 44548, + "end": 44561, + "length": 14, + "parent_index": 3394 + }, + "argument_types": [ + { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + } + ], + "arguments": [ + { + "id": 3398, + "node_type": 16, + "src": { + "line": 1248, + "column": 20, + "start": 44556, + "end": 44560, + "length": 5, + "parent_index": 3395 + }, + "name": "token", + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + }, + "overloaded_declarations": [], + "referenced_declaration": 3398, + "is_pure": false, + "text": "token" + } + ], + "expression": { + "id": 3396, + "node_type": 16, + "src": { + "line": 1248, + "column": 12, + "start": 44548, + "end": 44554, + "length": 7, + "parent_index": 3395 + }, + "name": "address", + "type_name": { + "id": 3397, + "node_type": 30, + "src": { + "line": 1248, + "column": 12, + "start": 44548, + "end": 44554, + "length": 7, + "parent_index": 3396 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - "indexed": true - }, - { - "id": 3768, - "node_type": 44, - "src": { - "line": 1348, - "column": 60, - "start": 46971, - "end": 46981, - "length": 11, - "parent_index": 3765 - }, - "scope": 3764, - "name": "failed", - "type_name": { - "id": 3769, - "node_type": 30, - "src": { - "line": 1348, - "column": 60, - "start": 46971, - "end": 46974, - "length": 4, - "parent_index": 3768 + "right_expression": { + "id": 3399, + "node_type": 24, + "kind": 24, + "src": { + "line": 1248, + "column": 30, + "start": 44566, + "end": 44575, + "length": 10, + "parent_index": 3394 + }, + "argument_types": [ + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "arguments": [ + { + "id": 3402, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1248, + "column": 38, + "start": 44574, + "end": 44574, + "length": 1, + "parent_index": 3399 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + ], + "expression": { + "id": 3400, + "node_type": 16, + "src": { + "line": 1248, + "column": 30, + "start": 44566, + "end": 44572, + "length": 7, + "parent_index": 3399 + }, + "name": "address", + "type_name": { + "id": 3401, + "node_type": 30, + "src": { + "line": 1248, + "column": 30, + "start": 44566, + "end": 44572, + "length": 7, + "parent_index": 3400 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_rational_0_by_1$", + "type_string": "function(int_const 0)" + } }, - "name": "bool", - "referenced_declaration": 0, "type_description": { "type_identifier": "t_bool", "type_string": "bool" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "name": "StargateSushiXSwapDst", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00263764", - "type_string": "event StargateAdapter.StargateSushiXSwapDst" - } - }, - { - "id": 3771, - "node_type": 67, - "src": { - "line": 1350, - "column": 4, - "start": 46990, - "end": 47674, - "length": 685, - "parent_index": 3694 - }, - "name": "StargateTeleportParams", - "name_location": { - "line": 1350, - "column": 11, - "start": 46997, - "end": 47018, - "length": 22, - "parent_index": 3771 - }, - "canonical_name": "StargateAdapter.StargateTeleportParams", - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "body": { + "id": 3403, + "node_type": 46, + "kind": 0, + "src": { + "line": 1248, + "column": 42, + "start": 44578, + "end": 44632, + "length": 55, + "parent_index": 3382 + }, + "implemented": true, + "statements": [ + { + "id": 3404, + "node_type": 24, + "kind": 24, + "src": { + "line": 1249, + "column": 12, + "start": 44592, + "end": 44621, + "length": 30, + "parent_index": 3403 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "arguments": [ + { + "id": 3407, + "node_type": 16, + "src": { + "line": 1249, + "column": 31, + "start": 44611, + "end": 44612, + "length": 2, + "parent_index": 3404 + }, + "name": "to", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3407, + "is_pure": false, + "text": "to" + }, + { + "id": 3408, + "node_type": 16, + "src": { + "line": 1249, + "column": 35, + "start": 44615, + "end": 44620, + "length": 6, + "parent_index": 3404 + }, + "name": "amount", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3408, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "amount" + } + ], + "expression": { + "id": 3405, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1249, + "column": 12, + "start": 44592, + "end": 44609, + "length": 18, + "parent_index": 3404 + }, + "member_location": { + "line": 1249, + "column": 18, + "start": 44598, + "end": 44609, + "length": 12, + "parent_index": 3405 + }, + "expression": { + "id": 3406, + "node_type": 16, + "src": { + "line": 1249, + "column": 12, + "start": 44592, + "end": 44596, + "length": 5, + "parent_index": 3405 + }, + "name": "token", + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + }, + "overloaded_declarations": [], + "referenced_declaration": 3406, + "is_pure": false, + "text": "token" + }, + "member_name": "safeTransfer", + "argument_types": [], + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + }, + "text": "token.safeTransfer" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + } + } + ] + } + } + ] }, - "members": [ - { - "id": 3772, - "node_type": 44, - "src": { - "line": 1351, - "column": 8, - "start": 47030, - "end": 47047, - "length": 18, - "parent_index": 3771 - }, - "scope": 3745, - "name": "dstChainId", - "type_name": { - "id": 3773, - "node_type": 30, + "implemented": true, + "visibility": 1, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 3383, + "node_type": 43, + "src": { + "line": 1244, + "column": 8, + "start": 44462, + "end": 44517, + "length": 56, + "parent_index": 3382 + }, + "parameters": [ + { + "id": 3384, + "node_type": 44, "src": { - "line": 1351, + "line": 1244, "column": 8, - "start": 47030, - "end": 47035, - "length": 6, - "parent_index": 3772 + "start": 44462, + "end": 44473, + "length": 12, + "parent_index": 3383 }, - "name": "uint16", - "referenced_declaration": 0, + "scope": 3382, + "name": "token", + "type_name": { + "id": 3385, + "node_type": 69, + "src": { + "line": 1244, + "column": 8, + "start": 44462, + "end": 44467, + "length": 6, + "parent_index": 3384 + }, + "path_node": { + "id": 3386, + "name": "IERC20", + "node_type": 52, + "referenced_declaration": 1089, + "src": { + "line": 1244, + "column": 8, + "start": 44462, + "end": 44467, + "length": 6, + "parent_index": 3385 + }, + "name_location": { + "line": 1244, + "column": 8, + "start": 44462, + "end": 44467, + "length": 6, + "parent_index": 3385 + } + }, + "referenced_declaration": 1089, + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" } }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" - } - }, - { - "id": 3774, - "node_type": 44, - "src": { - "line": 1352, - "column": 8, - "start": 47082, - "end": 47095, - "length": 14, - "parent_index": 3771 - }, - "scope": 3745, - "name": "token", - "type_name": { - "id": 3775, - "node_type": 30, + { + "id": 3387, + "node_type": 44, "src": { - "line": 1352, + "line": 1245, "column": 8, - "start": 47082, - "end": 47088, - "length": 7, - "parent_index": 3774 + "start": 44484, + "end": 44493, + "length": 10, + "parent_index": 3383 }, - "name": "address", + "scope": 3382, + "name": "to", + "type_name": { + "id": 3388, + "node_type": 30, + "src": { + "line": 1245, + "column": 8, + "start": 44484, + "end": 44490, + "length": 7, + "parent_index": 3387 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, "state_mutability": 4, - "referenced_declaration": 0, "type_description": { "type_identifier": "t_address", "type_string": "address" } }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3776, - "node_type": 44, - "src": { - "line": 1353, - "column": 8, - "start": 47130, - "end": 47147, - "length": 18, - "parent_index": 3771 - }, - "scope": 3745, - "name": "srcPoolId", - "type_name": { - "id": 3777, - "node_type": 30, + { + "id": 3389, + "node_type": 44, "src": { - "line": 1353, + "line": 1246, "column": 8, - "start": 47130, - "end": 47136, - "length": 7, - "parent_index": 3776 + "start": 44504, + "end": 44517, + "length": 14, + "parent_index": 3383 }, - "name": "uint256", - "referenced_declaration": 0, + "scope": 3382, + "name": "amount", + "type_name": { + "id": 3390, + "node_type": 30, + "src": { + "line": 1246, + "column": 8, + "start": 44504, + "end": 44510, + "length": 7, + "parent_index": 3389 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" }, - "visibility": 1, - "state_mutability": 1, - "type_description": { + { + "type_identifier": "t_address", + "type_string": "address" + }, + { "type_identifier": "t_uint256", "type_string": "uint256" } + ] + }, + "return_parameters": { + "id": 3391, + "node_type": 43, + "src": { + "line": 1243, + "column": 4, + "start": 44428, + "end": 44697, + "length": 270, + "parent_index": 3382 }, - { - "id": 3778, - "node_type": 44, - "src": { - "line": 1354, - "column": 8, - "start": 47181, - "end": 47198, - "length": 18, - "parent_index": 3771 - }, - "scope": 3745, - "name": "dstPoolId", - "type_name": { - "id": 3779, - "node_type": 30, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "_transferTokens(,address,uint256)", + "signature": "f55b9955", + "scope": 3375, + "type_description": { + "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", + "type_string": "function(contract IERC20,address,uint256)" + }, + "text": "function_transferTokens(IERC20token,addressto,uint256amount)internal{if(address(token)!=address(0)){token.safeTransfer(to,amount);}else{payable(to).transfer(amount);}}" + }, + { + "id": 3410, + "name": "_transferFromToken", + "node_type": 42, + "kind": 41, + "src": { + "line": 1259, + "column": 4, + "start": 44883, + "end": 45054, + "length": 172, + "parent_index": 3375 + }, + "name_location": { + "line": 1259, + "column": 13, + "start": 44892, + "end": 44909, + "length": 18, + "parent_index": 3410 + }, + "body": { + "id": 3420, + "node_type": 46, + "kind": 0, + "src": { + "line": 1263, + "column": 15, + "start": 44992, + "end": 45054, + "length": 63, + "parent_index": 3410 + }, + "implemented": true, + "statements": [ + { + "id": 3421, + "node_type": 24, + "kind": 24, "src": { - "line": 1354, + "line": 1264, "column": 8, - "start": 47181, - "end": 47187, - "length": 7, - "parent_index": 3778 + "start": 45002, + "end": 45047, + "length": 46, + "parent_index": 3420 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "arguments": [ + { + "id": 3424, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1264, + "column": 31, + "start": 45025, + "end": 45034, + "length": 10, + "parent_index": 3421 + }, + "member_location": { + "line": 1264, + "column": 35, + "start": 45029, + "end": 45034, + "length": 6, + "parent_index": 3424 + }, + "expression": { + "id": 3425, + "node_type": 16, + "src": { + "line": 1264, + "column": 31, + "start": 45025, + "end": 45027, + "length": 3, + "parent_index": 3424 + }, + "name": "msg", + "type_description": { + "type_identifier": "t_magic_message", + "type_string": "msg" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "msg" + }, + "member_name": "sender", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "msg.sender" + }, + { + "id": 3426, + "node_type": 16, + "src": { + "line": 1264, + "column": 43, + "start": 45037, + "end": 45038, + "length": 2, + "parent_index": 3421 + }, + "name": "to", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3426, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "to" + }, + { + "id": 3427, + "node_type": 16, + "src": { + "line": 1264, + "column": 47, + "start": 45041, + "end": 45046, + "length": 6, + "parent_index": 3421 + }, + "name": "amount", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3427, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "amount" + } + ], + "expression": { + "id": 3422, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1264, + "column": 8, + "start": 45002, + "end": 45023, + "length": 22, + "parent_index": 3421 + }, + "member_location": { + "line": 1264, + "column": 14, + "start": 45008, + "end": 45023, + "length": 16, + "parent_index": 3422 + }, + "expression": { + "id": 3423, + "node_type": 16, + "src": { + "line": 1264, + "column": 8, + "start": 45002, + "end": 45006, + "length": 5, + "parent_index": 3422 + }, + "name": "token", + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + }, + "overloaded_declarations": [], + "referenced_declaration": 3423, + "is_pure": false, + "text": "token" + }, + "member_name": "safeTransferFrom", + "argument_types": [], + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + }, + "text": "token.safeTransferFrom" }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", + "type_string": "function(address,address,uint256)" } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 3411, + "node_type": 43, + "src": { + "line": 1260, + "column": 8, + "start": 44920, + "end": 44975, + "length": 56, + "parent_index": 3410 }, - { - "id": 3780, - "node_type": 44, - "src": { - "line": 1355, - "column": 8, - "start": 47232, - "end": 47246, - "length": 15, - "parent_index": 3771 - }, - "scope": 3745, - "name": "amount", - "type_name": { - "id": 3781, - "node_type": 30, + "parameters": [ + { + "id": 3412, + "node_type": 44, "src": { - "line": 1355, + "line": 1260, "column": 8, - "start": 47232, - "end": 47238, - "length": 7, - "parent_index": 3780 + "start": 44920, + "end": 44931, + "length": 12, + "parent_index": 3411 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3782, - "node_type": 44, - "src": { - "line": 1356, - "column": 8, - "start": 47276, - "end": 47293, - "length": 18, - "parent_index": 3771 - }, - "scope": 3745, - "name": "amountMin", - "type_name": { - "id": 3783, - "node_type": 30, - "src": { - "line": 1356, - "column": 8, - "start": 47276, - "end": 47282, - "length": 7, - "parent_index": 3782 + "scope": 3410, + "name": "token", + "type_name": { + "id": 3413, + "node_type": 69, + "src": { + "line": 1260, + "column": 8, + "start": 44920, + "end": 44925, + "length": 6, + "parent_index": 3412 + }, + "path_node": { + "id": 3414, + "name": "IERC20", + "node_type": 52, + "referenced_declaration": 1089, + "src": { + "line": 1260, + "column": 8, + "start": 44920, + "end": 44925, + "length": 6, + "parent_index": 3413 + }, + "name_location": { + "line": 1260, + "column": 8, + "start": 44920, + "end": 44925, + "length": 6, + "parent_index": 3413 + } + }, + "referenced_declaration": 1089, + "type_description": { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" + } }, - "name": "uint256", - "referenced_declaration": 0, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" } }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3784, - "node_type": 44, - "src": { - "line": 1357, - "column": 8, - "start": 47331, - "end": 47349, - "length": 19, - "parent_index": 3771 - }, - "scope": 3745, - "name": "dustAmount", - "type_name": { - "id": 3785, - "node_type": 30, + { + "id": 3415, + "node_type": 44, "src": { - "line": 1357, + "line": 1261, "column": 8, - "start": 47331, - "end": 47337, - "length": 7, - "parent_index": 3784 + "start": 44942, + "end": 44951, + "length": 10, + "parent_index": 3411 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3786, - "node_type": 44, - "src": { - "line": 1358, - "column": 8, - "start": 47403, - "end": 47419, - "length": 17, - "parent_index": 3771 - }, - "scope": 3745, - "name": "receiver", - "type_name": { - "id": 3787, - "node_type": 30, - "src": { - "line": 1358, - "column": 8, - "start": 47403, - "end": 47409, - "length": 7, - "parent_index": 3786 + "scope": 3410, + "name": "to", + "type_name": { + "id": 3416, + "node_type": 30, + "src": { + "line": 1261, + "column": 8, + "start": 44942, + "end": 44948, + "length": 7, + "parent_index": 3415 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "name": "address", + "storage_location": 2, + "visibility": 1, "state_mutability": 4, - "referenced_declaration": 0, "type_description": { "type_identifier": "t_address", "type_string": "address" } }, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3788, - "node_type": 44, - "src": { - "line": 1359, - "column": 8, - "start": 47456, - "end": 47466, - "length": 11, - "parent_index": 3771 - }, - "scope": 3745, - "name": "to", - "type_name": { - "id": 3789, - "node_type": 30, + { + "id": 3417, + "node_type": 44, "src": { - "line": 1359, + "line": 1262, "column": 8, - "start": 47456, - "end": 47462, - "length": 7, - "parent_index": 3788 + "start": 44962, + "end": 44975, + "length": 14, + "parent_index": 3411 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, + "scope": 3410, + "name": "amount", + "type_name": { + "id": 3418, + "node_type": 30, + "src": { + "line": 1262, + "column": 8, + "start": 44962, + "end": 44968, + "length": 7, + "parent_index": 3417 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_contract$_IERC20_$1089", + "type_string": "contract IERC20" }, - "visibility": 1, - "state_mutability": 4, - "type_description": { + { "type_identifier": "t_address", "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } + ] + }, + "return_parameters": { + "id": 3419, + "node_type": 43, + "src": { + "line": 1259, + "column": 4, + "start": 44883, + "end": 45054, + "length": 172, + "parent_index": 3410 }, - { - "id": 3790, - "node_type": 44, - "src": { - "line": 1360, - "column": 8, - "start": 47544, - "end": 47555, - "length": 12, - "parent_index": 3771 - }, - "scope": 3745, - "name": "gas", - "type_name": { - "id": 3791, - "node_type": 30, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "_transferFromToken(,address,uint256)", + "signature": "80f9ebdc", + "scope": 3375, + "type_description": { + "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", + "type_string": "function(contract IERC20,address,uint256)" + }, + "text": "function_transferFromToken(IERC20token,addressto,uint256amount)internal{token.safeTransferFrom(msg.sender,to,amount);}" + }, + { + "id": 3429, + "name": "_unwrapTransfer", + "node_type": 42, + "kind": 41, + "src": { + "line": 1270, + "column": 4, + "start": 45212, + "end": 45422, + "length": 211, + "parent_index": 3375 + }, + "name_location": { + "line": 1270, + "column": 13, + "start": 45221, + "end": 45235, + "length": 15, + "parent_index": 3429 + }, + "body": { + "id": 3436, + "node_type": 46, + "kind": 0, + "src": { + "line": 1270, + "column": 65, + "start": 45273, + "end": 45422, + "length": 150, + "parent_index": 3429 + }, + "implemented": true, + "statements": [ + { + "id": 3437, + "node_type": 24, + "kind": 24, "src": { - "line": 1360, + "line": 1271, "column": 8, - "start": 47544, - "end": 47550, - "length": 7, - "parent_index": 3790 + "start": 45283, + "end": 45343, + "length": 61, + "parent_index": 3436 + }, + "argument_types": [ + { + "type_identifier": "t_function_$_t_function_$_t_address$", + "type_string": "function(function(address))" + } + ], + "arguments": [ + { + "id": 3442, + "node_type": 24, + "kind": 24, + "src": { + "line": 1271, + "column": 30, + "start": 45305, + "end": 45342, + "length": 38, + "parent_index": 3437 + }, + "argument_types": [ + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "arguments": [ + { + "id": 3447, + "node_type": 24, + "kind": 24, + "src": { + "line": 1271, + "column": 54, + "start": 45329, + "end": 45341, + "length": 13, + "parent_index": 3442 + }, + "argument_types": [ + { + "type_identifier": "t_contract$_TokenAdapter_$3335", + "type_string": "contract TokenAdapter" + } + ], + "arguments": [ + { + "id": 3450, + "node_type": 16, + "src": { + "line": 1271, + "column": 62, + "start": 45337, + "end": 45340, + "length": 4, + "parent_index": 3447 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_TokenAdapter_$3335", + "type_string": "contract TokenAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], + "expression": { + "id": 3448, + "node_type": 16, + "src": { + "line": 1271, + "column": 54, + "start": 45329, + "end": 45335, + "length": 7, + "parent_index": 3447 + }, + "name": "address", + "type_name": { + "id": 3449, + "node_type": 30, + "src": { + "line": 1271, + "column": 54, + "start": 45329, + "end": 45335, + "length": 7, + "parent_index": 3448 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + } + ], + "expression": { + "id": 3443, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1271, + "column": 30, + "start": 45305, + "end": 45327, + "length": 23, + "parent_index": 3442 + }, + "member_location": { + "line": 1271, + "column": 44, + "start": 45319, + "end": 45327, + "length": 9, + "parent_index": 3443 + }, + "expression": { + "id": 3444, + "node_type": 24, + "kind": 24, + "src": { + "line": 1271, + "column": 30, + "start": 45305, + "end": 45317, + "length": 13, + "parent_index": 3443 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 3446, + "node_type": 16, + "src": { + "line": 1271, + "column": 37, + "start": 45312, + "end": 45316, + "length": 5, + "parent_index": 3444 + }, + "name": "token", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3446, + "is_pure": false, + "text": "token" + } + ], + "expression": { + "id": 3445, + "node_type": 16, + "src": { + "line": 1271, + "column": 30, + "start": 45305, + "end": 45310, + "length": 6, + "parent_index": 3444 + }, + "name": "IERC20", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IERC20" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + }, + "member_name": "balanceOf", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "IERC20(token).balanceOf" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_address$", + "type_string": "function(function(address))" + } + } + ], + "expression": { + "id": 3438, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1271, + "column": 8, + "start": 45283, + "end": 45303, + "length": 21, + "parent_index": 3437 + }, + "member_location": { + "line": 1271, + "column": 21, + "start": 45296, + "end": 45303, + "length": 8, + "parent_index": 3438 + }, + "expression": { + "id": 3439, + "node_type": 24, + "kind": 24, + "src": { + "line": 1271, + "column": 8, + "start": 45283, + "end": 45294, + "length": 12, + "parent_index": 3438 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 3441, + "node_type": 16, + "src": { + "line": 1271, + "column": 14, + "start": 45289, + "end": 45293, + "length": 5, + "parent_index": 3439 + }, + "name": "token", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3441, + "is_pure": false, + "text": "token" + } + ], + "expression": { + "id": 3440, + "node_type": 16, + "src": { + "line": 1271, + "column": 8, + "start": 45283, + "end": 45287, + "length": 5, + "parent_index": 3439 + }, + "name": "IWETH", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IWETH" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + }, + "member_name": "withdraw", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "IWETH(token).withdraw" }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", + "type_string": "function(function(function(address)))" } }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3792, - "node_type": 44, - "src": { - "line": 1361, - "column": 8, - "start": 47614, - "end": 47632, - "length": 19, - "parent_index": 3771 - }, - "scope": 3745, - "name": "srcContext", - "type_name": { - "id": 3793, - "node_type": 30, + { + "id": 3451, + "node_type": 24, + "kind": 24, "src": { - "line": 1361, + "line": 1272, "column": 8, - "start": 47614, - "end": 47620, - "length": 7, - "parent_index": 3792 + "start": 45354, + "end": 45415, + "length": 62, + "parent_index": 3436 }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" + "argument_types": [ + { + "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", + "type_string": "function(function(int_const 0))" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "arguments": [ + { + "id": 3453, + "node_type": 24, + "kind": 24, + "src": { + "line": 1272, + "column": 24, + "start": 45370, + "end": 45387, + "length": 18, + "parent_index": 3451 + }, + "argument_types": [ + { + "type_identifier": "t_function_$_t_rational_0_by_1$", + "type_string": "function(int_const 0)" + } + ], + "arguments": [ + { + "id": 3455, + "node_type": 24, + "kind": 24, + "src": { + "line": 1272, + "column": 31, + "start": 45377, + "end": 45386, + "length": 10, + "parent_index": 3453 + }, + "argument_types": [ + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "arguments": [ + { + "id": 3458, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1272, + "column": 39, + "start": 45385, + "end": 45385, + "length": 1, + "parent_index": 3455 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + ], + "expression": { + "id": 3456, + "node_type": 16, + "src": { + "line": 1272, + "column": 31, + "start": 45377, + "end": 45383, + "length": 7, + "parent_index": 3455 + }, + "name": "address", + "type_name": { + "id": 3457, + "node_type": 30, + "src": { + "line": 1272, + "column": 31, + "start": 45377, + "end": 45383, + "length": 7, + "parent_index": 3456 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_rational_0_by_1$", + "type_string": "function(int_const 0)" + } + } + ], + "expression": { + "id": 3454, + "node_type": 16, + "src": { + "line": 1272, + "column": 24, + "start": 45370, + "end": 45375, + "length": 6, + "parent_index": 3453 + }, + "name": "IERC20", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IERC20" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", + "type_string": "function(function(int_const 0))" + } + }, + { + "id": 3459, + "node_type": 16, + "src": { + "line": 1272, + "column": 44, + "start": 45390, + "end": 45391, + "length": 2, + "parent_index": 3451 + }, + "name": "to", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 3459, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", + "type_string": "function(function(int_const 0))" + } + ], + "text": "to" + }, + { + "id": 3460, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1272, + "column": 48, + "start": 45394, + "end": 45414, + "length": 21, + "parent_index": 3451 + }, + "member_location": { + "line": 1272, + "column": 62, + "start": 45408, + "end": 45414, + "length": 7, + "parent_index": 3460 + }, + "expression": { + "id": 3461, + "node_type": 24, + "kind": 24, + "src": { + "line": 1272, + "column": 48, + "start": 45394, + "end": 45406, + "length": 13, + "parent_index": 3460 + }, + "argument_types": [ + { + "type_identifier": "t_contract$_TokenAdapter_$3335", + "type_string": "contract TokenAdapter" + } + ], + "arguments": [ + { + "id": 3464, + "node_type": 16, + "src": { + "line": 1272, + "column": 56, + "start": 45402, + "end": 45405, + "length": 4, + "parent_index": 3461 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_TokenAdapter_$3335", + "type_string": "contract TokenAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], + "expression": { + "id": 3462, + "node_type": 16, + "src": { + "line": 1272, + "column": 48, + "start": 45394, + "end": 45400, + "length": 7, + "parent_index": 3461 + }, + "name": "address", + "type_name": { + "id": 3463, + "node_type": 30, + "src": { + "line": 1272, + "column": 48, + "start": 45394, + "end": 45400, + "length": 7, + "parent_index": 3462 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + }, + "member_name": "balance", + "argument_types": [ + { + "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", + "type_string": "function(function(int_const 0))" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "address(this).balance" + } + ], + "expression": { + "id": 3452, + "node_type": 16, + "src": { + "line": 1272, + "column": 8, + "start": 45354, + "end": 45368, + "length": 15, + "parent_index": 3451 + }, + "name": "_transferTokens", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "_transferTokens" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_function_$_t_address$", + "type_string": "function(function(function(int_const 0)),address,function(address))" + } + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 3430, + "node_type": 43, + "src": { + "line": 1270, + "column": 29, + "start": 45237, + "end": 45261, + "length": 25, + "parent_index": 3429 + }, + "parameters": [ + { + "id": 3431, + "node_type": 44, + "src": { + "line": 1270, + "column": 29, + "start": 45237, + "end": 45249, + "length": 13, + "parent_index": 3430 + }, + "scope": 3429, + "name": "token", + "type_name": { + "id": 3432, + "node_type": 30, + "src": { + "line": 1270, + "column": 29, + "start": 45237, + "end": 45243, + "length": 7, + "parent_index": 3431 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3433, + "node_type": 44, + "src": { + "line": 1270, + "column": 44, + "start": 45252, + "end": 45261, + "length": 10, + "parent_index": 3430 + }, + "scope": 3429, + "name": "to", + "type_name": { + "id": 3434, + "node_type": 30, + "src": { + "line": 1270, + "column": 44, + "start": 45252, + "end": 45258, + "length": 7, + "parent_index": 3433 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { + "id": 3435, + "node_type": 43, + "src": { + "line": 1270, + "column": 4, + "start": 45212, + "end": 45422, + "length": 211, + "parent_index": 3429 + }, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "_unwrapTransfer(address,address)", + "signature": "55203e7c", + "scope": 3375, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + }, + "text": "function_unwrapTransfer(addresstoken,addressto)internal{IWETH(token).withdraw(IERC20(token).balanceOf(address(this)));_transferTokens(IERC20(address(0)),to,address(this).balance);}" + } + ], + "linearized_base_contracts": [ + 3375, + 3373, + 3374 + ], + "base_contracts": [], + "contract_dependencies": [ + 3373, + 3374 + ] + } + ], + "src": { + "line": 1236, + "column": 0, + "start": 44188, + "end": 45424, + "length": 1237, + "parent_index": 272 + } + }, + { + "id": 3465, + "base_contracts": [], + "license": "GPL-3.0-or-later", + "exported_symbols": [ + { + "id": 3465, + "name": "ITridentRouter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentRouter.sol" + }, + { + "id": 3335, + "name": "IPool", + "absolute_path": "IPool.sol" + }, + { + "id": 3335, + "name": "IBentoBoxMinimal", + "absolute_path": "IBentoBoxMinimal.sol" + }, + { + "id": 3335, + "name": "IERC20", + "absolute_path": "IERC20.sol" + } + ], + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentRouter.sol", + "name": "ITridentRouter", + "node_type": 1, + "nodes": [ + { + "id": 3484, + "node_type": 10, + "src": { + "line": 1278, + "column": 0, + "start": 45473, + "end": 45495, + "length": 23, + "parent_index": 3465 + }, + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "text": "pragma solidity 0.8.11;" + }, + { + "id": 3506, + "node_type": 29, + "src": { + "line": 1280, + "column": 0, + "start": 45498, + "end": 45518, + "length": 21, + "parent_index": 3465 + }, + "absolute_path": "IPool.sol", + "file": "./IPool.sol", + "scope": 3465, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3335 + }, + { + "id": 3507, + "node_type": 29, + "src": { + "line": 1281, + "column": 0, + "start": 45520, + "end": 45551, + "length": 32, + "parent_index": 3465 + }, + "absolute_path": "IBentoBoxMinimal.sol", + "file": "./IBentoBoxMinimal.sol", + "scope": 3465, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3335 + }, + { + "id": 3508, + "node_type": 29, + "src": { + "line": 1282, + "column": 0, + "start": 45553, + "end": 45574, + "length": 22, + "parent_index": 3465 + }, + "absolute_path": "IERC20.sol", + "file": "./IERC20.sol", + "scope": 3465, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3335 + }, + { + "id": 3525, + "name": "ITridentRouter", + "node_type": 35, + "src": { + "line": 1285, + "column": 0, + "start": 45620, + "end": 46709, + "length": 1090, + "parent_index": 3465 + }, + "name_location": { + "line": 1285, + "column": 10, + "start": 45630, + "end": 45643, + "length": 14, + "parent_index": 3525 + }, + "abstract": false, + "kind": 38, + "fully_implemented": true, + "nodes": [ + { + "id": 3527, + "node_type": 67, + "src": { + "line": 1286, + "column": 4, + "start": 45651, + "end": 45711, + "length": 61, + "parent_index": 3465 + }, + "name": "Path", + "name_location": { + "line": 1286, + "column": 11, + "start": 45658, + "end": 45661, + "length": 4, + "parent_index": 3527 + }, + "canonical_name": "ITridentRouter.Path", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_Path_$3527", + "type_string": "struct ITridentRouter.Path" + }, + "members": [ + { + "id": 3528, + "node_type": 44, + "src": { + "line": 1287, + "column": 8, + "start": 45673, + "end": 45685, + "length": 13, + "parent_index": 3527 + }, + "scope": 3525, + "name": "pool", + "type_name": { + "id": 3529, + "node_type": 30, + "src": { + "line": 1287, + "column": 8, + "start": 45673, + "end": 45679, + "length": 7, + "parent_index": 3528 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3530, + "node_type": 44, + "src": { + "line": 1288, + "column": 8, + "start": 45695, + "end": 45705, + "length": 11, + "parent_index": 3527 + }, + "scope": 3525, + "name": "data", + "type_name": { + "id": 3531, + "node_type": 30, + "src": { + "line": 1288, + "column": 8, + "start": 45695, + "end": 45699, + "length": 5, + "parent_index": 3530 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 3533, + "node_type": 67, + "src": { + "line": 1291, + "column": 4, + "start": 45718, + "end": 45881, + "length": 164, + "parent_index": 3465 + }, + "name": "ExactInputSingleParams", + "name_location": { + "line": 1291, + "column": 11, + "start": 45725, + "end": 45746, + "length": 22, + "parent_index": 3533 + }, + "canonical_name": "ITridentRouter.ExactInputSingleParams", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputSingleParams_$3533", + "type_string": "struct ITridentRouter.ExactInputSingleParams" + }, + "members": [ + { + "id": 3534, + "node_type": 44, + "src": { + "line": 1292, + "column": 8, + "start": 45758, + "end": 45774, + "length": 17, + "parent_index": 3533 + }, + "scope": 3525, + "name": "amountIn", + "type_name": { + "id": 3535, + "node_type": 30, + "src": { + "line": 1292, + "column": 8, + "start": 45758, + "end": 45764, + "length": 7, + "parent_index": 3534 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 3536, + "node_type": 44, + "src": { + "line": 1293, + "column": 8, + "start": 45784, + "end": 45808, + "length": 25, + "parent_index": 3533 + }, + "scope": 3525, + "name": "amountOutMinimum", + "type_name": { + "id": 3537, + "node_type": 30, + "src": { + "line": 1293, + "column": 8, + "start": 45784, + "end": 45790, + "length": 7, + "parent_index": 3536 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 3538, + "node_type": 44, + "src": { + "line": 1294, + "column": 8, + "start": 45818, + "end": 45830, + "length": 13, + "parent_index": 3533 + }, + "scope": 3525, + "name": "pool", + "type_name": { + "id": 3539, + "node_type": 30, + "src": { + "line": 1294, + "column": 8, + "start": 45818, + "end": 45824, + "length": 7, + "parent_index": 3538 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3540, + "node_type": 44, + "src": { + "line": 1295, + "column": 8, + "start": 45840, + "end": 45855, + "length": 16, + "parent_index": 3533 + }, + "scope": 3525, + "name": "tokenIn", + "type_name": { + "id": 3541, + "node_type": 30, + "src": { + "line": 1295, + "column": 8, + "start": 45840, + "end": 45846, + "length": 7, + "parent_index": 3540 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3542, + "node_type": 44, + "src": { + "line": 1296, + "column": 8, + "start": 45865, + "end": 45875, + "length": 11, + "parent_index": 3533 + }, + "scope": 3525, + "name": "data", + "type_name": { + "id": 3543, + "node_type": 30, + "src": { + "line": 1296, + "column": 8, + "start": 45865, + "end": 45869, + "length": 5, + "parent_index": 3542 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 3545, + "node_type": 67, + "src": { + "line": 1299, + "column": 4, + "start": 45888, + "end": 46024, + "length": 137, + "parent_index": 3465 + }, + "name": "ExactInputParams", + "name_location": { + "line": 1299, + "column": 11, + "start": 45895, + "end": 45910, + "length": 16, + "parent_index": 3545 + }, + "canonical_name": "ITridentRouter.ExactInputParams", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "members": [ + { + "id": 3546, + "node_type": 44, + "src": { + "line": 1300, + "column": 8, + "start": 45922, + "end": 45937, + "length": 16, + "parent_index": 3545 + }, + "scope": 3525, + "name": "tokenIn", + "type_name": { + "id": 3547, + "node_type": 30, + "src": { + "line": 1300, + "column": 8, + "start": 45922, + "end": 45928, + "length": 7, + "parent_index": 3546 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3548, + "node_type": 44, + "src": { + "line": 1301, + "column": 8, + "start": 45947, + "end": 45963, + "length": 17, + "parent_index": 3545 + }, + "scope": 3525, + "name": "amountIn", + "type_name": { + "id": 3549, + "node_type": 30, + "src": { + "line": 1301, + "column": 8, + "start": 45947, + "end": 45953, + "length": 7, + "parent_index": 3548 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 3550, + "node_type": 44, + "src": { + "line": 1302, + "column": 8, + "start": 45973, + "end": 45997, + "length": 25, + "parent_index": 3545 + }, + "scope": 3525, + "name": "amountOutMinimum", + "type_name": { + "id": 3551, + "node_type": 30, + "src": { + "line": 1302, + "column": 8, + "start": 45973, + "end": 45979, + "length": 7, + "parent_index": 3550 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 3552, + "node_type": 44, + "src": { + "line": 1303, + "column": 8, + "start": 46007, + "end": 46018, + "length": 12, + "parent_index": 3545 + }, + "scope": 3525, + "name": "path", + "type_name": { + "id": 3553, + "node_type": 69, + "src": { + "line": 1303, + "column": 8, + "start": 46007, + "end": 46010, + "length": 4, + "parent_index": 3552 + }, + "name": "Path", + "path_node": { + "id": 3554, + "name": "Path", + "node_type": 52, + "referenced_declaration": 3527, + "src": { + "line": 1303, + "column": 8, + "start": 46007, + "end": 46010, + "length": 4, + "parent_index": 3553 + } + }, + "referenced_declaration": 3527, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_Path_$3527", + "type_string": "struct ITridentRouter.Path" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_Path_$3527", + "type_string": "struct ITridentRouter.Path" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 3556, + "node_type": 67, + "src": { + "line": 1306, + "column": 4, + "start": 46031, + "end": 46123, + "length": 93, + "parent_index": 3465 + }, + "name": "TokenInput", + "name_location": { + "line": 1306, + "column": 11, + "start": 46038, + "end": 46047, + "length": 10, + "parent_index": 3556 + }, + "canonical_name": "ITridentRouter.TokenInput", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_TokenInput_$3556", + "type_string": "struct ITridentRouter.TokenInput" + }, + "members": [ + { + "id": 3557, + "node_type": 44, + "src": { + "line": 1307, + "column": 8, + "start": 46059, + "end": 46072, + "length": 14, + "parent_index": 3556 + }, + "scope": 3525, + "name": "token", + "type_name": { + "id": 3558, + "node_type": 30, + "src": { + "line": 1307, + "column": 8, + "start": 46059, + "end": 46065, + "length": 7, + "parent_index": 3557 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3559, + "node_type": 44, + "src": { + "line": 1308, + "column": 8, + "start": 46082, + "end": 46093, + "length": 12, + "parent_index": 3556 + }, + "scope": 3525, + "name": "native", + "type_name": { + "id": 3560, + "node_type": 30, + "src": { + "line": 1308, + "column": 8, + "start": 46082, + "end": 46085, + "length": 4, + "parent_index": 3559 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 3561, + "node_type": 44, + "src": { + "line": 1309, + "column": 8, + "start": 46103, + "end": 46117, + "length": 15, + "parent_index": 3556 + }, + "scope": 3525, + "name": "amount", + "type_name": { + "id": 3562, + "node_type": 30, + "src": { + "line": 1309, + "column": 8, + "start": 46103, + "end": 46109, + "length": 7, + "parent_index": 3561 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 3564, + "node_type": 67, + "src": { + "line": 1312, + "column": 4, + "start": 46130, + "end": 46267, + "length": 138, + "parent_index": 3465 + }, + "name": "InitialPath", + "name_location": { + "line": 1312, + "column": 11, + "start": 46137, + "end": 46147, + "length": 11, + "parent_index": 3564 + }, + "canonical_name": "ITridentRouter.InitialPath", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3564", + "type_string": "struct ITridentRouter.InitialPath" + }, + "members": [ + { + "id": 3565, + "node_type": 44, + "src": { + "line": 1313, + "column": 8, + "start": 46159, + "end": 46174, + "length": 16, + "parent_index": 3564 + }, + "scope": 3525, + "name": "tokenIn", + "type_name": { + "id": 3566, + "node_type": 30, + "src": { + "line": 1313, + "column": 8, + "start": 46159, + "end": 46165, + "length": 7, + "parent_index": 3565 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3567, + "node_type": 44, + "src": { + "line": 1314, + "column": 8, + "start": 46184, + "end": 46196, + "length": 13, + "parent_index": 3564 + }, + "scope": 3525, + "name": "pool", + "type_name": { + "id": 3568, + "node_type": 30, + "src": { + "line": 1314, + "column": 8, + "start": 46184, + "end": 46190, + "length": 7, + "parent_index": 3567 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3569, + "node_type": 44, + "src": { + "line": 1315, + "column": 8, + "start": 46206, + "end": 46217, + "length": 12, + "parent_index": 3564 + }, + "scope": 3525, + "name": "native", + "type_name": { + "id": 3570, + "node_type": 30, + "src": { + "line": 1315, + "column": 8, + "start": 46206, + "end": 46209, + "length": 4, + "parent_index": 3569 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 3571, + "node_type": 44, + "src": { + "line": 1316, + "column": 8, + "start": 46227, + "end": 46241, + "length": 15, + "parent_index": 3564 + }, + "scope": 3525, + "name": "amount", + "type_name": { + "id": 3572, + "node_type": 30, + "src": { + "line": 1316, + "column": 8, + "start": 46227, + "end": 46233, + "length": 7, + "parent_index": 3571 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 3573, + "node_type": 44, + "src": { + "line": 1317, + "column": 8, + "start": 46251, + "end": 46261, + "length": 11, + "parent_index": 3564 + }, + "scope": 3525, + "name": "data", + "type_name": { + "id": 3574, + "node_type": 30, + "src": { + "line": 1317, + "column": 8, + "start": 46251, + "end": 46255, + "length": 5, + "parent_index": 3573 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 3576, + "node_type": 67, + "src": { + "line": 1320, + "column": 4, + "start": 46274, + "end": 46445, + "length": 172, + "parent_index": 3465 + }, + "name": "PercentagePath", + "name_location": { + "line": 1320, + "column": 11, + "start": 46281, + "end": 46294, + "length": 14, + "parent_index": 3576 + }, + "canonical_name": "ITridentRouter.PercentagePath", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3576", + "type_string": "struct ITridentRouter.PercentagePath" + }, + "members": [ + { + "id": 3577, + "node_type": 44, + "src": { + "line": 1321, + "column": 8, + "start": 46306, + "end": 46321, + "length": 16, + "parent_index": 3576 + }, + "scope": 3525, + "name": "tokenIn", + "type_name": { + "id": 3578, + "node_type": 30, + "src": { + "line": 1321, + "column": 8, + "start": 46306, + "end": 46312, + "length": 7, + "parent_index": 3577 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3579, + "node_type": 44, + "src": { + "line": 1322, + "column": 8, + "start": 46331, + "end": 46343, + "length": 13, + "parent_index": 3576 + }, + "scope": 3525, + "name": "pool", + "type_name": { + "id": 3580, + "node_type": 30, + "src": { + "line": 1322, + "column": 8, + "start": 46331, + "end": 46337, + "length": 7, + "parent_index": 3579 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3581, + "node_type": 44, + "src": { + "line": 1323, + "column": 8, + "start": 46353, + "end": 46377, + "length": 25, + "parent_index": 3576 + }, + "scope": 3525, + "name": "balancePercentage", + "type_name": { + "id": 3582, + "node_type": 30, + "src": { + "line": 1323, + "column": 8, + "start": 46353, + "end": 46358, + "length": 6, + "parent_index": 3581 + }, + "name": "uint64", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint64", + "type_string": "uint64" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint64", + "type_string": "uint64" + } + }, + { + "id": 3583, + "node_type": 44, + "src": { + "line": 1324, + "column": 8, + "start": 46429, + "end": 46439, + "length": 11, + "parent_index": 3576 + }, + "scope": 3525, + "name": "data", + "type_name": { + "id": 3584, + "node_type": 30, + "src": { + "line": 1324, + "column": 8, + "start": 46429, + "end": 46433, + "length": 5, + "parent_index": 3583 + }, + "name": "bytes", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bytes", + "type_string": "bytes" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 3586, + "node_type": 67, + "src": { + "line": 1327, + "column": 4, + "start": 46452, + "end": 46568, + "length": 117, + "parent_index": 3465 + }, + "name": "Output", + "name_location": { + "line": 1327, + "column": 11, + "start": 46459, + "end": 46464, + "length": 6, + "parent_index": 3586 + }, + "canonical_name": "ITridentRouter.Output", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_Output_$3586", + "type_string": "struct ITridentRouter.Output" + }, + "members": [ + { + "id": 3587, + "node_type": 44, + "src": { + "line": 1328, + "column": 8, + "start": 46476, + "end": 46489, + "length": 14, + "parent_index": 3586 + }, + "scope": 3525, + "name": "token", + "type_name": { + "id": 3588, + "node_type": 30, + "src": { + "line": 1328, + "column": 8, + "start": 46476, + "end": 46482, + "length": 7, + "parent_index": 3587 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3589, + "node_type": 44, + "src": { + "line": 1329, + "column": 8, + "start": 46499, + "end": 46509, + "length": 11, + "parent_index": 3586 + }, + "scope": 3525, + "name": "to", + "type_name": { + "id": 3590, + "node_type": 30, + "src": { + "line": 1329, + "column": 8, + "start": 46499, + "end": 46505, + "length": 7, + "parent_index": 3589 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 3591, + "node_type": 44, + "src": { + "line": 1330, + "column": 8, + "start": 46519, + "end": 46535, + "length": 17, + "parent_index": 3586 + }, + "scope": 3525, + "name": "unwrapBento", + "type_name": { + "id": 3592, + "node_type": 30, + "src": { + "line": 1330, + "column": 8, + "start": 46519, + "end": 46522, + "length": 4, + "parent_index": 3591 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 3593, + "node_type": 44, + "src": { + "line": 1331, + "column": 8, + "start": 46545, + "end": 46562, + "length": 18, + "parent_index": 3586 + }, + "scope": 3525, + "name": "minAmount", + "type_name": { + "id": 3594, + "node_type": 30, + "src": { + "line": 1331, + "column": 8, + "start": 46545, + "end": 46551, + "length": 7, + "parent_index": 3593 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "visibility": 3, + "storage_location": 1 + }, + { + "id": 3596, + "node_type": 67, + "src": { + "line": 1334, + "column": 4, + "start": 46575, + "end": 46707, + "length": 133, + "parent_index": 3465 + }, + "name": "ComplexPathParams", + "name_location": { + "line": 1334, + "column": 11, + "start": 46582, + "end": 46598, + "length": 17, + "parent_index": 3596 + }, + "canonical_name": "ITridentRouter.ComplexPathParams", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" + }, + "members": [ + { + "id": 3597, + "node_type": 44, + "src": { + "line": 1335, + "column": 8, + "start": 46610, + "end": 46635, + "length": 26, + "parent_index": 3596 + }, + "scope": 3525, + "name": "initialPath", + "type_name": { + "id": 3598, + "node_type": 69, + "src": { + "line": 1335, + "column": 8, + "start": 46610, + "end": 46620, + "length": 11, + "parent_index": 3597 + }, + "name": "InitialPath", + "path_node": { + "id": 3599, + "name": "InitialPath", + "node_type": 52, + "referenced_declaration": 3564, + "src": { + "line": 1335, + "column": 8, + "start": 46610, + "end": 46620, + "length": 11, + "parent_index": 3598 + } + }, + "referenced_declaration": 3564, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3564", + "type_string": "struct ITridentRouter.InitialPath" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_InitialPath_$3564", + "type_string": "struct ITridentRouter.InitialPath" + } + }, + { + "id": 3600, + "node_type": 44, + "src": { + "line": 1336, + "column": 8, + "start": 46645, + "end": 46676, + "length": 32, + "parent_index": 3596 + }, + "scope": 3525, + "name": "percentagePath", + "type_name": { + "id": 3601, + "node_type": 69, + "src": { + "line": 1336, + "column": 8, + "start": 46645, + "end": 46658, + "length": 14, + "parent_index": 3600 + }, + "name": "PercentagePath", + "path_node": { + "id": 3602, + "name": "PercentagePath", + "node_type": 52, + "referenced_declaration": 3576, + "src": { + "line": 1336, + "column": 8, + "start": 46645, + "end": 46658, + "length": 14, + "parent_index": 3601 + } + }, + "referenced_declaration": 3576, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3576", + "type_string": "struct ITridentRouter.PercentagePath" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_PercentagePath_$3576", + "type_string": "struct ITridentRouter.PercentagePath" + } + }, + { + "id": 3603, + "node_type": 44, + "src": { + "line": 1337, + "column": 8, + "start": 46686, + "end": 46701, + "length": 16, + "parent_index": 3596 + }, + "scope": 3525, + "name": "output", + "type_name": { + "id": 3604, + "node_type": 69, + "src": { + "line": 1337, + "column": 8, + "start": 46686, + "end": 46691, + "length": 6, + "parent_index": 3603 + }, + "name": "Output", + "path_node": { + "id": 3605, + "name": "Output", + "node_type": 52, + "referenced_declaration": 3586, + "src": { + "line": 1337, + "column": 8, + "start": 46686, + "end": 46691, + "length": 6, + "parent_index": 3604 + } + }, + "referenced_declaration": 3586, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_Output_$3586", + "type_string": "struct ITridentRouter.Output" + } + }, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_Output_$3586", + "type_string": "struct ITridentRouter.Output" + } + } + ], + "visibility": 3, + "storage_location": 1 + } + ], + "linearized_base_contracts": [ + 3525, + 3506, + 3507, + 3508 + ], + "base_contracts": [], + "contract_dependencies": [ + 3506, + 3507, + 3508 + ] + } + ], + "src": { + "line": 1285, + "column": 0, + "start": 45620, + "end": 46709, + "length": 1090, + "parent_index": 272 + } + }, + { + "id": 3606, + "base_contracts": [], + "license": "GPL-3.0-or-later", + "exported_symbols": [ + { + "id": 3606, + "name": "ITridentSwapAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentSwapAdapter.sol" + }, + { + "id": 3465, + "name": "ITridentRouter", + "absolute_path": "ITridentRouter.sol" + }, + { + "id": 3465, + "name": "BentoAdapter", + "absolute_path": "BentoAdapter.sol" + }, + { + "id": 3465, + "name": "TokenAdapter", + "absolute_path": "TokenAdapter.sol" + }, + { + "id": 3465, + "name": "ImmutableState", + "absolute_path": "ImmutableState.sol" + } + ], + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentSwapAdapter.sol", + "name": "ITridentSwapAdapter", + "node_type": 1, + "nodes": [ + { + "id": 3626, + "node_type": 10, + "src": { + "line": 1343, + "column": 0, + "start": 46758, + "end": 46780, + "length": 23, + "parent_index": 3606 + }, + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "text": "pragma solidity 0.8.11;" + }, + { + "id": 3651, + "node_type": 29, + "src": { + "line": 1345, + "column": 0, + "start": 46783, + "end": 46812, + "length": 30, + "parent_index": 3606 + }, + "absolute_path": "ITridentRouter.sol", + "file": "./ITridentRouter.sol", + "scope": 3606, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3465 + }, + { + "id": 3652, + "node_type": 29, + "src": { + "line": 1346, + "column": 0, + "start": 46814, + "end": 46841, + "length": 28, + "parent_index": 3606 + }, + "absolute_path": "BentoAdapter.sol", + "file": "./BentoAdapter.sol", + "scope": 3606, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3465 + }, + { + "id": 3653, + "node_type": 29, + "src": { + "line": 1347, + "column": 0, + "start": 46843, + "end": 46870, + "length": 28, + "parent_index": 3606 + }, + "absolute_path": "TokenAdapter.sol", + "file": "./TokenAdapter.sol", + "scope": 3606, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3465 + }, + { + "id": 3654, + "node_type": 29, + "src": { + "line": 1348, + "column": 0, + "start": 46872, + "end": 46901, + "length": 30, + "parent_index": 3606 + }, + "absolute_path": "ImmutableState.sol", + "file": "./ImmutableState.sol", + "scope": 3606, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3465 + }, + { + "id": 3667, + "name": "ITridentSwapAdapter", + "node_type": 35, + "src": { + "line": 1350, + "column": 0, + "start": 46904, + "end": 46935, + "length": 32, + "parent_index": 3606 + }, + "name_location": { + "line": 1350, + "column": 10, + "start": 46914, + "end": 46932, + "length": 19, + "parent_index": 3667 + }, + "abstract": false, + "kind": 38, + "fully_implemented": true, + "nodes": [], + "linearized_base_contracts": [ + 3667, + 3651, + 3652, + 3653, + 3654 + ], + "base_contracts": [], + "contract_dependencies": [ + 3651, + 3652, + 3653, + 3654 + ] + } + ], + "src": { + "line": 1350, + "column": 0, + "start": 46904, + "end": 46935, + "length": 32, + "parent_index": 272 + } + }, + { + "id": 3668, + "base_contracts": [ + { + "id": 3720, + "node_type": 62, + "src": { + "line": 1362, + "column": 4, + "start": 47169, + "end": 47182, + "length": 14, + "parent_index": 3719 + }, + "base_name": { + "id": 3721, + "node_type": 52, + "src": { + "line": 1362, + "column": 4, + "start": 47169, + "end": 47182, + "length": 14, + "parent_index": 3719 + }, + "name": "ITridentRouter", + "referenced_declaration": 3465 + } + }, + { + "id": 3722, + "node_type": 62, + "src": { + "line": 1363, + "column": 4, + "start": 47189, + "end": 47202, + "length": 14, + "parent_index": 3719 + }, + "base_name": { + "id": 3723, + "node_type": 52, + "src": { + "line": 1363, + "column": 4, + "start": 47189, + "end": 47202, + "length": 14, + "parent_index": 3719 + }, + "name": "ImmutableState", + "referenced_declaration": 948 + } + }, + { + "id": 3724, + "node_type": 62, + "src": { + "line": 1364, + "column": 4, + "start": 47209, + "end": 47220, + "length": 12, + "parent_index": 3719 + }, + "base_name": { + "id": 3725, + "node_type": 52, + "src": { + "line": 1364, + "column": 4, + "start": 47209, + "end": 47220, + "length": 12, + "parent_index": 3719 + }, + "name": "BentoAdapter", + "referenced_declaration": 1018 + } + }, + { + "id": 3726, + "node_type": 62, + "src": { + "line": 1365, + "column": 4, + "start": 47227, + "end": 47238, + "length": 12, + "parent_index": 3719 + }, + "base_name": { + "id": 3727, + "node_type": 52, + "src": { + "line": 1365, + "column": 4, + "start": 47227, + "end": 47238, + "length": 12, + "parent_index": 3719 + }, + "name": "TokenAdapter", + "referenced_declaration": 3335 + } + } + ], + "license": "GPL-3.0-or-later", + "exported_symbols": [ + { + "id": 3668, + "name": "TridentSwapAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TridentSwapAdapter.sol" + }, + { + "id": 3606, + "name": "ITridentRouter", + "absolute_path": "ITridentRouter.sol" + }, + { + "id": 3606, + "name": "BentoAdapter", + "absolute_path": "BentoAdapter.sol" + }, + { + "id": 3606, + "name": "TokenAdapter", + "absolute_path": "TokenAdapter.sol" + }, + { + "id": 3606, + "name": "ImmutableState", + "absolute_path": "ImmutableState.sol" + }, + { + "id": 3606, + "name": "ITridentSwapAdapter", + "absolute_path": "ITridentSwapAdapter.sol" + } + ], + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TridentSwapAdapter.sol", + "name": "TridentSwapAdapter", + "node_type": 1, + "nodes": [ + { + "id": 3689, + "node_type": 10, + "src": { + "line": 1354, + "column": 0, + "start": 46984, + "end": 47006, + "length": 23, + "parent_index": 3668 + }, + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "text": "pragma solidity 0.8.11;" + }, + { + "id": 3714, + "node_type": 29, + "src": { + "line": 1345, + "column": 0, + "start": 46783, + "end": 46812, + "length": 30, + "parent_index": 3668 + }, + "absolute_path": "ITridentRouter.sol", + "file": "./ITridentRouter.sol", + "scope": 3668, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3606 + }, + { + "id": 3715, + "node_type": 29, + "src": { + "line": 1346, + "column": 0, + "start": 46814, + "end": 46841, + "length": 28, + "parent_index": 3668 + }, + "absolute_path": "BentoAdapter.sol", + "file": "./BentoAdapter.sol", + "scope": 3668, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3606 + }, + { + "id": 3716, + "node_type": 29, + "src": { + "line": 1347, + "column": 0, + "start": 46843, + "end": 46870, + "length": 28, + "parent_index": 3668 + }, + "absolute_path": "TokenAdapter.sol", + "file": "./TokenAdapter.sol", + "scope": 3668, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3606 + }, + { + "id": 3717, + "node_type": 29, + "src": { + "line": 1348, + "column": 0, + "start": 46872, + "end": 46901, + "length": 30, + "parent_index": 3668 + }, + "absolute_path": "ImmutableState.sol", + "file": "./ImmutableState.sol", + "scope": 3668, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3606 + }, + { + "id": 3718, + "node_type": 29, + "src": { + "line": 1356, + "column": 0, + "start": 47009, + "end": 47043, + "length": 35, + "parent_index": 3668 + }, + "absolute_path": "ITridentSwapAdapter.sol", + "file": "./ITridentSwapAdapter.sol", + "scope": 3668, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 3606 + }, + { + "id": 3719, + "name": "TridentSwapAdapter", + "node_type": 35, + "src": { + "line": 1361, + "column": 0, + "start": 47125, + "end": 52109, + "length": 4985, + "parent_index": 3668 + }, + "name_location": { + "line": 1361, + "column": 18, + "start": 47143, + "end": 47160, + "length": 18, + "parent_index": 3719 + }, + "abstract": false, + "kind": 36, + "fully_implemented": true, + "nodes": [ + { + "id": 3729, + "node_type": 77, + "src": { + "line": 1368, + "column": 4, + "start": 47266, + "end": 47291, + "length": 26, + "parent_index": 3719 + }, + "name": "TooLittleReceived", + "name_location": { + "line": 1368, + "column": 10, + "start": 47272, + "end": 47288, + "length": 17, + "parent_index": 3729 + }, + "parameters": { + "id": 3730, + "node_type": 43, + "src": { + "line": 1368, + "column": 4, + "start": 47266, + "end": 47291, + "length": 26, + "parent_index": 3729 + }, + "parameters": [], + "parameter_types": [] + }, + "type_description": { + "type_identifier": "t_error$_TridentSwapAdapter_TooLittleReceived_$3729", + "type_string": "error TridentSwapAdapter.TooLittleReceived" + } + }, + { + "id": 3732, + "name": "_exactInput", + "node_type": 42, + "kind": 41, + "src": { + "line": 1374, + "column": 4, + "start": 47678, + "end": 49059, + "length": 1382, + "parent_index": 3719 + }, + "name_location": { + "line": 1374, + "column": 13, + "start": 47687, + "end": 47697, + "length": 11, + "parent_index": 3732 + }, + "body": { + "id": 3740, + "node_type": 46, + "kind": 0, + "src": { + "line": 1377, + "column": 4, + "start": 47788, + "end": 49059, + "length": 1272, + "parent_index": 3732 + }, + "implemented": true, + "statements": [ + { + "id": 3741, + "node_type": 48, + "src": { + "line": 1378, + "column": 0, + "start": 47798, + "end": 48357, + "length": 560, + "parent_index": 3740 + }, + "condition": { + "id": 3742, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1378, + "column": 12, + "start": 47802, + "end": 47821, + "length": 20, + "parent_index": 3741 + }, + "operator": 11, + "left_expression": { + "id": 3743, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1378, + "column": 12, + "start": 47802, + "end": 47816, + "length": 15, + "parent_index": 3742 + }, + "member_location": { + "line": 1378, + "column": 19, + "start": 47809, + "end": 47816, + "length": 8, + "parent_index": 3743 + }, + "expression": { + "id": 3744, + "node_type": 16, + "src": { + "line": 1378, + "column": 12, + "start": 47802, + "end": 47807, + "length": 6, + "parent_index": 3743 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 3744, + "is_pure": false, + "text": "params" + }, + "member_name": "amountIn", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "text": "params.amountIn" + }, + "right_expression": { + "id": 3745, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1378, + "column": 31, + "start": 47821, + "end": 47821, + "length": 1, + "parent_index": 3742 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 3746, + "node_type": 46, + "kind": 0, + "src": { + "line": 1378, + "column": 34, + "start": 47824, + "end": 48357, + "length": 534, + "parent_index": 3732 + }, + "implemented": true, + "statements": [ + { + "id": 3747, + "node_type": 44, + "src": { + "line": 1379, + "column": 10, + "start": 47836, + "end": 47936, + "length": 101, + "parent_index": 3746 + }, + "assignments": [ + 3748 + ], + "declarations": [ + { + "id": 3748, + "state_mutability": 1, + "name": "tokenBalance", + "node_type": 44, + "scope": 3746, + "src": { + "line": 1379, + "column": 10, + "start": 47836, + "end": 47855, + "length": 20, + "parent_index": 3747 + }, + "name_location": { + "line": 1379, + "column": 18, + "start": 47844, + "end": 47855, + "length": 12, + "parent_index": 3748 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3749, + "node_type": 30, + "src": { + "line": 1379, + "column": 10, + "start": 47836, + "end": 47842, + "length": 7, + "parent_index": 3748 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3750, + "node_type": 24, + "kind": 24, + "src": { + "line": 1379, + "column": 33, + "start": 47859, + "end": 47935, + "length": 77, + "parent_index": 3747 + }, + "argument_types": [ + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "arguments": [ + { + "id": 3756, + "node_type": 24, + "kind": 24, + "src": { + "line": 1380, + "column": 16, + "start": 47909, + "end": 47921, + "length": 13, + "parent_index": 3750 + }, + "argument_types": [ + { + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" + } + ], + "arguments": [ + { + "id": 3759, + "node_type": 16, + "src": { + "line": 1380, + "column": 24, + "start": 47917, + "end": 47920, + "length": 4, + "parent_index": 3756 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], + "expression": { + "id": 3757, + "node_type": 16, + "src": { + "line": 1380, + "column": 16, + "start": 47909, + "end": 47915, + "length": 7, + "parent_index": 3756 + }, + "name": "address", + "type_name": { + "id": 3758, + "node_type": 30, + "src": { + "line": 1380, + "column": 16, + "start": 47909, + "end": 47915, + "length": 7, + "parent_index": 3757 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + } + ], + "expression": { + "id": 3751, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1379, + "column": 33, + "start": 47859, + "end": 47890, + "length": 32, + "parent_index": 3750 + }, + "member_location": { + "line": 1379, + "column": 56, + "start": 47882, + "end": 47890, + "length": 9, + "parent_index": 3751 + }, + "expression": { + "id": 3752, + "node_type": 24, + "kind": 24, + "src": { + "line": 1379, + "column": 33, + "start": 47859, + "end": 47880, + "length": 22, + "parent_index": 3751 + }, + "argument_types": [ + { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + } + ], + "arguments": [ + { + "id": 3754, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1379, + "column": 40, + "start": 47866, + "end": 47879, + "length": 14, + "parent_index": 3752 + }, + "member_location": { + "line": 1379, + "column": 47, + "start": 47873, + "end": 47879, + "length": 7, + "parent_index": 3754 + }, + "expression": { + "id": 3755, + "node_type": 16, + "src": { + "line": 1379, + "column": 40, + "start": 47866, + "end": 47871, + "length": 6, + "parent_index": 3754 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 3755, + "is_pure": false, + "text": "params" + }, + "member_name": "tokenIn", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "text": "params.tokenIn" + } + ], + "expression": { + "id": 3753, + "node_type": 16, + "src": { + "line": 1379, + "column": 33, + "start": 47859, + "end": 47864, + "length": 6, + "parent_index": 3752 + }, + "name": "IERC20", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IERC20" + }, + "type_description": { + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "type_string": "function(struct ITridentRouter.ExactInputParams)" + } + }, + "member_name": "balanceOf", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "type_string": "function(struct ITridentRouter.ExactInputParams)" + }, + "text": "IERC20(params.tokenIn).balanceOf" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_address$", + "type_string": "function(function(address))" + } + } + }, + { + "id": 3760, + "node_type": 24, + "kind": 24, + "src": { + "line": 1382, + "column": 12, + "start": 47950, + "end": 48083, + "length": 134, + "parent_index": 3746 + }, + "argument_types": [ + { + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "type_string": "function(struct ITridentRouter.ExactInputParams)" + }, + { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "arguments": [ + { + "id": 3762, + "node_type": 24, + "kind": 24, + "src": { + "line": 1383, + "column": 16, + "start": 47983, + "end": 48004, + "length": 22, + "parent_index": 3760 + }, + "argument_types": [ + { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + } + ], + "arguments": [ + { + "id": 3764, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1383, + "column": 23, + "start": 47990, + "end": 48003, + "length": 14, + "parent_index": 3762 + }, + "member_location": { + "line": 1383, + "column": 30, + "start": 47997, + "end": 48003, + "length": 7, + "parent_index": 3764 + }, + "expression": { + "id": 3765, + "node_type": 16, + "src": { + "line": 1383, + "column": 23, + "start": 47990, + "end": 47995, + "length": 6, + "parent_index": 3764 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 3765, + "is_pure": false, + "text": "params" + }, + "member_name": "tokenIn", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "text": "params.tokenIn" + } + ], + "expression": { + "id": 3763, + "node_type": 16, + "src": { + "line": 1383, + "column": 16, + "start": 47983, + "end": 47988, + "length": 6, + "parent_index": 3762 + }, + "name": "IERC20", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IERC20" + }, + "type_description": { + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "type_string": "function(struct ITridentRouter.ExactInputParams)" + } + }, + { + "id": 3766, + "node_type": 24, + "kind": 24, + "src": { + "line": 1384, + "column": 16, + "start": 48023, + "end": 48039, + "length": 17, + "parent_index": 3760 + }, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "arguments": [ + { + "id": 3769, + "node_type": 16, + "src": { + "line": 1384, + "column": 24, + "start": 48031, + "end": 48038, + "length": 8, + "parent_index": 3766 + }, + "name": "bentoBox", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "bentoBox" + } + ], + "expression": { + "id": 3767, + "node_type": 16, + "src": { + "line": 1384, + "column": 16, + "start": 48023, + "end": 48029, + "length": 7, + "parent_index": 3766 + }, + "name": "address", + "type_name": { + "id": 3768, + "node_type": 30, + "src": { + "line": 1384, + "column": 16, + "start": 48023, + "end": 48029, + "length": 7, + "parent_index": 3767 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + }, + { + "id": 3770, + "node_type": 16, + "src": { + "line": 1385, + "column": 16, + "start": 48058, + "end": 48069, + "length": 12, + "parent_index": 3760 + }, + "name": "tokenBalance", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3747, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "type_string": "function(struct ITridentRouter.ExactInputParams)" + }, + { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + ], + "text": "tokenBalance" + } + ], + "expression": { + "id": 3761, + "node_type": 16, + "src": { + "line": 1382, + "column": 12, + "start": 47950, + "end": 47964, + "length": 15, + "parent_index": 3760 + }, + "name": "_transferTokens", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "_transferTokens" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$_t_function_$_t_function_$_t_uint256$", + "type_string": "function(function(struct ITridentRouter.ExactInputParams),function(function()),uint256)" + } + }, + { + "id": 3771, + "node_type": 27, + "src": { + "line": 1388, + "column": 12, + "start": 48142, + "end": 48347, + "length": 206, + "parent_index": 3746 + }, + "expression": { + "id": 3772, + "node_type": 27, + "src": { + "line": 1388, + "column": 12, + "start": 48142, + "end": 48346, + "length": 205, + "parent_index": 3771 + }, + "operator": 11, + "left_expression": { + "id": 3773, + "node_type": 60, + "src": { + "line": 1388, + "column": 12, + "start": 48142, + "end": 48160, + "length": 19, + "parent_index": 3772 + }, + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 3774, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1388, + "column": 15, + "start": 48145, + "end": 48159, + "length": 15, + "parent_index": 3773 + }, + "member_location": { + "line": 1388, + "column": 22, + "start": 48152, + "end": 48159, + "length": 8, + "parent_index": 3774 + }, + "expression": { + "id": 3775, + "node_type": 16, + "src": { + "line": 1388, + "column": 15, + "start": 48145, + "end": 48150, + "length": 6, + "parent_index": 3774 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 3775, + "is_pure": false, + "text": "params" + }, + "member_name": "amountIn", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "text": "params.amountIn" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "type_string": "tuple(struct ITridentRouter.ExactInputParams)" + } + }, + "right_expression": { + "id": 3776, + "node_type": 24, + "kind": 24, + "src": { + "line": 1388, + "column": 34, + "start": 48164, + "end": 48346, + "length": 183, + "parent_index": 3772 + }, + "argument_types": [ + { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + }, + { + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "arguments": [ + { + "id": 3779, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1389, + "column": 16, + "start": 48198, + "end": 48211, + "length": 14, + "parent_index": 3776 + }, + "member_location": { + "line": 1389, + "column": 23, + "start": 48205, + "end": 48211, + "length": 7, + "parent_index": 3779 + }, + "expression": { + "id": 3780, + "node_type": 16, + "src": { + "line": 1389, + "column": 16, + "start": 48198, + "end": 48203, + "length": 6, + "parent_index": 3779 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 3780, + "is_pure": false, + "text": "params" + }, + "member_name": "tokenIn", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "text": "params.tokenIn" + }, + { + "id": 3781, + "node_type": 24, + "kind": 24, + "src": { + "line": 1390, + "column": 16, + "start": 48230, + "end": 48246, + "length": 17, + "parent_index": 3776 + }, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "arguments": [ + { + "id": 3784, + "node_type": 16, + "src": { + "line": 1390, + "column": 24, + "start": 48238, + "end": 48245, + "length": 8, + "parent_index": 3781 + }, + "name": "bentoBox", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "bentoBox" + } + ], + "expression": { + "id": 3782, + "node_type": 16, + "src": { + "line": 1390, + "column": 16, + "start": 48230, + "end": 48236, + "length": 7, + "parent_index": 3781 + }, + "name": "address", + "type_name": { + "id": 3783, + "node_type": 30, + "src": { + "line": 1390, + "column": 16, + "start": 48230, + "end": 48236, + "length": 7, + "parent_index": 3782 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + }, + { + "id": 3785, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1391, + "column": 16, + "start": 48265, + "end": 48283, + "length": 19, + "parent_index": 3776 + }, + "member_location": { + "line": 1391, + "column": 31, + "start": 48280, + "end": 48283, + "length": 4, + "parent_index": 3785 + }, + "expression": { + "id": 3786, + "node_type": 22, + "src": { + "line": 1391, + "column": 16, + "start": 48265, + "end": 48278, + "length": 14, + "parent_index": 3785 + }, + "index_expression": { + "id": 3787, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1391, + "column": 16, + "start": 48265, + "end": 48275, + "length": 11, + "parent_index": 3786 + }, + "member_location": { + "line": 1391, + "column": 23, + "start": 48272, + "end": 48275, + "length": 4, + "parent_index": 3787 + }, + "expression": { + "id": 3788, + "node_type": 16, + "src": { + "line": 1391, + "column": 16, + "start": 48265, + "end": 48270, + "length": 6, + "parent_index": 3787 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 3788, + "is_pure": false, + "text": "params" + }, + "member_name": "path", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "text": "params.path" + }, + "base_expression": { + "id": 3789, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1391, + "column": 28, + "start": 48277, + "end": 48277, + "length": 1, + "parent_index": 3786 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + } + }, + "member_name": "pool", + "argument_types": [ + { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + }, + "text": "params.path[0].pool" + }, + { + "id": 3790, + "node_type": 16, + "src": { + "line": 1392, + "column": 16, + "start": 48302, + "end": 48313, + "length": 12, + "parent_index": 3776 + }, + "name": "tokenBalance", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3747, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + }, + { + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + } + ], + "text": "tokenBalance" + }, + { + "id": 3791, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1393, + "column": 16, + "start": 48332, + "end": 48332, + "length": 1, + "parent_index": 3776 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + }, + { + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "0" + } + ], + "expression": { + "id": 3777, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1388, + "column": 34, + "start": 48164, + "end": 48179, + "length": 16, + "parent_index": 3776 + }, + "member_location": { + "line": 1388, + "column": 43, + "start": 48173, + "end": 48179, + "length": 7, + "parent_index": 3777 + }, + "expression": { + "id": 3778, + "node_type": 16, + "src": { + "line": 1388, + "column": 34, + "start": 48164, + "end": 48171, + "length": 8, + "parent_index": 3777 + }, + "name": "bentoBox", + "type_description": { + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" + }, + "overloaded_declarations": [], + "referenced_declaration": 963, + "is_pure": false, + "text": "bentoBox" + }, + "member_name": "deposit", + "argument_types": [], + "type_description": { + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" + }, + "text": "bentoBox.deposit" + }, + "type_description": { + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$_t_function_$_t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$_t_uint256$_t_rational_0_by_1$", + "type_string": "function(struct ITridentRouter.ExactInputParams,function(function()),index[struct ITridentRouter.ExactInputParams:int_const 0],uint256,int_const 0)" + } + }, + "type_description": { + "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "type_string": "tuple(struct ITridentRouter.ExactInputParams)" + } + }, + "type_description": { + "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "type_string": "tuple(struct ITridentRouter.ExactInputParams)" + }, + "text": "(,params.amountIn)=bentoBox.deposit(params.tokenIn,address(bentoBox),params.path[0].pool,tokenBalance,0);" + } + ] } }, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - } - ], - "visibility": 3, - "storage_location": 1 - }, - { - "id": 3795, - "name": "approveToStargateRouter", - "node_type": 42, - "kind": 41, - "src": { - "line": 1366, - "column": 4, - "start": 47773, - "end": 47906, - "length": 134, - "parent_index": 3745 - }, - "name_location": { - "line": 1366, - "column": 13, - "start": 47782, - "end": 47804, - "length": 23, - "parent_index": 3795 - }, - "body": { - "id": 3801, - "node_type": 46, - "kind": 0, - "src": { - "line": 1366, - "column": 60, - "start": 47829, - "end": 47906, - "length": 78, - "parent_index": 3795 - }, - "implemented": true, - "statements": [ { - "id": 3802, - "node_type": 24, - "kind": 24, + "id": 3792, + "node_type": 44, "src": { - "line": 1367, + "line": 1402, "column": 8, - "start": 47839, - "end": 47899, - "length": 61, - "parent_index": 3801 + "start": 48711, + "end": 48741, + "length": 31, + "parent_index": 3740 }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - }, - { - "type_identifier": "", - "type_string": "type" - } + "assignments": [ + 3793 ], - "arguments": [ + "declarations": [ { - "id": 3805, - "node_type": 24, - "kind": 24, + "id": 3793, + "state_mutability": 1, + "name": "n", + "node_type": 44, + "scope": 3740, "src": { - "line": 1367, - "column": 26, - "start": 47857, - "end": 47879, - "length": 23, - "parent_index": 3802 + "line": 1402, + "column": 8, + "start": 48711, + "end": 48719, + "length": 9, + "parent_index": 3792 }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "arguments": [ - { - "id": 3808, - "node_type": 16, - "src": { - "line": 1367, - "column": 34, - "start": 47865, - "end": 47878, - "length": 14, - "parent_index": 3805 - }, - "name": "stargateRouter", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3806, - "node_type": 16, + "name_location": { + "line": 1402, + "column": 16, + "start": 48719, + "end": 48719, + "length": 1, + "parent_index": 3793 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3794, + "node_type": 30, "src": { - "line": 1367, - "column": 26, - "start": 47857, - "end": 47863, + "line": 1402, + "column": 8, + "start": 48711, + "end": 48717, "length": 7, - "parent_index": 3805 - }, - "name": "address", - "type_name": { - "id": 3807, - "node_type": 30, - "src": { - "line": 1367, - "column": 26, - "start": 47857, - "end": 47863, - "length": 7, - "parent_index": 3806 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "parent_index": 3793 }, - "overloaded_declarations": [], + "name": "uint256", "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } + "visibility": 1 + } + ], + "initial_value": { + "id": 3795, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1402, + "column": 20, + "start": 48723, + "end": 48740, + "length": 18, + "parent_index": 3792 }, - { - "id": 3809, + "member_location": { + "line": 1402, + "column": 32, + "start": 48735, + "end": 48740, + "length": 6, + "parent_index": 3795 + }, + "expression": { + "id": 3796, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1367, - "column": 51, - "start": 47882, - "end": 47898, - "length": 17, - "parent_index": 3802 + "line": 1402, + "column": 20, + "start": 48723, + "end": 48733, + "length": 11, + "parent_index": 3792 }, "member_location": { - "line": 1367, - "column": 65, - "start": 47896, - "end": 47898, - "length": 3, - "parent_index": 3809 + "line": 1402, + "column": 27, + "start": 48730, + "end": 48733, + "length": 4, + "parent_index": 3796 }, "expression": { - "id": 3810, + "id": 3797, "node_type": 16, - "name": "type", "src": { - "line": 1367, - "column": 51, - "start": 47882, - "end": 47894, - "length": 13, - "parent_index": 3809 + "line": 1402, + "column": 20, + "start": 48723, + "end": 48728, + "length": 6, + "parent_index": 3796 }, + "name": "params", "type_description": { - "type_identifier": "", - "type_string": "type" - } + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 3797, + "is_pure": false, + "text": "params" }, - "member_name": "max", - "argument_types": [ - { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } - ], + "member_name": "path", + "argument_types": [], "type_description": { - "type_identifier": "", - "type_string": "type" + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "text": "params.path" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "text": "params.path.length" + } + }, + { + "id": 3798, + "node_type": 79, + "src": { + "line": 1403, + "column": 0, + "start": 48751, + "end": 48885, + "length": 135, + "parent_index": 3740 + }, + "initialiser": { + "id": 3799, + "node_type": 44, + "src": { + "line": 1403, + "column": 13, + "start": 48756, + "end": 48769, + "length": 14, + "parent_index": 3740 + }, + "assignments": [ + 3800 + ], + "declarations": [ + { + "id": 3800, + "state_mutability": 1, + "name": "i", + "node_type": 44, + "scope": 3740, + "src": { + "line": 1403, + "column": 13, + "start": 48756, + "end": 48764, + "length": 9, + "parent_index": 3799 + }, + "name_location": { + "line": 1403, + "column": 21, + "start": 48764, + "end": 48764, + "length": 1, + "parent_index": 3800 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3801, + "node_type": 30, + "src": { + "line": 1403, + "column": 13, + "start": 48756, + "end": 48762, + "length": 7, + "parent_index": 3800 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 } + ], + "initial_value": { + "id": 3802, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1403, + "column": 25, + "start": 48768, + "end": 48768, + "length": 1, + "parent_index": 3799 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" } - ], - "expression": { + }, + "condition": { "id": 3803, "is_constant": false, - "is_l_value": false, "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "node_type": 19, "src": { - "line": 1367, - "column": 8, - "start": 47839, - "end": 47855, - "length": 17, - "parent_index": 3802 - }, - "member_location": { - "line": 1367, - "column": 14, - "start": 47845, - "end": 47855, - "length": 11, - "parent_index": 3803 + "line": 1403, + "column": 28, + "start": 48771, + "end": 48775, + "length": 5, + "parent_index": 3798 }, - "expression": { + "operator": 9, + "left_expression": { "id": 3804, "node_type": 16, "src": { - "line": 1367, - "column": 8, - "start": 47839, - "end": 47843, - "length": 5, + "line": 1403, + "column": 28, + "start": 48771, + "end": 48771, + "length": 1, "parent_index": 3803 }, - "name": "token", + "name": "i", "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3804, - "is_pure": false - }, - "member_name": "safeApprove", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_$", - "type_string": "function(function(function()),type)" - } - } - ] - }, - "implemented": true, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 3796, - "node_type": 43, - "src": { - "line": 1366, - "column": 37, - "start": 47806, - "end": 47817, - "length": 12, - "parent_index": 3795 - }, - "parameters": [ - { - "id": 3797, - "node_type": 44, - "src": { - "line": 1366, - "column": 37, - "start": 47806, - "end": 47817, - "length": 12, - "parent_index": 3796 - }, - "scope": 3795, - "name": "token", - "type_name": { - "id": 3798, - "node_type": 69, - "src": { - "line": 1366, - "column": 37, - "start": 47806, - "end": 47811, - "length": 6, - "parent_index": 3797 + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, - "path_node": { - "id": 3799, - "name": "IERC20", - "node_type": 52, - "referenced_declaration": 1089, + "right_expression": { + "id": 3805, + "node_type": 16, "src": { - "line": 1366, - "column": 37, - "start": 47806, - "end": 47811, - "length": 6, - "parent_index": 3798 + "line": 1403, + "column": 32, + "start": 48775, + "end": 48775, + "length": 1, + "parent_index": 3803 }, - "name_location": { - "line": 1366, - "column": 37, - "start": 47806, - "end": 47811, - "length": 6, - "parent_index": 3798 - } + "name": "n", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3792, + "is_pure": false, + "text": "n" }, - "referenced_declaration": 1089, "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" + "type_identifier": "t_bool", + "type_string": "bool" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_contract$_IERC20_$1089", - "type_string": "contract IERC20" - } - ] - }, - "return_parameters": { - "id": 3800, - "node_type": 43, - "src": { - "line": 1366, - "column": 4, - "start": 47773, - "end": 47906, - "length": 134, - "parent_index": 3795 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "approveToStargateRouter()", - "signature": "4c6e98b7", - "scope": 3745, - "type_description": { - "type_identifier": "t_function_$_t_contract$_IERC20_$1089$", - "type_string": "function(contract IERC20)" - } - }, - { - "id": 3812, - "name": "_stargateTeleport", - "node_type": 42, - "kind": 41, - "src": { - "line": 1377, - "column": 4, - "start": 48546, - "end": 49609, - "length": 1064, - "parent_index": 3745 - }, - "name_location": { - "line": 1377, - "column": 13, - "start": 48555, - "end": 48571, - "length": 17, - "parent_index": 3812 - }, - "body": { - "id": 3824, - "node_type": 46, - "kind": 0, - "src": { - "line": 1382, - "column": 15, - "start": 48729, - "end": 49609, - "length": 881, - "parent_index": 3812 - }, - "implemented": true, - "statements": [ - { - "id": 3825, - "node_type": 44, - "src": { - "line": 1383, - "column": 8, - "start": 48739, - "end": 48826, - "length": 88, - "parent_index": 3824 - }, - "assignments": [ - 3826 - ], - "declarations": [ - { - "id": 3826, - "state_mutability": 1, - "name": "payload", - "node_type": 44, - "scope": 3824, - "src": { - "line": 1383, - "column": 8, - "start": 48739, - "end": 48758, - "length": 20, - "parent_index": 3825 - }, - "name_location": { - "line": 1383, - "column": 21, - "start": 48752, - "end": 48758, - "length": 7, - "parent_index": 3826 - }, - "is_state_variable": false, - "storage_location": 2, - "type_name": { - "id": 3827, - "node_type": 30, - "src": { - "line": 1383, - "column": 8, - "start": 48739, - "end": 48743, - "length": 5, - "parent_index": 3826 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 3828, - "node_type": 24, - "kind": 24, + "closure": { + "id": 3806, + "node_type": 27, "src": { - "line": 1383, - "column": 31, - "start": 48762, - "end": 48825, - "length": 64, - "parent_index": 3825 + "line": 1403, + "column": 35, + "start": 48778, + "end": 48794, + "length": 17, + "parent_index": 3798 }, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_uint8", - "type_string": "uint8" + "operator": 11, + "left_expression": { + "id": 3807, + "node_type": 16, + "src": { + "line": 1403, + "column": 35, + "start": 48778, + "end": 48778, + "length": 1, + "parent_index": 3806 }, - { + "name": "i", + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "right_expression": { + "id": 3808, + "node_type": 24, + "kind": 24, + "src": { + "line": 1403, + "column": 39, + "start": 48782, + "end": 48794, + "length": 13, + "parent_index": 3806 }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - ], - "arguments": [ - { - "id": 3831, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1383, - "column": 42, - "start": 48773, - "end": 48781, - "length": 9, - "parent_index": 3828 - }, - "member_location": { - "line": 1383, - "column": 49, - "start": 48780, - "end": 48781, - "length": 2, - "parent_index": 3831 - }, - "expression": { - "id": 3832, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "arguments": [ + { + "id": 3810, "node_type": 16, "src": { - "line": 1383, - "column": 42, - "start": 48773, - "end": 48778, - "length": 6, - "parent_index": 3831 + "line": 1403, + "column": 50, + "start": 48793, + "end": 48793, + "length": 1, + "parent_index": 3808 }, - "name": "params", + "name": "i", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 3832, - "is_pure": false - }, - "member_name": "to", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "referenced_declaration": 0, + "is_pure": false, + "text": "i" } - }, - { - "id": 3833, - "node_type": 16, - "src": { - "line": 1383, - "column": 53, - "start": 48784, - "end": 48790, - "length": 7, - "parent_index": 3828 - }, - "name": "actions", - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - }, - "overloaded_declarations": [], - "referenced_declaration": 3833, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - ] - }, - { - "id": 3834, - "node_type": 16, - "src": { - "line": 1383, - "column": 62, - "start": 48793, - "end": 48798, - "length": 6, - "parent_index": 3828 - }, - "name": "values", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3834, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - ] - }, - { - "id": 3835, + ], + "expression": { + "id": 3809, "node_type": 16, "src": { - "line": 1383, - "column": 70, - "start": 48801, - "end": 48805, - "length": 5, - "parent_index": 3828 + "line": 1403, + "column": 39, + "start": 48782, + "end": 48791, + "length": 10, + "parent_index": 3808 }, - "name": "datas", + "name": "_increment", "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 3835, + "referenced_declaration": 0, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_uint8", - "type_string": "uint8" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + "text": "_increment" }, + "type_description": { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "body": { + "id": 3811, + "node_type": 46, + "kind": 0, + "src": { + "line": 1403, + "column": 54, + "start": 48797, + "end": 48885, + "length": 89, + "parent_index": 3798 + }, + "implemented": true, + "statements": [ { - "id": 3836, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3812, + "node_type": 27, "src": { - "line": 1383, - "column": 77, - "start": 48808, - "end": 48824, - "length": 17, - "parent_index": 3828 - }, - "member_location": { - "line": 1383, - "column": 84, - "start": 48815, - "end": 48824, - "length": 10, - "parent_index": 3836 + "line": 1404, + "column": 12, + "start": 48811, + "end": 48875, + "length": 65, + "parent_index": 3811 }, "expression": { - "id": 3837, - "node_type": 16, + "id": 3813, + "node_type": 27, "src": { - "line": 1383, - "column": 77, - "start": 48808, - "end": 48813, - "length": 6, - "parent_index": 3836 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "line": 1404, + "column": 12, + "start": 48811, + "end": 48874, + "length": 64, + "parent_index": 3812 }, - "overloaded_declarations": [], - "referenced_declaration": 3837, - "is_pure": false - }, - "member_name": "srcContext", - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "operator": 11, + "left_expression": { + "id": 3814, + "node_type": 16, + "src": { + "line": 1404, + "column": 12, + "start": 48811, + "end": 48819, + "length": 9, + "parent_index": 3813 + }, + "name": "amountOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 646, + "is_pure": false, + "text": "amountOut" }, - { - "type_identifier": "t_uint8", - "type_string": "uint8" + "right_expression": { + "id": 3815, + "node_type": 24, + "kind": 24, + "src": { + "line": 1404, + "column": 24, + "start": 48823, + "end": 48874, + "length": 52, + "parent_index": 3813 + }, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "id": 3824, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1404, + "column": 56, + "start": 48855, + "end": 48873, + "length": 19, + "parent_index": 3815 + }, + "member_location": { + "line": 1404, + "column": 71, + "start": 48870, + "end": 48873, + "length": 4, + "parent_index": 3824 + }, + "expression": { + "id": 3825, + "node_type": 22, + "src": { + "line": 1404, + "column": 56, + "start": 48855, + "end": 48868, + "length": 14, + "parent_index": 3824 + }, + "index_expression": { + "id": 3826, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1404, + "column": 56, + "start": 48855, + "end": 48865, + "length": 11, + "parent_index": 3825 + }, + "member_location": { + "line": 1404, + "column": 63, + "start": 48862, + "end": 48865, + "length": 4, + "parent_index": 3826 + }, + "expression": { + "id": 3827, + "node_type": 16, + "src": { + "line": 1404, + "column": 56, + "start": 48855, + "end": 48860, + "length": 6, + "parent_index": 3826 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "path", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.path" + }, + "base_expression": { + "id": 3828, + "node_type": 16, + "src": { + "line": 1404, + "column": 68, + "start": 48867, + "end": 48867, + "length": 1, + "parent_index": 3825 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "data", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.path[i].data" + } + ], + "expression": { + "id": 3816, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1404, + "column": 24, + "start": 48823, + "end": 48853, + "length": 31, + "parent_index": 3815 + }, + "member_location": { + "line": 1404, + "column": 51, + "start": 48850, + "end": 48853, + "length": 4, + "parent_index": 3816 + }, + "expression": { + "id": 3817, + "node_type": 24, + "kind": 24, + "src": { + "line": 1404, + "column": 24, + "start": 48823, + "end": 48848, + "length": 26, + "parent_index": 3816 + }, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "id": 3819, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1404, + "column": 30, + "start": 48829, + "end": 48847, + "length": 19, + "parent_index": 3817 + }, + "member_location": { + "line": 1404, + "column": 45, + "start": 48844, + "end": 48847, + "length": 4, + "parent_index": 3819 + }, + "expression": { + "id": 3820, + "node_type": 22, + "src": { + "line": 1404, + "column": 30, + "start": 48829, + "end": 48842, + "length": 14, + "parent_index": 3819 + }, + "index_expression": { + "id": 3821, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1404, + "column": 30, + "start": 48829, + "end": 48839, + "length": 11, + "parent_index": 3820 + }, + "member_location": { + "line": 1404, + "column": 37, + "start": 48836, + "end": 48839, + "length": 4, + "parent_index": 3821 + }, + "expression": { + "id": 3822, + "node_type": 16, + "src": { + "line": 1404, + "column": 30, + "start": 48829, + "end": 48834, + "length": 6, + "parent_index": 3821 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "path", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.path" + }, + "base_expression": { + "id": 3823, + "node_type": 16, + "src": { + "line": 1404, + "column": 42, + "start": 48841, + "end": 48841, + "length": 1, + "parent_index": 3820 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "pool", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.path[i].pool" + } + ], + "expression": { + "id": 3818, + "node_type": 16, + "src": { + "line": 1404, + "column": 24, + "start": 48823, + "end": 48827, + "length": 5, + "parent_index": 3817 + }, + "name": "IPool", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IPool" + }, + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + }, + "member_name": "swap", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + }, + "text": "IPool(params.path[i].pool).swap" + }, + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } }, - { + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" } - ], - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - } - ], - "expression": { - "id": 3829, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1383, - "column": 31, - "start": 48762, - "end": 48771, - "length": 10, - "parent_index": 3828 - }, - "member_location": { - "line": 1383, - "column": 35, - "start": 48766, - "end": 48771, - "length": 6, - "parent_index": 3829 - }, - "expression": { - "id": 3830, - "node_type": 16, - "src": { - "line": 1383, - "column": 31, - "start": 48762, - "end": 48764, - "length": 3, - "parent_index": 3829 }, - "name": "abi", "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "member_name": "encode", - "argument_types": [], - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" + "text": "amountOut=IPool(params.path[i].pool).swap(params.path[i].data);" } - }, - "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_uint8$_t_uint256$_t_bytes$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes,struct StargateAdapter.StargateTeleportParams)" - } + ] } }, { - "id": 3838, - "node_type": 24, - "kind": 24, + "id": 3829, + "node_type": 48, "src": { - "line": 1385, - "column": 8, - "start": 48837, - "end": 49501, - "length": 665, - "parent_index": 3824 + "line": 1407, + "column": 0, + "start": 48986, + "end": 49053, + "length": 68, + "parent_index": 3740 }, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_function_payable$_t_address$", - "type_string": "function(address) payable" - }, - { - "type_identifier": "$_t_conditional", - "type_string": "conditional" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" + "condition": { + "id": 3830, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1407, + "column": 12, + "start": 48990, + "end": 49024, + "length": 35, + "parent_index": 3829 }, - { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams)" + "operator": 9, + "left_expression": { + "id": 3831, + "node_type": 16, + "src": { + "line": 1407, + "column": 12, + "start": 48990, + "end": 48998, + "length": 9, + "parent_index": 3830 + }, + "name": "amountOut", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 646, + "is_pure": false, + "text": "amountOut" }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - ], - "arguments": [ - { - "id": 3842, + "right_expression": { + "id": 3832, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1386, - "column": 12, - "start": 48900, - "end": 48916, - "length": 17, - "parent_index": 3838 + "line": 1407, + "column": 24, + "start": 49002, + "end": 49024, + "length": 23, + "parent_index": 3830 }, "member_location": { - "line": 1386, - "column": 19, - "start": 48907, - "end": 48916, - "length": 10, - "parent_index": 3842 + "line": 1407, + "column": 31, + "start": 49009, + "end": 49024, + "length": 16, + "parent_index": 3832 }, "expression": { - "id": 3843, + "id": 3833, "node_type": 16, "src": { - "line": 1386, - "column": 12, - "start": 48900, - "end": 48905, + "line": 1407, + "column": 24, + "start": 49002, + "end": 49007, "length": 6, - "parent_index": 3842 + "parent_index": 3832 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" }, "overloaded_declarations": [], - "referenced_declaration": 3843, - "is_pure": false + "referenced_declaration": 3833, + "is_pure": false, + "text": "params" }, - "member_name": "dstChainId", + "member_name": "amountOutMinimum", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + }, + "text": "params.amountOutMinimum" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 3834, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 3733, + "node_type": 43, + "src": { + "line": 1374, + "column": 25, + "start": 47699, + "end": 47728, + "length": 30, + "parent_index": 3732 + }, + "parameters": [ + { + "id": 3734, + "node_type": 44, + "src": { + "line": 1374, + "column": 25, + "start": 47699, + "end": 47728, + "length": 30, + "parent_index": 3733 + }, + "scope": 3732, + "name": "params", + "type_name": { + "id": 3735, + "node_type": 69, + "src": { + "line": 1374, + "column": 25, + "start": 47699, + "end": 47714, + "length": 16, + "parent_index": 3734 + }, + "path_node": { + "id": 3736, + "name": "ExactInputParams", + "node_type": 52, + "referenced_declaration": 3545, + "src": { + "line": 1374, + "column": 25, + "start": 47699, + "end": 47714, + "length": 16, + "parent_index": 3735 + }, + "name_location": { + "line": 1374, + "column": 25, + "start": 47699, + "end": 47714, + "length": 16, + "parent_index": 3735 } }, + "referenced_declaration": 3545, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "type_string": "struct ITridentRouter.ExactInputParams" + } + ] + }, + "return_parameters": { + "id": 3737, + "node_type": 43, + "src": { + "line": 1376, + "column": 17, + "start": 47765, + "end": 47781, + "length": 17, + "parent_index": 3732 + }, + "parameters": [ + { + "id": 3738, + "node_type": 44, + "src": { + "line": 1376, + "column": 17, + "start": 47765, + "end": 47781, + "length": 17, + "parent_index": 3737 + }, + "scope": 3732, + "name": "amountOut", + "type_name": { + "id": 3739, + "node_type": 30, + "src": { + "line": 1376, + "column": 17, + "start": 47765, + "end": 47771, + "length": 7, + "parent_index": 3738 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "_exactInput()", + "signature": "d9c63675", + "scope": 3719, + "type_description": { + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "type_string": "function(struct ITridentRouter.ExactInputParams)" + }, + "text": "function_exactInput(ExactInputParamsmemoryparams)internalreturns(uint256amountOut){if(params.amountIn==0){uint256tokenBalance=IERC20(params.tokenIn).balanceOf(address(this));_transferTokens(IERC20(params.tokenIn),address(bentoBox),tokenBalance);(,params.amountIn)=bentoBox.deposit(params.tokenIn,address(bentoBox),params.path[0].pool,tokenBalance,0);}uint256n=params.path.length;for(uint256i=0;i\u003cn;i=_increment(i)){amountOut=IPool(params.path[i].pool).swap(params.path[i].data);}if(amountOut\u003cparams.amountOutMinimum)revertTooLittleReceived();}" + }, + { + "id": 3836, + "name": "_complexPath", + "node_type": 42, + "kind": 41, + "src": { + "line": 1416, + "column": 4, + "start": 49613, + "end": 51975, + "length": 2363, + "parent_index": 3719 + }, + "name_location": { + "line": 1416, + "column": 13, + "start": 49622, + "end": 49633, + "length": 12, + "parent_index": 3836 + }, + "body": { + "id": 3842, + "node_type": 46, + "kind": 0, + "src": { + "line": 1416, + "column": 68, + "start": 49677, + "end": 51975, + "length": 2299, + "parent_index": 3836 + }, + "implemented": true, + "statements": [ + { + "id": 3843, + "node_type": 44, + "src": { + "line": 1419, + "column": 8, + "start": 49846, + "end": 49883, + "length": 38, + "parent_index": 3842 + }, + "assignments": [ + 3844 + ], + "declarations": [ { "id": 3844, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "state_mutability": 1, + "name": "n", + "node_type": 44, + "scope": 3842, "src": { - "line": 1387, - "column": 12, - "start": 48931, - "end": 48946, - "length": 16, - "parent_index": 3838 - }, - "member_location": { - "line": 1387, - "column": 19, - "start": 48938, - "end": 48946, + "line": 1419, + "column": 8, + "start": 49846, + "end": 49854, "length": 9, + "parent_index": 3843 + }, + "name_location": { + "line": 1419, + "column": 16, + "start": 49854, + "end": 49854, + "length": 1, "parent_index": 3844 }, - "expression": { + "is_state_variable": false, + "storage_location": 1, + "type_name": { "id": 3845, - "node_type": 16, + "node_type": 30, "src": { - "line": 1387, - "column": 12, - "start": 48931, - "end": 48936, - "length": 6, + "line": 1419, + "column": 8, + "start": 49846, + "end": 49852, + "length": 7, "parent_index": 3844 }, - "name": "params", + "name": "uint256", + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3845, - "is_pure": false - }, - "member_name": "srcPoolId", - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "type_identifier": "t_uint256", + "type_string": "uint256" } - ], - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3846, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1419, + "column": 20, + "start": 49858, + "end": 49882, + "length": 25, + "parent_index": 3843 }, - { - "id": 3846, + "member_location": { + "line": 1419, + "column": 39, + "start": 49877, + "end": 49882, + "length": 6, + "parent_index": 3846 + }, + "expression": { + "id": 3847, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1388, - "column": 12, - "start": 48961, - "end": 48976, - "length": 16, - "parent_index": 3838 + "line": 1419, + "column": 20, + "start": 49858, + "end": 49875, + "length": 18, + "parent_index": 3843 }, "member_location": { - "line": 1388, - "column": 19, - "start": 48968, - "end": 48976, - "length": 9, - "parent_index": 3846 + "line": 1419, + "column": 27, + "start": 49865, + "end": 49875, + "length": 11, + "parent_index": 3847 }, "expression": { - "id": 3847, + "id": 3848, "node_type": 16, "src": { - "line": 1388, - "column": 12, - "start": 48961, - "end": 48966, + "line": 1419, + "column": 20, + "start": 49858, + "end": 49863, "length": 6, - "parent_index": 3846 + "parent_index": 3847 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" }, "overloaded_declarations": [], - "referenced_declaration": 3847, - "is_pure": false + "referenced_declaration": 3848, + "is_pure": false, + "text": "params" }, - "member_name": "dstPoolId", - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - ], + "member_name": "initialPath", + "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" + }, + "text": "params.initialPath" + }, + "member_name": "length", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" + }, + "text": "params.initialPath.length" + } + }, + { + "id": 3849, + "node_type": 79, + "src": { + "line": 1420, + "column": 0, + "start": 49893, + "end": 50242, + "length": 350, + "parent_index": 3842 + }, + "initialiser": { + "id": 3850, + "node_type": 44, + "src": { + "line": 1420, + "column": 13, + "start": 49898, + "end": 49911, + "length": 14, + "parent_index": 3842 + }, + "assignments": [ + 3851 + ], + "declarations": [ + { + "id": 3851, + "state_mutability": 1, + "name": "i", + "node_type": 44, + "scope": 3842, + "src": { + "line": 1420, + "column": 13, + "start": 49898, + "end": 49906, + "length": 9, + "parent_index": 3850 + }, + "name_location": { + "line": 1420, + "column": 21, + "start": 49906, + "end": 49906, + "length": 1, + "parent_index": 3851 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3852, + "node_type": 30, + "src": { + "line": 1420, + "column": 13, + "start": 49898, + "end": 49904, + "length": 7, + "parent_index": 3851 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 } + ], + "initial_value": { + "id": 3853, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1420, + "column": 25, + "start": 49910, + "end": 49910, + "length": 1, + "parent_index": 3850 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + }, + "condition": { + "id": 3854, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1420, + "column": 28, + "start": 49913, + "end": 49917, + "length": 5, + "parent_index": 3849 }, - { - "id": 3848, - "node_type": 84, + "operator": 9, + "left_expression": { + "id": 3855, + "node_type": 16, "src": { - "line": 1389, - "column": 12, - "start": 48991, - "end": 49009, - "length": 19, - "parent_index": 3838 + "line": 1420, + "column": 28, + "start": 49913, + "end": 49913, + "length": 1, + "parent_index": 3854 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "right_expression": { + "id": 3856, + "node_type": 16, + "src": { + "line": 1420, + "column": 32, + "start": 49917, + "end": 49917, + "length": 1, + "parent_index": 3854 + }, + "name": "n", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "closure": { + "id": 3857, + "node_type": 27, + "src": { + "line": 1420, + "column": 35, + "start": 49920, + "end": 49936, + "length": 17, + "parent_index": 3849 + }, + "operator": 11, + "left_expression": { + "id": 3858, + "node_type": 16, + "src": { + "line": 1420, + "column": 35, + "start": 49920, + "end": 49920, + "length": 1, + "parent_index": 3857 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "right_expression": { + "id": 3859, + "node_type": 24, + "kind": 24, + "src": { + "line": 1420, + "column": 39, + "start": 49924, + "end": 49936, + "length": 13, + "parent_index": 3857 }, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], "arguments": [ { - "id": 3849, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3861, + "node_type": 16, "src": { - "line": 1389, - "column": 20, - "start": 48999, - "end": 49008, - "length": 10, - "parent_index": 3848 - }, - "member_location": { - "line": 1389, - "column": 24, - "start": 49003, - "end": 49008, - "length": 6, - "parent_index": 3849 - }, - "expression": { - "id": 3850, - "node_type": 16, - "src": { - "line": 1389, - "column": 20, - "start": 48999, - "end": 49001, - "length": 3, - "parent_index": 3849 - }, - "name": "msg", - "type_description": { - "type_identifier": "t_magic_message", - "type_string": "msg" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "line": 1420, + "column": 50, + "start": 49935, + "end": 49935, + "length": 1, + "parent_index": 3859 }, - "member_name": "sender", - "argument_types": [], + "name": "i", "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - } - ], - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "i" } ], - "type_description": { - "type_identifier": "t_function_payable$_t_address$", - "type_string": "function(address) payable" - }, - "payable": true - }, - { - "id": 3852, - "node_type": 97, - "src": { - "line": 1390, - "column": 12, - "start": 49042, - "end": 49155, - "length": 114, - "parent_index": 3838 + "expression": { + "id": 3860, + "node_type": 16, + "src": { + "line": 1420, + "column": 39, + "start": 49924, + "end": 49933, + "length": 10, + "parent_index": 3859 + }, + "name": "_increment", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "_increment" }, - "expressions": [ - { - "id": 3853, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1390, - "column": 12, - "start": 49042, - "end": 49059, - "length": 18, - "parent_index": 3852 + "type_description": { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "body": { + "id": 3862, + "node_type": 46, + "kind": 0, + "src": { + "line": 1420, + "column": 54, + "start": 49939, + "end": 50242, + "length": 304, + "parent_index": 3849 + }, + "implemented": true, + "statements": [ + { + "id": 3863, + "node_type": 24, + "kind": 24, + "src": { + "line": 1421, + "column": 12, + "start": 49953, + "end": 50151, + "length": 199, + "parent_index": 3862 + }, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "operator": 12, - "left_expression": { - "id": 3854, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "id": 3866, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1390, - "column": 12, - "start": 49042, - "end": 49054, - "length": 13, - "parent_index": 3853 + "line": 1422, + "column": 16, + "start": 49988, + "end": 50016, + "length": 29, + "parent_index": 3863 }, "member_location": { - "line": 1390, - "column": 19, - "start": 49049, - "end": 49054, - "length": 6, - "parent_index": 3854 + "line": 1422, + "column": 38, + "start": 50010, + "end": 50016, + "length": 7, + "parent_index": 3866 }, "expression": { - "id": 3855, - "node_type": 16, - "src": { - "line": 1390, - "column": 12, - "start": 49042, - "end": 49047, - "length": 6, - "parent_index": 3854 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3855, - "is_pure": false - }, - "member_name": "amount", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - }, - "right_expression": { - "id": 3856, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1390, - "column": 29, - "start": 49059, - "end": 49059, - "length": 1, - "parent_index": 3853 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 3857, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1391, - "column": 18, - "start": 49079, - "end": 49091, - "length": 13, - "parent_index": 3852 - }, - "member_location": { - "line": 1391, - "column": 25, - "start": 49086, - "end": 49091, - "length": 6, - "parent_index": 3857 - }, - "expression": { - "id": 3858, - "node_type": 16, - "src": { - "line": 1391, - "column": 18, - "start": 49079, - "end": 49084, - "length": 6, - "parent_index": 3857 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3858, - "is_pure": false - }, - "member_name": "amount", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - }, - { - "id": 3859, - "node_type": 24, - "kind": 24, - "src": { - "line": 1392, - "column": 18, - "start": 49111, - "end": 49155, - "length": 45, - "parent_index": 3852 - }, - "argument_types": [ - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - ], - "arguments": [ - { - "id": 3865, - "node_type": 24, - "kind": 24, + "id": 3867, + "node_type": 22, "src": { - "line": 1392, - "column": 49, - "start": 49142, - "end": 49154, - "length": 13, - "parent_index": 3859 + "line": 1422, + "column": 16, + "start": 49988, + "end": 50008, + "length": 21, + "parent_index": 3866 }, - "argument_types": [ - { - "type_identifier": "t_contract$_StargateAdapter_$3694", - "type_string": "contract StargateAdapter" - } - ], - "arguments": [ - { - "id": 3868, + "index_expression": { + "id": 3868, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1422, + "column": 16, + "start": 49988, + "end": 50005, + "length": 18, + "parent_index": 3867 + }, + "member_location": { + "line": 1422, + "column": 23, + "start": 49995, + "end": 50005, + "length": 11, + "parent_index": 3868 + }, + "expression": { + "id": 3869, "node_type": 16, "src": { - "line": 1392, - "column": 57, - "start": 49150, - "end": 49153, - "length": 4, - "parent_index": 3865 + "line": 1422, + "column": 16, + "start": 49988, + "end": 49993, + "length": 6, + "parent_index": 3868 }, - "name": "this", + "name": "params", "type_description": { - "type_identifier": "t_contract$_StargateAdapter_$3694", - "type_string": "contract StargateAdapter" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "initialPath", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.initialPath" + }, + "base_expression": { + "id": 3870, + "node_type": 16, + "src": { + "line": 1422, + "column": 35, + "start": 50007, + "end": 50007, + "length": 1, + "parent_index": 3867 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } ], - "expression": { - "id": 3866, + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "tokenIn", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.initialPath[i].tokenIn" + }, + { + "id": 3871, + "node_type": 24, + "kind": 24, + "src": { + "line": 1423, + "column": 16, + "start": 50035, + "end": 50047, + "length": 13, + "parent_index": 3863 + }, + "argument_types": [ + { + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" + } + ], + "arguments": [ + { + "id": 3874, "node_type": 16, "src": { - "line": 1392, - "column": 49, - "start": 49142, - "end": 49148, - "length": 7, - "parent_index": 3865 - }, - "name": "address", - "type_name": { - "id": 3867, - "node_type": 30, - "src": { - "line": 1392, - "column": 49, - "start": 49142, - "end": 49148, - "length": 7, - "parent_index": 3866 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "line": 1423, + "column": 24, + "start": 50043, + "end": 50046, + "length": 4, + "parent_index": 3871 }, + "name": "this", "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "text": "this" + } + ], + "expression": { + "id": 3872, + "node_type": 16, + "src": { + "line": 1423, + "column": 16, + "start": 50035, + "end": 50041, + "length": 7, + "parent_index": 3871 + }, + "name": "address", + "type_name": { + "id": 3873, + "node_type": 30, + "src": { + "line": 1423, + "column": 16, + "start": 50035, + "end": 50041, + "length": 7, + "parent_index": 3872 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" } - ], - "expression": { - "id": 3860, + }, + { + "id": 3875, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1392, - "column": 18, - "start": 49111, - "end": 49140, - "length": 30, - "parent_index": 3859 + "line": 1424, + "column": 16, + "start": 50066, + "end": 50091, + "length": 26, + "parent_index": 3863 }, "member_location": { - "line": 1392, - "column": 39, - "start": 49132, - "end": 49140, - "length": 9, - "parent_index": 3860 + "line": 1424, + "column": 38, + "start": 50088, + "end": 50091, + "length": 4, + "parent_index": 3875 }, "expression": { - "id": 3861, - "node_type": 24, - "kind": 24, + "id": 3876, + "node_type": 22, "src": { - "line": 1392, - "column": 18, - "start": 49111, - "end": 49130, - "length": 20, - "parent_index": 3860 + "line": 1424, + "column": 16, + "start": 50066, + "end": 50086, + "length": 21, + "parent_index": 3875 }, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - ], - "arguments": [ - { - "id": 3863, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "index_expression": { + "id": 3877, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1424, + "column": 16, + "start": 50066, + "end": 50083, + "length": 18, + "parent_index": 3876 + }, + "member_location": { + "line": 1424, + "column": 23, + "start": 50073, + "end": 50083, + "length": 11, + "parent_index": 3877 + }, + "expression": { + "id": 3878, + "node_type": 16, "src": { - "line": 1392, - "column": 25, - "start": 49118, - "end": 49129, - "length": 12, - "parent_index": 3861 - }, - "member_location": { - "line": 1392, - "column": 32, - "start": 49125, - "end": 49129, - "length": 5, - "parent_index": 3863 - }, - "expression": { - "id": 3864, - "node_type": 16, - "src": { - "line": 1392, - "column": 25, - "start": 49118, - "end": 49123, - "length": 6, - "parent_index": 3863 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3864, - "is_pure": false + "line": 1424, + "column": 16, + "start": 50066, + "end": 50071, + "length": 6, + "parent_index": 3877 }, - "member_name": "token", - "argument_types": [], + "name": "params", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "type_string": "struct StargateAdapter.StargateTeleportParams" - } - } - ], - "expression": { - "id": 3862, - "node_type": 16, - "src": { - "line": 1392, - "column": 18, - "start": 49111, - "end": 49116, - "length": 6, - "parent_index": 3861 + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, - "name": "IERC20", + "member_name": "initialPath", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "text": "params.initialPath" }, - "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams)" - } - }, - "member_name": "balanceOf", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams)" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$", - "type_string": "function(function(address))" - } - } - ], - "type_descriptions": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_function_$_t_function_$_t_address$", - "type_string": "function(function(address))" - } - ], - "type_description": null - }, - { - "id": 3869, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1393, - "column": 12, - "start": 49170, - "end": 49185, - "length": 16, - "parent_index": 3838 - }, - "member_location": { - "line": 1393, - "column": 19, - "start": 49177, - "end": 49185, - "length": 9, - "parent_index": 3869 - }, - "expression": { - "id": 3870, - "node_type": 16, - "src": { - "line": 1393, - "column": 12, - "start": 49170, - "end": 49175, - "length": 6, - "parent_index": 3869 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3870, - "is_pure": false - }, - "member_name": "amountMin", - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_function_payable$_t_address$", - "type_string": "function(address) payable" - }, - { - "type_identifier": "$_t_conditional", - "type_string": "conditional" - } - ], - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - }, - { - "id": 3871, - "node_type": 24, - "kind": 24, - "src": { - "line": 1394, - "column": 12, - "start": 49200, - "end": 49392, - "length": 193, - "parent_index": 3838 - }, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams)" - } - ], - "arguments": [ - { - "id": 3874, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1395, - "column": 16, - "start": 49241, - "end": 49250, - "length": 10, - "parent_index": 3871 - }, - "member_location": { - "line": 1395, - "column": 23, - "start": 49248, - "end": 49250, - "length": 3, - "parent_index": 3874 + "base_expression": { + "id": 3879, + "node_type": 16, + "src": { + "line": 1424, + "column": 35, + "start": 50085, + "end": 50085, + "length": 1, + "parent_index": 3876 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "pool", + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.initialPath[i].pool" }, - "expression": { - "id": 3875, - "node_type": 16, + { + "id": 3880, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1395, + "line": 1425, "column": 16, - "start": 49241, - "end": 49246, + "start": 50110, + "end": 50137, + "length": 28, + "parent_index": 3863 + }, + "member_location": { + "line": 1425, + "column": 38, + "start": 50132, + "end": 50137, "length": 6, - "parent_index": 3874 + "parent_index": 3880 }, - "name": "params", + "expression": { + "id": 3881, + "node_type": 22, + "src": { + "line": 1425, + "column": 16, + "start": 50110, + "end": 50130, + "length": 21, + "parent_index": 3880 + }, + "index_expression": { + "id": 3882, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1425, + "column": 16, + "start": 50110, + "end": 50127, + "length": 18, + "parent_index": 3881 + }, + "member_location": { + "line": 1425, + "column": 23, + "start": 50117, + "end": 50127, + "length": 11, + "parent_index": 3882 + }, + "expression": { + "id": 3883, + "node_type": 16, + "src": { + "line": 1425, + "column": 16, + "start": 50110, + "end": 50115, + "length": 6, + "parent_index": 3882 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "initialPath", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.initialPath" + }, + "base_expression": { + "id": 3884, + "node_type": 16, + "src": { + "line": 1425, + "column": 35, + "start": 50129, + "end": 50129, + "length": 1, + "parent_index": 3881 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "amount", + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "overloaded_declarations": [], - "referenced_declaration": 3875, - "is_pure": false - }, - "member_name": "gas", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "text": "params.initialPath[i].amount" } - }, - { - "id": 3876, + ], + "expression": { + "id": 3864, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1396, - "column": 16, - "start": 49311, - "end": 49327, + "line": 1421, + "column": 12, + "start": 49953, + "end": 49969, "length": 17, - "parent_index": 3871 + "parent_index": 3863 }, "member_location": { - "line": 1396, - "column": 23, - "start": 49318, - "end": 49327, - "length": 10, - "parent_index": 3876 + "line": 1421, + "column": 21, + "start": 49962, + "end": 49969, + "length": 8, + "parent_index": 3864 }, "expression": { - "id": 3877, + "id": 3865, "node_type": 16, "src": { - "line": 1396, - "column": 16, - "start": 49311, - "end": 49316, - "length": 6, - "parent_index": 3876 + "line": 1421, + "column": 12, + "start": 49953, + "end": 49960, + "length": 8, + "parent_index": 3864 }, - "name": "params", + "name": "bentoBox", "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" }, "overloaded_declarations": [], - "referenced_declaration": 3877, - "is_pure": false + "referenced_declaration": 963, + "is_pure": false, + "text": "bentoBox" }, - "member_name": "dustAmount", - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - ], + "member_name": "transfer", + "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - }, - { - "id": 3878, - "node_type": 24, - "kind": 24, - "src": { - "line": 1397, - "column": 16, - "start": 49346, - "end": 49378, - "length": 33, - "parent_index": 3871 + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" }, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - ], - "arguments": [ - { - "id": 3881, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1397, - "column": 33, - "start": 49363, - "end": 49377, - "length": 15, - "parent_index": 3878 - }, - "member_location": { - "line": 1397, - "column": 40, - "start": 49370, - "end": 49377, - "length": 8, - "parent_index": 3881 - }, - "expression": { - "id": 3882, - "node_type": 16, - "src": { - "line": 1397, - "column": 33, - "start": 49363, - "end": 49368, - "length": 6, - "parent_index": 3881 - }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3882, - "is_pure": false - }, - "member_name": "receiver", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - } - ], - "expression": { - "id": 3879, + "text": "bentoBox.transfer" + }, + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + }, + { + "id": 3885, + "node_type": 24, + "kind": 24, + "src": { + "line": 1427, + "column": 12, + "start": 50166, + "end": 50231, + "length": 66, + "parent_index": 3862 + }, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "id": 3894, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1397, - "column": 16, - "start": 49346, - "end": 49361, - "length": 16, - "parent_index": 3878 + "line": 1427, + "column": 51, + "start": 50205, + "end": 50230, + "length": 26, + "parent_index": 3885 }, "member_location": { - "line": 1397, - "column": 20, - "start": 49350, - "end": 49361, - "length": 12, - "parent_index": 3879 + "line": 1427, + "column": 73, + "start": 50227, + "end": 50230, + "length": 4, + "parent_index": 3894 }, "expression": { - "id": 3880, - "node_type": 16, + "id": 3895, + "node_type": 22, "src": { - "line": 1397, - "column": 16, - "start": 49346, - "end": 49348, - "length": 3, - "parent_index": 3879 + "line": 1427, + "column": 51, + "start": 50205, + "end": 50225, + "length": 21, + "parent_index": 3894 }, - "name": "abi", - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" + "index_expression": { + "id": 3896, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1427, + "column": 51, + "start": 50205, + "end": 50222, + "length": 18, + "parent_index": 3895 + }, + "member_location": { + "line": 1427, + "column": 58, + "start": 50212, + "end": 50222, + "length": 11, + "parent_index": 3896 + }, + "expression": { + "id": 3897, + "node_type": 16, + "src": { + "line": 1427, + "column": 51, + "start": 50205, + "end": 50210, + "length": 6, + "parent_index": 3896 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "initialPath", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.initialPath" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "base_expression": { + "id": 3898, + "node_type": 16, + "src": { + "line": 1427, + "column": 70, + "start": 50224, + "end": 50224, + "length": 1, + "parent_index": 3895 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } }, - "member_name": "encodePacked", + "member_name": "data", "argument_types": [], "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams)" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.initialPath[i].data" } - } - ], - "expression": { - "id": 3872, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1394, - "column": 12, - "start": 49200, - "end": 49222, - "length": 23, - "parent_index": 3871 - }, - "member_location": { - "line": 1394, - "column": 28, - "start": 49216, - "end": 49222, - "length": 7, - "parent_index": 3872 - }, + ], "expression": { - "id": 3873, - "node_type": 16, - "src": { - "line": 1394, - "column": 12, - "start": 49200, - "end": 49214, - "length": 15, - "parent_index": 3872 - }, - "name": "IStargateRouter", - "type_description": { - "type_identifier": "t_contract$_IStargateRouter_$700", - "type_string": "contract IStargateRouter" - }, - "overloaded_declarations": [], - "referenced_declaration": 700, - "is_pure": false - }, - "member_name": "lzTxObj", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IStargateRouter_$700", - "type_string": "contract IStargateRouter" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" - } - }, - { - "id": 3883, - "node_type": 24, - "kind": 24, - "src": { - "line": 1399, - "column": 12, - "start": 49407, - "end": 49439, - "length": 33, - "parent_index": 3838 - }, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - ], - "arguments": [ - { "id": 3886, "is_constant": false, "is_l_value": false, @@ -69515,1785 +70165,2294 @@ "l_value_requested": false, "node_type": 23, "src": { - "line": 1399, - "column": 29, - "start": 49424, - "end": 49438, - "length": 15, - "parent_index": 3883 + "line": 1427, + "column": 12, + "start": 50166, + "end": 50203, + "length": 38, + "parent_index": 3885 }, "member_location": { - "line": 1399, - "column": 36, - "start": 49431, - "end": 49438, - "length": 8, + "line": 1427, + "column": 46, + "start": 50200, + "end": 50203, + "length": 4, "parent_index": 3886 }, "expression": { "id": 3887, - "node_type": 16, + "node_type": 24, + "kind": 24, "src": { - "line": 1399, - "column": 29, - "start": 49424, - "end": 49429, - "length": 6, + "line": 1427, + "column": 12, + "start": 50166, + "end": 50198, + "length": 33, "parent_index": 3886 }, - "name": "params", - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - "overloaded_declarations": [], - "referenced_declaration": 3887, - "is_pure": false - }, - "member_name": "receiver", - "argument_types": [], - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - } - ], - "expression": { - "id": 3884, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1399, - "column": 12, - "start": 49407, - "end": 49422, - "length": 16, - "parent_index": 3883 - }, - "member_location": { - "line": 1399, - "column": 16, - "start": 49411, - "end": 49422, - "length": 12, - "parent_index": 3884 - }, - "expression": { - "id": 3885, - "node_type": 16, - "src": { - "line": 1399, - "column": 12, - "start": 49407, - "end": 49409, - "length": 3, - "parent_index": 3884 + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "id": 3889, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1427, + "column": 18, + "start": 50172, + "end": 50197, + "length": 26, + "parent_index": 3887 + }, + "member_location": { + "line": 1427, + "column": 40, + "start": 50194, + "end": 50197, + "length": 4, + "parent_index": 3889 + }, + "expression": { + "id": 3890, + "node_type": 22, + "src": { + "line": 1427, + "column": 18, + "start": 50172, + "end": 50192, + "length": 21, + "parent_index": 3889 + }, + "index_expression": { + "id": 3891, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1427, + "column": 18, + "start": 50172, + "end": 50189, + "length": 18, + "parent_index": 3890 + }, + "member_location": { + "line": 1427, + "column": 25, + "start": 50179, + "end": 50189, + "length": 11, + "parent_index": 3891 + }, + "expression": { + "id": 3892, + "node_type": 16, + "src": { + "line": 1427, + "column": 18, + "start": 50172, + "end": 50177, + "length": 6, + "parent_index": 3891 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "initialPath", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.initialPath" + }, + "base_expression": { + "id": 3893, + "node_type": 16, + "src": { + "line": 1427, + "column": 37, + "start": 50191, + "end": 50191, + "length": 1, + "parent_index": 3890 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "pool", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.initialPath[i].pool" + } + ], + "expression": { + "id": 3888, + "node_type": 16, + "src": { + "line": 1427, + "column": 12, + "start": 50166, + "end": 50170, + "length": 5, + "parent_index": 3887 + }, + "name": "IPool", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IPool" + }, + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } }, - "name": "abi", + "member_name": "swap", + "argument_types": [], "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "text": "IPool(params.initialPath[i].pool).swap" }, - "member_name": "encodePacked", - "argument_types": [], "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams)" - } - }, - { - "id": 3888, - "node_type": 16, - "src": { - "line": 1400, - "column": 12, - "start": 49485, - "end": 49491, - "length": 7, - "parent_index": 3838 - }, - "name": "payload", - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - }, - "overloaded_declarations": [], - "referenced_declaration": 3825, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_function_payable$_t_address$", - "type_string": "function(address) payable" - }, - { - "type_identifier": "$_t_conditional", - "type_string": "conditional" - }, - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" - }, - { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams)" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } - ] - } - ], - "expression": { - "id": 3839, - "node_type": 93, - "kind": 93, - "src": { - "line": 1385, - "column": 8, - "start": 48837, - "end": 48885, - "length": 49, - "parent_index": 3838 - }, - "expression": { - "id": 3840, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1385, - "column": 8, - "start": 48837, - "end": 48855, - "length": 19, - "parent_index": 3839 - }, - "member_location": { - "line": 1385, - "column": 23, - "start": 48852, - "end": 48855, - "length": 4, - "parent_index": 3840 - }, - "expression": { - "id": 3841, - "node_type": 16, - "src": { - "line": 1385, - "column": 8, - "start": 48837, - "end": 48850, - "length": 14, - "parent_index": 3840 - }, - "name": "stargateRouter", - "type_description": { - "type_identifier": "t_contract$_IStargateRouter_$700", - "type_string": "contract IStargateRouter" - }, - "overloaded_declarations": [], - "referenced_declaration": 967, - "is_pure": false - }, - "member_name": "swap", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IStargateRouter_$700", - "type_string": "contract IStargateRouter" } - }, - "type_description": { - "type_identifier": "t_contract$_IStargateRouter_$700", - "type_string": "contract IStargateRouter" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_payable$_t_address$_$_t_conditional$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_bytes$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(address) payable,conditional,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams)),function(struct StargateAdapter.StargateTeleportParams),bytes)" + ] } }, { - "id": 3889, - "node_type": 24, - "kind": 24, + "id": 3899, + "node_type": 27, "src": { - "line": 1403, + "line": 1430, "column": 8, - "start": 49513, - "end": 49546, - "length": 34, - "parent_index": 3824 + "start": 50321, + "end": 50353, + "length": 33, + "parent_index": 3842 }, - "argument_types": [ - { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0x0001" - } - ], - "arguments": [ - { - "id": 3892, - "node_type": 17, - "kind": 49, - "value": "0x0001", - "hex_value": "307830303031", - "src": { - "line": 1403, - "column": 35, - "start": 49540, - "end": 49545, - "length": 6, - "parent_index": 3889 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0x0001" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - } - ], "expression": { - "id": 3890, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + "id": 3900, + "node_type": 27, "src": { - "line": 1403, + "line": 1430, "column": 8, - "start": 49513, - "end": 49538, - "length": 26, - "parent_index": 3889 - }, - "member_location": { - "line": 1403, - "column": 23, - "start": 49528, - "end": 49538, - "length": 11, - "parent_index": 3890 + "start": 50321, + "end": 50352, + "length": 32, + "parent_index": 3899 }, - "expression": { - "id": 3891, + "operator": 11, + "left_expression": { + "id": 3901, "node_type": 16, "src": { - "line": 1403, + "line": 1430, "column": 8, - "start": 49513, - "end": 49526, - "length": 14, - "parent_index": 3890 + "start": 50321, + "end": 50321, + "length": 1, + "parent_index": 3900 }, - "name": "stargateWidget", + "name": "n", "type_description": { - "type_identifier": "t_contract$_IStargateWidget_$797", - "type_string": "contract IStargateWidget" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 971, - "is_pure": false + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" }, - "member_name": "partnerSwap", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IStargateWidget_$797", - "type_string": "contract IStargateWidget" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_rational_0_by_1$", - "type_string": "function(int_const 0x0001)" - } - }, - { - "id": 3893, - "node_type": 64, - "src": { - "line": 1405, - "column": 8, - "start": 49558, - "end": 49603, - "length": 46, - "parent_index": 3812 - }, - "arguments": [ - { - "id": 3894, + "right_expression": { + "id": 3902, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1405, - "column": 35, - "start": 49585, - "end": 49601, - "length": 17, - "parent_index": 3893 + "line": 1430, + "column": 12, + "start": 50325, + "end": 50352, + "length": 28, + "parent_index": 3900 }, "member_location": { - "line": 1405, - "column": 42, - "start": 49592, - "end": 49601, - "length": 10, - "parent_index": 3894 + "line": 1430, + "column": 34, + "start": 50347, + "end": 50352, + "length": 6, + "parent_index": 3902 }, "expression": { - "id": 3895, - "node_type": 16, + "id": 3903, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1405, - "column": 35, - "start": 49585, - "end": 49590, - "length": 6, - "parent_index": 3894 + "line": 1430, + "column": 12, + "start": 50325, + "end": 50345, + "length": 21, + "parent_index": 3902 }, - "name": "params", + "member_location": { + "line": 1430, + "column": 19, + "start": 50332, + "end": 50345, + "length": 14, + "parent_index": 3903 + }, + "expression": { + "id": 3904, + "node_type": 16, + "src": { + "line": 1430, + "column": 12, + "start": 50325, + "end": 50330, + "length": 6, + "parent_index": 3903 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 3904, + "is_pure": false, + "text": "params" + }, + "member_name": "percentagePath", + "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" }, - "overloaded_declarations": [], - "referenced_declaration": 3895, - "is_pure": false + "text": "params.percentagePath" }, - "member_name": "srcContext", + "member_name": "length", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - } - ], - "expression": { - "id": 3896, - "node_type": 16, - "src": { - "line": 1405, - "column": 13, - "start": 49563, - "end": 49583, - "length": 21, - "parent_index": 3893 - }, - "name": "StargateSushiXSwapSrc", - "type_description": { - "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00263759", - "type_string": "event StargateAdapter.StargateSushiXSwapSrc" - }, - "overloaded_declarations": [], - "referenced_declaration": 3759, - "is_pure": false - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 3813, - "node_type": 43, - "src": { - "line": 1378, - "column": 8, - "start": 48582, - "end": 48712, - "length": 131, - "parent_index": 3812 - }, - "parameters": [ - { - "id": 3814, - "node_type": 44, - "src": { - "line": 1378, - "column": 8, - "start": 48582, - "end": 48617, - "length": 36, - "parent_index": 3813 - }, - "scope": 3812, - "name": "params", - "type_name": { - "id": 3815, - "node_type": 69, - "src": { - "line": 1378, - "column": 8, - "start": 48582, - "end": 48603, - "length": 22, - "parent_index": 3814 - }, - "path_node": { - "id": 3816, - "name": "StargateTeleportParams", - "node_type": 52, - "referenced_declaration": 3771, - "src": { - "line": 1378, - "column": 8, - "start": 48582, - "end": 48603, - "length": 22, - "parent_index": 3815 + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" }, - "name_location": { - "line": 1378, - "column": 8, - "start": 48582, - "end": 48603, - "length": 22, - "parent_index": 3815 - } - }, - "referenced_declaration": 3771, - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - } - }, - { - "id": 3817, - "node_type": 44, - "src": { - "line": 1379, - "column": 8, - "start": 48628, - "end": 48649, - "length": 22, - "parent_index": 3813 - }, - "scope": 3812, - "name": "actions", - "type_name": { - "id": 3818, - "node_type": 16, - "src": { - "line": 1379, - "column": 8, - "start": 48628, - "end": 48632, - "length": 5, - "parent_index": 3817 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - { - "id": 3819, - "node_type": 44, - "src": { - "line": 1380, - "column": 8, - "start": 48660, - "end": 48682, - "length": 23, - "parent_index": 3813 - }, - "scope": 3812, - "name": "values", - "type_name": { - "id": 3820, - "node_type": 16, - "src": { - "line": 1380, - "column": 8, - "start": 48660, - "end": 48666, - "length": 7, - "parent_index": 3819 + "text": "params.percentagePath.length" }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "n=params.percentagePath.length;" }, { - "id": 3821, - "node_type": 44, + "id": 3905, + "node_type": 79, "src": { - "line": 1381, - "column": 8, - "start": 48693, - "end": 48712, - "length": 20, - "parent_index": 3813 + "line": 1431, + "column": 0, + "start": 50363, + "end": 51023, + "length": 661, + "parent_index": 3842 }, - "scope": 3812, - "name": "datas", - "type_name": { - "id": 3822, - "node_type": 16, + "initialiser": { + "id": 3906, + "node_type": 44, "src": { - "line": 1381, - "column": 8, - "start": 48693, - "end": 48697, - "length": 5, - "parent_index": 3821 + "line": 1431, + "column": 13, + "start": 50368, + "end": 50381, + "length": 14, + "parent_index": 3842 }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "type_string": "struct StargateAdapter.StargateTeleportParams" - }, - { - "type_identifier": "t_uint8", - "type_string": "uint8" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - ] - }, - "return_parameters": { - "id": 3823, - "node_type": 43, - "src": { - "line": 1377, - "column": 4, - "start": 48546, - "end": 49609, - "length": 1064, - "parent_index": 3812 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "_stargateTeleport(, uint8, uint256, bytes)", - "signature": "dbc31626", - "scope": 3745, - "type_description": { - "type_identifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_uint8$_t_uint256$_t_bytes$", - "type_string": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes)" - } - }, - { - "id": 3898, - "name": "getFee", - "node_type": 42, - "kind": 41, - "src": { - "line": 1416, - "column": 4, - "start": 50113, - "end": 50687, - "length": 575, - "parent_index": 3745 - }, - "name_location": { - "line": 1416, - "column": 13, - "start": 50122, - "end": 50127, - "length": 6, - "parent_index": 3898 - }, - "body": { - "id": 3917, - "node_type": 46, - "kind": 0, - "src": { - "line": 1423, - "column": 51, - "start": 50346, - "end": 50687, - "length": 342, - "parent_index": 3898 - }, - "implemented": true, - "statements": [ - { - "id": 3918, - "node_type": 27, - "src": { - "line": 1424, - "column": 8, - "start": 50356, - "end": 50681, - "length": 326, - "parent_index": 3917 + "assignments": [ + 3907 + ], + "declarations": [ + { + "id": 3907, + "state_mutability": 1, + "name": "i", + "node_type": 44, + "scope": 3842, + "src": { + "line": 1431, + "column": 13, + "start": 50368, + "end": 50376, + "length": 9, + "parent_index": 3906 + }, + "name_location": { + "line": 1431, + "column": 21, + "start": 50376, + "end": 50376, + "length": 1, + "parent_index": 3907 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3908, + "node_type": 30, + "src": { + "line": 1431, + "column": 13, + "start": 50368, + "end": 50374, + "length": 7, + "parent_index": 3907 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3909, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1431, + "column": 25, + "start": 50380, + "end": 50380, + "length": 1, + "parent_index": 3906 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } }, - "expression": { - "id": 3919, + "condition": { + "id": 3910, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1431, + "column": 28, + "start": 50383, + "end": 50387, + "length": 5, + "parent_index": 3905 + }, + "operator": 9, + "left_expression": { + "id": 3911, + "node_type": 16, + "src": { + "line": 1431, + "column": 28, + "start": 50383, + "end": 50383, + "length": 1, + "parent_index": 3910 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "right_expression": { + "id": 3912, + "node_type": 16, + "src": { + "line": 1431, + "column": 32, + "start": 50387, + "end": 50387, + "length": 1, + "parent_index": 3910 + }, + "name": "n", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "closure": { + "id": 3913, "node_type": 27, "src": { - "line": 1424, - "column": 8, - "start": 50356, - "end": 50680, - "length": 325, - "parent_index": 3918 + "line": 1431, + "column": 35, + "start": 50390, + "end": 50406, + "length": 17, + "parent_index": 3905 }, "operator": 11, "left_expression": { - "id": 3920, - "node_type": 60, + "id": 3914, + "node_type": 16, "src": { - "line": 1424, - "column": 8, - "start": 50356, - "end": 50361, - "length": 6, - "parent_index": 3919 + "line": 1431, + "column": 35, + "start": 50390, + "end": 50390, + "length": 1, + "parent_index": 3913 }, - "is_constant": false, - "is_pure": false, - "components": [ - { - "id": 3921, - "node_type": 16, - "src": { - "line": 1424, - "column": 9, - "start": 50357, - "end": 50357, - "length": 1, - "parent_index": 3920 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3913, - "is_pure": false - }, - { - "id": 3922, - "node_type": 16, - "src": { - "line": 1424, - "column": 12, - "start": 50360, - "end": 50360, - "length": 1, - "parent_index": 3920 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3915, - "is_pure": false - } - ], + "name": "i", "type_description": { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - } + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3923, + "id": 3915, "node_type": 24, "kind": 24, "src": { - "line": 1424, - "column": 17, - "start": 50365, - "end": 50680, - "length": 316, - "parent_index": 3919 + "line": 1431, + "column": 39, + "start": 50394, + "end": 50406, + "length": 13, + "parent_index": 3913 }, "argument_types": [ { - "type_identifier": "t_uint16", - "type_string": "uint16" - }, - { - "type_identifier": "t_uint8", - "type_string": "uint8" - }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - { - "type_identifier": "t_function_$_t_bytes$", - "type_string": "function(bytes)" - }, - { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", - "type_string": "function(uint256,uint256,function(address))" + "type_identifier": "t_function_$", + "type_string": "function()" } ], "arguments": [ { - "id": 3926, + "id": 3917, "node_type": 16, "src": { - "line": 1425, - "column": 12, - "start": 50411, - "end": 50421, - "length": 11, - "parent_index": 3923 + "line": 1431, + "column": 50, + "start": 50405, + "end": 50405, + "length": 1, + "parent_index": 3915 }, - "name": "_dstChainId", + "name": "i", "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 3926, - "is_pure": false + "referenced_declaration": 0, + "is_pure": false, + "text": "i" + } + ], + "expression": { + "id": 3916, + "node_type": 16, + "src": { + "line": 1431, + "column": 39, + "start": 50394, + "end": 50403, + "length": 10, + "parent_index": 3915 }, - { - "id": 3927, - "node_type": 16, + "name": "_increment", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "_increment" + }, + "type_description": { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "body": { + "id": 3918, + "node_type": 46, + "kind": 0, + "src": { + "line": 1431, + "column": 54, + "start": 50409, + "end": 51023, + "length": 615, + "parent_index": 3905 + }, + "implemented": true, + "statements": [ + { + "id": 3919, + "node_type": 44, + "src": { + "line": 1432, + "column": 12, + "start": 50423, + "end": 50560, + "length": 138, + "parent_index": 3918 + }, + "assignments": [ + 3920 + ], + "declarations": [ + { + "id": 3920, + "state_mutability": 1, + "name": "balanceShares", + "node_type": 44, + "scope": 3918, + "src": { + "line": 1432, + "column": 12, + "start": 50423, + "end": 50443, + "length": 21, + "parent_index": 3919 + }, + "name_location": { + "line": 1432, + "column": 20, + "start": 50431, + "end": 50443, + "length": 13, + "parent_index": 3920 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3921, + "node_type": 30, + "src": { + "line": 1432, + "column": 12, + "start": 50423, + "end": 50429, + "length": 7, + "parent_index": 3920 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3922, + "node_type": 24, + "kind": 24, "src": { - "line": 1426, - "column": 12, - "start": 50436, - "end": 50448, - "length": 13, - "parent_index": 3923 - }, - "name": "_functionType", - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" + "line": 1432, + "column": 36, + "start": 50447, + "end": 50559, + "length": 113, + "parent_index": 3919 }, - "overloaded_declarations": [], - "referenced_declaration": 3927, - "is_pure": false, "argument_types": [ { - "type_identifier": "t_uint16", - "type_string": "uint16" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "arguments": [ + { + "id": 3925, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1433, + "column": 16, + "start": 50483, + "end": 50514, + "length": 32, + "parent_index": 3922 + }, + "member_location": { + "line": 1433, + "column": 41, + "start": 50508, + "end": 50514, + "length": 7, + "parent_index": 3925 + }, + "expression": { + "id": 3926, + "node_type": 22, + "src": { + "line": 1433, + "column": 16, + "start": 50483, + "end": 50506, + "length": 24, + "parent_index": 3925 + }, + "index_expression": { + "id": 3927, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1433, + "column": 16, + "start": 50483, + "end": 50503, + "length": 21, + "parent_index": 3926 + }, + "member_location": { + "line": 1433, + "column": 23, + "start": 50490, + "end": 50503, + "length": 14, + "parent_index": 3927 + }, + "expression": { + "id": 3928, + "node_type": 16, + "src": { + "line": 1433, + "column": 16, + "start": 50483, + "end": 50488, + "length": 6, + "parent_index": 3927 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "percentagePath", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" + }, + "base_expression": { + "id": 3929, + "node_type": 16, + "src": { + "line": 1433, + "column": 38, + "start": 50505, + "end": 50505, + "length": 1, + "parent_index": 3926 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "tokenIn", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].tokenIn" + }, + { + "id": 3930, + "node_type": 24, + "kind": 24, + "src": { + "line": 1434, + "column": 16, + "start": 50533, + "end": 50545, + "length": 13, + "parent_index": 3922 + }, + "argument_types": [ + { + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" + } + ], + "arguments": [ + { + "id": 3933, + "node_type": 16, + "src": { + "line": 1434, + "column": 24, + "start": 50541, + "end": 50544, + "length": 4, + "parent_index": 3930 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], + "expression": { + "id": 3931, + "node_type": 16, + "src": { + "line": 1434, + "column": 16, + "start": 50533, + "end": 50539, + "length": 7, + "parent_index": 3930 + }, + "name": "address", + "type_name": { + "id": 3932, + "node_type": 30, + "src": { + "line": 1434, + "column": 16, + "start": 50533, + "end": 50539, + "length": 7, + "parent_index": 3931 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + } + ], + "expression": { + "id": 3923, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1432, + "column": 36, + "start": 50447, + "end": 50464, + "length": 18, + "parent_index": 3922 + }, + "member_location": { + "line": 1432, + "column": 45, + "start": 50456, + "end": 50464, + "length": 9, + "parent_index": 3923 + }, + "expression": { + "id": 3924, + "node_type": 16, + "src": { + "line": 1432, + "column": 36, + "start": 50447, + "end": 50454, + "length": 8, + "parent_index": 3923 + }, + "name": "bentoBox", + "type_description": { + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" + }, + "overloaded_declarations": [], + "referenced_declaration": 963, + "is_pure": false, + "text": "bentoBox" + }, + "member_name": "balanceOf", + "argument_types": [], + "type_description": { + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" + }, + "text": "bentoBox.balanceOf" + }, + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address))" + } + } + }, + { + "id": 3934, + "node_type": 44, + "src": { + "line": 1436, + "column": 12, + "start": 50574, + "end": 50692, + "length": 119, + "parent_index": 3918 + }, + "assignments": [ + 3935 + ], + "declarations": [ + { + "id": 3935, + "state_mutability": 1, + "name": "transferShares", + "node_type": 44, + "scope": 3918, + "src": { + "line": 1436, + "column": 12, + "start": 50574, + "end": 50595, + "length": 22, + "parent_index": 3934 + }, + "name_location": { + "line": 1436, + "column": 20, + "start": 50582, + "end": 50595, + "length": 14, + "parent_index": 3935 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3936, + "node_type": 30, + "src": { + "line": 1436, + "column": 12, + "start": 50574, + "end": 50580, + "length": 7, + "parent_index": 3935 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3937, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1436, + "column": 37, + "start": 50599, + "end": 50691, + "length": 93, + "parent_index": 3934 + }, + "operator": 4, + "left_expression": { + "id": 3938, + "node_type": 60, + "src": { + "line": 1436, + "column": 37, + "start": 50599, + "end": 50674, + "length": 76, + "parent_index": 3937 + }, + "is_constant": false, + "is_pure": false, + "components": [ + { + "id": 3939, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1436, + "column": 38, + "start": 50600, + "end": 50673, + "length": 74, + "parent_index": 3938 + }, + "operator": 3, + "left_expression": { + "id": 3940, + "node_type": 16, + "src": { + "line": 1436, + "column": 38, + "start": 50600, + "end": 50612, + "length": 13, + "parent_index": 3939 + }, + "name": "balanceShares", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3919, + "is_pure": false, + "text": "balanceShares" + }, + "right_expression": { + "id": 3941, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1437, + "column": 16, + "start": 50632, + "end": 50673, + "length": 42, + "parent_index": 3934 + }, + "member_location": { + "line": 1437, + "column": 41, + "start": 50657, + "end": 50673, + "length": 17, + "parent_index": 3941 + }, + "expression": { + "id": 3942, + "node_type": 22, + "src": { + "line": 1437, + "column": 16, + "start": 50632, + "end": 50655, + "length": 24, + "parent_index": 3934 + }, + "index_expression": { + "id": 3943, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1437, + "column": 16, + "start": 50632, + "end": 50652, + "length": 21, + "parent_index": 3934 + }, + "member_location": { + "line": 1437, + "column": 23, + "start": 50639, + "end": 50652, + "length": 14, + "parent_index": 3943 + }, + "expression": { + "id": 3944, + "node_type": 16, + "src": { + "line": 1437, + "column": 16, + "start": 50632, + "end": 50637, + "length": 6, + "parent_index": 3943 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "percentagePath", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" + }, + "base_expression": { + "id": 3945, + "node_type": 16, + "src": { + "line": 1437, + "column": 38, + "start": 50654, + "end": 50654, + "length": 1, + "parent_index": 3942 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "balancePercentage", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].balancePercentage" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_uint256$", + "type_string": "tuple(uint256)" } - ] - }, - { - "id": 3928, - "node_type": 24, - "kind": 24, - "src": { - "line": 1427, - "column": 12, - "start": 50463, - "end": 50489, - "length": 27, - "parent_index": 3923 }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ], - "arguments": [ - { - "id": 3931, - "node_type": 16, + "right_expression": { + "id": 3947, + "node_type": 95, + "src": { + "line": 1437, + "column": 62, + "start": 50678, + "end": 50691, + "length": 14, + "parent_index": 3934 + }, + "left_expression": { + "id": 3948, + "node_type": 24, + "kind": 24, "src": { - "line": 1427, - "column": 29, - "start": 50480, - "end": 50488, - "length": 9, - "parent_index": 3928 + "line": 1437, + "column": 62, + "start": 50678, + "end": 50688, + "length": 11, + "parent_index": 3934 }, - "name": "_receiver", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "argument_types": [ + { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + } + ], + "arguments": [ + { + "id": 3951, + "node_type": 17, + "kind": 49, + "value": "10", + "hex_value": "3130", + "src": { + "line": 1437, + "column": 70, + "start": 50686, + "end": 50687, + "length": 2, + "parent_index": 3948 + }, + "type_description": { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "10" + } + ], + "expression": { + "id": 3949, + "node_type": 16, + "src": { + "line": 1437, + "column": 62, + "start": 50678, + "end": 50684, + "length": 7, + "parent_index": 3948 + }, + "name": "uint256", + "type_name": { + "id": 3950, + "node_type": 30, + "src": { + "line": 1437, + "column": 62, + "start": 50678, + "end": 50684, + "length": 7, + "parent_index": 3949 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "text": "uint256" }, - "overloaded_declarations": [], - "referenced_declaration": 3931, - "is_pure": false - } - ], - "expression": { - "id": 3929, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1427, - "column": 12, - "start": 50463, - "end": 50478, - "length": 16, - "parent_index": 3928 - }, - "member_location": { - "line": 1427, - "column": 16, - "start": 50467, - "end": 50478, - "length": 12, - "parent_index": 3929 + "type_description": { + "type_identifier": "t_function_$_t_rational_10_by_1$", + "type_string": "function(int_const 10)" + } }, - "expression": { - "id": 3930, - "node_type": 16, + "right_expression": { + "id": 3952, + "node_type": 17, + "kind": 49, + "value": "8", + "hex_value": "38", "src": { - "line": 1427, - "column": 12, - "start": 50463, - "end": 50465, - "length": 3, - "parent_index": 3929 + "line": 1437, + "column": 75, + "start": 50691, + "end": 50691, + "length": 1, + "parent_index": 3947 }, - "name": "abi", "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" + "type_identifier": "t_rational_8_by_1", + "type_string": "int_const 8" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": true, + "text": "8" }, - "member_name": "encodePacked", - "argument_types": [], - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - } + "type_descriptions": [ + { + "type_identifier": "t_function_$_t_rational_10_by_1$", + "type_string": "function(int_const 10)" + }, + { + "type_identifier": "t_rational_8_by_1", + "type_string": "int_const 8" + } + ] }, "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_tuple_$_t_uint256$", + "type_string": "tuple(uint256)" } + } + }, + { + "id": 3953, + "node_type": 24, + "kind": 24, + "src": { + "line": 1438, + "column": 12, + "start": 50706, + "end": 50896, + "length": 191, + "parent_index": 3918 }, - { - "id": 3932, - "node_type": 24, - "kind": 24, - "src": { - "line": 1428, - "column": 12, - "start": 50504, - "end": 50523, - "length": 20, - "parent_index": 3923 + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "argument_types": [ - { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - ], - "arguments": [ - { - "id": 3935, - "node_type": 16, - "src": { - "line": 1428, - "column": 23, - "start": 50515, - "end": 50522, - "length": 8, - "parent_index": 3932 - }, - "name": "_payload", - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - }, - "overloaded_declarations": [], - "referenced_declaration": 3935, - "is_pure": false - } - ], - "expression": { - "id": 3933, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "arguments": [ + { + "id": 3956, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1428, - "column": 12, - "start": 50504, - "end": 50513, - "length": 10, - "parent_index": 3932 + "line": 1439, + "column": 16, + "start": 50741, + "end": 50772, + "length": 32, + "parent_index": 3953 }, "member_location": { - "line": 1428, - "column": 16, - "start": 50508, - "end": 50513, - "length": 6, - "parent_index": 3933 + "line": 1439, + "column": 41, + "start": 50766, + "end": 50772, + "length": 7, + "parent_index": 3956 }, "expression": { - "id": 3934, - "node_type": 16, + "id": 3957, + "node_type": 22, "src": { - "line": 1428, - "column": 12, - "start": 50504, - "end": 50506, - "length": 3, - "parent_index": 3933 + "line": 1439, + "column": 16, + "start": 50741, + "end": 50764, + "length": 24, + "parent_index": 3956 }, - "name": "abi", - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" + "index_expression": { + "id": 3958, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1439, + "column": 16, + "start": 50741, + "end": 50761, + "length": 21, + "parent_index": 3957 + }, + "member_location": { + "line": 1439, + "column": 23, + "start": 50748, + "end": 50761, + "length": 14, + "parent_index": 3958 + }, + "expression": { + "id": 3959, + "node_type": 16, + "src": { + "line": 1439, + "column": 16, + "start": 50741, + "end": 50746, + "length": 6, + "parent_index": 3958 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "percentagePath", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "base_expression": { + "id": 3960, + "node_type": 16, + "src": { + "line": 1439, + "column": 38, + "start": 50763, + "end": 50763, + "length": 1, + "parent_index": 3957 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } }, - "member_name": "encode", + "member_name": "tokenIn", "argument_types": [], "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_bytes$", - "type_string": "function(bytes)" - } - }, - { - "id": 3936, - "node_type": 24, - "kind": 24, - "src": { - "line": 1429, - "column": 12, - "start": 50538, - "end": 50670, - "length": 133, - "parent_index": 3923 - }, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "text": "params.percentagePath[i].tokenIn" + }, + { + "id": 3961, + "node_type": 24, + "kind": 24, + "src": { + "line": 1440, + "column": 16, + "start": 50791, + "end": 50803, + "length": 13, + "parent_index": 3953 }, - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - ], - "arguments": [ - { - "id": 3939, + "argument_types": [ + { + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" + } + ], + "arguments": [ + { + "id": 3964, + "node_type": 16, + "src": { + "line": 1440, + "column": 24, + "start": 50799, + "end": 50802, + "length": 4, + "parent_index": 3961 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], + "expression": { + "id": 3962, "node_type": 16, "src": { - "line": 1430, + "line": 1440, "column": 16, - "start": 50579, - "end": 50582, - "length": 4, - "parent_index": 3936 - }, - "name": "_gas", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "start": 50791, + "end": 50797, + "length": 7, + "parent_index": 3961 }, - "overloaded_declarations": [], - "referenced_declaration": 3939, - "is_pure": false - }, - { - "id": 3940, - "node_type": 16, - "src": { - "line": 1431, - "column": 16, - "start": 50601, - "end": 50611, - "length": 11, - "parent_index": 3936 + "name": "address", + "type_name": { + "id": 3963, + "node_type": 30, + "src": { + "line": 1440, + "column": 16, + "start": 50791, + "end": 50797, + "length": 7, + "parent_index": 3962 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "name": "_dustAmount", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" }, "overloaded_declarations": [], - "referenced_declaration": 3940, + "referenced_declaration": 0, "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - { - "id": 3941, - "node_type": 24, - "kind": 24, - "src": { - "line": 1432, - "column": 16, - "start": 50630, - "end": 50656, - "length": 27, - "parent_index": 3936 - }, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } ], - "arguments": [ - { - "id": 3944, - "node_type": 16, - "src": { - "line": 1432, - "column": 33, - "start": 50647, - "end": 50655, - "length": 9, - "parent_index": 3941 - }, - "name": "_receiver", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 3944, - "is_pure": false - } - ], - "expression": { - "id": 3942, + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + }, + { + "id": 3965, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1441, + "column": 16, + "start": 50822, + "end": 50850, + "length": 29, + "parent_index": 3953 + }, + "member_location": { + "line": 1441, + "column": 41, + "start": 50847, + "end": 50850, + "length": 4, + "parent_index": 3965 + }, + "expression": { + "id": 3966, + "node_type": 22, + "src": { + "line": 1441, + "column": 16, + "start": 50822, + "end": 50845, + "length": 24, + "parent_index": 3965 + }, + "index_expression": { + "id": 3967, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1432, + "line": 1441, "column": 16, - "start": 50630, - "end": 50645, - "length": 16, - "parent_index": 3941 + "start": 50822, + "end": 50842, + "length": 21, + "parent_index": 3966 }, "member_location": { - "line": 1432, - "column": 20, - "start": 50634, - "end": 50645, - "length": 12, - "parent_index": 3942 + "line": 1441, + "column": 23, + "start": 50829, + "end": 50842, + "length": 14, + "parent_index": 3967 }, "expression": { - "id": 3943, + "id": 3968, "node_type": 16, "src": { - "line": 1432, + "line": 1441, "column": 16, - "start": 50630, - "end": 50632, - "length": 3, - "parent_index": 3942 + "start": 50822, + "end": 50827, + "length": 6, + "parent_index": 3967 }, - "name": "abi", + "name": "params", "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, - "member_name": "encodePacked", + "member_name": "percentagePath", "argument_types": [], "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" + }, + "base_expression": { + "id": 3969, + "node_type": 16, + "src": { + "line": 1441, + "column": 38, + "start": 50844, + "end": 50844, + "length": 1, + "parent_index": 3966 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "pool", + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - } - ], - "expression": { - "id": 3937, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].pool" + }, + { + "id": 3970, + "node_type": 16, "src": { - "line": 1429, - "column": 12, - "start": 50538, - "end": 50560, - "length": 23, - "parent_index": 3936 + "line": 1442, + "column": 16, + "start": 50869, + "end": 50882, + "length": 14, + "parent_index": 3953 }, - "member_location": { - "line": 1429, - "column": 28, - "start": 50554, - "end": 50560, - "length": 7, - "parent_index": 3937 + "name": "transferShares", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "expression": { - "id": 3938, - "node_type": 16, - "src": { - "line": 1429, - "column": 12, - "start": 50538, - "end": 50552, - "length": 15, - "parent_index": 3937 + "overloaded_declarations": [], + "referenced_declaration": 3934, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "name": "IStargateRouter", - "type_description": { - "type_identifier": "t_contract$_IStargateRouter_$700", - "type_string": "contract IStargateRouter" + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" }, - "overloaded_declarations": [], - "referenced_declaration": 700, - "is_pure": false - }, - "member_name": "lzTxObj", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IStargateRouter_$700", - "type_string": "contract IStargateRouter" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", - "type_string": "function(uint256,uint256,function(address))" + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "text": "transferShares" } - } - ], - "expression": { - "id": 3924, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1424, - "column": 17, - "start": 50365, - "end": 50396, - "length": 32, - "parent_index": 3923 - }, - "member_location": { - "line": 1424, - "column": 32, - "start": 50380, - "end": 50396, - "length": 17, - "parent_index": 3924 - }, + ], "expression": { - "id": 3925, - "node_type": 16, + "id": 3954, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1424, - "column": 17, - "start": 50365, - "end": 50378, - "length": 14, - "parent_index": 3924 + "line": 1438, + "column": 12, + "start": 50706, + "end": 50722, + "length": 17, + "parent_index": 3953 }, - "name": "stargateRouter", + "member_location": { + "line": 1438, + "column": 21, + "start": 50715, + "end": 50722, + "length": 8, + "parent_index": 3954 + }, + "expression": { + "id": 3955, + "node_type": 16, + "src": { + "line": 1438, + "column": 12, + "start": 50706, + "end": 50713, + "length": 8, + "parent_index": 3954 + }, + "name": "bentoBox", + "type_description": { + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" + }, + "overloaded_declarations": [], + "referenced_declaration": 963, + "is_pure": false, + "text": "bentoBox" + }, + "member_name": "transfer", + "argument_types": [], "type_description": { - "type_identifier": "t_contract$_IStargateRouter_$700", - "type_string": "contract IStargateRouter" + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" }, - "overloaded_declarations": [], - "referenced_declaration": 967, - "is_pure": false + "text": "bentoBox.transfer" }, - "member_name": "quoteLayerZeroFee", - "argument_types": [], "type_description": { - "type_identifier": "t_contract$_IStargateRouter_$700", - "type_string": "contract IStargateRouter" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_uint256$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],uint256)" } }, - "type_description": { - "type_identifier": "t_function_$_t_uint16$_t_uint8$_t_function_$_t_address$_t_function_$_t_bytes$_t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", - "type_string": "function(uint16,uint8,function(address),function(bytes),function(uint256,uint256,function(address)))" - } - }, - "type_description": { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - } - }, - "type_description": { - "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", - "type_string": "tuple(uint256,uint256)" - } - } - ] - }, - "implemented": true, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 3899, - "node_type": 43, - "src": { - "line": 1417, - "column": 8, - "start": 50138, - "end": 50293, - "length": 156, - "parent_index": 3898 - }, - "parameters": [ - { - "id": 3900, - "node_type": 44, - "src": { - "line": 1417, - "column": 8, - "start": 50138, - "end": 50155, - "length": 18, - "parent_index": 3899 - }, - "scope": 3898, - "name": "_dstChainId", - "type_name": { - "id": 3901, - "node_type": 30, - "src": { - "line": 1417, - "column": 8, - "start": 50138, - "end": 50143, - "length": 6, - "parent_index": 3900 - }, - "name": "uint16", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" - } - }, - { - "id": 3902, - "node_type": 44, - "src": { - "line": 1418, - "column": 8, - "start": 50166, - "end": 50184, - "length": 19, - "parent_index": 3899 - }, - "scope": 3898, - "name": "_functionType", - "type_name": { - "id": 3903, - "node_type": 30, - "src": { - "line": 1418, - "column": 8, - "start": 50166, - "end": 50170, - "length": 5, - "parent_index": 3902 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - }, - { - "id": 3904, - "node_type": 44, - "src": { - "line": 1419, - "column": 8, - "start": 50195, - "end": 50211, - "length": 17, - "parent_index": 3899 - }, - "scope": 3898, - "name": "_receiver", - "type_name": { - "id": 3905, - "node_type": 30, - "src": { - "line": 1419, - "column": 8, - "start": 50195, - "end": 50201, - "length": 7, - "parent_index": 3904 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 3906, - "node_type": 44, - "src": { - "line": 1420, - "column": 8, - "start": 50222, - "end": 50233, - "length": 12, - "parent_index": 3899 - }, - "scope": 3898, - "name": "_gas", - "type_name": { - "id": 3907, - "node_type": 30, - "src": { - "line": 1420, - "column": 8, - "start": 50222, - "end": 50228, - "length": 7, - "parent_index": 3906 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3908, - "node_type": 44, - "src": { - "line": 1421, - "column": 8, - "start": 50244, - "end": 50262, - "length": 19, - "parent_index": 3899 - }, - "scope": 3898, - "name": "_dustAmount", - "type_name": { - "id": 3909, - "node_type": 30, - "src": { - "line": 1421, - "column": 8, - "start": 50244, - "end": 50250, - "length": 7, - "parent_index": 3908 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3910, - "node_type": 44, - "src": { - "line": 1422, - "column": 8, - "start": 50273, - "end": 50293, - "length": 21, - "parent_index": 3899 - }, - "scope": 3898, - "name": "_payload", - "type_name": { - "id": 3911, - "node_type": 30, - "src": { - "line": 1422, - "column": 8, - "start": 50273, - "end": 50277, - "length": 5, - "parent_index": 3910 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint16", - "type_string": "uint16" - }, - { - "type_identifier": "t_uint8", - "type_string": "uint8" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - ] - }, - "return_parameters": { - "id": 3912, - "node_type": 43, - "src": { - "line": 1423, - "column": 29, - "start": 50324, - "end": 50343, - "length": 20, - "parent_index": 3898 - }, - "parameters": [ - { - "id": 3913, - "node_type": 44, - "src": { - "line": 1423, - "column": 29, - "start": 50324, - "end": 50332, - "length": 9, - "parent_index": 3912 - }, - "scope": 3898, - "name": "a", - "type_name": { - "id": 3914, - "node_type": 30, - "src": { - "line": 1423, - "column": 29, - "start": 50324, - "end": 50330, - "length": 7, - "parent_index": 3913 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 3915, - "node_type": 44, - "src": { - "line": 1423, - "column": 40, - "start": 50335, - "end": 50343, - "length": 9, - "parent_index": 3912 - }, - "scope": 3898, - "name": "b", - "type_name": { - "id": 3916, - "node_type": 30, - "src": { - "line": 1423, - "column": 40, - "start": 50335, - "end": 50341, - "length": 7, - "parent_index": 3915 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "id": 3971, + "node_type": 24, + "kind": 24, + "src": { + "line": 1444, + "column": 12, + "start": 50911, + "end": 51012, + "length": 102, + "parent_index": 3918 + }, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "id": 3980, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1445, + "column": 16, + "start": 50970, + "end": 50998, + "length": 29, + "parent_index": 3971 + }, + "member_location": { + "line": 1445, + "column": 41, + "start": 50995, + "end": 50998, + "length": 4, + "parent_index": 3980 + }, + "expression": { + "id": 3981, + "node_type": 22, + "src": { + "line": 1445, + "column": 16, + "start": 50970, + "end": 50993, + "length": 24, + "parent_index": 3980 + }, + "index_expression": { + "id": 3982, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1445, + "column": 16, + "start": 50970, + "end": 50990, + "length": 21, + "parent_index": 3981 + }, + "member_location": { + "line": 1445, + "column": 23, + "start": 50977, + "end": 50990, + "length": 14, + "parent_index": 3982 + }, + "expression": { + "id": 3983, + "node_type": 16, + "src": { + "line": 1445, + "column": 16, + "start": 50970, + "end": 50975, + "length": 6, + "parent_index": 3982 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "percentagePath", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" + }, + "base_expression": { + "id": 3984, + "node_type": 16, + "src": { + "line": 1445, + "column": 38, + "start": 50992, + "end": 50992, + "length": 1, + "parent_index": 3981 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "data", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].data" + } + ], + "expression": { + "id": 3972, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1444, + "column": 12, + "start": 50911, + "end": 50951, + "length": 41, + "parent_index": 3971 + }, + "member_location": { + "line": 1444, + "column": 49, + "start": 50948, + "end": 50951, + "length": 4, + "parent_index": 3972 + }, + "expression": { + "id": 3973, + "node_type": 24, + "kind": 24, + "src": { + "line": 1444, + "column": 12, + "start": 50911, + "end": 50946, + "length": 36, + "parent_index": 3972 + }, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "id": 3975, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1444, + "column": 18, + "start": 50917, + "end": 50945, + "length": 29, + "parent_index": 3973 + }, + "member_location": { + "line": 1444, + "column": 43, + "start": 50942, + "end": 50945, + "length": 4, + "parent_index": 3975 + }, + "expression": { + "id": 3976, + "node_type": 22, + "src": { + "line": 1444, + "column": 18, + "start": 50917, + "end": 50940, + "length": 24, + "parent_index": 3975 + }, + "index_expression": { + "id": 3977, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1444, + "column": 18, + "start": 50917, + "end": 50937, + "length": 21, + "parent_index": 3976 + }, + "member_location": { + "line": 1444, + "column": 25, + "start": 50924, + "end": 50937, + "length": 14, + "parent_index": 3977 + }, + "expression": { + "id": 3978, + "node_type": 16, + "src": { + "line": 1444, + "column": 18, + "start": 50917, + "end": 50922, + "length": 6, + "parent_index": 3977 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "percentagePath", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" + }, + "base_expression": { + "id": 3979, + "node_type": 16, + "src": { + "line": 1444, + "column": 40, + "start": 50939, + "end": 50939, + "length": 1, + "parent_index": 3976 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "pool", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].pool" + } + ], + "expression": { + "id": 3974, + "node_type": 16, + "src": { + "line": 1444, + "column": 12, + "start": 50911, + "end": 50915, + "length": 5, + "parent_index": 3973 + }, + "name": "IPool", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IPool" + }, + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + }, + "member_name": "swap", + "argument_types": [], + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + }, + "text": "IPool(params.percentagePath[i].pool).swap" + }, + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + } + ] } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "getFee(uint16, uint8, address, uint256, uint256, bytes)", - "signature": "ac0acf65", - "scope": 3745, - "type_description": { - "type_identifier": "t_function_$_t_uint16$_t_uint8$_t_address$_t_uint256$_t_uint256$_t_bytes$", - "type_string": "function(uint16,uint8,address,uint256,uint256,bytes)" - } - }, - { - "id": 3946, - "name": "sgReceive", - "node_type": 42, - "kind": 41, - "src": { - "line": 1441, - "column": 4, - "start": 50889, - "end": 52107, - "length": 1219, - "parent_index": 3745 - }, - "name_location": { - "line": 1441, - "column": 13, - "start": 50898, - "end": 50906, - "length": 9, - "parent_index": 3946 - }, - "body": { - "id": 3962, - "node_type": 46, - "kind": 0, - "src": { - "line": 1448, - "column": 24, - "start": 51067, - "end": 52107, - "length": 1041, - "parent_index": 3946 - }, - "implemented": true, - "statements": [ - { - "id": 3963, - "node_type": 48, + "id": 3985, + "node_type": 27, "src": { "line": 1449, - "column": 0, - "start": 51077, - "end": 51146, - "length": 70, - "parent_index": 3962 + "column": 8, + "start": 51112, + "end": 51136, + "length": 25, + "parent_index": 3842 }, - "condition": { - "id": 3964, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "expression": { + "id": 3986, + "node_type": 27, "src": { "line": 1449, - "column": 12, - "start": 51081, - "end": 51117, - "length": 37, - "parent_index": 3963 + "column": 8, + "start": 51112, + "end": 51135, + "length": 24, + "parent_index": 3985 }, - "operator": 12, + "operator": 11, "left_expression": { - "id": 3965, + "id": 3987, + "node_type": 16, + "src": { + "line": 1449, + "column": 8, + "start": 51112, + "end": 51112, + "length": 1, + "parent_index": 3986 + }, + "name": "n", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" + }, + "right_expression": { + "id": 3988, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -71302,1253 +72461,1308 @@ "src": { "line": 1449, "column": 12, - "start": 51081, - "end": 51090, - "length": 10, - "parent_index": 3964 + "start": 51116, + "end": 51135, + "length": 20, + "parent_index": 3986 }, "member_location": { "line": 1449, - "column": 16, - "start": 51085, - "end": 51090, + "column": 26, + "start": 51130, + "end": 51135, "length": 6, - "parent_index": 3965 + "parent_index": 3988 }, "expression": { - "id": 3966, - "node_type": 16, + "id": 3989, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { "line": 1449, "column": 12, - "start": 51081, - "end": 51083, - "length": 3, - "parent_index": 3965 + "start": 51116, + "end": 51128, + "length": 13, + "parent_index": 3988 }, - "name": "msg", - "type_description": { - "type_identifier": "t_magic_message", - "type_string": "msg" + "member_location": { + "line": 1449, + "column": 19, + "start": 51123, + "end": 51128, + "length": 6, + "parent_index": 3989 }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "member_name": "sender", - "argument_types": [], - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "right_expression": { - "id": 3967, - "node_type": 24, - "kind": 24, - "src": { - "line": 1449, - "column": 26, - "start": 51095, - "end": 51117, - "length": 23, - "parent_index": 3964 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "arguments": [ - { - "id": 3970, + "expression": { + "id": 3990, "node_type": 16, "src": { "line": 1449, - "column": 34, - "start": 51103, - "end": 51116, - "length": 14, - "parent_index": 3967 + "column": 12, + "start": 51116, + "end": 51121, + "length": 6, + "parent_index": 3989 }, - "name": "stargateRouter", + "name": "params", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 3968, - "node_type": 16, - "src": { - "line": 1449, - "column": 26, - "start": 51095, - "end": 51101, - "length": 7, - "parent_index": 3967 - }, - "name": "address", - "type_name": { - "id": 3969, - "node_type": 30, - "src": { - "line": 1449, - "column": 26, - "start": 51095, - "end": 51101, - "length": 7, - "parent_index": 3968 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "referenced_declaration": 3990, + "is_pure": false, + "text": "params" }, + "member_name": "output", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + "text": "params.output" }, + "member_name": "length", + "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" + }, + "text": "params.output.length" }, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - "body": { - "id": 3971, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "n=params.output.length;" }, { - "id": 3972, - "node_type": 44, + "id": 3991, + "node_type": 79, "src": { - "line": 1451, - "column": 8, - "start": 51157, - "end": 51401, - "length": 245, - "parent_index": 3962 + "line": 1450, + "column": 0, + "start": 51146, + "end": 51969, + "length": 824, + "parent_index": 3842 }, - "assignments": [ - 3973, - 3975, - 3977, - 3979, - 3981 - ], - "declarations": [ - { - "id": 3973, - "state_mutability": 1, - "name": "to", - "node_type": 44, - "scope": 3962, - "src": { - "line": 1452, - "column": 12, - "start": 51171, - "end": 51180, - "length": 10, - "parent_index": 3972 - }, - "name_location": { - "line": 1452, - "column": 20, - "start": 51179, - "end": 51180, - "length": 2, - "parent_index": 3973 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 3974, - "node_type": 30, + "initialiser": { + "id": 3992, + "node_type": 44, + "src": { + "line": 1450, + "column": 13, + "start": 51151, + "end": 51164, + "length": 14, + "parent_index": 3842 + }, + "assignments": [ + 3993 + ], + "declarations": [ + { + "id": 3993, + "state_mutability": 1, + "name": "i", + "node_type": 44, + "scope": 3842, "src": { - "line": 1452, - "column": 12, - "start": 51171, - "end": 51177, - "length": 7, - "parent_index": 3973 + "line": 1450, + "column": 13, + "start": 51151, + "end": 51159, + "length": 9, + "parent_index": 3992 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "visibility": 1 - }, - { - "id": 3975, - "state_mutability": 1, - "name": "actions", - "node_type": 44, - "scope": 3962, + "name_location": { + "line": 1450, + "column": 21, + "start": 51159, + "end": 51159, + "length": 1, + "parent_index": 3993 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 3994, + "node_type": 30, + "src": { + "line": 1450, + "column": 13, + "start": 51151, + "end": 51157, + "length": 7, + "parent_index": 3993 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 3995, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 1453, - "column": 12, - "start": 51195, - "end": 51216, - "length": 22, - "parent_index": 3972 - }, - "name_location": { - "line": 1453, - "column": 27, - "start": 51210, - "end": 51216, - "length": 7, - "parent_index": 3975 + "line": 1450, + "column": 25, + "start": 51163, + "end": 51163, + "length": 1, + "parent_index": 3992 }, - "is_state_variable": false, - "storage_location": 2, - "type_name": { - "id": 3976, - "node_type": 16, - "src": { - "line": 1453, - "column": 12, - "start": 51195, - "end": 51199, - "length": 5, - "parent_index": 3975 - }, - "name": "uint8", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - } + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, - "visibility": 1 + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + }, + "condition": { + "id": 3996, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1450, + "column": 28, + "start": 51166, + "end": 51170, + "length": 5, + "parent_index": 3991 }, - { - "id": 3977, - "state_mutability": 1, - "name": "values", - "node_type": 44, - "scope": 3962, + "operator": 9, + "left_expression": { + "id": 3997, + "node_type": 16, "src": { - "line": 1454, - "column": 12, - "start": 51231, - "end": 51253, - "length": 23, - "parent_index": 3972 - }, - "name_location": { - "line": 1454, - "column": 29, - "start": 51248, - "end": 51253, - "length": 6, - "parent_index": 3977 + "line": 1450, + "column": 28, + "start": 51166, + "end": 51166, + "length": 1, + "parent_index": 3996 }, - "is_state_variable": false, - "storage_location": 2, - "type_name": { - "id": 3978, - "node_type": 16, - "src": { - "line": 1454, - "column": 12, - "start": 51231, - "end": 51237, - "length": 7, - "parent_index": 3977 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "visibility": 1 + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, - { - "id": 3979, - "state_mutability": 1, - "name": "datas", - "node_type": 44, - "scope": 3962, + "right_expression": { + "id": 3998, + "node_type": 16, "src": { - "line": 1455, - "column": 12, - "start": 51268, - "end": 51287, - "length": 20, - "parent_index": 3972 - }, - "name_location": { - "line": 1455, - "column": 27, - "start": 51283, - "end": 51287, - "length": 5, - "parent_index": 3979 + "line": 1450, + "column": 32, + "start": 51170, + "end": 51170, + "length": 1, + "parent_index": 3996 }, - "is_state_variable": false, - "storage_location": 2, - "type_name": { - "id": 3980, - "node_type": 16, - "src": { - "line": 1455, - "column": 12, - "start": 51268, - "end": 51272, - "length": 5, - "parent_index": 3979 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } + "name": "n", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "visibility": 1 + "overloaded_declarations": [], + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" }, - { - "id": 3981, - "state_mutability": 1, - "name": "srcContext", - "node_type": 44, - "scope": 3962, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "closure": { + "id": 3999, + "node_type": 27, + "src": { + "line": 1450, + "column": 35, + "start": 51173, + "end": 51189, + "length": 17, + "parent_index": 3991 + }, + "operator": 11, + "left_expression": { + "id": 4000, + "node_type": 16, "src": { - "line": 1456, - "column": 12, - "start": 51302, - "end": 51319, - "length": 18, - "parent_index": 3972 - }, - "name_location": { - "line": 1456, - "column": 20, - "start": 51310, - "end": 51319, - "length": 10, - "parent_index": 3981 + "line": 1450, + "column": 35, + "start": 51173, + "end": 51173, + "length": 1, + "parent_index": 3999 }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 3982, - "node_type": 30, - "src": { - "line": 1456, - "column": 12, - "start": 51302, - "end": 51308, - "length": 7, - "parent_index": 3981 - }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "visibility": 1 - } - ], - "initial_value": { - "id": 3983, - "node_type": 24, - "kind": 24, - "src": { - "line": 1457, - "column": 12, - "start": 51333, - "end": 51400, - "length": 68, - "parent_index": 3972 + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, - "argument_types": [ - { - "type_identifier": "t_bytes", - "type_string": "bytes" + "right_expression": { + "id": 4001, + "node_type": 24, + "kind": 24, + "src": { + "line": 1450, + "column": 39, + "start": 51177, + "end": 51189, + "length": 13, + "parent_index": 3999 }, - { - "type_identifier": "t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", - "type_string": "tuple(address,index[uint8],index[uint256],index[bytes],bytes32)" - } - ], - "arguments": [ - { - "id": 3986, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "arguments": [ + { + "id": 4003, + "node_type": 16, + "src": { + "line": 1450, + "column": 50, + "start": 51188, + "end": 51188, + "length": 1, + "parent_index": 4001 + }, + "name": "i", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "i" + } + ], + "expression": { + "id": 4002, "node_type": 16, "src": { - "line": 1457, - "column": 23, - "start": 51344, - "end": 51350, - "length": 7, - "parent_index": 3983 + "line": 1450, + "column": 39, + "start": 51177, + "end": 51186, + "length": 10, + "parent_index": 4001 }, - "name": "payload", + "name": "_increment", "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_function_$", + "type_string": "function()" }, "overloaded_declarations": [], - "referenced_declaration": 3986, - "is_pure": false + "referenced_declaration": 0, + "is_pure": false, + "text": "_increment" }, + "type_description": { + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" + } + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "body": { + "id": 4004, + "node_type": 46, + "kind": 0, + "src": { + "line": 1450, + "column": 54, + "start": 51192, + "end": 51969, + "length": 778, + "parent_index": 3991 + }, + "implemented": true, + "statements": [ { - "id": 3987, - "node_type": 60, + "id": 4005, + "node_type": 44, "src": { - "line": 1457, - "column": 32, - "start": 51353, - "end": 51399, - "length": 47, - "parent_index": 3983 + "line": 1451, + "column": 12, + "start": 51206, + "end": 51333, + "length": 128, + "parent_index": 4004 }, - "is_constant": false, - "is_pure": false, - "components": [ + "assignments": [ + 4006 + ], + "declarations": [ { - "id": 3988, - "node_type": 16, + "id": 4006, + "state_mutability": 1, + "name": "balanceShares", + "node_type": 44, + "scope": 4004, "src": { - "line": 1457, - "column": 33, - "start": 51354, - "end": 51360, - "length": 7, - "parent_index": 3987 + "line": 1451, + "column": 12, + "start": 51206, + "end": 51226, + "length": 21, + "parent_index": 4005 }, - "name": "address", + "name_location": { + "line": 1451, + "column": 20, + "start": 51214, + "end": 51226, + "length": 13, + "parent_index": 4006 + }, + "is_state_variable": false, + "storage_location": 1, "type_name": { - "id": 3989, + "id": 4007, "node_type": 30, "src": { - "line": 1457, - "column": 33, - "start": 51354, - "end": 51360, + "line": 1451, + "column": 12, + "start": 51206, + "end": 51212, "length": 7, - "parent_index": 3988 + "parent_index": 4006 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "visibility": 1 + } + ], + "initial_value": { + "id": 4008, + "node_type": 24, + "kind": 24, + "src": { + "line": 1451, + "column": 36, + "start": 51230, + "end": 51332, + "length": 103, + "parent_index": 4005 }, - { - "id": 3990, - "node_type": 22, - "src": { - "line": 1457, - "column": 42, - "start": 51363, - "end": 51369, - "length": 7, - "parent_index": 3987 + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "index_expression": { - "id": 3991, - "node_type": 16, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "arguments": [ + { + "id": 4011, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1457, - "column": 42, - "start": 51363, - "end": 51367, + "line": 1452, + "column": 16, + "start": 51266, + "end": 51287, + "length": 22, + "parent_index": 4008 + }, + "member_location": { + "line": 1452, + "column": 33, + "start": 51283, + "end": 51287, "length": 5, - "parent_index": 3990 + "parent_index": 4011 }, - "name": "uint8", - "type_name": { - "id": 3992, - "node_type": 30, + "expression": { + "id": 4012, + "node_type": 22, "src": { - "line": 1457, - "column": 42, - "start": 51363, - "end": 51367, - "length": 5, - "parent_index": 3991 + "line": 1452, + "column": 16, + "start": 51266, + "end": 51281, + "length": 16, + "parent_index": 4011 }, - "name": "uint8", - "referenced_declaration": 0, + "index_expression": { + "id": 4013, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1452, + "column": 16, + "start": 51266, + "end": 51278, + "length": 13, + "parent_index": 4012 + }, + "member_location": { + "line": 1452, + "column": 23, + "start": 51273, + "end": 51278, + "length": 6, + "parent_index": 4013 + }, + "expression": { + "id": 4014, + "node_type": 16, + "src": { + "line": 1452, + "column": 16, + "start": 51266, + "end": 51271, + "length": 6, + "parent_index": 4013 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "output", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" + }, + "base_expression": { + "id": 4015, + "node_type": 16, + "src": { + "line": 1452, + "column": 30, + "start": 51280, + "end": 51280, + "length": 1, + "parent_index": 4012 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, + "member_name": "token", + "argument_types": [], "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false + "text": "params.output[i].token" }, - "base_expression": null, - "type_descriptions": [ - { - "type_identifier": "t_uint8", - "type_string": "uint8" + { + "id": 4016, + "node_type": 24, + "kind": 24, + "src": { + "line": 1453, + "column": 16, + "start": 51306, + "end": 51318, + "length": 13, + "parent_index": 4008 + }, + "argument_types": [ + { + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" + } + ], + "arguments": [ + { + "id": 4019, + "node_type": 16, + "src": { + "line": 1453, + "column": 24, + "start": 51314, + "end": 51317, + "length": 4, + "parent_index": 4016 + }, + "name": "this", + "type_description": { + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "this" + } + ], + "expression": { + "id": 4017, + "node_type": 16, + "src": { + "line": 1453, + "column": 16, + "start": 51306, + "end": 51312, + "length": 7, + "parent_index": 4016 + }, + "name": "address", + "type_name": { + "id": 4018, + "node_type": 30, + "src": { + "line": 1453, + "column": 16, + "start": 51306, + "end": 51312, + "length": 7, + "parent_index": 4017 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "address" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" } - ], - "type_description": { - "type_identifier": "t_[_[$_t_uint8]$", - "type_string": "index[uint8]" } + ], + "expression": { + "id": 4009, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1451, + "column": 36, + "start": 51230, + "end": 51247, + "length": 18, + "parent_index": 4008 + }, + "member_location": { + "line": 1451, + "column": 45, + "start": 51239, + "end": 51247, + "length": 9, + "parent_index": 4009 + }, + "expression": { + "id": 4010, + "node_type": 16, + "src": { + "line": 1451, + "column": 36, + "start": 51230, + "end": 51237, + "length": 8, + "parent_index": 4009 + }, + "name": "bentoBox", + "type_description": { + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" + }, + "overloaded_declarations": [], + "referenced_declaration": 963, + "is_pure": false, + "text": "bentoBox" + }, + "member_name": "balanceOf", + "argument_types": [], + "type_description": { + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" + }, + "text": "bentoBox.balanceOf" }, - { - "id": 3993, - "node_type": 22, + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address))" + } + } + }, + { + "id": 4020, + "node_type": 48, + "src": { + "line": 1455, + "column": 0, + "start": 51347, + "end": 51437, + "length": 91, + "parent_index": 4004 + }, + "condition": { + "id": 4021, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1455, + "column": 16, + "start": 51351, + "end": 51392, + "length": 42, + "parent_index": 4020 + }, + "operator": 9, + "left_expression": { + "id": 4022, + "node_type": 16, + "src": { + "line": 1455, + "column": 16, + "start": 51351, + "end": 51363, + "length": 13, + "parent_index": 4021 + }, + "name": "balanceShares", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 4005, + "is_pure": false, + "text": "balanceShares" + }, + "right_expression": { + "id": 4023, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1457, - "column": 51, - "start": 51372, - "end": 51380, + "line": 1455, + "column": 32, + "start": 51367, + "end": 51392, + "length": 26, + "parent_index": 4021 + }, + "member_location": { + "line": 1455, + "column": 49, + "start": 51384, + "end": 51392, "length": 9, - "parent_index": 3987 + "parent_index": 4023 }, - "index_expression": { - "id": 3994, - "node_type": 16, + "expression": { + "id": 4024, + "node_type": 22, "src": { - "line": 1457, - "column": 51, - "start": 51372, - "end": 51378, - "length": 7, - "parent_index": 3993 + "line": 1455, + "column": 32, + "start": 51367, + "end": 51382, + "length": 16, + "parent_index": 4023 }, - "name": "uint256", - "type_name": { - "id": 3995, - "node_type": 30, + "index_expression": { + "id": 4025, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 1457, - "column": 51, - "start": 51372, - "end": 51378, - "length": 7, - "parent_index": 3994 + "line": 1455, + "column": 32, + "start": 51367, + "end": 51379, + "length": 13, + "parent_index": 4024 }, - "name": "uint256", - "referenced_declaration": 0, + "member_location": { + "line": 1455, + "column": 39, + "start": 51374, + "end": 51379, + "length": 6, + "parent_index": 4025 + }, + "expression": { + "id": 4026, + "node_type": 16, + "src": { + "line": 1455, + "column": 32, + "start": 51367, + "end": 51372, + "length": 6, + "parent_index": 4025 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "output", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" + }, + "base_expression": { + "id": 4027, + "node_type": 16, + "src": { + "line": 1455, + "column": 46, + "start": 51381, + "end": 51381, + "length": 1, + "parent_index": 4024 + }, + "name": "i", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "base_expression": null, - "type_descriptions": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } - ], + }, + "member_name": "minAmount", + "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_uint256]$", - "type_string": "index[uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.output[i].minAmount" }, - { - "id": 3996, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 4028, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 4029, + "node_type": 48, + "src": { + "line": 1457, + "column": 0, + "start": 51451, + "end": 51959, + "length": 509, + "parent_index": 4004 + }, + "condition": { + "id": 4030, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1457, + "column": 16, + "start": 51455, + "end": 51482, + "length": 28, + "parent_index": 4029 + }, + "member_location": { + "line": 1457, + "column": 33, + "start": 51472, + "end": 51482, + "length": 11, + "parent_index": 4030 + }, + "expression": { + "id": 4031, "node_type": 22, "src": { "line": 1457, - "column": 62, - "start": 51383, - "end": 51389, - "length": 7, - "parent_index": 3987 + "column": 16, + "start": 51455, + "end": 51470, + "length": 16, + "parent_index": 4030 }, "index_expression": { - "id": 3997, - "node_type": 16, + "id": 4032, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { "line": 1457, - "column": 62, - "start": 51383, - "end": 51387, - "length": 5, - "parent_index": 3996 + "column": 16, + "start": 51455, + "end": 51467, + "length": 13, + "parent_index": 4031 }, - "name": "bytes", - "type_name": { - "id": 3998, - "node_type": 30, + "member_location": { + "line": 1457, + "column": 23, + "start": 51462, + "end": 51467, + "length": 6, + "parent_index": 4032 + }, + "expression": { + "id": 4033, + "node_type": 16, "src": { "line": 1457, - "column": 62, - "start": 51383, - "end": 51387, - "length": 5, - "parent_index": 3997 + "column": 16, + "start": 51455, + "end": 51460, + "length": 6, + "parent_index": 4032 }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "base_expression": null, - "type_descriptions": [ - { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - ], - "type_description": { - "type_identifier": "t_[_[$_t_bytes]$", - "type_string": "index[bytes]" - } - }, - { - "id": 3999, - "node_type": 16, - "src": { - "line": 1457, - "column": 71, - "start": 51392, - "end": 51398, - "length": 7, - "parent_index": 3987 - }, - "name": "bytes32", - "type_name": { - "id": 4000, - "node_type": 30, - "src": { - "line": 1457, - "column": 71, - "start": 51392, - "end": 51398, - "length": 7, - "parent_index": 3999 - }, - "name": "bytes32", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - } - }, - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", - "type_string": "tuple(address,index[uint8],index[uint256],index[bytes],bytes32)" - } - } - ], - "expression": { - "id": 3984, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1457, - "column": 12, - "start": 51333, - "end": 51342, - "length": 10, - "parent_index": 3983 - }, - "member_location": { - "line": 1457, - "column": 16, - "start": 51337, - "end": 51342, - "length": 6, - "parent_index": 3984 - }, - "expression": { - "id": 3985, - "node_type": 16, - "src": { - "line": 1457, - "column": 12, - "start": 51333, - "end": 51335, - "length": 3, - "parent_index": 3984 - }, - "name": "abi", - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "member_name": "decode", - "argument_types": [], - "type_description": { - "type_identifier": "t_magic_abi", - "type_string": "abi" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", - "type_string": "function(bytes,tuple(address,index[uint8],index[uint256],index[bytes],bytes32))" - } - } - }, - { - "id": 4001, - "node_type": 44, - "src": { - "line": 1460, - "column": 8, - "start": 51442, - "end": 51476, - "length": 35, - "parent_index": 3962 - }, - "assignments": [ - 4002 - ], - "declarations": [ - { - "id": 4002, - "state_mutability": 1, - "name": "limit", - "node_type": 44, - "scope": 3962, - "src": { - "line": 1460, - "column": 8, - "start": 51442, - "end": 51454, - "length": 13, - "parent_index": 4001 - }, - "name_location": { - "line": 1460, - "column": 16, - "start": 51450, - "end": 51454, - "length": 5, - "parent_index": 4002 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 4003, - "node_type": 30, - "src": { - "line": 1460, - "column": 8, - "start": 51442, - "end": 51448, - "length": 7, - "parent_index": 4002 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 4004, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1460, - "column": 24, - "start": 51458, - "end": 51475, - "length": 18, - "parent_index": 4001 - }, - "operator": 2, - "left_expression": { - "id": 4005, - "node_type": 24, - "kind": 24, - "src": { - "line": 1460, - "column": 24, - "start": 51458, - "end": 51466, - "length": 9, - "parent_index": 4001 - }, - "argument_types": [], - "arguments": [], - "expression": { - "id": 4006, - "node_type": 16, - "src": { - "line": 1460, - "column": 24, - "start": 51458, - "end": 51464, - "length": 7, - "parent_index": 4005 - }, - "name": "gasleft", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - } - }, - "right_expression": { - "id": 4007, - "node_type": 17, - "kind": 49, - "value": "200000", - "hex_value": "323030303030", - "src": { - "line": 1460, - "column": 36, - "start": 51470, - "end": 51475, - "length": 6, - "parent_index": 4004 - }, - "type_description": { - "type_identifier": "t_rational_200000_by_1", - "type_string": "int_const 200000" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - } - } - }, - { - "id": 4008, - "node_type": 44, - "src": { - "line": 1461, - "column": 8, - "start": 51486, - "end": 51497, - "length": 12, - "parent_index": 3962 - }, - "assignments": [ - 4009 - ], - "declarations": [ - { - "id": 4009, - "state_mutability": 1, - "name": "failed", - "node_type": 44, - "scope": 3962, - "src": { - "line": 1461, - "column": 8, - "start": 51486, - "end": 51496, - "length": 11, - "parent_index": 4008 - }, - "name_location": { - "line": 1461, - "column": 13, - "start": 51491, - "end": 51496, - "length": 6, - "parent_index": 4009 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 4010, - "node_type": 30, - "src": { - "line": 1461, - "column": 8, - "start": 51486, - "end": 51489, - "length": 4, - "parent_index": 4009 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "visibility": 1 - } - ] - }, - { - "id": 4011, - "node_type": 85, - "src": { - "line": 1463, - "column": 0, - "start": 51589, - "end": 51868, - "length": 280, - "parent_index": 3962 - }, - "body": { - "id": 4025, - "node_type": 46, - "kind": 0, - "src": { - "line": 1469, - "column": 8, - "start": 51752, - "end": 51753, - "length": 2, - "parent_index": 4011 - }, - "implemented": true, - "statements": [] - }, - "kind": 86, - "returns": false, - "return_parameters": { - "id": 4041, - "node_type": 43, - "src": { - "line": 1463, - "column": 0, - "start": 51589, - "end": 51868, - "length": 280, - "parent_index": 4011 - }, - "parameters": [], - "parameter_types": [] - }, - "expression": { - "id": 4012, - "node_type": 24, - "kind": 24, - "src": { - "line": 1464, - "column": 12, - "start": 51605, - "end": 51742, - "length": 138, - "parent_index": 4011 - }, - "argument_types": [ - { - "type_identifier": "t_uint8", - "type_string": "uint8" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - ], - "arguments": [ - { - "id": 4022, - "node_type": 16, - "src": { - "line": 1465, - "column": 16, - "start": 51675, - "end": 51681, - "length": 7, - "parent_index": 4012 - }, - "name": "actions", - "type_description": { - "type_identifier": "t_uint8", - "type_string": "uint8" - }, - "overloaded_declarations": [], - "referenced_declaration": 3972, - "is_pure": false - }, - { - "id": 4023, - "node_type": 16, - "src": { - "line": 1466, - "column": 16, - "start": 51700, - "end": 51705, - "length": 6, - "parent_index": 4012 - }, - "name": "values", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 3972, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint8", - "type_string": "uint8" - } - ] - }, - { - "id": 4024, - "node_type": 16, - "src": { - "line": 1467, - "column": 16, - "start": 51724, - "end": 51728, - "length": 5, - "parent_index": 4012 - }, - "name": "datas", - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - }, - "overloaded_declarations": [], - "referenced_declaration": 3972, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_uint8", - "type_string": "uint8" + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "output", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" + }, + "base_expression": { + "id": 4034, + "node_type": 16, + "src": { + "line": 1457, + "column": 30, + "start": 51469, + "end": 51469, + "length": 1, + "parent_index": 4031 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - } - ], - "expression": { - "id": 4013, - "node_type": 93, - "kind": 93, - "src": { - "line": 1464, - "column": 12, - "start": 51605, - "end": 51656, - "length": 52, - "parent_index": 4012 - }, - "expression": { - "id": 4014, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1464, - "column": 12, - "start": 51605, - "end": 51644, - "length": 40, - "parent_index": 4013 - }, - "member_location": { - "line": 1464, - "column": 48, - "start": 51641, - "end": 51644, - "length": 4, - "parent_index": 4014 + "member_name": "unwrapBento", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.output[i].unwrapBento" }, - "expression": { - "id": 4015, - "node_type": 24, - "kind": 24, + "body": { + "id": 4035, + "node_type": 46, + "kind": 0, "src": { - "line": 1464, - "column": 12, - "start": 51605, - "end": 51639, - "length": 35, - "parent_index": 4014 + "line": 1457, + "column": 46, + "start": 51485, + "end": 51730, + "length": 246, + "parent_index": 3991 }, - "argument_types": [ - { - "type_identifier": "t_function_payable$_t_function_$_t_address$$", - "type_string": "function(function(address)) payable" - } - ], - "arguments": [ + "implemented": true, + "statements": [ { - "id": 4017, - "node_type": 84, + "id": 4036, + "node_type": 24, + "kind": 24, "src": { - "line": 1464, - "column": 24, - "start": 51617, - "end": 51638, - "length": 22, - "parent_index": 4015 + "line": 1458, + "column": 16, + "start": 51503, + "end": 51715, + "length": 213, + "parent_index": 4035 }, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_rational_0_by_1$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0)" + } + ], "arguments": [ { - "id": 4018, + "id": 4039, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1459, + "column": 20, + "start": 51542, + "end": 51563, + "length": 22, + "parent_index": 4036 + }, + "member_location": { + "line": 1459, + "column": 37, + "start": 51559, + "end": 51563, + "length": 5, + "parent_index": 4039 + }, + "expression": { + "id": 4040, + "node_type": 22, + "src": { + "line": 1459, + "column": 20, + "start": 51542, + "end": 51557, + "length": 16, + "parent_index": 4039 + }, + "index_expression": { + "id": 4041, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1459, + "column": 20, + "start": 51542, + "end": 51554, + "length": 13, + "parent_index": 4040 + }, + "member_location": { + "line": 1459, + "column": 27, + "start": 51549, + "end": 51554, + "length": 6, + "parent_index": 4041 + }, + "expression": { + "id": 4042, + "node_type": 16, + "src": { + "line": 1459, + "column": 20, + "start": 51542, + "end": 51547, + "length": 6, + "parent_index": 4041 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "output", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" + }, + "base_expression": { + "id": 4043, + "node_type": 16, + "src": { + "line": 1459, + "column": 34, + "start": 51556, + "end": 51556, + "length": 1, + "parent_index": 4040 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "token", + "argument_types": [], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.output[i].token" + }, + { + "id": 4044, "node_type": 24, "kind": 24, "src": { - "line": 1464, - "column": 32, - "start": 51625, - "end": 51637, + "line": 1460, + "column": 20, + "start": 51586, + "end": 51598, "length": 13, - "parent_index": 4017 + "parent_index": 4036 }, "argument_types": [ { - "type_identifier": "t_contract$_StargateAdapter_$3694", - "type_string": "contract StargateAdapter" + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" } ], "arguments": [ { - "id": 4021, + "id": 4047, "node_type": 16, "src": { - "line": 1464, - "column": 40, - "start": 51633, - "end": 51636, + "line": 1460, + "column": 28, + "start": 51594, + "end": 51597, "length": 4, - "parent_index": 4018 + "parent_index": 4044 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_StargateAdapter_$3694", - "type_string": "contract StargateAdapter" + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", + "type_string": "contract TridentSwapAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 4019, + "id": 4045, "node_type": 16, "src": { - "line": 1464, - "column": 32, - "start": 51625, - "end": 51631, + "line": 1460, + "column": 20, + "start": 51586, + "end": 51592, "length": 7, - "parent_index": 4018 + "parent_index": 4044 }, "name": "address", "type_name": { - "id": 4020, + "id": 4046, "node_type": 30, "src": { - "line": 1464, - "column": 32, - "start": 51625, - "end": 51631, + "line": 1460, + "column": 20, + "start": 51586, + "end": 51592, "length": 7, - "parent_index": 4019 + "parent_index": 4045 }, "name": "address", "state_mutability": 4, @@ -72570,804 +73784,574 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - } - ], - "argument_types": [ - { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - ], - "type_description": { - "type_identifier": "t_function_payable$_t_function_$_t_address$$", - "type_string": "function(function(address)) payable" - }, - "payable": true - } - ], - "expression": { - "id": 4016, - "node_type": 16, - "src": { - "line": 1464, - "column": 12, - "start": 51605, - "end": 51615, - "length": 11, - "parent_index": 4015 - }, - "name": "ISushiXSwap", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_address$", - "type_string": "function(function(function(address)) payable)" - } - }, - "member_name": "cook", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_address$", - "type_string": "function(function(function(address)) payable)" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_function_payable$_t_function_$_t_address$", - "type_string": "function(function(function(address)) payable)" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_uint8$_t_uint256$_t_bytes$", - "type_string": "function(uint8,uint256,bytes)" - } - }, - "clauses": [ - { - "id": 0, - "node_type": 87, - "kind": 88, - "src": { - "line": 1469, - "column": 0, - "start": 51755, - "end": 51868, - "length": 114, - "parent_index": 4011 - }, - "body": { - "id": 4029, - "node_type": 46, - "kind": 0, - "src": { - "line": 1469, - "column": 32, - "start": 51776, - "end": 51868, - "length": 93 - }, - "implemented": true, - "statements": [ - { - "id": 4030, - "node_type": 24, - "kind": 24, - "src": { - "line": 1470, - "column": 12, - "start": 51790, - "end": 51830, - "length": 41, - "parent_index": 4029 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_function_$_t_function_$$", - "type_string": "function(function())" - } - ], - "arguments": [ - { - "id": 4035, - "node_type": 16, - "src": { - "line": 1470, - "column": 40, - "start": 51818, - "end": 51819, - "length": 2, - "parent_index": 4030 - }, - "name": "to", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - { - "id": 4036, - "node_type": 16, - "src": { - "line": 1470, - "column": 44, - "start": 51822, - "end": 51829, - "length": 8, - "parent_index": 4030 - }, - "name": "amountLD", - "type_description": { - "type_identifier": "t_function_$_t_function_$$", - "type_string": "function(function())" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ] - } - ], - "expression": { - "id": 4031, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1470, - "column": 12, - "start": 51790, - "end": 51816, - "length": 27, - "parent_index": 4030 - }, - "member_location": { - "line": 1470, - "column": 27, - "start": 51805, - "end": 51816, - "length": 12, - "parent_index": 4031 - }, - "expression": { - "id": 4032, - "node_type": 24, - "kind": 24, - "src": { - "line": 1470, - "column": 12, - "start": 51790, - "end": 51803, - "length": 14, - "parent_index": 4031 }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "arguments": [ - { - "id": 4034, - "node_type": 16, + { + "id": 4048, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1461, + "column": 20, + "start": 51621, + "end": 51639, + "length": 19, + "parent_index": 4036 + }, + "member_location": { + "line": 1461, + "column": 37, + "start": 51638, + "end": 51639, + "length": 2, + "parent_index": 4048 + }, + "expression": { + "id": 4049, + "node_type": 22, "src": { - "line": 1470, - "column": 19, - "start": 51797, - "end": 51802, - "length": 6, - "parent_index": 4032 + "line": 1461, + "column": 20, + "start": 51621, + "end": 51636, + "length": 16, + "parent_index": 4048 }, - "name": "_token", + "index_expression": { + "id": 4050, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1461, + "column": 20, + "start": 51621, + "end": 51633, + "length": 13, + "parent_index": 4049 + }, + "member_location": { + "line": 1461, + "column": 27, + "start": 51628, + "end": 51633, + "length": 6, + "parent_index": 4050 + }, + "expression": { + "id": 4051, + "node_type": 16, + "src": { + "line": 1461, + "column": 20, + "start": 51621, + "end": 51626, + "length": 6, + "parent_index": 4050 + }, + "name": "params", + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "overloaded_declarations": [], + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" + }, + "member_name": "output", + "argument_types": [], + "type_description": { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" + }, + "base_expression": { + "id": 4052, + "node_type": 16, + "src": { + "line": 1461, + "column": 34, + "start": 51635, + "end": 51635, + "length": 1, + "parent_index": 4049 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" + }, + "type_descriptions": [ + { + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ], "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + }, + "member_name": "to", + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + ], + "type_description": { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.output[i].to" + }, + { + "id": 4053, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 1462, + "column": 20, + "start": 51662, + "end": 51662, + "length": 1, + "parent_index": 4036 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "text": "0" + }, + { + "id": 4054, + "node_type": 16, + "src": { + "line": 1463, + "column": 20, + "start": 51685, + "end": 51697, + "length": 13, + "parent_index": 4036 + }, + "name": "balanceShares", + "type_description": { + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_rational_0_by_1$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0)" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + { + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + } + ], + "text": "balanceShares" + } + ], + "expression": { + "id": 4037, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 1458, + "column": 16, + "start": 51503, + "end": 51519, + "length": 17, + "parent_index": 4036 + }, + "member_location": { + "line": 1458, + "column": 25, + "start": 51512, + "end": 51519, + "length": 8, + "parent_index": 4037 + }, "expression": { - "id": 4033, + "id": 4038, "node_type": 16, "src": { - "line": 1470, - "column": 12, - "start": 51790, - "end": 51795, - "length": 6, - "parent_index": 4032 + "line": 1458, + "column": 16, + "start": 51503, + "end": 51510, + "length": 8, + "parent_index": 4037 }, - "name": "IERC20", + "name": "bentoBox", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } - }, - "member_name": "safeTransfer", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$", - "type_string": "function(function(),function(function()))" - } - }, - { - "id": 4037, - "node_type": 27, - "src": { - "line": 1471, - "column": 12, - "start": 51845, - "end": 51858, - "length": 14, - "parent_index": 4029 - }, - "expression": { - "id": 4038, - "node_type": 27, - "src": { - "line": 1471, - "column": 12, - "start": 51845, - "end": 51857, - "length": 13, - "parent_index": 4037 - }, - "operator": 11, - "left_expression": { - "id": 4039, - "node_type": 16, - "src": { - "line": 1471, - "column": 12, - "start": 51845, - "end": 51850, - "length": 6, - "parent_index": 4038 - }, - "name": "failed", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 3768, - "is_pure": false - }, - "right_expression": { - "id": 4040, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 1471, - "column": 21, - "start": 51854, - "end": 51857, - "length": 4, - "parent_index": 4038 + "referenced_declaration": 963, + "is_pure": false, + "text": "bentoBox" }, + "member_name": "withdraw", + "argument_types": [], "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_contract$_IBentoBoxMinimal_$546", + "type_string": "contract IBentoBoxMinimal" }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ] - }, - "parameters": { - "id": 4026, - "node_type": 43, - "src": { - "line": 1469, - "column": 18, - "start": 51762, - "end": 51773, - "length": 12 - }, - "parameters": [ - { - "id": 4027, - "node_type": 44, - "src": { - "line": 1469, - "column": 18, - "start": 51762, - "end": 51773, - "length": 12, - "parent_index": 4026 - }, - "name": "", - "type_name": { - "id": 4028, - "node_type": 30, - "src": { - "line": 1469, - "column": 18, - "start": 51762, - "end": 51766, - "length": 5, - "parent_index": 4027 + "text": "bentoBox.withdraw" }, - "name": "bytes", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_rational_0_by_1$_t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_rational_0_by_1$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0,function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0))" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - ] - } - } - ], - "implemented": false - }, - { - "id": 4042, - "node_type": 48, - "src": { - "line": 1475, - "column": 0, - "start": 51957, - "end": 52043, - "length": 87, - "parent_index": 3962 - }, - "condition": { - "id": 4043, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 1475, - "column": 12, - "start": 51961, - "end": 51985, - "length": 25, - "parent_index": 4042 - }, - "operator": 7, - "left_expression": { - "id": 4044, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 1475, - "column": 12, - "start": 51961, - "end": 51981, - "length": 21, - "parent_index": 4043 - }, - "member_location": { - "line": 1475, - "column": 26, - "start": 51975, - "end": 51981, - "length": 7, - "parent_index": 4044 - }, - "expression": { - "id": 4045, - "node_type": 24, - "kind": 24, - "src": { - "line": 1475, - "column": 12, - "start": 51961, - "end": 51973, - "length": 13, - "parent_index": 4044 - }, - "argument_types": [ - { - "type_identifier": "t_contract$_StargateAdapter_$3694", - "type_string": "contract StargateAdapter" - } - ], - "arguments": [ - { - "id": 4048, - "node_type": 16, - "src": { - "line": 1475, - "column": 20, - "start": 51969, - "end": 51972, - "length": 4, - "parent_index": 4045 - }, - "name": "this", - "type_description": { - "type_identifier": "t_contract$_StargateAdapter_$3694", - "type_string": "contract StargateAdapter" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 4046, - "node_type": 16, - "src": { - "line": 1475, - "column": 12, - "start": 51961, - "end": 51967, - "length": 7, - "parent_index": 4045 - }, - "name": "address", - "type_name": { - "id": 4047, - "node_type": 30, - "src": { - "line": 1475, - "column": 12, - "start": 51961, - "end": 51967, - "length": 7, - "parent_index": 4046 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" } ] - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" } - }, - "member_name": "balance", - "argument_types": [], - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" } - }, - "right_expression": { - "id": 4049, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 1475, - "column": 36, - "start": 51985, - "end": 51985, - "length": 1, - "parent_index": 4043 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 4050, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 4051, - "node_type": 64, - "src": { - "line": 1478, - "column": 8, - "start": 52054, - "end": 52100, - "length": 47, - "parent_index": 3946 - }, - "arguments": [ - { - "id": 4052, - "node_type": 16, - "src": { - "line": 1478, - "column": 35, - "start": 52081, - "end": 52090, - "length": 10, - "parent_index": 4051 - }, - "name": "srcContext", - "type_description": { - "type_identifier": "t_bytes32", - "type_string": "bytes32" - }, - "overloaded_declarations": [], - "referenced_declaration": 3972, - "is_pure": false - }, - { - "id": 4053, - "node_type": 16, - "src": { - "line": 1478, - "column": 47, - "start": 52093, - "end": 52098, - "length": 6, - "parent_index": 4051 - }, - "name": "failed", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 4008, - "is_pure": false - } - ], - "expression": { - "id": 4054, - "node_type": 16, - "src": { - "line": 1478, - "column": 13, - "start": 52059, - "end": 52079, - "length": 21, - "parent_index": 4051 - }, - "name": "StargateSushiXSwapDst", - "type_description": { - "type_identifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00263764", - "type_string": "event StargateAdapter.StargateSushiXSwapDst" - }, - "overloaded_declarations": [], - "referenced_declaration": 3764, - "is_pure": false + ] } } ] }, "implemented": true, - "visibility": 4, + "visibility": 1, "state_mutability": 4, "virtual": false, "modifiers": [], - "overrides": [ - { - "id": 3960, - "node_type": 63, - "src": { - "line": 1448, - "column": 15, - "start": 51058, - "end": 51065, - "length": 8, - "parent_index": 3946 - }, - "overrides": [], - "referenced_declaration": 0, - "type_descriptions": { - "type_identifier": "$_t_override", - "type_string": "override" - } - } - ], + "overrides": [], "parameters": { - "id": 3947, + "id": 3837, "node_type": 43, "src": { - "line": 1442, - "column": 8, - "start": 50917, - "end": 51041, - "length": 125, - "parent_index": 3946 + "line": 1416, + "column": 26, + "start": 49635, + "end": 49665, + "length": 31, + "parent_index": 3836 }, "parameters": [ { - "id": 3948, + "id": 3838, "node_type": 44, "src": { - "line": 1442, - "column": 8, - "start": 50917, - "end": 50922, - "length": 6, - "parent_index": 3947 + "line": 1416, + "column": 26, + "start": 49635, + "end": 49665, + "length": 31, + "parent_index": 3837 }, - "scope": 3946, - "name": "", + "scope": 3836, + "name": "params", "type_name": { - "id": 3949, - "node_type": 30, + "id": 3839, + "node_type": 69, "src": { - "line": 1442, - "column": 8, - "start": 50917, - "end": 50922, - "length": 6, - "parent_index": 3948 + "line": 1416, + "column": 26, + "start": 49635, + "end": 49651, + "length": 17, + "parent_index": 3838 }, - "name": "uint16", - "referenced_declaration": 0, + "path_node": { + "id": 3840, + "name": "ComplexPathParams", + "node_type": 52, + "referenced_declaration": 3596, + "src": { + "line": 1416, + "column": 26, + "start": 49635, + "end": 49651, + "length": 17, + "parent_index": 3839 + }, + "name_location": { + "line": 1416, + "column": 26, + "start": 49635, + "end": 49651, + "length": 17, + "parent_index": 3839 + } + }, + "referenced_declaration": 3596, "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint16", - "type_string": "uint16" + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" } - }, + } + ], + "parameter_types": [ { - "id": 3950, - "node_type": 44, + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "type_string": "struct ITridentRouter.ComplexPathParams" + } + ] + }, + "return_parameters": { + "id": 3841, + "node_type": 43, + "src": { + "line": 1416, + "column": 4, + "start": 49613, + "end": 51975, + "length": 2363, + "parent_index": 3836 + }, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "_complexPath()", + "signature": "87820208", + "scope": 3719, + "type_description": { + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ComplexPathParams_$3596$", + "type_string": "function(struct ITridentRouter.ComplexPathParams)" + }, + "text": "function_complexPath(ComplexPathParamsmemoryparams)internal{uint256n=params.initialPath.length;for(uint256i=0;i\u003cn;i=_increment(i)){bentoBox.transfer(params.initialPath[i].tokenIn,address(this),params.initialPath[i].pool,params.initialPath[i].amount);IPool(params.initialPath[i].pool).swap(params.initialPath[i].data);}n=params.percentagePath.length;for(uint256i=0;i\u003cn;i=_increment(i)){uint256balanceShares=bentoBox.balanceOf(params.percentagePath[i].tokenIn,address(this));uint256transferShares=(balanceShares*params.percentagePath[i].balancePercentage)/uint256(10)**8;bentoBox.transfer(params.percentagePath[i].tokenIn,address(this),params.percentagePath[i].pool,transferShares);IPool(params.percentagePath[i].pool).swap(params.percentagePath[i].data);}n=params.output.length;for(uint256i=0;i\u003cn;i=_increment(i)){uint256balanceShares=bentoBox.balanceOf(params.output[i].token,address(this));if(balanceShares\u003cparams.output[i].minAmount)revertTooLittleReceived();if(params.output[i].unwrapBento){bentoBox.withdraw(params.output[i].token,address(this),params.output[i].to,0,balanceShares);}else{bentoBox.transfer(params.output[i].token,address(this),params.output[i].to,balanceShares);}}}" + }, + { + "id": 4056, + "name": "_increment", + "node_type": 42, + "kind": 41, + "src": { + "line": 1476, + "column": 4, + "start": 51982, + "end": 52107, + "length": 126, + "parent_index": 3719 + }, + "name_location": { + "line": 1476, + "column": 13, + "start": 51991, + "end": 52000, + "length": 10, + "parent_index": 4056 + }, + "body": { + "id": 4063, + "node_type": 46, + "kind": 0, + "src": { + "line": 1476, + "column": 67, + "start": 52045, + "end": 52107, + "length": 63, + "parent_index": 4056 + }, + "implemented": true, + "statements": [ + { + "id": 4064, + "node_type": 59, + "kind": 0, "src": { - "line": 1443, + "line": 1477, "column": 8, - "start": 50933, - "end": 50944, - "length": 12, - "parent_index": 3947 - }, - "scope": 3946, - "name": "", - "type_name": { - "id": 3951, - "node_type": 30, - "src": { - "line": 1443, - "column": 8, - "start": 50933, - "end": 50937, - "length": 5, - "parent_index": 3950 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } + "start": 52055, + "end": 52101, + "length": 47, + "parent_index": 3719 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, + "implemented": false, + "statements": [ + { + "id": 4065, + "node_type": 47, + "src": { + "line": 1478, + "column": 12, + "start": 52079, + "end": 52091, + "length": 13, + "parent_index": 4056 + }, + "function_return_parameters": 4056, + "expression": { + "id": 4066, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 1478, + "column": 19, + "start": 52086, + "end": 52090, + "length": 5, + "parent_index": 4065 + }, + "operator": 1, + "left_expression": { + "id": 4067, + "node_type": 16, + "src": { + "line": 1478, + "column": 19, + "start": 52086, + "end": 52086, + "length": 1, + "parent_index": 4066 + }, + "name": "i", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 4067, + "is_pure": false, + "text": "i" + }, + "right_expression": { + "id": 4068, + "node_type": 17, + "kind": 49, + "value": "1", + "hex_value": "31", + "src": { + "line": 1478, + "column": 23, + "start": 52090, + "end": 52090, + "length": 1, + "parent_index": 4066 + }, + "type_description": { + "type_identifier": "t_rational_1_by_1", + "type_string": "int_const 1" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "1" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + } + ] + } + ] + }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 4057, + "node_type": 43, + "src": { + "line": 1476, + "column": 24, + "start": 52002, + "end": 52010, + "length": 9, + "parent_index": 4056 + }, + "parameters": [ { - "id": 3952, + "id": 4058, "node_type": 44, "src": { - "line": 1444, - "column": 8, - "start": 50955, - "end": 50961, - "length": 7, - "parent_index": 3947 + "line": 1476, + "column": 24, + "start": 52002, + "end": 52010, + "length": 9, + "parent_index": 4057 }, - "scope": 3946, - "name": "", + "scope": 4056, + "name": "i", "type_name": { - "id": 3953, + "id": 4059, "node_type": 30, "src": { - "line": 1444, - "column": 8, - "start": 50955, - "end": 50961, + "line": 1476, + "column": 24, + "start": 52002, + "end": 52008, "length": 7, - "parent_index": 3952 + "parent_index": 4058 }, "name": "uint256", "referenced_declaration": 0, @@ -73383,70 +74367,50 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, + } + ], + "parameter_types": [ { - "id": 3954, - "node_type": 44, - "src": { - "line": 1445, - "column": 8, - "start": 50972, - "end": 50985, - "length": 14, - "parent_index": 3947 - }, - "scope": 3946, - "name": "_token", - "type_name": { - "id": 3955, - "node_type": 30, - "src": { - "line": 1445, - "column": 8, - "start": 50972, - "end": 50978, - "length": 7, - "parent_index": 3954 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 4060, + "node_type": 43, + "src": { + "line": 1476, + "column": 58, + "start": 52036, + "end": 52042, + "length": 7, + "parent_index": 4056 + }, + "parameters": [ { - "id": 3956, + "id": 4061, "node_type": 44, "src": { - "line": 1446, - "column": 8, - "start": 50996, - "end": 51011, - "length": 16, - "parent_index": 3947 + "line": 1476, + "column": 58, + "start": 52036, + "end": 52042, + "length": 7, + "parent_index": 4060 }, - "scope": 3946, - "name": "amountLD", + "scope": 4056, + "name": "", "type_name": { - "id": 3957, + "id": 4062, "node_type": 30, "src": { - "line": 1446, - "column": 8, - "start": 50996, - "end": 51002, + "line": 1476, + "column": 58, + "start": 52036, + "end": 52042, "length": 7, - "parent_index": 3956 + "parent_index": 4061 }, "name": "uint256", "referenced_declaration": 0, @@ -73462,215 +74426,197 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, - { - "id": 3958, - "node_type": 44, - "src": { - "line": 1447, - "column": 8, - "start": 51022, - "end": 51041, - "length": 20, - "parent_index": 3947 - }, - "scope": 3946, - "name": "payload", - "type_name": { - "id": 3959, - "node_type": 30, - "src": { - "line": 1447, - "column": 8, - "start": 51022, - "end": 51026, - "length": 5, - "parent_index": 3958 - }, - "name": "bytes", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bytes", - "type_string": "bytes" - } } ], "parameter_types": [ - { - "type_identifier": "t_uint16", - "type_string": "uint16" - }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, { "type_identifier": "t_uint256", "type_string": "uint256" - }, - { - "type_identifier": "t_bytes", - "type_string": "bytes" } ] }, - "return_parameters": { - "id": 3961, - "node_type": 43, - "src": { - "line": 1441, - "column": 4, - "start": 50889, - "end": 52107, - "length": 1219, - "parent_index": 3946 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "sgReceive(uint16, bytes, uint256, address, uint256, bytes)", - "signature": "b19f8e19", - "scope": 3745, + "signature_raw": "_increment(uint256)", + "signature": "5e384b73", + "scope": 3719, "type_description": { - "type_identifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", - "type_string": "function(uint16,bytes,uint256,address,uint256,bytes)" - } + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "function_increment(uint256i)internalpurereturns(uint256){unchecked{returni+1;}}" } ], "linearized_base_contracts": [ + 3465, 948, - 3615, - 3745, - 3739, - 3740, - 3741, - 3742, - 3743, - 3744 + 1018, + 3335, + 3719, + 3714, + 3715, + 3716, + 3717, + 3718 ], "base_contracts": [ { - "id": 3746, + "id": 3720, "node_type": 62, "src": { - "line": 1340, - "column": 37, - "start": 46715, - "end": 46728, + "line": 1362, + "column": 4, + "start": 47169, + "end": 47182, "length": 14, - "parent_index": 3745 + "parent_index": 3719 }, "base_name": { - "id": 3747, + "id": 3721, "node_type": 52, "src": { - "line": 1340, - "column": 37, - "start": 46715, - "end": 46728, + "line": 1362, + "column": 4, + "start": 47169, + "end": 47182, + "length": 14, + "parent_index": 3719 + }, + "name": "ITridentRouter", + "referenced_declaration": 3465 + } + }, + { + "id": 3722, + "node_type": 62, + "src": { + "line": 1363, + "column": 4, + "start": 47189, + "end": 47202, + "length": 14, + "parent_index": 3719 + }, + "base_name": { + "id": 3723, + "node_type": 52, + "src": { + "line": 1363, + "column": 4, + "start": 47189, + "end": 47202, "length": 14, - "parent_index": 3745 + "parent_index": 3719 }, "name": "ImmutableState", "referenced_declaration": 948 } }, { - "id": 3748, + "id": 3724, "node_type": 62, "src": { - "line": 1340, - "column": 53, - "start": 46731, - "end": 46747, - "length": 17, - "parent_index": 3745 + "line": 1364, + "column": 4, + "start": 47209, + "end": 47220, + "length": 12, + "parent_index": 3719 }, "base_name": { - "id": 3749, + "id": 3725, "node_type": 52, "src": { - "line": 1340, - "column": 53, - "start": 46731, - "end": 46747, - "length": 17, - "parent_index": 3745 + "line": 1364, + "column": 4, + "start": 47209, + "end": 47220, + "length": 12, + "parent_index": 3719 }, - "name": "IStargateReceiver", - "referenced_declaration": 3615 + "name": "BentoAdapter", + "referenced_declaration": 1018 + } + }, + { + "id": 3726, + "node_type": 62, + "src": { + "line": 1365, + "column": 4, + "start": 47227, + "end": 47238, + "length": 12, + "parent_index": 3719 + }, + "base_name": { + "id": 3727, + "node_type": 52, + "src": { + "line": 1365, + "column": 4, + "start": 47227, + "end": 47238, + "length": 12, + "parent_index": 3719 + }, + "name": "TokenAdapter", + "referenced_declaration": 3335 } } ], "contract_dependencies": [ + 3465, 948, - 3615, - 3739, - 3740, - 3741, - 3742, - 3743, - 3744 + 1018, + 3335, + 3714, + 3715, + 3716, + 3717, + 3718 ] } ], "src": { - "line": 1340, + "line": 1361, "column": 0, - "start": 46678, + "start": 47125, "end": 52109, - "length": 5432, + "length": 4985, "parent_index": 272 } }, { - "id": 4055, + "id": 4069, "base_contracts": [], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 4055, + "id": 4069, "name": "ISushiXSwap", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ISushiXSwap.sol" }, { - "id": 3694, + "id": 3668, "name": "BentoAdapter", "absolute_path": "BentoAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "TokenAdapter", "absolute_path": "TokenAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "SushiLegacyAdapter", "absolute_path": "SushiLegacyAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "TridentSwapAdapter", "absolute_path": "TridentSwapAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "StargateAdapter", "absolute_path": "StargateAdapter.sol" } @@ -73680,7 +74626,7 @@ "node_type": 1, "nodes": [ { - "id": 4077, + "id": 4091, "node_type": 10, "src": { "line": 1485, @@ -73688,7 +74634,7 @@ "start": 52158, "end": 52180, "length": 23, - "parent_index": 4055 + "parent_index": 4069 }, "literals": [ "pragma", @@ -73703,7 +74649,7 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 4107, + "id": 4121, "node_type": 29, "src": { "line": 1487, @@ -73711,18 +74657,18 @@ "start": 52183, "end": 52210, "length": 28, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "BentoAdapter.sol", "file": "./BentoAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4108, + "id": 4122, "node_type": 29, "src": { "line": 1488, @@ -73730,18 +74676,18 @@ "start": 52212, "end": 52239, "length": 28, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "TokenAdapter.sol", "file": "./TokenAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4109, + "id": 4123, "node_type": 29, "src": { "line": 1489, @@ -73749,18 +74695,18 @@ "start": 52241, "end": 52274, "length": 34, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "SushiLegacyAdapter.sol", "file": "./SushiLegacyAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4110, + "id": 4124, "node_type": 29, "src": { "line": 1490, @@ -73768,18 +74714,18 @@ "start": 52276, "end": 52309, "length": 34, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "TridentSwapAdapter.sol", "file": "./TridentSwapAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4111, + "id": 4125, "node_type": 29, "src": { "line": 1491, @@ -73787,18 +74733,18 @@ "start": 52311, "end": 52341, "length": 31, - "parent_index": 4055 + "parent_index": 4069 }, "absolute_path": "StargateAdapter.sol", "file": "./StargateAdapter.sol", - "scope": 4055, + "scope": 4069, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3694 + "source_unit": 3668 }, { - "id": 4118, + "id": 4132, "name": "ISushiXSwap", "node_type": 35, "src": { @@ -73807,7 +74753,7 @@ "start": 52344, "end": 52505, "length": 162, - "parent_index": 4055 + "parent_index": 4069 }, "name_location": { "line": 1493, @@ -73815,14 +74761,14 @@ "start": 52354, "end": 52364, "length": 11, - "parent_index": 4118 + "parent_index": 4132 }, "abstract": false, "kind": 38, "fully_implemented": true, "nodes": [ { - "id": 4120, + "id": 4134, "name": "cook", "node_type": 42, "kind": 41, @@ -73832,7 +74778,7 @@ "start": 52372, "end": 52503, "length": 132, - "parent_index": 4118 + "parent_index": 4132 }, "name_location": { "line": 1494, @@ -73840,10 +74786,10 @@ "start": 52381, "end": 52384, "length": 4, - "parent_index": 4120 + "parent_index": 4134 }, "body": { - "id": 4129, + "id": 4143, "node_type": 46, "kind": 0, "src": { @@ -73852,7 +74798,7 @@ "start": 52372, "end": 52503, "length": 132, - "parent_index": 4120 + "parent_index": 4134 }, "implemented": false, "statements": [] @@ -73864,7 +74810,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4121, + "id": 4135, "node_type": 43, "src": { "line": 1495, @@ -73872,11 +74818,11 @@ "start": 52395, "end": 52479, "length": 85, - "parent_index": 4120 + "parent_index": 4134 }, "parameters": [ { - "id": 4122, + "id": 4136, "node_type": 44, "src": { "line": 1495, @@ -73884,12 +74830,12 @@ "start": 52395, "end": 52416, "length": 22, - "parent_index": 4121 + "parent_index": 4135 }, - "scope": 4120, + "scope": 4134, "name": "actions", "type_name": { - "id": 4123, + "id": 4137, "node_type": 16, "src": { "line": 1495, @@ -73897,7 +74843,7 @@ "start": 52395, "end": 52399, "length": 5, - "parent_index": 4122 + "parent_index": 4136 }, "name": "uint8", "referenced_declaration": 0, @@ -73915,7 +74861,7 @@ } }, { - "id": 4124, + "id": 4138, "node_type": 44, "src": { "line": 1496, @@ -73923,12 +74869,12 @@ "start": 52427, "end": 52449, "length": 23, - "parent_index": 4121 + "parent_index": 4135 }, - "scope": 4120, + "scope": 4134, "name": "values", "type_name": { - "id": 4125, + "id": 4139, "node_type": 16, "src": { "line": 1496, @@ -73936,7 +74882,7 @@ "start": 52427, "end": 52433, "length": 7, - "parent_index": 4124 + "parent_index": 4138 }, "name": "uint256", "referenced_declaration": 0, @@ -73954,7 +74900,7 @@ } }, { - "id": 4126, + "id": 4140, "node_type": 44, "src": { "line": 1497, @@ -73962,12 +74908,12 @@ "start": 52460, "end": 52479, "length": 20, - "parent_index": 4121 + "parent_index": 4135 }, - "scope": 4120, + "scope": 4134, "name": "datas", "type_name": { - "id": 4127, + "id": 4141, "node_type": 16, "src": { "line": 1497, @@ -73975,7 +74921,7 @@ "start": 52460, "end": 52464, "length": 5, - "parent_index": 4126 + "parent_index": 4140 }, "name": "bytes", "referenced_declaration": 0, @@ -74009,7 +74955,7 @@ ] }, "return_parameters": { - "id": 4128, + "id": 4142, "node_type": 43, "src": { "line": 1494, @@ -74017,35 +74963,36 @@ "start": 52372, "end": 52503, "length": 132, - "parent_index": 4120 + "parent_index": 4134 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "cook(uint8, uint256, bytes)", - "signature": "c69b41d9", - "scope": 4118, + "signature_raw": "cook(uint8,uint256,bytes)", + "signature": "5d449bb0", + "scope": 4132, "type_description": { "type_identifier": "t_function_$_t_uint8$_t_uint256$_t_bytes$", "type_string": "function(uint8,uint256,bytes)" - } + }, + "text": "functioncook(uint8[]memoryactions,uint256[]memoryvalues,bytes[]memorydatas)externalpayable;" } ], "linearized_base_contracts": [ - 4118, - 4107, - 4108, - 4109, - 4110, - 4111 + 4132, + 4121, + 4122, + 4123, + 4124, + 4125 ], "base_contracts": [], "contract_dependencies": [ - 4107, - 4108, - 4109, - 4110, - 4111 + 4121, + 4122, + 4123, + 4124, + 4125 ] } ], @@ -74059,42 +75006,42 @@ } }, { - "id": 4130, + "id": 4144, "base_contracts": [], "license": "GPL-3.0", "exported_symbols": [ { - "id": 4130, + "id": 4144, "name": "IStargateAdapter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateAdapter.sol" }, { - "id": 4055, + "id": 4069, "name": "StargateAdapter", "absolute_path": "StargateAdapter.sol" }, { - "id": 4055, + "id": 4069, "name": "SafeERC20", "absolute_path": "SafeERC20.sol" }, { - "id": 4055, + "id": 4069, "name": "ImmutableState", "absolute_path": "ImmutableState.sol" }, { - "id": 4055, + "id": 4069, "name": "ISushiXSwap", "absolute_path": "ISushiXSwap.sol" }, { - "id": 4055, + "id": 4069, "name": "IStargateReceiver", "absolute_path": "IStargateReceiver.sol" }, { - "id": 4055, + "id": 4069, "name": "IStargateWidget", "absolute_path": "IStargateWidget.sol" } @@ -74104,7 +75051,7 @@ "node_type": 1, "nodes": [ { - "id": 4153, + "id": 4167, "node_type": 10, "src": { "line": 1503, @@ -74112,7 +75059,7 @@ "start": 52545, "end": 52567, "length": 23, - "parent_index": 4130 + "parent_index": 4144 }, "literals": [ "pragma", @@ -74127,7 +75074,7 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 4187, + "id": 4201, "node_type": 29, "src": { "line": 1491, @@ -74135,18 +75082,411 @@ "start": 52311, "end": 52341, "length": 31, - "parent_index": 4130 + "parent_index": 4144 }, "absolute_path": "StargateAdapter.sol", "file": "./StargateAdapter.sol", - "scope": 4130, + "scope": 4144, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 4069 + }, + { + "id": 4202, + "node_type": 29, + "src": { + "line": 1505, + "column": 0, + "start": 52570, + "end": 52594, + "length": 25, + "parent_index": 4144 + }, + "absolute_path": "SafeERC20.sol", + "file": "./SafeERC20.sol", + "scope": 4144, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 4069 + }, + { + "id": 4203, + "node_type": 29, + "src": { + "line": 1506, + "column": 0, + "start": 52596, + "end": 52625, + "length": 30, + "parent_index": 4144 + }, + "absolute_path": "ImmutableState.sol", + "file": "./ImmutableState.sol", + "scope": 4144, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 4069 + }, + { + "id": 4204, + "node_type": 29, + "src": { + "line": 1507, + "column": 0, + "start": 52627, + "end": 52653, + "length": 27, + "parent_index": 4144 + }, + "absolute_path": "ISushiXSwap.sol", + "file": "./ISushiXSwap.sol", + "scope": 4144, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 4069 + }, + { + "id": 4205, + "node_type": 29, + "src": { + "line": 1508, + "column": 0, + "start": 52655, + "end": 52687, + "length": 33, + "parent_index": 4144 + }, + "absolute_path": "IStargateReceiver.sol", + "file": "./IStargateReceiver.sol", + "scope": 4144, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 4069 + }, + { + "id": 4206, + "node_type": 29, + "src": { + "line": 1509, + "column": 0, + "start": 52689, + "end": 52719, + "length": 31, + "parent_index": 4144 + }, + "absolute_path": "IStargateWidget.sol", + "file": "./IStargateWidget.sol", + "scope": 4144, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 + "source_unit": 4069 + }, + { + "id": 4208, + "name": "IStargateAdapter", + "node_type": 35, + "src": { + "line": 1511, + "column": 0, + "start": 52722, + "end": 52750, + "length": 29, + "parent_index": 4144 + }, + "name_location": { + "line": 1511, + "column": 10, + "start": 52732, + "end": 52747, + "length": 16, + "parent_index": 4208 + }, + "abstract": false, + "kind": 38, + "fully_implemented": true, + "nodes": [], + "linearized_base_contracts": [ + 4208, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206 + ], + "base_contracts": [], + "contract_dependencies": [ + 4201, + 4202, + 4203, + 4204, + 4205, + 4206 + ] + } + ], + "src": { + "line": 1511, + "column": 0, + "start": 52722, + "end": 52750, + "length": 29, + "parent_index": 272 + } + }, + { + "id": 4209, + "base_contracts": [ + { + "id": 4275, + "node_type": 62, + "src": { + "line": 1523, + "column": 4, + "start": 53061, + "end": 53071, + "length": 11, + "parent_index": 4274 + }, + "base_name": { + "id": 4276, + "node_type": 52, + "src": { + "line": 1523, + "column": 4, + "start": 53061, + "end": 53071, + "length": 11, + "parent_index": 4274 + }, + "name": "ISushiXSwap", + "referenced_declaration": 4069 + } + }, + { + "id": 4277, + "node_type": 62, + "src": { + "line": 1524, + "column": 4, + "start": 53078, + "end": 53089, + "length": 12, + "parent_index": 4274 + }, + "base_name": { + "id": 4278, + "node_type": 52, + "src": { + "line": 1524, + "column": 4, + "start": 53078, + "end": 53089, + "length": 12, + "parent_index": 4274 + }, + "name": "BentoAdapter", + "referenced_declaration": 1018 + } + }, + { + "id": 4279, + "node_type": 62, + "src": { + "line": 1525, + "column": 4, + "start": 53096, + "end": 53107, + "length": 12, + "parent_index": 4274 + }, + "base_name": { + "id": 4280, + "node_type": 52, + "src": { + "line": 1525, + "column": 4, + "start": 53096, + "end": 53107, + "length": 12, + "parent_index": 4274 + }, + "name": "TokenAdapter", + "referenced_declaration": 3335 + } + }, + { + "id": 4281, + "node_type": 62, + "src": { + "line": 1526, + "column": 4, + "start": 53114, + "end": 53131, + "length": 18, + "parent_index": 4274 + }, + "base_name": { + "id": 4282, + "node_type": 52, + "src": { + "line": 1526, + "column": 4, + "start": 53114, + "end": 53131, + "length": 18, + "parent_index": 4274 + }, + "name": "SushiLegacyAdapter", + "referenced_declaration": 3013 + } + }, + { + "id": 4283, + "node_type": 62, + "src": { + "line": 1527, + "column": 4, + "start": 53138, + "end": 53155, + "length": 18, + "parent_index": 4274 + }, + "base_name": { + "id": 4284, + "node_type": 52, + "src": { + "line": 1527, + "column": 4, + "start": 53138, + "end": 53155, + "length": 18, + "parent_index": 4274 + }, + "name": "TridentSwapAdapter", + "referenced_declaration": 3668 + } + }, + { + "id": 4285, + "node_type": 62, + "src": { + "line": 1528, + "column": 4, + "start": 53162, + "end": 53176, + "length": 15, + "parent_index": 4274 + }, + "base_name": { + "id": 4286, + "node_type": 52, + "src": { + "line": 1528, + "column": 4, + "start": 53162, + "end": 53176, + "length": 15, + "parent_index": 4274 + }, + "name": "StargateAdapter", + "referenced_declaration": 1678 + } + } + ], + "license": "GPL-3.0-or-later", + "exported_symbols": [ + { + "id": 4209, + "name": "SushiXSwap", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiXSwap.sol" + }, + { + "id": 4144, + "name": "SafeERC20", + "absolute_path": "SafeERC20.sol" + }, + { + "id": 4144, + "name": "ImmutableState", + "absolute_path": "ImmutableState.sol" + }, + { + "id": 4144, + "name": "ISushiXSwap", + "absolute_path": "ISushiXSwap.sol" + }, + { + "id": 4144, + "name": "IStargateReceiver", + "absolute_path": "IStargateReceiver.sol" + }, + { + "id": 4144, + "name": "IStargateWidget", + "absolute_path": "IStargateWidget.sol" + }, + { + "id": 4277, + "name": "BentoAdapter", + "absolute_path": "" + }, + { + "id": 4279, + "name": "TokenAdapter", + "absolute_path": "" + }, + { + "id": 4281, + "name": "SushiLegacyAdapter", + "absolute_path": "" + }, + { + "id": 4283, + "name": "TridentSwapAdapter", + "absolute_path": "" + }, + { + "id": 4285, + "name": "StargateAdapter", + "absolute_path": "" + } + ], + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiXSwap.sol", + "name": "SushiXSwap", + "node_type": 1, + "nodes": [ + { + "id": 4233, + "node_type": 10, + "src": { + "line": 1515, + "column": 0, + "start": 52799, + "end": 52821, + "length": 23, + "parent_index": 4209 + }, + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "text": "pragma solidity 0.8.11;" }, { - "id": 4188, + "id": 4268, "node_type": 29, "src": { "line": 1505, @@ -74154,18 +75494,18 @@ "start": 52570, "end": 52594, "length": 25, - "parent_index": 4130 + "parent_index": 4209 }, "absolute_path": "SafeERC20.sol", "file": "./SafeERC20.sol", - "scope": 4130, + "scope": 4209, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 + "source_unit": 4144 }, { - "id": 4189, + "id": 4269, "node_type": 29, "src": { "line": 1506, @@ -74173,18 +75513,18 @@ "start": 52596, "end": 52625, "length": 30, - "parent_index": 4130 + "parent_index": 4209 }, "absolute_path": "ImmutableState.sol", "file": "./ImmutableState.sol", - "scope": 4130, + "scope": 4209, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 + "source_unit": 4144 }, { - "id": 4190, + "id": 4270, "node_type": 29, "src": { "line": 1507, @@ -74192,411 +75532,18 @@ "start": 52627, "end": 52653, "length": 27, - "parent_index": 4130 + "parent_index": 4209 }, "absolute_path": "ISushiXSwap.sol", "file": "./ISushiXSwap.sol", - "scope": 4130, + "scope": 4209, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4055 - }, - { - "id": 4191, - "node_type": 29, - "src": { - "line": 1508, - "column": 0, - "start": 52655, - "end": 52687, - "length": 33, - "parent_index": 4130 - }, - "absolute_path": "IStargateReceiver.sol", - "file": "./IStargateReceiver.sol", - "scope": 4130, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 4055 - }, - { - "id": 4192, - "node_type": 29, - "src": { - "line": 1509, - "column": 0, - "start": 52689, - "end": 52719, - "length": 31, - "parent_index": 4130 - }, - "absolute_path": "IStargateWidget.sol", - "file": "./IStargateWidget.sol", - "scope": 4130, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 4055 - }, - { - "id": 4194, - "name": "IStargateAdapter", - "node_type": 35, - "src": { - "line": 1511, - "column": 0, - "start": 52722, - "end": 52750, - "length": 29, - "parent_index": 4130 - }, - "name_location": { - "line": 1511, - "column": 10, - "start": 52732, - "end": 52747, - "length": 16, - "parent_index": 4194 - }, - "abstract": false, - "kind": 38, - "fully_implemented": true, - "nodes": [], - "linearized_base_contracts": [ - 4194, - 4187, - 4188, - 4189, - 4190, - 4191, - 4192 - ], - "base_contracts": [], - "contract_dependencies": [ - 4187, - 4188, - 4189, - 4190, - 4191, - 4192 - ] - } - ], - "src": { - "line": 1511, - "column": 0, - "start": 52722, - "end": 52750, - "length": 29, - "parent_index": 272 - } - }, - { - "id": 4195, - "base_contracts": [ - { - "id": 4261, - "node_type": 62, - "src": { - "line": 1523, - "column": 4, - "start": 53061, - "end": 53071, - "length": 11, - "parent_index": 4260 - }, - "base_name": { - "id": 4262, - "node_type": 52, - "src": { - "line": 1523, - "column": 4, - "start": 53061, - "end": 53071, - "length": 11, - "parent_index": 4260 - }, - "name": "ISushiXSwap", - "referenced_declaration": 4055 - } - }, - { - "id": 4263, - "node_type": 62, - "src": { - "line": 1524, - "column": 4, - "start": 53078, - "end": 53089, - "length": 12, - "parent_index": 4260 - }, - "base_name": { - "id": 4264, - "node_type": 52, - "src": { - "line": 1524, - "column": 4, - "start": 53078, - "end": 53089, - "length": 12, - "parent_index": 4260 - }, - "name": "BentoAdapter", - "referenced_declaration": 1018 - } - }, - { - "id": 4265, - "node_type": 62, - "src": { - "line": 1525, - "column": 4, - "start": 53096, - "end": 53107, - "length": 12, - "parent_index": 4260 - }, - "base_name": { - "id": 4266, - "node_type": 52, - "src": { - "line": 1525, - "column": 4, - "start": 53096, - "end": 53107, - "length": 12, - "parent_index": 4260 - }, - "name": "TokenAdapter", - "referenced_declaration": 1684 - } - }, - { - "id": 4267, - "node_type": 62, - "src": { - "line": 1526, - "column": 4, - "start": 53114, - "end": 53131, - "length": 18, - "parent_index": 4260 - }, - "base_name": { - "id": 4268, - "node_type": 52, - "src": { - "line": 1526, - "column": 4, - "start": 53114, - "end": 53131, - "length": 18, - "parent_index": 4260 - }, - "name": "SushiLegacyAdapter", - "referenced_declaration": 2787 - } - }, - { - "id": 4269, - "node_type": 62, - "src": { - "line": 1527, - "column": 4, - "start": 53138, - "end": 53155, - "length": 18, - "parent_index": 4260 - }, - "base_name": { - "id": 4270, - "node_type": 52, - "src": { - "line": 1527, - "column": 4, - "start": 53138, - "end": 53155, - "length": 18, - "parent_index": 4260 - }, - "name": "TridentSwapAdapter", - "referenced_declaration": 3222 - } + "source_unit": 4144 }, { "id": 4271, - "node_type": 62, - "src": { - "line": 1528, - "column": 4, - "start": 53162, - "end": 53176, - "length": 15, - "parent_index": 4260 - }, - "base_name": { - "id": 4272, - "node_type": 52, - "src": { - "line": 1528, - "column": 4, - "start": 53162, - "end": 53176, - "length": 15, - "parent_index": 4260 - }, - "name": "StargateAdapter", - "referenced_declaration": 3694 - } - } - ], - "license": "GPL-3.0-or-later", - "exported_symbols": [ - { - "id": 4195, - "name": "SushiXSwap", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiXSwap.sol" - }, - { - "id": 4130, - "name": "SafeERC20", - "absolute_path": "SafeERC20.sol" - }, - { - "id": 4130, - "name": "ImmutableState", - "absolute_path": "ImmutableState.sol" - }, - { - "id": 4130, - "name": "ISushiXSwap", - "absolute_path": "ISushiXSwap.sol" - }, - { - "id": 4130, - "name": "IStargateReceiver", - "absolute_path": "IStargateReceiver.sol" - }, - { - "id": 4130, - "name": "IStargateWidget", - "absolute_path": "IStargateWidget.sol" - }, - { - "id": 4263, - "name": "BentoAdapter", - "absolute_path": "" - }, - { - "id": 4265, - "name": "TokenAdapter", - "absolute_path": "" - }, - { - "id": 4267, - "name": "SushiLegacyAdapter", - "absolute_path": "" - }, - { - "id": 4269, - "name": "TridentSwapAdapter", - "absolute_path": "" - }, - { - "id": 4271, - "name": "StargateAdapter", - "absolute_path": "" - } - ], - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiXSwap.sol", - "name": "SushiXSwap", - "node_type": 1, - "nodes": [ - { - "id": 4219, - "node_type": 10, - "src": { - "line": 1515, - "column": 0, - "start": 52799, - "end": 52821, - "length": 23, - "parent_index": 4195 - }, - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "text": "pragma solidity 0.8.11;" - }, - { - "id": 4254, - "node_type": 29, - "src": { - "line": 1505, - "column": 0, - "start": 52570, - "end": 52594, - "length": 25, - "parent_index": 4195 - }, - "absolute_path": "SafeERC20.sol", - "file": "./SafeERC20.sol", - "scope": 4195, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 4130 - }, - { - "id": 4255, - "node_type": 29, - "src": { - "line": 1506, - "column": 0, - "start": 52596, - "end": 52625, - "length": 30, - "parent_index": 4195 - }, - "absolute_path": "ImmutableState.sol", - "file": "./ImmutableState.sol", - "scope": 4195, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 4130 - }, - { - "id": 4256, - "node_type": 29, - "src": { - "line": 1507, - "column": 0, - "start": 52627, - "end": 52653, - "length": 27, - "parent_index": 4195 - }, - "absolute_path": "ISushiXSwap.sol", - "file": "./ISushiXSwap.sol", - "scope": 4195, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 4130 - }, - { - "id": 4257, "node_type": 29, "src": { "line": 1508, @@ -74604,18 +75551,18 @@ "start": 52655, "end": 52687, "length": 33, - "parent_index": 4195 + "parent_index": 4209 }, "absolute_path": "IStargateReceiver.sol", "file": "./IStargateReceiver.sol", - "scope": 4195, + "scope": 4209, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4130 + "source_unit": 4144 }, { - "id": 4258, + "id": 4272, "node_type": 29, "src": { "line": 1509, @@ -74623,18 +75570,18 @@ "start": 52689, "end": 52719, "length": 31, - "parent_index": 4195 + "parent_index": 4209 }, "absolute_path": "IStargateWidget.sol", "file": "./IStargateWidget.sol", - "scope": 4195, + "scope": 4209, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4130 + "source_unit": 4144 }, { - "id": 4259, + "id": 4273, "node_type": 29, "src": { "line": 1517, @@ -74642,18 +75589,18 @@ "start": 52824, "end": 52850, "length": 27, - "parent_index": 4195 + "parent_index": 4209 }, "absolute_path": "ISushiXSwap.sol", "file": "./ISushiXSwap.sol", - "scope": 4195, + "scope": 4209, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 4130 + "source_unit": 4144 }, { - "id": 4260, + "id": 4274, "name": "SushiXSwap", "node_type": 35, "src": { @@ -74662,7 +75609,7 @@ "start": 53034, "end": 61676, "length": 8643, - "parent_index": 4195 + "parent_index": 4209 }, "name_location": { "line": 1522, @@ -74670,14 +75617,14 @@ "start": 53043, "end": 53052, "length": 10, - "parent_index": 4260 + "parent_index": 4274 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 4274, + "id": 4288, "node_type": 42, "src": { "line": 1530, @@ -74685,7 +75632,7 @@ "start": 53184, "end": 53538, "length": 355, - "parent_index": 4260 + "parent_index": 4274 }, "kind": 11, "state_mutability": 4, @@ -74693,7 +75640,7 @@ "implemented": true, "modifiers": [ { - "id": 4290, + "id": 4304, "name": "ImmutableState", "node_type": 72, "kind": 72, @@ -74703,7 +75650,7 @@ "start": 53377, "end": 53460, "length": 84, - "parent_index": 4274 + "parent_index": 4288 }, "argument_types": [ { @@ -74729,7 +75676,7 @@ ], "arguments": [ { - "id": 4292, + "id": 4306, "node_type": 16, "src": { "line": 1536, @@ -74737,7 +75684,7 @@ "start": 53392, "end": 53400, "length": 9, - "parent_index": 4290 + "parent_index": 4304 }, "name": "_bentoBox", "type_description": { @@ -74745,11 +75692,12 @@ "type_string": "contract IBentoBoxMinimal" }, "overloaded_declarations": [], - "referenced_declaration": 4292, - "is_pure": false + "referenced_declaration": 4306, + "is_pure": false, + "text": "_bentoBox" }, { - "id": 4293, + "id": 4307, "node_type": 16, "src": { "line": 1536, @@ -74757,7 +75705,7 @@ "start": 53403, "end": 53417, "length": 15, - "parent_index": 4290 + "parent_index": 4304 }, "name": "_stargateRouter", "type_description": { @@ -74765,11 +75713,12 @@ "type_string": "contract IStargateRouter" }, "overloaded_declarations": [], - "referenced_declaration": 4293, - "is_pure": false + "referenced_declaration": 4307, + "is_pure": false, + "text": "_stargateRouter" }, { - "id": 4294, + "id": 4308, "node_type": 16, "src": { "line": 1536, @@ -74777,7 +75726,7 @@ "start": 53420, "end": 53427, "length": 8, - "parent_index": 4290 + "parent_index": 4304 }, "name": "_factory", "type_description": { @@ -74785,11 +75734,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4294, - "is_pure": false + "referenced_declaration": 4308, + "is_pure": false, + "text": "_factory" }, { - "id": 4295, + "id": 4309, "node_type": 16, "src": { "line": 1536, @@ -74797,7 +75747,7 @@ "start": 53430, "end": 53442, "length": 13, - "parent_index": 4290 + "parent_index": 4304 }, "name": "_pairCodeHash", "type_description": { @@ -74805,11 +75755,12 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4295, - "is_pure": false + "referenced_declaration": 4309, + "is_pure": false, + "text": "_pairCodeHash" }, { - "id": 4296, + "id": 4310, "node_type": 16, "src": { "line": 1536, @@ -74817,7 +75768,7 @@ "start": 53445, "end": 53459, "length": 15, - "parent_index": 4290 + "parent_index": 4304 }, "name": "_stargateWidget", "type_description": { @@ -74825,12 +75776,13 @@ "type_string": "contract IStargateWidget" }, "overloaded_declarations": [], - "referenced_declaration": 4296, - "is_pure": false + "referenced_declaration": 4310, + "is_pure": false, + "text": "_stargateWidget" } ], "modifier_name": { - "id": 4291, + "id": 4305, "name": "ImmutableState", "node_type": 0, "src": { @@ -74839,13 +75791,13 @@ "start": 53377, "end": 53390, "length": 14, - "parent_index": 4290 + "parent_index": 4304 } } } ], "parameters": { - "id": 4275, + "id": 4289, "node_type": 43, "src": { "line": 1531, @@ -74853,11 +75805,11 @@ "start": 53205, "end": 53369, "length": 165, - "parent_index": 4274 + "parent_index": 4288 }, "parameters": [ { - "id": 4276, + "id": 4290, "node_type": 44, "src": { "line": 1531, @@ -74865,12 +75817,12 @@ "start": 53205, "end": 53230, "length": 26, - "parent_index": 4275 + "parent_index": 4289 }, - "scope": 4274, + "scope": 4288, "name": "_bentoBox", "type_name": { - "id": 4277, + "id": 4291, "node_type": 69, "src": { "line": 1531, @@ -74878,10 +75830,10 @@ "start": 53205, "end": 53220, "length": 16, - "parent_index": 4276 + "parent_index": 4290 }, "path_node": { - "id": 4278, + "id": 4292, "name": "IBentoBoxMinimal", "node_type": 52, "referenced_declaration": 546, @@ -74891,7 +75843,7 @@ "start": 53205, "end": 53220, "length": 16, - "parent_index": 4277 + "parent_index": 4291 }, "name_location": { "line": 1531, @@ -74899,7 +75851,7 @@ "start": 53205, "end": 53220, "length": 16, - "parent_index": 4277 + "parent_index": 4291 } }, "referenced_declaration": 546, @@ -74917,7 +75869,7 @@ } }, { - "id": 4279, + "id": 4293, "node_type": 44, "src": { "line": 1532, @@ -74925,12 +75877,12 @@ "start": 53241, "end": 53271, "length": 31, - "parent_index": 4275 + "parent_index": 4289 }, - "scope": 4274, + "scope": 4288, "name": "_stargateRouter", "type_name": { - "id": 4280, + "id": 4294, "node_type": 69, "src": { "line": 1532, @@ -74938,10 +75890,10 @@ "start": 53241, "end": 53255, "length": 15, - "parent_index": 4279 + "parent_index": 4293 }, "path_node": { - "id": 4281, + "id": 4295, "name": "IStargateRouter", "node_type": 52, "referenced_declaration": 700, @@ -74951,7 +75903,7 @@ "start": 53241, "end": 53255, "length": 15, - "parent_index": 4280 + "parent_index": 4294 }, "name_location": { "line": 1532, @@ -74959,7 +75911,7 @@ "start": 53241, "end": 53255, "length": 15, - "parent_index": 4280 + "parent_index": 4294 } }, "referenced_declaration": 700, @@ -74977,7 +75929,7 @@ } }, { - "id": 4282, + "id": 4296, "node_type": 44, "src": { "line": 1533, @@ -74985,12 +75937,12 @@ "start": 53282, "end": 53297, "length": 16, - "parent_index": 4275 + "parent_index": 4289 }, - "scope": 4274, + "scope": 4288, "name": "_factory", "type_name": { - "id": 4283, + "id": 4297, "node_type": 30, "src": { "line": 1533, @@ -74998,7 +75950,7 @@ "start": 53282, "end": 53288, "length": 7, - "parent_index": 4282 + "parent_index": 4296 }, "name": "address", "state_mutability": 4, @@ -75017,7 +75969,7 @@ } }, { - "id": 4284, + "id": 4298, "node_type": 44, "src": { "line": 1534, @@ -75025,12 +75977,12 @@ "start": 53308, "end": 53328, "length": 21, - "parent_index": 4275 + "parent_index": 4289 }, - "scope": 4274, + "scope": 4288, "name": "_pairCodeHash", "type_name": { - "id": 4285, + "id": 4299, "node_type": 30, "src": { "line": 1534, @@ -75038,7 +75990,7 @@ "start": 53308, "end": 53314, "length": 7, - "parent_index": 4284 + "parent_index": 4298 }, "name": "bytes32", "referenced_declaration": 0, @@ -75056,7 +76008,7 @@ } }, { - "id": 4286, + "id": 4300, "node_type": 44, "src": { "line": 1535, @@ -75064,12 +76016,12 @@ "start": 53339, "end": 53369, "length": 31, - "parent_index": 4275 + "parent_index": 4289 }, - "scope": 4274, + "scope": 4288, "name": "_stargateWidget", "type_name": { - "id": 4287, + "id": 4301, "node_type": 69, "src": { "line": 1535, @@ -75077,10 +76029,10 @@ "start": 53339, "end": 53353, "length": 15, - "parent_index": 4286 + "parent_index": 4300 }, "path_node": { - "id": 4288, + "id": 4302, "name": "IStargateWidget", "node_type": 52, "referenced_declaration": 797, @@ -75090,7 +76042,7 @@ "start": 53339, "end": 53353, "length": 15, - "parent_index": 4287 + "parent_index": 4301 }, "name_location": { "line": 1535, @@ -75098,7 +76050,7 @@ "start": 53339, "end": 53353, "length": 15, - "parent_index": 4287 + "parent_index": 4301 } }, "referenced_declaration": 797, @@ -75140,7 +76092,7 @@ ] }, "return_parameters": { - "id": 4289, + "id": 4303, "node_type": 43, "src": { "line": 1530, @@ -75148,14 +76100,14 @@ "start": 53184, "end": 53538, "length": 355, - "parent_index": 4274 + "parent_index": 4288 }, "parameters": [], "parameter_types": [] }, - "scope": 4260, + "scope": 4274, "body": { - "id": 4297, + "id": 4311, "node_type": 46, "kind": 0, "src": { @@ -75164,12 +76116,12 @@ "start": 53462, "end": 53538, "length": 77, - "parent_index": 4274 + "parent_index": 4288 }, "implemented": true, "statements": [ { - "id": 4298, + "id": 4312, "node_type": 24, "kind": 24, "src": { @@ -75178,12 +76130,12 @@ "start": 53504, "end": 53531, "length": 28, - "parent_index": 4297 + "parent_index": 4311 }, "argument_types": [], "arguments": [], "expression": { - "id": 4299, + "id": 4313, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -75195,7 +76147,7 @@ "start": 53504, "end": 53529, "length": 26, - "parent_index": 4298 + "parent_index": 4312 }, "member_location": { "line": 1538, @@ -75203,10 +76155,10 @@ "start": 53514, "end": 53529, "length": 16, - "parent_index": 4299 + "parent_index": 4313 }, "expression": { - "id": 4300, + "id": 4314, "node_type": 16, "src": { "line": 1538, @@ -75214,7 +76166,7 @@ "start": 53504, "end": 53512, "length": 9, - "parent_index": 4299 + "parent_index": 4313 }, "name": "_bentoBox", "type_description": { @@ -75222,15 +76174,17 @@ "type_string": "contract IBentoBoxMinimal" }, "overloaded_declarations": [], - "referenced_declaration": 4300, - "is_pure": false + "referenced_declaration": 4314, + "is_pure": false, + "text": "_bentoBox" }, "member_name": "registerProtocol", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "_bentoBox.registerProtocol" }, "type_description": { "type_identifier": "t_function_$", @@ -75241,7 +76195,7 @@ } }, { - "id": 4302, + "id": 4316, "name": "ACTION_MASTER_CONTRACT_APPROVAL", "is_constant": true, "is_state_variable": true, @@ -75252,9 +76206,9 @@ "start": 53639, "end": 53698, "length": 60, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" @@ -75263,7 +76217,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4303, + "id": 4317, "node_type": 30, "src": { "line": 1544, @@ -75271,7 +76225,7 @@ "start": 53639, "end": 53643, "length": 5, - "parent_index": 4302 + "parent_index": 4316 }, "name": "uint8", "referenced_declaration": 0, @@ -75281,7 +76235,7 @@ } }, "initial_value": { - "id": 4304, + "id": 4318, "node_type": 17, "kind": 49, "value": "0", @@ -75292,7 +76246,7 @@ "start": 53697, "end": 53697, "length": 1, - "parent_index": 4302 + "parent_index": 4316 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -75300,11 +76254,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { - "id": 4306, + "id": 4320, "name": "ACTION_SRC_DEPOSIT_TO_BENTOBOX", "is_constant": true, "is_state_variable": true, @@ -75315,9 +76270,9 @@ "start": 53704, "end": 53762, "length": 59, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_1_by_1", "type_string": "int_const 1" @@ -75326,7 +76281,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4307, + "id": 4321, "node_type": 30, "src": { "line": 1545, @@ -75334,7 +76289,7 @@ "start": 53704, "end": 53708, "length": 5, - "parent_index": 4306 + "parent_index": 4320 }, "name": "uint8", "referenced_declaration": 0, @@ -75344,7 +76299,7 @@ } }, "initial_value": { - "id": 4308, + "id": 4322, "node_type": 17, "kind": 49, "value": "1", @@ -75355,7 +76310,7 @@ "start": 53761, "end": 53761, "length": 1, - "parent_index": 4306 + "parent_index": 4320 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -75363,11 +76318,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } }, { - "id": 4310, + "id": 4324, "name": "ACTION_SRC_TRANSFER_FROM_BENTOBOX", "is_constant": true, "is_state_variable": true, @@ -75378,9 +76334,9 @@ "start": 53768, "end": 53829, "length": 62, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_2_by_1", "type_string": "int_const 2" @@ -75389,7 +76345,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4311, + "id": 4325, "node_type": 30, "src": { "line": 1546, @@ -75397,7 +76353,7 @@ "start": 53768, "end": 53772, "length": 5, - "parent_index": 4310 + "parent_index": 4324 }, "name": "uint8", "referenced_declaration": 0, @@ -75407,7 +76363,7 @@ } }, "initial_value": { - "id": 4312, + "id": 4326, "node_type": 17, "kind": 49, "value": "2", @@ -75418,7 +76374,7 @@ "start": 53828, "end": 53828, "length": 1, - "parent_index": 4310 + "parent_index": 4324 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -75426,11 +76382,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" } }, { - "id": 4314, + "id": 4328, "name": "ACTION_DST_DEPOSIT_TO_BENTOBOX", "is_constant": true, "is_state_variable": true, @@ -75441,9 +76398,9 @@ "start": 53835, "end": 53893, "length": 59, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_3_by_1", "type_string": "int_const 3" @@ -75452,7 +76409,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4315, + "id": 4329, "node_type": 30, "src": { "line": 1547, @@ -75460,7 +76417,7 @@ "start": 53835, "end": 53839, "length": 5, - "parent_index": 4314 + "parent_index": 4328 }, "name": "uint8", "referenced_declaration": 0, @@ -75470,7 +76427,7 @@ } }, "initial_value": { - "id": 4316, + "id": 4330, "node_type": 17, "kind": 49, "value": "3", @@ -75481,7 +76438,7 @@ "start": 53892, "end": 53892, "length": 1, - "parent_index": 4314 + "parent_index": 4328 }, "type_description": { "type_identifier": "t_rational_3_by_1", @@ -75489,11 +76446,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "3" } }, { - "id": 4318, + "id": 4332, "name": "ACTION_DST_WITHDRAW_TOKEN", "is_constant": true, "is_state_variable": true, @@ -75504,9 +76462,9 @@ "start": 53899, "end": 53952, "length": 54, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_4_by_1", "type_string": "int_const 4" @@ -75515,7 +76473,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4319, + "id": 4333, "node_type": 30, "src": { "line": 1548, @@ -75523,7 +76481,7 @@ "start": 53899, "end": 53903, "length": 5, - "parent_index": 4318 + "parent_index": 4332 }, "name": "uint8", "referenced_declaration": 0, @@ -75533,7 +76491,7 @@ } }, "initial_value": { - "id": 4320, + "id": 4334, "node_type": 17, "kind": 49, "value": "4", @@ -75544,7 +76502,7 @@ "start": 53951, "end": 53951, "length": 1, - "parent_index": 4318 + "parent_index": 4332 }, "type_description": { "type_identifier": "t_rational_4_by_1", @@ -75552,11 +76510,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "4" } }, { - "id": 4322, + "id": 4336, "name": "ACTION_DST_WITHDRAW_OR_TRANSFER_FROM_BENTOBOX", "is_constant": true, "is_state_variable": true, @@ -75567,9 +76526,9 @@ "start": 53958, "end": 54031, "length": 74, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_5_by_1", "type_string": "int_const 5" @@ -75578,7 +76537,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4323, + "id": 4337, "node_type": 30, "src": { "line": 1549, @@ -75586,7 +76545,7 @@ "start": 53958, "end": 53962, "length": 5, - "parent_index": 4322 + "parent_index": 4336 }, "name": "uint8", "referenced_declaration": 0, @@ -75596,7 +76555,7 @@ } }, "initial_value": { - "id": 4324, + "id": 4338, "node_type": 17, "kind": 49, "value": "5", @@ -75607,7 +76566,7 @@ "start": 54030, "end": 54030, "length": 1, - "parent_index": 4322 + "parent_index": 4336 }, "type_description": { "type_identifier": "t_rational_5_by_1", @@ -75615,11 +76574,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "5" } }, { - "id": 4326, + "id": 4340, "name": "ACTION_UNWRAP_AND_TRANSFER", "is_constant": true, "is_state_variable": true, @@ -75630,9 +76590,9 @@ "start": 54037, "end": 54091, "length": 55, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_6_by_1", "type_string": "int_const 6" @@ -75641,7 +76601,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4327, + "id": 4341, "node_type": 30, "src": { "line": 1550, @@ -75649,7 +76609,7 @@ "start": 54037, "end": 54041, "length": 5, - "parent_index": 4326 + "parent_index": 4340 }, "name": "uint8", "referenced_declaration": 0, @@ -75659,7 +76619,7 @@ } }, "initial_value": { - "id": 4328, + "id": 4342, "node_type": 17, "kind": 49, "value": "6", @@ -75670,7 +76630,7 @@ "start": 54090, "end": 54090, "length": 1, - "parent_index": 4326 + "parent_index": 4340 }, "type_description": { "type_identifier": "t_rational_6_by_1", @@ -75678,11 +76638,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "6" } }, { - "id": 4330, + "id": 4344, "name": "ACTION_LEGACY_SWAP", "is_constant": true, "is_state_variable": true, @@ -75693,9 +76654,9 @@ "start": 54121, "end": 54167, "length": 47, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_7_by_1", "type_string": "int_const 7" @@ -75704,7 +76665,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4331, + "id": 4345, "node_type": 30, "src": { "line": 1553, @@ -75712,7 +76673,7 @@ "start": 54121, "end": 54125, "length": 5, - "parent_index": 4330 + "parent_index": 4344 }, "name": "uint8", "referenced_declaration": 0, @@ -75722,7 +76683,7 @@ } }, "initial_value": { - "id": 4332, + "id": 4346, "node_type": 17, "kind": 49, "value": "7", @@ -75733,7 +76694,7 @@ "start": 54166, "end": 54166, "length": 1, - "parent_index": 4330 + "parent_index": 4344 }, "type_description": { "type_identifier": "t_rational_7_by_1", @@ -75741,11 +76702,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "7" } }, { - "id": 4334, + "id": 4348, "name": "ACTION_TRIDENT_SWAP", "is_constant": true, "is_state_variable": true, @@ -75756,9 +76718,9 @@ "start": 54173, "end": 54220, "length": 48, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_8_by_1", "type_string": "int_const 8" @@ -75767,7 +76729,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4335, + "id": 4349, "node_type": 30, "src": { "line": 1554, @@ -75775,7 +76737,7 @@ "start": 54173, "end": 54177, "length": 5, - "parent_index": 4334 + "parent_index": 4348 }, "name": "uint8", "referenced_declaration": 0, @@ -75785,7 +76747,7 @@ } }, "initial_value": { - "id": 4336, + "id": 4350, "node_type": 17, "kind": 49, "value": "8", @@ -75796,7 +76758,7 @@ "start": 54219, "end": 54219, "length": 1, - "parent_index": 4334 + "parent_index": 4348 }, "type_description": { "type_identifier": "t_rational_8_by_1", @@ -75804,11 +76766,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" } }, { - "id": 4338, + "id": 4352, "name": "ACTION_TRIDENT_COMPLEX_PATH_SWAP", "is_constant": true, "is_state_variable": true, @@ -75819,9 +76782,9 @@ "start": 54226, "end": 54286, "length": 61, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_9_by_1", "type_string": "int_const 9" @@ -75830,7 +76793,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4339, + "id": 4353, "node_type": 30, "src": { "line": 1555, @@ -75838,7 +76801,7 @@ "start": 54226, "end": 54230, "length": 5, - "parent_index": 4338 + "parent_index": 4352 }, "name": "uint8", "referenced_declaration": 0, @@ -75848,7 +76811,7 @@ } }, "initial_value": { - "id": 4340, + "id": 4354, "node_type": 17, "kind": 49, "value": "9", @@ -75859,7 +76822,7 @@ "start": 54285, "end": 54285, "length": 1, - "parent_index": 4338 + "parent_index": 4352 }, "type_description": { "type_identifier": "t_rational_9_by_1", @@ -75867,11 +76830,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "9" } }, { - "id": 4342, + "id": 4356, "name": "ACTION_STARGATE_TELEPORT", "is_constant": true, "is_state_variable": true, @@ -75882,9 +76846,9 @@ "start": 54318, "end": 54371, "length": 54, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_10_by_1", "type_string": "int_const 10" @@ -75893,7 +76857,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4343, + "id": 4357, "node_type": 30, "src": { "line": 1558, @@ -75901,7 +76865,7 @@ "start": 54318, "end": 54322, "length": 5, - "parent_index": 4342 + "parent_index": 4356 }, "name": "uint8", "referenced_declaration": 0, @@ -75911,7 +76875,7 @@ } }, "initial_value": { - "id": 4344, + "id": 4358, "node_type": 17, "kind": 49, "value": "10", @@ -75922,7 +76886,7 @@ "start": 54369, "end": 54370, "length": 2, - "parent_index": 4342 + "parent_index": 4356 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -75930,11 +76894,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" } }, { - "id": 4346, + "id": 4360, "name": "ACTION_SRC_TOKEN_TRANSFER", "is_constant": true, "is_state_variable": true, @@ -75945,9 +76910,9 @@ "start": 54378, "end": 54432, "length": 55, - "parent_index": 4260 + "parent_index": 4274 }, - "scope": 4260, + "scope": 4274, "type_description": { "type_identifier": "t_rational_11_by_1", "type_string": "int_const 11" @@ -75956,7 +76921,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 4347, + "id": 4361, "node_type": 30, "src": { "line": 1560, @@ -75964,7 +76929,7 @@ "start": 54378, "end": 54382, "length": 5, - "parent_index": 4346 + "parent_index": 4360 }, "name": "uint8", "referenced_declaration": 0, @@ -75974,7 +76939,7 @@ } }, "initial_value": { - "id": 4348, + "id": 4362, "node_type": 17, "kind": 49, "value": "11", @@ -75985,7 +76950,7 @@ "start": 54430, "end": 54431, "length": 2, - "parent_index": 4346 + "parent_index": 4360 }, "type_description": { "type_identifier": "t_rational_11_by_1", @@ -75993,11 +76958,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "11" } }, { - "id": 4350, + "id": 4364, "name": "cook", "node_type": 42, "kind": 41, @@ -76007,7 +76973,7 @@ "start": 54925, "end": 61578, "length": 6654, - "parent_index": 4260 + "parent_index": 4274 }, "name_location": { "line": 1567, @@ -76015,10 +76981,10 @@ "start": 54934, "end": 54937, "length": 4, - "parent_index": 4350 + "parent_index": 4364 }, "body": { - "id": 4360, + "id": 4374, "node_type": 46, "kind": 0, "src": { @@ -76027,12 +76993,12 @@ "start": 55064, "end": 61578, "length": 6515, - "parent_index": 4350 + "parent_index": 4364 }, "implemented": true, "statements": [ { - "id": 4361, + "id": 4375, "node_type": 44, "src": { "line": 1572, @@ -76040,25 +77006,25 @@ "start": 55074, "end": 55111, "length": 38, - "parent_index": 4360 + "parent_index": 4374 }, "assignments": [ - 4362 + 4376 ], "declarations": [ { - "id": 4362, + "id": 4376, "state_mutability": 1, "name": "actionLength", "node_type": 44, - "scope": 4360, + "scope": 4374, "src": { "line": 1572, "column": 8, "start": 55074, "end": 55093, "length": 20, - "parent_index": 4361 + "parent_index": 4375 }, "name_location": { "line": 1572, @@ -76066,12 +77032,12 @@ "start": 55082, "end": 55093, "length": 12, - "parent_index": 4362 + "parent_index": 4376 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4363, + "id": 4377, "node_type": 30, "src": { "line": 1572, @@ -76079,7 +77045,7 @@ "start": 55074, "end": 55080, "length": 7, - "parent_index": 4362 + "parent_index": 4376 }, "name": "uint256", "referenced_declaration": 0, @@ -76092,7 +77058,7 @@ } ], "initial_value": { - "id": 4364, + "id": 4378, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -76104,7 +77070,7 @@ "start": 55097, "end": 55110, "length": 14, - "parent_index": 4361 + "parent_index": 4375 }, "member_location": { "line": 1572, @@ -76112,10 +77078,10 @@ "start": 55105, "end": 55110, "length": 6, - "parent_index": 4364 + "parent_index": 4378 }, "expression": { - "id": 4365, + "id": 4379, "node_type": 16, "src": { "line": 1572, @@ -76123,7 +77089,7 @@ "start": 55097, "end": 55103, "length": 7, - "parent_index": 4364 + "parent_index": 4378 }, "name": "actions", "type_description": { @@ -76131,19 +77097,21 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 4365, - "is_pure": false + "referenced_declaration": 4379, + "is_pure": false, + "text": "actions" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint8", "type_string": "uint8" - } + }, + "text": "actions.length" } }, { - "id": 4366, + "id": 4380, "node_type": 79, "src": { "line": 1573, @@ -76151,10 +77119,10 @@ "start": 55121, "end": 61572, "length": 6452, - "parent_index": 4360 + "parent_index": 4374 }, "initialiser": { - "id": 4367, + "id": 4381, "node_type": 44, "src": { "line": 1573, @@ -76162,25 +77130,25 @@ "start": 55126, "end": 55135, "length": 10, - "parent_index": 4360 + "parent_index": 4374 }, "assignments": [ - 4368 + 4382 ], "declarations": [ { - "id": 4368, + "id": 4382, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 4360, + "scope": 4374, "src": { "line": 1573, "column": 13, "start": 55126, "end": 55134, "length": 9, - "parent_index": 4367 + "parent_index": 4381 }, "name_location": { "line": 1573, @@ -76188,12 +77156,12 @@ "start": 55134, "end": 55134, "length": 1, - "parent_index": 4368 + "parent_index": 4382 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4369, + "id": 4383, "node_type": 30, "src": { "line": 1573, @@ -76201,7 +77169,7 @@ "start": 55126, "end": 55132, "length": 7, - "parent_index": 4368 + "parent_index": 4382 }, "name": "uint256", "referenced_declaration": 0, @@ -76215,7 +77183,7 @@ ] }, "condition": { - "id": 4370, + "id": 4384, "is_constant": false, "is_pure": false, "node_type": 19, @@ -76225,11 +77193,11 @@ "start": 55137, "end": 55152, "length": 16, - "parent_index": 4366 + "parent_index": 4380 }, "operator": 9, "left_expression": { - "id": 4371, + "id": 4385, "node_type": 16, "src": { "line": 1573, @@ -76237,7 +77205,7 @@ "start": 55137, "end": 55137, "length": 1, - "parent_index": 4370 + "parent_index": 4384 }, "name": "i", "type_description": { @@ -76245,11 +77213,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 4372, + "id": 4386, "node_type": 16, "src": { "line": 1573, @@ -76257,7 +77226,7 @@ "start": 55141, "end": 55152, "length": 12, - "parent_index": 4370 + "parent_index": 4384 }, "name": "actionLength", "type_description": { @@ -76265,8 +77234,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 4361, - "is_pure": false + "referenced_declaration": 4375, + "is_pure": false, + "text": "actionLength" }, "type_description": { "type_identifier": "t_bool", @@ -76274,7 +77244,7 @@ } }, "closure": { - "id": 4373, + "id": 4387, "node_type": 27, "src": { "line": 1573, @@ -76282,11 +77252,11 @@ "start": 55155, "end": 55171, "length": 17, - "parent_index": 4366 + "parent_index": 4380 }, "operator": 11, "left_expression": { - "id": 4374, + "id": 4388, "node_type": 16, "src": { "line": 1573, @@ -76294,7 +77264,7 @@ "start": 55155, "end": 55155, "length": 1, - "parent_index": 4373 + "parent_index": 4387 }, "name": "i", "type_description": { @@ -76302,11 +77272,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 4375, + "id": 4389, "node_type": 24, "kind": 24, "src": { @@ -76315,7 +77286,7 @@ "start": 55159, "end": 55171, "length": 13, - "parent_index": 4373 + "parent_index": 4387 }, "argument_types": [ { @@ -76325,7 +77296,7 @@ ], "arguments": [ { - "id": 4377, + "id": 4391, "node_type": 16, "src": { "line": 1573, @@ -76333,7 +77304,7 @@ "start": 55170, "end": 55170, "length": 1, - "parent_index": 4375 + "parent_index": 4389 }, "name": "i", "type_description": { @@ -76342,11 +77313,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 4376, + "id": 4390, "node_type": 16, "src": { "line": 1573, @@ -76354,7 +77326,7 @@ "start": 55159, "end": 55168, "length": 10, - "parent_index": 4375 + "parent_index": 4389 }, "name": "_increment", "type_description": { @@ -76363,7 +77335,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_increment" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -76376,7 +77349,7 @@ } }, "body": { - "id": 4378, + "id": 4392, "node_type": 46, "kind": 0, "src": { @@ -76385,12 +77358,12 @@ "start": 55174, "end": 61572, "length": 6399, - "parent_index": 4366 + "parent_index": 4380 }, "implemented": true, "statements": [ { - "id": 4379, + "id": 4393, "node_type": 44, "src": { "line": 1574, @@ -76398,25 +77371,25 @@ "start": 55188, "end": 55213, "length": 26, - "parent_index": 4378 + "parent_index": 4392 }, "assignments": [ - 4380 + 4394 ], "declarations": [ { - "id": 4380, + "id": 4394, "state_mutability": 1, "name": "action", "node_type": 44, - "scope": 4378, + "scope": 4392, "src": { "line": 1574, "column": 12, "start": 55188, "end": 55199, "length": 12, - "parent_index": 4379 + "parent_index": 4393 }, "name_location": { "line": 1574, @@ -76424,12 +77397,12 @@ "start": 55194, "end": 55199, "length": 6, - "parent_index": 4380 + "parent_index": 4394 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4381, + "id": 4395, "node_type": 30, "src": { "line": 1574, @@ -76437,7 +77410,7 @@ "start": 55188, "end": 55192, "length": 5, - "parent_index": 4380 + "parent_index": 4394 }, "name": "uint8", "referenced_declaration": 0, @@ -76450,7 +77423,7 @@ } ], "initial_value": { - "id": 4382, + "id": 4396, "node_type": 22, "src": { "line": 1574, @@ -76458,10 +77431,10 @@ "start": 55203, "end": 55212, "length": 10, - "parent_index": 4379 + "parent_index": 4393 }, "index_expression": { - "id": 4383, + "id": 4397, "node_type": 16, "src": { "line": 1574, @@ -76469,7 +77442,7 @@ "start": 55203, "end": 55209, "length": 7, - "parent_index": 4382 + "parent_index": 4396 }, "name": "actions", "type_description": { @@ -76477,11 +77450,12 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 3817, - "is_pure": false + "referenced_declaration": 1777, + "is_pure": false, + "text": "actions" }, "base_expression": { - "id": 4384, + "id": 4398, "node_type": 16, "src": { "line": 1574, @@ -76489,7 +77463,7 @@ "start": 55211, "end": 55211, "length": 1, - "parent_index": 4382 + "parent_index": 4396 }, "name": "i", "type_description": { @@ -76497,8 +77471,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -76517,7 +77492,7 @@ } }, { - "id": 4385, + "id": 4399, "node_type": 48, "src": { "line": 1576, @@ -76525,10 +77500,10 @@ "start": 55280, "end": 61562, "length": 6283, - "parent_index": 4378 + "parent_index": 4392 }, "condition": { - "id": 4386, + "id": 4400, "is_constant": false, "is_pure": false, "node_type": 19, @@ -76538,11 +77513,11 @@ "start": 55284, "end": 55324, "length": 41, - "parent_index": 4385 + "parent_index": 4399 }, "operator": 11, "left_expression": { - "id": 4387, + "id": 4401, "node_type": 16, "src": { "line": 1576, @@ -76550,7 +77525,7 @@ "start": 55284, "end": 55289, "length": 6, - "parent_index": 4386 + "parent_index": 4400 }, "name": "action", "type_description": { @@ -76558,11 +77533,12 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 4379, - "is_pure": false + "referenced_declaration": 4393, + "is_pure": false, + "text": "action" }, "right_expression": { - "id": 4388, + "id": 4402, "node_type": 16, "src": { "line": 1576, @@ -76570,7 +77546,7 @@ "start": 55294, "end": 55324, "length": 31, - "parent_index": 4386 + "parent_index": 4400 }, "name": "ACTION_MASTER_CONTRACT_APPROVAL", "type_description": { @@ -76578,8 +77554,9 @@ "type_string": "int_const 0" }, "overloaded_declarations": [], - "referenced_declaration": 4302, - "is_pure": false + "referenced_declaration": 4316, + "is_pure": false, + "text": "ACTION_MASTER_CONTRACT_APPROVAL" }, "type_description": { "type_identifier": "t_bool", @@ -76587,7 +77564,7 @@ } }, "body": { - "id": 4389, + "id": 4403, "node_type": 46, "kind": 0, "src": { @@ -76596,12 +77573,12 @@ "start": 55327, "end": 55903, "length": 577, - "parent_index": 4366 + "parent_index": 4380 }, "implemented": true, "statements": [ { - "id": 4390, + "id": 4404, "node_type": 44, "src": { "line": 1577, @@ -76609,29 +77586,29 @@ "start": 55345, "end": 55658, "length": 314, - "parent_index": 4389 + "parent_index": 4403 }, "assignments": [ - 4391, - 4393, - 4395, - 4397, - 4399 + 4405, + 4407, + 4409, + 4411, + 4413 ], "declarations": [ { - "id": 4391, + "id": 4405, "state_mutability": 1, "name": "user", "node_type": 44, - "scope": 4389, + "scope": 4403, "src": { "line": 1578, "column": 20, "start": 55367, "end": 55378, "length": 12, - "parent_index": 4390 + "parent_index": 4404 }, "name_location": { "line": 1578, @@ -76639,12 +77616,12 @@ "start": 55375, "end": 55378, "length": 4, - "parent_index": 4391 + "parent_index": 4405 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4392, + "id": 4406, "node_type": 30, "src": { "line": 1578, @@ -76652,7 +77629,7 @@ "start": 55367, "end": 55373, "length": 7, - "parent_index": 4391 + "parent_index": 4405 }, "name": "address", "state_mutability": 4, @@ -76665,18 +77642,18 @@ "visibility": 1 }, { - "id": 4393, + "id": 4407, "state_mutability": 1, "name": "approved", "node_type": 44, - "scope": 4389, + "scope": 4403, "src": { "line": 1579, "column": 20, "start": 55401, "end": 55413, "length": 13, - "parent_index": 4390 + "parent_index": 4404 }, "name_location": { "line": 1579, @@ -76684,12 +77661,12 @@ "start": 55406, "end": 55413, "length": 8, - "parent_index": 4393 + "parent_index": 4407 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4394, + "id": 4408, "node_type": 30, "src": { "line": 1579, @@ -76697,7 +77674,7 @@ "start": 55401, "end": 55404, "length": 4, - "parent_index": 4393 + "parent_index": 4407 }, "name": "bool", "referenced_declaration": 0, @@ -76709,18 +77686,18 @@ "visibility": 1 }, { - "id": 4395, + "id": 4409, "state_mutability": 1, "name": "v", "node_type": 44, - "scope": 4389, + "scope": 4403, "src": { "line": 1580, "column": 20, "start": 55436, "end": 55442, "length": 7, - "parent_index": 4390 + "parent_index": 4404 }, "name_location": { "line": 1580, @@ -76728,12 +77705,12 @@ "start": 55442, "end": 55442, "length": 1, - "parent_index": 4395 + "parent_index": 4409 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4396, + "id": 4410, "node_type": 30, "src": { "line": 1580, @@ -76741,7 +77718,7 @@ "start": 55436, "end": 55440, "length": 5, - "parent_index": 4395 + "parent_index": 4409 }, "name": "uint8", "referenced_declaration": 0, @@ -76753,18 +77730,18 @@ "visibility": 1 }, { - "id": 4397, + "id": 4411, "state_mutability": 1, "name": "r", "node_type": 44, - "scope": 4389, + "scope": 4403, "src": { "line": 1581, "column": 20, "start": 55465, "end": 55473, "length": 9, - "parent_index": 4390 + "parent_index": 4404 }, "name_location": { "line": 1581, @@ -76772,12 +77749,12 @@ "start": 55473, "end": 55473, "length": 1, - "parent_index": 4397 + "parent_index": 4411 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4398, + "id": 4412, "node_type": 30, "src": { "line": 1581, @@ -76785,7 +77762,7 @@ "start": 55465, "end": 55471, "length": 7, - "parent_index": 4397 + "parent_index": 4411 }, "name": "bytes32", "referenced_declaration": 0, @@ -76797,18 +77774,18 @@ "visibility": 1 }, { - "id": 4399, + "id": 4413, "state_mutability": 1, "name": "s", "node_type": 44, - "scope": 4389, + "scope": 4403, "src": { "line": 1582, "column": 20, "start": 55496, "end": 55504, "length": 9, - "parent_index": 4390 + "parent_index": 4404 }, "name_location": { "line": 1582, @@ -76816,12 +77793,12 @@ "start": 55504, "end": 55504, "length": 1, - "parent_index": 4399 + "parent_index": 4413 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 4400, + "id": 4414, "node_type": 30, "src": { "line": 1582, @@ -76829,7 +77806,7 @@ "start": 55496, "end": 55502, "length": 7, - "parent_index": 4399 + "parent_index": 4413 }, "name": "bytes32", "referenced_declaration": 0, @@ -76842,7 +77819,7 @@ } ], "initial_value": { - "id": 4401, + "id": 4415, "node_type": 24, "kind": 24, "src": { @@ -76851,7 +77828,7 @@ "start": 55526, "end": 55657, "length": 132, - "parent_index": 4390 + "parent_index": 4404 }, "argument_types": [ { @@ -76865,7 +77842,7 @@ ], "arguments": [ { - "id": 4404, + "id": 4418, "node_type": 22, "src": { "line": 1584, @@ -76873,10 +77850,10 @@ "start": 55562, "end": 55569, "length": 8, - "parent_index": 4401 + "parent_index": 4415 }, "index_expression": { - "id": 4405, + "id": 4419, "node_type": 16, "src": { "line": 1584, @@ -76884,7 +77861,7 @@ "start": 55562, "end": 55566, "length": 5, - "parent_index": 4404 + "parent_index": 4418 }, "name": "datas", "type_description": { @@ -76892,11 +77869,12 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 3821, - "is_pure": false + "referenced_declaration": 1781, + "is_pure": false, + "text": "datas" }, "base_expression": { - "id": 4406, + "id": 4420, "node_type": 16, "src": { "line": 1584, @@ -76904,7 +77882,7 @@ "start": 55568, "end": 55568, "length": 1, - "parent_index": 4404 + "parent_index": 4418 }, "name": "i", "type_description": { @@ -76912,8 +77890,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -76931,7 +77910,7 @@ } }, { - "id": 4407, + "id": 4421, "node_type": 60, "src": { "line": 1585, @@ -76939,13 +77918,13 @@ "start": 55596, "end": 55635, "length": 40, - "parent_index": 4401 + "parent_index": 4415 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 4408, + "id": 4422, "node_type": 16, "src": { "line": 1585, @@ -76953,11 +77932,11 @@ "start": 55597, "end": 55603, "length": 7, - "parent_index": 4407 + "parent_index": 4421 }, "name": "address", "type_name": { - "id": 4409, + "id": 4423, "node_type": 30, "src": { "line": 1585, @@ -76965,7 +77944,7 @@ "start": 55597, "end": 55603, "length": 7, - "parent_index": 4408 + "parent_index": 4422 }, "name": "address", "state_mutability": 4, @@ -76981,10 +77960,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" }, { - "id": 4410, + "id": 4424, "node_type": 16, "src": { "line": 1585, @@ -76992,11 +77972,11 @@ "start": 55606, "end": 55609, "length": 4, - "parent_index": 4407 + "parent_index": 4421 }, "name": "bool", "type_name": { - "id": 4411, + "id": 4425, "node_type": 30, "src": { "line": 1585, @@ -77004,7 +77984,7 @@ "start": 55606, "end": 55609, "length": 4, - "parent_index": 4410 + "parent_index": 4424 }, "name": "bool", "referenced_declaration": 0, @@ -77019,10 +77999,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bool" }, { - "id": 4412, + "id": 4426, "node_type": 16, "src": { "line": 1585, @@ -77030,11 +78011,11 @@ "start": 55612, "end": 55616, "length": 5, - "parent_index": 4407 + "parent_index": 4421 }, "name": "uint8", "type_name": { - "id": 4413, + "id": 4427, "node_type": 30, "src": { "line": 1585, @@ -77042,7 +78023,7 @@ "start": 55612, "end": 55616, "length": 5, - "parent_index": 4412 + "parent_index": 4426 }, "name": "uint8", "referenced_declaration": 0, @@ -77057,10 +78038,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "uint8" }, { - "id": 4414, + "id": 4428, "node_type": 16, "src": { "line": 1585, @@ -77068,11 +78050,11 @@ "start": 55619, "end": 55625, "length": 7, - "parent_index": 4407 + "parent_index": 4421 }, "name": "bytes32", "type_name": { - "id": 4415, + "id": 4429, "node_type": 30, "src": { "line": 1585, @@ -77080,7 +78062,7 @@ "start": 55619, "end": 55625, "length": 7, - "parent_index": 4414 + "parent_index": 4428 }, "name": "bytes32", "referenced_declaration": 0, @@ -77095,10 +78077,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bytes32" }, { - "id": 4416, + "id": 4430, "node_type": 16, "src": { "line": 1585, @@ -77106,11 +78089,11 @@ "start": 55628, "end": 55634, "length": 7, - "parent_index": 4407 + "parent_index": 4421 }, "name": "bytes32", "type_name": { - "id": 4417, + "id": 4431, "node_type": 30, "src": { "line": 1585, @@ -77118,7 +78101,7 @@ "start": 55628, "end": 55634, "length": 7, - "parent_index": 4416 + "parent_index": 4430 }, "name": "bytes32", "referenced_declaration": 0, @@ -77133,7 +78116,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bytes32" } ], "type_description": { @@ -77143,7 +78127,7 @@ } ], "expression": { - "id": 4402, + "id": 4416, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -77155,7 +78139,7 @@ "start": 55526, "end": 55535, "length": 10, - "parent_index": 4401 + "parent_index": 4415 }, "member_location": { "line": 1583, @@ -77163,10 +78147,10 @@ "start": 55530, "end": 55535, "length": 6, - "parent_index": 4402 + "parent_index": 4416 }, "expression": { - "id": 4403, + "id": 4417, "node_type": 16, "src": { "line": 1583, @@ -77174,7 +78158,7 @@ "start": 55526, "end": 55528, "length": 3, - "parent_index": 4402 + "parent_index": 4416 }, "name": "abi", "type_description": { @@ -77183,14 +78167,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_bytes]$_t_uint256]$_t_tuple_$_t_address_$_t_bool_$_t_uint8_$_t_bytes32_$_t_bytes32$", @@ -77199,7 +78185,7 @@ } }, { - "id": 4418, + "id": 4432, "node_type": 24, "kind": 24, "src": { @@ -77208,7 +78194,7 @@ "start": 55677, "end": 55888, "length": 212, - "parent_index": 4389 + "parent_index": 4403 }, "argument_types": [ { @@ -77238,7 +78224,7 @@ ], "arguments": [ { - "id": 4421, + "id": 4435, "node_type": 16, "src": { "line": 1589, @@ -77246,7 +78232,7 @@ "start": 55733, "end": 55736, "length": 4, - "parent_index": 4418 + "parent_index": 4432 }, "name": "user", "type_description": { @@ -77254,11 +78240,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 4390, - "is_pure": false + "referenced_declaration": 4404, + "is_pure": false, + "text": "user" }, { - "id": 4422, + "id": 4436, "node_type": 24, "kind": 24, "src": { @@ -77267,17 +78254,17 @@ "start": 55759, "end": 55771, "length": 13, - "parent_index": 4418 + "parent_index": 4432 }, "argument_types": [ { - "type_identifier": "t_contract$_SushiXSwap_$4195", + "type_identifier": "t_contract$_SushiXSwap_$4209", "type_string": "contract SushiXSwap" } ], "arguments": [ { - "id": 4425, + "id": 4439, "node_type": 16, "src": { "line": 1590, @@ -77285,20 +78272,21 @@ "start": 55767, "end": 55770, "length": 4, - "parent_index": 4422 + "parent_index": 4436 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_SushiXSwap_$4195", + "type_identifier": "t_contract$_SushiXSwap_$4209", "type_string": "contract SushiXSwap" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 4423, + "id": 4437, "node_type": 16, "src": { "line": 1590, @@ -77306,11 +78294,11 @@ "start": 55759, "end": 55765, "length": 7, - "parent_index": 4422 + "parent_index": 4436 }, "name": "address", "type_name": { - "id": 4424, + "id": 4438, "node_type": 30, "src": { "line": 1590, @@ -77318,7 +78306,7 @@ "start": 55759, "end": 55765, "length": 7, - "parent_index": 4423 + "parent_index": 4437 }, "name": "address", "state_mutability": 4, @@ -77340,7 +78328,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -77348,7 +78337,7 @@ } }, { - "id": 4426, + "id": 4440, "node_type": 16, "src": { "line": 1591, @@ -77356,7 +78345,7 @@ "start": 55794, "end": 55801, "length": 8, - "parent_index": 4418 + "parent_index": 4432 }, "name": "approved", "type_description": { @@ -77364,7 +78353,7 @@ "type_string": "bool" }, "overloaded_declarations": [], - "referenced_declaration": 4390, + "referenced_declaration": 4404, "is_pure": false, "argument_types": [ { @@ -77375,10 +78364,11 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "approved" }, { - "id": 4427, + "id": 4441, "node_type": 16, "src": { "line": 1592, @@ -77386,7 +78376,7 @@ "start": 55824, "end": 55824, "length": 1, - "parent_index": 4418 + "parent_index": 4432 }, "name": "v", "type_description": { @@ -77394,7 +78384,7 @@ "type_string": "uint8" }, "overloaded_declarations": [], - "referenced_declaration": 4390, + "referenced_declaration": 4404, "is_pure": false, "argument_types": [ { @@ -77409,10 +78399,11 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "v" }, { - "id": 4428, + "id": 4442, "node_type": 16, "src": { "line": 1593, @@ -77420,7 +78411,7 @@ "start": 55847, "end": 55847, "length": 1, - "parent_index": 4418 + "parent_index": 4432 }, "name": "r", "type_description": { @@ -77428,7 +78419,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4390, + "referenced_declaration": 4404, "is_pure": false, "argument_types": [ { @@ -77447,10 +78438,11 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "r" }, { - "id": 4429, + "id": 4443, "node_type": 16, "src": { "line": 1594, @@ -77458,7 +78450,7 @@ "start": 55870, "end": 55870, "length": 1, - "parent_index": 4418 + "parent_index": 4432 }, "name": "s", "type_description": { @@ -77466,7 +78458,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 4390, + "referenced_declaration": 4404, "is_pure": false, "argument_types": [ { @@ -77489,11 +78481,12 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "s" } ], "expression": { - "id": 4419, + "id": 4433, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -77505,7 +78498,7 @@ "start": 55677, "end": 55710, "length": 34, - "parent_index": 4418 + "parent_index": 4432 }, "member_location": { "line": 1588, @@ -77513,10 +78506,10 @@ "start": 55686, "end": 55710, "length": 25, - "parent_index": 4419 + "parent_index": 4433 }, "expression": { - "id": 4420, + "id": 4434, "node_type": 16, "src": { "line": 1588, @@ -77524,7 +78517,7 @@ "start": 55677, "end": 55684, "length": 8, - "parent_index": 4419 + "parent_index": 4433 }, "name": "bentoBox", "type_description": { @@ -77533,14 +78526,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "setMasterContractApproval", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.setMasterContractApproval" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_address$_t_bool$_t_uint8$_t_bytes32$_t_bytes32$", @@ -77562,7 +78557,7 @@ "modifiers": [], "overrides": [ { - "id": 4358, + "id": 4372, "node_type": 63, "src": { "line": 1571, @@ -77570,7 +78565,7 @@ "start": 55055, "end": 55062, "length": 8, - "parent_index": 4350 + "parent_index": 4364 }, "overrides": [], "referenced_declaration": 0, @@ -77581,7 +78576,7 @@ } ], "parameters": { - "id": 4351, + "id": 4365, "node_type": 43, "src": { "line": 1568, @@ -77589,11 +78584,11 @@ "start": 54948, "end": 55032, "length": 85, - "parent_index": 4350 + "parent_index": 4364 }, "parameters": [ { - "id": 4352, + "id": 4366, "node_type": 44, "src": { "line": 1568, @@ -77601,12 +78596,12 @@ "start": 54948, "end": 54969, "length": 22, - "parent_index": 4351 + "parent_index": 4365 }, - "scope": 4350, + "scope": 4364, "name": "actions", "type_name": { - "id": 4353, + "id": 4367, "node_type": 16, "src": { "line": 1568, @@ -77614,7 +78609,7 @@ "start": 54948, "end": 54952, "length": 5, - "parent_index": 4352 + "parent_index": 4366 }, "name": "uint8", "referenced_declaration": 0, @@ -77632,7 +78627,7 @@ } }, { - "id": 4354, + "id": 4368, "node_type": 44, "src": { "line": 1569, @@ -77640,12 +78635,12 @@ "start": 54980, "end": 55002, "length": 23, - "parent_index": 4351 + "parent_index": 4365 }, - "scope": 4350, + "scope": 4364, "name": "values", "type_name": { - "id": 4355, + "id": 4369, "node_type": 16, "src": { "line": 1569, @@ -77653,7 +78648,7 @@ "start": 54980, "end": 54986, "length": 7, - "parent_index": 4354 + "parent_index": 4368 }, "name": "uint256", "referenced_declaration": 0, @@ -77671,7 +78666,7 @@ } }, { - "id": 4356, + "id": 4370, "node_type": 44, "src": { "line": 1570, @@ -77679,12 +78674,12 @@ "start": 55013, "end": 55032, "length": 20, - "parent_index": 4351 + "parent_index": 4365 }, - "scope": 4350, + "scope": 4364, "name": "datas", "type_name": { - "id": 4357, + "id": 4371, "node_type": 16, "src": { "line": 1570, @@ -77692,7 +78687,7 @@ "start": 55013, "end": 55017, "length": 5, - "parent_index": 4356 + "parent_index": 4370 }, "name": "bytes", "referenced_declaration": 0, @@ -77726,7 +78721,7 @@ ] }, "return_parameters": { - "id": 4359, + "id": 4373, "node_type": 43, "src": { "line": 1567, @@ -77734,21 +78729,22 @@ "start": 54925, "end": 61578, "length": 6654, - "parent_index": 4350 + "parent_index": 4364 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "cook(uint8, uint256, bytes)", - "signature": "c69b41d9", - "scope": 4260, + "signature_raw": "cook(uint8,uint256,bytes)", + "signature": "5d449bb0", + "scope": 4274, "type_description": { "type_identifier": "t_function_$_t_uint8$_t_uint256$_t_bytes$", "type_string": "function(uint8,uint256,bytes)" - } + }, + "text": "functioncook(uint8[]memoryactions,uint256[]memoryvalues,bytes[]memorydatas)publicpayableoverride{uint256actionLength=actions.length;for(uint256i;i\u003cactionLength;i=_increment(i)){uint8action=actions[i];if(action==ACTION_MASTER_CONTRACT_APPROVAL){(addressuser,boolapproved,uint8v,bytes32r,bytes32s)=abi.decode(datas[i],(address,bool,uint8,bytes32,bytes32));bentoBox.setMasterContractApproval(user,address(this),approved,v,r,s);}elseif(action==ACTION_SRC_DEPOSIT_TO_BENTOBOX){(addresstoken,addressto,uint256amount,uint256share)=abi.decode(datas[i],(address,address,uint256,uint256));_depositToBentoBox(token,msg.sender,to,amount,share,values[i]);}elseif(action==ACTION_SRC_TRANSFER_FROM_BENTOBOX){(addresstoken,addressto,uint256amount,uint256share,boolunwrapBento)=abi.decode(datas[i],(address,address,uint256,uint256,bool));_transferFromBentoBox(token,msg.sender,to,amount,share,unwrapBento);}elseif(action==ACTION_SRC_TOKEN_TRANSFER){(addresstoken,addressto,uint256amount)=abi.decode(datas[i],(address,address,uint256));_transferFromToken(IERC20(token),to,amount);}elseif(action==ACTION_DST_DEPOSIT_TO_BENTOBOX){(addresstoken,addressto,uint256amount,uint256share)=abi.decode(datas[i],(address,address,uint256,uint256));if(amount==0){amount=IERC20(token).balanceOf(address(this));}_transferTokens(IERC20(token),address(bentoBox),amount);_depositToBentoBox(token,address(bentoBox),to,amount,share,values[i]);}elseif(action==ACTION_DST_WITHDRAW_TOKEN){(addresstoken,addressto,uint256amount)=abi.decode(datas[i],(address,address,uint256));if(amount==0){if(token!=address(0)){amount=IERC20(token).balanceOf(address(this));}else{amount=address(this).balance;}}_transferTokens(IERC20(token),to,amount);}elseif(action==ACTION_DST_WITHDRAW_OR_TRANSFER_FROM_BENTOBOX){(addresstoken,addressto,uint256amount,uint256share,boolunwrapBento)=abi.decode(datas[i],(address,address,uint256,uint256,bool));if(amount==0\u0026\u0026share==0){share=bentoBox.balanceOf(token,address(this));}_transferFromBentoBox(token,address(this),to,amount,share,unwrapBento);}elseif(action==ACTION_UNWRAP_AND_TRANSFER){(addresstoken,addressto)=abi.decode(datas[i],(address,address));_unwrapTransfer(token,to);}elseif(action==ACTION_LEGACY_SWAP){(uint256amountIn,uint256amountOutMin,address[]memorypath,addressto)=abi.decode(datas[i],(uint256,uint256,address[],address));boolsendTokens;if(amountIn==0){amountIn=IERC20(path[0]).balanceOf(address(this));sendTokens=true;}_swapExactTokensForTokens(amountIn,amountOutMin,path,to,sendTokens);}elseif(action==ACTION_TRIDENT_SWAP){ExactInputParamsmemoryparams=abi.decode(datas[i],(ExactInputParams));_exactInput(params);}elseif(action==ACTION_TRIDENT_COMPLEX_PATH_SWAP){ComplexPathParamsmemoryparams=abi.decode(datas[i],(ComplexPathParams));_complexPath(params);}elseif(action==ACTION_STARGATE_TELEPORT){(StargateTeleportParamsmemoryparams,uint8[]memoryactionsDST,uint256[]memoryvaluesDST,bytes[]memorydatasDST)=abi.decode(datas[i],(StargateTeleportParams,uint8[],uint256[],bytes[]));_stargateTeleport(params,actionsDST,valuesDST,datasDST);}}}" }, { - "id": 4431, + "id": 4445, "node_type": 42, "kind": 71, "src": { @@ -77757,7 +78753,7 @@ "start": 61646, "end": 61674, "length": 29, - "parent_index": 4260 + "parent_index": 4274 }, "implemented": true, "visibility": 1, @@ -77765,7 +78761,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 4432, + "id": 4446, "node_type": 43, "src": { "line": 1750, @@ -77773,13 +78769,13 @@ "start": 61646, "end": 61674, "length": 29, - "parent_index": 4431 + "parent_index": 4445 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 4433, + "id": 4447, "node_type": 43, "src": { "line": 1750, @@ -77787,13 +78783,13 @@ "start": 61646, "end": 61674, "length": 29, - "parent_index": 4431 + "parent_index": 4445 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 4434, + "id": 4448, "node_type": 46, "kind": 0, "src": { @@ -77802,7 +78798,7 @@ "start": 61673, "end": 61674, "length": 2, - "parent_index": 4431 + "parent_index": 4445 }, "implemented": true, "statements": [] @@ -77812,23 +78808,23 @@ } ], "linearized_base_contracts": [ - 4055, + 4069, 1018, - 1684, - 2787, - 3222, - 3694, - 4260, - 4254, - 4255, - 4256, - 4257, - 4258, - 4259 + 3335, + 3013, + 3668, + 1678, + 4274, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273 ], "base_contracts": [ { - "id": 4261, + "id": 4275, "node_type": 62, "src": { "line": 1523, @@ -77836,10 +78832,10 @@ "start": 53061, "end": 53071, "length": 11, - "parent_index": 4260 + "parent_index": 4274 }, "base_name": { - "id": 4262, + "id": 4276, "node_type": 52, "src": { "line": 1523, @@ -77847,14 +78843,14 @@ "start": 53061, "end": 53071, "length": 11, - "parent_index": 4260 + "parent_index": 4274 }, "name": "ISushiXSwap", - "referenced_declaration": 4055 + "referenced_declaration": 4069 } }, { - "id": 4263, + "id": 4277, "node_type": 62, "src": { "line": 1524, @@ -77862,10 +78858,10 @@ "start": 53078, "end": 53089, "length": 12, - "parent_index": 4260 + "parent_index": 4274 }, "base_name": { - "id": 4264, + "id": 4278, "node_type": 52, "src": { "line": 1524, @@ -77873,14 +78869,14 @@ "start": 53078, "end": 53089, "length": 12, - "parent_index": 4260 + "parent_index": 4274 }, "name": "BentoAdapter", "referenced_declaration": 1018 } }, { - "id": 4265, + "id": 4279, "node_type": 62, "src": { "line": 1525, @@ -77888,10 +78884,10 @@ "start": 53096, "end": 53107, "length": 12, - "parent_index": 4260 + "parent_index": 4274 }, "base_name": { - "id": 4266, + "id": 4280, "node_type": 52, "src": { "line": 1525, @@ -77899,14 +78895,14 @@ "start": 53096, "end": 53107, "length": 12, - "parent_index": 4260 + "parent_index": 4274 }, "name": "TokenAdapter", - "referenced_declaration": 1684 + "referenced_declaration": 3335 } }, { - "id": 4267, + "id": 4281, "node_type": 62, "src": { "line": 1526, @@ -77914,10 +78910,10 @@ "start": 53114, "end": 53131, "length": 18, - "parent_index": 4260 + "parent_index": 4274 }, "base_name": { - "id": 4268, + "id": 4282, "node_type": 52, "src": { "line": 1526, @@ -77925,14 +78921,14 @@ "start": 53114, "end": 53131, "length": 18, - "parent_index": 4260 + "parent_index": 4274 }, "name": "SushiLegacyAdapter", - "referenced_declaration": 2787 + "referenced_declaration": 3013 } }, { - "id": 4269, + "id": 4283, "node_type": 62, "src": { "line": 1527, @@ -77940,10 +78936,10 @@ "start": 53138, "end": 53155, "length": 18, - "parent_index": 4260 + "parent_index": 4274 }, "base_name": { - "id": 4270, + "id": 4284, "node_type": 52, "src": { "line": 1527, @@ -77951,14 +78947,14 @@ "start": 53138, "end": 53155, "length": 18, - "parent_index": 4260 + "parent_index": 4274 }, "name": "TridentSwapAdapter", - "referenced_declaration": 3222 + "referenced_declaration": 3668 } }, { - "id": 4271, + "id": 4285, "node_type": 62, "src": { "line": 1528, @@ -77966,10 +78962,10 @@ "start": 53162, "end": 53176, "length": 15, - "parent_index": 4260 + "parent_index": 4274 }, "base_name": { - "id": 4272, + "id": 4286, "node_type": 52, "src": { "line": 1528, @@ -77977,26 +78973,26 @@ "start": 53162, "end": 53176, "length": 15, - "parent_index": 4260 + "parent_index": 4274 }, "name": "StargateAdapter", - "referenced_declaration": 3694 + "referenced_declaration": 1678 } } ], "contract_dependencies": [ - 4055, + 4069, 1018, - 1684, - 2787, - 3222, - 3694, - 4254, - 4255, - 4256, - 4257, - 4258, - 4259 + 3335, + 3013, + 3668, + 1678, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273 ] } ], @@ -79746,176 +80742,176 @@ "line": 641, "column": 0, "start": 22867, - "end": 22897, - "length": 31, + "end": 22901, + "length": 35, "parent_index": 135 }, "node_type": 33, - "text": "// SPDX-License-Identifier: MIT" + "text": "// SPDX-License-Identifier: GPL-3.0" }, { "id": 135, "src": { - "line": 642, + "line": 656, "column": 0, - "start": 22899, - "end": 22964, - "length": 66, + "start": 23164, + "end": 23194, + "length": 31, "parent_index": 136 }, + "node_type": 33, + "text": "// SPDX-License-Identifier: MIT" + }, + { + "id": 136, + "src": { + "line": 657, + "column": 0, + "start": 23196, + "end": 23261, + "length": 66, + "parent_index": 137 + }, "node_type": 31, "text": "// OpenZeppelin Contracts v4.4.1 (token/ERC20/utils/SafeERC20.sol)" }, { - "id": 136, + "id": 137, "src": { - "line": 649, + "line": 664, "column": 0, - "start": 23040, - "end": 23496, + "start": 23337, + "end": 23793, "length": 457, - "parent_index": 137 + "parent_index": 138 }, "node_type": 32, "text": "/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */" }, { - "id": 137, + "id": 138, "src": { - "line": 678, + "line": 693, "column": 4, - "start": 24012, - "end": 24260, + "start": 24309, + "end": 24557, "length": 249, - "parent_index": 138 + "parent_index": 139 }, "node_type": 32, "text": "/**\n * @dev Deprecated. This function has issues similar to the ones found in\n * {IERC20-approve}, and its usage is discouraged.\n *\n * Whenever possible, use {safeIncreaseAllowance} and\n * {safeDecreaseAllowance} instead.\n */" }, { - "id": 138, + "id": 139, "src": { - "line": 690, + "line": 705, "column": 8, - "start": 24382, - "end": 24452, + "start": 24679, + "end": 24749, "length": 71, - "parent_index": 139 + "parent_index": 140 }, "node_type": 31, "text": "// safeApprove should only be called when setting an initial allowance," }, { - "id": 139, + "id": 140, "src": { - "line": 691, + "line": 706, "column": 8, - "start": 24462, - "end": 24526, + "start": 24759, + "end": 24823, "length": 65, - "parent_index": 140 + "parent_index": 141 }, "node_type": 31, "text": "// or when resetting it to zero. To increase and decrease it, use" }, { - "id": 140, + "id": 141, "src": { - "line": 692, + "line": 707, "column": 8, - "start": 24536, - "end": 24589, + "start": 24833, + "end": 24886, "length": 54, - "parent_index": 141 + "parent_index": 142 }, "node_type": 31, "text": "// 'safeIncreaseAllowance' and 'safeDecreaseAllowance'" }, { - "id": 141, + "id": 142, "src": { - "line": 722, + "line": 737, "column": 4, - "start": 25683, - "end": 26054, + "start": 25980, + "end": 26351, "length": 372, - "parent_index": 142 + "parent_index": 143 }, "node_type": 32, "text": "/**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n */" }, { - "id": 142, + "id": 143, "src": { - "line": 729, + "line": 744, "column": 8, - "start": 26140, - "end": 26247, + "start": 26437, + "end": 26544, "length": 108, - "parent_index": 143 + "parent_index": 144 }, "node_type": 31, "text": "// We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since" }, { - "id": 143, + "id": 144, "src": { - "line": 730, + "line": 745, "column": 8, - "start": 26257, - "end": 26363, + "start": 26554, + "end": 26660, "length": 107, - "parent_index": 144 + "parent_index": 145 }, "node_type": 31, "text": "// we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that" }, { - "id": 144, + "id": 145, "src": { - "line": 731, + "line": 746, "column": 8, - "start": 26373, - "end": 26468, + "start": 26670, + "end": 26765, "length": 96, - "parent_index": 145 + "parent_index": 146 }, "node_type": 31, "text": "// the target address contains contract code and also asserts for success in the low-level call." }, { - "id": 145, + "id": 146, "src": { - "line": 735, + "line": 750, "column": 12, - "start": 26625, - "end": 26650, + "start": 26922, + "end": 26947, "length": 26, - "parent_index": 146 + "parent_index": 147 }, "node_type": 31, "text": "// Return data is optional" }, - { - "id": 146, - "src": { - "line": 742, - "column": 0, - "start": 26771, - "end": 26814, - "length": 44, - "parent_index": 147 - }, - "node_type": 33, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" - }, { "id": 147, "src": { - "line": 754, + "line": 757, "column": 0, - "start": 27021, - "end": 27064, + "start": 27068, + "end": 27111, "length": 44, "parent_index": 148 }, @@ -79925,803 +80921,803 @@ { "id": 148, "src": { - "line": 761, + "line": 768, "column": 0, - "start": 27141, - "end": 27163, - "length": 23, + "start": 27324, + "end": 27349, + "length": 26, "parent_index": 149 }, "node_type": 31, - "text": "/// @title TokenAdapter" + "text": "/// @title StargateAdapter" }, { "id": 149, "src": { - "line": 762, + "line": 769, "column": 0, - "start": 27165, - "end": 27208, - "length": 44, + "start": 27351, + "end": 27406, + "length": 56, "parent_index": 150 }, "node_type": 31, - "text": "/// @notice Adapter for all token operations" + "text": "/// @notice Adapter for function used by Stargate Bridge" }, { "id": 150, "src": { - "line": 766, + "line": 773, "column": 4, - "start": 27280, - "end": 27337, - "length": 58, + "start": 27518, + "end": 27532, + "length": 15, "parent_index": 151 }, "node_type": 31, - "text": "/// @notice Function to transfer tokens from address(this)" + "text": "// Custom Error" }, { "id": 151, "src": { - "line": 767, + "line": 776, "column": 4, - "start": 27343, - "end": 27376, - "length": 34, + "start": 27570, + "end": 27578, + "length": 9, "parent_index": 152 }, "node_type": 31, - "text": "/// @param token token to transfer" + "text": "// events" }, { "id": 152, "src": { - "line": 768, - "column": 4, - "start": 27382, - "end": 27403, - "length": 22, + "line": 781, + "column": 27, + "start": 27779, + "end": 27802, + "length": 24, "parent_index": 153 }, "node_type": 31, - "text": "/// @param to receiver" + "text": "// stargate dst chain id" }, { "id": 153, "src": { - "line": 769, - "column": 4, - "start": 27409, - "end": 27444, - "length": 36, + "line": 782, + "column": 23, + "start": 27827, + "end": 27850, + "length": 24, "parent_index": 154 }, "node_type": 31, - "text": "/// @param amount amount to transfer" + "text": "// token getting bridged" }, { "id": 154, "src": { - "line": 782, - "column": 4, - "start": 27726, - "end": 27792, - "length": 67, + "line": 783, + "column": 27, + "start": 27879, + "end": 27901, + "length": 23, "parent_index": 155 }, "node_type": 31, - "text": "/// @notice Function to transfer tokens from user to the to address" + "text": "// stargate src pool id" }, { "id": 155, "src": { - "line": 783, - "column": 4, - "start": 27798, - "end": 27831, - "length": 34, + "line": 784, + "column": 27, + "start": 27930, + "end": 27952, + "length": 23, "parent_index": 156 }, "node_type": 31, - "text": "/// @param token token to transfer" + "text": "// stargate dst pool id" }, { "id": 156, "src": { - "line": 784, - "column": 4, - "start": 27837, - "end": 27858, - "length": 22, + "line": 785, + "column": 24, + "start": 27978, + "end": 27996, + "length": 19, "parent_index": 157 }, "node_type": 31, - "text": "/// @param to receiver" + "text": "// amount to bridge" }, { "id": 157, "src": { - "line": 785, - "column": 4, - "start": 27864, - "end": 27899, - "length": 36, + "line": 786, + "column": 27, + "start": 28025, + "end": 28051, + "length": 27, "parent_index": 158 }, "node_type": 31, - "text": "/// @param amount amount to transfer" + "text": "// amount to bridge minimum" }, { "id": 158, "src": { - "line": 794, - "column": 4, - "start": 28083, - "end": 28162, - "length": 80, + "line": 787, + "column": 28, + "start": 28081, + "end": 28123, + "length": 43, "parent_index": 159 }, "node_type": 31, - "text": "/// @notice Unwraps the wrapper native into native and sends it to the receiver." + "text": "// native token to be received on dst chain" }, { "id": 159, "src": { - "line": 795, - "column": 4, - "start": 28168, - "end": 28201, - "length": 34, + "line": 788, + "column": 26, + "start": 28151, + "end": 28176, + "length": 26, "parent_index": 160 }, "node_type": 31, - "text": "/// @param token token to transfer" + "text": "// sushiXswap on dst chain" }, { "id": 160, "src": { - "line": 796, - "column": 4, - "start": 28207, - "end": 28228, - "length": 22, + "line": 789, + "column": 20, + "start": 28198, + "end": 28264, + "length": 67, "parent_index": 161 }, "node_type": 31, - "text": "/// @param to receiver" + "text": "// receiver bridge token incase of transaction reverts on dst chain" }, { "id": 161, "src": { - "line": 803, - "column": 0, - "start": 28449, - "end": 28483, - "length": 35, + "line": 790, + "column": 21, + "start": 28287, + "end": 28334, + "length": 48, "parent_index": 162 }, - "node_type": 33, - "text": "// SPDX-License-Identifier: GPL-3.0" + "node_type": 31, + "text": "// extra gas to be sent for dst chain operations" }, { "id": 162, "src": { - "line": 858, - "column": 0, - "start": 30911, - "end": 30945, + "line": 791, + "column": 28, + "start": 28364, + "end": 28398, "length": 35, "parent_index": 163 }, - "node_type": 33, - "text": "// SPDX-License-Identifier: GPL-3.0" + "node_type": 31, + "text": "// random bytes32 as source context" }, { "id": 163, "src": { - "line": 862, - "column": 0, - "start": 30975, - "end": 31078, - "length": 104, + "line": 794, + "column": 4, + "start": 28411, + "end": 28459, + "length": 49, "parent_index": 164 }, "node_type": 31, - "text": "// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)" + "text": "/// @notice Approves token to the Stargate Router" }, { "id": 164, "src": { - "line": 878, - "column": 0, - "start": 31547, - "end": 31581, - "length": 35, + "line": 795, + "column": 4, + "start": 28465, + "end": 28497, + "length": 33, "parent_index": 165 }, - "node_type": 33, - "text": "// SPDX-License-Identifier: GPL-3.0" + "node_type": 31, + "text": "/// @param token token to approve" }, { "id": 165, "src": { - "line": 889, + "line": 800, "column": 4, - "start": 31739, - "end": 31833, - "length": 95, + "start": 28643, + "end": 28706, + "length": 64, "parent_index": 166 }, "node_type": 31, - "text": "// returns sorted token addresses, used to handle return values from pairs sorted in this order" + "text": "/// @notice Bridges the token to dst chain using Stargate Router" }, { "id": 166, "src": { - "line": 902, + "line": 801, "column": 4, - "start": 32242, - "end": 32319, - "length": 78, + "start": 28712, + "end": 28801, + "length": 90, "parent_index": 167 }, "node_type": 31, - "text": "// calculates the CREATE2 address for a pair without making any external calls" + "text": "/// @dev It is hardcoded to use all the contract balance. Only call this as the last step." }, { "id": 167, "src": { - "line": 918, - "column": 41, - "start": 32892, - "end": 32908, - "length": 17, + "line": 802, + "column": 4, + "start": 28807, + "end": 28863, + "length": 57, "parent_index": 168 }, "node_type": 31, - "text": "// init code hash" + "text": "/// The refund address for extra fees sent it msg.sender." }, { "id": 168, "src": { - "line": 926, + "line": 803, "column": 4, - "start": 33012, - "end": 33055, - "length": 44, + "start": 28869, + "end": 28958, + "length": 90, "parent_index": 169 }, "node_type": 31, - "text": "// fetches and sorts the reserves for a pair" + "text": "/// @param params required by the Stargate, can be found at StargateTeleportParams struct." }, { "id": 169, "src": { - "line": 942, + "line": 804, "column": 4, - "start": 33588, - "end": 33686, - "length": 99, + "start": 28964, + "end": 29056, + "length": 93, "parent_index": 170 }, "node_type": 31, - "text": "// given some amount of an asset and pair reserves, returns an equivalent amount of the other asset" + "text": "/// @param actions An array with a sequence of actions to execute (see ACTION_ declarations)." }, { "id": 170, "src": { - "line": 956, + "line": 805, "column": 4, - "start": 34091, - "end": 34198, - "length": 108, + "start": 29062, + "end": 29160, + "length": 99, "parent_index": 171 }, "node_type": 31, - "text": "// given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset" + "text": "/// @param values A one-to-one mapped array to `actions`. Native token amount to send along action." }, { "id": 171, "src": { - "line": 973, + "line": 806, "column": 4, - "start": 34805, - "end": 34911, - "length": 107, + "start": 29166, + "end": 29270, + "length": 105, "parent_index": 172 }, "node_type": 31, - "text": "// given an output amount of an asset and pair reserves, returns a required input amount of the other asset" + "text": "/// @param datas A one-to-one mapped array to `actions`. Contains abi encoded data of function arguments." }, { "id": 172, "src": { - "line": 989, - "column": 4, - "start": 35471, - "end": 35538, - "length": 68, + "line": 819, + "column": 33, + "start": 29742, + "end": 29758, + "length": 17, "parent_index": 173 }, "node_type": 31, - "text": "// performs chained getAmountOut calculations on any number of pairs" + "text": "// refund address" }, { "id": 173, "src": { - "line": 1010, - "column": 4, - "start": 36223, - "end": 36289, - "length": 67, + "line": 825, + "column": 28, + "start": 29983, + "end": 30023, + "length": 41, "parent_index": 174 }, "node_type": 31, - "text": "// performs chained getAmountIn calculations on any number of pairs" + "text": "// extra gas to be sent for dst execution" }, { "id": 174, "src": { - "line": 1032, - "column": 0, - "start": 36993, - "end": 37036, - "length": 44, + "line": 829, + "column": 47, + "start": 30172, + "end": 30201, + "length": 30, "parent_index": 175 }, - "node_type": 33, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" + "node_type": 31, + "text": "// sushiXswap on the dst chain" }, { "id": 175, "src": { - "line": 1040, - "column": 0, - "start": 37155, - "end": 37183, - "length": 29, + "line": 838, + "column": 4, + "start": 30346, + "end": 30409, + "length": 64, "parent_index": 176 }, "node_type": 31, - "text": "/// @title SushiLegacyAdapter" + "text": "/// @notice Get the fees to be paid in native token for the swap" }, { "id": 176, "src": { - "line": 1041, - "column": 0, - "start": 37185, - "end": 37258, - "length": 74, + "line": 839, + "column": 4, + "start": 30415, + "end": 30457, + "length": 43, "parent_index": 177 }, "node_type": 31, - "text": "/// @notice Adapter for functions used to swap using Sushiswap Legacy AMM." + "text": "/// @param _dstChainId stargate dst chainId" }, { "id": 177, "src": { - "line": 1062, - "column": 8, - "start": 37860, - "end": 37923, - "length": 64, + "line": 840, + "column": 4, + "start": 30463, + "end": 30521, + "length": 59, "parent_index": 178 }, "node_type": 31, - "text": "/// @dev force sends token to the first pair if not already sent" + "text": "/// @param _functionType stargate Function type 1 for swap." }, { "id": 178, "src": { - "line": 1077, + "line": 841, "column": 4, - "start": 38301, - "end": 38380, - "length": 80, + "start": 30527, + "end": 30612, + "length": 86, "parent_index": 179 }, "node_type": 31, - "text": "/// @dev requires the initial amount to have already been sent to the first pair" + "text": "/// See more at https://stargateprotocol.gitbook.io/stargate/developers/function-types" }, { "id": 179, "src": { - "line": 1105, - "column": 0, - "start": 39356, - "end": 39399, - "length": 44, + "line": 842, + "column": 4, + "start": 30618, + "end": 30665, + "length": 48, "parent_index": 180 }, - "node_type": 33, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" + "node_type": 31, + "text": "/// @param _receiver sushiXswap on the dst chain" }, { "id": 180, "src": { - "line": 1113, - "column": 0, - "start": 39506, - "end": 39547, - "length": 42, + "line": 843, + "column": 4, + "start": 30671, + "end": 30706, + "length": 36, "parent_index": 181 }, "node_type": 31, - "text": "/// @notice Trident pool router interface." + "text": "/// @param _gas extra gas being sent" }, { "id": 181, "src": { - "line": 1152, - "column": 34, - "start": 40308, - "end": 40348, - "length": 41, + "line": 844, + "column": 4, + "start": 30712, + "end": 30777, + "length": 66, "parent_index": 182 }, "node_type": 31, - "text": "// Multiplied by 10^6. 100% = 100_000_000" + "text": "/// @param _dustAmount dust amount to be received at the dst chain" }, { "id": 182, "src": { - "line": 1170, - "column": 0, - "start": 40641, - "end": 40684, - "length": 44, + "line": 845, + "column": 4, + "start": 30783, + "end": 30837, + "length": 55, "parent_index": 183 }, - "node_type": 33, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" + "node_type": 31, + "text": "/// @param _payload payload being sent at the dst chain" }, { "id": 183, "src": { - "line": 1181, - "column": 0, - "start": 40867, - "end": 40910, - "length": 44, + "line": 867, + "column": 4, + "start": 31424, + "end": 31465, + "length": 42, "parent_index": 184 }, - "node_type": 33, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" + "node_type": 31, + "text": "/// @notice Receiver function on dst chain" }, { "id": 184, "src": { - "line": 1187, - "column": 0, - "start": 40975, - "end": 41003, - "length": 29, + "line": 868, + "column": 4, + "start": 31471, + "end": 31509, + "length": 39, "parent_index": 185 }, "node_type": 31, - "text": "/// @title TridentSwapAdapter" + "text": "/// @param _token bridge token received" }, { "id": 185, "src": { - "line": 1188, - "column": 0, - "start": 41005, - "end": 41051, - "length": 47, + "line": 869, + "column": 4, + "start": 31515, + "end": 31549, + "length": 35, "parent_index": 186 }, "node_type": 31, - "text": "/// @notice Adapter for all Trident based Swaps" + "text": "/// @param amountLD amount received" }, { "id": 186, "src": { - "line": 1196, + "line": 870, "column": 4, - "start": 41175, - "end": 41189, - "length": 15, + "start": 31555, + "end": 31613, + "length": 59, "parent_index": 187 }, "node_type": 31, - "text": "// Custom Error" + "text": "/// @param payload ABI-Encoded data received from src chain" }, { "id": 187, "src": { - "line": 1199, - "column": 4, - "start": 41227, - "end": 41306, - "length": 80, + "line": 889, + "column": 8, + "start": 32142, + "end": 32162, + "length": 21, "parent_index": 188 }, "node_type": 31, - "text": "/// @notice Swaps token A to token B directly. Swaps are done on `bento` tokens." + "text": "// 100000 -\u003e exit gas" }, { "id": 188, "src": { - "line": 1200, - "column": 4, - "start": 41312, - "end": 41399, - "length": 88, + "line": 892, + "column": 8, + "start": 32237, + "end": 32309, + "length": 73, "parent_index": 189 }, "node_type": 31, - "text": "/// @param params This includes the address of token A, pool, amount of token A to swap," + "text": "/// @dev incase the actions fail, transfer bridge token to the to address" }, { "id": 189, "src": { - "line": 1201, - "column": 4, - "start": 41405, - "end": 41492, - "length": 88, + "line": 904, + "column": 8, + "start": 32609, + "end": 32677, + "length": 69, "parent_index": 190 }, "node_type": 31, - "text": "/// minimum amount of token B after the swap and data required by the pool for the swap." + "text": "/// @dev transfer any native token received as dust to the to address" }, { "id": 190, "src": { - "line": 1202, - "column": 4, - "start": 41498, - "end": 41601, - "length": 104, + "line": 913, + "column": 0, + "start": 32842, + "end": 32876, + "length": 35, "parent_index": 191 }, - "node_type": 31, - "text": "/// @dev Ensure that the pool is trusted before calling this function. The pool can steal users' tokens." + "node_type": 33, + "text": "// SPDX-License-Identifier: GPL-3.0" }, { "id": 191, "src": { - "line": 1216, - "column": 12, - "start": 42027, - "end": 42057, - "length": 31, + "line": 968, + "column": 0, + "start": 35304, + "end": 35338, + "length": 35, "parent_index": 192 }, - "node_type": 31, - "text": "// Pay the first pool directly." + "node_type": 33, + "text": "// SPDX-License-Identifier: GPL-3.0" }, { "id": 192, "src": { - "line": 1226, - "column": 8, - "start": 42297, - "end": 42327, - "length": 31, + "line": 972, + "column": 0, + "start": 35368, + "end": 35471, + "length": 104, "parent_index": 193 }, "node_type": 31, - "text": "// Call every pool in the path." + "text": "// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)" }, { "id": 193, "src": { - "line": 1227, - "column": 8, - "start": 42337, - "end": 42405, - "length": 69, + "line": 988, + "column": 0, + "start": 35940, + "end": 35974, + "length": 35, "parent_index": 194 }, - "node_type": 31, - "text": "// Pool `N` should transfer its output tokens to pool `N+1` directly." + "node_type": 33, + "text": "// SPDX-License-Identifier: GPL-3.0" }, { "id": 194, "src": { - "line": 1228, - "column": 8, - "start": 42415, - "end": 42477, - "length": 63, + "line": 999, + "column": 4, + "start": 36132, + "end": 36226, + "length": 95, "parent_index": 195 }, "node_type": 31, - "text": "// The last pool should transfer its output tokens to the user." + "text": "// returns sorted token addresses, used to handle return values from pairs sorted in this order" }, { "id": 195, "src": { - "line": 1229, - "column": 8, - "start": 42487, - "end": 42574, - "length": 88, + "line": 1012, + "column": 4, + "start": 36635, + "end": 36712, + "length": 78, "parent_index": 196 }, "node_type": 31, - "text": "// If the user wants to unwrap `wETH`, the final destination should be this contract and" + "text": "// calculates the CREATE2 address for a pair without making any external calls" }, { "id": 196, "src": { - "line": 1230, - "column": 8, - "start": 42584, - "end": 42630, - "length": 47, + "line": 1028, + "column": 41, + "start": 37285, + "end": 37301, + "length": 17, "parent_index": 197 }, "node_type": 31, - "text": "// a batch call should be made to `unwrapWETH`." + "text": "// init code hash" }, { "id": 197, "src": { - "line": 1235, - "column": 8, - "start": 42824, - "end": 42905, - "length": 82, + "line": 1036, + "column": 4, + "start": 37405, + "end": 37448, + "length": 44, "parent_index": 198 }, "node_type": 31, - "text": "// Ensure that the slippage wasn't too much. This assumes that the pool is honest." + "text": "// fetches and sorts the reserves for a pair" }, { "id": 198, "src": { - "line": 1239, + "line": 1052, "column": 4, - "start": 42995, - "end": 43107, - "length": 113, + "start": 37981, + "end": 38079, + "length": 99, "parent_index": 199 }, "node_type": 31, - "text": "/// @notice Swaps multiple input tokens to multiple output tokens using multiple paths, in different percentages." + "text": "// given some amount of an asset and pair reserves, returns an equivalent amount of the other asset" }, { "id": 199, "src": { - "line": 1240, + "line": 1066, "column": 4, - "start": 43113, - "end": 43185, - "length": 73, + "start": 38484, + "end": 38591, + "length": 108, "parent_index": 200 }, "node_type": 31, - "text": "/// For example, you can swap 50 DAI + 100 USDC into 60% ETH and 40% BTC." + "text": "// given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset" }, { "id": 200, "src": { - "line": 1241, + "line": 1083, "column": 4, - "start": 43191, - "end": 43253, - "length": 63, + "start": 39198, + "end": 39304, + "length": 107, "parent_index": 201 }, "node_type": 31, - "text": "/// @param params This includes everything needed for the swap." + "text": "// given an output amount of an asset and pair reserves, returns a required input amount of the other asset" }, { "id": 201, "src": { - "line": 1242, + "line": 1099, "column": 4, - "start": 43259, - "end": 43318, - "length": 60, + "start": 39864, + "end": 39931, + "length": 68, "parent_index": 202 }, "node_type": 31, - "text": "/// Look at the `ComplexPathParams` struct for more details." + "text": "// performs chained getAmountOut calculations on any number of pairs" }, { "id": 202, "src": { - "line": 1243, + "line": 1120, "column": 4, - "start": 43324, - "end": 43426, - "length": 103, + "start": 40616, + "end": 40682, + "length": 67, "parent_index": 203 }, "node_type": 31, - "text": "/// @dev This function is not optimized for single swaps and should only be used in complex cases where" + "text": "// performs chained getAmountIn calculations on any number of pairs" }, { "id": 203, "src": { - "line": 1244, - "column": 4, - "start": 43432, - "end": 43536, - "length": 105, + "line": 1142, + "column": 0, + "start": 41386, + "end": 41429, + "length": 44, "parent_index": 204 }, - "node_type": 31, - "text": "/// the amounts are large enough that minimizing slippage by using multiple paths is worth the extra gas." + "node_type": 33, + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 204, "src": { - "line": 1246, - "column": 8, - "start": 43616, - "end": 43688, - "length": 73, + "line": 1150, + "column": 0, + "start": 41548, + "end": 41576, + "length": 29, "parent_index": 205 }, "node_type": 31, - "text": "// Deposit all initial tokens to respective pools and initiate the swaps." + "text": "/// @title SushiLegacyAdapter" }, { "id": 205, "src": { - "line": 1247, - "column": 8, - "start": 43698, - "end": 43765, - "length": 68, + "line": 1151, + "column": 0, + "start": 41578, + "end": 41651, + "length": 74, "parent_index": 206 }, "node_type": 31, - "text": "// Input tokens come from the user - output goes to following pools." + "text": "/// @notice Adapter for functions used to swap using Sushiswap Legacy AMM." }, { "id": 206, "src": { - "line": 1258, + "line": 1172, "column": 8, - "start": 44181, - "end": 44240, - "length": 60, + "start": 42253, + "end": 42316, + "length": 64, "parent_index": 207 }, "node_type": 31, - "text": "// Do all the middle swaps. Input comes from previous pools." + "text": "/// @dev force sends token to the first pair if not already sent" }, { "id": 207, "src": { - "line": 1277, - "column": 8, - "start": 44962, - "end": 45031, - "length": 70, + "line": 1187, + "column": 4, + "start": 42694, + "end": 42773, + "length": 80, "parent_index": 208 }, "node_type": 31, - "text": "// Ensure enough was received and transfer the ouput to the recipient." + "text": "/// @dev requires the initial amount to have already been sent to the first pair" }, { "id": 208, "src": { - "line": 1312, + "line": 1215, "column": 0, - "start": 46041, - "end": 46075, - "length": 35, + "start": 43749, + "end": 43792, + "length": 44, "parent_index": 209 }, "node_type": 33, - "text": "// SPDX-License-Identifier: GPL-3.0" + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 209, "src": { - "line": 1327, + "line": 1227, "column": 0, - "start": 46338, - "end": 46381, + "start": 43999, + "end": 44042, "length": 44, "parent_index": 210 }, @@ -80731,548 +81727,548 @@ { "id": 210, "src": { - "line": 1338, + "line": 1234, "column": 0, - "start": 46594, - "end": 46619, - "length": 26, + "start": 44119, + "end": 44141, + "length": 23, "parent_index": 211 }, "node_type": 31, - "text": "/// @title StargateAdapter" + "text": "/// @title TokenAdapter" }, { "id": 211, "src": { - "line": 1339, + "line": 1235, "column": 0, - "start": 46621, - "end": 46676, - "length": 56, + "start": 44143, + "end": 44186, + "length": 44, "parent_index": 212 }, "node_type": 31, - "text": "/// @notice Adapter for function used by Stargate Bridge" + "text": "/// @notice Adapter for all token operations" }, { "id": 212, "src": { - "line": 1343, + "line": 1239, "column": 4, - "start": 46788, - "end": 46802, - "length": 15, + "start": 44258, + "end": 44315, + "length": 58, "parent_index": 213 }, "node_type": 31, - "text": "// Custom Error" + "text": "/// @notice Function to transfer tokens from address(this)" }, { "id": 213, "src": { - "line": 1346, + "line": 1240, "column": 4, - "start": 46840, - "end": 46848, - "length": 9, + "start": 44321, + "end": 44354, + "length": 34, "parent_index": 214 }, "node_type": 31, - "text": "// events" + "text": "/// @param token token to transfer" }, { "id": 214, "src": { - "line": 1351, - "column": 27, - "start": 47049, - "end": 47072, - "length": 24, + "line": 1241, + "column": 4, + "start": 44360, + "end": 44381, + "length": 22, "parent_index": 215 }, "node_type": 31, - "text": "// stargate dst chain id" + "text": "/// @param to receiver" }, { "id": 215, "src": { - "line": 1352, - "column": 23, - "start": 47097, - "end": 47120, - "length": 24, + "line": 1242, + "column": 4, + "start": 44387, + "end": 44422, + "length": 36, "parent_index": 216 }, "node_type": 31, - "text": "// token getting bridged" + "text": "/// @param amount amount to transfer" }, { "id": 216, "src": { - "line": 1353, - "column": 27, - "start": 47149, - "end": 47171, - "length": 23, + "line": 1255, + "column": 4, + "start": 44704, + "end": 44770, + "length": 67, "parent_index": 217 }, "node_type": 31, - "text": "// stargate src pool id" + "text": "/// @notice Function to transfer tokens from user to the to address" }, { "id": 217, "src": { - "line": 1354, - "column": 27, - "start": 47200, - "end": 47222, - "length": 23, + "line": 1256, + "column": 4, + "start": 44776, + "end": 44809, + "length": 34, "parent_index": 218 }, "node_type": 31, - "text": "// stargate dst pool id" + "text": "/// @param token token to transfer" }, { "id": 218, "src": { - "line": 1355, - "column": 24, - "start": 47248, - "end": 47266, - "length": 19, + "line": 1257, + "column": 4, + "start": 44815, + "end": 44836, + "length": 22, "parent_index": 219 }, "node_type": 31, - "text": "// amount to bridge" + "text": "/// @param to receiver" }, { "id": 219, "src": { - "line": 1356, - "column": 27, - "start": 47295, - "end": 47321, - "length": 27, + "line": 1258, + "column": 4, + "start": 44842, + "end": 44877, + "length": 36, "parent_index": 220 }, "node_type": 31, - "text": "// amount to bridge minimum" + "text": "/// @param amount amount to transfer" }, { "id": 220, "src": { - "line": 1357, - "column": 28, - "start": 47351, - "end": 47393, - "length": 43, + "line": 1267, + "column": 4, + "start": 45061, + "end": 45140, + "length": 80, "parent_index": 221 }, "node_type": 31, - "text": "// native token to be received on dst chain" + "text": "/// @notice Unwraps the wrapper native into native and sends it to the receiver." }, { "id": 221, "src": { - "line": 1358, - "column": 26, - "start": 47421, - "end": 47446, - "length": 26, + "line": 1268, + "column": 4, + "start": 45146, + "end": 45179, + "length": 34, "parent_index": 222 }, "node_type": 31, - "text": "// sushiXswap on dst chain" + "text": "/// @param token token to transfer" }, { "id": 222, "src": { - "line": 1359, - "column": 20, - "start": 47468, - "end": 47534, - "length": 67, + "line": 1269, + "column": 4, + "start": 45185, + "end": 45206, + "length": 22, "parent_index": 223 }, "node_type": 31, - "text": "// receiver bridge token incase of transaction reverts on dst chain" + "text": "/// @param to receiver" }, { "id": 223, "src": { - "line": 1360, - "column": 21, - "start": 47557, - "end": 47604, - "length": 48, + "line": 1276, + "column": 0, + "start": 45427, + "end": 45470, + "length": 44, "parent_index": 224 }, - "node_type": 31, - "text": "// extra gas to be sent for dst chain operations" + "node_type": 33, + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 224, "src": { - "line": 1361, - "column": 28, - "start": 47634, - "end": 47668, - "length": 35, + "line": 1284, + "column": 0, + "start": 45577, + "end": 45618, + "length": 42, "parent_index": 225 }, "node_type": 31, - "text": "// random bytes32 as source context" + "text": "/// @notice Trident pool router interface." }, { "id": 225, "src": { - "line": 1364, - "column": 4, - "start": 47681, - "end": 47729, - "length": 49, + "line": 1323, + "column": 34, + "start": 46379, + "end": 46419, + "length": 41, "parent_index": 226 }, "node_type": 31, - "text": "/// @notice Approves token to the Stargate Router" + "text": "// Multiplied by 10^6. 100% = 100_000_000" }, { "id": 226, "src": { - "line": 1365, - "column": 4, - "start": 47735, - "end": 47767, - "length": 33, + "line": 1341, + "column": 0, + "start": 46712, + "end": 46755, + "length": 44, "parent_index": 227 }, - "node_type": 31, - "text": "/// @param token token to approve" + "node_type": 33, + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 227, "src": { - "line": 1370, - "column": 4, - "start": 47913, - "end": 47976, - "length": 64, + "line": 1352, + "column": 0, + "start": 46938, + "end": 46981, + "length": 44, "parent_index": 228 }, - "node_type": 31, - "text": "/// @notice Bridges the token to dst chain using Stargate Router" + "node_type": 33, + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 228, "src": { - "line": 1371, - "column": 4, - "start": 47982, - "end": 48071, - "length": 90, + "line": 1358, + "column": 0, + "start": 47046, + "end": 47074, + "length": 29, "parent_index": 229 }, "node_type": 31, - "text": "/// @dev It is hardcoded to use all the contract balance. Only call this as the last step." + "text": "/// @title TridentSwapAdapter" }, { "id": 229, "src": { - "line": 1372, - "column": 4, - "start": 48077, - "end": 48133, - "length": 57, + "line": 1359, + "column": 0, + "start": 47076, + "end": 47122, + "length": 47, "parent_index": 230 }, "node_type": 31, - "text": "/// The refund address for extra fees sent it msg.sender." + "text": "/// @notice Adapter for all Trident based Swaps" }, { "id": 230, "src": { - "line": 1373, + "line": 1367, "column": 4, - "start": 48139, - "end": 48228, - "length": 90, + "start": 47246, + "end": 47260, + "length": 15, "parent_index": 231 }, "node_type": 31, - "text": "/// @param params required by the Stargate, can be found at StargateTeleportParams struct." + "text": "// Custom Error" }, { "id": 231, "src": { - "line": 1374, + "line": 1370, "column": 4, - "start": 48234, - "end": 48326, - "length": 93, + "start": 47298, + "end": 47377, + "length": 80, "parent_index": 232 }, "node_type": 31, - "text": "/// @param actions An array with a sequence of actions to execute (see ACTION_ declarations)." + "text": "/// @notice Swaps token A to token B directly. Swaps are done on `bento` tokens." }, { "id": 232, "src": { - "line": 1375, + "line": 1371, "column": 4, - "start": 48332, - "end": 48430, - "length": 99, + "start": 47383, + "end": 47470, + "length": 88, "parent_index": 233 }, "node_type": 31, - "text": "/// @param values A one-to-one mapped array to `actions`. Native token amount to send along action." + "text": "/// @param params This includes the address of token A, pool, amount of token A to swap," }, { "id": 233, "src": { - "line": 1376, + "line": 1372, "column": 4, - "start": 48436, - "end": 48540, - "length": 105, + "start": 47476, + "end": 47563, + "length": 88, "parent_index": 234 }, "node_type": 31, - "text": "/// @param datas A one-to-one mapped array to `actions`. Contains abi encoded data of function arguments." + "text": "/// minimum amount of token B after the swap and data required by the pool for the swap." }, { "id": 234, "src": { - "line": 1389, - "column": 33, - "start": 49012, - "end": 49028, - "length": 17, + "line": 1373, + "column": 4, + "start": 47569, + "end": 47672, + "length": 104, "parent_index": 235 }, "node_type": 31, - "text": "// refund address" + "text": "/// @dev Ensure that the pool is trusted before calling this function. The pool can steal users' tokens." }, { "id": 235, "src": { - "line": 1395, - "column": 28, - "start": 49253, - "end": 49293, - "length": 41, + "line": 1387, + "column": 12, + "start": 48098, + "end": 48128, + "length": 31, "parent_index": 236 }, "node_type": 31, - "text": "// extra gas to be sent for dst execution" + "text": "// Pay the first pool directly." }, { "id": 236, "src": { - "line": 1399, - "column": 47, - "start": 49442, - "end": 49471, - "length": 30, + "line": 1397, + "column": 8, + "start": 48368, + "end": 48398, + "length": 31, "parent_index": 237 }, "node_type": 31, - "text": "// sushiXswap on the dst chain" + "text": "// Call every pool in the path." }, { "id": 237, "src": { - "line": 1408, - "column": 4, - "start": 49616, - "end": 49679, - "length": 64, + "line": 1398, + "column": 8, + "start": 48408, + "end": 48476, + "length": 69, "parent_index": 238 }, "node_type": 31, - "text": "/// @notice Get the fees to be paid in native token for the swap" + "text": "// Pool `N` should transfer its output tokens to pool `N+1` directly." }, { "id": 238, "src": { - "line": 1409, - "column": 4, - "start": 49685, - "end": 49727, - "length": 43, + "line": 1399, + "column": 8, + "start": 48486, + "end": 48548, + "length": 63, "parent_index": 239 }, "node_type": 31, - "text": "/// @param _dstChainId stargate dst chainId" + "text": "// The last pool should transfer its output tokens to the user." }, { "id": 239, "src": { - "line": 1410, - "column": 4, - "start": 49733, - "end": 49791, - "length": 59, + "line": 1400, + "column": 8, + "start": 48558, + "end": 48645, + "length": 88, "parent_index": 240 }, "node_type": 31, - "text": "/// @param _functionType stargate Function type 1 for swap." + "text": "// If the user wants to unwrap `wETH`, the final destination should be this contract and" }, { "id": 240, "src": { - "line": 1411, - "column": 4, - "start": 49797, - "end": 49882, - "length": 86, + "line": 1401, + "column": 8, + "start": 48655, + "end": 48701, + "length": 47, "parent_index": 241 }, "node_type": 31, - "text": "/// See more at https://stargateprotocol.gitbook.io/stargate/developers/function-types" + "text": "// a batch call should be made to `unwrapWETH`." }, { "id": 241, "src": { - "line": 1412, - "column": 4, - "start": 49888, - "end": 49935, - "length": 48, + "line": 1406, + "column": 8, + "start": 48895, + "end": 48976, + "length": 82, "parent_index": 242 }, "node_type": 31, - "text": "/// @param _receiver sushiXswap on the dst chain" + "text": "// Ensure that the slippage wasn't too much. This assumes that the pool is honest." }, { "id": 242, "src": { - "line": 1413, + "line": 1410, "column": 4, - "start": 49941, - "end": 49976, - "length": 36, + "start": 49066, + "end": 49178, + "length": 113, "parent_index": 243 }, "node_type": 31, - "text": "/// @param _gas extra gas being sent" + "text": "/// @notice Swaps multiple input tokens to multiple output tokens using multiple paths, in different percentages." }, { "id": 243, "src": { - "line": 1414, + "line": 1411, "column": 4, - "start": 49982, - "end": 50047, - "length": 66, + "start": 49184, + "end": 49256, + "length": 73, "parent_index": 244 }, "node_type": 31, - "text": "/// @param _dustAmount dust amount to be received at the dst chain" + "text": "/// For example, you can swap 50 DAI + 100 USDC into 60% ETH and 40% BTC." }, { "id": 244, "src": { - "line": 1415, + "line": 1412, "column": 4, - "start": 50053, - "end": 50107, - "length": 55, + "start": 49262, + "end": 49324, + "length": 63, "parent_index": 245 }, "node_type": 31, - "text": "/// @param _payload payload being sent at the dst chain" + "text": "/// @param params This includes everything needed for the swap." }, { "id": 245, "src": { - "line": 1437, + "line": 1413, "column": 4, - "start": 50694, - "end": 50735, - "length": 42, + "start": 49330, + "end": 49389, + "length": 60, "parent_index": 246 }, "node_type": 31, - "text": "/// @notice Receiver function on dst chain" + "text": "/// Look at the `ComplexPathParams` struct for more details." }, { "id": 246, "src": { - "line": 1438, + "line": 1414, "column": 4, - "start": 50741, - "end": 50779, - "length": 39, + "start": 49395, + "end": 49497, + "length": 103, "parent_index": 247 }, "node_type": 31, - "text": "/// @param _token bridge token received" + "text": "/// @dev This function is not optimized for single swaps and should only be used in complex cases where" }, { "id": 247, "src": { - "line": 1439, + "line": 1415, "column": 4, - "start": 50785, - "end": 50819, - "length": 35, + "start": 49503, + "end": 49607, + "length": 105, "parent_index": 248 }, "node_type": 31, - "text": "/// @param amountLD amount received" + "text": "/// the amounts are large enough that minimizing slippage by using multiple paths is worth the extra gas." }, { "id": 248, "src": { - "line": 1440, - "column": 4, - "start": 50825, - "end": 50883, - "length": 59, + "line": 1417, + "column": 8, + "start": 49687, + "end": 49759, + "length": 73, "parent_index": 249 }, "node_type": 31, - "text": "/// @param payload ABI-Encoded data received from src chain" + "text": "// Deposit all initial tokens to respective pools and initiate the swaps." }, { "id": 249, "src": { - "line": 1459, + "line": 1418, "column": 8, - "start": 51412, - "end": 51432, - "length": 21, + "start": 49769, + "end": 49836, + "length": 68, "parent_index": 250 }, "node_type": 31, - "text": "// 100000 -\u003e exit gas" + "text": "// Input tokens come from the user - output goes to following pools." }, { "id": 250, "src": { - "line": 1462, + "line": 1429, "column": 8, - "start": 51507, - "end": 51579, - "length": 73, + "start": 50252, + "end": 50311, + "length": 60, "parent_index": 251 }, "node_type": 31, - "text": "/// @dev incase the actions fail, transfer bridge token to the to address" + "text": "// Do all the middle swaps. Input comes from previous pools." }, { "id": 251, "src": { - "line": 1474, + "line": 1448, "column": 8, - "start": 51879, - "end": 51947, - "length": 69, + "start": 51033, + "end": 51102, + "length": 70, "parent_index": 252 }, "node_type": 31, - "text": "/// @dev transfer any native token received as dust to the to address" + "text": "// Ensure enough was received and transfer the ouput to the recipient." }, { "id": 252, diff --git a/data/tests/contracts/sushixswap/SushiXSwap.solgo.ast.proto.json b/data/tests/contracts/sushixswap/SushiXSwap.solgo.ast.proto.json index 66649431..b29aecf1 100644 --- a/data/tests/contracts/sushixswap/SushiXSwap.solgo.ast.proto.json +++ b/data/tests/contracts/sushixswap/SushiXSwap.solgo.ast.proto.json @@ -1,12 +1,12 @@ { "id": 272, - "entry_source_unit": 4195, + "entry_source_unit": 4209, "node_type": 80, "global_nodes": [ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4435", + "id": "4449", "isConstant": true, "isStateVariable": true, "name": "success", @@ -25,7 +25,7 @@ "typeString": "bool" }, "typeName": { - "id": "4436", + "id": "4450", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -33,7 +33,7 @@ "end": "2581", "length": "4", "line": "63", - "parentIndex": "4435", + "parentIndex": "4449", "start": "2578" }, "typeDescription": { @@ -47,7 +47,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4437", + "id": "4451", "isConstant": true, "isStateVariable": true, "name": "success", @@ -66,7 +66,7 @@ "typeString": "bool" }, "typeName": { - "id": "4438", + "id": "4452", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74,7 +74,7 @@ "end": "5303", "length": "4", "line": "137", - "parentIndex": "4437", + "parentIndex": "4451", "start": "5300" }, "typeDescription": { @@ -88,7 +88,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4439", + "id": "4453", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -107,7 +107,7 @@ "typeString": "bytes" }, "typeName": { - "id": "4440", + "id": "4454", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -115,7 +115,7 @@ "end": "5318", "length": "5", "line": "137", - "parentIndex": "4439", + "parentIndex": "4453", "start": "5314" }, "typeDescription": { @@ -129,7 +129,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4441", + "id": "4455", "isConstant": true, "isStateVariable": true, "name": "success", @@ -148,7 +148,7 @@ "typeString": "bool" }, "typeName": { - "id": "4442", + "id": "4456", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -156,7 +156,7 @@ "end": "6255", "length": "4", "line": "164", - "parentIndex": "4441", + "parentIndex": "4455", "start": "6252" }, "typeDescription": { @@ -170,7 +170,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4443", + "id": "4457", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -189,7 +189,7 @@ "typeString": "bytes" }, "typeName": { - "id": "4444", + "id": "4458", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -197,7 +197,7 @@ "end": "6270", "length": "5", "line": "164", - "parentIndex": "4443", + "parentIndex": "4457", "start": "6266" }, "typeDescription": { @@ -211,7 +211,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4445", + "id": "4459", "isConstant": true, "isStateVariable": true, "name": "success", @@ -230,7 +230,7 @@ "typeString": "bool" }, "typeName": { - "id": "4446", + "id": "4460", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -238,7 +238,7 @@ "end": "7203", "length": "4", "line": "191", - "parentIndex": "4445", + "parentIndex": "4459", "start": "7200" }, "typeDescription": { @@ -252,7 +252,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4447", + "id": "4461", "isConstant": true, "isStateVariable": true, "name": "returndata", @@ -271,7 +271,7 @@ "typeString": "bytes" }, "typeName": { - "id": "4448", + "id": "4462", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -279,7 +279,7 @@ "end": "7218", "length": "5", "line": "191", - "parentIndex": "4447", + "parentIndex": "4461", "start": "7214" }, "typeDescription": { @@ -294,19 +294,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.lzTxObj", - "id": "4449", + "id": "4463", "members": [ { - "id": "4450", + "id": "4464", "name": "dstGasForCall", "nodeType": "VARIABLE_DECLARATION", - "scope": "4450", + "scope": "4464", "src": { "column": "8", "end": "11647", "length": "22", "line": "320", - "parentIndex": "4449", + "parentIndex": "4463", "start": "11626" }, "stateMutability": "MUTABLE", @@ -315,7 +315,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4451", + "id": "4465", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -323,7 +323,7 @@ "end": "11632", "length": "7", "line": "320", - "parentIndex": "4450", + "parentIndex": "4464", "start": "11626" }, "typeDescription": { @@ -334,16 +334,16 @@ "visibility": "INTERNAL" }, { - "id": "4452", + "id": "4466", "name": "dstNativeAmount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4452", + "scope": "4466", "src": { "column": "8", "end": "11680", "length": "24", "line": "321", - "parentIndex": "4449", + "parentIndex": "4463", "start": "11657" }, "stateMutability": "MUTABLE", @@ -352,7 +352,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4453", + "id": "4467", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -360,7 +360,7 @@ "end": "11663", "length": "7", "line": "321", - "parentIndex": "4452", + "parentIndex": "4466", "start": "11657" }, "typeDescription": { @@ -371,16 +371,16 @@ "visibility": "INTERNAL" }, { - "id": "4454", + "id": "4468", "name": "dstNativeAddr", "nodeType": "VARIABLE_DECLARATION", - "scope": "4454", + "scope": "4468", "src": { "column": "8", "end": "11709", "length": "20", "line": "322", - "parentIndex": "4449", + "parentIndex": "4463", "start": "11690" }, "stateMutability": "MUTABLE", @@ -389,7 +389,7 @@ "typeString": "bytes" }, "typeName": { - "id": "4455", + "id": "4469", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -397,7 +397,7 @@ "end": "11694", "length": "5", "line": "322", - "parentIndex": "4454", + "parentIndex": "4468", "start": "11690" }, "typeDescription": { @@ -414,7 +414,7 @@ "end": "11614", "length": "7", "line": "319", - "parentIndex": "4449", + "parentIndex": "4463", "start": "11608" }, "nodeType": "STRUCT_DEFINITION", @@ -427,7 +427,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_lzTxObj_$4449", + "typeIdentifier": "t_struct$_Global_lzTxObj_$4463", "typeString": "struct Global.lzTxObj" }, "visibility": "PUBLIC" @@ -436,7 +436,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4456", + "id": "4470", "isStateVariable": true, "name": "bentoBox", "nodeType": "VARIABLE_DECLARATION", @@ -454,17 +454,17 @@ "typeString": "contract IBentoBoxMinimal" }, "typeName": { - "id": "4457", + "id": "4471", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4458", + "id": "4472", "name": "IBentoBoxMinimal", "nameLocation": { "column": "4", "end": "13252", "length": "16", "line": "384", - "parentIndex": "4457", + "parentIndex": "4471", "start": "13237" }, "nodeType": "IDENTIFIER_PATH", @@ -474,7 +474,7 @@ "end": "13252", "length": "16", "line": "384", - "parentIndex": "4457", + "parentIndex": "4471", "start": "13237" } }, @@ -484,7 +484,7 @@ "end": "13252", "length": "16", "line": "384", - "parentIndex": "4456", + "parentIndex": "4470", "start": "13237" }, "typeDescription": { @@ -498,7 +498,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4459", + "id": "4473", "isStateVariable": true, "name": "stargateRouter", "nodeType": "VARIABLE_DECLARATION", @@ -516,17 +516,17 @@ "typeString": "contract IStargateRouter" }, "typeName": { - "id": "4460", + "id": "4474", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4461", + "id": "4475", "name": "IStargateRouter", "nameLocation": { "column": "4", "end": "13369", "length": "15", "line": "387", - "parentIndex": "4460", + "parentIndex": "4474", "start": "13355" }, "nodeType": "IDENTIFIER_PATH", @@ -536,7 +536,7 @@ "end": "13369", "length": "15", "line": "387", - "parentIndex": "4460", + "parentIndex": "4474", "start": "13355" } }, @@ -546,7 +546,7 @@ "end": "13369", "length": "15", "line": "387", - "parentIndex": "4459", + "parentIndex": "4473", "start": "13355" }, "typeDescription": { @@ -560,7 +560,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4462", + "id": "4476", "isStateVariable": true, "name": "stargateWidget", "nodeType": "VARIABLE_DECLARATION", @@ -578,17 +578,17 @@ "typeString": "contract IStargateWidget" }, "typeName": { - "id": "4463", + "id": "4477", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4464", + "id": "4478", "name": "IStargateWidget", "nameLocation": { "column": "4", "end": "13489", "length": "15", "line": "390", - "parentIndex": "4463", + "parentIndex": "4477", "start": "13475" }, "nodeType": "IDENTIFIER_PATH", @@ -598,7 +598,7 @@ "end": "13489", "length": "15", "line": "390", - "parentIndex": "4463", + "parentIndex": "4477", "start": "13475" } }, @@ -608,7 +608,7 @@ "end": "13489", "length": "15", "line": "390", - "parentIndex": "4462", + "parentIndex": "4476", "start": "13475" }, "typeDescription": { @@ -622,7 +622,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4465", + "id": "4479", "isStateVariable": true, "name": "factory", "nodeType": "VARIABLE_DECLARATION", @@ -640,7 +640,7 @@ "typeString": "address" }, "typeName": { - "id": "4466", + "id": "4480", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -648,7 +648,7 @@ "end": "13589", "length": "7", "line": "393", - "parentIndex": "4465", + "parentIndex": "4479", "start": "13583" }, "stateMutability": "NONPAYABLE", @@ -663,7 +663,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4467", + "id": "4481", "isStateVariable": true, "name": "pairCodeHash", "nodeType": "VARIABLE_DECLARATION", @@ -681,7 +681,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4468", + "id": "4482", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -689,7 +689,7 @@ "end": "13687", "length": "7", "line": "396", - "parentIndex": "4467", + "parentIndex": "4481", "start": "13681" }, "typeDescription": { @@ -703,25 +703,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4469", + "id": "4483", "name": "Transfer", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "4470", + "id": "4484", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4471", + "id": "4485", "indexed": true, "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "4471", + "scope": "4485", "src": { "column": "19", "end": "16985", "length": "20", "line": "490", - "parentIndex": "4470", + "parentIndex": "4484", "start": "16966" }, "stateMutability": "NONPAYABLE", @@ -731,7 +731,7 @@ "typeString": "address" }, "typeName": { - "id": "4472", + "id": "4486", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -739,7 +739,7 @@ "end": "16972", "length": "7", "line": "490", - "parentIndex": "4471", + "parentIndex": "4485", "start": "16966" }, "stateMutability": "NONPAYABLE", @@ -751,17 +751,17 @@ "visibility": "INTERNAL" }, { - "id": "4473", + "id": "4487", "indexed": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4473", + "scope": "4487", "src": { "column": "41", "end": "17005", "length": "18", "line": "490", - "parentIndex": "4470", + "parentIndex": "4484", "start": "16988" }, "stateMutability": "NONPAYABLE", @@ -771,7 +771,7 @@ "typeString": "address" }, "typeName": { - "id": "4474", + "id": "4488", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -779,7 +779,7 @@ "end": "16994", "length": "7", "line": "490", - "parentIndex": "4473", + "parentIndex": "4487", "start": "16988" }, "stateMutability": "NONPAYABLE", @@ -791,16 +791,16 @@ "visibility": "INTERNAL" }, { - "id": "4475", + "id": "4489", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "4475", + "scope": "4489", "src": { "column": "61", "end": "17020", "length": "13", "line": "490", - "parentIndex": "4470", + "parentIndex": "4484", "start": "17008" }, "stateMutability": "MUTABLE", @@ -810,7 +810,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4476", + "id": "4490", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -818,7 +818,7 @@ "end": "17014", "length": "7", "line": "490", - "parentIndex": "4475", + "parentIndex": "4489", "start": "17008" }, "typeDescription": { @@ -834,7 +834,7 @@ "end": "17022", "length": "72", "line": "490", - "parentIndex": "4469", + "parentIndex": "4483", "start": "16951" } }, @@ -846,7 +846,7 @@ "start": "16951" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Transfer_\u00264469", + "typeIdentifier": "t_event\u0026_Global_Transfer_\u00264483", "typeString": "event Global.Transfer" } } @@ -854,25 +854,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4477", + "id": "4491", "name": "Approval", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "4478", + "id": "4492", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4479", + "id": "4493", "indexed": true, "name": "owner", "nodeType": "VARIABLE_DECLARATION", - "scope": "4479", + "scope": "4493", "src": { "column": "19", "end": "17217", "length": "21", "line": "496", - "parentIndex": "4478", + "parentIndex": "4492", "start": "17197" }, "stateMutability": "NONPAYABLE", @@ -882,7 +882,7 @@ "typeString": "address" }, "typeName": { - "id": "4480", + "id": "4494", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -890,7 +890,7 @@ "end": "17203", "length": "7", "line": "496", - "parentIndex": "4479", + "parentIndex": "4493", "start": "17197" }, "stateMutability": "NONPAYABLE", @@ -902,17 +902,17 @@ "visibility": "INTERNAL" }, { - "id": "4481", + "id": "4495", "indexed": true, "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "4481", + "scope": "4495", "src": { "column": "42", "end": "17242", "length": "23", "line": "496", - "parentIndex": "4478", + "parentIndex": "4492", "start": "17220" }, "stateMutability": "NONPAYABLE", @@ -922,7 +922,7 @@ "typeString": "address" }, "typeName": { - "id": "4482", + "id": "4496", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -930,7 +930,7 @@ "end": "17226", "length": "7", "line": "496", - "parentIndex": "4481", + "parentIndex": "4495", "start": "17220" }, "stateMutability": "NONPAYABLE", @@ -942,16 +942,16 @@ "visibility": "INTERNAL" }, { - "id": "4483", + "id": "4497", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "4483", + "scope": "4497", "src": { "column": "67", "end": "17257", "length": "13", "line": "496", - "parentIndex": "4478", + "parentIndex": "4492", "start": "17245" }, "stateMutability": "MUTABLE", @@ -961,7 +961,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4484", + "id": "4498", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -969,7 +969,7 @@ "end": "17251", "length": "7", "line": "496", - "parentIndex": "4483", + "parentIndex": "4497", "start": "17245" }, "typeDescription": { @@ -985,7 +985,7 @@ "end": "17259", "length": "78", "line": "496", - "parentIndex": "4477", + "parentIndex": "4491", "start": "17182" } }, @@ -997,7 +997,7 @@ "start": "17182" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Approval_\u00264477", + "typeIdentifier": "t_event\u0026_Global_Approval_\u00264491", "typeString": "event Global.Approval" } } @@ -1005,25 +1005,25 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4485", + "id": "4499", "name": "Swap", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "4486", + "id": "4500", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4487", + "id": "4501", "indexed": true, "name": "recipient", "nodeType": "VARIABLE_DECLARATION", - "scope": "4487", + "scope": "4501", "src": { "column": "8", "end": "22599", "length": "25", "line": "627", - "parentIndex": "4486", + "parentIndex": "4500", "start": "22575" }, "stateMutability": "NONPAYABLE", @@ -1033,7 +1033,7 @@ "typeString": "address" }, "typeName": { - "id": "4488", + "id": "4502", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1041,7 +1041,7 @@ "end": "22581", "length": "7", "line": "627", - "parentIndex": "4487", + "parentIndex": "4501", "start": "22575" }, "stateMutability": "NONPAYABLE", @@ -1053,17 +1053,17 @@ "visibility": "INTERNAL" }, { - "id": "4489", + "id": "4503", "indexed": true, "name": "tokenIn", "nodeType": "VARIABLE_DECLARATION", - "scope": "4489", + "scope": "4503", "src": { "column": "8", "end": "22632", "length": "23", "line": "628", - "parentIndex": "4486", + "parentIndex": "4500", "start": "22610" }, "stateMutability": "NONPAYABLE", @@ -1073,7 +1073,7 @@ "typeString": "address" }, "typeName": { - "id": "4490", + "id": "4504", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1081,7 +1081,7 @@ "end": "22616", "length": "7", "line": "628", - "parentIndex": "4489", + "parentIndex": "4503", "start": "22610" }, "stateMutability": "NONPAYABLE", @@ -1093,17 +1093,17 @@ "visibility": "INTERNAL" }, { - "id": "4491", + "id": "4505", "indexed": true, "name": "tokenOut", "nodeType": "VARIABLE_DECLARATION", - "scope": "4491", + "scope": "4505", "src": { "column": "8", "end": "22666", "length": "24", "line": "629", - "parentIndex": "4486", + "parentIndex": "4500", "start": "22643" }, "stateMutability": "NONPAYABLE", @@ -1113,7 +1113,7 @@ "typeString": "address" }, "typeName": { - "id": "4492", + "id": "4506", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1121,7 +1121,7 @@ "end": "22649", "length": "7", "line": "629", - "parentIndex": "4491", + "parentIndex": "4505", "start": "22643" }, "stateMutability": "NONPAYABLE", @@ -1133,16 +1133,16 @@ "visibility": "INTERNAL" }, { - "id": "4493", + "id": "4507", "name": "amountIn", "nodeType": "VARIABLE_DECLARATION", - "scope": "4493", + "scope": "4507", "src": { "column": "8", "end": "22692", "length": "16", "line": "630", - "parentIndex": "4486", + "parentIndex": "4500", "start": "22677" }, "stateMutability": "MUTABLE", @@ -1152,7 +1152,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4494", + "id": "4508", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1160,7 +1160,7 @@ "end": "22683", "length": "7", "line": "630", - "parentIndex": "4493", + "parentIndex": "4507", "start": "22677" }, "typeDescription": { @@ -1171,16 +1171,16 @@ "visibility": "INTERNAL" }, { - "id": "4495", + "id": "4509", "name": "amountOut", "nodeType": "VARIABLE_DECLARATION", - "scope": "4495", + "scope": "4509", "src": { "column": "8", "end": "22719", "length": "17", "line": "631", - "parentIndex": "4486", + "parentIndex": "4500", "start": "22703" }, "stateMutability": "MUTABLE", @@ -1190,7 +1190,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4496", + "id": "4510", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1198,7 +1198,7 @@ "end": "22709", "length": "7", "line": "631", - "parentIndex": "4495", + "parentIndex": "4509", "start": "22703" }, "typeDescription": { @@ -1214,7 +1214,7 @@ "end": "22726", "length": "172", "line": "626", - "parentIndex": "4485", + "parentIndex": "4499", "start": "22555" } }, @@ -1226,7 +1226,7 @@ "start": "22555" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Swap_\u00264485", + "typeIdentifier": "t_event\u0026_Global_Swap_\u00264499", "typeString": "event Global.Swap" } } @@ -1235,19 +1235,19 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.TokenAmount", - "id": "4497", + "id": "4511", "members": [ { - "id": "4498", + "id": "4512", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "4498", + "scope": "4512", "src": { "column": "8", "end": "22832", "length": "14", "line": "636", - "parentIndex": "4497", + "parentIndex": "4511", "start": "22819" }, "stateMutability": "NONPAYABLE", @@ -1256,7 +1256,7 @@ "typeString": "address" }, "typeName": { - "id": "4499", + "id": "4513", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1264,7 +1264,7 @@ "end": "22825", "length": "7", "line": "636", - "parentIndex": "4498", + "parentIndex": "4512", "start": "22819" }, "stateMutability": "NONPAYABLE", @@ -1276,16 +1276,16 @@ "visibility": "INTERNAL" }, { - "id": "4500", + "id": "4514", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4500", + "scope": "4514", "src": { "column": "8", "end": "22856", "length": "15", "line": "637", - "parentIndex": "4497", + "parentIndex": "4511", "start": "22842" }, "stateMutability": "MUTABLE", @@ -1294,7 +1294,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4501", + "id": "4515", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -1302,7 +1302,7 @@ "end": "22848", "length": "7", "line": "637", - "parentIndex": "4500", + "parentIndex": "4514", "start": "22842" }, "typeDescription": { @@ -1319,7 +1319,7 @@ "end": "22807", "length": "11", "line": "635", - "parentIndex": "4497", + "parentIndex": "4511", "start": "22797" }, "nodeType": "STRUCT_DEFINITION", @@ -1332,7 +1332,7 @@ }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenAmount_$4497", + "typeIdentifier": "t_struct$_Global_TokenAmount_$4511", "typeString": "struct Global.TokenAmount" }, "visibility": "PUBLIC" @@ -1341,17 +1341,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4502", + "id": "4516", "isConstant": true, "isStateVariable": true, "name": "newAllowance", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "25020", + "end": "25317", "length": "20", - "line": "705", - "start": "25001" + "line": "720", + "start": "25298" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -1360,16 +1360,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4503", + "id": "4517", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "25007", + "end": "25304", "length": "7", - "line": "705", - "parentIndex": "4502", - "start": "25001" + "line": "720", + "parentIndex": "4516", + "start": "25298" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -1382,17 +1382,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4504", + "id": "4518", "isConstant": true, "isStateVariable": true, "name": "oldAllowance", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "25360", + "end": "25657", "length": "20", - "line": "715", - "start": "25341" + "line": "730", + "start": "25638" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -1401,16 +1401,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4505", + "id": "4519", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "12", - "end": "25347", + "end": "25644", "length": "7", - "line": "715", - "parentIndex": "4504", - "start": "25341" + "line": "730", + "parentIndex": "4518", + "start": "25638" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -1423,17 +1423,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4506", + "id": "4520", "isConstant": true, "isStateVariable": true, "name": "newAllowance", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "25525", + "end": "25822", "length": "20", - "line": "717", - "start": "25506" + "line": "732", + "start": "25803" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -1442,16 +1442,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4507", + "id": "4521", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "12", - "end": "25512", + "end": "25809", "length": "7", - "line": "717", - "parentIndex": "4506", - "start": "25506" + "line": "732", + "parentIndex": "4520", + "start": "25803" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -1464,17 +1464,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4508", + "id": "4522", "isConstant": true, "isStateVariable": true, "name": "returndata", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "26501", + "end": "26798", "length": "23", - "line": "733", - "start": "26479" + "line": "748", + "start": "26776" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -1483,16 +1483,16 @@ "typeString": "bytes" }, "typeName": { - "id": "4509", + "id": "4523", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "26483", + "end": "26780", "length": "5", - "line": "733", - "parentIndex": "4508", - "start": "26479" + "line": "748", + "parentIndex": "4522", + "start": "26776" }, "typeDescription": { "typeIdentifier": "t_bytes", @@ -1503,280 +1503,89 @@ } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "4510", - "name": "Approval", - "nodeType": "EVENT_DEFINITION", + "id": "4524", + "name": "NotStargateRouter", + "nameLocation": { + "column": "10", + "end": "27560", + "length": "17", + "line": "774", + "parentIndex": "4524", + "start": "27544" + }, + "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "4511", + "id": "4525", "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "4512", - "indexed": true, - "name": "owner", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4512", - "src": { - "column": "19", - "end": "28578", - "length": "21", - "line": "808", - "parentIndex": "4511", - "start": "28558" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4513", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "19", - "end": "28564", - "length": "7", - "line": "808", - "parentIndex": "4512", - "start": "28558" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4514", - "indexed": true, - "name": "spender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4514", - "src": { - "column": "42", - "end": "28603", - "length": "23", - "line": "808", - "parentIndex": "4511", - "start": "28581" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4515", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "42", - "end": "28587", - "length": "7", - "line": "808", - "parentIndex": "4514", - "start": "28581" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4516", - "name": "value", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4516", - "src": { - "column": "67", - "end": "28615", - "length": "10", - "line": "808", - "parentIndex": "4511", - "start": "28606" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4517", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "67", - "end": "28609", - "length": "4", - "line": "808", - "parentIndex": "4516", - "start": "28606" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], "src": { "column": "4", - "end": "28617", - "length": "75", - "line": "808", - "parentIndex": "4510", - "start": "28543" + "end": "27563", + "length": "26", + "line": "774", + "parentIndex": "4524", + "start": "27538" } }, "src": { "column": "4", - "end": "28617", - "length": "75", - "line": "808", - "start": "28543" + "end": "27563", + "length": "26", + "line": "774", + "start": "27538" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Approval_\u00264510", - "typeString": "event Global.Approval" + "typeIdentifier": "t_error$_Global_NotStargateRouter_$4524", + "typeString": "error Global.NotStargateRouter" } } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4518", - "name": "Transfer", + "id": "4526", + "name": "StargateSushiXSwapSrc", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "4519", + "id": "4527", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4520", - "indexed": true, - "name": "from", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4520", - "src": { - "column": "19", - "end": "28657", - "length": "20", - "line": "809", - "parentIndex": "4519", - "start": "28638" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4521", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "19", - "end": "28644", - "length": "7", - "line": "809", - "parentIndex": "4520", - "start": "28638" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4522", + "id": "4528", "indexed": true, - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4522", - "src": { - "column": "41", - "end": "28677", - "length": "18", - "line": "809", - "parentIndex": "4519", - "start": "28660" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4523", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "41", - "end": "28666", - "length": "7", - "line": "809", - "parentIndex": "4522", - "start": "28660" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4524", - "name": "value", + "name": "srcContext", "nodeType": "VARIABLE_DECLARATION", - "scope": "4524", + "scope": "4528", "src": { - "column": "61", - "end": "28689", - "length": "10", - "line": "809", - "parentIndex": "4519", - "start": "28680" + "column": "32", + "end": "27637", + "length": "26", + "line": "777", + "parentIndex": "4527", + "start": "27612" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": "4525", - "name": "uint", + "id": "4529", + "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "61", - "end": "28683", - "length": "4", - "line": "809", - "parentIndex": "4524", - "start": "28680" + "column": "32", + "end": "27618", + "length": "7", + "line": "777", + "parentIndex": "4528", + "start": "27612" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "INTERNAL" @@ -1784,148 +1593,109 @@ ], "src": { "column": "4", - "end": "28691", - "length": "69", - "line": "809", - "parentIndex": "4518", - "start": "28623" + "end": "27639", + "length": "56", + "line": "777", + "parentIndex": "4526", + "start": "27584" } }, "src": { "column": "4", - "end": "28691", - "length": "69", - "line": "809", - "start": "28623" + "end": "27639", + "length": "56", + "line": "777", + "start": "27584" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Transfer_\u00264518", - "typeString": "event Global.Transfer" + "typeIdentifier": "t_event\u0026_Global_StargateSushiXSwapSrc_\u00264526", + "typeString": "event Global.StargateSushiXSwapSrc" } } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4526", - "name": "Mint", + "id": "4530", + "name": "StargateSushiXSwapDst", "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "4527", + "id": "4531", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4528", + "id": "4532", "indexed": true, - "name": "sender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4528", - "src": { - "column": "15", - "end": "29668", - "length": "22", - "line": "828", - "parentIndex": "4527", - "start": "29647" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4529", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "15", - "end": "29653", - "length": "7", - "line": "828", - "parentIndex": "4528", - "start": "29647" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4530", - "name": "amount0", + "name": "srcContext", "nodeType": "VARIABLE_DECLARATION", - "scope": "4530", + "scope": "4532", "src": { - "column": "39", - "end": "29682", - "length": "12", - "line": "828", - "parentIndex": "4527", - "start": "29671" + "column": "32", + "end": "27698", + "length": "26", + "line": "778", + "parentIndex": "4531", + "start": "27673" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": "4531", - "name": "uint", + "id": "4533", + "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "39", - "end": "29674", - "length": "4", - "line": "828", - "parentIndex": "4530", - "start": "29671" + "column": "32", + "end": "27679", + "length": "7", + "line": "778", + "parentIndex": "4532", + "start": "27673" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "INTERNAL" }, { - "id": "4532", - "name": "amount1", + "id": "4534", + "name": "failed", "nodeType": "VARIABLE_DECLARATION", - "scope": "4532", + "scope": "4534", "src": { - "column": "53", - "end": "29696", - "length": "12", - "line": "828", - "parentIndex": "4527", - "start": "29685" + "column": "60", + "end": "27711", + "length": "11", + "line": "778", + "parentIndex": "4531", + "start": "27701" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "4533", - "name": "uint", + "id": "4535", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "53", - "end": "29688", + "column": "60", + "end": "27704", "length": "4", - "line": "828", - "parentIndex": "4532", - "start": "29685" + "line": "778", + "parentIndex": "4534", + "start": "27701" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "INTERNAL" @@ -1933,626 +1703,504 @@ ], "src": { "column": "4", - "end": "29698", - "length": "63", - "line": "828", - "parentIndex": "4526", - "start": "29636" + "end": "27713", + "length": "69", + "line": "778", + "parentIndex": "4530", + "start": "27645" } }, "src": { "column": "4", - "end": "29698", - "length": "63", - "line": "828", - "start": "29636" + "end": "27713", + "length": "69", + "line": "778", + "start": "27645" }, "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Mint_\u00264526", - "typeString": "event Global.Mint" + "typeIdentifier": "t_event\u0026_Global_StargateSushiXSwapDst_\u00264530", + "typeString": "event Global.StargateSushiXSwapDst" } } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { - "id": "4534", - "name": "Burn", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "4535", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "4536", - "indexed": true, - "name": "sender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4536", + "canonicalName": "Global.StargateTeleportParams", + "id": "4536", + "members": [ + { + "id": "4537", + "name": "dstChainId", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4537", + "src": { + "column": "8", + "end": "27777", + "length": "18", + "line": "781", + "parentIndex": "4536", + "start": "27760" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": "4538", + "name": "uint16", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "15", - "end": "29736", - "length": "22", - "line": "829", - "parentIndex": "4535", - "start": "29715" + "column": "8", + "end": "27765", + "length": "6", + "line": "781", + "parentIndex": "4537", + "start": "27760" + }, + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4539", + "name": "token", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4539", + "src": { + "column": "8", + "end": "27825", + "length": "14", + "line": "782", + "parentIndex": "4536", + "start": "27812" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4540", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "27818", + "length": "7", + "line": "782", + "parentIndex": "4539", + "start": "27812" }, "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" - }, - "typeName": { - "id": "4537", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "15", - "end": "29721", - "length": "7", - "line": "829", - "parentIndex": "4536", - "start": "29715" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" + } }, - { - "id": "4538", - "name": "amount0", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4538", + "visibility": "INTERNAL" + }, + { + "id": "4541", + "name": "srcPoolId", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4541", + "src": { + "column": "8", + "end": "27877", + "length": "18", + "line": "783", + "parentIndex": "4536", + "start": "27860" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4542", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "39", - "end": "29750", - "length": "12", - "line": "829", - "parentIndex": "4535", - "start": "29739" + "column": "8", + "end": "27866", + "length": "7", + "line": "783", + "parentIndex": "4541", + "start": "27860" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": "4539", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "39", - "end": "29742", - "length": "4", - "line": "829", - "parentIndex": "4538", - "start": "29739" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + } }, - { - "id": "4540", - "name": "amount1", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4540", + "visibility": "INTERNAL" + }, + { + "id": "4543", + "name": "dstPoolId", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4543", + "src": { + "column": "8", + "end": "27928", + "length": "18", + "line": "784", + "parentIndex": "4536", + "start": "27911" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4544", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "53", - "end": "29764", - "length": "12", - "line": "829", - "parentIndex": "4535", - "start": "29753" + "column": "8", + "end": "27917", + "length": "7", + "line": "784", + "parentIndex": "4543", + "start": "27911" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": "4541", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "53", - "end": "29756", - "length": "4", - "line": "829", - "parentIndex": "4540", - "start": "29753" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + } }, - { - "id": "4542", - "indexed": true, - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4542", - "src": { - "column": "67", - "end": "29784", - "length": "18", - "line": "829", - "parentIndex": "4535", - "start": "29767" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4543", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "67", - "end": "29773", - "length": "7", - "line": "829", - "parentIndex": "4542", - "start": "29767" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "29786", - "length": "83", - "line": "829", - "parentIndex": "4534", - "start": "29704" - } - }, - "src": { - "column": "4", - "end": "29786", - "length": "83", - "line": "829", - "start": "29704" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Burn_\u00264534", - "typeString": "event Global.Burn" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "4544", - "name": "Swap", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "4545", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { + "visibility": "INTERNAL" + }, + { + "id": "4545", + "name": "amount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4545", + "src": { + "column": "8", + "end": "27976", + "length": "15", + "line": "785", + "parentIndex": "4536", + "start": "27962" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { "id": "4546", - "indexed": true, - "name": "sender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4546", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "29833", - "length": "22", - "line": "831", + "end": "27968", + "length": "7", + "line": "785", "parentIndex": "4545", - "start": "29812" + "start": "27962" }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4547", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29818", - "length": "7", - "line": "831", - "parentIndex": "4546", - "start": "29812" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - { + "visibility": "INTERNAL" + }, + { + "id": "4547", + "name": "amountMin", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4547", + "src": { + "column": "8", + "end": "28023", + "length": "18", + "line": "786", + "parentIndex": "4536", + "start": "28006" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { "id": "4548", - "name": "amount0In", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4548", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "29857", - "length": "14", - "line": "832", - "parentIndex": "4545", - "start": "29844" + "end": "28012", + "length": "7", + "line": "786", + "parentIndex": "4547", + "start": "28006" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": "4549", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29847", - "length": "4", - "line": "832", - "parentIndex": "4548", - "start": "29844" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + } }, - { + "visibility": "INTERNAL" + }, + { + "id": "4549", + "name": "dustAmount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4549", + "src": { + "column": "8", + "end": "28079", + "length": "19", + "line": "787", + "parentIndex": "4536", + "start": "28061" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { "id": "4550", - "name": "amount1In", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4550", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "29881", - "length": "14", - "line": "833", - "parentIndex": "4545", - "start": "29868" + "end": "28067", + "length": "7", + "line": "787", + "parentIndex": "4549", + "start": "28061" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": "4551", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29871", - "length": "4", - "line": "833", - "parentIndex": "4550", - "start": "29868" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + } }, - { + "visibility": "INTERNAL" + }, + { + "id": "4551", + "name": "receiver", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4551", + "src": { + "column": "8", + "end": "28149", + "length": "17", + "line": "788", + "parentIndex": "4536", + "start": "28133" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { "id": "4552", - "name": "amount0Out", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4552", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "29906", - "length": "15", - "line": "834", - "parentIndex": "4545", - "start": "29892" + "end": "28139", + "length": "7", + "line": "788", + "parentIndex": "4551", + "start": "28133" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4553", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29895", - "length": "4", - "line": "834", - "parentIndex": "4552", - "start": "29892" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - { - "id": "4554", - "name": "amount1Out", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4554", - "src": { - "column": "8", - "end": "29931", - "length": "15", - "line": "835", - "parentIndex": "4545", - "start": "29917" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4555", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29920", - "length": "4", - "line": "835", - "parentIndex": "4554", - "start": "29917" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + "visibility": "INTERNAL" + }, + { + "id": "4553", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4553", + "src": { + "column": "8", + "end": "28196", + "length": "11", + "line": "789", + "parentIndex": "4536", + "start": "28186" }, - { - "id": "4556", - "indexed": true, - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4556", + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4554", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "29959", - "length": "18", - "line": "836", - "parentIndex": "4545", - "start": "29942" + "end": "28192", + "length": "7", + "line": "789", + "parentIndex": "4553", + "start": "28186" }, "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" - }, - "typeName": { - "id": "4557", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29948", - "length": "7", - "line": "836", - "parentIndex": "4556", - "start": "29942" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "29966", - "length": "175", - "line": "830", - "parentIndex": "4544", - "start": "29792" - } - }, - "src": { - "column": "4", - "end": "29966", - "length": "175", - "line": "830", - "start": "29792" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Swap_\u00264544", - "typeString": "event Global.Swap" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "4558", - "name": "Sync", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "4559", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "4560", - "name": "reserve0", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4560", + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4555", + "name": "gas", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4555", + "src": { + "column": "8", + "end": "28285", + "length": "12", + "line": "790", + "parentIndex": "4536", + "start": "28274" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4556", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "15", - "end": "29998", - "length": "16", - "line": "838", - "parentIndex": "4559", - "start": "29983" + "column": "8", + "end": "28280", + "length": "7", + "line": "790", + "parentIndex": "4555", + "start": "28274" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": "4561", - "name": "uint112", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "15", - "end": "29989", - "length": "7", - "line": "838", - "parentIndex": "4560", - "start": "29983" - }, - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "visibility": "INTERNAL" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - { - "id": "4562", - "name": "reserve1", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4562", + "visibility": "INTERNAL" + }, + { + "id": "4557", + "name": "srcContext", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4557", + "src": { + "column": "8", + "end": "28362", + "length": "19", + "line": "791", + "parentIndex": "4536", + "start": "28344" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "4558", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "33", - "end": "30016", - "length": "16", - "line": "838", - "parentIndex": "4559", - "start": "30001" + "column": "8", + "end": "28350", + "length": "7", + "line": "791", + "parentIndex": "4557", + "start": "28344" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": "4563", - "name": "uint112", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "33", - "end": "30007", - "length": "7", - "line": "838", - "parentIndex": "4562", - "start": "30001" - }, - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "30018", - "length": "47", - "line": "838", - "parentIndex": "4558", - "start": "29972" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" } + ], + "name": "StargateTeleportParams", + "nameLocation": { + "column": "11", + "end": "27748", + "length": "22", + "line": "780", + "parentIndex": "4536", + "start": "27727" }, + "nodeType": "STRUCT_DEFINITION", "src": { "column": "4", - "end": "30018", - "length": "47", - "line": "838", - "start": "29972" + "end": "28404", + "length": "685", + "line": "780", + "start": "27720" }, + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_Sync_\u00264558", - "typeString": "event Global.Sync" - } + "typeIdentifier": "t_struct$_Global_StargateTeleportParams_$4536", + "typeString": "struct Global.StargateTeleportParams" + }, + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4564", + "id": "4559", "isConstant": true, "isStateVariable": true, - "name": "token0", + "name": "payload", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "9", - "end": "32512", - "length": "14", - "line": "909", - "start": "32499" + "column": "8", + "end": "29488", + "length": "20", + "line": "813", + "start": "29469" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes", + "typeString": "bytes" }, "typeName": { - "id": "4565", - "name": "address", + "id": "4560", + "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "9", - "end": "32505", - "length": "7", - "line": "909", - "parentIndex": "4564", - "start": "32499" + "column": "8", + "end": "29473", + "length": "5", + "line": "813", + "parentIndex": "4559", + "start": "29469" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes", + "typeString": "bytes" } }, "visibility": "PUBLIC" @@ -2561,17 +2209,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4566", + "id": "4561", "isConstant": true, "isStateVariable": true, - "name": "token1", + "name": "to", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "25", - "end": "32528", - "length": "14", - "line": "909", - "start": "32515" + "column": "12", + "end": "31910", + "length": "10", + "line": "882", + "start": "31901" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -2580,16 +2228,16 @@ "typeString": "address" }, "typeName": { - "id": "4567", + "id": "4562", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "25", - "end": "32521", + "column": "12", + "end": "31907", "length": "7", - "line": "909", - "parentIndex": "4566", - "start": "32515" + "line": "882", + "parentIndex": "4561", + "start": "31901" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -2603,40 +2251,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4568", + "id": "4563", "isConstant": true, "isStateVariable": true, - "name": "token0", + "name": "actions", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "9", - "end": "33274", - "length": "14", - "line": "933", - "start": "33261" + "column": "12", + "end": "31946", + "length": "22", + "line": "883", + "start": "31925" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": "4569", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4564", + "name": "uint8", + "nodeType": "IDENTIFIER", "src": { - "column": "9", - "end": "33267", - "length": "7", - "line": "933", - "parentIndex": "4568", - "start": "33261" + "column": "12", + "end": "31929", + "length": "5", + "line": "883", + "parentIndex": "4563", + "start": "31925" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "visibility": "PUBLIC" @@ -2645,17 +2292,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4570", + "id": "4565", "isConstant": true, "isStateVariable": true, - "name": "reserve0", + "name": "values", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "9", - "end": "33333", - "length": "16", - "line": "934", - "start": "33318" + "column": "12", + "end": "31983", + "length": "23", + "line": "884", + "start": "31961" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -2664,16 +2311,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4571", + "id": "4566", "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "IDENTIFIER", "src": { - "column": "9", - "end": "33324", + "column": "12", + "end": "31967", "length": "7", - "line": "934", - "parentIndex": "4570", - "start": "33318" + "line": "884", + "parentIndex": "4565", + "start": "31961" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2686,40 +2333,40 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4572", + "id": "4567", "isConstant": true, "isStateVariable": true, - "name": "reserve1", + "name": "datas", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "27", - "end": "33351", - "length": "16", - "line": "934", - "start": "33336" + "column": "12", + "end": "32017", + "length": "20", + "line": "885", + "start": "31998" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes", + "typeString": "bytes" }, "typeName": { - "id": "4573", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4568", + "name": "bytes", + "nodeType": "IDENTIFIER", "src": { - "column": "27", - "end": "33342", - "length": "7", - "line": "934", - "parentIndex": "4572", - "start": "33336" + "column": "12", + "end": "32002", + "length": "5", + "line": "885", + "parentIndex": "4567", + "start": "31998" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } }, "visibility": "PUBLIC" } @@ -2727,39 +2374,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4574", + "id": "4569", "isConstant": true, "isStateVariable": true, - "name": "amountInWithFee", + "name": "srcContext", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "8", - "end": "34593", - "length": "23", - "line": "967", - "start": "34571" + "column": "12", + "end": "32049", + "length": "18", + "line": "886", + "start": "32032" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": "4575", - "name": "uint256", + "id": "4570", + "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "34577", + "column": "12", + "end": "32038", "length": "7", - "line": "967", - "parentIndex": "4574", - "start": "34571" + "line": "886", + "parentIndex": "4569", + "start": "32032" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "PUBLIC" @@ -2768,17 +2415,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4576", + "id": "4571", "isConstant": true, "isStateVariable": true, - "name": "numerator", + "name": "limit", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "34640", - "length": "17", - "line": "968", - "start": "34624" + "end": "32184", + "length": "13", + "line": "890", + "start": "32172" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -2787,16 +2434,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4577", + "id": "4572", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "34630", + "end": "32178", "length": "7", - "line": "968", - "parentIndex": "4576", - "start": "34624" + "line": "890", + "parentIndex": "4571", + "start": "32172" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -2809,468 +2456,1072 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4578", + "id": "4573", "isConstant": true, "isStateVariable": true, - "name": "denominator", + "name": "failed", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "34703", - "length": "19", - "line": "969", - "start": "34685" + "end": "32226", + "length": "11", + "line": "891", + "start": "32216" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "4579", - "name": "uint256", + "id": "4574", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "34691", - "length": "7", - "line": "969", - "parentIndex": "4578", - "start": "34685" + "end": "32219", + "length": "4", + "line": "891", + "parentIndex": "4573", + "start": "32216" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "PUBLIC" } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4580", - "isConstant": true, - "isStateVariable": true, - "name": "numerator", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "8", - "end": "35301", - "length": "17", - "line": "984", - "start": "35285" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4581", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4575", + "name": "Approval", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "4576", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "4577", + "indexed": true, + "name": "owner", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4577", + "src": { + "column": "19", + "end": "32971", + "length": "21", + "line": "918", + "parentIndex": "4576", + "start": "32951" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4578", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "19", + "end": "32957", + "length": "7", + "line": "918", + "parentIndex": "4577", + "start": "32951" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4579", + "indexed": true, + "name": "spender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4579", + "src": { + "column": "42", + "end": "32996", + "length": "23", + "line": "918", + "parentIndex": "4576", + "start": "32974" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4580", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "42", + "end": "32980", + "length": "7", + "line": "918", + "parentIndex": "4579", + "start": "32974" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4581", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4581", + "src": { + "column": "67", + "end": "33008", + "length": "10", + "line": "918", + "parentIndex": "4576", + "start": "32999" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4582", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "67", + "end": "33002", + "length": "4", + "line": "918", + "parentIndex": "4581", + "start": "32999" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], "src": { - "column": "8", - "end": "35291", - "length": "7", - "line": "984", - "parentIndex": "4580", - "start": "35285" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "column": "4", + "end": "33010", + "length": "75", + "line": "918", + "parentIndex": "4575", + "start": "32936" } }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4582", - "isConstant": true, - "isStateVariable": true, - "name": "denominator", - "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "8", - "end": "35367", - "length": "19", - "line": "985", - "start": "35349" + "column": "4", + "end": "33010", + "length": "75", + "line": "918", + "start": "32936" }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4583", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "35355", - "length": "7", - "line": "985", - "parentIndex": "4582", - "start": "35349" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" + "typeIdentifier": "t_event\u0026_Global_Approval_\u00264575", + "typeString": "event Global.Approval" + } } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4584", - "isConstant": true, - "isStateVariable": true, - "name": "i", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "13", - "end": "35903", - "length": "9", - "line": "999", - "start": "35895" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4585", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4583", + "name": "Transfer", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "4584", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "4585", + "indexed": true, + "name": "from", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4585", + "src": { + "column": "19", + "end": "33050", + "length": "20", + "line": "919", + "parentIndex": "4584", + "start": "33031" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4586", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "19", + "end": "33037", + "length": "7", + "line": "919", + "parentIndex": "4585", + "start": "33031" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4587", + "indexed": true, + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4587", + "src": { + "column": "41", + "end": "33070", + "length": "18", + "line": "919", + "parentIndex": "4584", + "start": "33053" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4588", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "41", + "end": "33059", + "length": "7", + "line": "919", + "parentIndex": "4587", + "start": "33053" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4589", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4589", + "src": { + "column": "61", + "end": "33082", + "length": "10", + "line": "919", + "parentIndex": "4584", + "start": "33073" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4590", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "61", + "end": "33076", + "length": "4", + "line": "919", + "parentIndex": "4589", + "start": "33073" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], "src": { - "column": "13", - "end": "35901", - "length": "7", - "line": "999", - "parentIndex": "4584", - "start": "35895" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "column": "4", + "end": "33084", + "length": "69", + "line": "919", + "parentIndex": "4583", + "start": "33016" } }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4586", - "isConstant": true, - "isStateVariable": true, - "name": "reserveIn", - "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "13", - "end": "35963", - "length": "17", - "line": "1000", - "start": "35947" + "column": "4", + "end": "33084", + "length": "69", + "line": "919", + "start": "33016" }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4587", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "35953", - "length": "7", - "line": "1000", - "parentIndex": "4586", - "start": "35947" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" + "typeIdentifier": "t_event\u0026_Global_Transfer_\u00264583", + "typeString": "event Global.Transfer" + } } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4588", - "isConstant": true, - "isStateVariable": true, - "name": "reserveOut", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "32", - "end": "35983", - "length": "18", - "line": "1000", - "start": "35966" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4589", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4591", + "name": "Mint", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "4592", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "4593", + "indexed": true, + "name": "sender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4593", + "src": { + "column": "15", + "end": "34061", + "length": "22", + "line": "938", + "parentIndex": "4592", + "start": "34040" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4594", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "15", + "end": "34046", + "length": "7", + "line": "938", + "parentIndex": "4593", + "start": "34040" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4595", + "name": "amount0", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4595", + "src": { + "column": "39", + "end": "34075", + "length": "12", + "line": "938", + "parentIndex": "4592", + "start": "34064" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4596", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "39", + "end": "34067", + "length": "4", + "line": "938", + "parentIndex": "4595", + "start": "34064" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4597", + "name": "amount1", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4597", + "src": { + "column": "53", + "end": "34089", + "length": "12", + "line": "938", + "parentIndex": "4592", + "start": "34078" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4598", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "53", + "end": "34081", + "length": "4", + "line": "938", + "parentIndex": "4597", + "start": "34078" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], "src": { - "column": "32", - "end": "35972", - "length": "7", - "line": "1000", - "parentIndex": "4588", - "start": "35966" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "column": "4", + "end": "34091", + "length": "63", + "line": "938", + "parentIndex": "4591", + "start": "34029" } }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4590", - "isConstant": true, - "isStateVariable": true, - "name": "i", - "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "13", - "end": "36672", - "length": "9", - "line": "1020", - "start": "36664" + "column": "4", + "end": "34091", + "length": "63", + "line": "938", + "start": "34029" }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4591", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "36670", - "length": "7", - "line": "1020", - "parentIndex": "4590", - "start": "36664" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" + "typeIdentifier": "t_event\u0026_Global_Mint_\u00264591", + "typeString": "event Global.Mint" + } } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4592", - "isConstant": true, - "isStateVariable": true, - "name": "reserveIn", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "13", - "end": "36736", - "length": "17", - "line": "1021", - "start": "36720" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4593", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4599", + "name": "Burn", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "4600", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "4601", + "indexed": true, + "name": "sender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4601", + "src": { + "column": "15", + "end": "34129", + "length": "22", + "line": "939", + "parentIndex": "4600", + "start": "34108" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4602", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "15", + "end": "34114", + "length": "7", + "line": "939", + "parentIndex": "4601", + "start": "34108" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4603", + "name": "amount0", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4603", + "src": { + "column": "39", + "end": "34143", + "length": "12", + "line": "939", + "parentIndex": "4600", + "start": "34132" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4604", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "39", + "end": "34135", + "length": "4", + "line": "939", + "parentIndex": "4603", + "start": "34132" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4605", + "name": "amount1", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4605", + "src": { + "column": "53", + "end": "34157", + "length": "12", + "line": "939", + "parentIndex": "4600", + "start": "34146" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4606", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "53", + "end": "34149", + "length": "4", + "line": "939", + "parentIndex": "4605", + "start": "34146" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4607", + "indexed": true, + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4607", + "src": { + "column": "67", + "end": "34177", + "length": "18", + "line": "939", + "parentIndex": "4600", + "start": "34160" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4608", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "67", + "end": "34166", + "length": "7", + "line": "939", + "parentIndex": "4607", + "start": "34160" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], "src": { - "column": "13", - "end": "36726", - "length": "7", - "line": "1021", - "parentIndex": "4592", - "start": "36720" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "column": "4", + "end": "34179", + "length": "83", + "line": "939", + "parentIndex": "4599", + "start": "34097" } }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4594", - "isConstant": true, - "isStateVariable": true, - "name": "reserveOut", - "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "32", - "end": "36756", - "length": "18", - "line": "1021", - "start": "36739" + "column": "4", + "end": "34179", + "length": "83", + "line": "939", + "start": "34097" }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4595", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "32", - "end": "36745", - "length": "7", - "line": "1021", - "parentIndex": "4594", - "start": "36739" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" + "typeIdentifier": "t_event\u0026_Global_Burn_\u00264599", + "typeString": "event Global.Burn" + } } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4596", - "isConstant": true, - "isStateVariable": true, - "name": "amounts", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "8", - "end": "37597", - "length": "24", - "line": "1052", - "start": "37574" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4597", - "name": "uint256", - "nodeType": "IDENTIFIER", + "id": "4609", + "name": "Swap", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "4610", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "4611", + "indexed": true, + "name": "sender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4611", + "src": { + "column": "8", + "end": "34226", + "length": "22", + "line": "941", + "parentIndex": "4610", + "start": "34205" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4612", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34211", + "length": "7", + "line": "941", + "parentIndex": "4611", + "start": "34205" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4613", + "name": "amount0In", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4613", + "src": { + "column": "8", + "end": "34250", + "length": "14", + "line": "942", + "parentIndex": "4610", + "start": "34237" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4614", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34240", + "length": "4", + "line": "942", + "parentIndex": "4613", + "start": "34237" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4615", + "name": "amount1In", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4615", + "src": { + "column": "8", + "end": "34274", + "length": "14", + "line": "943", + "parentIndex": "4610", + "start": "34261" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4616", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34264", + "length": "4", + "line": "943", + "parentIndex": "4615", + "start": "34261" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4617", + "name": "amount0Out", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4617", + "src": { + "column": "8", + "end": "34299", + "length": "15", + "line": "944", + "parentIndex": "4610", + "start": "34285" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4618", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34288", + "length": "4", + "line": "944", + "parentIndex": "4617", + "start": "34285" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4619", + "name": "amount1Out", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4619", + "src": { + "column": "8", + "end": "34324", + "length": "15", + "line": "945", + "parentIndex": "4610", + "start": "34310" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4620", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34313", + "length": "4", + "line": "945", + "parentIndex": "4619", + "start": "34310" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4621", + "indexed": true, + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4621", + "src": { + "column": "8", + "end": "34352", + "length": "18", + "line": "946", + "parentIndex": "4610", + "start": "34335" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4622", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34341", + "length": "7", + "line": "946", + "parentIndex": "4621", + "start": "34335" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], "src": { - "column": "8", - "end": "37580", - "length": "7", - "line": "1052", - "parentIndex": "4596", - "start": "37574" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "column": "4", + "end": "34359", + "length": "175", + "line": "940", + "parentIndex": "4609", + "start": "34185" } }, - "visibility": "PUBLIC" + "src": { + "column": "4", + "end": "34359", + "length": "175", + "line": "940", + "start": "34185" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_Global_Swap_\u00264609", + "typeString": "event Global.Swap" + } } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", "value": { - "id": "4598", - "isConstant": true, - "isStateVariable": true, - "name": "i", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "13", - "end": "38533", - "length": "9", - "line": "1083", - "start": "38525" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4599", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4623", + "name": "Sync", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "4624", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "4625", + "name": "reserve0", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4625", + "src": { + "column": "15", + "end": "34391", + "length": "16", + "line": "948", + "parentIndex": "4624", + "start": "34376" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": "4626", + "name": "uint112", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "15", + "end": "34382", + "length": "7", + "line": "948", + "parentIndex": "4625", + "start": "34376" + }, + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4627", + "name": "reserve1", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4627", + "src": { + "column": "33", + "end": "34409", + "length": "16", + "line": "948", + "parentIndex": "4624", + "start": "34394" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": "4628", + "name": "uint112", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "33", + "end": "34400", + "length": "7", + "line": "948", + "parentIndex": "4627", + "start": "34394" + }, + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "visibility": "INTERNAL" + } + ], "src": { - "column": "13", - "end": "38531", - "length": "7", - "line": "1083", - "parentIndex": "4598", - "start": "38525" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "column": "4", + "end": "34411", + "length": "47", + "line": "948", + "parentIndex": "4623", + "start": "34365" } }, - "visibility": "PUBLIC" + "src": { + "column": "4", + "end": "34411", + "length": "47", + "line": "948", + "start": "34365" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_Global_Sync_\u00264623", + "typeString": "event Global.Sync" + } } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4600", + "id": "4629", "isConstant": true, "isStateVariable": true, - "name": "input", + "name": "token0", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "13", - "end": "38589", - "length": "13", - "line": "1084", - "start": "38577" + "column": "9", + "end": "36905", + "length": "14", + "line": "1019", + "start": "36892" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -3279,16 +3530,16 @@ "typeString": "address" }, "typeName": { - "id": "4601", + "id": "4630", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "13", - "end": "38583", + "column": "9", + "end": "36898", "length": "7", - "line": "1084", - "parentIndex": "4600", - "start": "38577" + "line": "1019", + "parentIndex": "4629", + "start": "36892" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -3302,17 +3553,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4602", + "id": "4631", "isConstant": true, "isStateVariable": true, - "name": "output", + "name": "token1", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "28", - "end": "38605", + "column": "25", + "end": "36921", "length": "14", - "line": "1084", - "start": "38592" + "line": "1019", + "start": "36908" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -3321,16 +3572,16 @@ "typeString": "address" }, "typeName": { - "id": "4603", + "id": "4632", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "28", - "end": "38598", + "column": "25", + "end": "36914", "length": "7", - "line": "1084", - "parentIndex": "4602", - "start": "38592" + "line": "1019", + "parentIndex": "4631", + "start": "36908" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -3344,17 +3595,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4604", + "id": "4633", "isConstant": true, "isStateVariable": true, "name": "token0", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "13", - "end": "38660", + "column": "9", + "end": "37667", "length": "14", - "line": "1085", - "start": "38647" + "line": "1043", + "start": "37654" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -3363,16 +3614,16 @@ "typeString": "address" }, "typeName": { - "id": "4605", + "id": "4634", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "13", - "end": "38653", + "column": "9", + "end": "37660", "length": "7", - "line": "1085", - "parentIndex": "4604", - "start": "38647" + "line": "1043", + "parentIndex": "4633", + "start": "37654" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -3386,17 +3637,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4606", + "id": "4635", "isConstant": true, "isStateVariable": true, - "name": "amountOut", + "name": "reserve0", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "12", - "end": "38739", - "length": "17", - "line": "1086", - "start": "38723" + "column": "9", + "end": "37726", + "length": "16", + "line": "1044", + "start": "37711" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -3405,16 +3656,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4607", + "id": "4636", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "12", - "end": "38729", + "column": "9", + "end": "37717", "length": "7", - "line": "1086", - "parentIndex": "4606", - "start": "38723" + "line": "1044", + "parentIndex": "4635", + "start": "37711" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3427,17 +3678,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4608", + "id": "4637", "isConstant": true, "isStateVariable": true, - "name": "amount0Out", + "name": "reserve1", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "13", - "end": "38789", - "length": "18", - "line": "1087", - "start": "38772" + "column": "27", + "end": "37744", + "length": "16", + "line": "1044", + "start": "37729" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -3446,16 +3697,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4609", + "id": "4638", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "13", - "end": "38778", + "column": "27", + "end": "37735", "length": "7", - "line": "1087", - "parentIndex": "4608", - "start": "38772" + "line": "1044", + "parentIndex": "4637", + "start": "37729" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3468,17 +3719,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4610", + "id": "4639", "isConstant": true, "isStateVariable": true, - "name": "amount1Out", + "name": "amountInWithFee", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "33", - "end": "38809", - "length": "18", - "line": "1087", - "start": "38792" + "column": "8", + "end": "38986", + "length": "23", + "line": "1077", + "start": "38964" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -3487,16 +3738,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4611", + "id": "4640", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "33", - "end": "38798", + "column": "8", + "end": "38970", "length": "7", - "line": "1087", - "parentIndex": "4610", - "start": "38792" + "line": "1077", + "parentIndex": "4639", + "start": "38964" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -3509,585 +3760,804 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4612", + "id": "4641", "isConstant": true, "isStateVariable": true, - "name": "to", + "name": "numerator", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "12", - "end": "38936", - "length": "10", - "line": "1090", - "start": "38927" + "column": "8", + "end": "39033", + "length": "17", + "line": "1078", + "start": "39017" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4613", - "name": "address", + "id": "4642", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "12", - "end": "38933", + "column": "8", + "end": "39023", "length": "7", - "line": "1090", - "parentIndex": "4612", - "start": "38927" + "line": "1078", + "parentIndex": "4641", + "start": "39017" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "PUBLIC" } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "canonicalName": "Global.Path", - "id": "4614", - "members": [ - { - "id": "4615", - "name": "pool", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4615", - "src": { - "column": "8", - "end": "39614", - "length": "13", - "line": "1116", - "parentIndex": "4614", - "start": "39602" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4616", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39608", - "length": "7", - "line": "1116", - "parentIndex": "4615", - "start": "39602" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" + "id": "4643", + "isConstant": true, + "isStateVariable": true, + "name": "denominator", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "39096", + "length": "19", + "line": "1079", + "start": "39078" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4644", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "39084", + "length": "7", + "line": "1079", + "parentIndex": "4643", + "start": "39078" }, - { - "id": "4617", - "name": "data", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4617", - "src": { - "column": "8", - "end": "39634", - "length": "11", - "line": "1117", - "parentIndex": "4614", - "start": "39624" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "4618", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39628", - "length": "5", - "line": "1117", - "parentIndex": "4617", - "start": "39624" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "name": "Path", - "nameLocation": { - "column": "11", - "end": "39590", - "length": "4", - "line": "1115", - "parentIndex": "4614", - "start": "39587" }, - "nodeType": "STRUCT_DEFINITION", + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4645", + "isConstant": true, + "isStateVariable": true, + "name": "numerator", + "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "39640", - "length": "61", - "line": "1115", - "start": "39580" + "column": "8", + "end": "39694", + "length": "17", + "line": "1094", + "start": "39678" }, + "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Path_$4614", - "typeString": "struct Global.Path" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4646", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "39684", + "length": "7", + "line": "1094", + "parentIndex": "4645", + "start": "39678" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, "visibility": "PUBLIC" } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "canonicalName": "Global.ExactInputSingleParams", - "id": "4619", - "members": [ - { - "id": "4620", - "name": "amountIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4620", - "src": { - "column": "8", - "end": "39703", - "length": "17", - "line": "1121", - "parentIndex": "4619", - "start": "39687" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4621", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39693", - "length": "7", - "line": "1121", - "parentIndex": "4620", - "start": "39687" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4622", - "name": "amountOutMinimum", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4622", - "src": { - "column": "8", - "end": "39737", - "length": "25", - "line": "1122", - "parentIndex": "4619", - "start": "39713" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4623", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39719", - "length": "7", - "line": "1122", - "parentIndex": "4622", - "start": "39713" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4624", - "name": "pool", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4624", - "src": { - "column": "8", - "end": "39759", - "length": "13", - "line": "1123", - "parentIndex": "4619", - "start": "39747" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4625", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39753", - "length": "7", - "line": "1123", - "parentIndex": "4624", - "start": "39747" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4626", - "name": "tokenIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4626", - "src": { - "column": "8", - "end": "39784", - "length": "16", - "line": "1124", - "parentIndex": "4619", - "start": "39769" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4627", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39775", - "length": "7", - "line": "1124", - "parentIndex": "4626", - "start": "39769" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" + "id": "4647", + "isConstant": true, + "isStateVariable": true, + "name": "denominator", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "39760", + "length": "19", + "line": "1095", + "start": "39742" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4648", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "39748", + "length": "7", + "line": "1095", + "parentIndex": "4647", + "start": "39742" }, - { - "id": "4628", - "name": "data", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4628", - "src": { - "column": "8", - "end": "39804", - "length": "11", - "line": "1125", - "parentIndex": "4619", - "start": "39794" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "4629", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39798", - "length": "5", - "line": "1125", - "parentIndex": "4628", - "start": "39794" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "name": "ExactInputSingleParams", - "nameLocation": { - "column": "11", - "end": "39675", - "length": "22", - "line": "1120", - "parentIndex": "4619", - "start": "39654" }, - "nodeType": "STRUCT_DEFINITION", + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4649", + "isConstant": true, + "isStateVariable": true, + "name": "i", + "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "39810", - "length": "164", - "line": "1120", - "start": "39647" + "column": "13", + "end": "40296", + "length": "9", + "line": "1109", + "start": "40288" }, + "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_ExactInputSingleParams_$4619", - "typeString": "struct Global.ExactInputSingleParams" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4650", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "40294", + "length": "7", + "line": "1109", + "parentIndex": "4649", + "start": "40288" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, "visibility": "PUBLIC" } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "canonicalName": "Global.ExactInputParams", - "id": "4630", - "members": [ - { - "id": "4631", - "name": "tokenIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4631", - "src": { - "column": "8", - "end": "39866", - "length": "16", - "line": "1129", - "parentIndex": "4630", - "start": "39851" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4632", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39857", - "length": "7", - "line": "1129", - "parentIndex": "4631", - "start": "39851" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4633", - "name": "amountIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4633", - "src": { - "column": "8", - "end": "39892", - "length": "17", - "line": "1130", - "parentIndex": "4630", - "start": "39876" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4634", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39882", - "length": "7", - "line": "1130", - "parentIndex": "4633", - "start": "39876" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4635", - "name": "amountOutMinimum", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4635", - "src": { - "column": "8", - "end": "39926", - "length": "25", - "line": "1131", - "parentIndex": "4630", - "start": "39902" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4636", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39908", - "length": "7", - "line": "1131", - "parentIndex": "4635", - "start": "39902" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + "id": "4651", + "isConstant": true, + "isStateVariable": true, + "name": "reserveIn", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "40356", + "length": "17", + "line": "1110", + "start": "40340" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4652", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "40346", + "length": "7", + "line": "1110", + "parentIndex": "4651", + "start": "40340" }, - { - "id": "4637", - "name": "path", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4637", - "src": { - "column": "8", - "end": "39947", - "length": "12", - "line": "1132", - "parentIndex": "4630", - "start": "39936" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_struct$_Global_Path_$4614", - "typeString": "struct Global.Path" - }, - "typeName": { - "id": "4638", - "name": "Path", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "4639", - "name": "Path", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4614", - "src": { - "column": "8", - "end": "39939", - "length": "4", - "line": "1132", - "parentIndex": "4638", - "start": "39936" - } - }, - "referencedDeclaration": "4614", - "src": { - "column": "8", - "end": "39939", - "length": "4", - "line": "1132", - "parentIndex": "4637", - "start": "39936" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_Global_Path_$4614", - "typeString": "struct Global.Path" - } - }, - "visibility": "INTERNAL" + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "name": "ExactInputParams", - "nameLocation": { - "column": "11", - "end": "39839", - "length": "16", - "line": "1128", - "parentIndex": "4630", - "start": "39824" }, - "nodeType": "STRUCT_DEFINITION", + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4653", + "isConstant": true, + "isStateVariable": true, + "name": "reserveOut", + "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "39953", - "length": "137", - "line": "1128", - "start": "39817" + "column": "32", + "end": "40376", + "length": "18", + "line": "1110", + "start": "40359" }, + "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_ExactInputParams_$4630", - "typeString": "struct Global.ExactInputParams" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4654", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "32", + "end": "40365", + "length": "7", + "line": "1110", + "parentIndex": "4653", + "start": "40359" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, "visibility": "PUBLIC" } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "canonicalName": "Global.TokenInput", - "id": "4640", - "members": [ - { - "id": "4641", - "name": "token", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4641", - "src": { - "column": "8", - "end": "40001", - "length": "14", - "line": "1136", - "parentIndex": "4640", - "start": "39988" + "id": "4655", + "isConstant": true, + "isStateVariable": true, + "name": "i", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "41065", + "length": "9", + "line": "1130", + "start": "41057" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4656", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "41063", + "length": "7", + "line": "1130", + "parentIndex": "4655", + "start": "41057" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4657", + "isConstant": true, + "isStateVariable": true, + "name": "reserveIn", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "41129", + "length": "17", + "line": "1131", + "start": "41113" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4658", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "41119", + "length": "7", + "line": "1131", + "parentIndex": "4657", + "start": "41113" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4659", + "isConstant": true, + "isStateVariable": true, + "name": "reserveOut", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "32", + "end": "41149", + "length": "18", + "line": "1131", + "start": "41132" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4660", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "32", + "end": "41138", + "length": "7", + "line": "1131", + "parentIndex": "4659", + "start": "41132" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4661", + "isConstant": true, + "isStateVariable": true, + "name": "amounts", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "41990", + "length": "24", + "line": "1162", + "start": "41967" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4662", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "41973", + "length": "7", + "line": "1162", + "parentIndex": "4661", + "start": "41967" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4663", + "isConstant": true, + "isStateVariable": true, + "name": "i", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "42926", + "length": "9", + "line": "1193", + "start": "42918" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4664", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "42924", + "length": "7", + "line": "1193", + "parentIndex": "4663", + "start": "42918" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4665", + "isConstant": true, + "isStateVariable": true, + "name": "input", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "42982", + "length": "13", + "line": "1194", + "start": "42970" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4666", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "42976", + "length": "7", + "line": "1194", + "parentIndex": "4665", + "start": "42970" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4667", + "isConstant": true, + "isStateVariable": true, + "name": "output", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "28", + "end": "42998", + "length": "14", + "line": "1194", + "start": "42985" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4668", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "28", + "end": "42991", + "length": "7", + "line": "1194", + "parentIndex": "4667", + "start": "42985" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4669", + "isConstant": true, + "isStateVariable": true, + "name": "token0", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "43053", + "length": "14", + "line": "1195", + "start": "43040" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4670", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "43046", + "length": "7", + "line": "1195", + "parentIndex": "4669", + "start": "43040" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4671", + "isConstant": true, + "isStateVariable": true, + "name": "amountOut", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "43132", + "length": "17", + "line": "1196", + "start": "43116" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4672", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "43122", + "length": "7", + "line": "1196", + "parentIndex": "4671", + "start": "43116" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4673", + "isConstant": true, + "isStateVariable": true, + "name": "amount0Out", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "43182", + "length": "18", + "line": "1197", + "start": "43165" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4674", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "43171", + "length": "7", + "line": "1197", + "parentIndex": "4673", + "start": "43165" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4675", + "isConstant": true, + "isStateVariable": true, + "name": "amount1Out", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "33", + "end": "43202", + "length": "18", + "line": "1197", + "start": "43185" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4676", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "33", + "end": "43191", + "length": "7", + "line": "1197", + "parentIndex": "4675", + "start": "43185" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4677", + "isConstant": true, + "isStateVariable": true, + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "43329", + "length": "10", + "line": "1200", + "start": "43320" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4678", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "43326", + "length": "7", + "line": "1200", + "parentIndex": "4677", + "start": "43320" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "Global.Path", + "id": "4679", + "members": [ + { + "id": "4680", + "name": "pool", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4680", + "src": { + "column": "8", + "end": "45685", + "length": "13", + "line": "1287", + "parentIndex": "4679", + "start": "45673" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4095,16 +4565,16 @@ "typeString": "address" }, "typeName": { - "id": "4642", + "id": "4681", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "39994", + "end": "45679", "length": "7", - "line": "1136", - "parentIndex": "4641", - "start": "39988" + "line": "1287", + "parentIndex": "4680", + "start": "45673" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4115,54 +4585,86 @@ "visibility": "INTERNAL" }, { - "id": "4643", - "name": "native", + "id": "4682", + "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "4643", + "scope": "4682", "src": { "column": "8", - "end": "40022", - "length": "12", - "line": "1137", - "parentIndex": "4640", - "start": "40011" + "end": "45705", + "length": "11", + "line": "1288", + "parentIndex": "4679", + "start": "45695" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes", + "typeString": "bytes" }, "typeName": { - "id": "4644", - "name": "bool", + "id": "4683", + "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40014", - "length": "4", - "line": "1137", - "parentIndex": "4643", - "start": "40011" + "end": "45699", + "length": "5", + "line": "1288", + "parentIndex": "4682", + "start": "45695" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes", + "typeString": "bytes" } }, "visibility": "INTERNAL" - }, + } + ], + "name": "Path", + "nameLocation": { + "column": "11", + "end": "45661", + "length": "4", + "line": "1286", + "parentIndex": "4679", + "start": "45658" + }, + "nodeType": "STRUCT_DEFINITION", + "src": { + "column": "4", + "end": "45711", + "length": "61", + "line": "1286", + "start": "45651" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_struct$_Global_Path_$4679", + "typeString": "struct Global.Path" + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "Global.ExactInputSingleParams", + "id": "4684", + "members": [ { - "id": "4645", - "name": "amount", + "id": "4685", + "name": "amountIn", "nodeType": "VARIABLE_DECLARATION", - "scope": "4645", + "scope": "4685", "src": { "column": "8", - "end": "40046", - "length": "15", - "line": "1138", - "parentIndex": "4640", - "start": "40032" + "end": "45774", + "length": "17", + "line": "1292", + "parentIndex": "4684", + "start": "45758" }, "stateMutability": "MUTABLE", "typeDescription": { @@ -4170,16 +4672,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4646", + "id": "4686", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40038", + "end": "45764", "length": "7", - "line": "1138", - "parentIndex": "4645", - "start": "40032" + "line": "1292", + "parentIndex": "4685", + "start": "45758" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4187,89 +4689,56 @@ } }, "visibility": "INTERNAL" - } - ], - "name": "TokenInput", - "nameLocation": { - "column": "11", - "end": "39976", - "length": "10", - "line": "1135", - "parentIndex": "4640", - "start": "39967" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "40052", - "length": "93", - "line": "1135", - "start": "39960" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenInput_$4640", - "typeString": "struct Global.TokenInput" - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", - "value": { - "canonicalName": "Global.InitialPath", - "id": "4647", - "members": [ + }, { - "id": "4648", - "name": "tokenIn", + "id": "4687", + "name": "amountOutMinimum", "nodeType": "VARIABLE_DECLARATION", - "scope": "4648", + "scope": "4687", "src": { "column": "8", - "end": "40103", - "length": "16", - "line": "1142", - "parentIndex": "4647", - "start": "40088" + "end": "45808", + "length": "25", + "line": "1293", + "parentIndex": "4684", + "start": "45784" }, - "stateMutability": "NONPAYABLE", + "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4649", - "name": "address", + "id": "4688", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40094", + "end": "45790", "length": "7", - "line": "1142", - "parentIndex": "4648", - "start": "40088" + "line": "1293", + "parentIndex": "4687", + "start": "45784" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" }, { - "id": "4650", + "id": "4689", "name": "pool", "nodeType": "VARIABLE_DECLARATION", - "scope": "4650", + "scope": "4689", "src": { "column": "8", - "end": "40125", + "end": "45830", "length": "13", - "line": "1143", - "parentIndex": "4647", - "start": "40113" + "line": "1294", + "parentIndex": "4684", + "start": "45818" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4277,16 +4746,16 @@ "typeString": "address" }, "typeName": { - "id": "4651", + "id": "4690", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40119", + "end": "45824", "length": "7", - "line": "1143", - "parentIndex": "4650", - "start": "40113" + "line": "1294", + "parentIndex": "4689", + "start": "45818" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4297,54 +4766,577 @@ "visibility": "INTERNAL" }, { - "id": "4652", - "name": "native", + "id": "4691", + "name": "tokenIn", "nodeType": "VARIABLE_DECLARATION", - "scope": "4652", + "scope": "4691", "src": { "column": "8", - "end": "40146", - "length": "12", - "line": "1144", - "parentIndex": "4647", - "start": "40135" + "end": "45855", + "length": "16", + "line": "1295", + "parentIndex": "4684", + "start": "45840" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4653", - "name": "bool", + "id": "4692", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40138", - "length": "4", - "line": "1144", - "parentIndex": "4652", - "start": "40135" + "end": "45846", + "length": "7", + "line": "1295", + "parentIndex": "4691", + "start": "45840" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4693", + "name": "data", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4693", + "src": { + "column": "8", + "end": "45875", + "length": "11", + "line": "1296", + "parentIndex": "4684", + "start": "45865" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "4694", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45869", + "length": "5", + "line": "1296", + "parentIndex": "4693", + "start": "45865" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" + } + ], + "name": "ExactInputSingleParams", + "nameLocation": { + "column": "11", + "end": "45746", + "length": "22", + "line": "1291", + "parentIndex": "4684", + "start": "45725" + }, + "nodeType": "STRUCT_DEFINITION", + "src": { + "column": "4", + "end": "45881", + "length": "164", + "line": "1291", + "start": "45718" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_struct$_Global_ExactInputSingleParams_$4684", + "typeString": "struct Global.ExactInputSingleParams" + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "Global.ExactInputParams", + "id": "4695", + "members": [ + { + "id": "4696", + "name": "tokenIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4696", + "src": { + "column": "8", + "end": "45937", + "length": "16", + "line": "1300", + "parentIndex": "4695", + "start": "45922" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4697", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45928", + "length": "7", + "line": "1300", + "parentIndex": "4696", + "start": "45922" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4698", + "name": "amountIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4698", + "src": { + "column": "8", + "end": "45963", + "length": "17", + "line": "1301", + "parentIndex": "4695", + "start": "45947" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4699", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45953", + "length": "7", + "line": "1301", + "parentIndex": "4698", + "start": "45947" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4700", + "name": "amountOutMinimum", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4700", + "src": { + "column": "8", + "end": "45997", + "length": "25", + "line": "1302", + "parentIndex": "4695", + "start": "45973" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4701", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45979", + "length": "7", + "line": "1302", + "parentIndex": "4700", + "start": "45973" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4702", + "name": "path", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4702", + "src": { + "column": "8", + "end": "46018", + "length": "12", + "line": "1303", + "parentIndex": "4695", + "start": "46007" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_struct$_Global_Path_$4679", + "typeString": "struct Global.Path" + }, + "typeName": { + "id": "4703", + "name": "Path", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "4704", + "name": "Path", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "4679", + "src": { + "column": "8", + "end": "46010", + "length": "4", + "line": "1303", + "parentIndex": "4703", + "start": "46007" + } + }, + "referencedDeclaration": "4679", + "src": { + "column": "8", + "end": "46010", + "length": "4", + "line": "1303", + "parentIndex": "4702", + "start": "46007" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_Global_Path_$4679", + "typeString": "struct Global.Path" + } + }, + "visibility": "INTERNAL" + } + ], + "name": "ExactInputParams", + "nameLocation": { + "column": "11", + "end": "45910", + "length": "16", + "line": "1299", + "parentIndex": "4695", + "start": "45895" + }, + "nodeType": "STRUCT_DEFINITION", + "src": { + "column": "4", + "end": "46024", + "length": "137", + "line": "1299", + "start": "45888" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_struct$_Global_ExactInputParams_$4695", + "typeString": "struct Global.ExactInputParams" + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "Global.TokenInput", + "id": "4705", + "members": [ + { + "id": "4706", + "name": "token", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4706", + "src": { + "column": "8", + "end": "46072", + "length": "14", + "line": "1307", + "parentIndex": "4705", + "start": "46059" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4707", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46065", + "length": "7", + "line": "1307", + "parentIndex": "4706", + "start": "46059" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4708", + "name": "native", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4708", + "src": { + "column": "8", + "end": "46093", + "length": "12", + "line": "1308", + "parentIndex": "4705", + "start": "46082" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "4709", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46085", + "length": "4", + "line": "1308", + "parentIndex": "4708", + "start": "46082" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4710", + "name": "amount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4710", + "src": { + "column": "8", + "end": "46117", + "length": "15", + "line": "1309", + "parentIndex": "4705", + "start": "46103" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4711", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46109", + "length": "7", + "line": "1309", + "parentIndex": "4710", + "start": "46103" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "name": "TokenInput", + "nameLocation": { + "column": "11", + "end": "46047", + "length": "10", + "line": "1306", + "parentIndex": "4705", + "start": "46038" + }, + "nodeType": "STRUCT_DEFINITION", + "src": { + "column": "4", + "end": "46123", + "length": "93", + "line": "1306", + "start": "46031" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_struct$_Global_TokenInput_$4705", + "typeString": "struct Global.TokenInput" + }, + "visibility": "PUBLIC" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "Global.InitialPath", + "id": "4712", + "members": [ + { + "id": "4713", + "name": "tokenIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4713", + "src": { + "column": "8", + "end": "46174", + "length": "16", + "line": "1313", + "parentIndex": "4712", + "start": "46159" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4714", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46165", + "length": "7", + "line": "1313", + "parentIndex": "4713", + "start": "46159" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4715", + "name": "pool", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4715", + "src": { + "column": "8", + "end": "46196", + "length": "13", + "line": "1314", + "parentIndex": "4712", + "start": "46184" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "4716", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46190", + "length": "7", + "line": "1314", + "parentIndex": "4715", + "start": "46184" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "4717", + "name": "native", + "nodeType": "VARIABLE_DECLARATION", + "scope": "4717", + "src": { + "column": "8", + "end": "46217", + "length": "12", + "line": "1315", + "parentIndex": "4712", + "start": "46206" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "4718", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46209", + "length": "4", + "line": "1315", + "parentIndex": "4717", + "start": "46206" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, "visibility": "INTERNAL" }, { - "id": "4654", + "id": "4719", "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4654", + "scope": "4719", "src": { "column": "8", - "end": "40170", + "end": "46241", "length": "15", - "line": "1145", - "parentIndex": "4647", - "start": "40156" + "line": "1316", + "parentIndex": "4712", + "start": "46227" }, "stateMutability": "MUTABLE", "typeDescription": { @@ -4352,16 +5344,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4655", + "id": "4720", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40162", + "end": "46233", "length": "7", - "line": "1145", - "parentIndex": "4654", - "start": "40156" + "line": "1316", + "parentIndex": "4719", + "start": "46227" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4371,17 +5363,17 @@ "visibility": "INTERNAL" }, { - "id": "4656", + "id": "4721", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "4656", + "scope": "4721", "src": { "column": "8", - "end": "40190", + "end": "46261", "length": "11", - "line": "1146", - "parentIndex": "4647", - "start": "40180" + "line": "1317", + "parentIndex": "4712", + "start": "46251" }, "stateMutability": "MUTABLE", "typeDescription": { @@ -4389,16 +5381,16 @@ "typeString": "bytes" }, "typeName": { - "id": "4657", + "id": "4722", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40184", + "end": "46255", "length": "5", - "line": "1146", - "parentIndex": "4656", - "start": "40180" + "line": "1317", + "parentIndex": "4721", + "start": "46251" }, "typeDescription": { "typeIdentifier": "t_bytes", @@ -4411,23 +5403,23 @@ "name": "InitialPath", "nameLocation": { "column": "11", - "end": "40076", + "end": "46147", "length": "11", - "line": "1141", - "parentIndex": "4647", - "start": "40066" + "line": "1312", + "parentIndex": "4712", + "start": "46137" }, "nodeType": "STRUCT_DEFINITION", "src": { "column": "4", - "end": "40196", + "end": "46267", "length": "138", - "line": "1141", - "start": "40059" + "line": "1312", + "start": "46130" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_InitialPath_$4647", + "typeIdentifier": "t_struct$_Global_InitialPath_$4712", "typeString": "struct Global.InitialPath" }, "visibility": "PUBLIC" @@ -4437,20 +5429,20 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.PercentagePath", - "id": "4658", + "id": "4723", "members": [ { - "id": "4659", + "id": "4724", "name": "tokenIn", "nodeType": "VARIABLE_DECLARATION", - "scope": "4659", + "scope": "4724", "src": { "column": "8", - "end": "40250", + "end": "46321", "length": "16", - "line": "1150", - "parentIndex": "4658", - "start": "40235" + "line": "1321", + "parentIndex": "4723", + "start": "46306" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4458,16 +5450,16 @@ "typeString": "address" }, "typeName": { - "id": "4660", + "id": "4725", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40241", + "end": "46312", "length": "7", - "line": "1150", - "parentIndex": "4659", - "start": "40235" + "line": "1321", + "parentIndex": "4724", + "start": "46306" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4478,17 +5470,17 @@ "visibility": "INTERNAL" }, { - "id": "4661", + "id": "4726", "name": "pool", "nodeType": "VARIABLE_DECLARATION", - "scope": "4661", + "scope": "4726", "src": { "column": "8", - "end": "40272", + "end": "46343", "length": "13", - "line": "1151", - "parentIndex": "4658", - "start": "40260" + "line": "1322", + "parentIndex": "4723", + "start": "46331" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4496,16 +5488,16 @@ "typeString": "address" }, "typeName": { - "id": "4662", + "id": "4727", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40266", + "end": "46337", "length": "7", - "line": "1151", - "parentIndex": "4661", - "start": "40260" + "line": "1322", + "parentIndex": "4726", + "start": "46331" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4516,17 +5508,17 @@ "visibility": "INTERNAL" }, { - "id": "4663", + "id": "4728", "name": "balancePercentage", "nodeType": "VARIABLE_DECLARATION", - "scope": "4663", + "scope": "4728", "src": { "column": "8", - "end": "40306", + "end": "46377", "length": "25", - "line": "1152", - "parentIndex": "4658", - "start": "40282" + "line": "1323", + "parentIndex": "4723", + "start": "46353" }, "stateMutability": "MUTABLE", "typeDescription": { @@ -4534,16 +5526,16 @@ "typeString": "uint64" }, "typeName": { - "id": "4664", + "id": "4729", "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40287", + "end": "46358", "length": "6", - "line": "1152", - "parentIndex": "4663", - "start": "40282" + "line": "1323", + "parentIndex": "4728", + "start": "46353" }, "typeDescription": { "typeIdentifier": "t_uint64", @@ -4553,17 +5545,17 @@ "visibility": "INTERNAL" }, { - "id": "4665", + "id": "4730", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "4665", + "scope": "4730", "src": { "column": "8", - "end": "40368", + "end": "46439", "length": "11", - "line": "1153", - "parentIndex": "4658", - "start": "40358" + "line": "1324", + "parentIndex": "4723", + "start": "46429" }, "stateMutability": "MUTABLE", "typeDescription": { @@ -4571,16 +5563,16 @@ "typeString": "bytes" }, "typeName": { - "id": "4666", + "id": "4731", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40362", + "end": "46433", "length": "5", - "line": "1153", - "parentIndex": "4665", - "start": "40358" + "line": "1324", + "parentIndex": "4730", + "start": "46429" }, "typeDescription": { "typeIdentifier": "t_bytes", @@ -4593,23 +5585,23 @@ "name": "PercentagePath", "nameLocation": { "column": "11", - "end": "40223", + "end": "46294", "length": "14", - "line": "1149", - "parentIndex": "4658", - "start": "40210" + "line": "1320", + "parentIndex": "4723", + "start": "46281" }, "nodeType": "STRUCT_DEFINITION", "src": { "column": "4", - "end": "40374", + "end": "46445", "length": "172", - "line": "1149", - "start": "40203" + "line": "1320", + "start": "46274" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_PercentagePath_$4658", + "typeIdentifier": "t_struct$_Global_PercentagePath_$4723", "typeString": "struct Global.PercentagePath" }, "visibility": "PUBLIC" @@ -4619,20 +5611,20 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.Output", - "id": "4667", + "id": "4732", "members": [ { - "id": "4668", + "id": "4733", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "4668", + "scope": "4733", "src": { "column": "8", - "end": "40418", + "end": "46489", "length": "14", - "line": "1157", - "parentIndex": "4667", - "start": "40405" + "line": "1328", + "parentIndex": "4732", + "start": "46476" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4640,16 +5632,16 @@ "typeString": "address" }, "typeName": { - "id": "4669", + "id": "4734", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40411", + "end": "46482", "length": "7", - "line": "1157", - "parentIndex": "4668", - "start": "40405" + "line": "1328", + "parentIndex": "4733", + "start": "46476" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4660,17 +5652,17 @@ "visibility": "INTERNAL" }, { - "id": "4670", + "id": "4735", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "4670", + "scope": "4735", "src": { "column": "8", - "end": "40438", + "end": "46509", "length": "11", - "line": "1158", - "parentIndex": "4667", - "start": "40428" + "line": "1329", + "parentIndex": "4732", + "start": "46499" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4678,16 +5670,16 @@ "typeString": "address" }, "typeName": { - "id": "4671", + "id": "4736", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40434", + "end": "46505", "length": "7", - "line": "1158", - "parentIndex": "4670", - "start": "40428" + "line": "1329", + "parentIndex": "4735", + "start": "46499" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -4698,17 +5690,17 @@ "visibility": "INTERNAL" }, { - "id": "4672", + "id": "4737", "name": "unwrapBento", "nodeType": "VARIABLE_DECLARATION", - "scope": "4672", + "scope": "4737", "src": { "column": "8", - "end": "40464", + "end": "46535", "length": "17", - "line": "1159", - "parentIndex": "4667", - "start": "40448" + "line": "1330", + "parentIndex": "4732", + "start": "46519" }, "stateMutability": "MUTABLE", "typeDescription": { @@ -4716,16 +5708,16 @@ "typeString": "bool" }, "typeName": { - "id": "4673", + "id": "4738", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40451", + "end": "46522", "length": "4", - "line": "1159", - "parentIndex": "4672", - "start": "40448" + "line": "1330", + "parentIndex": "4737", + "start": "46519" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -4735,17 +5727,17 @@ "visibility": "INTERNAL" }, { - "id": "4674", + "id": "4739", "name": "minAmount", "nodeType": "VARIABLE_DECLARATION", - "scope": "4674", + "scope": "4739", "src": { "column": "8", - "end": "40491", + "end": "46562", "length": "18", - "line": "1160", - "parentIndex": "4667", - "start": "40474" + "line": "1331", + "parentIndex": "4732", + "start": "46545" }, "stateMutability": "MUTABLE", "typeDescription": { @@ -4753,16 +5745,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4675", + "id": "4740", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40480", + "end": "46551", "length": "7", - "line": "1160", - "parentIndex": "4674", - "start": "40474" + "line": "1331", + "parentIndex": "4739", + "start": "46545" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -4775,23 +5767,23 @@ "name": "Output", "nameLocation": { "column": "11", - "end": "40393", + "end": "46464", "length": "6", - "line": "1156", - "parentIndex": "4667", - "start": "40388" + "line": "1327", + "parentIndex": "4732", + "start": "46459" }, "nodeType": "STRUCT_DEFINITION", "src": { "column": "4", - "end": "40497", + "end": "46568", "length": "117", - "line": "1156", - "start": "40381" + "line": "1327", + "start": "46452" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Output_$4667", + "typeIdentifier": "t_struct$_Global_Output_$4732", "typeString": "struct Global.Output" }, "visibility": "PUBLIC" @@ -4801,159 +5793,159 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { "canonicalName": "Global.ComplexPathParams", - "id": "4676", + "id": "4741", "members": [ { - "id": "4677", + "id": "4742", "name": "initialPath", "nodeType": "VARIABLE_DECLARATION", - "scope": "4677", + "scope": "4742", "src": { "column": "8", - "end": "40564", + "end": "46635", "length": "26", - "line": "1164", - "parentIndex": "4676", - "start": "40539" + "line": "1335", + "parentIndex": "4741", + "start": "46610" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_struct$_Global_InitialPath_$4647", + "typeIdentifier": "t_struct$_Global_InitialPath_$4712", "typeString": "struct Global.InitialPath" }, "typeName": { - "id": "4678", + "id": "4743", "name": "InitialPath", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4679", + "id": "4744", "name": "InitialPath", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4647", + "referencedDeclaration": "4712", "src": { "column": "8", - "end": "40549", + "end": "46620", "length": "11", - "line": "1164", - "parentIndex": "4678", - "start": "40539" + "line": "1335", + "parentIndex": "4743", + "start": "46610" } }, - "referencedDeclaration": "4647", + "referencedDeclaration": "4712", "src": { "column": "8", - "end": "40549", + "end": "46620", "length": "11", - "line": "1164", - "parentIndex": "4677", - "start": "40539" + "line": "1335", + "parentIndex": "4742", + "start": "46610" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_InitialPath_$4647", + "typeIdentifier": "t_struct$_Global_InitialPath_$4712", "typeString": "struct Global.InitialPath" } }, "visibility": "INTERNAL" }, { - "id": "4680", + "id": "4745", "name": "percentagePath", "nodeType": "VARIABLE_DECLARATION", - "scope": "4680", + "scope": "4745", "src": { "column": "8", - "end": "40605", + "end": "46676", "length": "32", - "line": "1165", - "parentIndex": "4676", - "start": "40574" + "line": "1336", + "parentIndex": "4741", + "start": "46645" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_struct$_Global_PercentagePath_$4658", + "typeIdentifier": "t_struct$_Global_PercentagePath_$4723", "typeString": "struct Global.PercentagePath" }, "typeName": { - "id": "4681", + "id": "4746", "name": "PercentagePath", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4682", + "id": "4747", "name": "PercentagePath", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4658", + "referencedDeclaration": "4723", "src": { "column": "8", - "end": "40587", + "end": "46658", "length": "14", - "line": "1165", - "parentIndex": "4681", - "start": "40574" + "line": "1336", + "parentIndex": "4746", + "start": "46645" } }, - "referencedDeclaration": "4658", + "referencedDeclaration": "4723", "src": { "column": "8", - "end": "40587", + "end": "46658", "length": "14", - "line": "1165", - "parentIndex": "4680", - "start": "40574" + "line": "1336", + "parentIndex": "4745", + "start": "46645" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_PercentagePath_$4658", + "typeIdentifier": "t_struct$_Global_PercentagePath_$4723", "typeString": "struct Global.PercentagePath" } }, "visibility": "INTERNAL" }, { - "id": "4683", + "id": "4748", "name": "output", "nodeType": "VARIABLE_DECLARATION", - "scope": "4683", + "scope": "4748", "src": { "column": "8", - "end": "40630", + "end": "46701", "length": "16", - "line": "1166", - "parentIndex": "4676", - "start": "40615" + "line": "1337", + "parentIndex": "4741", + "start": "46686" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_struct$_Global_Output_$4667", + "typeIdentifier": "t_struct$_Global_Output_$4732", "typeString": "struct Global.Output" }, "typeName": { - "id": "4684", + "id": "4749", "name": "Output", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4685", + "id": "4750", "name": "Output", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4667", + "referencedDeclaration": "4732", "src": { "column": "8", - "end": "40620", + "end": "46691", "length": "6", - "line": "1166", - "parentIndex": "4684", - "start": "40615" + "line": "1337", + "parentIndex": "4749", + "start": "46686" } }, - "referencedDeclaration": "4667", + "referencedDeclaration": "4732", "src": { "column": "8", - "end": "40620", + "end": "46691", "length": "6", - "line": "1166", - "parentIndex": "4683", - "start": "40615" + "line": "1337", + "parentIndex": "4748", + "start": "46686" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_Output_$4667", + "typeIdentifier": "t_struct$_Global_Output_$4732", "typeString": "struct Global.Output" } }, @@ -4963,23 +5955,23 @@ "name": "ComplexPathParams", "nameLocation": { "column": "11", - "end": "40527", + "end": "46598", "length": "17", - "line": "1163", - "parentIndex": "4676", - "start": "40511" + "line": "1334", + "parentIndex": "4741", + "start": "46582" }, "nodeType": "STRUCT_DEFINITION", "src": { "column": "4", - "end": "40636", + "end": "46707", "length": "133", - "line": "1163", - "start": "40504" + "line": "1334", + "start": "46575" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_struct$_Global_ComplexPathParams_$4676", + "typeIdentifier": "t_struct$_Global_ComplexPathParams_$4741", "typeString": "struct Global.ComplexPathParams" }, "visibility": "PUBLIC" @@ -4988,38 +5980,38 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "id": "4686", + "id": "4751", "name": "TooLittleReceived", "nameLocation": { "column": "10", - "end": "41217", + "end": "47288", "length": "17", - "line": "1197", - "parentIndex": "4686", - "start": "41201" + "line": "1368", + "parentIndex": "4751", + "start": "47272" }, "nodeType": "ERROR_DEFINITION", "parameters": { - "id": "4687", + "id": "4752", "nodeType": "PARAMETER_LIST", "src": { "column": "4", - "end": "41220", + "end": "47291", "length": "26", - "line": "1197", - "parentIndex": "4686", - "start": "41195" + "line": "1368", + "parentIndex": "4751", + "start": "47266" } }, "src": { "column": "4", - "end": "41220", + "end": "47291", "length": "26", - "line": "1197", - "start": "41195" + "line": "1368", + "start": "47266" }, "typeDescription": { - "typeIdentifier": "t_error$_Global_TooLittleReceived_$4686", + "typeIdentifier": "t_error$_Global_TooLittleReceived_$4751", "typeString": "error Global.TooLittleReceived" } } @@ -5027,17 +6019,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4688", + "id": "4753", "isConstant": true, "isStateVariable": true, "name": "tokenBalance", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "10", - "end": "41784", + "end": "47855", "length": "20", - "line": "1208", - "start": "41765" + "line": "1379", + "start": "47836" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5046,16 +6038,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4689", + "id": "4754", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "10", - "end": "41771", + "end": "47842", "length": "7", - "line": "1208", - "parentIndex": "4688", - "start": "41765" + "line": "1379", + "parentIndex": "4753", + "start": "47836" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5068,17 +6060,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4690", + "id": "4755", "isConstant": true, "isStateVariable": true, "name": "n", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "42648", + "end": "48719", "length": "9", - "line": "1231", - "start": "42640" + "line": "1402", + "start": "48711" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5087,16 +6079,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4691", + "id": "4756", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "42646", + "end": "48717", "length": "7", - "line": "1231", - "parentIndex": "4690", - "start": "42640" + "line": "1402", + "parentIndex": "4755", + "start": "48711" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5109,17 +6101,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4692", + "id": "4757", "isConstant": true, "isStateVariable": true, "name": "i", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "13", - "end": "42693", + "end": "48764", "length": "9", - "line": "1232", - "start": "42685" + "line": "1403", + "start": "48756" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5128,16 +6120,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4693", + "id": "4758", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "13", - "end": "42691", + "end": "48762", "length": "7", - "line": "1232", - "parentIndex": "4692", - "start": "42685" + "line": "1403", + "parentIndex": "4757", + "start": "48756" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5150,17 +6142,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4694", + "id": "4759", "isConstant": true, "isStateVariable": true, "name": "n", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "43783", + "end": "49854", "length": "9", - "line": "1248", - "start": "43775" + "line": "1419", + "start": "49846" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5169,16 +6161,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4695", + "id": "4760", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "43781", + "end": "49852", "length": "7", - "line": "1248", - "parentIndex": "4694", - "start": "43775" + "line": "1419", + "parentIndex": "4759", + "start": "49846" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5191,17 +6183,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4696", + "id": "4761", "isConstant": true, "isStateVariable": true, "name": "i", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "13", - "end": "43835", + "end": "49906", "length": "9", - "line": "1249", - "start": "43827" + "line": "1420", + "start": "49898" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5210,16 +6202,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4697", + "id": "4762", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "13", - "end": "43833", + "end": "49904", "length": "7", - "line": "1249", - "parentIndex": "4696", - "start": "43827" + "line": "1420", + "parentIndex": "4761", + "start": "49898" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5232,17 +6224,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4698", + "id": "4763", "isConstant": true, "isStateVariable": true, "name": "i", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "13", - "end": "44305", + "end": "50376", "length": "9", - "line": "1260", - "start": "44297" + "line": "1431", + "start": "50368" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5251,16 +6243,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4699", + "id": "4764", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "13", - "end": "44303", + "end": "50374", "length": "7", - "line": "1260", - "parentIndex": "4698", - "start": "44297" + "line": "1431", + "parentIndex": "4763", + "start": "50368" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5273,17 +6265,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4700", + "id": "4765", "isConstant": true, "isStateVariable": true, "name": "balanceShares", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "44372", + "end": "50443", "length": "21", - "line": "1261", - "start": "44352" + "line": "1432", + "start": "50423" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5292,16 +6284,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4701", + "id": "4766", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "12", - "end": "44358", + "end": "50429", "length": "7", - "line": "1261", - "parentIndex": "4700", - "start": "44352" + "line": "1432", + "parentIndex": "4765", + "start": "50423" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5314,17 +6306,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4702", + "id": "4767", "isConstant": true, "isStateVariable": true, "name": "transferShares", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "44524", + "end": "50595", "length": "22", - "line": "1265", - "start": "44503" + "line": "1436", + "start": "50574" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5333,16 +6325,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4703", + "id": "4768", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "12", - "end": "44509", + "end": "50580", "length": "7", - "line": "1265", - "parentIndex": "4702", - "start": "44503" + "line": "1436", + "parentIndex": "4767", + "start": "50574" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5355,17 +6347,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4704", + "id": "4769", "isConstant": true, "isStateVariable": true, "name": "i", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "13", - "end": "45088", + "end": "51159", "length": "9", - "line": "1279", - "start": "45080" + "line": "1450", + "start": "51151" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5374,16 +6366,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4705", + "id": "4770", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "13", - "end": "45086", + "end": "51157", "length": "7", - "line": "1279", - "parentIndex": "4704", - "start": "45080" + "line": "1450", + "parentIndex": "4769", + "start": "51151" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5396,17 +6388,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4706", + "id": "4771", "isConstant": true, "isStateVariable": true, "name": "balanceShares", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "45155", + "end": "51226", "length": "21", - "line": "1280", - "start": "45135" + "line": "1451", + "start": "51206" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -5415,16 +6407,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4707", + "id": "4772", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "12", - "end": "45141", + "end": "51212", "length": "7", - "line": "1280", - "parentIndex": "4706", - "start": "45135" + "line": "1451", + "parentIndex": "4771", + "start": "51206" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -5435,910 +6427,809 @@ } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Error", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4708", - "name": "NotStargateRouter", - "nameLocation": { - "column": "10", - "end": "46830", - "length": "17", - "line": "1344", - "parentIndex": "4708", - "start": "46814" - }, - "nodeType": "ERROR_DEFINITION", - "parameters": { - "id": "4709", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "46833", - "length": "26", - "line": "1344", - "parentIndex": "4708", - "start": "46808" + "id": "4773", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "4775", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "62", + "end": "53697", + "length": "1", + "line": "1544", + "parentIndex": "4773", + "start": "53697" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } }, + "isConstant": true, + "isStateVariable": true, + "name": "ACTION_MASTER_CONTRACT_APPROVAL", + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "4", - "end": "46833", - "length": "26", - "line": "1344", - "start": "46808" + "end": "53698", + "length": "60", + "line": "1544", + "start": "53639" }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_error$_Global_NotStargateRouter_$4708", - "typeString": "error Global.NotStargateRouter" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "typeName": { + "id": "4774", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "4", + "end": "53643", + "length": "5", + "line": "1544", + "parentIndex": "4773", + "start": "53639" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4710", - "name": "StargateSushiXSwapSrc", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "4711", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "4712", - "indexed": true, - "name": "srcContext", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4712", - "src": { - "column": "32", - "end": "46907", - "length": "26", - "line": "1347", - "parentIndex": "4711", - "start": "46882" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "4713", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "32", - "end": "46888", - "length": "7", - "line": "1347", - "parentIndex": "4712", - "start": "46882" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "46909", - "length": "56", - "line": "1347", - "parentIndex": "4710", - "start": "46854" + "id": "4776", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "4778", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "61", + "end": "53761", + "length": "1", + "line": "1545", + "parentIndex": "4776", + "start": "53761" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" } }, + "isConstant": true, + "isStateVariable": true, + "name": "ACTION_SRC_DEPOSIT_TO_BENTOBOX", + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "4", - "end": "46909", - "length": "56", - "line": "1347", - "start": "46854" + "end": "53762", + "length": "59", + "line": "1545", + "start": "53704" }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StargateSushiXSwapSrc_\u00264710", - "typeString": "event Global.StargateSushiXSwapSrc" - } + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "typeName": { + "id": "4777", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "4", + "end": "53708", + "length": "5", + "line": "1545", + "parentIndex": "4776", + "start": "53704" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4714", - "name": "StargateSushiXSwapDst", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "4715", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "4716", - "indexed": true, - "name": "srcContext", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4716", - "src": { - "column": "32", - "end": "46968", - "length": "26", - "line": "1348", - "parentIndex": "4715", - "start": "46943" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "4717", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "32", - "end": "46949", - "length": "7", - "line": "1348", - "parentIndex": "4716", - "start": "46943" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" + "id": "4779", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "32", + "id": "4781", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "64", + "end": "53828", + "length": "1", + "line": "1546", + "parentIndex": "4779", + "start": "53828" }, - { - "id": "4718", - "name": "failed", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4718", - "src": { - "column": "60", - "end": "46981", - "length": "11", - "line": "1348", - "parentIndex": "4715", - "start": "46971" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "4719", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "60", - "end": "46974", - "length": "4", - "line": "1348", - "parentIndex": "4718", - "start": "46971" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - } - ], + "typeDescription": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + }, + "isConstant": true, + "isStateVariable": true, + "name": "ACTION_SRC_TRANSFER_FROM_BENTOBOX", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "4", + "end": "53829", + "length": "62", + "line": "1546", + "start": "53768" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "typeName": { + "id": "4780", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "4", - "end": "46983", - "length": "69", - "line": "1348", - "parentIndex": "4714", - "start": "46915" + "end": "53772", + "length": "5", + "line": "1546", + "parentIndex": "4779", + "start": "53768" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4782", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "33", + "id": "4784", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "61", + "end": "53892", + "length": "1", + "line": "1547", + "parentIndex": "4782", + "start": "53892" + }, + "typeDescription": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" } }, + "isConstant": true, + "isStateVariable": true, + "name": "ACTION_DST_DEPOSIT_TO_BENTOBOX", + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "4", - "end": "46983", - "length": "69", - "line": "1348", - "start": "46915" + "end": "53893", + "length": "59", + "line": "1547", + "start": "53835" }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_event\u0026_Global_StargateSushiXSwapDst_\u00264714", - "typeString": "event Global.StargateSushiXSwapDst" - } + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "typeName": { + "id": "4783", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "4", + "end": "53839", + "length": "5", + "line": "1547", + "parentIndex": "4782", + "start": "53835" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" } }, { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "canonicalName": "Global.StargateTeleportParams", - "id": "4720", - "members": [ - { - "id": "4721", - "name": "dstChainId", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4721", + "id": "4785", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "34", + "id": "4787", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "8", - "end": "47047", - "length": "18", - "line": "1351", - "parentIndex": "4720", - "start": "47030" + "column": "56", + "end": "53951", + "length": "1", + "line": "1548", + "parentIndex": "4785", + "start": "53951" }, - "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": "4722", - "name": "uint16", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47035", - "length": "6", - "line": "1351", - "parentIndex": "4721", - "start": "47030" - }, - "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" }, - "visibility": "INTERNAL" + "value": "4" + } + }, + "isConstant": true, + "isStateVariable": true, + "name": "ACTION_DST_WITHDRAW_TOKEN", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "4", + "end": "53952", + "length": "54", + "line": "1548", + "start": "53899" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "typeName": { + "id": "4786", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "4", + "end": "53903", + "length": "5", + "line": "1548", + "parentIndex": "4785", + "start": "53899" }, - { - "id": "4723", - "name": "token", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4723", + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4788", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "35", + "id": "4790", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "8", - "end": "47095", - "length": "14", - "line": "1352", - "parentIndex": "4720", - "start": "47082" + "column": "76", + "end": "54030", + "length": "1", + "line": "1549", + "parentIndex": "4788", + "start": "54030" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4724", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47088", - "length": "7", - "line": "1352", - "parentIndex": "4723", - "start": "47082" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" }, - "visibility": "INTERNAL" + "value": "5" + } + }, + "isConstant": true, + "isStateVariable": true, + "name": "ACTION_DST_WITHDRAW_OR_TRANSFER_FROM_BENTOBOX", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "4", + "end": "54031", + "length": "74", + "line": "1549", + "start": "53958" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "typeName": { + "id": "4789", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "4", + "end": "53962", + "length": "5", + "line": "1549", + "parentIndex": "4788", + "start": "53958" }, - { - "id": "4725", - "name": "srcPoolId", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4725", + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4791", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "36", + "id": "4793", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "8", - "end": "47147", - "length": "18", - "line": "1353", - "parentIndex": "4720", - "start": "47130" + "column": "57", + "end": "54090", + "length": "1", + "line": "1550", + "parentIndex": "4791", + "start": "54090" }, - "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4726", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47136", - "length": "7", - "line": "1353", - "parentIndex": "4725", - "start": "47130" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" }, - "visibility": "INTERNAL" + "value": "6" + } + }, + "isConstant": true, + "isStateVariable": true, + "name": "ACTION_UNWRAP_AND_TRANSFER", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "4", + "end": "54091", + "length": "55", + "line": "1550", + "start": "54037" + }, + "stateMutability": "MUTABLE", + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "typeName": { + "id": "4792", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "4", + "end": "54041", + "length": "5", + "line": "1550", + "parentIndex": "4791", + "start": "54037" }, - { - "id": "4727", - "name": "dstPoolId", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4727", + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "id": "4794", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "37", + "id": "4796", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "8", - "end": "47198", - "length": "18", - "line": "1354", - "parentIndex": "4720", - "start": "47181" + "column": "49", + "end": "54166", + "length": "1", + "line": "1553", + "parentIndex": "4794", + "start": "54166" }, - "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" }, - "typeName": { - "id": "4728", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47187", - "length": "7", - "line": "1354", - "parentIndex": "4727", - "start": "47181" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4729", - "name": "amount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4729", - "src": { - "column": "8", - "end": "47246", - "length": "15", - "line": "1355", - "parentIndex": "4720", - "start": "47232" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4730", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47238", - "length": "7", - "line": "1355", - "parentIndex": "4729", - "start": "47232" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4731", - "name": "amountMin", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4731", - "src": { - "column": "8", - "end": "47293", - "length": "18", - "line": "1356", - "parentIndex": "4720", - "start": "47276" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4732", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47282", - "length": "7", - "line": "1356", - "parentIndex": "4731", - "start": "47276" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4733", - "name": "dustAmount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4733", - "src": { - "column": "8", - "end": "47349", - "length": "19", - "line": "1357", - "parentIndex": "4720", - "start": "47331" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4734", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47337", - "length": "7", - "line": "1357", - "parentIndex": "4733", - "start": "47331" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4735", - "name": "receiver", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4735", - "src": { - "column": "8", - "end": "47419", - "length": "17", - "line": "1358", - "parentIndex": "4720", - "start": "47403" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4736", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47409", - "length": "7", - "line": "1358", - "parentIndex": "4735", - "start": "47403" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4737", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4737", - "src": { - "column": "8", - "end": "47466", - "length": "11", - "line": "1359", - "parentIndex": "4720", - "start": "47456" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4738", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47462", - "length": "7", - "line": "1359", - "parentIndex": "4737", - "start": "47456" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4739", - "name": "gas", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4739", - "src": { - "column": "8", - "end": "47555", - "length": "12", - "line": "1360", - "parentIndex": "4720", - "start": "47544" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4740", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47550", - "length": "7", - "line": "1360", - "parentIndex": "4739", - "start": "47544" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "4741", - "name": "srcContext", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4741", - "src": { - "column": "8", - "end": "47632", - "length": "19", - "line": "1361", - "parentIndex": "4720", - "start": "47614" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "4742", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47620", - "length": "7", - "line": "1361", - "parentIndex": "4741", - "start": "47614" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" + "value": "7" } - ], - "name": "StargateTeleportParams", - "nameLocation": { - "column": "11", - "end": "47018", - "length": "22", - "line": "1350", - "parentIndex": "4720", - "start": "46997" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "47674", - "length": "685", - "line": "1350", - "start": "46990" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_Global_StargateTeleportParams_$4720", - "typeString": "struct Global.StargateTeleportParams" }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4743", "isConstant": true, "isStateVariable": true, - "name": "payload", + "name": "ACTION_LEGACY_SWAP", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "8", - "end": "48758", - "length": "20", - "line": "1383", - "start": "48739" + "column": "4", + "end": "54167", + "length": "47", + "line": "1553", + "start": "54121" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" }, "typeName": { - "id": "4744", - "name": "bytes", + "id": "4795", + "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "48743", + "column": "4", + "end": "54125", "length": "5", - "line": "1383", - "parentIndex": "4743", - "start": "48739" + "line": "1553", + "parentIndex": "4794", + "start": "54121" }, "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "visibility": "PUBLIC" + "visibility": "INTERNAL" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4745", + "id": "4797", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "38", + "id": "4799", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "50", + "end": "54219", + "length": "1", + "line": "1554", + "parentIndex": "4797", + "start": "54219" + }, + "typeDescription": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + } + }, "isConstant": true, "isStateVariable": true, - "name": "to", + "name": "ACTION_TRIDENT_SWAP", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "12", - "end": "51180", - "length": "10", - "line": "1452", - "start": "51171" + "column": "4", + "end": "54220", + "length": "48", + "line": "1554", + "start": "54173" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" }, "typeName": { - "id": "4746", - "name": "address", + "id": "4798", + "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "12", - "end": "51177", - "length": "7", - "line": "1452", - "parentIndex": "4745", - "start": "51171" + "column": "4", + "end": "54177", + "length": "5", + "line": "1554", + "parentIndex": "4797", + "start": "54173" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "visibility": "PUBLIC" + "visibility": "INTERNAL" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4747", + "id": "4800", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "39", + "id": "4802", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "63", + "end": "54285", + "length": "1", + "line": "1555", + "parentIndex": "4800", + "start": "54285" + }, + "typeDescription": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + } + }, "isConstant": true, "isStateVariable": true, - "name": "actions", + "name": "ACTION_TRIDENT_COMPLEX_PATH_SWAP", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "12", - "end": "51216", - "length": "22", - "line": "1453", - "start": "51195" + "column": "4", + "end": "54286", + "length": "61", + "line": "1555", + "start": "54226" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" }, "typeName": { - "id": "4748", + "id": "4801", "name": "uint8", - "nodeType": "IDENTIFIER", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "12", - "end": "51199", + "column": "4", + "end": "54230", "length": "5", - "line": "1453", - "parentIndex": "4747", - "start": "51195" + "line": "1555", + "parentIndex": "4800", + "start": "54226" }, "typeDescription": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "visibility": "PUBLIC" + "visibility": "INTERNAL" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4749", + "id": "4803", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "3130", + "id": "4805", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "55", + "end": "54370", + "length": "2", + "line": "1558", + "parentIndex": "4803", + "start": "54369" + }, + "typeDescription": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + } + }, "isConstant": true, "isStateVariable": true, - "name": "values", + "name": "ACTION_STARGATE_TELEPORT", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "12", - "end": "51253", - "length": "23", - "line": "1454", - "start": "51231" + "column": "4", + "end": "54371", + "length": "54", + "line": "1558", + "start": "54318" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" }, "typeName": { - "id": "4750", - "name": "uint256", - "nodeType": "IDENTIFIER", + "id": "4804", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "12", - "end": "51237", - "length": "7", - "line": "1454", - "parentIndex": "4749", - "start": "51231" + "column": "4", + "end": "54322", + "length": "5", + "line": "1558", + "parentIndex": "4803", + "start": "54318" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "visibility": "PUBLIC" + "visibility": "INTERNAL" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4751", + "id": "4806", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "3131", + "id": "4808", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "56", + "end": "54431", + "length": "2", + "line": "1560", + "parentIndex": "4806", + "start": "54430" + }, + "typeDescription": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + } + }, "isConstant": true, "isStateVariable": true, - "name": "datas", + "name": "ACTION_SRC_TOKEN_TRANSFER", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "12", - "end": "51287", - "length": "20", - "line": "1455", - "start": "51268" + "column": "4", + "end": "54432", + "length": "55", + "line": "1560", + "start": "54378" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" }, "typeName": { - "id": "4752", - "name": "bytes", - "nodeType": "IDENTIFIER", + "id": "4807", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "12", - "end": "51272", + "column": "4", + "end": "54382", "length": "5", - "line": "1455", - "parentIndex": "4751", - "start": "51268" + "line": "1560", + "parentIndex": "4806", + "start": "54378" }, "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "visibility": "PUBLIC" + "visibility": "INTERNAL" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4753", + "id": "4809", "isConstant": true, "isStateVariable": true, - "name": "srcContext", + "name": "actionLength", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "12", - "end": "51319", - "length": "18", - "line": "1456", - "start": "51302" + "column": "8", + "end": "55093", + "length": "20", + "line": "1572", + "start": "55074" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4754", - "name": "bytes32", + "id": "4810", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "12", - "end": "51308", + "column": "8", + "end": "55080", "length": "7", - "line": "1456", - "parentIndex": "4753", - "start": "51302" + "line": "1572", + "parentIndex": "4809", + "start": "55074" }, "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "PUBLIC" @@ -6347,17 +7238,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4755", + "id": "4811", "isConstant": true, "isStateVariable": true, - "name": "limit", + "name": "i", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "8", - "end": "51454", - "length": "13", - "line": "1460", - "start": "51442" + "column": "13", + "end": "55134", + "length": "9", + "line": "1573", + "start": "55126" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -6366,16 +7257,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4756", + "id": "4812", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "51448", + "column": "13", + "end": "55132", "length": "7", - "line": "1460", - "parentIndex": "4755", - "start": "51442" + "line": "1573", + "parentIndex": "4811", + "start": "55126" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -6388,39 +7279,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4757", + "id": "4813", "isConstant": true, "isStateVariable": true, - "name": "failed", + "name": "action", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "8", - "end": "51496", - "length": "11", - "line": "1461", - "start": "51486" + "column": "12", + "end": "55199", + "length": "12", + "line": "1574", + "start": "55188" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": "4758", - "name": "bool", + "id": "4814", + "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "51489", - "length": "4", - "line": "1461", - "parentIndex": "4757", - "start": "51486" + "column": "12", + "end": "55192", + "length": "5", + "line": "1574", + "parentIndex": "4813", + "start": "55188" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "visibility": "PUBLIC" @@ -6429,785 +7320,514 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4759", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "4761", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "62", - "end": "53697", - "length": "1", - "line": "1544", - "parentIndex": "4759", - "start": "53697" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, + "id": "4815", "isConstant": true, "isStateVariable": true, - "name": "ACTION_MASTER_CONTRACT_APPROVAL", + "name": "user", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "53698", - "length": "60", - "line": "1544", - "start": "53639" + "column": "20", + "end": "55378", + "length": "12", + "line": "1578", + "start": "55367" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4760", - "name": "uint8", + "id": "4816", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "53643", - "length": "5", - "line": "1544", - "parentIndex": "4759", - "start": "53639" + "column": "20", + "end": "55373", + "length": "7", + "line": "1578", + "parentIndex": "4815", + "start": "55367" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4762", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31", - "id": "4764", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "61", - "end": "53761", - "length": "1", - "line": "1545", - "parentIndex": "4762", - "start": "53761" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - }, + "id": "4817", "isConstant": true, "isStateVariable": true, - "name": "ACTION_SRC_DEPOSIT_TO_BENTOBOX", + "name": "approved", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "53762", - "length": "59", - "line": "1545", - "start": "53704" + "column": "20", + "end": "55413", + "length": "13", + "line": "1579", + "start": "55401" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "4763", - "name": "uint8", + "id": "4818", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "53708", - "length": "5", - "line": "1545", - "parentIndex": "4762", - "start": "53704" + "column": "20", + "end": "55404", + "length": "4", + "line": "1579", + "parentIndex": "4817", + "start": "55401" }, "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4765", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "32", - "id": "4767", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "64", - "end": "53828", - "length": "1", - "line": "1546", - "parentIndex": "4765", - "start": "53828" - }, - "typeDescription": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - }, + "id": "4819", "isConstant": true, "isStateVariable": true, - "name": "ACTION_SRC_TRANSFER_FROM_BENTOBOX", + "name": "v", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "53829", - "length": "62", - "line": "1546", - "start": "53768" + "column": "20", + "end": "55442", + "length": "7", + "line": "1580", + "start": "55436" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": "4766", + "id": "4820", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "53772", + "column": "20", + "end": "55440", "length": "5", - "line": "1546", - "parentIndex": "4765", - "start": "53768" + "line": "1580", + "parentIndex": "4819", + "start": "55436" }, "typeDescription": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4768", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "33", - "id": "4770", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "61", - "end": "53892", - "length": "1", - "line": "1547", - "parentIndex": "4768", - "start": "53892" - }, - "typeDescription": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - }, + "id": "4821", "isConstant": true, "isStateVariable": true, - "name": "ACTION_DST_DEPOSIT_TO_BENTOBOX", + "name": "r", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "53893", - "length": "59", - "line": "1547", - "start": "53835" + "column": "20", + "end": "55473", + "length": "9", + "line": "1581", + "start": "55465" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": "4769", - "name": "uint8", + "id": "4822", + "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "53839", - "length": "5", - "line": "1547", - "parentIndex": "4768", - "start": "53835" + "column": "20", + "end": "55471", + "length": "7", + "line": "1581", + "parentIndex": "4821", + "start": "55465" }, "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4771", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "34", - "id": "4773", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "56", - "end": "53951", - "length": "1", - "line": "1548", - "parentIndex": "4771", - "start": "53951" - }, - "typeDescription": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - }, + "id": "4823", "isConstant": true, "isStateVariable": true, - "name": "ACTION_DST_WITHDRAW_TOKEN", + "name": "s", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "53952", - "length": "54", - "line": "1548", - "start": "53899" + "column": "20", + "end": "55504", + "length": "9", + "line": "1582", + "start": "55496" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": "4772", - "name": "uint8", + "id": "4824", + "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "53903", - "length": "5", - "line": "1548", - "parentIndex": "4771", - "start": "53899" + "column": "20", + "end": "55502", + "length": "7", + "line": "1582", + "parentIndex": "4823", + "start": "55496" }, "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4774", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "35", - "id": "4776", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "76", - "end": "54030", - "length": "1", - "line": "1549", - "parentIndex": "4774", - "start": "54030" - }, - "typeDescription": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - }, + "id": "4825", "isConstant": true, "isStateVariable": true, - "name": "ACTION_DST_WITHDRAW_OR_TRANSFER_FROM_BENTOBOX", + "name": "token", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "54031", - "length": "74", - "line": "1549", - "start": "53958" + "column": "17", + "end": "55987", + "length": "13", + "line": "1597", + "start": "55975" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4775", - "name": "uint8", + "id": "4826", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "53962", - "length": "5", - "line": "1549", - "parentIndex": "4774", - "start": "53958" + "column": "17", + "end": "55981", + "length": "7", + "line": "1597", + "parentIndex": "4825", + "start": "55975" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4777", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "36", - "id": "4779", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "57", - "end": "54090", - "length": "1", - "line": "1550", - "parentIndex": "4777", - "start": "54090" - }, - "typeDescription": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - } - }, + "id": "4827", "isConstant": true, "isStateVariable": true, - "name": "ACTION_UNWRAP_AND_TRANSFER", + "name": "to", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "54091", - "length": "55", - "line": "1550", - "start": "54037" + "column": "32", + "end": "55999", + "length": "10", + "line": "1597", + "start": "55990" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4778", - "name": "uint8", + "id": "4828", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "54041", - "length": "5", - "line": "1550", - "parentIndex": "4777", - "start": "54037" + "column": "32", + "end": "55996", + "length": "7", + "line": "1597", + "parentIndex": "4827", + "start": "55990" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4780", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "37", - "id": "4782", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "49", - "end": "54166", - "length": "1", - "line": "1553", - "parentIndex": "4780", - "start": "54166" - }, - "typeDescription": { - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - } - }, + "id": "4829", "isConstant": true, "isStateVariable": true, - "name": "ACTION_LEGACY_SWAP", + "name": "amount", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "54167", - "length": "47", - "line": "1553", - "start": "54121" + "column": "44", + "end": "56015", + "length": "14", + "line": "1597", + "start": "56002" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4781", - "name": "uint8", + "id": "4830", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "54125", - "length": "5", - "line": "1553", - "parentIndex": "4780", - "start": "54121" + "column": "44", + "end": "56008", + "length": "7", + "line": "1597", + "parentIndex": "4829", + "start": "56002" }, "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4783", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "38", - "id": "4785", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "50", - "end": "54219", - "length": "1", - "line": "1554", - "parentIndex": "4783", - "start": "54219" - }, - "typeDescription": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - } - }, + "id": "4831", "isConstant": true, "isStateVariable": true, - "name": "ACTION_TRIDENT_SWAP", + "name": "share", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "54220", - "length": "48", - "line": "1554", - "start": "54173" + "column": "60", + "end": "56030", + "length": "13", + "line": "1597", + "start": "56018" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4784", - "name": "uint8", + "id": "4832", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "54177", - "length": "5", - "line": "1554", - "parentIndex": "4783", - "start": "54173" + "column": "60", + "end": "56024", + "length": "7", + "line": "1597", + "parentIndex": "4831", + "start": "56018" }, "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4786", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "39", - "id": "4788", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "63", - "end": "54285", - "length": "1", - "line": "1555", - "parentIndex": "4786", - "start": "54285" - }, - "typeDescription": { - "typeIdentifier": "t_rational_9_by_1", - "typeString": "int_const 9" - }, - "value": "9" - } - }, + "id": "4833", "isConstant": true, "isStateVariable": true, - "name": "ACTION_TRIDENT_COMPLEX_PATH_SWAP", + "name": "token", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "54286", - "length": "61", - "line": "1555", - "start": "54226" + "column": "20", + "end": "56459", + "length": "13", + "line": "1609", + "start": "56447" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_9_by_1", - "typeString": "int_const 9" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4787", - "name": "uint8", + "id": "4834", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "54230", - "length": "5", - "line": "1555", - "parentIndex": "4786", - "start": "54226" + "column": "20", + "end": "56453", + "length": "7", + "line": "1609", + "parentIndex": "4833", + "start": "56447" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4789", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "3130", - "id": "4791", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "55", - "end": "54370", - "length": "2", - "line": "1558", - "parentIndex": "4789", - "start": "54369" - }, - "typeDescription": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - } - }, + "id": "4835", "isConstant": true, "isStateVariable": true, - "name": "ACTION_STARGATE_TELEPORT", + "name": "to", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "54371", - "length": "54", - "line": "1558", - "start": "54318" + "column": "20", + "end": "56491", + "length": "10", + "line": "1610", + "start": "56482" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4790", - "name": "uint8", + "id": "4836", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "54322", - "length": "5", - "line": "1558", - "parentIndex": "4789", - "start": "54318" + "column": "20", + "end": "56488", + "length": "7", + "line": "1610", + "parentIndex": "4835", + "start": "56482" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4792", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "3131", - "id": "4794", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "56", - "end": "54431", - "length": "2", - "line": "1560", - "parentIndex": "4792", - "start": "54430" - }, - "typeDescription": { - "typeIdentifier": "t_rational_11_by_1", - "typeString": "int_const 11" - }, - "value": "11" - } - }, + "id": "4837", "isConstant": true, "isStateVariable": true, - "name": "ACTION_SRC_TOKEN_TRANSFER", + "name": "amount", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "4", - "end": "54432", - "length": "55", - "line": "1560", - "start": "54378" + "column": "20", + "end": "56527", + "length": "14", + "line": "1611", + "start": "56514" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_rational_11_by_1", - "typeString": "int_const 11" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4793", - "name": "uint8", + "id": "4838", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "4", - "end": "54382", - "length": "5", - "line": "1560", - "parentIndex": "4792", - "start": "54378" + "column": "20", + "end": "56520", + "length": "7", + "line": "1611", + "parentIndex": "4837", + "start": "56514" }, "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4795", + "id": "4839", "isConstant": true, "isStateVariable": true, - "name": "actionLength", + "name": "share", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "8", - "end": "55093", - "length": "20", - "line": "1572", - "start": "55074" + "column": "20", + "end": "56562", + "length": "13", + "line": "1612", + "start": "56550" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7216,16 +7836,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4796", + "id": "4840", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "55080", + "column": "20", + "end": "56556", "length": "7", - "line": "1572", - "parentIndex": "4795", - "start": "55074" + "line": "1612", + "parentIndex": "4839", + "start": "56550" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -7238,39 +7858,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4797", + "id": "4841", "isConstant": true, "isStateVariable": true, - "name": "i", + "name": "unwrapBento", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "13", - "end": "55134", - "length": "9", - "line": "1573", - "start": "55126" + "column": "20", + "end": "56600", + "length": "16", + "line": "1613", + "start": "56585" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "4798", - "name": "uint256", + "id": "4842", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "13", - "end": "55132", - "length": "7", - "line": "1573", - "parentIndex": "4797", - "start": "55126" + "column": "20", + "end": "56588", + "length": "4", + "line": "1613", + "parentIndex": "4841", + "start": "56585" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "PUBLIC" @@ -7279,39 +7899,40 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4799", + "id": "4843", "isConstant": true, "isStateVariable": true, - "name": "action", + "name": "token", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "12", - "end": "55199", - "length": "12", - "line": "1574", - "start": "55188" + "column": "17", + "end": "57077", + "length": "13", + "line": "1627", + "start": "57065" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4800", - "name": "uint8", + "id": "4844", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "12", - "end": "55192", - "length": "5", - "line": "1574", - "parentIndex": "4799", - "start": "55188" + "column": "17", + "end": "57071", + "length": "7", + "line": "1627", + "parentIndex": "4843", + "start": "57065" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "PUBLIC" @@ -7320,17 +7941,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4801", + "id": "4845", "isConstant": true, "isStateVariable": true, - "name": "user", + "name": "to", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "20", - "end": "55378", - "length": "12", - "line": "1578", - "start": "55367" + "column": "32", + "end": "57089", + "length": "10", + "line": "1627", + "start": "57080" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7339,16 +7960,16 @@ "typeString": "address" }, "typeName": { - "id": "4802", + "id": "4846", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "20", - "end": "55373", + "column": "32", + "end": "57086", "length": "7", - "line": "1578", - "parentIndex": "4801", - "start": "55367" + "line": "1627", + "parentIndex": "4845", + "start": "57080" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -7362,39 +7983,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4803", + "id": "4847", "isConstant": true, "isStateVariable": true, - "name": "approved", + "name": "amount", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "20", - "end": "55413", - "length": "13", - "line": "1579", - "start": "55401" + "column": "44", + "end": "57105", + "length": "14", + "line": "1627", + "start": "57092" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4804", - "name": "bool", + "id": "4848", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "20", - "end": "55404", - "length": "4", - "line": "1579", - "parentIndex": "4803", - "start": "55401" + "column": "44", + "end": "57098", + "length": "7", + "line": "1627", + "parentIndex": "4847", + "start": "57092" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "PUBLIC" @@ -7403,39 +8024,40 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4805", + "id": "4849", "isConstant": true, "isStateVariable": true, - "name": "v", + "name": "token", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "20", - "end": "55442", - "length": "7", - "line": "1580", - "start": "55436" + "column": "17", + "end": "57379", + "length": "13", + "line": "1634", + "start": "57367" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4806", - "name": "uint8", + "id": "4850", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "20", - "end": "55440", - "length": "5", - "line": "1580", - "parentIndex": "4805", - "start": "55436" + "column": "17", + "end": "57373", + "length": "7", + "line": "1634", + "parentIndex": "4849", + "start": "57367" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "PUBLIC" @@ -7444,39 +8066,40 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4807", + "id": "4851", "isConstant": true, "isStateVariable": true, - "name": "r", + "name": "to", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "20", - "end": "55473", - "length": "9", - "line": "1581", - "start": "55465" + "column": "32", + "end": "57391", + "length": "10", + "line": "1634", + "start": "57382" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4808", - "name": "bytes32", + "id": "4852", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "20", - "end": "55471", + "column": "32", + "end": "57388", "length": "7", - "line": "1581", - "parentIndex": "4807", - "start": "55465" + "line": "1634", + "parentIndex": "4851", + "start": "57382" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "PUBLIC" @@ -7485,39 +8108,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4809", + "id": "4853", "isConstant": true, "isStateVariable": true, - "name": "s", + "name": "amount", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "20", - "end": "55504", - "length": "9", - "line": "1582", - "start": "55496" + "column": "44", + "end": "57407", + "length": "14", + "line": "1634", + "start": "57394" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4810", - "name": "bytes32", + "id": "4854", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "20", - "end": "55502", + "column": "44", + "end": "57400", "length": "7", - "line": "1582", - "parentIndex": "4809", - "start": "55496" + "line": "1634", + "parentIndex": "4853", + "start": "57394" }, "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "PUBLIC" @@ -7526,40 +8149,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4811", + "id": "4855", "isConstant": true, "isStateVariable": true, - "name": "token", + "name": "share", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "17", - "end": "55987", + "column": "60", + "end": "57422", "length": "13", - "line": "1597", - "start": "55975" + "line": "1634", + "start": "57410" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4812", - "name": "address", + "id": "4856", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "17", - "end": "55981", + "column": "60", + "end": "57416", "length": "7", - "line": "1597", - "parentIndex": "4811", - "start": "55975" + "line": "1634", + "parentIndex": "4855", + "start": "57410" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "PUBLIC" @@ -7568,17 +8190,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4813", + "id": "4857", "isConstant": true, "isStateVariable": true, - "name": "to", + "name": "token", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "32", - "end": "55999", - "length": "10", - "line": "1597", - "start": "55990" + "column": "17", + "end": "58177", + "length": "13", + "line": "1654", + "start": "58165" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7587,16 +8209,16 @@ "typeString": "address" }, "typeName": { - "id": "4814", + "id": "4858", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "32", - "end": "55996", + "column": "17", + "end": "58171", "length": "7", - "line": "1597", - "parentIndex": "4813", - "start": "55990" + "line": "1654", + "parentIndex": "4857", + "start": "58165" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -7610,39 +8232,40 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4815", + "id": "4859", "isConstant": true, "isStateVariable": true, - "name": "amount", + "name": "to", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "44", - "end": "56015", - "length": "14", - "line": "1597", - "start": "56002" + "column": "32", + "end": "58189", + "length": "10", + "line": "1654", + "start": "58180" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4816", - "name": "uint256", + "id": "4860", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "44", - "end": "56008", + "column": "32", + "end": "58186", "length": "7", - "line": "1597", - "parentIndex": "4815", - "start": "56002" + "line": "1654", + "parentIndex": "4859", + "start": "58180" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "PUBLIC" @@ -7651,17 +8274,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4817", + "id": "4861", "isConstant": true, "isStateVariable": true, - "name": "share", + "name": "amount", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "60", - "end": "56030", - "length": "13", - "line": "1597", - "start": "56018" + "column": "44", + "end": "58205", + "length": "14", + "line": "1654", + "start": "58192" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7670,16 +8293,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4818", + "id": "4862", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "60", - "end": "56024", + "column": "44", + "end": "58198", "length": "7", - "line": "1597", - "parentIndex": "4817", - "start": "56018" + "line": "1654", + "parentIndex": "4861", + "start": "58192" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -7692,17 +8315,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4819", + "id": "4863", "isConstant": true, "isStateVariable": true, "name": "token", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "20", - "end": "56459", + "end": "58821", "length": "13", - "line": "1609", - "start": "56447" + "line": "1670", + "start": "58809" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7711,16 +8334,16 @@ "typeString": "address" }, "typeName": { - "id": "4820", + "id": "4864", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "20", - "end": "56453", + "end": "58815", "length": "7", - "line": "1609", - "parentIndex": "4819", - "start": "56447" + "line": "1670", + "parentIndex": "4863", + "start": "58809" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -7734,17 +8357,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4821", + "id": "4865", "isConstant": true, "isStateVariable": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "20", - "end": "56491", + "end": "58853", "length": "10", - "line": "1610", - "start": "56482" + "line": "1671", + "start": "58844" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7753,16 +8376,16 @@ "typeString": "address" }, "typeName": { - "id": "4822", + "id": "4866", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "20", - "end": "56488", + "end": "58850", "length": "7", - "line": "1610", - "parentIndex": "4821", - "start": "56482" + "line": "1671", + "parentIndex": "4865", + "start": "58844" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -7776,17 +8399,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4823", + "id": "4867", "isConstant": true, "isStateVariable": true, "name": "amount", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "20", - "end": "56527", + "end": "58889", "length": "14", - "line": "1611", - "start": "56514" + "line": "1672", + "start": "58876" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7795,16 +8418,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4824", + "id": "4868", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "20", - "end": "56520", + "end": "58882", "length": "7", - "line": "1611", - "parentIndex": "4823", - "start": "56514" + "line": "1672", + "parentIndex": "4867", + "start": "58876" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -7817,17 +8440,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4825", + "id": "4869", "isConstant": true, "isStateVariable": true, "name": "share", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "20", - "end": "56562", + "end": "58924", "length": "13", - "line": "1612", - "start": "56550" + "line": "1673", + "start": "58912" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7836,16 +8459,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4826", + "id": "4870", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "20", - "end": "56556", + "end": "58918", "length": "7", - "line": "1612", - "parentIndex": "4825", - "start": "56550" + "line": "1673", + "parentIndex": "4869", + "start": "58912" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -7858,17 +8481,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4827", + "id": "4871", "isConstant": true, "isStateVariable": true, "name": "unwrapBento", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "20", - "end": "56600", + "end": "58962", "length": "16", - "line": "1613", - "start": "56585" + "line": "1674", + "start": "58947" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7877,16 +8500,16 @@ "typeString": "bool" }, "typeName": { - "id": "4828", + "id": "4872", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "20", - "end": "56588", + "end": "58950", "length": "4", - "line": "1613", - "parentIndex": "4827", - "start": "56585" + "line": "1674", + "parentIndex": "4871", + "start": "58947" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -7899,17 +8522,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4829", + "id": "4873", "isConstant": true, "isStateVariable": true, "name": "token", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "17", - "end": "57077", + "end": "59580", "length": "13", - "line": "1627", - "start": "57065" + "line": "1691", + "start": "59568" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7918,16 +8541,16 @@ "typeString": "address" }, "typeName": { - "id": "4830", + "id": "4874", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "17", - "end": "57071", + "end": "59574", "length": "7", - "line": "1627", - "parentIndex": "4829", - "start": "57065" + "line": "1691", + "parentIndex": "4873", + "start": "59568" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -7941,17 +8564,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4831", + "id": "4875", "isConstant": true, "isStateVariable": true, "name": "to", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "32", - "end": "57089", + "end": "59592", "length": "10", - "line": "1627", - "start": "57080" + "line": "1691", + "start": "59583" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -7960,16 +8583,16 @@ "typeString": "address" }, "typeName": { - "id": "4832", + "id": "4876", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "32", - "end": "57086", + "end": "59589", "length": "7", - "line": "1627", - "parentIndex": "4831", - "start": "57080" + "line": "1691", + "parentIndex": "4875", + "start": "59583" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -7983,17 +8606,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4833", + "id": "4877", "isConstant": true, "isStateVariable": true, - "name": "amount", + "name": "amountIn", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "44", - "end": "57105", - "length": "14", - "line": "1627", - "start": "57092" + "column": "20", + "end": "59850", + "length": "16", + "line": "1699", + "start": "59835" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -8002,16 +8625,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4834", + "id": "4878", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "44", - "end": "57098", + "column": "20", + "end": "59841", "length": "7", - "line": "1627", - "parentIndex": "4833", - "start": "57092" + "line": "1699", + "parentIndex": "4877", + "start": "59835" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -8024,40 +8647,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4835", + "id": "4879", "isConstant": true, "isStateVariable": true, - "name": "token", + "name": "amountOutMin", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "17", - "end": "57379", - "length": "13", - "line": "1634", - "start": "57367" + "column": "20", + "end": "59892", + "length": "20", + "line": "1700", + "start": "59873" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "4836", - "name": "address", + "id": "4880", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "17", - "end": "57373", + "column": "20", + "end": "59879", "length": "7", - "line": "1634", - "parentIndex": "4835", - "start": "57367" + "line": "1700", + "parentIndex": "4879", + "start": "59873" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "PUBLIC" @@ -8066,17 +8688,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4837", + "id": "4881", "isConstant": true, "isStateVariable": true, - "name": "to", + "name": "path", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "32", - "end": "57391", - "length": "10", - "line": "1634", - "start": "57382" + "column": "20", + "end": "59935", + "length": "21", + "line": "1701", + "start": "59915" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -8085,18 +8707,17 @@ "typeString": "address" }, "typeName": { - "id": "4838", + "id": "4882", "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "IDENTIFIER", "src": { - "column": "32", - "end": "57388", + "column": "20", + "end": "59921", "length": "7", - "line": "1634", - "parentIndex": "4837", - "start": "57382" + "line": "1701", + "parentIndex": "4881", + "start": "59915" }, - "stateMutability": "NONPAYABLE", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" @@ -8108,39 +8729,40 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4839", + "id": "4883", "isConstant": true, "isStateVariable": true, - "name": "amount", + "name": "to", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "44", - "end": "57407", - "length": "14", - "line": "1634", - "start": "57394" + "column": "20", + "end": "59967", + "length": "10", + "line": "1702", + "start": "59958" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "4840", - "name": "uint256", + "id": "4884", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "44", - "end": "57400", + "column": "20", + "end": "59964", "length": "7", - "line": "1634", - "parentIndex": "4839", - "start": "57394" + "line": "1702", + "parentIndex": "4883", + "start": "59958" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "PUBLIC" @@ -8149,39 +8771,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4841", + "id": "4885", "isConstant": true, "isStateVariable": true, - "name": "share", + "name": "sendTokens", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "60", - "end": "57422", - "length": "13", - "line": "1634", - "start": "57410" + "column": "16", + "end": "60151", + "length": "15", + "line": "1707", + "start": "60137" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "4842", - "name": "uint256", + "id": "4886", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "60", - "end": "57416", - "length": "7", - "line": "1634", - "parentIndex": "4841", - "start": "57410" + "column": "16", + "end": "60140", + "length": "4", + "line": "1707", + "parentIndex": "4885", + "start": "60137" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "PUBLIC" @@ -8190,40 +8812,61 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4843", + "id": "4887", "isConstant": true, "isStateVariable": true, - "name": "token", + "name": "params", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "17", - "end": "58177", - "length": "13", - "line": "1654", - "start": "58165" + "column": "16", + "end": "60629", + "length": "30", + "line": "1720", + "start": "60600" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Global_ExactInputParams_$4695", + "typeString": "struct Global.ExactInputParams" }, "typeName": { - "id": "4844", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4888", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "4889", + "name": "ExactInputParams", + "nameLocation": { + "column": "16", + "end": "60615", + "length": "16", + "line": "1720", + "parentIndex": "4888", + "start": "60600" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "4695", + "src": { + "column": "16", + "end": "60615", + "length": "16", + "line": "1720", + "parentIndex": "4888", + "start": "60600" + } + }, + "referencedDeclaration": "4695", "src": { - "column": "17", - "end": "58171", - "length": "7", - "line": "1654", - "parentIndex": "4843", - "start": "58165" + "column": "16", + "end": "60615", + "length": "16", + "line": "1720", + "parentIndex": "4887", + "start": "60600" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Global_ExactInputParams_$4695", + "typeString": "struct Global.ExactInputParams" } }, "visibility": "PUBLIC" @@ -8232,40 +8875,61 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4845", + "id": "4890", "isConstant": true, "isStateVariable": true, - "name": "to", + "name": "params", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "32", - "end": "58189", - "length": "10", - "line": "1654", - "start": "58180" + "column": "16", + "end": "60886", + "length": "31", + "line": "1727", + "start": "60856" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Global_ComplexPathParams_$4741", + "typeString": "struct Global.ComplexPathParams" }, "typeName": { - "id": "4846", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4891", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "4892", + "name": "ComplexPathParams", + "nameLocation": { + "column": "16", + "end": "60872", + "length": "17", + "line": "1727", + "parentIndex": "4891", + "start": "60856" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "4741", + "src": { + "column": "16", + "end": "60872", + "length": "17", + "line": "1727", + "parentIndex": "4891", + "start": "60856" + } + }, + "referencedDeclaration": "4741", "src": { - "column": "32", - "end": "58186", - "length": "7", - "line": "1654", - "parentIndex": "4845", - "start": "58180" + "column": "16", + "end": "60872", + "length": "17", + "line": "1727", + "parentIndex": "4890", + "start": "60856" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Global_ComplexPathParams_$4741", + "typeString": "struct Global.ComplexPathParams" } }, "visibility": "PUBLIC" @@ -8274,330 +8938,61 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4847", + "id": "4893", "isConstant": true, "isStateVariable": true, - "name": "amount", + "name": "params", "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "44", - "end": "58205", - "length": "14", - "line": "1654", - "start": "58192" + "column": "20", + "end": "61164", + "length": "36", + "line": "1735", + "start": "61129" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_Global_StargateTeleportParams_$4536", + "typeString": "struct Global.StargateTeleportParams" }, "typeName": { - "id": "4848", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "44", - "end": "58198", - "length": "7", - "line": "1654", - "parentIndex": "4847", - "start": "58192" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4849", - "isConstant": true, - "isStateVariable": true, - "name": "token", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "58821", - "length": "13", - "line": "1670", - "start": "58809" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4850", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "20", - "end": "58815", - "length": "7", - "line": "1670", - "parentIndex": "4849", - "start": "58809" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4851", - "isConstant": true, - "isStateVariable": true, - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "58853", - "length": "10", - "line": "1671", - "start": "58844" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4852", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "20", - "end": "58850", - "length": "7", - "line": "1671", - "parentIndex": "4851", - "start": "58844" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4853", - "isConstant": true, - "isStateVariable": true, - "name": "amount", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "58889", - "length": "14", - "line": "1672", - "start": "58876" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4854", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "20", - "end": "58882", - "length": "7", - "line": "1672", - "parentIndex": "4853", - "start": "58876" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4855", - "isConstant": true, - "isStateVariable": true, - "name": "share", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "58924", - "length": "13", - "line": "1673", - "start": "58912" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4856", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "20", - "end": "58918", - "length": "7", - "line": "1673", - "parentIndex": "4855", - "start": "58912" + "id": "4894", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "4895", + "name": "StargateTeleportParams", + "nameLocation": { + "column": "20", + "end": "61150", + "length": "22", + "line": "1735", + "parentIndex": "4894", + "start": "61129" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "4536", + "src": { + "column": "20", + "end": "61150", + "length": "22", + "line": "1735", + "parentIndex": "4894", + "start": "61129" + } }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4857", - "isConstant": true, - "isStateVariable": true, - "name": "unwrapBento", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "58962", - "length": "16", - "line": "1674", - "start": "58947" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "4858", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", + "referencedDeclaration": "4536", "src": { "column": "20", - "end": "58950", - "length": "4", - "line": "1674", - "parentIndex": "4857", - "start": "58947" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4859", - "isConstant": true, - "isStateVariable": true, - "name": "token", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "17", - "end": "59580", - "length": "13", - "line": "1691", - "start": "59568" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4860", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "17", - "end": "59574", - "length": "7", - "line": "1691", - "parentIndex": "4859", - "start": "59568" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4861", - "isConstant": true, - "isStateVariable": true, - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "32", - "end": "59592", - "length": "10", - "line": "1691", - "start": "59583" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4862", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "32", - "end": "59589", - "length": "7", - "line": "1691", - "parentIndex": "4861", - "start": "59583" + "end": "61150", + "length": "22", + "line": "1735", + "parentIndex": "4893", + "start": "61129" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Global_StargateTeleportParams_$4536", + "typeString": "struct Global.StargateTeleportParams" } }, "visibility": "PUBLIC" @@ -8606,39 +9001,39 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4863", + "id": "4896", "isConstant": true, "isStateVariable": true, - "name": "amountIn", + "name": "actionsDST", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "20", - "end": "59850", - "length": "16", - "line": "1699", - "start": "59835" + "end": "61211", + "length": "25", + "line": "1736", + "start": "61187" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": "4864", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "4897", + "name": "uint8", + "nodeType": "IDENTIFIER", "src": { "column": "20", - "end": "59841", - "length": "7", - "line": "1699", - "parentIndex": "4863", - "start": "59835" + "end": "61191", + "length": "5", + "line": "1736", + "parentIndex": "4896", + "start": "61187" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "visibility": "PUBLIC" @@ -8647,17 +9042,17 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4865", + "id": "4898", "isConstant": true, "isStateVariable": true, - "name": "amountOutMin", + "name": "valuesDST", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "20", - "end": "59892", - "length": "20", - "line": "1700", - "start": "59873" + "end": "61259", + "length": "26", + "line": "1737", + "start": "61234" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", @@ -8666,16 +9061,16 @@ "typeString": "uint256" }, "typeName": { - "id": "4866", + "id": "4899", "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "IDENTIFIER", "src": { "column": "20", - "end": "59879", + "end": "61240", "length": "7", - "line": "1700", - "parentIndex": "4865", - "start": "59873" + "line": "1737", + "parentIndex": "4898", + "start": "61234" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -8688,481 +9083,86 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4867", + "id": "4900", "isConstant": true, "isStateVariable": true, - "name": "path", + "name": "datasDST", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "20", - "end": "59935", - "length": "21", - "line": "1701", - "start": "59915" + "end": "61304", + "length": "23", + "line": "1738", + "start": "61282" }, "stateMutability": "MUTABLE", "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes", + "typeString": "bytes" }, "typeName": { - "id": "4868", - "name": "address", + "id": "4901", + "name": "bytes", "nodeType": "IDENTIFIER", "src": { "column": "20", - "end": "59921", - "length": "7", - "line": "1701", - "parentIndex": "4867", - "start": "59915" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4869", - "isConstant": true, - "isStateVariable": true, - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "59967", - "length": "10", - "line": "1702", - "start": "59958" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "4870", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "20", - "end": "59964", - "length": "7", - "line": "1702", - "parentIndex": "4869", - "start": "59958" + "end": "61286", + "length": "5", + "line": "1738", + "parentIndex": "4900", + "start": "61282" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes", + "typeString": "bytes" } }, "visibility": "PUBLIC" } - }, + } + ], + "source_units": [ { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4871", - "isConstant": true, - "isStateVariable": true, - "name": "sendTokens", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "16", - "end": "60151", - "length": "15", - "line": "1707", - "start": "60137" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "4872", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "16", - "end": "60140", - "length": "4", - "line": "1707", - "parentIndex": "4871", - "start": "60137" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4873", - "isConstant": true, - "isStateVariable": true, - "name": "params", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "16", - "end": "60629", - "length": "30", - "line": "1720", - "start": "60600" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_Global_ExactInputParams_$4630", - "typeString": "struct Global.ExactInputParams" - }, - "typeName": { - "id": "4874", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "4875", - "name": "ExactInputParams", - "nameLocation": { - "column": "16", - "end": "60615", - "length": "16", - "line": "1720", - "parentIndex": "4874", - "start": "60600" - }, - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4630", - "src": { - "column": "16", - "end": "60615", - "length": "16", - "line": "1720", - "parentIndex": "4874", - "start": "60600" - } - }, - "referencedDeclaration": "4630", - "src": { - "column": "16", - "end": "60615", - "length": "16", - "line": "1720", - "parentIndex": "4873", - "start": "60600" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_Global_ExactInputParams_$4630", - "typeString": "struct Global.ExactInputParams" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4876", - "isConstant": true, - "isStateVariable": true, - "name": "params", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "16", - "end": "60886", - "length": "31", - "line": "1727", - "start": "60856" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_Global_ComplexPathParams_$4676", - "typeString": "struct Global.ComplexPathParams" - }, - "typeName": { - "id": "4877", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "4878", - "name": "ComplexPathParams", - "nameLocation": { - "column": "16", - "end": "60872", - "length": "17", - "line": "1727", - "parentIndex": "4877", - "start": "60856" - }, - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4676", - "src": { - "column": "16", - "end": "60872", - "length": "17", - "line": "1727", - "parentIndex": "4877", - "start": "60856" - } - }, - "referencedDeclaration": "4676", - "src": { - "column": "16", - "end": "60872", - "length": "17", - "line": "1727", - "parentIndex": "4876", - "start": "60856" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_Global_ComplexPathParams_$4676", - "typeString": "struct Global.ComplexPathParams" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4879", - "isConstant": true, - "isStateVariable": true, - "name": "params", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "61164", - "length": "36", - "line": "1735", - "start": "61129" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_Global_StargateTeleportParams_$4720", - "typeString": "struct Global.StargateTeleportParams" - }, - "typeName": { - "id": "4880", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "4881", - "name": "StargateTeleportParams", - "nameLocation": { - "column": "20", - "end": "61150", - "length": "22", - "line": "1735", - "parentIndex": "4880", - "start": "61129" - }, - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4720", - "src": { - "column": "20", - "end": "61150", - "length": "22", - "line": "1735", - "parentIndex": "4880", - "start": "61129" - } - }, - "referencedDeclaration": "4720", - "src": { - "column": "20", - "end": "61150", - "length": "22", - "line": "1735", - "parentIndex": "4879", - "start": "61129" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_Global_StargateTeleportParams_$4720", - "typeString": "struct Global.StargateTeleportParams" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4882", - "isConstant": true, - "isStateVariable": true, - "name": "actionsDST", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "61211", - "length": "25", - "line": "1736", - "start": "61187" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": "4883", - "name": "uint8", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "61191", - "length": "5", - "line": "1736", - "parentIndex": "4882", - "start": "61187" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4884", - "isConstant": true, - "isStateVariable": true, - "name": "valuesDST", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "61259", - "length": "26", - "line": "1737", - "start": "61234" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4885", - "name": "uint256", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "61240", - "length": "7", - "line": "1737", - "parentIndex": "4884", - "start": "61234" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "PUBLIC" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "id": "4886", - "isConstant": true, - "isStateVariable": true, - "name": "datasDST", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "20", - "end": "61304", - "length": "23", - "line": "1738", - "start": "61282" - }, - "stateMutability": "MUTABLE", - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "4887", - "name": "bytes", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "61286", - "length": "5", - "line": "1738", - "parentIndex": "4886", - "start": "61282" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "PUBLIC" - } - } - ], - "source_units": [ - { - "id": 273, - "license": "MIT", - "name": "Address", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/Address.sol", - "exported_symbols": [ - { - "id": 273, - "name": "Address", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/Address.sol" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "274", - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "1", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "123", - "length": "23", - "line": "4", - "parentIndex": "273", - "start": "101" - }, - "text": "pragma solidity ^0.8.1;" - } + "id": 273, + "license": "MIT", + "name": "Address", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/Address.sol", + "exported_symbols": [ + { + "id": 273, + "name": "Address", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/Address.sol" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "274", + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "1", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "123", + "length": "23", + "line": "4", + "parentIndex": "273", + "start": "101" + }, + "text": "pragma solidity ^0.8.1;" + } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", @@ -10142,7 +10142,7 @@ } }, "scope": "275", - "signature": "557790e6", + "signature": "cd3a2a84", "src": { "column": "4", "end": "2723", @@ -10490,7 +10490,7 @@ } }, "scope": "275", - "signature": "61c524b8", + "signature": "a0b5ffb0", "src": { "column": "4", "end": "3638", @@ -10915,7 +10915,7 @@ } }, "scope": "275", - "signature": "5f581aaa", + "signature": "241b5886", "src": { "column": "4", "end": "4083", @@ -11340,7 +11340,7 @@ } }, "scope": "275", - "signature": "9a466078", + "signature": "2a011594", "src": { "column": "4", "end": "4699", @@ -12387,7 +12387,7 @@ } }, "scope": "275", - "signature": "7a931a92", + "signature": "d525ab8a", "src": { "column": "4", "end": "5446", @@ -12735,7 +12735,7 @@ } }, "scope": "275", - "signature": "35b5002e", + "signature": "c21d36f3", "src": { "column": "4", "end": "5820", @@ -13481,7 +13481,7 @@ } }, "scope": "275", - "signature": "47374319", + "signature": "dbc40fb9", "src": { "column": "4", "end": "6390", @@ -13829,7 +13829,7 @@ } }, "scope": "275", - "signature": "ce0c9802", + "signature": "ee33b7e2", "src": { "column": "4", "end": "6767", @@ -14575,7 +14575,7 @@ } }, "scope": "275", - "signature": "a6f0db75", + "signature": "57387df0", "src": { "column": "4", "end": "7340", @@ -14894,7 +14894,7 @@ } }, "scope": "275", - "signature": "15a412bd", + "signature": "946b5793", "src": { "column": "4", "end": "8252", @@ -15160,7 +15160,7 @@ } }, "scope": "589", - "signature": "32c85217", + "signature": "f7888aec", "src": { "column": "4", "end": "8611", @@ -15386,7 +15386,7 @@ } }, "scope": "589", - "signature": "3713010a", + "signature": "da5139ca", "src": { "column": "4", "end": "9033", @@ -15612,7 +15612,7 @@ } }, "scope": "589", - "signature": "d5282e5b", + "signature": "56623118", "src": { "column": "4", "end": "9463", @@ -16023,7 +16023,7 @@ } }, "scope": "589", - "signature": "00d49fa3", + "signature": "02b9446c", "src": { "column": "4", "end": "10328", @@ -16365,7 +16365,7 @@ } }, "scope": "589", - "signature": "1d8c7043", + "signature": "97da6d30", "src": { "column": "4", "end": "10912", @@ -16591,7 +16591,7 @@ } }, "scope": "589", - "signature": "a377c7c8", + "signature": "f18d03cc", "src": { "column": "4", "end": "11312", @@ -16892,7 +16892,7 @@ } }, "scope": "589", - "signature": "65410bf1", + "signature": "c0a47c93", "src": { "column": "4", "end": "11500", @@ -17552,7 +17552,7 @@ } }, "scope": "744", - "signature": "6d97ec68", + "signature": "43facafa", "src": { "column": "4", "end": "12036", @@ -17911,7 +17911,7 @@ } }, "scope": "744", - "signature": "d6af55d9", + "signature": "944e08a5", "src": { "column": "4", "end": "12292", @@ -21001,7 +21001,7 @@ } }, "scope": "1032", - "signature": "18b5c23f", + "signature": "e8726e4b", "src": { "column": "4", "end": "15481", @@ -21603,7 +21603,7 @@ } }, "scope": "1032", - "signature": "3fc92c8a", + "signature": "6222712f", "src": { "column": "4", "end": "16558", @@ -22471,7 +22471,7 @@ } }, "scope": "1138", - "signature": "9d61d234", + "signature": "a9059cbb", "src": { "column": "4", "end": "17825", @@ -22659,7 +22659,7 @@ } }, "scope": "1138", - "signature": "69bfed33", + "signature": "dd62ed3e", "src": { "column": "4", "end": "18183", @@ -22846,7 +22846,7 @@ } }, "scope": "1138", - "signature": "8b069f2a", + "signature": "095ea7b3", "src": { "column": "4", "end": "18910", @@ -23072,7 +23072,7 @@ } }, "scope": "1138", - "signature": "b642fe57", + "signature": "23b872dd", "src": { "column": "4", "end": "19326", @@ -23715,7 +23715,7 @@ "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenAmount_$4497", + "typeIdentifier": "t_struct$_Global_TokenAmount_$4511", "typeString": "struct Global.TokenAmount" }, "typeName": { @@ -23735,7 +23735,7 @@ "start": "20884" } }, - "referencedDeclaration": "4497", + "referencedDeclaration": "4511", "src": { "column": "17", "end": "20894", @@ -23745,7 +23745,7 @@ "start": "20884" }, "typeDescription": { - "typeIdentifier": "t_struct$_Global_TokenAmount_$4497", + "typeIdentifier": "t_struct$_Global_TokenAmount_$4511", "typeString": "struct Global.TokenAmount" } }, @@ -24880,22 +24880,402 @@ }, { "id": 1373, + "license": "GPL-3.0", + "name": "IStargateReceiver", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateReceiver.sol", + "exported_symbols": [ + { + "id": 1373, + "name": "IStargateReceiver", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateReceiver.sol" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "1383", + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "22926", + "length": "23", + "line": "643", + "parentIndex": "1373", + "start": "22904" + }, + "text": "pragma solidity 0.8.11;" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", + "value": { + "fullyImplemented": true, + "id": "1424", + "kind": "KIND_INTERFACE", + "linearizedBaseContracts": [ + "1424" + ], + "name": "IStargateReceiver", + "nameLocation": { + "column": "10", + "end": "22955", + "length": "17", + "line": "645", + "parentIndex": "1424", + "start": "22939" + }, + "nodeType": "CONTRACT_DEFINITION", + "nodes": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "1441", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "23159", + "length": "197", + "line": "646", + "parentIndex": "1426", + "start": "22963" + } + }, + "id": "1426", + "kind": "KIND_FUNCTION", + "name": "sgReceive", + "nameLocation": { + "column": "13", + "end": "22980", + "length": "9", + "line": "646", + "parentIndex": "1426", + "start": "22972" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "1427", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "1428", + "name": "_chainId", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1428", + "src": { + "column": "8", + "end": "23005", + "length": "15", + "line": "647", + "parentIndex": "1427", + "start": "22991" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": "1429", + "name": "uint16", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "22996", + "length": "6", + "line": "647", + "parentIndex": "1428", + "start": "22991" + }, + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1430", + "name": "_srcAddress", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1430", + "src": { + "column": "8", + "end": "23039", + "length": "24", + "line": "648", + "parentIndex": "1427", + "start": "23016" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1431", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "23020", + "length": "5", + "line": "648", + "parentIndex": "1430", + "start": "23016" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1432", + "name": "_nonce", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1432", + "src": { + "column": "8", + "end": "23063", + "length": "14", + "line": "649", + "parentIndex": "1427", + "start": "23050" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1433", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "23056", + "length": "7", + "line": "649", + "parentIndex": "1432", + "start": "23050" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1434", + "name": "_token", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1434", + "src": { + "column": "8", + "end": "23087", + "length": "14", + "line": "650", + "parentIndex": "1427", + "start": "23074" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "1435", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "23080", + "length": "7", + "line": "650", + "parentIndex": "1434", + "start": "23074" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1436", + "name": "amountLD", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1436", + "src": { + "column": "8", + "end": "23113", + "length": "16", + "line": "651", + "parentIndex": "1427", + "start": "23098" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1437", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "23104", + "length": "7", + "line": "651", + "parentIndex": "1436", + "start": "23098" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1438", + "name": "payload", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1438", + "src": { + "column": "8", + "end": "23143", + "length": "20", + "line": "652", + "parentIndex": "1427", + "start": "23124" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1439", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "23128", + "length": "5", + "line": "652", + "parentIndex": "1438", + "start": "23124" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "23143", + "length": "153", + "line": "647", + "parentIndex": "1426", + "start": "22991" + } + }, + "returnParameters": { + "id": "1440", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "23159", + "length": "197", + "line": "646", + "parentIndex": "1426", + "start": "22963" + } + }, + "scope": "1424", + "signature": "ab8236f3", + "src": { + "column": "4", + "end": "23159", + "length": "197", + "line": "646", + "parentIndex": "1424", + "start": "22963" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", + "typeString": "function(uint16,bytes,uint256,address,uint256,bytes)" + }, + "visibility": "EXTERNAL" + } + } + ], + "src": { + "end": "23161", + "length": "233", + "line": "645", + "parentIndex": "1373", + "start": "22929" + } + } + } + ] + }, + "src": { + "line": 645, + "start": 22929, + "end": 23161, + "length": 233, + "parent_index": 272 + } + }, + { + "id": 1442, "license": "MIT", "name": "SafeERC20", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SafeERC20.sol", "exported_symbols": [ { - "id": 1373, + "id": 1442, "name": "SafeERC20", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SafeERC20.sol" }, { - "id": 1221, + "id": 1373, "name": "IERC20", "absolute_path": "IERC20.sol" }, { - "id": 1221, + "id": 1373, "name": "Address", "absolute_path": "Address.sol" } @@ -24906,7 +25286,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "1383", + "id": "1453", "literals": [ "pragma", "solidity", @@ -24920,11 +25300,11 @@ ], "nodeType": "PRAGMA_DIRECTIVE", "src": { - "end": "22989", + "end": "23286", "length": "23", - "line": "644", - "parentIndex": "1373", - "start": "22967" + "line": "659", + "parentIndex": "1442", + "start": "23264" }, "text": "pragma solidity ^0.8.0;" } @@ -24934,16 +25314,16 @@ "value": { "absolutePath": "IERC20.sol", "file": "./IERC20.sol", - "id": "1390", + "id": "1460", "nodeType": "IMPORT_DIRECTIVE", - "scope": "1373", - "sourceUnit": "1221", + "scope": "1442", + "sourceUnit": "1373", "src": { - "end": "23013", + "end": "23310", "length": "22", - "line": "646", - "parentIndex": "1373", - "start": "22992" + "line": "661", + "parentIndex": "1442", + "start": "23289" } } }, @@ -24952,16 +25332,16 @@ "value": { "absolutePath": "Address.sol", "file": "./Address.sol", - "id": "1391", + "id": "1461", "nodeType": "IMPORT_DIRECTIVE", - "scope": "1373", - "sourceUnit": "1221", + "scope": "1442", + "sourceUnit": "1373", "src": { - "end": "23037", + "end": "23334", "length": "23", - "line": "647", - "parentIndex": "1373", - "start": "23015" + "line": "662", + "parentIndex": "1442", + "start": "23312" } } }, @@ -24969,59 +25349,59 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "fullyImplemented": true, - "id": "1392", + "id": "1462", "kind": "KIND_LIBRARY", "linearizedBaseContracts": [ - "1392" + "1462" ], "name": "SafeERC20", "nameLocation": { "column": "8", - "end": "23514", + "end": "23811", "length": "9", - "line": "658", - "parentIndex": "1392", - "start": "23506" + "line": "673", + "parentIndex": "1462", + "start": "23803" }, "nodeType": "CONTRACT_DEFINITION", "nodes": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", "value": { - "id": "1394", + "id": "1464", "libraryName": { - "id": "1395", + "id": "1465", "name": "Address", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "273", "src": { - "end": "23534", + "end": "23831", "length": "7", - "line": "659", - "parentIndex": "1394", - "start": "23528" + "line": "674", + "parentIndex": "1464", + "start": "23825" } }, "name": "Address", "nodeType": "USING_FOR_DIRECTIVE", "src": { - "end": "23547", + "end": "23844", "length": "26", - "line": "659", - "parentIndex": "1392", - "start": "23522" + "line": "674", + "parentIndex": "1462", + "start": "23819" }, "typeName": { - "id": "1396", + "id": "1466", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "22", - "end": "23546", + "end": "23843", "length": "7", - "line": "659", - "parentIndex": "1394", - "start": "23540" + "line": "674", + "parentIndex": "1464", + "start": "23837" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -25035,16 +25415,16 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1408", + "id": "1478", "implemented": true, "nodeType": "BLOCK", "src": { "column": "15", - "end": "23758", + "end": "24055", "length": "103", - "line": "665", - "parentIndex": "1398", - "start": "23656" + "line": "680", + "parentIndex": "1468", + "start": "23953" }, "statements": [ { @@ -25064,17 +25444,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1411", + "id": "1481", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1411", + "referencedDeclaration": "1481", "src": { "column": "28", - "end": "23690", + "end": "23987", "length": "5", - "line": "666", - "parentIndex": "1409", - "start": "23686" + "line": "681", + "parentIndex": "1479", + "start": "23983" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25109,17 +25489,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1417", + "id": "1487", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1417", + "referencedDeclaration": "1487", "src": { "column": "58", - "end": "23720", + "end": "24017", "length": "5", - "line": "666", - "parentIndex": "1416", - "start": "23716" + "line": "681", + "parentIndex": "1486", + "start": "24013" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25127,24 +25507,24 @@ } } }, - "id": "1416", + "id": "1486", "memberLocation": { "column": "64", - "end": "23729", + "end": "24026", "length": "8", - "line": "666", - "parentIndex": "1416", - "start": "23722" + "line": "681", + "parentIndex": "1486", + "start": "24019" }, "memberName": "transfer", "nodeType": "MEMBER_ACCESS", "src": { "column": "58", - "end": "23729", + "end": "24026", "length": "14", - "line": "666", - "parentIndex": "1415", - "start": "23716" + "line": "681", + "parentIndex": "1485", + "start": "24013" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25152,24 +25532,24 @@ } } }, - "id": "1415", + "id": "1485", "memberLocation": { "column": "73", - "end": "23738", + "end": "24035", "length": "8", - "line": "666", - "parentIndex": "1415", - "start": "23731" + "line": "681", + "parentIndex": "1485", + "start": "24028" }, "memberName": "selector", "nodeType": "MEMBER_ACCESS", "src": { "column": "58", - "end": "23738", + "end": "24035", "length": "23", - "line": "666", - "parentIndex": "1412", - "start": "23716" + "line": "681", + "parentIndex": "1482", + "start": "24013" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25186,17 +25566,17 @@ "typeString": "contract IERC20" } ], - "id": "1418", + "id": "1488", "name": "to", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1418", + "referencedDeclaration": "1488", "src": { "column": "83", - "end": "23742", + "end": "24039", "length": "2", - "line": "666", - "parentIndex": "1412", - "start": "23741" + "line": "681", + "parentIndex": "1482", + "start": "24038" }, "typeDescription": { "typeIdentifier": "t_address", @@ -25217,17 +25597,17 @@ "typeString": "address" } ], - "id": "1419", + "id": "1489", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1419", + "referencedDeclaration": "1489", "src": { "column": "87", - "end": "23749", + "end": "24046", "length": "5", - "line": "666", - "parentIndex": "1412", - "start": "23745" + "line": "681", + "parentIndex": "1482", + "start": "24042" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -25242,16 +25622,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1414", + "id": "1484", "name": "abi", "nodeType": "IDENTIFIER", "src": { "column": "35", - "end": "23695", + "end": "23992", "length": "3", - "line": "666", - "parentIndex": "1413", - "start": "23693" + "line": "681", + "parentIndex": "1483", + "start": "23990" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -25259,24 +25639,24 @@ } } }, - "id": "1413", + "id": "1483", "memberLocation": { "column": "39", - "end": "23714", + "end": "24011", "length": "18", - "line": "666", - "parentIndex": "1413", - "start": "23697" + "line": "681", + "parentIndex": "1483", + "start": "23994" }, "memberName": "encodeWithSelector", "nodeType": "MEMBER_ACCESS", "src": { "column": "35", - "end": "23714", + "end": "24011", "length": "22", - "line": "666", - "parentIndex": "1412", - "start": "23693" + "line": "681", + "parentIndex": "1482", + "start": "23990" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -25284,16 +25664,16 @@ } } }, - "id": "1412", + "id": "1482", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "35", - "end": "23750", + "end": "24047", "length": "58", - "line": "666", - "parentIndex": "1409", - "start": "23693" + "line": "681", + "parentIndex": "1479", + "start": "23990" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -25305,16 +25685,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1410", + "id": "1480", "name": "_callOptionalReturn", "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "23684", + "end": "23981", "length": "19", - "line": "666", - "parentIndex": "1409", - "start": "23666" + "line": "681", + "parentIndex": "1479", + "start": "23963" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -25322,16 +25702,16 @@ } } }, - "id": "1409", + "id": "1479", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "23751", + "end": "24048", "length": "86", - "line": "666", - "parentIndex": "1408", - "start": "23666" + "line": "681", + "parentIndex": "1478", + "start": "23963" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -25341,35 +25721,35 @@ } ] }, - "id": "1398", + "id": "1468", "implemented": true, "kind": "KIND_FUNCTION", "name": "safeTransfer", "nameLocation": { "column": "13", - "end": "23574", + "end": "23871", "length": "12", - "line": "661", - "parentIndex": "1398", - "start": "23563" + "line": "676", + "parentIndex": "1468", + "start": "23860" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1399", + "id": "1469", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1400", + "id": "1470", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1400", + "scope": "1470", "src": { "column": "8", - "end": "23596", + "end": "23893", "length": "12", - "line": "662", - "parentIndex": "1399", - "start": "23585" + "line": "677", + "parentIndex": "1469", + "start": "23882" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -25378,38 +25758,38 @@ "typeString": "contract IERC20" }, "typeName": { - "id": "1401", + "id": "1471", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1402", + "id": "1472", "name": "IERC20", "nameLocation": { "column": "8", - "end": "23590", + "end": "23887", "length": "6", - "line": "662", - "parentIndex": "1401", - "start": "23585" + "line": "677", + "parentIndex": "1471", + "start": "23882" }, "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1089", "src": { "column": "8", - "end": "23590", + "end": "23887", "length": "6", - "line": "662", - "parentIndex": "1401", - "start": "23585" + "line": "677", + "parentIndex": "1471", + "start": "23882" } }, "referencedDeclaration": "1089", "src": { "column": "8", - "end": "23590", + "end": "23887", "length": "6", - "line": "662", - "parentIndex": "1400", - "start": "23585" + "line": "677", + "parentIndex": "1470", + "start": "23882" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25419,17 +25799,17 @@ "visibility": "INTERNAL" }, { - "id": "1403", + "id": "1473", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "1403", + "scope": "1473", "src": { "column": "8", - "end": "23616", + "end": "23913", "length": "10", - "line": "663", - "parentIndex": "1399", - "start": "23607" + "line": "678", + "parentIndex": "1469", + "start": "23904" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -25438,16 +25818,16 @@ "typeString": "address" }, "typeName": { - "id": "1404", + "id": "1474", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "23613", + "end": "23910", "length": "7", - "line": "663", - "parentIndex": "1403", - "start": "23607" + "line": "678", + "parentIndex": "1473", + "start": "23904" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -25458,17 +25838,17 @@ "visibility": "INTERNAL" }, { - "id": "1405", + "id": "1475", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "1405", + "scope": "1475", "src": { "column": "8", - "end": "23639", + "end": "23936", "length": "13", - "line": "664", - "parentIndex": "1399", - "start": "23627" + "line": "679", + "parentIndex": "1469", + "start": "23924" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -25477,16 +25857,16 @@ "typeString": "uint256" }, "typeName": { - "id": "1406", + "id": "1476", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "23633", + "end": "23930", "length": "7", - "line": "664", - "parentIndex": "1405", - "start": "23627" + "line": "679", + "parentIndex": "1475", + "start": "23924" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -25498,34 +25878,34 @@ ], "src": { "column": "8", - "end": "23639", + "end": "23936", "length": "55", - "line": "662", - "parentIndex": "1398", - "start": "23585" + "line": "677", + "parentIndex": "1468", + "start": "23882" } }, "returnParameters": { - "id": "1407", + "id": "1477", "nodeType": "PARAMETER_LIST", "src": { "column": "4", - "end": "23758", + "end": "24055", "length": "205", - "line": "661", - "parentIndex": "1398", - "start": "23554" + "line": "676", + "parentIndex": "1468", + "start": "23851" } }, - "scope": "1392", - "signature": "8d2f8c29", + "scope": "1462", + "signature": "d6e935fe", "src": { "column": "4", - "end": "23758", + "end": "24055", "length": "205", - "line": "661", - "parentIndex": "1392", - "start": "23554" + "line": "676", + "parentIndex": "1462", + "start": "23851" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -25539,16 +25919,16 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1433", + "id": "1503", "implemented": true, "nodeType": "BLOCK", "src": { "column": "15", - "end": "24005", + "end": "24302", "length": "113", - "line": "674", - "parentIndex": "1421", - "start": "23893" + "line": "689", + "parentIndex": "1491", + "start": "24190" }, "statements": [ { @@ -25568,17 +25948,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1436", + "id": "1506", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1436", + "referencedDeclaration": "1506", "src": { "column": "28", - "end": "23927", + "end": "24224", "length": "5", - "line": "675", - "parentIndex": "1434", - "start": "23923" + "line": "690", + "parentIndex": "1504", + "start": "24220" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25617,17 +25997,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1442", + "id": "1512", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1442", + "referencedDeclaration": "1512", "src": { "column": "58", - "end": "23957", + "end": "24254", "length": "5", - "line": "675", - "parentIndex": "1441", - "start": "23953" + "line": "690", + "parentIndex": "1511", + "start": "24250" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25635,24 +26015,24 @@ } } }, - "id": "1441", + "id": "1511", "memberLocation": { "column": "64", - "end": "23970", + "end": "24267", "length": "12", - "line": "675", - "parentIndex": "1441", - "start": "23959" + "line": "690", + "parentIndex": "1511", + "start": "24256" }, "memberName": "transferFrom", "nodeType": "MEMBER_ACCESS", "src": { "column": "58", - "end": "23970", + "end": "24267", "length": "18", - "line": "675", - "parentIndex": "1440", - "start": "23953" + "line": "690", + "parentIndex": "1510", + "start": "24250" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25660,24 +26040,24 @@ } } }, - "id": "1440", + "id": "1510", "memberLocation": { "column": "77", - "end": "23979", + "end": "24276", "length": "8", - "line": "675", - "parentIndex": "1440", - "start": "23972" + "line": "690", + "parentIndex": "1510", + "start": "24269" }, "memberName": "selector", "nodeType": "MEMBER_ACCESS", "src": { "column": "58", - "end": "23979", + "end": "24276", "length": "27", - "line": "675", - "parentIndex": "1437", - "start": "23953" + "line": "690", + "parentIndex": "1507", + "start": "24250" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25694,17 +26074,17 @@ "typeString": "contract IERC20" } ], - "id": "1443", + "id": "1513", "name": "from", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1443", + "referencedDeclaration": "1513", "src": { "column": "87", - "end": "23985", + "end": "24282", "length": "4", - "line": "675", - "parentIndex": "1437", - "start": "23982" + "line": "690", + "parentIndex": "1507", + "start": "24279" }, "typeDescription": { "typeIdentifier": "t_address", @@ -25725,17 +26105,17 @@ "typeString": "address" } ], - "id": "1444", + "id": "1514", "name": "to", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1444", + "referencedDeclaration": "1514", "src": { "column": "93", - "end": "23989", + "end": "24286", "length": "2", - "line": "675", - "parentIndex": "1437", - "start": "23988" + "line": "690", + "parentIndex": "1507", + "start": "24285" }, "typeDescription": { "typeIdentifier": "t_address", @@ -25760,17 +26140,17 @@ "typeString": "address" } ], - "id": "1445", + "id": "1515", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1445", + "referencedDeclaration": "1515", "src": { "column": "97", - "end": "23996", + "end": "24293", "length": "5", - "line": "675", - "parentIndex": "1437", - "start": "23992" + "line": "690", + "parentIndex": "1507", + "start": "24289" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -25785,16 +26165,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1439", + "id": "1509", "name": "abi", "nodeType": "IDENTIFIER", "src": { "column": "35", - "end": "23932", + "end": "24229", "length": "3", - "line": "675", - "parentIndex": "1438", - "start": "23930" + "line": "690", + "parentIndex": "1508", + "start": "24227" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -25802,24 +26182,24 @@ } } }, - "id": "1438", + "id": "1508", "memberLocation": { "column": "39", - "end": "23951", + "end": "24248", "length": "18", - "line": "675", - "parentIndex": "1438", - "start": "23934" + "line": "690", + "parentIndex": "1508", + "start": "24231" }, "memberName": "encodeWithSelector", "nodeType": "MEMBER_ACCESS", "src": { "column": "35", - "end": "23951", + "end": "24248", "length": "22", - "line": "675", - "parentIndex": "1437", - "start": "23930" + "line": "690", + "parentIndex": "1507", + "start": "24227" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -25827,16 +26207,16 @@ } } }, - "id": "1437", + "id": "1507", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "35", - "end": "23997", + "end": "24294", "length": "68", - "line": "675", - "parentIndex": "1434", - "start": "23930" + "line": "690", + "parentIndex": "1504", + "start": "24227" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -25848,16 +26228,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1435", + "id": "1505", "name": "_callOptionalReturn", "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "23921", + "end": "24218", "length": "19", - "line": "675", - "parentIndex": "1434", - "start": "23903" + "line": "690", + "parentIndex": "1504", + "start": "24200" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -25865,16 +26245,16 @@ } } }, - "id": "1434", + "id": "1504", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "23998", + "end": "24295", "length": "96", - "line": "675", - "parentIndex": "1433", - "start": "23903" + "line": "690", + "parentIndex": "1503", + "start": "24200" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_address$_t_uint256$", @@ -25884,35 +26264,35 @@ } ] }, - "id": "1421", + "id": "1491", "implemented": true, "kind": "KIND_FUNCTION", "name": "safeTransferFrom", "nameLocation": { "column": "13", - "end": "23789", + "end": "24086", "length": "16", - "line": "669", - "parentIndex": "1421", - "start": "23774" + "line": "684", + "parentIndex": "1491", + "start": "24071" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1422", + "id": "1492", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1423", + "id": "1493", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1423", + "scope": "1493", "src": { "column": "8", - "end": "23811", + "end": "24108", "length": "12", - "line": "670", - "parentIndex": "1422", - "start": "23800" + "line": "685", + "parentIndex": "1492", + "start": "24097" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -25921,38 +26301,38 @@ "typeString": "contract IERC20" }, "typeName": { - "id": "1424", + "id": "1494", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1425", + "id": "1495", "name": "IERC20", "nameLocation": { "column": "8", - "end": "23805", + "end": "24102", "length": "6", - "line": "670", - "parentIndex": "1424", - "start": "23800" + "line": "685", + "parentIndex": "1494", + "start": "24097" }, "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1089", "src": { "column": "8", - "end": "23805", + "end": "24102", "length": "6", - "line": "670", - "parentIndex": "1424", - "start": "23800" + "line": "685", + "parentIndex": "1494", + "start": "24097" } }, "referencedDeclaration": "1089", "src": { "column": "8", - "end": "23805", + "end": "24102", "length": "6", - "line": "670", - "parentIndex": "1423", - "start": "23800" + "line": "685", + "parentIndex": "1493", + "start": "24097" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -25962,17 +26342,17 @@ "visibility": "INTERNAL" }, { - "id": "1426", + "id": "1496", "name": "from", "nodeType": "VARIABLE_DECLARATION", - "scope": "1426", + "scope": "1496", "src": { "column": "8", - "end": "23833", + "end": "24130", "length": "12", - "line": "671", - "parentIndex": "1422", - "start": "23822" + "line": "686", + "parentIndex": "1492", + "start": "24119" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -25981,16 +26361,16 @@ "typeString": "address" }, "typeName": { - "id": "1427", + "id": "1497", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "23828", + "end": "24125", "length": "7", - "line": "671", - "parentIndex": "1426", - "start": "23822" + "line": "686", + "parentIndex": "1496", + "start": "24119" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -26001,17 +26381,17 @@ "visibility": "INTERNAL" }, { - "id": "1428", + "id": "1498", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "1428", + "scope": "1498", "src": { "column": "8", - "end": "23853", + "end": "24150", "length": "10", - "line": "672", - "parentIndex": "1422", - "start": "23844" + "line": "687", + "parentIndex": "1492", + "start": "24141" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -26020,16 +26400,16 @@ "typeString": "address" }, "typeName": { - "id": "1429", + "id": "1499", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "23850", + "end": "24147", "length": "7", - "line": "672", - "parentIndex": "1428", - "start": "23844" + "line": "687", + "parentIndex": "1498", + "start": "24141" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -26040,17 +26420,17 @@ "visibility": "INTERNAL" }, { - "id": "1430", + "id": "1500", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "1430", + "scope": "1500", "src": { "column": "8", - "end": "23876", + "end": "24173", "length": "13", - "line": "673", - "parentIndex": "1422", - "start": "23864" + "line": "688", + "parentIndex": "1492", + "start": "24161" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -26059,16 +26439,16 @@ "typeString": "uint256" }, "typeName": { - "id": "1431", + "id": "1501", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "23870", + "end": "24167", "length": "7", - "line": "673", - "parentIndex": "1430", - "start": "23864" + "line": "688", + "parentIndex": "1500", + "start": "24161" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -26080,34 +26460,34 @@ ], "src": { "column": "8", - "end": "23876", + "end": "24173", "length": "77", - "line": "670", - "parentIndex": "1421", - "start": "23800" + "line": "685", + "parentIndex": "1491", + "start": "24097" } }, "returnParameters": { - "id": "1432", + "id": "1502", "nodeType": "PARAMETER_LIST", "src": { "column": "4", - "end": "24005", + "end": "24302", "length": "241", - "line": "669", - "parentIndex": "1421", - "start": "23765" + "line": "684", + "parentIndex": "1491", + "start": "24062" } }, - "scope": "1392", - "signature": "d9098537", + "scope": "1462", + "signature": "d0e2343c", "src": { "column": "4", - "end": "24005", + "end": "24302", "length": "241", - "line": "669", - "parentIndex": "1392", - "start": "23765" + "line": "684", + "parentIndex": "1462", + "start": "24062" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -26121,16 +26501,16 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1457", + "id": "1527", "implemented": true, "nodeType": "BLOCK", "src": { "column": "15", - "end": "24868", + "end": "25165", "length": "497", - "line": "689", - "parentIndex": "1447", - "start": "24372" + "line": "704", + "parentIndex": "1517", + "start": "24669" }, "statements": [ { @@ -26150,7 +26530,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1460", + "id": "1530", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { @@ -26158,21 +26538,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1462", + "id": "1532", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1463", + "id": "1533", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1463", + "referencedDeclaration": "1533", "src": { "column": "13", - "end": "24625", + "end": "24922", "length": "5", - "line": "694", - "parentIndex": "1462", - "start": "24621" + "line": "709", + "parentIndex": "1532", + "start": "24918" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -26186,17 +26566,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "1464", + "id": "1534", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", "src": { "column": "22", - "end": "24630", + "end": "24927", "length": "1", - "line": "694", - "parentIndex": "1462", - "start": "24630" + "line": "709", + "parentIndex": "1532", + "start": "24927" }, "typeDescription": { "typeIdentifier": "t_rational_0_by_1", @@ -26207,11 +26587,11 @@ }, "src": { "column": "13", - "end": "24630", + "end": "24927", "length": "10", - "line": "694", - "parentIndex": "1461", - "start": "24621" + "line": "709", + "parentIndex": "1531", + "start": "24918" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -26220,15 +26600,15 @@ } } ], - "id": "1461", + "id": "1531", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "12", - "end": "24631", + "end": "24928", "length": "12", - "line": "694", - "parentIndex": "1460", - "start": "24620" + "line": "709", + "parentIndex": "1530", + "start": "24917" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool$", @@ -26245,7 +26625,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1466", + "id": "1536", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -26265,7 +26645,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1373", + "typeIdentifier": "t_contract$_SafeERC20_$1442", "typeString": "contract SafeERC20" } ], @@ -26273,19 +26653,19 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1473", + "id": "1543", "name": "this", "nodeType": "IDENTIFIER", "src": { "column": "53", - "end": "24664", + "end": "24961", "length": "4", - "line": "694", - "parentIndex": "1470", - "start": "24661" + "line": "709", + "parentIndex": "1540", + "start": "24958" }, "typeDescription": { - "typeIdentifier": "t_contract$_SafeERC20_$1373", + "typeIdentifier": "t_contract$_SafeERC20_$1442", "typeString": "contract SafeERC20" } } @@ -26300,32 +26680,32 @@ "typeString": "address" } ], - "id": "1471", + "id": "1541", "name": "address", "nodeType": "IDENTIFIER", "src": { "column": "45", - "end": "24659", + "end": "24956", "length": "7", - "line": "694", - "parentIndex": "1470", - "start": "24653" + "line": "709", + "parentIndex": "1540", + "start": "24950" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", "typeString": "function(address)" }, "typeName": { - "id": "1472", + "id": "1542", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "45", - "end": "24659", + "end": "24956", "length": "7", - "line": "694", - "parentIndex": "1471", - "start": "24653" + "line": "709", + "parentIndex": "1541", + "start": "24950" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -26335,16 +26715,16 @@ } } }, - "id": "1470", + "id": "1540", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "45", - "end": "24665", + "end": "24962", "length": "13", - "line": "694", - "parentIndex": "1467", - "start": "24653" + "line": "709", + "parentIndex": "1537", + "start": "24950" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", @@ -26361,17 +26741,17 @@ "typeString": "function(address)" } ], - "id": "1474", + "id": "1544", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1474", + "referencedDeclaration": "1544", "src": { "column": "60", - "end": "24674", + "end": "24971", "length": "7", - "line": "694", - "parentIndex": "1467", - "start": "24668" + "line": "709", + "parentIndex": "1537", + "start": "24965" }, "typeDescription": { "typeIdentifier": "t_address", @@ -26386,17 +26766,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1469", + "id": "1539", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1469", + "referencedDeclaration": "1539", "src": { "column": "29", - "end": "24641", + "end": "24938", "length": "5", - "line": "694", - "parentIndex": "1468", - "start": "24637" + "line": "709", + "parentIndex": "1538", + "start": "24934" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -26404,24 +26784,24 @@ } } }, - "id": "1468", + "id": "1538", "memberLocation": { "column": "35", - "end": "24651", + "end": "24948", "length": "9", - "line": "694", - "parentIndex": "1468", - "start": "24643" + "line": "709", + "parentIndex": "1538", + "start": "24940" }, "memberName": "allowance", "nodeType": "MEMBER_ACCESS", "src": { "column": "29", - "end": "24651", + "end": "24948", "length": "15", - "line": "694", - "parentIndex": "1467", - "start": "24637" + "line": "709", + "parentIndex": "1537", + "start": "24934" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -26429,16 +26809,16 @@ } } }, - "id": "1467", + "id": "1537", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "29", - "end": "24675", + "end": "24972", "length": "39", - "line": "694", - "parentIndex": "1466", - "start": "24637" + "line": "709", + "parentIndex": "1536", + "start": "24934" }, "typeDescription": { "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -26452,17 +26832,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "1475", + "id": "1545", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", "src": { "column": "72", - "end": "24680", + "end": "24977", "length": "1", - "line": "694", - "parentIndex": "1466", - "start": "24680" + "line": "709", + "parentIndex": "1536", + "start": "24977" }, "typeDescription": { "typeIdentifier": "t_rational_0_by_1", @@ -26473,11 +26853,11 @@ }, "src": { "column": "29", - "end": "24680", + "end": "24977", "length": "44", - "line": "694", - "parentIndex": "1465", - "start": "24637" + "line": "709", + "parentIndex": "1535", + "start": "24934" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -26486,15 +26866,15 @@ } } ], - "id": "1465", + "id": "1535", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "28", - "end": "24681", + "end": "24978", "length": "46", - "line": "694", - "parentIndex": "1460", - "start": "24636" + "line": "709", + "parentIndex": "1530", + "start": "24933" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool$", @@ -26504,11 +26884,11 @@ }, "src": { "column": "12", - "end": "24681", + "end": "24978", "length": "62", - "line": "694", - "parentIndex": "1458", - "start": "24620" + "line": "709", + "parentIndex": "1528", + "start": "24917" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool$", @@ -26526,17 +26906,17 @@ } ], "hexValue": "5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365", - "id": "1476", + "id": "1546", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", "src": { "column": "12", - "end": "24751", + "end": "25048", "length": "56", - "line": "695", - "parentIndex": "1458", - "start": "24696" + "line": "710", + "parentIndex": "1528", + "start": "24993" }, "typeDescription": { "typeIdentifier": "t_string_literal", @@ -26549,17 +26929,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1459", + "id": "1529", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "24605", + "end": "24902", "length": "7", - "line": "693", - "parentIndex": "1458", - "start": "24599" + "line": "708", + "parentIndex": "1528", + "start": "24896" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -26567,16 +26947,16 @@ } } }, - "id": "1458", + "id": "1528", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "24761", + "end": "25058", "length": "163", - "line": "693", - "parentIndex": "1457", - "start": "24599" + "line": "708", + "parentIndex": "1527", + "start": "24896" }, "typeDescription": { "typeIdentifier": "t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -26601,17 +26981,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1479", + "id": "1549", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1479", + "referencedDeclaration": "1549", "src": { "column": "28", - "end": "24796", + "end": "25093", "length": "5", - "line": "697", - "parentIndex": "1477", - "start": "24792" + "line": "712", + "parentIndex": "1547", + "start": "25089" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -26646,17 +27026,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1485", + "id": "1555", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1485", + "referencedDeclaration": "1555", "src": { "column": "58", - "end": "24826", + "end": "25123", "length": "5", - "line": "697", - "parentIndex": "1484", - "start": "24822" + "line": "712", + "parentIndex": "1554", + "start": "25119" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -26664,24 +27044,24 @@ } } }, - "id": "1484", + "id": "1554", "memberLocation": { "column": "64", - "end": "24834", + "end": "25131", "length": "7", - "line": "697", - "parentIndex": "1484", - "start": "24828" + "line": "712", + "parentIndex": "1554", + "start": "25125" }, "memberName": "approve", "nodeType": "MEMBER_ACCESS", "src": { "column": "58", - "end": "24834", + "end": "25131", "length": "13", - "line": "697", - "parentIndex": "1483", - "start": "24822" + "line": "712", + "parentIndex": "1553", + "start": "25119" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -26689,24 +27069,24 @@ } } }, - "id": "1483", + "id": "1553", "memberLocation": { "column": "72", - "end": "24843", + "end": "25140", "length": "8", - "line": "697", - "parentIndex": "1483", - "start": "24836" + "line": "712", + "parentIndex": "1553", + "start": "25133" }, "memberName": "selector", "nodeType": "MEMBER_ACCESS", "src": { "column": "58", - "end": "24843", + "end": "25140", "length": "22", - "line": "697", - "parentIndex": "1480", - "start": "24822" + "line": "712", + "parentIndex": "1550", + "start": "25119" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -26723,17 +27103,17 @@ "typeString": "contract IERC20" } ], - "id": "1486", + "id": "1556", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1486", + "referencedDeclaration": "1556", "src": { "column": "82", - "end": "24852", + "end": "25149", "length": "7", - "line": "697", - "parentIndex": "1480", - "start": "24846" + "line": "712", + "parentIndex": "1550", + "start": "25143" }, "typeDescription": { "typeIdentifier": "t_address", @@ -26754,17 +27134,17 @@ "typeString": "address" } ], - "id": "1487", + "id": "1557", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1487", + "referencedDeclaration": "1557", "src": { "column": "91", - "end": "24859", + "end": "25156", "length": "5", - "line": "697", - "parentIndex": "1480", - "start": "24855" + "line": "712", + "parentIndex": "1550", + "start": "25152" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -26779,16 +27159,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1482", + "id": "1552", "name": "abi", "nodeType": "IDENTIFIER", "src": { "column": "35", - "end": "24801", + "end": "25098", "length": "3", - "line": "697", - "parentIndex": "1481", - "start": "24799" + "line": "712", + "parentIndex": "1551", + "start": "25096" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -26796,24 +27176,24 @@ } } }, - "id": "1481", + "id": "1551", "memberLocation": { "column": "39", - "end": "24820", + "end": "25117", "length": "18", - "line": "697", - "parentIndex": "1481", - "start": "24803" + "line": "712", + "parentIndex": "1551", + "start": "25100" }, "memberName": "encodeWithSelector", "nodeType": "MEMBER_ACCESS", "src": { "column": "35", - "end": "24820", + "end": "25117", "length": "22", - "line": "697", - "parentIndex": "1480", - "start": "24799" + "line": "712", + "parentIndex": "1550", + "start": "25096" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -26821,16 +27201,16 @@ } } }, - "id": "1480", + "id": "1550", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "35", - "end": "24860", + "end": "25157", "length": "62", - "line": "697", - "parentIndex": "1477", - "start": "24799" + "line": "712", + "parentIndex": "1547", + "start": "25096" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -26842,16 +27222,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1478", + "id": "1548", "name": "_callOptionalReturn", "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "24790", + "end": "25087", "length": "19", - "line": "697", - "parentIndex": "1477", - "start": "24772" + "line": "712", + "parentIndex": "1547", + "start": "25069" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -26859,16 +27239,16 @@ } } }, - "id": "1477", + "id": "1547", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "24861", + "end": "25158", "length": "90", - "line": "697", - "parentIndex": "1457", - "start": "24772" + "line": "712", + "parentIndex": "1527", + "start": "25069" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -26878,35 +27258,35 @@ } ] }, - "id": "1447", + "id": "1517", "implemented": true, "kind": "KIND_FUNCTION", "name": "safeApprove", "nameLocation": { "column": "13", - "end": "24285", + "end": "24582", "length": "11", - "line": "685", - "parentIndex": "1447", - "start": "24275" + "line": "700", + "parentIndex": "1517", + "start": "24572" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1448", + "id": "1518", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1449", + "id": "1519", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1449", + "scope": "1519", "src": { "column": "8", - "end": "24307", + "end": "24604", "length": "12", - "line": "686", - "parentIndex": "1448", - "start": "24296" + "line": "701", + "parentIndex": "1518", + "start": "24593" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -26915,38 +27295,38 @@ "typeString": "contract IERC20" }, "typeName": { - "id": "1450", + "id": "1520", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1451", + "id": "1521", "name": "IERC20", "nameLocation": { "column": "8", - "end": "24301", + "end": "24598", "length": "6", - "line": "686", - "parentIndex": "1450", - "start": "24296" + "line": "701", + "parentIndex": "1520", + "start": "24593" }, "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1089", "src": { "column": "8", - "end": "24301", + "end": "24598", "length": "6", - "line": "686", - "parentIndex": "1450", - "start": "24296" + "line": "701", + "parentIndex": "1520", + "start": "24593" } }, "referencedDeclaration": "1089", "src": { "column": "8", - "end": "24301", + "end": "24598", "length": "6", - "line": "686", - "parentIndex": "1449", - "start": "24296" + "line": "701", + "parentIndex": "1519", + "start": "24593" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -26956,17 +27336,17 @@ "visibility": "INTERNAL" }, { - "id": "1452", + "id": "1522", "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "1452", + "scope": "1522", "src": { "column": "8", - "end": "24332", + "end": "24629", "length": "15", - "line": "687", - "parentIndex": "1448", - "start": "24318" + "line": "702", + "parentIndex": "1518", + "start": "24615" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -26975,16 +27355,16 @@ "typeString": "address" }, "typeName": { - "id": "1453", + "id": "1523", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "24324", + "end": "24621", "length": "7", - "line": "687", - "parentIndex": "1452", - "start": "24318" + "line": "702", + "parentIndex": "1522", + "start": "24615" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -26995,17 +27375,17 @@ "visibility": "INTERNAL" }, { - "id": "1454", + "id": "1524", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "1454", + "scope": "1524", "src": { "column": "8", - "end": "24355", + "end": "24652", "length": "13", - "line": "688", - "parentIndex": "1448", - "start": "24343" + "line": "703", + "parentIndex": "1518", + "start": "24640" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -27014,16 +27394,16 @@ "typeString": "uint256" }, "typeName": { - "id": "1455", + "id": "1525", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "24349", + "end": "24646", "length": "7", - "line": "688", - "parentIndex": "1454", - "start": "24343" + "line": "703", + "parentIndex": "1524", + "start": "24640" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -27035,34 +27415,34 @@ ], "src": { "column": "8", - "end": "24355", + "end": "24652", "length": "60", - "line": "686", - "parentIndex": "1447", - "start": "24296" + "line": "701", + "parentIndex": "1517", + "start": "24593" } }, "returnParameters": { - "id": "1456", + "id": "1526", "nodeType": "PARAMETER_LIST", "src": { "column": "4", - "end": "24868", + "end": "25165", "length": "603", - "line": "685", - "parentIndex": "1447", - "start": "24266" + "line": "700", + "parentIndex": "1517", + "start": "24563" } }, - "scope": "1392", - "signature": "11e8fd6d", + "scope": "1462", + "signature": "75a98b8a", "src": { "column": "4", - "end": "24868", + "end": "25165", "length": "603", - "line": "685", - "parentIndex": "1392", - "start": "24266" + "line": "700", + "parentIndex": "1462", + "start": "24563" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -27076,46 +27456,46 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1499", + "id": "1569", "implemented": true, "nodeType": "BLOCK", "src": { "column": "15", - "end": "25184", + "end": "25481", "length": "194", - "line": "704", - "parentIndex": "1489", - "start": "24991" + "line": "719", + "parentIndex": "1559", + "start": "25288" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1501" + "1571" ], "declarations": [ { - "id": "1501", + "id": "1571", "mutability": "MUTABLE", "name": "newAllowance", "nameLocation": { "column": "16", - "end": "25020", + "end": "25317", "length": "12", - "line": "705", - "parentIndex": "1501", - "start": "25009" + "line": "720", + "parentIndex": "1571", + "start": "25306" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1499", + "scope": "1569", "src": { "column": "8", - "end": "25020", + "end": "25317", "length": "20", - "line": "705", - "parentIndex": "1500", - "start": "25001" + "line": "720", + "parentIndex": "1570", + "start": "25298" }, "storageLocation": "DEFAULT", "typeDescription": { @@ -27123,16 +27503,16 @@ "typeString": "uint256" }, "typeName": { - "id": "1502", + "id": "1572", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "25007", + "end": "25304", "length": "7", - "line": "705", - "parentIndex": "1501", - "start": "25001" + "line": "720", + "parentIndex": "1571", + "start": "25298" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -27142,11 +27522,11 @@ "visibility": "INTERNAL" } ], - "id": "1500", + "id": "1570", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1503", + "id": "1573", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -27166,7 +27546,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1373", + "typeIdentifier": "t_contract$_SafeERC20_$1442", "typeString": "contract SafeERC20" } ], @@ -27174,19 +27554,19 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1510", + "id": "1580", "name": "this", "nodeType": "IDENTIFIER", "src": { "column": "55", - "end": "25051", + "end": "25348", "length": "4", - "line": "705", - "parentIndex": "1507", - "start": "25048" + "line": "720", + "parentIndex": "1577", + "start": "25345" }, "typeDescription": { - "typeIdentifier": "t_contract$_SafeERC20_$1373", + "typeIdentifier": "t_contract$_SafeERC20_$1442", "typeString": "contract SafeERC20" } } @@ -27201,32 +27581,32 @@ "typeString": "address" } ], - "id": "1508", + "id": "1578", "name": "address", "nodeType": "IDENTIFIER", "src": { "column": "47", - "end": "25046", + "end": "25343", "length": "7", - "line": "705", - "parentIndex": "1507", - "start": "25040" + "line": "720", + "parentIndex": "1577", + "start": "25337" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", "typeString": "function(address)" }, "typeName": { - "id": "1509", + "id": "1579", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "47", - "end": "25046", + "end": "25343", "length": "7", - "line": "705", - "parentIndex": "1508", - "start": "25040" + "line": "720", + "parentIndex": "1578", + "start": "25337" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -27236,16 +27616,16 @@ } } }, - "id": "1507", + "id": "1577", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "47", - "end": "25052", + "end": "25349", "length": "13", - "line": "705", - "parentIndex": "1504", - "start": "25040" + "line": "720", + "parentIndex": "1574", + "start": "25337" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", @@ -27262,17 +27642,17 @@ "typeString": "function(address)" } ], - "id": "1511", + "id": "1581", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1511", + "referencedDeclaration": "1581", "src": { "column": "62", - "end": "25061", + "end": "25358", "length": "7", - "line": "705", - "parentIndex": "1504", - "start": "25055" + "line": "720", + "parentIndex": "1574", + "start": "25352" }, "typeDescription": { "typeIdentifier": "t_address", @@ -27287,17 +27667,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1506", + "id": "1576", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1506", + "referencedDeclaration": "1576", "src": { "column": "31", - "end": "25028", + "end": "25325", "length": "5", - "line": "705", - "parentIndex": "1505", - "start": "25024" + "line": "720", + "parentIndex": "1575", + "start": "25321" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -27305,24 +27685,24 @@ } } }, - "id": "1505", + "id": "1575", "memberLocation": { "column": "37", - "end": "25038", + "end": "25335", "length": "9", - "line": "705", - "parentIndex": "1505", - "start": "25030" + "line": "720", + "parentIndex": "1575", + "start": "25327" }, "memberName": "allowance", "nodeType": "MEMBER_ACCESS", "src": { "column": "31", - "end": "25038", + "end": "25335", "length": "15", - "line": "705", - "parentIndex": "1504", - "start": "25024" + "line": "720", + "parentIndex": "1574", + "start": "25321" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -27330,16 +27710,16 @@ } } }, - "id": "1504", + "id": "1574", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "31", - "end": "25062", + "end": "25359", "length": "39", - "line": "705", - "parentIndex": "1500", - "start": "25024" + "line": "720", + "parentIndex": "1570", + "start": "25321" }, "typeDescription": { "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -27352,17 +27732,17 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1512", + "id": "1582", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1512", + "referencedDeclaration": "1582", "src": { "column": "73", - "end": "25070", + "end": "25367", "length": "5", - "line": "705", - "parentIndex": "1503", - "start": "25066" + "line": "720", + "parentIndex": "1573", + "start": "25363" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -27372,11 +27752,11 @@ }, "src": { "column": "31", - "end": "25070", + "end": "25367", "length": "47", - "line": "705", - "parentIndex": "1500", - "start": "25024" + "line": "720", + "parentIndex": "1570", + "start": "25321" }, "typeDescription": { "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -27387,11 +27767,11 @@ "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "25071", + "end": "25368", "length": "71", - "line": "705", - "parentIndex": "1499", - "start": "25001" + "line": "720", + "parentIndex": "1569", + "start": "25298" } } }, @@ -27412,17 +27792,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1515", + "id": "1585", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1515", + "referencedDeclaration": "1585", "src": { "column": "28", - "end": "25105", + "end": "25402", "length": "5", - "line": "706", - "parentIndex": "1513", - "start": "25101" + "line": "721", + "parentIndex": "1583", + "start": "25398" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -27457,17 +27837,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1521", + "id": "1591", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1521", + "referencedDeclaration": "1591", "src": { "column": "58", - "end": "25135", + "end": "25432", "length": "5", - "line": "706", - "parentIndex": "1520", - "start": "25131" + "line": "721", + "parentIndex": "1590", + "start": "25428" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -27475,24 +27855,24 @@ } } }, - "id": "1520", + "id": "1590", "memberLocation": { "column": "64", - "end": "25143", + "end": "25440", "length": "7", - "line": "706", - "parentIndex": "1520", - "start": "25137" + "line": "721", + "parentIndex": "1590", + "start": "25434" }, "memberName": "approve", "nodeType": "MEMBER_ACCESS", "src": { "column": "58", - "end": "25143", + "end": "25440", "length": "13", - "line": "706", - "parentIndex": "1519", - "start": "25131" + "line": "721", + "parentIndex": "1589", + "start": "25428" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -27500,24 +27880,24 @@ } } }, - "id": "1519", + "id": "1589", "memberLocation": { "column": "72", - "end": "25152", + "end": "25449", "length": "8", - "line": "706", - "parentIndex": "1519", - "start": "25145" + "line": "721", + "parentIndex": "1589", + "start": "25442" }, "memberName": "selector", "nodeType": "MEMBER_ACCESS", "src": { "column": "58", - "end": "25152", + "end": "25449", "length": "22", - "line": "706", - "parentIndex": "1516", - "start": "25131" + "line": "721", + "parentIndex": "1586", + "start": "25428" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -27534,17 +27914,17 @@ "typeString": "contract IERC20" } ], - "id": "1522", + "id": "1592", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1522", + "referencedDeclaration": "1592", "src": { "column": "82", - "end": "25161", + "end": "25458", "length": "7", - "line": "706", - "parentIndex": "1516", - "start": "25155" + "line": "721", + "parentIndex": "1586", + "start": "25452" }, "typeDescription": { "typeIdentifier": "t_address", @@ -27565,17 +27945,17 @@ "typeString": "address" } ], - "id": "1523", + "id": "1593", "name": "newAllowance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1500", + "referencedDeclaration": "1570", "src": { "column": "91", - "end": "25175", + "end": "25472", "length": "12", - "line": "706", - "parentIndex": "1516", - "start": "25164" + "line": "721", + "parentIndex": "1586", + "start": "25461" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -27590,16 +27970,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1518", + "id": "1588", "name": "abi", "nodeType": "IDENTIFIER", "src": { "column": "35", - "end": "25110", + "end": "25407", "length": "3", - "line": "706", - "parentIndex": "1517", - "start": "25108" + "line": "721", + "parentIndex": "1587", + "start": "25405" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -27607,24 +27987,24 @@ } } }, - "id": "1517", + "id": "1587", "memberLocation": { "column": "39", - "end": "25129", + "end": "25426", "length": "18", - "line": "706", - "parentIndex": "1517", - "start": "25112" + "line": "721", + "parentIndex": "1587", + "start": "25409" }, "memberName": "encodeWithSelector", "nodeType": "MEMBER_ACCESS", "src": { "column": "35", - "end": "25129", + "end": "25426", "length": "22", - "line": "706", - "parentIndex": "1516", - "start": "25108" + "line": "721", + "parentIndex": "1586", + "start": "25405" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -27632,16 +28012,16 @@ } } }, - "id": "1516", + "id": "1586", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "35", - "end": "25176", + "end": "25473", "length": "69", - "line": "706", - "parentIndex": "1513", - "start": "25108" + "line": "721", + "parentIndex": "1583", + "start": "25405" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -27653,16 +28033,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1514", + "id": "1584", "name": "_callOptionalReturn", "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "25099", + "end": "25396", "length": "19", - "line": "706", - "parentIndex": "1513", - "start": "25081" + "line": "721", + "parentIndex": "1583", + "start": "25378" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -27670,16 +28050,16 @@ } } }, - "id": "1513", + "id": "1583", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "25177", + "end": "25474", "length": "97", - "line": "706", - "parentIndex": "1499", - "start": "25081" + "line": "721", + "parentIndex": "1569", + "start": "25378" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -27689,35 +28069,35 @@ } ] }, - "id": "1489", + "id": "1559", "implemented": true, "kind": "KIND_FUNCTION", "name": "safeIncreaseAllowance", "nameLocation": { "column": "13", - "end": "24904", + "end": "25201", "length": "21", - "line": "700", - "parentIndex": "1489", - "start": "24884" + "line": "715", + "parentIndex": "1559", + "start": "25181" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1490", + "id": "1560", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1491", + "id": "1561", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1491", + "scope": "1561", "src": { "column": "8", - "end": "24926", + "end": "25223", "length": "12", - "line": "701", - "parentIndex": "1490", - "start": "24915" + "line": "716", + "parentIndex": "1560", + "start": "25212" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -27726,38 +28106,38 @@ "typeString": "contract IERC20" }, "typeName": { - "id": "1492", + "id": "1562", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1493", + "id": "1563", "name": "IERC20", "nameLocation": { "column": "8", - "end": "24920", + "end": "25217", "length": "6", - "line": "701", - "parentIndex": "1492", - "start": "24915" + "line": "716", + "parentIndex": "1562", + "start": "25212" }, "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1089", "src": { "column": "8", - "end": "24920", + "end": "25217", "length": "6", - "line": "701", - "parentIndex": "1492", - "start": "24915" + "line": "716", + "parentIndex": "1562", + "start": "25212" } }, "referencedDeclaration": "1089", "src": { "column": "8", - "end": "24920", + "end": "25217", "length": "6", - "line": "701", - "parentIndex": "1491", - "start": "24915" + "line": "716", + "parentIndex": "1561", + "start": "25212" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -27767,17 +28147,17 @@ "visibility": "INTERNAL" }, { - "id": "1494", + "id": "1564", "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "1494", + "scope": "1564", "src": { "column": "8", - "end": "24951", + "end": "25248", "length": "15", - "line": "702", - "parentIndex": "1490", - "start": "24937" + "line": "717", + "parentIndex": "1560", + "start": "25234" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -27786,16 +28166,16 @@ "typeString": "address" }, "typeName": { - "id": "1495", + "id": "1565", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "24943", + "end": "25240", "length": "7", - "line": "702", - "parentIndex": "1494", - "start": "24937" + "line": "717", + "parentIndex": "1564", + "start": "25234" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -27806,17 +28186,17 @@ "visibility": "INTERNAL" }, { - "id": "1496", + "id": "1566", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "1496", + "scope": "1566", "src": { "column": "8", - "end": "24974", + "end": "25271", "length": "13", - "line": "703", - "parentIndex": "1490", - "start": "24962" + "line": "718", + "parentIndex": "1560", + "start": "25259" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -27825,16 +28205,16 @@ "typeString": "uint256" }, "typeName": { - "id": "1497", + "id": "1567", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "24968", + "end": "25265", "length": "7", - "line": "703", - "parentIndex": "1496", - "start": "24962" + "line": "718", + "parentIndex": "1566", + "start": "25259" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -27846,34 +28226,34 @@ ], "src": { "column": "8", - "end": "24974", + "end": "25271", "length": "60", - "line": "701", - "parentIndex": "1489", - "start": "24915" + "line": "716", + "parentIndex": "1559", + "start": "25212" } }, "returnParameters": { - "id": "1498", + "id": "1568", "nodeType": "PARAMETER_LIST", "src": { "column": "4", - "end": "25184", + "end": "25481", "length": "310", - "line": "700", - "parentIndex": "1489", - "start": "24875" + "line": "715", + "parentIndex": "1559", + "start": "25172" } }, - "scope": "1392", - "signature": "d5ee8724", + "scope": "1462", + "signature": "8d3df938", "src": { "column": "4", - "end": "25184", + "end": "25481", "length": "310", - "line": "700", - "parentIndex": "1392", - "start": "24875" + "line": "715", + "parentIndex": "1462", + "start": "25172" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -27887,60 +28267,60 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1535", + "id": "1605", "implemented": true, "nodeType": "BLOCK", "src": { "column": "15", - "end": "25676", + "end": "25973", "length": "370", - "line": "713", - "parentIndex": "1525", - "start": "25307" + "line": "728", + "parentIndex": "1595", + "start": "25604" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", "value": { - "id": "1536", + "id": "1606", "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", - "end": "25670", + "end": "25967", "length": "354", - "line": "714", - "parentIndex": "1392", - "start": "25317" + "line": "729", + "parentIndex": "1462", + "start": "25614" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1538" + "1608" ], "declarations": [ { - "id": "1538", + "id": "1608", "mutability": "MUTABLE", "name": "oldAllowance", "nameLocation": { "column": "20", - "end": "25360", + "end": "25657", "length": "12", - "line": "715", - "parentIndex": "1538", - "start": "25349" + "line": "730", + "parentIndex": "1608", + "start": "25646" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1536", + "scope": "1606", "src": { "column": "12", - "end": "25360", + "end": "25657", "length": "20", - "line": "715", - "parentIndex": "1537", - "start": "25341" + "line": "730", + "parentIndex": "1607", + "start": "25638" }, "storageLocation": "DEFAULT", "typeDescription": { @@ -27948,16 +28328,16 @@ "typeString": "uint256" }, "typeName": { - "id": "1539", + "id": "1609", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "12", - "end": "25347", + "end": "25644", "length": "7", - "line": "715", - "parentIndex": "1538", - "start": "25341" + "line": "730", + "parentIndex": "1608", + "start": "25638" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -27967,7 +28347,7 @@ "visibility": "INTERNAL" } ], - "id": "1537", + "id": "1607", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -27987,7 +28367,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1373", + "typeIdentifier": "t_contract$_SafeERC20_$1442", "typeString": "contract SafeERC20" } ], @@ -27995,19 +28375,19 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1546", + "id": "1616", "name": "this", "nodeType": "IDENTIFIER", "src": { "column": "59", - "end": "25391", + "end": "25688", "length": "4", - "line": "715", - "parentIndex": "1543", - "start": "25388" + "line": "730", + "parentIndex": "1613", + "start": "25685" }, "typeDescription": { - "typeIdentifier": "t_contract$_SafeERC20_$1373", + "typeIdentifier": "t_contract$_SafeERC20_$1442", "typeString": "contract SafeERC20" } } @@ -28022,32 +28402,32 @@ "typeString": "address" } ], - "id": "1544", + "id": "1614", "name": "address", "nodeType": "IDENTIFIER", "src": { "column": "51", - "end": "25386", + "end": "25683", "length": "7", - "line": "715", - "parentIndex": "1543", - "start": "25380" + "line": "730", + "parentIndex": "1613", + "start": "25677" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", "typeString": "function(address)" }, "typeName": { - "id": "1545", + "id": "1615", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "51", - "end": "25386", + "end": "25683", "length": "7", - "line": "715", - "parentIndex": "1544", - "start": "25380" + "line": "730", + "parentIndex": "1614", + "start": "25677" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -28057,16 +28437,16 @@ } } }, - "id": "1543", + "id": "1613", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "51", - "end": "25392", + "end": "25689", "length": "13", - "line": "715", - "parentIndex": "1540", - "start": "25380" + "line": "730", + "parentIndex": "1610", + "start": "25677" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", @@ -28083,17 +28463,17 @@ "typeString": "function(address)" } ], - "id": "1547", + "id": "1617", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1547", + "referencedDeclaration": "1617", "src": { "column": "66", - "end": "25401", + "end": "25698", "length": "7", - "line": "715", - "parentIndex": "1540", - "start": "25395" + "line": "730", + "parentIndex": "1610", + "start": "25692" }, "typeDescription": { "typeIdentifier": "t_address", @@ -28108,17 +28488,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1542", + "id": "1612", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1542", + "referencedDeclaration": "1612", "src": { "column": "35", - "end": "25368", + "end": "25665", "length": "5", - "line": "715", - "parentIndex": "1541", - "start": "25364" + "line": "730", + "parentIndex": "1611", + "start": "25661" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -28126,24 +28506,24 @@ } } }, - "id": "1541", + "id": "1611", "memberLocation": { "column": "41", - "end": "25378", + "end": "25675", "length": "9", - "line": "715", - "parentIndex": "1541", - "start": "25370" + "line": "730", + "parentIndex": "1611", + "start": "25667" }, "memberName": "allowance", "nodeType": "MEMBER_ACCESS", "src": { "column": "35", - "end": "25378", + "end": "25675", "length": "15", - "line": "715", - "parentIndex": "1540", - "start": "25364" + "line": "730", + "parentIndex": "1610", + "start": "25661" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -28151,16 +28531,16 @@ } } }, - "id": "1540", + "id": "1610", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "35", - "end": "25402", + "end": "25699", "length": "39", - "line": "715", - "parentIndex": "1537", - "start": "25364" + "line": "730", + "parentIndex": "1607", + "start": "25661" }, "typeDescription": { "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -28171,11 +28551,11 @@ "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "25403", + "end": "25700", "length": "63", - "line": "715", - "parentIndex": "1536", - "start": "25341" + "line": "730", + "parentIndex": "1606", + "start": "25638" } } }, @@ -28196,21 +28576,21 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1550", + "id": "1620", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1551", + "id": "1621", "name": "oldAllowance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1537", + "referencedDeclaration": "1607", "src": { "column": "20", - "end": "25436", + "end": "25733", "length": "12", - "line": "716", - "parentIndex": "1550", - "start": "25425" + "line": "731", + "parentIndex": "1620", + "start": "25722" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -28223,17 +28603,17 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1552", + "id": "1622", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1552", + "referencedDeclaration": "1622", "src": { "column": "36", - "end": "25445", + "end": "25742", "length": "5", - "line": "716", - "parentIndex": "1550", - "start": "25441" + "line": "731", + "parentIndex": "1620", + "start": "25738" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -28243,11 +28623,11 @@ }, "src": { "column": "20", - "end": "25445", + "end": "25742", "length": "21", - "line": "716", - "parentIndex": "1548", - "start": "25425" + "line": "731", + "parentIndex": "1618", + "start": "25722" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -28265,17 +28645,17 @@ } ], "hexValue": "5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": "1553", + "id": "1623", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", "src": { "column": "43", - "end": "25490", + "end": "25787", "length": "43", - "line": "716", - "parentIndex": "1548", - "start": "25448" + "line": "731", + "parentIndex": "1618", + "start": "25745" }, "typeDescription": { "typeIdentifier": "t_string_literal", @@ -28288,17 +28668,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1549", + "id": "1619", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", "src": { "column": "12", - "end": "25423", + "end": "25720", "length": "7", - "line": "716", - "parentIndex": "1548", - "start": "25417" + "line": "731", + "parentIndex": "1618", + "start": "25714" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -28306,16 +28686,16 @@ } } }, - "id": "1548", + "id": "1618", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "12", - "end": "25491", + "end": "25788", "length": "75", - "line": "716", - "parentIndex": "1536", - "start": "25417" + "line": "731", + "parentIndex": "1606", + "start": "25714" }, "typeDescription": { "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", @@ -28327,30 +28707,30 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1555" + "1625" ], "declarations": [ { - "id": "1555", + "id": "1625", "mutability": "MUTABLE", "name": "newAllowance", "nameLocation": { "column": "20", - "end": "25525", + "end": "25822", "length": "12", - "line": "717", - "parentIndex": "1555", - "start": "25514" + "line": "732", + "parentIndex": "1625", + "start": "25811" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1536", + "scope": "1606", "src": { "column": "12", - "end": "25525", + "end": "25822", "length": "20", - "line": "717", - "parentIndex": "1554", - "start": "25506" + "line": "732", + "parentIndex": "1624", + "start": "25803" }, "storageLocation": "DEFAULT", "typeDescription": { @@ -28358,16 +28738,16 @@ "typeString": "uint256" }, "typeName": { - "id": "1556", + "id": "1626", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "12", - "end": "25512", + "end": "25809", "length": "7", - "line": "717", - "parentIndex": "1555", - "start": "25506" + "line": "732", + "parentIndex": "1625", + "start": "25803" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -28377,25 +28757,25 @@ "visibility": "INTERNAL" } ], - "id": "1554", + "id": "1624", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1557", + "id": "1627", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1558", + "id": "1628", "name": "oldAllowance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1537", + "referencedDeclaration": "1607", "src": { "column": "35", - "end": "25540", + "end": "25837", "length": "12", - "line": "717", - "parentIndex": "1557", - "start": "25529" + "line": "732", + "parentIndex": "1627", + "start": "25826" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -28408,17 +28788,17 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1559", + "id": "1629", "name": "value", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1559", + "referencedDeclaration": "1629", "src": { "column": "50", - "end": "25548", + "end": "25845", "length": "5", - "line": "717", - "parentIndex": "1557", - "start": "25544" + "line": "732", + "parentIndex": "1627", + "start": "25841" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -28428,11 +28808,11 @@ }, "src": { "column": "35", - "end": "25548", + "end": "25845", "length": "20", - "line": "717", - "parentIndex": "1554", - "start": "25529" + "line": "732", + "parentIndex": "1624", + "start": "25826" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -28443,11 +28823,11 @@ "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "25549", + "end": "25846", "length": "44", - "line": "717", - "parentIndex": "1536", - "start": "25506" + "line": "732", + "parentIndex": "1606", + "start": "25803" } } }, @@ -28468,17 +28848,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1562", + "id": "1632", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1562", + "referencedDeclaration": "1632", "src": { "column": "32", - "end": "25587", + "end": "25884", "length": "5", - "line": "718", - "parentIndex": "1560", - "start": "25583" + "line": "733", + "parentIndex": "1630", + "start": "25880" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -28513,17 +28893,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1568", + "id": "1638", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1568", + "referencedDeclaration": "1638", "src": { "column": "62", - "end": "25617", + "end": "25914", "length": "5", - "line": "718", - "parentIndex": "1567", - "start": "25613" + "line": "733", + "parentIndex": "1637", + "start": "25910" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -28531,24 +28911,24 @@ } } }, - "id": "1567", + "id": "1637", "memberLocation": { "column": "68", - "end": "25625", + "end": "25922", "length": "7", - "line": "718", - "parentIndex": "1567", - "start": "25619" + "line": "733", + "parentIndex": "1637", + "start": "25916" }, "memberName": "approve", "nodeType": "MEMBER_ACCESS", "src": { "column": "62", - "end": "25625", + "end": "25922", "length": "13", - "line": "718", - "parentIndex": "1566", - "start": "25613" + "line": "733", + "parentIndex": "1636", + "start": "25910" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -28556,24 +28936,24 @@ } } }, - "id": "1566", + "id": "1636", "memberLocation": { "column": "76", - "end": "25634", + "end": "25931", "length": "8", - "line": "718", - "parentIndex": "1566", - "start": "25627" + "line": "733", + "parentIndex": "1636", + "start": "25924" }, "memberName": "selector", "nodeType": "MEMBER_ACCESS", "src": { "column": "62", - "end": "25634", + "end": "25931", "length": "22", - "line": "718", - "parentIndex": "1563", - "start": "25613" + "line": "733", + "parentIndex": "1633", + "start": "25910" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -28590,17 +28970,17 @@ "typeString": "contract IERC20" } ], - "id": "1569", + "id": "1639", "name": "spender", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1569", + "referencedDeclaration": "1639", "src": { "column": "86", - "end": "25643", + "end": "25940", "length": "7", - "line": "718", - "parentIndex": "1563", - "start": "25637" + "line": "733", + "parentIndex": "1633", + "start": "25934" }, "typeDescription": { "typeIdentifier": "t_address", @@ -28621,17 +29001,17 @@ "typeString": "address" } ], - "id": "1570", + "id": "1640", "name": "newAllowance", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1554", + "referencedDeclaration": "1624", "src": { "column": "95", - "end": "25657", + "end": "25954", "length": "12", - "line": "718", - "parentIndex": "1563", - "start": "25646" + "line": "733", + "parentIndex": "1633", + "start": "25943" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -28646,16 +29026,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1565", + "id": "1635", "name": "abi", "nodeType": "IDENTIFIER", "src": { "column": "39", - "end": "25592", + "end": "25889", "length": "3", - "line": "718", - "parentIndex": "1564", - "start": "25590" + "line": "733", + "parentIndex": "1634", + "start": "25887" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -28663,24 +29043,24 @@ } } }, - "id": "1564", + "id": "1634", "memberLocation": { "column": "43", - "end": "25611", + "end": "25908", "length": "18", - "line": "718", - "parentIndex": "1564", - "start": "25594" + "line": "733", + "parentIndex": "1634", + "start": "25891" }, "memberName": "encodeWithSelector", "nodeType": "MEMBER_ACCESS", "src": { "column": "39", - "end": "25611", + "end": "25908", "length": "22", - "line": "718", - "parentIndex": "1563", - "start": "25590" + "line": "733", + "parentIndex": "1633", + "start": "25887" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -28688,16 +29068,16 @@ } } }, - "id": "1563", + "id": "1633", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "39", - "end": "25658", + "end": "25955", "length": "69", - "line": "718", - "parentIndex": "1560", - "start": "25590" + "line": "733", + "parentIndex": "1630", + "start": "25887" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -28709,16 +29089,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1561", + "id": "1631", "name": "_callOptionalReturn", "nodeType": "IDENTIFIER", "src": { "column": "12", - "end": "25581", + "end": "25878", "length": "19", - "line": "718", - "parentIndex": "1560", - "start": "25563" + "line": "733", + "parentIndex": "1630", + "start": "25860" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -28726,16 +29106,16 @@ } } }, - "id": "1560", + "id": "1630", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "12", - "end": "25659", + "end": "25956", "length": "97", - "line": "718", - "parentIndex": "1536", - "start": "25563" + "line": "733", + "parentIndex": "1606", + "start": "25860" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$_t_function_$_t_address$_t_address$_t_uint256$", @@ -28748,34 +29128,34 @@ } ] }, - "id": "1525", + "id": "1595", "kind": "KIND_FUNCTION", "name": "safeDecreaseAllowance", "nameLocation": { "column": "13", - "end": "25220", + "end": "25517", "length": "21", - "line": "709", - "parentIndex": "1525", - "start": "25200" + "line": "724", + "parentIndex": "1595", + "start": "25497" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1526", + "id": "1596", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1527", + "id": "1597", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1527", + "scope": "1597", "src": { "column": "8", - "end": "25242", + "end": "25539", "length": "12", - "line": "710", - "parentIndex": "1526", - "start": "25231" + "line": "725", + "parentIndex": "1596", + "start": "25528" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -28784,38 +29164,38 @@ "typeString": "contract IERC20" }, "typeName": { - "id": "1528", + "id": "1598", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1529", + "id": "1599", "name": "IERC20", "nameLocation": { "column": "8", - "end": "25236", + "end": "25533", "length": "6", - "line": "710", - "parentIndex": "1528", - "start": "25231" + "line": "725", + "parentIndex": "1598", + "start": "25528" }, "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1089", "src": { "column": "8", - "end": "25236", + "end": "25533", "length": "6", - "line": "710", - "parentIndex": "1528", - "start": "25231" + "line": "725", + "parentIndex": "1598", + "start": "25528" } }, "referencedDeclaration": "1089", "src": { "column": "8", - "end": "25236", + "end": "25533", "length": "6", - "line": "710", - "parentIndex": "1527", - "start": "25231" + "line": "725", + "parentIndex": "1597", + "start": "25528" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -28825,17 +29205,17 @@ "visibility": "INTERNAL" }, { - "id": "1530", + "id": "1600", "name": "spender", "nodeType": "VARIABLE_DECLARATION", - "scope": "1530", + "scope": "1600", "src": { "column": "8", - "end": "25267", + "end": "25564", "length": "15", - "line": "711", - "parentIndex": "1526", - "start": "25253" + "line": "726", + "parentIndex": "1596", + "start": "25550" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -28844,16 +29224,16 @@ "typeString": "address" }, "typeName": { - "id": "1531", + "id": "1601", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "25259", + "end": "25556", "length": "7", - "line": "711", - "parentIndex": "1530", - "start": "25253" + "line": "726", + "parentIndex": "1600", + "start": "25550" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -28864,17 +29244,17 @@ "visibility": "INTERNAL" }, { - "id": "1532", + "id": "1602", "name": "value", "nodeType": "VARIABLE_DECLARATION", - "scope": "1532", + "scope": "1602", "src": { "column": "8", - "end": "25290", + "end": "25587", "length": "13", - "line": "712", - "parentIndex": "1526", - "start": "25278" + "line": "727", + "parentIndex": "1596", + "start": "25575" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -28883,16 +29263,16 @@ "typeString": "uint256" }, "typeName": { - "id": "1533", + "id": "1603", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "25284", + "end": "25581", "length": "7", - "line": "712", - "parentIndex": "1532", - "start": "25278" + "line": "727", + "parentIndex": "1602", + "start": "25575" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -28904,34 +29284,34 @@ ], "src": { "column": "8", - "end": "25290", + "end": "25587", "length": "60", - "line": "710", - "parentIndex": "1525", - "start": "25231" + "line": "725", + "parentIndex": "1595", + "start": "25528" } }, "returnParameters": { - "id": "1534", + "id": "1604", "nodeType": "PARAMETER_LIST", "src": { "column": "4", - "end": "25676", + "end": "25973", "length": "486", - "line": "709", - "parentIndex": "1525", - "start": "25191" + "line": "724", + "parentIndex": "1595", + "start": "25488" } }, - "scope": "1392", - "signature": "dd6a69b1", + "scope": "1462", + "signature": "d9cb6425", "src": { "column": "4", - "end": "25676", + "end": "25973", "length": "486", - "line": "709", - "parentIndex": "1392", - "start": "25191" + "line": "724", + "parentIndex": "1462", + "start": "25488" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -28945,46 +29325,46 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1580", + "id": "1650", "implemented": true, "nodeType": "BLOCK", "src": { "column": "74", - "end": "26765", + "end": "27062", "length": "636", - "line": "728", - "parentIndex": "1572", - "start": "26130" + "line": "743", + "parentIndex": "1642", + "start": "26427" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "1582" + "1652" ], "declarations": [ { - "id": "1582", + "id": "1652", "mutability": "MUTABLE", "name": "returndata", "nameLocation": { "column": "21", - "end": "26501", + "end": "26798", "length": "10", - "line": "733", - "parentIndex": "1582", - "start": "26492" + "line": "748", + "parentIndex": "1652", + "start": "26789" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "1580", + "scope": "1650", "src": { "column": "8", - "end": "26501", + "end": "26798", "length": "23", - "line": "733", - "parentIndex": "1581", - "start": "26479" + "line": "748", + "parentIndex": "1651", + "start": "26776" }, "storageLocation": "MEMORY", "typeDescription": { @@ -28992,16 +29372,16 @@ "typeString": "bytes" }, "typeName": { - "id": "1583", + "id": "1653", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "26483", + "end": "26780", "length": "5", - "line": "733", - "parentIndex": "1582", - "start": "26479" + "line": "748", + "parentIndex": "1652", + "start": "26776" }, "typeDescription": { "typeIdentifier": "t_bytes", @@ -29011,7 +29391,7 @@ "visibility": "INTERNAL" } ], - "id": "1581", + "id": "1651", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -29029,17 +29409,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1590", + "id": "1660", "name": "data", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1590", + "referencedDeclaration": "1660", "src": { "column": "62", - "end": "26536", + "end": "26833", "length": "4", - "line": "733", - "parentIndex": "1584", - "start": "26533" + "line": "748", + "parentIndex": "1654", + "start": "26830" }, "typeDescription": { "typeIdentifier": "t_bytes", @@ -29057,17 +29437,17 @@ } ], "hexValue": "5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": "1591", + "id": "1661", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", "src": { "column": "68", - "end": "26572", + "end": "26869", "length": "34", - "line": "733", - "parentIndex": "1584", - "start": "26539" + "line": "748", + "parentIndex": "1654", + "start": "26836" }, "typeDescription": { "typeIdentifier": "t_string_literal", @@ -29093,17 +29473,17 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1589", + "id": "1659", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1589", + "referencedDeclaration": "1659", "src": { "column": "42", - "end": "26517", + "end": "26814", "length": "5", - "line": "733", - "parentIndex": "1586", - "start": "26513" + "line": "748", + "parentIndex": "1656", + "start": "26810" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -29121,32 +29501,32 @@ "typeString": "address" } ], - "id": "1587", + "id": "1657", "name": "address", "nodeType": "IDENTIFIER", "src": { "column": "34", - "end": "26511", + "end": "26808", "length": "7", - "line": "733", - "parentIndex": "1586", - "start": "26505" + "line": "748", + "parentIndex": "1656", + "start": "26802" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", "typeString": "function(address)" }, "typeName": { - "id": "1588", + "id": "1658", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "34", - "end": "26511", + "end": "26808", "length": "7", - "line": "733", - "parentIndex": "1587", - "start": "26505" + "line": "748", + "parentIndex": "1657", + "start": "26802" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -29156,16 +29536,16 @@ } } }, - "id": "1586", + "id": "1656", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "34", - "end": "26518", + "end": "26815", "length": "14", - "line": "733", - "parentIndex": "1585", - "start": "26505" + "line": "748", + "parentIndex": "1655", + "start": "26802" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", @@ -29173,24 +29553,24 @@ } } }, - "id": "1585", + "id": "1655", "memberLocation": { "column": "49", - "end": "26531", + "end": "26828", "length": "12", - "line": "733", - "parentIndex": "1585", - "start": "26520" + "line": "748", + "parentIndex": "1655", + "start": "26817" }, "memberName": "functionCall", "nodeType": "MEMBER_ACCESS", "src": { "column": "34", - "end": "26531", + "end": "26828", "length": "27", - "line": "733", - "parentIndex": "1584", - "start": "26505" + "line": "748", + "parentIndex": "1654", + "start": "26802" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", @@ -29198,16 +29578,16 @@ } } }, - "id": "1584", + "id": "1654", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "34", - "end": "26573", + "end": "26870", "length": "69", - "line": "733", - "parentIndex": "1581", - "start": "26505" + "line": "748", + "parentIndex": "1651", + "start": "26802" }, "typeDescription": { "typeIdentifier": "t_function_$_t_bytes$_t_string_literal$", @@ -29218,11 +29598,11 @@ "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "26574", + "end": "26871", "length": "96", - "line": "733", - "parentIndex": "1580", - "start": "26479" + "line": "748", + "parentIndex": "1650", + "start": "26776" } } }, @@ -29230,16 +29610,16 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "1597", + "id": "1667", "implemented": true, "nodeType": "BLOCK", "src": { "column": "35", - "end": "26759", + "end": "27056", "length": "149", - "line": "734", - "parentIndex": "1572", - "start": "26611" + "line": "749", + "parentIndex": "1642", + "start": "26908" }, "statements": [ { @@ -29273,16 +29653,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1603", + "id": "1673", "name": "returndata", "nodeType": "IDENTIFIER", "src": { "column": "31", - "end": "26692", + "end": "26989", "length": "10", - "line": "736", - "parentIndex": "1600", - "start": "26683" + "line": "751", + "parentIndex": "1670", + "start": "26980" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -29297,32 +29677,32 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1605", + "id": "1675", "name": "bool", "nodeType": "IDENTIFIER", "src": { "column": "44", - "end": "26699", + "end": "26996", "length": "4", - "line": "736", - "parentIndex": "1604", - "start": "26696" + "line": "751", + "parentIndex": "1674", + "start": "26993" }, "typeDescription": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { - "id": "1606", + "id": "1676", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "44", - "end": "26699", + "end": "26996", "length": "4", - "line": "736", - "parentIndex": "1605", - "start": "26696" + "line": "751", + "parentIndex": "1675", + "start": "26993" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -29332,15 +29712,15 @@ } } ], - "id": "1604", + "id": "1674", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "43", - "end": "26700", + "end": "26997", "length": "6", - "line": "736", - "parentIndex": "1600", - "start": "26695" + "line": "751", + "parentIndex": "1670", + "start": "26992" }, "typeDescription": { "typeIdentifier": "t_tuple_$_t_bool$", @@ -29355,16 +29735,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1602", + "id": "1672", "name": "abi", "nodeType": "IDENTIFIER", "src": { "column": "20", - "end": "26674", + "end": "26971", "length": "3", - "line": "736", - "parentIndex": "1601", - "start": "26672" + "line": "751", + "parentIndex": "1671", + "start": "26969" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -29372,24 +29752,24 @@ } } }, - "id": "1601", + "id": "1671", "memberLocation": { "column": "24", - "end": "26681", + "end": "26978", "length": "6", - "line": "736", - "parentIndex": "1601", - "start": "26676" + "line": "751", + "parentIndex": "1671", + "start": "26973" }, "memberName": "decode", "nodeType": "MEMBER_ACCESS", "src": { "column": "20", - "end": "26681", + "end": "26978", "length": "10", - "line": "736", - "parentIndex": "1600", - "start": "26672" + "line": "751", + "parentIndex": "1670", + "start": "26969" }, "typeDescription": { "typeIdentifier": "t_magic_abi", @@ -29397,16 +29777,16 @@ } } }, - "id": "1600", + "id": "1670", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "20", - "end": "26701", + "end": "26998", "length": "30", - "line": "736", - "parentIndex": "1598", - "start": "26672" + "line": "751", + "parentIndex": "1668", + "start": "26969" }, "typeDescription": { "typeIdentifier": "t_function_$_t_function_$_t_tuple_$_t_bool$", @@ -29424,17 +29804,17 @@ } ], "hexValue": "5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564", - "id": "1607", + "id": "1677", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", "src": { "column": "52", - "end": "26747", + "end": "27044", "length": "44", - "line": "736", - "parentIndex": "1598", - "start": "26704" + "line": "751", + "parentIndex": "1668", + "start": "27001" }, "typeDescription": { "typeIdentifier": "t_string_literal", @@ -29447,17 +29827,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1599", + "id": "1669", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", "src": { "column": "12", - "end": "26670", + "end": "26967", "length": "7", - "line": "736", - "parentIndex": "1598", - "start": "26664" + "line": "751", + "parentIndex": "1668", + "start": "26961" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -29465,16 +29845,16 @@ } } }, - "id": "1598", + "id": "1668", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "12", - "end": "26748", + "end": "27045", "length": "85", - "line": "736", - "parentIndex": "1597", - "start": "26664" + "line": "751", + "parentIndex": "1667", + "start": "26961" }, "typeDescription": { "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_tuple_$_t_bool$_t_string_literal$", @@ -29487,24 +29867,24 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "1593", + "id": "1663", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1595", + "id": "1665", "name": "returndata", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1581", + "referencedDeclaration": "1651", "src": { "column": "12", - "end": "26597", + "end": "26894", "length": "10", - "line": "734", - "parentIndex": "1594", - "start": "26588" + "line": "749", + "parentIndex": "1664", + "start": "26885" }, "typeDescription": { "typeIdentifier": "t_bytes", @@ -29512,24 +29892,24 @@ } } }, - "id": "1594", + "id": "1664", "memberLocation": { "column": "23", - "end": "26604", + "end": "26901", "length": "6", - "line": "734", - "parentIndex": "1594", - "start": "26599" + "line": "749", + "parentIndex": "1664", + "start": "26896" }, "memberName": "length", "nodeType": "MEMBER_ACCESS", "src": { "column": "12", - "end": "26604", + "end": "26901", "length": "17", - "line": "734", - "parentIndex": "1593", - "start": "26588" + "line": "749", + "parentIndex": "1663", + "start": "26885" }, "typeDescription": { "typeIdentifier": "t_bytes", @@ -29543,17 +29923,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "1596", + "id": "1666", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", "src": { "column": "32", - "end": "26608", + "end": "26905", "length": "1", - "line": "734", - "parentIndex": "1593", - "start": "26608" + "line": "749", + "parentIndex": "1663", + "start": "26905" }, "typeDescription": { "typeIdentifier": "t_rational_0_by_1", @@ -29564,11 +29944,11 @@ }, "src": { "column": "12", - "end": "26608", + "end": "26905", "length": "21", - "line": "734", - "parentIndex": "1592", - "start": "26588" + "line": "749", + "parentIndex": "1662", + "start": "26885" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -29576,48 +29956,48 @@ } } }, - "id": "1592", + "id": "1662", "nodeType": "IF_STATEMENT", "src": { - "end": "26759", + "end": "27056", "length": "176", - "line": "734", - "parentIndex": "1580", - "start": "26584" + "line": "749", + "parentIndex": "1650", + "start": "26881" } } } ] }, - "id": "1572", + "id": "1642", "implemented": true, "kind": "KIND_FUNCTION", "name": "_callOptionalReturn", "nameLocation": { "column": "13", - "end": "26087", + "end": "26384", "length": "19", - "line": "728", - "parentIndex": "1572", - "start": "26069" + "line": "743", + "parentIndex": "1642", + "start": "26366" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1573", + "id": "1643", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1574", + "id": "1644", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1574", + "scope": "1644", "src": { "column": "33", - "end": "26100", + "end": "26397", "length": "12", - "line": "728", - "parentIndex": "1573", - "start": "26089" + "line": "743", + "parentIndex": "1643", + "start": "26386" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -29626,38 +30006,38 @@ "typeString": "contract IERC20" }, "typeName": { - "id": "1575", + "id": "1645", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1576", + "id": "1646", "name": "IERC20", "nameLocation": { "column": "33", - "end": "26094", + "end": "26391", "length": "6", - "line": "728", - "parentIndex": "1575", - "start": "26089" + "line": "743", + "parentIndex": "1645", + "start": "26386" }, "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1089", "src": { "column": "33", - "end": "26094", + "end": "26391", "length": "6", - "line": "728", - "parentIndex": "1575", - "start": "26089" + "line": "743", + "parentIndex": "1645", + "start": "26386" } }, "referencedDeclaration": "1089", "src": { "column": "33", - "end": "26094", + "end": "26391", "length": "6", - "line": "728", - "parentIndex": "1574", - "start": "26089" + "line": "743", + "parentIndex": "1644", + "start": "26386" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -29667,17 +30047,17 @@ "visibility": "INTERNAL" }, { - "id": "1577", + "id": "1647", "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "1577", + "scope": "1647", "src": { "column": "47", - "end": "26119", + "end": "26416", "length": "17", - "line": "728", - "parentIndex": "1573", - "start": "26103" + "line": "743", + "parentIndex": "1643", + "start": "26400" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -29686,16 +30066,16 @@ "typeString": "bytes" }, "typeName": { - "id": "1578", + "id": "1648", "name": "bytes", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "47", - "end": "26107", + "end": "26404", "length": "5", - "line": "728", - "parentIndex": "1577", - "start": "26103" + "line": "743", + "parentIndex": "1647", + "start": "26400" }, "typeDescription": { "typeIdentifier": "t_bytes", @@ -29707,34 +30087,34 @@ ], "src": { "column": "33", - "end": "26119", + "end": "26416", "length": "31", - "line": "728", - "parentIndex": "1572", - "start": "26089" + "line": "743", + "parentIndex": "1642", + "start": "26386" } }, "returnParameters": { - "id": "1579", + "id": "1649", "nodeType": "PARAMETER_LIST", "src": { "column": "4", - "end": "26765", + "end": "27062", "length": "706", - "line": "728", - "parentIndex": "1572", - "start": "26060" + "line": "743", + "parentIndex": "1642", + "start": "26357" } }, - "scope": "1392", - "signature": "50effced", + "scope": "1462", + "signature": "8a35aadd", "src": { "column": "4", - "end": "26765", + "end": "27062", "length": "706", - "line": "728", - "parentIndex": "1392", - "start": "26060" + "line": "743", + "parentIndex": "1462", + "start": "26357" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -29746,488 +30126,64 @@ } ], "src": { - "end": "26767", + "end": "27064", "length": "3270", - "line": "658", - "parentIndex": "1373", - "start": "23498" + "line": "673", + "parentIndex": "1442", + "start": "23795" } } } ] }, "src": { - "line": 658, - "start": 23498, - "end": 26767, + "line": 673, + "start": 23795, + "end": 27064, "length": 3270, "parent_index": 272 } }, { - "id": 1608, + "id": 1678, "license": "GPL-3.0-or-later", - "name": "IWETH", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IWETH.sol", - "exported_symbols": [ - { - "id": 1608, - "name": "IWETH", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IWETH.sol" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "1619", - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "26839", - "length": "23", - "line": "744", - "parentIndex": "1608", - "start": "26817" - }, - "text": "pragma solidity 0.8.11;" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", - "value": { - "fullyImplemented": true, - "id": "1660", - "kind": "KIND_INTERFACE", - "linearizedBaseContracts": [ - "1660" - ], - "name": "IWETH", - "nameLocation": { - "column": "10", - "end": "26856", - "length": "5", - "line": "746", - "parentIndex": "1660", - "start": "26852" - }, - "nodeType": "CONTRACT_DEFINITION", - "nodes": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1665", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "26899", - "length": "36", - "line": "747", - "parentIndex": "1662", - "start": "26864" - } - }, - "id": "1662", - "kind": "KIND_FUNCTION", - "name": "deposit", - "nameLocation": { - "column": "13", - "end": "26879", - "length": "7", - "line": "747", - "parentIndex": "1662", - "start": "26873" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1663", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "26899", - "length": "36", - "line": "747", - "parentIndex": "1662", - "start": "26864" - } - }, - "returnParameters": { - "id": "1664", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "26899", - "length": "36", - "line": "747", - "parentIndex": "1662", - "start": "26864" - } - }, - "scope": "1660", - "signature": "d0e30db0", - "src": { - "column": "4", - "end": "26899", - "length": "36", - "line": "747", - "parentIndex": "1660", - "start": "26864" - }, - "stateMutability": "PAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1676", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "26974", - "length": "69", - "line": "749", - "parentIndex": "1667", - "start": "26906" - } - }, - "id": "1667", - "kind": "KIND_FUNCTION", - "name": "transfer", - "nameLocation": { - "column": "13", - "end": "26922", - "length": "8", - "line": "749", - "parentIndex": "1667", - "start": "26915" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1668", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1669", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1669", - "src": { - "column": "22", - "end": "26933", - "length": "10", - "line": "749", - "parentIndex": "1668", - "start": "26924" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1670", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "22", - "end": "26930", - "length": "7", - "line": "749", - "parentIndex": "1669", - "start": "26924" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1671", - "name": "value", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1671", - "src": { - "column": "34", - "end": "26948", - "length": "13", - "line": "749", - "parentIndex": "1668", - "start": "26936" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1672", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "34", - "end": "26942", - "length": "7", - "line": "749", - "parentIndex": "1671", - "start": "26936" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "22", - "end": "26948", - "length": "25", - "line": "749", - "parentIndex": "1667", - "start": "26924" - } - }, - "returnParameters": { - "id": "1673", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1674", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1674", - "src": { - "column": "67", - "end": "26972", - "length": "4", - "line": "749", - "parentIndex": "1673", - "start": "26969" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "1675", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "67", - "end": "26972", - "length": "4", - "line": "749", - "parentIndex": "1674", - "start": "26969" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "67", - "end": "26972", - "length": "4", - "line": "749", - "parentIndex": "1667", - "start": "26969" - } - }, - "scope": "1660", - "signature": "9d61d234", - "src": { - "column": "4", - "end": "26974", - "length": "69", - "line": "749", - "parentIndex": "1660", - "start": "26906" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_uint256$", - "typeString": "function(address,uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1683", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "27016", - "length": "36", - "line": "751", - "parentIndex": "1678", - "start": "26981" - } - }, - "id": "1678", - "kind": "KIND_FUNCTION", - "name": "withdraw", - "nameLocation": { - "column": "13", - "end": "26997", - "length": "8", - "line": "751", - "parentIndex": "1678", - "start": "26990" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1679", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1680", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1680", - "src": { - "column": "22", - "end": "27005", - "length": "7", - "line": "751", - "parentIndex": "1679", - "start": "26999" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1681", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "22", - "end": "27005", - "length": "7", - "line": "751", - "parentIndex": "1680", - "start": "26999" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "22", - "end": "27005", - "length": "7", - "line": "751", - "parentIndex": "1678", - "start": "26999" - } - }, - "returnParameters": { - "id": "1682", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "27016", - "length": "36", - "line": "751", - "parentIndex": "1678", - "start": "26981" - } - }, - "scope": "1660", - "signature": "2e1a7d4d", - "src": { - "column": "4", - "end": "27016", - "length": "36", - "line": "751", - "parentIndex": "1660", - "start": "26981" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "visibility": "EXTERNAL" - } - } - ], - "src": { - "end": "27018", - "length": "177", - "line": "746", - "parentIndex": "1608", - "start": "26842" - } - } - } - ] - }, - "src": { - "line": 746, - "start": 26842, - "end": 27018, - "length": 177, - "parent_index": 272 - } - }, - { - "id": 1684, - "license": "GPL-3.0-or-later", - "name": "TokenAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TokenAdapter.sol", + "name": "StargateAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/StargateAdapter.sol", "exported_symbols": [ { - "id": 1684, - "name": "TokenAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TokenAdapter.sol" + "id": 1678, + "name": "StargateAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/StargateAdapter.sol" }, { - "id": 1608, + "id": 1442, "name": "SafeERC20", "absolute_path": "SafeERC20.sol" }, { - "id": 1608, - "name": "IWETH", - "absolute_path": "IWETH.sol" + "id": 1442, + "name": "IStargateReceiver", + "absolute_path": "IStargateReceiver.sol" + }, + { + "id": 1442, + "name": "ImmutableState", + "absolute_path": "ImmutableState.sol" + }, + { + "id": 1442, + "name": "IStargateAdapter", + "absolute_path": "IStargateAdapter.sol" + }, + { + "id": 1442, + "name": "ISushiXSwap", + "absolute_path": "ISushiXSwap.sol" + }, + { + "id": 1442, + "name": "IStargateWidget", + "absolute_path": "IStargateWidget.sol" } ], "node_type": 1, @@ -30236,7 +30192,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "1696", + "id": "1690", "literals": [ "pragma", "solidity", @@ -30249,11 +30205,11 @@ ], "nodeType": "PRAGMA_DIRECTIVE", "src": { - "end": "27089", + "end": "27136", "length": "23", - "line": "756", - "parentIndex": "1684", - "start": "27067" + "line": "759", + "parentIndex": "1678", + "start": "27114" }, "text": "pragma solidity 0.8.11;" } @@ -30263,122 +30219,260 @@ "value": { "absolutePath": "SafeERC20.sol", "file": "./SafeERC20.sol", - "id": "1705", + "id": "1699", "nodeType": "IMPORT_DIRECTIVE", - "scope": "1684", - "sourceUnit": "1608", + "scope": "1678", + "sourceUnit": "1442", "src": { - "end": "27116", + "end": "27163", "length": "25", - "line": "758", - "parentIndex": "1684", - "start": "27092" + "line": "761", + "parentIndex": "1678", + "start": "27139" } } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", "value": { - "absolutePath": "IWETH.sol", - "file": "./IWETH.sol", - "id": "1706", + "absolutePath": "IStargateReceiver.sol", + "file": "./IStargateReceiver.sol", + "id": "1700", "nodeType": "IMPORT_DIRECTIVE", - "scope": "1684", - "sourceUnit": "1608", + "scope": "1678", + "sourceUnit": "1442", "src": { - "end": "27138", - "length": "21", - "line": "759", - "parentIndex": "1684", - "start": "27118" + "end": "27197", + "length": "33", + "line": "762", + "parentIndex": "1678", + "start": "27165" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "ImmutableState.sol", + "file": "./ImmutableState.sol", + "id": "1701", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "1678", + "sourceUnit": "1442", + "src": { + "end": "27228", + "length": "30", + "line": "763", + "parentIndex": "1678", + "start": "27199" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "IStargateAdapter.sol", + "file": "./IStargateAdapter.sol", + "id": "1702", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "1678", + "sourceUnit": "1442", + "src": { + "end": "27261", + "length": "32", + "line": "764", + "parentIndex": "1678", + "start": "27230" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "ISushiXSwap.sol", + "file": "./ISushiXSwap.sol", + "id": "1703", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "1678", + "sourceUnit": "1442", + "src": { + "end": "27289", + "length": "27", + "line": "765", + "parentIndex": "1678", + "start": "27263" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "IStargateWidget.sol", + "file": "./IStargateWidget.sol", + "id": "1704", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "1678", + "sourceUnit": "1442", + "src": { + "end": "27321", + "length": "31", + "line": "766", + "parentIndex": "1678", + "start": "27291" } } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { + "baseContracts": [ + { + "baseName": { + "id": "1707", + "name": "ImmutableState", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "948", + "src": { + "column": "37", + "end": "27458", + "length": "14", + "line": "770", + "parentIndex": "1705", + "start": "27445" + } + }, + "id": "1706", + "nodeType": "INHERITANCE_SPECIFIER", + "src": { + "column": "37", + "end": "27458", + "length": "14", + "line": "770", + "parentIndex": "1705", + "start": "27445" + } + }, + { + "baseName": { + "id": "1709", + "name": "IStargateReceiver", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1373", + "src": { + "column": "53", + "end": "27477", + "length": "17", + "line": "770", + "parentIndex": "1705", + "start": "27461" + } + }, + "id": "1708", + "nodeType": "INHERITANCE_SPECIFIER", + "src": { + "column": "53", + "end": "27477", + "length": "17", + "line": "770", + "parentIndex": "1705", + "start": "27461" + } + } + ], "contractDependencies": [ - "1705", - "1706" + "948", + "1373", + "1699", + "1700", + "1701", + "1702", + "1703", + "1704" ], "fullyImplemented": true, - "id": "1707", + "id": "1705", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "1707", + "948", + "1373", "1705", - "1706" + "1699", + "1700", + "1701", + "1702", + "1703", + "1704" ], - "name": "TokenAdapter", + "name": "StargateAdapter", "nameLocation": { "column": "18", - "end": "27239", - "length": "12", - "line": "763", - "parentIndex": "1707", - "start": "27228" + "end": "27440", + "length": "15", + "line": "770", + "parentIndex": "1705", + "start": "27426" }, "nodeType": "CONTRACT_DEFINITION", "nodes": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", "value": { - "id": "1709", + "id": "1711", "libraryName": { - "id": "1710", + "id": "1712", "name": "SafeERC20", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1373", + "referencedDeclaration": "1442", "src": { - "end": "27261", + "end": "27499", "length": "9", - "line": "764", - "parentIndex": "1709", - "start": "27253" + "line": "771", + "parentIndex": "1711", + "start": "27491" } }, "name": "SafeERC20", "nodeType": "USING_FOR_DIRECTIVE", "src": { - "end": "27273", + "end": "27511", "length": "27", - "line": "764", - "parentIndex": "1707", - "start": "27247" + "line": "771", + "parentIndex": "1705", + "start": "27485" }, "typeName": { - "id": "1711", + "id": "1713", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1712", + "id": "1714", "name": "IERC20", "nameLocation": { "column": "24", - "end": "27272", + "end": "27510", "length": "6", - "line": "764", - "parentIndex": "1711", - "start": "27267" + "line": "771", + "parentIndex": "1713", + "start": "27505" }, "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1089", "src": { "column": "24", - "end": "27272", + "end": "27510", "length": "6", - "line": "764", - "parentIndex": "1711", - "start": "27267" + "line": "771", + "parentIndex": "1713", + "start": "27505" } }, "referencedDeclaration": "1089", "src": { "column": "24", - "end": "27272", + "end": "27510", "length": "6", - "line": "764", - "parentIndex": "1709", - "start": "27267" + "line": "771", + "parentIndex": "1711", + "start": "27505" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -30388,597 +30482,686 @@ } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", "value": { - "body": { - "id": "1724", - "implemented": true, - "nodeType": "BLOCK", + "id": "1716", + "name": "NotStargateRouter", + "nameLocation": { + "column": "10", + "end": "27560", + "length": "17", + "line": "774", + "parentIndex": "1716", + "start": "27544" + }, + "nodeType": "ERROR_DEFINITION", + "parameters": { + "id": "1717", + "nodeType": "PARAMETER_LIST", "src": { - "column": "15", - "end": "27719", - "length": "164", + "column": "4", + "end": "27563", + "length": "26", "line": "774", - "parentIndex": "1714", - "start": "27556" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", - "value": { - "body": { - "id": "1735", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "42", - "end": "27654", - "length": "55", - "line": "775", - "parentIndex": "1714", - "start": "27600" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "1739", - "name": "to", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "1739", - "src": { - "column": "31", - "end": "27634", - "length": "2", - "line": "776", - "parentIndex": "1736", - "start": "27633" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "1740", - "name": "amount", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "1740", - "src": { - "column": "35", - "end": "27642", - "length": "6", - "line": "776", - "parentIndex": "1736", - "start": "27637" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "1738", - "name": "token", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "1738", - "src": { - "column": "12", - "end": "27618", - "length": "5", - "line": "776", - "parentIndex": "1737", - "start": "27614" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" - } - } - }, - "id": "1737", - "memberLocation": { - "column": "18", - "end": "27631", - "length": "12", - "line": "776", - "parentIndex": "1737", - "start": "27620" - }, - "memberName": "safeTransfer", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "27631", - "length": "18", - "line": "776", - "parentIndex": "1736", - "start": "27614" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" - } - } - }, - "id": "1736", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "27643", - "length": "30", - "line": "776", - "parentIndex": "1735", - "start": "27614" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_uint256$", - "typeString": "function(address,uint256)" - } - } - } - ] - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "1726", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "1730", - "name": "token", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "1730", - "src": { - "column": "20", - "end": "27582", - "length": "5", - "line": "775", - "parentIndex": "1727", - "start": "27578" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "1728", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "27576", - "length": "7", - "line": "775", - "parentIndex": "1727", - "start": "27570" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "1729", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "27576", - "length": "7", - "line": "775", - "parentIndex": "1728", - "start": "27570" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "1727", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "27583", - "length": "14", - "line": "775", - "parentIndex": "1726", - "start": "27570" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "NOT_EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "1734", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "38", - "end": "27596", - "length": "1", - "line": "775", - "parentIndex": "1731", - "start": "27596" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "1732", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "30", - "end": "27594", - "length": "7", - "line": "775", - "parentIndex": "1731", - "start": "27588" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "1733", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "30", - "end": "27594", - "length": "7", - "line": "775", - "parentIndex": "1732", - "start": "27588" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "1731", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "30", - "end": "27597", - "length": "10", - "line": "775", - "parentIndex": "1726", - "start": "27588" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_0_by_1$", - "typeString": "function(int_const 0)" - } - } - }, - "src": { - "column": "12", - "end": "27597", - "length": "28", - "line": "775", - "parentIndex": "1725", - "start": "27570" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "1725", - "nodeType": "IF_STATEMENT", - "src": { - "end": "27713", - "length": "148", - "line": "775", - "parentIndex": "1724", - "start": "27566" - } - } - } - ] + "parentIndex": "1716", + "start": "27538" + } }, - "id": "1714", - "implemented": true, - "kind": "KIND_FUNCTION", - "name": "_transferTokens", - "nameLocation": { - "column": "13", - "end": "27473", - "length": "15", - "line": "770", - "parentIndex": "1714", - "start": "27459" + "src": { + "column": "4", + "end": "27563", + "length": "26", + "line": "774", + "parentIndex": "1705", + "start": "27538" }, - "nodeType": "FUNCTION_DEFINITION", + "typeDescription": { + "typeIdentifier": "t_error$_StargateAdapter_NotStargateRouter_$1716", + "typeString": "error StargateAdapter.NotStargateRouter" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "1719", + "name": "StargateSushiXSwapSrc", + "nodeType": "EVENT_DEFINITION", "parameters": { - "id": "1715", + "id": "1720", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1716", - "name": "token", + "id": "1721", + "indexed": true, + "name": "srcContext", "nodeType": "VARIABLE_DECLARATION", - "scope": "1716", + "scope": "1721", "src": { - "column": "8", - "end": "27495", - "length": "12", - "line": "771", - "parentIndex": "1715", - "start": "27484" + "column": "32", + "end": "27637", + "length": "26", + "line": "777", + "parentIndex": "1720", + "start": "27612" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": "1717", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "1718", - "name": "IERC20", - "nameLocation": { - "column": "8", - "end": "27489", - "length": "6", - "line": "771", - "parentIndex": "1717", - "start": "27484" - }, - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1089", - "src": { - "column": "8", - "end": "27489", - "length": "6", - "line": "771", - "parentIndex": "1717", - "start": "27484" - } - }, - "referencedDeclaration": "1089", + "id": "1722", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "27489", - "length": "6", - "line": "771", - "parentIndex": "1716", - "start": "27484" + "column": "32", + "end": "27618", + "length": "7", + "line": "777", + "parentIndex": "1721", + "start": "27612" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "4", + "end": "27639", + "length": "56", + "line": "777", + "parentIndex": "1719", + "start": "27584" + } + }, + "src": { + "column": "4", + "end": "27639", + "length": "56", + "line": "777", + "parentIndex": "1705", + "start": "27584" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00261719", + "typeString": "event StargateAdapter.StargateSushiXSwapSrc" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "1724", + "name": "StargateSushiXSwapDst", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "1725", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "1719", - "name": "to", + "id": "1726", + "indexed": true, + "name": "srcContext", "nodeType": "VARIABLE_DECLARATION", - "scope": "1719", + "scope": "1726", "src": { - "column": "8", - "end": "27515", - "length": "10", - "line": "772", - "parentIndex": "1715", - "start": "27506" + "column": "32", + "end": "27698", + "length": "26", + "line": "778", + "parentIndex": "1725", + "start": "27673" }, - "stateMutability": "NONPAYABLE", + "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": "1720", - "name": "address", + "id": "1727", + "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "27512", + "column": "32", + "end": "27679", "length": "7", - "line": "772", - "parentIndex": "1719", - "start": "27506" + "line": "778", + "parentIndex": "1726", + "start": "27673" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "INTERNAL" }, { - "id": "1721", - "name": "amount", + "id": "1728", + "name": "failed", "nodeType": "VARIABLE_DECLARATION", - "scope": "1721", + "scope": "1728", "src": { - "column": "8", - "end": "27539", - "length": "14", - "line": "773", - "parentIndex": "1715", - "start": "27526" + "column": "60", + "end": "27711", + "length": "11", + "line": "778", + "parentIndex": "1725", + "start": "27701" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "1722", - "name": "uint256", + "id": "1729", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "27532", - "length": "7", - "line": "773", - "parentIndex": "1721", - "start": "27526" + "column": "60", + "end": "27704", + "length": "4", + "line": "778", + "parentIndex": "1728", + "start": "27701" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "INTERNAL" } ], "src": { - "column": "8", - "end": "27539", - "length": "56", - "line": "771", - "parentIndex": "1714", - "start": "27484" + "column": "4", + "end": "27713", + "length": "69", + "line": "778", + "parentIndex": "1724", + "start": "27645" } }, - "returnParameters": { - "id": "1723", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "27719", - "length": "270", - "line": "770", - "parentIndex": "1714", - "start": "27450" + "src": { + "column": "4", + "end": "27713", + "length": "69", + "line": "778", + "parentIndex": "1705", + "start": "27645" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00261724", + "typeString": "event StargateAdapter.StargateSushiXSwapDst" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "StargateAdapter.StargateTeleportParams", + "id": "1731", + "members": [ + { + "id": "1732", + "name": "dstChainId", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1732", + "src": { + "column": "8", + "end": "27777", + "length": "18", + "line": "781", + "parentIndex": "1731", + "start": "27760" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": "1733", + "name": "uint16", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "27765", + "length": "6", + "line": "781", + "parentIndex": "1732", + "start": "27760" + }, + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1734", + "name": "token", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1734", + "src": { + "column": "8", + "end": "27825", + "length": "14", + "line": "782", + "parentIndex": "1731", + "start": "27812" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "1735", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "27818", + "length": "7", + "line": "782", + "parentIndex": "1734", + "start": "27812" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1736", + "name": "srcPoolId", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1736", + "src": { + "column": "8", + "end": "27877", + "length": "18", + "line": "783", + "parentIndex": "1731", + "start": "27860" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1737", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "27866", + "length": "7", + "line": "783", + "parentIndex": "1736", + "start": "27860" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1738", + "name": "dstPoolId", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1738", + "src": { + "column": "8", + "end": "27928", + "length": "18", + "line": "784", + "parentIndex": "1731", + "start": "27911" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1739", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "27917", + "length": "7", + "line": "784", + "parentIndex": "1738", + "start": "27911" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1740", + "name": "amount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1740", + "src": { + "column": "8", + "end": "27976", + "length": "15", + "line": "785", + "parentIndex": "1731", + "start": "27962" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1741", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "27968", + "length": "7", + "line": "785", + "parentIndex": "1740", + "start": "27962" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1742", + "name": "amountMin", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1742", + "src": { + "column": "8", + "end": "28023", + "length": "18", + "line": "786", + "parentIndex": "1731", + "start": "28006" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1743", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "28012", + "length": "7", + "line": "786", + "parentIndex": "1742", + "start": "28006" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1744", + "name": "dustAmount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1744", + "src": { + "column": "8", + "end": "28079", + "length": "19", + "line": "787", + "parentIndex": "1731", + "start": "28061" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1745", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "28067", + "length": "7", + "line": "787", + "parentIndex": "1744", + "start": "28061" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1746", + "name": "receiver", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1746", + "src": { + "column": "8", + "end": "28149", + "length": "17", + "line": "788", + "parentIndex": "1731", + "start": "28133" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "1747", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "28139", + "length": "7", + "line": "788", + "parentIndex": "1746", + "start": "28133" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1748", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1748", + "src": { + "column": "8", + "end": "28196", + "length": "11", + "line": "789", + "parentIndex": "1731", + "start": "28186" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "1749", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "28192", + "length": "7", + "line": "789", + "parentIndex": "1748", + "start": "28186" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1750", + "name": "gas", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1750", + "src": { + "column": "8", + "end": "28285", + "length": "12", + "line": "790", + "parentIndex": "1731", + "start": "28274" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1751", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "28280", + "length": "7", + "line": "790", + "parentIndex": "1750", + "start": "28274" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1752", + "name": "srcContext", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1752", + "src": { + "column": "8", + "end": "28362", + "length": "19", + "line": "791", + "parentIndex": "1731", + "start": "28344" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "1753", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "28350", + "length": "7", + "line": "791", + "parentIndex": "1752", + "start": "28344" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" } + ], + "name": "StargateTeleportParams", + "nameLocation": { + "column": "11", + "end": "27748", + "length": "22", + "line": "780", + "parentIndex": "1731", + "start": "27727" }, - "scope": "1707", - "signature": "b5a83ee7", + "nodeType": "STRUCT_DEFINITION", "src": { "column": "4", - "end": "27719", - "length": "270", - "line": "770", - "parentIndex": "1707", - "start": "27450" + "end": "28404", + "length": "685", + "line": "780", + "parentIndex": "1678", + "start": "27720" }, - "stateMutability": "NONPAYABLE", + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", - "typeString": "function(contract IERC20,address,uint256)" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" }, - "visibility": "INTERNAL" + "visibility": "PUBLIC" } }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1752", + "id": "1761", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "15", - "end": "28076", - "length": "63", - "line": "790", - "parentIndex": "1742", - "start": "28014" + "column": "60", + "end": "28636", + "length": "78", + "line": "796", + "parentIndex": "1755", + "start": "28559" }, "statements": [ { @@ -30986,122 +31169,155 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeString": "type" } ], "arguments": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1768", + "name": "stargateRouter", + "nodeType": "IDENTIFIER", + "src": { + "column": "34", + "end": "28608", + "length": "14", + "line": "797", + "parentIndex": "1765", + "start": "28595" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + } + ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1757", - "name": "msg", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "1766", + "name": "address", "nodeType": "IDENTIFIER", "src": { - "column": "31", - "end": "28049", - "length": "3", - "line": "791", - "parentIndex": "1756", - "start": "28047" + "column": "26", + "end": "28593", + "length": "7", + "line": "797", + "parentIndex": "1765", + "start": "28587" }, "typeDescription": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "1767", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "26", + "end": "28593", + "length": "7", + "line": "797", + "parentIndex": "1766", + "start": "28587" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } } } }, - "id": "1756", - "memberLocation": { - "column": "35", - "end": "28056", - "length": "6", - "line": "791", - "parentIndex": "1756", - "start": "28051" - }, - "memberName": "sender", - "nodeType": "MEMBER_ACCESS", + "id": "1765", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "31", - "end": "28056", - "length": "10", - "line": "791", - "parentIndex": "1753", - "start": "28047" + "column": "26", + "end": "28609", + "length": "23", + "line": "797", + "parentIndex": "1762", + "start": "28587" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" } ], - "id": "1758", - "name": "to", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "1758", - "src": { - "column": "43", - "end": "28060", - "length": "2", - "line": "791", - "parentIndex": "1753", - "start": "28059" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MetaType", + "value": { + "id": "1770", + "name": "type", + "nodeType": "IDENTIFIER", + "src": { + "column": "51", + "end": "28624", + "length": "13", + "line": "797", + "parentIndex": "1769", + "start": "28612" + }, + "typeDescription": { + "typeString": "type" + } } - ], - "id": "1759", - "name": "amount", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "1759", + }, + "id": "1769", + "memberLocation": { + "column": "65", + "end": "28628", + "length": "3", + "line": "797", + "parentIndex": "1769", + "start": "28626" + }, + "memberName": "max", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "47", - "end": "28068", - "length": "6", - "line": "791", - "parentIndex": "1753", - "start": "28063" + "column": "51", + "end": "28628", + "length": "17", + "line": "797", + "parentIndex": "1762", + "start": "28612" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeString": "type" } } } @@ -31112,17 +31328,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1755", + "id": "1764", "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1755", + "referencedDeclaration": "1764", "src": { "column": "8", - "end": "28028", + "end": "28573", "length": "5", - "line": "791", - "parentIndex": "1754", - "start": "28024" + "line": "797", + "parentIndex": "1763", + "start": "28569" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -31130,24 +31346,24 @@ } } }, - "id": "1754", + "id": "1763", "memberLocation": { "column": "14", - "end": "28045", - "length": "16", - "line": "791", - "parentIndex": "1754", - "start": "28030" + "end": "28585", + "length": "11", + "line": "797", + "parentIndex": "1763", + "start": "28575" }, - "memberName": "safeTransferFrom", + "memberName": "safeApprove", "nodeType": "MEMBER_ACCESS", "src": { "column": "8", - "end": "28045", - "length": "22", - "line": "791", - "parentIndex": "1753", - "start": "28024" + "end": "28585", + "length": "17", + "line": "797", + "parentIndex": "1762", + "start": "28569" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -31155,54 +31371,54 @@ } } }, - "id": "1753", + "id": "1762", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "28069", - "length": "46", - "line": "791", - "parentIndex": "1752", - "start": "28024" + "end": "28629", + "length": "61", + "line": "797", + "parentIndex": "1761", + "start": "28569" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", - "typeString": "function(address,address,uint256)" - } + "typeIdentifier": "t_function_$_t_function_$_t_function_$_$", + "typeString": "function(function(function()),type)" + } } } ] }, - "id": "1742", + "id": "1755", "implemented": true, "kind": "KIND_FUNCTION", - "name": "_transferFromToken", + "name": "approveToStargateRouter", "nameLocation": { "column": "13", - "end": "27931", - "length": "18", - "line": "786", - "parentIndex": "1742", - "start": "27914" + "end": "28534", + "length": "23", + "line": "796", + "parentIndex": "1755", + "start": "28512" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "1743", + "id": "1756", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "1744", + "id": "1757", "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "1744", + "scope": "1757", "src": { - "column": "8", - "end": "27953", + "column": "37", + "end": "28547", "length": "12", - "line": "787", - "parentIndex": "1743", - "start": "27942" + "line": "796", + "parentIndex": "1756", + "start": "28536" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -31211,38 +31427,38 @@ "typeString": "contract IERC20" }, "typeName": { - "id": "1745", + "id": "1758", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "1746", + "id": "1759", "name": "IERC20", "nameLocation": { - "column": "8", - "end": "27947", + "column": "37", + "end": "28541", "length": "6", - "line": "787", - "parentIndex": "1745", - "start": "27942" + "line": "796", + "parentIndex": "1758", + "start": "28536" }, "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1089", "src": { - "column": "8", - "end": "27947", + "column": "37", + "end": "28541", "length": "6", - "line": "787", - "parentIndex": "1745", - "start": "27942" + "line": "796", + "parentIndex": "1758", + "start": "28536" } }, "referencedDeclaration": "1089", "src": { - "column": "8", - "end": "27947", + "column": "37", + "end": "28541", "length": "6", - "line": "787", - "parentIndex": "1744", - "start": "27942" + "line": "796", + "parentIndex": "1757", + "start": "28536" }, "typeDescription": { "typeIdentifier": "t_contract$_IERC20_$1089", @@ -31250,479 +31466,427 @@ } }, "visibility": "INTERNAL" - }, - { - "id": "1747", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1747", - "src": { - "column": "8", - "end": "27973", - "length": "10", - "line": "788", - "parentIndex": "1743", - "start": "27964" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1748", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "27970", - "length": "7", - "line": "788", - "parentIndex": "1747", - "start": "27964" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1749", - "name": "amount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1749", - "src": { - "column": "8", - "end": "27997", - "length": "14", - "line": "789", - "parentIndex": "1743", - "start": "27984" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1750", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "27990", - "length": "7", - "line": "789", - "parentIndex": "1749", - "start": "27984" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" } ], "src": { - "column": "8", - "end": "27997", - "length": "56", - "line": "787", - "parentIndex": "1742", - "start": "27942" + "column": "37", + "end": "28547", + "length": "12", + "line": "796", + "parentIndex": "1755", + "start": "28536" } }, "returnParameters": { - "id": "1751", + "id": "1760", "nodeType": "PARAMETER_LIST", "src": { "column": "4", - "end": "28076", - "length": "172", - "line": "786", - "parentIndex": "1742", - "start": "27905" + "end": "28636", + "length": "134", + "line": "796", + "parentIndex": "1755", + "start": "28503" } }, - "scope": "1707", - "signature": "6ec27143", + "scope": "1705", + "signature": "4c6e98b7", "src": { "column": "4", - "end": "28076", - "length": "172", - "line": "786", - "parentIndex": "1707", - "start": "27905" + "end": "28636", + "length": "134", + "line": "796", + "parentIndex": "1705", + "start": "28503" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", - "typeString": "function(contract IERC20,address,uint256)" + "typeIdentifier": "t_function_$_t_contract$_IERC20_$1089$", + "typeString": "function(contract IERC20)" }, - "visibility": "INTERNAL" + "visibility": "EXTERNAL" } }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "1768", + "id": "1784", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "65", - "end": "28444", - "length": "150", - "line": "797", - "parentIndex": "1761", - "start": "28295" + "column": "15", + "end": "30339", + "length": "881", + "line": "812", + "parentIndex": "1772", + "start": "29459" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "argumentTypes": [ + "assignments": [ + "1786" + ], + "declarations": [ { - "typeIdentifier": "t_function_$_t_function_$_t_address$", - "typeString": "function(function(address))" + "id": "1786", + "mutability": "MUTABLE", + "name": "payload", + "nameLocation": { + "column": "21", + "end": "29488", + "length": "7", + "line": "813", + "parentIndex": "1786", + "start": "29482" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "1784", + "src": { + "column": "8", + "end": "29488", + "length": "20", + "line": "813", + "parentIndex": "1785", + "start": "29469" + }, + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1787", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "29473", + "length": "5", + "line": "813", + "parentIndex": "1786", + "start": "29469" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" } ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenAdapter_$1684", - "typeString": "contract TokenAdapter" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "1782", - "name": "this", - "nodeType": "IDENTIFIER", - "src": { - "column": "62", - "end": "28362", - "length": "4", - "line": "798", - "parentIndex": "1779", - "start": "28359" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_TokenAdapter_$1684", - "typeString": "contract TokenAdapter" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "1780", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "54", - "end": "28357", - "length": "7", - "line": "798", - "parentIndex": "1779", - "start": "28351" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "1781", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "54", - "end": "28357", - "length": "7", - "line": "798", - "parentIndex": "1780", - "start": "28351" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "1779", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "54", - "end": "28363", - "length": "13", - "line": "798", - "parentIndex": "1774", - "start": "28351" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - } - ], - "expression": { + "id": "1785", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + ], + "arguments": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "1778", - "name": "token", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "1778", - "src": { - "column": "37", - "end": "28338", - "length": "5", - "line": "798", - "parentIndex": "1776", - "start": "28334" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "1777", - "name": "IERC20", - "nodeType": "IDENTIFIER", - "src": { - "column": "30", - "end": "28332", - "length": "6", - "line": "798", - "parentIndex": "1776", - "start": "28327" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "1776", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "1792", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1792", "src": { - "column": "30", - "end": "28339", - "length": "13", - "line": "798", - "parentIndex": "1775", - "start": "28327" + "column": "42", + "end": "29508", + "length": "6", + "line": "813", + "parentIndex": "1791", + "start": "29503" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } }, - "id": "1775", + "id": "1791", "memberLocation": { - "column": "44", - "end": "28349", - "length": "9", - "line": "798", - "parentIndex": "1775", - "start": "28341" + "column": "49", + "end": "29511", + "length": "2", + "line": "813", + "parentIndex": "1791", + "start": "29510" }, - "memberName": "balanceOf", + "memberName": "to", "nodeType": "MEMBER_ACCESS", "src": { - "column": "30", - "end": "28349", - "length": "23", - "line": "798", - "parentIndex": "1774", - "start": "28327" + "column": "42", + "end": "29511", + "length": "9", + "line": "813", + "parentIndex": "1788", + "start": "29503" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } }, - "id": "1774", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "30", - "end": "28364", - "length": "38", - "line": "798", - "parentIndex": "1769", - "start": "28327" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + ], + "id": "1793", + "name": "actions", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1793", + "src": { + "column": "53", + "end": "29520", + "length": "7", + "line": "813", + "parentIndex": "1788", + "start": "29514" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_address$", - "typeString": "function(function(address))" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": "1794", + "name": "values", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1794", + "src": { + "column": "62", + "end": "29528", + "length": "6", + "line": "813", + "parentIndex": "1788", + "start": "29523" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "arguments": [ - { + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "1795", + "name": "datas", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1795", + "src": { + "column": "70", + "end": "29535", + "length": "5", + "line": "813", + "parentIndex": "1788", + "start": "29531" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1773", - "name": "token", + "id": "1797", + "name": "params", "nodeType": "IDENTIFIER", - "referencedDeclaration": "1773", + "referencedDeclaration": "1797", "src": { - "column": "14", - "end": "28315", - "length": "5", - "line": "798", - "parentIndex": "1771", - "start": "28311" + "column": "77", + "end": "29543", + "length": "6", + "line": "813", + "parentIndex": "1796", + "start": "29538" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } + }, + "id": "1796", + "memberLocation": { + "column": "84", + "end": "29554", + "length": "10", + "line": "813", + "parentIndex": "1796", + "start": "29545" + }, + "memberName": "srcContext", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "77", + "end": "29554", + "length": "17", + "line": "813", + "parentIndex": "1788", + "start": "29538" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } - ], + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1772", - "name": "IWETH", + "id": "1790", + "name": "abi", "nodeType": "IDENTIFIER", "src": { - "column": "8", - "end": "28309", - "length": "5", - "line": "798", - "parentIndex": "1771", - "start": "28305" + "column": "31", + "end": "29494", + "length": "3", + "line": "813", + "parentIndex": "1789", + "start": "29492" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_magic_abi", + "typeString": "abi" } } }, - "id": "1771", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "1789", + "memberLocation": { + "column": "35", + "end": "29501", + "length": "6", + "line": "813", + "parentIndex": "1789", + "start": "29496" + }, + "memberName": "encode", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "8", - "end": "28316", - "length": "12", - "line": "798", - "parentIndex": "1770", - "start": "28305" + "column": "31", + "end": "29501", + "length": "10", + "line": "813", + "parentIndex": "1788", + "start": "29492" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "typeIdentifier": "t_magic_abi", + "typeString": "abi" } } }, - "id": "1770", - "memberLocation": { - "column": "21", - "end": "28325", - "length": "8", - "line": "798", - "parentIndex": "1770", - "start": "28318" - }, - "memberName": "withdraw", - "nodeType": "MEMBER_ACCESS", + "id": "1788", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "8", - "end": "28325", - "length": "21", - "line": "798", - "parentIndex": "1769", - "start": "28305" + "column": "31", + "end": "29555", + "length": "64", + "line": "813", + "parentIndex": "1785", + "start": "29492" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_uint8$_t_uint256$_t_bytes$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes,struct StargateAdapter.StargateTeleportParams)" } } }, - "id": "1769", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "28365", - "length": "61", - "line": "798", - "parentIndex": "1768", - "start": "28305" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_address$", - "typeString": "function(function(function(address)))" + "end": "29556", + "length": "88", + "line": "813", + "parentIndex": "1784", + "start": "29469" } } }, @@ -31731,6975 +31895,1663 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_function_$_t_function_$_t_rational_0_by_1$", - "typeString": "function(function(int_const 0))" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" }, { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" }, { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_function_payable$_t_address$", + "typeString": "function(address) payable" + }, + { + "typeIdentifier": "$_t_conditional", + "typeString": "conditional" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" + }, + { + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams)" + }, + { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + ], "arguments": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_rational_0_by_1$", - "typeString": "function(int_const 0)" + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1803", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1803", + "src": { + "column": "12", + "end": "29635", + "length": "6", + "line": "816", + "parentIndex": "1802", + "start": "29630" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } } - ], - "arguments": [ + }, + "id": "1802", + "memberLocation": { + "column": "19", + "end": "29646", + "length": "10", + "line": "816", + "parentIndex": "1802", + "start": "29637" + }, + "memberName": "dstChainId", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "29646", + "length": "17", + "line": "816", + "parentIndex": "1798", + "start": "29630" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "argumentTypes": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "1790", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "39", - "end": "28407", - "length": "1", - "line": "799", - "parentIndex": "1787", - "start": "28407" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "1788", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "31", - "end": "28405", - "length": "7", - "line": "799", - "parentIndex": "1787", - "start": "28399" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "1789", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "31", - "end": "28405", - "length": "7", - "line": "799", - "parentIndex": "1788", - "start": "28399" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "1787", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "31", - "end": "28408", - "length": "10", - "line": "799", - "parentIndex": "1785", - "start": "28399" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_0_by_1$", - "typeString": "function(int_const 0)" - } - } + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1786", - "name": "IERC20", + "id": "1805", + "name": "params", "nodeType": "IDENTIFIER", + "referencedDeclaration": "1805", "src": { - "column": "24", - "end": "28397", + "column": "12", + "end": "29666", "length": "6", - "line": "799", - "parentIndex": "1785", - "start": "28392" + "line": "817", + "parentIndex": "1804", + "start": "29661" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } }, - "id": "1785", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "1804", + "memberLocation": { + "column": "19", + "end": "29676", + "length": "9", + "line": "817", + "parentIndex": "1804", + "start": "29668" + }, + "memberName": "srcPoolId", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "24", - "end": "28409", - "length": "18", - "line": "799", - "parentIndex": "1783", - "start": "28392" + "column": "12", + "end": "29676", + "length": "16", + "line": "817", + "parentIndex": "1798", + "start": "29661" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_rational_0_by_1$", - "typeString": "function(function(int_const 0))" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "argumentTypes": [ { - "typeIdentifier": "t_function_$_t_function_$_t_rational_0_by_1$", - "typeString": "function(function(int_const 0))" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } ], - "id": "1791", - "name": "to", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "1791", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1807", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1807", + "src": { + "column": "12", + "end": "29696", + "length": "6", + "line": "818", + "parentIndex": "1806", + "start": "29691" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "1806", + "memberLocation": { + "column": "19", + "end": "29706", + "length": "9", + "line": "818", + "parentIndex": "1806", + "start": "29698" + }, + "memberName": "dstPoolId", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "44", - "end": "28413", - "length": "2", - "line": "799", - "parentIndex": "1783", - "start": "28412" + "column": "12", + "end": "29706", + "length": "16", + "line": "818", + "parentIndex": "1798", + "start": "29691" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PayableConversion", "value": { "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_function_$_t_rational_0_by_1$", - "typeString": "function(function(int_const 0))" - }, { "typeIdentifier": "t_address", "typeString": "address" } ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenAdapter_$1684", - "typeString": "contract TokenAdapter" - } - ], - "arguments": [ - { + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "1796", - "name": "this", + "id": "1810", + "name": "msg", "nodeType": "IDENTIFIER", "src": { - "column": "56", - "end": "28427", - "length": "4", - "line": "799", - "parentIndex": "1793", - "start": "28424" + "column": "20", + "end": "29731", + "length": "3", + "line": "819", + "parentIndex": "1809", + "start": "29729" }, "typeDescription": { - "typeIdentifier": "t_contract$_TokenAdapter_$1684", - "typeString": "contract TokenAdapter" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } } + }, + "id": "1809", + "memberLocation": { + "column": "24", + "end": "29738", + "length": "6", + "line": "819", + "parentIndex": "1809", + "start": "29733" + }, + "memberName": "sender", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "20", + "end": "29738", + "length": "10", + "line": "819", + "parentIndex": "1808", + "start": "29729" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" + } + } + ], + "id": "1808", + "nodeType": "PAYABLE_CONVERSION", + "payable": true, + "src": { + "column": "12", + "end": "29739", + "length": "19", + "line": "819", + "parentIndex": "1798", + "start": "29721" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", + "value": { + "expressions": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "1813", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1815", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1815", + "src": { + "column": "12", + "end": "29777", + "length": "6", + "line": "820", + "parentIndex": "1814", + "start": "29772" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "1814", + "memberLocation": { + "column": "19", + "end": "29784", + "length": "6", + "line": "820", + "parentIndex": "1814", + "start": "29779" + }, + "memberName": "amount", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "29784", + "length": "13", + "line": "820", + "parentIndex": "1813", + "start": "29772" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } - ], - "id": "1794", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "48", - "end": "28422", - "length": "7", - "line": "799", - "parentIndex": "1793", - "start": "28416" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "1795", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "NOT_EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "1816", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "48", - "end": "28422", - "length": "7", - "line": "799", - "parentIndex": "1794", - "start": "28416" + "column": "29", + "end": "29789", + "length": "1", + "line": "820", + "parentIndex": "1813", + "start": "29789" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "12", + "end": "29789", + "length": "18", + "line": "820", + "parentIndex": "1812", + "start": "29772" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1818", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1818", + "src": { + "column": "18", + "end": "29814", + "length": "6", + "line": "821", + "parentIndex": "1817", + "start": "29809" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } + }, + "id": "1817", + "memberLocation": { + "column": "25", + "end": "29821", + "length": "6", + "line": "821", + "parentIndex": "1817", + "start": "29816" + }, + "memberName": "amount", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "18", + "end": "29821", + "length": "13", + "line": "821", + "parentIndex": "1812", + "start": "29809" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } - }, - "id": "1793", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "48", - "end": "28428", - "length": "13", - "line": "799", - "parentIndex": "1792", - "start": "28416" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" } - } - }, - "id": "1792", - "memberLocation": { - "column": "62", - "end": "28436", - "length": "7", - "line": "799", - "parentIndex": "1792", - "start": "28430" - }, - "memberName": "balance", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "48", - "end": "28436", - "length": "21", - "line": "799", - "parentIndex": "1783", - "start": "28416" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "1784", - "name": "_transferTokens", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "28390", - "length": "15", - "line": "799", - "parentIndex": "1783", - "start": "28376" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "1783", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "28437", - "length": "62", - "line": "799", - "parentIndex": "1768", - "start": "28376" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_function_$_t_address$", - "typeString": "function(function(function(int_const 0)),address,function(address))" - } - } - } - ] - }, - "id": "1761", - "implemented": true, - "kind": "KIND_FUNCTION", - "name": "_unwrapTransfer", - "nameLocation": { - "column": "13", - "end": "28257", - "length": "15", - "line": "797", - "parentIndex": "1761", - "start": "28243" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1762", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1763", - "name": "token", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1763", - "src": { - "column": "29", - "end": "28271", - "length": "13", - "line": "797", - "parentIndex": "1762", - "start": "28259" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1764", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "29", - "end": "28265", - "length": "7", - "line": "797", - "parentIndex": "1763", - "start": "28259" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1765", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1765", - "src": { - "column": "44", - "end": "28283", - "length": "10", - "line": "797", - "parentIndex": "1762", - "start": "28274" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1766", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "44", - "end": "28280", - "length": "7", - "line": "797", - "parentIndex": "1765", - "start": "28274" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "29", - "end": "28283", - "length": "25", - "line": "797", - "parentIndex": "1761", - "start": "28259" - } - }, - "returnParameters": { - "id": "1767", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "28444", - "length": "211", - "line": "797", - "parentIndex": "1761", - "start": "28234" - } - }, - "scope": "1707", - "signature": "eca5118f", - "src": { - "column": "4", - "end": "28444", - "length": "211", - "line": "797", - "parentIndex": "1707", - "start": "28234" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - }, - "visibility": "INTERNAL" - } - } - ], - "src": { - "end": "28446", - "length": "1237", - "line": "763", - "parentIndex": "1684", - "start": "27210" - } - } - } - ] - }, - "src": { - "line": 763, - "start": 27210, - "end": 28446, - "length": 1237, - "parent_index": 272 - } - }, - { - "id": 1797, - "license": "GPL-3.0", - "name": "IUniswapV2Pair", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IUniswapV2Pair.sol", - "exported_symbols": [ - { - "id": 1797, - "name": "IUniswapV2Pair", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IUniswapV2Pair.sol" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "1810", - "literals": [ - "pragma", - "solidity", - "\u003e=", - "0", - ".", - "5", - ".", - "0", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "28509", - "length": "24", - "line": "805", - "parentIndex": "1797", - "start": "28486" - }, - "text": "pragma solidity \u003e=0.5.0;" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", - "value": { - "fullyImplemented": true, - "id": "1851", - "kind": "KIND_INTERFACE", - "linearizedBaseContracts": [ - "1851" - ], - "name": "IUniswapV2Pair", - "nameLocation": { - "column": "10", - "end": "28535", - "length": "14", - "line": "807", - "parentIndex": "1851", - "start": "28522" - }, - "nodeType": "CONTRACT_DEFINITION", - "nodes": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "1853", - "name": "Approval", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "1854", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1855", - "indexed": true, - "name": "owner", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1855", - "src": { - "column": "19", - "end": "28578", - "length": "21", - "line": "808", - "parentIndex": "1854", - "start": "28558" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1856", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "19", - "end": "28564", - "length": "7", - "line": "808", - "parentIndex": "1855", - "start": "28558" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1857", - "indexed": true, - "name": "spender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1857", - "src": { - "column": "42", - "end": "28603", - "length": "23", - "line": "808", - "parentIndex": "1854", - "start": "28581" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1858", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "42", - "end": "28587", - "length": "7", - "line": "808", - "parentIndex": "1857", - "start": "28581" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1859", - "name": "value", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1859", - "src": { - "column": "67", - "end": "28615", - "length": "10", - "line": "808", - "parentIndex": "1854", - "start": "28606" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1860", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "67", - "end": "28609", - "length": "4", - "line": "808", - "parentIndex": "1859", - "start": "28606" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "28617", - "length": "75", - "line": "808", - "parentIndex": "1853", - "start": "28543" - } - }, - "src": { - "column": "4", - "end": "28617", - "length": "75", - "line": "808", - "parentIndex": "1851", - "start": "28543" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Approval_\u00261853", - "typeString": "event IUniswapV2Pair.Approval" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "1862", - "name": "Transfer", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "1863", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1864", - "indexed": true, - "name": "from", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1864", - "src": { - "column": "19", - "end": "28657", - "length": "20", - "line": "809", - "parentIndex": "1863", - "start": "28638" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1865", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "19", - "end": "28644", - "length": "7", - "line": "809", - "parentIndex": "1864", - "start": "28638" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1866", - "indexed": true, - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1866", - "src": { - "column": "41", - "end": "28677", - "length": "18", - "line": "809", - "parentIndex": "1863", - "start": "28660" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1867", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "41", - "end": "28666", - "length": "7", - "line": "809", - "parentIndex": "1866", - "start": "28660" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1868", - "name": "value", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1868", - "src": { - "column": "61", - "end": "28689", - "length": "10", - "line": "809", - "parentIndex": "1863", - "start": "28680" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1869", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "61", - "end": "28683", - "length": "4", - "line": "809", - "parentIndex": "1868", - "start": "28680" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "28691", - "length": "69", - "line": "809", - "parentIndex": "1862", - "start": "28623" - } - }, - "src": { - "column": "4", - "end": "28691", - "length": "69", - "line": "809", - "parentIndex": "1851", - "start": "28623" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Transfer_\u00261862", - "typeString": "event IUniswapV2Pair.Transfer" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1878", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "28751", - "length": "54", - "line": "811", - "parentIndex": "1871", - "start": "28698" - } - }, - "id": "1871", - "kind": "KIND_FUNCTION", - "name": "name", - "nameLocation": { - "column": "13", - "end": "28710", - "length": "4", - "line": "811", - "parentIndex": "1871", - "start": "28707" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1872", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1873", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1873", - "src": { - "column": "43", - "end": "28749", - "length": "13", - "line": "811", - "parentIndex": "1872", - "start": "28737" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - }, - "typeName": { - "id": "1874", - "name": "string", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "43", - "end": "28742", - "length": "6", - "line": "811", - "parentIndex": "1873", - "start": "28737" - }, - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "43", - "end": "28749", - "length": "13", - "line": "811", - "parentIndex": "1871", - "start": "28737" - } - }, - "returnParameters": { - "id": "1875", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1876", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1876", - "src": { - "column": "43", - "end": "28749", - "length": "13", - "line": "811", - "parentIndex": "1875", - "start": "28737" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - }, - "typeName": { - "id": "1877", - "name": "string", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "43", - "end": "28742", - "length": "6", - "line": "811", - "parentIndex": "1876", - "start": "28737" - }, - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "43", - "end": "28749", - "length": "13", - "line": "811", - "parentIndex": "1871", - "start": "28737" - } - }, - "scope": "1851", - "signature": "5b43bc99", - "src": { - "column": "4", - "end": "28751", - "length": "54", - "line": "811", - "parentIndex": "1851", - "start": "28698" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_string$", - "typeString": "function(string)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1887", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "28812", - "length": "56", - "line": "812", - "parentIndex": "1880", - "start": "28757" - } - }, - "id": "1880", - "kind": "KIND_FUNCTION", - "name": "symbol", - "nameLocation": { - "column": "13", - "end": "28771", - "length": "6", - "line": "812", - "parentIndex": "1880", - "start": "28766" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1881", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1882", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1882", - "src": { - "column": "45", - "end": "28810", - "length": "13", - "line": "812", - "parentIndex": "1881", - "start": "28798" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - }, - "typeName": { - "id": "1883", - "name": "string", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "45", - "end": "28803", - "length": "6", - "line": "812", - "parentIndex": "1882", - "start": "28798" - }, - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "45", - "end": "28810", - "length": "13", - "line": "812", - "parentIndex": "1880", - "start": "28798" - } - }, - "returnParameters": { - "id": "1884", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1885", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1885", - "src": { - "column": "45", - "end": "28810", - "length": "13", - "line": "812", - "parentIndex": "1884", - "start": "28798" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - }, - "typeName": { - "id": "1886", - "name": "string", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "45", - "end": "28803", - "length": "6", - "line": "812", - "parentIndex": "1885", - "start": "28798" - }, - "typeDescription": { - "typeIdentifier": "t_string", - "typeString": "string" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "45", - "end": "28810", - "length": "13", - "line": "812", - "parentIndex": "1880", - "start": "28798" - } - }, - "scope": "1851", - "signature": "41bb0559", - "src": { - "column": "4", - "end": "28812", - "length": "56", - "line": "812", - "parentIndex": "1851", - "start": "28757" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_string$", - "typeString": "function(string)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1896", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "28867", - "length": "50", - "line": "813", - "parentIndex": "1889", - "start": "28818" - } - }, - "id": "1889", - "kind": "KIND_FUNCTION", - "name": "decimals", - "nameLocation": { - "column": "13", - "end": "28834", - "length": "8", - "line": "813", - "parentIndex": "1889", - "start": "28827" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1890", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1891", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1891", - "src": { - "column": "47", - "end": "28865", - "length": "5", - "line": "813", - "parentIndex": "1890", - "start": "28861" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": "1892", - "name": "uint8", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "47", - "end": "28865", - "length": "5", - "line": "813", - "parentIndex": "1891", - "start": "28861" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "47", - "end": "28865", - "length": "5", - "line": "813", - "parentIndex": "1889", - "start": "28861" - } - }, - "returnParameters": { - "id": "1893", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1894", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1894", - "src": { - "column": "47", - "end": "28865", - "length": "5", - "line": "813", - "parentIndex": "1893", - "start": "28861" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": "1895", - "name": "uint8", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "47", - "end": "28865", - "length": "5", - "line": "813", - "parentIndex": "1894", - "start": "28861" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "47", - "end": "28865", - "length": "5", - "line": "813", - "parentIndex": "1889", - "start": "28861" - } - }, - "scope": "1851", - "signature": "82fd60ab", - "src": { - "column": "4", - "end": "28867", - "length": "50", - "line": "813", - "parentIndex": "1851", - "start": "28818" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint8$", - "typeString": "function(uint8)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1905", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "28924", - "length": "52", - "line": "814", - "parentIndex": "1898", - "start": "28873" - } - }, - "id": "1898", - "kind": "KIND_FUNCTION", - "name": "totalSupply", - "nameLocation": { - "column": "13", - "end": "28892", - "length": "11", - "line": "814", - "parentIndex": "1898", - "start": "28882" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1899", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1900", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1900", - "src": { - "column": "50", - "end": "28922", - "length": "4", - "line": "814", - "parentIndex": "1899", - "start": "28919" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1901", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "50", - "end": "28922", - "length": "4", - "line": "814", - "parentIndex": "1900", - "start": "28919" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "50", - "end": "28922", - "length": "4", - "line": "814", - "parentIndex": "1898", - "start": "28919" - } - }, - "returnParameters": { - "id": "1902", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1903", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1903", - "src": { - "column": "50", - "end": "28922", - "length": "4", - "line": "814", - "parentIndex": "1902", - "start": "28919" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1904", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "50", - "end": "28922", - "length": "4", - "line": "814", - "parentIndex": "1903", - "start": "28919" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "50", - "end": "28922", - "length": "4", - "line": "814", - "parentIndex": "1898", - "start": "28919" - } - }, - "scope": "1851", - "signature": "247f0ca7", - "src": { - "column": "4", - "end": "28924", - "length": "52", - "line": "814", - "parentIndex": "1851", - "start": "28873" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1914", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "28992", - "length": "63", - "line": "815", - "parentIndex": "1907", - "start": "28930" - } - }, - "id": "1907", - "kind": "KIND_FUNCTION", - "name": "balanceOf", - "nameLocation": { - "column": "13", - "end": "28947", - "length": "9", - "line": "815", - "parentIndex": "1907", - "start": "28939" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1908", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1909", - "name": "owner", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1909", - "src": { - "column": "23", - "end": "28961", - "length": "13", - "line": "815", - "parentIndex": "1908", - "start": "28949" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1910", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "23", - "end": "28955", - "length": "7", - "line": "815", - "parentIndex": "1909", - "start": "28949" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "23", - "end": "28961", - "length": "13", - "line": "815", - "parentIndex": "1907", - "start": "28949" - } - }, - "returnParameters": { - "id": "1911", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1912", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1912", - "src": { - "column": "61", - "end": "28990", - "length": "4", - "line": "815", - "parentIndex": "1911", - "start": "28987" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1913", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "61", - "end": "28990", - "length": "4", - "line": "815", - "parentIndex": "1912", - "start": "28987" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "61", - "end": "28990", - "length": "4", - "line": "815", - "parentIndex": "1907", - "start": "28987" - } - }, - "scope": "1851", - "signature": "70a08231", - "src": { - "column": "4", - "end": "28992", - "length": "63", - "line": "815", - "parentIndex": "1851", - "start": "28930" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1925", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "29077", - "length": "80", - "line": "816", - "parentIndex": "1916", - "start": "28998" - } - }, - "id": "1916", - "kind": "KIND_FUNCTION", - "name": "allowance", - "nameLocation": { - "column": "13", - "end": "29015", - "length": "9", - "line": "816", - "parentIndex": "1916", - "start": "29007" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1917", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1918", - "name": "owner", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1918", - "src": { - "column": "23", - "end": "29029", - "length": "13", - "line": "816", - "parentIndex": "1917", - "start": "29017" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1919", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "23", - "end": "29023", - "length": "7", - "line": "816", - "parentIndex": "1918", - "start": "29017" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1920", - "name": "spender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1920", - "src": { - "column": "38", - "end": "29046", - "length": "15", - "line": "816", - "parentIndex": "1917", - "start": "29032" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1921", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "38", - "end": "29038", - "length": "7", - "line": "816", - "parentIndex": "1920", - "start": "29032" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "23", - "end": "29046", - "length": "30", - "line": "816", - "parentIndex": "1916", - "start": "29017" - } - }, - "returnParameters": { - "id": "1922", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1923", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1923", - "src": { - "column": "78", - "end": "29075", - "length": "4", - "line": "816", - "parentIndex": "1922", - "start": "29072" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1924", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "78", - "end": "29075", - "length": "4", - "line": "816", - "parentIndex": "1923", - "start": "29072" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "78", - "end": "29075", - "length": "4", - "line": "816", - "parentIndex": "1916", - "start": "29072" - } - }, - "scope": "1851", - "signature": "69bfed33", - "src": { - "column": "4", - "end": "29077", - "length": "80", - "line": "816", - "parentIndex": "1851", - "start": "28998" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1936", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "29153", - "length": "70", - "line": "818", - "parentIndex": "1927", - "start": "29084" - } - }, - "id": "1927", - "kind": "KIND_FUNCTION", - "name": "approve", - "nameLocation": { - "column": "13", - "end": "29099", - "length": "7", - "line": "818", - "parentIndex": "1927", - "start": "29093" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1928", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1929", - "name": "spender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1929", - "src": { - "column": "21", - "end": "29115", - "length": "15", - "line": "818", - "parentIndex": "1928", - "start": "29101" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1930", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "21", - "end": "29107", - "length": "7", - "line": "818", - "parentIndex": "1929", - "start": "29101" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1931", - "name": "value", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1931", - "src": { - "column": "38", - "end": "29127", - "length": "10", - "line": "818", - "parentIndex": "1928", - "start": "29118" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1932", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "38", - "end": "29121", - "length": "4", - "line": "818", - "parentIndex": "1931", - "start": "29118" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "21", - "end": "29127", - "length": "27", - "line": "818", - "parentIndex": "1927", - "start": "29101" - } - }, - "returnParameters": { - "id": "1933", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1934", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1934", - "src": { - "column": "68", - "end": "29151", - "length": "4", - "line": "818", - "parentIndex": "1933", - "start": "29148" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "1935", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "68", - "end": "29151", - "length": "4", - "line": "818", - "parentIndex": "1934", - "start": "29148" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "68", - "end": "29151", - "length": "4", - "line": "818", - "parentIndex": "1927", - "start": "29148" - } - }, - "scope": "1851", - "signature": "715ea5f2", - "src": { - "column": "4", - "end": "29153", - "length": "70", - "line": "818", - "parentIndex": "1851", - "start": "29084" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_uint256$", - "typeString": "function(address,uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1947", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "29224", - "length": "66", - "line": "819", - "parentIndex": "1938", - "start": "29159" - } - }, - "id": "1938", - "kind": "KIND_FUNCTION", - "name": "transfer", - "nameLocation": { - "column": "13", - "end": "29175", - "length": "8", - "line": "819", - "parentIndex": "1938", - "start": "29168" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1939", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1940", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1940", - "src": { - "column": "22", - "end": "29186", - "length": "10", - "line": "819", - "parentIndex": "1939", - "start": "29177" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1941", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "22", - "end": "29183", - "length": "7", - "line": "819", - "parentIndex": "1940", - "start": "29177" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1942", - "name": "value", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1942", - "src": { - "column": "34", - "end": "29198", - "length": "10", - "line": "819", - "parentIndex": "1939", - "start": "29189" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1943", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "34", - "end": "29192", - "length": "4", - "line": "819", - "parentIndex": "1942", - "start": "29189" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "22", - "end": "29198", - "length": "22", - "line": "819", - "parentIndex": "1938", - "start": "29177" - } - }, - "returnParameters": { - "id": "1944", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1945", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1945", - "src": { - "column": "64", - "end": "29222", - "length": "4", - "line": "819", - "parentIndex": "1944", - "start": "29219" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "1946", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "64", - "end": "29222", - "length": "4", - "line": "819", - "parentIndex": "1945", - "start": "29219" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "64", - "end": "29222", - "length": "4", - "line": "819", - "parentIndex": "1938", - "start": "29219" - } - }, - "scope": "1851", - "signature": "9e17553b", - "src": { - "column": "4", - "end": "29224", - "length": "66", - "line": "819", - "parentIndex": "1851", - "start": "29159" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_uint256$", - "typeString": "function(address,uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1960", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "29313", - "length": "84", - "line": "820", - "parentIndex": "1949", - "start": "29230" - } - }, - "id": "1949", - "kind": "KIND_FUNCTION", - "name": "transferFrom", - "nameLocation": { - "column": "13", - "end": "29250", - "length": "12", - "line": "820", - "parentIndex": "1949", - "start": "29239" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1950", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1951", - "name": "from", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1951", - "src": { - "column": "26", - "end": "29263", - "length": "12", - "line": "820", - "parentIndex": "1950", - "start": "29252" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1952", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "26", - "end": "29258", - "length": "7", - "line": "820", - "parentIndex": "1951", - "start": "29252" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1953", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1953", - "src": { - "column": "40", - "end": "29275", - "length": "10", - "line": "820", - "parentIndex": "1950", - "start": "29266" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1954", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "40", - "end": "29272", - "length": "7", - "line": "820", - "parentIndex": "1953", - "start": "29266" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1955", - "name": "value", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1955", - "src": { - "column": "52", - "end": "29287", - "length": "10", - "line": "820", - "parentIndex": "1950", - "start": "29278" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1956", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "52", - "end": "29281", - "length": "4", - "line": "820", - "parentIndex": "1955", - "start": "29278" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "26", - "end": "29287", - "length": "36", - "line": "820", - "parentIndex": "1949", - "start": "29252" - } - }, - "returnParameters": { - "id": "1957", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1958", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1958", - "src": { - "column": "82", - "end": "29311", - "length": "4", - "line": "820", - "parentIndex": "1957", - "start": "29308" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "1959", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "82", - "end": "29311", - "length": "4", - "line": "820", - "parentIndex": "1958", - "start": "29308" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "82", - "end": "29311", - "length": "4", - "line": "820", - "parentIndex": "1949", - "start": "29308" - } - }, - "scope": "1851", - "signature": "b1e08233", - "src": { - "column": "4", - "end": "29313", - "length": "84", - "line": "820", - "parentIndex": "1851", - "start": "29230" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", - "typeString": "function(address,address,uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1969", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "29379", - "length": "60", - "line": "822", - "parentIndex": "1962", - "start": "29320" - } - }, - "id": "1962", - "kind": "KIND_FUNCTION", - "name": "DOMAIN_SEPARATOR", - "nameLocation": { - "column": "13", - "end": "29344", - "length": "16", - "line": "822", - "parentIndex": "1962", - "start": "29329" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1963", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1964", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1964", - "src": { - "column": "55", - "end": "29377", - "length": "7", - "line": "822", - "parentIndex": "1963", - "start": "29371" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "1965", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "55", - "end": "29377", - "length": "7", - "line": "822", - "parentIndex": "1964", - "start": "29371" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "55", - "end": "29377", - "length": "7", - "line": "822", - "parentIndex": "1962", - "start": "29371" - } - }, - "returnParameters": { - "id": "1966", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1967", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1967", - "src": { - "column": "55", - "end": "29377", - "length": "7", - "line": "822", - "parentIndex": "1966", - "start": "29371" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "1968", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "55", - "end": "29377", - "length": "7", - "line": "822", - "parentIndex": "1967", - "start": "29371" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "55", - "end": "29377", - "length": "7", - "line": "822", - "parentIndex": "1962", - "start": "29371" - } - }, - "scope": "1851", - "signature": "d075954a", - "src": { - "column": "4", - "end": "29379", - "length": "60", - "line": "822", - "parentIndex": "1851", - "start": "29320" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_bytes32$", - "typeString": "function(bytes32)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1978", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "29443", - "length": "59", - "line": "823", - "parentIndex": "1971", - "start": "29385" - } - }, - "id": "1971", - "kind": "KIND_FUNCTION", - "name": "PERMIT_TYPEHASH", - "nameLocation": { - "column": "13", - "end": "29408", - "length": "15", - "line": "823", - "parentIndex": "1971", - "start": "29394" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1972", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1973", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1973", - "src": { - "column": "54", - "end": "29441", - "length": "7", - "line": "823", - "parentIndex": "1972", - "start": "29435" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "1974", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "54", - "end": "29441", - "length": "7", - "line": "823", - "parentIndex": "1973", - "start": "29435" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "54", - "end": "29441", - "length": "7", - "line": "823", - "parentIndex": "1971", - "start": "29435" - } - }, - "returnParameters": { - "id": "1975", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1976", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1976", - "src": { - "column": "54", - "end": "29441", - "length": "7", - "line": "823", - "parentIndex": "1975", - "start": "29435" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "1977", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "54", - "end": "29441", - "length": "7", - "line": "823", - "parentIndex": "1976", - "start": "29435" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "54", - "end": "29441", - "length": "7", - "line": "823", - "parentIndex": "1971", - "start": "29435" - } - }, - "scope": "1851", - "signature": "5b4c0a1d", - "src": { - "column": "4", - "end": "29443", - "length": "59", - "line": "823", - "parentIndex": "1851", - "start": "29385" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_bytes32$", - "typeString": "function(bytes32)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "1987", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "29508", - "length": "60", - "line": "824", - "parentIndex": "1980", - "start": "29449" - } - }, - "id": "1980", - "kind": "KIND_FUNCTION", - "name": "nonces", - "nameLocation": { - "column": "13", - "end": "29463", - "length": "6", - "line": "824", - "parentIndex": "1980", - "start": "29458" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1981", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1982", - "name": "owner", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1982", - "src": { - "column": "20", - "end": "29477", - "length": "13", - "line": "824", - "parentIndex": "1981", - "start": "29465" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1983", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "20", - "end": "29471", - "length": "7", - "line": "824", - "parentIndex": "1982", - "start": "29465" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "20", - "end": "29477", - "length": "13", - "line": "824", - "parentIndex": "1980", - "start": "29465" - } - }, - "returnParameters": { - "id": "1984", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1985", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1985", - "src": { - "column": "58", - "end": "29506", - "length": "4", - "line": "824", - "parentIndex": "1984", - "start": "29503" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1986", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "58", - "end": "29506", - "length": "4", - "line": "824", - "parentIndex": "1985", - "start": "29503" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "58", - "end": "29506", - "length": "4", - "line": "824", - "parentIndex": "1980", - "start": "29503" - } - }, - "scope": "1851", - "signature": "7ecebe00", - "src": { - "column": "4", - "end": "29508", - "length": "60", - "line": "824", - "parentIndex": "1851", - "start": "29449" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2006", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "29629", - "length": "115", - "line": "826", - "parentIndex": "1989", - "start": "29515" - } - }, - "id": "1989", - "kind": "KIND_FUNCTION", - "name": "permit", - "nameLocation": { - "column": "13", - "end": "29529", - "length": "6", - "line": "826", - "parentIndex": "1989", - "start": "29524" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "1990", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "1991", - "name": "owner", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1991", - "src": { - "column": "20", - "end": "29543", - "length": "13", - "line": "826", - "parentIndex": "1990", - "start": "29531" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1992", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "20", - "end": "29537", - "length": "7", - "line": "826", - "parentIndex": "1991", - "start": "29531" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1993", - "name": "spender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1993", - "src": { - "column": "35", - "end": "29560", - "length": "15", - "line": "826", - "parentIndex": "1990", - "start": "29546" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "1994", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "35", - "end": "29552", - "length": "7", - "line": "826", - "parentIndex": "1993", - "start": "29546" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1995", - "name": "value", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1995", - "src": { - "column": "52", - "end": "29572", - "length": "10", - "line": "826", - "parentIndex": "1990", - "start": "29563" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1996", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "52", - "end": "29566", - "length": "4", - "line": "826", - "parentIndex": "1995", - "start": "29563" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1997", - "name": "deadline", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1997", - "src": { - "column": "64", - "end": "29587", - "length": "13", - "line": "826", - "parentIndex": "1990", - "start": "29575" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "1998", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "64", - "end": "29578", - "length": "4", - "line": "826", - "parentIndex": "1997", - "start": "29575" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "1999", - "name": "v", - "nodeType": "VARIABLE_DECLARATION", - "scope": "1999", - "src": { - "column": "79", - "end": "29596", - "length": "7", - "line": "826", - "parentIndex": "1990", - "start": "29590" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": "2000", - "name": "uint8", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "79", - "end": "29594", - "length": "5", - "line": "826", - "parentIndex": "1999", - "start": "29590" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2001", - "name": "r", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2001", - "src": { - "column": "88", - "end": "29607", - "length": "9", - "line": "826", - "parentIndex": "1990", - "start": "29599" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "2002", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "88", - "end": "29605", - "length": "7", - "line": "826", - "parentIndex": "2001", - "start": "29599" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2003", - "name": "s", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2003", - "src": { - "column": "99", - "end": "29618", - "length": "9", - "line": "826", - "parentIndex": "1990", - "start": "29610" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "2004", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "99", - "end": "29616", - "length": "7", - "line": "826", - "parentIndex": "2003", - "start": "29610" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "20", - "end": "29618", - "length": "88", - "line": "826", - "parentIndex": "1989", - "start": "29531" - } - }, - "returnParameters": { - "id": "2005", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "29629", - "length": "115", - "line": "826", - "parentIndex": "1989", - "start": "29515" - } - }, - "scope": "1851", - "signature": "0f94a422", - "src": { - "column": "4", - "end": "29629", - "length": "115", - "line": "826", - "parentIndex": "1851", - "start": "29515" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", - "typeString": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "2008", - "name": "Mint", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "2009", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2010", - "indexed": true, - "name": "sender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2010", - "src": { - "column": "15", - "end": "29668", - "length": "22", - "line": "828", - "parentIndex": "2009", - "start": "29647" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2011", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "15", - "end": "29653", - "length": "7", - "line": "828", - "parentIndex": "2010", - "start": "29647" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2012", - "name": "amount0", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2012", - "src": { - "column": "39", - "end": "29682", - "length": "12", - "line": "828", - "parentIndex": "2009", - "start": "29671" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2013", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "39", - "end": "29674", - "length": "4", - "line": "828", - "parentIndex": "2012", - "start": "29671" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2014", - "name": "amount1", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2014", - "src": { - "column": "53", - "end": "29696", - "length": "12", - "line": "828", - "parentIndex": "2009", - "start": "29685" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2015", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "53", - "end": "29688", - "length": "4", - "line": "828", - "parentIndex": "2014", - "start": "29685" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "29698", - "length": "63", - "line": "828", - "parentIndex": "2008", - "start": "29636" - } - }, - "src": { - "column": "4", - "end": "29698", - "length": "63", - "line": "828", - "parentIndex": "1851", - "start": "29636" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Mint_\u00262008", - "typeString": "event IUniswapV2Pair.Mint" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "2017", - "name": "Burn", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "2018", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2019", - "indexed": true, - "name": "sender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2019", - "src": { - "column": "15", - "end": "29736", - "length": "22", - "line": "829", - "parentIndex": "2018", - "start": "29715" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2020", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "15", - "end": "29721", - "length": "7", - "line": "829", - "parentIndex": "2019", - "start": "29715" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2021", - "name": "amount0", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2021", - "src": { - "column": "39", - "end": "29750", - "length": "12", - "line": "829", - "parentIndex": "2018", - "start": "29739" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2022", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "39", - "end": "29742", - "length": "4", - "line": "829", - "parentIndex": "2021", - "start": "29739" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2023", - "name": "amount1", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2023", - "src": { - "column": "53", - "end": "29764", - "length": "12", - "line": "829", - "parentIndex": "2018", - "start": "29753" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2024", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "53", - "end": "29756", - "length": "4", - "line": "829", - "parentIndex": "2023", - "start": "29753" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2025", - "indexed": true, - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2025", - "src": { - "column": "67", - "end": "29784", - "length": "18", - "line": "829", - "parentIndex": "2018", - "start": "29767" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2026", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "67", - "end": "29773", - "length": "7", - "line": "829", - "parentIndex": "2025", - "start": "29767" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "29786", - "length": "83", - "line": "829", - "parentIndex": "2017", - "start": "29704" - } - }, - "src": { - "column": "4", - "end": "29786", - "length": "83", - "line": "829", - "parentIndex": "1851", - "start": "29704" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Burn_\u00262017", - "typeString": "event IUniswapV2Pair.Burn" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "2028", - "name": "Swap", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "2029", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2030", - "indexed": true, - "name": "sender", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2030", - "src": { - "column": "8", - "end": "29833", - "length": "22", - "line": "831", - "parentIndex": "2029", - "start": "29812" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2031", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29818", - "length": "7", - "line": "831", - "parentIndex": "2030", - "start": "29812" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2032", - "name": "amount0In", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2032", - "src": { - "column": "8", - "end": "29857", - "length": "14", - "line": "832", - "parentIndex": "2029", - "start": "29844" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2033", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29847", - "length": "4", - "line": "832", - "parentIndex": "2032", - "start": "29844" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2034", - "name": "amount1In", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2034", - "src": { - "column": "8", - "end": "29881", - "length": "14", - "line": "833", - "parentIndex": "2029", - "start": "29868" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2035", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29871", - "length": "4", - "line": "833", - "parentIndex": "2034", - "start": "29868" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2036", - "name": "amount0Out", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2036", - "src": { - "column": "8", - "end": "29906", - "length": "15", - "line": "834", - "parentIndex": "2029", - "start": "29892" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2037", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29895", - "length": "4", - "line": "834", - "parentIndex": "2036", - "start": "29892" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2038", - "name": "amount1Out", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2038", - "src": { - "column": "8", - "end": "29931", - "length": "15", - "line": "835", - "parentIndex": "2029", - "start": "29917" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2039", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29920", - "length": "4", - "line": "835", - "parentIndex": "2038", - "start": "29917" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2040", - "indexed": true, - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2040", - "src": { - "column": "8", - "end": "29959", - "length": "18", - "line": "836", - "parentIndex": "2029", - "start": "29942" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2041", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "29948", - "length": "7", - "line": "836", - "parentIndex": "2040", - "start": "29942" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "29966", - "length": "175", - "line": "830", - "parentIndex": "2028", - "start": "29792" - } - }, - "src": { - "column": "4", - "end": "29966", - "length": "175", - "line": "830", - "parentIndex": "1851", - "start": "29792" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Swap_\u00262028", - "typeString": "event IUniswapV2Pair.Swap" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", - "value": { - "id": "2043", - "name": "Sync", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "2044", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2045", - "name": "reserve0", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2045", - "src": { - "column": "15", - "end": "29998", - "length": "16", - "line": "838", - "parentIndex": "2044", - "start": "29983" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": "2046", - "name": "uint112", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "15", - "end": "29989", - "length": "7", - "line": "838", - "parentIndex": "2045", - "start": "29983" - }, - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2047", - "name": "reserve1", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2047", - "src": { - "column": "33", - "end": "30016", - "length": "16", - "line": "838", - "parentIndex": "2044", - "start": "30001" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": "2048", - "name": "uint112", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "33", - "end": "30007", - "length": "7", - "line": "838", - "parentIndex": "2047", - "start": "30001" - }, - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "30018", - "length": "47", - "line": "838", - "parentIndex": "2043", - "start": "29972" - } - }, - "src": { - "column": "4", - "end": "30018", - "length": "47", - "line": "838", - "parentIndex": "1851", - "start": "29972" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Sync_\u00262043", - "typeString": "event IUniswapV2Pair.Sync" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2057", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30082", - "length": "58", - "line": "840", - "parentIndex": "2050", - "start": "30025" - } - }, - "id": "2050", - "kind": "KIND_FUNCTION", - "name": "MINIMUM_LIQUIDITY", - "nameLocation": { - "column": "13", - "end": "30050", - "length": "17", - "line": "840", - "parentIndex": "2050", - "start": "30034" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2051", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2052", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2052", - "src": { - "column": "56", - "end": "30080", - "length": "4", - "line": "840", - "parentIndex": "2051", - "start": "30077" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2053", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "56", - "end": "30080", - "length": "4", - "line": "840", - "parentIndex": "2052", - "start": "30077" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "56", - "end": "30080", - "length": "4", - "line": "840", - "parentIndex": "2050", - "start": "30077" - } - }, - "returnParameters": { - "id": "2054", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2055", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2055", - "src": { - "column": "56", - "end": "30080", - "length": "4", - "line": "840", - "parentIndex": "2054", - "start": "30077" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2056", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "56", - "end": "30080", - "length": "4", - "line": "840", - "parentIndex": "2055", - "start": "30077" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "56", - "end": "30080", - "length": "4", - "line": "840", - "parentIndex": "2050", - "start": "30077" - } - }, - "scope": "1851", - "signature": "51096f41", - "src": { - "column": "4", - "end": "30082", - "length": "58", - "line": "840", - "parentIndex": "1851", - "start": "30025" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2066", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30138", - "length": "51", - "line": "841", - "parentIndex": "2059", - "start": "30088" - } - }, - "id": "2059", - "kind": "KIND_FUNCTION", - "name": "factory", - "nameLocation": { - "column": "13", - "end": "30103", - "length": "7", - "line": "841", - "parentIndex": "2059", - "start": "30097" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2060", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2061", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2061", - "src": { - "column": "46", - "end": "30136", - "length": "7", - "line": "841", - "parentIndex": "2060", - "start": "30130" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2062", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "46", - "end": "30136", - "length": "7", - "line": "841", - "parentIndex": "2061", - "start": "30130" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "46", - "end": "30136", - "length": "7", - "line": "841", - "parentIndex": "2059", - "start": "30130" - } - }, - "returnParameters": { - "id": "2063", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2064", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2064", - "src": { - "column": "46", - "end": "30136", - "length": "7", - "line": "841", - "parentIndex": "2063", - "start": "30130" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2065", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "46", - "end": "30136", - "length": "7", - "line": "841", - "parentIndex": "2064", - "start": "30130" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "46", - "end": "30136", - "length": "7", - "line": "841", - "parentIndex": "2059", - "start": "30130" - } - }, - "scope": "1851", - "signature": "395c0fda", - "src": { - "column": "4", - "end": "30138", - "length": "51", - "line": "841", - "parentIndex": "1851", - "start": "30088" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2075", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30193", - "length": "50", - "line": "842", - "parentIndex": "2068", - "start": "30144" - } - }, - "id": "2068", - "kind": "KIND_FUNCTION", - "name": "token0", - "nameLocation": { - "column": "13", - "end": "30158", - "length": "6", - "line": "842", - "parentIndex": "2068", - "start": "30153" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2069", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2070", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2070", - "src": { - "column": "45", - "end": "30191", - "length": "7", - "line": "842", - "parentIndex": "2069", - "start": "30185" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2071", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "45", - "end": "30191", - "length": "7", - "line": "842", - "parentIndex": "2070", - "start": "30185" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "45", - "end": "30191", - "length": "7", - "line": "842", - "parentIndex": "2068", - "start": "30185" - } - }, - "returnParameters": { - "id": "2072", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2073", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2073", - "src": { - "column": "45", - "end": "30191", - "length": "7", - "line": "842", - "parentIndex": "2072", - "start": "30185" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2074", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "45", - "end": "30191", - "length": "7", - "line": "842", - "parentIndex": "2073", - "start": "30185" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "45", - "end": "30191", - "length": "7", - "line": "842", - "parentIndex": "2068", - "start": "30185" - } - }, - "scope": "1851", - "signature": "76bf39a3", - "src": { - "column": "4", - "end": "30193", - "length": "50", - "line": "842", - "parentIndex": "1851", - "start": "30144" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2084", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30248", - "length": "50", - "line": "843", - "parentIndex": "2077", - "start": "30199" - } - }, - "id": "2077", - "kind": "KIND_FUNCTION", - "name": "token1", - "nameLocation": { - "column": "13", - "end": "30213", - "length": "6", - "line": "843", - "parentIndex": "2077", - "start": "30208" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2078", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2079", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2079", - "src": { - "column": "45", - "end": "30246", - "length": "7", - "line": "843", - "parentIndex": "2078", - "start": "30240" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2080", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "45", - "end": "30246", - "length": "7", - "line": "843", - "parentIndex": "2079", - "start": "30240" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "45", - "end": "30246", - "length": "7", - "line": "843", - "parentIndex": "2077", - "start": "30240" - } - }, - "returnParameters": { - "id": "2081", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2082", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2082", - "src": { - "column": "45", - "end": "30246", - "length": "7", - "line": "843", - "parentIndex": "2081", - "start": "30240" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2083", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "45", - "end": "30246", - "length": "7", - "line": "843", - "parentIndex": "2082", - "start": "30240" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "45", - "end": "30246", - "length": "7", - "line": "843", - "parentIndex": "2077", - "start": "30240" - } - }, - "scope": "1851", - "signature": "37823795", - "src": { - "column": "4", - "end": "30248", - "length": "50", - "line": "843", - "parentIndex": "1851", - "start": "30199" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2101", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30362", - "length": "109", - "line": "844", - "parentIndex": "2086", - "start": "30254" - } - }, - "id": "2086", - "kind": "KIND_FUNCTION", - "name": "getReserves", - "nameLocation": { - "column": "13", - "end": "30273", - "length": "11", - "line": "844", - "parentIndex": "2086", - "start": "30263" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2087", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2088", - "name": "reserve0", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2088", - "src": { - "column": "50", - "end": "30315", - "length": "16", - "line": "844", - "parentIndex": "2087", - "start": "30300" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": "2089", - "name": "uint112", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "50", - "end": "30306", - "length": "7", - "line": "844", - "parentIndex": "2088", - "start": "30300" - }, - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2090", - "name": "reserve1", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2090", - "src": { - "column": "68", - "end": "30333", - "length": "16", - "line": "844", - "parentIndex": "2087", - "start": "30318" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": "2091", - "name": "uint112", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "68", - "end": "30324", - "length": "7", - "line": "844", - "parentIndex": "2090", - "start": "30318" - }, - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2092", - "name": "blockTimestampLast", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2092", - "src": { - "column": "86", - "end": "30360", - "length": "25", - "line": "844", - "parentIndex": "2087", - "start": "30336" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": "2093", - "name": "uint32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "86", - "end": "30341", - "length": "6", - "line": "844", - "parentIndex": "2092", - "start": "30336" - }, - "typeDescription": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "50", - "end": "30360", - "length": "61", - "line": "844", - "parentIndex": "2086", - "start": "30300" - } - }, - "returnParameters": { - "id": "2094", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2095", - "name": "reserve0", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2095", - "src": { - "column": "50", - "end": "30315", - "length": "16", - "line": "844", - "parentIndex": "2094", - "start": "30300" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": "2096", - "name": "uint112", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "50", - "end": "30306", - "length": "7", - "line": "844", - "parentIndex": "2095", - "start": "30300" - }, - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2097", - "name": "reserve1", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2097", - "src": { - "column": "68", - "end": "30333", - "length": "16", - "line": "844", - "parentIndex": "2094", - "start": "30318" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": "2098", - "name": "uint112", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "68", - "end": "30324", - "length": "7", - "line": "844", - "parentIndex": "2097", - "start": "30318" - }, - "typeDescription": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2099", - "name": "blockTimestampLast", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2099", - "src": { - "column": "86", - "end": "30360", - "length": "25", - "line": "844", - "parentIndex": "2094", - "start": "30336" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": "2100", - "name": "uint32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "86", - "end": "30341", - "length": "6", - "line": "844", - "parentIndex": "2099", - "start": "30336" - }, - "typeDescription": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "50", - "end": "30360", - "length": "61", - "line": "844", - "parentIndex": "2086", - "start": "30300" - } - }, - "scope": "1851", - "signature": "06f200c5", - "src": { - "column": "4", - "end": "30362", - "length": "109", - "line": "844", - "parentIndex": "1851", - "start": "30254" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", - "typeString": "function(uint112,uint112,uint32)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2110", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30428", - "length": "61", - "line": "845", - "parentIndex": "2103", - "start": "30368" - } - }, - "id": "2103", - "kind": "KIND_FUNCTION", - "name": "price0CumulativeLast", - "nameLocation": { - "column": "13", - "end": "30396", - "length": "20", - "line": "845", - "parentIndex": "2103", - "start": "30377" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2104", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2105", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2105", - "src": { - "column": "59", - "end": "30426", - "length": "4", - "line": "845", - "parentIndex": "2104", - "start": "30423" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2106", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "59", - "end": "30426", - "length": "4", - "line": "845", - "parentIndex": "2105", - "start": "30423" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "59", - "end": "30426", - "length": "4", - "line": "845", - "parentIndex": "2103", - "start": "30423" - } - }, - "returnParameters": { - "id": "2107", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2108", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2108", - "src": { - "column": "59", - "end": "30426", - "length": "4", - "line": "845", - "parentIndex": "2107", - "start": "30423" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2109", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "59", - "end": "30426", - "length": "4", - "line": "845", - "parentIndex": "2108", - "start": "30423" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "59", - "end": "30426", - "length": "4", - "line": "845", - "parentIndex": "2103", - "start": "30423" - } - }, - "scope": "1851", - "signature": "f8d9234a", - "src": { - "column": "4", - "end": "30428", - "length": "61", - "line": "845", - "parentIndex": "1851", - "start": "30368" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2119", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30494", - "length": "61", - "line": "846", - "parentIndex": "2112", - "start": "30434" - } - }, - "id": "2112", - "kind": "KIND_FUNCTION", - "name": "price1CumulativeLast", - "nameLocation": { - "column": "13", - "end": "30462", - "length": "20", - "line": "846", - "parentIndex": "2112", - "start": "30443" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2113", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2114", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2114", - "src": { - "column": "59", - "end": "30492", - "length": "4", - "line": "846", - "parentIndex": "2113", - "start": "30489" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2115", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "59", - "end": "30492", - "length": "4", - "line": "846", - "parentIndex": "2114", - "start": "30489" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "59", - "end": "30492", - "length": "4", - "line": "846", - "parentIndex": "2112", - "start": "30489" - } - }, - "returnParameters": { - "id": "2116", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2117", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2117", - "src": { - "column": "59", - "end": "30492", - "length": "4", - "line": "846", - "parentIndex": "2116", - "start": "30489" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2118", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "59", - "end": "30492", - "length": "4", - "line": "846", - "parentIndex": "2117", - "start": "30489" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "59", - "end": "30492", - "length": "4", - "line": "846", - "parentIndex": "2112", - "start": "30489" - } - }, - "scope": "1851", - "signature": "2aa8398b", - "src": { - "column": "4", - "end": "30494", - "length": "61", - "line": "846", - "parentIndex": "1851", - "start": "30434" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2128", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30545", - "length": "46", - "line": "847", - "parentIndex": "2121", - "start": "30500" - } - }, - "id": "2121", - "kind": "KIND_FUNCTION", - "name": "kLast", - "nameLocation": { - "column": "13", - "end": "30513", - "length": "5", - "line": "847", - "parentIndex": "2121", - "start": "30509" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2122", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2123", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2123", - "src": { - "column": "44", - "end": "30543", - "length": "4", - "line": "847", - "parentIndex": "2122", - "start": "30540" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2124", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "44", - "end": "30543", - "length": "4", - "line": "847", - "parentIndex": "2123", - "start": "30540" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "44", - "end": "30543", - "length": "4", - "line": "847", - "parentIndex": "2121", - "start": "30540" - } - }, - "returnParameters": { - "id": "2125", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2126", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2126", - "src": { - "column": "44", - "end": "30543", - "length": "4", - "line": "847", - "parentIndex": "2125", - "start": "30540" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2127", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "44", - "end": "30543", - "length": "4", - "line": "847", - "parentIndex": "2126", - "start": "30540" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "44", - "end": "30543", - "length": "4", - "line": "847", - "parentIndex": "2121", - "start": "30540" - } - }, - "scope": "1851", - "signature": "ce0485c1", - "src": { - "column": "4", - "end": "30545", - "length": "46", - "line": "847", - "parentIndex": "1851", - "start": "30500" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2137", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30611", - "length": "60", - "line": "849", - "parentIndex": "2130", - "start": "30552" - } - }, - "id": "2130", - "kind": "KIND_FUNCTION", - "name": "mint", - "nameLocation": { - "column": "13", - "end": "30564", - "length": "4", - "line": "849", - "parentIndex": "2130", - "start": "30561" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2131", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2132", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2132", - "src": { - "column": "18", - "end": "30575", - "length": "10", - "line": "849", - "parentIndex": "2131", - "start": "30566" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2133", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "18", - "end": "30572", - "length": "7", - "line": "849", - "parentIndex": "2132", - "start": "30566" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "18", - "end": "30575", - "length": "10", - "line": "849", - "parentIndex": "2130", - "start": "30566" - } - }, - "returnParameters": { - "id": "2134", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2135", - "name": "liquidity", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2135", - "src": { - "column": "48", - "end": "30609", - "length": "14", - "line": "849", - "parentIndex": "2134", - "start": "30596" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2136", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "48", - "end": "30599", - "length": "4", - "line": "849", - "parentIndex": "2135", - "start": "30596" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "48", - "end": "30609", - "length": "14", - "line": "849", - "parentIndex": "2130", - "start": "30596" - } - }, - "scope": "1851", - "signature": "6a627842", - "src": { - "column": "4", - "end": "30611", - "length": "60", - "line": "849", - "parentIndex": "1851", - "start": "30552" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2148", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30688", - "length": "72", - "line": "850", - "parentIndex": "2139", - "start": "30617" - } - }, - "id": "2139", - "kind": "KIND_FUNCTION", - "name": "burn", - "nameLocation": { - "column": "13", - "end": "30629", - "length": "4", - "line": "850", - "parentIndex": "2139", - "start": "30626" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2140", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2141", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2141", - "src": { - "column": "18", - "end": "30640", - "length": "10", - "line": "850", - "parentIndex": "2140", - "start": "30631" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2142", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "18", - "end": "30637", - "length": "7", - "line": "850", - "parentIndex": "2141", - "start": "30631" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "18", - "end": "30640", - "length": "10", - "line": "850", - "parentIndex": "2139", - "start": "30631" - } - }, - "returnParameters": { - "id": "2143", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2144", - "name": "amount0", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2144", - "src": { - "column": "48", - "end": "30672", - "length": "12", - "line": "850", - "parentIndex": "2143", - "start": "30661" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2145", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "48", - "end": "30664", - "length": "4", - "line": "850", - "parentIndex": "2144", - "start": "30661" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2146", - "name": "amount1", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2146", - "src": { - "column": "62", - "end": "30686", - "length": "12", - "line": "850", - "parentIndex": "2143", - "start": "30675" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2147", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "62", - "end": "30678", - "length": "4", - "line": "850", - "parentIndex": "2146", - "start": "30675" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "48", - "end": "30686", - "length": "26", - "line": "850", - "parentIndex": "2139", - "start": "30661" - } - }, - "scope": "1851", - "signature": "89afcb44", - "src": { - "column": "4", - "end": "30688", - "length": "72", - "line": "850", - "parentIndex": "1851", - "start": "30617" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2161", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30783", - "length": "90", - "line": "851", - "parentIndex": "2150", - "start": "30694" - } - }, - "id": "2150", - "kind": "KIND_FUNCTION", - "name": "swap", - "nameLocation": { - "column": "13", - "end": "30706", - "length": "4", - "line": "851", - "parentIndex": "2150", - "start": "30703" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2151", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2152", - "name": "amount0Out", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2152", - "src": { - "column": "18", - "end": "30722", - "length": "15", - "line": "851", - "parentIndex": "2151", - "start": "30708" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2153", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "18", - "end": "30711", - "length": "4", - "line": "851", - "parentIndex": "2152", - "start": "30708" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2154", - "name": "amount1Out", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2154", - "src": { - "column": "35", - "end": "30739", - "length": "15", - "line": "851", - "parentIndex": "2151", - "start": "30725" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2155", - "name": "uint", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "35", - "end": "30728", - "length": "4", - "line": "851", - "parentIndex": "2154", - "start": "30725" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2156", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2156", - "src": { - "column": "52", - "end": "30751", - "length": "10", - "line": "851", - "parentIndex": "2151", - "start": "30742" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2157", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "52", - "end": "30748", - "length": "7", - "line": "851", - "parentIndex": "2156", - "start": "30742" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2158", - "name": "data", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2158", - "src": { - "column": "64", - "end": "30772", - "length": "19", - "line": "851", - "parentIndex": "2151", - "start": "30754" - }, - "stateMutability": "MUTABLE", - "storageLocation": "CALLDATA", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "2159", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "64", - "end": "30758", - "length": "5", - "line": "851", - "parentIndex": "2158", - "start": "30754" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "18", - "end": "30772", - "length": "65", - "line": "851", - "parentIndex": "2150", - "start": "30708" - } - }, - "returnParameters": { - "id": "2160", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "30783", - "length": "90", - "line": "851", - "parentIndex": "2150", - "start": "30694" - } - }, - "scope": "1851", - "signature": "7d9441ed", - "src": { - "column": "4", - "end": "30783", - "length": "90", - "line": "851", - "parentIndex": "1851", - "start": "30694" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", - "typeString": "function(uint256,uint256,address,bytes)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2168", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30823", - "length": "35", - "line": "852", - "parentIndex": "2163", - "start": "30789" - } - }, - "id": "2163", - "kind": "KIND_FUNCTION", - "name": "skim", - "nameLocation": { - "column": "13", - "end": "30801", - "length": "4", - "line": "852", - "parentIndex": "2163", - "start": "30798" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2164", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2165", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2165", - "src": { - "column": "18", - "end": "30812", - "length": "10", - "line": "852", - "parentIndex": "2164", - "start": "30803" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2166", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "18", - "end": "30809", - "length": "7", - "line": "852", - "parentIndex": "2165", - "start": "30803" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "18", - "end": "30812", - "length": "10", - "line": "852", - "parentIndex": "2163", - "start": "30803" - } - }, - "returnParameters": { - "id": "2167", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "30823", - "length": "35", - "line": "852", - "parentIndex": "2163", - "start": "30789" - } - }, - "scope": "1851", - "signature": "bc25cf77", - "src": { - "column": "4", - "end": "30823", - "length": "35", - "line": "852", - "parentIndex": "1851", - "start": "30789" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2173", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30853", - "length": "25", - "line": "853", - "parentIndex": "2170", - "start": "30829" - } - }, - "id": "2170", - "kind": "KIND_FUNCTION", - "name": "sync", - "nameLocation": { - "column": "13", - "end": "30841", - "length": "4", - "line": "853", - "parentIndex": "2170", - "start": "30838" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2171", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "30853", - "length": "25", - "line": "853", - "parentIndex": "2170", - "start": "30829" - } - }, - "returnParameters": { - "id": "2172", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "30853", - "length": "25", - "line": "853", - "parentIndex": "2170", - "start": "30829" - } - }, - "scope": "1851", - "signature": "fff6cae9", - "src": { - "column": "4", - "end": "30853", - "length": "25", - "line": "853", - "parentIndex": "1851", - "start": "30829" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2182", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "30906", - "length": "47", - "line": "855", - "parentIndex": "2175", - "start": "30860" - } - }, - "id": "2175", - "kind": "KIND_FUNCTION", - "name": "initialize", - "nameLocation": { - "column": "13", - "end": "30878", - "length": "10", - "line": "855", - "parentIndex": "2175", - "start": "30869" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2176", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2177", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2177", - "src": { - "column": "24", - "end": "30886", - "length": "7", - "line": "855", - "parentIndex": "2176", - "start": "30880" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2178", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "24", - "end": "30886", - "length": "7", - "line": "855", - "parentIndex": "2177", - "start": "30880" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2179", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2179", - "src": { - "column": "33", - "end": "30895", - "length": "7", - "line": "855", - "parentIndex": "2176", - "start": "30889" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2180", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "33", - "end": "30895", - "length": "7", - "line": "855", - "parentIndex": "2179", - "start": "30889" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "24", - "end": "30895", - "length": "16", - "line": "855", - "parentIndex": "2175", - "start": "30880" - } - }, - "returnParameters": { - "id": "2181", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "30906", - "length": "47", - "line": "855", - "parentIndex": "2175", - "start": "30860" - } - }, - "scope": "1851", - "signature": "58e0d614", - "src": { - "column": "4", - "end": "30906", - "length": "47", - "line": "855", - "parentIndex": "1851", - "start": "30860" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - }, - "visibility": "EXTERNAL" - } - } - ], - "src": { - "end": "30908", - "length": "2397", - "line": "807", - "parentIndex": "1797", - "start": "28512" - } - } - } - ] - }, - "src": { - "line": 807, - "start": 28512, - "end": 30908, - "length": 2397, - "parent_index": 272 - } - }, - { - "id": 2183, - "license": "MIT", - "name": "SafeMathUniswap", - "exported_symbols": [ - { - "id": 2183, - "name": "SafeMathUniswap" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "2197", - "literals": [ - "pragma", - "solidity", - "\u003e=", - "0", - ".", - "6", - ".", - "12", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "30972", - "length": "25", - "line": "860", - "parentIndex": "2183", - "start": "30948" - }, - "text": "pragma solidity \u003e=0.6.12;" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", - "value": { - "fullyImplemented": true, - "id": "2208", - "kind": "KIND_LIBRARY", - "linearizedBaseContracts": [ - "2208" - ], - "name": "SafeMathUniswap", - "nameLocation": { - "column": "8", - "end": "31103", - "length": "15", - "line": "864", - "parentIndex": "2208", - "start": "31089" - }, - "nodeType": "CONTRACT_DEFINITION", - "nodes": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2219", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "73", - "end": "31245", - "length": "66", - "line": "865", - "parentIndex": "2210", - "start": "31180" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"ds-math-add-overflow\"" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2222", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2224", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2225", - "name": "z", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2217", - "src": { - "column": "17", - "end": "31199", - "length": "1", - "line": "866", - "parentIndex": "2224", - "start": "31199" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StargateAdapter_$1678", + "typeString": "contract StargateAdapter" } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2226", - "leftExpression": { + ], + "arguments": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2227", - "name": "x", + "id": "1828", + "name": "this", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2227", "src": { - "column": "21", - "end": "31203", - "length": "1", - "line": "866", - "parentIndex": "2226", - "start": "31203" + "column": "57", + "end": "29883", + "length": "4", + "line": "822", + "parentIndex": "1825", + "start": "29880" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_StargateAdapter_$1678", + "typeString": "contract StargateAdapter" } } - }, - "nodeType": "BINARY_OPERATION", - "operator": "ADDITION", - "rightExpression": { + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "1826", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "49", + "end": "29878", + "length": "7", + "line": "822", + "parentIndex": "1825", + "start": "29872" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "1827", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "49", + "end": "29878", + "length": "7", + "line": "822", + "parentIndex": "1826", + "start": "29872" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "id": "1825", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "49", + "end": "29884", + "length": "13", + "line": "822", + "parentIndex": "1819", + "start": "29872" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1824", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1824", + "src": { + "column": "25", + "end": "29853", + "length": "6", + "line": "822", + "parentIndex": "1823", + "start": "29848" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "1823", + "memberLocation": { + "column": "32", + "end": "29859", + "length": "5", + "line": "822", + "parentIndex": "1823", + "start": "29855" + }, + "memberName": "token", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "25", + "end": "29859", + "length": "12", + "line": "822", + "parentIndex": "1821", + "start": "29848" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + } + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2228", - "name": "y", + "id": "1822", + "name": "IERC20", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2228", "src": { - "column": "25", - "end": "31207", - "length": "1", - "line": "866", - "parentIndex": "2226", - "start": "31207" + "column": "18", + "end": "29846", + "length": "6", + "line": "822", + "parentIndex": "1821", + "start": "29841" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, + "id": "1821", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "21", - "end": "31207", - "length": "5", - "line": "866", - "parentIndex": "2224", - "start": "31203" + "column": "18", + "end": "29860", + "length": "20", + "line": "822", + "parentIndex": "1820", + "start": "29841" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams)" } } }, - "src": { - "column": "17", - "end": "31207", + "id": "1820", + "memberLocation": { + "column": "39", + "end": "29870", "length": "9", - "line": "866", - "parentIndex": "2223", - "start": "31199" + "line": "822", + "parentIndex": "1820", + "start": "29862" + }, + "memberName": "balanceOf", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "18", + "end": "29870", + "length": "30", + "line": "822", + "parentIndex": "1819", + "start": "29841" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams)" } } + }, + "id": "1819", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "18", + "end": "29885", + "length": "45", + "line": "822", + "parentIndex": "1812", + "start": "29841" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_address$", + "typeString": "function(function(address))" } - ], - "id": "2223", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "16", - "end": "31208", - "length": "11", - "line": "866", - "parentIndex": "2222", - "start": "31198" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256$", - "typeString": "tuple(uint256)" } } + ], + "id": "1812", + "nodeType": "CONDITIONAL_EXPRESSION", + "src": { + "column": "12", + "end": "29885", + "length": "114", + "line": "820", + "parentIndex": "1798", + "start": "29772" }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN_OR_EQUAL", - "rightExpression": { + "typeDescriptions": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_function_$_t_function_$_t_address$", + "typeString": "function(function(address))" + } + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_function_payable$_t_address$", + "typeString": "function(address) payable" + }, + { + "typeIdentifier": "$_t_conditional", + "typeString": "conditional" + } + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2229", - "name": "x", + "id": "1830", + "name": "params", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2229", + "referencedDeclaration": "1830", "src": { - "column": "31", - "end": "31213", - "length": "1", - "line": "866", - "parentIndex": "2222", - "start": "31213" + "column": "12", + "end": "29905", + "length": "6", + "line": "823", + "parentIndex": "1829", + "start": "29900" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } }, + "id": "1829", + "memberLocation": { + "column": "19", + "end": "29915", + "length": "9", + "line": "823", + "parentIndex": "1829", + "start": "29907" + }, + "memberName": "amountMin", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "16", - "end": "31213", + "column": "12", + "end": "29915", "length": "16", - "line": "866", - "parentIndex": "2220", - "start": "31198" + "line": "823", + "parentIndex": "1798", + "start": "29900" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1835", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1835", + "src": { + "column": "16", + "end": "29976", + "length": "6", + "line": "825", + "parentIndex": "1834", + "start": "29971" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "1834", + "memberLocation": { + "column": "23", + "end": "29980", + "length": "3", + "line": "825", + "parentIndex": "1834", + "start": "29978" + }, + "memberName": "gas", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "29980", + "length": "10", + "line": "825", + "parentIndex": "1831", + "start": "29971" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1837", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1837", + "src": { + "column": "16", + "end": "30046", + "length": "6", + "line": "826", + "parentIndex": "1836", + "start": "30041" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "1836", + "memberLocation": { + "column": "23", + "end": "30057", + "length": "10", + "line": "826", + "parentIndex": "1836", + "start": "30048" + }, + "memberName": "dustAmount", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "30057", + "length": "17", + "line": "826", + "parentIndex": "1831", + "start": "30041" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1842", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1842", + "src": { + "column": "33", + "end": "30098", + "length": "6", + "line": "827", + "parentIndex": "1841", + "start": "30093" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "1841", + "memberLocation": { + "column": "40", + "end": "30107", + "length": "8", + "line": "827", + "parentIndex": "1841", + "start": "30100" + }, + "memberName": "receiver", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "33", + "end": "30107", + "length": "15", + "line": "827", + "parentIndex": "1838", + "start": "30093" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1840", + "name": "abi", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "30078", + "length": "3", + "line": "827", + "parentIndex": "1839", + "start": "30076" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "1839", + "memberLocation": { + "column": "20", + "end": "30091", + "length": "12", + "line": "827", + "parentIndex": "1839", + "start": "30080" + }, + "memberName": "encodePacked", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "30091", + "length": "16", + "line": "827", + "parentIndex": "1838", + "start": "30076" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "1838", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "30108", + "length": "33", + "line": "827", + "parentIndex": "1831", + "start": "30076" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams)" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1833", + "name": "IStargateRouter", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "700", + "src": { + "column": "12", + "end": "29944", + "length": "15", + "line": "824", + "parentIndex": "1832", + "start": "29930" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IStargateRouter_$700", + "typeString": "contract IStargateRouter" + } + } + }, + "id": "1832", + "memberLocation": { + "column": "28", + "end": "29952", + "length": "7", + "line": "824", + "parentIndex": "1832", + "start": "29946" + }, + "memberName": "lzTxObj", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "29952", + "length": "23", + "line": "824", + "parentIndex": "1831", + "start": "29930" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IStargateRouter_$700", + "typeString": "contract IStargateRouter" + } + } + }, + "id": "1831", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "30122", + "length": "193", + "line": "824", + "parentIndex": "1798", + "start": "29930" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1847", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1847", + "src": { + "column": "29", + "end": "30159", + "length": "6", + "line": "829", + "parentIndex": "1846", + "start": "30154" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "1846", + "memberLocation": { + "column": "36", + "end": "30168", + "length": "8", + "line": "829", + "parentIndex": "1846", + "start": "30161" + }, + "memberName": "receiver", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "29", + "end": "30168", + "length": "15", + "line": "829", + "parentIndex": "1843", + "start": "30154" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1845", + "name": "abi", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "30139", + "length": "3", + "line": "829", + "parentIndex": "1844", + "start": "30137" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "1844", + "memberLocation": { + "column": "16", + "end": "30152", + "length": "12", + "line": "829", + "parentIndex": "1844", + "start": "30141" + }, + "memberName": "encodePacked", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "30152", + "length": "16", + "line": "829", + "parentIndex": "1843", + "start": "30137" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "1843", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "30169", + "length": "33", + "line": "829", + "parentIndex": "1798", + "start": "30137" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_function_payable$_t_address$", + "typeString": "function(address) payable" + }, + { + "typeIdentifier": "$_t_conditional", + "typeString": "conditional" + }, + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" + }, + { + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams)" + } + ], + "id": "1848", + "name": "payload", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1785", + "src": { + "column": "12", + "end": "30221", + "length": "7", + "line": "830", + "parentIndex": "1798", + "start": "30215" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCallOption", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1801", + "name": "stargateRouter", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "967", + "src": { + "column": "8", + "end": "29580", + "length": "14", + "line": "815", + "parentIndex": "1800", + "start": "29567" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IStargateRouter_$700", + "typeString": "contract IStargateRouter" + } + } + }, + "id": "1800", + "memberLocation": { + "column": "23", + "end": "29585", + "length": "4", + "line": "815", + "parentIndex": "1800", + "start": "29582" + }, + "memberName": "swap", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "8", + "end": "29585", + "length": "19", + "line": "815", + "parentIndex": "1799", + "start": "29567" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IStargateRouter_$700", + "typeString": "contract IStargateRouter" + } } + }, + "id": "1799", + "kind": "FUNCTION_CALL_OPTION", + "nodeType": "FUNCTION_CALL_OPTION", + "src": { + "column": "8", + "end": "29615", + "length": "49", + "line": "815", + "parentIndex": "1798", + "start": "29567" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IStargateRouter_$700", + "typeString": "contract IStargateRouter" } - }, + } + }, + "id": "1798", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "30231", + "length": "665", + "line": "815", + "parentIndex": "1784", + "start": "29567" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_payable$_t_address$_$_t_conditional$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_bytes$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(address) payable,conditional,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams)),function(struct StargateAdapter.StargateTeleportParams),bytes)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0x0001" + } + ], + "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", - "id": "2230", + "hexValue": "307830303031", + "id": "1852", "isPure": true, - "kind": "STRING", + "kind": "NUMBER", "nodeType": "LITERAL", "src": { - "column": "34", - "end": "31237", - "length": "22", - "line": "866", - "parentIndex": "2220", - "start": "31216" + "column": "35", + "end": "30275", + "length": "6", + "line": "833", + "parentIndex": "1849", + "start": "30270" }, "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"ds-math-add-overflow\"" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0x0001" }, - "value": "ds-math-add-overflow" + "value": "0x0001" } } ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "2221", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1851", + "name": "stargateWidget", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "971", + "src": { + "column": "8", + "end": "30256", + "length": "14", + "line": "833", + "parentIndex": "1850", + "start": "30243" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IStargateWidget_$797", + "typeString": "contract IStargateWidget" + } + } + }, + "id": "1850", + "memberLocation": { + "column": "23", + "end": "30268", + "length": "11", + "line": "833", + "parentIndex": "1850", + "start": "30258" + }, + "memberName": "partnerSwap", + "nodeType": "MEMBER_ACCESS", "src": { "column": "8", - "end": "31196", - "length": "7", - "line": "866", - "parentIndex": "2220", - "start": "31190" + "end": "30268", + "length": "26", + "line": "833", + "parentIndex": "1849", + "start": "30243" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_contract$_IStargateWidget_$797", + "typeString": "contract IStargateWidget" } } }, - "id": "2220", + "id": "1849", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "31238", - "length": "49", - "line": "866", - "parentIndex": "2219", - "start": "31190" + "end": "30276", + "length": "34", + "line": "833", + "parentIndex": "1784", + "start": "30243" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" + "typeIdentifier": "t_function_$_t_rational_0_by_1$", + "typeString": "function(int_const 0x0001)" } } - } - ] - }, - "id": "2210", - "implemented": true, - "kind": "KIND_FUNCTION", - "name": "add", - "nameLocation": { - "column": "13", - "end": "31122", - "length": "3", - "line": "865", - "parentIndex": "2210", - "start": "31120" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2211", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2212", - "name": "x", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2212", - "src": { - "column": "17", - "end": "31132", - "length": "9", - "line": "865", - "parentIndex": "2211", - "start": "31124" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2213", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "17", - "end": "31130", - "length": "7", - "line": "865", - "parentIndex": "2212", - "start": "31124" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" }, { - "id": "2214", - "name": "y", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2214", - "src": { - "column": "28", - "end": "31143", - "length": "9", - "line": "865", - "parentIndex": "2211", - "start": "31135" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2215", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "28", - "end": "31141", - "length": "7", - "line": "865", - "parentIndex": "2214", - "start": "31135" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "17", - "end": "31143", - "length": "20", - "line": "865", - "parentIndex": "2210", - "start": "31124" - } - }, - "returnParameters": { - "id": "2216", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2217", - "name": "z", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2217", - "src": { - "column": "62", - "end": "31177", - "length": "9", - "line": "865", - "parentIndex": "2216", - "start": "31169" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2218", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "62", - "end": "31175", - "length": "7", - "line": "865", - "parentIndex": "2217", - "start": "31169" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "62", - "end": "31177", - "length": "9", - "line": "865", - "parentIndex": "2210", - "start": "31169" - } - }, - "scope": "2208", - "signature": "f31e4d28", - "src": { - "column": "4", - "end": "31245", - "length": "135", - "line": "865", - "parentIndex": "2208", - "start": "31111" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", - "typeString": "function(uint256,uint256)" - }, - "visibility": "INTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2241", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "73", - "end": "31387", - "length": "67", - "line": "869", - "parentIndex": "2232", - "start": "31321" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Emit", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"ds-math-sub-underflow\"" - } - ], "arguments": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "2244", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2246", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2247", - "name": "z", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2217", - "src": { - "column": "17", - "end": "31340", - "length": "1", - "line": "870", - "parentIndex": "2246", - "start": "31340" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2248", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2249", - "name": "x", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2249", - "src": { - "column": "21", - "end": "31344", - "length": "1", - "line": "870", - "parentIndex": "2248", - "start": "31344" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2250", - "name": "y", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2250", - "src": { - "column": "25", - "end": "31348", - "length": "1", - "line": "870", - "parentIndex": "2248", - "start": "31348" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "21", - "end": "31348", - "length": "5", - "line": "870", - "parentIndex": "2246", - "start": "31344" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "17", - "end": "31348", - "length": "9", - "line": "870", - "parentIndex": "2245", - "start": "31340" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "id": "2245", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "16", - "end": "31349", - "length": "11", - "line": "870", - "parentIndex": "2244", - "start": "31339" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256$", - "typeString": "tuple(uint256)" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN_OR_EQUAL", - "rightExpression": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2251", - "name": "x", + "id": "1855", + "name": "params", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2251", + "referencedDeclaration": "1855", "src": { - "column": "31", - "end": "31354", - "length": "1", - "line": "870", - "parentIndex": "2244", - "start": "31354" + "column": "35", + "end": "30320", + "length": "6", + "line": "835", + "parentIndex": "1854", + "start": "30315" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } }, - "src": { - "column": "16", - "end": "31354", - "length": "16", - "line": "870", - "parentIndex": "2242", - "start": "31339" + "id": "1854", + "memberLocation": { + "column": "42", + "end": "30331", + "length": "10", + "line": "835", + "parentIndex": "1854", + "start": "30322" }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", - "id": "2252", - "isPure": true, - "kind": "STRING", - "nodeType": "LITERAL", + "memberName": "srcContext", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "34", - "end": "31379", - "length": "23", - "line": "870", - "parentIndex": "2242", - "start": "31357" + "column": "35", + "end": "30331", + "length": "17", + "line": "835", + "parentIndex": "1853", + "start": "30315" }, "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"ds-math-sub-underflow\"" - }, - "value": "ds-math-sub-underflow" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } } } ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2243", - "isPure": true, - "name": "require", + "id": "1856", + "name": "StargateSushiXSwapSrc", "nodeType": "IDENTIFIER", + "referencedDeclaration": "1719", "src": { - "column": "8", - "end": "31337", - "length": "7", - "line": "870", - "parentIndex": "2242", - "start": "31331" + "column": "13", + "end": "30313", + "length": "21", + "line": "835", + "parentIndex": "1853", + "start": "30293" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00261719", + "typeString": "event StargateAdapter.StargateSushiXSwapSrc" } } }, - "id": "2242", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "1853", + "nodeType": "EMIT_STATEMENT", "src": { "column": "8", - "end": "31380", - "length": "50", - "line": "870", - "parentIndex": "2241", - "start": "31331" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" + "end": "30333", + "length": "46", + "line": "835", + "parentIndex": "1772", + "start": "30288" } } } ] }, - "id": "2232", + "id": "1772", "implemented": true, "kind": "KIND_FUNCTION", - "name": "sub", + "name": "_stargateTeleport", "nameLocation": { "column": "13", - "end": "31263", - "length": "3", - "line": "869", - "parentIndex": "2232", - "start": "31261" + "end": "29301", + "length": "17", + "line": "807", + "parentIndex": "1772", + "start": "29285" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2233", + "id": "1773", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2234", - "name": "x", + "id": "1774", + "name": "params", "nodeType": "VARIABLE_DECLARATION", - "scope": "2234", + "scope": "1774", "src": { - "column": "17", - "end": "31273", - "length": "9", - "line": "869", - "parentIndex": "2233", - "start": "31265" + "column": "8", + "end": "29347", + "length": "36", + "line": "808", + "parentIndex": "1773", + "start": "29312" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" }, "typeName": { - "id": "2235", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "1775", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "1776", + "name": "StargateTeleportParams", + "nameLocation": { + "column": "8", + "end": "29333", + "length": "22", + "line": "808", + "parentIndex": "1775", + "start": "29312" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1731", + "src": { + "column": "8", + "end": "29333", + "length": "22", + "line": "808", + "parentIndex": "1775", + "start": "29312" + } + }, + "referencedDeclaration": "1731", "src": { - "column": "17", - "end": "31271", - "length": "7", - "line": "869", - "parentIndex": "2234", - "start": "31265" + "column": "8", + "end": "29333", + "length": "22", + "line": "808", + "parentIndex": "1774", + "start": "29312" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } }, "visibility": "INTERNAL" }, { - "id": "2236", - "name": "y", + "id": "1777", + "name": "actions", "nodeType": "VARIABLE_DECLARATION", - "scope": "2236", + "scope": "1777", "src": { - "column": "28", - "end": "31284", - "length": "9", - "line": "869", - "parentIndex": "2233", - "start": "31276" + "column": "8", + "end": "29379", + "length": "22", + "line": "809", + "parentIndex": "1773", + "start": "29358" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": "1778", + "name": "uint8", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "29362", + "length": "5", + "line": "809", + "parentIndex": "1777", + "start": "29358" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1779", + "name": "values", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1779", + "src": { + "column": "8", + "end": "29412", + "length": "23", + "line": "810", + "parentIndex": "1773", + "start": "29390" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -38708,16 +33560,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2237", + "id": "1780", "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "IDENTIFIER", "src": { - "column": "28", - "end": "31282", + "column": "8", + "end": "29396", "length": "7", - "line": "869", - "parentIndex": "2236", - "start": "31276" + "line": "810", + "parentIndex": "1779", + "start": "29390" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -38725,83 +33577,81 @@ } }, "visibility": "INTERNAL" - } - ], - "src": { - "column": "17", - "end": "31284", - "length": "20", - "line": "869", - "parentIndex": "2232", - "start": "31265" - } - }, - "returnParameters": { - "id": "2238", - "nodeType": "PARAMETER_LIST", - "parameters": [ + }, { - "id": "2239", - "name": "z", + "id": "1781", + "name": "datas", "nodeType": "VARIABLE_DECLARATION", - "scope": "2239", + "scope": "1781", "src": { - "column": "62", - "end": "31318", - "length": "9", - "line": "869", - "parentIndex": "2238", - "start": "31310" + "column": "8", + "end": "29442", + "length": "20", + "line": "811", + "parentIndex": "1773", + "start": "29423" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2240", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1782", + "name": "bytes", + "nodeType": "IDENTIFIER", "src": { - "column": "62", - "end": "31316", - "length": "7", - "line": "869", - "parentIndex": "2239", - "start": "31310" + "column": "8", + "end": "29427", + "length": "5", + "line": "811", + "parentIndex": "1781", + "start": "29423" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes", + "typeString": "bytes" } }, "visibility": "INTERNAL" } ], "src": { - "column": "62", - "end": "31318", - "length": "9", - "line": "869", - "parentIndex": "2232", - "start": "31310" + "column": "8", + "end": "29442", + "length": "131", + "line": "808", + "parentIndex": "1772", + "start": "29312" + } + }, + "returnParameters": { + "id": "1783", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "30339", + "length": "1064", + "line": "807", + "parentIndex": "1772", + "start": "29276" } }, - "scope": "2208", - "signature": "bf3b2b28", + "scope": "1705", + "signature": "f5b01997", "src": { "column": "4", - "end": "31387", - "length": "136", - "line": "869", - "parentIndex": "2208", - "start": "31252" + "end": "30339", + "length": "1064", + "line": "807", + "parentIndex": "1705", + "start": "29276" }, - "stateMutability": "PURE", + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", - "typeString": "function(uint256,uint256)" + "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$1731$_t_uint8$_t_uint256$_t_bytes$", + "typeString": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes)" }, "visibility": "INTERNAL" } @@ -38810,54 +33660,43 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2263", + "id": "1877", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "73", - "end": "31542", - "length": "80", - "line": "873", - "parentIndex": "2254", - "start": "31463" + "column": "51", + "end": "31417", + "length": "342", + "line": "853", + "parentIndex": "1858", + "start": "31076" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"ds-math-mul-overflow\"" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2266", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2267", - "leftExpression": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "1879", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2268", - "name": "y", + "id": "1881", + "name": "a", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2268", + "referencedDeclaration": "1873", "src": { - "column": "16", - "end": "31481", + "column": "9", + "end": "31087", "length": "1", - "line": "874", - "parentIndex": "2267", - "start": "31481" + "line": "854", + "parentIndex": "1880", + "start": "31087" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -38865,366 +33704,787 @@ } } }, - "nodeType": "BINARY_OPERATION", - "operator": "EQUAL", - "rightExpression": { + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "30", - "id": "2269", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "id": "1882", + "name": "b", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1875", "src": { - "column": "21", - "end": "31486", + "column": "12", + "end": "31090", "length": "1", - "line": "874", - "parentIndex": "2267", - "start": "31486" + "line": "854", + "parentIndex": "1880", + "start": "31090" }, "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } + } + ], + "id": "1880", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "8", + "end": "31091", + "length": "6", + "line": "854", + "parentIndex": "1879", + "start": "31086" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, - "src": { - "column": "16", - "end": "31486", - "length": "6", - "line": "874", - "parentIndex": "2266", - "start": "31481" + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + { + "typeIdentifier": "t_function_$_t_bytes$", + "typeString": "function(bytes)" + }, + { + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", + "typeString": "function(uint256,uint256,function(address))" } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "OR", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2270", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2271", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "id": "1886", + "name": "_dstChainId", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1886", + "src": { + "column": "12", + "end": "31151", + "length": "11", + "line": "855", + "parentIndex": "1883", + "start": "31141" + }, + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "id": "1887", + "name": "_functionType", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1887", + "src": { + "column": "12", + "end": "31178", + "length": "13", + "line": "856", + "parentIndex": "1883", + "start": "31166" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1891", + "name": "_receiver", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1891", + "src": { + "column": "29", + "end": "31218", + "length": "9", + "line": "857", + "parentIndex": "1888", + "start": "31210" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1890", + "name": "abi", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "31195", + "length": "3", + "line": "857", + "parentIndex": "1889", + "start": "31193" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "1889", + "memberLocation": { + "column": "16", + "end": "31208", + "length": "12", + "line": "857", + "parentIndex": "1889", + "start": "31197" + }, + "memberName": "encodePacked", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "31208", + "length": "16", + "line": "857", + "parentIndex": "1888", + "start": "31193" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "1888", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "31219", + "length": "27", + "line": "857", + "parentIndex": "1883", + "start": "31193" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1895", + "name": "_payload", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1895", + "src": { + "column": "23", + "end": "31252", + "length": "8", + "line": "858", + "parentIndex": "1892", + "start": "31245" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1894", + "name": "abi", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "31236", + "length": "3", + "line": "858", + "parentIndex": "1893", + "start": "31234" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "1893", + "memberLocation": { + "column": "16", + "end": "31243", + "length": "6", + "line": "858", + "parentIndex": "1893", + "start": "31238" + }, + "memberName": "encode", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "31243", + "length": "10", + "line": "858", + "parentIndex": "1892", + "start": "31234" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "1892", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "31253", + "length": "20", + "line": "858", + "parentIndex": "1883", + "start": "31234" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bytes$", + "typeString": "function(bytes)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1899", + "name": "_gas", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1899", + "src": { + "column": "16", + "end": "31312", + "length": "4", + "line": "860", + "parentIndex": "1896", + "start": "31309" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "1900", + "name": "_dustAmount", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1900", + "src": { + "column": "16", + "end": "31341", + "length": "11", + "line": "861", + "parentIndex": "1896", + "start": "31331" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1904", + "name": "_receiver", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1904", + "src": { + "column": "33", + "end": "31385", + "length": "9", + "line": "862", + "parentIndex": "1901", + "start": "31377" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "2273", - "leftExpression": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2274", - "name": "z", + "id": "1903", + "name": "abi", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2217", "src": { - "column": "27", - "end": "31492", - "length": "1", - "line": "874", - "parentIndex": "2273", - "start": "31492" + "column": "16", + "end": "31362", + "length": "3", + "line": "862", + "parentIndex": "1902", + "start": "31360" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_magic_abi", + "typeString": "abi" } } }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2275", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2276", - "name": "x", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2276", - "src": { - "column": "31", - "end": "31496", - "length": "1", - "line": "874", - "parentIndex": "2275", - "start": "31496" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "MULTIPLICATION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2277", - "name": "y", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2277", - "src": { - "column": "35", - "end": "31500", - "length": "1", - "line": "874", - "parentIndex": "2275", - "start": "31500" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "31", - "end": "31500", - "length": "5", - "line": "874", - "parentIndex": "2273", - "start": "31496" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } + "id": "1902", + "memberLocation": { + "column": "20", + "end": "31375", + "length": "12", + "line": "862", + "parentIndex": "1902", + "start": "31364" }, + "memberName": "encodePacked", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "27", - "end": "31500", - "length": "9", - "line": "874", - "parentIndex": "2272", - "start": "31492" + "column": "16", + "end": "31375", + "length": "16", + "line": "862", + "parentIndex": "1901", + "start": "31360" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_magic_abi", + "typeString": "abi" } } + }, + "id": "1901", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "31386", + "length": "27", + "line": "862", + "parentIndex": "1896", + "start": "31360" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1898", + "name": "IStargateRouter", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "700", + "src": { + "column": "12", + "end": "31282", + "length": "15", + "line": "859", + "parentIndex": "1897", + "start": "31268" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IStargateRouter_$700", + "typeString": "contract IStargateRouter" + } } - ], - "id": "2272", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "26", - "end": "31501", - "length": "11", - "line": "874", - "parentIndex": "2271", - "start": "31491" }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256$", - "typeString": "tuple(uint256)" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "DIVISION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2278", - "name": "y", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2278", + "id": "1897", + "memberLocation": { + "column": "28", + "end": "31290", + "length": "7", + "line": "859", + "parentIndex": "1897", + "start": "31284" + }, + "memberName": "lzTxObj", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "40", - "end": "31505", - "length": "1", - "line": "874", - "parentIndex": "2271", - "start": "31505" + "column": "12", + "end": "31290", + "length": "23", + "line": "859", + "parentIndex": "1896", + "start": "31268" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IStargateRouter_$700", + "typeString": "contract IStargateRouter" } } }, + "id": "1896", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "26", - "end": "31505", - "length": "15", - "line": "874", - "parentIndex": "2270", - "start": "31491" + "column": "12", + "end": "31400", + "length": "133", + "line": "859", + "parentIndex": "1883", + "start": "31268" }, "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256$", - "typeString": "tuple(uint256)" + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", + "typeString": "function(uint256,uint256,function(address))" } } - }, - "nodeType": "BINARY_OPERATION", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2279", - "name": "x", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2279", - "src": { - "column": "45", - "end": "31510", - "length": "1", - "line": "874", - "parentIndex": "2270", - "start": "31510" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1885", + "name": "stargateRouter", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "967", + "src": { + "column": "17", + "end": "31108", + "length": "14", + "line": "854", + "parentIndex": "1884", + "start": "31095" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IStargateRouter_$700", + "typeString": "contract IStargateRouter" + } } + }, + "id": "1884", + "memberLocation": { + "column": "32", + "end": "31126", + "length": "17", + "line": "854", + "parentIndex": "1884", + "start": "31110" + }, + "memberName": "quoteLayerZeroFee", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "17", + "end": "31126", + "length": "32", + "line": "854", + "parentIndex": "1883", + "start": "31095" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IStargateRouter_$700", + "typeString": "contract IStargateRouter" } - }, - "src": { - "column": "26", - "end": "31510", - "length": "20", - "line": "874", - "parentIndex": "2266", - "start": "31491" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" } + }, + "id": "1883", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "17", + "end": "31410", + "length": "316", + "line": "854", + "parentIndex": "1879", + "start": "31095" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint16$_t_uint8$_t_function_$_t_address$_t_function_$_t_bytes$_t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", + "typeString": "function(uint16,uint8,function(address),function(bytes),function(uint256,uint256,function(address)))" } - }, - "src": { - "column": "16", - "end": "31510", - "length": "30", - "line": "874", - "parentIndex": "2264", - "start": "31481" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", - "id": "2280", - "isPure": true, - "kind": "STRING", - "nodeType": "LITERAL", - "src": { - "column": "48", - "end": "31534", - "length": "22", - "line": "874", - "parentIndex": "2264", - "start": "31513" - }, - "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"ds-math-mul-overflow\"" - }, - "value": "ds-math-mul-overflow" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2265", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", + }, "src": { "column": "8", - "end": "31479", - "length": "7", - "line": "874", - "parentIndex": "2264", - "start": "31473" + "end": "31410", + "length": "325", + "line": "854", + "parentIndex": "1878", + "start": "31086" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" } } }, - "id": "2264", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "1878", + "nodeType": "ASSIGNMENT", "src": { "column": "8", - "end": "31535", - "length": "63", - "line": "874", - "parentIndex": "2263", - "start": "31473" + "end": "31411", + "length": "326", + "line": "854", + "parentIndex": "1877", + "start": "31086" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" } } } ] }, - "id": "2254", + "id": "1858", "implemented": true, "kind": "KIND_FUNCTION", - "name": "mul", + "name": "getFee", "nameLocation": { "column": "13", - "end": "31405", - "length": "3", - "line": "873", - "parentIndex": "2254", - "start": "31403" + "end": "30857", + "length": "6", + "line": "846", + "parentIndex": "1858", + "start": "30852" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2255", + "id": "1859", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2256", - "name": "x", + "id": "1860", + "name": "_dstChainId", "nodeType": "VARIABLE_DECLARATION", - "scope": "2256", + "scope": "1860", "src": { - "column": "17", - "end": "31415", - "length": "9", - "line": "873", - "parentIndex": "2255", - "start": "31407" + "column": "8", + "end": "30885", + "length": "18", + "line": "847", + "parentIndex": "1859", + "start": "30868" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": "1861", + "name": "uint16", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "30873", + "length": "6", + "line": "847", + "parentIndex": "1860", + "start": "30868" + }, + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1862", + "name": "_functionType", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1862", + "src": { + "column": "8", + "end": "30914", + "length": "19", + "line": "848", + "parentIndex": "1859", + "start": "30896" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": "1863", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "30900", + "length": "5", + "line": "848", + "parentIndex": "1862", + "start": "30896" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1864", + "name": "_receiver", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1864", + "src": { + "column": "8", + "end": "30941", + "length": "17", + "line": "849", + "parentIndex": "1859", + "start": "30925" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "1865", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "30931", + "length": "7", + "line": "849", + "parentIndex": "1864", + "start": "30925" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1866", + "name": "_gas", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1866", + "src": { + "column": "8", + "end": "30963", + "length": "12", + "line": "850", + "parentIndex": "1859", + "start": "30952" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -39233,16 +34493,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2257", + "id": "1867", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "17", - "end": "31413", + "column": "8", + "end": "30958", "length": "7", - "line": "873", - "parentIndex": "2256", - "start": "31407" + "line": "850", + "parentIndex": "1866", + "start": "30952" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -39252,17 +34512,17 @@ "visibility": "INTERNAL" }, { - "id": "2258", - "name": "y", + "id": "1868", + "name": "_dustAmount", "nodeType": "VARIABLE_DECLARATION", - "scope": "2258", + "scope": "1868", "src": { - "column": "28", - "end": "31426", - "length": "9", - "line": "873", - "parentIndex": "2255", - "start": "31418" + "column": "8", + "end": "30992", + "length": "19", + "line": "851", + "parentIndex": "1859", + "start": "30974" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -39271,16 +34531,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2259", + "id": "1869", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "28", - "end": "31424", + "column": "8", + "end": "30980", "length": "7", - "line": "873", - "parentIndex": "2258", - "start": "31418" + "line": "851", + "parentIndex": "1868", + "start": "30974" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -39288,33 +34548,71 @@ } }, "visibility": "INTERNAL" + }, + { + "id": "1870", + "name": "_payload", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1870", + "src": { + "column": "8", + "end": "31023", + "length": "21", + "line": "852", + "parentIndex": "1859", + "start": "31003" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1871", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "31007", + "length": "5", + "line": "852", + "parentIndex": "1870", + "start": "31003" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" } ], "src": { - "column": "17", - "end": "31426", - "length": "20", - "line": "873", - "parentIndex": "2254", - "start": "31407" + "column": "8", + "end": "31023", + "length": "156", + "line": "847", + "parentIndex": "1858", + "start": "30868" } }, "returnParameters": { - "id": "2260", + "id": "1872", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2261", - "name": "z", + "id": "1873", + "name": "a", "nodeType": "VARIABLE_DECLARATION", - "scope": "2261", + "scope": "1873", "src": { - "column": "62", - "end": "31460", + "column": "29", + "end": "31062", "length": "9", - "line": "873", - "parentIndex": "2260", - "start": "31452" + "line": "853", + "parentIndex": "1872", + "start": "31054" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -39323,16 +34621,54 @@ "typeString": "uint256" }, "typeName": { - "id": "2262", + "id": "1874", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "62", - "end": "31458", + "column": "29", + "end": "31060", "length": "7", - "line": "873", - "parentIndex": "2261", - "start": "31452" + "line": "853", + "parentIndex": "1873", + "start": "31054" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1875", + "name": "b", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1875", + "src": { + "column": "40", + "end": "31073", + "length": "9", + "line": "853", + "parentIndex": "1872", + "start": "31065" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1876", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "40", + "end": "31071", + "length": "7", + "line": "853", + "parentIndex": "1875", + "start": "31065" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -39343,1272 +34679,1469 @@ } ], "src": { - "column": "62", - "end": "31460", - "length": "9", - "line": "873", - "parentIndex": "2254", - "start": "31452" + "column": "29", + "end": "31073", + "length": "20", + "line": "853", + "parentIndex": "1858", + "start": "31054" } }, - "scope": "2208", - "signature": "cd3ef6fa", + "scope": "1705", + "signature": "6ce4fe03", "src": { "column": "4", - "end": "31542", - "length": "149", - "line": "873", - "parentIndex": "2208", - "start": "31394" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", - "typeString": "function(uint256,uint256)" - }, - "visibility": "INTERNAL" - } - } - ], - "src": { - "end": "31544", - "length": "464", - "line": "864", - "parentIndex": "2183", - "start": "31081" - } - } - } - ] - }, - "src": { - "line": 864, - "start": 31081, - "end": 31544, - "length": 464, - "parent_index": 272 - } - }, - { - "id": 2281, - "license": "GPL-3.0", - "name": "UniswapV2Library", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/UniswapV2Library.sol", - "exported_symbols": [ - { - "id": 2281, - "name": "UniswapV2Library", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/UniswapV2Library.sol" - }, - { - "id": 2183, - "name": "IUniswapV2Pair", - "absolute_path": "IUniswapV2Pair.sol" - }, - { - "id": 2183, - "name": "SafeMath", - "absolute_path": "SafeMath.sol" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "2296", - "literals": [ - "pragma", - "solidity", - "\u003e=", - "0", - ".", - "5", - ".", - "0", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "31607", - "length": "24", - "line": "880", - "parentIndex": "2281", - "start": "31584" - }, - "text": "pragma solidity \u003e=0.5.0;" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "IUniswapV2Pair.sol", - "file": "./IUniswapV2Pair.sol", - "id": "2307", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "2281", - "sourceUnit": "2183", - "src": { - "end": "31639", - "length": "30", - "line": "882", - "parentIndex": "2281", - "start": "31610" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "SafeMath.sol", - "file": "./SafeMath.sol", - "id": "2308", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "2281", - "sourceUnit": "2183", - "src": { - "end": "31665", - "length": "24", - "line": "884", - "parentIndex": "2281", - "start": "31642" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", - "value": { - "fullyImplemented": true, - "id": "2309", - "kind": "KIND_LIBRARY", - "linearizedBaseContracts": [ - "2309" - ], - "name": "UniswapV2Library", - "nameLocation": { - "column": "8", - "end": "31691", - "length": "16", - "line": "886", - "parentIndex": "2309", - "start": "31676" - }, - "nodeType": "CONTRACT_DEFINITION", - "nodes": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", - "value": { - "id": "2311", - "libraryName": { - "id": "2312", - "name": "SafeMathUniswap", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "2183", - "src": { - "end": "31719", - "length": "15", - "line": "887", - "parentIndex": "2311", - "start": "31705" - } - }, - "name": "SafeMathUniswap", - "nodeType": "USING_FOR_DIRECTIVE", - "src": { - "end": "31732", - "length": "34", - "line": "887", - "parentIndex": "2309", - "start": "31699" + "end": "31417", + "length": "575", + "line": "846", + "parentIndex": "1705", + "start": "30843" }, - "typeName": { - "id": "2313", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "30", - "end": "31731", - "length": "7", - "line": "887", - "parentIndex": "2311", - "start": "31725" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint16$_t_uint8$_t_address$_t_uint256$_t_uint256$_t_bytes$", + "typeString": "function(uint16,uint8,address,uint256,uint256,bytes)" + }, + "visibility": "EXTERNAL" } }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2326", + "id": "1922", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "4", - "end": "32235", - "length": "262", - "line": "894", - "parentIndex": "2315", - "start": "31974" + "column": "24", + "end": "32837", + "length": "1041", + "line": "878", + "parentIndex": "1906", + "start": "31797" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2329", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2330", - "name": "tokenA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2330", - "src": { - "column": "16", - "end": "31997", - "length": "6", - "line": "895", - "parentIndex": "2329", - "start": "31992" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "NOT_EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2331", - "name": "tokenB", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2331", - "src": { - "column": "26", - "end": "32007", - "length": "6", - "line": "895", - "parentIndex": "2329", - "start": "32002" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "body": { + "id": "1931", + "nodeType": "BLOCK", + "src": {} + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "1924", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1926", + "name": "msg", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "31813", + "length": "3", + "line": "879", + "parentIndex": "1925", + "start": "31811" + }, + "typeDescription": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } } + }, + "id": "1925", + "memberLocation": { + "column": "16", + "end": "31820", + "length": "6", + "line": "879", + "parentIndex": "1925", + "start": "31815" + }, + "memberName": "sender", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "31820", + "length": "10", + "line": "879", + "parentIndex": "1924", + "start": "31811" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "src": { - "column": "16", - "end": "32007", - "length": "16", - "line": "895", - "parentIndex": "2327", - "start": "31992" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "hexValue": "556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553", - "id": "2332", - "isPure": true, - "kind": "STRING", - "nodeType": "LITERAL", - "src": { - "column": "34", - "end": "32048", - "length": "39", - "line": "895", - "parentIndex": "2327", - "start": "32010" - }, - "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" - }, - "value": "UniswapV2Library: IDENTICAL_ADDRESSES" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2328", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "31990", - "length": "7", - "line": "895", - "parentIndex": "2327", - "start": "31984" }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2327", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "32049", - "length": "66", - "line": "895", - "parentIndex": "2326", - "start": "31984" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2334", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "nodeType": "BINARY_OPERATION", + "operator": "NOT_EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "components": [ + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2336", - "name": "token0", + "id": "1930", + "name": "stargateRouter", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2322", "src": { - "column": "9", - "end": "32066", - "length": "6", - "line": "896", - "parentIndex": "2335", - "start": "32061" + "column": "34", + "end": "31846", + "length": "14", + "line": "879", + "parentIndex": "1927", + "start": "31833" }, "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2337", - "name": "token1", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2324", + ], + "id": "1928", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "26", + "end": "31831", + "length": "7", + "line": "879", + "parentIndex": "1927", + "start": "31825" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "1929", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "17", - "end": "32074", - "length": "6", - "line": "896", - "parentIndex": "2335", - "start": "32069" + "column": "26", + "end": "31831", + "length": "7", + "line": "879", + "parentIndex": "1928", + "start": "31825" }, + "stateMutability": "NONPAYABLE", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" } } } - ], - "id": "2335", - "nodeType": "TUPLE_EXPRESSION", + }, + "id": "1927", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "8", - "end": "32075", - "length": "16", - "line": "896", - "parentIndex": "2334", - "start": "32060" + "column": "26", + "end": "31847", + "length": "23", + "line": "879", + "parentIndex": "1924", + "start": "31825" }, "typeDescription": { - "typeIdentifier": "t_tuple_$_t_address_$_t_address$", - "typeString": "tuple(address,address)" + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" } } }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", - "value": { - "expressions": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2340", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2341", - "name": "tokenA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2341", - "src": { - "column": "27", - "end": "32084", - "length": "6", - "line": "896", - "parentIndex": "2340", - "start": "32079" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2342", - "name": "tokenB", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2342", + "src": { + "column": "12", + "end": "31847", + "length": "37", + "line": "879", + "parentIndex": "1923", + "start": "31811" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "1923", + "nodeType": "IF_STATEMENT", + "src": { + "end": "31876", + "length": "70", + "line": "879", + "parentIndex": "1922", + "start": "31807" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "1933", + "1935", + "1937", + "1939", + "1941" + ], + "declarations": [ + { + "id": "1933", + "mutability": "MUTABLE", + "name": "to", + "nameLocation": { + "column": "20", + "end": "31910", + "length": "2", + "line": "882", + "parentIndex": "1933", + "start": "31909" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "1922", + "src": { + "column": "12", + "end": "31910", + "length": "10", + "line": "882", + "parentIndex": "1932", + "start": "31901" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "1934", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "31907", + "length": "7", + "line": "882", + "parentIndex": "1933", + "start": "31901" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1935", + "mutability": "MUTABLE", + "name": "actions", + "nameLocation": { + "column": "27", + "end": "31946", + "length": "7", + "line": "883", + "parentIndex": "1935", + "start": "31940" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "1922", + "src": { + "column": "12", + "end": "31946", + "length": "22", + "line": "883", + "parentIndex": "1932", + "start": "31925" + }, + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": "1936", + "name": "uint8", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "31929", + "length": "5", + "line": "883", + "parentIndex": "1935", + "start": "31925" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1937", + "mutability": "MUTABLE", + "name": "values", + "nameLocation": { + "column": "29", + "end": "31983", + "length": "6", + "line": "884", + "parentIndex": "1937", + "start": "31978" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "1922", + "src": { + "column": "12", + "end": "31983", + "length": "23", + "line": "884", + "parentIndex": "1932", + "start": "31961" + }, + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1938", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "31967", + "length": "7", + "line": "884", + "parentIndex": "1937", + "start": "31961" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1939", + "mutability": "MUTABLE", + "name": "datas", + "nameLocation": { + "column": "27", + "end": "32017", + "length": "5", + "line": "885", + "parentIndex": "1939", + "start": "32013" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "1922", + "src": { + "column": "12", + "end": "32017", + "length": "20", + "line": "885", + "parentIndex": "1932", + "start": "31998" + }, + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1940", + "name": "bytes", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "32002", + "length": "5", + "line": "885", + "parentIndex": "1939", + "start": "31998" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1941", + "mutability": "MUTABLE", + "name": "srcContext", + "nameLocation": { + "column": "20", + "end": "32049", + "length": "10", + "line": "886", + "parentIndex": "1941", + "start": "32040" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "1922", + "src": { + "column": "12", + "end": "32049", + "length": "18", + "line": "886", + "parentIndex": "1932", + "start": "32032" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "1942", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "32038", + "length": "7", + "line": "886", + "parentIndex": "1941", + "start": "32032" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "1932", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + { + "typeIdentifier": "t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", + "typeString": "tuple(address,index[uint8],index[uint256],index[bytes],bytes32)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1946", + "name": "payload", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1946", + "src": { + "column": "23", + "end": "32080", + "length": "7", + "line": "887", + "parentIndex": "1943", + "start": "32074" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1948", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "33", + "end": "32090", + "length": "7", + "line": "887", + "parentIndex": "1947", + "start": "32084" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "1949", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "36", - "end": "32093", - "length": "6", - "line": "896", - "parentIndex": "2340", - "start": "32088" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "src": { - "column": "27", - "end": "32093", - "length": "15", - "line": "896", - "parentIndex": "2339", - "start": "32079" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "column": "33", + "end": "32090", + "length": "7", + "line": "887", + "parentIndex": "1948", + "start": "32084" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "id": "1950", + "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2344", - "name": "tokenA", + "id": "1951", + "name": "uint8", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2344", "src": { - "column": "15", - "end": "32115", - "length": "6", - "line": "897", - "parentIndex": "2343", - "start": "32110" + "column": "42", + "end": "32097", + "length": "5", + "line": "887", + "parentIndex": "1950", + "start": "32093" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": "1952", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "42", + "end": "32097", + "length": "5", + "line": "887", + "parentIndex": "1951", + "start": "32093" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } } } }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2345", - "name": "tokenB", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2345", - "src": { - "column": "23", - "end": "32123", - "length": "6", - "line": "897", - "parentIndex": "2343", - "start": "32118" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "nodeType": "INDEX_ACCESS", + "src": { + "column": "42", + "end": "32099", + "length": "7", + "line": "887", + "parentIndex": "1947", + "start": "32093" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint8]$", + "typeString": "index[uint8]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" } - } - ], - "id": "2343", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "14", - "end": "32124", - "length": "16", - "line": "897", - "parentIndex": "2339", - "start": "32109" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_address_$_t_address$", - "typeString": "tuple(address,address)" + ] } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "id": "1953", + "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2347", - "name": "tokenB", + "id": "1954", + "name": "uint256", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2347", "src": { - "column": "15", - "end": "32146", - "length": "6", - "line": "898", - "parentIndex": "2346", - "start": "32141" + "column": "51", + "end": "32108", + "length": "7", + "line": "887", + "parentIndex": "1953", + "start": "32102" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1955", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "51", + "end": "32108", + "length": "7", + "line": "887", + "parentIndex": "1954", + "start": "32102" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } } }, - { + "nodeType": "INDEX_ACCESS", + "src": { + "column": "51", + "end": "32110", + "length": "9", + "line": "887", + "parentIndex": "1947", + "start": "32102" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$", + "typeString": "index[uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "id": "1956", + "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2348", - "name": "tokenA", + "id": "1957", + "name": "bytes", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2348", "src": { - "column": "23", - "end": "32154", - "length": "6", - "line": "898", - "parentIndex": "2346", - "start": "32149" + "column": "62", + "end": "32117", + "length": "5", + "line": "887", + "parentIndex": "1956", + "start": "32113" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1958", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "62", + "end": "32117", + "length": "5", + "line": "887", + "parentIndex": "1957", + "start": "32113" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } } } - } - ], - "id": "2346", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "14", - "end": "32155", - "length": "16", - "line": "898", - "parentIndex": "2339", - "start": "32140" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_address_$_t_address$", - "typeString": "tuple(address,address)" - } - } - } - ], - "id": "2339", - "nodeType": "CONDITIONAL_EXPRESSION", - "src": { - "column": "27", - "end": "32155", - "length": "77", - "line": "896", - "parentIndex": "2334", - "start": "32079" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_tuple_$_t_address_$_t_address$", - "typeString": "tuple(address,address)" - }, - { - "typeIdentifier": "t_tuple_$_t_address_$_t_address$", - "typeString": "tuple(address,address)" - } - ] - } - }, - "src": { - "column": "8", - "end": "32155", - "length": "96", - "line": "896", - "parentIndex": "2333", - "start": "32060" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_address_$_t_address$", - "typeString": "tuple(address,address)" - } - } - }, - "id": "2333", - "nodeType": "ASSIGNMENT", - "src": { - "column": "8", - "end": "32156", - "length": "97", - "line": "896", - "parentIndex": "2326", - "start": "32060" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_address_$_t_address$", - "typeString": "tuple(address,address)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2351", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2352", - "name": "token0", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2322", - "src": { - "column": "16", - "end": "32179", - "length": "6", - "line": "899", - "parentIndex": "2351", - "start": "32174" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "NOT_EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2356", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + }, + "nodeType": "INDEX_ACCESS", "src": { - "column": "34", - "end": "32192", - "length": "1", - "line": "899", - "parentIndex": "2353", - "start": "32192" + "column": "62", + "end": "32119", + "length": "7", + "line": "887", + "parentIndex": "1947", + "start": "32113" }, "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_[_[$_t_bytes]$", + "typeString": "index[bytes]" }, - "value": "0" + "typeDescriptions": [ + { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + ] } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2354", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "26", - "end": "32190", - "length": "7", - "line": "899", - "parentIndex": "2353", - "start": "32184" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "2355", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1959", + "name": "bytes32", + "nodeType": "IDENTIFIER", "src": { - "column": "26", - "end": "32190", + "column": "71", + "end": "32128", "length": "7", - "line": "899", - "parentIndex": "2354", - "start": "32184" + "line": "887", + "parentIndex": "1947", + "start": "32122" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "1960", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "71", + "end": "32128", + "length": "7", + "line": "887", + "parentIndex": "1959", + "start": "32122" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } } } } - }, - "id": "2353", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + ], + "id": "1947", + "nodeType": "TUPLE_EXPRESSION", "src": { - "column": "26", - "end": "32193", - "length": "10", - "line": "899", - "parentIndex": "2351", - "start": "32184" + "column": "32", + "end": "32129", + "length": "47", + "line": "887", + "parentIndex": "1943", + "start": "32083" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_0_by_1$", - "typeString": "function(int_const 0)" + "typeIdentifier": "t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", + "typeString": "tuple(address,index[uint8],index[uint256],index[bytes],bytes32)" } } - }, - "src": { - "column": "16", - "end": "32193", - "length": "20", - "line": "899", - "parentIndex": "2349", - "start": "32174" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1945", + "name": "abi", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "32065", + "length": "3", + "line": "887", + "parentIndex": "1944", + "start": "32063" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "1944", + "memberLocation": { + "column": "16", + "end": "32072", + "length": "6", + "line": "887", + "parentIndex": "1944", + "start": "32067" + }, + "memberName": "decode", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "32072", + "length": "10", + "line": "887", + "parentIndex": "1943", + "start": "32063" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" } - ], - "hexValue": "556e697377617056324c6962726172793a205a45524f5f41444452455353", - "id": "2357", - "isPure": true, - "kind": "STRING", - "nodeType": "LITERAL", - "src": { - "column": "38", - "end": "32227", - "length": "32", - "line": "899", - "parentIndex": "2349", - "start": "32196" - }, - "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" - }, - "value": "UniswapV2Library: ZERO_ADDRESS" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2350", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "32172", - "length": "7", - "line": "899", - "parentIndex": "2349", - "start": "32166" + } }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2349", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "32228", - "length": "63", - "line": "899", - "parentIndex": "2326", - "start": "32166" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" - } - } - } - ] - }, - "id": "2315", - "implemented": true, - "kind": "KIND_FUNCTION", - "name": "sortTokens", - "nameLocation": { - "column": "13", - "end": "31857", - "length": "10", - "line": "890", - "parentIndex": "2315", - "start": "31848" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2316", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2317", - "name": "tokenA", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2317", - "src": { - "column": "24", - "end": "31872", - "length": "14", - "line": "890", - "parentIndex": "2316", - "start": "31859" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2318", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "24", - "end": "31865", - "length": "7", - "line": "890", - "parentIndex": "2317", - "start": "31859" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2319", - "name": "tokenB", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2319", - "src": { - "column": "40", - "end": "31888", - "length": "14", - "line": "890", - "parentIndex": "2316", - "start": "31875" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2320", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "40", - "end": "31881", - "length": "7", - "line": "890", - "parentIndex": "2319", - "start": "31875" + "id": "1943", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "32130", + "length": "68", + "line": "887", + "parentIndex": "1932", + "start": "32063" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bytes$_t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", + "typeString": "function(bytes,tuple(address,index[uint8],index[uint256],index[bytes],bytes32))" + } + } }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "24", - "end": "31888", - "length": "30", - "line": "890", - "parentIndex": "2315", - "start": "31859" - } - }, - "returnParameters": { - "id": "2321", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2322", - "name": "token0", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2322", - "src": { - "column": "17", - "end": "31951", - "length": "14", - "line": "893", - "parentIndex": "2321", - "start": "31938" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2323", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "17", - "end": "31944", - "length": "7", - "line": "893", - "parentIndex": "2322", - "start": "31938" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "column": "8", + "end": "32131", + "length": "245", + "line": "881", + "parentIndex": "1922", + "start": "31887" } - }, - "visibility": "INTERNAL" + } }, - { - "id": "2324", - "name": "token1", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2324", - "src": { - "column": "33", - "end": "31967", - "length": "14", - "line": "893", - "parentIndex": "2321", - "start": "31954" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2325", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "33", - "end": "31960", - "length": "7", - "line": "893", - "parentIndex": "2324", - "start": "31954" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "17", - "end": "31967", - "length": "30", - "line": "893", - "parentIndex": "2315", - "start": "31938" - } - }, - "scope": "2309", - "signature": "a52ffdb9", - "src": { - "column": "4", - "end": "32235", - "length": "397", - "line": "890", - "parentIndex": "2309", - "start": "31839" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - }, - "visibility": "INTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2372", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "43", - "end": "33005", - "length": "518", - "line": "908", - "parentIndex": "2359", - "start": "32488" - }, - "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2374", - "2376" + "1962" ], "declarations": [ { - "id": "2374", + "id": "1962", "mutability": "MUTABLE", - "name": "token0", + "name": "limit", "nameLocation": { - "column": "17", - "end": "32512", - "length": "6", - "line": "909", - "parentIndex": "2374", - "start": "32507" + "column": "16", + "end": "32184", + "length": "5", + "line": "890", + "parentIndex": "1962", + "start": "32180" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2372", + "scope": "1922", "src": { - "column": "9", - "end": "32512", - "length": "14", - "line": "909", - "parentIndex": "2373", - "start": "32499" + "column": "8", + "end": "32184", + "length": "13", + "line": "890", + "parentIndex": "1961", + "start": "32172" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "2375", - "name": "address", + "id": "1963", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "9", - "end": "32505", + "column": "8", + "end": "32178", "length": "7", - "line": "909", - "parentIndex": "2374", - "start": "32499" + "line": "890", + "parentIndex": "1962", + "start": "32172" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" - }, + } + ], + "id": "1961", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "1964", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1966", + "name": "gasleft", + "nodeType": "IDENTIFIER", + "src": { + "column": "24", + "end": "32194", + "length": "7", + "line": "890", + "parentIndex": "1965", + "start": "32188" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "1965", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "24", + "end": "32196", + "length": "9", + "line": "890", + "parentIndex": "1961", + "start": "32188" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "323030303030", + "id": "1967", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "36", + "end": "32205", + "length": "6", + "line": "890", + "parentIndex": "1964", + "start": "32200" + }, + "typeDescription": { + "typeIdentifier": "t_rational_200000_by_1", + "typeString": "int_const 200000" + }, + "value": "200000" + } + }, + "src": { + "column": "24", + "end": "32205", + "length": "18", + "line": "890", + "parentIndex": "1961", + "start": "32188" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "32206", + "length": "35", + "line": "890", + "parentIndex": "1922", + "start": "32172" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "1969" + ], + "declarations": [ { - "id": "2376", + "id": "1969", "mutability": "MUTABLE", - "name": "token1", + "name": "failed", "nameLocation": { - "column": "33", - "end": "32528", + "column": "13", + "end": "32226", "length": "6", - "line": "909", - "parentIndex": "2376", - "start": "32523" + "line": "891", + "parentIndex": "1969", + "start": "32221" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2372", + "scope": "1922", "src": { - "column": "25", - "end": "32528", - "length": "14", - "line": "909", - "parentIndex": "2373", - "start": "32515" + "column": "8", + "end": "32226", + "length": "11", + "line": "891", + "parentIndex": "1968", + "start": "32216" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "2377", - "name": "address", + "id": "1970", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "25", - "end": "32521", - "length": "7", - "line": "909", - "parentIndex": "2376", - "start": "32515" + "column": "8", + "end": "32219", + "length": "4", + "line": "891", + "parentIndex": "1969", + "start": "32216" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "INTERNAL" } ], - "id": "2373", - "initialValue": { + "id": "1968", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "32227", + "length": "12", + "line": "891", + "parentIndex": "1922", + "start": "32216" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Try", + "value": { + "body": { + "id": "1985", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "8", + "end": "32483", + "length": "2", + "line": "899", + "parentIndex": "1971", + "start": "32482" + } + }, + "clauses": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Catch", + "value": { + "body": { + "id": "1989", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "32", + "end": "32598", + "length": "93", + "line": "899", + "start": "32506" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_function_$_t_function_$$", + "typeString": "function(function())" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1995", + "name": "to", + "nodeType": "IDENTIFIER", + "src": { + "column": "40", + "end": "32549", + "length": "2", + "line": "900", + "parentIndex": "1990", + "start": "32548" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "id": "1996", + "name": "amountLD", + "nodeType": "IDENTIFIER", + "src": { + "column": "44", + "end": "32559", + "length": "8", + "line": "900", + "parentIndex": "1990", + "start": "32552" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$$", + "typeString": "function(function())" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1994", + "name": "_token", + "nodeType": "IDENTIFIER", + "src": { + "column": "19", + "end": "32532", + "length": "6", + "line": "900", + "parentIndex": "1992", + "start": "32527" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1993", + "name": "IERC20", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "32525", + "length": "6", + "line": "900", + "parentIndex": "1992", + "start": "32520" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "1992", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "32533", + "length": "14", + "line": "900", + "parentIndex": "1991", + "start": "32520" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + } + } + }, + "id": "1991", + "memberLocation": { + "column": "27", + "end": "32546", + "length": "12", + "line": "900", + "parentIndex": "1991", + "start": "32535" + }, + "memberName": "safeTransfer", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "32546", + "length": "27", + "line": "900", + "parentIndex": "1990", + "start": "32520" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + } + } + }, + "id": "1990", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "32560", + "length": "41", + "line": "900", + "parentIndex": "1989", + "start": "32520" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_function_$", + "typeString": "function(function(),function(function()))" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "1998", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1999", + "name": "failed", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1728", + "src": { + "column": "12", + "end": "32580", + "length": "6", + "line": "901", + "parentIndex": "1998", + "start": "32575" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "74727565", + "id": "2000", + "isPure": true, + "kind": "BOOLEAN", + "nodeType": "LITERAL", + "src": { + "column": "21", + "end": "32587", + "length": "4", + "line": "901", + "parentIndex": "1998", + "start": "32584" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + }, + "src": { + "column": "12", + "end": "32587", + "length": "13", + "line": "901", + "parentIndex": "1997", + "start": "32575" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "1997", + "nodeType": "ASSIGNMENT", + "src": { + "column": "12", + "end": "32588", + "length": "14", + "line": "901", + "parentIndex": "1989", + "start": "32575" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + ] + }, + "kind": "CATCH", + "nodeType": "TRY_CATCH_CLAUSE", + "parameters": { + "id": "1986", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "1987", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1987", + "src": { + "column": "18", + "end": "32503", + "length": "12", + "line": "899", + "parentIndex": "1986", + "start": "32492" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1988", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "18", + "end": "32496", + "length": "5", + "line": "899", + "parentIndex": "1987", + "start": "32492" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "18", + "end": "32503", + "length": "12", + "line": "899", + "start": "32492" + } + }, + "src": { + "end": "32598", + "length": "114", + "line": "899", + "parentIndex": "1971", + "start": "32485" + } + } + } + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes", + "typeString": "bytes" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2380", - "name": "tokenA", + "id": "1982", + "name": "actions", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2380", + "referencedDeclaration": "1932", "src": { - "column": "54", - "end": "32549", - "length": "6", - "line": "909", - "parentIndex": "2378", - "start": "32544" + "column": "16", + "end": "32411", + "length": "7", + "line": "895", + "parentIndex": "1972", + "start": "32405" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } } }, @@ -40617,818 +36150,5664 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } ], - "id": "2381", - "name": "tokenB", + "id": "1983", + "name": "values", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2381", + "referencedDeclaration": "1932", "src": { - "column": "62", - "end": "32557", + "column": "16", + "end": "32435", "length": "6", - "line": "909", - "parentIndex": "2378", - "start": "32552" + "line": "896", + "parentIndex": "1972", + "start": "32430" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "1984", + "name": "datas", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1932", + "src": { + "column": "16", + "end": "32458", + "length": "5", + "line": "897", + "parentIndex": "1972", + "start": "32454" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" } } } ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2379", - "name": "sortTokens", - "nodeType": "IDENTIFIER", - "src": { - "column": "43", - "end": "32542", - "length": "10", - "line": "909", - "parentIndex": "2378", - "start": "32533" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2378", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "43", - "end": "32558", - "length": "26", - "line": "909", - "parentIndex": "2373", - "start": "32533" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "8", - "end": "32559", - "length": "62", - "line": "909", - "parentIndex": "2372", - "start": "32498" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2383", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2384", - "name": "pair", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2370", - "src": { - "column": "8", - "end": "32572", - "length": "4", - "line": "910", - "parentIndex": "2383", - "start": "32569" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCallOption", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "typeString": "function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))))" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "typeString": "function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "typeString": "function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "typeString": "function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_payable$_t_function_$_t_address$$", + "typeString": "function(function(address)) payable" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PayableConversion", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StargateAdapter_$1678", + "typeString": "contract StargateAdapter" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1981", + "name": "this", + "nodeType": "IDENTIFIER", + "src": { + "column": "40", + "end": "32366", + "length": "4", + "line": "894", + "parentIndex": "1978", + "start": "32363" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_StargateAdapter_$1678", + "typeString": "contract StargateAdapter" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "argumentTypes": [ { - "typeIdentifier": "t_string_hex_literal", - "typeString": "literal_hex_string hex\"ff\"" - }, - { "typeIdentifier": "t_address", "typeString": "address" - }, - { - "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", - "typeString": "function(function(address,address))" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "6865786666", - "id": "2399", - "isPure": true, - "kind": "HEX_STRING", - "nodeType": "LITERAL", - "src": { - "column": "28", - "end": "32738", - "length": "7", - "line": "915", - "parentIndex": "2396", - "start": "32732" - }, - "typeDescription": { - "typeIdentifier": "t_string_hex_literal", - "typeString": "literal_hex_string hex\"ff\"" - }, - "value": "hexff" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_hex_literal", - "typeString": "literal_hex_string hex\"ff\"" - } - ], - "id": "2400", - "name": "factory", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2400", - "src": { - "column": "28", - "end": "32775", - "length": "7", - "line": "916", - "parentIndex": "2396", - "start": "32769" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2406", - "name": "token0", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2373", - "src": { - "column": "55", - "end": "32838", - "length": "6", - "line": "917", - "parentIndex": "2403", - "start": "32833" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2407", - "name": "token1", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2373", - "src": { - "column": "63", - "end": "32846", - "length": "6", - "line": "917", - "parentIndex": "2403", - "start": "32841" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2405", - "name": "abi", - "nodeType": "IDENTIFIER", - "src": { - "column": "38", - "end": "32818", - "length": "3", - "line": "917", - "parentIndex": "2404", - "start": "32816" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - } - }, - "id": "2404", - "memberLocation": { - "column": "42", - "end": "32831", - "length": "12", - "line": "917", - "parentIndex": "2404", - "start": "32820" - }, - "memberName": "encodePacked", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "38", - "end": "32831", - "length": "16", - "line": "917", - "parentIndex": "2403", - "start": "32816" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - } - }, - "id": "2403", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "38", - "end": "32847", - "length": "32", - "line": "917", - "parentIndex": "2401", - "start": "32816" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2402", - "name": "keccak256", - "nodeType": "IDENTIFIER", - "src": { - "column": "28", - "end": "32814", - "length": "9", - "line": "917", - "parentIndex": "2401", - "start": "32806" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2401", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "28", - "end": "32848", - "length": "43", - "line": "917", - "parentIndex": "2396", - "start": "32806" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", - "typeString": "function(function(address,address))" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_hex_literal", - "typeString": "literal_hex_string hex\"ff\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", - "typeString": "function(function(address,address))" - } - ], - "id": "2408", - "name": "pairCodeHash", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2408", - "src": { - "column": "28", - "end": "32890", - "length": "12", - "line": "918", - "parentIndex": "2396", - "start": "32879" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } } ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2398", - "name": "abi", - "nodeType": "IDENTIFIER", - "src": { - "column": "24", - "end": "32688", - "length": "3", - "line": "914", - "parentIndex": "2397", - "start": "32686" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - } - }, - "id": "2397", - "memberLocation": { - "column": "28", - "end": "32701", - "length": "12", - "line": "914", - "parentIndex": "2397", - "start": "32690" - }, - "memberName": "encodePacked", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "24", - "end": "32701", - "length": "16", - "line": "914", - "parentIndex": "2396", - "start": "32686" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - } - }, - "id": "2396", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "1979", + "name": "address", + "nodeType": "IDENTIFIER", "src": { - "column": "24", - "end": "32934", - "length": "249", - "line": "914", - "parentIndex": "2394", - "start": "32686" + "column": "32", + "end": "32361", + "length": "7", + "line": "894", + "parentIndex": "1978", + "start": "32355" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "typeString": "function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "1980", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "32", + "end": "32361", + "length": "7", + "line": "894", + "parentIndex": "1979", + "start": "32355" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } } } + }, + "id": "1978", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "32", + "end": "32367", + "length": "13", + "line": "894", + "parentIndex": "1977", + "start": "32355" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2395", - "name": "keccak256", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "32659", - "length": "9", - "line": "913", - "parentIndex": "2394", - "start": "32651" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2394", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "20", - "end": "32956", - "length": "306", - "line": "913", - "parentIndex": "2391", - "start": "32651" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "typeString": "function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "2392", - "name": "uint256", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "32628", - "length": "7", - "line": "912", - "parentIndex": "2391", - "start": "32622" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "typeName": { - "id": "2393", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "16", - "end": "32628", - "length": "7", - "line": "912", - "parentIndex": "2392", - "start": "32622" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } } + ], + "id": "1977", + "nodeType": "PAYABLE_CONVERSION", + "payable": true, + "src": { + "column": "24", + "end": "32368", + "length": "22", + "line": "894", + "parentIndex": "1975", + "start": "32347" } - }, - "id": "2391", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "32974", - "length": "353", - "line": "912", - "parentIndex": "2388", - "start": "32622" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "typeString": "function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))" } } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": "2389", - "name": "uint160", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "32603", - "length": "7", - "line": "911", - "parentIndex": "2388", - "start": "32597" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint160$", - "typeString": "function(uint160)" - }, - "typeName": { - "id": "2390", - "name": "uint160", - "nodeType": "ELEMENTARY_TYPE_NAME", + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "1976", + "name": "ISushiXSwap", + "nodeType": "IDENTIFIER", "src": { "column": "12", - "end": "32603", - "length": "7", - "line": "911", - "parentIndex": "2389", - "start": "32597" + "end": "32345", + "length": "11", + "line": "894", + "parentIndex": "1975", + "start": "32335" }, "typeDescription": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } + }, + "id": "1975", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "32369", + "length": "35", + "line": "894", + "parentIndex": "1974", + "start": "32335" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_payable$_t_function_$_t_address$", + "typeString": "function(function(function(address)) payable)" } - }, - "id": "2388", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "32988", - "length": "392", - "line": "911", - "parentIndex": "2385", - "start": "32597" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "typeString": "function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))))" } + }, + "id": "1974", + "memberLocation": { + "column": "48", + "end": "32374", + "length": "4", + "line": "894", + "parentIndex": "1974", + "start": "32371" + }, + "memberName": "cook", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "32374", + "length": "40", + "line": "894", + "parentIndex": "1973", + "start": "32335" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_payable$_t_function_$_t_address$", + "typeString": "function(function(function(address)) payable)" } } - ], + }, + "id": "1973", + "kind": "FUNCTION_CALL_OPTION", + "nodeType": "FUNCTION_CALL_OPTION", + "src": { + "column": "12", + "end": "32386", + "length": "52", + "line": "894", + "parentIndex": "1972", + "start": "32335" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_payable$_t_function_$_t_address$", + "typeString": "function(function(function(address)) payable)" + } + } + }, + "id": "1972", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "32472", + "length": "138", + "line": "894", + "parentIndex": "1971", + "start": "32335" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint8$_t_uint256$_t_bytes$", + "typeString": "function(uint8,uint256,bytes)" + } + } + }, + "id": "1971", + "kind": "TRY", + "nodeType": "TRY_STATEMENT", + "returnParameters": { + "id": "2001", + "nodeType": "PARAMETER_LIST", + "src": { + "end": "32598", + "length": "280", + "line": "893", + "parentIndex": "1971", + "start": "32319" + } + }, + "src": { + "end": "32598", + "length": "280", + "line": "893", + "parentIndex": "1922", + "start": "32319" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "value": { + "body": { + "id": "2010", + "nodeType": "BLOCK", + "src": {} + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2003", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_contract$_StargateAdapter_$1678", + "typeString": "contract StargateAdapter" } ], - "id": "2386", - "name": "address", - "nodeType": "IDENTIFIER", + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2008", + "name": "this", + "nodeType": "IDENTIFIER", + "src": { + "column": "20", + "end": "32702", + "length": "4", + "line": "905", + "parentIndex": "2005", + "start": "32699" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_StargateAdapter_$1678", + "typeString": "contract StargateAdapter" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "2006", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "32697", + "length": "7", + "line": "905", + "parentIndex": "2005", + "start": "32691" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "2007", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "32697", + "length": "7", + "line": "905", + "parentIndex": "2006", + "start": "32691" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "id": "2005", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "15", - "end": "32582", - "length": "7", - "line": "910", - "parentIndex": "2385", - "start": "32576" + "column": "12", + "end": "32703", + "length": "13", + "line": "905", + "parentIndex": "2004", + "start": "32691" }, "typeDescription": { "typeIdentifier": "t_function_$_t_address$", "typeString": "function(address)" - }, - "typeName": { - "id": "2387", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "15", - "end": "32582", - "length": "7", - "line": "910", - "parentIndex": "2386", - "start": "32576" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } } } }, - "id": "2385", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "2004", + "memberLocation": { + "column": "26", + "end": "32711", + "length": "7", + "line": "905", + "parentIndex": "2004", + "start": "32705" + }, + "memberName": "balance", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "15", - "end": "32998", - "length": "423", - "line": "910", - "parentIndex": "2383", - "start": "32576" + "column": "12", + "end": "32711", + "length": "21", + "line": "905", + "parentIndex": "2003", + "start": "32691" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", - "typeString": "function(function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))))" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2009", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "36", + "end": "32715", + "length": "1", + "line": "905", + "parentIndex": "2003", + "start": "32715" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, "src": { - "column": "8", - "end": "32998", - "length": "430", - "line": "910", - "parentIndex": "2382", - "start": "32569" + "column": "12", + "end": "32715", + "length": "25", + "line": "905", + "parentIndex": "2002", + "start": "32691" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "2002", + "nodeType": "IF_STATEMENT", + "src": { + "end": "32773", + "length": "87", + "line": "905", + "parentIndex": "1922", + "start": "32687" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Emit", + "value": { + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2012", + "name": "srcContext", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1932", + "src": { + "column": "35", + "end": "32820", + "length": "10", + "line": "908", + "parentIndex": "2011", + "start": "32811" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2013", + "name": "failed", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1968", + "src": { + "column": "47", + "end": "32828", + "length": "6", + "line": "908", + "parentIndex": "2011", + "start": "32823" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2014", + "name": "StargateSushiXSwapDst", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1724", + "src": { + "column": "13", + "end": "32809", + "length": "21", + "line": "908", + "parentIndex": "2011", + "start": "32789" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00261724", + "typeString": "event StargateAdapter.StargateSushiXSwapDst" } } }, - "id": "2382", - "nodeType": "ASSIGNMENT", + "id": "2011", + "nodeType": "EMIT_STATEMENT", + "src": { + "column": "8", + "end": "32830", + "length": "47", + "line": "908", + "parentIndex": "1906", + "start": "32784" + } + } + } + ] + }, + "id": "1906", + "implemented": true, + "kind": "KIND_FUNCTION", + "name": "sgReceive", + "nameLocation": { + "column": "13", + "end": "31636", + "length": "9", + "line": "871", + "parentIndex": "1906", + "start": "31628" + }, + "nodeType": "FUNCTION_DEFINITION", + "overrides": [ + { + "id": "1920", + "nodeType": "OVERRIDE_SPECIFIER", + "src": { + "column": "15", + "end": "31795", + "length": "8", + "line": "878", + "parentIndex": "1906", + "start": "31788" + }, + "typeDescription": { + "typeIdentifier": "$_t_override", + "typeString": "override" + } + } + ], + "parameters": { + "id": "1907", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "1908", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1908", + "src": { + "column": "8", + "end": "31652", + "length": "6", + "line": "872", + "parentIndex": "1907", + "start": "31647" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": "1909", + "name": "uint16", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "31652", + "length": "6", + "line": "872", + "parentIndex": "1908", + "start": "31647" + }, + "typeDescription": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1910", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1910", + "src": { + "column": "8", + "end": "31674", + "length": "12", + "line": "873", + "parentIndex": "1907", + "start": "31663" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1911", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "31667", + "length": "5", + "line": "873", + "parentIndex": "1910", + "start": "31663" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1912", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1912", + "src": { + "column": "8", + "end": "31691", + "length": "7", + "line": "874", + "parentIndex": "1907", + "start": "31685" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1913", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "31691", + "length": "7", + "line": "874", + "parentIndex": "1912", + "start": "31685" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1914", + "name": "_token", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1914", + "src": { + "column": "8", + "end": "31715", + "length": "14", + "line": "875", + "parentIndex": "1907", + "start": "31702" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "1915", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "31708", + "length": "7", + "line": "875", + "parentIndex": "1914", + "start": "31702" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1916", + "name": "amountLD", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1916", + "src": { + "column": "8", + "end": "31741", + "length": "16", + "line": "876", + "parentIndex": "1907", + "start": "31726" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "1917", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "31732", + "length": "7", + "line": "876", + "parentIndex": "1916", + "start": "31726" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "1918", + "name": "payload", + "nodeType": "VARIABLE_DECLARATION", + "scope": "1918", + "src": { + "column": "8", + "end": "31771", + "length": "20", + "line": "877", + "parentIndex": "1907", + "start": "31752" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "1919", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "31756", + "length": "5", + "line": "877", + "parentIndex": "1918", + "start": "31752" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "31771", + "length": "125", + "line": "872", + "parentIndex": "1906", + "start": "31647" + } + }, + "returnParameters": { + "id": "1921", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "32837", + "length": "1219", + "line": "871", + "parentIndex": "1906", + "start": "31619" + } + }, + "scope": "1705", + "signature": "ab8236f3", + "src": { + "column": "4", + "end": "32837", + "length": "1219", + "line": "871", + "parentIndex": "1705", + "start": "31619" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", + "typeString": "function(uint16,bytes,uint256,address,uint256,bytes)" + }, + "visibility": "EXTERNAL" + } + } + ], + "src": { + "end": "32839", + "length": "5432", + "line": "770", + "parentIndex": "1678", + "start": "27408" + } + } + } + ] + }, + "src": { + "line": 770, + "start": 27408, + "end": 32839, + "length": 5432, + "parent_index": 272 + } + }, + { + "id": 2015, + "license": "GPL-3.0", + "name": "IUniswapV2Pair", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IUniswapV2Pair.sol", + "exported_symbols": [ + { + "id": 2015, + "name": "IUniswapV2Pair", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IUniswapV2Pair.sol" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "2028", + "literals": [ + "pragma", + "solidity", + "\u003e=", + "0", + ".", + "5", + ".", + "0", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "32902", + "length": "24", + "line": "915", + "parentIndex": "2015", + "start": "32879" + }, + "text": "pragma solidity \u003e=0.5.0;" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", + "value": { + "fullyImplemented": true, + "id": "2069", + "kind": "KIND_INTERFACE", + "linearizedBaseContracts": [ + "2069" + ], + "name": "IUniswapV2Pair", + "nameLocation": { + "column": "10", + "end": "32928", + "length": "14", + "line": "917", + "parentIndex": "2069", + "start": "32915" + }, + "nodeType": "CONTRACT_DEFINITION", + "nodes": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "2071", + "name": "Approval", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "2072", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2073", + "indexed": true, + "name": "owner", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2073", + "src": { + "column": "19", + "end": "32971", + "length": "21", + "line": "918", + "parentIndex": "2072", + "start": "32951" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2074", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "19", + "end": "32957", + "length": "7", + "line": "918", + "parentIndex": "2073", + "start": "32951" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2075", + "indexed": true, + "name": "spender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2075", + "src": { + "column": "42", + "end": "32996", + "length": "23", + "line": "918", + "parentIndex": "2072", + "start": "32974" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2076", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "42", + "end": "32980", + "length": "7", + "line": "918", + "parentIndex": "2075", + "start": "32974" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2077", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2077", + "src": { + "column": "67", + "end": "33008", + "length": "10", + "line": "918", + "parentIndex": "2072", + "start": "32999" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2078", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "67", + "end": "33002", + "length": "4", + "line": "918", + "parentIndex": "2077", + "start": "32999" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "4", + "end": "33010", + "length": "75", + "line": "918", + "parentIndex": "2071", + "start": "32936" + } + }, + "src": { + "column": "4", + "end": "33010", + "length": "75", + "line": "918", + "parentIndex": "2069", + "start": "32936" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Approval_\u00262071", + "typeString": "event IUniswapV2Pair.Approval" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "2080", + "name": "Transfer", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "2081", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2082", + "indexed": true, + "name": "from", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2082", + "src": { + "column": "19", + "end": "33050", + "length": "20", + "line": "919", + "parentIndex": "2081", + "start": "33031" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2083", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "19", + "end": "33037", + "length": "7", + "line": "919", + "parentIndex": "2082", + "start": "33031" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2084", + "indexed": true, + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2084", + "src": { + "column": "41", + "end": "33070", + "length": "18", + "line": "919", + "parentIndex": "2081", + "start": "33053" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2085", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "41", + "end": "33059", + "length": "7", + "line": "919", + "parentIndex": "2084", + "start": "33053" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2086", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2086", + "src": { + "column": "61", + "end": "33082", + "length": "10", + "line": "919", + "parentIndex": "2081", + "start": "33073" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2087", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "61", + "end": "33076", + "length": "4", + "line": "919", + "parentIndex": "2086", + "start": "33073" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "4", + "end": "33084", + "length": "69", + "line": "919", + "parentIndex": "2080", + "start": "33016" + } + }, + "src": { + "column": "4", + "end": "33084", + "length": "69", + "line": "919", + "parentIndex": "2069", + "start": "33016" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Transfer_\u00262080", + "typeString": "event IUniswapV2Pair.Transfer" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2096", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33144", + "length": "54", + "line": "921", + "parentIndex": "2089", + "start": "33091" + } + }, + "id": "2089", + "kind": "KIND_FUNCTION", + "name": "name", + "nameLocation": { + "column": "13", + "end": "33103", + "length": "4", + "line": "921", + "parentIndex": "2089", + "start": "33100" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2090", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2091", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2091", + "src": { + "column": "43", + "end": "33142", + "length": "13", + "line": "921", + "parentIndex": "2090", + "start": "33130" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + }, + "typeName": { + "id": "2092", + "name": "string", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "43", + "end": "33135", + "length": "6", + "line": "921", + "parentIndex": "2091", + "start": "33130" + }, + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "43", + "end": "33142", + "length": "13", + "line": "921", + "parentIndex": "2089", + "start": "33130" + } + }, + "returnParameters": { + "id": "2093", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2094", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2094", + "src": { + "column": "43", + "end": "33142", + "length": "13", + "line": "921", + "parentIndex": "2093", + "start": "33130" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + }, + "typeName": { + "id": "2095", + "name": "string", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "43", + "end": "33135", + "length": "6", + "line": "921", + "parentIndex": "2094", + "start": "33130" + }, + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "43", + "end": "33142", + "length": "13", + "line": "921", + "parentIndex": "2089", + "start": "33130" + } + }, + "scope": "2069", + "signature": "5b43bc99", + "src": { + "column": "4", + "end": "33144", + "length": "54", + "line": "921", + "parentIndex": "2069", + "start": "33091" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_string$", + "typeString": "function(string)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2105", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33205", + "length": "56", + "line": "922", + "parentIndex": "2098", + "start": "33150" + } + }, + "id": "2098", + "kind": "KIND_FUNCTION", + "name": "symbol", + "nameLocation": { + "column": "13", + "end": "33164", + "length": "6", + "line": "922", + "parentIndex": "2098", + "start": "33159" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2099", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2100", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2100", + "src": { + "column": "45", + "end": "33203", + "length": "13", + "line": "922", + "parentIndex": "2099", + "start": "33191" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + }, + "typeName": { + "id": "2101", + "name": "string", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "45", + "end": "33196", + "length": "6", + "line": "922", + "parentIndex": "2100", + "start": "33191" + }, + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "45", + "end": "33203", + "length": "13", + "line": "922", + "parentIndex": "2098", + "start": "33191" + } + }, + "returnParameters": { + "id": "2102", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2103", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2103", + "src": { + "column": "45", + "end": "33203", + "length": "13", + "line": "922", + "parentIndex": "2102", + "start": "33191" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + }, + "typeName": { + "id": "2104", + "name": "string", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "45", + "end": "33196", + "length": "6", + "line": "922", + "parentIndex": "2103", + "start": "33191" + }, + "typeDescription": { + "typeIdentifier": "t_string", + "typeString": "string" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "45", + "end": "33203", + "length": "13", + "line": "922", + "parentIndex": "2098", + "start": "33191" + } + }, + "scope": "2069", + "signature": "41bb0559", + "src": { + "column": "4", + "end": "33205", + "length": "56", + "line": "922", + "parentIndex": "2069", + "start": "33150" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_string$", + "typeString": "function(string)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2114", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33260", + "length": "50", + "line": "923", + "parentIndex": "2107", + "start": "33211" + } + }, + "id": "2107", + "kind": "KIND_FUNCTION", + "name": "decimals", + "nameLocation": { + "column": "13", + "end": "33227", + "length": "8", + "line": "923", + "parentIndex": "2107", + "start": "33220" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2108", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2109", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2109", + "src": { + "column": "47", + "end": "33258", + "length": "5", + "line": "923", + "parentIndex": "2108", + "start": "33254" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": "2110", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "47", + "end": "33258", + "length": "5", + "line": "923", + "parentIndex": "2109", + "start": "33254" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "47", + "end": "33258", + "length": "5", + "line": "923", + "parentIndex": "2107", + "start": "33254" + } + }, + "returnParameters": { + "id": "2111", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2112", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2112", + "src": { + "column": "47", + "end": "33258", + "length": "5", + "line": "923", + "parentIndex": "2111", + "start": "33254" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": "2113", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "47", + "end": "33258", + "length": "5", + "line": "923", + "parentIndex": "2112", + "start": "33254" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "47", + "end": "33258", + "length": "5", + "line": "923", + "parentIndex": "2107", + "start": "33254" + } + }, + "scope": "2069", + "signature": "82fd60ab", + "src": { + "column": "4", + "end": "33260", + "length": "50", + "line": "923", + "parentIndex": "2069", + "start": "33211" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint8$", + "typeString": "function(uint8)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2123", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33317", + "length": "52", + "line": "924", + "parentIndex": "2116", + "start": "33266" + } + }, + "id": "2116", + "kind": "KIND_FUNCTION", + "name": "totalSupply", + "nameLocation": { + "column": "13", + "end": "33285", + "length": "11", + "line": "924", + "parentIndex": "2116", + "start": "33275" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2117", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2118", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2118", + "src": { + "column": "50", + "end": "33315", + "length": "4", + "line": "924", + "parentIndex": "2117", + "start": "33312" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2119", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "50", + "end": "33315", + "length": "4", + "line": "924", + "parentIndex": "2118", + "start": "33312" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "50", + "end": "33315", + "length": "4", + "line": "924", + "parentIndex": "2116", + "start": "33312" + } + }, + "returnParameters": { + "id": "2120", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2121", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2121", + "src": { + "column": "50", + "end": "33315", + "length": "4", + "line": "924", + "parentIndex": "2120", + "start": "33312" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2122", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "50", + "end": "33315", + "length": "4", + "line": "924", + "parentIndex": "2121", + "start": "33312" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "50", + "end": "33315", + "length": "4", + "line": "924", + "parentIndex": "2116", + "start": "33312" + } + }, + "scope": "2069", + "signature": "247f0ca7", + "src": { + "column": "4", + "end": "33317", + "length": "52", + "line": "924", + "parentIndex": "2069", + "start": "33266" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2132", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33385", + "length": "63", + "line": "925", + "parentIndex": "2125", + "start": "33323" + } + }, + "id": "2125", + "kind": "KIND_FUNCTION", + "name": "balanceOf", + "nameLocation": { + "column": "13", + "end": "33340", + "length": "9", + "line": "925", + "parentIndex": "2125", + "start": "33332" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2126", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2127", + "name": "owner", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2127", + "src": { + "column": "23", + "end": "33354", + "length": "13", + "line": "925", + "parentIndex": "2126", + "start": "33342" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2128", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "23", + "end": "33348", + "length": "7", + "line": "925", + "parentIndex": "2127", + "start": "33342" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "23", + "end": "33354", + "length": "13", + "line": "925", + "parentIndex": "2125", + "start": "33342" + } + }, + "returnParameters": { + "id": "2129", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2130", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2130", + "src": { + "column": "61", + "end": "33383", + "length": "4", + "line": "925", + "parentIndex": "2129", + "start": "33380" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2131", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "61", + "end": "33383", + "length": "4", + "line": "925", + "parentIndex": "2130", + "start": "33380" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "61", + "end": "33383", + "length": "4", + "line": "925", + "parentIndex": "2125", + "start": "33380" + } + }, + "scope": "2069", + "signature": "70a08231", + "src": { + "column": "4", + "end": "33385", + "length": "63", + "line": "925", + "parentIndex": "2069", + "start": "33323" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2143", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33470", + "length": "80", + "line": "926", + "parentIndex": "2134", + "start": "33391" + } + }, + "id": "2134", + "kind": "KIND_FUNCTION", + "name": "allowance", + "nameLocation": { + "column": "13", + "end": "33408", + "length": "9", + "line": "926", + "parentIndex": "2134", + "start": "33400" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2135", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2136", + "name": "owner", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2136", + "src": { + "column": "23", + "end": "33422", + "length": "13", + "line": "926", + "parentIndex": "2135", + "start": "33410" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2137", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "23", + "end": "33416", + "length": "7", + "line": "926", + "parentIndex": "2136", + "start": "33410" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2138", + "name": "spender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2138", + "src": { + "column": "38", + "end": "33439", + "length": "15", + "line": "926", + "parentIndex": "2135", + "start": "33425" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2139", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "38", + "end": "33431", + "length": "7", + "line": "926", + "parentIndex": "2138", + "start": "33425" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "23", + "end": "33439", + "length": "30", + "line": "926", + "parentIndex": "2134", + "start": "33410" + } + }, + "returnParameters": { + "id": "2140", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2141", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2141", + "src": { + "column": "78", + "end": "33468", + "length": "4", + "line": "926", + "parentIndex": "2140", + "start": "33465" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2142", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "78", + "end": "33468", + "length": "4", + "line": "926", + "parentIndex": "2141", + "start": "33465" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "78", + "end": "33468", + "length": "4", + "line": "926", + "parentIndex": "2134", + "start": "33465" + } + }, + "scope": "2069", + "signature": "dd62ed3e", + "src": { + "column": "4", + "end": "33470", + "length": "80", + "line": "926", + "parentIndex": "2069", + "start": "33391" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2154", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33546", + "length": "70", + "line": "928", + "parentIndex": "2145", + "start": "33477" + } + }, + "id": "2145", + "kind": "KIND_FUNCTION", + "name": "approve", + "nameLocation": { + "column": "13", + "end": "33492", + "length": "7", + "line": "928", + "parentIndex": "2145", + "start": "33486" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2146", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2147", + "name": "spender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2147", + "src": { + "column": "21", + "end": "33508", + "length": "15", + "line": "928", + "parentIndex": "2146", + "start": "33494" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2148", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "21", + "end": "33500", + "length": "7", + "line": "928", + "parentIndex": "2147", + "start": "33494" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2149", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2149", + "src": { + "column": "38", + "end": "33520", + "length": "10", + "line": "928", + "parentIndex": "2146", + "start": "33511" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2150", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "38", + "end": "33514", + "length": "4", + "line": "928", + "parentIndex": "2149", + "start": "33511" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "21", + "end": "33520", + "length": "27", + "line": "928", + "parentIndex": "2145", + "start": "33494" + } + }, + "returnParameters": { + "id": "2151", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2152", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2152", + "src": { + "column": "68", + "end": "33544", + "length": "4", + "line": "928", + "parentIndex": "2151", + "start": "33541" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "2153", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "68", + "end": "33544", + "length": "4", + "line": "928", + "parentIndex": "2152", + "start": "33541" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "68", + "end": "33544", + "length": "4", + "line": "928", + "parentIndex": "2145", + "start": "33541" + } + }, + "scope": "2069", + "signature": "086c40f6", + "src": { + "column": "4", + "end": "33546", + "length": "70", + "line": "928", + "parentIndex": "2069", + "start": "33477" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_uint256$", + "typeString": "function(address,uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2165", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33617", + "length": "66", + "line": "929", + "parentIndex": "2156", + "start": "33552" + } + }, + "id": "2156", + "kind": "KIND_FUNCTION", + "name": "transfer", + "nameLocation": { + "column": "13", + "end": "33568", + "length": "8", + "line": "929", + "parentIndex": "2156", + "start": "33561" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2157", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2158", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2158", + "src": { + "column": "22", + "end": "33579", + "length": "10", + "line": "929", + "parentIndex": "2157", + "start": "33570" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2159", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "22", + "end": "33576", + "length": "7", + "line": "929", + "parentIndex": "2158", + "start": "33570" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2160", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2160", + "src": { + "column": "34", + "end": "33591", + "length": "10", + "line": "929", + "parentIndex": "2157", + "start": "33582" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2161", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "34", + "end": "33585", + "length": "4", + "line": "929", + "parentIndex": "2160", + "start": "33582" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "22", + "end": "33591", + "length": "22", + "line": "929", + "parentIndex": "2156", + "start": "33570" + } + }, + "returnParameters": { + "id": "2162", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2163", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2163", + "src": { + "column": "64", + "end": "33615", + "length": "4", + "line": "929", + "parentIndex": "2162", + "start": "33612" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "2164", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "64", + "end": "33615", + "length": "4", + "line": "929", + "parentIndex": "2163", + "start": "33612" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "64", + "end": "33615", + "length": "4", + "line": "929", + "parentIndex": "2156", + "start": "33612" + } + }, + "scope": "2069", + "signature": "6cb927d8", + "src": { + "column": "4", + "end": "33617", + "length": "66", + "line": "929", + "parentIndex": "2069", + "start": "33552" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_uint256$", + "typeString": "function(address,uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2178", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33706", + "length": "84", + "line": "930", + "parentIndex": "2167", + "start": "33623" + } + }, + "id": "2167", + "kind": "KIND_FUNCTION", + "name": "transferFrom", + "nameLocation": { + "column": "13", + "end": "33643", + "length": "12", + "line": "930", + "parentIndex": "2167", + "start": "33632" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2168", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2169", + "name": "from", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2169", + "src": { + "column": "26", + "end": "33656", + "length": "12", + "line": "930", + "parentIndex": "2168", + "start": "33645" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2170", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "26", + "end": "33651", + "length": "7", + "line": "930", + "parentIndex": "2169", + "start": "33645" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2171", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2171", + "src": { + "column": "40", + "end": "33668", + "length": "10", + "line": "930", + "parentIndex": "2168", + "start": "33659" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2172", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "40", + "end": "33665", + "length": "7", + "line": "930", + "parentIndex": "2171", + "start": "33659" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2173", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2173", + "src": { + "column": "52", + "end": "33680", + "length": "10", + "line": "930", + "parentIndex": "2168", + "start": "33671" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2174", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "52", + "end": "33674", + "length": "4", + "line": "930", + "parentIndex": "2173", + "start": "33671" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "26", + "end": "33680", + "length": "36", + "line": "930", + "parentIndex": "2167", + "start": "33645" + } + }, + "returnParameters": { + "id": "2175", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2176", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2176", + "src": { + "column": "82", + "end": "33704", + "length": "4", + "line": "930", + "parentIndex": "2175", + "start": "33701" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "2177", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "82", + "end": "33704", + "length": "4", + "line": "930", + "parentIndex": "2176", + "start": "33701" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "82", + "end": "33704", + "length": "4", + "line": "930", + "parentIndex": "2167", + "start": "33701" + } + }, + "scope": "2069", + "signature": "a978501e", + "src": { + "column": "4", + "end": "33706", + "length": "84", + "line": "930", + "parentIndex": "2069", + "start": "33623" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", + "typeString": "function(address,address,uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2187", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33772", + "length": "60", + "line": "932", + "parentIndex": "2180", + "start": "33713" + } + }, + "id": "2180", + "kind": "KIND_FUNCTION", + "name": "DOMAIN_SEPARATOR", + "nameLocation": { + "column": "13", + "end": "33737", + "length": "16", + "line": "932", + "parentIndex": "2180", + "start": "33722" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2181", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2182", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2182", + "src": { + "column": "55", + "end": "33770", + "length": "7", + "line": "932", + "parentIndex": "2181", + "start": "33764" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "2183", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "55", + "end": "33770", + "length": "7", + "line": "932", + "parentIndex": "2182", + "start": "33764" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "55", + "end": "33770", + "length": "7", + "line": "932", + "parentIndex": "2180", + "start": "33764" + } + }, + "returnParameters": { + "id": "2184", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2185", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2185", + "src": { + "column": "55", + "end": "33770", + "length": "7", + "line": "932", + "parentIndex": "2184", + "start": "33764" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "2186", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "55", + "end": "33770", + "length": "7", + "line": "932", + "parentIndex": "2185", + "start": "33764" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "55", + "end": "33770", + "length": "7", + "line": "932", + "parentIndex": "2180", + "start": "33764" + } + }, + "scope": "2069", + "signature": "d075954a", + "src": { + "column": "4", + "end": "33772", + "length": "60", + "line": "932", + "parentIndex": "2069", + "start": "33713" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_bytes32$", + "typeString": "function(bytes32)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2196", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33836", + "length": "59", + "line": "933", + "parentIndex": "2189", + "start": "33778" + } + }, + "id": "2189", + "kind": "KIND_FUNCTION", + "name": "PERMIT_TYPEHASH", + "nameLocation": { + "column": "13", + "end": "33801", + "length": "15", + "line": "933", + "parentIndex": "2189", + "start": "33787" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2190", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2191", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2191", + "src": { + "column": "54", + "end": "33834", + "length": "7", + "line": "933", + "parentIndex": "2190", + "start": "33828" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "2192", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "54", + "end": "33834", + "length": "7", + "line": "933", + "parentIndex": "2191", + "start": "33828" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "54", + "end": "33834", + "length": "7", + "line": "933", + "parentIndex": "2189", + "start": "33828" + } + }, + "returnParameters": { + "id": "2193", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2194", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2194", + "src": { + "column": "54", + "end": "33834", + "length": "7", + "line": "933", + "parentIndex": "2193", + "start": "33828" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "2195", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "54", + "end": "33834", + "length": "7", + "line": "933", + "parentIndex": "2194", + "start": "33828" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "54", + "end": "33834", + "length": "7", + "line": "933", + "parentIndex": "2189", + "start": "33828" + } + }, + "scope": "2069", + "signature": "5b4c0a1d", + "src": { + "column": "4", + "end": "33836", + "length": "59", + "line": "933", + "parentIndex": "2069", + "start": "33778" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_bytes32$", + "typeString": "function(bytes32)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2205", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "33901", + "length": "60", + "line": "934", + "parentIndex": "2198", + "start": "33842" + } + }, + "id": "2198", + "kind": "KIND_FUNCTION", + "name": "nonces", + "nameLocation": { + "column": "13", + "end": "33856", + "length": "6", + "line": "934", + "parentIndex": "2198", + "start": "33851" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2199", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2200", + "name": "owner", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2200", + "src": { + "column": "20", + "end": "33870", + "length": "13", + "line": "934", + "parentIndex": "2199", + "start": "33858" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2201", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "20", + "end": "33864", + "length": "7", + "line": "934", + "parentIndex": "2200", + "start": "33858" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "20", + "end": "33870", + "length": "13", + "line": "934", + "parentIndex": "2198", + "start": "33858" + } + }, + "returnParameters": { + "id": "2202", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2203", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2203", + "src": { + "column": "58", + "end": "33899", + "length": "4", + "line": "934", + "parentIndex": "2202", + "start": "33896" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2204", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "58", + "end": "33899", + "length": "4", + "line": "934", + "parentIndex": "2203", + "start": "33896" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "58", + "end": "33899", + "length": "4", + "line": "934", + "parentIndex": "2198", + "start": "33896" + } + }, + "scope": "2069", + "signature": "7ecebe00", + "src": { + "column": "4", + "end": "33901", + "length": "60", + "line": "934", + "parentIndex": "2069", + "start": "33842" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2224", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "34022", + "length": "115", + "line": "936", + "parentIndex": "2207", + "start": "33908" + } + }, + "id": "2207", + "kind": "KIND_FUNCTION", + "name": "permit", + "nameLocation": { + "column": "13", + "end": "33922", + "length": "6", + "line": "936", + "parentIndex": "2207", + "start": "33917" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2208", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2209", + "name": "owner", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2209", + "src": { + "column": "20", + "end": "33936", + "length": "13", + "line": "936", + "parentIndex": "2208", + "start": "33924" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2210", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "20", + "end": "33930", + "length": "7", + "line": "936", + "parentIndex": "2209", + "start": "33924" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2211", + "name": "spender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2211", + "src": { + "column": "35", + "end": "33953", + "length": "15", + "line": "936", + "parentIndex": "2208", + "start": "33939" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2212", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "35", + "end": "33945", + "length": "7", + "line": "936", + "parentIndex": "2211", + "start": "33939" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2213", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2213", + "src": { + "column": "52", + "end": "33965", + "length": "10", + "line": "936", + "parentIndex": "2208", + "start": "33956" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2214", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "52", + "end": "33959", + "length": "4", + "line": "936", + "parentIndex": "2213", + "start": "33956" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2215", + "name": "deadline", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2215", + "src": { + "column": "64", + "end": "33980", + "length": "13", + "line": "936", + "parentIndex": "2208", + "start": "33968" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2216", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "64", + "end": "33971", + "length": "4", + "line": "936", + "parentIndex": "2215", + "start": "33968" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2217", + "name": "v", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2217", + "src": { + "column": "79", + "end": "33989", + "length": "7", + "line": "936", + "parentIndex": "2208", + "start": "33983" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": "2218", + "name": "uint8", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "79", + "end": "33987", + "length": "5", + "line": "936", + "parentIndex": "2217", + "start": "33983" + }, + "typeDescription": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2219", + "name": "r", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2219", + "src": { + "column": "88", + "end": "34000", + "length": "9", + "line": "936", + "parentIndex": "2208", + "start": "33992" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "2220", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "88", + "end": "33998", + "length": "7", + "line": "936", + "parentIndex": "2219", + "start": "33992" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2221", + "name": "s", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2221", + "src": { + "column": "99", + "end": "34011", + "length": "9", + "line": "936", + "parentIndex": "2208", + "start": "34003" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "2222", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "99", + "end": "34009", + "length": "7", + "line": "936", + "parentIndex": "2221", + "start": "34003" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "20", + "end": "34011", + "length": "88", + "line": "936", + "parentIndex": "2207", + "start": "33924" + } + }, + "returnParameters": { + "id": "2223", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "34022", + "length": "115", + "line": "936", + "parentIndex": "2207", + "start": "33908" + } + }, + "scope": "2069", + "signature": "97a6e84a", + "src": { + "column": "4", + "end": "34022", + "length": "115", + "line": "936", + "parentIndex": "2069", + "start": "33908" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$_t_uint256$_t_uint8$_t_bytes32$_t_bytes32$", + "typeString": "function(address,address,uint256,uint256,uint8,bytes32,bytes32)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "2226", + "name": "Mint", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "2227", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2228", + "indexed": true, + "name": "sender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2228", + "src": { + "column": "15", + "end": "34061", + "length": "22", + "line": "938", + "parentIndex": "2227", + "start": "34040" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2229", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "15", + "end": "34046", + "length": "7", + "line": "938", + "parentIndex": "2228", + "start": "34040" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2230", + "name": "amount0", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2230", + "src": { + "column": "39", + "end": "34075", + "length": "12", + "line": "938", + "parentIndex": "2227", + "start": "34064" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2231", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "39", + "end": "34067", + "length": "4", + "line": "938", + "parentIndex": "2230", + "start": "34064" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2232", + "name": "amount1", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2232", + "src": { + "column": "53", + "end": "34089", + "length": "12", + "line": "938", + "parentIndex": "2227", + "start": "34078" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2233", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "53", + "end": "34081", + "length": "4", + "line": "938", + "parentIndex": "2232", + "start": "34078" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "4", + "end": "34091", + "length": "63", + "line": "938", + "parentIndex": "2226", + "start": "34029" + } + }, + "src": { + "column": "4", + "end": "34091", + "length": "63", + "line": "938", + "parentIndex": "2069", + "start": "34029" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Mint_\u00262226", + "typeString": "event IUniswapV2Pair.Mint" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "2235", + "name": "Burn", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "2236", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2237", + "indexed": true, + "name": "sender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2237", + "src": { + "column": "15", + "end": "34129", + "length": "22", + "line": "939", + "parentIndex": "2236", + "start": "34108" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2238", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "15", + "end": "34114", + "length": "7", + "line": "939", + "parentIndex": "2237", + "start": "34108" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2239", + "name": "amount0", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2239", + "src": { + "column": "39", + "end": "34143", + "length": "12", + "line": "939", + "parentIndex": "2236", + "start": "34132" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2240", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "39", + "end": "34135", + "length": "4", + "line": "939", + "parentIndex": "2239", + "start": "34132" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2241", + "name": "amount1", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2241", + "src": { + "column": "53", + "end": "34157", + "length": "12", + "line": "939", + "parentIndex": "2236", + "start": "34146" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2242", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "53", + "end": "34149", + "length": "4", + "line": "939", + "parentIndex": "2241", + "start": "34146" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2243", + "indexed": true, + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2243", + "src": { + "column": "67", + "end": "34177", + "length": "18", + "line": "939", + "parentIndex": "2236", + "start": "34160" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2244", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "67", + "end": "34166", + "length": "7", + "line": "939", + "parentIndex": "2243", + "start": "34160" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "4", + "end": "34179", + "length": "83", + "line": "939", + "parentIndex": "2235", + "start": "34097" + } + }, + "src": { + "column": "4", + "end": "34179", + "length": "83", + "line": "939", + "parentIndex": "2069", + "start": "34097" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Burn_\u00262235", + "typeString": "event IUniswapV2Pair.Burn" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "2246", + "name": "Swap", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "2247", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2248", + "indexed": true, + "name": "sender", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2248", + "src": { + "column": "8", + "end": "34226", + "length": "22", + "line": "941", + "parentIndex": "2247", + "start": "34205" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2249", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34211", + "length": "7", + "line": "941", + "parentIndex": "2248", + "start": "34205" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2250", + "name": "amount0In", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2250", + "src": { + "column": "8", + "end": "34250", + "length": "14", + "line": "942", + "parentIndex": "2247", + "start": "34237" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2251", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34240", + "length": "4", + "line": "942", + "parentIndex": "2250", + "start": "34237" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2252", + "name": "amount1In", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2252", + "src": { + "column": "8", + "end": "34274", + "length": "14", + "line": "943", + "parentIndex": "2247", + "start": "34261" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2253", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34264", + "length": "4", + "line": "943", + "parentIndex": "2252", + "start": "34261" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2254", + "name": "amount0Out", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2254", + "src": { + "column": "8", + "end": "34299", + "length": "15", + "line": "944", + "parentIndex": "2247", + "start": "34285" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2255", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34288", + "length": "4", + "line": "944", + "parentIndex": "2254", + "start": "34285" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2256", + "name": "amount1Out", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2256", + "src": { + "column": "8", + "end": "34324", + "length": "15", + "line": "945", + "parentIndex": "2247", + "start": "34310" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2257", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34313", + "length": "4", + "line": "945", + "parentIndex": "2256", + "start": "34310" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2258", + "indexed": true, + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2258", + "src": { + "column": "8", + "end": "34352", + "length": "18", + "line": "946", + "parentIndex": "2247", + "start": "34335" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2259", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "34341", + "length": "7", + "line": "946", + "parentIndex": "2258", + "start": "34335" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "4", + "end": "34359", + "length": "175", + "line": "940", + "parentIndex": "2246", + "start": "34185" + } + }, + "src": { + "column": "4", + "end": "34359", + "length": "175", + "line": "940", + "parentIndex": "2069", + "start": "34185" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Swap_\u00262246", + "typeString": "event IUniswapV2Pair.Swap" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "value": { + "id": "2261", + "name": "Sync", + "nodeType": "EVENT_DEFINITION", + "parameters": { + "id": "2262", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2263", + "name": "reserve0", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2263", + "src": { + "column": "15", + "end": "34391", + "length": "16", + "line": "948", + "parentIndex": "2262", + "start": "34376" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": "2264", + "name": "uint112", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "15", + "end": "34382", + "length": "7", + "line": "948", + "parentIndex": "2263", + "start": "34376" + }, + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2265", + "name": "reserve1", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2265", + "src": { + "column": "33", + "end": "34409", + "length": "16", + "line": "948", + "parentIndex": "2262", + "start": "34394" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": "2266", + "name": "uint112", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "33", + "end": "34400", + "length": "7", + "line": "948", + "parentIndex": "2265", + "start": "34394" + }, + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "4", + "end": "34411", + "length": "47", + "line": "948", + "parentIndex": "2261", + "start": "34365" + } + }, + "src": { + "column": "4", + "end": "34411", + "length": "47", + "line": "948", + "parentIndex": "2069", + "start": "34365" + }, + "typeDescription": { + "typeIdentifier": "t_event\u0026_IUniswapV2Pair_Sync_\u00262261", + "typeString": "event IUniswapV2Pair.Sync" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2275", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "34475", + "length": "58", + "line": "950", + "parentIndex": "2268", + "start": "34418" + } + }, + "id": "2268", + "kind": "KIND_FUNCTION", + "name": "MINIMUM_LIQUIDITY", + "nameLocation": { + "column": "13", + "end": "34443", + "length": "17", + "line": "950", + "parentIndex": "2268", + "start": "34427" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2269", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2270", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2270", + "src": { + "column": "56", + "end": "34473", + "length": "4", + "line": "950", + "parentIndex": "2269", + "start": "34470" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2271", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "56", + "end": "34473", + "length": "4", + "line": "950", + "parentIndex": "2270", + "start": "34470" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "56", + "end": "34473", + "length": "4", + "line": "950", + "parentIndex": "2268", + "start": "34470" + } + }, + "returnParameters": { + "id": "2272", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2273", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2273", + "src": { + "column": "56", + "end": "34473", + "length": "4", + "line": "950", + "parentIndex": "2272", + "start": "34470" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2274", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "56", + "end": "34473", + "length": "4", + "line": "950", + "parentIndex": "2273", + "start": "34470" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "56", + "end": "34473", + "length": "4", + "line": "950", + "parentIndex": "2268", + "start": "34470" + } + }, + "scope": "2069", + "signature": "51096f41", + "src": { + "column": "4", + "end": "34475", + "length": "58", + "line": "950", + "parentIndex": "2069", + "start": "34418" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2284", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "34531", + "length": "51", + "line": "951", + "parentIndex": "2277", + "start": "34481" + } + }, + "id": "2277", + "kind": "KIND_FUNCTION", + "name": "factory", + "nameLocation": { + "column": "13", + "end": "34496", + "length": "7", + "line": "951", + "parentIndex": "2277", + "start": "34490" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2278", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2279", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2279", + "src": { + "column": "46", + "end": "34529", + "length": "7", + "line": "951", + "parentIndex": "2278", + "start": "34523" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2280", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "46", + "end": "34529", + "length": "7", + "line": "951", + "parentIndex": "2279", + "start": "34523" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "46", + "end": "34529", + "length": "7", + "line": "951", + "parentIndex": "2277", + "start": "34523" + } + }, + "returnParameters": { + "id": "2281", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2282", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2282", + "src": { + "column": "46", + "end": "34529", + "length": "7", + "line": "951", + "parentIndex": "2281", + "start": "34523" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2283", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "46", + "end": "34529", + "length": "7", + "line": "951", + "parentIndex": "2282", + "start": "34523" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "46", + "end": "34529", + "length": "7", + "line": "951", + "parentIndex": "2277", + "start": "34523" + } + }, + "scope": "2069", + "signature": "395c0fda", + "src": { + "column": "4", + "end": "34531", + "length": "51", + "line": "951", + "parentIndex": "2069", + "start": "34481" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2293", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "34586", + "length": "50", + "line": "952", + "parentIndex": "2286", + "start": "34537" + } + }, + "id": "2286", + "kind": "KIND_FUNCTION", + "name": "token0", + "nameLocation": { + "column": "13", + "end": "34551", + "length": "6", + "line": "952", + "parentIndex": "2286", + "start": "34546" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2287", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2288", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2288", + "src": { + "column": "45", + "end": "34584", + "length": "7", + "line": "952", + "parentIndex": "2287", + "start": "34578" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2289", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "45", + "end": "34584", + "length": "7", + "line": "952", + "parentIndex": "2288", + "start": "34578" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "45", + "end": "34584", + "length": "7", + "line": "952", + "parentIndex": "2286", + "start": "34578" + } + }, + "returnParameters": { + "id": "2290", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2291", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2291", + "src": { + "column": "45", + "end": "34584", + "length": "7", + "line": "952", + "parentIndex": "2290", + "start": "34578" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2292", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "45", + "end": "34584", + "length": "7", + "line": "952", + "parentIndex": "2291", + "start": "34578" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "45", + "end": "34584", + "length": "7", + "line": "952", + "parentIndex": "2286", + "start": "34578" + } + }, + "scope": "2069", + "signature": "76bf39a3", + "src": { + "column": "4", + "end": "34586", + "length": "50", + "line": "952", + "parentIndex": "2069", + "start": "34537" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2302", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "34641", + "length": "50", + "line": "953", + "parentIndex": "2295", + "start": "34592" + } + }, + "id": "2295", + "kind": "KIND_FUNCTION", + "name": "token1", + "nameLocation": { + "column": "13", + "end": "34606", + "length": "6", + "line": "953", + "parentIndex": "2295", + "start": "34601" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2296", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2297", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2297", + "src": { + "column": "45", + "end": "34639", + "length": "7", + "line": "953", + "parentIndex": "2296", + "start": "34633" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2298", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "45", + "end": "34639", + "length": "7", + "line": "953", + "parentIndex": "2297", + "start": "34633" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "45", + "end": "34639", + "length": "7", + "line": "953", + "parentIndex": "2295", + "start": "34633" + } + }, + "returnParameters": { + "id": "2299", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2300", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2300", + "src": { + "column": "45", + "end": "34639", + "length": "7", + "line": "953", + "parentIndex": "2299", + "start": "34633" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2301", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "45", + "end": "34639", + "length": "7", + "line": "953", + "parentIndex": "2300", + "start": "34633" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "45", + "end": "34639", + "length": "7", + "line": "953", + "parentIndex": "2295", + "start": "34633" + } + }, + "scope": "2069", + "signature": "37823795", + "src": { + "column": "4", + "end": "34641", + "length": "50", + "line": "953", + "parentIndex": "2069", + "start": "34592" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2319", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "34755", + "length": "109", + "line": "954", + "parentIndex": "2304", + "start": "34647" + } + }, + "id": "2304", + "kind": "KIND_FUNCTION", + "name": "getReserves", + "nameLocation": { + "column": "13", + "end": "34666", + "length": "11", + "line": "954", + "parentIndex": "2304", + "start": "34656" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2305", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2306", + "name": "reserve0", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2306", + "src": { + "column": "50", + "end": "34708", + "length": "16", + "line": "954", + "parentIndex": "2305", + "start": "34693" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": "2307", + "name": "uint112", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "50", + "end": "34699", + "length": "7", + "line": "954", + "parentIndex": "2306", + "start": "34693" + }, + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2308", + "name": "reserve1", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2308", + "src": { + "column": "68", + "end": "34726", + "length": "16", + "line": "954", + "parentIndex": "2305", + "start": "34711" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": "2309", + "name": "uint112", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "68", + "end": "34717", + "length": "7", + "line": "954", + "parentIndex": "2308", + "start": "34711" + }, + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2310", + "name": "blockTimestampLast", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2310", + "src": { + "column": "86", + "end": "34753", + "length": "25", + "line": "954", + "parentIndex": "2305", + "start": "34729" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": "2311", + "name": "uint32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "86", + "end": "34734", + "length": "6", + "line": "954", + "parentIndex": "2310", + "start": "34729" + }, + "typeDescription": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "50", + "end": "34753", + "length": "61", + "line": "954", + "parentIndex": "2304", + "start": "34693" + } + }, + "returnParameters": { + "id": "2312", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2313", + "name": "reserve0", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2313", + "src": { + "column": "50", + "end": "34708", + "length": "16", + "line": "954", + "parentIndex": "2312", + "start": "34693" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": "2314", + "name": "uint112", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "50", + "end": "34699", + "length": "7", + "line": "954", + "parentIndex": "2313", + "start": "34693" + }, + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2315", + "name": "reserve1", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2315", + "src": { + "column": "68", + "end": "34726", + "length": "16", + "line": "954", + "parentIndex": "2312", + "start": "34711" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": "2316", + "name": "uint112", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "32999", - "length": "431", - "line": "910", - "parentIndex": "2372", - "start": "32569" + "column": "68", + "end": "34717", + "length": "7", + "line": "954", + "parentIndex": "2315", + "start": "34711" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint112", + "typeString": "uint112" } - } + }, + "visibility": "INTERNAL" + }, + { + "id": "2317", + "name": "blockTimestampLast", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2317", + "src": { + "column": "86", + "end": "34753", + "length": "25", + "line": "954", + "parentIndex": "2312", + "start": "34729" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": "2318", + "name": "uint32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "86", + "end": "34734", + "length": "6", + "line": "954", + "parentIndex": "2317", + "start": "34729" + }, + "typeDescription": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "INTERNAL" } - ] + ], + "src": { + "column": "50", + "end": "34753", + "length": "61", + "line": "954", + "parentIndex": "2304", + "start": "34693" + } }, - "id": "2359", - "implemented": true, + "scope": "2069", + "signature": "9ca6edd7", + "src": { + "column": "4", + "end": "34755", + "length": "109", + "line": "954", + "parentIndex": "2069", + "start": "34647" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint112$_t_uint112$_t_uint32$", + "typeString": "function(uint112,uint112,uint32)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2328", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "34821", + "length": "61", + "line": "955", + "parentIndex": "2321", + "start": "34761" + } + }, + "id": "2321", "kind": "KIND_FUNCTION", - "name": "pairFor", + "name": "price0CumulativeLast", "nameLocation": { "column": "13", - "end": "32340", - "length": "7", - "line": "903", - "parentIndex": "2359", - "start": "32334" + "end": "34789", + "length": "20", + "line": "955", + "parentIndex": "2321", + "start": "34770" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2360", + "id": "2322", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2361", - "name": "factory", + "id": "2323", "nodeType": "VARIABLE_DECLARATION", - "scope": "2361", + "scope": "2323", "src": { - "column": "8", - "end": "32365", - "length": "15", - "line": "904", - "parentIndex": "2360", - "start": "32351" + "column": "59", + "end": "34819", + "length": "4", + "line": "955", + "parentIndex": "2322", + "start": "34816" }, - "stateMutability": "NONPAYABLE", + "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "2362", - "name": "address", + "id": "2324", + "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "32357", - "length": "7", - "line": "904", - "parentIndex": "2361", - "start": "32351" + "column": "59", + "end": "34819", + "length": "4", + "line": "955", + "parentIndex": "2323", + "start": "34816" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "59", + "end": "34819", + "length": "4", + "line": "955", + "parentIndex": "2321", + "start": "34816" + } + }, + "returnParameters": { + "id": "2325", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "2363", - "name": "tokenA", + "id": "2326", "nodeType": "VARIABLE_DECLARATION", - "scope": "2363", + "scope": "2326", "src": { - "column": "8", - "end": "32389", - "length": "14", - "line": "905", - "parentIndex": "2360", - "start": "32376" + "column": "59", + "end": "34819", + "length": "4", + "line": "955", + "parentIndex": "2325", + "start": "34816" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2327", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "59", + "end": "34819", + "length": "4", + "line": "955", + "parentIndex": "2326", + "start": "34816" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "59", + "end": "34819", + "length": "4", + "line": "955", + "parentIndex": "2321", + "start": "34816" + } + }, + "scope": "2069", + "signature": "f8d9234a", + "src": { + "column": "4", + "end": "34821", + "length": "61", + "line": "955", + "parentIndex": "2069", + "start": "34761" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2337", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "34887", + "length": "61", + "line": "956", + "parentIndex": "2330", + "start": "34827" + } + }, + "id": "2330", + "kind": "KIND_FUNCTION", + "name": "price1CumulativeLast", + "nameLocation": { + "column": "13", + "end": "34855", + "length": "20", + "line": "956", + "parentIndex": "2330", + "start": "34836" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2331", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2332", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2332", + "src": { + "column": "59", + "end": "34885", + "length": "4", + "line": "956", + "parentIndex": "2331", + "start": "34882" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2333", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "59", + "end": "34885", + "length": "4", + "line": "956", + "parentIndex": "2332", + "start": "34882" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "59", + "end": "34885", + "length": "4", + "line": "956", + "parentIndex": "2330", + "start": "34882" + } + }, + "returnParameters": { + "id": "2334", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2335", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2335", + "src": { + "column": "59", + "end": "34885", + "length": "4", + "line": "956", + "parentIndex": "2334", + "start": "34882" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2336", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "59", + "end": "34885", + "length": "4", + "line": "956", + "parentIndex": "2335", + "start": "34882" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "59", + "end": "34885", + "length": "4", + "line": "956", + "parentIndex": "2330", + "start": "34882" + } + }, + "scope": "2069", + "signature": "2aa8398b", + "src": { + "column": "4", + "end": "34887", + "length": "61", + "line": "956", + "parentIndex": "2069", + "start": "34827" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2346", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "34938", + "length": "46", + "line": "957", + "parentIndex": "2339", + "start": "34893" + } + }, + "id": "2339", + "kind": "KIND_FUNCTION", + "name": "kLast", + "nameLocation": { + "column": "13", + "end": "34906", + "length": "5", + "line": "957", + "parentIndex": "2339", + "start": "34902" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2340", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2341", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2341", + "src": { + "column": "44", + "end": "34936", + "length": "4", + "line": "957", + "parentIndex": "2340", + "start": "34933" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2342", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "44", + "end": "34936", + "length": "4", + "line": "957", + "parentIndex": "2341", + "start": "34933" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "44", + "end": "34936", + "length": "4", + "line": "957", + "parentIndex": "2339", + "start": "34933" + } + }, + "returnParameters": { + "id": "2343", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2344", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2344", + "src": { + "column": "44", + "end": "34936", + "length": "4", + "line": "957", + "parentIndex": "2343", + "start": "34933" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2345", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "44", + "end": "34936", + "length": "4", + "line": "957", + "parentIndex": "2344", + "start": "34933" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "44", + "end": "34936", + "length": "4", + "line": "957", + "parentIndex": "2339", + "start": "34933" + } + }, + "scope": "2069", + "signature": "ce0485c1", + "src": { + "column": "4", + "end": "34938", + "length": "46", + "line": "957", + "parentIndex": "2069", + "start": "34893" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2355", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "35004", + "length": "60", + "line": "959", + "parentIndex": "2348", + "start": "34945" + } + }, + "id": "2348", + "kind": "KIND_FUNCTION", + "name": "mint", + "nameLocation": { + "column": "13", + "end": "34957", + "length": "4", + "line": "959", + "parentIndex": "2348", + "start": "34954" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2349", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2350", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2350", + "src": { + "column": "18", + "end": "34968", + "length": "10", + "line": "959", + "parentIndex": "2349", + "start": "34959" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -41437,16 +41816,16 @@ "typeString": "address" }, "typeName": { - "id": "2364", + "id": "2351", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "32382", + "column": "18", + "end": "34965", "length": "7", - "line": "905", - "parentIndex": "2363", - "start": "32376" + "line": "959", + "parentIndex": "2350", + "start": "34959" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -41455,19 +41834,130 @@ } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "18", + "end": "34968", + "length": "10", + "line": "959", + "parentIndex": "2348", + "start": "34959" + } + }, + "returnParameters": { + "id": "2352", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "2365", - "name": "tokenB", + "id": "2353", + "name": "liquidity", "nodeType": "VARIABLE_DECLARATION", - "scope": "2365", + "scope": "2353", "src": { - "column": "8", - "end": "32413", + "column": "48", + "end": "35002", "length": "14", - "line": "906", - "parentIndex": "2360", - "start": "32400" + "line": "959", + "parentIndex": "2352", + "start": "34989" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2354", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "48", + "end": "34992", + "length": "4", + "line": "959", + "parentIndex": "2353", + "start": "34989" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "48", + "end": "35002", + "length": "14", + "line": "959", + "parentIndex": "2348", + "start": "34989" + } + }, + "scope": "2069", + "signature": "6a627842", + "src": { + "column": "4", + "end": "35004", + "length": "60", + "line": "959", + "parentIndex": "2069", + "start": "34945" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2366", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "35081", + "length": "72", + "line": "960", + "parentIndex": "2357", + "start": "35010" + } + }, + "id": "2357", + "kind": "KIND_FUNCTION", + "name": "burn", + "nameLocation": { + "column": "13", + "end": "35022", + "length": "4", + "line": "960", + "parentIndex": "2357", + "start": "35019" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2358", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2359", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2359", + "src": { + "column": "18", + "end": "35033", + "length": "10", + "line": "960", + "parentIndex": "2358", + "start": "35024" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -41476,16 +41966,16 @@ "typeString": "address" }, "typeName": { - "id": "2366", + "id": "2360", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "32406", + "column": "18", + "end": "35030", "length": "7", - "line": "906", - "parentIndex": "2365", - "start": "32400" + "line": "960", + "parentIndex": "2359", + "start": "35024" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -41494,1044 +41984,392 @@ } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "18", + "end": "35033", + "length": "10", + "line": "960", + "parentIndex": "2357", + "start": "35024" + } + }, + "returnParameters": { + "id": "2361", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "2367", - "name": "pairCodeHash", + "id": "2362", + "name": "amount0", "nodeType": "VARIABLE_DECLARATION", - "scope": "2367", + "scope": "2362", "src": { - "column": "8", - "end": "32443", - "length": "20", - "line": "907", - "parentIndex": "2360", - "start": "32424" + "column": "48", + "end": "35065", + "length": "12", + "line": "960", + "parentIndex": "2361", + "start": "35054" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "2368", - "name": "bytes32", + "id": "2363", + "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "32430", - "length": "7", - "line": "907", - "parentIndex": "2367", - "start": "32424" + "column": "48", + "end": "35057", + "length": "4", + "line": "960", + "parentIndex": "2362", + "start": "35054" }, "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" - } - ], - "src": { - "column": "8", - "end": "32443", - "length": "93", - "line": "904", - "parentIndex": "2359", - "start": "32351" - } - }, - "returnParameters": { - "id": "2369", - "nodeType": "PARAMETER_LIST", - "parameters": [ + }, { - "id": "2370", - "name": "pair", + "id": "2364", + "name": "amount1", "nodeType": "VARIABLE_DECLARATION", - "scope": "2370", + "scope": "2364", "src": { - "column": "29", - "end": "32485", + "column": "62", + "end": "35079", "length": "12", - "line": "908", - "parentIndex": "2369", - "start": "32474" + "line": "960", + "parentIndex": "2361", + "start": "35068" }, - "stateMutability": "NONPAYABLE", + "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "2371", - "name": "address", + "id": "2365", + "name": "uint", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "29", - "end": "32480", - "length": "7", - "line": "908", - "parentIndex": "2370", - "start": "32474" + "column": "62", + "end": "35071", + "length": "4", + "line": "960", + "parentIndex": "2364", + "start": "35068" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" } ], "src": { - "column": "29", - "end": "32485", - "length": "12", - "line": "908", - "parentIndex": "2359", - "start": "32474" - } - }, - "scope": "2309", - "signature": "fc9bce2a", - "src": { - "column": "4", - "end": "33005", - "length": "681", - "line": "903", - "parentIndex": "2309", - "start": "32325" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "typeString": "function(address,address,address,bytes32)" - }, - "visibility": "INTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "2425", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "65", - "end": "33581", - "length": "332", - "line": "932", - "parentIndex": "2410", - "start": "33250" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "2427" - ], - "declarations": [ - { - "id": "2427", - "mutability": "MUTABLE", - "name": "token0", - "nameLocation": { - "column": "17", - "end": "33274", - "length": "6", - "line": "933", - "parentIndex": "2427", - "start": "33269" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2425", - "src": { - "column": "9", - "end": "33274", - "length": "14", - "line": "933", - "parentIndex": "2426", - "start": "33261" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2428", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "9", - "end": "33267", - "length": "7", - "line": "933", - "parentIndex": "2427", - "start": "33261" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2426", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2431", - "name": "tokenA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2431", - "src": { - "column": "40", - "end": "33297", - "length": "6", - "line": "933", - "parentIndex": "2429", - "start": "33292" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2432", - "name": "tokenB", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2432", - "src": { - "column": "48", - "end": "33305", - "length": "6", - "line": "933", - "parentIndex": "2429", - "start": "33300" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2430", - "name": "sortTokens", - "nodeType": "IDENTIFIER", - "src": { - "column": "29", - "end": "33290", - "length": "10", - "line": "933", - "parentIndex": "2429", - "start": "33281" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2429", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "29", - "end": "33306", - "length": "26", - "line": "933", - "parentIndex": "2426", - "start": "33281" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "8", - "end": "33307", - "length": "48", - "line": "933", - "parentIndex": "2425", - "start": "33260" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "2434", - "2436" - ], - "declarations": [ - { - "id": "2434", - "mutability": "MUTABLE", - "name": "reserve0", - "nameLocation": { - "column": "17", - "end": "33333", - "length": "8", - "line": "934", - "parentIndex": "2434", - "start": "33326" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2425", - "src": { - "column": "9", - "end": "33333", - "length": "16", - "line": "934", - "parentIndex": "2433", - "start": "33318" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2435", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "9", - "end": "33324", - "length": "7", - "line": "934", - "parentIndex": "2434", - "start": "33318" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2436", - "mutability": "MUTABLE", - "name": "reserve1", - "nameLocation": { - "column": "35", - "end": "33351", - "length": "8", - "line": "934", - "parentIndex": "2436", - "start": "33344" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2425", - "src": { - "column": "27", - "end": "33351", - "length": "16", - "line": "934", - "parentIndex": "2433", - "start": "33336" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2437", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "27", - "end": "33342", - "length": "7", - "line": "934", - "parentIndex": "2436", - "start": "33336" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2433", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "typeString": "function(address,address,address,bytes32)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2444", - "name": "factory", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2444", - "src": { - "column": "20", - "end": "33400", - "length": "7", - "line": "935", - "parentIndex": "2442", - "start": "33394" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2445", - "name": "tokenA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2445", - "src": { - "column": "29", - "end": "33408", - "length": "6", - "line": "935", - "parentIndex": "2442", - "start": "33403" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2446", - "name": "tokenB", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2446", - "src": { - "column": "37", - "end": "33416", - "length": "6", - "line": "935", - "parentIndex": "2442", - "start": "33411" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2447", - "name": "pairCodeHash", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2447", - "src": { - "column": "45", - "end": "33430", - "length": "12", - "line": "935", - "parentIndex": "2442", - "start": "33419" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2443", - "name": "pairFor", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "33392", - "length": "7", - "line": "935", - "parentIndex": "2442", - "start": "33386" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2442", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "33431", - "length": "46", - "line": "935", - "parentIndex": "2440", - "start": "33386" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "typeString": "function(address,address,address,bytes32)" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2441", - "name": "IUniswapV2Pair", - "nodeType": "IDENTIFIER", - "src": { - "column": "49", - "end": "33371", - "length": "14", - "line": "934", - "parentIndex": "2440", - "start": "33358" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2440", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "49", - "end": "33441", - "length": "84", - "line": "934", - "parentIndex": "2439", - "start": "33358" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "typeString": "function(function(address,address,address,bytes32))" - } - } - }, - "id": "2439", - "memberLocation": { - "column": "10", - "end": "33453", - "length": "11", - "line": "936", - "parentIndex": "2439", - "start": "33443" - }, - "memberName": "getReserves", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "49", - "end": "33453", - "length": "96", - "line": "934", - "parentIndex": "2438", - "start": "33358" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "typeString": "function(function(address,address,address,bytes32))" - } - } - }, - "id": "2438", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "49", - "end": "33455", - "length": "98", - "line": "934", - "parentIndex": "2433", - "start": "33358" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } + "column": "48", + "end": "35079", + "length": "26", + "line": "960", + "parentIndex": "2357", + "start": "35054" + } + }, + "scope": "2069", + "signature": "89afcb44", + "src": { + "column": "4", + "end": "35081", + "length": "72", + "line": "960", + "parentIndex": "2069", + "start": "35010" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2379", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "35176", + "length": "90", + "line": "961", + "parentIndex": "2368", + "start": "35087" + } + }, + "id": "2368", + "kind": "KIND_FUNCTION", + "name": "swap", + "nameLocation": { + "column": "13", + "end": "35099", + "length": "4", + "line": "961", + "parentIndex": "2368", + "start": "35096" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2369", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2370", + "name": "amount0Out", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2370", + "src": { + "column": "18", + "end": "35115", + "length": "15", + "line": "961", + "parentIndex": "2369", + "start": "35101" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2371", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "18", + "end": "35104", + "length": "4", + "line": "961", + "parentIndex": "2370", + "start": "35101" }, - "nodeType": "VARIABLE_DECLARATION", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2372", + "name": "amount1Out", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2372", + "src": { + "column": "35", + "end": "35132", + "length": "15", + "line": "961", + "parentIndex": "2369", + "start": "35118" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2373", + "name": "uint", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "33456", - "length": "140", - "line": "934", - "parentIndex": "2425", - "start": "33317" + "column": "35", + "end": "35121", + "length": "4", + "line": "961", + "parentIndex": "2372", + "start": "35118" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - } + }, + "visibility": "INTERNAL" }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2449", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2451", - "name": "reserveA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2421", - "src": { - "column": "9", - "end": "33474", - "length": "8", - "line": "937", - "parentIndex": "2450", - "start": "33467" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2452", - "name": "reserveB", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2423", - "src": { - "column": "19", - "end": "33484", - "length": "8", - "line": "937", - "parentIndex": "2450", - "start": "33477" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "id": "2450", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "8", - "end": "33485", - "length": "20", - "line": "937", - "parentIndex": "2449", - "start": "33466" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", - "value": { - "expressions": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2455", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2456", - "name": "tokenA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2456", - "src": { - "column": "31", - "end": "33494", - "length": "6", - "line": "937", - "parentIndex": "2455", - "start": "33489" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2457", - "name": "token0", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2426", - "src": { - "column": "41", - "end": "33504", - "length": "6", - "line": "937", - "parentIndex": "2455", - "start": "33499" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "src": { - "column": "31", - "end": "33504", - "length": "16", - "line": "937", - "parentIndex": "2454", - "start": "33489" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2459", - "name": "reserve0", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2433", - "src": { - "column": "15", - "end": "33528", - "length": "8", - "line": "938", - "parentIndex": "2458", - "start": "33521" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2460", - "name": "reserve1", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2433", - "src": { - "column": "25", - "end": "33538", - "length": "8", - "line": "938", - "parentIndex": "2458", - "start": "33531" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "id": "2458", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "14", - "end": "33539", - "length": "20", - "line": "938", - "parentIndex": "2454", - "start": "33520" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2462", - "name": "reserve1", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2433", - "src": { - "column": "15", - "end": "33563", - "length": "8", - "line": "939", - "parentIndex": "2461", - "start": "33556" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2463", - "name": "reserve0", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2433", - "src": { - "column": "25", - "end": "33573", - "length": "8", - "line": "939", - "parentIndex": "2461", - "start": "33566" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "id": "2461", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "14", - "end": "33574", - "length": "20", - "line": "939", - "parentIndex": "2454", - "start": "33555" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" - } - } - } - ], - "id": "2454", - "nodeType": "CONDITIONAL_EXPRESSION", - "src": { - "column": "31", - "end": "33574", - "length": "86", - "line": "937", - "parentIndex": "2449", - "start": "33489" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" - }, - { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" - } - ] - } - }, - "src": { - "column": "8", - "end": "33574", - "length": "109", - "line": "937", - "parentIndex": "2448", - "start": "33466" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" - } - } + "id": "2374", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2374", + "src": { + "column": "52", + "end": "35144", + "length": "10", + "line": "961", + "parentIndex": "2369", + "start": "35135" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2375", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "52", + "end": "35141", + "length": "7", + "line": "961", + "parentIndex": "2374", + "start": "35135" }, - "id": "2448", - "nodeType": "ASSIGNMENT", + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2376", + "name": "data", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2376", + "src": { + "column": "64", + "end": "35165", + "length": "19", + "line": "961", + "parentIndex": "2369", + "start": "35147" + }, + "stateMutability": "MUTABLE", + "storageLocation": "CALLDATA", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "2377", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "33575", - "length": "110", - "line": "937", - "parentIndex": "2425", - "start": "33466" + "column": "64", + "end": "35151", + "length": "5", + "line": "961", + "parentIndex": "2376", + "start": "35147" }, "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_bytes", + "typeString": "bytes" } - } + }, + "visibility": "INTERNAL" } - ] + ], + "src": { + "column": "18", + "end": "35165", + "length": "65", + "line": "961", + "parentIndex": "2368", + "start": "35101" + } }, - "id": "2410", - "implemented": true, + "returnParameters": { + "id": "2378", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "35176", + "length": "90", + "line": "961", + "parentIndex": "2368", + "start": "35087" + } + }, + "scope": "2069", + "signature": "090f344e", + "src": { + "column": "4", + "end": "35176", + "length": "90", + "line": "961", + "parentIndex": "2069", + "start": "35087" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_bytes$", + "typeString": "function(uint256,uint256,address,bytes)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2386", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "35216", + "length": "35", + "line": "962", + "parentIndex": "2381", + "start": "35182" + } + }, + "id": "2381", "kind": "KIND_FUNCTION", - "name": "getReserves", + "name": "skim", "nameLocation": { "column": "13", - "end": "33080", - "length": "11", - "line": "927", - "parentIndex": "2410", - "start": "33070" + "end": "35194", + "length": "4", + "line": "962", + "parentIndex": "2381", + "start": "35191" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2411", + "id": "2382", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2412", - "name": "factory", + "id": "2383", + "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "2412", + "scope": "2383", "src": { - "column": "8", - "end": "33105", - "length": "15", - "line": "928", - "parentIndex": "2411", - "start": "33091" + "column": "18", + "end": "35205", + "length": "10", + "line": "962", + "parentIndex": "2382", + "start": "35196" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -42540,16 +42378,16 @@ "typeString": "address" }, "typeName": { - "id": "2413", + "id": "2384", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "33097", + "column": "18", + "end": "35202", "length": "7", - "line": "928", - "parentIndex": "2412", - "start": "33091" + "line": "962", + "parentIndex": "2383", + "start": "35196" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -42558,19 +42396,158 @@ } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "18", + "end": "35205", + "length": "10", + "line": "962", + "parentIndex": "2381", + "start": "35196" + } + }, + "returnParameters": { + "id": "2385", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "35216", + "length": "35", + "line": "962", + "parentIndex": "2381", + "start": "35182" + } + }, + "scope": "2069", + "signature": "bc25cf77", + "src": { + "column": "4", + "end": "35216", + "length": "35", + "line": "962", + "parentIndex": "2069", + "start": "35182" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2391", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "35246", + "length": "25", + "line": "963", + "parentIndex": "2388", + "start": "35222" + } + }, + "id": "2388", + "kind": "KIND_FUNCTION", + "name": "sync", + "nameLocation": { + "column": "13", + "end": "35234", + "length": "4", + "line": "963", + "parentIndex": "2388", + "start": "35231" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2389", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "35246", + "length": "25", + "line": "963", + "parentIndex": "2388", + "start": "35222" + } + }, + "returnParameters": { + "id": "2390", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "35246", + "length": "25", + "line": "963", + "parentIndex": "2388", + "start": "35222" + } + }, + "scope": "2069", + "signature": "fff6cae9", + "src": { + "column": "4", + "end": "35246", + "length": "25", + "line": "963", + "parentIndex": "2069", + "start": "35222" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2400", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "35299", + "length": "47", + "line": "965", + "parentIndex": "2393", + "start": "35253" + } + }, + "id": "2393", + "kind": "KIND_FUNCTION", + "name": "initialize", + "nameLocation": { + "column": "13", + "end": "35271", + "length": "10", + "line": "965", + "parentIndex": "2393", + "start": "35262" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2394", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "2414", - "name": "tokenA", + "id": "2395", "nodeType": "VARIABLE_DECLARATION", - "scope": "2414", + "scope": "2395", "src": { - "column": "8", - "end": "33129", - "length": "14", - "line": "929", - "parentIndex": "2411", - "start": "33116" + "column": "24", + "end": "35279", + "length": "7", + "line": "965", + "parentIndex": "2394", + "start": "35273" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -42579,16 +42556,16 @@ "typeString": "address" }, "typeName": { - "id": "2415", + "id": "2396", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "33122", + "column": "24", + "end": "35279", "length": "7", - "line": "929", - "parentIndex": "2414", - "start": "33116" + "line": "965", + "parentIndex": "2395", + "start": "35273" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -42599,17 +42576,16 @@ "visibility": "INTERNAL" }, { - "id": "2416", - "name": "tokenB", + "id": "2397", "nodeType": "VARIABLE_DECLARATION", - "scope": "2416", + "scope": "2397", "src": { - "column": "8", - "end": "33153", - "length": "14", - "line": "930", - "parentIndex": "2411", - "start": "33140" + "column": "33", + "end": "35288", + "length": "7", + "line": "965", + "parentIndex": "2394", + "start": "35282" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -42618,16 +42594,16 @@ "typeString": "address" }, "typeName": { - "id": "2417", + "id": "2398", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "33146", + "column": "33", + "end": "35288", "length": "7", - "line": "930", - "parentIndex": "2416", - "start": "33140" + "line": "965", + "parentIndex": "2397", + "start": "35282" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -42636,177 +42612,140 @@ } }, "visibility": "INTERNAL" - }, - { - "id": "2418", - "name": "pairCodeHash", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2418", - "src": { - "column": "8", - "end": "33183", - "length": "20", - "line": "931", - "parentIndex": "2411", - "start": "33164" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "2419", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "33170", - "length": "7", - "line": "931", - "parentIndex": "2418", - "start": "33164" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" } ], "src": { - "column": "8", - "end": "33183", - "length": "93", - "line": "928", - "parentIndex": "2410", - "start": "33091" + "column": "24", + "end": "35288", + "length": "16", + "line": "965", + "parentIndex": "2393", + "start": "35273" } }, "returnParameters": { - "id": "2420", + "id": "2399", "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2421", - "name": "reserveA", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2421", - "src": { - "column": "29", - "end": "33229", - "length": "16", - "line": "932", - "parentIndex": "2420", - "start": "33214" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2422", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "29", - "end": "33220", - "length": "7", - "line": "932", - "parentIndex": "2421", - "start": "33214" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2423", - "name": "reserveB", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2423", - "src": { - "column": "47", - "end": "33247", - "length": "16", - "line": "932", - "parentIndex": "2420", - "start": "33232" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2424", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "47", - "end": "33238", - "length": "7", - "line": "932", - "parentIndex": "2423", - "start": "33232" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], "src": { - "column": "29", - "end": "33247", - "length": "34", - "line": "932", - "parentIndex": "2410", - "start": "33214" + "column": "4", + "end": "35299", + "length": "47", + "line": "965", + "parentIndex": "2393", + "start": "35253" } }, - "scope": "2309", - "signature": "4b420a27", + "scope": "2069", + "signature": "485cc955", "src": { "column": "4", - "end": "33581", - "length": "521", - "line": "927", - "parentIndex": "2309", - "start": "33061" + "end": "35299", + "length": "47", + "line": "965", + "parentIndex": "2069", + "start": "35253" }, - "stateMutability": "VIEW", + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", - "typeString": "function(address,address,address,bytes32)" + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" }, - "visibility": "INTERNAL" + "visibility": "EXTERNAL" } - }, + } + ], + "src": { + "end": "35301", + "length": "2397", + "line": "917", + "parentIndex": "2015", + "start": "32905" + } + } + } + ] + }, + "src": { + "line": 917, + "start": 32905, + "end": 35301, + "length": 2397, + "parent_index": 272 + } + }, + { + "id": 2401, + "license": "MIT", + "name": "SafeMathUniswap", + "exported_symbols": [ + { + "id": 2401, + "name": "SafeMathUniswap" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "2415", + "literals": [ + "pragma", + "solidity", + "\u003e=", + "0", + ".", + "6", + ".", + "12", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "35365", + "length": "25", + "line": "970", + "parentIndex": "2401", + "start": "35341" + }, + "text": "pragma solidity \u003e=0.6.12;" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", + "value": { + "fullyImplemented": true, + "id": "2430", + "kind": "KIND_LIBRARY", + "linearizedBaseContracts": [ + "2430" + ], + "name": "SafeMathUniswap", + "nameLocation": { + "column": "8", + "end": "35496", + "length": "15", + "line": "974", + "parentIndex": "2430", + "start": "35482" + }, + "nodeType": "CONTRACT_DEFINITION", + "nodes": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2476", + "id": "2441", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "46", - "end": "34084", - "length": "255", - "line": "947", - "parentIndex": "2465", - "start": "33830" + "column": "73", + "end": "35638", + "length": "66", + "line": "975", + "parentIndex": "2432", + "start": "35573" }, "statements": [ { @@ -42819,67 +42758,168 @@ }, { "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" + "typeString": "literal_string \"ds-math-add-overflow\"" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2479", + "id": "2444", "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { - "id": "2480", - "name": "amountA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2480", + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2446", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2447", + "name": "z", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2439", + "src": { + "column": "17", + "end": "35592", + "length": "1", + "line": "976", + "parentIndex": "2446", + "start": "35592" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2448", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2449", + "name": "x", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2449", + "src": { + "column": "21", + "end": "35596", + "length": "1", + "line": "976", + "parentIndex": "2448", + "start": "35596" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "ADDITION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2450", + "name": "y", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2450", + "src": { + "column": "25", + "end": "35600", + "length": "1", + "line": "976", + "parentIndex": "2448", + "start": "35600" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "21", + "end": "35600", + "length": "5", + "line": "976", + "parentIndex": "2446", + "start": "35596" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "17", + "end": "35600", + "length": "9", + "line": "976", + "parentIndex": "2445", + "start": "35592" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ], + "id": "2445", + "nodeType": "TUPLE_EXPRESSION", "src": { "column": "16", - "end": "33854", - "length": "7", - "line": "948", - "parentIndex": "2479", - "start": "33848" + "end": "35601", + "length": "11", + "line": "976", + "parentIndex": "2444", + "start": "35591" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple_$_t_uint256$", + "typeString": "tuple(uint256)" } } }, "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", + "operator": "GREATER_THAN_OR_EQUAL", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "30", - "id": "2481", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "id": "2451", + "name": "x", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2451", "src": { - "column": "26", - "end": "33858", + "column": "31", + "end": "35606", "length": "1", - "line": "948", - "parentIndex": "2479", - "start": "33858" + "line": "976", + "parentIndex": "2444", + "start": "35606" }, "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } }, "src": { "column": "16", - "end": "33858", - "length": "11", - "line": "948", - "parentIndex": "2477", - "start": "33848" + "end": "35606", + "length": "16", + "line": "976", + "parentIndex": "2442", + "start": "35591" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -42896,278 +42936,41 @@ "typeString": "bool" } ], - "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54", - "id": "2482", - "isPure": true, - "kind": "STRING", - "nodeType": "LITERAL", - "src": { - "column": "29", - "end": "33899", - "length": "39", - "line": "948", - "parentIndex": "2477", - "start": "33861" - }, - "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" - }, - "value": "UniswapV2Library: INSUFFICIENT_AMOUNT" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2478", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "33846", - "length": "7", - "line": "948", - "parentIndex": "2477", - "start": "33840" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2477", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "33900", - "length": "61", - "line": "948", - "parentIndex": "2476", - "start": "33840" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AndOperation", - "value": { - "expressions": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2487", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2488", - "name": "reserveA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2488", - "src": { - "column": "12", - "end": "33939", - "length": "8", - "line": "950", - "parentIndex": "2487", - "start": "33932" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2489", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "23", - "end": "33943", - "length": "1", - "line": "950", - "parentIndex": "2487", - "start": "33943" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "12", - "end": "33943", - "length": "12", - "line": "950", - "parentIndex": "2486", - "start": "33932" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2490", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2491", - "name": "reserveB", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2491", - "src": { - "column": "28", - "end": "33955", - "length": "8", - "line": "950", - "parentIndex": "2490", - "start": "33948" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2492", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "39", - "end": "33959", - "length": "1", - "line": "950", - "parentIndex": "2490", - "start": "33959" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "28", - "end": "33959", - "length": "12", - "line": "950", - "parentIndex": "2486", - "start": "33948" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - ], - "id": "2486", - "nodeType": "AND_OPERATION", - "src": { - "column": "12", - "end": "33959", - "length": "28", - "line": "950", - "parentIndex": "2483", - "start": "33932" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "id": "2493", + "hexValue": "64732d6d6174682d6164642d6f766572666c6f77", + "id": "2452", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", "src": { - "column": "12", - "end": "34015", - "length": "42", - "line": "951", - "parentIndex": "2483", - "start": "33974" + "column": "34", + "end": "35630", + "length": "22", + "line": "976", + "parentIndex": "2442", + "start": "35609" }, "typeDescription": { "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + "typeString": "literal_string \"ds-math-add-overflow\"" }, - "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY" + "value": "ds-math-add-overflow" } } ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2484", + "id": "2443", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "33917", + "end": "35589", "length": "7", - "line": "949", - "parentIndex": "2483", - "start": "33911" + "line": "976", + "parentIndex": "2442", + "start": "35583" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -43175,291 +42978,54 @@ } } }, - "id": "2483", + "id": "2442", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "34025", - "length": "115", - "line": "949", - "parentIndex": "2476", - "start": "33911" + "end": "35631", + "length": "49", + "line": "976", + "parentIndex": "2441", + "start": "35583" }, "typeDescription": { "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", "typeString": "function(bool,string memory)" } } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2495", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2496", - "name": "amountB", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2474", - "src": { - "column": "8", - "end": "34042", - "length": "7", - "line": "953", - "parentIndex": "2495", - "start": "34036" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2497", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2501", - "name": "reserveB", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2501", - "src": { - "column": "30", - "end": "34065", - "length": "8", - "line": "953", - "parentIndex": "2498", - "start": "34058" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2500", - "name": "amountA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2500", - "src": { - "column": "18", - "end": "34052", - "length": "7", - "line": "953", - "parentIndex": "2499", - "start": "34046" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2499", - "memberLocation": { - "column": "26", - "end": "34056", - "length": "3", - "line": "953", - "parentIndex": "2499", - "start": "34054" - }, - "memberName": "mul", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "18", - "end": "34056", - "length": "11", - "line": "953", - "parentIndex": "2498", - "start": "34046" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2498", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "18", - "end": "34066", - "length": "21", - "line": "953", - "parentIndex": "2497", - "start": "34046" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "DIVISION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2502", - "name": "reserveA", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2502", - "src": { - "column": "42", - "end": "34077", - "length": "8", - "line": "953", - "parentIndex": "2497", - "start": "34070" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "18", - "end": "34077", - "length": "32", - "line": "953", - "parentIndex": "2495", - "start": "34046" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - } - } - }, - "src": { - "column": "8", - "end": "34077", - "length": "42", - "line": "953", - "parentIndex": "2494", - "start": "34036" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2494", - "nodeType": "ASSIGNMENT", - "src": { - "column": "8", - "end": "34078", - "length": "43", - "line": "953", - "parentIndex": "2476", - "start": "34036" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } } ] }, - "id": "2465", + "id": "2432", "implemented": true, "kind": "KIND_FUNCTION", - "name": "quote", + "name": "add", "nameLocation": { "column": "13", - "end": "33705", - "length": "5", - "line": "943", - "parentIndex": "2465", - "start": "33701" + "end": "35515", + "length": "3", + "line": "975", + "parentIndex": "2432", + "start": "35513" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2466", + "id": "2433", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2467", - "name": "amountA", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2467", - "src": { - "column": "8", - "end": "33730", - "length": "15", - "line": "944", - "parentIndex": "2466", - "start": "33716" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2468", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "33722", - "length": "7", - "line": "944", - "parentIndex": "2467", - "start": "33716" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2469", - "name": "reserveA", + "id": "2434", + "name": "x", "nodeType": "VARIABLE_DECLARATION", - "scope": "2469", + "scope": "2434", "src": { - "column": "8", - "end": "33756", - "length": "16", - "line": "945", - "parentIndex": "2466", - "start": "33741" + "column": "17", + "end": "35525", + "length": "9", + "line": "975", + "parentIndex": "2433", + "start": "35517" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -43468,16 +43034,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2470", + "id": "2435", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "33747", + "column": "17", + "end": "35523", "length": "7", - "line": "945", - "parentIndex": "2469", - "start": "33741" + "line": "975", + "parentIndex": "2434", + "start": "35517" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -43487,17 +43053,17 @@ "visibility": "INTERNAL" }, { - "id": "2471", - "name": "reserveB", + "id": "2436", + "name": "y", "nodeType": "VARIABLE_DECLARATION", - "scope": "2471", + "scope": "2436", "src": { - "column": "8", - "end": "33782", - "length": "16", - "line": "946", - "parentIndex": "2466", - "start": "33767" + "column": "28", + "end": "35536", + "length": "9", + "line": "975", + "parentIndex": "2433", + "start": "35528" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -43506,16 +43072,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2472", + "id": "2437", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "33773", + "column": "28", + "end": "35534", "length": "7", - "line": "946", - "parentIndex": "2471", - "start": "33767" + "line": "975", + "parentIndex": "2436", + "start": "35528" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -43526,30 +43092,30 @@ } ], "src": { - "column": "8", - "end": "33782", - "length": "67", - "line": "944", - "parentIndex": "2465", - "start": "33716" + "column": "17", + "end": "35536", + "length": "20", + "line": "975", + "parentIndex": "2432", + "start": "35517" } }, "returnParameters": { - "id": "2473", + "id": "2438", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2474", - "name": "amountB", + "id": "2439", + "name": "z", "nodeType": "VARIABLE_DECLARATION", - "scope": "2474", + "scope": "2439", "src": { - "column": "29", - "end": "33827", - "length": "15", - "line": "947", - "parentIndex": "2473", - "start": "33813" + "column": "62", + "end": "35570", + "length": "9", + "line": "975", + "parentIndex": "2438", + "start": "35562" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -43558,16 +43124,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2475", + "id": "2440", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "29", - "end": "33819", + "column": "62", + "end": "35568", "length": "7", - "line": "947", - "parentIndex": "2474", - "start": "33813" + "line": "975", + "parentIndex": "2439", + "start": "35562" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -43578,28 +43144,28 @@ } ], "src": { - "column": "29", - "end": "33827", - "length": "15", - "line": "947", - "parentIndex": "2465", - "start": "33813" + "column": "62", + "end": "35570", + "length": "9", + "line": "975", + "parentIndex": "2432", + "start": "35562" } }, - "scope": "2309", - "signature": "1f7722dd", + "scope": "2430", + "signature": "771602f7", "src": { "column": "4", - "end": "34084", - "length": "393", - "line": "943", - "parentIndex": "2309", - "start": "33692" + "end": "35638", + "length": "135", + "line": "975", + "parentIndex": "2430", + "start": "35504" }, "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", - "typeString": "function(uint256,uint256,uint256)" + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", + "typeString": "function(uint256,uint256)" }, "visibility": "INTERNAL" } @@ -43608,16 +43174,16 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2515", + "id": "2463", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "48", - "end": "34798", - "length": "444", - "line": "961", - "parentIndex": "2504", - "start": "34355" + "column": "73", + "end": "35780", + "length": "67", + "line": "979", + "parentIndex": "2454", + "start": "35714" }, "statements": [ { @@ -43630,309 +43196,173 @@ }, { "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" + "typeString": "literal_string \"ds-math-sub-underflow\"" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2518", + "id": "2466", "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2519", - "name": "amountIn", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2519", - "src": { - "column": "16", - "end": "34380", - "length": "8", - "line": "962", - "parentIndex": "2518", - "start": "34373" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { - "hexValue": "30", - "id": "2520", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "27", - "end": "34384", - "length": "1", - "line": "962", - "parentIndex": "2518", - "start": "34384" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "16", - "end": "34384", - "length": "12", - "line": "962", - "parentIndex": "2516", - "start": "34373" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": "2521", - "isPure": true, - "kind": "STRING", - "nodeType": "LITERAL", - "src": { - "column": "30", - "end": "34431", - "length": "45", - "line": "962", - "parentIndex": "2516", - "start": "34387" - }, - "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" - }, - "value": "UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2517", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "34371", - "length": "7", - "line": "962", - "parentIndex": "2516", - "start": "34365" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2516", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "34432", - "length": "68", - "line": "962", - "parentIndex": "2515", - "start": "34365" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AndOperation", - "value": { - "expressions": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2526", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2527", - "name": "reserveIn", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2527", - "src": { - "column": "12", - "end": "34472", - "length": "9", - "line": "964", - "parentIndex": "2526", - "start": "34464" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "hexValue": "30", - "id": "2528", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "24", - "end": "34476", - "length": "1", - "line": "964", - "parentIndex": "2526", - "start": "34476" + "id": "2468", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2469", + "name": "z", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2439", + "src": { + "column": "17", + "end": "35733", + "length": "1", + "line": "980", + "parentIndex": "2468", + "start": "35733" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2470", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2471", + "name": "x", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2471", + "src": { + "column": "21", + "end": "35737", + "length": "1", + "line": "980", + "parentIndex": "2470", + "start": "35737" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2472", + "name": "y", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2472", + "src": { + "column": "25", + "end": "35741", + "length": "1", + "line": "980", + "parentIndex": "2470", + "start": "35741" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "21", + "end": "35741", + "length": "5", + "line": "980", + "parentIndex": "2468", + "start": "35737" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } }, - "value": "0" - } - }, - "src": { - "column": "12", - "end": "34476", - "length": "13", - "line": "964", - "parentIndex": "2525", - "start": "34464" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2529", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2530", - "name": "reserveOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2530", "src": { - "column": "29", - "end": "34490", - "length": "10", - "line": "964", - "parentIndex": "2529", - "start": "34481" + "column": "17", + "end": "35741", + "length": "9", + "line": "980", + "parentIndex": "2467", + "start": "35733" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2531", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "42", - "end": "34494", - "length": "1", - "line": "964", - "parentIndex": "2529", - "start": "34494" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "29", - "end": "34494", - "length": "14", - "line": "964", - "parentIndex": "2525", - "start": "34481" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" } + ], + "id": "2467", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "16", + "end": "35742", + "length": "11", + "line": "980", + "parentIndex": "2466", + "start": "35732" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256$", + "typeString": "tuple(uint256)" } } - ], - "id": "2525", - "nodeType": "AND_OPERATION", - "src": { - "column": "12", - "end": "34494", - "length": "31", - "line": "964", - "parentIndex": "2522", - "start": "34464" }, - "typeDescriptions": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN_OR_EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2473", + "name": "x", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2473", + "src": { + "column": "31", + "end": "35747", + "length": "1", + "line": "980", + "parentIndex": "2466", + "start": "35747" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - ] + }, + "src": { + "column": "16", + "end": "35747", + "length": "16", + "line": "980", + "parentIndex": "2464", + "start": "35732" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } } }, { @@ -43944,41 +43374,41 @@ "typeString": "bool" } ], - "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "id": "2532", + "hexValue": "64732d6d6174682d7375622d756e646572666c6f77", + "id": "2474", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", "src": { - "column": "12", - "end": "34550", - "length": "42", - "line": "965", - "parentIndex": "2522", - "start": "34509" + "column": "34", + "end": "35772", + "length": "23", + "line": "980", + "parentIndex": "2464", + "start": "35750" }, "typeDescription": { "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + "typeString": "literal_string \"ds-math-sub-underflow\"" }, - "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY" + "value": "ds-math-sub-underflow" } } ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2523", + "id": "2465", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "34449", + "end": "35730", "length": "7", - "line": "963", - "parentIndex": "2522", - "start": "34443" + "line": "980", + "parentIndex": "2464", + "start": "35724" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -43986,787 +43416,617 @@ } } }, - "id": "2522", + "id": "2464", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "34560", - "length": "118", - "line": "963", - "parentIndex": "2515", - "start": "34443" + "end": "35773", + "length": "50", + "line": "980", + "parentIndex": "2463", + "start": "35724" }, "typeDescription": { "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", "typeString": "function(bool,string memory)" } } - }, + } + ] + }, + "id": "2454", + "implemented": true, + "kind": "KIND_FUNCTION", + "name": "sub", + "nameLocation": { + "column": "13", + "end": "35656", + "length": "3", + "line": "979", + "parentIndex": "2454", + "start": "35654" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2455", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "2534" - ], - "declarations": [ - { - "id": "2534", - "mutability": "MUTABLE", - "name": "amountInWithFee", - "nameLocation": { - "column": "16", - "end": "34593", - "length": "15", - "line": "967", - "parentIndex": "2534", - "start": "34579" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2515", - "src": { - "column": "8", - "end": "34593", - "length": "23", - "line": "967", - "parentIndex": "2533", - "start": "34571" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2535", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "34577", - "length": "7", - "line": "967", - "parentIndex": "2534", - "start": "34571" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2533", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_997_by_1", - "typeString": "int_const 997" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "393937", - "id": "2539", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "47", - "end": "34612", - "length": "3", - "line": "967", - "parentIndex": "2536", - "start": "34610" - }, - "typeDescription": { - "typeIdentifier": "t_rational_997_by_1", - "typeString": "int_const 997" - }, - "value": "997" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2538", - "name": "amountIn", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2538", - "src": { - "column": "34", - "end": "34604", - "length": "8", - "line": "967", - "parentIndex": "2537", - "start": "34597" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2537", - "memberLocation": { - "column": "43", - "end": "34608", - "length": "3", - "line": "967", - "parentIndex": "2537", - "start": "34606" - }, - "memberName": "mul", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "34", - "end": "34608", - "length": "12", - "line": "967", - "parentIndex": "2536", - "start": "34597" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2536", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "34", - "end": "34613", - "length": "17", - "line": "967", - "parentIndex": "2533", - "start": "34597" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_997_by_1$", - "typeString": "function(int_const 997)" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", + "id": "2456", + "name": "x", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2456", + "src": { + "column": "17", + "end": "35666", + "length": "9", + "line": "979", + "parentIndex": "2455", + "start": "35658" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2457", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "34614", - "length": "44", - "line": "967", - "parentIndex": "2515", - "start": "34571" + "column": "17", + "end": "35664", + "length": "7", + "line": "979", + "parentIndex": "2456", + "start": "35658" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - } + }, + "visibility": "INTERNAL" }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "2541" - ], - "declarations": [ - { - "id": "2541", - "mutability": "MUTABLE", - "name": "numerator", - "nameLocation": { - "column": "16", - "end": "34640", - "length": "9", - "line": "968", - "parentIndex": "2541", - "start": "34632" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2515", - "src": { - "column": "8", - "end": "34640", - "length": "17", - "line": "968", - "parentIndex": "2540", - "start": "34624" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2542", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "34630", - "length": "7", - "line": "968", - "parentIndex": "2541", - "start": "34624" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2540", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2546", - "name": "reserveOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2546", - "src": { - "column": "48", - "end": "34673", - "length": "10", - "line": "968", - "parentIndex": "2543", - "start": "34664" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2545", - "name": "amountInWithFee", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2533", - "src": { - "column": "28", - "end": "34658", - "length": "15", - "line": "968", - "parentIndex": "2544", - "start": "34644" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2544", - "memberLocation": { - "column": "44", - "end": "34662", - "length": "3", - "line": "968", - "parentIndex": "2544", - "start": "34660" - }, - "memberName": "mul", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "28", - "end": "34662", - "length": "19", - "line": "968", - "parentIndex": "2543", - "start": "34644" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2543", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "28", - "end": "34674", - "length": "31", - "line": "968", - "parentIndex": "2540", - "start": "34644" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - } - } + "id": "2458", + "name": "y", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2458", + "src": { + "column": "28", + "end": "35677", + "length": "9", + "line": "979", + "parentIndex": "2455", + "start": "35669" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2459", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "28", + "end": "35675", + "length": "7", + "line": "979", + "parentIndex": "2458", + "start": "35669" }, - "nodeType": "VARIABLE_DECLARATION", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "17", + "end": "35677", + "length": "20", + "line": "979", + "parentIndex": "2454", + "start": "35658" + } + }, + "returnParameters": { + "id": "2460", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2461", + "name": "z", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2461", + "src": { + "column": "62", + "end": "35711", + "length": "9", + "line": "979", + "parentIndex": "2460", + "start": "35703" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2462", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "34675", - "length": "52", - "line": "968", - "parentIndex": "2515", - "start": "34624" + "column": "62", + "end": "35709", + "length": "7", + "line": "979", + "parentIndex": "2461", + "start": "35703" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - } - }, + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "62", + "end": "35711", + "length": "9", + "line": "979", + "parentIndex": "2454", + "start": "35703" + } + }, + "scope": "2430", + "signature": "b67d77c5", + "src": { + "column": "4", + "end": "35780", + "length": "136", + "line": "979", + "parentIndex": "2430", + "start": "35645" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", + "typeString": "function(uint256,uint256)" + }, + "visibility": "INTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2485", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "73", + "end": "35935", + "length": "80", + "line": "983", + "parentIndex": "2476", + "start": "35856" + }, + "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "assignments": [ - "2548" - ], - "declarations": [ + "argumentTypes": [ { - "id": "2548", - "mutability": "MUTABLE", - "name": "denominator", - "nameLocation": { - "column": "16", - "end": "34703", - "length": "11", - "line": "969", - "parentIndex": "2548", - "start": "34693" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2515", - "src": { - "column": "8", - "end": "34703", - "length": "19", - "line": "969", - "parentIndex": "2547", - "start": "34685" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2549", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "34691", - "length": "7", - "line": "969", - "parentIndex": "2548", - "start": "34685" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"ds-math-mul-overflow\"" } ], - "id": "2547", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2488", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2556", - "name": "amountInWithFee", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2533", + "id": "2489", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2490", + "name": "y", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2490", + "src": { + "column": "16", + "end": "35874", + "length": "1", + "line": "984", + "parentIndex": "2489", + "start": "35874" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2491", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "21", + "end": "35879", + "length": "1", + "line": "984", + "parentIndex": "2489", + "start": "35879" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, "src": { - "column": "54", - "end": "34745", - "length": "15", - "line": "969", - "parentIndex": "2550", - "start": "34731" + "column": "16", + "end": "35879", + "length": "6", + "line": "984", + "parentIndex": "2488", + "start": "35874" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + }, + "nodeType": "BINARY_OPERATION", + "operator": "OR", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2492", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2493", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { - "hexValue": "31303030", - "id": "2555", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2495", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2496", + "name": "z", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2439", + "src": { + "column": "27", + "end": "35885", + "length": "1", + "line": "984", + "parentIndex": "2495", + "start": "35885" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2497", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2498", + "name": "x", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2498", + "src": { + "column": "31", + "end": "35889", + "length": "1", + "line": "984", + "parentIndex": "2497", + "start": "35889" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "MULTIPLICATION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2499", + "name": "y", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2499", + "src": { + "column": "35", + "end": "35893", + "length": "1", + "line": "984", + "parentIndex": "2497", + "start": "35893" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "31", + "end": "35893", + "length": "5", + "line": "984", + "parentIndex": "2495", + "start": "35889" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "27", + "end": "35893", + "length": "9", + "line": "984", + "parentIndex": "2494", + "start": "35885" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ], + "id": "2494", + "nodeType": "TUPLE_EXPRESSION", "src": { - "column": "44", - "end": "34724", - "length": "4", - "line": "969", - "parentIndex": "2552", - "start": "34721" + "column": "26", + "end": "35894", + "length": "11", + "line": "984", + "parentIndex": "2493", + "start": "35884" }, "typeDescription": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" + "typeIdentifier": "t_tuple_$_t_uint256$", + "typeString": "tuple(uint256)" + } } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2554", - "name": "reserveIn", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2554", - "src": { - "column": "30", - "end": "34715", - "length": "9", - "line": "969", - "parentIndex": "2553", - "start": "34707" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + }, + "nodeType": "BINARY_OPERATION", + "operator": "DIVISION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2500", + "name": "y", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2500", + "src": { + "column": "40", + "end": "35898", + "length": "1", + "line": "984", + "parentIndex": "2493", + "start": "35898" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": "2553", - "memberLocation": { - "column": "40", - "end": "34719", - "length": "3", - "line": "969", - "parentIndex": "2553", - "start": "34717" - }, - "memberName": "mul", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "30", - "end": "34719", - "length": "13", - "line": "969", - "parentIndex": "2552", - "start": "34707" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } + }, + "src": { + "column": "26", + "end": "35898", + "length": "15", + "line": "984", + "parentIndex": "2492", + "start": "35884" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256$", + "typeString": "tuple(uint256)" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2501", + "name": "x", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2501", + "src": { + "column": "45", + "end": "35903", + "length": "1", + "line": "984", + "parentIndex": "2492", + "start": "35903" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": "2552", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "30", - "end": "34725", - "length": "19", - "line": "969", - "parentIndex": "2551", - "start": "34707" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_1000_by_1$", - "typeString": "function(int_const 1000)" } + }, + "src": { + "column": "26", + "end": "35903", + "length": "20", + "line": "984", + "parentIndex": "2488", + "start": "35884" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - }, - "id": "2551", - "memberLocation": { - "column": "50", - "end": "34729", - "length": "3", - "line": "969", - "parentIndex": "2551", - "start": "34727" - }, - "memberName": "add", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "30", - "end": "34729", - "length": "23", - "line": "969", - "parentIndex": "2550", - "start": "34707" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_1000_by_1$", - "typeString": "function(int_const 1000)" } + }, + "src": { + "column": "16", + "end": "35903", + "length": "30", + "line": "984", + "parentIndex": "2486", + "start": "35874" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - }, - "id": "2550", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "30", - "end": "34746", - "length": "40", - "line": "969", - "parentIndex": "2547", - "start": "34707" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77", + "id": "2502", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "48", + "end": "35927", + "length": "22", + "line": "984", + "parentIndex": "2486", + "start": "35906" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"ds-math-mul-overflow\"" + }, + "value": "ds-math-mul-overflow" } } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "8", - "end": "34747", - "length": "63", - "line": "969", - "parentIndex": "2515", - "start": "34685" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { + ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2558", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2559", - "name": "amountOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "646", - "src": { - "column": "8", - "end": "34765", - "length": "9", - "line": "970", - "parentIndex": "2558", - "start": "34757" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2560", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2561", - "name": "numerator", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2540", - "src": { - "column": "20", - "end": "34777", - "length": "9", - "line": "970", - "parentIndex": "2560", - "start": "34769" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "DIVISION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2562", - "name": "denominator", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2547", - "src": { - "column": "32", - "end": "34791", - "length": "11", - "line": "970", - "parentIndex": "2560", - "start": "34781" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "20", - "end": "34791", - "length": "23", - "line": "970", - "parentIndex": "2558", - "start": "34769" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, + "id": "2487", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "34791", - "length": "35", - "line": "970", - "parentIndex": "2557", - "start": "34757" + "end": "35872", + "length": "7", + "line": "984", + "parentIndex": "2486", + "start": "35866" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "id": "2557", - "nodeType": "ASSIGNMENT", + "id": "2486", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "34792", - "length": "36", - "line": "970", - "parentIndex": "2515", - "start": "34757" + "end": "35928", + "length": "63", + "line": "984", + "parentIndex": "2485", + "start": "35866" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" } } } ] }, - "id": "2504", + "id": "2476", "implemented": true, "kind": "KIND_FUNCTION", - "name": "getAmountOut", + "name": "mul", "nameLocation": { "column": "13", - "end": "34224", - "length": "12", - "line": "957", - "parentIndex": "2504", - "start": "34213" + "end": "35798", + "length": "3", + "line": "983", + "parentIndex": "2476", + "start": "35796" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2505", + "id": "2477", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2506", - "name": "amountIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2506", - "src": { - "column": "8", - "end": "34250", - "length": "16", - "line": "958", - "parentIndex": "2505", - "start": "34235" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2507", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "34241", - "length": "7", - "line": "958", - "parentIndex": "2506", - "start": "34235" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2508", - "name": "reserveIn", + "id": "2478", + "name": "x", "nodeType": "VARIABLE_DECLARATION", - "scope": "2508", + "scope": "2478", "src": { - "column": "8", - "end": "34277", - "length": "17", - "line": "959", - "parentIndex": "2505", - "start": "34261" + "column": "17", + "end": "35808", + "length": "9", + "line": "983", + "parentIndex": "2477", + "start": "35800" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -44775,16 +44035,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2509", + "id": "2479", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "34267", + "column": "17", + "end": "35806", "length": "7", - "line": "959", - "parentIndex": "2508", - "start": "34261" + "line": "983", + "parentIndex": "2478", + "start": "35800" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -44794,17 +44054,17 @@ "visibility": "INTERNAL" }, { - "id": "2510", - "name": "reserveOut", + "id": "2480", + "name": "y", "nodeType": "VARIABLE_DECLARATION", - "scope": "2510", + "scope": "2480", "src": { - "column": "8", - "end": "34305", - "length": "18", - "line": "960", - "parentIndex": "2505", - "start": "34288" + "column": "28", + "end": "35819", + "length": "9", + "line": "983", + "parentIndex": "2477", + "start": "35811" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -44813,16 +44073,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2511", + "id": "2481", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "34294", + "column": "28", + "end": "35817", "length": "7", - "line": "960", - "parentIndex": "2510", - "start": "34288" + "line": "983", + "parentIndex": "2480", + "start": "35811" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -44833,30 +44093,30 @@ } ], "src": { - "column": "8", - "end": "34305", - "length": "71", - "line": "958", - "parentIndex": "2504", - "start": "34235" + "column": "17", + "end": "35819", + "length": "20", + "line": "983", + "parentIndex": "2476", + "start": "35800" } }, "returnParameters": { - "id": "2512", + "id": "2482", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2513", - "name": "amountOut", + "id": "2483", + "name": "z", "nodeType": "VARIABLE_DECLARATION", - "scope": "2513", + "scope": "2483", "src": { - "column": "29", - "end": "34352", - "length": "17", - "line": "961", - "parentIndex": "2512", - "start": "34336" + "column": "62", + "end": "35853", + "length": "9", + "line": "983", + "parentIndex": "2482", + "start": "35845" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -44865,16 +44125,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2514", + "id": "2484", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "29", - "end": "34342", + "column": "62", + "end": "35851", "length": "7", - "line": "961", - "parentIndex": "2513", - "start": "34336" + "line": "983", + "parentIndex": "2483", + "start": "35845" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -44885,46 +44145,218 @@ } ], "src": { - "column": "29", - "end": "34352", - "length": "17", - "line": "961", - "parentIndex": "2504", - "start": "34336" + "column": "62", + "end": "35853", + "length": "9", + "line": "983", + "parentIndex": "2476", + "start": "35845" + } + }, + "scope": "2430", + "signature": "c8a4ac9c", + "src": { + "column": "4", + "end": "35935", + "length": "149", + "line": "983", + "parentIndex": "2430", + "start": "35787" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$", + "typeString": "function(uint256,uint256)" + }, + "visibility": "INTERNAL" + } + } + ], + "src": { + "end": "35937", + "length": "464", + "line": "974", + "parentIndex": "2401", + "start": "35474" + } + } + } + ] + }, + "src": { + "line": 974, + "start": 35474, + "end": 35937, + "length": 464, + "parent_index": 272 + } + }, + { + "id": 2503, + "license": "GPL-3.0", + "name": "UniswapV2Library", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/UniswapV2Library.sol", + "exported_symbols": [ + { + "id": 2503, + "name": "UniswapV2Library", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/UniswapV2Library.sol" + }, + { + "id": 2401, + "name": "IUniswapV2Pair", + "absolute_path": "IUniswapV2Pair.sol" + }, + { + "id": 2401, + "name": "SafeMath", + "absolute_path": "SafeMath.sol" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "2518", + "literals": [ + "pragma", + "solidity", + "\u003e=", + "0", + ".", + "5", + ".", + "0", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "36000", + "length": "24", + "line": "990", + "parentIndex": "2503", + "start": "35977" + }, + "text": "pragma solidity \u003e=0.5.0;" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "IUniswapV2Pair.sol", + "file": "./IUniswapV2Pair.sol", + "id": "2533", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "2503", + "sourceUnit": "2401", + "src": { + "end": "36032", + "length": "30", + "line": "992", + "parentIndex": "2503", + "start": "36003" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "SafeMath.sol", + "file": "./SafeMath.sol", + "id": "2534", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "2503", + "sourceUnit": "2401", + "src": { + "end": "36058", + "length": "24", + "line": "994", + "parentIndex": "2503", + "start": "36035" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", + "value": { + "fullyImplemented": true, + "id": "2535", + "kind": "KIND_LIBRARY", + "linearizedBaseContracts": [ + "2535" + ], + "name": "UniswapV2Library", + "nameLocation": { + "column": "8", + "end": "36084", + "length": "16", + "line": "996", + "parentIndex": "2535", + "start": "36069" + }, + "nodeType": "CONTRACT_DEFINITION", + "nodes": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", + "value": { + "id": "2537", + "libraryName": { + "id": "2538", + "name": "SafeMathUniswap", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "2401", + "src": { + "end": "36112", + "length": "15", + "line": "997", + "parentIndex": "2537", + "start": "36098" } }, - "scope": "2309", - "signature": "6cae4d22", + "name": "SafeMathUniswap", + "nodeType": "USING_FOR_DIRECTIVE", "src": { - "column": "4", - "end": "34798", - "length": "595", - "line": "957", - "parentIndex": "2309", - "start": "34204" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", - "typeString": "function(uint256,uint256,uint256)" + "end": "36125", + "length": "34", + "line": "997", + "parentIndex": "2535", + "start": "36092" }, - "visibility": "INTERNAL" + "typeName": { + "id": "2539", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "30", + "end": "36124", + "length": "7", + "line": "997", + "parentIndex": "2537", + "start": "36118" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } } }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2575", + "id": "2552", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "47", - "end": "35464", - "length": "398", - "line": "978", - "parentIndex": "2564", - "start": "35067" + "column": "4", + "end": "36628", + "length": "262", + "line": "1004", + "parentIndex": "2541", + "start": "36367" }, "statements": [ { @@ -44937,67 +44369,65 @@ }, { "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" + "typeString": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2578", + "id": "2555", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2579", - "name": "amountOut", + "id": "2556", + "name": "tokenA", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2579", + "referencedDeclaration": "2556", "src": { "column": "16", - "end": "35093", - "length": "9", - "line": "979", - "parentIndex": "2578", - "start": "35085" + "end": "36390", + "length": "6", + "line": "1005", + "parentIndex": "2555", + "start": "36385" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } }, "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", + "operator": "NOT_EQUAL", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "30", - "id": "2580", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "id": "2557", + "name": "tokenB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2557", "src": { - "column": "28", - "end": "35097", - "length": "1", - "line": "979", - "parentIndex": "2578", - "start": "35097" + "column": "26", + "end": "36400", + "length": "6", + "line": "1005", + "parentIndex": "2555", + "start": "36395" }, "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_address", + "typeString": "address" + } } }, "src": { "column": "16", - "end": "35097", - "length": "13", - "line": "979", - "parentIndex": "2576", - "start": "35085" + "end": "36400", + "length": "16", + "line": "1005", + "parentIndex": "2553", + "start": "36385" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -45014,1219 +44444,817 @@ "typeString": "bool" } ], - "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": "2581", - "isPure": true, - "kind": "STRING", - "nodeType": "LITERAL", - "src": { - "column": "31", - "end": "35145", - "length": "46", - "line": "979", - "parentIndex": "2576", - "start": "35100" - }, - "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" - }, - "value": "UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2577", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "35083", - "length": "7", - "line": "979", - "parentIndex": "2576", - "start": "35077" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2576", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "35146", - "length": "70", - "line": "979", - "parentIndex": "2575", - "start": "35077" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AndOperation", - "value": { - "expressions": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2586", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2587", - "name": "reserveIn", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2587", - "src": { - "column": "12", - "end": "35186", - "length": "9", - "line": "981", - "parentIndex": "2586", - "start": "35178" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2588", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "24", - "end": "35190", - "length": "1", - "line": "981", - "parentIndex": "2586", - "start": "35190" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "12", - "end": "35190", - "length": "13", - "line": "981", - "parentIndex": "2585", - "start": "35178" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2589", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2590", - "name": "reserveOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2590", - "src": { - "column": "29", - "end": "35204", - "length": "10", - "line": "981", - "parentIndex": "2589", - "start": "35195" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2591", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "42", - "end": "35208", - "length": "1", - "line": "981", - "parentIndex": "2589", - "start": "35208" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "29", - "end": "35208", - "length": "14", - "line": "981", - "parentIndex": "2585", - "start": "35195" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - ], - "id": "2585", - "nodeType": "AND_OPERATION", - "src": { - "column": "12", - "end": "35208", - "length": "31", - "line": "981", - "parentIndex": "2582", - "start": "35178" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "id": "2592", + "hexValue": "556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553", + "id": "2558", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", "src": { - "column": "12", - "end": "35264", - "length": "42", - "line": "982", - "parentIndex": "2582", - "start": "35223" + "column": "34", + "end": "36441", + "length": "39", + "line": "1005", + "parentIndex": "2553", + "start": "36403" }, "typeDescription": { "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + "typeString": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" }, - "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY" + "value": "UniswapV2Library: IDENTICAL_ADDRESSES" } } ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2583", + "id": "2554", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "35163", + "end": "36383", "length": "7", - "line": "980", - "parentIndex": "2582", - "start": "35157" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2582", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "35274", - "length": "118", - "line": "980", - "parentIndex": "2575", - "start": "35157" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "2594" - ], - "declarations": [ - { - "id": "2594", - "mutability": "MUTABLE", - "name": "numerator", - "nameLocation": { - "column": "16", - "end": "35301", - "length": "9", - "line": "984", - "parentIndex": "2594", - "start": "35293" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2575", - "src": { - "column": "8", - "end": "35301", - "length": "17", - "line": "984", - "parentIndex": "2593", - "start": "35285" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2595", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "35291", - "length": "7", - "line": "984", - "parentIndex": "2594", - "start": "35285" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2593", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31303030", - "id": "2602", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "57", - "end": "35337", - "length": "4", - "line": "984", - "parentIndex": "2596", - "start": "35334" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2601", - "name": "amountOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2601", - "src": { - "column": "42", - "end": "35327", - "length": "9", - "line": "984", - "parentIndex": "2598", - "start": "35319" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2600", - "name": "reserveIn", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2600", - "src": { - "column": "28", - "end": "35313", - "length": "9", - "line": "984", - "parentIndex": "2599", - "start": "35305" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2599", - "memberLocation": { - "column": "38", - "end": "35317", - "length": "3", - "line": "984", - "parentIndex": "2599", - "start": "35315" - }, - "memberName": "mul", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "28", - "end": "35317", - "length": "13", - "line": "984", - "parentIndex": "2598", - "start": "35305" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2598", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "28", - "end": "35328", - "length": "24", - "line": "984", - "parentIndex": "2597", - "start": "35305" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - } - } - }, - "id": "2597", - "memberLocation": { - "column": "53", - "end": "35332", - "length": "3", - "line": "984", - "parentIndex": "2597", - "start": "35330" - }, - "memberName": "mul", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "28", - "end": "35332", - "length": "28", - "line": "984", - "parentIndex": "2596", - "start": "35305" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - } - } - }, - "id": "2596", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "28", - "end": "35338", - "length": "34", - "line": "984", - "parentIndex": "2593", - "start": "35305" + "line": "1005", + "parentIndex": "2553", + "start": "36377" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_1000_by_1$", - "typeString": "function(int_const 1000)" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "nodeType": "VARIABLE_DECLARATION", + "id": "2553", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "35339", - "length": "55", - "line": "984", - "parentIndex": "2575", - "start": "35285" + "end": "36442", + "length": "66", + "line": "1005", + "parentIndex": "2552", + "start": "36377" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "assignments": [ - "2604" - ], - "declarations": [ - { - "id": "2604", - "mutability": "MUTABLE", - "name": "denominator", - "nameLocation": { - "column": "16", - "end": "35367", - "length": "11", - "line": "985", - "parentIndex": "2604", - "start": "35357" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2575", - "src": { - "column": "8", - "end": "35367", - "length": "19", - "line": "985", - "parentIndex": "2603", - "start": "35349" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2605", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "35355", - "length": "7", - "line": "985", - "parentIndex": "2604", - "start": "35349" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2603", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_997_by_1", - "typeString": "int_const 997" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "393937", - "id": "2612", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "60", - "end": "35403", - "length": "3", - "line": "985", - "parentIndex": "2606", - "start": "35401" - }, - "typeDescription": { - "typeIdentifier": "t_rational_997_by_1", - "typeString": "int_const 997" + "id": "2560", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2562", + "name": "token0", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2548", + "src": { + "column": "9", + "end": "36459", + "length": "6", + "line": "1006", + "parentIndex": "2561", + "start": "36454" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } }, - "value": "997" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2563", + "name": "token1", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2550", + "src": { + "column": "17", + "end": "36467", + "length": "6", + "line": "1006", + "parentIndex": "2561", + "start": "36462" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + ], + "id": "2561", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "8", + "end": "36468", + "length": "16", + "line": "1006", + "parentIndex": "2560", + "start": "36453" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_address_$_t_address$", + "typeString": "tuple(address,address)" } } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { + "expressions": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2566", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2611", - "name": "amountOut", + "id": "2567", + "name": "tokenA", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2611", + "referencedDeclaration": "2567", "src": { - "column": "45", - "end": "35394", - "length": "9", - "line": "985", - "parentIndex": "2608", - "start": "35386" + "column": "27", + "end": "36477", + "length": "6", + "line": "1006", + "parentIndex": "2566", + "start": "36472" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2568", + "name": "tokenB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2568", + "src": { + "column": "36", + "end": "36486", + "length": "6", + "line": "1006", + "parentIndex": "2566", + "start": "36481" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } } + }, + "src": { + "column": "27", + "end": "36486", + "length": "15", + "line": "1006", + "parentIndex": "2565", + "start": "36472" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2610", - "name": "reserveOut", + "id": "2570", + "name": "tokenA", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2610", + "referencedDeclaration": "2570", "src": { - "column": "30", - "end": "35380", - "length": "10", - "line": "985", - "parentIndex": "2609", - "start": "35371" + "column": "15", + "end": "36508", + "length": "6", + "line": "1007", + "parentIndex": "2569", + "start": "36503" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - "id": "2609", - "memberLocation": { - "column": "41", - "end": "35384", - "length": "3", - "line": "985", - "parentIndex": "2609", - "start": "35382" - }, - "memberName": "sub", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "30", - "end": "35384", - "length": "14", - "line": "985", - "parentIndex": "2608", - "start": "35371" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2571", + "name": "tokenB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2571", + "src": { + "column": "23", + "end": "36516", + "length": "6", + "line": "1007", + "parentIndex": "2569", + "start": "36511" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + ], + "id": "2569", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "14", + "end": "36517", + "length": "16", + "line": "1007", + "parentIndex": "2565", + "start": "36502" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_address_$_t_address$", + "typeString": "tuple(address,address)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2573", + "name": "tokenB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2573", + "src": { + "column": "15", + "end": "36539", + "length": "6", + "line": "1008", + "parentIndex": "2572", + "start": "36534" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2574", + "name": "tokenA", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2574", + "src": { + "column": "23", + "end": "36547", + "length": "6", + "line": "1008", + "parentIndex": "2572", + "start": "36542" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } } + ], + "id": "2572", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "14", + "end": "36548", + "length": "16", + "line": "1008", + "parentIndex": "2565", + "start": "36533" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_address_$_t_address$", + "typeString": "tuple(address,address)" } - }, - "id": "2608", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "30", - "end": "35395", - "length": "25", - "line": "985", - "parentIndex": "2607", - "start": "35371" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" } } - }, - "id": "2607", - "memberLocation": { - "column": "56", - "end": "35399", - "length": "3", - "line": "985", - "parentIndex": "2607", - "start": "35397" - }, - "memberName": "mul", - "nodeType": "MEMBER_ACCESS", + ], + "id": "2565", + "nodeType": "CONDITIONAL_EXPRESSION", "src": { - "column": "30", - "end": "35399", - "length": "29", - "line": "985", - "parentIndex": "2606", - "start": "35371" + "column": "27", + "end": "36548", + "length": "77", + "line": "1006", + "parentIndex": "2560", + "start": "36472" }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - } + "typeDescriptions": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_tuple_$_t_address_$_t_address$", + "typeString": "tuple(address,address)" + }, + { + "typeIdentifier": "t_tuple_$_t_address_$_t_address$", + "typeString": "tuple(address,address)" + } + ] } }, - "id": "2606", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", "src": { - "column": "30", - "end": "35404", - "length": "34", - "line": "985", - "parentIndex": "2603", - "start": "35371" + "column": "8", + "end": "36548", + "length": "96", + "line": "1006", + "parentIndex": "2559", + "start": "36453" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_997_by_1$", - "typeString": "function(int_const 997)" + "typeIdentifier": "t_tuple_$_t_address_$_t_address$", + "typeString": "tuple(address,address)" } } }, - "nodeType": "VARIABLE_DECLARATION", + "id": "2559", + "nodeType": "ASSIGNMENT", "src": { "column": "8", - "end": "35405", - "length": "57", - "line": "985", - "parentIndex": "2575", - "start": "35349" + "end": "36549", + "length": "97", + "line": "1006", + "parentIndex": "2552", + "start": "36453" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_address_$_t_address$", + "typeString": "tuple(address,address)" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2614", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2615", - "name": "amountIn", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "1363", - "src": { - "column": "8", - "end": "35422", - "length": "8", - "line": "986", - "parentIndex": "2614", - "start": "35415" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2577", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2578", + "name": "token0", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2548", + "src": { + "column": "16", + "end": "36572", + "length": "6", + "line": "1009", + "parentIndex": "2577", + "start": "36567" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "arguments": [ - { + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "NOT_EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2582", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "34", + "end": "36585", + "length": "1", + "line": "1009", + "parentIndex": "2579", + "start": "36585" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + } + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "31", - "id": "2622", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "2580", + "name": "address", + "nodeType": "IDENTIFIER", "src": { - "column": "49", - "end": "35456", - "length": "1", - "line": "986", - "parentIndex": "2616", - "start": "35456" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "column": "26", + "end": "36583", + "length": "7", + "line": "1009", + "parentIndex": "2579", + "start": "36577" }, - "value": "1" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2619", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2620", - "name": "numerator", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2593", - "src": { - "column": "20", - "end": "35435", - "length": "9", - "line": "986", - "parentIndex": "2619", - "start": "35427" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "DIVISION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2621", - "name": "denominator", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2603", - "src": { - "column": "32", - "end": "35449", - "length": "11", - "line": "986", - "parentIndex": "2619", - "start": "35439" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "20", - "end": "35449", - "length": "23", - "line": "986", - "parentIndex": "2618", - "start": "35427" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "id": "2618", - "nodeType": "TUPLE_EXPRESSION", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "2581", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "19", - "end": "35450", - "length": "25", - "line": "986", - "parentIndex": "2617", - "start": "35426" + "column": "26", + "end": "36583", + "length": "7", + "line": "1009", + "parentIndex": "2580", + "start": "36577" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256$", - "typeString": "tuple(uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } } - }, - "id": "2617", - "memberLocation": { - "column": "45", - "end": "35454", - "length": "3", - "line": "986", - "parentIndex": "2617", - "start": "35452" - }, - "memberName": "add", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "19", - "end": "35454", - "length": "29", - "line": "986", - "parentIndex": "2616", - "start": "35426" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256$", - "typeString": "tuple(uint256)" } + }, + "id": "2579", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "26", + "end": "36586", + "length": "10", + "line": "1009", + "parentIndex": "2577", + "start": "36577" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_0_by_1$", + "typeString": "function(int_const 0)" } - }, - "id": "2616", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "19", - "end": "35457", - "length": "32", - "line": "986", - "parentIndex": "2614", - "start": "35426" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_1_by_1$", - "typeString": "function(int_const 1)" } + }, + "src": { + "column": "16", + "end": "36586", + "length": "20", + "line": "1009", + "parentIndex": "2575", + "start": "36567" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - }, + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "hexValue": "556e697377617056324c6962726172793a205a45524f5f41444452455353", + "id": "2583", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "38", + "end": "36620", + "length": "32", + "line": "1009", + "parentIndex": "2575", + "start": "36589" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" + }, + "value": "UniswapV2Library: ZERO_ADDRESS" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2576", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "35457", - "length": "43", - "line": "986", - "parentIndex": "2613", - "start": "35415" + "end": "36565", + "length": "7", + "line": "1009", + "parentIndex": "2575", + "start": "36559" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "id": "2613", - "nodeType": "ASSIGNMENT", + "id": "2575", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "35458", - "length": "44", - "line": "986", - "parentIndex": "2575", - "start": "35415" + "end": "36621", + "length": "63", + "line": "1009", + "parentIndex": "2552", + "start": "36559" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" } } } ] }, - "id": "2564", + "id": "2541", "implemented": true, "kind": "KIND_FUNCTION", - "name": "getAmountIn", + "name": "sortTokens", "nameLocation": { "column": "13", - "end": "34936", - "length": "11", - "line": "974", - "parentIndex": "2564", - "start": "34926" + "end": "36250", + "length": "10", + "line": "1000", + "parentIndex": "2541", + "start": "36241" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2565", + "id": "2542", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2566", - "name": "amountOut", + "id": "2543", + "name": "tokenA", "nodeType": "VARIABLE_DECLARATION", - "scope": "2566", + "scope": "2543", "src": { - "column": "8", - "end": "34963", - "length": "17", - "line": "975", - "parentIndex": "2565", - "start": "34947" + "column": "24", + "end": "36265", + "length": "14", + "line": "1000", + "parentIndex": "2542", + "start": "36252" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "2567", - "name": "uint256", + "id": "2544", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "34953", + "column": "24", + "end": "36258", "length": "7", - "line": "975", - "parentIndex": "2566", - "start": "34947" + "line": "1000", + "parentIndex": "2543", + "start": "36252" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" }, { - "id": "2568", - "name": "reserveIn", + "id": "2545", + "name": "tokenB", "nodeType": "VARIABLE_DECLARATION", - "scope": "2568", + "scope": "2545", "src": { - "column": "8", - "end": "34990", - "length": "17", - "line": "976", - "parentIndex": "2565", - "start": "34974" + "column": "40", + "end": "36281", + "length": "14", + "line": "1000", + "parentIndex": "2542", + "start": "36268" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "2569", - "name": "uint256", + "id": "2546", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "34980", + "column": "40", + "end": "36274", "length": "7", - "line": "976", - "parentIndex": "2568", - "start": "34974" + "line": "1000", + "parentIndex": "2545", + "start": "36268" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "24", + "end": "36281", + "length": "30", + "line": "1000", + "parentIndex": "2541", + "start": "36252" + } + }, + "returnParameters": { + "id": "2547", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "2570", - "name": "reserveOut", + "id": "2548", + "name": "token0", "nodeType": "VARIABLE_DECLARATION", - "scope": "2570", + "scope": "2548", "src": { - "column": "8", - "end": "35018", - "length": "18", - "line": "977", - "parentIndex": "2565", - "start": "35001" + "column": "17", + "end": "36344", + "length": "14", + "line": "1003", + "parentIndex": "2547", + "start": "36331" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "2571", - "name": "uint256", + "id": "2549", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "35007", + "column": "17", + "end": "36337", "length": "7", - "line": "977", - "parentIndex": "2570", - "start": "35001" + "line": "1003", + "parentIndex": "2548", + "start": "36331" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" - } - ], - "src": { - "column": "8", - "end": "35018", - "length": "72", - "line": "975", - "parentIndex": "2564", - "start": "34947" - } - }, - "returnParameters": { - "id": "2572", - "nodeType": "PARAMETER_LIST", - "parameters": [ + }, { - "id": "2573", - "name": "amountIn", + "id": "2550", + "name": "token1", "nodeType": "VARIABLE_DECLARATION", - "scope": "2573", + "scope": "2550", "src": { - "column": "29", - "end": "35064", - "length": "16", - "line": "978", - "parentIndex": "2572", - "start": "35049" + "column": "33", + "end": "36360", + "length": "14", + "line": "1003", + "parentIndex": "2547", + "start": "36347" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "2574", - "name": "uint256", + "id": "2551", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "29", - "end": "35055", + "column": "33", + "end": "36353", "length": "7", - "line": "978", - "parentIndex": "2573", - "start": "35049" + "line": "1003", + "parentIndex": "2550", + "start": "36347" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" } ], "src": { - "column": "29", - "end": "35064", - "length": "16", - "line": "978", - "parentIndex": "2564", - "start": "35049" + "column": "17", + "end": "36360", + "length": "30", + "line": "1003", + "parentIndex": "2541", + "start": "36331" } }, - "scope": "2309", - "signature": "d7a891de", + "scope": "2535", + "signature": "544caa56", "src": { "column": "4", - "end": "35464", - "length": "548", - "line": "974", - "parentIndex": "2309", - "start": "34917" + "end": "36628", + "length": "397", + "line": "1000", + "parentIndex": "2535", + "start": "36232" }, "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", - "typeString": "function(uint256,uint256,uint256)" + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" }, "visibility": "INTERNAL" } @@ -46235,1549 +45263,935 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2637", + "id": "2598", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "55", - "end": "36216", - "length": "483", - "line": "995", - "parentIndex": "2624", - "start": "35734" + "column": "43", + "end": "37398", + "length": "518", + "line": "1018", + "parentIndex": "2585", + "start": "36881" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" - } + "assignments": [ + "2600", + "2602" ], - "arguments": [ + "declarations": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2640", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2642", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2642", - "src": { - "column": "16", - "end": "35755", - "length": "4", - "line": "996", - "parentIndex": "2641", - "start": "35752" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "id": "2641", - "memberLocation": { - "column": "21", - "end": "35762", - "length": "6", - "line": "996", - "parentIndex": "2641", - "start": "35757" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "35762", - "length": "11", - "line": "996", - "parentIndex": "2640", - "start": "35752" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN_OR_EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "32", - "id": "2643", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "31", - "end": "35767", - "length": "1", - "line": "996", - "parentIndex": "2640", - "start": "35767" - }, - "typeDescription": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - }, + "id": "2600", + "mutability": "MUTABLE", + "name": "token0", + "nameLocation": { + "column": "17", + "end": "36905", + "length": "6", + "line": "1019", + "parentIndex": "2600", + "start": "36900" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2598", + "src": { + "column": "9", + "end": "36905", + "length": "14", + "line": "1019", + "parentIndex": "2599", + "start": "36892" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2601", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "16", - "end": "35767", - "length": "16", - "line": "996", - "parentIndex": "2638", - "start": "35752" + "column": "9", + "end": "36898", + "length": "7", + "line": "1019", + "parentIndex": "2600", + "start": "36892" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } - } + }, + "visibility": "INTERNAL" }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "hexValue": "556e697377617056324c6962726172793a20494e56414c49445f50415448", - "id": "2644", - "isPure": true, - "kind": "STRING", - "nodeType": "LITERAL", - "src": { - "column": "34", - "end": "35801", - "length": "32", - "line": "996", - "parentIndex": "2638", - "start": "35770" - }, - "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" - }, - "value": "UniswapV2Library: INVALID_PATH" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2639", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", + "id": "2602", + "mutability": "MUTABLE", + "name": "token1", + "nameLocation": { + "column": "33", + "end": "36921", + "length": "6", + "line": "1019", + "parentIndex": "2602", + "start": "36916" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2598", "src": { - "column": "8", - "end": "35750", - "length": "7", - "line": "996", - "parentIndex": "2638", - "start": "35744" + "column": "25", + "end": "36921", + "length": "14", + "line": "1019", + "parentIndex": "2599", + "start": "36908" }, + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2638", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "35802", - "length": "59", - "line": "996", - "parentIndex": "2637", - "start": "35744" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2646", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2647", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", - "src": { - "column": "8", - "end": "35819", - "length": "7", - "line": "997", - "parentIndex": "2646", - "start": "35813" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } + "typeIdentifier": "t_address", + "typeString": "address" }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2652", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2652", - "src": { - "column": "32", - "end": "35840", - "length": "4", - "line": "997", - "parentIndex": "2651", - "start": "35837" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "id": "2651", - "memberLocation": { - "column": "37", - "end": "35847", - "length": "6", - "line": "997", - "parentIndex": "2651", - "start": "35842" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "32", - "end": "35847", - "length": "11", - "line": "997", - "parentIndex": "2648", - "start": "35837" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.NewExpression", - "value": { - "id": "2649", - "nodeType": "NEW_EXPRESSION", - "src": { - "column": "18", - "end": "35835", - "length": "13", - "line": "997", - "parentIndex": "2648", - "start": "35823" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2650", - "name": "uint256", - "nodeType": "IDENTIFIER", - "src": { - "column": "22", - "end": "35833", - "length": "7", - "line": "997", - "parentIndex": "2649", - "start": "35827" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "id": "2648", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "18", - "end": "35848", - "length": "26", - "line": "997", - "parentIndex": "2646", - "start": "35823" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } + "typeName": { + "id": "2603", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "25", + "end": "36914", + "length": "7", + "line": "1019", + "parentIndex": "2602", + "start": "36908" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": { - "column": "8", - "end": "35848", - "length": "36", - "line": "997", - "parentIndex": "2645", - "start": "35813" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "visibility": "INTERNAL" } - }, - "id": "2645", - "nodeType": "ASSIGNMENT", - "src": { - "column": "8", - "end": "35849", - "length": "37", - "line": "997", - "parentIndex": "2637", - "start": "35813" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + ], + "id": "2599", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "id": "2654", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2657", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "16", - "end": "35867", - "length": "1", - "line": "998", - "parentIndex": "2655", - "start": "35867" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2606", + "name": "tokenA", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2606", + "src": { + "column": "54", + "end": "36942", + "length": "6", + "line": "1019", + "parentIndex": "2604", + "start": "36937" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": "2655", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2656", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", - "src": { - "column": "8", - "end": "35865", - "length": "7", - "line": "998", - "parentIndex": "2655", - "start": "35859" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "8", - "end": "35868", - "length": "10", - "line": "998", - "parentIndex": "2654", - "start": "35859" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", - "typeString": "index[uint256:int_const 0]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + ], + "id": "2607", + "name": "tokenB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2607", + "src": { + "column": "62", + "end": "36950", + "length": "6", + "line": "1019", + "parentIndex": "2604", + "start": "36945" }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - ] + } } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2658", - "name": "amountIn", + "id": "2605", + "name": "sortTokens", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2658", "src": { - "column": "21", - "end": "35879", - "length": "8", - "line": "998", - "parentIndex": "2654", - "start": "35872" + "column": "43", + "end": "36935", + "length": "10", + "line": "1019", + "parentIndex": "2604", + "start": "36926" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, + "id": "2604", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "8", - "end": "35879", - "length": "21", - "line": "998", - "parentIndex": "2653", - "start": "35859" + "column": "43", + "end": "36951", + "length": "26", + "line": "1019", + "parentIndex": "2599", + "start": "36926" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", - "typeString": "index[uint256:int_const 0]" + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" } } }, - "id": "2653", - "nodeType": "ASSIGNMENT", + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "35880", - "length": "22", - "line": "998", - "parentIndex": "2637", - "start": "35859" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", - "typeString": "index[uint256:int_const 0]" + "end": "36952", + "length": "62", + "line": "1019", + "parentIndex": "2598", + "start": "36891" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "body": { - "id": "2671", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "50", - "end": "36210", - "length": "279", - "line": "999", - "parentIndex": "2659", - "start": "35932" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2609", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "assignments": [ - "2673", - "2675" - ], - "declarations": [ - { - "id": "2673", - "mutability": "MUTABLE", - "name": "reserveIn", - "nameLocation": { - "column": "21", - "end": "35963", - "length": "9", - "line": "1000", - "parentIndex": "2673", - "start": "35955" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2671", - "src": { - "column": "13", - "end": "35963", - "length": "17", - "line": "1000", - "parentIndex": "2672", - "start": "35947" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2674", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "35953", - "length": "7", - "line": "1000", - "parentIndex": "2673", - "start": "35947" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2675", - "mutability": "MUTABLE", - "name": "reserveOut", - "nameLocation": { - "column": "40", - "end": "35983", - "length": "10", - "line": "1000", - "parentIndex": "2675", - "start": "35974" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2671", - "src": { - "column": "32", - "end": "35983", - "length": "18", - "line": "1000", - "parentIndex": "2672", - "start": "35966" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2676", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "32", - "end": "35972", - "length": "7", - "line": "1000", - "parentIndex": "2675", - "start": "35966" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2672", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", - "typeString": "function(function(),index[address:uint256],index[address:uint256])" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2679", - "name": "factory", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "36023", - "length": "7", - "line": "1001", - "parentIndex": "2677", - "start": "36017" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2682", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "21", - "end": "36047", - "length": "1", - "line": "1002", - "parentIndex": "2680", - "start": "36047" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2680", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2681", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", - "src": { - "column": "16", - "end": "36045", - "length": "4", - "line": "1002", - "parentIndex": "2680", - "start": "36042" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "36048", - "length": "7", - "line": "1002", - "parentIndex": "2677", - "start": "36042" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2685", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2686", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "21", - "end": "36072", - "length": "1", - "line": "1003", - "parentIndex": "2685", - "start": "36072" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "ADDITION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31", - "id": "2687", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "25", - "end": "36076", - "length": "1", - "line": "1003", - "parentIndex": "2685", - "start": "36076" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - }, - "src": { - "column": "21", - "end": "36076", - "length": "5", - "line": "1003", - "parentIndex": "2683", - "start": "36072" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2683", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2684", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", - "src": { - "column": "16", - "end": "36070", - "length": "4", - "line": "1003", - "parentIndex": "2683", - "start": "36067" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "36077", - "length": "11", - "line": "1003", - "parentIndex": "2677", - "start": "36067" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - } - ], - "id": "2688", - "name": "pairCodeHash", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "36107", - "length": "12", - "line": "1004", - "parentIndex": "2677", - "start": "36096" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", - "typeString": "function(function(),index[address:uint256],index[address:uint256])" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2678", - "name": "getReserves", - "nodeType": "IDENTIFIER", - "src": { - "column": "54", - "end": "35998", - "length": "11", - "line": "1000", - "parentIndex": "2677", - "start": "35988" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2677", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "54", - "end": "36121", - "length": "134", - "line": "1000", - "parentIndex": "2672", - "start": "35988" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", - "typeString": "function(function(),index[address:uint256],index[address:uint256],function(function(),index[address:uint256],index[address:uint256]))" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", + "id": "2610", + "name": "pair", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2596", "src": { - "column": "12", - "end": "36122", - "length": "177", - "line": "1000", - "parentIndex": "2671", - "start": "35946" + "column": "8", + "end": "36965", + "length": "4", + "line": "1020", + "parentIndex": "2609", + "start": "36962" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2690", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "typeString": "function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))))" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "typeString": "function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "id": "2693", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2694", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "20", - "end": "36144", - "length": "1", - "line": "1006", - "parentIndex": "2693", - "start": "36144" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "ADDITION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31", - "id": "2695", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "24", - "end": "36148", - "length": "1", - "line": "1006", - "parentIndex": "2693", - "start": "36148" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "typeString": "function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))" } - }, - "src": { - "column": "20", - "end": "36148", - "length": "5", - "line": "1006", - "parentIndex": "2691", - "start": "36144" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2691", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2692", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", - "src": { - "column": "12", - "end": "36142", - "length": "7", - "line": "1006", - "parentIndex": "2691", - "start": "36136" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "12", - "end": "36149", - "length": "14", - "line": "1006", - "parentIndex": "2690", - "start": "36136" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "id": "2700", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "50", - "end": "36174", - "length": "1", - "line": "1006", - "parentIndex": "2698", - "start": "36174" + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "typeString": "function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_hex_literal", + "typeString": "literal_hex_string hex\"ff\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", + "typeString": "function(function(address,address))" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "6865786666", + "id": "2625", + "isPure": true, + "kind": "HEX_STRING", + "nodeType": "LITERAL", + "src": { + "column": "28", + "end": "37131", + "length": "7", + "line": "1025", + "parentIndex": "2622", + "start": "37125" + }, + "typeDescription": { + "typeIdentifier": "t_string_hex_literal", + "typeString": "literal_hex_string hex\"ff\"" + }, + "value": "hexff" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_hex_literal", + "typeString": "literal_hex_string hex\"ff\"" + } + ], + "id": "2626", + "name": "factory", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2626", + "src": { + "column": "28", + "end": "37168", + "length": "7", + "line": "1026", + "parentIndex": "2622", + "start": "37162" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2632", + "name": "token0", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2599", + "src": { + "column": "55", + "end": "37231", + "length": "6", + "line": "1027", + "parentIndex": "2629", + "start": "37226" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "2633", + "name": "token1", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2599", + "src": { + "column": "63", + "end": "37239", + "length": "6", + "line": "1027", + "parentIndex": "2629", + "start": "37234" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2631", + "name": "abi", + "nodeType": "IDENTIFIER", + "src": { + "column": "38", + "end": "37211", + "length": "3", + "line": "1027", + "parentIndex": "2630", + "start": "37209" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "2630", + "memberLocation": { + "column": "42", + "end": "37224", + "length": "12", + "line": "1027", + "parentIndex": "2630", + "start": "37213" + }, + "memberName": "encodePacked", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "38", + "end": "37224", + "length": "16", + "line": "1027", + "parentIndex": "2629", + "start": "37209" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "2629", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "38", + "end": "37240", + "length": "32", + "line": "1027", + "parentIndex": "2627", + "start": "37209" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2628", + "name": "keccak256", + "nodeType": "IDENTIFIER", + "src": { + "column": "28", + "end": "37207", + "length": "9", + "line": "1027", + "parentIndex": "2627", + "start": "37199" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2627", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "28", + "end": "37241", + "length": "43", + "line": "1027", + "parentIndex": "2622", + "start": "37199" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", + "typeString": "function(function(address,address))" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_hex_literal", + "typeString": "literal_hex_string hex\"ff\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$", + "typeString": "function(function(address,address))" + } + ], + "id": "2634", + "name": "pairCodeHash", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2634", + "src": { + "column": "28", + "end": "37283", + "length": "12", + "line": "1028", + "parentIndex": "2622", + "start": "37272" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2624", + "name": "abi", + "nodeType": "IDENTIFIER", + "src": { + "column": "24", + "end": "37081", + "length": "3", + "line": "1024", + "parentIndex": "2623", + "start": "37079" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "2623", + "memberLocation": { + "column": "28", + "end": "37094", + "length": "12", + "line": "1024", + "parentIndex": "2623", + "start": "37083" + }, + "memberName": "encodePacked", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "24", + "end": "37094", + "length": "16", + "line": "1024", + "parentIndex": "2622", + "start": "37079" + }, + "typeDescription": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + } + }, + "id": "2622", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "24", + "end": "37327", + "length": "249", + "line": "1024", + "parentIndex": "2620", + "start": "37079" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "typeString": "function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2621", + "name": "keccak256", + "nodeType": "IDENTIFIER", + "src": { + "column": "20", + "end": "37052", + "length": "9", + "line": "1023", + "parentIndex": "2620", + "start": "37044" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2698", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2699", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", + "id": "2620", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "42", - "end": "36172", - "length": "7", - "line": "1006", - "parentIndex": "2698", - "start": "36166" + "column": "20", + "end": "37349", + "length": "306", + "line": "1023", + "parentIndex": "2617", + "start": "37044" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "typeString": "function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))" } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "42", - "end": "36175", - "length": "10", - "line": "1006", - "parentIndex": "2696", - "start": "36166" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - } - ], - "id": "2701", - "name": "reserveIn", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2672", - "src": { - "column": "54", - "end": "36186", - "length": "9", - "line": "1006", - "parentIndex": "2696", - "start": "36178" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "2618", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "37021", + "length": "7", + "line": "1022", + "parentIndex": "2617", + "start": "37015" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "typeName": { + "id": "2619", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "16", + "end": "37021", + "length": "7", + "line": "1022", + "parentIndex": "2618", + "start": "37015" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - ], - "id": "2702", - "name": "reserveOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2672", - "src": { - "column": "65", - "end": "36198", - "length": "10", - "line": "1006", - "parentIndex": "2696", - "start": "36189" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } + }, + "id": "2617", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "37367", + "length": "353", + "line": "1022", + "parentIndex": "2614", + "start": "37015" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "typeString": "function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))" } } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2697", - "name": "getAmountOut", - "nodeType": "IDENTIFIER", + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": "2615", + "name": "uint160", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "36996", + "length": "7", + "line": "1021", + "parentIndex": "2614", + "start": "36990" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint160$", + "typeString": "function(uint160)" + }, + "typeName": { + "id": "2616", + "name": "uint160", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "29", - "end": "36164", - "length": "12", - "line": "1006", - "parentIndex": "2696", - "start": "36153" + "column": "12", + "end": "36996", + "length": "7", + "line": "1021", + "parentIndex": "2615", + "start": "36990" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_uint160", + "typeString": "uint160" } } - }, - "id": "2696", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "29", - "end": "36199", - "length": "47", - "line": "1006", - "parentIndex": "2690", - "start": "36153" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", - "typeString": "function(index[uint256:uint256],uint256,uint256)" - } - } - }, - "src": { - "column": "12", - "end": "36199", - "length": "64", - "line": "1006", - "parentIndex": "2689", - "start": "36136" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - } - } - }, - "id": "2689", - "nodeType": "ASSIGNMENT", - "src": { - "column": "12", - "end": "36200", - "length": "65", - "line": "1006", - "parentIndex": "2671", - "start": "36136" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - } - } - } - ] - }, - "closure": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.UnarySuffix", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2670", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "45", - "end": "35927", - "length": "1", - "line": "999", - "parentIndex": "2669", - "start": "35927" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2669", - "kind": "KIND_UNARY_SUFFIX", - "nodeType": "UNARY_OPERATION", - "operator": "INCREMENT", - "src": { - "column": "45", - "end": "35929", - "length": "3", - "line": "999", - "parentIndex": "2624", - "start": "35927" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2663", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2664", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "24", - "end": "35906", - "length": "1", - "line": "999", - "parentIndex": "2663", - "start": "35906" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2665", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2667", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2667", - "src": { - "column": "28", - "end": "35913", - "length": "4", - "line": "999", - "parentIndex": "2666", - "start": "35910" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" } + }, + "id": "2614", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "37381", + "length": "392", + "line": "1021", + "parentIndex": "2611", + "start": "36990" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "typeString": "function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32))))" } - }, - "id": "2666", - "memberLocation": { - "column": "33", - "end": "35920", - "length": "6", - "line": "999", - "parentIndex": "2666", - "start": "35915" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "28", - "end": "35920", - "length": "11", - "line": "999", - "parentIndex": "2665", - "start": "35910" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" } } - }, - "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", - "rightExpression": { + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "31", - "id": "2668", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "2612", + "name": "address", + "nodeType": "IDENTIFIER", "src": { - "column": "42", - "end": "35924", - "length": "1", - "line": "999", - "parentIndex": "2665", - "start": "35924" + "column": "15", + "end": "36975", + "length": "7", + "line": "1020", + "parentIndex": "2611", + "start": "36969" }, "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" }, - "value": "1" + "typeName": { + "id": "2613", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "15", + "end": "36975", + "length": "7", + "line": "1020", + "parentIndex": "2612", + "start": "36969" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } } }, + "id": "2611", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "28", - "end": "35924", - "length": "15", - "line": "999", - "parentIndex": "2663", - "start": "35910" + "column": "15", + "end": "37391", + "length": "423", + "line": "1020", + "parentIndex": "2609", + "start": "36969" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", + "typeString": "function(function(function(function(function(literal_hex_string hex\"ff\",address,function(function(address,address)),bytes32)))))" } } }, "src": { - "column": "24", - "end": "35924", - "length": "19", - "line": "999", - "parentIndex": "2659", - "start": "35906" + "column": "8", + "end": "37391", + "length": "430", + "line": "1020", + "parentIndex": "2608", + "start": "36962" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "2659", - "initialiser": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "2661" - ], - "declarations": [ - { - "id": "2661", - "mutability": "MUTABLE", - "name": "i", - "nameLocation": { - "column": "21", - "end": "35903", - "length": "1", - "line": "999", - "parentIndex": "2661", - "start": "35903" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2637", - "src": { - "column": "13", - "end": "35903", - "length": "9", - "line": "999", - "parentIndex": "2660", - "start": "35895" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2662", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "35901", - "length": "7", - "line": "999", - "parentIndex": "2661", - "start": "35895" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2660", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "13", - "end": "35904", - "length": "10", - "line": "999", - "parentIndex": "2637", - "start": "35895" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - "nodeType": "FOR_STATEMENT", + "id": "2608", + "nodeType": "ASSIGNMENT", "src": { - "end": "36210", - "length": "321", - "line": "999", - "parentIndex": "2637", - "start": "35890" + "column": "8", + "end": "37392", + "length": "431", + "line": "1020", + "parentIndex": "2598", + "start": "36962" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } } } ] }, - "id": "2624", + "id": "2585", "implemented": true, "kind": "KIND_FUNCTION", - "name": "getAmountsOut", + "name": "pairFor", "nameLocation": { "column": "13", - "end": "35565", - "length": "13", - "line": "990", - "parentIndex": "2624", - "start": "35553" + "end": "36733", + "length": "7", + "line": "1013", + "parentIndex": "2585", + "start": "36727" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2625", + "id": "2586", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2626", + "id": "2587", "name": "factory", "nodeType": "VARIABLE_DECLARATION", - "scope": "2626", + "scope": "2587", "src": { "column": "8", - "end": "35590", + "end": "36758", "length": "15", - "line": "991", - "parentIndex": "2625", - "start": "35576" + "line": "1014", + "parentIndex": "2586", + "start": "36744" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -47786,16 +46200,16 @@ "typeString": "address" }, "typeName": { - "id": "2627", + "id": "2588", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "35582", + "end": "36750", "length": "7", - "line": "991", - "parentIndex": "2626", - "start": "35576" + "line": "1014", + "parentIndex": "2587", + "start": "36744" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -47806,55 +46220,56 @@ "visibility": "INTERNAL" }, { - "id": "2628", - "name": "amountIn", + "id": "2589", + "name": "tokenA", "nodeType": "VARIABLE_DECLARATION", - "scope": "2628", + "scope": "2589", "src": { "column": "8", - "end": "35616", - "length": "16", - "line": "992", - "parentIndex": "2625", - "start": "35601" + "end": "36782", + "length": "14", + "line": "1015", + "parentIndex": "2586", + "start": "36769" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "2629", - "name": "uint256", + "id": "2590", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "35607", + "end": "36775", "length": "7", - "line": "992", - "parentIndex": "2628", - "start": "35601" + "line": "1015", + "parentIndex": "2589", + "start": "36769" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" }, { - "id": "2630", - "name": "path", + "id": "2591", + "name": "tokenB", "nodeType": "VARIABLE_DECLARATION", - "scope": "2630", + "scope": "2591", "src": { "column": "8", - "end": "35647", - "length": "21", - "line": "993", - "parentIndex": "2625", - "start": "35627" + "end": "36806", + "length": "14", + "line": "1016", + "parentIndex": "2586", + "start": "36793" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -47863,17 +46278,18 @@ "typeString": "address" }, "typeName": { - "id": "2631", + "id": "2592", "name": "address", - "nodeType": "IDENTIFIER", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "35633", + "end": "36799", "length": "7", - "line": "993", - "parentIndex": "2630", - "start": "35627" + "line": "1016", + "parentIndex": "2591", + "start": "36793" }, + "stateMutability": "NONPAYABLE", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" @@ -47882,17 +46298,17 @@ "visibility": "INTERNAL" }, { - "id": "2632", + "id": "2593", "name": "pairCodeHash", "nodeType": "VARIABLE_DECLARATION", - "scope": "2632", + "scope": "2593", "src": { "column": "8", - "end": "35677", + "end": "36836", "length": "20", - "line": "994", - "parentIndex": "2625", - "start": "35658" + "line": "1017", + "parentIndex": "2586", + "start": "36817" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -47901,16 +46317,16 @@ "typeString": "bytes32" }, "typeName": { - "id": "2633", + "id": "2594", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "35664", + "end": "36823", "length": "7", - "line": "994", - "parentIndex": "2632", - "start": "35658" + "line": "1017", + "parentIndex": "2593", + "start": "36817" }, "typeDescription": { "typeIdentifier": "t_bytes32", @@ -47922,51 +46338,52 @@ ], "src": { "column": "8", - "end": "35677", - "length": "102", - "line": "991", - "parentIndex": "2624", - "start": "35576" + "end": "36836", + "length": "93", + "line": "1014", + "parentIndex": "2585", + "start": "36744" } }, "returnParameters": { - "id": "2634", + "id": "2595", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2635", - "name": "amounts", + "id": "2596", + "name": "pair", "nodeType": "VARIABLE_DECLARATION", - "scope": "2635", + "scope": "2596", "src": { "column": "29", - "end": "35731", - "length": "24", - "line": "995", - "parentIndex": "2634", - "start": "35708" + "end": "36878", + "length": "12", + "line": "1018", + "parentIndex": "2595", + "start": "36867" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "2636", - "name": "uint256", - "nodeType": "IDENTIFIER", + "id": "2597", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "29", - "end": "35714", + "end": "36873", "length": "7", - "line": "995", - "parentIndex": "2635", - "start": "35708" + "line": "1018", + "parentIndex": "2596", + "start": "36867" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" @@ -47974,27 +46391,27 @@ ], "src": { "column": "29", - "end": "35731", - "length": "24", - "line": "995", - "parentIndex": "2624", - "start": "35708" + "end": "36878", + "length": "12", + "line": "1018", + "parentIndex": "2585", + "start": "36867" } }, - "scope": "2309", - "signature": "ce79344e", + "scope": "2535", + "signature": "7855da66", "src": { "column": "4", - "end": "36216", - "length": "673", - "line": "990", - "parentIndex": "2309", - "start": "35544" + "end": "37398", + "length": "681", + "line": "1013", + "parentIndex": "2535", + "start": "36718" }, - "stateMutability": "VIEW", + "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", - "typeString": "function(address,uint256,address,bytes32)" + "typeIdentifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "typeString": "function(address,address,address,bytes32)" }, "visibility": "INTERNAL" } @@ -48003,78 +46420,102 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2717", + "id": "2651", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "55", - "end": "36988", - "length": "504", - "line": "1016", - "parentIndex": "2704", - "start": "36485" + "column": "65", + "end": "37974", + "length": "332", + "line": "1042", + "parentIndex": "2636", + "start": "37643" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, + "assignments": [ + "2653" + ], + "declarations": [ { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" + "id": "2653", + "mutability": "MUTABLE", + "name": "token0", + "nameLocation": { + "column": "17", + "end": "37667", + "length": "6", + "line": "1043", + "parentIndex": "2653", + "start": "37662" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2651", + "src": { + "column": "9", + "end": "37667", + "length": "14", + "line": "1043", + "parentIndex": "2652", + "start": "37654" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2654", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "9", + "end": "37660", + "length": "7", + "line": "1043", + "parentIndex": "2653", + "start": "37654" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" } ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2720", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "id": "2652", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2722", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2722", - "src": { - "column": "16", - "end": "36506", - "length": "4", - "line": "1017", - "parentIndex": "2721", - "start": "36503" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "id": "2721", - "memberLocation": { - "column": "21", - "end": "36513", - "length": "6", - "line": "1017", - "parentIndex": "2721", - "start": "36508" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", + "id": "2657", + "name": "tokenA", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2657", "src": { - "column": "16", - "end": "36513", - "length": "11", - "line": "1017", - "parentIndex": "2720", - "start": "36503" + "column": "40", + "end": "37690", + "length": "6", + "line": "1043", + "parentIndex": "2655", + "start": "37685" }, "typeDescription": { "typeIdentifier": "t_address", @@ -48082,1005 +46523,684 @@ } } }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN_OR_EQUAL", - "rightExpression": { + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "32", - "id": "2723", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "2658", + "name": "tokenB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2658", "src": { - "column": "31", - "end": "36518", - "length": "1", - "line": "1017", - "parentIndex": "2720", - "start": "36518" + "column": "48", + "end": "37698", + "length": "6", + "line": "1043", + "parentIndex": "2655", + "start": "37693" }, "typeDescription": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" + "typeIdentifier": "t_address", + "typeString": "address" + } } - }, - "src": { - "column": "16", - "end": "36518", - "length": "16", - "line": "1017", - "parentIndex": "2718", - "start": "36503" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2656", + "name": "sortTokens", + "nodeType": "IDENTIFIER", + "src": { + "column": "29", + "end": "37683", + "length": "10", + "line": "1043", + "parentIndex": "2655", + "start": "37674" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" } - ], - "hexValue": "556e697377617056324c6962726172793a20494e56414c49445f50415448", - "id": "2724", - "isPure": true, - "kind": "STRING", - "nodeType": "LITERAL", - "src": { - "column": "34", - "end": "36552", - "length": "32", - "line": "1017", - "parentIndex": "2718", - "start": "36521" - }, - "typeDescription": { - "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" - }, - "value": "UniswapV2Library: INVALID_PATH" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2719", - "isPure": true, - "name": "require", - "nodeType": "IDENTIFIER", + } + }, + "id": "2655", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "8", - "end": "36501", - "length": "7", - "line": "1017", - "parentIndex": "2718", - "start": "36495" + "column": "29", + "end": "37699", + "length": "26", + "line": "1043", + "parentIndex": "2652", + "start": "37674" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" } } }, - "id": "2718", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "36553", - "length": "59", - "line": "1017", - "parentIndex": "2717", - "start": "36495" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", - "typeString": "function(bool,string memory)" + "end": "37700", + "length": "48", + "line": "1043", + "parentIndex": "2651", + "start": "37653" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2726", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2727", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", - "src": { - "column": "8", - "end": "36570", - "length": "7", - "line": "1018", - "parentIndex": "2726", - "start": "36564" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } + "assignments": [ + "2660", + "2662" + ], + "declarations": [ + { + "id": "2660", + "mutability": "MUTABLE", + "name": "reserve0", + "nameLocation": { + "column": "17", + "end": "37726", + "length": "8", + "line": "1044", + "parentIndex": "2660", + "start": "37719" }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2732", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2732", - "src": { - "column": "32", - "end": "36591", - "length": "4", - "line": "1018", - "parentIndex": "2731", - "start": "36588" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "id": "2731", - "memberLocation": { - "column": "37", - "end": "36598", - "length": "6", - "line": "1018", - "parentIndex": "2731", - "start": "36593" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "32", - "end": "36598", - "length": "11", - "line": "1018", - "parentIndex": "2728", - "start": "36588" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.NewExpression", - "value": { - "id": "2729", - "nodeType": "NEW_EXPRESSION", - "src": { - "column": "18", - "end": "36586", - "length": "13", - "line": "1018", - "parentIndex": "2728", - "start": "36574" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2730", - "name": "uint256", - "nodeType": "IDENTIFIER", - "src": { - "column": "22", - "end": "36584", - "length": "7", - "line": "1018", - "parentIndex": "2729", - "start": "36578" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "id": "2728", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "18", - "end": "36599", - "length": "26", - "line": "1018", - "parentIndex": "2726", - "start": "36574" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } + "nodeType": "VARIABLE_DECLARATION", + "scope": "2651", + "src": { + "column": "9", + "end": "37726", + "length": "16", + "line": "1044", + "parentIndex": "2659", + "start": "37711" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2661", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "9", + "end": "37717", + "length": "7", + "line": "1044", + "parentIndex": "2660", + "start": "37711" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, + "visibility": "INTERNAL" + }, + { + "id": "2662", + "mutability": "MUTABLE", + "name": "reserve1", + "nameLocation": { + "column": "35", + "end": "37744", + "length": "8", + "line": "1044", + "parentIndex": "2662", + "start": "37737" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2651", "src": { - "column": "8", - "end": "36599", - "length": "36", - "line": "1018", - "parentIndex": "2725", - "start": "36564" + "column": "27", + "end": "37744", + "length": "16", + "line": "1044", + "parentIndex": "2659", + "start": "37729" }, + "storageLocation": "DEFAULT", "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } + }, + "typeName": { + "id": "2663", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "27", + "end": "37735", + "length": "7", + "line": "1044", + "parentIndex": "2662", + "start": "37729" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" } - }, - "id": "2725", - "nodeType": "ASSIGNMENT", - "src": { - "column": "8", - "end": "36600", - "length": "37", - "line": "1018", - "parentIndex": "2717", - "start": "36564" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + ], + "id": "2659", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "id": "2734", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "id": "2737", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2739", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", - "src": { - "column": "16", - "end": "36624", - "length": "7", - "line": "1019", - "parentIndex": "2738", - "start": "36618" + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "typeString": "function(address,address,address,bytes32)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2670", + "name": "factory", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2670", + "src": { + "column": "20", + "end": "37793", + "length": "7", + "line": "1045", + "parentIndex": "2668", + "start": "37787" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "2671", + "name": "tokenA", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2671", + "src": { + "column": "29", + "end": "37801", + "length": "6", + "line": "1045", + "parentIndex": "2668", + "start": "37796" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "2672", + "name": "tokenB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2672", + "src": { + "column": "37", + "end": "37809", + "length": "6", + "line": "1045", + "parentIndex": "2668", + "start": "37804" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "2673", + "name": "pairCodeHash", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2673", + "src": { + "column": "45", + "end": "37823", + "length": "12", + "line": "1045", + "parentIndex": "2668", + "start": "37812" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2669", + "name": "pairFor", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "37785", + "length": "7", + "line": "1045", + "parentIndex": "2668", + "start": "37779" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2668", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "37824", + "length": "46", + "line": "1045", + "parentIndex": "2666", + "start": "37779" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "typeString": "function(address,address,address,bytes32)" } - }, - "id": "2738", - "memberLocation": { - "column": "24", - "end": "36631", - "length": "6", - "line": "1019", - "parentIndex": "2738", - "start": "36626" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "36631", - "length": "14", - "line": "1019", - "parentIndex": "2737", - "start": "36618" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } } - }, - "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", - "rightExpression": { + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "31", - "id": "2740", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "id": "2667", + "name": "IUniswapV2Pair", + "nodeType": "IDENTIFIER", "src": { - "column": "33", - "end": "36635", - "length": "1", - "line": "1019", - "parentIndex": "2737", - "start": "36635" + "column": "49", + "end": "37764", + "length": "14", + "line": "1044", + "parentIndex": "2666", + "start": "37751" }, "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_function_$", + "typeString": "function()" + } } - }, - "src": { - "column": "16", - "end": "36635", - "length": "18", - "line": "1019", - "parentIndex": "2735", - "start": "36618" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2735", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2736", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", + }, + "id": "2666", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "8", - "end": "36616", - "length": "7", - "line": "1019", - "parentIndex": "2735", - "start": "36610" + "column": "49", + "end": "37834", + "length": "84", + "line": "1044", + "parentIndex": "2665", + "start": "37751" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "typeString": "function(function(address,address,address,bytes32))" } } }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "8", - "end": "36636", - "length": "27", - "line": "1019", - "parentIndex": "2734", - "start": "36610" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" + "id": "2665", + "memberLocation": { + "column": "10", + "end": "37846", + "length": "11", + "line": "1046", + "parentIndex": "2665", + "start": "37836" }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2741", - "name": "amountOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2741", + "memberName": "getReserves", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "38", - "end": "36648", - "length": "9", - "line": "1019", - "parentIndex": "2734", - "start": "36640" + "column": "49", + "end": "37846", + "length": "96", + "line": "1044", + "parentIndex": "2664", + "start": "37751" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "typeString": "function(function(address,address,address,bytes32))" } } }, + "id": "2664", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "8", - "end": "36648", - "length": "39", - "line": "1019", - "parentIndex": "2733", - "start": "36610" + "column": "49", + "end": "37848", + "length": "98", + "line": "1044", + "parentIndex": "2659", + "start": "37751" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "id": "2733", - "nodeType": "ASSIGNMENT", + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "36649", - "length": "40", - "line": "1019", - "parentIndex": "2717", - "start": "36610" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" + "end": "37849", + "length": "140", + "line": "1044", + "parentIndex": "2651", + "start": "37710" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "body": { - "id": "2755", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "54", - "end": "36982", - "length": "278", - "line": "1020", - "parentIndex": "2742", - "start": "36705" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2675", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { - "assignments": [ - "2757", - "2759" - ], - "declarations": [ + "components": [ { - "id": "2757", - "mutability": "MUTABLE", - "name": "reserveIn", - "nameLocation": { - "column": "21", - "end": "36736", - "length": "9", - "line": "1021", - "parentIndex": "2757", - "start": "36728" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2755", - "src": { - "column": "13", - "end": "36736", - "length": "17", - "line": "1021", - "parentIndex": "2756", - "start": "36720" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2758", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2677", + "name": "reserveA", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2647", "src": { - "column": "13", - "end": "36726", - "length": "7", - "line": "1021", - "parentIndex": "2757", - "start": "36720" + "column": "9", + "end": "37867", + "length": "8", + "line": "1047", + "parentIndex": "2676", + "start": "37860" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "visibility": "INTERNAL" + } }, { - "id": "2759", - "mutability": "MUTABLE", - "name": "reserveOut", - "nameLocation": { - "column": "40", - "end": "36756", - "length": "10", - "line": "1021", - "parentIndex": "2759", - "start": "36747" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2755", - "src": { - "column": "32", - "end": "36756", - "length": "18", - "line": "1021", - "parentIndex": "2756", - "start": "36739" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2760", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2678", + "name": "reserveB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2649", "src": { - "column": "32", - "end": "36745", - "length": "7", - "line": "1021", - "parentIndex": "2759", - "start": "36739" + "column": "19", + "end": "37877", + "length": "8", + "line": "1047", + "parentIndex": "2676", + "start": "37870" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "visibility": "INTERNAL" + } } ], - "id": "2756", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", - "typeString": "function(function(),index[address:uint256],index[address:uint256])" - } - ], - "arguments": [ - { + "id": "2676", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "8", + "end": "37878", + "length": "20", + "line": "1047", + "parentIndex": "2675", + "start": "37859" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", + "value": { + "expressions": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2681", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2763", - "name": "factory", + "id": "2682", + "name": "tokenA", "nodeType": "IDENTIFIER", + "referencedDeclaration": "2682", "src": { - "column": "16", - "end": "36796", - "length": "7", - "line": "1022", - "parentIndex": "2761", - "start": "36790" + "column": "31", + "end": "37887", + "length": "6", + "line": "1047", + "parentIndex": "2681", + "start": "37882" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "nodeType": "BINARY_OPERATION", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2766", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2767", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "21", - "end": "36820", - "length": "1", - "line": "1023", - "parentIndex": "2766", - "start": "36820" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31", - "id": "2768", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "25", - "end": "36824", - "length": "1", - "line": "1023", - "parentIndex": "2766", - "start": "36824" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - }, - "src": { - "column": "21", - "end": "36824", - "length": "5", - "line": "1023", - "parentIndex": "2764", - "start": "36820" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2764", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2765", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", - "src": { - "column": "16", - "end": "36818", - "length": "4", - "line": "1023", - "parentIndex": "2764", - "start": "36815" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", + "id": "2683", + "name": "token0", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2652", "src": { - "column": "16", - "end": "36825", - "length": "11", - "line": "1023", - "parentIndex": "2761", - "start": "36815" + "column": "41", + "end": "37897", + "length": "6", + "line": "1047", + "parentIndex": "2681", + "start": "37892" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] + "typeIdentifier": "t_address", + "typeString": "address" + } } }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2771", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "21", - "end": "36849", - "length": "1", - "line": "1024", - "parentIndex": "2769", - "start": "36849" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2769", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2770", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", - "src": { - "column": "16", - "end": "36847", - "length": "4", - "line": "1024", - "parentIndex": "2769", - "start": "36844" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "36850", - "length": "7", - "line": "1024", - "parentIndex": "2761", - "start": "36844" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" + "src": { + "column": "31", + "end": "37897", + "length": "16", + "line": "1047", + "parentIndex": "2680", + "start": "37882" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2685", + "name": "reserve0", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2659", + "src": { + "column": "15", + "end": "37921", + "length": "8", + "line": "1048", + "parentIndex": "2684", + "start": "37914" }, - { + "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - } - ], - "id": "2772", - "name": "pairCodeHash", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "36880", - "length": "12", - "line": "1025", - "parentIndex": "2761", - "start": "36869" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", - "typeString": "function(function(),index[address:uint256],index[address:uint256])" } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2762", - "name": "getReserves", - "nodeType": "IDENTIFIER", - "src": { - "column": "54", - "end": "36771", - "length": "11", - "line": "1021", - "parentIndex": "2761", - "start": "36761" }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2761", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "54", - "end": "36894", - "length": "134", - "line": "1021", - "parentIndex": "2756", - "start": "36761" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", - "typeString": "function(function(),index[address:uint256],index[address:uint256],function(function(),index[address:uint256],index[address:uint256]))" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "12", - "end": "36895", - "length": "177", - "line": "1021", - "parentIndex": "2755", - "start": "36719" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "2774", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2777", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2778", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "20", - "end": "36917", - "length": "1", - "line": "1027", - "parentIndex": "2777", - "start": "36917" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31", - "id": "2779", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "24", - "end": "36921", - "length": "1", - "line": "1027", - "parentIndex": "2777", - "start": "36921" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - }, + "id": "2686", + "name": "reserve1", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2659", "src": { - "column": "20", - "end": "36921", - "length": "5", - "line": "1027", - "parentIndex": "2775", - "start": "36917" + "column": "25", + "end": "37931", + "length": "8", + "line": "1048", + "parentIndex": "2684", + "start": "37924" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } - }, - "id": "2775", - "indexExpression": { + } + ], + "id": "2684", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "14", + "end": "37932", + "length": "20", + "line": "1048", + "parentIndex": "2680", + "start": "37913" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2776", - "name": "amounts", + "id": "2688", + "name": "reserve1", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", + "referencedDeclaration": "2659", "src": { - "column": "12", - "end": "36915", - "length": "7", - "line": "1027", - "parentIndex": "2775", - "start": "36909" + "column": "15", + "end": "37956", + "length": "8", + "line": "1049", + "parentIndex": "2687", + "start": "37949" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -49088,310 +47208,813 @@ } } }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "12", - "end": "36922", - "length": "14", - "line": "1027", - "parentIndex": "2774", - "start": "36909" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2784", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "49", - "end": "36946", - "length": "1", - "line": "1027", - "parentIndex": "2782", - "start": "36946" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2782", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2783", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", - "src": { - "column": "41", - "end": "36944", - "length": "7", - "line": "1027", - "parentIndex": "2782", - "start": "36938" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "41", - "end": "36947", - "length": "10", - "line": "1027", - "parentIndex": "2780", - "start": "36938" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - } - ], - "id": "2785", - "name": "reserveIn", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2756", - "src": { - "column": "53", - "end": "36958", - "length": "9", - "line": "1027", - "parentIndex": "2780", - "start": "36950" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "2786", - "name": "reserveOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2756", - "src": { - "column": "64", - "end": "36970", - "length": "10", - "line": "1027", - "parentIndex": "2780", - "start": "36961" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "expression": { + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2781", - "name": "getAmountIn", + "id": "2689", + "name": "reserve0", "nodeType": "IDENTIFIER", + "referencedDeclaration": "2659", "src": { - "column": "29", - "end": "36936", - "length": "11", - "line": "1027", - "parentIndex": "2780", - "start": "36926" + "column": "25", + "end": "37966", + "length": "8", + "line": "1049", + "parentIndex": "2687", + "start": "37959" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } - }, - "id": "2780", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + } + ], + "id": "2687", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "14", + "end": "37967", + "length": "20", + "line": "1049", + "parentIndex": "2680", + "start": "37948" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" + } + } + } + ], + "id": "2680", + "nodeType": "CONDITIONAL_EXPRESSION", + "src": { + "column": "31", + "end": "37967", + "length": "86", + "line": "1047", + "parentIndex": "2675", + "start": "37882" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" + }, + { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" + } + ] + } + }, + "src": { + "column": "8", + "end": "37967", + "length": "109", + "line": "1047", + "parentIndex": "2674", + "start": "37859" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" + } + } + }, + "id": "2674", + "nodeType": "ASSIGNMENT", + "src": { + "column": "8", + "end": "37968", + "length": "110", + "line": "1047", + "parentIndex": "2651", + "start": "37859" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", + "typeString": "tuple(uint256,uint256)" + } + } + } + ] + }, + "id": "2636", + "implemented": true, + "kind": "KIND_FUNCTION", + "name": "getReserves", + "nameLocation": { + "column": "13", + "end": "37473", + "length": "11", + "line": "1037", + "parentIndex": "2636", + "start": "37463" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2637", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2638", + "name": "factory", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2638", + "src": { + "column": "8", + "end": "37498", + "length": "15", + "line": "1038", + "parentIndex": "2637", + "start": "37484" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2639", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "37490", + "length": "7", + "line": "1038", + "parentIndex": "2638", + "start": "37484" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2640", + "name": "tokenA", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2640", + "src": { + "column": "8", + "end": "37522", + "length": "14", + "line": "1039", + "parentIndex": "2637", + "start": "37509" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2641", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "37515", + "length": "7", + "line": "1039", + "parentIndex": "2640", + "start": "37509" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2642", + "name": "tokenB", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2642", + "src": { + "column": "8", + "end": "37546", + "length": "14", + "line": "1040", + "parentIndex": "2637", + "start": "37533" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2643", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "37539", + "length": "7", + "line": "1040", + "parentIndex": "2642", + "start": "37533" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2644", + "name": "pairCodeHash", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2644", + "src": { + "column": "8", + "end": "37576", + "length": "20", + "line": "1041", + "parentIndex": "2637", + "start": "37557" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "2645", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "37563", + "length": "7", + "line": "1041", + "parentIndex": "2644", + "start": "37557" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "37576", + "length": "93", + "line": "1038", + "parentIndex": "2636", + "start": "37484" + } + }, + "returnParameters": { + "id": "2646", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2647", + "name": "reserveA", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2647", + "src": { + "column": "29", + "end": "37622", + "length": "16", + "line": "1042", + "parentIndex": "2646", + "start": "37607" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2648", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "29", + "end": "37613", + "length": "7", + "line": "1042", + "parentIndex": "2647", + "start": "37607" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2649", + "name": "reserveB", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2649", + "src": { + "column": "47", + "end": "37640", + "length": "16", + "line": "1042", + "parentIndex": "2646", + "start": "37625" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2650", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "47", + "end": "37631", + "length": "7", + "line": "1042", + "parentIndex": "2649", + "start": "37625" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "29", + "end": "37640", + "length": "34", + "line": "1042", + "parentIndex": "2636", + "start": "37607" + } + }, + "scope": "2535", + "signature": "20f86dbb", + "src": { + "column": "4", + "end": "37974", + "length": "521", + "line": "1037", + "parentIndex": "2535", + "start": "37454" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", + "typeString": "function(address,address,address,bytes32)" + }, + "visibility": "INTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2702", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "46", + "end": "38477", + "length": "255", + "line": "1057", + "parentIndex": "2691", + "start": "38223" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2705", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2706", + "name": "amountA", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2706", + "src": { + "column": "16", + "end": "38247", + "length": "7", + "line": "1058", + "parentIndex": "2705", + "start": "38241" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2707", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "26", + "end": "38251", + "length": "1", + "line": "1058", + "parentIndex": "2705", + "start": "38251" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "16", + "end": "38251", + "length": "11", + "line": "1058", + "parentIndex": "2703", + "start": "38241" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54", + "id": "2708", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "29", + "end": "38292", + "length": "39", + "line": "1058", + "parentIndex": "2703", + "start": "38254" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" + }, + "value": "UniswapV2Library: INSUFFICIENT_AMOUNT" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2704", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "38239", + "length": "7", + "line": "1058", + "parentIndex": "2703", + "start": "38233" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2703", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "38293", + "length": "61", + "line": "1058", + "parentIndex": "2702", + "start": "38233" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AndOperation", + "value": { + "expressions": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2713", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2714", + "name": "reserveA", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2714", "src": { - "column": "29", - "end": "36971", - "length": "46", - "line": "1027", - "parentIndex": "2774", - "start": "36926" + "column": "12", + "end": "38332", + "length": "8", + "line": "1060", + "parentIndex": "2713", + "start": "38325" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", - "typeString": "function(index[uint256:uint256],uint256,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2715", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "23", + "end": "38336", + "length": "1", + "line": "1060", + "parentIndex": "2713", + "start": "38336" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, "src": { "column": "12", - "end": "36971", - "length": "63", - "line": "1027", - "parentIndex": "2773", - "start": "36909" + "end": "38336", + "length": "12", + "line": "1060", + "parentIndex": "2712", + "start": "38325" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" + "typeIdentifier": "t_bool", + "typeString": "bool" } } }, - "id": "2773", - "nodeType": "ASSIGNMENT", - "src": { - "column": "12", - "end": "36972", - "length": "64", - "line": "1027", - "parentIndex": "2755", - "start": "36909" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2716", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2717", + "name": "reserveB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2717", + "src": { + "column": "28", + "end": "38348", + "length": "8", + "line": "1060", + "parentIndex": "2716", + "start": "38341" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2718", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "39", + "end": "38352", + "length": "1", + "line": "1060", + "parentIndex": "2716", + "start": "38352" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "28", + "end": "38352", + "length": "12", + "line": "1060", + "parentIndex": "2712", + "start": "38341" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + ], + "id": "2712", + "nodeType": "AND_OPERATION", + "src": { + "column": "12", + "end": "38352", + "length": "28", + "line": "1060", + "parentIndex": "2709", + "start": "38325" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" + { + "typeIdentifier": "t_bool", + "typeString": "bool" } - } + ] } - ] - }, - "closure": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.UnarySuffix", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2754", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "49", - "end": "36700", - "length": "1", - "line": "1020", - "parentIndex": "2753", - "start": "36700" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" } - } - }, - "id": "2753", - "kind": "KIND_UNARY_SUFFIX", - "nodeType": "UNARY_OPERATION", - "operator": "DECREMENT", + ], + "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", + "id": "2719", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "12", + "end": "38408", + "length": "42", + "line": "1061", + "parentIndex": "2709", + "start": "38367" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + }, + "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2710", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", "src": { - "column": "49", - "end": "36702", - "length": "3", - "line": "1020", - "parentIndex": "2704", - "start": "36700" + "column": "8", + "end": "38310", + "length": "7", + "line": "1059", + "parentIndex": "2709", + "start": "38304" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "id": "2709", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "38418", + "length": "115", + "line": "1059", + "parentIndex": "2702", + "start": "38304" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2750", + "id": "2721", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2751", - "name": "i", + "id": "2722", + "name": "amountB", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "2700", "src": { - "column": "42", - "end": "36693", - "length": "1", - "line": "1020", - "parentIndex": "2750", - "start": "36693" + "column": "8", + "end": "38435", + "length": "7", + "line": "1063", + "parentIndex": "2721", + "start": "38429" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -49399,284 +48022,208 @@ } } }, - "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2752", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "46", - "end": "36697", - "length": "1", - "line": "1020", - "parentIndex": "2750", - "start": "36697" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "42", - "end": "36697", - "length": "5", - "line": "1020", - "parentIndex": "2742", - "start": "36693" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "2742", - "initialiser": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "2744" - ], - "declarations": [ - { - "id": "2744", - "mutability": "MUTABLE", - "name": "i", - "nameLocation": { - "column": "21", - "end": "36672", - "length": "1", - "line": "1020", - "parentIndex": "2744", - "start": "36672" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2717", - "src": { - "column": "13", - "end": "36672", - "length": "9", - "line": "1020", - "parentIndex": "2743", - "start": "36664" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2745", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "36670", - "length": "7", - "line": "1020", - "parentIndex": "2744", - "start": "36664" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2743", - "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2746", + "id": "2723", "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2727", + "name": "reserveB", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2727", + "src": { + "column": "30", + "end": "38458", + "length": "8", + "line": "1063", + "parentIndex": "2724", + "start": "38451" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "2748", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2748", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2726", + "name": "amountA", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2726", + "src": { + "column": "18", + "end": "38445", + "length": "7", + "line": "1063", + "parentIndex": "2725", + "start": "38439" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2725", + "memberLocation": { + "column": "26", + "end": "38449", + "length": "3", + "line": "1063", + "parentIndex": "2725", + "start": "38447" + }, + "memberName": "mul", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "25", - "end": "36679", - "length": "4", - "line": "1020", - "parentIndex": "2747", - "start": "36676" + "column": "18", + "end": "38449", + "length": "11", + "line": "1063", + "parentIndex": "2724", + "start": "38439" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "2747", - "memberLocation": { - "column": "30", - "end": "36686", - "length": "6", - "line": "1020", - "parentIndex": "2747", - "start": "36681" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", + "id": "2724", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "25", - "end": "36686", - "length": "11", - "line": "1020", - "parentIndex": "2743", - "start": "36676" + "column": "18", + "end": "38459", + "length": "21", + "line": "1063", + "parentIndex": "2723", + "start": "38439" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" } } }, "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", + "operator": "DIVISION", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "31", - "id": "2749", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "id": "2728", + "name": "reserveA", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2728", "src": { - "column": "39", - "end": "36690", - "length": "1", - "line": "1020", - "parentIndex": "2746", - "start": "36690" + "column": "42", + "end": "38470", + "length": "8", + "line": "1063", + "parentIndex": "2723", + "start": "38463" }, "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } }, "src": { - "column": "25", - "end": "36690", - "length": "15", - "line": "1020", - "parentIndex": "2743", - "start": "36676" + "column": "18", + "end": "38470", + "length": "32", + "line": "1063", + "parentIndex": "2721", + "start": "38439" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" } } }, - "nodeType": "VARIABLE_DECLARATION", "src": { - "column": "13", - "end": "36691", - "length": "28", - "line": "1020", - "parentIndex": "2717", - "start": "36664" + "column": "8", + "end": "38470", + "length": "42", + "line": "1063", + "parentIndex": "2720", + "start": "38429" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "nodeType": "FOR_STATEMENT", + "id": "2720", + "nodeType": "ASSIGNMENT", "src": { - "end": "36982", - "length": "324", - "line": "1020", - "parentIndex": "2717", - "start": "36659" + "column": "8", + "end": "38471", + "length": "43", + "line": "1063", + "parentIndex": "2702", + "start": "38429" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } } ] }, - "id": "2704", + "id": "2691", "implemented": true, "kind": "KIND_FUNCTION", - "name": "getAmountsIn", + "name": "quote", "nameLocation": { "column": "13", - "end": "36315", - "length": "12", - "line": "1011", - "parentIndex": "2704", - "start": "36304" + "end": "38098", + "length": "5", + "line": "1053", + "parentIndex": "2691", + "start": "38094" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2705", + "id": "2692", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2706", - "name": "factory", + "id": "2693", + "name": "amountA", "nodeType": "VARIABLE_DECLARATION", - "scope": "2706", + "scope": "2693", "src": { "column": "8", - "end": "36340", + "end": "38123", "length": "15", - "line": "1012", - "parentIndex": "2705", - "start": "36326" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2707", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "36332", - "length": "7", - "line": "1012", - "parentIndex": "2706", - "start": "36326" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2708", - "name": "amountOut", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2708", - "src": { - "column": "8", - "end": "36367", - "length": "17", - "line": "1013", - "parentIndex": "2705", - "start": "36351" + "line": "1054", + "parentIndex": "2692", + "start": "38109" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -49685,16 +48232,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2709", + "id": "2694", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "36357", + "end": "38115", "length": "7", - "line": "1013", - "parentIndex": "2708", - "start": "36351" + "line": "1054", + "parentIndex": "2693", + "start": "38109" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -49704,77 +48251,77 @@ "visibility": "INTERNAL" }, { - "id": "2710", - "name": "path", + "id": "2695", + "name": "reserveA", "nodeType": "VARIABLE_DECLARATION", - "scope": "2710", + "scope": "2695", "src": { "column": "8", - "end": "36398", - "length": "21", - "line": "1014", - "parentIndex": "2705", - "start": "36378" + "end": "38149", + "length": "16", + "line": "1055", + "parentIndex": "2692", + "start": "38134" }, - "stateMutability": "NONPAYABLE", + "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "2711", - "name": "address", - "nodeType": "IDENTIFIER", + "id": "2696", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "36384", + "end": "38140", "length": "7", - "line": "1014", - "parentIndex": "2710", - "start": "36378" + "line": "1055", + "parentIndex": "2695", + "start": "38134" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" }, { - "id": "2712", - "name": "pairCodeHash", + "id": "2697", + "name": "reserveB", "nodeType": "VARIABLE_DECLARATION", - "scope": "2712", + "scope": "2697", "src": { "column": "8", - "end": "36428", - "length": "20", - "line": "1015", - "parentIndex": "2705", - "start": "36409" + "end": "38175", + "length": "16", + "line": "1056", + "parentIndex": "2692", + "start": "38160" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "2713", - "name": "bytes32", + "id": "2698", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "36415", + "end": "38166", "length": "7", - "line": "1015", - "parentIndex": "2712", - "start": "36409" + "line": "1056", + "parentIndex": "2697", + "start": "38160" }, "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" @@ -49782,29 +48329,29 @@ ], "src": { "column": "8", - "end": "36428", - "length": "103", - "line": "1012", - "parentIndex": "2704", - "start": "36326" + "end": "38175", + "length": "67", + "line": "1054", + "parentIndex": "2691", + "start": "38109" } }, "returnParameters": { - "id": "2714", + "id": "2699", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2715", - "name": "amounts", + "id": "2700", + "name": "amountB", "nodeType": "VARIABLE_DECLARATION", - "scope": "2715", + "scope": "2700", "src": { "column": "29", - "end": "36482", - "length": "24", - "line": "1016", - "parentIndex": "2714", - "start": "36459" + "end": "38220", + "length": "15", + "line": "1057", + "parentIndex": "2699", + "start": "38206" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -49813,16 +48360,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2716", + "id": "2701", "name": "uint256", - "nodeType": "IDENTIFIER", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "29", - "end": "36465", + "end": "38212", "length": "7", - "line": "1016", - "parentIndex": "2715", - "start": "36459" + "line": "1057", + "parentIndex": "2700", + "start": "38206" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -49834,346 +48381,475 @@ ], "src": { "column": "29", - "end": "36482", - "length": "24", - "line": "1016", - "parentIndex": "2704", - "start": "36459" + "end": "38220", + "length": "15", + "line": "1057", + "parentIndex": "2691", + "start": "38206" } }, - "scope": "2309", - "signature": "9c6b5824", + "scope": "2535", + "signature": "ad615dec", "src": { "column": "4", - "end": "36988", - "length": "694", - "line": "1011", - "parentIndex": "2309", - "start": "36295" + "end": "38477", + "length": "393", + "line": "1053", + "parentIndex": "2535", + "start": "38085" }, - "stateMutability": "VIEW", + "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", - "typeString": "function(address,uint256,address,bytes32)" + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", + "typeString": "function(uint256,uint256,uint256)" }, "visibility": "INTERNAL" } - } - ], - "src": { - "end": "36990", - "length": "5323", - "line": "886", - "parentIndex": "2281", - "start": "31668" - } - } - } - ] - }, - "src": { - "line": 886, - "start": 31668, - "end": 36990, - "length": 5323, - "parent_index": 272 - } - }, - { - "id": 2787, - "license": "GPL-3.0-or-later", - "name": "SushiLegacyAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiLegacyAdapter.sol", - "exported_symbols": [ - { - "id": 2787, - "name": "SushiLegacyAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiLegacyAdapter.sol" - }, - { - "id": 2281, - "name": "SafeERC20", - "absolute_path": "SafeERC20.sol" - }, - { - "id": 2281, - "name": "UniswapV2Library", - "absolute_path": "UniswapV2Library.sol" - }, - { - "id": 2281, - "name": "ImmutableState", - "absolute_path": "ImmutableState.sol" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "2803", - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "37061", - "length": "23", - "line": "1034", - "parentIndex": "2787", - "start": "37039" - }, - "text": "pragma solidity 0.8.11;" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "SafeERC20.sol", - "file": "./SafeERC20.sol", - "id": "2816", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "2787", - "sourceUnit": "2281", - "src": { - "end": "37088", - "length": "25", - "line": "1036", - "parentIndex": "2787", - "start": "37064" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "UniswapV2Library.sol", - "file": "./UniswapV2Library.sol", - "id": "2817", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "2787", - "sourceUnit": "2281", - "src": { - "end": "37121", - "length": "32", - "line": "1037", - "parentIndex": "2787", - "start": "37090" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "ImmutableState.sol", - "file": "./ImmutableState.sol", - "id": "2818", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "2787", - "sourceUnit": "2281", - "src": { - "end": "37152", - "length": "30", - "line": "1038", - "parentIndex": "2787", - "start": "37123" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", - "value": { - "baseContracts": [ - { - "baseName": { - "id": "2821", - "name": "ImmutableState", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "948", - "src": { - "column": "40", - "end": "37313", - "length": "14", - "line": "1042", - "parentIndex": "2819", - "start": "37300" - } - }, - "id": "2820", - "nodeType": "INHERITANCE_SPECIFIER", - "src": { - "column": "40", - "end": "37313", - "length": "14", - "line": "1042", - "parentIndex": "2819", - "start": "37300" - } - } - ], - "contractDependencies": [ - "948", - "2816", - "2817", - "2818" - ], - "fullyImplemented": true, - "id": "2819", - "kind": "KIND_CONTRACT", - "linearizedBaseContracts": [ - "948", - "2819", - "2816", - "2817", - "2818" - ], - "name": "SushiLegacyAdapter", - "nameLocation": { - "column": "18", - "end": "37295", - "length": "18", - "line": "1042", - "parentIndex": "2819", - "start": "37278" - }, - "nodeType": "CONTRACT_DEFINITION", - "nodes": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", - "value": { - "id": "2823", - "libraryName": { - "id": "2824", - "name": "SafeERC20", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1373", - "src": { - "end": "37335", - "length": "9", - "line": "1043", - "parentIndex": "2823", - "start": "37327" - } - }, - "name": "SafeERC20", - "nodeType": "USING_FOR_DIRECTIVE", - "src": { - "end": "37347", - "length": "27", - "line": "1043", - "parentIndex": "2819", - "start": "37321" - }, - "typeName": { - "id": "2825", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "2826", - "name": "IERC20", - "nameLocation": { - "column": "24", - "end": "37346", - "length": "6", - "line": "1043", - "parentIndex": "2825", - "start": "37341" - }, - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1089", - "src": { - "column": "24", - "end": "37346", - "length": "6", - "line": "1043", - "parentIndex": "2825", - "start": "37341" - } - }, - "referencedDeclaration": "1089", - "src": { - "column": "24", - "end": "37346", - "length": "6", - "line": "1043", - "parentIndex": "2823", - "start": "37341" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" - } - } - } }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2843", + "id": "2741", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "43", - "end": "38294", - "length": "731", - "line": "1051", - "parentIndex": "2828", - "start": "37564" + "column": "48", + "end": "39191", + "length": "444", + "line": "1071", + "parentIndex": "2730", + "start": "38748" }, "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2744", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2745", + "name": "amountIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2745", + "src": { + "column": "16", + "end": "38773", + "length": "8", + "line": "1072", + "parentIndex": "2744", + "start": "38766" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2746", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "27", + "end": "38777", + "length": "1", + "line": "1072", + "parentIndex": "2744", + "start": "38777" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "16", + "end": "38777", + "length": "12", + "line": "1072", + "parentIndex": "2742", + "start": "38766" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54", + "id": "2747", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "30", + "end": "38824", + "length": "45", + "line": "1072", + "parentIndex": "2742", + "start": "38780" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" + }, + "value": "UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2743", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "38764", + "length": "7", + "line": "1072", + "parentIndex": "2742", + "start": "38758" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2742", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "38825", + "length": "68", + "line": "1072", + "parentIndex": "2741", + "start": "38758" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AndOperation", + "value": { + "expressions": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2752", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2753", + "name": "reserveIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2753", + "src": { + "column": "12", + "end": "38865", + "length": "9", + "line": "1074", + "parentIndex": "2752", + "start": "38857" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2754", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "24", + "end": "38869", + "length": "1", + "line": "1074", + "parentIndex": "2752", + "start": "38869" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "12", + "end": "38869", + "length": "13", + "line": "1074", + "parentIndex": "2751", + "start": "38857" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2755", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2756", + "name": "reserveOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2756", + "src": { + "column": "29", + "end": "38883", + "length": "10", + "line": "1074", + "parentIndex": "2755", + "start": "38874" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2757", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "42", + "end": "38887", + "length": "1", + "line": "1074", + "parentIndex": "2755", + "start": "38887" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "29", + "end": "38887", + "length": "14", + "line": "1074", + "parentIndex": "2751", + "start": "38874" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + ], + "id": "2751", + "nodeType": "AND_OPERATION", + "src": { + "column": "12", + "end": "38887", + "length": "31", + "line": "1074", + "parentIndex": "2748", + "start": "38857" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", + "id": "2758", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "12", + "end": "38943", + "length": "42", + "line": "1075", + "parentIndex": "2748", + "start": "38902" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + }, + "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2749", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "38842", + "length": "7", + "line": "1073", + "parentIndex": "2748", + "start": "38836" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2748", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "38953", + "length": "118", + "line": "1073", + "parentIndex": "2741", + "start": "38836" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" + } + } + }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2845" + "2760" ], "declarations": [ { - "id": "2845", + "id": "2760", "mutability": "MUTABLE", - "name": "amounts", + "name": "amountInWithFee", "nameLocation": { - "column": "25", - "end": "37597", - "length": "7", - "line": "1052", - "parentIndex": "2845", - "start": "37591" + "column": "16", + "end": "38986", + "length": "15", + "line": "1077", + "parentIndex": "2760", + "start": "38972" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2843", + "scope": "2741", "src": { "column": "8", - "end": "37597", - "length": "24", - "line": "1052", - "parentIndex": "2844", - "start": "37574" + "end": "38986", + "length": "23", + "line": "1077", + "parentIndex": "2759", + "start": "38964" }, - "storageLocation": "MEMORY", + "storageLocation": "DEFAULT", "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { - "id": "2846", + "id": "2761", "name": "uint256", - "nodeType": "IDENTIFIER", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "37580", + "end": "38970", "length": "7", - "line": "1052", - "parentIndex": "2845", - "start": "37574" + "line": "1077", + "parentIndex": "2760", + "start": "38964" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -50183,138 +48859,365 @@ "visibility": "INTERNAL" } ], - "id": "2844", + "id": "2759", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_function_$_t_function_$$$_t_uint256$$_t_address$", - "typeString": "function(function(),uint256,address)" + "typeIdentifier": "t_rational_997_by_1", + "typeString": "int_const 997" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2850", - "name": "factory", - "nodeType": "IDENTIFIER", + "hexValue": "393937", + "id": "2765", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "12", - "end": "37651", - "length": "7", - "line": "1053", - "parentIndex": "2847", - "start": "37645" + "column": "47", + "end": "39005", + "length": "3", + "line": "1077", + "parentIndex": "2762", + "start": "39003" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_rational_997_by_1", + "typeString": "int_const 997" + }, + "value": "997" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2764", + "name": "amountIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2764", + "src": { + "column": "34", + "end": "38997", + "length": "8", + "line": "1077", + "parentIndex": "2763", + "start": "38990" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } + }, + "id": "2763", + "memberLocation": { + "column": "43", + "end": "39001", + "length": "3", + "line": "1077", + "parentIndex": "2763", + "start": "38999" + }, + "memberName": "mul", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "34", + "end": "39001", + "length": "12", + "line": "1077", + "parentIndex": "2762", + "start": "38990" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } + } + }, + "id": "2762", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "34", + "end": "39006", + "length": "17", + "line": "1077", + "parentIndex": "2759", + "start": "38990" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_997_by_1$", + "typeString": "function(int_const 997)" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "39007", + "length": "44", + "line": "1077", + "parentIndex": "2741", + "start": "38964" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "2767" + ], + "declarations": [ + { + "id": "2767", + "mutability": "MUTABLE", + "name": "numerator", + "nameLocation": { + "column": "16", + "end": "39033", + "length": "9", + "line": "1078", + "parentIndex": "2767", + "start": "39025" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2741", + "src": { + "column": "8", + "end": "39033", + "length": "17", + "line": "1078", + "parentIndex": "2766", + "start": "39017" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2768", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "39023", + "length": "7", + "line": "1078", + "parentIndex": "2767", + "start": "39017" }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "2766", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - ], - "id": "2851", - "name": "amountIn", + "id": "2772", + "name": "reserveOut", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2851", + "referencedDeclaration": "2772", "src": { - "column": "12", - "end": "37673", - "length": "8", - "line": "1054", - "parentIndex": "2847", - "start": "37666" + "column": "48", + "end": "39066", + "length": "10", + "line": "1078", + "parentIndex": "2769", + "start": "39057" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2771", + "name": "amountInWithFee", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2759", + "src": { + "column": "28", + "end": "39051", + "length": "15", + "line": "1078", + "parentIndex": "2770", + "start": "39037" }, - { + "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - ], - "id": "2852", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2852", - "src": { - "column": "12", - "end": "37691", - "length": "4", - "line": "1055", - "parentIndex": "2847", - "start": "37688" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" } + }, + "id": "2770", + "memberLocation": { + "column": "44", + "end": "39055", + "length": "3", + "line": "1078", + "parentIndex": "2770", + "start": "39053" + }, + "memberName": "mul", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "28", + "end": "39055", + "length": "19", + "line": "1078", + "parentIndex": "2769", + "start": "39037" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } + } + }, + "id": "2769", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "28", + "end": "39067", + "length": "31", + "line": "1078", + "parentIndex": "2766", + "start": "39037" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "39068", + "length": "52", + "line": "1078", + "parentIndex": "2741", + "start": "39017" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "2774" + ], + "declarations": [ + { + "id": "2774", + "mutability": "MUTABLE", + "name": "denominator", + "nameLocation": { + "column": "16", + "end": "39096", + "length": "11", + "line": "1079", + "parentIndex": "2774", + "start": "39086" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2741", + "src": { + "column": "8", + "end": "39096", + "length": "19", + "line": "1079", + "parentIndex": "2773", + "start": "39078" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2775", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "39084", + "length": "7", + "line": "1079", + "parentIndex": "2774", + "start": "39078" }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "2773", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2853", - "name": "pairCodeHash", + "id": "2782", + "name": "amountInWithFee", "nodeType": "IDENTIFIER", + "referencedDeclaration": "2759", "src": { - "column": "12", - "end": "37717", - "length": "12", - "line": "1056", - "parentIndex": "2847", - "start": "37706" + "column": "54", + "end": "39138", + "length": "15", + "line": "1079", + "parentIndex": "2776", + "start": "39124" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$$$_t_uint256$$_t_address$", - "typeString": "function(function(),uint256,address)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } } @@ -50323,76 +49226,155 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "id": "2849", - "name": "UniswapV2Library", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2281", + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31303030", + "id": "2781", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "44", + "end": "39117", + "length": "4", + "line": "1079", + "parentIndex": "2778", + "start": "39114" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2780", + "name": "reserveIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2780", + "src": { + "column": "30", + "end": "39108", + "length": "9", + "line": "1079", + "parentIndex": "2779", + "start": "39100" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2779", + "memberLocation": { + "column": "40", + "end": "39112", + "length": "3", + "line": "1079", + "parentIndex": "2779", + "start": "39110" + }, + "memberName": "mul", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "30", + "end": "39112", + "length": "13", + "line": "1079", + "parentIndex": "2778", + "start": "39100" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2778", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "35", - "end": "37616", - "length": "16", - "line": "1052", - "parentIndex": "2848", - "start": "37601" + "column": "30", + "end": "39118", + "length": "19", + "line": "1079", + "parentIndex": "2777", + "start": "39100" }, "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" + "typeIdentifier": "t_function_$_t_rational_1000_by_1$", + "typeString": "function(int_const 1000)" } } }, - "id": "2848", + "id": "2777", "memberLocation": { - "column": "52", - "end": "37630", - "length": "13", - "line": "1052", - "parentIndex": "2848", - "start": "37618" + "column": "50", + "end": "39122", + "length": "3", + "line": "1079", + "parentIndex": "2777", + "start": "39120" }, - "memberName": "getAmountsOut", + "memberName": "add", "nodeType": "MEMBER_ACCESS", "src": { - "column": "35", - "end": "37630", - "length": "30", - "line": "1052", - "parentIndex": "2847", - "start": "37601" + "column": "30", + "end": "39122", + "length": "23", + "line": "1079", + "parentIndex": "2776", + "start": "39100" }, "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" + "typeIdentifier": "t_function_$_t_rational_1000_by_1$", + "typeString": "function(int_const 1000)" } } }, - "id": "2847", + "id": "2776", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { - "column": "35", - "end": "37727", - "length": "127", - "line": "1052", - "parentIndex": "2844", - "start": "37601" + "column": "30", + "end": "39139", + "length": "40", + "line": "1079", + "parentIndex": "2773", + "start": "39100" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_uint256$_t_address$_t_function_$_t_function_$_t_uint256$_t_address$", - "typeString": "function(function(),uint256,address,function(function(),uint256,address))" + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" } } }, "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "37728", - "length": "155", - "line": "1052", - "parentIndex": "2843", - "start": "37574" + "end": "39140", + "length": "63", + "line": "1079", + "parentIndex": "2741", + "start": "39078" } } }, @@ -50402,21 +49384,21 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "2855", + "id": "2784", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2856", + "id": "2785", "name": "amountOut", "nodeType": "IDENTIFIER", "referencedDeclaration": "646", "src": { "column": "8", - "end": "37746", + "end": "39158", "length": "9", - "line": "1058", - "parentIndex": "2855", - "start": "37738" + "line": "1080", + "parentIndex": "2784", + "start": "39150" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -50427,93 +49409,23 @@ "nodeType": "ASSIGNMENT", "operator": "EQUAL", "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "id": "2786", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2859", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2861", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2844", - "src": { - "column": "28", - "end": "37764", - "length": "7", - "line": "1058", - "parentIndex": "2860", - "start": "37758" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2860", - "memberLocation": { - "column": "36", - "end": "37771", - "length": "6", - "line": "1058", - "parentIndex": "2860", - "start": "37766" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "28", - "end": "37771", - "length": "14", - "line": "1058", - "parentIndex": "2859", - "start": "37758" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31", - "id": "2862", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "45", - "end": "37775", - "length": "1", - "line": "1058", - "parentIndex": "2859", - "start": "37775" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - }, + "id": "2787", + "name": "numerator", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2766", "src": { - "column": "28", - "end": "37775", - "length": "18", - "line": "1058", - "parentIndex": "2857", - "start": "37758" + "column": "20", + "end": "39170", + "length": "9", + "line": "1080", + "parentIndex": "2786", + "start": "39162" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -50521,21 +49433,22 @@ } } }, - "id": "2857", - "indexExpression": { + "nodeType": "BINARY_OPERATION", + "operator": "DIVISION", + "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2858", - "name": "amounts", + "id": "2788", + "name": "denominator", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2844", + "referencedDeclaration": "2773", "src": { - "column": "20", - "end": "37756", - "length": "7", - "line": "1058", - "parentIndex": "2857", - "start": "37750" + "column": "32", + "end": "39184", + "length": "11", + "line": "1080", + "parentIndex": "2786", + "start": "39174" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -50543,38 +49456,27 @@ } } }, - "nodeType": "INDEX_ACCESS", "src": { "column": "20", - "end": "37776", - "length": "27", - "line": "1058", - "parentIndex": "2855", - "start": "37750" + "end": "39184", + "length": "23", + "line": "1080", + "parentIndex": "2784", + "start": "39162" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } }, "src": { "column": "8", - "end": "37776", - "length": "39", - "line": "1058", - "parentIndex": "2854", - "start": "37738" + "end": "39184", + "length": "35", + "line": "1080", + "parentIndex": "2783", + "start": "39150" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -50582,22 +49484,251 @@ } } }, - "id": "2854", + "id": "2783", "nodeType": "ASSIGNMENT", "src": { "column": "8", - "end": "37777", - "length": "40", - "line": "1058", - "parentIndex": "2843", - "start": "37738" + "end": "39185", + "length": "36", + "line": "1080", + "parentIndex": "2741", + "start": "39150" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } + } + ] + }, + "id": "2730", + "implemented": true, + "kind": "KIND_FUNCTION", + "name": "getAmountOut", + "nameLocation": { + "column": "13", + "end": "38617", + "length": "12", + "line": "1067", + "parentIndex": "2730", + "start": "38606" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2731", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2732", + "name": "amountIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2732", + "src": { + "column": "8", + "end": "38643", + "length": "16", + "line": "1068", + "parentIndex": "2731", + "start": "38628" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2733", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "38634", + "length": "7", + "line": "1068", + "parentIndex": "2732", + "start": "38628" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2734", + "name": "reserveIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2734", + "src": { + "column": "8", + "end": "38670", + "length": "17", + "line": "1069", + "parentIndex": "2731", + "start": "38654" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2735", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "38660", + "length": "7", + "line": "1069", + "parentIndex": "2734", + "start": "38654" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" }, + { + "id": "2736", + "name": "reserveOut", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2736", + "src": { + "column": "8", + "end": "38698", + "length": "18", + "line": "1070", + "parentIndex": "2731", + "start": "38681" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2737", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "38687", + "length": "7", + "line": "1070", + "parentIndex": "2736", + "start": "38681" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "38698", + "length": "71", + "line": "1068", + "parentIndex": "2730", + "start": "38628" + } + }, + "returnParameters": { + "id": "2738", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2739", + "name": "amountOut", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2739", + "src": { + "column": "29", + "end": "38745", + "length": "17", + "line": "1071", + "parentIndex": "2738", + "start": "38729" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2740", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "29", + "end": "38735", + "length": "7", + "line": "1071", + "parentIndex": "2739", + "start": "38729" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "29", + "end": "38745", + "length": "17", + "line": "1071", + "parentIndex": "2730", + "start": "38729" + } + }, + "scope": "2535", + "signature": "054d50d4", + "src": { + "column": "4", + "end": "39191", + "length": "595", + "line": "1067", + "parentIndex": "2535", + "start": "38597" + }, + "stateMutability": "PURE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", + "typeString": "function(uint256,uint256,uint256)" + }, + "visibility": "INTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2801", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "47", + "end": "39857", + "length": "398", + "line": "1088", + "parentIndex": "2790", + "start": "39460" + }, + "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -50608,28 +49739,28 @@ }, { "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"insufficient-amount-out\"" + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2865", + "id": "2804", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2866", + "id": "2805", "name": "amountOut", "nodeType": "IDENTIFIER", - "referencedDeclaration": "646", + "referencedDeclaration": "2805", "src": { "column": "16", - "end": "37804", + "end": "39486", "length": "9", - "line": "1060", - "parentIndex": "2865", - "start": "37796" + "line": "1089", + "parentIndex": "2804", + "start": "39478" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -50638,35 +49769,37 @@ } }, "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN_OR_EQUAL", + "operator": "GREATER_THAN", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2867", - "name": "amountOutMin", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2867", + "hexValue": "30", + "id": "2806", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "29", - "end": "37820", - "length": "12", - "line": "1060", - "parentIndex": "2865", - "start": "37809" + "column": "28", + "end": "39490", + "length": "1", + "line": "1089", + "parentIndex": "2804", + "start": "39490" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } }, "src": { "column": "16", - "end": "37820", - "length": "25", - "line": "1060", - "parentIndex": "2863", - "start": "37796" + "end": "39490", + "length": "13", + "line": "1089", + "parentIndex": "2802", + "start": "39478" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -50683,41 +49816,41 @@ "typeString": "bool" } ], - "hexValue": "696e73756666696369656e742d616d6f756e742d6f7574", - "id": "2868", + "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54", + "id": "2807", "isPure": true, "kind": "STRING", "nodeType": "LITERAL", "src": { - "column": "43", - "end": "37847", - "length": "25", - "line": "1060", - "parentIndex": "2863", - "start": "37823" + "column": "31", + "end": "39538", + "length": "46", + "line": "1089", + "parentIndex": "2802", + "start": "39493" }, "typeDescription": { "typeIdentifier": "t_string_literal", - "typeString": "literal_string \"insufficient-amount-out\"" + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" }, - "value": "insufficient-amount-out" + "value": "UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT" } } ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2864", + "id": "2803", "isPure": true, "name": "require", "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "37794", + "end": "39476", "length": "7", - "line": "1060", - "parentIndex": "2863", - "start": "37788" + "line": "1089", + "parentIndex": "2802", + "start": "39470" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -50725,16 +49858,16 @@ } } }, - "id": "2863", + "id": "2802", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "8", - "end": "37848", - "length": "61", - "line": "1060", - "parentIndex": "2843", - "start": "37788" + "end": "39539", + "length": "70", + "line": "1089", + "parentIndex": "2801", + "start": "39470" }, "typeDescription": { "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", @@ -50743,591 +49876,789 @@ } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "body": { - "id": "2871", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "24", - "end": "38254", - "length": "306", - "line": "1063", - "parentIndex": "2828", - "start": "37949" + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", - "typeString": "function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1]))" - }, - { - "typeIdentifier": "t_function_$_t_function_$_t_address$", - "typeString": "function(function(address))" + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.AndOperation", + "value": { + "expressions": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2812", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2813", + "name": "reserveIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2813", + "src": { + "column": "12", + "end": "39579", + "length": "9", + "line": "1091", + "parentIndex": "2812", + "start": "39571" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2814", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "24", + "end": "39583", + "length": "1", + "line": "1091", + "parentIndex": "2812", + "start": "39583" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "12", + "end": "39583", + "length": "13", + "line": "1091", + "parentIndex": "2811", + "start": "39571" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2815", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2816", + "name": "reserveOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2816", + "src": { + "column": "29", + "end": "39597", + "length": "10", + "line": "1091", + "parentIndex": "2815", + "start": "39588" }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "index[address:int_const 0]" + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2817", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "42", + "end": "39601", + "length": "1", + "line": "1091", + "parentIndex": "2815", + "start": "39601" }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", - "typeString": "index[address:int_const 1]" + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - { - "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_rational_0_by_1]$$$_t_[_[$_t_address]$_t_rational_1_by_1]$$", - "typeString": "function(function(),index[address:int_const 0],index[address:int_const 1])" + "value": "0" + } + }, + "src": { + "column": "29", + "end": "39601", + "length": "14", + "line": "1091", + "parentIndex": "2811", + "start": "39588" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + ], + "id": "2811", + "nodeType": "AND_OPERATION", + "src": { + "column": "12", + "end": "39601", + "length": "31", + "line": "1091", + "parentIndex": "2808", + "start": "39571" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", + "id": "2818", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "12", + "end": "39657", + "length": "42", + "line": "1092", + "parentIndex": "2808", + "start": "39616" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" + }, + "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2809", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "39556", + "length": "7", + "line": "1090", + "parentIndex": "2808", + "start": "39550" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2808", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "39667", + "length": "118", + "line": "1090", + "parentIndex": "2801", + "start": "39550" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "2820" + ], + "declarations": [ + { + "id": "2820", + "mutability": "MUTABLE", + "name": "numerator", + "nameLocation": { + "column": "16", + "end": "39694", + "length": "9", + "line": "1094", + "parentIndex": "2820", + "start": "39686" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2801", + "src": { + "column": "8", + "end": "39694", + "length": "17", + "line": "1094", + "parentIndex": "2819", + "start": "39678" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2821", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "39684", + "length": "7", + "line": "1094", + "parentIndex": "2820", + "start": "39678" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "2819", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31303030", + "id": "2828", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "57", + "end": "39730", + "length": "4", + "line": "1094", + "parentIndex": "2822", + "start": "39727" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2827", + "name": "amountOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2827", + "src": { + "column": "42", + "end": "39720", + "length": "9", + "line": "1094", + "parentIndex": "2824", + "start": "39712" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - ], - "arguments": [ - { + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2882", - "name": "factory", + "id": "2826", + "name": "reserveIn", "nodeType": "IDENTIFIER", + "referencedDeclaration": "2826", "src": { - "column": "20", - "end": "38061", - "length": "7", - "line": "1066", - "parentIndex": "2879", - "start": "38055" + "column": "28", + "end": "39706", + "length": "9", + "line": "1094", + "parentIndex": "2825", + "start": "39698" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2885", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "25", - "end": "38089", - "length": "1", - "line": "1067", - "parentIndex": "2883", - "start": "38089" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "id": "2883", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2884", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2884", - "src": { - "column": "20", - "end": "38087", - "length": "4", - "line": "1067", - "parentIndex": "2883", - "start": "38084" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "20", - "end": "38090", - "length": "7", - "line": "1067", - "parentIndex": "2879", - "start": "38084" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "index[address:int_const 0]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ] - } + "id": "2825", + "memberLocation": { + "column": "38", + "end": "39710", + "length": "3", + "line": "1094", + "parentIndex": "2825", + "start": "39708" }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31", - "id": "2888", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "25", - "end": "38118", - "length": "1", - "line": "1068", - "parentIndex": "2886", - "start": "38118" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - }, - "id": "2886", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2887", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2887", - "src": { - "column": "20", - "end": "38116", - "length": "4", - "line": "1068", - "parentIndex": "2886", - "start": "38113" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "20", - "end": "38119", - "length": "7", - "line": "1068", - "parentIndex": "2879", - "start": "38113" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", - "typeString": "index[address:int_const 1]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ] - } + "memberName": "mul", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "28", + "end": "39710", + "length": "13", + "line": "1094", + "parentIndex": "2824", + "start": "39698" }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "index[address:int_const 0]" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", - "typeString": "index[address:int_const 1]" - } - ], - "id": "2889", - "name": "pairCodeHash", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "38153", - "length": "12", - "line": "1069", - "parentIndex": "2879", - "start": "38142" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_rational_0_by_1]$$$_t_[_[$_t_address]$_t_rational_1_by_1]$$", - "typeString": "function(function(),index[address:int_const 0],index[address:int_const 1])" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2881", - "name": "UniswapV2Library", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2281", - "src": { - "column": "16", - "end": "38024", - "length": "16", - "line": "1065", - "parentIndex": "2880", - "start": "38009" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" - } - } - }, - "id": "2880", - "memberLocation": { - "column": "33", - "end": "38032", - "length": "7", - "line": "1065", - "parentIndex": "2880", - "start": "38026" - }, - "memberName": "pairFor", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "38032", - "length": "24", - "line": "1065", - "parentIndex": "2879", - "start": "38009" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" - } + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": "2879", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "38171", - "length": "163", - "line": "1065", - "parentIndex": "2872", - "start": "38009" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", - "typeString": "function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1]))" } + }, + "id": "2824", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "28", + "end": "39721", + "length": "24", + "line": "1094", + "parentIndex": "2823", + "start": "39698" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" } + } + }, + "id": "2823", + "memberLocation": { + "column": "53", + "end": "39725", + "length": "3", + "line": "1094", + "parentIndex": "2823", + "start": "39723" + }, + "memberName": "mul", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "28", + "end": "39725", + "length": "28", + "line": "1094", + "parentIndex": "2822", + "start": "39698" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + } + } + }, + "id": "2822", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "28", + "end": "39731", + "length": "34", + "line": "1094", + "parentIndex": "2819", + "start": "39698" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_1000_by_1$", + "typeString": "function(int_const 1000)" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "39732", + "length": "55", + "line": "1094", + "parentIndex": "2801", + "start": "39678" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "2830" + ], + "declarations": [ + { + "id": "2830", + "mutability": "MUTABLE", + "name": "denominator", + "nameLocation": { + "column": "16", + "end": "39760", + "length": "11", + "line": "1095", + "parentIndex": "2830", + "start": "39750" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2801", + "src": { + "column": "8", + "end": "39760", + "length": "19", + "line": "1095", + "parentIndex": "2829", + "start": "39742" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2831", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "39748", + "length": "7", + "line": "1095", + "parentIndex": "2830", + "start": "39742" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "2829", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_997_by_1", + "typeString": "int_const 997" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "393937", + "id": "2838", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "60", + "end": "39796", + "length": "3", + "line": "1095", + "parentIndex": "2832", + "start": "39794" }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_SushiLegacyAdapter_$2787", - "typeString": "contract SushiLegacyAdapter" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2900", - "name": "this", - "nodeType": "IDENTIFIER", - "src": { - "column": "50", - "end": "38227", - "length": "4", - "line": "1071", - "parentIndex": "2897", - "start": "38224" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_SushiLegacyAdapter_$2787", - "typeString": "contract SushiLegacyAdapter" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2898", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "42", - "end": "38222", - "length": "7", - "line": "1071", - "parentIndex": "2897", - "start": "38216" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "2899", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "42", - "end": "38222", - "length": "7", - "line": "1071", - "parentIndex": "2898", - "start": "38216" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "2897", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "42", - "end": "38228", - "length": "13", - "line": "1071", - "parentIndex": "2890", - "start": "38216" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "index[address:int_const 0]" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2896", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "28", - "end": "38202", - "length": "1", - "line": "1071", - "parentIndex": "2894", - "start": "38202" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "id": "2894", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2895", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2895", - "src": { - "column": "23", - "end": "38200", - "length": "4", - "line": "1071", - "parentIndex": "2894", - "start": "38197" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "23", - "end": "38203", - "length": "7", - "line": "1071", - "parentIndex": "2892", - "start": "38197" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "index[address:int_const 0]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ] - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2893", - "name": "IERC20", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "38195", - "length": "6", - "line": "1071", - "parentIndex": "2892", - "start": "38190" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2892", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "38204", - "length": "15", - "line": "1071", - "parentIndex": "2891", - "start": "38190" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "function(index[address:int_const 0])" - } - } - }, - "id": "2891", - "memberLocation": { - "column": "32", - "end": "38214", - "length": "9", - "line": "1071", - "parentIndex": "2891", - "start": "38206" - }, - "memberName": "balanceOf", - "nodeType": "MEMBER_ACCESS", + "typeDescription": { + "typeIdentifier": "t_rational_997_by_1", + "typeString": "int_const 997" + }, + "value": "997" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2837", + "name": "amountOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2837", "src": { - "column": "16", - "end": "38214", - "length": "25", - "line": "1071", - "parentIndex": "2890", - "start": "38190" + "column": "45", + "end": "39787", + "length": "9", + "line": "1095", + "parentIndex": "2834", + "start": "39779" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "function(index[address:int_const 0])" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } - }, - "id": "2890", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2836", + "name": "reserveOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2836", + "src": { + "column": "30", + "end": "39773", + "length": "10", + "line": "1095", + "parentIndex": "2835", + "start": "39764" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2835", + "memberLocation": { + "column": "41", + "end": "39777", + "length": "3", + "line": "1095", + "parentIndex": "2835", + "start": "39775" + }, + "memberName": "sub", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "30", + "end": "39777", + "length": "14", + "line": "1095", + "parentIndex": "2834", + "start": "39764" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2834", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "30", + "end": "39788", + "length": "25", + "line": "1095", + "parentIndex": "2833", + "start": "39764" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + } + } + }, + "id": "2833", + "memberLocation": { + "column": "56", + "end": "39792", + "length": "3", + "line": "1095", + "parentIndex": "2833", + "start": "39790" + }, + "memberName": "mul", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "30", + "end": "39792", + "length": "29", + "line": "1095", + "parentIndex": "2832", + "start": "39764" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + } + } + }, + "id": "2832", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "30", + "end": "39797", + "length": "34", + "line": "1095", + "parentIndex": "2829", + "start": "39764" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_997_by_1$", + "typeString": "function(int_const 997)" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "39798", + "length": "57", + "line": "1095", + "parentIndex": "2801", + "start": "39742" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2840", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2841", + "name": "amountIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1363", + "src": { + "column": "8", + "end": "39815", + "length": "8", + "line": "1096", + "parentIndex": "2840", + "start": "39808" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "2848", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "16", - "end": "38229", - "length": "40", - "line": "1071", - "parentIndex": "2872", - "start": "38190" + "column": "49", + "end": "39849", + "length": "1", + "line": "1096", + "parentIndex": "2842", + "start": "39849" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_address$", - "typeString": "function(function(address))" - } + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" } } ], @@ -51335,368 +50666,191 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "index[address:int_const 0]" - } - ], - "arguments": [ + "components": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "baseExpression": { + "id": "2845", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "30", - "id": "2878", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "id": "2846", + "name": "numerator", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2819", "src": { - "column": "24", - "end": "37975", - "length": "1", - "line": "1064", - "parentIndex": "2876", - "start": "37975" + "column": "20", + "end": "39828", + "length": "9", + "line": "1096", + "parentIndex": "2845", + "start": "39820" }, "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } }, - "id": "2876", - "indexExpression": { + "nodeType": "BINARY_OPERATION", + "operator": "DIVISION", + "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2877", - "name": "path", + "id": "2847", + "name": "denominator", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2877", + "referencedDeclaration": "2829", "src": { - "column": "19", - "end": "37973", - "length": "4", - "line": "1064", - "parentIndex": "2876", - "start": "37970" + "column": "32", + "end": "39842", + "length": "11", + "line": "1096", + "parentIndex": "2845", + "start": "39832" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "nodeType": "INDEX_ACCESS", "src": { - "column": "19", - "end": "37976", - "length": "7", - "line": "1064", - "parentIndex": "2874", - "start": "37970" + "column": "20", + "end": "39842", + "length": "23", + "line": "1096", + "parentIndex": "2844", + "start": "39820" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "index[address:int_const 0]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ] + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } } ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2875", - "name": "IERC20", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "37968", - "length": "6", - "line": "1064", - "parentIndex": "2874", - "start": "37963" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "2874", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "2844", + "nodeType": "TUPLE_EXPRESSION", "src": { - "column": "12", - "end": "37977", - "length": "15", - "line": "1064", - "parentIndex": "2873", - "start": "37963" + "column": "19", + "end": "39843", + "length": "25", + "line": "1096", + "parentIndex": "2843", + "start": "39819" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "function(index[address:int_const 0])" + "typeIdentifier": "t_tuple_$_t_uint256$", + "typeString": "tuple(uint256)" } } }, - "id": "2873", + "id": "2843", "memberLocation": { - "column": "28", - "end": "37990", - "length": "12", - "line": "1064", - "parentIndex": "2873", - "start": "37979" + "column": "45", + "end": "39847", + "length": "3", + "line": "1096", + "parentIndex": "2843", + "start": "39845" }, - "memberName": "safeTransfer", + "memberName": "add", "nodeType": "MEMBER_ACCESS", "src": { - "column": "12", - "end": "37990", - "length": "28", - "line": "1064", - "parentIndex": "2872", - "start": "37963" + "column": "19", + "end": "39847", + "length": "29", + "line": "1096", + "parentIndex": "2842", + "start": "39819" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", - "typeString": "function(index[address:int_const 0])" + "typeIdentifier": "t_tuple_$_t_uint256$", + "typeString": "tuple(uint256)" } } }, - "id": "2872", + "id": "2842", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { - "column": "12", - "end": "38243", - "length": "281", - "line": "1064", - "parentIndex": "2871", - "start": "37963" + "column": "19", + "end": "39850", + "length": "32", + "line": "1096", + "parentIndex": "2840", + "start": "39819" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_address$", - "typeString": "function(function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1])),function(function(address)))" + "typeIdentifier": "t_function_$_t_rational_1_by_1$", + "typeString": "function(int_const 1)" } } - } - ] - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2870", - "name": "sendTokens", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2870", - "src": { - "column": "12", - "end": "37946", - "length": "10", - "line": "1063", - "parentIndex": "2869", - "start": "37937" }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "2869", - "nodeType": "IF_STATEMENT", - "src": { - "end": "38254", - "length": "322", - "line": "1063", - "parentIndex": "2843", - "start": "37933" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2903", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2844", - "src": { - "column": "14", - "end": "38276", - "length": "7", - "line": "1074", - "parentIndex": "2901", - "start": "38270" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "2904", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2904", - "src": { - "column": "23", - "end": "38282", - "length": "4", - "line": "1074", - "parentIndex": "2901", - "start": "38279" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2905", - "name": "to", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2905", - "src": { - "column": "29", - "end": "38286", - "length": "2", - "line": "1074", - "parentIndex": "2901", - "start": "38285" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2902", - "name": "_swap", - "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "38268", - "length": "5", - "line": "1074", - "parentIndex": "2901", - "start": "38264" + "end": "39850", + "length": "43", + "line": "1096", + "parentIndex": "2839", + "start": "39808" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "2901", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "2839", + "nodeType": "ASSIGNMENT", "src": { "column": "8", - "end": "38287", - "length": "24", - "line": "1074", - "parentIndex": "2843", - "start": "38264" + "end": "39851", + "length": "44", + "line": "1096", + "parentIndex": "2801", + "start": "39808" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_address$_t_address$", - "typeString": "function(uint256,address,address)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } } ] }, - "id": "2828", + "id": "2790", "implemented": true, "kind": "KIND_FUNCTION", - "name": "_swapExactTokensForTokens", + "name": "getAmountIn", "nameLocation": { "column": "13", - "end": "37387", - "length": "25", - "line": "1045", - "parentIndex": "2828", - "start": "37363" + "end": "39329", + "length": "11", + "line": "1084", + "parentIndex": "2790", + "start": "39319" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "2829", + "id": "2791", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2830", - "name": "amountIn", + "id": "2792", + "name": "amountOut", "nodeType": "VARIABLE_DECLARATION", - "scope": "2830", + "scope": "2792", "src": { "column": "8", - "end": "37413", - "length": "16", - "line": "1046", - "parentIndex": "2829", - "start": "37398" + "end": "39356", + "length": "17", + "line": "1085", + "parentIndex": "2791", + "start": "39340" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -51705,16 +50859,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2831", + "id": "2793", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "37404", + "end": "39346", "length": "7", - "line": "1046", - "parentIndex": "2830", - "start": "37398" + "line": "1085", + "parentIndex": "2792", + "start": "39340" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -51724,17 +50878,17 @@ "visibility": "INTERNAL" }, { - "id": "2832", - "name": "amountOutMin", + "id": "2794", + "name": "reserveIn", "nodeType": "VARIABLE_DECLARATION", - "scope": "2832", + "scope": "2794", "src": { "column": "8", - "end": "37443", - "length": "20", - "line": "1047", - "parentIndex": "2829", - "start": "37424" + "end": "39383", + "length": "17", + "line": "1086", + "parentIndex": "2791", + "start": "39367" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -51743,16 +50897,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2833", + "id": "2795", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "37430", + "end": "39373", "length": "7", - "line": "1047", - "parentIndex": "2832", - "start": "37424" + "line": "1086", + "parentIndex": "2794", + "start": "39367" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -51762,116 +50916,39 @@ "visibility": "INTERNAL" }, { - "id": "2834", - "name": "path", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2834", - "src": { - "column": "8", - "end": "37474", - "length": "21", - "line": "1048", - "parentIndex": "2829", - "start": "37454" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2835", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "37460", - "length": "7", - "line": "1048", - "parentIndex": "2834", - "start": "37454" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2836", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2836", - "src": { - "column": "8", - "end": "37494", - "length": "10", - "line": "1049", - "parentIndex": "2829", - "start": "37485" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2837", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "37491", - "length": "7", - "line": "1049", - "parentIndex": "2836", - "start": "37485" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2838", - "name": "sendTokens", + "id": "2796", + "name": "reserveOut", "nodeType": "VARIABLE_DECLARATION", - "scope": "2838", + "scope": "2796", "src": { "column": "8", - "end": "37519", - "length": "15", - "line": "1050", - "parentIndex": "2829", - "start": "37505" + "end": "39411", + "length": "18", + "line": "1087", + "parentIndex": "2791", + "start": "39394" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "2839", - "name": "bool", + "id": "2797", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "37508", - "length": "4", - "line": "1050", - "parentIndex": "2838", - "start": "37505" + "end": "39400", + "length": "7", + "line": "1087", + "parentIndex": "2796", + "start": "39394" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" @@ -51879,29 +50956,29 @@ ], "src": { "column": "8", - "end": "37519", - "length": "122", - "line": "1046", - "parentIndex": "2828", - "start": "37398" + "end": "39411", + "length": "72", + "line": "1085", + "parentIndex": "2790", + "start": "39340" } }, "returnParameters": { - "id": "2840", + "id": "2798", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "2841", - "name": "amountOut", + "id": "2799", + "name": "amountIn", "nodeType": "VARIABLE_DECLARATION", - "scope": "2841", + "scope": "2799", "src": { - "column": "24", - "end": "37561", - "length": "17", - "line": "1051", - "parentIndex": "2840", - "start": "37545" + "column": "29", + "end": "39457", + "length": "16", + "line": "1088", + "parentIndex": "2798", + "start": "39442" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -51910,16 +50987,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2842", + "id": "2800", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "24", - "end": "37551", + "column": "29", + "end": "39448", "length": "7", - "line": "1051", - "parentIndex": "2841", - "start": "37545" + "line": "1088", + "parentIndex": "2799", + "start": "39442" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -51930,28 +51007,28 @@ } ], "src": { - "column": "24", - "end": "37561", - "length": "17", - "line": "1051", - "parentIndex": "2828", - "start": "37545" + "column": "29", + "end": "39457", + "length": "16", + "line": "1088", + "parentIndex": "2790", + "start": "39442" } }, - "scope": "2819", - "signature": "017be292", + "scope": "2535", + "signature": "85f8c259", "src": { "column": "4", - "end": "38294", - "length": "941", - "line": "1045", - "parentIndex": "2819", - "start": "37354" + "end": "39857", + "length": "548", + "line": "1084", + "parentIndex": "2535", + "start": "39310" }, - "stateMutability": "NONPAYABLE", + "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_bool$", - "typeString": "function(uint256,uint256,address,address,bool)" + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", + "typeString": "function(uint256,uint256,uint256)" }, "visibility": "INTERNAL" } @@ -51960,1287 +51037,675 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "2916", + "id": "2863", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "23", - "end": "39351", - "length": "842", - "line": "1082", - "parentIndex": "2907", - "start": "38510" + "column": "55", + "end": "40609", + "length": "483", + "line": "1105", + "parentIndex": "2850", + "start": "40127" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "body": { - "id": "2929", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "50", - "end": "39345", - "length": "784", - "line": "1083", - "parentIndex": "2917", - "start": "38562" + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "2931", - "2933" - ], - "declarations": [ - { - "id": "2931", - "mutability": "MUTABLE", - "name": "input", - "nameLocation": { - "column": "21", - "end": "38589", - "length": "5", - "line": "1084", - "parentIndex": "2931", - "start": "38585" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2929", - "src": { - "column": "13", - "end": "38589", - "length": "13", - "line": "1084", - "parentIndex": "2930", - "start": "38577" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2932", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "38583", - "length": "7", - "line": "1084", - "parentIndex": "2931", - "start": "38577" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2933", - "mutability": "MUTABLE", - "name": "output", - "nameLocation": { - "column": "36", - "end": "38605", - "length": "6", - "line": "1084", - "parentIndex": "2933", - "start": "38600" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2929", - "src": { - "column": "28", - "end": "38605", - "length": "14", - "line": "1084", - "parentIndex": "2930", - "start": "38592" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2934", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2866", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2868", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2868", "src": { - "column": "28", - "end": "38598", - "length": "7", - "line": "1084", - "parentIndex": "2933", - "start": "38592" + "column": "16", + "end": "40148", + "length": "4", + "line": "1106", + "parentIndex": "2867", + "start": "40145" }, - "stateMutability": "NONPAYABLE", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" } - }, - "visibility": "INTERNAL" - } - ], - "id": "2930", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2938", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "52", - "end": "38616", - "length": "1", - "line": "1084", - "parentIndex": "2936", - "start": "38616" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2936", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2937", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", - "src": { - "column": "47", - "end": "38614", - "length": "4", - "line": "1084", - "parentIndex": "2936", - "start": "38611" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "47", - "end": "38617", - "length": "7", - "line": "1084", - "parentIndex": "2930", - "start": "38611" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2941", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2942", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "61", - "end": "38625", - "length": "1", - "line": "1084", - "parentIndex": "2941", - "start": "38625" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "ADDITION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31", - "id": "2943", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "65", - "end": "38629", - "length": "1", - "line": "1084", - "parentIndex": "2941", - "start": "38629" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - }, - "src": { - "column": "61", - "end": "38629", - "length": "5", - "line": "1084", - "parentIndex": "2939", - "start": "38625" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2939", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2940", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", - "src": { - "column": "56", - "end": "38623", - "length": "4", - "line": "1084", - "parentIndex": "2939", - "start": "38620" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "56", - "end": "38630", - "length": "11", - "line": "1084", - "parentIndex": "2930", - "start": "38620" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - } - ], - "id": "2935", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "46", - "end": "38631", - "length": "22", - "line": "1084", - "parentIndex": "2917", - "start": "38610" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_[_[$_t_address]$_t_uint256]$_$_t_[_[$_t_address]$_t_uint256]$$", - "typeString": "tuple(index[address:uint256],index[address:uint256])" } + }, + "id": "2867", + "memberLocation": { + "column": "21", + "end": "40155", + "length": "6", + "line": "1106", + "parentIndex": "2867", + "start": "40150" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "40155", + "length": "11", + "line": "1106", + "parentIndex": "2866", + "start": "40145" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "12", - "end": "38632", - "length": "57", - "line": "1084", - "parentIndex": "2929", - "start": "38576" } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN_OR_EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "32", + "id": "2869", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "31", + "end": "40160", + "length": "1", + "line": "1106", + "parentIndex": "2866", + "start": "40160" + }, + "typeDescription": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + }, + "src": { + "column": "16", + "end": "40160", + "length": "16", + "line": "1106", + "parentIndex": "2864", + "start": "40145" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "hexValue": "556e697377617056324c6962726172793a20494e56414c49445f50415448", + "id": "2870", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "34", + "end": "40194", + "length": "32", + "line": "1106", + "parentIndex": "2864", + "start": "40163" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" + }, + "value": "UniswapV2Library: INVALID_PATH" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2865", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "40143", + "length": "7", + "line": "1106", + "parentIndex": "2864", + "start": "40137" }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2864", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "40195", + "length": "59", + "line": "1106", + "parentIndex": "2863", + "start": "40137" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2872", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "assignments": [ - "2945" - ], - "declarations": [ - { - "id": "2945", - "mutability": "MUTABLE", - "name": "token0", - "nameLocation": { - "column": "21", - "end": "38660", - "length": "6", - "line": "1085", - "parentIndex": "2945", - "start": "38655" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2929", - "src": { - "column": "13", - "end": "38660", - "length": "14", - "line": "1085", - "parentIndex": "2944", - "start": "38647" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2946", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "38653", - "length": "7", - "line": "1085", - "parentIndex": "2945", - "start": "38647" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "2944", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2950", - "name": "input", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2930", - "src": { - "column": "61", - "end": "38699", - "length": "5", - "line": "1085", - "parentIndex": "2947", - "start": "38695" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "2951", - "name": "output", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2930", - "src": { - "column": "68", - "end": "38707", - "length": "6", - "line": "1085", - "parentIndex": "2947", - "start": "38702" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2949", - "name": "UniswapV2Library", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2281", - "src": { - "column": "33", - "end": "38682", - "length": "16", - "line": "1085", - "parentIndex": "2948", - "start": "38667" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" - } - } - }, - "id": "2948", - "memberLocation": { - "column": "50", - "end": "38693", - "length": "10", - "line": "1085", - "parentIndex": "2948", - "start": "38684" - }, - "memberName": "sortTokens", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "33", - "end": "38693", - "length": "27", - "line": "1085", - "parentIndex": "2947", - "start": "38667" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" - } - } - }, - "id": "2947", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "33", - "end": "38708", - "length": "42", - "line": "1085", - "parentIndex": "2944", - "start": "38667" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$_t_address$", - "typeString": "function(address,address)" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", + "id": "2873", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2861", "src": { - "column": "12", - "end": "38709", - "length": "64", - "line": "1085", - "parentIndex": "2929", - "start": "38646" + "column": "8", + "end": "40212", + "length": "7", + "line": "1107", + "parentIndex": "2872", + "start": "40206" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "assignments": [ - "2953" - ], - "declarations": [ + "argumentTypes": [ { - "id": "2953", - "mutability": "MUTABLE", - "name": "amountOut", - "nameLocation": { - "column": "20", - "end": "38739", - "length": "9", - "line": "1086", - "parentIndex": "2953", - "start": "38731" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2929", - "src": { - "column": "12", - "end": "38739", - "length": "17", - "line": "1086", - "parentIndex": "2952", - "start": "38723" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2954", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "38729", - "length": "7", - "line": "1086", - "parentIndex": "2953", - "start": "38723" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": "2952", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2957", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2958", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "40", - "end": "38751", - "length": "1", - "line": "1086", - "parentIndex": "2957", - "start": "38751" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "ADDITION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "31", - "id": "2959", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "44", - "end": "38755", - "length": "1", - "line": "1086", - "parentIndex": "2957", - "start": "38755" - }, - "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2878", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2878", + "src": { + "column": "32", + "end": "40233", + "length": "4", + "line": "1107", + "parentIndex": "2877", + "start": "40230" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "src": { - "column": "40", - "end": "38755", - "length": "5", - "line": "1086", - "parentIndex": "2955", - "start": "38751" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2955", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2956", - "name": "amounts", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2635", - "src": { - "column": "32", - "end": "38749", - "length": "7", - "line": "1086", - "parentIndex": "2955", - "start": "38743" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "32", - "end": "38756", - "length": "14", - "line": "1086", - "parentIndex": "2952", - "start": "38743" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", - "typeString": "index[uint256:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "12", - "end": "38757", - "length": "35", - "line": "1086", - "parentIndex": "2929", - "start": "38723" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "2961", - "2963" - ], - "declarations": [ - { - "id": "2961", - "mutability": "MUTABLE", - "name": "amount0Out", - "nameLocation": { - "column": "21", - "end": "38789", - "length": "10", - "line": "1087", - "parentIndex": "2961", - "start": "38780" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2929", - "src": { - "column": "13", - "end": "38789", - "length": "18", - "line": "1087", - "parentIndex": "2960", - "start": "38772" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2962", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "2877", + "memberLocation": { + "column": "37", + "end": "40240", + "length": "6", + "line": "1107", + "parentIndex": "2877", + "start": "40235" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "13", - "end": "38778", - "length": "7", - "line": "1087", - "parentIndex": "2961", - "start": "38772" + "column": "32", + "end": "40240", + "length": "11", + "line": "1107", + "parentIndex": "2874", + "start": "40230" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "visibility": "INTERNAL" - }, - { - "id": "2963", - "mutability": "MUTABLE", - "name": "amount1Out", - "nameLocation": { - "column": "41", - "end": "38809", - "length": "10", - "line": "1087", - "parentIndex": "2963", - "start": "38800" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "2929", + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.NewExpression", + "value": { + "id": "2875", + "nodeType": "NEW_EXPRESSION", "src": { - "column": "33", - "end": "38809", - "length": "18", - "line": "1087", - "parentIndex": "2960", - "start": "38792" + "column": "18", + "end": "40228", + "length": "13", + "line": "1107", + "parentIndex": "2874", + "start": "40216" }, - "storageLocation": "DEFAULT", "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { - "id": "2964", + "id": "2876", "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "IDENTIFIER", "src": { - "column": "33", - "end": "38798", + "column": "22", + "end": "40226", "length": "7", - "line": "1087", - "parentIndex": "2963", - "start": "38792" + "line": "1107", + "parentIndex": "2875", + "start": "40220" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "visibility": "INTERNAL" + } } - ], - "id": "2960", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", - "value": { - "expressions": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "2967", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2968", - "name": "input", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2930", - "src": { - "column": "55", - "end": "38818", - "length": "5", - "line": "1087", - "parentIndex": "2967", - "start": "38814" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2969", - "name": "token0", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2944", - "src": { - "column": "64", - "end": "38828", - "length": "6", - "line": "1087", - "parentIndex": "2967", - "start": "38823" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "src": { - "column": "55", - "end": "38828", - "length": "15", - "line": "1087", - "parentIndex": "2966", - "start": "38814" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2974", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "27", - "end": "38857", - "length": "1", - "line": "1088", - "parentIndex": "2971", - "start": "38857" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "2972", - "name": "uint256", - "nodeType": "IDENTIFIER", - "src": { - "column": "19", - "end": "38855", - "length": "7", - "line": "1088", - "parentIndex": "2971", - "start": "38849" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "typeName": { - "id": "2973", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "19", - "end": "38855", - "length": "7", - "line": "1088", - "parentIndex": "2972", - "start": "38849" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "id": "2971", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "19", - "end": "38858", - "length": "10", - "line": "1088", - "parentIndex": "2960", - "start": "38849" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_0_by_1$", - "typeString": "function(int_const 0)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2975", - "name": "amountOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2952", - "src": { - "column": "31", - "end": "38869", - "length": "9", - "line": "1088", - "parentIndex": "2970", - "start": "38861" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "id": "2970", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "18", - "end": "38870", - "length": "23", - "line": "1088", - "parentIndex": "2966", - "start": "38848" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_function_$_t_rational_0_by_1$_$_t_uint256$", - "typeString": "tuple(function(int_const 0),uint256)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2977", - "name": "amountOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2952", - "src": { - "column": "19", - "end": "38899", - "length": "9", - "line": "1089", - "parentIndex": "2976", - "start": "38891" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "2981", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "38", - "end": "38910", - "length": "1", - "line": "1089", - "parentIndex": "2978", - "start": "38910" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "2979", - "name": "uint256", - "nodeType": "IDENTIFIER", - "src": { - "column": "30", - "end": "38908", - "length": "7", - "line": "1089", - "parentIndex": "2978", - "start": "38902" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "typeName": { - "id": "2980", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "30", - "end": "38908", - "length": "7", - "line": "1089", - "parentIndex": "2979", - "start": "38902" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "id": "2978", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "30", - "end": "38911", - "length": "10", - "line": "1089", - "parentIndex": "2960", - "start": "38902" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_0_by_1$", - "typeString": "function(int_const 0)" - } - } - } - ], - "id": "2976", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "18", - "end": "38912", - "length": "23", - "line": "1089", - "parentIndex": "2966", - "start": "38890" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_function_$_t_rational_0_by_1$$", - "typeString": "tuple(uint256,function(int_const 0))" - } - } - } - ], - "id": "2966", - "nodeType": "CONDITIONAL_EXPRESSION", + }, + "id": "2874", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "18", + "end": "40241", + "length": "26", + "line": "1107", + "parentIndex": "2872", + "start": "40216" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + } + }, + "src": { + "column": "8", + "end": "40241", + "length": "36", + "line": "1107", + "parentIndex": "2871", + "start": "40206" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2871", + "nodeType": "ASSIGNMENT", + "src": { + "column": "8", + "end": "40242", + "length": "37", + "line": "1107", + "parentIndex": "2863", + "start": "40206" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2880", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2883", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "55", - "end": "38912", - "length": "99", - "line": "1087", - "parentIndex": "2960", - "start": "38814" + "column": "16", + "end": "40260", + "length": "1", + "line": "1108", + "parentIndex": "2881", + "start": "40260" }, - "typeDescriptions": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_tuple_$_t_function_$_t_rational_0_by_1$_$_t_uint256$", - "typeString": "tuple(function(int_const 0),uint256)" - }, - { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_function_$_t_rational_0_by_1$$", - "typeString": "tuple(uint256,function(int_const 0))" - } - ] + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } }, - "nodeType": "VARIABLE_DECLARATION", + "id": "2881", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2882", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2861", + "src": { + "column": "8", + "end": "40258", + "length": "7", + "line": "1108", + "parentIndex": "2881", + "start": "40252" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "INDEX_ACCESS", "src": { - "column": "12", - "end": "38913", - "length": "143", - "line": "1087", - "parentIndex": "2929", - "start": "38771" + "column": "8", + "end": "40261", + "length": "10", + "line": "1108", + "parentIndex": "2880", + "start": "40252" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", + "typeString": "index[uint256:int_const 0]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ] + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2884", + "name": "amountIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2884", + "src": { + "column": "21", + "end": "40272", + "length": "8", + "line": "1108", + "parentIndex": "2880", + "start": "40265" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, + "src": { + "column": "8", + "end": "40272", + "length": "21", + "line": "1108", + "parentIndex": "2879", + "start": "40252" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", + "typeString": "index[uint256:int_const 0]" + } + } + }, + "id": "2879", + "nodeType": "ASSIGNMENT", + "src": { + "column": "8", + "end": "40273", + "length": "22", + "line": "1108", + "parentIndex": "2863", + "start": "40252" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", + "typeString": "index[uint256:int_const 0]" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", + "value": { + "body": { + "id": "2897", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "50", + "end": "40603", + "length": "279", + "line": "1109", + "parentIndex": "2885", + "start": "40325" + }, + "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2983" + "2899", + "2901" ], "declarations": [ { - "id": "2983", + "id": "2899", "mutability": "MUTABLE", - "name": "to", + "name": "reserveIn", "nameLocation": { - "column": "20", - "end": "38936", - "length": "2", - "line": "1090", - "parentIndex": "2983", - "start": "38935" + "column": "21", + "end": "40356", + "length": "9", + "line": "1110", + "parentIndex": "2899", + "start": "40348" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2929", + "scope": "2897", "src": { - "column": "12", - "end": "38936", + "column": "13", + "end": "40356", + "length": "17", + "line": "1110", + "parentIndex": "2898", + "start": "40340" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2900", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "40346", + "length": "7", + "line": "1110", + "parentIndex": "2899", + "start": "40340" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2901", + "mutability": "MUTABLE", + "name": "reserveOut", + "nameLocation": { + "column": "40", + "end": "40376", "length": "10", - "line": "1090", - "parentIndex": "2982", - "start": "38927" + "line": "1110", + "parentIndex": "2901", + "start": "40367" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2897", + "src": { + "column": "32", + "end": "40376", + "length": "18", + "line": "1110", + "parentIndex": "2898", + "start": "40359" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "2984", - "name": "address", + "id": "2902", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "12", - "end": "38933", + "column": "32", + "end": "40365", "length": "7", - "line": "1090", - "parentIndex": "2983", - "start": "38927" + "line": "1110", + "parentIndex": "2901", + "start": "40359" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" } ], - "id": "2982", + "id": "2898", "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "expressions": [ + "argumentTypes": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", + "typeString": "function(function(),index[address:uint256],index[address:uint256])" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2987", - "leftExpression": { + "id": "2905", + "name": "factory", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "40416", + "length": "7", + "line": "1111", + "parentIndex": "2903", + "start": "40410" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2988", + "id": "2908", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "2886", "src": { - "column": "25", - "end": "38940", + "column": "21", + "end": "40440", "length": "1", - "line": "1090", - "parentIndex": "2987", - "start": "38940" + "line": "1112", + "parentIndex": "2906", + "start": "40440" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -53248,93 +51713,21 @@ } } }, - "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "id": "2906", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2989", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2991", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", - "src": { - "column": "29", - "end": "38947", - "length": "4", - "line": "1090", - "parentIndex": "2990", - "start": "38944" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "id": "2990", - "memberLocation": { - "column": "34", - "end": "38954", - "length": "6", - "line": "1090", - "parentIndex": "2990", - "start": "38949" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "29", - "end": "38954", - "length": "11", - "line": "1090", - "parentIndex": "2982", - "start": "38944" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "32", - "id": "2992", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "43", - "end": "38958", - "length": "1", - "line": "1090", - "parentIndex": "2989", - "start": "38958" - }, - "typeDescription": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - }, + "id": "2907", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2856", "src": { - "column": "29", - "end": "38958", - "length": "15", - "line": "1090", - "parentIndex": "2987", - "start": "38944" + "column": "16", + "end": "40438", + "length": "4", + "line": "1112", + "parentIndex": "2906", + "start": "40435" }, "typeDescription": { "typeIdentifier": "t_address", @@ -53342,763 +51735,495 @@ } } }, + "nodeType": "INDEX_ACCESS", "src": { - "column": "25", - "end": "38958", - "length": "19", - "line": "1090", - "parentIndex": "2986", - "start": "38940" + "column": "16", + "end": "40441", + "length": "7", + "line": "1112", + "parentIndex": "2903", + "start": "40435" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + "typeDescriptions": [ { "typeIdentifier": "t_address", "typeString": "address" }, { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_function_$$$_t_address$$_t_[_[$_t_address]$_t_uint256]$$", - "typeString": "function(function(),address,index[address:uint256])" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2996", - "name": "factory", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "39030", - "length": "7", - "line": "1092", - "parentIndex": "2993", - "start": "39024" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - ], - "id": "2997", - "name": "output", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2930", - "src": { - "column": "20", - "end": "39058", - "length": "6", - "line": "1093", - "parentIndex": "2993", - "start": "39053" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3000", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3001", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "25", - "end": "39086", - "length": "1", - "line": "1094", - "parentIndex": "3000", - "start": "39086" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "ADDITION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "32", - "id": "3002", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "29", - "end": "39090", - "length": "1", - "line": "1094", - "parentIndex": "3000", - "start": "39090" - }, - "typeDescription": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - }, - "src": { - "column": "25", - "end": "39090", - "length": "5", - "line": "1094", - "parentIndex": "2998", - "start": "39086" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "2998", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "2999", - "name": "path", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2630", - "src": { - "column": "20", - "end": "39084", - "length": "4", - "line": "1094", - "parentIndex": "2998", - "start": "39081" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "20", - "end": "39091", - "length": "11", - "line": "1094", - "parentIndex": "2993", - "start": "39081" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_address", - "typeString": "address" + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2911", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2912", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "21", + "end": "40465", + "length": "1", + "line": "1113", + "parentIndex": "2911", + "start": "40465" }, - { + "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", - "typeString": "index[address:uint256]" - } - ], - "id": "3003", - "name": "pairCodeHash", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "39125", - "length": "12", - "line": "1095", - "parentIndex": "2993", - "start": "39114" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$$$_t_address$$_t_[_[$_t_address]$_t_uint256]$$", - "typeString": "function(function(),address,index[address:uint256])" } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { + }, + "nodeType": "BINARY_OPERATION", + "operator": "ADDITION", + "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2995", - "name": "UniswapV2Library", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2281", + "hexValue": "31", + "id": "2913", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "18", - "end": "38993", - "length": "16", - "line": "1091", - "parentIndex": "2994", - "start": "38978" + "column": "25", + "end": "40469", + "length": "1", + "line": "1113", + "parentIndex": "2911", + "start": "40469" }, "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" - } + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" } }, - "id": "2994", - "memberLocation": { - "column": "35", - "end": "39001", - "length": "7", - "line": "1091", - "parentIndex": "2994", - "start": "38995" + "src": { + "column": "21", + "end": "40469", + "length": "5", + "line": "1113", + "parentIndex": "2909", + "start": "40465" }, - "memberName": "pairFor", - "nodeType": "MEMBER_ACCESS", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2909", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2910", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2856", "src": { - "column": "18", - "end": "39001", - "length": "24", - "line": "1091", - "parentIndex": "2993", - "start": "38978" + "column": "16", + "end": "40463", + "length": "4", + "line": "1113", + "parentIndex": "2909", + "start": "40460" }, "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - "id": "2993", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "nodeType": "INDEX_ACCESS", "src": { - "column": "18", - "end": "39143", - "length": "166", - "line": "1091", - "parentIndex": "2982", - "start": "38978" + "column": "16", + "end": "40470", + "length": "11", + "line": "1113", + "parentIndex": "2903", + "start": "40460" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", - "typeString": "function(function(),address,index[address:uint256],function(function(),address,index[address:uint256]))" - } + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] } }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3004", - "name": "_to", + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + } + ], + "id": "2914", + "name": "pairCodeHash", "nodeType": "IDENTIFIER", - "referencedDeclaration": "771", "src": { - "column": "18", - "end": "39165", - "length": "3", - "line": "1097", - "parentIndex": "2986", - "start": "39163" + "column": "16", + "end": "40500", + "length": "12", + "line": "1114", + "parentIndex": "2903", + "start": "40489" }, "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", + "typeString": "function(function(),index[address:uint256],index[address:uint256])" } } } ], - "id": "2986", - "nodeType": "CONDITIONAL_EXPRESSION", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2904", + "name": "getReserves", + "nodeType": "IDENTIFIER", + "src": { + "column": "54", + "end": "40391", + "length": "11", + "line": "1110", + "parentIndex": "2903", + "start": "40381" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2903", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "25", - "end": "39165", - "length": "226", - "line": "1090", - "parentIndex": "2982", - "start": "38940" + "column": "54", + "end": "40514", + "length": "134", + "line": "1110", + "parentIndex": "2898", + "start": "40381" }, - "typeDescriptions": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", - "typeString": "function(function(),address,index[address:uint256],function(function(),address,index[address:uint256]))" - }, - { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - ] + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", + "typeString": "function(function(),index[address:uint256],index[address:uint256],function(function(),index[address:uint256],index[address:uint256]))" + } } }, "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "39166", - "length": "240", - "line": "1090", - "parentIndex": "2929", - "start": "38927" + "end": "40515", + "length": "177", + "line": "1110", + "parentIndex": "2897", + "start": "40339" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_function_$_t_rational_0_by_1$", - "typeString": "function(int_const 0)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3016", - "name": "amount0Out", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2960", - "src": { - "column": "19", - "end": "39303", - "length": "10", - "line": "1100", - "parentIndex": "3005", - "start": "39294" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "3017", - "name": "amount1Out", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2960", - "src": { - "column": "31", - "end": "39315", - "length": "10", - "line": "1100", - "parentIndex": "3005", - "start": "39306" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "3018", - "name": "to", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2982", - "src": { - "column": "43", - "end": "39319", - "length": "2", - "line": "1100", - "parentIndex": "3005", - "start": "39318" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2916", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "hexValue": "30", - "id": "3022", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "id": "2919", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2920", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "20", + "end": "40537", + "length": "1", + "line": "1116", + "parentIndex": "2919", + "start": "40537" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "ADDITION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "2921", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "24", + "end": "40541", + "length": "1", + "line": "1116", + "parentIndex": "2919", + "start": "40541" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + }, "src": { - "column": "57", - "end": "39332", - "length": "1", - "line": "1100", - "parentIndex": "3019", - "start": "39332" + "column": "20", + "end": "40541", + "length": "5", + "line": "1116", + "parentIndex": "2917", + "start": "40537" }, "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.NewExpression", - "value": { - "id": "3020", - "nodeType": "NEW_EXPRESSION", - "src": { - "column": "47", - "end": "39330", - "length": "9", - "line": "1100", - "parentIndex": "3019", - "start": "39322" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3021", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", + }, + "id": "2917", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2918", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2861", "src": { - "column": "51", - "end": "39330", - "length": "5", - "line": "1100", - "parentIndex": "3020", - "start": "39326" + "column": "12", + "end": "40535", + "length": "7", + "line": "1116", + "parentIndex": "2917", + "start": "40529" }, "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } - } - }, - "id": "3019", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "47", - "end": "39333", - "length": "12", - "line": "1100", - "parentIndex": "3005", - "start": "39322" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_0_by_1$", - "typeString": "function(int_const 0)" + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "12", + "end": "40542", + "length": "14", + "line": "1116", + "parentIndex": "2916", + "start": "40529" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", - "typeString": "function(function(),address,address,function(function(),address,address))" + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], "arguments": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_function_$_t_function_$$$_t_address$$_t_address$", - "typeString": "function(function(),address,address)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3012", - "name": "factory", - "nodeType": "IDENTIFIER", - "src": { - "column": "41", - "end": "39243", - "length": "7", - "line": "1099", - "parentIndex": "3009", - "start": "39237" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - ], - "id": "3013", - "name": "input", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2930", - "src": { - "column": "50", - "end": "39250", - "length": "5", - "line": "1099", - "parentIndex": "3009", - "start": "39246" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3014", - "name": "output", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2930", - "src": { - "column": "57", - "end": "39258", - "length": "6", - "line": "1099", - "parentIndex": "3009", - "start": "39253" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3015", - "name": "pairCodeHash", - "nodeType": "IDENTIFIER", - "src": { - "column": "65", - "end": "39272", - "length": "12", - "line": "1099", - "parentIndex": "3009", - "start": "39261" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$$$_t_address$$_t_address$", - "typeString": "function(function(),address,address)" - } + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2926", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "50", + "end": "40567", + "length": "1", + "line": "1116", + "parentIndex": "2924", + "start": "40567" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + }, + "id": "2924", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3011", - "name": "UniswapV2Library", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2281", - "src": { - "column": "16", - "end": "39227", - "length": "16", - "line": "1099", - "parentIndex": "3010", - "start": "39212" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" - } - } - }, - "id": "3010", - "memberLocation": { - "column": "33", - "end": "39235", - "length": "7", - "line": "1099", - "parentIndex": "3010", - "start": "39229" - }, - "memberName": "pairFor", - "nodeType": "MEMBER_ACCESS", + "id": "2925", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2861", "src": { - "column": "16", - "end": "39235", - "length": "24", - "line": "1099", - "parentIndex": "3009", - "start": "39212" + "column": "42", + "end": "40565", + "length": "7", + "line": "1116", + "parentIndex": "2924", + "start": "40559" }, "typeDescription": { - "typeIdentifier": "t_contract$_UniswapV2Library_$2281", - "typeString": "contract UniswapV2Library" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3009", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "nodeType": "INDEX_ACCESS", "src": { - "column": "16", - "end": "39273", - "length": "62", - "line": "1099", - "parentIndex": "3007", - "start": "39212" + "column": "42", + "end": "40568", + "length": "10", + "line": "1116", + "parentIndex": "2922", + "start": "40559" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", - "typeString": "function(function(),address,address,function(function(),address,address))" + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + } + ], + "id": "2927", + "name": "reserveIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2898", + "src": { + "column": "54", + "end": "40579", + "length": "9", + "line": "1116", + "parentIndex": "2922", + "start": "40571" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "2928", + "name": "reserveOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2898", + "src": { + "column": "65", + "end": "40591", + "length": "10", + "line": "1116", + "parentIndex": "2922", + "start": "40582" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } } @@ -54106,16 +52231,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3008", - "name": "IUniswapV2Pair", + "id": "2923", + "name": "getAmountOut", "nodeType": "IDENTIFIER", "src": { - "column": "12", - "end": "39193", - "length": "14", - "line": "1098", - "parentIndex": "3007", - "start": "39180" + "column": "29", + "end": "40557", + "length": "12", + "line": "1116", + "parentIndex": "2922", + "start": "40546" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -54123,62 +52248,50 @@ } } }, - "id": "3007", + "id": "2922", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { - "column": "12", - "end": "39287", - "length": "108", - "line": "1098", - "parentIndex": "3006", - "start": "39180" + "column": "29", + "end": "40592", + "length": "47", + "line": "1116", + "parentIndex": "2916", + "start": "40546" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", - "typeString": "function(function(function(),address,address,function(function(),address,address)))" + "typeIdentifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", + "typeString": "function(index[uint256:uint256],uint256,uint256)" } } }, - "id": "3006", - "memberLocation": { - "column": "14", - "end": "39292", - "length": "4", - "line": "1100", - "parentIndex": "3006", - "start": "39289" - }, - "memberName": "swap", - "nodeType": "MEMBER_ACCESS", "src": { "column": "12", - "end": "39292", - "length": "113", - "line": "1098", - "parentIndex": "3005", - "start": "39180" + "end": "40592", + "length": "64", + "line": "1116", + "parentIndex": "2915", + "start": "40529" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", - "typeString": "function(function(function(),address,address,function(function(),address,address)))" + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" } } }, - "id": "3005", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "2915", + "nodeType": "ASSIGNMENT", "src": { "column": "12", - "end": "39334", - "length": "155", - "line": "1098", - "parentIndex": "2929", - "start": "39180" + "end": "40593", + "length": "65", + "line": "1116", + "parentIndex": "2897", + "start": "40529" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_function_$_t_rational_0_by_1$", - "typeString": "function(uint256,uint256,address,function(int_const 0))" + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" } } } @@ -54190,17 +52303,17 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2928", + "id": "2896", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "2886", "src": { "column": "45", - "end": "38557", + "end": "40320", "length": "1", - "line": "1083", - "parentIndex": "2927", - "start": "38557" + "line": "1109", + "parentIndex": "2895", + "start": "40320" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -54208,17 +52321,17 @@ } } }, - "id": "2927", + "id": "2895", "kind": "KIND_UNARY_SUFFIX", "nodeType": "UNARY_OPERATION", "operator": "INCREMENT", "src": { "column": "45", - "end": "38559", + "end": "40322", "length": "3", - "line": "1083", - "parentIndex": "2907", - "start": "38557" + "line": "1109", + "parentIndex": "2850", + "start": "40320" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -54229,21 +52342,21 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2921", + "id": "2889", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2922", + "id": "2890", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "2886", "src": { "column": "24", - "end": "38536", + "end": "40299", "length": "1", - "line": "1083", - "parentIndex": "2921", - "start": "38536" + "line": "1109", + "parentIndex": "2889", + "start": "40299" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -54256,24 +52369,24 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "2923", + "id": "2891", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "2925", + "id": "2893", "name": "path", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2925", + "referencedDeclaration": "2893", "src": { "column": "28", - "end": "38543", + "end": "40306", "length": "4", - "line": "1083", - "parentIndex": "2924", - "start": "38540" + "line": "1109", + "parentIndex": "2892", + "start": "40303" }, "typeDescription": { "typeIdentifier": "t_address", @@ -54281,24 +52394,24 @@ } } }, - "id": "2924", + "id": "2892", "memberLocation": { "column": "33", - "end": "38550", + "end": "40313", "length": "6", - "line": "1083", - "parentIndex": "2924", - "start": "38545" + "line": "1109", + "parentIndex": "2892", + "start": "40308" }, "memberName": "length", "nodeType": "MEMBER_ACCESS", "src": { "column": "28", - "end": "38550", + "end": "40313", "length": "11", - "line": "1083", - "parentIndex": "2923", - "start": "38540" + "line": "1109", + "parentIndex": "2891", + "start": "40303" }, "typeDescription": { "typeIdentifier": "t_address", @@ -54312,17 +52425,17 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "2926", + "id": "2894", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", "src": { "column": "42", - "end": "38554", + "end": "40317", "length": "1", - "line": "1083", - "parentIndex": "2923", - "start": "38554" + "line": "1109", + "parentIndex": "2891", + "start": "40317" }, "typeDescription": { "typeIdentifier": "t_rational_1_by_1", @@ -54333,11 +52446,11 @@ }, "src": { "column": "28", - "end": "38554", + "end": "40317", "length": "15", - "line": "1083", - "parentIndex": "2921", - "start": "38540" + "line": "1109", + "parentIndex": "2889", + "start": "40303" }, "typeDescription": { "typeIdentifier": "t_address", @@ -54347,11 +52460,11 @@ }, "src": { "column": "24", - "end": "38554", + "end": "40317", "length": "19", - "line": "1083", - "parentIndex": "2917", - "start": "38536" + "line": "1109", + "parentIndex": "2885", + "start": "40299" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -54359,35 +52472,35 @@ } } }, - "id": "2917", + "id": "2885", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "2919" + "2887" ], "declarations": [ { - "id": "2919", + "id": "2887", "mutability": "MUTABLE", "name": "i", "nameLocation": { "column": "21", - "end": "38533", + "end": "40296", "length": "1", - "line": "1083", - "parentIndex": "2919", - "start": "38533" + "line": "1109", + "parentIndex": "2887", + "start": "40296" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "2916", + "scope": "2863", "src": { "column": "13", - "end": "38533", + "end": "40296", "length": "9", - "line": "1083", - "parentIndex": "2918", - "start": "38525" + "line": "1109", + "parentIndex": "2886", + "start": "40288" }, "storageLocation": "DEFAULT", "typeDescription": { @@ -54395,16 +52508,16 @@ "typeString": "uint256" }, "typeName": { - "id": "2920", + "id": "2888", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "13", - "end": "38531", + "end": "40294", "length": "7", - "line": "1083", - "parentIndex": "2919", - "start": "38525" + "line": "1109", + "parentIndex": "2887", + "start": "40288" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -54414,1853 +52527,2183 @@ "visibility": "INTERNAL" } ], - "id": "2918", + "id": "2886", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "13", - "end": "38534", + "end": "40297", "length": "10", - "line": "1083", - "parentIndex": "2916", - "start": "38525" + "line": "1109", + "parentIndex": "2863", + "start": "40288" } } }, "nodeType": "FOR_STATEMENT", "src": { - "end": "39345", - "length": "826", - "line": "1083", - "parentIndex": "2916", - "start": "38520" + "end": "40603", + "length": "321", + "line": "1109", + "parentIndex": "2863", + "start": "40283" } } } ] }, - "id": "2907", + "id": "2850", "implemented": true, "kind": "KIND_FUNCTION", - "name": "_swap", + "name": "getAmountsOut", "nameLocation": { "column": "13", - "end": "38399", - "length": "5", - "line": "1078", - "parentIndex": "2907", - "start": "38395" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "2908", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "2909", - "name": "amounts", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2909", - "src": { - "column": "8", - "end": "38433", - "length": "24", - "line": "1079", - "parentIndex": "2908", - "start": "38410" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "2910", - "name": "uint256", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "38416", - "length": "7", - "line": "1079", - "parentIndex": "2909", - "start": "38410" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2911", - "name": "path", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2911", - "src": { - "column": "8", - "end": "38464", - "length": "21", - "line": "1080", - "parentIndex": "2908", - "start": "38444" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2912", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "38450", - "length": "7", - "line": "1080", - "parentIndex": "2911", - "start": "38444" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "2913", - "name": "_to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "2913", - "src": { - "column": "8", - "end": "38485", - "length": "11", - "line": "1081", - "parentIndex": "2908", - "start": "38475" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "2914", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "38481", - "length": "7", - "line": "1081", - "parentIndex": "2913", - "start": "38475" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "8", - "end": "38485", - "length": "76", - "line": "1079", - "parentIndex": "2907", - "start": "38410" - } - }, - "returnParameters": { - "id": "2915", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "39351", - "length": "966", - "line": "1078", - "parentIndex": "2907", - "start": "38386" - } - }, - "scope": "2819", - "signature": "9b12e533", - "src": { - "column": "4", - "end": "39351", - "length": "966", - "line": "1078", - "parentIndex": "2819", - "start": "38386" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_address$_t_address$", - "typeString": "function(uint256,address,address)" - }, - "virtual": true, - "visibility": "INTERNAL" - } - } - ], - "src": { - "end": "39353", - "length": "2094", - "line": "1042", - "parentIndex": "2787", - "start": "37260" - } - } - } - ] - }, - "src": { - "line": 1042, - "start": 37260, - "end": 39353, - "length": 2094, - "parent_index": 272 - } - }, - { - "id": 3023, - "license": "GPL-3.0-or-later", - "name": "ITridentRouter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentRouter.sol", - "exported_symbols": [ - { - "id": 3023, - "name": "ITridentRouter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentRouter.sol" - }, - { - "id": 2787, - "name": "IPool", - "absolute_path": "IPool.sol" - }, - { - "id": 2787, - "name": "IBentoBoxMinimal", - "absolute_path": "IBentoBoxMinimal.sol" - }, - { - "id": 2787, - "name": "IERC20", - "absolute_path": "IERC20.sol" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "3040", - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "39424", - "length": "23", - "line": "1107", - "parentIndex": "3023", - "start": "39402" - }, - "text": "pragma solidity 0.8.11;" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "IPool.sol", - "file": "./IPool.sol", - "id": "3056", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3023", - "sourceUnit": "2787", - "src": { - "end": "39447", - "length": "21", - "line": "1109", - "parentIndex": "3023", - "start": "39427" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "IBentoBoxMinimal.sol", - "file": "./IBentoBoxMinimal.sol", - "id": "3057", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3023", - "sourceUnit": "2787", - "src": { - "end": "39480", - "length": "32", - "line": "1110", - "parentIndex": "3023", - "start": "39449" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "IERC20.sol", - "file": "./IERC20.sol", - "id": "3058", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3023", - "sourceUnit": "2787", - "src": { - "end": "39503", - "length": "22", - "line": "1111", - "parentIndex": "3023", - "start": "39482" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", - "value": { - "contractDependencies": [ - "3056", - "3057", - "3058" - ], - "fullyImplemented": true, - "id": "3081", - "kind": "KIND_INTERFACE", - "linearizedBaseContracts": [ - "3081", - "3056", - "3057", - "3058" - ], - "name": "ITridentRouter", - "nameLocation": { - "column": "10", - "end": "39572", - "length": "14", - "line": "1114", - "parentIndex": "3081", - "start": "39559" - }, - "nodeType": "CONTRACT_DEFINITION", - "nodes": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", - "value": { - "canonicalName": "ITridentRouter.Path", - "id": "3083", - "members": [ - { - "id": "3084", - "name": "pool", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3084", - "src": { - "column": "8", - "end": "39614", - "length": "13", - "line": "1116", - "parentIndex": "3083", - "start": "39602" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3085", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39608", - "length": "7", - "line": "1116", - "parentIndex": "3084", - "start": "39602" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3086", - "name": "data", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3086", - "src": { - "column": "8", - "end": "39634", - "length": "11", - "line": "1117", - "parentIndex": "3083", - "start": "39624" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3087", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39628", - "length": "5", - "line": "1117", - "parentIndex": "3086", - "start": "39624" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" - } - ], - "name": "Path", - "nameLocation": { - "column": "11", - "end": "39590", - "length": "4", - "line": "1115", - "parentIndex": "3083", - "start": "39587" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "39640", - "length": "61", - "line": "1115", - "parentIndex": "3023", - "start": "39580" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_Path_$3083", - "typeString": "struct ITridentRouter.Path" + "end": "39958", + "length": "13", + "line": "1100", + "parentIndex": "2850", + "start": "39946" }, - "visibility": "PUBLIC" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", - "value": { - "canonicalName": "ITridentRouter.ExactInputSingleParams", - "id": "3089", - "members": [ - { - "id": "3090", - "name": "amountIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3090", - "src": { - "column": "8", - "end": "39703", - "length": "17", - "line": "1121", - "parentIndex": "3089", - "start": "39687" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3091", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39693", - "length": "7", - "line": "1121", - "parentIndex": "3090", - "start": "39687" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3092", - "name": "amountOutMinimum", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3092", - "src": { - "column": "8", - "end": "39737", - "length": "25", - "line": "1122", - "parentIndex": "3089", - "start": "39713" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3093", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39719", - "length": "7", - "line": "1122", - "parentIndex": "3092", - "start": "39713" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3094", - "name": "pool", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3094", - "src": { - "column": "8", - "end": "39759", - "length": "13", - "line": "1123", - "parentIndex": "3089", - "start": "39747" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3095", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39753", - "length": "7", - "line": "1123", - "parentIndex": "3094", - "start": "39747" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3096", - "name": "tokenIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3096", - "src": { - "column": "8", - "end": "39784", - "length": "16", - "line": "1124", - "parentIndex": "3089", - "start": "39769" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3097", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2851", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2852", + "name": "factory", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2852", "src": { "column": "8", - "end": "39775", - "length": "7", - "line": "1124", - "parentIndex": "3096", - "start": "39769" + "end": "39983", + "length": "15", + "line": "1101", + "parentIndex": "2851", + "start": "39969" }, "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3098", - "name": "data", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3098", - "src": { - "column": "8", - "end": "39804", - "length": "11", - "line": "1125", - "parentIndex": "3089", - "start": "39794" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + }, + "typeName": { + "id": "2853", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "39975", + "length": "7", + "line": "1101", + "parentIndex": "2852", + "start": "39969" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" }, - "typeName": { - "id": "3099", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", + { + "id": "2854", + "name": "amountIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2854", "src": { "column": "8", - "end": "39798", - "length": "5", - "line": "1125", - "parentIndex": "3098", - "start": "39794" + "end": "40009", + "length": "16", + "line": "1102", + "parentIndex": "2851", + "start": "39994" }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" - } - ], - "name": "ExactInputSingleParams", - "nameLocation": { - "column": "11", - "end": "39675", - "length": "22", - "line": "1120", - "parentIndex": "3089", - "start": "39654" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "39810", - "length": "164", - "line": "1120", - "parentIndex": "3023", - "start": "39647" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputSingleParams_$3089", - "typeString": "struct ITridentRouter.ExactInputSingleParams" - }, - "visibility": "PUBLIC" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", - "value": { - "canonicalName": "ITridentRouter.ExactInputParams", - "id": "3101", - "members": [ - { - "id": "3102", - "name": "tokenIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3102", - "src": { - "column": "8", - "end": "39866", - "length": "16", - "line": "1129", - "parentIndex": "3101", - "start": "39851" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2855", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "40000", + "length": "7", + "line": "1102", + "parentIndex": "2854", + "start": "39994" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" }, - "typeName": { - "id": "3103", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + { + "id": "2856", + "name": "path", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2856", "src": { "column": "8", - "end": "39857", - "length": "7", - "line": "1129", - "parentIndex": "3102", - "start": "39851" + "end": "40040", + "length": "21", + "line": "1103", + "parentIndex": "2851", + "start": "40020" }, "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3104", - "name": "amountIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3104", - "src": { - "column": "8", - "end": "39892", - "length": "17", - "line": "1130", - "parentIndex": "3101", - "start": "39876" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + }, + "typeName": { + "id": "2857", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "40026", + "length": "7", + "line": "1103", + "parentIndex": "2856", + "start": "40020" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" }, - "typeName": { - "id": "3105", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + { + "id": "2858", + "name": "pairCodeHash", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2858", "src": { "column": "8", - "end": "39882", - "length": "7", - "line": "1130", - "parentIndex": "3104", - "start": "39876" + "end": "40070", + "length": "20", + "line": "1104", + "parentIndex": "2851", + "start": "40051" }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3106", - "name": "amountOutMinimum", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3106", - "src": { - "column": "8", - "end": "39926", - "length": "25", - "line": "1131", - "parentIndex": "3101", - "start": "39902" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3107", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "2859", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "40057", + "length": "7", + "line": "1104", + "parentIndex": "2858", + "start": "40051" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "40070", + "length": "102", + "line": "1101", + "parentIndex": "2850", + "start": "39969" + } + }, + "returnParameters": { + "id": "2860", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2861", + "name": "amounts", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2861", "src": { - "column": "8", - "end": "39908", - "length": "7", - "line": "1131", - "parentIndex": "3106", - "start": "39902" + "column": "29", + "end": "40124", + "length": "24", + "line": "1105", + "parentIndex": "2860", + "start": "40101" }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "visibility": "INTERNAL" + }, + "typeName": { + "id": "2862", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "29", + "end": "40107", + "length": "7", + "line": "1105", + "parentIndex": "2861", + "start": "40101" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "29", + "end": "40124", + "length": "24", + "line": "1105", + "parentIndex": "2850", + "start": "40101" + } + }, + "scope": "2535", + "signature": "3f0b56bd", + "src": { + "column": "4", + "end": "40609", + "length": "673", + "line": "1100", + "parentIndex": "2535", + "start": "39937" + }, + "stateMutability": "VIEW", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", + "typeString": "function(address,uint256,address,bytes32)" + }, + "visibility": "INTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "2943", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "55", + "end": "41381", + "length": "504", + "line": "1126", + "parentIndex": "2930", + "start": "40878" }, - { - "id": "3108", - "name": "path", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3108", - "src": { - "column": "8", - "end": "39947", - "length": "12", - "line": "1132", - "parentIndex": "3101", - "start": "39936" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_Path_$3083", - "typeString": "struct ITridentRouter.Path" + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2946", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2948", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2948", + "src": { + "column": "16", + "end": "40899", + "length": "4", + "line": "1127", + "parentIndex": "2947", + "start": "40896" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "id": "2947", + "memberLocation": { + "column": "21", + "end": "40906", + "length": "6", + "line": "1127", + "parentIndex": "2947", + "start": "40901" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "40906", + "length": "11", + "line": "1127", + "parentIndex": "2946", + "start": "40896" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN_OR_EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "32", + "id": "2949", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "31", + "end": "40911", + "length": "1", + "line": "1127", + "parentIndex": "2946", + "start": "40911" + }, + "typeDescription": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + }, + "src": { + "column": "16", + "end": "40911", + "length": "16", + "line": "1127", + "parentIndex": "2944", + "start": "40896" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "hexValue": "556e697377617056324c6962726172793a20494e56414c49445f50415448", + "id": "2950", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "34", + "end": "40945", + "length": "32", + "line": "1127", + "parentIndex": "2944", + "start": "40914" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" + }, + "value": "UniswapV2Library: INVALID_PATH" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2945", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "40894", + "length": "7", + "line": "1127", + "parentIndex": "2944", + "start": "40888" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2944", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "40946", + "length": "59", + "line": "1127", + "parentIndex": "2943", + "start": "40888" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" + } + } }, - "typeName": { - "id": "3109", - "name": "Path", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "3110", - "name": "Path", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3083", + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2952", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2953", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2861", + "src": { + "column": "8", + "end": "40963", + "length": "7", + "line": "1128", + "parentIndex": "2952", + "start": "40957" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2958", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2958", + "src": { + "column": "32", + "end": "40984", + "length": "4", + "line": "1128", + "parentIndex": "2957", + "start": "40981" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "id": "2957", + "memberLocation": { + "column": "37", + "end": "40991", + "length": "6", + "line": "1128", + "parentIndex": "2957", + "start": "40986" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "32", + "end": "40991", + "length": "11", + "line": "1128", + "parentIndex": "2954", + "start": "40981" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.NewExpression", + "value": { + "id": "2955", + "nodeType": "NEW_EXPRESSION", + "src": { + "column": "18", + "end": "40979", + "length": "13", + "line": "1128", + "parentIndex": "2954", + "start": "40967" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2956", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "22", + "end": "40977", + "length": "7", + "line": "1128", + "parentIndex": "2955", + "start": "40971" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "id": "2954", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "18", + "end": "40992", + "length": "26", + "line": "1128", + "parentIndex": "2952", + "start": "40967" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + } + }, + "src": { + "column": "8", + "end": "40992", + "length": "36", + "line": "1128", + "parentIndex": "2951", + "start": "40957" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2951", + "nodeType": "ASSIGNMENT", "src": { "column": "8", - "end": "39939", - "length": "4", - "line": "1132", - "parentIndex": "3109", - "start": "39936" + "end": "40993", + "length": "37", + "line": "1128", + "parentIndex": "2943", + "start": "40957" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "referencedDeclaration": "3083", - "src": { - "column": "8", - "end": "39939", - "length": "4", - "line": "1132", - "parentIndex": "3108", - "start": "39936" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_Path_$3083", - "typeString": "struct ITridentRouter.Path" - } - }, - "visibility": "INTERNAL" - } - ], - "name": "ExactInputParams", - "nameLocation": { - "column": "11", - "end": "39839", - "length": "16", - "line": "1128", - "parentIndex": "3101", - "start": "39824" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "39953", - "length": "137", - "line": "1128", - "parentIndex": "3023", - "start": "39817" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - "visibility": "PUBLIC" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", - "value": { - "canonicalName": "ITridentRouter.TokenInput", - "id": "3112", - "members": [ - { - "id": "3113", - "name": "token", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3113", - "src": { - "column": "8", - "end": "40001", - "length": "14", - "line": "1136", - "parentIndex": "3112", - "start": "39988" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3114", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "39994", - "length": "7", - "line": "1136", - "parentIndex": "3113", - "start": "39988" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3115", - "name": "native", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3115", - "src": { - "column": "8", - "end": "40022", - "length": "12", - "line": "1137", - "parentIndex": "3112", - "start": "40011" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "3116", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40014", - "length": "4", - "line": "1137", - "parentIndex": "3115", - "start": "40011" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3117", - "name": "amount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3117", - "src": { - "column": "8", - "end": "40046", - "length": "15", - "line": "1138", - "parentIndex": "3112", - "start": "40032" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3118", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40038", - "length": "7", - "line": "1138", - "parentIndex": "3117", - "start": "40032" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } }, - "visibility": "INTERNAL" - } - ], - "name": "TokenInput", - "nameLocation": { - "column": "11", - "end": "39976", - "length": "10", - "line": "1135", - "parentIndex": "3112", - "start": "39967" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "40052", - "length": "93", - "line": "1135", - "parentIndex": "3023", - "start": "39960" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_TokenInput_$3112", - "typeString": "struct ITridentRouter.TokenInput" - }, - "visibility": "PUBLIC" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", - "value": { - "canonicalName": "ITridentRouter.InitialPath", - "id": "3120", - "members": [ - { - "id": "3121", - "name": "tokenIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3121", - "src": { - "column": "8", - "end": "40103", - "length": "16", - "line": "1142", - "parentIndex": "3120", - "start": "40088" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3122", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40094", - "length": "7", - "line": "1142", - "parentIndex": "3121", - "start": "40088" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3123", - "name": "pool", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3123", - "src": { - "column": "8", - "end": "40125", - "length": "13", - "line": "1143", - "parentIndex": "3120", - "start": "40113" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3124", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40119", - "length": "7", - "line": "1143", - "parentIndex": "3123", - "start": "40113" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3125", - "name": "native", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3125", - "src": { - "column": "8", - "end": "40146", - "length": "12", - "line": "1144", - "parentIndex": "3120", - "start": "40135" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "3126", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40138", - "length": "4", - "line": "1144", - "parentIndex": "3125", - "start": "40135" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3127", - "name": "amount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3127", - "src": { - "column": "8", - "end": "40170", - "length": "15", - "line": "1145", - "parentIndex": "3120", - "start": "40156" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3128", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40162", - "length": "7", - "line": "1145", - "parentIndex": "3127", - "start": "40156" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "2960", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2963", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2965", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2861", + "src": { + "column": "16", + "end": "41017", + "length": "7", + "line": "1129", + "parentIndex": "2964", + "start": "41011" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2964", + "memberLocation": { + "column": "24", + "end": "41024", + "length": "6", + "line": "1129", + "parentIndex": "2964", + "start": "41019" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "41024", + "length": "14", + "line": "1129", + "parentIndex": "2963", + "start": "41011" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "2966", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "33", + "end": "41028", + "length": "1", + "line": "1129", + "parentIndex": "2963", + "start": "41028" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + }, + "src": { + "column": "16", + "end": "41028", + "length": "18", + "line": "1129", + "parentIndex": "2961", + "start": "41011" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2961", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2962", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2861", + "src": { + "column": "8", + "end": "41009", + "length": "7", + "line": "1129", + "parentIndex": "2961", + "start": "41003" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "8", + "end": "41029", + "length": "27", + "line": "1129", + "parentIndex": "2960", + "start": "41003" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2967", + "name": "amountOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2967", + "src": { + "column": "38", + "end": "41041", + "length": "9", + "line": "1129", + "parentIndex": "2960", + "start": "41033" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "8", + "end": "41041", + "length": "39", + "line": "1129", + "parentIndex": "2959", + "start": "41003" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + } + } + }, + "id": "2959", + "nodeType": "ASSIGNMENT", + "src": { + "column": "8", + "end": "41042", + "length": "40", + "line": "1129", + "parentIndex": "2943", + "start": "41003" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + } } }, - "visibility": "INTERNAL" - }, - { - "id": "3129", - "name": "data", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3129", - "src": { - "column": "8", - "end": "40190", - "length": "11", - "line": "1146", - "parentIndex": "3120", - "start": "40180" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3130", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40184", - "length": "5", - "line": "1146", - "parentIndex": "3129", - "start": "40180" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", + "value": { + "body": { + "id": "2981", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "54", + "end": "41375", + "length": "278", + "line": "1130", + "parentIndex": "2968", + "start": "41098" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "2983", + "2985" + ], + "declarations": [ + { + "id": "2983", + "mutability": "MUTABLE", + "name": "reserveIn", + "nameLocation": { + "column": "21", + "end": "41129", + "length": "9", + "line": "1131", + "parentIndex": "2983", + "start": "41121" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2981", + "src": { + "column": "13", + "end": "41129", + "length": "17", + "line": "1131", + "parentIndex": "2982", + "start": "41113" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2984", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "41119", + "length": "7", + "line": "1131", + "parentIndex": "2983", + "start": "41113" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "2985", + "mutability": "MUTABLE", + "name": "reserveOut", + "nameLocation": { + "column": "40", + "end": "41149", + "length": "10", + "line": "1131", + "parentIndex": "2985", + "start": "41140" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2981", + "src": { + "column": "32", + "end": "41149", + "length": "18", + "line": "1131", + "parentIndex": "2982", + "start": "41132" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2986", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "32", + "end": "41138", + "length": "7", + "line": "1131", + "parentIndex": "2985", + "start": "41132" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "2982", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", + "typeString": "function(function(),index[address:uint256],index[address:uint256])" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2989", + "name": "factory", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "41189", + "length": "7", + "line": "1132", + "parentIndex": "2987", + "start": "41183" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2992", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2993", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "21", + "end": "41213", + "length": "1", + "line": "1133", + "parentIndex": "2992", + "start": "41213" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "2994", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "25", + "end": "41217", + "length": "1", + "line": "1133", + "parentIndex": "2992", + "start": "41217" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + }, + "src": { + "column": "21", + "end": "41217", + "length": "5", + "line": "1133", + "parentIndex": "2990", + "start": "41213" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2990", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2991", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2856", + "src": { + "column": "16", + "end": "41211", + "length": "4", + "line": "1133", + "parentIndex": "2990", + "start": "41208" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "41218", + "length": "11", + "line": "1133", + "parentIndex": "2987", + "start": "41208" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2997", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "21", + "end": "41242", + "length": "1", + "line": "1134", + "parentIndex": "2995", + "start": "41242" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2995", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2996", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2856", + "src": { + "column": "16", + "end": "41240", + "length": "4", + "line": "1134", + "parentIndex": "2995", + "start": "41237" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "41243", + "length": "7", + "line": "1134", + "parentIndex": "2987", + "start": "41237" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + } + ], + "id": "2998", + "name": "pairCodeHash", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "41273", + "length": "12", + "line": "1135", + "parentIndex": "2987", + "start": "41262" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_uint256]$$$_t_[_[$_t_address]$_t_uint256]$$", + "typeString": "function(function(),index[address:uint256],index[address:uint256])" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2988", + "name": "getReserves", + "nodeType": "IDENTIFIER", + "src": { + "column": "54", + "end": "41164", + "length": "11", + "line": "1131", + "parentIndex": "2987", + "start": "41154" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "2987", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "54", + "end": "41287", + "length": "134", + "line": "1131", + "parentIndex": "2982", + "start": "41154" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", + "typeString": "function(function(),index[address:uint256],index[address:uint256],function(function(),index[address:uint256],index[address:uint256]))" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "41288", + "length": "177", + "line": "1131", + "parentIndex": "2981", + "start": "41112" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "3000", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3003", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3004", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "20", + "end": "41310", + "length": "1", + "line": "1137", + "parentIndex": "3003", + "start": "41310" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "3005", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "24", + "end": "41314", + "length": "1", + "line": "1137", + "parentIndex": "3003", + "start": "41314" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + }, + "src": { + "column": "20", + "end": "41314", + "length": "5", + "line": "1137", + "parentIndex": "3001", + "start": "41310" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3001", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3002", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2861", + "src": { + "column": "12", + "end": "41308", + "length": "7", + "line": "1137", + "parentIndex": "3001", + "start": "41302" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "12", + "end": "41315", + "length": "14", + "line": "1137", + "parentIndex": "3000", + "start": "41302" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3010", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "49", + "end": "41339", + "length": "1", + "line": "1137", + "parentIndex": "3008", + "start": "41339" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3008", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3009", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2861", + "src": { + "column": "41", + "end": "41337", + "length": "7", + "line": "1137", + "parentIndex": "3008", + "start": "41331" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "41", + "end": "41340", + "length": "10", + "line": "1137", + "parentIndex": "3006", + "start": "41331" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + } + ], + "id": "3011", + "name": "reserveIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2982", + "src": { + "column": "53", + "end": "41351", + "length": "9", + "line": "1137", + "parentIndex": "3006", + "start": "41343" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "3012", + "name": "reserveOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2982", + "src": { + "column": "64", + "end": "41363", + "length": "10", + "line": "1137", + "parentIndex": "3006", + "start": "41354" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3007", + "name": "getAmountIn", + "nodeType": "IDENTIFIER", + "src": { + "column": "29", + "end": "41329", + "length": "11", + "line": "1137", + "parentIndex": "3006", + "start": "41319" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "3006", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "29", + "end": "41364", + "length": "46", + "line": "1137", + "parentIndex": "3000", + "start": "41319" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", + "typeString": "function(index[uint256:uint256],uint256,uint256)" + } + } + }, + "src": { + "column": "12", + "end": "41364", + "length": "63", + "line": "1137", + "parentIndex": "2999", + "start": "41302" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + } + } + }, + "id": "2999", + "nodeType": "ASSIGNMENT", + "src": { + "column": "12", + "end": "41365", + "length": "64", + "line": "1137", + "parentIndex": "2981", + "start": "41302" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + } + } + } + ] + }, + "closure": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.UnarySuffix", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2980", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "49", + "end": "41093", + "length": "1", + "line": "1130", + "parentIndex": "2979", + "start": "41093" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "2979", + "kind": "KIND_UNARY_SUFFIX", + "nodeType": "UNARY_OPERATION", + "operator": "DECREMENT", + "src": { + "column": "49", + "end": "41095", + "length": "3", + "line": "1130", + "parentIndex": "2930", + "start": "41093" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2976", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2977", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "42", + "end": "41086", + "length": "1", + "line": "1130", + "parentIndex": "2976", + "start": "41086" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "2978", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "46", + "end": "41090", + "length": "1", + "line": "1130", + "parentIndex": "2976", + "start": "41090" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "42", + "end": "41090", + "length": "5", + "line": "1130", + "parentIndex": "2968", + "start": "41086" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "2968", + "initialiser": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "2970" + ], + "declarations": [ + { + "id": "2970", + "mutability": "MUTABLE", + "name": "i", + "nameLocation": { + "column": "21", + "end": "41065", + "length": "1", + "line": "1130", + "parentIndex": "2970", + "start": "41065" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "2943", + "src": { + "column": "13", + "end": "41065", + "length": "9", + "line": "1130", + "parentIndex": "2969", + "start": "41057" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2971", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "41063", + "length": "7", + "line": "1130", + "parentIndex": "2970", + "start": "41057" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "2969", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "2972", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "2974", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2974", + "src": { + "column": "25", + "end": "41072", + "length": "4", + "line": "1130", + "parentIndex": "2973", + "start": "41069" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "id": "2973", + "memberLocation": { + "column": "30", + "end": "41079", + "length": "6", + "line": "1130", + "parentIndex": "2973", + "start": "41074" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "25", + "end": "41079", + "length": "11", + "line": "1130", + "parentIndex": "2969", + "start": "41069" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "2975", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "39", + "end": "41083", + "length": "1", + "line": "1130", + "parentIndex": "2972", + "start": "41083" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + }, + "src": { + "column": "25", + "end": "41083", + "length": "15", + "line": "1130", + "parentIndex": "2969", + "start": "41069" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "41084", + "length": "28", + "line": "1130", + "parentIndex": "2943", + "start": "41057" + } + } + }, + "nodeType": "FOR_STATEMENT", + "src": { + "end": "41375", + "length": "324", + "line": "1130", + "parentIndex": "2943", + "start": "41052" + } } - }, - "visibility": "INTERNAL" - } - ], - "name": "InitialPath", - "nameLocation": { - "column": "11", - "end": "40076", - "length": "11", - "line": "1141", - "parentIndex": "3120", - "start": "40066" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "40196", - "length": "138", - "line": "1141", - "parentIndex": "3023", - "start": "40059" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_InitialPath_$3120", - "typeString": "struct ITridentRouter.InitialPath" + } + ] }, - "visibility": "PUBLIC" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", - "value": { - "canonicalName": "ITridentRouter.PercentagePath", - "id": "3132", - "members": [ - { - "id": "3133", - "name": "tokenIn", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3133", - "src": { - "column": "8", - "end": "40250", - "length": "16", - "line": "1150", - "parentIndex": "3132", - "start": "40235" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3134", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40241", - "length": "7", - "line": "1150", - "parentIndex": "3133", - "start": "40235" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3135", - "name": "pool", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3135", - "src": { - "column": "8", - "end": "40272", - "length": "13", - "line": "1151", - "parentIndex": "3132", - "start": "40260" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3136", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40266", - "length": "7", - "line": "1151", - "parentIndex": "3135", - "start": "40260" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3137", - "name": "balancePercentage", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3137", - "src": { - "column": "8", - "end": "40306", - "length": "25", - "line": "1152", - "parentIndex": "3132", - "start": "40282" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": "3138", - "name": "uint64", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40287", - "length": "6", - "line": "1152", - "parentIndex": "3137", - "start": "40282" - }, - "typeDescription": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3139", - "name": "data", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3139", - "src": { - "column": "8", - "end": "40368", - "length": "11", - "line": "1153", - "parentIndex": "3132", - "start": "40358" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3140", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40362", - "length": "5", - "line": "1153", - "parentIndex": "3139", - "start": "40358" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" - } - ], - "name": "PercentagePath", + "id": "2930", + "implemented": true, + "kind": "KIND_FUNCTION", + "name": "getAmountsIn", "nameLocation": { - "column": "11", - "end": "40223", - "length": "14", - "line": "1149", - "parentIndex": "3132", - "start": "40210" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "40374", - "length": "172", - "line": "1149", - "parentIndex": "3023", - "start": "40203" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_PercentagePath_$3132", - "typeString": "struct ITridentRouter.PercentagePath" + "column": "13", + "end": "40708", + "length": "12", + "line": "1121", + "parentIndex": "2930", + "start": "40697" }, - "visibility": "PUBLIC" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", - "value": { - "canonicalName": "ITridentRouter.Output", - "id": "3142", - "members": [ - { - "id": "3143", - "name": "token", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3143", - "src": { - "column": "8", - "end": "40418", - "length": "14", - "line": "1157", - "parentIndex": "3142", - "start": "40405" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3144", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40411", - "length": "7", - "line": "1157", - "parentIndex": "3143", - "start": "40405" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3145", - "name": "to", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3145", - "src": { - "column": "8", - "end": "40438", - "length": "11", - "line": "1158", - "parentIndex": "3142", - "start": "40428" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3146", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "2931", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2932", + "name": "factory", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2932", "src": { "column": "8", - "end": "40434", - "length": "7", - "line": "1158", - "parentIndex": "3145", - "start": "40428" + "end": "40733", + "length": "15", + "line": "1122", + "parentIndex": "2931", + "start": "40719" }, "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3147", - "name": "unwrapBento", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3147", - "src": { - "column": "8", - "end": "40464", - "length": "17", - "line": "1159", - "parentIndex": "3142", - "start": "40448" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "3148", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40451", - "length": "4", - "line": "1159", - "parentIndex": "3147", - "start": "40448" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3149", - "name": "minAmount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3149", - "src": { - "column": "8", - "end": "40491", - "length": "18", - "line": "1160", - "parentIndex": "3142", - "start": "40474" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3150", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "40480", - "length": "7", - "line": "1160", - "parentIndex": "3149", - "start": "40474" }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "name": "Output", - "nameLocation": { - "column": "11", - "end": "40393", - "length": "6", - "line": "1156", - "parentIndex": "3142", - "start": "40388" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "40497", - "length": "117", - "line": "1156", - "parentIndex": "3023", - "start": "40381" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_Output_$3142", - "typeString": "struct ITridentRouter.Output" - }, - "visibility": "PUBLIC" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", - "value": { - "canonicalName": "ITridentRouter.ComplexPathParams", - "id": "3152", - "members": [ - { - "id": "3153", - "name": "initialPath", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3153", - "src": { - "column": "8", - "end": "40564", - "length": "26", - "line": "1164", - "parentIndex": "3152", - "start": "40539" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_InitialPath_$3120", - "typeString": "struct ITridentRouter.InitialPath" + "typeName": { + "id": "2933", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "40725", + "length": "7", + "line": "1122", + "parentIndex": "2932", + "start": "40719" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" }, - "typeName": { - "id": "3154", - "name": "InitialPath", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "3155", - "name": "InitialPath", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3120", + { + "id": "2934", + "name": "amountOut", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2934", + "src": { + "column": "8", + "end": "40760", + "length": "17", + "line": "1123", + "parentIndex": "2931", + "start": "40744" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2935", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40549", - "length": "11", - "line": "1164", - "parentIndex": "3154", - "start": "40539" + "end": "40750", + "length": "7", + "line": "1123", + "parentIndex": "2934", + "start": "40744" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "referencedDeclaration": "3120", + "visibility": "INTERNAL" + }, + { + "id": "2936", + "name": "path", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2936", "src": { "column": "8", - "end": "40549", - "length": "11", - "line": "1164", - "parentIndex": "3153", - "start": "40539" + "end": "40791", + "length": "21", + "line": "1124", + "parentIndex": "2931", + "start": "40771" }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_InitialPath_$3120", - "typeString": "struct ITridentRouter.InitialPath" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3156", - "name": "percentagePath", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3156", - "src": { - "column": "8", - "end": "40605", - "length": "32", - "line": "1165", - "parentIndex": "3152", - "start": "40574" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_PercentagePath_$3132", - "typeString": "struct ITridentRouter.PercentagePath" - }, - "typeName": { - "id": "3157", - "name": "PercentagePath", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "3158", - "name": "PercentagePath", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3132", + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "2937", + "name": "address", + "nodeType": "IDENTIFIER", "src": { "column": "8", - "end": "40587", - "length": "14", - "line": "1165", - "parentIndex": "3157", - "start": "40574" + "end": "40777", + "length": "7", + "line": "1124", + "parentIndex": "2936", + "start": "40771" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - "referencedDeclaration": "3132", + "visibility": "INTERNAL" + }, + { + "id": "2938", + "name": "pairCodeHash", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2938", "src": { "column": "8", - "end": "40587", - "length": "14", - "line": "1165", - "parentIndex": "3156", - "start": "40574" + "end": "40821", + "length": "20", + "line": "1125", + "parentIndex": "2931", + "start": "40802" }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_PercentagePath_$3132", - "typeString": "struct ITridentRouter.PercentagePath" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3159", - "name": "output", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3159", - "src": { - "column": "8", - "end": "40630", - "length": "16", - "line": "1166", - "parentIndex": "3152", - "start": "40615" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_Output_$3142", - "typeString": "struct ITridentRouter.Output" - }, - "typeName": { - "id": "3160", - "name": "Output", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "3161", - "name": "Output", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3142", + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": "2939", + "name": "bytes32", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "40620", - "length": "6", - "line": "1166", - "parentIndex": "3160", - "start": "40615" + "end": "40808", + "length": "7", + "line": "1125", + "parentIndex": "2938", + "start": "40802" + }, + "typeDescription": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "referencedDeclaration": "3142", + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "40821", + "length": "103", + "line": "1122", + "parentIndex": "2930", + "start": "40719" + } + }, + "returnParameters": { + "id": "2940", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "2941", + "name": "amounts", + "nodeType": "VARIABLE_DECLARATION", + "scope": "2941", "src": { - "column": "8", - "end": "40620", - "length": "6", - "line": "1166", - "parentIndex": "3159", - "start": "40615" + "column": "29", + "end": "40875", + "length": "24", + "line": "1126", + "parentIndex": "2940", + "start": "40852" }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_Output_$3142", - "typeString": "struct ITridentRouter.Output" - } - }, - "visibility": "INTERNAL" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "2942", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "29", + "end": "40858", + "length": "7", + "line": "1126", + "parentIndex": "2941", + "start": "40852" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "29", + "end": "40875", + "length": "24", + "line": "1126", + "parentIndex": "2930", + "start": "40852" } - ], - "name": "ComplexPathParams", - "nameLocation": { - "column": "11", - "end": "40527", - "length": "17", - "line": "1163", - "parentIndex": "3152", - "start": "40511" }, - "nodeType": "STRUCT_DEFINITION", + "scope": "2535", + "signature": "6ba120d4", "src": { "column": "4", - "end": "40636", - "length": "133", - "line": "1163", - "parentIndex": "3023", - "start": "40504" + "end": "41381", + "length": "694", + "line": "1121", + "parentIndex": "2535", + "start": "40688" }, - "storageLocation": "DEFAULT", + "stateMutability": "VIEW", "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" + "typeIdentifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", + "typeString": "function(address,uint256,address,bytes32)" }, - "visibility": "PUBLIC" + "visibility": "INTERNAL" } } ], "src": { - "end": "40638", - "length": "1090", - "line": "1114", - "parentIndex": "3023", - "start": "39549" + "end": "41383", + "length": "5323", + "line": "996", + "parentIndex": "2503", + "start": "36061" } } } ] }, "src": { - "line": 1114, - "start": 39549, - "end": 40638, - "length": 1090, + "line": 996, + "start": 36061, + "end": 41383, + "length": 5323, "parent_index": 272 } }, { - "id": 3162, + "id": 3013, "license": "GPL-3.0-or-later", - "name": "ITridentSwapAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentSwapAdapter.sol", + "name": "SushiLegacyAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiLegacyAdapter.sol", "exported_symbols": [ { - "id": 3162, - "name": "ITridentSwapAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentSwapAdapter.sol" - }, - { - "id": 3023, - "name": "ITridentRouter", - "absolute_path": "ITridentRouter.sol" + "id": 3013, + "name": "SushiLegacyAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiLegacyAdapter.sol" }, { - "id": 3023, - "name": "BentoAdapter", - "absolute_path": "BentoAdapter.sol" + "id": 2503, + "name": "SafeERC20", + "absolute_path": "SafeERC20.sol" }, { - "id": 3023, - "name": "TokenAdapter", - "absolute_path": "TokenAdapter.sol" + "id": 2503, + "name": "UniswapV2Library", + "absolute_path": "UniswapV2Library.sol" }, { - "id": 3023, + "id": 2503, "name": "ImmutableState", "absolute_path": "ImmutableState.sol" } @@ -56271,7 +54714,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "3180", + "id": "3029", "literals": [ "pragma", "solidity", @@ -56284,11 +54727,11 @@ ], "nodeType": "PRAGMA_DIRECTIVE", "src": { - "end": "40709", + "end": "41454", "length": "23", - "line": "1172", - "parentIndex": "3162", - "start": "40687" + "line": "1144", + "parentIndex": "3013", + "start": "41432" }, "text": "pragma solidity 0.8.11;" } @@ -56296,239 +54739,36 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", "value": { - "absolutePath": "ITridentRouter.sol", - "file": "./ITridentRouter.sol", - "id": "3199", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3162", - "sourceUnit": "3023", - "src": { - "end": "40741", - "length": "30", - "line": "1174", - "parentIndex": "3162", - "start": "40712" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "BentoAdapter.sol", - "file": "./BentoAdapter.sol", - "id": "3200", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3162", - "sourceUnit": "3023", - "src": { - "end": "40770", - "length": "28", - "line": "1175", - "parentIndex": "3162", - "start": "40743" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "TokenAdapter.sol", - "file": "./TokenAdapter.sol", - "id": "3201", + "absolutePath": "SafeERC20.sol", + "file": "./SafeERC20.sol", + "id": "3046", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3162", - "sourceUnit": "3023", + "scope": "3013", + "sourceUnit": "2503", "src": { - "end": "40799", - "length": "28", - "line": "1176", - "parentIndex": "3162", - "start": "40772" + "end": "41481", + "length": "25", + "line": "1146", + "parentIndex": "3013", + "start": "41457" } } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", "value": { - "absolutePath": "ImmutableState.sol", - "file": "./ImmutableState.sol", - "id": "3202", + "absolutePath": "UniswapV2Library.sol", + "file": "./UniswapV2Library.sol", + "id": "3047", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3162", - "sourceUnit": "3023", - "src": { - "end": "40830", - "length": "30", - "line": "1177", - "parentIndex": "3162", - "start": "40801" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", - "value": { - "contractDependencies": [ - "3199", - "3200", - "3201", - "3202" - ], - "fullyImplemented": true, - "id": "3221", - "kind": "KIND_INTERFACE", - "linearizedBaseContracts": [ - "3221", - "3199", - "3200", - "3201", - "3202" - ], - "name": "ITridentSwapAdapter", - "nameLocation": { - "column": "10", - "end": "40861", - "length": "19", - "line": "1179", - "parentIndex": "3221", - "start": "40843" - }, - "nodeType": "CONTRACT_DEFINITION", + "scope": "3013", + "sourceUnit": "2503", "src": { - "end": "40864", + "end": "41514", "length": "32", - "line": "1179", - "parentIndex": "3162", - "start": "40833" - } - } - } - ] - }, - "src": { - "line": 1179, - "start": 40833, - "end": 40864, - "length": 32, - "parent_index": 272 - } - }, - { - "id": 3222, - "license": "GPL-3.0-or-later", - "name": "TridentSwapAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TridentSwapAdapter.sol", - "exported_symbols": [ - { - "id": 3222, - "name": "TridentSwapAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TridentSwapAdapter.sol" - }, - { - "id": 3162, - "name": "ITridentRouter", - "absolute_path": "ITridentRouter.sol" - }, - { - "id": 3162, - "name": "BentoAdapter", - "absolute_path": "BentoAdapter.sol" - }, - { - "id": 3162, - "name": "TokenAdapter", - "absolute_path": "TokenAdapter.sol" - }, - { - "id": 3162, - "name": "ImmutableState", - "absolute_path": "ImmutableState.sol" - }, - { - "id": 3162, - "name": "ITridentSwapAdapter", - "absolute_path": "ITridentSwapAdapter.sol" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "3241", - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "40935", - "length": "23", - "line": "1183", - "parentIndex": "3222", - "start": "40913" - }, - "text": "pragma solidity 0.8.11;" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "ITridentRouter.sol", - "file": "./ITridentRouter.sol", - "id": "3260", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3222", - "sourceUnit": "3162", - "src": { - "end": "40741", - "length": "30", - "line": "1174", - "parentIndex": "3222", - "start": "40712" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "BentoAdapter.sol", - "file": "./BentoAdapter.sol", - "id": "3261", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3222", - "sourceUnit": "3162", - "src": { - "end": "40770", - "length": "28", - "line": "1175", - "parentIndex": "3222", - "start": "40743" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "TokenAdapter.sol", - "file": "./TokenAdapter.sol", - "id": "3262", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3222", - "sourceUnit": "3162", - "src": { - "end": "40799", - "length": "28", - "line": "1176", - "parentIndex": "3222", - "start": "40772" + "line": "1147", + "parentIndex": "3013", + "start": "41483" } } }, @@ -56537,34 +54777,16 @@ "value": { "absolutePath": "ImmutableState.sol", "file": "./ImmutableState.sol", - "id": "3263", + "id": "3048", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3222", - "sourceUnit": "3162", + "scope": "3013", + "sourceUnit": "2503", "src": { - "end": "40830", + "end": "41545", "length": "30", - "line": "1177", - "parentIndex": "3222", - "start": "40801" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "ITridentSwapAdapter.sol", - "file": "./ITridentSwapAdapter.sol", - "id": "3264", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3222", - "sourceUnit": "3162", - "src": { - "end": "40972", - "length": "35", - "line": "1185", - "parentIndex": "3222", - "start": "40938" + "line": "1148", + "parentIndex": "3013", + "start": "41516" } } }, @@ -56574,183 +54796,122 @@ "baseContracts": [ { "baseName": { - "id": "3267", - "name": "ITridentRouter", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3023", - "src": { - "column": "4", - "end": "41111", - "length": "14", - "line": "1191", - "parentIndex": "3265", - "start": "41098" - } - }, - "id": "3266", - "nodeType": "INHERITANCE_SPECIFIER", - "src": { - "column": "4", - "end": "41111", - "length": "14", - "line": "1191", - "parentIndex": "3265", - "start": "41098" - } - }, - { - "baseName": { - "id": "3269", + "id": "3051", "name": "ImmutableState", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "948", "src": { - "column": "4", - "end": "41131", + "column": "40", + "end": "41706", "length": "14", - "line": "1192", - "parentIndex": "3265", - "start": "41118" + "line": "1152", + "parentIndex": "3049", + "start": "41693" } }, - "id": "3268", + "id": "3050", "nodeType": "INHERITANCE_SPECIFIER", "src": { - "column": "4", - "end": "41131", + "column": "40", + "end": "41706", "length": "14", - "line": "1192", - "parentIndex": "3265", - "start": "41118" - } - }, - { - "baseName": { - "id": "3271", - "name": "BentoAdapter", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1018", - "src": { - "column": "4", - "end": "41149", - "length": "12", - "line": "1193", - "parentIndex": "3265", - "start": "41138" - } - }, - "id": "3270", - "nodeType": "INHERITANCE_SPECIFIER", - "src": { - "column": "4", - "end": "41149", - "length": "12", - "line": "1193", - "parentIndex": "3265", - "start": "41138" - } - }, - { - "baseName": { - "id": "3273", - "name": "TokenAdapter", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1684", - "src": { - "column": "4", - "end": "41167", - "length": "12", - "line": "1194", - "parentIndex": "3265", - "start": "41156" - } - }, - "id": "3272", - "nodeType": "INHERITANCE_SPECIFIER", - "src": { - "column": "4", - "end": "41167", - "length": "12", - "line": "1194", - "parentIndex": "3265", - "start": "41156" + "line": "1152", + "parentIndex": "3049", + "start": "41693" } } ], "contractDependencies": [ - "3023", "948", - "1018", - "1684", - "3260", - "3261", - "3262", - "3263", - "3264" + "3046", + "3047", + "3048" ], "fullyImplemented": true, - "id": "3265", + "id": "3049", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "3023", "948", - "1018", - "1684", - "3265", - "3260", - "3261", - "3262", - "3263", - "3264" + "3049", + "3046", + "3047", + "3048" ], - "name": "TridentSwapAdapter", + "name": "SushiLegacyAdapter", "nameLocation": { "column": "18", - "end": "41089", + "end": "41688", "length": "18", - "line": "1190", - "parentIndex": "3265", - "start": "41072" + "line": "1152", + "parentIndex": "3049", + "start": "41671" }, "nodeType": "CONTRACT_DEFINITION", "nodes": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", "value": { - "id": "3275", - "name": "TooLittleReceived", - "nameLocation": { - "column": "10", - "end": "41217", - "length": "17", - "line": "1197", - "parentIndex": "3275", - "start": "41201" - }, - "nodeType": "ERROR_DEFINITION", - "parameters": { - "id": "3276", - "nodeType": "PARAMETER_LIST", + "id": "3053", + "libraryName": { + "id": "3054", + "name": "SafeERC20", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1442", "src": { - "column": "4", - "end": "41220", - "length": "26", - "line": "1197", - "parentIndex": "3275", - "start": "41195" + "end": "41728", + "length": "9", + "line": "1153", + "parentIndex": "3053", + "start": "41720" } }, + "name": "SafeERC20", + "nodeType": "USING_FOR_DIRECTIVE", "src": { - "column": "4", - "end": "41220", - "length": "26", - "line": "1197", - "parentIndex": "3265", - "start": "41195" + "end": "41740", + "length": "27", + "line": "1153", + "parentIndex": "3049", + "start": "41714" }, - "typeDescription": { - "typeIdentifier": "t_error$_TridentSwapAdapter_TooLittleReceived_$3275", - "typeString": "error TridentSwapAdapter.TooLittleReceived" + "typeName": { + "id": "3055", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3056", + "name": "IERC20", + "nameLocation": { + "column": "24", + "end": "41739", + "length": "6", + "line": "1153", + "parentIndex": "3055", + "start": "41734" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1089", + "src": { + "column": "24", + "end": "41739", + "length": "6", + "line": "1153", + "parentIndex": "3055", + "start": "41734" + } + }, + "referencedDeclaration": "1089", + "src": { + "column": "24", + "end": "41739", + "length": "6", + "line": "1153", + "parentIndex": "3053", + "start": "41734" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" + } } } }, @@ -56758,460 +54919,661 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3286", + "id": "3073", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "4", - "end": "42988", - "length": "1272", - "line": "1206", - "parentIndex": "3278", - "start": "41717" + "column": "43", + "end": "42687", + "length": "731", + "line": "1161", + "parentIndex": "3058", + "start": "41957" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "body": { - "id": "3292", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "34", - "end": "42286", - "length": "534", - "line": "1207", - "parentIndex": "3278", - "start": "41753" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "3294" - ], - "declarations": [ - { - "id": "3294", - "mutability": "MUTABLE", - "name": "tokenBalance", - "nameLocation": { - "column": "18", - "end": "41784", - "length": "12", - "line": "1208", - "parentIndex": "3294", - "start": "41773" + "assignments": [ + "3075" + ], + "declarations": [ + { + "id": "3075", + "mutability": "MUTABLE", + "name": "amounts", + "nameLocation": { + "column": "25", + "end": "41990", + "length": "7", + "line": "1162", + "parentIndex": "3075", + "start": "41984" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3073", + "src": { + "column": "8", + "end": "41990", + "length": "24", + "line": "1162", + "parentIndex": "3074", + "start": "41967" + }, + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3076", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "41973", + "length": "7", + "line": "1162", + "parentIndex": "3075", + "start": "41967" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "3074", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_function_$_t_function_$$$_t_uint256$$_t_address$", + "typeString": "function(function(),uint256,address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3080", + "name": "factory", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "42044", + "length": "7", + "line": "1163", + "parentIndex": "3077", + "start": "42038" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "id": "3081", + "name": "amountIn", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3081", + "src": { + "column": "12", + "end": "42066", + "length": "8", + "line": "1164", + "parentIndex": "3077", + "start": "42059" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3292", - "src": { - "column": "10", - "end": "41784", - "length": "20", - "line": "1208", - "parentIndex": "3293", - "start": "41765" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "3082", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3082", + "src": { + "column": "12", + "end": "42084", + "length": "4", + "line": "1165", + "parentIndex": "3077", + "start": "42081" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" }, - "storageLocation": "DEFAULT", - "typeDescription": { + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "typeName": { - "id": "3295", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "10", - "end": "41771", - "length": "7", - "line": "1208", - "parentIndex": "3294", - "start": "41765" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3083", + "name": "pairCodeHash", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "42110", + "length": "12", + "line": "1166", + "parentIndex": "3077", + "start": "42099" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$$$_t_uint256$$_t_address$", + "typeString": "function(function(),uint256,address)" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3079", + "name": "UniswapV2Library", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2503", + "src": { + "column": "35", + "end": "42009", + "length": "16", + "line": "1162", + "parentIndex": "3078", + "start": "41994" }, - "visibility": "INTERNAL" + "typeDescription": { + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" + } } - ], - "id": "3293", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + }, + "id": "3078", + "memberLocation": { + "column": "52", + "end": "42023", + "length": "13", + "line": "1162", + "parentIndex": "3078", + "start": "42011" + }, + "memberName": "getAmountsOut", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "35", + "end": "42023", + "length": "30", + "line": "1162", + "parentIndex": "3077", + "start": "41994" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" + } + } + }, + "id": "3077", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "35", + "end": "42120", + "length": "127", + "line": "1162", + "parentIndex": "3074", + "start": "41994" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_uint256$_t_address$_t_function_$_t_function_$_t_uint256$_t_address$", + "typeString": "function(function(),uint256,address,function(function(),uint256,address))" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "42121", + "length": "155", + "line": "1162", + "parentIndex": "3073", + "start": "41967" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "3085", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3086", + "name": "amountOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "646", + "src": { + "column": "8", + "end": "42139", + "length": "9", + "line": "1168", + "parentIndex": "3085", + "start": "42131" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3305", - "name": "this", - "nodeType": "IDENTIFIER", - "src": { - "column": "24", - "end": "41849", - "length": "4", - "line": "1209", - "parentIndex": "3302", - "start": "41846" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3303", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "41844", - "length": "7", - "line": "1209", - "parentIndex": "3302", - "start": "41838" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3304", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "16", - "end": "41844", - "length": "7", - "line": "1209", - "parentIndex": "3303", - "start": "41838" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "3302", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "41850", - "length": "13", - "line": "1209", - "parentIndex": "3296", - "start": "41838" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - } - ], - "expression": { + "id": "3089", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3301", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3301", - "src": { - "column": "40", - "end": "41800", - "length": "6", - "line": "1208", - "parentIndex": "3300", - "start": "41795" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3300", - "memberLocation": { - "column": "47", - "end": "41808", - "length": "7", - "line": "1208", - "parentIndex": "3300", - "start": "41802" - }, - "memberName": "tokenIn", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "40", - "end": "41808", - "length": "14", - "line": "1208", - "parentIndex": "3298", - "start": "41795" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3299", - "name": "IERC20", - "nodeType": "IDENTIFIER", - "src": { - "column": "33", - "end": "41793", - "length": "6", - "line": "1208", - "parentIndex": "3298", - "start": "41788" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "3298", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "3091", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3074", "src": { - "column": "33", - "end": "41809", - "length": "22", - "line": "1208", - "parentIndex": "3297", - "start": "41788" + "column": "28", + "end": "42157", + "length": "7", + "line": "1168", + "parentIndex": "3090", + "start": "42151" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "typeString": "function(struct ITridentRouter.ExactInputParams)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3297", + "id": "3090", "memberLocation": { - "column": "56", - "end": "41819", - "length": "9", - "line": "1208", - "parentIndex": "3297", - "start": "41811" + "column": "36", + "end": "42164", + "length": "6", + "line": "1168", + "parentIndex": "3090", + "start": "42159" }, - "memberName": "balanceOf", + "memberName": "length", "nodeType": "MEMBER_ACCESS", "src": { - "column": "33", - "end": "41819", - "length": "32", - "line": "1208", - "parentIndex": "3296", - "start": "41788" + "column": "28", + "end": "42164", + "length": "14", + "line": "1168", + "parentIndex": "3089", + "start": "42151" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "typeString": "function(struct ITridentRouter.ExactInputParams)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3296", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "3092", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "45", + "end": "42168", + "length": "1", + "line": "1168", + "parentIndex": "3089", + "start": "42168" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + }, "src": { - "column": "33", - "end": "41864", - "length": "77", - "line": "1208", - "parentIndex": "3293", - "start": "41788" + "column": "28", + "end": "42168", + "length": "18", + "line": "1168", + "parentIndex": "3087", + "start": "42151" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_address$", - "typeString": "function(function(address))" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3087", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3088", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3074", + "src": { + "column": "20", + "end": "42149", + "length": "7", + "line": "1168", + "parentIndex": "3087", + "start": "42143" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "10", - "end": "41865", - "length": "101", - "line": "1208", - "parentIndex": "3292", - "start": "41765" + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "20", + "end": "42169", + "length": "27", + "line": "1168", + "parentIndex": "3085", + "start": "42143" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "src": { + "column": "8", + "end": "42169", + "length": "39", + "line": "1168", + "parentIndex": "3084", + "start": "42131" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3084", + "nodeType": "ASSIGNMENT", + "src": { + "column": "8", + "end": "42170", + "length": "40", + "line": "1168", + "parentIndex": "3073", + "start": "42131" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"insufficient-amount-out\"" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3095", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3096", + "name": "amountOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "646", + "src": { + "column": "16", + "end": "42197", + "length": "9", + "line": "1170", + "parentIndex": "3095", + "start": "42189" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "GREATER_THAN_OR_EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3097", + "name": "amountOutMin", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3097", + "src": { + "column": "29", + "end": "42213", + "length": "12", + "line": "1170", + "parentIndex": "3095", + "start": "42202" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } + }, + "src": { + "column": "16", + "end": "42213", + "length": "25", + "line": "1170", + "parentIndex": "3093", + "start": "42189" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "hexValue": "696e73756666696369656e742d616d6f756e742d6f7574", + "id": "3098", + "isPure": true, + "kind": "STRING", + "nodeType": "LITERAL", + "src": { + "column": "43", + "end": "42240", + "length": "25", + "line": "1170", + "parentIndex": "3093", + "start": "42216" + }, + "typeDescription": { + "typeIdentifier": "t_string_literal", + "typeString": "literal_string \"insufficient-amount-out\"" + }, + "value": "insufficient-amount-out" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3094", + "isPure": true, + "name": "require", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "42187", + "length": "7", + "line": "1170", + "parentIndex": "3093", + "start": "42181" }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "3093", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "42241", + "length": "61", + "line": "1170", + "parentIndex": "3073", + "start": "42181" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_bool$_t_string_literal$", + "typeString": "function(bool,string memory)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "value": { + "body": { + "id": "3101", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "24", + "end": "42647", + "length": "306", + "line": "1173", + "parentIndex": "3058", + "start": "42342" + }, + "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "typeString": "function(struct ITridentRouter.ExactInputParams)" - }, - { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" + "typeIdentifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", + "typeString": "function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1]))" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_function_$_t_address$", + "typeString": "function(function(address))" } ], "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3311", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3311", - "src": { - "column": "23", - "end": "41924", - "length": "6", - "line": "1212", - "parentIndex": "3310", - "start": "41919" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3310", - "memberLocation": { - "column": "30", - "end": "41932", - "length": "7", - "line": "1212", - "parentIndex": "3310", - "start": "41926" - }, - "memberName": "tokenIn", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "23", - "end": "41932", - "length": "14", - "line": "1212", - "parentIndex": "3308", - "start": "41919" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3309", - "name": "IERC20", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "41917", - "length": "6", - "line": "1212", - "parentIndex": "3308", - "start": "41912" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "3308", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "41933", - "length": "22", - "line": "1212", - "parentIndex": "3306", - "start": "41912" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "typeString": "function(struct ITridentRouter.ExactInputParams)" - } - } - }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -57219,1566 +55581,740 @@ { "typeIdentifier": "t_function_$", "typeString": "function()" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "index[address:int_const 0]" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", + "typeString": "index[address:int_const 1]" + }, + { + "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_rational_0_by_1]$$$_t_[_[$_t_address]$_t_rational_1_by_1]$$", + "typeString": "function(function(),index[address:int_const 0],index[address:int_const 1])" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3315", - "name": "bentoBox", + "id": "3112", + "name": "factory", "nodeType": "IDENTIFIER", "src": { - "column": "24", - "end": "41967", - "length": "8", - "line": "1213", - "parentIndex": "3312", - "start": "41960" + "column": "20", + "end": "42454", + "length": "7", + "line": "1176", + "parentIndex": "3109", + "start": "42448" }, "typeDescription": { "typeIdentifier": "t_function_$", "typeString": "function()" } } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3313", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "41958", - "length": "7", - "line": "1213", - "parentIndex": "3312", - "start": "41952" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3314", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3115", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "25", + "end": "42482", + "length": "1", + "line": "1177", + "parentIndex": "3113", + "start": "42482" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "id": "3113", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3114", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3114", + "src": { + "column": "20", + "end": "42480", + "length": "4", + "line": "1177", + "parentIndex": "3113", + "start": "42477" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "nodeType": "INDEX_ACCESS", "src": { - "column": "16", - "end": "41958", + "column": "20", + "end": "42483", "length": "7", - "line": "1213", - "parentIndex": "3313", - "start": "41952" + "line": "1177", + "parentIndex": "3109", + "start": "42477" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "3312", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "41968", - "length": "17", - "line": "1213", - "parentIndex": "3306", - "start": "41952" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "typeString": "function(struct ITridentRouter.ExactInputParams)" - }, - { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - } - ], - "id": "3316", - "name": "tokenBalance", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3293", - "src": { - "column": "16", - "end": "41998", - "length": "12", - "line": "1214", - "parentIndex": "3306", - "start": "41987" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3307", - "name": "_transferTokens", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "41893", - "length": "15", - "line": "1211", - "parentIndex": "3306", - "start": "41879" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "3306", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "42012", - "length": "134", - "line": "1211", - "parentIndex": "3292", - "start": "41879" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$_t_function_$_t_function_$_t_uint256$", - "typeString": "function(function(struct ITridentRouter.ExactInputParams),function(function()),uint256)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "3318", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3321", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3321", - "src": { - "column": "15", - "end": "42079", - "length": "6", - "line": "1217", - "parentIndex": "3320", - "start": "42074" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3320", - "memberLocation": { - "column": "22", - "end": "42088", - "length": "8", - "line": "1217", - "parentIndex": "3320", - "start": "42081" - }, - "memberName": "amountIn", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "15", - "end": "42088", - "length": "15", - "line": "1217", - "parentIndex": "3319", - "start": "42074" + "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "index[address:int_const 0]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } - } + ] } - ], - "id": "3319", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "12", - "end": "42089", - "length": "19", - "line": "1217", - "parentIndex": "3318", - "start": "42071" }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "typeString": "tuple(struct ITridentRouter.ExactInputParams)" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - }, - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3326", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3326", - "src": { - "column": "16", - "end": "42132", - "length": "6", - "line": "1218", - "parentIndex": "3325", - "start": "42127" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3325", - "memberLocation": { - "column": "23", - "end": "42140", - "length": "7", - "line": "1218", - "parentIndex": "3325", - "start": "42134" - }, - "memberName": "tokenIn", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "42140", - "length": "14", - "line": "1218", - "parentIndex": "3322", - "start": "42127" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3330", - "name": "bentoBox", - "nodeType": "IDENTIFIER", - "src": { - "column": "24", - "end": "42174", - "length": "8", - "line": "1219", - "parentIndex": "3327", - "start": "42167" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3328", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "42165", - "length": "7", - "line": "1219", - "parentIndex": "3327", - "start": "42159" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3329", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "16", - "end": "42165", - "length": "7", - "line": "1219", - "parentIndex": "3328", - "start": "42159" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "3327", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "42175", - "length": "17", - "line": "1219", - "parentIndex": "3322", - "start": "42159" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "3118", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "25", + "end": "42511", + "length": "1", + "line": "1178", + "parentIndex": "3116", + "start": "42511" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + }, + "id": "3116", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3117", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3117", + "src": { + "column": "20", + "end": "42509", + "length": "4", + "line": "1178", + "parentIndex": "3116", + "start": "42506" }, - { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "3335", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "28", - "end": "42206", - "length": "1", - "line": "1220", - "parentIndex": "3332", - "start": "42206" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "id": "3332", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3334", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3334", - "src": { - "column": "16", - "end": "42199", - "length": "6", - "line": "1220", - "parentIndex": "3333", - "start": "42194" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3333", - "memberLocation": { - "column": "23", - "end": "42204", - "length": "4", - "line": "1220", - "parentIndex": "3333", - "start": "42201" - }, - "memberName": "path", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "42204", - "length": "11", - "line": "1220", - "parentIndex": "3332", - "start": "42194" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "42207", - "length": "14", - "line": "1220", - "parentIndex": "3331", - "start": "42194" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ] + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "20", + "end": "42512", + "length": "7", + "line": "1178", + "parentIndex": "3109", + "start": "42506" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", + "typeString": "index[address:int_const 1]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": "3331", - "memberLocation": { - "column": "31", - "end": "42212", - "length": "4", - "line": "1220", - "parentIndex": "3331", - "start": "42209" + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ] + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" }, - "memberName": "pool", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "42212", - "length": "19", - "line": "1220", - "parentIndex": "3322", - "start": "42194" + { + "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "index[address:int_const 0]" }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + { + "typeIdentifier": "t_[_[$_t_address]$_t_rational_1_by_1]$", + "typeString": "index[address:int_const 1]" } + ], + "id": "3119", + "name": "pairCodeHash", + "nodeType": "IDENTIFIER", + "src": { + "column": "20", + "end": "42546", + "length": "12", + "line": "1179", + "parentIndex": "3109", + "start": "42535" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$$$_t_[_[$_t_address]$_t_rational_0_by_1]$$$_t_[_[$_t_address]$_t_rational_1_by_1]$$", + "typeString": "function(function(),index[address:int_const 0],index[address:int_const 1])" } - }, - { + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - }, - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" - } - ], - "id": "3336", - "name": "tokenBalance", + "id": "3111", + "name": "UniswapV2Library", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3293", + "referencedDeclaration": "2503", "src": { "column": "16", - "end": "42242", - "length": "12", - "line": "1221", - "parentIndex": "3322", - "start": "42231" + "end": "42417", + "length": "16", + "line": "1175", + "parentIndex": "3110", + "start": "42402" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" } } }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - }, - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "hexValue": "30", - "id": "3337", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "16", - "end": "42261", - "length": "1", - "line": "1222", - "parentIndex": "3322", - "start": "42261" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } + "id": "3110", + "memberLocation": { + "column": "33", + "end": "42425", + "length": "7", + "line": "1175", + "parentIndex": "3110", + "start": "42419" + }, + "memberName": "pairFor", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "42425", + "length": "24", + "line": "1175", + "parentIndex": "3109", + "start": "42402" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + } + }, + "id": "3109", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "42564", + "length": "163", + "line": "1175", + "parentIndex": "3102", + "start": "42402" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$", + "typeString": "function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1]))" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SushiLegacyAdapter_$3013", + "typeString": "contract SushiLegacyAdapter" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3130", + "name": "this", + "nodeType": "IDENTIFIER", + "src": { + "column": "50", + "end": "42620", + "length": "4", + "line": "1181", + "parentIndex": "3127", + "start": "42617" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_SushiLegacyAdapter_$3013", + "typeString": "contract SushiLegacyAdapter" + } + } + } + ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3324", - "name": "bentoBox", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3128", + "name": "address", "nodeType": "IDENTIFIER", - "referencedDeclaration": "963", "src": { - "column": "34", - "end": "42100", - "length": "8", - "line": "1217", - "parentIndex": "3323", - "start": "42093" + "column": "42", + "end": "42615", + "length": "7", + "line": "1181", + "parentIndex": "3127", + "start": "42609" }, "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3129", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "42", + "end": "42615", + "length": "7", + "line": "1181", + "parentIndex": "3128", + "start": "42609" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } } } }, - "id": "3323", - "memberLocation": { - "column": "43", - "end": "42108", - "length": "7", - "line": "1217", - "parentIndex": "3323", - "start": "42102" - }, - "memberName": "deposit", - "nodeType": "MEMBER_ACCESS", + "id": "3127", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "34", - "end": "42108", - "length": "16", - "line": "1217", - "parentIndex": "3322", - "start": "42093" + "column": "42", + "end": "42621", + "length": "13", + "line": "1181", + "parentIndex": "3120", + "start": "42609" }, "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } - }, - "id": "3322", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "34", - "end": "42275", - "length": "183", - "line": "1217", - "parentIndex": "3318", - "start": "42093" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$_t_function_$_t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$_t_uint256$_t_rational_0_by_1$", - "typeString": "function(struct ITridentRouter.ExactInputParams,function(function()),index[struct ITridentRouter.ExactInputParams:int_const 0],uint256,int_const 0)" } - } - }, - "src": { - "column": "12", - "end": "42275", - "length": "205", - "line": "1217", - "parentIndex": "3317", - "start": "42071" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "typeString": "tuple(struct ITridentRouter.ExactInputParams)" - } - } - }, - "id": "3317", - "nodeType": "ASSIGNMENT", - "src": { - "column": "12", - "end": "42276", - "length": "206", - "line": "1217", - "parentIndex": "3292", - "start": "42071" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "typeString": "tuple(struct ITridentRouter.ExactInputParams)" - } - } - } - ] - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3288", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3290", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3290", - "src": { - "column": "12", - "end": "41736", - "length": "6", - "line": "1207", - "parentIndex": "3289", - "start": "41731" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3289", - "memberLocation": { - "column": "19", - "end": "41745", - "length": "8", - "line": "1207", - "parentIndex": "3289", - "start": "41738" - }, - "memberName": "amountIn", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "41745", - "length": "15", - "line": "1207", - "parentIndex": "3288", - "start": "41731" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "3291", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "31", - "end": "41750", - "length": "1", - "line": "1207", - "parentIndex": "3288", - "start": "41750" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "12", - "end": "41750", - "length": "20", - "line": "1207", - "parentIndex": "3287", - "start": "41731" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "3287", - "nodeType": "IF_STATEMENT", - "src": { - "end": "42286", - "length": "560", - "line": "1207", - "parentIndex": "3286", - "start": "41727" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "3339" - ], - "declarations": [ - { - "id": "3339", - "mutability": "MUTABLE", - "name": "n", - "nameLocation": { - "column": "16", - "end": "42648", - "length": "1", - "line": "1231", - "parentIndex": "3339", - "start": "42648" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3286", - "src": { - "column": "8", - "end": "42648", - "length": "9", - "line": "1231", - "parentIndex": "3338", - "start": "42640" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3340", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "42646", - "length": "7", - "line": "1231", - "parentIndex": "3339", - "start": "42640" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "3338", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3343", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3343", - "src": { - "column": "20", - "end": "42657", - "length": "6", - "line": "1231", - "parentIndex": "3342", - "start": "42652" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "index[address:int_const 0]" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3126", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "28", + "end": "42595", + "length": "1", + "line": "1181", + "parentIndex": "3124", + "start": "42595" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "id": "3124", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3125", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3125", + "src": { + "column": "23", + "end": "42593", + "length": "4", + "line": "1181", + "parentIndex": "3124", + "start": "42590" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "23", + "end": "42596", + "length": "7", + "line": "1181", + "parentIndex": "3122", + "start": "42590" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "index[address:int_const 0]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ] + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3123", + "name": "IERC20", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "42588", + "length": "6", + "line": "1181", + "parentIndex": "3122", + "start": "42583" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "3122", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "42597", + "length": "15", + "line": "1181", + "parentIndex": "3121", + "start": "42583" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "function(index[address:int_const 0])" + } + } + }, + "id": "3121", + "memberLocation": { + "column": "32", + "end": "42607", + "length": "9", + "line": "1181", + "parentIndex": "3121", + "start": "42599" + }, + "memberName": "balanceOf", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "42607", + "length": "25", + "line": "1181", + "parentIndex": "3120", + "start": "42583" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "function(index[address:int_const 0])" + } + } + }, + "id": "3120", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "42622", + "length": "40", + "line": "1181", + "parentIndex": "3102", + "start": "42583" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_address$", + "typeString": "function(function(address))" + } } } - }, - "id": "3342", - "memberLocation": { - "column": "27", - "end": "42662", - "length": "4", - "line": "1231", - "parentIndex": "3342", - "start": "42659" - }, - "memberName": "path", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "20", - "end": "42662", - "length": "11", - "line": "1231", - "parentIndex": "3338", - "start": "42652" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3341", - "memberLocation": { - "column": "32", - "end": "42669", - "length": "6", - "line": "1231", - "parentIndex": "3341", - "start": "42664" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "20", - "end": "42669", - "length": "18", - "line": "1231", - "parentIndex": "3338", - "start": "42652" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "8", - "end": "42670", - "length": "31", - "line": "1231", - "parentIndex": "3286", - "start": "42640" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", - "value": { - "body": { - "id": "3357", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "54", - "end": "42814", - "length": "89", - "line": "1232", - "parentIndex": "3344", - "start": "42726" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { + ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "3359", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3360", - "name": "amountOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "646", - "src": { - "column": "12", - "end": "42748", - "length": "9", - "line": "1233", - "parentIndex": "3359", - "start": "42740" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "index[address:int_const 0]" } ], "arguments": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3374", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "68", - "end": "42796", - "length": "1", - "line": "1233", - "parentIndex": "3371", - "start": "42796" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3371", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3373", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "56", - "end": "42789", - "length": "6", - "line": "1233", - "parentIndex": "3372", - "start": "42784" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3372", - "memberLocation": { - "column": "63", - "end": "42794", - "length": "4", - "line": "1233", - "parentIndex": "3372", - "start": "42791" - }, - "memberName": "path", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "56", - "end": "42794", - "length": "11", - "line": "1233", - "parentIndex": "3371", - "start": "42784" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", + "hexValue": "30", + "id": "3108", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "56", - "end": "42797", - "length": "14", - "line": "1233", - "parentIndex": "3370", - "start": "42784" + "column": "24", + "end": "42368", + "length": "1", + "line": "1174", + "parentIndex": "3106", + "start": "42368" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] + "value": "0" } }, - "id": "3370", - "memberLocation": { - "column": "71", - "end": "42802", - "length": "4", - "line": "1233", - "parentIndex": "3370", - "start": "42799" + "id": "3106", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3107", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3107", + "src": { + "column": "19", + "end": "42366", + "length": "4", + "line": "1174", + "parentIndex": "3106", + "start": "42363" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } }, - "memberName": "data", - "nodeType": "MEMBER_ACCESS", + "nodeType": "INDEX_ACCESS", "src": { - "column": "56", - "end": "42802", - "length": "19", - "line": "1233", - "parentIndex": "3361", - "start": "42784" + "column": "19", + "end": "42369", + "length": "7", + "line": "1174", + "parentIndex": "3104", + "start": "42363" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "typeIdentifier": "t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "index[address:int_const 0]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ] } } ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3369", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "42", - "end": "42770", - "length": "1", - "line": "1233", - "parentIndex": "3366", - "start": "42770" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3366", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3368", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "30", - "end": "42763", - "length": "6", - "line": "1233", - "parentIndex": "3367", - "start": "42758" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3367", - "memberLocation": { - "column": "37", - "end": "42768", - "length": "4", - "line": "1233", - "parentIndex": "3367", - "start": "42765" - }, - "memberName": "path", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "30", - "end": "42768", - "length": "11", - "line": "1233", - "parentIndex": "3366", - "start": "42758" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "30", - "end": "42771", - "length": "14", - "line": "1233", - "parentIndex": "3365", - "start": "42758" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3365", - "memberLocation": { - "column": "45", - "end": "42776", - "length": "4", - "line": "1233", - "parentIndex": "3365", - "start": "42773" - }, - "memberName": "pool", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "30", - "end": "42776", - "length": "19", - "line": "1233", - "parentIndex": "3363", - "start": "42758" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3364", - "name": "IPool", - "nodeType": "IDENTIFIER", - "src": { - "column": "24", - "end": "42756", - "length": "5", - "line": "1233", - "parentIndex": "3363", - "start": "42752" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "3363", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "24", - "end": "42777", - "length": "26", - "line": "1233", - "parentIndex": "3362", - "start": "42752" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } - } - }, - "id": "3362", - "memberLocation": { - "column": "51", - "end": "42782", - "length": "4", - "line": "1233", - "parentIndex": "3362", - "start": "42779" - }, - "memberName": "swap", - "nodeType": "MEMBER_ACCESS", + "id": "3105", + "name": "IERC20", + "nodeType": "IDENTIFIER", "src": { - "column": "24", - "end": "42782", - "length": "31", - "line": "1233", - "parentIndex": "3361", - "start": "42752" + "column": "12", + "end": "42361", + "length": "6", + "line": "1174", + "parentIndex": "3104", + "start": "42356" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "id": "3361", + "id": "3104", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { - "column": "24", - "end": "42803", - "length": "52", - "line": "1233", - "parentIndex": "3359", - "start": "42752" + "column": "12", + "end": "42370", + "length": "15", + "line": "1174", + "parentIndex": "3103", + "start": "42356" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "typeIdentifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "function(index[address:int_const 0])" } } }, - "src": { - "column": "12", - "end": "42803", - "length": "64", - "line": "1233", - "parentIndex": "3358", - "start": "42740" + "id": "3103", + "memberLocation": { + "column": "28", + "end": "42383", + "length": "12", + "line": "1174", + "parentIndex": "3103", + "start": "42372" }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3358", - "nodeType": "ASSIGNMENT", - "src": { - "column": "12", - "end": "42804", - "length": "65", - "line": "1233", - "parentIndex": "3357", - "start": "42740" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ] - }, - "closure": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "3352", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3353", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "35", - "end": "42707", - "length": "1", - "line": "1232", - "parentIndex": "3352", - "start": "42707" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3356", - "name": "i", - "nodeType": "IDENTIFIER", - "src": { - "column": "50", - "end": "42722", - "length": "1", - "line": "1232", - "parentIndex": "3354", - "start": "42722" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3355", - "name": "_increment", - "nodeType": "IDENTIFIER", + "memberName": "safeTransfer", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "39", - "end": "42720", - "length": "10", - "line": "1232", - "parentIndex": "3354", - "start": "42711" + "column": "12", + "end": "42383", + "length": "28", + "line": "1174", + "parentIndex": "3102", + "start": "42356" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$", + "typeString": "function(index[address:int_const 0])" } } }, - "id": "3354", + "id": "3102", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { - "column": "39", - "end": "42723", - "length": "13", - "line": "1232", - "parentIndex": "3352", - "start": "42711" + "column": "12", + "end": "42636", + "length": "281", + "line": "1174", + "parentIndex": "3101", + "start": "42356" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_rational_0_by_1]$_t_[_[$_t_address]$_t_rational_1_by_1]$_t_function_$_t_function_$_t_address$", + "typeString": "function(function(function(),index[address:int_const 0],index[address:int_const 1],function(function(),index[address:int_const 0],index[address:int_const 1])),function(function(address)))" } } - }, - "src": { - "column": "35", - "end": "42723", - "length": "17", - "line": "1232", - "parentIndex": "3344", - "start": "42707" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } - } + ] }, "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3349", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3350", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "28", - "end": "42700", - "length": "1", - "line": "1232", - "parentIndex": "3349", - "start": "42700" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3351", - "name": "n", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3338", - "src": { - "column": "32", - "end": "42704", - "length": "1", - "line": "1232", - "parentIndex": "3349", - "start": "42704" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, + "id": "3100", + "name": "sendTokens", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3100", "src": { - "column": "28", - "end": "42704", - "length": "5", - "line": "1232", - "parentIndex": "3344", - "start": "42700" + "column": "12", + "end": "42339", + "length": "10", + "line": "1173", + "parentIndex": "3099", + "start": "42330" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -58786,320 +56322,221 @@ } } }, - "id": "3344", - "initialiser": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "3346" - ], - "declarations": [ - { - "id": "3346", - "mutability": "MUTABLE", - "name": "i", - "nameLocation": { - "column": "21", - "end": "42693", - "length": "1", - "line": "1232", - "parentIndex": "3346", - "start": "42693" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3286", - "src": { - "column": "13", - "end": "42693", - "length": "9", - "line": "1232", - "parentIndex": "3345", - "start": "42685" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3347", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "42691", - "length": "7", - "line": "1232", - "parentIndex": "3346", - "start": "42685" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "3345", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "3348", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "25", - "end": "42697", - "length": "1", - "line": "1232", - "parentIndex": "3345", - "start": "42697" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "13", - "end": "42698", - "length": "14", - "line": "1232", - "parentIndex": "3286", - "start": "42685" - } - } - }, - "nodeType": "FOR_STATEMENT", + "id": "3099", + "nodeType": "IF_STATEMENT", "src": { - "end": "42814", - "length": "135", - "line": "1232", - "parentIndex": "3286", - "start": "42680" + "end": "42647", + "length": "322", + "line": "1173", + "parentIndex": "3073", + "start": "42326" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "body": { - "id": "3380", - "nodeType": "BLOCK", - "src": {} - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3376", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3377", - "name": "amountOut", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "646", - "src": { - "column": "12", - "end": "42927", - "length": "9", - "line": "1236", - "parentIndex": "3376", - "start": "42919" - }, - "typeDescription": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3133", + "name": "amounts", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3074", + "src": { + "column": "14", + "end": "42669", + "length": "7", + "line": "1184", + "parentIndex": "3131", + "start": "42663" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "id": "3134", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3134", + "src": { + "column": "23", + "end": "42675", + "length": "4", + "line": "1184", + "parentIndex": "3131", + "start": "42672" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3379", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3379", - "src": { - "column": "24", - "end": "42936", - "length": "6", - "line": "1236", - "parentIndex": "3378", - "start": "42931" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3378", - "memberLocation": { - "column": "31", - "end": "42953", - "length": "16", - "line": "1236", - "parentIndex": "3378", - "start": "42938" - }, - "memberName": "amountOutMinimum", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "24", - "end": "42953", - "length": "23", - "line": "1236", - "parentIndex": "3376", - "start": "42931" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + { + "typeIdentifier": "t_address", + "typeString": "address" } + ], + "id": "3135", + "name": "to", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3135", + "src": { + "column": "29", + "end": "42679", + "length": "2", + "line": "1184", + "parentIndex": "3131", + "start": "42678" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - }, + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3132", + "name": "_swap", + "nodeType": "IDENTIFIER", "src": { - "column": "12", - "end": "42953", - "length": "35", - "line": "1236", - "parentIndex": "3375", - "start": "42919" + "column": "8", + "end": "42661", + "length": "5", + "line": "1184", + "parentIndex": "3131", + "start": "42657" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "id": "3375", - "nodeType": "IF_STATEMENT", + "id": "3131", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "end": "42982", - "length": "68", - "line": "1236", - "parentIndex": "3286", - "start": "42915" + "column": "8", + "end": "42680", + "length": "24", + "line": "1184", + "parentIndex": "3073", + "start": "42657" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_address$_t_address$", + "typeString": "function(uint256,address,address)" } } } ] }, - "id": "3278", + "id": "3058", "implemented": true, "kind": "KIND_FUNCTION", - "name": "_exactInput", + "name": "_swapExactTokensForTokens", "nameLocation": { "column": "13", - "end": "41626", - "length": "11", - "line": "1203", - "parentIndex": "3278", - "start": "41616" + "end": "41780", + "length": "25", + "line": "1155", + "parentIndex": "3058", + "start": "41756" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3279", + "id": "3059", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3280", - "name": "params", + "id": "3060", + "name": "amountIn", "nodeType": "VARIABLE_DECLARATION", - "scope": "3280", + "scope": "3060", "src": { - "column": "25", - "end": "41657", - "length": "30", - "line": "1203", - "parentIndex": "3279", - "start": "41628" + "column": "8", + "end": "41806", + "length": "16", + "line": "1156", + "parentIndex": "3059", + "start": "41791" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "3281", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "3282", - "name": "ExactInputParams", - "nameLocation": { - "column": "25", - "end": "41643", - "length": "16", - "line": "1203", - "parentIndex": "3281", - "start": "41628" - }, - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3101", - "src": { - "column": "25", - "end": "41643", - "length": "16", - "line": "1203", - "parentIndex": "3281", - "start": "41628" - } - }, - "referencedDeclaration": "3101", + "id": "3061", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "25", - "end": "41643", - "length": "16", - "line": "1203", - "parentIndex": "3280", - "start": "41628" + "column": "8", + "end": "41797", + "length": "7", + "line": "1156", + "parentIndex": "3060", + "start": "41791" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" - } - ], - "src": { - "column": "25", - "end": "41657", - "length": "30", - "line": "1203", - "parentIndex": "3278", - "start": "41628" - } - }, - "returnParameters": { - "id": "3283", - "nodeType": "PARAMETER_LIST", - "parameters": [ + }, { - "id": "3284", - "name": "amountOut", + "id": "3062", + "name": "amountOutMin", "nodeType": "VARIABLE_DECLARATION", - "scope": "3284", + "scope": "3062", "src": { - "column": "17", - "end": "41710", - "length": "17", - "line": "1205", - "parentIndex": "3283", - "start": "41694" + "column": "8", + "end": "41836", + "length": "20", + "line": "1157", + "parentIndex": "3059", + "start": "41817" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -59108,16 +56545,16 @@ "typeString": "uint256" }, "typeName": { - "id": "3285", + "id": "3063", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "17", - "end": "41700", + "column": "8", + "end": "41823", "length": "7", - "line": "1205", - "parentIndex": "3284", - "start": "41694" + "line": "1157", + "parentIndex": "3062", + "start": "41817" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -59125,252 +56562,359 @@ } }, "visibility": "INTERNAL" - } - ], - "src": { - "column": "17", - "end": "41710", - "length": "17", - "line": "1205", - "parentIndex": "3278", - "start": "41694" - } - }, - "scope": "3265", - "signature": "d9c63675", - "src": { - "column": "4", - "end": "42988", - "length": "1382", - "line": "1203", - "parentIndex": "3265", - "start": "41607" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", - "typeString": "function(struct ITridentRouter.ExactInputParams)" - }, - "visibility": "INTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "3388", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "68", - "end": "45904", - "length": "2299", - "line": "1245", - "parentIndex": "3382", - "start": "43606" - }, - "statements": [ + }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "3390" - ], - "declarations": [ - { - "id": "3390", - "mutability": "MUTABLE", - "name": "n", - "nameLocation": { - "column": "16", - "end": "43783", - "length": "1", - "line": "1248", - "parentIndex": "3390", - "start": "43783" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3388", - "src": { - "column": "8", - "end": "43783", - "length": "9", - "line": "1248", - "parentIndex": "3389", - "start": "43775" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3391", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "43781", - "length": "7", - "line": "1248", - "parentIndex": "3390", - "start": "43775" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "3389", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3394", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3394", - "src": { - "column": "20", - "end": "43792", - "length": "6", - "line": "1248", - "parentIndex": "3393", - "start": "43787" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" - } - } - }, - "id": "3393", - "memberLocation": { - "column": "27", - "end": "43804", - "length": "11", - "line": "1248", - "parentIndex": "3393", - "start": "43794" - }, - "memberName": "initialPath", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "20", - "end": "43804", - "length": "18", - "line": "1248", - "parentIndex": "3389", - "start": "43787" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" - } - } - }, - "id": "3392", - "memberLocation": { - "column": "39", - "end": "43811", - "length": "6", - "line": "1248", - "parentIndex": "3392", - "start": "43806" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "20", - "end": "43811", - "length": "25", - "line": "1248", - "parentIndex": "3389", - "start": "43787" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" - } - } + "id": "3064", + "name": "path", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3064", + "src": { + "column": "8", + "end": "41867", + "length": "21", + "line": "1158", + "parentIndex": "3059", + "start": "41847" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3065", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "41853", + "length": "7", + "line": "1158", + "parentIndex": "3064", + "start": "41847" }, - "nodeType": "VARIABLE_DECLARATION", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3066", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3066", + "src": { + "column": "8", + "end": "41887", + "length": "10", + "line": "1159", + "parentIndex": "3059", + "start": "41878" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3067", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "41884", + "length": "7", + "line": "1159", + "parentIndex": "3066", + "start": "41878" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3068", + "name": "sendTokens", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3068", + "src": { + "column": "8", + "end": "41912", + "length": "15", + "line": "1160", + "parentIndex": "3059", + "start": "41898" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "3069", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "43812", - "length": "38", - "line": "1248", - "parentIndex": "3388", - "start": "43775" + "end": "41901", + "length": "4", + "line": "1160", + "parentIndex": "3068", + "start": "41898" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - } - }, + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "41912", + "length": "122", + "line": "1156", + "parentIndex": "3058", + "start": "41791" + } + }, + "returnParameters": { + "id": "3070", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "3071", + "name": "amountOut", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3071", + "src": { + "column": "24", + "end": "41954", + "length": "17", + "line": "1161", + "parentIndex": "3070", + "start": "41938" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3072", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "24", + "end": "41944", + "length": "7", + "line": "1161", + "parentIndex": "3071", + "start": "41938" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "24", + "end": "41954", + "length": "17", + "line": "1161", + "parentIndex": "3058", + "start": "41938" + } + }, + "scope": "3049", + "signature": "68da33b9", + "src": { + "column": "4", + "end": "42687", + "length": "941", + "line": "1155", + "parentIndex": "3049", + "start": "41747" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_address$_t_bool$", + "typeString": "function(uint256,uint256,address,address,bool)" + }, + "visibility": "INTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "3146", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "23", + "end": "43744", + "length": "842", + "line": "1192", + "parentIndex": "3137", + "start": "42903" + }, + "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "3408", + "id": "3159", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "54", - "end": "44171", - "length": "304", - "line": "1249", - "parentIndex": "3395", - "start": "43868" + "column": "50", + "end": "43738", + "length": "784", + "line": "1193", + "parentIndex": "3147", + "start": "42955" }, "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, + "assignments": [ + "3161", + "3163" + ], + "declarations": [ { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "id": "3161", + "mutability": "MUTABLE", + "name": "input", + "nameLocation": { + "column": "21", + "end": "42982", + "length": "5", + "line": "1194", + "parentIndex": "3161", + "start": "42978" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3159", + "src": { + "column": "13", + "end": "42982", + "length": "13", + "line": "1194", + "parentIndex": "3160", + "start": "42970" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3162", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "42976", + "length": "7", + "line": "1194", + "parentIndex": "3161", + "start": "42970" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" }, { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "id": "3163", + "mutability": "MUTABLE", + "name": "output", + "nameLocation": { + "column": "36", + "end": "42998", + "length": "6", + "line": "1194", + "parentIndex": "3163", + "start": "42993" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3159", + "src": { + "column": "28", + "end": "42998", + "length": "14", + "line": "1194", + "parentIndex": "3160", + "start": "42985" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3164", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "28", + "end": "42991", + "length": "7", + "line": "1194", + "parentIndex": "3163", + "start": "42985" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" } ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { + "id": "3160", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3416", + "id": "3168", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "2886", "src": { - "column": "35", - "end": "43936", + "column": "52", + "end": "43009", "length": "1", - "line": "1251", - "parentIndex": "3413", - "start": "43936" + "line": "1194", + "parentIndex": "3166", + "start": "43009" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -59378,73 +56922,45 @@ } } }, - "id": "3413", + "id": "3166", "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3415", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "16", - "end": "43922", - "length": "6", - "line": "1251", - "parentIndex": "3414", - "start": "43917" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3414", - "memberLocation": { - "column": "23", - "end": "43934", - "length": "11", - "line": "1251", - "parentIndex": "3414", - "start": "43924" - }, - "memberName": "initialPath", - "nodeType": "MEMBER_ACCESS", + "id": "3167", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2856", "src": { - "column": "16", - "end": "43934", - "length": "18", - "line": "1251", - "parentIndex": "3413", - "start": "43917" + "column": "47", + "end": "43007", + "length": "4", + "line": "1194", + "parentIndex": "3166", + "start": "43004" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_address", + "typeString": "address" } } }, "nodeType": "INDEX_ACCESS", "src": { - "column": "16", - "end": "43937", - "length": "21", - "line": "1251", - "parentIndex": "3412", - "start": "43917" + "column": "47", + "end": "43010", + "length": "7", + "line": "1194", + "parentIndex": "3160", + "start": "43004" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_uint256", @@ -59453,227 +56969,112 @@ ] } }, - "id": "3412", - "memberLocation": { - "column": "38", - "end": "43945", - "length": "7", - "line": "1251", - "parentIndex": "3412", - "start": "43939" - }, - "memberName": "tokenIn", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "43945", - "length": "29", - "line": "1251", - "parentIndex": "3409", - "start": "43917" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3420", - "name": "this", - "nodeType": "IDENTIFIER", - "src": { - "column": "24", - "end": "43975", - "length": "4", - "line": "1252", - "parentIndex": "3417", - "start": "43972" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3418", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "43970", - "length": "7", - "line": "1252", - "parentIndex": "3417", - "start": "43964" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3419", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "16", - "end": "43970", - "length": "7", - "line": "1252", - "parentIndex": "3418", - "start": "43964" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "3417", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "43976", - "length": "13", - "line": "1252", - "parentIndex": "3409", - "start": "43964" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], - "expression": { + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3425", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "35", - "end": "44014", - "length": "1", - "line": "1253", - "parentIndex": "3422", - "start": "44014" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3422", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "expression": { + "id": "3171", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3424", - "name": "params", + "id": "3172", + "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", + "referencedDeclaration": "2886", "src": { - "column": "16", - "end": "44000", - "length": "6", - "line": "1253", - "parentIndex": "3423", - "start": "43995" + "column": "61", + "end": "43018", + "length": "1", + "line": "1194", + "parentIndex": "3171", + "start": "43018" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3423", - "memberLocation": { - "column": "23", - "end": "44012", - "length": "11", - "line": "1253", - "parentIndex": "3423", - "start": "44002" + "nodeType": "BINARY_OPERATION", + "operator": "ADDITION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "3173", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "65", + "end": "43022", + "length": "1", + "line": "1194", + "parentIndex": "3171", + "start": "43022" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } }, - "memberName": "initialPath", - "nodeType": "MEMBER_ACCESS", "src": { - "column": "16", - "end": "44012", - "length": "18", - "line": "1253", - "parentIndex": "3422", - "start": "43995" + "column": "61", + "end": "43022", + "length": "5", + "line": "1194", + "parentIndex": "3169", + "start": "43018" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3169", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3170", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2856", + "src": { + "column": "56", + "end": "43016", + "length": "4", + "line": "1194", + "parentIndex": "3169", + "start": "43013" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } } }, "nodeType": "INDEX_ACCESS", "src": { - "column": "16", - "end": "44015", - "length": "21", - "line": "1253", - "parentIndex": "3421", - "start": "43995" + "column": "56", + "end": "43023", + "length": "11", + "line": "1194", + "parentIndex": "3160", + "start": "43013" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" }, "typeDescriptions": [ { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_uint256", @@ -59681,1217 +57082,1079 @@ } ] } - }, - "id": "3421", - "memberLocation": { - "column": "38", - "end": "44020", - "length": "4", - "line": "1253", - "parentIndex": "3421", - "start": "44017" - }, - "memberName": "pool", - "nodeType": "MEMBER_ACCESS", + } + ], + "id": "3165", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "46", + "end": "43024", + "length": "22", + "line": "1194", + "parentIndex": "3147", + "start": "43003" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_[_[$_t_address]$_t_uint256]$_$_t_[_[$_t_address]$_t_uint256]$$", + "typeString": "tuple(index[address:uint256],index[address:uint256])" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "43025", + "length": "57", + "line": "1194", + "parentIndex": "3159", + "start": "42969" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "3175" + ], + "declarations": [ + { + "id": "3175", + "mutability": "MUTABLE", + "name": "token0", + "nameLocation": { + "column": "21", + "end": "43053", + "length": "6", + "line": "1195", + "parentIndex": "3175", + "start": "43048" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3159", + "src": { + "column": "13", + "end": "43053", + "length": "14", + "line": "1195", + "parentIndex": "3174", + "start": "43040" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3176", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "16", - "end": "44020", - "length": "26", - "line": "1253", - "parentIndex": "3409", - "start": "43995" + "column": "13", + "end": "43046", + "length": "7", + "line": "1195", + "parentIndex": "3175", + "start": "43040" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_address", + "typeString": "address" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3430", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "35", - "end": "44058", - "length": "1", - "line": "1254", - "parentIndex": "3427", - "start": "44058" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } + }, + "visibility": "INTERNAL" + } + ], + "id": "3174", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3180", + "name": "input", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3160", + "src": { + "column": "61", + "end": "43092", + "length": "5", + "line": "1195", + "parentIndex": "3177", + "start": "43088" }, - "id": "3427", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3429", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "16", - "end": "44044", - "length": "6", - "line": "1254", - "parentIndex": "3428", - "start": "44039" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3428", - "memberLocation": { - "column": "23", - "end": "44056", - "length": "11", - "line": "1254", - "parentIndex": "3428", - "start": "44046" - }, - "memberName": "initialPath", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "44056", - "length": "18", - "line": "1254", - "parentIndex": "3427", - "start": "44039" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "nodeType": "INDEX_ACCESS", + ], + "id": "3181", + "name": "output", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3160", "src": { - "column": "16", - "end": "44059", - "length": "21", - "line": "1254", - "parentIndex": "3426", - "start": "44039" + "column": "68", + "end": "43100", + "length": "6", + "line": "1195", + "parentIndex": "3177", + "start": "43095" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3179", + "name": "UniswapV2Library", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2503", + "src": { + "column": "33", + "end": "43075", + "length": "16", + "line": "1195", + "parentIndex": "3178", + "start": "43060" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeDescription": { + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" } - ] + } + }, + "id": "3178", + "memberLocation": { + "column": "50", + "end": "43086", + "length": "10", + "line": "1195", + "parentIndex": "3178", + "start": "43077" + }, + "memberName": "sortTokens", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "33", + "end": "43086", + "length": "27", + "line": "1195", + "parentIndex": "3177", + "start": "43060" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" } - }, - "id": "3426", - "memberLocation": { - "column": "38", - "end": "44066", - "length": "6", - "line": "1254", - "parentIndex": "3426", - "start": "44061" - }, - "memberName": "amount", - "nodeType": "MEMBER_ACCESS", + } + }, + "id": "3177", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "33", + "end": "43101", + "length": "42", + "line": "1195", + "parentIndex": "3174", + "start": "43060" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "43102", + "length": "64", + "line": "1195", + "parentIndex": "3159", + "start": "43039" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "3183" + ], + "declarations": [ + { + "id": "3183", + "mutability": "MUTABLE", + "name": "amountOut", + "nameLocation": { + "column": "20", + "end": "43132", + "length": "9", + "line": "1196", + "parentIndex": "3183", + "start": "43124" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3159", + "src": { + "column": "12", + "end": "43132", + "length": "17", + "line": "1196", + "parentIndex": "3182", + "start": "43116" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3184", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "16", - "end": "44066", - "length": "28", - "line": "1254", - "parentIndex": "3409", - "start": "44039" + "column": "12", + "end": "43122", + "length": "7", + "line": "1196", + "parentIndex": "3183", + "start": "43116" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - } + }, + "visibility": "INTERNAL" } ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "id": "3182", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { - "expression": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3187", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3188", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "40", + "end": "43144", + "length": "1", + "line": "1196", + "parentIndex": "3187", + "start": "43144" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "ADDITION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "3189", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "44", + "end": "43148", + "length": "1", + "line": "1196", + "parentIndex": "3187", + "start": "43148" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + }, + "src": { + "column": "40", + "end": "43148", + "length": "5", + "line": "1196", + "parentIndex": "3185", + "start": "43144" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3185", + "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3411", - "name": "bentoBox", + "id": "3186", + "name": "amounts", "nodeType": "IDENTIFIER", - "referencedDeclaration": "963", + "referencedDeclaration": "2861", "src": { - "column": "12", - "end": "43889", - "length": "8", - "line": "1250", - "parentIndex": "3410", - "start": "43882" + "column": "32", + "end": "43142", + "length": "7", + "line": "1196", + "parentIndex": "3185", + "start": "43136" }, "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3410", - "memberLocation": { - "column": "21", - "end": "43898", - "length": "8", - "line": "1250", - "parentIndex": "3410", - "start": "43891" - }, - "memberName": "transfer", - "nodeType": "MEMBER_ACCESS", + "nodeType": "INDEX_ACCESS", "src": { - "column": "12", - "end": "43898", - "length": "17", - "line": "1250", - "parentIndex": "3409", - "start": "43882" + "column": "32", + "end": "43149", + "length": "14", + "line": "1196", + "parentIndex": "3182", + "start": "43136" }, "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" - } + "typeIdentifier": "t_[_[$_t_uint256]$_t_uint256]$", + "typeString": "index[uint256:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] } }, - "id": "3409", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "44080", - "length": "199", - "line": "1250", - "parentIndex": "3408", - "start": "43882" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],index[struct ITridentRouter.ExactInputParams:uint256])" + "end": "43150", + "length": "35", + "line": "1196", + "parentIndex": "3159", + "start": "43116" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "argumentTypes": [ + "assignments": [ + "3191", + "3193" + ], + "declarations": [ + { + "id": "3191", + "mutability": "MUTABLE", + "name": "amount0Out", + "nameLocation": { + "column": "21", + "end": "43182", + "length": "10", + "line": "1197", + "parentIndex": "3191", + "start": "43173" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3159", + "src": { + "column": "13", + "end": "43182", + "length": "18", + "line": "1197", + "parentIndex": "3190", + "start": "43165" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3192", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "43171", + "length": "7", + "line": "1197", + "parentIndex": "3191", + "start": "43165" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "id": "3193", + "mutability": "MUTABLE", + "name": "amount1Out", + "nameLocation": { + "column": "41", + "end": "43202", + "length": "10", + "line": "1197", + "parentIndex": "3193", + "start": "43193" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3159", + "src": { + "column": "33", + "end": "43202", + "length": "18", + "line": "1197", + "parentIndex": "3190", + "start": "43185" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3194", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "33", + "end": "43191", + "length": "7", + "line": "1197", + "parentIndex": "3193", + "start": "43185" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" } ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "id": "3190", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", + "value": { + "expressions": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "baseExpression": { + "id": "3197", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3444", - "name": "i", + "id": "3198", + "name": "input", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "3160", "src": { - "column": "70", - "end": "44153", - "length": "1", - "line": "1256", - "parentIndex": "3441", - "start": "44153" + "column": "55", + "end": "43211", + "length": "5", + "line": "1197", + "parentIndex": "3197", + "start": "43207" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - "id": "3441", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "nodeType": "BINARY_OPERATION", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3443", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "51", - "end": "44139", - "length": "6", - "line": "1256", - "parentIndex": "3442", - "start": "44134" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3442", - "memberLocation": { - "column": "58", - "end": "44151", - "length": "11", - "line": "1256", - "parentIndex": "3442", - "start": "44141" - }, - "memberName": "initialPath", - "nodeType": "MEMBER_ACCESS", + "id": "3199", + "name": "token0", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3174", "src": { - "column": "51", - "end": "44151", - "length": "18", - "line": "1256", - "parentIndex": "3441", - "start": "44134" + "column": "64", + "end": "43221", + "length": "6", + "line": "1197", + "parentIndex": "3197", + "start": "43216" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - "nodeType": "INDEX_ACCESS", "src": { - "column": "51", - "end": "44154", - "length": "21", - "line": "1256", - "parentIndex": "3440", - "start": "44134" + "column": "55", + "end": "43221", + "length": "15", + "line": "1197", + "parentIndex": "3196", + "start": "43207" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3204", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "27", + "end": "43250", + "length": "1", + "line": "1198", + "parentIndex": "3201", + "start": "43250" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "3202", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "19", + "end": "43248", + "length": "7", + "line": "1198", + "parentIndex": "3201", + "start": "43242" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "typeName": { + "id": "3203", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "19", + "end": "43248", + "length": "7", + "line": "1198", + "parentIndex": "3202", + "start": "43242" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "id": "3201", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "19", + "end": "43251", + "length": "10", + "line": "1198", + "parentIndex": "3190", + "start": "43242" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_0_by_1$", + "typeString": "function(int_const 0)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3205", + "name": "amountOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3182", + "src": { + "column": "31", + "end": "43262", + "length": "9", + "line": "1198", + "parentIndex": "3200", + "start": "43254" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ], + "id": "3200", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "18", + "end": "43263", + "length": "23", + "line": "1198", + "parentIndex": "3196", + "start": "43241" }, - "typeDescriptions": [ + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_function_$_t_rational_0_by_1$_$_t_uint256$", + "typeString": "tuple(function(int_const 0),uint256)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3207", + "name": "amountOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3182", + "src": { + "column": "19", + "end": "43292", + "length": "9", + "line": "1199", + "parentIndex": "3206", + "start": "43284" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3440", - "memberLocation": { - "column": "73", - "end": "44159", - "length": "4", - "line": "1256", - "parentIndex": "3440", - "start": "44156" - }, - "memberName": "data", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "51", - "end": "44159", - "length": "26", - "line": "1256", - "parentIndex": "3431", - "start": "44134" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "arguments": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3439", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "hexValue": "30", + "id": "3211", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "37", - "end": "44120", + "column": "38", + "end": "43303", "length": "1", - "line": "1256", - "parentIndex": "3436", - "start": "44120" + "line": "1199", + "parentIndex": "3208", + "start": "43303" }, "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - }, - "id": "3436", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3438", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "18", - "end": "44106", - "length": "6", - "line": "1256", - "parentIndex": "3437", - "start": "44101" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3437", - "memberLocation": { - "column": "25", - "end": "44118", - "length": "11", - "line": "1256", - "parentIndex": "3437", - "start": "44108" - }, - "memberName": "initialPath", - "nodeType": "MEMBER_ACCESS", + ], + "id": "3209", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "30", + "end": "43301", + "length": "7", + "line": "1199", + "parentIndex": "3208", + "start": "43295" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "typeName": { + "id": "3210", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "18", - "end": "44118", - "length": "18", - "line": "1256", - "parentIndex": "3436", - "start": "44101" + "column": "30", + "end": "43301", + "length": "7", + "line": "1199", + "parentIndex": "3209", + "start": "43295" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "18", - "end": "44121", - "length": "21", - "line": "1256", - "parentIndex": "3435", - "start": "44101" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] + } + }, + "id": "3208", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "30", + "end": "43304", + "length": "10", + "line": "1199", + "parentIndex": "3190", + "start": "43295" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_0_by_1$", + "typeString": "function(int_const 0)" } - }, - "id": "3435", - "memberLocation": { - "column": "40", - "end": "44126", - "length": "4", - "line": "1256", - "parentIndex": "3435", - "start": "44123" - }, - "memberName": "pool", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "18", - "end": "44126", - "length": "26", - "line": "1256", - "parentIndex": "3433", - "start": "44101" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" } } + ], + "id": "3206", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "18", + "end": "43305", + "length": "23", + "line": "1199", + "parentIndex": "3196", + "start": "43283" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_function_$_t_rational_0_by_1$$", + "typeString": "tuple(uint256,function(int_const 0))" } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3434", - "name": "IPool", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "44099", - "length": "5", - "line": "1256", - "parentIndex": "3433", - "start": "44095" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "3433", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "44127", - "length": "33", - "line": "1256", - "parentIndex": "3432", - "start": "44095" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256])" } } - }, - "id": "3432", - "memberLocation": { - "column": "46", - "end": "44132", - "length": "4", - "line": "1256", - "parentIndex": "3432", - "start": "44129" - }, - "memberName": "swap", - "nodeType": "MEMBER_ACCESS", + ], + "id": "3196", + "nodeType": "CONDITIONAL_EXPRESSION", "src": { - "column": "12", - "end": "44132", - "length": "38", - "line": "1256", - "parentIndex": "3431", - "start": "44095" + "column": "55", + "end": "43305", + "length": "99", + "line": "1197", + "parentIndex": "3190", + "start": "43207" }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } - } - }, - "id": "3431", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "44160", - "length": "66", - "line": "1256", - "parentIndex": "3408", - "start": "44095" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } - } - } - ] - }, - "closure": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "3403", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3404", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "35", - "end": "43849", - "length": "1", - "line": "1249", - "parentIndex": "3403", - "start": "43849" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3407", - "name": "i", - "nodeType": "IDENTIFIER", - "src": { - "column": "50", - "end": "43864", - "length": "1", - "line": "1249", - "parentIndex": "3405", - "start": "43864" + "typeDescriptions": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3406", - "name": "_increment", - "nodeType": "IDENTIFIER", - "src": { - "column": "39", - "end": "43862", - "length": "10", - "line": "1249", - "parentIndex": "3405", - "start": "43853" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "3405", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "39", - "end": "43865", - "length": "13", - "line": "1249", - "parentIndex": "3403", - "start": "43853" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - } - } - }, - "src": { - "column": "35", - "end": "43865", - "length": "17", - "line": "1249", - "parentIndex": "3395", - "start": "43849" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3400", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3401", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "28", - "end": "43842", - "length": "1", - "line": "1249", - "parentIndex": "3400", - "start": "43842" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3402", - "name": "n", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3389", - "src": { - "column": "32", - "end": "43846", - "length": "1", - "line": "1249", - "parentIndex": "3400", - "start": "43846" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "28", - "end": "43846", - "length": "5", - "line": "1249", - "parentIndex": "3395", - "start": "43842" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "3395", - "initialiser": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "3397" - ], - "declarations": [ - { - "id": "3397", - "mutability": "MUTABLE", - "name": "i", - "nameLocation": { - "column": "21", - "end": "43835", - "length": "1", - "line": "1249", - "parentIndex": "3397", - "start": "43835" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3388", - "src": { - "column": "13", - "end": "43835", - "length": "9", - "line": "1249", - "parentIndex": "3396", - "start": "43827" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3398", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "43833", - "length": "7", - "line": "1249", - "parentIndex": "3397", - "start": "43827" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "3396", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "3399", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "25", - "end": "43839", - "length": "1", - "line": "1249", - "parentIndex": "3396", - "start": "43839" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "13", - "end": "43840", - "length": "14", - "line": "1249", - "parentIndex": "3388", - "start": "43827" - } - } - }, - "nodeType": "FOR_STATEMENT", - "src": { - "end": "44171", - "length": "350", - "line": "1249", - "parentIndex": "3388", - "start": "43822" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "3446", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3447", - "name": "n", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3389", - "src": { - "column": "8", - "end": "44250", - "length": "1", - "line": "1259", - "parentIndex": "3446", - "start": "44250" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3450", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3450", - "src": { - "column": "12", - "end": "44259", - "length": "6", - "line": "1259", - "parentIndex": "3449", - "start": "44254" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" - } + { + "typeIdentifier": "t_tuple_$_t_function_$_t_rational_0_by_1$_$_t_uint256$", + "typeString": "tuple(function(int_const 0),uint256)" + }, + { + "typeIdentifier": "t_tuple_$_t_uint256_$_t_function_$_t_rational_0_by_1$$", + "typeString": "tuple(uint256,function(int_const 0))" } - }, - "id": "3449", - "memberLocation": { - "column": "19", - "end": "44274", - "length": "14", - "line": "1259", - "parentIndex": "3449", - "start": "44261" - }, - "memberName": "percentagePath", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "44274", - "length": "21", - "line": "1259", - "parentIndex": "3448", - "start": "44254" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" - } + ] } - }, - "id": "3448", - "memberLocation": { - "column": "34", - "end": "44281", - "length": "6", - "line": "1259", - "parentIndex": "3448", - "start": "44276" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", + }, + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "44281", - "length": "28", - "line": "1259", - "parentIndex": "3446", - "start": "44254" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" + "end": "43306", + "length": "143", + "line": "1197", + "parentIndex": "3159", + "start": "43164" } } }, - "src": { - "column": "8", - "end": "44281", - "length": "32", - "line": "1259", - "parentIndex": "3445", - "start": "44250" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3445", - "nodeType": "ASSIGNMENT", - "src": { - "column": "8", - "end": "44282", - "length": "33", - "line": "1259", - "parentIndex": "3388", - "start": "44250" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", - "value": { - "body": { - "id": "3464", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "54", - "end": "44952", - "length": "615", - "line": "1260", - "parentIndex": "3451", - "start": "44338" - }, - "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3466" + "3213" ], "declarations": [ { - "id": "3466", + "id": "3213", "mutability": "MUTABLE", - "name": "balanceShares", + "name": "to", "nameLocation": { "column": "20", - "end": "44372", - "length": "13", - "line": "1261", - "parentIndex": "3466", - "start": "44360" + "end": "43329", + "length": "2", + "line": "1200", + "parentIndex": "3213", + "start": "43328" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3464", + "scope": "3159", "src": { "column": "12", - "end": "44372", - "length": "21", - "line": "1261", - "parentIndex": "3465", - "start": "44352" + "end": "43329", + "length": "10", + "line": "1200", + "parentIndex": "3212", + "start": "43320" }, "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "3467", - "name": "uint256", + "id": "3214", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "12", - "end": "44358", + "end": "43326", "length": "7", - "line": "1261", - "parentIndex": "3466", - "start": "44352" + "line": "1200", + "parentIndex": "3213", + "start": "43320" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" } ], - "id": "3465", + "id": "3212", "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], - "arguments": [ + "expressions": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "id": "3217", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3475", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "38", - "end": "44434", - "length": "1", - "line": "1262", - "parentIndex": "3472", - "start": "44434" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } + "id": "3218", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "25", + "end": "43333", + "length": "1", + "line": "1200", + "parentIndex": "3217", + "start": "43333" }, - "id": "3472", - "indexExpression": { + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3219", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3474", - "name": "params", + "id": "3221", + "name": "path", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", + "referencedDeclaration": "2856", "src": { - "column": "16", - "end": "44417", - "length": "6", - "line": "1262", - "parentIndex": "3473", - "start": "44412" + "column": "29", + "end": "43340", + "length": "4", + "line": "1200", + "parentIndex": "3220", + "start": "43337" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - "id": "3473", + "id": "3220", "memberLocation": { - "column": "23", - "end": "44432", - "length": "14", - "line": "1262", - "parentIndex": "3473", - "start": "44419" + "column": "34", + "end": "43347", + "length": "6", + "line": "1200", + "parentIndex": "3220", + "start": "43342" }, - "memberName": "percentagePath", + "memberName": "length", "nodeType": "MEMBER_ACCESS", "src": { - "column": "16", - "end": "44432", - "length": "21", - "line": "1262", - "parentIndex": "3472", - "start": "44412" + "column": "29", + "end": "43347", + "length": "11", + "line": "1200", + "parentIndex": "3212", + "start": "43337" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - "nodeType": "INDEX_ACCESS", + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "32", + "id": "3222", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "43", + "end": "43351", + "length": "1", + "line": "1200", + "parentIndex": "3219", + "start": "43351" + }, + "typeDescription": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + }, "src": { - "column": "16", - "end": "44435", - "length": "24", - "line": "1262", - "parentIndex": "3471", - "start": "44412" + "column": "29", + "end": "43351", + "length": "15", + "line": "1200", + "parentIndex": "3217", + "start": "43337" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] + "typeIdentifier": "t_address", + "typeString": "address" + } } }, - "id": "3471", - "memberLocation": { - "column": "41", - "end": "44443", - "length": "7", - "line": "1262", - "parentIndex": "3471", - "start": "44437" - }, - "memberName": "tokenIn", - "nodeType": "MEMBER_ACCESS", "src": { - "column": "16", - "end": "44443", - "length": "32", - "line": "1262", - "parentIndex": "3468", - "start": "44412" + "column": "25", + "end": "43351", + "length": "19", + "line": "1200", + "parentIndex": "3216", + "start": "43333" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_bool", + "typeString": "bool" } } }, @@ -60900,579 +58163,341 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_function_$$$_t_address$$_t_[_[$_t_address]$_t_uint256]$$", + "typeString": "function(function(),address,index[address:uint256])" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3479", - "name": "this", + "id": "3226", + "name": "factory", "nodeType": "IDENTIFIER", "src": { - "column": "24", - "end": "44473", - "length": "4", - "line": "1263", - "parentIndex": "3476", - "start": "44470" + "column": "20", + "end": "43423", + "length": "7", + "line": "1202", + "parentIndex": "3223", + "start": "43417" }, "typeDescription": { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3477", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "44468", - "length": "7", - "line": "1263", - "parentIndex": "3476", - "start": "44462" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3478", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "id": "3227", + "name": "output", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3160", "src": { - "column": "16", - "end": "44468", - "length": "7", - "line": "1263", - "parentIndex": "3477", - "start": "44462" + "column": "20", + "end": "43451", + "length": "6", + "line": "1203", + "parentIndex": "3223", + "start": "43446" }, - "stateMutability": "NONPAYABLE", "typeDescription": { "typeIdentifier": "t_address", "typeString": "address" } } - } - }, - "id": "3476", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "44474", - "length": "13", - "line": "1263", - "parentIndex": "3468", - "start": "44462" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3470", - "name": "bentoBox", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "963", - "src": { - "column": "36", - "end": "44383", - "length": "8", - "line": "1261", - "parentIndex": "3469", - "start": "44376" }, - "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" - } - } - }, - "id": "3469", - "memberLocation": { - "column": "45", - "end": "44393", - "length": "9", - "line": "1261", - "parentIndex": "3469", - "start": "44385" - }, - "memberName": "balanceOf", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "36", - "end": "44393", - "length": "18", - "line": "1261", - "parentIndex": "3468", - "start": "44376" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" - } - } - }, - "id": "3468", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "36", - "end": "44488", - "length": "113", - "line": "1261", - "parentIndex": "3465", - "start": "44376" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address))" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "12", - "end": "44489", - "length": "138", - "line": "1261", - "parentIndex": "3464", - "start": "44352" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "3481" - ], - "declarations": [ - { - "id": "3481", - "mutability": "MUTABLE", - "name": "transferShares", - "nameLocation": { - "column": "20", - "end": "44524", - "length": "14", - "line": "1265", - "parentIndex": "3481", - "start": "44511" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3464", - "src": { - "column": "12", - "end": "44524", - "length": "22", - "line": "1265", - "parentIndex": "3480", - "start": "44503" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3482", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "44509", - "length": "7", - "line": "1265", - "parentIndex": "3481", - "start": "44503" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "3480", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3483", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3485", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3486", - "name": "balanceShares", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3465", - "src": { - "column": "38", - "end": "44541", - "length": "13", - "line": "1265", - "parentIndex": "3485", - "start": "44529" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "MULTIPLICATION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3491", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "38", - "end": "44583", - "length": "1", - "line": "1266", - "parentIndex": "3488", - "start": "44583" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3488", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3490", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "16", - "end": "44566", - "length": "6", - "line": "1266", - "parentIndex": "3489", - "start": "44561" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3489", - "memberLocation": { - "column": "23", - "end": "44581", - "length": "14", - "line": "1266", - "parentIndex": "3489", - "start": "44568" - }, - "memberName": "percentagePath", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "44581", - "length": "21", - "line": "1266", - "parentIndex": "3480", - "start": "44561" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "44584", - "length": "24", - "line": "1266", - "parentIndex": "3480", - "start": "44561" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3230", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3231", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "25", + "end": "43479", + "length": "1", + "line": "1204", + "parentIndex": "3230", + "start": "43479" }, - { + "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - ] + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "ADDITION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "32", + "id": "3232", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "29", + "end": "43483", + "length": "1", + "line": "1204", + "parentIndex": "3230", + "start": "43483" + }, + "typeDescription": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + }, + "src": { + "column": "25", + "end": "43483", + "length": "5", + "line": "1204", + "parentIndex": "3228", + "start": "43479" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } + } + }, + "id": "3228", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3229", + "name": "path", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2856", + "src": { + "column": "20", + "end": "43477", + "length": "4", + "line": "1204", + "parentIndex": "3228", + "start": "43474" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "20", + "end": "43484", + "length": "11", + "line": "1204", + "parentIndex": "3223", + "start": "43474" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": "3487", - "memberLocation": { - "column": "41", - "end": "44602", - "length": "17", - "line": "1266", - "parentIndex": "3487", - "start": "44586" - }, - "memberName": "balancePercentage", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "44602", - "length": "42", - "line": "1266", - "parentIndex": "3480", - "start": "44561" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - } - }, - "src": { - "column": "38", - "end": "44602", - "length": "74", - "line": "1265", - "parentIndex": "3484", - "start": "44529" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - ], - "id": "3484", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "37", - "end": "44603", - "length": "76", - "line": "1265", - "parentIndex": "3483", - "start": "44528" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256$", - "typeString": "tuple(uint256)" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "DIVISION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.ExprOperation", - "value": { - "id": "3493", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "3130", - "id": "3497", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "70", - "end": "44616", - "length": "2", - "line": "1266", - "parentIndex": "3494", - "start": "44615" - }, - "typeDescription": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - } + ] } - ], - "expression": { + }, + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_[_[$_t_address]$_t_uint256]$", + "typeString": "index[address:uint256]" } ], - "id": "3495", - "name": "uint256", + "id": "3233", + "name": "pairCodeHash", "nodeType": "IDENTIFIER", "src": { - "column": "62", - "end": "44613", - "length": "7", - "line": "1266", - "parentIndex": "3494", - "start": "44607" + "column": "20", + "end": "43518", + "length": "12", + "line": "1205", + "parentIndex": "3223", + "start": "43507" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "typeName": { - "id": "3496", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "typeIdentifier": "t_function_$_t_function_$$$_t_address$$_t_[_[$_t_address]$_t_uint256]$$", + "typeString": "function(function(),address,index[address:uint256])" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3225", + "name": "UniswapV2Library", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2503", "src": { - "column": "62", - "end": "44613", - "length": "7", - "line": "1266", - "parentIndex": "3495", - "start": "44607" + "column": "18", + "end": "43386", + "length": "16", + "line": "1201", + "parentIndex": "3224", + "start": "43371" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" } } + }, + "id": "3224", + "memberLocation": { + "column": "35", + "end": "43394", + "length": "7", + "line": "1201", + "parentIndex": "3224", + "start": "43388" + }, + "memberName": "pairFor", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "18", + "end": "43394", + "length": "24", + "line": "1201", + "parentIndex": "3223", + "start": "43371" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" } - }, - "id": "3494", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "62", - "end": "44617", - "length": "11", - "line": "1266", - "parentIndex": "3480", - "start": "44607" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_10_by_1$", - "typeString": "function(int_const 10)" } + }, + "id": "3223", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "18", + "end": "43536", + "length": "166", + "line": "1201", + "parentIndex": "3212", + "start": "43371" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", + "typeString": "function(function(),address,index[address:uint256],function(function(),address,index[address:uint256]))" } - }, - "nodeType": "EXPRESSION_OPERATION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "38", - "id": "3498", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "75", - "end": "44620", - "length": "1", - "line": "1266", - "parentIndex": "3493", - "start": "44620" - }, - "typeDescription": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3234", + "name": "_to", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "771", + "src": { + "column": "18", + "end": "43558", + "length": "3", + "line": "1207", + "parentIndex": "3216", + "start": "43556" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" } - }, - "src": { - "column": "62", - "end": "44620", - "length": "14", - "line": "1266", - "parentIndex": "3480", - "start": "44607" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_10_by_1$", - "typeString": "function(int_const 10)" } } - }, + ], + "id": "3216", + "nodeType": "CONDITIONAL_EXPRESSION", "src": { - "column": "37", - "end": "44620", - "length": "93", - "line": "1265", - "parentIndex": "3480", - "start": "44528" + "column": "25", + "end": "43558", + "length": "226", + "line": "1200", + "parentIndex": "3212", + "start": "43333" }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256$", - "typeString": "tuple(uint256)" - } + "typeDescriptions": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_address$_t_[_[$_t_address]$_t_uint256]$", + "typeString": "function(function(),address,index[address:uint256],function(function(),address,index[address:uint256]))" + }, + { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + ] } }, "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "44621", - "length": "119", - "line": "1265", - "parentIndex": "3464", - "start": "44503" + "end": "43559", + "length": "240", + "line": "1200", + "parentIndex": "3159", + "start": "43320" } } }, @@ -61481,615 +58506,1647 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_rational_0_by_1$", + "typeString": "function(int_const 0)" } ], "arguments": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3246", + "name": "amount0Out", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3190", + "src": { + "column": "19", + "end": "43696", + "length": "10", + "line": "1210", + "parentIndex": "3235", + "start": "43687" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "3247", + "name": "amount1Out", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3190", + "src": { + "column": "31", + "end": "43708", + "length": "10", + "line": "1210", + "parentIndex": "3235", + "start": "43699" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "3248", + "name": "to", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3212", + "src": { + "column": "43", + "end": "43712", + "length": "2", + "line": "1210", + "parentIndex": "3235", + "start": "43711" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3252", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "57", + "end": "43725", + "length": "1", + "line": "1210", + "parentIndex": "3249", + "start": "43725" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + } + ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.NewExpression", "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3506", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "38", - "end": "44692", - "length": "1", - "line": "1268", - "parentIndex": "3503", - "start": "44692" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } + "id": "3250", + "nodeType": "NEW_EXPRESSION", + "src": { + "column": "47", + "end": "43723", + "length": "9", + "line": "1210", + "parentIndex": "3249", + "start": "43715" }, - "id": "3503", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "3251", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "51", + "end": "43723", + "length": "5", + "line": "1210", + "parentIndex": "3250", + "start": "43719" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + } + } + }, + "id": "3249", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "47", + "end": "43726", + "length": "12", + "line": "1210", + "parentIndex": "3235", + "start": "43715" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_0_by_1$", + "typeString": "function(int_const 0)" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", + "typeString": "function(function(),address,address,function(function(),address,address))" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_function_$_t_function_$$$_t_address$$_t_address$", + "typeString": "function(function(),address,address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3242", + "name": "factory", + "nodeType": "IDENTIFIER", + "src": { + "column": "41", + "end": "43636", + "length": "7", + "line": "1209", + "parentIndex": "3239", + "start": "43630" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "id": "3243", + "name": "input", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3160", + "src": { + "column": "50", + "end": "43643", + "length": "5", + "line": "1209", + "parentIndex": "3239", + "start": "43639" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3244", + "name": "output", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3160", + "src": { + "column": "57", + "end": "43651", + "length": "6", + "line": "1209", + "parentIndex": "3239", + "start": "43646" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3245", + "name": "pairCodeHash", + "nodeType": "IDENTIFIER", + "src": { + "column": "65", + "end": "43665", + "length": "12", + "line": "1209", + "parentIndex": "3239", + "start": "43654" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$$$_t_address$$_t_address$", + "typeString": "function(function(),address,address)" + } + } + } + ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "3505", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3241", + "name": "UniswapV2Library", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2503", + "src": { + "column": "16", + "end": "43620", + "length": "16", + "line": "1209", + "parentIndex": "3240", + "start": "43605" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" + } + } + }, + "id": "3240", + "memberLocation": { + "column": "33", + "end": "43628", + "length": "7", + "line": "1209", + "parentIndex": "3240", + "start": "43622" + }, + "memberName": "pairFor", + "nodeType": "MEMBER_ACCESS", "src": { "column": "16", - "end": "44675", - "length": "6", - "line": "1268", - "parentIndex": "3504", - "start": "44670" + "end": "43628", + "length": "24", + "line": "1209", + "parentIndex": "3239", + "start": "43605" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_contract$_UniswapV2Library_$2503", + "typeString": "contract UniswapV2Library" } } }, - "id": "3504", - "memberLocation": { - "column": "23", - "end": "44690", - "length": "14", - "line": "1268", - "parentIndex": "3504", - "start": "44677" - }, - "memberName": "percentagePath", - "nodeType": "MEMBER_ACCESS", + "id": "3239", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { "column": "16", - "end": "44690", - "length": "21", - "line": "1268", - "parentIndex": "3503", - "start": "44670" + "end": "43666", + "length": "62", + "line": "1209", + "parentIndex": "3237", + "start": "43605" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", + "typeString": "function(function(),address,address,function(function(),address,address))" } } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "44693", - "length": "24", - "line": "1268", - "parentIndex": "3502", - "start": "44670" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3502", - "memberLocation": { - "column": "41", - "end": "44701", - "length": "7", - "line": "1268", - "parentIndex": "3502", - "start": "44695" - }, - "memberName": "tokenIn", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "44701", - "length": "32", - "line": "1268", - "parentIndex": "3499", - "start": "44670" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - ], - "arguments": [ - { + } + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3510", - "name": "this", + "id": "3238", + "name": "IUniswapV2Pair", "nodeType": "IDENTIFIER", "src": { - "column": "24", - "end": "44731", - "length": "4", - "line": "1269", - "parentIndex": "3507", - "start": "44728" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3508", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "44726", - "length": "7", - "line": "1269", - "parentIndex": "3507", - "start": "44720" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3509", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "16", - "end": "44726", - "length": "7", - "line": "1269", - "parentIndex": "3508", - "start": "44720" + "column": "12", + "end": "43586", + "length": "14", + "line": "1208", + "parentIndex": "3237", + "start": "43573" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } - } - }, - "id": "3507", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "44732", - "length": "13", - "line": "1269", - "parentIndex": "3499", - "start": "44720" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3515", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "38", - "end": "44773", - "length": "1", - "line": "1270", - "parentIndex": "3512", - "start": "44773" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3512", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3514", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "16", - "end": "44756", - "length": "6", - "line": "1270", - "parentIndex": "3513", - "start": "44751" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3513", - "memberLocation": { - "column": "23", - "end": "44771", - "length": "14", - "line": "1270", - "parentIndex": "3513", - "start": "44758" - }, - "memberName": "percentagePath", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "44771", - "length": "21", - "line": "1270", - "parentIndex": "3512", - "start": "44751" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "44774", - "length": "24", - "line": "1270", - "parentIndex": "3511", - "start": "44751" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3511", - "memberLocation": { - "column": "41", - "end": "44779", - "length": "4", - "line": "1270", - "parentIndex": "3511", - "start": "44776" - }, - "memberName": "pool", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "44779", - "length": "29", - "line": "1270", - "parentIndex": "3499", - "start": "44751" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "id": "3237", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "43680", + "length": "108", + "line": "1208", + "parentIndex": "3236", + "start": "43573" }, - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", + "typeString": "function(function(function(),address,address,function(function(),address,address)))" } - ], - "id": "3516", - "name": "transferShares", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3480", - "src": { - "column": "16", - "end": "44811", - "length": "14", - "line": "1271", - "parentIndex": "3499", - "start": "44798" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } + }, + "id": "3236", + "memberLocation": { + "column": "14", + "end": "43685", + "length": "4", + "line": "1210", + "parentIndex": "3236", + "start": "43682" + }, + "memberName": "swap", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "43685", + "length": "113", + "line": "1208", + "parentIndex": "3235", + "start": "43573" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_address$_t_address$_t_function_$_t_function_$_t_address$_t_address$", + "typeString": "function(function(function(),address,address,function(function(),address,address)))" } } - ], - "expression": { + }, + "id": "3235", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "43727", + "length": "155", + "line": "1208", + "parentIndex": "3159", + "start": "43573" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_address$_t_function_$_t_rational_0_by_1$", + "typeString": "function(uint256,uint256,address,function(int_const 0))" + } + } + } + ] + }, + "closure": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.UnarySuffix", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3158", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "45", + "end": "42950", + "length": "1", + "line": "1193", + "parentIndex": "3157", + "start": "42950" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3157", + "kind": "KIND_UNARY_SUFFIX", + "nodeType": "UNARY_OPERATION", + "operator": "INCREMENT", + "src": { + "column": "45", + "end": "42952", + "length": "3", + "line": "1193", + "parentIndex": "3137", + "start": "42950" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3151", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3152", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "24", + "end": "42929", + "length": "1", + "line": "1193", + "parentIndex": "3151", + "start": "42929" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3153", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3501", - "name": "bentoBox", + "id": "3155", + "name": "path", "nodeType": "IDENTIFIER", - "referencedDeclaration": "963", + "referencedDeclaration": "3155", "src": { - "column": "12", - "end": "44642", - "length": "8", - "line": "1267", - "parentIndex": "3500", - "start": "44635" + "column": "28", + "end": "42936", + "length": "4", + "line": "1193", + "parentIndex": "3154", + "start": "42933" }, "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - "id": "3500", + "id": "3154", "memberLocation": { - "column": "21", - "end": "44651", - "length": "8", - "line": "1267", - "parentIndex": "3500", - "start": "44644" + "column": "33", + "end": "42943", + "length": "6", + "line": "1193", + "parentIndex": "3154", + "start": "42938" }, - "memberName": "transfer", + "memberName": "length", "nodeType": "MEMBER_ACCESS", "src": { - "column": "12", - "end": "44651", - "length": "17", - "line": "1267", - "parentIndex": "3499", - "start": "44635" + "column": "28", + "end": "42943", + "length": "11", + "line": "1193", + "parentIndex": "3153", + "start": "42933" }, "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" + "typeIdentifier": "t_address", + "typeString": "address" } } }, - "id": "3499", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "nodeType": "BINARY_OPERATION", + "operator": "SUBTRACTION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "3156", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "42", + "end": "42947", + "length": "1", + "line": "1193", + "parentIndex": "3153", + "start": "42947" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + }, "src": { - "column": "12", - "end": "44825", - "length": "191", - "line": "1267", - "parentIndex": "3464", - "start": "44635" + "column": "28", + "end": "42947", + "length": "15", + "line": "1193", + "parentIndex": "3151", + "start": "42933" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_uint256$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } } }, + "src": { + "column": "24", + "end": "42947", + "length": "19", + "line": "1193", + "parentIndex": "3147", + "start": "42929" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "3147", + "initialiser": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "3149" + ], + "declarations": [ + { + "id": "3149", + "mutability": "MUTABLE", + "name": "i", + "nameLocation": { + "column": "21", + "end": "42926", + "length": "1", + "line": "1193", + "parentIndex": "3149", + "start": "42926" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3146", + "src": { + "column": "13", + "end": "42926", + "length": "9", + "line": "1193", + "parentIndex": "3148", + "start": "42918" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3150", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "42924", + "length": "7", + "line": "1193", + "parentIndex": "3149", + "start": "42918" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "3148", + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "42927", + "length": "10", + "line": "1193", + "parentIndex": "3146", + "start": "42918" + } + } + }, + "nodeType": "FOR_STATEMENT", + "src": { + "end": "43738", + "length": "826", + "line": "1193", + "parentIndex": "3146", + "start": "42913" + } + } + } + ] + }, + "id": "3137", + "implemented": true, + "kind": "KIND_FUNCTION", + "name": "_swap", + "nameLocation": { + "column": "13", + "end": "42792", + "length": "5", + "line": "1188", + "parentIndex": "3137", + "start": "42788" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "3138", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "3139", + "name": "amounts", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3139", + "src": { + "column": "8", + "end": "42826", + "length": "24", + "line": "1189", + "parentIndex": "3138", + "start": "42803" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3140", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "42809", + "length": "7", + "line": "1189", + "parentIndex": "3139", + "start": "42803" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3141", + "name": "path", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3141", + "src": { + "column": "8", + "end": "42857", + "length": "21", + "line": "1190", + "parentIndex": "3138", + "start": "42837" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3142", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "42843", + "length": "7", + "line": "1190", + "parentIndex": "3141", + "start": "42837" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3143", + "name": "_to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3143", + "src": { + "column": "8", + "end": "42878", + "length": "11", + "line": "1191", + "parentIndex": "3138", + "start": "42868" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3144", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "42874", + "length": "7", + "line": "1191", + "parentIndex": "3143", + "start": "42868" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "42878", + "length": "76", + "line": "1189", + "parentIndex": "3137", + "start": "42803" + } + }, + "returnParameters": { + "id": "3145", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "43744", + "length": "966", + "line": "1188", + "parentIndex": "3137", + "start": "42779" + } + }, + "scope": "3049", + "signature": "91b9e252", + "src": { + "column": "4", + "end": "43744", + "length": "966", + "line": "1188", + "parentIndex": "3049", + "start": "42779" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$_t_address$_t_address$", + "typeString": "function(uint256,address,address)" + }, + "virtual": true, + "visibility": "INTERNAL" + } + } + ], + "src": { + "end": "43746", + "length": "2094", + "line": "1152", + "parentIndex": "3013", + "start": "41653" + } + } + } + ] + }, + "src": { + "line": 1152, + "start": 41653, + "end": 43746, + "length": 2094, + "parent_index": 272 + } + }, + { + "id": 3253, + "license": "GPL-3.0-or-later", + "name": "IWETH", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IWETH.sol", + "exported_symbols": [ + { + "id": 3253, + "name": "IWETH", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IWETH.sol" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "3270", + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "43817", + "length": "23", + "line": "1217", + "parentIndex": "3253", + "start": "43795" + }, + "text": "pragma solidity 0.8.11;" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", + "value": { + "fullyImplemented": true, + "id": "3311", + "kind": "KIND_INTERFACE", + "linearizedBaseContracts": [ + "3311" + ], + "name": "IWETH", + "nameLocation": { + "column": "10", + "end": "43834", + "length": "5", + "line": "1219", + "parentIndex": "3311", + "start": "43830" + }, + "nodeType": "CONTRACT_DEFINITION", + "nodes": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "3316", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "43877", + "length": "36", + "line": "1220", + "parentIndex": "3313", + "start": "43842" + } + }, + "id": "3313", + "kind": "KIND_FUNCTION", + "name": "deposit", + "nameLocation": { + "column": "13", + "end": "43857", + "length": "7", + "line": "1220", + "parentIndex": "3313", + "start": "43851" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "3314", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "43877", + "length": "36", + "line": "1220", + "parentIndex": "3313", + "start": "43842" + } + }, + "returnParameters": { + "id": "3315", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "43877", + "length": "36", + "line": "1220", + "parentIndex": "3313", + "start": "43842" + } + }, + "scope": "3311", + "signature": "d0e30db0", + "src": { + "column": "4", + "end": "43877", + "length": "36", + "line": "1220", + "parentIndex": "3311", + "start": "43842" + }, + "stateMutability": "PAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "3327", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "43952", + "length": "69", + "line": "1222", + "parentIndex": "3318", + "start": "43884" + } + }, + "id": "3318", + "kind": "KIND_FUNCTION", + "name": "transfer", + "nameLocation": { + "column": "13", + "end": "43900", + "length": "8", + "line": "1222", + "parentIndex": "3318", + "start": "43893" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "3319", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "3320", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3320", + "src": { + "column": "22", + "end": "43911", + "length": "10", + "line": "1222", + "parentIndex": "3319", + "start": "43902" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3321", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "22", + "end": "43908", + "length": "7", + "line": "1222", + "parentIndex": "3320", + "start": "43902" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3322", + "name": "value", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3322", + "src": { + "column": "34", + "end": "43926", + "length": "13", + "line": "1222", + "parentIndex": "3319", + "start": "43914" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3323", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "34", + "end": "43920", + "length": "7", + "line": "1222", + "parentIndex": "3322", + "start": "43914" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "22", + "end": "43926", + "length": "25", + "line": "1222", + "parentIndex": "3318", + "start": "43902" + } + }, + "returnParameters": { + "id": "3324", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "3325", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3325", + "src": { + "column": "67", + "end": "43950", + "length": "4", + "line": "1222", + "parentIndex": "3324", + "start": "43947" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "3326", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "67", + "end": "43950", + "length": "4", + "line": "1222", + "parentIndex": "3325", + "start": "43947" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "67", + "end": "43950", + "length": "4", + "line": "1222", + "parentIndex": "3318", + "start": "43947" + } + }, + "scope": "3311", + "signature": "a9059cbb", + "src": { + "column": "4", + "end": "43952", + "length": "69", + "line": "1222", + "parentIndex": "3311", + "start": "43884" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_uint256$", + "typeString": "function(address,uint256)" + }, + "visibility": "EXTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "3334", + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "43994", + "length": "36", + "line": "1224", + "parentIndex": "3329", + "start": "43959" + } + }, + "id": "3329", + "kind": "KIND_FUNCTION", + "name": "withdraw", + "nameLocation": { + "column": "13", + "end": "43975", + "length": "8", + "line": "1224", + "parentIndex": "3329", + "start": "43968" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "3330", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "3331", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3331", + "src": { + "column": "22", + "end": "43983", + "length": "7", + "line": "1224", + "parentIndex": "3330", + "start": "43977" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3332", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "22", + "end": "43983", + "length": "7", + "line": "1224", + "parentIndex": "3331", + "start": "43977" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "22", + "end": "43983", + "length": "7", + "line": "1224", + "parentIndex": "3329", + "start": "43977" + } + }, + "returnParameters": { + "id": "3333", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "43994", + "length": "36", + "line": "1224", + "parentIndex": "3329", + "start": "43959" + } + }, + "scope": "3311", + "signature": "2e1a7d4d", + "src": { + "column": "4", + "end": "43994", + "length": "36", + "line": "1224", + "parentIndex": "3311", + "start": "43959" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "visibility": "EXTERNAL" + } + } + ], + "src": { + "end": "43996", + "length": "177", + "line": "1219", + "parentIndex": "3253", + "start": "43820" + } + } + } + ] + }, + "src": { + "line": 1219, + "start": 43820, + "end": 43996, + "length": 177, + "parent_index": 272 + } + }, + { + "id": 3335, + "license": "GPL-3.0-or-later", + "name": "TokenAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TokenAdapter.sol", + "exported_symbols": [ + { + "id": 3335, + "name": "TokenAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TokenAdapter.sol" + }, + { + "id": 3253, + "name": "SafeERC20", + "absolute_path": "SafeERC20.sol" + }, + { + "id": 3253, + "name": "IWETH", + "absolute_path": "IWETH.sol" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "3353", + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "44067", + "length": "23", + "line": "1229", + "parentIndex": "3335", + "start": "44045" + }, + "text": "pragma solidity 0.8.11;" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "SafeERC20.sol", + "file": "./SafeERC20.sol", + "id": "3373", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3335", + "sourceUnit": "3253", + "src": { + "end": "44094", + "length": "25", + "line": "1231", + "parentIndex": "3335", + "start": "44070" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "IWETH.sol", + "file": "./IWETH.sol", + "id": "3374", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3335", + "sourceUnit": "3253", + "src": { + "end": "44116", + "length": "21", + "line": "1232", + "parentIndex": "3335", + "start": "44096" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", + "value": { + "contractDependencies": [ + "3373", + "3374" + ], + "fullyImplemented": true, + "id": "3375", + "kind": "KIND_CONTRACT", + "linearizedBaseContracts": [ + "3375", + "3373", + "3374" + ], + "name": "TokenAdapter", + "nameLocation": { + "column": "18", + "end": "44217", + "length": "12", + "line": "1236", + "parentIndex": "3375", + "start": "44206" + }, + "nodeType": "CONTRACT_DEFINITION", + "nodes": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", + "value": { + "id": "3377", + "libraryName": { + "id": "3378", + "name": "SafeERC20", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1442", + "src": { + "end": "44239", + "length": "9", + "line": "1237", + "parentIndex": "3377", + "start": "44231" + } + }, + "name": "SafeERC20", + "nodeType": "USING_FOR_DIRECTIVE", + "src": { + "end": "44251", + "length": "27", + "line": "1237", + "parentIndex": "3375", + "start": "44225" + }, + "typeName": { + "id": "3379", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3380", + "name": "IERC20", + "nameLocation": { + "column": "24", + "end": "44250", + "length": "6", + "line": "1237", + "parentIndex": "3379", + "start": "44245" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1089", + "src": { + "column": "24", + "end": "44250", + "length": "6", + "line": "1237", + "parentIndex": "3379", + "start": "44245" + } + }, + "referencedDeclaration": "1089", + "src": { + "column": "24", + "end": "44250", + "length": "6", + "line": "1237", + "parentIndex": "3377", + "start": "44245" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" + } + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "3392", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "15", + "end": "44697", + "length": "164", + "line": "1247", + "parentIndex": "3382", + "start": "44534" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "value": { + "body": { + "id": "3403", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "42", + "end": "44632", + "length": "55", + "line": "1248", + "parentIndex": "3382", + "start": "44578" + }, + "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], "arguments": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3530", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "38", - "end": "44921", - "length": "1", - "line": "1274", - "parentIndex": "3527", - "start": "44921" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3527", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3529", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "16", - "end": "44904", - "length": "6", - "line": "1274", - "parentIndex": "3528", - "start": "44899" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3528", - "memberLocation": { - "column": "23", - "end": "44919", - "length": "14", - "line": "1274", - "parentIndex": "3528", - "start": "44906" - }, - "memberName": "percentagePath", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "44919", - "length": "21", - "line": "1274", - "parentIndex": "3527", - "start": "44899" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "44922", - "length": "24", - "line": "1274", - "parentIndex": "3526", - "start": "44899" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3526", - "memberLocation": { - "column": "41", - "end": "44927", - "length": "4", - "line": "1274", - "parentIndex": "3526", - "start": "44924" + "id": "3407", + "name": "to", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3407", + "src": { + "column": "31", + "end": "44612", + "length": "2", + "line": "1249", + "parentIndex": "3404", + "start": "44611" }, - "memberName": "data", - "nodeType": "MEMBER_ACCESS", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3408", + "name": "amount", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3408", "src": { - "column": "16", - "end": "44927", - "length": "29", - "line": "1274", - "parentIndex": "3517", - "start": "44899" + "column": "35", + "end": "44620", + "length": "6", + "line": "1249", + "parentIndex": "3404", + "start": "44615" }, "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } } @@ -62098,278 +60155,102 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3525", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "40", - "end": "44868", - "length": "1", - "line": "1273", - "parentIndex": "3522", - "start": "44868" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3522", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3524", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "18", - "end": "44851", - "length": "6", - "line": "1273", - "parentIndex": "3523", - "start": "44846" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3523", - "memberLocation": { - "column": "25", - "end": "44866", - "length": "14", - "line": "1273", - "parentIndex": "3523", - "start": "44853" - }, - "memberName": "percentagePath", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "18", - "end": "44866", - "length": "21", - "line": "1273", - "parentIndex": "3522", - "start": "44846" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "18", - "end": "44869", - "length": "24", - "line": "1273", - "parentIndex": "3521", - "start": "44846" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3521", - "memberLocation": { - "column": "43", - "end": "44874", - "length": "4", - "line": "1273", - "parentIndex": "3521", - "start": "44871" - }, - "memberName": "pool", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "18", - "end": "44874", - "length": "29", - "line": "1273", - "parentIndex": "3519", - "start": "44846" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3520", - "name": "IPool", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "44844", - "length": "5", - "line": "1273", - "parentIndex": "3519", - "start": "44840" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "3519", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "3406", + "name": "token", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3406", "src": { "column": "12", - "end": "44875", - "length": "36", - "line": "1273", - "parentIndex": "3518", - "start": "44840" + "end": "44596", + "length": "5", + "line": "1249", + "parentIndex": "3405", + "start": "44592" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" } } }, - "id": "3518", + "id": "3405", "memberLocation": { - "column": "49", - "end": "44880", - "length": "4", - "line": "1273", - "parentIndex": "3518", - "start": "44877" + "column": "18", + "end": "44609", + "length": "12", + "line": "1249", + "parentIndex": "3405", + "start": "44598" }, - "memberName": "swap", + "memberName": "safeTransfer", "nodeType": "MEMBER_ACCESS", "src": { "column": "12", - "end": "44880", - "length": "41", - "line": "1273", - "parentIndex": "3517", - "start": "44840" + "end": "44609", + "length": "18", + "line": "1249", + "parentIndex": "3404", + "start": "44592" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" } } }, - "id": "3517", + "id": "3404", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { "column": "12", - "end": "44941", - "length": "102", - "line": "1273", - "parentIndex": "3464", - "start": "44840" + "end": "44621", + "length": "30", + "line": "1249", + "parentIndex": "3403", + "start": "44592" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "typeIdentifier": "t_function_$_t_address$_t_uint256$", + "typeString": "function(address,uint256)" } } } ] }, - "closure": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "3459", + "id": "3394", "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3460", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "35", - "end": "44319", - "length": "1", - "line": "1260", - "parentIndex": "3459", - "start": "44319" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3463", - "name": "i", + "id": "3398", + "name": "token", "nodeType": "IDENTIFIER", + "referencedDeclaration": "3398", "src": { - "column": "50", - "end": "44334", - "length": "1", - "line": "1260", - "parentIndex": "3461", - "start": "44334" + "column": "20", + "end": "44560", + "length": "5", + "line": "1248", + "parentIndex": "3395", + "start": "44556" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" } } } @@ -62377,1658 +60258,1060 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3462", - "name": "_increment", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3396", + "name": "address", "nodeType": "IDENTIFIER", "src": { - "column": "39", - "end": "44332", - "length": "10", - "line": "1260", - "parentIndex": "3461", - "start": "44323" + "column": "12", + "end": "44554", + "length": "7", + "line": "1248", + "parentIndex": "3395", + "start": "44548" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3397", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "44554", + "length": "7", + "line": "1248", + "parentIndex": "3396", + "start": "44548" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } } } }, - "id": "3461", + "id": "3395", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { - "column": "39", - "end": "44335", - "length": "13", - "line": "1260", - "parentIndex": "3459", - "start": "44323" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - } - } - }, - "src": { - "column": "35", - "end": "44335", - "length": "17", - "line": "1260", - "parentIndex": "3451", - "start": "44319" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3456", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3457", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "28", - "end": "44312", - "length": "1", - "line": "1260", - "parentIndex": "3456", - "start": "44312" + "column": "12", + "end": "44561", + "length": "14", + "line": "1248", + "parentIndex": "3394", + "start": "44548" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } }, "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", + "operator": "NOT_EQUAL", "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "id": "3458", - "name": "n", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3389", - "src": { - "column": "32", - "end": "44316", - "length": "1", - "line": "1260", - "parentIndex": "3456", - "start": "44316" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "src": { - "column": "28", - "end": "44316", - "length": "5", - "line": "1260", - "parentIndex": "3451", - "start": "44312" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "3451", - "initialiser": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "3453" - ], - "declarations": [ - { - "id": "3453", - "mutability": "MUTABLE", - "name": "i", - "nameLocation": { - "column": "21", - "end": "44305", - "length": "1", - "line": "1260", - "parentIndex": "3453", - "start": "44305" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3388", - "src": { - "column": "13", - "end": "44305", - "length": "9", - "line": "1260", - "parentIndex": "3452", - "start": "44297" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3454", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "13", - "end": "44303", - "length": "7", - "line": "1260", - "parentIndex": "3453", - "start": "44297" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } - }, - "visibility": "INTERNAL" - } - ], - "id": "3452", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "3455", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "25", - "end": "44309", - "length": "1", - "line": "1260", - "parentIndex": "3452", - "start": "44309" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "13", - "end": "44310", - "length": "14", - "line": "1260", - "parentIndex": "3388", - "start": "44297" - } - } - }, - "nodeType": "FOR_STATEMENT", - "src": { - "end": "44952", - "length": "661", - "line": "1260", - "parentIndex": "3388", - "start": "44292" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "3532", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3533", - "name": "n", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3389", - "src": { - "column": "8", - "end": "45041", - "length": "1", - "line": "1278", - "parentIndex": "3532", - "start": "45041" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3402", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "38", + "end": "44574", + "length": "1", + "line": "1248", + "parentIndex": "3399", + "start": "44574" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + } + ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3536", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3536", - "src": { - "column": "12", - "end": "45050", - "length": "6", - "line": "1278", - "parentIndex": "3535", - "start": "45045" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" - } + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": "3535", - "memberLocation": { - "column": "19", - "end": "45057", - "length": "6", - "line": "1278", - "parentIndex": "3535", - "start": "45052" - }, - "memberName": "output", - "nodeType": "MEMBER_ACCESS", + ], + "id": "3400", + "name": "address", + "nodeType": "IDENTIFIER", "src": { - "column": "12", - "end": "45057", - "length": "13", - "line": "1278", - "parentIndex": "3534", - "start": "45045" + "column": "30", + "end": "44572", + "length": "7", + "line": "1248", + "parentIndex": "3399", + "start": "44566" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3401", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "30", + "end": "44572", + "length": "7", + "line": "1248", + "parentIndex": "3400", + "start": "44566" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } } } }, - "id": "3534", - "memberLocation": { - "column": "26", - "end": "45064", - "length": "6", - "line": "1278", - "parentIndex": "3534", - "start": "45059" - }, - "memberName": "length", - "nodeType": "MEMBER_ACCESS", + "id": "3399", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "12", - "end": "45064", - "length": "20", - "line": "1278", - "parentIndex": "3532", - "start": "45045" + "column": "30", + "end": "44575", + "length": "10", + "line": "1248", + "parentIndex": "3394", + "start": "44566" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" + "typeIdentifier": "t_function_$_t_rational_0_by_1$", + "typeString": "function(int_const 0)" } } }, "src": { - "column": "8", - "end": "45064", - "length": "24", - "line": "1278", - "parentIndex": "3531", - "start": "45041" + "column": "12", + "end": "44575", + "length": "28", + "line": "1248", + "parentIndex": "3393", + "start": "44548" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } } }, - "id": "3531", - "nodeType": "ASSIGNMENT", + "id": "3393", + "nodeType": "IF_STATEMENT", + "src": { + "end": "44691", + "length": "148", + "line": "1248", + "parentIndex": "3392", + "start": "44544" + } + } + } + ] + }, + "id": "3382", + "implemented": true, + "kind": "KIND_FUNCTION", + "name": "_transferTokens", + "nameLocation": { + "column": "13", + "end": "44451", + "length": "15", + "line": "1243", + "parentIndex": "3382", + "start": "44437" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "3383", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "3384", + "name": "token", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3384", + "src": { + "column": "8", + "end": "44473", + "length": "12", + "line": "1244", + "parentIndex": "3383", + "start": "44462" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" + }, + "typeName": { + "id": "3385", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3386", + "name": "IERC20", + "nameLocation": { + "column": "8", + "end": "44467", + "length": "6", + "line": "1244", + "parentIndex": "3385", + "start": "44462" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1089", + "src": { + "column": "8", + "end": "44467", + "length": "6", + "line": "1244", + "parentIndex": "3385", + "start": "44462" + } + }, + "referencedDeclaration": "1089", "src": { "column": "8", - "end": "45065", - "length": "25", - "line": "1278", - "parentIndex": "3388", - "start": "45041" + "end": "44467", + "length": "6", + "line": "1244", + "parentIndex": "3384", + "start": "44462" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3387", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3387", + "src": { + "column": "8", + "end": "44493", + "length": "10", + "line": "1245", + "parentIndex": "3383", + "start": "44484" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3388", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "44490", + "length": "7", + "line": "1245", + "parentIndex": "3387", + "start": "44484" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3389", + "name": "amount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3389", + "src": { + "column": "8", + "end": "44517", + "length": "14", + "line": "1246", + "parentIndex": "3383", + "start": "44504" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3390", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "44510", + "length": "7", + "line": "1246", + "parentIndex": "3389", + "start": "44504" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - }, + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "44517", + "length": "56", + "line": "1244", + "parentIndex": "3382", + "start": "44462" + } + }, + "returnParameters": { + "id": "3391", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "44697", + "length": "270", + "line": "1243", + "parentIndex": "3382", + "start": "44428" + } + }, + "scope": "3375", + "signature": "f55b9955", + "src": { + "column": "4", + "end": "44697", + "length": "270", + "line": "1243", + "parentIndex": "3375", + "start": "44428" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", + "typeString": "function(contract IERC20,address,uint256)" + }, + "visibility": "INTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "3420", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "15", + "end": "45054", + "length": "63", + "line": "1263", + "parentIndex": "3410", + "start": "44992" + }, + "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "body": { - "id": "3550", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "54", - "end": "45898", - "length": "778", - "line": "1279", - "parentIndex": "3537", - "start": "45121" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "3552" - ], - "declarations": [ - { - "id": "3552", - "mutability": "MUTABLE", - "name": "balanceShares", - "nameLocation": { - "column": "20", - "end": "45155", - "length": "13", - "line": "1280", - "parentIndex": "3552", - "start": "45143" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3550", - "src": { - "column": "12", - "end": "45155", - "length": "21", - "line": "1280", - "parentIndex": "3551", - "start": "45135" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3553", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "45141", - "length": "7", - "line": "1280", - "parentIndex": "3552", - "start": "45135" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "3551", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3561", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "30", - "end": "45209", - "length": "1", - "line": "1281", - "parentIndex": "3558", - "start": "45209" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3558", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3560", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "16", - "end": "45200", - "length": "6", - "line": "1281", - "parentIndex": "3559", - "start": "45195" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3559", - "memberLocation": { - "column": "23", - "end": "45207", - "length": "6", - "line": "1281", - "parentIndex": "3559", - "start": "45202" - }, - "memberName": "output", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "45207", - "length": "13", - "line": "1281", - "parentIndex": "3558", - "start": "45195" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "45210", - "length": "16", - "line": "1281", - "parentIndex": "3557", - "start": "45195" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3557", - "memberLocation": { - "column": "33", - "end": "45216", - "length": "5", - "line": "1281", - "parentIndex": "3557", - "start": "45212" - }, - "memberName": "token", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "45216", - "length": "22", - "line": "1281", - "parentIndex": "3554", - "start": "45195" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3565", - "name": "this", - "nodeType": "IDENTIFIER", - "src": { - "column": "24", - "end": "45246", - "length": "4", - "line": "1282", - "parentIndex": "3562", - "start": "45243" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3563", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "45241", - "length": "7", - "line": "1282", - "parentIndex": "3562", - "start": "45235" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3564", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "16", - "end": "45241", - "length": "7", - "line": "1282", - "parentIndex": "3563", - "start": "45235" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "3562", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "45247", - "length": "13", - "line": "1282", - "parentIndex": "3554", - "start": "45235" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3556", - "name": "bentoBox", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "963", - "src": { - "column": "36", - "end": "45166", - "length": "8", - "line": "1280", - "parentIndex": "3555", - "start": "45159" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" - } - } - }, - "id": "3555", - "memberLocation": { - "column": "45", - "end": "45176", - "length": "9", - "line": "1280", - "parentIndex": "3555", - "start": "45168" - }, - "memberName": "balanceOf", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "36", - "end": "45176", - "length": "18", - "line": "1280", - "parentIndex": "3554", - "start": "45159" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" - } - } - }, - "id": "3554", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "36", - "end": "45261", - "length": "103", - "line": "1280", - "parentIndex": "3551", - "start": "45159" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address))" - } + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3425", + "name": "msg", + "nodeType": "IDENTIFIER", + "src": { + "column": "31", + "end": "45027", + "length": "3", + "line": "1264", + "parentIndex": "3424", + "start": "45025" + }, + "typeDescription": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "12", - "end": "45262", - "length": "128", - "line": "1280", - "parentIndex": "3550", - "start": "45135" } + }, + "id": "3424", + "memberLocation": { + "column": "35", + "end": "45034", + "length": "6", + "line": "1264", + "parentIndex": "3424", + "start": "45029" + }, + "memberName": "sender", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "31", + "end": "45034", + "length": "10", + "line": "1264", + "parentIndex": "3421", + "start": "45025" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", - "value": { - "body": { - "id": "3574", - "nodeType": "BLOCK", - "src": {} - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3567", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3568", - "name": "balanceShares", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3551", - "src": { - "column": "16", - "end": "45292", - "length": "13", - "line": "1284", - "parentIndex": "3567", - "start": "45280" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3573", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "46", - "end": "45310", - "length": "1", - "line": "1284", - "parentIndex": "3570", - "start": "45310" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3570", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3572", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "32", - "end": "45301", - "length": "6", - "line": "1284", - "parentIndex": "3571", - "start": "45296" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3571", - "memberLocation": { - "column": "39", - "end": "45308", - "length": "6", - "line": "1284", - "parentIndex": "3571", - "start": "45303" - }, - "memberName": "output", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "32", - "end": "45308", - "length": "13", - "line": "1284", - "parentIndex": "3570", - "start": "45296" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "32", - "end": "45311", - "length": "16", - "line": "1284", - "parentIndex": "3569", - "start": "45296" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3569", - "memberLocation": { - "column": "49", - "end": "45321", - "length": "9", - "line": "1284", - "parentIndex": "3569", - "start": "45313" - }, - "memberName": "minAmount", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "32", - "end": "45321", - "length": "26", - "line": "1284", - "parentIndex": "3567", - "start": "45296" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - }, - "src": { - "column": "16", - "end": "45321", - "length": "42", - "line": "1284", - "parentIndex": "3566", - "start": "45280" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "3566", - "nodeType": "IF_STATEMENT", - "src": { - "end": "45366", - "length": "91", - "line": "1284", - "parentIndex": "3550", - "start": "45276" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" } + ], + "id": "3426", + "name": "to", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3426", + "src": { + "column": "43", + "end": "45038", + "length": "2", + "line": "1264", + "parentIndex": "3421", + "start": "45037" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", - "value": { - "body": { - "id": "3581", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "46", - "end": "45659", - "length": "246", - "line": "1286", - "parentIndex": "3537", - "start": "45414" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_rational_0_by_1$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3589", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "34", - "end": "45485", - "length": "1", - "line": "1288", - "parentIndex": "3586", - "start": "45485" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3586", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3588", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "20", - "end": "45476", - "length": "6", - "line": "1288", - "parentIndex": "3587", - "start": "45471" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3587", - "memberLocation": { - "column": "27", - "end": "45483", - "length": "6", - "line": "1288", - "parentIndex": "3587", - "start": "45478" - }, - "memberName": "output", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "20", - "end": "45483", - "length": "13", - "line": "1288", - "parentIndex": "3586", - "start": "45471" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "20", - "end": "45486", - "length": "16", - "line": "1288", - "parentIndex": "3585", - "start": "45471" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3585", - "memberLocation": { - "column": "37", - "end": "45492", - "length": "5", - "line": "1288", - "parentIndex": "3585", - "start": "45488" - }, - "memberName": "token", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "20", - "end": "45492", - "length": "22", - "line": "1288", - "parentIndex": "3582", - "start": "45471" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3593", - "name": "this", - "nodeType": "IDENTIFIER", - "src": { - "column": "28", - "end": "45526", - "length": "4", - "line": "1289", - "parentIndex": "3590", - "start": "45523" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_TridentSwapAdapter_$3222", - "typeString": "contract TridentSwapAdapter" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3591", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "45521", - "length": "7", - "line": "1289", - "parentIndex": "3590", - "start": "45515" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3592", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "20", - "end": "45521", - "length": "7", - "line": "1289", - "parentIndex": "3591", - "start": "45515" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "3590", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "20", - "end": "45527", - "length": "13", - "line": "1289", - "parentIndex": "3582", - "start": "45515" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3598", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "34", - "end": "45564", - "length": "1", - "line": "1290", - "parentIndex": "3595", - "start": "45564" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3595", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3597", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "20", - "end": "45555", - "length": "6", - "line": "1290", - "parentIndex": "3596", - "start": "45550" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3596", - "memberLocation": { - "column": "27", - "end": "45562", - "length": "6", - "line": "1290", - "parentIndex": "3596", - "start": "45557" - }, - "memberName": "output", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "20", - "end": "45562", - "length": "13", - "line": "1290", - "parentIndex": "3595", - "start": "45550" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "20", - "end": "45565", - "length": "16", - "line": "1290", - "parentIndex": "3594", - "start": "45550" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] - } - }, - "id": "3594", - "memberLocation": { - "column": "37", - "end": "45568", - "length": "2", - "line": "1290", - "parentIndex": "3594", - "start": "45567" - }, - "memberName": "to", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "20", - "end": "45568", - "length": "19", - "line": "1290", - "parentIndex": "3582", - "start": "45550" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - } - ], - "hexValue": "30", - "id": "3599", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "20", - "end": "45591", - "length": "1", - "line": "1291", - "parentIndex": "3582", - "start": "45591" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3427", + "name": "amount", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3427", + "src": { + "column": "47", + "end": "45046", + "length": "6", + "line": "1264", + "parentIndex": "3421", + "start": "45041" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3423", + "name": "token", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3423", + "src": { + "column": "8", + "end": "45006", + "length": "5", + "line": "1264", + "parentIndex": "3422", + "start": "45002" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" + } + } + }, + "id": "3422", + "memberLocation": { + "column": "14", + "end": "45023", + "length": "16", + "line": "1264", + "parentIndex": "3422", + "start": "45008" + }, + "memberName": "safeTransferFrom", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "8", + "end": "45023", + "length": "22", + "line": "1264", + "parentIndex": "3421", + "start": "45002" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" + } + } + }, + "id": "3421", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "45047", + "length": "46", + "line": "1264", + "parentIndex": "3420", + "start": "45002" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$_t_address$_t_uint256$", + "typeString": "function(address,address,uint256)" + } + } + } + ] + }, + "id": "3410", + "implemented": true, + "kind": "KIND_FUNCTION", + "name": "_transferFromToken", + "nameLocation": { + "column": "13", + "end": "44909", + "length": "18", + "line": "1259", + "parentIndex": "3410", + "start": "44892" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "3411", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "3412", + "name": "token", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3412", + "src": { + "column": "8", + "end": "44931", + "length": "12", + "line": "1260", + "parentIndex": "3411", + "start": "44920" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" + }, + "typeName": { + "id": "3413", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3414", + "name": "IERC20", + "nameLocation": { + "column": "8", + "end": "44925", + "length": "6", + "line": "1260", + "parentIndex": "3413", + "start": "44920" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1089", + "src": { + "column": "8", + "end": "44925", + "length": "6", + "line": "1260", + "parentIndex": "3413", + "start": "44920" + } + }, + "referencedDeclaration": "1089", + "src": { + "column": "8", + "end": "44925", + "length": "6", + "line": "1260", + "parentIndex": "3412", + "start": "44920" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IERC20_$1089", + "typeString": "contract IERC20" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3415", + "name": "to", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3415", + "src": { + "column": "8", + "end": "44951", + "length": "10", + "line": "1261", + "parentIndex": "3411", + "start": "44942" + }, + "stateMutability": "NONPAYABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3416", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "44948", + "length": "7", + "line": "1261", + "parentIndex": "3415", + "start": "44942" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3417", + "name": "amount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3417", + "src": { + "column": "8", + "end": "44975", + "length": "14", + "line": "1262", + "parentIndex": "3411", + "start": "44962" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3418", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "44968", + "length": "7", + "line": "1262", + "parentIndex": "3417", + "start": "44962" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "8", + "end": "44975", + "length": "56", + "line": "1260", + "parentIndex": "3410", + "start": "44920" + } + }, + "returnParameters": { + "id": "3419", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "45054", + "length": "172", + "line": "1259", + "parentIndex": "3410", + "start": "44883" + } + }, + "scope": "3375", + "signature": "80f9ebdc", + "src": { + "column": "4", + "end": "45054", + "length": "172", + "line": "1259", + "parentIndex": "3375", + "start": "44883" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", + "typeString": "function(contract IERC20,address,uint256)" + }, + "visibility": "INTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "3436", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "65", + "end": "45422", + "length": "150", + "line": "1270", + "parentIndex": "3429", + "start": "45273" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_function_$_t_address$", + "typeString": "function(function(address))" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_TokenAdapter_$3335", + "typeString": "contract TokenAdapter" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3450", + "name": "this", + "nodeType": "IDENTIFIER", + "src": { + "column": "62", + "end": "45340", + "length": "4", + "line": "1271", + "parentIndex": "3447", + "start": "45337" }, + "typeDescription": { + "typeIdentifier": "t_contract$_TokenAdapter_$3335", + "typeString": "contract TokenAdapter" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": "3600", - "name": "balanceShares", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "45626", - "length": "13", - "line": "1292", - "parentIndex": "3582", - "start": "45614" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_rational_0_by_1$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0)" - } - } + "typeIdentifier": "t_address", + "typeString": "address" } ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3584", - "name": "bentoBox", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "963", - "src": { - "column": "16", - "end": "45439", - "length": "8", - "line": "1287", - "parentIndex": "3583", - "start": "45432" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" - } - } - }, - "id": "3583", - "memberLocation": { - "column": "25", - "end": "45448", - "length": "8", - "line": "1287", - "parentIndex": "3583", - "start": "45441" - }, - "memberName": "withdraw", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "45448", - "length": "17", - "line": "1287", - "parentIndex": "3582", - "start": "45432" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", - "typeString": "contract IBentoBoxMinimal" - } - } - }, - "id": "3582", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "3448", + "name": "address", + "nodeType": "IDENTIFIER", "src": { - "column": "16", - "end": "45644", - "length": "213", - "line": "1287", - "parentIndex": "3581", - "start": "45432" + "column": "54", + "end": "45335", + "length": "7", + "line": "1271", + "parentIndex": "3447", + "start": "45329" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_rational_0_by_1$_t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_rational_0_by_1$", - "typeString": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0,function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0))" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3449", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "54", + "end": "45335", + "length": "7", + "line": "1271", + "parentIndex": "3448", + "start": "45329" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } } } + }, + "id": "3447", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "54", + "end": "45341", + "length": "13", + "line": "1271", + "parentIndex": "3442", + "start": "45329" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } - ] - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "baseExpression": { + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "arguments": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3580", - "name": "i", + "id": "3446", + "name": "token", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "30", - "end": "45398", - "length": "1", - "line": "1286", - "parentIndex": "3577", - "start": "45398" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "id": "3577", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3579", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3280", - "src": { - "column": "16", - "end": "45389", - "length": "6", - "line": "1286", - "parentIndex": "3578", - "start": "45384" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" - } - } - }, - "id": "3578", - "memberLocation": { - "column": "23", - "end": "45396", - "length": "6", - "line": "1286", - "parentIndex": "3578", - "start": "45391" - }, - "memberName": "output", - "nodeType": "MEMBER_ACCESS", + "referencedDeclaration": "3446", "src": { - "column": "16", - "end": "45396", - "length": "13", - "line": "1286", - "parentIndex": "3577", - "start": "45384" + "column": "37", + "end": "45316", + "length": "5", + "line": "1271", + "parentIndex": "3444", + "start": "45312" }, "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + "typeIdentifier": "t_address", + "typeString": "address" } } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "16", - "end": "45399", - "length": "16", - "line": "1286", - "parentIndex": "3576", - "start": "45384" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "typeString": "struct ITridentRouter.ExactInputParams" + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3445", + "name": "IERC20", + "nodeType": "IDENTIFIER", + "src": { + "column": "30", + "end": "45310", + "length": "6", + "line": "1271", + "parentIndex": "3444", + "start": "45305" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" } - ] + } + }, + "id": "3444", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "30", + "end": "45317", + "length": "13", + "line": "1271", + "parentIndex": "3443", + "start": "45305" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } - }, - "id": "3576", - "memberLocation": { - "column": "33", - "end": "45411", - "length": "11", - "line": "1286", - "parentIndex": "3576", - "start": "45401" - }, - "memberName": "unwrapBento", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "45411", - "length": "28", - "line": "1286", - "parentIndex": "3575", - "start": "45384" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "typeString": "index[struct ITridentRouter.ExactInputParams:uint256]" } + }, + "id": "3443", + "memberLocation": { + "column": "44", + "end": "45327", + "length": "9", + "line": "1271", + "parentIndex": "3443", + "start": "45319" + }, + "memberName": "balanceOf", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "30", + "end": "45327", + "length": "23", + "line": "1271", + "parentIndex": "3442", + "start": "45305" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } - }, - "id": "3575", - "nodeType": "IF_STATEMENT", - "src": { - "end": "45888", - "length": "509", - "line": "1286", - "parentIndex": "3550", - "start": "45380" - } - } - } - ] - }, - "closure": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "3545", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3546", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "35", - "end": "45102", - "length": "1", - "line": "1279", - "parentIndex": "3545", - "start": "45102" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } + }, + "id": "3442", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "30", + "end": "45342", + "length": "38", + "line": "1271", + "parentIndex": "3437", + "start": "45305" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_address$", + "typeString": "function(function(address))" } - }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_address", + "typeString": "address" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3549", - "name": "i", + "id": "3441", + "name": "token", "nodeType": "IDENTIFIER", + "referencedDeclaration": "3441", "src": { - "column": "50", - "end": "45117", - "length": "1", - "line": "1279", - "parentIndex": "3547", - "start": "45117" + "column": "14", + "end": "45293", + "length": "5", + "line": "1271", + "parentIndex": "3439", + "start": "45289" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_address", + "typeString": "address" } } } @@ -64036,16 +61319,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3548", - "name": "_increment", + "id": "3440", + "name": "IWETH", "nodeType": "IDENTIFIER", "src": { - "column": "39", - "end": "45115", - "length": "10", - "line": "1279", - "parentIndex": "3547", - "start": "45106" + "column": "8", + "end": "45287", + "length": "5", + "line": "1271", + "parentIndex": "3439", + "start": "45283" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -64053,807 +61336,452 @@ } } }, - "id": "3547", + "id": "3439", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { - "column": "39", - "end": "45118", - "length": "13", - "line": "1279", - "parentIndex": "3545", - "start": "45106" + "column": "8", + "end": "45294", + "length": "12", + "line": "1271", + "parentIndex": "3438", + "start": "45283" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } }, + "id": "3438", + "memberLocation": { + "column": "21", + "end": "45303", + "length": "8", + "line": "1271", + "parentIndex": "3438", + "start": "45296" + }, + "memberName": "withdraw", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "35", - "end": "45118", - "length": "17", - "line": "1279", - "parentIndex": "3537", - "start": "45102" + "column": "8", + "end": "45303", + "length": "21", + "line": "1271", + "parentIndex": "3437", + "start": "45283" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3542", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3543", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", - "src": { - "column": "28", - "end": "45095", - "length": "1", - "line": "1279", - "parentIndex": "3542", - "start": "45095" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "id": "3437", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "8", + "end": "45343", + "length": "61", + "line": "1271", + "parentIndex": "3436", + "start": "45283" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_address$", + "typeString": "function(function(function(address)))" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_function_$_t_rational_0_by_1$", + "typeString": "function(function(int_const 0))" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_rational_0_by_1$", + "typeString": "function(int_const 0)" } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "LESS_THAN", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3544", - "name": "n", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3389", - "src": { - "column": "32", - "end": "45099", - "length": "1", - "line": "1279", - "parentIndex": "3542", - "start": "45099" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3458", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "39", + "end": "45385", + "length": "1", + "line": "1272", + "parentIndex": "3455", + "start": "45385" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3456", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "31", + "end": "45383", + "length": "7", + "line": "1272", + "parentIndex": "3455", + "start": "45377" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3457", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "31", + "end": "45383", + "length": "7", + "line": "1272", + "parentIndex": "3456", + "start": "45377" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "id": "3455", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "31", + "end": "45386", + "length": "10", + "line": "1272", + "parentIndex": "3453", + "start": "45377" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_0_by_1$", + "typeString": "function(int_const 0)" + } + } } - } - }, - "src": { - "column": "28", - "end": "45099", - "length": "5", - "line": "1279", - "parentIndex": "3537", - "start": "45095" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "3537", - "initialiser": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "3539" - ], - "declarations": [ - { - "id": "3539", - "mutability": "MUTABLE", - "name": "i", - "nameLocation": { - "column": "21", - "end": "45088", - "length": "1", - "line": "1279", - "parentIndex": "3539", - "start": "45088" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3388", - "src": { - "column": "13", - "end": "45088", - "length": "9", - "line": "1279", - "parentIndex": "3538", - "start": "45080" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3540", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3454", + "name": "IERC20", + "nodeType": "IDENTIFIER", "src": { - "column": "13", - "end": "45086", - "length": "7", - "line": "1279", - "parentIndex": "3539", - "start": "45080" + "column": "24", + "end": "45375", + "length": "6", + "line": "1272", + "parentIndex": "3453", + "start": "45370" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$", + "typeString": "function()" } - }, - "visibility": "INTERNAL" + } + }, + "id": "3453", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "24", + "end": "45387", + "length": "18", + "line": "1272", + "parentIndex": "3451", + "start": "45370" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_rational_0_by_1$", + "typeString": "function(function(int_const 0))" } - ], - "id": "3538", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "3541", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "25", - "end": "45092", - "length": "1", - "line": "1279", - "parentIndex": "3538", - "start": "45092" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_function_$_t_rational_0_by_1$", + "typeString": "function(function(int_const 0))" + } + ], + "id": "3459", + "name": "to", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3459", + "src": { + "column": "44", + "end": "45391", + "length": "2", + "line": "1272", + "parentIndex": "3451", + "start": "45390" + }, + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "13", - "end": "45093", - "length": "14", - "line": "1279", - "parentIndex": "3388", - "start": "45080" } - } - }, - "nodeType": "FOR_STATEMENT", - "src": { - "end": "45898", - "length": "824", - "line": "1279", - "parentIndex": "3388", - "start": "45075" - } - } - } - ] - }, - "id": "3382", - "implemented": true, - "kind": "KIND_FUNCTION", - "name": "_complexPath", - "nameLocation": { - "column": "13", - "end": "43562", - "length": "12", - "line": "1245", - "parentIndex": "3382", - "start": "43551" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "3383", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "3384", - "name": "params", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3384", - "src": { - "column": "26", - "end": "43594", - "length": "31", - "line": "1245", - "parentIndex": "3383", - "start": "43564" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" - }, - "typeName": { - "id": "3385", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "3386", - "name": "ComplexPathParams", - "nameLocation": { - "column": "26", - "end": "43580", - "length": "17", - "line": "1245", - "parentIndex": "3385", - "start": "43564" }, - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3152", - "src": { - "column": "26", - "end": "43580", - "length": "17", - "line": "1245", - "parentIndex": "3385", - "start": "43564" - } - }, - "referencedDeclaration": "3152", - "src": { - "column": "26", - "end": "43580", - "length": "17", - "line": "1245", - "parentIndex": "3384", - "start": "43564" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", - "typeString": "struct ITridentRouter.ComplexPathParams" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "26", - "end": "43594", - "length": "31", - "line": "1245", - "parentIndex": "3382", - "start": "43564" - } - }, - "returnParameters": { - "id": "3387", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "45904", - "length": "2363", - "line": "1245", - "parentIndex": "3382", - "start": "43542" - } - }, - "scope": "3265", - "signature": "87820208", - "src": { - "column": "4", - "end": "45904", - "length": "2363", - "line": "1245", - "parentIndex": "3265", - "start": "43542" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ComplexPathParams_$3152$", - "typeString": "function(struct ITridentRouter.ComplexPathParams)" - }, - "visibility": "INTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "3609", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "67", - "end": "46036", - "length": "63", - "line": "1305", - "parentIndex": "3602", - "start": "45974" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", - "value": { - "id": "3610", - "nodeType": "UNCHECKED_BLOCK", - "src": { - "column": "8", - "end": "46030", - "length": "47", - "line": "1306", - "parentIndex": "3265", - "start": "45984" - }, - "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_function_$_t_rational_0_by_1$", + "typeString": "function(function(int_const 0))" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { - "id": "3612", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3613", - "name": "i", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3613", - "src": { - "column": "19", - "end": "46015", - "length": "1", - "line": "1307", - "parentIndex": "3612", - "start": "46015" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_TokenAdapter_$3335", + "typeString": "contract TokenAdapter" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3464", + "name": "this", + "nodeType": "IDENTIFIER", + "src": { + "column": "56", + "end": "45405", + "length": "4", + "line": "1272", + "parentIndex": "3461", + "start": "45402" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_TokenAdapter_$3335", + "typeString": "contract TokenAdapter" + } } } - }, - "nodeType": "BINARY_OPERATION", - "operator": "ADDITION", - "rightExpression": { + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "31", - "id": "3614", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3462", + "name": "address", + "nodeType": "IDENTIFIER", "src": { - "column": "23", - "end": "46019", - "length": "1", - "line": "1307", - "parentIndex": "3612", - "start": "46019" + "column": "48", + "end": "45400", + "length": "7", + "line": "1272", + "parentIndex": "3461", + "start": "45394" }, "typeDescription": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" }, - "value": "1" + "typeName": { + "id": "3463", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "48", + "end": "45400", + "length": "7", + "line": "1272", + "parentIndex": "3462", + "start": "45394" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } } }, + "id": "3461", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "19", - "end": "46019", - "length": "5", - "line": "1307", - "parentIndex": "3611", - "start": "46015" + "column": "48", + "end": "45406", + "length": "13", + "line": "1272", + "parentIndex": "3460", + "start": "45394" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } }, - "functionReturnParameters": "3602", - "id": "3611", - "nodeType": "RETURN_STATEMENT", + "id": "3460", + "memberLocation": { + "column": "62", + "end": "45414", + "length": "7", + "line": "1272", + "parentIndex": "3460", + "start": "45408" + }, + "memberName": "balance", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "12", - "end": "46020", - "length": "13", - "line": "1307", - "parentIndex": "3602", - "start": "46008" + "column": "48", + "end": "45414", + "length": "21", + "line": "1272", + "parentIndex": "3451", + "start": "45394" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } } - ] - } - } - ] - }, - "id": "3602", - "kind": "KIND_FUNCTION", - "name": "_increment", - "nameLocation": { - "column": "13", - "end": "45929", - "length": "10", - "line": "1305", - "parentIndex": "3602", - "start": "45920" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "3603", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "3604", - "name": "i", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3604", - "src": { - "column": "24", - "end": "45939", - "length": "9", - "line": "1305", - "parentIndex": "3603", - "start": "45931" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3605", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "24", - "end": "45937", - "length": "7", - "line": "1305", - "parentIndex": "3604", - "start": "45931" + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3452", + "name": "_transferTokens", + "nodeType": "IDENTIFIER", + "src": { + "column": "8", + "end": "45368", + "length": "15", + "line": "1272", + "parentIndex": "3451", + "start": "45354" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "24", - "end": "45939", - "length": "9", - "line": "1305", - "parentIndex": "3602", - "start": "45931" - } - }, - "returnParameters": { - "id": "3606", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "3607", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3607", - "src": { - "column": "58", - "end": "45971", - "length": "7", - "line": "1305", - "parentIndex": "3606", - "start": "45965" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3608", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "3451", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "58", - "end": "45971", - "length": "7", - "line": "1305", - "parentIndex": "3607", - "start": "45965" + "column": "8", + "end": "45415", + "length": "62", + "line": "1272", + "parentIndex": "3436", + "start": "45354" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_function_$_t_address$", + "typeString": "function(function(function(int_const 0)),address,function(address))" } - }, - "visibility": "INTERNAL" + } } - ], - "src": { - "column": "58", - "end": "45971", - "length": "7", - "line": "1305", - "parentIndex": "3602", - "start": "45965" - } - }, - "scope": "3265", - "signature": "5e384b73", - "src": { - "column": "4", - "end": "46036", - "length": "126", - "line": "1305", - "parentIndex": "3265", - "start": "45911" - }, - "stateMutability": "PURE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$", - "typeString": "function(uint256)" - }, - "visibility": "INTERNAL" - } - } - ], - "src": { - "end": "46038", - "length": "4985", - "line": "1190", - "parentIndex": "3222", - "start": "41054" - } - } - } - ] - }, - "src": { - "line": 1190, - "start": 41054, - "end": 46038, - "length": 4985, - "parent_index": 272 - } - }, - { - "id": 3615, - "license": "GPL-3.0", - "name": "IStargateReceiver", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateReceiver.sol", - "exported_symbols": [ - { - "id": 3615, - "name": "IStargateReceiver", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateReceiver.sol" - } - ], - "node_type": 1, - "root": { - "nodes": [ - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", - "value": { - "id": "3635", - "literals": [ - "pragma", - "solidity", - "0", - ".", - "8", - ".", - "11", - ";" - ], - "nodeType": "PRAGMA_DIRECTIVE", - "src": { - "end": "46100", - "length": "23", - "line": "1314", - "parentIndex": "3615", - "start": "46078" - }, - "text": "pragma solidity 0.8.11;" - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", - "value": { - "fullyImplemented": true, - "id": "3676", - "kind": "KIND_INTERFACE", - "linearizedBaseContracts": [ - "3676" - ], - "name": "IStargateReceiver", - "nameLocation": { - "column": "10", - "end": "46129", - "length": "17", - "line": "1316", - "parentIndex": "3676", - "start": "46113" - }, - "nodeType": "CONTRACT_DEFINITION", - "nodes": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "3693", - "nodeType": "BLOCK", - "src": { - "column": "4", - "end": "46333", - "length": "197", - "line": "1317", - "parentIndex": "3678", - "start": "46137" - } + ] }, - "id": "3678", + "id": "3429", + "implemented": true, "kind": "KIND_FUNCTION", - "name": "sgReceive", + "name": "_unwrapTransfer", "nameLocation": { "column": "13", - "end": "46154", - "length": "9", - "line": "1317", - "parentIndex": "3678", - "start": "46146" + "end": "45235", + "length": "15", + "line": "1270", + "parentIndex": "3429", + "start": "45221" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3679", + "id": "3430", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3680", - "name": "_chainId", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3680", - "src": { - "column": "8", - "end": "46179", - "length": "15", - "line": "1318", - "parentIndex": "3679", - "start": "46165" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": "3681", - "name": "uint16", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "46170", - "length": "6", - "line": "1318", - "parentIndex": "3680", - "start": "46165" - }, - "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3682", - "name": "_srcAddress", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3682", - "src": { - "column": "8", - "end": "46213", - "length": "24", - "line": "1319", - "parentIndex": "3679", - "start": "46190" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3683", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "46194", - "length": "5", - "line": "1319", - "parentIndex": "3682", - "start": "46190" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3684", - "name": "_nonce", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3684", - "src": { - "column": "8", - "end": "46237", - "length": "14", - "line": "1320", - "parentIndex": "3679", - "start": "46224" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3685", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "46230", - "length": "7", - "line": "1320", - "parentIndex": "3684", - "start": "46224" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3686", - "name": "_token", + "id": "3431", + "name": "token", "nodeType": "VARIABLE_DECLARATION", - "scope": "3686", + "scope": "3431", "src": { - "column": "8", - "end": "46261", - "length": "14", - "line": "1321", - "parentIndex": "3679", - "start": "46248" + "column": "29", + "end": "45249", + "length": "13", + "line": "1270", + "parentIndex": "3430", + "start": "45237" }, "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", @@ -64862,16 +61790,16 @@ "typeString": "address" }, "typeName": { - "id": "3687", + "id": "3432", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "46254", + "column": "29", + "end": "45243", "length": "7", - "line": "1321", - "parentIndex": "3686", - "start": "46248" + "line": "1270", + "parentIndex": "3431", + "start": "45237" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -64882,181 +61810,129 @@ "visibility": "INTERNAL" }, { - "id": "3688", - "name": "amountLD", + "id": "3433", + "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "3688", + "scope": "3433", "src": { - "column": "8", - "end": "46287", - "length": "16", - "line": "1322", - "parentIndex": "3679", - "start": "46272" + "column": "44", + "end": "45261", + "length": "10", + "line": "1270", + "parentIndex": "3430", + "start": "45252" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "3689", - "name": "uint256", + "id": "3434", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "46278", + "column": "44", + "end": "45258", "length": "7", - "line": "1322", - "parentIndex": "3688", - "start": "46272" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3690", - "name": "payload", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3690", - "src": { - "column": "8", - "end": "46317", - "length": "20", - "line": "1323", - "parentIndex": "3679", - "start": "46298" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3691", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "46302", - "length": "5", - "line": "1323", - "parentIndex": "3690", - "start": "46298" + "line": "1270", + "parentIndex": "3433", + "start": "45252" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" } ], "src": { - "column": "8", - "end": "46317", - "length": "153", - "line": "1318", - "parentIndex": "3678", - "start": "46165" + "column": "29", + "end": "45261", + "length": "25", + "line": "1270", + "parentIndex": "3429", + "start": "45237" } }, "returnParameters": { - "id": "3692", + "id": "3435", "nodeType": "PARAMETER_LIST", "src": { "column": "4", - "end": "46333", - "length": "197", - "line": "1317", - "parentIndex": "3678", - "start": "46137" + "end": "45422", + "length": "211", + "line": "1270", + "parentIndex": "3429", + "start": "45212" } }, - "scope": "3676", - "signature": "b19f8e19", + "scope": "3375", + "signature": "55203e7c", "src": { "column": "4", - "end": "46333", - "length": "197", - "line": "1317", - "parentIndex": "3676", - "start": "46137" + "end": "45422", + "length": "211", + "line": "1270", + "parentIndex": "3375", + "start": "45212" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", - "typeString": "function(uint16,bytes,uint256,address,uint256,bytes)" + "typeIdentifier": "t_function_$_t_address$_t_address$", + "typeString": "function(address,address)" }, - "visibility": "EXTERNAL" + "visibility": "INTERNAL" } } ], "src": { - "end": "46335", - "length": "233", - "line": "1316", - "parentIndex": "3615", - "start": "46103" + "end": "45424", + "length": "1237", + "line": "1236", + "parentIndex": "3335", + "start": "44188" } } } ] }, "src": { - "line": 1316, - "start": 46103, - "end": 46335, - "length": 233, + "line": 1236, + "start": 44188, + "end": 45424, + "length": 1237, "parent_index": 272 } }, { - "id": 3694, + "id": 3465, "license": "GPL-3.0-or-later", - "name": "StargateAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/StargateAdapter.sol", + "name": "ITridentRouter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentRouter.sol", "exported_symbols": [ { - "id": 3694, - "name": "StargateAdapter", - "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/StargateAdapter.sol" - }, - { - "id": 3615, - "name": "SafeERC20", - "absolute_path": "SafeERC20.sol" - }, - { - "id": 3615, - "name": "IStargateReceiver", - "absolute_path": "IStargateReceiver.sol" - }, - { - "id": 3615, - "name": "ImmutableState", - "absolute_path": "ImmutableState.sol" + "id": 3465, + "name": "ITridentRouter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentRouter.sol" }, { - "id": 3615, - "name": "IStargateAdapter", - "absolute_path": "IStargateAdapter.sol" + "id": 3335, + "name": "IPool", + "absolute_path": "IPool.sol" }, { - "id": 3615, - "name": "ISushiXSwap", - "absolute_path": "ISushiXSwap.sol" + "id": 3335, + "name": "IBentoBoxMinimal", + "absolute_path": "IBentoBoxMinimal.sol" }, { - "id": 3615, - "name": "IStargateWidget", - "absolute_path": "IStargateWidget.sol" + "id": 3335, + "name": "IERC20", + "absolute_path": "IERC20.sol" } ], "node_type": 1, @@ -65065,7 +61941,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "3715", + "id": "3484", "literals": [ "pragma", "solidity", @@ -65078,11 +61954,11 @@ ], "nodeType": "PRAGMA_DIRECTIVE", "src": { - "end": "46406", + "end": "45495", "length": "23", - "line": "1329", - "parentIndex": "3694", - "start": "46384" + "line": "1278", + "parentIndex": "3465", + "start": "45473" }, "text": "pragma solidity 0.8.11;" } @@ -65090,549 +61966,811 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", "value": { - "absolutePath": "SafeERC20.sol", - "file": "./SafeERC20.sol", - "id": "3739", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3694", - "sourceUnit": "3615", - "src": { - "end": "46433", - "length": "25", - "line": "1331", - "parentIndex": "3694", - "start": "46409" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "IStargateReceiver.sol", - "file": "./IStargateReceiver.sol", - "id": "3740", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3694", - "sourceUnit": "3615", - "src": { - "end": "46467", - "length": "33", - "line": "1332", - "parentIndex": "3694", - "start": "46435" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "ImmutableState.sol", - "file": "./ImmutableState.sol", - "id": "3741", + "absolutePath": "IPool.sol", + "file": "./IPool.sol", + "id": "3506", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3694", - "sourceUnit": "3615", + "scope": "3465", + "sourceUnit": "3335", "src": { - "end": "46498", - "length": "30", - "line": "1333", - "parentIndex": "3694", - "start": "46469" + "end": "45518", + "length": "21", + "line": "1280", + "parentIndex": "3465", + "start": "45498" } } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", "value": { - "absolutePath": "IStargateAdapter.sol", - "file": "./IStargateAdapter.sol", - "id": "3742", + "absolutePath": "IBentoBoxMinimal.sol", + "file": "./IBentoBoxMinimal.sol", + "id": "3507", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3694", - "sourceUnit": "3615", + "scope": "3465", + "sourceUnit": "3335", "src": { - "end": "46531", + "end": "45551", "length": "32", - "line": "1334", - "parentIndex": "3694", - "start": "46500" - } - } - }, - { - "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", - "value": { - "absolutePath": "ISushiXSwap.sol", - "file": "./ISushiXSwap.sol", - "id": "3743", - "nodeType": "IMPORT_DIRECTIVE", - "scope": "3694", - "sourceUnit": "3615", - "src": { - "end": "46559", - "length": "27", - "line": "1335", - "parentIndex": "3694", - "start": "46533" + "line": "1281", + "parentIndex": "3465", + "start": "45520" } } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", "value": { - "absolutePath": "IStargateWidget.sol", - "file": "./IStargateWidget.sol", - "id": "3744", + "absolutePath": "IERC20.sol", + "file": "./IERC20.sol", + "id": "3508", "nodeType": "IMPORT_DIRECTIVE", - "scope": "3694", - "sourceUnit": "3615", + "scope": "3465", + "sourceUnit": "3335", "src": { - "end": "46591", - "length": "31", - "line": "1336", - "parentIndex": "3694", - "start": "46561" + "end": "45574", + "length": "22", + "line": "1282", + "parentIndex": "3465", + "start": "45553" } } }, { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { - "baseContracts": [ - { - "baseName": { - "id": "3747", - "name": "ImmutableState", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "948", - "src": { - "column": "37", - "end": "46728", - "length": "14", - "line": "1340", - "parentIndex": "3745", - "start": "46715" - } - }, - "id": "3746", - "nodeType": "INHERITANCE_SPECIFIER", - "src": { - "column": "37", - "end": "46728", - "length": "14", - "line": "1340", - "parentIndex": "3745", - "start": "46715" - } - }, - { - "baseName": { - "id": "3749", - "name": "IStargateReceiver", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3615", - "src": { - "column": "53", - "end": "46747", - "length": "17", - "line": "1340", - "parentIndex": "3745", - "start": "46731" - } - }, - "id": "3748", - "nodeType": "INHERITANCE_SPECIFIER", - "src": { - "column": "53", - "end": "46747", - "length": "17", - "line": "1340", - "parentIndex": "3745", - "start": "46731" - } - } - ], "contractDependencies": [ - "948", - "3615", - "3739", - "3740", - "3741", - "3742", - "3743", - "3744" + "3506", + "3507", + "3508" ], "fullyImplemented": true, - "id": "3745", - "kind": "KIND_CONTRACT", + "id": "3525", + "kind": "KIND_INTERFACE", "linearizedBaseContracts": [ - "948", - "3615", - "3745", - "3739", - "3740", - "3741", - "3742", - "3743", - "3744" + "3525", + "3506", + "3507", + "3508" ], - "name": "StargateAdapter", + "name": "ITridentRouter", "nameLocation": { - "column": "18", - "end": "46710", - "length": "15", - "line": "1340", - "parentIndex": "3745", - "start": "46696" + "column": "10", + "end": "45643", + "length": "14", + "line": "1285", + "parentIndex": "3525", + "start": "45630" }, "nodeType": "CONTRACT_DEFINITION", "nodes": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Using", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { - "id": "3751", - "libraryName": { - "id": "3752", - "name": "SafeERC20", - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1373", - "src": { - "end": "46769", - "length": "9", - "line": "1341", - "parentIndex": "3751", - "start": "46761" + "canonicalName": "ITridentRouter.Path", + "id": "3527", + "members": [ + { + "id": "3528", + "name": "pool", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3528", + "src": { + "column": "8", + "end": "45685", + "length": "13", + "line": "1287", + "parentIndex": "3527", + "start": "45673" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3529", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45679", + "length": "7", + "line": "1287", + "parentIndex": "3528", + "start": "45673" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3530", + "name": "data", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3530", + "src": { + "column": "8", + "end": "45705", + "length": "11", + "line": "1288", + "parentIndex": "3527", + "start": "45695" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "3531", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45699", + "length": "5", + "line": "1288", + "parentIndex": "3530", + "start": "45695" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" } + ], + "name": "Path", + "nameLocation": { + "column": "11", + "end": "45661", + "length": "4", + "line": "1286", + "parentIndex": "3527", + "start": "45658" }, - "name": "SafeERC20", - "nodeType": "USING_FOR_DIRECTIVE", + "nodeType": "STRUCT_DEFINITION", "src": { - "end": "46781", - "length": "27", - "line": "1341", - "parentIndex": "3745", - "start": "46755" + "column": "4", + "end": "45711", + "length": "61", + "line": "1286", + "parentIndex": "3465", + "start": "45651" }, - "typeName": { - "id": "3753", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "3754", - "name": "IERC20", - "nameLocation": { - "column": "24", - "end": "46780", - "length": "6", - "line": "1341", - "parentIndex": "3753", - "start": "46775" + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_Path_$3527", + "typeString": "struct ITridentRouter.Path" + }, + "visibility": "PUBLIC" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "ITridentRouter.ExactInputSingleParams", + "id": "3533", + "members": [ + { + "id": "3534", + "name": "amountIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3534", + "src": { + "column": "8", + "end": "45774", + "length": "17", + "line": "1292", + "parentIndex": "3533", + "start": "45758" }, - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1089", + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3535", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45764", + "length": "7", + "line": "1292", + "parentIndex": "3534", + "start": "45758" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3536", + "name": "amountOutMinimum", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3536", "src": { - "column": "24", - "end": "46780", - "length": "6", - "line": "1341", - "parentIndex": "3753", - "start": "46775" - } + "column": "8", + "end": "45808", + "length": "25", + "line": "1293", + "parentIndex": "3533", + "start": "45784" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3537", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45790", + "length": "7", + "line": "1293", + "parentIndex": "3536", + "start": "45784" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" }, - "referencedDeclaration": "1089", - "src": { - "column": "24", - "end": "46780", - "length": "6", - "line": "1341", - "parentIndex": "3751", - "start": "46775" + { + "id": "3538", + "name": "pool", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3538", + "src": { + "column": "8", + "end": "45830", + "length": "13", + "line": "1294", + "parentIndex": "3533", + "start": "45818" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3539", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45824", + "length": "7", + "line": "1294", + "parentIndex": "3538", + "start": "45818" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" }, - "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" + { + "id": "3540", + "name": "tokenIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3540", + "src": { + "column": "8", + "end": "45855", + "length": "16", + "line": "1295", + "parentIndex": "3533", + "start": "45840" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3541", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45846", + "length": "7", + "line": "1295", + "parentIndex": "3540", + "start": "45840" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3542", + "name": "data", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3542", + "src": { + "column": "8", + "end": "45875", + "length": "11", + "line": "1296", + "parentIndex": "3533", + "start": "45865" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "3543", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45869", + "length": "5", + "line": "1296", + "parentIndex": "3542", + "start": "45865" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" } - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", - "value": { - "id": "3756", - "name": "NotStargateRouter", + ], + "name": "ExactInputSingleParams", "nameLocation": { - "column": "10", - "end": "46830", - "length": "17", - "line": "1344", - "parentIndex": "3756", - "start": "46814" - }, - "nodeType": "ERROR_DEFINITION", - "parameters": { - "id": "3757", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "46833", - "length": "26", - "line": "1344", - "parentIndex": "3756", - "start": "46808" - } + "column": "11", + "end": "45746", + "length": "22", + "line": "1291", + "parentIndex": "3533", + "start": "45725" }, + "nodeType": "STRUCT_DEFINITION", "src": { "column": "4", - "end": "46833", - "length": "26", - "line": "1344", - "parentIndex": "3745", - "start": "46808" + "end": "45881", + "length": "164", + "line": "1291", + "parentIndex": "3465", + "start": "45718" }, + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_error$_StargateAdapter_NotStargateRouter_$3756", - "typeString": "error StargateAdapter.NotStargateRouter" - } + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputSingleParams_$3533", + "typeString": "struct ITridentRouter.ExactInputSingleParams" + }, + "visibility": "PUBLIC" } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { - "id": "3759", - "name": "StargateSushiXSwapSrc", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "3760", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "3761", - "indexed": true, - "name": "srcContext", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3761", + "canonicalName": "ITridentRouter.ExactInputParams", + "id": "3545", + "members": [ + { + "id": "3546", + "name": "tokenIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3546", + "src": { + "column": "8", + "end": "45937", + "length": "16", + "line": "1300", + "parentIndex": "3545", + "start": "45922" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3547", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "32", - "end": "46907", - "length": "26", - "line": "1347", - "parentIndex": "3760", - "start": "46882" + "column": "8", + "end": "45928", + "length": "7", + "line": "1300", + "parentIndex": "3546", + "start": "45922" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3548", + "name": "amountIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3548", + "src": { + "column": "8", + "end": "45963", + "length": "17", + "line": "1301", + "parentIndex": "3545", + "start": "45947" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3549", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45953", + "length": "7", + "line": "1301", + "parentIndex": "3548", + "start": "45947" }, - "typeName": { - "id": "3762", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3550", + "name": "amountOutMinimum", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3550", + "src": { + "column": "8", + "end": "45997", + "length": "25", + "line": "1302", + "parentIndex": "3545", + "start": "45973" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3551", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "45979", + "length": "7", + "line": "1302", + "parentIndex": "3550", + "start": "45973" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3552", + "name": "path", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3552", + "src": { + "column": "8", + "end": "46018", + "length": "12", + "line": "1303", + "parentIndex": "3545", + "start": "46007" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_Path_$3527", + "typeString": "struct ITridentRouter.Path" + }, + "typeName": { + "id": "3553", + "name": "Path", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3554", + "name": "Path", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "3527", "src": { - "column": "32", - "end": "46888", - "length": "7", - "line": "1347", - "parentIndex": "3761", - "start": "46882" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "column": "8", + "end": "46010", + "length": "4", + "line": "1303", + "parentIndex": "3553", + "start": "46007" } }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "46909", - "length": "56", - "line": "1347", - "parentIndex": "3759", - "start": "46854" + "referencedDeclaration": "3527", + "src": { + "column": "8", + "end": "46010", + "length": "4", + "line": "1303", + "parentIndex": "3552", + "start": "46007" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_Path_$3527", + "typeString": "struct ITridentRouter.Path" + } + }, + "visibility": "INTERNAL" } + ], + "name": "ExactInputParams", + "nameLocation": { + "column": "11", + "end": "45910", + "length": "16", + "line": "1299", + "parentIndex": "3545", + "start": "45895" }, + "nodeType": "STRUCT_DEFINITION", "src": { "column": "4", - "end": "46909", - "length": "56", - "line": "1347", - "parentIndex": "3745", - "start": "46854" + "end": "46024", + "length": "137", + "line": "1299", + "parentIndex": "3465", + "start": "45888" }, + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00263759", - "typeString": "event StargateAdapter.StargateSushiXSwapSrc" - } + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + }, + "visibility": "PUBLIC" } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Event", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { - "id": "3764", - "name": "StargateSushiXSwapDst", - "nodeType": "EVENT_DEFINITION", - "parameters": { - "id": "3765", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "3766", - "indexed": true, - "name": "srcContext", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3766", + "canonicalName": "ITridentRouter.TokenInput", + "id": "3556", + "members": [ + { + "id": "3557", + "name": "token", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3557", + "src": { + "column": "8", + "end": "46072", + "length": "14", + "line": "1307", + "parentIndex": "3556", + "start": "46059" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3558", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "32", - "end": "46968", - "length": "26", - "line": "1348", - "parentIndex": "3765", - "start": "46943" + "column": "8", + "end": "46065", + "length": "7", + "line": "1307", + "parentIndex": "3557", + "start": "46059" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "3767", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "32", - "end": "46949", - "length": "7", - "line": "1348", - "parentIndex": "3766", - "start": "46943" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - { - "id": "3768", - "name": "failed", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3768", + "visibility": "INTERNAL" + }, + { + "id": "3559", + "name": "native", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3559", + "src": { + "column": "8", + "end": "46093", + "length": "12", + "line": "1308", + "parentIndex": "3556", + "start": "46082" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "3560", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "60", - "end": "46981", - "length": "11", - "line": "1348", - "parentIndex": "3765", - "start": "46971" + "column": "8", + "end": "46085", + "length": "4", + "line": "1308", + "parentIndex": "3559", + "start": "46082" }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", "typeDescription": { "typeIdentifier": "t_bool", "typeString": "bool" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3561", + "name": "amount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3561", + "src": { + "column": "8", + "end": "46117", + "length": "15", + "line": "1309", + "parentIndex": "3556", + "start": "46103" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3562", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46109", + "length": "7", + "line": "1309", + "parentIndex": "3561", + "start": "46103" }, - "typeName": { - "id": "3769", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "60", - "end": "46974", - "length": "4", - "line": "1348", - "parentIndex": "3768", - "start": "46971" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "4", - "end": "46983", - "length": "69", - "line": "1348", - "parentIndex": "3764", - "start": "46915" + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" } + ], + "name": "TokenInput", + "nameLocation": { + "column": "11", + "end": "46047", + "length": "10", + "line": "1306", + "parentIndex": "3556", + "start": "46038" }, + "nodeType": "STRUCT_DEFINITION", "src": { "column": "4", - "end": "46983", - "length": "69", - "line": "1348", - "parentIndex": "3745", - "start": "46915" + "end": "46123", + "length": "93", + "line": "1306", + "parentIndex": "3465", + "start": "46031" }, + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00263764", - "typeString": "event StargateAdapter.StargateSushiXSwapDst" - } + "typeIdentifier": "t_struct$_ITridentRouter_TokenInput_$3556", + "typeString": "struct ITridentRouter.TokenInput" + }, + "visibility": "PUBLIC" } }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", "value": { - "canonicalName": "StargateAdapter.StargateTeleportParams", - "id": "3771", + "canonicalName": "ITridentRouter.InitialPath", + "id": "3564", "members": [ { - "id": "3772", - "name": "dstChainId", + "id": "3565", + "name": "tokenIn", "nodeType": "VARIABLE_DECLARATION", - "scope": "3772", + "scope": "3565", "src": { "column": "8", - "end": "47047", - "length": "18", - "line": "1351", - "parentIndex": "3771", - "start": "47030" + "end": "46174", + "length": "16", + "line": "1313", + "parentIndex": "3564", + "start": "46159" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "3773", - "name": "uint16", + "id": "3566", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47035", - "length": "6", - "line": "1351", - "parentIndex": "3772", - "start": "47030" + "end": "46165", + "length": "7", + "line": "1313", + "parentIndex": "3565", + "start": "46159" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" }, { - "id": "3774", - "name": "token", + "id": "3567", + "name": "pool", "nodeType": "VARIABLE_DECLARATION", - "scope": "3774", + "scope": "3567", "src": { "column": "8", - "end": "47095", - "length": "14", - "line": "1352", - "parentIndex": "3771", - "start": "47082" + "end": "46196", + "length": "13", + "line": "1314", + "parentIndex": "3564", + "start": "46184" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -65640,16 +62778,16 @@ "typeString": "address" }, "typeName": { - "id": "3775", + "id": "3568", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47088", + "end": "46190", "length": "7", - "line": "1352", - "parentIndex": "3774", - "start": "47082" + "line": "1314", + "parentIndex": "3567", + "start": "46184" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -65660,54 +62798,54 @@ "visibility": "INTERNAL" }, { - "id": "3776", - "name": "srcPoolId", + "id": "3569", + "name": "native", "nodeType": "VARIABLE_DECLARATION", - "scope": "3776", + "scope": "3569", "src": { "column": "8", - "end": "47147", - "length": "18", - "line": "1353", - "parentIndex": "3771", - "start": "47130" + "end": "46217", + "length": "12", + "line": "1315", + "parentIndex": "3564", + "start": "46206" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": "3777", - "name": "uint256", + "id": "3570", + "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47136", - "length": "7", - "line": "1353", - "parentIndex": "3776", - "start": "47130" + "end": "46209", + "length": "4", + "line": "1315", + "parentIndex": "3569", + "start": "46206" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "INTERNAL" }, { - "id": "3778", - "name": "dstPoolId", + "id": "3571", + "name": "amount", "nodeType": "VARIABLE_DECLARATION", - "scope": "3778", + "scope": "3571", "src": { "column": "8", - "end": "47198", - "length": "18", - "line": "1354", - "parentIndex": "3771", - "start": "47181" + "end": "46241", + "length": "15", + "line": "1316", + "parentIndex": "3564", + "start": "46227" }, "stateMutability": "MUTABLE", "typeDescription": { @@ -65715,16 +62853,16 @@ "typeString": "uint256" }, "typeName": { - "id": "3779", + "id": "3572", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47187", + "end": "46233", "length": "7", - "line": "1354", - "parentIndex": "3778", - "start": "47181" + "line": "1316", + "parentIndex": "3571", + "start": "46227" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -65734,128 +62872,270 @@ "visibility": "INTERNAL" }, { - "id": "3780", - "name": "amount", + "id": "3573", + "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "3780", + "scope": "3573", "src": { "column": "8", - "end": "47246", - "length": "15", - "line": "1355", - "parentIndex": "3771", - "start": "47232" + "end": "46261", + "length": "11", + "line": "1317", + "parentIndex": "3564", + "start": "46251" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes", + "typeString": "bytes" }, "typeName": { - "id": "3781", - "name": "uint256", + "id": "3574", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46255", + "length": "5", + "line": "1317", + "parentIndex": "3573", + "start": "46251" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" + } + ], + "name": "InitialPath", + "nameLocation": { + "column": "11", + "end": "46147", + "length": "11", + "line": "1312", + "parentIndex": "3564", + "start": "46137" + }, + "nodeType": "STRUCT_DEFINITION", + "src": { + "column": "4", + "end": "46267", + "length": "138", + "line": "1312", + "parentIndex": "3465", + "start": "46130" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_InitialPath_$3564", + "typeString": "struct ITridentRouter.InitialPath" + }, + "visibility": "PUBLIC" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "ITridentRouter.PercentagePath", + "id": "3576", + "members": [ + { + "id": "3577", + "name": "tokenIn", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3577", + "src": { + "column": "8", + "end": "46321", + "length": "16", + "line": "1321", + "parentIndex": "3576", + "start": "46306" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": "3578", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47238", + "end": "46312", "length": "7", - "line": "1355", - "parentIndex": "3780", - "start": "47232" + "line": "1321", + "parentIndex": "3577", + "start": "46306" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" }, { - "id": "3782", - "name": "amountMin", + "id": "3579", + "name": "pool", "nodeType": "VARIABLE_DECLARATION", - "scope": "3782", + "scope": "3579", "src": { "column": "8", - "end": "47293", - "length": "18", - "line": "1356", - "parentIndex": "3771", - "start": "47276" + "end": "46343", + "length": "13", + "line": "1322", + "parentIndex": "3576", + "start": "46331" }, - "stateMutability": "MUTABLE", + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": "3783", - "name": "uint256", + "id": "3580", + "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47282", + "end": "46337", "length": "7", - "line": "1356", - "parentIndex": "3782", - "start": "47276" + "line": "1322", + "parentIndex": "3579", + "start": "46331" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "INTERNAL" }, { - "id": "3784", - "name": "dustAmount", + "id": "3581", + "name": "balancePercentage", "nodeType": "VARIABLE_DECLARATION", - "scope": "3784", + "scope": "3581", "src": { "column": "8", - "end": "47349", - "length": "19", - "line": "1357", - "parentIndex": "3771", - "start": "47331" + "end": "46377", + "length": "25", + "line": "1323", + "parentIndex": "3576", + "start": "46353" }, "stateMutability": "MUTABLE", "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint64", + "typeString": "uint64" }, "typeName": { - "id": "3785", - "name": "uint256", + "id": "3582", + "name": "uint64", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47337", - "length": "7", - "line": "1357", - "parentIndex": "3784", - "start": "47331" + "end": "46358", + "length": "6", + "line": "1323", + "parentIndex": "3581", + "start": "46353" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint64", + "typeString": "uint64" } }, "visibility": "INTERNAL" }, { - "id": "3786", - "name": "receiver", + "id": "3583", + "name": "data", "nodeType": "VARIABLE_DECLARATION", - "scope": "3786", + "scope": "3583", "src": { "column": "8", - "end": "47419", - "length": "17", - "line": "1358", - "parentIndex": "3771", - "start": "47403" + "end": "46439", + "length": "11", + "line": "1324", + "parentIndex": "3576", + "start": "46429" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + }, + "typeName": { + "id": "3584", + "name": "bytes", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46433", + "length": "5", + "line": "1324", + "parentIndex": "3583", + "start": "46429" + }, + "typeDescription": { + "typeIdentifier": "t_bytes", + "typeString": "bytes" + } + }, + "visibility": "INTERNAL" + } + ], + "name": "PercentagePath", + "nameLocation": { + "column": "11", + "end": "46294", + "length": "14", + "line": "1320", + "parentIndex": "3576", + "start": "46281" + }, + "nodeType": "STRUCT_DEFINITION", + "src": { + "column": "4", + "end": "46445", + "length": "172", + "line": "1320", + "parentIndex": "3465", + "start": "46274" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_PercentagePath_$3576", + "typeString": "struct ITridentRouter.PercentagePath" + }, + "visibility": "PUBLIC" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "ITridentRouter.Output", + "id": "3586", + "members": [ + { + "id": "3587", + "name": "token", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3587", + "src": { + "column": "8", + "end": "46489", + "length": "14", + "line": "1328", + "parentIndex": "3586", + "start": "46476" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -65863,16 +63143,16 @@ "typeString": "address" }, "typeName": { - "id": "3787", + "id": "3588", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47409", + "end": "46482", "length": "7", - "line": "1358", - "parentIndex": "3786", - "start": "47403" + "line": "1328", + "parentIndex": "3587", + "start": "46476" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -65883,17 +63163,17 @@ "visibility": "INTERNAL" }, { - "id": "3788", + "id": "3589", "name": "to", "nodeType": "VARIABLE_DECLARATION", - "scope": "3788", + "scope": "3589", "src": { "column": "8", - "end": "47466", + "end": "46509", "length": "11", - "line": "1359", - "parentIndex": "3771", - "start": "47456" + "line": "1329", + "parentIndex": "3586", + "start": "46499" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -65901,16 +63181,16 @@ "typeString": "address" }, "typeName": { - "id": "3789", + "id": "3590", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47462", + "end": "46505", "length": "7", - "line": "1359", - "parentIndex": "3788", - "start": "47456" + "line": "1329", + "parentIndex": "3589", + "start": "46499" }, "stateMutability": "NONPAYABLE", "typeDescription": { @@ -65921,17 +63201,54 @@ "visibility": "INTERNAL" }, { - "id": "3790", - "name": "gas", + "id": "3591", + "name": "unwrapBento", "nodeType": "VARIABLE_DECLARATION", - "scope": "3790", + "scope": "3591", "src": { "column": "8", - "end": "47555", - "length": "12", - "line": "1360", - "parentIndex": "3771", - "start": "47544" + "end": "46535", + "length": "17", + "line": "1330", + "parentIndex": "3586", + "start": "46519" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": "3592", + "name": "bool", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "46522", + "length": "4", + "line": "1330", + "parentIndex": "3591", + "start": "46519" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3593", + "name": "minAmount", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3593", + "src": { + "column": "8", + "end": "46562", + "length": "18", + "line": "1331", + "parentIndex": "3586", + "start": "46545" }, "stateMutability": "MUTABLE", "typeDescription": { @@ -65939,16 +63256,16 @@ "typeString": "uint256" }, "typeName": { - "id": "3791", + "id": "3594", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "47550", + "end": "46551", "length": "7", - "line": "1360", - "parentIndex": "3790", - "start": "47544" + "line": "1331", + "parentIndex": "3593", + "start": "46545" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -65956,2932 +63273,5632 @@ } }, "visibility": "INTERNAL" + } + ], + "name": "Output", + "nameLocation": { + "column": "11", + "end": "46464", + "length": "6", + "line": "1327", + "parentIndex": "3586", + "start": "46459" + }, + "nodeType": "STRUCT_DEFINITION", + "src": { + "column": "4", + "end": "46568", + "length": "117", + "line": "1327", + "parentIndex": "3465", + "start": "46452" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_Output_$3586", + "typeString": "struct ITridentRouter.Output" + }, + "visibility": "PUBLIC" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Struct", + "value": { + "canonicalName": "ITridentRouter.ComplexPathParams", + "id": "3596", + "members": [ + { + "id": "3597", + "name": "initialPath", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3597", + "src": { + "column": "8", + "end": "46635", + "length": "26", + "line": "1335", + "parentIndex": "3596", + "start": "46610" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_InitialPath_$3564", + "typeString": "struct ITridentRouter.InitialPath" + }, + "typeName": { + "id": "3598", + "name": "InitialPath", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3599", + "name": "InitialPath", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "3564", + "src": { + "column": "8", + "end": "46620", + "length": "11", + "line": "1335", + "parentIndex": "3598", + "start": "46610" + } + }, + "referencedDeclaration": "3564", + "src": { + "column": "8", + "end": "46620", + "length": "11", + "line": "1335", + "parentIndex": "3597", + "start": "46610" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_InitialPath_$3564", + "typeString": "struct ITridentRouter.InitialPath" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3600", + "name": "percentagePath", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3600", + "src": { + "column": "8", + "end": "46676", + "length": "32", + "line": "1336", + "parentIndex": "3596", + "start": "46645" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_PercentagePath_$3576", + "typeString": "struct ITridentRouter.PercentagePath" + }, + "typeName": { + "id": "3601", + "name": "PercentagePath", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3602", + "name": "PercentagePath", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "3576", + "src": { + "column": "8", + "end": "46658", + "length": "14", + "line": "1336", + "parentIndex": "3601", + "start": "46645" + } + }, + "referencedDeclaration": "3576", + "src": { + "column": "8", + "end": "46658", + "length": "14", + "line": "1336", + "parentIndex": "3600", + "start": "46645" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_PercentagePath_$3576", + "typeString": "struct ITridentRouter.PercentagePath" + } + }, + "visibility": "INTERNAL" + }, + { + "id": "3603", + "name": "output", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3603", + "src": { + "column": "8", + "end": "46701", + "length": "16", + "line": "1337", + "parentIndex": "3596", + "start": "46686" + }, + "stateMutability": "MUTABLE", + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_Output_$3586", + "typeString": "struct ITridentRouter.Output" + }, + "typeName": { + "id": "3604", + "name": "Output", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3605", + "name": "Output", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "3586", + "src": { + "column": "8", + "end": "46691", + "length": "6", + "line": "1337", + "parentIndex": "3604", + "start": "46686" + } + }, + "referencedDeclaration": "3586", + "src": { + "column": "8", + "end": "46691", + "length": "6", + "line": "1337", + "parentIndex": "3603", + "start": "46686" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_Output_$3586", + "typeString": "struct ITridentRouter.Output" + } + }, + "visibility": "INTERNAL" + } + ], + "name": "ComplexPathParams", + "nameLocation": { + "column": "11", + "end": "46598", + "length": "17", + "line": "1334", + "parentIndex": "3596", + "start": "46582" + }, + "nodeType": "STRUCT_DEFINITION", + "src": { + "column": "4", + "end": "46707", + "length": "133", + "line": "1334", + "parentIndex": "3465", + "start": "46575" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" + }, + "visibility": "PUBLIC" + } + } + ], + "src": { + "end": "46709", + "length": "1090", + "line": "1285", + "parentIndex": "3465", + "start": "45620" + } + } + } + ] + }, + "src": { + "line": 1285, + "start": 45620, + "end": 46709, + "length": 1090, + "parent_index": 272 + } + }, + { + "id": 3606, + "license": "GPL-3.0-or-later", + "name": "ITridentSwapAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentSwapAdapter.sol", + "exported_symbols": [ + { + "id": 3606, + "name": "ITridentSwapAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ITridentSwapAdapter.sol" + }, + { + "id": 3465, + "name": "ITridentRouter", + "absolute_path": "ITridentRouter.sol" + }, + { + "id": 3465, + "name": "BentoAdapter", + "absolute_path": "BentoAdapter.sol" + }, + { + "id": 3465, + "name": "TokenAdapter", + "absolute_path": "TokenAdapter.sol" + }, + { + "id": 3465, + "name": "ImmutableState", + "absolute_path": "ImmutableState.sol" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "3626", + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "46780", + "length": "23", + "line": "1343", + "parentIndex": "3606", + "start": "46758" + }, + "text": "pragma solidity 0.8.11;" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "ITridentRouter.sol", + "file": "./ITridentRouter.sol", + "id": "3651", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3606", + "sourceUnit": "3465", + "src": { + "end": "46812", + "length": "30", + "line": "1345", + "parentIndex": "3606", + "start": "46783" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "BentoAdapter.sol", + "file": "./BentoAdapter.sol", + "id": "3652", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3606", + "sourceUnit": "3465", + "src": { + "end": "46841", + "length": "28", + "line": "1346", + "parentIndex": "3606", + "start": "46814" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "TokenAdapter.sol", + "file": "./TokenAdapter.sol", + "id": "3653", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3606", + "sourceUnit": "3465", + "src": { + "end": "46870", + "length": "28", + "line": "1347", + "parentIndex": "3606", + "start": "46843" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "ImmutableState.sol", + "file": "./ImmutableState.sol", + "id": "3654", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3606", + "sourceUnit": "3465", + "src": { + "end": "46901", + "length": "30", + "line": "1348", + "parentIndex": "3606", + "start": "46872" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", + "value": { + "contractDependencies": [ + "3651", + "3652", + "3653", + "3654" + ], + "fullyImplemented": true, + "id": "3667", + "kind": "KIND_INTERFACE", + "linearizedBaseContracts": [ + "3667", + "3651", + "3652", + "3653", + "3654" + ], + "name": "ITridentSwapAdapter", + "nameLocation": { + "column": "10", + "end": "46932", + "length": "19", + "line": "1350", + "parentIndex": "3667", + "start": "46914" + }, + "nodeType": "CONTRACT_DEFINITION", + "src": { + "end": "46935", + "length": "32", + "line": "1350", + "parentIndex": "3606", + "start": "46904" + } + } + } + ] + }, + "src": { + "line": 1350, + "start": 46904, + "end": 46935, + "length": 32, + "parent_index": 272 + } + }, + { + "id": 3668, + "license": "GPL-3.0-or-later", + "name": "TridentSwapAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TridentSwapAdapter.sol", + "exported_symbols": [ + { + "id": 3668, + "name": "TridentSwapAdapter", + "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TridentSwapAdapter.sol" + }, + { + "id": 3606, + "name": "ITridentRouter", + "absolute_path": "ITridentRouter.sol" + }, + { + "id": 3606, + "name": "BentoAdapter", + "absolute_path": "BentoAdapter.sol" + }, + { + "id": 3606, + "name": "TokenAdapter", + "absolute_path": "TokenAdapter.sol" + }, + { + "id": 3606, + "name": "ImmutableState", + "absolute_path": "ImmutableState.sol" + }, + { + "id": 3606, + "name": "ITridentSwapAdapter", + "absolute_path": "ITridentSwapAdapter.sol" + } + ], + "node_type": 1, + "root": { + "nodes": [ + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", + "value": { + "id": "3689", + "literals": [ + "pragma", + "solidity", + "0", + ".", + "8", + ".", + "11", + ";" + ], + "nodeType": "PRAGMA_DIRECTIVE", + "src": { + "end": "47006", + "length": "23", + "line": "1354", + "parentIndex": "3668", + "start": "46984" + }, + "text": "pragma solidity 0.8.11;" + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "ITridentRouter.sol", + "file": "./ITridentRouter.sol", + "id": "3714", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3668", + "sourceUnit": "3606", + "src": { + "end": "46812", + "length": "30", + "line": "1345", + "parentIndex": "3668", + "start": "46783" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "BentoAdapter.sol", + "file": "./BentoAdapter.sol", + "id": "3715", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3668", + "sourceUnit": "3606", + "src": { + "end": "46841", + "length": "28", + "line": "1346", + "parentIndex": "3668", + "start": "46814" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "TokenAdapter.sol", + "file": "./TokenAdapter.sol", + "id": "3716", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3668", + "sourceUnit": "3606", + "src": { + "end": "46870", + "length": "28", + "line": "1347", + "parentIndex": "3668", + "start": "46843" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "ImmutableState.sol", + "file": "./ImmutableState.sol", + "id": "3717", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3668", + "sourceUnit": "3606", + "src": { + "end": "46901", + "length": "30", + "line": "1348", + "parentIndex": "3668", + "start": "46872" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Import", + "value": { + "absolutePath": "ITridentSwapAdapter.sol", + "file": "./ITridentSwapAdapter.sol", + "id": "3718", + "nodeType": "IMPORT_DIRECTIVE", + "scope": "3668", + "sourceUnit": "3606", + "src": { + "end": "47043", + "length": "35", + "line": "1356", + "parentIndex": "3668", + "start": "47009" + } + } + }, + { + "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", + "value": { + "baseContracts": [ + { + "baseName": { + "id": "3721", + "name": "ITridentRouter", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "3465", + "src": { + "column": "4", + "end": "47182", + "length": "14", + "line": "1362", + "parentIndex": "3719", + "start": "47169" + } + }, + "id": "3720", + "nodeType": "INHERITANCE_SPECIFIER", + "src": { + "column": "4", + "end": "47182", + "length": "14", + "line": "1362", + "parentIndex": "3719", + "start": "47169" + } + }, + { + "baseName": { + "id": "3723", + "name": "ImmutableState", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "948", + "src": { + "column": "4", + "end": "47202", + "length": "14", + "line": "1363", + "parentIndex": "3719", + "start": "47189" + } + }, + "id": "3722", + "nodeType": "INHERITANCE_SPECIFIER", + "src": { + "column": "4", + "end": "47202", + "length": "14", + "line": "1363", + "parentIndex": "3719", + "start": "47189" + } + }, + { + "baseName": { + "id": "3725", + "name": "BentoAdapter", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "1018", + "src": { + "column": "4", + "end": "47220", + "length": "12", + "line": "1364", + "parentIndex": "3719", + "start": "47209" + } + }, + "id": "3724", + "nodeType": "INHERITANCE_SPECIFIER", + "src": { + "column": "4", + "end": "47220", + "length": "12", + "line": "1364", + "parentIndex": "3719", + "start": "47209" + } + }, + { + "baseName": { + "id": "3727", + "name": "TokenAdapter", + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "3335", + "src": { + "column": "4", + "end": "47238", + "length": "12", + "line": "1365", + "parentIndex": "3719", + "start": "47227" + } + }, + "id": "3726", + "nodeType": "INHERITANCE_SPECIFIER", + "src": { + "column": "4", + "end": "47238", + "length": "12", + "line": "1365", + "parentIndex": "3719", + "start": "47227" + } + } + ], + "contractDependencies": [ + "3465", + "948", + "1018", + "3335", + "3714", + "3715", + "3716", + "3717", + "3718" + ], + "fullyImplemented": true, + "id": "3719", + "kind": "KIND_CONTRACT", + "linearizedBaseContracts": [ + "3465", + "948", + "1018", + "3335", + "3719", + "3714", + "3715", + "3716", + "3717", + "3718" + ], + "name": "TridentSwapAdapter", + "nameLocation": { + "column": "18", + "end": "47160", + "length": "18", + "line": "1361", + "parentIndex": "3719", + "start": "47143" + }, + "nodeType": "CONTRACT_DEFINITION", + "nodes": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Error", + "value": { + "id": "3729", + "name": "TooLittleReceived", + "nameLocation": { + "column": "10", + "end": "47288", + "length": "17", + "line": "1368", + "parentIndex": "3729", + "start": "47272" + }, + "nodeType": "ERROR_DEFINITION", + "parameters": { + "id": "3730", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "47291", + "length": "26", + "line": "1368", + "parentIndex": "3729", + "start": "47266" + } + }, + "src": { + "column": "4", + "end": "47291", + "length": "26", + "line": "1368", + "parentIndex": "3719", + "start": "47266" + }, + "typeDescription": { + "typeIdentifier": "t_error$_TridentSwapAdapter_TooLittleReceived_$3729", + "typeString": "error TridentSwapAdapter.TooLittleReceived" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "3740", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "4", + "end": "49059", + "length": "1272", + "line": "1377", + "parentIndex": "3732", + "start": "47788" }, - { - "id": "3792", - "name": "srcContext", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3792", - "src": { - "column": "8", - "end": "47632", - "length": "19", - "line": "1361", - "parentIndex": "3771", - "start": "47614" - }, - "stateMutability": "MUTABLE", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "3793", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "47620", - "length": "7", - "line": "1361", - "parentIndex": "3792", - "start": "47614" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "value": { + "body": { + "id": "3746", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "34", + "end": "48357", + "length": "534", + "line": "1378", + "parentIndex": "3732", + "start": "47824" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "3748" + ], + "declarations": [ + { + "id": "3748", + "mutability": "MUTABLE", + "name": "tokenBalance", + "nameLocation": { + "column": "18", + "end": "47855", + "length": "12", + "line": "1379", + "parentIndex": "3748", + "start": "47844" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3746", + "src": { + "column": "10", + "end": "47855", + "length": "20", + "line": "1379", + "parentIndex": "3747", + "start": "47836" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3749", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "10", + "end": "47842", + "length": "7", + "line": "1379", + "parentIndex": "3748", + "start": "47836" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "3747", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3759", + "name": "this", + "nodeType": "IDENTIFIER", + "src": { + "column": "24", + "end": "47920", + "length": "4", + "line": "1380", + "parentIndex": "3756", + "start": "47917" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3757", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "47915", + "length": "7", + "line": "1380", + "parentIndex": "3756", + "start": "47909" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3758", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "16", + "end": "47915", + "length": "7", + "line": "1380", + "parentIndex": "3757", + "start": "47909" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "id": "3756", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "47921", + "length": "13", + "line": "1380", + "parentIndex": "3750", + "start": "47909" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3755", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3755", + "src": { + "column": "40", + "end": "47871", + "length": "6", + "line": "1379", + "parentIndex": "3754", + "start": "47866" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "id": "3754", + "memberLocation": { + "column": "47", + "end": "47879", + "length": "7", + "line": "1379", + "parentIndex": "3754", + "start": "47873" + }, + "memberName": "tokenIn", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "40", + "end": "47879", + "length": "14", + "line": "1379", + "parentIndex": "3752", + "start": "47866" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3753", + "name": "IERC20", + "nodeType": "IDENTIFIER", + "src": { + "column": "33", + "end": "47864", + "length": "6", + "line": "1379", + "parentIndex": "3752", + "start": "47859" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "3752", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "33", + "end": "47880", + "length": "22", + "line": "1379", + "parentIndex": "3751", + "start": "47859" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "typeString": "function(struct ITridentRouter.ExactInputParams)" + } + } + }, + "id": "3751", + "memberLocation": { + "column": "56", + "end": "47890", + "length": "9", + "line": "1379", + "parentIndex": "3751", + "start": "47882" + }, + "memberName": "balanceOf", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "33", + "end": "47890", + "length": "32", + "line": "1379", + "parentIndex": "3750", + "start": "47859" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "typeString": "function(struct ITridentRouter.ExactInputParams)" + } + } + }, + "id": "3750", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "33", + "end": "47935", + "length": "77", + "line": "1379", + "parentIndex": "3747", + "start": "47859" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_address$", + "typeString": "function(function(address))" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "10", + "end": "47936", + "length": "101", + "line": "1379", + "parentIndex": "3746", + "start": "47836" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "typeString": "function(struct ITridentRouter.ExactInputParams)" + }, + { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3765", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3765", + "src": { + "column": "23", + "end": "47995", + "length": "6", + "line": "1383", + "parentIndex": "3764", + "start": "47990" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "id": "3764", + "memberLocation": { + "column": "30", + "end": "48003", + "length": "7", + "line": "1383", + "parentIndex": "3764", + "start": "47997" + }, + "memberName": "tokenIn", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "23", + "end": "48003", + "length": "14", + "line": "1383", + "parentIndex": "3762", + "start": "47990" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3763", + "name": "IERC20", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "47988", + "length": "6", + "line": "1383", + "parentIndex": "3762", + "start": "47983" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "3762", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "48004", + "length": "22", + "line": "1383", + "parentIndex": "3760", + "start": "47983" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "typeString": "function(struct ITridentRouter.ExactInputParams)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3769", + "name": "bentoBox", + "nodeType": "IDENTIFIER", + "src": { + "column": "24", + "end": "48038", + "length": "8", + "line": "1384", + "parentIndex": "3766", + "start": "48031" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3767", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "48029", + "length": "7", + "line": "1384", + "parentIndex": "3766", + "start": "48023" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3768", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "16", + "end": "48029", + "length": "7", + "line": "1384", + "parentIndex": "3767", + "start": "48023" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "id": "3766", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "48039", + "length": "17", + "line": "1384", + "parentIndex": "3760", + "start": "48023" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "typeString": "function(struct ITridentRouter.ExactInputParams)" + }, + { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + } + ], + "id": "3770", + "name": "tokenBalance", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3747", + "src": { + "column": "16", + "end": "48069", + "length": "12", + "line": "1385", + "parentIndex": "3760", + "start": "48058" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3761", + "name": "_transferTokens", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "47964", + "length": "15", + "line": "1382", + "parentIndex": "3760", + "start": "47950" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "3760", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "48083", + "length": "134", + "line": "1382", + "parentIndex": "3746", + "start": "47950" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$_t_function_$_t_function_$_t_uint256$", + "typeString": "function(function(struct ITridentRouter.ExactInputParams),function(function()),uint256)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "3772", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3775", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3775", + "src": { + "column": "15", + "end": "48150", + "length": "6", + "line": "1388", + "parentIndex": "3774", + "start": "48145" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "id": "3774", + "memberLocation": { + "column": "22", + "end": "48159", + "length": "8", + "line": "1388", + "parentIndex": "3774", + "start": "48152" + }, + "memberName": "amountIn", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "15", + "end": "48159", + "length": "15", + "line": "1388", + "parentIndex": "3773", + "start": "48145" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + } + ], + "id": "3773", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "12", + "end": "48160", + "length": "19", + "line": "1388", + "parentIndex": "3772", + "start": "48142" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "typeString": "tuple(struct ITridentRouter.ExactInputParams)" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + }, + { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + }, + { + "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3780", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3780", + "src": { + "column": "16", + "end": "48203", + "length": "6", + "line": "1389", + "parentIndex": "3779", + "start": "48198" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "id": "3779", + "memberLocation": { + "column": "23", + "end": "48211", + "length": "7", + "line": "1389", + "parentIndex": "3779", + "start": "48205" + }, + "memberName": "tokenIn", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "48211", + "length": "14", + "line": "1389", + "parentIndex": "3776", + "start": "48198" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3784", + "name": "bentoBox", + "nodeType": "IDENTIFIER", + "src": { + "column": "24", + "end": "48245", + "length": "8", + "line": "1390", + "parentIndex": "3781", + "start": "48238" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3782", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "48236", + "length": "7", + "line": "1390", + "parentIndex": "3781", + "start": "48230" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3783", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "16", + "end": "48236", + "length": "7", + "line": "1390", + "parentIndex": "3782", + "start": "48230" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "id": "3781", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "48246", + "length": "17", + "line": "1390", + "parentIndex": "3776", + "start": "48230" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + }, + { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3789", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "28", + "end": "48277", + "length": "1", + "line": "1391", + "parentIndex": "3786", + "start": "48277" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "id": "3786", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3788", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3788", + "src": { + "column": "16", + "end": "48270", + "length": "6", + "line": "1391", + "parentIndex": "3787", + "start": "48265" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "id": "3787", + "memberLocation": { + "column": "23", + "end": "48275", + "length": "4", + "line": "1391", + "parentIndex": "3787", + "start": "48272" + }, + "memberName": "path", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "48275", + "length": "11", + "line": "1391", + "parentIndex": "3786", + "start": "48265" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "48278", + "length": "14", + "line": "1391", + "parentIndex": "3785", + "start": "48265" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ] + } + }, + "id": "3785", + "memberLocation": { + "column": "31", + "end": "48283", + "length": "4", + "line": "1391", + "parentIndex": "3785", + "start": "48280" + }, + "memberName": "pool", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "48283", + "length": "19", + "line": "1391", + "parentIndex": "3776", + "start": "48265" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + }, + { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + }, + { + "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + } + ], + "id": "3790", + "name": "tokenBalance", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3747", + "src": { + "column": "16", + "end": "48313", + "length": "12", + "line": "1392", + "parentIndex": "3776", + "start": "48302" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + }, + { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + }, + { + "typeIdentifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", + "typeString": "index[struct ITridentRouter.ExactInputParams:int_const 0]" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "hexValue": "30", + "id": "3791", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "16", + "end": "48332", + "length": "1", + "line": "1393", + "parentIndex": "3776", + "start": "48332" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3778", + "name": "bentoBox", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "963", + "src": { + "column": "34", + "end": "48171", + "length": "8", + "line": "1388", + "parentIndex": "3777", + "start": "48164" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" + } + } + }, + "id": "3777", + "memberLocation": { + "column": "43", + "end": "48179", + "length": "7", + "line": "1388", + "parentIndex": "3777", + "start": "48173" + }, + "memberName": "deposit", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "34", + "end": "48179", + "length": "16", + "line": "1388", + "parentIndex": "3776", + "start": "48164" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" + } + } + }, + "id": "3776", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "34", + "end": "48346", + "length": "183", + "line": "1388", + "parentIndex": "3772", + "start": "48164" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$_t_function_$_t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$_t_uint256$_t_rational_0_by_1$", + "typeString": "function(struct ITridentRouter.ExactInputParams,function(function()),index[struct ITridentRouter.ExactInputParams:int_const 0],uint256,int_const 0)" + } + } + }, + "src": { + "column": "12", + "end": "48346", + "length": "205", + "line": "1388", + "parentIndex": "3771", + "start": "48142" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "typeString": "tuple(struct ITridentRouter.ExactInputParams)" + } + } + }, + "id": "3771", + "nodeType": "ASSIGNMENT", + "src": { + "column": "12", + "end": "48347", + "length": "206", + "line": "1388", + "parentIndex": "3746", + "start": "48142" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "typeString": "tuple(struct ITridentRouter.ExactInputParams)" + } + } + } + ] + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3742", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3744", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3744", + "src": { + "column": "12", + "end": "47807", + "length": "6", + "line": "1378", + "parentIndex": "3743", + "start": "47802" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "id": "3743", + "memberLocation": { + "column": "19", + "end": "47816", + "length": "8", + "line": "1378", + "parentIndex": "3743", + "start": "47809" + }, + "memberName": "amountIn", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "47816", + "length": "15", + "line": "1378", + "parentIndex": "3742", + "start": "47802" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3745", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "31", + "end": "47821", + "length": "1", + "line": "1378", + "parentIndex": "3742", + "start": "47821" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "src": { + "column": "12", + "end": "47821", + "length": "20", + "line": "1378", + "parentIndex": "3741", + "start": "47802" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "3741", + "nodeType": "IF_STATEMENT", + "src": { + "end": "48357", + "length": "560", + "line": "1378", + "parentIndex": "3740", + "start": "47798" + } } }, - "visibility": "INTERNAL" - } - ], - "name": "StargateTeleportParams", - "nameLocation": { - "column": "11", - "end": "47018", - "length": "22", - "line": "1350", - "parentIndex": "3771", - "start": "46997" - }, - "nodeType": "STRUCT_DEFINITION", - "src": { - "column": "4", - "end": "47674", - "length": "685", - "line": "1350", - "parentIndex": "3694", - "start": "46990" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - "visibility": "PUBLIC" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "3801", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "60", - "end": "47906", - "length": "78", - "line": "1366", - "parentIndex": "3795", - "start": "47829" - }, - "statements": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - }, + "assignments": [ + "3793" + ], + "declarations": [ { - "typeString": "type" + "id": "3793", + "mutability": "MUTABLE", + "name": "n", + "nameLocation": { + "column": "16", + "end": "48719", + "length": "1", + "line": "1402", + "parentIndex": "3793", + "start": "48719" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3740", + "src": { + "column": "8", + "end": "48719", + "length": "9", + "line": "1402", + "parentIndex": "3792", + "start": "48711" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3794", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "8", + "end": "48717", + "length": "7", + "line": "1402", + "parentIndex": "3793", + "start": "48711" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" } ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - ], - "arguments": [ - { + "id": "3792", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3808", - "name": "stargateRouter", + "id": "3797", + "name": "params", "nodeType": "IDENTIFIER", + "referencedDeclaration": "3797", + "src": { + "column": "20", + "end": "48728", + "length": "6", + "line": "1402", + "parentIndex": "3796", + "start": "48723" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "id": "3796", + "memberLocation": { + "column": "27", + "end": "48733", + "length": "4", + "line": "1402", + "parentIndex": "3796", + "start": "48730" + }, + "memberName": "path", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "20", + "end": "48733", + "length": "11", + "line": "1402", + "parentIndex": "3792", + "start": "48723" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "id": "3795", + "memberLocation": { + "column": "32", + "end": "48740", + "length": "6", + "line": "1402", + "parentIndex": "3795", + "start": "48735" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "20", + "end": "48740", + "length": "18", + "line": "1402", + "parentIndex": "3792", + "start": "48723" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "8", + "end": "48741", + "length": "31", + "line": "1402", + "parentIndex": "3740", + "start": "48711" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", + "value": { + "body": { + "id": "3811", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "54", + "end": "48885", + "length": "89", + "line": "1403", + "parentIndex": "3798", + "start": "48797" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "3813", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3814", + "name": "amountOut", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "646", + "src": { + "column": "12", + "end": "48819", + "length": "9", + "line": "1404", + "parentIndex": "3813", + "start": "48811" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3828", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "68", + "end": "48867", + "length": "1", + "line": "1404", + "parentIndex": "3825", + "start": "48867" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3825", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3827", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "56", + "end": "48860", + "length": "6", + "line": "1404", + "parentIndex": "3826", + "start": "48855" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3826", + "memberLocation": { + "column": "63", + "end": "48865", + "length": "4", + "line": "1404", + "parentIndex": "3826", + "start": "48862" + }, + "memberName": "path", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "56", + "end": "48865", + "length": "11", + "line": "1404", + "parentIndex": "3825", + "start": "48855" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "56", + "end": "48868", + "length": "14", + "line": "1404", + "parentIndex": "3824", + "start": "48855" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "3824", + "memberLocation": { + "column": "71", + "end": "48873", + "length": "4", + "line": "1404", + "parentIndex": "3824", + "start": "48870" + }, + "memberName": "data", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "56", + "end": "48873", + "length": "19", + "line": "1404", + "parentIndex": "3815", + "start": "48855" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3823", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "42", + "end": "48841", + "length": "1", + "line": "1404", + "parentIndex": "3820", + "start": "48841" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3820", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3822", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "30", + "end": "48834", + "length": "6", + "line": "1404", + "parentIndex": "3821", + "start": "48829" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3821", + "memberLocation": { + "column": "37", + "end": "48839", + "length": "4", + "line": "1404", + "parentIndex": "3821", + "start": "48836" + }, + "memberName": "path", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "30", + "end": "48839", + "length": "11", + "line": "1404", + "parentIndex": "3820", + "start": "48829" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "30", + "end": "48842", + "length": "14", + "line": "1404", + "parentIndex": "3819", + "start": "48829" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "3819", + "memberLocation": { + "column": "45", + "end": "48847", + "length": "4", + "line": "1404", + "parentIndex": "3819", + "start": "48844" + }, + "memberName": "pool", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "30", + "end": "48847", + "length": "19", + "line": "1404", + "parentIndex": "3817", + "start": "48829" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3818", + "name": "IPool", + "nodeType": "IDENTIFIER", + "src": { + "column": "24", + "end": "48827", + "length": "5", + "line": "1404", + "parentIndex": "3817", + "start": "48823" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "3817", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "24", + "end": "48848", + "length": "26", + "line": "1404", + "parentIndex": "3816", + "start": "48823" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + } + }, + "id": "3816", + "memberLocation": { + "column": "51", + "end": "48853", + "length": "4", + "line": "1404", + "parentIndex": "3816", + "start": "48850" + }, + "memberName": "swap", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "24", + "end": "48853", + "length": "31", + "line": "1404", + "parentIndex": "3815", + "start": "48823" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + } + }, + "id": "3815", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "24", + "end": "48874", + "length": "52", + "line": "1404", + "parentIndex": "3813", + "start": "48823" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + } + }, "src": { - "column": "34", - "end": "47878", - "length": "14", - "line": "1367", - "parentIndex": "3805", - "start": "47865" + "column": "12", + "end": "48874", + "length": "64", + "line": "1404", + "parentIndex": "3812", + "start": "48811" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } + }, + "id": "3812", + "nodeType": "ASSIGNMENT", + "src": { + "column": "12", + "end": "48875", + "length": "65", + "line": "1404", + "parentIndex": "3811", + "start": "48811" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" + } + } + ] + }, + "closure": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "3806", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3807", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "35", + "end": "48778", + "length": "1", + "line": "1403", + "parentIndex": "3806", + "start": "48778" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3810", + "name": "i", + "nodeType": "IDENTIFIER", + "src": { + "column": "50", + "end": "48793", + "length": "1", + "line": "1403", + "parentIndex": "3808", + "start": "48793" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } } - ], - "id": "3806", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "26", - "end": "47863", - "length": "7", - "line": "1367", - "parentIndex": "3805", - "start": "47857" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3807", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3809", + "name": "_increment", + "nodeType": "IDENTIFIER", "src": { - "column": "26", - "end": "47863", - "length": "7", - "line": "1367", - "parentIndex": "3806", - "start": "47857" + "column": "39", + "end": "48791", + "length": "10", + "line": "1403", + "parentIndex": "3808", + "start": "48782" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } + }, + "id": "3808", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "39", + "end": "48794", + "length": "13", + "line": "1403", + "parentIndex": "3806", + "start": "48782" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" } - }, - "id": "3805", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "26", - "end": "47879", - "length": "23", - "line": "1367", - "parentIndex": "3802", - "start": "47857" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" } + }, + "src": { + "column": "35", + "end": "48794", + "length": "17", + "line": "1403", + "parentIndex": "3798", + "start": "48778" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" + } + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3803", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3804", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "28", + "end": "48771", + "length": "1", + "line": "1403", + "parentIndex": "3803", + "start": "48771" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MetaType", - "value": { - "id": "3810", - "name": "type", - "nodeType": "IDENTIFIER", + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3805", + "name": "n", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3792", + "src": { + "column": "32", + "end": "48775", + "length": "1", + "line": "1403", + "parentIndex": "3803", + "start": "48775" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "28", + "end": "48775", + "length": "5", + "line": "1403", + "parentIndex": "3798", + "start": "48771" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "3798", + "initialiser": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "3800" + ], + "declarations": [ + { + "id": "3800", + "mutability": "MUTABLE", + "name": "i", + "nameLocation": { + "column": "21", + "end": "48764", + "length": "1", + "line": "1403", + "parentIndex": "3800", + "start": "48764" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3740", + "src": { + "column": "13", + "end": "48764", + "length": "9", + "line": "1403", + "parentIndex": "3799", + "start": "48756" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3801", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "51", - "end": "47894", - "length": "13", - "line": "1367", - "parentIndex": "3809", - "start": "47882" + "column": "13", + "end": "48762", + "length": "7", + "line": "1403", + "parentIndex": "3800", + "start": "48756" }, "typeDescription": { - "typeString": "type" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - } - }, - "id": "3809", - "memberLocation": { - "column": "65", - "end": "47898", - "length": "3", - "line": "1367", - "parentIndex": "3809", - "start": "47896" - }, - "memberName": "max", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "51", - "end": "47898", - "length": "17", - "line": "1367", - "parentIndex": "3802", - "start": "47882" - }, - "typeDescription": { - "typeString": "type" + }, + "visibility": "INTERNAL" + } + ], + "id": "3799", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3802", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "25", + "end": "48768", + "length": "1", + "line": "1403", + "parentIndex": "3799", + "start": "48768" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "48769", + "length": "14", + "line": "1403", + "parentIndex": "3740", + "start": "48756" } } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + }, + "nodeType": "FOR_STATEMENT", + "src": { + "end": "48885", + "length": "135", + "line": "1403", + "parentIndex": "3740", + "start": "48751" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", + "value": { + "body": { + "id": "3834", + "nodeType": "BLOCK", + "src": {} + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "expression": { + "id": "3830", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3804", - "name": "token", + "id": "3831", + "name": "amountOut", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3804", + "referencedDeclaration": "646", "src": { - "column": "8", - "end": "47843", - "length": "5", - "line": "1367", - "parentIndex": "3803", - "start": "47839" + "column": "12", + "end": "48998", + "length": "9", + "line": "1407", + "parentIndex": "3830", + "start": "48990" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3803", - "memberLocation": { - "column": "14", - "end": "47855", - "length": "11", - "line": "1367", - "parentIndex": "3803", - "start": "47845" + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3833", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3833", + "src": { + "column": "24", + "end": "49007", + "length": "6", + "line": "1407", + "parentIndex": "3832", + "start": "49002" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } + }, + "id": "3832", + "memberLocation": { + "column": "31", + "end": "49024", + "length": "16", + "line": "1407", + "parentIndex": "3832", + "start": "49009" + }, + "memberName": "amountOutMinimum", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "24", + "end": "49024", + "length": "23", + "line": "1407", + "parentIndex": "3830", + "start": "49002" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + } }, - "memberName": "safeApprove", - "nodeType": "MEMBER_ACCESS", "src": { - "column": "8", - "end": "47855", - "length": "17", - "line": "1367", - "parentIndex": "3802", - "start": "47839" + "column": "12", + "end": "49024", + "length": "35", + "line": "1407", + "parentIndex": "3829", + "start": "48990" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" + "typeIdentifier": "t_bool", + "typeString": "bool" } } }, - "id": "3802", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "3829", + "nodeType": "IF_STATEMENT", "src": { - "column": "8", - "end": "47899", - "length": "61", - "line": "1367", - "parentIndex": "3801", - "start": "47839" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_$", - "typeString": "function(function(function()),type)" + "end": "49053", + "length": "68", + "line": "1407", + "parentIndex": "3740", + "start": "48986" } } } ] }, - "id": "3795", + "id": "3732", "implemented": true, "kind": "KIND_FUNCTION", - "name": "approveToStargateRouter", + "name": "_exactInput", "nameLocation": { "column": "13", - "end": "47804", - "length": "23", - "line": "1366", - "parentIndex": "3795", - "start": "47782" + "end": "47697", + "length": "11", + "line": "1374", + "parentIndex": "3732", + "start": "47687" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "3796", + "id": "3733", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3797", - "name": "token", + "id": "3734", + "name": "params", "nodeType": "VARIABLE_DECLARATION", - "scope": "3797", + "scope": "3734", "src": { - "column": "37", - "end": "47817", - "length": "12", - "line": "1366", - "parentIndex": "3796", - "start": "47806" + "column": "25", + "end": "47728", + "length": "30", + "line": "1374", + "parentIndex": "3733", + "start": "47699" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" }, "typeName": { - "id": "3798", + "id": "3735", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "3799", - "name": "IERC20", + "id": "3736", + "name": "ExactInputParams", "nameLocation": { - "column": "37", - "end": "47811", - "length": "6", - "line": "1366", - "parentIndex": "3798", - "start": "47806" + "column": "25", + "end": "47714", + "length": "16", + "line": "1374", + "parentIndex": "3735", + "start": "47699" }, "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1089", + "referencedDeclaration": "3545", "src": { - "column": "37", - "end": "47811", - "length": "6", - "line": "1366", - "parentIndex": "3798", - "start": "47806" + "column": "25", + "end": "47714", + "length": "16", + "line": "1374", + "parentIndex": "3735", + "start": "47699" } }, - "referencedDeclaration": "1089", + "referencedDeclaration": "3545", + "src": { + "column": "25", + "end": "47714", + "length": "16", + "line": "1374", + "parentIndex": "3734", + "start": "47699" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", + "typeString": "struct ITridentRouter.ExactInputParams" + } + }, + "visibility": "INTERNAL" + } + ], + "src": { + "column": "25", + "end": "47728", + "length": "30", + "line": "1374", + "parentIndex": "3732", + "start": "47699" + } + }, + "returnParameters": { + "id": "3737", + "nodeType": "PARAMETER_LIST", + "parameters": [ + { + "id": "3738", + "name": "amountOut", + "nodeType": "VARIABLE_DECLARATION", + "scope": "3738", + "src": { + "column": "17", + "end": "47781", + "length": "17", + "line": "1376", + "parentIndex": "3737", + "start": "47765" + }, + "stateMutability": "MUTABLE", + "storageLocation": "MEMORY", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3739", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "37", - "end": "47811", - "length": "6", - "line": "1366", - "parentIndex": "3797", - "start": "47806" + "column": "17", + "end": "47771", + "length": "7", + "line": "1376", + "parentIndex": "3738", + "start": "47765" }, "typeDescription": { - "typeIdentifier": "t_contract$_IERC20_$1089", - "typeString": "contract IERC20" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" } ], "src": { - "column": "37", - "end": "47817", - "length": "12", - "line": "1366", - "parentIndex": "3795", - "start": "47806" - } - }, - "returnParameters": { - "id": "3800", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "47906", - "length": "134", - "line": "1366", - "parentIndex": "3795", - "start": "47773" + "column": "17", + "end": "47781", + "length": "17", + "line": "1376", + "parentIndex": "3732", + "start": "47765" } }, - "scope": "3745", - "signature": "4c6e98b7", + "scope": "3719", + "signature": "d9c63675", "src": { "column": "4", - "end": "47906", - "length": "134", - "line": "1366", - "parentIndex": "3745", - "start": "47773" + "end": "49059", + "length": "1382", + "line": "1374", + "parentIndex": "3719", + "start": "47678" }, "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_contract$_IERC20_$1089$", - "typeString": "function(contract IERC20)" + "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", + "typeString": "function(struct ITridentRouter.ExactInputParams)" }, - "visibility": "EXTERNAL" + "visibility": "INTERNAL" } }, { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "3824", + "id": "3842", "implemented": true, "nodeType": "BLOCK", "src": { - "column": "15", - "end": "49609", - "length": "881", - "line": "1382", - "parentIndex": "3812", - "start": "48729" + "column": "68", + "end": "51975", + "length": "2299", + "line": "1416", + "parentIndex": "3836", + "start": "49677" }, "statements": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "3826" + "3844" ], "declarations": [ { - "id": "3826", + "id": "3844", "mutability": "MUTABLE", - "name": "payload", + "name": "n", "nameLocation": { - "column": "21", - "end": "48758", - "length": "7", - "line": "1383", - "parentIndex": "3826", - "start": "48752" + "column": "16", + "end": "49854", + "length": "1", + "line": "1419", + "parentIndex": "3844", + "start": "49854" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "3824", + "scope": "3842", "src": { "column": "8", - "end": "48758", - "length": "20", - "line": "1383", - "parentIndex": "3825", - "start": "48739" + "end": "49854", + "length": "9", + "line": "1419", + "parentIndex": "3843", + "start": "49846" }, - "storageLocation": "MEMORY", + "storageLocation": "DEFAULT", "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": "3827", - "name": "bytes", + "id": "3845", + "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "8", - "end": "48743", - "length": "5", - "line": "1383", - "parentIndex": "3826", - "start": "48739" + "end": "49852", + "length": "7", + "line": "1419", + "parentIndex": "3844", + "start": "49846" }, "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "INTERNAL" } ], - "id": "3825", + "id": "3843", "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3832", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3832", - "src": { - "column": "42", - "end": "48778", - "length": "6", - "line": "1383", - "parentIndex": "3831", - "start": "48773" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - "id": "3831", - "memberLocation": { - "column": "49", - "end": "48781", - "length": "2", - "line": "1383", - "parentIndex": "3831", - "start": "48780" - }, - "memberName": "to", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "42", - "end": "48781", - "length": "9", - "line": "1383", - "parentIndex": "3828", - "start": "48773" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - ], - "id": "3833", - "name": "actions", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3833", - "src": { - "column": "53", - "end": "48790", - "length": "7", - "line": "1383", - "parentIndex": "3828", - "start": "48784" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": "3834", - "name": "values", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3834", - "src": { - "column": "62", - "end": "48798", - "length": "6", - "line": "1383", - "parentIndex": "3828", - "start": "48793" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "3835", - "name": "datas", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3835", - "src": { - "column": "70", - "end": "48805", - "length": "5", - "line": "1383", - "parentIndex": "3828", - "start": "48801" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3837", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3837", - "src": { - "column": "77", - "end": "48813", - "length": "6", - "line": "1383", - "parentIndex": "3836", - "start": "48808" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - "id": "3836", - "memberLocation": { - "column": "84", - "end": "48824", - "length": "10", - "line": "1383", - "parentIndex": "3836", - "start": "48815" - }, - "memberName": "srcContext", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "77", - "end": "48824", - "length": "17", - "line": "1383", - "parentIndex": "3828", - "start": "48808" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - } - ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3830", - "name": "abi", + "id": "3848", + "name": "params", "nodeType": "IDENTIFIER", + "referencedDeclaration": "3848", "src": { - "column": "31", - "end": "48764", - "length": "3", - "line": "1383", - "parentIndex": "3829", - "start": "48762" + "column": "20", + "end": "49863", + "length": "6", + "line": "1419", + "parentIndex": "3847", + "start": "49858" }, "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" } } }, - "id": "3829", + "id": "3847", "memberLocation": { - "column": "35", - "end": "48771", - "length": "6", - "line": "1383", - "parentIndex": "3829", - "start": "48766" + "column": "27", + "end": "49875", + "length": "11", + "line": "1419", + "parentIndex": "3847", + "start": "49865" }, - "memberName": "encode", + "memberName": "initialPath", "nodeType": "MEMBER_ACCESS", "src": { - "column": "31", - "end": "48771", - "length": "10", - "line": "1383", - "parentIndex": "3828", - "start": "48762" + "column": "20", + "end": "49875", + "length": "18", + "line": "1419", + "parentIndex": "3843", + "start": "49858" }, "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" } } }, - "id": "3828", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "3846", + "memberLocation": { + "column": "39", + "end": "49882", + "length": "6", + "line": "1419", + "parentIndex": "3846", + "start": "49877" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "31", - "end": "48825", - "length": "64", - "line": "1383", - "parentIndex": "3825", - "start": "48762" + "column": "20", + "end": "49882", + "length": "25", + "line": "1419", + "parentIndex": "3843", + "start": "49858" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_uint8$_t_uint256$_t_bytes$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes,struct StargateAdapter.StargateTeleportParams)" + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" } } }, "nodeType": "VARIABLE_DECLARATION", "src": { "column": "8", - "end": "48826", - "length": "88", - "line": "1383", - "parentIndex": "3824", - "start": "48739" + "end": "49883", + "length": "38", + "line": "1419", + "parentIndex": "3842", + "start": "49846" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_function_payable$_t_address$", - "typeString": "function(address) payable" - }, - { - "typeIdentifier": "$_t_conditional", - "typeString": "conditional" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" - }, - { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams)" + "body": { + "id": "3862", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "54", + "end": "50242", + "length": "304", + "line": "1420", + "parentIndex": "3849", + "start": "49939" }, - { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3843", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3843", - "src": { - "column": "12", - "end": "48905", - "length": "6", - "line": "1386", - "parentIndex": "3842", - "start": "48900" + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - "id": "3842", - "memberLocation": { - "column": "19", - "end": "48916", - "length": "10", - "line": "1386", - "parentIndex": "3842", - "start": "48907" - }, - "memberName": "dstChainId", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "48916", - "length": "17", - "line": "1386", - "parentIndex": "3838", - "start": "48900" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3845", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3845", - "src": { - "column": "12", - "end": "48936", - "length": "6", - "line": "1387", - "parentIndex": "3844", - "start": "48931" + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - "id": "3844", - "memberLocation": { - "column": "19", - "end": "48946", - "length": "9", - "line": "1387", - "parentIndex": "3844", - "start": "48938" - }, - "memberName": "srcPoolId", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "48946", - "length": "16", - "line": "1387", - "parentIndex": "3838", - "start": "48931" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3847", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3847", - "src": { - "column": "12", - "end": "48966", - "length": "6", - "line": "1388", - "parentIndex": "3846", - "start": "48961" + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } - } - }, - "id": "3846", - "memberLocation": { - "column": "19", - "end": "48976", - "length": "9", - "line": "1388", - "parentIndex": "3846", - "start": "48968" - }, - "memberName": "dstPoolId", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "48976", - "length": "16", - "line": "1388", - "parentIndex": "3838", - "start": "48961" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PayableConversion", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3850", - "name": "msg", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "49001", - "length": "3", - "line": "1389", - "parentIndex": "3849", - "start": "48999" - }, - "typeDescription": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3870", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "35", + "end": "50007", + "length": "1", + "line": "1422", + "parentIndex": "3867", + "start": "50007" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3867", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3869", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "16", + "end": "49993", + "length": "6", + "line": "1422", + "parentIndex": "3868", + "start": "49988" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3868", + "memberLocation": { + "column": "23", + "end": "50005", + "length": "11", + "line": "1422", + "parentIndex": "3868", + "start": "49995" + }, + "memberName": "initialPath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50005", + "length": "18", + "line": "1422", + "parentIndex": "3867", + "start": "49988" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "50008", + "length": "21", + "line": "1422", + "parentIndex": "3866", + "start": "49988" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] } + }, + "id": "3866", + "memberLocation": { + "column": "38", + "end": "50016", + "length": "7", + "line": "1422", + "parentIndex": "3866", + "start": "50010" + }, + "memberName": "tokenIn", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50016", + "length": "29", + "line": "1422", + "parentIndex": "3863", + "start": "49988" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } - }, - "id": "3849", - "memberLocation": { - "column": "24", - "end": "49008", - "length": "6", - "line": "1389", - "parentIndex": "3849", - "start": "49003" - }, - "memberName": "sender", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "20", - "end": "49008", - "length": "10", - "line": "1389", - "parentIndex": "3848", - "start": "48999" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" } - } - } - ], - "id": "3848", - "nodeType": "PAYABLE_CONVERSION", - "payable": true, - "src": { - "column": "12", - "end": "49009", - "length": "19", - "line": "1389", - "parentIndex": "3838", - "start": "48991" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Conditional", - "value": { - "expressions": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3853", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" + } + ], + "arguments": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3855", - "name": "params", + "id": "3874", + "name": "this", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3855", "src": { - "column": "12", - "end": "49047", - "length": "6", - "line": "1390", - "parentIndex": "3854", - "start": "49042" + "column": "24", + "end": "50046", + "length": "4", + "line": "1423", + "parentIndex": "3871", + "start": "50043" }, "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" } } - }, - "id": "3854", - "memberLocation": { - "column": "19", - "end": "49054", - "length": "6", - "line": "1390", - "parentIndex": "3854", - "start": "49049" - }, - "memberName": "amount", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "49054", - "length": "13", - "line": "1390", - "parentIndex": "3853", - "start": "49042" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - "nodeType": "BINARY_OPERATION", - "operator": "NOT_EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "30", - "id": "3856", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "29", - "end": "49059", - "length": "1", - "line": "1390", - "parentIndex": "3853", - "start": "49059" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - }, - "src": { - "column": "12", - "end": "49059", - "length": "18", - "line": "1390", - "parentIndex": "3852", - "start": "49042" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3858", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3858", - "src": { - "column": "18", - "end": "49084", - "length": "6", - "line": "1391", - "parentIndex": "3857", - "start": "49079" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" } - } - }, - "id": "3857", - "memberLocation": { - "column": "25", - "end": "49091", - "length": "6", - "line": "1391", - "parentIndex": "3857", - "start": "49086" - }, - "memberName": "amount", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "18", - "end": "49091", - "length": "13", - "line": "1391", - "parentIndex": "3852", - "start": "49079" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_StargateAdapter_$3694", - "typeString": "contract StargateAdapter" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3868", - "name": "this", - "nodeType": "IDENTIFIER", - "src": { - "column": "57", - "end": "49153", - "length": "4", - "line": "1392", - "parentIndex": "3865", - "start": "49150" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_StargateAdapter_$3694", - "typeString": "contract StargateAdapter" - } - } + "id": "3872", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "50041", + "length": "7", + "line": "1423", + "parentIndex": "3871", + "start": "50035" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3873", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "16", + "end": "50041", + "length": "7", + "line": "1423", + "parentIndex": "3872", + "start": "50035" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { + } + } + }, + "id": "3871", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "50047", + "length": "13", + "line": "1423", + "parentIndex": "3863", + "start": "50035" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3866", - "name": "address", + "id": "3879", + "name": "i", "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", "src": { - "column": "49", - "end": "49148", - "length": "7", - "line": "1392", - "parentIndex": "3865", - "start": "49142" + "column": "35", + "end": "50085", + "length": "1", + "line": "1424", + "parentIndex": "3876", + "start": "50085" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3867", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "49", - "end": "49148", - "length": "7", - "line": "1392", - "parentIndex": "3866", - "start": "49142" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3865", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "49", - "end": "49154", - "length": "13", - "line": "1392", - "parentIndex": "3859", - "start": "49142" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "id": "3876", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3864", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3864", - "src": { - "column": "25", - "end": "49123", - "length": "6", - "line": "1392", - "parentIndex": "3863", - "start": "49118" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - "id": "3863", - "memberLocation": { - "column": "32", - "end": "49129", - "length": "5", - "line": "1392", - "parentIndex": "3863", - "start": "49125" - }, - "memberName": "token", - "nodeType": "MEMBER_ACCESS", + "id": "3878", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", "src": { - "column": "25", - "end": "49129", - "length": "12", - "line": "1392", - "parentIndex": "3861", - "start": "49118" + "column": "16", + "end": "50071", + "length": "6", + "line": "1424", + "parentIndex": "3877", + "start": "50066" }, "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", "typeString": "struct StargateAdapter.StargateTeleportParams" } } + }, + "id": "3877", + "memberLocation": { + "column": "23", + "end": "50083", + "length": "11", + "line": "1424", + "parentIndex": "3877", + "start": "50073" + }, + "memberName": "initialPath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50083", + "length": "18", + "line": "1424", + "parentIndex": "3876", + "start": "50066" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3862", - "name": "IERC20", - "nodeType": "IDENTIFIER", - "src": { - "column": "18", - "end": "49116", - "length": "6", - "line": "1392", - "parentIndex": "3861", - "start": "49111" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "id": "3861", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "18", - "end": "49130", - "length": "20", - "line": "1392", - "parentIndex": "3860", - "start": "49111" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams)" } - } - }, - "id": "3860", - "memberLocation": { - "column": "39", - "end": "49140", - "length": "9", - "line": "1392", - "parentIndex": "3860", - "start": "49132" - }, - "memberName": "balanceOf", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "18", - "end": "49140", - "length": "30", - "line": "1392", - "parentIndex": "3859", - "start": "49111" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams)" - } - } - }, - "id": "3859", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "18", - "end": "49155", - "length": "45", - "line": "1392", - "parentIndex": "3852", - "start": "49111" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_address$", - "typeString": "function(function(address))" - } - } - } - ], - "id": "3852", - "nodeType": "CONDITIONAL_EXPRESSION", - "src": { - "column": "12", - "end": "49155", - "length": "114", - "line": "1390", - "parentIndex": "3838", - "start": "49042" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_function_$_t_function_$_t_address$", - "typeString": "function(function(address))" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_function_payable$_t_address$", - "typeString": "function(address) payable" - }, - { - "typeIdentifier": "$_t_conditional", - "typeString": "conditional" - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3870", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3870", - "src": { - "column": "12", - "end": "49175", - "length": "6", - "line": "1393", - "parentIndex": "3869", - "start": "49170" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - "id": "3869", - "memberLocation": { - "column": "19", - "end": "49185", - "length": "9", - "line": "1393", - "parentIndex": "3869", - "start": "49177" - }, - "memberName": "amountMin", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "49185", - "length": "16", - "line": "1393", - "parentIndex": "3838", - "start": "49170" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3875", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3875", - "src": { - "column": "16", - "end": "49246", - "length": "6", - "line": "1395", - "parentIndex": "3874", - "start": "49241" + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "50086", + "length": "21", + "line": "1424", + "parentIndex": "3875", + "start": "50066" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "3875", + "memberLocation": { + "column": "38", + "end": "50091", + "length": "4", + "line": "1424", + "parentIndex": "3875", + "start": "50088" + }, + "memberName": "pool", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50091", + "length": "26", + "line": "1424", + "parentIndex": "3863", + "start": "50066" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3884", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "35", + "end": "50129", + "length": "1", + "line": "1425", + "parentIndex": "3881", + "start": "50129" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3881", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3883", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "16", + "end": "50115", + "length": "6", + "line": "1425", + "parentIndex": "3882", + "start": "50110" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3882", + "memberLocation": { + "column": "23", + "end": "50127", + "length": "11", + "line": "1425", + "parentIndex": "3882", + "start": "50117" + }, + "memberName": "initialPath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50127", + "length": "18", + "line": "1425", + "parentIndex": "3881", + "start": "50110" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "50130", + "length": "21", + "line": "1425", + "parentIndex": "3880", + "start": "50110" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] } + }, + "id": "3880", + "memberLocation": { + "column": "38", + "end": "50137", + "length": "6", + "line": "1425", + "parentIndex": "3880", + "start": "50132" + }, + "memberName": "amount", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50137", + "length": "28", + "line": "1425", + "parentIndex": "3863", + "start": "50110" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } - }, - "id": "3874", - "memberLocation": { - "column": "23", - "end": "49250", - "length": "3", - "line": "1395", - "parentIndex": "3874", - "start": "49248" - }, - "memberName": "gas", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "49250", - "length": "10", - "line": "1395", - "parentIndex": "3871", - "start": "49241" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" } } - }, - { + ], + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3877", - "name": "params", + "id": "3865", + "name": "bentoBox", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3877", + "referencedDeclaration": "963", "src": { - "column": "16", - "end": "49316", - "length": "6", - "line": "1396", - "parentIndex": "3876", - "start": "49311" + "column": "12", + "end": "49960", + "length": "8", + "line": "1421", + "parentIndex": "3864", + "start": "49953" }, "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" } } }, - "id": "3876", + "id": "3864", "memberLocation": { - "column": "23", - "end": "49327", - "length": "10", - "line": "1396", - "parentIndex": "3876", - "start": "49318" + "column": "21", + "end": "49969", + "length": "8", + "line": "1421", + "parentIndex": "3864", + "start": "49962" }, - "memberName": "dustAmount", + "memberName": "transfer", "nodeType": "MEMBER_ACCESS", "src": { - "column": "16", - "end": "49327", + "column": "12", + "end": "49969", "length": "17", - "line": "1396", - "parentIndex": "3871", - "start": "49311" + "line": "1421", + "parentIndex": "3863", + "start": "49953" }, "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" } } }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "id": "3863", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "50151", + "length": "199", + "line": "1421", + "parentIndex": "3862", + "start": "49953" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { - "expression": { + "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3882", - "name": "params", + "id": "3898", + "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3882", + "referencedDeclaration": "2886", "src": { - "column": "33", - "end": "49368", - "length": "6", - "line": "1397", - "parentIndex": "3881", - "start": "49363" + "column": "70", + "end": "50224", + "length": "1", + "line": "1427", + "parentIndex": "3895", + "start": "50224" }, "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3881", - "memberLocation": { - "column": "40", - "end": "49377", - "length": "8", - "line": "1397", - "parentIndex": "3881", - "start": "49370" + "id": "3895", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3897", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "51", + "end": "50210", + "length": "6", + "line": "1427", + "parentIndex": "3896", + "start": "50205" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3896", + "memberLocation": { + "column": "58", + "end": "50222", + "length": "11", + "line": "1427", + "parentIndex": "3896", + "start": "50212" + }, + "memberName": "initialPath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "51", + "end": "50222", + "length": "18", + "line": "1427", + "parentIndex": "3895", + "start": "50205" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } }, - "memberName": "receiver", - "nodeType": "MEMBER_ACCESS", + "nodeType": "INDEX_ACCESS", "src": { - "column": "33", - "end": "49377", - "length": "15", - "line": "1397", - "parentIndex": "3878", - "start": "49363" + "column": "51", + "end": "50225", + "length": "21", + "line": "1427", + "parentIndex": "3894", + "start": "50205" }, "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] } + }, + "id": "3894", + "memberLocation": { + "column": "73", + "end": "50230", + "length": "4", + "line": "1427", + "parentIndex": "3894", + "start": "50227" + }, + "memberName": "data", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "51", + "end": "50230", + "length": "26", + "line": "1427", + "parentIndex": "3885", + "start": "50205" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } - ], + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3893", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "37", + "end": "50191", + "length": "1", + "line": "1427", + "parentIndex": "3890", + "start": "50191" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3890", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3892", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "18", + "end": "50177", + "length": "6", + "line": "1427", + "parentIndex": "3891", + "start": "50172" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3891", + "memberLocation": { + "column": "25", + "end": "50189", + "length": "11", + "line": "1427", + "parentIndex": "3891", + "start": "50179" + }, + "memberName": "initialPath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "18", + "end": "50189", + "length": "18", + "line": "1427", + "parentIndex": "3890", + "start": "50172" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "18", + "end": "50192", + "length": "21", + "line": "1427", + "parentIndex": "3889", + "start": "50172" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "3889", + "memberLocation": { + "column": "40", + "end": "50197", + "length": "4", + "line": "1427", + "parentIndex": "3889", + "start": "50194" + }, + "memberName": "pool", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "18", + "end": "50197", + "length": "26", + "line": "1427", + "parentIndex": "3887", + "start": "50172" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + } + ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3880", - "name": "abi", + "id": "3888", + "name": "IPool", "nodeType": "IDENTIFIER", "src": { - "column": "16", - "end": "49348", - "length": "3", - "line": "1397", - "parentIndex": "3879", - "start": "49346" + "column": "12", + "end": "50170", + "length": "5", + "line": "1427", + "parentIndex": "3887", + "start": "50166" }, "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "id": "3879", - "memberLocation": { - "column": "20", - "end": "49361", - "length": "12", - "line": "1397", - "parentIndex": "3879", - "start": "49350" - }, - "memberName": "encodePacked", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "49361", - "length": "16", - "line": "1397", - "parentIndex": "3878", - "start": "49346" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - } - }, - "id": "3878", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "16", - "end": "49378", - "length": "33", - "line": "1397", - "parentIndex": "3871", - "start": "49346" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams)" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3873", - "name": "IStargateRouter", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "700", - "src": { - "column": "12", - "end": "49214", - "length": "15", - "line": "1394", - "parentIndex": "3872", - "start": "49200" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IStargateRouter_$700", - "typeString": "contract IStargateRouter" - } - } - }, - "id": "3872", - "memberLocation": { - "column": "28", - "end": "49222", - "length": "7", - "line": "1394", - "parentIndex": "3872", - "start": "49216" - }, - "memberName": "lzTxObj", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "49222", - "length": "23", - "line": "1394", - "parentIndex": "3871", - "start": "49200" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_IStargateRouter_$700", - "typeString": "contract IStargateRouter" - } - } - }, - "id": "3871", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "49392", - "length": "193", - "line": "1394", - "parentIndex": "3838", - "start": "49200" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { "id": "3887", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3887", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "29", - "end": "49429", - "length": "6", - "line": "1399", + "column": "12", + "end": "50198", + "length": "33", + "line": "1427", "parentIndex": "3886", - "start": "49424" + "start": "50166" }, "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } } }, "id": "3886", "memberLocation": { - "column": "36", - "end": "49438", - "length": "8", - "line": "1399", + "column": "46", + "end": "50203", + "length": "4", + "line": "1427", "parentIndex": "3886", - "start": "49431" + "start": "50200" }, - "memberName": "receiver", + "memberName": "swap", "nodeType": "MEMBER_ACCESS", "src": { - "column": "29", - "end": "49438", - "length": "15", - "line": "1399", - "parentIndex": "3883", - "start": "49424" + "column": "12", + "end": "50203", + "length": "38", + "line": "1427", + "parentIndex": "3885", + "start": "50166" }, "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } } + }, + "id": "3885", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "50231", + "length": "66", + "line": "1427", + "parentIndex": "3862", + "start": "50166" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { + } + } + ] + }, + "closure": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "3857", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3858", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "35", + "end": "49920", + "length": "1", + "line": "1420", + "parentIndex": "3857", + "start": "49920" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "arguments": [ + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3885", - "name": "abi", + "id": "3861", + "name": "i", "nodeType": "IDENTIFIER", "src": { - "column": "12", - "end": "49409", - "length": "3", - "line": "1399", - "parentIndex": "3884", - "start": "49407" + "column": "50", + "end": "49935", + "length": "1", + "line": "1420", + "parentIndex": "3859", + "start": "49935" }, "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } - }, - "id": "3884", - "memberLocation": { - "column": "16", - "end": "49422", - "length": "12", - "line": "1399", - "parentIndex": "3884", - "start": "49411" - }, - "memberName": "encodePacked", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "49422", - "length": "16", - "line": "1399", - "parentIndex": "3883", - "start": "49407" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" } - } - }, - "id": "3883", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "49439", - "length": "33", - "line": "1399", - "parentIndex": "3838", - "start": "49407" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_function_payable$_t_address$", - "typeString": "function(address) payable" - }, - { - "typeIdentifier": "$_t_conditional", - "typeString": "conditional" - }, - { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams))" - }, - { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams)" - } - ], - "id": "3888", - "name": "payload", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3825", - "src": { - "column": "12", - "end": "49491", - "length": "7", - "line": "1400", - "parentIndex": "3838", - "start": "49485" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCallOption", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { + ], "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3841", - "name": "stargateRouter", + "id": "3860", + "name": "_increment", "nodeType": "IDENTIFIER", - "referencedDeclaration": "967", "src": { - "column": "8", - "end": "48850", - "length": "14", - "line": "1385", - "parentIndex": "3840", - "start": "48837" + "column": "39", + "end": "49933", + "length": "10", + "line": "1420", + "parentIndex": "3859", + "start": "49924" }, "typeDescription": { - "typeIdentifier": "t_contract$_IStargateRouter_$700", - "typeString": "contract IStargateRouter" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "id": "3840", - "memberLocation": { - "column": "23", - "end": "48855", - "length": "4", - "line": "1385", - "parentIndex": "3840", - "start": "48852" - }, - "memberName": "swap", - "nodeType": "MEMBER_ACCESS", + "id": "3859", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "8", - "end": "48855", - "length": "19", - "line": "1385", - "parentIndex": "3839", - "start": "48837" + "column": "39", + "end": "49936", + "length": "13", + "line": "1420", + "parentIndex": "3857", + "start": "49924" }, "typeDescription": { - "typeIdentifier": "t_contract$_IStargateRouter_$700", - "typeString": "contract IStargateRouter" + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" } } }, - "id": "3839", - "kind": "FUNCTION_CALL_OPTION", - "nodeType": "FUNCTION_CALL_OPTION", "src": { - "column": "8", - "end": "48885", - "length": "49", - "line": "1385", - "parentIndex": "3838", - "start": "48837" + "column": "35", + "end": "49936", + "length": "17", + "line": "1420", + "parentIndex": "3849", + "start": "49920" }, "typeDescription": { - "typeIdentifier": "t_contract$_IStargateRouter_$700", - "typeString": "contract IStargateRouter" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3838", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "49501", - "length": "665", - "line": "1385", - "parentIndex": "3824", - "start": "48837" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_payable$_t_address$_$_t_conditional$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_bytes$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(address) payable,conditional,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams,struct StargateAdapter.StargateTeleportParams,function(struct StargateAdapter.StargateTeleportParams)),function(struct StargateAdapter.StargateTeleportParams),bytes)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0x0001" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "307830303031", - "id": "3892", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "35", - "end": "49545", - "length": "6", - "line": "1403", - "parentIndex": "3889", - "start": "49540" - }, - "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0x0001" - }, - "value": "0x0001" - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "expression": { + "id": "3854", + "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3891", - "name": "stargateWidget", + "id": "3855", + "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "971", + "referencedDeclaration": "2886", "src": { - "column": "8", - "end": "49526", - "length": "14", - "line": "1403", - "parentIndex": "3890", - "start": "49513" + "column": "28", + "end": "49913", + "length": "1", + "line": "1420", + "parentIndex": "3854", + "start": "49913" }, "typeDescription": { - "typeIdentifier": "t_contract$_IStargateWidget_$797", - "typeString": "contract IStargateWidget" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3890", - "memberLocation": { - "column": "23", - "end": "49538", - "length": "11", - "line": "1403", - "parentIndex": "3890", - "start": "49528" + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3856", + "name": "n", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3843", + "src": { + "column": "32", + "end": "49917", + "length": "1", + "line": "1420", + "parentIndex": "3854", + "start": "49917" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } }, - "memberName": "partnerSwap", - "nodeType": "MEMBER_ACCESS", "src": { - "column": "8", - "end": "49538", - "length": "26", - "line": "1403", - "parentIndex": "3889", - "start": "49513" + "column": "28", + "end": "49917", + "length": "5", + "line": "1420", + "parentIndex": "3849", + "start": "49913" }, "typeDescription": { - "typeIdentifier": "t_contract$_IStargateWidget_$797", - "typeString": "contract IStargateWidget" + "typeIdentifier": "t_bool", + "typeString": "bool" } } }, - "id": "3889", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "8", - "end": "49546", - "length": "34", - "line": "1403", - "parentIndex": "3824", - "start": "49513" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_rational_0_by_1$", - "typeString": "function(int_const 0x0001)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Emit", - "value": { - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3895", - "name": "params", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3895", + "id": "3849", + "initialiser": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "3851" + ], + "declarations": [ + { + "id": "3851", + "mutability": "MUTABLE", + "name": "i", + "nameLocation": { + "column": "21", + "end": "49906", + "length": "1", + "line": "1420", + "parentIndex": "3851", + "start": "49906" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3842", + "src": { + "column": "13", + "end": "49906", + "length": "9", + "line": "1420", + "parentIndex": "3850", + "start": "49898" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3852", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "35", - "end": "49590", - "length": "6", - "line": "1405", - "parentIndex": "3894", - "start": "49585" + "column": "13", + "end": "49904", + "length": "7", + "line": "1420", + "parentIndex": "3851", + "start": "49898" }, "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - } - }, - "id": "3894", - "memberLocation": { - "column": "42", - "end": "49601", - "length": "10", - "line": "1405", - "parentIndex": "3894", - "start": "49592" - }, - "memberName": "srcContext", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "35", - "end": "49601", - "length": "17", - "line": "1405", - "parentIndex": "3893", - "start": "49585" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + "visibility": "INTERNAL" } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3896", - "name": "StargateSushiXSwapSrc", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3759", + ], + "id": "3850", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3853", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "25", + "end": "49910", + "length": "1", + "line": "1420", + "parentIndex": "3850", + "start": "49910" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "13", - "end": "49583", - "length": "21", - "line": "1405", - "parentIndex": "3893", - "start": "49563" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapSrc_\u00263759", - "typeString": "event StargateAdapter.StargateSushiXSwapSrc" + "end": "49911", + "length": "14", + "line": "1420", + "parentIndex": "3842", + "start": "49898" } } }, - "id": "3893", - "nodeType": "EMIT_STATEMENT", + "nodeType": "FOR_STATEMENT", "src": { - "column": "8", - "end": "49603", - "length": "46", - "line": "1405", - "parentIndex": "3812", - "start": "49558" + "end": "50242", + "length": "350", + "line": "1420", + "parentIndex": "3842", + "start": "49893" } } - } - ] - }, - "id": "3812", - "implemented": true, - "kind": "KIND_FUNCTION", - "name": "_stargateTeleport", - "nameLocation": { - "column": "13", - "end": "48571", - "length": "17", - "line": "1377", - "parentIndex": "3812", - "start": "48555" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "3813", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "3814", - "name": "params", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3814", - "src": { - "column": "8", - "end": "48617", - "length": "36", - "line": "1378", - "parentIndex": "3813", - "start": "48582" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - }, - "typeName": { - "id": "3815", - "nodeType": "USER_DEFINED_PATH_NAME", - "pathNode": { - "id": "3816", - "name": "StargateTeleportParams", - "nameLocation": { - "column": "8", - "end": "48603", - "length": "22", - "line": "1378", - "parentIndex": "3815", - "start": "48582" - }, - "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3771", - "src": { - "column": "8", - "end": "48603", - "length": "22", - "line": "1378", - "parentIndex": "3815", - "start": "48582" - } - }, - "referencedDeclaration": "3771", - "src": { - "column": "8", - "end": "48603", - "length": "22", - "line": "1378", - "parentIndex": "3814", - "start": "48582" - }, - "typeDescription": { - "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$3771", - "typeString": "struct StargateAdapter.StargateTeleportParams" - } - }, - "visibility": "INTERNAL" }, { - "id": "3817", - "name": "actions", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3817", - "src": { - "column": "8", - "end": "48649", - "length": "22", - "line": "1379", - "parentIndex": "3813", - "start": "48628" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": "3818", - "name": "uint8", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "48632", - "length": "5", - "line": "1379", - "parentIndex": "3817", - "start": "48628" + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "3900", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3901", + "name": "n", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3843", + "src": { + "column": "8", + "end": "50321", + "length": "1", + "line": "1430", + "parentIndex": "3900", + "start": "50321" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3904", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3904", + "src": { + "column": "12", + "end": "50330", + "length": "6", + "line": "1430", + "parentIndex": "3903", + "start": "50325" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" + } + } + }, + "id": "3903", + "memberLocation": { + "column": "19", + "end": "50345", + "length": "14", + "line": "1430", + "parentIndex": "3903", + "start": "50332" + }, + "memberName": "percentagePath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "50345", + "length": "21", + "line": "1430", + "parentIndex": "3902", + "start": "50325" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" + } + } + }, + "id": "3902", + "memberLocation": { + "column": "34", + "end": "50352", + "length": "6", + "line": "1430", + "parentIndex": "3902", + "start": "50347" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "50352", + "length": "28", + "line": "1430", + "parentIndex": "3900", + "start": "50325" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" + } + } + }, + "src": { + "column": "8", + "end": "50352", + "length": "32", + "line": "1430", + "parentIndex": "3899", + "start": "50321" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3819", - "name": "values", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3819", - "src": { - "column": "8", - "end": "48682", - "length": "23", - "line": "1380", - "parentIndex": "3813", - "start": "48660" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3820", - "name": "uint256", - "nodeType": "IDENTIFIER", + "id": "3899", + "nodeType": "ASSIGNMENT", "src": { "column": "8", - "end": "48666", - "length": "7", - "line": "1380", - "parentIndex": "3819", - "start": "48660" + "end": "50353", + "length": "33", + "line": "1430", + "parentIndex": "3842", + "start": "50321" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "visibility": "INTERNAL" + } }, { - "id": "3821", - "name": "datas", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3821", - "src": { - "column": "8", - "end": "48712", - "length": "20", - "line": "1381", - "parentIndex": "3813", - "start": "48693" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3822", - "name": "bytes", - "nodeType": "IDENTIFIER", - "src": { - "column": "8", - "end": "48697", - "length": "5", - "line": "1381", - "parentIndex": "3821", - "start": "48693" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "8", - "end": "48712", - "length": "131", - "line": "1378", - "parentIndex": "3812", - "start": "48582" - } - }, - "returnParameters": { - "id": "3823", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "49609", - "length": "1064", - "line": "1377", - "parentIndex": "3812", - "start": "48546" - } - }, - "scope": "3745", - "signature": "dbc31626", - "src": { - "column": "4", - "end": "49609", - "length": "1064", - "line": "1377", - "parentIndex": "3745", - "start": "48546" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_function_$_t_struct$_StargateAdapter_StargateTeleportParams_$3771$_t_uint8$_t_uint256$_t_bytes$", - "typeString": "function(struct StargateAdapter.StargateTeleportParams,uint8,uint256,bytes)" - }, - "visibility": "INTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "3917", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "51", - "end": "50687", - "length": "342", - "line": "1423", - "parentIndex": "3898", - "start": "50346" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "3919", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "body": { + "id": "3918", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "54", + "end": "51023", + "length": "615", + "line": "1431", + "parentIndex": "3905", + "start": "50409" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "components": [ + "assignments": [ + "3920" + ], + "declarations": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { + "id": "3920", + "mutability": "MUTABLE", + "name": "balanceShares", + "nameLocation": { + "column": "20", + "end": "50443", + "length": "13", + "line": "1432", + "parentIndex": "3920", + "start": "50431" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3918", + "src": { + "column": "12", + "end": "50443", + "length": "21", + "line": "1432", + "parentIndex": "3919", + "start": "50423" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { "id": "3921", - "name": "a", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3913", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "9", - "end": "50357", - "length": "1", - "line": "1424", + "column": "12", + "end": "50429", + "length": "7", + "line": "1432", "parentIndex": "3920", - "start": "50357" + "start": "50423" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "3919", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3929", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "38", + "end": "50505", + "length": "1", + "line": "1433", + "parentIndex": "3926", + "start": "50505" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3926", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3928", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "16", + "end": "50488", + "length": "6", + "line": "1433", + "parentIndex": "3927", + "start": "50483" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3927", + "memberLocation": { + "column": "23", + "end": "50503", + "length": "14", + "line": "1433", + "parentIndex": "3927", + "start": "50490" + }, + "memberName": "percentagePath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50503", + "length": "21", + "line": "1433", + "parentIndex": "3926", + "start": "50483" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "50506", + "length": "24", + "line": "1433", + "parentIndex": "3925", + "start": "50483" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "3925", + "memberLocation": { + "column": "41", + "end": "50514", + "length": "7", + "line": "1433", + "parentIndex": "3925", + "start": "50508" + }, + "memberName": "tokenIn", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50514", + "length": "32", + "line": "1433", + "parentIndex": "3922", + "start": "50483" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3933", + "name": "this", + "nodeType": "IDENTIFIER", + "src": { + "column": "24", + "end": "50544", + "length": "4", + "line": "1434", + "parentIndex": "3930", + "start": "50541" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3931", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "50539", + "length": "7", + "line": "1434", + "parentIndex": "3930", + "start": "50533" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3932", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "16", + "end": "50539", + "length": "7", + "line": "1434", + "parentIndex": "3931", + "start": "50533" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "id": "3930", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "50545", + "length": "13", + "line": "1434", + "parentIndex": "3922", + "start": "50533" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3924", + "name": "bentoBox", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "963", + "src": { + "column": "36", + "end": "50454", + "length": "8", + "line": "1432", + "parentIndex": "3923", + "start": "50447" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" + } + } + }, + "id": "3923", + "memberLocation": { + "column": "45", + "end": "50464", + "length": "9", + "line": "1432", + "parentIndex": "3923", + "start": "50456" + }, + "memberName": "balanceOf", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "36", + "end": "50464", + "length": "18", + "line": "1432", + "parentIndex": "3922", + "start": "50447" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" + } + } + }, + "id": "3922", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "36", + "end": "50559", + "length": "113", + "line": "1432", + "parentIndex": "3919", + "start": "50447" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address))" + } + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "50560", + "length": "138", + "line": "1432", + "parentIndex": "3918", + "start": "50423" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "3935" + ], + "declarations": [ + { + "id": "3935", + "mutability": "MUTABLE", + "name": "transferShares", + "nameLocation": { + "column": "20", + "end": "50595", + "length": "14", + "line": "1436", + "parentIndex": "3935", + "start": "50582" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3918", + "src": { + "column": "12", + "end": "50595", + "length": "22", + "line": "1436", + "parentIndex": "3934", + "start": "50574" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3936", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "50580", + "length": "7", + "line": "1436", + "parentIndex": "3935", + "start": "50574" }, "typeDescription": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3922", - "name": "b", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3915", - "src": { - "column": "12", - "end": "50360", - "length": "1", - "line": "1424", - "parentIndex": "3920", - "start": "50360" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + }, + "visibility": "INTERNAL" + } + ], + "id": "3934", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3937", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", + "value": { + "components": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3939", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3940", + "name": "balanceShares", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3919", + "src": { + "column": "38", + "end": "50612", + "length": "13", + "line": "1436", + "parentIndex": "3939", + "start": "50600" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "MULTIPLICATION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3945", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "38", + "end": "50654", + "length": "1", + "line": "1437", + "parentIndex": "3942", + "start": "50654" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3942", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3944", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "16", + "end": "50637", + "length": "6", + "line": "1437", + "parentIndex": "3943", + "start": "50632" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3943", + "memberLocation": { + "column": "23", + "end": "50652", + "length": "14", + "line": "1437", + "parentIndex": "3943", + "start": "50639" + }, + "memberName": "percentagePath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50652", + "length": "21", + "line": "1437", + "parentIndex": "3934", + "start": "50632" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "50655", + "length": "24", + "line": "1437", + "parentIndex": "3934", + "start": "50632" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "3941", + "memberLocation": { + "column": "41", + "end": "50673", + "length": "17", + "line": "1437", + "parentIndex": "3941", + "start": "50657" + }, + "memberName": "balancePercentage", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50673", + "length": "42", + "line": "1437", + "parentIndex": "3934", + "start": "50632" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + }, + "src": { + "column": "38", + "end": "50673", + "length": "74", + "line": "1436", + "parentIndex": "3938", + "start": "50600" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ], + "id": "3938", + "nodeType": "TUPLE_EXPRESSION", + "src": { + "column": "37", + "end": "50674", + "length": "76", + "line": "1436", + "parentIndex": "3937", + "start": "50599" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256$", + "typeString": "tuple(uint256)" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "DIVISION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.ExprOperation", + "value": { + "id": "3947", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "3130", + "id": "3951", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "70", + "end": "50687", + "length": "2", + "line": "1437", + "parentIndex": "3948", + "start": "50686" + }, + "typeDescription": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": "3949", + "name": "uint256", + "nodeType": "IDENTIFIER", + "src": { + "column": "62", + "end": "50684", + "length": "7", + "line": "1437", + "parentIndex": "3948", + "start": "50678" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" + }, + "typeName": { + "id": "3950", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "62", + "end": "50684", + "length": "7", + "line": "1437", + "parentIndex": "3949", + "start": "50678" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "id": "3948", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "62", + "end": "50688", + "length": "11", + "line": "1437", + "parentIndex": "3934", + "start": "50678" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_10_by_1$", + "typeString": "function(int_const 10)" + } + } + }, + "nodeType": "EXPRESSION_OPERATION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "38", + "id": "3952", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "75", + "end": "50691", + "length": "1", + "line": "1437", + "parentIndex": "3947", + "start": "50691" + }, + "typeDescription": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + } + }, + "src": { + "column": "62", + "end": "50691", + "length": "14", + "line": "1437", + "parentIndex": "3934", + "start": "50678" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_rational_10_by_1$", + "typeString": "function(int_const 10)" + } } + }, + "src": { + "column": "37", + "end": "50691", + "length": "93", + "line": "1436", + "parentIndex": "3934", + "start": "50599" + }, + "typeDescription": { + "typeIdentifier": "t_tuple_$_t_uint256$", + "typeString": "tuple(uint256)" } } - ], - "id": "3920", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "8", - "end": "50361", - "length": "6", - "line": "1424", - "parentIndex": "3919", - "start": "50356" }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "12", + "end": "50692", + "length": "119", + "line": "1436", + "parentIndex": "3918", + "start": "50574" } } }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "typeIdentifier": "t_function_$_t_address$", "typeString": "function(address)" }, { - "typeIdentifier": "t_function_$_t_bytes$", - "typeString": "function(bytes)" + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", - "typeString": "function(uint256,uint256,function(address))" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], "arguments": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3926", - "name": "_dstChainId", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3926", - "src": { - "column": "12", - "end": "50421", - "length": "11", - "line": "1425", - "parentIndex": "3923", - "start": "50411" - }, - "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "id": "3927", - "name": "_functionType", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3927", - "src": { - "column": "12", - "end": "50448", - "length": "13", - "line": "1426", - "parentIndex": "3923", - "start": "50436" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3931", - "name": "_receiver", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3931", - "src": { - "column": "29", - "end": "50488", - "length": "9", - "line": "1427", - "parentIndex": "3928", - "start": "50480" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { - "expression": { + "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3930", - "name": "abi", + "id": "3960", + "name": "i", "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", "src": { - "column": "12", - "end": "50465", - "length": "3", - "line": "1427", - "parentIndex": "3929", - "start": "50463" + "column": "38", + "end": "50763", + "length": "1", + "line": "1439", + "parentIndex": "3957", + "start": "50763" }, "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3929", - "memberLocation": { - "column": "16", - "end": "50478", - "length": "12", - "line": "1427", - "parentIndex": "3929", - "start": "50467" - }, - "memberName": "encodePacked", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "50478", - "length": "16", - "line": "1427", - "parentIndex": "3928", - "start": "50463" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - } - }, - "id": "3928", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "50489", - "length": "27", - "line": "1427", - "parentIndex": "3923", - "start": "50463" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3935", - "name": "_payload", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3935", - "src": { - "column": "23", - "end": "50522", - "length": "8", - "line": "1428", - "parentIndex": "3932", - "start": "50515" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "id": "3957", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "3934", - "name": "abi", - "nodeType": "IDENTIFIER", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3959", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "16", + "end": "50746", + "length": "6", + "line": "1439", + "parentIndex": "3958", + "start": "50741" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3958", + "memberLocation": { + "column": "23", + "end": "50761", + "length": "14", + "line": "1439", + "parentIndex": "3958", + "start": "50748" + }, + "memberName": "percentagePath", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "12", - "end": "50506", - "length": "3", - "line": "1428", - "parentIndex": "3933", - "start": "50504" + "column": "16", + "end": "50761", + "length": "21", + "line": "1439", + "parentIndex": "3957", + "start": "50741" }, "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } }, - "id": "3933", - "memberLocation": { - "column": "16", - "end": "50513", - "length": "6", - "line": "1428", - "parentIndex": "3933", - "start": "50508" - }, - "memberName": "encode", - "nodeType": "MEMBER_ACCESS", + "nodeType": "INDEX_ACCESS", "src": { - "column": "12", - "end": "50513", - "length": "10", - "line": "1428", - "parentIndex": "3932", - "start": "50504" + "column": "16", + "end": "50764", + "length": "24", + "line": "1439", + "parentIndex": "3956", + "start": "50741" }, "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] } }, - "id": "3932", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "3956", + "memberLocation": { + "column": "41", + "end": "50772", + "length": "7", + "line": "1439", + "parentIndex": "3956", + "start": "50766" + }, + "memberName": "tokenIn", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "12", - "end": "50523", - "length": "20", - "line": "1428", - "parentIndex": "3923", - "start": "50504" + "column": "16", + "end": "50772", + "length": "32", + "line": "1439", + "parentIndex": "3953", + "start": "50741" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_bytes$", - "typeString": "function(bytes)" + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } } }, @@ -68890,228 +68907,262 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3939", - "name": "_gas", + "id": "3964", + "name": "this", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3939", "src": { - "column": "16", - "end": "50582", + "column": "24", + "end": "50802", "length": "4", - "line": "1430", - "parentIndex": "3936", - "start": "50579" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "3940", - "name": "_dustAmount", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3940", - "src": { - "column": "16", - "end": "50611", - "length": "11", - "line": "1431", - "parentIndex": "3936", - "start": "50601" + "line": "1440", + "parentIndex": "3961", + "start": "50799" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" } } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3944", - "name": "_receiver", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3944", - "src": { - "column": "33", - "end": "50655", - "length": "9", - "line": "1432", - "parentIndex": "3941", - "start": "50647" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3943", - "name": "abi", - "nodeType": "IDENTIFIER", - "src": { - "column": "16", - "end": "50632", - "length": "3", - "line": "1432", - "parentIndex": "3942", - "start": "50630" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - } - }, - "id": "3942", - "memberLocation": { - "column": "20", - "end": "50645", - "length": "12", - "line": "1432", - "parentIndex": "3942", - "start": "50634" - }, - "memberName": "encodePacked", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "16", - "end": "50645", - "length": "16", - "line": "1432", - "parentIndex": "3941", - "start": "50630" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - } - }, - "id": "3941", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "3962", + "name": "address", + "nodeType": "IDENTIFIER", + "src": { + "column": "16", + "end": "50797", + "length": "7", + "line": "1440", + "parentIndex": "3961", + "start": "50791" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "3963", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", "src": { "column": "16", - "end": "50656", - "length": "27", - "line": "1432", - "parentIndex": "3936", - "start": "50630" + "end": "50797", + "length": "7", + "line": "1440", + "parentIndex": "3962", + "start": "50791" }, + "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "typeIdentifier": "t_address", + "typeString": "address" } } } + }, + "id": "3961", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "50803", + "length": "13", + "line": "1440", + "parentIndex": "3953", + "start": "50791" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { - "expression": { + "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3938", - "name": "IStargateRouter", + "id": "3969", + "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "700", + "referencedDeclaration": "2886", "src": { - "column": "12", - "end": "50552", - "length": "15", - "line": "1429", - "parentIndex": "3937", - "start": "50538" + "column": "38", + "end": "50844", + "length": "1", + "line": "1441", + "parentIndex": "3966", + "start": "50844" }, "typeDescription": { - "typeIdentifier": "t_contract$_IStargateRouter_$700", - "typeString": "contract IStargateRouter" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3937", - "memberLocation": { - "column": "28", - "end": "50560", - "length": "7", - "line": "1429", - "parentIndex": "3937", - "start": "50554" + "id": "3966", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3968", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "16", + "end": "50827", + "length": "6", + "line": "1441", + "parentIndex": "3967", + "start": "50822" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3967", + "memberLocation": { + "column": "23", + "end": "50842", + "length": "14", + "line": "1441", + "parentIndex": "3967", + "start": "50829" + }, + "memberName": "percentagePath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50842", + "length": "21", + "line": "1441", + "parentIndex": "3966", + "start": "50822" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } }, - "memberName": "lzTxObj", - "nodeType": "MEMBER_ACCESS", + "nodeType": "INDEX_ACCESS", "src": { - "column": "12", - "end": "50560", - "length": "23", - "line": "1429", - "parentIndex": "3936", - "start": "50538" + "column": "16", + "end": "50845", + "length": "24", + "line": "1441", + "parentIndex": "3965", + "start": "50822" }, "typeDescription": { - "typeIdentifier": "t_contract$_IStargateRouter_$700", - "typeString": "contract IStargateRouter" - } + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] } }, - "id": "3936", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "3965", + "memberLocation": { + "column": "41", + "end": "50850", + "length": "4", + "line": "1441", + "parentIndex": "3965", + "start": "50847" + }, + "memberName": "pool", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "12", - "end": "50670", - "length": "133", - "line": "1429", - "parentIndex": "3923", - "start": "50538" + "column": "16", + "end": "50850", + "length": "29", + "line": "1441", + "parentIndex": "3953", + "start": "50822" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", - "typeString": "function(uint256,uint256,function(address))" + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "id": "3970", + "name": "transferShares", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3934", + "src": { + "column": "16", + "end": "50882", + "length": "14", + "line": "1442", + "parentIndex": "3953", + "start": "50869" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } } @@ -69122,540 +69173,453 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3925", - "name": "stargateRouter", + "id": "3955", + "name": "bentoBox", "nodeType": "IDENTIFIER", - "referencedDeclaration": "967", + "referencedDeclaration": "963", "src": { - "column": "17", - "end": "50378", - "length": "14", - "line": "1424", - "parentIndex": "3924", - "start": "50365" + "column": "12", + "end": "50713", + "length": "8", + "line": "1438", + "parentIndex": "3954", + "start": "50706" }, "typeDescription": { - "typeIdentifier": "t_contract$_IStargateRouter_$700", - "typeString": "contract IStargateRouter" + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" } } }, - "id": "3924", + "id": "3954", "memberLocation": { - "column": "32", - "end": "50396", - "length": "17", - "line": "1424", - "parentIndex": "3924", - "start": "50380" - }, - "memberName": "quoteLayerZeroFee", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "17", - "end": "50396", - "length": "32", - "line": "1424", - "parentIndex": "3923", - "start": "50365" + "column": "21", + "end": "50722", + "length": "8", + "line": "1438", + "parentIndex": "3954", + "start": "50715" }, - "typeDescription": { - "typeIdentifier": "t_contract$_IStargateRouter_$700", - "typeString": "contract IStargateRouter" - } - } - }, - "id": "3923", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "17", - "end": "50680", - "length": "316", - "line": "1424", - "parentIndex": "3919", - "start": "50365" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint16$_t_uint8$_t_function_$_t_address$_t_function_$_t_bytes$_t_function_$_t_uint256$_t_uint256$_t_function_$_t_address$", - "typeString": "function(uint16,uint8,function(address),function(bytes),function(uint256,uint256,function(address)))" - } - } - }, - "src": { - "column": "8", - "end": "50680", - "length": "325", - "line": "1424", - "parentIndex": "3918", - "start": "50356" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" - } - } - }, - "id": "3918", - "nodeType": "ASSIGNMENT", - "src": { - "column": "8", - "end": "50681", - "length": "326", - "line": "1424", - "parentIndex": "3917", - "start": "50356" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_uint256_$_t_uint256$", - "typeString": "tuple(uint256,uint256)" - } - } - } - ] - }, - "id": "3898", - "implemented": true, - "kind": "KIND_FUNCTION", - "name": "getFee", - "nameLocation": { - "column": "13", - "end": "50127", - "length": "6", - "line": "1416", - "parentIndex": "3898", - "start": "50122" - }, - "nodeType": "FUNCTION_DEFINITION", - "parameters": { - "id": "3899", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "3900", - "name": "_dstChainId", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3900", - "src": { - "column": "8", - "end": "50155", - "length": "18", - "line": "1417", - "parentIndex": "3899", - "start": "50138" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": "3901", - "name": "uint16", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "50143", - "length": "6", - "line": "1417", - "parentIndex": "3900", - "start": "50138" - }, - "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3902", - "name": "_functionType", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3902", - "src": { - "column": "8", - "end": "50184", - "length": "19", - "line": "1418", - "parentIndex": "3899", - "start": "50166" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": "3903", - "name": "uint8", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "50170", - "length": "5", - "line": "1418", - "parentIndex": "3902", - "start": "50166" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3904", - "name": "_receiver", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3904", - "src": { - "column": "8", - "end": "50211", - "length": "17", - "line": "1419", - "parentIndex": "3899", - "start": "50195" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3905", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "50201", - "length": "7", - "line": "1419", - "parentIndex": "3904", - "start": "50195" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3906", - "name": "_gas", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3906", - "src": { - "column": "8", - "end": "50233", - "length": "12", - "line": "1420", - "parentIndex": "3899", - "start": "50222" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3907", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "50228", - "length": "7", - "line": "1420", - "parentIndex": "3906", - "start": "50222" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3908", - "name": "_dustAmount", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3908", - "src": { - "column": "8", - "end": "50262", - "length": "19", - "line": "1421", - "parentIndex": "3899", - "start": "50244" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3909", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "50250", - "length": "7", - "line": "1421", - "parentIndex": "3908", - "start": "50244" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3910", - "name": "_payload", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3910", - "src": { - "column": "8", - "end": "50293", - "length": "21", - "line": "1422", - "parentIndex": "3899", - "start": "50273" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3911", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "50277", - "length": "5", - "line": "1422", - "parentIndex": "3910", - "start": "50273" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "8", - "end": "50293", - "length": "156", - "line": "1417", - "parentIndex": "3898", - "start": "50138" - } - }, - "returnParameters": { - "id": "3912", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "3913", - "name": "a", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3913", - "src": { - "column": "29", - "end": "50332", - "length": "9", - "line": "1423", - "parentIndex": "3912", - "start": "50324" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3914", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "29", - "end": "50330", - "length": "7", - "line": "1423", - "parentIndex": "3913", - "start": "50324" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3915", - "name": "b", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3915", - "src": { - "column": "40", - "end": "50343", - "length": "9", - "line": "1423", - "parentIndex": "3912", - "start": "50335" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3916", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "40", - "end": "50341", - "length": "7", - "line": "1423", - "parentIndex": "3915", - "start": "50335" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "29", - "end": "50343", - "length": "20", - "line": "1423", - "parentIndex": "3898", - "start": "50324" - } - }, - "scope": "3745", - "signature": "ac0acf65", - "src": { - "column": "4", - "end": "50687", - "length": "575", - "line": "1416", - "parentIndex": "3745", - "start": "50113" - }, - "stateMutability": "VIEW", - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint16$_t_uint8$_t_address$_t_uint256$_t_uint256$_t_bytes$", - "typeString": "function(uint16,uint8,address,uint256,uint256,bytes)" - }, - "visibility": "EXTERNAL" - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", - "value": { - "body": { - "id": "3962", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "24", - "end": "52107", - "length": "1041", - "line": "1448", - "parentIndex": "3946", - "start": "51067" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", - "value": { - "body": { - "id": "3971", - "nodeType": "BLOCK", - "src": {} - }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "3964", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "memberName": "transfer", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "50722", + "length": "17", + "line": "1438", + "parentIndex": "3953", + "start": "50706" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" + } + } + }, + "id": "3953", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "50896", + "length": "191", + "line": "1438", + "parentIndex": "3918", + "start": "50706" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_uint256$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],uint256)" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3984", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "38", + "end": "50992", + "length": "1", + "line": "1445", + "parentIndex": "3981", + "start": "50992" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3981", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3983", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "16", + "end": "50975", + "length": "6", + "line": "1445", + "parentIndex": "3982", + "start": "50970" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3982", + "memberLocation": { + "column": "23", + "end": "50990", + "length": "14", + "line": "1445", + "parentIndex": "3982", + "start": "50977" + }, + "memberName": "percentagePath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50990", + "length": "21", + "line": "1445", + "parentIndex": "3981", + "start": "50970" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "50993", + "length": "24", + "line": "1445", + "parentIndex": "3980", + "start": "50970" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "3980", + "memberLocation": { + "column": "41", + "end": "50998", + "length": "4", + "line": "1445", + "parentIndex": "3980", + "start": "50995" + }, + "memberName": "data", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "50998", + "length": "29", + "line": "1445", + "parentIndex": "3971", + "start": "50970" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + } + ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "3966", - "name": "msg", - "nodeType": "IDENTIFIER", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3979", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "40", + "end": "50939", + "length": "1", + "line": "1444", + "parentIndex": "3976", + "start": "50939" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "3976", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3978", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "18", + "end": "50922", + "length": "6", + "line": "1444", + "parentIndex": "3977", + "start": "50917" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "3977", + "memberLocation": { + "column": "25", + "end": "50937", + "length": "14", + "line": "1444", + "parentIndex": "3977", + "start": "50924" + }, + "memberName": "percentagePath", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "18", + "end": "50937", + "length": "21", + "line": "1444", + "parentIndex": "3976", + "start": "50917" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "18", + "end": "50940", + "length": "24", + "line": "1444", + "parentIndex": "3975", + "start": "50917" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "3975", + "memberLocation": { + "column": "43", + "end": "50945", + "length": "4", + "line": "1444", + "parentIndex": "3975", + "start": "50942" + }, + "memberName": "pool", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "18", + "end": "50945", + "length": "29", + "line": "1444", + "parentIndex": "3973", + "start": "50917" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + } + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3974", + "name": "IPool", + "nodeType": "IDENTIFIER", + "src": { + "column": "12", + "end": "50915", + "length": "5", + "line": "1444", + "parentIndex": "3973", + "start": "50911" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "3973", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "12", + "end": "50946", + "length": "36", + "line": "1444", + "parentIndex": "3972", + "start": "50911" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + } + }, + "id": "3972", + "memberLocation": { + "column": "49", + "end": "50951", + "length": "4", + "line": "1444", + "parentIndex": "3972", + "start": "50948" + }, + "memberName": "swap", + "nodeType": "MEMBER_ACCESS", "src": { "column": "12", - "end": "51083", - "length": "3", - "line": "1449", - "parentIndex": "3965", - "start": "51081" + "end": "50951", + "length": "41", + "line": "1444", + "parentIndex": "3971", + "start": "50911" }, "typeDescription": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } } }, - "id": "3965", - "memberLocation": { - "column": "16", - "end": "51090", - "length": "6", - "line": "1449", - "parentIndex": "3965", - "start": "51085" - }, - "memberName": "sender", - "nodeType": "MEMBER_ACCESS", + "id": "3971", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { "column": "12", - "end": "51090", - "length": "10", - "line": "1449", - "parentIndex": "3964", - "start": "51081" + "end": "51012", + "length": "102", + "line": "1444", + "parentIndex": "3918", + "start": "50911" }, "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + } + } + } + ] + }, + "closure": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "3913", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3914", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "35", + "end": "50390", + "length": "1", + "line": "1431", + "parentIndex": "3913", + "start": "50390" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "nodeType": "BINARY_OPERATION", - "operator": "NOT_EQUAL", + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -69669,16 +69633,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3970", - "name": "stargateRouter", + "id": "3917", + "name": "i", "nodeType": "IDENTIFIER", "src": { - "column": "34", - "end": "51116", - "length": "14", - "line": "1449", - "parentIndex": "3967", - "start": "51103" + "column": "50", + "end": "50405", + "length": "1", + "line": "1431", + "parentIndex": "3915", + "start": "50405" }, "typeDescription": { "typeIdentifier": "t_function_$", @@ -69690,1065 +69654,1118 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "3968", - "name": "address", + "id": "3916", + "name": "_increment", "nodeType": "IDENTIFIER", "src": { - "column": "26", - "end": "51101", - "length": "7", - "line": "1449", - "parentIndex": "3967", - "start": "51095" + "column": "39", + "end": "50403", + "length": "10", + "line": "1431", + "parentIndex": "3915", + "start": "50394" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "3969", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "26", - "end": "51101", - "length": "7", - "line": "1449", - "parentIndex": "3968", - "start": "51095" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + }, + "id": "3915", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "39", + "end": "50406", + "length": "13", + "line": "1431", + "parentIndex": "3913", + "start": "50394" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + } + } + }, + "src": { + "column": "35", + "end": "50406", + "length": "17", + "line": "1431", + "parentIndex": "3905", + "start": "50390" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3910", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3911", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "28", + "end": "50383", + "length": "1", + "line": "1431", + "parentIndex": "3910", + "start": "50383" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3912", + "name": "n", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3843", + "src": { + "column": "32", + "end": "50387", + "length": "1", + "line": "1431", + "parentIndex": "3910", + "start": "50387" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "src": { + "column": "28", + "end": "50387", + "length": "5", + "line": "1431", + "parentIndex": "3905", + "start": "50383" + }, + "typeDescription": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "id": "3905", + "initialiser": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "3907" + ], + "declarations": [ + { + "id": "3907", + "mutability": "MUTABLE", + "name": "i", + "nameLocation": { + "column": "21", + "end": "50376", + "length": "1", + "line": "1431", + "parentIndex": "3907", + "start": "50376" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3842", + "src": { + "column": "13", + "end": "50376", + "length": "9", + "line": "1431", + "parentIndex": "3906", + "start": "50368" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3908", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "50374", + "length": "7", + "line": "1431", + "parentIndex": "3907", + "start": "50368" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" + } + ], + "id": "3906", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3909", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "25", + "end": "50380", + "length": "1", + "line": "1431", + "parentIndex": "3906", + "start": "50380" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + "nodeType": "VARIABLE_DECLARATION", + "src": { + "column": "13", + "end": "50381", + "length": "14", + "line": "1431", + "parentIndex": "3842", + "start": "50368" + } + } + }, + "nodeType": "FOR_STATEMENT", + "src": { + "end": "51023", + "length": "661", + "line": "1431", + "parentIndex": "3842", + "start": "50363" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", + "value": { + "id": "3986", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3987", + "name": "n", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3843", + "src": { + "column": "8", + "end": "51112", + "length": "1", + "line": "1449", + "parentIndex": "3986", + "start": "51112" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3990", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3990", + "src": { + "column": "12", + "end": "51121", + "length": "6", + "line": "1449", + "parentIndex": "3989", + "start": "51116" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" + } } + }, + "id": "3989", + "memberLocation": { + "column": "19", + "end": "51128", + "length": "6", + "line": "1449", + "parentIndex": "3989", + "start": "51123" + }, + "memberName": "output", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "51128", + "length": "13", + "line": "1449", + "parentIndex": "3988", + "start": "51116" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" } } }, - "id": "3967", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { + "id": "3988", + "memberLocation": { "column": "26", - "end": "51117", - "length": "23", + "end": "51135", + "length": "6", + "line": "1449", + "parentIndex": "3988", + "start": "51130" + }, + "memberName": "length", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "12", + "end": "51135", + "length": "20", "line": "1449", - "parentIndex": "3964", - "start": "51095" + "parentIndex": "3986", + "start": "51116" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" } } }, "src": { - "column": "12", - "end": "51117", - "length": "37", + "column": "8", + "end": "51135", + "length": "24", "line": "1449", - "parentIndex": "3963", - "start": "51081" + "parentIndex": "3985", + "start": "51112" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, - "id": "3963", - "nodeType": "IF_STATEMENT", + "id": "3985", + "nodeType": "ASSIGNMENT", "src": { - "end": "51146", - "length": "70", + "column": "8", + "end": "51136", + "length": "25", "line": "1449", - "parentIndex": "3962", - "start": "51077" + "parentIndex": "3842", + "start": "51112" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { - "assignments": [ - "3973", - "3975", - "3977", - "3979", - "3981" - ], - "declarations": [ - { - "id": "3973", - "mutability": "MUTABLE", - "name": "to", - "nameLocation": { - "column": "20", - "end": "51180", - "length": "2", - "line": "1452", - "parentIndex": "3973", - "start": "51179" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3962", - "src": { - "column": "12", - "end": "51180", - "length": "10", - "line": "1452", - "parentIndex": "3972", - "start": "51171" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3974", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "51177", - "length": "7", - "line": "1452", - "parentIndex": "3973", - "start": "51171" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3975", - "mutability": "MUTABLE", - "name": "actions", - "nameLocation": { - "column": "27", - "end": "51216", - "length": "7", - "line": "1453", - "parentIndex": "3975", - "start": "51210" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3962", - "src": { - "column": "12", - "end": "51216", - "length": "22", - "line": "1453", - "parentIndex": "3972", - "start": "51195" - }, - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": "3976", - "name": "uint8", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "51199", - "length": "5", - "line": "1453", - "parentIndex": "3975", - "start": "51195" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3977", - "mutability": "MUTABLE", - "name": "values", - "nameLocation": { - "column": "29", - "end": "51253", - "length": "6", - "line": "1454", - "parentIndex": "3977", - "start": "51248" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3962", - "src": { - "column": "12", - "end": "51253", - "length": "23", - "line": "1454", - "parentIndex": "3972", - "start": "51231" - }, - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3978", - "name": "uint256", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "51237", - "length": "7", - "line": "1454", - "parentIndex": "3977", - "start": "51231" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - }, - { - "id": "3979", - "mutability": "MUTABLE", - "name": "datas", - "nameLocation": { - "column": "27", - "end": "51287", - "length": "5", - "line": "1455", - "parentIndex": "3979", - "start": "51283" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3962", - "src": { - "column": "12", - "end": "51287", - "length": "20", - "line": "1455", - "parentIndex": "3972", - "start": "51268" - }, - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3980", - "name": "bytes", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "51272", - "length": "5", - "line": "1455", - "parentIndex": "3979", - "start": "51268" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" + "body": { + "id": "4004", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "54", + "end": "51969", + "length": "778", + "line": "1450", + "parentIndex": "3991", + "start": "51192" }, - { - "id": "3981", - "mutability": "MUTABLE", - "name": "srcContext", - "nameLocation": { - "column": "20", - "end": "51319", - "length": "10", - "line": "1456", - "parentIndex": "3981", - "start": "51310" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3962", - "src": { - "column": "12", - "end": "51319", - "length": "18", - "line": "1456", - "parentIndex": "3972", - "start": "51302" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "3982", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "51308", - "length": "7", - "line": "1456", - "parentIndex": "3981", - "start": "51302" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "3972", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - { - "typeIdentifier": "t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", - "typeString": "tuple(address,index[uint8],index[uint256],index[bytes],bytes32)" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3986", - "name": "payload", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3986", - "src": { - "column": "23", - "end": "51350", - "length": "7", - "line": "1457", - "parentIndex": "3983", - "start": "51344" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "4006" + ], + "declarations": [ + { + "id": "4006", + "mutability": "MUTABLE", + "name": "balanceShares", + "nameLocation": { + "column": "20", + "end": "51226", + "length": "13", + "line": "1451", + "parentIndex": "4006", + "start": "51214" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "4004", + "src": { + "column": "12", + "end": "51226", + "length": "21", + "line": "1451", + "parentIndex": "4005", + "start": "51206" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "4007", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "12", + "end": "51212", + "length": "7", + "line": "1451", + "parentIndex": "4006", + "start": "51206" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Tuple", - "value": { - "components": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3988", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "33", - "end": "51360", - "length": "7", - "line": "1457", - "parentIndex": "3987", - "start": "51354" - }, - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3989", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { + ], + "id": "4005", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4015", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "30", + "end": "51280", + "length": "1", + "line": "1452", + "parentIndex": "4012", + "start": "51280" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "4012", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4014", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "16", + "end": "51271", + "length": "6", + "line": "1452", + "parentIndex": "4013", + "start": "51266" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "4013", + "memberLocation": { + "column": "23", + "end": "51278", + "length": "6", + "line": "1452", + "parentIndex": "4013", + "start": "51273" + }, + "memberName": "output", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "51278", + "length": "13", + "line": "1452", + "parentIndex": "4012", + "start": "51266" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "51281", + "length": "16", + "line": "1452", + "parentIndex": "4011", + "start": "51266" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "4011", + "memberLocation": { "column": "33", - "end": "51360", - "length": "7", - "line": "1457", - "parentIndex": "3988", - "start": "51354" + "end": "51287", + "length": "5", + "line": "1452", + "parentIndex": "4011", + "start": "51283" + }, + "memberName": "token", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "51287", + "length": "22", + "line": "1452", + "parentIndex": "4008", + "start": "51266" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "id": "3990", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3991", - "name": "uint8", - "nodeType": "IDENTIFIER", - "src": { - "column": "42", - "end": "51367", - "length": "5", - "line": "1457", - "parentIndex": "3990", - "start": "51363" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": "3992", - "name": "uint8", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "42", - "end": "51367", - "length": "5", - "line": "1457", - "parentIndex": "3991", - "start": "51363" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4019", + "name": "this", + "nodeType": "IDENTIFIER", + "src": { + "column": "24", + "end": "51317", + "length": "4", + "line": "1453", + "parentIndex": "4016", + "start": "51314" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" + } } } - } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "42", - "end": "51369", - "length": "7", - "line": "1457", - "parentIndex": "3987", - "start": "51363" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint8]$", - "typeString": "index[uint8]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", - "value": { - "id": "3993", - "indexExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3994", - "name": "uint256", - "nodeType": "IDENTIFIER", - "src": { - "column": "51", - "end": "51378", - "length": "7", - "line": "1457", - "parentIndex": "3993", - "start": "51372" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "3995", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "4017", + "name": "address", + "nodeType": "IDENTIFIER", "src": { - "column": "51", - "end": "51378", + "column": "16", + "end": "51312", "length": "7", - "line": "1457", - "parentIndex": "3994", - "start": "51372" + "line": "1453", + "parentIndex": "4016", + "start": "51306" }, "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "4018", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "16", + "end": "51312", + "length": "7", + "line": "1453", + "parentIndex": "4017", + "start": "51306" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } } } + }, + "id": "4016", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "16", + "end": "51318", + "length": "13", + "line": "1453", + "parentIndex": "4008", + "start": "51306" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } - }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "51", - "end": "51380", - "length": "9", - "line": "1457", - "parentIndex": "3987", - "start": "51372" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_uint256]$", - "typeString": "index[uint256]" - }, - "typeDescriptions": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ] + } } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + ], + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "3996", - "indexExpression": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "3997", - "name": "bytes", + "id": "4010", + "name": "bentoBox", "nodeType": "IDENTIFIER", + "referencedDeclaration": "963", "src": { - "column": "62", - "end": "51387", - "length": "5", - "line": "1457", - "parentIndex": "3996", - "start": "51383" + "column": "36", + "end": "51237", + "length": "8", + "line": "1451", + "parentIndex": "4009", + "start": "51230" }, "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3998", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "62", - "end": "51387", - "length": "5", - "line": "1457", - "parentIndex": "3997", - "start": "51383" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" } } }, - "nodeType": "INDEX_ACCESS", - "src": { - "column": "62", - "end": "51389", - "length": "7", - "line": "1457", - "parentIndex": "3987", - "start": "51383" - }, - "typeDescription": { - "typeIdentifier": "t_[_[$_t_bytes]$", - "typeString": "index[bytes]" + "id": "4009", + "memberLocation": { + "column": "45", + "end": "51247", + "length": "9", + "line": "1451", + "parentIndex": "4009", + "start": "51239" }, - "typeDescriptions": [ - { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - ] - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3999", - "name": "bytes32", - "nodeType": "IDENTIFIER", + "memberName": "balanceOf", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "71", - "end": "51398", - "length": "7", - "line": "1457", - "parentIndex": "3987", - "start": "51392" + "column": "36", + "end": "51247", + "length": "18", + "line": "1451", + "parentIndex": "4008", + "start": "51230" }, "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": "4000", - "name": "bytes32", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "71", - "end": "51398", - "length": "7", - "line": "1457", - "parentIndex": "3999", - "start": "51392" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" } } - } - ], - "id": "3987", - "nodeType": "TUPLE_EXPRESSION", - "src": { - "column": "32", - "end": "51399", - "length": "47", - "line": "1457", - "parentIndex": "3983", - "start": "51353" - }, - "typeDescription": { - "typeIdentifier": "t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", - "typeString": "tuple(address,index[uint8],index[uint256],index[bytes],bytes32)" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "3985", - "name": "abi", - "nodeType": "IDENTIFIER", + }, + "id": "4008", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", "src": { - "column": "12", - "end": "51335", - "length": "3", - "line": "1457", - "parentIndex": "3984", - "start": "51333" + "column": "36", + "end": "51332", + "length": "103", + "line": "1451", + "parentIndex": "4005", + "start": "51230" }, "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address))" } } }, - "id": "3984", - "memberLocation": { - "column": "16", - "end": "51342", - "length": "6", - "line": "1457", - "parentIndex": "3984", - "start": "51337" - }, - "memberName": "decode", - "nodeType": "MEMBER_ACCESS", + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "12", - "end": "51342", - "length": "10", - "line": "1457", - "parentIndex": "3983", - "start": "51333" - }, - "typeDescription": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" + "end": "51333", + "length": "128", + "line": "1451", + "parentIndex": "4004", + "start": "51206" } } }, - "id": "3983", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "51400", - "length": "68", - "line": "1457", - "parentIndex": "3972", - "start": "51333" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_bytes$_t_tuple_$_t_address_$_t_[_[$_t_uint8]$_$_t_[_[$_t_uint256]$_$_t_[_[$_t_bytes]$_$_t_bytes32$", - "typeString": "function(bytes,tuple(address,index[uint8],index[uint256],index[bytes],bytes32))" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "8", - "end": "51401", - "length": "245", - "line": "1451", - "parentIndex": "3962", - "start": "51157" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "4002" - ], - "declarations": [ - { - "id": "4002", - "mutability": "MUTABLE", - "name": "limit", - "nameLocation": { - "column": "16", - "end": "51454", - "length": "5", - "line": "1460", - "parentIndex": "4002", - "start": "51450" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3962", - "src": { - "column": "8", - "end": "51454", - "length": "13", - "line": "1460", - "parentIndex": "4001", - "start": "51442" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": "4003", - "name": "uint256", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "51448", - "length": "7", - "line": "1460", - "parentIndex": "4002", - "start": "51442" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "4001", - "initialValue": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", - "value": { - "id": "4004", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "body": { + "id": "4028", + "nodeType": "BLOCK", + "src": {} + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4006", - "name": "gasleft", - "nodeType": "IDENTIFIER", + "id": "4021", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4022", + "name": "balanceShares", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "4005", + "src": { + "column": "16", + "end": "51363", + "length": "13", + "line": "1455", + "parentIndex": "4021", + "start": "51351" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "LESS_THAN", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4027", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "46", + "end": "51381", + "length": "1", + "line": "1455", + "parentIndex": "4024", + "start": "51381" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "4024", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4026", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "32", + "end": "51372", + "length": "6", + "line": "1455", + "parentIndex": "4025", + "start": "51367" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "4025", + "memberLocation": { + "column": "39", + "end": "51379", + "length": "6", + "line": "1455", + "parentIndex": "4025", + "start": "51374" + }, + "memberName": "output", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "32", + "end": "51379", + "length": "13", + "line": "1455", + "parentIndex": "4024", + "start": "51367" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "32", + "end": "51382", + "length": "16", + "line": "1455", + "parentIndex": "4023", + "start": "51367" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "4023", + "memberLocation": { + "column": "49", + "end": "51392", + "length": "9", + "line": "1455", + "parentIndex": "4023", + "start": "51384" + }, + "memberName": "minAmount", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "32", + "end": "51392", + "length": "26", + "line": "1455", + "parentIndex": "4021", + "start": "51367" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + }, "src": { - "column": "24", - "end": "51464", - "length": "7", - "line": "1460", - "parentIndex": "4005", - "start": "51458" + "column": "16", + "end": "51392", + "length": "42", + "line": "1455", + "parentIndex": "4020", + "start": "51351" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_bool", + "typeString": "bool" } } }, - "id": "4005", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "4020", + "nodeType": "IF_STATEMENT", "src": { - "column": "24", - "end": "51466", - "length": "9", - "line": "1460", - "parentIndex": "4001", - "start": "51458" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "end": "51437", + "length": "91", + "line": "1455", + "parentIndex": "4004", + "start": "51347" } } }, - "nodeType": "BINARY_OPERATION", - "operator": "SUBTRACTION", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { - "hexValue": "323030303030", - "id": "4007", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", - "src": { - "column": "36", - "end": "51475", - "length": "6", - "line": "1460", - "parentIndex": "4004", - "start": "51470" - }, - "typeDescription": { - "typeIdentifier": "t_rational_200000_by_1", - "typeString": "int_const 200000" - }, - "value": "200000" - } - }, - "src": { - "column": "24", - "end": "51475", - "length": "18", - "line": "1460", - "parentIndex": "4001", - "start": "51458" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } - } - }, - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "8", - "end": "51476", - "length": "35", - "line": "1460", - "parentIndex": "3962", - "start": "51442" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", - "value": { - "assignments": [ - "4009" - ], - "declarations": [ - { - "id": "4009", - "mutability": "MUTABLE", - "name": "failed", - "nameLocation": { - "column": "13", - "end": "51496", - "length": "6", - "line": "1461", - "parentIndex": "4009", - "start": "51491" - }, - "nodeType": "VARIABLE_DECLARATION", - "scope": "3962", - "src": { - "column": "8", - "end": "51496", - "length": "11", - "line": "1461", - "parentIndex": "4008", - "start": "51486" - }, - "storageLocation": "DEFAULT", - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": "4010", - "name": "bool", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "51489", - "length": "4", - "line": "1461", - "parentIndex": "4009", - "start": "51486" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "INTERNAL" - } - ], - "id": "4008", - "nodeType": "VARIABLE_DECLARATION", - "src": { - "column": "8", - "end": "51497", - "length": "12", - "line": "1461", - "parentIndex": "3962", - "start": "51486" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Try", - "value": { - "body": { - "id": "4025", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "8", - "end": "51753", - "length": "2", - "line": "1469", - "parentIndex": "4011", - "start": "51752" - } - }, - "clauses": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Catch", - "value": { - "body": { - "id": "4029", - "implemented": true, - "nodeType": "BLOCK", - "src": { - "column": "32", - "end": "51868", - "length": "93", - "line": "1469", - "start": "51776" - }, - "statements": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" - }, - { - "typeIdentifier": "t_function_$_t_function_$$", - "typeString": "function(function())" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "4035", - "name": "to", - "nodeType": "IDENTIFIER", - "src": { - "column": "40", - "end": "51819", - "length": "2", - "line": "1470", - "parentIndex": "4030", - "start": "51818" - }, - "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" - } + "body": { + "id": "4035", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "46", + "end": "51730", + "length": "246", + "line": "1457", + "parentIndex": "3991", + "start": "51485" + }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_rational_0_by_1$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0)" } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_$", - "typeString": "function()" + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4043", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "34", + "end": "51556", + "length": "1", + "line": "1459", + "parentIndex": "4040", + "start": "51556" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "4040", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4042", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "20", + "end": "51547", + "length": "6", + "line": "1459", + "parentIndex": "4041", + "start": "51542" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "4041", + "memberLocation": { + "column": "27", + "end": "51554", + "length": "6", + "line": "1459", + "parentIndex": "4041", + "start": "51549" + }, + "memberName": "output", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "20", + "end": "51554", + "length": "13", + "line": "1459", + "parentIndex": "4040", + "start": "51542" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "20", + "end": "51557", + "length": "16", + "line": "1459", + "parentIndex": "4039", + "start": "51542" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } + }, + "id": "4039", + "memberLocation": { + "column": "37", + "end": "51563", + "length": "5", + "line": "1459", + "parentIndex": "4039", + "start": "51559" + }, + "memberName": "token", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "20", + "end": "51563", + "length": "22", + "line": "1459", + "parentIndex": "4036", + "start": "51542" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } - ], - "id": "4036", - "name": "amountLD", - "nodeType": "IDENTIFIER", - "src": { - "column": "44", - "end": "51829", - "length": "8", - "line": "1470", - "parentIndex": "4030", - "start": "51822" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$$", - "typeString": "function(function())" } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { + }, + { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { "argumentTypes": [ { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" } ], "arguments": [ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4034", - "name": "_token", + "id": "4047", + "name": "this", "nodeType": "IDENTIFIER", "src": { - "column": "19", - "end": "51802", - "length": "6", - "line": "1470", - "parentIndex": "4032", - "start": "51797" + "column": "28", + "end": "51597", + "length": "4", + "line": "1460", + "parentIndex": "4044", + "start": "51594" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_contract$_TridentSwapAdapter_$3668", + "typeString": "contract TridentSwapAdapter" } } } @@ -70756,743 +70773,649 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4033", - "name": "IERC20", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": "4045", + "name": "address", "nodeType": "IDENTIFIER", "src": { - "column": "12", - "end": "51795", - "length": "6", - "line": "1470", - "parentIndex": "4032", - "start": "51790" + "column": "20", + "end": "51592", + "length": "7", + "line": "1460", + "parentIndex": "4044", + "start": "51586" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + "typeName": { + "id": "4046", + "name": "address", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "20", + "end": "51592", + "length": "7", + "line": "1460", + "parentIndex": "4045", + "start": "51586" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_address", + "typeString": "address" + } } } }, - "id": "4032", + "id": "4044", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { - "column": "12", - "end": "51803", - "length": "14", - "line": "1470", - "parentIndex": "4031", - "start": "51790" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - } - } - }, - "id": "4031", - "memberLocation": { - "column": "27", - "end": "51816", - "length": "12", - "line": "1470", - "parentIndex": "4031", - "start": "51805" - }, - "memberName": "safeTransfer", - "nodeType": "MEMBER_ACCESS", - "src": { - "column": "12", - "end": "51816", - "length": "27", - "line": "1470", - "parentIndex": "4030", - "start": "51790" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$", - "typeString": "function(function())" - } - } - }, - "id": "4030", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "51830", - "length": "41", - "line": "1470", - "parentIndex": "4029", - "start": "51790" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_$_t_function_$_t_function_$", - "typeString": "function(function(),function(function()))" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", - "value": { - "id": "4038", - "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "4039", - "name": "failed", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3768", - "src": { - "column": "12", - "end": "51850", - "length": "6", - "line": "1471", - "parentIndex": "4038", - "start": "51845" + "column": "20", + "end": "51598", + "length": "13", + "line": "1460", + "parentIndex": "4036", + "start": "51586" }, "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" } } }, - "nodeType": "ASSIGNMENT", - "operator": "EQUAL", - "rightExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "hexValue": "74727565", - "id": "4040", - "isPure": true, - "kind": "BOOLEAN", - "nodeType": "LITERAL", - "src": { - "column": "21", - "end": "51857", - "length": "4", - "line": "1471", - "parentIndex": "4038", - "start": "51854" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - }, - "src": { - "column": "12", - "end": "51857", - "length": "13", - "line": "1471", - "parentIndex": "4037", - "start": "51845" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "id": "4037", - "nodeType": "ASSIGNMENT", - "src": { - "column": "12", - "end": "51858", - "length": "14", - "line": "1471", - "parentIndex": "4029", - "start": "51845" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - ] - }, - "kind": "CATCH", - "nodeType": "TRY_CATCH_CLAUSE", - "parameters": { - "id": "4026", - "nodeType": "PARAMETER_LIST", - "parameters": [ - { - "id": "4027", - "nodeType": "VARIABLE_DECLARATION", - "scope": "4027", - "src": { - "column": "18", - "end": "51773", - "length": "12", - "line": "1469", - "parentIndex": "4026", - "start": "51762" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "4028", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "18", - "end": "51766", - "length": "5", - "line": "1469", - "parentIndex": "4027", - "start": "51762" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" - } - ], - "src": { - "column": "18", - "end": "51773", - "length": "12", - "line": "1469", - "start": "51762" - } - }, - "src": { - "end": "51868", - "length": "114", - "line": "1469", - "parentIndex": "4011", - "start": "51755" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "4022", - "name": "actions", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3972", - "src": { - "column": "16", - "end": "51681", - "length": "7", - "line": "1465", - "parentIndex": "4012", - "start": "51675" - }, - "typeDescription": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": "4023", - "name": "values", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3972", - "src": { - "column": "16", - "end": "51705", - "length": "6", - "line": "1466", - "parentIndex": "4012", - "start": "51700" - }, - "typeDescription": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": "4024", - "name": "datas", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3972", - "src": { - "column": "16", - "end": "51728", - "length": "5", - "line": "1467", - "parentIndex": "4012", - "start": "51724" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCallOption", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", - "value": { - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_function_payable$_t_function_$_t_address$$", - "typeString": "function(function(address)) payable" - } - ], - "arguments": [ { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PayableConversion", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "argumentTypes": [ { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { "typeIdentifier": "t_function_$_t_address$", "typeString": "function(address)" } ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StargateAdapter_$3694", - "typeString": "contract StargateAdapter" + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4052", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "34", + "end": "51635", + "length": "1", + "line": "1461", + "parentIndex": "4049", + "start": "51635" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "arguments": [ - { + } + }, + "id": "4049", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4021", - "name": "this", + "id": "4051", + "name": "params", "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", "src": { - "column": "40", - "end": "51636", - "length": "4", - "line": "1464", - "parentIndex": "4018", - "start": "51633" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_StargateAdapter_$3694", - "typeString": "contract StargateAdapter" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "4019", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "32", - "end": "51631", - "length": "7", - "line": "1464", - "parentIndex": "4018", - "start": "51625" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "4020", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "32", - "end": "51631", - "length": "7", - "line": "1464", - "parentIndex": "4019", - "start": "51625" + "column": "20", + "end": "51626", + "length": "6", + "line": "1461", + "parentIndex": "4050", + "start": "51621" }, - "stateMutability": "NONPAYABLE", "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } } + }, + "id": "4050", + "memberLocation": { + "column": "27", + "end": "51633", + "length": "6", + "line": "1461", + "parentIndex": "4050", + "start": "51628" + }, + "memberName": "output", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "20", + "end": "51633", + "length": "13", + "line": "1461", + "parentIndex": "4049", + "start": "51621" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "20", + "end": "51636", + "length": "16", + "line": "1461", + "parentIndex": "4048", + "start": "51621" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" }, - "id": "4018", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "32", - "end": "51637", - "length": "13", - "line": "1464", - "parentIndex": "4017", - "start": "51625" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - } + ] + } + }, + "id": "4048", + "memberLocation": { + "column": "37", + "end": "51639", + "length": "2", + "line": "1461", + "parentIndex": "4048", + "start": "51638" + }, + "memberName": "to", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "20", + "end": "51639", + "length": "19", + "line": "1461", + "parentIndex": "4036", + "start": "51621" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + } + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } ], - "id": "4017", - "nodeType": "PAYABLE_CONVERSION", - "payable": true, + "hexValue": "30", + "id": "4053", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", "src": { - "column": "24", - "end": "51638", - "length": "22", - "line": "1464", - "parentIndex": "4015", - "start": "51617" + "column": "20", + "end": "51662", + "length": "1", + "line": "1462", + "parentIndex": "4036", + "start": "51662" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_function_$_t_address$", + "typeString": "function(address)" + }, + { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": "4054", + "name": "balanceShares", + "nodeType": "IDENTIFIER", + "src": { + "column": "20", + "end": "51697", + "length": "13", + "line": "1463", + "parentIndex": "4036", + "start": "51685" + }, + "typeDescription": { + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_rational_0_by_1$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0)" } } } ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { - "id": "4016", - "name": "ISushiXSwap", - "nodeType": "IDENTIFIER", + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4038", + "name": "bentoBox", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "963", + "src": { + "column": "16", + "end": "51510", + "length": "8", + "line": "1458", + "parentIndex": "4037", + "start": "51503" + }, + "typeDescription": { + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" + } + } + }, + "id": "4037", + "memberLocation": { + "column": "25", + "end": "51519", + "length": "8", + "line": "1458", + "parentIndex": "4037", + "start": "51512" + }, + "memberName": "withdraw", + "nodeType": "MEMBER_ACCESS", "src": { - "column": "12", - "end": "51615", - "length": "11", - "line": "1464", - "parentIndex": "4015", - "start": "51605" + "column": "16", + "end": "51519", + "length": "17", + "line": "1458", + "parentIndex": "4036", + "start": "51503" }, "typeDescription": { - "typeIdentifier": "t_function_$", - "typeString": "function()" + "typeIdentifier": "t_contract$_IBentoBoxMinimal_$546", + "typeString": "contract IBentoBoxMinimal" } } }, - "id": "4015", + "id": "4036", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { - "column": "12", - "end": "51639", - "length": "35", - "line": "1464", - "parentIndex": "4014", - "start": "51605" + "column": "16", + "end": "51715", + "length": "213", + "line": "1458", + "parentIndex": "4035", + "start": "51503" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_payable$_t_function_$_t_address$", - "typeString": "function(function(function(address)) payable)" + "typeIdentifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_rational_0_by_1$_t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_rational_0_by_1$", + "typeString": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0,function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0))" } } + } + ] + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", + "value": { + "baseExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4034", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "30", + "end": "51469", + "length": "1", + "line": "1457", + "parentIndex": "4031", + "start": "51469" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "id": "4031", + "indexExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4033", + "name": "params", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "1774", + "src": { + "column": "16", + "end": "51460", + "length": "6", + "line": "1457", + "parentIndex": "4032", + "start": "51455" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "id": "4032", + "memberLocation": { + "column": "23", + "end": "51467", + "length": "6", + "line": "1457", + "parentIndex": "4032", + "start": "51462" + }, + "memberName": "output", + "nodeType": "MEMBER_ACCESS", + "src": { + "column": "16", + "end": "51467", + "length": "13", + "line": "1457", + "parentIndex": "4031", + "start": "51455" + }, + "typeDescription": { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + } + } + }, + "nodeType": "INDEX_ACCESS", + "src": { + "column": "16", + "end": "51470", + "length": "16", + "line": "1457", + "parentIndex": "4030", + "start": "51455" + }, + "typeDescription": { + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "typeDescriptions": [ + { + "typeIdentifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "typeString": "struct StargateAdapter.StargateTeleportParams" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ] + } }, - "id": "4014", + "id": "4030", "memberLocation": { - "column": "48", - "end": "51644", - "length": "4", - "line": "1464", - "parentIndex": "4014", - "start": "51641" + "column": "33", + "end": "51482", + "length": "11", + "line": "1457", + "parentIndex": "4030", + "start": "51472" }, - "memberName": "cook", + "memberName": "unwrapBento", "nodeType": "MEMBER_ACCESS", "src": { - "column": "12", - "end": "51644", - "length": "40", - "line": "1464", - "parentIndex": "4013", - "start": "51605" + "column": "16", + "end": "51482", + "length": "28", + "line": "1457", + "parentIndex": "4029", + "start": "51455" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_function_payable$_t_function_$_t_address$", - "typeString": "function(function(function(address)) payable)" + "typeIdentifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "typeString": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } } }, - "id": "4013", - "kind": "FUNCTION_CALL_OPTION", - "nodeType": "FUNCTION_CALL_OPTION", + "id": "4029", + "nodeType": "IF_STATEMENT", "src": { - "column": "12", - "end": "51656", - "length": "52", - "line": "1464", - "parentIndex": "4012", - "start": "51605" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_function_payable$_t_function_$_t_address$", - "typeString": "function(function(function(address)) payable)" + "end": "51959", + "length": "509", + "line": "1457", + "parentIndex": "4004", + "start": "51451" } } - }, - "id": "4012", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", - "src": { - "column": "12", - "end": "51742", - "length": "138", - "line": "1464", - "parentIndex": "4011", - "start": "51605" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_uint8$_t_uint256$_t_bytes$", - "typeString": "function(uint8,uint256,bytes)" } - } - }, - "id": "4011", - "kind": "TRY", - "nodeType": "TRY_STATEMENT", - "returnParameters": { - "id": "4041", - "nodeType": "PARAMETER_LIST", - "src": { - "end": "51868", - "length": "280", - "line": "1463", - "parentIndex": "4011", - "start": "51589" - } - }, - "src": { - "end": "51868", - "length": "280", - "line": "1463", - "parentIndex": "3962", - "start": "51589" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", - "value": { - "body": { - "id": "4050", - "nodeType": "BLOCK", - "src": {} + ] }, - "condition": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "closure": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4043", + "id": "3999", "leftExpression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4000", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", + "src": { + "column": "35", + "end": "51173", + "length": "1", + "line": "1450", + "parentIndex": "3999", + "start": "51173" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "ASSIGNMENT", + "operator": "EQUAL", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + ], + "arguments": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4003", + "name": "i", + "nodeType": "IDENTIFIER", + "src": { + "column": "50", + "end": "51188", + "length": "1", + "line": "1450", + "parentIndex": "4001", + "start": "51188" + }, + "typeDescription": { + "typeIdentifier": "t_function_$", + "typeString": "function()" + } + } + } + ], "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StargateAdapter_$3694", - "typeString": "contract StargateAdapter" - } - ], - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "4048", - "name": "this", - "nodeType": "IDENTIFIER", - "src": { - "column": "20", - "end": "51972", - "length": "4", - "line": "1475", - "parentIndex": "4045", - "start": "51969" - }, - "typeDescription": { - "typeIdentifier": "t_contract$_StargateAdapter_$3694", - "typeString": "contract StargateAdapter" - } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": "4046", - "name": "address", - "nodeType": "IDENTIFIER", - "src": { - "column": "12", - "end": "51967", - "length": "7", - "line": "1475", - "parentIndex": "4045", - "start": "51961" - }, - "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" - }, - "typeName": { - "id": "4047", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "12", - "end": "51967", - "length": "7", - "line": "1475", - "parentIndex": "4046", - "start": "51961" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "id": "4045", - "kind": "FUNCTION_CALL", - "nodeType": "FUNCTION_CALL", + "id": "4002", + "name": "_increment", + "nodeType": "IDENTIFIER", "src": { - "column": "12", - "end": "51973", - "length": "13", - "line": "1475", - "parentIndex": "4044", - "start": "51961" + "column": "39", + "end": "51186", + "length": "10", + "line": "1450", + "parentIndex": "4001", + "start": "51177" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "typeIdentifier": "t_function_$", + "typeString": "function()" } } }, - "id": "4044", - "memberLocation": { - "column": "26", - "end": "51981", - "length": "7", - "line": "1475", - "parentIndex": "4044", - "start": "51975" + "id": "4001", + "kind": "FUNCTION_CALL", + "nodeType": "FUNCTION_CALL", + "src": { + "column": "39", + "end": "51189", + "length": "13", + "line": "1450", + "parentIndex": "3999", + "start": "51177" }, - "memberName": "balance", - "nodeType": "MEMBER_ACCESS", + "typeDescription": { + "typeIdentifier": "t_function_$_t_function_$", + "typeString": "function(function())" + } + } + }, + "src": { + "column": "35", + "end": "51189", + "length": "17", + "line": "1450", + "parentIndex": "3991", + "start": "51173" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "condition": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "3996", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "3997", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "2886", "src": { - "column": "12", - "end": "51981", - "length": "21", - "line": "1475", - "parentIndex": "4043", - "start": "51961" + "column": "28", + "end": "51166", + "length": "1", + "line": "1450", + "parentIndex": "3996", + "start": "51166" }, "typeDescription": { - "typeIdentifier": "t_function_$_t_address$", - "typeString": "function(address)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, "nodeType": "BINARY_OPERATION", - "operator": "GREATER_THAN", + "operator": "LESS_THAN", "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "hexValue": "30", - "id": "4049", - "isPure": true, - "kind": "NUMBER", - "nodeType": "LITERAL", + "id": "3998", + "name": "n", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "3843", "src": { - "column": "36", - "end": "51985", + "column": "32", + "end": "51170", "length": "1", - "line": "1475", - "parentIndex": "4043", - "start": "51985" + "line": "1450", + "parentIndex": "3996", + "start": "51170" }, "typeDescription": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } }, "src": { - "column": "12", - "end": "51985", - "length": "25", - "line": "1475", - "parentIndex": "4042", - "start": "51961" + "column": "28", + "end": "51170", + "length": "5", + "line": "1450", + "parentIndex": "3991", + "start": "51166" }, "typeDescription": { "typeIdentifier": "t_bool", @@ -71500,219 +71423,372 @@ } } }, - "id": "4042", - "nodeType": "IF_STATEMENT", - "src": { - "end": "52043", - "length": "87", - "line": "1475", - "parentIndex": "3962", - "start": "51957" - } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Emit", - "value": { - "arguments": [ - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "4052", - "name": "srcContext", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3972", - "src": { - "column": "35", - "end": "52090", - "length": "10", - "line": "1478", - "parentIndex": "4051", - "start": "52081" - }, - "typeDescription": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "id": "3991", + "initialiser": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", + "value": { + "assignments": [ + "3993" + ], + "declarations": [ + { + "id": "3993", + "mutability": "MUTABLE", + "name": "i", + "nameLocation": { + "column": "21", + "end": "51159", + "length": "1", + "line": "1450", + "parentIndex": "3993", + "start": "51159" + }, + "nodeType": "VARIABLE_DECLARATION", + "scope": "3842", + "src": { + "column": "13", + "end": "51159", + "length": "9", + "line": "1450", + "parentIndex": "3992", + "start": "51151" + }, + "storageLocation": "DEFAULT", + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": "3994", + "name": "uint256", + "nodeType": "ELEMENTARY_TYPE_NAME", + "src": { + "column": "13", + "end": "51157", + "length": "7", + "line": "1450", + "parentIndex": "3993", + "start": "51151" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "INTERNAL" } - } - }, - { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "4053", - "name": "failed", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "4008", - "src": { - "column": "47", - "end": "52098", - "length": "6", - "line": "1478", - "parentIndex": "4051", - "start": "52093" - }, - "typeDescription": { - "typeIdentifier": "t_bool", - "typeString": "bool" + ], + "id": "3992", + "initialValue": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "30", + "id": "3995", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "25", + "end": "51163", + "length": "1", + "line": "1450", + "parentIndex": "3992", + "start": "51163" + }, + "typeDescription": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } - } - } - ], - "expression": { - "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", - "value": { - "id": "4054", - "name": "StargateSushiXSwapDst", - "nodeType": "IDENTIFIER", - "referencedDeclaration": "3764", + }, + "nodeType": "VARIABLE_DECLARATION", "src": { "column": "13", - "end": "52079", - "length": "21", - "line": "1478", - "parentIndex": "4051", - "start": "52059" - }, - "typeDescription": { - "typeIdentifier": "t_event\u0026_StargateAdapter_StargateSushiXSwapDst_\u00263764", - "typeString": "event StargateAdapter.StargateSushiXSwapDst" + "end": "51164", + "length": "14", + "line": "1450", + "parentIndex": "3842", + "start": "51151" } } }, - "id": "4051", - "nodeType": "EMIT_STATEMENT", + "nodeType": "FOR_STATEMENT", "src": { - "column": "8", - "end": "52100", - "length": "47", - "line": "1478", - "parentIndex": "3946", - "start": "52054" + "end": "51969", + "length": "824", + "line": "1450", + "parentIndex": "3842", + "start": "51146" } } } ] }, - "id": "3946", + "id": "3836", "implemented": true, "kind": "KIND_FUNCTION", - "name": "sgReceive", + "name": "_complexPath", "nameLocation": { "column": "13", - "end": "50906", - "length": "9", - "line": "1441", - "parentIndex": "3946", - "start": "50898" + "end": "49633", + "length": "12", + "line": "1416", + "parentIndex": "3836", + "start": "49622" }, "nodeType": "FUNCTION_DEFINITION", - "overrides": [ - { - "id": "3960", - "nodeType": "OVERRIDE_SPECIFIER", - "src": { - "column": "15", - "end": "51065", - "length": "8", - "line": "1448", - "parentIndex": "3946", - "start": "51058" - }, - "typeDescription": { - "typeIdentifier": "$_t_override", - "typeString": "override" - } - } - ], "parameters": { - "id": "3947", + "id": "3837", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "3948", + "id": "3838", + "name": "params", "nodeType": "VARIABLE_DECLARATION", - "scope": "3948", + "scope": "3838", "src": { - "column": "8", - "end": "50922", - "length": "6", - "line": "1442", - "parentIndex": "3947", - "start": "50917" + "column": "26", + "end": "49665", + "length": "31", + "line": "1416", + "parentIndex": "3837", + "start": "49635" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" }, "typeName": { - "id": "3949", - "name": "uint16", - "nodeType": "ELEMENTARY_TYPE_NAME", + "id": "3839", + "nodeType": "USER_DEFINED_PATH_NAME", + "pathNode": { + "id": "3840", + "name": "ComplexPathParams", + "nameLocation": { + "column": "26", + "end": "49651", + "length": "17", + "line": "1416", + "parentIndex": "3839", + "start": "49635" + }, + "nodeType": "IDENTIFIER_PATH", + "referencedDeclaration": "3596", + "src": { + "column": "26", + "end": "49651", + "length": "17", + "line": "1416", + "parentIndex": "3839", + "start": "49635" + } + }, + "referencedDeclaration": "3596", "src": { - "column": "8", - "end": "50922", - "length": "6", - "line": "1442", - "parentIndex": "3948", - "start": "50917" + "column": "26", + "end": "49651", + "length": "17", + "line": "1416", + "parentIndex": "3838", + "start": "49635" }, "typeDescription": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", + "typeString": "struct ITridentRouter.ComplexPathParams" } }, "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "26", + "end": "49665", + "length": "31", + "line": "1416", + "parentIndex": "3836", + "start": "49635" + } + }, + "returnParameters": { + "id": "3841", + "nodeType": "PARAMETER_LIST", + "src": { + "column": "4", + "end": "51975", + "length": "2363", + "line": "1416", + "parentIndex": "3836", + "start": "49613" + } + }, + "scope": "3719", + "signature": "87820208", + "src": { + "column": "4", + "end": "51975", + "length": "2363", + "line": "1416", + "parentIndex": "3719", + "start": "49613" + }, + "stateMutability": "NONPAYABLE", + "typeDescription": { + "typeIdentifier": "t_function_$_t_struct$_ITridentRouter_ComplexPathParams_$3596$", + "typeString": "function(struct ITridentRouter.ComplexPathParams)" + }, + "visibility": "INTERNAL" + } + }, + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", + "value": { + "body": { + "id": "4063", + "implemented": true, + "nodeType": "BLOCK", + "src": { + "column": "67", + "end": "52107", + "length": "63", + "line": "1476", + "parentIndex": "4056", + "start": "52045" + }, + "statements": [ { - "id": "3950", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3950", - "src": { - "column": "8", - "end": "50944", - "length": "12", - "line": "1443", - "parentIndex": "3947", - "start": "50933" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3951", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Block", + "value": { + "id": "4064", + "nodeType": "UNCHECKED_BLOCK", "src": { "column": "8", - "end": "50937", - "length": "5", - "line": "1443", - "parentIndex": "3950", - "start": "50933" + "end": "52101", + "length": "47", + "line": "1477", + "parentIndex": "3719", + "start": "52055" }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" - }, + "statements": [ + { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Return", + "value": { + "expression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", + "value": { + "id": "4066", + "leftExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "id": "4067", + "name": "i", + "nodeType": "IDENTIFIER", + "referencedDeclaration": "4067", + "src": { + "column": "19", + "end": "52086", + "length": "1", + "line": "1478", + "parentIndex": "4066", + "start": "52086" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "nodeType": "BINARY_OPERATION", + "operator": "ADDITION", + "rightExpression": { + "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", + "value": { + "hexValue": "31", + "id": "4068", + "isPure": true, + "kind": "NUMBER", + "nodeType": "LITERAL", + "src": { + "column": "23", + "end": "52090", + "length": "1", + "line": "1478", + "parentIndex": "4066", + "start": "52090" + }, + "typeDescription": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + }, + "src": { + "column": "19", + "end": "52090", + "length": "5", + "line": "1478", + "parentIndex": "4065", + "start": "52086" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "functionReturnParameters": "4056", + "id": "4065", + "nodeType": "RETURN_STATEMENT", + "src": { + "column": "12", + "end": "52091", + "length": "13", + "line": "1478", + "parentIndex": "4056", + "start": "52079" + }, + "typeDescription": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + ] + } + } + ] + }, + "id": "4056", + "kind": "KIND_FUNCTION", + "name": "_increment", + "nameLocation": { + "column": "13", + "end": "52000", + "length": "10", + "line": "1476", + "parentIndex": "4056", + "start": "51991" + }, + "nodeType": "FUNCTION_DEFINITION", + "parameters": { + "id": "4057", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "3952", + "id": "4058", + "name": "i", "nodeType": "VARIABLE_DECLARATION", - "scope": "3952", + "scope": "4058", "src": { - "column": "8", - "end": "50961", - "length": "7", - "line": "1444", - "parentIndex": "3947", - "start": "50955" + "column": "24", + "end": "52010", + "length": "9", + "line": "1476", + "parentIndex": "4057", + "start": "52002" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -71721,16 +71797,16 @@ "typeString": "uint256" }, "typeName": { - "id": "3953", + "id": "4059", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "50961", + "column": "24", + "end": "52008", "length": "7", - "line": "1444", - "parentIndex": "3952", - "start": "50955" + "line": "1476", + "parentIndex": "4058", + "start": "52002" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -71738,58 +71814,32 @@ } }, "visibility": "INTERNAL" - }, - { - "id": "3954", - "name": "_token", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3954", - "src": { - "column": "8", - "end": "50985", - "length": "14", - "line": "1445", - "parentIndex": "3947", - "start": "50972" - }, - "stateMutability": "NONPAYABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": "3955", - "name": "address", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "50978", - "length": "7", - "line": "1445", - "parentIndex": "3954", - "start": "50972" - }, - "stateMutability": "NONPAYABLE", - "typeDescription": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "INTERNAL" - }, + } + ], + "src": { + "column": "24", + "end": "52010", + "length": "9", + "line": "1476", + "parentIndex": "4056", + "start": "52002" + } + }, + "returnParameters": { + "id": "4060", + "nodeType": "PARAMETER_LIST", + "parameters": [ { - "id": "3956", - "name": "amountLD", + "id": "4061", "nodeType": "VARIABLE_DECLARATION", - "scope": "3956", + "scope": "4061", "src": { - "column": "8", - "end": "51011", - "length": "16", - "line": "1446", - "parentIndex": "3947", - "start": "50996" + "column": "58", + "end": "52042", + "length": "7", + "line": "1476", + "parentIndex": "4060", + "start": "52036" }, "stateMutability": "MUTABLE", "storageLocation": "MEMORY", @@ -71798,16 +71848,16 @@ "typeString": "uint256" }, "typeName": { - "id": "3957", + "id": "4062", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { - "column": "8", - "end": "51002", + "column": "58", + "end": "52042", "length": "7", - "line": "1446", - "parentIndex": "3956", - "start": "50996" + "line": "1476", + "parentIndex": "4061", + "start": "52036" }, "typeDescription": { "typeIdentifier": "t_uint256", @@ -71815,138 +71865,88 @@ } }, "visibility": "INTERNAL" - }, - { - "id": "3958", - "name": "payload", - "nodeType": "VARIABLE_DECLARATION", - "scope": "3958", - "src": { - "column": "8", - "end": "51041", - "length": "20", - "line": "1447", - "parentIndex": "3947", - "start": "51022" - }, - "stateMutability": "MUTABLE", - "storageLocation": "MEMORY", - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - }, - "typeName": { - "id": "3959", - "name": "bytes", - "nodeType": "ELEMENTARY_TYPE_NAME", - "src": { - "column": "8", - "end": "51026", - "length": "5", - "line": "1447", - "parentIndex": "3958", - "start": "51022" - }, - "typeDescription": { - "typeIdentifier": "t_bytes", - "typeString": "bytes" - } - }, - "visibility": "INTERNAL" } ], "src": { - "column": "8", - "end": "51041", - "length": "125", - "line": "1442", - "parentIndex": "3946", - "start": "50917" - } - }, - "returnParameters": { - "id": "3961", - "nodeType": "PARAMETER_LIST", - "src": { - "column": "4", - "end": "52107", - "length": "1219", - "line": "1441", - "parentIndex": "3946", - "start": "50889" + "column": "58", + "end": "52042", + "length": "7", + "line": "1476", + "parentIndex": "4056", + "start": "52036" } }, - "scope": "3745", - "signature": "b19f8e19", + "scope": "3719", + "signature": "5e384b73", "src": { "column": "4", "end": "52107", - "length": "1219", - "line": "1441", - "parentIndex": "3745", - "start": "50889" + "length": "126", + "line": "1476", + "parentIndex": "3719", + "start": "51982" }, - "stateMutability": "NONPAYABLE", + "stateMutability": "PURE", "typeDescription": { - "typeIdentifier": "t_function_$_t_uint16$_t_bytes$_t_uint256$_t_address$_t_uint256$_t_bytes$", - "typeString": "function(uint16,bytes,uint256,address,uint256,bytes)" + "typeIdentifier": "t_function_$_t_uint256$", + "typeString": "function(uint256)" }, - "visibility": "EXTERNAL" + "visibility": "INTERNAL" } } ], "src": { "end": "52109", - "length": "5432", - "line": "1340", - "parentIndex": "3694", - "start": "46678" + "length": "4985", + "line": "1361", + "parentIndex": "3668", + "start": "47125" } } } ] }, "src": { - "line": 1340, - "start": 46678, + "line": 1361, + "start": 47125, "end": 52109, - "length": 5432, + "length": 4985, "parent_index": 272 } }, { - "id": 4055, + "id": 4069, "license": "GPL-3.0-or-later", "name": "ISushiXSwap", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ISushiXSwap.sol", "exported_symbols": [ { - "id": 4055, + "id": 4069, "name": "ISushiXSwap", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/ISushiXSwap.sol" }, { - "id": 3694, + "id": 3668, "name": "BentoAdapter", "absolute_path": "BentoAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "TokenAdapter", "absolute_path": "TokenAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "SushiLegacyAdapter", "absolute_path": "SushiLegacyAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "TridentSwapAdapter", "absolute_path": "TridentSwapAdapter.sol" }, { - "id": 3694, + "id": 3668, "name": "StargateAdapter", "absolute_path": "StargateAdapter.sol" } @@ -71957,7 +71957,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "4077", + "id": "4091", "literals": [ "pragma", "solidity", @@ -71973,7 +71973,7 @@ "end": "52180", "length": "23", "line": "1485", - "parentIndex": "4055", + "parentIndex": "4069", "start": "52158" }, "text": "pragma solidity 0.8.11;" @@ -71984,15 +71984,15 @@ "value": { "absolutePath": "BentoAdapter.sol", "file": "./BentoAdapter.sol", - "id": "4107", + "id": "4121", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4055", - "sourceUnit": "3694", + "scope": "4069", + "sourceUnit": "3668", "src": { "end": "52210", "length": "28", "line": "1487", - "parentIndex": "4055", + "parentIndex": "4069", "start": "52183" } } @@ -72002,15 +72002,15 @@ "value": { "absolutePath": "TokenAdapter.sol", "file": "./TokenAdapter.sol", - "id": "4108", + "id": "4122", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4055", - "sourceUnit": "3694", + "scope": "4069", + "sourceUnit": "3668", "src": { "end": "52239", "length": "28", "line": "1488", - "parentIndex": "4055", + "parentIndex": "4069", "start": "52212" } } @@ -72020,15 +72020,15 @@ "value": { "absolutePath": "SushiLegacyAdapter.sol", "file": "./SushiLegacyAdapter.sol", - "id": "4109", + "id": "4123", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4055", - "sourceUnit": "3694", + "scope": "4069", + "sourceUnit": "3668", "src": { "end": "52274", "length": "34", "line": "1489", - "parentIndex": "4055", + "parentIndex": "4069", "start": "52241" } } @@ -72038,15 +72038,15 @@ "value": { "absolutePath": "TridentSwapAdapter.sol", "file": "./TridentSwapAdapter.sol", - "id": "4110", + "id": "4124", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4055", - "sourceUnit": "3694", + "scope": "4069", + "sourceUnit": "3668", "src": { "end": "52309", "length": "34", "line": "1490", - "parentIndex": "4055", + "parentIndex": "4069", "start": "52276" } } @@ -72056,15 +72056,15 @@ "value": { "absolutePath": "StargateAdapter.sol", "file": "./StargateAdapter.sol", - "id": "4111", + "id": "4125", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4055", - "sourceUnit": "3694", + "scope": "4069", + "sourceUnit": "3668", "src": { "end": "52341", "length": "31", "line": "1491", - "parentIndex": "4055", + "parentIndex": "4069", "start": "52311" } } @@ -72073,22 +72073,22 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "contractDependencies": [ - "4107", - "4108", - "4109", - "4110", - "4111" + "4121", + "4122", + "4123", + "4124", + "4125" ], "fullyImplemented": true, - "id": "4118", + "id": "4132", "kind": "KIND_INTERFACE", "linearizedBaseContracts": [ - "4118", - "4107", - "4108", - "4109", - "4110", - "4111" + "4132", + "4121", + "4122", + "4123", + "4124", + "4125" ], "name": "ISushiXSwap", "nameLocation": { @@ -72096,7 +72096,7 @@ "end": "52364", "length": "11", "line": "1493", - "parentIndex": "4118", + "parentIndex": "4132", "start": "52354" }, "nodeType": "CONTRACT_DEFINITION", @@ -72105,18 +72105,18 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4129", + "id": "4143", "nodeType": "BLOCK", "src": { "column": "4", "end": "52503", "length": "132", "line": "1494", - "parentIndex": "4120", + "parentIndex": "4134", "start": "52372" } }, - "id": "4120", + "id": "4134", "kind": "KIND_FUNCTION", "name": "cook", "nameLocation": { @@ -72124,25 +72124,25 @@ "end": "52384", "length": "4", "line": "1494", - "parentIndex": "4120", + "parentIndex": "4134", "start": "52381" }, "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4121", + "id": "4135", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4122", + "id": "4136", "name": "actions", "nodeType": "VARIABLE_DECLARATION", - "scope": "4122", + "scope": "4136", "src": { "column": "8", "end": "52416", "length": "22", "line": "1495", - "parentIndex": "4121", + "parentIndex": "4135", "start": "52395" }, "stateMutability": "MUTABLE", @@ -72152,7 +72152,7 @@ "typeString": "uint8" }, "typeName": { - "id": "4123", + "id": "4137", "name": "uint8", "nodeType": "IDENTIFIER", "src": { @@ -72160,7 +72160,7 @@ "end": "52399", "length": "5", "line": "1495", - "parentIndex": "4122", + "parentIndex": "4136", "start": "52395" }, "typeDescription": { @@ -72171,16 +72171,16 @@ "visibility": "INTERNAL" }, { - "id": "4124", + "id": "4138", "name": "values", "nodeType": "VARIABLE_DECLARATION", - "scope": "4124", + "scope": "4138", "src": { "column": "8", "end": "52449", "length": "23", "line": "1496", - "parentIndex": "4121", + "parentIndex": "4135", "start": "52427" }, "stateMutability": "MUTABLE", @@ -72190,7 +72190,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4125", + "id": "4139", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -72198,7 +72198,7 @@ "end": "52433", "length": "7", "line": "1496", - "parentIndex": "4124", + "parentIndex": "4138", "start": "52427" }, "typeDescription": { @@ -72209,16 +72209,16 @@ "visibility": "INTERNAL" }, { - "id": "4126", + "id": "4140", "name": "datas", "nodeType": "VARIABLE_DECLARATION", - "scope": "4126", + "scope": "4140", "src": { "column": "8", "end": "52479", "length": "20", "line": "1497", - "parentIndex": "4121", + "parentIndex": "4135", "start": "52460" }, "stateMutability": "MUTABLE", @@ -72228,7 +72228,7 @@ "typeString": "bytes" }, "typeName": { - "id": "4127", + "id": "4141", "name": "bytes", "nodeType": "IDENTIFIER", "src": { @@ -72236,7 +72236,7 @@ "end": "52464", "length": "5", "line": "1497", - "parentIndex": "4126", + "parentIndex": "4140", "start": "52460" }, "typeDescription": { @@ -72252,30 +72252,30 @@ "end": "52479", "length": "85", "line": "1495", - "parentIndex": "4120", + "parentIndex": "4134", "start": "52395" } }, "returnParameters": { - "id": "4128", + "id": "4142", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "52503", "length": "132", "line": "1494", - "parentIndex": "4120", + "parentIndex": "4134", "start": "52372" } }, - "scope": "4118", - "signature": "c69b41d9", + "scope": "4132", + "signature": "5d449bb0", "src": { "column": "4", "end": "52503", "length": "132", "line": "1494", - "parentIndex": "4118", + "parentIndex": "4132", "start": "52372" }, "stateMutability": "PAYABLE", @@ -72291,7 +72291,7 @@ "end": "52505", "length": "162", "line": "1493", - "parentIndex": "4055", + "parentIndex": "4069", "start": "52344" } } @@ -72307,43 +72307,43 @@ } }, { - "id": 4130, + "id": 4144, "license": "GPL-3.0", "name": "IStargateAdapter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateAdapter.sol", "exported_symbols": [ { - "id": 4130, + "id": 4144, "name": "IStargateAdapter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/IStargateAdapter.sol" }, { - "id": 4055, + "id": 4069, "name": "StargateAdapter", "absolute_path": "StargateAdapter.sol" }, { - "id": 4055, + "id": 4069, "name": "SafeERC20", "absolute_path": "SafeERC20.sol" }, { - "id": 4055, + "id": 4069, "name": "ImmutableState", "absolute_path": "ImmutableState.sol" }, { - "id": 4055, + "id": 4069, "name": "ISushiXSwap", "absolute_path": "ISushiXSwap.sol" }, { - "id": 4055, + "id": 4069, "name": "IStargateReceiver", "absolute_path": "IStargateReceiver.sol" }, { - "id": 4055, + "id": 4069, "name": "IStargateWidget", "absolute_path": "IStargateWidget.sol" } @@ -72354,7 +72354,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "4153", + "id": "4167", "literals": [ "pragma", "solidity", @@ -72370,7 +72370,7 @@ "end": "52567", "length": "23", "line": "1503", - "parentIndex": "4130", + "parentIndex": "4144", "start": "52545" }, "text": "pragma solidity 0.8.11;" @@ -72381,15 +72381,15 @@ "value": { "absolutePath": "StargateAdapter.sol", "file": "./StargateAdapter.sol", - "id": "4187", + "id": "4201", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4130", - "sourceUnit": "4055", + "scope": "4144", + "sourceUnit": "4069", "src": { "end": "52341", "length": "31", "line": "1491", - "parentIndex": "4130", + "parentIndex": "4144", "start": "52311" } } @@ -72399,15 +72399,15 @@ "value": { "absolutePath": "SafeERC20.sol", "file": "./SafeERC20.sol", - "id": "4188", + "id": "4202", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4130", - "sourceUnit": "4055", + "scope": "4144", + "sourceUnit": "4069", "src": { "end": "52594", "length": "25", "line": "1505", - "parentIndex": "4130", + "parentIndex": "4144", "start": "52570" } } @@ -72417,15 +72417,15 @@ "value": { "absolutePath": "ImmutableState.sol", "file": "./ImmutableState.sol", - "id": "4189", + "id": "4203", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4130", - "sourceUnit": "4055", + "scope": "4144", + "sourceUnit": "4069", "src": { "end": "52625", "length": "30", "line": "1506", - "parentIndex": "4130", + "parentIndex": "4144", "start": "52596" } } @@ -72435,15 +72435,15 @@ "value": { "absolutePath": "ISushiXSwap.sol", "file": "./ISushiXSwap.sol", - "id": "4190", + "id": "4204", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4130", - "sourceUnit": "4055", + "scope": "4144", + "sourceUnit": "4069", "src": { "end": "52653", "length": "27", "line": "1507", - "parentIndex": "4130", + "parentIndex": "4144", "start": "52627" } } @@ -72453,15 +72453,15 @@ "value": { "absolutePath": "IStargateReceiver.sol", "file": "./IStargateReceiver.sol", - "id": "4191", + "id": "4205", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4130", - "sourceUnit": "4055", + "scope": "4144", + "sourceUnit": "4069", "src": { "end": "52687", "length": "33", "line": "1508", - "parentIndex": "4130", + "parentIndex": "4144", "start": "52655" } } @@ -72471,15 +72471,15 @@ "value": { "absolutePath": "IStargateWidget.sol", "file": "./IStargateWidget.sol", - "id": "4192", + "id": "4206", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4130", - "sourceUnit": "4055", + "scope": "4144", + "sourceUnit": "4069", "src": { "end": "52719", "length": "31", "line": "1509", - "parentIndex": "4130", + "parentIndex": "4144", "start": "52689" } } @@ -72488,24 +72488,24 @@ "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Contract", "value": { "contractDependencies": [ - "4187", - "4188", - "4189", - "4190", - "4191", - "4192" + "4201", + "4202", + "4203", + "4204", + "4205", + "4206" ], "fullyImplemented": true, - "id": "4194", + "id": "4208", "kind": "KIND_INTERFACE", "linearizedBaseContracts": [ - "4194", - "4187", - "4188", - "4189", - "4190", - "4191", - "4192" + "4208", + "4201", + "4202", + "4203", + "4204", + "4205", + "4206" ], "name": "IStargateAdapter", "nameLocation": { @@ -72513,7 +72513,7 @@ "end": "52747", "length": "16", "line": "1511", - "parentIndex": "4194", + "parentIndex": "4208", "start": "52732" }, "nodeType": "CONTRACT_DEFINITION", @@ -72521,7 +72521,7 @@ "end": "52750", "length": "29", "line": "1511", - "parentIndex": "4130", + "parentIndex": "4144", "start": "52722" } } @@ -72537,59 +72537,59 @@ } }, { - "id": 4195, + "id": 4209, "license": "GPL-3.0-or-later", "name": "SushiXSwap", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiXSwap.sol", "exported_symbols": [ { - "id": 4195, + "id": 4209, "name": "SushiXSwap", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/SushiXSwap.sol" }, { - "id": 4130, + "id": 4144, "name": "SafeERC20", "absolute_path": "SafeERC20.sol" }, { - "id": 4130, + "id": 4144, "name": "ImmutableState", "absolute_path": "ImmutableState.sol" }, { - "id": 4130, + "id": 4144, "name": "ISushiXSwap", "absolute_path": "ISushiXSwap.sol" }, { - "id": 4130, + "id": 4144, "name": "IStargateReceiver", "absolute_path": "IStargateReceiver.sol" }, { - "id": 4130, + "id": 4144, "name": "IStargateWidget", "absolute_path": "IStargateWidget.sol" }, { - "id": 4263, + "id": 4277, "name": "BentoAdapter" }, { - "id": 4265, + "id": 4279, "name": "TokenAdapter" }, { - "id": 4267, + "id": 4281, "name": "SushiLegacyAdapter" }, { - "id": 4269, + "id": 4283, "name": "TridentSwapAdapter" }, { - "id": 4271, + "id": 4285, "name": "StargateAdapter" } ], @@ -72599,7 +72599,7 @@ { "type_url": "github.com/unpackdev/protos/unpack.v1.ast.Pragma", "value": { - "id": "4219", + "id": "4233", "literals": [ "pragma", "solidity", @@ -72615,7 +72615,7 @@ "end": "52821", "length": "23", "line": "1515", - "parentIndex": "4195", + "parentIndex": "4209", "start": "52799" }, "text": "pragma solidity 0.8.11;" @@ -72626,15 +72626,15 @@ "value": { "absolutePath": "SafeERC20.sol", "file": "./SafeERC20.sol", - "id": "4254", + "id": "4268", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4195", - "sourceUnit": "4130", + "scope": "4209", + "sourceUnit": "4144", "src": { "end": "52594", "length": "25", "line": "1505", - "parentIndex": "4195", + "parentIndex": "4209", "start": "52570" } } @@ -72644,15 +72644,15 @@ "value": { "absolutePath": "ImmutableState.sol", "file": "./ImmutableState.sol", - "id": "4255", + "id": "4269", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4195", - "sourceUnit": "4130", + "scope": "4209", + "sourceUnit": "4144", "src": { "end": "52625", "length": "30", "line": "1506", - "parentIndex": "4195", + "parentIndex": "4209", "start": "52596" } } @@ -72662,15 +72662,15 @@ "value": { "absolutePath": "ISushiXSwap.sol", "file": "./ISushiXSwap.sol", - "id": "4256", + "id": "4270", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4195", - "sourceUnit": "4130", + "scope": "4209", + "sourceUnit": "4144", "src": { "end": "52653", "length": "27", "line": "1507", - "parentIndex": "4195", + "parentIndex": "4209", "start": "52627" } } @@ -72680,15 +72680,15 @@ "value": { "absolutePath": "IStargateReceiver.sol", "file": "./IStargateReceiver.sol", - "id": "4257", + "id": "4271", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4195", - "sourceUnit": "4130", + "scope": "4209", + "sourceUnit": "4144", "src": { "end": "52687", "length": "33", "line": "1508", - "parentIndex": "4195", + "parentIndex": "4209", "start": "52655" } } @@ -72698,15 +72698,15 @@ "value": { "absolutePath": "IStargateWidget.sol", "file": "./IStargateWidget.sol", - "id": "4258", + "id": "4272", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4195", - "sourceUnit": "4130", + "scope": "4209", + "sourceUnit": "4144", "src": { "end": "52719", "length": "31", "line": "1509", - "parentIndex": "4195", + "parentIndex": "4209", "start": "52689" } } @@ -72716,15 +72716,15 @@ "value": { "absolutePath": "ISushiXSwap.sol", "file": "./ISushiXSwap.sol", - "id": "4259", + "id": "4273", "nodeType": "IMPORT_DIRECTIVE", - "scope": "4195", - "sourceUnit": "4130", + "scope": "4209", + "sourceUnit": "4144", "src": { "end": "52850", "length": "27", "line": "1517", - "parentIndex": "4195", + "parentIndex": "4209", "start": "52824" } } @@ -72735,33 +72735,33 @@ "baseContracts": [ { "baseName": { - "id": "4262", + "id": "4276", "name": "ISushiXSwap", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "4055", + "referencedDeclaration": "4069", "src": { "column": "4", "end": "53071", "length": "11", "line": "1523", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53061" } }, - "id": "4261", + "id": "4275", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "4", "end": "53071", "length": "11", "line": "1523", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53061" } }, { "baseName": { - "id": "4264", + "id": "4278", "name": "BentoAdapter", "nodeType": "IDENTIFIER_PATH", "referencedDeclaration": "1018", @@ -72770,157 +72770,157 @@ "end": "53089", "length": "12", "line": "1524", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53078" } }, - "id": "4263", + "id": "4277", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "4", "end": "53089", "length": "12", "line": "1524", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53078" } }, { "baseName": { - "id": "4266", + "id": "4280", "name": "TokenAdapter", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "1684", + "referencedDeclaration": "3335", "src": { "column": "4", "end": "53107", "length": "12", "line": "1525", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53096" } }, - "id": "4265", + "id": "4279", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "4", "end": "53107", "length": "12", "line": "1525", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53096" } }, { "baseName": { - "id": "4268", + "id": "4282", "name": "SushiLegacyAdapter", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "2787", + "referencedDeclaration": "3013", "src": { "column": "4", "end": "53131", "length": "18", "line": "1526", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53114" } }, - "id": "4267", + "id": "4281", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "4", "end": "53131", "length": "18", "line": "1526", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53114" } }, { "baseName": { - "id": "4270", + "id": "4284", "name": "TridentSwapAdapter", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3222", + "referencedDeclaration": "3668", "src": { "column": "4", "end": "53155", "length": "18", "line": "1527", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53138" } }, - "id": "4269", + "id": "4283", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "4", "end": "53155", "length": "18", "line": "1527", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53138" } }, { "baseName": { - "id": "4272", + "id": "4286", "name": "StargateAdapter", "nodeType": "IDENTIFIER_PATH", - "referencedDeclaration": "3694", + "referencedDeclaration": "1678", "src": { "column": "4", "end": "53176", "length": "15", "line": "1528", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53162" } }, - "id": "4271", + "id": "4285", "nodeType": "INHERITANCE_SPECIFIER", "src": { "column": "4", "end": "53176", "length": "15", "line": "1528", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53162" } } ], "contractDependencies": [ - "4055", + "4069", "1018", - "1684", - "2787", - "3222", - "3694", - "4254", - "4255", - "4256", - "4257", - "4258", - "4259" + "3335", + "3013", + "3668", + "1678", + "4268", + "4269", + "4270", + "4271", + "4272", + "4273" ], "fullyImplemented": true, - "id": "4260", + "id": "4274", "kind": "KIND_CONTRACT", "linearizedBaseContracts": [ - "4055", + "4069", "1018", - "1684", - "2787", - "3222", - "3694", - "4260", - "4254", - "4255", - "4256", - "4257", - "4258", - "4259" + "3335", + "3013", + "3668", + "1678", + "4274", + "4268", + "4269", + "4270", + "4271", + "4272", + "4273" ], "name": "SushiXSwap", "nameLocation": { @@ -72928,7 +72928,7 @@ "end": "53052", "length": "10", "line": "1522", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53043" }, "nodeType": "CONTRACT_DEFINITION", @@ -72937,7 +72937,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4297", + "id": "4311", "implemented": true, "nodeType": "BLOCK", "src": { @@ -72945,7 +72945,7 @@ "end": "53538", "length": "77", "line": "1536", - "parentIndex": "4274", + "parentIndex": "4288", "start": "53462" }, "statements": [ @@ -72958,16 +72958,16 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4300", + "id": "4314", "name": "_bentoBox", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4300", + "referencedDeclaration": "4314", "src": { "column": "8", "end": "53512", "length": "9", "line": "1538", - "parentIndex": "4299", + "parentIndex": "4313", "start": "53504" }, "typeDescription": { @@ -72976,13 +72976,13 @@ } } }, - "id": "4299", + "id": "4313", "memberLocation": { "column": "18", "end": "53529", "length": "16", "line": "1538", - "parentIndex": "4299", + "parentIndex": "4313", "start": "53514" }, "memberName": "registerProtocol", @@ -72992,7 +72992,7 @@ "end": "53529", "length": "26", "line": "1538", - "parentIndex": "4298", + "parentIndex": "4312", "start": "53504" }, "typeDescription": { @@ -73001,7 +73001,7 @@ } } }, - "id": "4298", + "id": "4312", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -73009,7 +73009,7 @@ "end": "53531", "length": "28", "line": "1538", - "parentIndex": "4297", + "parentIndex": "4311", "start": "53504" }, "typeDescription": { @@ -73020,7 +73020,7 @@ } ] }, - "id": "4274", + "id": "4288", "implemented": true, "kind": "CONSTRUCTOR", "modifiers": [ @@ -73051,16 +73051,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4292", + "id": "4306", "name": "_bentoBox", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4292", + "referencedDeclaration": "4306", "src": { "column": "21", "end": "53400", "length": "9", "line": "1536", - "parentIndex": "4290", + "parentIndex": "4304", "start": "53392" }, "typeDescription": { @@ -73072,16 +73072,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4293", + "id": "4307", "name": "_stargateRouter", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4293", + "referencedDeclaration": "4307", "src": { "column": "32", "end": "53417", "length": "15", "line": "1536", - "parentIndex": "4290", + "parentIndex": "4304", "start": "53403" }, "typeDescription": { @@ -73093,16 +73093,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4294", + "id": "4308", "name": "_factory", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4294", + "referencedDeclaration": "4308", "src": { "column": "49", "end": "53427", "length": "8", "line": "1536", - "parentIndex": "4290", + "parentIndex": "4304", "start": "53420" }, "typeDescription": { @@ -73114,16 +73114,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4295", + "id": "4309", "name": "_pairCodeHash", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4295", + "referencedDeclaration": "4309", "src": { "column": "59", "end": "53442", "length": "13", "line": "1536", - "parentIndex": "4290", + "parentIndex": "4304", "start": "53430" }, "typeDescription": { @@ -73135,16 +73135,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4296", + "id": "4310", "name": "_stargateWidget", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4296", + "referencedDeclaration": "4310", "src": { "column": "74", "end": "53459", "length": "15", "line": "1536", - "parentIndex": "4290", + "parentIndex": "4304", "start": "53445" }, "typeDescription": { @@ -73154,17 +73154,17 @@ } } ], - "id": "4290", + "id": "4304", "kind": "MODIFIER_INVOCATION", "modifierName": { - "id": "4291", + "id": "4305", "name": "ImmutableState", "src": { "column": "6", "end": "53390", "length": "14", "line": "1536", - "parentIndex": "4290", + "parentIndex": "4304", "start": "53377" } }, @@ -73175,27 +73175,27 @@ "end": "53460", "length": "84", "line": "1536", - "parentIndex": "4274", + "parentIndex": "4288", "start": "53377" } } ], "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4275", + "id": "4289", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4276", + "id": "4290", "name": "_bentoBox", "nodeType": "VARIABLE_DECLARATION", - "scope": "4276", + "scope": "4290", "src": { "column": "8", "end": "53230", "length": "26", "line": "1531", - "parentIndex": "4275", + "parentIndex": "4289", "start": "53205" }, "stateMutability": "MUTABLE", @@ -73205,17 +73205,17 @@ "typeString": "contract IBentoBoxMinimal" }, "typeName": { - "id": "4277", + "id": "4291", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4278", + "id": "4292", "name": "IBentoBoxMinimal", "nameLocation": { "column": "8", "end": "53220", "length": "16", "line": "1531", - "parentIndex": "4277", + "parentIndex": "4291", "start": "53205" }, "nodeType": "IDENTIFIER_PATH", @@ -73225,7 +73225,7 @@ "end": "53220", "length": "16", "line": "1531", - "parentIndex": "4277", + "parentIndex": "4291", "start": "53205" } }, @@ -73235,7 +73235,7 @@ "end": "53220", "length": "16", "line": "1531", - "parentIndex": "4276", + "parentIndex": "4290", "start": "53205" }, "typeDescription": { @@ -73246,16 +73246,16 @@ "visibility": "INTERNAL" }, { - "id": "4279", + "id": "4293", "name": "_stargateRouter", "nodeType": "VARIABLE_DECLARATION", - "scope": "4279", + "scope": "4293", "src": { "column": "8", "end": "53271", "length": "31", "line": "1532", - "parentIndex": "4275", + "parentIndex": "4289", "start": "53241" }, "stateMutability": "MUTABLE", @@ -73265,17 +73265,17 @@ "typeString": "contract IStargateRouter" }, "typeName": { - "id": "4280", + "id": "4294", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4281", + "id": "4295", "name": "IStargateRouter", "nameLocation": { "column": "8", "end": "53255", "length": "15", "line": "1532", - "parentIndex": "4280", + "parentIndex": "4294", "start": "53241" }, "nodeType": "IDENTIFIER_PATH", @@ -73285,7 +73285,7 @@ "end": "53255", "length": "15", "line": "1532", - "parentIndex": "4280", + "parentIndex": "4294", "start": "53241" } }, @@ -73295,7 +73295,7 @@ "end": "53255", "length": "15", "line": "1532", - "parentIndex": "4279", + "parentIndex": "4293", "start": "53241" }, "typeDescription": { @@ -73306,16 +73306,16 @@ "visibility": "INTERNAL" }, { - "id": "4282", + "id": "4296", "name": "_factory", "nodeType": "VARIABLE_DECLARATION", - "scope": "4282", + "scope": "4296", "src": { "column": "8", "end": "53297", "length": "16", "line": "1533", - "parentIndex": "4275", + "parentIndex": "4289", "start": "53282" }, "stateMutability": "NONPAYABLE", @@ -73325,7 +73325,7 @@ "typeString": "address" }, "typeName": { - "id": "4283", + "id": "4297", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73333,7 +73333,7 @@ "end": "53288", "length": "7", "line": "1533", - "parentIndex": "4282", + "parentIndex": "4296", "start": "53282" }, "stateMutability": "NONPAYABLE", @@ -73345,16 +73345,16 @@ "visibility": "INTERNAL" }, { - "id": "4284", + "id": "4298", "name": "_pairCodeHash", "nodeType": "VARIABLE_DECLARATION", - "scope": "4284", + "scope": "4298", "src": { "column": "8", "end": "53328", "length": "21", "line": "1534", - "parentIndex": "4275", + "parentIndex": "4289", "start": "53308" }, "stateMutability": "MUTABLE", @@ -73364,7 +73364,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4285", + "id": "4299", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73372,7 +73372,7 @@ "end": "53314", "length": "7", "line": "1534", - "parentIndex": "4284", + "parentIndex": "4298", "start": "53308" }, "typeDescription": { @@ -73383,16 +73383,16 @@ "visibility": "INTERNAL" }, { - "id": "4286", + "id": "4300", "name": "_stargateWidget", "nodeType": "VARIABLE_DECLARATION", - "scope": "4286", + "scope": "4300", "src": { "column": "8", "end": "53369", "length": "31", "line": "1535", - "parentIndex": "4275", + "parentIndex": "4289", "start": "53339" }, "stateMutability": "MUTABLE", @@ -73402,17 +73402,17 @@ "typeString": "contract IStargateWidget" }, "typeName": { - "id": "4287", + "id": "4301", "nodeType": "USER_DEFINED_PATH_NAME", "pathNode": { - "id": "4288", + "id": "4302", "name": "IStargateWidget", "nameLocation": { "column": "8", "end": "53353", "length": "15", "line": "1535", - "parentIndex": "4287", + "parentIndex": "4301", "start": "53339" }, "nodeType": "IDENTIFIER_PATH", @@ -73422,7 +73422,7 @@ "end": "53353", "length": "15", "line": "1535", - "parentIndex": "4287", + "parentIndex": "4301", "start": "53339" } }, @@ -73432,7 +73432,7 @@ "end": "53353", "length": "15", "line": "1535", - "parentIndex": "4286", + "parentIndex": "4300", "start": "53339" }, "typeDescription": { @@ -73448,29 +73448,29 @@ "end": "53369", "length": "165", "line": "1531", - "parentIndex": "4274", + "parentIndex": "4288", "start": "53205" } }, "returnParameters": { - "id": "4289", + "id": "4303", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "53538", "length": "355", "line": "1530", - "parentIndex": "4274", + "parentIndex": "4288", "start": "53184" } }, - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "53538", "length": "355", "line": "1530", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53184" }, "stateMutability": "NONPAYABLE", @@ -73484,12 +73484,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4302", + "id": "4316", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "30", - "id": "4304", + "id": "4318", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -73498,7 +73498,7 @@ "end": "53697", "length": "1", "line": "1544", - "parentIndex": "4302", + "parentIndex": "4316", "start": "53697" }, "typeDescription": { @@ -73512,13 +73512,13 @@ "isStateVariable": true, "name": "ACTION_MASTER_CONTRACT_APPROVAL", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "53698", "length": "60", "line": "1544", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53639" }, "stateMutability": "MUTABLE", @@ -73528,7 +73528,7 @@ "typeString": "int_const 0" }, "typeName": { - "id": "4303", + "id": "4317", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73536,7 +73536,7 @@ "end": "53643", "length": "5", "line": "1544", - "parentIndex": "4302", + "parentIndex": "4316", "start": "53639" }, "typeDescription": { @@ -73550,12 +73550,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4306", + "id": "4320", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "31", - "id": "4308", + "id": "4322", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -73564,7 +73564,7 @@ "end": "53761", "length": "1", "line": "1545", - "parentIndex": "4306", + "parentIndex": "4320", "start": "53761" }, "typeDescription": { @@ -73578,13 +73578,13 @@ "isStateVariable": true, "name": "ACTION_SRC_DEPOSIT_TO_BENTOBOX", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "53762", "length": "59", "line": "1545", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53704" }, "stateMutability": "MUTABLE", @@ -73594,7 +73594,7 @@ "typeString": "int_const 1" }, "typeName": { - "id": "4307", + "id": "4321", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73602,7 +73602,7 @@ "end": "53708", "length": "5", "line": "1545", - "parentIndex": "4306", + "parentIndex": "4320", "start": "53704" }, "typeDescription": { @@ -73616,12 +73616,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4310", + "id": "4324", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "32", - "id": "4312", + "id": "4326", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -73630,7 +73630,7 @@ "end": "53828", "length": "1", "line": "1546", - "parentIndex": "4310", + "parentIndex": "4324", "start": "53828" }, "typeDescription": { @@ -73644,13 +73644,13 @@ "isStateVariable": true, "name": "ACTION_SRC_TRANSFER_FROM_BENTOBOX", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "53829", "length": "62", "line": "1546", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53768" }, "stateMutability": "MUTABLE", @@ -73660,7 +73660,7 @@ "typeString": "int_const 2" }, "typeName": { - "id": "4311", + "id": "4325", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73668,7 +73668,7 @@ "end": "53772", "length": "5", "line": "1546", - "parentIndex": "4310", + "parentIndex": "4324", "start": "53768" }, "typeDescription": { @@ -73682,12 +73682,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4314", + "id": "4328", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "33", - "id": "4316", + "id": "4330", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -73696,7 +73696,7 @@ "end": "53892", "length": "1", "line": "1547", - "parentIndex": "4314", + "parentIndex": "4328", "start": "53892" }, "typeDescription": { @@ -73710,13 +73710,13 @@ "isStateVariable": true, "name": "ACTION_DST_DEPOSIT_TO_BENTOBOX", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "53893", "length": "59", "line": "1547", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53835" }, "stateMutability": "MUTABLE", @@ -73726,7 +73726,7 @@ "typeString": "int_const 3" }, "typeName": { - "id": "4315", + "id": "4329", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73734,7 +73734,7 @@ "end": "53839", "length": "5", "line": "1547", - "parentIndex": "4314", + "parentIndex": "4328", "start": "53835" }, "typeDescription": { @@ -73748,12 +73748,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4318", + "id": "4332", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "34", - "id": "4320", + "id": "4334", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -73762,7 +73762,7 @@ "end": "53951", "length": "1", "line": "1548", - "parentIndex": "4318", + "parentIndex": "4332", "start": "53951" }, "typeDescription": { @@ -73776,13 +73776,13 @@ "isStateVariable": true, "name": "ACTION_DST_WITHDRAW_TOKEN", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "53952", "length": "54", "line": "1548", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53899" }, "stateMutability": "MUTABLE", @@ -73792,7 +73792,7 @@ "typeString": "int_const 4" }, "typeName": { - "id": "4319", + "id": "4333", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73800,7 +73800,7 @@ "end": "53903", "length": "5", "line": "1548", - "parentIndex": "4318", + "parentIndex": "4332", "start": "53899" }, "typeDescription": { @@ -73814,12 +73814,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4322", + "id": "4336", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "35", - "id": "4324", + "id": "4338", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -73828,7 +73828,7 @@ "end": "54030", "length": "1", "line": "1549", - "parentIndex": "4322", + "parentIndex": "4336", "start": "54030" }, "typeDescription": { @@ -73842,13 +73842,13 @@ "isStateVariable": true, "name": "ACTION_DST_WITHDRAW_OR_TRANSFER_FROM_BENTOBOX", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "54031", "length": "74", "line": "1549", - "parentIndex": "4260", + "parentIndex": "4274", "start": "53958" }, "stateMutability": "MUTABLE", @@ -73858,7 +73858,7 @@ "typeString": "int_const 5" }, "typeName": { - "id": "4323", + "id": "4337", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73866,7 +73866,7 @@ "end": "53962", "length": "5", "line": "1549", - "parentIndex": "4322", + "parentIndex": "4336", "start": "53958" }, "typeDescription": { @@ -73880,12 +73880,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4326", + "id": "4340", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "36", - "id": "4328", + "id": "4342", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -73894,7 +73894,7 @@ "end": "54090", "length": "1", "line": "1550", - "parentIndex": "4326", + "parentIndex": "4340", "start": "54090" }, "typeDescription": { @@ -73908,13 +73908,13 @@ "isStateVariable": true, "name": "ACTION_UNWRAP_AND_TRANSFER", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "54091", "length": "55", "line": "1550", - "parentIndex": "4260", + "parentIndex": "4274", "start": "54037" }, "stateMutability": "MUTABLE", @@ -73924,7 +73924,7 @@ "typeString": "int_const 6" }, "typeName": { - "id": "4327", + "id": "4341", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73932,7 +73932,7 @@ "end": "54041", "length": "5", "line": "1550", - "parentIndex": "4326", + "parentIndex": "4340", "start": "54037" }, "typeDescription": { @@ -73946,12 +73946,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4330", + "id": "4344", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "37", - "id": "4332", + "id": "4346", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -73960,7 +73960,7 @@ "end": "54166", "length": "1", "line": "1553", - "parentIndex": "4330", + "parentIndex": "4344", "start": "54166" }, "typeDescription": { @@ -73974,13 +73974,13 @@ "isStateVariable": true, "name": "ACTION_LEGACY_SWAP", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "54167", "length": "47", "line": "1553", - "parentIndex": "4260", + "parentIndex": "4274", "start": "54121" }, "stateMutability": "MUTABLE", @@ -73990,7 +73990,7 @@ "typeString": "int_const 7" }, "typeName": { - "id": "4331", + "id": "4345", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -73998,7 +73998,7 @@ "end": "54125", "length": "5", "line": "1553", - "parentIndex": "4330", + "parentIndex": "4344", "start": "54121" }, "typeDescription": { @@ -74012,12 +74012,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4334", + "id": "4348", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "38", - "id": "4336", + "id": "4350", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -74026,7 +74026,7 @@ "end": "54219", "length": "1", "line": "1554", - "parentIndex": "4334", + "parentIndex": "4348", "start": "54219" }, "typeDescription": { @@ -74040,13 +74040,13 @@ "isStateVariable": true, "name": "ACTION_TRIDENT_SWAP", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "54220", "length": "48", "line": "1554", - "parentIndex": "4260", + "parentIndex": "4274", "start": "54173" }, "stateMutability": "MUTABLE", @@ -74056,7 +74056,7 @@ "typeString": "int_const 8" }, "typeName": { - "id": "4335", + "id": "4349", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74064,7 +74064,7 @@ "end": "54177", "length": "5", "line": "1554", - "parentIndex": "4334", + "parentIndex": "4348", "start": "54173" }, "typeDescription": { @@ -74078,12 +74078,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4338", + "id": "4352", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "39", - "id": "4340", + "id": "4354", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -74092,7 +74092,7 @@ "end": "54285", "length": "1", "line": "1555", - "parentIndex": "4338", + "parentIndex": "4352", "start": "54285" }, "typeDescription": { @@ -74106,13 +74106,13 @@ "isStateVariable": true, "name": "ACTION_TRIDENT_COMPLEX_PATH_SWAP", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "54286", "length": "61", "line": "1555", - "parentIndex": "4260", + "parentIndex": "4274", "start": "54226" }, "stateMutability": "MUTABLE", @@ -74122,7 +74122,7 @@ "typeString": "int_const 9" }, "typeName": { - "id": "4339", + "id": "4353", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74130,7 +74130,7 @@ "end": "54230", "length": "5", "line": "1555", - "parentIndex": "4338", + "parentIndex": "4352", "start": "54226" }, "typeDescription": { @@ -74144,12 +74144,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4342", + "id": "4356", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3130", - "id": "4344", + "id": "4358", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -74158,7 +74158,7 @@ "end": "54370", "length": "2", "line": "1558", - "parentIndex": "4342", + "parentIndex": "4356", "start": "54369" }, "typeDescription": { @@ -74172,13 +74172,13 @@ "isStateVariable": true, "name": "ACTION_STARGATE_TELEPORT", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "54371", "length": "54", "line": "1558", - "parentIndex": "4260", + "parentIndex": "4274", "start": "54318" }, "stateMutability": "MUTABLE", @@ -74188,7 +74188,7 @@ "typeString": "int_const 10" }, "typeName": { - "id": "4343", + "id": "4357", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74196,7 +74196,7 @@ "end": "54322", "length": "5", "line": "1558", - "parentIndex": "4342", + "parentIndex": "4356", "start": "54318" }, "typeDescription": { @@ -74210,12 +74210,12 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { - "id": "4346", + "id": "4360", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { "hexValue": "3131", - "id": "4348", + "id": "4362", "isPure": true, "kind": "NUMBER", "nodeType": "LITERAL", @@ -74224,7 +74224,7 @@ "end": "54431", "length": "2", "line": "1560", - "parentIndex": "4346", + "parentIndex": "4360", "start": "54430" }, "typeDescription": { @@ -74238,13 +74238,13 @@ "isStateVariable": true, "name": "ACTION_SRC_TOKEN_TRANSFER", "nodeType": "VARIABLE_DECLARATION", - "scope": "4260", + "scope": "4274", "src": { "column": "4", "end": "54432", "length": "55", "line": "1560", - "parentIndex": "4260", + "parentIndex": "4274", "start": "54378" }, "stateMutability": "MUTABLE", @@ -74254,7 +74254,7 @@ "typeString": "int_const 11" }, "typeName": { - "id": "4347", + "id": "4361", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74262,7 +74262,7 @@ "end": "54382", "length": "5", "line": "1560", - "parentIndex": "4346", + "parentIndex": "4360", "start": "54378" }, "typeDescription": { @@ -74277,7 +74277,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Function", "value": { "body": { - "id": "4360", + "id": "4374", "implemented": true, "nodeType": "BLOCK", "src": { @@ -74285,7 +74285,7 @@ "end": "61578", "length": "6515", "line": "1571", - "parentIndex": "4350", + "parentIndex": "4364", "start": "55064" }, "statements": [ @@ -74293,11 +74293,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4362" + "4376" ], "declarations": [ { - "id": "4362", + "id": "4376", "mutability": "MUTABLE", "name": "actionLength", "nameLocation": { @@ -74305,17 +74305,17 @@ "end": "55093", "length": "12", "line": "1572", - "parentIndex": "4362", + "parentIndex": "4376", "start": "55082" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4360", + "scope": "4374", "src": { "column": "8", "end": "55093", "length": "20", "line": "1572", - "parentIndex": "4361", + "parentIndex": "4375", "start": "55074" }, "storageLocation": "DEFAULT", @@ -74324,7 +74324,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4363", + "id": "4377", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74332,7 +74332,7 @@ "end": "55080", "length": "7", "line": "1572", - "parentIndex": "4362", + "parentIndex": "4376", "start": "55074" }, "typeDescription": { @@ -74343,23 +74343,23 @@ "visibility": "INTERNAL" } ], - "id": "4361", + "id": "4375", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.MemberAccess", "value": { "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4365", + "id": "4379", "name": "actions", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4365", + "referencedDeclaration": "4379", "src": { "column": "31", "end": "55103", "length": "7", "line": "1572", - "parentIndex": "4364", + "parentIndex": "4378", "start": "55097" }, "typeDescription": { @@ -74368,13 +74368,13 @@ } } }, - "id": "4364", + "id": "4378", "memberLocation": { "column": "39", "end": "55110", "length": "6", "line": "1572", - "parentIndex": "4364", + "parentIndex": "4378", "start": "55105" }, "memberName": "length", @@ -74384,7 +74384,7 @@ "end": "55110", "length": "14", "line": "1572", - "parentIndex": "4361", + "parentIndex": "4375", "start": "55097" }, "typeDescription": { @@ -74399,7 +74399,7 @@ "end": "55111", "length": "38", "line": "1572", - "parentIndex": "4360", + "parentIndex": "4374", "start": "55074" } } @@ -74408,7 +74408,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.For", "value": { "body": { - "id": "4378", + "id": "4392", "implemented": true, "nodeType": "BLOCK", "src": { @@ -74416,7 +74416,7 @@ "end": "61572", "length": "6399", "line": "1573", - "parentIndex": "4366", + "parentIndex": "4380", "start": "55174" }, "statements": [ @@ -74424,11 +74424,11 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4380" + "4394" ], "declarations": [ { - "id": "4380", + "id": "4394", "mutability": "MUTABLE", "name": "action", "nameLocation": { @@ -74436,17 +74436,17 @@ "end": "55199", "length": "6", "line": "1574", - "parentIndex": "4380", + "parentIndex": "4394", "start": "55194" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4378", + "scope": "4392", "src": { "column": "12", "end": "55199", "length": "12", "line": "1574", - "parentIndex": "4379", + "parentIndex": "4393", "start": "55188" }, "storageLocation": "DEFAULT", @@ -74455,7 +74455,7 @@ "typeString": "uint8" }, "typeName": { - "id": "4381", + "id": "4395", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74463,7 +74463,7 @@ "end": "55192", "length": "5", "line": "1574", - "parentIndex": "4380", + "parentIndex": "4394", "start": "55188" }, "typeDescription": { @@ -74474,23 +74474,23 @@ "visibility": "INTERNAL" } ], - "id": "4379", + "id": "4393", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.IndexAccess", "value": { "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4384", + "id": "4398", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "2886", "src": { "column": "35", "end": "55211", "length": "1", "line": "1574", - "parentIndex": "4382", + "parentIndex": "4396", "start": "55211" }, "typeDescription": { @@ -74499,20 +74499,20 @@ } } }, - "id": "4382", + "id": "4396", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4383", + "id": "4397", "name": "actions", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3817", + "referencedDeclaration": "1777", "src": { "column": "27", "end": "55209", "length": "7", "line": "1574", - "parentIndex": "4382", + "parentIndex": "4396", "start": "55203" }, "typeDescription": { @@ -74527,7 +74527,7 @@ "end": "55212", "length": "10", "line": "1574", - "parentIndex": "4379", + "parentIndex": "4393", "start": "55203" }, "typeDescription": { @@ -74552,7 +74552,7 @@ "end": "55213", "length": "26", "line": "1574", - "parentIndex": "4378", + "parentIndex": "4392", "start": "55188" } } @@ -74561,7 +74561,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.If", "value": { "body": { - "id": "4389", + "id": "4403", "implemented": true, "nodeType": "BLOCK", "src": { @@ -74569,7 +74569,7 @@ "end": "55903", "length": "577", "line": "1576", - "parentIndex": "4366", + "parentIndex": "4380", "start": "55327" }, "statements": [ @@ -74577,15 +74577,15 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4391", - "4393", - "4395", - "4397", - "4399" + "4405", + "4407", + "4409", + "4411", + "4413" ], "declarations": [ { - "id": "4391", + "id": "4405", "mutability": "MUTABLE", "name": "user", "nameLocation": { @@ -74593,17 +74593,17 @@ "end": "55378", "length": "4", "line": "1578", - "parentIndex": "4391", + "parentIndex": "4405", "start": "55375" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4389", + "scope": "4403", "src": { "column": "20", "end": "55378", "length": "12", "line": "1578", - "parentIndex": "4390", + "parentIndex": "4404", "start": "55367" }, "storageLocation": "DEFAULT", @@ -74612,7 +74612,7 @@ "typeString": "address" }, "typeName": { - "id": "4392", + "id": "4406", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74620,7 +74620,7 @@ "end": "55373", "length": "7", "line": "1578", - "parentIndex": "4391", + "parentIndex": "4405", "start": "55367" }, "stateMutability": "NONPAYABLE", @@ -74632,7 +74632,7 @@ "visibility": "INTERNAL" }, { - "id": "4393", + "id": "4407", "mutability": "MUTABLE", "name": "approved", "nameLocation": { @@ -74640,17 +74640,17 @@ "end": "55413", "length": "8", "line": "1579", - "parentIndex": "4393", + "parentIndex": "4407", "start": "55406" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4389", + "scope": "4403", "src": { "column": "20", "end": "55413", "length": "13", "line": "1579", - "parentIndex": "4390", + "parentIndex": "4404", "start": "55401" }, "storageLocation": "DEFAULT", @@ -74659,7 +74659,7 @@ "typeString": "bool" }, "typeName": { - "id": "4394", + "id": "4408", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74667,7 +74667,7 @@ "end": "55404", "length": "4", "line": "1579", - "parentIndex": "4393", + "parentIndex": "4407", "start": "55401" }, "typeDescription": { @@ -74678,7 +74678,7 @@ "visibility": "INTERNAL" }, { - "id": "4395", + "id": "4409", "mutability": "MUTABLE", "name": "v", "nameLocation": { @@ -74686,17 +74686,17 @@ "end": "55442", "length": "1", "line": "1580", - "parentIndex": "4395", + "parentIndex": "4409", "start": "55442" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4389", + "scope": "4403", "src": { "column": "20", "end": "55442", "length": "7", "line": "1580", - "parentIndex": "4390", + "parentIndex": "4404", "start": "55436" }, "storageLocation": "DEFAULT", @@ -74705,7 +74705,7 @@ "typeString": "uint8" }, "typeName": { - "id": "4396", + "id": "4410", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74713,7 +74713,7 @@ "end": "55440", "length": "5", "line": "1580", - "parentIndex": "4395", + "parentIndex": "4409", "start": "55436" }, "typeDescription": { @@ -74724,7 +74724,7 @@ "visibility": "INTERNAL" }, { - "id": "4397", + "id": "4411", "mutability": "MUTABLE", "name": "r", "nameLocation": { @@ -74732,17 +74732,17 @@ "end": "55473", "length": "1", "line": "1581", - "parentIndex": "4397", + "parentIndex": "4411", "start": "55473" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4389", + "scope": "4403", "src": { "column": "20", "end": "55473", "length": "9", "line": "1581", - "parentIndex": "4390", + "parentIndex": "4404", "start": "55465" }, "storageLocation": "DEFAULT", @@ -74751,7 +74751,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4398", + "id": "4412", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74759,7 +74759,7 @@ "end": "55471", "length": "7", "line": "1581", - "parentIndex": "4397", + "parentIndex": "4411", "start": "55465" }, "typeDescription": { @@ -74770,7 +74770,7 @@ "visibility": "INTERNAL" }, { - "id": "4399", + "id": "4413", "mutability": "MUTABLE", "name": "s", "nameLocation": { @@ -74778,17 +74778,17 @@ "end": "55504", "length": "1", "line": "1582", - "parentIndex": "4399", + "parentIndex": "4413", "start": "55504" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4389", + "scope": "4403", "src": { "column": "20", "end": "55504", "length": "9", "line": "1582", - "parentIndex": "4390", + "parentIndex": "4404", "start": "55496" }, "storageLocation": "DEFAULT", @@ -74797,7 +74797,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4400", + "id": "4414", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74805,7 +74805,7 @@ "end": "55502", "length": "7", "line": "1582", - "parentIndex": "4399", + "parentIndex": "4413", "start": "55496" }, "typeDescription": { @@ -74816,7 +74816,7 @@ "visibility": "INTERNAL" } ], - "id": "4390", + "id": "4404", "initialValue": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.FunctionCall", "value": { @@ -74837,16 +74837,16 @@ "baseExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4406", + "id": "4420", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "2886", "src": { "column": "30", "end": "55568", "length": "1", "line": "1584", - "parentIndex": "4404", + "parentIndex": "4418", "start": "55568" }, "typeDescription": { @@ -74855,20 +74855,20 @@ } } }, - "id": "4404", + "id": "4418", "indexExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4405", + "id": "4419", "name": "datas", "nodeType": "IDENTIFIER", - "referencedDeclaration": "3821", + "referencedDeclaration": "1781", "src": { "column": "24", "end": "55566", "length": "5", "line": "1584", - "parentIndex": "4404", + "parentIndex": "4418", "start": "55562" }, "typeDescription": { @@ -74883,7 +74883,7 @@ "end": "55569", "length": "8", "line": "1584", - "parentIndex": "4401", + "parentIndex": "4415", "start": "55562" }, "typeDescription": { @@ -74909,7 +74909,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4408", + "id": "4422", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -74917,7 +74917,7 @@ "end": "55603", "length": "7", "line": "1585", - "parentIndex": "4407", + "parentIndex": "4421", "start": "55597" }, "typeDescription": { @@ -74925,7 +74925,7 @@ "typeString": "address" }, "typeName": { - "id": "4409", + "id": "4423", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74933,7 +74933,7 @@ "end": "55603", "length": "7", "line": "1585", - "parentIndex": "4408", + "parentIndex": "4422", "start": "55597" }, "stateMutability": "NONPAYABLE", @@ -74947,7 +74947,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4410", + "id": "4424", "name": "bool", "nodeType": "IDENTIFIER", "src": { @@ -74955,7 +74955,7 @@ "end": "55609", "length": "4", "line": "1585", - "parentIndex": "4407", + "parentIndex": "4421", "start": "55606" }, "typeDescription": { @@ -74963,7 +74963,7 @@ "typeString": "bool" }, "typeName": { - "id": "4411", + "id": "4425", "name": "bool", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -74971,7 +74971,7 @@ "end": "55609", "length": "4", "line": "1585", - "parentIndex": "4410", + "parentIndex": "4424", "start": "55606" }, "typeDescription": { @@ -74984,7 +74984,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4412", + "id": "4426", "name": "uint8", "nodeType": "IDENTIFIER", "src": { @@ -74992,7 +74992,7 @@ "end": "55616", "length": "5", "line": "1585", - "parentIndex": "4407", + "parentIndex": "4421", "start": "55612" }, "typeDescription": { @@ -75000,7 +75000,7 @@ "typeString": "uint8" }, "typeName": { - "id": "4413", + "id": "4427", "name": "uint8", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75008,7 +75008,7 @@ "end": "55616", "length": "5", "line": "1585", - "parentIndex": "4412", + "parentIndex": "4426", "start": "55612" }, "typeDescription": { @@ -75021,7 +75021,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4414", + "id": "4428", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -75029,7 +75029,7 @@ "end": "55625", "length": "7", "line": "1585", - "parentIndex": "4407", + "parentIndex": "4421", "start": "55619" }, "typeDescription": { @@ -75037,7 +75037,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4415", + "id": "4429", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75045,7 +75045,7 @@ "end": "55625", "length": "7", "line": "1585", - "parentIndex": "4414", + "parentIndex": "4428", "start": "55619" }, "typeDescription": { @@ -75058,7 +75058,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4416", + "id": "4430", "name": "bytes32", "nodeType": "IDENTIFIER", "src": { @@ -75066,7 +75066,7 @@ "end": "55634", "length": "7", "line": "1585", - "parentIndex": "4407", + "parentIndex": "4421", "start": "55628" }, "typeDescription": { @@ -75074,7 +75074,7 @@ "typeString": "bytes32" }, "typeName": { - "id": "4417", + "id": "4431", "name": "bytes32", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75082,7 +75082,7 @@ "end": "55634", "length": "7", "line": "1585", - "parentIndex": "4416", + "parentIndex": "4430", "start": "55628" }, "typeDescription": { @@ -75093,14 +75093,14 @@ } } ], - "id": "4407", + "id": "4421", "nodeType": "TUPLE_EXPRESSION", "src": { "column": "24", "end": "55635", "length": "40", "line": "1585", - "parentIndex": "4401", + "parentIndex": "4415", "start": "55596" }, "typeDescription": { @@ -75116,7 +75116,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4403", + "id": "4417", "name": "abi", "nodeType": "IDENTIFIER", "src": { @@ -75124,7 +75124,7 @@ "end": "55528", "length": "3", "line": "1583", - "parentIndex": "4402", + "parentIndex": "4416", "start": "55526" }, "typeDescription": { @@ -75133,13 +75133,13 @@ } } }, - "id": "4402", + "id": "4416", "memberLocation": { "column": "24", "end": "55535", "length": "6", "line": "1583", - "parentIndex": "4402", + "parentIndex": "4416", "start": "55530" }, "memberName": "decode", @@ -75149,7 +75149,7 @@ "end": "55535", "length": "10", "line": "1583", - "parentIndex": "4401", + "parentIndex": "4415", "start": "55526" }, "typeDescription": { @@ -75158,7 +75158,7 @@ } } }, - "id": "4401", + "id": "4415", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -75166,7 +75166,7 @@ "end": "55657", "length": "132", "line": "1583", - "parentIndex": "4390", + "parentIndex": "4404", "start": "55526" }, "typeDescription": { @@ -75181,7 +75181,7 @@ "end": "55658", "length": "314", "line": "1577", - "parentIndex": "4389", + "parentIndex": "4403", "start": "55345" } } @@ -75219,16 +75219,16 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4421", + "id": "4435", "name": "user", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4390", + "referencedDeclaration": "4404", "src": { "column": "20", "end": "55736", "length": "4", "line": "1589", - "parentIndex": "4418", + "parentIndex": "4432", "start": "55733" }, "typeDescription": { @@ -75242,7 +75242,7 @@ "value": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SushiXSwap_$4195", + "typeIdentifier": "t_contract$_SushiXSwap_$4209", "typeString": "contract SushiXSwap" } ], @@ -75250,7 +75250,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4425", + "id": "4439", "name": "this", "nodeType": "IDENTIFIER", "src": { @@ -75258,11 +75258,11 @@ "end": "55770", "length": "4", "line": "1590", - "parentIndex": "4422", + "parentIndex": "4436", "start": "55767" }, "typeDescription": { - "typeIdentifier": "t_contract$_SushiXSwap_$4195", + "typeIdentifier": "t_contract$_SushiXSwap_$4209", "typeString": "contract SushiXSwap" } } @@ -75277,7 +75277,7 @@ "typeString": "address" } ], - "id": "4423", + "id": "4437", "name": "address", "nodeType": "IDENTIFIER", "src": { @@ -75285,7 +75285,7 @@ "end": "55765", "length": "7", "line": "1590", - "parentIndex": "4422", + "parentIndex": "4436", "start": "55759" }, "typeDescription": { @@ -75293,7 +75293,7 @@ "typeString": "function(address)" }, "typeName": { - "id": "4424", + "id": "4438", "name": "address", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75301,7 +75301,7 @@ "end": "55765", "length": "7", "line": "1590", - "parentIndex": "4423", + "parentIndex": "4437", "start": "55759" }, "stateMutability": "NONPAYABLE", @@ -75312,7 +75312,7 @@ } } }, - "id": "4422", + "id": "4436", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -75320,7 +75320,7 @@ "end": "55771", "length": "13", "line": "1590", - "parentIndex": "4418", + "parentIndex": "4432", "start": "55759" }, "typeDescription": { @@ -75342,16 +75342,16 @@ "typeString": "function(address)" } ], - "id": "4426", + "id": "4440", "name": "approved", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4390", + "referencedDeclaration": "4404", "src": { "column": "20", "end": "55801", "length": "8", "line": "1591", - "parentIndex": "4418", + "parentIndex": "4432", "start": "55794" }, "typeDescription": { @@ -75377,16 +75377,16 @@ "typeString": "bool" } ], - "id": "4427", + "id": "4441", "name": "v", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4390", + "referencedDeclaration": "4404", "src": { "column": "20", "end": "55824", "length": "1", "line": "1592", - "parentIndex": "4418", + "parentIndex": "4432", "start": "55824" }, "typeDescription": { @@ -75416,16 +75416,16 @@ "typeString": "uint8" } ], - "id": "4428", + "id": "4442", "name": "r", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4390", + "referencedDeclaration": "4404", "src": { "column": "20", "end": "55847", "length": "1", "line": "1593", - "parentIndex": "4418", + "parentIndex": "4432", "start": "55847" }, "typeDescription": { @@ -75459,16 +75459,16 @@ "typeString": "bytes32" } ], - "id": "4429", + "id": "4443", "name": "s", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4390", + "referencedDeclaration": "4404", "src": { "column": "20", "end": "55870", "length": "1", "line": "1594", - "parentIndex": "4418", + "parentIndex": "4432", "start": "55870" }, "typeDescription": { @@ -75484,7 +75484,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4420", + "id": "4434", "name": "bentoBox", "nodeType": "IDENTIFIER", "referencedDeclaration": "963", @@ -75493,7 +75493,7 @@ "end": "55684", "length": "8", "line": "1588", - "parentIndex": "4419", + "parentIndex": "4433", "start": "55677" }, "typeDescription": { @@ -75502,13 +75502,13 @@ } } }, - "id": "4419", + "id": "4433", "memberLocation": { "column": "25", "end": "55710", "length": "25", "line": "1588", - "parentIndex": "4419", + "parentIndex": "4433", "start": "55686" }, "memberName": "setMasterContractApproval", @@ -75518,7 +75518,7 @@ "end": "55710", "length": "34", "line": "1588", - "parentIndex": "4418", + "parentIndex": "4432", "start": "55677" }, "typeDescription": { @@ -75527,7 +75527,7 @@ } } }, - "id": "4418", + "id": "4432", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -75535,7 +75535,7 @@ "end": "55888", "length": "212", "line": "1588", - "parentIndex": "4389", + "parentIndex": "4403", "start": "55677" }, "typeDescription": { @@ -75549,20 +75549,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4386", + "id": "4400", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4387", + "id": "4401", "name": "action", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4379", + "referencedDeclaration": "4393", "src": { "column": "16", "end": "55289", "length": "6", "line": "1576", - "parentIndex": "4386", + "parentIndex": "4400", "start": "55284" }, "typeDescription": { @@ -75576,16 +75576,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4388", + "id": "4402", "name": "ACTION_MASTER_CONTRACT_APPROVAL", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4302", + "referencedDeclaration": "4316", "src": { "column": "26", "end": "55324", "length": "31", "line": "1576", - "parentIndex": "4386", + "parentIndex": "4400", "start": "55294" }, "typeDescription": { @@ -75599,7 +75599,7 @@ "end": "55324", "length": "41", "line": "1576", - "parentIndex": "4385", + "parentIndex": "4399", "start": "55284" }, "typeDescription": { @@ -75608,13 +75608,13 @@ } } }, - "id": "4385", + "id": "4399", "nodeType": "IF_STATEMENT", "src": { "end": "61562", "length": "6283", "line": "1576", - "parentIndex": "4378", + "parentIndex": "4392", "start": "55280" } } @@ -75624,20 +75624,20 @@ "closure": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Assignment", "value": { - "id": "4373", + "id": "4387", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4374", + "id": "4388", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "2886", "src": { "column": "42", "end": "55155", "length": "1", "line": "1573", - "parentIndex": "4373", + "parentIndex": "4387", "start": "55155" }, "typeDescription": { @@ -75661,7 +75661,7 @@ { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4377", + "id": "4391", "name": "i", "nodeType": "IDENTIFIER", "src": { @@ -75669,7 +75669,7 @@ "end": "55170", "length": "1", "line": "1573", - "parentIndex": "4375", + "parentIndex": "4389", "start": "55170" }, "typeDescription": { @@ -75682,7 +75682,7 @@ "expression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4376", + "id": "4390", "name": "_increment", "nodeType": "IDENTIFIER", "src": { @@ -75690,7 +75690,7 @@ "end": "55168", "length": "10", "line": "1573", - "parentIndex": "4375", + "parentIndex": "4389", "start": "55159" }, "typeDescription": { @@ -75699,7 +75699,7 @@ } } }, - "id": "4375", + "id": "4389", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "src": { @@ -75707,7 +75707,7 @@ "end": "55171", "length": "13", "line": "1573", - "parentIndex": "4373", + "parentIndex": "4387", "start": "55159" }, "typeDescription": { @@ -75721,7 +75721,7 @@ "end": "55171", "length": "17", "line": "1573", - "parentIndex": "4366", + "parentIndex": "4380", "start": "55155" }, "typeDescription": { @@ -75733,20 +75733,20 @@ "condition": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.BinaryOperation", "value": { - "id": "4370", + "id": "4384", "leftExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4371", + "id": "4385", "name": "i", "nodeType": "IDENTIFIER", - "referencedDeclaration": "2660", + "referencedDeclaration": "2886", "src": { "column": "24", "end": "55137", "length": "1", "line": "1573", - "parentIndex": "4370", + "parentIndex": "4384", "start": "55137" }, "typeDescription": { @@ -75760,16 +75760,16 @@ "rightExpression": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.PrimaryExpression", "value": { - "id": "4372", + "id": "4386", "name": "actionLength", "nodeType": "IDENTIFIER", - "referencedDeclaration": "4361", + "referencedDeclaration": "4375", "src": { "column": "28", "end": "55152", "length": "12", "line": "1573", - "parentIndex": "4370", + "parentIndex": "4384", "start": "55141" }, "typeDescription": { @@ -75783,7 +75783,7 @@ "end": "55152", "length": "16", "line": "1573", - "parentIndex": "4366", + "parentIndex": "4380", "start": "55137" }, "typeDescription": { @@ -75792,16 +75792,16 @@ } } }, - "id": "4366", + "id": "4380", "initialiser": { "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Variable", "value": { "assignments": [ - "4368" + "4382" ], "declarations": [ { - "id": "4368", + "id": "4382", "mutability": "MUTABLE", "name": "i", "nameLocation": { @@ -75809,17 +75809,17 @@ "end": "55134", "length": "1", "line": "1573", - "parentIndex": "4368", + "parentIndex": "4382", "start": "55134" }, "nodeType": "VARIABLE_DECLARATION", - "scope": "4360", + "scope": "4374", "src": { "column": "13", "end": "55134", "length": "9", "line": "1573", - "parentIndex": "4367", + "parentIndex": "4381", "start": "55126" }, "storageLocation": "DEFAULT", @@ -75828,7 +75828,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4369", + "id": "4383", "name": "uint256", "nodeType": "ELEMENTARY_TYPE_NAME", "src": { @@ -75836,7 +75836,7 @@ "end": "55132", "length": "7", "line": "1573", - "parentIndex": "4368", + "parentIndex": "4382", "start": "55126" }, "typeDescription": { @@ -75847,14 +75847,14 @@ "visibility": "INTERNAL" } ], - "id": "4367", + "id": "4381", "nodeType": "VARIABLE_DECLARATION", "src": { "column": "13", "end": "55135", "length": "10", "line": "1573", - "parentIndex": "4360", + "parentIndex": "4374", "start": "55126" } } @@ -75864,14 +75864,14 @@ "end": "61572", "length": "6452", "line": "1573", - "parentIndex": "4360", + "parentIndex": "4374", "start": "55121" } } } ] }, - "id": "4350", + "id": "4364", "implemented": true, "kind": "KIND_FUNCTION", "name": "cook", @@ -75880,20 +75880,20 @@ "end": "54937", "length": "4", "line": "1567", - "parentIndex": "4350", + "parentIndex": "4364", "start": "54934" }, "nodeType": "FUNCTION_DEFINITION", "overrides": [ { - "id": "4358", + "id": "4372", "nodeType": "OVERRIDE_SPECIFIER", "src": { "column": "21", "end": "55062", "length": "8", "line": "1571", - "parentIndex": "4350", + "parentIndex": "4364", "start": "55055" }, "typeDescription": { @@ -75903,20 +75903,20 @@ } ], "parameters": { - "id": "4351", + "id": "4365", "nodeType": "PARAMETER_LIST", "parameters": [ { - "id": "4352", + "id": "4366", "name": "actions", "nodeType": "VARIABLE_DECLARATION", - "scope": "4352", + "scope": "4366", "src": { "column": "8", "end": "54969", "length": "22", "line": "1568", - "parentIndex": "4351", + "parentIndex": "4365", "start": "54948" }, "stateMutability": "MUTABLE", @@ -75926,7 +75926,7 @@ "typeString": "uint8" }, "typeName": { - "id": "4353", + "id": "4367", "name": "uint8", "nodeType": "IDENTIFIER", "src": { @@ -75934,7 +75934,7 @@ "end": "54952", "length": "5", "line": "1568", - "parentIndex": "4352", + "parentIndex": "4366", "start": "54948" }, "typeDescription": { @@ -75945,16 +75945,16 @@ "visibility": "INTERNAL" }, { - "id": "4354", + "id": "4368", "name": "values", "nodeType": "VARIABLE_DECLARATION", - "scope": "4354", + "scope": "4368", "src": { "column": "8", "end": "55002", "length": "23", "line": "1569", - "parentIndex": "4351", + "parentIndex": "4365", "start": "54980" }, "stateMutability": "MUTABLE", @@ -75964,7 +75964,7 @@ "typeString": "uint256" }, "typeName": { - "id": "4355", + "id": "4369", "name": "uint256", "nodeType": "IDENTIFIER", "src": { @@ -75972,7 +75972,7 @@ "end": "54986", "length": "7", "line": "1569", - "parentIndex": "4354", + "parentIndex": "4368", "start": "54980" }, "typeDescription": { @@ -75983,16 +75983,16 @@ "visibility": "INTERNAL" }, { - "id": "4356", + "id": "4370", "name": "datas", "nodeType": "VARIABLE_DECLARATION", - "scope": "4356", + "scope": "4370", "src": { "column": "8", "end": "55032", "length": "20", "line": "1570", - "parentIndex": "4351", + "parentIndex": "4365", "start": "55013" }, "stateMutability": "MUTABLE", @@ -76002,7 +76002,7 @@ "typeString": "bytes" }, "typeName": { - "id": "4357", + "id": "4371", "name": "bytes", "nodeType": "IDENTIFIER", "src": { @@ -76010,7 +76010,7 @@ "end": "55017", "length": "5", "line": "1570", - "parentIndex": "4356", + "parentIndex": "4370", "start": "55013" }, "typeDescription": { @@ -76026,30 +76026,30 @@ "end": "55032", "length": "85", "line": "1568", - "parentIndex": "4350", + "parentIndex": "4364", "start": "54948" } }, "returnParameters": { - "id": "4359", + "id": "4373", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "61578", "length": "6654", "line": "1567", - "parentIndex": "4350", + "parentIndex": "4364", "start": "54925" } }, - "scope": "4260", - "signature": "c69b41d9", + "scope": "4274", + "signature": "5d449bb0", "src": { "column": "4", "end": "61578", "length": "6654", "line": "1567", - "parentIndex": "4260", + "parentIndex": "4274", "start": "54925" }, "stateMutability": "PAYABLE", @@ -76064,7 +76064,7 @@ "typeUrl": "github.com/unpackdev/protos/unpack.v1.ast.Receive", "value": { "body": { - "id": "4434", + "id": "4448", "implemented": true, "nodeType": "BLOCK", "src": { @@ -76072,35 +76072,35 @@ "end": "61674", "length": "2", "line": "1750", - "parentIndex": "4431", + "parentIndex": "4445", "start": "61673" } }, - "id": "4431", + "id": "4445", "implemented": true, "kind": "RECEIVE", "nodeType": "FUNCTION_DEFINITION", "parameters": { - "id": "4432", + "id": "4446", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "61674", "length": "29", "line": "1750", - "parentIndex": "4431", + "parentIndex": "4445", "start": "61646" } }, "returnParameters": { - "id": "4433", + "id": "4447", "nodeType": "PARAMETER_LIST", "src": { "column": "4", "end": "61674", "length": "29", "line": "1750", - "parentIndex": "4431", + "parentIndex": "4445", "start": "61646" } }, @@ -76109,7 +76109,7 @@ "end": "61674", "length": "29", "line": "1750", - "parentIndex": "4260", + "parentIndex": "4274", "start": "61646" }, "stateMutability": "NONPAYABLE", @@ -76121,7 +76121,7 @@ "end": "61676", "length": "8643", "line": "1522", - "parentIndex": "4195", + "parentIndex": "4209", "start": "53034" } } @@ -77850,172 +77850,172 @@ "src": { "line": 641, "start": 22867, - "end": 22897, - "length": 31, + "end": 22901, + "length": 35, "parent_index": 135 }, - "text": "// SPDX-License-Identifier: MIT" + "text": "// SPDX-License-Identifier: GPL-3.0" }, { "id": 135, + "node_type": 33, + "src": { + "line": 656, + "start": 23164, + "end": 23194, + "length": 31, + "parent_index": 136 + }, + "text": "// SPDX-License-Identifier: MIT" + }, + { + "id": 136, "node_type": 31, "src": { - "line": 642, - "start": 22899, - "end": 22964, + "line": 657, + "start": 23196, + "end": 23261, "length": 66, - "parent_index": 136 + "parent_index": 137 }, "text": "// OpenZeppelin Contracts v4.4.1 (token/ERC20/utils/SafeERC20.sol)" }, { - "id": 136, + "id": 137, "node_type": 32, "src": { - "line": 649, - "start": 23040, - "end": 23496, + "line": 664, + "start": 23337, + "end": 23793, "length": 457, - "parent_index": 137 + "parent_index": 138 }, "text": "/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */" }, { - "id": 137, + "id": 138, "node_type": 32, "src": { - "line": 678, + "line": 693, "column": 4, - "start": 24012, - "end": 24260, + "start": 24309, + "end": 24557, "length": 249, - "parent_index": 138 + "parent_index": 139 }, "text": "/**\n * @dev Deprecated. This function has issues similar to the ones found in\n * {IERC20-approve}, and its usage is discouraged.\n *\n * Whenever possible, use {safeIncreaseAllowance} and\n * {safeDecreaseAllowance} instead.\n */" }, { - "id": 138, + "id": 139, "node_type": 31, "src": { - "line": 690, + "line": 705, "column": 8, - "start": 24382, - "end": 24452, + "start": 24679, + "end": 24749, "length": 71, - "parent_index": 139 + "parent_index": 140 }, "text": "// safeApprove should only be called when setting an initial allowance," }, { - "id": 139, + "id": 140, "node_type": 31, "src": { - "line": 691, + "line": 706, "column": 8, - "start": 24462, - "end": 24526, + "start": 24759, + "end": 24823, "length": 65, - "parent_index": 140 + "parent_index": 141 }, "text": "// or when resetting it to zero. To increase and decrease it, use" }, { - "id": 140, + "id": 141, "node_type": 31, "src": { - "line": 692, + "line": 707, "column": 8, - "start": 24536, - "end": 24589, + "start": 24833, + "end": 24886, "length": 54, - "parent_index": 141 + "parent_index": 142 }, "text": "// 'safeIncreaseAllowance' and 'safeDecreaseAllowance'" }, { - "id": 141, + "id": 142, "node_type": 32, "src": { - "line": 722, + "line": 737, "column": 4, - "start": 25683, - "end": 26054, + "start": 25980, + "end": 26351, "length": 372, - "parent_index": 142 + "parent_index": 143 }, "text": "/**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n */" }, { - "id": 142, + "id": 143, "node_type": 31, "src": { - "line": 729, + "line": 744, "column": 8, - "start": 26140, - "end": 26247, + "start": 26437, + "end": 26544, "length": 108, - "parent_index": 143 + "parent_index": 144 }, "text": "// We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since" }, { - "id": 143, + "id": 144, "node_type": 31, "src": { - "line": 730, + "line": 745, "column": 8, - "start": 26257, - "end": 26363, + "start": 26554, + "end": 26660, "length": 107, - "parent_index": 144 + "parent_index": 145 }, "text": "// we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that" }, { - "id": 144, + "id": 145, "node_type": 31, "src": { - "line": 731, + "line": 746, "column": 8, - "start": 26373, - "end": 26468, + "start": 26670, + "end": 26765, "length": 96, - "parent_index": 145 + "parent_index": 146 }, "text": "// the target address contains contract code and also asserts for success in the low-level call." }, { - "id": 145, + "id": 146, "node_type": 31, "src": { - "line": 735, + "line": 750, "column": 12, - "start": 26625, - "end": 26650, + "start": 26922, + "end": 26947, "length": 26, - "parent_index": 146 - }, - "text": "// Return data is optional" - }, - { - "id": 146, - "node_type": 33, - "src": { - "line": 742, - "start": 26771, - "end": 26814, - "length": 44, "parent_index": 147 }, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" + "text": "// Return data is optional" }, { "id": 147, "node_type": 33, "src": { - "line": 754, - "start": 27021, - "end": 27064, + "line": 757, + "start": 27068, + "end": 27111, "length": 44, "parent_index": 148 }, @@ -78025,786 +78025,792 @@ "id": 148, "node_type": 31, "src": { - "line": 761, - "start": 27141, - "end": 27163, - "length": 23, + "line": 768, + "start": 27324, + "end": 27349, + "length": 26, "parent_index": 149 }, - "text": "/// @title TokenAdapter" + "text": "/// @title StargateAdapter" }, { "id": 149, "node_type": 31, "src": { - "line": 762, - "start": 27165, - "end": 27208, - "length": 44, + "line": 769, + "start": 27351, + "end": 27406, + "length": 56, "parent_index": 150 }, - "text": "/// @notice Adapter for all token operations" + "text": "/// @notice Adapter for function used by Stargate Bridge" }, { "id": 150, "node_type": 31, "src": { - "line": 766, + "line": 773, "column": 4, - "start": 27280, - "end": 27337, - "length": 58, + "start": 27518, + "end": 27532, + "length": 15, "parent_index": 151 }, - "text": "/// @notice Function to transfer tokens from address(this)" + "text": "// Custom Error" }, { "id": 151, "node_type": 31, "src": { - "line": 767, + "line": 776, "column": 4, - "start": 27343, - "end": 27376, - "length": 34, + "start": 27570, + "end": 27578, + "length": 9, "parent_index": 152 }, - "text": "/// @param token token to transfer" + "text": "// events" }, { "id": 152, "node_type": 31, "src": { - "line": 768, - "column": 4, - "start": 27382, - "end": 27403, - "length": 22, + "line": 781, + "column": 27, + "start": 27779, + "end": 27802, + "length": 24, "parent_index": 153 }, - "text": "/// @param to receiver" + "text": "// stargate dst chain id" }, { "id": 153, "node_type": 31, "src": { - "line": 769, - "column": 4, - "start": 27409, - "end": 27444, - "length": 36, + "line": 782, + "column": 23, + "start": 27827, + "end": 27850, + "length": 24, "parent_index": 154 }, - "text": "/// @param amount amount to transfer" + "text": "// token getting bridged" }, { "id": 154, "node_type": 31, "src": { - "line": 782, - "column": 4, - "start": 27726, - "end": 27792, - "length": 67, + "line": 783, + "column": 27, + "start": 27879, + "end": 27901, + "length": 23, "parent_index": 155 }, - "text": "/// @notice Function to transfer tokens from user to the to address" + "text": "// stargate src pool id" }, { "id": 155, "node_type": 31, "src": { - "line": 783, - "column": 4, - "start": 27798, - "end": 27831, - "length": 34, + "line": 784, + "column": 27, + "start": 27930, + "end": 27952, + "length": 23, "parent_index": 156 }, - "text": "/// @param token token to transfer" + "text": "// stargate dst pool id" }, { "id": 156, "node_type": 31, "src": { - "line": 784, - "column": 4, - "start": 27837, - "end": 27858, - "length": 22, + "line": 785, + "column": 24, + "start": 27978, + "end": 27996, + "length": 19, "parent_index": 157 }, - "text": "/// @param to receiver" + "text": "// amount to bridge" }, { "id": 157, "node_type": 31, "src": { - "line": 785, - "column": 4, - "start": 27864, - "end": 27899, - "length": 36, + "line": 786, + "column": 27, + "start": 28025, + "end": 28051, + "length": 27, "parent_index": 158 }, - "text": "/// @param amount amount to transfer" + "text": "// amount to bridge minimum" }, { "id": 158, "node_type": 31, "src": { - "line": 794, - "column": 4, - "start": 28083, - "end": 28162, - "length": 80, + "line": 787, + "column": 28, + "start": 28081, + "end": 28123, + "length": 43, "parent_index": 159 }, - "text": "/// @notice Unwraps the wrapper native into native and sends it to the receiver." + "text": "// native token to be received on dst chain" }, { "id": 159, "node_type": 31, "src": { - "line": 795, - "column": 4, - "start": 28168, - "end": 28201, - "length": 34, + "line": 788, + "column": 26, + "start": 28151, + "end": 28176, + "length": 26, "parent_index": 160 }, - "text": "/// @param token token to transfer" + "text": "// sushiXswap on dst chain" }, { "id": 160, "node_type": 31, "src": { - "line": 796, - "column": 4, - "start": 28207, - "end": 28228, - "length": 22, + "line": 789, + "column": 20, + "start": 28198, + "end": 28264, + "length": 67, "parent_index": 161 }, - "text": "/// @param to receiver" + "text": "// receiver bridge token incase of transaction reverts on dst chain" }, { "id": 161, - "node_type": 33, + "node_type": 31, "src": { - "line": 803, - "start": 28449, - "end": 28483, - "length": 35, + "line": 790, + "column": 21, + "start": 28287, + "end": 28334, + "length": 48, "parent_index": 162 }, - "text": "// SPDX-License-Identifier: GPL-3.0" + "text": "// extra gas to be sent for dst chain operations" }, { "id": 162, - "node_type": 33, + "node_type": 31, "src": { - "line": 858, - "start": 30911, - "end": 30945, + "line": 791, + "column": 28, + "start": 28364, + "end": 28398, "length": 35, "parent_index": 163 }, - "text": "// SPDX-License-Identifier: GPL-3.0" + "text": "// random bytes32 as source context" }, { "id": 163, "node_type": 31, "src": { - "line": 862, - "start": 30975, - "end": 31078, - "length": 104, + "line": 794, + "column": 4, + "start": 28411, + "end": 28459, + "length": 49, "parent_index": 164 }, - "text": "// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)" + "text": "/// @notice Approves token to the Stargate Router" }, { "id": 164, - "node_type": 33, + "node_type": 31, "src": { - "line": 878, - "start": 31547, - "end": 31581, - "length": 35, + "line": 795, + "column": 4, + "start": 28465, + "end": 28497, + "length": 33, "parent_index": 165 }, - "text": "// SPDX-License-Identifier: GPL-3.0" + "text": "/// @param token token to approve" }, { "id": 165, "node_type": 31, "src": { - "line": 889, + "line": 800, "column": 4, - "start": 31739, - "end": 31833, - "length": 95, + "start": 28643, + "end": 28706, + "length": 64, "parent_index": 166 }, - "text": "// returns sorted token addresses, used to handle return values from pairs sorted in this order" + "text": "/// @notice Bridges the token to dst chain using Stargate Router" }, { "id": 166, "node_type": 31, "src": { - "line": 902, + "line": 801, "column": 4, - "start": 32242, - "end": 32319, - "length": 78, + "start": 28712, + "end": 28801, + "length": 90, "parent_index": 167 }, - "text": "// calculates the CREATE2 address for a pair without making any external calls" + "text": "/// @dev It is hardcoded to use all the contract balance. Only call this as the last step." }, { "id": 167, "node_type": 31, "src": { - "line": 918, - "column": 41, - "start": 32892, - "end": 32908, - "length": 17, + "line": 802, + "column": 4, + "start": 28807, + "end": 28863, + "length": 57, "parent_index": 168 }, - "text": "// init code hash" + "text": "/// The refund address for extra fees sent it msg.sender." }, { "id": 168, "node_type": 31, "src": { - "line": 926, + "line": 803, "column": 4, - "start": 33012, - "end": 33055, - "length": 44, + "start": 28869, + "end": 28958, + "length": 90, "parent_index": 169 }, - "text": "// fetches and sorts the reserves for a pair" + "text": "/// @param params required by the Stargate, can be found at StargateTeleportParams struct." }, { "id": 169, "node_type": 31, "src": { - "line": 942, + "line": 804, "column": 4, - "start": 33588, - "end": 33686, - "length": 99, + "start": 28964, + "end": 29056, + "length": 93, "parent_index": 170 }, - "text": "// given some amount of an asset and pair reserves, returns an equivalent amount of the other asset" + "text": "/// @param actions An array with a sequence of actions to execute (see ACTION_ declarations)." }, { "id": 170, "node_type": 31, "src": { - "line": 956, + "line": 805, "column": 4, - "start": 34091, - "end": 34198, - "length": 108, + "start": 29062, + "end": 29160, + "length": 99, "parent_index": 171 }, - "text": "// given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset" + "text": "/// @param values A one-to-one mapped array to `actions`. Native token amount to send along action." }, { "id": 171, "node_type": 31, "src": { - "line": 973, + "line": 806, "column": 4, - "start": 34805, - "end": 34911, - "length": 107, + "start": 29166, + "end": 29270, + "length": 105, "parent_index": 172 }, - "text": "// given an output amount of an asset and pair reserves, returns a required input amount of the other asset" + "text": "/// @param datas A one-to-one mapped array to `actions`. Contains abi encoded data of function arguments." }, { "id": 172, "node_type": 31, "src": { - "line": 989, - "column": 4, - "start": 35471, - "end": 35538, - "length": 68, + "line": 819, + "column": 33, + "start": 29742, + "end": 29758, + "length": 17, "parent_index": 173 }, - "text": "// performs chained getAmountOut calculations on any number of pairs" + "text": "// refund address" }, { "id": 173, "node_type": 31, "src": { - "line": 1010, - "column": 4, - "start": 36223, - "end": 36289, - "length": 67, + "line": 825, + "column": 28, + "start": 29983, + "end": 30023, + "length": 41, "parent_index": 174 }, - "text": "// performs chained getAmountIn calculations on any number of pairs" + "text": "// extra gas to be sent for dst execution" }, { "id": 174, - "node_type": 33, + "node_type": 31, "src": { - "line": 1032, - "start": 36993, - "end": 37036, - "length": 44, + "line": 829, + "column": 47, + "start": 30172, + "end": 30201, + "length": 30, "parent_index": 175 }, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" + "text": "// sushiXswap on the dst chain" }, { "id": 175, "node_type": 31, "src": { - "line": 1040, - "start": 37155, - "end": 37183, - "length": 29, + "line": 838, + "column": 4, + "start": 30346, + "end": 30409, + "length": 64, "parent_index": 176 }, - "text": "/// @title SushiLegacyAdapter" + "text": "/// @notice Get the fees to be paid in native token for the swap" }, { "id": 176, "node_type": 31, "src": { - "line": 1041, - "start": 37185, - "end": 37258, - "length": 74, + "line": 839, + "column": 4, + "start": 30415, + "end": 30457, + "length": 43, "parent_index": 177 }, - "text": "/// @notice Adapter for functions used to swap using Sushiswap Legacy AMM." + "text": "/// @param _dstChainId stargate dst chainId" }, { "id": 177, "node_type": 31, "src": { - "line": 1062, - "column": 8, - "start": 37860, - "end": 37923, - "length": 64, + "line": 840, + "column": 4, + "start": 30463, + "end": 30521, + "length": 59, "parent_index": 178 }, - "text": "/// @dev force sends token to the first pair if not already sent" + "text": "/// @param _functionType stargate Function type 1 for swap." }, { "id": 178, "node_type": 31, "src": { - "line": 1077, + "line": 841, "column": 4, - "start": 38301, - "end": 38380, - "length": 80, + "start": 30527, + "end": 30612, + "length": 86, "parent_index": 179 }, - "text": "/// @dev requires the initial amount to have already been sent to the first pair" + "text": "/// See more at https://stargateprotocol.gitbook.io/stargate/developers/function-types" }, { "id": 179, - "node_type": 33, + "node_type": 31, "src": { - "line": 1105, - "start": 39356, - "end": 39399, - "length": 44, + "line": 842, + "column": 4, + "start": 30618, + "end": 30665, + "length": 48, "parent_index": 180 }, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" + "text": "/// @param _receiver sushiXswap on the dst chain" }, { "id": 180, "node_type": 31, "src": { - "line": 1113, - "start": 39506, - "end": 39547, - "length": 42, + "line": 843, + "column": 4, + "start": 30671, + "end": 30706, + "length": 36, "parent_index": 181 }, - "text": "/// @notice Trident pool router interface." + "text": "/// @param _gas extra gas being sent" }, { "id": 181, "node_type": 31, "src": { - "line": 1152, - "column": 34, - "start": 40308, - "end": 40348, - "length": 41, + "line": 844, + "column": 4, + "start": 30712, + "end": 30777, + "length": 66, "parent_index": 182 }, - "text": "// Multiplied by 10^6. 100% = 100_000_000" + "text": "/// @param _dustAmount dust amount to be received at the dst chain" }, { "id": 182, - "node_type": 33, + "node_type": 31, "src": { - "line": 1170, - "start": 40641, - "end": 40684, - "length": 44, + "line": 845, + "column": 4, + "start": 30783, + "end": 30837, + "length": 55, "parent_index": 183 }, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" + "text": "/// @param _payload payload being sent at the dst chain" }, { "id": 183, - "node_type": 33, + "node_type": 31, "src": { - "line": 1181, - "start": 40867, - "end": 40910, - "length": 44, + "line": 867, + "column": 4, + "start": 31424, + "end": 31465, + "length": 42, "parent_index": 184 }, - "text": "// SPDX-License-Identifier: GPL-3.0-or-later" + "text": "/// @notice Receiver function on dst chain" }, { "id": 184, "node_type": 31, "src": { - "line": 1187, - "start": 40975, - "end": 41003, - "length": 29, + "line": 868, + "column": 4, + "start": 31471, + "end": 31509, + "length": 39, "parent_index": 185 }, - "text": "/// @title TridentSwapAdapter" + "text": "/// @param _token bridge token received" }, { "id": 185, "node_type": 31, "src": { - "line": 1188, - "start": 41005, - "end": 41051, - "length": 47, + "line": 869, + "column": 4, + "start": 31515, + "end": 31549, + "length": 35, "parent_index": 186 }, - "text": "/// @notice Adapter for all Trident based Swaps" + "text": "/// @param amountLD amount received" }, { "id": 186, "node_type": 31, "src": { - "line": 1196, + "line": 870, "column": 4, - "start": 41175, - "end": 41189, - "length": 15, + "start": 31555, + "end": 31613, + "length": 59, "parent_index": 187 }, - "text": "// Custom Error" + "text": "/// @param payload ABI-Encoded data received from src chain" }, { "id": 187, "node_type": 31, "src": { - "line": 1199, - "column": 4, - "start": 41227, - "end": 41306, - "length": 80, + "line": 889, + "column": 8, + "start": 32142, + "end": 32162, + "length": 21, "parent_index": 188 }, - "text": "/// @notice Swaps token A to token B directly. Swaps are done on `bento` tokens." + "text": "// 100000 -\u003e exit gas" }, { "id": 188, "node_type": 31, "src": { - "line": 1200, - "column": 4, - "start": 41312, - "end": 41399, - "length": 88, + "line": 892, + "column": 8, + "start": 32237, + "end": 32309, + "length": 73, "parent_index": 189 }, - "text": "/// @param params This includes the address of token A, pool, amount of token A to swap," + "text": "/// @dev incase the actions fail, transfer bridge token to the to address" }, { "id": 189, "node_type": 31, "src": { - "line": 1201, - "column": 4, - "start": 41405, - "end": 41492, - "length": 88, + "line": 904, + "column": 8, + "start": 32609, + "end": 32677, + "length": 69, "parent_index": 190 }, - "text": "/// minimum amount of token B after the swap and data required by the pool for the swap." + "text": "/// @dev transfer any native token received as dust to the to address" }, { "id": 190, - "node_type": 31, + "node_type": 33, "src": { - "line": 1202, - "column": 4, - "start": 41498, - "end": 41601, - "length": 104, + "line": 913, + "start": 32842, + "end": 32876, + "length": 35, "parent_index": 191 }, - "text": "/// @dev Ensure that the pool is trusted before calling this function. The pool can steal users' tokens." + "text": "// SPDX-License-Identifier: GPL-3.0" }, { "id": 191, - "node_type": 31, + "node_type": 33, "src": { - "line": 1216, - "column": 12, - "start": 42027, - "end": 42057, - "length": 31, + "line": 968, + "start": 35304, + "end": 35338, + "length": 35, "parent_index": 192 }, - "text": "// Pay the first pool directly." + "text": "// SPDX-License-Identifier: GPL-3.0" }, { "id": 192, "node_type": 31, "src": { - "line": 1226, - "column": 8, - "start": 42297, - "end": 42327, - "length": 31, + "line": 972, + "start": 35368, + "end": 35471, + "length": 104, "parent_index": 193 }, - "text": "// Call every pool in the path." + "text": "// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)" }, { "id": 193, - "node_type": 31, + "node_type": 33, "src": { - "line": 1227, - "column": 8, - "start": 42337, - "end": 42405, - "length": 69, + "line": 988, + "start": 35940, + "end": 35974, + "length": 35, "parent_index": 194 }, - "text": "// Pool `N` should transfer its output tokens to pool `N+1` directly." + "text": "// SPDX-License-Identifier: GPL-3.0" }, { "id": 194, "node_type": 31, "src": { - "line": 1228, - "column": 8, - "start": 42415, - "end": 42477, - "length": 63, + "line": 999, + "column": 4, + "start": 36132, + "end": 36226, + "length": 95, "parent_index": 195 }, - "text": "// The last pool should transfer its output tokens to the user." + "text": "// returns sorted token addresses, used to handle return values from pairs sorted in this order" }, { "id": 195, "node_type": 31, "src": { - "line": 1229, - "column": 8, - "start": 42487, - "end": 42574, - "length": 88, + "line": 1012, + "column": 4, + "start": 36635, + "end": 36712, + "length": 78, "parent_index": 196 }, - "text": "// If the user wants to unwrap `wETH`, the final destination should be this contract and" + "text": "// calculates the CREATE2 address for a pair without making any external calls" }, { "id": 196, "node_type": 31, "src": { - "line": 1230, - "column": 8, - "start": 42584, - "end": 42630, - "length": 47, + "line": 1028, + "column": 41, + "start": 37285, + "end": 37301, + "length": 17, "parent_index": 197 }, - "text": "// a batch call should be made to `unwrapWETH`." + "text": "// init code hash" }, { "id": 197, "node_type": 31, "src": { - "line": 1235, - "column": 8, - "start": 42824, - "end": 42905, - "length": 82, + "line": 1036, + "column": 4, + "start": 37405, + "end": 37448, + "length": 44, "parent_index": 198 }, - "text": "// Ensure that the slippage wasn't too much. This assumes that the pool is honest." + "text": "// fetches and sorts the reserves for a pair" }, { "id": 198, "node_type": 31, "src": { - "line": 1239, + "line": 1052, "column": 4, - "start": 42995, - "end": 43107, - "length": 113, + "start": 37981, + "end": 38079, + "length": 99, "parent_index": 199 }, - "text": "/// @notice Swaps multiple input tokens to multiple output tokens using multiple paths, in different percentages." + "text": "// given some amount of an asset and pair reserves, returns an equivalent amount of the other asset" }, { "id": 199, "node_type": 31, "src": { - "line": 1240, + "line": 1066, "column": 4, - "start": 43113, - "end": 43185, - "length": 73, + "start": 38484, + "end": 38591, + "length": 108, "parent_index": 200 }, - "text": "/// For example, you can swap 50 DAI + 100 USDC into 60% ETH and 40% BTC." + "text": "// given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset" }, { "id": 200, "node_type": 31, "src": { - "line": 1241, + "line": 1083, "column": 4, - "start": 43191, - "end": 43253, - "length": 63, + "start": 39198, + "end": 39304, + "length": 107, "parent_index": 201 }, - "text": "/// @param params This includes everything needed for the swap." + "text": "// given an output amount of an asset and pair reserves, returns a required input amount of the other asset" }, { "id": 201, "node_type": 31, "src": { - "line": 1242, + "line": 1099, "column": 4, - "start": 43259, - "end": 43318, - "length": 60, + "start": 39864, + "end": 39931, + "length": 68, "parent_index": 202 }, - "text": "/// Look at the `ComplexPathParams` struct for more details." + "text": "// performs chained getAmountOut calculations on any number of pairs" }, { "id": 202, "node_type": 31, "src": { - "line": 1243, + "line": 1120, "column": 4, - "start": 43324, - "end": 43426, - "length": 103, + "start": 40616, + "end": 40682, + "length": 67, "parent_index": 203 }, - "text": "/// @dev This function is not optimized for single swaps and should only be used in complex cases where" + "text": "// performs chained getAmountIn calculations on any number of pairs" }, { "id": 203, - "node_type": 31, + "node_type": 33, "src": { - "line": 1244, - "column": 4, - "start": 43432, - "end": 43536, - "length": 105, + "line": 1142, + "start": 41386, + "end": 41429, + "length": 44, "parent_index": 204 }, - "text": "/// the amounts are large enough that minimizing slippage by using multiple paths is worth the extra gas." + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 204, "node_type": 31, "src": { - "line": 1246, - "column": 8, - "start": 43616, - "end": 43688, - "length": 73, + "line": 1150, + "start": 41548, + "end": 41576, + "length": 29, "parent_index": 205 }, - "text": "// Deposit all initial tokens to respective pools and initiate the swaps." + "text": "/// @title SushiLegacyAdapter" }, { "id": 205, "node_type": 31, "src": { - "line": 1247, - "column": 8, - "start": 43698, - "end": 43765, - "length": 68, + "line": 1151, + "start": 41578, + "end": 41651, + "length": 74, "parent_index": 206 }, - "text": "// Input tokens come from the user - output goes to following pools." + "text": "/// @notice Adapter for functions used to swap using Sushiswap Legacy AMM." }, { "id": 206, "node_type": 31, "src": { - "line": 1258, + "line": 1172, "column": 8, - "start": 44181, - "end": 44240, - "length": 60, + "start": 42253, + "end": 42316, + "length": 64, "parent_index": 207 }, - "text": "// Do all the middle swaps. Input comes from previous pools." + "text": "/// @dev force sends token to the first pair if not already sent" }, { "id": 207, "node_type": 31, "src": { - "line": 1277, - "column": 8, - "start": 44962, - "end": 45031, - "length": 70, + "line": 1187, + "column": 4, + "start": 42694, + "end": 42773, + "length": 80, "parent_index": 208 }, - "text": "// Ensure enough was received and transfer the ouput to the recipient." + "text": "/// @dev requires the initial amount to have already been sent to the first pair" }, { "id": 208, "node_type": 33, "src": { - "line": 1312, - "start": 46041, - "end": 46075, - "length": 35, + "line": 1215, + "start": 43749, + "end": 43792, + "length": 44, "parent_index": 209 }, - "text": "// SPDX-License-Identifier: GPL-3.0" + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 209, "node_type": 33, "src": { - "line": 1327, - "start": 46338, - "end": 46381, + "line": 1227, + "start": 43999, + "end": 44042, "length": 44, "parent_index": 210 }, @@ -78814,545 +78820,539 @@ "id": 210, "node_type": 31, "src": { - "line": 1338, - "start": 46594, - "end": 46619, - "length": 26, + "line": 1234, + "start": 44119, + "end": 44141, + "length": 23, "parent_index": 211 }, - "text": "/// @title StargateAdapter" + "text": "/// @title TokenAdapter" }, { "id": 211, "node_type": 31, "src": { - "line": 1339, - "start": 46621, - "end": 46676, - "length": 56, + "line": 1235, + "start": 44143, + "end": 44186, + "length": 44, "parent_index": 212 }, - "text": "/// @notice Adapter for function used by Stargate Bridge" + "text": "/// @notice Adapter for all token operations" }, { "id": 212, "node_type": 31, "src": { - "line": 1343, + "line": 1239, "column": 4, - "start": 46788, - "end": 46802, - "length": 15, + "start": 44258, + "end": 44315, + "length": 58, "parent_index": 213 }, - "text": "// Custom Error" + "text": "/// @notice Function to transfer tokens from address(this)" }, { "id": 213, "node_type": 31, "src": { - "line": 1346, + "line": 1240, "column": 4, - "start": 46840, - "end": 46848, - "length": 9, + "start": 44321, + "end": 44354, + "length": 34, "parent_index": 214 }, - "text": "// events" + "text": "/// @param token token to transfer" }, { "id": 214, "node_type": 31, "src": { - "line": 1351, - "column": 27, - "start": 47049, - "end": 47072, - "length": 24, + "line": 1241, + "column": 4, + "start": 44360, + "end": 44381, + "length": 22, "parent_index": 215 }, - "text": "// stargate dst chain id" + "text": "/// @param to receiver" }, { "id": 215, "node_type": 31, "src": { - "line": 1352, - "column": 23, - "start": 47097, - "end": 47120, - "length": 24, + "line": 1242, + "column": 4, + "start": 44387, + "end": 44422, + "length": 36, "parent_index": 216 }, - "text": "// token getting bridged" + "text": "/// @param amount amount to transfer" }, { "id": 216, "node_type": 31, "src": { - "line": 1353, - "column": 27, - "start": 47149, - "end": 47171, - "length": 23, + "line": 1255, + "column": 4, + "start": 44704, + "end": 44770, + "length": 67, "parent_index": 217 }, - "text": "// stargate src pool id" + "text": "/// @notice Function to transfer tokens from user to the to address" }, { "id": 217, "node_type": 31, "src": { - "line": 1354, - "column": 27, - "start": 47200, - "end": 47222, - "length": 23, + "line": 1256, + "column": 4, + "start": 44776, + "end": 44809, + "length": 34, "parent_index": 218 }, - "text": "// stargate dst pool id" + "text": "/// @param token token to transfer" }, { "id": 218, "node_type": 31, "src": { - "line": 1355, - "column": 24, - "start": 47248, - "end": 47266, - "length": 19, + "line": 1257, + "column": 4, + "start": 44815, + "end": 44836, + "length": 22, "parent_index": 219 }, - "text": "// amount to bridge" + "text": "/// @param to receiver" }, { "id": 219, "node_type": 31, "src": { - "line": 1356, - "column": 27, - "start": 47295, - "end": 47321, - "length": 27, + "line": 1258, + "column": 4, + "start": 44842, + "end": 44877, + "length": 36, "parent_index": 220 }, - "text": "// amount to bridge minimum" + "text": "/// @param amount amount to transfer" }, { "id": 220, "node_type": 31, "src": { - "line": 1357, - "column": 28, - "start": 47351, - "end": 47393, - "length": 43, + "line": 1267, + "column": 4, + "start": 45061, + "end": 45140, + "length": 80, "parent_index": 221 }, - "text": "// native token to be received on dst chain" + "text": "/// @notice Unwraps the wrapper native into native and sends it to the receiver." }, { "id": 221, "node_type": 31, "src": { - "line": 1358, - "column": 26, - "start": 47421, - "end": 47446, - "length": 26, + "line": 1268, + "column": 4, + "start": 45146, + "end": 45179, + "length": 34, "parent_index": 222 }, - "text": "// sushiXswap on dst chain" + "text": "/// @param token token to transfer" }, { "id": 222, "node_type": 31, "src": { - "line": 1359, - "column": 20, - "start": 47468, - "end": 47534, - "length": 67, + "line": 1269, + "column": 4, + "start": 45185, + "end": 45206, + "length": 22, "parent_index": 223 }, - "text": "// receiver bridge token incase of transaction reverts on dst chain" + "text": "/// @param to receiver" }, { "id": 223, - "node_type": 31, + "node_type": 33, "src": { - "line": 1360, - "column": 21, - "start": 47557, - "end": 47604, - "length": 48, + "line": 1276, + "start": 45427, + "end": 45470, + "length": 44, "parent_index": 224 }, - "text": "// extra gas to be sent for dst chain operations" + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 224, "node_type": 31, "src": { - "line": 1361, - "column": 28, - "start": 47634, - "end": 47668, - "length": 35, + "line": 1284, + "start": 45577, + "end": 45618, + "length": 42, "parent_index": 225 }, - "text": "// random bytes32 as source context" + "text": "/// @notice Trident pool router interface." }, { "id": 225, "node_type": 31, "src": { - "line": 1364, - "column": 4, - "start": 47681, - "end": 47729, - "length": 49, + "line": 1323, + "column": 34, + "start": 46379, + "end": 46419, + "length": 41, "parent_index": 226 }, - "text": "/// @notice Approves token to the Stargate Router" + "text": "// Multiplied by 10^6. 100% = 100_000_000" }, { "id": 226, - "node_type": 31, + "node_type": 33, "src": { - "line": 1365, - "column": 4, - "start": 47735, - "end": 47767, - "length": 33, + "line": 1341, + "start": 46712, + "end": 46755, + "length": 44, "parent_index": 227 }, - "text": "/// @param token token to approve" + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 227, - "node_type": 31, + "node_type": 33, "src": { - "line": 1370, - "column": 4, - "start": 47913, - "end": 47976, - "length": 64, + "line": 1352, + "start": 46938, + "end": 46981, + "length": 44, "parent_index": 228 }, - "text": "/// @notice Bridges the token to dst chain using Stargate Router" + "text": "// SPDX-License-Identifier: GPL-3.0-or-later" }, { "id": 228, "node_type": 31, "src": { - "line": 1371, - "column": 4, - "start": 47982, - "end": 48071, - "length": 90, + "line": 1358, + "start": 47046, + "end": 47074, + "length": 29, "parent_index": 229 }, - "text": "/// @dev It is hardcoded to use all the contract balance. Only call this as the last step." + "text": "/// @title TridentSwapAdapter" }, { "id": 229, "node_type": 31, "src": { - "line": 1372, - "column": 4, - "start": 48077, - "end": 48133, - "length": 57, + "line": 1359, + "start": 47076, + "end": 47122, + "length": 47, "parent_index": 230 }, - "text": "/// The refund address for extra fees sent it msg.sender." + "text": "/// @notice Adapter for all Trident based Swaps" }, { "id": 230, "node_type": 31, "src": { - "line": 1373, + "line": 1367, "column": 4, - "start": 48139, - "end": 48228, - "length": 90, + "start": 47246, + "end": 47260, + "length": 15, "parent_index": 231 }, - "text": "/// @param params required by the Stargate, can be found at StargateTeleportParams struct." + "text": "// Custom Error" }, { "id": 231, "node_type": 31, "src": { - "line": 1374, + "line": 1370, "column": 4, - "start": 48234, - "end": 48326, - "length": 93, + "start": 47298, + "end": 47377, + "length": 80, "parent_index": 232 }, - "text": "/// @param actions An array with a sequence of actions to execute (see ACTION_ declarations)." + "text": "/// @notice Swaps token A to token B directly. Swaps are done on `bento` tokens." }, { "id": 232, "node_type": 31, "src": { - "line": 1375, + "line": 1371, "column": 4, - "start": 48332, - "end": 48430, - "length": 99, + "start": 47383, + "end": 47470, + "length": 88, "parent_index": 233 }, - "text": "/// @param values A one-to-one mapped array to `actions`. Native token amount to send along action." + "text": "/// @param params This includes the address of token A, pool, amount of token A to swap," }, { "id": 233, "node_type": 31, "src": { - "line": 1376, + "line": 1372, "column": 4, - "start": 48436, - "end": 48540, - "length": 105, + "start": 47476, + "end": 47563, + "length": 88, "parent_index": 234 }, - "text": "/// @param datas A one-to-one mapped array to `actions`. Contains abi encoded data of function arguments." + "text": "/// minimum amount of token B after the swap and data required by the pool for the swap." }, { "id": 234, "node_type": 31, "src": { - "line": 1389, - "column": 33, - "start": 49012, - "end": 49028, - "length": 17, + "line": 1373, + "column": 4, + "start": 47569, + "end": 47672, + "length": 104, "parent_index": 235 }, - "text": "// refund address" + "text": "/// @dev Ensure that the pool is trusted before calling this function. The pool can steal users' tokens." }, { "id": 235, "node_type": 31, "src": { - "line": 1395, - "column": 28, - "start": 49253, - "end": 49293, - "length": 41, + "line": 1387, + "column": 12, + "start": 48098, + "end": 48128, + "length": 31, "parent_index": 236 }, - "text": "// extra gas to be sent for dst execution" + "text": "// Pay the first pool directly." }, { "id": 236, "node_type": 31, "src": { - "line": 1399, - "column": 47, - "start": 49442, - "end": 49471, - "length": 30, + "line": 1397, + "column": 8, + "start": 48368, + "end": 48398, + "length": 31, "parent_index": 237 }, - "text": "// sushiXswap on the dst chain" + "text": "// Call every pool in the path." }, { "id": 237, "node_type": 31, "src": { - "line": 1408, - "column": 4, - "start": 49616, - "end": 49679, - "length": 64, + "line": 1398, + "column": 8, + "start": 48408, + "end": 48476, + "length": 69, "parent_index": 238 }, - "text": "/// @notice Get the fees to be paid in native token for the swap" + "text": "// Pool `N` should transfer its output tokens to pool `N+1` directly." }, { "id": 238, "node_type": 31, "src": { - "line": 1409, - "column": 4, - "start": 49685, - "end": 49727, - "length": 43, + "line": 1399, + "column": 8, + "start": 48486, + "end": 48548, + "length": 63, "parent_index": 239 }, - "text": "/// @param _dstChainId stargate dst chainId" + "text": "// The last pool should transfer its output tokens to the user." }, { "id": 239, "node_type": 31, "src": { - "line": 1410, - "column": 4, - "start": 49733, - "end": 49791, - "length": 59, + "line": 1400, + "column": 8, + "start": 48558, + "end": 48645, + "length": 88, "parent_index": 240 }, - "text": "/// @param _functionType stargate Function type 1 for swap." + "text": "// If the user wants to unwrap `wETH`, the final destination should be this contract and" }, { "id": 240, "node_type": 31, "src": { - "line": 1411, - "column": 4, - "start": 49797, - "end": 49882, - "length": 86, + "line": 1401, + "column": 8, + "start": 48655, + "end": 48701, + "length": 47, "parent_index": 241 }, - "text": "/// See more at https://stargateprotocol.gitbook.io/stargate/developers/function-types" + "text": "// a batch call should be made to `unwrapWETH`." }, { "id": 241, "node_type": 31, "src": { - "line": 1412, - "column": 4, - "start": 49888, - "end": 49935, - "length": 48, + "line": 1406, + "column": 8, + "start": 48895, + "end": 48976, + "length": 82, "parent_index": 242 }, - "text": "/// @param _receiver sushiXswap on the dst chain" + "text": "// Ensure that the slippage wasn't too much. This assumes that the pool is honest." }, { "id": 242, "node_type": 31, "src": { - "line": 1413, + "line": 1410, "column": 4, - "start": 49941, - "end": 49976, - "length": 36, + "start": 49066, + "end": 49178, + "length": 113, "parent_index": 243 }, - "text": "/// @param _gas extra gas being sent" + "text": "/// @notice Swaps multiple input tokens to multiple output tokens using multiple paths, in different percentages." }, { "id": 243, "node_type": 31, "src": { - "line": 1414, + "line": 1411, "column": 4, - "start": 49982, - "end": 50047, - "length": 66, + "start": 49184, + "end": 49256, + "length": 73, "parent_index": 244 }, - "text": "/// @param _dustAmount dust amount to be received at the dst chain" + "text": "/// For example, you can swap 50 DAI + 100 USDC into 60% ETH and 40% BTC." }, { "id": 244, "node_type": 31, "src": { - "line": 1415, + "line": 1412, "column": 4, - "start": 50053, - "end": 50107, - "length": 55, + "start": 49262, + "end": 49324, + "length": 63, "parent_index": 245 }, - "text": "/// @param _payload payload being sent at the dst chain" + "text": "/// @param params This includes everything needed for the swap." }, { "id": 245, "node_type": 31, "src": { - "line": 1437, + "line": 1413, "column": 4, - "start": 50694, - "end": 50735, - "length": 42, + "start": 49330, + "end": 49389, + "length": 60, "parent_index": 246 }, - "text": "/// @notice Receiver function on dst chain" + "text": "/// Look at the `ComplexPathParams` struct for more details." }, { "id": 246, "node_type": 31, "src": { - "line": 1438, + "line": 1414, "column": 4, - "start": 50741, - "end": 50779, - "length": 39, + "start": 49395, + "end": 49497, + "length": 103, "parent_index": 247 }, - "text": "/// @param _token bridge token received" + "text": "/// @dev This function is not optimized for single swaps and should only be used in complex cases where" }, { "id": 247, "node_type": 31, "src": { - "line": 1439, + "line": 1415, "column": 4, - "start": 50785, - "end": 50819, - "length": 35, + "start": 49503, + "end": 49607, + "length": 105, "parent_index": 248 }, - "text": "/// @param amountLD amount received" + "text": "/// the amounts are large enough that minimizing slippage by using multiple paths is worth the extra gas." }, { "id": 248, "node_type": 31, "src": { - "line": 1440, - "column": 4, - "start": 50825, - "end": 50883, - "length": 59, + "line": 1417, + "column": 8, + "start": 49687, + "end": 49759, + "length": 73, "parent_index": 249 }, - "text": "/// @param payload ABI-Encoded data received from src chain" + "text": "// Deposit all initial tokens to respective pools and initiate the swaps." }, { "id": 249, "node_type": 31, "src": { - "line": 1459, + "line": 1418, "column": 8, - "start": 51412, - "end": 51432, - "length": 21, + "start": 49769, + "end": 49836, + "length": 68, "parent_index": 250 }, - "text": "// 100000 -\u003e exit gas" + "text": "// Input tokens come from the user - output goes to following pools." }, { "id": 250, "node_type": 31, "src": { - "line": 1462, + "line": 1429, "column": 8, - "start": 51507, - "end": 51579, - "length": 73, + "start": 50252, + "end": 50311, + "length": 60, "parent_index": 251 }, - "text": "/// @dev incase the actions fail, transfer bridge token to the to address" + "text": "// Do all the middle swaps. Input comes from previous pools." }, { "id": 251, "node_type": 31, "src": { - "line": 1474, + "line": 1448, "column": 8, - "start": 51879, - "end": 51947, - "length": 69, + "start": 51033, + "end": 51102, + "length": 70, "parent_index": 252 }, - "text": "/// @dev transfer any native token received as dust to the to address" + "text": "// Ensure enough was received and transfer the ouput to the recipient." }, { "id": 252, diff --git a/data/tests/contracts/sushixswap/TokenAdapter.solgo.ast.json b/data/tests/contracts/sushixswap/TokenAdapter.solgo.ast.json index c5775594..3714384c 100644 --- a/data/tests/contracts/sushixswap/TokenAdapter.solgo.ast.json +++ b/data/tests/contracts/sushixswap/TokenAdapter.solgo.ast.json @@ -1,20 +1,20 @@ { - "id": 1684, + "id": 3335, "base_contracts": [], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 1684, + "id": 3335, "name": "TokenAdapter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TokenAdapter.sol" }, { - "id": 1608, + "id": 3253, "name": "SafeERC20", "absolute_path": "SafeERC20.sol" }, { - "id": 1608, + "id": 3253, "name": "IWETH", "absolute_path": "IWETH.sol" } @@ -24,15 +24,15 @@ "node_type": 1, "nodes": [ { - "id": 1696, + "id": 3353, "node_type": 10, "src": { - "line": 756, + "line": 1229, "column": 0, - "start": 27067, - "end": 27089, + "start": 44045, + "end": 44067, "length": 23, - "parent_index": 1684 + "parent_index": 3335 }, "literals": [ "pragma", @@ -47,113 +47,113 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 1705, + "id": 3373, "node_type": 29, "src": { - "line": 758, + "line": 1231, "column": 0, - "start": 27092, - "end": 27116, + "start": 44070, + "end": 44094, "length": 25, - "parent_index": 1684 + "parent_index": 3335 }, "absolute_path": "SafeERC20.sol", "file": "./SafeERC20.sol", - "scope": 1684, + "scope": 3335, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 1608 + "source_unit": 3253 }, { - "id": 1706, + "id": 3374, "node_type": 29, "src": { - "line": 759, + "line": 1232, "column": 0, - "start": 27118, - "end": 27138, + "start": 44096, + "end": 44116, "length": 21, - "parent_index": 1684 + "parent_index": 3335 }, "absolute_path": "IWETH.sol", "file": "./IWETH.sol", - "scope": 1684, + "scope": 3335, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 1608 + "source_unit": 3253 }, { - "id": 1707, + "id": 3375, "name": "TokenAdapter", "node_type": 35, "src": { - "line": 763, + "line": 1236, "column": 0, - "start": 27210, - "end": 28446, + "start": 44188, + "end": 45424, "length": 1237, - "parent_index": 1684 + "parent_index": 3335 }, "name_location": { - "line": 763, + "line": 1236, "column": 18, - "start": 27228, - "end": 27239, + "start": 44206, + "end": 44217, "length": 12, - "parent_index": 1707 + "parent_index": 3375 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 1709, + "id": 3377, "node_type": 51, "src": { - "line": 764, + "line": 1237, "column": 0, - "start": 27247, - "end": 27273, + "start": 44225, + "end": 44251, "length": 27, - "parent_index": 1707 + "parent_index": 3375 }, "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" }, "type_name": { - "id": 1711, + "id": 3379, "node_type": 69, "src": { - "line": 764, + "line": 1237, "column": 24, - "start": 27267, - "end": 27272, + "start": 44245, + "end": 44250, "length": 6, - "parent_index": 1709 + "parent_index": 3377 }, "path_node": { - "id": 1712, + "id": 3380, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 764, + "line": 1237, "column": 24, - "start": 27267, - "end": 27272, + "start": 44245, + "end": 44250, "length": 6, - "parent_index": 1711 + "parent_index": 3379 }, "name_location": { - "line": 764, + "line": 1237, "column": 24, - "start": 27267, - "end": 27272, + "start": 44245, + "end": 44250, "length": 6, - "parent_index": 1711 + "parent_index": 3379 } }, "referenced_declaration": 1089, @@ -163,91 +163,91 @@ } }, "library_name": { - "id": 1710, + "id": 3378, "node_type": 52, "src": { - "line": 764, + "line": 1237, "column": 0, - "start": 27253, - "end": 27261, + "start": 44231, + "end": 44239, "length": 9, - "parent_index": 1709 + "parent_index": 3377 }, "name": "SafeERC20", - "referenced_declaration": 1373 + "referenced_declaration": 1442 } }, { - "id": 1714, + "id": 3382, "name": "_transferTokens", "node_type": 42, "kind": 41, "src": { - "line": 770, + "line": 1243, "column": 4, - "start": 27450, - "end": 27719, + "start": 44428, + "end": 44697, "length": 270, - "parent_index": 1707 + "parent_index": 3375 }, "name_location": { - "line": 770, + "line": 1243, "column": 13, - "start": 27459, - "end": 27473, + "start": 44437, + "end": 44451, "length": 15, - "parent_index": 1714 + "parent_index": 3382 }, "body": { - "id": 1724, + "id": 3392, "node_type": 46, "kind": 0, "src": { - "line": 774, + "line": 1247, "column": 15, - "start": 27556, - "end": 27719, + "start": 44534, + "end": 44697, "length": 164, - "parent_index": 1714 + "parent_index": 3382 }, "implemented": true, "statements": [ { - "id": 1725, + "id": 3393, "node_type": 48, "src": { - "line": 775, + "line": 1248, "column": 0, - "start": 27566, - "end": 27713, + "start": 44544, + "end": 44691, "length": 148, - "parent_index": 1724 + "parent_index": 3392 }, "condition": { - "id": 1726, + "id": 3394, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 775, + "line": 1248, "column": 12, - "start": 27570, - "end": 27597, + "start": 44548, + "end": 44575, "length": 28, - "parent_index": 1725 + "parent_index": 3393 }, "operator": 12, "left_expression": { - "id": 1727, + "id": 3395, "node_type": 24, "kind": 24, "src": { - "line": 775, + "line": 1248, "column": 12, - "start": 27570, - "end": 27583, + "start": 44548, + "end": 44561, "length": 14, - "parent_index": 1726 + "parent_index": 3394 }, "argument_types": [ { @@ -257,15 +257,15 @@ ], "arguments": [ { - "id": 1730, + "id": 3398, "node_type": 16, "src": { - "line": 775, + "line": 1248, "column": 20, - "start": 27578, - "end": 27582, + "start": 44556, + "end": 44560, "length": 5, - "parent_index": 1727 + "parent_index": 3395 }, "name": "token", "type_description": { @@ -273,32 +273,33 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1730, - "is_pure": false + "referenced_declaration": 3398, + "is_pure": false, + "text": "token" } ], "expression": { - "id": 1728, + "id": 3396, "node_type": 16, "src": { - "line": 775, + "line": 1248, "column": 12, - "start": 27570, - "end": 27576, + "start": 44548, + "end": 44554, "length": 7, - "parent_index": 1727 + "parent_index": 3395 }, "name": "address", "type_name": { - "id": 1729, + "id": 3397, "node_type": 30, "src": { - "line": 775, + "line": 1248, "column": 12, - "start": 27570, - "end": 27576, + "start": 44548, + "end": 44554, "length": 7, - "parent_index": 1728 + "parent_index": 3396 }, "name": "address", "state_mutability": 4, @@ -320,7 +321,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -328,16 +330,16 @@ } }, "right_expression": { - "id": 1731, + "id": 3399, "node_type": 24, "kind": 24, "src": { - "line": 775, + "line": 1248, "column": 30, - "start": 27588, - "end": 27597, + "start": 44566, + "end": 44575, "length": 10, - "parent_index": 1726 + "parent_index": 3394 }, "argument_types": [ { @@ -347,18 +349,18 @@ ], "arguments": [ { - "id": 1734, + "id": 3402, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 775, + "line": 1248, "column": 38, - "start": 27596, - "end": 27596, + "start": 44574, + "end": 44574, "length": 1, - "parent_index": 1731 + "parent_index": 3399 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -366,31 +368,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 1732, + "id": 3400, "node_type": 16, "src": { - "line": 775, + "line": 1248, "column": 30, - "start": 27588, - "end": 27594, + "start": 44566, + "end": 44572, "length": 7, - "parent_index": 1731 + "parent_index": 3399 }, "name": "address", "type_name": { - "id": 1733, + "id": 3401, "node_type": 30, "src": { - "line": 775, + "line": 1248, "column": 30, - "start": 27588, - "end": 27594, + "start": 44566, + "end": 44572, "length": 7, - "parent_index": 1732 + "parent_index": 3400 }, "name": "address", "state_mutability": 4, @@ -412,7 +415,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -425,30 +429,30 @@ } }, "body": { - "id": 1735, + "id": 3403, "node_type": 46, "kind": 0, "src": { - "line": 775, + "line": 1248, "column": 42, - "start": 27600, - "end": 27654, + "start": 44578, + "end": 44632, "length": 55, - "parent_index": 1714 + "parent_index": 3382 }, "implemented": true, "statements": [ { - "id": 1736, + "id": 3404, "node_type": 24, "kind": 24, "src": { - "line": 776, + "line": 1249, "column": 12, - "start": 27614, - "end": 27643, + "start": 44592, + "end": 44621, "length": 30, - "parent_index": 1735 + "parent_index": 3403 }, "argument_types": [ { @@ -462,15 +466,15 @@ ], "arguments": [ { - "id": 1739, + "id": 3407, "node_type": 16, "src": { - "line": 776, + "line": 1249, "column": 31, - "start": 27633, - "end": 27634, + "start": 44611, + "end": 44612, "length": 2, - "parent_index": 1736 + "parent_index": 3404 }, "name": "to", "type_description": { @@ -478,19 +482,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1739, - "is_pure": false + "referenced_declaration": 3407, + "is_pure": false, + "text": "to" }, { - "id": 1740, + "id": 3408, "node_type": 16, "src": { - "line": 776, + "line": 1249, "column": 35, - "start": 27637, - "end": 27642, + "start": 44615, + "end": 44620, "length": 6, - "parent_index": 1736 + "parent_index": 3404 }, "name": "amount", "type_description": { @@ -498,49 +503,50 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1740, + "referenced_declaration": 3408, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { - "id": 1737, + "id": 3405, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 776, + "line": 1249, "column": 12, - "start": 27614, - "end": 27631, + "start": 44592, + "end": 44609, "length": 18, - "parent_index": 1736 + "parent_index": 3404 }, "member_location": { - "line": 776, + "line": 1249, "column": 18, - "start": 27620, - "end": 27631, + "start": 44598, + "end": 44609, "length": 12, - "parent_index": 1737 + "parent_index": 3405 }, "expression": { - "id": 1738, + "id": 3406, "node_type": 16, "src": { - "line": 776, + "line": 1249, "column": 12, - "start": 27614, - "end": 27618, + "start": 44592, + "end": 44596, "length": 5, - "parent_index": 1737 + "parent_index": 3405 }, "name": "token", "type_description": { @@ -548,15 +554,17 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1738, - "is_pure": false + "referenced_declaration": 3406, + "is_pure": false, + "text": "token" }, "member_name": "safeTransfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.safeTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", @@ -575,61 +583,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1715, + "id": 3383, "node_type": 43, "src": { - "line": 771, + "line": 1244, "column": 8, - "start": 27484, - "end": 27539, + "start": 44462, + "end": 44517, "length": 56, - "parent_index": 1714 + "parent_index": 3382 }, "parameters": [ { - "id": 1716, + "id": 3384, "node_type": 44, "src": { - "line": 771, + "line": 1244, "column": 8, - "start": 27484, - "end": 27495, + "start": 44462, + "end": 44473, "length": 12, - "parent_index": 1715 + "parent_index": 3383 }, - "scope": 1714, + "scope": 3382, "name": "token", "type_name": { - "id": 1717, + "id": 3385, "node_type": 69, "src": { - "line": 771, + "line": 1244, "column": 8, - "start": 27484, - "end": 27489, + "start": 44462, + "end": 44467, "length": 6, - "parent_index": 1716 + "parent_index": 3384 }, "path_node": { - "id": 1718, + "id": 3386, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 771, + "line": 1244, "column": 8, - "start": 27484, - "end": 27489, + "start": 44462, + "end": 44467, "length": 6, - "parent_index": 1717 + "parent_index": 3385 }, "name_location": { - "line": 771, + "line": 1244, "column": 8, - "start": 27484, - "end": 27489, + "start": 44462, + "end": 44467, "length": 6, - "parent_index": 1717 + "parent_index": 3385 } }, "referenced_declaration": 1089, @@ -647,28 +655,28 @@ } }, { - "id": 1719, + "id": 3387, "node_type": 44, "src": { - "line": 772, + "line": 1245, "column": 8, - "start": 27506, - "end": 27515, + "start": 44484, + "end": 44493, "length": 10, - "parent_index": 1715 + "parent_index": 3383 }, - "scope": 1714, + "scope": 3382, "name": "to", "type_name": { - "id": 1720, + "id": 3388, "node_type": 30, "src": { - "line": 772, + "line": 1245, "column": 8, - "start": 27506, - "end": 27512, + "start": 44484, + "end": 44490, "length": 7, - "parent_index": 1719 + "parent_index": 3387 }, "name": "address", "state_mutability": 4, @@ -687,28 +695,28 @@ } }, { - "id": 1721, + "id": 3389, "node_type": 44, "src": { - "line": 773, + "line": 1246, "column": 8, - "start": 27526, - "end": 27539, + "start": 44504, + "end": 44517, "length": 14, - "parent_index": 1715 + "parent_index": 3383 }, - "scope": 1714, + "scope": 3382, "name": "amount", "type_name": { - "id": 1722, + "id": 3390, "node_type": 30, "src": { - "line": 773, + "line": 1246, "column": 8, - "start": 27526, - "end": 27532, + "start": 44504, + "end": 44510, "length": 7, - "parent_index": 1721 + "parent_index": 3389 }, "name": "uint256", "referenced_declaration": 0, @@ -742,73 +750,74 @@ ] }, "return_parameters": { - "id": 1723, + "id": 3391, "node_type": 43, "src": { - "line": 770, + "line": 1243, "column": 4, - "start": 27450, - "end": 27719, + "start": 44428, + "end": 44697, "length": 270, - "parent_index": 1714 + "parent_index": 3382 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_transferTokens(, address, uint256)", - "signature": "b5a83ee7", - "scope": 1707, + "signature_raw": "_transferTokens(,address,uint256)", + "signature": "f55b9955", + "scope": 3375, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "function_transferTokens(IERC20token,addressto,uint256amount)internal{if(address(token)!=address(0)){token.safeTransfer(to,amount);}else{payable(to).transfer(amount);}}" }, { - "id": 1742, + "id": 3410, "name": "_transferFromToken", "node_type": 42, "kind": 41, "src": { - "line": 786, + "line": 1259, "column": 4, - "start": 27905, - "end": 28076, + "start": 44883, + "end": 45054, "length": 172, - "parent_index": 1707 + "parent_index": 3375 }, "name_location": { - "line": 786, + "line": 1259, "column": 13, - "start": 27914, - "end": 27931, + "start": 44892, + "end": 44909, "length": 18, - "parent_index": 1742 + "parent_index": 3410 }, "body": { - "id": 1752, + "id": 3420, "node_type": 46, "kind": 0, "src": { - "line": 790, + "line": 1263, "column": 15, - "start": 28014, - "end": 28076, + "start": 44992, + "end": 45054, "length": 63, - "parent_index": 1742 + "parent_index": 3410 }, "implemented": true, "statements": [ { - "id": 1753, + "id": 3421, "node_type": 24, "kind": 24, "src": { - "line": 791, + "line": 1264, "column": 8, - "start": 28024, - "end": 28069, + "start": 45002, + "end": 45047, "length": 46, - "parent_index": 1752 + "parent_index": 3420 }, "argument_types": [ { @@ -826,38 +835,38 @@ ], "arguments": [ { - "id": 1756, + "id": 3424, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 791, + "line": 1264, "column": 31, - "start": 28047, - "end": 28056, + "start": 45025, + "end": 45034, "length": 10, - "parent_index": 1753 + "parent_index": 3421 }, "member_location": { - "line": 791, + "line": 1264, "column": 35, - "start": 28051, - "end": 28056, + "start": 45029, + "end": 45034, "length": 6, - "parent_index": 1756 + "parent_index": 3424 }, "expression": { - "id": 1757, + "id": 3425, "node_type": 16, "src": { - "line": 791, + "line": 1264, "column": 31, - "start": 28047, - "end": 28049, + "start": 45025, + "end": 45027, "length": 3, - "parent_index": 1756 + "parent_index": 3424 }, "name": "msg", "type_description": { @@ -866,25 +875,27 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { - "id": 1758, + "id": 3426, "node_type": 16, "src": { - "line": 791, + "line": 1264, "column": 43, - "start": 28059, - "end": 28060, + "start": 45037, + "end": 45038, "length": 2, - "parent_index": 1753 + "parent_index": 3421 }, "name": "to", "type_description": { @@ -892,25 +903,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1758, + "referenced_declaration": 3426, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { - "id": 1759, + "id": 3427, "node_type": 16, "src": { - "line": 791, + "line": 1264, "column": 47, - "start": 28063, - "end": 28068, + "start": 45041, + "end": 45046, "length": 6, - "parent_index": 1753 + "parent_index": 3421 }, "name": "amount", "type_description": { @@ -918,7 +930,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 1759, + "referenced_declaration": 3427, "is_pure": false, "argument_types": [ { @@ -929,42 +941,43 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { - "id": 1754, + "id": 3422, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 791, + "line": 1264, "column": 8, - "start": 28024, - "end": 28045, + "start": 45002, + "end": 45023, "length": 22, - "parent_index": 1753 + "parent_index": 3421 }, "member_location": { - "line": 791, + "line": 1264, "column": 14, - "start": 28030, - "end": 28045, + "start": 45008, + "end": 45023, "length": 16, - "parent_index": 1754 + "parent_index": 3422 }, "expression": { - "id": 1755, + "id": 3423, "node_type": 16, "src": { - "line": 791, + "line": 1264, "column": 8, - "start": 28024, - "end": 28028, + "start": 45002, + "end": 45006, "length": 5, - "parent_index": 1754 + "parent_index": 3422 }, "name": "token", "type_description": { @@ -972,15 +985,17 @@ "type_string": "contract IERC20" }, "overloaded_declarations": [], - "referenced_declaration": 1755, - "is_pure": false + "referenced_declaration": 3423, + "is_pure": false, + "text": "token" }, "member_name": "safeTransferFrom", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IERC20_$1089", "type_string": "contract IERC20" - } + }, + "text": "token.safeTransferFrom" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -996,61 +1011,61 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1743, + "id": 3411, "node_type": 43, "src": { - "line": 787, + "line": 1260, "column": 8, - "start": 27942, - "end": 27997, + "start": 44920, + "end": 44975, "length": 56, - "parent_index": 1742 + "parent_index": 3410 }, "parameters": [ { - "id": 1744, + "id": 3412, "node_type": 44, "src": { - "line": 787, + "line": 1260, "column": 8, - "start": 27942, - "end": 27953, + "start": 44920, + "end": 44931, "length": 12, - "parent_index": 1743 + "parent_index": 3411 }, - "scope": 1742, + "scope": 3410, "name": "token", "type_name": { - "id": 1745, + "id": 3413, "node_type": 69, "src": { - "line": 787, + "line": 1260, "column": 8, - "start": 27942, - "end": 27947, + "start": 44920, + "end": 44925, "length": 6, - "parent_index": 1744 + "parent_index": 3412 }, "path_node": { - "id": 1746, + "id": 3414, "name": "IERC20", "node_type": 52, "referenced_declaration": 1089, "src": { - "line": 787, + "line": 1260, "column": 8, - "start": 27942, - "end": 27947, + "start": 44920, + "end": 44925, "length": 6, - "parent_index": 1745 + "parent_index": 3413 }, "name_location": { - "line": 787, + "line": 1260, "column": 8, - "start": 27942, - "end": 27947, + "start": 44920, + "end": 44925, "length": 6, - "parent_index": 1745 + "parent_index": 3413 } }, "referenced_declaration": 1089, @@ -1068,28 +1083,28 @@ } }, { - "id": 1747, + "id": 3415, "node_type": 44, "src": { - "line": 788, + "line": 1261, "column": 8, - "start": 27964, - "end": 27973, + "start": 44942, + "end": 44951, "length": 10, - "parent_index": 1743 + "parent_index": 3411 }, - "scope": 1742, + "scope": 3410, "name": "to", "type_name": { - "id": 1748, + "id": 3416, "node_type": 30, "src": { - "line": 788, + "line": 1261, "column": 8, - "start": 27964, - "end": 27970, + "start": 44942, + "end": 44948, "length": 7, - "parent_index": 1747 + "parent_index": 3415 }, "name": "address", "state_mutability": 4, @@ -1108,28 +1123,28 @@ } }, { - "id": 1749, + "id": 3417, "node_type": 44, "src": { - "line": 789, + "line": 1262, "column": 8, - "start": 27984, - "end": 27997, + "start": 44962, + "end": 44975, "length": 14, - "parent_index": 1743 + "parent_index": 3411 }, - "scope": 1742, + "scope": 3410, "name": "amount", "type_name": { - "id": 1750, + "id": 3418, "node_type": 30, "src": { - "line": 789, + "line": 1262, "column": 8, - "start": 27984, - "end": 27990, + "start": 44962, + "end": 44968, "length": 7, - "parent_index": 1749 + "parent_index": 3417 }, "name": "uint256", "referenced_declaration": 0, @@ -1163,73 +1178,74 @@ ] }, "return_parameters": { - "id": 1751, + "id": 3419, "node_type": 43, "src": { - "line": 786, + "line": 1259, "column": 4, - "start": 27905, - "end": 28076, + "start": 44883, + "end": 45054, "length": 172, - "parent_index": 1742 + "parent_index": 3410 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_transferFromToken(, address, uint256)", - "signature": "6ec27143", - "scope": 1707, + "signature_raw": "_transferFromToken(,address,uint256)", + "signature": "80f9ebdc", + "scope": 3375, "type_description": { "type_identifier": "t_function_$_t_contract$_IERC20_$1089$_t_address$_t_uint256$", "type_string": "function(contract IERC20,address,uint256)" - } + }, + "text": "function_transferFromToken(IERC20token,addressto,uint256amount)internal{token.safeTransferFrom(msg.sender,to,amount);}" }, { - "id": 1761, + "id": 3429, "name": "_unwrapTransfer", "node_type": 42, "kind": 41, "src": { - "line": 797, + "line": 1270, "column": 4, - "start": 28234, - "end": 28444, + "start": 45212, + "end": 45422, "length": 211, - "parent_index": 1707 + "parent_index": 3375 }, "name_location": { - "line": 797, + "line": 1270, "column": 13, - "start": 28243, - "end": 28257, + "start": 45221, + "end": 45235, "length": 15, - "parent_index": 1761 + "parent_index": 3429 }, "body": { - "id": 1768, + "id": 3436, "node_type": 46, "kind": 0, "src": { - "line": 797, + "line": 1270, "column": 65, - "start": 28295, - "end": 28444, + "start": 45273, + "end": 45422, "length": 150, - "parent_index": 1761 + "parent_index": 3429 }, "implemented": true, "statements": [ { - "id": 1769, + "id": 3437, "node_type": 24, "kind": 24, "src": { - "line": 798, + "line": 1271, "column": 8, - "start": 28305, - "end": 28365, + "start": 45283, + "end": 45343, "length": 61, - "parent_index": 1768 + "parent_index": 3436 }, "argument_types": [ { @@ -1239,16 +1255,16 @@ ], "arguments": [ { - "id": 1774, + "id": 3442, "node_type": 24, "kind": 24, "src": { - "line": 798, + "line": 1271, "column": 30, - "start": 28327, - "end": 28364, + "start": 45305, + "end": 45342, "length": 38, - "parent_index": 1769 + "parent_index": 3437 }, "argument_types": [ { @@ -1258,67 +1274,68 @@ ], "arguments": [ { - "id": 1779, + "id": 3447, "node_type": 24, "kind": 24, "src": { - "line": 798, + "line": 1271, "column": 54, - "start": 28351, - "end": 28363, + "start": 45329, + "end": 45341, "length": 13, - "parent_index": 1774 + "parent_index": 3442 }, "argument_types": [ { - "type_identifier": "t_contract$_TokenAdapter_$1684", + "type_identifier": "t_contract$_TokenAdapter_$3335", "type_string": "contract TokenAdapter" } ], "arguments": [ { - "id": 1782, + "id": 3450, "node_type": 16, "src": { - "line": 798, + "line": 1271, "column": 62, - "start": 28359, - "end": 28362, + "start": 45337, + "end": 45340, "length": 4, - "parent_index": 1779 + "parent_index": 3447 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_TokenAdapter_$1684", + "type_identifier": "t_contract$_TokenAdapter_$3335", "type_string": "contract TokenAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 1780, + "id": 3448, "node_type": 16, "src": { - "line": 798, + "line": 1271, "column": 54, - "start": 28351, - "end": 28357, + "start": 45329, + "end": 45335, "length": 7, - "parent_index": 1779 + "parent_index": 3447 }, "name": "address", "type_name": { - "id": 1781, + "id": 3449, "node_type": 30, "src": { - "line": 798, + "line": 1271, "column": 54, - "start": 28351, - "end": 28357, + "start": 45329, + "end": 45335, "length": 7, - "parent_index": 1780 + "parent_index": 3448 }, "name": "address", "state_mutability": 4, @@ -1340,7 +1357,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1349,39 +1367,39 @@ } ], "expression": { - "id": 1775, + "id": 3443, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 798, + "line": 1271, "column": 30, - "start": 28327, - "end": 28349, + "start": 45305, + "end": 45327, "length": 23, - "parent_index": 1774 + "parent_index": 3442 }, "member_location": { - "line": 798, + "line": 1271, "column": 44, - "start": 28341, - "end": 28349, + "start": 45319, + "end": 45327, "length": 9, - "parent_index": 1775 + "parent_index": 3443 }, "expression": { - "id": 1776, + "id": 3444, "node_type": 24, "kind": 24, "src": { - "line": 798, + "line": 1271, "column": 30, - "start": 28327, - "end": 28339, + "start": 45305, + "end": 45317, "length": 13, - "parent_index": 1775 + "parent_index": 3443 }, "argument_types": [ { @@ -1391,15 +1409,15 @@ ], "arguments": [ { - "id": 1778, + "id": 3446, "node_type": 16, "src": { - "line": 798, + "line": 1271, "column": 37, - "start": 28334, - "end": 28338, + "start": 45312, + "end": 45316, "length": 5, - "parent_index": 1776 + "parent_index": 3444 }, "name": "token", "type_description": { @@ -1407,20 +1425,21 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1778, - "is_pure": false + "referenced_declaration": 3446, + "is_pure": false, + "text": "token" } ], "expression": { - "id": 1777, + "id": 3445, "node_type": 16, "src": { - "line": 798, + "line": 1271, "column": 30, - "start": 28327, - "end": 28332, + "start": 45305, + "end": 45310, "length": 6, - "parent_index": 1776 + "parent_index": 3444 }, "name": "IERC20", "type_description": { @@ -1429,7 +1448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1441,7 +1461,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IERC20(token).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -1450,39 +1471,39 @@ } ], "expression": { - "id": 1770, + "id": 3438, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 798, + "line": 1271, "column": 8, - "start": 28305, - "end": 28325, + "start": 45283, + "end": 45303, "length": 21, - "parent_index": 1769 + "parent_index": 3437 }, "member_location": { - "line": 798, + "line": 1271, "column": 21, - "start": 28318, - "end": 28325, + "start": 45296, + "end": 45303, "length": 8, - "parent_index": 1770 + "parent_index": 3438 }, "expression": { - "id": 1771, + "id": 3439, "node_type": 24, "kind": 24, "src": { - "line": 798, + "line": 1271, "column": 8, - "start": 28305, - "end": 28316, + "start": 45283, + "end": 45294, "length": 12, - "parent_index": 1770 + "parent_index": 3438 }, "argument_types": [ { @@ -1492,15 +1513,15 @@ ], "arguments": [ { - "id": 1773, + "id": 3441, "node_type": 16, "src": { - "line": 798, + "line": 1271, "column": 14, - "start": 28311, - "end": 28315, + "start": 45289, + "end": 45293, "length": 5, - "parent_index": 1771 + "parent_index": 3439 }, "name": "token", "type_description": { @@ -1508,20 +1529,21 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1773, - "is_pure": false + "referenced_declaration": 3441, + "is_pure": false, + "text": "token" } ], "expression": { - "id": 1772, + "id": 3440, "node_type": 16, "src": { - "line": 798, + "line": 1271, "column": 8, - "start": 28305, - "end": 28309, + "start": 45283, + "end": 45287, "length": 5, - "parent_index": 1771 + "parent_index": 3439 }, "name": "IWETH", "type_description": { @@ -1530,7 +1552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IWETH" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1542,7 +1565,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IWETH(token).withdraw" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_address$", @@ -1550,16 +1574,16 @@ } }, { - "id": 1783, + "id": 3451, "node_type": 24, "kind": 24, "src": { - "line": 799, + "line": 1272, "column": 8, - "start": 28376, - "end": 28437, + "start": 45354, + "end": 45415, "length": 62, - "parent_index": 1768 + "parent_index": 3436 }, "argument_types": [ { @@ -1577,16 +1601,16 @@ ], "arguments": [ { - "id": 1785, + "id": 3453, "node_type": 24, "kind": 24, "src": { - "line": 799, + "line": 1272, "column": 24, - "start": 28392, - "end": 28409, + "start": 45370, + "end": 45387, "length": 18, - "parent_index": 1783 + "parent_index": 3451 }, "argument_types": [ { @@ -1596,16 +1620,16 @@ ], "arguments": [ { - "id": 1787, + "id": 3455, "node_type": 24, "kind": 24, "src": { - "line": 799, + "line": 1272, "column": 31, - "start": 28399, - "end": 28408, + "start": 45377, + "end": 45386, "length": 10, - "parent_index": 1785 + "parent_index": 3453 }, "argument_types": [ { @@ -1615,18 +1639,18 @@ ], "arguments": [ { - "id": 1790, + "id": 3458, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 799, + "line": 1272, "column": 39, - "start": 28407, - "end": 28407, + "start": 45385, + "end": 45385, "length": 1, - "parent_index": 1787 + "parent_index": 3455 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1634,31 +1658,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 1788, + "id": 3456, "node_type": 16, "src": { - "line": 799, + "line": 1272, "column": 31, - "start": 28399, - "end": 28405, + "start": 45377, + "end": 45383, "length": 7, - "parent_index": 1787 + "parent_index": 3455 }, "name": "address", "type_name": { - "id": 1789, + "id": 3457, "node_type": 30, "src": { - "line": 799, + "line": 1272, "column": 31, - "start": 28399, - "end": 28405, + "start": 45377, + "end": 45383, "length": 7, - "parent_index": 1788 + "parent_index": 3456 }, "name": "address", "state_mutability": 4, @@ -1680,7 +1705,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -1689,15 +1715,15 @@ } ], "expression": { - "id": 1786, + "id": 3454, "node_type": 16, "src": { - "line": 799, + "line": 1272, "column": 24, - "start": 28392, - "end": 28397, + "start": 45370, + "end": 45375, "length": 6, - "parent_index": 1785 + "parent_index": 3453 }, "name": "IERC20", "type_description": { @@ -1706,7 +1732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", @@ -1714,15 +1741,15 @@ } }, { - "id": 1791, + "id": 3459, "node_type": 16, "src": { - "line": 799, + "line": 1272, "column": 44, - "start": 28412, - "end": 28413, + "start": 45390, + "end": 45391, "length": 2, - "parent_index": 1783 + "parent_index": 3451 }, "name": "to", "type_description": { @@ -1730,100 +1757,102 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 1791, + "referenced_declaration": 3459, "is_pure": false, "argument_types": [ { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$", "type_string": "function(function(int_const 0))" } - ] + ], + "text": "to" }, { - "id": 1792, + "id": 3460, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 799, + "line": 1272, "column": 48, - "start": 28416, - "end": 28436, + "start": 45394, + "end": 45414, "length": 21, - "parent_index": 1783 + "parent_index": 3451 }, "member_location": { - "line": 799, + "line": 1272, "column": 62, - "start": 28430, - "end": 28436, + "start": 45408, + "end": 45414, "length": 7, - "parent_index": 1792 + "parent_index": 3460 }, "expression": { - "id": 1793, + "id": 3461, "node_type": 24, "kind": 24, "src": { - "line": 799, + "line": 1272, "column": 48, - "start": 28416, - "end": 28428, + "start": 45394, + "end": 45406, "length": 13, - "parent_index": 1792 + "parent_index": 3460 }, "argument_types": [ { - "type_identifier": "t_contract$_TokenAdapter_$1684", + "type_identifier": "t_contract$_TokenAdapter_$3335", "type_string": "contract TokenAdapter" } ], "arguments": [ { - "id": 1796, + "id": 3464, "node_type": 16, "src": { - "line": 799, + "line": 1272, "column": 56, - "start": 28424, - "end": 28427, + "start": 45402, + "end": 45405, "length": 4, - "parent_index": 1793 + "parent_index": 3461 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_TokenAdapter_$1684", + "type_identifier": "t_contract$_TokenAdapter_$3335", "type_string": "contract TokenAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 1794, + "id": 3462, "node_type": 16, "src": { - "line": 799, + "line": 1272, "column": 48, - "start": 28416, - "end": 28422, + "start": 45394, + "end": 45400, "length": 7, - "parent_index": 1793 + "parent_index": 3461 }, "name": "address", "type_name": { - "id": 1795, + "id": 3463, "node_type": 30, "src": { - "line": 799, + "line": 1272, "column": 48, - "start": 28416, - "end": 28422, + "start": 45394, + "end": 45400, "length": 7, - "parent_index": 1794 + "parent_index": 3462 }, "name": "address", "state_mutability": 4, @@ -1845,7 +1874,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -1866,19 +1896,20 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } ], "expression": { - "id": 1784, + "id": 3452, "node_type": 16, "src": { - "line": 799, + "line": 1272, "column": 8, - "start": 28376, - "end": 28390, + "start": 45354, + "end": 45368, "length": 15, - "parent_index": 1783 + "parent_index": 3451 }, "name": "_transferTokens", "type_description": { @@ -1887,7 +1918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferTokens" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_function_$_t_address$", @@ -1903,40 +1935,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 1762, + "id": 3430, "node_type": 43, "src": { - "line": 797, + "line": 1270, "column": 29, - "start": 28259, - "end": 28283, + "start": 45237, + "end": 45261, "length": 25, - "parent_index": 1761 + "parent_index": 3429 }, "parameters": [ { - "id": 1763, + "id": 3431, "node_type": 44, "src": { - "line": 797, + "line": 1270, "column": 29, - "start": 28259, - "end": 28271, + "start": 45237, + "end": 45249, "length": 13, - "parent_index": 1762 + "parent_index": 3430 }, - "scope": 1761, + "scope": 3429, "name": "token", "type_name": { - "id": 1764, + "id": 3432, "node_type": 30, "src": { - "line": 797, + "line": 1270, "column": 29, - "start": 28259, - "end": 28265, + "start": 45237, + "end": 45243, "length": 7, - "parent_index": 1763 + "parent_index": 3431 }, "name": "address", "state_mutability": 4, @@ -1955,28 +1987,28 @@ } }, { - "id": 1765, + "id": 3433, "node_type": 44, "src": { - "line": 797, + "line": 1270, "column": 44, - "start": 28274, - "end": 28283, + "start": 45252, + "end": 45261, "length": 10, - "parent_index": 1762 + "parent_index": 3430 }, - "scope": 1761, + "scope": 3429, "name": "to", "type_name": { - "id": 1766, + "id": 3434, "node_type": 30, "src": { - "line": 797, + "line": 1270, "column": 44, - "start": 28274, - "end": 28280, + "start": 45252, + "end": 45258, "length": 7, - "parent_index": 1765 + "parent_index": 3433 }, "name": "address", "state_mutability": 4, @@ -2007,45 +2039,46 @@ ] }, "return_parameters": { - "id": 1767, + "id": 3435, "node_type": 43, "src": { - "line": 797, + "line": 1270, "column": 4, - "start": 28234, - "end": 28444, + "start": 45212, + "end": 45422, "length": 211, - "parent_index": 1761 + "parent_index": 3429 }, "parameters": [], "parameter_types": [] }, - "signature_raw": "_unwrapTransfer(address, address)", - "signature": "eca5118f", - "scope": 1707, + "signature_raw": "_unwrapTransfer(address,address)", + "signature": "55203e7c", + "scope": 3375, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "function_unwrapTransfer(addresstoken,addressto)internal{IWETH(token).withdraw(IERC20(token).balanceOf(address(this)));_transferTokens(IERC20(address(0)),to,address(this).balance);}" } ], "linearized_base_contracts": [ - 1707, - 1705, - 1706 + 3375, + 3373, + 3374 ], "base_contracts": [], "contract_dependencies": [ - 1705, - 1706 + 3373, + 3374 ] } ], "src": { - "line": 763, + "line": 1236, "column": 0, - "start": 27210, - "end": 28446, + "start": 44188, + "end": 45424, "length": 1237, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/TridentSwapAdapter.solgo.ast.json b/data/tests/contracts/sushixswap/TridentSwapAdapter.solgo.ast.json index eaeef5f3..411eccd0 100644 --- a/data/tests/contracts/sushixswap/TridentSwapAdapter.solgo.ast.json +++ b/data/tests/contracts/sushixswap/TridentSwapAdapter.solgo.ast.json @@ -1,140 +1,140 @@ { - "id": 3222, + "id": 3668, "base_contracts": [ { - "id": 3266, + "id": 3720, "node_type": 62, "src": { - "line": 1191, + "line": 1362, "column": 4, - "start": 41098, - "end": 41111, + "start": 47169, + "end": 47182, "length": 14, - "parent_index": 3265 + "parent_index": 3719 }, "base_name": { - "id": 3267, + "id": 3721, "node_type": 52, "src": { - "line": 1191, + "line": 1362, "column": 4, - "start": 41098, - "end": 41111, + "start": 47169, + "end": 47182, "length": 14, - "parent_index": 3265 + "parent_index": 3719 }, "name": "ITridentRouter", - "referenced_declaration": 3023 + "referenced_declaration": 3465 } }, { - "id": 3268, + "id": 3722, "node_type": 62, "src": { - "line": 1192, + "line": 1363, "column": 4, - "start": 41118, - "end": 41131, + "start": 47189, + "end": 47202, "length": 14, - "parent_index": 3265 + "parent_index": 3719 }, "base_name": { - "id": 3269, + "id": 3723, "node_type": 52, "src": { - "line": 1192, + "line": 1363, "column": 4, - "start": 41118, - "end": 41131, + "start": 47189, + "end": 47202, "length": 14, - "parent_index": 3265 + "parent_index": 3719 }, "name": "ImmutableState", "referenced_declaration": 948 } }, { - "id": 3270, + "id": 3724, "node_type": 62, "src": { - "line": 1193, + "line": 1364, "column": 4, - "start": 41138, - "end": 41149, + "start": 47209, + "end": 47220, "length": 12, - "parent_index": 3265 + "parent_index": 3719 }, "base_name": { - "id": 3271, + "id": 3725, "node_type": 52, "src": { - "line": 1193, + "line": 1364, "column": 4, - "start": 41138, - "end": 41149, + "start": 47209, + "end": 47220, "length": 12, - "parent_index": 3265 + "parent_index": 3719 }, "name": "BentoAdapter", "referenced_declaration": 1018 } }, { - "id": 3272, + "id": 3726, "node_type": 62, "src": { - "line": 1194, + "line": 1365, "column": 4, - "start": 41156, - "end": 41167, + "start": 47227, + "end": 47238, "length": 12, - "parent_index": 3265 + "parent_index": 3719 }, "base_name": { - "id": 3273, + "id": 3727, "node_type": 52, "src": { - "line": 1194, + "line": 1365, "column": 4, - "start": 41156, - "end": 41167, + "start": 47227, + "end": 47238, "length": 12, - "parent_index": 3265 + "parent_index": 3719 }, "name": "TokenAdapter", - "referenced_declaration": 1684 + "referenced_declaration": 3335 } } ], "license": "GPL-3.0-or-later", "exported_symbols": [ { - "id": 3222, + "id": 3668, "name": "TridentSwapAdapter", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/TridentSwapAdapter.sol" }, { - "id": 3162, + "id": 3606, "name": "ITridentRouter", "absolute_path": "ITridentRouter.sol" }, { - "id": 3162, + "id": 3606, "name": "BentoAdapter", "absolute_path": "BentoAdapter.sol" }, { - "id": 3162, + "id": 3606, "name": "TokenAdapter", "absolute_path": "TokenAdapter.sol" }, { - "id": 3162, + "id": 3606, "name": "ImmutableState", "absolute_path": "ImmutableState.sol" }, { - "id": 3162, + "id": 3606, "name": "ITridentSwapAdapter", "absolute_path": "ITridentSwapAdapter.sol" } @@ -144,15 +144,15 @@ "node_type": 1, "nodes": [ { - "id": 3241, + "id": 3689, "node_type": 10, "src": { - "line": 1183, + "line": 1354, "column": 0, - "start": 40913, - "end": 40935, + "start": 46984, + "end": 47006, "length": 23, - "parent_index": 3222 + "parent_index": 3668 }, "literals": [ "pragma", @@ -167,286 +167,288 @@ "text": "pragma solidity 0.8.11;" }, { - "id": 3260, + "id": 3714, "node_type": 29, "src": { - "line": 1174, + "line": 1345, "column": 0, - "start": 40712, - "end": 40741, + "start": 46783, + "end": 46812, "length": 30, - "parent_index": 3222 + "parent_index": 3668 }, "absolute_path": "ITridentRouter.sol", "file": "./ITridentRouter.sol", - "scope": 3222, + "scope": 3668, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3162 + "source_unit": 3606 }, { - "id": 3261, + "id": 3715, "node_type": 29, "src": { - "line": 1175, + "line": 1346, "column": 0, - "start": 40743, - "end": 40770, + "start": 46814, + "end": 46841, "length": 28, - "parent_index": 3222 + "parent_index": 3668 }, "absolute_path": "BentoAdapter.sol", "file": "./BentoAdapter.sol", - "scope": 3222, + "scope": 3668, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3162 + "source_unit": 3606 }, { - "id": 3262, + "id": 3716, "node_type": 29, "src": { - "line": 1176, + "line": 1347, "column": 0, - "start": 40772, - "end": 40799, + "start": 46843, + "end": 46870, "length": 28, - "parent_index": 3222 + "parent_index": 3668 }, "absolute_path": "TokenAdapter.sol", "file": "./TokenAdapter.sol", - "scope": 3222, + "scope": 3668, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3162 + "source_unit": 3606 }, { - "id": 3263, + "id": 3717, "node_type": 29, "src": { - "line": 1177, + "line": 1348, "column": 0, - "start": 40801, - "end": 40830, + "start": 46872, + "end": 46901, "length": 30, - "parent_index": 3222 + "parent_index": 3668 }, "absolute_path": "ImmutableState.sol", "file": "./ImmutableState.sol", - "scope": 3222, + "scope": 3668, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3162 + "source_unit": 3606 }, { - "id": 3264, + "id": 3718, "node_type": 29, "src": { - "line": 1185, + "line": 1356, "column": 0, - "start": 40938, - "end": 40972, + "start": 47009, + "end": 47043, "length": 35, - "parent_index": 3222 + "parent_index": 3668 }, "absolute_path": "ITridentSwapAdapter.sol", "file": "./ITridentSwapAdapter.sol", - "scope": 3222, + "scope": 3668, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 3162 + "source_unit": 3606 }, { - "id": 3265, + "id": 3719, "name": "TridentSwapAdapter", "node_type": 35, "src": { - "line": 1190, + "line": 1361, "column": 0, - "start": 41054, - "end": 46038, + "start": 47125, + "end": 52109, "length": 4985, - "parent_index": 3222 + "parent_index": 3668 }, "name_location": { - "line": 1190, + "line": 1361, "column": 18, - "start": 41072, - "end": 41089, + "start": 47143, + "end": 47160, "length": 18, - "parent_index": 3265 + "parent_index": 3719 }, "abstract": false, "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 3275, + "id": 3729, "node_type": 77, "src": { - "line": 1197, + "line": 1368, "column": 4, - "start": 41195, - "end": 41220, + "start": 47266, + "end": 47291, "length": 26, - "parent_index": 3265 + "parent_index": 3719 }, "name": "TooLittleReceived", "name_location": { - "line": 1197, + "line": 1368, "column": 10, - "start": 41201, - "end": 41217, + "start": 47272, + "end": 47288, "length": 17, - "parent_index": 3275 + "parent_index": 3729 }, "parameters": { - "id": 3276, + "id": 3730, "node_type": 43, "src": { - "line": 1197, + "line": 1368, "column": 4, - "start": 41195, - "end": 41220, + "start": 47266, + "end": 47291, "length": 26, - "parent_index": 3275 + "parent_index": 3729 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_TridentSwapAdapter_TooLittleReceived_$3275", + "type_identifier": "t_error$_TridentSwapAdapter_TooLittleReceived_$3729", "type_string": "error TridentSwapAdapter.TooLittleReceived" } }, { - "id": 3278, + "id": 3732, "name": "_exactInput", "node_type": 42, "kind": 41, "src": { - "line": 1203, + "line": 1374, "column": 4, - "start": 41607, - "end": 42988, + "start": 47678, + "end": 49059, "length": 1382, - "parent_index": 3265 + "parent_index": 3719 }, "name_location": { - "line": 1203, + "line": 1374, "column": 13, - "start": 41616, - "end": 41626, + "start": 47687, + "end": 47697, "length": 11, - "parent_index": 3278 + "parent_index": 3732 }, "body": { - "id": 3286, + "id": 3740, "node_type": 46, "kind": 0, "src": { - "line": 1206, + "line": 1377, "column": 4, - "start": 41717, - "end": 42988, + "start": 47788, + "end": 49059, "length": 1272, - "parent_index": 3278 + "parent_index": 3732 }, "implemented": true, "statements": [ { - "id": 3287, + "id": 3741, "node_type": 48, "src": { - "line": 1207, + "line": 1378, "column": 0, - "start": 41727, - "end": 42286, + "start": 47798, + "end": 48357, "length": 560, - "parent_index": 3286 + "parent_index": 3740 }, "condition": { - "id": 3288, + "id": 3742, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1207, + "line": 1378, "column": 12, - "start": 41731, - "end": 41750, + "start": 47802, + "end": 47821, "length": 20, - "parent_index": 3287 + "parent_index": 3741 }, "operator": 11, "left_expression": { - "id": 3289, + "id": 3743, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1207, + "line": 1378, "column": 12, - "start": 41731, - "end": 41745, + "start": 47802, + "end": 47816, "length": 15, - "parent_index": 3288 + "parent_index": 3742 }, "member_location": { - "line": 1207, + "line": 1378, "column": 19, - "start": 41738, - "end": 41745, + "start": 47809, + "end": 47816, "length": 8, - "parent_index": 3289 + "parent_index": 3743 }, "expression": { - "id": 3290, + "id": 3744, "node_type": 16, "src": { - "line": 1207, + "line": 1378, "column": 12, - "start": 41731, - "end": 41736, + "start": 47802, + "end": 47807, "length": 6, - "parent_index": 3289 + "parent_index": 3743 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, "overloaded_declarations": [], - "referenced_declaration": 3290, - "is_pure": false + "referenced_declaration": 3744, + "is_pure": false, + "text": "params" }, "member_name": "amountIn", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" - } + }, + "text": "params.amountIn" }, "right_expression": { - "id": 3291, + "id": 3745, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1207, + "line": 1378, "column": 31, - "start": 41750, - "end": 41750, + "start": 47821, + "end": 47821, "length": 1, - "parent_index": 3288 + "parent_index": 3742 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -454,7 +456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -462,68 +465,68 @@ } }, "body": { - "id": 3292, + "id": 3746, "node_type": 46, "kind": 0, "src": { - "line": 1207, + "line": 1378, "column": 34, - "start": 41753, - "end": 42286, + "start": 47824, + "end": 48357, "length": 534, - "parent_index": 3278 + "parent_index": 3732 }, "implemented": true, "statements": [ { - "id": 3293, + "id": 3747, "node_type": 44, "src": { - "line": 1208, + "line": 1379, "column": 10, - "start": 41765, - "end": 41865, + "start": 47836, + "end": 47936, "length": 101, - "parent_index": 3292 + "parent_index": 3746 }, "assignments": [ - 3294 + 3748 ], "declarations": [ { - "id": 3294, + "id": 3748, "state_mutability": 1, "name": "tokenBalance", "node_type": 44, - "scope": 3292, + "scope": 3746, "src": { - "line": 1208, + "line": 1379, "column": 10, - "start": 41765, - "end": 41784, + "start": 47836, + "end": 47855, "length": 20, - "parent_index": 3293 + "parent_index": 3747 }, "name_location": { - "line": 1208, + "line": 1379, "column": 18, - "start": 41773, - "end": 41784, + "start": 47844, + "end": 47855, "length": 12, - "parent_index": 3294 + "parent_index": 3748 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3295, + "id": 3749, "node_type": 30, "src": { - "line": 1208, + "line": 1379, "column": 10, - "start": 41765, - "end": 41771, + "start": 47836, + "end": 47842, "length": 7, - "parent_index": 3294 + "parent_index": 3748 }, "name": "uint256", "referenced_declaration": 0, @@ -536,16 +539,16 @@ } ], "initial_value": { - "id": 3296, + "id": 3750, "node_type": 24, "kind": 24, "src": { - "line": 1208, + "line": 1379, "column": 33, - "start": 41788, - "end": 41864, + "start": 47859, + "end": 47935, "length": 77, - "parent_index": 3293 + "parent_index": 3747 }, "argument_types": [ { @@ -555,67 +558,68 @@ ], "arguments": [ { - "id": 3302, + "id": 3756, "node_type": 24, "kind": 24, "src": { - "line": 1209, + "line": 1380, "column": 16, - "start": 41838, - "end": 41850, + "start": 47909, + "end": 47921, "length": 13, - "parent_index": 3296 + "parent_index": 3750 }, "argument_types": [ { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" } ], "arguments": [ { - "id": 3305, + "id": 3759, "node_type": 16, "src": { - "line": 1209, + "line": 1380, "column": 24, - "start": 41846, - "end": 41849, + "start": 47917, + "end": 47920, "length": 4, - "parent_index": 3302 + "parent_index": 3756 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3303, + "id": 3757, "node_type": 16, "src": { - "line": 1209, + "line": 1380, "column": 16, - "start": 41838, - "end": 41844, + "start": 47909, + "end": 47915, "length": 7, - "parent_index": 3302 + "parent_index": 3756 }, "name": "address", "type_name": { - "id": 3304, + "id": 3758, "node_type": 30, "src": { - "line": 1209, + "line": 1380, "column": 16, - "start": 41838, - "end": 41844, + "start": 47909, + "end": 47915, "length": 7, - "parent_index": 3303 + "parent_index": 3757 }, "name": "address", "state_mutability": 4, @@ -637,7 +641,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -646,108 +651,110 @@ } ], "expression": { - "id": 3297, + "id": 3751, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1208, + "line": 1379, "column": 33, - "start": 41788, - "end": 41819, + "start": 47859, + "end": 47890, "length": 32, - "parent_index": 3296 + "parent_index": 3750 }, "member_location": { - "line": 1208, + "line": 1379, "column": 56, - "start": 41811, - "end": 41819, + "start": 47882, + "end": 47890, "length": 9, - "parent_index": 3297 + "parent_index": 3751 }, "expression": { - "id": 3298, + "id": 3752, "node_type": 24, "kind": 24, "src": { - "line": 1208, + "line": 1379, "column": 33, - "start": 41788, - "end": 41809, + "start": 47859, + "end": 47880, "length": 22, - "parent_index": 3297 + "parent_index": 3751 }, "argument_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" } ], "arguments": [ { - "id": 3300, + "id": 3754, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1208, + "line": 1379, "column": 40, - "start": 41795, - "end": 41808, + "start": 47866, + "end": 47879, "length": 14, - "parent_index": 3298 + "parent_index": 3752 }, "member_location": { - "line": 1208, + "line": 1379, "column": 47, - "start": 41802, - "end": 41808, + "start": 47873, + "end": 47879, "length": 7, - "parent_index": 3300 + "parent_index": 3754 }, "expression": { - "id": 3301, + "id": 3755, "node_type": 16, "src": { - "line": 1208, + "line": 1379, "column": 40, - "start": 41795, - "end": 41800, + "start": 47866, + "end": 47871, "length": 6, - "parent_index": 3300 + "parent_index": 3754 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, "overloaded_declarations": [], - "referenced_declaration": 3301, - "is_pure": false + "referenced_declaration": 3755, + "is_pure": false, + "text": "params" }, "member_name": "tokenIn", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" - } + }, + "text": "params.tokenIn" } ], "expression": { - "id": 3299, + "id": 3753, "node_type": 16, "src": { - "line": 1208, + "line": 1379, "column": 33, - "start": 41788, - "end": 41793, + "start": 47859, + "end": 47864, "length": 6, - "parent_index": 3298 + "parent_index": 3752 }, "name": "IERC20", "type_description": { @@ -756,19 +763,21 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", "type_string": "function(struct ITridentRouter.ExactInputParams)" } }, "member_name": "balanceOf", "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", "type_string": "function(struct ITridentRouter.ExactInputParams)" - } + }, + "text": "IERC20(params.tokenIn).balanceOf" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$", @@ -777,20 +786,20 @@ } }, { - "id": 3306, + "id": 3760, "node_type": 24, "kind": 24, "src": { - "line": 1211, + "line": 1382, "column": 12, - "start": 41879, - "end": 42012, + "start": 47950, + "end": 48083, "length": 134, - "parent_index": 3292 + "parent_index": 3746 }, "argument_types": [ { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", "type_string": "function(struct ITridentRouter.ExactInputParams)" }, { @@ -804,85 +813,87 @@ ], "arguments": [ { - "id": 3308, + "id": 3762, "node_type": 24, "kind": 24, "src": { - "line": 1212, + "line": 1383, "column": 16, - "start": 41912, - "end": 41933, + "start": 47983, + "end": 48004, "length": 22, - "parent_index": 3306 + "parent_index": 3760 }, "argument_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" } ], "arguments": [ { - "id": 3310, + "id": 3764, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1212, + "line": 1383, "column": 23, - "start": 41919, - "end": 41932, + "start": 47990, + "end": 48003, "length": 14, - "parent_index": 3308 + "parent_index": 3762 }, "member_location": { - "line": 1212, + "line": 1383, "column": 30, - "start": 41926, - "end": 41932, + "start": 47997, + "end": 48003, "length": 7, - "parent_index": 3310 + "parent_index": 3764 }, "expression": { - "id": 3311, + "id": 3765, "node_type": 16, "src": { - "line": 1212, + "line": 1383, "column": 23, - "start": 41919, - "end": 41924, + "start": 47990, + "end": 47995, "length": 6, - "parent_index": 3310 + "parent_index": 3764 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, "overloaded_declarations": [], - "referenced_declaration": 3311, - "is_pure": false + "referenced_declaration": 3765, + "is_pure": false, + "text": "params" }, "member_name": "tokenIn", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" - } + }, + "text": "params.tokenIn" } ], "expression": { - "id": 3309, + "id": 3763, "node_type": 16, "src": { - "line": 1212, + "line": 1383, "column": 16, - "start": 41912, - "end": 41917, + "start": 47983, + "end": 47988, "length": 6, - "parent_index": 3308 + "parent_index": 3762 }, "name": "IERC20", "type_description": { @@ -891,24 +902,25 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", "type_string": "function(struct ITridentRouter.ExactInputParams)" } }, { - "id": 3312, + "id": 3766, "node_type": 24, "kind": 24, "src": { - "line": 1213, + "line": 1384, "column": 16, - "start": 41952, - "end": 41968, + "start": 48023, + "end": 48039, "length": 17, - "parent_index": 3306 + "parent_index": 3760 }, "argument_types": [ { @@ -918,15 +930,15 @@ ], "arguments": [ { - "id": 3315, + "id": 3769, "node_type": 16, "src": { - "line": 1213, + "line": 1384, "column": 24, - "start": 41960, - "end": 41967, + "start": 48031, + "end": 48038, "length": 8, - "parent_index": 3312 + "parent_index": 3766 }, "name": "bentoBox", "type_description": { @@ -935,31 +947,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bentoBox" } ], "expression": { - "id": 3313, + "id": 3767, "node_type": 16, "src": { - "line": 1213, + "line": 1384, "column": 16, - "start": 41952, - "end": 41958, + "start": 48023, + "end": 48029, "length": 7, - "parent_index": 3312 + "parent_index": 3766 }, "name": "address", "type_name": { - "id": 3314, + "id": 3768, "node_type": 30, "src": { - "line": 1213, + "line": 1384, "column": 16, - "start": 41952, - "end": 41958, + "start": 48023, + "end": 48029, "length": 7, - "parent_index": 3313 + "parent_index": 3767 }, "name": "address", "state_mutability": 4, @@ -981,7 +994,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -989,15 +1003,15 @@ } }, { - "id": 3316, + "id": 3770, "node_type": 16, "src": { - "line": 1214, + "line": 1385, "column": 16, - "start": 41987, - "end": 41998, + "start": 48058, + "end": 48069, "length": 12, - "parent_index": 3306 + "parent_index": 3760 }, "name": "tokenBalance", "type_description": { @@ -1005,30 +1019,31 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3293, + "referenced_declaration": 3747, "is_pure": false, "argument_types": [ { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", "type_string": "function(struct ITridentRouter.ExactInputParams)" }, { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "tokenBalance" } ], "expression": { - "id": 3307, + "id": 3761, "node_type": 16, "src": { - "line": 1211, + "line": 1382, "column": 12, - "start": 41879, - "end": 41893, + "start": 47950, + "end": 47964, "length": 15, - "parent_index": 3306 + "parent_index": 3760 }, "name": "_transferTokens", "type_description": { @@ -1037,121 +1052,124 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transferTokens" }, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$_t_function_$_t_function_$_t_uint256$", + "type_identifier": "t_function_$_t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$_t_function_$_t_function_$_t_uint256$", "type_string": "function(function(struct ITridentRouter.ExactInputParams),function(function()),uint256)" } }, { - "id": 3317, + "id": 3771, "node_type": 27, "src": { - "line": 1217, + "line": 1388, "column": 12, - "start": 42071, - "end": 42276, + "start": 48142, + "end": 48347, "length": 206, - "parent_index": 3292 + "parent_index": 3746 }, "expression": { - "id": 3318, + "id": 3772, "node_type": 27, "src": { - "line": 1217, + "line": 1388, "column": 12, - "start": 42071, - "end": 42275, + "start": 48142, + "end": 48346, "length": 205, - "parent_index": 3317 + "parent_index": 3771 }, "operator": 11, "left_expression": { - "id": 3319, + "id": 3773, "node_type": 60, "src": { - "line": 1217, + "line": 1388, "column": 12, - "start": 42071, - "end": 42089, + "start": 48142, + "end": 48160, "length": 19, - "parent_index": 3318 + "parent_index": 3772 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3320, + "id": 3774, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1217, + "line": 1388, "column": 15, - "start": 42074, - "end": 42088, + "start": 48145, + "end": 48159, "length": 15, - "parent_index": 3319 + "parent_index": 3773 }, "member_location": { - "line": 1217, + "line": 1388, "column": 22, - "start": 42081, - "end": 42088, + "start": 48152, + "end": 48159, "length": 8, - "parent_index": 3320 + "parent_index": 3774 }, "expression": { - "id": 3321, + "id": 3775, "node_type": 16, "src": { - "line": 1217, + "line": 1388, "column": 15, - "start": 42074, - "end": 42079, + "start": 48145, + "end": 48150, "length": 6, - "parent_index": 3320 + "parent_index": 3774 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, "overloaded_declarations": [], - "referenced_declaration": 3321, - "is_pure": false + "referenced_declaration": 3775, + "is_pure": false, + "text": "params" }, "member_name": "amountIn", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" - } + }, + "text": "params.amountIn" } ], "type_description": { - "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", + "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", "type_string": "tuple(struct ITridentRouter.ExactInputParams)" } }, "right_expression": { - "id": 3322, + "id": 3776, "node_type": 24, "kind": 24, "src": { - "line": 1217, + "line": 1388, "column": 34, - "start": 42093, - "end": 42275, + "start": 48164, + "end": 48346, "length": 183, - "parent_index": 3318 + "parent_index": 3772 }, "argument_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, { @@ -1159,7 +1177,7 @@ "type_string": "function(function())" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" }, { @@ -1173,66 +1191,68 @@ ], "arguments": [ { - "id": 3325, + "id": 3779, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1218, + "line": 1389, "column": 16, - "start": 42127, - "end": 42140, + "start": 48198, + "end": 48211, "length": 14, - "parent_index": 3322 + "parent_index": 3776 }, "member_location": { - "line": 1218, + "line": 1389, "column": 23, - "start": 42134, - "end": 42140, + "start": 48205, + "end": 48211, "length": 7, - "parent_index": 3325 + "parent_index": 3779 }, "expression": { - "id": 3326, + "id": 3780, "node_type": 16, "src": { - "line": 1218, + "line": 1389, "column": 16, - "start": 42127, - "end": 42132, + "start": 48198, + "end": 48203, "length": 6, - "parent_index": 3325 + "parent_index": 3779 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, "overloaded_declarations": [], - "referenced_declaration": 3326, - "is_pure": false + "referenced_declaration": 3780, + "is_pure": false, + "text": "params" }, "member_name": "tokenIn", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" - } + }, + "text": "params.tokenIn" }, { - "id": 3327, + "id": 3781, "node_type": 24, "kind": 24, "src": { - "line": 1219, + "line": 1390, "column": 16, - "start": 42159, - "end": 42175, + "start": 48230, + "end": 48246, "length": 17, - "parent_index": 3322 + "parent_index": 3776 }, "argument_types": [ { @@ -1242,15 +1262,15 @@ ], "arguments": [ { - "id": 3330, + "id": 3784, "node_type": 16, "src": { - "line": 1219, + "line": 1390, "column": 24, - "start": 42167, - "end": 42174, + "start": 48238, + "end": 48245, "length": 8, - "parent_index": 3327 + "parent_index": 3781 }, "name": "bentoBox", "type_description": { @@ -1259,31 +1279,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "bentoBox" } ], "expression": { - "id": 3328, + "id": 3782, "node_type": 16, "src": { - "line": 1219, + "line": 1390, "column": 16, - "start": 42159, - "end": 42165, + "start": 48230, + "end": 48236, "length": 7, - "parent_index": 3327 + "parent_index": 3781 }, "name": "address", "type_name": { - "id": 3329, + "id": 3783, "node_type": 30, "src": { - "line": 1219, + "line": 1390, "column": 16, - "start": 42159, - "end": 42165, + "start": 48230, + "end": 48236, "length": 7, - "parent_index": 3328 + "parent_index": 3782 }, "name": "address", "state_mutability": 4, @@ -1305,7 +1326,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1313,102 +1335,104 @@ } }, { - "id": 3331, + "id": 3785, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1220, + "line": 1391, "column": 16, - "start": 42194, - "end": 42212, + "start": 48265, + "end": 48283, "length": 19, - "parent_index": 3322 + "parent_index": 3776 }, "member_location": { - "line": 1220, + "line": 1391, "column": 31, - "start": 42209, - "end": 42212, + "start": 48280, + "end": 48283, "length": 4, - "parent_index": 3331 + "parent_index": 3785 }, "expression": { - "id": 3332, + "id": 3786, "node_type": 22, "src": { - "line": 1220, + "line": 1391, "column": 16, - "start": 42194, - "end": 42207, + "start": 48265, + "end": 48278, "length": 14, - "parent_index": 3331 + "parent_index": 3785 }, "index_expression": { - "id": 3333, + "id": 3787, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1220, + "line": 1391, "column": 16, - "start": 42194, - "end": 42204, + "start": 48265, + "end": 48275, "length": 11, - "parent_index": 3332 + "parent_index": 3786 }, "member_location": { - "line": 1220, + "line": 1391, "column": 23, - "start": 42201, - "end": 42204, + "start": 48272, + "end": 48275, "length": 4, - "parent_index": 3333 + "parent_index": 3787 }, "expression": { - "id": 3334, + "id": 3788, "node_type": 16, "src": { - "line": 1220, + "line": 1391, "column": 16, - "start": 42194, - "end": 42199, + "start": 48265, + "end": 48270, "length": 6, - "parent_index": 3333 + "parent_index": 3787 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, "overloaded_declarations": [], - "referenced_declaration": 3334, - "is_pure": false + "referenced_declaration": 3788, + "is_pure": false, + "text": "params" }, "member_name": "path", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" - } + }, + "text": "params.path" }, "base_expression": { - "id": 3335, + "id": 3789, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1220, + "line": 1391, "column": 28, - "start": 42206, - "end": 42206, + "start": 48277, + "end": 48277, "length": 1, - "parent_index": 3332 + "parent_index": 3786 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1416,11 +1440,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, { @@ -1429,14 +1454,14 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" } }, "member_name": "pool", "argument_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, { @@ -1445,20 +1470,21 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" - } + }, + "text": "params.path[0].pool" }, { - "id": 3336, + "id": 3790, "node_type": 16, "src": { - "line": 1221, + "line": 1392, "column": 16, - "start": 42231, - "end": 42242, + "start": 48302, + "end": 48313, "length": 12, - "parent_index": 3322 + "parent_index": 3776 }, "name": "tokenBalance", "type_description": { @@ -1466,11 +1492,11 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3293, + "referenced_declaration": 3747, "is_pure": false, "argument_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, { @@ -1478,24 +1504,25 @@ "type_string": "function(function())" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" } - ] + ], + "text": "tokenBalance" }, { - "id": 3337, + "id": 3791, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1222, + "line": 1393, "column": 16, - "start": 42261, - "end": 42261, + "start": 48332, + "end": 48332, "length": 1, - "parent_index": 3322 + "parent_index": 3776 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1506,7 +1533,7 @@ "is_pure": true, "argument_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, { @@ -1514,49 +1541,50 @@ "type_string": "function(function())" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$", + "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$", "type_string": "index[struct ITridentRouter.ExactInputParams:int_const 0]" }, { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "0" } ], "expression": { - "id": 3323, + "id": 3777, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1217, + "line": 1388, "column": 34, - "start": 42093, - "end": 42108, + "start": 48164, + "end": 48179, "length": 16, - "parent_index": 3322 + "parent_index": 3776 }, "member_location": { - "line": 1217, + "line": 1388, "column": 43, - "start": 42102, - "end": 42108, + "start": 48173, + "end": 48179, "length": 7, - "parent_index": 3323 + "parent_index": 3777 }, "expression": { - "id": 3324, + "id": 3778, "node_type": 16, "src": { - "line": 1217, + "line": 1388, "column": 34, - "start": 42093, - "end": 42100, + "start": 48164, + "end": 48171, "length": 8, - "parent_index": 3323 + "parent_index": 3777 }, "name": "bentoBox", "type_description": { @@ -1565,82 +1593,85 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "deposit", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.deposit" }, "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$_t_function_$_t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_rational_0_by_1]$_t_uint256$_t_rational_0_by_1$", + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$_t_function_$_t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3545]$_t_rational_0_by_1]$_t_uint256$_t_rational_0_by_1$", "type_string": "function(struct ITridentRouter.ExactInputParams,function(function()),index[struct ITridentRouter.ExactInputParams:int_const 0],uint256,int_const 0)" } }, "type_description": { - "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", + "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", "type_string": "tuple(struct ITridentRouter.ExactInputParams)" } }, "type_description": { - "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", + "type_identifier": "t_tuple_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", "type_string": "tuple(struct ITridentRouter.ExactInputParams)" - } + }, + "text": "(,params.amountIn)=bentoBox.deposit(params.tokenIn,address(bentoBox),params.path[0].pool,tokenBalance,0);" } ] } }, { - "id": 3338, + "id": 3792, "node_type": 44, "src": { - "line": 1231, + "line": 1402, "column": 8, - "start": 42640, - "end": 42670, + "start": 48711, + "end": 48741, "length": 31, - "parent_index": 3286 + "parent_index": 3740 }, "assignments": [ - 3339 + 3793 ], "declarations": [ { - "id": 3339, + "id": 3793, "state_mutability": 1, "name": "n", "node_type": 44, - "scope": 3286, + "scope": 3740, "src": { - "line": 1231, + "line": 1402, "column": 8, - "start": 42640, - "end": 42648, + "start": 48711, + "end": 48719, "length": 9, - "parent_index": 3338 + "parent_index": 3792 }, "name_location": { - "line": 1231, + "line": 1402, "column": 16, - "start": 42648, - "end": 42648, + "start": 48719, + "end": 48719, "length": 1, - "parent_index": 3339 + "parent_index": 3793 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3340, + "id": 3794, "node_type": 30, "src": { - "line": 1231, + "line": 1402, "column": 8, - "start": 42640, - "end": 42646, + "start": 48711, + "end": 48717, "length": 7, - "parent_index": 3339 + "parent_index": 3793 }, "name": "uint256", "referenced_declaration": 0, @@ -1653,146 +1684,149 @@ } ], "initial_value": { - "id": 3341, + "id": 3795, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1231, + "line": 1402, "column": 20, - "start": 42652, - "end": 42669, + "start": 48723, + "end": 48740, "length": 18, - "parent_index": 3338 + "parent_index": 3792 }, "member_location": { - "line": 1231, + "line": 1402, "column": 32, - "start": 42664, - "end": 42669, + "start": 48735, + "end": 48740, "length": 6, - "parent_index": 3341 + "parent_index": 3795 }, "expression": { - "id": 3342, + "id": 3796, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1231, + "line": 1402, "column": 20, - "start": 42652, - "end": 42662, + "start": 48723, + "end": 48733, "length": 11, - "parent_index": 3338 + "parent_index": 3792 }, "member_location": { - "line": 1231, + "line": 1402, "column": 27, - "start": 42659, - "end": 42662, + "start": 48730, + "end": 48733, "length": 4, - "parent_index": 3342 + "parent_index": 3796 }, "expression": { - "id": 3343, + "id": 3797, "node_type": 16, "src": { - "line": 1231, + "line": 1402, "column": 20, - "start": 42652, - "end": 42657, + "start": 48723, + "end": 48728, "length": 6, - "parent_index": 3342 + "parent_index": 3796 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, "overloaded_declarations": [], - "referenced_declaration": 3343, - "is_pure": false + "referenced_declaration": 3797, + "is_pure": false, + "text": "params" }, "member_name": "path", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" - } + }, + "text": "params.path" }, "member_name": "length", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" - } + }, + "text": "params.path.length" } }, { - "id": 3344, + "id": 3798, "node_type": 79, "src": { - "line": 1232, + "line": 1403, "column": 0, - "start": 42680, - "end": 42814, + "start": 48751, + "end": 48885, "length": 135, - "parent_index": 3286 + "parent_index": 3740 }, "initialiser": { - "id": 3345, + "id": 3799, "node_type": 44, "src": { - "line": 1232, + "line": 1403, "column": 13, - "start": 42685, - "end": 42698, + "start": 48756, + "end": 48769, "length": 14, - "parent_index": 3286 + "parent_index": 3740 }, "assignments": [ - 3346 + 3800 ], "declarations": [ { - "id": 3346, + "id": 3800, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 3286, + "scope": 3740, "src": { - "line": 1232, + "line": 1403, "column": 13, - "start": 42685, - "end": 42693, + "start": 48756, + "end": 48764, "length": 9, - "parent_index": 3345 + "parent_index": 3799 }, "name_location": { - "line": 1232, + "line": 1403, "column": 21, - "start": 42693, - "end": 42693, + "start": 48764, + "end": 48764, "length": 1, - "parent_index": 3346 + "parent_index": 3800 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3347, + "id": 3801, "node_type": 30, "src": { - "line": 1232, + "line": 1403, "column": 13, - "start": 42685, - "end": 42691, + "start": 48756, + "end": 48762, "length": 7, - "parent_index": 3346 + "parent_index": 3800 }, "name": "uint256", "referenced_declaration": 0, @@ -1805,18 +1839,18 @@ } ], "initial_value": { - "id": 3348, + "id": 3802, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1232, + "line": 1403, "column": 25, - "start": 42697, - "end": 42697, + "start": 48768, + "end": 48768, "length": 1, - "parent_index": 3345 + "parent_index": 3799 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -1824,33 +1858,34 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 3349, + "id": 3803, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1232, + "line": 1403, "column": 28, - "start": 42700, - "end": 42704, + "start": 48771, + "end": 48775, "length": 5, - "parent_index": 3344 + "parent_index": 3798 }, "operator": 9, "left_expression": { - "id": 3350, + "id": 3804, "node_type": 16, "src": { - "line": 1232, + "line": 1403, "column": 28, - "start": 42700, - "end": 42700, + "start": 48771, + "end": 48771, "length": 1, - "parent_index": 3349 + "parent_index": 3803 }, "name": "i", "type_description": { @@ -1858,19 +1893,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3351, + "id": 3805, "node_type": 16, "src": { - "line": 1232, + "line": 1403, "column": 32, - "start": 42704, - "end": 42704, + "start": 48775, + "end": 48775, "length": 1, - "parent_index": 3349 + "parent_index": 3803 }, "name": "n", "type_description": { @@ -1878,8 +1914,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3338, - "is_pure": false + "referenced_declaration": 3792, + "is_pure": false, + "text": "n" }, "type_description": { "type_identifier": "t_bool", @@ -1887,27 +1924,27 @@ } }, "closure": { - "id": 3352, + "id": 3806, "node_type": 27, "src": { - "line": 1232, + "line": 1403, "column": 35, - "start": 42707, - "end": 42723, + "start": 48778, + "end": 48794, "length": 17, - "parent_index": 3344 + "parent_index": 3798 }, "operator": 11, "left_expression": { - "id": 3353, + "id": 3807, "node_type": 16, "src": { - "line": 1232, + "line": 1403, "column": 35, - "start": 42707, - "end": 42707, + "start": 48778, + "end": 48778, "length": 1, - "parent_index": 3352 + "parent_index": 3806 }, "name": "i", "type_description": { @@ -1915,20 +1952,21 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3354, + "id": 3808, "node_type": 24, "kind": 24, "src": { - "line": 1232, + "line": 1403, "column": 39, - "start": 42711, - "end": 42723, + "start": 48782, + "end": 48794, "length": 13, - "parent_index": 3352 + "parent_index": 3806 }, "argument_types": [ { @@ -1938,15 +1976,15 @@ ], "arguments": [ { - "id": 3356, + "id": 3810, "node_type": 16, "src": { - "line": 1232, + "line": 1403, "column": 50, - "start": 42722, - "end": 42722, + "start": 48793, + "end": 48793, "length": 1, - "parent_index": 3354 + "parent_index": 3808 }, "name": "i", "type_description": { @@ -1955,19 +1993,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 3355, + "id": 3809, "node_type": 16, "src": { - "line": 1232, + "line": 1403, "column": 39, - "start": 42711, - "end": 42720, + "start": 48782, + "end": 48791, "length": 10, - "parent_index": 3354 + "parent_index": 3808 }, "name": "_increment", "type_description": { @@ -1976,7 +2015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_increment" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -1989,52 +2029,52 @@ } }, "body": { - "id": 3357, + "id": 3811, "node_type": 46, "kind": 0, "src": { - "line": 1232, + "line": 1403, "column": 54, - "start": 42726, - "end": 42814, + "start": 48797, + "end": 48885, "length": 89, - "parent_index": 3344 + "parent_index": 3798 }, "implemented": true, "statements": [ { - "id": 3358, + "id": 3812, "node_type": 27, "src": { - "line": 1233, + "line": 1404, "column": 12, - "start": 42740, - "end": 42804, + "start": 48811, + "end": 48875, "length": 65, - "parent_index": 3357 + "parent_index": 3811 }, "expression": { - "id": 3359, + "id": 3813, "node_type": 27, "src": { - "line": 1233, + "line": 1404, "column": 12, - "start": 42740, - "end": 42803, + "start": 48811, + "end": 48874, "length": 64, - "parent_index": 3358 + "parent_index": 3812 }, "operator": 11, "left_expression": { - "id": 3360, + "id": 3814, "node_type": 16, "src": { - "line": 1233, + "line": 1404, "column": 12, - "start": 42740, - "end": 42748, + "start": 48811, + "end": 48819, "length": 9, - "parent_index": 3359 + "parent_index": 3813 }, "name": "amountOut", "type_description": { @@ -2043,121 +2083,124 @@ }, "overloaded_declarations": [], "referenced_declaration": 646, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { - "id": 3361, + "id": 3815, "node_type": 24, "kind": 24, "src": { - "line": 1233, + "line": 1404, "column": 24, - "start": 42752, - "end": 42803, + "start": 48823, + "end": 48874, "length": 52, - "parent_index": 3359 + "parent_index": 3813 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } ], "arguments": [ { - "id": 3370, + "id": 3824, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1233, + "line": 1404, "column": 56, - "start": 42784, - "end": 42802, + "start": 48855, + "end": 48873, "length": 19, - "parent_index": 3361 + "parent_index": 3815 }, "member_location": { - "line": 1233, + "line": 1404, "column": 71, - "start": 42799, - "end": 42802, + "start": 48870, + "end": 48873, "length": 4, - "parent_index": 3370 + "parent_index": 3824 }, "expression": { - "id": 3371, + "id": 3825, "node_type": 22, "src": { - "line": 1233, + "line": 1404, "column": 56, - "start": 42784, - "end": 42797, + "start": 48855, + "end": 48868, "length": 14, - "parent_index": 3370 + "parent_index": 3824 }, "index_expression": { - "id": 3372, + "id": 3826, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1233, + "line": 1404, "column": 56, - "start": 42784, - "end": 42794, + "start": 48855, + "end": 48865, "length": 11, - "parent_index": 3371 + "parent_index": 3825 }, "member_location": { - "line": 1233, + "line": 1404, "column": 63, - "start": 42791, - "end": 42794, + "start": 48862, + "end": 48865, "length": 4, - "parent_index": 3372 + "parent_index": 3826 }, "expression": { - "id": 3373, + "id": 3827, "node_type": 16, "src": { - "line": 1233, + "line": 1404, "column": 56, - "start": 42784, - "end": 42789, + "start": 48855, + "end": 48860, "length": 6, - "parent_index": 3372 + "parent_index": 3826 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "path", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.path" }, "base_expression": { - "id": 3374, + "id": 3828, "node_type": 16, "src": { - "line": 1233, + "line": 1404, "column": 68, - "start": 42796, - "end": 42796, + "start": 48867, + "end": 48867, "length": 1, - "parent_index": 3371 + "parent_index": 3825 }, "name": "i", "type_description": { @@ -2165,13 +2208,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -2179,154 +2223,157 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "data", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.path[i].data" } ], "expression": { - "id": 3362, + "id": 3816, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1233, + "line": 1404, "column": 24, - "start": 42752, - "end": 42782, + "start": 48823, + "end": 48853, "length": 31, - "parent_index": 3361 + "parent_index": 3815 }, "member_location": { - "line": 1233, + "line": 1404, "column": 51, - "start": 42779, - "end": 42782, + "start": 48850, + "end": 48853, "length": 4, - "parent_index": 3362 + "parent_index": 3816 }, "expression": { - "id": 3363, + "id": 3817, "node_type": 24, "kind": 24, "src": { - "line": 1233, + "line": 1404, "column": 24, - "start": 42752, - "end": 42777, + "start": 48823, + "end": 48848, "length": 26, - "parent_index": 3362 + "parent_index": 3816 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } ], "arguments": [ { - "id": 3365, + "id": 3819, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1233, + "line": 1404, "column": 30, - "start": 42758, - "end": 42776, + "start": 48829, + "end": 48847, "length": 19, - "parent_index": 3363 + "parent_index": 3817 }, "member_location": { - "line": 1233, + "line": 1404, "column": 45, - "start": 42773, - "end": 42776, + "start": 48844, + "end": 48847, "length": 4, - "parent_index": 3365 + "parent_index": 3819 }, "expression": { - "id": 3366, + "id": 3820, "node_type": 22, "src": { - "line": 1233, + "line": 1404, "column": 30, - "start": 42758, - "end": 42771, + "start": 48829, + "end": 48842, "length": 14, - "parent_index": 3365 + "parent_index": 3819 }, "index_expression": { - "id": 3367, + "id": 3821, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1233, + "line": 1404, "column": 30, - "start": 42758, - "end": 42768, + "start": 48829, + "end": 48839, "length": 11, - "parent_index": 3366 + "parent_index": 3820 }, "member_location": { - "line": 1233, + "line": 1404, "column": 37, - "start": 42765, - "end": 42768, + "start": 48836, + "end": 48839, "length": 4, - "parent_index": 3367 + "parent_index": 3821 }, "expression": { - "id": 3368, + "id": 3822, "node_type": 16, "src": { - "line": 1233, + "line": 1404, "column": 30, - "start": 42758, - "end": 42763, + "start": 48829, + "end": 48834, "length": 6, - "parent_index": 3367 + "parent_index": 3821 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "path", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.path" }, "base_expression": { - "id": 3369, + "id": 3823, "node_type": 16, "src": { - "line": 1233, + "line": 1404, "column": 42, - "start": 42770, - "end": 42770, + "start": 48841, + "end": 48841, "length": 1, - "parent_index": 3366 + "parent_index": 3820 }, "name": "i", "type_description": { @@ -2334,13 +2381,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -2348,28 +2396,29 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "pool", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.path[i].pool" } ], "expression": { - "id": 3364, + "id": 3818, "node_type": 16, "src": { - "line": 1233, + "line": 1404, "column": 24, - "start": 42752, - "end": 42756, + "start": 48823, + "end": 48827, "length": 5, - "parent_index": 3363 + "parent_index": 3817 }, "name": "IPool", "type_description": { @@ -2378,23 +2427,25 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IPool" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } }, "member_name": "swap", "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + }, + "text": "IPool(params.path[i].pool).swap" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } }, "type_description": { @@ -2405,46 +2456,47 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountOut=IPool(params.path[i].pool).swap(params.path[i].data);" } ] } }, { - "id": 3375, + "id": 3829, "node_type": 48, "src": { - "line": 1236, + "line": 1407, "column": 0, - "start": 42915, - "end": 42982, + "start": 48986, + "end": 49053, "length": 68, - "parent_index": 3286 + "parent_index": 3740 }, "condition": { - "id": 3376, + "id": 3830, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1236, + "line": 1407, "column": 12, - "start": 42919, - "end": 42953, + "start": 48990, + "end": 49024, "length": 35, - "parent_index": 3375 + "parent_index": 3829 }, "operator": 9, "left_expression": { - "id": 3377, + "id": 3831, "node_type": 16, "src": { - "line": 1236, + "line": 1407, "column": 12, - "start": 42919, - "end": 42927, + "start": 48990, + "end": 48998, "length": 9, - "parent_index": 3376 + "parent_index": 3830 }, "name": "amountOut", "type_description": { @@ -2453,57 +2505,60 @@ }, "overloaded_declarations": [], "referenced_declaration": 646, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { - "id": 3378, + "id": 3832, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1236, + "line": 1407, "column": 24, - "start": 42931, - "end": 42953, + "start": 49002, + "end": 49024, "length": 23, - "parent_index": 3376 + "parent_index": 3830 }, "member_location": { - "line": 1236, + "line": 1407, "column": 31, - "start": 42938, - "end": 42953, + "start": 49009, + "end": 49024, "length": 16, - "parent_index": 3378 + "parent_index": 3832 }, "expression": { - "id": 3379, + "id": 3833, "node_type": 16, "src": { - "line": 1236, + "line": 1407, "column": 24, - "start": 42931, - "end": 42936, + "start": 49002, + "end": 49007, "length": 6, - "parent_index": 3378 + "parent_index": 3832 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" }, "overloaded_declarations": [], - "referenced_declaration": 3379, - "is_pure": false + "referenced_declaration": 3833, + "is_pure": false, + "text": "params" }, "member_name": "amountOutMinimum", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" - } + }, + "text": "params.amountOutMinimum" }, "type_description": { "type_identifier": "t_bool", @@ -2511,7 +2566,7 @@ } }, "body": { - "id": 3380, + "id": 3834, "node_type": 46, "kind": 0, "src": { @@ -2534,66 +2589,66 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3279, + "id": 3733, "node_type": 43, "src": { - "line": 1203, + "line": 1374, "column": 25, - "start": 41628, - "end": 41657, + "start": 47699, + "end": 47728, "length": 30, - "parent_index": 3278 + "parent_index": 3732 }, "parameters": [ { - "id": 3280, + "id": 3734, "node_type": 44, "src": { - "line": 1203, + "line": 1374, "column": 25, - "start": 41628, - "end": 41657, + "start": 47699, + "end": 47728, "length": 30, - "parent_index": 3279 + "parent_index": 3733 }, - "scope": 3278, + "scope": 3732, "name": "params", "type_name": { - "id": 3281, + "id": 3735, "node_type": 69, "src": { - "line": 1203, + "line": 1374, "column": 25, - "start": 41628, - "end": 41643, + "start": 47699, + "end": 47714, "length": 16, - "parent_index": 3280 + "parent_index": 3734 }, "path_node": { - "id": 3282, + "id": 3736, "name": "ExactInputParams", "node_type": 52, - "referenced_declaration": 3101, + "referenced_declaration": 3545, "src": { - "line": 1203, + "line": 1374, "column": 25, - "start": 41628, - "end": 41643, + "start": 47699, + "end": 47714, "length": 16, - "parent_index": 3281 + "parent_index": 3735 }, "name_location": { - "line": 1203, + "line": 1374, "column": 25, - "start": 41628, - "end": 41643, + "start": 47699, + "end": 47714, "length": 16, - "parent_index": 3281 + "parent_index": 3735 } }, - "referenced_declaration": 3101, + "referenced_declaration": 3545, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" } }, @@ -2601,53 +2656,53 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", + "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3545", "type_string": "struct ITridentRouter.ExactInputParams" } ] }, "return_parameters": { - "id": 3283, + "id": 3737, "node_type": 43, "src": { - "line": 1205, + "line": 1376, "column": 17, - "start": 41694, - "end": 41710, + "start": 47765, + "end": 47781, "length": 17, - "parent_index": 3278 + "parent_index": 3732 }, "parameters": [ { - "id": 3284, + "id": 3738, "node_type": 44, "src": { - "line": 1205, + "line": 1376, "column": 17, - "start": 41694, - "end": 41710, + "start": 47765, + "end": 47781, "length": 17, - "parent_index": 3283 + "parent_index": 3737 }, - "scope": 3278, + "scope": 3732, "name": "amountOut", "type_name": { - "id": 3285, + "id": 3739, "node_type": 30, "src": { - "line": 1205, + "line": 1376, "column": 17, - "start": 41694, - "end": 41700, + "start": 47765, + "end": 47771, "length": 7, - "parent_index": 3284 + "parent_index": 3738 }, "name": "uint256", "referenced_declaration": 0, @@ -2674,96 +2729,97 @@ }, "signature_raw": "_exactInput()", "signature": "d9c63675", - "scope": 3265, + "scope": 3719, "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3101$", + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ExactInputParams_$3545$", "type_string": "function(struct ITridentRouter.ExactInputParams)" - } + }, + "text": "function_exactInput(ExactInputParamsmemoryparams)internalreturns(uint256amountOut){if(params.amountIn==0){uint256tokenBalance=IERC20(params.tokenIn).balanceOf(address(this));_transferTokens(IERC20(params.tokenIn),address(bentoBox),tokenBalance);(,params.amountIn)=bentoBox.deposit(params.tokenIn,address(bentoBox),params.path[0].pool,tokenBalance,0);}uint256n=params.path.length;for(uint256i=0;i\u003cn;i=_increment(i)){amountOut=IPool(params.path[i].pool).swap(params.path[i].data);}if(amountOut\u003cparams.amountOutMinimum)revertTooLittleReceived();}" }, { - "id": 3382, + "id": 3836, "name": "_complexPath", "node_type": 42, "kind": 41, "src": { - "line": 1245, + "line": 1416, "column": 4, - "start": 43542, - "end": 45904, + "start": 49613, + "end": 51975, "length": 2363, - "parent_index": 3265 + "parent_index": 3719 }, "name_location": { - "line": 1245, + "line": 1416, "column": 13, - "start": 43551, - "end": 43562, + "start": 49622, + "end": 49633, "length": 12, - "parent_index": 3382 + "parent_index": 3836 }, "body": { - "id": 3388, + "id": 3842, "node_type": 46, "kind": 0, "src": { - "line": 1245, + "line": 1416, "column": 68, - "start": 43606, - "end": 45904, + "start": 49677, + "end": 51975, "length": 2299, - "parent_index": 3382 + "parent_index": 3836 }, "implemented": true, "statements": [ { - "id": 3389, + "id": 3843, "node_type": 44, "src": { - "line": 1248, + "line": 1419, "column": 8, - "start": 43775, - "end": 43812, + "start": 49846, + "end": 49883, "length": 38, - "parent_index": 3388 + "parent_index": 3842 }, "assignments": [ - 3390 + 3844 ], "declarations": [ { - "id": 3390, + "id": 3844, "state_mutability": 1, "name": "n", "node_type": 44, - "scope": 3388, + "scope": 3842, "src": { - "line": 1248, + "line": 1419, "column": 8, - "start": 43775, - "end": 43783, + "start": 49846, + "end": 49854, "length": 9, - "parent_index": 3389 + "parent_index": 3843 }, "name_location": { - "line": 1248, + "line": 1419, "column": 16, - "start": 43783, - "end": 43783, + "start": 49854, + "end": 49854, "length": 1, - "parent_index": 3390 + "parent_index": 3844 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3391, + "id": 3845, "node_type": 30, "src": { - "line": 1248, + "line": 1419, "column": 8, - "start": 43775, - "end": 43781, + "start": 49846, + "end": 49852, "length": 7, - "parent_index": 3390 + "parent_index": 3844 }, "name": "uint256", "referenced_declaration": 0, @@ -2776,146 +2832,149 @@ } ], "initial_value": { - "id": 3392, + "id": 3846, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1248, + "line": 1419, "column": 20, - "start": 43787, - "end": 43811, + "start": 49858, + "end": 49882, "length": 25, - "parent_index": 3389 + "parent_index": 3843 }, "member_location": { - "line": 1248, + "line": 1419, "column": 39, - "start": 43806, - "end": 43811, + "start": 49877, + "end": 49882, "length": 6, - "parent_index": 3392 + "parent_index": 3846 }, "expression": { - "id": 3393, + "id": 3847, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1248, + "line": 1419, "column": 20, - "start": 43787, - "end": 43804, + "start": 49858, + "end": 49875, "length": 18, - "parent_index": 3389 + "parent_index": 3843 }, "member_location": { - "line": 1248, + "line": 1419, "column": 27, - "start": 43794, - "end": 43804, + "start": 49865, + "end": 49875, "length": 11, - "parent_index": 3393 + "parent_index": 3847 }, "expression": { - "id": 3394, + "id": 3848, "node_type": 16, "src": { - "line": 1248, + "line": 1419, "column": 20, - "start": 43787, - "end": 43792, + "start": 49858, + "end": 49863, "length": 6, - "parent_index": 3393 + "parent_index": 3847 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" }, "overloaded_declarations": [], - "referenced_declaration": 3394, - "is_pure": false + "referenced_declaration": 3848, + "is_pure": false, + "text": "params" }, "member_name": "initialPath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" - } + }, + "text": "params.initialPath" }, "member_name": "length", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" - } + }, + "text": "params.initialPath.length" } }, { - "id": 3395, + "id": 3849, "node_type": 79, "src": { - "line": 1249, + "line": 1420, "column": 0, - "start": 43822, - "end": 44171, + "start": 49893, + "end": 50242, "length": 350, - "parent_index": 3388 + "parent_index": 3842 }, "initialiser": { - "id": 3396, + "id": 3850, "node_type": 44, "src": { - "line": 1249, + "line": 1420, "column": 13, - "start": 43827, - "end": 43840, + "start": 49898, + "end": 49911, "length": 14, - "parent_index": 3388 + "parent_index": 3842 }, "assignments": [ - 3397 + 3851 ], "declarations": [ { - "id": 3397, + "id": 3851, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 3388, + "scope": 3842, "src": { - "line": 1249, + "line": 1420, "column": 13, - "start": 43827, - "end": 43835, + "start": 49898, + "end": 49906, "length": 9, - "parent_index": 3396 + "parent_index": 3850 }, "name_location": { - "line": 1249, + "line": 1420, "column": 21, - "start": 43835, - "end": 43835, + "start": 49906, + "end": 49906, "length": 1, - "parent_index": 3397 + "parent_index": 3851 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3398, + "id": 3852, "node_type": 30, "src": { - "line": 1249, + "line": 1420, "column": 13, - "start": 43827, - "end": 43833, + "start": 49898, + "end": 49904, "length": 7, - "parent_index": 3397 + "parent_index": 3851 }, "name": "uint256", "referenced_declaration": 0, @@ -2928,18 +2987,18 @@ } ], "initial_value": { - "id": 3399, + "id": 3853, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1249, + "line": 1420, "column": 25, - "start": 43839, - "end": 43839, + "start": 49910, + "end": 49910, "length": 1, - "parent_index": 3396 + "parent_index": 3850 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -2947,33 +3006,34 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 3400, + "id": 3854, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1249, + "line": 1420, "column": 28, - "start": 43842, - "end": 43846, + "start": 49913, + "end": 49917, "length": 5, - "parent_index": 3395 + "parent_index": 3849 }, "operator": 9, "left_expression": { - "id": 3401, + "id": 3855, "node_type": 16, "src": { - "line": 1249, + "line": 1420, "column": 28, - "start": 43842, - "end": 43842, + "start": 49913, + "end": 49913, "length": 1, - "parent_index": 3400 + "parent_index": 3854 }, "name": "i", "type_description": { @@ -2981,19 +3041,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3402, + "id": 3856, "node_type": 16, "src": { - "line": 1249, + "line": 1420, "column": 32, - "start": 43846, - "end": 43846, + "start": 49917, + "end": 49917, "length": 1, - "parent_index": 3400 + "parent_index": 3854 }, "name": "n", "type_description": { @@ -3001,8 +3062,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" }, "type_description": { "type_identifier": "t_bool", @@ -3010,27 +3072,27 @@ } }, "closure": { - "id": 3403, + "id": 3857, "node_type": 27, "src": { - "line": 1249, + "line": 1420, "column": 35, - "start": 43849, - "end": 43865, + "start": 49920, + "end": 49936, "length": 17, - "parent_index": 3395 + "parent_index": 3849 }, "operator": 11, "left_expression": { - "id": 3404, + "id": 3858, "node_type": 16, "src": { - "line": 1249, + "line": 1420, "column": 35, - "start": 43849, - "end": 43849, + "start": 49920, + "end": 49920, "length": 1, - "parent_index": 3403 + "parent_index": 3857 }, "name": "i", "type_description": { @@ -3038,20 +3100,21 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3405, + "id": 3859, "node_type": 24, "kind": 24, "src": { - "line": 1249, + "line": 1420, "column": 39, - "start": 43853, - "end": 43865, + "start": 49924, + "end": 49936, "length": 13, - "parent_index": 3403 + "parent_index": 3857 }, "argument_types": [ { @@ -3061,15 +3124,15 @@ ], "arguments": [ { - "id": 3407, + "id": 3861, "node_type": 16, "src": { - "line": 1249, + "line": 1420, "column": 50, - "start": 43864, - "end": 43864, + "start": 49935, + "end": 49935, "length": 1, - "parent_index": 3405 + "parent_index": 3859 }, "name": "i", "type_description": { @@ -3078,19 +3141,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 3406, + "id": 3860, "node_type": 16, "src": { - "line": 1249, + "line": 1420, "column": 39, - "start": 43853, - "end": 43862, + "start": 49924, + "end": 49933, "length": 10, - "parent_index": 3405 + "parent_index": 3859 }, "name": "_increment", "type_description": { @@ -3099,7 +3163,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_increment" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -3112,144 +3177,146 @@ } }, "body": { - "id": 3408, + "id": 3862, "node_type": 46, "kind": 0, "src": { - "line": 1249, + "line": 1420, "column": 54, - "start": 43868, - "end": 44171, + "start": 49939, + "end": 50242, "length": 304, - "parent_index": 3395 + "parent_index": 3849 }, "implemented": true, "statements": [ { - "id": 3409, + "id": 3863, "node_type": 24, "kind": 24, "src": { - "line": 1250, + "line": 1421, "column": 12, - "start": 43882, - "end": 44080, + "start": 49953, + "end": 50151, "length": 199, - "parent_index": 3408 + "parent_index": 3862 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } ], "arguments": [ { - "id": 3412, + "id": 3866, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1251, + "line": 1422, "column": 16, - "start": 43917, - "end": 43945, + "start": 49988, + "end": 50016, "length": 29, - "parent_index": 3409 + "parent_index": 3863 }, "member_location": { - "line": 1251, + "line": 1422, "column": 38, - "start": 43939, - "end": 43945, + "start": 50010, + "end": 50016, "length": 7, - "parent_index": 3412 + "parent_index": 3866 }, "expression": { - "id": 3413, + "id": 3867, "node_type": 22, "src": { - "line": 1251, + "line": 1422, "column": 16, - "start": 43917, - "end": 43937, + "start": 49988, + "end": 50008, "length": 21, - "parent_index": 3412 + "parent_index": 3866 }, "index_expression": { - "id": 3414, + "id": 3868, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1251, + "line": 1422, "column": 16, - "start": 43917, - "end": 43934, + "start": 49988, + "end": 50005, "length": 18, - "parent_index": 3413 + "parent_index": 3867 }, "member_location": { - "line": 1251, + "line": 1422, "column": 23, - "start": 43924, - "end": 43934, + "start": 49995, + "end": 50005, "length": 11, - "parent_index": 3414 + "parent_index": 3868 }, "expression": { - "id": 3415, + "id": 3869, "node_type": 16, "src": { - "line": 1251, + "line": 1422, "column": 16, - "start": 43917, - "end": 43922, + "start": 49988, + "end": 49993, "length": 6, - "parent_index": 3414 + "parent_index": 3868 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "initialPath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.initialPath" }, "base_expression": { - "id": 3416, + "id": 3870, "node_type": 16, "src": { - "line": 1251, + "line": 1422, "column": 35, - "start": 43936, - "end": 43936, + "start": 50007, + "end": 50007, "length": 1, - "parent_index": 3413 + "parent_index": 3867 }, "name": "i", "type_description": { @@ -3257,13 +3324,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -3271,79 +3339,81 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "tokenIn", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.initialPath[i].tokenIn" }, { - "id": 3417, + "id": 3871, "node_type": 24, "kind": 24, "src": { - "line": 1252, + "line": 1423, "column": 16, - "start": 43964, - "end": 43976, + "start": 50035, + "end": 50047, "length": 13, - "parent_index": 3409 + "parent_index": 3863 }, "argument_types": [ { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" } ], "arguments": [ { - "id": 3420, + "id": 3874, "node_type": 16, "src": { - "line": 1252, + "line": 1423, "column": 24, - "start": 43972, - "end": 43975, + "start": 50043, + "end": 50046, "length": 4, - "parent_index": 3417 + "parent_index": 3871 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3418, + "id": 3872, "node_type": 16, "src": { - "line": 1252, + "line": 1423, "column": 16, - "start": 43964, - "end": 43970, + "start": 50035, + "end": 50041, "length": 7, - "parent_index": 3417 + "parent_index": 3871 }, "name": "address", "type_name": { - "id": 3419, + "id": 3873, "node_type": 30, "src": { - "line": 1252, + "line": 1423, "column": 16, - "start": 43964, - "end": 43970, + "start": 50035, + "end": 50041, "length": 7, - "parent_index": 3418 + "parent_index": 3872 }, "name": "address", "state_mutability": 4, @@ -3365,7 +3435,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -3373,99 +3444,101 @@ } }, { - "id": 3421, + "id": 3875, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1253, + "line": 1424, "column": 16, - "start": 43995, - "end": 44020, + "start": 50066, + "end": 50091, "length": 26, - "parent_index": 3409 + "parent_index": 3863 }, "member_location": { - "line": 1253, + "line": 1424, "column": 38, - "start": 44017, - "end": 44020, + "start": 50088, + "end": 50091, "length": 4, - "parent_index": 3421 + "parent_index": 3875 }, "expression": { - "id": 3422, + "id": 3876, "node_type": 22, "src": { - "line": 1253, + "line": 1424, "column": 16, - "start": 43995, - "end": 44015, + "start": 50066, + "end": 50086, "length": 21, - "parent_index": 3421 + "parent_index": 3875 }, "index_expression": { - "id": 3423, + "id": 3877, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1253, + "line": 1424, "column": 16, - "start": 43995, - "end": 44012, + "start": 50066, + "end": 50083, "length": 18, - "parent_index": 3422 + "parent_index": 3876 }, "member_location": { - "line": 1253, + "line": 1424, "column": 23, - "start": 44002, - "end": 44012, + "start": 50073, + "end": 50083, "length": 11, - "parent_index": 3423 + "parent_index": 3877 }, "expression": { - "id": 3424, + "id": 3878, "node_type": 16, "src": { - "line": 1253, + "line": 1424, "column": 16, - "start": 43995, - "end": 44000, + "start": 50066, + "end": 50071, "length": 6, - "parent_index": 3423 + "parent_index": 3877 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "initialPath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.initialPath" }, "base_expression": { - "id": 3425, + "id": 3879, "node_type": 16, "src": { - "line": 1253, + "line": 1424, "column": 35, - "start": 44014, - "end": 44014, + "start": 50085, + "end": 50085, "length": 1, - "parent_index": 3422 + "parent_index": 3876 }, "name": "i", "type_description": { @@ -3473,13 +3546,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -3487,15 +3561,15 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "pool", "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", @@ -3503,104 +3577,107 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.initialPath[i].pool" }, { - "id": 3426, + "id": 3880, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1254, + "line": 1425, "column": 16, - "start": 44039, - "end": 44066, + "start": 50110, + "end": 50137, "length": 28, - "parent_index": 3409 + "parent_index": 3863 }, "member_location": { - "line": 1254, + "line": 1425, "column": 38, - "start": 44061, - "end": 44066, + "start": 50132, + "end": 50137, "length": 6, - "parent_index": 3426 + "parent_index": 3880 }, "expression": { - "id": 3427, + "id": 3881, "node_type": 22, "src": { - "line": 1254, + "line": 1425, "column": 16, - "start": 44039, - "end": 44059, + "start": 50110, + "end": 50130, "length": 21, - "parent_index": 3426 + "parent_index": 3880 }, "index_expression": { - "id": 3428, + "id": 3882, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1254, + "line": 1425, "column": 16, - "start": 44039, - "end": 44056, + "start": 50110, + "end": 50127, "length": 18, - "parent_index": 3427 + "parent_index": 3881 }, "member_location": { - "line": 1254, + "line": 1425, "column": 23, - "start": 44046, - "end": 44056, + "start": 50117, + "end": 50127, "length": 11, - "parent_index": 3428 + "parent_index": 3882 }, "expression": { - "id": 3429, + "id": 3883, "node_type": 16, "src": { - "line": 1254, + "line": 1425, "column": 16, - "start": 44039, - "end": 44044, + "start": 50110, + "end": 50115, "length": 6, - "parent_index": 3428 + "parent_index": 3882 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "initialPath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.initialPath" }, "base_expression": { - "id": 3430, + "id": 3884, "node_type": 16, "src": { - "line": 1254, + "line": 1425, "column": 35, - "start": 44058, - "end": 44058, + "start": 50129, + "end": 50129, "length": 1, - "parent_index": 3427 + "parent_index": 3881 }, "name": "i", "type_description": { @@ -3608,13 +3685,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -3622,64 +3700,65 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "amount", "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.initialPath[i].amount" } ], "expression": { - "id": 3410, + "id": 3864, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1250, + "line": 1421, "column": 12, - "start": 43882, - "end": 43898, + "start": 49953, + "end": 49969, "length": 17, - "parent_index": 3409 + "parent_index": 3863 }, "member_location": { - "line": 1250, + "line": 1421, "column": 21, - "start": 43891, - "end": 43898, + "start": 49962, + "end": 49969, "length": 8, - "parent_index": 3410 + "parent_index": 3864 }, "expression": { - "id": 3411, + "id": 3865, "node_type": 16, "src": { - "line": 1250, + "line": 1421, "column": 12, - "start": 43882, - "end": 43889, + "start": 49953, + "end": 49960, "length": 8, - "parent_index": 3410 + "parent_index": 3864 }, "name": "bentoBox", "type_description": { @@ -3688,133 +3767,137 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.transfer" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],index[struct ITridentRouter.ExactInputParams:uint256])" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],index[struct StargateAdapter.StargateTeleportParams:uint256])" } }, { - "id": 3431, + "id": 3885, "node_type": 24, "kind": 24, "src": { - "line": 1256, + "line": 1427, "column": 12, - "start": 44095, - "end": 44160, + "start": 50166, + "end": 50231, "length": 66, - "parent_index": 3408 + "parent_index": 3862 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } ], "arguments": [ { - "id": 3440, + "id": 3894, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1256, + "line": 1427, "column": 51, - "start": 44134, - "end": 44159, + "start": 50205, + "end": 50230, "length": 26, - "parent_index": 3431 + "parent_index": 3885 }, "member_location": { - "line": 1256, + "line": 1427, "column": 73, - "start": 44156, - "end": 44159, + "start": 50227, + "end": 50230, "length": 4, - "parent_index": 3440 + "parent_index": 3894 }, "expression": { - "id": 3441, + "id": 3895, "node_type": 22, "src": { - "line": 1256, + "line": 1427, "column": 51, - "start": 44134, - "end": 44154, + "start": 50205, + "end": 50225, "length": 21, - "parent_index": 3440 + "parent_index": 3894 }, "index_expression": { - "id": 3442, + "id": 3896, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1256, + "line": 1427, "column": 51, - "start": 44134, - "end": 44151, + "start": 50205, + "end": 50222, "length": 18, - "parent_index": 3441 + "parent_index": 3895 }, "member_location": { - "line": 1256, + "line": 1427, "column": 58, - "start": 44141, - "end": 44151, + "start": 50212, + "end": 50222, "length": 11, - "parent_index": 3442 + "parent_index": 3896 }, "expression": { - "id": 3443, + "id": 3897, "node_type": 16, "src": { - "line": 1256, + "line": 1427, "column": 51, - "start": 44134, - "end": 44139, + "start": 50205, + "end": 50210, "length": 6, - "parent_index": 3442 + "parent_index": 3896 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "initialPath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.initialPath" }, "base_expression": { - "id": 3444, + "id": 3898, "node_type": 16, "src": { - "line": 1256, + "line": 1427, "column": 70, - "start": 44153, - "end": 44153, + "start": 50224, + "end": 50224, "length": 1, - "parent_index": 3441 + "parent_index": 3895 }, "name": "i", "type_description": { @@ -3822,13 +3905,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -3836,154 +3920,157 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "data", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.initialPath[i].data" } ], "expression": { - "id": 3432, + "id": 3886, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1256, + "line": 1427, "column": 12, - "start": 44095, - "end": 44132, + "start": 50166, + "end": 50203, "length": 38, - "parent_index": 3431 + "parent_index": 3885 }, "member_location": { - "line": 1256, + "line": 1427, "column": 46, - "start": 44129, - "end": 44132, + "start": 50200, + "end": 50203, "length": 4, - "parent_index": 3432 + "parent_index": 3886 }, "expression": { - "id": 3433, + "id": 3887, "node_type": 24, "kind": 24, "src": { - "line": 1256, + "line": 1427, "column": 12, - "start": 44095, - "end": 44127, + "start": 50166, + "end": 50198, "length": 33, - "parent_index": 3432 + "parent_index": 3886 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } ], "arguments": [ { - "id": 3435, + "id": 3889, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1256, + "line": 1427, "column": 18, - "start": 44101, - "end": 44126, + "start": 50172, + "end": 50197, "length": 26, - "parent_index": 3433 + "parent_index": 3887 }, "member_location": { - "line": 1256, + "line": 1427, "column": 40, - "start": 44123, - "end": 44126, + "start": 50194, + "end": 50197, "length": 4, - "parent_index": 3435 + "parent_index": 3889 }, "expression": { - "id": 3436, + "id": 3890, "node_type": 22, "src": { - "line": 1256, + "line": 1427, "column": 18, - "start": 44101, - "end": 44121, + "start": 50172, + "end": 50192, "length": 21, - "parent_index": 3435 + "parent_index": 3889 }, "index_expression": { - "id": 3437, + "id": 3891, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1256, + "line": 1427, "column": 18, - "start": 44101, - "end": 44118, + "start": 50172, + "end": 50189, "length": 18, - "parent_index": 3436 + "parent_index": 3890 }, "member_location": { - "line": 1256, + "line": 1427, "column": 25, - "start": 44108, - "end": 44118, + "start": 50179, + "end": 50189, "length": 11, - "parent_index": 3437 + "parent_index": 3891 }, "expression": { - "id": 3438, + "id": 3892, "node_type": 16, "src": { - "line": 1256, + "line": 1427, "column": 18, - "start": 44101, - "end": 44106, + "start": 50172, + "end": 50177, "length": 6, - "parent_index": 3437 + "parent_index": 3891 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "initialPath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.initialPath" }, "base_expression": { - "id": 3439, + "id": 3893, "node_type": 16, "src": { - "line": 1256, + "line": 1427, "column": 37, - "start": 44120, - "end": 44120, + "start": 50191, + "end": 50191, "length": 1, - "parent_index": 3436 + "parent_index": 3890 }, "name": "i", "type_description": { @@ -3991,13 +4078,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -4005,28 +4093,29 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "pool", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.initialPath[i].pool" } ], "expression": { - "id": 3434, + "id": 3888, "node_type": 16, "src": { - "line": 1256, + "line": 1427, "column": 12, - "start": 44095, - "end": 44099, + "start": 50166, + "end": 50170, "length": 5, - "parent_index": 3433 + "parent_index": 3887 }, "name": "IPool", "type_description": { @@ -4035,61 +4124,63 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IPool" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } }, "member_name": "swap", "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + }, + "text": "IPool(params.initialPath[i].pool).swap" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } } ] } }, { - "id": 3445, + "id": 3899, "node_type": 27, "src": { - "line": 1259, + "line": 1430, "column": 8, - "start": 44250, - "end": 44282, + "start": 50321, + "end": 50353, "length": 33, - "parent_index": 3388 + "parent_index": 3842 }, "expression": { - "id": 3446, + "id": 3900, "node_type": 27, "src": { - "line": 1259, + "line": 1430, "column": 8, - "start": 44250, - "end": 44281, + "start": 50321, + "end": 50352, "length": 32, - "parent_index": 3445 + "parent_index": 3899 }, "operator": 11, "left_expression": { - "id": 3447, + "id": 3901, "node_type": 16, "src": { - "line": 1259, + "line": 1430, "column": 8, - "start": 44250, - "end": 44250, + "start": 50321, + "end": 50321, "length": 1, - "parent_index": 3446 + "parent_index": 3900 }, "name": "n", "type_description": { @@ -4097,88 +4188,92 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" }, "right_expression": { - "id": 3448, + "id": 3902, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1259, + "line": 1430, "column": 12, - "start": 44254, - "end": 44281, + "start": 50325, + "end": 50352, "length": 28, - "parent_index": 3446 + "parent_index": 3900 }, "member_location": { - "line": 1259, + "line": 1430, "column": 34, - "start": 44276, - "end": 44281, + "start": 50347, + "end": 50352, "length": 6, - "parent_index": 3448 + "parent_index": 3902 }, "expression": { - "id": 3449, + "id": 3903, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1259, + "line": 1430, "column": 12, - "start": 44254, - "end": 44274, + "start": 50325, + "end": 50345, "length": 21, - "parent_index": 3448 + "parent_index": 3902 }, "member_location": { - "line": 1259, + "line": 1430, "column": 19, - "start": 44261, - "end": 44274, + "start": 50332, + "end": 50345, "length": 14, - "parent_index": 3449 + "parent_index": 3903 }, "expression": { - "id": 3450, + "id": 3904, "node_type": 16, "src": { - "line": 1259, + "line": 1430, "column": 12, - "start": 44254, - "end": 44259, + "start": 50325, + "end": 50330, "length": 6, - "parent_index": 3449 + "parent_index": 3903 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" }, "overloaded_declarations": [], - "referenced_declaration": 3450, - "is_pure": false + "referenced_declaration": 3904, + "is_pure": false, + "text": "params" }, "member_name": "percentagePath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" - } + }, + "text": "params.percentagePath" }, "member_name": "length", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" - } + }, + "text": "params.percentagePath.length" }, "type_description": { "type_identifier": "t_uint256", @@ -4188,68 +4283,69 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "n=params.percentagePath.length;" }, { - "id": 3451, + "id": 3905, "node_type": 79, "src": { - "line": 1260, + "line": 1431, "column": 0, - "start": 44292, - "end": 44952, + "start": 50363, + "end": 51023, "length": 661, - "parent_index": 3388 + "parent_index": 3842 }, "initialiser": { - "id": 3452, + "id": 3906, "node_type": 44, "src": { - "line": 1260, + "line": 1431, "column": 13, - "start": 44297, - "end": 44310, + "start": 50368, + "end": 50381, "length": 14, - "parent_index": 3388 + "parent_index": 3842 }, "assignments": [ - 3453 + 3907 ], "declarations": [ { - "id": 3453, + "id": 3907, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 3388, + "scope": 3842, "src": { - "line": 1260, + "line": 1431, "column": 13, - "start": 44297, - "end": 44305, + "start": 50368, + "end": 50376, "length": 9, - "parent_index": 3452 + "parent_index": 3906 }, "name_location": { - "line": 1260, + "line": 1431, "column": 21, - "start": 44305, - "end": 44305, + "start": 50376, + "end": 50376, "length": 1, - "parent_index": 3453 + "parent_index": 3907 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3454, + "id": 3908, "node_type": 30, "src": { - "line": 1260, + "line": 1431, "column": 13, - "start": 44297, - "end": 44303, + "start": 50368, + "end": 50374, "length": 7, - "parent_index": 3453 + "parent_index": 3907 }, "name": "uint256", "referenced_declaration": 0, @@ -4262,18 +4358,18 @@ } ], "initial_value": { - "id": 3455, + "id": 3909, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1260, + "line": 1431, "column": 25, - "start": 44309, - "end": 44309, + "start": 50380, + "end": 50380, "length": 1, - "parent_index": 3452 + "parent_index": 3906 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4281,33 +4377,34 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 3456, + "id": 3910, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1260, + "line": 1431, "column": 28, - "start": 44312, - "end": 44316, + "start": 50383, + "end": 50387, "length": 5, - "parent_index": 3451 + "parent_index": 3905 }, "operator": 9, "left_expression": { - "id": 3457, + "id": 3911, "node_type": 16, "src": { - "line": 1260, + "line": 1431, "column": 28, - "start": 44312, - "end": 44312, + "start": 50383, + "end": 50383, "length": 1, - "parent_index": 3456 + "parent_index": 3910 }, "name": "i", "type_description": { @@ -4315,19 +4412,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3458, + "id": 3912, "node_type": 16, "src": { - "line": 1260, + "line": 1431, "column": 32, - "start": 44316, - "end": 44316, + "start": 50387, + "end": 50387, "length": 1, - "parent_index": 3456 + "parent_index": 3910 }, "name": "n", "type_description": { @@ -4335,8 +4433,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" }, "type_description": { "type_identifier": "t_bool", @@ -4344,27 +4443,27 @@ } }, "closure": { - "id": 3459, + "id": 3913, "node_type": 27, "src": { - "line": 1260, + "line": 1431, "column": 35, - "start": 44319, - "end": 44335, + "start": 50390, + "end": 50406, "length": 17, - "parent_index": 3451 + "parent_index": 3905 }, "operator": 11, "left_expression": { - "id": 3460, + "id": 3914, "node_type": 16, "src": { - "line": 1260, + "line": 1431, "column": 35, - "start": 44319, - "end": 44319, + "start": 50390, + "end": 50390, "length": 1, - "parent_index": 3459 + "parent_index": 3913 }, "name": "i", "type_description": { @@ -4372,20 +4471,21 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3461, + "id": 3915, "node_type": 24, "kind": 24, "src": { - "line": 1260, + "line": 1431, "column": 39, - "start": 44323, - "end": 44335, + "start": 50394, + "end": 50406, "length": 13, - "parent_index": 3459 + "parent_index": 3913 }, "argument_types": [ { @@ -4395,15 +4495,15 @@ ], "arguments": [ { - "id": 3463, + "id": 3917, "node_type": 16, "src": { - "line": 1260, + "line": 1431, "column": 50, - "start": 44334, - "end": 44334, + "start": 50405, + "end": 50405, "length": 1, - "parent_index": 3461 + "parent_index": 3915 }, "name": "i", "type_description": { @@ -4412,19 +4512,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 3462, + "id": 3916, "node_type": 16, "src": { - "line": 1260, + "line": 1431, "column": 39, - "start": 44323, - "end": 44332, + "start": 50394, + "end": 50403, "length": 10, - "parent_index": 3461 + "parent_index": 3915 }, "name": "_increment", "type_description": { @@ -4433,7 +4534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_increment" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4446,68 +4548,68 @@ } }, "body": { - "id": 3464, + "id": 3918, "node_type": 46, "kind": 0, "src": { - "line": 1260, + "line": 1431, "column": 54, - "start": 44338, - "end": 44952, + "start": 50409, + "end": 51023, "length": 615, - "parent_index": 3451 + "parent_index": 3905 }, "implemented": true, "statements": [ { - "id": 3465, + "id": 3919, "node_type": 44, "src": { - "line": 1261, + "line": 1432, "column": 12, - "start": 44352, - "end": 44489, + "start": 50423, + "end": 50560, "length": 138, - "parent_index": 3464 + "parent_index": 3918 }, "assignments": [ - 3466 + 3920 ], "declarations": [ { - "id": 3466, + "id": 3920, "state_mutability": 1, "name": "balanceShares", "node_type": 44, - "scope": 3464, + "scope": 3918, "src": { - "line": 1261, + "line": 1432, "column": 12, - "start": 44352, - "end": 44372, + "start": 50423, + "end": 50443, "length": 21, - "parent_index": 3465 + "parent_index": 3919 }, "name_location": { - "line": 1261, + "line": 1432, "column": 20, - "start": 44360, - "end": 44372, + "start": 50431, + "end": 50443, "length": 13, - "parent_index": 3466 + "parent_index": 3920 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3467, + "id": 3921, "node_type": 30, "src": { - "line": 1261, + "line": 1432, "column": 12, - "start": 44352, - "end": 44358, + "start": 50423, + "end": 50429, "length": 7, - "parent_index": 3466 + "parent_index": 3920 }, "name": "uint256", "referenced_declaration": 0, @@ -4520,21 +4622,21 @@ } ], "initial_value": { - "id": 3468, + "id": 3922, "node_type": 24, "kind": 24, "src": { - "line": 1261, + "line": 1432, "column": 36, - "start": 44376, - "end": 44488, + "start": 50447, + "end": 50559, "length": 113, - "parent_index": 3465 + "parent_index": 3919 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", @@ -4543,99 +4645,101 @@ ], "arguments": [ { - "id": 3471, + "id": 3925, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1262, + "line": 1433, "column": 16, - "start": 44412, - "end": 44443, + "start": 50483, + "end": 50514, "length": 32, - "parent_index": 3468 + "parent_index": 3922 }, "member_location": { - "line": 1262, + "line": 1433, "column": 41, - "start": 44437, - "end": 44443, + "start": 50508, + "end": 50514, "length": 7, - "parent_index": 3471 + "parent_index": 3925 }, "expression": { - "id": 3472, + "id": 3926, "node_type": 22, "src": { - "line": 1262, + "line": 1433, "column": 16, - "start": 44412, - "end": 44435, + "start": 50483, + "end": 50506, "length": 24, - "parent_index": 3471 + "parent_index": 3925 }, "index_expression": { - "id": 3473, + "id": 3927, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1262, + "line": 1433, "column": 16, - "start": 44412, - "end": 44432, + "start": 50483, + "end": 50503, "length": 21, - "parent_index": 3472 + "parent_index": 3926 }, "member_location": { - "line": 1262, + "line": 1433, "column": 23, - "start": 44419, - "end": 44432, + "start": 50490, + "end": 50503, "length": 14, - "parent_index": 3473 + "parent_index": 3927 }, "expression": { - "id": 3474, + "id": 3928, "node_type": 16, "src": { - "line": 1262, + "line": 1433, "column": 16, - "start": 44412, - "end": 44417, + "start": 50483, + "end": 50488, "length": 6, - "parent_index": 3473 + "parent_index": 3927 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "percentagePath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" }, "base_expression": { - "id": 3475, + "id": 3929, "node_type": 16, "src": { - "line": 1262, + "line": 1433, "column": 38, - "start": 44434, - "end": 44434, + "start": 50505, + "end": 50505, "length": 1, - "parent_index": 3472 + "parent_index": 3926 }, "name": "i", "type_description": { @@ -4643,13 +4747,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -4657,79 +4762,81 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "tokenIn", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].tokenIn" }, { - "id": 3476, + "id": 3930, "node_type": 24, "kind": 24, "src": { - "line": 1263, + "line": 1434, "column": 16, - "start": 44462, - "end": 44474, + "start": 50533, + "end": 50545, "length": 13, - "parent_index": 3468 + "parent_index": 3922 }, "argument_types": [ { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" } ], "arguments": [ { - "id": 3479, + "id": 3933, "node_type": 16, "src": { - "line": 1263, + "line": 1434, "column": 24, - "start": 44470, - "end": 44473, + "start": 50541, + "end": 50544, "length": 4, - "parent_index": 3476 + "parent_index": 3930 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3477, + "id": 3931, "node_type": 16, "src": { - "line": 1263, + "line": 1434, "column": 16, - "start": 44462, - "end": 44468, + "start": 50533, + "end": 50539, "length": 7, - "parent_index": 3476 + "parent_index": 3930 }, "name": "address", "type_name": { - "id": 3478, + "id": 3932, "node_type": 30, "src": { - "line": 1263, + "line": 1434, "column": 16, - "start": 44462, - "end": 44468, + "start": 50533, + "end": 50539, "length": 7, - "parent_index": 3477 + "parent_index": 3931 }, "name": "address", "state_mutability": 4, @@ -4751,7 +4858,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4760,38 +4868,38 @@ } ], "expression": { - "id": 3469, + "id": 3923, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1261, + "line": 1432, "column": 36, - "start": 44376, - "end": 44393, + "start": 50447, + "end": 50464, "length": 18, - "parent_index": 3468 + "parent_index": 3922 }, "member_location": { - "line": 1261, + "line": 1432, "column": 45, - "start": 44385, - "end": 44393, + "start": 50456, + "end": 50464, "length": 9, - "parent_index": 3469 + "parent_index": 3923 }, "expression": { - "id": 3470, + "id": 3924, "node_type": 16, "src": { - "line": 1261, + "line": 1432, "column": 36, - "start": 44376, - "end": 44383, + "start": 50447, + "end": 50454, "length": 8, - "parent_index": 3469 + "parent_index": 3923 }, "name": "bentoBox", "type_description": { @@ -4800,70 +4908,72 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.balanceOf" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address))" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address))" } } }, { - "id": 3480, + "id": 3934, "node_type": 44, "src": { - "line": 1265, + "line": 1436, "column": 12, - "start": 44503, - "end": 44621, + "start": 50574, + "end": 50692, "length": 119, - "parent_index": 3464 + "parent_index": 3918 }, "assignments": [ - 3481 + 3935 ], "declarations": [ { - "id": 3481, + "id": 3935, "state_mutability": 1, "name": "transferShares", "node_type": 44, - "scope": 3464, + "scope": 3918, "src": { - "line": 1265, + "line": 1436, "column": 12, - "start": 44503, - "end": 44524, + "start": 50574, + "end": 50595, "length": 22, - "parent_index": 3480 + "parent_index": 3934 }, "name_location": { - "line": 1265, + "line": 1436, "column": 20, - "start": 44511, - "end": 44524, + "start": 50582, + "end": 50595, "length": 14, - "parent_index": 3481 + "parent_index": 3935 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3482, + "id": 3936, "node_type": 30, "src": { - "line": 1265, + "line": 1436, "column": 12, - "start": 44503, - "end": 44509, + "start": 50574, + "end": 50580, "length": 7, - "parent_index": 3481 + "parent_index": 3935 }, "name": "uint256", "referenced_declaration": 0, @@ -4876,57 +4986,57 @@ } ], "initial_value": { - "id": 3483, + "id": 3937, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1265, + "line": 1436, "column": 37, - "start": 44528, - "end": 44620, + "start": 50599, + "end": 50691, "length": 93, - "parent_index": 3480 + "parent_index": 3934 }, "operator": 4, "left_expression": { - "id": 3484, + "id": 3938, "node_type": 60, "src": { - "line": 1265, + "line": 1436, "column": 37, - "start": 44528, - "end": 44603, + "start": 50599, + "end": 50674, "length": 76, - "parent_index": 3483 + "parent_index": 3937 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 3485, + "id": 3939, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1265, + "line": 1436, "column": 38, - "start": 44529, - "end": 44602, + "start": 50600, + "end": 50673, "length": 74, - "parent_index": 3484 + "parent_index": 3938 }, "operator": 3, "left_expression": { - "id": 3486, + "id": 3940, "node_type": 16, "src": { - "line": 1265, + "line": 1436, "column": 38, - "start": 44529, - "end": 44541, + "start": 50600, + "end": 50612, "length": 13, - "parent_index": 3485 + "parent_index": 3939 }, "name": "balanceShares", "type_description": { @@ -4934,103 +5044,106 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3465, - "is_pure": false + "referenced_declaration": 3919, + "is_pure": false, + "text": "balanceShares" }, "right_expression": { - "id": 3487, + "id": 3941, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1266, + "line": 1437, "column": 16, - "start": 44561, - "end": 44602, + "start": 50632, + "end": 50673, "length": 42, - "parent_index": 3480 + "parent_index": 3934 }, "member_location": { - "line": 1266, + "line": 1437, "column": 41, - "start": 44586, - "end": 44602, + "start": 50657, + "end": 50673, "length": 17, - "parent_index": 3487 + "parent_index": 3941 }, "expression": { - "id": 3488, + "id": 3942, "node_type": 22, "src": { - "line": 1266, + "line": 1437, "column": 16, - "start": 44561, - "end": 44584, + "start": 50632, + "end": 50655, "length": 24, - "parent_index": 3480 + "parent_index": 3934 }, "index_expression": { - "id": 3489, + "id": 3943, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1266, + "line": 1437, "column": 16, - "start": 44561, - "end": 44581, + "start": 50632, + "end": 50652, "length": 21, - "parent_index": 3480 + "parent_index": 3934 }, "member_location": { - "line": 1266, + "line": 1437, "column": 23, - "start": 44568, - "end": 44581, + "start": 50639, + "end": 50652, "length": 14, - "parent_index": 3489 + "parent_index": 3943 }, "expression": { - "id": 3490, + "id": 3944, "node_type": 16, "src": { - "line": 1266, + "line": 1437, "column": 16, - "start": 44561, - "end": 44566, + "start": 50632, + "end": 50637, "length": 6, - "parent_index": 3489 + "parent_index": 3943 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "percentagePath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" }, "base_expression": { - "id": 3491, + "id": 3945, "node_type": 16, "src": { - "line": 1266, + "line": 1437, "column": 38, - "start": 44583, - "end": 44583, + "start": 50654, + "end": 50654, "length": 1, - "parent_index": 3488 + "parent_index": 3942 }, "name": "i", "type_description": { @@ -5038,13 +5151,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -5052,16 +5166,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "balancePercentage", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].balancePercentage" }, "type_description": { "type_identifier": "t_uint256", @@ -5075,27 +5190,27 @@ } }, "right_expression": { - "id": 3493, + "id": 3947, "node_type": 95, "src": { - "line": 1266, + "line": 1437, "column": 62, - "start": 44607, - "end": 44620, + "start": 50678, + "end": 50691, "length": 14, - "parent_index": 3480 + "parent_index": 3934 }, "left_expression": { - "id": 3494, + "id": 3948, "node_type": 24, "kind": 24, "src": { - "line": 1266, + "line": 1437, "column": 62, - "start": 44607, - "end": 44617, + "start": 50678, + "end": 50688, "length": 11, - "parent_index": 3480 + "parent_index": 3934 }, "argument_types": [ { @@ -5105,18 +5220,18 @@ ], "arguments": [ { - "id": 3497, + "id": 3951, "node_type": 17, "kind": 49, "value": "10", "hex_value": "3130", "src": { - "line": 1266, + "line": 1437, "column": 70, - "start": 44615, - "end": 44616, + "start": 50686, + "end": 50687, "length": 2, - "parent_index": 3494 + "parent_index": 3948 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -5124,31 +5239,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" } ], "expression": { - "id": 3495, + "id": 3949, "node_type": 16, "src": { - "line": 1266, + "line": 1437, "column": 62, - "start": 44607, - "end": 44613, + "start": 50678, + "end": 50684, "length": 7, - "parent_index": 3494 + "parent_index": 3948 }, "name": "uint256", "type_name": { - "id": 3496, + "id": 3950, "node_type": 30, "src": { - "line": 1266, + "line": 1437, "column": 62, - "start": 44607, - "end": 44613, + "start": 50678, + "end": 50684, "length": 7, - "parent_index": 3495 + "parent_index": 3949 }, "name": "uint256", "referenced_declaration": 0, @@ -5169,7 +5285,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_rational_10_by_1$", @@ -5177,18 +5294,18 @@ } }, "right_expression": { - "id": 3498, + "id": 3952, "node_type": 17, "kind": 49, "value": "8", "hex_value": "38", "src": { - "line": 1266, + "line": 1437, "column": 75, - "start": 44620, - "end": 44620, + "start": 50691, + "end": 50691, "length": 1, - "parent_index": 3493 + "parent_index": 3947 }, "type_description": { "type_identifier": "t_rational_8_by_1", @@ -5196,7 +5313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "8" }, "type_descriptions": [ { @@ -5216,29 +5334,29 @@ } }, { - "id": 3499, + "id": 3953, "node_type": 24, "kind": 24, "src": { - "line": 1267, + "line": 1438, "column": 12, - "start": 44635, - "end": 44825, + "start": 50706, + "end": 50896, "length": 191, - "parent_index": 3464 + "parent_index": 3918 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_uint256", @@ -5247,99 +5365,101 @@ ], "arguments": [ { - "id": 3502, + "id": 3956, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1268, + "line": 1439, "column": 16, - "start": 44670, - "end": 44701, + "start": 50741, + "end": 50772, "length": 32, - "parent_index": 3499 + "parent_index": 3953 }, "member_location": { - "line": 1268, + "line": 1439, "column": 41, - "start": 44695, - "end": 44701, + "start": 50766, + "end": 50772, "length": 7, - "parent_index": 3502 + "parent_index": 3956 }, "expression": { - "id": 3503, + "id": 3957, "node_type": 22, "src": { - "line": 1268, + "line": 1439, "column": 16, - "start": 44670, - "end": 44693, + "start": 50741, + "end": 50764, "length": 24, - "parent_index": 3502 + "parent_index": 3956 }, "index_expression": { - "id": 3504, + "id": 3958, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1268, + "line": 1439, "column": 16, - "start": 44670, - "end": 44690, + "start": 50741, + "end": 50761, "length": 21, - "parent_index": 3503 + "parent_index": 3957 }, "member_location": { - "line": 1268, + "line": 1439, "column": 23, - "start": 44677, - "end": 44690, + "start": 50748, + "end": 50761, "length": 14, - "parent_index": 3504 + "parent_index": 3958 }, "expression": { - "id": 3505, + "id": 3959, "node_type": 16, "src": { - "line": 1268, + "line": 1439, "column": 16, - "start": 44670, - "end": 44675, + "start": 50741, + "end": 50746, "length": 6, - "parent_index": 3504 + "parent_index": 3958 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "percentagePath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" }, "base_expression": { - "id": 3506, + "id": 3960, "node_type": 16, "src": { - "line": 1268, + "line": 1439, "column": 38, - "start": 44692, - "end": 44692, + "start": 50763, + "end": 50763, "length": 1, - "parent_index": 3503 + "parent_index": 3957 }, "name": "i", "type_description": { @@ -5347,13 +5467,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -5361,79 +5482,81 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "tokenIn", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].tokenIn" }, { - "id": 3507, + "id": 3961, "node_type": 24, "kind": 24, "src": { - "line": 1269, + "line": 1440, "column": 16, - "start": 44720, - "end": 44732, + "start": 50791, + "end": 50803, "length": 13, - "parent_index": 3499 + "parent_index": 3953 }, "argument_types": [ { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" } ], "arguments": [ { - "id": 3510, + "id": 3964, "node_type": 16, "src": { - "line": 1269, + "line": 1440, "column": 24, - "start": 44728, - "end": 44731, + "start": 50799, + "end": 50802, "length": 4, - "parent_index": 3507 + "parent_index": 3961 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3508, + "id": 3962, "node_type": 16, "src": { - "line": 1269, + "line": 1440, "column": 16, - "start": 44720, - "end": 44726, + "start": 50791, + "end": 50797, "length": 7, - "parent_index": 3507 + "parent_index": 3961 }, "name": "address", "type_name": { - "id": 3509, + "id": 3963, "node_type": 30, "src": { - "line": 1269, + "line": 1440, "column": 16, - "start": 44720, - "end": 44726, + "start": 50791, + "end": 50797, "length": 7, - "parent_index": 3508 + "parent_index": 3962 }, "name": "address", "state_mutability": 4, @@ -5455,7 +5578,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5463,99 +5587,101 @@ } }, { - "id": 3511, + "id": 3965, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1270, + "line": 1441, "column": 16, - "start": 44751, - "end": 44779, + "start": 50822, + "end": 50850, "length": 29, - "parent_index": 3499 + "parent_index": 3953 }, "member_location": { - "line": 1270, + "line": 1441, "column": 41, - "start": 44776, - "end": 44779, + "start": 50847, + "end": 50850, "length": 4, - "parent_index": 3511 + "parent_index": 3965 }, "expression": { - "id": 3512, + "id": 3966, "node_type": 22, "src": { - "line": 1270, + "line": 1441, "column": 16, - "start": 44751, - "end": 44774, + "start": 50822, + "end": 50845, "length": 24, - "parent_index": 3511 + "parent_index": 3965 }, "index_expression": { - "id": 3513, + "id": 3967, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1270, + "line": 1441, "column": 16, - "start": 44751, - "end": 44771, + "start": 50822, + "end": 50842, "length": 21, - "parent_index": 3512 + "parent_index": 3966 }, "member_location": { - "line": 1270, + "line": 1441, "column": 23, - "start": 44758, - "end": 44771, + "start": 50829, + "end": 50842, "length": 14, - "parent_index": 3513 + "parent_index": 3967 }, "expression": { - "id": 3514, + "id": 3968, "node_type": 16, "src": { - "line": 1270, + "line": 1441, "column": 16, - "start": 44751, - "end": 44756, + "start": 50822, + "end": 50827, "length": 6, - "parent_index": 3513 + "parent_index": 3967 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "percentagePath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" }, "base_expression": { - "id": 3515, + "id": 3969, "node_type": 16, "src": { - "line": 1270, + "line": 1441, "column": 38, - "start": 44773, - "end": 44773, + "start": 50844, + "end": 50844, "length": 1, - "parent_index": 3512 + "parent_index": 3966 }, "name": "i", "type_description": { @@ -5563,13 +5689,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -5577,15 +5704,15 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "pool", "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", @@ -5593,20 +5720,21 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].pool" }, { - "id": 3516, + "id": 3970, "node_type": 16, "src": { - "line": 1271, + "line": 1442, "column": 16, - "start": 44798, - "end": 44811, + "start": 50869, + "end": 50882, "length": 14, - "parent_index": 3499 + "parent_index": 3953 }, "name": "transferShares", "type_description": { @@ -5614,57 +5742,58 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3480, + "referenced_declaration": 3934, "is_pure": false, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } - ] + ], + "text": "transferShares" } ], "expression": { - "id": 3500, + "id": 3954, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1267, + "line": 1438, "column": 12, - "start": 44635, - "end": 44651, + "start": 50706, + "end": 50722, "length": 17, - "parent_index": 3499 + "parent_index": 3953 }, "member_location": { - "line": 1267, + "line": 1438, "column": 21, - "start": 44644, - "end": 44651, + "start": 50715, + "end": 50722, "length": 8, - "parent_index": 3500 + "parent_index": 3954 }, "expression": { - "id": 3501, + "id": 3955, "node_type": 16, "src": { - "line": 1267, + "line": 1438, "column": 12, - "start": 44635, - "end": 44642, + "start": 50706, + "end": 50713, "length": 8, - "parent_index": 3500 + "parent_index": 3954 }, "name": "bentoBox", "type_description": { @@ -5673,133 +5802,137 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "transfer", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.transfer" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_uint256$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],uint256)" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_uint256$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],uint256)" } }, { - "id": 3517, + "id": 3971, "node_type": 24, "kind": 24, "src": { - "line": 1273, + "line": 1444, "column": 12, - "start": 44840, - "end": 44941, + "start": 50911, + "end": 51012, "length": 102, - "parent_index": 3464 + "parent_index": 3918 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } ], "arguments": [ { - "id": 3526, + "id": 3980, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1274, + "line": 1445, "column": 16, - "start": 44899, - "end": 44927, + "start": 50970, + "end": 50998, "length": 29, - "parent_index": 3517 + "parent_index": 3971 }, "member_location": { - "line": 1274, + "line": 1445, "column": 41, - "start": 44924, - "end": 44927, + "start": 50995, + "end": 50998, "length": 4, - "parent_index": 3526 + "parent_index": 3980 }, "expression": { - "id": 3527, + "id": 3981, "node_type": 22, "src": { - "line": 1274, + "line": 1445, "column": 16, - "start": 44899, - "end": 44922, + "start": 50970, + "end": 50993, "length": 24, - "parent_index": 3526 + "parent_index": 3980 }, "index_expression": { - "id": 3528, + "id": 3982, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1274, + "line": 1445, "column": 16, - "start": 44899, - "end": 44919, + "start": 50970, + "end": 50990, "length": 21, - "parent_index": 3527 + "parent_index": 3981 }, "member_location": { - "line": 1274, + "line": 1445, "column": 23, - "start": 44906, - "end": 44919, + "start": 50977, + "end": 50990, "length": 14, - "parent_index": 3528 + "parent_index": 3982 }, "expression": { - "id": 3529, + "id": 3983, "node_type": 16, "src": { - "line": 1274, + "line": 1445, "column": 16, - "start": 44899, - "end": 44904, + "start": 50970, + "end": 50975, "length": 6, - "parent_index": 3528 + "parent_index": 3982 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "percentagePath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" }, "base_expression": { - "id": 3530, + "id": 3984, "node_type": 16, "src": { - "line": 1274, + "line": 1445, "column": 38, - "start": 44921, - "end": 44921, + "start": 50992, + "end": 50992, "length": 1, - "parent_index": 3527 + "parent_index": 3981 }, "name": "i", "type_description": { @@ -5807,13 +5940,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -5821,154 +5955,157 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "data", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].data" } ], "expression": { - "id": 3518, + "id": 3972, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1273, + "line": 1444, "column": 12, - "start": 44840, - "end": 44880, + "start": 50911, + "end": 50951, "length": 41, - "parent_index": 3517 + "parent_index": 3971 }, "member_location": { - "line": 1273, + "line": 1444, "column": 49, - "start": 44877, - "end": 44880, + "start": 50948, + "end": 50951, "length": 4, - "parent_index": 3518 + "parent_index": 3972 }, "expression": { - "id": 3519, + "id": 3973, "node_type": 24, "kind": 24, "src": { - "line": 1273, + "line": 1444, "column": 12, - "start": 44840, - "end": 44875, + "start": 50911, + "end": 50946, "length": 36, - "parent_index": 3518 + "parent_index": 3972 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } ], "arguments": [ { - "id": 3521, + "id": 3975, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1273, + "line": 1444, "column": 18, - "start": 44846, - "end": 44874, + "start": 50917, + "end": 50945, "length": 29, - "parent_index": 3519 + "parent_index": 3973 }, "member_location": { - "line": 1273, + "line": 1444, "column": 43, - "start": 44871, - "end": 44874, + "start": 50942, + "end": 50945, "length": 4, - "parent_index": 3521 + "parent_index": 3975 }, "expression": { - "id": 3522, + "id": 3976, "node_type": 22, "src": { - "line": 1273, + "line": 1444, "column": 18, - "start": 44846, - "end": 44869, + "start": 50917, + "end": 50940, "length": 24, - "parent_index": 3521 + "parent_index": 3975 }, "index_expression": { - "id": 3523, + "id": 3977, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1273, + "line": 1444, "column": 18, - "start": 44846, - "end": 44866, + "start": 50917, + "end": 50937, "length": 21, - "parent_index": 3522 + "parent_index": 3976 }, "member_location": { - "line": 1273, + "line": 1444, "column": 25, - "start": 44853, - "end": 44866, + "start": 50924, + "end": 50937, "length": 14, - "parent_index": 3523 + "parent_index": 3977 }, "expression": { - "id": 3524, + "id": 3978, "node_type": 16, "src": { - "line": 1273, + "line": 1444, "column": 18, - "start": 44846, - "end": 44851, + "start": 50917, + "end": 50922, "length": 6, - "parent_index": 3523 + "parent_index": 3977 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "percentagePath", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.percentagePath" }, "base_expression": { - "id": 3525, + "id": 3979, "node_type": 16, "src": { - "line": 1273, + "line": 1444, "column": 40, - "start": 44868, - "end": 44868, + "start": 50939, + "end": 50939, "length": 1, - "parent_index": 3522 + "parent_index": 3976 }, "name": "i", "type_description": { @@ -5976,13 +6113,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -5990,28 +6128,29 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "pool", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.percentagePath[i].pool" } ], "expression": { - "id": 3520, + "id": 3974, "node_type": 16, "src": { - "line": 1273, + "line": 1444, "column": 12, - "start": 44840, - "end": 44844, + "start": 50911, + "end": 50915, "length": 5, - "parent_index": 3519 + "parent_index": 3973 }, "name": "IPool", "type_description": { @@ -6020,61 +6159,63 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IPool" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } }, "member_name": "swap", "argument_types": [], "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" - } + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" + }, + "text": "IPool(params.percentagePath[i].pool).swap" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256])" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256])" } } ] } }, { - "id": 3531, + "id": 3985, "node_type": 27, "src": { - "line": 1278, + "line": 1449, "column": 8, - "start": 45041, - "end": 45065, + "start": 51112, + "end": 51136, "length": 25, - "parent_index": 3388 + "parent_index": 3842 }, "expression": { - "id": 3532, + "id": 3986, "node_type": 27, "src": { - "line": 1278, + "line": 1449, "column": 8, - "start": 45041, - "end": 45064, + "start": 51112, + "end": 51135, "length": 24, - "parent_index": 3531 + "parent_index": 3985 }, "operator": 11, "left_expression": { - "id": 3533, + "id": 3987, "node_type": 16, "src": { - "line": 1278, + "line": 1449, "column": 8, - "start": 45041, - "end": 45041, + "start": 51112, + "end": 51112, "length": 1, - "parent_index": 3532 + "parent_index": 3986 }, "name": "n", "type_description": { @@ -6082,88 +6223,92 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" }, "right_expression": { - "id": 3534, + "id": 3988, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1278, + "line": 1449, "column": 12, - "start": 45045, - "end": 45064, + "start": 51116, + "end": 51135, "length": 20, - "parent_index": 3532 + "parent_index": 3986 }, "member_location": { - "line": 1278, + "line": 1449, "column": 26, - "start": 45059, - "end": 45064, + "start": 51130, + "end": 51135, "length": 6, - "parent_index": 3534 + "parent_index": 3988 }, "expression": { - "id": 3535, + "id": 3989, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1278, + "line": 1449, "column": 12, - "start": 45045, - "end": 45057, + "start": 51116, + "end": 51128, "length": 13, - "parent_index": 3534 + "parent_index": 3988 }, "member_location": { - "line": 1278, + "line": 1449, "column": 19, - "start": 45052, - "end": 45057, + "start": 51123, + "end": 51128, "length": 6, - "parent_index": 3535 + "parent_index": 3989 }, "expression": { - "id": 3536, + "id": 3990, "node_type": 16, "src": { - "line": 1278, + "line": 1449, "column": 12, - "start": 45045, - "end": 45050, + "start": 51116, + "end": 51121, "length": 6, - "parent_index": 3535 + "parent_index": 3989 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" }, "overloaded_declarations": [], - "referenced_declaration": 3536, - "is_pure": false + "referenced_declaration": 3990, + "is_pure": false, + "text": "params" }, "member_name": "output", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" - } + }, + "text": "params.output" }, "member_name": "length", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" - } + }, + "text": "params.output.length" }, "type_description": { "type_identifier": "t_uint256", @@ -6173,68 +6318,69 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "n=params.output.length;" }, { - "id": 3537, + "id": 3991, "node_type": 79, "src": { - "line": 1279, + "line": 1450, "column": 0, - "start": 45075, - "end": 45898, + "start": 51146, + "end": 51969, "length": 824, - "parent_index": 3388 + "parent_index": 3842 }, "initialiser": { - "id": 3538, + "id": 3992, "node_type": 44, "src": { - "line": 1279, + "line": 1450, "column": 13, - "start": 45080, - "end": 45093, + "start": 51151, + "end": 51164, "length": 14, - "parent_index": 3388 + "parent_index": 3842 }, "assignments": [ - 3539 + 3993 ], "declarations": [ { - "id": 3539, + "id": 3993, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 3388, + "scope": 3842, "src": { - "line": 1279, + "line": 1450, "column": 13, - "start": 45080, - "end": 45088, + "start": 51151, + "end": 51159, "length": 9, - "parent_index": 3538 + "parent_index": 3992 }, "name_location": { - "line": 1279, + "line": 1450, "column": 21, - "start": 45088, - "end": 45088, + "start": 51159, + "end": 51159, "length": 1, - "parent_index": 3539 + "parent_index": 3993 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3540, + "id": 3994, "node_type": 30, "src": { - "line": 1279, + "line": 1450, "column": 13, - "start": 45080, - "end": 45086, + "start": 51151, + "end": 51157, "length": 7, - "parent_index": 3539 + "parent_index": 3993 }, "name": "uint256", "referenced_declaration": 0, @@ -6247,18 +6393,18 @@ } ], "initial_value": { - "id": 3541, + "id": 3995, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1279, + "line": 1450, "column": 25, - "start": 45092, - "end": 45092, + "start": 51163, + "end": 51163, "length": 1, - "parent_index": 3538 + "parent_index": 3992 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -6266,33 +6412,34 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 3542, + "id": 3996, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1279, + "line": 1450, "column": 28, - "start": 45095, - "end": 45099, + "start": 51166, + "end": 51170, "length": 5, - "parent_index": 3537 + "parent_index": 3991 }, "operator": 9, "left_expression": { - "id": 3543, + "id": 3997, "node_type": 16, "src": { - "line": 1279, + "line": 1450, "column": 28, - "start": 45095, - "end": 45095, + "start": 51166, + "end": 51166, "length": 1, - "parent_index": 3542 + "parent_index": 3996 }, "name": "i", "type_description": { @@ -6300,19 +6447,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3544, + "id": 3998, "node_type": 16, "src": { - "line": 1279, + "line": 1450, "column": 32, - "start": 45099, - "end": 45099, + "start": 51170, + "end": 51170, "length": 1, - "parent_index": 3542 + "parent_index": 3996 }, "name": "n", "type_description": { @@ -6320,8 +6468,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3389, - "is_pure": false + "referenced_declaration": 3843, + "is_pure": false, + "text": "n" }, "type_description": { "type_identifier": "t_bool", @@ -6329,27 +6478,27 @@ } }, "closure": { - "id": 3545, + "id": 3999, "node_type": 27, "src": { - "line": 1279, + "line": 1450, "column": 35, - "start": 45102, - "end": 45118, + "start": 51173, + "end": 51189, "length": 17, - "parent_index": 3537 + "parent_index": 3991 }, "operator": 11, "left_expression": { - "id": 3546, + "id": 4000, "node_type": 16, "src": { - "line": 1279, + "line": 1450, "column": 35, - "start": 45102, - "end": 45102, + "start": 51173, + "end": 51173, "length": 1, - "parent_index": 3545 + "parent_index": 3999 }, "name": "i", "type_description": { @@ -6357,20 +6506,21 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3547, + "id": 4001, "node_type": 24, "kind": 24, "src": { - "line": 1279, + "line": 1450, "column": 39, - "start": 45106, - "end": 45118, + "start": 51177, + "end": 51189, "length": 13, - "parent_index": 3545 + "parent_index": 3999 }, "argument_types": [ { @@ -6380,15 +6530,15 @@ ], "arguments": [ { - "id": 3549, + "id": 4003, "node_type": 16, "src": { - "line": 1279, + "line": 1450, "column": 50, - "start": 45117, - "end": 45117, + "start": 51188, + "end": 51188, "length": 1, - "parent_index": 3547 + "parent_index": 4001 }, "name": "i", "type_description": { @@ -6397,19 +6547,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "i" } ], "expression": { - "id": 3548, + "id": 4002, "node_type": 16, "src": { - "line": 1279, + "line": 1450, "column": 39, - "start": 45106, - "end": 45115, + "start": 51177, + "end": 51186, "length": 10, - "parent_index": 3547 + "parent_index": 4001 }, "name": "_increment", "type_description": { @@ -6418,7 +6569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_increment" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -6431,68 +6583,68 @@ } }, "body": { - "id": 3550, + "id": 4004, "node_type": 46, "kind": 0, "src": { - "line": 1279, + "line": 1450, "column": 54, - "start": 45121, - "end": 45898, + "start": 51192, + "end": 51969, "length": 778, - "parent_index": 3537 + "parent_index": 3991 }, "implemented": true, "statements": [ { - "id": 3551, + "id": 4005, "node_type": 44, "src": { - "line": 1280, + "line": 1451, "column": 12, - "start": 45135, - "end": 45262, + "start": 51206, + "end": 51333, "length": 128, - "parent_index": 3550 + "parent_index": 4004 }, "assignments": [ - 3552 + 4006 ], "declarations": [ { - "id": 3552, + "id": 4006, "state_mutability": 1, "name": "balanceShares", "node_type": 44, - "scope": 3550, + "scope": 4004, "src": { - "line": 1280, + "line": 1451, "column": 12, - "start": 45135, - "end": 45155, + "start": 51206, + "end": 51226, "length": 21, - "parent_index": 3551 + "parent_index": 4005 }, "name_location": { - "line": 1280, + "line": 1451, "column": 20, - "start": 45143, - "end": 45155, + "start": 51214, + "end": 51226, "length": 13, - "parent_index": 3552 + "parent_index": 4006 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 3553, + "id": 4007, "node_type": 30, "src": { - "line": 1280, + "line": 1451, "column": 12, - "start": 45135, - "end": 45141, + "start": 51206, + "end": 51212, "length": 7, - "parent_index": 3552 + "parent_index": 4006 }, "name": "uint256", "referenced_declaration": 0, @@ -6505,21 +6657,21 @@ } ], "initial_value": { - "id": 3554, + "id": 4008, "node_type": 24, "kind": 24, "src": { - "line": 1280, + "line": 1451, "column": 36, - "start": 45159, - "end": 45261, + "start": 51230, + "end": 51332, "length": 103, - "parent_index": 3551 + "parent_index": 4005 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", @@ -6528,99 +6680,101 @@ ], "arguments": [ { - "id": 3557, + "id": 4011, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1281, + "line": 1452, "column": 16, - "start": 45195, - "end": 45216, + "start": 51266, + "end": 51287, "length": 22, - "parent_index": 3554 + "parent_index": 4008 }, "member_location": { - "line": 1281, + "line": 1452, "column": 33, - "start": 45212, - "end": 45216, + "start": 51283, + "end": 51287, "length": 5, - "parent_index": 3557 + "parent_index": 4011 }, "expression": { - "id": 3558, + "id": 4012, "node_type": 22, "src": { - "line": 1281, + "line": 1452, "column": 16, - "start": 45195, - "end": 45210, + "start": 51266, + "end": 51281, "length": 16, - "parent_index": 3557 + "parent_index": 4011 }, "index_expression": { - "id": 3559, + "id": 4013, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1281, + "line": 1452, "column": 16, - "start": 45195, - "end": 45207, + "start": 51266, + "end": 51278, "length": 13, - "parent_index": 3558 + "parent_index": 4012 }, "member_location": { - "line": 1281, + "line": 1452, "column": 23, - "start": 45202, - "end": 45207, + "start": 51273, + "end": 51278, "length": 6, - "parent_index": 3559 + "parent_index": 4013 }, "expression": { - "id": 3560, + "id": 4014, "node_type": 16, "src": { - "line": 1281, + "line": 1452, "column": 16, - "start": 45195, - "end": 45200, + "start": 51266, + "end": 51271, "length": 6, - "parent_index": 3559 + "parent_index": 4013 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "output", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" }, "base_expression": { - "id": 3561, + "id": 4015, "node_type": 16, "src": { - "line": 1281, + "line": 1452, "column": 30, - "start": 45209, - "end": 45209, + "start": 51280, + "end": 51280, "length": 1, - "parent_index": 3558 + "parent_index": 4012 }, "name": "i", "type_description": { @@ -6628,13 +6782,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -6642,79 +6797,81 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "token", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.output[i].token" }, { - "id": 3562, + "id": 4016, "node_type": 24, "kind": 24, "src": { - "line": 1282, + "line": 1453, "column": 16, - "start": 45235, - "end": 45247, + "start": 51306, + "end": 51318, "length": 13, - "parent_index": 3554 + "parent_index": 4008 }, "argument_types": [ { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" } ], "arguments": [ { - "id": 3565, + "id": 4019, "node_type": 16, "src": { - "line": 1282, + "line": 1453, "column": 24, - "start": 45243, - "end": 45246, + "start": 51314, + "end": 51317, "length": 4, - "parent_index": 3562 + "parent_index": 4016 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3563, + "id": 4017, "node_type": 16, "src": { - "line": 1282, + "line": 1453, "column": 16, - "start": 45235, - "end": 45241, + "start": 51306, + "end": 51312, "length": 7, - "parent_index": 3562 + "parent_index": 4016 }, "name": "address", "type_name": { - "id": 3564, + "id": 4018, "node_type": 30, "src": { - "line": 1282, + "line": 1453, "column": 16, - "start": 45235, - "end": 45241, + "start": 51306, + "end": 51312, "length": 7, - "parent_index": 3563 + "parent_index": 4017 }, "name": "address", "state_mutability": 4, @@ -6736,7 +6893,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6745,38 +6903,38 @@ } ], "expression": { - "id": 3555, + "id": 4009, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1280, + "line": 1451, "column": 36, - "start": 45159, - "end": 45176, + "start": 51230, + "end": 51247, "length": 18, - "parent_index": 3554 + "parent_index": 4008 }, "member_location": { - "line": 1280, + "line": 1451, "column": 45, - "start": 45168, - "end": 45176, + "start": 51239, + "end": 51247, "length": 9, - "parent_index": 3555 + "parent_index": 4009 }, "expression": { - "id": 3556, + "id": 4010, "node_type": 16, "src": { - "line": 1280, + "line": 1451, "column": 36, - "start": 45159, - "end": 45166, + "start": 51230, + "end": 51237, "length": 8, - "parent_index": 3555 + "parent_index": 4009 }, "name": "bentoBox", "type_description": { @@ -6785,56 +6943,58 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "balanceOf", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.balanceOf" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address))" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address))" } } }, { - "id": 3566, + "id": 4020, "node_type": 48, "src": { - "line": 1284, + "line": 1455, "column": 0, - "start": 45276, - "end": 45366, + "start": 51347, + "end": 51437, "length": 91, - "parent_index": 3550 + "parent_index": 4004 }, "condition": { - "id": 3567, + "id": 4021, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1284, + "line": 1455, "column": 16, - "start": 45280, - "end": 45321, + "start": 51351, + "end": 51392, "length": 42, - "parent_index": 3566 + "parent_index": 4020 }, "operator": 9, "left_expression": { - "id": 3568, + "id": 4022, "node_type": 16, "src": { - "line": 1284, + "line": 1455, "column": 16, - "start": 45280, - "end": 45292, + "start": 51351, + "end": 51363, "length": 13, - "parent_index": 3567 + "parent_index": 4021 }, "name": "balanceShares", "type_description": { @@ -6842,103 +7002,106 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3551, - "is_pure": false + "referenced_declaration": 4005, + "is_pure": false, + "text": "balanceShares" }, "right_expression": { - "id": 3569, + "id": 4023, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1284, + "line": 1455, "column": 32, - "start": 45296, - "end": 45321, + "start": 51367, + "end": 51392, "length": 26, - "parent_index": 3567 + "parent_index": 4021 }, "member_location": { - "line": 1284, + "line": 1455, "column": 49, - "start": 45313, - "end": 45321, + "start": 51384, + "end": 51392, "length": 9, - "parent_index": 3569 + "parent_index": 4023 }, "expression": { - "id": 3570, + "id": 4024, "node_type": 22, "src": { - "line": 1284, + "line": 1455, "column": 32, - "start": 45296, - "end": 45311, + "start": 51367, + "end": 51382, "length": 16, - "parent_index": 3569 + "parent_index": 4023 }, "index_expression": { - "id": 3571, + "id": 4025, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1284, + "line": 1455, "column": 32, - "start": 45296, - "end": 45308, + "start": 51367, + "end": 51379, "length": 13, - "parent_index": 3570 + "parent_index": 4024 }, "member_location": { - "line": 1284, + "line": 1455, "column": 39, - "start": 45303, - "end": 45308, + "start": 51374, + "end": 51379, "length": 6, - "parent_index": 3571 + "parent_index": 4025 }, "expression": { - "id": 3572, + "id": 4026, "node_type": 16, "src": { - "line": 1284, + "line": 1455, "column": 32, - "start": 45296, - "end": 45301, + "start": 51367, + "end": 51372, "length": 6, - "parent_index": 3571 + "parent_index": 4025 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "output", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" }, "base_expression": { - "id": 3573, + "id": 4027, "node_type": 16, "src": { - "line": 1284, + "line": 1455, "column": 46, - "start": 45310, - "end": 45310, + "start": 51381, + "end": 51381, "length": 1, - "parent_index": 3570 + "parent_index": 4024 }, "name": "i", "type_description": { @@ -6946,13 +7109,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -6960,16 +7124,17 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "minAmount", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.output[i].minAmount" }, "type_description": { "type_identifier": "t_bool", @@ -6977,7 +7142,7 @@ } }, "body": { - "id": 3574, + "id": 4028, "node_type": 46, "kind": 0, "src": { @@ -6992,110 +7157,112 @@ } }, { - "id": 3575, + "id": 4029, "node_type": 48, "src": { - "line": 1286, + "line": 1457, "column": 0, - "start": 45380, - "end": 45888, + "start": 51451, + "end": 51959, "length": 509, - "parent_index": 3550 + "parent_index": 4004 }, "condition": { - "id": 3576, + "id": 4030, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1286, + "line": 1457, "column": 16, - "start": 45384, - "end": 45411, + "start": 51455, + "end": 51482, "length": 28, - "parent_index": 3575 + "parent_index": 4029 }, "member_location": { - "line": 1286, + "line": 1457, "column": 33, - "start": 45401, - "end": 45411, + "start": 51472, + "end": 51482, "length": 11, - "parent_index": 3576 + "parent_index": 4030 }, "expression": { - "id": 3577, + "id": 4031, "node_type": 22, "src": { - "line": 1286, + "line": 1457, "column": 16, - "start": 45384, - "end": 45399, + "start": 51455, + "end": 51470, "length": 16, - "parent_index": 3576 + "parent_index": 4030 }, "index_expression": { - "id": 3578, + "id": 4032, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1286, + "line": 1457, "column": 16, - "start": 45384, - "end": 45396, + "start": 51455, + "end": 51467, "length": 13, - "parent_index": 3577 + "parent_index": 4031 }, "member_location": { - "line": 1286, + "line": 1457, "column": 23, - "start": 45391, - "end": 45396, + "start": 51462, + "end": 51467, "length": 6, - "parent_index": 3578 + "parent_index": 4032 }, "expression": { - "id": 3579, + "id": 4033, "node_type": 16, "src": { - "line": 1286, + "line": 1457, "column": 16, - "start": 45384, - "end": 45389, + "start": 51455, + "end": 51460, "length": 6, - "parent_index": 3578 + "parent_index": 4032 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "output", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" }, "base_expression": { - "id": 3580, + "id": 4034, "node_type": 16, "src": { - "line": 1286, + "line": 1457, "column": 30, - "start": 45398, - "end": 45398, + "start": 51469, + "end": 51469, "length": 1, - "parent_index": 3577 + "parent_index": 4031 }, "name": "i", "type_description": { @@ -7103,13 +7270,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -7117,160 +7285,163 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "unwrapBento", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.output[i].unwrapBento" }, "body": { - "id": 3581, + "id": 4035, "node_type": 46, "kind": 0, "src": { - "line": 1286, + "line": 1457, "column": 46, - "start": 45414, - "end": 45659, + "start": 51485, + "end": 51730, "length": 246, - "parent_index": 3537 + "parent_index": 3991 }, "implemented": true, "statements": [ { - "id": 3582, + "id": 4036, "node_type": 24, "kind": 24, "src": { - "line": 1287, + "line": 1458, "column": 16, - "start": 45432, - "end": 45644, + "start": 51503, + "end": 51715, "length": 213, - "parent_index": 3581 + "parent_index": 4035 }, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" }, { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_rational_0_by_1$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0)" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_rational_0_by_1$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0)" } ], "arguments": [ { - "id": 3585, + "id": 4039, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1288, + "line": 1459, "column": 20, - "start": 45471, - "end": 45492, + "start": 51542, + "end": 51563, "length": 22, - "parent_index": 3582 + "parent_index": 4036 }, "member_location": { - "line": 1288, + "line": 1459, "column": 37, - "start": 45488, - "end": 45492, + "start": 51559, + "end": 51563, "length": 5, - "parent_index": 3585 + "parent_index": 4039 }, "expression": { - "id": 3586, + "id": 4040, "node_type": 22, "src": { - "line": 1288, + "line": 1459, "column": 20, - "start": 45471, - "end": 45486, + "start": 51542, + "end": 51557, "length": 16, - "parent_index": 3585 + "parent_index": 4039 }, "index_expression": { - "id": 3587, + "id": 4041, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1288, + "line": 1459, "column": 20, - "start": 45471, - "end": 45483, + "start": 51542, + "end": 51554, "length": 13, - "parent_index": 3586 + "parent_index": 4040 }, "member_location": { - "line": 1288, + "line": 1459, "column": 27, - "start": 45478, - "end": 45483, + "start": 51549, + "end": 51554, "length": 6, - "parent_index": 3587 + "parent_index": 4041 }, "expression": { - "id": 3588, + "id": 4042, "node_type": 16, "src": { - "line": 1288, + "line": 1459, "column": 20, - "start": 45471, - "end": 45476, + "start": 51542, + "end": 51547, "length": 6, - "parent_index": 3587 + "parent_index": 4041 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "output", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" }, "base_expression": { - "id": 3589, + "id": 4043, "node_type": 16, "src": { - "line": 1288, + "line": 1459, "column": 34, - "start": 45485, - "end": 45485, + "start": 51556, + "end": 51556, "length": 1, - "parent_index": 3586 + "parent_index": 4040 }, "name": "i", "type_description": { @@ -7278,13 +7449,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -7292,79 +7464,81 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "token", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.output[i].token" }, { - "id": 3590, + "id": 4044, "node_type": 24, "kind": 24, "src": { - "line": 1289, + "line": 1460, "column": 20, - "start": 45515, - "end": 45527, + "start": 51586, + "end": 51598, "length": 13, - "parent_index": 3582 + "parent_index": 4036 }, "argument_types": [ { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" } ], "arguments": [ { - "id": 3593, + "id": 4047, "node_type": 16, "src": { - "line": 1289, + "line": 1460, "column": 28, - "start": 45523, - "end": 45526, + "start": 51594, + "end": 51597, "length": 4, - "parent_index": 3590 + "parent_index": 4044 }, "name": "this", "type_description": { - "type_identifier": "t_contract$_TridentSwapAdapter_$3222", + "type_identifier": "t_contract$_TridentSwapAdapter_$3668", "type_string": "contract TridentSwapAdapter" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 3591, + "id": 4045, "node_type": 16, "src": { - "line": 1289, + "line": 1460, "column": 20, - "start": 45515, - "end": 45521, + "start": 51586, + "end": 51592, "length": 7, - "parent_index": 3590 + "parent_index": 4044 }, "name": "address", "type_name": { - "id": 3592, + "id": 4046, "node_type": 30, "src": { - "line": 1289, + "line": 1460, "column": 20, - "start": 45515, - "end": 45521, + "start": 51586, + "end": 51592, "length": 7, - "parent_index": 3591 + "parent_index": 4045 }, "name": "address", "state_mutability": 4, @@ -7386,7 +7560,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7394,99 +7569,101 @@ } }, { - "id": 3594, + "id": 4048, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1290, + "line": 1461, "column": 20, - "start": 45550, - "end": 45568, + "start": 51621, + "end": 51639, "length": 19, - "parent_index": 3582 + "parent_index": 4036 }, "member_location": { - "line": 1290, + "line": 1461, "column": 37, - "start": 45567, - "end": 45568, + "start": 51638, + "end": 51639, "length": 2, - "parent_index": 3594 + "parent_index": 4048 }, "expression": { - "id": 3595, + "id": 4049, "node_type": 22, "src": { - "line": 1290, + "line": 1461, "column": 20, - "start": 45550, - "end": 45565, + "start": 51621, + "end": 51636, "length": 16, - "parent_index": 3594 + "parent_index": 4048 }, "index_expression": { - "id": 3596, + "id": 4050, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1290, + "line": 1461, "column": 20, - "start": 45550, - "end": 45562, + "start": 51621, + "end": 51633, "length": 13, - "parent_index": 3595 + "parent_index": 4049 }, "member_location": { - "line": 1290, + "line": 1461, "column": 27, - "start": 45557, - "end": 45562, + "start": 51628, + "end": 51633, "length": 6, - "parent_index": 3596 + "parent_index": 4050 }, "expression": { - "id": 3597, + "id": 4051, "node_type": 16, "src": { - "line": 1290, + "line": 1461, "column": 20, - "start": 45550, - "end": 45555, + "start": 51621, + "end": 51626, "length": 6, - "parent_index": 3596 + "parent_index": 4050 }, "name": "params", "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, "overloaded_declarations": [], - "referenced_declaration": 3280, - "is_pure": false + "referenced_declaration": 1774, + "is_pure": false, + "text": "params" }, "member_name": "output", "argument_types": [], "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" - } + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" + }, + "text": "params.output" }, "base_expression": { - "id": 3598, + "id": 4052, "node_type": 16, "src": { - "line": 1290, + "line": 1461, "column": 34, - "start": 45564, - "end": 45564, + "start": 51635, + "end": 51635, "length": 1, - "parent_index": 3595 + "parent_index": 4049 }, "name": "i", "type_description": { @@ -7494,13 +7671,14 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { - "type_identifier": "t_struct$_ITridentRouter_ExactInputParams_$3101", - "type_string": "struct ITridentRouter.ExactInputParams" + "type_identifier": "t_struct$_StargateAdapter_StargateTeleportParams_$1731", + "type_string": "struct StargateAdapter.StargateTeleportParams" }, { "type_identifier": "t_uint256", @@ -7508,15 +7686,15 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } }, "member_name": "to", "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", @@ -7524,23 +7702,24 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" - } + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" + }, + "text": "params.output[i].to" }, { - "id": 3599, + "id": 4053, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1291, + "line": 1462, "column": 20, - "start": 45591, - "end": 45591, + "start": 51662, + "end": 51662, "length": 1, - "parent_index": 3582 + "parent_index": 4036 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7551,91 +7730,93 @@ "is_pure": true, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" } - ] + ], + "text": "0" }, { - "id": 3600, + "id": 4054, "node_type": 16, "src": { - "line": 1292, + "line": 1463, "column": 20, - "start": 45614, - "end": 45626, + "start": 51685, + "end": 51697, "length": 13, - "parent_index": 3582 + "parent_index": 4036 }, "name": "balanceShares", "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$$$_t_rational_0_by_1$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0)" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_function_$_t_address$$$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$$$_t_rational_0_by_1$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0)" }, "overloaded_declarations": [], "referenced_declaration": 0, "is_pure": false, "argument_types": [ { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" }, { - "type_identifier": "t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$", - "type_string": "index[struct ITridentRouter.ExactInputParams:uint256]" + "type_identifier": "t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$", + "type_string": "index[struct StargateAdapter.StargateTeleportParams:uint256]" }, { "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "balanceShares" } ], "expression": { - "id": 3583, + "id": 4037, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1287, + "line": 1458, "column": 16, - "start": 45432, - "end": 45448, + "start": 51503, + "end": 51519, "length": 17, - "parent_index": 3582 + "parent_index": 4036 }, "member_location": { - "line": 1287, + "line": 1458, "column": 25, - "start": 45441, - "end": 45448, + "start": 51512, + "end": 51519, "length": 8, - "parent_index": 3583 + "parent_index": 4037 }, "expression": { - "id": 3584, + "id": 4038, "node_type": 16, "src": { - "line": 1287, + "line": 1458, "column": 16, - "start": 45432, - "end": 45439, + "start": 51503, + "end": 51510, "length": 8, - "parent_index": 3583 + "parent_index": 4037 }, "name": "bentoBox", "type_description": { @@ -7644,18 +7825,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 963, - "is_pure": false + "is_pure": false, + "text": "bentoBox" }, "member_name": "withdraw", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IBentoBoxMinimal_$546", "type_string": "contract IBentoBoxMinimal" - } + }, + "text": "bentoBox.withdraw" }, "type_description": { - "type_identifier": "t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_rational_0_by_1$_t_function_$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_ITridentRouter_ExactInputParams_$3101]$_t_uint256]$_t_rational_0_by_1$", - "type_string": "function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0,function(index[struct ITridentRouter.ExactInputParams:uint256],function(address),index[struct ITridentRouter.ExactInputParams:uint256],int_const 0))" + "type_identifier": "t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_rational_0_by_1$_t_function_$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_function_$_t_address$_t_[_[$_t_struct$_StargateAdapter_StargateTeleportParams_$1731]$_t_uint256]$_t_rational_0_by_1$", + "type_string": "function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0,function(index[struct StargateAdapter.StargateTeleportParams:uint256],function(address),index[struct StargateAdapter.StargateTeleportParams:uint256],int_const 0))" } } ] @@ -7673,66 +7856,66 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3383, + "id": 3837, "node_type": 43, "src": { - "line": 1245, + "line": 1416, "column": 26, - "start": 43564, - "end": 43594, + "start": 49635, + "end": 49665, "length": 31, - "parent_index": 3382 + "parent_index": 3836 }, "parameters": [ { - "id": 3384, + "id": 3838, "node_type": 44, "src": { - "line": 1245, + "line": 1416, "column": 26, - "start": 43564, - "end": 43594, + "start": 49635, + "end": 49665, "length": 31, - "parent_index": 3383 + "parent_index": 3837 }, - "scope": 3382, + "scope": 3836, "name": "params", "type_name": { - "id": 3385, + "id": 3839, "node_type": 69, "src": { - "line": 1245, + "line": 1416, "column": 26, - "start": 43564, - "end": 43580, + "start": 49635, + "end": 49651, "length": 17, - "parent_index": 3384 + "parent_index": 3838 }, "path_node": { - "id": 3386, + "id": 3840, "name": "ComplexPathParams", "node_type": 52, - "referenced_declaration": 3152, + "referenced_declaration": 3596, "src": { - "line": 1245, + "line": 1416, "column": 26, - "start": 43564, - "end": 43580, + "start": 49635, + "end": 49651, "length": 17, - "parent_index": 3385 + "parent_index": 3839 }, "name_location": { - "line": 1245, + "line": 1416, "column": 26, - "start": 43564, - "end": 43580, + "start": 49635, + "end": 49651, "length": 17, - "parent_index": 3385 + "parent_index": 3839 } }, - "referenced_declaration": 3152, + "referenced_declaration": 3596, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" } }, @@ -7740,125 +7923,126 @@ "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" } } ], "parameter_types": [ { - "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3152", + "type_identifier": "t_struct$_ITridentRouter_ComplexPathParams_$3596", "type_string": "struct ITridentRouter.ComplexPathParams" } ] }, "return_parameters": { - "id": 3387, + "id": 3841, "node_type": 43, "src": { - "line": 1245, + "line": 1416, "column": 4, - "start": 43542, - "end": 45904, + "start": 49613, + "end": 51975, "length": 2363, - "parent_index": 3382 + "parent_index": 3836 }, "parameters": [], "parameter_types": [] }, "signature_raw": "_complexPath()", "signature": "87820208", - "scope": 3265, + "scope": 3719, "type_description": { - "type_identifier": "t_function_$_t_struct$_ITridentRouter_ComplexPathParams_$3152$", + "type_identifier": "t_function_$_t_struct$_ITridentRouter_ComplexPathParams_$3596$", "type_string": "function(struct ITridentRouter.ComplexPathParams)" - } + }, + "text": "function_complexPath(ComplexPathParamsmemoryparams)internal{uint256n=params.initialPath.length;for(uint256i=0;i\u003cn;i=_increment(i)){bentoBox.transfer(params.initialPath[i].tokenIn,address(this),params.initialPath[i].pool,params.initialPath[i].amount);IPool(params.initialPath[i].pool).swap(params.initialPath[i].data);}n=params.percentagePath.length;for(uint256i=0;i\u003cn;i=_increment(i)){uint256balanceShares=bentoBox.balanceOf(params.percentagePath[i].tokenIn,address(this));uint256transferShares=(balanceShares*params.percentagePath[i].balancePercentage)/uint256(10)**8;bentoBox.transfer(params.percentagePath[i].tokenIn,address(this),params.percentagePath[i].pool,transferShares);IPool(params.percentagePath[i].pool).swap(params.percentagePath[i].data);}n=params.output.length;for(uint256i=0;i\u003cn;i=_increment(i)){uint256balanceShares=bentoBox.balanceOf(params.output[i].token,address(this));if(balanceShares\u003cparams.output[i].minAmount)revertTooLittleReceived();if(params.output[i].unwrapBento){bentoBox.withdraw(params.output[i].token,address(this),params.output[i].to,0,balanceShares);}else{bentoBox.transfer(params.output[i].token,address(this),params.output[i].to,balanceShares);}}}" }, { - "id": 3602, + "id": 4056, "name": "_increment", "node_type": 42, "kind": 41, "src": { - "line": 1305, + "line": 1476, "column": 4, - "start": 45911, - "end": 46036, + "start": 51982, + "end": 52107, "length": 126, - "parent_index": 3265 + "parent_index": 3719 }, "name_location": { - "line": 1305, + "line": 1476, "column": 13, - "start": 45920, - "end": 45929, + "start": 51991, + "end": 52000, "length": 10, - "parent_index": 3602 + "parent_index": 4056 }, "body": { - "id": 3609, + "id": 4063, "node_type": 46, "kind": 0, "src": { - "line": 1305, + "line": 1476, "column": 67, - "start": 45974, - "end": 46036, + "start": 52045, + "end": 52107, "length": 63, - "parent_index": 3602 + "parent_index": 4056 }, "implemented": true, "statements": [ { - "id": 3610, + "id": 4064, "node_type": 59, "kind": 0, "src": { - "line": 1306, + "line": 1477, "column": 8, - "start": 45984, - "end": 46030, + "start": 52055, + "end": 52101, "length": 47, - "parent_index": 3265 + "parent_index": 3719 }, "implemented": false, "statements": [ { - "id": 3611, + "id": 4065, "node_type": 47, "src": { - "line": 1307, + "line": 1478, "column": 12, - "start": 46008, - "end": 46020, + "start": 52079, + "end": 52091, "length": 13, - "parent_index": 3602 + "parent_index": 4056 }, - "function_return_parameters": 3602, + "function_return_parameters": 4056, "expression": { - "id": 3612, + "id": 4066, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1307, + "line": 1478, "column": 19, - "start": 46015, - "end": 46019, + "start": 52086, + "end": 52090, "length": 5, - "parent_index": 3611 + "parent_index": 4065 }, "operator": 1, "left_expression": { - "id": 3613, + "id": 4067, "node_type": 16, "src": { - "line": 1307, + "line": 1478, "column": 19, - "start": 46015, - "end": 46015, + "start": 52086, + "end": 52086, "length": 1, - "parent_index": 3612 + "parent_index": 4066 }, "name": "i", "type_description": { @@ -7866,22 +8050,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 3613, - "is_pure": false + "referenced_declaration": 4067, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 3614, + "id": 4068, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1307, + "line": 1478, "column": 23, - "start": 46019, - "end": 46019, + "start": 52090, + "end": 52090, "length": 1, - "parent_index": 3612 + "parent_index": 4066 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -7889,7 +8074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -7908,40 +8094,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 3603, + "id": 4057, "node_type": 43, "src": { - "line": 1305, + "line": 1476, "column": 24, - "start": 45931, - "end": 45939, + "start": 52002, + "end": 52010, "length": 9, - "parent_index": 3602 + "parent_index": 4056 }, "parameters": [ { - "id": 3604, + "id": 4058, "node_type": 44, "src": { - "line": 1305, + "line": 1476, "column": 24, - "start": 45931, - "end": 45939, + "start": 52002, + "end": 52010, "length": 9, - "parent_index": 3603 + "parent_index": 4057 }, - "scope": 3602, + "scope": 4056, "name": "i", "type_name": { - "id": 3605, + "id": 4059, "node_type": 30, "src": { - "line": 1305, + "line": 1476, "column": 24, - "start": 45931, - "end": 45937, + "start": 52002, + "end": 52008, "length": 7, - "parent_index": 3604 + "parent_index": 4058 }, "name": "uint256", "referenced_declaration": 0, @@ -7967,40 +8153,40 @@ ] }, "return_parameters": { - "id": 3606, + "id": 4060, "node_type": 43, "src": { - "line": 1305, + "line": 1476, "column": 58, - "start": 45965, - "end": 45971, + "start": 52036, + "end": 52042, "length": 7, - "parent_index": 3602 + "parent_index": 4056 }, "parameters": [ { - "id": 3607, + "id": 4061, "node_type": 44, "src": { - "line": 1305, + "line": 1476, "column": 58, - "start": 45965, - "end": 45971, + "start": 52036, + "end": 52042, "length": 7, - "parent_index": 3606 + "parent_index": 4060 }, - "scope": 3602, + "scope": 4056, "name": "", "type_name": { - "id": 3608, + "id": 4062, "node_type": 30, "src": { - "line": 1305, + "line": 1476, "column": 58, - "start": 45965, - "end": 45971, + "start": 52036, + "end": 52042, "length": 7, - "parent_index": 3607 + "parent_index": 4061 }, "name": "uint256", "referenced_declaration": 0, @@ -8027,149 +8213,150 @@ }, "signature_raw": "_increment(uint256)", "signature": "5e384b73", - "scope": 3265, + "scope": 3719, "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "function_increment(uint256i)internalpurereturns(uint256){unchecked{returni+1;}}" } ], "linearized_base_contracts": [ - 3023, + 3465, 948, 1018, - 1684, - 3265, - 3260, - 3261, - 3262, - 3263, - 3264 + 3335, + 3719, + 3714, + 3715, + 3716, + 3717, + 3718 ], "base_contracts": [ { - "id": 3266, + "id": 3720, "node_type": 62, "src": { - "line": 1191, + "line": 1362, "column": 4, - "start": 41098, - "end": 41111, + "start": 47169, + "end": 47182, "length": 14, - "parent_index": 3265 + "parent_index": 3719 }, "base_name": { - "id": 3267, + "id": 3721, "node_type": 52, "src": { - "line": 1191, + "line": 1362, "column": 4, - "start": 41098, - "end": 41111, + "start": 47169, + "end": 47182, "length": 14, - "parent_index": 3265 + "parent_index": 3719 }, "name": "ITridentRouter", - "referenced_declaration": 3023 + "referenced_declaration": 3465 } }, { - "id": 3268, + "id": 3722, "node_type": 62, "src": { - "line": 1192, + "line": 1363, "column": 4, - "start": 41118, - "end": 41131, + "start": 47189, + "end": 47202, "length": 14, - "parent_index": 3265 + "parent_index": 3719 }, "base_name": { - "id": 3269, + "id": 3723, "node_type": 52, "src": { - "line": 1192, + "line": 1363, "column": 4, - "start": 41118, - "end": 41131, + "start": 47189, + "end": 47202, "length": 14, - "parent_index": 3265 + "parent_index": 3719 }, "name": "ImmutableState", "referenced_declaration": 948 } }, { - "id": 3270, + "id": 3724, "node_type": 62, "src": { - "line": 1193, + "line": 1364, "column": 4, - "start": 41138, - "end": 41149, + "start": 47209, + "end": 47220, "length": 12, - "parent_index": 3265 + "parent_index": 3719 }, "base_name": { - "id": 3271, + "id": 3725, "node_type": 52, "src": { - "line": 1193, + "line": 1364, "column": 4, - "start": 41138, - "end": 41149, + "start": 47209, + "end": 47220, "length": 12, - "parent_index": 3265 + "parent_index": 3719 }, "name": "BentoAdapter", "referenced_declaration": 1018 } }, { - "id": 3272, + "id": 3726, "node_type": 62, "src": { - "line": 1194, + "line": 1365, "column": 4, - "start": 41156, - "end": 41167, + "start": 47227, + "end": 47238, "length": 12, - "parent_index": 3265 + "parent_index": 3719 }, "base_name": { - "id": 3273, + "id": 3727, "node_type": 52, "src": { - "line": 1194, + "line": 1365, "column": 4, - "start": 41156, - "end": 41167, + "start": 47227, + "end": 47238, "length": 12, - "parent_index": 3265 + "parent_index": 3719 }, "name": "TokenAdapter", - "referenced_declaration": 1684 + "referenced_declaration": 3335 } } ], "contract_dependencies": [ - 3023, + 3465, 948, 1018, - 1684, - 3260, - 3261, - 3262, - 3263, - 3264 + 3335, + 3714, + 3715, + 3716, + 3717, + 3718 ] } ], "src": { - "line": 1190, + "line": 1361, "column": 0, - "start": 41054, - "end": 46038, + "start": 47125, + "end": 52109, "length": 4985, "parent_index": 272 } diff --git a/data/tests/contracts/sushixswap/UniswapV2Library.solgo.ast.json b/data/tests/contracts/sushixswap/UniswapV2Library.solgo.ast.json index 9efac1d0..5bf0ca99 100644 --- a/data/tests/contracts/sushixswap/UniswapV2Library.solgo.ast.json +++ b/data/tests/contracts/sushixswap/UniswapV2Library.solgo.ast.json @@ -1,20 +1,20 @@ { - "id": 2281, + "id": 2503, "base_contracts": [], "license": "GPL-3.0", "exported_symbols": [ { - "id": 2281, + "id": 2503, "name": "UniswapV2Library", "absolute_path": "/home/cortex/github/txpull/solgo/data/tests/contracts/sushixswap/UniswapV2Library.sol" }, { - "id": 2183, + "id": 2401, "name": "IUniswapV2Pair", "absolute_path": "IUniswapV2Pair.sol" }, { - "id": 2183, + "id": 2401, "name": "SafeMath", "absolute_path": "SafeMath.sol" } @@ -24,15 +24,15 @@ "node_type": 1, "nodes": [ { - "id": 2296, + "id": 2518, "node_type": 10, "src": { - "line": 880, + "line": 990, "column": 0, - "start": 31584, - "end": 31607, + "start": 35977, + "end": 36000, "length": 24, - "parent_index": 2281 + "parent_index": 2503 }, "literals": [ "pragma", @@ -48,92 +48,92 @@ "text": "pragma solidity \u003e=0.5.0;" }, { - "id": 2307, + "id": 2533, "node_type": 29, "src": { - "line": 882, + "line": 992, "column": 0, - "start": 31610, - "end": 31639, + "start": 36003, + "end": 36032, "length": 30, - "parent_index": 2281 + "parent_index": 2503 }, "absolute_path": "IUniswapV2Pair.sol", "file": "./IUniswapV2Pair.sol", - "scope": 2281, + "scope": 2503, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 2183 + "source_unit": 2401 }, { - "id": 2308, + "id": 2534, "node_type": 29, "src": { - "line": 884, + "line": 994, "column": 0, - "start": 31642, - "end": 31665, + "start": 36035, + "end": 36058, "length": 24, - "parent_index": 2281 + "parent_index": 2503 }, "absolute_path": "SafeMath.sol", "file": "./SafeMath.sol", - "scope": 2281, + "scope": 2503, "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 2183 + "source_unit": 2401 }, { - "id": 2309, + "id": 2535, "name": "UniswapV2Library", "node_type": 35, "src": { - "line": 886, + "line": 996, "column": 0, - "start": 31668, - "end": 36990, + "start": 36061, + "end": 41383, "length": 5323, - "parent_index": 2281 + "parent_index": 2503 }, "name_location": { - "line": 886, + "line": 996, "column": 8, - "start": 31676, - "end": 31691, + "start": 36069, + "end": 36084, "length": 16, - "parent_index": 2309 + "parent_index": 2535 }, "abstract": false, "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 2311, + "id": 2537, "node_type": 51, "src": { - "line": 887, + "line": 997, "column": 0, - "start": 31699, - "end": 31732, + "start": 36092, + "end": 36125, "length": 34, - "parent_index": 2309 + "parent_index": 2535 }, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "type_name": { - "id": 2313, + "id": 2539, "node_type": 30, "src": { - "line": 887, + "line": 997, "column": 30, - "start": 31725, - "end": 31731, + "start": 36118, + "end": 36124, "length": 7, - "parent_index": 2311 + "parent_index": 2537 }, "name": "uint256", "referenced_declaration": 0, @@ -143,66 +143,66 @@ } }, "library_name": { - "id": 2312, + "id": 2538, "node_type": 52, "src": { - "line": 887, + "line": 997, "column": 0, - "start": 31705, - "end": 31719, + "start": 36098, + "end": 36112, "length": 15, - "parent_index": 2311 + "parent_index": 2537 }, "name": "SafeMathUniswap", - "referenced_declaration": 2183 + "referenced_declaration": 2401 } }, { - "id": 2315, + "id": 2541, "name": "sortTokens", "node_type": 42, "kind": 41, "src": { - "line": 890, + "line": 1000, "column": 4, - "start": 31839, - "end": 32235, + "start": 36232, + "end": 36628, "length": 397, - "parent_index": 2309 + "parent_index": 2535 }, "name_location": { - "line": 890, + "line": 1000, "column": 13, - "start": 31848, - "end": 31857, + "start": 36241, + "end": 36250, "length": 10, - "parent_index": 2315 + "parent_index": 2541 }, "body": { - "id": 2326, + "id": 2552, "node_type": 46, "kind": 0, "src": { - "line": 894, + "line": 1004, "column": 4, - "start": 31974, - "end": 32235, + "start": 36367, + "end": 36628, "length": 262, - "parent_index": 2315 + "parent_index": 2541 }, "implemented": true, "statements": [ { - "id": 2327, + "id": 2553, "node_type": 24, "kind": 24, "src": { - "line": 895, + "line": 1005, "column": 8, - "start": 31984, - "end": 32049, + "start": 36377, + "end": 36442, "length": 66, - "parent_index": 2326 + "parent_index": 2552 }, "argument_types": [ { @@ -216,29 +216,29 @@ ], "arguments": [ { - "id": 2329, + "id": 2555, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 895, + "line": 1005, "column": 16, - "start": 31992, - "end": 32007, + "start": 36385, + "end": 36400, "length": 16, - "parent_index": 2327 + "parent_index": 2553 }, "operator": 12, "left_expression": { - "id": 2330, + "id": 2556, "node_type": 16, "src": { - "line": 895, + "line": 1005, "column": 16, - "start": 31992, - "end": 31997, + "start": 36385, + "end": 36390, "length": 6, - "parent_index": 2329 + "parent_index": 2555 }, "name": "tokenA", "type_description": { @@ -246,19 +246,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2330, - "is_pure": false + "referenced_declaration": 2556, + "is_pure": false, + "text": "tokenA" }, "right_expression": { - "id": 2331, + "id": 2557, "node_type": 16, "src": { - "line": 895, + "line": 1005, "column": 26, - "start": 32002, - "end": 32007, + "start": 36395, + "end": 36400, "length": 6, - "parent_index": 2329 + "parent_index": 2555 }, "name": "tokenB", "type_description": { @@ -266,8 +267,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2331, - "is_pure": false + "referenced_declaration": 2557, + "is_pure": false, + "text": "tokenB" }, "type_description": { "type_identifier": "t_bool", @@ -275,18 +277,18 @@ } }, { - "id": 2332, + "id": 2558, "node_type": 17, "kind": 50, "value": "UniswapV2Library: IDENTICAL_ADDRESSES", "hex_value": "556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553", "src": { - "line": 895, + "line": 1005, "column": 34, - "start": 32010, - "end": 32048, + "start": 36403, + "end": 36441, "length": 39, - "parent_index": 2327 + "parent_index": 2553 }, "type_description": { "type_identifier": "t_string_literal", @@ -300,19 +302,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: IDENTICAL_ADDRESSES\"" } ], "expression": { - "id": 2328, + "id": 2554, "node_type": 16, "src": { - "line": 895, + "line": 1005, "column": 8, - "start": 31984, - "end": 31990, + "start": 36377, + "end": 36383, "length": 7, - "parent_index": 2327 + "parent_index": 2553 }, "name": "require", "type_description": { @@ -321,7 +324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -329,52 +333,52 @@ } }, { - "id": 2333, + "id": 2559, "node_type": 27, "src": { - "line": 896, + "line": 1006, "column": 8, - "start": 32060, - "end": 32156, + "start": 36453, + "end": 36549, "length": 97, - "parent_index": 2326 + "parent_index": 2552 }, "expression": { - "id": 2334, + "id": 2560, "node_type": 27, "src": { - "line": 896, + "line": 1006, "column": 8, - "start": 32060, - "end": 32155, + "start": 36453, + "end": 36548, "length": 96, - "parent_index": 2333 + "parent_index": 2559 }, "operator": 11, "left_expression": { - "id": 2335, + "id": 2561, "node_type": 60, "src": { - "line": 896, + "line": 1006, "column": 8, - "start": 32060, - "end": 32075, + "start": 36453, + "end": 36468, "length": 16, - "parent_index": 2334 + "parent_index": 2560 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2336, + "id": 2562, "node_type": 16, "src": { - "line": 896, + "line": 1006, "column": 9, - "start": 32061, - "end": 32066, + "start": 36454, + "end": 36459, "length": 6, - "parent_index": 2335 + "parent_index": 2561 }, "name": "token0", "type_description": { @@ -382,19 +386,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2322, - "is_pure": false + "referenced_declaration": 2548, + "is_pure": false, + "text": "token0" }, { - "id": 2337, + "id": 2563, "node_type": 16, "src": { - "line": 896, + "line": 1006, "column": 17, - "start": 32069, - "end": 32074, + "start": 36462, + "end": 36467, "length": 6, - "parent_index": 2335 + "parent_index": 2561 }, "name": "token1", "type_description": { @@ -402,8 +407,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2324, - "is_pure": false + "referenced_declaration": 2550, + "is_pure": false, + "text": "token1" } ], "type_description": { @@ -412,41 +418,41 @@ } }, "right_expression": { - "id": 2339, + "id": 2565, "node_type": 97, "src": { - "line": 896, + "line": 1006, "column": 27, - "start": 32079, - "end": 32155, + "start": 36472, + "end": 36548, "length": 77, - "parent_index": 2334 + "parent_index": 2560 }, "expressions": [ { - "id": 2340, + "id": 2566, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 896, + "line": 1006, "column": 27, - "start": 32079, - "end": 32093, + "start": 36472, + "end": 36486, "length": 15, - "parent_index": 2339 + "parent_index": 2565 }, "operator": 9, "left_expression": { - "id": 2341, + "id": 2567, "node_type": 16, "src": { - "line": 896, + "line": 1006, "column": 27, - "start": 32079, - "end": 32084, + "start": 36472, + "end": 36477, "length": 6, - "parent_index": 2340 + "parent_index": 2566 }, "name": "tokenA", "type_description": { @@ -454,19 +460,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2341, - "is_pure": false + "referenced_declaration": 2567, + "is_pure": false, + "text": "tokenA" }, "right_expression": { - "id": 2342, + "id": 2568, "node_type": 16, "src": { - "line": 896, + "line": 1006, "column": 36, - "start": 32088, - "end": 32093, + "start": 36481, + "end": 36486, "length": 6, - "parent_index": 2340 + "parent_index": 2566 }, "name": "tokenB", "type_description": { @@ -474,8 +481,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2342, - "is_pure": false + "referenced_declaration": 2568, + "is_pure": false, + "text": "tokenB" }, "type_description": { "type_identifier": "t_bool", @@ -483,29 +491,29 @@ } }, { - "id": 2343, + "id": 2569, "node_type": 60, "src": { - "line": 897, + "line": 1007, "column": 14, - "start": 32109, - "end": 32124, + "start": 36502, + "end": 36517, "length": 16, - "parent_index": 2339 + "parent_index": 2565 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2344, + "id": 2570, "node_type": 16, "src": { - "line": 897, + "line": 1007, "column": 15, - "start": 32110, - "end": 32115, + "start": 36503, + "end": 36508, "length": 6, - "parent_index": 2343 + "parent_index": 2569 }, "name": "tokenA", "type_description": { @@ -513,19 +521,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2344, - "is_pure": false + "referenced_declaration": 2570, + "is_pure": false, + "text": "tokenA" }, { - "id": 2345, + "id": 2571, "node_type": 16, "src": { - "line": 897, + "line": 1007, "column": 23, - "start": 32118, - "end": 32123, + "start": 36511, + "end": 36516, "length": 6, - "parent_index": 2343 + "parent_index": 2569 }, "name": "tokenB", "type_description": { @@ -533,8 +542,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2345, - "is_pure": false + "referenced_declaration": 2571, + "is_pure": false, + "text": "tokenB" } ], "type_description": { @@ -543,29 +553,29 @@ } }, { - "id": 2346, + "id": 2572, "node_type": 60, "src": { - "line": 898, + "line": 1008, "column": 14, - "start": 32140, - "end": 32155, + "start": 36533, + "end": 36548, "length": 16, - "parent_index": 2339 + "parent_index": 2565 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2347, + "id": 2573, "node_type": 16, "src": { - "line": 898, + "line": 1008, "column": 15, - "start": 32141, - "end": 32146, + "start": 36534, + "end": 36539, "length": 6, - "parent_index": 2346 + "parent_index": 2572 }, "name": "tokenB", "type_description": { @@ -573,19 +583,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2347, - "is_pure": false + "referenced_declaration": 2573, + "is_pure": false, + "text": "tokenB" }, { - "id": 2348, + "id": 2574, "node_type": 16, "src": { - "line": 898, + "line": 1008, "column": 23, - "start": 32149, - "end": 32154, + "start": 36542, + "end": 36547, "length": 6, - "parent_index": 2346 + "parent_index": 2572 }, "name": "tokenA", "type_description": { @@ -593,8 +604,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2348, - "is_pure": false + "referenced_declaration": 2574, + "is_pure": false, + "text": "tokenA" } ], "type_description": { @@ -627,19 +639,20 @@ "type_description": { "type_identifier": "t_tuple_$_t_address_$_t_address$", "type_string": "tuple(address,address)" - } + }, + "text": "(token0,token1)=tokenA\u003ctokenB?(tokenA,tokenB):(tokenB,tokenA);" }, { - "id": 2349, + "id": 2575, "node_type": 24, "kind": 24, "src": { - "line": 899, + "line": 1009, "column": 8, - "start": 32166, - "end": 32228, + "start": 36559, + "end": 36621, "length": 63, - "parent_index": 2326 + "parent_index": 2552 }, "argument_types": [ { @@ -653,29 +666,29 @@ ], "arguments": [ { - "id": 2351, + "id": 2577, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 899, + "line": 1009, "column": 16, - "start": 32174, - "end": 32193, + "start": 36567, + "end": 36586, "length": 20, - "parent_index": 2349 + "parent_index": 2575 }, "operator": 12, "left_expression": { - "id": 2352, + "id": 2578, "node_type": 16, "src": { - "line": 899, + "line": 1009, "column": 16, - "start": 32174, - "end": 32179, + "start": 36567, + "end": 36572, "length": 6, - "parent_index": 2351 + "parent_index": 2577 }, "name": "token0", "type_description": { @@ -683,20 +696,21 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2322, - "is_pure": false + "referenced_declaration": 2548, + "is_pure": false, + "text": "token0" }, "right_expression": { - "id": 2353, + "id": 2579, "node_type": 24, "kind": 24, "src": { - "line": 899, + "line": 1009, "column": 26, - "start": 32184, - "end": 32193, + "start": 36577, + "end": 36586, "length": 10, - "parent_index": 2351 + "parent_index": 2577 }, "argument_types": [ { @@ -706,18 +720,18 @@ ], "arguments": [ { - "id": 2356, + "id": 2582, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 899, + "line": 1009, "column": 34, - "start": 32192, - "end": 32192, + "start": 36585, + "end": 36585, "length": 1, - "parent_index": 2353 + "parent_index": 2579 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -725,31 +739,32 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 2354, + "id": 2580, "node_type": 16, "src": { - "line": 899, + "line": 1009, "column": 26, - "start": 32184, - "end": 32190, + "start": 36577, + "end": 36583, "length": 7, - "parent_index": 2353 + "parent_index": 2579 }, "name": "address", "type_name": { - "id": 2355, + "id": 2581, "node_type": 30, "src": { - "line": 899, + "line": 1009, "column": 26, - "start": 32184, - "end": 32190, + "start": 36577, + "end": 36583, "length": 7, - "parent_index": 2354 + "parent_index": 2580 }, "name": "address", "state_mutability": 4, @@ -771,7 +786,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -784,18 +800,18 @@ } }, { - "id": 2357, + "id": 2583, "node_type": 17, "kind": 50, "value": "UniswapV2Library: ZERO_ADDRESS", "hex_value": "556e697377617056324c6962726172793a205a45524f5f41444452455353", "src": { - "line": 899, + "line": 1009, "column": 38, - "start": 32196, - "end": 32227, + "start": 36589, + "end": 36620, "length": 32, - "parent_index": 2349 + "parent_index": 2575 }, "type_description": { "type_identifier": "t_string_literal", @@ -809,19 +825,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: ZERO_ADDRESS\"" } ], "expression": { - "id": 2350, + "id": 2576, "node_type": 16, "src": { - "line": 899, + "line": 1009, "column": 8, - "start": 32166, - "end": 32172, + "start": 36559, + "end": 36565, "length": 7, - "parent_index": 2349 + "parent_index": 2575 }, "name": "require", "type_description": { @@ -830,7 +847,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -846,40 +864,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2316, + "id": 2542, "node_type": 43, "src": { - "line": 890, + "line": 1000, "column": 24, - "start": 31859, - "end": 31888, + "start": 36252, + "end": 36281, "length": 30, - "parent_index": 2315 + "parent_index": 2541 }, "parameters": [ { - "id": 2317, + "id": 2543, "node_type": 44, "src": { - "line": 890, + "line": 1000, "column": 24, - "start": 31859, - "end": 31872, + "start": 36252, + "end": 36265, "length": 14, - "parent_index": 2316 + "parent_index": 2542 }, - "scope": 2315, + "scope": 2541, "name": "tokenA", "type_name": { - "id": 2318, + "id": 2544, "node_type": 30, "src": { - "line": 890, + "line": 1000, "column": 24, - "start": 31859, - "end": 31865, + "start": 36252, + "end": 36258, "length": 7, - "parent_index": 2317 + "parent_index": 2543 }, "name": "address", "state_mutability": 4, @@ -898,28 +916,28 @@ } }, { - "id": 2319, + "id": 2545, "node_type": 44, "src": { - "line": 890, + "line": 1000, "column": 40, - "start": 31875, - "end": 31888, + "start": 36268, + "end": 36281, "length": 14, - "parent_index": 2316 + "parent_index": 2542 }, - "scope": 2315, + "scope": 2541, "name": "tokenB", "type_name": { - "id": 2320, + "id": 2546, "node_type": 30, "src": { - "line": 890, + "line": 1000, "column": 40, - "start": 31875, - "end": 31881, + "start": 36268, + "end": 36274, "length": 7, - "parent_index": 2319 + "parent_index": 2545 }, "name": "address", "state_mutability": 4, @@ -950,40 +968,40 @@ ] }, "return_parameters": { - "id": 2321, + "id": 2547, "node_type": 43, "src": { - "line": 893, + "line": 1003, "column": 17, - "start": 31938, - "end": 31967, + "start": 36331, + "end": 36360, "length": 30, - "parent_index": 2315 + "parent_index": 2541 }, "parameters": [ { - "id": 2322, + "id": 2548, "node_type": 44, "src": { - "line": 893, + "line": 1003, "column": 17, - "start": 31938, - "end": 31951, + "start": 36331, + "end": 36344, "length": 14, - "parent_index": 2321 + "parent_index": 2547 }, - "scope": 2315, + "scope": 2541, "name": "token0", "type_name": { - "id": 2323, + "id": 2549, "node_type": 30, "src": { - "line": 893, + "line": 1003, "column": 17, - "start": 31938, - "end": 31944, + "start": 36331, + "end": 36337, "length": 7, - "parent_index": 2322 + "parent_index": 2548 }, "name": "address", "state_mutability": 4, @@ -1002,28 +1020,28 @@ } }, { - "id": 2324, + "id": 2550, "node_type": 44, "src": { - "line": 893, + "line": 1003, "column": 33, - "start": 31954, - "end": 31967, + "start": 36347, + "end": 36360, "length": 14, - "parent_index": 2321 + "parent_index": 2547 }, - "scope": 2315, + "scope": 2541, "name": "token1", "type_name": { - "id": 2325, + "id": 2551, "node_type": 30, "src": { - "line": 893, + "line": 1003, "column": 33, - "start": 31954, - "end": 31960, + "start": 36347, + "end": 36353, "length": 7, - "parent_index": 2324 + "parent_index": 2550 }, "name": "address", "state_mutability": 4, @@ -1053,99 +1071,100 @@ } ] }, - "signature_raw": "sortTokens(address, address)", - "signature": "a52ffdb9", - "scope": 2309, + "signature_raw": "sortTokens(address,address)", + "signature": "544caa56", + "scope": 2535, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionsortTokens(addresstokenA,addresstokenB)internalpurereturns(addresstoken0,addresstoken1){require(tokenA!=tokenB,\"UniswapV2Library: IDENTICAL_ADDRESSES\");(token0,token1)=tokenA\u003ctokenB?(tokenA,tokenB):(tokenB,tokenA);require(token0!=address(0),\"UniswapV2Library: ZERO_ADDRESS\");}" }, { - "id": 2359, + "id": 2585, "name": "pairFor", "node_type": 42, "kind": 41, "src": { - "line": 903, + "line": 1013, "column": 4, - "start": 32325, - "end": 33005, + "start": 36718, + "end": 37398, "length": 681, - "parent_index": 2309 + "parent_index": 2535 }, "name_location": { - "line": 903, + "line": 1013, "column": 13, - "start": 32334, - "end": 32340, + "start": 36727, + "end": 36733, "length": 7, - "parent_index": 2359 + "parent_index": 2585 }, "body": { - "id": 2372, + "id": 2598, "node_type": 46, "kind": 0, "src": { - "line": 908, + "line": 1018, "column": 43, - "start": 32488, - "end": 33005, + "start": 36881, + "end": 37398, "length": 518, - "parent_index": 2359 + "parent_index": 2585 }, "implemented": true, "statements": [ { - "id": 2373, + "id": 2599, "node_type": 44, "src": { - "line": 909, + "line": 1019, "column": 8, - "start": 32498, - "end": 32559, + "start": 36891, + "end": 36952, "length": 62, - "parent_index": 2372 + "parent_index": 2598 }, "assignments": [ - 2374, - 2376 + 2600, + 2602 ], "declarations": [ { - "id": 2374, + "id": 2600, "state_mutability": 1, "name": "token0", "node_type": 44, - "scope": 2372, + "scope": 2598, "src": { - "line": 909, + "line": 1019, "column": 9, - "start": 32499, - "end": 32512, + "start": 36892, + "end": 36905, "length": 14, - "parent_index": 2373 + "parent_index": 2599 }, "name_location": { - "line": 909, + "line": 1019, "column": 17, - "start": 32507, - "end": 32512, + "start": 36900, + "end": 36905, "length": 6, - "parent_index": 2374 + "parent_index": 2600 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2375, + "id": 2601, "node_type": 30, "src": { - "line": 909, + "line": 1019, "column": 9, - "start": 32499, - "end": 32505, + "start": 36892, + "end": 36898, "length": 7, - "parent_index": 2374 + "parent_index": 2600 }, "name": "address", "state_mutability": 4, @@ -1158,39 +1177,39 @@ "visibility": 1 }, { - "id": 2376, + "id": 2602, "state_mutability": 1, "name": "token1", "node_type": 44, - "scope": 2372, + "scope": 2598, "src": { - "line": 909, + "line": 1019, "column": 25, - "start": 32515, - "end": 32528, + "start": 36908, + "end": 36921, "length": 14, - "parent_index": 2373 + "parent_index": 2599 }, "name_location": { - "line": 909, + "line": 1019, "column": 33, - "start": 32523, - "end": 32528, + "start": 36916, + "end": 36921, "length": 6, - "parent_index": 2376 + "parent_index": 2602 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2377, + "id": 2603, "node_type": 30, "src": { - "line": 909, + "line": 1019, "column": 25, - "start": 32515, - "end": 32521, + "start": 36908, + "end": 36914, "length": 7, - "parent_index": 2376 + "parent_index": 2602 }, "name": "address", "state_mutability": 4, @@ -1204,16 +1223,16 @@ } ], "initial_value": { - "id": 2378, + "id": 2604, "node_type": 24, "kind": 24, "src": { - "line": 909, + "line": 1019, "column": 43, - "start": 32533, - "end": 32558, + "start": 36926, + "end": 36951, "length": 26, - "parent_index": 2373 + "parent_index": 2599 }, "argument_types": [ { @@ -1227,15 +1246,15 @@ ], "arguments": [ { - "id": 2380, + "id": 2606, "node_type": 16, "src": { - "line": 909, + "line": 1019, "column": 54, - "start": 32544, - "end": 32549, + "start": 36937, + "end": 36942, "length": 6, - "parent_index": 2378 + "parent_index": 2604 }, "name": "tokenA", "type_description": { @@ -1243,19 +1262,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2380, - "is_pure": false + "referenced_declaration": 2606, + "is_pure": false, + "text": "tokenA" }, { - "id": 2381, + "id": 2607, "node_type": 16, "src": { - "line": 909, + "line": 1019, "column": 62, - "start": 32552, - "end": 32557, + "start": 36945, + "end": 36950, "length": 6, - "parent_index": 2378 + "parent_index": 2604 }, "name": "tokenB", "type_description": { @@ -1263,26 +1283,27 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2381, + "referenced_declaration": 2607, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { - "id": 2379, + "id": 2605, "node_type": 16, "src": { - "line": 909, + "line": 1019, "column": 43, - "start": 32533, - "end": 32542, + "start": 36926, + "end": 36935, "length": 10, - "parent_index": 2378 + "parent_index": 2604 }, "name": "sortTokens", "type_description": { @@ -1291,7 +1312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "sortTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -1300,38 +1322,38 @@ } }, { - "id": 2382, + "id": 2608, "node_type": 27, "src": { - "line": 910, + "line": 1020, "column": 8, - "start": 32569, - "end": 32999, + "start": 36962, + "end": 37392, "length": 431, - "parent_index": 2372 + "parent_index": 2598 }, "expression": { - "id": 2383, + "id": 2609, "node_type": 27, "src": { - "line": 910, + "line": 1020, "column": 8, - "start": 32569, - "end": 32998, + "start": 36962, + "end": 37391, "length": 430, - "parent_index": 2382 + "parent_index": 2608 }, "operator": 11, "left_expression": { - "id": 2384, + "id": 2610, "node_type": 16, "src": { - "line": 910, + "line": 1020, "column": 8, - "start": 32569, - "end": 32572, + "start": 36962, + "end": 36965, "length": 4, - "parent_index": 2383 + "parent_index": 2609 }, "name": "pair", "type_description": { @@ -1339,20 +1361,21 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2370, - "is_pure": false + "referenced_declaration": 2596, + "is_pure": false, + "text": "pair" }, "right_expression": { - "id": 2385, + "id": 2611, "node_type": 24, "kind": 24, "src": { - "line": 910, + "line": 1020, "column": 15, - "start": 32576, - "end": 32998, + "start": 36969, + "end": 37391, "length": 423, - "parent_index": 2383 + "parent_index": 2609 }, "argument_types": [ { @@ -1362,16 +1385,16 @@ ], "arguments": [ { - "id": 2388, + "id": 2614, "node_type": 24, "kind": 24, "src": { - "line": 911, + "line": 1021, "column": 12, - "start": 32597, - "end": 32988, + "start": 36990, + "end": 37381, "length": 392, - "parent_index": 2385 + "parent_index": 2611 }, "argument_types": [ { @@ -1381,16 +1404,16 @@ ], "arguments": [ { - "id": 2391, + "id": 2617, "node_type": 24, "kind": 24, "src": { - "line": 912, + "line": 1022, "column": 16, - "start": 32622, - "end": 32974, + "start": 37015, + "end": 37367, "length": 353, - "parent_index": 2388 + "parent_index": 2614 }, "argument_types": [ { @@ -1400,16 +1423,16 @@ ], "arguments": [ { - "id": 2394, + "id": 2620, "node_type": 24, "kind": 24, "src": { - "line": 913, + "line": 1023, "column": 20, - "start": 32651, - "end": 32956, + "start": 37044, + "end": 37349, "length": 306, - "parent_index": 2391 + "parent_index": 2617 }, "argument_types": [ { @@ -1419,16 +1442,16 @@ ], "arguments": [ { - "id": 2396, + "id": 2622, "node_type": 24, "kind": 24, "src": { - "line": 914, + "line": 1024, "column": 24, - "start": 32686, - "end": 32934, + "start": 37079, + "end": 37327, "length": 249, - "parent_index": 2394 + "parent_index": 2620 }, "argument_types": [ { @@ -1450,18 +1473,18 @@ ], "arguments": [ { - "id": 2399, + "id": 2625, "node_type": 17, "kind": 65, "value": "hexff", "hex_value": "6865786666", "src": { - "line": 915, + "line": 1025, "column": 28, - "start": 32732, - "end": 32738, + "start": 37125, + "end": 37131, "length": 7, - "parent_index": 2396 + "parent_index": 2622 }, "type_description": { "type_identifier": "t_string_hex_literal", @@ -1469,18 +1492,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"ff\"" }, { - "id": 2400, + "id": 2626, "node_type": 16, "src": { - "line": 916, + "line": 1026, "column": 28, - "start": 32769, - "end": 32775, + "start": 37162, + "end": 37168, "length": 7, - "parent_index": 2396 + "parent_index": 2622 }, "name": "factory", "type_description": { @@ -1488,26 +1512,27 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2400, + "referenced_declaration": 2626, "is_pure": false, "argument_types": [ { "type_identifier": "t_string_hex_literal", "type_string": "literal_hex_string hex\"ff\"" } - ] + ], + "text": "factory" }, { - "id": 2401, + "id": 2627, "node_type": 24, "kind": 24, "src": { - "line": 917, + "line": 1027, "column": 28, - "start": 32806, - "end": 32848, + "start": 37199, + "end": 37241, "length": 43, - "parent_index": 2396 + "parent_index": 2622 }, "argument_types": [ { @@ -1517,16 +1542,16 @@ ], "arguments": [ { - "id": 2403, + "id": 2629, "node_type": 24, "kind": 24, "src": { - "line": 917, + "line": 1027, "column": 38, - "start": 32816, - "end": 32847, + "start": 37209, + "end": 37240, "length": 32, - "parent_index": 2401 + "parent_index": 2627 }, "argument_types": [ { @@ -1540,15 +1565,15 @@ ], "arguments": [ { - "id": 2406, + "id": 2632, "node_type": 16, "src": { - "line": 917, + "line": 1027, "column": 55, - "start": 32833, - "end": 32838, + "start": 37226, + "end": 37231, "length": 6, - "parent_index": 2403 + "parent_index": 2629 }, "name": "token0", "type_description": { @@ -1556,19 +1581,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2373, - "is_pure": false + "referenced_declaration": 2599, + "is_pure": false, + "text": "token0" }, { - "id": 2407, + "id": 2633, "node_type": 16, "src": { - "line": 917, + "line": 1027, "column": 63, - "start": 32841, - "end": 32846, + "start": 37234, + "end": 37239, "length": 6, - "parent_index": 2403 + "parent_index": 2629 }, "name": "token1", "type_description": { @@ -1576,49 +1602,50 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2373, + "referenced_declaration": 2599, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "token1" } ], "expression": { - "id": 2404, + "id": 2630, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 917, + "line": 1027, "column": 38, - "start": 32816, - "end": 32831, + "start": 37209, + "end": 37224, "length": 16, - "parent_index": 2403 + "parent_index": 2629 }, "member_location": { - "line": 917, + "line": 1027, "column": 42, - "start": 32820, - "end": 32831, + "start": 37213, + "end": 37224, "length": 12, - "parent_index": 2404 + "parent_index": 2630 }, "expression": { - "id": 2405, + "id": 2631, "node_type": 16, "src": { - "line": 917, + "line": 1027, "column": 38, - "start": 32816, - "end": 32818, + "start": 37209, + "end": 37211, "length": 3, - "parent_index": 2404 + "parent_index": 2630 }, "name": "abi", "type_description": { @@ -1627,14 +1654,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -1643,15 +1672,15 @@ } ], "expression": { - "id": 2402, + "id": 2628, "node_type": 16, "src": { - "line": 917, + "line": 1027, "column": 28, - "start": 32806, - "end": 32814, + "start": 37199, + "end": 37207, "length": 9, - "parent_index": 2401 + "parent_index": 2627 }, "name": "keccak256", "type_description": { @@ -1660,7 +1689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", @@ -1668,15 +1698,15 @@ } }, { - "id": 2408, + "id": 2634, "node_type": 16, "src": { - "line": 918, + "line": 1028, "column": 28, - "start": 32879, - "end": 32890, + "start": 37272, + "end": 37283, "length": 12, - "parent_index": 2396 + "parent_index": 2622 }, "name": "pairCodeHash", "type_description": { @@ -1684,7 +1714,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2408, + "referenced_declaration": 2634, "is_pure": false, "argument_types": [ { @@ -1699,42 +1729,43 @@ "type_identifier": "t_function_$_t_function_$_t_address$_t_address$", "type_string": "function(function(address,address))" } - ] + ], + "text": "pairCodeHash" } ], "expression": { - "id": 2397, + "id": 2623, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 914, + "line": 1024, "column": 24, - "start": 32686, - "end": 32701, + "start": 37079, + "end": 37094, "length": 16, - "parent_index": 2396 + "parent_index": 2622 }, "member_location": { - "line": 914, + "line": 1024, "column": 28, - "start": 32690, - "end": 32701, + "start": 37083, + "end": 37094, "length": 12, - "parent_index": 2397 + "parent_index": 2623 }, "expression": { - "id": 2398, + "id": 2624, "node_type": 16, "src": { - "line": 914, + "line": 1024, "column": 24, - "start": 32686, - "end": 32688, + "start": 37079, + "end": 37081, "length": 3, - "parent_index": 2397 + "parent_index": 2623 }, "name": "abi", "type_description": { @@ -1743,14 +1774,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodePacked", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodePacked" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", @@ -1759,15 +1792,15 @@ } ], "expression": { - "id": 2395, + "id": 2621, "node_type": 16, "src": { - "line": 913, + "line": 1023, "column": 20, - "start": 32651, - "end": 32659, + "start": 37044, + "end": 37052, "length": 9, - "parent_index": 2394 + "parent_index": 2620 }, "name": "keccak256", "type_description": { @@ -1776,7 +1809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", @@ -1785,27 +1819,27 @@ } ], "expression": { - "id": 2392, + "id": 2618, "node_type": 16, "src": { - "line": 912, + "line": 1022, "column": 16, - "start": 32622, - "end": 32628, + "start": 37015, + "end": 37021, "length": 7, - "parent_index": 2391 + "parent_index": 2617 }, "name": "uint256", "type_name": { - "id": 2393, + "id": 2619, "node_type": 30, "src": { - "line": 912, + "line": 1022, "column": 16, - "start": 32622, - "end": 32628, + "start": 37015, + "end": 37021, "length": 7, - "parent_index": 2392 + "parent_index": 2618 }, "name": "uint256", "referenced_declaration": 0, @@ -1826,7 +1860,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", @@ -1835,27 +1870,27 @@ } ], "expression": { - "id": 2389, + "id": 2615, "node_type": 16, "src": { - "line": 911, + "line": 1021, "column": 12, - "start": 32597, - "end": 32603, + "start": 36990, + "end": 36996, "length": 7, - "parent_index": 2388 + "parent_index": 2614 }, "name": "uint160", "type_name": { - "id": 2390, + "id": 2616, "node_type": 30, "src": { - "line": 911, + "line": 1021, "column": 12, - "start": 32597, - "end": 32603, + "start": 36990, + "end": 36996, "length": 7, - "parent_index": 2389 + "parent_index": 2615 }, "name": "uint160", "referenced_declaration": 0, @@ -1876,7 +1911,8 @@ "type_identifier": "t_uint160", "type_string": "uint160" } - ] + ], + "text": "uint160" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", @@ -1885,27 +1921,27 @@ } ], "expression": { - "id": 2386, + "id": 2612, "node_type": 16, "src": { - "line": 910, + "line": 1020, "column": 15, - "start": 32576, - "end": 32582, + "start": 36969, + "end": 36975, "length": 7, - "parent_index": 2385 + "parent_index": 2611 }, "name": "address", "type_name": { - "id": 2387, + "id": 2613, "node_type": 30, "src": { - "line": 910, + "line": 1020, "column": 15, - "start": 32576, - "end": 32582, + "start": 36969, + "end": 36975, "length": 7, - "parent_index": 2386 + "parent_index": 2612 }, "name": "address", "state_mutability": 4, @@ -1927,7 +1963,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_function_$_t_function_$_t_string_hex_literal$_t_address$_t_function_$_t_function_$_t_address$_t_address$_t_bytes32$", @@ -1942,7 +1979,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "pair=address(uint160(uint256(keccak256(abi.encodePacked(hex\"ff\",factory,keccak256(abi.encodePacked(token0,token1)),pairCodeHash)))));" } ] }, @@ -1953,40 +1991,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2360, + "id": 2586, "node_type": 43, "src": { - "line": 904, + "line": 1014, "column": 8, - "start": 32351, - "end": 32443, + "start": 36744, + "end": 36836, "length": 93, - "parent_index": 2359 + "parent_index": 2585 }, "parameters": [ { - "id": 2361, + "id": 2587, "node_type": 44, "src": { - "line": 904, + "line": 1014, "column": 8, - "start": 32351, - "end": 32365, + "start": 36744, + "end": 36758, "length": 15, - "parent_index": 2360 + "parent_index": 2586 }, - "scope": 2359, + "scope": 2585, "name": "factory", "type_name": { - "id": 2362, + "id": 2588, "node_type": 30, "src": { - "line": 904, + "line": 1014, "column": 8, - "start": 32351, - "end": 32357, + "start": 36744, + "end": 36750, "length": 7, - "parent_index": 2361 + "parent_index": 2587 }, "name": "address", "state_mutability": 4, @@ -2005,28 +2043,28 @@ } }, { - "id": 2363, + "id": 2589, "node_type": 44, "src": { - "line": 905, + "line": 1015, "column": 8, - "start": 32376, - "end": 32389, + "start": 36769, + "end": 36782, "length": 14, - "parent_index": 2360 + "parent_index": 2586 }, - "scope": 2359, + "scope": 2585, "name": "tokenA", "type_name": { - "id": 2364, + "id": 2590, "node_type": 30, "src": { - "line": 905, + "line": 1015, "column": 8, - "start": 32376, - "end": 32382, + "start": 36769, + "end": 36775, "length": 7, - "parent_index": 2363 + "parent_index": 2589 }, "name": "address", "state_mutability": 4, @@ -2045,28 +2083,28 @@ } }, { - "id": 2365, + "id": 2591, "node_type": 44, "src": { - "line": 906, + "line": 1016, "column": 8, - "start": 32400, - "end": 32413, + "start": 36793, + "end": 36806, "length": 14, - "parent_index": 2360 + "parent_index": 2586 }, - "scope": 2359, + "scope": 2585, "name": "tokenB", "type_name": { - "id": 2366, + "id": 2592, "node_type": 30, "src": { - "line": 906, + "line": 1016, "column": 8, - "start": 32400, - "end": 32406, + "start": 36793, + "end": 36799, "length": 7, - "parent_index": 2365 + "parent_index": 2591 }, "name": "address", "state_mutability": 4, @@ -2085,28 +2123,28 @@ } }, { - "id": 2367, + "id": 2593, "node_type": 44, "src": { - "line": 907, + "line": 1017, "column": 8, - "start": 32424, - "end": 32443, + "start": 36817, + "end": 36836, "length": 20, - "parent_index": 2360 + "parent_index": 2586 }, - "scope": 2359, + "scope": 2585, "name": "pairCodeHash", "type_name": { - "id": 2368, + "id": 2594, "node_type": 30, "src": { - "line": 907, + "line": 1017, "column": 8, - "start": 32424, - "end": 32430, + "start": 36817, + "end": 36823, "length": 7, - "parent_index": 2367 + "parent_index": 2593 }, "name": "bytes32", "referenced_declaration": 0, @@ -2144,40 +2182,40 @@ ] }, "return_parameters": { - "id": 2369, + "id": 2595, "node_type": 43, "src": { - "line": 908, + "line": 1018, "column": 29, - "start": 32474, - "end": 32485, + "start": 36867, + "end": 36878, "length": 12, - "parent_index": 2359 + "parent_index": 2585 }, "parameters": [ { - "id": 2370, + "id": 2596, "node_type": 44, "src": { - "line": 908, + "line": 1018, "column": 29, - "start": 32474, - "end": 32485, + "start": 36867, + "end": 36878, "length": 12, - "parent_index": 2369 + "parent_index": 2595 }, - "scope": 2359, + "scope": 2585, "name": "pair", "type_name": { - "id": 2371, + "id": 2597, "node_type": 30, "src": { - "line": 908, + "line": 1018, "column": 29, - "start": 32474, - "end": 32480, + "start": 36867, + "end": 36873, "length": 7, - "parent_index": 2370 + "parent_index": 2596 }, "name": "address", "state_mutability": 4, @@ -2203,98 +2241,99 @@ } ] }, - "signature_raw": "pairFor(address, address, address, bytes32)", - "signature": "fc9bce2a", - "scope": 2309, + "signature_raw": "pairFor(address,address,address,bytes32)", + "signature": "7855da66", + "scope": 2535, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", "type_string": "function(address,address,address,bytes32)" - } + }, + "text": "functionpairFor(addressfactory,addresstokenA,addresstokenB,bytes32pairCodeHash)internalpurereturns(addresspair){(addresstoken0,addresstoken1)=sortTokens(tokenA,tokenB);pair=address(uint160(uint256(keccak256(abi.encodePacked(hex\"ff\",factory,keccak256(abi.encodePacked(token0,token1)),pairCodeHash)))));}" }, { - "id": 2410, + "id": 2636, "name": "getReserves", "node_type": 42, "kind": 41, "src": { - "line": 927, + "line": 1037, "column": 4, - "start": 33061, - "end": 33581, + "start": 37454, + "end": 37974, "length": 521, - "parent_index": 2309 + "parent_index": 2535 }, "name_location": { - "line": 927, + "line": 1037, "column": 13, - "start": 33070, - "end": 33080, + "start": 37463, + "end": 37473, "length": 11, - "parent_index": 2410 + "parent_index": 2636 }, "body": { - "id": 2425, + "id": 2651, "node_type": 46, "kind": 0, "src": { - "line": 932, + "line": 1042, "column": 65, - "start": 33250, - "end": 33581, + "start": 37643, + "end": 37974, "length": 332, - "parent_index": 2410 + "parent_index": 2636 }, "implemented": true, "statements": [ { - "id": 2426, + "id": 2652, "node_type": 44, "src": { - "line": 933, + "line": 1043, "column": 8, - "start": 33260, - "end": 33307, + "start": 37653, + "end": 37700, "length": 48, - "parent_index": 2425 + "parent_index": 2651 }, "assignments": [ - 2427 + 2653 ], "declarations": [ { - "id": 2427, + "id": 2653, "state_mutability": 1, "name": "token0", "node_type": 44, - "scope": 2425, + "scope": 2651, "src": { - "line": 933, + "line": 1043, "column": 9, - "start": 33261, - "end": 33274, + "start": 37654, + "end": 37667, "length": 14, - "parent_index": 2426 + "parent_index": 2652 }, "name_location": { - "line": 933, + "line": 1043, "column": 17, - "start": 33269, - "end": 33274, + "start": 37662, + "end": 37667, "length": 6, - "parent_index": 2427 + "parent_index": 2653 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2428, + "id": 2654, "node_type": 30, "src": { - "line": 933, + "line": 1043, "column": 9, - "start": 33261, - "end": 33267, + "start": 37654, + "end": 37660, "length": 7, - "parent_index": 2427 + "parent_index": 2653 }, "name": "address", "state_mutability": 4, @@ -2308,16 +2347,16 @@ } ], "initial_value": { - "id": 2429, + "id": 2655, "node_type": 24, "kind": 24, "src": { - "line": 933, + "line": 1043, "column": 29, - "start": 33281, - "end": 33306, + "start": 37674, + "end": 37699, "length": 26, - "parent_index": 2426 + "parent_index": 2652 }, "argument_types": [ { @@ -2331,15 +2370,15 @@ ], "arguments": [ { - "id": 2431, + "id": 2657, "node_type": 16, "src": { - "line": 933, + "line": 1043, "column": 40, - "start": 33292, - "end": 33297, + "start": 37685, + "end": 37690, "length": 6, - "parent_index": 2429 + "parent_index": 2655 }, "name": "tokenA", "type_description": { @@ -2347,19 +2386,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2431, - "is_pure": false + "referenced_declaration": 2657, + "is_pure": false, + "text": "tokenA" }, { - "id": 2432, + "id": 2658, "node_type": 16, "src": { - "line": 933, + "line": 1043, "column": 48, - "start": 33300, - "end": 33305, + "start": 37693, + "end": 37698, "length": 6, - "parent_index": 2429 + "parent_index": 2655 }, "name": "tokenB", "type_description": { @@ -2367,26 +2407,27 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2432, + "referenced_declaration": 2658, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" } ], "expression": { - "id": 2430, + "id": 2656, "node_type": 16, "src": { - "line": 933, + "line": 1043, "column": 29, - "start": 33281, - "end": 33290, + "start": 37674, + "end": 37683, "length": 10, - "parent_index": 2429 + "parent_index": 2655 }, "name": "sortTokens", "type_description": { @@ -2395,7 +2436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "sortTokens" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -2404,55 +2446,55 @@ } }, { - "id": 2433, + "id": 2659, "node_type": 44, "src": { - "line": 934, + "line": 1044, "column": 8, - "start": 33317, - "end": 33456, + "start": 37710, + "end": 37849, "length": 140, - "parent_index": 2425 + "parent_index": 2651 }, "assignments": [ - 2434, - 2436 + 2660, + 2662 ], "declarations": [ { - "id": 2434, + "id": 2660, "state_mutability": 1, "name": "reserve0", "node_type": 44, - "scope": 2425, + "scope": 2651, "src": { - "line": 934, + "line": 1044, "column": 9, - "start": 33318, - "end": 33333, + "start": 37711, + "end": 37726, "length": 16, - "parent_index": 2433 + "parent_index": 2659 }, "name_location": { - "line": 934, + "line": 1044, "column": 17, - "start": 33326, - "end": 33333, + "start": 37719, + "end": 37726, "length": 8, - "parent_index": 2434 + "parent_index": 2660 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2435, + "id": 2661, "node_type": 30, "src": { - "line": 934, + "line": 1044, "column": 9, - "start": 33318, - "end": 33324, + "start": 37711, + "end": 37717, "length": 7, - "parent_index": 2434 + "parent_index": 2660 }, "name": "uint256", "referenced_declaration": 0, @@ -2464,39 +2506,39 @@ "visibility": 1 }, { - "id": 2436, + "id": 2662, "state_mutability": 1, "name": "reserve1", "node_type": 44, - "scope": 2425, + "scope": 2651, "src": { - "line": 934, + "line": 1044, "column": 27, - "start": 33336, - "end": 33351, + "start": 37729, + "end": 37744, "length": 16, - "parent_index": 2433 + "parent_index": 2659 }, "name_location": { - "line": 934, + "line": 1044, "column": 35, - "start": 33344, - "end": 33351, + "start": 37737, + "end": 37744, "length": 8, - "parent_index": 2436 + "parent_index": 2662 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2437, + "id": 2663, "node_type": 30, "src": { - "line": 934, + "line": 1044, "column": 27, - "start": 33336, - "end": 33342, + "start": 37729, + "end": 37735, "length": 7, - "parent_index": 2436 + "parent_index": 2662 }, "name": "uint256", "referenced_declaration": 0, @@ -2509,53 +2551,53 @@ } ], "initial_value": { - "id": 2438, + "id": 2664, "node_type": 24, "kind": 24, "src": { - "line": 934, + "line": 1044, "column": 49, - "start": 33358, - "end": 33455, + "start": 37751, + "end": 37848, "length": 98, - "parent_index": 2433 + "parent_index": 2659 }, "argument_types": [], "arguments": [], "expression": { - "id": 2439, + "id": 2665, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 934, + "line": 1044, "column": 49, - "start": 33358, - "end": 33453, + "start": 37751, + "end": 37846, "length": 96, - "parent_index": 2438 + "parent_index": 2664 }, "member_location": { - "line": 936, + "line": 1046, "column": 10, - "start": 33443, - "end": 33453, + "start": 37836, + "end": 37846, "length": 11, - "parent_index": 2439 + "parent_index": 2665 }, "expression": { - "id": 2440, + "id": 2666, "node_type": 24, "kind": 24, "src": { - "line": 934, + "line": 1044, "column": 49, - "start": 33358, - "end": 33441, + "start": 37751, + "end": 37834, "length": 84, - "parent_index": 2439 + "parent_index": 2665 }, "argument_types": [ { @@ -2565,16 +2607,16 @@ ], "arguments": [ { - "id": 2442, + "id": 2668, "node_type": 24, "kind": 24, "src": { - "line": 935, + "line": 1045, "column": 12, - "start": 33386, - "end": 33431, + "start": 37779, + "end": 37824, "length": 46, - "parent_index": 2440 + "parent_index": 2666 }, "argument_types": [ { @@ -2596,15 +2638,15 @@ ], "arguments": [ { - "id": 2444, + "id": 2670, "node_type": 16, "src": { - "line": 935, + "line": 1045, "column": 20, - "start": 33394, - "end": 33400, + "start": 37787, + "end": 37793, "length": 7, - "parent_index": 2442 + "parent_index": 2668 }, "name": "factory", "type_description": { @@ -2612,19 +2654,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2444, - "is_pure": false + "referenced_declaration": 2670, + "is_pure": false, + "text": "factory" }, { - "id": 2445, + "id": 2671, "node_type": 16, "src": { - "line": 935, + "line": 1045, "column": 29, - "start": 33403, - "end": 33408, + "start": 37796, + "end": 37801, "length": 6, - "parent_index": 2442 + "parent_index": 2668 }, "name": "tokenA", "type_description": { @@ -2632,25 +2675,26 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2445, + "referenced_declaration": 2671, "is_pure": false, "argument_types": [ { "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenA" }, { - "id": 2446, + "id": 2672, "node_type": 16, "src": { - "line": 935, + "line": 1045, "column": 37, - "start": 33411, - "end": 33416, + "start": 37804, + "end": 37809, "length": 6, - "parent_index": 2442 + "parent_index": 2668 }, "name": "tokenB", "type_description": { @@ -2658,7 +2702,7 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2446, + "referenced_declaration": 2672, "is_pure": false, "argument_types": [ { @@ -2669,18 +2713,19 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "tokenB" }, { - "id": 2447, + "id": 2673, "node_type": 16, "src": { - "line": 935, + "line": 1045, "column": 45, - "start": 33419, - "end": 33430, + "start": 37812, + "end": 37823, "length": 12, - "parent_index": 2442 + "parent_index": 2668 }, "name": "pairCodeHash", "type_description": { @@ -2688,7 +2733,7 @@ "type_string": "bytes32" }, "overloaded_declarations": [], - "referenced_declaration": 2447, + "referenced_declaration": 2673, "is_pure": false, "argument_types": [ { @@ -2703,19 +2748,20 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "pairCodeHash" } ], "expression": { - "id": 2443, + "id": 2669, "node_type": 16, "src": { - "line": 935, + "line": 1045, "column": 12, - "start": 33386, - "end": 33392, + "start": 37779, + "end": 37785, "length": 7, - "parent_index": 2442 + "parent_index": 2668 }, "name": "pairFor", "type_description": { @@ -2724,7 +2770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "pairFor" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", @@ -2733,15 +2780,15 @@ } ], "expression": { - "id": 2441, + "id": 2667, "node_type": 16, "src": { - "line": 934, + "line": 1044, "column": 49, - "start": 33358, - "end": 33371, + "start": 37751, + "end": 37764, "length": 14, - "parent_index": 2440 + "parent_index": 2666 }, "name": "IUniswapV2Pair", "type_description": { @@ -2750,7 +2797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IUniswapV2Pair" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", @@ -2762,7 +2810,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_address$_t_address$_t_bytes32$", "type_string": "function(function(address,address,address,bytes32))" - } + }, + "text": "IUniswapV2Pair(pairFor(factory,tokenA,tokenB,pairCodeHash)).getReserves" }, "type_description": { "type_identifier": "t_function_$", @@ -2771,52 +2820,52 @@ } }, { - "id": 2448, + "id": 2674, "node_type": 27, "src": { - "line": 937, + "line": 1047, "column": 8, - "start": 33466, - "end": 33575, + "start": 37859, + "end": 37968, "length": 110, - "parent_index": 2425 + "parent_index": 2651 }, "expression": { - "id": 2449, + "id": 2675, "node_type": 27, "src": { - "line": 937, + "line": 1047, "column": 8, - "start": 33466, - "end": 33574, + "start": 37859, + "end": 37967, "length": 109, - "parent_index": 2448 + "parent_index": 2674 }, "operator": 11, "left_expression": { - "id": 2450, + "id": 2676, "node_type": 60, "src": { - "line": 937, + "line": 1047, "column": 8, - "start": 33466, - "end": 33485, + "start": 37859, + "end": 37878, "length": 20, - "parent_index": 2449 + "parent_index": 2675 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2451, + "id": 2677, "node_type": 16, "src": { - "line": 937, + "line": 1047, "column": 9, - "start": 33467, - "end": 33474, + "start": 37860, + "end": 37867, "length": 8, - "parent_index": 2450 + "parent_index": 2676 }, "name": "reserveA", "type_description": { @@ -2824,19 +2873,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2421, - "is_pure": false + "referenced_declaration": 2647, + "is_pure": false, + "text": "reserveA" }, { - "id": 2452, + "id": 2678, "node_type": 16, "src": { - "line": 937, + "line": 1047, "column": 19, - "start": 33477, - "end": 33484, + "start": 37870, + "end": 37877, "length": 8, - "parent_index": 2450 + "parent_index": 2676 }, "name": "reserveB", "type_description": { @@ -2844,8 +2894,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2423, - "is_pure": false + "referenced_declaration": 2649, + "is_pure": false, + "text": "reserveB" } ], "type_description": { @@ -2854,41 +2905,41 @@ } }, "right_expression": { - "id": 2454, + "id": 2680, "node_type": 97, "src": { - "line": 937, + "line": 1047, "column": 31, - "start": 33489, - "end": 33574, + "start": 37882, + "end": 37967, "length": 86, - "parent_index": 2449 + "parent_index": 2675 }, "expressions": [ { - "id": 2455, + "id": 2681, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 937, + "line": 1047, "column": 31, - "start": 33489, - "end": 33504, + "start": 37882, + "end": 37897, "length": 16, - "parent_index": 2454 + "parent_index": 2680 }, "operator": 11, "left_expression": { - "id": 2456, + "id": 2682, "node_type": 16, "src": { - "line": 937, + "line": 1047, "column": 31, - "start": 33489, - "end": 33494, + "start": 37882, + "end": 37887, "length": 6, - "parent_index": 2455 + "parent_index": 2681 }, "name": "tokenA", "type_description": { @@ -2896,19 +2947,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2456, - "is_pure": false + "referenced_declaration": 2682, + "is_pure": false, + "text": "tokenA" }, "right_expression": { - "id": 2457, + "id": 2683, "node_type": 16, "src": { - "line": 937, + "line": 1047, "column": 41, - "start": 33499, - "end": 33504, + "start": 37892, + "end": 37897, "length": 6, - "parent_index": 2455 + "parent_index": 2681 }, "name": "token0", "type_description": { @@ -2916,8 +2968,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2426, - "is_pure": false + "referenced_declaration": 2652, + "is_pure": false, + "text": "token0" }, "type_description": { "type_identifier": "t_bool", @@ -2925,29 +2978,29 @@ } }, { - "id": 2458, + "id": 2684, "node_type": 60, "src": { - "line": 938, + "line": 1048, "column": 14, - "start": 33520, - "end": 33539, + "start": 37913, + "end": 37932, "length": 20, - "parent_index": 2454 + "parent_index": 2680 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2459, + "id": 2685, "node_type": 16, "src": { - "line": 938, + "line": 1048, "column": 15, - "start": 33521, - "end": 33528, + "start": 37914, + "end": 37921, "length": 8, - "parent_index": 2458 + "parent_index": 2684 }, "name": "reserve0", "type_description": { @@ -2955,19 +3008,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2433, - "is_pure": false + "referenced_declaration": 2659, + "is_pure": false, + "text": "reserve0" }, { - "id": 2460, + "id": 2686, "node_type": 16, "src": { - "line": 938, + "line": 1048, "column": 25, - "start": 33531, - "end": 33538, + "start": 37924, + "end": 37931, "length": 8, - "parent_index": 2458 + "parent_index": 2684 }, "name": "reserve1", "type_description": { @@ -2975,8 +3029,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2433, - "is_pure": false + "referenced_declaration": 2659, + "is_pure": false, + "text": "reserve1" } ], "type_description": { @@ -2985,29 +3040,29 @@ } }, { - "id": 2461, + "id": 2687, "node_type": 60, "src": { - "line": 939, + "line": 1049, "column": 14, - "start": 33555, - "end": 33574, + "start": 37948, + "end": 37967, "length": 20, - "parent_index": 2454 + "parent_index": 2680 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2462, + "id": 2688, "node_type": 16, "src": { - "line": 939, + "line": 1049, "column": 15, - "start": 33556, - "end": 33563, + "start": 37949, + "end": 37956, "length": 8, - "parent_index": 2461 + "parent_index": 2687 }, "name": "reserve1", "type_description": { @@ -3015,19 +3070,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2433, - "is_pure": false + "referenced_declaration": 2659, + "is_pure": false, + "text": "reserve1" }, { - "id": 2463, + "id": 2689, "node_type": 16, "src": { - "line": 939, + "line": 1049, "column": 25, - "start": 33566, - "end": 33573, + "start": 37959, + "end": 37966, "length": 8, - "parent_index": 2461 + "parent_index": 2687 }, "name": "reserve0", "type_description": { @@ -3035,8 +3091,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2433, - "is_pure": false + "referenced_declaration": 2659, + "is_pure": false, + "text": "reserve0" } ], "type_description": { @@ -3069,7 +3126,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256_$_t_uint256$", "type_string": "tuple(uint256,uint256)" - } + }, + "text": "(reserveA,reserveB)=tokenA==token0?(reserve0,reserve1):(reserve1,reserve0);" } ] }, @@ -3080,40 +3138,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2411, + "id": 2637, "node_type": 43, "src": { - "line": 928, + "line": 1038, "column": 8, - "start": 33091, - "end": 33183, + "start": 37484, + "end": 37576, "length": 93, - "parent_index": 2410 + "parent_index": 2636 }, "parameters": [ { - "id": 2412, + "id": 2638, "node_type": 44, "src": { - "line": 928, + "line": 1038, "column": 8, - "start": 33091, - "end": 33105, + "start": 37484, + "end": 37498, "length": 15, - "parent_index": 2411 + "parent_index": 2637 }, - "scope": 2410, + "scope": 2636, "name": "factory", "type_name": { - "id": 2413, + "id": 2639, "node_type": 30, "src": { - "line": 928, + "line": 1038, "column": 8, - "start": 33091, - "end": 33097, + "start": 37484, + "end": 37490, "length": 7, - "parent_index": 2412 + "parent_index": 2638 }, "name": "address", "state_mutability": 4, @@ -3132,28 +3190,28 @@ } }, { - "id": 2414, + "id": 2640, "node_type": 44, "src": { - "line": 929, + "line": 1039, "column": 8, - "start": 33116, - "end": 33129, + "start": 37509, + "end": 37522, "length": 14, - "parent_index": 2411 + "parent_index": 2637 }, - "scope": 2410, + "scope": 2636, "name": "tokenA", "type_name": { - "id": 2415, + "id": 2641, "node_type": 30, "src": { - "line": 929, + "line": 1039, "column": 8, - "start": 33116, - "end": 33122, + "start": 37509, + "end": 37515, "length": 7, - "parent_index": 2414 + "parent_index": 2640 }, "name": "address", "state_mutability": 4, @@ -3172,28 +3230,28 @@ } }, { - "id": 2416, + "id": 2642, "node_type": 44, "src": { - "line": 930, + "line": 1040, "column": 8, - "start": 33140, - "end": 33153, + "start": 37533, + "end": 37546, "length": 14, - "parent_index": 2411 + "parent_index": 2637 }, - "scope": 2410, + "scope": 2636, "name": "tokenB", "type_name": { - "id": 2417, + "id": 2643, "node_type": 30, "src": { - "line": 930, + "line": 1040, "column": 8, - "start": 33140, - "end": 33146, + "start": 37533, + "end": 37539, "length": 7, - "parent_index": 2416 + "parent_index": 2642 }, "name": "address", "state_mutability": 4, @@ -3212,28 +3270,28 @@ } }, { - "id": 2418, + "id": 2644, "node_type": 44, "src": { - "line": 931, + "line": 1041, "column": 8, - "start": 33164, - "end": 33183, + "start": 37557, + "end": 37576, "length": 20, - "parent_index": 2411 + "parent_index": 2637 }, - "scope": 2410, + "scope": 2636, "name": "pairCodeHash", "type_name": { - "id": 2419, + "id": 2645, "node_type": 30, "src": { - "line": 931, + "line": 1041, "column": 8, - "start": 33164, - "end": 33170, + "start": 37557, + "end": 37563, "length": 7, - "parent_index": 2418 + "parent_index": 2644 }, "name": "bytes32", "referenced_declaration": 0, @@ -3271,40 +3329,40 @@ ] }, "return_parameters": { - "id": 2420, + "id": 2646, "node_type": 43, "src": { - "line": 932, + "line": 1042, "column": 29, - "start": 33214, - "end": 33247, + "start": 37607, + "end": 37640, "length": 34, - "parent_index": 2410 + "parent_index": 2636 }, "parameters": [ { - "id": 2421, + "id": 2647, "node_type": 44, "src": { - "line": 932, + "line": 1042, "column": 29, - "start": 33214, - "end": 33229, + "start": 37607, + "end": 37622, "length": 16, - "parent_index": 2420 + "parent_index": 2646 }, - "scope": 2410, + "scope": 2636, "name": "reserveA", "type_name": { - "id": 2422, + "id": 2648, "node_type": 30, "src": { - "line": 932, + "line": 1042, "column": 29, - "start": 33214, - "end": 33220, + "start": 37607, + "end": 37613, "length": 7, - "parent_index": 2421 + "parent_index": 2647 }, "name": "uint256", "referenced_declaration": 0, @@ -3322,28 +3380,28 @@ } }, { - "id": 2423, + "id": 2649, "node_type": 44, "src": { - "line": 932, + "line": 1042, "column": 47, - "start": 33232, - "end": 33247, + "start": 37625, + "end": 37640, "length": 16, - "parent_index": 2420 + "parent_index": 2646 }, - "scope": 2410, + "scope": 2636, "name": "reserveB", "type_name": { - "id": 2424, + "id": 2650, "node_type": 30, "src": { - "line": 932, + "line": 1042, "column": 47, - "start": 33232, - "end": 33238, + "start": 37625, + "end": 37631, "length": 7, - "parent_index": 2423 + "parent_index": 2649 }, "name": "uint256", "referenced_declaration": 0, @@ -3372,60 +3430,61 @@ } ] }, - "signature_raw": "getReserves(address, address, address, bytes32)", - "signature": "4b420a27", - "scope": 2309, + "signature_raw": "getReserves(address,address,address,bytes32)", + "signature": "20f86dbb", + "scope": 2535, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_address$_t_bytes32$", "type_string": "function(address,address,address,bytes32)" - } + }, + "text": "functiongetReserves(addressfactory,addresstokenA,addresstokenB,bytes32pairCodeHash)internalviewreturns(uint256reserveA,uint256reserveB){(addresstoken0,)=sortTokens(tokenA,tokenB);(uint256reserve0,uint256reserve1,)=IUniswapV2Pair(pairFor(factory,tokenA,tokenB,pairCodeHash)).getReserves();(reserveA,reserveB)=tokenA==token0?(reserve0,reserve1):(reserve1,reserve0);}" }, { - "id": 2465, + "id": 2691, "name": "quote", "node_type": 42, "kind": 41, "src": { - "line": 943, + "line": 1053, "column": 4, - "start": 33692, - "end": 34084, + "start": 38085, + "end": 38477, "length": 393, - "parent_index": 2309 + "parent_index": 2535 }, "name_location": { - "line": 943, + "line": 1053, "column": 13, - "start": 33701, - "end": 33705, + "start": 38094, + "end": 38098, "length": 5, - "parent_index": 2465 + "parent_index": 2691 }, "body": { - "id": 2476, + "id": 2702, "node_type": 46, "kind": 0, "src": { - "line": 947, + "line": 1057, "column": 46, - "start": 33830, - "end": 34084, + "start": 38223, + "end": 38477, "length": 255, - "parent_index": 2465 + "parent_index": 2691 }, "implemented": true, "statements": [ { - "id": 2477, + "id": 2703, "node_type": 24, "kind": 24, "src": { - "line": 948, + "line": 1058, "column": 8, - "start": 33840, - "end": 33900, + "start": 38233, + "end": 38293, "length": 61, - "parent_index": 2476 + "parent_index": 2702 }, "argument_types": [ { @@ -3439,29 +3498,29 @@ ], "arguments": [ { - "id": 2479, + "id": 2705, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 948, + "line": 1058, "column": 16, - "start": 33848, - "end": 33858, + "start": 38241, + "end": 38251, "length": 11, - "parent_index": 2477 + "parent_index": 2703 }, "operator": 7, "left_expression": { - "id": 2480, + "id": 2706, "node_type": 16, "src": { - "line": 948, + "line": 1058, "column": 16, - "start": 33848, - "end": 33854, + "start": 38241, + "end": 38247, "length": 7, - "parent_index": 2479 + "parent_index": 2705 }, "name": "amountA", "type_description": { @@ -3469,22 +3528,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2480, - "is_pure": false + "referenced_declaration": 2706, + "is_pure": false, + "text": "amountA" }, "right_expression": { - "id": 2481, + "id": 2707, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 948, + "line": 1058, "column": 26, - "start": 33858, - "end": 33858, + "start": 38251, + "end": 38251, "length": 1, - "parent_index": 2479 + "parent_index": 2705 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3492,7 +3552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3500,18 +3561,18 @@ } }, { - "id": 2482, + "id": 2708, "node_type": 17, "kind": 50, "value": "UniswapV2Library: INSUFFICIENT_AMOUNT", "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54", "src": { - "line": 948, + "line": 1058, "column": 29, - "start": 33861, - "end": 33899, + "start": 38254, + "end": 38292, "length": 39, - "parent_index": 2477 + "parent_index": 2703 }, "type_description": { "type_identifier": "t_string_literal", @@ -3525,19 +3586,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: INSUFFICIENT_AMOUNT\"" } ], "expression": { - "id": 2478, + "id": 2704, "node_type": 16, "src": { - "line": 948, + "line": 1058, "column": 8, - "start": 33840, - "end": 33846, + "start": 38233, + "end": 38239, "length": 7, - "parent_index": 2477 + "parent_index": 2703 }, "name": "require", "type_description": { @@ -3546,7 +3608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3554,16 +3617,16 @@ } }, { - "id": 2483, + "id": 2709, "node_type": 24, "kind": 24, "src": { - "line": 949, + "line": 1059, "column": 8, - "start": 33911, - "end": 34025, + "start": 38304, + "end": 38418, "length": 115, - "parent_index": 2476 + "parent_index": 2702 }, "argument_types": [ { @@ -3577,41 +3640,41 @@ ], "arguments": [ { - "id": 2486, + "id": 2712, "node_type": 96, "src": { - "line": 950, + "line": 1060, "column": 12, - "start": 33932, - "end": 33959, + "start": 38325, + "end": 38352, "length": 28, - "parent_index": 2483 + "parent_index": 2709 }, "expressions": [ { - "id": 2487, + "id": 2713, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 950, + "line": 1060, "column": 12, - "start": 33932, - "end": 33943, + "start": 38325, + "end": 38336, "length": 12, - "parent_index": 2486 + "parent_index": 2712 }, "operator": 7, "left_expression": { - "id": 2488, + "id": 2714, "node_type": 16, "src": { - "line": 950, + "line": 1060, "column": 12, - "start": 33932, - "end": 33939, + "start": 38325, + "end": 38332, "length": 8, - "parent_index": 2487 + "parent_index": 2713 }, "name": "reserveA", "type_description": { @@ -3619,22 +3682,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2488, - "is_pure": false + "referenced_declaration": 2714, + "is_pure": false, + "text": "reserveA" }, "right_expression": { - "id": 2489, + "id": 2715, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 950, + "line": 1060, "column": 23, - "start": 33943, - "end": 33943, + "start": 38336, + "end": 38336, "length": 1, - "parent_index": 2487 + "parent_index": 2713 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3642,7 +3706,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3650,29 +3715,29 @@ } }, { - "id": 2490, + "id": 2716, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 950, + "line": 1060, "column": 28, - "start": 33948, - "end": 33959, + "start": 38341, + "end": 38352, "length": 12, - "parent_index": 2486 + "parent_index": 2712 }, "operator": 7, "left_expression": { - "id": 2491, + "id": 2717, "node_type": 16, "src": { - "line": 950, + "line": 1060, "column": 28, - "start": 33948, - "end": 33955, + "start": 38341, + "end": 38348, "length": 8, - "parent_index": 2490 + "parent_index": 2716 }, "name": "reserveB", "type_description": { @@ -3680,22 +3745,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2491, - "is_pure": false + "referenced_declaration": 2717, + "is_pure": false, + "text": "reserveB" }, "right_expression": { - "id": 2492, + "id": 2718, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 950, + "line": 1060, "column": 39, - "start": 33959, - "end": 33959, + "start": 38352, + "end": 38352, "length": 1, - "parent_index": 2490 + "parent_index": 2716 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3703,7 +3769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3723,18 +3790,18 @@ ] }, { - "id": 2493, + "id": 2719, "node_type": 17, "kind": 50, "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY", "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", "src": { - "line": 951, + "line": 1061, "column": 12, - "start": 33974, - "end": 34015, + "start": 38367, + "end": 38408, "length": 42, - "parent_index": 2483 + "parent_index": 2709 }, "type_description": { "type_identifier": "t_string_literal", @@ -3748,19 +3815,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } ], "expression": { - "id": 2484, + "id": 2710, "node_type": 16, "src": { - "line": 949, + "line": 1059, "column": 8, - "start": 33911, - "end": 33917, + "start": 38304, + "end": 38310, "length": 7, - "parent_index": 2483 + "parent_index": 2709 }, "name": "require", "type_description": { @@ -3769,7 +3837,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3777,38 +3846,38 @@ } }, { - "id": 2494, + "id": 2720, "node_type": 27, "src": { - "line": 953, + "line": 1063, "column": 8, - "start": 34036, - "end": 34078, + "start": 38429, + "end": 38471, "length": 43, - "parent_index": 2476 + "parent_index": 2702 }, "expression": { - "id": 2495, + "id": 2721, "node_type": 27, "src": { - "line": 953, + "line": 1063, "column": 8, - "start": 34036, - "end": 34077, + "start": 38429, + "end": 38470, "length": 42, - "parent_index": 2494 + "parent_index": 2720 }, "operator": 11, "left_expression": { - "id": 2496, + "id": 2722, "node_type": 16, "src": { - "line": 953, + "line": 1063, "column": 8, - "start": 34036, - "end": 34042, + "start": 38429, + "end": 38435, "length": 7, - "parent_index": 2495 + "parent_index": 2721 }, "name": "amountB", "type_description": { @@ -3816,34 +3885,35 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2474, - "is_pure": false + "referenced_declaration": 2700, + "is_pure": false, + "text": "amountB" }, "right_expression": { - "id": 2497, + "id": 2723, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 953, + "line": 1063, "column": 18, - "start": 34046, - "end": 34077, + "start": 38439, + "end": 38470, "length": 32, - "parent_index": 2495 + "parent_index": 2721 }, "operator": 4, "left_expression": { - "id": 2498, + "id": 2724, "node_type": 24, "kind": 24, "src": { - "line": 953, + "line": 1063, "column": 18, - "start": 34046, - "end": 34066, + "start": 38439, + "end": 38459, "length": 21, - "parent_index": 2497 + "parent_index": 2723 }, "argument_types": [ { @@ -3853,15 +3923,15 @@ ], "arguments": [ { - "id": 2501, + "id": 2727, "node_type": 16, "src": { - "line": 953, + "line": 1063, "column": 30, - "start": 34058, - "end": 34065, + "start": 38451, + "end": 38458, "length": 8, - "parent_index": 2498 + "parent_index": 2724 }, "name": "reserveB", "type_description": { @@ -3869,43 +3939,44 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2501, - "is_pure": false + "referenced_declaration": 2727, + "is_pure": false, + "text": "reserveB" } ], "expression": { - "id": 2499, + "id": 2725, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 953, + "line": 1063, "column": 18, - "start": 34046, - "end": 34056, + "start": 38439, + "end": 38449, "length": 11, - "parent_index": 2498 + "parent_index": 2724 }, "member_location": { - "line": 953, + "line": 1063, "column": 26, - "start": 34054, - "end": 34056, + "start": 38447, + "end": 38449, "length": 3, - "parent_index": 2499 + "parent_index": 2725 }, "expression": { - "id": 2500, + "id": 2726, "node_type": 16, "src": { - "line": 953, + "line": 1063, "column": 18, - "start": 34046, - "end": 34052, + "start": 38439, + "end": 38445, "length": 7, - "parent_index": 2499 + "parent_index": 2725 }, "name": "amountA", "type_description": { @@ -3913,15 +3984,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2500, - "is_pure": false + "referenced_declaration": 2726, + "is_pure": false, + "text": "amountA" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountA.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -3929,15 +4002,15 @@ } }, "right_expression": { - "id": 2502, + "id": 2728, "node_type": 16, "src": { - "line": 953, + "line": 1063, "column": 42, - "start": 34070, - "end": 34077, + "start": 38463, + "end": 38470, "length": 8, - "parent_index": 2497 + "parent_index": 2723 }, "name": "reserveA", "type_description": { @@ -3945,8 +4018,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2502, - "is_pure": false + "referenced_declaration": 2728, + "is_pure": false, + "text": "reserveA" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -3961,7 +4035,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountB=amountA.mul(reserveB)/reserveA;" } ] }, @@ -3972,40 +4047,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2466, + "id": 2692, "node_type": 43, "src": { - "line": 944, + "line": 1054, "column": 8, - "start": 33716, - "end": 33782, + "start": 38109, + "end": 38175, "length": 67, - "parent_index": 2465 + "parent_index": 2691 }, "parameters": [ { - "id": 2467, + "id": 2693, "node_type": 44, "src": { - "line": 944, + "line": 1054, "column": 8, - "start": 33716, - "end": 33730, + "start": 38109, + "end": 38123, "length": 15, - "parent_index": 2466 + "parent_index": 2692 }, - "scope": 2465, + "scope": 2691, "name": "amountA", "type_name": { - "id": 2468, + "id": 2694, "node_type": 30, "src": { - "line": 944, + "line": 1054, "column": 8, - "start": 33716, - "end": 33722, + "start": 38109, + "end": 38115, "length": 7, - "parent_index": 2467 + "parent_index": 2693 }, "name": "uint256", "referenced_declaration": 0, @@ -4023,28 +4098,28 @@ } }, { - "id": 2469, + "id": 2695, "node_type": 44, "src": { - "line": 945, + "line": 1055, "column": 8, - "start": 33741, - "end": 33756, + "start": 38134, + "end": 38149, "length": 16, - "parent_index": 2466 + "parent_index": 2692 }, - "scope": 2465, + "scope": 2691, "name": "reserveA", "type_name": { - "id": 2470, + "id": 2696, "node_type": 30, "src": { - "line": 945, + "line": 1055, "column": 8, - "start": 33741, - "end": 33747, + "start": 38134, + "end": 38140, "length": 7, - "parent_index": 2469 + "parent_index": 2695 }, "name": "uint256", "referenced_declaration": 0, @@ -4062,28 +4137,28 @@ } }, { - "id": 2471, + "id": 2697, "node_type": 44, "src": { - "line": 946, + "line": 1056, "column": 8, - "start": 33767, - "end": 33782, + "start": 38160, + "end": 38175, "length": 16, - "parent_index": 2466 + "parent_index": 2692 }, - "scope": 2465, + "scope": 2691, "name": "reserveB", "type_name": { - "id": 2472, + "id": 2698, "node_type": 30, "src": { - "line": 946, + "line": 1056, "column": 8, - "start": 33767, - "end": 33773, + "start": 38160, + "end": 38166, "length": 7, - "parent_index": 2471 + "parent_index": 2697 }, "name": "uint256", "referenced_declaration": 0, @@ -4117,40 +4192,40 @@ ] }, "return_parameters": { - "id": 2473, + "id": 2699, "node_type": 43, "src": { - "line": 947, + "line": 1057, "column": 29, - "start": 33813, - "end": 33827, + "start": 38206, + "end": 38220, "length": 15, - "parent_index": 2465 + "parent_index": 2691 }, "parameters": [ { - "id": 2474, + "id": 2700, "node_type": 44, "src": { - "line": 947, + "line": 1057, "column": 29, - "start": 33813, - "end": 33827, + "start": 38206, + "end": 38220, "length": 15, - "parent_index": 2473 + "parent_index": 2699 }, - "scope": 2465, + "scope": 2691, "name": "amountB", "type_name": { - "id": 2475, + "id": 2701, "node_type": 30, "src": { - "line": 947, + "line": 1057, "column": 29, - "start": 33813, - "end": 33819, + "start": 38206, + "end": 38212, "length": 7, - "parent_index": 2474 + "parent_index": 2700 }, "name": "uint256", "referenced_declaration": 0, @@ -4175,60 +4250,61 @@ } ] }, - "signature_raw": "quote(uint256, uint256, uint256)", - "signature": "1f7722dd", - "scope": 2309, + "signature_raw": "quote(uint256,uint256,uint256)", + "signature": "ad615dec", + "scope": 2535, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functionquote(uint256amountA,uint256reserveA,uint256reserveB)internalpurereturns(uint256amountB){require(amountA\u003e0,\"UniswapV2Library: INSUFFICIENT_AMOUNT\");require(reserveA\u003e0\u0026\u0026reserveB\u003e0,\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\");amountB=amountA.mul(reserveB)/reserveA;}" }, { - "id": 2504, + "id": 2730, "name": "getAmountOut", "node_type": 42, "kind": 41, "src": { - "line": 957, + "line": 1067, "column": 4, - "start": 34204, - "end": 34798, + "start": 38597, + "end": 39191, "length": 595, - "parent_index": 2309 + "parent_index": 2535 }, "name_location": { - "line": 957, + "line": 1067, "column": 13, - "start": 34213, - "end": 34224, + "start": 38606, + "end": 38617, "length": 12, - "parent_index": 2504 + "parent_index": 2730 }, "body": { - "id": 2515, + "id": 2741, "node_type": 46, "kind": 0, "src": { - "line": 961, + "line": 1071, "column": 48, - "start": 34355, - "end": 34798, + "start": 38748, + "end": 39191, "length": 444, - "parent_index": 2504 + "parent_index": 2730 }, "implemented": true, "statements": [ { - "id": 2516, + "id": 2742, "node_type": 24, "kind": 24, "src": { - "line": 962, + "line": 1072, "column": 8, - "start": 34365, - "end": 34432, + "start": 38758, + "end": 38825, "length": 68, - "parent_index": 2515 + "parent_index": 2741 }, "argument_types": [ { @@ -4242,29 +4318,29 @@ ], "arguments": [ { - "id": 2518, + "id": 2744, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 962, + "line": 1072, "column": 16, - "start": 34373, - "end": 34384, + "start": 38766, + "end": 38777, "length": 12, - "parent_index": 2516 + "parent_index": 2742 }, "operator": 7, "left_expression": { - "id": 2519, + "id": 2745, "node_type": 16, "src": { - "line": 962, + "line": 1072, "column": 16, - "start": 34373, - "end": 34380, + "start": 38766, + "end": 38773, "length": 8, - "parent_index": 2518 + "parent_index": 2744 }, "name": "amountIn", "type_description": { @@ -4272,22 +4348,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2519, - "is_pure": false + "referenced_declaration": 2745, + "is_pure": false, + "text": "amountIn" }, "right_expression": { - "id": 2520, + "id": 2746, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 962, + "line": 1072, "column": 27, - "start": 34384, - "end": 34384, + "start": 38777, + "end": 38777, "length": 1, - "parent_index": 2518 + "parent_index": 2744 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4295,7 +4372,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4303,18 +4381,18 @@ } }, { - "id": 2521, + "id": 2747, "node_type": 17, "kind": 50, "value": "UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT", "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54", "src": { - "line": 962, + "line": 1072, "column": 30, - "start": 34387, - "end": 34431, + "start": 38780, + "end": 38824, "length": 45, - "parent_index": 2516 + "parent_index": 2742 }, "type_description": { "type_identifier": "t_string_literal", @@ -4328,19 +4406,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" } ], "expression": { - "id": 2517, + "id": 2743, "node_type": 16, "src": { - "line": 962, + "line": 1072, "column": 8, - "start": 34365, - "end": 34371, + "start": 38758, + "end": 38764, "length": 7, - "parent_index": 2516 + "parent_index": 2742 }, "name": "require", "type_description": { @@ -4349,7 +4428,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4357,16 +4437,16 @@ } }, { - "id": 2522, + "id": 2748, "node_type": 24, "kind": 24, "src": { - "line": 963, + "line": 1073, "column": 8, - "start": 34443, - "end": 34560, + "start": 38836, + "end": 38953, "length": 118, - "parent_index": 2515 + "parent_index": 2741 }, "argument_types": [ { @@ -4380,41 +4460,41 @@ ], "arguments": [ { - "id": 2525, + "id": 2751, "node_type": 96, "src": { - "line": 964, + "line": 1074, "column": 12, - "start": 34464, - "end": 34494, + "start": 38857, + "end": 38887, "length": 31, - "parent_index": 2522 + "parent_index": 2748 }, "expressions": [ { - "id": 2526, + "id": 2752, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 964, + "line": 1074, "column": 12, - "start": 34464, - "end": 34476, + "start": 38857, + "end": 38869, "length": 13, - "parent_index": 2525 + "parent_index": 2751 }, "operator": 7, "left_expression": { - "id": 2527, + "id": 2753, "node_type": 16, "src": { - "line": 964, + "line": 1074, "column": 12, - "start": 34464, - "end": 34472, + "start": 38857, + "end": 38865, "length": 9, - "parent_index": 2526 + "parent_index": 2752 }, "name": "reserveIn", "type_description": { @@ -4422,22 +4502,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2527, - "is_pure": false + "referenced_declaration": 2753, + "is_pure": false, + "text": "reserveIn" }, "right_expression": { - "id": 2528, + "id": 2754, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 964, + "line": 1074, "column": 24, - "start": 34476, - "end": 34476, + "start": 38869, + "end": 38869, "length": 1, - "parent_index": 2526 + "parent_index": 2752 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4445,7 +4526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4453,29 +4535,29 @@ } }, { - "id": 2529, + "id": 2755, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 964, + "line": 1074, "column": 29, - "start": 34481, - "end": 34494, + "start": 38874, + "end": 38887, "length": 14, - "parent_index": 2525 + "parent_index": 2751 }, "operator": 7, "left_expression": { - "id": 2530, + "id": 2756, "node_type": 16, "src": { - "line": 964, + "line": 1074, "column": 29, - "start": 34481, - "end": 34490, + "start": 38874, + "end": 38883, "length": 10, - "parent_index": 2529 + "parent_index": 2755 }, "name": "reserveOut", "type_description": { @@ -4483,22 +4565,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2530, - "is_pure": false + "referenced_declaration": 2756, + "is_pure": false, + "text": "reserveOut" }, "right_expression": { - "id": 2531, + "id": 2757, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 964, + "line": 1074, "column": 42, - "start": 34494, - "end": 34494, + "start": 38887, + "end": 38887, "length": 1, - "parent_index": 2529 + "parent_index": 2755 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -4506,7 +4589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4526,18 +4610,18 @@ ] }, { - "id": 2532, + "id": 2758, "node_type": 17, "kind": 50, "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY", "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", "src": { - "line": 965, + "line": 1075, "column": 12, - "start": 34509, - "end": 34550, + "start": 38902, + "end": 38943, "length": 42, - "parent_index": 2522 + "parent_index": 2748 }, "type_description": { "type_identifier": "t_string_literal", @@ -4551,19 +4635,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } ], "expression": { - "id": 2523, + "id": 2749, "node_type": 16, "src": { - "line": 963, + "line": 1073, "column": 8, - "start": 34443, - "end": 34449, + "start": 38836, + "end": 38842, "length": 7, - "parent_index": 2522 + "parent_index": 2748 }, "name": "require", "type_description": { @@ -4572,7 +4657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4580,54 +4666,54 @@ } }, { - "id": 2533, + "id": 2759, "node_type": 44, "src": { - "line": 967, + "line": 1077, "column": 8, - "start": 34571, - "end": 34614, + "start": 38964, + "end": 39007, "length": 44, - "parent_index": 2515 + "parent_index": 2741 }, "assignments": [ - 2534 + 2760 ], "declarations": [ { - "id": 2534, + "id": 2760, "state_mutability": 1, "name": "amountInWithFee", "node_type": 44, - "scope": 2515, + "scope": 2741, "src": { - "line": 967, + "line": 1077, "column": 8, - "start": 34571, - "end": 34593, + "start": 38964, + "end": 38986, "length": 23, - "parent_index": 2533 + "parent_index": 2759 }, "name_location": { - "line": 967, + "line": 1077, "column": 16, - "start": 34579, - "end": 34593, + "start": 38972, + "end": 38986, "length": 15, - "parent_index": 2534 + "parent_index": 2760 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2535, + "id": 2761, "node_type": 30, "src": { - "line": 967, + "line": 1077, "column": 8, - "start": 34571, - "end": 34577, + "start": 38964, + "end": 38970, "length": 7, - "parent_index": 2534 + "parent_index": 2760 }, "name": "uint256", "referenced_declaration": 0, @@ -4640,16 +4726,16 @@ } ], "initial_value": { - "id": 2536, + "id": 2762, "node_type": 24, "kind": 24, "src": { - "line": 967, + "line": 1077, "column": 34, - "start": 34597, - "end": 34613, + "start": 38990, + "end": 39006, "length": 17, - "parent_index": 2533 + "parent_index": 2759 }, "argument_types": [ { @@ -4659,18 +4745,18 @@ ], "arguments": [ { - "id": 2539, + "id": 2765, "node_type": 17, "kind": 49, "value": "997", "hex_value": "393937", "src": { - "line": 967, + "line": 1077, "column": 47, - "start": 34610, - "end": 34612, + "start": 39003, + "end": 39005, "length": 3, - "parent_index": 2536 + "parent_index": 2762 }, "type_description": { "type_identifier": "t_rational_997_by_1", @@ -4678,42 +4764,43 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "997" } ], "expression": { - "id": 2537, + "id": 2763, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 967, + "line": 1077, "column": 34, - "start": 34597, - "end": 34608, + "start": 38990, + "end": 39001, "length": 12, - "parent_index": 2536 + "parent_index": 2762 }, "member_location": { - "line": 967, + "line": 1077, "column": 43, - "start": 34606, - "end": 34608, + "start": 38999, + "end": 39001, "length": 3, - "parent_index": 2537 + "parent_index": 2763 }, "expression": { - "id": 2538, + "id": 2764, "node_type": 16, "src": { - "line": 967, + "line": 1077, "column": 34, - "start": 34597, - "end": 34604, + "start": 38990, + "end": 38997, "length": 8, - "parent_index": 2537 + "parent_index": 2763 }, "name": "amountIn", "type_description": { @@ -4721,15 +4808,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2538, - "is_pure": false + "referenced_declaration": 2764, + "is_pure": false, + "text": "amountIn" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountIn.mul" }, "type_description": { "type_identifier": "t_function_$_t_rational_997_by_1$", @@ -4738,54 +4827,54 @@ } }, { - "id": 2540, + "id": 2766, "node_type": 44, "src": { - "line": 968, + "line": 1078, "column": 8, - "start": 34624, - "end": 34675, + "start": 39017, + "end": 39068, "length": 52, - "parent_index": 2515 + "parent_index": 2741 }, "assignments": [ - 2541 + 2767 ], "declarations": [ { - "id": 2541, + "id": 2767, "state_mutability": 1, "name": "numerator", "node_type": 44, - "scope": 2515, + "scope": 2741, "src": { - "line": 968, + "line": 1078, "column": 8, - "start": 34624, - "end": 34640, + "start": 39017, + "end": 39033, "length": 17, - "parent_index": 2540 + "parent_index": 2766 }, "name_location": { - "line": 968, + "line": 1078, "column": 16, - "start": 34632, - "end": 34640, + "start": 39025, + "end": 39033, "length": 9, - "parent_index": 2541 + "parent_index": 2767 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2542, + "id": 2768, "node_type": 30, "src": { - "line": 968, + "line": 1078, "column": 8, - "start": 34624, - "end": 34630, + "start": 39017, + "end": 39023, "length": 7, - "parent_index": 2541 + "parent_index": 2767 }, "name": "uint256", "referenced_declaration": 0, @@ -4798,16 +4887,16 @@ } ], "initial_value": { - "id": 2543, + "id": 2769, "node_type": 24, "kind": 24, "src": { - "line": 968, + "line": 1078, "column": 28, - "start": 34644, - "end": 34674, + "start": 39037, + "end": 39067, "length": 31, - "parent_index": 2540 + "parent_index": 2766 }, "argument_types": [ { @@ -4817,15 +4906,15 @@ ], "arguments": [ { - "id": 2546, + "id": 2772, "node_type": 16, "src": { - "line": 968, + "line": 1078, "column": 48, - "start": 34664, - "end": 34673, + "start": 39057, + "end": 39066, "length": 10, - "parent_index": 2543 + "parent_index": 2769 }, "name": "reserveOut", "type_description": { @@ -4833,43 +4922,44 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2546, - "is_pure": false + "referenced_declaration": 2772, + "is_pure": false, + "text": "reserveOut" } ], "expression": { - "id": 2544, + "id": 2770, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 968, + "line": 1078, "column": 28, - "start": 34644, - "end": 34662, + "start": 39037, + "end": 39055, "length": 19, - "parent_index": 2543 + "parent_index": 2769 }, "member_location": { - "line": 968, + "line": 1078, "column": 44, - "start": 34660, - "end": 34662, + "start": 39053, + "end": 39055, "length": 3, - "parent_index": 2544 + "parent_index": 2770 }, "expression": { - "id": 2545, + "id": 2771, "node_type": 16, "src": { - "line": 968, + "line": 1078, "column": 28, - "start": 34644, - "end": 34658, + "start": 39037, + "end": 39051, "length": 15, - "parent_index": 2544 + "parent_index": 2770 }, "name": "amountInWithFee", "type_description": { @@ -4877,15 +4967,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2533, - "is_pure": false + "referenced_declaration": 2759, + "is_pure": false, + "text": "amountInWithFee" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountInWithFee.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4894,54 +4986,54 @@ } }, { - "id": 2547, + "id": 2773, "node_type": 44, "src": { - "line": 969, + "line": 1079, "column": 8, - "start": 34685, - "end": 34747, + "start": 39078, + "end": 39140, "length": 63, - "parent_index": 2515 + "parent_index": 2741 }, "assignments": [ - 2548 + 2774 ], "declarations": [ { - "id": 2548, + "id": 2774, "state_mutability": 1, "name": "denominator", "node_type": 44, - "scope": 2515, + "scope": 2741, "src": { - "line": 969, + "line": 1079, "column": 8, - "start": 34685, - "end": 34703, + "start": 39078, + "end": 39096, "length": 19, - "parent_index": 2547 + "parent_index": 2773 }, "name_location": { - "line": 969, + "line": 1079, "column": 16, - "start": 34693, - "end": 34703, + "start": 39086, + "end": 39096, "length": 11, - "parent_index": 2548 + "parent_index": 2774 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2549, + "id": 2775, "node_type": 30, "src": { - "line": 969, + "line": 1079, "column": 8, - "start": 34685, - "end": 34691, + "start": 39078, + "end": 39084, "length": 7, - "parent_index": 2548 + "parent_index": 2774 }, "name": "uint256", "referenced_declaration": 0, @@ -4954,16 +5046,16 @@ } ], "initial_value": { - "id": 2550, + "id": 2776, "node_type": 24, "kind": 24, "src": { - "line": 969, + "line": 1079, "column": 30, - "start": 34707, - "end": 34746, + "start": 39100, + "end": 39139, "length": 40, - "parent_index": 2547 + "parent_index": 2773 }, "argument_types": [ { @@ -4973,15 +5065,15 @@ ], "arguments": [ { - "id": 2556, + "id": 2782, "node_type": 16, "src": { - "line": 969, + "line": 1079, "column": 54, - "start": 34731, - "end": 34745, + "start": 39124, + "end": 39138, "length": 15, - "parent_index": 2550 + "parent_index": 2776 }, "name": "amountInWithFee", "type_description": { @@ -4989,44 +5081,45 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2533, - "is_pure": false + "referenced_declaration": 2759, + "is_pure": false, + "text": "amountInWithFee" } ], "expression": { - "id": 2551, + "id": 2777, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 969, + "line": 1079, "column": 30, - "start": 34707, - "end": 34729, + "start": 39100, + "end": 39122, "length": 23, - "parent_index": 2550 + "parent_index": 2776 }, "member_location": { - "line": 969, + "line": 1079, "column": 50, - "start": 34727, - "end": 34729, + "start": 39120, + "end": 39122, "length": 3, - "parent_index": 2551 + "parent_index": 2777 }, "expression": { - "id": 2552, + "id": 2778, "node_type": 24, "kind": 24, "src": { - "line": 969, + "line": 1079, "column": 30, - "start": 34707, - "end": 34725, + "start": 39100, + "end": 39118, "length": 19, - "parent_index": 2551 + "parent_index": 2777 }, "argument_types": [ { @@ -5036,18 +5129,18 @@ ], "arguments": [ { - "id": 2555, + "id": 2781, "node_type": 17, "kind": 49, "value": "1000", "hex_value": "31303030", "src": { - "line": 969, + "line": 1079, "column": 44, - "start": 34721, - "end": 34724, + "start": 39114, + "end": 39117, "length": 4, - "parent_index": 2552 + "parent_index": 2778 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -5055,42 +5148,43 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" } ], "expression": { - "id": 2553, + "id": 2779, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 969, + "line": 1079, "column": 30, - "start": 34707, - "end": 34719, + "start": 39100, + "end": 39112, "length": 13, - "parent_index": 2552 + "parent_index": 2778 }, "member_location": { - "line": 969, + "line": 1079, "column": 40, - "start": 34717, - "end": 34719, + "start": 39110, + "end": 39112, "length": 3, - "parent_index": 2553 + "parent_index": 2779 }, "expression": { - "id": 2554, + "id": 2780, "node_type": 16, "src": { - "line": 969, + "line": 1079, "column": 30, - "start": 34707, - "end": 34715, + "start": 39100, + "end": 39108, "length": 9, - "parent_index": 2553 + "parent_index": 2779 }, "name": "reserveIn", "type_description": { @@ -5098,15 +5192,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2554, - "is_pure": false + "referenced_declaration": 2780, + "is_pure": false, + "text": "reserveIn" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "reserveIn.mul" }, "type_description": { "type_identifier": "t_function_$_t_rational_1000_by_1$", @@ -5118,7 +5214,8 @@ "type_description": { "type_identifier": "t_function_$_t_rational_1000_by_1$", "type_string": "function(int_const 1000)" - } + }, + "text": "reserveIn.mul(1000).add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5127,38 +5224,38 @@ } }, { - "id": 2557, + "id": 2783, "node_type": 27, "src": { - "line": 970, + "line": 1080, "column": 8, - "start": 34757, - "end": 34792, + "start": 39150, + "end": 39185, "length": 36, - "parent_index": 2515 + "parent_index": 2741 }, "expression": { - "id": 2558, + "id": 2784, "node_type": 27, "src": { - "line": 970, + "line": 1080, "column": 8, - "start": 34757, - "end": 34791, + "start": 39150, + "end": 39184, "length": 35, - "parent_index": 2557 + "parent_index": 2783 }, "operator": 11, "left_expression": { - "id": 2559, + "id": 2785, "node_type": 16, "src": { - "line": 970, + "line": 1080, "column": 8, - "start": 34757, - "end": 34765, + "start": 39150, + "end": 39158, "length": 9, - "parent_index": 2558 + "parent_index": 2784 }, "name": "amountOut", "type_description": { @@ -5167,32 +5264,33 @@ }, "overloaded_declarations": [], "referenced_declaration": 646, - "is_pure": false + "is_pure": false, + "text": "amountOut" }, "right_expression": { - "id": 2560, + "id": 2786, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 970, + "line": 1080, "column": 20, - "start": 34769, - "end": 34791, + "start": 39162, + "end": 39184, "length": 23, - "parent_index": 2558 + "parent_index": 2784 }, "operator": 4, "left_expression": { - "id": 2561, + "id": 2787, "node_type": 16, "src": { - "line": 970, + "line": 1080, "column": 20, - "start": 34769, - "end": 34777, + "start": 39162, + "end": 39170, "length": 9, - "parent_index": 2560 + "parent_index": 2786 }, "name": "numerator", "type_description": { @@ -5200,19 +5298,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2540, - "is_pure": false + "referenced_declaration": 2766, + "is_pure": false, + "text": "numerator" }, "right_expression": { - "id": 2562, + "id": 2788, "node_type": 16, "src": { - "line": 970, + "line": 1080, "column": 32, - "start": 34781, - "end": 34791, + "start": 39174, + "end": 39184, "length": 11, - "parent_index": 2560 + "parent_index": 2786 }, "name": "denominator", "type_description": { @@ -5220,8 +5319,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2547, - "is_pure": false + "referenced_declaration": 2773, + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -5236,7 +5336,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountOut=numerator/denominator;" } ] }, @@ -5247,40 +5348,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2505, + "id": 2731, "node_type": 43, "src": { - "line": 958, + "line": 1068, "column": 8, - "start": 34235, - "end": 34305, + "start": 38628, + "end": 38698, "length": 71, - "parent_index": 2504 + "parent_index": 2730 }, "parameters": [ { - "id": 2506, + "id": 2732, "node_type": 44, "src": { - "line": 958, + "line": 1068, "column": 8, - "start": 34235, - "end": 34250, + "start": 38628, + "end": 38643, "length": 16, - "parent_index": 2505 + "parent_index": 2731 }, - "scope": 2504, + "scope": 2730, "name": "amountIn", "type_name": { - "id": 2507, + "id": 2733, "node_type": 30, "src": { - "line": 958, + "line": 1068, "column": 8, - "start": 34235, - "end": 34241, + "start": 38628, + "end": 38634, "length": 7, - "parent_index": 2506 + "parent_index": 2732 }, "name": "uint256", "referenced_declaration": 0, @@ -5298,28 +5399,28 @@ } }, { - "id": 2508, + "id": 2734, "node_type": 44, "src": { - "line": 959, + "line": 1069, "column": 8, - "start": 34261, - "end": 34277, + "start": 38654, + "end": 38670, "length": 17, - "parent_index": 2505 + "parent_index": 2731 }, - "scope": 2504, + "scope": 2730, "name": "reserveIn", "type_name": { - "id": 2509, + "id": 2735, "node_type": 30, "src": { - "line": 959, + "line": 1069, "column": 8, - "start": 34261, - "end": 34267, + "start": 38654, + "end": 38660, "length": 7, - "parent_index": 2508 + "parent_index": 2734 }, "name": "uint256", "referenced_declaration": 0, @@ -5337,28 +5438,28 @@ } }, { - "id": 2510, + "id": 2736, "node_type": 44, "src": { - "line": 960, + "line": 1070, "column": 8, - "start": 34288, - "end": 34305, + "start": 38681, + "end": 38698, "length": 18, - "parent_index": 2505 + "parent_index": 2731 }, - "scope": 2504, + "scope": 2730, "name": "reserveOut", "type_name": { - "id": 2511, + "id": 2737, "node_type": 30, "src": { - "line": 960, + "line": 1070, "column": 8, - "start": 34288, - "end": 34294, + "start": 38681, + "end": 38687, "length": 7, - "parent_index": 2510 + "parent_index": 2736 }, "name": "uint256", "referenced_declaration": 0, @@ -5392,40 +5493,40 @@ ] }, "return_parameters": { - "id": 2512, + "id": 2738, "node_type": 43, "src": { - "line": 961, + "line": 1071, "column": 29, - "start": 34336, - "end": 34352, + "start": 38729, + "end": 38745, "length": 17, - "parent_index": 2504 + "parent_index": 2730 }, "parameters": [ { - "id": 2513, + "id": 2739, "node_type": 44, "src": { - "line": 961, + "line": 1071, "column": 29, - "start": 34336, - "end": 34352, + "start": 38729, + "end": 38745, "length": 17, - "parent_index": 2512 + "parent_index": 2738 }, - "scope": 2504, + "scope": 2730, "name": "amountOut", "type_name": { - "id": 2514, + "id": 2740, "node_type": 30, "src": { - "line": 961, + "line": 1071, "column": 29, - "start": 34336, - "end": 34342, + "start": 38729, + "end": 38735, "length": 7, - "parent_index": 2513 + "parent_index": 2739 }, "name": "uint256", "referenced_declaration": 0, @@ -5450,60 +5551,61 @@ } ] }, - "signature_raw": "getAmountOut(uint256, uint256, uint256)", - "signature": "6cae4d22", - "scope": 2309, + "signature_raw": "getAmountOut(uint256,uint256,uint256)", + "signature": "054d50d4", + "scope": 2535, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountOut(uint256amountIn,uint256reserveIn,uint256reserveOut)internalpurereturns(uint256amountOut){require(amountIn\u003e0,\"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\");require(reserveIn\u003e0\u0026\u0026reserveOut\u003e0,\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\");uint256amountInWithFee=amountIn.mul(997);uint256numerator=amountInWithFee.mul(reserveOut);uint256denominator=reserveIn.mul(1000).add(amountInWithFee);amountOut=numerator/denominator;}" }, { - "id": 2564, + "id": 2790, "name": "getAmountIn", "node_type": 42, "kind": 41, "src": { - "line": 974, + "line": 1084, "column": 4, - "start": 34917, - "end": 35464, + "start": 39310, + "end": 39857, "length": 548, - "parent_index": 2309 + "parent_index": 2535 }, "name_location": { - "line": 974, + "line": 1084, "column": 13, - "start": 34926, - "end": 34936, + "start": 39319, + "end": 39329, "length": 11, - "parent_index": 2564 + "parent_index": 2790 }, "body": { - "id": 2575, + "id": 2801, "node_type": 46, "kind": 0, "src": { - "line": 978, + "line": 1088, "column": 47, - "start": 35067, - "end": 35464, + "start": 39460, + "end": 39857, "length": 398, - "parent_index": 2564 + "parent_index": 2790 }, "implemented": true, "statements": [ { - "id": 2576, + "id": 2802, "node_type": 24, "kind": 24, "src": { - "line": 979, + "line": 1089, "column": 8, - "start": 35077, - "end": 35146, + "start": 39470, + "end": 39539, "length": 70, - "parent_index": 2575 + "parent_index": 2801 }, "argument_types": [ { @@ -5517,29 +5619,29 @@ ], "arguments": [ { - "id": 2578, + "id": 2804, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 979, + "line": 1089, "column": 16, - "start": 35085, - "end": 35097, + "start": 39478, + "end": 39490, "length": 13, - "parent_index": 2576 + "parent_index": 2802 }, "operator": 7, "left_expression": { - "id": 2579, + "id": 2805, "node_type": 16, "src": { - "line": 979, + "line": 1089, "column": 16, - "start": 35085, - "end": 35093, + "start": 39478, + "end": 39486, "length": 9, - "parent_index": 2578 + "parent_index": 2804 }, "name": "amountOut", "type_description": { @@ -5547,22 +5649,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2579, - "is_pure": false + "referenced_declaration": 2805, + "is_pure": false, + "text": "amountOut" }, "right_expression": { - "id": 2580, + "id": 2806, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 979, + "line": 1089, "column": 28, - "start": 35097, - "end": 35097, + "start": 39490, + "end": 39490, "length": 1, - "parent_index": 2578 + "parent_index": 2804 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5570,7 +5673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5578,18 +5682,18 @@ } }, { - "id": 2581, + "id": 2807, "node_type": 17, "kind": 50, "value": "UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT", "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54", "src": { - "line": 979, + "line": 1089, "column": 31, - "start": 35100, - "end": 35145, + "start": 39493, + "end": 39538, "length": 46, - "parent_index": 2576 + "parent_index": 2802 }, "type_description": { "type_identifier": "t_string_literal", @@ -5603,19 +5707,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], "expression": { - "id": 2577, + "id": 2803, "node_type": 16, "src": { - "line": 979, + "line": 1089, "column": 8, - "start": 35077, - "end": 35083, + "start": 39470, + "end": 39476, "length": 7, - "parent_index": 2576 + "parent_index": 2802 }, "name": "require", "type_description": { @@ -5624,7 +5729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5632,16 +5738,16 @@ } }, { - "id": 2582, + "id": 2808, "node_type": 24, "kind": 24, "src": { - "line": 980, + "line": 1090, "column": 8, - "start": 35157, - "end": 35274, + "start": 39550, + "end": 39667, "length": 118, - "parent_index": 2575 + "parent_index": 2801 }, "argument_types": [ { @@ -5655,41 +5761,41 @@ ], "arguments": [ { - "id": 2585, + "id": 2811, "node_type": 96, "src": { - "line": 981, + "line": 1091, "column": 12, - "start": 35178, - "end": 35208, + "start": 39571, + "end": 39601, "length": 31, - "parent_index": 2582 + "parent_index": 2808 }, "expressions": [ { - "id": 2586, + "id": 2812, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 981, + "line": 1091, "column": 12, - "start": 35178, - "end": 35190, + "start": 39571, + "end": 39583, "length": 13, - "parent_index": 2585 + "parent_index": 2811 }, "operator": 7, "left_expression": { - "id": 2587, + "id": 2813, "node_type": 16, "src": { - "line": 981, + "line": 1091, "column": 12, - "start": 35178, - "end": 35186, + "start": 39571, + "end": 39579, "length": 9, - "parent_index": 2586 + "parent_index": 2812 }, "name": "reserveIn", "type_description": { @@ -5697,22 +5803,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2587, - "is_pure": false + "referenced_declaration": 2813, + "is_pure": false, + "text": "reserveIn" }, "right_expression": { - "id": 2588, + "id": 2814, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 981, + "line": 1091, "column": 24, - "start": 35190, - "end": 35190, + "start": 39583, + "end": 39583, "length": 1, - "parent_index": 2586 + "parent_index": 2812 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5720,7 +5827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5728,29 +5836,29 @@ } }, { - "id": 2589, + "id": 2815, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 981, + "line": 1091, "column": 29, - "start": 35195, - "end": 35208, + "start": 39588, + "end": 39601, "length": 14, - "parent_index": 2585 + "parent_index": 2811 }, "operator": 7, "left_expression": { - "id": 2590, + "id": 2816, "node_type": 16, "src": { - "line": 981, + "line": 1091, "column": 29, - "start": 35195, - "end": 35204, + "start": 39588, + "end": 39597, "length": 10, - "parent_index": 2589 + "parent_index": 2815 }, "name": "reserveOut", "type_description": { @@ -5758,22 +5866,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2590, - "is_pure": false + "referenced_declaration": 2816, + "is_pure": false, + "text": "reserveOut" }, "right_expression": { - "id": 2591, + "id": 2817, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 981, + "line": 1091, "column": 42, - "start": 35208, - "end": 35208, + "start": 39601, + "end": 39601, "length": 1, - "parent_index": 2589 + "parent_index": 2815 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5781,7 +5890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5801,18 +5911,18 @@ ] }, { - "id": 2592, + "id": 2818, "node_type": 17, "kind": 50, "value": "UniswapV2Library: INSUFFICIENT_LIQUIDITY", "hex_value": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", "src": { - "line": 982, + "line": 1092, "column": 12, - "start": 35223, - "end": 35264, + "start": 39616, + "end": 39657, "length": 42, - "parent_index": 2582 + "parent_index": 2808 }, "type_description": { "type_identifier": "t_string_literal", @@ -5826,19 +5936,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } ], "expression": { - "id": 2583, + "id": 2809, "node_type": 16, "src": { - "line": 980, + "line": 1090, "column": 8, - "start": 35157, - "end": 35163, + "start": 39550, + "end": 39556, "length": 7, - "parent_index": 2582 + "parent_index": 2808 }, "name": "require", "type_description": { @@ -5847,7 +5958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5855,54 +5967,54 @@ } }, { - "id": 2593, + "id": 2819, "node_type": 44, "src": { - "line": 984, + "line": 1094, "column": 8, - "start": 35285, - "end": 35339, + "start": 39678, + "end": 39732, "length": 55, - "parent_index": 2575 + "parent_index": 2801 }, "assignments": [ - 2594 + 2820 ], "declarations": [ { - "id": 2594, + "id": 2820, "state_mutability": 1, "name": "numerator", "node_type": 44, - "scope": 2575, + "scope": 2801, "src": { - "line": 984, + "line": 1094, "column": 8, - "start": 35285, - "end": 35301, + "start": 39678, + "end": 39694, "length": 17, - "parent_index": 2593 + "parent_index": 2819 }, "name_location": { - "line": 984, + "line": 1094, "column": 16, - "start": 35293, - "end": 35301, + "start": 39686, + "end": 39694, "length": 9, - "parent_index": 2594 + "parent_index": 2820 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2595, + "id": 2821, "node_type": 30, "src": { - "line": 984, + "line": 1094, "column": 8, - "start": 35285, - "end": 35291, + "start": 39678, + "end": 39684, "length": 7, - "parent_index": 2594 + "parent_index": 2820 }, "name": "uint256", "referenced_declaration": 0, @@ -5915,16 +6027,16 @@ } ], "initial_value": { - "id": 2596, + "id": 2822, "node_type": 24, "kind": 24, "src": { - "line": 984, + "line": 1094, "column": 28, - "start": 35305, - "end": 35338, + "start": 39698, + "end": 39731, "length": 34, - "parent_index": 2593 + "parent_index": 2819 }, "argument_types": [ { @@ -5934,18 +6046,18 @@ ], "arguments": [ { - "id": 2602, + "id": 2828, "node_type": 17, "kind": 49, "value": "1000", "hex_value": "31303030", "src": { - "line": 984, + "line": 1094, "column": 57, - "start": 35334, - "end": 35337, + "start": 39727, + "end": 39730, "length": 4, - "parent_index": 2596 + "parent_index": 2822 }, "type_description": { "type_identifier": "t_rational_1000_by_1", @@ -5953,43 +6065,44 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1000" } ], "expression": { - "id": 2597, + "id": 2823, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 984, + "line": 1094, "column": 28, - "start": 35305, - "end": 35332, + "start": 39698, + "end": 39725, "length": 28, - "parent_index": 2596 + "parent_index": 2822 }, "member_location": { - "line": 984, + "line": 1094, "column": 53, - "start": 35330, - "end": 35332, + "start": 39723, + "end": 39725, "length": 3, - "parent_index": 2597 + "parent_index": 2823 }, "expression": { - "id": 2598, + "id": 2824, "node_type": 24, "kind": 24, "src": { - "line": 984, + "line": 1094, "column": 28, - "start": 35305, - "end": 35328, + "start": 39698, + "end": 39721, "length": 24, - "parent_index": 2597 + "parent_index": 2823 }, "argument_types": [ { @@ -5999,15 +6112,15 @@ ], "arguments": [ { - "id": 2601, + "id": 2827, "node_type": 16, "src": { - "line": 984, + "line": 1094, "column": 42, - "start": 35319, - "end": 35327, + "start": 39712, + "end": 39720, "length": 9, - "parent_index": 2598 + "parent_index": 2824 }, "name": "amountOut", "type_description": { @@ -6015,43 +6128,44 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2601, - "is_pure": false + "referenced_declaration": 2827, + "is_pure": false, + "text": "amountOut" } ], "expression": { - "id": 2599, + "id": 2825, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 984, + "line": 1094, "column": 28, - "start": 35305, - "end": 35317, + "start": 39698, + "end": 39710, "length": 13, - "parent_index": 2598 + "parent_index": 2824 }, "member_location": { - "line": 984, + "line": 1094, "column": 38, - "start": 35315, - "end": 35317, + "start": 39708, + "end": 39710, "length": 3, - "parent_index": 2599 + "parent_index": 2825 }, "expression": { - "id": 2600, + "id": 2826, "node_type": 16, "src": { - "line": 984, + "line": 1094, "column": 28, - "start": 35305, - "end": 35313, + "start": 39698, + "end": 39706, "length": 9, - "parent_index": 2599 + "parent_index": 2825 }, "name": "reserveIn", "type_description": { @@ -6059,15 +6173,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2600, - "is_pure": false + "referenced_declaration": 2826, + "is_pure": false, + "text": "reserveIn" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "reserveIn.mul" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6079,7 +6195,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "reserveIn.mul(amountOut).mul" }, "type_description": { "type_identifier": "t_function_$_t_rational_1000_by_1$", @@ -6088,54 +6205,54 @@ } }, { - "id": 2603, + "id": 2829, "node_type": 44, "src": { - "line": 985, + "line": 1095, "column": 8, - "start": 35349, - "end": 35405, + "start": 39742, + "end": 39798, "length": 57, - "parent_index": 2575 + "parent_index": 2801 }, "assignments": [ - 2604 + 2830 ], "declarations": [ { - "id": 2604, + "id": 2830, "state_mutability": 1, "name": "denominator", "node_type": 44, - "scope": 2575, + "scope": 2801, "src": { - "line": 985, + "line": 1095, "column": 8, - "start": 35349, - "end": 35367, + "start": 39742, + "end": 39760, "length": 19, - "parent_index": 2603 + "parent_index": 2829 }, "name_location": { - "line": 985, + "line": 1095, "column": 16, - "start": 35357, - "end": 35367, + "start": 39750, + "end": 39760, "length": 11, - "parent_index": 2604 + "parent_index": 2830 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2605, + "id": 2831, "node_type": 30, "src": { - "line": 985, + "line": 1095, "column": 8, - "start": 35349, - "end": 35355, + "start": 39742, + "end": 39748, "length": 7, - "parent_index": 2604 + "parent_index": 2830 }, "name": "uint256", "referenced_declaration": 0, @@ -6148,16 +6265,16 @@ } ], "initial_value": { - "id": 2606, + "id": 2832, "node_type": 24, "kind": 24, "src": { - "line": 985, + "line": 1095, "column": 30, - "start": 35371, - "end": 35404, + "start": 39764, + "end": 39797, "length": 34, - "parent_index": 2603 + "parent_index": 2829 }, "argument_types": [ { @@ -6167,18 +6284,18 @@ ], "arguments": [ { - "id": 2612, + "id": 2838, "node_type": 17, "kind": 49, "value": "997", "hex_value": "393937", "src": { - "line": 985, + "line": 1095, "column": 60, - "start": 35401, - "end": 35403, + "start": 39794, + "end": 39796, "length": 3, - "parent_index": 2606 + "parent_index": 2832 }, "type_description": { "type_identifier": "t_rational_997_by_1", @@ -6186,43 +6303,44 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "997" } ], "expression": { - "id": 2607, + "id": 2833, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 985, + "line": 1095, "column": 30, - "start": 35371, - "end": 35399, + "start": 39764, + "end": 39792, "length": 29, - "parent_index": 2606 + "parent_index": 2832 }, "member_location": { - "line": 985, + "line": 1095, "column": 56, - "start": 35397, - "end": 35399, + "start": 39790, + "end": 39792, "length": 3, - "parent_index": 2607 + "parent_index": 2833 }, "expression": { - "id": 2608, + "id": 2834, "node_type": 24, "kind": 24, "src": { - "line": 985, + "line": 1095, "column": 30, - "start": 35371, - "end": 35395, + "start": 39764, + "end": 39788, "length": 25, - "parent_index": 2607 + "parent_index": 2833 }, "argument_types": [ { @@ -6232,15 +6350,15 @@ ], "arguments": [ { - "id": 2611, + "id": 2837, "node_type": 16, "src": { - "line": 985, + "line": 1095, "column": 45, - "start": 35386, - "end": 35394, + "start": 39779, + "end": 39787, "length": 9, - "parent_index": 2608 + "parent_index": 2834 }, "name": "amountOut", "type_description": { @@ -6248,43 +6366,44 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2611, - "is_pure": false + "referenced_declaration": 2837, + "is_pure": false, + "text": "amountOut" } ], "expression": { - "id": 2609, + "id": 2835, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 985, + "line": 1095, "column": 30, - "start": 35371, - "end": 35384, + "start": 39764, + "end": 39777, "length": 14, - "parent_index": 2608 + "parent_index": 2834 }, "member_location": { - "line": 985, + "line": 1095, "column": 41, - "start": 35382, - "end": 35384, + "start": 39775, + "end": 39777, "length": 3, - "parent_index": 2609 + "parent_index": 2835 }, "expression": { - "id": 2610, + "id": 2836, "node_type": 16, "src": { - "line": 985, + "line": 1095, "column": 30, - "start": 35371, - "end": 35380, + "start": 39764, + "end": 39773, "length": 10, - "parent_index": 2609 + "parent_index": 2835 }, "name": "reserveOut", "type_description": { @@ -6292,15 +6411,17 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2610, - "is_pure": false + "referenced_declaration": 2836, + "is_pure": false, + "text": "reserveOut" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "reserveOut.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6312,7 +6433,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "reserveOut.sub(amountOut).mul" }, "type_description": { "type_identifier": "t_function_$_t_rational_997_by_1$", @@ -6321,38 +6443,38 @@ } }, { - "id": 2613, + "id": 2839, "node_type": 27, "src": { - "line": 986, + "line": 1096, "column": 8, - "start": 35415, - "end": 35458, + "start": 39808, + "end": 39851, "length": 44, - "parent_index": 2575 + "parent_index": 2801 }, "expression": { - "id": 2614, + "id": 2840, "node_type": 27, "src": { - "line": 986, + "line": 1096, "column": 8, - "start": 35415, - "end": 35457, + "start": 39808, + "end": 39850, "length": 43, - "parent_index": 2613 + "parent_index": 2839 }, "operator": 11, "left_expression": { - "id": 2615, + "id": 2841, "node_type": 16, "src": { - "line": 986, + "line": 1096, "column": 8, - "start": 35415, - "end": 35422, + "start": 39808, + "end": 39815, "length": 8, - "parent_index": 2614 + "parent_index": 2840 }, "name": "amountIn", "type_description": { @@ -6361,19 +6483,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 1363, - "is_pure": false + "is_pure": false, + "text": "amountIn" }, "right_expression": { - "id": 2616, + "id": 2842, "node_type": 24, "kind": 24, "src": { - "line": 986, + "line": 1096, "column": 19, - "start": 35426, - "end": 35457, + "start": 39819, + "end": 39850, "length": 32, - "parent_index": 2614 + "parent_index": 2840 }, "argument_types": [ { @@ -6383,18 +6506,18 @@ ], "arguments": [ { - "id": 2622, + "id": 2848, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 986, + "line": 1096, "column": 49, - "start": 35456, - "end": 35456, + "start": 39849, + "end": 39849, "length": 1, - "parent_index": 2616 + "parent_index": 2842 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -6402,70 +6525,71 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" } ], "expression": { - "id": 2617, + "id": 2843, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 986, + "line": 1096, "column": 19, - "start": 35426, - "end": 35454, + "start": 39819, + "end": 39847, "length": 29, - "parent_index": 2616 + "parent_index": 2842 }, "member_location": { - "line": 986, + "line": 1096, "column": 45, - "start": 35452, - "end": 35454, + "start": 39845, + "end": 39847, "length": 3, - "parent_index": 2617 + "parent_index": 2843 }, "expression": { - "id": 2618, + "id": 2844, "node_type": 60, "src": { - "line": 986, + "line": 1096, "column": 19, - "start": 35426, - "end": 35450, + "start": 39819, + "end": 39843, "length": 25, - "parent_index": 2617 + "parent_index": 2843 }, "is_constant": false, "is_pure": false, "components": [ { - "id": 2619, + "id": 2845, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 986, + "line": 1096, "column": 20, - "start": 35427, - "end": 35449, + "start": 39820, + "end": 39842, "length": 23, - "parent_index": 2618 + "parent_index": 2844 }, "operator": 4, "left_expression": { - "id": 2620, + "id": 2846, "node_type": 16, "src": { - "line": 986, + "line": 1096, "column": 20, - "start": 35427, - "end": 35435, + "start": 39820, + "end": 39828, "length": 9, - "parent_index": 2619 + "parent_index": 2845 }, "name": "numerator", "type_description": { @@ -6473,19 +6597,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2593, - "is_pure": false + "referenced_declaration": 2819, + "is_pure": false, + "text": "numerator" }, "right_expression": { - "id": 2621, + "id": 2847, "node_type": 16, "src": { - "line": 986, + "line": 1096, "column": 32, - "start": 35439, - "end": 35449, + "start": 39832, + "end": 39842, "length": 11, - "parent_index": 2619 + "parent_index": 2845 }, "name": "denominator", "type_description": { @@ -6493,8 +6618,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2603, - "is_pure": false + "referenced_declaration": 2829, + "is_pure": false, + "text": "denominator" }, "type_description": { "type_identifier": "t_uint256", @@ -6512,7 +6638,8 @@ "type_description": { "type_identifier": "t_tuple_$_t_uint256$", "type_string": "tuple(uint256)" - } + }, + "text": "(numerator/denominator).add" }, "type_description": { "type_identifier": "t_function_$_t_rational_1_by_1$", @@ -6527,7 +6654,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amountIn=(numerator/denominator).add(1);" } ] }, @@ -6538,40 +6666,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2565, + "id": 2791, "node_type": 43, "src": { - "line": 975, + "line": 1085, "column": 8, - "start": 34947, - "end": 35018, + "start": 39340, + "end": 39411, "length": 72, - "parent_index": 2564 + "parent_index": 2790 }, "parameters": [ { - "id": 2566, + "id": 2792, "node_type": 44, "src": { - "line": 975, + "line": 1085, "column": 8, - "start": 34947, - "end": 34963, + "start": 39340, + "end": 39356, "length": 17, - "parent_index": 2565 + "parent_index": 2791 }, - "scope": 2564, + "scope": 2790, "name": "amountOut", "type_name": { - "id": 2567, + "id": 2793, "node_type": 30, "src": { - "line": 975, + "line": 1085, "column": 8, - "start": 34947, - "end": 34953, + "start": 39340, + "end": 39346, "length": 7, - "parent_index": 2566 + "parent_index": 2792 }, "name": "uint256", "referenced_declaration": 0, @@ -6589,28 +6717,28 @@ } }, { - "id": 2568, + "id": 2794, "node_type": 44, "src": { - "line": 976, + "line": 1086, "column": 8, - "start": 34974, - "end": 34990, + "start": 39367, + "end": 39383, "length": 17, - "parent_index": 2565 + "parent_index": 2791 }, - "scope": 2564, + "scope": 2790, "name": "reserveIn", "type_name": { - "id": 2569, + "id": 2795, "node_type": 30, "src": { - "line": 976, + "line": 1086, "column": 8, - "start": 34974, - "end": 34980, + "start": 39367, + "end": 39373, "length": 7, - "parent_index": 2568 + "parent_index": 2794 }, "name": "uint256", "referenced_declaration": 0, @@ -6628,28 +6756,28 @@ } }, { - "id": 2570, + "id": 2796, "node_type": 44, "src": { - "line": 977, + "line": 1087, "column": 8, - "start": 35001, - "end": 35018, + "start": 39394, + "end": 39411, "length": 18, - "parent_index": 2565 + "parent_index": 2791 }, - "scope": 2564, + "scope": 2790, "name": "reserveOut", "type_name": { - "id": 2571, + "id": 2797, "node_type": 30, "src": { - "line": 977, + "line": 1087, "column": 8, - "start": 35001, - "end": 35007, + "start": 39394, + "end": 39400, "length": 7, - "parent_index": 2570 + "parent_index": 2796 }, "name": "uint256", "referenced_declaration": 0, @@ -6683,40 +6811,40 @@ ] }, "return_parameters": { - "id": 2572, + "id": 2798, "node_type": 43, "src": { - "line": 978, + "line": 1088, "column": 29, - "start": 35049, - "end": 35064, + "start": 39442, + "end": 39457, "length": 16, - "parent_index": 2564 + "parent_index": 2790 }, "parameters": [ { - "id": 2573, + "id": 2799, "node_type": 44, "src": { - "line": 978, + "line": 1088, "column": 29, - "start": 35049, - "end": 35064, + "start": 39442, + "end": 39457, "length": 16, - "parent_index": 2572 + "parent_index": 2798 }, - "scope": 2564, + "scope": 2790, "name": "amountIn", "type_name": { - "id": 2574, + "id": 2800, "node_type": 30, "src": { - "line": 978, + "line": 1088, "column": 29, - "start": 35049, - "end": 35055, + "start": 39442, + "end": 39448, "length": 7, - "parent_index": 2573 + "parent_index": 2799 }, "name": "uint256", "referenced_declaration": 0, @@ -6741,60 +6869,61 @@ } ] }, - "signature_raw": "getAmountIn(uint256, uint256, uint256)", - "signature": "d7a891de", - "scope": 2309, + "signature_raw": "getAmountIn(uint256,uint256,uint256)", + "signature": "85f8c259", + "scope": 2535, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256,uint256)" - } + }, + "text": "functiongetAmountIn(uint256amountOut,uint256reserveIn,uint256reserveOut)internalpurereturns(uint256amountIn){require(amountOut\u003e0,\"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\");require(reserveIn\u003e0\u0026\u0026reserveOut\u003e0,\"UniswapV2Library: INSUFFICIENT_LIQUIDITY\");uint256numerator=reserveIn.mul(amountOut).mul(1000);uint256denominator=reserveOut.sub(amountOut).mul(997);amountIn=(numerator/denominator).add(1);}" }, { - "id": 2624, + "id": 2850, "name": "getAmountsOut", "node_type": 42, "kind": 41, "src": { - "line": 990, + "line": 1100, "column": 4, - "start": 35544, - "end": 36216, + "start": 39937, + "end": 40609, "length": 673, - "parent_index": 2309 + "parent_index": 2535 }, "name_location": { - "line": 990, + "line": 1100, "column": 13, - "start": 35553, - "end": 35565, + "start": 39946, + "end": 39958, "length": 13, - "parent_index": 2624 + "parent_index": 2850 }, "body": { - "id": 2637, + "id": 2863, "node_type": 46, "kind": 0, "src": { - "line": 995, + "line": 1105, "column": 55, - "start": 35734, - "end": 36216, + "start": 40127, + "end": 40609, "length": 483, - "parent_index": 2624 + "parent_index": 2850 }, "implemented": true, "statements": [ { - "id": 2638, + "id": 2864, "node_type": 24, "kind": 24, "src": { - "line": 996, + "line": 1106, "column": 8, - "start": 35744, - "end": 35802, + "start": 40137, + "end": 40195, "length": 59, - "parent_index": 2637 + "parent_index": 2863 }, "argument_types": [ { @@ -6808,52 +6937,52 @@ ], "arguments": [ { - "id": 2640, + "id": 2866, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 996, + "line": 1106, "column": 16, - "start": 35752, - "end": 35767, + "start": 40145, + "end": 40160, "length": 16, - "parent_index": 2638 + "parent_index": 2864 }, "operator": 8, "left_expression": { - "id": 2641, + "id": 2867, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 996, + "line": 1106, "column": 16, - "start": 35752, - "end": 35762, + "start": 40145, + "end": 40155, "length": 11, - "parent_index": 2640 + "parent_index": 2866 }, "member_location": { - "line": 996, + "line": 1106, "column": 21, - "start": 35757, - "end": 35762, + "start": 40150, + "end": 40155, "length": 6, - "parent_index": 2641 + "parent_index": 2867 }, "expression": { - "id": 2642, + "id": 2868, "node_type": 16, "src": { - "line": 996, + "line": 1106, "column": 16, - "start": 35752, - "end": 35755, + "start": 40145, + "end": 40148, "length": 4, - "parent_index": 2641 + "parent_index": 2867 }, "name": "path", "type_description": { @@ -6861,29 +6990,31 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2642, - "is_pure": false + "referenced_declaration": 2868, + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { - "id": 2643, + "id": 2869, "node_type": 17, "kind": 49, "value": "2", "hex_value": "32", "src": { - "line": 996, + "line": 1106, "column": 31, - "start": 35767, - "end": 35767, + "start": 40160, + "end": 40160, "length": 1, - "parent_index": 2640 + "parent_index": 2866 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -6891,7 +7022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bool", @@ -6899,18 +7031,18 @@ } }, { - "id": 2644, + "id": 2870, "node_type": 17, "kind": 50, "value": "UniswapV2Library: INVALID_PATH", "hex_value": "556e697377617056324c6962726172793a20494e56414c49445f50415448", "src": { - "line": 996, + "line": 1106, "column": 34, - "start": 35770, - "end": 35801, + "start": 40163, + "end": 40194, "length": 32, - "parent_index": 2638 + "parent_index": 2864 }, "type_description": { "type_identifier": "t_string_literal", @@ -6924,19 +7056,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: INVALID_PATH\"" } ], "expression": { - "id": 2639, + "id": 2865, "node_type": 16, "src": { - "line": 996, + "line": 1106, "column": 8, - "start": 35744, - "end": 35750, + "start": 40137, + "end": 40143, "length": 7, - "parent_index": 2638 + "parent_index": 2864 }, "name": "require", "type_description": { @@ -6945,7 +7078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6953,38 +7087,38 @@ } }, { - "id": 2645, + "id": 2871, "node_type": 27, "src": { - "line": 997, + "line": 1107, "column": 8, - "start": 35813, - "end": 35849, + "start": 40206, + "end": 40242, "length": 37, - "parent_index": 2637 + "parent_index": 2863 }, "expression": { - "id": 2646, + "id": 2872, "node_type": 27, "src": { - "line": 997, + "line": 1107, "column": 8, - "start": 35813, - "end": 35848, + "start": 40206, + "end": 40241, "length": 36, - "parent_index": 2645 + "parent_index": 2871 }, "operator": 11, "left_expression": { - "id": 2647, + "id": 2873, "node_type": 16, "src": { - "line": 997, + "line": 1107, "column": 8, - "start": 35813, - "end": 35819, + "start": 40206, + "end": 40212, "length": 7, - "parent_index": 2646 + "parent_index": 2872 }, "name": "amounts", "type_description": { @@ -6992,20 +7126,21 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "right_expression": { - "id": 2648, + "id": 2874, "node_type": 24, "kind": 24, "src": { - "line": 997, + "line": 1107, "column": 18, - "start": 35823, - "end": 35848, + "start": 40216, + "end": 40241, "length": 26, - "parent_index": 2646 + "parent_index": 2872 }, "argument_types": [ { @@ -7015,38 +7150,38 @@ ], "arguments": [ { - "id": 2651, + "id": 2877, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 997, + "line": 1107, "column": 32, - "start": 35837, - "end": 35847, + "start": 40230, + "end": 40240, "length": 11, - "parent_index": 2648 + "parent_index": 2874 }, "member_location": { - "line": 997, + "line": 1107, "column": 37, - "start": 35842, - "end": 35847, + "start": 40235, + "end": 40240, "length": 6, - "parent_index": 2651 + "parent_index": 2877 }, "expression": { - "id": 2652, + "id": 2878, "node_type": 16, "src": { - "line": 997, + "line": 1107, "column": 32, - "start": 35837, - "end": 35840, + "start": 40230, + "end": 40233, "length": 4, - "parent_index": 2651 + "parent_index": 2877 }, "name": "path", "type_description": { @@ -7054,39 +7189,41 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2652, - "is_pure": false + "referenced_declaration": 2878, + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" } ], "expression": { - "id": 2649, + "id": 2875, "node_type": 25, "src": { - "line": 997, + "line": 1107, "column": 18, - "start": 35823, - "end": 35835, + "start": 40216, + "end": 40228, "length": 13, - "parent_index": 2648 + "parent_index": 2874 }, "argument_types": [], "type_name": { - "id": 2650, + "id": 2876, "node_type": 16, "src": { - "line": 997, + "line": 1107, "column": 22, - "start": 35827, - "end": 35833, + "start": 40220, + "end": 40226, "length": 7, - "parent_index": 2649 + "parent_index": 2875 }, "name": "uint256", "referenced_declaration": 0, @@ -7113,52 +7250,53 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=newuint256[](path.length);" }, { - "id": 2653, + "id": 2879, "node_type": 27, "src": { - "line": 998, + "line": 1108, "column": 8, - "start": 35859, - "end": 35880, + "start": 40252, + "end": 40273, "length": 22, - "parent_index": 2637 + "parent_index": 2863 }, "expression": { - "id": 2654, + "id": 2880, "node_type": 27, "src": { - "line": 998, + "line": 1108, "column": 8, - "start": 35859, - "end": 35879, + "start": 40252, + "end": 40272, "length": 21, - "parent_index": 2653 + "parent_index": 2879 }, "operator": 11, "left_expression": { - "id": 2655, + "id": 2881, "node_type": 22, "src": { - "line": 998, + "line": 1108, "column": 8, - "start": 35859, - "end": 35868, + "start": 40252, + "end": 40261, "length": 10, - "parent_index": 2654 + "parent_index": 2880 }, "index_expression": { - "id": 2656, + "id": 2882, "node_type": 16, "src": { - "line": 998, + "line": 1108, "column": 8, - "start": 35859, - "end": 35865, + "start": 40252, + "end": 40258, "length": 7, - "parent_index": 2655 + "parent_index": 2881 }, "name": "amounts", "type_description": { @@ -7166,22 +7304,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "base_expression": { - "id": 2657, + "id": 2883, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 998, + "line": 1108, "column": 16, - "start": 35867, - "end": 35867, + "start": 40260, + "end": 40260, "length": 1, - "parent_index": 2655 + "parent_index": 2881 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7189,7 +7328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_descriptions": [ { @@ -7207,15 +7347,15 @@ } }, "right_expression": { - "id": 2658, + "id": 2884, "node_type": 16, "src": { - "line": 998, + "line": 1108, "column": 21, - "start": 35872, - "end": 35879, + "start": 40265, + "end": 40272, "length": 8, - "parent_index": 2654 + "parent_index": 2880 }, "name": "amountIn", "type_description": { @@ -7223,8 +7363,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2658, - "is_pure": false + "referenced_declaration": 2884, + "is_pure": false, + "text": "amountIn" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", @@ -7234,68 +7375,69 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_rational_0_by_1]$", "type_string": "index[uint256:int_const 0]" - } + }, + "text": "amounts[0]=amountIn;" }, { - "id": 2659, + "id": 2885, "node_type": 79, "src": { - "line": 999, + "line": 1109, "column": 0, - "start": 35890, - "end": 36210, + "start": 40283, + "end": 40603, "length": 321, - "parent_index": 2637 + "parent_index": 2863 }, "initialiser": { - "id": 2660, + "id": 2886, "node_type": 44, "src": { - "line": 999, + "line": 1109, "column": 13, - "start": 35895, - "end": 35904, + "start": 40288, + "end": 40297, "length": 10, - "parent_index": 2637 + "parent_index": 2863 }, "assignments": [ - 2661 + 2887 ], "declarations": [ { - "id": 2661, + "id": 2887, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 2637, + "scope": 2863, "src": { - "line": 999, + "line": 1109, "column": 13, - "start": 35895, - "end": 35903, + "start": 40288, + "end": 40296, "length": 9, - "parent_index": 2660 + "parent_index": 2886 }, "name_location": { - "line": 999, + "line": 1109, "column": 21, - "start": 35903, - "end": 35903, + "start": 40296, + "end": 40296, "length": 1, - "parent_index": 2661 + "parent_index": 2887 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2662, + "id": 2888, "node_type": 30, "src": { - "line": 999, + "line": 1109, "column": 13, - "start": 35895, - "end": 35901, + "start": 40288, + "end": 40294, "length": 7, - "parent_index": 2661 + "parent_index": 2887 }, "name": "uint256", "referenced_declaration": 0, @@ -7309,29 +7451,29 @@ ] }, "condition": { - "id": 2663, + "id": 2889, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 999, + "line": 1109, "column": 24, - "start": 35906, - "end": 35924, + "start": 40299, + "end": 40317, "length": 19, - "parent_index": 2659 + "parent_index": 2885 }, "operator": 9, "left_expression": { - "id": 2664, + "id": 2890, "node_type": 16, "src": { - "line": 999, + "line": 1109, "column": 24, - "start": 35906, - "end": 35906, + "start": 40299, + "end": 40299, "length": 1, - "parent_index": 2663 + "parent_index": 2889 }, "name": "i", "type_description": { @@ -7339,56 +7481,57 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2665, + "id": 2891, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 999, + "line": 1109, "column": 28, - "start": 35910, - "end": 35924, + "start": 40303, + "end": 40317, "length": 15, - "parent_index": 2663 + "parent_index": 2889 }, "operator": 2, "left_expression": { - "id": 2666, + "id": 2892, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 999, + "line": 1109, "column": 28, - "start": 35910, - "end": 35920, + "start": 40303, + "end": 40313, "length": 11, - "parent_index": 2665 + "parent_index": 2891 }, "member_location": { - "line": 999, + "line": 1109, "column": 33, - "start": 35915, - "end": 35920, + "start": 40308, + "end": 40313, "length": 6, - "parent_index": 2666 + "parent_index": 2892 }, "expression": { - "id": 2667, + "id": 2893, "node_type": 16, "src": { - "line": 999, + "line": 1109, "column": 28, - "start": 35910, - "end": 35913, + "start": 40303, + "end": 40306, "length": 4, - "parent_index": 2666 + "parent_index": 2892 }, "name": "path", "type_description": { @@ -7396,29 +7539,31 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2667, - "is_pure": false + "referenced_declaration": 2893, + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { - "id": 2668, + "id": 2894, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 999, + "line": 1109, "column": 42, - "start": 35924, - "end": 35924, + "start": 40317, + "end": 40317, "length": 1, - "parent_index": 2665 + "parent_index": 2891 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -7426,7 +7571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -7439,28 +7585,28 @@ } }, "closure": { - "id": 2669, + "id": 2895, "node_type": 18, "kind": 105, "src": { - "line": 999, + "line": 1109, "column": 45, - "start": 35927, - "end": 35929, + "start": 40320, + "end": 40322, "length": 3, - "parent_index": 2624 + "parent_index": 2850 }, "operator": 27, "expression": { - "id": 2670, + "id": 2896, "node_type": 16, "src": { - "line": 999, + "line": 1109, "column": 45, - "start": 35927, - "end": 35927, + "start": 40320, + "end": 40320, "length": 1, - "parent_index": 2669 + "parent_index": 2895 }, "name": "i", "type_description": { @@ -7468,8 +7614,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -7482,69 +7629,69 @@ "l_value_requested": false }, "body": { - "id": 2671, + "id": 2897, "node_type": 46, "kind": 0, "src": { - "line": 999, + "line": 1109, "column": 50, - "start": 35932, - "end": 36210, + "start": 40325, + "end": 40603, "length": 279, - "parent_index": 2659 + "parent_index": 2885 }, "implemented": true, "statements": [ { - "id": 2672, + "id": 2898, "node_type": 44, "src": { - "line": 1000, + "line": 1110, "column": 12, - "start": 35946, - "end": 36122, + "start": 40339, + "end": 40515, "length": 177, - "parent_index": 2671 + "parent_index": 2897 }, "assignments": [ - 2673, - 2675 + 2899, + 2901 ], "declarations": [ { - "id": 2673, + "id": 2899, "state_mutability": 1, "name": "reserveIn", "node_type": 44, - "scope": 2671, + "scope": 2897, "src": { - "line": 1000, + "line": 1110, "column": 13, - "start": 35947, - "end": 35963, + "start": 40340, + "end": 40356, "length": 17, - "parent_index": 2672 + "parent_index": 2898 }, "name_location": { - "line": 1000, + "line": 1110, "column": 21, - "start": 35955, - "end": 35963, + "start": 40348, + "end": 40356, "length": 9, - "parent_index": 2673 + "parent_index": 2899 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2674, + "id": 2900, "node_type": 30, "src": { - "line": 1000, + "line": 1110, "column": 13, - "start": 35947, - "end": 35953, + "start": 40340, + "end": 40346, "length": 7, - "parent_index": 2673 + "parent_index": 2899 }, "name": "uint256", "referenced_declaration": 0, @@ -7556,39 +7703,39 @@ "visibility": 1 }, { - "id": 2675, + "id": 2901, "state_mutability": 1, "name": "reserveOut", "node_type": 44, - "scope": 2671, + "scope": 2897, "src": { - "line": 1000, + "line": 1110, "column": 32, - "start": 35966, - "end": 35983, + "start": 40359, + "end": 40376, "length": 18, - "parent_index": 2672 + "parent_index": 2898 }, "name_location": { - "line": 1000, + "line": 1110, "column": 40, - "start": 35974, - "end": 35983, + "start": 40367, + "end": 40376, "length": 10, - "parent_index": 2675 + "parent_index": 2901 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2676, + "id": 2902, "node_type": 30, "src": { - "line": 1000, + "line": 1110, "column": 32, - "start": 35966, - "end": 35972, + "start": 40359, + "end": 40365, "length": 7, - "parent_index": 2675 + "parent_index": 2901 }, "name": "uint256", "referenced_declaration": 0, @@ -7601,16 +7748,16 @@ } ], "initial_value": { - "id": 2677, + "id": 2903, "node_type": 24, "kind": 24, "src": { - "line": 1000, + "line": 1110, "column": 54, - "start": 35988, - "end": 36121, + "start": 40381, + "end": 40514, "length": 134, - "parent_index": 2672 + "parent_index": 2898 }, "argument_types": [ { @@ -7632,15 +7779,15 @@ ], "arguments": [ { - "id": 2679, + "id": 2905, "node_type": 16, "src": { - "line": 1001, + "line": 1111, "column": 16, - "start": 36017, - "end": 36023, + "start": 40410, + "end": 40416, "length": 7, - "parent_index": 2677 + "parent_index": 2903 }, "name": "factory", "type_description": { @@ -7649,29 +7796,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { - "id": 2680, + "id": 2906, "node_type": 22, "src": { - "line": 1002, + "line": 1112, "column": 16, - "start": 36042, - "end": 36048, + "start": 40435, + "end": 40441, "length": 7, - "parent_index": 2677 + "parent_index": 2903 }, "index_expression": { - "id": 2681, + "id": 2907, "node_type": 16, "src": { - "line": 1002, + "line": 1112, "column": 16, - "start": 36042, - "end": 36045, + "start": 40435, + "end": 40438, "length": 4, - "parent_index": 2680 + "parent_index": 2906 }, "name": "path", "type_description": { @@ -7679,19 +7827,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2682, + "id": 2908, "node_type": 16, "src": { - "line": 1002, + "line": 1112, "column": 21, - "start": 36047, - "end": 36047, + "start": 40440, + "end": 40440, "length": 1, - "parent_index": 2680 + "parent_index": 2906 }, "name": "i", "type_description": { @@ -7699,8 +7848,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -7718,26 +7868,26 @@ } }, { - "id": 2683, + "id": 2909, "node_type": 22, "src": { - "line": 1003, + "line": 1113, "column": 16, - "start": 36067, - "end": 36077, + "start": 40460, + "end": 40470, "length": 11, - "parent_index": 2677 + "parent_index": 2903 }, "index_expression": { - "id": 2684, + "id": 2910, "node_type": 16, "src": { - "line": 1003, + "line": 1113, "column": 16, - "start": 36067, - "end": 36070, + "start": 40460, + "end": 40463, "length": 4, - "parent_index": 2683 + "parent_index": 2909 }, "name": "path", "type_description": { @@ -7745,33 +7895,34 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2685, + "id": 2911, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1003, + "line": 1113, "column": 21, - "start": 36072, - "end": 36076, + "start": 40465, + "end": 40469, "length": 5, - "parent_index": 2683 + "parent_index": 2909 }, "operator": 1, "left_expression": { - "id": 2686, + "id": 2912, "node_type": 16, "src": { - "line": 1003, + "line": 1113, "column": 21, - "start": 36072, - "end": 36072, + "start": 40465, + "end": 40465, "length": 1, - "parent_index": 2685 + "parent_index": 2911 }, "name": "i", "type_description": { @@ -7779,22 +7930,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2687, + "id": 2913, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1003, + "line": 1113, "column": 25, - "start": 36076, - "end": 36076, + "start": 40469, + "end": 40469, "length": 1, - "parent_index": 2685 + "parent_index": 2911 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -7802,7 +7954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -7825,15 +7978,15 @@ } }, { - "id": 2688, + "id": 2914, "node_type": 16, "src": { - "line": 1004, + "line": 1114, "column": 16, - "start": 36096, - "end": 36107, + "start": 40489, + "end": 40500, "length": 12, - "parent_index": 2677 + "parent_index": 2903 }, "name": "pairCodeHash", "type_description": { @@ -7856,19 +8009,20 @@ "type_identifier": "t_[_[$_t_address]$_t_uint256]$", "type_string": "index[address:uint256]" } - ] + ], + "text": "pairCodeHash" } ], "expression": { - "id": 2678, + "id": 2904, "node_type": 16, "src": { - "line": 1000, + "line": 1110, "column": 54, - "start": 35988, - "end": 35998, + "start": 40381, + "end": 40391, "length": 11, - "parent_index": 2677 + "parent_index": 2903 }, "name": "getReserves", "type_description": { @@ -7877,7 +8031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getReserves" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", @@ -7886,49 +8041,49 @@ } }, { - "id": 2689, + "id": 2915, "node_type": 27, "src": { - "line": 1006, + "line": 1116, "column": 12, - "start": 36136, - "end": 36200, + "start": 40529, + "end": 40593, "length": 65, - "parent_index": 2671 + "parent_index": 2897 }, "expression": { - "id": 2690, + "id": 2916, "node_type": 27, "src": { - "line": 1006, + "line": 1116, "column": 12, - "start": 36136, - "end": 36199, + "start": 40529, + "end": 40592, "length": 64, - "parent_index": 2689 + "parent_index": 2915 }, "operator": 11, "left_expression": { - "id": 2691, + "id": 2917, "node_type": 22, "src": { - "line": 1006, + "line": 1116, "column": 12, - "start": 36136, - "end": 36149, + "start": 40529, + "end": 40542, "length": 14, - "parent_index": 2690 + "parent_index": 2916 }, "index_expression": { - "id": 2692, + "id": 2918, "node_type": 16, "src": { - "line": 1006, + "line": 1116, "column": 12, - "start": 36136, - "end": 36142, + "start": 40529, + "end": 40535, "length": 7, - "parent_index": 2691 + "parent_index": 2917 }, "name": "amounts", "type_description": { @@ -7936,33 +8091,34 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "base_expression": { - "id": 2693, + "id": 2919, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1006, + "line": 1116, "column": 20, - "start": 36144, - "end": 36148, + "start": 40537, + "end": 40541, "length": 5, - "parent_index": 2691 + "parent_index": 2917 }, "operator": 1, "left_expression": { - "id": 2694, + "id": 2920, "node_type": 16, "src": { - "line": 1006, + "line": 1116, "column": 20, - "start": 36144, - "end": 36144, + "start": 40537, + "end": 40537, "length": 1, - "parent_index": 2693 + "parent_index": 2919 }, "name": "i", "type_description": { @@ -7970,22 +8126,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2695, + "id": 2921, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1006, + "line": 1116, "column": 24, - "start": 36148, - "end": 36148, + "start": 40541, + "end": 40541, "length": 1, - "parent_index": 2693 + "parent_index": 2919 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -7993,7 +8150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -8016,16 +8174,16 @@ } }, "right_expression": { - "id": 2696, + "id": 2922, "node_type": 24, "kind": 24, "src": { - "line": 1006, + "line": 1116, "column": 29, - "start": 36153, - "end": 36199, + "start": 40546, + "end": 40592, "length": 47, - "parent_index": 2690 + "parent_index": 2916 }, "argument_types": [ { @@ -8043,26 +8201,26 @@ ], "arguments": [ { - "id": 2698, + "id": 2924, "node_type": 22, "src": { - "line": 1006, + "line": 1116, "column": 42, - "start": 36166, - "end": 36175, + "start": 40559, + "end": 40568, "length": 10, - "parent_index": 2696 + "parent_index": 2922 }, "index_expression": { - "id": 2699, + "id": 2925, "node_type": 16, "src": { - "line": 1006, + "line": 1116, "column": 42, - "start": 36166, - "end": 36172, + "start": 40559, + "end": 40565, "length": 7, - "parent_index": 2698 + "parent_index": 2924 }, "name": "amounts", "type_description": { @@ -8070,19 +8228,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "base_expression": { - "id": 2700, + "id": 2926, "node_type": 16, "src": { - "line": 1006, + "line": 1116, "column": 50, - "start": 36174, - "end": 36174, + "start": 40567, + "end": 40567, "length": 1, - "parent_index": 2698 + "parent_index": 2924 }, "name": "i", "type_description": { @@ -8090,8 +8249,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -8109,15 +8269,15 @@ } }, { - "id": 2701, + "id": 2927, "node_type": 16, "src": { - "line": 1006, + "line": 1116, "column": 54, - "start": 36178, - "end": 36186, + "start": 40571, + "end": 40579, "length": 9, - "parent_index": 2696 + "parent_index": 2922 }, "name": "reserveIn", "type_description": { @@ -8125,25 +8285,26 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2672, + "referenced_declaration": 2898, "is_pure": false, "argument_types": [ { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" } - ] + ], + "text": "reserveIn" }, { - "id": 2702, + "id": 2928, "node_type": 16, "src": { - "line": 1006, + "line": 1116, "column": 65, - "start": 36189, - "end": 36198, + "start": 40582, + "end": 40591, "length": 10, - "parent_index": 2696 + "parent_index": 2922 }, "name": "reserveOut", "type_description": { @@ -8151,7 +8312,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2672, + "referenced_declaration": 2898, "is_pure": false, "argument_types": [ { @@ -8162,19 +8323,20 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOut" } ], "expression": { - "id": 2697, + "id": 2923, "node_type": 16, "src": { - "line": 1006, + "line": 1116, "column": 29, - "start": 36153, - "end": 36164, + "start": 40546, + "end": 40557, "length": 12, - "parent_index": 2696 + "parent_index": 2922 }, "name": "getAmountOut", "type_description": { @@ -8183,7 +8345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAmountOut" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", @@ -8198,7 +8361,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "amounts[i+1]=getAmountOut(amounts[i],reserveIn,reserveOut);" } ] } @@ -8212,40 +8376,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2625, + "id": 2851, "node_type": 43, "src": { - "line": 991, + "line": 1101, "column": 8, - "start": 35576, - "end": 35677, + "start": 39969, + "end": 40070, "length": 102, - "parent_index": 2624 + "parent_index": 2850 }, "parameters": [ { - "id": 2626, + "id": 2852, "node_type": 44, "src": { - "line": 991, + "line": 1101, "column": 8, - "start": 35576, - "end": 35590, + "start": 39969, + "end": 39983, "length": 15, - "parent_index": 2625 + "parent_index": 2851 }, - "scope": 2624, + "scope": 2850, "name": "factory", "type_name": { - "id": 2627, + "id": 2853, "node_type": 30, "src": { - "line": 991, + "line": 1101, "column": 8, - "start": 35576, - "end": 35582, + "start": 39969, + "end": 39975, "length": 7, - "parent_index": 2626 + "parent_index": 2852 }, "name": "address", "state_mutability": 4, @@ -8264,28 +8428,28 @@ } }, { - "id": 2628, + "id": 2854, "node_type": 44, "src": { - "line": 992, + "line": 1102, "column": 8, - "start": 35601, - "end": 35616, + "start": 39994, + "end": 40009, "length": 16, - "parent_index": 2625 + "parent_index": 2851 }, - "scope": 2624, + "scope": 2850, "name": "amountIn", "type_name": { - "id": 2629, + "id": 2855, "node_type": 30, "src": { - "line": 992, + "line": 1102, "column": 8, - "start": 35601, - "end": 35607, + "start": 39994, + "end": 40000, "length": 7, - "parent_index": 2628 + "parent_index": 2854 }, "name": "uint256", "referenced_declaration": 0, @@ -8303,28 +8467,28 @@ } }, { - "id": 2630, + "id": 2856, "node_type": 44, "src": { - "line": 993, + "line": 1103, "column": 8, - "start": 35627, - "end": 35647, + "start": 40020, + "end": 40040, "length": 21, - "parent_index": 2625 + "parent_index": 2851 }, - "scope": 2624, + "scope": 2850, "name": "path", "type_name": { - "id": 2631, + "id": 2857, "node_type": 16, "src": { - "line": 993, + "line": 1103, "column": 8, - "start": 35627, - "end": 35633, + "start": 40020, + "end": 40026, "length": 7, - "parent_index": 2630 + "parent_index": 2856 }, "name": "address", "referenced_declaration": 0, @@ -8342,28 +8506,28 @@ } }, { - "id": 2632, + "id": 2858, "node_type": 44, "src": { - "line": 994, + "line": 1104, "column": 8, - "start": 35658, - "end": 35677, + "start": 40051, + "end": 40070, "length": 20, - "parent_index": 2625 + "parent_index": 2851 }, - "scope": 2624, + "scope": 2850, "name": "pairCodeHash", "type_name": { - "id": 2633, + "id": 2859, "node_type": 30, "src": { - "line": 994, + "line": 1104, "column": 8, - "start": 35658, - "end": 35664, + "start": 40051, + "end": 40057, "length": 7, - "parent_index": 2632 + "parent_index": 2858 }, "name": "bytes32", "referenced_declaration": 0, @@ -8401,40 +8565,40 @@ ] }, "return_parameters": { - "id": 2634, + "id": 2860, "node_type": 43, "src": { - "line": 995, + "line": 1105, "column": 29, - "start": 35708, - "end": 35731, + "start": 40101, + "end": 40124, "length": 24, - "parent_index": 2624 + "parent_index": 2850 }, "parameters": [ { - "id": 2635, + "id": 2861, "node_type": 44, "src": { - "line": 995, + "line": 1105, "column": 29, - "start": 35708, - "end": 35731, + "start": 40101, + "end": 40124, "length": 24, - "parent_index": 2634 + "parent_index": 2860 }, - "scope": 2624, + "scope": 2850, "name": "amounts", "type_name": { - "id": 2636, + "id": 2862, "node_type": 16, "src": { - "line": 995, + "line": 1105, "column": 29, - "start": 35708, - "end": 35714, + "start": 40101, + "end": 40107, "length": 7, - "parent_index": 2635 + "parent_index": 2861 }, "name": "uint256", "referenced_declaration": 0, @@ -8459,60 +8623,61 @@ } ] }, - "signature_raw": "getAmountsOut(address, uint256, address, bytes32)", - "signature": "ce79344e", - "scope": 2309, + "signature_raw": "getAmountsOut(address,uint256,address,bytes32)", + "signature": "3f0b56bd", + "scope": 2535, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", "type_string": "function(address,uint256,address,bytes32)" - } + }, + "text": "functiongetAmountsOut(addressfactory,uint256amountIn,address[]memorypath,bytes32pairCodeHash)internalviewreturns(uint256[]memoryamounts){require(path.length\u003e=2,\"UniswapV2Library: INVALID_PATH\");amounts=newuint256[](path.length);amounts[0]=amountIn;for(uint256i;i\u003cpath.length-1;i++){(uint256reserveIn,uint256reserveOut)=getReserves(factory,path[i],path[i+1],pairCodeHash);amounts[i+1]=getAmountOut(amounts[i],reserveIn,reserveOut);}}" }, { - "id": 2704, + "id": 2930, "name": "getAmountsIn", "node_type": 42, "kind": 41, "src": { - "line": 1011, + "line": 1121, "column": 4, - "start": 36295, - "end": 36988, + "start": 40688, + "end": 41381, "length": 694, - "parent_index": 2309 + "parent_index": 2535 }, "name_location": { - "line": 1011, + "line": 1121, "column": 13, - "start": 36304, - "end": 36315, + "start": 40697, + "end": 40708, "length": 12, - "parent_index": 2704 + "parent_index": 2930 }, "body": { - "id": 2717, + "id": 2943, "node_type": 46, "kind": 0, "src": { - "line": 1016, + "line": 1126, "column": 55, - "start": 36485, - "end": 36988, + "start": 40878, + "end": 41381, "length": 504, - "parent_index": 2704 + "parent_index": 2930 }, "implemented": true, "statements": [ { - "id": 2718, + "id": 2944, "node_type": 24, "kind": 24, "src": { - "line": 1017, + "line": 1127, "column": 8, - "start": 36495, - "end": 36553, + "start": 40888, + "end": 40946, "length": 59, - "parent_index": 2717 + "parent_index": 2943 }, "argument_types": [ { @@ -8526,52 +8691,52 @@ ], "arguments": [ { - "id": 2720, + "id": 2946, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1017, + "line": 1127, "column": 16, - "start": 36503, - "end": 36518, + "start": 40896, + "end": 40911, "length": 16, - "parent_index": 2718 + "parent_index": 2944 }, "operator": 8, "left_expression": { - "id": 2721, + "id": 2947, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1017, + "line": 1127, "column": 16, - "start": 36503, - "end": 36513, + "start": 40896, + "end": 40906, "length": 11, - "parent_index": 2720 + "parent_index": 2946 }, "member_location": { - "line": 1017, + "line": 1127, "column": 21, - "start": 36508, - "end": 36513, + "start": 40901, + "end": 40906, "length": 6, - "parent_index": 2721 + "parent_index": 2947 }, "expression": { - "id": 2722, + "id": 2948, "node_type": 16, "src": { - "line": 1017, + "line": 1127, "column": 16, - "start": 36503, - "end": 36506, + "start": 40896, + "end": 40899, "length": 4, - "parent_index": 2721 + "parent_index": 2947 }, "name": "path", "type_description": { @@ -8579,29 +8744,31 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2722, - "is_pure": false + "referenced_declaration": 2948, + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { - "id": 2723, + "id": 2949, "node_type": 17, "kind": 49, "value": "2", "hex_value": "32", "src": { - "line": 1017, + "line": 1127, "column": 31, - "start": 36518, - "end": 36518, + "start": 40911, + "end": 40911, "length": 1, - "parent_index": 2720 + "parent_index": 2946 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -8609,7 +8776,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_bool", @@ -8617,18 +8785,18 @@ } }, { - "id": 2724, + "id": 2950, "node_type": 17, "kind": 50, "value": "UniswapV2Library: INVALID_PATH", "hex_value": "556e697377617056324c6962726172793a20494e56414c49445f50415448", "src": { - "line": 1017, + "line": 1127, "column": 34, - "start": 36521, - "end": 36552, + "start": 40914, + "end": 40945, "length": 32, - "parent_index": 2718 + "parent_index": 2944 }, "type_description": { "type_identifier": "t_string_literal", @@ -8642,19 +8810,20 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"UniswapV2Library: INVALID_PATH\"" } ], "expression": { - "id": 2719, + "id": 2945, "node_type": 16, "src": { - "line": 1017, + "line": 1127, "column": 8, - "start": 36495, - "end": 36501, + "start": 40888, + "end": 40894, "length": 7, - "parent_index": 2718 + "parent_index": 2944 }, "name": "require", "type_description": { @@ -8663,7 +8832,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8671,38 +8841,38 @@ } }, { - "id": 2725, + "id": 2951, "node_type": 27, "src": { - "line": 1018, + "line": 1128, "column": 8, - "start": 36564, - "end": 36600, + "start": 40957, + "end": 40993, "length": 37, - "parent_index": 2717 + "parent_index": 2943 }, "expression": { - "id": 2726, + "id": 2952, "node_type": 27, "src": { - "line": 1018, + "line": 1128, "column": 8, - "start": 36564, - "end": 36599, + "start": 40957, + "end": 40992, "length": 36, - "parent_index": 2725 + "parent_index": 2951 }, "operator": 11, "left_expression": { - "id": 2727, + "id": 2953, "node_type": 16, "src": { - "line": 1018, + "line": 1128, "column": 8, - "start": 36564, - "end": 36570, + "start": 40957, + "end": 40963, "length": 7, - "parent_index": 2726 + "parent_index": 2952 }, "name": "amounts", "type_description": { @@ -8710,20 +8880,21 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "right_expression": { - "id": 2728, + "id": 2954, "node_type": 24, "kind": 24, "src": { - "line": 1018, + "line": 1128, "column": 18, - "start": 36574, - "end": 36599, + "start": 40967, + "end": 40992, "length": 26, - "parent_index": 2726 + "parent_index": 2952 }, "argument_types": [ { @@ -8733,38 +8904,38 @@ ], "arguments": [ { - "id": 2731, + "id": 2957, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1018, + "line": 1128, "column": 32, - "start": 36588, - "end": 36598, + "start": 40981, + "end": 40991, "length": 11, - "parent_index": 2728 + "parent_index": 2954 }, "member_location": { - "line": 1018, + "line": 1128, "column": 37, - "start": 36593, - "end": 36598, + "start": 40986, + "end": 40991, "length": 6, - "parent_index": 2731 + "parent_index": 2957 }, "expression": { - "id": 2732, + "id": 2958, "node_type": 16, "src": { - "line": 1018, + "line": 1128, "column": 32, - "start": 36588, - "end": 36591, + "start": 40981, + "end": 40984, "length": 4, - "parent_index": 2731 + "parent_index": 2957 }, "name": "path", "type_description": { @@ -8772,39 +8943,41 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2732, - "is_pure": false + "referenced_declaration": 2958, + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" } ], "expression": { - "id": 2729, + "id": 2955, "node_type": 25, "src": { - "line": 1018, + "line": 1128, "column": 18, - "start": 36574, - "end": 36586, + "start": 40967, + "end": 40979, "length": 13, - "parent_index": 2728 + "parent_index": 2954 }, "argument_types": [], "type_name": { - "id": 2730, + "id": 2956, "node_type": 16, "src": { - "line": 1018, + "line": 1128, "column": 22, - "start": 36578, - "end": 36584, + "start": 40971, + "end": 40977, "length": 7, - "parent_index": 2729 + "parent_index": 2955 }, "name": "uint256", "referenced_declaration": 0, @@ -8831,52 +9004,53 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts=newuint256[](path.length);" }, { - "id": 2733, + "id": 2959, "node_type": 27, "src": { - "line": 1019, + "line": 1129, "column": 8, - "start": 36610, - "end": 36649, + "start": 41003, + "end": 41042, "length": 40, - "parent_index": 2717 + "parent_index": 2943 }, "expression": { - "id": 2734, + "id": 2960, "node_type": 27, "src": { - "line": 1019, + "line": 1129, "column": 8, - "start": 36610, - "end": 36648, + "start": 41003, + "end": 41041, "length": 39, - "parent_index": 2733 + "parent_index": 2959 }, "operator": 11, "left_expression": { - "id": 2735, + "id": 2961, "node_type": 22, "src": { - "line": 1019, + "line": 1129, "column": 8, - "start": 36610, - "end": 36636, + "start": 41003, + "end": 41029, "length": 27, - "parent_index": 2734 + "parent_index": 2960 }, "index_expression": { - "id": 2736, + "id": 2962, "node_type": 16, "src": { - "line": 1019, + "line": 1129, "column": 8, - "start": 36610, - "end": 36616, + "start": 41003, + "end": 41009, "length": 7, - "parent_index": 2735 + "parent_index": 2961 }, "name": "amounts", "type_description": { @@ -8884,56 +9058,57 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "base_expression": { - "id": 2737, + "id": 2963, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1019, + "line": 1129, "column": 16, - "start": 36618, - "end": 36635, + "start": 41011, + "end": 41028, "length": 18, - "parent_index": 2735 + "parent_index": 2961 }, "operator": 2, "left_expression": { - "id": 2738, + "id": 2964, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1019, + "line": 1129, "column": 16, - "start": 36618, - "end": 36631, + "start": 41011, + "end": 41024, "length": 14, - "parent_index": 2737 + "parent_index": 2963 }, "member_location": { - "line": 1019, + "line": 1129, "column": 24, - "start": 36626, - "end": 36631, + "start": 41019, + "end": 41024, "length": 6, - "parent_index": 2738 + "parent_index": 2964 }, "expression": { - "id": 2739, + "id": 2965, "node_type": 16, "src": { - "line": 1019, + "line": 1129, "column": 16, - "start": 36618, - "end": 36624, + "start": 41011, + "end": 41017, "length": 7, - "parent_index": 2738 + "parent_index": 2964 }, "name": "amounts", "type_description": { @@ -8941,29 +9116,31 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "amounts.length" }, "right_expression": { - "id": 2740, + "id": 2966, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1019, + "line": 1129, "column": 33, - "start": 36635, - "end": 36635, + "start": 41028, + "end": 41028, "length": 1, - "parent_index": 2737 + "parent_index": 2963 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -8971,7 +9148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -8994,15 +9172,15 @@ } }, "right_expression": { - "id": 2741, + "id": 2967, "node_type": 16, "src": { - "line": 1019, + "line": 1129, "column": 38, - "start": 36640, - "end": 36648, + "start": 41033, + "end": 41041, "length": 9, - "parent_index": 2734 + "parent_index": 2960 }, "name": "amountOut", "type_description": { @@ -9010,8 +9188,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2741, - "is_pure": false + "referenced_declaration": 2967, + "is_pure": false, + "text": "amountOut" }, "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", @@ -9021,68 +9200,69 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "amounts[amounts.length-1]=amountOut;" }, { - "id": 2742, + "id": 2968, "node_type": 79, "src": { - "line": 1020, + "line": 1130, "column": 0, - "start": 36659, - "end": 36982, + "start": 41052, + "end": 41375, "length": 324, - "parent_index": 2717 + "parent_index": 2943 }, "initialiser": { - "id": 2743, + "id": 2969, "node_type": 44, "src": { - "line": 1020, + "line": 1130, "column": 13, - "start": 36664, - "end": 36691, + "start": 41057, + "end": 41084, "length": 28, - "parent_index": 2717 + "parent_index": 2943 }, "assignments": [ - 2744 + 2970 ], "declarations": [ { - "id": 2744, + "id": 2970, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 2717, + "scope": 2943, "src": { - "line": 1020, + "line": 1130, "column": 13, - "start": 36664, - "end": 36672, + "start": 41057, + "end": 41065, "length": 9, - "parent_index": 2743 + "parent_index": 2969 }, "name_location": { - "line": 1020, + "line": 1130, "column": 21, - "start": 36672, - "end": 36672, + "start": 41065, + "end": 41065, "length": 1, - "parent_index": 2744 + "parent_index": 2970 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2745, + "id": 2971, "node_type": 30, "src": { - "line": 1020, + "line": 1130, "column": 13, - "start": 36664, - "end": 36670, + "start": 41057, + "end": 41063, "length": 7, - "parent_index": 2744 + "parent_index": 2970 }, "name": "uint256", "referenced_declaration": 0, @@ -9095,52 +9275,52 @@ } ], "initial_value": { - "id": 2746, + "id": 2972, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1020, + "line": 1130, "column": 25, - "start": 36676, - "end": 36690, + "start": 41069, + "end": 41083, "length": 15, - "parent_index": 2743 + "parent_index": 2969 }, "operator": 2, "left_expression": { - "id": 2747, + "id": 2973, "is_constant": false, "is_l_value": false, "is_pure": false, "l_value_requested": false, "node_type": 23, "src": { - "line": 1020, + "line": 1130, "column": 25, - "start": 36676, - "end": 36686, + "start": 41069, + "end": 41079, "length": 11, - "parent_index": 2743 + "parent_index": 2969 }, "member_location": { - "line": 1020, + "line": 1130, "column": 30, - "start": 36681, - "end": 36686, + "start": 41074, + "end": 41079, "length": 6, - "parent_index": 2747 + "parent_index": 2973 }, "expression": { - "id": 2748, + "id": 2974, "node_type": 16, "src": { - "line": 1020, + "line": 1130, "column": 25, - "start": 36676, - "end": 36679, + "start": 41069, + "end": 41072, "length": 4, - "parent_index": 2747 + "parent_index": 2973 }, "name": "path", "type_description": { @@ -9148,29 +9328,31 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2748, - "is_pure": false + "referenced_declaration": 2974, + "is_pure": false, + "text": "path" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "path.length" }, "right_expression": { - "id": 2749, + "id": 2975, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1020, + "line": 1130, "column": 39, - "start": 36690, - "end": 36690, + "start": 41083, + "end": 41083, "length": 1, - "parent_index": 2746 + "parent_index": 2972 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -9178,7 +9360,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_address", @@ -9187,29 +9370,29 @@ } }, "condition": { - "id": 2750, + "id": 2976, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1020, + "line": 1130, "column": 42, - "start": 36693, - "end": 36697, + "start": 41086, + "end": 41090, "length": 5, - "parent_index": 2742 + "parent_index": 2968 }, "operator": 7, "left_expression": { - "id": 2751, + "id": 2977, "node_type": 16, "src": { - "line": 1020, + "line": 1130, "column": 42, - "start": 36693, - "end": 36693, + "start": 41086, + "end": 41086, "length": 1, - "parent_index": 2750 + "parent_index": 2976 }, "name": "i", "type_description": { @@ -9217,22 +9400,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2752, + "id": 2978, "node_type": 17, "kind": 49, "value": "0", "hex_value": "30", "src": { - "line": 1020, + "line": 1130, "column": 46, - "start": 36697, - "end": 36697, + "start": 41090, + "end": 41090, "length": 1, - "parent_index": 2750 + "parent_index": 2976 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -9240,7 +9424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9248,28 +9433,28 @@ } }, "closure": { - "id": 2753, + "id": 2979, "node_type": 18, "kind": 105, "src": { - "line": 1020, + "line": 1130, "column": 49, - "start": 36700, - "end": 36702, + "start": 41093, + "end": 41095, "length": 3, - "parent_index": 2704 + "parent_index": 2930 }, "operator": 28, "expression": { - "id": 2754, + "id": 2980, "node_type": 16, "src": { - "line": 1020, + "line": 1130, "column": 49, - "start": 36700, - "end": 36700, + "start": 41093, + "end": 41093, "length": 1, - "parent_index": 2753 + "parent_index": 2979 }, "name": "i", "type_description": { @@ -9277,8 +9462,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -9291,69 +9477,69 @@ "l_value_requested": false }, "body": { - "id": 2755, + "id": 2981, "node_type": 46, "kind": 0, "src": { - "line": 1020, + "line": 1130, "column": 54, - "start": 36705, - "end": 36982, + "start": 41098, + "end": 41375, "length": 278, - "parent_index": 2742 + "parent_index": 2968 }, "implemented": true, "statements": [ { - "id": 2756, + "id": 2982, "node_type": 44, "src": { - "line": 1021, + "line": 1131, "column": 12, - "start": 36719, - "end": 36895, + "start": 41112, + "end": 41288, "length": 177, - "parent_index": 2755 + "parent_index": 2981 }, "assignments": [ - 2757, - 2759 + 2983, + 2985 ], "declarations": [ { - "id": 2757, + "id": 2983, "state_mutability": 1, "name": "reserveIn", "node_type": 44, - "scope": 2755, + "scope": 2981, "src": { - "line": 1021, + "line": 1131, "column": 13, - "start": 36720, - "end": 36736, + "start": 41113, + "end": 41129, "length": 17, - "parent_index": 2756 + "parent_index": 2982 }, "name_location": { - "line": 1021, + "line": 1131, "column": 21, - "start": 36728, - "end": 36736, + "start": 41121, + "end": 41129, "length": 9, - "parent_index": 2757 + "parent_index": 2983 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2758, + "id": 2984, "node_type": 30, "src": { - "line": 1021, + "line": 1131, "column": 13, - "start": 36720, - "end": 36726, + "start": 41113, + "end": 41119, "length": 7, - "parent_index": 2757 + "parent_index": 2983 }, "name": "uint256", "referenced_declaration": 0, @@ -9365,39 +9551,39 @@ "visibility": 1 }, { - "id": 2759, + "id": 2985, "state_mutability": 1, "name": "reserveOut", "node_type": 44, - "scope": 2755, + "scope": 2981, "src": { - "line": 1021, + "line": 1131, "column": 32, - "start": 36739, - "end": 36756, + "start": 41132, + "end": 41149, "length": 18, - "parent_index": 2756 + "parent_index": 2982 }, "name_location": { - "line": 1021, + "line": 1131, "column": 40, - "start": 36747, - "end": 36756, + "start": 41140, + "end": 41149, "length": 10, - "parent_index": 2759 + "parent_index": 2985 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 2760, + "id": 2986, "node_type": 30, "src": { - "line": 1021, + "line": 1131, "column": 32, - "start": 36739, - "end": 36745, + "start": 41132, + "end": 41138, "length": 7, - "parent_index": 2759 + "parent_index": 2985 }, "name": "uint256", "referenced_declaration": 0, @@ -9410,16 +9596,16 @@ } ], "initial_value": { - "id": 2761, + "id": 2987, "node_type": 24, "kind": 24, "src": { - "line": 1021, + "line": 1131, "column": 54, - "start": 36761, - "end": 36894, + "start": 41154, + "end": 41287, "length": 134, - "parent_index": 2756 + "parent_index": 2982 }, "argument_types": [ { @@ -9441,15 +9627,15 @@ ], "arguments": [ { - "id": 2763, + "id": 2989, "node_type": 16, "src": { - "line": 1022, + "line": 1132, "column": 16, - "start": 36790, - "end": 36796, + "start": 41183, + "end": 41189, "length": 7, - "parent_index": 2761 + "parent_index": 2987 }, "name": "factory", "type_description": { @@ -9458,29 +9644,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "factory" }, { - "id": 2764, + "id": 2990, "node_type": 22, "src": { - "line": 1023, + "line": 1133, "column": 16, - "start": 36815, - "end": 36825, + "start": 41208, + "end": 41218, "length": 11, - "parent_index": 2761 + "parent_index": 2987 }, "index_expression": { - "id": 2765, + "id": 2991, "node_type": 16, "src": { - "line": 1023, + "line": 1133, "column": 16, - "start": 36815, - "end": 36818, + "start": 41208, + "end": 41211, "length": 4, - "parent_index": 2764 + "parent_index": 2990 }, "name": "path", "type_description": { @@ -9488,33 +9675,34 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2766, + "id": 2992, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1023, + "line": 1133, "column": 21, - "start": 36820, - "end": 36824, + "start": 41213, + "end": 41217, "length": 5, - "parent_index": 2764 + "parent_index": 2990 }, "operator": 2, "left_expression": { - "id": 2767, + "id": 2993, "node_type": 16, "src": { - "line": 1023, + "line": 1133, "column": 21, - "start": 36820, - "end": 36820, + "start": 41213, + "end": 41213, "length": 1, - "parent_index": 2766 + "parent_index": 2992 }, "name": "i", "type_description": { @@ -9522,22 +9710,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2768, + "id": 2994, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1023, + "line": 1133, "column": 25, - "start": 36824, - "end": 36824, + "start": 41217, + "end": 41217, "length": 1, - "parent_index": 2766 + "parent_index": 2992 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -9545,7 +9734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -9568,26 +9758,26 @@ } }, { - "id": 2769, + "id": 2995, "node_type": 22, "src": { - "line": 1024, + "line": 1134, "column": 16, - "start": 36844, - "end": 36850, + "start": 41237, + "end": 41243, "length": 7, - "parent_index": 2761 + "parent_index": 2987 }, "index_expression": { - "id": 2770, + "id": 2996, "node_type": 16, "src": { - "line": 1024, + "line": 1134, "column": 16, - "start": 36844, - "end": 36847, + "start": 41237, + "end": 41240, "length": 4, - "parent_index": 2769 + "parent_index": 2995 }, "name": "path", "type_description": { @@ -9595,19 +9785,20 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 2630, - "is_pure": false + "referenced_declaration": 2856, + "is_pure": false, + "text": "path" }, "base_expression": { - "id": 2771, + "id": 2997, "node_type": 16, "src": { - "line": 1024, + "line": 1134, "column": 21, - "start": 36849, - "end": 36849, + "start": 41242, + "end": 41242, "length": 1, - "parent_index": 2769 + "parent_index": 2995 }, "name": "i", "type_description": { @@ -9615,8 +9806,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -9634,15 +9826,15 @@ } }, { - "id": 2772, + "id": 2998, "node_type": 16, "src": { - "line": 1025, + "line": 1135, "column": 16, - "start": 36869, - "end": 36880, + "start": 41262, + "end": 41273, "length": 12, - "parent_index": 2761 + "parent_index": 2987 }, "name": "pairCodeHash", "type_description": { @@ -9665,19 +9857,20 @@ "type_identifier": "t_[_[$_t_address]$_t_uint256]$", "type_string": "index[address:uint256]" } - ] + ], + "text": "pairCodeHash" } ], "expression": { - "id": 2762, + "id": 2988, "node_type": 16, "src": { - "line": 1021, + "line": 1131, "column": 54, - "start": 36761, - "end": 36771, + "start": 41154, + "end": 41164, "length": 11, - "parent_index": 2761 + "parent_index": 2987 }, "name": "getReserves", "type_description": { @@ -9686,7 +9879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getReserves" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$_t_function_$_t_function_$_t_[_[$_t_address]$_t_uint256]$_t_[_[$_t_address]$_t_uint256]$", @@ -9695,49 +9889,49 @@ } }, { - "id": 2773, + "id": 2999, "node_type": 27, "src": { - "line": 1027, + "line": 1137, "column": 12, - "start": 36909, - "end": 36972, + "start": 41302, + "end": 41365, "length": 64, - "parent_index": 2755 + "parent_index": 2981 }, "expression": { - "id": 2774, + "id": 3000, "node_type": 27, "src": { - "line": 1027, + "line": 1137, "column": 12, - "start": 36909, - "end": 36971, + "start": 41302, + "end": 41364, "length": 63, - "parent_index": 2773 + "parent_index": 2999 }, "operator": 11, "left_expression": { - "id": 2775, + "id": 3001, "node_type": 22, "src": { - "line": 1027, + "line": 1137, "column": 12, - "start": 36909, - "end": 36922, + "start": 41302, + "end": 41315, "length": 14, - "parent_index": 2774 + "parent_index": 3000 }, "index_expression": { - "id": 2776, + "id": 3002, "node_type": 16, "src": { - "line": 1027, + "line": 1137, "column": 12, - "start": 36909, - "end": 36915, + "start": 41302, + "end": 41308, "length": 7, - "parent_index": 2775 + "parent_index": 3001 }, "name": "amounts", "type_description": { @@ -9745,33 +9939,34 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "base_expression": { - "id": 2777, + "id": 3003, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 1027, + "line": 1137, "column": 20, - "start": 36917, - "end": 36921, + "start": 41310, + "end": 41314, "length": 5, - "parent_index": 2775 + "parent_index": 3001 }, "operator": 2, "left_expression": { - "id": 2778, + "id": 3004, "node_type": 16, "src": { - "line": 1027, + "line": 1137, "column": 20, - "start": 36917, - "end": 36917, + "start": 41310, + "end": 41310, "length": 1, - "parent_index": 2777 + "parent_index": 3003 }, "name": "i", "type_description": { @@ -9779,22 +9974,23 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 2779, + "id": 3005, "node_type": 17, "kind": 49, "value": "1", "hex_value": "31", "src": { - "line": 1027, + "line": 1137, "column": 24, - "start": 36921, - "end": 36921, + "start": 41314, + "end": 41314, "length": 1, - "parent_index": 2777 + "parent_index": 3003 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -9802,7 +9998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -9825,16 +10022,16 @@ } }, "right_expression": { - "id": 2780, + "id": 3006, "node_type": 24, "kind": 24, "src": { - "line": 1027, + "line": 1137, "column": 29, - "start": 36926, - "end": 36971, + "start": 41319, + "end": 41364, "length": 46, - "parent_index": 2774 + "parent_index": 3000 }, "argument_types": [ { @@ -9852,26 +10049,26 @@ ], "arguments": [ { - "id": 2782, + "id": 3008, "node_type": 22, "src": { - "line": 1027, + "line": 1137, "column": 41, - "start": 36938, - "end": 36947, + "start": 41331, + "end": 41340, "length": 10, - "parent_index": 2780 + "parent_index": 3006 }, "index_expression": { - "id": 2783, + "id": 3009, "node_type": 16, "src": { - "line": 1027, + "line": 1137, "column": 41, - "start": 36938, - "end": 36944, + "start": 41331, + "end": 41337, "length": 7, - "parent_index": 2782 + "parent_index": 3008 }, "name": "amounts", "type_description": { @@ -9879,19 +10076,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2635, - "is_pure": false + "referenced_declaration": 2861, + "is_pure": false, + "text": "amounts" }, "base_expression": { - "id": 2784, + "id": 3010, "node_type": 16, "src": { - "line": 1027, + "line": 1137, "column": 49, - "start": 36946, - "end": 36946, + "start": 41339, + "end": 41339, "length": 1, - "parent_index": 2782 + "parent_index": 3008 }, "name": "i", "type_description": { @@ -9899,8 +10097,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2660, - "is_pure": false + "referenced_declaration": 2886, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -9918,15 +10117,15 @@ } }, { - "id": 2785, + "id": 3011, "node_type": 16, "src": { - "line": 1027, + "line": 1137, "column": 53, - "start": 36950, - "end": 36958, + "start": 41343, + "end": 41351, "length": 9, - "parent_index": 2780 + "parent_index": 3006 }, "name": "reserveIn", "type_description": { @@ -9934,25 +10133,26 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2756, + "referenced_declaration": 2982, "is_pure": false, "argument_types": [ { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" } - ] + ], + "text": "reserveIn" }, { - "id": 2786, + "id": 3012, "node_type": 16, "src": { - "line": 1027, + "line": 1137, "column": 64, - "start": 36961, - "end": 36970, + "start": 41354, + "end": 41363, "length": 10, - "parent_index": 2780 + "parent_index": 3006 }, "name": "reserveOut", "type_description": { @@ -9960,7 +10160,7 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 2756, + "referenced_declaration": 2982, "is_pure": false, "argument_types": [ { @@ -9971,19 +10171,20 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "reserveOut" } ], "expression": { - "id": 2781, + "id": 3007, "node_type": 16, "src": { - "line": 1027, + "line": 1137, "column": 29, - "start": 36926, - "end": 36936, + "start": 41319, + "end": 41329, "length": 11, - "parent_index": 2780 + "parent_index": 3006 }, "name": "getAmountIn", "type_description": { @@ -9992,7 +10193,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "getAmountIn" }, "type_description": { "type_identifier": "t_function_$_t_[_[$_t_uint256]$_t_uint256]$_t_uint256$_t_uint256$", @@ -10007,7 +10209,8 @@ "type_description": { "type_identifier": "t_[_[$_t_uint256]$_t_uint256]$", "type_string": "index[uint256:uint256]" - } + }, + "text": "amounts[i-1]=getAmountIn(amounts[i],reserveIn,reserveOut);" } ] } @@ -10021,40 +10224,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 2705, + "id": 2931, "node_type": 43, "src": { - "line": 1012, + "line": 1122, "column": 8, - "start": 36326, - "end": 36428, + "start": 40719, + "end": 40821, "length": 103, - "parent_index": 2704 + "parent_index": 2930 }, "parameters": [ { - "id": 2706, + "id": 2932, "node_type": 44, "src": { - "line": 1012, + "line": 1122, "column": 8, - "start": 36326, - "end": 36340, + "start": 40719, + "end": 40733, "length": 15, - "parent_index": 2705 + "parent_index": 2931 }, - "scope": 2704, + "scope": 2930, "name": "factory", "type_name": { - "id": 2707, + "id": 2933, "node_type": 30, "src": { - "line": 1012, + "line": 1122, "column": 8, - "start": 36326, - "end": 36332, + "start": 40719, + "end": 40725, "length": 7, - "parent_index": 2706 + "parent_index": 2932 }, "name": "address", "state_mutability": 4, @@ -10073,28 +10276,28 @@ } }, { - "id": 2708, + "id": 2934, "node_type": 44, "src": { - "line": 1013, + "line": 1123, "column": 8, - "start": 36351, - "end": 36367, + "start": 40744, + "end": 40760, "length": 17, - "parent_index": 2705 + "parent_index": 2931 }, - "scope": 2704, + "scope": 2930, "name": "amountOut", "type_name": { - "id": 2709, + "id": 2935, "node_type": 30, "src": { - "line": 1013, + "line": 1123, "column": 8, - "start": 36351, - "end": 36357, + "start": 40744, + "end": 40750, "length": 7, - "parent_index": 2708 + "parent_index": 2934 }, "name": "uint256", "referenced_declaration": 0, @@ -10112,28 +10315,28 @@ } }, { - "id": 2710, + "id": 2936, "node_type": 44, "src": { - "line": 1014, + "line": 1124, "column": 8, - "start": 36378, - "end": 36398, + "start": 40771, + "end": 40791, "length": 21, - "parent_index": 2705 + "parent_index": 2931 }, - "scope": 2704, + "scope": 2930, "name": "path", "type_name": { - "id": 2711, + "id": 2937, "node_type": 16, "src": { - "line": 1014, + "line": 1124, "column": 8, - "start": 36378, - "end": 36384, + "start": 40771, + "end": 40777, "length": 7, - "parent_index": 2710 + "parent_index": 2936 }, "name": "address", "referenced_declaration": 0, @@ -10151,28 +10354,28 @@ } }, { - "id": 2712, + "id": 2938, "node_type": 44, "src": { - "line": 1015, + "line": 1125, "column": 8, - "start": 36409, - "end": 36428, + "start": 40802, + "end": 40821, "length": 20, - "parent_index": 2705 + "parent_index": 2931 }, - "scope": 2704, + "scope": 2930, "name": "pairCodeHash", "type_name": { - "id": 2713, + "id": 2939, "node_type": 30, "src": { - "line": 1015, + "line": 1125, "column": 8, - "start": 36409, - "end": 36415, + "start": 40802, + "end": 40808, "length": 7, - "parent_index": 2712 + "parent_index": 2938 }, "name": "bytes32", "referenced_declaration": 0, @@ -10210,40 +10413,40 @@ ] }, "return_parameters": { - "id": 2714, + "id": 2940, "node_type": 43, "src": { - "line": 1016, + "line": 1126, "column": 29, - "start": 36459, - "end": 36482, + "start": 40852, + "end": 40875, "length": 24, - "parent_index": 2704 + "parent_index": 2930 }, "parameters": [ { - "id": 2715, + "id": 2941, "node_type": 44, "src": { - "line": 1016, + "line": 1126, "column": 29, - "start": 36459, - "end": 36482, + "start": 40852, + "end": 40875, "length": 24, - "parent_index": 2714 + "parent_index": 2940 }, - "scope": 2704, + "scope": 2930, "name": "amounts", "type_name": { - "id": 2716, + "id": 2942, "node_type": 16, "src": { - "line": 1016, + "line": 1126, "column": 29, - "start": 36459, - "end": 36465, + "start": 40852, + "end": 40858, "length": 7, - "parent_index": 2715 + "parent_index": 2941 }, "name": "uint256", "referenced_declaration": 0, @@ -10268,27 +10471,28 @@ } ] }, - "signature_raw": "getAmountsIn(address, uint256, address, bytes32)", - "signature": "9c6b5824", - "scope": 2309, + "signature_raw": "getAmountsIn(address,uint256,address,bytes32)", + "signature": "6ba120d4", + "scope": 2535, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$_t_address$_t_bytes32$", "type_string": "function(address,uint256,address,bytes32)" - } + }, + "text": "functiongetAmountsIn(addressfactory,uint256amountOut,address[]memorypath,bytes32pairCodeHash)internalviewreturns(uint256[]memoryamounts){require(path.length\u003e=2,\"UniswapV2Library: INVALID_PATH\");amounts=newuint256[](path.length);amounts[amounts.length-1]=amountOut;for(uint256i=path.length-1;i\u003e0;i--){(uint256reserveIn,uint256reserveOut)=getReserves(factory,path[i-1],path[i],pairCodeHash);amounts[i-1]=getAmountIn(amounts[i],reserveIn,reserveOut);}}" } ], "linearized_base_contracts": [ - 2309 + 2535 ], "base_contracts": [], "contract_dependencies": [] } ], "src": { - "line": 886, + "line": 996, "column": 0, - "start": 31668, - "end": 36990, + "start": 36061, + "end": 41383, "length": 5323, "parent_index": 272 } diff --git a/data/tests/eip/eip1155_full_match.json b/data/tests/eip/eip1155_full_match.json index a16b2459..d3cc3be7 100644 --- a/data/tests/eip/eip1155_full_match.json +++ b/data/tests/eip/eip1155_full_match.json @@ -1,15 +1,15 @@ { - "confidence": 3, + "confidence": 4, "confidence_points": 1, - "threshold": 0.9, + "threshold": 1, "maximum_tokens": 115, "discovered_tokens": 115, - "standard": "EIP1155", + "standard": "ERC1155", "contract": { "name": "ERC1155 Full Match", "functions": [ { - "name": "safeTransferFrom", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -41,7 +41,7 @@ "matched": true }, { - "name": "safeBatchTransferFrom", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -73,7 +73,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -95,7 +95,7 @@ "matched": true }, { - "name": "balanceOfBatch", + "name": "isApprovedForAll", "inputs": [ { "type": "address[]", @@ -117,7 +117,7 @@ "matched": true }, { - "name": "setApprovalForAll", + "name": "isApprovedForAll", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip1155_full_match.proto.json b/data/tests/eip/eip1155_full_match.proto.json index ce7dc9e0..d66925f6 100644 --- a/data/tests/eip/eip1155_full_match.proto.json +++ b/data/tests/eip/eip1155_full_match.proto.json @@ -1,14 +1,15 @@ { "standard": 7, - "confidence": 3, + "confidence": 4, "confidence_points": 100, + "threshold": 1, "maximum_tokens": 115, "discovered_tokens": 115, "contract": { "name": "ERC1155 Full Match", "functions": [ { - "name": "safeTransferFrom", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -34,7 +35,7 @@ "matched": true }, { - "name": "safeBatchTransferFrom", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -60,7 +61,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -80,7 +81,7 @@ "matched": true }, { - "name": "balanceOfBatch", + "name": "isApprovedForAll", "inputs": [ { "type": "address[]", @@ -100,7 +101,7 @@ "matched": true }, { - "name": "setApprovalForAll", + "name": "isApprovedForAll", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip1820_full_match.json b/data/tests/eip/eip1820_full_match.json index fc80d800..0a84b721 100644 --- a/data/tests/eip/eip1820_full_match.json +++ b/data/tests/eip/eip1820_full_match.json @@ -1,15 +1,15 @@ { - "confidence": 3, + "confidence": 4, "confidence_points": 1, - "threshold": 0.9, + "threshold": 1, "maximum_tokens": 67, "discovered_tokens": 67, - "standard": "EIP1820", + "standard": "ERC1820", "contract": { "name": "ERC1820 Full Match", "functions": [ { - "name": "setInterfaceImplementer", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -31,7 +31,7 @@ "matched": true }, { - "name": "getInterfaceImplementer", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -53,7 +53,7 @@ "matched": true }, { - "name": "interfaceHash", + "name": "implementsERC165Interface", "inputs": [ { "type": "string", @@ -70,7 +70,7 @@ "matched": true }, { - "name": "updateERC165Cache", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -87,7 +87,7 @@ "matched": true }, { - "name": "implementsERC165InterfaceNoCache", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip1820_full_match.proto.json b/data/tests/eip/eip1820_full_match.proto.json index f3686831..93060dc4 100644 --- a/data/tests/eip/eip1820_full_match.proto.json +++ b/data/tests/eip/eip1820_full_match.proto.json @@ -1,14 +1,15 @@ { "standard": 4, - "confidence": 3, + "confidence": 4, "confidence_points": 100, + "threshold": 1, "maximum_tokens": 67, "discovered_tokens": 67, "contract": { "name": "ERC1820 Full Match", "functions": [ { - "name": "setInterfaceImplementer", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -26,7 +27,7 @@ "matched": true }, { - "name": "getInterfaceImplementer", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -46,7 +47,7 @@ "matched": true }, { - "name": "interfaceHash", + "name": "implementsERC165Interface", "inputs": [ { "type": "string", @@ -62,7 +63,7 @@ "matched": true }, { - "name": "updateERC165Cache", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -76,7 +77,7 @@ "matched": true }, { - "name": "implementsERC165InterfaceNoCache", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip1822_full_match.json b/data/tests/eip/eip1822_full_match.json index b941f1dd..38adbda5 100644 --- a/data/tests/eip/eip1822_full_match.json +++ b/data/tests/eip/eip1822_full_match.json @@ -1,15 +1,15 @@ { - "confidence": 3, + "confidence": 4, "confidence_points": 1, - "threshold": 0.9, + "threshold": 1, "maximum_tokens": 29, "discovered_tokens": 29, - "standard": "EIP1822", + "standard": "ERC1822", "contract": { "name": "ERC1822 Full Match", "functions": [ { - "name": "getImplementation", + "name": "setProxyOwner", "inputs": [], "outputs": [ { @@ -20,7 +20,7 @@ "matched": true }, { - "name": "upgradeTo", + "name": "setProxyOwner", "inputs": [ { "type": "address", @@ -32,7 +32,7 @@ "matched": true }, { - "name": "upgradeToAndCall", + "name": "setProxyOwner", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip1822_full_match.proto.json b/data/tests/eip/eip1822_full_match.proto.json index 26e8b491..d8e1bbd0 100644 --- a/data/tests/eip/eip1822_full_match.proto.json +++ b/data/tests/eip/eip1822_full_match.proto.json @@ -1,14 +1,15 @@ { "standard": 5, - "confidence": 3, + "confidence": 4, "confidence_points": 100, + "threshold": 1, "maximum_tokens": 29, "discovered_tokens": 29, "contract": { "name": "ERC1822 Full Match", "functions": [ { - "name": "getImplementation", + "name": "setProxyOwner", "outputs": [ { "type": "address", @@ -18,7 +19,7 @@ "matched": true }, { - "name": "upgradeTo", + "name": "setProxyOwner", "inputs": [ { "type": "address", @@ -28,7 +29,7 @@ "matched": true }, { - "name": "upgradeToAndCall", + "name": "setProxyOwner", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip1967_full_match.json b/data/tests/eip/eip1967_full_match.json index 9eb7ec48..cd5e1f25 100644 --- a/data/tests/eip/eip1967_full_match.json +++ b/data/tests/eip/eip1967_full_match.json @@ -1,15 +1,15 @@ { - "confidence": 3, + "confidence": 4, "confidence_points": 1, - "threshold": 0.9, + "threshold": 1, "maximum_tokens": 67, "discovered_tokens": 67, - "standard": "EIP1967", + "standard": "ERC1967", "contract": { "name": "ERC1967 Full Match", "functions": [ { - "name": "setInterfaceImplementer", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -31,7 +31,7 @@ "matched": true }, { - "name": "getInterfaceImplementer", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -53,7 +53,7 @@ "matched": true }, { - "name": "interfaceHash", + "name": "implementsERC165Interface", "inputs": [ { "type": "string", @@ -70,7 +70,7 @@ "matched": true }, { - "name": "updateERC165Cache", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -87,7 +87,7 @@ "matched": true }, { - "name": "implementsERC165InterfaceNoCache", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip1967_full_match.proto.json b/data/tests/eip/eip1967_full_match.proto.json index 543af591..32054811 100644 --- a/data/tests/eip/eip1967_full_match.proto.json +++ b/data/tests/eip/eip1967_full_match.proto.json @@ -1,14 +1,15 @@ { "standard": 15, - "confidence": 3, + "confidence": 4, "confidence_points": 100, + "threshold": 1, "maximum_tokens": 67, "discovered_tokens": 67, "contract": { "name": "ERC1967 Full Match", "functions": [ { - "name": "setInterfaceImplementer", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -26,7 +27,7 @@ "matched": true }, { - "name": "getInterfaceImplementer", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -46,7 +47,7 @@ "matched": true }, { - "name": "interfaceHash", + "name": "implementsERC165Interface", "inputs": [ { "type": "string", @@ -62,7 +63,7 @@ "matched": true }, { - "name": "updateERC165Cache", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", @@ -76,7 +77,7 @@ "matched": true }, { - "name": "implementsERC165InterfaceNoCache", + "name": "implementsERC165Interface", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip20_full_match.json b/data/tests/eip/eip20_full_match.json index 2d9f155a..727e03bd 100644 --- a/data/tests/eip/eip20_full_match.json +++ b/data/tests/eip/eip20_full_match.json @@ -1,15 +1,15 @@ { - "confidence": 3, + "confidence": 4, "confidence_points": 1, - "threshold": 0.9, + "threshold": 1, "maximum_tokens": 68, "discovered_tokens": 68, - "standard": "EIP20", + "standard": "ERC20", "contract": { "name": "ERC20 Full Match", "functions": [ { - "name": "totalSupply", + "name": "allowance", "inputs": [], "outputs": [ { @@ -20,7 +20,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "allowance", "inputs": [ { "type": "address", @@ -37,7 +37,7 @@ "matched": true }, { - "name": "transfer", + "name": "allowance", "inputs": [ { "type": "address", @@ -59,7 +59,7 @@ "matched": true }, { - "name": "transferFrom", + "name": "allowance", "inputs": [ { "type": "address", @@ -86,7 +86,7 @@ "matched": true }, { - "name": "approve", + "name": "allowance", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip20_full_match.proto.json b/data/tests/eip/eip20_full_match.proto.json index 16fd3344..f74f0fee 100644 --- a/data/tests/eip/eip20_full_match.proto.json +++ b/data/tests/eip/eip20_full_match.proto.json @@ -1,14 +1,15 @@ { "standard": 1, - "confidence": 3, + "confidence": 4, "confidence_points": 100, + "threshold": 1, "maximum_tokens": 68, "discovered_tokens": 68, "contract": { "name": "ERC20 Full Match", "functions": [ { - "name": "totalSupply", + "name": "allowance", "outputs": [ { "type": "uint256", @@ -18,7 +19,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "allowance", "inputs": [ { "type": "address", @@ -34,7 +35,7 @@ "matched": true }, { - "name": "transfer", + "name": "allowance", "inputs": [ { "type": "address", @@ -54,7 +55,7 @@ "matched": true }, { - "name": "transferFrom", + "name": "allowance", "inputs": [ { "type": "address", @@ -78,7 +79,7 @@ "matched": true }, { - "name": "approve", + "name": "allowance", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip20_high_match.json b/data/tests/eip/eip20_high_match.json index 10a300f3..06698c0e 100644 --- a/data/tests/eip/eip20_high_match.json +++ b/data/tests/eip/eip20_high_match.json @@ -4,12 +4,12 @@ "threshold": 0.9, "maximum_tokens": 68, "discovered_tokens": 66, - "standard": "EIP20", + "standard": "ERC20", "contract": { "name": "ERC20 High Match", "functions": [ { - "name": "totalSupply", + "name": "allowance", "inputs": [], "outputs": [ { @@ -20,7 +20,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "allowance", "inputs": [ { "type": "address", @@ -37,7 +37,7 @@ "matched": true }, { - "name": "transfer", + "name": "allowance", "inputs": [ { "type": "address", @@ -59,7 +59,7 @@ "matched": true }, { - "name": "transferFrom", + "name": "allowance", "inputs": [ { "type": "address", @@ -86,7 +86,7 @@ "matched": true }, { - "name": "approve", + "name": "allowance", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip20_high_match.proto.json b/data/tests/eip/eip20_high_match.proto.json index af36c514..872706dd 100644 --- a/data/tests/eip/eip20_high_match.proto.json +++ b/data/tests/eip/eip20_high_match.proto.json @@ -8,7 +8,7 @@ "name": "ERC20 High Match", "functions": [ { - "name": "totalSupply", + "name": "allowance", "outputs": [ { "type": "uint256", @@ -18,7 +18,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "allowance", "inputs": [ { "type": "address", @@ -34,7 +34,7 @@ "matched": true }, { - "name": "transfer", + "name": "allowance", "inputs": [ { "type": "address", @@ -54,7 +54,7 @@ "matched": true }, { - "name": "transferFrom", + "name": "allowance", "inputs": [ { "type": "address", @@ -78,7 +78,7 @@ "matched": true }, { - "name": "approve", + "name": "allowance", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip20_low_match.json b/data/tests/eip/eip20_low_match.json index a01fe645..6c565197 100644 --- a/data/tests/eip/eip20_low_match.json +++ b/data/tests/eip/eip20_low_match.json @@ -4,7 +4,7 @@ "threshold": 0.1, "maximum_tokens": 68, "discovered_tokens": 13, - "standard": "EIP20", + "standard": "ERC20", "contract": { "name": "ERC20 Low Match", "functions": [ diff --git a/data/tests/eip/eip20_medium_match.json b/data/tests/eip/eip20_medium_match.json index e4870b49..82513da7 100644 --- a/data/tests/eip/eip20_medium_match.json +++ b/data/tests/eip/eip20_medium_match.json @@ -4,12 +4,12 @@ "threshold": 0.5, "maximum_tokens": 68, "discovered_tokens": 59, - "standard": "EIP20", + "standard": "ERC20", "contract": { "name": "ERC20 Medium Match", "functions": [ { - "name": "totalSupply", + "name": "approve", "inputs": [], "outputs": [ { @@ -20,7 +20,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "approve", "inputs": [ { "type": "address", @@ -37,7 +37,7 @@ "matched": true }, { - "name": "transfer", + "name": "approve", "inputs": [ { "type": "address", @@ -59,7 +59,7 @@ "matched": true }, { - "name": "transferFrom", + "name": "approve", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip20_medium_match.proto.json b/data/tests/eip/eip20_medium_match.proto.json index 6ff27edd..f30c14cb 100644 --- a/data/tests/eip/eip20_medium_match.proto.json +++ b/data/tests/eip/eip20_medium_match.proto.json @@ -8,7 +8,7 @@ "name": "ERC20 Medium Match", "functions": [ { - "name": "totalSupply", + "name": "approve", "outputs": [ { "type": "uint256", @@ -18,7 +18,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "approve", "inputs": [ { "type": "address", @@ -34,7 +34,7 @@ "matched": true }, { - "name": "transfer", + "name": "approve", "inputs": [ { "type": "address", @@ -54,7 +54,7 @@ "matched": true }, { - "name": "transferFrom", + "name": "approve", "inputs": [ { "type": "address", diff --git a/data/tests/eip/eip20_no_match.json b/data/tests/eip/eip20_no_match.json index 140a062b..d1070eb5 100644 --- a/data/tests/eip/eip20_no_match.json +++ b/data/tests/eip/eip20_no_match.json @@ -4,7 +4,7 @@ "threshold": 0, "maximum_tokens": 68, "discovered_tokens": 0, - "standard": "EIP20", + "standard": "ERC20", "contract": { "name": "ERC20 No Match", "functions": [ diff --git a/data/tests/eip/eip721_full_match.json b/data/tests/eip/eip721_full_match.json index 8a610375..fce58088 100644 --- a/data/tests/eip/eip721_full_match.json +++ b/data/tests/eip/eip721_full_match.json @@ -1,15 +1,15 @@ { - "confidence": 3, + "confidence": 4, "confidence_points": 1, - "threshold": 0.9, + "threshold": 1, "maximum_tokens": 90, "discovered_tokens": 90, - "standard": "EIP721", + "standard": "ERC721", "contract": { "name": "ERC721 Full Match", "functions": [ { - "name": "name", + "name": "isApprovedForAll", "inputs": [], "outputs": [ { @@ -20,7 +20,7 @@ "matched": true }, { - "name": "symbol", + "name": "isApprovedForAll", "inputs": [], "outputs": [ { @@ -31,7 +31,7 @@ "matched": true }, { - "name": "totalSupply", + "name": "isApprovedForAll", "inputs": [], "outputs": [ { @@ -42,7 +42,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -59,7 +59,7 @@ "matched": true }, { - "name": "ownerOf", + "name": "isApprovedForAll", "inputs": [ { "type": "uint256", @@ -76,7 +76,7 @@ "matched": true }, { - "name": "transferFrom", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -98,7 +98,7 @@ "matched": true }, { - "name": "approve", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -115,7 +115,7 @@ "matched": true }, { - "name": "setApprovalForAll", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -132,7 +132,7 @@ "matched": true }, { - "name": "getApproved", + "name": "isApprovedForAll", "inputs": [ { "type": "uint256", diff --git a/data/tests/eip/eip721_full_match.proto.json b/data/tests/eip/eip721_full_match.proto.json index f58f5082..2af9554f 100644 --- a/data/tests/eip/eip721_full_match.proto.json +++ b/data/tests/eip/eip721_full_match.proto.json @@ -1,14 +1,15 @@ { "standard": 2, - "confidence": 3, + "confidence": 4, "confidence_points": 100, + "threshold": 1, "maximum_tokens": 90, "discovered_tokens": 90, "contract": { "name": "ERC721 Full Match", "functions": [ { - "name": "name", + "name": "isApprovedForAll", "outputs": [ { "type": "string", @@ -18,7 +19,7 @@ "matched": true }, { - "name": "symbol", + "name": "isApprovedForAll", "outputs": [ { "type": "string", @@ -28,7 +29,7 @@ "matched": true }, { - "name": "totalSupply", + "name": "isApprovedForAll", "outputs": [ { "type": "uint256", @@ -38,7 +39,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -54,7 +55,7 @@ "matched": true }, { - "name": "ownerOf", + "name": "isApprovedForAll", "inputs": [ { "type": "uint256", @@ -70,7 +71,7 @@ "matched": true }, { - "name": "transferFrom", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -88,7 +89,7 @@ "matched": true }, { - "name": "approve", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -102,7 +103,7 @@ "matched": true }, { - "name": "setApprovalForAll", + "name": "isApprovedForAll", "inputs": [ { "type": "address", @@ -116,7 +117,7 @@ "matched": true }, { - "name": "getApproved", + "name": "isApprovedForAll", "inputs": [ { "type": "uint256", diff --git a/data/tests/ir/ERC20.ir.json b/data/tests/ir/ERC20.ir.json index bcdc1540..8e313829 100644 --- a/data/tests/ir/ERC20.ir.json +++ b/data/tests/ir/ERC20.ir.json @@ -441,7 +441,7 @@ "mutability": 1, "type_name": { "id": 1102, - "node_type": 0, + "node_type": 53, "src": { "line": 407, "column": 4, @@ -533,7 +533,7 @@ "mutability": 1, "type_name": { "id": 1106, - "node_type": 0, + "node_type": 53, "src": { "line": 409, "column": 4, @@ -1357,7 +1357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 86, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 87, @@ -1377,7 +1378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 87, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1428,7 +1430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 82, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 91, @@ -1448,7 +1451,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 91, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -1516,7 +1520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 96, @@ -1536,7 +1541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 82, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -1759,13 +1765,14 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, { "id": 98, @@ -1859,7 +1866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 113, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 114, @@ -1879,7 +1887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 114, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -1947,7 +1956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 119, @@ -1981,7 +1991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 120, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 121, @@ -2001,7 +2012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 121, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2229,13 +2241,14 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, { "id": 123, @@ -2329,7 +2342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 138, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 139, @@ -2351,7 +2365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2465,7 +2480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 146, @@ -2485,7 +2501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2550,7 +2567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 141, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 151, @@ -2570,7 +2588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 151, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -2595,7 +2614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -2663,7 +2683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 157, @@ -2683,7 +2704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 141, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -2906,13 +2928,14 @@ } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, { "id": 159, @@ -3006,7 +3029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 174, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 175, @@ -3028,7 +3052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3096,7 +3121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 180, @@ -3130,7 +3156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 181, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 182, @@ -3150,7 +3177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 182, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3378,13 +3406,14 @@ } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, { "id": 184, @@ -3478,7 +3507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 199, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 200, @@ -3500,7 +3530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3568,7 +3599,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 205, @@ -3602,7 +3634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 207, @@ -3622,7 +3655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 207, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3850,13 +3884,14 @@ } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, { "id": 209, @@ -3937,7 +3972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 221, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 222, @@ -3957,7 +3993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 222, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4134,13 +4171,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { "id": 224, @@ -4221,7 +4259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 236, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 237, @@ -4241,7 +4280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4418,13 +4458,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { "id": 239, @@ -4505,7 +4546,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 251, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 252, @@ -4525,7 +4567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 252, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4702,13 +4745,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { "id": 254, @@ -4789,7 +4833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 266, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 267, @@ -4809,7 +4854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 267, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4986,13 +5032,14 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { "id": 269, @@ -5073,7 +5120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 281, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 282, @@ -5093,7 +5141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 282, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5270,13 +5319,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, { "id": 284, @@ -5382,7 +5432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 300, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 301, @@ -5402,7 +5453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 301, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -5433,7 +5485,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5454,7 +5507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -5505,7 +5559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 305, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 306, @@ -5525,7 +5580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 306, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5747,13 +5803,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, { "id": 308, @@ -5859,7 +5916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 324, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 325, @@ -5881,7 +5939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5912,7 +5971,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -5933,7 +5993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -5984,7 +6045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 329, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 330, @@ -6004,7 +6066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 330, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6226,13 +6289,14 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { "id": 332, @@ -6338,7 +6402,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 348, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 349, @@ -6360,7 +6425,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6391,7 +6457,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -6412,7 +6479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -6463,7 +6531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 354, @@ -6483,7 +6552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 354, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6705,13 +6775,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" } ], "linearized_base_contracts": [ @@ -6959,7 +7030,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 373, @@ -7128,7 +7200,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 382, @@ -7334,13 +7407,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 393, @@ -7547,13 +7621,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 404, @@ -7759,13 +7834,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 415, @@ -8015,13 +8091,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 428, @@ -8654,7 +8731,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 466, @@ -8822,7 +8900,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 475, @@ -8990,7 +9069,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ @@ -9192,14 +9272,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -9336,7 +9418,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 503, @@ -9426,14 +9509,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -9568,7 +9653,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -9768,7 +9854,7 @@ "mutability": 1, "type_name": { "id": 533, - "node_type": 0, + "node_type": 53, "src": { "line": 407, "column": 4, @@ -9861,7 +9947,7 @@ "mutability": 1, "type_name": { "id": 538, - "node_type": 0, + "node_type": 53, "src": { "line": 409, "column": 4, @@ -10296,7 +10382,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 548, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 565, @@ -10316,7 +10403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 565, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -10326,7 +10414,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 566, @@ -10369,7 +10458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 569, @@ -10389,7 +10479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 569, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -10399,7 +10490,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -10469,7 +10561,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 548, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -10623,7 +10716,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 583, @@ -10690,7 +10784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -10844,7 +10939,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 595, @@ -10913,7 +11009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -11067,7 +11164,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 607, @@ -11134,7 +11232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -11288,7 +11387,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 619, @@ -11366,7 +11466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 631, @@ -11386,7 +11487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 631, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -11556,7 +11658,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 633, @@ -11686,7 +11789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -11739,7 +11843,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 644, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 652, @@ -11765,7 +11870,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 653, @@ -11795,7 +11901,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -11816,7 +11923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -11855,7 +11963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -12047,13 +12156,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_transfer(owner,to,amount);returntrue;}" }, { "id": 657, @@ -12142,7 +12252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 672, @@ -12162,7 +12273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -12197,7 +12309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -12405,13 +12518,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 675, @@ -12541,7 +12655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -12594,7 +12709,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 686, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 694, @@ -12620,7 +12736,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 695, @@ -12650,7 +12767,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -12671,7 +12789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -12710,7 +12829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -12902,13 +13022,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_approve(owner,spender,amount);returntrue;}" }, { "id": 699, @@ -13038,7 +13159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -13091,7 +13213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 720, @@ -13117,7 +13240,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 721, @@ -13147,7 +13271,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -13168,7 +13293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -13220,7 +13346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 724, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 725, @@ -13246,7 +13373,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 726, @@ -13276,7 +13404,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -13297,7 +13426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -13336,7 +13466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -13572,13 +13703,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualoverridereturns(bool){addressspender=_msgSender();_spendAllowance(from,spender,amount);_transfer(from,to,amount);returntrue;}" }, { "id": 730, @@ -13708,7 +13840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -13761,7 +13894,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 748, @@ -13787,7 +13921,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 749, @@ -13844,7 +13979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 753, @@ -13870,7 +14006,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -13891,7 +14028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -13916,7 +14054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 754, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -13942,7 +14081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -13981,7 +14121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -14154,13 +14295,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){addressowner=_msgSender();_approve(owner,spender,allowance(owner,spender)+addedValue);returntrue;}" }, { "id": 758, @@ -14290,7 +14432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -14399,7 +14542,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 768, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 779, @@ -14425,7 +14569,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -14446,7 +14591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -14509,7 +14655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 784, @@ -14529,7 +14676,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 784, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -14562,7 +14710,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -14583,7 +14732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -14622,7 +14772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -14684,7 +14835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 792, @@ -14710,7 +14862,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 793, @@ -14744,7 +14897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 795, @@ -14764,7 +14918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 795, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -14790,7 +14945,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -14969,13 +15125,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){addressowner=_msgSender();uint256currentAllowance=allowance(owner,spender);require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(owner,spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 797, @@ -15067,7 +15224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 810, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 811, @@ -15108,7 +15266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -15154,7 +15313,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -15192,7 +15352,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -15213,7 +15374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15275,7 +15437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 819, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 820, @@ -15316,7 +15479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -15362,7 +15526,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -15400,7 +15565,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -15421,7 +15587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15473,7 +15640,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 827, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 828, @@ -15499,7 +15667,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 829, @@ -15529,7 +15698,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -15550,7 +15720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -15646,7 +15817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 835, @@ -15666,7 +15838,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 835, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -15739,7 +15912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 840, @@ -15759,7 +15933,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 840, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -15792,7 +15967,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -15813,7 +15989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15850,7 +16027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 844, @@ -15870,7 +16048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 844, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 845, @@ -15890,7 +16069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 845, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -15911,7 +16091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -15959,7 +16140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 849, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 850, @@ -15985,7 +16167,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 851, @@ -16015,7 +16198,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -16036,7 +16220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -16109,7 +16294,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 857, @@ -16129,7 +16315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 857, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -16178,7 +16365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 860, @@ -16198,7 +16386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 860, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -16213,7 +16402,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 861, @@ -16267,7 +16457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 865, @@ -16287,7 +16478,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 865, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -16322,7 +16514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 866, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -16332,7 +16525,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=amount;" } ] } @@ -16505,13 +16699,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(from,to,amount);uint256fromBalance=_balances[from];require(fromBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[from]=fromBalance-amount;_balances[to]+=amount;}emitTransfer(from,to,amount);_afterTokenTransfer(from,to,amount);}" }, { "id": 868, @@ -16603,7 +16798,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 879, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 880, @@ -16644,7 +16840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -16690,7 +16887,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -16728,7 +16926,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -16749,7 +16948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -16822,7 +17022,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -16868,7 +17069,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -16899,7 +17101,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 892, @@ -16929,7 +17132,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -16950,7 +17154,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -16998,7 +17203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 896, @@ -17018,7 +17224,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -17028,7 +17235,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 897, @@ -17081,7 +17289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17127,7 +17336,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17152,7 +17362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 902, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 903, @@ -17172,7 +17383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 903, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -17193,7 +17405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -17262,7 +17475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17308,7 +17522,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17339,7 +17554,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 912, @@ -17369,7 +17585,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -17390,7 +17607,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -17463,7 +17681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 918, @@ -17483,7 +17702,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 918, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -17518,7 +17738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 919, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -17528,7 +17749,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -17657,13 +17879,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;unchecked{_balances[account]+=amount;}emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 921, @@ -17755,7 +17978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 933, @@ -17796,7 +18020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17842,7 +18067,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17880,7 +18106,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -17901,7 +18128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17953,7 +18181,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 941, @@ -17994,7 +18223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -18040,7 +18270,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18075,7 +18306,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -18096,7 +18328,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -18192,7 +18425,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 951, @@ -18212,7 +18446,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 951, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -18285,7 +18520,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 956, @@ -18305,7 +18541,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 956, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -18338,7 +18575,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -18359,7 +18597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -18396,7 +18635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 959, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 960, @@ -18437,7 +18677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -18483,7 +18724,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18508,7 +18750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -18529,7 +18772,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -18577,7 +18821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 968, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 969, @@ -18618,7 +18863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -18664,7 +18910,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -18699,7 +18946,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -18720,7 +18968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -18793,7 +19042,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 979, @@ -18813,7 +19063,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 979, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -18862,7 +19113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 982, @@ -18882,7 +19134,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 982, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -18897,7 +19150,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 983, @@ -18940,7 +19194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 986, @@ -18960,7 +19215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -18970,7 +19226,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -19099,13 +19356,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;_totalSupply-=amount;}emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 988, @@ -19197,7 +19455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1001, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1002, @@ -19238,7 +19497,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19284,7 +19544,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19322,7 +19583,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -19343,7 +19605,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19405,7 +19668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1010, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1011, @@ -19446,7 +19710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -19492,7 +19757,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -19530,7 +19796,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -19551,7 +19818,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -19621,7 +19889,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1021, @@ -19641,7 +19910,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -19676,7 +19946,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1022, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -19711,7 +19982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1023, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -19721,7 +19993,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 1024, @@ -19753,7 +20026,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1025, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1026, @@ -19773,7 +20047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1027, @@ -19793,7 +20068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1027, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -19814,7 +20090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -19986,13 +20263,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 1030, @@ -20130,7 +20408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1045, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1046, @@ -20156,7 +20435,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -20177,7 +20457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -20228,7 +20509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1040, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1050, @@ -20275,7 +20557,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -20351,7 +20634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1057, @@ -20371,7 +20655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -20404,7 +20689,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -20425,7 +20711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -20604,13 +20891,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_spendAllowance(address, address, uint256)", - "signature": "2b81cb6e", + "signature_raw": "_spendAllowance(address,address,uint256)", + "signature": "1532335e", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_spendAllowance(addressowner,addressspender,uint256amount)internalvirtual{uint256currentAllowance=allowance(owner,spender);if(currentAllowance!=type(uint256).max){require(currentAllowance\u003e=amount,\"ERC20: insufficient allowance\");unchecked{_approve(owner,spender,currentAllowance-amount);}}}" }, { "id": 1060, @@ -20815,13 +21103,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1071, @@ -21026,13 +21315,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" } ], "linearized_base_contracts": [ @@ -21964,9 +22254,7 @@ "entry_contract_id": 524, "entry_contract_name": "ERC20", "contracts_count": 5, - "contract_types": [ - "token" - ], + "contract_types": [], "standards": [ { "contract_id": 524, @@ -21977,12 +22265,12 @@ "threshold": 0, "maximum_tokens": 115, "discovered_tokens": 9, - "standard": "EIP1155", + "standard": "ERC1155", "contract": { "name": "ERC20", "functions": [ { - "name": "safeTransferFrom", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22014,7 +22302,7 @@ "matched": false }, { - "name": "safeBatchTransferFrom", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22046,7 +22334,7 @@ "matched": false }, { - "name": "balanceOf", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22068,7 +22356,7 @@ "matched": true }, { - "name": "balanceOfBatch", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address[]", @@ -22090,7 +22378,7 @@ "matched": false }, { - "name": "setApprovalForAll", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22107,7 +22395,7 @@ "matched": false }, { - "name": "isApprovedForAll", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22239,9 +22527,11 @@ "standards": { "name": "ERC-1155 Multi Token Standard", "url": "https://eips.ethereum.org/EIPS/eip-1155", - "type": "EIP1155", + "type": "ERC1155", "stagnant": false, "abi": "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + "package_name": "erc1155", + "package_output_path": "erc1155/erc1155.go", "functions": [ { "name": "safeTransferFrom", @@ -22502,17 +22792,17 @@ "contract_id": 524, "contract_name": "ERC20", "confidences": { - "confidence": 3, + "confidence": 4, "confidence_points": 1, - "threshold": 0.9, + "threshold": 1, "maximum_tokens": 68, "discovered_tokens": 68, - "standard": "EIP20", + "standard": "ERC20", "contract": { "name": "ERC20", "functions": [ { - "name": "totalSupply", + "name": "_afterTokenTransfer", "inputs": [], "outputs": [ { @@ -22523,7 +22813,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22540,7 +22830,7 @@ "matched": true }, { - "name": "transfer", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22562,7 +22852,7 @@ "matched": true }, { - "name": "transferFrom", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22589,7 +22879,7 @@ "matched": true }, { - "name": "approve", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22611,7 +22901,7 @@ "matched": true }, { - "name": "allowance", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22684,9 +22974,11 @@ "standards": { "name": "ERC-20 Token Standard", "url": "https://eips.ethereum.org/EIPS/eip-20", - "type": "EIP20", + "type": "ERC20", "stagnant": false, "abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "package_name": "erc20", + "package_output_path": "erc20/erc20.go", "functions": [ { "name": "totalSupply", @@ -22867,12 +23159,12 @@ "threshold": 0.5, "maximum_tokens": 90, "discovered_tokens": 52, - "standard": "EIP721", + "standard": "ERC721", "contract": { "name": "ERC20", "functions": [ { - "name": "name", + "name": "_afterTokenTransfer", "inputs": [], "outputs": [ { @@ -22883,7 +23175,7 @@ "matched": true }, { - "name": "symbol", + "name": "_afterTokenTransfer", "inputs": [], "outputs": [ { @@ -22894,7 +23186,7 @@ "matched": true }, { - "name": "totalSupply", + "name": "_afterTokenTransfer", "inputs": [], "outputs": [ { @@ -22905,7 +23197,7 @@ "matched": true }, { - "name": "balanceOf", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22922,7 +23214,7 @@ "matched": true }, { - "name": "ownerOf", + "name": "_afterTokenTransfer", "inputs": [ { "type": "uint256", @@ -22939,7 +23231,7 @@ "matched": false }, { - "name": "transferFrom", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22961,7 +23253,7 @@ "matched": true }, { - "name": "approve", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22978,7 +23270,7 @@ "matched": true }, { - "name": "setApprovalForAll", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -22995,7 +23287,7 @@ "matched": false }, { - "name": "getApproved", + "name": "_afterTokenTransfer", "inputs": [ { "type": "uint256", @@ -23012,7 +23304,7 @@ "matched": false }, { - "name": "isApprovedForAll", + "name": "_afterTokenTransfer", "inputs": [ { "type": "address", @@ -23105,11 +23397,13 @@ } }, "standards": { - "name": "EIP-721 Non-Fungible Token Standard", + "name": "ERC-721 Non-Fungible Token Standard", "url": "https://eips.ethereum.org/EIPS/eip-721", - "type": "EIP721", + "type": "ERC721", "stagnant": false, "abi": "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + "package_name": "erc721", + "package_output_path": "erc721/erc721.go", "functions": [ { "name": "name", @@ -23551,7 +23845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 86, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 87, @@ -23571,7 +23866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 87, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -23622,7 +23918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 82, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 91, @@ -23642,7 +23939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 91, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -23710,7 +24008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 96, @@ -23730,7 +24029,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 82, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -23953,13 +24253,14 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, { "id": 98, @@ -24053,7 +24354,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 113, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 114, @@ -24073,7 +24375,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 114, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -24141,7 +24444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 119, @@ -24175,7 +24479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 120, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 121, @@ -24195,7 +24500,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 121, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -24423,13 +24729,14 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, { "id": 123, @@ -24523,7 +24830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 138, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 139, @@ -24545,7 +24853,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -24659,7 +24968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 146, @@ -24679,7 +24989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -24744,7 +25055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 141, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 151, @@ -24764,7 +25076,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 151, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -24789,7 +25102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -24857,7 +25171,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 157, @@ -24877,7 +25192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 141, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -25100,13 +25416,14 @@ } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, { "id": 159, @@ -25200,7 +25517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 174, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 175, @@ -25222,7 +25540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25290,7 +25609,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 180, @@ -25324,7 +25644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 181, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 182, @@ -25344,7 +25665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 182, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -25572,13 +25894,14 @@ } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, { "id": 184, @@ -25672,7 +25995,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 199, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 200, @@ -25694,7 +26018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -25762,7 +26087,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 205, @@ -25796,7 +26122,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 207, @@ -25816,7 +26143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 207, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -26044,13 +26372,14 @@ } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, { "id": 209, @@ -26131,7 +26460,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 221, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 222, @@ -26151,7 +26481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 222, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -26328,13 +26659,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { "id": 224, @@ -26415,7 +26747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 236, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 237, @@ -26435,7 +26768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -26612,13 +26946,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { "id": 239, @@ -26699,7 +27034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 251, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 252, @@ -26719,7 +27055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 252, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -26896,13 +27233,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { "id": 254, @@ -26983,7 +27321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 266, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 267, @@ -27003,7 +27342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 267, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -27180,13 +27520,14 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { "id": 269, @@ -27267,7 +27608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 281, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 282, @@ -27287,7 +27629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 282, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -27464,13 +27807,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, { "id": 284, @@ -27576,7 +27920,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 300, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 301, @@ -27596,7 +27941,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 301, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -27627,7 +27973,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -27648,7 +27995,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -27699,7 +28047,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 305, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 306, @@ -27719,7 +28068,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 306, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -27941,13 +28291,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, { "id": 308, @@ -28053,7 +28404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 324, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 325, @@ -28075,7 +28427,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -28106,7 +28459,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -28127,7 +28481,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -28178,7 +28533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 329, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 330, @@ -28198,7 +28554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 330, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -28420,13 +28777,14 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { "id": 332, @@ -28532,7 +28890,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 348, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 349, @@ -28554,7 +28913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -28585,7 +28945,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -28606,7 +28967,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -28657,7 +29019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 354, @@ -28677,7 +29040,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 354, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -28899,13 +29263,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" } ], "linearized_base_contracts": [ @@ -29130,7 +29495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 86, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 87, @@ -29150,7 +29516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 87, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -29201,7 +29568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 82, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 91, @@ -29221,7 +29589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 91, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -29289,7 +29658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 96, @@ -29309,7 +29679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 82, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -29532,13 +29903,14 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, "id": 69, "node_type": 42, @@ -29549,7 +29921,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "d730d6d4", + "signature": "884557bf", "modifiers": [], "overrides": [], "parameters": [ @@ -29775,7 +30147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 86, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 87, @@ -29795,7 +30168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 87, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -29846,7 +30220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 82, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 91, @@ -29866,7 +30241,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 91, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -29934,7 +30310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 96, @@ -29954,7 +30331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 82, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -30176,7 +30554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 113, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 114, @@ -30196,7 +30575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 114, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -30264,7 +30644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 119, @@ -30298,7 +30679,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 120, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 121, @@ -30318,7 +30700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 121, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -30546,13 +30929,14 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, "id": 98, "node_type": 42, @@ -30563,7 +30947,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "9f7e8c62", + "signature": "a29962b1", "modifiers": [], "overrides": [], "parameters": [ @@ -30740,7 +31124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 113, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 114, @@ -30760,7 +31145,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 114, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -30828,7 +31214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 119, @@ -30862,7 +31249,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 120, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 121, @@ -30882,7 +31270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 121, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -31109,7 +31498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 138, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 139, @@ -31131,7 +31521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -31245,7 +31636,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 146, @@ -31265,7 +31657,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -31330,7 +31723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 141, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 151, @@ -31350,7 +31744,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 151, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -31375,7 +31770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -31443,7 +31839,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 157, @@ -31463,7 +31860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 141, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -31686,13 +32084,14 @@ } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, "id": 123, "node_type": 42, @@ -31703,7 +32102,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "72cd6357", + "signature": "6281efa4", "modifiers": [], "overrides": [], "parameters": [ @@ -31880,7 +32279,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 138, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 139, @@ -31902,7 +32302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32016,7 +32417,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 145, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 146, @@ -32036,7 +32438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 146, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -32101,7 +32504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 141, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 151, @@ -32121,7 +32525,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 151, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -32146,7 +32551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -32214,7 +32620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 157, @@ -32234,7 +32641,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 141, - "is_pure": false + "is_pure": false, + "text": "c" } ], "type_description": { @@ -32456,7 +32864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 174, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 175, @@ -32478,7 +32887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32546,7 +32956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 180, @@ -32580,7 +32991,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 181, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 182, @@ -32600,7 +33012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 182, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -32828,13 +33241,14 @@ } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, "id": 159, "node_type": 42, @@ -32845,7 +33259,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "8b61a525", + "signature": "736ecb18", "modifiers": [], "overrides": [], "parameters": [ @@ -33022,7 +33436,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 174, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 175, @@ -33044,7 +33459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -33112,7 +33528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 180, @@ -33146,7 +33563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 181, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 182, @@ -33166,7 +33584,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 182, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -33393,7 +33812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 199, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 200, @@ -33415,7 +33835,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -33483,7 +33904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 205, @@ -33517,7 +33939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 207, @@ -33537,7 +33960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 207, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -33765,13 +34189,14 @@ } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, "id": 184, "node_type": 42, @@ -33782,7 +34207,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "4ed783cc", + "signature": "38dc0867", "modifiers": [], "overrides": [], "parameters": [ @@ -33959,7 +34384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 199, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 200, @@ -33981,7 +34407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -34049,7 +34476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { "id": 205, @@ -34083,7 +34511,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 206, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 207, @@ -34103,7 +34532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 207, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -34317,7 +34747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 221, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 222, @@ -34337,7 +34768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 222, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -34514,13 +34946,14 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, "id": 209, "node_type": 42, @@ -34531,7 +34964,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "f31e4d28", + "signature": "771602f7", "modifiers": [], "overrides": [], "parameters": [ @@ -34695,7 +35128,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 221, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 222, @@ -34715,7 +35149,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 222, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -34871,7 +35306,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 236, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 237, @@ -34891,7 +35327,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -35068,13 +35505,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, "id": 224, "node_type": 42, @@ -35085,7 +35523,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "bf3b2b28", + "signature": "b67d77c5", "modifiers": [], "overrides": [], "parameters": [ @@ -35249,7 +35687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 236, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 237, @@ -35269,7 +35708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 237, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -35425,7 +35865,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 251, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 252, @@ -35445,7 +35886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 252, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -35622,13 +36064,14 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, "id": 239, "node_type": 42, @@ -35639,7 +36082,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "cd3ef6fa", + "signature": "c8a4ac9c", "modifiers": [], "overrides": [], "parameters": [ @@ -35803,7 +36246,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 251, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 252, @@ -35823,7 +36267,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 252, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -35979,7 +36424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 266, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 267, @@ -35999,7 +36445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 267, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -36176,13 +36623,14 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, "id": 254, "node_type": 42, @@ -36193,7 +36641,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "4530da25", + "signature": "a391c15b", "modifiers": [], "overrides": [], "parameters": [ @@ -36357,7 +36805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 266, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 267, @@ -36377,7 +36826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 267, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -36533,7 +36983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 281, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 282, @@ -36553,7 +37004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 282, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -36730,13 +37182,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, "id": 269, "node_type": 42, @@ -36747,7 +37200,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "1130353e", + "signature": "f43f523a", "modifiers": [], "overrides": [], "parameters": [ @@ -36911,7 +37364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 281, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 282, @@ -36931,7 +37385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 282, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -37112,7 +37567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 300, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 301, @@ -37132,7 +37588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 301, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -37163,7 +37620,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -37184,7 +37642,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -37235,7 +37694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 305, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 306, @@ -37255,7 +37715,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 306, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -37477,13 +37938,14 @@ } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, "id": 284, "node_type": 42, @@ -37494,7 +37956,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "2a4c5531", + "signature": "e31bdc0a", "modifiers": [], "overrides": [], "parameters": [ @@ -37733,7 +38195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 300, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 301, @@ -37753,7 +38216,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 301, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -37784,7 +38248,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -37805,7 +38270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -37856,7 +38322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 305, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 306, @@ -37876,7 +38343,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 306, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -38059,7 +38527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 324, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 325, @@ -38081,7 +38550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -38112,7 +38582,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -38133,7 +38604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -38184,7 +38656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 329, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 330, @@ -38204,7 +38677,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 330, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -38426,13 +38900,14 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, "id": 308, "node_type": 42, @@ -38443,7 +38918,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "2ed1535b", + "signature": "b745d336", "modifiers": [], "overrides": [], "parameters": [ @@ -38682,7 +39157,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 324, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 325, @@ -38704,7 +39180,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -38735,7 +39212,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -38756,7 +39234,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -38807,7 +39286,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 329, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 330, @@ -38827,7 +39307,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 330, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -39010,7 +39491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 348, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 349, @@ -39032,7 +39514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -39063,7 +39546,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -39084,7 +39568,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -39135,7 +39620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 354, @@ -39155,7 +39641,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 354, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -39377,13 +39864,14 @@ } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", "scope": 67, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" }, "id": 332, "node_type": 42, @@ -39394,7 +39882,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "b44cfd1a", + "signature": "71af23e8", "modifiers": [], "overrides": [], "parameters": [ @@ -39633,7 +40121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 348, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 349, @@ -39655,7 +40144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -39686,7 +40176,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -39707,7 +40198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -39758,7 +40250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 354, @@ -39778,7 +40271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 354, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -40088,7 +40582,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, { "id": 373, @@ -40257,7 +40752,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { "id": 382, @@ -40463,13 +40959,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 393, @@ -40676,13 +41173,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { "id": 404, @@ -40888,13 +41386,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, { "id": 415, @@ -41144,13 +41643,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { "id": 428, @@ -42393,7 +42893,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, "id": 364, "node_type": 42, @@ -42709,7 +43210,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, "id": 373, "node_type": 42, @@ -43063,13 +43565,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, "id": 382, "node_type": 42, @@ -43080,7 +43583,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "9d61d234", + "signature": "a9059cbb", "modifiers": [], "overrides": [], "parameters": [ @@ -43474,13 +43977,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, "id": 393, "node_type": 42, @@ -43491,7 +43995,7 @@ "state_mutability": 5, "virtual": false, "referenced_declaration_id": 0, - "signature": "69bfed33", + "signature": "dd62ed3e", "modifiers": [], "overrides": [], "parameters": [ @@ -43885,13 +44389,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, "id": 404, "node_type": 42, @@ -43902,7 +44407,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "8b069f2a", + "signature": "095ea7b3", "modifiers": [], "overrides": [], "parameters": [ @@ -44339,13 +44844,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 362, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, "id": 415, "node_type": 42, @@ -44356,7 +44862,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "b642fe57", + "signature": "23b872dd", "modifiers": [], "overrides": [], "parameters": [ @@ -44878,7 +45384,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, { "id": 466, @@ -45046,7 +45553,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, { "id": 475, @@ -45214,7 +45722,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" } ], "linearized_base_contracts": [ @@ -45530,7 +46039,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()externalviewreturns(stringmemory);" }, "id": 457, "node_type": 42, @@ -45845,7 +46355,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()externalviewreturns(stringmemory);" }, "id": 466, "node_type": 42, @@ -46160,7 +46671,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()externalviewreturns(uint8);" }, "id": 475, "node_type": 42, @@ -46462,14 +46974,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -46606,7 +47120,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 503, @@ -46696,14 +47211,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -46838,7 +47355,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -47010,14 +47528,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -47154,7 +47674,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, "id": 491, "node_type": 42, @@ -47289,14 +47810,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -47457,14 +47980,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -47599,7 +48124,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){returnmsg.data;}" }, "id": 503, "node_type": 42, @@ -47733,14 +48259,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -47995,7 +48523,7 @@ "mutability": 1, "type_name": { "id": 533, - "node_type": 0, + "node_type": 53, "src": { "line": 407, "column": 4, @@ -48088,7 +48616,7 @@ "mutability": 1, "type_name": { "id": 538, - "node_type": 0, + "node_type": 53, "src": { "line": 409, "column": 4, @@ -48523,7 +49051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 548, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 565, @@ -48543,7 +49072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 565, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -48553,7 +49083,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 566, @@ -48596,7 +49127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 569, @@ -48616,7 +49148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 569, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -48626,7 +49159,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -48696,7 +49230,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 548, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -48850,7 +49385,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, { "id": 583, @@ -48917,7 +49453,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -49071,7 +49608,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, { "id": 595, @@ -49140,7 +49678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -49294,7 +49833,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, { "id": 607, @@ -49361,7 +49901,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -49515,7 +50056,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, { "id": 619, @@ -49593,7 +50135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 631, @@ -49613,7 +50156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 631, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -49783,7 +50327,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, { "id": 633, @@ -49913,7 +50458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -49966,7 +50512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 644, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 652, @@ -49992,7 +50539,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 653, @@ -50022,7 +50570,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -50043,7 +50592,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -50082,7 +50632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -50274,13 +50825,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_transfer(owner,to,amount);returntrue;}" }, { "id": 657, @@ -50369,7 +50921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 672, @@ -50389,7 +50942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -50424,7 +50978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -50632,13 +51187,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, { "id": 675, @@ -50768,7 +51324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -50821,7 +51378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 686, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 694, @@ -50847,7 +51405,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 695, @@ -50877,7 +51436,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -50898,7 +51458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -50937,7 +51498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -51129,13 +51691,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_approve(owner,spender,amount);returntrue;}" }, { "id": 699, @@ -51265,7 +51828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -51318,7 +51882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 720, @@ -51344,7 +51909,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 721, @@ -51374,7 +51940,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -51395,7 +51962,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -51447,7 +52015,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 724, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 725, @@ -51473,7 +52042,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 726, @@ -51503,7 +52073,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -51524,7 +52095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -51563,7 +52135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -51799,13 +52372,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualoverridereturns(bool){addressspender=_msgSender();_spendAllowance(from,spender,amount);_transfer(from,to,amount);returntrue;}" }, { "id": 730, @@ -51935,7 +52509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -51988,7 +52563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 748, @@ -52014,7 +52590,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 749, @@ -52071,7 +52648,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 753, @@ -52097,7 +52675,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -52118,7 +52697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -52143,7 +52723,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 754, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -52169,7 +52750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -52208,7 +52790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -52381,13 +52964,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){addressowner=_msgSender();_approve(owner,spender,allowance(owner,spender)+addedValue);returntrue;}" }, { "id": 758, @@ -52517,7 +53101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -52626,7 +53211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 768, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 779, @@ -52652,7 +53238,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -52673,7 +53260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -52736,7 +53324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 784, @@ -52756,7 +53345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 784, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -52789,7 +53379,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -52810,7 +53401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -52849,7 +53441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -52911,7 +53504,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 792, @@ -52937,7 +53531,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 793, @@ -52971,7 +53566,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 795, @@ -52991,7 +53587,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 795, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -53017,7 +53614,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -53196,13 +53794,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){addressowner=_msgSender();uint256currentAllowance=allowance(owner,spender);require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(owner,spender,currentAllowance-subtractedValue);}returntrue;}" }, { "id": 797, @@ -53294,7 +53893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 810, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 811, @@ -53335,7 +53935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -53381,7 +53982,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -53419,7 +54021,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -53440,7 +54043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -53502,7 +54106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 819, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 820, @@ -53543,7 +54148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -53589,7 +54195,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -53627,7 +54234,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -53648,7 +54256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -53700,7 +54309,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 827, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 828, @@ -53726,7 +54336,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 829, @@ -53756,7 +54367,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -53777,7 +54389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -53873,7 +54486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 835, @@ -53893,7 +54507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 835, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -53966,7 +54581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 840, @@ -53986,7 +54602,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 840, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -54019,7 +54636,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -54040,7 +54658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -54077,7 +54696,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 844, @@ -54097,7 +54717,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 844, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 845, @@ -54117,7 +54738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 845, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -54138,7 +54760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -54186,7 +54809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 849, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 850, @@ -54212,7 +54836,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 851, @@ -54242,7 +54867,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -54263,7 +54889,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -54336,7 +54963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 857, @@ -54356,7 +54984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 857, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -54405,7 +55034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 860, @@ -54425,7 +55055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 860, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -54440,7 +55071,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 861, @@ -54494,7 +55126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 865, @@ -54514,7 +55147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 865, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -54549,7 +55183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 866, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -54559,7 +55194,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=amount;" } ] } @@ -54732,13 +55368,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(from,to,amount);uint256fromBalance=_balances[from];require(fromBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[from]=fromBalance-amount;_balances[to]+=amount;}emitTransfer(from,to,amount);_afterTokenTransfer(from,to,amount);}" }, { "id": 868, @@ -54830,7 +55467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 879, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 880, @@ -54871,7 +55509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -54917,7 +55556,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -54955,7 +55595,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -54976,7 +55617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -55049,7 +55691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -55095,7 +55738,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -55126,7 +55770,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 892, @@ -55156,7 +55801,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -55177,7 +55823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -55225,7 +55872,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 896, @@ -55245,7 +55893,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -55255,7 +55904,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 897, @@ -55308,7 +55958,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -55354,7 +56005,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -55379,7 +56031,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 902, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 903, @@ -55399,7 +56052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 903, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -55420,7 +56074,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -55489,7 +56144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -55535,7 +56191,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -55566,7 +56223,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 912, @@ -55596,7 +56254,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -55617,7 +56276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -55690,7 +56350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 918, @@ -55710,7 +56371,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 918, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -55745,7 +56407,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 919, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -55755,7 +56418,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -55884,13 +56548,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;unchecked{_balances[account]+=amount;}emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, { "id": 921, @@ -55982,7 +56647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 933, @@ -56023,7 +56689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -56069,7 +56736,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -56107,7 +56775,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -56128,7 +56797,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -56180,7 +56850,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 941, @@ -56221,7 +56892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -56267,7 +56939,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -56302,7 +56975,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -56323,7 +56997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -56419,7 +57094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 951, @@ -56439,7 +57115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 951, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -56512,7 +57189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 956, @@ -56532,7 +57210,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 956, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -56565,7 +57244,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -56586,7 +57266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -56623,7 +57304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 959, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 960, @@ -56664,7 +57346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -56710,7 +57393,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -56735,7 +57419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -56756,7 +57441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -56804,7 +57490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 968, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 969, @@ -56845,7 +57532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -56891,7 +57579,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -56926,7 +57615,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -56947,7 +57637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -57020,7 +57711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 979, @@ -57040,7 +57732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 979, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -57089,7 +57782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 982, @@ -57109,7 +57803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 982, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -57124,7 +57819,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 983, @@ -57167,7 +57863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 986, @@ -57187,7 +57884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -57197,7 +57895,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -57326,13 +58025,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;_totalSupply-=amount;}emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, { "id": 988, @@ -57424,7 +58124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1001, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1002, @@ -57465,7 +58166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -57511,7 +58213,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -57549,7 +58252,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -57570,7 +58274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -57632,7 +58337,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1010, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1011, @@ -57673,7 +58379,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -57719,7 +58426,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -57757,7 +58465,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -57778,7 +58487,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -57848,7 +58558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1021, @@ -57868,7 +58579,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -57903,7 +58615,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1022, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -57938,7 +58651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1023, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -57948,7 +58662,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 1024, @@ -57980,7 +58695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1025, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1026, @@ -58000,7 +58716,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1027, @@ -58020,7 +58737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1027, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -58041,7 +58759,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -58213,13 +58932,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, { "id": 1030, @@ -58357,7 +59077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1045, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1046, @@ -58383,7 +59104,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -58404,7 +59126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -58455,7 +59178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1040, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1050, @@ -58502,7 +59226,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -58578,7 +59303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1057, @@ -58598,7 +59324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -58631,7 +59358,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -58652,7 +59380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -58831,13 +59560,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_spendAllowance(address, address, uint256)", - "signature": "2b81cb6e", + "signature_raw": "_spendAllowance(address,address,uint256)", + "signature": "1532335e", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_spendAllowance(addressowner,addressspender,uint256amount)internalvirtual{uint256currentAllowance=allowance(owner,spender);if(currentAllowance!=type(uint256).max){require(currentAllowance\u003e=amount,\"ERC20: insufficient allowance\");unchecked{_approve(owner,spender,currentAllowance-amount);}}}" }, { "id": 1060, @@ -59042,13 +59772,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, { "id": 1071, @@ -59253,13 +59984,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" } ], "linearized_base_contracts": [ @@ -59463,7 +60195,7 @@ "mutability": 1, "type_name": { "id": 533, - "node_type": 0, + "node_type": 53, "src": { "line": 407, "column": 4, @@ -59571,7 +60303,7 @@ "mutability": 1, "type_name": { "id": 538, - "node_type": 0, + "node_type": 53, "src": { "line": 409, "column": 4, @@ -60071,7 +60803,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 548, - "is_pure": false + "is_pure": false, + "text": "_name" }, "right_expression": { "id": 565, @@ -60091,7 +60824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 565, - "is_pure": false + "is_pure": false, + "text": "name_" }, "type_description": { "type_identifier": "t_string", @@ -60101,7 +60835,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_name=name_;" }, { "id": 566, @@ -60144,7 +60879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "_symbol" }, "right_expression": { "id": 569, @@ -60164,7 +60900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 569, - "is_pure": false + "is_pure": false, + "text": "symbol_" }, "type_description": { "type_identifier": "t_string", @@ -60174,7 +60911,8 @@ "type_description": { "type_identifier": "t_string", "type_string": "string" - } + }, + "text": "_symbol=symbol_;" } ] } @@ -60359,7 +61097,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 548, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -60513,7 +61252,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionname()publicviewvirtualoverridereturns(stringmemory){return_name;}" }, "id": 571, "node_type": 42, @@ -60624,7 +61364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 548, - "is_pure": false + "is_pure": false, + "text": "_name" } } ] @@ -60761,7 +61502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -60915,7 +61657,8 @@ "type_description": { "type_identifier": "t_function_$_t_string$", "type_string": "function(string)" - } + }, + "text": "functionsymbol()publicviewvirtualoverridereturns(stringmemory){return_symbol;}" }, "id": 583, "node_type": 42, @@ -61026,7 +61769,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 551, - "is_pure": false + "is_pure": false, + "text": "_symbol" } } ] @@ -61165,7 +61909,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -61319,7 +62064,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint8$", "type_string": "function(uint8)" - } + }, + "text": "functiondecimals()publicviewvirtualoverridereturns(uint8){return18;}" }, "id": 595, "node_type": 42, @@ -61432,7 +62178,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "18" } } ] @@ -61569,7 +62316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -61723,7 +62471,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiontotalSupply()publicviewvirtualoverridereturns(uint256){return_totalSupply;}" }, "id": 607, "node_type": 42, @@ -61834,7 +62583,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" } } ] @@ -61982,7 +62732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 631, @@ -62002,7 +62753,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 631, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -62172,7 +62924,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionbalanceOf(addressaccount)publicviewvirtualoverridereturns(uint256){return_balances[account];}" }, "id": 619, "node_type": 42, @@ -62295,7 +63048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 631, @@ -62315,7 +63069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 631, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -62530,7 +63285,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -62583,7 +63339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 644, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 652, @@ -62609,7 +63366,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 653, @@ -62639,7 +63397,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -62660,7 +63419,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -62699,7 +63459,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -62891,13 +63652,14 @@ } ] }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiontransfer(addressto,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_transfer(owner,to,amount);returntrue;}" }, "id": 633, "node_type": 42, @@ -62908,7 +63670,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "9d61d234", + "signature": "a9059cbb", "modifiers": [], "overrides": [], "parameters": [ @@ -63122,7 +63884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -63175,7 +63938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 644, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 652, @@ -63201,7 +63965,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 653, @@ -63231,7 +63996,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -63252,7 +64018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -63291,7 +64058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -63480,7 +64248,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 672, @@ -63500,7 +64269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -63535,7 +64305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -63743,13 +64514,14 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", "type_string": "function(address,address)" - } + }, + "text": "functionallowance(addressowner,addressspender)publicviewvirtualoverridereturns(uint256){return_allowances[owner][spender];}" }, "id": 657, "node_type": 42, @@ -63760,7 +64532,7 @@ "state_mutability": 5, "virtual": true, "referenced_declaration_id": 0, - "signature": "69bfed33", + "signature": "dd62ed3e", "modifiers": [], "overrides": [], "parameters": [ @@ -63934,7 +64706,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 672, @@ -63954,7 +64727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 672, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -63989,7 +64763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -64204,7 +64979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -64257,7 +65033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 686, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 694, @@ -64283,7 +65060,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 695, @@ -64313,7 +65091,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -64334,7 +65113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -64373,7 +65153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -64565,13 +65346,14 @@ } ] }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionapprove(addressspender,uint256amount)publicvirtualoverridereturns(bool){addressowner=_msgSender();_approve(owner,spender,amount);returntrue;}" }, "id": 675, "node_type": 42, @@ -64582,7 +65364,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "8b069f2a", + "signature": "095ea7b3", "modifiers": [], "overrides": [], "parameters": [ @@ -64796,7 +65578,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -64849,7 +65632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 686, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 694, @@ -64875,7 +65659,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 695, @@ -64905,7 +65690,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -64926,7 +65712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -64965,7 +65752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -65195,7 +65983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -65248,7 +66037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 720, @@ -65274,7 +66064,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 721, @@ -65304,7 +66095,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -65325,7 +66117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -65377,7 +66170,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 724, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 725, @@ -65403,7 +66197,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 726, @@ -65433,7 +66228,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -65454,7 +66250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -65493,7 +66290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -65729,13 +66527,14 @@ } ] }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "functiontransferFrom(addressfrom,addressto,uint256amount)publicvirtualoverridereturns(bool){addressspender=_msgSender();_spendAllowance(from,spender,amount);_transfer(from,to,amount);returntrue;}" }, "id": 699, "node_type": 42, @@ -65746,7 +66545,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "b642fe57", + "signature": "23b872dd", "modifiers": [], "overrides": [], "parameters": [ @@ -66011,7 +66810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -66064,7 +66864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 719, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 720, @@ -66090,7 +66891,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 721, @@ -66120,7 +66922,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -66141,7 +66944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_spendAllowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -66193,7 +66997,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 724, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 725, @@ -66219,7 +67024,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 726, @@ -66249,7 +67055,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -66270,7 +67077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_transfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -66309,7 +67117,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -66568,7 +67377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -66621,7 +67431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 748, @@ -66647,7 +67458,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 749, @@ -66704,7 +67516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 753, @@ -66730,7 +67543,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -66751,7 +67565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -66776,7 +67591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 754, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -66802,7 +67618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -66841,7 +67658,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -67014,13 +67832,14 @@ } ] }, - "signature_raw": "increaseAllowance(address, uint256)", - "signature": "0553e395", + "signature_raw": "increaseAllowance(address,uint256)", + "signature": "39509351", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionincreaseAllowance(addressspender,uint256addedValue)publicvirtualreturns(bool){addressowner=_msgSender();_approve(owner,spender,allowance(owner,spender)+addedValue);returntrue;}" }, "id": 730, "node_type": 42, @@ -67031,7 +67850,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "0553e395", + "signature": "39509351", "modifiers": [], "overrides": [], "parameters": [ @@ -67245,7 +68064,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -67298,7 +68118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 748, @@ -67324,7 +68145,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" }, { "id": 749, @@ -67381,7 +68203,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 753, @@ -67407,7 +68230,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -67428,7 +68252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -67453,7 +68278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 754, - "is_pure": false + "is_pure": false, + "text": "addedValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -67479,7 +68305,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_function_$_t_address$_t_address$", @@ -67518,7 +68345,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -67748,7 +68576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -67857,7 +68686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 768, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 779, @@ -67883,7 +68713,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -67904,7 +68735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -67967,7 +68799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 784, @@ -67987,7 +68820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 784, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -68020,7 +68854,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -68041,7 +68876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -68080,7 +68916,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -68142,7 +68979,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 792, @@ -68168,7 +69006,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 793, @@ -68202,7 +69041,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 795, @@ -68222,7 +69062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 795, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -68248,7 +69089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -68427,13 +69269,14 @@ } ] }, - "signature_raw": "decreaseAllowance(address, uint256)", - "signature": "26444acc", + "signature_raw": "decreaseAllowance(address,uint256)", + "signature": "a457c2d7", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functiondecreaseAllowance(addressspender,uint256subtractedValue)publicvirtualreturns(bool){addressowner=_msgSender();uint256currentAllowance=allowance(owner,spender);require(currentAllowance\u003e=subtractedValue,\"ERC20: decreased allowance below zero\");unchecked{_approve(owner,spender,currentAllowance-subtractedValue);}returntrue;}" }, "id": 758, "node_type": 42, @@ -68444,7 +69287,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "26444acc", + "signature": "a457c2d7", "modifiers": [], "overrides": [], "parameters": [ @@ -68658,7 +69501,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -68767,7 +69611,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 768, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 779, @@ -68793,7 +69638,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -68814,7 +69660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -68877,7 +69724,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 784, @@ -68897,7 +69745,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 784, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_bool", @@ -68930,7 +69779,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: decreased allowance below zero\"" } ], "expression": { @@ -68951,7 +69801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -68990,7 +69841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } }, { @@ -69052,7 +69904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 792, @@ -69078,7 +69931,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "spender" }, { "id": 793, @@ -69112,7 +69966,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 795, @@ -69132,7 +69987,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 795, - "is_pure": false + "is_pure": false, + "text": "subtractedValue" }, "type_description": { "type_identifier": "t_uint256", @@ -69158,7 +70014,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_approve" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -69351,7 +70208,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 810, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 811, @@ -69392,7 +70250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -69438,7 +70297,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -69476,7 +70336,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -69497,7 +70358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -69559,7 +70421,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 819, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 820, @@ -69600,7 +70463,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -69646,7 +70510,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -69684,7 +70549,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -69705,7 +70571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -69757,7 +70624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 827, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 828, @@ -69783,7 +70651,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 829, @@ -69813,7 +70682,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -69834,7 +70704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -69930,7 +70801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 835, @@ -69950,7 +70822,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 835, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -70023,7 +70896,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 840, @@ -70043,7 +70917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 840, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -70076,7 +70951,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -70097,7 +70973,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -70134,7 +71011,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 844, @@ -70154,7 +71032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 844, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 845, @@ -70174,7 +71053,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 845, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -70195,7 +71075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -70243,7 +71124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 849, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 850, @@ -70269,7 +71151,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 851, @@ -70299,7 +71182,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -70320,7 +71204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -70393,7 +71278,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 857, @@ -70413,7 +71299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 857, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -70462,7 +71349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 860, @@ -70482,7 +71370,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 860, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -70497,7 +71386,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 861, @@ -70551,7 +71441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 865, @@ -70571,7 +71462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 865, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -70606,7 +71498,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 866, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -70616,7 +71509,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=amount;" } ] } @@ -70789,13 +71683,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_transfer(address, address, uint256)", - "signature": "5dbcfdbe", + "signature_raw": "_transfer(address,address,uint256)", + "signature": "30e0789e", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_transfer(addressfrom,addressto,uint256amount)internalvirtual{require(from!=address(0),\"ERC20: transfer from the zero address\");require(to!=address(0),\"ERC20: transfer to the zero address\");_beforeTokenTransfer(from,to,amount);uint256fromBalance=_balances[from];require(fromBalance\u003e=amount,\"ERC20: transfer amount exceeds balance\");unchecked{_balances[from]=fromBalance-amount;_balances[to]+=amount;}emitTransfer(from,to,amount);_afterTokenTransfer(from,to,amount);}" }, "id": 797, "node_type": 42, @@ -70806,7 +71701,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "5dbcfdbe", + "signature": "30e0789e", "modifiers": [], "overrides": [], "parameters": [ @@ -71033,7 +71928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 810, - "is_pure": false + "is_pure": false, + "text": "from" }, "right_expression": { "id": 811, @@ -71074,7 +71970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -71120,7 +72017,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -71158,7 +72056,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer from the zero address\"" } ], "expression": { @@ -71179,7 +72078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -71241,7 +72141,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 819, - "is_pure": false + "is_pure": false, + "text": "to" }, "right_expression": { "id": 820, @@ -71282,7 +72183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -71328,7 +72230,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -71366,7 +72269,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer to the zero address\"" } ], "expression": { @@ -71387,7 +72291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -71439,7 +72344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 827, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 828, @@ -71465,7 +72371,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 829, @@ -71495,7 +72402,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -71516,7 +72424,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -71612,7 +72521,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 835, @@ -71632,7 +72542,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 835, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -71705,7 +72616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 840, @@ -71725,7 +72637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 840, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -71758,7 +72671,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: transfer amount exceeds balance\"" } ], "expression": { @@ -71779,7 +72693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -71816,7 +72731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 843, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 844, @@ -71836,7 +72752,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 844, - "is_pure": false + "is_pure": false, + "text": "to" }, { "id": 845, @@ -71856,7 +72773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 845, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -71877,7 +72795,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -71925,7 +72844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 849, - "is_pure": false + "is_pure": false, + "text": "from" }, { "id": 850, @@ -71951,7 +72871,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "to" }, { "id": 851, @@ -71981,7 +72902,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -72002,7 +72924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", @@ -72075,7 +72998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 857, @@ -72095,7 +73019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 857, - "is_pure": false + "is_pure": false, + "text": "from" }, "type_descriptions": [ { @@ -72144,7 +73069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 830, - "is_pure": false + "is_pure": false, + "text": "fromBalance" }, "right_expression": { "id": 860, @@ -72164,7 +73090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 860, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -72179,7 +73106,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[from]=fromBalance-amount;" }, { "id": 861, @@ -72233,7 +73161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 865, @@ -72253,7 +73182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 865, - "is_pure": false + "is_pure": false, + "text": "to" }, "type_descriptions": [ { @@ -72288,7 +73218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 866, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -72298,7 +73229,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[to]+=amount;" } ] } @@ -72541,7 +73473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 879, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 880, @@ -72582,7 +73515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -72628,7 +73562,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -72666,7 +73601,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -72687,7 +73623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -72760,7 +73697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -72806,7 +73744,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -72837,7 +73776,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 892, @@ -72867,7 +73807,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -72888,7 +73829,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -72936,7 +73878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 896, @@ -72956,7 +73899,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -72966,7 +73910,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 897, @@ -73019,7 +73964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -73065,7 +74011,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -73090,7 +74037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 902, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 903, @@ -73110,7 +74058,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 903, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -73131,7 +74080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -73200,7 +74150,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -73246,7 +74197,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -73277,7 +74229,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 912, @@ -73307,7 +74260,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -73328,7 +74282,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -73401,7 +74356,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 918, @@ -73421,7 +74377,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 918, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -73456,7 +74413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 919, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -73466,7 +74424,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -73595,13 +74554,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_mint(address, uint256)", - "signature": "7dbf8efb", + "signature_raw": "_mint(address,uint256)", + "signature": "4e6ec247", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_mint(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: mint to the zero address\");_beforeTokenTransfer(address(0),account,amount);_totalSupply+=amount;unchecked{_balances[account]+=amount;}emitTransfer(address(0),account,amount);_afterTokenTransfer(address(0),account,amount);}" }, "id": 868, "node_type": 42, @@ -73612,7 +74572,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "7dbf8efb", + "signature": "4e6ec247", "modifiers": [], "overrides": [], "parameters": [ @@ -73788,7 +74748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 879, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 880, @@ -73829,7 +74790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -73875,7 +74837,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -73913,7 +74876,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: mint to the zero address\"" } ], "expression": { @@ -73934,7 +74898,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -74007,7 +74972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -74053,7 +75019,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -74084,7 +75051,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 892, @@ -74114,7 +75082,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -74135,7 +75104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -74183,7 +75153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 896, @@ -74203,7 +75174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 896, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -74213,7 +75185,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply+=amount;" }, { "id": 897, @@ -74266,7 +75239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -74312,7 +75286,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -74337,7 +75312,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 902, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 903, @@ -74357,7 +75333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 903, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -74378,7 +75355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -74447,7 +75425,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -74493,7 +75472,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -74524,7 +75504,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "account" }, { "id": 912, @@ -74554,7 +75535,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "amount" } ], "expression": { @@ -74575,7 +75557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_0_by_1$_t_address$_t_uint256$", @@ -74648,7 +75631,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 918, @@ -74668,7 +75652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 918, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -74703,7 +75688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 919, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", @@ -74713,7 +75699,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]+=amount;" } ] } @@ -74908,7 +75895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 933, @@ -74949,7 +75937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -74995,7 +75984,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -75033,7 +76023,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -75054,7 +76045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -75106,7 +76098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 941, @@ -75147,7 +76140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -75193,7 +76187,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -75228,7 +76223,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -75249,7 +76245,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -75345,7 +76342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 951, @@ -75365,7 +76363,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 951, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -75438,7 +76437,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 956, @@ -75458,7 +76458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 956, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -75491,7 +76492,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -75512,7 +76514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -75549,7 +76552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 959, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 960, @@ -75590,7 +76594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -75636,7 +76641,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -75661,7 +76667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -75682,7 +76689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -75730,7 +76738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 968, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 969, @@ -75771,7 +76780,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -75817,7 +76827,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -75852,7 +76863,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -75873,7 +76885,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -75946,7 +76959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 979, @@ -75966,7 +76980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 979, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -76015,7 +77030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 982, @@ -76035,7 +77051,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 982, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -76050,7 +77067,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 983, @@ -76093,7 +77111,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 986, @@ -76113,7 +77132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -76123,7 +77143,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -76252,13 +77273,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_burn(address, uint256)", - "signature": "dd1607d7", + "signature_raw": "_burn(address,uint256)", + "signature": "6161eb18", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "function_burn(addressaccount,uint256amount)internalvirtual{require(account!=address(0),\"ERC20: burn from the zero address\");_beforeTokenTransfer(account,address(0),amount);uint256accountBalance=_balances[account];require(accountBalance\u003e=amount,\"ERC20: burn amount exceeds balance\");unchecked{_balances[account]=accountBalance-amount;_totalSupply-=amount;}emitTransfer(account,address(0),amount);_afterTokenTransfer(account,address(0),amount);}" }, "id": 921, "node_type": 42, @@ -76269,7 +77291,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "dd1607d7", + "signature": "6161eb18", "modifiers": [], "overrides": [], "parameters": [ @@ -76445,7 +77467,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 932, - "is_pure": false + "is_pure": false, + "text": "account" }, "right_expression": { "id": 933, @@ -76486,7 +77509,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -76532,7 +77556,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -76570,7 +77595,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn from the zero address\"" } ], "expression": { @@ -76591,7 +77617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -76643,7 +77670,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 941, @@ -76684,7 +77712,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -76730,7 +77759,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -76765,7 +77795,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -76786,7 +77817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -76882,7 +77914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 951, @@ -76902,7 +77935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 951, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -76975,7 +78009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 956, @@ -76995,7 +78030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 956, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -77028,7 +78064,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: burn amount exceeds balance\"" } ], "expression": { @@ -77049,7 +78086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -77086,7 +78124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 959, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 960, @@ -77127,7 +78166,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -77173,7 +78213,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -77198,7 +78239,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 964, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -77219,7 +78261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "Transfer" } }, { @@ -77267,7 +78310,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 968, - "is_pure": false + "is_pure": false, + "text": "account" }, { "id": 969, @@ -77308,7 +78352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -77354,7 +78399,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -77389,7 +78435,8 @@ "type_identifier": "t_function_$_t_rational_0_by_1$", "type_string": "function(int_const 0)" } - ] + ], + "text": "amount" } ], "expression": { @@ -77410,7 +78457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_afterTokenTransfer" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function_$_t_rational_0_by_1$_t_uint256$", @@ -77483,7 +78531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 532, - "is_pure": false + "is_pure": false, + "text": "_balances" }, "base_expression": { "id": 979, @@ -77503,7 +78552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 979, - "is_pure": false + "is_pure": false, + "text": "account" }, "type_descriptions": [ { @@ -77552,7 +78602,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 946, - "is_pure": false + "is_pure": false, + "text": "accountBalance" }, "right_expression": { "id": 982, @@ -77572,7 +78623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 982, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -77587,7 +78639,8 @@ "type_description": { "type_identifier": "t_[_[$_t_mapping_$t_address_$t_uint256$]$_t_address]$", "type_string": "index[mapping(address=\u003euint256):address]" - } + }, + "text": "_balances[account]=accountBalance-amount;" }, { "id": 983, @@ -77630,7 +78683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 545, - "is_pure": false + "is_pure": false, + "text": "_totalSupply" }, "right_expression": { "id": 986, @@ -77650,7 +78704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 986, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_uint256", @@ -77660,7 +78715,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_totalSupply-=amount;" } ] } @@ -77879,7 +78935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1001, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1002, @@ -77920,7 +78977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -77966,7 +79024,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -78004,7 +79063,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -78025,7 +79085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -78087,7 +79148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1010, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1011, @@ -78128,7 +79190,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -78174,7 +79237,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -78212,7 +79276,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -78233,7 +79298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -78303,7 +79369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1021, @@ -78323,7 +79390,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -78358,7 +79426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1022, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -78393,7 +79462,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1023, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -78403,7 +79473,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 1024, @@ -78435,7 +79506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1025, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1026, @@ -78455,7 +79527,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1027, @@ -78475,7 +79548,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1027, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -78496,7 +79570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -78668,13 +79743,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_approve(address, address, uint256)", - "signature": "76c3ae3e", + "signature_raw": "_approve(address,address,uint256)", + "signature": "104e81ff", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_approve(addressowner,addressspender,uint256amount)internalvirtual{require(owner!=address(0),\"ERC20: approve from the zero address\");require(spender!=address(0),\"ERC20: approve to the zero address\");_allowances[owner][spender]=amount;emitApproval(owner,spender,amount);}" }, "id": 988, "node_type": 42, @@ -78685,7 +79761,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "76c3ae3e", + "signature": "104e81ff", "modifiers": [], "overrides": [], "parameters": [ @@ -78912,7 +79988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1001, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 1002, @@ -78953,7 +80030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -78999,7 +80077,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -79037,7 +80116,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve from the zero address\"" } ], "expression": { @@ -79058,7 +80138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -79120,7 +80201,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1010, - "is_pure": false + "is_pure": false, + "text": "spender" }, "right_expression": { "id": 1011, @@ -79161,7 +80243,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -79207,7 +80290,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -79245,7 +80329,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: approve to the zero address\"" } ], "expression": { @@ -79266,7 +80351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -79336,7 +80422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 537, - "is_pure": false + "is_pure": false, + "text": "_allowances" }, "base_expression": { "id": 1021, @@ -79356,7 +80443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1021, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_descriptions": [ { @@ -79391,7 +80479,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1022, - "is_pure": false + "is_pure": false, + "text": "spender" }, "type_descriptions": [ { @@ -79426,7 +80515,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1023, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", @@ -79436,7 +80526,8 @@ "type_description": { "type_identifier": "t_[_[$_t_[_[$_t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$]$_t_address]$]$_t_address]$", "type_string": "index[index[mapping(address=\u003emapping(address=\u003euint256)):address]:address]" - } + }, + "text": "_allowances[owner][spender]=amount;" }, { "id": 1024, @@ -79468,7 +80559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1025, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1026, @@ -79488,7 +80580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1026, - "is_pure": false + "is_pure": false, + "text": "spender" }, { "id": 1027, @@ -79508,7 +80601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1027, - "is_pure": false + "is_pure": false, + "text": "amount" } ], "expression": { @@ -79529,7 +80623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 437, - "is_pure": false + "is_pure": false, + "text": "Approval" } } ] @@ -79735,7 +80830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1045, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1046, @@ -79761,7 +80857,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -79782,7 +80879,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -79833,7 +80931,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1040, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1050, @@ -79880,7 +80979,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -79956,7 +81056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1057, @@ -79976,7 +81077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -80009,7 +81111,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -80030,7 +81133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -80209,13 +81313,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_spendAllowance(address, address, uint256)", - "signature": "2b81cb6e", + "signature_raw": "_spendAllowance(address,address,uint256)", + "signature": "1532335e", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_spendAllowance(addressowner,addressspender,uint256amount)internalvirtual{uint256currentAllowance=allowance(owner,spender);if(currentAllowance!=type(uint256).max){require(currentAllowance\u003e=amount,\"ERC20: insufficient allowance\");unchecked{_approve(owner,spender,currentAllowance-amount);}}}" }, "id": 1030, "node_type": 42, @@ -80226,7 +81331,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "2b81cb6e", + "signature": "1532335e", "modifiers": [], "overrides": [], "parameters": [ @@ -80499,7 +81604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1045, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 1046, @@ -80525,7 +81631,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "spender" } ], "expression": { @@ -80546,7 +81653,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "allowance" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$", @@ -80597,7 +81705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1040, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1050, @@ -80644,7 +81753,8 @@ "type_description": { "type_identifier": "", "type_string": "type" - } + }, + "text": "type(uint256).max" }, "type_description": { "type_identifier": "t_bool", @@ -80720,7 +81830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 773, - "is_pure": false + "is_pure": false, + "text": "currentAllowance" }, "right_expression": { "id": 1057, @@ -80740,7 +81851,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1057, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -80773,7 +81885,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC20: insufficient allowance\"" } ], "expression": { @@ -80794,7 +81907,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -81025,13 +82139,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_beforeTokenTransfer(address, address, uint256)", - "signature": "03cc7b47", + "signature_raw": "_beforeTokenTransfer(address,address,uint256)", + "signature": "cad3be83", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_beforeTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, "id": 1060, "node_type": 42, @@ -81042,7 +82157,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "03cc7b47", + "signature": "cad3be83", "modifiers": [], "overrides": [], "parameters": [ @@ -81434,13 +82549,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_afterTokenTransfer(address, address, uint256)", - "signature": "41e6856b", + "signature_raw": "_afterTokenTransfer(address,address,uint256)", + "signature": "8f811a1c", "scope": 524, "type_description": { "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", "type_string": "function(address,address,uint256)" - } + }, + "text": "function_afterTokenTransfer(addressfrom,addressto,uint256amount)internalvirtual{}" }, "id": 1071, "node_type": 42, @@ -81451,7 +82567,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "41e6856b", + "signature": "8f811a1c", "modifiers": [], "overrides": [], "parameters": [ diff --git a/data/tests/ir/ERC20.ir.proto.json b/data/tests/ir/ERC20.ir.proto.json index 5d675d18..02c1c50e 100644 --- a/data/tests/ir/ERC20.ir.proto.json +++ b/data/tests/ir/ERC20.ir.proto.json @@ -2,9 +2,6 @@ "node_type": 80, "entry_contract_id": 524, "entry_contract_name": "ERC20", - "contract_types": [ - "token" - ], "contracts_count": 5, "contracts": [ { @@ -75,7 +72,7 @@ "id": 80, "node_type": 46 }, - "signature": "d730d6d4", + "signature": "884557bf", "return": [ { "id": 76, @@ -130,7 +127,7 @@ "id": 109, "node_type": 46 }, - "signature": "9f7e8c62", + "signature": "a29962b1", "return": [ { "id": 105, @@ -185,7 +182,7 @@ "id": 134, "node_type": 46 }, - "signature": "72cd6357", + "signature": "6281efa4", "return": [ { "id": 130, @@ -240,7 +237,7 @@ "id": 170, "node_type": 46 }, - "signature": "8b61a525", + "signature": "736ecb18", "return": [ { "id": 166, @@ -295,7 +292,7 @@ "id": 195, "node_type": 46 }, - "signature": "4ed783cc", + "signature": "38dc0867", "return": [ { "id": 191, @@ -351,7 +348,7 @@ "id": 218, "node_type": 46 }, - "signature": "f31e4d28", + "signature": "771602f7", "return": [ { "id": 216, @@ -398,7 +395,7 @@ "id": 233, "node_type": 46 }, - "signature": "bf3b2b28", + "signature": "b67d77c5", "return": [ { "id": 231, @@ -445,7 +442,7 @@ "id": 248, "node_type": 46 }, - "signature": "cd3ef6fa", + "signature": "c8a4ac9c", "return": [ { "id": 246, @@ -492,7 +489,7 @@ "id": 263, "node_type": 46 }, - "signature": "4530da25", + "signature": "a391c15b", "return": [ { "id": 261, @@ -539,7 +536,7 @@ "id": 278, "node_type": 46 }, - "signature": "1130353e", + "signature": "f43f523a", "return": [ { "id": 276, @@ -595,7 +592,7 @@ "id": 295, "node_type": 46 }, - "signature": "2a4c5531", + "signature": "e31bdc0a", "return": [ { "id": 293, @@ -651,7 +648,7 @@ "id": 319, "node_type": 46 }, - "signature": "2ed1535b", + "signature": "b745d336", "return": [ { "id": 317, @@ -707,7 +704,7 @@ "id": 343, "node_type": 46 }, - "signature": "b44cfd1a", + "signature": "71af23e8", "return": [ { "id": 341, @@ -937,7 +934,7 @@ "id": 391, "node_type": 46 }, - "signature": "9d61d234", + "signature": "a9059cbb", "return": [ { "id": 389, @@ -983,7 +980,7 @@ "id": 402, "node_type": 46 }, - "signature": "69bfed33", + "signature": "dd62ed3e", "return": [ { "id": 400, @@ -1029,7 +1026,7 @@ "id": 413, "node_type": 46 }, - "signature": "8b069f2a", + "signature": "095ea7b3", "return": [ { "id": 411, @@ -1085,7 +1082,7 @@ "id": 426, "node_type": 46 }, - "signature": "b642fe57", + "signature": "23b872dd", "return": [ { "id": 424, @@ -1772,7 +1769,7 @@ } ] }, - "signature": "9d61d234", + "signature": "a9059cbb", "return": [ { "id": 641, @@ -1820,7 +1817,7 @@ "id": 667, "node_type": 46 }, - "signature": "69bfed33", + "signature": "dd62ed3e", "return": [ { "id": 665, @@ -1901,7 +1898,7 @@ } ] }, - "signature": "8b069f2a", + "signature": "095ea7b3", "return": [ { "id": 683, @@ -2023,7 +2020,7 @@ } ] }, - "signature": "b642fe57", + "signature": "23b872dd", "return": [ { "id": 709, @@ -2104,7 +2101,7 @@ } ] }, - "signature": "0553e395", + "signature": "39509351", "return": [ { "id": 737, @@ -2176,7 +2173,7 @@ } ] }, - "signature": "26444acc", + "signature": "a457c2d7", "return": [ { "id": 765, @@ -2366,7 +2363,7 @@ } ] }, - "signature": "5dbcfdbe" + "signature": "30e0789e" }, { "id": 868, @@ -2489,7 +2486,7 @@ } ] }, - "signature": "7dbf8efb" + "signature": "4e6ec247" }, { "id": 921, @@ -2635,7 +2632,7 @@ } ] }, - "signature": "dd1607d7" + "signature": "6161eb18" }, { "id": 988, @@ -2730,7 +2727,7 @@ } ] }, - "signature": "76c3ae3e" + "signature": "104e81ff" }, { "id": 1030, @@ -2777,7 +2774,7 @@ "id": 1039, "node_type": 46 }, - "signature": "2b81cb6e" + "signature": "1532335e" }, { "id": 1060, @@ -2824,7 +2821,7 @@ "id": 1069, "node_type": 46 }, - "signature": "03cc7b47" + "signature": "cad3be83" }, { "id": 1071, @@ -2871,7 +2868,7 @@ "id": 1080, "node_type": 46 }, - "signature": "41e6856b" + "signature": "8f811a1c" } ] } diff --git a/data/tests/ir/Lottery.ir.json b/data/tests/ir/Lottery.ir.json index b5b1f62f..14364f30 100644 --- a/data/tests/ir/Lottery.ir.json +++ b/data/tests/ir/Lottery.ir.json @@ -5,7 +5,7 @@ "entry_source_unit": 22, "globals": [ { - "id": 489, + "id": 490, "name": "DUMMY_CONSTANT", "is_constant": true, "is_state_variable": true, @@ -26,7 +26,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 490, + "id": 491, "node_type": 30, "src": { "line": 9, @@ -34,7 +34,7 @@ "start": 164, "end": 170, "length": 7, - "parent_index": 489 + "parent_index": 490 }, "name": "uint256", "referenced_declaration": 0, @@ -44,7 +44,7 @@ } }, "initial_value": { - "id": 491, + "id": 492, "node_type": 17, "kind": 49, "value": "12345", @@ -55,7 +55,7 @@ "start": 205, "end": 209, "length": 5, - "parent_index": 489 + "parent_index": 490 }, "type_description": { "type_identifier": "t_rational_12345_by_1", @@ -63,11 +63,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "12345" } }, { - "id": 492, + "id": 493, "node_type": 66, "src": { "line": 11, @@ -82,17 +83,17 @@ "start": 222, "end": 233, "length": 12, - "parent_index": 492 + "parent_index": 493 }, "name": "LotteryState", "canonical_name": "Global.LotteryState", "type_description": { - "type_identifier": "t_enum_$_LotteryState_$492", + "type_identifier": "t_enum_$_LotteryState_$493", "type_string": "enum Global.LotteryState" }, "members": [ { - "id": 493, + "id": 494, "node_type": 15, "src": { "line": 11, @@ -100,7 +101,7 @@ "start": 237, "end": 245, "length": 8, - "parent_index": 492 + "parent_index": 493 }, "name_location": { "line": 11, @@ -108,16 +109,16 @@ "start": 237, "end": 245, "length": 9, - "parent_index": 492 + "parent_index": 493 }, "name": "Accepting", "type_description": { - "type_identifier": "t_enum_$_LotteryState$_Accepting_$493", + "type_identifier": "t_enum_$_LotteryState$_Accepting_$494", "type_string": "enum Global.LotteryState.Accepting" } }, { - "id": 494, + "id": 495, "node_type": 15, "src": { "line": 11, @@ -125,7 +126,7 @@ "start": 248, "end": 255, "length": 7, - "parent_index": 492 + "parent_index": 493 }, "name_location": { "line": 11, @@ -133,18 +134,18 @@ "start": 248, "end": 255, "length": 8, - "parent_index": 492 + "parent_index": 493 }, "name": "Finished", "type_description": { - "type_identifier": "t_enum_$_LotteryState$_Finished_$494", + "type_identifier": "t_enum_$_LotteryState$_Finished_$495", "type_string": "enum Global.LotteryState.Finished" } } ] }, { - "id": 495, + "id": 496, "node_type": 67, "src": { "line": 12, @@ -160,16 +161,16 @@ "start": 270, "end": 275, "length": 6, - "parent_index": 495 + "parent_index": 496 }, "canonical_name": "Global.Player", "type_description": { - "type_identifier": "t_struct$_Global_Player_$495", + "type_identifier": "t_struct$_Global_Player_$496", "type_string": "struct Global.Player" }, "members": [ { - "id": 496, + "id": 497, "node_type": 44, "src": { "line": 13, @@ -177,11 +178,11 @@ "start": 287, "end": 299, "length": 13, - "parent_index": 495 + "parent_index": 496 }, "name": "addr", "type_name": { - "id": 497, + "id": 498, "node_type": 30, "src": { "line": 13, @@ -189,7 +190,7 @@ "start": 287, "end": 293, "length": 7, - "parent_index": 496 + "parent_index": 497 }, "name": "address", "state_mutability": 4, @@ -207,7 +208,7 @@ } }, { - "id": 498, + "id": 499, "node_type": 44, "src": { "line": 14, @@ -215,11 +216,11 @@ "start": 309, "end": 328, "length": 20, - "parent_index": 495 + "parent_index": 496 }, "name": "ticketCount", "type_name": { - "id": 499, + "id": 500, "node_type": 30, "src": { "line": 14, @@ -227,7 +228,7 @@ "start": 309, "end": 315, "length": 7, - "parent_index": 498 + "parent_index": 499 }, "name": "uint256", "referenced_declaration": 0, @@ -248,7 +249,7 @@ "storage_location": 1 }, { - "id": 500, + "id": 501, "name": "players", "is_constant": false, "is_state_variable": true, @@ -262,25 +263,25 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Global_Player_$496$", "type_string": "mapping(address=\u003ePlayer)" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 501, - "node_type": 0, + "id": 502, + "node_type": 69, "src": { "line": 16, "column": 4, "start": 340, "end": 365, "length": 26, - "parent_index": 500 + "parent_index": 501 }, "key_type": { - "id": 502, + "id": 503, "node_type": 30, "src": { "line": 16, @@ -288,7 +289,7 @@ "start": 348, "end": 354, "length": 7, - "parent_index": 501 + "parent_index": 502 }, "name": "address", "referenced_declaration": 0, @@ -303,24 +304,24 @@ "start": 348, "end": 354, "length": 7, - "parent_index": 501 + "parent_index": 502 }, "value_type": { - "id": 503, - "node_type": 30, + "id": 504, + "node_type": 69, "src": { "line": 16, "column": 23, "start": 359, "end": 364, "length": 6, - "parent_index": 501 + "parent_index": 502 }, "name": "Player", - "referenced_declaration": 0, + "referenced_declaration": 496, "type_description": { - "type_identifier": "t_Player", - "type_string": "Player" + "type_identifier": "t_struct$_Global_Player_$496", + "type_string": "struct Global.Player" } }, "value_name_location": { @@ -329,18 +330,40 @@ "start": 359, "end": 364, "length": 6, - "parent_index": 501 + "parent_index": 502 }, - "referenced_declaration": 0, + "path_node": { + "id": 505, + "name": "Player", + "node_type": 52, + "referenced_declaration": 496, + "src": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 502 + }, + "name_location": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 502 + } + }, + "referenced_declaration": 496, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Global_Player_$496$", "type_string": "mapping(address=\u003ePlayer)" } }, "initial_value": null }, { - "id": 504, + "id": 506, "name": "playerAddresses", "is_constant": false, "is_state_variable": true, @@ -361,7 +384,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 505, + "id": 507, "node_type": 16, "src": { "line": 17, @@ -369,7 +392,7 @@ "start": 387, "end": 393, "length": 7, - "parent_index": 504 + "parent_index": 506 }, "name": "address", "referenced_declaration": 0, @@ -381,7 +404,7 @@ "initial_value": null }, { - "id": 506, + "id": 508, "name": "state", "is_constant": false, "is_state_variable": true, @@ -395,14 +418,14 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_enum_$_LotteryState_$492", + "type_identifier": "t_enum_$_LotteryState_$493", "type_string": "enum Global.LotteryState" }, "visibility": 3, "storage_location": 1, "mutability": 1, "type_name": { - "id": 507, + "id": 509, "node_type": 69, "src": { "line": 19, @@ -410,20 +433,20 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 506 + "parent_index": 508 }, "path_node": { - "id": 508, + "id": 510, "name": "LotteryState", "node_type": 52, - "referenced_declaration": 492, + "referenced_declaration": 493, "src": { "line": 19, "column": 4, "start": 426, "end": 437, "length": 12, - "parent_index": 507 + "parent_index": 509 }, "name_location": { "line": 19, @@ -431,19 +454,19 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 507 + "parent_index": 509 } }, - "referenced_declaration": 492, + "referenced_declaration": 493, "type_description": { - "type_identifier": "t_enum_$_LotteryState_$492", + "type_identifier": "t_enum_$_LotteryState_$493", "type_string": "enum Global.LotteryState" } }, "initial_value": null }, { - "id": 509, + "id": 511, "node_type": 57, "src": { "line": 21, @@ -453,7 +476,7 @@ "length": 33 }, "parameters": { - "id": 510, + "id": 512, "node_type": 43, "src": { "line": 21, @@ -461,11 +484,11 @@ "start": 458, "end": 490, "length": 33, - "parent_index": 509 + "parent_index": 511 }, "parameters": [ { - "id": 511, + "id": 513, "node_type": 44, "src": { "line": 21, @@ -473,12 +496,12 @@ "start": 477, "end": 488, "length": 12, - "parent_index": 510 + "parent_index": 512 }, - "scope": 509, + "scope": 511, "name": "addr", "type_name": { - "id": 512, + "id": 514, "node_type": 30, "src": { "line": 21, @@ -486,7 +509,7 @@ "start": 477, "end": 483, "length": 7, - "parent_index": 511 + "parent_index": 513 }, "name": "address", "state_mutability": 4, @@ -515,12 +538,12 @@ "name": "PlayerJoined", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_PlayerJoined_\u0026509", + "type_identifier": "t_event\u0026_Global_PlayerJoined_\u0026511", "type_string": "event Global.PlayerJoined" } }, { - "id": 513, + "id": 515, "node_type": 57, "src": { "line": 22, @@ -530,7 +553,7 @@ "length": 38 }, "parameters": { - "id": 514, + "id": 516, "node_type": 43, "src": { "line": 22, @@ -538,11 +561,11 @@ "start": 496, "end": 533, "length": 38, - "parent_index": 513 + "parent_index": 515 }, "parameters": [ { - "id": 515, + "id": 517, "node_type": 44, "src": { "line": 22, @@ -550,12 +573,12 @@ "start": 518, "end": 531, "length": 14, - "parent_index": 514 + "parent_index": 516 }, - "scope": 513, + "scope": 515, "name": "winner", "type_name": { - "id": 516, + "id": 518, "node_type": 30, "src": { "line": 22, @@ -563,7 +586,7 @@ "start": 518, "end": 524, "length": 7, - "parent_index": 515 + "parent_index": 517 }, "name": "address", "state_mutability": 4, @@ -592,12 +615,12 @@ "name": "LotteryFinished", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_LotteryFinished_\u0026513", + "type_identifier": "t_event\u0026_Global_LotteryFinished_\u0026515", "type_string": "event Global.LotteryFinished" } }, { - "id": 517, + "id": 519, "node_type": 57, "src": { "line": 23, @@ -607,7 +630,7 @@ "length": 31 }, "parameters": { - "id": 518, + "id": 520, "node_type": 43, "src": { "line": 23, @@ -615,7 +638,7 @@ "start": 539, "end": 569, "length": 31, - "parent_index": 517 + "parent_index": 519 }, "parameters": [], "parameter_types": [] @@ -623,12 +646,12 @@ "name": "ExternalCallSuccessful", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_ExternalCallSuccessful_\u0026517", + "type_identifier": "t_event\u0026_Global_ExternalCallSuccessful_\u0026519", "type_string": "event Global.ExternalCallSuccessful" } }, { - "id": 519, + "id": 521, "node_type": 57, "src": { "line": 24, @@ -638,7 +661,7 @@ "length": 40 }, "parameters": { - "id": 520, + "id": 522, "node_type": 43, "src": { "line": 24, @@ -646,11 +669,11 @@ "start": 575, "end": 614, "length": 40, - "parent_index": 519 + "parent_index": 521 }, "parameters": [ { - "id": 521, + "id": 523, "node_type": 44, "src": { "line": 24, @@ -658,12 +681,12 @@ "start": 600, "end": 612, "length": 13, - "parent_index": 520 + "parent_index": 522 }, - "scope": 519, + "scope": 521, "name": "reason", "type_name": { - "id": 522, + "id": 524, "node_type": 30, "src": { "line": 24, @@ -671,7 +694,7 @@ "start": 600, "end": 605, "length": 6, - "parent_index": 521 + "parent_index": 523 }, "name": "string", "referenced_declaration": 0, @@ -699,12 +722,12 @@ "name": "ExternalCallFailed", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_ExternalCallFailed_\u0026519", + "type_identifier": "t_event\u0026_Global_ExternalCallFailed_\u0026521", "type_string": "event Global.ExternalCallFailed" } }, { - "id": 523, + "id": 525, "node_type": 77, "src": { "line": 27, @@ -720,10 +743,10 @@ "start": 655, "end": 666, "length": 12, - "parent_index": 523 + "parent_index": 525 }, "parameters": { - "id": 524, + "id": 526, "node_type": 43, "src": { "line": 27, @@ -731,18 +754,18 @@ "start": 649, "end": 669, "length": 21, - "parent_index": 523 + "parent_index": 525 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_InvalidState_$523", + "type_identifier": "t_error$_Global_InvalidState_$525", "type_string": "error Global.InvalidState" } }, { - "id": 525, + "id": 527, "node_type": 77, "src": { "line": 28, @@ -758,10 +781,10 @@ "start": 681, "end": 702, "length": 22, - "parent_index": 525 + "parent_index": 527 }, "parameters": { - "id": 526, + "id": 528, "node_type": 43, "src": { "line": 28, @@ -769,18 +792,18 @@ "start": 675, "end": 705, "length": 31, - "parent_index": 525 + "parent_index": 527 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_OwnerCannotParticipate_$525", + "type_identifier": "t_error$_Global_OwnerCannotParticipate_$527", "type_string": "error Global.OwnerCannotParticipate" } }, { - "id": 527, + "id": 529, "node_type": 77, "src": { "line": 29, @@ -796,10 +819,10 @@ "start": 717, "end": 731, "length": 15, - "parent_index": 527 + "parent_index": 529 }, "parameters": { - "id": 528, + "id": 530, "node_type": 43, "src": { "line": 29, @@ -807,18 +830,18 @@ "start": 711, "end": 734, "length": 24, - "parent_index": 527 + "parent_index": 529 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_NoValueProvided_$527", + "type_identifier": "t_error$_Global_NoValueProvided_$529", "type_string": "error Global.NoValueProvided" } }, { - "id": 529, + "id": 531, "node_type": 77, "src": { "line": 30, @@ -834,10 +857,10 @@ "start": 746, "end": 758, "length": 13, - "parent_index": 529 + "parent_index": 531 }, "parameters": { - "id": 530, + "id": 532, "node_type": 43, "src": { "line": 30, @@ -845,18 +868,18 @@ "start": 740, "end": 761, "length": 22, - "parent_index": 529 + "parent_index": 531 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_InvalidWinner_$529", + "type_identifier": "t_error$_Global_InvalidWinner_$531", "type_string": "error Global.InvalidWinner" } }, { - "id": 531, + "id": 533, "node_type": 77, "src": { "line": 31, @@ -872,10 +895,10 @@ "start": 773, "end": 792, "length": 20, - "parent_index": 531 + "parent_index": 533 }, "parameters": { - "id": 532, + "id": 534, "node_type": 43, "src": { "line": 31, @@ -883,18 +906,18 @@ "start": 767, "end": 795, "length": 29, - "parent_index": 531 + "parent_index": 533 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_InvalidPlayerAddress_$531", + "type_identifier": "t_error$_Global_InvalidPlayerAddress_$533", "type_string": "error Global.InvalidPlayerAddress" } }, { - "id": 533, + "id": 535, "node_type": 77, "src": { "line": 32, @@ -910,10 +933,10 @@ "start": 807, "end": 822, "length": 16, - "parent_index": 533 + "parent_index": 535 }, "parameters": { - "id": 534, + "id": 536, "node_type": 43, "src": { "line": 32, @@ -921,18 +944,18 @@ "start": 801, "end": 825, "length": 25, - "parent_index": 533 + "parent_index": 535 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Global_OnlyOwnerCanCall_$533", + "type_identifier": "t_error$_Global_OnlyOwnerCanCall_$535", "type_string": "error Global.OnlyOwnerCanCall" } }, { - "id": 535, + "id": 537, "name": "index", "is_constant": true, "is_state_variable": true, @@ -953,7 +976,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 536, + "id": 538, "node_type": 30, "src": { "line": 73, @@ -961,7 +984,7 @@ "start": 1779, "end": 1785, "length": 7, - "parent_index": 535 + "parent_index": 537 }, "name": "uint256", "referenced_declaration": 0, @@ -973,7 +996,7 @@ "initial_value": null }, { - "id": 537, + "id": 539, "name": "winner", "is_constant": true, "is_state_variable": true, @@ -994,7 +1017,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 538, + "id": 540, "node_type": 30, "src": { "line": 74, @@ -1002,7 +1025,7 @@ "start": 1854, "end": 1860, "length": 7, - "parent_index": 537 + "parent_index": 539 }, "name": "address", "state_mutability": 4, @@ -1015,7 +1038,7 @@ "initial_value": null }, { - "id": 539, + "id": 541, "name": "count", "is_constant": true, "is_state_variable": true, @@ -1036,7 +1059,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 540, + "id": 542, "node_type": 30, "src": { "line": 75, @@ -1044,7 +1067,7 @@ "start": 1891, "end": 1897, "length": 7, - "parent_index": 539 + "parent_index": 541 }, "name": "uint256", "referenced_declaration": 0, @@ -1056,7 +1079,7 @@ "initial_value": null }, { - "id": 541, + "id": 543, "name": "balance", "is_constant": true, "is_state_variable": true, @@ -1077,7 +1100,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 542, + "id": 544, "node_type": 30, "src": { "line": 97, @@ -1085,7 +1108,7 @@ "start": 2379, "end": 2385, "length": 7, - "parent_index": 541 + "parent_index": 543 }, "name": "uint256", "referenced_declaration": 0, @@ -1097,7 +1120,7 @@ "initial_value": null }, { - "id": 543, + "id": 545, "name": "i", "is_constant": true, "is_state_variable": true, @@ -1118,7 +1141,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 544, + "id": 546, "node_type": 30, "src": { "line": 111, @@ -1126,7 +1149,7 @@ "start": 2768, "end": 2771, "length": 4, - "parent_index": 543 + "parent_index": 545 }, "name": "uint", "referenced_declaration": 0, @@ -1138,7 +1161,7 @@ "initial_value": null }, { - "id": 545, + "id": 547, "name": "dummyContract", "is_constant": true, "is_state_variable": true, @@ -1159,7 +1182,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 546, + "id": 548, "node_type": 69, "src": { "line": 127, @@ -1167,10 +1190,10 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 545 + "parent_index": 547 }, "path_node": { - "id": 547, + "id": 549, "name": "IDummyContract", "node_type": 52, "referenced_declaration": 10, @@ -1180,7 +1203,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 546 + "parent_index": 548 }, "name_location": { "line": 127, @@ -1188,7 +1211,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 546 + "parent_index": 548 } }, "referenced_declaration": 10, @@ -1200,7 +1223,7 @@ "initial_value": null }, { - "id": 548, + "id": 550, "name": "j", "is_constant": true, "is_state_variable": true, @@ -1221,7 +1244,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 549, + "id": 551, "node_type": 30, "src": { "line": 142, @@ -1229,7 +1252,7 @@ "start": 3685, "end": 3688, "length": 4, - "parent_index": 548 + "parent_index": 550 }, "name": "uint", "referenced_declaration": 0, @@ -1241,7 +1264,7 @@ "initial_value": null }, { - "id": 550, + "id": 552, "name": "len", "is_constant": true, "is_state_variable": true, @@ -1262,7 +1285,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 551, + "id": 553, "node_type": 30, "src": { "line": 143, @@ -1270,7 +1293,7 @@ "start": 3706, "end": 3709, "length": 4, - "parent_index": 550 + "parent_index": 552 }, "name": "uint", "referenced_declaration": 0, @@ -1282,7 +1305,7 @@ "initial_value": null }, { - "id": 552, + "id": 554, "name": "bstr", "is_constant": true, "is_state_variable": true, @@ -1303,7 +1326,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 553, + "id": 555, "node_type": 30, "src": { "line": 149, @@ -1311,7 +1334,7 @@ "start": 3808, "end": 3812, "length": 5, - "parent_index": 552 + "parent_index": 554 }, "name": "bytes", "referenced_declaration": 0, @@ -1323,7 +1346,7 @@ "initial_value": null }, { - "id": 554, + "id": 556, "name": "k", "is_constant": true, "is_state_variable": true, @@ -1344,7 +1367,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 555, + "id": 557, "node_type": 30, "src": { "line": 150, @@ -1352,7 +1375,7 @@ "start": 3852, "end": 3855, "length": 4, - "parent_index": 554 + "parent_index": 556 }, "name": "uint", "referenced_declaration": 0, @@ -1594,7 +1617,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functiondummyFunction()externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -1736,7 +1760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "12345" } }, { @@ -1940,7 +1965,7 @@ }, "scope": 24, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "visibility": 3, @@ -1948,7 +1973,7 @@ "mutability": 1, "type_name": { "id": 41, - "node_type": 0, + "node_type": 69, "src": { "line": 16, "column": 4, @@ -1985,7 +2010,7 @@ }, "value_type": { "id": 43, - "node_type": 30, + "node_type": 69, "src": { "line": 16, "column": 23, @@ -1995,10 +2020,10 @@ "parent_index": 41 }, "name": "Player", - "referenced_declaration": 0, + "referenced_declaration": 34, "type_description": { - "type_identifier": "t_Player", - "type_string": "Player" + "type_identifier": "t_struct$_Lottery_Player_$34", + "type_string": "struct Lottery.Player" } }, "value_name_location": { @@ -2009,16 +2034,38 @@ "length": 6, "parent_index": 41 }, - "referenced_declaration": 0, + "path_node": { + "id": 44, + "name": "Player", + "node_type": 52, + "referenced_declaration": 34, + "src": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 41 + }, + "name_location": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 41 + } + }, + "referenced_declaration": 34, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" } }, "initial_value": null }, { - "id": 45, + "id": 46, "name": "playerAddresses", "is_constant": false, "is_state_variable": true, @@ -2040,7 +2087,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 46, + "id": 47, "node_type": 16, "src": { "line": 17, @@ -2048,7 +2095,7 @@ "start": 387, "end": 393, "length": 7, - "parent_index": 45 + "parent_index": 46 }, "name": "address", "referenced_declaration": 0, @@ -2060,7 +2107,7 @@ "initial_value": null }, { - "id": 48, + "id": 49, "name": "state", "is_constant": false, "is_state_variable": true, @@ -2082,7 +2129,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 49, + "id": 50, "node_type": 69, "src": { "line": 19, @@ -2090,10 +2137,10 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 48 + "parent_index": 49 }, "path_node": { - "id": 50, + "id": 51, "name": "LotteryState", "node_type": 52, "referenced_declaration": 30, @@ -2103,7 +2150,7 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 49 + "parent_index": 50 }, "name_location": { "line": 19, @@ -2111,7 +2158,7 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 49 + "parent_index": 50 } }, "referenced_declaration": 30, @@ -2123,7 +2170,7 @@ "initial_value": null }, { - "id": 52, + "id": 53, "node_type": 57, "src": { "line": 21, @@ -2134,7 +2181,7 @@ "parent_index": 24 }, "parameters": { - "id": 53, + "id": 54, "node_type": 43, "src": { "line": 21, @@ -2142,11 +2189,11 @@ "start": 458, "end": 490, "length": 33, - "parent_index": 52 + "parent_index": 53 }, "parameters": [ { - "id": 54, + "id": 55, "node_type": 44, "src": { "line": 21, @@ -2154,12 +2201,12 @@ "start": 477, "end": 488, "length": 12, - "parent_index": 53 + "parent_index": 54 }, - "scope": 52, + "scope": 53, "name": "addr", "type_name": { - "id": 55, + "id": 56, "node_type": 30, "src": { "line": 21, @@ -2167,7 +2214,7 @@ "start": 477, "end": 483, "length": 7, - "parent_index": 54 + "parent_index": 55 }, "name": "address", "state_mutability": 4, @@ -2196,12 +2243,12 @@ "name": "PlayerJoined", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "type_string": "event Lottery.PlayerJoined" } }, { - "id": 57, + "id": 58, "node_type": 57, "src": { "line": 22, @@ -2212,7 +2259,7 @@ "parent_index": 24 }, "parameters": { - "id": 58, + "id": 59, "node_type": 43, "src": { "line": 22, @@ -2220,11 +2267,11 @@ "start": 496, "end": 533, "length": 38, - "parent_index": 57 + "parent_index": 58 }, "parameters": [ { - "id": 59, + "id": 60, "node_type": 44, "src": { "line": 22, @@ -2232,12 +2279,12 @@ "start": 518, "end": 531, "length": 14, - "parent_index": 58 + "parent_index": 59 }, - "scope": 57, + "scope": 58, "name": "winner", "type_name": { - "id": 60, + "id": 61, "node_type": 30, "src": { "line": 22, @@ -2245,7 +2292,7 @@ "start": 518, "end": 524, "length": 7, - "parent_index": 59 + "parent_index": 60 }, "name": "address", "state_mutability": 4, @@ -2274,12 +2321,12 @@ "name": "LotteryFinished", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "type_string": "event Lottery.LotteryFinished" } }, { - "id": 62, + "id": 63, "node_type": 57, "src": { "line": 23, @@ -2290,7 +2337,7 @@ "parent_index": 24 }, "parameters": { - "id": 63, + "id": 64, "node_type": 43, "src": { "line": 23, @@ -2298,7 +2345,7 @@ "start": 539, "end": 569, "length": 31, - "parent_index": 62 + "parent_index": 63 }, "parameters": [], "parameter_types": [] @@ -2306,12 +2353,12 @@ "name": "ExternalCallSuccessful", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "type_string": "event Lottery.ExternalCallSuccessful" } }, { - "id": 65, + "id": 66, "node_type": 57, "src": { "line": 24, @@ -2322,7 +2369,7 @@ "parent_index": 24 }, "parameters": { - "id": 66, + "id": 67, "node_type": 43, "src": { "line": 24, @@ -2330,11 +2377,11 @@ "start": 575, "end": 614, "length": 40, - "parent_index": 65 + "parent_index": 66 }, "parameters": [ { - "id": 67, + "id": 68, "node_type": 44, "src": { "line": 24, @@ -2342,12 +2389,12 @@ "start": 600, "end": 612, "length": 13, - "parent_index": 66 + "parent_index": 67 }, - "scope": 65, + "scope": 66, "name": "reason", "type_name": { - "id": 68, + "id": 69, "node_type": 30, "src": { "line": 24, @@ -2355,7 +2402,7 @@ "start": 600, "end": 605, "length": 6, - "parent_index": 67 + "parent_index": 68 }, "name": "string", "referenced_declaration": 0, @@ -2383,12 +2430,12 @@ "name": "ExternalCallFailed", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "type_string": "event Lottery.ExternalCallFailed" } }, { - "id": 70, + "id": 71, "node_type": 77, "src": { "line": 27, @@ -2405,10 +2452,10 @@ "start": 655, "end": 666, "length": 12, - "parent_index": 70 + "parent_index": 71 }, "parameters": { - "id": 71, + "id": 72, "node_type": 43, "src": { "line": 27, @@ -2416,18 +2463,18 @@ "start": 649, "end": 669, "length": 21, - "parent_index": 70 + "parent_index": 71 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidState_$70", + "type_identifier": "t_error$_Lottery_InvalidState_$71", "type_string": "error Lottery.InvalidState" } }, { - "id": 73, + "id": 74, "node_type": 77, "src": { "line": 28, @@ -2444,10 +2491,10 @@ "start": 681, "end": 702, "length": 22, - "parent_index": 73 + "parent_index": 74 }, "parameters": { - "id": 74, + "id": 75, "node_type": 43, "src": { "line": 28, @@ -2455,18 +2502,18 @@ "start": 675, "end": 705, "length": 31, - "parent_index": 73 + "parent_index": 74 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "type_string": "error Lottery.OwnerCannotParticipate" } }, { - "id": 76, + "id": 77, "node_type": 77, "src": { "line": 29, @@ -2483,10 +2530,10 @@ "start": 717, "end": 731, "length": 15, - "parent_index": 76 + "parent_index": 77 }, "parameters": { - "id": 77, + "id": 78, "node_type": 43, "src": { "line": 29, @@ -2494,18 +2541,18 @@ "start": 711, "end": 734, "length": 24, - "parent_index": 76 + "parent_index": 77 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" } }, { - "id": 79, + "id": 80, "node_type": 77, "src": { "line": 30, @@ -2522,10 +2569,10 @@ "start": 746, "end": 758, "length": 13, - "parent_index": 79 + "parent_index": 80 }, "parameters": { - "id": 80, + "id": 81, "node_type": 43, "src": { "line": 30, @@ -2533,18 +2580,18 @@ "start": 740, "end": 761, "length": 22, - "parent_index": 79 + "parent_index": 80 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" } }, { - "id": 82, + "id": 83, "node_type": 77, "src": { "line": 31, @@ -2561,10 +2608,10 @@ "start": 773, "end": 792, "length": 20, - "parent_index": 82 + "parent_index": 83 }, "parameters": { - "id": 83, + "id": 84, "node_type": 43, "src": { "line": 31, @@ -2572,18 +2619,18 @@ "start": 767, "end": 795, "length": 29, - "parent_index": 82 + "parent_index": 83 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" } }, { - "id": 85, + "id": 86, "node_type": 77, "src": { "line": 32, @@ -2600,10 +2647,10 @@ "start": 807, "end": 822, "length": 16, - "parent_index": 85 + "parent_index": 86 }, "parameters": { - "id": 86, + "id": 87, "node_type": 43, "src": { "line": 32, @@ -2611,18 +2658,18 @@ "start": 801, "end": 825, "length": 25, - "parent_index": 85 + "parent_index": 86 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" } }, { - "id": 88, + "id": 89, "name": "inState", "node_type": 68, "src": { @@ -2639,12 +2686,12 @@ "start": 841, "end": 847, "length": 7, - "parent_index": 88 + "parent_index": 89 }, "visibility": 1, "virtual": false, "parameters": { - "id": 89, + "id": 90, "node_type": 43, "src": { "line": 34, @@ -2656,7 +2703,7 @@ }, "parameters": [ { - "id": 90, + "id": 91, "node_type": 44, "src": { "line": 34, @@ -2664,12 +2711,12 @@ "start": 849, "end": 867, "length": 19, - "parent_index": 89 + "parent_index": 90 }, "scope": 24, "name": "_state", "type_name": { - "id": 91, + "id": 92, "node_type": 69, "src": { "line": 34, @@ -2677,10 +2724,10 @@ "start": 849, "end": 860, "length": 12, - "parent_index": 90 + "parent_index": 91 }, "path_node": { - "id": 92, + "id": 93, "name": "LotteryState", "node_type": 52, "referenced_declaration": 30, @@ -2690,7 +2737,7 @@ "start": 849, "end": 860, "length": 12, - "parent_index": 91 + "parent_index": 92 }, "name_location": { "line": 34, @@ -2698,7 +2745,7 @@ "start": 849, "end": 860, "length": 12, - "parent_index": 91 + "parent_index": 92 } }, "referenced_declaration": 30, @@ -2724,7 +2771,7 @@ ] }, "body": { - "id": 93, + "id": 94, "node_type": 46, "kind": 0, "src": { @@ -2733,12 +2780,12 @@ "start": 870, "end": 963, "length": 94, - "parent_index": 88 + "parent_index": 89 }, "implemented": true, "statements": [ { - "id": 94, + "id": 95, "node_type": 48, "src": { "line": 35, @@ -2746,10 +2793,10 @@ "start": 880, "end": 946, "length": 67, - "parent_index": 93 + "parent_index": 94 }, "condition": { - "id": 95, + "id": 96, "is_constant": false, "is_pure": false, "node_type": 19, @@ -2759,11 +2806,11 @@ "start": 884, "end": 898, "length": 15, - "parent_index": 94 + "parent_index": 95 }, "operator": 12, "left_expression": { - "id": 96, + "id": 97, "node_type": 16, "src": { "line": 35, @@ -2771,7 +2818,7 @@ "start": 884, "end": 888, "length": 5, - "parent_index": 95 + "parent_index": 96 }, "name": "state", "type_description": { @@ -2779,11 +2826,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 97, + "id": 98, "node_type": 16, "src": { "line": 35, @@ -2791,7 +2839,7 @@ "start": 893, "end": 898, "length": 6, - "parent_index": 95 + "parent_index": 96 }, "name": "_state", "type_description": { @@ -2799,8 +2847,9 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 90, - "is_pure": false + "referenced_declaration": 91, + "is_pure": false, + "text": "_state" }, "type_description": { "type_identifier": "t_bool", @@ -2808,7 +2857,7 @@ } }, "body": { - "id": 98, + "id": 99, "node_type": 46, "kind": 0, "src": { @@ -2817,12 +2866,12 @@ "start": 901, "end": 946, "length": 46, - "parent_index": 88 + "parent_index": 89 }, "implemented": true, "statements": [ { - "id": 99, + "id": 100, "node_type": 78, "src": { "line": 36, @@ -2830,11 +2879,11 @@ "start": 915, "end": 936, "length": 22, - "parent_index": 88 + "parent_index": 89 }, "arguments": [], "expression": { - "id": 100, + "id": 101, "node_type": 16, "src": { "line": 36, @@ -2842,23 +2891,24 @@ "start": 922, "end": 933, "length": 12, - "parent_index": 99 + "parent_index": 100 }, "name": "InvalidState", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidState_$70", + "type_identifier": "t_error$_Lottery_InvalidState_$71", "type_string": "error Lottery.InvalidState" }, "overloaded_declarations": [], - "referenced_declaration": 70, - "is_pure": false + "referenced_declaration": 71, + "is_pure": false, + "text": "InvalidState" } } ] } }, { - "id": 101, + "id": 102, "node_type": 82, "src": { "line": 38, @@ -2866,7 +2916,7 @@ "start": 956, "end": 956, "length": 1, - "parent_index": 93 + "parent_index": 94 }, "name": "_", "type_description": { @@ -2875,13 +2925,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 103, + "id": 104, "name": "notOwner", "node_type": 68, "src": { @@ -2898,12 +2949,12 @@ "start": 979, "end": 986, "length": 8, - "parent_index": 103 + "parent_index": 104 }, "visibility": 1, "virtual": false, "parameters": { - "id": 104, + "id": 105, "node_type": 43, "src": { "line": 41, @@ -2917,7 +2968,7 @@ "parameter_types": [] }, "body": { - "id": 105, + "id": 106, "node_type": 46, "kind": 0, "src": { @@ -2926,12 +2977,12 @@ "start": 990, "end": 1099, "length": 110, - "parent_index": 103 + "parent_index": 104 }, "implemented": true, "statements": [ { - "id": 106, + "id": 107, "node_type": 48, "src": { "line": 42, @@ -2939,10 +2990,10 @@ "start": 1000, "end": 1082, "length": 83, - "parent_index": 105 + "parent_index": 106 }, "condition": { - "id": 107, + "id": 108, "is_constant": false, "is_pure": false, "node_type": 19, @@ -2952,11 +3003,11 @@ "start": 1004, "end": 1024, "length": 21, - "parent_index": 106 + "parent_index": 107 }, "operator": 11, "left_expression": { - "id": 108, + "id": 109, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -2968,7 +3019,7 @@ "start": 1004, "end": 1013, "length": 10, - "parent_index": 107 + "parent_index": 108 }, "member_location": { "line": 42, @@ -2976,10 +3027,10 @@ "start": 1008, "end": 1013, "length": 6, - "parent_index": 108 + "parent_index": 109 }, "expression": { - "id": 109, + "id": 110, "node_type": 16, "src": { "line": 42, @@ -2987,7 +3038,7 @@ "start": 1004, "end": 1006, "length": 3, - "parent_index": 108 + "parent_index": 109 }, "name": "msg", "type_description": { @@ -2996,17 +3047,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 110, + "id": 111, "node_type": 24, "kind": 24, "src": { @@ -3015,12 +3068,12 @@ "start": 1018, "end": 1024, "length": 7, - "parent_index": 107 + "parent_index": 108 }, "argument_types": [], "arguments": [], "expression": { - "id": 111, + "id": 112, "node_type": 16, "src": { "line": 42, @@ -3028,7 +3081,7 @@ "start": 1018, "end": 1022, "length": 5, - "parent_index": 110 + "parent_index": 111 }, "name": "owner", "type_description": { @@ -3037,7 +3090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -3050,7 +3104,7 @@ } }, "body": { - "id": 112, + "id": 113, "node_type": 46, "kind": 0, "src": { @@ -3059,12 +3113,12 @@ "start": 1027, "end": 1082, "length": 56, - "parent_index": 103 + "parent_index": 104 }, "implemented": true, "statements": [ { - "id": 113, + "id": 114, "node_type": 78, "src": { "line": 43, @@ -3072,11 +3126,11 @@ "start": 1041, "end": 1072, "length": 32, - "parent_index": 103 + "parent_index": 104 }, "arguments": [], "expression": { - "id": 114, + "id": 115, "node_type": 16, "src": { "line": 43, @@ -3084,23 +3138,24 @@ "start": 1048, "end": 1069, "length": 22, - "parent_index": 113 + "parent_index": 114 }, "name": "OwnerCannotParticipate", "type_description": { - "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "type_string": "error Lottery.OwnerCannotParticipate" }, "overloaded_declarations": [], - "referenced_declaration": 73, - "is_pure": false + "referenced_declaration": 74, + "is_pure": false, + "text": "OwnerCannotParticipate" } } ] } }, { - "id": 115, + "id": 116, "node_type": 82, "src": { "line": 45, @@ -3108,7 +3163,7 @@ "start": 1092, "end": 1092, "length": 1, - "parent_index": 105 + "parent_index": 106 }, "name": "_", "type_description": { @@ -3117,13 +3172,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 117, + "id": 118, "node_type": 42, "kind": 70, "src": { @@ -3140,7 +3196,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 118, + "id": 119, "node_type": 43, "src": { "line": 48, @@ -3148,13 +3204,13 @@ "start": 1106, "end": 1136, "length": 31, - "parent_index": 117 + "parent_index": 118 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 119, + "id": 120, "node_type": 43, "src": { "line": 48, @@ -3162,13 +3218,13 @@ "start": 1106, "end": 1136, "length": 31, - "parent_index": 117 + "parent_index": 118 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 120, + "id": 121, "node_type": 46, "kind": 0, "src": { @@ -3177,7 +3233,7 @@ "start": 1134, "end": 1136, "length": 3, - "parent_index": 117 + "parent_index": 118 }, "implemented": true, "statements": [] @@ -3185,7 +3241,7 @@ "virtual": false }, { - "id": 122, + "id": 123, "node_type": 42, "kind": 71, "src": { @@ -3202,7 +3258,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 123, + "id": 124, "node_type": 43, "src": { "line": 49, @@ -3210,13 +3266,13 @@ "start": 1142, "end": 1171, "length": 30, - "parent_index": 122 + "parent_index": 123 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 124, + "id": 125, "node_type": 43, "src": { "line": 49, @@ -3224,13 +3280,13 @@ "start": 1142, "end": 1171, "length": 30, - "parent_index": 122 + "parent_index": 123 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 125, + "id": 126, "node_type": 46, "kind": 0, "src": { @@ -3239,7 +3295,7 @@ "start": 1169, "end": 1171, "length": 3, - "parent_index": 122 + "parent_index": 123 }, "implemented": true, "statements": [] @@ -3248,7 +3304,7 @@ "payable": false }, { - "id": 127, + "id": 128, "node_type": 42, "src": { "line": 51, @@ -3264,7 +3320,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 128, + "id": 129, "node_type": 43, "src": { "line": 51, @@ -3272,13 +3328,13 @@ "start": 1178, "end": 1238, "length": 61, - "parent_index": 127 + "parent_index": 128 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 129, + "id": 130, "node_type": 43, "src": { "line": 51, @@ -3286,14 +3342,14 @@ "start": 1178, "end": 1238, "length": 61, - "parent_index": 127 + "parent_index": 128 }, "parameters": [], "parameter_types": [] }, "scope": 24, "body": { - "id": 130, + "id": 131, "node_type": 46, "kind": 0, "src": { @@ -3302,12 +3358,12 @@ "start": 1192, "end": 1238, "length": 47, - "parent_index": 127 + "parent_index": 128 }, "implemented": true, "statements": [ { - "id": 131, + "id": 132, "node_type": 27, "src": { "line": 52, @@ -3315,10 +3371,10 @@ "start": 1202, "end": 1232, "length": 31, - "parent_index": 130 + "parent_index": 131 }, "expression": { - "id": 132, + "id": 133, "node_type": 27, "src": { "line": 52, @@ -3326,11 +3382,11 @@ "start": 1202, "end": 1231, "length": 30, - "parent_index": 131 + "parent_index": 132 }, "operator": 11, "left_expression": { - "id": 133, + "id": 134, "node_type": 16, "src": { "line": 52, @@ -3338,7 +3394,7 @@ "start": 1202, "end": 1206, "length": 5, - "parent_index": 132 + "parent_index": 133 }, "name": "state", "type_description": { @@ -3346,11 +3402,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 134, + "id": 135, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3362,7 +3419,7 @@ "start": 1210, "end": 1231, "length": 22, - "parent_index": 132 + "parent_index": 133 }, "member_location": { "line": 52, @@ -3370,10 +3427,10 @@ "start": 1223, "end": 1231, "length": 9, - "parent_index": 134 + "parent_index": 135 }, "expression": { - "id": 135, + "id": 136, "node_type": 16, "src": { "line": 52, @@ -3381,7 +3438,7 @@ "start": 1210, "end": 1221, "length": 12, - "parent_index": 134 + "parent_index": 135 }, "name": "LotteryState", "type_description": { @@ -3390,14 +3447,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" }, "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", @@ -3407,13 +3466,14 @@ "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "state=LotteryState.Accepting;" } ] } }, { - "id": 137, + "id": 138, "name": "join", "node_type": 42, "kind": 41, @@ -3431,10 +3491,10 @@ "start": 1254, "end": 1257, "length": 4, - "parent_index": 137 + "parent_index": 138 }, "body": { - "id": 146, + "id": 147, "node_type": 46, "kind": 0, "src": { @@ -3443,12 +3503,12 @@ "start": 1317, "end": 1658, "length": 342, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 147, + "id": 148, "node_type": 48, "src": { "line": 56, @@ -3456,10 +3516,10 @@ "start": 1327, "end": 1395, "length": 69, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 148, + "id": 149, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3469,11 +3529,11 @@ "start": 1331, "end": 1344, "length": 14, - "parent_index": 147 + "parent_index": 148 }, "operator": 11, "left_expression": { - "id": 149, + "id": 150, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3485,7 +3545,7 @@ "start": 1331, "end": 1339, "length": 9, - "parent_index": 148 + "parent_index": 149 }, "member_location": { "line": 56, @@ -3493,10 +3553,10 @@ "start": 1335, "end": 1339, "length": 5, - "parent_index": 149 + "parent_index": 150 }, "expression": { - "id": 150, + "id": 151, "node_type": 16, "src": { "line": 56, @@ -3504,7 +3564,7 @@ "start": 1331, "end": 1333, "length": 3, - "parent_index": 149 + "parent_index": 150 }, "name": "msg", "type_description": { @@ -3513,17 +3573,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { - "id": 151, + "id": 152, "node_type": 17, "kind": 49, "value": "0", @@ -3534,7 +3596,7 @@ "start": 1344, "end": 1344, "length": 1, - "parent_index": 148 + "parent_index": 149 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3542,7 +3604,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3550,7 +3613,7 @@ } }, "body": { - "id": 152, + "id": 153, "node_type": 46, "kind": 0, "src": { @@ -3559,12 +3622,12 @@ "start": 1347, "end": 1395, "length": 49, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 153, + "id": 154, "node_type": 78, "src": { "line": 57, @@ -3572,11 +3635,11 @@ "start": 1361, "end": 1385, "length": 25, - "parent_index": 137 + "parent_index": 138 }, "arguments": [], "expression": { - "id": 154, + "id": 155, "node_type": 16, "src": { "line": 57, @@ -3584,23 +3647,24 @@ "start": 1368, "end": 1382, "length": 15, - "parent_index": 153 + "parent_index": 154 }, "name": "NoValueProvided", "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" }, "overloaded_declarations": [], - "referenced_declaration": 76, - "is_pure": false + "referenced_declaration": 77, + "is_pure": false, + "text": "NoValueProvided" } } ] } }, { - "id": 155, + "id": 156, "node_type": 48, "src": { "line": 60, @@ -3608,10 +3672,10 @@ "start": 1406, "end": 1557, "length": 152, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 156, + "id": 157, "is_constant": false, "is_pure": false, "node_type": 19, @@ -3621,11 +3685,11 @@ "start": 1410, "end": 1447, "length": 38, - "parent_index": 155 + "parent_index": 156 }, "operator": 11, "left_expression": { - "id": 157, + "id": 158, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3637,7 +3701,7 @@ "start": 1410, "end": 1433, "length": 24, - "parent_index": 156 + "parent_index": 157 }, "member_location": { "line": 60, @@ -3645,10 +3709,10 @@ "start": 1430, "end": 1433, "length": 4, - "parent_index": 157 + "parent_index": 158 }, "expression": { - "id": 158, + "id": 159, "node_type": 22, "src": { "line": 60, @@ -3656,10 +3720,10 @@ "start": 1410, "end": 1428, "length": 19, - "parent_index": 157 + "parent_index": 158 }, "index_expression": { - "id": 159, + "id": 160, "node_type": 16, "src": { "line": 60, @@ -3667,19 +3731,20 @@ "start": 1410, "end": 1416, "length": 7, - "parent_index": 158 + "parent_index": 159 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 160, + "id": 161, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3691,7 +3756,7 @@ "start": 1418, "end": 1427, "length": 10, - "parent_index": 158 + "parent_index": 159 }, "member_location": { "line": 60, @@ -3699,10 +3764,10 @@ "start": 1422, "end": 1427, "length": 6, - "parent_index": 160 + "parent_index": 161 }, "expression": { - "id": 161, + "id": 162, "node_type": 16, "src": { "line": 60, @@ -3710,7 +3775,7 @@ "start": 1418, "end": 1420, "length": 3, - "parent_index": 160 + "parent_index": 161 }, "name": "msg", "type_description": { @@ -3719,18 +3784,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -3739,19 +3806,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 162, + "id": 163, "node_type": 24, "kind": 24, "src": { @@ -3760,7 +3828,7 @@ "start": 1438, "end": 1447, "length": 10, - "parent_index": 156 + "parent_index": 157 }, "argument_types": [ { @@ -3770,7 +3838,7 @@ ], "arguments": [ { - "id": 165, + "id": 166, "node_type": 17, "kind": 49, "value": "0", @@ -3781,7 +3849,7 @@ "start": 1446, "end": 1446, "length": 1, - "parent_index": 162 + "parent_index": 163 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -3789,11 +3857,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 163, + "id": 164, "node_type": 16, "src": { "line": 60, @@ -3801,11 +3870,11 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 162 + "parent_index": 163 }, "name": "address", "type_name": { - "id": 164, + "id": 165, "node_type": 30, "src": { "line": 60, @@ -3813,7 +3882,7 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 163 + "parent_index": 164 }, "name": "address", "state_mutability": 4, @@ -3835,7 +3904,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -3848,7 +3918,7 @@ } }, "body": { - "id": 166, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -3857,12 +3927,12 @@ "start": 1450, "end": 1557, "length": 108, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 167, + "id": 168, "node_type": 27, "src": { "line": 61, @@ -3870,10 +3940,10 @@ "start": 1464, "end": 1501, "length": 38, - "parent_index": 166 + "parent_index": 167 }, "expression": { - "id": 168, + "id": 169, "node_type": 27, "src": { "line": 61, @@ -3881,11 +3951,11 @@ "start": 1464, "end": 1500, "length": 37, - "parent_index": 167 + "parent_index": 168 }, "operator": 11, "left_expression": { - "id": 169, + "id": 170, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3897,7 +3967,7 @@ "start": 1464, "end": 1487, "length": 24, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -3905,10 +3975,10 @@ "start": 1484, "end": 1487, "length": 4, - "parent_index": 169 + "parent_index": 170 }, "expression": { - "id": 170, + "id": 171, "node_type": 22, "src": { "line": 61, @@ -3916,10 +3986,10 @@ "start": 1464, "end": 1482, "length": 19, - "parent_index": 169 + "parent_index": 170 }, "index_expression": { - "id": 171, + "id": 172, "node_type": 16, "src": { "line": 61, @@ -3927,19 +3997,20 @@ "start": 1464, "end": 1470, "length": 7, - "parent_index": 170 + "parent_index": 171 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 172, + "id": 173, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -3951,7 +4022,7 @@ "start": 1472, "end": 1481, "length": 10, - "parent_index": 170 + "parent_index": 171 }, "member_location": { "line": 61, @@ -3959,10 +4030,10 @@ "start": 1476, "end": 1481, "length": 6, - "parent_index": 172 + "parent_index": 173 }, "expression": { - "id": 173, + "id": 174, "node_type": 16, "src": { "line": 61, @@ -3970,7 +4041,7 @@ "start": 1472, "end": 1474, "length": 3, - "parent_index": 172 + "parent_index": 173 }, "name": "msg", "type_description": { @@ -3979,18 +4050,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -3999,19 +4072,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 174, + "id": 175, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4023,7 +4097,7 @@ "start": 1491, "end": 1500, "length": 10, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -4031,10 +4105,10 @@ "start": 1495, "end": 1500, "length": 6, - "parent_index": 174 + "parent_index": 175 }, "expression": { - "id": 175, + "id": 176, "node_type": 16, "src": { "line": 61, @@ -4042,7 +4116,7 @@ "start": 1491, "end": 1493, "length": 3, - "parent_index": 174 + "parent_index": 175 }, "name": "msg", "type_description": { @@ -4051,27 +4125,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr=msg.sender;" }, { - "id": 176, + "id": 177, "node_type": 24, "kind": 24, "src": { @@ -4080,7 +4157,7 @@ "start": 1515, "end": 1546, "length": 32, - "parent_index": 166 + "parent_index": 167 }, "argument_types": [ { @@ -4090,7 +4167,7 @@ ], "arguments": [ { - "id": 179, + "id": 180, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4102,7 +4179,7 @@ "start": 1536, "end": 1545, "length": 10, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -4110,10 +4187,10 @@ "start": 1540, "end": 1545, "length": 6, - "parent_index": 179 + "parent_index": 180 }, "expression": { - "id": 180, + "id": 181, "node_type": 16, "src": { "line": 62, @@ -4121,7 +4198,7 @@ "start": 1536, "end": 1538, "length": 3, - "parent_index": 179 + "parent_index": 180 }, "name": "msg", "type_description": { @@ -4130,18 +4207,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 177, + "id": 178, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4153,7 +4232,7 @@ "start": 1515, "end": 1534, "length": 20, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -4161,10 +4240,10 @@ "start": 1531, "end": 1534, "length": 4, - "parent_index": 177 + "parent_index": 178 }, "expression": { - "id": 178, + "id": 179, "node_type": 16, "src": { "line": 62, @@ -4172,7 +4251,7 @@ "start": 1515, "end": 1529, "length": 15, - "parent_index": 177 + "parent_index": 178 }, "name": "playerAddresses", "type_description": { @@ -4180,15 +4259,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.push" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -4199,7 +4280,7 @@ } }, { - "id": 181, + "id": 182, "node_type": 27, "src": { "line": 65, @@ -4207,10 +4288,10 @@ "start": 1568, "end": 1612, "length": 45, - "parent_index": 146 + "parent_index": 147 }, "expression": { - "id": 182, + "id": 183, "node_type": 27, "src": { "line": 65, @@ -4218,11 +4299,11 @@ "start": 1568, "end": 1611, "length": 44, - "parent_index": 181 + "parent_index": 182 }, "operator": 13, "left_expression": { - "id": 183, + "id": 184, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4234,7 +4315,7 @@ "start": 1568, "end": 1598, "length": 31, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -4242,10 +4323,10 @@ "start": 1588, "end": 1598, "length": 11, - "parent_index": 183 + "parent_index": 184 }, "expression": { - "id": 184, + "id": 185, "node_type": 22, "src": { "line": 65, @@ -4253,10 +4334,10 @@ "start": 1568, "end": 1586, "length": 19, - "parent_index": 183 + "parent_index": 184 }, "index_expression": { - "id": 185, + "id": 186, "node_type": 16, "src": { "line": 65, @@ -4264,19 +4345,20 @@ "start": 1568, "end": 1574, "length": 7, - "parent_index": 184 + "parent_index": 185 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 186, + "id": 187, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4288,7 +4370,7 @@ "start": 1576, "end": 1585, "length": 10, - "parent_index": 184 + "parent_index": 185 }, "member_location": { "line": 65, @@ -4296,10 +4378,10 @@ "start": 1580, "end": 1585, "length": 6, - "parent_index": 186 + "parent_index": 187 }, "expression": { - "id": 187, + "id": 188, "node_type": 16, "src": { "line": 65, @@ -4307,7 +4389,7 @@ "start": 1576, "end": 1578, "length": 3, - "parent_index": 186 + "parent_index": 187 }, "name": "msg", "type_description": { @@ -4316,18 +4398,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -4336,19 +4420,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "ticketCount", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount" }, "right_expression": { - "id": 188, + "id": 189, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4360,7 +4445,7 @@ "start": 1603, "end": 1611, "length": 9, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -4368,10 +4453,10 @@ "start": 1607, "end": 1611, "length": 5, - "parent_index": 188 + "parent_index": 189 }, "expression": { - "id": 189, + "id": 190, "node_type": 16, "src": { "line": 65, @@ -4379,7 +4464,7 @@ "start": 1603, "end": 1605, "length": 3, - "parent_index": 188 + "parent_index": 189 }, "name": "msg", "type_description": { @@ -4388,27 +4473,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount+=msg.value;" }, { - "id": 190, + "id": 191, "node_type": 64, "src": { "line": 67, @@ -4416,11 +4504,11 @@ "start": 1623, "end": 1652, "length": 30, - "parent_index": 137 + "parent_index": 138 }, "arguments": [ { - "id": 191, + "id": 192, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4432,7 +4520,7 @@ "start": 1641, "end": 1650, "length": 10, - "parent_index": 190 + "parent_index": 191 }, "member_location": { "line": 67, @@ -4440,10 +4528,10 @@ "start": 1645, "end": 1650, "length": 6, - "parent_index": 191 + "parent_index": 192 }, "expression": { - "id": 192, + "id": 193, "node_type": 16, "src": { "line": 67, @@ -4451,7 +4539,7 @@ "start": 1641, "end": 1643, "length": 3, - "parent_index": 191 + "parent_index": 192 }, "name": "msg", "type_description": { @@ -4460,18 +4548,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 193, + "id": 194, "node_type": 16, "src": { "line": 67, @@ -4479,16 +4569,17 @@ "start": 1628, "end": 1639, "length": 12, - "parent_index": 190 + "parent_index": 191 }, "name": "PlayerJoined", "type_description": { - "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "type_string": "event Lottery.PlayerJoined" }, "overloaded_declarations": [], - "referenced_declaration": 52, - "is_pure": false + "referenced_declaration": 53, + "is_pure": false, + "text": "PlayerJoined" } } ] @@ -4499,7 +4590,7 @@ "virtual": false, "modifiers": [ { - "id": 139, + "id": 140, "name": "inState", "node_type": 72, "kind": 72, @@ -4509,7 +4600,7 @@ "start": 1276, "end": 1306, "length": 31, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [ { @@ -4519,7 +4610,7 @@ ], "arguments": [ { - "id": 141, + "id": 142, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4531,7 +4622,7 @@ "start": 1284, "end": 1305, "length": 22, - "parent_index": 139 + "parent_index": 140 }, "member_location": { "line": 55, @@ -4539,10 +4630,10 @@ "start": 1297, "end": 1305, "length": 9, - "parent_index": 141 + "parent_index": 142 }, "expression": { - "id": 142, + "id": 143, "node_type": 16, "src": { "line": 55, @@ -4550,7 +4641,7 @@ "start": 1284, "end": 1295, "length": 12, - "parent_index": 141 + "parent_index": 142 }, "name": "LotteryState", "type_description": { @@ -4559,18 +4650,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 140, + "id": 141, "name": "inState", "node_type": 0, "src": { @@ -4579,12 +4672,12 @@ "start": 1276, "end": 1282, "length": 7, - "parent_index": 139 + "parent_index": 140 } } }, { - "id": 143, + "id": 144, "name": "notOwner", "node_type": 72, "kind": 72, @@ -4594,12 +4687,12 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 144, + "id": 145, "name": "notOwner", "node_type": 0, "src": { @@ -4608,14 +4701,14 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 143 + "parent_index": 144 } } } ], "overrides": [], "parameters": { - "id": 138, + "id": 139, "node_type": 43, "src": { "line": 55, @@ -4623,13 +4716,13 @@ "start": 1245, "end": 1658, "length": 414, - "parent_index": 137 + "parent_index": 138 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 145, + "id": 146, "node_type": 43, "src": { "line": 55, @@ -4637,7 +4730,7 @@ "start": 1245, "end": 1658, "length": 414, - "parent_index": 137 + "parent_index": 138 }, "parameters": [], "parameter_types": [] @@ -4648,10 +4741,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionjoin()publicpayableinState(LotteryState.Accepting)notOwner{if(msg.value==0){revertNoValueProvided();}if(players[msg.sender].addr==address(0)){players[msg.sender].addr=msg.sender;playerAddresses.push(msg.sender);}players[msg.sender].ticketCount+=msg.value;emitPlayerJoined(msg.sender);}" }, { - "id": 195, + "id": 196, "name": "finishLottery", "node_type": 42, "kind": 41, @@ -4669,10 +4763,10 @@ "start": 1674, "end": 1686, "length": 13, - "parent_index": 195 + "parent_index": 196 }, "body": { - "id": 202, + "id": 203, "node_type": 46, "kind": 0, "src": { @@ -4681,12 +4775,12 @@ "start": 1729, "end": 2467, "length": 739, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 203, + "id": 204, "node_type": 27, "src": { "line": 71, @@ -4694,10 +4788,10 @@ "start": 1739, "end": 1768, "length": 30, - "parent_index": 202 + "parent_index": 203 }, "expression": { - "id": 204, + "id": 205, "node_type": 27, "src": { "line": 71, @@ -4705,11 +4799,11 @@ "start": 1739, "end": 1767, "length": 29, - "parent_index": 203 + "parent_index": 204 }, "operator": 11, "left_expression": { - "id": 205, + "id": 206, "node_type": 16, "src": { "line": 71, @@ -4717,7 +4811,7 @@ "start": 1739, "end": 1743, "length": 5, - "parent_index": 204 + "parent_index": 205 }, "name": "state", "type_description": { @@ -4725,11 +4819,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 206, + "id": 207, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4741,7 +4836,7 @@ "start": 1747, "end": 1767, "length": 21, - "parent_index": 204 + "parent_index": 205 }, "member_location": { "line": 71, @@ -4749,10 +4844,10 @@ "start": 1760, "end": 1767, "length": 8, - "parent_index": 206 + "parent_index": 207 }, "expression": { - "id": 207, + "id": 208, "node_type": 16, "src": { "line": 71, @@ -4760,7 +4855,7 @@ "start": 1747, "end": 1758, "length": 12, - "parent_index": 206 + "parent_index": 207 }, "name": "LotteryState", "type_description": { @@ -4769,14 +4864,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Finished", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Finished" }, "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", @@ -4786,10 +4883,11 @@ "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "state=LotteryState.Finished;" }, { - "id": 208, + "id": 209, "node_type": 44, "src": { "line": 73, @@ -4797,25 +4895,25 @@ "start": 1779, "end": 1844, "length": 66, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 209 + 210 ], "declarations": [ { - "id": 209, + "id": 210, "state_mutability": 1, "name": "index", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 73, "column": 8, "start": 1779, "end": 1791, "length": 13, - "parent_index": 208 + "parent_index": 209 }, "name_location": { "line": 73, @@ -4823,12 +4921,12 @@ "start": 1787, "end": 1791, "length": 5, - "parent_index": 209 + "parent_index": 210 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 210, + "id": 211, "node_type": 30, "src": { "line": 73, @@ -4836,7 +4934,7 @@ "start": 1779, "end": 1785, "length": 7, - "parent_index": 209 + "parent_index": 210 }, "name": "uint256", "referenced_declaration": 0, @@ -4849,7 +4947,7 @@ } ], "initial_value": { - "id": 211, + "id": 212, "is_constant": false, "is_pure": false, "node_type": 19, @@ -4859,11 +4957,11 @@ "start": 1795, "end": 1843, "length": 49, - "parent_index": 208 + "parent_index": 209 }, "operator": 5, "left_expression": { - "id": 212, + "id": 213, "node_type": 24, "kind": 24, "src": { @@ -4872,7 +4970,7 @@ "start": 1795, "end": 1818, "length": 24, - "parent_index": 208 + "parent_index": 209 }, "argument_types": [ { @@ -4882,7 +4980,7 @@ ], "arguments": [ { - "id": 215, + "id": 216, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4894,7 +4992,7 @@ "start": 1803, "end": 1817, "length": 15, - "parent_index": 212 + "parent_index": 213 }, "member_location": { "line": 73, @@ -4902,10 +5000,10 @@ "start": 1809, "end": 1817, "length": 9, - "parent_index": 215 + "parent_index": 216 }, "expression": { - "id": 216, + "id": 217, "node_type": 16, "src": { "line": 73, @@ -4913,7 +5011,7 @@ "start": 1803, "end": 1807, "length": 5, - "parent_index": 215 + "parent_index": 216 }, "name": "block", "type_description": { @@ -4922,18 +5020,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 213, + "id": 214, "node_type": 16, "src": { "line": 73, @@ -4941,11 +5041,11 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 212 + "parent_index": 213 }, "name": "uint256", "type_name": { - "id": 214, + "id": 215, "node_type": 30, "src": { "line": 73, @@ -4953,7 +5053,7 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 213 + "parent_index": 214 }, "name": "uint256", "referenced_declaration": 0, @@ -4974,7 +5074,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -4982,7 +5083,7 @@ } }, "right_expression": { - "id": 217, + "id": 218, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -4994,7 +5095,7 @@ "start": 1822, "end": 1843, "length": 22, - "parent_index": 208 + "parent_index": 209 }, "member_location": { "line": 73, @@ -5002,10 +5103,10 @@ "start": 1838, "end": 1843, "length": 6, - "parent_index": 217 + "parent_index": 218 }, "expression": { - "id": 218, + "id": 219, "node_type": 16, "src": { "line": 73, @@ -5013,7 +5114,7 @@ "start": 1822, "end": 1836, "length": 15, - "parent_index": 217 + "parent_index": 218 }, "name": "playerAddresses", "type_description": { @@ -5021,15 +5122,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -5038,7 +5141,7 @@ } }, { - "id": 219, + "id": 220, "node_type": 44, "src": { "line": 74, @@ -5046,25 +5149,25 @@ "start": 1854, "end": 1881, "length": 28, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 220 + 221 ], "declarations": [ { - "id": 220, + "id": 221, "state_mutability": 1, "name": "winner", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 74, "column": 8, "start": 1854, "end": 1867, "length": 14, - "parent_index": 219 + "parent_index": 220 }, "name_location": { "line": 74, @@ -5072,12 +5175,12 @@ "start": 1862, "end": 1867, "length": 6, - "parent_index": 220 + "parent_index": 221 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 221, + "id": 222, "node_type": 30, "src": { "line": 74, @@ -5085,7 +5188,7 @@ "start": 1854, "end": 1860, "length": 7, - "parent_index": 220 + "parent_index": 221 }, "name": "address", "state_mutability": 4, @@ -5099,7 +5202,7 @@ } ], "initial_value": { - "id": 222, + "id": 223, "node_type": 24, "kind": 24, "src": { @@ -5108,7 +5211,7 @@ "start": 1871, "end": 1880, "length": 10, - "parent_index": 219 + "parent_index": 220 }, "argument_types": [ { @@ -5118,7 +5221,7 @@ ], "arguments": [ { - "id": 225, + "id": 226, "node_type": 17, "kind": 49, "value": "0", @@ -5129,7 +5232,7 @@ "start": 1879, "end": 1879, "length": 1, - "parent_index": 222 + "parent_index": 223 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5137,11 +5240,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 223, + "id": 224, "node_type": 16, "src": { "line": 74, @@ -5149,11 +5253,11 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 222 + "parent_index": 223 }, "name": "address", "type_name": { - "id": 224, + "id": 225, "node_type": 30, "src": { "line": 74, @@ -5161,7 +5265,7 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 223 + "parent_index": 224 }, "name": "address", "state_mutability": 4, @@ -5183,7 +5287,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5192,7 +5297,7 @@ } }, { - "id": 226, + "id": 227, "node_type": 44, "src": { "line": 75, @@ -5200,25 +5305,25 @@ "start": 1891, "end": 1908, "length": 18, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 227 + 228 ], "declarations": [ { - "id": 227, + "id": 228, "state_mutability": 1, "name": "count", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 75, "column": 8, "start": 1891, "end": 1903, "length": 13, - "parent_index": 226 + "parent_index": 227 }, "name_location": { "line": 75, @@ -5226,12 +5331,12 @@ "start": 1899, "end": 1903, "length": 5, - "parent_index": 227 + "parent_index": 228 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 228, + "id": 229, "node_type": 30, "src": { "line": 75, @@ -5239,7 +5344,7 @@ "start": 1891, "end": 1897, "length": 7, - "parent_index": 227 + "parent_index": 228 }, "name": "uint256", "referenced_declaration": 0, @@ -5252,7 +5357,7 @@ } ], "initial_value": { - "id": 229, + "id": 230, "node_type": 17, "kind": 49, "value": "0", @@ -5263,7 +5368,7 @@ "start": 1907, "end": 1907, "length": 1, - "parent_index": 226 + "parent_index": 227 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5271,7 +5376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -5284,10 +5390,10 @@ "start": 1927, "end": 2246, "length": 320, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 230, + "id": 231, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5300,7 +5406,7 @@ }, "operator": 9, "left_expression": { - "id": 231, + "id": 232, "node_type": 16, "src": { "line": 77, @@ -5308,7 +5414,7 @@ "start": 1933, "end": 1937, "length": 5, - "parent_index": 230 + "parent_index": 231 }, "name": "count", "type_description": { @@ -5316,11 +5422,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 232, + "id": 233, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -5332,7 +5439,7 @@ "start": 1941, "end": 1962, "length": 22, - "parent_index": 230 + "parent_index": 231 }, "member_location": { "line": 77, @@ -5340,10 +5447,10 @@ "start": 1957, "end": 1962, "length": 6, - "parent_index": 232 + "parent_index": 233 }, "expression": { - "id": 233, + "id": 234, "node_type": 16, "src": { "line": 77, @@ -5351,7 +5458,7 @@ "start": 1941, "end": 1955, "length": 15, - "parent_index": 232 + "parent_index": 233 }, "name": "playerAddresses", "type_description": { @@ -5359,15 +5466,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -5375,7 +5484,7 @@ } }, "body": { - "id": 234, + "id": 235, "node_type": 46, "kind": 0, "src": { @@ -5388,7 +5497,7 @@ "implemented": true, "statements": [ { - "id": 235, + "id": 236, "node_type": 48, "src": { "line": 78, @@ -5396,10 +5505,10 @@ "start": 1979, "end": 2083, "length": 105, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 236, + "id": 237, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5409,11 +5518,11 @@ "start": 1982, "end": 1995, "length": 14, - "parent_index": 235 + "parent_index": 236 }, "operator": 11, "left_expression": { - "id": 237, + "id": 238, "node_type": 16, "src": { "line": 78, @@ -5421,7 +5530,7 @@ "start": 1982, "end": 1986, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "index", "type_description": { @@ -5429,11 +5538,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 208, - "is_pure": false + "referenced_declaration": 209, + "is_pure": false, + "text": "index" }, "right_expression": { - "id": 238, + "id": 239, "node_type": 16, "src": { "line": 78, @@ -5441,7 +5551,7 @@ "start": 1991, "end": 1995, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "count", "type_description": { @@ -5449,8 +5559,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_bool", @@ -5458,7 +5569,7 @@ } }, "body": { - "id": 239, + "id": 240, "node_type": 46, "kind": 0, "src": { @@ -5471,7 +5582,7 @@ "implemented": true, "statements": [ { - "id": 240, + "id": 241, "node_type": 27, "src": { "line": 79, @@ -5479,10 +5590,10 @@ "start": 2015, "end": 2046, "length": 32, - "parent_index": 239 + "parent_index": 240 }, "expression": { - "id": 241, + "id": 242, "node_type": 27, "src": { "line": 79, @@ -5490,11 +5601,11 @@ "start": 2015, "end": 2045, "length": 31, - "parent_index": 240 + "parent_index": 241 }, "operator": 11, "left_expression": { - "id": 242, + "id": 243, "node_type": 16, "src": { "line": 79, @@ -5502,7 +5613,7 @@ "start": 2015, "end": 2020, "length": 6, - "parent_index": 241 + "parent_index": 242 }, "name": "winner", "type_description": { @@ -5510,11 +5621,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 59, - "is_pure": false + "referenced_declaration": 60, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 243, + "id": 244, "node_type": 22, "src": { "line": 79, @@ -5522,10 +5634,10 @@ "start": 2024, "end": 2045, "length": 22, - "parent_index": 241 + "parent_index": 242 }, "index_expression": { - "id": 244, + "id": 245, "node_type": 16, "src": { "line": 79, @@ -5533,7 +5645,7 @@ "start": 2024, "end": 2038, "length": 15, - "parent_index": 243 + "parent_index": 244 }, "name": "playerAddresses", "type_description": { @@ -5541,11 +5653,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 245, + "id": 246, "node_type": 16, "src": { "line": 79, @@ -5553,7 +5666,7 @@ "start": 2040, "end": 2044, "length": 5, - "parent_index": 243 + "parent_index": 244 }, "name": "count", "type_description": { @@ -5561,8 +5674,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_descriptions": [ { @@ -5587,10 +5701,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "winner=playerAddresses[count];" }, { - "id": 246, + "id": 247, "node_type": 74, "src": { "line": 80, @@ -5598,14 +5713,14 @@ "start": 2064, "end": 2069, "length": 6, - "parent_index": 239 + "parent_index": 240 } } ] } }, { - "id": 247, + "id": 248, "node_type": 18, "kind": 105, "src": { @@ -5617,7 +5732,7 @@ }, "operator": 27, "expression": { - "id": 248, + "id": 249, "node_type": 16, "src": { "line": 83, @@ -5625,7 +5740,7 @@ "start": 2098, "end": 2102, "length": 5, - "parent_index": 247 + "parent_index": 248 }, "name": "count", "type_description": { @@ -5633,8 +5748,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_uint256", @@ -5647,7 +5763,7 @@ "l_value_requested": false }, { - "id": 249, + "id": 250, "node_type": 48, "src": { "line": 86, @@ -5655,10 +5771,10 @@ "start": 2176, "end": 2236, "length": 61, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 250, + "id": 251, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5668,11 +5784,11 @@ "start": 2180, "end": 2193, "length": 14, - "parent_index": 249 + "parent_index": 250 }, "operator": 11, "left_expression": { - "id": 251, + "id": 252, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5682,11 +5798,11 @@ "start": 2180, "end": 2188, "length": 9, - "parent_index": 250 + "parent_index": 251 }, "operator": 5, "left_expression": { - "id": 252, + "id": 253, "node_type": 16, "src": { "line": 86, @@ -5694,7 +5810,7 @@ "start": 2180, "end": 2184, "length": 5, - "parent_index": 251 + "parent_index": 252 }, "name": "count", "type_description": { @@ -5702,11 +5818,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 253, + "id": 254, "node_type": 17, "kind": 49, "value": "2", @@ -5717,7 +5834,7 @@ "start": 2188, "end": 2188, "length": 1, - "parent_index": 251 + "parent_index": 252 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -5725,7 +5842,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -5733,7 +5851,7 @@ } }, "right_expression": { - "id": 254, + "id": 255, "node_type": 17, "kind": 49, "value": "1", @@ -5744,7 +5862,7 @@ "start": 2193, "end": 2193, "length": 1, - "parent_index": 250 + "parent_index": 251 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -5752,7 +5870,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -5760,7 +5879,7 @@ } }, "body": { - "id": 255, + "id": 256, "node_type": 46, "kind": 0, "src": { @@ -5773,7 +5892,7 @@ "implemented": true, "statements": [ { - "id": 256, + "id": 257, "node_type": 75, "src": { "line": 87, @@ -5781,7 +5900,7 @@ "start": 2214, "end": 2222, "length": 9, - "parent_index": 255 + "parent_index": 256 } } ] @@ -5791,7 +5910,7 @@ } }, { - "id": 257, + "id": 258, "node_type": 48, "src": { "line": 91, @@ -5799,10 +5918,10 @@ "start": 2257, "end": 2329, "length": 73, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 258, + "id": 259, "is_constant": false, "is_pure": false, "node_type": 19, @@ -5812,11 +5931,11 @@ "start": 2261, "end": 2280, "length": 20, - "parent_index": 257 + "parent_index": 258 }, "operator": 11, "left_expression": { - "id": 259, + "id": 260, "node_type": 16, "src": { "line": 91, @@ -5824,7 +5943,7 @@ "start": 2261, "end": 2266, "length": 6, - "parent_index": 258 + "parent_index": 259 }, "name": "winner", "type_description": { @@ -5832,11 +5951,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 260, + "id": 261, "node_type": 24, "kind": 24, "src": { @@ -5845,7 +5965,7 @@ "start": 2271, "end": 2280, "length": 10, - "parent_index": 258 + "parent_index": 259 }, "argument_types": [ { @@ -5855,7 +5975,7 @@ ], "arguments": [ { - "id": 263, + "id": 264, "node_type": 17, "kind": 49, "value": "0", @@ -5866,7 +5986,7 @@ "start": 2279, "end": 2279, "length": 1, - "parent_index": 260 + "parent_index": 261 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -5874,11 +5994,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 261, + "id": 262, "node_type": 16, "src": { "line": 91, @@ -5886,11 +6007,11 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 260 + "parent_index": 261 }, "name": "address", "type_name": { - "id": 262, + "id": 263, "node_type": 30, "src": { "line": 91, @@ -5898,7 +6019,7 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 261 + "parent_index": 262 }, "name": "address", "state_mutability": 4, @@ -5920,7 +6041,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -5933,7 +6055,7 @@ } }, "body": { - "id": 264, + "id": 265, "node_type": 46, "kind": 0, "src": { @@ -5942,12 +6064,12 @@ "start": 2283, "end": 2329, "length": 47, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 265, + "id": 266, "node_type": 78, "src": { "line": 92, @@ -5955,11 +6077,11 @@ "start": 2297, "end": 2319, "length": 23, - "parent_index": 195 + "parent_index": 196 }, "arguments": [], "expression": { - "id": 266, + "id": 267, "node_type": 16, "src": { "line": 92, @@ -5967,23 +6089,24 @@ "start": 2304, "end": 2316, "length": 13, - "parent_index": 265 + "parent_index": 266 }, "name": "InvalidWinner", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" }, "overloaded_declarations": [], - "referenced_declaration": 79, - "is_pure": false + "referenced_declaration": 80, + "is_pure": false, + "text": "InvalidWinner" } } ] } }, { - "id": 267, + "id": 268, "node_type": 64, "src": { "line": 95, @@ -5991,11 +6114,11 @@ "start": 2340, "end": 2368, "length": 29, - "parent_index": 195 + "parent_index": 196 }, "arguments": [ { - "id": 268, + "id": 269, "node_type": 16, "src": { "line": 95, @@ -6003,7 +6126,7 @@ "start": 2361, "end": 2366, "length": 6, - "parent_index": 267 + "parent_index": 268 }, "name": "winner", "type_description": { @@ -6011,12 +6134,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "expression": { - "id": 269, + "id": 270, "node_type": 16, "src": { "line": 95, @@ -6024,20 +6148,21 @@ "start": 2345, "end": 2359, "length": 15, - "parent_index": 267 + "parent_index": 268 }, "name": "LotteryFinished", "type_description": { - "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "type_string": "event Lottery.LotteryFinished" }, "overloaded_declarations": [], - "referenced_declaration": 57, - "is_pure": false + "referenced_declaration": 58, + "is_pure": false, + "text": "LotteryFinished" } }, { - "id": 270, + "id": 271, "node_type": 44, "src": { "line": 97, @@ -6045,25 +6170,25 @@ "start": 2379, "end": 2418, "length": 40, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 271 + 272 ], "declarations": [ { - "id": 271, + "id": 272, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 97, "column": 8, "start": 2379, "end": 2393, "length": 15, - "parent_index": 270 + "parent_index": 271 }, "name_location": { "line": 97, @@ -6071,12 +6196,12 @@ "start": 2387, "end": 2393, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 272, + "id": 273, "node_type": 30, "src": { "line": 97, @@ -6084,7 +6209,7 @@ "start": 2379, "end": 2385, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "name": "uint256", "referenced_declaration": 0, @@ -6097,7 +6222,7 @@ } ], "initial_value": { - "id": 273, + "id": 274, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6109,7 +6234,7 @@ "start": 2397, "end": 2417, "length": 21, - "parent_index": 270 + "parent_index": 271 }, "member_location": { "line": 97, @@ -6117,10 +6242,10 @@ "start": 2411, "end": 2417, "length": 7, - "parent_index": 273 + "parent_index": 274 }, "expression": { - "id": 274, + "id": 275, "node_type": 24, "kind": 24, "src": { @@ -6129,7 +6254,7 @@ "start": 2397, "end": 2409, "length": 13, - "parent_index": 270 + "parent_index": 271 }, "argument_types": [ { @@ -6139,7 +6264,7 @@ ], "arguments": [ { - "id": 277, + "id": 278, "node_type": 16, "src": { "line": 97, @@ -6147,7 +6272,7 @@ "start": 2405, "end": 2408, "length": 4, - "parent_index": 274 + "parent_index": 275 }, "name": "this", "type_description": { @@ -6156,11 +6281,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 275, + "id": 276, "node_type": 16, "src": { "line": 97, @@ -6168,11 +6294,11 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 274 + "parent_index": 275 }, "name": "address", "type_name": { - "id": 276, + "id": 277, "node_type": 30, "src": { "line": 97, @@ -6180,7 +6306,7 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 275 + "parent_index": 276 }, "name": "address", "state_mutability": 4, @@ -6202,7 +6328,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6214,11 +6341,12 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } }, { - "id": 278, + "id": 279, "node_type": 24, "kind": 24, "src": { @@ -6227,7 +6355,7 @@ "start": 2428, "end": 2460, "length": 33, - "parent_index": 202 + "parent_index": 203 }, "argument_types": [ { @@ -6237,7 +6365,7 @@ ], "arguments": [ { - "id": 282, + "id": 283, "node_type": 16, "src": { "line": 98, @@ -6245,7 +6373,7 @@ "start": 2453, "end": 2459, "length": 7, - "parent_index": 278 + "parent_index": 279 }, "name": "balance", "type_description": { @@ -6253,12 +6381,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 270, - "is_pure": false + "referenced_declaration": 271, + "is_pure": false, + "text": "balance" } ], "expression": { - "id": 279, + "id": 280, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6270,7 +6399,7 @@ "start": 2428, "end": 2451, "length": 24, - "parent_index": 278 + "parent_index": 279 }, "member_location": { "line": 98, @@ -6278,10 +6407,10 @@ "start": 2444, "end": 2451, "length": 8, - "parent_index": 279 + "parent_index": 280 }, "expression": { - "id": 280, + "id": 281, "node_type": 84, "src": { "line": 98, @@ -6289,11 +6418,11 @@ "start": 2428, "end": 2442, "length": 15, - "parent_index": 279 + "parent_index": 280 }, "arguments": [ { - "id": 281, + "id": 282, "node_type": 16, "src": { "line": 98, @@ -6301,7 +6430,7 @@ "start": 2436, "end": 2441, "length": 6, - "parent_index": 280 + "parent_index": 281 }, "name": "winner", "type_description": { @@ -6309,8 +6438,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "argument_types": [ @@ -6330,7 +6460,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(winner).transfer" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -6345,7 +6476,7 @@ "virtual": false, "modifiers": [ { - "id": 197, + "id": 198, "name": "inState", "node_type": 72, "kind": 72, @@ -6355,7 +6486,7 @@ "start": 1697, "end": 1727, "length": 31, - "parent_index": 195 + "parent_index": 196 }, "argument_types": [ { @@ -6365,7 +6496,7 @@ ], "arguments": [ { - "id": 199, + "id": 200, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6377,7 +6508,7 @@ "start": 1705, "end": 1726, "length": 22, - "parent_index": 197 + "parent_index": 198 }, "member_location": { "line": 70, @@ -6385,10 +6516,10 @@ "start": 1718, "end": 1726, "length": 9, - "parent_index": 199 + "parent_index": 200 }, "expression": { - "id": 200, + "id": 201, "node_type": 16, "src": { "line": 70, @@ -6396,7 +6527,7 @@ "start": 1705, "end": 1716, "length": 12, - "parent_index": 199 + "parent_index": 200 }, "name": "LotteryState", "type_description": { @@ -6405,18 +6536,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 198, + "id": 199, "name": "inState", "node_type": 0, "src": { @@ -6425,14 +6558,14 @@ "start": 1697, "end": 1703, "length": 7, - "parent_index": 197 + "parent_index": 198 } } } ], "overrides": [], "parameters": { - "id": 196, + "id": 197, "node_type": 43, "src": { "line": 70, @@ -6440,13 +6573,13 @@ "start": 1665, "end": 2467, "length": 803, - "parent_index": 195 + "parent_index": 196 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 201, + "id": 202, "node_type": 43, "src": { "line": 70, @@ -6454,7 +6587,7 @@ "start": 1665, "end": 2467, "length": 803, - "parent_index": 195 + "parent_index": 196 }, "parameters": [], "parameter_types": [] @@ -6465,10 +6598,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionfinishLottery()publicinState(LotteryState.Accepting){state=LotteryState.Finished;uint256index=uint256(block.timestamp)%playerAddresses.length;addresswinner=address(0);uint256count=0;while(count\u003cplayerAddresses.length){if(index==count){winner=playerAddresses[count];break;}count++;if(count%2==1){continue;}}if(winner==address(0)){revertInvalidWinner();}emitLotteryFinished(winner);uint256balance=address(this).balance;payable(winner).transfer(balance);}" }, { - "id": 284, + "id": 285, "name": "owner", "node_type": 42, "kind": 41, @@ -6486,10 +6620,10 @@ "start": 2483, "end": 2487, "length": 5, - "parent_index": 284 + "parent_index": 285 }, "body": { - "id": 291, + "id": 292, "node_type": 46, "kind": 0, "src": { @@ -6498,12 +6632,12 @@ "start": 2521, "end": 2557, "length": 37, - "parent_index": 284 + "parent_index": 285 }, "implemented": true, "statements": [ { - "id": 292, + "id": 293, "node_type": 47, "src": { "line": 102, @@ -6511,11 +6645,11 @@ "start": 2531, "end": 2551, "length": 21, - "parent_index": 284 + "parent_index": 285 }, - "function_return_parameters": 284, + "function_return_parameters": 285, "expression": { - "id": 293, + "id": 294, "node_type": 24, "kind": 24, "src": { @@ -6524,7 +6658,7 @@ "start": 2538, "end": 2550, "length": 13, - "parent_index": 292 + "parent_index": 293 }, "argument_types": [ { @@ -6534,7 +6668,7 @@ ], "arguments": [ { - "id": 296, + "id": 297, "node_type": 16, "src": { "line": 102, @@ -6542,7 +6676,7 @@ "start": 2546, "end": 2549, "length": 4, - "parent_index": 293 + "parent_index": 294 }, "name": "this", "type_description": { @@ -6551,11 +6685,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 294, + "id": 295, "node_type": 16, "src": { "line": 102, @@ -6563,11 +6698,11 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 293 + "parent_index": 294 }, "name": "address", "type_name": { - "id": 295, + "id": 296, "node_type": 30, "src": { "line": 102, @@ -6575,7 +6710,7 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 294 + "parent_index": 295 }, "name": "address", "state_mutability": 4, @@ -6597,7 +6732,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6614,7 +6750,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 285, + "id": 286, "node_type": 43, "src": { "line": 101, @@ -6622,11 +6758,11 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 284 + "parent_index": 285 }, "parameters": [ { - "id": 286, + "id": 287, "node_type": 44, "src": { "line": 101, @@ -6634,12 +6770,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 285 + "parent_index": 286 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 287, + "id": 288, "node_type": 30, "src": { "line": 101, @@ -6647,7 +6783,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 286 + "parent_index": 287 }, "name": "address", "state_mutability": 4, @@ -6674,7 +6810,7 @@ ] }, "return_parameters": { - "id": 288, + "id": 289, "node_type": 43, "src": { "line": 101, @@ -6682,11 +6818,11 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 284 + "parent_index": 285 }, "parameters": [ { - "id": 289, + "id": 290, "node_type": 44, "src": { "line": 101, @@ -6694,12 +6830,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 288 + "parent_index": 289 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 290, + "id": 291, "node_type": 30, "src": { "line": 101, @@ -6707,7 +6843,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 289 + "parent_index": 290 }, "name": "address", "state_mutability": 4, @@ -6739,10 +6875,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){returnaddress(this);}" }, { - "id": 298, + "id": 299, "name": "balance", "node_type": 42, "kind": 41, @@ -6760,10 +6897,10 @@ "start": 2573, "end": 2579, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "body": { - "id": 305, + "id": 306, "node_type": 46, "kind": 0, "src": { @@ -6772,12 +6909,12 @@ "start": 2613, "end": 2657, "length": 45, - "parent_index": 298 + "parent_index": 299 }, "implemented": true, "statements": [ { - "id": 306, + "id": 307, "node_type": 47, "src": { "line": 106, @@ -6785,11 +6922,11 @@ "start": 2623, "end": 2651, "length": 29, - "parent_index": 298 + "parent_index": 299 }, - "function_return_parameters": 298, + "function_return_parameters": 299, "expression": { - "id": 307, + "id": 308, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -6801,7 +6938,7 @@ "start": 2630, "end": 2650, "length": 21, - "parent_index": 306 + "parent_index": 307 }, "member_location": { "line": 106, @@ -6809,10 +6946,10 @@ "start": 2644, "end": 2650, "length": 7, - "parent_index": 307 + "parent_index": 308 }, "expression": { - "id": 308, + "id": 309, "node_type": 24, "kind": 24, "src": { @@ -6821,7 +6958,7 @@ "start": 2630, "end": 2642, "length": 13, - "parent_index": 307 + "parent_index": 308 }, "argument_types": [ { @@ -6831,7 +6968,7 @@ ], "arguments": [ { - "id": 311, + "id": 312, "node_type": 16, "src": { "line": 106, @@ -6839,7 +6976,7 @@ "start": 2638, "end": 2641, "length": 4, - "parent_index": 308 + "parent_index": 309 }, "name": "this", "type_description": { @@ -6848,11 +6985,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 309, + "id": 310, "node_type": 16, "src": { "line": 106, @@ -6860,11 +6998,11 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 308 + "parent_index": 309 }, "name": "address", "type_name": { - "id": 310, + "id": 311, "node_type": 30, "src": { "line": 106, @@ -6872,7 +7010,7 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 309 + "parent_index": 310 }, "name": "address", "state_mutability": 4, @@ -6894,7 +7032,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -6906,7 +7045,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } } ] @@ -6918,7 +7058,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 299, + "id": 300, "node_type": 43, "src": { "line": 105, @@ -6926,11 +7066,11 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "parameters": [ { - "id": 300, + "id": 301, "node_type": 44, "src": { "line": 105, @@ -6938,12 +7078,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 299 + "parent_index": 300 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 301, + "id": 302, "node_type": 30, "src": { "line": 105, @@ -6951,7 +7091,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 300 + "parent_index": 301 }, "name": "uint256", "referenced_declaration": 0, @@ -6977,7 +7117,7 @@ ] }, "return_parameters": { - "id": 302, + "id": 303, "node_type": 43, "src": { "line": 105, @@ -6985,11 +7125,11 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "parameters": [ { - "id": 303, + "id": 304, "node_type": 44, "src": { "line": 105, @@ -6997,12 +7137,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 302 + "parent_index": 303 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 304, + "id": 305, "node_type": 30, "src": { "line": 105, @@ -7010,7 +7150,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 303 + "parent_index": 304 }, "name": "uint256", "referenced_declaration": 0, @@ -7041,10 +7181,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbalance()publicviewreturns(uint256){returnaddress(this).balance;}" }, { - "id": 313, + "id": 314, "name": "checkAllPlayers", "node_type": 42, "kind": 41, @@ -7062,10 +7203,10 @@ "start": 2708, "end": 2722, "length": 15, - "parent_index": 313 + "parent_index": 314 }, "body": { - "id": 320, + "id": 321, "node_type": 46, "kind": 0, "src": { @@ -7074,12 +7215,12 @@ "start": 2753, "end": 2977, "length": 225, - "parent_index": 313 + "parent_index": 314 }, "implemented": true, "statements": [ { - "id": 321, + "id": 322, "node_type": 79, "src": { "line": 111, @@ -7087,10 +7228,10 @@ "start": 2763, "end": 2950, "length": 188, - "parent_index": 320 + "parent_index": 321 }, "initialiser": { - "id": 322, + "id": 323, "node_type": 44, "src": { "line": 111, @@ -7098,25 +7239,25 @@ "start": 2768, "end": 2778, "length": 11, - "parent_index": 320 + "parent_index": 321 }, "assignments": [ - 323 + 324 ], "declarations": [ { - "id": 323, + "id": 324, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 320, + "scope": 321, "src": { "line": 111, "column": 13, "start": 2768, "end": 2773, "length": 6, - "parent_index": 322 + "parent_index": 323 }, "name_location": { "line": 111, @@ -7124,12 +7265,12 @@ "start": 2773, "end": 2773, "length": 1, - "parent_index": 323 + "parent_index": 324 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 324, + "id": 325, "node_type": 30, "src": { "line": 111, @@ -7137,7 +7278,7 @@ "start": 2768, "end": 2771, "length": 4, - "parent_index": 323 + "parent_index": 324 }, "name": "uint", "referenced_declaration": 0, @@ -7150,7 +7291,7 @@ } ], "initial_value": { - "id": 325, + "id": 326, "node_type": 17, "kind": 49, "value": "0", @@ -7161,7 +7302,7 @@ "start": 2777, "end": 2777, "length": 1, - "parent_index": 322 + "parent_index": 323 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7169,11 +7310,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 326, + "id": 327, "is_constant": false, "is_pure": false, "node_type": 19, @@ -7183,11 +7325,11 @@ "start": 2780, "end": 2805, "length": 26, - "parent_index": 321 + "parent_index": 322 }, "operator": 9, "left_expression": { - "id": 327, + "id": 328, "node_type": 16, "src": { "line": 111, @@ -7195,7 +7337,7 @@ "start": 2780, "end": 2780, "length": 1, - "parent_index": 326 + "parent_index": 327 }, "name": "i", "type_description": { @@ -7203,11 +7345,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 328, + "id": 329, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -7219,7 +7362,7 @@ "start": 2784, "end": 2805, "length": 22, - "parent_index": 326 + "parent_index": 327 }, "member_location": { "line": 111, @@ -7227,10 +7370,10 @@ "start": 2800, "end": 2805, "length": 6, - "parent_index": 328 + "parent_index": 329 }, "expression": { - "id": 329, + "id": 330, "node_type": 16, "src": { "line": 111, @@ -7238,7 +7381,7 @@ "start": 2784, "end": 2798, "length": 15, - "parent_index": 328 + "parent_index": 329 }, "name": "playerAddresses", "type_description": { @@ -7246,15 +7389,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -7262,7 +7407,7 @@ } }, "closure": { - "id": 330, + "id": 331, "node_type": 18, "kind": 105, "src": { @@ -7271,11 +7416,11 @@ "start": 2808, "end": 2810, "length": 3, - "parent_index": 313 + "parent_index": 314 }, "operator": 27, "expression": { - "id": 331, + "id": 332, "node_type": 16, "src": { "line": 111, @@ -7283,7 +7428,7 @@ "start": 2808, "end": 2808, "length": 1, - "parent_index": 330 + "parent_index": 331 }, "name": "i", "type_description": { @@ -7291,8 +7436,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -7305,7 +7451,7 @@ "l_value_requested": false }, "body": { - "id": 332, + "id": 333, "node_type": 46, "kind": 0, "src": { @@ -7314,12 +7460,12 @@ "start": 2813, "end": 2950, "length": 138, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 333, + "id": 334, "node_type": 48, "src": { "line": 112, @@ -7327,10 +7473,10 @@ "start": 2827, "end": 2940, "length": 114, - "parent_index": 332 + "parent_index": 333 }, "condition": { - "id": 334, + "id": 335, "is_constant": false, "is_pure": false, "node_type": 19, @@ -7340,11 +7486,11 @@ "start": 2831, "end": 2876, "length": 46, - "parent_index": 333 + "parent_index": 334 }, "operator": 11, "left_expression": { - "id": 335, + "id": 336, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -7356,7 +7502,7 @@ "start": 2831, "end": 2862, "length": 32, - "parent_index": 334 + "parent_index": 335 }, "member_location": { "line": 112, @@ -7364,10 +7510,10 @@ "start": 2859, "end": 2862, "length": 4, - "parent_index": 335 + "parent_index": 336 }, "expression": { - "id": 336, + "id": 337, "node_type": 22, "src": { "line": 112, @@ -7375,10 +7521,10 @@ "start": 2831, "end": 2857, "length": 27, - "parent_index": 335 + "parent_index": 336 }, "index_expression": { - "id": 337, + "id": 338, "node_type": 16, "src": { "line": 112, @@ -7386,19 +7532,20 @@ "start": 2831, "end": 2837, "length": 7, - "parent_index": 336 + "parent_index": 337 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 338, + "id": 339, "node_type": 22, "src": { "line": 112, @@ -7406,10 +7553,10 @@ "start": 2839, "end": 2856, "length": 18, - "parent_index": 336 + "parent_index": 337 }, "index_expression": { - "id": 339, + "id": 340, "node_type": 16, "src": { "line": 112, @@ -7417,7 +7564,7 @@ "start": 2839, "end": 2853, "length": 15, - "parent_index": 338 + "parent_index": 339 }, "name": "playerAddresses", "type_description": { @@ -7425,11 +7572,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 340, + "id": 341, "node_type": 16, "src": { "line": 112, @@ -7437,7 +7585,7 @@ "start": 2855, "end": 2855, "length": 1, - "parent_index": 338 + "parent_index": 339 }, "name": "i", "type_description": { @@ -7445,8 +7593,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -7465,7 +7614,7 @@ }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -7474,19 +7623,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" - } + }, + "text": "players[playerAddresses[i]].addr" }, "right_expression": { - "id": 341, + "id": 342, "node_type": 24, "kind": 24, "src": { @@ -7495,7 +7645,7 @@ "start": 2867, "end": 2876, "length": 10, - "parent_index": 334 + "parent_index": 335 }, "argument_types": [ { @@ -7505,7 +7655,7 @@ ], "arguments": [ { - "id": 344, + "id": 345, "node_type": 17, "kind": 49, "value": "0", @@ -7516,7 +7666,7 @@ "start": 2875, "end": 2875, "length": 1, - "parent_index": 341 + "parent_index": 342 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -7524,11 +7674,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 342, + "id": 343, "node_type": 16, "src": { "line": 112, @@ -7536,11 +7687,11 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 341 + "parent_index": 342 }, "name": "address", "type_name": { - "id": 343, + "id": 344, "node_type": 30, "src": { "line": 112, @@ -7548,7 +7699,7 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 342 + "parent_index": 343 }, "name": "address", "state_mutability": 4, @@ -7570,7 +7721,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -7583,7 +7735,7 @@ } }, "body": { - "id": 345, + "id": 346, "node_type": 46, "kind": 0, "src": { @@ -7592,12 +7744,12 @@ "start": 2879, "end": 2940, "length": 62, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 346, + "id": 347, "node_type": 78, "src": { "line": 113, @@ -7605,11 +7757,11 @@ "start": 2897, "end": 2926, "length": 30, - "parent_index": 321 + "parent_index": 322 }, "arguments": [], "expression": { - "id": 347, + "id": 348, "node_type": 16, "src": { "line": 113, @@ -7617,16 +7769,17 @@ "start": 2904, "end": 2923, "length": 20, - "parent_index": 346 + "parent_index": 347 }, "name": "InvalidPlayerAddress", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" }, "overloaded_declarations": [], - "referenced_declaration": 82, - "is_pure": false + "referenced_declaration": 83, + "is_pure": false, + "text": "InvalidPlayerAddress" } } ] @@ -7636,7 +7789,7 @@ } }, { - "id": 348, + "id": 349, "node_type": 47, "src": { "line": 116, @@ -7644,11 +7797,11 @@ "start": 2960, "end": 2971, "length": 12, - "parent_index": 313 + "parent_index": 314 }, - "function_return_parameters": 313, + "function_return_parameters": 314, "expression": { - "id": 349, + "id": 350, "node_type": 17, "kind": 61, "value": "true", @@ -7659,7 +7812,7 @@ "start": 2967, "end": 2970, "length": 4, - "parent_index": 348 + "parent_index": 349 }, "type_description": { "type_identifier": "t_bool", @@ -7667,7 +7820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -7679,7 +7833,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 314, + "id": 315, "node_type": 43, "src": { "line": 110, @@ -7687,11 +7841,11 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 313 + "parent_index": 314 }, "parameters": [ { - "id": 315, + "id": 316, "node_type": 44, "src": { "line": 110, @@ -7699,12 +7853,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 314 + "parent_index": 315 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 316, + "id": 317, "node_type": 30, "src": { "line": 110, @@ -7712,7 +7866,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 315 + "parent_index": 316 }, "name": "bool", "referenced_declaration": 0, @@ -7738,7 +7892,7 @@ ] }, "return_parameters": { - "id": 317, + "id": 318, "node_type": 43, "src": { "line": 110, @@ -7746,11 +7900,11 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 313 + "parent_index": 314 }, "parameters": [ { - "id": 318, + "id": 319, "node_type": 44, "src": { "line": 110, @@ -7758,12 +7912,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 317 + "parent_index": 318 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 319, + "id": 320, "node_type": 30, "src": { "line": 110, @@ -7771,7 +7925,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 318 + "parent_index": 319 }, "name": "bool", "referenced_declaration": 0, @@ -7802,10 +7956,11 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functioncheckAllPlayers()publicviewreturns(bool){for(uinti=0;i\u003cplayerAddresses.length;i++){if(players[playerAddresses[i]].addr==address(0)){revertInvalidPlayerAddress();}}returntrue;}" }, { - "id": 351, + "id": 352, "name": "requireOwner", "node_type": 42, "kind": 41, @@ -7823,10 +7978,10 @@ "start": 3026, "end": 3037, "length": 12, - "parent_index": 351 + "parent_index": 352 }, "body": { - "id": 354, + "id": 355, "node_type": 46, "kind": 0, "src": { @@ -7835,12 +7990,12 @@ "start": 3053, "end": 3145, "length": 93, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 355, + "id": 356, "node_type": 48, "src": { "line": 121, @@ -7848,10 +8003,10 @@ "start": 3063, "end": 3139, "length": 77, - "parent_index": 354 + "parent_index": 355 }, "condition": { - "id": 356, + "id": 357, "is_constant": false, "is_pure": false, "node_type": 19, @@ -7861,11 +8016,11 @@ "start": 3067, "end": 3087, "length": 21, - "parent_index": 355 + "parent_index": 356 }, "operator": 12, "left_expression": { - "id": 357, + "id": 358, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -7877,7 +8032,7 @@ "start": 3067, "end": 3076, "length": 10, - "parent_index": 356 + "parent_index": 357 }, "member_location": { "line": 121, @@ -7885,10 +8040,10 @@ "start": 3071, "end": 3076, "length": 6, - "parent_index": 357 + "parent_index": 358 }, "expression": { - "id": 358, + "id": 359, "node_type": 16, "src": { "line": 121, @@ -7896,7 +8051,7 @@ "start": 3067, "end": 3069, "length": 3, - "parent_index": 357 + "parent_index": 358 }, "name": "msg", "type_description": { @@ -7905,17 +8060,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 359, + "id": 360, "node_type": 24, "kind": 24, "src": { @@ -7924,12 +8081,12 @@ "start": 3081, "end": 3087, "length": 7, - "parent_index": 356 + "parent_index": 357 }, "argument_types": [], "arguments": [], "expression": { - "id": 360, + "id": 361, "node_type": 16, "src": { "line": 121, @@ -7937,7 +8094,7 @@ "start": 3081, "end": 3085, "length": 5, - "parent_index": 359 + "parent_index": 360 }, "name": "owner", "type_description": { @@ -7946,7 +8103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -7959,7 +8117,7 @@ } }, "body": { - "id": 361, + "id": 362, "node_type": 46, "kind": 0, "src": { @@ -7968,12 +8126,12 @@ "start": 3090, "end": 3139, "length": 50, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 362, + "id": 363, "node_type": 78, "src": { "line": 122, @@ -7981,11 +8139,11 @@ "start": 3104, "end": 3129, "length": 26, - "parent_index": 351 + "parent_index": 352 }, "arguments": [], "expression": { - "id": 363, + "id": 364, "node_type": 16, "src": { "line": 122, @@ -7993,16 +8151,17 @@ "start": 3111, "end": 3126, "length": 16, - "parent_index": 362 + "parent_index": 363 }, "name": "OnlyOwnerCanCall", "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" }, "overloaded_declarations": [], - "referenced_declaration": 85, - "is_pure": false + "referenced_declaration": 86, + "is_pure": false, + "text": "OnlyOwnerCanCall" } } ] @@ -8017,7 +8176,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 352, + "id": 353, "node_type": 43, "src": { "line": 120, @@ -8025,13 +8184,13 @@ "start": 3017, "end": 3145, "length": 129, - "parent_index": 351 + "parent_index": 352 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 353, + "id": 354, "node_type": 43, "src": { "line": 120, @@ -8039,7 +8198,7 @@ "start": 3017, "end": 3145, "length": 129, - "parent_index": 351 + "parent_index": 352 }, "parameters": [], "parameter_types": [] @@ -8050,10 +8209,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrequireOwner()publicview{if(msg.sender!=owner()){revertOnlyOwnerCanCall();}}" }, { - "id": 365, + "id": 366, "name": "callExternalFunction", "node_type": 42, "kind": 41, @@ -8071,10 +8231,10 @@ "start": 3161, "end": 3180, "length": 20, - "parent_index": 365 + "parent_index": 366 }, "body": { - "id": 370, + "id": 371, "node_type": 46, "kind": 0, "src": { @@ -8083,12 +8243,12 @@ "start": 3222, "end": 3521, "length": 300, - "parent_index": 365 + "parent_index": 366 }, "implemented": true, "statements": [ { - "id": 371, + "id": 372, "node_type": 44, "src": { "line": 127, @@ -8096,25 +8256,25 @@ "start": 3232, "end": 3302, "length": 71, - "parent_index": 370 + "parent_index": 371 }, "assignments": [ - 372 + 373 ], "declarations": [ { - "id": 372, + "id": 373, "state_mutability": 1, "name": "dummyContract", "node_type": 44, - "scope": 370, + "scope": 371, "src": { "line": 127, "column": 8, "start": 3232, "end": 3259, "length": 28, - "parent_index": 371 + "parent_index": 372 }, "name_location": { "line": 127, @@ -8122,12 +8282,12 @@ "start": 3247, "end": 3259, "length": 13, - "parent_index": 372 + "parent_index": 373 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 373, + "id": 374, "node_type": 69, "src": { "line": 127, @@ -8135,10 +8295,10 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 372 + "parent_index": 373 }, "path_node": { - "id": 374, + "id": 375, "name": "IDummyContract", "node_type": 52, "referenced_declaration": 10, @@ -8148,7 +8308,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 }, "name_location": { "line": 127, @@ -8156,7 +8316,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 } }, "referenced_declaration": 10, @@ -8169,7 +8329,7 @@ } ], "initial_value": { - "id": 375, + "id": 376, "node_type": 24, "kind": 24, "src": { @@ -8178,7 +8338,7 @@ "start": 3263, "end": 3301, "length": 39, - "parent_index": 371 + "parent_index": 372 }, "argument_types": [ { @@ -8188,7 +8348,7 @@ ], "arguments": [ { - "id": 377, + "id": 378, "node_type": 16, "src": { "line": 127, @@ -8196,7 +8356,7 @@ "start": 3278, "end": 3300, "length": 23, - "parent_index": 375 + "parent_index": 376 }, "name": "externalContractAddress", "type_description": { @@ -8204,12 +8364,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 377, - "is_pure": false + "referenced_declaration": 378, + "is_pure": false, + "text": "externalContractAddress" } ], "expression": { - "id": 376, + "id": 377, "node_type": 16, "src": { "line": 127, @@ -8217,7 +8378,7 @@ "start": 3263, "end": 3276, "length": 14, - "parent_index": 375 + "parent_index": 376 }, "name": "IDummyContract", "type_description": { @@ -8226,7 +8387,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IDummyContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8235,7 +8397,7 @@ } }, { - "id": 378, + "id": 379, "node_type": 85, "src": { "line": 129, @@ -8243,10 +8405,10 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 370 + "parent_index": 371 }, "body": { - "id": 382, + "id": 383, "node_type": 46, "kind": 0, "src": { @@ -8255,12 +8417,12 @@ "start": 3347, "end": 3400, "length": 54, - "parent_index": 378 + "parent_index": 379 }, "implemented": true, "statements": [ { - "id": 383, + "id": 384, "node_type": 64, "src": { "line": 130, @@ -8268,11 +8430,11 @@ "start": 3361, "end": 3390, "length": 30, - "parent_index": 378 + "parent_index": 379 }, "arguments": [], "expression": { - "id": 384, + "id": 385, "node_type": 16, "src": { "line": 130, @@ -8280,16 +8442,17 @@ "start": 3366, "end": 3387, "length": 22, - "parent_index": 383 + "parent_index": 384 }, "name": "ExternalCallSuccessful", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "type_string": "event Lottery.ExternalCallSuccessful" }, "overloaded_declarations": [], - "referenced_declaration": 62, - "is_pure": false + "referenced_declaration": 63, + "is_pure": false, + "text": "ExternalCallSuccessful" } } ] @@ -8297,7 +8460,7 @@ "kind": 86, "returns": false, "return_parameters": { - "id": 392, + "id": 393, "node_type": 43, "src": { "line": 129, @@ -8305,13 +8468,13 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 378 + "parent_index": 379 }, "parameters": [], "parameter_types": [] }, "expression": { - "id": 379, + "id": 380, "node_type": 24, "kind": 24, "src": { @@ -8320,12 +8483,12 @@ "start": 3317, "end": 3345, "length": 29, - "parent_index": 378 + "parent_index": 379 }, "argument_types": [], "arguments": [], "expression": { - "id": 380, + "id": 381, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -8337,7 +8500,7 @@ "start": 3317, "end": 3343, "length": 27, - "parent_index": 379 + "parent_index": 380 }, "member_location": { "line": 129, @@ -8345,10 +8508,10 @@ "start": 3331, "end": 3343, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "expression": { - "id": 381, + "id": 382, "node_type": 16, "src": { "line": 129, @@ -8356,7 +8519,7 @@ "start": 3317, "end": 3329, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "name": "dummyContract", "type_description": { @@ -8364,15 +8527,17 @@ "type_string": "contract IDummyContract" }, "overloaded_declarations": [], - "referenced_declaration": 371, - "is_pure": false + "referenced_declaration": 372, + "is_pure": false, + "text": "dummyContract" }, "member_name": "dummyFunction", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IDummyContract_$10", "type_string": "contract IDummyContract" - } + }, + "text": "dummyContract.dummyFunction" }, "type_description": { "type_identifier": "t_function_$", @@ -8390,10 +8555,10 @@ "start": 3402, "end": 3515, "length": 114, - "parent_index": 378 + "parent_index": 379 }, "body": { - "id": 388, + "id": 389, "node_type": 46, "kind": 0, "src": { @@ -8406,7 +8571,7 @@ "implemented": true, "statements": [ { - "id": 389, + "id": 390, "node_type": 64, "src": { "line": 132, @@ -8417,7 +8582,7 @@ }, "arguments": [ { - "id": 390, + "id": 391, "node_type": 17, "kind": 50, "value": "External contract failed", @@ -8428,7 +8593,7 @@ "start": 3478, "end": 3503, "length": 26, - "parent_index": 389 + "parent_index": 390 }, "type_description": { "type_identifier": "t_string_literal", @@ -8436,11 +8601,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"External contract failed\"" } ], "expression": { - "id": 391, + "id": 392, "node_type": 16, "src": { "line": 132, @@ -8448,22 +8614,23 @@ "start": 3459, "end": 3476, "length": 18, - "parent_index": 389 + "parent_index": 390 }, "name": "ExternalCallFailed", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "type_string": "event Lottery.ExternalCallFailed" }, "overloaded_declarations": [], - "referenced_declaration": 65, - "is_pure": false + "referenced_declaration": 66, + "is_pure": false, + "text": "ExternalCallFailed" } } ] }, "parameters": { - "id": 385, + "id": 386, "node_type": 43, "src": { "line": 131, @@ -8474,7 +8641,7 @@ }, "parameters": [ { - "id": 386, + "id": 387, "node_type": 44, "src": { "line": 131, @@ -8482,11 +8649,11 @@ "start": 3409, "end": 3420, "length": 12, - "parent_index": 385 + "parent_index": 386 }, "name": "", "type_name": { - "id": 387, + "id": 388, "node_type": 30, "src": { "line": 131, @@ -8494,7 +8661,7 @@ "start": 3409, "end": 3413, "length": 5, - "parent_index": 386 + "parent_index": 387 }, "name": "bytes", "referenced_declaration": 0, @@ -8532,7 +8699,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 366, + "id": 367, "node_type": 43, "src": { "line": 126, @@ -8540,11 +8707,11 @@ "start": 3182, "end": 3212, "length": 31, - "parent_index": 365 + "parent_index": 366 }, "parameters": [ { - "id": 367, + "id": 368, "node_type": 44, "src": { "line": 126, @@ -8552,12 +8719,12 @@ "start": 3182, "end": 3212, "length": 31, - "parent_index": 366 + "parent_index": 367 }, - "scope": 365, + "scope": 366, "name": "externalContractAddress", "type_name": { - "id": 368, + "id": 369, "node_type": 30, "src": { "line": 126, @@ -8565,7 +8732,7 @@ "start": 3182, "end": 3188, "length": 7, - "parent_index": 367 + "parent_index": 368 }, "name": "address", "state_mutability": 4, @@ -8592,7 +8759,7 @@ ] }, "return_parameters": { - "id": 369, + "id": 370, "node_type": 43, "src": { "line": 126, @@ -8600,7 +8767,7 @@ "start": 3152, "end": 3521, "length": 370, - "parent_index": 365 + "parent_index": 366 }, "parameters": [], "parameter_types": [] @@ -8611,10 +8778,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functioncallExternalFunction(addressexternalContractAddress)public{IDummyContractdummyContract=IDummyContract(externalContractAddress);trydummyContract.dummyFunction(){emitExternalCallSuccessful();}catch(bytesmemory){emitExternalCallFailed(\"External contract failed\");}}" }, { - "id": 394, + "id": 395, "name": "integerToString", "node_type": 42, "kind": 41, @@ -8632,10 +8800,10 @@ "start": 3537, "end": 3551, "length": 15, - "parent_index": 394 + "parent_index": 395 }, "body": { - "id": 401, + "id": 402, "node_type": 46, "kind": 0, "src": { @@ -8644,12 +8812,12 @@ "start": 3609, "end": 4071, "length": 463, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 402, + "id": 403, "node_type": 48, "src": { "line": 139, @@ -8657,10 +8825,10 @@ "start": 3628, "end": 3675, "length": 48, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 403, + "id": 404, "is_constant": false, "is_pure": false, "node_type": 19, @@ -8670,11 +8838,11 @@ "start": 3632, "end": 3638, "length": 7, - "parent_index": 402 + "parent_index": 403 }, "operator": 11, "left_expression": { - "id": 404, + "id": 405, "node_type": 16, "src": { "line": 139, @@ -8682,7 +8850,7 @@ "start": 3632, "end": 3633, "length": 2, - "parent_index": 403 + "parent_index": 404 }, "name": "_i", "type_description": { @@ -8690,11 +8858,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false + "referenced_declaration": 405, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 405, + "id": 406, "node_type": 17, "kind": 49, "value": "0", @@ -8705,7 +8874,7 @@ "start": 3638, "end": 3638, "length": 1, - "parent_index": 403 + "parent_index": 404 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -8713,7 +8882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8721,7 +8891,7 @@ } }, "body": { - "id": 406, + "id": 407, "node_type": 46, "kind": 0, "src": { @@ -8730,12 +8900,12 @@ "start": 3641, "end": 3675, "length": 35, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 407, + "id": 408, "node_type": 47, "src": { "line": 140, @@ -8743,11 +8913,11 @@ "start": 3655, "end": 3665, "length": 11, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 408, + "id": 409, "node_type": 17, "kind": 50, "value": "0", @@ -8758,7 +8928,7 @@ "start": 3662, "end": 3664, "length": 3, - "parent_index": 407 + "parent_index": 408 }, "type_description": { "type_identifier": "t_string_literal", @@ -8766,14 +8936,15 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] } }, { - "id": 409, + "id": 410, "node_type": 44, "src": { "line": 142, @@ -8781,25 +8952,25 @@ "start": 3685, "end": 3696, "length": 12, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 410 + 411 ], "declarations": [ { - "id": 410, + "id": 411, "state_mutability": 1, "name": "j", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 142, "column": 8, "start": 3685, "end": 3690, "length": 6, - "parent_index": 409 + "parent_index": 410 }, "name_location": { "line": 142, @@ -8807,12 +8978,12 @@ "start": 3690, "end": 3690, "length": 1, - "parent_index": 410 + "parent_index": 411 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 411, + "id": 412, "node_type": 30, "src": { "line": 142, @@ -8820,7 +8991,7 @@ "start": 3685, "end": 3688, "length": 4, - "parent_index": 410 + "parent_index": 411 }, "name": "uint", "referenced_declaration": 0, @@ -8833,7 +9004,7 @@ } ], "initial_value": { - "id": 412, + "id": 413, "node_type": 16, "src": { "line": 142, @@ -8841,7 +9012,7 @@ "start": 3694, "end": 3695, "length": 2, - "parent_index": 409 + "parent_index": 410 }, "name": "_i", "type_description": { @@ -8849,12 +9020,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 412, - "is_pure": false + "referenced_declaration": 413, + "is_pure": false, + "text": "_i" } }, { - "id": 413, + "id": 414, "node_type": 44, "src": { "line": 143, @@ -8862,25 +9034,25 @@ "start": 3706, "end": 3714, "length": 9, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 414 + 415 ], "declarations": [ { - "id": 414, + "id": 415, "state_mutability": 1, "name": "len", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 143, "column": 8, "start": 3706, "end": 3713, "length": 8, - "parent_index": 413 + "parent_index": 414 }, "name_location": { "line": 143, @@ -8888,12 +9060,12 @@ "start": 3711, "end": 3713, "length": 3, - "parent_index": 414 + "parent_index": 415 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 415, + "id": 416, "node_type": 30, "src": { "line": 143, @@ -8901,7 +9073,7 @@ "start": 3706, "end": 3709, "length": 4, - "parent_index": 414 + "parent_index": 415 }, "name": "uint", "referenced_declaration": 0, @@ -8924,10 +9096,10 @@ "start": 3733, "end": 3798, "length": 66, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 416, + "id": 417, "is_constant": false, "is_pure": false, "node_type": 19, @@ -8940,7 +9112,7 @@ }, "operator": 12, "left_expression": { - "id": 417, + "id": 418, "node_type": 16, "src": { "line": 145, @@ -8948,7 +9120,7 @@ "start": 3740, "end": 3740, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "name": "j", "type_description": { @@ -8956,11 +9128,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 418, + "id": 419, "node_type": 17, "kind": 49, "value": "0", @@ -8971,7 +9144,7 @@ "start": 3745, "end": 3745, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -8979,7 +9152,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8987,7 +9161,7 @@ } }, "body": { - "id": 419, + "id": 420, "node_type": 46, "kind": 0, "src": { @@ -9000,7 +9174,7 @@ "implemented": true, "statements": [ { - "id": 420, + "id": 421, "node_type": 18, "kind": 105, "src": { @@ -9012,7 +9186,7 @@ }, "operator": 27, "expression": { - "id": 421, + "id": 422, "node_type": 16, "src": { "line": 146, @@ -9020,7 +9194,7 @@ "start": 3762, "end": 3764, "length": 3, - "parent_index": 420 + "parent_index": 421 }, "name": "len", "type_description": { @@ -9028,8 +9202,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_uint256", @@ -9042,7 +9217,7 @@ "l_value_requested": false }, { - "id": 422, + "id": 423, "node_type": 27, "src": { "line": 147, @@ -9050,10 +9225,10 @@ "start": 3781, "end": 3788, "length": 8, - "parent_index": 419 + "parent_index": 420 }, "expression": { - "id": 423, + "id": 424, "node_type": 27, "src": { "line": 147, @@ -9061,11 +9236,11 @@ "start": 3781, "end": 3787, "length": 7, - "parent_index": 422 + "parent_index": 423 }, "operator": 4, "left_expression": { - "id": 424, + "id": 425, "node_type": 16, "src": { "line": 147, @@ -9073,7 +9248,7 @@ "start": 3781, "end": 3781, "length": 1, - "parent_index": 423 + "parent_index": 424 }, "name": "j", "type_description": { @@ -9081,11 +9256,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 425, + "id": 426, "node_type": 17, "kind": 49, "value": "10", @@ -9096,7 +9272,7 @@ "start": 3786, "end": 3787, "length": 2, - "parent_index": 423 + "parent_index": 424 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -9104,7 +9280,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -9114,13 +9291,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "j/=10;" } ] } }, { - "id": 426, + "id": 427, "node_type": 44, "src": { "line": 149, @@ -9128,25 +9306,25 @@ "start": 3808, "end": 3842, "length": 35, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 427 + 428 ], "declarations": [ { - "id": 427, + "id": 428, "state_mutability": 1, "name": "bstr", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 149, "column": 8, "start": 3808, "end": 3824, "length": 17, - "parent_index": 426 + "parent_index": 427 }, "name_location": { "line": 149, @@ -9154,12 +9332,12 @@ "start": 3821, "end": 3824, "length": 4, - "parent_index": 427 + "parent_index": 428 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 428, + "id": 429, "node_type": 30, "src": { "line": 149, @@ -9167,7 +9345,7 @@ "start": 3808, "end": 3812, "length": 5, - "parent_index": 427 + "parent_index": 428 }, "name": "bytes", "referenced_declaration": 0, @@ -9180,7 +9358,7 @@ } ], "initial_value": { - "id": 429, + "id": 430, "node_type": 24, "kind": 24, "src": { @@ -9189,7 +9367,7 @@ "start": 3828, "end": 3841, "length": 14, - "parent_index": 426 + "parent_index": 427 }, "argument_types": [ { @@ -9199,7 +9377,7 @@ ], "arguments": [ { - "id": 432, + "id": 433, "node_type": 16, "src": { "line": 149, @@ -9207,7 +9385,7 @@ "start": 3838, "end": 3840, "length": 3, - "parent_index": 429 + "parent_index": 430 }, "name": "len", "type_description": { @@ -9215,12 +9393,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" } ], "expression": { - "id": 430, + "id": 431, "node_type": 25, "src": { "line": 149, @@ -9228,11 +9407,11 @@ "start": 3828, "end": 3836, "length": 9, - "parent_index": 429 + "parent_index": 430 }, "argument_types": [], "type_name": { - "id": 431, + "id": 432, "node_type": 30, "src": { "line": 149, @@ -9240,7 +9419,7 @@ "start": 3832, "end": 3836, "length": 5, - "parent_index": 430 + "parent_index": 431 }, "name": "bytes", "referenced_declaration": 0, @@ -9261,7 +9440,7 @@ } }, { - "id": 433, + "id": 434, "node_type": 44, "src": { "line": 150, @@ -9269,25 +9448,25 @@ "start": 3852, "end": 3868, "length": 17, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 434 + 435 ], "declarations": [ { - "id": 434, + "id": 435, "state_mutability": 1, "name": "k", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 150, "column": 8, "start": 3852, "end": 3857, "length": 6, - "parent_index": 433 + "parent_index": 434 }, "name_location": { "line": 150, @@ -9295,12 +9474,12 @@ "start": 3857, "end": 3857, "length": 1, - "parent_index": 434 + "parent_index": 435 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 435, + "id": 436, "node_type": 30, "src": { "line": 150, @@ -9308,7 +9487,7 @@ "start": 3852, "end": 3855, "length": 4, - "parent_index": 434 + "parent_index": 435 }, "name": "uint", "referenced_declaration": 0, @@ -9321,7 +9500,7 @@ } ], "initial_value": { - "id": 436, + "id": 437, "is_constant": false, "is_pure": false, "node_type": 19, @@ -9331,11 +9510,11 @@ "start": 3861, "end": 3867, "length": 7, - "parent_index": 433 + "parent_index": 434 }, "operator": 2, "left_expression": { - "id": 437, + "id": 438, "node_type": 16, "src": { "line": 150, @@ -9343,7 +9522,7 @@ "start": 3861, "end": 3863, "length": 3, - "parent_index": 436 + "parent_index": 437 }, "name": "len", "type_description": { @@ -9351,11 +9530,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "right_expression": { - "id": 438, + "id": 439, "node_type": 17, "kind": 49, "value": "1", @@ -9366,7 +9546,7 @@ "start": 3867, "end": 3867, "length": 1, - "parent_index": 436 + "parent_index": 437 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -9374,7 +9554,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -9383,7 +9564,7 @@ } }, { - "id": 439, + "id": 440, "node_type": 76, "src": { "line": 152, @@ -9391,10 +9572,10 @@ "start": 3887, "end": 4036, "length": 150, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 440, + "id": 441, "is_constant": false, "is_pure": false, "node_type": 19, @@ -9404,11 +9585,11 @@ "start": 4028, "end": 4034, "length": 7, - "parent_index": 439 + "parent_index": 440 }, "operator": 12, "left_expression": { - "id": 441, + "id": 442, "node_type": 16, "src": { "line": 156, @@ -9416,7 +9597,7 @@ "start": 4028, "end": 4029, "length": 2, - "parent_index": 440 + "parent_index": 441 }, "name": "_i", "type_description": { @@ -9424,11 +9605,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 441, - "is_pure": false + "referenced_declaration": 442, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 442, + "id": 443, "node_type": 17, "kind": 49, "value": "0", @@ -9439,7 +9621,7 @@ "start": 4034, "end": 4034, "length": 1, - "parent_index": 440 + "parent_index": 441 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -9447,7 +9629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9455,7 +9638,7 @@ } }, "body": { - "id": 443, + "id": 444, "node_type": 46, "kind": 0, "src": { @@ -9464,12 +9647,12 @@ "start": 3890, "end": 4011, "length": 122, - "parent_index": 439 + "parent_index": 440 }, "implemented": true, "statements": [ { - "id": 444, + "id": 445, "node_type": 27, "src": { "line": 153, @@ -9477,10 +9660,10 @@ "start": 3940, "end": 3979, "length": 40, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 445, + "id": 446, "node_type": 27, "src": { "line": 153, @@ -9488,11 +9671,11 @@ "start": 3940, "end": 3978, "length": 39, - "parent_index": 444 + "parent_index": 445 }, "operator": 11, "left_expression": { - "id": 446, + "id": 447, "node_type": 22, "src": { "line": 153, @@ -9500,10 +9683,10 @@ "start": 3940, "end": 3948, "length": 9, - "parent_index": 445 + "parent_index": 446 }, "index_expression": { - "id": 447, + "id": 448, "node_type": 16, "src": { "line": 153, @@ -9511,7 +9694,7 @@ "start": 3940, "end": 3943, "length": 4, - "parent_index": 446 + "parent_index": 447 }, "name": "bstr", "type_description": { @@ -9519,11 +9702,12 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" }, "base_expression": { - "id": 448, + "id": 449, "node_type": 18, "kind": 105, "src": { @@ -9532,11 +9716,11 @@ "start": 3945, "end": 3947, "length": 3, - "parent_index": 439 + "parent_index": 440 }, "operator": 28, "expression": { - "id": 449, + "id": 450, "node_type": 16, "src": { "line": 153, @@ -9544,7 +9728,7 @@ "start": 3945, "end": 3945, "length": 1, - "parent_index": 448 + "parent_index": 449 }, "name": "k", "type_description": { @@ -9552,8 +9736,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 433, - "is_pure": false + "referenced_declaration": 434, + "is_pure": false, + "text": "k" }, "type_description": { "type_identifier": "t_uint256", @@ -9581,7 +9766,7 @@ } }, "right_expression": { - "id": 450, + "id": 451, "node_type": 24, "kind": 24, "src": { @@ -9590,7 +9775,7 @@ "start": 3952, "end": 3978, "length": 27, - "parent_index": 445 + "parent_index": 446 }, "argument_types": [ { @@ -9600,7 +9785,7 @@ ], "arguments": [ { - "id": 453, + "id": 454, "node_type": 24, "kind": 24, "src": { @@ -9609,7 +9794,7 @@ "start": 3959, "end": 3977, "length": 19, - "parent_index": 450 + "parent_index": 451 }, "argument_types": [ { @@ -9619,7 +9804,7 @@ ], "arguments": [ { - "id": 456, + "id": 457, "is_constant": false, "is_pure": false, "node_type": 19, @@ -9629,11 +9814,11 @@ "start": 3965, "end": 3976, "length": 12, - "parent_index": 453 + "parent_index": 454 }, "operator": 1, "left_expression": { - "id": 457, + "id": 458, "node_type": 17, "kind": 49, "value": "48", @@ -9644,7 +9829,7 @@ "start": 3965, "end": 3966, "length": 2, - "parent_index": 456 + "parent_index": 457 }, "type_description": { "type_identifier": "t_rational_48_by_1", @@ -9652,10 +9837,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { - "id": 458, + "id": 459, "is_constant": false, "is_pure": false, "node_type": 19, @@ -9665,11 +9851,11 @@ "start": 3970, "end": 3976, "length": 7, - "parent_index": 456 + "parent_index": 457 }, "operator": 5, "left_expression": { - "id": 459, + "id": 460, "node_type": 16, "src": { "line": 153, @@ -9677,7 +9863,7 @@ "start": 3970, "end": 3971, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "name": "_i", "type_description": { @@ -9685,11 +9871,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 460, + "id": 461, "node_type": 17, "kind": 49, "value": "10", @@ -9700,7 +9887,7 @@ "start": 3975, "end": 3976, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -9708,7 +9895,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -9722,7 +9910,7 @@ } ], "expression": { - "id": 454, + "id": 455, "node_type": 16, "src": { "line": 153, @@ -9730,11 +9918,11 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 453 + "parent_index": 454 }, "name": "uint8", "type_name": { - "id": 455, + "id": 456, "node_type": 30, "src": { "line": 153, @@ -9742,7 +9930,7 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 454 + "parent_index": 455 }, "name": "uint8", "referenced_declaration": 0, @@ -9763,7 +9951,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -9772,7 +9961,7 @@ } ], "expression": { - "id": 451, + "id": 452, "node_type": 16, "src": { "line": 153, @@ -9780,11 +9969,11 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 450 + "parent_index": 451 }, "name": "bytes1", "type_name": { - "id": 452, + "id": 453, "node_type": 30, "src": { "line": 153, @@ -9792,7 +9981,7 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 451 + "parent_index": 452 }, "name": "bytes1", "referenced_declaration": 0, @@ -9813,7 +10002,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -9828,10 +10018,11 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "bstr[k--]=bytes1(uint8(48+_i%10));" }, { - "id": 461, + "id": 462, "node_type": 27, "src": { "line": 154, @@ -9839,10 +10030,10 @@ "start": 3993, "end": 4001, "length": 9, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 462, + "id": 463, "node_type": 27, "src": { "line": 154, @@ -9850,11 +10041,11 @@ "start": 3993, "end": 4000, "length": 8, - "parent_index": 461 + "parent_index": 462 }, "operator": 4, "left_expression": { - "id": 463, + "id": 464, "node_type": 16, "src": { "line": 154, @@ -9862,7 +10053,7 @@ "start": 3993, "end": 3994, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "name": "_i", "type_description": { @@ -9870,11 +10061,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 464, + "id": 465, "node_type": 17, "kind": 49, "value": "10", @@ -9885,7 +10077,7 @@ "start": 3999, "end": 4000, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -9893,7 +10085,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -9903,13 +10096,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_i/=10;" } ] } }, { - "id": 465, + "id": 466, "node_type": 47, "src": { "line": 157, @@ -9917,11 +10111,11 @@ "start": 4046, "end": 4065, "length": 20, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 466, + "id": 467, "node_type": 24, "kind": 24, "src": { @@ -9930,7 +10124,7 @@ "start": 4053, "end": 4064, "length": 12, - "parent_index": 465 + "parent_index": 466 }, "argument_types": [ { @@ -9940,7 +10134,7 @@ ], "arguments": [ { - "id": 469, + "id": 470, "node_type": 16, "src": { "line": 157, @@ -9948,7 +10142,7 @@ "start": 4060, "end": 4063, "length": 4, - "parent_index": 466 + "parent_index": 467 }, "name": "bstr", "type_description": { @@ -9956,12 +10150,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" } ], "expression": { - "id": 467, + "id": 468, "node_type": 16, "src": { "line": 157, @@ -9969,11 +10164,11 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 466 + "parent_index": 467 }, "name": "string", "type_name": { - "id": 468, + "id": 469, "node_type": 30, "src": { "line": 157, @@ -9981,7 +10176,7 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 467 + "parent_index": 468 }, "name": "string", "referenced_declaration": 0, @@ -10002,7 +10197,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -10019,7 +10215,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 395, + "id": 396, "node_type": 43, "src": { "line": 136, @@ -10027,11 +10223,11 @@ "start": 3553, "end": 3559, "length": 7, - "parent_index": 394 + "parent_index": 395 }, "parameters": [ { - "id": 396, + "id": 397, "node_type": 44, "src": { "line": 136, @@ -10039,12 +10235,12 @@ "start": 3553, "end": 3559, "length": 7, - "parent_index": 395 + "parent_index": 396 }, - "scope": 394, + "scope": 395, "name": "_i", "type_name": { - "id": 397, + "id": 398, "node_type": 30, "src": { "line": 136, @@ -10052,7 +10248,7 @@ "start": 3553, "end": 3556, "length": 4, - "parent_index": 396 + "parent_index": 397 }, "name": "uint", "referenced_declaration": 0, @@ -10078,7 +10274,7 @@ ] }, "return_parameters": { - "id": 398, + "id": 399, "node_type": 43, "src": { "line": 137, @@ -10086,11 +10282,11 @@ "start": 3594, "end": 3606, "length": 13, - "parent_index": 394 + "parent_index": 395 }, "parameters": [ { - "id": 399, + "id": 400, "node_type": 44, "src": { "line": 137, @@ -10098,12 +10294,12 @@ "start": 3594, "end": 3606, "length": 13, - "parent_index": 398 + "parent_index": 399 }, - "scope": 394, + "scope": 395, "name": "", "type_name": { - "id": 400, + "id": 401, "node_type": 30, "src": { "line": 137, @@ -10111,7 +10307,7 @@ "start": 3594, "end": 3599, "length": 6, - "parent_index": 399 + "parent_index": 400 }, "name": "string", "referenced_declaration": 0, @@ -10142,10 +10338,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionintegerToString(uint_i)internalpurereturns(stringmemory){if(_i==0){return\"0\";}uintj=_i;uintlen;while(j!=0){len++;j/=10;}bytesmemorybstr=newbytes(len);uintk=len-1;do{bstr[k--]=bytes1(uint8(48+_i%10));_i/=10;}while(_i!=0);returnstring(bstr);}" }, { - "id": 471, + "id": 472, "name": "dummyFunctionAssembly", "node_type": 42, "kind": 41, @@ -10163,10 +10360,10 @@ "start": 4087, "end": 4107, "length": 21, - "parent_index": 471 + "parent_index": 472 }, "body": { - "id": 478, + "id": 479, "node_type": 46, "kind": 0, "src": { @@ -10175,12 +10372,12 @@ "start": 4148, "end": 4232, "length": 85, - "parent_index": 471 + "parent_index": 472 }, "implemented": true, "statements": [ { - "id": 479, + "id": 480, "node_type": 89, "src": { "line": 161, @@ -10188,10 +10385,10 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 478 + "parent_index": 479 }, "body": { - "id": 480, + "id": 481, "node_type": 111, "kind": 0, "src": { @@ -10200,12 +10397,12 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 479 + "parent_index": 480 }, "implemented": false, "statements": [ { - "id": 481, + "id": 482, "node_type": 91, "src": { "line": 162, @@ -10213,11 +10410,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "statements": [ { - "id": 482, + "id": 483, "node_type": 92, "src": { "line": 162, @@ -10225,11 +10422,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "variable_names": [ { - "id": 483, + "id": 484, "node_type": 107, "src": { "line": 162, @@ -10237,13 +10434,13 @@ "start": 4181, "end": 4186, "length": 6, - "parent_index": 482 + "parent_index": 483 }, "name": "result" } ], "value": { - "id": 484, + "id": 485, "node_type": 123, "src": { "line": 162, @@ -10251,10 +10448,10 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 482 + "parent_index": 483 }, "expression": { - "id": 485, + "id": 486, "node_type": 110, "src": { "line": 162, @@ -10262,10 +10459,10 @@ "start": 4191, "end": 4199, "length": 9, - "parent_index": 479 + "parent_index": 480 }, "function_name": { - "id": 486, + "id": 487, "node_type": 107, "src": { "line": 162, @@ -10273,13 +10470,13 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 485 + "parent_index": 486 }, "name": "add" }, "arguments": [ { - "id": 487, + "id": 488, "node_type": 109, "kind": 115, "src": { @@ -10288,13 +10485,13 @@ "start": 4195, "end": 4195, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "1", "hex_value": "" }, { - "id": 488, + "id": 489, "node_type": 109, "kind": 115, "src": { @@ -10303,7 +10500,7 @@ "start": 4198, "end": 4198, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "2", "hex_value": "" @@ -10326,7 +10523,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 472, + "id": 473, "node_type": 43, "src": { "line": 160, @@ -10334,11 +10531,11 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 471 + "parent_index": 472 }, "parameters": [ { - "id": 473, + "id": 474, "node_type": 44, "src": { "line": 160, @@ -10346,12 +10543,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 472 + "parent_index": 473 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 474, + "id": 475, "node_type": 30, "src": { "line": 160, @@ -10359,7 +10556,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 473 + "parent_index": 474 }, "name": "uint256", "referenced_declaration": 0, @@ -10385,7 +10582,7 @@ ] }, "return_parameters": { - "id": 475, + "id": 476, "node_type": 43, "src": { "line": 160, @@ -10393,11 +10590,11 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 471 + "parent_index": 472 }, "parameters": [ { - "id": 476, + "id": 477, "node_type": 44, "src": { "line": 160, @@ -10405,12 +10602,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 475 + "parent_index": 476 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 477, + "id": 478, "node_type": 30, "src": { "line": 160, @@ -10418,7 +10615,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 476 + "parent_index": 477 }, "name": "uint256", "referenced_declaration": 0, @@ -10449,7 +10646,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondummyFunctionAssembly()publicpurereturns(uint256result){assembly{result:=add(1,2)}}" } ], "linearized_base_contracts": [ @@ -10813,7 +11011,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functiondummyFunction()externalreturns(bool);" } ], "linearized_base_contracts": [ @@ -11063,7 +11262,8 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functiondummyFunction()externalreturns(bool);" }, "id": 14, "node_type": 42, @@ -11337,7 +11537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "12345" } }, { @@ -11541,7 +11742,7 @@ }, "scope": 24, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "visibility": 3, @@ -11549,7 +11750,7 @@ "mutability": 1, "type_name": { "id": 41, - "node_type": 0, + "node_type": 69, "src": { "line": 16, "column": 4, @@ -11586,7 +11787,7 @@ }, "value_type": { "id": 43, - "node_type": 30, + "node_type": 69, "src": { "line": 16, "column": 23, @@ -11596,30 +11797,52 @@ "parent_index": 41 }, "name": "Player", - "referenced_declaration": 0, + "referenced_declaration": 34, "type_description": { - "type_identifier": "t_Player", - "type_string": "Player" + "type_identifier": "t_struct$_Lottery_Player_$34", + "type_string": "struct Lottery.Player" + } + }, + "value_name_location": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 41 + }, + "path_node": { + "id": 44, + "name": "Player", + "node_type": 52, + "referenced_declaration": 34, + "src": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 41 + }, + "name_location": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 41 } }, - "value_name_location": { - "line": 16, - "column": 23, - "start": 359, - "end": 364, - "length": 6, - "parent_index": 41 - }, - "referenced_declaration": 0, + "referenced_declaration": 34, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" } }, "initial_value": null }, { - "id": 45, + "id": 46, "name": "playerAddresses", "is_constant": false, "is_state_variable": true, @@ -11641,7 +11864,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 46, + "id": 47, "node_type": 16, "src": { "line": 17, @@ -11649,7 +11872,7 @@ "start": 387, "end": 393, "length": 7, - "parent_index": 45 + "parent_index": 46 }, "name": "address", "referenced_declaration": 0, @@ -11661,7 +11884,7 @@ "initial_value": null }, { - "id": 48, + "id": 49, "name": "state", "is_constant": false, "is_state_variable": true, @@ -11683,7 +11906,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 49, + "id": 50, "node_type": 69, "src": { "line": 19, @@ -11691,10 +11914,10 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 48 + "parent_index": 49 }, "path_node": { - "id": 50, + "id": 51, "name": "LotteryState", "node_type": 52, "referenced_declaration": 30, @@ -11704,7 +11927,7 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 49 + "parent_index": 50 }, "name_location": { "line": 19, @@ -11712,7 +11935,7 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 49 + "parent_index": 50 } }, "referenced_declaration": 30, @@ -11724,7 +11947,7 @@ "initial_value": null }, { - "id": 52, + "id": 53, "node_type": 57, "src": { "line": 21, @@ -11735,7 +11958,7 @@ "parent_index": 24 }, "parameters": { - "id": 53, + "id": 54, "node_type": 43, "src": { "line": 21, @@ -11743,11 +11966,11 @@ "start": 458, "end": 490, "length": 33, - "parent_index": 52 + "parent_index": 53 }, "parameters": [ { - "id": 54, + "id": 55, "node_type": 44, "src": { "line": 21, @@ -11755,12 +11978,12 @@ "start": 477, "end": 488, "length": 12, - "parent_index": 53 + "parent_index": 54 }, - "scope": 52, + "scope": 53, "name": "addr", "type_name": { - "id": 55, + "id": 56, "node_type": 30, "src": { "line": 21, @@ -11768,7 +11991,7 @@ "start": 477, "end": 483, "length": 7, - "parent_index": 54 + "parent_index": 55 }, "name": "address", "state_mutability": 4, @@ -11797,12 +12020,12 @@ "name": "PlayerJoined", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "type_string": "event Lottery.PlayerJoined" } }, { - "id": 57, + "id": 58, "node_type": 57, "src": { "line": 22, @@ -11813,7 +12036,7 @@ "parent_index": 24 }, "parameters": { - "id": 58, + "id": 59, "node_type": 43, "src": { "line": 22, @@ -11821,11 +12044,11 @@ "start": 496, "end": 533, "length": 38, - "parent_index": 57 + "parent_index": 58 }, "parameters": [ { - "id": 59, + "id": 60, "node_type": 44, "src": { "line": 22, @@ -11833,12 +12056,12 @@ "start": 518, "end": 531, "length": 14, - "parent_index": 58 + "parent_index": 59 }, - "scope": 57, + "scope": 58, "name": "winner", "type_name": { - "id": 60, + "id": 61, "node_type": 30, "src": { "line": 22, @@ -11846,7 +12069,7 @@ "start": 518, "end": 524, "length": 7, - "parent_index": 59 + "parent_index": 60 }, "name": "address", "state_mutability": 4, @@ -11875,12 +12098,12 @@ "name": "LotteryFinished", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "type_string": "event Lottery.LotteryFinished" } }, { - "id": 62, + "id": 63, "node_type": 57, "src": { "line": 23, @@ -11891,7 +12114,7 @@ "parent_index": 24 }, "parameters": { - "id": 63, + "id": 64, "node_type": 43, "src": { "line": 23, @@ -11899,7 +12122,7 @@ "start": 539, "end": 569, "length": 31, - "parent_index": 62 + "parent_index": 63 }, "parameters": [], "parameter_types": [] @@ -11907,12 +12130,12 @@ "name": "ExternalCallSuccessful", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "type_string": "event Lottery.ExternalCallSuccessful" } }, { - "id": 65, + "id": 66, "node_type": 57, "src": { "line": 24, @@ -11923,7 +12146,7 @@ "parent_index": 24 }, "parameters": { - "id": 66, + "id": 67, "node_type": 43, "src": { "line": 24, @@ -11931,11 +12154,11 @@ "start": 575, "end": 614, "length": 40, - "parent_index": 65 + "parent_index": 66 }, "parameters": [ { - "id": 67, + "id": 68, "node_type": 44, "src": { "line": 24, @@ -11943,12 +12166,12 @@ "start": 600, "end": 612, "length": 13, - "parent_index": 66 + "parent_index": 67 }, - "scope": 65, + "scope": 66, "name": "reason", "type_name": { - "id": 68, + "id": 69, "node_type": 30, "src": { "line": 24, @@ -11956,7 +12179,7 @@ "start": 600, "end": 605, "length": 6, - "parent_index": 67 + "parent_index": 68 }, "name": "string", "referenced_declaration": 0, @@ -11984,12 +12207,12 @@ "name": "ExternalCallFailed", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "type_string": "event Lottery.ExternalCallFailed" } }, { - "id": 70, + "id": 71, "node_type": 77, "src": { "line": 27, @@ -12006,10 +12229,10 @@ "start": 655, "end": 666, "length": 12, - "parent_index": 70 + "parent_index": 71 }, "parameters": { - "id": 71, + "id": 72, "node_type": 43, "src": { "line": 27, @@ -12017,18 +12240,18 @@ "start": 649, "end": 669, "length": 21, - "parent_index": 70 + "parent_index": 71 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidState_$70", + "type_identifier": "t_error$_Lottery_InvalidState_$71", "type_string": "error Lottery.InvalidState" } }, { - "id": 73, + "id": 74, "node_type": 77, "src": { "line": 28, @@ -12045,10 +12268,10 @@ "start": 681, "end": 702, "length": 22, - "parent_index": 73 + "parent_index": 74 }, "parameters": { - "id": 74, + "id": 75, "node_type": 43, "src": { "line": 28, @@ -12056,18 +12279,18 @@ "start": 675, "end": 705, "length": 31, - "parent_index": 73 + "parent_index": 74 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "type_string": "error Lottery.OwnerCannotParticipate" } }, { - "id": 76, + "id": 77, "node_type": 77, "src": { "line": 29, @@ -12084,10 +12307,10 @@ "start": 717, "end": 731, "length": 15, - "parent_index": 76 + "parent_index": 77 }, "parameters": { - "id": 77, + "id": 78, "node_type": 43, "src": { "line": 29, @@ -12095,18 +12318,18 @@ "start": 711, "end": 734, "length": 24, - "parent_index": 76 + "parent_index": 77 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" } }, { - "id": 79, + "id": 80, "node_type": 77, "src": { "line": 30, @@ -12123,10 +12346,10 @@ "start": 746, "end": 758, "length": 13, - "parent_index": 79 + "parent_index": 80 }, "parameters": { - "id": 80, + "id": 81, "node_type": 43, "src": { "line": 30, @@ -12134,18 +12357,18 @@ "start": 740, "end": 761, "length": 22, - "parent_index": 79 + "parent_index": 80 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" } }, { - "id": 82, + "id": 83, "node_type": 77, "src": { "line": 31, @@ -12162,10 +12385,10 @@ "start": 773, "end": 792, "length": 20, - "parent_index": 82 + "parent_index": 83 }, "parameters": { - "id": 83, + "id": 84, "node_type": 43, "src": { "line": 31, @@ -12173,18 +12396,18 @@ "start": 767, "end": 795, "length": 29, - "parent_index": 82 + "parent_index": 83 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" } }, { - "id": 85, + "id": 86, "node_type": 77, "src": { "line": 32, @@ -12201,10 +12424,10 @@ "start": 807, "end": 822, "length": 16, - "parent_index": 85 + "parent_index": 86 }, "parameters": { - "id": 86, + "id": 87, "node_type": 43, "src": { "line": 32, @@ -12212,18 +12435,18 @@ "start": 801, "end": 825, "length": 25, - "parent_index": 85 + "parent_index": 86 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" } }, { - "id": 88, + "id": 89, "name": "inState", "node_type": 68, "src": { @@ -12240,12 +12463,12 @@ "start": 841, "end": 847, "length": 7, - "parent_index": 88 + "parent_index": 89 }, "visibility": 1, "virtual": false, "parameters": { - "id": 89, + "id": 90, "node_type": 43, "src": { "line": 34, @@ -12257,7 +12480,7 @@ }, "parameters": [ { - "id": 90, + "id": 91, "node_type": 44, "src": { "line": 34, @@ -12265,12 +12488,12 @@ "start": 849, "end": 867, "length": 19, - "parent_index": 89 + "parent_index": 90 }, "scope": 24, "name": "_state", "type_name": { - "id": 91, + "id": 92, "node_type": 69, "src": { "line": 34, @@ -12278,10 +12501,10 @@ "start": 849, "end": 860, "length": 12, - "parent_index": 90 + "parent_index": 91 }, "path_node": { - "id": 92, + "id": 93, "name": "LotteryState", "node_type": 52, "referenced_declaration": 30, @@ -12291,7 +12514,7 @@ "start": 849, "end": 860, "length": 12, - "parent_index": 91 + "parent_index": 92 }, "name_location": { "line": 34, @@ -12299,7 +12522,7 @@ "start": 849, "end": 860, "length": 12, - "parent_index": 91 + "parent_index": 92 } }, "referenced_declaration": 30, @@ -12325,7 +12548,7 @@ ] }, "body": { - "id": 93, + "id": 94, "node_type": 46, "kind": 0, "src": { @@ -12334,12 +12557,12 @@ "start": 870, "end": 963, "length": 94, - "parent_index": 88 + "parent_index": 89 }, "implemented": true, "statements": [ { - "id": 94, + "id": 95, "node_type": 48, "src": { "line": 35, @@ -12347,10 +12570,10 @@ "start": 880, "end": 946, "length": 67, - "parent_index": 93 + "parent_index": 94 }, "condition": { - "id": 95, + "id": 96, "is_constant": false, "is_pure": false, "node_type": 19, @@ -12360,11 +12583,11 @@ "start": 884, "end": 898, "length": 15, - "parent_index": 94 + "parent_index": 95 }, "operator": 12, "left_expression": { - "id": 96, + "id": 97, "node_type": 16, "src": { "line": 35, @@ -12372,7 +12595,7 @@ "start": 884, "end": 888, "length": 5, - "parent_index": 95 + "parent_index": 96 }, "name": "state", "type_description": { @@ -12380,11 +12603,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 97, + "id": 98, "node_type": 16, "src": { "line": 35, @@ -12392,7 +12616,7 @@ "start": 893, "end": 898, "length": 6, - "parent_index": 95 + "parent_index": 96 }, "name": "_state", "type_description": { @@ -12400,8 +12624,9 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 90, - "is_pure": false + "referenced_declaration": 91, + "is_pure": false, + "text": "_state" }, "type_description": { "type_identifier": "t_bool", @@ -12409,7 +12634,7 @@ } }, "body": { - "id": 98, + "id": 99, "node_type": 46, "kind": 0, "src": { @@ -12418,12 +12643,12 @@ "start": 901, "end": 946, "length": 46, - "parent_index": 88 + "parent_index": 89 }, "implemented": true, "statements": [ { - "id": 99, + "id": 100, "node_type": 78, "src": { "line": 36, @@ -12431,11 +12656,11 @@ "start": 915, "end": 936, "length": 22, - "parent_index": 88 + "parent_index": 89 }, "arguments": [], "expression": { - "id": 100, + "id": 101, "node_type": 16, "src": { "line": 36, @@ -12443,23 +12668,24 @@ "start": 922, "end": 933, "length": 12, - "parent_index": 99 + "parent_index": 100 }, "name": "InvalidState", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidState_$70", + "type_identifier": "t_error$_Lottery_InvalidState_$71", "type_string": "error Lottery.InvalidState" }, "overloaded_declarations": [], - "referenced_declaration": 70, - "is_pure": false + "referenced_declaration": 71, + "is_pure": false, + "text": "InvalidState" } } ] } }, { - "id": 101, + "id": 102, "node_type": 82, "src": { "line": 38, @@ -12467,7 +12693,7 @@ "start": 956, "end": 956, "length": 1, - "parent_index": 93 + "parent_index": 94 }, "name": "_", "type_description": { @@ -12476,13 +12702,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 103, + "id": 104, "name": "notOwner", "node_type": 68, "src": { @@ -12499,12 +12726,12 @@ "start": 979, "end": 986, "length": 8, - "parent_index": 103 + "parent_index": 104 }, "visibility": 1, "virtual": false, "parameters": { - "id": 104, + "id": 105, "node_type": 43, "src": { "line": 41, @@ -12518,7 +12745,7 @@ "parameter_types": [] }, "body": { - "id": 105, + "id": 106, "node_type": 46, "kind": 0, "src": { @@ -12527,12 +12754,12 @@ "start": 990, "end": 1099, "length": 110, - "parent_index": 103 + "parent_index": 104 }, "implemented": true, "statements": [ { - "id": 106, + "id": 107, "node_type": 48, "src": { "line": 42, @@ -12540,10 +12767,10 @@ "start": 1000, "end": 1082, "length": 83, - "parent_index": 105 + "parent_index": 106 }, "condition": { - "id": 107, + "id": 108, "is_constant": false, "is_pure": false, "node_type": 19, @@ -12553,11 +12780,11 @@ "start": 1004, "end": 1024, "length": 21, - "parent_index": 106 + "parent_index": 107 }, "operator": 11, "left_expression": { - "id": 108, + "id": 109, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -12569,7 +12796,7 @@ "start": 1004, "end": 1013, "length": 10, - "parent_index": 107 + "parent_index": 108 }, "member_location": { "line": 42, @@ -12577,10 +12804,10 @@ "start": 1008, "end": 1013, "length": 6, - "parent_index": 108 + "parent_index": 109 }, "expression": { - "id": 109, + "id": 110, "node_type": 16, "src": { "line": 42, @@ -12588,7 +12815,7 @@ "start": 1004, "end": 1006, "length": 3, - "parent_index": 108 + "parent_index": 109 }, "name": "msg", "type_description": { @@ -12597,17 +12824,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 110, + "id": 111, "node_type": 24, "kind": 24, "src": { @@ -12616,12 +12845,12 @@ "start": 1018, "end": 1024, "length": 7, - "parent_index": 107 + "parent_index": 108 }, "argument_types": [], "arguments": [], "expression": { - "id": 111, + "id": 112, "node_type": 16, "src": { "line": 42, @@ -12629,7 +12858,7 @@ "start": 1018, "end": 1022, "length": 5, - "parent_index": 110 + "parent_index": 111 }, "name": "owner", "type_description": { @@ -12638,7 +12867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -12651,7 +12881,7 @@ } }, "body": { - "id": 112, + "id": 113, "node_type": 46, "kind": 0, "src": { @@ -12660,12 +12890,12 @@ "start": 1027, "end": 1082, "length": 56, - "parent_index": 103 + "parent_index": 104 }, "implemented": true, "statements": [ { - "id": 113, + "id": 114, "node_type": 78, "src": { "line": 43, @@ -12673,11 +12903,11 @@ "start": 1041, "end": 1072, "length": 32, - "parent_index": 103 + "parent_index": 104 }, "arguments": [], "expression": { - "id": 114, + "id": 115, "node_type": 16, "src": { "line": 43, @@ -12685,23 +12915,24 @@ "start": 1048, "end": 1069, "length": 22, - "parent_index": 113 + "parent_index": 114 }, "name": "OwnerCannotParticipate", "type_description": { - "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "type_string": "error Lottery.OwnerCannotParticipate" }, "overloaded_declarations": [], - "referenced_declaration": 73, - "is_pure": false + "referenced_declaration": 74, + "is_pure": false, + "text": "OwnerCannotParticipate" } } ] } }, { - "id": 115, + "id": 116, "node_type": 82, "src": { "line": 45, @@ -12709,7 +12940,7 @@ "start": 1092, "end": 1092, "length": 1, - "parent_index": 105 + "parent_index": 106 }, "name": "_", "type_description": { @@ -12718,13 +12949,14 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } }, { - "id": 117, + "id": 118, "node_type": 42, "kind": 70, "src": { @@ -12741,7 +12973,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 118, + "id": 119, "node_type": 43, "src": { "line": 48, @@ -12749,13 +12981,13 @@ "start": 1106, "end": 1136, "length": 31, - "parent_index": 117 + "parent_index": 118 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 119, + "id": 120, "node_type": 43, "src": { "line": 48, @@ -12763,13 +12995,13 @@ "start": 1106, "end": 1136, "length": 31, - "parent_index": 117 + "parent_index": 118 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 120, + "id": 121, "node_type": 46, "kind": 0, "src": { @@ -12778,7 +13010,7 @@ "start": 1134, "end": 1136, "length": 3, - "parent_index": 117 + "parent_index": 118 }, "implemented": true, "statements": [] @@ -12786,7 +13018,7 @@ "virtual": false }, { - "id": 122, + "id": 123, "node_type": 42, "kind": 71, "src": { @@ -12803,7 +13035,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 123, + "id": 124, "node_type": 43, "src": { "line": 49, @@ -12811,13 +13043,13 @@ "start": 1142, "end": 1171, "length": 30, - "parent_index": 122 + "parent_index": 123 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 124, + "id": 125, "node_type": 43, "src": { "line": 49, @@ -12825,13 +13057,13 @@ "start": 1142, "end": 1171, "length": 30, - "parent_index": 122 + "parent_index": 123 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 125, + "id": 126, "node_type": 46, "kind": 0, "src": { @@ -12840,7 +13072,7 @@ "start": 1169, "end": 1171, "length": 3, - "parent_index": 122 + "parent_index": 123 }, "implemented": true, "statements": [] @@ -12849,7 +13081,7 @@ "payable": false }, { - "id": 127, + "id": 128, "node_type": 42, "src": { "line": 51, @@ -12865,7 +13097,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 128, + "id": 129, "node_type": 43, "src": { "line": 51, @@ -12873,13 +13105,13 @@ "start": 1178, "end": 1238, "length": 61, - "parent_index": 127 + "parent_index": 128 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 129, + "id": 130, "node_type": 43, "src": { "line": 51, @@ -12887,14 +13119,14 @@ "start": 1178, "end": 1238, "length": 61, - "parent_index": 127 + "parent_index": 128 }, "parameters": [], "parameter_types": [] }, "scope": 24, "body": { - "id": 130, + "id": 131, "node_type": 46, "kind": 0, "src": { @@ -12903,12 +13135,12 @@ "start": 1192, "end": 1238, "length": 47, - "parent_index": 127 + "parent_index": 128 }, "implemented": true, "statements": [ { - "id": 131, + "id": 132, "node_type": 27, "src": { "line": 52, @@ -12916,10 +13148,10 @@ "start": 1202, "end": 1232, "length": 31, - "parent_index": 130 + "parent_index": 131 }, "expression": { - "id": 132, + "id": 133, "node_type": 27, "src": { "line": 52, @@ -12927,11 +13159,11 @@ "start": 1202, "end": 1231, "length": 30, - "parent_index": 131 + "parent_index": 132 }, "operator": 11, "left_expression": { - "id": 133, + "id": 134, "node_type": 16, "src": { "line": 52, @@ -12939,7 +13171,7 @@ "start": 1202, "end": 1206, "length": 5, - "parent_index": 132 + "parent_index": 133 }, "name": "state", "type_description": { @@ -12947,11 +13179,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 134, + "id": 135, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -12963,7 +13196,7 @@ "start": 1210, "end": 1231, "length": 22, - "parent_index": 132 + "parent_index": 133 }, "member_location": { "line": 52, @@ -12971,10 +13204,10 @@ "start": 1223, "end": 1231, "length": 9, - "parent_index": 134 + "parent_index": 135 }, "expression": { - "id": 135, + "id": 136, "node_type": 16, "src": { "line": 52, @@ -12982,7 +13215,7 @@ "start": 1210, "end": 1221, "length": 12, - "parent_index": 134 + "parent_index": 135 }, "name": "LotteryState", "type_description": { @@ -12991,14 +13224,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" }, "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", @@ -13008,13 +13243,14 @@ "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "state=LotteryState.Accepting;" } ] } }, { - "id": 137, + "id": 138, "name": "join", "node_type": 42, "kind": 41, @@ -13032,10 +13268,10 @@ "start": 1254, "end": 1257, "length": 4, - "parent_index": 137 + "parent_index": 138 }, "body": { - "id": 146, + "id": 147, "node_type": 46, "kind": 0, "src": { @@ -13044,12 +13280,12 @@ "start": 1317, "end": 1658, "length": 342, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 147, + "id": 148, "node_type": 48, "src": { "line": 56, @@ -13057,10 +13293,10 @@ "start": 1327, "end": 1395, "length": 69, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 148, + "id": 149, "is_constant": false, "is_pure": false, "node_type": 19, @@ -13070,11 +13306,11 @@ "start": 1331, "end": 1344, "length": 14, - "parent_index": 147 + "parent_index": 148 }, "operator": 11, "left_expression": { - "id": 149, + "id": 150, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13086,7 +13322,7 @@ "start": 1331, "end": 1339, "length": 9, - "parent_index": 148 + "parent_index": 149 }, "member_location": { "line": 56, @@ -13094,10 +13330,10 @@ "start": 1335, "end": 1339, "length": 5, - "parent_index": 149 + "parent_index": 150 }, "expression": { - "id": 150, + "id": 151, "node_type": 16, "src": { "line": 56, @@ -13105,7 +13341,7 @@ "start": 1331, "end": 1333, "length": 3, - "parent_index": 149 + "parent_index": 150 }, "name": "msg", "type_description": { @@ -13114,17 +13350,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { - "id": 151, + "id": 152, "node_type": 17, "kind": 49, "value": "0", @@ -13135,7 +13373,7 @@ "start": 1344, "end": 1344, "length": 1, - "parent_index": 148 + "parent_index": 149 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13143,7 +13381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13151,7 +13390,7 @@ } }, "body": { - "id": 152, + "id": 153, "node_type": 46, "kind": 0, "src": { @@ -13160,12 +13399,12 @@ "start": 1347, "end": 1395, "length": 49, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 153, + "id": 154, "node_type": 78, "src": { "line": 57, @@ -13173,11 +13412,11 @@ "start": 1361, "end": 1385, "length": 25, - "parent_index": 137 + "parent_index": 138 }, "arguments": [], "expression": { - "id": 154, + "id": 155, "node_type": 16, "src": { "line": 57, @@ -13185,23 +13424,24 @@ "start": 1368, "end": 1382, "length": 15, - "parent_index": 153 + "parent_index": 154 }, "name": "NoValueProvided", "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" }, "overloaded_declarations": [], - "referenced_declaration": 76, - "is_pure": false + "referenced_declaration": 77, + "is_pure": false, + "text": "NoValueProvided" } } ] } }, { - "id": 155, + "id": 156, "node_type": 48, "src": { "line": 60, @@ -13209,10 +13449,10 @@ "start": 1406, "end": 1557, "length": 152, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 156, + "id": 157, "is_constant": false, "is_pure": false, "node_type": 19, @@ -13222,11 +13462,11 @@ "start": 1410, "end": 1447, "length": 38, - "parent_index": 155 + "parent_index": 156 }, "operator": 11, "left_expression": { - "id": 157, + "id": 158, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13238,7 +13478,7 @@ "start": 1410, "end": 1433, "length": 24, - "parent_index": 156 + "parent_index": 157 }, "member_location": { "line": 60, @@ -13246,10 +13486,10 @@ "start": 1430, "end": 1433, "length": 4, - "parent_index": 157 + "parent_index": 158 }, "expression": { - "id": 158, + "id": 159, "node_type": 22, "src": { "line": 60, @@ -13257,10 +13497,10 @@ "start": 1410, "end": 1428, "length": 19, - "parent_index": 157 + "parent_index": 158 }, "index_expression": { - "id": 159, + "id": 160, "node_type": 16, "src": { "line": 60, @@ -13268,19 +13508,20 @@ "start": 1410, "end": 1416, "length": 7, - "parent_index": 158 + "parent_index": 159 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 160, + "id": 161, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13292,7 +13533,7 @@ "start": 1418, "end": 1427, "length": 10, - "parent_index": 158 + "parent_index": 159 }, "member_location": { "line": 60, @@ -13300,10 +13541,10 @@ "start": 1422, "end": 1427, "length": 6, - "parent_index": 160 + "parent_index": 161 }, "expression": { - "id": 161, + "id": 162, "node_type": 16, "src": { "line": 60, @@ -13311,7 +13552,7 @@ "start": 1418, "end": 1420, "length": 3, - "parent_index": 160 + "parent_index": 161 }, "name": "msg", "type_description": { @@ -13320,18 +13561,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -13340,19 +13583,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 162, + "id": 163, "node_type": 24, "kind": 24, "src": { @@ -13361,7 +13605,7 @@ "start": 1438, "end": 1447, "length": 10, - "parent_index": 156 + "parent_index": 157 }, "argument_types": [ { @@ -13371,7 +13615,7 @@ ], "arguments": [ { - "id": 165, + "id": 166, "node_type": 17, "kind": 49, "value": "0", @@ -13382,7 +13626,7 @@ "start": 1446, "end": 1446, "length": 1, - "parent_index": 162 + "parent_index": 163 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -13390,11 +13634,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 163, + "id": 164, "node_type": 16, "src": { "line": 60, @@ -13402,11 +13647,11 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 162 + "parent_index": 163 }, "name": "address", "type_name": { - "id": 164, + "id": 165, "node_type": 30, "src": { "line": 60, @@ -13414,7 +13659,7 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 163 + "parent_index": 164 }, "name": "address", "state_mutability": 4, @@ -13436,7 +13681,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -13449,7 +13695,7 @@ } }, "body": { - "id": 166, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -13458,12 +13704,12 @@ "start": 1450, "end": 1557, "length": 108, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 167, + "id": 168, "node_type": 27, "src": { "line": 61, @@ -13471,10 +13717,10 @@ "start": 1464, "end": 1501, "length": 38, - "parent_index": 166 + "parent_index": 167 }, "expression": { - "id": 168, + "id": 169, "node_type": 27, "src": { "line": 61, @@ -13482,11 +13728,11 @@ "start": 1464, "end": 1500, "length": 37, - "parent_index": 167 + "parent_index": 168 }, "operator": 11, "left_expression": { - "id": 169, + "id": 170, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13498,7 +13744,7 @@ "start": 1464, "end": 1487, "length": 24, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -13506,10 +13752,10 @@ "start": 1484, "end": 1487, "length": 4, - "parent_index": 169 + "parent_index": 170 }, "expression": { - "id": 170, + "id": 171, "node_type": 22, "src": { "line": 61, @@ -13517,10 +13763,10 @@ "start": 1464, "end": 1482, "length": 19, - "parent_index": 169 + "parent_index": 170 }, "index_expression": { - "id": 171, + "id": 172, "node_type": 16, "src": { "line": 61, @@ -13528,19 +13774,20 @@ "start": 1464, "end": 1470, "length": 7, - "parent_index": 170 + "parent_index": 171 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 172, + "id": 173, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13552,7 +13799,7 @@ "start": 1472, "end": 1481, "length": 10, - "parent_index": 170 + "parent_index": 171 }, "member_location": { "line": 61, @@ -13560,10 +13807,10 @@ "start": 1476, "end": 1481, "length": 6, - "parent_index": 172 + "parent_index": 173 }, "expression": { - "id": 173, + "id": 174, "node_type": 16, "src": { "line": 61, @@ -13571,7 +13818,7 @@ "start": 1472, "end": 1474, "length": 3, - "parent_index": 172 + "parent_index": 173 }, "name": "msg", "type_description": { @@ -13580,18 +13827,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -13600,19 +13849,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 174, + "id": 175, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13624,7 +13874,7 @@ "start": 1491, "end": 1500, "length": 10, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -13632,10 +13882,10 @@ "start": 1495, "end": 1500, "length": 6, - "parent_index": 174 + "parent_index": 175 }, "expression": { - "id": 175, + "id": 176, "node_type": 16, "src": { "line": 61, @@ -13643,7 +13893,7 @@ "start": 1491, "end": 1493, "length": 3, - "parent_index": 174 + "parent_index": 175 }, "name": "msg", "type_description": { @@ -13652,27 +13902,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr=msg.sender;" }, { - "id": 176, + "id": 177, "node_type": 24, "kind": 24, "src": { @@ -13681,7 +13934,7 @@ "start": 1515, "end": 1546, "length": 32, - "parent_index": 166 + "parent_index": 167 }, "argument_types": [ { @@ -13691,7 +13944,7 @@ ], "arguments": [ { - "id": 179, + "id": 180, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13703,7 +13956,7 @@ "start": 1536, "end": 1545, "length": 10, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -13711,10 +13964,10 @@ "start": 1540, "end": 1545, "length": 6, - "parent_index": 179 + "parent_index": 180 }, "expression": { - "id": 180, + "id": 181, "node_type": 16, "src": { "line": 62, @@ -13722,7 +13975,7 @@ "start": 1536, "end": 1538, "length": 3, - "parent_index": 179 + "parent_index": 180 }, "name": "msg", "type_description": { @@ -13731,18 +13984,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 177, + "id": 178, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13754,7 +14009,7 @@ "start": 1515, "end": 1534, "length": 20, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -13762,10 +14017,10 @@ "start": 1531, "end": 1534, "length": 4, - "parent_index": 177 + "parent_index": 178 }, "expression": { - "id": 178, + "id": 179, "node_type": 16, "src": { "line": 62, @@ -13773,7 +14028,7 @@ "start": 1515, "end": 1529, "length": 15, - "parent_index": 177 + "parent_index": 178 }, "name": "playerAddresses", "type_description": { @@ -13781,15 +14036,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.push" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13800,7 +14057,7 @@ } }, { - "id": 181, + "id": 182, "node_type": 27, "src": { "line": 65, @@ -13808,10 +14065,10 @@ "start": 1568, "end": 1612, "length": 45, - "parent_index": 146 + "parent_index": 147 }, "expression": { - "id": 182, + "id": 183, "node_type": 27, "src": { "line": 65, @@ -13819,11 +14076,11 @@ "start": 1568, "end": 1611, "length": 44, - "parent_index": 181 + "parent_index": 182 }, "operator": 13, "left_expression": { - "id": 183, + "id": 184, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13835,7 +14092,7 @@ "start": 1568, "end": 1598, "length": 31, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -13843,10 +14100,10 @@ "start": 1588, "end": 1598, "length": 11, - "parent_index": 183 + "parent_index": 184 }, "expression": { - "id": 184, + "id": 185, "node_type": 22, "src": { "line": 65, @@ -13854,10 +14111,10 @@ "start": 1568, "end": 1586, "length": 19, - "parent_index": 183 + "parent_index": 184 }, "index_expression": { - "id": 185, + "id": 186, "node_type": 16, "src": { "line": 65, @@ -13865,19 +14122,20 @@ "start": 1568, "end": 1574, "length": 7, - "parent_index": 184 + "parent_index": 185 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 186, + "id": 187, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13889,7 +14147,7 @@ "start": 1576, "end": 1585, "length": 10, - "parent_index": 184 + "parent_index": 185 }, "member_location": { "line": 65, @@ -13897,10 +14155,10 @@ "start": 1580, "end": 1585, "length": 6, - "parent_index": 186 + "parent_index": 187 }, "expression": { - "id": 187, + "id": 188, "node_type": 16, "src": { "line": 65, @@ -13908,7 +14166,7 @@ "start": 1576, "end": 1578, "length": 3, - "parent_index": 186 + "parent_index": 187 }, "name": "msg", "type_description": { @@ -13917,18 +14175,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -13937,19 +14197,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "ticketCount", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount" }, "right_expression": { - "id": 188, + "id": 189, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -13961,7 +14222,7 @@ "start": 1603, "end": 1611, "length": 9, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -13969,10 +14230,10 @@ "start": 1607, "end": 1611, "length": 5, - "parent_index": 188 + "parent_index": 189 }, "expression": { - "id": 189, + "id": 190, "node_type": 16, "src": { "line": 65, @@ -13980,7 +14241,7 @@ "start": 1603, "end": 1605, "length": 3, - "parent_index": 188 + "parent_index": 189 }, "name": "msg", "type_description": { @@ -13989,27 +14250,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount+=msg.value;" }, { - "id": 190, + "id": 191, "node_type": 64, "src": { "line": 67, @@ -14017,11 +14281,11 @@ "start": 1623, "end": 1652, "length": 30, - "parent_index": 137 + "parent_index": 138 }, "arguments": [ { - "id": 191, + "id": 192, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14033,7 +14297,7 @@ "start": 1641, "end": 1650, "length": 10, - "parent_index": 190 + "parent_index": 191 }, "member_location": { "line": 67, @@ -14041,10 +14305,10 @@ "start": 1645, "end": 1650, "length": 6, - "parent_index": 191 + "parent_index": 192 }, "expression": { - "id": 192, + "id": 193, "node_type": 16, "src": { "line": 67, @@ -14052,7 +14316,7 @@ "start": 1641, "end": 1643, "length": 3, - "parent_index": 191 + "parent_index": 192 }, "name": "msg", "type_description": { @@ -14061,18 +14325,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 193, + "id": 194, "node_type": 16, "src": { "line": 67, @@ -14080,16 +14346,17 @@ "start": 1628, "end": 1639, "length": 12, - "parent_index": 190 + "parent_index": 191 }, "name": "PlayerJoined", "type_description": { - "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "type_string": "event Lottery.PlayerJoined" }, "overloaded_declarations": [], - "referenced_declaration": 52, - "is_pure": false + "referenced_declaration": 53, + "is_pure": false, + "text": "PlayerJoined" } } ] @@ -14100,7 +14367,7 @@ "virtual": false, "modifiers": [ { - "id": 139, + "id": 140, "name": "inState", "node_type": 72, "kind": 72, @@ -14110,7 +14377,7 @@ "start": 1276, "end": 1306, "length": 31, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [ { @@ -14120,7 +14387,7 @@ ], "arguments": [ { - "id": 141, + "id": 142, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14132,7 +14399,7 @@ "start": 1284, "end": 1305, "length": 22, - "parent_index": 139 + "parent_index": 140 }, "member_location": { "line": 55, @@ -14140,10 +14407,10 @@ "start": 1297, "end": 1305, "length": 9, - "parent_index": 141 + "parent_index": 142 }, "expression": { - "id": 142, + "id": 143, "node_type": 16, "src": { "line": 55, @@ -14151,7 +14418,7 @@ "start": 1284, "end": 1295, "length": 12, - "parent_index": 141 + "parent_index": 142 }, "name": "LotteryState", "type_description": { @@ -14160,18 +14427,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 140, + "id": 141, "name": "inState", "node_type": 0, "src": { @@ -14180,12 +14449,12 @@ "start": 1276, "end": 1282, "length": 7, - "parent_index": 139 + "parent_index": 140 } } }, { - "id": 143, + "id": 144, "name": "notOwner", "node_type": 72, "kind": 72, @@ -14195,12 +14464,12 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 144, + "id": 145, "name": "notOwner", "node_type": 0, "src": { @@ -14209,14 +14478,14 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 143 + "parent_index": 144 } } } ], "overrides": [], "parameters": { - "id": 138, + "id": 139, "node_type": 43, "src": { "line": 55, @@ -14224,13 +14493,13 @@ "start": 1245, "end": 1658, "length": 414, - "parent_index": 137 + "parent_index": 138 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 145, + "id": 146, "node_type": 43, "src": { "line": 55, @@ -14238,7 +14507,7 @@ "start": 1245, "end": 1658, "length": 414, - "parent_index": 137 + "parent_index": 138 }, "parameters": [], "parameter_types": [] @@ -14249,10 +14518,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionjoin()publicpayableinState(LotteryState.Accepting)notOwner{if(msg.value==0){revertNoValueProvided();}if(players[msg.sender].addr==address(0)){players[msg.sender].addr=msg.sender;playerAddresses.push(msg.sender);}players[msg.sender].ticketCount+=msg.value;emitPlayerJoined(msg.sender);}" }, { - "id": 195, + "id": 196, "name": "finishLottery", "node_type": 42, "kind": 41, @@ -14270,10 +14540,10 @@ "start": 1674, "end": 1686, "length": 13, - "parent_index": 195 + "parent_index": 196 }, "body": { - "id": 202, + "id": 203, "node_type": 46, "kind": 0, "src": { @@ -14282,12 +14552,12 @@ "start": 1729, "end": 2467, "length": 739, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 203, + "id": 204, "node_type": 27, "src": { "line": 71, @@ -14295,10 +14565,10 @@ "start": 1739, "end": 1768, "length": 30, - "parent_index": 202 + "parent_index": 203 }, "expression": { - "id": 204, + "id": 205, "node_type": 27, "src": { "line": 71, @@ -14306,11 +14576,11 @@ "start": 1739, "end": 1767, "length": 29, - "parent_index": 203 + "parent_index": 204 }, "operator": 11, "left_expression": { - "id": 205, + "id": 206, "node_type": 16, "src": { "line": 71, @@ -14318,7 +14588,7 @@ "start": 1739, "end": 1743, "length": 5, - "parent_index": 204 + "parent_index": 205 }, "name": "state", "type_description": { @@ -14326,11 +14596,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 206, + "id": 207, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14342,7 +14613,7 @@ "start": 1747, "end": 1767, "length": 21, - "parent_index": 204 + "parent_index": 205 }, "member_location": { "line": 71, @@ -14350,10 +14621,10 @@ "start": 1760, "end": 1767, "length": 8, - "parent_index": 206 + "parent_index": 207 }, "expression": { - "id": 207, + "id": 208, "node_type": 16, "src": { "line": 71, @@ -14361,7 +14632,7 @@ "start": 1747, "end": 1758, "length": 12, - "parent_index": 206 + "parent_index": 207 }, "name": "LotteryState", "type_description": { @@ -14370,14 +14641,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Finished", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Finished" }, "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", @@ -14387,10 +14660,11 @@ "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "state=LotteryState.Finished;" }, { - "id": 208, + "id": 209, "node_type": 44, "src": { "line": 73, @@ -14398,25 +14672,25 @@ "start": 1779, "end": 1844, "length": 66, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 209 + 210 ], "declarations": [ { - "id": 209, + "id": 210, "state_mutability": 1, "name": "index", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 73, "column": 8, "start": 1779, "end": 1791, "length": 13, - "parent_index": 208 + "parent_index": 209 }, "name_location": { "line": 73, @@ -14424,12 +14698,12 @@ "start": 1787, "end": 1791, "length": 5, - "parent_index": 209 + "parent_index": 210 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 210, + "id": 211, "node_type": 30, "src": { "line": 73, @@ -14437,7 +14711,7 @@ "start": 1779, "end": 1785, "length": 7, - "parent_index": 209 + "parent_index": 210 }, "name": "uint256", "referenced_declaration": 0, @@ -14450,7 +14724,7 @@ } ], "initial_value": { - "id": 211, + "id": 212, "is_constant": false, "is_pure": false, "node_type": 19, @@ -14460,11 +14734,11 @@ "start": 1795, "end": 1843, "length": 49, - "parent_index": 208 + "parent_index": 209 }, "operator": 5, "left_expression": { - "id": 212, + "id": 213, "node_type": 24, "kind": 24, "src": { @@ -14473,7 +14747,7 @@ "start": 1795, "end": 1818, "length": 24, - "parent_index": 208 + "parent_index": 209 }, "argument_types": [ { @@ -14483,7 +14757,7 @@ ], "arguments": [ { - "id": 215, + "id": 216, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14495,7 +14769,7 @@ "start": 1803, "end": 1817, "length": 15, - "parent_index": 212 + "parent_index": 213 }, "member_location": { "line": 73, @@ -14503,10 +14777,10 @@ "start": 1809, "end": 1817, "length": 9, - "parent_index": 215 + "parent_index": 216 }, "expression": { - "id": 216, + "id": 217, "node_type": 16, "src": { "line": 73, @@ -14514,7 +14788,7 @@ "start": 1803, "end": 1807, "length": 5, - "parent_index": 215 + "parent_index": 216 }, "name": "block", "type_description": { @@ -14523,18 +14797,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 213, + "id": 214, "node_type": 16, "src": { "line": 73, @@ -14542,11 +14818,11 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 212 + "parent_index": 213 }, "name": "uint256", "type_name": { - "id": 214, + "id": 215, "node_type": 30, "src": { "line": 73, @@ -14554,7 +14830,7 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 213 + "parent_index": 214 }, "name": "uint256", "referenced_declaration": 0, @@ -14575,7 +14851,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -14583,7 +14860,7 @@ } }, "right_expression": { - "id": 217, + "id": 218, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14595,7 +14872,7 @@ "start": 1822, "end": 1843, "length": 22, - "parent_index": 208 + "parent_index": 209 }, "member_location": { "line": 73, @@ -14603,10 +14880,10 @@ "start": 1838, "end": 1843, "length": 6, - "parent_index": 217 + "parent_index": 218 }, "expression": { - "id": 218, + "id": 219, "node_type": 16, "src": { "line": 73, @@ -14614,7 +14891,7 @@ "start": 1822, "end": 1836, "length": 15, - "parent_index": 217 + "parent_index": 218 }, "name": "playerAddresses", "type_description": { @@ -14622,15 +14899,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -14639,7 +14918,7 @@ } }, { - "id": 219, + "id": 220, "node_type": 44, "src": { "line": 74, @@ -14647,25 +14926,25 @@ "start": 1854, "end": 1881, "length": 28, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 220 + 221 ], "declarations": [ { - "id": 220, + "id": 221, "state_mutability": 1, "name": "winner", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 74, "column": 8, "start": 1854, "end": 1867, "length": 14, - "parent_index": 219 + "parent_index": 220 }, "name_location": { "line": 74, @@ -14673,12 +14952,12 @@ "start": 1862, "end": 1867, "length": 6, - "parent_index": 220 + "parent_index": 221 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 221, + "id": 222, "node_type": 30, "src": { "line": 74, @@ -14686,7 +14965,7 @@ "start": 1854, "end": 1860, "length": 7, - "parent_index": 220 + "parent_index": 221 }, "name": "address", "state_mutability": 4, @@ -14700,7 +14979,7 @@ } ], "initial_value": { - "id": 222, + "id": 223, "node_type": 24, "kind": 24, "src": { @@ -14709,7 +14988,7 @@ "start": 1871, "end": 1880, "length": 10, - "parent_index": 219 + "parent_index": 220 }, "argument_types": [ { @@ -14719,7 +14998,7 @@ ], "arguments": [ { - "id": 225, + "id": 226, "node_type": 17, "kind": 49, "value": "0", @@ -14730,7 +15009,7 @@ "start": 1879, "end": 1879, "length": 1, - "parent_index": 222 + "parent_index": 223 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -14738,11 +15017,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 223, + "id": 224, "node_type": 16, "src": { "line": 74, @@ -14750,11 +15030,11 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 222 + "parent_index": 223 }, "name": "address", "type_name": { - "id": 224, + "id": 225, "node_type": 30, "src": { "line": 74, @@ -14762,7 +15042,7 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 223 + "parent_index": 224 }, "name": "address", "state_mutability": 4, @@ -14784,7 +15064,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -14793,7 +15074,7 @@ } }, { - "id": 226, + "id": 227, "node_type": 44, "src": { "line": 75, @@ -14801,25 +15082,25 @@ "start": 1891, "end": 1908, "length": 18, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 227 + 228 ], "declarations": [ { - "id": 227, + "id": 228, "state_mutability": 1, "name": "count", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 75, "column": 8, "start": 1891, "end": 1903, "length": 13, - "parent_index": 226 + "parent_index": 227 }, "name_location": { "line": 75, @@ -14827,12 +15108,12 @@ "start": 1899, "end": 1903, "length": 5, - "parent_index": 227 + "parent_index": 228 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 228, + "id": 229, "node_type": 30, "src": { "line": 75, @@ -14840,7 +15121,7 @@ "start": 1891, "end": 1897, "length": 7, - "parent_index": 227 + "parent_index": 228 }, "name": "uint256", "referenced_declaration": 0, @@ -14853,7 +15134,7 @@ } ], "initial_value": { - "id": 229, + "id": 230, "node_type": 17, "kind": 49, "value": "0", @@ -14864,7 +15145,7 @@ "start": 1907, "end": 1907, "length": 1, - "parent_index": 226 + "parent_index": 227 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -14872,7 +15153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -14885,10 +15167,10 @@ "start": 1927, "end": 2246, "length": 320, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 230, + "id": 231, "is_constant": false, "is_pure": false, "node_type": 19, @@ -14901,7 +15183,7 @@ }, "operator": 9, "left_expression": { - "id": 231, + "id": 232, "node_type": 16, "src": { "line": 77, @@ -14909,7 +15191,7 @@ "start": 1933, "end": 1937, "length": 5, - "parent_index": 230 + "parent_index": 231 }, "name": "count", "type_description": { @@ -14917,11 +15199,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 232, + "id": 233, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -14933,7 +15216,7 @@ "start": 1941, "end": 1962, "length": 22, - "parent_index": 230 + "parent_index": 231 }, "member_location": { "line": 77, @@ -14941,10 +15224,10 @@ "start": 1957, "end": 1962, "length": 6, - "parent_index": 232 + "parent_index": 233 }, "expression": { - "id": 233, + "id": 234, "node_type": 16, "src": { "line": 77, @@ -14952,7 +15235,7 @@ "start": 1941, "end": 1955, "length": 15, - "parent_index": 232 + "parent_index": 233 }, "name": "playerAddresses", "type_description": { @@ -14960,15 +15243,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -14976,7 +15261,7 @@ } }, "body": { - "id": 234, + "id": 235, "node_type": 46, "kind": 0, "src": { @@ -14989,7 +15274,7 @@ "implemented": true, "statements": [ { - "id": 235, + "id": 236, "node_type": 48, "src": { "line": 78, @@ -14997,10 +15282,10 @@ "start": 1979, "end": 2083, "length": 105, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 236, + "id": 237, "is_constant": false, "is_pure": false, "node_type": 19, @@ -15010,11 +15295,11 @@ "start": 1982, "end": 1995, "length": 14, - "parent_index": 235 + "parent_index": 236 }, "operator": 11, "left_expression": { - "id": 237, + "id": 238, "node_type": 16, "src": { "line": 78, @@ -15022,7 +15307,7 @@ "start": 1982, "end": 1986, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "index", "type_description": { @@ -15030,11 +15315,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 208, - "is_pure": false + "referenced_declaration": 209, + "is_pure": false, + "text": "index" }, "right_expression": { - "id": 238, + "id": 239, "node_type": 16, "src": { "line": 78, @@ -15042,7 +15328,7 @@ "start": 1991, "end": 1995, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "count", "type_description": { @@ -15050,8 +15336,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_bool", @@ -15059,7 +15346,7 @@ } }, "body": { - "id": 239, + "id": 240, "node_type": 46, "kind": 0, "src": { @@ -15072,7 +15359,7 @@ "implemented": true, "statements": [ { - "id": 240, + "id": 241, "node_type": 27, "src": { "line": 79, @@ -15080,10 +15367,10 @@ "start": 2015, "end": 2046, "length": 32, - "parent_index": 239 + "parent_index": 240 }, "expression": { - "id": 241, + "id": 242, "node_type": 27, "src": { "line": 79, @@ -15091,11 +15378,11 @@ "start": 2015, "end": 2045, "length": 31, - "parent_index": 240 + "parent_index": 241 }, "operator": 11, "left_expression": { - "id": 242, + "id": 243, "node_type": 16, "src": { "line": 79, @@ -15103,7 +15390,7 @@ "start": 2015, "end": 2020, "length": 6, - "parent_index": 241 + "parent_index": 242 }, "name": "winner", "type_description": { @@ -15111,11 +15398,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 59, - "is_pure": false + "referenced_declaration": 60, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 243, + "id": 244, "node_type": 22, "src": { "line": 79, @@ -15123,10 +15411,10 @@ "start": 2024, "end": 2045, "length": 22, - "parent_index": 241 + "parent_index": 242 }, "index_expression": { - "id": 244, + "id": 245, "node_type": 16, "src": { "line": 79, @@ -15134,7 +15422,7 @@ "start": 2024, "end": 2038, "length": 15, - "parent_index": 243 + "parent_index": 244 }, "name": "playerAddresses", "type_description": { @@ -15142,11 +15430,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 245, + "id": 246, "node_type": 16, "src": { "line": 79, @@ -15154,7 +15443,7 @@ "start": 2040, "end": 2044, "length": 5, - "parent_index": 243 + "parent_index": 244 }, "name": "count", "type_description": { @@ -15162,8 +15451,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_descriptions": [ { @@ -15188,10 +15478,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "winner=playerAddresses[count];" }, { - "id": 246, + "id": 247, "node_type": 74, "src": { "line": 80, @@ -15199,14 +15490,14 @@ "start": 2064, "end": 2069, "length": 6, - "parent_index": 239 + "parent_index": 240 } } ] } }, { - "id": 247, + "id": 248, "node_type": 18, "kind": 105, "src": { @@ -15218,7 +15509,7 @@ }, "operator": 27, "expression": { - "id": 248, + "id": 249, "node_type": 16, "src": { "line": 83, @@ -15226,7 +15517,7 @@ "start": 2098, "end": 2102, "length": 5, - "parent_index": 247 + "parent_index": 248 }, "name": "count", "type_description": { @@ -15234,8 +15525,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_uint256", @@ -15248,7 +15540,7 @@ "l_value_requested": false }, { - "id": 249, + "id": 250, "node_type": 48, "src": { "line": 86, @@ -15256,10 +15548,10 @@ "start": 2176, "end": 2236, "length": 61, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 250, + "id": 251, "is_constant": false, "is_pure": false, "node_type": 19, @@ -15269,11 +15561,11 @@ "start": 2180, "end": 2193, "length": 14, - "parent_index": 249 + "parent_index": 250 }, "operator": 11, "left_expression": { - "id": 251, + "id": 252, "is_constant": false, "is_pure": false, "node_type": 19, @@ -15283,11 +15575,11 @@ "start": 2180, "end": 2188, "length": 9, - "parent_index": 250 + "parent_index": 251 }, "operator": 5, "left_expression": { - "id": 252, + "id": 253, "node_type": 16, "src": { "line": 86, @@ -15295,7 +15587,7 @@ "start": 2180, "end": 2184, "length": 5, - "parent_index": 251 + "parent_index": 252 }, "name": "count", "type_description": { @@ -15303,11 +15595,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 253, + "id": 254, "node_type": 17, "kind": 49, "value": "2", @@ -15318,7 +15611,7 @@ "start": 2188, "end": 2188, "length": 1, - "parent_index": 251 + "parent_index": 252 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -15326,7 +15619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -15334,7 +15628,7 @@ } }, "right_expression": { - "id": 254, + "id": 255, "node_type": 17, "kind": 49, "value": "1", @@ -15345,7 +15639,7 @@ "start": 2193, "end": 2193, "length": 1, - "parent_index": 250 + "parent_index": 251 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -15353,7 +15647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -15361,7 +15656,7 @@ } }, "body": { - "id": 255, + "id": 256, "node_type": 46, "kind": 0, "src": { @@ -15374,7 +15669,7 @@ "implemented": true, "statements": [ { - "id": 256, + "id": 257, "node_type": 75, "src": { "line": 87, @@ -15382,7 +15677,7 @@ "start": 2214, "end": 2222, "length": 9, - "parent_index": 255 + "parent_index": 256 } } ] @@ -15392,7 +15687,7 @@ } }, { - "id": 257, + "id": 258, "node_type": 48, "src": { "line": 91, @@ -15400,10 +15695,10 @@ "start": 2257, "end": 2329, "length": 73, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 258, + "id": 259, "is_constant": false, "is_pure": false, "node_type": 19, @@ -15413,11 +15708,11 @@ "start": 2261, "end": 2280, "length": 20, - "parent_index": 257 + "parent_index": 258 }, "operator": 11, "left_expression": { - "id": 259, + "id": 260, "node_type": 16, "src": { "line": 91, @@ -15425,7 +15720,7 @@ "start": 2261, "end": 2266, "length": 6, - "parent_index": 258 + "parent_index": 259 }, "name": "winner", "type_description": { @@ -15433,11 +15728,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 260, + "id": 261, "node_type": 24, "kind": 24, "src": { @@ -15446,7 +15742,7 @@ "start": 2271, "end": 2280, "length": 10, - "parent_index": 258 + "parent_index": 259 }, "argument_types": [ { @@ -15456,7 +15752,7 @@ ], "arguments": [ { - "id": 263, + "id": 264, "node_type": 17, "kind": 49, "value": "0", @@ -15467,7 +15763,7 @@ "start": 2279, "end": 2279, "length": 1, - "parent_index": 260 + "parent_index": 261 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -15475,11 +15771,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 261, + "id": 262, "node_type": 16, "src": { "line": 91, @@ -15487,11 +15784,11 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 260 + "parent_index": 261 }, "name": "address", "type_name": { - "id": 262, + "id": 263, "node_type": 30, "src": { "line": 91, @@ -15499,7 +15796,7 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 261 + "parent_index": 262 }, "name": "address", "state_mutability": 4, @@ -15521,7 +15818,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -15534,7 +15832,7 @@ } }, "body": { - "id": 264, + "id": 265, "node_type": 46, "kind": 0, "src": { @@ -15543,12 +15841,12 @@ "start": 2283, "end": 2329, "length": 47, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 265, + "id": 266, "node_type": 78, "src": { "line": 92, @@ -15556,11 +15854,11 @@ "start": 2297, "end": 2319, "length": 23, - "parent_index": 195 + "parent_index": 196 }, "arguments": [], "expression": { - "id": 266, + "id": 267, "node_type": 16, "src": { "line": 92, @@ -15568,23 +15866,24 @@ "start": 2304, "end": 2316, "length": 13, - "parent_index": 265 + "parent_index": 266 }, "name": "InvalidWinner", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" }, "overloaded_declarations": [], - "referenced_declaration": 79, - "is_pure": false + "referenced_declaration": 80, + "is_pure": false, + "text": "InvalidWinner" } } ] } }, { - "id": 267, + "id": 268, "node_type": 64, "src": { "line": 95, @@ -15592,11 +15891,11 @@ "start": 2340, "end": 2368, "length": 29, - "parent_index": 195 + "parent_index": 196 }, "arguments": [ { - "id": 268, + "id": 269, "node_type": 16, "src": { "line": 95, @@ -15604,7 +15903,7 @@ "start": 2361, "end": 2366, "length": 6, - "parent_index": 267 + "parent_index": 268 }, "name": "winner", "type_description": { @@ -15612,12 +15911,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "expression": { - "id": 269, + "id": 270, "node_type": 16, "src": { "line": 95, @@ -15625,20 +15925,21 @@ "start": 2345, "end": 2359, "length": 15, - "parent_index": 267 + "parent_index": 268 }, "name": "LotteryFinished", "type_description": { - "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "type_string": "event Lottery.LotteryFinished" }, "overloaded_declarations": [], - "referenced_declaration": 57, - "is_pure": false + "referenced_declaration": 58, + "is_pure": false, + "text": "LotteryFinished" } }, { - "id": 270, + "id": 271, "node_type": 44, "src": { "line": 97, @@ -15646,25 +15947,25 @@ "start": 2379, "end": 2418, "length": 40, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 271 + 272 ], "declarations": [ { - "id": 271, + "id": 272, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 97, "column": 8, "start": 2379, "end": 2393, "length": 15, - "parent_index": 270 + "parent_index": 271 }, "name_location": { "line": 97, @@ -15672,12 +15973,12 @@ "start": 2387, "end": 2393, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 272, + "id": 273, "node_type": 30, "src": { "line": 97, @@ -15685,7 +15986,7 @@ "start": 2379, "end": 2385, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "name": "uint256", "referenced_declaration": 0, @@ -15698,7 +15999,7 @@ } ], "initial_value": { - "id": 273, + "id": 274, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -15710,7 +16011,7 @@ "start": 2397, "end": 2417, "length": 21, - "parent_index": 270 + "parent_index": 271 }, "member_location": { "line": 97, @@ -15718,10 +16019,10 @@ "start": 2411, "end": 2417, "length": 7, - "parent_index": 273 + "parent_index": 274 }, "expression": { - "id": 274, + "id": 275, "node_type": 24, "kind": 24, "src": { @@ -15730,7 +16031,7 @@ "start": 2397, "end": 2409, "length": 13, - "parent_index": 270 + "parent_index": 271 }, "argument_types": [ { @@ -15740,7 +16041,7 @@ ], "arguments": [ { - "id": 277, + "id": 278, "node_type": 16, "src": { "line": 97, @@ -15748,7 +16049,7 @@ "start": 2405, "end": 2408, "length": 4, - "parent_index": 274 + "parent_index": 275 }, "name": "this", "type_description": { @@ -15757,11 +16058,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 275, + "id": 276, "node_type": 16, "src": { "line": 97, @@ -15769,11 +16071,11 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 274 + "parent_index": 275 }, "name": "address", "type_name": { - "id": 276, + "id": 277, "node_type": 30, "src": { "line": 97, @@ -15781,7 +16083,7 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 275 + "parent_index": 276 }, "name": "address", "state_mutability": 4, @@ -15803,7 +16105,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15815,11 +16118,12 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } }, { - "id": 278, + "id": 279, "node_type": 24, "kind": 24, "src": { @@ -15828,7 +16132,7 @@ "start": 2428, "end": 2460, "length": 33, - "parent_index": 202 + "parent_index": 203 }, "argument_types": [ { @@ -15838,7 +16142,7 @@ ], "arguments": [ { - "id": 282, + "id": 283, "node_type": 16, "src": { "line": 98, @@ -15846,7 +16150,7 @@ "start": 2453, "end": 2459, "length": 7, - "parent_index": 278 + "parent_index": 279 }, "name": "balance", "type_description": { @@ -15854,12 +16158,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 270, - "is_pure": false + "referenced_declaration": 271, + "is_pure": false, + "text": "balance" } ], "expression": { - "id": 279, + "id": 280, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -15871,7 +16176,7 @@ "start": 2428, "end": 2451, "length": 24, - "parent_index": 278 + "parent_index": 279 }, "member_location": { "line": 98, @@ -15879,10 +16184,10 @@ "start": 2444, "end": 2451, "length": 8, - "parent_index": 279 + "parent_index": 280 }, "expression": { - "id": 280, + "id": 281, "node_type": 84, "src": { "line": 98, @@ -15890,11 +16195,11 @@ "start": 2428, "end": 2442, "length": 15, - "parent_index": 279 + "parent_index": 280 }, "arguments": [ { - "id": 281, + "id": 282, "node_type": 16, "src": { "line": 98, @@ -15902,7 +16207,7 @@ "start": 2436, "end": 2441, "length": 6, - "parent_index": 280 + "parent_index": 281 }, "name": "winner", "type_description": { @@ -15910,8 +16215,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "argument_types": [ @@ -15931,7 +16237,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(winner).transfer" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -15946,7 +16253,7 @@ "virtual": false, "modifiers": [ { - "id": 197, + "id": 198, "name": "inState", "node_type": 72, "kind": 72, @@ -15956,7 +16263,7 @@ "start": 1697, "end": 1727, "length": 31, - "parent_index": 195 + "parent_index": 196 }, "argument_types": [ { @@ -15966,7 +16273,7 @@ ], "arguments": [ { - "id": 199, + "id": 200, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -15978,7 +16285,7 @@ "start": 1705, "end": 1726, "length": 22, - "parent_index": 197 + "parent_index": 198 }, "member_location": { "line": 70, @@ -15986,10 +16293,10 @@ "start": 1718, "end": 1726, "length": 9, - "parent_index": 199 + "parent_index": 200 }, "expression": { - "id": 200, + "id": 201, "node_type": 16, "src": { "line": 70, @@ -15997,7 +16304,7 @@ "start": 1705, "end": 1716, "length": 12, - "parent_index": 199 + "parent_index": 200 }, "name": "LotteryState", "type_description": { @@ -16006,18 +16313,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 198, + "id": 199, "name": "inState", "node_type": 0, "src": { @@ -16026,14 +16335,14 @@ "start": 1697, "end": 1703, "length": 7, - "parent_index": 197 + "parent_index": 198 } } } ], "overrides": [], "parameters": { - "id": 196, + "id": 197, "node_type": 43, "src": { "line": 70, @@ -16041,13 +16350,13 @@ "start": 1665, "end": 2467, "length": 803, - "parent_index": 195 + "parent_index": 196 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 201, + "id": 202, "node_type": 43, "src": { "line": 70, @@ -16055,7 +16364,7 @@ "start": 1665, "end": 2467, "length": 803, - "parent_index": 195 + "parent_index": 196 }, "parameters": [], "parameter_types": [] @@ -16066,10 +16375,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionfinishLottery()publicinState(LotteryState.Accepting){state=LotteryState.Finished;uint256index=uint256(block.timestamp)%playerAddresses.length;addresswinner=address(0);uint256count=0;while(count\u003cplayerAddresses.length){if(index==count){winner=playerAddresses[count];break;}count++;if(count%2==1){continue;}}if(winner==address(0)){revertInvalidWinner();}emitLotteryFinished(winner);uint256balance=address(this).balance;payable(winner).transfer(balance);}" }, { - "id": 284, + "id": 285, "name": "owner", "node_type": 42, "kind": 41, @@ -16087,10 +16397,10 @@ "start": 2483, "end": 2487, "length": 5, - "parent_index": 284 + "parent_index": 285 }, "body": { - "id": 291, + "id": 292, "node_type": 46, "kind": 0, "src": { @@ -16099,12 +16409,12 @@ "start": 2521, "end": 2557, "length": 37, - "parent_index": 284 + "parent_index": 285 }, "implemented": true, "statements": [ { - "id": 292, + "id": 293, "node_type": 47, "src": { "line": 102, @@ -16112,11 +16422,11 @@ "start": 2531, "end": 2551, "length": 21, - "parent_index": 284 + "parent_index": 285 }, - "function_return_parameters": 284, + "function_return_parameters": 285, "expression": { - "id": 293, + "id": 294, "node_type": 24, "kind": 24, "src": { @@ -16125,7 +16435,7 @@ "start": 2538, "end": 2550, "length": 13, - "parent_index": 292 + "parent_index": 293 }, "argument_types": [ { @@ -16135,7 +16445,7 @@ ], "arguments": [ { - "id": 296, + "id": 297, "node_type": 16, "src": { "line": 102, @@ -16143,7 +16453,7 @@ "start": 2546, "end": 2549, "length": 4, - "parent_index": 293 + "parent_index": 294 }, "name": "this", "type_description": { @@ -16152,11 +16462,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 294, + "id": 295, "node_type": 16, "src": { "line": 102, @@ -16164,11 +16475,11 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 293 + "parent_index": 294 }, "name": "address", "type_name": { - "id": 295, + "id": 296, "node_type": 30, "src": { "line": 102, @@ -16176,7 +16487,7 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 294 + "parent_index": 295 }, "name": "address", "state_mutability": 4, @@ -16198,7 +16509,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16215,7 +16527,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 285, + "id": 286, "node_type": 43, "src": { "line": 101, @@ -16223,11 +16535,11 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 284 + "parent_index": 285 }, "parameters": [ { - "id": 286, + "id": 287, "node_type": 44, "src": { "line": 101, @@ -16235,12 +16547,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 285 + "parent_index": 286 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 287, + "id": 288, "node_type": 30, "src": { "line": 101, @@ -16248,7 +16560,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 286 + "parent_index": 287 }, "name": "address", "state_mutability": 4, @@ -16275,7 +16587,7 @@ ] }, "return_parameters": { - "id": 288, + "id": 289, "node_type": 43, "src": { "line": 101, @@ -16283,11 +16595,11 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 284 + "parent_index": 285 }, "parameters": [ { - "id": 289, + "id": 290, "node_type": 44, "src": { "line": 101, @@ -16295,12 +16607,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 288 + "parent_index": 289 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 290, + "id": 291, "node_type": 30, "src": { "line": 101, @@ -16308,7 +16620,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 289 + "parent_index": 290 }, "name": "address", "state_mutability": 4, @@ -16340,10 +16652,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){returnaddress(this);}" }, { - "id": 298, + "id": 299, "name": "balance", "node_type": 42, "kind": 41, @@ -16361,10 +16674,10 @@ "start": 2573, "end": 2579, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "body": { - "id": 305, + "id": 306, "node_type": 46, "kind": 0, "src": { @@ -16373,12 +16686,12 @@ "start": 2613, "end": 2657, "length": 45, - "parent_index": 298 + "parent_index": 299 }, "implemented": true, "statements": [ { - "id": 306, + "id": 307, "node_type": 47, "src": { "line": 106, @@ -16386,11 +16699,11 @@ "start": 2623, "end": 2651, "length": 29, - "parent_index": 298 + "parent_index": 299 }, - "function_return_parameters": 298, + "function_return_parameters": 299, "expression": { - "id": 307, + "id": 308, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -16402,7 +16715,7 @@ "start": 2630, "end": 2650, "length": 21, - "parent_index": 306 + "parent_index": 307 }, "member_location": { "line": 106, @@ -16410,10 +16723,10 @@ "start": 2644, "end": 2650, "length": 7, - "parent_index": 307 + "parent_index": 308 }, "expression": { - "id": 308, + "id": 309, "node_type": 24, "kind": 24, "src": { @@ -16422,7 +16735,7 @@ "start": 2630, "end": 2642, "length": 13, - "parent_index": 307 + "parent_index": 308 }, "argument_types": [ { @@ -16432,7 +16745,7 @@ ], "arguments": [ { - "id": 311, + "id": 312, "node_type": 16, "src": { "line": 106, @@ -16440,7 +16753,7 @@ "start": 2638, "end": 2641, "length": 4, - "parent_index": 308 + "parent_index": 309 }, "name": "this", "type_description": { @@ -16449,11 +16762,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 309, + "id": 310, "node_type": 16, "src": { "line": 106, @@ -16461,11 +16775,11 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 308 + "parent_index": 309 }, "name": "address", "type_name": { - "id": 310, + "id": 311, "node_type": 30, "src": { "line": 106, @@ -16473,7 +16787,7 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 309 + "parent_index": 310 }, "name": "address", "state_mutability": 4, @@ -16495,7 +16809,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16507,7 +16822,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } } ] @@ -16519,7 +16835,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 299, + "id": 300, "node_type": 43, "src": { "line": 105, @@ -16527,11 +16843,11 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "parameters": [ { - "id": 300, + "id": 301, "node_type": 44, "src": { "line": 105, @@ -16539,12 +16855,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 299 + "parent_index": 300 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 301, + "id": 302, "node_type": 30, "src": { "line": 105, @@ -16552,7 +16868,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 300 + "parent_index": 301 }, "name": "uint256", "referenced_declaration": 0, @@ -16578,7 +16894,7 @@ ] }, "return_parameters": { - "id": 302, + "id": 303, "node_type": 43, "src": { "line": 105, @@ -16586,11 +16902,11 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "parameters": [ { - "id": 303, + "id": 304, "node_type": 44, "src": { "line": 105, @@ -16598,12 +16914,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 302 + "parent_index": 303 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 304, + "id": 305, "node_type": 30, "src": { "line": 105, @@ -16611,7 +16927,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 303 + "parent_index": 304 }, "name": "uint256", "referenced_declaration": 0, @@ -16642,10 +16958,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbalance()publicviewreturns(uint256){returnaddress(this).balance;}" }, { - "id": 313, + "id": 314, "name": "checkAllPlayers", "node_type": 42, "kind": 41, @@ -16663,10 +16980,10 @@ "start": 2708, "end": 2722, "length": 15, - "parent_index": 313 + "parent_index": 314 }, "body": { - "id": 320, + "id": 321, "node_type": 46, "kind": 0, "src": { @@ -16675,12 +16992,12 @@ "start": 2753, "end": 2977, "length": 225, - "parent_index": 313 + "parent_index": 314 }, "implemented": true, "statements": [ { - "id": 321, + "id": 322, "node_type": 79, "src": { "line": 111, @@ -16688,10 +17005,10 @@ "start": 2763, "end": 2950, "length": 188, - "parent_index": 320 + "parent_index": 321 }, "initialiser": { - "id": 322, + "id": 323, "node_type": 44, "src": { "line": 111, @@ -16699,25 +17016,25 @@ "start": 2768, "end": 2778, "length": 11, - "parent_index": 320 + "parent_index": 321 }, "assignments": [ - 323 + 324 ], "declarations": [ { - "id": 323, + "id": 324, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 320, + "scope": 321, "src": { "line": 111, "column": 13, "start": 2768, "end": 2773, "length": 6, - "parent_index": 322 + "parent_index": 323 }, "name_location": { "line": 111, @@ -16725,12 +17042,12 @@ "start": 2773, "end": 2773, "length": 1, - "parent_index": 323 + "parent_index": 324 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 324, + "id": 325, "node_type": 30, "src": { "line": 111, @@ -16738,7 +17055,7 @@ "start": 2768, "end": 2771, "length": 4, - "parent_index": 323 + "parent_index": 324 }, "name": "uint", "referenced_declaration": 0, @@ -16751,7 +17068,7 @@ } ], "initial_value": { - "id": 325, + "id": 326, "node_type": 17, "kind": 49, "value": "0", @@ -16762,7 +17079,7 @@ "start": 2777, "end": 2777, "length": 1, - "parent_index": 322 + "parent_index": 323 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -16770,11 +17087,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 326, + "id": 327, "is_constant": false, "is_pure": false, "node_type": 19, @@ -16784,11 +17102,11 @@ "start": 2780, "end": 2805, "length": 26, - "parent_index": 321 + "parent_index": 322 }, "operator": 9, "left_expression": { - "id": 327, + "id": 328, "node_type": 16, "src": { "line": 111, @@ -16796,7 +17114,7 @@ "start": 2780, "end": 2780, "length": 1, - "parent_index": 326 + "parent_index": 327 }, "name": "i", "type_description": { @@ -16804,11 +17122,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 328, + "id": 329, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -16820,7 +17139,7 @@ "start": 2784, "end": 2805, "length": 22, - "parent_index": 326 + "parent_index": 327 }, "member_location": { "line": 111, @@ -16828,10 +17147,10 @@ "start": 2800, "end": 2805, "length": 6, - "parent_index": 328 + "parent_index": 329 }, "expression": { - "id": 329, + "id": 330, "node_type": 16, "src": { "line": 111, @@ -16839,7 +17158,7 @@ "start": 2784, "end": 2798, "length": 15, - "parent_index": 328 + "parent_index": 329 }, "name": "playerAddresses", "type_description": { @@ -16847,15 +17166,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -16863,7 +17184,7 @@ } }, "closure": { - "id": 330, + "id": 331, "node_type": 18, "kind": 105, "src": { @@ -16872,11 +17193,11 @@ "start": 2808, "end": 2810, "length": 3, - "parent_index": 313 + "parent_index": 314 }, "operator": 27, "expression": { - "id": 331, + "id": 332, "node_type": 16, "src": { "line": 111, @@ -16884,7 +17205,7 @@ "start": 2808, "end": 2808, "length": 1, - "parent_index": 330 + "parent_index": 331 }, "name": "i", "type_description": { @@ -16892,8 +17213,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -16906,7 +17228,7 @@ "l_value_requested": false }, "body": { - "id": 332, + "id": 333, "node_type": 46, "kind": 0, "src": { @@ -16915,12 +17237,12 @@ "start": 2813, "end": 2950, "length": 138, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 333, + "id": 334, "node_type": 48, "src": { "line": 112, @@ -16928,10 +17250,10 @@ "start": 2827, "end": 2940, "length": 114, - "parent_index": 332 + "parent_index": 333 }, "condition": { - "id": 334, + "id": 335, "is_constant": false, "is_pure": false, "node_type": 19, @@ -16941,11 +17263,11 @@ "start": 2831, "end": 2876, "length": 46, - "parent_index": 333 + "parent_index": 334 }, "operator": 11, "left_expression": { - "id": 335, + "id": 336, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -16957,7 +17279,7 @@ "start": 2831, "end": 2862, "length": 32, - "parent_index": 334 + "parent_index": 335 }, "member_location": { "line": 112, @@ -16965,10 +17287,10 @@ "start": 2859, "end": 2862, "length": 4, - "parent_index": 335 + "parent_index": 336 }, "expression": { - "id": 336, + "id": 337, "node_type": 22, "src": { "line": 112, @@ -16976,10 +17298,10 @@ "start": 2831, "end": 2857, "length": 27, - "parent_index": 335 + "parent_index": 336 }, "index_expression": { - "id": 337, + "id": 338, "node_type": 16, "src": { "line": 112, @@ -16987,19 +17309,20 @@ "start": 2831, "end": 2837, "length": 7, - "parent_index": 336 + "parent_index": 337 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 338, + "id": 339, "node_type": 22, "src": { "line": 112, @@ -17007,10 +17330,10 @@ "start": 2839, "end": 2856, "length": 18, - "parent_index": 336 + "parent_index": 337 }, "index_expression": { - "id": 339, + "id": 340, "node_type": 16, "src": { "line": 112, @@ -17018,7 +17341,7 @@ "start": 2839, "end": 2853, "length": 15, - "parent_index": 338 + "parent_index": 339 }, "name": "playerAddresses", "type_description": { @@ -17026,11 +17349,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 340, + "id": 341, "node_type": 16, "src": { "line": 112, @@ -17038,7 +17362,7 @@ "start": 2855, "end": 2855, "length": 1, - "parent_index": 338 + "parent_index": 339 }, "name": "i", "type_description": { @@ -17046,8 +17370,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -17066,7 +17391,7 @@ }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -17075,19 +17400,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" - } + }, + "text": "players[playerAddresses[i]].addr" }, "right_expression": { - "id": 341, + "id": 342, "node_type": 24, "kind": 24, "src": { @@ -17096,7 +17422,7 @@ "start": 2867, "end": 2876, "length": 10, - "parent_index": 334 + "parent_index": 335 }, "argument_types": [ { @@ -17106,7 +17432,7 @@ ], "arguments": [ { - "id": 344, + "id": 345, "node_type": 17, "kind": 49, "value": "0", @@ -17117,7 +17443,7 @@ "start": 2875, "end": 2875, "length": 1, - "parent_index": 341 + "parent_index": 342 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -17125,11 +17451,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 342, + "id": 343, "node_type": 16, "src": { "line": 112, @@ -17137,11 +17464,11 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 341 + "parent_index": 342 }, "name": "address", "type_name": { - "id": 343, + "id": 344, "node_type": 30, "src": { "line": 112, @@ -17149,7 +17476,7 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 342 + "parent_index": 343 }, "name": "address", "state_mutability": 4, @@ -17171,7 +17498,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17184,7 +17512,7 @@ } }, "body": { - "id": 345, + "id": 346, "node_type": 46, "kind": 0, "src": { @@ -17193,12 +17521,12 @@ "start": 2879, "end": 2940, "length": 62, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 346, + "id": 347, "node_type": 78, "src": { "line": 113, @@ -17206,11 +17534,11 @@ "start": 2897, "end": 2926, "length": 30, - "parent_index": 321 + "parent_index": 322 }, "arguments": [], "expression": { - "id": 347, + "id": 348, "node_type": 16, "src": { "line": 113, @@ -17218,16 +17546,17 @@ "start": 2904, "end": 2923, "length": 20, - "parent_index": 346 + "parent_index": 347 }, "name": "InvalidPlayerAddress", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" }, "overloaded_declarations": [], - "referenced_declaration": 82, - "is_pure": false + "referenced_declaration": 83, + "is_pure": false, + "text": "InvalidPlayerAddress" } } ] @@ -17237,7 +17566,7 @@ } }, { - "id": 348, + "id": 349, "node_type": 47, "src": { "line": 116, @@ -17245,11 +17574,11 @@ "start": 2960, "end": 2971, "length": 12, - "parent_index": 313 + "parent_index": 314 }, - "function_return_parameters": 313, + "function_return_parameters": 314, "expression": { - "id": 349, + "id": 350, "node_type": 17, "kind": 61, "value": "true", @@ -17260,7 +17589,7 @@ "start": 2967, "end": 2970, "length": 4, - "parent_index": 348 + "parent_index": 349 }, "type_description": { "type_identifier": "t_bool", @@ -17268,7 +17597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -17280,7 +17610,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 314, + "id": 315, "node_type": 43, "src": { "line": 110, @@ -17288,11 +17618,11 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 313 + "parent_index": 314 }, "parameters": [ { - "id": 315, + "id": 316, "node_type": 44, "src": { "line": 110, @@ -17300,12 +17630,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 314 + "parent_index": 315 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 316, + "id": 317, "node_type": 30, "src": { "line": 110, @@ -17313,7 +17643,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 315 + "parent_index": 316 }, "name": "bool", "referenced_declaration": 0, @@ -17339,7 +17669,7 @@ ] }, "return_parameters": { - "id": 317, + "id": 318, "node_type": 43, "src": { "line": 110, @@ -17347,11 +17677,11 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 313 + "parent_index": 314 }, "parameters": [ { - "id": 318, + "id": 319, "node_type": 44, "src": { "line": 110, @@ -17359,12 +17689,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 317 + "parent_index": 318 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 319, + "id": 320, "node_type": 30, "src": { "line": 110, @@ -17372,7 +17702,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 318 + "parent_index": 319 }, "name": "bool", "referenced_declaration": 0, @@ -17403,10 +17733,11 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functioncheckAllPlayers()publicviewreturns(bool){for(uinti=0;i\u003cplayerAddresses.length;i++){if(players[playerAddresses[i]].addr==address(0)){revertInvalidPlayerAddress();}}returntrue;}" }, { - "id": 351, + "id": 352, "name": "requireOwner", "node_type": 42, "kind": 41, @@ -17424,10 +17755,10 @@ "start": 3026, "end": 3037, "length": 12, - "parent_index": 351 + "parent_index": 352 }, "body": { - "id": 354, + "id": 355, "node_type": 46, "kind": 0, "src": { @@ -17436,12 +17767,12 @@ "start": 3053, "end": 3145, "length": 93, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 355, + "id": 356, "node_type": 48, "src": { "line": 121, @@ -17449,10 +17780,10 @@ "start": 3063, "end": 3139, "length": 77, - "parent_index": 354 + "parent_index": 355 }, "condition": { - "id": 356, + "id": 357, "is_constant": false, "is_pure": false, "node_type": 19, @@ -17462,11 +17793,11 @@ "start": 3067, "end": 3087, "length": 21, - "parent_index": 355 + "parent_index": 356 }, "operator": 12, "left_expression": { - "id": 357, + "id": 358, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -17478,7 +17809,7 @@ "start": 3067, "end": 3076, "length": 10, - "parent_index": 356 + "parent_index": 357 }, "member_location": { "line": 121, @@ -17486,10 +17817,10 @@ "start": 3071, "end": 3076, "length": 6, - "parent_index": 357 + "parent_index": 358 }, "expression": { - "id": 358, + "id": 359, "node_type": 16, "src": { "line": 121, @@ -17497,7 +17828,7 @@ "start": 3067, "end": 3069, "length": 3, - "parent_index": 357 + "parent_index": 358 }, "name": "msg", "type_description": { @@ -17506,17 +17837,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 359, + "id": 360, "node_type": 24, "kind": 24, "src": { @@ -17525,12 +17858,12 @@ "start": 3081, "end": 3087, "length": 7, - "parent_index": 356 + "parent_index": 357 }, "argument_types": [], "arguments": [], "expression": { - "id": 360, + "id": 361, "node_type": 16, "src": { "line": 121, @@ -17538,7 +17871,7 @@ "start": 3081, "end": 3085, "length": 5, - "parent_index": 359 + "parent_index": 360 }, "name": "owner", "type_description": { @@ -17547,7 +17880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -17560,7 +17894,7 @@ } }, "body": { - "id": 361, + "id": 362, "node_type": 46, "kind": 0, "src": { @@ -17569,12 +17903,12 @@ "start": 3090, "end": 3139, "length": 50, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 362, + "id": 363, "node_type": 78, "src": { "line": 122, @@ -17582,11 +17916,11 @@ "start": 3104, "end": 3129, "length": 26, - "parent_index": 351 + "parent_index": 352 }, "arguments": [], "expression": { - "id": 363, + "id": 364, "node_type": 16, "src": { "line": 122, @@ -17594,16 +17928,17 @@ "start": 3111, "end": 3126, "length": 16, - "parent_index": 362 + "parent_index": 363 }, "name": "OnlyOwnerCanCall", "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" }, "overloaded_declarations": [], - "referenced_declaration": 85, - "is_pure": false + "referenced_declaration": 86, + "is_pure": false, + "text": "OnlyOwnerCanCall" } } ] @@ -17618,7 +17953,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 352, + "id": 353, "node_type": 43, "src": { "line": 120, @@ -17626,13 +17961,13 @@ "start": 3017, "end": 3145, "length": 129, - "parent_index": 351 + "parent_index": 352 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 353, + "id": 354, "node_type": 43, "src": { "line": 120, @@ -17640,7 +17975,7 @@ "start": 3017, "end": 3145, "length": 129, - "parent_index": 351 + "parent_index": 352 }, "parameters": [], "parameter_types": [] @@ -17651,10 +17986,11 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrequireOwner()publicview{if(msg.sender!=owner()){revertOnlyOwnerCanCall();}}" }, { - "id": 365, + "id": 366, "name": "callExternalFunction", "node_type": 42, "kind": 41, @@ -17672,10 +18008,10 @@ "start": 3161, "end": 3180, "length": 20, - "parent_index": 365 + "parent_index": 366 }, "body": { - "id": 370, + "id": 371, "node_type": 46, "kind": 0, "src": { @@ -17684,12 +18020,12 @@ "start": 3222, "end": 3521, "length": 300, - "parent_index": 365 + "parent_index": 366 }, "implemented": true, "statements": [ { - "id": 371, + "id": 372, "node_type": 44, "src": { "line": 127, @@ -17697,25 +18033,25 @@ "start": 3232, "end": 3302, "length": 71, - "parent_index": 370 + "parent_index": 371 }, "assignments": [ - 372 + 373 ], "declarations": [ { - "id": 372, + "id": 373, "state_mutability": 1, "name": "dummyContract", "node_type": 44, - "scope": 370, + "scope": 371, "src": { "line": 127, "column": 8, "start": 3232, "end": 3259, "length": 28, - "parent_index": 371 + "parent_index": 372 }, "name_location": { "line": 127, @@ -17723,12 +18059,12 @@ "start": 3247, "end": 3259, "length": 13, - "parent_index": 372 + "parent_index": 373 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 373, + "id": 374, "node_type": 69, "src": { "line": 127, @@ -17736,10 +18072,10 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 372 + "parent_index": 373 }, "path_node": { - "id": 374, + "id": 375, "name": "IDummyContract", "node_type": 52, "referenced_declaration": 10, @@ -17749,7 +18085,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 }, "name_location": { "line": 127, @@ -17757,7 +18093,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 } }, "referenced_declaration": 10, @@ -17770,7 +18106,7 @@ } ], "initial_value": { - "id": 375, + "id": 376, "node_type": 24, "kind": 24, "src": { @@ -17779,7 +18115,7 @@ "start": 3263, "end": 3301, "length": 39, - "parent_index": 371 + "parent_index": 372 }, "argument_types": [ { @@ -17789,7 +18125,7 @@ ], "arguments": [ { - "id": 377, + "id": 378, "node_type": 16, "src": { "line": 127, @@ -17797,7 +18133,7 @@ "start": 3278, "end": 3300, "length": 23, - "parent_index": 375 + "parent_index": 376 }, "name": "externalContractAddress", "type_description": { @@ -17805,12 +18141,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 377, - "is_pure": false + "referenced_declaration": 378, + "is_pure": false, + "text": "externalContractAddress" } ], "expression": { - "id": 376, + "id": 377, "node_type": 16, "src": { "line": 127, @@ -17818,7 +18155,7 @@ "start": 3263, "end": 3276, "length": 14, - "parent_index": 375 + "parent_index": 376 }, "name": "IDummyContract", "type_description": { @@ -17827,7 +18164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IDummyContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17836,7 +18174,7 @@ } }, { - "id": 378, + "id": 379, "node_type": 85, "src": { "line": 129, @@ -17844,10 +18182,10 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 370 + "parent_index": 371 }, "body": { - "id": 382, + "id": 383, "node_type": 46, "kind": 0, "src": { @@ -17856,12 +18194,12 @@ "start": 3347, "end": 3400, "length": 54, - "parent_index": 378 + "parent_index": 379 }, "implemented": true, "statements": [ { - "id": 383, + "id": 384, "node_type": 64, "src": { "line": 130, @@ -17869,11 +18207,11 @@ "start": 3361, "end": 3390, "length": 30, - "parent_index": 378 + "parent_index": 379 }, "arguments": [], "expression": { - "id": 384, + "id": 385, "node_type": 16, "src": { "line": 130, @@ -17881,16 +18219,17 @@ "start": 3366, "end": 3387, "length": 22, - "parent_index": 383 + "parent_index": 384 }, "name": "ExternalCallSuccessful", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "type_string": "event Lottery.ExternalCallSuccessful" }, "overloaded_declarations": [], - "referenced_declaration": 62, - "is_pure": false + "referenced_declaration": 63, + "is_pure": false, + "text": "ExternalCallSuccessful" } } ] @@ -17898,7 +18237,7 @@ "kind": 86, "returns": false, "return_parameters": { - "id": 392, + "id": 393, "node_type": 43, "src": { "line": 129, @@ -17906,13 +18245,13 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 378 + "parent_index": 379 }, "parameters": [], "parameter_types": [] }, "expression": { - "id": 379, + "id": 380, "node_type": 24, "kind": 24, "src": { @@ -17921,12 +18260,12 @@ "start": 3317, "end": 3345, "length": 29, - "parent_index": 378 + "parent_index": 379 }, "argument_types": [], "arguments": [], "expression": { - "id": 380, + "id": 381, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -17938,7 +18277,7 @@ "start": 3317, "end": 3343, "length": 27, - "parent_index": 379 + "parent_index": 380 }, "member_location": { "line": 129, @@ -17946,10 +18285,10 @@ "start": 3331, "end": 3343, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "expression": { - "id": 381, + "id": 382, "node_type": 16, "src": { "line": 129, @@ -17957,7 +18296,7 @@ "start": 3317, "end": 3329, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "name": "dummyContract", "type_description": { @@ -17965,15 +18304,17 @@ "type_string": "contract IDummyContract" }, "overloaded_declarations": [], - "referenced_declaration": 371, - "is_pure": false + "referenced_declaration": 372, + "is_pure": false, + "text": "dummyContract" }, "member_name": "dummyFunction", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IDummyContract_$10", "type_string": "contract IDummyContract" - } + }, + "text": "dummyContract.dummyFunction" }, "type_description": { "type_identifier": "t_function_$", @@ -17991,10 +18332,10 @@ "start": 3402, "end": 3515, "length": 114, - "parent_index": 378 + "parent_index": 379 }, "body": { - "id": 388, + "id": 389, "node_type": 46, "kind": 0, "src": { @@ -18007,7 +18348,7 @@ "implemented": true, "statements": [ { - "id": 389, + "id": 390, "node_type": 64, "src": { "line": 132, @@ -18018,7 +18359,7 @@ }, "arguments": [ { - "id": 390, + "id": 391, "node_type": 17, "kind": 50, "value": "External contract failed", @@ -18029,7 +18370,7 @@ "start": 3478, "end": 3503, "length": 26, - "parent_index": 389 + "parent_index": 390 }, "type_description": { "type_identifier": "t_string_literal", @@ -18037,11 +18378,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"External contract failed\"" } ], "expression": { - "id": 391, + "id": 392, "node_type": 16, "src": { "line": 132, @@ -18049,22 +18391,23 @@ "start": 3459, "end": 3476, "length": 18, - "parent_index": 389 + "parent_index": 390 }, "name": "ExternalCallFailed", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "type_string": "event Lottery.ExternalCallFailed" }, "overloaded_declarations": [], - "referenced_declaration": 65, - "is_pure": false + "referenced_declaration": 66, + "is_pure": false, + "text": "ExternalCallFailed" } } ] }, "parameters": { - "id": 385, + "id": 386, "node_type": 43, "src": { "line": 131, @@ -18075,7 +18418,7 @@ }, "parameters": [ { - "id": 386, + "id": 387, "node_type": 44, "src": { "line": 131, @@ -18083,11 +18426,11 @@ "start": 3409, "end": 3420, "length": 12, - "parent_index": 385 + "parent_index": 386 }, "name": "", "type_name": { - "id": 387, + "id": 388, "node_type": 30, "src": { "line": 131, @@ -18095,7 +18438,7 @@ "start": 3409, "end": 3413, "length": 5, - "parent_index": 386 + "parent_index": 387 }, "name": "bytes", "referenced_declaration": 0, @@ -18133,7 +18476,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 366, + "id": 367, "node_type": 43, "src": { "line": 126, @@ -18141,11 +18484,11 @@ "start": 3182, "end": 3212, "length": 31, - "parent_index": 365 + "parent_index": 366 }, "parameters": [ { - "id": 367, + "id": 368, "node_type": 44, "src": { "line": 126, @@ -18153,12 +18496,12 @@ "start": 3182, "end": 3212, "length": 31, - "parent_index": 366 + "parent_index": 367 }, - "scope": 365, + "scope": 366, "name": "externalContractAddress", "type_name": { - "id": 368, + "id": 369, "node_type": 30, "src": { "line": 126, @@ -18166,7 +18509,7 @@ "start": 3182, "end": 3188, "length": 7, - "parent_index": 367 + "parent_index": 368 }, "name": "address", "state_mutability": 4, @@ -18193,7 +18536,7 @@ ] }, "return_parameters": { - "id": 369, + "id": 370, "node_type": 43, "src": { "line": 126, @@ -18201,7 +18544,7 @@ "start": 3152, "end": 3521, "length": 370, - "parent_index": 365 + "parent_index": 366 }, "parameters": [], "parameter_types": [] @@ -18212,10 +18555,11 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functioncallExternalFunction(addressexternalContractAddress)public{IDummyContractdummyContract=IDummyContract(externalContractAddress);trydummyContract.dummyFunction(){emitExternalCallSuccessful();}catch(bytesmemory){emitExternalCallFailed(\"External contract failed\");}}" }, { - "id": 394, + "id": 395, "name": "integerToString", "node_type": 42, "kind": 41, @@ -18233,10 +18577,10 @@ "start": 3537, "end": 3551, "length": 15, - "parent_index": 394 + "parent_index": 395 }, "body": { - "id": 401, + "id": 402, "node_type": 46, "kind": 0, "src": { @@ -18245,12 +18589,12 @@ "start": 3609, "end": 4071, "length": 463, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 402, + "id": 403, "node_type": 48, "src": { "line": 139, @@ -18258,10 +18602,10 @@ "start": 3628, "end": 3675, "length": 48, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 403, + "id": 404, "is_constant": false, "is_pure": false, "node_type": 19, @@ -18271,11 +18615,11 @@ "start": 3632, "end": 3638, "length": 7, - "parent_index": 402 + "parent_index": 403 }, "operator": 11, "left_expression": { - "id": 404, + "id": 405, "node_type": 16, "src": { "line": 139, @@ -18283,7 +18627,7 @@ "start": 3632, "end": 3633, "length": 2, - "parent_index": 403 + "parent_index": 404 }, "name": "_i", "type_description": { @@ -18291,11 +18635,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false + "referenced_declaration": 405, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 405, + "id": 406, "node_type": 17, "kind": 49, "value": "0", @@ -18306,7 +18651,7 @@ "start": 3638, "end": 3638, "length": 1, - "parent_index": 403 + "parent_index": 404 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -18314,7 +18659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -18322,7 +18668,7 @@ } }, "body": { - "id": 406, + "id": 407, "node_type": 46, "kind": 0, "src": { @@ -18331,12 +18677,12 @@ "start": 3641, "end": 3675, "length": 35, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 407, + "id": 408, "node_type": 47, "src": { "line": 140, @@ -18344,11 +18690,11 @@ "start": 3655, "end": 3665, "length": 11, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 408, + "id": 409, "node_type": 17, "kind": 50, "value": "0", @@ -18359,7 +18705,7 @@ "start": 3662, "end": 3664, "length": 3, - "parent_index": 407 + "parent_index": 408 }, "type_description": { "type_identifier": "t_string_literal", @@ -18367,14 +18713,15 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] } }, { - "id": 409, + "id": 410, "node_type": 44, "src": { "line": 142, @@ -18382,25 +18729,25 @@ "start": 3685, "end": 3696, "length": 12, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 410 + 411 ], "declarations": [ { - "id": 410, + "id": 411, "state_mutability": 1, "name": "j", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 142, "column": 8, "start": 3685, "end": 3690, "length": 6, - "parent_index": 409 + "parent_index": 410 }, "name_location": { "line": 142, @@ -18408,12 +18755,12 @@ "start": 3690, "end": 3690, "length": 1, - "parent_index": 410 + "parent_index": 411 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 411, + "id": 412, "node_type": 30, "src": { "line": 142, @@ -18421,7 +18768,7 @@ "start": 3685, "end": 3688, "length": 4, - "parent_index": 410 + "parent_index": 411 }, "name": "uint", "referenced_declaration": 0, @@ -18434,7 +18781,7 @@ } ], "initial_value": { - "id": 412, + "id": 413, "node_type": 16, "src": { "line": 142, @@ -18442,7 +18789,7 @@ "start": 3694, "end": 3695, "length": 2, - "parent_index": 409 + "parent_index": 410 }, "name": "_i", "type_description": { @@ -18450,12 +18797,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 412, - "is_pure": false + "referenced_declaration": 413, + "is_pure": false, + "text": "_i" } }, { - "id": 413, + "id": 414, "node_type": 44, "src": { "line": 143, @@ -18463,25 +18811,25 @@ "start": 3706, "end": 3714, "length": 9, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 414 + 415 ], "declarations": [ { - "id": 414, + "id": 415, "state_mutability": 1, "name": "len", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 143, "column": 8, "start": 3706, "end": 3713, "length": 8, - "parent_index": 413 + "parent_index": 414 }, "name_location": { "line": 143, @@ -18489,12 +18837,12 @@ "start": 3711, "end": 3713, "length": 3, - "parent_index": 414 + "parent_index": 415 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 415, + "id": 416, "node_type": 30, "src": { "line": 143, @@ -18502,7 +18850,7 @@ "start": 3706, "end": 3709, "length": 4, - "parent_index": 414 + "parent_index": 415 }, "name": "uint", "referenced_declaration": 0, @@ -18525,10 +18873,10 @@ "start": 3733, "end": 3798, "length": 66, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 416, + "id": 417, "is_constant": false, "is_pure": false, "node_type": 19, @@ -18541,7 +18889,7 @@ }, "operator": 12, "left_expression": { - "id": 417, + "id": 418, "node_type": 16, "src": { "line": 145, @@ -18549,7 +18897,7 @@ "start": 3740, "end": 3740, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "name": "j", "type_description": { @@ -18557,11 +18905,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 418, + "id": 419, "node_type": 17, "kind": 49, "value": "0", @@ -18572,7 +18921,7 @@ "start": 3745, "end": 3745, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -18580,7 +18929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -18588,7 +18938,7 @@ } }, "body": { - "id": 419, + "id": 420, "node_type": 46, "kind": 0, "src": { @@ -18601,7 +18951,7 @@ "implemented": true, "statements": [ { - "id": 420, + "id": 421, "node_type": 18, "kind": 105, "src": { @@ -18613,7 +18963,7 @@ }, "operator": 27, "expression": { - "id": 421, + "id": 422, "node_type": 16, "src": { "line": 146, @@ -18621,7 +18971,7 @@ "start": 3762, "end": 3764, "length": 3, - "parent_index": 420 + "parent_index": 421 }, "name": "len", "type_description": { @@ -18629,8 +18979,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_uint256", @@ -18643,7 +18994,7 @@ "l_value_requested": false }, { - "id": 422, + "id": 423, "node_type": 27, "src": { "line": 147, @@ -18651,10 +19002,10 @@ "start": 3781, "end": 3788, "length": 8, - "parent_index": 419 + "parent_index": 420 }, "expression": { - "id": 423, + "id": 424, "node_type": 27, "src": { "line": 147, @@ -18662,11 +19013,11 @@ "start": 3781, "end": 3787, "length": 7, - "parent_index": 422 + "parent_index": 423 }, "operator": 4, "left_expression": { - "id": 424, + "id": 425, "node_type": 16, "src": { "line": 147, @@ -18674,7 +19025,7 @@ "start": 3781, "end": 3781, "length": 1, - "parent_index": 423 + "parent_index": 424 }, "name": "j", "type_description": { @@ -18682,11 +19033,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 425, + "id": 426, "node_type": 17, "kind": 49, "value": "10", @@ -18697,7 +19049,7 @@ "start": 3786, "end": 3787, "length": 2, - "parent_index": 423 + "parent_index": 424 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -18705,7 +19057,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -18715,13 +19068,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "j/=10;" } ] } }, { - "id": 426, + "id": 427, "node_type": 44, "src": { "line": 149, @@ -18729,25 +19083,25 @@ "start": 3808, "end": 3842, "length": 35, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 427 + 428 ], "declarations": [ { - "id": 427, + "id": 428, "state_mutability": 1, "name": "bstr", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 149, "column": 8, "start": 3808, "end": 3824, "length": 17, - "parent_index": 426 + "parent_index": 427 }, "name_location": { "line": 149, @@ -18755,12 +19109,12 @@ "start": 3821, "end": 3824, "length": 4, - "parent_index": 427 + "parent_index": 428 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 428, + "id": 429, "node_type": 30, "src": { "line": 149, @@ -18768,7 +19122,7 @@ "start": 3808, "end": 3812, "length": 5, - "parent_index": 427 + "parent_index": 428 }, "name": "bytes", "referenced_declaration": 0, @@ -18781,7 +19135,7 @@ } ], "initial_value": { - "id": 429, + "id": 430, "node_type": 24, "kind": 24, "src": { @@ -18790,7 +19144,7 @@ "start": 3828, "end": 3841, "length": 14, - "parent_index": 426 + "parent_index": 427 }, "argument_types": [ { @@ -18800,7 +19154,7 @@ ], "arguments": [ { - "id": 432, + "id": 433, "node_type": 16, "src": { "line": 149, @@ -18808,7 +19162,7 @@ "start": 3838, "end": 3840, "length": 3, - "parent_index": 429 + "parent_index": 430 }, "name": "len", "type_description": { @@ -18816,12 +19170,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" } ], "expression": { - "id": 430, + "id": 431, "node_type": 25, "src": { "line": 149, @@ -18829,11 +19184,11 @@ "start": 3828, "end": 3836, "length": 9, - "parent_index": 429 + "parent_index": 430 }, "argument_types": [], "type_name": { - "id": 431, + "id": 432, "node_type": 30, "src": { "line": 149, @@ -18841,7 +19196,7 @@ "start": 3832, "end": 3836, "length": 5, - "parent_index": 430 + "parent_index": 431 }, "name": "bytes", "referenced_declaration": 0, @@ -18862,7 +19217,7 @@ } }, { - "id": 433, + "id": 434, "node_type": 44, "src": { "line": 150, @@ -18870,25 +19225,25 @@ "start": 3852, "end": 3868, "length": 17, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 434 + 435 ], "declarations": [ { - "id": 434, + "id": 435, "state_mutability": 1, "name": "k", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 150, "column": 8, "start": 3852, "end": 3857, "length": 6, - "parent_index": 433 + "parent_index": 434 }, "name_location": { "line": 150, @@ -18896,12 +19251,12 @@ "start": 3857, "end": 3857, "length": 1, - "parent_index": 434 + "parent_index": 435 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 435, + "id": 436, "node_type": 30, "src": { "line": 150, @@ -18909,7 +19264,7 @@ "start": 3852, "end": 3855, "length": 4, - "parent_index": 434 + "parent_index": 435 }, "name": "uint", "referenced_declaration": 0, @@ -18922,7 +19277,7 @@ } ], "initial_value": { - "id": 436, + "id": 437, "is_constant": false, "is_pure": false, "node_type": 19, @@ -18932,11 +19287,11 @@ "start": 3861, "end": 3867, "length": 7, - "parent_index": 433 + "parent_index": 434 }, "operator": 2, "left_expression": { - "id": 437, + "id": 438, "node_type": 16, "src": { "line": 150, @@ -18944,7 +19299,7 @@ "start": 3861, "end": 3863, "length": 3, - "parent_index": 436 + "parent_index": 437 }, "name": "len", "type_description": { @@ -18952,11 +19307,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "right_expression": { - "id": 438, + "id": 439, "node_type": 17, "kind": 49, "value": "1", @@ -18967,7 +19323,7 @@ "start": 3867, "end": 3867, "length": 1, - "parent_index": 436 + "parent_index": 437 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -18975,7 +19331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -18984,7 +19341,7 @@ } }, { - "id": 439, + "id": 440, "node_type": 76, "src": { "line": 152, @@ -18992,10 +19349,10 @@ "start": 3887, "end": 4036, "length": 150, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 440, + "id": 441, "is_constant": false, "is_pure": false, "node_type": 19, @@ -19005,11 +19362,11 @@ "start": 4028, "end": 4034, "length": 7, - "parent_index": 439 + "parent_index": 440 }, "operator": 12, "left_expression": { - "id": 441, + "id": 442, "node_type": 16, "src": { "line": 156, @@ -19017,7 +19374,7 @@ "start": 4028, "end": 4029, "length": 2, - "parent_index": 440 + "parent_index": 441 }, "name": "_i", "type_description": { @@ -19025,11 +19382,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 441, - "is_pure": false + "referenced_declaration": 442, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 442, + "id": 443, "node_type": 17, "kind": 49, "value": "0", @@ -19040,7 +19398,7 @@ "start": 4034, "end": 4034, "length": 1, - "parent_index": 440 + "parent_index": 441 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -19048,7 +19406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -19056,7 +19415,7 @@ } }, "body": { - "id": 443, + "id": 444, "node_type": 46, "kind": 0, "src": { @@ -19065,12 +19424,12 @@ "start": 3890, "end": 4011, "length": 122, - "parent_index": 439 + "parent_index": 440 }, "implemented": true, "statements": [ { - "id": 444, + "id": 445, "node_type": 27, "src": { "line": 153, @@ -19078,10 +19437,10 @@ "start": 3940, "end": 3979, "length": 40, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 445, + "id": 446, "node_type": 27, "src": { "line": 153, @@ -19089,11 +19448,11 @@ "start": 3940, "end": 3978, "length": 39, - "parent_index": 444 + "parent_index": 445 }, "operator": 11, "left_expression": { - "id": 446, + "id": 447, "node_type": 22, "src": { "line": 153, @@ -19101,10 +19460,10 @@ "start": 3940, "end": 3948, "length": 9, - "parent_index": 445 + "parent_index": 446 }, "index_expression": { - "id": 447, + "id": 448, "node_type": 16, "src": { "line": 153, @@ -19112,7 +19471,7 @@ "start": 3940, "end": 3943, "length": 4, - "parent_index": 446 + "parent_index": 447 }, "name": "bstr", "type_description": { @@ -19120,11 +19479,12 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" }, "base_expression": { - "id": 448, + "id": 449, "node_type": 18, "kind": 105, "src": { @@ -19133,11 +19493,11 @@ "start": 3945, "end": 3947, "length": 3, - "parent_index": 439 + "parent_index": 440 }, "operator": 28, "expression": { - "id": 449, + "id": 450, "node_type": 16, "src": { "line": 153, @@ -19145,7 +19505,7 @@ "start": 3945, "end": 3945, "length": 1, - "parent_index": 448 + "parent_index": 449 }, "name": "k", "type_description": { @@ -19153,8 +19513,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 433, - "is_pure": false + "referenced_declaration": 434, + "is_pure": false, + "text": "k" }, "type_description": { "type_identifier": "t_uint256", @@ -19182,7 +19543,7 @@ } }, "right_expression": { - "id": 450, + "id": 451, "node_type": 24, "kind": 24, "src": { @@ -19191,7 +19552,7 @@ "start": 3952, "end": 3978, "length": 27, - "parent_index": 445 + "parent_index": 446 }, "argument_types": [ { @@ -19201,7 +19562,7 @@ ], "arguments": [ { - "id": 453, + "id": 454, "node_type": 24, "kind": 24, "src": { @@ -19210,7 +19571,7 @@ "start": 3959, "end": 3977, "length": 19, - "parent_index": 450 + "parent_index": 451 }, "argument_types": [ { @@ -19220,7 +19581,7 @@ ], "arguments": [ { - "id": 456, + "id": 457, "is_constant": false, "is_pure": false, "node_type": 19, @@ -19230,11 +19591,11 @@ "start": 3965, "end": 3976, "length": 12, - "parent_index": 453 + "parent_index": 454 }, "operator": 1, "left_expression": { - "id": 457, + "id": 458, "node_type": 17, "kind": 49, "value": "48", @@ -19245,7 +19606,7 @@ "start": 3965, "end": 3966, "length": 2, - "parent_index": 456 + "parent_index": 457 }, "type_description": { "type_identifier": "t_rational_48_by_1", @@ -19253,10 +19614,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { - "id": 458, + "id": 459, "is_constant": false, "is_pure": false, "node_type": 19, @@ -19266,11 +19628,11 @@ "start": 3970, "end": 3976, "length": 7, - "parent_index": 456 + "parent_index": 457 }, "operator": 5, "left_expression": { - "id": 459, + "id": 460, "node_type": 16, "src": { "line": 153, @@ -19278,7 +19640,7 @@ "start": 3970, "end": 3971, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "name": "_i", "type_description": { @@ -19286,11 +19648,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 460, + "id": 461, "node_type": 17, "kind": 49, "value": "10", @@ -19301,7 +19664,7 @@ "start": 3975, "end": 3976, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -19309,7 +19672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -19323,7 +19687,7 @@ } ], "expression": { - "id": 454, + "id": 455, "node_type": 16, "src": { "line": 153, @@ -19331,11 +19695,11 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 453 + "parent_index": 454 }, "name": "uint8", "type_name": { - "id": 455, + "id": 456, "node_type": 30, "src": { "line": 153, @@ -19343,7 +19707,7 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 454 + "parent_index": 455 }, "name": "uint8", "referenced_declaration": 0, @@ -19364,7 +19728,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -19373,7 +19738,7 @@ } ], "expression": { - "id": 451, + "id": 452, "node_type": 16, "src": { "line": 153, @@ -19381,11 +19746,11 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 450 + "parent_index": 451 }, "name": "bytes1", "type_name": { - "id": 452, + "id": 453, "node_type": 30, "src": { "line": 153, @@ -19393,7 +19758,7 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 451 + "parent_index": 452 }, "name": "bytes1", "referenced_declaration": 0, @@ -19414,7 +19779,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -19429,10 +19795,11 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "bstr[k--]=bytes1(uint8(48+_i%10));" }, { - "id": 461, + "id": 462, "node_type": 27, "src": { "line": 154, @@ -19440,10 +19807,10 @@ "start": 3993, "end": 4001, "length": 9, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 462, + "id": 463, "node_type": 27, "src": { "line": 154, @@ -19451,11 +19818,11 @@ "start": 3993, "end": 4000, "length": 8, - "parent_index": 461 + "parent_index": 462 }, "operator": 4, "left_expression": { - "id": 463, + "id": 464, "node_type": 16, "src": { "line": 154, @@ -19463,7 +19830,7 @@ "start": 3993, "end": 3994, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "name": "_i", "type_description": { @@ -19471,11 +19838,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 464, + "id": 465, "node_type": 17, "kind": 49, "value": "10", @@ -19486,7 +19854,7 @@ "start": 3999, "end": 4000, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -19494,7 +19862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -19504,13 +19873,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_i/=10;" } ] } }, { - "id": 465, + "id": 466, "node_type": 47, "src": { "line": 157, @@ -19518,11 +19888,11 @@ "start": 4046, "end": 4065, "length": 20, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 466, + "id": 467, "node_type": 24, "kind": 24, "src": { @@ -19531,7 +19901,7 @@ "start": 4053, "end": 4064, "length": 12, - "parent_index": 465 + "parent_index": 466 }, "argument_types": [ { @@ -19541,7 +19911,7 @@ ], "arguments": [ { - "id": 469, + "id": 470, "node_type": 16, "src": { "line": 157, @@ -19549,7 +19919,7 @@ "start": 4060, "end": 4063, "length": 4, - "parent_index": 466 + "parent_index": 467 }, "name": "bstr", "type_description": { @@ -19557,12 +19927,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" } ], "expression": { - "id": 467, + "id": 468, "node_type": 16, "src": { "line": 157, @@ -19570,11 +19941,11 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 466 + "parent_index": 467 }, "name": "string", "type_name": { - "id": 468, + "id": 469, "node_type": 30, "src": { "line": 157, @@ -19582,7 +19953,7 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 467 + "parent_index": 468 }, "name": "string", "referenced_declaration": 0, @@ -19603,7 +19974,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -19620,7 +19992,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 395, + "id": 396, "node_type": 43, "src": { "line": 136, @@ -19628,11 +20000,11 @@ "start": 3553, "end": 3559, "length": 7, - "parent_index": 394 + "parent_index": 395 }, "parameters": [ { - "id": 396, + "id": 397, "node_type": 44, "src": { "line": 136, @@ -19640,12 +20012,12 @@ "start": 3553, "end": 3559, "length": 7, - "parent_index": 395 + "parent_index": 396 }, - "scope": 394, + "scope": 395, "name": "_i", "type_name": { - "id": 397, + "id": 398, "node_type": 30, "src": { "line": 136, @@ -19653,7 +20025,7 @@ "start": 3553, "end": 3556, "length": 4, - "parent_index": 396 + "parent_index": 397 }, "name": "uint", "referenced_declaration": 0, @@ -19679,7 +20051,7 @@ ] }, "return_parameters": { - "id": 398, + "id": 399, "node_type": 43, "src": { "line": 137, @@ -19687,11 +20059,11 @@ "start": 3594, "end": 3606, "length": 13, - "parent_index": 394 + "parent_index": 395 }, "parameters": [ { - "id": 399, + "id": 400, "node_type": 44, "src": { "line": 137, @@ -19699,12 +20071,12 @@ "start": 3594, "end": 3606, "length": 13, - "parent_index": 398 + "parent_index": 399 }, - "scope": 394, + "scope": 395, "name": "", "type_name": { - "id": 400, + "id": 401, "node_type": 30, "src": { "line": 137, @@ -19712,7 +20084,7 @@ "start": 3594, "end": 3599, "length": 6, - "parent_index": 399 + "parent_index": 400 }, "name": "string", "referenced_declaration": 0, @@ -19743,10 +20115,11 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionintegerToString(uint_i)internalpurereturns(stringmemory){if(_i==0){return\"0\";}uintj=_i;uintlen;while(j!=0){len++;j/=10;}bytesmemorybstr=newbytes(len);uintk=len-1;do{bstr[k--]=bytes1(uint8(48+_i%10));_i/=10;}while(_i!=0);returnstring(bstr);}" }, { - "id": 471, + "id": 472, "name": "dummyFunctionAssembly", "node_type": 42, "kind": 41, @@ -19764,10 +20137,10 @@ "start": 4087, "end": 4107, "length": 21, - "parent_index": 471 + "parent_index": 472 }, "body": { - "id": 478, + "id": 479, "node_type": 46, "kind": 0, "src": { @@ -19776,12 +20149,12 @@ "start": 4148, "end": 4232, "length": 85, - "parent_index": 471 + "parent_index": 472 }, "implemented": true, "statements": [ { - "id": 479, + "id": 480, "node_type": 89, "src": { "line": 161, @@ -19789,10 +20162,10 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 478 + "parent_index": 479 }, "body": { - "id": 480, + "id": 481, "node_type": 111, "kind": 0, "src": { @@ -19801,12 +20174,12 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 479 + "parent_index": 480 }, "implemented": false, "statements": [ { - "id": 481, + "id": 482, "node_type": 91, "src": { "line": 162, @@ -19814,11 +20187,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "statements": [ { - "id": 482, + "id": 483, "node_type": 92, "src": { "line": 162, @@ -19826,11 +20199,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "variable_names": [ { - "id": 483, + "id": 484, "node_type": 107, "src": { "line": 162, @@ -19838,13 +20211,13 @@ "start": 4181, "end": 4186, "length": 6, - "parent_index": 482 + "parent_index": 483 }, "name": "result" } ], "value": { - "id": 484, + "id": 485, "node_type": 123, "src": { "line": 162, @@ -19852,10 +20225,10 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 482 + "parent_index": 483 }, "expression": { - "id": 485, + "id": 486, "node_type": 110, "src": { "line": 162, @@ -19863,10 +20236,10 @@ "start": 4191, "end": 4199, "length": 9, - "parent_index": 479 + "parent_index": 480 }, "function_name": { - "id": 486, + "id": 487, "node_type": 107, "src": { "line": 162, @@ -19874,13 +20247,13 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 485 + "parent_index": 486 }, "name": "add" }, "arguments": [ { - "id": 487, + "id": 488, "node_type": 109, "kind": 115, "src": { @@ -19889,13 +20262,13 @@ "start": 4195, "end": 4195, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "1", "hex_value": "" }, { - "id": 488, + "id": 489, "node_type": 109, "kind": 115, "src": { @@ -19904,7 +20277,7 @@ "start": 4198, "end": 4198, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "2", "hex_value": "" @@ -19927,7 +20300,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 472, + "id": 473, "node_type": 43, "src": { "line": 160, @@ -19935,11 +20308,11 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 471 + "parent_index": 472 }, "parameters": [ { - "id": 473, + "id": 474, "node_type": 44, "src": { "line": 160, @@ -19947,12 +20320,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 472 + "parent_index": 473 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 474, + "id": 475, "node_type": 30, "src": { "line": 160, @@ -19960,7 +20333,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 473 + "parent_index": 474 }, "name": "uint256", "referenced_declaration": 0, @@ -19986,7 +20359,7 @@ ] }, "return_parameters": { - "id": 475, + "id": 476, "node_type": 43, "src": { "line": 160, @@ -19994,11 +20367,11 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 471 + "parent_index": 472 }, "parameters": [ { - "id": 476, + "id": 477, "node_type": 44, "src": { "line": 160, @@ -20006,12 +20379,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 475 + "parent_index": 476 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 477, + "id": 478, "node_type": 30, "src": { "line": 160, @@ -20019,7 +20392,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 476 + "parent_index": 477 }, "name": "uint256", "referenced_declaration": 0, @@ -20050,7 +20423,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondummyFunctionAssembly()publicpurereturns(uint256result){assembly{result:=add(1,2)}}" } ], "linearized_base_contracts": [ @@ -20189,7 +20563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "12345" } }, "id": 26, @@ -20223,7 +20598,7 @@ }, "scope": 24, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "visibility": 3, @@ -20231,7 +20606,7 @@ "mutability": 1, "type_name": { "id": 41, - "node_type": 0, + "node_type": 69, "src": { "line": 16, "column": 4, @@ -20268,7 +20643,7 @@ }, "value_type": { "id": 43, - "node_type": 30, + "node_type": 69, "src": { "line": 16, "column": 23, @@ -20278,10 +20653,10 @@ "parent_index": 41 }, "name": "Player", - "referenced_declaration": 0, + "referenced_declaration": 34, "type_description": { - "type_identifier": "t_Player", - "type_string": "Player" + "type_identifier": "t_struct$_Lottery_Player_$34", + "type_string": "struct Lottery.Player" } }, "value_name_location": { @@ -20292,9 +20667,31 @@ "length": 6, "parent_index": 41 }, - "referenced_declaration": 0, + "path_node": { + "id": 44, + "name": "Player", + "node_type": 52, + "referenced_declaration": 34, + "src": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 41 + }, + "name_location": { + "line": 16, + "column": 23, + "start": 359, + "end": 364, + "length": 6, + "parent_index": 41 + } + }, + "referenced_declaration": 34, "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" } }, @@ -20310,13 +20707,13 @@ "state_mutability": 1, "type": "mapping(address=\u003ePlayer)", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" } }, { "ast": { - "id": 45, + "id": 46, "name": "playerAddresses", "is_constant": false, "is_state_variable": true, @@ -20338,7 +20735,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 46, + "id": 47, "node_type": 16, "src": { "line": 17, @@ -20346,7 +20743,7 @@ "start": 387, "end": 393, "length": 7, - "parent_index": 45 + "parent_index": 46 }, "name": "address", "referenced_declaration": 0, @@ -20357,7 +20754,7 @@ }, "initial_value": null }, - "id": 45, + "id": 46, "contract_id": 24, "name": "playerAddresses", "node_type": 44, @@ -20373,7 +20770,7 @@ }, { "ast": { - "id": 48, + "id": 49, "name": "state", "is_constant": false, "is_state_variable": true, @@ -20395,7 +20792,7 @@ "storage_location": 1, "mutability": 1, "type_name": { - "id": 49, + "id": 50, "node_type": 69, "src": { "line": 19, @@ -20403,10 +20800,10 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 48 + "parent_index": 49 }, "path_node": { - "id": 50, + "id": 51, "name": "LotteryState", "node_type": 52, "referenced_declaration": 30, @@ -20416,7 +20813,7 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 49 + "parent_index": 50 }, "name_location": { "line": 19, @@ -20424,7 +20821,7 @@ "start": 426, "end": 437, "length": 12, - "parent_index": 49 + "parent_index": 50 } }, "referenced_declaration": 30, @@ -20435,7 +20832,7 @@ }, "initial_value": null }, - "id": 48, + "id": 49, "contract_id": 24, "name": "state", "node_type": 44, @@ -20837,7 +21234,7 @@ "events": [ { "ast": { - "id": 52, + "id": 53, "node_type": 57, "src": { "line": 21, @@ -20848,7 +21245,7 @@ "parent_index": 24 }, "parameters": { - "id": 53, + "id": 54, "node_type": 43, "src": { "line": 21, @@ -20856,11 +21253,11 @@ "start": 458, "end": 490, "length": 33, - "parent_index": 52 + "parent_index": 53 }, "parameters": [ { - "id": 54, + "id": 55, "node_type": 44, "src": { "line": 21, @@ -20868,12 +21265,12 @@ "start": 477, "end": 488, "length": 12, - "parent_index": 53 + "parent_index": 54 }, - "scope": 52, + "scope": 53, "name": "addr", "type_name": { - "id": 55, + "id": 56, "node_type": 30, "src": { "line": 21, @@ -20881,7 +21278,7 @@ "start": 477, "end": 483, "length": 7, - "parent_index": 54 + "parent_index": 55 }, "name": "address", "state_mutability": 4, @@ -20910,18 +21307,18 @@ "name": "PlayerJoined", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "type_string": "event Lottery.PlayerJoined" } }, - "id": 52, + "id": 53, "node_type": 57, "name": "PlayerJoined", "anonymous": false, "parameters": [ { "ast": { - "id": 54, + "id": 55, "node_type": 44, "src": { "line": 21, @@ -20929,12 +21326,12 @@ "start": 477, "end": 488, "length": 12, - "parent_index": 53 + "parent_index": 54 }, - "scope": 52, + "scope": 53, "name": "addr", "type_name": { - "id": 55, + "id": 56, "node_type": 30, "src": { "line": 21, @@ -20942,7 +21339,7 @@ "start": 477, "end": 483, "length": 7, - "parent_index": 54 + "parent_index": 55 }, "name": "address", "state_mutability": 4, @@ -20960,7 +21357,7 @@ "type_string": "address" } }, - "id": 54, + "id": 55, "node_type": 44, "name": "addr", "type": "address", @@ -20974,7 +21371,7 @@ }, { "ast": { - "id": 57, + "id": 58, "node_type": 57, "src": { "line": 22, @@ -20985,7 +21382,7 @@ "parent_index": 24 }, "parameters": { - "id": 58, + "id": 59, "node_type": 43, "src": { "line": 22, @@ -20993,11 +21390,11 @@ "start": 496, "end": 533, "length": 38, - "parent_index": 57 + "parent_index": 58 }, "parameters": [ { - "id": 59, + "id": 60, "node_type": 44, "src": { "line": 22, @@ -21005,12 +21402,12 @@ "start": 518, "end": 531, "length": 14, - "parent_index": 58 + "parent_index": 59 }, - "scope": 57, + "scope": 58, "name": "winner", "type_name": { - "id": 60, + "id": 61, "node_type": 30, "src": { "line": 22, @@ -21018,7 +21415,7 @@ "start": 518, "end": 524, "length": 7, - "parent_index": 59 + "parent_index": 60 }, "name": "address", "state_mutability": 4, @@ -21047,18 +21444,18 @@ "name": "LotteryFinished", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "type_string": "event Lottery.LotteryFinished" } }, - "id": 57, + "id": 58, "node_type": 57, "name": "LotteryFinished", "anonymous": false, "parameters": [ { "ast": { - "id": 59, + "id": 60, "node_type": 44, "src": { "line": 22, @@ -21066,12 +21463,12 @@ "start": 518, "end": 531, "length": 14, - "parent_index": 58 + "parent_index": 59 }, - "scope": 57, + "scope": 58, "name": "winner", "type_name": { - "id": 60, + "id": 61, "node_type": 30, "src": { "line": 22, @@ -21079,7 +21476,7 @@ "start": 518, "end": 524, "length": 7, - "parent_index": 59 + "parent_index": 60 }, "name": "address", "state_mutability": 4, @@ -21097,7 +21494,7 @@ "type_string": "address" } }, - "id": 59, + "id": 60, "node_type": 44, "name": "winner", "type": "address", @@ -21111,7 +21508,7 @@ }, { "ast": { - "id": 62, + "id": 63, "node_type": 57, "src": { "line": 23, @@ -21122,7 +21519,7 @@ "parent_index": 24 }, "parameters": { - "id": 63, + "id": 64, "node_type": 43, "src": { "line": 23, @@ -21130,7 +21527,7 @@ "start": 539, "end": 569, "length": 31, - "parent_index": 62 + "parent_index": 63 }, "parameters": [], "parameter_types": [] @@ -21138,11 +21535,11 @@ "name": "ExternalCallSuccessful", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "type_string": "event Lottery.ExternalCallSuccessful" } }, - "id": 62, + "id": 63, "node_type": 57, "name": "ExternalCallSuccessful", "anonymous": false, @@ -21150,7 +21547,7 @@ }, { "ast": { - "id": 65, + "id": 66, "node_type": 57, "src": { "line": 24, @@ -21161,7 +21558,7 @@ "parent_index": 24 }, "parameters": { - "id": 66, + "id": 67, "node_type": 43, "src": { "line": 24, @@ -21169,11 +21566,11 @@ "start": 575, "end": 614, "length": 40, - "parent_index": 65 + "parent_index": 66 }, "parameters": [ { - "id": 67, + "id": 68, "node_type": 44, "src": { "line": 24, @@ -21181,12 +21578,12 @@ "start": 600, "end": 612, "length": 13, - "parent_index": 66 + "parent_index": 67 }, - "scope": 65, + "scope": 66, "name": "reason", "type_name": { - "id": 68, + "id": 69, "node_type": 30, "src": { "line": 24, @@ -21194,7 +21591,7 @@ "start": 600, "end": 605, "length": 6, - "parent_index": 67 + "parent_index": 68 }, "name": "string", "referenced_declaration": 0, @@ -21222,18 +21619,18 @@ "name": "ExternalCallFailed", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "type_string": "event Lottery.ExternalCallFailed" } }, - "id": 65, + "id": 66, "node_type": 57, "name": "ExternalCallFailed", "anonymous": false, "parameters": [ { "ast": { - "id": 67, + "id": 68, "node_type": 44, "src": { "line": 24, @@ -21241,12 +21638,12 @@ "start": 600, "end": 612, "length": 13, - "parent_index": 66 + "parent_index": 67 }, - "scope": 65, + "scope": 66, "name": "reason", "type_name": { - "id": 68, + "id": 69, "node_type": 30, "src": { "line": 24, @@ -21254,7 +21651,7 @@ "start": 600, "end": 605, "length": 6, - "parent_index": 67 + "parent_index": 68 }, "name": "string", "referenced_declaration": 0, @@ -21271,7 +21668,7 @@ "type_string": "string" } }, - "id": 67, + "id": 68, "node_type": 44, "name": "reason", "type": "string", @@ -21287,7 +21684,7 @@ "errors": [ { "ast": { - "id": 70, + "id": 71, "node_type": 77, "src": { "line": 27, @@ -21304,10 +21701,10 @@ "start": 655, "end": 666, "length": 12, - "parent_index": 70 + "parent_index": 71 }, "parameters": { - "id": 71, + "id": 72, "node_type": 43, "src": { "line": 27, @@ -21315,28 +21712,28 @@ "start": 649, "end": 669, "length": 21, - "parent_index": 70 + "parent_index": 71 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidState_$70", + "type_identifier": "t_error$_Lottery_InvalidState_$71", "type_string": "error Lottery.InvalidState" } }, - "id": 70, + "id": 71, "node_type": 77, "name": "InvalidState", "parameters": [], "type_description": { - "type_identifier": "t_error$_Lottery_InvalidState_$70", + "type_identifier": "t_error$_Lottery_InvalidState_$71", "type_string": "error Lottery.InvalidState" } }, { "ast": { - "id": 73, + "id": 74, "node_type": 77, "src": { "line": 28, @@ -21353,10 +21750,10 @@ "start": 681, "end": 702, "length": 22, - "parent_index": 73 + "parent_index": 74 }, "parameters": { - "id": 74, + "id": 75, "node_type": 43, "src": { "line": 28, @@ -21364,28 +21761,28 @@ "start": 675, "end": 705, "length": 31, - "parent_index": 73 + "parent_index": 74 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "type_string": "error Lottery.OwnerCannotParticipate" } }, - "id": 73, + "id": 74, "node_type": 77, "name": "OwnerCannotParticipate", "parameters": [], "type_description": { - "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "type_string": "error Lottery.OwnerCannotParticipate" } }, { "ast": { - "id": 76, + "id": 77, "node_type": 77, "src": { "line": 29, @@ -21402,10 +21799,10 @@ "start": 717, "end": 731, "length": 15, - "parent_index": 76 + "parent_index": 77 }, "parameters": { - "id": 77, + "id": 78, "node_type": 43, "src": { "line": 29, @@ -21413,28 +21810,28 @@ "start": 711, "end": 734, "length": 24, - "parent_index": 76 + "parent_index": 77 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" } }, - "id": 76, + "id": 77, "node_type": 77, "name": "NoValueProvided", "parameters": [], "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" } }, { "ast": { - "id": 79, + "id": 80, "node_type": 77, "src": { "line": 30, @@ -21451,10 +21848,10 @@ "start": 746, "end": 758, "length": 13, - "parent_index": 79 + "parent_index": 80 }, "parameters": { - "id": 80, + "id": 81, "node_type": 43, "src": { "line": 30, @@ -21462,28 +21859,28 @@ "start": 740, "end": 761, "length": 22, - "parent_index": 79 + "parent_index": 80 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" } }, - "id": 79, + "id": 80, "node_type": 77, "name": "InvalidWinner", "parameters": [], "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" } }, { "ast": { - "id": 82, + "id": 83, "node_type": 77, "src": { "line": 31, @@ -21500,10 +21897,10 @@ "start": 773, "end": 792, "length": 20, - "parent_index": 82 + "parent_index": 83 }, "parameters": { - "id": 83, + "id": 84, "node_type": 43, "src": { "line": 31, @@ -21511,28 +21908,28 @@ "start": 767, "end": 795, "length": 29, - "parent_index": 82 + "parent_index": 83 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" } }, - "id": 82, + "id": 83, "node_type": 77, "name": "InvalidPlayerAddress", "parameters": [], "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" } }, { "ast": { - "id": 85, + "id": 86, "node_type": 77, "src": { "line": 32, @@ -21549,10 +21946,10 @@ "start": 807, "end": 822, "length": 16, - "parent_index": 85 + "parent_index": 86 }, "parameters": { - "id": 86, + "id": 87, "node_type": 43, "src": { "line": 32, @@ -21560,29 +21957,29 @@ "start": 801, "end": 825, "length": 25, - "parent_index": 85 + "parent_index": 86 }, "parameters": [], "parameter_types": [] }, "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" } }, - "id": 85, + "id": 86, "node_type": 77, "name": "OnlyOwnerCanCall", "parameters": [], "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" } } ], "constructor": { "ast": { - "id": 127, + "id": 128, "node_type": 42, "src": { "line": 51, @@ -21598,7 +21995,7 @@ "implemented": true, "modifiers": [], "parameters": { - "id": 128, + "id": 129, "node_type": 43, "src": { "line": 51, @@ -21606,13 +22003,13 @@ "start": 1178, "end": 1238, "length": 61, - "parent_index": 127 + "parent_index": 128 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 129, + "id": 130, "node_type": 43, "src": { "line": 51, @@ -21620,14 +22017,14 @@ "start": 1178, "end": 1238, "length": 61, - "parent_index": 127 + "parent_index": 128 }, "parameters": [], "parameter_types": [] }, "scope": 24, "body": { - "id": 130, + "id": 131, "node_type": 46, "kind": 0, "src": { @@ -21636,12 +22033,12 @@ "start": 1192, "end": 1238, "length": 47, - "parent_index": 127 + "parent_index": 128 }, "implemented": true, "statements": [ { - "id": 131, + "id": 132, "node_type": 27, "src": { "line": 52, @@ -21649,10 +22046,10 @@ "start": 1202, "end": 1232, "length": 31, - "parent_index": 130 + "parent_index": 131 }, "expression": { - "id": 132, + "id": 133, "node_type": 27, "src": { "line": 52, @@ -21660,11 +22057,11 @@ "start": 1202, "end": 1231, "length": 30, - "parent_index": 131 + "parent_index": 132 }, "operator": 11, "left_expression": { - "id": 133, + "id": 134, "node_type": 16, "src": { "line": 52, @@ -21672,7 +22069,7 @@ "start": 1202, "end": 1206, "length": 5, - "parent_index": 132 + "parent_index": 133 }, "name": "state", "type_description": { @@ -21680,11 +22077,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 134, + "id": 135, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -21696,7 +22094,7 @@ "start": 1210, "end": 1231, "length": 22, - "parent_index": 132 + "parent_index": 133 }, "member_location": { "line": 52, @@ -21704,10 +22102,10 @@ "start": 1223, "end": 1231, "length": 9, - "parent_index": 134 + "parent_index": 135 }, "expression": { - "id": 135, + "id": 136, "node_type": 16, "src": { "line": 52, @@ -21715,7 +22113,7 @@ "start": 1210, "end": 1221, "length": 12, - "parent_index": 134 + "parent_index": 135 }, "name": "LotteryState", "type_description": { @@ -21724,14 +22122,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" }, "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", @@ -21741,12 +22141,13 @@ "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "state=LotteryState.Accepting;" } ] } }, - "id": 127, + "id": 128, "node_type": 42, "kind": 11, "name": "constructor", @@ -21761,7 +22162,7 @@ "functions": [ { "ast": { - "id": 137, + "id": 138, "name": "join", "node_type": 42, "kind": 41, @@ -21779,10 +22180,10 @@ "start": 1254, "end": 1257, "length": 4, - "parent_index": 137 + "parent_index": 138 }, "body": { - "id": 146, + "id": 147, "node_type": 46, "kind": 0, "src": { @@ -21791,12 +22192,12 @@ "start": 1317, "end": 1658, "length": 342, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 147, + "id": 148, "node_type": 48, "src": { "line": 56, @@ -21804,10 +22205,10 @@ "start": 1327, "end": 1395, "length": 69, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 148, + "id": 149, "is_constant": false, "is_pure": false, "node_type": 19, @@ -21817,11 +22218,11 @@ "start": 1331, "end": 1344, "length": 14, - "parent_index": 147 + "parent_index": 148 }, "operator": 11, "left_expression": { - "id": 149, + "id": 150, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -21833,7 +22234,7 @@ "start": 1331, "end": 1339, "length": 9, - "parent_index": 148 + "parent_index": 149 }, "member_location": { "line": 56, @@ -21841,10 +22242,10 @@ "start": 1335, "end": 1339, "length": 5, - "parent_index": 149 + "parent_index": 150 }, "expression": { - "id": 150, + "id": 151, "node_type": 16, "src": { "line": 56, @@ -21852,7 +22253,7 @@ "start": 1331, "end": 1333, "length": 3, - "parent_index": 149 + "parent_index": 150 }, "name": "msg", "type_description": { @@ -21861,17 +22262,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { - "id": 151, + "id": 152, "node_type": 17, "kind": 49, "value": "0", @@ -21882,7 +22285,7 @@ "start": 1344, "end": 1344, "length": 1, - "parent_index": 148 + "parent_index": 149 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -21890,7 +22293,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -21898,7 +22302,7 @@ } }, "body": { - "id": 152, + "id": 153, "node_type": 46, "kind": 0, "src": { @@ -21907,12 +22311,12 @@ "start": 1347, "end": 1395, "length": 49, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 153, + "id": 154, "node_type": 78, "src": { "line": 57, @@ -21920,11 +22324,11 @@ "start": 1361, "end": 1385, "length": 25, - "parent_index": 137 + "parent_index": 138 }, "arguments": [], "expression": { - "id": 154, + "id": 155, "node_type": 16, "src": { "line": 57, @@ -21932,23 +22336,24 @@ "start": 1368, "end": 1382, "length": 15, - "parent_index": 153 + "parent_index": 154 }, "name": "NoValueProvided", "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" }, "overloaded_declarations": [], - "referenced_declaration": 76, - "is_pure": false + "referenced_declaration": 77, + "is_pure": false, + "text": "NoValueProvided" } } ] } }, { - "id": 155, + "id": 156, "node_type": 48, "src": { "line": 60, @@ -21956,10 +22361,10 @@ "start": 1406, "end": 1557, "length": 152, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 156, + "id": 157, "is_constant": false, "is_pure": false, "node_type": 19, @@ -21969,11 +22374,11 @@ "start": 1410, "end": 1447, "length": 38, - "parent_index": 155 + "parent_index": 156 }, "operator": 11, "left_expression": { - "id": 157, + "id": 158, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -21985,7 +22390,7 @@ "start": 1410, "end": 1433, "length": 24, - "parent_index": 156 + "parent_index": 157 }, "member_location": { "line": 60, @@ -21993,10 +22398,10 @@ "start": 1430, "end": 1433, "length": 4, - "parent_index": 157 + "parent_index": 158 }, "expression": { - "id": 158, + "id": 159, "node_type": 22, "src": { "line": 60, @@ -22004,10 +22409,10 @@ "start": 1410, "end": 1428, "length": 19, - "parent_index": 157 + "parent_index": 158 }, "index_expression": { - "id": 159, + "id": 160, "node_type": 16, "src": { "line": 60, @@ -22015,19 +22420,20 @@ "start": 1410, "end": 1416, "length": 7, - "parent_index": 158 + "parent_index": 159 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 160, + "id": 161, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22039,7 +22445,7 @@ "start": 1418, "end": 1427, "length": 10, - "parent_index": 158 + "parent_index": 159 }, "member_location": { "line": 60, @@ -22047,10 +22453,10 @@ "start": 1422, "end": 1427, "length": 6, - "parent_index": 160 + "parent_index": 161 }, "expression": { - "id": 161, + "id": 162, "node_type": 16, "src": { "line": 60, @@ -22058,7 +22464,7 @@ "start": 1418, "end": 1420, "length": 3, - "parent_index": 160 + "parent_index": 161 }, "name": "msg", "type_description": { @@ -22067,18 +22473,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -22087,19 +22495,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 162, + "id": 163, "node_type": 24, "kind": 24, "src": { @@ -22108,7 +22517,7 @@ "start": 1438, "end": 1447, "length": 10, - "parent_index": 156 + "parent_index": 157 }, "argument_types": [ { @@ -22118,7 +22527,7 @@ ], "arguments": [ { - "id": 165, + "id": 166, "node_type": 17, "kind": 49, "value": "0", @@ -22129,7 +22538,7 @@ "start": 1446, "end": 1446, "length": 1, - "parent_index": 162 + "parent_index": 163 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -22137,11 +22546,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 163, + "id": 164, "node_type": 16, "src": { "line": 60, @@ -22149,11 +22559,11 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 162 + "parent_index": 163 }, "name": "address", "type_name": { - "id": 164, + "id": 165, "node_type": 30, "src": { "line": 60, @@ -22161,7 +22571,7 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 163 + "parent_index": 164 }, "name": "address", "state_mutability": 4, @@ -22183,7 +22593,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22196,7 +22607,7 @@ } }, "body": { - "id": 166, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -22205,12 +22616,12 @@ "start": 1450, "end": 1557, "length": 108, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 167, + "id": 168, "node_type": 27, "src": { "line": 61, @@ -22218,10 +22629,10 @@ "start": 1464, "end": 1501, "length": 38, - "parent_index": 166 + "parent_index": 167 }, "expression": { - "id": 168, + "id": 169, "node_type": 27, "src": { "line": 61, @@ -22229,11 +22640,11 @@ "start": 1464, "end": 1500, "length": 37, - "parent_index": 167 + "parent_index": 168 }, "operator": 11, "left_expression": { - "id": 169, + "id": 170, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22245,7 +22656,7 @@ "start": 1464, "end": 1487, "length": 24, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -22253,10 +22664,10 @@ "start": 1484, "end": 1487, "length": 4, - "parent_index": 169 + "parent_index": 170 }, "expression": { - "id": 170, + "id": 171, "node_type": 22, "src": { "line": 61, @@ -22264,10 +22675,10 @@ "start": 1464, "end": 1482, "length": 19, - "parent_index": 169 + "parent_index": 170 }, "index_expression": { - "id": 171, + "id": 172, "node_type": 16, "src": { "line": 61, @@ -22275,19 +22686,20 @@ "start": 1464, "end": 1470, "length": 7, - "parent_index": 170 + "parent_index": 171 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 172, + "id": 173, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22299,7 +22711,7 @@ "start": 1472, "end": 1481, "length": 10, - "parent_index": 170 + "parent_index": 171 }, "member_location": { "line": 61, @@ -22307,10 +22719,10 @@ "start": 1476, "end": 1481, "length": 6, - "parent_index": 172 + "parent_index": 173 }, "expression": { - "id": 173, + "id": 174, "node_type": 16, "src": { "line": 61, @@ -22318,7 +22730,7 @@ "start": 1472, "end": 1474, "length": 3, - "parent_index": 172 + "parent_index": 173 }, "name": "msg", "type_description": { @@ -22327,18 +22739,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -22347,19 +22761,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 174, + "id": 175, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22371,7 +22786,7 @@ "start": 1491, "end": 1500, "length": 10, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -22379,10 +22794,10 @@ "start": 1495, "end": 1500, "length": 6, - "parent_index": 174 + "parent_index": 175 }, "expression": { - "id": 175, + "id": 176, "node_type": 16, "src": { "line": 61, @@ -22390,7 +22805,7 @@ "start": 1491, "end": 1493, "length": 3, - "parent_index": 174 + "parent_index": 175 }, "name": "msg", "type_description": { @@ -22399,27 +22814,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr=msg.sender;" }, { - "id": 176, + "id": 177, "node_type": 24, "kind": 24, "src": { @@ -22428,7 +22846,7 @@ "start": 1515, "end": 1546, "length": 32, - "parent_index": 166 + "parent_index": 167 }, "argument_types": [ { @@ -22438,7 +22856,7 @@ ], "arguments": [ { - "id": 179, + "id": 180, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22450,7 +22868,7 @@ "start": 1536, "end": 1545, "length": 10, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -22458,10 +22876,10 @@ "start": 1540, "end": 1545, "length": 6, - "parent_index": 179 + "parent_index": 180 }, "expression": { - "id": 180, + "id": 181, "node_type": 16, "src": { "line": 62, @@ -22469,7 +22887,7 @@ "start": 1536, "end": 1538, "length": 3, - "parent_index": 179 + "parent_index": 180 }, "name": "msg", "type_description": { @@ -22478,18 +22896,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 177, + "id": 178, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22501,7 +22921,7 @@ "start": 1515, "end": 1534, "length": 20, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -22509,10 +22929,10 @@ "start": 1531, "end": 1534, "length": 4, - "parent_index": 177 + "parent_index": 178 }, "expression": { - "id": 178, + "id": 179, "node_type": 16, "src": { "line": 62, @@ -22520,7 +22940,7 @@ "start": 1515, "end": 1529, "length": 15, - "parent_index": 177 + "parent_index": 178 }, "name": "playerAddresses", "type_description": { @@ -22528,15 +22948,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.push" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -22547,7 +22969,7 @@ } }, { - "id": 181, + "id": 182, "node_type": 27, "src": { "line": 65, @@ -22555,10 +22977,10 @@ "start": 1568, "end": 1612, "length": 45, - "parent_index": 146 + "parent_index": 147 }, "expression": { - "id": 182, + "id": 183, "node_type": 27, "src": { "line": 65, @@ -22566,11 +22988,11 @@ "start": 1568, "end": 1611, "length": 44, - "parent_index": 181 + "parent_index": 182 }, "operator": 13, "left_expression": { - "id": 183, + "id": 184, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22582,7 +23004,7 @@ "start": 1568, "end": 1598, "length": 31, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -22590,10 +23012,10 @@ "start": 1588, "end": 1598, "length": 11, - "parent_index": 183 + "parent_index": 184 }, "expression": { - "id": 184, + "id": 185, "node_type": 22, "src": { "line": 65, @@ -22601,10 +23023,10 @@ "start": 1568, "end": 1586, "length": 19, - "parent_index": 183 + "parent_index": 184 }, "index_expression": { - "id": 185, + "id": 186, "node_type": 16, "src": { "line": 65, @@ -22612,19 +23034,20 @@ "start": 1568, "end": 1574, "length": 7, - "parent_index": 184 + "parent_index": 185 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 186, + "id": 187, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22636,7 +23059,7 @@ "start": 1576, "end": 1585, "length": 10, - "parent_index": 184 + "parent_index": 185 }, "member_location": { "line": 65, @@ -22644,10 +23067,10 @@ "start": 1580, "end": 1585, "length": 6, - "parent_index": 186 + "parent_index": 187 }, "expression": { - "id": 187, + "id": 188, "node_type": 16, "src": { "line": 65, @@ -22655,7 +23078,7 @@ "start": 1576, "end": 1578, "length": 3, - "parent_index": 186 + "parent_index": 187 }, "name": "msg", "type_description": { @@ -22664,18 +23087,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -22684,19 +23109,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "ticketCount", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount" }, "right_expression": { - "id": 188, + "id": 189, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22708,7 +23134,7 @@ "start": 1603, "end": 1611, "length": 9, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -22716,10 +23142,10 @@ "start": 1607, "end": 1611, "length": 5, - "parent_index": 188 + "parent_index": 189 }, "expression": { - "id": 189, + "id": 190, "node_type": 16, "src": { "line": 65, @@ -22727,7 +23153,7 @@ "start": 1603, "end": 1605, "length": 3, - "parent_index": 188 + "parent_index": 189 }, "name": "msg", "type_description": { @@ -22736,27 +23162,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount+=msg.value;" }, { - "id": 190, + "id": 191, "node_type": 64, "src": { "line": 67, @@ -22764,11 +23193,11 @@ "start": 1623, "end": 1652, "length": 30, - "parent_index": 137 + "parent_index": 138 }, "arguments": [ { - "id": 191, + "id": 192, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22780,7 +23209,7 @@ "start": 1641, "end": 1650, "length": 10, - "parent_index": 190 + "parent_index": 191 }, "member_location": { "line": 67, @@ -22788,10 +23217,10 @@ "start": 1645, "end": 1650, "length": 6, - "parent_index": 191 + "parent_index": 192 }, "expression": { - "id": 192, + "id": 193, "node_type": 16, "src": { "line": 67, @@ -22799,7 +23228,7 @@ "start": 1641, "end": 1643, "length": 3, - "parent_index": 191 + "parent_index": 192 }, "name": "msg", "type_description": { @@ -22808,18 +23237,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 193, + "id": 194, "node_type": 16, "src": { "line": 67, @@ -22827,16 +23258,17 @@ "start": 1628, "end": 1639, "length": 12, - "parent_index": 190 + "parent_index": 191 }, "name": "PlayerJoined", "type_description": { - "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "type_string": "event Lottery.PlayerJoined" }, "overloaded_declarations": [], - "referenced_declaration": 52, - "is_pure": false + "referenced_declaration": 53, + "is_pure": false, + "text": "PlayerJoined" } } ] @@ -22847,7 +23279,7 @@ "virtual": false, "modifiers": [ { - "id": 139, + "id": 140, "name": "inState", "node_type": 72, "kind": 72, @@ -22857,7 +23289,7 @@ "start": 1276, "end": 1306, "length": 31, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [ { @@ -22867,7 +23299,7 @@ ], "arguments": [ { - "id": 141, + "id": 142, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -22879,7 +23311,7 @@ "start": 1284, "end": 1305, "length": 22, - "parent_index": 139 + "parent_index": 140 }, "member_location": { "line": 55, @@ -22887,10 +23319,10 @@ "start": 1297, "end": 1305, "length": 9, - "parent_index": 141 + "parent_index": 142 }, "expression": { - "id": 142, + "id": 143, "node_type": 16, "src": { "line": 55, @@ -22898,7 +23330,7 @@ "start": 1284, "end": 1295, "length": 12, - "parent_index": 141 + "parent_index": 142 }, "name": "LotteryState", "type_description": { @@ -22907,18 +23339,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 140, + "id": 141, "name": "inState", "node_type": 0, "src": { @@ -22927,12 +23361,12 @@ "start": 1276, "end": 1282, "length": 7, - "parent_index": 139 + "parent_index": 140 } } }, { - "id": 143, + "id": 144, "name": "notOwner", "node_type": 72, "kind": 72, @@ -22942,12 +23376,12 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 144, + "id": 145, "name": "notOwner", "node_type": 0, "src": { @@ -22956,14 +23390,14 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 143 + "parent_index": 144 } } } ], "overrides": [], "parameters": { - "id": 138, + "id": 139, "node_type": 43, "src": { "line": 55, @@ -22971,13 +23405,13 @@ "start": 1245, "end": 1658, "length": 414, - "parent_index": 137 + "parent_index": 138 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 145, + "id": 146, "node_type": 43, "src": { "line": 55, @@ -22985,7 +23419,7 @@ "start": 1245, "end": 1658, "length": 414, - "parent_index": 137 + "parent_index": 138 }, "parameters": [], "parameter_types": [] @@ -22996,9 +23430,10 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionjoin()publicpayableinState(LotteryState.Accepting)notOwner{if(msg.value==0){revertNoValueProvided();}if(players[msg.sender].addr==address(0)){players[msg.sender].addr=msg.sender;playerAddresses.push(msg.sender);}players[msg.sender].ticketCount+=msg.value;emitPlayerJoined(msg.sender);}" }, - "id": 137, + "id": 138, "node_type": 42, "kind": 41, "name": "join", @@ -23011,7 +23446,7 @@ "modifiers": [ { "ast": { - "id": 139, + "id": 140, "name": "inState", "node_type": 72, "kind": 72, @@ -23021,7 +23456,7 @@ "start": 1276, "end": 1306, "length": 31, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [ { @@ -23031,7 +23466,7 @@ ], "arguments": [ { - "id": 141, + "id": 142, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23043,7 +23478,7 @@ "start": 1284, "end": 1305, "length": 22, - "parent_index": 139 + "parent_index": 140 }, "member_location": { "line": 55, @@ -23051,10 +23486,10 @@ "start": 1297, "end": 1305, "length": 9, - "parent_index": 141 + "parent_index": 142 }, "expression": { - "id": 142, + "id": 143, "node_type": 16, "src": { "line": 55, @@ -23062,7 +23497,7 @@ "start": 1284, "end": 1295, "length": 12, - "parent_index": 141 + "parent_index": 142 }, "name": "LotteryState", "type_description": { @@ -23071,18 +23506,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 140, + "id": 141, "name": "inState", "node_type": 0, "src": { @@ -23091,11 +23528,11 @@ "start": 1276, "end": 1282, "length": 7, - "parent_index": 139 + "parent_index": 140 } } }, - "id": 139, + "id": 140, "node_type": 72, "name": "inState", "argument_types": [ @@ -23107,7 +23544,7 @@ }, { "ast": { - "id": 143, + "id": 144, "name": "notOwner", "node_type": 72, "kind": 72, @@ -23117,12 +23554,12 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 137 + "parent_index": 138 }, "argument_types": [], "arguments": [], "modifier_name": { - "id": 144, + "id": 145, "name": "notOwner", "node_type": 0, "src": { @@ -23131,11 +23568,11 @@ "start": 1308, "end": 1315, "length": 8, - "parent_index": 143 + "parent_index": 144 } } }, - "id": 143, + "id": 144, "node_type": 72, "name": "notOwner", "argument_types": [] @@ -23145,7 +23582,7 @@ "parameters": [], "body": { "ast": { - "id": 146, + "id": 147, "node_type": 46, "kind": 0, "src": { @@ -23154,12 +23591,12 @@ "start": 1317, "end": 1658, "length": 342, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 147, + "id": 148, "node_type": 48, "src": { "line": 56, @@ -23167,10 +23604,10 @@ "start": 1327, "end": 1395, "length": 69, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 148, + "id": 149, "is_constant": false, "is_pure": false, "node_type": 19, @@ -23180,11 +23617,11 @@ "start": 1331, "end": 1344, "length": 14, - "parent_index": 147 + "parent_index": 148 }, "operator": 11, "left_expression": { - "id": 149, + "id": 150, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23196,7 +23633,7 @@ "start": 1331, "end": 1339, "length": 9, - "parent_index": 148 + "parent_index": 149 }, "member_location": { "line": 56, @@ -23204,10 +23641,10 @@ "start": 1335, "end": 1339, "length": 5, - "parent_index": 149 + "parent_index": 150 }, "expression": { - "id": 150, + "id": 151, "node_type": 16, "src": { "line": 56, @@ -23215,7 +23652,7 @@ "start": 1331, "end": 1333, "length": 3, - "parent_index": 149 + "parent_index": 150 }, "name": "msg", "type_description": { @@ -23224,17 +23661,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "right_expression": { - "id": 151, + "id": 152, "node_type": 17, "kind": 49, "value": "0", @@ -23245,7 +23684,7 @@ "start": 1344, "end": 1344, "length": 1, - "parent_index": 148 + "parent_index": 149 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -23253,7 +23692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -23261,7 +23701,7 @@ } }, "body": { - "id": 152, + "id": 153, "node_type": 46, "kind": 0, "src": { @@ -23270,12 +23710,12 @@ "start": 1347, "end": 1395, "length": 49, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 153, + "id": 154, "node_type": 78, "src": { "line": 57, @@ -23283,11 +23723,11 @@ "start": 1361, "end": 1385, "length": 25, - "parent_index": 137 + "parent_index": 138 }, "arguments": [], "expression": { - "id": 154, + "id": 155, "node_type": 16, "src": { "line": 57, @@ -23295,23 +23735,24 @@ "start": 1368, "end": 1382, "length": 15, - "parent_index": 153 + "parent_index": 154 }, "name": "NoValueProvided", "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" }, "overloaded_declarations": [], - "referenced_declaration": 76, - "is_pure": false + "referenced_declaration": 77, + "is_pure": false, + "text": "NoValueProvided" } } ] } }, { - "id": 155, + "id": 156, "node_type": 48, "src": { "line": 60, @@ -23319,10 +23760,10 @@ "start": 1406, "end": 1557, "length": 152, - "parent_index": 146 + "parent_index": 147 }, "condition": { - "id": 156, + "id": 157, "is_constant": false, "is_pure": false, "node_type": 19, @@ -23332,11 +23773,11 @@ "start": 1410, "end": 1447, "length": 38, - "parent_index": 155 + "parent_index": 156 }, "operator": 11, "left_expression": { - "id": 157, + "id": 158, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23348,7 +23789,7 @@ "start": 1410, "end": 1433, "length": 24, - "parent_index": 156 + "parent_index": 157 }, "member_location": { "line": 60, @@ -23356,10 +23797,10 @@ "start": 1430, "end": 1433, "length": 4, - "parent_index": 157 + "parent_index": 158 }, "expression": { - "id": 158, + "id": 159, "node_type": 22, "src": { "line": 60, @@ -23367,10 +23808,10 @@ "start": 1410, "end": 1428, "length": 19, - "parent_index": 157 + "parent_index": 158 }, "index_expression": { - "id": 159, + "id": 160, "node_type": 16, "src": { "line": 60, @@ -23378,19 +23819,20 @@ "start": 1410, "end": 1416, "length": 7, - "parent_index": 158 + "parent_index": 159 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 160, + "id": 161, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23402,7 +23844,7 @@ "start": 1418, "end": 1427, "length": 10, - "parent_index": 158 + "parent_index": 159 }, "member_location": { "line": 60, @@ -23410,10 +23852,10 @@ "start": 1422, "end": 1427, "length": 6, - "parent_index": 160 + "parent_index": 161 }, "expression": { - "id": 161, + "id": 162, "node_type": 16, "src": { "line": 60, @@ -23421,7 +23863,7 @@ "start": 1418, "end": 1420, "length": 3, - "parent_index": 160 + "parent_index": 161 }, "name": "msg", "type_description": { @@ -23430,18 +23872,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -23450,19 +23894,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 162, + "id": 163, "node_type": 24, "kind": 24, "src": { @@ -23471,7 +23916,7 @@ "start": 1438, "end": 1447, "length": 10, - "parent_index": 156 + "parent_index": 157 }, "argument_types": [ { @@ -23481,7 +23926,7 @@ ], "arguments": [ { - "id": 165, + "id": 166, "node_type": 17, "kind": 49, "value": "0", @@ -23492,7 +23937,7 @@ "start": 1446, "end": 1446, "length": 1, - "parent_index": 162 + "parent_index": 163 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -23500,11 +23945,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 163, + "id": 164, "node_type": 16, "src": { "line": 60, @@ -23512,11 +23958,11 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 162 + "parent_index": 163 }, "name": "address", "type_name": { - "id": 164, + "id": 165, "node_type": 30, "src": { "line": 60, @@ -23524,7 +23970,7 @@ "start": 1438, "end": 1444, "length": 7, - "parent_index": 163 + "parent_index": 164 }, "name": "address", "state_mutability": 4, @@ -23546,7 +23992,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -23559,7 +24006,7 @@ } }, "body": { - "id": 166, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -23568,12 +24015,12 @@ "start": 1450, "end": 1557, "length": 108, - "parent_index": 137 + "parent_index": 138 }, "implemented": true, "statements": [ { - "id": 167, + "id": 168, "node_type": 27, "src": { "line": 61, @@ -23581,10 +24028,10 @@ "start": 1464, "end": 1501, "length": 38, - "parent_index": 166 + "parent_index": 167 }, "expression": { - "id": 168, + "id": 169, "node_type": 27, "src": { "line": 61, @@ -23592,11 +24039,11 @@ "start": 1464, "end": 1500, "length": 37, - "parent_index": 167 + "parent_index": 168 }, "operator": 11, "left_expression": { - "id": 169, + "id": 170, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23608,7 +24055,7 @@ "start": 1464, "end": 1487, "length": 24, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -23616,10 +24063,10 @@ "start": 1484, "end": 1487, "length": 4, - "parent_index": 169 + "parent_index": 170 }, "expression": { - "id": 170, + "id": 171, "node_type": 22, "src": { "line": 61, @@ -23627,10 +24074,10 @@ "start": 1464, "end": 1482, "length": 19, - "parent_index": 169 + "parent_index": 170 }, "index_expression": { - "id": 171, + "id": 172, "node_type": 16, "src": { "line": 61, @@ -23638,19 +24085,20 @@ "start": 1464, "end": 1470, "length": 7, - "parent_index": 170 + "parent_index": 171 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 172, + "id": 173, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23662,7 +24110,7 @@ "start": 1472, "end": 1481, "length": 10, - "parent_index": 170 + "parent_index": 171 }, "member_location": { "line": 61, @@ -23670,10 +24118,10 @@ "start": 1476, "end": 1481, "length": 6, - "parent_index": 172 + "parent_index": 173 }, "expression": { - "id": 173, + "id": 174, "node_type": 16, "src": { "line": 61, @@ -23681,7 +24129,7 @@ "start": 1472, "end": 1474, "length": 3, - "parent_index": 172 + "parent_index": 173 }, "name": "msg", "type_description": { @@ -23690,18 +24138,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -23710,19 +24160,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr" }, "right_expression": { - "id": 174, + "id": 175, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23734,7 +24185,7 @@ "start": 1491, "end": 1500, "length": 10, - "parent_index": 168 + "parent_index": 169 }, "member_location": { "line": 61, @@ -23742,10 +24193,10 @@ "start": 1495, "end": 1500, "length": 6, - "parent_index": 174 + "parent_index": 175 }, "expression": { - "id": 175, + "id": 176, "node_type": 16, "src": { "line": 61, @@ -23753,7 +24204,7 @@ "start": 1491, "end": 1493, "length": 3, - "parent_index": 174 + "parent_index": 175 }, "name": "msg", "type_description": { @@ -23762,27 +24213,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].addr=msg.sender;" }, { - "id": 176, + "id": 177, "node_type": 24, "kind": 24, "src": { @@ -23791,7 +24245,7 @@ "start": 1515, "end": 1546, "length": 32, - "parent_index": 166 + "parent_index": 167 }, "argument_types": [ { @@ -23801,7 +24255,7 @@ ], "arguments": [ { - "id": 179, + "id": 180, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23813,7 +24267,7 @@ "start": 1536, "end": 1545, "length": 10, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -23821,10 +24275,10 @@ "start": 1540, "end": 1545, "length": 6, - "parent_index": 179 + "parent_index": 180 }, "expression": { - "id": 180, + "id": 181, "node_type": 16, "src": { "line": 62, @@ -23832,7 +24286,7 @@ "start": 1536, "end": 1538, "length": 3, - "parent_index": 179 + "parent_index": 180 }, "name": "msg", "type_description": { @@ -23841,18 +24295,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 177, + "id": 178, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23864,7 +24320,7 @@ "start": 1515, "end": 1534, "length": 20, - "parent_index": 176 + "parent_index": 177 }, "member_location": { "line": 62, @@ -23872,10 +24328,10 @@ "start": 1531, "end": 1534, "length": 4, - "parent_index": 177 + "parent_index": 178 }, "expression": { - "id": 178, + "id": 179, "node_type": 16, "src": { "line": 62, @@ -23883,7 +24339,7 @@ "start": 1515, "end": 1529, "length": 15, - "parent_index": 177 + "parent_index": 178 }, "name": "playerAddresses", "type_description": { @@ -23891,15 +24347,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "push", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.push" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -23910,7 +24368,7 @@ } }, { - "id": 181, + "id": 182, "node_type": 27, "src": { "line": 65, @@ -23918,10 +24376,10 @@ "start": 1568, "end": 1612, "length": 45, - "parent_index": 146 + "parent_index": 147 }, "expression": { - "id": 182, + "id": 183, "node_type": 27, "src": { "line": 65, @@ -23929,11 +24387,11 @@ "start": 1568, "end": 1611, "length": 44, - "parent_index": 181 + "parent_index": 182 }, "operator": 13, "left_expression": { - "id": 183, + "id": 184, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23945,7 +24403,7 @@ "start": 1568, "end": 1598, "length": 31, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -23953,10 +24411,10 @@ "start": 1588, "end": 1598, "length": 11, - "parent_index": 183 + "parent_index": 184 }, "expression": { - "id": 184, + "id": 185, "node_type": 22, "src": { "line": 65, @@ -23964,10 +24422,10 @@ "start": 1568, "end": 1586, "length": 19, - "parent_index": 183 + "parent_index": 184 }, "index_expression": { - "id": 185, + "id": 186, "node_type": 16, "src": { "line": 65, @@ -23975,19 +24433,20 @@ "start": 1568, "end": 1574, "length": 7, - "parent_index": 184 + "parent_index": 185 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 186, + "id": 187, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -23999,7 +24458,7 @@ "start": 1576, "end": 1585, "length": 10, - "parent_index": 184 + "parent_index": 185 }, "member_location": { "line": 65, @@ -24007,10 +24466,10 @@ "start": 1580, "end": 1585, "length": 6, - "parent_index": 186 + "parent_index": 187 }, "expression": { - "id": 187, + "id": 188, "node_type": 16, "src": { "line": 65, @@ -24018,7 +24477,7 @@ "start": 1576, "end": 1578, "length": 3, - "parent_index": 186 + "parent_index": 187 }, "name": "msg", "type_description": { @@ -24027,18 +24486,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -24047,19 +24508,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "member_name": "ticketCount", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount" }, "right_expression": { - "id": 188, + "id": 189, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24071,7 +24533,7 @@ "start": 1603, "end": 1611, "length": 9, - "parent_index": 182 + "parent_index": 183 }, "member_location": { "line": 65, @@ -24079,10 +24541,10 @@ "start": 1607, "end": 1611, "length": 5, - "parent_index": 188 + "parent_index": 189 }, "expression": { - "id": 189, + "id": 190, "node_type": 16, "src": { "line": 65, @@ -24090,7 +24552,7 @@ "start": 1603, "end": 1605, "length": 3, - "parent_index": 188 + "parent_index": 189 }, "name": "msg", "type_description": { @@ -24099,27 +24561,30 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "msg.value" }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" } }, "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_address]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_address]$", "type_string": "index[mapping(address=\u003ePlayer):address]" - } + }, + "text": "players[msg.sender].ticketCount+=msg.value;" }, { - "id": 190, + "id": 191, "node_type": 64, "src": { "line": 67, @@ -24127,11 +24592,11 @@ "start": 1623, "end": 1652, "length": 30, - "parent_index": 137 + "parent_index": 138 }, "arguments": [ { - "id": 191, + "id": 192, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24143,7 +24608,7 @@ "start": 1641, "end": 1650, "length": 10, - "parent_index": 190 + "parent_index": 191 }, "member_location": { "line": 67, @@ -24151,10 +24616,10 @@ "start": 1645, "end": 1650, "length": 6, - "parent_index": 191 + "parent_index": 192 }, "expression": { - "id": 192, + "id": 193, "node_type": 16, "src": { "line": 67, @@ -24162,7 +24627,7 @@ "start": 1641, "end": 1643, "length": 3, - "parent_index": 191 + "parent_index": 192 }, "name": "msg", "type_description": { @@ -24171,18 +24636,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } ], "expression": { - "id": 193, + "id": 194, "node_type": 16, "src": { "line": 67, @@ -24190,21 +24657,22 @@ "start": 1628, "end": 1639, "length": 12, - "parent_index": 190 + "parent_index": 191 }, "name": "PlayerJoined", "type_description": { - "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002652", + "type_identifier": "t_event\u0026_Lottery_PlayerJoined_\u002653", "type_string": "event Lottery.PlayerJoined" }, "overloaded_declarations": [], - "referenced_declaration": 52, - "is_pure": false + "referenced_declaration": 53, + "is_pure": false, + "text": "PlayerJoined" } } ] }, - "id": 146, + "id": 147, "node_type": 46, "kind": 0, "statements": [] @@ -24221,7 +24689,7 @@ }, { "ast": { - "id": 195, + "id": 196, "name": "finishLottery", "node_type": 42, "kind": 41, @@ -24239,10 +24707,10 @@ "start": 1674, "end": 1686, "length": 13, - "parent_index": 195 + "parent_index": 196 }, "body": { - "id": 202, + "id": 203, "node_type": 46, "kind": 0, "src": { @@ -24251,12 +24719,12 @@ "start": 1729, "end": 2467, "length": 739, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 203, + "id": 204, "node_type": 27, "src": { "line": 71, @@ -24264,10 +24732,10 @@ "start": 1739, "end": 1768, "length": 30, - "parent_index": 202 + "parent_index": 203 }, "expression": { - "id": 204, + "id": 205, "node_type": 27, "src": { "line": 71, @@ -24275,11 +24743,11 @@ "start": 1739, "end": 1767, "length": 29, - "parent_index": 203 + "parent_index": 204 }, "operator": 11, "left_expression": { - "id": 205, + "id": 206, "node_type": 16, "src": { "line": 71, @@ -24287,7 +24755,7 @@ "start": 1739, "end": 1743, "length": 5, - "parent_index": 204 + "parent_index": 205 }, "name": "state", "type_description": { @@ -24295,11 +24763,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 206, + "id": 207, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24311,7 +24780,7 @@ "start": 1747, "end": 1767, "length": 21, - "parent_index": 204 + "parent_index": 205 }, "member_location": { "line": 71, @@ -24319,10 +24788,10 @@ "start": 1760, "end": 1767, "length": 8, - "parent_index": 206 + "parent_index": 207 }, "expression": { - "id": 207, + "id": 208, "node_type": 16, "src": { "line": 71, @@ -24330,7 +24799,7 @@ "start": 1747, "end": 1758, "length": 12, - "parent_index": 206 + "parent_index": 207 }, "name": "LotteryState", "type_description": { @@ -24339,14 +24808,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Finished", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Finished" }, "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", @@ -24356,10 +24827,11 @@ "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "state=LotteryState.Finished;" }, { - "id": 208, + "id": 209, "node_type": 44, "src": { "line": 73, @@ -24367,25 +24839,25 @@ "start": 1779, "end": 1844, "length": 66, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 209 + 210 ], "declarations": [ { - "id": 209, + "id": 210, "state_mutability": 1, "name": "index", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 73, "column": 8, "start": 1779, "end": 1791, "length": 13, - "parent_index": 208 + "parent_index": 209 }, "name_location": { "line": 73, @@ -24393,12 +24865,12 @@ "start": 1787, "end": 1791, "length": 5, - "parent_index": 209 + "parent_index": 210 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 210, + "id": 211, "node_type": 30, "src": { "line": 73, @@ -24406,7 +24878,7 @@ "start": 1779, "end": 1785, "length": 7, - "parent_index": 209 + "parent_index": 210 }, "name": "uint256", "referenced_declaration": 0, @@ -24419,7 +24891,7 @@ } ], "initial_value": { - "id": 211, + "id": 212, "is_constant": false, "is_pure": false, "node_type": 19, @@ -24429,11 +24901,11 @@ "start": 1795, "end": 1843, "length": 49, - "parent_index": 208 + "parent_index": 209 }, "operator": 5, "left_expression": { - "id": 212, + "id": 213, "node_type": 24, "kind": 24, "src": { @@ -24442,7 +24914,7 @@ "start": 1795, "end": 1818, "length": 24, - "parent_index": 208 + "parent_index": 209 }, "argument_types": [ { @@ -24452,7 +24924,7 @@ ], "arguments": [ { - "id": 215, + "id": 216, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24464,7 +24936,7 @@ "start": 1803, "end": 1817, "length": 15, - "parent_index": 212 + "parent_index": 213 }, "member_location": { "line": 73, @@ -24472,10 +24944,10 @@ "start": 1809, "end": 1817, "length": 9, - "parent_index": 215 + "parent_index": 216 }, "expression": { - "id": 216, + "id": 217, "node_type": 16, "src": { "line": 73, @@ -24483,7 +24955,7 @@ "start": 1803, "end": 1807, "length": 5, - "parent_index": 215 + "parent_index": 216 }, "name": "block", "type_description": { @@ -24492,18 +24964,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 213, + "id": 214, "node_type": 16, "src": { "line": 73, @@ -24511,11 +24985,11 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 212 + "parent_index": 213 }, "name": "uint256", "type_name": { - "id": 214, + "id": 215, "node_type": 30, "src": { "line": 73, @@ -24523,7 +24997,7 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 213 + "parent_index": 214 }, "name": "uint256", "referenced_declaration": 0, @@ -24544,7 +25018,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -24552,7 +25027,7 @@ } }, "right_expression": { - "id": 217, + "id": 218, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24564,7 +25039,7 @@ "start": 1822, "end": 1843, "length": 22, - "parent_index": 208 + "parent_index": 209 }, "member_location": { "line": 73, @@ -24572,10 +25047,10 @@ "start": 1838, "end": 1843, "length": 6, - "parent_index": 217 + "parent_index": 218 }, "expression": { - "id": 218, + "id": 219, "node_type": 16, "src": { "line": 73, @@ -24583,7 +25058,7 @@ "start": 1822, "end": 1836, "length": 15, - "parent_index": 217 + "parent_index": 218 }, "name": "playerAddresses", "type_description": { @@ -24591,15 +25066,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -24608,7 +25085,7 @@ } }, { - "id": 219, + "id": 220, "node_type": 44, "src": { "line": 74, @@ -24616,25 +25093,25 @@ "start": 1854, "end": 1881, "length": 28, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 220 + 221 ], "declarations": [ { - "id": 220, + "id": 221, "state_mutability": 1, "name": "winner", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 74, "column": 8, "start": 1854, "end": 1867, "length": 14, - "parent_index": 219 + "parent_index": 220 }, "name_location": { "line": 74, @@ -24642,12 +25119,12 @@ "start": 1862, "end": 1867, "length": 6, - "parent_index": 220 + "parent_index": 221 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 221, + "id": 222, "node_type": 30, "src": { "line": 74, @@ -24655,7 +25132,7 @@ "start": 1854, "end": 1860, "length": 7, - "parent_index": 220 + "parent_index": 221 }, "name": "address", "state_mutability": 4, @@ -24669,7 +25146,7 @@ } ], "initial_value": { - "id": 222, + "id": 223, "node_type": 24, "kind": 24, "src": { @@ -24678,7 +25155,7 @@ "start": 1871, "end": 1880, "length": 10, - "parent_index": 219 + "parent_index": 220 }, "argument_types": [ { @@ -24688,7 +25165,7 @@ ], "arguments": [ { - "id": 225, + "id": 226, "node_type": 17, "kind": 49, "value": "0", @@ -24699,7 +25176,7 @@ "start": 1879, "end": 1879, "length": 1, - "parent_index": 222 + "parent_index": 223 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -24707,11 +25184,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 223, + "id": 224, "node_type": 16, "src": { "line": 74, @@ -24719,11 +25197,11 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 222 + "parent_index": 223 }, "name": "address", "type_name": { - "id": 224, + "id": 225, "node_type": 30, "src": { "line": 74, @@ -24731,7 +25209,7 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 223 + "parent_index": 224 }, "name": "address", "state_mutability": 4, @@ -24753,7 +25231,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -24762,7 +25241,7 @@ } }, { - "id": 226, + "id": 227, "node_type": 44, "src": { "line": 75, @@ -24770,25 +25249,25 @@ "start": 1891, "end": 1908, "length": 18, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 227 + 228 ], "declarations": [ { - "id": 227, + "id": 228, "state_mutability": 1, "name": "count", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 75, "column": 8, "start": 1891, "end": 1903, "length": 13, - "parent_index": 226 + "parent_index": 227 }, "name_location": { "line": 75, @@ -24796,12 +25275,12 @@ "start": 1899, "end": 1903, "length": 5, - "parent_index": 227 + "parent_index": 228 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 228, + "id": 229, "node_type": 30, "src": { "line": 75, @@ -24809,7 +25288,7 @@ "start": 1891, "end": 1897, "length": 7, - "parent_index": 227 + "parent_index": 228 }, "name": "uint256", "referenced_declaration": 0, @@ -24822,7 +25301,7 @@ } ], "initial_value": { - "id": 229, + "id": 230, "node_type": 17, "kind": 49, "value": "0", @@ -24833,7 +25312,7 @@ "start": 1907, "end": 1907, "length": 1, - "parent_index": 226 + "parent_index": 227 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -24841,7 +25320,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -24854,10 +25334,10 @@ "start": 1927, "end": 2246, "length": 320, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 230, + "id": 231, "is_constant": false, "is_pure": false, "node_type": 19, @@ -24870,7 +25350,7 @@ }, "operator": 9, "left_expression": { - "id": 231, + "id": 232, "node_type": 16, "src": { "line": 77, @@ -24878,7 +25358,7 @@ "start": 1933, "end": 1937, "length": 5, - "parent_index": 230 + "parent_index": 231 }, "name": "count", "type_description": { @@ -24886,11 +25366,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 232, + "id": 233, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -24902,7 +25383,7 @@ "start": 1941, "end": 1962, "length": 22, - "parent_index": 230 + "parent_index": 231 }, "member_location": { "line": 77, @@ -24910,10 +25391,10 @@ "start": 1957, "end": 1962, "length": 6, - "parent_index": 232 + "parent_index": 233 }, "expression": { - "id": 233, + "id": 234, "node_type": 16, "src": { "line": 77, @@ -24921,7 +25402,7 @@ "start": 1941, "end": 1955, "length": 15, - "parent_index": 232 + "parent_index": 233 }, "name": "playerAddresses", "type_description": { @@ -24929,15 +25410,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -24945,7 +25428,7 @@ } }, "body": { - "id": 234, + "id": 235, "node_type": 46, "kind": 0, "src": { @@ -24958,7 +25441,7 @@ "implemented": true, "statements": [ { - "id": 235, + "id": 236, "node_type": 48, "src": { "line": 78, @@ -24966,10 +25449,10 @@ "start": 1979, "end": 2083, "length": 105, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 236, + "id": 237, "is_constant": false, "is_pure": false, "node_type": 19, @@ -24979,11 +25462,11 @@ "start": 1982, "end": 1995, "length": 14, - "parent_index": 235 + "parent_index": 236 }, "operator": 11, "left_expression": { - "id": 237, + "id": 238, "node_type": 16, "src": { "line": 78, @@ -24991,7 +25474,7 @@ "start": 1982, "end": 1986, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "index", "type_description": { @@ -24999,11 +25482,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 208, - "is_pure": false + "referenced_declaration": 209, + "is_pure": false, + "text": "index" }, "right_expression": { - "id": 238, + "id": 239, "node_type": 16, "src": { "line": 78, @@ -25011,7 +25495,7 @@ "start": 1991, "end": 1995, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "count", "type_description": { @@ -25019,8 +25503,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_bool", @@ -25028,7 +25513,7 @@ } }, "body": { - "id": 239, + "id": 240, "node_type": 46, "kind": 0, "src": { @@ -25041,7 +25526,7 @@ "implemented": true, "statements": [ { - "id": 240, + "id": 241, "node_type": 27, "src": { "line": 79, @@ -25049,10 +25534,10 @@ "start": 2015, "end": 2046, "length": 32, - "parent_index": 239 + "parent_index": 240 }, "expression": { - "id": 241, + "id": 242, "node_type": 27, "src": { "line": 79, @@ -25060,11 +25545,11 @@ "start": 2015, "end": 2045, "length": 31, - "parent_index": 240 + "parent_index": 241 }, "operator": 11, "left_expression": { - "id": 242, + "id": 243, "node_type": 16, "src": { "line": 79, @@ -25072,7 +25557,7 @@ "start": 2015, "end": 2020, "length": 6, - "parent_index": 241 + "parent_index": 242 }, "name": "winner", "type_description": { @@ -25080,11 +25565,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 59, - "is_pure": false + "referenced_declaration": 60, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 243, + "id": 244, "node_type": 22, "src": { "line": 79, @@ -25092,10 +25578,10 @@ "start": 2024, "end": 2045, "length": 22, - "parent_index": 241 + "parent_index": 242 }, "index_expression": { - "id": 244, + "id": 245, "node_type": 16, "src": { "line": 79, @@ -25103,7 +25589,7 @@ "start": 2024, "end": 2038, "length": 15, - "parent_index": 243 + "parent_index": 244 }, "name": "playerAddresses", "type_description": { @@ -25111,11 +25597,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 245, + "id": 246, "node_type": 16, "src": { "line": 79, @@ -25123,7 +25610,7 @@ "start": 2040, "end": 2044, "length": 5, - "parent_index": 243 + "parent_index": 244 }, "name": "count", "type_description": { @@ -25131,8 +25618,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_descriptions": [ { @@ -25157,10 +25645,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "winner=playerAddresses[count];" }, { - "id": 246, + "id": 247, "node_type": 74, "src": { "line": 80, @@ -25168,14 +25657,14 @@ "start": 2064, "end": 2069, "length": 6, - "parent_index": 239 + "parent_index": 240 } } ] } }, { - "id": 247, + "id": 248, "node_type": 18, "kind": 105, "src": { @@ -25187,7 +25676,7 @@ }, "operator": 27, "expression": { - "id": 248, + "id": 249, "node_type": 16, "src": { "line": 83, @@ -25195,7 +25684,7 @@ "start": 2098, "end": 2102, "length": 5, - "parent_index": 247 + "parent_index": 248 }, "name": "count", "type_description": { @@ -25203,8 +25692,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_uint256", @@ -25217,7 +25707,7 @@ "l_value_requested": false }, { - "id": 249, + "id": 250, "node_type": 48, "src": { "line": 86, @@ -25225,10 +25715,10 @@ "start": 2176, "end": 2236, "length": 61, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 250, + "id": 251, "is_constant": false, "is_pure": false, "node_type": 19, @@ -25238,11 +25728,11 @@ "start": 2180, "end": 2193, "length": 14, - "parent_index": 249 + "parent_index": 250 }, "operator": 11, "left_expression": { - "id": 251, + "id": 252, "is_constant": false, "is_pure": false, "node_type": 19, @@ -25252,11 +25742,11 @@ "start": 2180, "end": 2188, "length": 9, - "parent_index": 250 + "parent_index": 251 }, "operator": 5, "left_expression": { - "id": 252, + "id": 253, "node_type": 16, "src": { "line": 86, @@ -25264,7 +25754,7 @@ "start": 2180, "end": 2184, "length": 5, - "parent_index": 251 + "parent_index": 252 }, "name": "count", "type_description": { @@ -25272,11 +25762,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 253, + "id": 254, "node_type": 17, "kind": 49, "value": "2", @@ -25287,7 +25778,7 @@ "start": 2188, "end": 2188, "length": 1, - "parent_index": 251 + "parent_index": 252 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -25295,7 +25786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -25303,7 +25795,7 @@ } }, "right_expression": { - "id": 254, + "id": 255, "node_type": 17, "kind": 49, "value": "1", @@ -25314,7 +25806,7 @@ "start": 2193, "end": 2193, "length": 1, - "parent_index": 250 + "parent_index": 251 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -25322,7 +25814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -25330,7 +25823,7 @@ } }, "body": { - "id": 255, + "id": 256, "node_type": 46, "kind": 0, "src": { @@ -25343,7 +25836,7 @@ "implemented": true, "statements": [ { - "id": 256, + "id": 257, "node_type": 75, "src": { "line": 87, @@ -25351,7 +25844,7 @@ "start": 2214, "end": 2222, "length": 9, - "parent_index": 255 + "parent_index": 256 } } ] @@ -25361,7 +25854,7 @@ } }, { - "id": 257, + "id": 258, "node_type": 48, "src": { "line": 91, @@ -25369,10 +25862,10 @@ "start": 2257, "end": 2329, "length": 73, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 258, + "id": 259, "is_constant": false, "is_pure": false, "node_type": 19, @@ -25382,11 +25875,11 @@ "start": 2261, "end": 2280, "length": 20, - "parent_index": 257 + "parent_index": 258 }, "operator": 11, "left_expression": { - "id": 259, + "id": 260, "node_type": 16, "src": { "line": 91, @@ -25394,7 +25887,7 @@ "start": 2261, "end": 2266, "length": 6, - "parent_index": 258 + "parent_index": 259 }, "name": "winner", "type_description": { @@ -25402,11 +25895,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 260, + "id": 261, "node_type": 24, "kind": 24, "src": { @@ -25415,7 +25909,7 @@ "start": 2271, "end": 2280, "length": 10, - "parent_index": 258 + "parent_index": 259 }, "argument_types": [ { @@ -25425,7 +25919,7 @@ ], "arguments": [ { - "id": 263, + "id": 264, "node_type": 17, "kind": 49, "value": "0", @@ -25436,7 +25930,7 @@ "start": 2279, "end": 2279, "length": 1, - "parent_index": 260 + "parent_index": 261 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -25444,11 +25938,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 261, + "id": 262, "node_type": 16, "src": { "line": 91, @@ -25456,11 +25951,11 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 260 + "parent_index": 261 }, "name": "address", "type_name": { - "id": 262, + "id": 263, "node_type": 30, "src": { "line": 91, @@ -25468,7 +25963,7 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 261 + "parent_index": 262 }, "name": "address", "state_mutability": 4, @@ -25490,7 +25985,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -25503,7 +25999,7 @@ } }, "body": { - "id": 264, + "id": 265, "node_type": 46, "kind": 0, "src": { @@ -25512,12 +26008,12 @@ "start": 2283, "end": 2329, "length": 47, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 265, + "id": 266, "node_type": 78, "src": { "line": 92, @@ -25525,11 +26021,11 @@ "start": 2297, "end": 2319, "length": 23, - "parent_index": 195 + "parent_index": 196 }, "arguments": [], "expression": { - "id": 266, + "id": 267, "node_type": 16, "src": { "line": 92, @@ -25537,23 +26033,24 @@ "start": 2304, "end": 2316, "length": 13, - "parent_index": 265 + "parent_index": 266 }, "name": "InvalidWinner", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" }, "overloaded_declarations": [], - "referenced_declaration": 79, - "is_pure": false + "referenced_declaration": 80, + "is_pure": false, + "text": "InvalidWinner" } } ] } }, { - "id": 267, + "id": 268, "node_type": 64, "src": { "line": 95, @@ -25561,11 +26058,11 @@ "start": 2340, "end": 2368, "length": 29, - "parent_index": 195 + "parent_index": 196 }, "arguments": [ { - "id": 268, + "id": 269, "node_type": 16, "src": { "line": 95, @@ -25573,7 +26070,7 @@ "start": 2361, "end": 2366, "length": 6, - "parent_index": 267 + "parent_index": 268 }, "name": "winner", "type_description": { @@ -25581,12 +26078,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "expression": { - "id": 269, + "id": 270, "node_type": 16, "src": { "line": 95, @@ -25594,20 +26092,21 @@ "start": 2345, "end": 2359, "length": 15, - "parent_index": 267 + "parent_index": 268 }, "name": "LotteryFinished", "type_description": { - "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "type_string": "event Lottery.LotteryFinished" }, "overloaded_declarations": [], - "referenced_declaration": 57, - "is_pure": false + "referenced_declaration": 58, + "is_pure": false, + "text": "LotteryFinished" } }, { - "id": 270, + "id": 271, "node_type": 44, "src": { "line": 97, @@ -25615,25 +26114,25 @@ "start": 2379, "end": 2418, "length": 40, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 271 + 272 ], "declarations": [ { - "id": 271, + "id": 272, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 97, "column": 8, "start": 2379, "end": 2393, "length": 15, - "parent_index": 270 + "parent_index": 271 }, "name_location": { "line": 97, @@ -25641,12 +26140,12 @@ "start": 2387, "end": 2393, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 272, + "id": 273, "node_type": 30, "src": { "line": 97, @@ -25654,7 +26153,7 @@ "start": 2379, "end": 2385, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "name": "uint256", "referenced_declaration": 0, @@ -25667,7 +26166,7 @@ } ], "initial_value": { - "id": 273, + "id": 274, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25679,7 +26178,7 @@ "start": 2397, "end": 2417, "length": 21, - "parent_index": 270 + "parent_index": 271 }, "member_location": { "line": 97, @@ -25687,10 +26186,10 @@ "start": 2411, "end": 2417, "length": 7, - "parent_index": 273 + "parent_index": 274 }, "expression": { - "id": 274, + "id": 275, "node_type": 24, "kind": 24, "src": { @@ -25699,7 +26198,7 @@ "start": 2397, "end": 2409, "length": 13, - "parent_index": 270 + "parent_index": 271 }, "argument_types": [ { @@ -25709,7 +26208,7 @@ ], "arguments": [ { - "id": 277, + "id": 278, "node_type": 16, "src": { "line": 97, @@ -25717,7 +26216,7 @@ "start": 2405, "end": 2408, "length": 4, - "parent_index": 274 + "parent_index": 275 }, "name": "this", "type_description": { @@ -25726,11 +26225,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 275, + "id": 276, "node_type": 16, "src": { "line": 97, @@ -25738,11 +26238,11 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 274 + "parent_index": 275 }, "name": "address", "type_name": { - "id": 276, + "id": 277, "node_type": 30, "src": { "line": 97, @@ -25750,7 +26250,7 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 275 + "parent_index": 276 }, "name": "address", "state_mutability": 4, @@ -25772,7 +26272,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -25784,11 +26285,12 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } }, { - "id": 278, + "id": 279, "node_type": 24, "kind": 24, "src": { @@ -25797,7 +26299,7 @@ "start": 2428, "end": 2460, "length": 33, - "parent_index": 202 + "parent_index": 203 }, "argument_types": [ { @@ -25807,7 +26309,7 @@ ], "arguments": [ { - "id": 282, + "id": 283, "node_type": 16, "src": { "line": 98, @@ -25815,7 +26317,7 @@ "start": 2453, "end": 2459, "length": 7, - "parent_index": 278 + "parent_index": 279 }, "name": "balance", "type_description": { @@ -25823,12 +26325,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 270, - "is_pure": false + "referenced_declaration": 271, + "is_pure": false, + "text": "balance" } ], "expression": { - "id": 279, + "id": 280, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25840,7 +26343,7 @@ "start": 2428, "end": 2451, "length": 24, - "parent_index": 278 + "parent_index": 279 }, "member_location": { "line": 98, @@ -25848,10 +26351,10 @@ "start": 2444, "end": 2451, "length": 8, - "parent_index": 279 + "parent_index": 280 }, "expression": { - "id": 280, + "id": 281, "node_type": 84, "src": { "line": 98, @@ -25859,11 +26362,11 @@ "start": 2428, "end": 2442, "length": 15, - "parent_index": 279 + "parent_index": 280 }, "arguments": [ { - "id": 281, + "id": 282, "node_type": 16, "src": { "line": 98, @@ -25871,7 +26374,7 @@ "start": 2436, "end": 2441, "length": 6, - "parent_index": 280 + "parent_index": 281 }, "name": "winner", "type_description": { @@ -25879,8 +26382,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "argument_types": [ @@ -25900,7 +26404,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(winner).transfer" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -25915,7 +26420,7 @@ "virtual": false, "modifiers": [ { - "id": 197, + "id": 198, "name": "inState", "node_type": 72, "kind": 72, @@ -25925,7 +26430,7 @@ "start": 1697, "end": 1727, "length": 31, - "parent_index": 195 + "parent_index": 196 }, "argument_types": [ { @@ -25935,7 +26440,7 @@ ], "arguments": [ { - "id": 199, + "id": 200, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -25947,7 +26452,7 @@ "start": 1705, "end": 1726, "length": 22, - "parent_index": 197 + "parent_index": 198 }, "member_location": { "line": 70, @@ -25955,10 +26460,10 @@ "start": 1718, "end": 1726, "length": 9, - "parent_index": 199 + "parent_index": 200 }, "expression": { - "id": 200, + "id": 201, "node_type": 16, "src": { "line": 70, @@ -25966,7 +26471,7 @@ "start": 1705, "end": 1716, "length": 12, - "parent_index": 199 + "parent_index": 200 }, "name": "LotteryState", "type_description": { @@ -25975,18 +26480,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 198, + "id": 199, "name": "inState", "node_type": 0, "src": { @@ -25995,14 +26502,14 @@ "start": 1697, "end": 1703, "length": 7, - "parent_index": 197 + "parent_index": 198 } } } ], "overrides": [], "parameters": { - "id": 196, + "id": 197, "node_type": 43, "src": { "line": 70, @@ -26010,13 +26517,13 @@ "start": 1665, "end": 2467, "length": 803, - "parent_index": 195 + "parent_index": 196 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 201, + "id": 202, "node_type": 43, "src": { "line": 70, @@ -26024,7 +26531,7 @@ "start": 1665, "end": 2467, "length": 803, - "parent_index": 195 + "parent_index": 196 }, "parameters": [], "parameter_types": [] @@ -26035,9 +26542,10 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionfinishLottery()publicinState(LotteryState.Accepting){state=LotteryState.Finished;uint256index=uint256(block.timestamp)%playerAddresses.length;addresswinner=address(0);uint256count=0;while(count\u003cplayerAddresses.length){if(index==count){winner=playerAddresses[count];break;}count++;if(count%2==1){continue;}}if(winner==address(0)){revertInvalidWinner();}emitLotteryFinished(winner);uint256balance=address(this).balance;payable(winner).transfer(balance);}" }, - "id": 195, + "id": 196, "node_type": 42, "kind": 41, "name": "finishLottery", @@ -26050,7 +26558,7 @@ "modifiers": [ { "ast": { - "id": 197, + "id": 198, "name": "inState", "node_type": 72, "kind": 72, @@ -26060,7 +26568,7 @@ "start": 1697, "end": 1727, "length": 31, - "parent_index": 195 + "parent_index": 196 }, "argument_types": [ { @@ -26070,7 +26578,7 @@ ], "arguments": [ { - "id": 199, + "id": 200, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26082,7 +26590,7 @@ "start": 1705, "end": 1726, "length": 22, - "parent_index": 197 + "parent_index": 198 }, "member_location": { "line": 70, @@ -26090,10 +26598,10 @@ "start": 1718, "end": 1726, "length": 9, - "parent_index": 199 + "parent_index": 200 }, "expression": { - "id": 200, + "id": 201, "node_type": 16, "src": { "line": 70, @@ -26101,7 +26609,7 @@ "start": 1705, "end": 1716, "length": 12, - "parent_index": 199 + "parent_index": 200 }, "name": "LotteryState", "type_description": { @@ -26110,18 +26618,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Accepting", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Accepting" } ], "modifier_name": { - "id": 198, + "id": 199, "name": "inState", "node_type": 0, "src": { @@ -26130,11 +26640,11 @@ "start": 1697, "end": 1703, "length": 7, - "parent_index": 197 + "parent_index": 198 } } }, - "id": 197, + "id": 198, "node_type": 72, "name": "inState", "argument_types": [ @@ -26149,7 +26659,7 @@ "parameters": [], "body": { "ast": { - "id": 202, + "id": 203, "node_type": 46, "kind": 0, "src": { @@ -26158,12 +26668,12 @@ "start": 1729, "end": 2467, "length": 739, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 203, + "id": 204, "node_type": 27, "src": { "line": 71, @@ -26171,10 +26681,10 @@ "start": 1739, "end": 1768, "length": 30, - "parent_index": 202 + "parent_index": 203 }, "expression": { - "id": 204, + "id": 205, "node_type": 27, "src": { "line": 71, @@ -26182,11 +26692,11 @@ "start": 1739, "end": 1767, "length": 29, - "parent_index": 203 + "parent_index": 204 }, "operator": 11, "left_expression": { - "id": 205, + "id": 206, "node_type": 16, "src": { "line": 71, @@ -26194,7 +26704,7 @@ "start": 1739, "end": 1743, "length": 5, - "parent_index": 204 + "parent_index": 205 }, "name": "state", "type_description": { @@ -26202,11 +26712,12 @@ "type_string": "enum Lottery.LotteryState" }, "overloaded_declarations": [], - "referenced_declaration": 48, - "is_pure": false + "referenced_declaration": 49, + "is_pure": false, + "text": "state" }, "right_expression": { - "id": 206, + "id": 207, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26218,7 +26729,7 @@ "start": 1747, "end": 1767, "length": 21, - "parent_index": 204 + "parent_index": 205 }, "member_location": { "line": 71, @@ -26226,10 +26737,10 @@ "start": 1760, "end": 1767, "length": 8, - "parent_index": 206 + "parent_index": 207 }, "expression": { - "id": 207, + "id": 208, "node_type": 16, "src": { "line": 71, @@ -26237,7 +26748,7 @@ "start": 1747, "end": 1758, "length": 12, - "parent_index": 206 + "parent_index": 207 }, "name": "LotteryState", "type_description": { @@ -26246,14 +26757,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 30, - "is_pure": false + "is_pure": false, + "text": "LotteryState" }, "member_name": "Finished", "argument_types": [], "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "LotteryState.Finished" }, "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", @@ -26263,10 +26776,11 @@ "type_description": { "type_identifier": "t_enum_$_LotteryState_$30", "type_string": "enum Lottery.LotteryState" - } + }, + "text": "state=LotteryState.Finished;" }, { - "id": 208, + "id": 209, "node_type": 44, "src": { "line": 73, @@ -26274,25 +26788,25 @@ "start": 1779, "end": 1844, "length": 66, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 209 + 210 ], "declarations": [ { - "id": 209, + "id": 210, "state_mutability": 1, "name": "index", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 73, "column": 8, "start": 1779, "end": 1791, "length": 13, - "parent_index": 208 + "parent_index": 209 }, "name_location": { "line": 73, @@ -26300,12 +26814,12 @@ "start": 1787, "end": 1791, "length": 5, - "parent_index": 209 + "parent_index": 210 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 210, + "id": 211, "node_type": 30, "src": { "line": 73, @@ -26313,7 +26827,7 @@ "start": 1779, "end": 1785, "length": 7, - "parent_index": 209 + "parent_index": 210 }, "name": "uint256", "referenced_declaration": 0, @@ -26326,7 +26840,7 @@ } ], "initial_value": { - "id": 211, + "id": 212, "is_constant": false, "is_pure": false, "node_type": 19, @@ -26336,11 +26850,11 @@ "start": 1795, "end": 1843, "length": 49, - "parent_index": 208 + "parent_index": 209 }, "operator": 5, "left_expression": { - "id": 212, + "id": 213, "node_type": 24, "kind": 24, "src": { @@ -26349,7 +26863,7 @@ "start": 1795, "end": 1818, "length": 24, - "parent_index": 208 + "parent_index": 209 }, "argument_types": [ { @@ -26359,7 +26873,7 @@ ], "arguments": [ { - "id": 215, + "id": 216, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26371,7 +26885,7 @@ "start": 1803, "end": 1817, "length": 15, - "parent_index": 212 + "parent_index": 213 }, "member_location": { "line": 73, @@ -26379,10 +26893,10 @@ "start": 1809, "end": 1817, "length": 9, - "parent_index": 215 + "parent_index": 216 }, "expression": { - "id": 216, + "id": 217, "node_type": 16, "src": { "line": 73, @@ -26390,7 +26904,7 @@ "start": 1803, "end": 1807, "length": 5, - "parent_index": 215 + "parent_index": 216 }, "name": "block", "type_description": { @@ -26399,18 +26913,20 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "block" }, "member_name": "timestamp", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "block.timestamp" } ], "expression": { - "id": 213, + "id": 214, "node_type": 16, "src": { "line": 73, @@ -26418,11 +26934,11 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 212 + "parent_index": 213 }, "name": "uint256", "type_name": { - "id": 214, + "id": 215, "node_type": 30, "src": { "line": 73, @@ -26430,7 +26946,7 @@ "start": 1795, "end": 1801, "length": 7, - "parent_index": 213 + "parent_index": 214 }, "name": "uint256", "referenced_declaration": 0, @@ -26451,7 +26967,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -26459,7 +26976,7 @@ } }, "right_expression": { - "id": 217, + "id": 218, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26471,7 +26988,7 @@ "start": 1822, "end": 1843, "length": 22, - "parent_index": 208 + "parent_index": 209 }, "member_location": { "line": 73, @@ -26479,10 +26996,10 @@ "start": 1838, "end": 1843, "length": 6, - "parent_index": 217 + "parent_index": 218 }, "expression": { - "id": 218, + "id": 219, "node_type": 16, "src": { "line": 73, @@ -26490,7 +27007,7 @@ "start": 1822, "end": 1836, "length": 15, - "parent_index": 217 + "parent_index": 218 }, "name": "playerAddresses", "type_description": { @@ -26498,15 +27015,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -26515,7 +27034,7 @@ } }, { - "id": 219, + "id": 220, "node_type": 44, "src": { "line": 74, @@ -26523,25 +27042,25 @@ "start": 1854, "end": 1881, "length": 28, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 220 + 221 ], "declarations": [ { - "id": 220, + "id": 221, "state_mutability": 1, "name": "winner", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 74, "column": 8, "start": 1854, "end": 1867, "length": 14, - "parent_index": 219 + "parent_index": 220 }, "name_location": { "line": 74, @@ -26549,12 +27068,12 @@ "start": 1862, "end": 1867, "length": 6, - "parent_index": 220 + "parent_index": 221 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 221, + "id": 222, "node_type": 30, "src": { "line": 74, @@ -26562,7 +27081,7 @@ "start": 1854, "end": 1860, "length": 7, - "parent_index": 220 + "parent_index": 221 }, "name": "address", "state_mutability": 4, @@ -26576,7 +27095,7 @@ } ], "initial_value": { - "id": 222, + "id": 223, "node_type": 24, "kind": 24, "src": { @@ -26585,7 +27104,7 @@ "start": 1871, "end": 1880, "length": 10, - "parent_index": 219 + "parent_index": 220 }, "argument_types": [ { @@ -26595,7 +27114,7 @@ ], "arguments": [ { - "id": 225, + "id": 226, "node_type": 17, "kind": 49, "value": "0", @@ -26606,7 +27125,7 @@ "start": 1879, "end": 1879, "length": 1, - "parent_index": 222 + "parent_index": 223 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -26614,11 +27133,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 223, + "id": 224, "node_type": 16, "src": { "line": 74, @@ -26626,11 +27146,11 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 222 + "parent_index": 223 }, "name": "address", "type_name": { - "id": 224, + "id": 225, "node_type": 30, "src": { "line": 74, @@ -26638,7 +27158,7 @@ "start": 1871, "end": 1877, "length": 7, - "parent_index": 223 + "parent_index": 224 }, "name": "address", "state_mutability": 4, @@ -26660,7 +27180,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -26669,7 +27190,7 @@ } }, { - "id": 226, + "id": 227, "node_type": 44, "src": { "line": 75, @@ -26677,25 +27198,25 @@ "start": 1891, "end": 1908, "length": 18, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 227 + 228 ], "declarations": [ { - "id": 227, + "id": 228, "state_mutability": 1, "name": "count", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 75, "column": 8, "start": 1891, "end": 1903, "length": 13, - "parent_index": 226 + "parent_index": 227 }, "name_location": { "line": 75, @@ -26703,12 +27224,12 @@ "start": 1899, "end": 1903, "length": 5, - "parent_index": 227 + "parent_index": 228 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 228, + "id": 229, "node_type": 30, "src": { "line": 75, @@ -26716,7 +27237,7 @@ "start": 1891, "end": 1897, "length": 7, - "parent_index": 227 + "parent_index": 228 }, "name": "uint256", "referenced_declaration": 0, @@ -26729,7 +27250,7 @@ } ], "initial_value": { - "id": 229, + "id": 230, "node_type": 17, "kind": 49, "value": "0", @@ -26740,7 +27261,7 @@ "start": 1907, "end": 1907, "length": 1, - "parent_index": 226 + "parent_index": 227 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -26748,7 +27269,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, { @@ -26761,10 +27283,10 @@ "start": 1927, "end": 2246, "length": 320, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 230, + "id": 231, "is_constant": false, "is_pure": false, "node_type": 19, @@ -26777,7 +27299,7 @@ }, "operator": 9, "left_expression": { - "id": 231, + "id": 232, "node_type": 16, "src": { "line": 77, @@ -26785,7 +27307,7 @@ "start": 1933, "end": 1937, "length": 5, - "parent_index": 230 + "parent_index": 231 }, "name": "count", "type_description": { @@ -26793,11 +27315,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 232, + "id": 233, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -26809,7 +27332,7 @@ "start": 1941, "end": 1962, "length": 22, - "parent_index": 230 + "parent_index": 231 }, "member_location": { "line": 77, @@ -26817,10 +27340,10 @@ "start": 1957, "end": 1962, "length": 6, - "parent_index": 232 + "parent_index": 233 }, "expression": { - "id": 233, + "id": 234, "node_type": 16, "src": { "line": 77, @@ -26828,7 +27351,7 @@ "start": 1941, "end": 1955, "length": 15, - "parent_index": 232 + "parent_index": 233 }, "name": "playerAddresses", "type_description": { @@ -26836,15 +27359,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -26852,7 +27377,7 @@ } }, "body": { - "id": 234, + "id": 235, "node_type": 46, "kind": 0, "src": { @@ -26865,7 +27390,7 @@ "implemented": true, "statements": [ { - "id": 235, + "id": 236, "node_type": 48, "src": { "line": 78, @@ -26873,10 +27398,10 @@ "start": 1979, "end": 2083, "length": 105, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 236, + "id": 237, "is_constant": false, "is_pure": false, "node_type": 19, @@ -26886,11 +27411,11 @@ "start": 1982, "end": 1995, "length": 14, - "parent_index": 235 + "parent_index": 236 }, "operator": 11, "left_expression": { - "id": 237, + "id": 238, "node_type": 16, "src": { "line": 78, @@ -26898,7 +27423,7 @@ "start": 1982, "end": 1986, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "index", "type_description": { @@ -26906,11 +27431,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 208, - "is_pure": false + "referenced_declaration": 209, + "is_pure": false, + "text": "index" }, "right_expression": { - "id": 238, + "id": 239, "node_type": 16, "src": { "line": 78, @@ -26918,7 +27444,7 @@ "start": 1991, "end": 1995, "length": 5, - "parent_index": 236 + "parent_index": 237 }, "name": "count", "type_description": { @@ -26926,8 +27452,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_bool", @@ -26935,7 +27462,7 @@ } }, "body": { - "id": 239, + "id": 240, "node_type": 46, "kind": 0, "src": { @@ -26948,7 +27475,7 @@ "implemented": true, "statements": [ { - "id": 240, + "id": 241, "node_type": 27, "src": { "line": 79, @@ -26956,10 +27483,10 @@ "start": 2015, "end": 2046, "length": 32, - "parent_index": 239 + "parent_index": 240 }, "expression": { - "id": 241, + "id": 242, "node_type": 27, "src": { "line": 79, @@ -26967,11 +27494,11 @@ "start": 2015, "end": 2045, "length": 31, - "parent_index": 240 + "parent_index": 241 }, "operator": 11, "left_expression": { - "id": 242, + "id": 243, "node_type": 16, "src": { "line": 79, @@ -26979,7 +27506,7 @@ "start": 2015, "end": 2020, "length": 6, - "parent_index": 241 + "parent_index": 242 }, "name": "winner", "type_description": { @@ -26987,11 +27514,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 59, - "is_pure": false + "referenced_declaration": 60, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 243, + "id": 244, "node_type": 22, "src": { "line": 79, @@ -26999,10 +27527,10 @@ "start": 2024, "end": 2045, "length": 22, - "parent_index": 241 + "parent_index": 242 }, "index_expression": { - "id": 244, + "id": 245, "node_type": 16, "src": { "line": 79, @@ -27010,7 +27538,7 @@ "start": 2024, "end": 2038, "length": 15, - "parent_index": 243 + "parent_index": 244 }, "name": "playerAddresses", "type_description": { @@ -27018,11 +27546,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 245, + "id": 246, "node_type": 16, "src": { "line": 79, @@ -27030,7 +27559,7 @@ "start": 2040, "end": 2044, "length": 5, - "parent_index": 243 + "parent_index": 244 }, "name": "count", "type_description": { @@ -27038,8 +27567,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_descriptions": [ { @@ -27064,10 +27594,11 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "winner=playerAddresses[count];" }, { - "id": 246, + "id": 247, "node_type": 74, "src": { "line": 80, @@ -27075,14 +27606,14 @@ "start": 2064, "end": 2069, "length": 6, - "parent_index": 239 + "parent_index": 240 } } ] } }, { - "id": 247, + "id": 248, "node_type": 18, "kind": 105, "src": { @@ -27094,7 +27625,7 @@ }, "operator": 27, "expression": { - "id": 248, + "id": 249, "node_type": 16, "src": { "line": 83, @@ -27102,7 +27633,7 @@ "start": 2098, "end": 2102, "length": 5, - "parent_index": 247 + "parent_index": 248 }, "name": "count", "type_description": { @@ -27110,8 +27641,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "type_description": { "type_identifier": "t_uint256", @@ -27124,7 +27656,7 @@ "l_value_requested": false }, { - "id": 249, + "id": 250, "node_type": 48, "src": { "line": 86, @@ -27132,10 +27664,10 @@ "start": 2176, "end": 2236, "length": 61, - "parent_index": 234 + "parent_index": 235 }, "condition": { - "id": 250, + "id": 251, "is_constant": false, "is_pure": false, "node_type": 19, @@ -27145,11 +27677,11 @@ "start": 2180, "end": 2193, "length": 14, - "parent_index": 249 + "parent_index": 250 }, "operator": 11, "left_expression": { - "id": 251, + "id": 252, "is_constant": false, "is_pure": false, "node_type": 19, @@ -27159,11 +27691,11 @@ "start": 2180, "end": 2188, "length": 9, - "parent_index": 250 + "parent_index": 251 }, "operator": 5, "left_expression": { - "id": 252, + "id": 253, "node_type": 16, "src": { "line": 86, @@ -27171,7 +27703,7 @@ "start": 2180, "end": 2184, "length": 5, - "parent_index": 251 + "parent_index": 252 }, "name": "count", "type_description": { @@ -27179,11 +27711,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 226, - "is_pure": false + "referenced_declaration": 227, + "is_pure": false, + "text": "count" }, "right_expression": { - "id": 253, + "id": 254, "node_type": 17, "kind": 49, "value": "2", @@ -27194,7 +27727,7 @@ "start": 2188, "end": 2188, "length": 1, - "parent_index": 251 + "parent_index": 252 }, "type_description": { "type_identifier": "t_rational_2_by_1", @@ -27202,7 +27735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "2" }, "type_description": { "type_identifier": "t_uint256", @@ -27210,7 +27744,7 @@ } }, "right_expression": { - "id": 254, + "id": 255, "node_type": 17, "kind": 49, "value": "1", @@ -27221,7 +27755,7 @@ "start": 2193, "end": 2193, "length": 1, - "parent_index": 250 + "parent_index": 251 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -27229,7 +27763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_bool", @@ -27237,7 +27772,7 @@ } }, "body": { - "id": 255, + "id": 256, "node_type": 46, "kind": 0, "src": { @@ -27250,7 +27785,7 @@ "implemented": true, "statements": [ { - "id": 256, + "id": 257, "node_type": 75, "src": { "line": 87, @@ -27258,7 +27793,7 @@ "start": 2214, "end": 2222, "length": 9, - "parent_index": 255 + "parent_index": 256 } } ] @@ -27268,7 +27803,7 @@ } }, { - "id": 257, + "id": 258, "node_type": 48, "src": { "line": 91, @@ -27276,10 +27811,10 @@ "start": 2257, "end": 2329, "length": 73, - "parent_index": 202 + "parent_index": 203 }, "condition": { - "id": 258, + "id": 259, "is_constant": false, "is_pure": false, "node_type": 19, @@ -27289,11 +27824,11 @@ "start": 2261, "end": 2280, "length": 20, - "parent_index": 257 + "parent_index": 258 }, "operator": 11, "left_expression": { - "id": 259, + "id": 260, "node_type": 16, "src": { "line": 91, @@ -27301,7 +27836,7 @@ "start": 2261, "end": 2266, "length": 6, - "parent_index": 258 + "parent_index": 259 }, "name": "winner", "type_description": { @@ -27309,11 +27844,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" }, "right_expression": { - "id": 260, + "id": 261, "node_type": 24, "kind": 24, "src": { @@ -27322,7 +27858,7 @@ "start": 2271, "end": 2280, "length": 10, - "parent_index": 258 + "parent_index": 259 }, "argument_types": [ { @@ -27332,7 +27868,7 @@ ], "arguments": [ { - "id": 263, + "id": 264, "node_type": 17, "kind": 49, "value": "0", @@ -27343,7 +27879,7 @@ "start": 2279, "end": 2279, "length": 1, - "parent_index": 260 + "parent_index": 261 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -27351,11 +27887,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 261, + "id": 262, "node_type": 16, "src": { "line": 91, @@ -27363,11 +27900,11 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 260 + "parent_index": 261 }, "name": "address", "type_name": { - "id": 262, + "id": 263, "node_type": 30, "src": { "line": 91, @@ -27375,7 +27912,7 @@ "start": 2271, "end": 2277, "length": 7, - "parent_index": 261 + "parent_index": 262 }, "name": "address", "state_mutability": 4, @@ -27397,7 +27934,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -27410,7 +27948,7 @@ } }, "body": { - "id": 264, + "id": 265, "node_type": 46, "kind": 0, "src": { @@ -27419,12 +27957,12 @@ "start": 2283, "end": 2329, "length": 47, - "parent_index": 195 + "parent_index": 196 }, "implemented": true, "statements": [ { - "id": 265, + "id": 266, "node_type": 78, "src": { "line": 92, @@ -27432,11 +27970,11 @@ "start": 2297, "end": 2319, "length": 23, - "parent_index": 195 + "parent_index": 196 }, "arguments": [], "expression": { - "id": 266, + "id": 267, "node_type": 16, "src": { "line": 92, @@ -27444,23 +27982,24 @@ "start": 2304, "end": 2316, "length": 13, - "parent_index": 265 + "parent_index": 266 }, "name": "InvalidWinner", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" }, "overloaded_declarations": [], - "referenced_declaration": 79, - "is_pure": false + "referenced_declaration": 80, + "is_pure": false, + "text": "InvalidWinner" } } ] } }, { - "id": 267, + "id": 268, "node_type": 64, "src": { "line": 95, @@ -27468,11 +28007,11 @@ "start": 2340, "end": 2368, "length": 29, - "parent_index": 195 + "parent_index": 196 }, "arguments": [ { - "id": 268, + "id": 269, "node_type": 16, "src": { "line": 95, @@ -27480,7 +28019,7 @@ "start": 2361, "end": 2366, "length": 6, - "parent_index": 267 + "parent_index": 268 }, "name": "winner", "type_description": { @@ -27488,12 +28027,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "expression": { - "id": 269, + "id": 270, "node_type": 16, "src": { "line": 95, @@ -27501,20 +28041,21 @@ "start": 2345, "end": 2359, "length": 15, - "parent_index": 267 + "parent_index": 268 }, "name": "LotteryFinished", "type_description": { - "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002657", + "type_identifier": "t_event\u0026_Lottery_LotteryFinished_\u002658", "type_string": "event Lottery.LotteryFinished" }, "overloaded_declarations": [], - "referenced_declaration": 57, - "is_pure": false + "referenced_declaration": 58, + "is_pure": false, + "text": "LotteryFinished" } }, { - "id": 270, + "id": 271, "node_type": 44, "src": { "line": 97, @@ -27522,25 +28063,25 @@ "start": 2379, "end": 2418, "length": 40, - "parent_index": 202 + "parent_index": 203 }, "assignments": [ - 271 + 272 ], "declarations": [ { - "id": 271, + "id": 272, "state_mutability": 1, "name": "balance", "node_type": 44, - "scope": 202, + "scope": 203, "src": { "line": 97, "column": 8, "start": 2379, "end": 2393, "length": 15, - "parent_index": 270 + "parent_index": 271 }, "name_location": { "line": 97, @@ -27548,12 +28089,12 @@ "start": 2387, "end": 2393, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 272, + "id": 273, "node_type": 30, "src": { "line": 97, @@ -27561,7 +28102,7 @@ "start": 2379, "end": 2385, "length": 7, - "parent_index": 271 + "parent_index": 272 }, "name": "uint256", "referenced_declaration": 0, @@ -27574,7 +28115,7 @@ } ], "initial_value": { - "id": 273, + "id": 274, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27586,7 +28127,7 @@ "start": 2397, "end": 2417, "length": 21, - "parent_index": 270 + "parent_index": 271 }, "member_location": { "line": 97, @@ -27594,10 +28135,10 @@ "start": 2411, "end": 2417, "length": 7, - "parent_index": 273 + "parent_index": 274 }, "expression": { - "id": 274, + "id": 275, "node_type": 24, "kind": 24, "src": { @@ -27606,7 +28147,7 @@ "start": 2397, "end": 2409, "length": 13, - "parent_index": 270 + "parent_index": 271 }, "argument_types": [ { @@ -27616,7 +28157,7 @@ ], "arguments": [ { - "id": 277, + "id": 278, "node_type": 16, "src": { "line": 97, @@ -27624,7 +28165,7 @@ "start": 2405, "end": 2408, "length": 4, - "parent_index": 274 + "parent_index": 275 }, "name": "this", "type_description": { @@ -27633,11 +28174,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 275, + "id": 276, "node_type": 16, "src": { "line": 97, @@ -27645,11 +28187,11 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 274 + "parent_index": 275 }, "name": "address", "type_name": { - "id": 276, + "id": 277, "node_type": 30, "src": { "line": 97, @@ -27657,7 +28199,7 @@ "start": 2397, "end": 2403, "length": 7, - "parent_index": 275 + "parent_index": 276 }, "name": "address", "state_mutability": 4, @@ -27679,7 +28221,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27691,11 +28234,12 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } }, { - "id": 278, + "id": 279, "node_type": 24, "kind": 24, "src": { @@ -27704,7 +28248,7 @@ "start": 2428, "end": 2460, "length": 33, - "parent_index": 202 + "parent_index": 203 }, "argument_types": [ { @@ -27714,7 +28258,7 @@ ], "arguments": [ { - "id": 282, + "id": 283, "node_type": 16, "src": { "line": 98, @@ -27722,7 +28266,7 @@ "start": 2453, "end": 2459, "length": 7, - "parent_index": 278 + "parent_index": 279 }, "name": "balance", "type_description": { @@ -27730,12 +28274,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 270, - "is_pure": false + "referenced_declaration": 271, + "is_pure": false, + "text": "balance" } ], "expression": { - "id": 279, + "id": 280, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -27747,7 +28292,7 @@ "start": 2428, "end": 2451, "length": 24, - "parent_index": 278 + "parent_index": 279 }, "member_location": { "line": 98, @@ -27755,10 +28300,10 @@ "start": 2444, "end": 2451, "length": 8, - "parent_index": 279 + "parent_index": 280 }, "expression": { - "id": 280, + "id": 281, "node_type": 84, "src": { "line": 98, @@ -27766,11 +28311,11 @@ "start": 2428, "end": 2442, "length": 15, - "parent_index": 279 + "parent_index": 280 }, "arguments": [ { - "id": 281, + "id": 282, "node_type": 16, "src": { "line": 98, @@ -27778,7 +28323,7 @@ "start": 2436, "end": 2441, "length": 6, - "parent_index": 280 + "parent_index": 281 }, "name": "winner", "type_description": { @@ -27786,8 +28331,9 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 219, - "is_pure": false + "referenced_declaration": 220, + "is_pure": false, + "text": "winner" } ], "argument_types": [ @@ -27807,7 +28353,8 @@ "type_description": { "type_identifier": "t_function_payable$_t_address$", "type_string": "function(address) payable" - } + }, + "text": "payable(winner).transfer" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -27816,12 +28363,12 @@ } ] }, - "id": 202, + "id": 203, "node_type": 46, "kind": 0, "statements": [ { - "id": 278, + "id": 279, "node_type": 24, "kind": 24, "name": "", @@ -27854,7 +28401,7 @@ }, { "ast": { - "id": 284, + "id": 285, "name": "owner", "node_type": 42, "kind": 41, @@ -27872,10 +28419,10 @@ "start": 2483, "end": 2487, "length": 5, - "parent_index": 284 + "parent_index": 285 }, "body": { - "id": 291, + "id": 292, "node_type": 46, "kind": 0, "src": { @@ -27884,12 +28431,12 @@ "start": 2521, "end": 2557, "length": 37, - "parent_index": 284 + "parent_index": 285 }, "implemented": true, "statements": [ { - "id": 292, + "id": 293, "node_type": 47, "src": { "line": 102, @@ -27897,11 +28444,11 @@ "start": 2531, "end": 2551, "length": 21, - "parent_index": 284 + "parent_index": 285 }, - "function_return_parameters": 284, + "function_return_parameters": 285, "expression": { - "id": 293, + "id": 294, "node_type": 24, "kind": 24, "src": { @@ -27910,7 +28457,7 @@ "start": 2538, "end": 2550, "length": 13, - "parent_index": 292 + "parent_index": 293 }, "argument_types": [ { @@ -27920,7 +28467,7 @@ ], "arguments": [ { - "id": 296, + "id": 297, "node_type": 16, "src": { "line": 102, @@ -27928,7 +28475,7 @@ "start": 2546, "end": 2549, "length": 4, - "parent_index": 293 + "parent_index": 294 }, "name": "this", "type_description": { @@ -27937,11 +28484,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 294, + "id": 295, "node_type": 16, "src": { "line": 102, @@ -27949,11 +28497,11 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 293 + "parent_index": 294 }, "name": "address", "type_name": { - "id": 295, + "id": 296, "node_type": 30, "src": { "line": 102, @@ -27961,7 +28509,7 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 294 + "parent_index": 295 }, "name": "address", "state_mutability": 4, @@ -27983,7 +28531,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28000,7 +28549,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 285, + "id": 286, "node_type": 43, "src": { "line": 101, @@ -28008,11 +28557,11 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 284 + "parent_index": 285 }, "parameters": [ { - "id": 286, + "id": 287, "node_type": 44, "src": { "line": 101, @@ -28020,12 +28569,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 285 + "parent_index": 286 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 287, + "id": 288, "node_type": 30, "src": { "line": 101, @@ -28033,7 +28582,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 286 + "parent_index": 287 }, "name": "address", "state_mutability": 4, @@ -28060,7 +28609,7 @@ ] }, "return_parameters": { - "id": 288, + "id": 289, "node_type": 43, "src": { "line": 101, @@ -28068,11 +28617,11 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 284 + "parent_index": 285 }, "parameters": [ { - "id": 289, + "id": 290, "node_type": 44, "src": { "line": 101, @@ -28080,12 +28629,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 288 + "parent_index": 289 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 290, + "id": 291, "node_type": 30, "src": { "line": 101, @@ -28093,7 +28642,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 289 + "parent_index": 290 }, "name": "address", "state_mutability": 4, @@ -28125,9 +28674,10 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewreturns(address){returnaddress(this);}" }, - "id": 284, + "id": 285, "node_type": 42, "kind": 41, "name": "owner", @@ -28142,7 +28692,7 @@ "parameters": [ { "ast": { - "id": 286, + "id": 287, "node_type": 44, "src": { "line": 101, @@ -28150,12 +28700,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 285 + "parent_index": 286 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 287, + "id": 288, "node_type": 30, "src": { "line": 101, @@ -28163,7 +28713,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 286 + "parent_index": 287 }, "name": "address", "state_mutability": 4, @@ -28181,7 +28731,7 @@ "type_string": "address" } }, - "id": 286, + "id": 287, "node_type": 44, "name": "", "type": "address", @@ -28194,7 +28744,7 @@ ], "body": { "ast": { - "id": 291, + "id": 292, "node_type": 46, "kind": 0, "src": { @@ -28203,12 +28753,12 @@ "start": 2521, "end": 2557, "length": 37, - "parent_index": 284 + "parent_index": 285 }, "implemented": true, "statements": [ { - "id": 292, + "id": 293, "node_type": 47, "src": { "line": 102, @@ -28216,11 +28766,11 @@ "start": 2531, "end": 2551, "length": 21, - "parent_index": 284 + "parent_index": 285 }, - "function_return_parameters": 284, + "function_return_parameters": 285, "expression": { - "id": 293, + "id": 294, "node_type": 24, "kind": 24, "src": { @@ -28229,7 +28779,7 @@ "start": 2538, "end": 2550, "length": 13, - "parent_index": 292 + "parent_index": 293 }, "argument_types": [ { @@ -28239,7 +28789,7 @@ ], "arguments": [ { - "id": 296, + "id": 297, "node_type": 16, "src": { "line": 102, @@ -28247,7 +28797,7 @@ "start": 2546, "end": 2549, "length": 4, - "parent_index": 293 + "parent_index": 294 }, "name": "this", "type_description": { @@ -28256,11 +28806,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 294, + "id": 295, "node_type": 16, "src": { "line": 102, @@ -28268,11 +28819,11 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 293 + "parent_index": 294 }, "name": "address", "type_name": { - "id": 295, + "id": 296, "node_type": 30, "src": { "line": 102, @@ -28280,7 +28831,7 @@ "start": 2538, "end": 2544, "length": 7, - "parent_index": 294 + "parent_index": 295 }, "name": "address", "state_mutability": 4, @@ -28302,7 +28853,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28312,7 +28864,7 @@ } ] }, - "id": 291, + "id": 292, "node_type": 46, "kind": 0, "statements": [] @@ -28320,7 +28872,7 @@ "return": [ { "ast": { - "id": 289, + "id": 290, "node_type": 44, "src": { "line": 101, @@ -28328,12 +28880,12 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 288 + "parent_index": 289 }, - "scope": 284, + "scope": 285, "name": "", "type_name": { - "id": 290, + "id": 291, "node_type": 30, "src": { "line": 101, @@ -28341,7 +28893,7 @@ "start": 2512, "end": 2518, "length": 7, - "parent_index": 289 + "parent_index": 290 }, "name": "address", "state_mutability": 4, @@ -28359,7 +28911,7 @@ "type_string": "address" } }, - "id": 289, + "id": 290, "node_type": 44, "name": "", "type": "address", @@ -28381,7 +28933,7 @@ }, { "ast": { - "id": 298, + "id": 299, "name": "balance", "node_type": 42, "kind": 41, @@ -28399,10 +28951,10 @@ "start": 2573, "end": 2579, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "body": { - "id": 305, + "id": 306, "node_type": 46, "kind": 0, "src": { @@ -28411,12 +28963,12 @@ "start": 2613, "end": 2657, "length": 45, - "parent_index": 298 + "parent_index": 299 }, "implemented": true, "statements": [ { - "id": 306, + "id": 307, "node_type": 47, "src": { "line": 106, @@ -28424,11 +28976,11 @@ "start": 2623, "end": 2651, "length": 29, - "parent_index": 298 + "parent_index": 299 }, - "function_return_parameters": 298, + "function_return_parameters": 299, "expression": { - "id": 307, + "id": 308, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -28440,7 +28992,7 @@ "start": 2630, "end": 2650, "length": 21, - "parent_index": 306 + "parent_index": 307 }, "member_location": { "line": 106, @@ -28448,10 +29000,10 @@ "start": 2644, "end": 2650, "length": 7, - "parent_index": 307 + "parent_index": 308 }, "expression": { - "id": 308, + "id": 309, "node_type": 24, "kind": 24, "src": { @@ -28460,7 +29012,7 @@ "start": 2630, "end": 2642, "length": 13, - "parent_index": 307 + "parent_index": 308 }, "argument_types": [ { @@ -28470,7 +29022,7 @@ ], "arguments": [ { - "id": 311, + "id": 312, "node_type": 16, "src": { "line": 106, @@ -28478,7 +29030,7 @@ "start": 2638, "end": 2641, "length": 4, - "parent_index": 308 + "parent_index": 309 }, "name": "this", "type_description": { @@ -28487,11 +29039,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 309, + "id": 310, "node_type": 16, "src": { "line": 106, @@ -28499,11 +29052,11 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 308 + "parent_index": 309 }, "name": "address", "type_name": { - "id": 310, + "id": 311, "node_type": 30, "src": { "line": 106, @@ -28511,7 +29064,7 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 309 + "parent_index": 310 }, "name": "address", "state_mutability": 4, @@ -28533,7 +29086,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28545,7 +29099,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } } ] @@ -28557,7 +29112,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 299, + "id": 300, "node_type": 43, "src": { "line": 105, @@ -28565,11 +29120,11 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "parameters": [ { - "id": 300, + "id": 301, "node_type": 44, "src": { "line": 105, @@ -28577,12 +29132,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 299 + "parent_index": 300 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 301, + "id": 302, "node_type": 30, "src": { "line": 105, @@ -28590,7 +29145,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 300 + "parent_index": 301 }, "name": "uint256", "referenced_declaration": 0, @@ -28616,7 +29171,7 @@ ] }, "return_parameters": { - "id": 302, + "id": 303, "node_type": 43, "src": { "line": 105, @@ -28624,11 +29179,11 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 298 + "parent_index": 299 }, "parameters": [ { - "id": 303, + "id": 304, "node_type": 44, "src": { "line": 105, @@ -28636,12 +29191,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 302 + "parent_index": 303 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 304, + "id": 305, "node_type": 30, "src": { "line": 105, @@ -28649,7 +29204,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 303 + "parent_index": 304 }, "name": "uint256", "referenced_declaration": 0, @@ -28680,9 +29235,10 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbalance()publicviewreturns(uint256){returnaddress(this).balance;}" }, - "id": 298, + "id": 299, "node_type": 42, "kind": 41, "name": "balance", @@ -28697,7 +29253,7 @@ "parameters": [ { "ast": { - "id": 300, + "id": 301, "node_type": 44, "src": { "line": 105, @@ -28705,12 +29261,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 299 + "parent_index": 300 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 301, + "id": 302, "node_type": 30, "src": { "line": 105, @@ -28718,7 +29274,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 300 + "parent_index": 301 }, "name": "uint256", "referenced_declaration": 0, @@ -28735,7 +29291,7 @@ "type_string": "uint256" } }, - "id": 300, + "id": 301, "node_type": 44, "name": "", "type": "uint256", @@ -28748,7 +29304,7 @@ ], "body": { "ast": { - "id": 305, + "id": 306, "node_type": 46, "kind": 0, "src": { @@ -28757,12 +29313,12 @@ "start": 2613, "end": 2657, "length": 45, - "parent_index": 298 + "parent_index": 299 }, "implemented": true, "statements": [ { - "id": 306, + "id": 307, "node_type": 47, "src": { "line": 106, @@ -28770,11 +29326,11 @@ "start": 2623, "end": 2651, "length": 29, - "parent_index": 298 + "parent_index": 299 }, - "function_return_parameters": 298, + "function_return_parameters": 299, "expression": { - "id": 307, + "id": 308, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -28786,7 +29342,7 @@ "start": 2630, "end": 2650, "length": 21, - "parent_index": 306 + "parent_index": 307 }, "member_location": { "line": 106, @@ -28794,10 +29350,10 @@ "start": 2644, "end": 2650, "length": 7, - "parent_index": 307 + "parent_index": 308 }, "expression": { - "id": 308, + "id": 309, "node_type": 24, "kind": 24, "src": { @@ -28806,7 +29362,7 @@ "start": 2630, "end": 2642, "length": 13, - "parent_index": 307 + "parent_index": 308 }, "argument_types": [ { @@ -28816,7 +29372,7 @@ ], "arguments": [ { - "id": 311, + "id": 312, "node_type": 16, "src": { "line": 106, @@ -28824,7 +29380,7 @@ "start": 2638, "end": 2641, "length": 4, - "parent_index": 308 + "parent_index": 309 }, "name": "this", "type_description": { @@ -28833,11 +29389,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { - "id": 309, + "id": 310, "node_type": 16, "src": { "line": 106, @@ -28845,11 +29402,11 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 308 + "parent_index": 309 }, "name": "address", "type_name": { - "id": 310, + "id": 311, "node_type": 30, "src": { "line": 106, @@ -28857,7 +29414,7 @@ "start": 2630, "end": 2636, "length": 7, - "parent_index": 309 + "parent_index": 310 }, "name": "address", "state_mutability": 4, @@ -28879,7 +29436,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -28891,12 +29449,13 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" } } ] }, - "id": 305, + "id": 306, "node_type": 46, "kind": 0, "statements": [] @@ -28904,7 +29463,7 @@ "return": [ { "ast": { - "id": 303, + "id": 304, "node_type": 44, "src": { "line": 105, @@ -28912,12 +29471,12 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 302 + "parent_index": 303 }, - "scope": 298, + "scope": 299, "name": "", "type_name": { - "id": 304, + "id": 305, "node_type": 30, "src": { "line": 105, @@ -28925,7 +29484,7 @@ "start": 2604, "end": 2610, "length": 7, - "parent_index": 303 + "parent_index": 304 }, "name": "uint256", "referenced_declaration": 0, @@ -28942,7 +29501,7 @@ "type_string": "uint256" } }, - "id": 303, + "id": 304, "node_type": 44, "name": "", "type": "uint256", @@ -28964,7 +29523,7 @@ }, { "ast": { - "id": 313, + "id": 314, "name": "checkAllPlayers", "node_type": 42, "kind": 41, @@ -28982,10 +29541,10 @@ "start": 2708, "end": 2722, "length": 15, - "parent_index": 313 + "parent_index": 314 }, "body": { - "id": 320, + "id": 321, "node_type": 46, "kind": 0, "src": { @@ -28994,12 +29553,12 @@ "start": 2753, "end": 2977, "length": 225, - "parent_index": 313 + "parent_index": 314 }, "implemented": true, "statements": [ { - "id": 321, + "id": 322, "node_type": 79, "src": { "line": 111, @@ -29007,10 +29566,10 @@ "start": 2763, "end": 2950, "length": 188, - "parent_index": 320 + "parent_index": 321 }, "initialiser": { - "id": 322, + "id": 323, "node_type": 44, "src": { "line": 111, @@ -29018,25 +29577,25 @@ "start": 2768, "end": 2778, "length": 11, - "parent_index": 320 + "parent_index": 321 }, "assignments": [ - 323 + 324 ], "declarations": [ { - "id": 323, + "id": 324, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 320, + "scope": 321, "src": { "line": 111, "column": 13, "start": 2768, "end": 2773, "length": 6, - "parent_index": 322 + "parent_index": 323 }, "name_location": { "line": 111, @@ -29044,12 +29603,12 @@ "start": 2773, "end": 2773, "length": 1, - "parent_index": 323 + "parent_index": 324 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 324, + "id": 325, "node_type": 30, "src": { "line": 111, @@ -29057,7 +29616,7 @@ "start": 2768, "end": 2771, "length": 4, - "parent_index": 323 + "parent_index": 324 }, "name": "uint", "referenced_declaration": 0, @@ -29070,7 +29629,7 @@ } ], "initial_value": { - "id": 325, + "id": 326, "node_type": 17, "kind": 49, "value": "0", @@ -29081,7 +29640,7 @@ "start": 2777, "end": 2777, "length": 1, - "parent_index": 322 + "parent_index": 323 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -29089,11 +29648,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 326, + "id": 327, "is_constant": false, "is_pure": false, "node_type": 19, @@ -29103,11 +29663,11 @@ "start": 2780, "end": 2805, "length": 26, - "parent_index": 321 + "parent_index": 322 }, "operator": 9, "left_expression": { - "id": 327, + "id": 328, "node_type": 16, "src": { "line": 111, @@ -29115,7 +29675,7 @@ "start": 2780, "end": 2780, "length": 1, - "parent_index": 326 + "parent_index": 327 }, "name": "i", "type_description": { @@ -29123,11 +29683,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 328, + "id": 329, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -29139,7 +29700,7 @@ "start": 2784, "end": 2805, "length": 22, - "parent_index": 326 + "parent_index": 327 }, "member_location": { "line": 111, @@ -29147,10 +29708,10 @@ "start": 2800, "end": 2805, "length": 6, - "parent_index": 328 + "parent_index": 329 }, "expression": { - "id": 329, + "id": 330, "node_type": 16, "src": { "line": 111, @@ -29158,7 +29719,7 @@ "start": 2784, "end": 2798, "length": 15, - "parent_index": 328 + "parent_index": 329 }, "name": "playerAddresses", "type_description": { @@ -29166,15 +29727,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -29182,7 +29745,7 @@ } }, "closure": { - "id": 330, + "id": 331, "node_type": 18, "kind": 105, "src": { @@ -29191,11 +29754,11 @@ "start": 2808, "end": 2810, "length": 3, - "parent_index": 313 + "parent_index": 314 }, "operator": 27, "expression": { - "id": 331, + "id": 332, "node_type": 16, "src": { "line": 111, @@ -29203,7 +29766,7 @@ "start": 2808, "end": 2808, "length": 1, - "parent_index": 330 + "parent_index": 331 }, "name": "i", "type_description": { @@ -29211,8 +29774,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -29225,7 +29789,7 @@ "l_value_requested": false }, "body": { - "id": 332, + "id": 333, "node_type": 46, "kind": 0, "src": { @@ -29234,12 +29798,12 @@ "start": 2813, "end": 2950, "length": 138, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 333, + "id": 334, "node_type": 48, "src": { "line": 112, @@ -29247,10 +29811,10 @@ "start": 2827, "end": 2940, "length": 114, - "parent_index": 332 + "parent_index": 333 }, "condition": { - "id": 334, + "id": 335, "is_constant": false, "is_pure": false, "node_type": 19, @@ -29260,11 +29824,11 @@ "start": 2831, "end": 2876, "length": 46, - "parent_index": 333 + "parent_index": 334 }, "operator": 11, "left_expression": { - "id": 335, + "id": 336, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -29276,7 +29840,7 @@ "start": 2831, "end": 2862, "length": 32, - "parent_index": 334 + "parent_index": 335 }, "member_location": { "line": 112, @@ -29284,10 +29848,10 @@ "start": 2859, "end": 2862, "length": 4, - "parent_index": 335 + "parent_index": 336 }, "expression": { - "id": 336, + "id": 337, "node_type": 22, "src": { "line": 112, @@ -29295,10 +29859,10 @@ "start": 2831, "end": 2857, "length": 27, - "parent_index": 335 + "parent_index": 336 }, "index_expression": { - "id": 337, + "id": 338, "node_type": 16, "src": { "line": 112, @@ -29306,19 +29870,20 @@ "start": 2831, "end": 2837, "length": 7, - "parent_index": 336 + "parent_index": 337 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 338, + "id": 339, "node_type": 22, "src": { "line": 112, @@ -29326,10 +29891,10 @@ "start": 2839, "end": 2856, "length": 18, - "parent_index": 336 + "parent_index": 337 }, "index_expression": { - "id": 339, + "id": 340, "node_type": 16, "src": { "line": 112, @@ -29337,7 +29902,7 @@ "start": 2839, "end": 2853, "length": 15, - "parent_index": 338 + "parent_index": 339 }, "name": "playerAddresses", "type_description": { @@ -29345,11 +29910,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 340, + "id": 341, "node_type": 16, "src": { "line": 112, @@ -29357,7 +29923,7 @@ "start": 2855, "end": 2855, "length": 1, - "parent_index": 338 + "parent_index": 339 }, "name": "i", "type_description": { @@ -29365,8 +29931,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -29385,7 +29952,7 @@ }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -29394,19 +29961,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" - } + }, + "text": "players[playerAddresses[i]].addr" }, "right_expression": { - "id": 341, + "id": 342, "node_type": 24, "kind": 24, "src": { @@ -29415,7 +29983,7 @@ "start": 2867, "end": 2876, "length": 10, - "parent_index": 334 + "parent_index": 335 }, "argument_types": [ { @@ -29425,7 +29993,7 @@ ], "arguments": [ { - "id": 344, + "id": 345, "node_type": 17, "kind": 49, "value": "0", @@ -29436,7 +30004,7 @@ "start": 2875, "end": 2875, "length": 1, - "parent_index": 341 + "parent_index": 342 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -29444,11 +30012,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 342, + "id": 343, "node_type": 16, "src": { "line": 112, @@ -29456,11 +30025,11 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 341 + "parent_index": 342 }, "name": "address", "type_name": { - "id": 343, + "id": 344, "node_type": 30, "src": { "line": 112, @@ -29468,7 +30037,7 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 342 + "parent_index": 343 }, "name": "address", "state_mutability": 4, @@ -29490,7 +30059,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -29503,7 +30073,7 @@ } }, "body": { - "id": 345, + "id": 346, "node_type": 46, "kind": 0, "src": { @@ -29512,12 +30082,12 @@ "start": 2879, "end": 2940, "length": 62, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 346, + "id": 347, "node_type": 78, "src": { "line": 113, @@ -29525,11 +30095,11 @@ "start": 2897, "end": 2926, "length": 30, - "parent_index": 321 + "parent_index": 322 }, "arguments": [], "expression": { - "id": 347, + "id": 348, "node_type": 16, "src": { "line": 113, @@ -29537,16 +30107,17 @@ "start": 2904, "end": 2923, "length": 20, - "parent_index": 346 + "parent_index": 347 }, "name": "InvalidPlayerAddress", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" }, "overloaded_declarations": [], - "referenced_declaration": 82, - "is_pure": false + "referenced_declaration": 83, + "is_pure": false, + "text": "InvalidPlayerAddress" } } ] @@ -29556,7 +30127,7 @@ } }, { - "id": 348, + "id": 349, "node_type": 47, "src": { "line": 116, @@ -29564,11 +30135,11 @@ "start": 2960, "end": 2971, "length": 12, - "parent_index": 313 + "parent_index": 314 }, - "function_return_parameters": 313, + "function_return_parameters": 314, "expression": { - "id": 349, + "id": 350, "node_type": 17, "kind": 61, "value": "true", @@ -29579,7 +30150,7 @@ "start": 2967, "end": 2970, "length": 4, - "parent_index": 348 + "parent_index": 349 }, "type_description": { "type_identifier": "t_bool", @@ -29587,7 +30158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] @@ -29599,7 +30171,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 314, + "id": 315, "node_type": 43, "src": { "line": 110, @@ -29607,11 +30179,11 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 313 + "parent_index": 314 }, "parameters": [ { - "id": 315, + "id": 316, "node_type": 44, "src": { "line": 110, @@ -29619,12 +30191,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 314 + "parent_index": 315 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 316, + "id": 317, "node_type": 30, "src": { "line": 110, @@ -29632,7 +30204,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 315 + "parent_index": 316 }, "name": "bool", "referenced_declaration": 0, @@ -29658,7 +30230,7 @@ ] }, "return_parameters": { - "id": 317, + "id": 318, "node_type": 43, "src": { "line": 110, @@ -29666,11 +30238,11 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 313 + "parent_index": 314 }, "parameters": [ { - "id": 318, + "id": 319, "node_type": 44, "src": { "line": 110, @@ -29678,12 +30250,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 317 + "parent_index": 318 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 319, + "id": 320, "node_type": 30, "src": { "line": 110, @@ -29691,7 +30263,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 318 + "parent_index": 319 }, "name": "bool", "referenced_declaration": 0, @@ -29722,9 +30294,10 @@ "type_description": { "type_identifier": "t_function_$_t_bool$", "type_string": "function(bool)" - } + }, + "text": "functioncheckAllPlayers()publicviewreturns(bool){for(uinti=0;i\u003cplayerAddresses.length;i++){if(players[playerAddresses[i]].addr==address(0)){revertInvalidPlayerAddress();}}returntrue;}" }, - "id": 313, + "id": 314, "node_type": 42, "kind": 41, "name": "checkAllPlayers", @@ -29739,7 +30312,7 @@ "parameters": [ { "ast": { - "id": 315, + "id": 316, "node_type": 44, "src": { "line": 110, @@ -29747,12 +30320,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 314 + "parent_index": 315 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 316, + "id": 317, "node_type": 30, "src": { "line": 110, @@ -29760,7 +30333,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 315 + "parent_index": 316 }, "name": "bool", "referenced_declaration": 0, @@ -29777,7 +30350,7 @@ "type_string": "bool" } }, - "id": 315, + "id": 316, "node_type": 44, "name": "", "type": "bool", @@ -29790,7 +30363,7 @@ ], "body": { "ast": { - "id": 320, + "id": 321, "node_type": 46, "kind": 0, "src": { @@ -29799,12 +30372,12 @@ "start": 2753, "end": 2977, "length": 225, - "parent_index": 313 + "parent_index": 314 }, "implemented": true, "statements": [ { - "id": 321, + "id": 322, "node_type": 79, "src": { "line": 111, @@ -29812,10 +30385,10 @@ "start": 2763, "end": 2950, "length": 188, - "parent_index": 320 + "parent_index": 321 }, "initialiser": { - "id": 322, + "id": 323, "node_type": 44, "src": { "line": 111, @@ -29823,25 +30396,25 @@ "start": 2768, "end": 2778, "length": 11, - "parent_index": 320 + "parent_index": 321 }, "assignments": [ - 323 + 324 ], "declarations": [ { - "id": 323, + "id": 324, "state_mutability": 1, "name": "i", "node_type": 44, - "scope": 320, + "scope": 321, "src": { "line": 111, "column": 13, "start": 2768, "end": 2773, "length": 6, - "parent_index": 322 + "parent_index": 323 }, "name_location": { "line": 111, @@ -29849,12 +30422,12 @@ "start": 2773, "end": 2773, "length": 1, - "parent_index": 323 + "parent_index": 324 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 324, + "id": 325, "node_type": 30, "src": { "line": 111, @@ -29862,7 +30435,7 @@ "start": 2768, "end": 2771, "length": 4, - "parent_index": 323 + "parent_index": 324 }, "name": "uint", "referenced_declaration": 0, @@ -29875,7 +30448,7 @@ } ], "initial_value": { - "id": 325, + "id": 326, "node_type": 17, "kind": 49, "value": "0", @@ -29886,7 +30459,7 @@ "start": 2777, "end": 2777, "length": 1, - "parent_index": 322 + "parent_index": 323 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -29894,11 +30467,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } }, "condition": { - "id": 326, + "id": 327, "is_constant": false, "is_pure": false, "node_type": 19, @@ -29908,11 +30482,11 @@ "start": 2780, "end": 2805, "length": 26, - "parent_index": 321 + "parent_index": 322 }, "operator": 9, "left_expression": { - "id": 327, + "id": 328, "node_type": 16, "src": { "line": 111, @@ -29920,7 +30494,7 @@ "start": 2780, "end": 2780, "length": 1, - "parent_index": 326 + "parent_index": 327 }, "name": "i", "type_description": { @@ -29928,11 +30502,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "right_expression": { - "id": 328, + "id": 329, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -29944,7 +30519,7 @@ "start": 2784, "end": 2805, "length": 22, - "parent_index": 326 + "parent_index": 327 }, "member_location": { "line": 111, @@ -29952,10 +30527,10 @@ "start": 2800, "end": 2805, "length": 6, - "parent_index": 328 + "parent_index": 329 }, "expression": { - "id": 329, + "id": 330, "node_type": 16, "src": { "line": 111, @@ -29963,7 +30538,7 @@ "start": 2784, "end": 2798, "length": 15, - "parent_index": 328 + "parent_index": 329 }, "name": "playerAddresses", "type_description": { @@ -29971,15 +30546,17 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "playerAddresses.length" }, "type_description": { "type_identifier": "t_bool", @@ -29987,7 +30564,7 @@ } }, "closure": { - "id": 330, + "id": 331, "node_type": 18, "kind": 105, "src": { @@ -29996,11 +30573,11 @@ "start": 2808, "end": 2810, "length": 3, - "parent_index": 313 + "parent_index": 314 }, "operator": 27, "expression": { - "id": 331, + "id": 332, "node_type": 16, "src": { "line": 111, @@ -30008,7 +30585,7 @@ "start": 2808, "end": 2808, "length": 1, - "parent_index": 330 + "parent_index": 331 }, "name": "i", "type_description": { @@ -30016,8 +30593,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_description": { "type_identifier": "t_uint256", @@ -30030,7 +30608,7 @@ "l_value_requested": false }, "body": { - "id": 332, + "id": 333, "node_type": 46, "kind": 0, "src": { @@ -30039,12 +30617,12 @@ "start": 2813, "end": 2950, "length": 138, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 333, + "id": 334, "node_type": 48, "src": { "line": 112, @@ -30052,10 +30630,10 @@ "start": 2827, "end": 2940, "length": 114, - "parent_index": 332 + "parent_index": 333 }, "condition": { - "id": 334, + "id": 335, "is_constant": false, "is_pure": false, "node_type": 19, @@ -30065,11 +30643,11 @@ "start": 2831, "end": 2876, "length": 46, - "parent_index": 333 + "parent_index": 334 }, "operator": 11, "left_expression": { - "id": 335, + "id": 336, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -30081,7 +30659,7 @@ "start": 2831, "end": 2862, "length": 32, - "parent_index": 334 + "parent_index": 335 }, "member_location": { "line": 112, @@ -30089,10 +30667,10 @@ "start": 2859, "end": 2862, "length": 4, - "parent_index": 335 + "parent_index": 336 }, "expression": { - "id": 336, + "id": 337, "node_type": 22, "src": { "line": 112, @@ -30100,10 +30678,10 @@ "start": 2831, "end": 2857, "length": 27, - "parent_index": 335 + "parent_index": 336 }, "index_expression": { - "id": 337, + "id": 338, "node_type": 16, "src": { "line": 112, @@ -30111,19 +30689,20 @@ "start": 2831, "end": 2837, "length": 7, - "parent_index": 336 + "parent_index": 337 }, "name": "players", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, "overloaded_declarations": [], "referenced_declaration": 40, - "is_pure": false + "is_pure": false, + "text": "players" }, "base_expression": { - "id": 338, + "id": 339, "node_type": 22, "src": { "line": 112, @@ -30131,10 +30710,10 @@ "start": 2839, "end": 2856, "length": 18, - "parent_index": 336 + "parent_index": 337 }, "index_expression": { - "id": 339, + "id": 340, "node_type": 16, "src": { "line": 112, @@ -30142,7 +30721,7 @@ "start": 2839, "end": 2853, "length": 15, - "parent_index": 338 + "parent_index": 339 }, "name": "playerAddresses", "type_description": { @@ -30150,11 +30729,12 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 45, - "is_pure": false + "referenced_declaration": 46, + "is_pure": false, + "text": "playerAddresses" }, "base_expression": { - "id": 340, + "id": 341, "node_type": 16, "src": { "line": 112, @@ -30162,7 +30742,7 @@ "start": 2855, "end": 2855, "length": 1, - "parent_index": 338 + "parent_index": 339 }, "name": "i", "type_description": { @@ -30170,8 +30750,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 322, - "is_pure": false + "referenced_declaration": 323, + "is_pure": false, + "text": "i" }, "type_descriptions": [ { @@ -30190,7 +30771,7 @@ }, "type_descriptions": [ { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" }, { @@ -30199,19 +30780,20 @@ } ], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" } }, "member_name": "addr", "argument_types": [], "type_description": { - "type_identifier": "t_[_[$_t_mapping_$t_address_$t_Player$]$_t_[_[$_t_address]$_t_uint256]$", + "type_identifier": "t_[_[$_t_mapping_$t_address_$t_struct$_Lottery_Player_$34$]$_t_[_[$_t_address]$_t_uint256]$", "type_string": "index[mapping(address=\u003ePlayer):index[address:uint256]]" - } + }, + "text": "players[playerAddresses[i]].addr" }, "right_expression": { - "id": 341, + "id": 342, "node_type": 24, "kind": 24, "src": { @@ -30220,7 +30802,7 @@ "start": 2867, "end": 2876, "length": 10, - "parent_index": 334 + "parent_index": 335 }, "argument_types": [ { @@ -30230,7 +30812,7 @@ ], "arguments": [ { - "id": 344, + "id": 345, "node_type": 17, "kind": 49, "value": "0", @@ -30241,7 +30823,7 @@ "start": 2875, "end": 2875, "length": 1, - "parent_index": 341 + "parent_index": 342 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -30249,11 +30831,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { - "id": 342, + "id": 343, "node_type": 16, "src": { "line": 112, @@ -30261,11 +30844,11 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 341 + "parent_index": 342 }, "name": "address", "type_name": { - "id": 343, + "id": 344, "node_type": 30, "src": { "line": 112, @@ -30273,7 +30856,7 @@ "start": 2867, "end": 2873, "length": 7, - "parent_index": 342 + "parent_index": 343 }, "name": "address", "state_mutability": 4, @@ -30295,7 +30878,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -30308,7 +30892,7 @@ } }, "body": { - "id": 345, + "id": 346, "node_type": 46, "kind": 0, "src": { @@ -30317,12 +30901,12 @@ "start": 2879, "end": 2940, "length": 62, - "parent_index": 321 + "parent_index": 322 }, "implemented": true, "statements": [ { - "id": 346, + "id": 347, "node_type": 78, "src": { "line": 113, @@ -30330,11 +30914,11 @@ "start": 2897, "end": 2926, "length": 30, - "parent_index": 321 + "parent_index": 322 }, "arguments": [], "expression": { - "id": 347, + "id": 348, "node_type": 16, "src": { "line": 113, @@ -30342,16 +30926,17 @@ "start": 2904, "end": 2923, "length": 20, - "parent_index": 346 + "parent_index": 347 }, "name": "InvalidPlayerAddress", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" }, "overloaded_declarations": [], - "referenced_declaration": 82, - "is_pure": false + "referenced_declaration": 83, + "is_pure": false, + "text": "InvalidPlayerAddress" } } ] @@ -30361,7 +30946,7 @@ } }, { - "id": 348, + "id": 349, "node_type": 47, "src": { "line": 116, @@ -30369,11 +30954,11 @@ "start": 2960, "end": 2971, "length": 12, - "parent_index": 313 + "parent_index": 314 }, - "function_return_parameters": 313, + "function_return_parameters": 314, "expression": { - "id": 349, + "id": 350, "node_type": 17, "kind": 61, "value": "true", @@ -30384,7 +30969,7 @@ "start": 2967, "end": 2970, "length": 4, - "parent_index": 348 + "parent_index": 349 }, "type_description": { "type_identifier": "t_bool", @@ -30392,12 +30977,13 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" } } ] }, - "id": 320, + "id": 321, "node_type": 46, "kind": 0, "statements": [] @@ -30405,7 +30991,7 @@ "return": [ { "ast": { - "id": 318, + "id": 319, "node_type": 44, "src": { "line": 110, @@ -30413,12 +30999,12 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 317 + "parent_index": 318 }, - "scope": 313, + "scope": 314, "name": "", "type_name": { - "id": 319, + "id": 320, "node_type": 30, "src": { "line": 110, @@ -30426,7 +31012,7 @@ "start": 2747, "end": 2750, "length": 4, - "parent_index": 318 + "parent_index": 319 }, "name": "bool", "referenced_declaration": 0, @@ -30443,7 +31029,7 @@ "type_string": "bool" } }, - "id": 318, + "id": 319, "node_type": 44, "name": "", "type": "bool", @@ -30465,7 +31051,7 @@ }, { "ast": { - "id": 351, + "id": 352, "name": "requireOwner", "node_type": 42, "kind": 41, @@ -30483,10 +31069,10 @@ "start": 3026, "end": 3037, "length": 12, - "parent_index": 351 + "parent_index": 352 }, "body": { - "id": 354, + "id": 355, "node_type": 46, "kind": 0, "src": { @@ -30495,12 +31081,12 @@ "start": 3053, "end": 3145, "length": 93, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 355, + "id": 356, "node_type": 48, "src": { "line": 121, @@ -30508,10 +31094,10 @@ "start": 3063, "end": 3139, "length": 77, - "parent_index": 354 + "parent_index": 355 }, "condition": { - "id": 356, + "id": 357, "is_constant": false, "is_pure": false, "node_type": 19, @@ -30521,11 +31107,11 @@ "start": 3067, "end": 3087, "length": 21, - "parent_index": 355 + "parent_index": 356 }, "operator": 12, "left_expression": { - "id": 357, + "id": 358, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -30537,7 +31123,7 @@ "start": 3067, "end": 3076, "length": 10, - "parent_index": 356 + "parent_index": 357 }, "member_location": { "line": 121, @@ -30545,10 +31131,10 @@ "start": 3071, "end": 3076, "length": 6, - "parent_index": 357 + "parent_index": 358 }, "expression": { - "id": 358, + "id": 359, "node_type": 16, "src": { "line": 121, @@ -30556,7 +31142,7 @@ "start": 3067, "end": 3069, "length": 3, - "parent_index": 357 + "parent_index": 358 }, "name": "msg", "type_description": { @@ -30565,17 +31151,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 359, + "id": 360, "node_type": 24, "kind": 24, "src": { @@ -30584,12 +31172,12 @@ "start": 3081, "end": 3087, "length": 7, - "parent_index": 356 + "parent_index": 357 }, "argument_types": [], "arguments": [], "expression": { - "id": 360, + "id": 361, "node_type": 16, "src": { "line": 121, @@ -30597,7 +31185,7 @@ "start": 3081, "end": 3085, "length": 5, - "parent_index": 359 + "parent_index": 360 }, "name": "owner", "type_description": { @@ -30606,7 +31194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -30619,7 +31208,7 @@ } }, "body": { - "id": 361, + "id": 362, "node_type": 46, "kind": 0, "src": { @@ -30628,12 +31217,12 @@ "start": 3090, "end": 3139, "length": 50, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 362, + "id": 363, "node_type": 78, "src": { "line": 122, @@ -30641,11 +31230,11 @@ "start": 3104, "end": 3129, "length": 26, - "parent_index": 351 + "parent_index": 352 }, "arguments": [], "expression": { - "id": 363, + "id": 364, "node_type": 16, "src": { "line": 122, @@ -30653,16 +31242,17 @@ "start": 3111, "end": 3126, "length": 16, - "parent_index": 362 + "parent_index": 363 }, "name": "OnlyOwnerCanCall", "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" }, "overloaded_declarations": [], - "referenced_declaration": 85, - "is_pure": false + "referenced_declaration": 86, + "is_pure": false, + "text": "OnlyOwnerCanCall" } } ] @@ -30677,7 +31267,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 352, + "id": 353, "node_type": 43, "src": { "line": 120, @@ -30685,13 +31275,13 @@ "start": 3017, "end": 3145, "length": 129, - "parent_index": 351 + "parent_index": 352 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 353, + "id": 354, "node_type": 43, "src": { "line": 120, @@ -30699,7 +31289,7 @@ "start": 3017, "end": 3145, "length": 129, - "parent_index": 351 + "parent_index": 352 }, "parameters": [], "parameter_types": [] @@ -30710,9 +31300,10 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrequireOwner()publicview{if(msg.sender!=owner()){revertOnlyOwnerCanCall();}}" }, - "id": 351, + "id": 352, "node_type": 42, "kind": 41, "name": "requireOwner", @@ -30727,7 +31318,7 @@ "parameters": [], "body": { "ast": { - "id": 354, + "id": 355, "node_type": 46, "kind": 0, "src": { @@ -30736,12 +31327,12 @@ "start": 3053, "end": 3145, "length": 93, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 355, + "id": 356, "node_type": 48, "src": { "line": 121, @@ -30749,10 +31340,10 @@ "start": 3063, "end": 3139, "length": 77, - "parent_index": 354 + "parent_index": 355 }, "condition": { - "id": 356, + "id": 357, "is_constant": false, "is_pure": false, "node_type": 19, @@ -30762,11 +31353,11 @@ "start": 3067, "end": 3087, "length": 21, - "parent_index": 355 + "parent_index": 356 }, "operator": 12, "left_expression": { - "id": 357, + "id": 358, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -30778,7 +31369,7 @@ "start": 3067, "end": 3076, "length": 10, - "parent_index": 356 + "parent_index": 357 }, "member_location": { "line": 121, @@ -30786,10 +31377,10 @@ "start": 3071, "end": 3076, "length": 6, - "parent_index": 357 + "parent_index": 358 }, "expression": { - "id": 358, + "id": 359, "node_type": 16, "src": { "line": 121, @@ -30797,7 +31388,7 @@ "start": 3067, "end": 3069, "length": 3, - "parent_index": 357 + "parent_index": 358 }, "name": "msg", "type_description": { @@ -30806,17 +31397,19 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { - "id": 359, + "id": 360, "node_type": 24, "kind": 24, "src": { @@ -30825,12 +31418,12 @@ "start": 3081, "end": 3087, "length": 7, - "parent_index": 356 + "parent_index": 357 }, "argument_types": [], "arguments": [], "expression": { - "id": 360, + "id": 361, "node_type": 16, "src": { "line": 121, @@ -30838,7 +31431,7 @@ "start": 3081, "end": 3085, "length": 5, - "parent_index": 359 + "parent_index": 360 }, "name": "owner", "type_description": { @@ -30847,7 +31440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -30860,7 +31454,7 @@ } }, "body": { - "id": 361, + "id": 362, "node_type": 46, "kind": 0, "src": { @@ -30869,12 +31463,12 @@ "start": 3090, "end": 3139, "length": 50, - "parent_index": 351 + "parent_index": 352 }, "implemented": true, "statements": [ { - "id": 362, + "id": 363, "node_type": 78, "src": { "line": 122, @@ -30882,11 +31476,11 @@ "start": 3104, "end": 3129, "length": 26, - "parent_index": 351 + "parent_index": 352 }, "arguments": [], "expression": { - "id": 363, + "id": 364, "node_type": 16, "src": { "line": 122, @@ -30894,16 +31488,17 @@ "start": 3111, "end": 3126, "length": 16, - "parent_index": 362 + "parent_index": 363 }, "name": "OnlyOwnerCanCall", "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" }, "overloaded_declarations": [], - "referenced_declaration": 85, - "is_pure": false + "referenced_declaration": 86, + "is_pure": false, + "text": "OnlyOwnerCanCall" } } ] @@ -30911,7 +31506,7 @@ } ] }, - "id": 354, + "id": 355, "node_type": 46, "kind": 0, "statements": [] @@ -30928,7 +31523,7 @@ }, { "ast": { - "id": 365, + "id": 366, "name": "callExternalFunction", "node_type": 42, "kind": 41, @@ -30946,10 +31541,10 @@ "start": 3161, "end": 3180, "length": 20, - "parent_index": 365 + "parent_index": 366 }, "body": { - "id": 370, + "id": 371, "node_type": 46, "kind": 0, "src": { @@ -30958,12 +31553,12 @@ "start": 3222, "end": 3521, "length": 300, - "parent_index": 365 + "parent_index": 366 }, "implemented": true, "statements": [ { - "id": 371, + "id": 372, "node_type": 44, "src": { "line": 127, @@ -30971,25 +31566,25 @@ "start": 3232, "end": 3302, "length": 71, - "parent_index": 370 + "parent_index": 371 }, "assignments": [ - 372 + 373 ], "declarations": [ { - "id": 372, + "id": 373, "state_mutability": 1, "name": "dummyContract", "node_type": 44, - "scope": 370, + "scope": 371, "src": { "line": 127, "column": 8, "start": 3232, "end": 3259, "length": 28, - "parent_index": 371 + "parent_index": 372 }, "name_location": { "line": 127, @@ -30997,12 +31592,12 @@ "start": 3247, "end": 3259, "length": 13, - "parent_index": 372 + "parent_index": 373 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 373, + "id": 374, "node_type": 69, "src": { "line": 127, @@ -31010,10 +31605,10 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 372 + "parent_index": 373 }, "path_node": { - "id": 374, + "id": 375, "name": "IDummyContract", "node_type": 52, "referenced_declaration": 10, @@ -31023,7 +31618,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 }, "name_location": { "line": 127, @@ -31031,7 +31626,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 } }, "referenced_declaration": 10, @@ -31044,7 +31639,7 @@ } ], "initial_value": { - "id": 375, + "id": 376, "node_type": 24, "kind": 24, "src": { @@ -31053,7 +31648,7 @@ "start": 3263, "end": 3301, "length": 39, - "parent_index": 371 + "parent_index": 372 }, "argument_types": [ { @@ -31063,7 +31658,7 @@ ], "arguments": [ { - "id": 377, + "id": 378, "node_type": 16, "src": { "line": 127, @@ -31071,7 +31666,7 @@ "start": 3278, "end": 3300, "length": 23, - "parent_index": 375 + "parent_index": 376 }, "name": "externalContractAddress", "type_description": { @@ -31079,12 +31674,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 377, - "is_pure": false + "referenced_declaration": 378, + "is_pure": false, + "text": "externalContractAddress" } ], "expression": { - "id": 376, + "id": 377, "node_type": 16, "src": { "line": 127, @@ -31092,7 +31688,7 @@ "start": 3263, "end": 3276, "length": 14, - "parent_index": 375 + "parent_index": 376 }, "name": "IDummyContract", "type_description": { @@ -31101,7 +31697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IDummyContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31110,7 +31707,7 @@ } }, { - "id": 378, + "id": 379, "node_type": 85, "src": { "line": 129, @@ -31118,10 +31715,10 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 370 + "parent_index": 371 }, "body": { - "id": 382, + "id": 383, "node_type": 46, "kind": 0, "src": { @@ -31130,12 +31727,12 @@ "start": 3347, "end": 3400, "length": 54, - "parent_index": 378 + "parent_index": 379 }, "implemented": true, "statements": [ { - "id": 383, + "id": 384, "node_type": 64, "src": { "line": 130, @@ -31143,11 +31740,11 @@ "start": 3361, "end": 3390, "length": 30, - "parent_index": 378 + "parent_index": 379 }, "arguments": [], "expression": { - "id": 384, + "id": 385, "node_type": 16, "src": { "line": 130, @@ -31155,16 +31752,17 @@ "start": 3366, "end": 3387, "length": 22, - "parent_index": 383 + "parent_index": 384 }, "name": "ExternalCallSuccessful", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "type_string": "event Lottery.ExternalCallSuccessful" }, "overloaded_declarations": [], - "referenced_declaration": 62, - "is_pure": false + "referenced_declaration": 63, + "is_pure": false, + "text": "ExternalCallSuccessful" } } ] @@ -31172,7 +31770,7 @@ "kind": 86, "returns": false, "return_parameters": { - "id": 392, + "id": 393, "node_type": 43, "src": { "line": 129, @@ -31180,13 +31778,13 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 378 + "parent_index": 379 }, "parameters": [], "parameter_types": [] }, "expression": { - "id": 379, + "id": 380, "node_type": 24, "kind": 24, "src": { @@ -31195,12 +31793,12 @@ "start": 3317, "end": 3345, "length": 29, - "parent_index": 378 + "parent_index": 379 }, "argument_types": [], "arguments": [], "expression": { - "id": 380, + "id": 381, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -31212,7 +31810,7 @@ "start": 3317, "end": 3343, "length": 27, - "parent_index": 379 + "parent_index": 380 }, "member_location": { "line": 129, @@ -31220,10 +31818,10 @@ "start": 3331, "end": 3343, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "expression": { - "id": 381, + "id": 382, "node_type": 16, "src": { "line": 129, @@ -31231,7 +31829,7 @@ "start": 3317, "end": 3329, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "name": "dummyContract", "type_description": { @@ -31239,15 +31837,17 @@ "type_string": "contract IDummyContract" }, "overloaded_declarations": [], - "referenced_declaration": 371, - "is_pure": false + "referenced_declaration": 372, + "is_pure": false, + "text": "dummyContract" }, "member_name": "dummyFunction", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IDummyContract_$10", "type_string": "contract IDummyContract" - } + }, + "text": "dummyContract.dummyFunction" }, "type_description": { "type_identifier": "t_function_$", @@ -31265,10 +31865,10 @@ "start": 3402, "end": 3515, "length": 114, - "parent_index": 378 + "parent_index": 379 }, "body": { - "id": 388, + "id": 389, "node_type": 46, "kind": 0, "src": { @@ -31281,7 +31881,7 @@ "implemented": true, "statements": [ { - "id": 389, + "id": 390, "node_type": 64, "src": { "line": 132, @@ -31292,7 +31892,7 @@ }, "arguments": [ { - "id": 390, + "id": 391, "node_type": 17, "kind": 50, "value": "External contract failed", @@ -31303,7 +31903,7 @@ "start": 3478, "end": 3503, "length": 26, - "parent_index": 389 + "parent_index": 390 }, "type_description": { "type_identifier": "t_string_literal", @@ -31311,11 +31911,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"External contract failed\"" } ], "expression": { - "id": 391, + "id": 392, "node_type": 16, "src": { "line": 132, @@ -31323,22 +31924,23 @@ "start": 3459, "end": 3476, "length": 18, - "parent_index": 389 + "parent_index": 390 }, "name": "ExternalCallFailed", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "type_string": "event Lottery.ExternalCallFailed" }, "overloaded_declarations": [], - "referenced_declaration": 65, - "is_pure": false + "referenced_declaration": 66, + "is_pure": false, + "text": "ExternalCallFailed" } } ] }, "parameters": { - "id": 385, + "id": 386, "node_type": 43, "src": { "line": 131, @@ -31349,7 +31951,7 @@ }, "parameters": [ { - "id": 386, + "id": 387, "node_type": 44, "src": { "line": 131, @@ -31357,11 +31959,11 @@ "start": 3409, "end": 3420, "length": 12, - "parent_index": 385 + "parent_index": 386 }, "name": "", "type_name": { - "id": 387, + "id": 388, "node_type": 30, "src": { "line": 131, @@ -31369,7 +31971,7 @@ "start": 3409, "end": 3413, "length": 5, - "parent_index": 386 + "parent_index": 387 }, "name": "bytes", "referenced_declaration": 0, @@ -31407,7 +32009,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 366, + "id": 367, "node_type": 43, "src": { "line": 126, @@ -31415,11 +32017,11 @@ "start": 3182, "end": 3212, "length": 31, - "parent_index": 365 + "parent_index": 366 }, "parameters": [ { - "id": 367, + "id": 368, "node_type": 44, "src": { "line": 126, @@ -31427,12 +32029,12 @@ "start": 3182, "end": 3212, "length": 31, - "parent_index": 366 + "parent_index": 367 }, - "scope": 365, + "scope": 366, "name": "externalContractAddress", "type_name": { - "id": 368, + "id": 369, "node_type": 30, "src": { "line": 126, @@ -31440,7 +32042,7 @@ "start": 3182, "end": 3188, "length": 7, - "parent_index": 367 + "parent_index": 368 }, "name": "address", "state_mutability": 4, @@ -31467,7 +32069,7 @@ ] }, "return_parameters": { - "id": 369, + "id": 370, "node_type": 43, "src": { "line": 126, @@ -31475,7 +32077,7 @@ "start": 3152, "end": 3521, "length": 370, - "parent_index": 365 + "parent_index": 366 }, "parameters": [], "parameter_types": [] @@ -31486,9 +32088,10 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functioncallExternalFunction(addressexternalContractAddress)public{IDummyContractdummyContract=IDummyContract(externalContractAddress);trydummyContract.dummyFunction(){emitExternalCallSuccessful();}catch(bytesmemory){emitExternalCallFailed(\"External contract failed\");}}" }, - "id": 365, + "id": 366, "node_type": 42, "kind": 41, "name": "callExternalFunction", @@ -31503,7 +32106,7 @@ "parameters": [ { "ast": { - "id": 367, + "id": 368, "node_type": 44, "src": { "line": 126, @@ -31511,12 +32114,12 @@ "start": 3182, "end": 3212, "length": 31, - "parent_index": 366 + "parent_index": 367 }, - "scope": 365, + "scope": 366, "name": "externalContractAddress", "type_name": { - "id": 368, + "id": 369, "node_type": 30, "src": { "line": 126, @@ -31524,7 +32127,7 @@ "start": 3182, "end": 3188, "length": 7, - "parent_index": 367 + "parent_index": 368 }, "name": "address", "state_mutability": 4, @@ -31542,7 +32145,7 @@ "type_string": "address" } }, - "id": 367, + "id": 368, "node_type": 44, "name": "externalContractAddress", "type": "address", @@ -31555,7 +32158,7 @@ ], "body": { "ast": { - "id": 370, + "id": 371, "node_type": 46, "kind": 0, "src": { @@ -31564,12 +32167,12 @@ "start": 3222, "end": 3521, "length": 300, - "parent_index": 365 + "parent_index": 366 }, "implemented": true, "statements": [ { - "id": 371, + "id": 372, "node_type": 44, "src": { "line": 127, @@ -31577,25 +32180,25 @@ "start": 3232, "end": 3302, "length": 71, - "parent_index": 370 + "parent_index": 371 }, "assignments": [ - 372 + 373 ], "declarations": [ { - "id": 372, + "id": 373, "state_mutability": 1, "name": "dummyContract", "node_type": 44, - "scope": 370, + "scope": 371, "src": { "line": 127, "column": 8, "start": 3232, "end": 3259, "length": 28, - "parent_index": 371 + "parent_index": 372 }, "name_location": { "line": 127, @@ -31603,12 +32206,12 @@ "start": 3247, "end": 3259, "length": 13, - "parent_index": 372 + "parent_index": 373 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 373, + "id": 374, "node_type": 69, "src": { "line": 127, @@ -31616,10 +32219,10 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 372 + "parent_index": 373 }, "path_node": { - "id": 374, + "id": 375, "name": "IDummyContract", "node_type": 52, "referenced_declaration": 10, @@ -31629,7 +32232,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 }, "name_location": { "line": 127, @@ -31637,7 +32240,7 @@ "start": 3232, "end": 3245, "length": 14, - "parent_index": 373 + "parent_index": 374 } }, "referenced_declaration": 10, @@ -31650,7 +32253,7 @@ } ], "initial_value": { - "id": 375, + "id": 376, "node_type": 24, "kind": 24, "src": { @@ -31659,7 +32262,7 @@ "start": 3263, "end": 3301, "length": 39, - "parent_index": 371 + "parent_index": 372 }, "argument_types": [ { @@ -31669,7 +32272,7 @@ ], "arguments": [ { - "id": 377, + "id": 378, "node_type": 16, "src": { "line": 127, @@ -31677,7 +32280,7 @@ "start": 3278, "end": 3300, "length": 23, - "parent_index": 375 + "parent_index": 376 }, "name": "externalContractAddress", "type_description": { @@ -31685,12 +32288,13 @@ "type_string": "address" }, "overloaded_declarations": [], - "referenced_declaration": 377, - "is_pure": false + "referenced_declaration": 378, + "is_pure": false, + "text": "externalContractAddress" } ], "expression": { - "id": 376, + "id": 377, "node_type": 16, "src": { "line": 127, @@ -31698,7 +32302,7 @@ "start": 3263, "end": 3276, "length": 14, - "parent_index": 375 + "parent_index": 376 }, "name": "IDummyContract", "type_description": { @@ -31707,7 +32311,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IDummyContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31716,7 +32321,7 @@ } }, { - "id": 378, + "id": 379, "node_type": 85, "src": { "line": 129, @@ -31724,10 +32329,10 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 370 + "parent_index": 371 }, "body": { - "id": 382, + "id": 383, "node_type": 46, "kind": 0, "src": { @@ -31736,12 +32341,12 @@ "start": 3347, "end": 3400, "length": 54, - "parent_index": 378 + "parent_index": 379 }, "implemented": true, "statements": [ { - "id": 383, + "id": 384, "node_type": 64, "src": { "line": 130, @@ -31749,11 +32354,11 @@ "start": 3361, "end": 3390, "length": 30, - "parent_index": 378 + "parent_index": 379 }, "arguments": [], "expression": { - "id": 384, + "id": 385, "node_type": 16, "src": { "line": 130, @@ -31761,16 +32366,17 @@ "start": 3366, "end": 3387, "length": 22, - "parent_index": 383 + "parent_index": 384 }, "name": "ExternalCallSuccessful", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002662", + "type_identifier": "t_event\u0026_Lottery_ExternalCallSuccessful_\u002663", "type_string": "event Lottery.ExternalCallSuccessful" }, "overloaded_declarations": [], - "referenced_declaration": 62, - "is_pure": false + "referenced_declaration": 63, + "is_pure": false, + "text": "ExternalCallSuccessful" } } ] @@ -31778,7 +32384,7 @@ "kind": 86, "returns": false, "return_parameters": { - "id": 392, + "id": 393, "node_type": 43, "src": { "line": 129, @@ -31786,13 +32392,13 @@ "start": 3313, "end": 3515, "length": 203, - "parent_index": 378 + "parent_index": 379 }, "parameters": [], "parameter_types": [] }, "expression": { - "id": 379, + "id": 380, "node_type": 24, "kind": 24, "src": { @@ -31801,12 +32407,12 @@ "start": 3317, "end": 3345, "length": 29, - "parent_index": 378 + "parent_index": 379 }, "argument_types": [], "arguments": [], "expression": { - "id": 380, + "id": 381, "is_constant": false, "is_l_value": false, "is_pure": false, @@ -31818,7 +32424,7 @@ "start": 3317, "end": 3343, "length": 27, - "parent_index": 379 + "parent_index": 380 }, "member_location": { "line": 129, @@ -31826,10 +32432,10 @@ "start": 3331, "end": 3343, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "expression": { - "id": 381, + "id": 382, "node_type": 16, "src": { "line": 129, @@ -31837,7 +32443,7 @@ "start": 3317, "end": 3329, "length": 13, - "parent_index": 380 + "parent_index": 381 }, "name": "dummyContract", "type_description": { @@ -31845,15 +32451,17 @@ "type_string": "contract IDummyContract" }, "overloaded_declarations": [], - "referenced_declaration": 371, - "is_pure": false + "referenced_declaration": 372, + "is_pure": false, + "text": "dummyContract" }, "member_name": "dummyFunction", "argument_types": [], "type_description": { "type_identifier": "t_contract$_IDummyContract_$10", "type_string": "contract IDummyContract" - } + }, + "text": "dummyContract.dummyFunction" }, "type_description": { "type_identifier": "t_function_$", @@ -31871,10 +32479,10 @@ "start": 3402, "end": 3515, "length": 114, - "parent_index": 378 + "parent_index": 379 }, "body": { - "id": 388, + "id": 389, "node_type": 46, "kind": 0, "src": { @@ -31887,7 +32495,7 @@ "implemented": true, "statements": [ { - "id": 389, + "id": 390, "node_type": 64, "src": { "line": 132, @@ -31898,7 +32506,7 @@ }, "arguments": [ { - "id": 390, + "id": 391, "node_type": 17, "kind": 50, "value": "External contract failed", @@ -31909,7 +32517,7 @@ "start": 3478, "end": 3503, "length": 26, - "parent_index": 389 + "parent_index": 390 }, "type_description": { "type_identifier": "t_string_literal", @@ -31917,11 +32525,12 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"External contract failed\"" } ], "expression": { - "id": 391, + "id": 392, "node_type": 16, "src": { "line": 132, @@ -31929,22 +32538,23 @@ "start": 3459, "end": 3476, "length": 18, - "parent_index": 389 + "parent_index": 390 }, "name": "ExternalCallFailed", "type_description": { - "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002665", + "type_identifier": "t_event\u0026_Lottery_ExternalCallFailed_\u002666", "type_string": "event Lottery.ExternalCallFailed" }, "overloaded_declarations": [], - "referenced_declaration": 65, - "is_pure": false + "referenced_declaration": 66, + "is_pure": false, + "text": "ExternalCallFailed" } } ] }, "parameters": { - "id": 385, + "id": 386, "node_type": 43, "src": { "line": 131, @@ -31955,7 +32565,7 @@ }, "parameters": [ { - "id": 386, + "id": 387, "node_type": 44, "src": { "line": 131, @@ -31963,11 +32573,11 @@ "start": 3409, "end": 3420, "length": 12, - "parent_index": 385 + "parent_index": 386 }, "name": "", "type_name": { - "id": 387, + "id": 388, "node_type": 30, "src": { "line": 131, @@ -31975,7 +32585,7 @@ "start": 3409, "end": 3413, "length": 5, - "parent_index": 386 + "parent_index": 387 }, "name": "bytes", "referenced_declaration": 0, @@ -32006,7 +32616,7 @@ } ] }, - "id": 370, + "id": 371, "node_type": 46, "kind": 0, "statements": [] @@ -32023,7 +32633,7 @@ }, { "ast": { - "id": 394, + "id": 395, "name": "integerToString", "node_type": 42, "kind": 41, @@ -32041,10 +32651,10 @@ "start": 3537, "end": 3551, "length": 15, - "parent_index": 394 + "parent_index": 395 }, "body": { - "id": 401, + "id": 402, "node_type": 46, "kind": 0, "src": { @@ -32053,12 +32663,12 @@ "start": 3609, "end": 4071, "length": 463, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 402, + "id": 403, "node_type": 48, "src": { "line": 139, @@ -32066,10 +32676,10 @@ "start": 3628, "end": 3675, "length": 48, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 403, + "id": 404, "is_constant": false, "is_pure": false, "node_type": 19, @@ -32079,11 +32689,11 @@ "start": 3632, "end": 3638, "length": 7, - "parent_index": 402 + "parent_index": 403 }, "operator": 11, "left_expression": { - "id": 404, + "id": 405, "node_type": 16, "src": { "line": 139, @@ -32091,7 +32701,7 @@ "start": 3632, "end": 3633, "length": 2, - "parent_index": 403 + "parent_index": 404 }, "name": "_i", "type_description": { @@ -32099,11 +32709,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false + "referenced_declaration": 405, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 405, + "id": 406, "node_type": 17, "kind": 49, "value": "0", @@ -32114,7 +32725,7 @@ "start": 3638, "end": 3638, "length": 1, - "parent_index": 403 + "parent_index": 404 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -32122,7 +32733,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32130,7 +32742,7 @@ } }, "body": { - "id": 406, + "id": 407, "node_type": 46, "kind": 0, "src": { @@ -32139,12 +32751,12 @@ "start": 3641, "end": 3675, "length": 35, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 407, + "id": 408, "node_type": 47, "src": { "line": 140, @@ -32152,11 +32764,11 @@ "start": 3655, "end": 3665, "length": 11, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 408, + "id": 409, "node_type": 17, "kind": 50, "value": "0", @@ -32167,7 +32779,7 @@ "start": 3662, "end": 3664, "length": 3, - "parent_index": 407 + "parent_index": 408 }, "type_description": { "type_identifier": "t_string_literal", @@ -32175,14 +32787,15 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] } }, { - "id": 409, + "id": 410, "node_type": 44, "src": { "line": 142, @@ -32190,25 +32803,25 @@ "start": 3685, "end": 3696, "length": 12, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 410 + 411 ], "declarations": [ { - "id": 410, + "id": 411, "state_mutability": 1, "name": "j", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 142, "column": 8, "start": 3685, "end": 3690, "length": 6, - "parent_index": 409 + "parent_index": 410 }, "name_location": { "line": 142, @@ -32216,12 +32829,12 @@ "start": 3690, "end": 3690, "length": 1, - "parent_index": 410 + "parent_index": 411 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 411, + "id": 412, "node_type": 30, "src": { "line": 142, @@ -32229,7 +32842,7 @@ "start": 3685, "end": 3688, "length": 4, - "parent_index": 410 + "parent_index": 411 }, "name": "uint", "referenced_declaration": 0, @@ -32242,7 +32855,7 @@ } ], "initial_value": { - "id": 412, + "id": 413, "node_type": 16, "src": { "line": 142, @@ -32250,7 +32863,7 @@ "start": 3694, "end": 3695, "length": 2, - "parent_index": 409 + "parent_index": 410 }, "name": "_i", "type_description": { @@ -32258,12 +32871,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 412, - "is_pure": false + "referenced_declaration": 413, + "is_pure": false, + "text": "_i" } }, { - "id": 413, + "id": 414, "node_type": 44, "src": { "line": 143, @@ -32271,25 +32885,25 @@ "start": 3706, "end": 3714, "length": 9, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 414 + 415 ], "declarations": [ { - "id": 414, + "id": 415, "state_mutability": 1, "name": "len", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 143, "column": 8, "start": 3706, "end": 3713, "length": 8, - "parent_index": 413 + "parent_index": 414 }, "name_location": { "line": 143, @@ -32297,12 +32911,12 @@ "start": 3711, "end": 3713, "length": 3, - "parent_index": 414 + "parent_index": 415 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 415, + "id": 416, "node_type": 30, "src": { "line": 143, @@ -32310,7 +32924,7 @@ "start": 3706, "end": 3709, "length": 4, - "parent_index": 414 + "parent_index": 415 }, "name": "uint", "referenced_declaration": 0, @@ -32333,10 +32947,10 @@ "start": 3733, "end": 3798, "length": 66, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 416, + "id": 417, "is_constant": false, "is_pure": false, "node_type": 19, @@ -32349,7 +32963,7 @@ }, "operator": 12, "left_expression": { - "id": 417, + "id": 418, "node_type": 16, "src": { "line": 145, @@ -32357,7 +32971,7 @@ "start": 3740, "end": 3740, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "name": "j", "type_description": { @@ -32365,11 +32979,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 418, + "id": 419, "node_type": 17, "kind": 49, "value": "0", @@ -32380,7 +32995,7 @@ "start": 3745, "end": 3745, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -32388,7 +33003,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32396,7 +33012,7 @@ } }, "body": { - "id": 419, + "id": 420, "node_type": 46, "kind": 0, "src": { @@ -32409,7 +33025,7 @@ "implemented": true, "statements": [ { - "id": 420, + "id": 421, "node_type": 18, "kind": 105, "src": { @@ -32421,7 +33037,7 @@ }, "operator": 27, "expression": { - "id": 421, + "id": 422, "node_type": 16, "src": { "line": 146, @@ -32429,7 +33045,7 @@ "start": 3762, "end": 3764, "length": 3, - "parent_index": 420 + "parent_index": 421 }, "name": "len", "type_description": { @@ -32437,8 +33053,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_uint256", @@ -32451,7 +33068,7 @@ "l_value_requested": false }, { - "id": 422, + "id": 423, "node_type": 27, "src": { "line": 147, @@ -32459,10 +33076,10 @@ "start": 3781, "end": 3788, "length": 8, - "parent_index": 419 + "parent_index": 420 }, "expression": { - "id": 423, + "id": 424, "node_type": 27, "src": { "line": 147, @@ -32470,11 +33087,11 @@ "start": 3781, "end": 3787, "length": 7, - "parent_index": 422 + "parent_index": 423 }, "operator": 4, "left_expression": { - "id": 424, + "id": 425, "node_type": 16, "src": { "line": 147, @@ -32482,7 +33099,7 @@ "start": 3781, "end": 3781, "length": 1, - "parent_index": 423 + "parent_index": 424 }, "name": "j", "type_description": { @@ -32490,11 +33107,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 425, + "id": 426, "node_type": 17, "kind": 49, "value": "10", @@ -32505,7 +33123,7 @@ "start": 3786, "end": 3787, "length": 2, - "parent_index": 423 + "parent_index": 424 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -32513,7 +33131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -32523,13 +33142,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "j/=10;" } ] } }, { - "id": 426, + "id": 427, "node_type": 44, "src": { "line": 149, @@ -32537,25 +33157,25 @@ "start": 3808, "end": 3842, "length": 35, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 427 + 428 ], "declarations": [ { - "id": 427, + "id": 428, "state_mutability": 1, "name": "bstr", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 149, "column": 8, "start": 3808, "end": 3824, "length": 17, - "parent_index": 426 + "parent_index": 427 }, "name_location": { "line": 149, @@ -32563,12 +33183,12 @@ "start": 3821, "end": 3824, "length": 4, - "parent_index": 427 + "parent_index": 428 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 428, + "id": 429, "node_type": 30, "src": { "line": 149, @@ -32576,7 +33196,7 @@ "start": 3808, "end": 3812, "length": 5, - "parent_index": 427 + "parent_index": 428 }, "name": "bytes", "referenced_declaration": 0, @@ -32589,7 +33209,7 @@ } ], "initial_value": { - "id": 429, + "id": 430, "node_type": 24, "kind": 24, "src": { @@ -32598,7 +33218,7 @@ "start": 3828, "end": 3841, "length": 14, - "parent_index": 426 + "parent_index": 427 }, "argument_types": [ { @@ -32608,7 +33228,7 @@ ], "arguments": [ { - "id": 432, + "id": 433, "node_type": 16, "src": { "line": 149, @@ -32616,7 +33236,7 @@ "start": 3838, "end": 3840, "length": 3, - "parent_index": 429 + "parent_index": 430 }, "name": "len", "type_description": { @@ -32624,12 +33244,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" } ], "expression": { - "id": 430, + "id": 431, "node_type": 25, "src": { "line": 149, @@ -32637,11 +33258,11 @@ "start": 3828, "end": 3836, "length": 9, - "parent_index": 429 + "parent_index": 430 }, "argument_types": [], "type_name": { - "id": 431, + "id": 432, "node_type": 30, "src": { "line": 149, @@ -32649,7 +33270,7 @@ "start": 3832, "end": 3836, "length": 5, - "parent_index": 430 + "parent_index": 431 }, "name": "bytes", "referenced_declaration": 0, @@ -32670,7 +33291,7 @@ } }, { - "id": 433, + "id": 434, "node_type": 44, "src": { "line": 150, @@ -32678,25 +33299,25 @@ "start": 3852, "end": 3868, "length": 17, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 434 + 435 ], "declarations": [ { - "id": 434, + "id": 435, "state_mutability": 1, "name": "k", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 150, "column": 8, "start": 3852, "end": 3857, "length": 6, - "parent_index": 433 + "parent_index": 434 }, "name_location": { "line": 150, @@ -32704,12 +33325,12 @@ "start": 3857, "end": 3857, "length": 1, - "parent_index": 434 + "parent_index": 435 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 435, + "id": 436, "node_type": 30, "src": { "line": 150, @@ -32717,7 +33338,7 @@ "start": 3852, "end": 3855, "length": 4, - "parent_index": 434 + "parent_index": 435 }, "name": "uint", "referenced_declaration": 0, @@ -32730,7 +33351,7 @@ } ], "initial_value": { - "id": 436, + "id": 437, "is_constant": false, "is_pure": false, "node_type": 19, @@ -32740,11 +33361,11 @@ "start": 3861, "end": 3867, "length": 7, - "parent_index": 433 + "parent_index": 434 }, "operator": 2, "left_expression": { - "id": 437, + "id": 438, "node_type": 16, "src": { "line": 150, @@ -32752,7 +33373,7 @@ "start": 3861, "end": 3863, "length": 3, - "parent_index": 436 + "parent_index": 437 }, "name": "len", "type_description": { @@ -32760,11 +33381,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "right_expression": { - "id": 438, + "id": 439, "node_type": 17, "kind": 49, "value": "1", @@ -32775,7 +33397,7 @@ "start": 3867, "end": 3867, "length": 1, - "parent_index": 436 + "parent_index": 437 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -32783,7 +33405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -32792,7 +33415,7 @@ } }, { - "id": 439, + "id": 440, "node_type": 76, "src": { "line": 152, @@ -32800,10 +33423,10 @@ "start": 3887, "end": 4036, "length": 150, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 440, + "id": 441, "is_constant": false, "is_pure": false, "node_type": 19, @@ -32813,11 +33436,11 @@ "start": 4028, "end": 4034, "length": 7, - "parent_index": 439 + "parent_index": 440 }, "operator": 12, "left_expression": { - "id": 441, + "id": 442, "node_type": 16, "src": { "line": 156, @@ -32825,7 +33448,7 @@ "start": 4028, "end": 4029, "length": 2, - "parent_index": 440 + "parent_index": 441 }, "name": "_i", "type_description": { @@ -32833,11 +33456,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 441, - "is_pure": false + "referenced_declaration": 442, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 442, + "id": 443, "node_type": 17, "kind": 49, "value": "0", @@ -32848,7 +33472,7 @@ "start": 4034, "end": 4034, "length": 1, - "parent_index": 440 + "parent_index": 441 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -32856,7 +33480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -32864,7 +33489,7 @@ } }, "body": { - "id": 443, + "id": 444, "node_type": 46, "kind": 0, "src": { @@ -32873,12 +33498,12 @@ "start": 3890, "end": 4011, "length": 122, - "parent_index": 439 + "parent_index": 440 }, "implemented": true, "statements": [ { - "id": 444, + "id": 445, "node_type": 27, "src": { "line": 153, @@ -32886,10 +33511,10 @@ "start": 3940, "end": 3979, "length": 40, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 445, + "id": 446, "node_type": 27, "src": { "line": 153, @@ -32897,11 +33522,11 @@ "start": 3940, "end": 3978, "length": 39, - "parent_index": 444 + "parent_index": 445 }, "operator": 11, "left_expression": { - "id": 446, + "id": 447, "node_type": 22, "src": { "line": 153, @@ -32909,10 +33534,10 @@ "start": 3940, "end": 3948, "length": 9, - "parent_index": 445 + "parent_index": 446 }, "index_expression": { - "id": 447, + "id": 448, "node_type": 16, "src": { "line": 153, @@ -32920,7 +33545,7 @@ "start": 3940, "end": 3943, "length": 4, - "parent_index": 446 + "parent_index": 447 }, "name": "bstr", "type_description": { @@ -32928,11 +33553,12 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" }, "base_expression": { - "id": 448, + "id": 449, "node_type": 18, "kind": 105, "src": { @@ -32941,11 +33567,11 @@ "start": 3945, "end": 3947, "length": 3, - "parent_index": 439 + "parent_index": 440 }, "operator": 28, "expression": { - "id": 449, + "id": 450, "node_type": 16, "src": { "line": 153, @@ -32953,7 +33579,7 @@ "start": 3945, "end": 3945, "length": 1, - "parent_index": 448 + "parent_index": 449 }, "name": "k", "type_description": { @@ -32961,8 +33587,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 433, - "is_pure": false + "referenced_declaration": 434, + "is_pure": false, + "text": "k" }, "type_description": { "type_identifier": "t_uint256", @@ -32990,7 +33617,7 @@ } }, "right_expression": { - "id": 450, + "id": 451, "node_type": 24, "kind": 24, "src": { @@ -32999,7 +33626,7 @@ "start": 3952, "end": 3978, "length": 27, - "parent_index": 445 + "parent_index": 446 }, "argument_types": [ { @@ -33009,7 +33636,7 @@ ], "arguments": [ { - "id": 453, + "id": 454, "node_type": 24, "kind": 24, "src": { @@ -33018,7 +33645,7 @@ "start": 3959, "end": 3977, "length": 19, - "parent_index": 450 + "parent_index": 451 }, "argument_types": [ { @@ -33028,7 +33655,7 @@ ], "arguments": [ { - "id": 456, + "id": 457, "is_constant": false, "is_pure": false, "node_type": 19, @@ -33038,11 +33665,11 @@ "start": 3965, "end": 3976, "length": 12, - "parent_index": 453 + "parent_index": 454 }, "operator": 1, "left_expression": { - "id": 457, + "id": 458, "node_type": 17, "kind": 49, "value": "48", @@ -33053,7 +33680,7 @@ "start": 3965, "end": 3966, "length": 2, - "parent_index": 456 + "parent_index": 457 }, "type_description": { "type_identifier": "t_rational_48_by_1", @@ -33061,10 +33688,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { - "id": 458, + "id": 459, "is_constant": false, "is_pure": false, "node_type": 19, @@ -33074,11 +33702,11 @@ "start": 3970, "end": 3976, "length": 7, - "parent_index": 456 + "parent_index": 457 }, "operator": 5, "left_expression": { - "id": 459, + "id": 460, "node_type": 16, "src": { "line": 153, @@ -33086,7 +33714,7 @@ "start": 3970, "end": 3971, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "name": "_i", "type_description": { @@ -33094,11 +33722,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 460, + "id": 461, "node_type": 17, "kind": 49, "value": "10", @@ -33109,7 +33738,7 @@ "start": 3975, "end": 3976, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -33117,7 +33746,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -33131,7 +33761,7 @@ } ], "expression": { - "id": 454, + "id": 455, "node_type": 16, "src": { "line": 153, @@ -33139,11 +33769,11 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 453 + "parent_index": 454 }, "name": "uint8", "type_name": { - "id": 455, + "id": 456, "node_type": 30, "src": { "line": 153, @@ -33151,7 +33781,7 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 454 + "parent_index": 455 }, "name": "uint8", "referenced_declaration": 0, @@ -33172,7 +33802,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -33181,7 +33812,7 @@ } ], "expression": { - "id": 451, + "id": 452, "node_type": 16, "src": { "line": 153, @@ -33189,11 +33820,11 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 450 + "parent_index": 451 }, "name": "bytes1", "type_name": { - "id": 452, + "id": 453, "node_type": 30, "src": { "line": 153, @@ -33201,7 +33832,7 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 451 + "parent_index": 452 }, "name": "bytes1", "referenced_declaration": 0, @@ -33222,7 +33853,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -33237,10 +33869,11 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "bstr[k--]=bytes1(uint8(48+_i%10));" }, { - "id": 461, + "id": 462, "node_type": 27, "src": { "line": 154, @@ -33248,10 +33881,10 @@ "start": 3993, "end": 4001, "length": 9, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 462, + "id": 463, "node_type": 27, "src": { "line": 154, @@ -33259,11 +33892,11 @@ "start": 3993, "end": 4000, "length": 8, - "parent_index": 461 + "parent_index": 462 }, "operator": 4, "left_expression": { - "id": 463, + "id": 464, "node_type": 16, "src": { "line": 154, @@ -33271,7 +33904,7 @@ "start": 3993, "end": 3994, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "name": "_i", "type_description": { @@ -33279,11 +33912,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 464, + "id": 465, "node_type": 17, "kind": 49, "value": "10", @@ -33294,7 +33928,7 @@ "start": 3999, "end": 4000, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -33302,7 +33936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -33312,13 +33947,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_i/=10;" } ] } }, { - "id": 465, + "id": 466, "node_type": 47, "src": { "line": 157, @@ -33326,11 +33962,11 @@ "start": 4046, "end": 4065, "length": 20, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 466, + "id": 467, "node_type": 24, "kind": 24, "src": { @@ -33339,7 +33975,7 @@ "start": 4053, "end": 4064, "length": 12, - "parent_index": 465 + "parent_index": 466 }, "argument_types": [ { @@ -33349,7 +33985,7 @@ ], "arguments": [ { - "id": 469, + "id": 470, "node_type": 16, "src": { "line": 157, @@ -33357,7 +33993,7 @@ "start": 4060, "end": 4063, "length": 4, - "parent_index": 466 + "parent_index": 467 }, "name": "bstr", "type_description": { @@ -33365,12 +34001,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" } ], "expression": { - "id": 467, + "id": 468, "node_type": 16, "src": { "line": 157, @@ -33378,11 +34015,11 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 466 + "parent_index": 467 }, "name": "string", "type_name": { - "id": 468, + "id": 469, "node_type": 30, "src": { "line": 157, @@ -33390,7 +34027,7 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 467 + "parent_index": 468 }, "name": "string", "referenced_declaration": 0, @@ -33411,7 +34048,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -33428,7 +34066,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 395, + "id": 396, "node_type": 43, "src": { "line": 136, @@ -33436,11 +34074,11 @@ "start": 3553, "end": 3559, "length": 7, - "parent_index": 394 + "parent_index": 395 }, "parameters": [ { - "id": 396, + "id": 397, "node_type": 44, "src": { "line": 136, @@ -33448,12 +34086,12 @@ "start": 3553, "end": 3559, "length": 7, - "parent_index": 395 + "parent_index": 396 }, - "scope": 394, + "scope": 395, "name": "_i", "type_name": { - "id": 397, + "id": 398, "node_type": 30, "src": { "line": 136, @@ -33461,7 +34099,7 @@ "start": 3553, "end": 3556, "length": 4, - "parent_index": 396 + "parent_index": 397 }, "name": "uint", "referenced_declaration": 0, @@ -33487,7 +34125,7 @@ ] }, "return_parameters": { - "id": 398, + "id": 399, "node_type": 43, "src": { "line": 137, @@ -33495,11 +34133,11 @@ "start": 3594, "end": 3606, "length": 13, - "parent_index": 394 + "parent_index": 395 }, "parameters": [ { - "id": 399, + "id": 400, "node_type": 44, "src": { "line": 137, @@ -33507,12 +34145,12 @@ "start": 3594, "end": 3606, "length": 13, - "parent_index": 398 + "parent_index": 399 }, - "scope": 394, + "scope": 395, "name": "", "type_name": { - "id": 400, + "id": 401, "node_type": 30, "src": { "line": 137, @@ -33520,7 +34158,7 @@ "start": 3594, "end": 3599, "length": 6, - "parent_index": 399 + "parent_index": 400 }, "name": "string", "referenced_declaration": 0, @@ -33551,9 +34189,10 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionintegerToString(uint_i)internalpurereturns(stringmemory){if(_i==0){return\"0\";}uintj=_i;uintlen;while(j!=0){len++;j/=10;}bytesmemorybstr=newbytes(len);uintk=len-1;do{bstr[k--]=bytes1(uint8(48+_i%10));_i/=10;}while(_i!=0);returnstring(bstr);}" }, - "id": 394, + "id": 395, "node_type": 42, "kind": 41, "name": "integerToString", @@ -33568,7 +34207,7 @@ "parameters": [ { "ast": { - "id": 396, + "id": 397, "node_type": 44, "src": { "line": 136, @@ -33576,12 +34215,12 @@ "start": 3553, "end": 3559, "length": 7, - "parent_index": 395 + "parent_index": 396 }, - "scope": 394, + "scope": 395, "name": "_i", "type_name": { - "id": 397, + "id": 398, "node_type": 30, "src": { "line": 136, @@ -33589,7 +34228,7 @@ "start": 3553, "end": 3556, "length": 4, - "parent_index": 396 + "parent_index": 397 }, "name": "uint", "referenced_declaration": 0, @@ -33606,7 +34245,7 @@ "type_string": "uint256" } }, - "id": 396, + "id": 397, "node_type": 44, "name": "_i", "type": "uint", @@ -33619,7 +34258,7 @@ ], "body": { "ast": { - "id": 401, + "id": 402, "node_type": 46, "kind": 0, "src": { @@ -33628,12 +34267,12 @@ "start": 3609, "end": 4071, "length": 463, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 402, + "id": 403, "node_type": 48, "src": { "line": 139, @@ -33641,10 +34280,10 @@ "start": 3628, "end": 3675, "length": 48, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 403, + "id": 404, "is_constant": false, "is_pure": false, "node_type": 19, @@ -33654,11 +34293,11 @@ "start": 3632, "end": 3638, "length": 7, - "parent_index": 402 + "parent_index": 403 }, "operator": 11, "left_expression": { - "id": 404, + "id": 405, "node_type": 16, "src": { "line": 139, @@ -33666,7 +34305,7 @@ "start": 3632, "end": 3633, "length": 2, - "parent_index": 403 + "parent_index": 404 }, "name": "_i", "type_description": { @@ -33674,11 +34313,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false + "referenced_declaration": 405, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 405, + "id": 406, "node_type": 17, "kind": 49, "value": "0", @@ -33689,7 +34329,7 @@ "start": 3638, "end": 3638, "length": 1, - "parent_index": 403 + "parent_index": 404 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -33697,7 +34337,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -33705,7 +34346,7 @@ } }, "body": { - "id": 406, + "id": 407, "node_type": 46, "kind": 0, "src": { @@ -33714,12 +34355,12 @@ "start": 3641, "end": 3675, "length": 35, - "parent_index": 394 + "parent_index": 395 }, "implemented": true, "statements": [ { - "id": 407, + "id": 408, "node_type": 47, "src": { "line": 140, @@ -33727,11 +34368,11 @@ "start": 3655, "end": 3665, "length": 11, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 408, + "id": 409, "node_type": 17, "kind": 50, "value": "0", @@ -33742,7 +34383,7 @@ "start": 3662, "end": 3664, "length": 3, - "parent_index": 407 + "parent_index": 408 }, "type_description": { "type_identifier": "t_string_literal", @@ -33750,14 +34391,15 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"0\"" } } ] } }, { - "id": 409, + "id": 410, "node_type": 44, "src": { "line": 142, @@ -33765,25 +34407,25 @@ "start": 3685, "end": 3696, "length": 12, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 410 + 411 ], "declarations": [ { - "id": 410, + "id": 411, "state_mutability": 1, "name": "j", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 142, "column": 8, "start": 3685, "end": 3690, "length": 6, - "parent_index": 409 + "parent_index": 410 }, "name_location": { "line": 142, @@ -33791,12 +34433,12 @@ "start": 3690, "end": 3690, "length": 1, - "parent_index": 410 + "parent_index": 411 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 411, + "id": 412, "node_type": 30, "src": { "line": 142, @@ -33804,7 +34446,7 @@ "start": 3685, "end": 3688, "length": 4, - "parent_index": 410 + "parent_index": 411 }, "name": "uint", "referenced_declaration": 0, @@ -33817,7 +34459,7 @@ } ], "initial_value": { - "id": 412, + "id": 413, "node_type": 16, "src": { "line": 142, @@ -33825,7 +34467,7 @@ "start": 3694, "end": 3695, "length": 2, - "parent_index": 409 + "parent_index": 410 }, "name": "_i", "type_description": { @@ -33833,12 +34475,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 412, - "is_pure": false + "referenced_declaration": 413, + "is_pure": false, + "text": "_i" } }, { - "id": 413, + "id": 414, "node_type": 44, "src": { "line": 143, @@ -33846,25 +34489,25 @@ "start": 3706, "end": 3714, "length": 9, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 414 + 415 ], "declarations": [ { - "id": 414, + "id": 415, "state_mutability": 1, "name": "len", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 143, "column": 8, "start": 3706, "end": 3713, "length": 8, - "parent_index": 413 + "parent_index": 414 }, "name_location": { "line": 143, @@ -33872,12 +34515,12 @@ "start": 3711, "end": 3713, "length": 3, - "parent_index": 414 + "parent_index": 415 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 415, + "id": 416, "node_type": 30, "src": { "line": 143, @@ -33885,7 +34528,7 @@ "start": 3706, "end": 3709, "length": 4, - "parent_index": 414 + "parent_index": 415 }, "name": "uint", "referenced_declaration": 0, @@ -33908,10 +34551,10 @@ "start": 3733, "end": 3798, "length": 66, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 416, + "id": 417, "is_constant": false, "is_pure": false, "node_type": 19, @@ -33924,7 +34567,7 @@ }, "operator": 12, "left_expression": { - "id": 417, + "id": 418, "node_type": 16, "src": { "line": 145, @@ -33932,7 +34575,7 @@ "start": 3740, "end": 3740, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "name": "j", "type_description": { @@ -33940,11 +34583,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 418, + "id": 419, "node_type": 17, "kind": 49, "value": "0", @@ -33955,7 +34599,7 @@ "start": 3745, "end": 3745, "length": 1, - "parent_index": 416 + "parent_index": 417 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -33963,7 +34607,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -33971,7 +34616,7 @@ } }, "body": { - "id": 419, + "id": 420, "node_type": 46, "kind": 0, "src": { @@ -33984,7 +34629,7 @@ "implemented": true, "statements": [ { - "id": 420, + "id": 421, "node_type": 18, "kind": 105, "src": { @@ -33996,7 +34641,7 @@ }, "operator": 27, "expression": { - "id": 421, + "id": 422, "node_type": 16, "src": { "line": 146, @@ -34004,7 +34649,7 @@ "start": 3762, "end": 3764, "length": 3, - "parent_index": 420 + "parent_index": 421 }, "name": "len", "type_description": { @@ -34012,8 +34657,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "type_description": { "type_identifier": "t_uint256", @@ -34026,7 +34672,7 @@ "l_value_requested": false }, { - "id": 422, + "id": 423, "node_type": 27, "src": { "line": 147, @@ -34034,10 +34680,10 @@ "start": 3781, "end": 3788, "length": 8, - "parent_index": 419 + "parent_index": 420 }, "expression": { - "id": 423, + "id": 424, "node_type": 27, "src": { "line": 147, @@ -34045,11 +34691,11 @@ "start": 3781, "end": 3787, "length": 7, - "parent_index": 422 + "parent_index": 423 }, "operator": 4, "left_expression": { - "id": 424, + "id": 425, "node_type": 16, "src": { "line": 147, @@ -34057,7 +34703,7 @@ "start": 3781, "end": 3781, "length": 1, - "parent_index": 423 + "parent_index": 424 }, "name": "j", "type_description": { @@ -34065,11 +34711,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 409, - "is_pure": false + "referenced_declaration": 410, + "is_pure": false, + "text": "j" }, "right_expression": { - "id": 425, + "id": 426, "node_type": 17, "kind": 49, "value": "10", @@ -34080,7 +34727,7 @@ "start": 3786, "end": 3787, "length": 2, - "parent_index": 423 + "parent_index": 424 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -34088,7 +34735,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -34098,13 +34746,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "j/=10;" } ] } }, { - "id": 426, + "id": 427, "node_type": 44, "src": { "line": 149, @@ -34112,25 +34761,25 @@ "start": 3808, "end": 3842, "length": 35, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 427 + 428 ], "declarations": [ { - "id": 427, + "id": 428, "state_mutability": 1, "name": "bstr", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 149, "column": 8, "start": 3808, "end": 3824, "length": 17, - "parent_index": 426 + "parent_index": 427 }, "name_location": { "line": 149, @@ -34138,12 +34787,12 @@ "start": 3821, "end": 3824, "length": 4, - "parent_index": 427 + "parent_index": 428 }, "is_state_variable": false, "storage_location": 2, "type_name": { - "id": 428, + "id": 429, "node_type": 30, "src": { "line": 149, @@ -34151,7 +34800,7 @@ "start": 3808, "end": 3812, "length": 5, - "parent_index": 427 + "parent_index": 428 }, "name": "bytes", "referenced_declaration": 0, @@ -34164,7 +34813,7 @@ } ], "initial_value": { - "id": 429, + "id": 430, "node_type": 24, "kind": 24, "src": { @@ -34173,7 +34822,7 @@ "start": 3828, "end": 3841, "length": 14, - "parent_index": 426 + "parent_index": 427 }, "argument_types": [ { @@ -34183,7 +34832,7 @@ ], "arguments": [ { - "id": 432, + "id": 433, "node_type": 16, "src": { "line": 149, @@ -34191,7 +34840,7 @@ "start": 3838, "end": 3840, "length": 3, - "parent_index": 429 + "parent_index": 430 }, "name": "len", "type_description": { @@ -34199,12 +34848,13 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" } ], "expression": { - "id": 430, + "id": 431, "node_type": 25, "src": { "line": 149, @@ -34212,11 +34862,11 @@ "start": 3828, "end": 3836, "length": 9, - "parent_index": 429 + "parent_index": 430 }, "argument_types": [], "type_name": { - "id": 431, + "id": 432, "node_type": 30, "src": { "line": 149, @@ -34224,7 +34874,7 @@ "start": 3832, "end": 3836, "length": 5, - "parent_index": 430 + "parent_index": 431 }, "name": "bytes", "referenced_declaration": 0, @@ -34245,7 +34895,7 @@ } }, { - "id": 433, + "id": 434, "node_type": 44, "src": { "line": 150, @@ -34253,25 +34903,25 @@ "start": 3852, "end": 3868, "length": 17, - "parent_index": 401 + "parent_index": 402 }, "assignments": [ - 434 + 435 ], "declarations": [ { - "id": 434, + "id": 435, "state_mutability": 1, "name": "k", "node_type": 44, - "scope": 401, + "scope": 402, "src": { "line": 150, "column": 8, "start": 3852, "end": 3857, "length": 6, - "parent_index": 433 + "parent_index": 434 }, "name_location": { "line": 150, @@ -34279,12 +34929,12 @@ "start": 3857, "end": 3857, "length": 1, - "parent_index": 434 + "parent_index": 435 }, "is_state_variable": false, "storage_location": 1, "type_name": { - "id": 435, + "id": 436, "node_type": 30, "src": { "line": 150, @@ -34292,7 +34942,7 @@ "start": 3852, "end": 3855, "length": 4, - "parent_index": 434 + "parent_index": 435 }, "name": "uint", "referenced_declaration": 0, @@ -34305,7 +34955,7 @@ } ], "initial_value": { - "id": 436, + "id": 437, "is_constant": false, "is_pure": false, "node_type": 19, @@ -34315,11 +34965,11 @@ "start": 3861, "end": 3867, "length": 7, - "parent_index": 433 + "parent_index": 434 }, "operator": 2, "left_expression": { - "id": 437, + "id": 438, "node_type": 16, "src": { "line": 150, @@ -34327,7 +34977,7 @@ "start": 3861, "end": 3863, "length": 3, - "parent_index": 436 + "parent_index": 437 }, "name": "len", "type_description": { @@ -34335,11 +34985,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 413, - "is_pure": false + "referenced_declaration": 414, + "is_pure": false, + "text": "len" }, "right_expression": { - "id": 438, + "id": 439, "node_type": 17, "kind": 49, "value": "1", @@ -34350,7 +35001,7 @@ "start": 3867, "end": 3867, "length": 1, - "parent_index": 436 + "parent_index": 437 }, "type_description": { "type_identifier": "t_rational_1_by_1", @@ -34358,7 +35009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_uint256", @@ -34367,7 +35019,7 @@ } }, { - "id": 439, + "id": 440, "node_type": 76, "src": { "line": 152, @@ -34375,10 +35027,10 @@ "start": 3887, "end": 4036, "length": 150, - "parent_index": 401 + "parent_index": 402 }, "condition": { - "id": 440, + "id": 441, "is_constant": false, "is_pure": false, "node_type": 19, @@ -34388,11 +35040,11 @@ "start": 4028, "end": 4034, "length": 7, - "parent_index": 439 + "parent_index": 440 }, "operator": 12, "left_expression": { - "id": 441, + "id": 442, "node_type": 16, "src": { "line": 156, @@ -34400,7 +35052,7 @@ "start": 4028, "end": 4029, "length": 2, - "parent_index": 440 + "parent_index": 441 }, "name": "_i", "type_description": { @@ -34408,11 +35060,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 441, - "is_pure": false + "referenced_declaration": 442, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 442, + "id": 443, "node_type": 17, "kind": 49, "value": "0", @@ -34423,7 +35076,7 @@ "start": 4034, "end": 4034, "length": 1, - "parent_index": 440 + "parent_index": 441 }, "type_description": { "type_identifier": "t_rational_0_by_1", @@ -34431,7 +35084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -34439,7 +35093,7 @@ } }, "body": { - "id": 443, + "id": 444, "node_type": 46, "kind": 0, "src": { @@ -34448,12 +35102,12 @@ "start": 3890, "end": 4011, "length": 122, - "parent_index": 439 + "parent_index": 440 }, "implemented": true, "statements": [ { - "id": 444, + "id": 445, "node_type": 27, "src": { "line": 153, @@ -34461,10 +35115,10 @@ "start": 3940, "end": 3979, "length": 40, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 445, + "id": 446, "node_type": 27, "src": { "line": 153, @@ -34472,11 +35126,11 @@ "start": 3940, "end": 3978, "length": 39, - "parent_index": 444 + "parent_index": 445 }, "operator": 11, "left_expression": { - "id": 446, + "id": 447, "node_type": 22, "src": { "line": 153, @@ -34484,10 +35138,10 @@ "start": 3940, "end": 3948, "length": 9, - "parent_index": 445 + "parent_index": 446 }, "index_expression": { - "id": 447, + "id": 448, "node_type": 16, "src": { "line": 153, @@ -34495,7 +35149,7 @@ "start": 3940, "end": 3943, "length": 4, - "parent_index": 446 + "parent_index": 447 }, "name": "bstr", "type_description": { @@ -34503,11 +35157,12 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" }, "base_expression": { - "id": 448, + "id": 449, "node_type": 18, "kind": 105, "src": { @@ -34516,11 +35171,11 @@ "start": 3945, "end": 3947, "length": 3, - "parent_index": 439 + "parent_index": 440 }, "operator": 28, "expression": { - "id": 449, + "id": 450, "node_type": 16, "src": { "line": 153, @@ -34528,7 +35183,7 @@ "start": 3945, "end": 3945, "length": 1, - "parent_index": 448 + "parent_index": 449 }, "name": "k", "type_description": { @@ -34536,8 +35191,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 433, - "is_pure": false + "referenced_declaration": 434, + "is_pure": false, + "text": "k" }, "type_description": { "type_identifier": "t_uint256", @@ -34565,7 +35221,7 @@ } }, "right_expression": { - "id": 450, + "id": 451, "node_type": 24, "kind": 24, "src": { @@ -34574,7 +35230,7 @@ "start": 3952, "end": 3978, "length": 27, - "parent_index": 445 + "parent_index": 446 }, "argument_types": [ { @@ -34584,7 +35240,7 @@ ], "arguments": [ { - "id": 453, + "id": 454, "node_type": 24, "kind": 24, "src": { @@ -34593,7 +35249,7 @@ "start": 3959, "end": 3977, "length": 19, - "parent_index": 450 + "parent_index": 451 }, "argument_types": [ { @@ -34603,7 +35259,7 @@ ], "arguments": [ { - "id": 456, + "id": 457, "is_constant": false, "is_pure": false, "node_type": 19, @@ -34613,11 +35269,11 @@ "start": 3965, "end": 3976, "length": 12, - "parent_index": 453 + "parent_index": 454 }, "operator": 1, "left_expression": { - "id": 457, + "id": 458, "node_type": 17, "kind": 49, "value": "48", @@ -34628,7 +35284,7 @@ "start": 3965, "end": 3966, "length": 2, - "parent_index": 456 + "parent_index": 457 }, "type_description": { "type_identifier": "t_rational_48_by_1", @@ -34636,10 +35292,11 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "48" }, "right_expression": { - "id": 458, + "id": 459, "is_constant": false, "is_pure": false, "node_type": 19, @@ -34649,11 +35306,11 @@ "start": 3970, "end": 3976, "length": 7, - "parent_index": 456 + "parent_index": 457 }, "operator": 5, "left_expression": { - "id": 459, + "id": 460, "node_type": 16, "src": { "line": 153, @@ -34661,7 +35318,7 @@ "start": 3970, "end": 3971, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "name": "_i", "type_description": { @@ -34669,11 +35326,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 460, + "id": 461, "node_type": 17, "kind": 49, "value": "10", @@ -34684,7 +35342,7 @@ "start": 3975, "end": 3976, "length": 2, - "parent_index": 458 + "parent_index": 459 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -34692,7 +35350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -34706,7 +35365,7 @@ } ], "expression": { - "id": 454, + "id": 455, "node_type": 16, "src": { "line": 153, @@ -34714,11 +35373,11 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 453 + "parent_index": 454 }, "name": "uint8", "type_name": { - "id": 455, + "id": 456, "node_type": 30, "src": { "line": 153, @@ -34726,7 +35385,7 @@ "start": 3959, "end": 3963, "length": 5, - "parent_index": 454 + "parent_index": 455 }, "name": "uint8", "referenced_declaration": 0, @@ -34747,7 +35406,8 @@ "type_identifier": "t_uint8", "type_string": "uint8" } - ] + ], + "text": "uint8" }, "type_description": { "type_identifier": "t_function_$_t_rational_48_by_1$", @@ -34756,7 +35416,7 @@ } ], "expression": { - "id": 451, + "id": 452, "node_type": 16, "src": { "line": 153, @@ -34764,11 +35424,11 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 450 + "parent_index": 451 }, "name": "bytes1", "type_name": { - "id": 452, + "id": 453, "node_type": 30, "src": { "line": 153, @@ -34776,7 +35436,7 @@ "start": 3952, "end": 3957, "length": 6, - "parent_index": 451 + "parent_index": 452 }, "name": "bytes1", "referenced_declaration": 0, @@ -34797,7 +35457,8 @@ "type_identifier": "t_bytes1", "type_string": "bytes1" } - ] + ], + "text": "bytes1" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_rational_48_by_1$", @@ -34812,10 +35473,11 @@ "type_description": { "type_identifier": "t_[_[$_t_bytes]$_t_uint256]$", "type_string": "index[bytes:uint256]" - } + }, + "text": "bstr[k--]=bytes1(uint8(48+_i%10));" }, { - "id": 461, + "id": 462, "node_type": 27, "src": { "line": 154, @@ -34823,10 +35485,10 @@ "start": 3993, "end": 4001, "length": 9, - "parent_index": 443 + "parent_index": 444 }, "expression": { - "id": 462, + "id": 463, "node_type": 27, "src": { "line": 154, @@ -34834,11 +35496,11 @@ "start": 3993, "end": 4000, "length": 8, - "parent_index": 461 + "parent_index": 462 }, "operator": 4, "left_expression": { - "id": 463, + "id": 464, "node_type": 16, "src": { "line": 154, @@ -34846,7 +35508,7 @@ "start": 3993, "end": 3994, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "name": "_i", "type_description": { @@ -34854,11 +35516,12 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 396, - "is_pure": false + "referenced_declaration": 397, + "is_pure": false, + "text": "_i" }, "right_expression": { - "id": 464, + "id": 465, "node_type": 17, "kind": 49, "value": "10", @@ -34869,7 +35532,7 @@ "start": 3999, "end": 4000, "length": 2, - "parent_index": 462 + "parent_index": 463 }, "type_description": { "type_identifier": "t_rational_10_by_1", @@ -34877,7 +35540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "10" }, "type_description": { "type_identifier": "t_uint256", @@ -34887,13 +35551,14 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_i/=10;" } ] } }, { - "id": 465, + "id": 466, "node_type": 47, "src": { "line": 157, @@ -34901,11 +35566,11 @@ "start": 4046, "end": 4065, "length": 20, - "parent_index": 394 + "parent_index": 395 }, - "function_return_parameters": 394, + "function_return_parameters": 395, "expression": { - "id": 466, + "id": 467, "node_type": 24, "kind": 24, "src": { @@ -34914,7 +35579,7 @@ "start": 4053, "end": 4064, "length": 12, - "parent_index": 465 + "parent_index": 466 }, "argument_types": [ { @@ -34924,7 +35589,7 @@ ], "arguments": [ { - "id": 469, + "id": 470, "node_type": 16, "src": { "line": 157, @@ -34932,7 +35597,7 @@ "start": 4060, "end": 4063, "length": 4, - "parent_index": 466 + "parent_index": 467 }, "name": "bstr", "type_description": { @@ -34940,12 +35605,13 @@ "type_string": "bytes" }, "overloaded_declarations": [], - "referenced_declaration": 426, - "is_pure": false + "referenced_declaration": 427, + "is_pure": false, + "text": "bstr" } ], "expression": { - "id": 467, + "id": 468, "node_type": 16, "src": { "line": 157, @@ -34953,11 +35619,11 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 466 + "parent_index": 467 }, "name": "string", "type_name": { - "id": 468, + "id": 469, "node_type": 30, "src": { "line": 157, @@ -34965,7 +35631,7 @@ "start": 4053, "end": 4058, "length": 6, - "parent_index": 467 + "parent_index": 468 }, "name": "string", "referenced_declaration": 0, @@ -34986,7 +35652,8 @@ "type_identifier": "t_string", "type_string": "string" } - ] + ], + "text": "string" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -34996,7 +35663,7 @@ } ] }, - "id": 401, + "id": 402, "node_type": 46, "kind": 0, "statements": [] @@ -35004,7 +35671,7 @@ "return": [ { "ast": { - "id": 399, + "id": 400, "node_type": 44, "src": { "line": 137, @@ -35012,12 +35679,12 @@ "start": 3594, "end": 3606, "length": 13, - "parent_index": 398 + "parent_index": 399 }, - "scope": 394, + "scope": 395, "name": "", "type_name": { - "id": 400, + "id": 401, "node_type": 30, "src": { "line": 137, @@ -35025,7 +35692,7 @@ "start": 3594, "end": 3599, "length": 6, - "parent_index": 399 + "parent_index": 400 }, "name": "string", "referenced_declaration": 0, @@ -35042,7 +35709,7 @@ "type_string": "string" } }, - "id": 399, + "id": 400, "node_type": 44, "name": "", "type": "string", @@ -35064,7 +35731,7 @@ }, { "ast": { - "id": 471, + "id": 472, "name": "dummyFunctionAssembly", "node_type": 42, "kind": 41, @@ -35082,10 +35749,10 @@ "start": 4087, "end": 4107, "length": 21, - "parent_index": 471 + "parent_index": 472 }, "body": { - "id": 478, + "id": 479, "node_type": 46, "kind": 0, "src": { @@ -35094,12 +35761,12 @@ "start": 4148, "end": 4232, "length": 85, - "parent_index": 471 + "parent_index": 472 }, "implemented": true, "statements": [ { - "id": 479, + "id": 480, "node_type": 89, "src": { "line": 161, @@ -35107,10 +35774,10 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 478 + "parent_index": 479 }, "body": { - "id": 480, + "id": 481, "node_type": 111, "kind": 0, "src": { @@ -35119,12 +35786,12 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 479 + "parent_index": 480 }, "implemented": false, "statements": [ { - "id": 481, + "id": 482, "node_type": 91, "src": { "line": 162, @@ -35132,11 +35799,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "statements": [ { - "id": 482, + "id": 483, "node_type": 92, "src": { "line": 162, @@ -35144,11 +35811,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "variable_names": [ { - "id": 483, + "id": 484, "node_type": 107, "src": { "line": 162, @@ -35156,13 +35823,13 @@ "start": 4181, "end": 4186, "length": 6, - "parent_index": 482 + "parent_index": 483 }, "name": "result" } ], "value": { - "id": 484, + "id": 485, "node_type": 123, "src": { "line": 162, @@ -35170,10 +35837,10 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 482 + "parent_index": 483 }, "expression": { - "id": 485, + "id": 486, "node_type": 110, "src": { "line": 162, @@ -35181,10 +35848,10 @@ "start": 4191, "end": 4199, "length": 9, - "parent_index": 479 + "parent_index": 480 }, "function_name": { - "id": 486, + "id": 487, "node_type": 107, "src": { "line": 162, @@ -35192,13 +35859,13 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 485 + "parent_index": 486 }, "name": "add" }, "arguments": [ { - "id": 487, + "id": 488, "node_type": 109, "kind": 115, "src": { @@ -35207,13 +35874,13 @@ "start": 4195, "end": 4195, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "1", "hex_value": "" }, { - "id": 488, + "id": 489, "node_type": 109, "kind": 115, "src": { @@ -35222,7 +35889,7 @@ "start": 4198, "end": 4198, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "2", "hex_value": "" @@ -35245,7 +35912,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 472, + "id": 473, "node_type": 43, "src": { "line": 160, @@ -35253,11 +35920,11 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 471 + "parent_index": 472 }, "parameters": [ { - "id": 473, + "id": 474, "node_type": 44, "src": { "line": 160, @@ -35265,12 +35932,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 472 + "parent_index": 473 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 474, + "id": 475, "node_type": 30, "src": { "line": 160, @@ -35278,7 +35945,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 473 + "parent_index": 474 }, "name": "uint256", "referenced_declaration": 0, @@ -35304,7 +35971,7 @@ ] }, "return_parameters": { - "id": 475, + "id": 476, "node_type": 43, "src": { "line": 160, @@ -35312,11 +35979,11 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 471 + "parent_index": 472 }, "parameters": [ { - "id": 476, + "id": 477, "node_type": 44, "src": { "line": 160, @@ -35324,12 +35991,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 475 + "parent_index": 476 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 477, + "id": 478, "node_type": 30, "src": { "line": 160, @@ -35337,7 +36004,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 476 + "parent_index": 477 }, "name": "uint256", "referenced_declaration": 0, @@ -35368,9 +36035,10 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondummyFunctionAssembly()publicpurereturns(uint256result){assembly{result:=add(1,2)}}" }, - "id": 471, + "id": 472, "node_type": 42, "kind": 41, "name": "dummyFunctionAssembly", @@ -35385,7 +36053,7 @@ "parameters": [ { "ast": { - "id": 473, + "id": 474, "node_type": 44, "src": { "line": 160, @@ -35393,12 +36061,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 472 + "parent_index": 473 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 474, + "id": 475, "node_type": 30, "src": { "line": 160, @@ -35406,7 +36074,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 473 + "parent_index": 474 }, "name": "uint256", "referenced_declaration": 0, @@ -35423,7 +36091,7 @@ "type_string": "uint256" } }, - "id": 473, + "id": 474, "node_type": 44, "name": "result", "type": "uint256", @@ -35436,7 +36104,7 @@ ], "body": { "ast": { - "id": 478, + "id": 479, "node_type": 46, "kind": 0, "src": { @@ -35445,12 +36113,12 @@ "start": 4148, "end": 4232, "length": 85, - "parent_index": 471 + "parent_index": 472 }, "implemented": true, "statements": [ { - "id": 479, + "id": 480, "node_type": 89, "src": { "line": 161, @@ -35458,10 +36126,10 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 478 + "parent_index": 479 }, "body": { - "id": 480, + "id": 481, "node_type": 111, "kind": 0, "src": { @@ -35470,12 +36138,12 @@ "start": 4158, "end": 4226, "length": 69, - "parent_index": 479 + "parent_index": 480 }, "implemented": false, "statements": [ { - "id": 481, + "id": 482, "node_type": 91, "src": { "line": 162, @@ -35483,11 +36151,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "statements": [ { - "id": 482, + "id": 483, "node_type": 92, "src": { "line": 162, @@ -35495,11 +36163,11 @@ "start": 4181, "end": 4199, "length": 19, - "parent_index": 479 + "parent_index": 480 }, "variable_names": [ { - "id": 483, + "id": 484, "node_type": 107, "src": { "line": 162, @@ -35507,13 +36175,13 @@ "start": 4181, "end": 4186, "length": 6, - "parent_index": 482 + "parent_index": 483 }, "name": "result" } ], "value": { - "id": 484, + "id": 485, "node_type": 123, "src": { "line": 162, @@ -35521,10 +36189,10 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 482 + "parent_index": 483 }, "expression": { - "id": 485, + "id": 486, "node_type": 110, "src": { "line": 162, @@ -35532,10 +36200,10 @@ "start": 4191, "end": 4199, "length": 9, - "parent_index": 479 + "parent_index": 480 }, "function_name": { - "id": 486, + "id": 487, "node_type": 107, "src": { "line": 162, @@ -35543,13 +36211,13 @@ "start": 4191, "end": 4193, "length": 3, - "parent_index": 485 + "parent_index": 486 }, "name": "add" }, "arguments": [ { - "id": 487, + "id": 488, "node_type": 109, "kind": 115, "src": { @@ -35558,13 +36226,13 @@ "start": 4195, "end": 4195, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "1", "hex_value": "" }, { - "id": 488, + "id": 489, "node_type": 109, "kind": 115, "src": { @@ -35573,7 +36241,7 @@ "start": 4198, "end": 4198, "length": 1, - "parent_index": 485 + "parent_index": 486 }, "value": "2", "hex_value": "" @@ -35589,7 +36257,7 @@ } ] }, - "id": 478, + "id": 479, "node_type": 46, "kind": 0, "statements": [] @@ -35597,7 +36265,7 @@ "return": [ { "ast": { - "id": 476, + "id": 477, "node_type": 44, "src": { "line": 160, @@ -35605,12 +36273,12 @@ "start": 4132, "end": 4145, "length": 14, - "parent_index": 475 + "parent_index": 476 }, - "scope": 471, + "scope": 472, "name": "result", "type_name": { - "id": 477, + "id": 478, "node_type": 30, "src": { "line": 160, @@ -35618,7 +36286,7 @@ "start": 4132, "end": 4138, "length": 7, - "parent_index": 476 + "parent_index": 477 }, "name": "uint256", "referenced_declaration": 0, @@ -35635,7 +36303,7 @@ "type_string": "uint256" } }, - "id": 476, + "id": 477, "node_type": 44, "name": "result", "type": "uint256", @@ -35658,7 +36326,7 @@ ], "fallback": { "ast": { - "id": 117, + "id": 118, "node_type": 42, "kind": 70, "src": { @@ -35675,7 +36343,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 118, + "id": 119, "node_type": 43, "src": { "line": 48, @@ -35683,13 +36351,13 @@ "start": 1106, "end": 1136, "length": 31, - "parent_index": 117 + "parent_index": 118 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 119, + "id": 120, "node_type": 43, "src": { "line": 48, @@ -35697,13 +36365,13 @@ "start": 1106, "end": 1136, "length": 31, - "parent_index": 117 + "parent_index": 118 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 120, + "id": 121, "node_type": 46, "kind": 0, "src": { @@ -35712,14 +36380,14 @@ "start": 1134, "end": 1136, "length": 3, - "parent_index": 117 + "parent_index": 118 }, "implemented": true, "statements": [] }, "virtual": false }, - "id": 117, + "id": 118, "node_type": 42, "name": "fallback", "kind": 70, @@ -35734,7 +36402,7 @@ }, "receive": { "ast": { - "id": 122, + "id": 123, "node_type": 42, "kind": 71, "src": { @@ -35751,7 +36419,7 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 123, + "id": 124, "node_type": 43, "src": { "line": 49, @@ -35759,13 +36427,13 @@ "start": 1142, "end": 1171, "length": 30, - "parent_index": 122 + "parent_index": 123 }, "parameters": [], "parameter_types": [] }, "return_parameters": { - "id": 124, + "id": 125, "node_type": 43, "src": { "line": 49, @@ -35773,13 +36441,13 @@ "start": 1142, "end": 1171, "length": 30, - "parent_index": 122 + "parent_index": 123 }, "parameters": [], "parameter_types": [] }, "body": { - "id": 125, + "id": 126, "node_type": 46, "kind": 0, "src": { @@ -35788,7 +36456,7 @@ "start": 1169, "end": 1171, "length": 3, - "parent_index": 122 + "parent_index": 123 }, "implemented": true, "statements": [] @@ -35796,7 +36464,7 @@ "virtual": false, "payable": false }, - "id": 122, + "id": 123, "node_type": 42, "name": "receive", "kind": 71, diff --git a/data/tests/ir/Lottery.ir.proto.json b/data/tests/ir/Lottery.ir.proto.json index 0682d59d..4cf8e820 100644 --- a/data/tests/ir/Lottery.ir.proto.json +++ b/data/tests/ir/Lottery.ir.proto.json @@ -134,12 +134,12 @@ "state_mutability": 1, "type": "mapping(address=\u003ePlayer)", "type_description": { - "type_identifier": "t_mapping_$t_address_$t_Player$", + "type_identifier": "t_mapping_$t_address_$t_struct$_Lottery_Player_$34$", "type_string": "mapping(address=\u003ePlayer)" } }, { - "id": 45, + "id": 46, "node_type": 44, "name": "playerAddresses", "contract_id": 24, @@ -153,7 +153,7 @@ } }, { - "id": 48, + "id": 49, "node_type": 44, "name": "state", "contract_id": 24, @@ -236,12 +236,12 @@ ], "events": [ { - "id": 52, + "id": 53, "node_type": 57, "name": "PlayerJoined", "parameters": [ { - "id": 54, + "id": 55, "node_type": 44, "name": "addr", "type": "address", @@ -253,12 +253,12 @@ ] }, { - "id": 57, + "id": 58, "node_type": 57, "name": "LotteryFinished", "parameters": [ { - "id": 59, + "id": 60, "node_type": 44, "name": "winner", "type": "address", @@ -270,17 +270,17 @@ ] }, { - "id": 62, + "id": 63, "node_type": 57, "name": "ExternalCallSuccessful" }, { - "id": 65, + "id": 66, "node_type": 57, "name": "ExternalCallFailed", "parameters": [ { - "id": 67, + "id": 68, "node_type": 44, "name": "reason", "type": "string", @@ -294,62 +294,62 @@ ], "errors": [ { - "id": 70, + "id": 71, "node_type": 77, "name": "InvalidState", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidState_$70", + "type_identifier": "t_error$_Lottery_InvalidState_$71", "type_string": "error Lottery.InvalidState" } }, { - "id": 73, + "id": 74, "node_type": 77, "name": "OwnerCannotParticipate", "type_description": { - "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$73", + "type_identifier": "t_error$_Lottery_OwnerCannotParticipate_$74", "type_string": "error Lottery.OwnerCannotParticipate" } }, { - "id": 76, + "id": 77, "node_type": 77, "name": "NoValueProvided", "type_description": { - "type_identifier": "t_error$_Lottery_NoValueProvided_$76", + "type_identifier": "t_error$_Lottery_NoValueProvided_$77", "type_string": "error Lottery.NoValueProvided" } }, { - "id": 79, + "id": 80, "node_type": 77, "name": "InvalidWinner", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidWinner_$79", + "type_identifier": "t_error$_Lottery_InvalidWinner_$80", "type_string": "error Lottery.InvalidWinner" } }, { - "id": 82, + "id": 83, "node_type": 77, "name": "InvalidPlayerAddress", "type_description": { - "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$82", + "type_identifier": "t_error$_Lottery_InvalidPlayerAddress_$83", "type_string": "error Lottery.InvalidPlayerAddress" } }, { - "id": 85, + "id": 86, "node_type": 77, "name": "OnlyOwnerCanCall", "type_description": { - "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$85", + "type_identifier": "t_error$_Lottery_OnlyOwnerCanCall_$86", "type_string": "error Lottery.OnlyOwnerCanCall" } } ], "constructor": { - "id": 127, + "id": 128, "node_type": 42, "kind": 11, "name": "constructor", @@ -359,7 +359,7 @@ }, "functions": [ { - "id": 137, + "id": 138, "node_type": 42, "kind": 41, "name": "join", @@ -368,7 +368,7 @@ "state_mutability": 3, "modifiers": [ { - "id": 139, + "id": 140, "node_type": 72, "name": "inState", "argument_types": [ @@ -379,19 +379,19 @@ ] }, { - "id": 143, + "id": 144, "node_type": 72, "name": "notOwner" } ], "body": { - "id": 146, + "id": 147, "node_type": 46 }, "signature": "b688a363" }, { - "id": 195, + "id": 196, "node_type": 42, "kind": 41, "name": "finishLottery", @@ -400,7 +400,7 @@ "state_mutability": 4, "modifiers": [ { - "id": 197, + "id": 198, "node_type": 72, "name": "inState", "argument_types": [ @@ -412,7 +412,7 @@ } ], "body": { - "id": 202, + "id": 203, "node_type": 46, "statements": [ { @@ -424,7 +424,7 @@ "typeString": "uint256" } ], - "id": "278", + "id": "279", "kind": "FUNCTION_CALL", "nodeType": "FUNCTION_CALL", "typeDescription": { @@ -438,7 +438,7 @@ "signature": "2c906ba2" }, { - "id": 284, + "id": 285, "node_type": 42, "kind": 41, "name": "owner", @@ -447,7 +447,7 @@ "state_mutability": 5, "parameters": [ { - "id": 286, + "id": 287, "node_type": 44, "type": "address", "type_description": { @@ -457,13 +457,13 @@ } ], "body": { - "id": 291, + "id": 292, "node_type": 46 }, "signature": "666e1b39", "return": [ { - "id": 289, + "id": 290, "node_type": 44, "type": "address", "type_description": { @@ -474,7 +474,7 @@ ] }, { - "id": 298, + "id": 299, "node_type": 42, "kind": 41, "name": "balance", @@ -483,7 +483,7 @@ "state_mutability": 5, "parameters": [ { - "id": 300, + "id": 301, "node_type": 44, "type": "uint256", "type_description": { @@ -493,13 +493,13 @@ } ], "body": { - "id": 305, + "id": 306, "node_type": 46 }, "signature": "47bb89f0", "return": [ { - "id": 303, + "id": 304, "node_type": 44, "type": "uint256", "type_description": { @@ -510,7 +510,7 @@ ] }, { - "id": 313, + "id": 314, "node_type": 42, "kind": 41, "name": "checkAllPlayers", @@ -519,7 +519,7 @@ "state_mutability": 5, "parameters": [ { - "id": 315, + "id": 316, "node_type": 44, "type": "bool", "type_description": { @@ -529,13 +529,13 @@ } ], "body": { - "id": 320, + "id": 321, "node_type": 46 }, "signature": "fff012c4", "return": [ { - "id": 318, + "id": 319, "node_type": 44, "type": "bool", "type_description": { @@ -546,7 +546,7 @@ ] }, { - "id": 351, + "id": 352, "node_type": 42, "kind": 41, "name": "requireOwner", @@ -554,13 +554,13 @@ "visibility": 3, "state_mutability": 5, "body": { - "id": 354, + "id": 355, "node_type": 46 }, "signature": "55f11369" }, { - "id": 365, + "id": 366, "node_type": 42, "kind": 41, "name": "callExternalFunction", @@ -569,7 +569,7 @@ "state_mutability": 4, "parameters": [ { - "id": 367, + "id": 368, "node_type": 44, "name": "externalContractAddress", "type": "address", @@ -580,13 +580,13 @@ } ], "body": { - "id": 370, + "id": 371, "node_type": 46 }, "signature": "90f18d83" }, { - "id": 394, + "id": 395, "node_type": 42, "kind": 41, "name": "integerToString", @@ -595,7 +595,7 @@ "state_mutability": 6, "parameters": [ { - "id": 396, + "id": 397, "node_type": 44, "name": "_i", "type": "uint", @@ -606,13 +606,13 @@ } ], "body": { - "id": 401, + "id": 402, "node_type": 46 }, "signature": "cfd83204", "return": [ { - "id": 399, + "id": 400, "node_type": 44, "type": "string", "type_description": { @@ -623,7 +623,7 @@ ] }, { - "id": 471, + "id": 472, "node_type": 42, "kind": 41, "name": "dummyFunctionAssembly", @@ -632,7 +632,7 @@ "state_mutability": 6, "parameters": [ { - "id": 473, + "id": 474, "node_type": 44, "name": "result", "type": "uint256", @@ -643,13 +643,13 @@ } ], "body": { - "id": 478, + "id": 479, "node_type": 46 }, "signature": "044c69c5", "return": [ { - "id": 476, + "id": 477, "node_type": 44, "name": "result", "type": "uint256", @@ -662,7 +662,7 @@ } ], "fallback": { - "id": 117, + "id": 118, "node_type": 42, "kind": 70, "name": "fallback", @@ -671,7 +671,7 @@ "state_mutability": 3 }, "receive": { - "id": 122, + "id": 123, "node_type": 42, "kind": 71, "name": "receive", diff --git a/data/tests/ir/SimpleStorage.ir.json b/data/tests/ir/SimpleStorage.ir.json index 9c27b9af..f17a0bc5 100644 --- a/data/tests/ir/SimpleStorage.ir.json +++ b/data/tests/ir/SimpleStorage.ir.json @@ -420,7 +420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 32, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 33, @@ -440,7 +441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 33, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -503,7 +505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 38, @@ -523,7 +526,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 38, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -556,7 +560,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Addition overflow\"" } ], "expression": { @@ -577,7 +582,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -614,7 +620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -786,13 +793,14 @@ } ] }, - "signature_raw": "add(uint, uint)", - "signature": "9f313803", + "signature_raw": "add(uint,uint)", + "signature": "b8966352", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uinta,uintb)internalpurereturns(uint){uintc=a+b;require(c\u003e=a,\"Addition overflow\");returnc;}" }, { "id": 43, @@ -884,7 +892,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 56, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 57, @@ -904,7 +913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 57, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -937,7 +947,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Subtraction underflow\"" } ], "expression": { @@ -958,7 +969,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1057,7 +1069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 63, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 64, @@ -1077,7 +1090,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 64, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1115,7 +1129,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 59, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1287,13 +1302,14 @@ } ] }, - "signature_raw": "sub(uint, uint)", - "signature": "b2c71209", + "signature_raw": "sub(uint,uint)", + "signature": "796e3e3f", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uinta,uintb)internalpurereturns(uint){require(b\u003c=a,\"Subtraction underflow\");uintc=a-b;returnc;}" }, { "id": 68, @@ -1373,7 +1389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 81, @@ -1395,7 +1412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -1448,7 +1466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -1546,7 +1565,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 89, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 90, @@ -1566,7 +1586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 90, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -1643,7 +1664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 96, @@ -1663,7 +1685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 96, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -1688,7 +1711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 97, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -1721,7 +1745,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Multiplication overflow\"" } ], "expression": { @@ -1742,7 +1767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -1779,7 +1805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -1951,13 +1978,14 @@ } ] }, - "signature_raw": "mul(uint, uint)", - "signature": "ffff81ec", + "signature_raw": "mul(uint,uint)", + "signature": "20949e90", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uinta,uintb)internalpurereturns(uint){if(a==0){return0;}uintc=a*b;require(c/a==b,\"Multiplication overflow\");returnc;}" }, { "id": 102, @@ -2049,7 +2077,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 115, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 116, @@ -2071,7 +2100,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -2104,7 +2134,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Division by zero\"" } ], "expression": { @@ -2125,7 +2156,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -2224,7 +2256,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 122, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 123, @@ -2244,7 +2277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 123, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -2282,7 +2316,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 118, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -2454,13 +2489,14 @@ } ] }, - "signature_raw": "div(uint, uint)", - "signature": "79ab634f", + "signature_raw": "div(uint,uint)", + "signature": "7011598a", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uinta,uintb)internalpurereturns(uint){require(b\u003e0,\"Division by zero\");uintc=a/b;returnc;}" } ], "linearized_base_contracts": [ @@ -2732,7 +2768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 149, @@ -2771,7 +2808,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -2815,14 +2853,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -2837,7 +2877,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.add(x);" } ] }, @@ -2926,7 +2967,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionincrement(uintx)public{storedData=storedData.add(x);}" }, { "id": 154, @@ -3004,7 +3046,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 163, @@ -3043,7 +3086,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -3087,14 +3131,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -3109,7 +3155,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.sub(x);" } ] }, @@ -3198,7 +3245,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondecrement(uintx)public{storedData=storedData.sub(x);}" }, { "id": 168, @@ -3265,7 +3313,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" } } ] @@ -3400,7 +3449,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionget()publicviewreturns(uint){returnstoredData;}" } ], "linearized_base_contracts": [ @@ -3786,7 +3836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 32, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 33, @@ -3806,7 +3857,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 33, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3869,7 +3921,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 38, @@ -3889,7 +3942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 38, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -3922,7 +3976,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Addition overflow\"" } ], "expression": { @@ -3943,7 +3998,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -3980,7 +4036,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -4152,13 +4209,14 @@ } ] }, - "signature_raw": "add(uint, uint)", - "signature": "9f313803", + "signature_raw": "add(uint,uint)", + "signature": "b8966352", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uinta,uintb)internalpurereturns(uint){uintc=a+b;require(c\u003e=a,\"Addition overflow\");returnc;}" }, { "id": 43, @@ -4250,7 +4308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 56, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 57, @@ -4270,7 +4329,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 57, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -4303,7 +4363,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Subtraction underflow\"" } ], "expression": { @@ -4324,7 +4385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -4423,7 +4485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 63, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 64, @@ -4443,7 +4506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 64, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -4481,7 +4545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 59, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -4653,13 +4718,14 @@ } ] }, - "signature_raw": "sub(uint, uint)", - "signature": "b2c71209", + "signature_raw": "sub(uint,uint)", + "signature": "796e3e3f", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uinta,uintb)internalpurereturns(uint){require(b\u003c=a,\"Subtraction underflow\");uintc=a-b;returnc;}" }, { "id": 68, @@ -4739,7 +4805,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 81, @@ -4761,7 +4828,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -4814,7 +4882,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -4912,7 +4981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 89, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 90, @@ -4932,7 +5002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 90, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5009,7 +5080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 96, @@ -5029,7 +5101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 96, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -5054,7 +5127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 97, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -5087,7 +5161,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Multiplication overflow\"" } ], "expression": { @@ -5108,7 +5183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5145,7 +5221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -5317,13 +5394,14 @@ } ] }, - "signature_raw": "mul(uint, uint)", - "signature": "ffff81ec", + "signature_raw": "mul(uint,uint)", + "signature": "20949e90", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uinta,uintb)internalpurereturns(uint){if(a==0){return0;}uintc=a*b;require(c/a==b,\"Multiplication overflow\");returnc;}" }, { "id": 102, @@ -5415,7 +5493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 115, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 116, @@ -5437,7 +5516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5470,7 +5550,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Division by zero\"" } ], "expression": { @@ -5491,7 +5572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5590,7 +5672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 122, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 123, @@ -5610,7 +5693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 123, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5648,7 +5732,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 118, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -5820,13 +5905,14 @@ } ] }, - "signature_raw": "div(uint, uint)", - "signature": "79ab634f", + "signature_raw": "div(uint,uint)", + "signature": "7011598a", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uinta,uintb)internalpurereturns(uint){require(b\u003e0,\"Division by zero\");uintc=a/b;returnc;}" } ], "linearized_base_contracts": [ @@ -6067,7 +6153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 32, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 33, @@ -6087,7 +6174,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 33, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6150,7 +6238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 38, @@ -6170,7 +6259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 38, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -6203,7 +6293,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Addition overflow\"" } ], "expression": { @@ -6224,7 +6315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6261,7 +6353,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -6433,13 +6526,14 @@ } ] }, - "signature_raw": "add(uint, uint)", - "signature": "9f313803", + "signature_raw": "add(uint,uint)", + "signature": "b8966352", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uinta,uintb)internalpurereturns(uint){uintc=a+b;require(c\u003e=a,\"Addition overflow\");returnc;}" }, "id": 18, "node_type": 42, @@ -6450,7 +6544,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "9f313803", + "signature": "b8966352", "modifiers": [], "overrides": [], "parameters": [ @@ -6662,7 +6756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 32, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 33, @@ -6682,7 +6777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 33, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6745,7 +6841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 38, @@ -6765,7 +6862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 38, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -6798,7 +6896,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Addition overflow\"" } ], "expression": { @@ -6819,7 +6918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -6856,7 +6956,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 28, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -7043,7 +7144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 56, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 57, @@ -7063,7 +7165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 57, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -7096,7 +7199,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Subtraction underflow\"" } ], "expression": { @@ -7117,7 +7221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7216,7 +7321,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 63, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 64, @@ -7236,7 +7342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 64, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -7274,7 +7381,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 59, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -7446,13 +7554,14 @@ } ] }, - "signature_raw": "sub(uint, uint)", - "signature": "b2c71209", + "signature_raw": "sub(uint,uint)", + "signature": "796e3e3f", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uinta,uintb)internalpurereturns(uint){require(b\u003c=a,\"Subtraction underflow\");uintc=a-b;returnc;}" }, "id": 43, "node_type": 42, @@ -7463,7 +7572,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "b2c71209", + "signature": "796e3e3f", "modifiers": [], "overrides": [], "parameters": [ @@ -7638,7 +7747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 56, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 57, @@ -7658,7 +7768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 57, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_bool", @@ -7691,7 +7802,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Subtraction underflow\"" } ], "expression": { @@ -7712,7 +7824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7811,7 +7924,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 63, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 64, @@ -7831,7 +7945,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 64, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -7869,7 +7984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 59, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -8044,7 +8160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 81, @@ -8066,7 +8183,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8119,7 +8237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -8217,7 +8336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 89, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 90, @@ -8237,7 +8357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 90, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -8314,7 +8435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 96, @@ -8334,7 +8456,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 96, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -8359,7 +8482,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 97, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -8392,7 +8516,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Multiplication overflow\"" } ], "expression": { @@ -8413,7 +8538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -8450,7 +8576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -8622,13 +8749,14 @@ } ] }, - "signature_raw": "mul(uint, uint)", - "signature": "ffff81ec", + "signature_raw": "mul(uint,uint)", + "signature": "20949e90", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uinta,uintb)internalpurereturns(uint){if(a==0){return0;}uintc=a*b;require(c/a==b,\"Multiplication overflow\");returnc;}" }, "id": 68, "node_type": 42, @@ -8639,7 +8767,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "ffff81ec", + "signature": "20949e90", "modifiers": [], "overrides": [], "parameters": [ @@ -8802,7 +8930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 80, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 81, @@ -8824,7 +8953,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -8877,7 +9007,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } } ] @@ -8975,7 +9106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 89, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 90, @@ -8995,7 +9127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 90, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -9072,7 +9205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" }, "right_expression": { "id": 96, @@ -9092,7 +9226,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 96, - "is_pure": false + "is_pure": false, + "text": "a" }, "type_description": { "type_identifier": "t_uint256", @@ -9117,7 +9252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 97, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_bool", @@ -9150,7 +9286,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Multiplication overflow\"" } ], "expression": { @@ -9171,7 +9308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9208,7 +9346,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 85, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -9395,7 +9534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 115, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 116, @@ -9417,7 +9557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -9450,7 +9591,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Division by zero\"" } ], "expression": { @@ -9471,7 +9613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -9570,7 +9713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 122, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 123, @@ -9590,7 +9734,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 123, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -9628,7 +9773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 118, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -9800,13 +9946,14 @@ } ] }, - "signature_raw": "div(uint, uint)", - "signature": "79ab634f", + "signature_raw": "div(uint,uint)", + "signature": "7011598a", "scope": 16, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uinta,uintb)internalpurereturns(uint){require(b\u003e0,\"Division by zero\");uintc=a/b;returnc;}" }, "id": 102, "node_type": 42, @@ -9817,7 +9964,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "79ab634f", + "signature": "7011598a", "modifiers": [], "overrides": [], "parameters": [ @@ -9992,7 +10139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 115, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 116, @@ -10014,7 +10162,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -10047,7 +10196,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Division by zero\"" } ], "expression": { @@ -10068,7 +10218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -10167,7 +10318,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 122, - "is_pure": false + "is_pure": false, + "text": "a" }, "right_expression": { "id": 123, @@ -10187,7 +10339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 123, - "is_pure": false + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -10225,7 +10378,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 118, - "is_pure": false + "is_pure": false, + "text": "c" } } ] @@ -10577,7 +10731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 149, @@ -10616,7 +10771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -10660,14 +10816,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -10682,7 +10840,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.add(x);" } ] }, @@ -10771,7 +10930,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionincrement(uintx)public{storedData=storedData.add(x);}" }, { "id": 154, @@ -10849,7 +11009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 163, @@ -10888,7 +11049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -10932,14 +11094,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -10954,7 +11118,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.sub(x);" } ] }, @@ -11043,7 +11208,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondecrement(uintx)public{storedData=storedData.sub(x);}" }, { "id": 168, @@ -11110,7 +11276,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" } } ] @@ -11245,7 +11412,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionget()publicviewreturns(uint){returnstoredData;}" } ], "linearized_base_contracts": [ @@ -11500,7 +11668,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 149, @@ -11539,7 +11708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -11583,14 +11753,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -11605,7 +11777,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.add(x);" } ] }, @@ -11694,7 +11867,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionincrement(uintx)public{storedData=storedData.add(x);}" }, "id": 140, "node_type": 42, @@ -11816,7 +11990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 149, @@ -11855,7 +12030,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 152, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -11899,14 +12075,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "add", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.add" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -11921,7 +12099,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.add(x);" } ] }, @@ -12017,7 +12196,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 163, @@ -12056,7 +12236,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -12100,14 +12281,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -12122,7 +12305,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.sub(x);" } ] }, @@ -12211,7 +12395,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functiondecrement(uintx)public{storedData=storedData.sub(x);}" }, "id": 154, "node_type": 42, @@ -12333,7 +12518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "right_expression": { "id": 163, @@ -12372,7 +12558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 166, - "is_pure": false + "is_pure": false, + "text": "x" } ], "expression": { @@ -12416,14 +12603,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" }, "member_name": "sub", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData.sub" }, "type_description": { "type_identifier": "t_function_$_t_uint256$", @@ -12438,7 +12627,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "storedData=storedData.sub(x);" } ] }, @@ -12523,7 +12713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" } } ] @@ -12658,7 +12849,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionget()publicviewreturns(uint){returnstoredData;}" }, "id": 168, "node_type": 42, @@ -12769,7 +12961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 137, - "is_pure": false + "is_pure": false, + "text": "storedData" } } ] diff --git a/data/tests/ir/SimpleStorage.ir.proto.json b/data/tests/ir/SimpleStorage.ir.proto.json index fdb0b291..509cccea 100644 --- a/data/tests/ir/SimpleStorage.ir.proto.json +++ b/data/tests/ir/SimpleStorage.ir.proto.json @@ -109,7 +109,7 @@ } ] }, - "signature": "9f313803", + "signature": "b8966352", "return": [ { "id": 25, @@ -181,7 +181,7 @@ } ] }, - "signature": "b2c71209", + "signature": "796e3e3f", "return": [ { "id": 50, @@ -253,7 +253,7 @@ } ] }, - "signature": "ffff81ec", + "signature": "20949e90", "return": [ { "id": 75, @@ -325,7 +325,7 @@ } ] }, - "signature": "79ab634f", + "signature": "7011598a", "return": [ { "id": 109, diff --git a/data/tests/ir/TokenSale.ir.json b/data/tests/ir/TokenSale.ir.json index deb0e600..dfe48d1f 100644 --- a/data/tests/ir/TokenSale.ir.json +++ b/data/tests/ir/TokenSale.ir.json @@ -6,49 +6,131 @@ "globals": [ { "id": 487, + "name": "c", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 899, + "length": 9 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 488, + "node_type": 30, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 897, + "length": 7, + "parent_index": 487 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 489, + "name": "c", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1870, + "length": 9 + }, + "scope": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 490, + "node_type": 30, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1868, + "length": 7, + "parent_index": 489 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 491, "node_type": 57, "src": { - "line": 74, + "line": 306, "column": 4, - "start": 2414, - "end": 2485, + "start": 9514, + "end": 9585, "length": 72 }, "parameters": { - "id": 488, + "id": 492, "node_type": 43, "src": { - "line": 74, + "line": 306, "column": 4, - "start": 2414, - "end": 2485, + "start": 9514, + "end": 9585, "length": 72, - "parent_index": 487 + "parent_index": 491 }, "parameters": [ { - "id": 489, + "id": 493, "node_type": 44, "src": { - "line": 74, + "line": 306, "column": 19, - "start": 2429, - "end": 2448, + "start": 9529, + "end": 9548, "length": 20, - "parent_index": 488 + "parent_index": 492 }, - "scope": 487, + "scope": 491, "name": "from", "type_name": { - "id": 490, + "id": 494, "node_type": 30, "src": { - "line": 74, + "line": 306, "column": 19, - "start": 2429, - "end": 2435, + "start": 9529, + "end": 9535, "length": 7, - "parent_index": 489 + "parent_index": 493 }, "name": "address", "state_mutability": 4, @@ -68,28 +150,28 @@ "indexed": true }, { - "id": 491, + "id": 495, "node_type": 44, "src": { - "line": 74, + "line": 306, "column": 41, - "start": 2451, - "end": 2468, + "start": 9551, + "end": 9568, "length": 18, - "parent_index": 488 + "parent_index": 492 }, - "scope": 487, + "scope": 491, "name": "to", "type_name": { - "id": 492, + "id": 496, "node_type": 30, "src": { - "line": 74, + "line": 306, "column": 41, - "start": 2451, - "end": 2457, + "start": 9551, + "end": 9557, "length": 7, - "parent_index": 491 + "parent_index": 495 }, "name": "address", "state_mutability": 4, @@ -109,28 +191,28 @@ "indexed": true }, { - "id": 493, + "id": 497, "node_type": 44, "src": { - "line": 74, + "line": 306, "column": 61, - "start": 2471, - "end": 2483, + "start": 9571, + "end": 9583, "length": 13, - "parent_index": 488 + "parent_index": 492 }, - "scope": 487, + "scope": 491, "name": "value", "type_name": { - "id": 494, + "id": 498, "node_type": 30, "src": { - "line": 74, + "line": 306, "column": 61, - "start": 2471, - "end": 2477, + "start": 9571, + "end": 9577, "length": 7, - "parent_index": 493 + "parent_index": 497 }, "name": "uint256", "referenced_declaration": 0, @@ -166,55 +248,55 @@ "name": "Transfer", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Transfer_\u0026487", + "type_identifier": "t_event\u0026_Global_Transfer_\u0026491", "type_string": "event Global.Transfer" } }, { - "id": 495, + "id": 499, "node_type": 57, "src": { - "line": 80, + "line": 312, "column": 4, - "start": 2645, - "end": 2722, + "start": 9745, + "end": 9822, "length": 78 }, "parameters": { - "id": 496, + "id": 500, "node_type": 43, "src": { - "line": 80, + "line": 312, "column": 4, - "start": 2645, - "end": 2722, + "start": 9745, + "end": 9822, "length": 78, - "parent_index": 495 + "parent_index": 499 }, "parameters": [ { - "id": 497, + "id": 501, "node_type": 44, "src": { - "line": 80, + "line": 312, "column": 19, - "start": 2660, - "end": 2680, + "start": 9760, + "end": 9780, "length": 21, - "parent_index": 496 + "parent_index": 500 }, - "scope": 495, + "scope": 499, "name": "owner", "type_name": { - "id": 498, + "id": 502, "node_type": 30, "src": { - "line": 80, + "line": 312, "column": 19, - "start": 2660, - "end": 2666, + "start": 9760, + "end": 9766, "length": 7, - "parent_index": 497 + "parent_index": 501 }, "name": "address", "state_mutability": 4, @@ -234,28 +316,28 @@ "indexed": true }, { - "id": 499, + "id": 503, "node_type": 44, "src": { - "line": 80, + "line": 312, "column": 42, - "start": 2683, - "end": 2705, + "start": 9783, + "end": 9805, "length": 23, - "parent_index": 496 + "parent_index": 500 }, - "scope": 495, + "scope": 499, "name": "spender", "type_name": { - "id": 500, + "id": 504, "node_type": 30, "src": { - "line": 80, + "line": 312, "column": 42, - "start": 2683, - "end": 2689, + "start": 9783, + "end": 9789, "length": 7, - "parent_index": 499 + "parent_index": 503 }, "name": "address", "state_mutability": 4, @@ -275,28 +357,28 @@ "indexed": true }, { - "id": 501, + "id": 505, "node_type": 44, "src": { - "line": 80, + "line": 312, "column": 67, - "start": 2708, - "end": 2720, + "start": 9808, + "end": 9820, "length": 13, - "parent_index": 496 + "parent_index": 500 }, - "scope": 495, + "scope": 499, "name": "value", "type_name": { - "id": 502, + "id": 506, "node_type": 30, "src": { - "line": 80, + "line": 312, "column": 67, - "start": 2708, - "end": 2714, + "start": 9808, + "end": 9814, "length": 7, - "parent_index": 501 + "parent_index": 505 }, "name": "uint256", "referenced_declaration": 0, @@ -332,92 +414,10 @@ "name": "Approval", "anonymous": false, "type_description": { - "type_identifier": "t_event\u0026_Global_Approval_\u0026495", + "type_identifier": "t_event\u0026_Global_Approval_\u0026499", "type_string": "event Global.Approval" } }, - { - "id": 503, - "name": "c", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3626, - "length": 9 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 504, - "node_type": 30, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3624, - "length": 7, - "parent_index": 503 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, - { - "id": 505, - "name": "c", - "is_constant": true, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4597, - "length": 9 - }, - "scope": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 3, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 506, - "node_type": 30, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4595, - "length": 7, - "parent_index": 505 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, { "id": 507, "name": "token", @@ -433,7 +433,7 @@ }, "scope": 0, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "visibility": 2, @@ -454,7 +454,7 @@ "id": 509, "name": "IERC20", "node_type": 52, - "referenced_declaration": 31, + "referenced_declaration": 321, "src": { "line": 324, "column": 4, @@ -472,9 +472,9 @@ "parent_index": 508 } }, - "referenced_declaration": 31, + "referenced_declaration": 321, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, @@ -733,12 +733,12 @@ "exported_symbols": [ { "id": 31, - "name": "IERC20", - "absolute_path": "IERC20.sol" + "name": "SafeMath", + "absolute_path": "SafeMath.sol" } ], - "absolute_path": "IERC20.sol", - "name": "IERC20", + "absolute_path": "SafeMath.sol", + "name": "SafeMath", "node_type": 1, "nodes": [ { @@ -766,165 +766,409 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 35, - "name": "IERC20", + "id": 33, + "name": "SafeMath", "node_type": 35, "src": { - "line": 8, + "line": 18, "column": 0, - "start": 129, - "end": 2724, - "length": 2596, + "start": 622, + "end": 7097, + "length": 6476, "parent_index": 31 }, "name_location": { - "line": 8, - "column": 10, - "start": 139, - "end": 144, - "length": 6, - "parent_index": 35 + "line": 18, + "column": 8, + "start": 630, + "end": 637, + "length": 8, + "parent_index": 33 }, "abstract": false, - "kind": 38, + "kind": 37, "fully_implemented": true, "nodes": [ { - "id": 37, - "name": "totalSupply", + "id": 35, + "name": "tryAdd", "node_type": 42, "kind": 41, "src": { - "line": 12, + "line": 24, "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 35 + "start": 781, + "end": 996, + "length": 216, + "parent_index": 33 }, "name_location": { - "line": 12, + "line": 24, "column": 13, - "start": 232, - "end": 242, - "length": 11, - "parent_index": 37 + "start": 790, + "end": 795, + "length": 6, + "parent_index": 35 }, "body": { - "id": 44, + "id": 46, "node_type": 46, "kind": 0, "src": { - "line": 12, - "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 37 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 38, - "node_type": 43, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 37 + "line": 24, + "column": 80, + "start": 857, + "end": 996, + "length": 140, + "parent_index": 35 }, - "parameters": [ + "implemented": true, + "statements": [ { - "id": 39, - "node_type": 44, + "id": 47, + "node_type": 59, + "kind": 0, "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 38 - }, - "scope": 37, - "name": "", - "type_name": { - "id": 40, - "node_type": 30, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 39 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 25, + "column": 8, + "start": 867, + "end": 990, + "length": 124, + "parent_index": 33 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 41, - "node_type": 43, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 37 + "implemented": false, + "statements": [ + { + "id": 48, + "node_type": 44, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 908, + "length": 18, + "parent_index": 47 + }, + "assignments": [ + 49 + ], + "declarations": [ + { + "id": 49, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 47, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 899, + "length": 9, + "parent_index": 48 + }, + "name_location": { + "line": 26, + "column": 20, + "start": 899, + "end": 899, + "length": 1, + "parent_index": 49 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 50, + "node_type": 30, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 897, + "length": 7, + "parent_index": 49 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 51, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 26, + "column": 24, + "start": 903, + "end": 907, + "length": 5, + "parent_index": 48 + }, + "operator": 1, + "left_expression": { + "id": 52, + "node_type": 16, + "src": { + "line": 26, + "column": 24, + "start": 903, + "end": 903, + "length": 1, + "parent_index": 51 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 52, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 53, + "node_type": 16, + "src": { + "line": 26, + "column": 28, + "start": 907, + "end": 907, + "length": 1, + "parent_index": 51 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 53, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + }, + { + "id": 54, + "node_type": 48, + "src": { + "line": 27, + "column": 0, + "start": 922, + "end": 950, + "length": 29, + "parent_index": 47 + }, + "condition": { + "id": 55, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 27, + "column": 16, + "start": 926, + "end": 930, + "length": 5, + "parent_index": 54 + }, + "operator": 9, + "left_expression": { + "id": 56, + "node_type": 16, + "src": { + "line": 27, + "column": 16, + "start": 926, + "end": 926, + "length": 1, + "parent_index": 55 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 57, + "node_type": 16, + "src": { + "line": 27, + "column": 20, + "start": 930, + "end": 930, + "length": 1, + "parent_index": 55 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 57, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 58, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 59, + "node_type": 47, + "src": { + "line": 28, + "column": 12, + "start": 964, + "end": 980, + "length": 17, + "parent_index": 35 + }, + "function_return_parameters": 35, + "expression": { + "id": 60, + "node_type": 60, + "src": { + "line": 28, + "column": 19, + "start": 971, + "end": 979, + "length": 9, + "parent_index": 59 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 61, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 28, + "column": 20, + "start": 972, + "end": 975, + "length": 4, + "parent_index": 60 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 62, + "node_type": 16, + "src": { + "line": 28, + "column": 26, + "start": 978, + "end": 978, + "length": 1, + "parent_index": 60 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } + } + ] + } + ] + }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 36, + "node_type": 43, + "src": { + "line": 24, + "column": 20, + "start": 797, + "end": 816, + "length": 20, + "parent_index": 35 }, "parameters": [ { - "id": 42, + "id": 37, "node_type": 44, "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 41 + "line": 24, + "column": 20, + "start": 797, + "end": 805, + "length": 9, + "parent_index": 36 }, - "scope": 37, - "name": "", + "scope": 35, + "name": "a", "type_name": { - "id": 43, + "id": 38, "node_type": 30, "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, + "line": 24, + "column": 20, + "start": 797, + "end": 803, "length": 7, - "parent_index": 42 + "parent_index": 37 }, "name": "uint256", "referenced_declaration": 0, @@ -940,160 +1184,30 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ + }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "totalSupply(uint256)", - "signature": "bd85b039", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - }, - { - "id": 46, - "name": "balanceOf", - "node_type": 42, - "kind": 41, - "src": { - "line": 17, - "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 35 - }, - "name_location": { - "line": 17, - "column": 13, - "start": 370, - "end": 378, - "length": 9, - "parent_index": 46 - }, - "body": { - "id": 53, - "node_type": 46, - "kind": 0, - "src": { - "line": 17, - "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 46 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 47, - "node_type": 43, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 394, - "length": 15, - "parent_index": 46 - }, - "parameters": [ - { - "id": 48, - "node_type": 44, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 394, - "length": 15, - "parent_index": 47 - }, - "scope": 46, - "name": "account", - "type_name": { - "id": 49, - "node_type": 30, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 386, - "length": 7, - "parent_index": 48 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "return_parameters": { - "id": 50, - "node_type": 43, - "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 46 - }, - "parameters": [ - { - "id": 51, + "id": 39, "node_type": 44, "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 50 + "line": 24, + "column": 31, + "start": 808, + "end": 816, + "length": 9, + "parent_index": 36 }, - "scope": 46, - "name": "", + "scope": 35, + "name": "b", "type_name": { - "id": 52, + "id": 40, "node_type": 30, "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, + "line": 24, + "column": 31, + "start": 808, + "end": 814, "length": 7, - "parent_index": 51 + "parent_index": 39 }, "name": "uint256", "referenced_declaration": 0, @@ -1112,137 +1226,90 @@ } ], "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "balanceOf(address)", - "signature": "70a08231", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - { - "id": 55, - "name": "transfer", - "node_type": 42, - "kind": 41, - "src": { - "line": 26, - "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 35 - }, - "name_location": { - "line": 26, - "column": 13, - "start": 658, - "end": 665, - "length": 8, - "parent_index": 55 - }, - "body": { - "id": 64, - "node_type": 46, - "kind": 0, - "src": { - "line": 26, - "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 55 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 56, + "return_parameters": { + "id": 41, "node_type": 43, "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 699, - "length": 33, - "parent_index": 55 + "line": 24, + "column": 65, + "start": 842, + "end": 854, + "length": 13, + "parent_index": 35 }, "parameters": [ { - "id": 57, + "id": 42, "node_type": 44, "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 683, - "length": 17, - "parent_index": 56 + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 41 }, - "scope": 55, - "name": "recipient", + "scope": 35, + "name": "", "type_name": { - "id": 58, + "id": 43, "node_type": 30, "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 673, - "length": 7, - "parent_index": 57 + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 42 }, - "name": "address", - "state_mutability": 4, + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" } }, { - "id": 59, + "id": 44, "node_type": 44, "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 699, - "length": 14, - "parent_index": 56 + "line": 24, + "column": 71, + "start": 848, + "end": 854, + "length": 7, + "parent_index": 41 }, - "scope": 55, - "name": "amount", + "scope": 35, + "name": "", "type_name": { - "id": 60, + "id": 45, "node_type": 30, "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 692, + "line": 24, + "column": 71, + "start": 848, + "end": 854, "length": 7, - "parent_index": 59 + "parent_index": 44 }, "name": "uint256", "referenced_declaration": 0, @@ -1262,8 +1329,8 @@ ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" }, { "type_identifier": "t_uint256", @@ -1271,403 +1338,454 @@ } ] }, - "return_parameters": { - "id": 61, - "node_type": 43, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 55 - }, - "parameters": [ - { - "id": 62, - "node_type": 44, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 61 - }, - "scope": 55, - "name": "", - "type_name": { - "id": 63, - "node_type": 30, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 62 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", - "scope": 35, + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, { - "id": 66, - "name": "allowance", + "id": 64, + "name": "trySub", "node_type": 42, "kind": 41, "src": { - "line": 35, + "line": 37, "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 35 + "start": 1143, + "end": 1331, + "length": 189, + "parent_index": 33 }, "name_location": { - "line": 35, + "line": 37, "column": 13, - "start": 1010, - "end": 1018, - "length": 9, - "parent_index": 66 + "start": 1152, + "end": 1157, + "length": 6, + "parent_index": 64 }, "body": { "id": 75, "node_type": 46, "kind": 0, "src": { - "line": 35, - "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 66 + "line": 37, + "column": 80, + "start": 1219, + "end": 1331, + "length": 113, + "parent_index": 64 }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 67, + "implemented": true, + "statements": [ + { + "id": 76, + "node_type": 59, + "kind": 0, + "src": { + "line": 38, + "column": 8, + "start": 1229, + "end": 1325, + "length": 97, + "parent_index": 33 + }, + "implemented": false, + "statements": [ + { + "id": 77, + "node_type": 48, + "src": { + "line": 39, + "column": 0, + "start": 1253, + "end": 1281, + "length": 29, + "parent_index": 76 + }, + "condition": { + "id": 78, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 39, + "column": 16, + "start": 1257, + "end": 1261, + "length": 5, + "parent_index": 77 + }, + "operator": 7, + "left_expression": { + "id": 79, + "node_type": 16, + "src": { + "line": 39, + "column": 16, + "start": 1257, + "end": 1257, + "length": 1, + "parent_index": 78 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 79, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 80, + "node_type": 16, + "src": { + "line": 39, + "column": 20, + "start": 1261, + "end": 1261, + "length": 1, + "parent_index": 78 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 80, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 81, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 82, + "node_type": 47, + "src": { + "line": 40, + "column": 12, + "start": 1295, + "end": 1315, + "length": 21, + "parent_index": 64 + }, + "function_return_parameters": 64, + "expression": { + "id": 83, + "node_type": 60, + "src": { + "line": 40, + "column": 19, + "start": 1302, + "end": 1314, + "length": 13, + "parent_index": 82 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 84, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 40, + "column": 20, + "start": 1303, + "end": 1306, + "length": 4, + "parent_index": 83 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 85, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 40, + "column": 26, + "start": 1309, + "end": 1313, + "length": 5, + "parent_index": 83 + }, + "operator": 2, + "left_expression": { + "id": 86, + "node_type": 16, + "src": { + "line": 40, + "column": 26, + "start": 1309, + "end": 1309, + "length": 1, + "parent_index": 85 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 86, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 87, + "node_type": 16, + "src": { + "line": 40, + "column": 30, + "start": 1313, + "end": 1313, + "length": 1, + "parent_index": 85 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 87, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } + } + ] + } + ] + }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 65, "node_type": 43, "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1049, - "length": 30, - "parent_index": 66 + "line": 37, + "column": 20, + "start": 1159, + "end": 1178, + "length": 20, + "parent_index": 64 }, "parameters": [ { - "id": 68, + "id": 66, "node_type": 44, "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1032, - "length": 13, - "parent_index": 67 + "line": 37, + "column": 20, + "start": 1159, + "end": 1167, + "length": 9, + "parent_index": 65 }, - "scope": 66, - "name": "owner", + "scope": 64, + "name": "a", "type_name": { - "id": 69, + "id": 67, "node_type": 30, "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1026, + "line": 37, + "column": 20, + "start": 1159, + "end": 1165, "length": 7, - "parent_index": 68 + "parent_index": 66 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 70, + "id": 68, "node_type": 44, "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1049, - "length": 15, - "parent_index": 67 + "line": 37, + "column": 31, + "start": 1170, + "end": 1178, + "length": 9, + "parent_index": 65 }, - "scope": 66, - "name": "spender", + "scope": 64, + "name": "b", "type_name": { - "id": 71, + "id": 69, "node_type": 30, "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1041, + "line": 37, + "column": 31, + "start": 1170, + "end": 1176, "length": 7, - "parent_index": 70 + "parent_index": 68 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, "return_parameters": { - "id": 72, + "id": 70, "node_type": 43, "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 66 + "line": 37, + "column": 65, + "start": 1204, + "end": 1216, + "length": 13, + "parent_index": 64 }, "parameters": [ { - "id": 73, + "id": 71, "node_type": 44, "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 72 + "line": 37, + "column": 65, + "start": 1204, + "end": 1207, + "length": 4, + "parent_index": 70 }, - "scope": 66, + "scope": 64, "name": "", "type_name": { - "id": 74, + "id": 72, "node_type": 30, "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 73 + "line": 37, + "column": 65, + "start": 1204, + "end": 1207, + "length": 4, + "parent_index": 71 }, - "name": "uint256", + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } - } - ], - "parameter_types": [ + }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } - }, - { - "id": 77, - "name": "approve", - "node_type": 42, - "kind": 41, - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 35 - }, - "name_location": { - "line": 51, - "column": 13, - "start": 1746, - "end": 1752, - "length": 7, - "parent_index": 77 - }, - "body": { - "id": 86, - "node_type": 46, - "kind": 0, - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 77 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 78, - "node_type": 43, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1784, - "length": 31, - "parent_index": 77 - }, - "parameters": [ - { - "id": 79, - "node_type": 44, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1768, - "length": 15, - "parent_index": 78 - }, - "scope": 77, - "name": "spender", - "type_name": { - "id": 80, - "node_type": 30, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1760, - "length": 7, - "parent_index": 79 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 81, + "id": 73, "node_type": 44, "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1784, - "length": 14, - "parent_index": 78 + "line": 37, + "column": 71, + "start": 1210, + "end": 1216, + "length": 7, + "parent_index": 70 }, - "scope": 77, - "name": "amount", + "scope": 64, + "name": "", "type_name": { - "id": 82, + "id": 74, "node_type": 30, "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1777, + "line": 37, + "column": 71, + "start": 1210, + "end": 1216, "length": 7, - "parent_index": 81 + "parent_index": 73 }, "name": "uint256", "referenced_declaration": 0, @@ -1687,8 +1805,8 @@ ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" }, { "type_identifier": "t_uint256", @@ -1696,230 +1814,563 @@ } ] }, - "return_parameters": { - "id": 83, - "node_type": 43, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 77 - }, - "parameters": [ - { - "id": 84, - "node_type": 44, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 83 - }, - "scope": 77, - "name": "", - "type_name": { - "id": 85, - "node_type": 30, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 84 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", - "scope": 35, + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, { - "id": 88, - "name": "transferFrom", + "id": 89, + "name": "tryMul", "node_type": 42, "kind": 41, "src": { - "line": 62, + "line": 49, "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 35 + "start": 1480, + "end": 1972, + "length": 493, + "parent_index": 33 }, "name_location": { - "line": 62, + "line": 49, "column": 13, - "start": 2127, - "end": 2138, - "length": 12, - "parent_index": 88 + "start": 1489, + "end": 1494, + "length": 6, + "parent_index": 89 }, "body": { - "id": 99, + "id": 100, "node_type": 46, "kind": 0, "src": { - "line": 62, - "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 88 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 89, - "node_type": 43, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2213, - "length": 65, - "parent_index": 88 + "line": 49, + "column": 80, + "start": 1556, + "end": 1972, + "length": 417, + "parent_index": 89 }, - "parameters": [ + "implemented": true, + "statements": [ { - "id": 90, - "node_type": 44, + "id": 101, + "node_type": 59, + "kind": 0, "src": { - "line": 63, + "line": 50, "column": 8, - "start": 2149, - "end": 2162, - "length": 14, - "parent_index": 89 + "start": 1566, + "end": 1966, + "length": 401, + "parent_index": 33 }, - "scope": 88, - "name": "sender", - "type_name": { - "id": 91, - "node_type": 30, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2155, - "length": 7, - "parent_index": 90 + "implemented": false, + "statements": [ + { + "id": 102, + "node_type": 48, + "src": { + "line": 54, + "column": 0, + "start": 1820, + "end": 1848, + "length": 29, + "parent_index": 101 + }, + "condition": { + "id": 103, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 54, + "column": 16, + "start": 1824, + "end": 1829, + "length": 6, + "parent_index": 102 + }, + "operator": 11, + "left_expression": { + "id": 104, + "node_type": 16, + "src": { + "line": 54, + "column": 16, + "start": 1824, + "end": 1824, + "length": 1, + "parent_index": 103 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 104, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 105, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 54, + "column": 21, + "start": 1829, + "end": 1829, + "length": 1, + "parent_index": 103 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 106, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + { + "id": 107, + "node_type": 44, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1879, + "length": 18, + "parent_index": 101 + }, + "assignments": [ + 108 + ], + "declarations": [ + { + "id": 108, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 101, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1870, + "length": 9, + "parent_index": 107 + }, + "name_location": { + "line": 55, + "column": 20, + "start": 1870, + "end": 1870, + "length": 1, + "parent_index": 108 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 109, + "node_type": 30, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1868, + "length": 7, + "parent_index": 108 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 110, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 55, + "column": 24, + "start": 1874, + "end": 1878, + "length": 5, + "parent_index": 107 + }, + "operator": 3, + "left_expression": { + "id": 111, + "node_type": 16, + "src": { + "line": 55, + "column": 24, + "start": 1874, + "end": 1874, + "length": 1, + "parent_index": 110 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 111, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 112, + "node_type": 16, + "src": { + "line": 55, + "column": 28, + "start": 1878, + "end": 1878, + "length": 1, + "parent_index": 110 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 112, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + }, + { + "id": 113, + "node_type": 48, + "src": { + "line": 56, + "column": 0, + "start": 1893, + "end": 1926, + "length": 34, + "parent_index": 101 + }, + "condition": { + "id": 114, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1906, + "length": 10, + "parent_index": 113 + }, + "operator": 12, + "left_expression": { + "id": 115, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1901, + "length": 5, + "parent_index": 114 + }, + "operator": 4, + "left_expression": { + "id": 116, + "node_type": 16, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1897, + "length": 1, + "parent_index": 115 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 117, + "node_type": 16, + "src": { + "line": 56, + "column": 20, + "start": 1901, + "end": 1901, + "length": 1, + "parent_index": 115 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 117, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "right_expression": { + "id": 118, + "node_type": 16, + "src": { + "line": 56, + "column": 25, + "start": 1906, + "end": 1906, + "length": 1, + "parent_index": 114 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 118, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 119, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 120, + "node_type": 47, + "src": { + "line": 57, + "column": 12, + "start": 1940, + "end": 1956, + "length": 17, + "parent_index": 89 + }, + "function_return_parameters": 89, + "expression": { + "id": 121, + "node_type": 60, + "src": { + "line": 57, + "column": 19, + "start": 1947, + "end": 1955, + "length": 9, + "parent_index": 120 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 122, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 57, + "column": 20, + "start": 1948, + "end": 1951, + "length": 4, + "parent_index": 121 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 123, + "node_type": 16, + "src": { + "line": 57, + "column": 26, + "start": 1954, + "end": 1954, + "length": 1, + "parent_index": 121 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, + ] + } + ] + }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 90, + "node_type": 43, + "src": { + "line": 49, + "column": 20, + "start": 1496, + "end": 1515, + "length": 20, + "parent_index": 89 + }, + "parameters": [ { - "id": 92, + "id": 91, "node_type": 44, "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2189, - "length": 17, - "parent_index": 89 + "line": 49, + "column": 20, + "start": 1496, + "end": 1504, + "length": 9, + "parent_index": 90 }, - "scope": 88, - "name": "recipient", + "scope": 89, + "name": "a", "type_name": { - "id": 93, + "id": 92, "node_type": 30, "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2179, + "line": 49, + "column": 20, + "start": 1496, + "end": 1502, "length": 7, - "parent_index": 92 + "parent_index": 91 }, - "name": "address", - "state_mutability": 4, + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 94, + "id": 93, "node_type": 44, "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2213, - "length": 14, - "parent_index": 89 + "line": 49, + "column": 31, + "start": 1507, + "end": 1515, + "length": 9, + "parent_index": 90 }, - "scope": 88, - "name": "amount", + "scope": 89, + "name": "b", "type_name": { - "id": 95, + "id": 94, "node_type": 30, "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2206, + "line": 49, + "column": 31, + "start": 1507, + "end": 1513, "length": 7, - "parent_index": 94 + "parent_index": 93 }, "name": "uint256", "referenced_declaration": 0, @@ -1939,12 +2390,8 @@ ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { "type_identifier": "t_uint256", @@ -1953,40 +2400,40 @@ ] }, "return_parameters": { - "id": 96, + "id": 95, "node_type": 43, "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 88 + "line": 49, + "column": 65, + "start": 1541, + "end": 1553, + "length": 13, + "parent_index": 89 }, "parameters": [ { - "id": 97, + "id": 96, "node_type": 44, "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, + "line": 49, + "column": 65, + "start": 1541, + "end": 1544, "length": 4, - "parent_index": 96 + "parent_index": 95 }, - "scope": 88, + "scope": 89, "name": "", "type_name": { - "id": 98, + "id": 97, "node_type": 30, "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, + "line": 49, + "column": 65, + "start": 1541, + "end": 1544, "length": 4, - "parent_index": 97 + "parent_index": 96 }, "name": "bool", "referenced_declaration": 0, @@ -2002,151 +2449,30 @@ "type_identifier": "t_bool", "type_string": "bool" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", - "type_string": "function(address,address,uint256)" - } - }, - { - "id": 101, - "node_type": 57, - "src": { - "line": 74, - "column": 4, - "start": 2414, - "end": 2485, - "length": 72, - "parent_index": 35 - }, - "parameters": { - "id": 102, - "node_type": 43, - "src": { - "line": 74, - "column": 4, - "start": 2414, - "end": 2485, - "length": 72, - "parent_index": 101 - }, - "parameters": [ - { - "id": 103, - "node_type": 44, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2448, - "length": 20, - "parent_index": 102 - }, - "scope": 101, - "name": "from", - "type_name": { - "id": 104, - "node_type": 30, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2435, - "length": 7, - "parent_index": 103 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 105, - "node_type": 44, - "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2468, - "length": 18, - "parent_index": 102 - }, - "scope": 101, - "name": "to", - "type_name": { - "id": 106, - "node_type": 30, - "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2457, - "length": 7, - "parent_index": 105 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true }, { - "id": 107, + "id": 98, "node_type": 44, "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2483, - "length": 13, - "parent_index": 102 + "line": 49, + "column": 71, + "start": 1547, + "end": 1553, + "length": 7, + "parent_index": 95 }, - "scope": 101, - "name": "value", + "scope": 89, + "name": "", "type_name": { - "id": 108, + "id": 99, "node_type": 30, "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2477, + "line": 49, + "column": 71, + "start": 1547, + "end": 1553, "length": 7, - "parent_index": 107 + "parent_index": 98 }, "name": "uint256", "referenced_declaration": 0, @@ -2166,12 +2492,8 @@ ], "parameter_types": [ { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_bool", + "type_string": "bool" }, { "type_identifier": "t_uint256", @@ -2179,553 +2501,192 @@ } ] }, - "name": "Transfer", - "anonymous": false, + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", + "scope": 33, "type_description": { - "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026101", - "type_string": "event IERC20.Transfer" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, { - "id": 110, - "node_type": 57, + "id": 125, + "name": "tryDiv", + "node_type": 42, + "kind": 41, "src": { - "line": 80, + "line": 66, "column": 4, - "start": 2645, - "end": 2722, - "length": 78, - "parent_index": 35 + "start": 2122, + "end": 2311, + "length": 190, + "parent_index": 33 }, - "parameters": { - "id": 111, - "node_type": 43, + "name_location": { + "line": 66, + "column": 13, + "start": 2131, + "end": 2136, + "length": 6, + "parent_index": 125 + }, + "body": { + "id": 136, + "node_type": 46, + "kind": 0, "src": { - "line": 80, - "column": 4, - "start": 2645, - "end": 2722, - "length": 78, - "parent_index": 110 + "line": 66, + "column": 80, + "start": 2198, + "end": 2311, + "length": 114, + "parent_index": 125 }, - "parameters": [ - { - "id": 112, - "node_type": 44, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2680, - "length": 21, - "parent_index": 111 - }, - "scope": 110, - "name": "owner", - "type_name": { - "id": 113, - "node_type": 30, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2666, - "length": 7, - "parent_index": 112 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, + "implemented": true, + "statements": [ { - "id": 114, - "node_type": 44, + "id": 137, + "node_type": 59, + "kind": 0, "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2705, - "length": 23, - "parent_index": 111 - }, - "scope": 110, - "name": "spender", - "type_name": { - "id": 115, - "node_type": 30, - "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2689, - "length": 7, - "parent_index": 114 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 116, - "node_type": 44, - "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2720, - "length": 13, - "parent_index": 111 - }, - "scope": 110, - "name": "value", - "type_name": { - "id": 117, - "node_type": 30, - "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2714, - "length": 7, - "parent_index": 116 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "name": "Approval", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_IERC20_Approval_\u0026110", - "type_string": "event IERC20.Approval" - } - } - ], - "linearized_base_contracts": [ - 35 - ], - "base_contracts": [], - "contract_dependencies": [] - } - ], - "src": { - "line": 8, - "column": 0, - "start": 129, - "end": 2724, - "length": 2596, - "parent_index": 30 - } - }, - { - "id": 118, - "base_contracts": [], - "license": "MIT", - "exported_symbols": [ - { - "id": 118, - "name": "SafeMath", - "absolute_path": "SafeMath.sol" - } - ], - "absolute_path": "SafeMath.sol", - "name": "SafeMath", - "node_type": 1, - "nodes": [ - { - "id": 120, - "node_type": 10, - "src": { - "line": 85, - "column": 0, - "start": 2760, - "end": 2782, - "length": 23, - "parent_index": 118 - }, - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" - ], - "text": "pragma solidity ^0.8.0;" - }, - { - "id": 121, - "name": "SafeMath", - "node_type": 35, - "src": { - "line": 100, - "column": 0, - "start": 3349, - "end": 9824, - "length": 6476, - "parent_index": 118 - }, - "name_location": { - "line": 100, - "column": 8, - "start": 3357, - "end": 3364, - "length": 8, - "parent_index": 121 - }, - "abstract": false, - "kind": 37, - "fully_implemented": true, - "nodes": [ - { - "id": 123, - "name": "tryAdd", - "node_type": 42, - "kind": 41, - "src": { - "line": 106, - "column": 4, - "start": 3508, - "end": 3723, - "length": 216, - "parent_index": 121 - }, - "name_location": { - "line": 106, - "column": 13, - "start": 3517, - "end": 3522, - "length": 6, - "parent_index": 123 - }, - "body": { - "id": 134, - "node_type": 46, - "kind": 0, - "src": { - "line": 106, - "column": 80, - "start": 3584, - "end": 3723, - "length": 140, - "parent_index": 123 - }, - "implemented": true, - "statements": [ - { - "id": 135, - "node_type": 59, - "kind": 0, - "src": { - "line": 107, - "column": 8, - "start": 3594, - "end": 3717, - "length": 124, - "parent_index": 121 + "line": 67, + "column": 8, + "start": 2208, + "end": 2305, + "length": 98, + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 136, - "node_type": 44, + "id": 138, + "node_type": 48, "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3635, - "length": 18, - "parent_index": 135 + "line": 68, + "column": 0, + "start": 2232, + "end": 2261, + "length": 30, + "parent_index": 137 }, - "assignments": [ - 137 - ], - "declarations": [ - { - "id": 137, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 135, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3626, - "length": 9, - "parent_index": 136 - }, - "name_location": { - "line": 108, - "column": 20, - "start": 3626, - "end": 3626, - "length": 1, - "parent_index": 137 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 138, - "node_type": 30, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3624, - "length": 7, - "parent_index": 137 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { + "condition": { "id": 139, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3634, - "length": 5, - "parent_index": 136 + "line": 68, + "column": 16, + "start": 2236, + "end": 2241, + "length": 6, + "parent_index": 138 }, - "operator": 1, + "operator": 11, "left_expression": { "id": 140, "node_type": 16, "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3630, + "line": 68, + "column": 16, + "start": 2236, + "end": 2236, "length": 1, "parent_index": 139 }, - "name": "a", + "name": "b", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], "referenced_declaration": 140, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 141, - "node_type": 16, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 108, - "column": 28, - "start": 3634, - "end": 3634, + "line": 68, + "column": 21, + "start": 2241, + "end": 2241, "length": 1, "parent_index": 139 }, - "name": "b", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], - "referenced_declaration": 141, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } + }, + "body": { + "id": 142, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] } }, { - "id": 142, - "node_type": 48, + "id": 143, + "node_type": 47, "src": { - "line": 109, - "column": 0, - "start": 3649, - "end": 3677, - "length": 29, - "parent_index": 135 + "line": 69, + "column": 12, + "start": 2275, + "end": 2295, + "length": 21, + "parent_index": 125 }, - "condition": { - "id": 143, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "function_return_parameters": 125, + "expression": { + "id": 144, + "node_type": 60, "src": { - "line": 109, - "column": 16, - "start": 3653, - "end": 3657, - "length": 5, - "parent_index": 142 - }, - "operator": 9, - "left_expression": { - "id": 144, - "node_type": 16, - "src": { - "line": 109, - "column": 16, - "start": 3653, - "end": 3653, - "length": 1, - "parent_index": 143 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false - }, - "right_expression": { - "id": 145, - "node_type": 16, - "src": { - "line": 109, - "column": 20, - "start": 3657, - "end": 3657, - "length": 1, - "parent_index": 143 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 145, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 146, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 147, - "node_type": 47, - "src": { - "line": 110, - "column": 12, - "start": 3691, - "end": 3707, - "length": 17, - "parent_index": 123 - }, - "function_return_parameters": 123, - "expression": { - "id": 148, - "node_type": 60, - "src": { - "line": 110, - "column": 19, - "start": 3698, - "end": 3706, - "length": 9, - "parent_index": 147 + "line": 69, + "column": 19, + "start": 2282, + "end": 2294, + "length": 13, + "parent_index": 143 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 149, + "id": 145, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 110, + "line": 69, "column": 20, - "start": 3699, - "end": 3702, + "start": 2283, + "end": 2286, "length": 4, - "parent_index": 148 + "parent_index": 144 }, "type_description": { "type_identifier": "t_bool", @@ -2733,27 +2694,69 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 150, - "node_type": 16, + "id": 146, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 110, + "line": 69, "column": 26, - "start": 3705, - "end": 3705, - "length": 1, - "parent_index": 148 + "start": 2289, + "end": 2293, + "length": 5, + "parent_index": 144 + }, + "operator": 4, + "left_expression": { + "id": 147, + "node_type": 16, + "src": { + "line": 69, + "column": 26, + "start": 2289, + "end": 2289, + "length": 1, + "parent_index": 146 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 147, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 148, + "node_type": 16, + "src": { + "line": 69, + "column": 30, + "start": 2293, + "end": 2293, + "length": 1, + "parent_index": 146 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 148, + "is_pure": false, + "text": "b" }, - "name": "c", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false + } } ], "type_description": { @@ -2773,40 +2776,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 124, + "id": 126, "node_type": 43, "src": { - "line": 106, + "line": 66, "column": 20, - "start": 3524, - "end": 3543, + "start": 2138, + "end": 2157, "length": 20, - "parent_index": 123 + "parent_index": 125 }, "parameters": [ { - "id": 125, + "id": 127, "node_type": 44, "src": { - "line": 106, + "line": 66, "column": 20, - "start": 3524, - "end": 3532, + "start": 2138, + "end": 2146, "length": 9, - "parent_index": 124 + "parent_index": 126 }, - "scope": 123, + "scope": 125, "name": "a", "type_name": { - "id": 126, + "id": 128, "node_type": 30, "src": { - "line": 106, + "line": 66, "column": 20, - "start": 3524, - "end": 3530, + "start": 2138, + "end": 2144, "length": 7, - "parent_index": 125 + "parent_index": 127 }, "name": "uint256", "referenced_declaration": 0, @@ -2824,28 +2827,28 @@ } }, { - "id": 127, + "id": 129, "node_type": 44, "src": { - "line": 106, + "line": 66, "column": 31, - "start": 3535, - "end": 3543, + "start": 2149, + "end": 2157, "length": 9, - "parent_index": 124 + "parent_index": 126 }, - "scope": 123, + "scope": 125, "name": "b", "type_name": { - "id": 128, + "id": 130, "node_type": 30, "src": { - "line": 106, + "line": 66, "column": 31, - "start": 3535, - "end": 3541, + "start": 2149, + "end": 2155, "length": 7, - "parent_index": 127 + "parent_index": 129 }, "name": "uint256", "referenced_declaration": 0, @@ -2875,40 +2878,40 @@ ] }, "return_parameters": { - "id": 129, + "id": 131, "node_type": 43, "src": { - "line": 106, + "line": 66, "column": 65, - "start": 3569, - "end": 3581, + "start": 2183, + "end": 2195, "length": 13, - "parent_index": 123 + "parent_index": 125 }, "parameters": [ { - "id": 130, + "id": 132, "node_type": 44, "src": { - "line": 106, + "line": 66, "column": 65, - "start": 3569, - "end": 3572, + "start": 2183, + "end": 2186, "length": 4, - "parent_index": 129 + "parent_index": 131 }, - "scope": 123, + "scope": 125, "name": "", "type_name": { - "id": 131, + "id": 133, "node_type": 30, "src": { - "line": 106, + "line": 66, "column": 65, - "start": 3569, - "end": 3572, + "start": 2183, + "end": 2186, "length": 4, - "parent_index": 130 + "parent_index": 132 }, "name": "bool", "referenced_declaration": 0, @@ -2926,28 +2929,28 @@ } }, { - "id": 132, + "id": 134, "node_type": 44, "src": { - "line": 106, + "line": 66, "column": 71, - "start": 3575, - "end": 3581, + "start": 2189, + "end": 2195, "length": 7, - "parent_index": 129 + "parent_index": 131 }, - "scope": 123, + "scope": 125, "name": "", "type_name": { - "id": 133, + "id": 135, "node_type": 30, "src": { - "line": 106, + "line": 66, "column": 71, - "start": 3575, - "end": 3581, + "start": 2189, + "end": 2195, "length": 7, - "parent_index": 132 + "parent_index": 134 }, "name": "uint256", "referenced_declaration": 0, @@ -2976,98 +2979,99 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", - "scope": 121, + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, { - "id": 152, - "name": "trySub", + "id": 150, + "name": "tryMod", "node_type": 42, "kind": 41, "src": { - "line": 119, + "line": 78, "column": 4, - "start": 3870, - "end": 4058, - "length": 189, - "parent_index": 121 + "start": 2471, + "end": 2660, + "length": 190, + "parent_index": 33 }, "name_location": { - "line": 119, + "line": 78, "column": 13, - "start": 3879, - "end": 3884, + "start": 2480, + "end": 2485, "length": 6, - "parent_index": 152 + "parent_index": 150 }, "body": { - "id": 163, + "id": 161, "node_type": 46, "kind": 0, "src": { - "line": 119, + "line": 78, "column": 80, - "start": 3946, - "end": 4058, - "length": 113, - "parent_index": 152 + "start": 2547, + "end": 2660, + "length": 114, + "parent_index": 150 }, "implemented": true, "statements": [ { - "id": 164, + "id": 162, "node_type": 59, "kind": 0, "src": { - "line": 120, + "line": 79, "column": 8, - "start": 3956, - "end": 4052, - "length": 97, - "parent_index": 121 + "start": 2557, + "end": 2654, + "length": 98, + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 165, + "id": 163, "node_type": 48, "src": { - "line": 121, + "line": 80, "column": 0, - "start": 3980, - "end": 4008, - "length": 29, - "parent_index": 164 + "start": 2581, + "end": 2610, + "length": 30, + "parent_index": 162 }, "condition": { - "id": 166, + "id": 164, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 121, + "line": 80, "column": 16, - "start": 3984, - "end": 3988, - "length": 5, - "parent_index": 165 + "start": 2585, + "end": 2590, + "length": 6, + "parent_index": 163 }, - "operator": 7, + "operator": 11, "left_expression": { - "id": 167, + "id": 165, "node_type": 16, "src": { - "line": 121, + "line": 80, "column": 16, - "start": 3984, - "end": 3984, + "start": 2585, + "end": 2585, "length": 1, - "parent_index": 166 + "parent_index": 164 }, "name": "b", "type_description": { @@ -3075,28 +3079,32 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 167, - "is_pure": false + "referenced_declaration": 165, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 168, - "node_type": 16, + "id": 166, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 121, - "column": 20, - "start": 3988, - "end": 3988, + "line": 80, + "column": 21, + "start": 2590, + "end": 2590, "length": 1, - "parent_index": 166 + "parent_index": 164 }, - "name": "a", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], - "referenced_declaration": 168, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -3104,7 +3112,7 @@ } }, "body": { - "id": 169, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -3119,44 +3127,44 @@ } }, { - "id": 170, + "id": 168, "node_type": 47, "src": { - "line": 122, + "line": 81, "column": 12, - "start": 4022, - "end": 4042, + "start": 2624, + "end": 2644, "length": 21, - "parent_index": 152 + "parent_index": 150 }, - "function_return_parameters": 152, + "function_return_parameters": 150, "expression": { - "id": 171, + "id": 169, "node_type": 60, "src": { - "line": 122, + "line": 81, "column": 19, - "start": 4029, - "end": 4041, + "start": 2631, + "end": 2643, "length": 13, - "parent_index": 170 + "parent_index": 168 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 172, + "id": 170, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 122, + "line": 81, "column": 20, - "start": 4030, - "end": 4033, + "start": 2632, + "end": 2635, "length": 4, - "parent_index": 171 + "parent_index": 169 }, "type_description": { "type_identifier": "t_bool", @@ -3164,32 +3172,33 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 173, + "id": 171, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 122, + "line": 81, "column": 26, - "start": 4036, - "end": 4040, + "start": 2638, + "end": 2642, "length": 5, - "parent_index": 171 + "parent_index": 169 }, - "operator": 2, + "operator": 5, "left_expression": { - "id": 174, + "id": 172, "node_type": 16, "src": { - "line": 122, + "line": 81, "column": 26, - "start": 4036, - "end": 4036, + "start": 2638, + "end": 2638, "length": 1, - "parent_index": 173 + "parent_index": 171 }, "name": "a", "type_description": { @@ -3197,19 +3206,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 174, - "is_pure": false + "referenced_declaration": 172, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 175, + "id": 173, "node_type": 16, "src": { - "line": 122, + "line": 81, "column": 30, - "start": 4040, - "end": 4040, + "start": 2642, + "end": 2642, "length": 1, - "parent_index": 173 + "parent_index": 171 }, "name": "b", "type_description": { @@ -3217,8 +3227,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 175, - "is_pure": false + "referenced_declaration": 173, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -3243,40 +3254,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 153, + "id": 151, "node_type": 43, "src": { - "line": 119, + "line": 78, "column": 20, - "start": 3886, - "end": 3905, + "start": 2487, + "end": 2506, "length": 20, - "parent_index": 152 + "parent_index": 150 }, "parameters": [ { - "id": 154, + "id": 152, "node_type": 44, "src": { - "line": 119, + "line": 78, "column": 20, - "start": 3886, - "end": 3894, + "start": 2487, + "end": 2495, "length": 9, - "parent_index": 153 + "parent_index": 151 }, - "scope": 152, + "scope": 150, "name": "a", "type_name": { - "id": 155, + "id": 153, "node_type": 30, "src": { - "line": 119, + "line": 78, "column": 20, - "start": 3886, - "end": 3892, + "start": 2487, + "end": 2493, "length": 7, - "parent_index": 154 + "parent_index": 152 }, "name": "uint256", "referenced_declaration": 0, @@ -3294,28 +3305,28 @@ } }, { - "id": 156, + "id": 154, "node_type": 44, "src": { - "line": 119, + "line": 78, "column": 31, - "start": 3897, - "end": 3905, + "start": 2498, + "end": 2506, "length": 9, - "parent_index": 153 + "parent_index": 151 }, - "scope": 152, + "scope": 150, "name": "b", "type_name": { - "id": 157, + "id": 155, "node_type": 30, "src": { - "line": 119, + "line": 78, "column": 31, - "start": 3897, - "end": 3903, + "start": 2498, + "end": 2504, "length": 7, - "parent_index": 156 + "parent_index": 154 }, "name": "uint256", "referenced_declaration": 0, @@ -3345,40 +3356,40 @@ ] }, "return_parameters": { - "id": 158, + "id": 156, "node_type": 43, "src": { - "line": 119, + "line": 78, "column": 65, - "start": 3931, - "end": 3943, + "start": 2532, + "end": 2544, "length": 13, - "parent_index": 152 + "parent_index": 150 }, "parameters": [ { - "id": 159, + "id": 157, "node_type": 44, "src": { - "line": 119, + "line": 78, "column": 65, - "start": 3931, - "end": 3934, + "start": 2532, + "end": 2535, "length": 4, - "parent_index": 158 + "parent_index": 156 }, - "scope": 152, + "scope": 150, "name": "", "type_name": { - "id": 160, + "id": 158, "node_type": 30, "src": { - "line": 119, + "line": 78, "column": 65, - "start": 3931, - "end": 3934, + "start": 2532, + "end": 2535, "length": 4, - "parent_index": 159 + "parent_index": 157 }, "name": "bool", "referenced_declaration": 0, @@ -3396,28 +3407,28 @@ } }, { - "id": 161, + "id": 159, "node_type": 44, "src": { - "line": 119, + "line": 78, "column": 71, - "start": 3937, - "end": 3943, + "start": 2538, + "end": 2544, "length": 7, - "parent_index": 158 + "parent_index": 156 }, - "scope": 152, + "scope": 150, "name": "", "type_name": { - "id": 162, + "id": 160, "node_type": 30, "src": { - "line": 119, + "line": 78, "column": 71, - "start": 3937, - "end": 3943, + "start": 2538, + "end": 2544, "length": 7, - "parent_index": 161 + "parent_index": 159 }, "name": "uint256", "referenced_declaration": 0, @@ -3446,514 +3457,167 @@ } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", - "scope": 121, + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, { - "id": 177, - "name": "tryMul", + "id": 175, + "name": "add", "node_type": 42, "kind": 41, "src": { - "line": 131, + "line": 95, "column": 4, - "start": 4207, - "end": 4699, - "length": 493, - "parent_index": 121 + "start": 2896, + "end": 2991, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 131, + "line": 95, "column": 13, - "start": 4216, - "end": 4221, - "length": 6, - "parent_index": 177 + "start": 2905, + "end": 2907, + "length": 3, + "parent_index": 175 }, "body": { - "id": 188, + "id": 184, "node_type": 46, "kind": 0, "src": { - "line": 131, - "column": 80, - "start": 4283, - "end": 4699, - "length": 417, - "parent_index": 177 + "line": 95, + "column": 71, + "start": 2963, + "end": 2991, + "length": 29, + "parent_index": 175 }, "implemented": true, "statements": [ { - "id": 189, - "node_type": 59, - "kind": 0, + "id": 185, + "node_type": 47, "src": { - "line": 132, + "line": 96, "column": 8, - "start": 4293, - "end": 4693, - "length": 401, - "parent_index": 121 + "start": 2973, + "end": 2985, + "length": 13, + "parent_index": 175 }, - "implemented": false, - "statements": [ - { - "id": 190, - "node_type": 48, + "function_return_parameters": 175, + "expression": { + "id": 186, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 96, + "column": 15, + "start": 2980, + "end": 2984, + "length": 5, + "parent_index": 185 + }, + "operator": 1, + "left_expression": { + "id": 187, + "node_type": 16, "src": { - "line": 136, - "column": 0, - "start": 4547, - "end": 4575, - "length": 29, - "parent_index": 189 + "line": 96, + "column": 15, + "start": 2980, + "end": 2980, + "length": 1, + "parent_index": 186 }, - "condition": { - "id": 191, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 136, - "column": 16, - "start": 4551, - "end": 4556, - "length": 6, - "parent_index": 190 - }, - "operator": 11, - "left_expression": { - "id": 192, - "node_type": 16, - "src": { - "line": 136, - "column": 16, - "start": 4551, - "end": 4551, - "length": 1, - "parent_index": 191 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 192, - "is_pure": false - }, - "right_expression": { - "id": 193, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 136, - "column": 21, - "start": 4556, - "end": 4556, - "length": 1, - "parent_index": 191 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 194, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 195, - "node_type": 44, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4606, - "length": 18, - "parent_index": 189 + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "assignments": [ - 196 - ], - "declarations": [ - { - "id": 196, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 189, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4597, - "length": 9, - "parent_index": 195 - }, - "name_location": { - "line": 137, - "column": 20, - "start": 4597, - "end": 4597, - "length": 1, - "parent_index": 196 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 197, - "node_type": 30, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4595, - "length": 7, - "parent_index": 196 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 198, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4605, - "length": 5, - "parent_index": 195 - }, - "operator": 3, - "left_expression": { - "id": 199, - "node_type": 16, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4601, - "length": 1, - "parent_index": 198 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 199, - "is_pure": false - }, - "right_expression": { - "id": 200, - "node_type": 16, - "src": { - "line": 137, - "column": 28, - "start": 4605, - "end": 4605, - "length": 1, - "parent_index": 198 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 200, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } + "overloaded_declarations": [], + "referenced_declaration": 187, + "is_pure": false, + "text": "a" }, - { - "id": 201, - "node_type": 48, + "right_expression": { + "id": 188, + "node_type": 16, "src": { - "line": 138, - "column": 0, - "start": 4620, - "end": 4653, - "length": 34, - "parent_index": 189 + "line": 96, + "column": 19, + "start": 2984, + "end": 2984, + "length": 1, + "parent_index": 186 }, - "condition": { - "id": 202, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4633, - "length": 10, - "parent_index": 201 - }, - "operator": 12, - "left_expression": { - "id": 203, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4628, - "length": 5, - "parent_index": 202 - }, - "operator": 4, - "left_expression": { - "id": 204, - "node_type": 16, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4624, - "length": 1, - "parent_index": 203 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false - }, - "right_expression": { - "id": 205, - "node_type": 16, - "src": { - "line": 138, - "column": 20, - "start": 4628, - "end": 4628, - "length": 1, - "parent_index": 203 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 205, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "right_expression": { - "id": 206, - "node_type": 16, - "src": { - "line": 138, - "column": 25, - "start": 4633, - "end": 4633, - "length": 1, - "parent_index": 202 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 206, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 207, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 188, + "is_pure": false, + "text": "b" }, - { - "id": 208, - "node_type": 47, - "src": { - "line": 139, - "column": 12, - "start": 4667, - "end": 4683, - "length": 17, - "parent_index": 177 - }, - "function_return_parameters": 177, - "expression": { - "id": 209, - "node_type": 60, - "src": { - "line": 139, - "column": 19, - "start": 4674, - "end": 4682, - "length": 9, - "parent_index": 208 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 210, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 139, - "column": 20, - "start": 4675, - "end": 4678, - "length": 4, - "parent_index": 209 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 211, - "node_type": 16, - "src": { - "line": 139, - "column": 26, - "start": 4681, - "end": 4681, - "length": 1, - "parent_index": 209 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 178, + "id": 176, "node_type": 43, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4242, + "line": 95, + "column": 17, + "start": 2909, + "end": 2928, "length": 20, - "parent_index": 177 + "parent_index": 175 }, "parameters": [ { - "id": 179, + "id": 177, "node_type": 44, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4231, + "line": 95, + "column": 17, + "start": 2909, + "end": 2917, "length": 9, - "parent_index": 178 + "parent_index": 176 }, - "scope": 177, + "scope": 175, "name": "a", "type_name": { - "id": 180, + "id": 178, "node_type": 30, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4229, + "line": 95, + "column": 17, + "start": 2909, + "end": 2915, "length": 7, - "parent_index": 179 + "parent_index": 177 }, "name": "uint256", "referenced_declaration": 0, @@ -3971,28 +3635,28 @@ } }, { - "id": 181, + "id": 179, "node_type": 44, "src": { - "line": 131, - "column": 31, - "start": 4234, - "end": 4242, + "line": 95, + "column": 28, + "start": 2920, + "end": 2928, "length": 9, - "parent_index": 178 + "parent_index": 176 }, - "scope": 177, + "scope": 175, "name": "b", "type_name": { - "id": 182, + "id": 180, "node_type": 30, "src": { - "line": 131, - "column": 31, - "start": 4234, - "end": 4240, + "line": 95, + "column": 28, + "start": 2920, + "end": 2926, "length": 7, - "parent_index": 181 + "parent_index": 179 }, "name": "uint256", "referenced_declaration": 0, @@ -4022,79 +3686,40 @@ ] }, "return_parameters": { - "id": 183, + "id": 181, "node_type": 43, "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4280, - "length": 13, - "parent_index": 177 + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, + "length": 7, + "parent_index": 175 }, "parameters": [ { - "id": 184, - "node_type": 44, - "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4271, - "length": 4, - "parent_index": 183 - }, - "scope": 177, - "name": "", - "type_name": { - "id": 185, - "node_type": 30, - "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4271, - "length": 4, - "parent_index": 184 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 186, + "id": 182, "node_type": 44, "src": { - "line": 131, - "column": 71, - "start": 4274, - "end": 4280, + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 183 + "parent_index": 181 }, - "scope": 177, + "scope": 175, "name": "", "type_name": { - "id": 187, + "id": 183, "node_type": 30, "src": { - "line": 131, - "column": 71, - "start": 4274, - "end": 4280, + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 186 + "parent_index": 182 }, "name": "uint256", "referenced_declaration": 0, @@ -4113,319 +3738,173 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", - "scope": 121, + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, { - "id": 213, - "name": "tryDiv", + "id": 190, + "name": "sub", "node_type": 42, "kind": 41, "src": { - "line": 148, + "line": 109, "column": 4, - "start": 4849, - "end": 5038, - "length": 190, - "parent_index": 121 + "start": 3263, + "end": 3358, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 148, + "line": 109, "column": 13, - "start": 4858, - "end": 4863, - "length": 6, - "parent_index": 213 + "start": 3272, + "end": 3274, + "length": 3, + "parent_index": 190 }, "body": { - "id": 224, + "id": 199, "node_type": 46, "kind": 0, "src": { - "line": 148, - "column": 80, - "start": 4925, - "end": 5038, - "length": 114, - "parent_index": 213 + "line": 109, + "column": 71, + "start": 3330, + "end": 3358, + "length": 29, + "parent_index": 190 }, "implemented": true, "statements": [ { - "id": 225, - "node_type": 59, - "kind": 0, + "id": 200, + "node_type": 47, "src": { - "line": 149, + "line": 110, "column": 8, - "start": 4935, - "end": 5032, - "length": 98, - "parent_index": 121 + "start": 3340, + "end": 3352, + "length": 13, + "parent_index": 190 }, - "implemented": false, - "statements": [ - { - "id": 226, - "node_type": 48, + "function_return_parameters": 190, + "expression": { + "id": 201, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 110, + "column": 15, + "start": 3347, + "end": 3351, + "length": 5, + "parent_index": 200 + }, + "operator": 2, + "left_expression": { + "id": 202, + "node_type": 16, "src": { - "line": 150, - "column": 0, - "start": 4959, - "end": 4988, - "length": 30, - "parent_index": 225 + "line": 110, + "column": 15, + "start": 3347, + "end": 3347, + "length": 1, + "parent_index": 201 }, - "condition": { - "id": 227, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 150, - "column": 16, - "start": 4963, - "end": 4968, - "length": 6, - "parent_index": 226 - }, - "operator": 11, - "left_expression": { - "id": 228, - "node_type": 16, - "src": { - "line": 150, - "column": 16, - "start": 4963, - "end": 4963, - "length": 1, - "parent_index": 227 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 228, - "is_pure": false - }, - "right_expression": { - "id": 229, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 150, - "column": 21, - "start": 4968, - "end": 4968, - "length": 1, - "parent_index": 227 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 230, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 202, + "is_pure": false, + "text": "a" }, - { - "id": 231, - "node_type": 47, + "right_expression": { + "id": 203, + "node_type": 16, "src": { - "line": 151, - "column": 12, - "start": 5002, - "end": 5022, - "length": 21, - "parent_index": 213 + "line": 110, + "column": 19, + "start": 3351, + "end": 3351, + "length": 1, + "parent_index": 201 }, - "function_return_parameters": 213, - "expression": { - "id": 232, - "node_type": 60, - "src": { - "line": 151, - "column": 19, - "start": 5009, - "end": 5021, - "length": 13, - "parent_index": 231 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 233, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 151, - "column": 20, - "start": 5010, - "end": 5013, - "length": 4, - "parent_index": 232 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 234, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 151, - "column": 26, - "start": 5016, - "end": 5020, - "length": 5, - "parent_index": 232 - }, - "operator": 4, - "left_expression": { - "id": 235, - "node_type": 16, - "src": { - "line": 151, - "column": 26, - "start": 5016, - "end": 5016, - "length": 1, - "parent_index": 234 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 235, - "is_pure": false - }, - "right_expression": { - "id": 236, - "node_type": 16, - "src": { - "line": 151, - "column": 30, - "start": 5020, - "end": 5020, - "length": 1, - "parent_index": 234 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 236, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 203, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 214, + "id": 191, "node_type": 43, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4884, + "line": 109, + "column": 17, + "start": 3276, + "end": 3295, "length": 20, - "parent_index": 213 + "parent_index": 190 }, "parameters": [ { - "id": 215, + "id": 192, "node_type": 44, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4873, + "line": 109, + "column": 17, + "start": 3276, + "end": 3284, "length": 9, - "parent_index": 214 + "parent_index": 191 }, - "scope": 213, + "scope": 190, "name": "a", "type_name": { - "id": 216, + "id": 193, "node_type": 30, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4871, + "line": 109, + "column": 17, + "start": 3276, + "end": 3282, "length": 7, - "parent_index": 215 + "parent_index": 192 }, "name": "uint256", "referenced_declaration": 0, @@ -4443,28 +3922,28 @@ } }, { - "id": 217, + "id": 194, "node_type": 44, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4884, + "line": 109, + "column": 28, + "start": 3287, + "end": 3295, "length": 9, - "parent_index": 214 + "parent_index": 191 }, - "scope": 213, + "scope": 190, "name": "b", "type_name": { - "id": 218, + "id": 195, "node_type": 30, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4882, + "line": 109, + "column": 28, + "start": 3287, + "end": 3293, "length": 7, - "parent_index": 217 + "parent_index": 194 }, "name": "uint256", "referenced_declaration": 0, @@ -4494,79 +3973,264 @@ ] }, "return_parameters": { - "id": 219, + "id": 196, "node_type": 43, "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4922, - "length": 13, - "parent_index": 213 + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 190 }, "parameters": [ { - "id": 220, + "id": 197, "node_type": 44, "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 219 + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 196 }, - "scope": 213, + "scope": 190, "name": "", "type_name": { - "id": 221, + "id": 198, "node_type": 30, "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 220 + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 197 }, - "name": "bool", + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" + }, + { + "id": 205, + "name": "mul", + "node_type": 42, + "kind": 41, + "src": { + "line": 123, + "column": 4, + "start": 3606, + "end": 3701, + "length": 96, + "parent_index": 33 + }, + "name_location": { + "line": 123, + "column": 13, + "start": 3615, + "end": 3617, + "length": 3, + "parent_index": 205 + }, + "body": { + "id": 214, + "node_type": 46, + "kind": 0, + "src": { + "line": 123, + "column": 71, + "start": 3673, + "end": 3701, + "length": 29, + "parent_index": 205 + }, + "implemented": true, + "statements": [ + { + "id": 215, + "node_type": 47, + "src": { + "line": 124, + "column": 8, + "start": 3683, + "end": 3695, + "length": 13, + "parent_index": 205 + }, + "function_return_parameters": 205, + "expression": { + "id": 216, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 124, + "column": 15, + "start": 3690, + "end": 3694, + "length": 5, + "parent_index": 215 + }, + "operator": 3, + "left_expression": { + "id": 217, + "node_type": 16, + "src": { + "line": 124, + "column": 15, + "start": 3690, + "end": 3690, + "length": 1, + "parent_index": 216 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 217, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 218, + "node_type": 16, + "src": { + "line": 124, + "column": 19, + "start": 3694, + "end": 3694, + "length": 1, + "parent_index": 216 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 218, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 206, + "node_type": 43, + "src": { + "line": 123, + "column": 17, + "start": 3619, + "end": 3638, + "length": 20, + "parent_index": 205 + }, + "parameters": [ + { + "id": 207, + "node_type": 44, + "src": { + "line": 123, + "column": 17, + "start": 3619, + "end": 3627, + "length": 9, + "parent_index": 206 + }, + "scope": 205, + "name": "a", + "type_name": { + "id": 208, + "node_type": 30, + "src": { + "line": 123, + "column": 17, + "start": 3619, + "end": 3625, + "length": 7, + "parent_index": 207 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 222, + "id": 209, "node_type": 44, "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, - "length": 7, - "parent_index": 219 + "line": 123, + "column": 28, + "start": 3630, + "end": 3638, + "length": 9, + "parent_index": 206 }, - "scope": 213, - "name": "", + "scope": 205, + "name": "b", "type_name": { - "id": 223, + "id": 210, "node_type": 30, "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, + "line": 123, + "column": 28, + "start": 3630, + "end": 3636, "length": 7, - "parent_index": 222 + "parent_index": 209 }, "name": "uint256", "referenced_declaration": 0, @@ -4586,8 +4250,8 @@ ], "parameter_types": [ { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { "type_identifier": "t_uint256", @@ -4595,309 +4259,226 @@ } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", - "scope": 121, + "return_parameters": { + "id": 211, + "node_type": 43, + "src": { + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, + "length": 7, + "parent_index": 205 + }, + "parameters": [ + { + "id": 212, + "node_type": 44, + "src": { + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, + "length": 7, + "parent_index": 211 + }, + "scope": 205, + "name": "", + "type_name": { + "id": 213, + "node_type": 30, + "src": { + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, + "length": 7, + "parent_index": 212 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { - "id": 238, - "name": "tryMod", + "id": 220, + "name": "div", "node_type": 42, "kind": 41, "src": { - "line": 160, + "line": 139, "column": 4, - "start": 5198, - "end": 5387, - "length": 190, - "parent_index": 121 + "start": 4166, + "end": 4261, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 160, + "line": 139, "column": 13, - "start": 5207, - "end": 5212, - "length": 6, - "parent_index": 238 + "start": 4175, + "end": 4177, + "length": 3, + "parent_index": 220 }, "body": { - "id": 249, + "id": 229, "node_type": 46, "kind": 0, "src": { - "line": 160, - "column": 80, - "start": 5274, - "end": 5387, - "length": 114, - "parent_index": 238 + "line": 139, + "column": 71, + "start": 4233, + "end": 4261, + "length": 29, + "parent_index": 220 }, "implemented": true, "statements": [ { - "id": 250, - "node_type": 59, - "kind": 0, + "id": 230, + "node_type": 47, "src": { - "line": 161, + "line": 140, "column": 8, - "start": 5284, - "end": 5381, - "length": 98, - "parent_index": 121 + "start": 4243, + "end": 4255, + "length": 13, + "parent_index": 220 }, - "implemented": false, - "statements": [ - { - "id": 251, - "node_type": 48, - "src": { - "line": 162, - "column": 0, - "start": 5308, - "end": 5337, - "length": 30, - "parent_index": 250 + "function_return_parameters": 220, + "expression": { + "id": 231, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 140, + "column": 15, + "start": 4250, + "end": 4254, + "length": 5, + "parent_index": 230 + }, + "operator": 4, + "left_expression": { + "id": 232, + "node_type": 16, + "src": { + "line": 140, + "column": 15, + "start": 4250, + "end": 4250, + "length": 1, + "parent_index": 231 }, - "condition": { - "id": 252, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5317, - "length": 6, - "parent_index": 251 - }, - "operator": 11, - "left_expression": { - "id": 253, - "node_type": 16, - "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5312, - "length": 1, - "parent_index": 252 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 253, - "is_pure": false - }, - "right_expression": { - "id": 254, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 162, - "column": 21, - "start": 5317, - "end": 5317, - "length": 1, - "parent_index": 252 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 255, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 232, + "is_pure": false, + "text": "a" }, - { - "id": 256, - "node_type": 47, + "right_expression": { + "id": 233, + "node_type": 16, "src": { - "line": 163, - "column": 12, - "start": 5351, - "end": 5371, - "length": 21, - "parent_index": 238 + "line": 140, + "column": 19, + "start": 4254, + "end": 4254, + "length": 1, + "parent_index": 231 }, - "function_return_parameters": 238, - "expression": { - "id": 257, - "node_type": 60, - "src": { - "line": 163, - "column": 19, - "start": 5358, - "end": 5370, - "length": 13, - "parent_index": 256 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 258, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 163, - "column": 20, - "start": 5359, - "end": 5362, - "length": 4, - "parent_index": 257 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 259, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5369, - "length": 5, - "parent_index": 257 - }, - "operator": 5, - "left_expression": { - "id": 260, - "node_type": 16, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5365, - "length": 1, - "parent_index": 259 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 260, - "is_pure": false - }, - "right_expression": { - "id": 261, - "node_type": 16, - "src": { - "line": 163, - "column": 30, - "start": 5369, - "end": 5369, - "length": 1, - "parent_index": 259 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 261, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 233, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 239, + "id": 221, "node_type": 43, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5233, + "line": 139, + "column": 17, + "start": 4179, + "end": 4198, "length": 20, - "parent_index": 238 + "parent_index": 220 }, "parameters": [ { - "id": 240, + "id": 222, "node_type": 44, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5222, + "line": 139, + "column": 17, + "start": 4179, + "end": 4187, "length": 9, - "parent_index": 239 + "parent_index": 221 }, - "scope": 238, + "scope": 220, "name": "a", "type_name": { - "id": 241, + "id": 223, "node_type": 30, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5220, + "line": 139, + "column": 17, + "start": 4179, + "end": 4185, "length": 7, - "parent_index": 240 + "parent_index": 222 }, "name": "uint256", "referenced_declaration": 0, @@ -4915,28 +4496,28 @@ } }, { - "id": 242, + "id": 224, "node_type": 44, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5233, + "line": 139, + "column": 28, + "start": 4190, + "end": 4198, "length": 9, - "parent_index": 239 + "parent_index": 221 }, - "scope": 238, + "scope": 220, "name": "b", "type_name": { - "id": 243, + "id": 225, "node_type": 30, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5231, + "line": 139, + "column": 28, + "start": 4190, + "end": 4196, "length": 7, - "parent_index": 242 + "parent_index": 224 }, "name": "uint256", "referenced_declaration": 0, @@ -4966,79 +4547,40 @@ ] }, "return_parameters": { - "id": 244, + "id": 226, "node_type": 43, "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5271, - "length": 13, - "parent_index": 238 + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, + "length": 7, + "parent_index": 220 }, "parameters": [ { - "id": 245, - "node_type": 44, - "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 244 - }, - "scope": 238, - "name": "", - "type_name": { - "id": 246, - "node_type": 30, - "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 245 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 247, + "id": 227, "node_type": 44, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 244 + "parent_index": 226 }, - "scope": 238, + "scope": 220, "name": "", "type_name": { - "id": 248, + "id": 228, "node_type": 30, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 247 + "parent_index": 227 }, "name": "uint256", "referenced_declaration": 0, @@ -5057,95 +4599,92 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", - "scope": 121, + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { - "id": 263, - "name": "add", + "id": 235, + "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 177, + "line": 155, "column": 4, - "start": 5623, - "end": 5718, + "start": 4715, + "end": 4810, "length": 96, - "parent_index": 121 + "parent_index": 33 }, "name_location": { - "line": 177, + "line": 155, "column": 13, - "start": 5632, - "end": 5634, + "start": 4724, + "end": 4726, "length": 3, - "parent_index": 263 + "parent_index": 235 }, "body": { - "id": 272, + "id": 244, "node_type": 46, "kind": 0, "src": { - "line": 177, + "line": 155, "column": 71, - "start": 5690, - "end": 5718, + "start": 4782, + "end": 4810, "length": 29, - "parent_index": 263 + "parent_index": 235 }, "implemented": true, "statements": [ { - "id": 273, + "id": 245, "node_type": 47, "src": { - "line": 178, + "line": 156, "column": 8, - "start": 5700, - "end": 5712, + "start": 4792, + "end": 4804, "length": 13, - "parent_index": 263 + "parent_index": 235 }, - "function_return_parameters": 263, + "function_return_parameters": 235, "expression": { - "id": 274, + "id": 246, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 178, + "line": 156, "column": 15, - "start": 5707, - "end": 5711, + "start": 4799, + "end": 4803, "length": 5, - "parent_index": 273 + "parent_index": 245 }, - "operator": 1, + "operator": 5, "left_expression": { - "id": 275, + "id": 247, "node_type": 16, "src": { - "line": 178, + "line": 156, "column": 15, - "start": 5707, - "end": 5707, + "start": 4799, + "end": 4799, "length": 1, - "parent_index": 274 + "parent_index": 246 }, "name": "a", "type_description": { @@ -5153,19 +4692,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 275, - "is_pure": false + "referenced_declaration": 247, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 276, + "id": 248, "node_type": 16, "src": { - "line": 178, + "line": 156, "column": 19, - "start": 5711, - "end": 5711, + "start": 4803, + "end": 4803, "length": 1, - "parent_index": 274 + "parent_index": 246 }, "name": "b", "type_description": { @@ -5173,8 +4713,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 276, - "is_pure": false + "referenced_declaration": 248, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -5191,40 +4732,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 264, + "id": 236, "node_type": 43, "src": { - "line": 177, + "line": 155, "column": 17, - "start": 5636, - "end": 5655, + "start": 4728, + "end": 4747, "length": 20, - "parent_index": 263 + "parent_index": 235 }, "parameters": [ { - "id": 265, + "id": 237, "node_type": 44, "src": { - "line": 177, + "line": 155, "column": 17, - "start": 5636, - "end": 5644, + "start": 4728, + "end": 4736, "length": 9, - "parent_index": 264 + "parent_index": 236 }, - "scope": 263, + "scope": 235, "name": "a", "type_name": { - "id": 266, + "id": 238, "node_type": 30, "src": { - "line": 177, + "line": 155, "column": 17, - "start": 5636, - "end": 5642, + "start": 4728, + "end": 4734, "length": 7, - "parent_index": 265 + "parent_index": 237 }, "name": "uint256", "referenced_declaration": 0, @@ -5242,28 +4783,28 @@ } }, { - "id": 267, + "id": 239, "node_type": 44, "src": { - "line": 177, + "line": 155, "column": 28, - "start": 5647, - "end": 5655, + "start": 4739, + "end": 4747, "length": 9, - "parent_index": 264 + "parent_index": 236 }, - "scope": 263, + "scope": 235, "name": "b", "type_name": { - "id": 268, + "id": 240, "node_type": 30, "src": { - "line": 177, + "line": 155, "column": 28, - "start": 5647, - "end": 5653, + "start": 4739, + "end": 4745, "length": 7, - "parent_index": 267 + "parent_index": 239 }, "name": "uint256", "referenced_declaration": 0, @@ -5293,40 +4834,40 @@ ] }, "return_parameters": { - "id": 269, + "id": 241, "node_type": 43, "src": { - "line": 177, + "line": 155, "column": 62, - "start": 5681, - "end": 5687, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 263 + "parent_index": 235 }, "parameters": [ { - "id": 270, + "id": 242, "node_type": 44, "src": { - "line": 177, + "line": 155, "column": 62, - "start": 5681, - "end": 5687, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 269 + "parent_index": 241 }, - "scope": 263, + "scope": 235, "name": "", "type_name": { - "id": 271, + "id": 243, "node_type": 30, "src": { - "line": 177, + "line": 155, "column": 62, - "start": 5681, - "end": 5687, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 270 + "parent_index": 242 }, "name": "uint256", "referenced_declaration": 0, @@ -5351,164 +4892,321 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", - "scope": 121, + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, { - "id": 278, + "id": 250, "name": "sub", "node_type": 42, "kind": 41, "src": { - "line": 191, + "line": 172, "column": 4, - "start": 5990, - "end": 6085, - "length": 96, - "parent_index": 121 + "start": 5275, + "end": 5505, + "length": 231, + "parent_index": 33 }, "name_location": { - "line": 191, + "line": 172, "column": 13, - "start": 5999, - "end": 6001, + "start": 5284, + "end": 5286, "length": 3, - "parent_index": 278 + "parent_index": 250 }, "body": { - "id": 287, + "id": 261, "node_type": 46, "kind": 0, "src": { - "line": 191, - "column": 71, - "start": 6057, - "end": 6085, - "length": 29, - "parent_index": 278 + "line": 176, + "column": 38, + "start": 5400, + "end": 5505, + "length": 106, + "parent_index": 250 }, "implemented": true, "statements": [ { - "id": 288, - "node_type": 47, + "id": 262, + "node_type": 59, + "kind": 0, "src": { - "line": 192, + "line": 177, "column": 8, - "start": 6067, - "end": 6079, - "length": 13, - "parent_index": 278 + "start": 5410, + "end": 5499, + "length": 90, + "parent_index": 33 }, - "function_return_parameters": 278, - "expression": { - "id": 289, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 192, - "column": 15, - "start": 6074, - "end": 6078, - "length": 5, - "parent_index": 288 - }, - "operator": 2, - "left_expression": { - "id": 290, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 263, + "node_type": 24, + "kind": 24, "src": { - "line": 192, - "column": 15, - "start": 6074, - "end": 6074, - "length": 1, - "parent_index": 289 + "line": 178, + "column": 12, + "start": 5434, + "end": 5462, + "length": 29, + "parent_index": 262 }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 265, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5447, + "length": 6, + "parent_index": 263 + }, + "operator": 10, + "left_expression": { + "id": 266, + "node_type": 16, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5442, + "length": 1, + "parent_index": 265 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 266, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 267, + "node_type": 16, + "src": { + "line": 178, + "column": 25, + "start": 5447, + "end": 5447, + "length": 1, + "parent_index": 265 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 267, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 268, + "node_type": 16, + "src": { + "line": 178, + "column": 28, + "start": 5450, + "end": 5461, + "length": 12, + "parent_index": 263 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 268, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 264, + "node_type": 16, + "src": { + "line": 178, + "column": 12, + "start": 5434, + "end": 5440, + "length": 7, + "parent_index": 263 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "overloaded_declarations": [], - "referenced_declaration": 290, - "is_pure": false + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "right_expression": { - "id": 291, - "node_type": 16, + { + "id": 269, + "node_type": 47, "src": { - "line": 192, - "column": 19, - "start": 6078, - "end": 6078, - "length": 1, - "parent_index": 289 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 179, + "column": 12, + "start": 5477, + "end": 5489, + "length": 13, + "parent_index": 250 }, - "overloaded_declarations": [], - "referenced_declaration": 291, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "function_return_parameters": 250, + "expression": { + "id": 270, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 179, + "column": 19, + "start": 5484, + "end": 5488, + "length": 5, + "parent_index": 269 + }, + "operator": 2, + "left_expression": { + "id": 271, + "node_type": 16, + "src": { + "line": 179, + "column": 19, + "start": 5484, + "end": 5484, + "length": 1, + "parent_index": 270 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 271, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 272, + "node_type": 16, + "src": { + "line": 179, + "column": 23, + "start": 5488, + "end": 5488, + "length": 1, + "parent_index": 270 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 272, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "implemented": true, + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 279, + "id": 251, "node_type": 43, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6022, - "length": 20, - "parent_index": 278 + "line": 173, + "column": 8, + "start": 5297, + "end": 5360, + "length": 64, + "parent_index": 250 }, "parameters": [ { - "id": 280, + "id": 252, "node_type": 44, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6011, + "line": 173, + "column": 8, + "start": 5297, + "end": 5305, "length": 9, - "parent_index": 279 + "parent_index": 251 }, - "scope": 278, + "scope": 250, "name": "a", "type_name": { - "id": 281, + "id": 253, "node_type": 30, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6009, + "line": 173, + "column": 8, + "start": 5297, + "end": 5303, "length": 7, - "parent_index": 280 + "parent_index": 252 }, "name": "uint256", "referenced_declaration": 0, @@ -5526,28 +5224,28 @@ } }, { - "id": 282, + "id": 254, "node_type": 44, "src": { - "line": 191, - "column": 28, - "start": 6014, - "end": 6022, + "line": 174, + "column": 8, + "start": 5316, + "end": 5324, "length": 9, - "parent_index": 279 + "parent_index": 251 }, - "scope": 278, + "scope": 250, "name": "b", "type_name": { - "id": 283, + "id": 255, "node_type": 30, "src": { - "line": 191, - "column": 28, - "start": 6014, - "end": 6020, + "line": 174, + "column": 8, + "start": 5316, + "end": 5322, "length": 7, - "parent_index": 282 + "parent_index": 254 }, "name": "uint256", "referenced_declaration": 0, @@ -5563,289 +5261,44 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 284, - "node_type": 43, - "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, - "length": 7, - "parent_index": 278 - }, - "parameters": [ - { - "id": 285, + "id": 256, "node_type": 44, "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, - "length": 7, - "parent_index": 284 - }, - "scope": 278, - "name": "", - "type_name": { - "id": 286, - "node_type": 30, - "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, - "length": 7, - "parent_index": 285 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } - }, - { - "id": 293, - "name": "mul", - "node_type": 42, - "kind": 41, - "src": { - "line": 205, - "column": 4, - "start": 6333, - "end": 6428, - "length": 96, - "parent_index": 121 - }, - "name_location": { - "line": 205, - "column": 13, - "start": 6342, - "end": 6344, - "length": 3, - "parent_index": 293 - }, - "body": { - "id": 302, - "node_type": 46, - "kind": 0, - "src": { - "line": 205, - "column": 71, - "start": 6400, - "end": 6428, - "length": 29, - "parent_index": 293 - }, - "implemented": true, - "statements": [ - { - "id": 303, - "node_type": 47, - "src": { - "line": 206, + "line": 175, "column": 8, - "start": 6410, - "end": 6422, - "length": 13, - "parent_index": 293 - }, - "function_return_parameters": 293, - "expression": { - "id": 304, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6421, - "length": 5, - "parent_index": 303 - }, - "operator": 3, - "left_expression": { - "id": 305, - "node_type": 16, - "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6417, - "length": 1, - "parent_index": 304 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 305, - "is_pure": false - }, - "right_expression": { - "id": 306, - "node_type": 16, - "src": { - "line": 206, - "column": 19, - "start": 6421, - "end": 6421, - "length": 1, - "parent_index": 304 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 306, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 294, - "node_type": 43, - "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6365, - "length": 20, - "parent_index": 293 - }, - "parameters": [ - { - "id": 295, - "node_type": 44, - "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6354, - "length": 9, - "parent_index": 294 - }, - "scope": 293, - "name": "a", - "type_name": { - "id": 296, - "node_type": 30, - "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6352, - "length": 7, - "parent_index": 295 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 297, - "node_type": 44, - "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6365, - "length": 9, - "parent_index": 294 + "start": 5335, + "end": 5360, + "length": 26, + "parent_index": 251 }, - "scope": 293, - "name": "b", + "scope": 250, + "name": "errorMessage", "type_name": { - "id": 298, + "id": 257, "node_type": 30, "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6363, - "length": 7, - "parent_index": 297 + "line": 175, + "column": 8, + "start": 5335, + "end": 5340, + "length": 6, + "parent_index": 256 }, - "name": "uint256", + "name": "string", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } } ], @@ -5857,44 +5310,48 @@ { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" } ] }, "return_parameters": { - "id": 299, + "id": 258, "node_type": 43, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 293 + "parent_index": 250 }, "parameters": [ { - "id": 300, + "id": 259, "node_type": 44, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 299 + "parent_index": 258 }, - "scope": 293, + "scope": 250, "name": "", "type_name": { - "id": 301, + "id": 260, "node_type": 30, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 300 + "parent_index": 259 }, "name": "uint256", "referenced_declaration": 0, @@ -5919,164 +5376,323 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", - "scope": 121, + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, { - "id": 308, + "id": 274, "name": "div", "node_type": 42, "kind": 41, "src": { - "line": 221, + "line": 195, "column": 4, - "start": 6893, - "end": 6988, - "length": 96, - "parent_index": 121 + "start": 5990, + "end": 6219, + "length": 230, + "parent_index": 33 }, "name_location": { - "line": 221, + "line": 195, "column": 13, - "start": 6902, - "end": 6904, + "start": 5999, + "end": 6001, "length": 3, - "parent_index": 308 + "parent_index": 274 }, "body": { - "id": 317, + "id": 285, "node_type": 46, "kind": 0, "src": { - "line": 221, - "column": 71, - "start": 6960, - "end": 6988, - "length": 29, - "parent_index": 308 + "line": 199, + "column": 38, + "start": 6115, + "end": 6219, + "length": 105, + "parent_index": 274 }, "implemented": true, "statements": [ { - "id": 318, - "node_type": 47, + "id": 286, + "node_type": 59, + "kind": 0, "src": { - "line": 222, + "line": 200, "column": 8, - "start": 6970, - "end": 6982, - "length": 13, - "parent_index": 308 + "start": 6125, + "end": 6213, + "length": 89, + "parent_index": 33 }, - "function_return_parameters": 308, - "expression": { - "id": 319, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6981, - "length": 5, - "parent_index": 318 - }, - "operator": 4, - "left_expression": { - "id": 320, - "node_type": 16, - "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6977, - "length": 1, - "parent_index": 319 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 320, - "is_pure": false - }, - "right_expression": { - "id": 321, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 287, + "node_type": 24, + "kind": 24, "src": { - "line": 222, - "column": 19, - "start": 6981, - "end": 6981, - "length": 1, - "parent_index": 319 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 201, + "column": 12, + "start": 6149, + "end": 6176, + "length": 28, + "parent_index": 286 }, - "overloaded_declarations": [], - "referenced_declaration": 321, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 289, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6161, + "length": 5, + "parent_index": 287 + }, + "operator": 7, + "left_expression": { + "id": 290, + "node_type": 16, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6157, + "length": 1, + "parent_index": 289 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 290, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 291, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 201, + "column": 24, + "start": 6161, + "end": 6161, + "length": 1, + "parent_index": 289 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 292, + "node_type": 16, + "src": { + "line": 201, + "column": 27, + "start": 6164, + "end": 6175, + "length": 12, + "parent_index": 287 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 292, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 288, + "node_type": 16, + "src": { + "line": 201, + "column": 12, + "start": 6149, + "end": 6155, + "length": 7, + "parent_index": 287 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" + }, + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } + }, + { + "id": 293, + "node_type": 47, + "src": { + "line": 202, + "column": 12, + "start": 6191, + "end": 6203, + "length": 13, + "parent_index": 274 + }, + "function_return_parameters": 274, + "expression": { + "id": 294, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6202, + "length": 5, + "parent_index": 293 + }, + "operator": 4, + "left_expression": { + "id": 295, + "node_type": 16, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6198, + "length": 1, + "parent_index": 294 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 295, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 296, + "node_type": 16, + "src": { + "line": 202, + "column": 23, + "start": 6202, + "end": 6202, + "length": 1, + "parent_index": 294 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 296, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "implemented": true, + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 309, + "id": 275, "node_type": 43, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6925, - "length": 20, - "parent_index": 308 + "line": 196, + "column": 8, + "start": 6012, + "end": 6075, + "length": 64, + "parent_index": 274 }, "parameters": [ { - "id": 310, + "id": 276, "node_type": 44, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6914, + "line": 196, + "column": 8, + "start": 6012, + "end": 6020, "length": 9, - "parent_index": 309 + "parent_index": 275 }, - "scope": 308, + "scope": 274, "name": "a", "type_name": { - "id": 311, + "id": 277, "node_type": 30, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6912, + "line": 196, + "column": 8, + "start": 6012, + "end": 6018, "length": 7, - "parent_index": 310 + "parent_index": 276 }, "name": "uint256", "referenced_declaration": 0, @@ -6094,28 +5710,28 @@ } }, { - "id": 312, + "id": 278, "node_type": 44, "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6925, + "line": 197, + "column": 8, + "start": 6031, + "end": 6039, "length": 9, - "parent_index": 309 + "parent_index": 275 }, - "scope": 308, + "scope": 274, "name": "b", "type_name": { - "id": 313, + "id": 279, "node_type": 30, "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6923, + "line": 197, + "column": 8, + "start": 6031, + "end": 6037, "length": 7, - "parent_index": 312 + "parent_index": 278 }, "name": "uint256", "referenced_declaration": 0, @@ -6131,6 +5747,45 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + }, + { + "id": 280, + "node_type": 44, + "src": { + "line": 198, + "column": 8, + "start": 6050, + "end": 6075, + "length": 26, + "parent_index": 275 + }, + "scope": 274, + "name": "errorMessage", + "type_name": { + "id": 281, + "node_type": 30, + "src": { + "line": 198, + "column": 8, + "start": 6050, + "end": 6055, + "length": 6, + "parent_index": 280 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } } ], "parameter_types": [ @@ -6141,44 +5796,48 @@ { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" } ] }, "return_parameters": { - "id": 314, + "id": 282, "node_type": 43, "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 308 + "parent_index": 274 }, "parameters": [ { - "id": 315, + "id": 283, "node_type": 44, "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 314 + "parent_index": 282 }, - "scope": 308, + "scope": 274, "name": "", "type_name": { - "id": 316, + "id": 284, "node_type": 30, "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 315 + "parent_index": 283 }, "name": "uint256", "referenced_declaration": 0, @@ -6203,358 +5862,75 @@ } ] }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", - "scope": 121, + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { - "id": 323, + "id": 298, "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 237, + "line": 221, "column": 4, - "start": 7442, - "end": 7537, - "length": 96, - "parent_index": 121 + "start": 6866, + "end": 7095, + "length": 230, + "parent_index": 33 }, "name_location": { - "line": 237, + "line": 221, "column": 13, - "start": 7451, - "end": 7453, + "start": 6875, + "end": 6877, "length": 3, - "parent_index": 323 + "parent_index": 298 }, "body": { - "id": 332, + "id": 309, "node_type": 46, "kind": 0, "src": { - "line": 237, - "column": 71, - "start": 7509, - "end": 7537, - "length": 29, - "parent_index": 323 + "line": 225, + "column": 38, + "start": 6991, + "end": 7095, + "length": 105, + "parent_index": 298 }, "implemented": true, "statements": [ { - "id": 333, - "node_type": 47, + "id": 310, + "node_type": 59, + "kind": 0, "src": { - "line": 238, + "line": 226, "column": 8, - "start": 7519, - "end": 7531, - "length": 13, - "parent_index": 323 + "start": 7001, + "end": 7089, + "length": 89, + "parent_index": 33 }, - "function_return_parameters": 323, - "expression": { - "id": 334, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7530, - "length": 5, - "parent_index": 333 - }, - "operator": 5, - "left_expression": { - "id": 335, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 311, + "node_type": 24, + "kind": 24, "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7526, - "length": 1, - "parent_index": 334 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 335, - "is_pure": false - }, - "right_expression": { - "id": 336, - "node_type": 16, - "src": { - "line": 238, - "column": 19, - "start": 7530, - "end": 7530, - "length": 1, - "parent_index": 334 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 336, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 324, - "node_type": 43, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7474, - "length": 20, - "parent_index": 323 - }, - "parameters": [ - { - "id": 325, - "node_type": 44, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7463, - "length": 9, - "parent_index": 324 - }, - "scope": 323, - "name": "a", - "type_name": { - "id": 326, - "node_type": 30, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7461, - "length": 7, - "parent_index": 325 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 327, - "node_type": 44, - "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7474, - "length": 9, - "parent_index": 324 - }, - "scope": 323, - "name": "b", - "type_name": { - "id": 328, - "node_type": 30, - "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7472, - "length": 7, - "parent_index": 327 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 329, - "node_type": 43, - "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 323 - }, - "parameters": [ - { - "id": 330, - "node_type": 44, - "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 329 - }, - "scope": 323, - "name": "", - "type_name": { - "id": 331, - "node_type": 30, - "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 330 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } - }, - { - "id": 338, - "name": "sub", - "node_type": 42, - "kind": 41, - "src": { - "line": 254, - "column": 4, - "start": 8002, - "end": 8232, - "length": 231, - "parent_index": 121 - }, - "name_location": { - "line": 254, - "column": 13, - "start": 8011, - "end": 8013, - "length": 3, - "parent_index": 338 - }, - "body": { - "id": 349, - "node_type": 46, - "kind": 0, - "src": { - "line": 258, - "column": 38, - "start": 8127, - "end": 8232, - "length": 106, - "parent_index": 338 - }, - "implemented": true, - "statements": [ - { - "id": 350, - "node_type": 59, - "kind": 0, - "src": { - "line": 259, - "column": 8, - "start": 8137, - "end": 8226, - "length": 90, - "parent_index": 121 - }, - "implemented": false, - "statements": [ - { - "id": 351, - "node_type": 24, - "kind": 24, - "src": { - "line": 260, - "column": 12, - "start": 8161, - "end": 8189, - "length": 29, - "parent_index": 350 + "line": 227, + "column": 12, + "start": 7025, + "end": 7052, + "length": 28, + "parent_index": 310 }, "argument_types": [ { @@ -6568,29 +5944,29 @@ ], "arguments": [ { - "id": 353, + "id": 313, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 260, + "line": 227, "column": 20, - "start": 8169, - "end": 8174, - "length": 6, - "parent_index": 351 + "start": 7033, + "end": 7037, + "length": 5, + "parent_index": 311 }, - "operator": 10, + "operator": 7, "left_expression": { - "id": 354, + "id": 314, "node_type": 16, "src": { - "line": 260, + "line": 227, "column": 20, - "start": 8169, - "end": 8169, + "start": 7033, + "end": 7033, "length": 1, - "parent_index": 353 + "parent_index": 313 }, "name": "b", "type_description": { @@ -6598,28 +5974,32 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 354, - "is_pure": false + "referenced_declaration": 314, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 355, - "node_type": 16, + "id": 315, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 260, - "column": 25, - "start": 8174, - "end": 8174, + "line": 227, + "column": 24, + "start": 7037, + "end": 7037, "length": 1, - "parent_index": 353 + "parent_index": 313 }, - "name": "a", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], - "referenced_declaration": 355, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -6627,15 +6007,15 @@ } }, { - "id": 356, + "id": 316, "node_type": 16, "src": { - "line": 260, - "column": 28, - "start": 8177, - "end": 8188, + "line": 227, + "column": 27, + "start": 7040, + "end": 7051, "length": 12, - "parent_index": 351 + "parent_index": 311 }, "name": "errorMessage", "type_description": { @@ -6643,26 +6023,27 @@ "type_string": "string" }, "overloaded_declarations": [], - "referenced_declaration": 356, + "referenced_declaration": 316, "is_pure": false, "argument_types": [ { "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "errorMessage" } ], "expression": { - "id": 352, + "id": 312, "node_type": 16, "src": { - "line": 260, + "line": 227, "column": 12, - "start": 8161, - "end": 8167, + "start": 7025, + "end": 7031, "length": 7, - "parent_index": 351 + "parent_index": 311 }, "name": "require", "type_description": { @@ -6671,7 +6052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string$", @@ -6679,41 +6061,41 @@ } }, { - "id": 357, + "id": 317, "node_type": 47, "src": { - "line": 261, + "line": 228, "column": 12, - "start": 8204, - "end": 8216, + "start": 7067, + "end": 7079, "length": 13, - "parent_index": 338 + "parent_index": 298 }, - "function_return_parameters": 338, + "function_return_parameters": 298, "expression": { - "id": 358, + "id": 318, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 261, + "line": 228, "column": 19, - "start": 8211, - "end": 8215, + "start": 7074, + "end": 7078, "length": 5, - "parent_index": 357 + "parent_index": 317 }, - "operator": 2, + "operator": 5, "left_expression": { - "id": 359, + "id": 319, "node_type": 16, "src": { - "line": 261, + "line": 228, "column": 19, - "start": 8211, - "end": 8211, + "start": 7074, + "end": 7074, "length": 1, - "parent_index": 358 + "parent_index": 318 }, "name": "a", "type_description": { @@ -6721,19 +6103,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 359, - "is_pure": false + "referenced_declaration": 319, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 360, + "id": 320, "node_type": 16, "src": { - "line": 261, + "line": 228, "column": 23, - "start": 8215, - "end": 8215, + "start": 7078, + "end": 7078, "length": 1, - "parent_index": 358 + "parent_index": 318 }, "name": "b", "type_description": { @@ -6741,8 +6124,9 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 360, - "is_pure": false + "referenced_declaration": 320, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", @@ -6761,40 +6145,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 339, + "id": 299, "node_type": 43, "src": { - "line": 255, + "line": 222, "column": 8, - "start": 8024, - "end": 8087, + "start": 6888, + "end": 6951, "length": 64, - "parent_index": 338 + "parent_index": 298 }, "parameters": [ { - "id": 340, + "id": 300, "node_type": 44, "src": { - "line": 255, + "line": 222, "column": 8, - "start": 8024, - "end": 8032, + "start": 6888, + "end": 6896, "length": 9, - "parent_index": 339 + "parent_index": 299 }, - "scope": 338, + "scope": 298, "name": "a", "type_name": { - "id": 341, + "id": 301, "node_type": 30, "src": { - "line": 255, + "line": 222, "column": 8, - "start": 8024, - "end": 8030, + "start": 6888, + "end": 6894, "length": 7, - "parent_index": 340 + "parent_index": 300 }, "name": "uint256", "referenced_declaration": 0, @@ -6812,28 +6196,28 @@ } }, { - "id": 342, + "id": 302, "node_type": 44, "src": { - "line": 256, + "line": 223, "column": 8, - "start": 8043, - "end": 8051, + "start": 6907, + "end": 6915, "length": 9, - "parent_index": 339 + "parent_index": 299 }, - "scope": 338, + "scope": 298, "name": "b", "type_name": { - "id": 343, + "id": 303, "node_type": 30, "src": { - "line": 256, + "line": 223, "column": 8, - "start": 8043, - "end": 8049, + "start": 6907, + "end": 6913, "length": 7, - "parent_index": 342 + "parent_index": 302 }, "name": "uint256", "referenced_declaration": 0, @@ -6851,28 +6235,28 @@ } }, { - "id": 344, + "id": 304, "node_type": 44, "src": { - "line": 257, + "line": 224, "column": 8, - "start": 8062, - "end": 8087, + "start": 6926, + "end": 6951, "length": 26, - "parent_index": 339 + "parent_index": 299 }, - "scope": 338, + "scope": 298, "name": "errorMessage", "type_name": { - "id": 345, + "id": 305, "node_type": 30, "src": { - "line": 257, + "line": 224, "column": 8, - "start": 8062, - "end": 8067, + "start": 6926, + "end": 6931, "length": 6, - "parent_index": 344 + "parent_index": 304 }, "name": "string", "referenced_declaration": 0, @@ -6906,40 +6290,40 @@ ] }, "return_parameters": { - "id": 346, + "id": 306, "node_type": 43, "src": { - "line": 258, + "line": 225, "column": 29, - "start": 8118, - "end": 8124, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 338 + "parent_index": 298 }, "parameters": [ { - "id": 347, + "id": 307, "node_type": 44, "src": { - "line": 258, + "line": 225, "column": 29, - "start": 8118, - "end": 8124, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 346 + "parent_index": 306 }, - "scope": 338, + "scope": 298, "name": "", "type_name": { - "id": 348, + "id": 308, "node_type": 30, "src": { - "line": 258, + "line": 225, "column": 29, - "start": 8118, - "end": 8124, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 347 + "parent_index": 307 }, "name": "uint256", "referenced_declaration": 0, @@ -6964,316 +6348,172 @@ } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", - "scope": 121, + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", "type_string": "function(uint256,uint256,string)" - } - }, - { - "id": 362, - "name": "div", - "node_type": 42, - "kind": 41, - "src": { - "line": 277, - "column": 4, - "start": 8717, - "end": 8946, - "length": 230, - "parent_index": 121 }, - "name_location": { - "line": 277, - "column": 13, - "start": 8726, - "end": 8728, - "length": 3, - "parent_index": 362 + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" + } + ], + "linearized_base_contracts": [ + 33 + ], + "base_contracts": [], + "contract_dependencies": [] + } + ], + "src": { + "line": 18, + "column": 0, + "start": 622, + "end": 7097, + "length": 6476, + "parent_index": 30 + } + }, + { + "id": 321, + "base_contracts": [], + "license": "MIT", + "exported_symbols": [ + { + "id": 321, + "name": "IERC20", + "absolute_path": "IERC20.sol" + } + ], + "absolute_path": "IERC20.sol", + "name": "IERC20", + "node_type": 1, + "nodes": [ + { + "id": 323, + "node_type": 10, + "src": { + "line": 235, + "column": 0, + "start": 7133, + "end": 7155, + "length": 23, + "parent_index": 321 + }, + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "text": "pragma solidity ^0.8.0;" + }, + { + "id": 326, + "name": "IERC20", + "node_type": 35, + "src": { + "line": 240, + "column": 0, + "start": 7229, + "end": 9824, + "length": 2596, + "parent_index": 321 + }, + "name_location": { + "line": 240, + "column": 10, + "start": 7239, + "end": 7244, + "length": 6, + "parent_index": 326 + }, + "abstract": false, + "kind": 38, + "fully_implemented": true, + "nodes": [ + { + "id": 328, + "name": "totalSupply", + "node_type": 42, + "kind": 41, + "src": { + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 326 + }, + "name_location": { + "line": 244, + "column": 13, + "start": 7332, + "end": 7342, + "length": 11, + "parent_index": 328 }, "body": { - "id": 373, + "id": 335, "node_type": 46, "kind": 0, "src": { - "line": 281, - "column": 38, - "start": 8842, - "end": 8946, - "length": 105, - "parent_index": 362 + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 328 }, - "implemented": true, - "statements": [ - { - "id": 374, - "node_type": 59, - "kind": 0, - "src": { - "line": 282, - "column": 8, - "start": 8852, - "end": 8940, - "length": 89, - "parent_index": 121 - }, - "implemented": false, - "statements": [ - { - "id": 375, - "node_type": 24, - "kind": 24, - "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8903, - "length": 28, - "parent_index": 374 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 377, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8888, - "length": 5, - "parent_index": 375 - }, - "operator": 7, - "left_expression": { - "id": 378, - "node_type": 16, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8884, - "length": 1, - "parent_index": 377 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 378, - "is_pure": false - }, - "right_expression": { - "id": 379, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 283, - "column": 24, - "start": 8888, - "end": 8888, - "length": 1, - "parent_index": 377 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 380, - "node_type": 16, - "src": { - "line": 283, - "column": 27, - "start": 8891, - "end": 8902, - "length": 12, - "parent_index": 375 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 380, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 376, - "node_type": 16, - "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8882, - "length": 7, - "parent_index": 375 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } - }, - { - "id": 381, - "node_type": 47, - "src": { - "line": 284, - "column": 12, - "start": 8918, - "end": 8930, - "length": 13, - "parent_index": 362 - }, - "function_return_parameters": 362, - "expression": { - "id": 382, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8929, - "length": 5, - "parent_index": 381 - }, - "operator": 4, - "left_expression": { - "id": 383, - "node_type": 16, - "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8925, - "length": 1, - "parent_index": 382 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 383, - "is_pure": false - }, - "right_expression": { - "id": 384, - "node_type": 16, - "src": { - "line": 284, - "column": 23, - "start": 8929, - "end": 8929, - "length": 1, - "parent_index": 382 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 384, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] - } - ] + "implemented": false, + "statements": [] }, "implemented": false, - "visibility": 1, - "state_mutability": 6, + "visibility": 4, + "state_mutability": 5, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 363, + "id": 329, "node_type": 43, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8802, - "length": 64, - "parent_index": 362 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 328 }, "parameters": [ { - "id": 364, + "id": 330, "node_type": 44, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8747, - "length": 9, - "parent_index": 363 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 329 }, - "scope": 362, - "name": "a", + "scope": 328, + "name": "", "type_name": { - "id": 365, + "id": 331, "node_type": 30, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8745, + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 364 + "parent_index": 330 }, "name": "uint256", "referenced_declaration": 0, @@ -7289,30 +6529,50 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, + } + ], + "parameter_types": [ { - "id": 366, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 332, + "node_type": 43, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 328 + }, + "parameters": [ + { + "id": 333, "node_type": 44, "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8766, - "length": 9, - "parent_index": 363 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 332 }, - "scope": 362, - "name": "b", + "scope": 328, + "name": "", "type_name": { - "id": 367, + "id": 334, "node_type": 30, "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8764, + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 366 + "parent_index": 333 }, "name": "uint256", "referenced_declaration": 0, @@ -7328,97 +6588,161 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "totalSupply(uint256)", + "signature": "bd85b039", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" + }, + { + "id": 337, + "name": "balanceOf", + "node_type": 42, + "kind": 41, + "src": { + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 326 + }, + "name_location": { + "line": 249, + "column": 13, + "start": 7470, + "end": 7478, + "length": 9, + "parent_index": 337 + }, + "body": { + "id": 344, + "node_type": 46, + "kind": 0, + "src": { + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 337 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 338, + "node_type": 43, + "src": { + "line": 249, + "column": 23, + "start": 7480, + "end": 7494, + "length": 15, + "parent_index": 337 + }, + "parameters": [ { - "id": 368, + "id": 339, "node_type": 44, "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8802, - "length": 26, - "parent_index": 363 + "line": 249, + "column": 23, + "start": 7480, + "end": 7494, + "length": 15, + "parent_index": 338 }, - "scope": 362, - "name": "errorMessage", + "scope": 337, + "name": "account", "type_name": { - "id": 369, + "id": 340, "node_type": 30, "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8782, - "length": 6, - "parent_index": 368 + "line": 249, + "column": 23, + "start": 7480, + "end": 7486, + "length": 7, + "parent_index": 339 }, - "name": "string", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } ] }, "return_parameters": { - "id": 370, + "id": 341, "node_type": 43, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 362 + "parent_index": 337 }, "parameters": [ { - "id": 371, + "id": 342, "node_type": 44, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 370 + "parent_index": 341 }, - "scope": 362, + "scope": 337, "name": "", "type_name": { - "id": 372, + "id": 343, "node_type": 30, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 371 + "parent_index": 342 }, "name": "uint256", "referenced_declaration": 0, @@ -7443,355 +6767,132 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", - "scope": 121, + "signature_raw": "balanceOf(address)", + "signature": "70a08231", + "scope": 326, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" - } + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, { - "id": 386, - "name": "mod", + "id": 346, + "name": "transfer", "node_type": 42, "kind": 41, "src": { - "line": 303, + "line": 258, "column": 4, - "start": 9593, - "end": 9822, - "length": 230, - "parent_index": 121 + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 326 }, "name_location": { - "line": 303, + "line": 258, "column": 13, - "start": 9602, - "end": 9604, - "length": 3, - "parent_index": 386 + "start": 7758, + "end": 7765, + "length": 8, + "parent_index": 346 }, "body": { - "id": 397, + "id": 355, "node_type": 46, "kind": 0, "src": { - "line": 307, - "column": 38, - "start": 9718, - "end": 9822, - "length": 105, - "parent_index": 386 + "line": 258, + "column": 4, + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 346 }, - "implemented": true, - "statements": [ + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 347, + "node_type": 43, + "src": { + "line": 258, + "column": 22, + "start": 7767, + "end": 7799, + "length": 33, + "parent_index": 346 + }, + "parameters": [ { - "id": 398, - "node_type": 59, - "kind": 0, + "id": 348, + "node_type": 44, "src": { - "line": 308, - "column": 8, - "start": 9728, - "end": 9816, - "length": 89, - "parent_index": 121 + "line": 258, + "column": 22, + "start": 7767, + "end": 7783, + "length": 17, + "parent_index": 347 }, - "implemented": false, - "statements": [ - { - "id": 399, - "node_type": 24, - "kind": 24, - "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9779, - "length": 28, - "parent_index": 398 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 401, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9764, - "length": 5, - "parent_index": 399 - }, - "operator": 7, - "left_expression": { - "id": 402, - "node_type": 16, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9760, - "length": 1, - "parent_index": 401 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 402, - "is_pure": false - }, - "right_expression": { - "id": 403, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 309, - "column": 24, - "start": 9764, - "end": 9764, - "length": 1, - "parent_index": 401 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 404, - "node_type": 16, - "src": { - "line": 309, - "column": 27, - "start": 9767, - "end": 9778, - "length": 12, - "parent_index": 399 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 400, - "node_type": 16, - "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9758, - "length": 7, - "parent_index": 399 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } - }, - { - "id": 405, - "node_type": 47, - "src": { - "line": 310, - "column": 12, - "start": 9794, - "end": 9806, - "length": 13, - "parent_index": 386 - }, - "function_return_parameters": 386, - "expression": { - "id": 406, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9805, - "length": 5, - "parent_index": 405 - }, - "operator": 5, - "left_expression": { - "id": 407, - "node_type": 16, - "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9801, - "length": 1, - "parent_index": 406 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 407, - "is_pure": false - }, - "right_expression": { - "id": 408, - "node_type": 16, - "src": { - "line": 310, - "column": 23, - "start": 9805, - "end": 9805, - "length": 1, - "parent_index": 406 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 408, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] - } - ] - }, - "implemented": false, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 387, - "node_type": 43, - "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9678, - "length": 64, - "parent_index": 386 - }, - "parameters": [ - { - "id": 388, - "node_type": 44, - "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9623, - "length": 9, - "parent_index": 387 - }, - "scope": 386, - "name": "a", + "scope": 346, + "name": "recipient", "type_name": { - "id": 389, + "id": 349, "node_type": 30, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9621, + "line": 258, + "column": 22, + "start": 7767, + "end": 7773, "length": 7, - "parent_index": 388 + "parent_index": 348 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 390, + "id": 350, "node_type": 44, "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9642, - "length": 9, - "parent_index": 387 + "line": 258, + "column": 41, + "start": 7786, + "end": 7799, + "length": 14, + "parent_index": 347 }, - "scope": 386, - "name": "b", + "scope": 346, + "name": "amount", "type_name": { - "id": 391, + "id": 351, "node_type": 30, "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9640, + "line": 258, + "column": 41, + "start": 7786, + "end": 7792, "length": 7, - "parent_index": 390 + "parent_index": 350 }, "name": "uint256", "referenced_declaration": 0, @@ -7807,499 +6908,164 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, - { - "id": 392, - "node_type": 44, - "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9678, - "length": 26, - "parent_index": 387 - }, - "scope": 386, - "name": "errorMessage", - "type_name": { - "id": 393, - "node_type": 30, - "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9658, - "length": 6, - "parent_index": 392 - }, - "name": "string", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, { "type_identifier": "t_uint256", "type_string": "uint256" - }, - { - "type_identifier": "t_string", - "type_string": "string" } ] }, "return_parameters": { - "id": 394, + "id": 352, "node_type": 43, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 386 + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 346 }, "parameters": [ { - "id": 395, + "id": 353, "node_type": 44, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 394 + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 352 }, - "scope": 386, + "scope": 346, "name": "", "type_name": { - "id": 396, + "id": 354, "node_type": 30, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 395 + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 353 }, - "name": "uint256", + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", - "scope": 121, + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", + "scope": 326, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" - } - } - ], - "linearized_base_contracts": [ - 121 - ], - "base_contracts": [], - "contract_dependencies": [] - } - ], - "src": { - "line": 100, - "column": 0, - "start": 3349, - "end": 9824, - "length": 6476, - "parent_index": 30 - } - }, - { - "id": 409, - "base_contracts": [], - "license": "MIT", - "exported_symbols": [ - { - "id": 409, - "name": "TokenSale", - "absolute_path": "TokenSale.sol" - }, - { - "id": 118, - "name": "SafeMath", - "absolute_path": "SafeMath.sol" - }, - { - "id": 31, - "name": "IERC20", - "absolute_path": "IERC20.sol" - } - ], - "absolute_path": "TokenSale.sol", - "name": "TokenSale", - "node_type": 1, - "nodes": [ - { - "id": 412, - "node_type": 10, - "src": { - "line": 316, - "column": 0, - "start": 9859, - "end": 9881, - "length": 23, - "parent_index": 409 - }, - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" - ], - "text": "pragma solidity ^0.8.0;" - }, - { - "id": 413, - "node_type": 29, - "src": { - "line": 318, - "column": 0, - "start": 9884, - "end": 9905, - "length": 22, - "parent_index": 409 - }, - "absolute_path": "IERC20.sol", - "file": "./IERC20.sol", - "scope": 409, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 118 - }, - { - "id": 414, - "node_type": 29, - "src": { - "line": 319, - "column": 0, - "start": 9907, - "end": 9930, - "length": 24, - "parent_index": 409 - }, - "absolute_path": "SafeMath.sol", - "file": "./SafeMath.sol", - "scope": 409, - "unit_alias": "", - "as": "", - "unit_aliases": [], - "source_unit": 118 - }, - { - "id": 415, - "name": "TokenSale", - "node_type": 35, - "src": { - "line": 321, - "column": 0, - "start": 9933, - "end": 10520, - "length": 588, - "parent_index": 409 - }, - "name_location": { - "line": 321, - "column": 9, - "start": 9942, - "end": 9950, - "length": 9, - "parent_index": 415 - }, - "abstract": false, - "kind": 36, - "fully_implemented": true, - "nodes": [ - { - "id": 417, - "node_type": 51, - "src": { - "line": 322, - "column": 0, - "start": 9958, - "end": 9984, - "length": 27, - "parent_index": 415 - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "type_name": { - "id": 419, - "node_type": 30, - "src": { - "line": 322, - "column": 23, - "start": 9977, - "end": 9983, - "length": 7, - "parent_index": 417 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" }, - "library_name": { - "id": 418, - "node_type": 52, - "src": { - "line": 322, - "column": 0, - "start": 9964, - "end": 9971, - "length": 8, - "parent_index": 417 - }, - "name": "SafeMath", - "referenced_declaration": 118 - } + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, { - "id": 421, - "name": "token", - "is_constant": false, - "is_state_variable": true, - "node_type": 44, + "id": 357, + "name": "allowance", + "node_type": 42, + "kind": 41, "src": { - "line": 324, + "line": 267, "column": 4, - "start": 9991, - "end": 10011, - "length": 21, - "parent_index": 415 + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 326 }, - "scope": 415, - "type_description": { - "type_identifier": "t_contract$_IERC20_$31", - "type_string": "contract IERC20" + "name_location": { + "line": 267, + "column": 13, + "start": 8110, + "end": 8118, + "length": 9, + "parent_index": 357 }, - "visibility": 2, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 422, - "node_type": 69, + "body": { + "id": 366, + "node_type": 46, + "kind": 0, "src": { - "line": 324, + "line": 267, "column": 4, - "start": 9991, - "end": 9996, - "length": 6, - "parent_index": 421 - }, - "path_node": { - "id": 423, - "name": "IERC20", - "node_type": 52, - "referenced_declaration": 31, - "src": { - "line": 324, - "column": 4, - "start": 9991, - "end": 9996, - "length": 6, - "parent_index": 422 - }, - "name_location": { - "line": 324, - "column": 4, - "start": 9991, - "end": 9996, - "length": 6, - "parent_index": 422 - } + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 357 }, - "referenced_declaration": 31, - "type_description": { - "type_identifier": "t_contract$_IERC20_$31", - "type_string": "contract IERC20" - } - }, - "initial_value": null - }, - { - "id": 425, - "name": "owner", - "is_constant": false, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 325, - "column": 4, - "start": 10017, - "end": 10038, - "length": 22, - "parent_index": 415 - }, - "scope": 415, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "implemented": false, + "statements": [] }, - "visibility": 2, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 426, - "node_type": 30, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 358, + "node_type": 43, "src": { - "line": 325, - "column": 4, - "start": 10017, - "end": 10023, - "length": 7, - "parent_index": 425 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "initial_value": null - }, - { - "id": 428, - "name": "tokenPrice", - "is_constant": false, - "is_state_variable": true, - "node_type": 44, - "src": { - "line": 326, - "column": 4, - "start": 10044, - "end": 10070, - "length": 27, - "parent_index": 415 - }, - "scope": 415, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "visibility": 2, - "storage_location": 1, - "mutability": 1, - "type_name": { - "id": 429, - "node_type": 30, - "src": { - "line": 326, - "column": 4, - "start": 10044, - "end": 10050, - "length": 7, - "parent_index": 428 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "initial_value": null - }, - { - "id": 431, - "node_type": 57, - "src": { - "line": 328, - "column": 4, - "start": 10077, - "end": 10129, - "length": 53, - "parent_index": 415 - }, - "parameters": { - "id": 432, - "node_type": 43, - "src": { - "line": 328, - "column": 4, - "start": 10077, - "end": 10129, - "length": 53, - "parent_index": 431 + "line": 267, + "column": 23, + "start": 8120, + "end": 8149, + "length": 30, + "parent_index": 357 }, "parameters": [ { - "id": 433, + "id": 359, "node_type": 44, "src": { - "line": 328, - "column": 26, - "start": 10099, - "end": 10111, + "line": 267, + "column": 23, + "start": 8120, + "end": 8132, "length": 13, - "parent_index": 432 + "parent_index": 358 }, - "scope": 431, - "name": "buyer", + "scope": 357, + "name": "owner", "type_name": { - "id": 434, + "id": 360, "node_type": 30, "src": { - "line": 328, - "column": 26, - "start": 10099, - "end": 10105, + "line": 267, + "column": 23, + "start": 8120, + "end": 8126, "length": 7, - "parent_index": 433 + "parent_index": 359 }, "name": "address", "state_mutability": 4, @@ -8318,28 +7084,92 @@ } }, { - "id": 435, + "id": 361, "node_type": 44, "src": { - "line": 328, - "column": 41, - "start": 10114, - "end": 10127, - "length": 14, - "parent_index": 432 + "line": 267, + "column": 38, + "start": 8135, + "end": 8149, + "length": 15, + "parent_index": 358 }, - "scope": 431, - "name": "amount", + "scope": 357, + "name": "spender", "type_name": { - "id": 436, + "id": 362, "node_type": 30, "src": { - "line": 328, - "column": 41, - "start": 10114, - "end": 10120, + "line": 267, + "column": 38, + "start": 8135, + "end": 8141, "length": 7, - "parent_index": 435 + "parent_index": 361 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { + "id": 363, + "node_type": 43, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 357 + }, + "parameters": [ + { + "id": 364, + "node_type": 44, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 363 + }, + "scope": 357, + "name": "", + "type_name": { + "id": 365, + "node_type": 30, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 364 }, "name": "uint256", "referenced_declaration": 0, @@ -8358,74 +7188,98 @@ } ], "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "name": "TokensPurchased", - "anonymous": false, + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", + "scope": 326, "type_description": { - "type_identifier": "t_event\u0026_TokenSale_TokensPurchased_\u0026431", - "type_string": "event TokenSale.TokensPurchased" - } + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" }, { - "id": 438, + "id": 368, + "name": "approve", "node_type": 42, + "kind": 41, "src": { - "line": 330, + "line": 283, "column": 4, - "start": 10136, - "end": 10299, - "length": 164, - "parent_index": 415 + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 326 }, - "kind": 11, + "name_location": { + "line": 283, + "column": 13, + "start": 8846, + "end": 8852, + "length": 7, + "parent_index": 368 + }, + "body": { + "id": 377, + "node_type": 46, + "kind": 0, + "src": { + "line": 283, + "column": 4, + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 368 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, "state_mutability": 4, - "visibility": 1, - "implemented": true, + "virtual": false, "modifiers": [], + "overrides": [], "parameters": { - "id": 439, + "id": 369, "node_type": 43, "src": { - "line": 330, - "column": 16, - "start": 10148, - "end": 10189, - "length": 42, - "parent_index": 438 + "line": 283, + "column": 21, + "start": 8854, + "end": 8884, + "length": 31, + "parent_index": 368 }, "parameters": [ { - "id": 440, + "id": 370, "node_type": 44, "src": { - "line": 330, - "column": 16, - "start": 10148, - "end": 10168, - "length": 21, - "parent_index": 439 + "line": 283, + "column": 21, + "start": 8854, + "end": 8868, + "length": 15, + "parent_index": 369 }, - "scope": 438, - "name": "_tokenAddress", + "scope": 368, + "name": "spender", "type_name": { - "id": 441, + "id": 371, "node_type": 30, "src": { - "line": 330, - "column": 16, - "start": 10148, - "end": 10154, + "line": 283, + "column": 21, + "start": 8854, + "end": 8860, "length": 7, - "parent_index": 440 + "parent_index": 370 }, "name": "address", "state_mutability": 4, @@ -8444,28 +7298,28 @@ } }, { - "id": 442, + "id": 372, "node_type": 44, "src": { - "line": 330, - "column": 39, - "start": 10171, - "end": 10189, - "length": 19, - "parent_index": 439 + "line": 283, + "column": 38, + "start": 8871, + "end": 8884, + "length": 14, + "parent_index": 369 }, - "scope": 438, - "name": "_tokenPrice", + "scope": 368, + "name": "amount", "type_name": { - "id": 443, + "id": 373, "node_type": 30, "src": { - "line": 330, - "column": 39, - "start": 10171, - "end": 10177, + "line": 283, + "column": 38, + "start": 8871, + "end": 8877, "length": 7, - "parent_index": 442 + "parent_index": 372 }, "name": "uint256", "referenced_declaration": 0, @@ -8495,857 +7349,625 @@ ] }, "return_parameters": { - "id": 444, + "id": 374, "node_type": 43, "src": { - "line": 330, - "column": 4, - "start": 10136, - "end": 10299, - "length": 164, - "parent_index": 438 - }, - "parameters": [], - "parameter_types": [] + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 368 + }, + "parameters": [ + { + "id": 375, + "node_type": 44, + "src": { + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 374 + }, + "scope": 368, + "name": "", + "type_name": { + "id": 376, + "node_type": 30, + "src": { + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 375 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] + }, + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" + }, + { + "id": 379, + "name": "transferFrom", + "node_type": 42, + "kind": 41, + "src": { + "line": 294, + "column": 4, + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 326 + }, + "name_location": { + "line": 294, + "column": 13, + "start": 9227, + "end": 9238, + "length": 12, + "parent_index": 379 }, - "scope": 415, "body": { - "id": 445, + "id": 390, "node_type": 46, "kind": 0, "src": { - "line": 330, - "column": 60, - "start": 10192, - "end": 10299, - "length": 108, - "parent_index": 438 + "line": 294, + "column": 4, + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 379 }, - "implemented": true, - "statements": [ + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 380, + "node_type": 43, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9313, + "length": 65, + "parent_index": 379 + }, + "parameters": [ { - "id": 446, - "node_type": 27, + "id": 381, + "node_type": 44, "src": { - "line": 331, + "line": 295, "column": 8, - "start": 10202, - "end": 10231, - "length": 30, - "parent_index": 445 + "start": 9249, + "end": 9262, + "length": 14, + "parent_index": 380 }, - "expression": { - "id": 447, - "node_type": 27, + "scope": 379, + "name": "sender", + "type_name": { + "id": 382, + "node_type": 30, "src": { - "line": 331, + "line": 295, "column": 8, - "start": 10202, - "end": 10230, - "length": 29, - "parent_index": 446 - }, - "operator": 11, - "left_expression": { - "id": 448, - "node_type": 16, - "src": { - "line": 331, - "column": 8, - "start": 10202, - "end": 10206, - "length": 5, - "parent_index": 447 - }, - "name": "token", - "type_description": { - "type_identifier": "t_contract$_IERC20_$31", - "type_string": "contract IERC20" - }, - "overloaded_declarations": [], - "referenced_declaration": 421, - "is_pure": false - }, - "right_expression": { - "id": 449, - "node_type": 24, - "kind": 24, - "src": { - "line": 331, - "column": 16, - "start": 10210, - "end": 10230, - "length": 21, - "parent_index": 447 - }, - "argument_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ], - "arguments": [ - { - "id": 451, - "node_type": 16, - "src": { - "line": 331, - "column": 23, - "start": 10217, - "end": 10229, - "length": 13, - "parent_index": 449 - }, - "name": "_tokenAddress", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 451, - "is_pure": false - } - ], - "expression": { - "id": 450, - "node_type": 16, - "src": { - "line": 331, - "column": 16, - "start": 10210, - "end": 10215, - "length": 6, - "parent_index": 449 - }, - "name": "IERC20", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } + "start": 9249, + "end": 9255, + "length": 7, + "parent_index": 381 }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", - "type_string": "contract IERC20" + "type_identifier": "t_address", + "type_string": "address" } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", - "type_string": "contract IERC20" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 452, - "node_type": 27, + "id": 383, + "node_type": 44, "src": { - "line": 332, + "line": 296, "column": 8, - "start": 10241, - "end": 10259, - "length": 19, - "parent_index": 445 + "start": 9273, + "end": 9289, + "length": 17, + "parent_index": 380 }, - "expression": { - "id": 453, - "node_type": 27, + "scope": 379, + "name": "recipient", + "type_name": { + "id": 384, + "node_type": 30, "src": { - "line": 332, + "line": 296, "column": 8, - "start": 10241, - "end": 10258, - "length": 18, - "parent_index": 452 - }, - "operator": 11, - "left_expression": { - "id": 454, - "node_type": 16, - "src": { - "line": 332, - "column": 8, - "start": 10241, - "end": 10245, - "length": 5, - "parent_index": 453 - }, - "name": "owner", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "overloaded_declarations": [], - "referenced_declaration": 425, - "is_pure": false - }, - "right_expression": { - "id": 455, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 332, - "column": 16, - "start": 10249, - "end": 10258, - "length": 10, - "parent_index": 453 - }, - "member_location": { - "line": 332, - "column": 20, - "start": 10253, - "end": 10258, - "length": 6, - "parent_index": 455 - }, - "expression": { - "id": 456, - "node_type": 16, - "src": { - "line": 332, - "column": 16, - "start": 10249, - "end": 10251, - "length": 3, - "parent_index": 455 - }, - "name": "msg", - "type_description": { - "type_identifier": "t_magic_message", - "type_string": "msg" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "member_name": "sender", - "argument_types": [], - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "start": 9273, + "end": 9279, + "length": 7, + "parent_index": 383 }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, "type_description": { "type_identifier": "t_address", "type_string": "address" } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, "type_description": { "type_identifier": "t_address", "type_string": "address" } }, { - "id": 457, - "node_type": 27, + "id": 385, + "node_type": 44, "src": { - "line": 333, + "line": 297, "column": 8, - "start": 10269, - "end": 10293, - "length": 25, - "parent_index": 445 + "start": 9300, + "end": 9313, + "length": 14, + "parent_index": 380 }, - "expression": { - "id": 458, - "node_type": 27, + "scope": 379, + "name": "amount", + "type_name": { + "id": 386, + "node_type": 30, "src": { - "line": 333, + "line": 297, "column": 8, - "start": 10269, - "end": 10292, - "length": 24, - "parent_index": 457 - }, - "operator": 11, - "left_expression": { - "id": 459, - "node_type": 16, - "src": { - "line": 333, - "column": 8, - "start": 10269, - "end": 10278, - "length": 10, - "parent_index": 458 - }, - "name": "tokenPrice", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 428, - "is_pure": false - }, - "right_expression": { - "id": 460, - "node_type": 16, - "src": { - "line": 333, - "column": 21, - "start": 10282, - "end": 10292, - "length": 11, - "parent_index": 458 - }, - "name": "_tokenPrice", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 460, - "is_pure": false + "start": 9300, + "end": 9306, + "length": 7, + "parent_index": 385 }, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 387, + "node_type": 43, + "src": { + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 379 + }, + "parameters": [ + { + "id": 388, + "node_type": 44, + "src": { + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 387 + }, + "scope": 379, + "name": "", + "type_name": { + "id": 389, + "node_type": 30, + "src": { + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 388 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } ] - } + }, + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", + "type_string": "function(address,address,uint256)" + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" }, { - "id": 462, - "name": "buyTokens", - "node_type": 42, - "kind": 41, + "id": 392, + "node_type": 57, "src": { - "line": 336, + "line": 306, "column": 4, - "start": 10306, - "end": 10518, - "length": 213, - "parent_index": 415 - }, - "name_location": { - "line": 336, - "column": 13, - "start": 10315, - "end": 10323, - "length": 9, - "parent_index": 462 + "start": 9514, + "end": 9585, + "length": 72, + "parent_index": 326 }, - "body": { - "id": 467, - "node_type": 46, - "kind": 0, + "parameters": { + "id": 393, + "node_type": 43, "src": { - "line": 336, - "column": 49, - "start": 10351, - "end": 10518, - "length": 168, - "parent_index": 462 + "line": 306, + "column": 4, + "start": 9514, + "end": 9585, + "length": 72, + "parent_index": 392 }, - "implemented": true, - "statements": [ + "parameters": [ { - "id": 468, + "id": 394, "node_type": 44, "src": { - "line": 337, - "column": 8, - "start": 10361, - "end": 10405, - "length": 45, - "parent_index": 467 + "line": 306, + "column": 19, + "start": 9529, + "end": 9548, + "length": 20, + "parent_index": 393 }, - "assignments": [ - 469 - ], - "declarations": [ - { - "id": 469, - "state_mutability": 1, - "name": "totalPrice", - "node_type": 44, - "scope": 467, - "src": { - "line": 337, - "column": 8, - "start": 10361, - "end": 10378, - "length": 18, - "parent_index": 468 - }, - "name_location": { - "line": 337, - "column": 16, - "start": 10369, - "end": 10378, - "length": 10, - "parent_index": 469 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 470, - "node_type": 30, - "src": { - "line": 337, - "column": 8, - "start": 10361, - "end": 10367, - "length": 7, - "parent_index": 469 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 471, - "node_type": 24, - "kind": 24, + "scope": 392, + "name": "from", + "type_name": { + "id": 395, + "node_type": 30, "src": { - "line": 337, - "column": 29, - "start": 10382, - "end": 10404, - "length": 23, - "parent_index": 468 - }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "arguments": [ - { - "id": 474, - "node_type": 16, - "src": { - "line": 337, - "column": 41, - "start": 10394, - "end": 10403, - "length": 10, - "parent_index": 471 - }, - "name": "tokenPrice", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - } - ], - "expression": { - "id": 472, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 337, - "column": 29, - "start": 10382, - "end": 10392, - "length": 11, - "parent_index": 471 - }, - "member_location": { - "line": 337, - "column": 37, - "start": 10390, - "end": 10392, - "length": 3, - "parent_index": 472 - }, - "expression": { - "id": 473, - "node_type": 16, - "src": { - "line": 337, - "column": 29, - "start": 10382, - "end": 10388, - "length": 7, - "parent_index": 472 - }, - "name": "_amount", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 473, - "is_pure": false - }, - "member_name": "mul", - "argument_types": [], - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 306, + "column": 19, + "start": 9529, + "end": 9535, + "length": 7, + "parent_index": 394 }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, "type_description": { - "type_identifier": "t_function_$_t_function_$", - "type_string": "function(function())" + "type_identifier": "t_address", + "type_string": "address" } - } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true }, { - "id": 475, - "node_type": 24, - "kind": 24, + "id": 396, + "node_type": 44, "src": { - "line": 338, - "column": 8, - "start": 10415, - "end": 10460, - "length": 46, - "parent_index": 467 + "line": 306, + "column": 41, + "start": 9551, + "end": 9568, + "length": 18, + "parent_index": 393 }, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" + "scope": 392, + "name": "to", + "type_name": { + "id": 397, + "node_type": 30, + "src": { + "line": 306, + "column": 41, + "start": 9551, + "end": 9557, + "length": 7, + "parent_index": 396 }, - { + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { "type_identifier": "t_address", "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 398, + "node_type": 44, + "src": { + "line": 306, + "column": 61, + "start": 9571, + "end": 9583, + "length": 13, + "parent_index": 393 + }, + "scope": 392, + "name": "value", + "type_name": { + "id": 399, + "node_type": 30, + "src": { + "line": 306, + "column": 61, + "start": 9571, + "end": 9577, + "length": 7, + "parent_index": 398 }, - { + "name": "uint256", + "referenced_declaration": 0, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - ], - "arguments": [ - { - "id": 478, - "node_type": 16, - "src": { - "line": 338, - "column": 27, - "start": 10434, - "end": 10438, - "length": 5, - "parent_index": 475 - }, - "name": "owner", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - { - "id": 479, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 338, - "column": 34, - "start": 10441, - "end": 10450, - "length": 10, - "parent_index": 475 - }, - "member_location": { - "line": 338, - "column": 38, - "start": 10445, - "end": 10450, - "length": 6, - "parent_index": 479 - }, - "expression": { - "id": 480, - "node_type": 16, - "src": { - "line": 338, - "column": 34, - "start": 10441, - "end": 10443, - "length": 3, - "parent_index": 479 - }, - "name": "msg", - "type_description": { - "type_identifier": "t_magic_message", - "type_string": "msg" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "member_name": "sender", - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - } - ], - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 481, - "node_type": 16, - "src": { - "line": 338, - "column": 46, - "start": 10453, - "end": 10459, - "length": 7, - "parent_index": 475 - }, - "name": "_amount", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 481, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - } - ], - "expression": { - "id": 476, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 338, - "column": 8, - "start": 10415, - "end": 10432, - "length": 18, - "parent_index": 475 - }, - "member_location": { - "line": 338, - "column": 14, - "start": 10421, - "end": 10432, - "length": 12, - "parent_index": 476 - }, - "expression": { - "id": 477, - "node_type": 16, - "src": { - "line": 338, - "column": 8, - "start": 10415, - "end": 10419, - "length": 5, - "parent_index": 476 - }, - "name": "token", - "type_description": { - "type_identifier": "t_contract$_IERC20_$31", - "type_string": "contract IERC20" - }, - "overloaded_declarations": [], - "referenced_declaration": 421, - "is_pure": false - }, - "member_name": "transferFrom", - "argument_types": [], - "type_description": { - "type_identifier": "t_contract$_IERC20_$31", - "type_string": "contract IERC20" - } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", - "type_string": "function(function(),address,uint256)" + "type_identifier": "t_uint256", + "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, { - "id": 482, - "node_type": 64, - "src": { - "line": 339, - "column": 8, - "start": 10471, - "end": 10512, - "length": 42, - "parent_index": 462 - }, - "arguments": [ - { - "id": 483, - "is_constant": false, - "is_l_value": false, - "is_pure": false, - "l_value_requested": false, - "node_type": 23, - "src": { - "line": 339, - "column": 29, - "start": 10492, - "end": 10501, - "length": 10, - "parent_index": 482 - }, - "member_location": { - "line": 339, - "column": 33, - "start": 10496, - "end": 10501, - "length": 6, - "parent_index": 483 - }, - "expression": { - "id": 484, - "node_type": 16, - "src": { - "line": 339, - "column": 29, - "start": 10492, - "end": 10494, - "length": 3, - "parent_index": 483 - }, - "name": "msg", - "type_description": { - "type_identifier": "t_magic_message", - "type_string": "msg" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": false - }, - "member_name": "sender", - "argument_types": [], - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 485, - "node_type": 16, - "src": { - "line": 339, - "column": 41, - "start": 10504, - "end": 10510, - "length": 7, - "parent_index": 482 - }, - "name": "_amount", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 485, - "is_pure": false - } - ], - "expression": { - "id": 486, - "node_type": 16, - "src": { - "line": 339, - "column": 13, - "start": 10476, - "end": 10490, - "length": 15, - "parent_index": 482 - }, - "name": "TokensPurchased", - "type_description": { - "type_identifier": "t_event\u0026_TokenSale_TokensPurchased_\u0026431", - "type_string": "event TokenSale.TokensPurchased" - }, - "overloaded_declarations": [], - "referenced_declaration": 431, - "is_pure": false - } + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, - "implemented": true, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], + "name": "Transfer", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026392", + "type_string": "event IERC20.Transfer" + } + }, + { + "id": 401, + "node_type": 57, + "src": { + "line": 312, + "column": 4, + "start": 9745, + "end": 9822, + "length": 78, + "parent_index": 326 + }, "parameters": { - "id": 463, + "id": 402, "node_type": 43, "src": { - "line": 336, - "column": 23, - "start": 10325, - "end": 10339, - "length": 15, - "parent_index": 462 + "line": 312, + "column": 4, + "start": 9745, + "end": 9822, + "length": 78, + "parent_index": 401 }, "parameters": [ { - "id": 464, + "id": 403, "node_type": 44, "src": { - "line": 336, - "column": 23, - "start": 10325, - "end": 10339, - "length": 15, - "parent_index": 463 + "line": 312, + "column": 19, + "start": 9760, + "end": 9780, + "length": 21, + "parent_index": 402 }, - "scope": 462, - "name": "_amount", + "scope": 401, + "name": "owner", "type_name": { - "id": 465, + "id": 404, "node_type": 30, "src": { - "line": 336, - "column": 23, - "start": 10325, - "end": 10331, + "line": 312, + "column": 19, + "start": 9760, + "end": 9766, "length": 7, - "parent_index": 464 + "parent_index": 403 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 405, + "node_type": 44, + "src": { + "line": 312, + "column": 42, + "start": 9783, + "end": 9805, + "length": 23, + "parent_index": 402 + }, + "scope": 401, + "name": "spender", + "type_name": { + "id": 406, + "node_type": 30, + "src": { + "line": 312, + "column": 42, + "start": 9783, + "end": 9789, + "length": 7, + "parent_index": 405 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 407, + "node_type": 44, + "src": { + "line": 312, + "column": 67, + "start": 9808, + "end": 9820, + "length": 13, + "parent_index": 402 + }, + "scope": 401, + "name": "value", + "type_name": { + "id": 408, + "node_type": 30, + "src": { + "line": 312, + "column": 67, + "start": 9808, + "end": 9814, + "length": 7, + "parent_index": 407 }, "name": "uint256", "referenced_declaration": 0, @@ -9364,1849 +7986,79 @@ } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "return_parameters": { - "id": 466, - "node_type": 43, - "src": { - "line": 336, - "column": 4, - "start": 10306, - "end": 10518, - "length": 213, - "parent_index": 462 - }, - "parameters": [], - "parameter_types": [] - }, - "signature_raw": "buyTokens(uint256)", - "signature": "3610724e", - "scope": 415, + "name": "Approval", + "anonymous": false, "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" + "type_identifier": "t_event\u0026_IERC20_Approval_\u0026401", + "type_string": "event IERC20.Approval" } } ], "linearized_base_contracts": [ - 415, - 413, - 414 + 326 ], "base_contracts": [], - "contract_dependencies": [ - 413, - 414 - ] + "contract_dependencies": [] } ], "src": { - "line": 321, + "line": 240, "column": 0, - "start": 9933, - "end": 10520, - "length": 588, + "start": 7229, + "end": 9824, + "length": 2596, "parent_index": 30 } - } - ], - "comments": [ - { - "id": 1, - "src": { - "line": 1, - "column": 0, - "start": 0, - "end": 30, - "length": 31, - "parent_index": 2 - }, - "node_type": 33, - "text": "// SPDX-License-Identifier: MIT" - }, - { - "id": 2, - "src": { - "line": 5, - "column": 0, - "start": 58, - "end": 127, - "length": 70, - "parent_index": 3 - }, - "node_type": 32, - "text": "/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */" - }, - { - "id": 3, - "src": { - "line": 9, - "column": 4, - "start": 152, - "end": 217, - "length": 66, - "parent_index": 4 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the amount of tokens in existence.\n */" - }, - { - "id": 4, - "src": { - "line": 14, - "column": 4, - "start": 284, - "end": 355, - "length": 72, - "parent_index": 5 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the amount of tokens owned by `account`.\n */" - }, - { - "id": 5, - "src": { - "line": 19, - "column": 4, - "start": 435, - "end": 643, - "length": 209, - "parent_index": 6 - }, - "node_type": 32, - "text": "/**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" - }, - { - "id": 6, - "src": { - "line": 28, - "column": 4, - "start": 732, - "end": 995, - "length": 264, - "parent_index": 7 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */" - }, - { - "id": 7, - "src": { - "line": 37, - "column": 4, - "start": 1090, - "end": 1731, - "length": 642, - "parent_index": 8 - }, - "node_type": 32, - "text": "/**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race condition\n * is to first reduce the spender's allowance to 0 and set the desired value\n * afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */" - }, - { - "id": 8, - "src": { - "line": 53, - "column": 4, - "start": 1817, - "end": 2112, - "length": 296, - "parent_index": 9 - }, - "node_type": 32, - "text": "/**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" - }, - { - "id": 9, - "src": { - "line": 68, - "column": 4, - "start": 2251, - "end": 2408, - "length": 158, - "parent_index": 10 - }, - "node_type": 32, - "text": "/**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */" - }, - { - "id": 10, - "src": { - "line": 76, - "column": 4, - "start": 2492, - "end": 2639, - "length": 148, - "parent_index": 11 - }, - "node_type": 32, - "text": "/**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */" - }, - { - "id": 11, - "src": { - "line": 83, - "column": 0, - "start": 2727, - "end": 2757, - "length": 31, - "parent_index": 12 - }, - "node_type": 33, - "text": "// SPDX-License-Identifier: MIT" - }, - { - "id": 12, - "src": { - "line": 87, - "column": 0, - "start": 2785, - "end": 3347, - "length": 563, - "parent_index": 13 - }, - "node_type": 32, - "text": "/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */" - }, - { - "id": 13, - "src": { - "line": 101, - "column": 4, - "start": 3372, - "end": 3502, - "length": 131, - "parent_index": 14 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" }, { - "id": 14, - "src": { - "line": 114, - "column": 4, - "start": 3730, - "end": 3864, - "length": 135, - "parent_index": 15 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" - }, - { - "id": 15, - "src": { - "line": 126, - "column": 4, - "start": 4065, - "end": 4201, - "length": 137, - "parent_index": 16 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" - }, - { - "id": 16, - "src": { - "line": 133, - "column": 12, - "start": 4317, - "end": 4395, - "length": 79, - "parent_index": 17 - }, - "node_type": 31, - "text": "// Gas optimization: this is cheaper than requiring 'a' not being zero, but the" - }, - { - "id": 17, - "src": { - "line": 134, - "column": 12, - "start": 4409, - "end": 4449, - "length": 41, - "parent_index": 18 - }, - "node_type": 31, - "text": "// benefit is lost if 'b' is also tested." - }, - { - "id": 18, - "src": { - "line": 135, - "column": 12, - "start": 4463, - "end": 4533, - "length": 71, - "parent_index": 19 - }, - "node_type": 31, - "text": "// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522" - }, - { - "id": 19, - "src": { - "line": 143, - "column": 4, - "start": 4706, - "end": 4843, - "length": 138, - "parent_index": 20 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" - }, - { - "id": 20, - "src": { - "line": 155, - "column": 4, - "start": 5045, - "end": 5192, - "length": 148, - "parent_index": 21 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" - }, - { - "id": 21, - "src": { - "line": 167, - "column": 4, - "start": 5394, - "end": 5617, - "length": 224, - "parent_index": 22 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */" - }, - { - "id": 22, - "src": { - "line": 181, - "column": 4, - "start": 5725, - "end": 5984, - "length": 260, - "parent_index": 23 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" - }, - { - "id": 23, - "src": { - "line": 195, - "column": 4, - "start": 6092, - "end": 6327, - "length": 236, - "parent_index": 24 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */" - }, - { - "id": 24, - "src": { - "line": 209, - "column": 4, - "start": 6435, - "end": 6887, - "length": 453, - "parent_index": 25 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" - }, - { - "id": 25, - "src": { - "line": 225, - "column": 4, - "start": 6995, - "end": 7436, - "length": 442, - "parent_index": 26 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" - }, - { - "id": 26, - "src": { - "line": 241, - "column": 4, - "start": 7544, - "end": 7996, - "length": 453, - "parent_index": 27 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" - }, - { - "id": 27, - "src": { - "line": 265, - "column": 4, - "start": 8239, - "end": 8711, - "length": 473, - "parent_index": 28 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" - }, - { - "id": 28, - "src": { - "line": 288, - "column": 4, - "start": 8953, - "end": 9587, - "length": 635, - "parent_index": 29 - }, - "node_type": 32, - "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" - }, - { - "id": 29, - "src": { - "line": 315, - "column": 0, - "start": 9827, - "end": 9857, - "length": 31, - "parent_index": 30 - }, - "node_type": 33, - "text": "// SPDX-License-Identifier: MIT" - } - ] - }, - "node_type": 80, - "entry_contract_id": 415, - "entry_contract_name": "TokenSale", - "contracts_count": 3, - "contract_types": [ - "token" - ], - "standards": [ - { - "contract_id": 415, - "contract_name": "TokenSale", - "confidences": { - "confidence": 0, - "confidence_points": 0.0782608695652174, - "threshold": 0, - "maximum_tokens": 115, - "discovered_tokens": 9, - "standard": "EIP1155", - "contract": { - "name": "TokenSale", - "functions": [ - { - "name": "safeTransferFrom", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - }, - { - "type": "bytes", - "indexed": false, - "matched": false - } - ], - "outputs": [], - "matched": false - }, - { - "name": "safeBatchTransferFrom", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - }, - { - "type": "bytes", - "indexed": false, - "matched": false - } - ], - "outputs": [], - "matched": false - }, - { - "name": "balanceOf", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [ - { - "type": "uint256", - "matched": true - } - ], - "matched": true - }, - { - "name": "balanceOfBatch", - "inputs": [ - { - "type": "address[]", - "indexed": false, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "uint256[]", - "matched": false - } - ], - "matched": false - }, - { - "name": "setApprovalForAll", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "bool", - "indexed": false, - "matched": false - } - ], - "outputs": [], - "matched": false - }, - { - "name": "isApprovedForAll", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "bool", - "matched": false - } - ], - "matched": false - } - ], - "events": [ - { - "name": "TransferSingle", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": [], - "matched": false - }, - { - "name": "TransferBatch", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address[]", - "indexed": true, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - } - ], - "outputs": [], - "matched": false - }, - { - "name": "ApprovalForAll", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "bool", - "indexed": false, - "matched": false - } - ], - "outputs": [], - "matched": false - }, - { - "name": "URI", - "inputs": [ - { - "type": "string", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": true, - "matched": false - } - ], - "outputs": [], - "matched": false - } - ] - } - }, - "standards": { - "name": "ERC-1155 Multi Token Standard", - "url": "https://eips.ethereum.org/EIPS/eip-1155", - "type": "EIP1155", - "stagnant": false, - "abi": "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - "functions": [ - { - "name": "safeTransferFrom", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - }, - { - "type": "bytes", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "safeBatchTransferFrom", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - }, - { - "type": "bytes", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "balanceOf", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "uint256", - "matched": false - } - ], - "matched": false - }, - { - "name": "balanceOfBatch", - "inputs": [ - { - "type": "address[]", - "indexed": false, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "uint256[]", - "matched": false - } - ], - "matched": false - }, - { - "name": "setApprovalForAll", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "bool", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "isApprovedForAll", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "bool", - "matched": false - } - ], - "matched": false - } - ], - "events": [ - { - "name": "TransferSingle", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "TransferBatch", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address[]", - "indexed": true, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - }, - { - "type": "uint256[]", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "ApprovalForAll", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "bool", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "URI", - "inputs": [ - { - "type": "string", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": true, - "matched": false - } - ], - "outputs": null, - "matched": false - } - ] - } - }, - { - "contract_id": 415, - "contract_name": "TokenSale", - "confidences": { - "confidence": 3, - "confidence_points": 1, - "threshold": 0.9, - "maximum_tokens": 68, - "discovered_tokens": 68, - "standard": "EIP20", - "contract": { - "name": "TokenSale", - "functions": [ - { - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "type": "uint256", - "matched": true - } - ], - "matched": true - }, - { - "name": "balanceOf", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": true - } - ], - "outputs": [ - { - "type": "uint256", - "matched": true - } - ], - "matched": true - }, - { - "name": "transfer", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [ - { - "type": "bool", - "matched": true - } - ], - "matched": true - }, - { - "name": "transferFrom", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": true - }, - { - "type": "address", - "indexed": false, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [ - { - "type": "bool", - "matched": true - } - ], - "matched": true - }, - { - "name": "approve", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [ - { - "type": "bool", - "matched": true - } - ], - "matched": true - }, - { - "name": "allowance", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": true - }, - { - "type": "address", - "indexed": false, - "matched": true - } - ], - "outputs": [ - { - "type": "uint256", - "matched": true - } - ], - "matched": true - } - ], - "events": [ - { - "name": "Transfer", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": true - }, - { - "type": "address", - "indexed": true, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [], - "matched": true - }, - { - "name": "Approval", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": true - }, - { - "type": "address", - "indexed": true, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [], - "matched": true - } - ] - } - }, - "standards": { - "name": "ERC-20 Token Standard", - "url": "https://eips.ethereum.org/EIPS/eip-20", - "type": "EIP20", - "stagnant": false, - "abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", - "functions": [ - { - "name": "totalSupply", - "inputs": null, - "outputs": [ - { - "type": "uint256", - "matched": false - } - ], - "matched": false - }, - { - "name": "balanceOf", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "uint256", - "matched": false - } - ], - "matched": false - }, - { - "name": "transfer", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "bool", - "matched": false - } - ], - "matched": false - }, - { - "name": "transferFrom", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "bool", - "matched": false - } - ], - "matched": false - }, - { - "name": "approve", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "bool", - "matched": false - } - ], - "matched": false - }, - { - "name": "allowance", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "uint256", - "matched": false - } - ], - "matched": false - } - ], - "events": [ - { - "name": "Transfer", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "Approval", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - } - ] - } - }, - { - "contract_id": 415, - "contract_name": "TokenSale", - "confidences": { - "confidence": 2, - "confidence_points": 0.5111111111111111, - "threshold": 0.5, - "maximum_tokens": 90, - "discovered_tokens": 46, - "standard": "EIP721", - "contract": { - "name": "TokenSale", - "functions": [ - { - "name": "name", - "inputs": [], - "outputs": [ - { - "type": "string", - "matched": false - } - ], - "matched": false - }, - { - "name": "symbol", - "inputs": [], - "outputs": [ - { - "type": "string", - "matched": false - } - ], - "matched": false - }, - { - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "type": "uint256", - "matched": true - } - ], - "matched": true - }, - { - "name": "balanceOf", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": true - } - ], - "outputs": [ - { - "type": "uint256", - "matched": true - } - ], - "matched": true - }, - { - "name": "ownerOf", - "inputs": [ - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "address", - "matched": false - } - ], - "matched": false - }, - { - "name": "transferFrom", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": true - }, - { - "type": "address", - "indexed": false, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [], - "matched": true - }, - { - "name": "approve", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [], - "matched": true - }, - { - "name": "setApprovalForAll", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "bool", - "indexed": false, - "matched": false - } - ], - "outputs": [], - "matched": false - }, - { - "name": "getApproved", - "inputs": [ - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "address", - "matched": false - } - ], - "matched": false - }, - { - "name": "isApprovedForAll", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "bool", - "matched": false - } - ], - "matched": false - } - ], - "events": [ - { - "name": "Transfer", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": true - }, - { - "type": "address", - "indexed": true, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [], - "matched": true - }, - { - "name": "Approval", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": true - }, - { - "type": "address", - "indexed": true, - "matched": true - }, - { - "type": "uint256", - "indexed": false, - "matched": true - } - ], - "outputs": [], - "matched": true - }, - { - "name": "ApprovalForAll", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "bool", - "indexed": false, - "matched": false - } - ], - "outputs": [], - "matched": false - } - ] - } - }, - "standards": { - "name": "EIP-721 Non-Fungible Token Standard", - "url": "https://eips.ethereum.org/EIPS/eip-721", - "type": "EIP721", - "stagnant": false, - "abi": "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - "functions": [ - { - "name": "name", - "inputs": null, - "outputs": [ - { - "type": "string", - "matched": false - } - ], - "matched": false - }, - { - "name": "symbol", - "inputs": null, - "outputs": [ - { - "type": "string", - "matched": false - } - ], - "matched": false - }, - { - "name": "totalSupply", - "inputs": null, - "outputs": [ - { - "type": "uint256", - "matched": false - } - ], - "matched": false - }, - { - "name": "balanceOf", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "uint256", - "matched": false - } - ], - "matched": false - }, - { - "name": "ownerOf", - "inputs": [ - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "address", - "matched": false - } - ], - "matched": false - }, - { - "name": "transferFrom", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "approve", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "setApprovalForAll", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "bool", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "getApproved", - "inputs": [ - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "address", - "matched": false - } - ], - "matched": false - }, - { - "name": "isApprovedForAll", - "inputs": [ - { - "type": "address", - "indexed": false, - "matched": false - }, - { - "type": "address", - "indexed": false, - "matched": false - } - ], - "outputs": [ - { - "type": "bool", - "matched": false - } - ], - "matched": false - } - ], - "events": [ - { - "name": "Transfer", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "Approval", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "uint256", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - }, - { - "name": "ApprovalForAll", - "inputs": [ - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "address", - "indexed": true, - "matched": false - }, - { - "type": "bool", - "indexed": false, - "matched": false - } - ], - "outputs": null, - "matched": false - } - ] - } - } - ], - "contracts": [ - { - "ast": { - "id": 31, + "id": 409, "base_contracts": [], "license": "MIT", "exported_symbols": [ + { + "id": 409, + "name": "TokenSale", + "absolute_path": "TokenSale.sol" + }, { "id": 31, + "name": "SafeMath", + "absolute_path": "SafeMath.sol" + }, + { + "id": 321, "name": "IERC20", "absolute_path": "IERC20.sol" } ], - "absolute_path": "IERC20.sol", - "name": "IERC20", + "absolute_path": "TokenSale.sol", + "name": "TokenSale", "node_type": 1, "nodes": [ { - "id": 32, + "id": 412, "node_type": 10, "src": { - "line": 3, + "line": 316, "column": 0, - "start": 33, - "end": 55, + "start": 9859, + "end": 9881, "length": 23, - "parent_index": 31 + "parent_index": 409 }, "literals": [ "pragma", @@ -11222,165 +8074,349 @@ "text": "pragma solidity ^0.8.0;" }, { - "id": 35, - "name": "IERC20", + "id": 413, + "node_type": 29, + "src": { + "line": 318, + "column": 0, + "start": 9884, + "end": 9905, + "length": 22, + "parent_index": 409 + }, + "absolute_path": "IERC20.sol", + "file": "./IERC20.sol", + "scope": 409, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 321 + }, + { + "id": 414, + "node_type": 29, + "src": { + "line": 319, + "column": 0, + "start": 9907, + "end": 9930, + "length": 24, + "parent_index": 409 + }, + "absolute_path": "SafeMath.sol", + "file": "./SafeMath.sol", + "scope": 409, + "unit_alias": "", + "as": "", + "unit_aliases": [], + "source_unit": 321 + }, + { + "id": 415, + "name": "TokenSale", "node_type": 35, "src": { - "line": 8, + "line": 321, "column": 0, - "start": 129, - "end": 2724, - "length": 2596, - "parent_index": 31 + "start": 9933, + "end": 10520, + "length": 588, + "parent_index": 409 }, "name_location": { - "line": 8, - "column": 10, - "start": 139, - "end": 144, - "length": 6, - "parent_index": 35 + "line": 321, + "column": 9, + "start": 9942, + "end": 9950, + "length": 9, + "parent_index": 415 }, "abstract": false, - "kind": 38, + "kind": 36, "fully_implemented": true, "nodes": [ { - "id": 37, - "name": "totalSupply", - "node_type": 42, - "kind": 41, + "id": 417, + "node_type": 51, + "src": { + "line": 322, + "column": 0, + "start": 9958, + "end": 9984, + "length": 27, + "parent_index": 415 + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "type_name": { + "id": 419, + "node_type": 30, + "src": { + "line": 322, + "column": 23, + "start": 9977, + "end": 9983, + "length": 7, + "parent_index": 417 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "library_name": { + "id": 418, + "node_type": 52, + "src": { + "line": 322, + "column": 0, + "start": 9964, + "end": 9971, + "length": 8, + "parent_index": 417 + }, + "name": "SafeMath", + "referenced_declaration": 31 + } + }, + { + "id": 421, + "name": "token", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, "src": { - "line": 12, + "line": 324, "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 35 + "start": 9991, + "end": 10011, + "length": 21, + "parent_index": 415 + }, + "scope": 415, + "type_description": { + "type_identifier": "t_contract$_IERC20_$321", + "type_string": "contract IERC20" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 422, + "node_type": 69, + "src": { + "line": 324, + "column": 4, + "start": 9991, + "end": 9996, + "length": 6, + "parent_index": 421 + }, + "path_node": { + "id": 423, + "name": "IERC20", + "node_type": 52, + "referenced_declaration": 321, + "src": { + "line": 324, + "column": 4, + "start": 9991, + "end": 9996, + "length": 6, + "parent_index": 422 + }, + "name_location": { + "line": 324, + "column": 4, + "start": 9991, + "end": 9996, + "length": 6, + "parent_index": 422 + } + }, + "referenced_declaration": 321, + "type_description": { + "type_identifier": "t_contract$_IERC20_$321", + "type_string": "contract IERC20" + } + }, + "initial_value": null + }, + { + "id": 425, + "name": "owner", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 325, + "column": 4, + "start": 10017, + "end": 10038, + "length": 22, + "parent_index": 415 + }, + "scope": 415, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 426, + "node_type": 30, + "src": { + "line": 325, + "column": 4, + "start": 10017, + "end": 10023, + "length": 7, + "parent_index": 425 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "initial_value": null + }, + { + "id": 428, + "name": "tokenPrice", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 326, + "column": 4, + "start": 10044, + "end": 10070, + "length": 27, + "parent_index": 415 }, - "name_location": { - "line": 12, - "column": 13, - "start": 232, - "end": 242, - "length": 11, - "parent_index": 37 + "scope": 415, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 44, - "node_type": 46, - "kind": 0, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 429, + "node_type": 30, "src": { - "line": 12, + "line": 326, "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 37 + "start": 10044, + "end": 10050, + "length": 7, + "parent_index": 428 }, - "implemented": false, - "statements": [] + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + { + "id": 431, + "node_type": 57, + "src": { + "line": 328, + "column": 4, + "start": 10077, + "end": 10129, + "length": 53, + "parent_index": 415 }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], "parameters": { - "id": 38, + "id": 432, "node_type": 43, "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 37 + "line": 328, + "column": 4, + "start": 10077, + "end": 10129, + "length": 53, + "parent_index": 431 }, "parameters": [ { - "id": 39, + "id": 433, "node_type": 44, "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 38 + "line": 328, + "column": 26, + "start": 10099, + "end": 10111, + "length": 13, + "parent_index": 432 }, - "scope": 37, - "name": "", + "scope": 431, + "name": "buyer", "type_name": { - "id": 40, + "id": 434, "node_type": 30, "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, + "line": 328, + "column": 26, + "start": 10099, + "end": 10105, "length": 7, - "parent_index": 39 + "parent_index": 433 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 41, - "node_type": 43, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 37 - }, - "parameters": [ + }, { - "id": 42, + "id": 435, "node_type": 44, "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 41 + "line": 328, + "column": 41, + "start": 10114, + "end": 10127, + "length": 14, + "parent_index": 432 }, - "scope": 37, - "name": "", + "scope": 431, + "name": "amount", "type_name": { - "id": 43, + "id": 436, "node_type": 30, "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, + "line": 328, + "column": 41, + "start": 10114, + "end": 10120, "length": 7, - "parent_index": 42 + "parent_index": 435 }, "name": "uint256", "referenced_declaration": 0, @@ -11399,112 +8435,128 @@ } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "totalSupply(uint256)", - "signature": "bd85b039", - "scope": 35, + "name": "TokensPurchased", + "anonymous": false, "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" + "type_identifier": "t_event\u0026_TokenSale_TokensPurchased_\u0026431", + "type_string": "event TokenSale.TokensPurchased" } }, { - "id": 46, - "name": "balanceOf", + "id": 438, "node_type": 42, - "kind": 41, "src": { - "line": 17, + "line": 330, "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 35 - }, - "name_location": { - "line": 17, - "column": 13, - "start": 370, - "end": 378, - "length": 9, - "parent_index": 46 - }, - "body": { - "id": 53, - "node_type": 46, - "kind": 0, - "src": { - "line": 17, - "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 46 - }, - "implemented": false, - "statements": [] + "start": 10136, + "end": 10299, + "length": 164, + "parent_index": 415 }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, + "kind": 11, + "state_mutability": 4, + "visibility": 1, + "implemented": true, "modifiers": [], - "overrides": [], "parameters": { - "id": 47, + "id": 439, "node_type": 43, "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 394, - "length": 15, - "parent_index": 46 + "line": 330, + "column": 16, + "start": 10148, + "end": 10189, + "length": 42, + "parent_index": 438 }, "parameters": [ { - "id": 48, + "id": 440, "node_type": 44, "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 394, - "length": 15, - "parent_index": 47 + "line": 330, + "column": 16, + "start": 10148, + "end": 10168, + "length": 21, + "parent_index": 439 }, - "scope": 46, - "name": "account", + "scope": 438, + "name": "_tokenAddress", "type_name": { - "id": 49, + "id": 441, "node_type": 30, "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 386, + "line": 330, + "column": 16, + "start": 10148, + "end": 10154, "length": 7, - "parent_index": 48 + "parent_index": 440 }, "name": "address", "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 442, + "node_type": 44, + "src": { + "line": 330, + "column": 39, + "start": 10171, + "end": 10189, + "length": 19, + "parent_index": 439 + }, + "scope": 438, + "name": "_tokenPrice", + "type_name": { + "id": 443, + "node_type": 30, + "src": { + "line": 330, + "column": 39, + "start": 10171, + "end": 10177, + "length": 7, + "parent_index": 442 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 4, + "state_mutability": 1, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], @@ -11512,469 +8564,889 @@ { "type_identifier": "t_address", "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, "return_parameters": { - "id": 50, + "id": 444, "node_type": 43, "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 46 + "line": 330, + "column": 4, + "start": 10136, + "end": 10299, + "length": 164, + "parent_index": 438 }, - "parameters": [ + "parameters": [], + "parameter_types": [] + }, + "scope": 415, + "body": { + "id": 445, + "node_type": 46, + "kind": 0, + "src": { + "line": 330, + "column": 60, + "start": 10192, + "end": 10299, + "length": 108, + "parent_index": 438 + }, + "implemented": true, + "statements": [ + { + "id": 446, + "node_type": 27, + "src": { + "line": 331, + "column": 8, + "start": 10202, + "end": 10231, + "length": 30, + "parent_index": 445 + }, + "expression": { + "id": 447, + "node_type": 27, + "src": { + "line": 331, + "column": 8, + "start": 10202, + "end": 10230, + "length": 29, + "parent_index": 446 + }, + "operator": 11, + "left_expression": { + "id": 448, + "node_type": 16, + "src": { + "line": 331, + "column": 8, + "start": 10202, + "end": 10206, + "length": 5, + "parent_index": 447 + }, + "name": "token", + "type_description": { + "type_identifier": "t_contract$_IERC20_$321", + "type_string": "contract IERC20" + }, + "overloaded_declarations": [], + "referenced_declaration": 421, + "is_pure": false, + "text": "token" + }, + "right_expression": { + "id": 449, + "node_type": 24, + "kind": 24, + "src": { + "line": 331, + "column": 16, + "start": 10210, + "end": 10230, + "length": 21, + "parent_index": 447 + }, + "argument_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "arguments": [ + { + "id": 451, + "node_type": 16, + "src": { + "line": 331, + "column": 23, + "start": 10217, + "end": 10229, + "length": 13, + "parent_index": 449 + }, + "name": "_tokenAddress", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 451, + "is_pure": false, + "text": "_tokenAddress" + } + ], + "expression": { + "id": 450, + "node_type": 16, + "src": { + "line": 331, + "column": 16, + "start": 10210, + "end": 10215, + "length": 6, + "parent_index": 449 + }, + "name": "IERC20", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "IERC20" + }, + "type_description": { + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + } + }, + "type_description": { + "type_identifier": "t_contract$_IERC20_$321", + "type_string": "contract IERC20" + } + }, + "type_description": { + "type_identifier": "t_contract$_IERC20_$321", + "type_string": "contract IERC20" + }, + "text": "token=IERC20(_tokenAddress);" + }, + { + "id": 452, + "node_type": 27, + "src": { + "line": 332, + "column": 8, + "start": 10241, + "end": 10259, + "length": 19, + "parent_index": 445 + }, + "expression": { + "id": 453, + "node_type": 27, + "src": { + "line": 332, + "column": 8, + "start": 10241, + "end": 10258, + "length": 18, + "parent_index": 452 + }, + "operator": 11, + "left_expression": { + "id": 454, + "node_type": 16, + "src": { + "line": 332, + "column": 8, + "start": 10241, + "end": 10245, + "length": 5, + "parent_index": 453 + }, + "name": "owner", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "overloaded_declarations": [], + "referenced_declaration": 425, + "is_pure": false, + "text": "owner" + }, + "right_expression": { + "id": 455, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 332, + "column": 16, + "start": 10249, + "end": 10258, + "length": 10, + "parent_index": 453 + }, + "member_location": { + "line": 332, + "column": 20, + "start": 10253, + "end": 10258, + "length": 6, + "parent_index": 455 + }, + "expression": { + "id": 456, + "node_type": 16, + "src": { + "line": 332, + "column": 16, + "start": 10249, + "end": 10251, + "length": 3, + "parent_index": 455 + }, + "name": "msg", + "type_description": { + "type_identifier": "t_magic_message", + "type_string": "msg" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "msg" + }, + "member_name": "sender", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "msg.sender" + }, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "owner=msg.sender;" + }, { - "id": 51, - "node_type": 44, + "id": 457, + "node_type": 27, "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 50 + "line": 333, + "column": 8, + "start": 10269, + "end": 10293, + "length": 25, + "parent_index": 445 }, - "scope": 46, - "name": "", - "type_name": { - "id": 52, - "node_type": 30, + "expression": { + "id": 458, + "node_type": 27, "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 51 + "line": 333, + "column": 8, + "start": 10269, + "end": 10292, + "length": 24, + "parent_index": 457 + }, + "operator": 11, + "left_expression": { + "id": 459, + "node_type": 16, + "src": { + "line": 333, + "column": 8, + "start": 10269, + "end": 10278, + "length": 10, + "parent_index": 458 + }, + "name": "tokenPrice", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 428, + "is_pure": false, + "text": "tokenPrice" + }, + "right_expression": { + "id": 460, + "node_type": 16, + "src": { + "line": 333, + "column": 21, + "start": 10282, + "end": 10292, + "length": 11, + "parent_index": 458 + }, + "name": "_tokenPrice", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 460, + "is_pure": false, + "text": "_tokenPrice" }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" + }, + "text": "tokenPrice=_tokenPrice;" } ] - }, - "signature_raw": "balanceOf(address)", - "signature": "70a08231", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" } }, { - "id": 55, - "name": "transfer", + "id": 462, + "name": "buyTokens", "node_type": 42, "kind": 41, "src": { - "line": 26, + "line": 336, "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 35 + "start": 10306, + "end": 10518, + "length": 213, + "parent_index": 415 }, "name_location": { - "line": 26, + "line": 336, "column": 13, - "start": 658, - "end": 665, - "length": 8, - "parent_index": 55 + "start": 10315, + "end": 10323, + "length": 9, + "parent_index": 462 }, "body": { - "id": 64, + "id": 467, "node_type": 46, "kind": 0, "src": { - "line": 26, - "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 55 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 56, - "node_type": 43, - "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 699, - "length": 33, - "parent_index": 55 + "line": 336, + "column": 49, + "start": 10351, + "end": 10518, + "length": 168, + "parent_index": 462 }, - "parameters": [ + "implemented": true, + "statements": [ { - "id": 57, + "id": 468, "node_type": 44, "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 683, - "length": 17, - "parent_index": 56 + "line": 337, + "column": 8, + "start": 10361, + "end": 10405, + "length": 45, + "parent_index": 467 }, - "scope": 55, - "name": "recipient", - "type_name": { - "id": 58, - "node_type": 30, + "assignments": [ + 469 + ], + "declarations": [ + { + "id": 469, + "state_mutability": 1, + "name": "totalPrice", + "node_type": 44, + "scope": 467, + "src": { + "line": 337, + "column": 8, + "start": 10361, + "end": 10378, + "length": 18, + "parent_index": 468 + }, + "name_location": { + "line": 337, + "column": 16, + "start": 10369, + "end": 10378, + "length": 10, + "parent_index": 469 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 470, + "node_type": 30, + "src": { + "line": 337, + "column": 8, + "start": 10361, + "end": 10367, + "length": 7, + "parent_index": 469 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 471, + "node_type": 24, + "kind": 24, "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 673, - "length": 7, - "parent_index": 57 + "line": 337, + "column": 29, + "start": 10382, + "end": 10404, + "length": 23, + "parent_index": 468 + }, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "arguments": [ + { + "id": 474, + "node_type": 16, + "src": { + "line": 337, + "column": 41, + "start": 10394, + "end": 10403, + "length": 10, + "parent_index": 471 + }, + "name": "tokenPrice", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "tokenPrice" + } + ], + "expression": { + "id": 472, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 337, + "column": 29, + "start": 10382, + "end": 10392, + "length": 11, + "parent_index": 471 + }, + "member_location": { + "line": 337, + "column": 37, + "start": 10390, + "end": 10392, + "length": 3, + "parent_index": 472 + }, + "expression": { + "id": 473, + "node_type": 16, + "src": { + "line": 337, + "column": 29, + "start": 10382, + "end": 10388, + "length": 7, + "parent_index": 472 + }, + "name": "_amount", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 473, + "is_pure": false, + "text": "_amount" + }, + "member_name": "mul", + "argument_types": [], + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "text": "_amount.mul" }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_function_$_t_function_$", + "type_string": "function(function())" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" } }, { - "id": 59, - "node_type": 44, + "id": 475, + "node_type": 24, + "kind": 24, "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 699, - "length": 14, - "parent_index": 56 + "line": 338, + "column": 8, + "start": 10415, + "end": 10460, + "length": 46, + "parent_index": 467 }, - "scope": 55, - "name": "amount", - "type_name": { - "id": 60, - "node_type": 30, - "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 692, - "length": 7, - "parent_index": 59 + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + { + "type_identifier": "t_address", + "type_string": "address" + }, + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 61, - "node_type": 43, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 55 - }, - "parameters": [ - { - "id": 62, - "node_type": 44, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 61 - }, - "scope": 55, - "name": "", - "type_name": { - "id": 63, - "node_type": 30, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 62 + ], + "arguments": [ + { + "id": 478, + "node_type": 16, + "src": { + "line": 338, + "column": 27, + "start": 10434, + "end": 10438, + "length": 5, + "parent_index": 475 + }, + "name": "owner", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "owner" }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } - }, - { - "id": 66, - "name": "allowance", - "node_type": 42, - "kind": 41, - "src": { - "line": 35, - "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 35 - }, - "name_location": { - "line": 35, - "column": 13, - "start": 1010, - "end": 1018, - "length": 9, - "parent_index": 66 - }, - "body": { - "id": 75, - "node_type": 46, - "kind": 0, - "src": { - "line": 35, - "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 66 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 67, - "node_type": 43, - "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1049, - "length": 30, - "parent_index": 66 - }, - "parameters": [ - { - "id": 68, - "node_type": 44, - "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1032, - "length": 13, - "parent_index": 67 - }, - "scope": 66, - "name": "owner", - "type_name": { - "id": 69, - "node_type": 30, + { + "id": 479, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 338, + "column": 34, + "start": 10441, + "end": 10450, + "length": 10, + "parent_index": 475 + }, + "member_location": { + "line": 338, + "column": 38, + "start": 10445, + "end": 10450, + "length": 6, + "parent_index": 479 + }, + "expression": { + "id": 480, + "node_type": 16, + "src": { + "line": 338, + "column": 34, + "start": 10441, + "end": 10443, + "length": 3, + "parent_index": 479 + }, + "name": "msg", + "type_description": { + "type_identifier": "t_magic_message", + "type_string": "msg" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "msg" + }, + "member_name": "sender", + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + } + ], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "msg.sender" + }, + { + "id": 481, + "node_type": 16, + "src": { + "line": 338, + "column": 46, + "start": 10453, + "end": 10459, + "length": 7, + "parent_index": 475 + }, + "name": "_amount", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 481, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ], + "text": "_amount" + } + ], + "expression": { + "id": 476, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1026, - "length": 7, - "parent_index": 68 + "line": 338, + "column": 8, + "start": 10415, + "end": 10432, + "length": 18, + "parent_index": 475 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, + "member_location": { + "line": 338, + "column": 14, + "start": 10421, + "end": 10432, + "length": 12, + "parent_index": 476 + }, + "expression": { + "id": 477, + "node_type": 16, + "src": { + "line": 338, + "column": 8, + "start": 10415, + "end": 10419, + "length": 5, + "parent_index": 476 + }, + "name": "token", + "type_description": { + "type_identifier": "t_contract$_IERC20_$321", + "type_string": "contract IERC20" + }, + "overloaded_declarations": [], + "referenced_declaration": 421, + "is_pure": false, + "text": "token" + }, + "member_name": "transferFrom", + "argument_types": [], "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "type_identifier": "t_contract$_IERC20_$321", + "type_string": "contract IERC20" + }, + "text": "token.transferFrom" }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", + "type_string": "function(function(),address,uint256)" } }, { - "id": 70, - "node_type": 44, + "id": 482, + "node_type": 64, "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1049, - "length": 15, - "parent_index": 67 + "line": 339, + "column": 8, + "start": 10471, + "end": 10512, + "length": 42, + "parent_index": 462 }, - "scope": 66, - "name": "spender", - "type_name": { - "id": 71, - "node_type": 30, + "arguments": [ + { + "id": 483, + "is_constant": false, + "is_l_value": false, + "is_pure": false, + "l_value_requested": false, + "node_type": 23, + "src": { + "line": 339, + "column": 29, + "start": 10492, + "end": 10501, + "length": 10, + "parent_index": 482 + }, + "member_location": { + "line": 339, + "column": 33, + "start": 10496, + "end": 10501, + "length": 6, + "parent_index": 483 + }, + "expression": { + "id": 484, + "node_type": 16, + "src": { + "line": 339, + "column": 29, + "start": 10492, + "end": 10494, + "length": 3, + "parent_index": 483 + }, + "name": "msg", + "type_description": { + "type_identifier": "t_magic_message", + "type_string": "msg" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": false, + "text": "msg" + }, + "member_name": "sender", + "argument_types": [], + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "text": "msg.sender" + }, + { + "id": 485, + "node_type": 16, + "src": { + "line": 339, + "column": 41, + "start": 10504, + "end": 10510, + "length": 7, + "parent_index": 482 + }, + "name": "_amount", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 485, + "is_pure": false, + "text": "_amount" + } + ], + "expression": { + "id": 486, + "node_type": 16, "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1041, - "length": 7, - "parent_index": 70 + "line": 339, + "column": 13, + "start": 10476, + "end": 10490, + "length": 15, + "parent_index": 482 }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, + "name": "TokensPurchased", "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_event\u0026_TokenSale_TokensPurchased_\u0026431", + "type_string": "event TokenSale.TokensPurchased" + }, + "overloaded_declarations": [], + "referenced_declaration": 431, + "is_pure": false, + "text": "TokensPurchased" } } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - } ] }, - "return_parameters": { - "id": 72, + "implemented": true, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 463, "node_type": 43, "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 66 + "line": 336, + "column": 23, + "start": 10325, + "end": 10339, + "length": 15, + "parent_index": 462 }, "parameters": [ { - "id": 73, + "id": 464, "node_type": 44, "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 72 + "line": 336, + "column": 23, + "start": 10325, + "end": 10339, + "length": 15, + "parent_index": 463 }, - "scope": 66, - "name": "", + "scope": 462, + "name": "_amount", "type_name": { - "id": 74, + "id": 465, "node_type": 30, "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, + "line": 336, + "column": 23, + "start": 10325, + "end": 10331, "length": 7, - "parent_index": 73 + "parent_index": 464 }, "name": "uint256", "referenced_declaration": 0, @@ -11999,4365 +9471,4715 @@ } ] }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", - "scope": 35, + "return_parameters": { + "id": 466, + "node_type": 43, + "src": { + "line": 336, + "column": 4, + "start": 10306, + "end": 10518, + "length": 213, + "parent_index": 462 + }, + "parameters": [], + "parameter_types": [] + }, + "signature_raw": "buyTokens(uint256)", + "signature": "3610724e", + "scope": 415, "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } - }, - { - "id": 77, - "name": "approve", - "node_type": 42, - "kind": 41, - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 35 + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" }, - "name_location": { - "line": 51, - "column": 13, - "start": 1746, - "end": 1752, - "length": 7, - "parent_index": 77 + "text": "functionbuyTokens(uint256_amount)external{uint256totalPrice=_amount.mul(tokenPrice);token.transferFrom(owner,msg.sender,_amount);emitTokensPurchased(msg.sender,_amount);}" + } + ], + "linearized_base_contracts": [ + 415, + 413, + 414 + ], + "base_contracts": [], + "contract_dependencies": [ + 413, + 414 + ] + } + ], + "src": { + "line": 321, + "column": 0, + "start": 9933, + "end": 10520, + "length": 588, + "parent_index": 30 + } + } + ], + "comments": [ + { + "id": 1, + "src": { + "line": 1, + "column": 0, + "start": 0, + "end": 30, + "length": 31, + "parent_index": 2 + }, + "node_type": 33, + "text": "// SPDX-License-Identifier: MIT" + }, + { + "id": 2, + "src": { + "line": 5, + "column": 0, + "start": 58, + "end": 620, + "length": 563, + "parent_index": 3 + }, + "node_type": 32, + "text": "/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */" + }, + { + "id": 3, + "src": { + "line": 19, + "column": 4, + "start": 645, + "end": 775, + "length": 131, + "parent_index": 4 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" + }, + { + "id": 4, + "src": { + "line": 32, + "column": 4, + "start": 1003, + "end": 1137, + "length": 135, + "parent_index": 5 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" + }, + { + "id": 5, + "src": { + "line": 44, + "column": 4, + "start": 1338, + "end": 1474, + "length": 137, + "parent_index": 6 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */" + }, + { + "id": 6, + "src": { + "line": 51, + "column": 12, + "start": 1590, + "end": 1668, + "length": 79, + "parent_index": 7 + }, + "node_type": 31, + "text": "// Gas optimization: this is cheaper than requiring 'a' not being zero, but the" + }, + { + "id": 7, + "src": { + "line": 52, + "column": 12, + "start": 1682, + "end": 1722, + "length": 41, + "parent_index": 8 + }, + "node_type": 31, + "text": "// benefit is lost if 'b' is also tested." + }, + { + "id": 8, + "src": { + "line": 53, + "column": 12, + "start": 1736, + "end": 1806, + "length": 71, + "parent_index": 9 + }, + "node_type": 31, + "text": "// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522" + }, + { + "id": 9, + "src": { + "line": 61, + "column": 4, + "start": 1979, + "end": 2116, + "length": 138, + "parent_index": 10 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" + }, + { + "id": 10, + "src": { + "line": 73, + "column": 4, + "start": 2318, + "end": 2465, + "length": 148, + "parent_index": 11 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */" + }, + { + "id": 11, + "src": { + "line": 85, + "column": 4, + "start": 2667, + "end": 2890, + "length": 224, + "parent_index": 12 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */" + }, + { + "id": 12, + "src": { + "line": 99, + "column": 4, + "start": 2998, + "end": 3257, + "length": 260, + "parent_index": 13 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" + }, + { + "id": 13, + "src": { + "line": 113, + "column": 4, + "start": 3365, + "end": 3600, + "length": 236, + "parent_index": 14 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */" + }, + { + "id": 14, + "src": { + "line": 127, + "column": 4, + "start": 3708, + "end": 4160, + "length": 453, + "parent_index": 15 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + }, + { + "id": 15, + "src": { + "line": 143, + "column": 4, + "start": 4268, + "end": 4709, + "length": 442, + "parent_index": 16 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + }, + { + "id": 16, + "src": { + "line": 159, + "column": 4, + "start": 4817, + "end": 5269, + "length": 453, + "parent_index": 17 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */" + }, + { + "id": 17, + "src": { + "line": 183, + "column": 4, + "start": 5512, + "end": 5984, + "length": 473, + "parent_index": 18 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + }, + { + "id": 18, + "src": { + "line": 206, + "column": 4, + "start": 6226, + "end": 6860, + "length": 635, + "parent_index": 19 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */" + }, + { + "id": 19, + "src": { + "line": 233, + "column": 0, + "start": 7100, + "end": 7130, + "length": 31, + "parent_index": 20 + }, + "node_type": 33, + "text": "// SPDX-License-Identifier: MIT" + }, + { + "id": 20, + "src": { + "line": 237, + "column": 0, + "start": 7158, + "end": 7227, + "length": 70, + "parent_index": 21 + }, + "node_type": 32, + "text": "/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */" + }, + { + "id": 21, + "src": { + "line": 241, + "column": 4, + "start": 7252, + "end": 7317, + "length": 66, + "parent_index": 22 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the amount of tokens in existence.\n */" + }, + { + "id": 22, + "src": { + "line": 246, + "column": 4, + "start": 7384, + "end": 7455, + "length": 72, + "parent_index": 23 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the amount of tokens owned by `account`.\n */" + }, + { + "id": 23, + "src": { + "line": 251, + "column": 4, + "start": 7535, + "end": 7743, + "length": 209, + "parent_index": 24 + }, + "node_type": 32, + "text": "/**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" + }, + { + "id": 24, + "src": { + "line": 260, + "column": 4, + "start": 7832, + "end": 8095, + "length": 264, + "parent_index": 25 + }, + "node_type": 32, + "text": "/**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */" + }, + { + "id": 25, + "src": { + "line": 269, + "column": 4, + "start": 8190, + "end": 8831, + "length": 642, + "parent_index": 26 + }, + "node_type": 32, + "text": "/**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race condition\n * is to first reduce the spender's allowance to 0 and set the desired value\n * afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */" + }, + { + "id": 26, + "src": { + "line": 285, + "column": 4, + "start": 8917, + "end": 9212, + "length": 296, + "parent_index": 27 + }, + "node_type": 32, + "text": "/**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */" + }, + { + "id": 27, + "src": { + "line": 300, + "column": 4, + "start": 9351, + "end": 9508, + "length": 158, + "parent_index": 28 + }, + "node_type": 32, + "text": "/**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */" + }, + { + "id": 28, + "src": { + "line": 308, + "column": 4, + "start": 9592, + "end": 9739, + "length": 148, + "parent_index": 29 + }, + "node_type": 32, + "text": "/**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */" + }, + { + "id": 29, + "src": { + "line": 315, + "column": 0, + "start": 9827, + "end": 9857, + "length": 31, + "parent_index": 30 + }, + "node_type": 33, + "text": "// SPDX-License-Identifier: MIT" + } + ] + }, + "node_type": 80, + "entry_contract_id": 415, + "entry_contract_name": "TokenSale", + "contracts_count": 3, + "contract_types": [], + "standards": [ + { + "contract_id": 415, + "contract_name": "TokenSale", + "confidences": { + "confidence": 0, + "confidence_points": 0.0782608695652174, + "threshold": 0, + "maximum_tokens": 115, + "discovered_tokens": 9, + "standard": "ERC1155", + "contract": { + "name": "TokenSale", + "functions": [ + { + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false }, - "body": { - "id": 86, - "node_type": 46, - "kind": 0, - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 77 - }, - "implemented": false, - "statements": [] + { + "type": "address", + "indexed": false, + "matched": false }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 78, - "node_type": 43, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1784, - "length": 31, - "parent_index": 77 - }, - "parameters": [ - { - "id": 79, - "node_type": 44, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1768, - "length": 15, - "parent_index": 78 - }, - "scope": 77, - "name": "spender", - "type_name": { - "id": 80, - "node_type": 30, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1760, - "length": 7, - "parent_index": 79 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 81, - "node_type": 44, - "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1784, - "length": 14, - "parent_index": 78 - }, - "scope": 77, - "name": "amount", - "type_name": { - "id": 82, - "node_type": 30, - "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1777, - "length": 7, - "parent_index": 81 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + { + "type": "uint256", + "indexed": false, + "matched": false }, - "return_parameters": { - "id": 83, - "node_type": 43, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 77 - }, - "parameters": [ - { - "id": 84, - "node_type": 44, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 83 - }, - "scope": 77, - "name": "", - "type_name": { - "id": 85, - "node_type": 30, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 84 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] + { + "type": "uint256", + "indexed": false, + "matched": false }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" + { + "type": "bytes", + "indexed": false, + "matched": false } - }, - { - "id": 88, - "name": "transferFrom", - "node_type": 42, - "kind": 41, - "src": { - "line": 62, - "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 35 + ], + "outputs": [], + "matched": false + }, + { + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false }, - "name_location": { - "line": 62, - "column": 13, - "start": 2127, - "end": 2138, - "length": 12, - "parent_index": 88 + { + "type": "address", + "indexed": false, + "matched": false }, - "body": { - "id": 99, - "node_type": 46, - "kind": 0, - "src": { - "line": 62, - "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 88 - }, - "implemented": false, - "statements": [] + { + "type": "uint256[]", + "indexed": false, + "matched": false }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 89, - "node_type": 43, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2213, - "length": 65, - "parent_index": 88 - }, - "parameters": [ - { - "id": 90, - "node_type": 44, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2162, - "length": 14, - "parent_index": 89 - }, - "scope": 88, - "name": "sender", - "type_name": { - "id": 91, - "node_type": 30, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2155, - "length": 7, - "parent_index": 90 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 92, - "node_type": 44, - "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2189, - "length": 17, - "parent_index": 89 - }, - "scope": 88, - "name": "recipient", - "type_name": { - "id": 93, - "node_type": 30, - "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2179, - "length": 7, - "parent_index": 92 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 94, - "node_type": 44, - "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2213, - "length": 14, - "parent_index": 89 - }, - "scope": 88, - "name": "amount", - "type_name": { - "id": 95, - "node_type": 30, - "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2206, - "length": 7, - "parent_index": 94 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "bytes", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "buyTokens", + "inputs": [ + { + "type": "address[]", + "indexed": false, + "matched": false }, - "return_parameters": { - "id": 96, - "node_type": 43, - "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 88 - }, - "parameters": [ - { - "id": 97, - "node_type": 44, - "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 96 - }, - "scope": 88, - "name": "", - "type_name": { - "id": 98, - "node_type": 30, - "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 97 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] + { + "type": "uint256[]", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256[]", + "matched": false + } + ], + "matched": false + }, + { + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", - "type_string": "function(address,address,uint256)" + { + "type": "bool", + "indexed": false, + "matched": false } - }, - { - "id": 101, - "node_type": 57, - "src": { - "line": 74, - "column": 4, - "start": 2414, - "end": 2485, - "length": 72, - "parent_index": 35 + ], + "outputs": [], + "matched": false + }, + { + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false }, - "parameters": { - "id": 102, - "node_type": 43, - "src": { - "line": 74, - "column": 4, - "start": 2414, - "end": 2485, - "length": 72, - "parent_index": 101 - }, - "parameters": [ - { - "id": 103, - "node_type": 44, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2448, - "length": 20, - "parent_index": 102 - }, - "scope": 101, - "name": "from", - "type_name": { - "id": 104, - "node_type": 30, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2435, - "length": 7, - "parent_index": 103 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 105, - "node_type": 44, - "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2468, - "length": 18, - "parent_index": 102 - }, - "scope": 101, - "name": "to", - "type_name": { - "id": 106, - "node_type": 30, - "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2457, - "length": 7, - "parent_index": 105 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 107, - "node_type": 44, - "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2483, - "length": 13, - "parent_index": 102 - }, - "scope": 101, - "name": "value", - "type_name": { - "id": 108, - "node_type": 30, - "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2477, - "length": 7, - "parent_index": 107 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + } + ], + "events": [ + { + "name": "TransferSingle", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "TransferBatch", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false }, - "name": "Transfer", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026101", - "type_string": "event IERC20.Transfer" + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address[]", + "indexed": true, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false } - }, - { - "id": 110, - "node_type": 57, - "src": { - "line": 80, - "column": 4, - "start": 2645, - "end": 2722, - "length": 78, - "parent_index": 35 + ], + "outputs": [], + "matched": false + }, + { + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false }, - "parameters": { - "id": 111, - "node_type": 43, - "src": { - "line": 80, - "column": 4, - "start": 2645, - "end": 2722, - "length": 78, - "parent_index": 110 - }, - "parameters": [ - { - "id": 112, - "node_type": 44, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2680, - "length": 21, - "parent_index": 111 - }, - "scope": 110, - "name": "owner", - "type_name": { - "id": 113, - "node_type": 30, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2666, - "length": 7, - "parent_index": 112 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 114, - "node_type": 44, - "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2705, - "length": 23, - "parent_index": 111 - }, - "scope": 110, - "name": "spender", - "type_name": { - "id": 115, - "node_type": 30, - "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2689, - "length": 7, - "parent_index": 114 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - { - "id": 116, - "node_type": 44, - "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2720, - "length": 13, - "parent_index": 111 - }, - "scope": 110, - "name": "value", - "type_name": { - "id": 117, - "node_type": 30, - "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2714, - "length": 7, - "parent_index": 116 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + { + "type": "address", + "indexed": true, + "matched": false }, - "name": "Approval", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_IERC20_Approval_\u0026110", - "type_string": "event IERC20.Approval" + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "URI", + "inputs": [ + { + "type": "string", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": true, + "matched": false } + ], + "outputs": [], + "matched": false + } + ] + } + }, + "standards": { + "name": "ERC-1155 Multi Token Standard", + "url": "https://eips.ethereum.org/EIPS/eip-1155", + "type": "ERC1155", + "stagnant": false, + "abi": "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + "package_name": "erc1155", + "package_output_path": "erc1155/erc1155.go", + "functions": [ + { + "name": "safeTransferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "bytes", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "safeBatchTransferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "bytes", + "indexed": false, + "matched": false } ], - "linearized_base_contracts": [ - 35 + "outputs": null, + "matched": false + }, + { + "name": "balanceOf", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } ], - "base_contracts": [], - "contract_dependencies": [] + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "balanceOfBatch", + "inputs": [ + { + "type": "address[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256[]", + "matched": false + } + ], + "matched": false + }, + { + "name": "setApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "isApprovedForAll", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false } ], - "src": { - "line": 8, - "column": 0, - "start": 129, - "end": 2724, - "length": 2596, - "parent_index": 30 - } - }, - "id": 35, - "source_unit_id": 31, - "node_type": 35, - "kind": 38, - "name": "IERC20", - "license": "MIT", - "language": "solidity", - "absolute_path": "IERC20.sol", - "symbols": [ - { - "id": 31, - "name": "IERC20", - "absolute_path": "IERC20.sol" - } - ], - "imports": [], - "pragmas": [ - { - "ast": { - "id": 32, - "node_type": 10, - "src": { - "line": 3, - "column": 0, - "start": 33, - "end": 55, - "length": 23, - "parent_index": 31 - }, - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" + "events": [ + { + "name": "TransferSingle", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } ], - "text": "pragma solidity ^0.8.0;" + "outputs": null, + "matched": false }, - "id": 32, - "node_type": 10, - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" - ], - "text": "pragma solidity ^0.8.0;" - } - ], - "state_variables": [], - "structs": [], - "enums": [], - "events": [ - { - "ast": { - "id": 101, - "node_type": 57, - "src": { - "line": 74, - "column": 4, - "start": 2414, - "end": 2485, - "length": 72, - "parent_index": 35 - }, - "parameters": { - "id": 102, - "node_type": 43, - "src": { - "line": 74, - "column": 4, - "start": 2414, - "end": 2485, - "length": 72, - "parent_index": 101 + { + "name": "TransferBatch", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address[]", + "indexed": true, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "URI", + "inputs": [ + { + "type": "string", + "indexed": false, + "matched": false }, - "parameters": [ + { + "type": "uint256", + "indexed": true, + "matched": false + } + ], + "outputs": null, + "matched": false + } + ] + } + }, + { + "contract_id": 415, + "contract_name": "TokenSale", + "confidences": { + "confidence": 4, + "confidence_points": 1, + "threshold": 1, + "maximum_tokens": 68, + "discovered_tokens": 68, + "standard": "ERC20", + "contract": { + "name": "TokenSale", + "functions": [ + { + "name": "buyTokens", + "inputs": [], + "outputs": [ { - "id": 103, - "node_type": 44, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2448, - "length": 20, - "parent_index": 102 - }, - "scope": 101, - "name": "from", - "type_name": { - "id": 104, - "node_type": 30, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2435, - "length": 7, - "parent_index": 103 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "buyTokens", + "inputs": [ { - "id": 105, - "node_type": 44, - "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2468, - "length": 18, - "parent_index": 102 - }, - "scope": 101, - "name": "to", - "type_name": { - "id": 106, - "node_type": 30, - "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2457, - "length": 7, - "parent_index": 105 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, + "type": "address", + "indexed": false, + "matched": true + } + ], + "outputs": [ { - "id": 107, - "node_type": 44, - "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2483, - "length": 13, - "parent_index": 102 - }, - "scope": 101, - "name": "value", - "type_name": { - "id": 108, - "node_type": 30, - "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2477, - "length": 7, - "parent_index": 107 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type": "uint256", + "matched": true } ], - "parameter_types": [ + "matched": true + }, + { + "name": "buyTokens", + "inputs": [ { - "type_identifier": "t_address", - "type_string": "address" + "type": "address", + "indexed": false, + "matched": true }, { - "type_identifier": "t_address", - "type_string": "address" - }, + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type": "bool", + "matched": true } - ] + ], + "matched": true }, - "name": "Transfer", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026101", - "type_string": "event IERC20.Transfer" - } - }, - "id": 101, - "node_type": 57, - "name": "Transfer", - "anonymous": false, - "parameters": [ { - "ast": { - "id": 103, - "node_type": 44, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2448, - "length": 20, - "parent_index": 102 + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true }, - "scope": 101, - "name": "from", - "type_name": { - "id": 104, - "node_type": 30, - "src": { - "line": 74, - "column": 19, - "start": 2429, - "end": 2435, - "length": 7, - "parent_index": 103 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + { + "type": "address", + "indexed": false, + "matched": true }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + }, + { + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true }, - "indexed": true - }, - "id": 103, - "node_type": 44, - "name": "from", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true }, { - "ast": { - "id": 105, - "node_type": 44, - "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2468, - "length": 18, - "parent_index": 102 + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true }, - "scope": 101, - "name": "to", - "type_name": { - "id": 106, - "node_type": 30, - "src": { - "line": 74, - "column": 41, - "start": 2451, - "end": 2457, - "length": 7, - "parent_index": 105 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + { + "type": "address", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": true }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + { + "type": "address", + "indexed": true, + "matched": true }, - "indexed": true - }, - "id": 105, - "node_type": 44, - "name": "to", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true }, { - "ast": { - "id": 107, - "node_type": 44, - "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2483, - "length": 13, - "parent_index": 102 + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": true }, - "scope": 101, - "name": "value", - "type_name": { - "id": 108, - "node_type": 30, - "src": { - "line": 74, - "column": 61, - "start": 2471, - "end": 2477, - "length": 7, - "parent_index": 107 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + { + "type": "address", + "indexed": true, + "matched": true }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "type": "uint256", + "indexed": false, + "matched": true } + ], + "outputs": [], + "matched": true + } + ] + } + }, + "standards": { + "name": "ERC-20 Token Standard", + "url": "https://eips.ethereum.org/EIPS/eip-20", + "type": "ERC20", + "stagnant": false, + "abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "package_name": "erc20", + "package_output_path": "erc20/erc20.go", + "functions": [ + { + "name": "totalSupply", + "inputs": null, + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "balanceOf", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "transfer", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false }, - "id": 107, - "node_type": 44, - "name": "value", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + }, + { + "name": "transferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + }, + { + "name": "approve", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + }, + { + "name": "allowance", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false }, - "indexed": false - } - ] - }, - { - "ast": { - "id": 110, - "node_type": 57, - "src": { - "line": 80, - "column": 4, - "start": 2645, - "end": 2722, - "length": 78, - "parent_index": 35 - }, - "parameters": { - "id": 111, - "node_type": 43, - "src": { - "line": 80, - "column": 4, - "start": 2645, - "end": 2722, - "length": 78, - "parent_index": 110 + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false }, - "parameters": [ - { - "id": 112, - "node_type": 44, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2680, - "length": 21, - "parent_index": 111 - }, - "scope": 110, - "name": "owner", - "type_name": { - "id": 113, - "node_type": 30, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2666, - "length": 7, - "parent_index": 112 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + } + ] + } + }, + { + "contract_id": 415, + "contract_name": "TokenSale", + "confidences": { + "confidence": 2, + "confidence_points": 0.5111111111111111, + "threshold": 0.5, + "maximum_tokens": 90, + "discovered_tokens": 46, + "standard": "ERC721", + "contract": { + "name": "TokenSale", + "functions": [ + { + "name": "buyTokens", + "inputs": [], + "outputs": [ { - "id": 114, - "node_type": 44, - "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2705, - "length": 23, - "parent_index": 111 - }, - "scope": 110, - "name": "spender", - "type_name": { - "id": 115, - "node_type": 30, - "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2689, - "length": 7, - "parent_index": 114 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, + "type": "string", + "matched": false + } + ], + "matched": false + }, + { + "name": "buyTokens", + "inputs": [], + "outputs": [ { - "id": 116, - "node_type": 44, - "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2720, - "length": 13, - "parent_index": 111 - }, - "scope": 110, - "name": "value", - "type_name": { - "id": 117, - "node_type": 30, - "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2714, - "length": 7, - "parent_index": 116 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type": "string", + "matched": false } ], - "parameter_types": [ + "matched": false + }, + { + "name": "buyTokens", + "inputs": [], + "outputs": [ { - "type_identifier": "t_address", - "type_string": "address" - }, + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "buyTokens", + "inputs": [ { - "type_identifier": "t_address", - "type_string": "address" - }, + "type": "address", + "indexed": false, + "matched": true + } + ], + "outputs": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type": "uint256", + "matched": true } - ] + ], + "matched": true }, - "name": "Approval", - "anonymous": false, - "type_description": { - "type_identifier": "t_event\u0026_IERC20_Approval_\u0026110", - "type_string": "event IERC20.Approval" - } - }, - "id": 110, - "node_type": 57, - "name": "Approval", - "anonymous": false, - "parameters": [ { - "ast": { - "id": 112, - "node_type": 44, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2680, - "length": 21, - "parent_index": 111 - }, - "scope": 110, - "name": "owner", - "type_name": { - "id": 113, - "node_type": 30, - "src": { - "line": 80, - "column": 19, - "start": 2660, - "end": 2666, - "length": 7, - "parent_index": 112 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true - }, - "id": 112, - "node_type": 44, - "name": "owner", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true + "name": "buyTokens", + "inputs": [ + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "address", + "matched": false + } + ], + "matched": false }, { - "ast": { - "id": 114, - "node_type": 44, - "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2705, - "length": 23, - "parent_index": 111 - }, - "scope": 110, - "name": "spender", - "type_name": { - "id": 115, - "node_type": 30, - "src": { - "line": 80, - "column": 42, - "start": 2683, - "end": 2689, - "length": 7, - "parent_index": 114 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + { + "type": "address", + "indexed": false, + "matched": true }, - "indexed": true - }, - "id": 114, - "node_type": 44, - "name": "spender", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": true + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true }, { - "ast": { - "id": 116, - "node_type": 44, - "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2720, - "length": 13, - "parent_index": 111 - }, - "scope": 110, - "name": "value", - "type_name": { - "id": 117, - "node_type": 30, - "src": { - "line": 80, - "column": 67, - "start": 2708, - "end": 2714, - "length": 7, - "parent_index": 116 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "type": "uint256", + "indexed": false, + "matched": true } - }, - "id": 116, - "node_type": 44, - "name": "value", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ] - } - ], - "errors": [], - "functions": [ - { - "ast": { - "id": 37, - "name": "totalSupply", - "node_type": 42, - "kind": 41, - "src": { - "line": 12, - "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 35 - }, - "name_location": { - "line": 12, - "column": 13, - "start": 232, - "end": 242, - "length": 11, - "parent_index": 37 + ], + "outputs": [], + "matched": true }, - "body": { - "id": 44, - "node_type": 46, - "kind": 0, - "src": { - "line": 12, - "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 37 - }, - "implemented": false, - "statements": [] + { + "name": "buyTokens", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 38, - "node_type": 43, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 37 - }, - "parameters": [ + { + "name": "buyTokens", + "inputs": [ { - "id": 39, - "node_type": 44, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 38 - }, - "scope": 37, - "name": "", - "type_name": { - "id": 40, - "node_type": 30, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 39 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type": "uint256", + "indexed": false, + "matched": false } ], - "parameter_types": [ + "outputs": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type": "address", + "matched": false } - ] + ], + "matched": false }, - "return_parameters": { - "id": 41, - "node_type": 43, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 37 - }, - "parameters": [ + { + "name": "buyTokens", + "inputs": [ { - "id": 42, - "node_type": 44, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 41 - }, - "scope": 37, - "name": "", - "type_name": { - "id": 43, - "node_type": 30, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 42 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false } ], - "parameter_types": [ + "matched": false + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true } - ] + ], + "outputs": [], + "matched": true }, - "signature_raw": "totalSupply(uint256)", - "signature": "bd85b039", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_uint256$", - "type_string": "function(uint256)" - } - }, - "id": 37, - "node_type": 42, - "kind": 41, - "name": "totalSupply", - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "referenced_declaration_id": 0, - "signature": "bd85b039", - "modifiers": [], - "overrides": [], - "parameters": [ { - "ast": { - "id": 39, - "node_type": 44, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 38 + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": true }, - "scope": 37, - "name": "", - "type_name": { - "id": 40, - "node_type": 30, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 39 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + { + "type": "address", + "indexed": true, + "matched": true }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true + }, + { + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false } + ], + "outputs": [], + "matched": false + } + ] + } + }, + "standards": { + "name": "ERC-721 Non-Fungible Token Standard", + "url": "https://eips.ethereum.org/EIPS/eip-721", + "type": "ERC721", + "stagnant": false, + "abi": "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + "package_name": "erc721", + "package_output_path": "erc721/erc721.go", + "functions": [ + { + "name": "name", + "inputs": null, + "outputs": [ + { + "type": "string", + "matched": false + } + ], + "matched": false + }, + { + "name": "symbol", + "inputs": null, + "outputs": [ + { + "type": "string", + "matched": false + } + ], + "matched": false + }, + { + "name": "totalSupply", + "inputs": null, + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "balanceOf", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "ownerOf", + "inputs": [ + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "address", + "matched": false + } + ], + "matched": false + }, + { + "name": "transferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "approve", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "setApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "getApproved", + "inputs": [ + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "address", + "matched": false + } + ], + "matched": false + }, + { + "name": "isApprovedForAll", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false }, - "id": 39, - "node_type": 44, - "name": "", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 44, - "node_type": 46, - "kind": 0, - "src": { - "line": 12, - "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 37 + { + "type": "address", + "indexed": true, + "matched": false }, - "implemented": false, - "statements": [] - }, - "id": 44, - "node_type": 46, - "kind": 0, - "statements": [] + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false }, - "return": [ - { - "ast": { - "id": 42, - "node_type": 44, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 41 - }, - "scope": 37, - "name": "", - "type_name": { - "id": 43, - "node_type": 30, - "src": { - "line": 12, - "column": 50, - "start": 269, - "end": 275, - "length": 7, - "parent_index": 42 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + { + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false }, - "id": 42, - "node_type": 44, - "name": "", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "type": "address", + "indexed": true, + "matched": false }, - "indexed": false - } - ], - "src": { - "line": 12, - "column": 4, - "start": 223, - "end": 277, - "length": 55, - "parent_index": 35 - } - }, - { - "ast": { - "id": 46, - "name": "balanceOf", - "node_type": 42, - "kind": 41, - "src": { - "line": 17, - "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 35 - }, - "name_location": { - "line": 17, - "column": 13, - "start": 370, - "end": 378, - "length": 9, - "parent_index": 46 - }, - "body": { - "id": 53, - "node_type": 46, - "kind": 0, - "src": { - "line": 17, - "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 46 + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 47, - "node_type": 43, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 394, - "length": 15, - "parent_index": 46 + { + "type": "address", + "indexed": true, + "matched": false }, - "parameters": [ - { - "id": 48, - "node_type": 44, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 394, - "length": 15, - "parent_index": 47 - }, - "scope": 46, - "name": "account", - "type_name": { - "id": 49, - "node_type": 30, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 386, - "length": 7, - "parent_index": 48 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - } - ] + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + } + ] + } + } + ], + "contracts": [ + { + "ast": { + "id": 31, + "base_contracts": [], + "license": "MIT", + "exported_symbols": [ + { + "id": 31, + "name": "SafeMath", + "absolute_path": "SafeMath.sol" + } + ], + "absolute_path": "SafeMath.sol", + "name": "SafeMath", + "node_type": 1, + "nodes": [ + { + "id": 32, + "node_type": 10, + "src": { + "line": 3, + "column": 0, + "start": 33, + "end": 55, + "length": 23, + "parent_index": 31 }, - "return_parameters": { - "id": 50, - "node_type": 43, - "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 46 - }, - "parameters": [ - { - "id": 51, - "node_type": 44, + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "text": "pragma solidity ^0.8.0;" + }, + { + "id": 33, + "name": "SafeMath", + "node_type": 35, + "src": { + "line": 18, + "column": 0, + "start": 622, + "end": 7097, + "length": 6476, + "parent_index": 31 + }, + "name_location": { + "line": 18, + "column": 8, + "start": 630, + "end": 637, + "length": 8, + "parent_index": 33 + }, + "abstract": false, + "kind": 37, + "fully_implemented": true, + "nodes": [ + { + "id": 35, + "name": "tryAdd", + "node_type": 42, + "kind": 41, + "src": { + "line": 24, + "column": 4, + "start": 781, + "end": 996, + "length": 216, + "parent_index": 33 + }, + "name_location": { + "line": 24, + "column": 13, + "start": 790, + "end": 795, + "length": 6, + "parent_index": 35 + }, + "body": { + "id": 46, + "node_type": 46, + "kind": 0, "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 50 + "line": 24, + "column": 80, + "start": 857, + "end": 996, + "length": 140, + "parent_index": 35 }, - "scope": 46, - "name": "", - "type_name": { - "id": 52, - "node_type": 30, - "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 51 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "implemented": true, + "statements": [ + { + "id": 47, + "node_type": 59, + "kind": 0, + "src": { + "line": 25, + "column": 8, + "start": 867, + "end": 990, + "length": 124, + "parent_index": 33 + }, + "implemented": false, + "statements": [ + { + "id": 48, + "node_type": 44, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 908, + "length": 18, + "parent_index": 47 + }, + "assignments": [ + 49 + ], + "declarations": [ + { + "id": 49, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 47, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 899, + "length": 9, + "parent_index": 48 + }, + "name_location": { + "line": 26, + "column": 20, + "start": 899, + "end": 899, + "length": 1, + "parent_index": 49 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 50, + "node_type": 30, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 897, + "length": 7, + "parent_index": 49 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 51, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 26, + "column": 24, + "start": 903, + "end": 907, + "length": 5, + "parent_index": 48 + }, + "operator": 1, + "left_expression": { + "id": 52, + "node_type": 16, + "src": { + "line": 26, + "column": 24, + "start": 903, + "end": 903, + "length": 1, + "parent_index": 51 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 52, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 53, + "node_type": 16, + "src": { + "line": 26, + "column": 28, + "start": 907, + "end": 907, + "length": 1, + "parent_index": 51 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 53, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + }, + { + "id": 54, + "node_type": 48, + "src": { + "line": 27, + "column": 0, + "start": 922, + "end": 950, + "length": 29, + "parent_index": 47 + }, + "condition": { + "id": 55, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 27, + "column": 16, + "start": 926, + "end": 930, + "length": 5, + "parent_index": 54 + }, + "operator": 9, + "left_expression": { + "id": 56, + "node_type": 16, + "src": { + "line": 27, + "column": 16, + "start": 926, + "end": 926, + "length": 1, + "parent_index": 55 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 57, + "node_type": 16, + "src": { + "line": 27, + "column": 20, + "start": 930, + "end": 930, + "length": 1, + "parent_index": 55 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 57, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 58, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 59, + "node_type": 47, + "src": { + "line": 28, + "column": 12, + "start": 964, + "end": 980, + "length": 17, + "parent_index": 35 + }, + "function_return_parameters": 35, + "expression": { + "id": 60, + "node_type": 60, + "src": { + "line": 28, + "column": 19, + "start": 971, + "end": 979, + "length": 9, + "parent_index": 59 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 61, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 28, + "column": 20, + "start": 972, + "end": 975, + "length": 4, + "parent_index": 60 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 62, + "node_type": 16, + "src": { + "line": 28, + "column": 26, + "start": 978, + "end": 978, + "length": 1, + "parent_index": 60 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } + } + ] } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "balanceOf(address)", - "signature": "70a08231", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$", - "type_string": "function(address)" - } - }, - "id": 46, - "node_type": 42, - "kind": 41, - "name": "balanceOf", - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "referenced_declaration_id": 0, - "signature": "70a08231", - "modifiers": [], - "overrides": [], - "parameters": [ - { - "ast": { - "id": 48, - "node_type": 44, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 394, - "length": 15, - "parent_index": 47 - }, - "scope": 46, - "name": "account", - "type_name": { - "id": 49, - "node_type": 30, - "src": { - "line": 17, - "column": 23, - "start": 380, - "end": 386, - "length": 7, - "parent_index": 48 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "id": 48, - "node_type": 44, - "name": "account", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 53, - "node_type": 46, - "kind": 0, - "src": { - "line": 17, - "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 46 - }, - "implemented": false, - "statements": [] - }, - "id": 53, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ - { - "ast": { - "id": 51, - "node_type": 44, - "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 50 - }, - "scope": 46, - "name": "", - "type_name": { - "id": 52, - "node_type": 30, - "src": { - "line": 17, - "column": 63, - "start": 420, - "end": 426, - "length": 7, - "parent_index": 51 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + ] }, - "storage_location": 2, + "implemented": false, "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 51, - "node_type": 44, - "name": "", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "src": { - "line": 17, - "column": 4, - "start": 361, - "end": 428, - "length": 68, - "parent_index": 35 - } - }, - { - "ast": { - "id": 55, - "name": "transfer", - "node_type": 42, - "kind": 41, - "src": { - "line": 26, - "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 35 - }, - "name_location": { - "line": 26, - "column": 13, - "start": 658, - "end": 665, - "length": 8, - "parent_index": 55 - }, - "body": { - "id": 64, - "node_type": 46, - "kind": 0, - "src": { - "line": 26, - "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 55 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 56, - "node_type": 43, - "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 699, - "length": 33, - "parent_index": 55 - }, - "parameters": [ - { - "id": 57, - "node_type": 44, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 36, + "node_type": 43, "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 683, - "length": 17, - "parent_index": 56 + "line": 24, + "column": 20, + "start": 797, + "end": 816, + "length": 20, + "parent_index": 35 }, - "scope": 55, - "name": "recipient", - "type_name": { - "id": 58, - "node_type": 30, - "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 673, - "length": 7, - "parent_index": 57 + "parameters": [ + { + "id": 37, + "node_type": 44, + "src": { + "line": 24, + "column": 20, + "start": 797, + "end": 805, + "length": 9, + "parent_index": 36 + }, + "scope": 35, + "name": "a", + "type_name": { + "id": 38, + "node_type": 30, + "src": { + "line": 24, + "column": 20, + "start": 797, + "end": 803, + "length": 7, + "parent_index": 37 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + { + "id": 39, + "node_type": 44, + "src": { + "line": 24, + "column": 31, + "start": 808, + "end": 816, + "length": 9, + "parent_index": 36 + }, + "scope": 35, + "name": "b", + "type_name": { + "id": 40, + "node_type": 30, + "src": { + "line": 24, + "column": 31, + "start": 808, + "end": 814, + "length": 7, + "parent_index": 39 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 59, - "node_type": 44, - "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 699, - "length": 14, - "parent_index": 56 - }, - "scope": 55, - "name": "amount", - "type_name": { - "id": 60, - "node_type": 30, - "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 692, - "length": 7, - "parent_index": 59 + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" + ] }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 61, - "node_type": 43, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 55 - }, - "parameters": [ - { - "id": 62, - "node_type": 44, + "return_parameters": { + "id": 41, + "node_type": 43, "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 61 + "line": 24, + "column": 65, + "start": 842, + "end": 854, + "length": 13, + "parent_index": 35 }, - "scope": 55, - "name": "", - "type_name": { - "id": 63, - "node_type": 30, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 62 + "parameters": [ + { + "id": 42, + "node_type": 44, + "src": { + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 41 + }, + "scope": 35, + "name": "", + "type_name": { + "id": 43, + "node_type": 30, + "src": { + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 42 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "transfer(address, uint256)", - "signature": "9d61d234", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } - }, - "id": 55, - "node_type": 42, - "kind": 41, - "name": "transfer", - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "referenced_declaration_id": 0, - "signature": "9d61d234", - "modifiers": [], - "overrides": [], - "parameters": [ - { - "ast": { - "id": 57, - "node_type": 44, - "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 683, - "length": 17, - "parent_index": 56 - }, - "scope": 55, - "name": "recipient", - "type_name": { - "id": 58, - "node_type": 30, - "src": { - "line": 26, - "column": 22, - "start": 667, - "end": 673, - "length": 7, - "parent_index": 57 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "id": 57, - "node_type": 44, - "name": "recipient", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": false - }, - { - "ast": { - "id": 59, - "node_type": 44, - "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 699, - "length": 14, - "parent_index": 56 - }, - "scope": 55, - "name": "amount", - "type_name": { - "id": 60, - "node_type": 30, - "src": { - "line": 26, - "column": 41, - "start": 686, - "end": 692, - "length": 7, - "parent_index": 59 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + { + "id": 44, + "node_type": 44, + "src": { + "line": 24, + "column": 71, + "start": 848, + "end": 854, + "length": 7, + "parent_index": 41 + }, + "scope": 35, + "name": "", + "type_name": { + "id": 45, + "node_type": 30, + "src": { + "line": 24, + "column": 71, + "start": 848, + "end": 854, + "length": 7, + "parent_index": 44 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", + "scope": 33, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 59, - "node_type": 44, - "name": "amount", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 64, - "node_type": 46, - "kind": 0, - "src": { - "line": 26, - "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 55 + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" }, - "implemented": false, - "statements": [] - }, - "id": 64, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ - { - "ast": { - "id": 62, - "node_type": 44, + { + "id": 64, + "name": "trySub", + "node_type": 42, + "kind": 41, "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 61 + "line": 37, + "column": 4, + "start": 1143, + "end": 1331, + "length": 189, + "parent_index": 33 }, - "scope": 55, - "name": "", - "type_name": { - "id": 63, - "node_type": 30, - "src": { - "line": 26, - "column": 75, - "start": 720, - "end": 723, - "length": 4, - "parent_index": 62 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name_location": { + "line": 37, + "column": 13, + "start": 1152, + "end": 1157, + "length": 6, + "parent_index": 64 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "id": 62, - "node_type": 44, - "name": "", - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "indexed": false - } - ], - "src": { - "line": 26, - "column": 4, - "start": 649, - "end": 725, - "length": 77, - "parent_index": 35 - } - }, - { - "ast": { - "id": 66, - "name": "allowance", - "node_type": 42, - "kind": 41, - "src": { - "line": 35, - "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 35 - }, - "name_location": { - "line": 35, - "column": 13, - "start": 1010, - "end": 1018, - "length": 9, - "parent_index": 66 - }, - "body": { - "id": 75, - "node_type": 46, - "kind": 0, - "src": { - "line": 35, - "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 66 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 67, - "node_type": 43, - "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1049, - "length": 30, - "parent_index": 66 - }, - "parameters": [ - { - "id": 68, - "node_type": 44, + "body": { + "id": 75, + "node_type": 46, + "kind": 0, "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1032, - "length": 13, - "parent_index": 67 + "line": 37, + "column": 80, + "start": 1219, + "end": 1331, + "length": 113, + "parent_index": 64 }, - "scope": 66, - "name": "owner", - "type_name": { - "id": 69, - "node_type": 30, - "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1026, - "length": 7, - "parent_index": 68 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "implemented": true, + "statements": [ + { + "id": 76, + "node_type": 59, + "kind": 0, + "src": { + "line": 38, + "column": 8, + "start": 1229, + "end": 1325, + "length": 97, + "parent_index": 33 + }, + "implemented": false, + "statements": [ + { + "id": 77, + "node_type": 48, + "src": { + "line": 39, + "column": 0, + "start": 1253, + "end": 1281, + "length": 29, + "parent_index": 76 + }, + "condition": { + "id": 78, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 39, + "column": 16, + "start": 1257, + "end": 1261, + "length": 5, + "parent_index": 77 + }, + "operator": 7, + "left_expression": { + "id": 79, + "node_type": 16, + "src": { + "line": 39, + "column": 16, + "start": 1257, + "end": 1257, + "length": 1, + "parent_index": 78 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 79, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 80, + "node_type": 16, + "src": { + "line": 39, + "column": 20, + "start": 1261, + "end": 1261, + "length": 1, + "parent_index": 78 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 80, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 81, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 82, + "node_type": 47, + "src": { + "line": 40, + "column": 12, + "start": 1295, + "end": 1315, + "length": 21, + "parent_index": 64 + }, + "function_return_parameters": 64, + "expression": { + "id": 83, + "node_type": 60, + "src": { + "line": 40, + "column": 19, + "start": 1302, + "end": 1314, + "length": 13, + "parent_index": 82 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 84, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 40, + "column": 20, + "start": 1303, + "end": 1306, + "length": 4, + "parent_index": 83 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 85, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 40, + "column": 26, + "start": 1309, + "end": 1313, + "length": 5, + "parent_index": 83 + }, + "operator": 2, + "left_expression": { + "id": 86, + "node_type": 16, + "src": { + "line": 40, + "column": 26, + "start": 1309, + "end": 1309, + "length": 1, + "parent_index": 85 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 86, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 87, + "node_type": 16, + "src": { + "line": 40, + "column": 30, + "start": 1313, + "end": 1313, + "length": 1, + "parent_index": 85 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 87, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } + } + ] } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + ] }, - { - "id": 70, - "node_type": 44, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 65, + "node_type": 43, "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1049, - "length": 15, - "parent_index": 67 + "line": 37, + "column": 20, + "start": 1159, + "end": 1178, + "length": 20, + "parent_index": 64 }, - "scope": 66, - "name": "spender", - "type_name": { - "id": 71, - "node_type": 30, - "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1041, - "length": 7, - "parent_index": 70 + "parameters": [ + { + "id": 66, + "node_type": 44, + "src": { + "line": 37, + "column": 20, + "start": 1159, + "end": 1167, + "length": 9, + "parent_index": 65 + }, + "scope": 64, + "name": "a", + "type_name": { + "id": 67, + "node_type": 30, + "src": { + "line": 37, + "column": 20, + "start": 1159, + "end": 1165, + "length": 7, + "parent_index": 66 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + { + "id": 68, + "node_type": 44, + "src": { + "line": 37, + "column": 31, + "start": 1170, + "end": 1178, + "length": 9, + "parent_index": 65 + }, + "scope": 64, + "name": "b", + "type_name": { + "id": 69, + "node_type": 30, + "src": { + "line": 37, + "column": 31, + "start": 1170, + "end": 1176, + "length": 7, + "parent_index": 68 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - { - "type_identifier": "t_address", - "type_string": "address" - } - ] - }, - "return_parameters": { - "id": 72, - "node_type": 43, - "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 66 - }, - "parameters": [ - { - "id": 73, - "node_type": 44, + "return_parameters": { + "id": 70, + "node_type": 43, "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 72 + "line": 37, + "column": 65, + "start": 1204, + "end": 1216, + "length": 13, + "parent_index": 64 }, - "scope": 66, - "name": "", - "type_name": { - "id": 74, - "node_type": 30, - "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 73 + "parameters": [ + { + "id": 71, + "node_type": 44, + "src": { + "line": 37, + "column": 65, + "start": 1204, + "end": 1207, + "length": 4, + "parent_index": 70 + }, + "scope": 64, + "name": "", + "type_name": { + "id": 72, + "node_type": 30, + "src": { + "line": 37, + "column": 65, + "start": 1204, + "end": 1207, + "length": 4, + "parent_index": 71 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 73, + "node_type": 44, + "src": { + "line": 37, + "column": 71, + "start": 1210, + "end": 1216, + "length": 7, + "parent_index": 70 + }, + "scope": 64, + "name": "", + "type_name": { + "id": 74, + "node_type": 30, + "src": { + "line": 37, + "column": 71, + "start": 1210, + "end": 1216, + "length": 7, + "parent_index": 73 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "allowance(address, address)", - "signature": "69bfed33", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$", - "type_string": "function(address,address)" - } - }, - "id": 66, - "node_type": 42, - "kind": 41, - "name": "allowance", - "implemented": false, - "visibility": 4, - "state_mutability": 5, - "virtual": false, - "referenced_declaration_id": 0, - "signature": "69bfed33", - "modifiers": [], - "overrides": [], - "parameters": [ - { - "ast": { - "id": 68, - "node_type": 44, - "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1032, - "length": 13, - "parent_index": 67 - }, - "scope": 66, - "name": "owner", - "type_name": { - "id": 69, - "node_type": 30, - "src": { - "line": 35, - "column": 23, - "start": 1020, - "end": 1026, - "length": 7, - "parent_index": 68 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + ] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", + "scope": 33, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "id": 68, - "node_type": 44, - "name": "owner", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": false - }, - { - "ast": { - "id": 70, - "node_type": 44, - "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1049, - "length": 15, - "parent_index": 67 - }, - "scope": 66, - "name": "spender", - "type_name": { - "id": 71, - "node_type": 30, - "src": { - "line": 35, - "column": 38, - "start": 1035, - "end": 1041, - "length": 7, - "parent_index": 70 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "id": 70, - "node_type": 44, - "name": "spender", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 75, - "node_type": 46, - "kind": 0, - "src": { - "line": 35, - "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 66 + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" }, - "implemented": false, - "statements": [] - }, - "id": 75, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ - { - "ast": { - "id": 73, - "node_type": 44, + { + "id": 89, + "name": "tryMul", + "node_type": 42, + "kind": 41, "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 72 + "line": 49, + "column": 4, + "start": 1480, + "end": 1972, + "length": 493, + "parent_index": 33 }, - "scope": 66, - "name": "", - "type_name": { - "id": 74, - "node_type": 30, - "src": { - "line": 35, - "column": 78, - "start": 1075, - "end": 1081, - "length": 7, - "parent_index": 73 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "name_location": { + "line": 49, + "column": 13, + "start": 1489, + "end": 1494, + "length": 6, + "parent_index": 89 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 73, - "node_type": 44, - "name": "", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "src": { - "line": 35, - "column": 4, - "start": 1001, - "end": 1083, - "length": 83, - "parent_index": 35 - } - }, - { - "ast": { - "id": 77, - "name": "approve", - "node_type": 42, - "kind": 41, - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 35 - }, - "name_location": { - "line": 51, - "column": 13, - "start": 1746, - "end": 1752, - "length": 7, - "parent_index": 77 - }, - "body": { - "id": 86, - "node_type": 46, - "kind": 0, - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 77 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 78, - "node_type": 43, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1784, - "length": 31, - "parent_index": 77 - }, - "parameters": [ - { - "id": 79, - "node_type": 44, + "body": { + "id": 100, + "node_type": 46, + "kind": 0, "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1768, - "length": 15, - "parent_index": 78 + "line": 49, + "column": 80, + "start": 1556, + "end": 1972, + "length": 417, + "parent_index": 89 }, - "scope": 77, - "name": "spender", - "type_name": { - "id": 80, - "node_type": 30, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1760, - "length": 7, - "parent_index": 79 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "implemented": true, + "statements": [ + { + "id": 101, + "node_type": 59, + "kind": 0, + "src": { + "line": 50, + "column": 8, + "start": 1566, + "end": 1966, + "length": 401, + "parent_index": 33 + }, + "implemented": false, + "statements": [ + { + "id": 102, + "node_type": 48, + "src": { + "line": 54, + "column": 0, + "start": 1820, + "end": 1848, + "length": 29, + "parent_index": 101 + }, + "condition": { + "id": 103, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 54, + "column": 16, + "start": 1824, + "end": 1829, + "length": 6, + "parent_index": 102 + }, + "operator": 11, + "left_expression": { + "id": 104, + "node_type": 16, + "src": { + "line": 54, + "column": 16, + "start": 1824, + "end": 1824, + "length": 1, + "parent_index": 103 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 104, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 105, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 54, + "column": 21, + "start": 1829, + "end": 1829, + "length": 1, + "parent_index": 103 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 106, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 107, + "node_type": 44, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1879, + "length": 18, + "parent_index": 101 + }, + "assignments": [ + 108 + ], + "declarations": [ + { + "id": 108, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 101, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1870, + "length": 9, + "parent_index": 107 + }, + "name_location": { + "line": 55, + "column": 20, + "start": 1870, + "end": 1870, + "length": 1, + "parent_index": 108 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 109, + "node_type": 30, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1868, + "length": 7, + "parent_index": 108 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 110, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 55, + "column": 24, + "start": 1874, + "end": 1878, + "length": 5, + "parent_index": 107 + }, + "operator": 3, + "left_expression": { + "id": 111, + "node_type": 16, + "src": { + "line": 55, + "column": 24, + "start": 1874, + "end": 1874, + "length": 1, + "parent_index": 110 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 111, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 112, + "node_type": 16, + "src": { + "line": 55, + "column": 28, + "start": 1878, + "end": 1878, + "length": 1, + "parent_index": 110 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 112, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + }, + { + "id": 113, + "node_type": 48, + "src": { + "line": 56, + "column": 0, + "start": 1893, + "end": 1926, + "length": 34, + "parent_index": 101 + }, + "condition": { + "id": 114, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1906, + "length": 10, + "parent_index": 113 + }, + "operator": 12, + "left_expression": { + "id": 115, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1901, + "length": 5, + "parent_index": 114 + }, + "operator": 4, + "left_expression": { + "id": 116, + "node_type": 16, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1897, + "length": 1, + "parent_index": 115 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 117, + "node_type": 16, + "src": { + "line": 56, + "column": 20, + "start": 1901, + "end": 1901, + "length": 1, + "parent_index": 115 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 117, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "right_expression": { + "id": 118, + "node_type": 16, + "src": { + "line": 56, + "column": 25, + "start": 1906, + "end": 1906, + "length": 1, + "parent_index": 114 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 118, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 119, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 120, + "node_type": 47, + "src": { + "line": 57, + "column": 12, + "start": 1940, + "end": 1956, + "length": 17, + "parent_index": 89 + }, + "function_return_parameters": 89, + "expression": { + "id": 121, + "node_type": 60, + "src": { + "line": 57, + "column": 19, + "start": 1947, + "end": 1955, + "length": 9, + "parent_index": 120 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 122, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 57, + "column": 20, + "start": 1948, + "end": 1951, + "length": 4, + "parent_index": 121 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 123, + "node_type": 16, + "src": { + "line": 57, + "column": 26, + "start": 1954, + "end": 1954, + "length": 1, + "parent_index": 121 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } + } + ] } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + ] }, - { - "id": 81, - "node_type": 44, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 90, + "node_type": 43, "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1784, - "length": 14, - "parent_index": 78 + "line": 49, + "column": 20, + "start": 1496, + "end": 1515, + "length": 20, + "parent_index": 89 }, - "scope": 77, - "name": "amount", - "type_name": { - "id": 82, - "node_type": 30, - "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1777, - "length": 7, - "parent_index": 81 + "parameters": [ + { + "id": 91, + "node_type": 44, + "src": { + "line": 49, + "column": 20, + "start": 1496, + "end": 1504, + "length": 9, + "parent_index": 90 + }, + "scope": 89, + "name": "a", + "type_name": { + "id": 92, + "node_type": 30, + "src": { + "line": 49, + "column": 20, + "start": 1496, + "end": 1502, + "length": 7, + "parent_index": 91 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + { + "id": 93, + "node_type": 44, + "src": { + "line": 49, + "column": 31, + "start": 1507, + "end": 1515, + "length": 9, + "parent_index": 90 + }, + "scope": 89, + "name": "b", + "type_name": { + "id": 94, + "node_type": 30, + "src": { + "line": 49, + "column": 31, + "start": 1507, + "end": 1513, + "length": 7, + "parent_index": 93 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" + ] }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 83, - "node_type": 43, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 77 - }, - "parameters": [ - { - "id": 84, - "node_type": 44, + "return_parameters": { + "id": 95, + "node_type": 43, "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 83 + "line": 49, + "column": 65, + "start": 1541, + "end": 1553, + "length": 13, + "parent_index": 89 }, - "scope": 77, - "name": "", - "type_name": { - "id": 85, - "node_type": 30, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 84 + "parameters": [ + { + "id": 96, + "node_type": 44, + "src": { + "line": 49, + "column": 65, + "start": 1541, + "end": 1544, + "length": 4, + "parent_index": 95 + }, + "scope": 89, + "name": "", + "type_name": { + "id": 97, + "node_type": 30, + "src": { + "line": 49, + "column": 65, + "start": 1541, + "end": 1544, + "length": 4, + "parent_index": 96 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { + { + "id": 98, + "node_type": 44, + "src": { + "line": 49, + "column": 71, + "start": 1547, + "end": 1553, + "length": 7, + "parent_index": 95 + }, + "scope": 89, + "name": "", + "type_name": { + "id": 99, + "node_type": 30, + "src": { + "line": 49, + "column": 71, + "start": 1547, + "end": 1553, + "length": 7, + "parent_index": 98 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { "type_identifier": "t_bool", "type_string": "bool" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "approve(address, uint256)", - "signature": "8b069f2a", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_uint256$", - "type_string": "function(address,uint256)" - } - }, - "id": 77, - "node_type": 42, - "kind": 41, - "name": "approve", - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "referenced_declaration_id": 0, - "signature": "8b069f2a", - "modifiers": [], - "overrides": [], - "parameters": [ - { - "ast": { - "id": 79, - "node_type": 44, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1768, - "length": 15, - "parent_index": 78 - }, - "scope": 77, - "name": "spender", - "type_name": { - "id": 80, - "node_type": 30, - "src": { - "line": 51, - "column": 21, - "start": 1754, - "end": 1760, - "length": 7, - "parent_index": 79 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + ] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", + "scope": 33, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "id": 79, - "node_type": 44, - "name": "spender", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": false - }, - { - "ast": { - "id": 81, - "node_type": 44, - "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1784, - "length": 14, - "parent_index": 78 - }, - "scope": 77, - "name": "amount", - "type_name": { - "id": 82, - "node_type": 30, - "src": { - "line": 51, - "column": 38, - "start": 1771, - "end": 1777, - "length": 7, - "parent_index": 81 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 81, - "node_type": 44, - "name": "amount", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 86, - "node_type": 46, - "kind": 0, - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 77 + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" }, - "implemented": false, - "statements": [] - }, - "id": 86, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ - { - "ast": { - "id": 84, - "node_type": 44, + { + "id": 125, + "name": "tryDiv", + "node_type": 42, + "kind": 41, "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 83 - }, - "scope": 77, - "name": "", - "type_name": { - "id": 85, - "node_type": 30, - "src": { - "line": 51, - "column": 72, - "start": 1805, - "end": 1808, - "length": 4, - "parent_index": 84 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "line": 66, + "column": 4, + "start": 2122, + "end": 2311, + "length": 190, + "parent_index": 33 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "id": 84, - "node_type": 44, - "name": "", - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "indexed": false - } - ], - "src": { - "line": 51, - "column": 4, - "start": 1737, - "end": 1810, - "length": 74, - "parent_index": 35 - } - }, - { - "ast": { - "id": 88, - "name": "transferFrom", - "node_type": 42, - "kind": 41, - "src": { - "line": 62, - "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 35 - }, - "name_location": { - "line": 62, - "column": 13, - "start": 2127, - "end": 2138, - "length": 12, - "parent_index": 88 - }, - "body": { - "id": 99, - "node_type": 46, - "kind": 0, - "src": { - "line": 62, - "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 88 - }, - "implemented": false, - "statements": [] - }, - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 89, - "node_type": 43, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2213, - "length": 65, - "parent_index": 88 - }, - "parameters": [ - { - "id": 90, - "node_type": 44, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2162, - "length": 14, - "parent_index": 89 - }, - "scope": 88, - "name": "sender", - "type_name": { - "id": 91, - "node_type": 30, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2155, - "length": 7, - "parent_index": 90 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "name_location": { + "line": 66, + "column": 13, + "start": 2131, + "end": 2136, + "length": 6, + "parent_index": 125 + }, + "body": { + "id": 136, + "node_type": 46, + "kind": 0, + "src": { + "line": 66, + "column": 80, + "start": 2198, + "end": 2311, + "length": 114, + "parent_index": 125 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + "implemented": true, + "statements": [ + { + "id": 137, + "node_type": 59, + "kind": 0, + "src": { + "line": 67, + "column": 8, + "start": 2208, + "end": 2305, + "length": 98, + "parent_index": 33 + }, + "implemented": false, + "statements": [ + { + "id": 138, + "node_type": 48, + "src": { + "line": 68, + "column": 0, + "start": 2232, + "end": 2261, + "length": 30, + "parent_index": 137 + }, + "condition": { + "id": 139, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 68, + "column": 16, + "start": 2236, + "end": 2241, + "length": 6, + "parent_index": 138 + }, + "operator": 11, + "left_expression": { + "id": 140, + "node_type": 16, + "src": { + "line": 68, + "column": 16, + "start": 2236, + "end": 2236, + "length": 1, + "parent_index": 139 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 140, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 141, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 68, + "column": 21, + "start": 2241, + "end": 2241, + "length": 1, + "parent_index": 139 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 142, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 143, + "node_type": 47, + "src": { + "line": 69, + "column": 12, + "start": 2275, + "end": 2295, + "length": 21, + "parent_index": 125 + }, + "function_return_parameters": 125, + "expression": { + "id": 144, + "node_type": 60, + "src": { + "line": 69, + "column": 19, + "start": 2282, + "end": 2294, + "length": 13, + "parent_index": 143 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 145, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 69, + "column": 20, + "start": 2283, + "end": 2286, + "length": 4, + "parent_index": 144 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 146, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 69, + "column": 26, + "start": 2289, + "end": 2293, + "length": 5, + "parent_index": 144 + }, + "operator": 4, + "left_expression": { + "id": 147, + "node_type": 16, + "src": { + "line": 69, + "column": 26, + "start": 2289, + "end": 2289, + "length": 1, + "parent_index": 146 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 147, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 148, + "node_type": 16, + "src": { + "line": 69, + "column": 30, + "start": 2293, + "end": 2293, + "length": 1, + "parent_index": 146 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 148, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } + } + ] + } + ] }, - { - "id": 92, - "node_type": 44, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 126, + "node_type": 43, "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2189, - "length": 17, - "parent_index": 89 + "line": 66, + "column": 20, + "start": 2138, + "end": 2157, + "length": 20, + "parent_index": 125 }, - "scope": 88, - "name": "recipient", - "type_name": { - "id": 93, - "node_type": 30, - "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2179, - "length": 7, - "parent_index": 92 + "parameters": [ + { + "id": 127, + "node_type": 44, + "src": { + "line": 66, + "column": 20, + "start": 2138, + "end": 2146, + "length": 9, + "parent_index": 126 + }, + "scope": 125, + "name": "a", + "type_name": { + "id": 128, + "node_type": 30, + "src": { + "line": 66, + "column": 20, + "start": 2138, + "end": 2144, + "length": 7, + "parent_index": 127 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + { + "id": 129, + "node_type": 44, + "src": { + "line": 66, + "column": 31, + "start": 2149, + "end": 2157, + "length": 9, + "parent_index": 126 + }, + "scope": 125, + "name": "b", + "type_name": { + "id": 130, + "node_type": 30, + "src": { + "line": 66, + "column": 31, + "start": 2149, + "end": 2155, + "length": 7, + "parent_index": 129 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 94, - "node_type": 44, - "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2213, - "length": 14, - "parent_index": 89 - }, - "scope": 88, - "name": "amount", - "type_name": { - "id": 95, - "node_type": 30, - "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2206, - "length": 7, - "parent_index": 94 + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_address", - "type_string": "address" - }, - { - "type_identifier": "t_address", - "type_string": "address" + ] }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 96, - "node_type": 43, - "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 88 - }, - "parameters": [ - { - "id": 97, - "node_type": 44, + "return_parameters": { + "id": 131, + "node_type": 43, "src": { "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 96 + "column": 65, + "start": 2183, + "end": 2195, + "length": 13, + "parent_index": 125 }, - "scope": 88, - "name": "", - "type_name": { - "id": 98, - "node_type": 30, - "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 97 + "parameters": [ + { + "id": 132, + "node_type": 44, + "src": { + "line": 66, + "column": 65, + "start": 2183, + "end": 2186, + "length": 4, + "parent_index": 131 + }, + "scope": 125, + "name": "", + "type_name": { + "id": 133, + "node_type": 30, + "src": { + "line": 66, + "column": 65, + "start": 2183, + "end": 2186, + "length": 4, + "parent_index": 132 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - }, - "signature_raw": "transferFrom(address, address, uint256)", - "signature": "b642fe57", - "scope": 35, - "type_description": { - "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", - "type_string": "function(address,address,uint256)" - } - }, - "id": 88, - "node_type": 42, - "kind": 41, - "name": "transferFrom", - "implemented": false, - "visibility": 4, - "state_mutability": 4, - "virtual": false, - "referenced_declaration_id": 0, - "signature": "b642fe57", - "modifiers": [], - "overrides": [], - "parameters": [ - { - "ast": { - "id": 90, - "node_type": 44, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2162, - "length": 14, - "parent_index": 89 - }, - "scope": 88, - "name": "sender", - "type_name": { - "id": 91, - "node_type": 30, - "src": { - "line": 63, - "column": 8, - "start": 2149, - "end": 2155, - "length": 7, - "parent_index": 90 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "id": 90, - "node_type": 44, - "name": "sender", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - }, - "indexed": false - }, - { - "ast": { - "id": 92, - "node_type": 44, - "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2189, - "length": 17, - "parent_index": 89 - }, - "scope": 88, - "name": "recipient", - "type_name": { - "id": 93, - "node_type": 30, - "src": { - "line": 64, - "column": 8, - "start": 2173, - "end": 2179, - "length": 7, - "parent_index": 92 - }, - "name": "address", - "state_mutability": 4, - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } + { + "id": 134, + "node_type": 44, + "src": { + "line": 66, + "column": 71, + "start": 2189, + "end": 2195, + "length": 7, + "parent_index": 131 + }, + "scope": 125, + "name": "", + "type_name": { + "id": 135, + "node_type": 30, + "src": { + "line": 66, + "column": 71, + "start": 2189, + "end": 2195, + "length": 7, + "parent_index": 134 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 4, + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", + "scope": 33, "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - "id": 92, - "node_type": 44, - "name": "recipient", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" }, - "indexed": false - }, - { - "ast": { - "id": 94, - "node_type": 44, + { + "id": 150, + "name": "tryMod", + "node_type": 42, + "kind": 41, "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2213, - "length": 14, - "parent_index": 89 + "line": 78, + "column": 4, + "start": 2471, + "end": 2660, + "length": 190, + "parent_index": 33 }, - "scope": 88, - "name": "amount", - "type_name": { - "id": 95, - "node_type": 30, + "name_location": { + "line": 78, + "column": 13, + "start": 2480, + "end": 2485, + "length": 6, + "parent_index": 150 + }, + "body": { + "id": 161, + "node_type": 46, + "kind": 0, "src": { - "line": 65, - "column": 8, - "start": 2200, - "end": 2206, - "length": 7, - "parent_index": 94 + "line": 78, + "column": 80, + "start": 2547, + "end": 2660, + "length": 114, + "parent_index": 150 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 94, - "node_type": 44, - "name": "amount", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 99, - "node_type": 46, - "kind": 0, - "src": { - "line": 62, - "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 88 - }, - "implemented": false, - "statements": [] - }, - "id": 99, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ - { - "ast": { - "id": 97, - "node_type": 44, - "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 96 + "implemented": true, + "statements": [ + { + "id": 162, + "node_type": 59, + "kind": 0, + "src": { + "line": 79, + "column": 8, + "start": 2557, + "end": 2654, + "length": 98, + "parent_index": 33 + }, + "implemented": false, + "statements": [ + { + "id": 163, + "node_type": 48, + "src": { + "line": 80, + "column": 0, + "start": 2581, + "end": 2610, + "length": 30, + "parent_index": 162 + }, + "condition": { + "id": 164, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 80, + "column": 16, + "start": 2585, + "end": 2590, + "length": 6, + "parent_index": 163 + }, + "operator": 11, + "left_expression": { + "id": 165, + "node_type": 16, + "src": { + "line": 80, + "column": 16, + "start": 2585, + "end": 2585, + "length": 1, + "parent_index": 164 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 165, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 166, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 80, + "column": 21, + "start": 2590, + "end": 2590, + "length": 1, + "parent_index": 164 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 167, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 168, + "node_type": 47, + "src": { + "line": 81, + "column": 12, + "start": 2624, + "end": 2644, + "length": 21, + "parent_index": 150 + }, + "function_return_parameters": 150, + "expression": { + "id": 169, + "node_type": 60, + "src": { + "line": 81, + "column": 19, + "start": 2631, + "end": 2643, + "length": 13, + "parent_index": 168 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 170, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 81, + "column": 20, + "start": 2632, + "end": 2635, + "length": 4, + "parent_index": 169 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 171, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 81, + "column": 26, + "start": 2638, + "end": 2642, + "length": 5, + "parent_index": 169 + }, + "operator": 5, + "left_expression": { + "id": 172, + "node_type": 16, + "src": { + "line": 81, + "column": 26, + "start": 2638, + "end": 2638, + "length": 1, + "parent_index": 171 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 172, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 173, + "node_type": 16, + "src": { + "line": 81, + "column": 30, + "start": 2642, + "end": 2642, + "length": 1, + "parent_index": 171 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 173, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } + } + ] + } + ] }, - "scope": 88, - "name": "", - "type_name": { - "id": 98, - "node_type": 30, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 151, + "node_type": 43, "src": { - "line": 66, - "column": 24, - "start": 2239, - "end": 2242, - "length": 4, - "parent_index": 97 + "line": 78, + "column": 20, + "start": 2487, + "end": 2506, + "length": 20, + "parent_index": 150 }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "parameters": [ + { + "id": 152, + "node_type": 44, + "src": { + "line": 78, + "column": 20, + "start": 2487, + "end": 2495, + "length": 9, + "parent_index": 151 + }, + "scope": 150, + "name": "a", + "type_name": { + "id": 153, + "node_type": 30, + "src": { + "line": 78, + "column": 20, + "start": 2487, + "end": 2493, + "length": 7, + "parent_index": 152 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 154, + "node_type": 44, + "src": { + "line": 78, + "column": 31, + "start": 2498, + "end": 2506, + "length": 9, + "parent_index": 151 + }, + "scope": 150, + "name": "b", + "type_name": { + "id": 155, + "node_type": 30, + "src": { + "line": 78, + "column": 31, + "start": 2498, + "end": 2504, + "length": 7, + "parent_index": 154 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "id": 97, - "node_type": 44, - "name": "", - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "indexed": false - } - ], - "src": { - "line": 62, - "column": 4, - "start": 2118, - "end": 2244, - "length": 127, - "parent_index": 35 - } - } - ] - }, - { - "ast": { - "id": 118, - "base_contracts": [], - "license": "MIT", - "exported_symbols": [ - { - "id": 118, - "name": "SafeMath", - "absolute_path": "SafeMath.sol" - } - ], - "absolute_path": "SafeMath.sol", - "name": "SafeMath", - "node_type": 1, - "nodes": [ - { - "id": 120, - "node_type": 10, - "src": { - "line": 85, - "column": 0, - "start": 2760, - "end": 2782, - "length": 23, - "parent_index": 118 - }, - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" - ], - "text": "pragma solidity ^0.8.0;" - }, - { - "id": 121, - "name": "SafeMath", - "node_type": 35, - "src": { - "line": 100, - "column": 0, - "start": 3349, - "end": 9824, - "length": 6476, - "parent_index": 118 - }, - "name_location": { - "line": 100, - "column": 8, - "start": 3357, - "end": 3364, - "length": 8, - "parent_index": 121 - }, - "abstract": false, - "kind": 37, - "fully_implemented": true, - "nodes": [ + "return_parameters": { + "id": 156, + "node_type": 43, + "src": { + "line": 78, + "column": 65, + "start": 2532, + "end": 2544, + "length": 13, + "parent_index": 150 + }, + "parameters": [ + { + "id": 157, + "node_type": 44, + "src": { + "line": 78, + "column": 65, + "start": 2532, + "end": 2535, + "length": 4, + "parent_index": 156 + }, + "scope": 150, + "name": "", + "type_name": { + "id": 158, + "node_type": 30, + "src": { + "line": 78, + "column": 65, + "start": 2532, + "end": 2535, + "length": 4, + "parent_index": 157 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 159, + "node_type": 44, + "src": { + "line": 78, + "column": 71, + "start": 2538, + "end": 2544, + "length": 7, + "parent_index": 156 + }, + "scope": 150, + "name": "", + "type_name": { + "id": 160, + "node_type": 30, + "src": { + "line": 78, + "column": 71, + "start": 2538, + "end": 2544, + "length": 7, + "parent_index": 159 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" + }, { - "id": 123, - "name": "tryAdd", + "id": 175, + "name": "add", "node_type": 42, "kind": 41, "src": { - "line": 106, + "line": 95, "column": 4, - "start": 3508, - "end": 3723, - "length": 216, - "parent_index": 121 + "start": 2896, + "end": 2991, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 106, + "line": 95, "column": 13, - "start": 3517, - "end": 3522, - "length": 6, - "parent_index": 123 + "start": 2905, + "end": 2907, + "length": 3, + "parent_index": 175 }, "body": { - "id": 134, + "id": 184, "node_type": 46, "kind": 0, "src": { - "line": 106, - "column": 80, - "start": 3584, - "end": 3723, - "length": 140, - "parent_index": 123 + "line": 95, + "column": 71, + "start": 2963, + "end": 2991, + "length": 29, + "parent_index": 175 }, "implemented": true, "statements": [ { - "id": 135, - "node_type": 59, - "kind": 0, + "id": 185, + "node_type": 47, "src": { - "line": 107, + "line": 96, "column": 8, - "start": 3594, - "end": 3717, - "length": 124, - "parent_index": 121 + "start": 2973, + "end": 2985, + "length": 13, + "parent_index": 175 }, - "implemented": false, - "statements": [ - { - "id": 136, - "node_type": 44, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3635, - "length": 18, - "parent_index": 135 - }, - "assignments": [ - 137 - ], - "declarations": [ - { - "id": 137, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 135, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3626, - "length": 9, - "parent_index": 136 - }, - "name_location": { - "line": 108, - "column": 20, - "start": 3626, - "end": 3626, - "length": 1, - "parent_index": 137 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 138, - "node_type": 30, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3624, - "length": 7, - "parent_index": 137 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 139, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3634, - "length": 5, - "parent_index": 136 - }, - "operator": 1, - "left_expression": { - "id": 140, - "node_type": 16, - "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3630, - "length": 1, - "parent_index": 139 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 140, - "is_pure": false - }, - "right_expression": { - "id": 141, - "node_type": 16, - "src": { - "line": 108, - "column": 28, - "start": 3634, - "end": 3634, - "length": 1, - "parent_index": 139 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 141, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } + "function_return_parameters": 175, + "expression": { + "id": 186, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 96, + "column": 15, + "start": 2980, + "end": 2984, + "length": 5, + "parent_index": 185 }, - { - "id": 142, - "node_type": 48, + "operator": 1, + "left_expression": { + "id": 187, + "node_type": 16, "src": { - "line": 109, - "column": 0, - "start": 3649, - "end": 3677, - "length": 29, - "parent_index": 135 - }, - "condition": { - "id": 143, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 109, - "column": 16, - "start": 3653, - "end": 3657, - "length": 5, - "parent_index": 142 - }, - "operator": 9, - "left_expression": { - "id": 144, - "node_type": 16, - "src": { - "line": 109, - "column": 16, - "start": 3653, - "end": 3653, - "length": 1, - "parent_index": 143 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false - }, - "right_expression": { - "id": 145, - "node_type": 16, - "src": { - "line": 109, - "column": 20, - "start": 3657, - "end": 3657, - "length": 1, - "parent_index": 143 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 145, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "line": 96, + "column": 15, + "start": 2980, + "end": 2980, + "length": 1, + "parent_index": 186 }, - "body": { - "id": 146, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 147, - "node_type": 47, - "src": { - "line": 110, - "column": 12, - "start": 3691, - "end": 3707, - "length": 17, - "parent_index": 123 + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "function_return_parameters": 123, - "expression": { - "id": 148, - "node_type": 60, - "src": { - "line": 110, - "column": 19, - "start": 3698, - "end": 3706, - "length": 9, - "parent_index": 147 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 149, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 110, - "column": 20, - "start": 3699, - "end": 3702, - "length": 4, - "parent_index": 148 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 150, - "node_type": 16, - "src": { - "line": 110, - "column": 26, - "start": 3705, - "end": 3705, - "length": 1, - "parent_index": 148 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "overloaded_declarations": [], + "referenced_declaration": 187, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 188, + "node_type": 16, + "src": { + "line": 96, + "column": 19, + "start": 2984, + "end": 2984, + "length": 1, + "parent_index": 186 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 188, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 124, + "id": 176, "node_type": 43, "src": { - "line": 106, - "column": 20, - "start": 3524, - "end": 3543, + "line": 95, + "column": 17, + "start": 2909, + "end": 2928, "length": 20, - "parent_index": 123 + "parent_index": 175 }, "parameters": [ { - "id": 125, + "id": 177, "node_type": 44, "src": { - "line": 106, - "column": 20, - "start": 3524, - "end": 3532, + "line": 95, + "column": 17, + "start": 2909, + "end": 2917, "length": 9, - "parent_index": 124 + "parent_index": 176 }, - "scope": 123, + "scope": 175, "name": "a", "type_name": { - "id": 126, + "id": 178, "node_type": 30, "src": { - "line": 106, - "column": 20, - "start": 3524, - "end": 3530, + "line": 95, + "column": 17, + "start": 2909, + "end": 2915, "length": 7, - "parent_index": 125 + "parent_index": 177 }, "name": "uint256", "referenced_declaration": 0, @@ -16375,28 +14197,28 @@ } }, { - "id": 127, + "id": 179, "node_type": 44, "src": { - "line": 106, - "column": 31, - "start": 3535, - "end": 3543, + "line": 95, + "column": 28, + "start": 2920, + "end": 2928, "length": 9, - "parent_index": 124 + "parent_index": 176 }, - "scope": 123, + "scope": 175, "name": "b", "type_name": { - "id": 128, + "id": 180, "node_type": 30, "src": { - "line": 106, - "column": 31, - "start": 3535, - "end": 3541, + "line": 95, + "column": 28, + "start": 2920, + "end": 2926, "length": 7, - "parent_index": 127 + "parent_index": 179 }, "name": "uint256", "referenced_declaration": 0, @@ -16426,79 +14248,264 @@ ] }, "return_parameters": { - "id": 129, + "id": 181, "node_type": 43, "src": { - "line": 106, - "column": 65, - "start": 3569, - "end": 3581, - "length": 13, - "parent_index": 123 + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, + "length": 7, + "parent_index": 175 }, "parameters": [ { - "id": 130, + "id": 182, "node_type": 44, "src": { - "line": 106, - "column": 65, - "start": 3569, - "end": 3572, - "length": 4, - "parent_index": 129 + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, + "length": 7, + "parent_index": 181 }, - "scope": 123, + "scope": 175, "name": "", "type_name": { - "id": 131, + "id": 183, "node_type": 30, "src": { - "line": 106, - "column": 65, - "start": 3569, - "end": 3572, - "length": 4, - "parent_index": 130 + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, + "length": 7, + "parent_index": 182 }, - "name": "bool", + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" + }, + { + "id": 190, + "name": "sub", + "node_type": 42, + "kind": 41, + "src": { + "line": 109, + "column": 4, + "start": 3263, + "end": 3358, + "length": 96, + "parent_index": 33 + }, + "name_location": { + "line": 109, + "column": 13, + "start": 3272, + "end": 3274, + "length": 3, + "parent_index": 190 + }, + "body": { + "id": 199, + "node_type": 46, + "kind": 0, + "src": { + "line": 109, + "column": 71, + "start": 3330, + "end": 3358, + "length": 29, + "parent_index": 190 + }, + "implemented": true, + "statements": [ + { + "id": 200, + "node_type": 47, + "src": { + "line": 110, + "column": 8, + "start": 3340, + "end": 3352, + "length": 13, + "parent_index": 190 + }, + "function_return_parameters": 190, + "expression": { + "id": 201, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 110, + "column": 15, + "start": 3347, + "end": 3351, + "length": 5, + "parent_index": 200 + }, + "operator": 2, + "left_expression": { + "id": 202, + "node_type": 16, + "src": { + "line": 110, + "column": 15, + "start": 3347, + "end": 3347, + "length": 1, + "parent_index": 201 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 202, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 203, + "node_type": 16, + "src": { + "line": 110, + "column": 19, + "start": 3351, + "end": 3351, + "length": 1, + "parent_index": 201 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 203, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 191, + "node_type": 43, + "src": { + "line": 109, + "column": 17, + "start": 3276, + "end": 3295, + "length": 20, + "parent_index": 190 + }, + "parameters": [ + { + "id": 192, + "node_type": 44, + "src": { + "line": 109, + "column": 17, + "start": 3276, + "end": 3284, + "length": 9, + "parent_index": 191 + }, + "scope": 190, + "name": "a", + "type_name": { + "id": 193, + "node_type": 30, + "src": { + "line": 109, + "column": 17, + "start": 3276, + "end": 3282, + "length": 7, + "parent_index": 192 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 132, + "id": 194, "node_type": 44, "src": { - "line": 106, - "column": 71, - "start": 3575, - "end": 3581, - "length": 7, - "parent_index": 129 + "line": 109, + "column": 28, + "start": 3287, + "end": 3295, + "length": 9, + "parent_index": 191 }, - "scope": 123, - "name": "", + "scope": 190, + "name": "b", "type_name": { - "id": 133, + "id": 195, "node_type": 30, "src": { - "line": 106, - "column": 71, - "start": 3575, - "end": 3581, + "line": 109, + "column": 28, + "start": 3287, + "end": 3293, "length": 7, - "parent_index": 132 + "parent_index": 194 }, "name": "uint256", "referenced_declaration": 0, @@ -16518,8 +14525,8 @@ ], "parameter_types": [ { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" }, { "type_identifier": "t_uint256", @@ -16527,307 +14534,226 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", - "scope": 121, + "return_parameters": { + "id": 196, + "node_type": 43, + "src": { + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 190 + }, + "parameters": [ + { + "id": 197, + "node_type": 44, + "src": { + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 196 + }, + "scope": 190, + "name": "", + "type_name": { + "id": 198, + "node_type": 30, + "src": { + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 197 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, { - "id": 152, - "name": "trySub", + "id": 205, + "name": "mul", "node_type": 42, "kind": 41, "src": { - "line": 119, + "line": 123, "column": 4, - "start": 3870, - "end": 4058, - "length": 189, - "parent_index": 121 + "start": 3606, + "end": 3701, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 119, + "line": 123, "column": 13, - "start": 3879, - "end": 3884, - "length": 6, - "parent_index": 152 + "start": 3615, + "end": 3617, + "length": 3, + "parent_index": 205 }, "body": { - "id": 163, + "id": 214, "node_type": 46, "kind": 0, "src": { - "line": 119, - "column": 80, - "start": 3946, - "end": 4058, - "length": 113, - "parent_index": 152 + "line": 123, + "column": 71, + "start": 3673, + "end": 3701, + "length": 29, + "parent_index": 205 }, "implemented": true, "statements": [ { - "id": 164, - "node_type": 59, - "kind": 0, + "id": 215, + "node_type": 47, "src": { - "line": 120, + "line": 124, "column": 8, - "start": 3956, - "end": 4052, - "length": 97, - "parent_index": 121 + "start": 3683, + "end": 3695, + "length": 13, + "parent_index": 205 }, - "implemented": false, - "statements": [ - { - "id": 165, - "node_type": 48, + "function_return_parameters": 205, + "expression": { + "id": 216, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 124, + "column": 15, + "start": 3690, + "end": 3694, + "length": 5, + "parent_index": 215 + }, + "operator": 3, + "left_expression": { + "id": 217, + "node_type": 16, "src": { - "line": 121, - "column": 0, - "start": 3980, - "end": 4008, - "length": 29, - "parent_index": 164 + "line": 124, + "column": 15, + "start": 3690, + "end": 3690, + "length": 1, + "parent_index": 216 }, - "condition": { - "id": 166, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 121, - "column": 16, - "start": 3984, - "end": 3988, - "length": 5, - "parent_index": 165 - }, - "operator": 7, - "left_expression": { - "id": 167, - "node_type": 16, - "src": { - "line": 121, - "column": 16, - "start": 3984, - "end": 3984, - "length": 1, - "parent_index": 166 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 167, - "is_pure": false - }, - "right_expression": { - "id": 168, - "node_type": 16, - "src": { - "line": 121, - "column": 20, - "start": 3988, - "end": 3988, - "length": 1, - "parent_index": 166 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 168, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 169, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 217, + "is_pure": false, + "text": "a" }, - { - "id": 170, - "node_type": 47, + "right_expression": { + "id": 218, + "node_type": 16, "src": { - "line": 122, - "column": 12, - "start": 4022, - "end": 4042, - "length": 21, - "parent_index": 152 + "line": 124, + "column": 19, + "start": 3694, + "end": 3694, + "length": 1, + "parent_index": 216 }, - "function_return_parameters": 152, - "expression": { - "id": 171, - "node_type": 60, - "src": { - "line": 122, - "column": 19, - "start": 4029, - "end": 4041, - "length": 13, - "parent_index": 170 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 172, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 122, - "column": 20, - "start": 4030, - "end": 4033, - "length": 4, - "parent_index": 171 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 173, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 122, - "column": 26, - "start": 4036, - "end": 4040, - "length": 5, - "parent_index": 171 - }, - "operator": 2, - "left_expression": { - "id": 174, - "node_type": 16, - "src": { - "line": 122, - "column": 26, - "start": 4036, - "end": 4036, - "length": 1, - "parent_index": 173 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 174, - "is_pure": false - }, - "right_expression": { - "id": 175, - "node_type": 16, - "src": { - "line": 122, - "column": 30, - "start": 4040, - "end": 4040, - "length": 1, - "parent_index": 173 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 175, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 218, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 153, + "id": 206, "node_type": 43, "src": { - "line": 119, - "column": 20, - "start": 3886, - "end": 3905, + "line": 123, + "column": 17, + "start": 3619, + "end": 3638, "length": 20, - "parent_index": 152 + "parent_index": 205 }, "parameters": [ { - "id": 154, + "id": 207, "node_type": 44, "src": { - "line": 119, - "column": 20, - "start": 3886, - "end": 3894, + "line": 123, + "column": 17, + "start": 3619, + "end": 3627, "length": 9, - "parent_index": 153 + "parent_index": 206 }, - "scope": 152, + "scope": 205, "name": "a", "type_name": { - "id": 155, + "id": 208, "node_type": 30, "src": { - "line": 119, - "column": 20, - "start": 3886, - "end": 3892, + "line": 123, + "column": 17, + "start": 3619, + "end": 3625, "length": 7, - "parent_index": 154 + "parent_index": 207 }, "name": "uint256", "referenced_declaration": 0, @@ -16845,28 +14771,28 @@ } }, { - "id": 156, + "id": 209, "node_type": 44, "src": { - "line": 119, - "column": 31, - "start": 3897, - "end": 3905, + "line": 123, + "column": 28, + "start": 3630, + "end": 3638, "length": 9, - "parent_index": 153 + "parent_index": 206 }, - "scope": 152, + "scope": 205, "name": "b", "type_name": { - "id": 157, + "id": 210, "node_type": 30, "src": { - "line": 119, - "column": 31, - "start": 3897, - "end": 3903, + "line": 123, + "column": 28, + "start": 3630, + "end": 3636, "length": 7, - "parent_index": 156 + "parent_index": 209 }, "name": "uint256", "referenced_declaration": 0, @@ -16896,79 +14822,40 @@ ] }, "return_parameters": { - "id": 158, + "id": 211, "node_type": 43, "src": { - "line": 119, - "column": 65, - "start": 3931, - "end": 3943, - "length": 13, - "parent_index": 152 + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, + "length": 7, + "parent_index": 205 }, "parameters": [ { - "id": 159, - "node_type": 44, - "src": { - "line": 119, - "column": 65, - "start": 3931, - "end": 3934, - "length": 4, - "parent_index": 158 - }, - "scope": 152, - "name": "", - "type_name": { - "id": 160, - "node_type": 30, - "src": { - "line": 119, - "column": 65, - "start": 3931, - "end": 3934, - "length": 4, - "parent_index": 159 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 161, + "id": 212, "node_type": 44, "src": { - "line": 119, - "column": 71, - "start": 3937, - "end": 3943, + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, "length": 7, - "parent_index": 158 + "parent_index": 211 }, - "scope": 152, + "scope": 205, "name": "", "type_name": { - "id": 162, + "id": 213, "node_type": 30, "src": { - "line": 119, - "column": 71, - "start": 3937, - "end": 3943, + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, "length": 7, - "parent_index": 161 + "parent_index": 212 }, "name": "uint256", "referenced_declaration": 0, @@ -16987,524 +14874,173 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", - "scope": 121, + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, { - "id": 177, - "name": "tryMul", + "id": 220, + "name": "div", "node_type": 42, "kind": 41, "src": { - "line": 131, + "line": 139, "column": 4, - "start": 4207, - "end": 4699, - "length": 493, - "parent_index": 121 + "start": 4166, + "end": 4261, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 131, + "line": 139, "column": 13, - "start": 4216, - "end": 4221, - "length": 6, - "parent_index": 177 + "start": 4175, + "end": 4177, + "length": 3, + "parent_index": 220 }, "body": { - "id": 188, + "id": 229, "node_type": 46, "kind": 0, "src": { - "line": 131, - "column": 80, - "start": 4283, - "end": 4699, - "length": 417, - "parent_index": 177 + "line": 139, + "column": 71, + "start": 4233, + "end": 4261, + "length": 29, + "parent_index": 220 }, "implemented": true, "statements": [ { - "id": 189, - "node_type": 59, - "kind": 0, + "id": 230, + "node_type": 47, "src": { - "line": 132, + "line": 140, "column": 8, - "start": 4293, - "end": 4693, - "length": 401, - "parent_index": 121 + "start": 4243, + "end": 4255, + "length": 13, + "parent_index": 220 }, - "implemented": false, - "statements": [ - { - "id": 190, - "node_type": 48, - "src": { - "line": 136, - "column": 0, - "start": 4547, - "end": 4575, - "length": 29, - "parent_index": 189 - }, - "condition": { - "id": 191, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 136, - "column": 16, - "start": 4551, - "end": 4556, - "length": 6, - "parent_index": 190 - }, - "operator": 11, - "left_expression": { - "id": 192, - "node_type": 16, - "src": { - "line": 136, - "column": 16, - "start": 4551, - "end": 4551, - "length": 1, - "parent_index": 191 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 192, - "is_pure": false - }, - "right_expression": { - "id": 193, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 136, - "column": 21, - "start": 4556, - "end": 4556, - "length": 1, - "parent_index": 191 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 194, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 195, - "node_type": 44, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4606, - "length": 18, - "parent_index": 189 - }, - "assignments": [ - 196 - ], - "declarations": [ - { - "id": 196, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 189, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4597, - "length": 9, - "parent_index": 195 - }, - "name_location": { - "line": 137, - "column": 20, - "start": 4597, - "end": 4597, - "length": 1, - "parent_index": 196 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 197, - "node_type": 30, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4595, - "length": 7, - "parent_index": 196 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 198, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4605, - "length": 5, - "parent_index": 195 - }, - "operator": 3, - "left_expression": { - "id": 199, - "node_type": 16, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4601, - "length": 1, - "parent_index": 198 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 199, - "is_pure": false - }, - "right_expression": { - "id": 200, - "node_type": 16, - "src": { - "line": 137, - "column": 28, - "start": 4605, - "end": 4605, - "length": 1, - "parent_index": 198 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 200, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } + "function_return_parameters": 220, + "expression": { + "id": 231, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 140, + "column": 15, + "start": 4250, + "end": 4254, + "length": 5, + "parent_index": 230 }, - { - "id": 201, - "node_type": 48, + "operator": 4, + "left_expression": { + "id": 232, + "node_type": 16, "src": { - "line": 138, - "column": 0, - "start": 4620, - "end": 4653, - "length": 34, - "parent_index": 189 + "line": 140, + "column": 15, + "start": 4250, + "end": 4250, + "length": 1, + "parent_index": 231 }, - "condition": { - "id": 202, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4633, - "length": 10, - "parent_index": 201 - }, - "operator": 12, - "left_expression": { - "id": 203, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4628, - "length": 5, - "parent_index": 202 - }, - "operator": 4, - "left_expression": { - "id": 204, - "node_type": 16, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4624, - "length": 1, - "parent_index": 203 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false - }, - "right_expression": { - "id": 205, - "node_type": 16, - "src": { - "line": 138, - "column": 20, - "start": 4628, - "end": 4628, - "length": 1, - "parent_index": 203 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 205, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "right_expression": { - "id": 206, - "node_type": 16, - "src": { - "line": 138, - "column": 25, - "start": 4633, - "end": 4633, - "length": 1, - "parent_index": 202 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 206, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 207, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 232, + "is_pure": false, + "text": "a" }, - { - "id": 208, - "node_type": 47, + "right_expression": { + "id": 233, + "node_type": 16, "src": { - "line": 139, - "column": 12, - "start": 4667, - "end": 4683, - "length": 17, - "parent_index": 177 + "line": 140, + "column": 19, + "start": 4254, + "end": 4254, + "length": 1, + "parent_index": 231 }, - "function_return_parameters": 177, - "expression": { - "id": 209, - "node_type": 60, - "src": { - "line": 139, - "column": 19, - "start": 4674, - "end": 4682, - "length": 9, - "parent_index": 208 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 210, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 139, - "column": 20, - "start": 4675, - "end": 4678, - "length": 4, - "parent_index": 209 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 211, - "node_type": 16, - "src": { - "line": 139, - "column": 26, - "start": 4681, - "end": 4681, - "length": 1, - "parent_index": 209 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 233, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 178, + "id": 221, "node_type": 43, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4242, + "line": 139, + "column": 17, + "start": 4179, + "end": 4198, "length": 20, - "parent_index": 177 + "parent_index": 220 }, "parameters": [ { - "id": 179, + "id": 222, "node_type": 44, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4231, + "line": 139, + "column": 17, + "start": 4179, + "end": 4187, "length": 9, - "parent_index": 178 + "parent_index": 221 }, - "scope": 177, + "scope": 220, "name": "a", "type_name": { - "id": 180, + "id": 223, "node_type": 30, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4229, + "line": 139, + "column": 17, + "start": 4179, + "end": 4185, "length": 7, - "parent_index": 179 + "parent_index": 222 }, "name": "uint256", "referenced_declaration": 0, @@ -17522,28 +15058,28 @@ } }, { - "id": 181, + "id": 224, "node_type": 44, "src": { - "line": 131, - "column": 31, - "start": 4234, - "end": 4242, + "line": 139, + "column": 28, + "start": 4190, + "end": 4198, "length": 9, - "parent_index": 178 + "parent_index": 221 }, - "scope": 177, + "scope": 220, "name": "b", "type_name": { - "id": 182, + "id": 225, "node_type": 30, "src": { - "line": 131, - "column": 31, - "start": 4234, - "end": 4240, + "line": 139, + "column": 28, + "start": 4190, + "end": 4196, "length": 7, - "parent_index": 181 + "parent_index": 224 }, "name": "uint256", "referenced_declaration": 0, @@ -17573,79 +15109,40 @@ ] }, "return_parameters": { - "id": 183, + "id": 226, "node_type": 43, "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4280, - "length": 13, - "parent_index": 177 + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, + "length": 7, + "parent_index": 220 }, "parameters": [ { - "id": 184, - "node_type": 44, - "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4271, - "length": 4, - "parent_index": 183 - }, - "scope": 177, - "name": "", - "type_name": { - "id": 185, - "node_type": 30, - "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4271, - "length": 4, - "parent_index": 184 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 186, + "id": 227, "node_type": 44, "src": { - "line": 131, - "column": 71, - "start": 4274, - "end": 4280, + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 183 + "parent_index": 226 }, - "scope": 177, + "scope": 220, "name": "", "type_name": { - "id": 187, + "id": 228, "node_type": 30, "src": { - "line": 131, - "column": 71, - "start": 4274, - "end": 4280, + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 186 + "parent_index": 227 }, "name": "uint256", "referenced_declaration": 0, @@ -17664,319 +15161,173 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", - "scope": 121, + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, { - "id": 213, - "name": "tryDiv", + "id": 235, + "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 148, + "line": 155, "column": 4, - "start": 4849, - "end": 5038, - "length": 190, - "parent_index": 121 + "start": 4715, + "end": 4810, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 148, + "line": 155, "column": 13, - "start": 4858, - "end": 4863, - "length": 6, - "parent_index": 213 + "start": 4724, + "end": 4726, + "length": 3, + "parent_index": 235 }, "body": { - "id": 224, + "id": 244, "node_type": 46, "kind": 0, "src": { - "line": 148, - "column": 80, - "start": 4925, - "end": 5038, - "length": 114, - "parent_index": 213 + "line": 155, + "column": 71, + "start": 4782, + "end": 4810, + "length": 29, + "parent_index": 235 }, "implemented": true, "statements": [ { - "id": 225, - "node_type": 59, - "kind": 0, + "id": 245, + "node_type": 47, "src": { - "line": 149, + "line": 156, "column": 8, - "start": 4935, - "end": 5032, - "length": 98, - "parent_index": 121 + "start": 4792, + "end": 4804, + "length": 13, + "parent_index": 235 }, - "implemented": false, - "statements": [ - { - "id": 226, - "node_type": 48, + "function_return_parameters": 235, + "expression": { + "id": 246, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 156, + "column": 15, + "start": 4799, + "end": 4803, + "length": 5, + "parent_index": 245 + }, + "operator": 5, + "left_expression": { + "id": 247, + "node_type": 16, "src": { - "line": 150, - "column": 0, - "start": 4959, - "end": 4988, - "length": 30, - "parent_index": 225 + "line": 156, + "column": 15, + "start": 4799, + "end": 4799, + "length": 1, + "parent_index": 246 }, - "condition": { - "id": 227, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 150, - "column": 16, - "start": 4963, - "end": 4968, - "length": 6, - "parent_index": 226 - }, - "operator": 11, - "left_expression": { - "id": 228, - "node_type": 16, - "src": { - "line": 150, - "column": 16, - "start": 4963, - "end": 4963, - "length": 1, - "parent_index": 227 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 228, - "is_pure": false - }, - "right_expression": { - "id": 229, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 150, - "column": 21, - "start": 4968, - "end": 4968, - "length": 1, - "parent_index": 227 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 230, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 247, + "is_pure": false, + "text": "a" }, - { - "id": 231, - "node_type": 47, + "right_expression": { + "id": 248, + "node_type": 16, "src": { - "line": 151, - "column": 12, - "start": 5002, - "end": 5022, - "length": 21, - "parent_index": 213 + "line": 156, + "column": 19, + "start": 4803, + "end": 4803, + "length": 1, + "parent_index": 246 }, - "function_return_parameters": 213, - "expression": { - "id": 232, - "node_type": 60, - "src": { - "line": 151, - "column": 19, - "start": 5009, - "end": 5021, - "length": 13, - "parent_index": 231 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 233, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 151, - "column": 20, - "start": 5010, - "end": 5013, - "length": 4, - "parent_index": 232 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 234, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 151, - "column": 26, - "start": 5016, - "end": 5020, - "length": 5, - "parent_index": 232 - }, - "operator": 4, - "left_expression": { - "id": 235, - "node_type": 16, - "src": { - "line": 151, - "column": 26, - "start": 5016, - "end": 5016, - "length": 1, - "parent_index": 234 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 235, - "is_pure": false - }, - "right_expression": { - "id": 236, - "node_type": 16, - "src": { - "line": 151, - "column": 30, - "start": 5020, - "end": 5020, - "length": 1, - "parent_index": 234 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 236, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 248, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 214, + "id": 236, "node_type": 43, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4884, + "line": 155, + "column": 17, + "start": 4728, + "end": 4747, "length": 20, - "parent_index": 213 + "parent_index": 235 }, "parameters": [ { - "id": 215, + "id": 237, "node_type": 44, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4873, + "line": 155, + "column": 17, + "start": 4728, + "end": 4736, "length": 9, - "parent_index": 214 + "parent_index": 236 }, - "scope": 213, + "scope": 235, "name": "a", "type_name": { - "id": 216, + "id": 238, "node_type": 30, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4871, + "line": 155, + "column": 17, + "start": 4728, + "end": 4734, "length": 7, - "parent_index": 215 + "parent_index": 237 }, "name": "uint256", "referenced_declaration": 0, @@ -17994,28 +15345,28 @@ } }, { - "id": 217, + "id": 239, "node_type": 44, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4884, + "line": 155, + "column": 28, + "start": 4739, + "end": 4747, "length": 9, - "parent_index": 214 + "parent_index": 236 }, - "scope": 213, + "scope": 235, "name": "b", "type_name": { - "id": 218, + "id": 240, "node_type": 30, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4882, + "line": 155, + "column": 28, + "start": 4739, + "end": 4745, "length": 7, - "parent_index": 217 + "parent_index": 239 }, "name": "uint256", "referenced_declaration": 0, @@ -18045,362 +15396,331 @@ ] }, "return_parameters": { - "id": 219, + "id": 241, "node_type": 43, "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4922, - "length": 13, - "parent_index": 213 + "line": 155, + "column": 62, + "start": 4773, + "end": 4779, + "length": 7, + "parent_index": 235 }, "parameters": [ { - "id": 220, + "id": 242, "node_type": 44, "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 219 + "line": 155, + "column": 62, + "start": 4773, + "end": 4779, + "length": 7, + "parent_index": 241 }, - "scope": 213, + "scope": 235, "name": "", "type_name": { - "id": 221, + "id": 243, "node_type": 30, "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 220 + "line": 155, + "column": 62, + "start": 4773, + "end": 4779, + "length": 7, + "parent_index": 242 }, - "name": "bool", + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } - }, + } + ], + "parameter_types": [ { - "id": 222, - "node_type": 44, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" + }, + { + "id": 250, + "name": "sub", + "node_type": 42, + "kind": 41, + "src": { + "line": 172, + "column": 4, + "start": 5275, + "end": 5505, + "length": 231, + "parent_index": 33 + }, + "name_location": { + "line": 172, + "column": 13, + "start": 5284, + "end": 5286, + "length": 3, + "parent_index": 250 + }, + "body": { + "id": 261, + "node_type": 46, + "kind": 0, + "src": { + "line": 176, + "column": 38, + "start": 5400, + "end": 5505, + "length": 106, + "parent_index": 250 + }, + "implemented": true, + "statements": [ + { + "id": 262, + "node_type": 59, + "kind": 0, "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, - "length": 7, - "parent_index": 219 + "line": 177, + "column": 8, + "start": 5410, + "end": 5499, + "length": 90, + "parent_index": 33 }, - "scope": 213, - "name": "", - "type_name": { - "id": 223, - "node_type": 30, - "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, - "length": 7, - "parent_index": 222 + "implemented": false, + "statements": [ + { + "id": 263, + "node_type": 24, + "kind": 24, + "src": { + "line": 178, + "column": 12, + "start": 5434, + "end": 5462, + "length": 29, + "parent_index": 262 + }, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 265, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5447, + "length": 6, + "parent_index": 263 + }, + "operator": 10, + "left_expression": { + "id": 266, + "node_type": 16, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5442, + "length": 1, + "parent_index": 265 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 266, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 267, + "node_type": 16, + "src": { + "line": 178, + "column": 25, + "start": 5447, + "end": 5447, + "length": 1, + "parent_index": 265 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 267, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 268, + "node_type": 16, + "src": { + "line": 178, + "column": 28, + "start": 5450, + "end": 5461, + "length": 12, + "parent_index": 263 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 268, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 264, + "node_type": 16, + "src": { + "line": 178, + "column": 12, + "start": 5434, + "end": 5440, + "length": 7, + "parent_index": 263 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" + }, + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } - }, - { - "id": 238, - "name": "tryMod", - "node_type": 42, - "kind": 41, - "src": { - "line": 160, - "column": 4, - "start": 5198, - "end": 5387, - "length": 190, - "parent_index": 121 - }, - "name_location": { - "line": 160, - "column": 13, - "start": 5207, - "end": 5212, - "length": 6, - "parent_index": 238 - }, - "body": { - "id": 249, - "node_type": 46, - "kind": 0, - "src": { - "line": 160, - "column": 80, - "start": 5274, - "end": 5387, - "length": 114, - "parent_index": 238 - }, - "implemented": true, - "statements": [ - { - "id": 250, - "node_type": 59, - "kind": 0, - "src": { - "line": 161, - "column": 8, - "start": 5284, - "end": 5381, - "length": 98, - "parent_index": 121 - }, - "implemented": false, - "statements": [ { - "id": 251, - "node_type": 48, + "id": 269, + "node_type": 47, "src": { - "line": 162, - "column": 0, - "start": 5308, - "end": 5337, - "length": 30, + "line": 179, + "column": 12, + "start": 5477, + "end": 5489, + "length": 13, "parent_index": 250 }, - "condition": { - "id": 252, + "function_return_parameters": 250, + "expression": { + "id": 270, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5317, - "length": 6, - "parent_index": 251 + "line": 179, + "column": 19, + "start": 5484, + "end": 5488, + "length": 5, + "parent_index": 269 }, - "operator": 11, + "operator": 2, "left_expression": { - "id": 253, + "id": 271, "node_type": 16, "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5312, + "line": 179, + "column": 19, + "start": 5484, + "end": 5484, "length": 1, - "parent_index": 252 + "parent_index": 270 }, - "name": "b", + "name": "a", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 253, - "is_pure": false + "referenced_declaration": 271, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 254, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", + "id": 272, + "node_type": 16, "src": { - "line": 162, - "column": 21, - "start": 5317, - "end": 5317, + "line": 179, + "column": 23, + "start": 5488, + "end": 5488, "length": 1, - "parent_index": 252 + "parent_index": 270 }, + "name": "b", "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 255, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 256, - "node_type": 47, - "src": { - "line": 163, - "column": 12, - "start": 5351, - "end": 5371, - "length": 21, - "parent_index": 238 - }, - "function_return_parameters": 238, - "expression": { - "id": 257, - "node_type": 60, - "src": { - "line": 163, - "column": 19, - "start": 5358, - "end": 5370, - "length": 13, - "parent_index": 256 + "referenced_declaration": 272, + "is_pure": false, + "text": "b" }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 258, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 163, - "column": 20, - "start": 5359, - "end": 5362, - "length": 4, - "parent_index": 257 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 259, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5369, - "length": 5, - "parent_index": 257 - }, - "operator": 5, - "left_expression": { - "id": 260, - "node_type": 16, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5365, - "length": 1, - "parent_index": 259 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 260, - "is_pure": false - }, - "right_expression": { - "id": 261, - "node_type": 16, - "src": { - "line": 163, - "column": 30, - "start": 5369, - "end": 5369, - "length": 1, - "parent_index": 259 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 261, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" + "type_identifier": "t_uint256", + "type_string": "uint256" } } } @@ -18415,40 +15735,79 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 239, + "id": 251, "node_type": 43, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5233, - "length": 20, - "parent_index": 238 + "line": 173, + "column": 8, + "start": 5297, + "end": 5360, + "length": 64, + "parent_index": 250 }, "parameters": [ { - "id": 240, + "id": 252, "node_type": 44, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5222, + "line": 173, + "column": 8, + "start": 5297, + "end": 5305, + "length": 9, + "parent_index": 251 + }, + "scope": 250, + "name": "a", + "type_name": { + "id": 253, + "node_type": 30, + "src": { + "line": 173, + "column": 8, + "start": 5297, + "end": 5303, + "length": 7, + "parent_index": 252 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 254, + "node_type": 44, + "src": { + "line": 174, + "column": 8, + "start": 5316, + "end": 5324, "length": 9, - "parent_index": 239 + "parent_index": 251 }, - "scope": 238, - "name": "a", + "scope": 250, + "name": "b", "type_name": { - "id": 241, + "id": 255, "node_type": 30, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5220, + "line": 174, + "column": 8, + "start": 5316, + "end": 5322, "length": 7, - "parent_index": 240 + "parent_index": 254 }, "name": "uint256", "referenced_declaration": 0, @@ -18466,28 +15825,95 @@ } }, { - "id": 242, + "id": 256, "node_type": 44, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5233, - "length": 9, - "parent_index": 239 + "line": 175, + "column": 8, + "start": 5335, + "end": 5360, + "length": 26, + "parent_index": 251 }, - "scope": 238, - "name": "b", + "scope": 250, + "name": "errorMessage", "type_name": { - "id": 243, + "id": 257, "node_type": 30, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5231, + "line": 175, + "column": 8, + "start": 5335, + "end": 5340, + "length": 6, + "parent_index": 256 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ] + }, + "return_parameters": { + "id": 258, + "node_type": 43, + "src": { + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, + "length": 7, + "parent_index": 250 + }, + "parameters": [ + { + "id": 259, + "node_type": 44, + "src": { + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, + "length": 7, + "parent_index": 258 + }, + "scope": 250, + "name": "", + "type_name": { + "id": 260, + "node_type": 30, + "src": { + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 242 + "parent_index": 259 }, "name": "uint256", "referenced_declaration": 0, @@ -18495,101 +15921,340 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" + }, + { + "id": 274, + "name": "div", + "node_type": 42, + "kind": 41, + "src": { + "line": 195, + "column": 4, + "start": 5990, + "end": 6219, + "length": 230, + "parent_index": 33 + }, + "name_location": { + "line": 195, + "column": 13, + "start": 5999, + "end": 6001, + "length": 3, + "parent_index": 274 + }, + "body": { + "id": 285, + "node_type": 46, + "kind": 0, + "src": { + "line": 199, + "column": 38, + "start": 6115, + "end": 6219, + "length": 105, + "parent_index": 274 + }, + "implemented": true, + "statements": [ + { + "id": 286, + "node_type": 59, + "kind": 0, + "src": { + "line": 200, + "column": 8, + "start": 6125, + "end": 6213, + "length": 89, + "parent_index": 33 + }, + "implemented": false, + "statements": [ + { + "id": 287, + "node_type": 24, + "kind": 24, + "src": { + "line": 201, + "column": 12, + "start": 6149, + "end": 6176, + "length": 28, + "parent_index": 286 + }, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 289, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6161, + "length": 5, + "parent_index": 287 + }, + "operator": 7, + "left_expression": { + "id": 290, + "node_type": 16, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6157, + "length": 1, + "parent_index": 289 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 290, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 291, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 201, + "column": 24, + "start": 6161, + "end": 6161, + "length": 1, + "parent_index": 289 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 292, + "node_type": 16, + "src": { + "line": 201, + "column": 27, + "start": 6164, + "end": 6175, + "length": 12, + "parent_index": 287 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 292, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 288, + "node_type": 16, + "src": { + "line": 201, + "column": 12, + "start": 6149, + "end": 6155, + "length": 7, + "parent_index": 287 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" + }, + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } + }, + { + "id": 293, + "node_type": 47, + "src": { + "line": 202, + "column": 12, + "start": 6191, + "end": 6203, + "length": 13, + "parent_index": 274 + }, + "function_return_parameters": 274, + "expression": { + "id": 294, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6202, + "length": 5, + "parent_index": 293 + }, + "operator": 4, + "left_expression": { + "id": 295, + "node_type": 16, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6198, + "length": 1, + "parent_index": 294 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 295, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 296, + "node_type": 16, + "src": { + "line": 202, + "column": 23, + "start": 6202, + "end": 6202, + "length": 1, + "parent_index": 294 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 296, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + } + ] } ] }, - "return_parameters": { - "id": 244, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 275, "node_type": 43, "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5271, - "length": 13, - "parent_index": 238 + "line": 196, + "column": 8, + "start": 6012, + "end": 6075, + "length": 64, + "parent_index": 274 }, "parameters": [ { - "id": 245, - "node_type": 44, - "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 244 - }, - "scope": 238, - "name": "", - "type_name": { - "id": 246, - "node_type": 30, - "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 245 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 247, + "id": 276, "node_type": 44, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, - "length": 7, - "parent_index": 244 + "line": 196, + "column": 8, + "start": 6012, + "end": 6020, + "length": 9, + "parent_index": 275 }, - "scope": 238, - "name": "", + "scope": 274, + "name": "a", "type_name": { - "id": 248, + "id": 277, "node_type": 30, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, + "line": 196, + "column": 8, + "start": 6012, + "end": 6018, "length": 7, - "parent_index": 247 + "parent_index": 276 }, "name": "uint256", "referenced_declaration": 0, @@ -18605,177 +16270,30 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" }, { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } - }, - { - "id": 263, - "name": "add", - "node_type": 42, - "kind": 41, - "src": { - "line": 177, - "column": 4, - "start": 5623, - "end": 5718, - "length": 96, - "parent_index": 121 - }, - "name_location": { - "line": 177, - "column": 13, - "start": 5632, - "end": 5634, - "length": 3, - "parent_index": 263 - }, - "body": { - "id": 272, - "node_type": 46, - "kind": 0, - "src": { - "line": 177, - "column": 71, - "start": 5690, - "end": 5718, - "length": 29, - "parent_index": 263 - }, - "implemented": true, - "statements": [ - { - "id": 273, - "node_type": 47, - "src": { - "line": 178, - "column": 8, - "start": 5700, - "end": 5712, - "length": 13, - "parent_index": 263 - }, - "function_return_parameters": 263, - "expression": { - "id": 274, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 178, - "column": 15, - "start": 5707, - "end": 5711, - "length": 5, - "parent_index": 273 - }, - "operator": 1, - "left_expression": { - "id": 275, - "node_type": 16, - "src": { - "line": 178, - "column": 15, - "start": 5707, - "end": 5707, - "length": 1, - "parent_index": 274 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 275, - "is_pure": false - }, - "right_expression": { - "id": 276, - "node_type": 16, - "src": { - "line": 178, - "column": 19, - "start": 5711, - "end": 5711, - "length": 1, - "parent_index": 274 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 276, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 264, - "node_type": 43, - "src": { - "line": 177, - "column": 17, - "start": 5636, - "end": 5655, - "length": 20, - "parent_index": 263 - }, - "parameters": [ - { - "id": 265, + "id": 278, "node_type": 44, "src": { - "line": 177, - "column": 17, - "start": 5636, - "end": 5644, + "line": 197, + "column": 8, + "start": 6031, + "end": 6039, "length": 9, - "parent_index": 264 + "parent_index": 275 }, - "scope": 263, - "name": "a", + "scope": 274, + "name": "b", "type_name": { - "id": 266, + "id": 279, "node_type": 30, "src": { - "line": 177, - "column": 17, - "start": 5636, - "end": 5642, + "line": 197, + "column": 8, + "start": 6031, + "end": 6037, "length": 7, - "parent_index": 265 + "parent_index": 278 }, "name": "uint256", "referenced_declaration": 0, @@ -18793,42 +16311,42 @@ } }, { - "id": 267, + "id": 280, "node_type": 44, "src": { - "line": 177, - "column": 28, - "start": 5647, - "end": 5655, - "length": 9, - "parent_index": 264 + "line": 198, + "column": 8, + "start": 6050, + "end": 6075, + "length": 26, + "parent_index": 275 }, - "scope": 263, - "name": "b", + "scope": 274, + "name": "errorMessage", "type_name": { - "id": 268, + "id": 281, "node_type": 30, "src": { - "line": 177, - "column": 28, - "start": 5647, - "end": 5653, - "length": 7, - "parent_index": 267 + "line": 198, + "column": 8, + "start": 6050, + "end": 6055, + "length": 6, + "parent_index": 280 }, - "name": "uint256", + "name": "string", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } } ], @@ -18840,44 +16358,48 @@ { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" } ] }, "return_parameters": { - "id": 269, + "id": 282, "node_type": 43, "src": { - "line": 177, - "column": 62, - "start": 5681, - "end": 5687, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 263 + "parent_index": 274 }, "parameters": [ { - "id": 270, + "id": 283, "node_type": 44, "src": { - "line": 177, - "column": 62, - "start": 5681, - "end": 5687, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 269 + "parent_index": 282 }, - "scope": 263, + "scope": 274, "name": "", "type_name": { - "id": 271, + "id": 284, "node_type": 30, "src": { - "line": 177, - "column": 62, - "start": 5681, - "end": 5687, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 270 + "parent_index": 283 }, "name": "uint256", "referenced_declaration": 0, @@ -18902,164 +16424,323 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", - "scope": 121, + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, { - "id": 278, - "name": "sub", + "id": 298, + "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 191, + "line": 221, "column": 4, - "start": 5990, - "end": 6085, - "length": 96, - "parent_index": 121 + "start": 6866, + "end": 7095, + "length": 230, + "parent_index": 33 }, "name_location": { - "line": 191, + "line": 221, "column": 13, - "start": 5999, - "end": 6001, + "start": 6875, + "end": 6877, "length": 3, - "parent_index": 278 + "parent_index": 298 }, "body": { - "id": 287, + "id": 309, "node_type": 46, "kind": 0, "src": { - "line": 191, - "column": 71, - "start": 6057, - "end": 6085, - "length": 29, - "parent_index": 278 + "line": 225, + "column": 38, + "start": 6991, + "end": 7095, + "length": 105, + "parent_index": 298 }, "implemented": true, "statements": [ { - "id": 288, - "node_type": 47, + "id": 310, + "node_type": 59, + "kind": 0, "src": { - "line": 192, + "line": 226, "column": 8, - "start": 6067, - "end": 6079, - "length": 13, - "parent_index": 278 + "start": 7001, + "end": 7089, + "length": 89, + "parent_index": 33 }, - "function_return_parameters": 278, - "expression": { - "id": 289, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 192, - "column": 15, - "start": 6074, - "end": 6078, - "length": 5, - "parent_index": 288 - }, - "operator": 2, - "left_expression": { - "id": 290, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 311, + "node_type": 24, + "kind": 24, "src": { - "line": 192, - "column": 15, - "start": 6074, - "end": 6074, - "length": 1, - "parent_index": 289 + "line": 227, + "column": 12, + "start": 7025, + "end": 7052, + "length": 28, + "parent_index": 310 }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 313, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 227, + "column": 20, + "start": 7033, + "end": 7037, + "length": 5, + "parent_index": 311 + }, + "operator": 7, + "left_expression": { + "id": 314, + "node_type": 16, + "src": { + "line": 227, + "column": 20, + "start": 7033, + "end": 7033, + "length": 1, + "parent_index": 313 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 314, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 315, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 227, + "column": 24, + "start": 7037, + "end": 7037, + "length": 1, + "parent_index": 313 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 316, + "node_type": 16, + "src": { + "line": 227, + "column": 27, + "start": 7040, + "end": 7051, + "length": 12, + "parent_index": 311 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 316, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 312, + "node_type": 16, + "src": { + "line": 227, + "column": 12, + "start": 7025, + "end": 7031, + "length": 7, + "parent_index": 311 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "overloaded_declarations": [], - "referenced_declaration": 290, - "is_pure": false + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "right_expression": { - "id": 291, - "node_type": 16, + { + "id": 317, + "node_type": 47, "src": { - "line": 192, - "column": 19, - "start": 6078, - "end": 6078, - "length": 1, - "parent_index": 289 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 228, + "column": 12, + "start": 7067, + "end": 7079, + "length": 13, + "parent_index": 298 }, - "overloaded_declarations": [], - "referenced_declaration": 291, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "function_return_parameters": 298, + "expression": { + "id": 318, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 228, + "column": 19, + "start": 7074, + "end": 7078, + "length": 5, + "parent_index": 317 + }, + "operator": 5, + "left_expression": { + "id": 319, + "node_type": 16, + "src": { + "line": 228, + "column": 19, + "start": 7074, + "end": 7074, + "length": 1, + "parent_index": 318 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 319, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 320, + "node_type": 16, + "src": { + "line": 228, + "column": 23, + "start": 7078, + "end": 7078, + "length": 1, + "parent_index": 318 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 320, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "implemented": true, + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 279, + "id": 299, "node_type": 43, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6022, - "length": 20, - "parent_index": 278 + "line": 222, + "column": 8, + "start": 6888, + "end": 6951, + "length": 64, + "parent_index": 298 }, "parameters": [ { - "id": 280, + "id": 300, "node_type": 44, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6011, + "line": 222, + "column": 8, + "start": 6888, + "end": 6896, "length": 9, - "parent_index": 279 + "parent_index": 299 }, - "scope": 278, + "scope": 298, "name": "a", "type_name": { - "id": 281, + "id": 301, "node_type": 30, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6009, + "line": 222, + "column": 8, + "start": 6888, + "end": 6894, "length": 7, - "parent_index": 280 + "parent_index": 300 }, "name": "uint256", "referenced_declaration": 0, @@ -19077,42 +16758,81 @@ } }, { - "id": 282, + "id": 302, "node_type": 44, "src": { - "line": 191, - "column": 28, - "start": 6014, - "end": 6022, + "line": 223, + "column": 8, + "start": 6907, + "end": 6915, "length": 9, - "parent_index": 279 + "parent_index": 299 }, - "scope": 278, + "scope": 298, "name": "b", "type_name": { - "id": 283, + "id": 303, "node_type": 30, "src": { - "line": 191, - "column": 28, - "start": 6014, - "end": 6020, + "line": 223, + "column": 8, + "start": 6907, + "end": 6913, "length": 7, - "parent_index": 282 + "parent_index": 302 }, "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 304, + "node_type": 44, + "src": { + "line": 224, + "column": 8, + "start": 6926, + "end": 6951, + "length": 26, + "parent_index": 299 + }, + "scope": 298, + "name": "errorMessage", + "type_name": { + "id": 305, + "node_type": 30, + "src": { + "line": 224, + "column": 8, + "start": 6926, + "end": 6931, + "length": 6, + "parent_index": 304 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_string", + "type_string": "string" } } ], @@ -19124,44 +16844,48 @@ { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" } ] }, "return_parameters": { - "id": 284, + "id": 306, "node_type": 43, "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 278 + "parent_index": 298 }, "parameters": [ { - "id": 285, + "id": 307, "node_type": 44, "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 284 + "parent_index": 306 }, - "scope": 278, + "scope": 298, "name": "", "type_name": { - "id": 286, + "id": 308, "node_type": 30, "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 285 + "parent_index": 307 }, "name": "uint256", "referenced_declaration": 0, @@ -19186,85 +16910,230 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", - "scope": 121, + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } - }, - { - "id": 293, - "name": "mul", - "node_type": 42, - "kind": 41, - "src": { - "line": 205, - "column": 4, - "start": 6333, - "end": 6428, - "length": 96, - "parent_index": 121 - }, - "name_location": { - "line": 205, - "column": 13, - "start": 6342, - "end": 6344, - "length": 3, - "parent_index": 293 + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" }, - "body": { - "id": 302, - "node_type": 46, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" + } + ], + "linearized_base_contracts": [ + 33 + ], + "base_contracts": [], + "contract_dependencies": [] + } + ], + "src": { + "line": 18, + "column": 0, + "start": 622, + "end": 7097, + "length": 6476, + "parent_index": 30 + } + }, + "id": 33, + "source_unit_id": 31, + "node_type": 35, + "kind": 37, + "name": "SafeMath", + "license": "MIT", + "language": "solidity", + "absolute_path": "SafeMath.sol", + "symbols": [ + { + "id": 31, + "name": "SafeMath", + "absolute_path": "SafeMath.sol" + } + ], + "imports": [], + "pragmas": [ + { + "ast": { + "id": 32, + "node_type": 10, + "src": { + "line": 3, + "column": 0, + "start": 33, + "end": 55, + "length": 23, + "parent_index": 31 + }, + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "text": "pragma solidity ^0.8.0;" + }, + "id": 32, + "node_type": 10, + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "text": "pragma solidity ^0.8.0;" + } + ], + "state_variables": [], + "structs": [], + "enums": [], + "events": [], + "errors": [], + "functions": [ + { + "ast": { + "id": 35, + "name": "tryAdd", + "node_type": 42, + "kind": 41, + "src": { + "line": 24, + "column": 4, + "start": 781, + "end": 996, + "length": 216, + "parent_index": 33 + }, + "name_location": { + "line": 24, + "column": 13, + "start": 790, + "end": 795, + "length": 6, + "parent_index": 35 + }, + "body": { + "id": 46, + "node_type": 46, + "kind": 0, + "src": { + "line": 24, + "column": 80, + "start": 857, + "end": 996, + "length": 140, + "parent_index": 35 + }, + "implemented": true, + "statements": [ + { + "id": 47, + "node_type": 59, "kind": 0, "src": { - "line": 205, - "column": 71, - "start": 6400, - "end": 6428, - "length": 29, - "parent_index": 293 + "line": 25, + "column": 8, + "start": 867, + "end": 990, + "length": 124, + "parent_index": 33 }, - "implemented": true, + "implemented": false, "statements": [ { - "id": 303, - "node_type": 47, + "id": 48, + "node_type": 44, "src": { - "line": 206, - "column": 8, - "start": 6410, - "end": 6422, - "length": 13, - "parent_index": 293 + "line": 26, + "column": 12, + "start": 891, + "end": 908, + "length": 18, + "parent_index": 47 }, - "function_return_parameters": 293, - "expression": { - "id": 304, + "assignments": [ + 49 + ], + "declarations": [ + { + "id": 49, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 47, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 899, + "length": 9, + "parent_index": 48 + }, + "name_location": { + "line": 26, + "column": 20, + "start": 899, + "end": 899, + "length": 1, + "parent_index": 49 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 50, + "node_type": 30, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 897, + "length": 7, + "parent_index": 49 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 51, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6421, + "line": 26, + "column": 24, + "start": 903, + "end": 907, "length": 5, - "parent_index": 303 + "parent_index": 48 }, - "operator": 3, + "operator": 1, "left_expression": { - "id": 305, + "id": 52, "node_type": 16, "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6417, + "line": 26, + "column": 24, + "start": 903, + "end": 903, "length": 1, - "parent_index": 304 + "parent_index": 51 }, "name": "a", "type_description": { @@ -19272,19 +17141,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 305, - "is_pure": false + "referenced_declaration": 52, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 306, + "id": 53, "node_type": 16, "src": { - "line": 206, - "column": 19, - "start": 6421, - "end": 6421, + "line": 26, + "column": 28, + "start": 907, + "end": 907, "length": 1, - "parent_index": 304 + "parent_index": 51 }, "name": "b", "type_description": { @@ -19292,263 +17162,630 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 306, - "is_pure": false + "referenced_declaration": 53, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + }, + { + "id": 54, + "node_type": 48, + "src": { + "line": 27, + "column": 0, + "start": 922, + "end": 950, + "length": 29, + "parent_index": 47 + }, + "condition": { + "id": 55, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 27, + "column": 16, + "start": 926, + "end": 930, + "length": 5, + "parent_index": 54 + }, + "operator": 9, + "left_expression": { + "id": 56, + "node_type": 16, + "src": { + "line": 27, + "column": 16, + "start": 926, + "end": 926, + "length": 1, + "parent_index": 55 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 57, + "node_type": 16, + "src": { + "line": 27, + "column": 20, + "start": 930, + "end": 930, + "length": 1, + "parent_index": 55 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 57, + "is_pure": false, + "text": "a" }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 294, - "node_type": 43, - "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6365, - "length": 20, - "parent_index": 293 - }, - "parameters": [ - { - "id": 295, - "node_type": 44, - "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6354, - "length": 9, - "parent_index": 294 }, - "scope": 293, - "name": "a", - "type_name": { - "id": 296, - "node_type": 30, + "body": { + "id": 58, + "node_type": 46, + "kind": 0, "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6352, - "length": 7, - "parent_index": 295 + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "implemented": false, + "statements": [] } }, { - "id": 297, - "node_type": 44, + "id": 59, + "node_type": 47, "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6365, - "length": 9, - "parent_index": 294 + "line": 28, + "column": 12, + "start": 964, + "end": 980, + "length": 17, + "parent_index": 35 }, - "scope": 293, - "name": "b", - "type_name": { - "id": 298, - "node_type": 30, + "function_return_parameters": 35, + "expression": { + "id": 60, + "node_type": 60, "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6363, - "length": 7, - "parent_index": 297 + "line": 28, + "column": 19, + "start": 971, + "end": 979, + "length": 9, + "parent_index": 59 }, - "name": "uint256", - "referenced_declaration": 0, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 61, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 28, + "column": 20, + "start": 972, + "end": 975, + "length": 4, + "parent_index": 60 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 62, + "node_type": 16, + "src": { + "line": 28, + "column": 26, + "start": 978, + "end": 978, + "length": 1, + "parent_index": 60 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + } + ], "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" } } - ], - "parameter_types": [ - { + ] + } + ] + }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 36, + "node_type": 43, + "src": { + "line": 24, + "column": 20, + "start": 797, + "end": 816, + "length": 20, + "parent_index": 35 + }, + "parameters": [ + { + "id": 37, + "node_type": 44, + "src": { + "line": 24, + "column": 20, + "start": 797, + "end": 805, + "length": 9, + "parent_index": 36 + }, + "scope": 35, + "name": "a", + "type_name": { + "id": 38, + "node_type": 30, + "src": { + "line": 24, + "column": 20, + "start": 797, + "end": 803, + "length": 7, + "parent_index": 37 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 39, + "node_type": 44, + "src": { + "line": 24, + "column": 31, + "start": 808, + "end": 816, + "length": 9, + "parent_index": 36 + }, + "scope": 35, + "name": "b", + "type_name": { + "id": 40, + "node_type": 30, + "src": { + "line": 24, + "column": 31, + "start": 808, + "end": 814, + "length": 7, + "parent_index": 39 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 41, + "node_type": 43, + "src": { + "line": 24, + "column": 65, + "start": 842, + "end": 854, + "length": 13, + "parent_index": 35 + }, + "parameters": [ + { + "id": 42, + "node_type": 44, + "src": { + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 41 + }, + "scope": 35, + "name": "", + "type_name": { + "id": 43, + "node_type": 30, + "src": { + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 42 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 44, + "node_type": 44, + "src": { + "line": 24, + "column": 71, + "start": 848, + "end": 854, + "length": 7, + "parent_index": 41 + }, + "scope": 35, + "name": "", + "type_name": { + "id": 45, + "node_type": 30, + "src": { + "line": 24, + "column": 71, + "start": 848, + "end": 854, + "length": 7, + "parent_index": 44 }, - { + "name": "uint256", + "referenced_declaration": 0, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" }, - "return_parameters": { - "id": 299, - "node_type": 43, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "tryAdd(uint256,uint256)", + "signature": "884557bf", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryAdd(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{uint256c=a+b;if(c\u003ca)return(false,0);return(true,c);}}" + }, + "id": 35, + "node_type": 42, + "kind": 41, + "name": "tryAdd", + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "referenced_declaration_id": 0, + "signature": "884557bf", + "modifiers": [], + "overrides": [], + "parameters": [ + { + "ast": { + "id": 37, + "node_type": 44, + "src": { + "line": 24, + "column": 20, + "start": 797, + "end": 805, + "length": 9, + "parent_index": 36 + }, + "scope": 35, + "name": "a", + "type_name": { + "id": 38, + "node_type": 30, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 24, + "column": 20, + "start": 797, + "end": 803, "length": 7, - "parent_index": 293 + "parent_index": 37 }, - "parameters": [ - { - "id": 300, - "node_type": 44, - "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, - "length": 7, - "parent_index": 299 - }, - "scope": 293, - "name": "", - "type_name": { - "id": 301, - "node_type": 30, - "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, - "length": 7, - "parent_index": 300 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", - "scope": 121, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - { - "id": 308, - "name": "div", - "node_type": 42, - "kind": 41, + "id": 37, + "node_type": 44, + "name": "a", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + }, + { + "ast": { + "id": 39, + "node_type": 44, "src": { - "line": 221, - "column": 4, - "start": 6893, - "end": 6988, - "length": 96, - "parent_index": 121 + "line": 24, + "column": 31, + "start": 808, + "end": 816, + "length": 9, + "parent_index": 36 }, - "name_location": { - "line": 221, - "column": 13, - "start": 6902, - "end": 6904, - "length": 3, - "parent_index": 308 + "scope": 35, + "name": "b", + "type_name": { + "id": 40, + "node_type": 30, + "src": { + "line": 24, + "column": 31, + "start": 808, + "end": 814, + "length": 7, + "parent_index": 39 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "body": { - "id": 317, - "node_type": 46, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 39, + "node_type": 44, + "name": "b", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "body": { + "ast": { + "id": 46, + "node_type": 46, + "kind": 0, + "src": { + "line": 24, + "column": 80, + "start": 857, + "end": 996, + "length": 140, + "parent_index": 35 + }, + "implemented": true, + "statements": [ + { + "id": 47, + "node_type": 59, "kind": 0, "src": { - "line": 221, - "column": 71, - "start": 6960, - "end": 6988, - "length": 29, - "parent_index": 308 + "line": 25, + "column": 8, + "start": 867, + "end": 990, + "length": 124, + "parent_index": 33 }, - "implemented": true, + "implemented": false, "statements": [ { - "id": 318, - "node_type": 47, + "id": 48, + "node_type": 44, "src": { - "line": 222, - "column": 8, - "start": 6970, - "end": 6982, - "length": 13, - "parent_index": 308 + "line": 26, + "column": 12, + "start": 891, + "end": 908, + "length": 18, + "parent_index": 47 }, - "function_return_parameters": 308, - "expression": { - "id": 319, + "assignments": [ + 49 + ], + "declarations": [ + { + "id": 49, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 47, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 899, + "length": 9, + "parent_index": 48 + }, + "name_location": { + "line": 26, + "column": 20, + "start": 899, + "end": 899, + "length": 1, + "parent_index": 49 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 50, + "node_type": 30, + "src": { + "line": 26, + "column": 12, + "start": 891, + "end": 897, + "length": 7, + "parent_index": 49 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 51, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6981, + "line": 26, + "column": 24, + "start": 903, + "end": 907, "length": 5, - "parent_index": 318 + "parent_index": 48 }, - "operator": 4, + "operator": 1, "left_expression": { - "id": 320, + "id": 52, "node_type": 16, "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6977, + "line": 26, + "column": 24, + "start": 903, + "end": 903, "length": 1, - "parent_index": 319 + "parent_index": 51 }, "name": "a", "type_description": { @@ -19556,19 +17793,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 320, - "is_pure": false + "referenced_declaration": 52, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 321, + "id": 53, "node_type": 16, "src": { - "line": 222, - "column": 19, - "start": 6981, - "end": 6981, + "line": 26, + "column": 28, + "start": 907, + "end": 907, "length": 1, - "parent_index": 319 + "parent_index": 51 }, "name": "b", "type_description": { @@ -19576,695 +17814,1080 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 321, - "is_pure": false + "referenced_declaration": 53, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 309, - "node_type": 43, - "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6925, - "length": 20, - "parent_index": 308 - }, - "parameters": [ + }, { - "id": 310, - "node_type": 44, + "id": 54, + "node_type": 48, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6914, - "length": 9, - "parent_index": 309 + "line": 27, + "column": 0, + "start": 922, + "end": 950, + "length": 29, + "parent_index": 47 }, - "scope": 308, - "name": "a", - "type_name": { - "id": 311, - "node_type": 30, + "condition": { + "id": 55, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6912, - "length": 7, - "parent_index": 310 + "line": 27, + "column": 16, + "start": 926, + "end": 930, + "length": 5, + "parent_index": 54 + }, + "operator": 9, + "left_expression": { + "id": 56, + "node_type": 16, + "src": { + "line": 27, + "column": 16, + "start": 926, + "end": 926, + "length": 1, + "parent_index": 55 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 57, + "node_type": 16, + "src": { + "line": 27, + "column": 20, + "start": 930, + "end": 930, + "length": 1, + "parent_index": 55 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 57, + "is_pure": false, + "text": "a" }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "body": { + "id": 58, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] } }, { - "id": 312, - "node_type": 44, + "id": 59, + "node_type": 47, "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6925, - "length": 9, - "parent_index": 309 + "line": 28, + "column": 12, + "start": 964, + "end": 980, + "length": 17, + "parent_index": 35 }, - "scope": 308, - "name": "b", - "type_name": { - "id": 313, - "node_type": 30, + "function_return_parameters": 35, + "expression": { + "id": 60, + "node_type": 60, "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6923, - "length": 7, - "parent_index": 312 + "line": 28, + "column": 19, + "start": 971, + "end": 979, + "length": 9, + "parent_index": 59 }, - "name": "uint256", - "referenced_declaration": 0, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 61, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 28, + "column": 20, + "start": 972, + "end": 975, + "length": 4, + "parent_index": 60 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 62, + "node_type": 16, + "src": { + "line": 28, + "column": 26, + "start": 978, + "end": 978, + "length": 1, + "parent_index": 60 + }, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 48, + "is_pure": false, + "text": "c" + } + ], "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" } } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } ] + } + ] + }, + "id": 46, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ + { + "ast": { + "id": 42, + "node_type": 44, + "src": { + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 41 }, - "return_parameters": { - "id": 314, - "node_type": 43, + "scope": 35, + "name": "", + "type_name": { + "id": 43, + "node_type": 30, "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 308 + "line": 24, + "column": 65, + "start": 842, + "end": 845, + "length": 4, + "parent_index": 42 }, - "parameters": [ - { - "id": 315, - "node_type": 44, - "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 314 - }, - "scope": 308, - "name": "", - "type_name": { - "id": 316, - "node_type": 30, - "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 315 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", - "scope": 121, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" + "type_identifier": "t_bool", + "type_string": "bool" } }, - { - "id": 323, - "name": "mod", - "node_type": 42, - "kind": 41, + "id": 42, + "node_type": 44, + "name": "", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "indexed": false + }, + { + "ast": { + "id": 44, + "node_type": 44, "src": { - "line": 237, - "column": 4, - "start": 7442, - "end": 7537, - "length": 96, - "parent_index": 121 + "line": 24, + "column": 71, + "start": 848, + "end": 854, + "length": 7, + "parent_index": 41 }, - "name_location": { - "line": 237, - "column": 13, - "start": 7451, - "end": 7453, - "length": 3, - "parent_index": 323 + "scope": 35, + "name": "", + "type_name": { + "id": 45, + "node_type": 30, + "src": { + "line": 24, + "column": 71, + "start": 848, + "end": 854, + "length": 7, + "parent_index": 44 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "body": { - "id": 332, - "node_type": 46, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 44, + "node_type": 44, + "name": "", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "src": { + "line": 24, + "column": 4, + "start": 781, + "end": 996, + "length": 216, + "parent_index": 33 + } + }, + { + "ast": { + "id": 64, + "name": "trySub", + "node_type": 42, + "kind": 41, + "src": { + "line": 37, + "column": 4, + "start": 1143, + "end": 1331, + "length": 189, + "parent_index": 33 + }, + "name_location": { + "line": 37, + "column": 13, + "start": 1152, + "end": 1157, + "length": 6, + "parent_index": 64 + }, + "body": { + "id": 75, + "node_type": 46, + "kind": 0, + "src": { + "line": 37, + "column": 80, + "start": 1219, + "end": 1331, + "length": 113, + "parent_index": 64 + }, + "implemented": true, + "statements": [ + { + "id": 76, + "node_type": 59, "kind": 0, "src": { - "line": 237, - "column": 71, - "start": 7509, - "end": 7537, - "length": 29, - "parent_index": 323 + "line": 38, + "column": 8, + "start": 1229, + "end": 1325, + "length": 97, + "parent_index": 33 }, - "implemented": true, + "implemented": false, "statements": [ { - "id": 333, - "node_type": 47, + "id": 77, + "node_type": 48, "src": { - "line": 238, - "column": 8, - "start": 7519, - "end": 7531, - "length": 13, - "parent_index": 323 + "line": 39, + "column": 0, + "start": 1253, + "end": 1281, + "length": 29, + "parent_index": 76 }, - "function_return_parameters": 323, - "expression": { - "id": 334, + "condition": { + "id": 78, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7530, + "line": 39, + "column": 16, + "start": 1257, + "end": 1261, "length": 5, - "parent_index": 333 + "parent_index": 77 }, - "operator": 5, + "operator": 7, "left_expression": { - "id": 335, + "id": 79, "node_type": 16, "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7526, + "line": 39, + "column": 16, + "start": 1257, + "end": 1257, "length": 1, - "parent_index": 334 + "parent_index": 78 }, - "name": "a", + "name": "b", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 335, - "is_pure": false + "referenced_declaration": 79, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 336, + "id": 80, "node_type": 16, "src": { - "line": 238, - "column": 19, - "start": 7530, - "end": 7530, + "line": 39, + "column": 20, + "start": 1261, + "end": 1261, "length": 1, - "parent_index": 334 + "parent_index": 78 }, - "name": "b", + "name": "a", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 336, - "is_pure": false + "referenced_declaration": 80, + "is_pure": false, + "text": "a" }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 324, - "node_type": 43, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7474, - "length": 20, - "parent_index": 323 - }, - "parameters": [ - { - "id": 325, - "node_type": 44, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7463, - "length": 9, - "parent_index": 324 }, - "scope": 323, - "name": "a", - "type_name": { - "id": 326, - "node_type": 30, + "body": { + "id": 81, + "node_type": 46, + "kind": 0, "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7461, - "length": 7, - "parent_index": 325 + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "implemented": false, + "statements": [] } }, { - "id": 327, - "node_type": 44, + "id": 82, + "node_type": 47, "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7474, - "length": 9, - "parent_index": 324 + "line": 40, + "column": 12, + "start": 1295, + "end": 1315, + "length": 21, + "parent_index": 64 }, - "scope": 323, - "name": "b", - "type_name": { - "id": 328, - "node_type": 30, + "function_return_parameters": 64, + "expression": { + "id": 83, + "node_type": 60, "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7472, - "length": 7, - "parent_index": 327 + "line": 40, + "column": 19, + "start": 1302, + "end": 1314, + "length": 13, + "parent_index": 82 }, - "name": "uint256", - "referenced_declaration": 0, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 84, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 40, + "column": 20, + "start": 1303, + "end": 1306, + "length": 4, + "parent_index": 83 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 85, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 40, + "column": 26, + "start": 1309, + "end": 1313, + "length": 5, + "parent_index": 83 + }, + "operator": 2, + "left_expression": { + "id": 86, + "node_type": 16, + "src": { + "line": 40, + "column": 26, + "start": 1309, + "end": 1309, + "length": 1, + "parent_index": 85 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 86, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 87, + "node_type": 16, + "src": { + "line": 40, + "column": 30, + "start": 1313, + "end": 1313, + "length": 1, + "parent_index": 85 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 87, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" } } - ], - "parameter_types": [ - { + ] + } + ] + }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 65, + "node_type": 43, + "src": { + "line": 37, + "column": 20, + "start": 1159, + "end": 1178, + "length": 20, + "parent_index": 64 + }, + "parameters": [ + { + "id": 66, + "node_type": 44, + "src": { + "line": 37, + "column": 20, + "start": 1159, + "end": 1167, + "length": 9, + "parent_index": 65 + }, + "scope": 64, + "name": "a", + "type_name": { + "id": 67, + "node_type": 30, + "src": { + "line": 37, + "column": 20, + "start": 1159, + "end": 1165, + "length": 7, + "parent_index": 66 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 68, + "node_type": 44, + "src": { + "line": 37, + "column": 31, + "start": 1170, + "end": 1178, + "length": 9, + "parent_index": 65 + }, + "scope": 64, + "name": "b", + "type_name": { + "id": 69, + "node_type": 30, + "src": { + "line": 37, + "column": 31, + "start": 1170, + "end": 1176, + "length": 7, + "parent_index": 68 }, - { + "name": "uint256", + "referenced_declaration": 0, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "return_parameters": { - "id": 329, - "node_type": 43, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 70, + "node_type": 43, + "src": { + "line": 37, + "column": 65, + "start": 1204, + "end": 1216, + "length": 13, + "parent_index": 64 + }, + "parameters": [ + { + "id": 71, + "node_type": 44, "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 323 + "line": 37, + "column": 65, + "start": 1204, + "end": 1207, + "length": 4, + "parent_index": 70 }, - "parameters": [ - { - "id": 330, - "node_type": 44, - "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 329 - }, - "scope": 323, - "name": "", - "type_name": { - "id": 331, - "node_type": 30, - "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 330 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "scope": 64, + "name": "", + "type_name": { + "id": 72, + "node_type": 30, + "src": { + "line": 37, + "column": 65, + "start": 1204, + "end": 1207, + "length": 4, + "parent_index": 71 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" } - ], - "parameter_types": [ - { + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 73, + "node_type": 44, + "src": { + "line": 37, + "column": 71, + "start": 1210, + "end": 1216, + "length": 7, + "parent_index": 70 + }, + "scope": 64, + "name": "", + "type_name": { + "id": 74, + "node_type": 30, + "src": { + "line": 37, + "column": 71, + "start": 1210, + "end": 1216, + "length": 7, + "parent_index": 73 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - ] + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "trySub(uint256,uint256)", + "signature": "a29962b1", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontrySub(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b\u003ea)return(false,0);return(true,a-b);}}" + }, + "id": 64, + "node_type": 42, + "kind": 41, + "name": "trySub", + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "referenced_declaration_id": 0, + "signature": "a29962b1", + "modifiers": [], + "overrides": [], + "parameters": [ + { + "ast": { + "id": 66, + "node_type": 44, + "src": { + "line": 37, + "column": 20, + "start": 1159, + "end": 1167, + "length": 9, + "parent_index": 65 + }, + "scope": 64, + "name": "a", + "type_name": { + "id": 67, + "node_type": 30, + "src": { + "line": 37, + "column": 20, + "start": 1159, + "end": 1165, + "length": 7, + "parent_index": 66 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", - "scope": 121, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - { - "id": 338, - "name": "sub", - "node_type": 42, - "kind": 41, + "id": 66, + "node_type": 44, + "name": "a", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + }, + { + "ast": { + "id": 68, + "node_type": 44, "src": { - "line": 254, - "column": 4, - "start": 8002, - "end": 8232, - "length": 231, - "parent_index": 121 + "line": 37, + "column": 31, + "start": 1170, + "end": 1178, + "length": 9, + "parent_index": 65 }, - "name_location": { - "line": 254, - "column": 13, - "start": 8011, - "end": 8013, - "length": 3, - "parent_index": 338 + "scope": 64, + "name": "b", + "type_name": { + "id": 69, + "node_type": 30, + "src": { + "line": 37, + "column": 31, + "start": 1170, + "end": 1176, + "length": 7, + "parent_index": 68 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "body": { - "id": 349, - "node_type": 46, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 68, + "node_type": 44, + "name": "b", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "body": { + "ast": { + "id": 75, + "node_type": 46, + "kind": 0, + "src": { + "line": 37, + "column": 80, + "start": 1219, + "end": 1331, + "length": 113, + "parent_index": 64 + }, + "implemented": true, + "statements": [ + { + "id": 76, + "node_type": 59, "kind": 0, "src": { - "line": 258, - "column": 38, - "start": 8127, - "end": 8232, - "length": 106, - "parent_index": 338 + "line": 38, + "column": 8, + "start": 1229, + "end": 1325, + "length": 97, + "parent_index": 33 }, - "implemented": true, + "implemented": false, "statements": [ { - "id": 350, - "node_type": 59, - "kind": 0, + "id": 77, + "node_type": 48, "src": { - "line": 259, - "column": 8, - "start": 8137, - "end": 8226, - "length": 90, - "parent_index": 121 + "line": 39, + "column": 0, + "start": 1253, + "end": 1281, + "length": 29, + "parent_index": 76 }, - "implemented": false, - "statements": [ - { - "id": 351, - "node_type": 24, - "kind": 24, + "condition": { + "id": 78, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 39, + "column": 16, + "start": 1257, + "end": 1261, + "length": 5, + "parent_index": 77 + }, + "operator": 7, + "left_expression": { + "id": 79, + "node_type": 16, "src": { - "line": 260, - "column": 12, - "start": 8161, - "end": 8189, - "length": 29, - "parent_index": 350 + "line": 39, + "column": 16, + "start": 1257, + "end": 1257, + "length": 1, + "parent_index": 78 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 353, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 260, - "column": 20, - "start": 8169, - "end": 8174, - "length": 6, - "parent_index": 351 - }, - "operator": 10, - "left_expression": { - "id": 354, - "node_type": 16, - "src": { - "line": 260, - "column": 20, - "start": 8169, - "end": 8169, - "length": 1, - "parent_index": 353 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 354, - "is_pure": false - }, - "right_expression": { - "id": 355, - "node_type": 16, - "src": { - "line": 260, - "column": 25, - "start": 8174, - "end": 8174, - "length": 1, - "parent_index": 353 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 355, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 356, - "node_type": 16, - "src": { - "line": 260, - "column": 28, - "start": 8177, - "end": 8188, - "length": 12, - "parent_index": 351 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 356, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 352, - "node_type": 16, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 79, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 80, + "node_type": 16, + "src": { + "line": 39, + "column": 20, + "start": 1261, + "end": 1261, + "length": 1, + "parent_index": 78 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 80, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 81, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 82, + "node_type": 47, + "src": { + "line": 40, + "column": 12, + "start": 1295, + "end": 1315, + "length": 21, + "parent_index": 64 + }, + "function_return_parameters": 64, + "expression": { + "id": 83, + "node_type": 60, + "src": { + "line": 40, + "column": 19, + "start": 1302, + "end": 1314, + "length": 13, + "parent_index": 82 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 84, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", "src": { - "line": 260, - "column": 12, - "start": 8161, - "end": 8167, - "length": 7, - "parent_index": 351 + "line": 40, + "column": 20, + "start": 1303, + "end": 1306, + "length": 4, + "parent_index": 83 }, - "name": "require", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_bool", + "type_string": "bool" }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } - }, - { - "id": 357, - "node_type": 47, - "src": { - "line": 261, - "column": 12, - "start": 8204, - "end": 8216, - "length": 13, - "parent_index": 338 + "is_pure": true, + "text": "true" }, - "function_return_parameters": 338, - "expression": { - "id": 358, + { + "id": 85, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 261, - "column": 19, - "start": 8211, - "end": 8215, + "line": 40, + "column": 26, + "start": 1309, + "end": 1313, "length": 5, - "parent_index": 357 + "parent_index": 83 }, "operator": 2, "left_expression": { - "id": 359, + "id": 86, "node_type": 16, "src": { - "line": 261, - "column": 19, - "start": 8211, - "end": 8211, + "line": 40, + "column": 26, + "start": 1309, + "end": 1309, "length": 1, - "parent_index": 358 + "parent_index": 85 }, "name": "a", "type_description": { @@ -20272,19 +18895,20 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 359, - "is_pure": false + "referenced_declaration": 86, + "is_pure": false, + "text": "a" }, "right_expression": { - "id": 360, + "id": 87, "node_type": 16, "src": { - "line": 261, - "column": 23, - "start": 8215, - "end": 8215, + "line": 40, + "column": 30, + "start": 1313, + "end": 1313, "length": 1, - "parent_index": 358 + "parent_index": 85 }, "name": "b", "type_description": { @@ -20292,1510 +18916,2574 @@ "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 360, - "is_pure": false + "referenced_declaration": 87, + "is_pure": false, + "text": "b" }, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" } - ] + } } ] + } + ] + }, + "id": 75, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ + { + "ast": { + "id": 71, + "node_type": 44, + "src": { + "line": 37, + "column": 65, + "start": 1204, + "end": 1207, + "length": 4, + "parent_index": 70 }, - "implemented": false, + "scope": 64, + "name": "", + "type_name": { + "id": 72, + "node_type": 30, + "src": { + "line": 37, + "column": 65, + "start": 1204, + "end": 1207, + "length": 4, + "parent_index": 71 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 339, - "node_type": 43, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "id": 71, + "node_type": 44, + "name": "", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "indexed": false + }, + { + "ast": { + "id": 73, + "node_type": 44, + "src": { + "line": 37, + "column": 71, + "start": 1210, + "end": 1216, + "length": 7, + "parent_index": 70 + }, + "scope": 64, + "name": "", + "type_name": { + "id": 74, + "node_type": 30, + "src": { + "line": 37, + "column": 71, + "start": 1210, + "end": 1216, + "length": 7, + "parent_index": 73 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 73, + "node_type": 44, + "name": "", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "src": { + "line": 37, + "column": 4, + "start": 1143, + "end": 1331, + "length": 189, + "parent_index": 33 + } + }, + { + "ast": { + "id": 89, + "name": "tryMul", + "node_type": 42, + "kind": 41, + "src": { + "line": 49, + "column": 4, + "start": 1480, + "end": 1972, + "length": 493, + "parent_index": 33 + }, + "name_location": { + "line": 49, + "column": 13, + "start": 1489, + "end": 1494, + "length": 6, + "parent_index": 89 + }, + "body": { + "id": 100, + "node_type": 46, + "kind": 0, + "src": { + "line": 49, + "column": 80, + "start": 1556, + "end": 1972, + "length": 417, + "parent_index": 89 + }, + "implemented": true, + "statements": [ + { + "id": 101, + "node_type": 59, + "kind": 0, "src": { - "line": 255, + "line": 50, "column": 8, - "start": 8024, - "end": 8087, - "length": 64, - "parent_index": 338 + "start": 1566, + "end": 1966, + "length": 401, + "parent_index": 33 }, - "parameters": [ + "implemented": false, + "statements": [ { - "id": 340, - "node_type": 44, + "id": 102, + "node_type": 48, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8032, - "length": 9, - "parent_index": 339 + "line": 54, + "column": 0, + "start": 1820, + "end": 1848, + "length": 29, + "parent_index": 101 }, - "scope": 338, - "name": "a", - "type_name": { - "id": 341, - "node_type": 30, + "condition": { + "id": 103, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8030, - "length": 7, - "parent_index": 340 + "line": 54, + "column": 16, + "start": 1824, + "end": 1829, + "length": 6, + "parent_index": 102 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 342, - "node_type": 44, - "src": { - "line": 256, - "column": 8, - "start": 8043, - "end": 8051, - "length": 9, - "parent_index": 339 - }, - "scope": 338, - "name": "b", - "type_name": { - "id": 343, - "node_type": 30, - "src": { - "line": 256, - "column": 8, - "start": 8043, - "end": 8049, - "length": 7, - "parent_index": 342 + "operator": 11, + "left_expression": { + "id": 104, + "node_type": 16, + "src": { + "line": 54, + "column": 16, + "start": 1824, + "end": 1824, + "length": 1, + "parent_index": 103 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 104, + "is_pure": false, + "text": "a" }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 344, - "node_type": 44, - "src": { - "line": 257, - "column": 8, - "start": 8062, - "end": 8087, - "length": 26, - "parent_index": 339 - }, - "scope": 338, - "name": "errorMessage", - "type_name": { - "id": 345, - "node_type": 30, - "src": { - "line": 257, - "column": 8, - "start": 8062, - "end": 8067, - "length": 6, - "parent_index": 344 + "right_expression": { + "id": 105, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 54, + "column": 21, + "start": 1829, + "end": 1829, + "length": 1, + "parent_index": 103 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, - "name": "string", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_bool", + "type_string": "bool" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "body": { + "id": 106, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" }, { - "type_identifier": "t_string", - "type_string": "string" - } - ] - }, - "return_parameters": { - "id": 346, - "node_type": 43, - "src": { - "line": 258, - "column": 29, - "start": 8118, - "end": 8124, - "length": 7, - "parent_index": 338 - }, - "parameters": [ - { - "id": 347, + "id": 107, "node_type": 44, "src": { - "line": 258, - "column": 29, - "start": 8118, - "end": 8124, - "length": 7, - "parent_index": 346 + "line": 55, + "column": 12, + "start": 1862, + "end": 1879, + "length": 18, + "parent_index": 101 }, - "scope": 338, - "name": "", - "type_name": { - "id": 348, - "node_type": 30, + "assignments": [ + 108 + ], + "declarations": [ + { + "id": 108, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 101, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1870, + "length": 9, + "parent_index": 107 + }, + "name_location": { + "line": 55, + "column": 20, + "start": 1870, + "end": 1870, + "length": 1, + "parent_index": 108 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 109, + "node_type": 30, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1868, + "length": 7, + "parent_index": 108 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 110, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 258, - "column": 29, - "start": 8118, - "end": 8124, - "length": 7, - "parent_index": 347 + "line": 55, + "column": 24, + "start": 1874, + "end": 1878, + "length": 5, + "parent_index": 107 + }, + "operator": 3, + "left_expression": { + "id": 111, + "node_type": 16, + "src": { + "line": 55, + "column": 24, + "start": 1874, + "end": 1874, + "length": 1, + "parent_index": 110 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 111, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 112, + "node_type": 16, + "src": { + "line": 55, + "column": 28, + "start": 1878, + "end": 1878, + "length": 1, + "parent_index": 110 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 112, + "is_pure": false, + "text": "b" }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" - } - }, - { - "id": 362, - "name": "div", - "node_type": 42, - "kind": 41, - "src": { - "line": 277, - "column": 4, - "start": 8717, - "end": 8946, - "length": 230, - "parent_index": 121 - }, - "name_location": { - "line": 277, - "column": 13, - "start": 8726, - "end": 8728, - "length": 3, - "parent_index": 362 - }, - "body": { - "id": 373, - "node_type": 46, - "kind": 0, - "src": { - "line": 281, - "column": 38, - "start": 8842, - "end": 8946, - "length": 105, - "parent_index": 362 - }, - "implemented": true, - "statements": [ + }, { - "id": 374, - "node_type": 59, - "kind": 0, + "id": 113, + "node_type": 48, "src": { - "line": 282, - "column": 8, - "start": 8852, - "end": 8940, - "length": 89, - "parent_index": 121 + "line": 56, + "column": 0, + "start": 1893, + "end": 1926, + "length": 34, + "parent_index": 101 }, - "implemented": false, - "statements": [ - { - "id": 375, - "node_type": 24, - "kind": 24, - "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8903, - "length": 28, - "parent_index": 374 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 377, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8888, - "length": 5, - "parent_index": 375 - }, - "operator": 7, - "left_expression": { - "id": 378, - "node_type": 16, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8884, - "length": 1, - "parent_index": 377 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 378, - "is_pure": false - }, - "right_expression": { - "id": 379, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 283, - "column": 24, - "start": 8888, - "end": 8888, - "length": 1, - "parent_index": 377 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "condition": { + "id": 114, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1906, + "length": 10, + "parent_index": 113 + }, + "operator": 12, + "left_expression": { + "id": 115, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1901, + "length": 5, + "parent_index": 114 + }, + "operator": 4, + "left_expression": { + "id": 116, + "node_type": 16, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1897, + "length": 1, + "parent_index": 115 }, - { - "id": 380, - "node_type": 16, - "src": { - "line": 283, - "column": 27, - "start": 8891, - "end": 8902, - "length": 12, - "parent_index": 375 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 380, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 376, + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 117, "node_type": 16, "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8882, - "length": 7, - "parent_index": 375 + "line": 56, + "column": 20, + "start": 1901, + "end": 1901, + "length": 1, + "parent_index": 115 }, - "name": "require", + "name": "a", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "referenced_declaration": 117, + "is_pure": false, + "text": "a" }, "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - { - "id": 381, - "node_type": 47, + "right_expression": { + "id": 118, + "node_type": 16, "src": { - "line": 284, - "column": 12, - "start": 8918, - "end": 8930, - "length": 13, - "parent_index": 362 + "line": 56, + "column": 25, + "start": 1906, + "end": 1906, + "length": 1, + "parent_index": 114 }, - "function_return_parameters": 362, - "expression": { - "id": 382, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 118, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 119, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 120, + "node_type": 47, + "src": { + "line": 57, + "column": 12, + "start": 1940, + "end": 1956, + "length": 17, + "parent_index": 89 + }, + "function_return_parameters": 89, + "expression": { + "id": 121, + "node_type": 60, + "src": { + "line": 57, + "column": 19, + "start": 1947, + "end": 1955, + "length": 9, + "parent_index": 120 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 122, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8929, - "length": 5, - "parent_index": 381 + "line": 57, + "column": 20, + "start": 1948, + "end": 1951, + "length": 4, + "parent_index": 121 }, - "operator": 4, - "left_expression": { - "id": 383, - "node_type": 16, - "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8925, - "length": 1, - "parent_index": 382 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 383, - "is_pure": false + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" }, - "right_expression": { - "id": 384, - "node_type": 16, - "src": { - "line": 284, - "column": 23, - "start": 8929, - "end": 8929, - "length": 1, - "parent_index": 382 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 384, - "is_pure": false + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 123, + "node_type": 16, + "src": { + "line": 57, + "column": 26, + "start": 1954, + "end": 1954, + "length": 1, + "parent_index": 121 }, + "name": "c", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" } - ] + } } ] + } + ] + }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 90, + "node_type": 43, + "src": { + "line": 49, + "column": 20, + "start": 1496, + "end": 1515, + "length": 20, + "parent_index": 89 + }, + "parameters": [ + { + "id": 91, + "node_type": 44, + "src": { + "line": 49, + "column": 20, + "start": 1496, + "end": 1504, + "length": 9, + "parent_index": 90 + }, + "scope": 89, + "name": "a", + "type_name": { + "id": 92, + "node_type": 30, + "src": { + "line": 49, + "column": 20, + "start": 1496, + "end": 1502, + "length": 7, + "parent_index": 91 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 93, + "node_type": 44, + "src": { + "line": 49, + "column": 31, + "start": 1507, + "end": 1515, + "length": 9, + "parent_index": 90 + }, + "scope": 89, + "name": "b", + "type_name": { + "id": 94, + "node_type": 30, + "src": { + "line": 49, + "column": 31, + "start": 1507, + "end": 1513, + "length": 7, + "parent_index": 93 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "implemented": false, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 363, - "node_type": 43, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 95, + "node_type": 43, + "src": { + "line": 49, + "column": 65, + "start": 1541, + "end": 1553, + "length": 13, + "parent_index": 89 + }, + "parameters": [ + { + "id": 96, + "node_type": 44, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8802, - "length": 64, - "parent_index": 362 + "line": 49, + "column": 65, + "start": 1541, + "end": 1544, + "length": 4, + "parent_index": 95 }, - "parameters": [ - { - "id": 364, - "node_type": 44, - "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8747, - "length": 9, - "parent_index": 363 - }, - "scope": 362, - "name": "a", - "type_name": { - "id": 365, - "node_type": 30, - "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8745, - "length": 7, - "parent_index": 364 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "scope": 89, + "name": "", + "type_name": { + "id": 97, + "node_type": 30, + "src": { + "line": 49, + "column": 65, + "start": 1541, + "end": 1544, + "length": 4, + "parent_index": 96 }, - { - "id": 366, - "node_type": 44, - "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8766, - "length": 9, - "parent_index": 363 - }, - "scope": 362, - "name": "b", - "type_name": { - "id": 367, - "node_type": 30, - "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8764, - "length": 7, - "parent_index": 366 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 98, + "node_type": 44, + "src": { + "line": 49, + "column": 71, + "start": 1547, + "end": 1553, + "length": 7, + "parent_index": 95 + }, + "scope": 89, + "name": "", + "type_name": { + "id": 99, + "node_type": 30, + "src": { + "line": 49, + "column": 71, + "start": 1547, + "end": 1553, + "length": 7, + "parent_index": 98 }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "tryMul(uint256,uint256)", + "signature": "6281efa4", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(a==0)return(true,0);uint256c=a*b;if(c/a!=b)return(false,0);return(true,c);}}" + }, + "id": 89, + "node_type": 42, + "kind": 41, + "name": "tryMul", + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "referenced_declaration_id": 0, + "signature": "6281efa4", + "modifiers": [], + "overrides": [], + "parameters": [ + { + "ast": { + "id": 91, + "node_type": 44, + "src": { + "line": 49, + "column": 20, + "start": 1496, + "end": 1504, + "length": 9, + "parent_index": 90 + }, + "scope": 89, + "name": "a", + "type_name": { + "id": 92, + "node_type": 30, + "src": { + "line": 49, + "column": 20, + "start": 1496, + "end": 1502, + "length": 7, + "parent_index": 91 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 91, + "node_type": 44, + "name": "a", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + }, + { + "ast": { + "id": 93, + "node_type": 44, + "src": { + "line": 49, + "column": 31, + "start": 1507, + "end": 1515, + "length": 9, + "parent_index": 90 + }, + "scope": 89, + "name": "b", + "type_name": { + "id": 94, + "node_type": 30, + "src": { + "line": 49, + "column": 31, + "start": 1507, + "end": 1513, + "length": 7, + "parent_index": 93 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 93, + "node_type": 44, + "name": "b", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "body": { + "ast": { + "id": 100, + "node_type": 46, + "kind": 0, + "src": { + "line": 49, + "column": 80, + "start": 1556, + "end": 1972, + "length": 417, + "parent_index": 89 + }, + "implemented": true, + "statements": [ + { + "id": 101, + "node_type": 59, + "kind": 0, + "src": { + "line": 50, + "column": 8, + "start": 1566, + "end": 1966, + "length": 401, + "parent_index": 33 + }, + "implemented": false, + "statements": [ { - "id": 368, - "node_type": 44, + "id": 102, + "node_type": 48, "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8802, - "length": 26, - "parent_index": 363 + "line": 54, + "column": 0, + "start": 1820, + "end": 1848, + "length": 29, + "parent_index": 101 }, - "scope": 362, - "name": "errorMessage", - "type_name": { - "id": 369, - "node_type": 30, + "condition": { + "id": 103, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8782, + "line": 54, + "column": 16, + "start": 1824, + "end": 1829, "length": 6, - "parent_index": 368 + "parent_index": 102 + }, + "operator": 11, + "left_expression": { + "id": 104, + "node_type": 16, + "src": { + "line": 54, + "column": 16, + "start": 1824, + "end": 1824, + "length": 1, + "parent_index": 103 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 104, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 105, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 54, + "column": 21, + "start": 1829, + "end": 1829, + "length": 1, + "parent_index": 103 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, - "name": "string", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_bool", + "type_string": "bool" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "body": { + "id": 106, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" }, { - "type_identifier": "t_string", - "type_string": "string" - } - ] - }, - "return_parameters": { - "id": 370, - "node_type": 43, - "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, - "length": 7, - "parent_index": 362 - }, - "parameters": [ - { - "id": 371, + "id": 107, "node_type": 44, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, - "length": 7, - "parent_index": 370 + "line": 55, + "column": 12, + "start": 1862, + "end": 1879, + "length": 18, + "parent_index": 101 }, - "scope": 362, - "name": "", - "type_name": { - "id": 372, - "node_type": 30, + "assignments": [ + 108 + ], + "declarations": [ + { + "id": 108, + "state_mutability": 1, + "name": "c", + "node_type": 44, + "scope": 101, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1870, + "length": 9, + "parent_index": 107 + }, + "name_location": { + "line": 55, + "column": 20, + "start": 1870, + "end": 1870, + "length": 1, + "parent_index": 108 + }, + "is_state_variable": false, + "storage_location": 1, + "type_name": { + "id": 109, + "node_type": 30, + "src": { + "line": 55, + "column": 12, + "start": 1862, + "end": 1868, + "length": 7, + "parent_index": 108 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "visibility": 1 + } + ], + "initial_value": { + "id": 110, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, - "length": 7, - "parent_index": 371 + "line": 55, + "column": 24, + "start": 1874, + "end": 1878, + "length": 5, + "parent_index": 107 + }, + "operator": 3, + "left_expression": { + "id": 111, + "node_type": 16, + "src": { + "line": 55, + "column": 24, + "start": 1874, + "end": 1874, + "length": 1, + "parent_index": 110 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 111, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 112, + "node_type": 16, + "src": { + "line": 55, + "column": 28, + "start": 1878, + "end": 1878, + "length": 1, + "parent_index": 110 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 112, + "is_pure": false, + "text": "b" }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" - } - }, - { - "id": 386, - "name": "mod", - "node_type": 42, - "kind": 41, - "src": { - "line": 303, - "column": 4, - "start": 9593, - "end": 9822, - "length": 230, - "parent_index": 121 - }, - "name_location": { - "line": 303, - "column": 13, - "start": 9602, - "end": 9604, - "length": 3, - "parent_index": 386 - }, - "body": { - "id": 397, - "node_type": 46, - "kind": 0, - "src": { - "line": 307, - "column": 38, - "start": 9718, - "end": 9822, - "length": 105, - "parent_index": 386 - }, - "implemented": true, - "statements": [ + }, { - "id": 398, - "node_type": 59, - "kind": 0, + "id": 113, + "node_type": 48, "src": { - "line": 308, - "column": 8, - "start": 9728, - "end": 9816, - "length": 89, - "parent_index": 121 + "line": 56, + "column": 0, + "start": 1893, + "end": 1926, + "length": 34, + "parent_index": 101 }, - "implemented": false, - "statements": [ - { - "id": 399, - "node_type": 24, - "kind": 24, + "condition": { + "id": 114, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1906, + "length": 10, + "parent_index": 113 + }, + "operator": 12, + "left_expression": { + "id": 115, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9779, - "length": 28, - "parent_index": 398 + "line": 56, + "column": 16, + "start": 1897, + "end": 1901, + "length": 5, + "parent_index": 114 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" + "operator": 4, + "left_expression": { + "id": 116, + "node_type": 16, + "src": { + "line": 56, + "column": 16, + "start": 1897, + "end": 1897, + "length": 1, + "parent_index": 115 }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 401, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9764, - "length": 5, - "parent_index": 399 - }, - "operator": 7, - "left_expression": { - "id": 402, - "node_type": 16, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9760, - "length": 1, - "parent_index": 401 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 402, - "is_pure": false - }, - "right_expression": { - "id": 403, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 309, - "column": 24, - "start": 9764, - "end": 9764, - "length": 1, - "parent_index": 401 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "c", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - { - "id": 404, - "node_type": 16, - "src": { - "line": 309, - "column": 27, - "start": 9767, - "end": 9778, - "length": 12, - "parent_index": 399 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 400, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" + }, + "right_expression": { + "id": 117, "node_type": 16, "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9758, - "length": 7, - "parent_index": 399 + "line": 56, + "column": 20, + "start": 1901, + "end": 1901, + "length": 1, + "parent_index": 115 }, - "name": "require", + "name": "a", "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true + "referenced_declaration": 117, + "is_pure": false, + "text": "a" }, "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - { - "id": 405, - "node_type": 47, + "right_expression": { + "id": 118, + "node_type": 16, "src": { - "line": 310, - "column": 12, - "start": 9794, - "end": 9806, - "length": 13, - "parent_index": 386 + "line": 56, + "column": 25, + "start": 1906, + "end": 1906, + "length": 1, + "parent_index": 114 }, - "function_return_parameters": 386, - "expression": { - "id": 406, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 118, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "body": { + "id": 119, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] + } + }, + { + "id": 120, + "node_type": 47, + "src": { + "line": 57, + "column": 12, + "start": 1940, + "end": 1956, + "length": 17, + "parent_index": 89 + }, + "function_return_parameters": 89, + "expression": { + "id": 121, + "node_type": 60, + "src": { + "line": 57, + "column": 19, + "start": 1947, + "end": 1955, + "length": 9, + "parent_index": 120 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 122, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9805, - "length": 5, - "parent_index": 405 + "line": 57, + "column": 20, + "start": 1948, + "end": 1951, + "length": 4, + "parent_index": 121 }, - "operator": 5, - "left_expression": { - "id": 407, - "node_type": 16, - "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9801, - "length": 1, - "parent_index": 406 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 407, - "is_pure": false + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" }, - "right_expression": { - "id": 408, - "node_type": 16, - "src": { - "line": 310, - "column": 23, - "start": 9805, - "end": 9805, - "length": 1, - "parent_index": 406 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 408, - "is_pure": false + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 123, + "node_type": 16, + "src": { + "line": 57, + "column": 26, + "start": 1954, + "end": 1954, + "length": 1, + "parent_index": 121 }, + "name": "c", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "overloaded_declarations": [], + "referenced_declaration": 107, + "is_pure": false, + "text": "c" } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" } - ] + } } ] + } + ] + }, + "id": 100, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ + { + "ast": { + "id": 96, + "node_type": 44, + "src": { + "line": 49, + "column": 65, + "start": 1541, + "end": 1544, + "length": 4, + "parent_index": 95 + }, + "scope": 89, + "name": "", + "type_name": { + "id": 97, + "node_type": 30, + "src": { + "line": 49, + "column": 65, + "start": 1541, + "end": 1544, + "length": 4, + "parent_index": 96 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } }, - "implemented": false, + "storage_location": 2, "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 387, - "node_type": 43, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "id": 96, + "node_type": 44, + "name": "", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "indexed": false + }, + { + "ast": { + "id": 98, + "node_type": 44, + "src": { + "line": 49, + "column": 71, + "start": 1547, + "end": 1553, + "length": 7, + "parent_index": 95 + }, + "scope": 89, + "name": "", + "type_name": { + "id": 99, + "node_type": 30, + "src": { + "line": 49, + "column": 71, + "start": 1547, + "end": 1553, + "length": 7, + "parent_index": 98 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 98, + "node_type": 44, + "name": "", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "src": { + "line": 49, + "column": 4, + "start": 1480, + "end": 1972, + "length": 493, + "parent_index": 33 + } + }, + { + "ast": { + "id": 125, + "name": "tryDiv", + "node_type": 42, + "kind": 41, + "src": { + "line": 66, + "column": 4, + "start": 2122, + "end": 2311, + "length": 190, + "parent_index": 33 + }, + "name_location": { + "line": 66, + "column": 13, + "start": 2131, + "end": 2136, + "length": 6, + "parent_index": 125 + }, + "body": { + "id": 136, + "node_type": 46, + "kind": 0, + "src": { + "line": 66, + "column": 80, + "start": 2198, + "end": 2311, + "length": 114, + "parent_index": 125 + }, + "implemented": true, + "statements": [ + { + "id": 137, + "node_type": 59, + "kind": 0, "src": { - "line": 304, + "line": 67, "column": 8, - "start": 9615, - "end": 9678, - "length": 64, - "parent_index": 386 + "start": 2208, + "end": 2305, + "length": 98, + "parent_index": 33 }, - "parameters": [ + "implemented": false, + "statements": [ { - "id": 388, - "node_type": 44, + "id": 138, + "node_type": 48, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9623, - "length": 9, - "parent_index": 387 + "line": 68, + "column": 0, + "start": 2232, + "end": 2261, + "length": 30, + "parent_index": 137 }, - "scope": 386, - "name": "a", - "type_name": { - "id": 389, - "node_type": 30, + "condition": { + "id": 139, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9621, - "length": 7, - "parent_index": 388 + "line": 68, + "column": 16, + "start": 2236, + "end": 2241, + "length": 6, + "parent_index": 138 + }, + "operator": 11, + "left_expression": { + "id": 140, + "node_type": 16, + "src": { + "line": 68, + "column": 16, + "start": 2236, + "end": 2236, + "length": 1, + "parent_index": 139 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 140, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 141, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 68, + "column": 21, + "start": 2241, + "end": 2241, + "length": 1, + "parent_index": 139 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, - "name": "uint256", - "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 390, - "node_type": 44, - "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9642, - "length": 9, - "parent_index": 387 - }, - "scope": 386, - "name": "b", - "type_name": { - "id": 391, - "node_type": 30, + "body": { + "id": 142, + "node_type": 46, + "kind": 0, "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9640, - "length": 7, - "parent_index": 390 + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "implemented": false, + "statements": [] } }, { - "id": 392, - "node_type": 44, + "id": 143, + "node_type": 47, "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9678, - "length": 26, - "parent_index": 387 + "line": 69, + "column": 12, + "start": 2275, + "end": 2295, + "length": 21, + "parent_index": 125 }, - "scope": 386, - "name": "errorMessage", - "type_name": { - "id": 393, - "node_type": 30, + "function_return_parameters": 125, + "expression": { + "id": 144, + "node_type": 60, "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9658, - "length": 6, - "parent_index": 392 + "line": 69, + "column": 19, + "start": 2282, + "end": 2294, + "length": 13, + "parent_index": 143 }, - "name": "string", - "referenced_declaration": 0, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 145, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 69, + "column": 20, + "start": 2283, + "end": 2286, + "length": 4, + "parent_index": 144 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 146, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 69, + "column": 26, + "start": 2289, + "end": 2293, + "length": 5, + "parent_index": 144 + }, + "operator": 4, + "left_expression": { + "id": 147, + "node_type": 16, + "src": { + "line": 69, + "column": 26, + "start": 2289, + "end": 2289, + "length": 1, + "parent_index": 146 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 147, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 148, + "node_type": 16, + "src": { + "line": 69, + "column": 30, + "start": 2293, + "end": 2293, + "length": 1, + "parent_index": 146 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 148, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" } } - ], - "parameter_types": [ - { + ] + } + ] + }, + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 126, + "node_type": 43, + "src": { + "line": 66, + "column": 20, + "start": 2138, + "end": 2157, + "length": 20, + "parent_index": 125 + }, + "parameters": [ + { + "id": 127, + "node_type": 44, + "src": { + "line": 66, + "column": 20, + "start": 2138, + "end": 2146, + "length": 9, + "parent_index": 126 + }, + "scope": 125, + "name": "a", + "type_name": { + "id": 128, + "node_type": 30, + "src": { + "line": 66, + "column": 20, + "start": 2138, + "end": 2144, + "length": 7, + "parent_index": 127 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 129, + "node_type": 44, + "src": { + "line": 66, + "column": 31, + "start": 2149, + "end": 2157, + "length": 9, + "parent_index": 126 + }, + "scope": 125, + "name": "b", + "type_name": { + "id": 130, + "node_type": 30, + "src": { + "line": 66, + "column": 31, + "start": 2149, + "end": 2155, + "length": 7, + "parent_index": 129 }, - { + "name": "uint256", + "referenced_declaration": 0, + "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 131, + "node_type": 43, + "src": { + "line": 66, + "column": 65, + "start": 2183, + "end": 2195, + "length": 13, + "parent_index": 125 + }, + "parameters": [ + { + "id": 132, + "node_type": 44, + "src": { + "line": 66, + "column": 65, + "start": 2183, + "end": 2186, + "length": 4, + "parent_index": 131 + }, + "scope": 125, + "name": "", + "type_name": { + "id": 133, + "node_type": 30, + "src": { + "line": 66, + "column": 65, + "start": 2183, + "end": 2186, + "length": 4, + "parent_index": 132 }, - { - "type_identifier": "t_string", - "type_string": "string" + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" } - ] + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } }, - "return_parameters": { - "id": 394, - "node_type": 43, + { + "id": 134, + "node_type": 44, + "src": { + "line": 66, + "column": 71, + "start": 2189, + "end": 2195, + "length": 7, + "parent_index": 131 + }, + "scope": 125, + "name": "", + "type_name": { + "id": 135, + "node_type": 30, + "src": { + "line": 66, + "column": 71, + "start": 2189, + "end": 2195, + "length": 7, + "parent_index": 134 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "tryDiv(uint256,uint256)", + "signature": "736ecb18", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functiontryDiv(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a/b);}}" + }, + "id": 125, + "node_type": 42, + "kind": 41, + "name": "tryDiv", + "implemented": false, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "referenced_declaration_id": 0, + "signature": "736ecb18", + "modifiers": [], + "overrides": [], + "parameters": [ + { + "ast": { + "id": 127, + "node_type": 44, + "src": { + "line": 66, + "column": 20, + "start": 2138, + "end": 2146, + "length": 9, + "parent_index": 126 + }, + "scope": 125, + "name": "a", + "type_name": { + "id": 128, + "node_type": 30, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, + "line": 66, + "column": 20, + "start": 2138, + "end": 2144, "length": 7, - "parent_index": 386 + "parent_index": 127 }, - "parameters": [ - { - "id": 395, - "node_type": 44, - "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 394 - }, - "scope": 386, - "name": "", - "type_name": { - "id": 396, - "node_type": 30, - "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 395 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", - "scope": 121, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" + "type_identifier": "t_uint256", + "type_string": "uint256" } - } - ], - "linearized_base_contracts": [ - 121 - ], - "base_contracts": [], - "contract_dependencies": [] - } - ], - "src": { - "line": 100, - "column": 0, - "start": 3349, - "end": 9824, - "length": 6476, - "parent_index": 30 - } - }, - "id": 121, - "source_unit_id": 118, - "node_type": 35, - "kind": 37, - "name": "SafeMath", - "license": "MIT", - "language": "solidity", - "absolute_path": "SafeMath.sol", - "symbols": [ - { - "id": 118, - "name": "SafeMath", - "absolute_path": "SafeMath.sol" - } - ], - "imports": [], - "pragmas": [ - { - "ast": { - "id": 120, - "node_type": 10, - "src": { - "line": 85, - "column": 0, - "start": 2760, - "end": 2782, - "length": 23, - "parent_index": 118 + }, + "id": 127, + "node_type": 44, + "name": "a", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false }, - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" - ], - "text": "pragma solidity ^0.8.0;" - }, - "id": 120, - "node_type": 10, - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" + { + "ast": { + "id": 129, + "node_type": 44, + "src": { + "line": 66, + "column": 31, + "start": 2149, + "end": 2157, + "length": 9, + "parent_index": 126 + }, + "scope": 125, + "name": "b", + "type_name": { + "id": 130, + "node_type": 30, + "src": { + "line": 66, + "column": 31, + "start": 2149, + "end": 2155, + "length": 7, + "parent_index": 129 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 129, + "node_type": 44, + "name": "b", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } ], - "text": "pragma solidity ^0.8.0;" - } - ], - "state_variables": [], - "structs": [], - "enums": [], - "events": [], - "errors": [], - "functions": [ - { - "ast": { - "id": 123, - "name": "tryAdd", - "node_type": 42, - "kind": 41, - "src": { - "line": 106, - "column": 4, - "start": 3508, - "end": 3723, - "length": 216, - "parent_index": 121 - }, - "name_location": { - "line": 106, - "column": 13, - "start": 3517, - "end": 3522, - "length": 6, - "parent_index": 123 - }, - "body": { - "id": 134, + "body": { + "ast": { + "id": 136, "node_type": 46, "kind": 0, "src": { - "line": 106, - "column": 80, - "start": 3584, - "end": 3723, - "length": 140, - "parent_index": 123 - }, - "implemented": true, - "statements": [ - { - "id": 135, - "node_type": 59, - "kind": 0, - "src": { - "line": 107, - "column": 8, - "start": 3594, - "end": 3717, - "length": 124, - "parent_index": 121 - }, - "implemented": false, - "statements": [ - { - "id": 136, - "node_type": 44, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3635, - "length": 18, - "parent_index": 135 - }, - "assignments": [ - 137 - ], - "declarations": [ - { - "id": 137, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 135, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3626, - "length": 9, - "parent_index": 136 - }, - "name_location": { - "line": 108, - "column": 20, - "start": 3626, - "end": 3626, - "length": 1, - "parent_index": 137 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 138, - "node_type": 30, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3624, - "length": 7, - "parent_index": 137 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { + "line": 66, + "column": 80, + "start": 2198, + "end": 2311, + "length": 114, + "parent_index": 125 + }, + "implemented": true, + "statements": [ + { + "id": 137, + "node_type": 59, + "kind": 0, + "src": { + "line": 67, + "column": 8, + "start": 2208, + "end": 2305, + "length": 98, + "parent_index": 33 + }, + "implemented": false, + "statements": [ + { + "id": 138, + "node_type": 48, + "src": { + "line": 68, + "column": 0, + "start": 2232, + "end": 2261, + "length": 30, + "parent_index": 137 + }, + "condition": { "id": 139, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3634, - "length": 5, - "parent_index": 136 + "line": 68, + "column": 16, + "start": 2236, + "end": 2241, + "length": 6, + "parent_index": 138 }, - "operator": 1, + "operator": 11, "left_expression": { "id": 140, "node_type": 16, "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3630, + "line": 68, + "column": 16, + "start": 2236, + "end": 2236, "length": 1, "parent_index": 139 }, - "name": "a", + "name": "b", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], "referenced_declaration": 140, - "is_pure": false + "is_pure": false, + "text": "b" }, "right_expression": { "id": 141, - "node_type": 16, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 108, - "column": 28, - "start": 3634, - "end": 3634, + "line": 68, + "column": 21, + "start": 2241, + "end": 2241, "length": 1, "parent_index": 139 }, - "name": "b", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], - "referenced_declaration": 141, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } + }, + "body": { + "id": 142, + "node_type": 46, + "kind": 0, + "src": { + "line": 0, + "column": 0, + "start": 0, + "end": 0, + "length": 0 + }, + "implemented": false, + "statements": [] } }, { - "id": 142, + "id": 143, + "node_type": 47, + "src": { + "line": 69, + "column": 12, + "start": 2275, + "end": 2295, + "length": 21, + "parent_index": 125 + }, + "function_return_parameters": 125, + "expression": { + "id": 144, + "node_type": 60, + "src": { + "line": 69, + "column": 19, + "start": 2282, + "end": 2294, + "length": 13, + "parent_index": 143 + }, + "is_constant": false, + "is_pure": true, + "components": [ + { + "id": 145, + "node_type": 17, + "kind": 61, + "value": "true", + "hex_value": "74727565", + "src": { + "line": 69, + "column": 20, + "start": 2283, + "end": 2286, + "length": 4, + "parent_index": 144 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "true" + }, + { + "id": 146, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 69, + "column": 26, + "start": 2289, + "end": 2293, + "length": 5, + "parent_index": 144 + }, + "operator": 4, + "left_expression": { + "id": 147, + "node_type": 16, + "src": { + "line": 69, + "column": 26, + "start": 2289, + "end": 2289, + "length": 1, + "parent_index": 146 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 147, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 148, + "node_type": 16, + "src": { + "line": 69, + "column": 30, + "start": 2293, + "end": 2293, + "length": 1, + "parent_index": 146 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 148, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "type_description": { + "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", + "type_string": "tuple(bool,uint256)" + } + } + } + ] + } + ] + }, + "id": 136, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ + { + "ast": { + "id": 132, + "node_type": 44, + "src": { + "line": 66, + "column": 65, + "start": 2183, + "end": 2186, + "length": 4, + "parent_index": 131 + }, + "scope": 125, + "name": "", + "type_name": { + "id": 133, + "node_type": 30, + "src": { + "line": 66, + "column": 65, + "start": 2183, + "end": 2186, + "length": 4, + "parent_index": 132 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "id": 132, + "node_type": 44, + "name": "", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "indexed": false + }, + { + "ast": { + "id": 134, + "node_type": 44, + "src": { + "line": 66, + "column": 71, + "start": 2189, + "end": 2195, + "length": 7, + "parent_index": 131 + }, + "scope": 125, + "name": "", + "type_name": { + "id": 135, + "node_type": 30, + "src": { + "line": 66, + "column": 71, + "start": 2189, + "end": 2195, + "length": 7, + "parent_index": 134 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 134, + "node_type": 44, + "name": "", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "src": { + "line": 66, + "column": 4, + "start": 2122, + "end": 2311, + "length": 190, + "parent_index": 33 + } + }, + { + "ast": { + "id": 150, + "name": "tryMod", + "node_type": 42, + "kind": 41, + "src": { + "line": 78, + "column": 4, + "start": 2471, + "end": 2660, + "length": 190, + "parent_index": 33 + }, + "name_location": { + "line": 78, + "column": 13, + "start": 2480, + "end": 2485, + "length": 6, + "parent_index": 150 + }, + "body": { + "id": 161, + "node_type": 46, + "kind": 0, + "src": { + "line": 78, + "column": 80, + "start": 2547, + "end": 2660, + "length": 114, + "parent_index": 150 + }, + "implemented": true, + "statements": [ + { + "id": 162, + "node_type": 59, + "kind": 0, + "src": { + "line": 79, + "column": 8, + "start": 2557, + "end": 2654, + "length": 98, + "parent_index": 33 + }, + "implemented": false, + "statements": [ + { + "id": 163, "node_type": 48, "src": { - "line": 109, + "line": 80, "column": 0, - "start": 3649, - "end": 3677, - "length": 29, - "parent_index": 135 + "start": 2581, + "end": 2610, + "length": 30, + "parent_index": 162 }, "condition": { - "id": 143, + "id": 164, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 109, + "line": 80, "column": 16, - "start": 3653, - "end": 3657, - "length": 5, - "parent_index": 142 + "start": 2585, + "end": 2590, + "length": 6, + "parent_index": 163 }, - "operator": 9, + "operator": 11, "left_expression": { - "id": 144, + "id": 165, "node_type": 16, "src": { - "line": 109, + "line": 80, "column": 16, - "start": 3653, - "end": 3653, + "start": 2585, + "end": 2585, "length": 1, - "parent_index": 143 + "parent_index": 164 }, - "name": "c", + "name": "b", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false + "referenced_declaration": 165, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 145, - "node_type": 16, + "id": 166, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 109, - "column": 20, - "start": 3657, - "end": 3657, + "line": 80, + "column": 21, + "start": 2590, + "end": 2590, "length": 1, - "parent_index": 143 + "parent_index": 164 }, - "name": "a", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], - "referenced_declaration": 145, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -21803,7 +21491,7 @@ } }, "body": { - "id": 146, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -21818,44 +21506,44 @@ } }, { - "id": 147, + "id": 168, "node_type": 47, "src": { - "line": 110, + "line": 81, "column": 12, - "start": 3691, - "end": 3707, - "length": 17, - "parent_index": 123 + "start": 2624, + "end": 2644, + "length": 21, + "parent_index": 150 }, - "function_return_parameters": 123, + "function_return_parameters": 150, "expression": { - "id": 148, + "id": 169, "node_type": 60, "src": { - "line": 110, + "line": 81, "column": 19, - "start": 3698, - "end": 3706, - "length": 9, - "parent_index": 147 + "start": 2631, + "end": 2643, + "length": 13, + "parent_index": 168 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 149, + "id": 170, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 110, + "line": 81, "column": 20, - "start": 3699, - "end": 3702, + "start": 2632, + "end": 2635, "length": 4, - "parent_index": 148 + "parent_index": 169 }, "type_description": { "type_identifier": "t_bool", @@ -21863,27 +21551,69 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 150, - "node_type": 16, + "id": 171, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 110, + "line": 81, "column": 26, - "start": 3705, - "end": 3705, - "length": 1, - "parent_index": 148 + "start": 2638, + "end": 2642, + "length": 5, + "parent_index": 169 + }, + "operator": 5, + "left_expression": { + "id": 172, + "node_type": 16, + "src": { + "line": 81, + "column": 26, + "start": 2638, + "end": 2638, + "length": 1, + "parent_index": 171 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 172, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 173, + "node_type": 16, + "src": { + "line": 81, + "column": 30, + "start": 2642, + "end": 2642, + "length": 1, + "parent_index": 171 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 173, + "is_pure": false, + "text": "b" }, - "name": "c", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false + } } ], "type_description": { @@ -21903,40 +21633,40 @@ "modifiers": [], "overrides": [], "parameters": { - "id": 124, + "id": 151, "node_type": 43, "src": { - "line": 106, + "line": 78, "column": 20, - "start": 3524, - "end": 3543, + "start": 2487, + "end": 2506, "length": 20, - "parent_index": 123 + "parent_index": 150 }, "parameters": [ { - "id": 125, + "id": 152, "node_type": 44, "src": { - "line": 106, + "line": 78, "column": 20, - "start": 3524, - "end": 3532, + "start": 2487, + "end": 2495, "length": 9, - "parent_index": 124 + "parent_index": 151 }, - "scope": 123, + "scope": 150, "name": "a", "type_name": { - "id": 126, + "id": 153, "node_type": 30, "src": { - "line": 106, + "line": 78, "column": 20, - "start": 3524, - "end": 3530, + "start": 2487, + "end": 2493, "length": 7, - "parent_index": 125 + "parent_index": 152 }, "name": "uint256", "referenced_declaration": 0, @@ -21954,28 +21684,28 @@ } }, { - "id": 127, + "id": 154, "node_type": 44, "src": { - "line": 106, + "line": 78, "column": 31, - "start": 3535, - "end": 3543, + "start": 2498, + "end": 2506, "length": 9, - "parent_index": 124 + "parent_index": 151 }, - "scope": 123, + "scope": 150, "name": "b", "type_name": { - "id": 128, + "id": 155, "node_type": 30, "src": { - "line": 106, + "line": 78, "column": 31, - "start": 3535, - "end": 3541, + "start": 2498, + "end": 2504, "length": 7, - "parent_index": 127 + "parent_index": 154 }, "name": "uint256", "referenced_declaration": 0, @@ -22005,40 +21735,40 @@ ] }, "return_parameters": { - "id": 129, + "id": 156, "node_type": 43, "src": { - "line": 106, + "line": 78, "column": 65, - "start": 3569, - "end": 3581, + "start": 2532, + "end": 2544, "length": 13, - "parent_index": 123 + "parent_index": 150 }, "parameters": [ { - "id": 130, + "id": 157, "node_type": 44, "src": { - "line": 106, + "line": 78, "column": 65, - "start": 3569, - "end": 3572, + "start": 2532, + "end": 2535, "length": 4, - "parent_index": 129 + "parent_index": 156 }, - "scope": 123, + "scope": 150, "name": "", "type_name": { - "id": 131, + "id": 158, "node_type": 30, "src": { - "line": 106, + "line": 78, "column": 65, - "start": 3569, - "end": 3572, + "start": 2532, + "end": 2535, "length": 4, - "parent_index": 130 + "parent_index": 157 }, "name": "bool", "referenced_declaration": 0, @@ -22056,28 +21786,28 @@ } }, { - "id": 132, + "id": 159, "node_type": 44, "src": { - "line": 106, + "line": 78, "column": 71, - "start": 3575, - "end": 3581, + "start": 2538, + "end": 2544, "length": 7, - "parent_index": 129 + "parent_index": 156 }, - "scope": 123, + "scope": 150, "name": "", "type_name": { - "id": 133, + "id": 160, "node_type": 30, "src": { - "line": 106, + "line": 78, "column": 71, - "start": 3575, - "end": 3581, + "start": 2538, + "end": 2544, "length": 7, - "parent_index": 132 + "parent_index": 159 }, "name": "uint256", "referenced_declaration": 0, @@ -22106,51 +21836,52 @@ } ] }, - "signature_raw": "tryAdd(uint256, uint256)", - "signature": "d730d6d4", - "scope": 121, + "signature_raw": "tryMod(uint256,uint256)", + "signature": "38dc0867", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiontryMod(uint256a,uint256b)internalpurereturns(bool,uint256){unchecked{if(b==0)return(false,0);return(true,a%b);}}" }, - "id": 123, + "id": 150, "node_type": 42, "kind": 41, - "name": "tryAdd", + "name": "tryMod", "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "d730d6d4", + "signature": "38dc0867", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 125, + "id": 152, "node_type": 44, "src": { - "line": 106, + "line": 78, "column": 20, - "start": 3524, - "end": 3532, + "start": 2487, + "end": 2495, "length": 9, - "parent_index": 124 + "parent_index": 151 }, - "scope": 123, + "scope": 150, "name": "a", "type_name": { - "id": 126, + "id": 153, "node_type": 30, "src": { - "line": 106, + "line": 78, "column": 20, - "start": 3524, - "end": 3530, + "start": 2487, + "end": 2493, "length": 7, - "parent_index": 125 + "parent_index": 152 }, "name": "uint256", "referenced_declaration": 0, @@ -22167,7 +21898,7 @@ "type_string": "uint256" } }, - "id": 125, + "id": 152, "node_type": 44, "name": "a", "type": "uint256", @@ -22179,28 +21910,28 @@ }, { "ast": { - "id": 127, + "id": 154, "node_type": 44, "src": { - "line": 106, + "line": 78, "column": 31, - "start": 3535, - "end": 3543, + "start": 2498, + "end": 2506, "length": 9, - "parent_index": 124 + "parent_index": 151 }, - "scope": 123, + "scope": 150, "name": "b", "type_name": { - "id": 128, + "id": 155, "node_type": 30, "src": { - "line": 106, + "line": 78, "column": 31, - "start": 3535, - "end": 3541, + "start": 2498, + "end": 2504, "length": 7, - "parent_index": 127 + "parent_index": 154 }, "name": "uint256", "referenced_declaration": 0, @@ -22217,7 +21948,7 @@ "type_string": "uint256" } }, - "id": 127, + "id": 154, "node_type": 44, "name": "b", "type": "uint256", @@ -22230,217 +21961,101 @@ ], "body": { "ast": { - "id": 134, + "id": 161, "node_type": 46, "kind": 0, "src": { - "line": 106, + "line": 78, "column": 80, - "start": 3584, - "end": 3723, - "length": 140, - "parent_index": 123 + "start": 2547, + "end": 2660, + "length": 114, + "parent_index": 150 }, "implemented": true, "statements": [ { - "id": 135, + "id": 162, "node_type": 59, "kind": 0, "src": { - "line": 107, + "line": 79, "column": 8, - "start": 3594, - "end": 3717, - "length": 124, - "parent_index": 121 + "start": 2557, + "end": 2654, + "length": 98, + "parent_index": 33 }, "implemented": false, "statements": [ { - "id": 136, - "node_type": 44, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3635, - "length": 18, - "parent_index": 135 - }, - "assignments": [ - 137 - ], - "declarations": [ - { - "id": 137, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 135, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3626, - "length": 9, - "parent_index": 136 - }, - "name_location": { - "line": 108, - "column": 20, - "start": 3626, - "end": 3626, - "length": 1, - "parent_index": 137 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 138, - "node_type": 30, - "src": { - "line": 108, - "column": 12, - "start": 3618, - "end": 3624, - "length": 7, - "parent_index": 137 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 139, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3634, - "length": 5, - "parent_index": 136 - }, - "operator": 1, - "left_expression": { - "id": 140, - "node_type": 16, - "src": { - "line": 108, - "column": 24, - "start": 3630, - "end": 3630, - "length": 1, - "parent_index": 139 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 140, - "is_pure": false - }, - "right_expression": { - "id": 141, - "node_type": 16, - "src": { - "line": 108, - "column": 28, - "start": 3634, - "end": 3634, - "length": 1, - "parent_index": 139 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 141, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - }, - { - "id": 142, + "id": 163, "node_type": 48, "src": { - "line": 109, + "line": 80, "column": 0, - "start": 3649, - "end": 3677, - "length": 29, - "parent_index": 135 + "start": 2581, + "end": 2610, + "length": 30, + "parent_index": 162 }, "condition": { - "id": 143, + "id": 164, "is_constant": false, "is_pure": false, "node_type": 19, "src": { - "line": 109, + "line": 80, "column": 16, - "start": 3653, - "end": 3657, - "length": 5, - "parent_index": 142 + "start": 2585, + "end": 2590, + "length": 6, + "parent_index": 163 }, - "operator": 9, + "operator": 11, "left_expression": { - "id": 144, + "id": 165, "node_type": 16, "src": { - "line": 109, + "line": 80, "column": 16, - "start": 3653, - "end": 3653, + "start": 2585, + "end": 2585, "length": 1, - "parent_index": 143 + "parent_index": 164 }, - "name": "c", + "name": "b", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false + "referenced_declaration": 165, + "is_pure": false, + "text": "b" }, "right_expression": { - "id": 145, - "node_type": 16, + "id": 166, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", "src": { - "line": 109, - "column": 20, - "start": 3657, - "end": 3657, + "line": 80, + "column": 21, + "start": 2590, + "end": 2590, "length": 1, - "parent_index": 143 + "parent_index": 164 }, - "name": "a", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" }, "overloaded_declarations": [], - "referenced_declaration": 145, - "is_pure": false + "referenced_declaration": 0, + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -22448,7 +22063,7 @@ } }, "body": { - "id": 146, + "id": 167, "node_type": 46, "kind": 0, "src": { @@ -22463,44 +22078,44 @@ } }, { - "id": 147, + "id": 168, "node_type": 47, "src": { - "line": 110, + "line": 81, "column": 12, - "start": 3691, - "end": 3707, - "length": 17, - "parent_index": 123 + "start": 2624, + "end": 2644, + "length": 21, + "parent_index": 150 }, - "function_return_parameters": 123, + "function_return_parameters": 150, "expression": { - "id": 148, + "id": 169, "node_type": 60, "src": { - "line": 110, + "line": 81, "column": 19, - "start": 3698, - "end": 3706, - "length": 9, - "parent_index": 147 + "start": 2631, + "end": 2643, + "length": 13, + "parent_index": 168 }, "is_constant": false, "is_pure": true, "components": [ { - "id": 149, + "id": 170, "node_type": 17, "kind": 61, "value": "true", "hex_value": "74727565", "src": { - "line": 110, + "line": 81, "column": 20, - "start": 3699, - "end": 3702, + "start": 2632, + "end": 2635, "length": 4, - "parent_index": 148 + "parent_index": 169 }, "type_description": { "type_identifier": "t_bool", @@ -22508,27 +22123,69 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, { - "id": 150, - "node_type": 16, + "id": 171, + "is_constant": false, + "is_pure": false, + "node_type": 19, "src": { - "line": 110, + "line": 81, "column": 26, - "start": 3705, - "end": 3705, - "length": 1, - "parent_index": 148 + "start": 2638, + "end": 2642, + "length": 5, + "parent_index": 169 + }, + "operator": 5, + "left_expression": { + "id": 172, + "node_type": 16, + "src": { + "line": 81, + "column": 26, + "start": 2638, + "end": 2638, + "length": 1, + "parent_index": 171 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 172, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 173, + "node_type": 16, + "src": { + "line": 81, + "column": 30, + "start": 2642, + "end": 2642, + "length": 1, + "parent_index": 171 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 173, + "is_pure": false, + "text": "b" }, - "name": "c", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 136, - "is_pure": false + } } ], "type_description": { @@ -22541,7 +22198,7 @@ } ] }, - "id": 134, + "id": 161, "node_type": 46, "kind": 0, "statements": [] @@ -22549,28 +22206,28 @@ "return": [ { "ast": { - "id": 130, + "id": 157, "node_type": 44, "src": { - "line": 106, + "line": 78, "column": 65, - "start": 3569, - "end": 3572, + "start": 2532, + "end": 2535, "length": 4, - "parent_index": 129 + "parent_index": 156 }, - "scope": 123, + "scope": 150, "name": "", "type_name": { - "id": 131, + "id": 158, "node_type": 30, "src": { - "line": 106, + "line": 78, "column": 65, - "start": 3569, - "end": 3572, + "start": 2532, + "end": 2535, "length": 4, - "parent_index": 130 + "parent_index": 157 }, "name": "bool", "referenced_declaration": 0, @@ -22587,7 +22244,7 @@ "type_string": "bool" } }, - "id": 130, + "id": 157, "node_type": 44, "name": "", "type": "bool", @@ -22599,28 +22256,28 @@ }, { "ast": { - "id": 132, + "id": 159, "node_type": 44, "src": { - "line": 106, + "line": 78, "column": 71, - "start": 3575, - "end": 3581, + "start": 2538, + "end": 2544, "length": 7, - "parent_index": 129 + "parent_index": 156 }, - "scope": 123, + "scope": 150, "name": "", "type_name": { - "id": 133, + "id": 160, "node_type": 30, "src": { - "line": 106, + "line": 78, "column": 71, - "start": 3575, - "end": 3581, + "start": 2538, + "end": 2544, "length": 7, - "parent_index": 132 + "parent_index": 159 }, "name": "uint256", "referenced_declaration": 0, @@ -22637,7 +22294,7 @@ "type_string": "uint256" } }, - "id": 132, + "id": 159, "node_type": 44, "name": "", "type": "uint256", @@ -22649,308 +22306,167 @@ } ], "src": { - "line": 106, + "line": 78, "column": 4, - "start": 3508, - "end": 3723, - "length": 216, - "parent_index": 121 + "start": 2471, + "end": 2660, + "length": 190, + "parent_index": 33 } }, { "ast": { - "id": 152, - "name": "trySub", + "id": 175, + "name": "add", "node_type": 42, "kind": 41, "src": { - "line": 119, + "line": 95, "column": 4, - "start": 3870, - "end": 4058, - "length": 189, - "parent_index": 121 + "start": 2896, + "end": 2991, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 119, + "line": 95, "column": 13, - "start": 3879, - "end": 3884, - "length": 6, - "parent_index": 152 + "start": 2905, + "end": 2907, + "length": 3, + "parent_index": 175 }, "body": { - "id": 163, + "id": 184, "node_type": 46, "kind": 0, "src": { - "line": 119, - "column": 80, - "start": 3946, - "end": 4058, - "length": 113, - "parent_index": 152 + "line": 95, + "column": 71, + "start": 2963, + "end": 2991, + "length": 29, + "parent_index": 175 }, "implemented": true, "statements": [ { - "id": 164, - "node_type": 59, - "kind": 0, + "id": 185, + "node_type": 47, "src": { - "line": 120, + "line": 96, "column": 8, - "start": 3956, - "end": 4052, - "length": 97, - "parent_index": 121 + "start": 2973, + "end": 2985, + "length": 13, + "parent_index": 175 }, - "implemented": false, - "statements": [ - { - "id": 165, - "node_type": 48, + "function_return_parameters": 175, + "expression": { + "id": 186, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 96, + "column": 15, + "start": 2980, + "end": 2984, + "length": 5, + "parent_index": 185 + }, + "operator": 1, + "left_expression": { + "id": 187, + "node_type": 16, "src": { - "line": 121, - "column": 0, - "start": 3980, - "end": 4008, - "length": 29, - "parent_index": 164 + "line": 96, + "column": 15, + "start": 2980, + "end": 2980, + "length": 1, + "parent_index": 186 }, - "condition": { - "id": 166, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 121, - "column": 16, - "start": 3984, - "end": 3988, - "length": 5, - "parent_index": 165 - }, - "operator": 7, - "left_expression": { - "id": 167, - "node_type": 16, - "src": { - "line": 121, - "column": 16, - "start": 3984, - "end": 3984, - "length": 1, - "parent_index": 166 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 167, - "is_pure": false - }, - "right_expression": { - "id": 168, - "node_type": 16, - "src": { - "line": 121, - "column": 20, - "start": 3988, - "end": 3988, - "length": 1, - "parent_index": 166 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 168, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 169, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 187, + "is_pure": false, + "text": "a" }, - { - "id": 170, - "node_type": 47, + "right_expression": { + "id": 188, + "node_type": 16, "src": { - "line": 122, - "column": 12, - "start": 4022, - "end": 4042, - "length": 21, - "parent_index": 152 + "line": 96, + "column": 19, + "start": 2984, + "end": 2984, + "length": 1, + "parent_index": 186 }, - "function_return_parameters": 152, - "expression": { - "id": 171, - "node_type": 60, - "src": { - "line": 122, - "column": 19, - "start": 4029, - "end": 4041, - "length": 13, - "parent_index": 170 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 172, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 122, - "column": 20, - "start": 4030, - "end": 4033, - "length": 4, - "parent_index": 171 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 173, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 122, - "column": 26, - "start": 4036, - "end": 4040, - "length": 5, - "parent_index": 171 - }, - "operator": 2, - "left_expression": { - "id": 174, - "node_type": 16, - "src": { - "line": 122, - "column": 26, - "start": 4036, - "end": 4036, - "length": 1, - "parent_index": 173 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 174, - "is_pure": false - }, - "right_expression": { - "id": 175, - "node_type": 16, - "src": { - "line": 122, - "column": 30, - "start": 4040, - "end": 4040, - "length": 1, - "parent_index": 173 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 175, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 188, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 153, + "id": 176, "node_type": 43, "src": { - "line": 119, - "column": 20, - "start": 3886, - "end": 3905, + "line": 95, + "column": 17, + "start": 2909, + "end": 2928, "length": 20, - "parent_index": 152 + "parent_index": 175 }, "parameters": [ { - "id": 154, + "id": 177, "node_type": 44, "src": { - "line": 119, - "column": 20, - "start": 3886, - "end": 3894, + "line": 95, + "column": 17, + "start": 2909, + "end": 2917, "length": 9, - "parent_index": 153 + "parent_index": 176 }, - "scope": 152, + "scope": 175, "name": "a", "type_name": { - "id": 155, + "id": 178, "node_type": 30, "src": { - "line": 119, - "column": 20, - "start": 3886, - "end": 3892, + "line": 95, + "column": 17, + "start": 2909, + "end": 2915, "length": 7, - "parent_index": 154 + "parent_index": 177 }, "name": "uint256", "referenced_declaration": 0, @@ -22968,28 +22484,28 @@ } }, { - "id": 156, + "id": 179, "node_type": 44, "src": { - "line": 119, - "column": 31, - "start": 3897, - "end": 3905, + "line": 95, + "column": 28, + "start": 2920, + "end": 2928, "length": 9, - "parent_index": 153 + "parent_index": 176 }, - "scope": 152, + "scope": 175, "name": "b", "type_name": { - "id": 157, + "id": 180, "node_type": 30, "src": { - "line": 119, - "column": 31, - "start": 3897, - "end": 3903, + "line": 95, + "column": 28, + "start": 2920, + "end": 2926, "length": 7, - "parent_index": 156 + "parent_index": 179 }, "name": "uint256", "referenced_declaration": 0, @@ -23019,79 +22535,40 @@ ] }, "return_parameters": { - "id": 158, + "id": 181, "node_type": 43, "src": { - "line": 119, - "column": 65, - "start": 3931, - "end": 3943, - "length": 13, - "parent_index": 152 + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, + "length": 7, + "parent_index": 175 }, "parameters": [ { - "id": 159, - "node_type": 44, - "src": { - "line": 119, - "column": 65, - "start": 3931, - "end": 3934, - "length": 4, - "parent_index": 158 - }, - "scope": 152, - "name": "", - "type_name": { - "id": 160, - "node_type": 30, - "src": { - "line": 119, - "column": 65, - "start": 3931, - "end": 3934, - "length": 4, - "parent_index": 159 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 161, + "id": 182, "node_type": 44, "src": { - "line": 119, - "column": 71, - "start": 3937, - "end": 3943, + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 158 + "parent_index": 181 }, - "scope": 152, + "scope": 175, "name": "", "type_name": { - "id": 162, + "id": 183, "node_type": 30, "src": { - "line": 119, - "column": 71, - "start": 3937, - "end": 3943, + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 161 + "parent_index": 182 }, "name": "uint256", "referenced_declaration": 0, @@ -23110,61 +22587,58 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "trySub(uint256, uint256)", - "signature": "9f7e8c62", - "scope": 121, + "signature_raw": "add(uint256,uint256)", + "signature": "771602f7", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionadd(uint256a,uint256b)internalpurereturns(uint256){returna+b;}" }, - "id": 152, + "id": 175, "node_type": 42, "kind": 41, - "name": "trySub", - "implemented": false, + "name": "add", + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "9f7e8c62", + "signature": "771602f7", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 154, + "id": 177, "node_type": 44, "src": { - "line": 119, - "column": 20, - "start": 3886, - "end": 3894, + "line": 95, + "column": 17, + "start": 2909, + "end": 2917, "length": 9, - "parent_index": 153 + "parent_index": 176 }, - "scope": 152, + "scope": 175, "name": "a", "type_name": { - "id": 155, + "id": 178, "node_type": 30, "src": { - "line": 119, - "column": 20, - "start": 3886, - "end": 3892, + "line": 95, + "column": 17, + "start": 2909, + "end": 2915, "length": 7, - "parent_index": 154 + "parent_index": 177 }, "name": "uint256", "referenced_declaration": 0, @@ -23181,7 +22655,7 @@ "type_string": "uint256" } }, - "id": 154, + "id": 177, "node_type": 44, "name": "a", "type": "uint256", @@ -23193,28 +22667,28 @@ }, { "ast": { - "id": 156, + "id": 179, "node_type": 44, "src": { - "line": 119, - "column": 31, - "start": 3897, - "end": 3905, + "line": 95, + "column": 28, + "start": 2920, + "end": 2928, "length": 9, - "parent_index": 153 + "parent_index": 176 }, - "scope": 152, + "scope": 175, "name": "b", "type_name": { - "id": 157, + "id": 180, "node_type": 30, "src": { - "line": 119, - "column": 31, - "start": 3897, - "end": 3903, + "line": 95, + "column": 28, + "start": 2920, + "end": 2926, "length": 7, - "parent_index": 156 + "parent_index": 179 }, "name": "uint256", "referenced_declaration": 0, @@ -23231,7 +22705,7 @@ "type_string": "uint256" } }, - "id": 156, + "id": 179, "node_type": 44, "name": "b", "type": "uint256", @@ -23244,237 +22718,96 @@ ], "body": { "ast": { - "id": 163, + "id": 184, "node_type": 46, "kind": 0, "src": { - "line": 119, - "column": 80, - "start": 3946, - "end": 4058, - "length": 113, - "parent_index": 152 + "line": 95, + "column": 71, + "start": 2963, + "end": 2991, + "length": 29, + "parent_index": 175 }, "implemented": true, "statements": [ { - "id": 164, - "node_type": 59, - "kind": 0, + "id": 185, + "node_type": 47, "src": { - "line": 120, + "line": 96, "column": 8, - "start": 3956, - "end": 4052, - "length": 97, - "parent_index": 121 + "start": 2973, + "end": 2985, + "length": 13, + "parent_index": 175 }, - "implemented": false, - "statements": [ - { - "id": 165, - "node_type": 48, - "src": { - "line": 121, - "column": 0, - "start": 3980, - "end": 4008, - "length": 29, - "parent_index": 164 - }, - "condition": { - "id": 166, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 121, - "column": 16, - "start": 3984, - "end": 3988, - "length": 5, - "parent_index": 165 - }, - "operator": 7, - "left_expression": { - "id": 167, - "node_type": 16, - "src": { - "line": 121, - "column": 16, - "start": 3984, - "end": 3984, - "length": 1, - "parent_index": 166 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 167, - "is_pure": false - }, - "right_expression": { - "id": 168, - "node_type": 16, - "src": { - "line": 121, - "column": 20, - "start": 3988, - "end": 3988, - "length": 1, - "parent_index": 166 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 168, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 169, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "function_return_parameters": 175, + "expression": { + "id": 186, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 96, + "column": 15, + "start": 2980, + "end": 2984, + "length": 5, + "parent_index": 185 }, - { - "id": 170, - "node_type": 47, + "operator": 1, + "left_expression": { + "id": 187, + "node_type": 16, "src": { - "line": 122, - "column": 12, - "start": 4022, - "end": 4042, - "length": 21, - "parent_index": 152 + "line": 96, + "column": 15, + "start": 2980, + "end": 2980, + "length": 1, + "parent_index": 186 }, - "function_return_parameters": 152, - "expression": { - "id": 171, - "node_type": 60, - "src": { - "line": 122, - "column": 19, - "start": 4029, - "end": 4041, - "length": 13, - "parent_index": 170 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 172, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 122, - "column": 20, - "start": 4030, - "end": 4033, - "length": 4, - "parent_index": 171 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 173, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 122, - "column": 26, - "start": 4036, - "end": 4040, - "length": 5, - "parent_index": 171 - }, - "operator": 2, - "left_expression": { - "id": 174, - "node_type": 16, - "src": { - "line": 122, - "column": 26, - "start": 4036, - "end": 4036, - "length": 1, - "parent_index": 173 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 174, - "is_pure": false - }, - "right_expression": { - "id": 175, - "node_type": 16, - "src": { - "line": 122, - "column": 30, - "start": 4040, - "end": 4040, - "length": 1, - "parent_index": 173 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 175, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 187, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 188, + "node_type": 16, + "src": { + "line": 96, + "column": 19, + "start": 2984, + "end": 2984, + "length": 1, + "parent_index": 186 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 188, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "id": 163, + "id": 184, "node_type": 46, "kind": 0, "statements": [] @@ -23482,78 +22815,28 @@ "return": [ { "ast": { - "id": 159, - "node_type": 44, - "src": { - "line": 119, - "column": 65, - "start": 3931, - "end": 3934, - "length": 4, - "parent_index": 158 - }, - "scope": 152, - "name": "", - "type_name": { - "id": 160, - "node_type": 30, - "src": { - "line": 119, - "column": 65, - "start": 3931, - "end": 3934, - "length": 4, - "parent_index": 159 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "id": 159, - "node_type": 44, - "name": "", - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "indexed": false - }, - { - "ast": { - "id": 161, + "id": 182, "node_type": 44, "src": { - "line": 119, - "column": 71, - "start": 3937, - "end": 3943, + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 158 + "parent_index": 181 }, - "scope": 152, + "scope": 175, "name": "", "type_name": { - "id": 162, + "id": 183, "node_type": 30, "src": { - "line": 119, - "column": 71, - "start": 3937, - "end": 3943, + "line": 95, + "column": 62, + "start": 2954, + "end": 2960, "length": 7, - "parent_index": 161 + "parent_index": 182 }, "name": "uint256", "referenced_declaration": 0, @@ -23570,7 +22853,7 @@ "type_string": "uint256" } }, - "id": 161, + "id": 182, "node_type": 44, "name": "", "type": "uint256", @@ -23579,518 +22862,170 @@ "type_string": "uint256" }, "indexed": false - } - ], - "src": { - "line": 119, - "column": 4, - "start": 3870, - "end": 4058, - "length": 189, - "parent_index": 121 - } - }, - { - "ast": { - "id": 177, - "name": "tryMul", - "node_type": 42, - "kind": 41, - "src": { - "line": 131, - "column": 4, - "start": 4207, - "end": 4699, - "length": 493, - "parent_index": 121 - }, - "name_location": { - "line": 131, - "column": 13, - "start": 4216, - "end": 4221, - "length": 6, - "parent_index": 177 - }, - "body": { - "id": 188, - "node_type": 46, - "kind": 0, - "src": { - "line": 131, - "column": 80, - "start": 4283, - "end": 4699, - "length": 417, - "parent_index": 177 - }, - "implemented": true, - "statements": [ - { - "id": 189, - "node_type": 59, - "kind": 0, - "src": { - "line": 132, - "column": 8, - "start": 4293, - "end": 4693, - "length": 401, - "parent_index": 121 - }, - "implemented": false, - "statements": [ - { - "id": 190, - "node_type": 48, - "src": { - "line": 136, - "column": 0, - "start": 4547, - "end": 4575, - "length": 29, - "parent_index": 189 - }, - "condition": { - "id": 191, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 136, - "column": 16, - "start": 4551, - "end": 4556, - "length": 6, - "parent_index": 190 - }, - "operator": 11, - "left_expression": { - "id": 192, - "node_type": 16, - "src": { - "line": 136, - "column": 16, - "start": 4551, - "end": 4551, - "length": 1, - "parent_index": 191 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 192, - "is_pure": false - }, - "right_expression": { - "id": 193, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 136, - "column": 21, - "start": 4556, - "end": 4556, - "length": 1, - "parent_index": 191 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "body": { - "id": 194, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } - }, - { - "id": 195, - "node_type": 44, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4606, - "length": 18, - "parent_index": 189 - }, - "assignments": [ - 196 - ], - "declarations": [ - { - "id": 196, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 189, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4597, - "length": 9, - "parent_index": 195 - }, - "name_location": { - "line": 137, - "column": 20, - "start": 4597, - "end": 4597, - "length": 1, - "parent_index": 196 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 197, - "node_type": 30, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4595, - "length": 7, - "parent_index": 196 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 198, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4605, - "length": 5, - "parent_index": 195 - }, - "operator": 3, - "left_expression": { - "id": 199, - "node_type": 16, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4601, - "length": 1, - "parent_index": 198 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 199, - "is_pure": false - }, - "right_expression": { - "id": 200, - "node_type": 16, - "src": { - "line": 137, - "column": 28, - "start": 4605, - "end": 4605, - "length": 1, - "parent_index": 198 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 200, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } + } + ], + "src": { + "line": 95, + "column": 4, + "start": 2896, + "end": 2991, + "length": 96, + "parent_index": 33 + } + }, + { + "ast": { + "id": 190, + "name": "sub", + "node_type": 42, + "kind": 41, + "src": { + "line": 109, + "column": 4, + "start": 3263, + "end": 3358, + "length": 96, + "parent_index": 33 + }, + "name_location": { + "line": 109, + "column": 13, + "start": 3272, + "end": 3274, + "length": 3, + "parent_index": 190 + }, + "body": { + "id": 199, + "node_type": 46, + "kind": 0, + "src": { + "line": 109, + "column": 71, + "start": 3330, + "end": 3358, + "length": 29, + "parent_index": 190 + }, + "implemented": true, + "statements": [ + { + "id": 200, + "node_type": 47, + "src": { + "line": 110, + "column": 8, + "start": 3340, + "end": 3352, + "length": 13, + "parent_index": 190 + }, + "function_return_parameters": 190, + "expression": { + "id": 201, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 110, + "column": 15, + "start": 3347, + "end": 3351, + "length": 5, + "parent_index": 200 }, - { - "id": 201, - "node_type": 48, + "operator": 2, + "left_expression": { + "id": 202, + "node_type": 16, "src": { - "line": 138, - "column": 0, - "start": 4620, - "end": 4653, - "length": 34, - "parent_index": 189 + "line": 110, + "column": 15, + "start": 3347, + "end": 3347, + "length": 1, + "parent_index": 201 }, - "condition": { - "id": 202, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4633, - "length": 10, - "parent_index": 201 - }, - "operator": 12, - "left_expression": { - "id": 203, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4628, - "length": 5, - "parent_index": 202 - }, - "operator": 4, - "left_expression": { - "id": 204, - "node_type": 16, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4624, - "length": 1, - "parent_index": 203 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false - }, - "right_expression": { - "id": 205, - "node_type": 16, - "src": { - "line": 138, - "column": 20, - "start": 4628, - "end": 4628, - "length": 1, - "parent_index": 203 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 205, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "right_expression": { - "id": 206, - "node_type": 16, - "src": { - "line": 138, - "column": 25, - "start": 4633, - "end": 4633, - "length": 1, - "parent_index": 202 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 206, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 207, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 202, + "is_pure": false, + "text": "a" }, - { - "id": 208, - "node_type": 47, + "right_expression": { + "id": 203, + "node_type": 16, "src": { - "line": 139, - "column": 12, - "start": 4667, - "end": 4683, - "length": 17, - "parent_index": 177 + "line": 110, + "column": 19, + "start": 3351, + "end": 3351, + "length": 1, + "parent_index": 201 }, - "function_return_parameters": 177, - "expression": { - "id": 209, - "node_type": 60, - "src": { - "line": 139, - "column": 19, - "start": 4674, - "end": 4682, - "length": 9, - "parent_index": 208 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 210, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 139, - "column": 20, - "start": 4675, - "end": 4678, - "length": 4, - "parent_index": 209 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 211, - "node_type": 16, - "src": { - "line": 139, - "column": 26, - "start": 4681, - "end": 4681, - "length": 1, - "parent_index": 209 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 203, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 178, + "id": 191, "node_type": 43, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4242, + "line": 109, + "column": 17, + "start": 3276, + "end": 3295, "length": 20, - "parent_index": 177 + "parent_index": 190 }, "parameters": [ { - "id": 179, + "id": 192, "node_type": 44, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4231, + "line": 109, + "column": 17, + "start": 3276, + "end": 3284, "length": 9, - "parent_index": 178 + "parent_index": 191 }, - "scope": 177, + "scope": 190, "name": "a", "type_name": { - "id": 180, + "id": 193, "node_type": 30, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4229, + "line": 109, + "column": 17, + "start": 3276, + "end": 3282, "length": 7, - "parent_index": 179 + "parent_index": 192 }, "name": "uint256", "referenced_declaration": 0, @@ -24108,28 +23043,28 @@ } }, { - "id": 181, + "id": 194, "node_type": 44, "src": { - "line": 131, - "column": 31, - "start": 4234, - "end": 4242, + "line": 109, + "column": 28, + "start": 3287, + "end": 3295, "length": 9, - "parent_index": 178 + "parent_index": 191 }, - "scope": 177, + "scope": 190, "name": "b", "type_name": { - "id": 182, + "id": 195, "node_type": 30, "src": { - "line": 131, - "column": 31, - "start": 4234, - "end": 4240, + "line": 109, + "column": 28, + "start": 3287, + "end": 3293, "length": 7, - "parent_index": 181 + "parent_index": 194 }, "name": "uint256", "referenced_declaration": 0, @@ -24159,79 +23094,40 @@ ] }, "return_parameters": { - "id": 183, + "id": 196, "node_type": 43, "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4280, - "length": 13, - "parent_index": 177 + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 190 }, - "parameters": [ - { - "id": 184, - "node_type": 44, - "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4271, - "length": 4, - "parent_index": 183 - }, - "scope": 177, - "name": "", - "type_name": { - "id": 185, - "node_type": 30, - "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4271, - "length": 4, - "parent_index": 184 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, + "parameters": [ { - "id": 186, + "id": 197, "node_type": 44, "src": { - "line": 131, - "column": 71, - "start": 4274, - "end": 4280, + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, "length": 7, - "parent_index": 183 + "parent_index": 196 }, - "scope": 177, + "scope": 190, "name": "", "type_name": { - "id": 187, + "id": 198, "node_type": 30, "src": { - "line": 131, - "column": 71, - "start": 4274, - "end": 4280, + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, "length": 7, - "parent_index": 186 + "parent_index": 197 }, "name": "uint256", "referenced_declaration": 0, @@ -24250,61 +23146,58 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "tryMul(uint256, uint256)", - "signature": "72cd6357", - "scope": 121, + "signature_raw": "sub(uint256,uint256)", + "signature": "b67d77c5", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionsub(uint256a,uint256b)internalpurereturns(uint256){returna-b;}" }, - "id": 177, + "id": 190, "node_type": 42, "kind": 41, - "name": "tryMul", - "implemented": false, + "name": "sub", + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "72cd6357", + "signature": "b67d77c5", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 179, + "id": 192, "node_type": 44, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4231, + "line": 109, + "column": 17, + "start": 3276, + "end": 3284, "length": 9, - "parent_index": 178 + "parent_index": 191 }, - "scope": 177, + "scope": 190, "name": "a", "type_name": { - "id": 180, + "id": 193, "node_type": 30, "src": { - "line": 131, - "column": 20, - "start": 4223, - "end": 4229, + "line": 109, + "column": 17, + "start": 3276, + "end": 3282, "length": 7, - "parent_index": 179 + "parent_index": 192 }, "name": "uint256", "referenced_declaration": 0, @@ -24321,7 +23214,7 @@ "type_string": "uint256" } }, - "id": 179, + "id": 192, "node_type": 44, "name": "a", "type": "uint256", @@ -24333,28 +23226,28 @@ }, { "ast": { - "id": 181, + "id": 194, "node_type": 44, "src": { - "line": 131, - "column": 31, - "start": 4234, - "end": 4242, + "line": 109, + "column": 28, + "start": 3287, + "end": 3295, "length": 9, - "parent_index": 178 + "parent_index": 191 }, - "scope": 177, + "scope": 190, "name": "b", "type_name": { - "id": 182, + "id": 195, "node_type": 30, "src": { - "line": 131, - "column": 31, - "start": 4234, - "end": 4240, + "line": 109, + "column": 28, + "start": 3287, + "end": 3293, "length": 7, - "parent_index": 181 + "parent_index": 194 }, "name": "uint256", "referenced_declaration": 0, @@ -24371,7 +23264,7 @@ "type_string": "uint256" } }, - "id": 181, + "id": 194, "node_type": 44, "name": "b", "type": "uint256", @@ -24384,523 +23277,684 @@ ], "body": { "ast": { - "id": 188, + "id": 199, "node_type": 46, "kind": 0, "src": { - "line": 131, - "column": 80, - "start": 4283, - "end": 4699, - "length": 417, - "parent_index": 177 + "line": 109, + "column": 71, + "start": 3330, + "end": 3358, + "length": 29, + "parent_index": 190 }, "implemented": true, "statements": [ { - "id": 189, - "node_type": 59, - "kind": 0, + "id": 200, + "node_type": 47, "src": { - "line": 132, + "line": 110, "column": 8, - "start": 4293, - "end": 4693, - "length": 401, - "parent_index": 121 + "start": 3340, + "end": 3352, + "length": 13, + "parent_index": 190 }, - "implemented": false, - "statements": [ - { - "id": 190, - "node_type": 48, + "function_return_parameters": 190, + "expression": { + "id": 201, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 110, + "column": 15, + "start": 3347, + "end": 3351, + "length": 5, + "parent_index": 200 + }, + "operator": 2, + "left_expression": { + "id": 202, + "node_type": 16, "src": { - "line": 136, - "column": 0, - "start": 4547, - "end": 4575, - "length": 29, - "parent_index": 189 + "line": 110, + "column": 15, + "start": 3347, + "end": 3347, + "length": 1, + "parent_index": 201 }, - "condition": { - "id": 191, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 136, - "column": 16, - "start": 4551, - "end": 4556, - "length": 6, - "parent_index": 190 - }, - "operator": 11, - "left_expression": { - "id": 192, - "node_type": 16, - "src": { - "line": 136, - "column": 16, - "start": 4551, - "end": 4551, - "length": 1, - "parent_index": 191 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 192, - "is_pure": false - }, - "right_expression": { - "id": 193, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 136, - "column": 21, - "start": 4556, - "end": 4556, - "length": 1, - "parent_index": 191 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 194, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 202, + "is_pure": false, + "text": "a" }, - { - "id": 195, - "node_type": 44, + "right_expression": { + "id": 203, + "node_type": 16, "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4606, - "length": 18, - "parent_index": 189 + "line": 110, + "column": 19, + "start": 3351, + "end": 3351, + "length": 1, + "parent_index": 201 }, - "assignments": [ - 196 - ], - "declarations": [ - { - "id": 196, - "state_mutability": 1, - "name": "c", - "node_type": 44, - "scope": 189, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4597, - "length": 9, - "parent_index": 195 - }, - "name_location": { - "line": 137, - "column": 20, - "start": 4597, - "end": 4597, - "length": 1, - "parent_index": 196 - }, - "is_state_variable": false, - "storage_location": 1, - "type_name": { - "id": 197, - "node_type": 30, - "src": { - "line": 137, - "column": 12, - "start": 4589, - "end": 4595, - "length": 7, - "parent_index": 196 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "visibility": 1 - } - ], - "initial_value": { - "id": 198, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4605, - "length": 5, - "parent_index": 195 - }, - "operator": 3, - "left_expression": { - "id": 199, - "node_type": 16, - "src": { - "line": 137, - "column": 24, - "start": 4601, - "end": 4601, - "length": 1, - "parent_index": 198 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 199, - "is_pure": false - }, - "right_expression": { - "id": 200, - "node_type": 16, - "src": { - "line": 137, - "column": 28, - "start": 4605, - "end": 4605, - "length": 1, - "parent_index": 198 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 200, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 203, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + } + ] + }, + "id": 199, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ + { + "ast": { + "id": 197, + "node_type": 44, + "src": { + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 196 + }, + "scope": 190, + "name": "", + "type_name": { + "id": 198, + "node_type": 30, + "src": { + "line": 109, + "column": 62, + "start": 3321, + "end": 3327, + "length": 7, + "parent_index": 197 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 197, + "node_type": 44, + "name": "", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "src": { + "line": 109, + "column": 4, + "start": 3263, + "end": 3358, + "length": 96, + "parent_index": 33 + } + }, + { + "ast": { + "id": 205, + "name": "mul", + "node_type": 42, + "kind": 41, + "src": { + "line": 123, + "column": 4, + "start": 3606, + "end": 3701, + "length": 96, + "parent_index": 33 + }, + "name_location": { + "line": 123, + "column": 13, + "start": 3615, + "end": 3617, + "length": 3, + "parent_index": 205 + }, + "body": { + "id": 214, + "node_type": 46, + "kind": 0, + "src": { + "line": 123, + "column": 71, + "start": 3673, + "end": 3701, + "length": 29, + "parent_index": 205 + }, + "implemented": true, + "statements": [ + { + "id": 215, + "node_type": 47, + "src": { + "line": 124, + "column": 8, + "start": 3683, + "end": 3695, + "length": 13, + "parent_index": 205 + }, + "function_return_parameters": 205, + "expression": { + "id": 216, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 124, + "column": 15, + "start": 3690, + "end": 3694, + "length": 5, + "parent_index": 215 }, - { - "id": 201, - "node_type": 48, + "operator": 3, + "left_expression": { + "id": 217, + "node_type": 16, "src": { - "line": 138, - "column": 0, - "start": 4620, - "end": 4653, - "length": 34, - "parent_index": 189 + "line": 124, + "column": 15, + "start": 3690, + "end": 3690, + "length": 1, + "parent_index": 216 }, - "condition": { - "id": 202, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4633, - "length": 10, - "parent_index": 201 - }, - "operator": 12, - "left_expression": { - "id": 203, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4628, - "length": 5, - "parent_index": 202 - }, - "operator": 4, - "left_expression": { - "id": 204, - "node_type": 16, - "src": { - "line": 138, - "column": 16, - "start": 4624, - "end": 4624, - "length": 1, - "parent_index": 203 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false - }, - "right_expression": { - "id": 205, - "node_type": 16, - "src": { - "line": 138, - "column": 20, - "start": 4628, - "end": 4628, - "length": 1, - "parent_index": 203 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 205, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "right_expression": { - "id": 206, - "node_type": 16, - "src": { - "line": 138, - "column": 25, - "start": 4633, - "end": 4633, - "length": 1, - "parent_index": 202 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 206, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 207, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 217, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 218, + "node_type": 16, + "src": { + "line": 124, + "column": 19, + "start": 3694, + "end": 3694, + "length": 1, + "parent_index": 216 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 218, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + } + ] + }, + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 206, + "node_type": 43, + "src": { + "line": 123, + "column": 17, + "start": 3619, + "end": 3638, + "length": 20, + "parent_index": 205 + }, + "parameters": [ + { + "id": 207, + "node_type": 44, + "src": { + "line": 123, + "column": 17, + "start": 3619, + "end": 3627, + "length": 9, + "parent_index": 206 + }, + "scope": 205, + "name": "a", + "type_name": { + "id": 208, + "node_type": 30, + "src": { + "line": 123, + "column": 17, + "start": 3619, + "end": 3625, + "length": 7, + "parent_index": 207 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 209, + "node_type": 44, + "src": { + "line": 123, + "column": 28, + "start": 3630, + "end": 3638, + "length": 9, + "parent_index": 206 + }, + "scope": 205, + "name": "b", + "type_name": { + "id": 210, + "node_type": 30, + "src": { + "line": 123, + "column": 28, + "start": 3630, + "end": 3636, + "length": 7, + "parent_index": 209 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 211, + "node_type": 43, + "src": { + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, + "length": 7, + "parent_index": 205 + }, + "parameters": [ + { + "id": 212, + "node_type": 44, + "src": { + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, + "length": 7, + "parent_index": 211 + }, + "scope": 205, + "name": "", + "type_name": { + "id": 213, + "node_type": 30, + "src": { + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, + "length": 7, + "parent_index": 212 }, - { - "id": 208, - "node_type": 47, - "src": { - "line": 139, - "column": 12, - "start": 4667, - "end": 4683, - "length": 17, - "parent_index": 177 - }, - "function_return_parameters": 177, - "expression": { - "id": 209, - "node_type": 60, - "src": { - "line": 139, - "column": 19, - "start": 4674, - "end": 4682, - "length": 9, - "parent_index": 208 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 210, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 139, - "column": 20, - "start": 4675, - "end": 4678, - "length": 4, - "parent_index": 209 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 211, - "node_type": 16, - "src": { - "line": 139, - "column": 26, - "start": 4681, - "end": 4681, - "length": 1, - "parent_index": 209 - }, - "name": "c", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 195, - "is_pure": false - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" } ] }, - "id": 188, - "node_type": 46, - "kind": 0, - "statements": [] + "signature_raw": "mul(uint256,uint256)", + "signature": "c8a4ac9c", + "scope": 33, + "type_description": { + "type_identifier": "t_function_$_t_uint256$_t_uint256$", + "type_string": "function(uint256,uint256)" + }, + "text": "functionmul(uint256a,uint256b)internalpurereturns(uint256){returna*b;}" }, - "return": [ + "id": 205, + "node_type": 42, + "kind": 41, + "name": "mul", + "implemented": true, + "visibility": 1, + "state_mutability": 6, + "virtual": false, + "referenced_declaration_id": 0, + "signature": "c8a4ac9c", + "modifiers": [], + "overrides": [], + "parameters": [ { "ast": { - "id": 184, + "id": 207, "node_type": 44, "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4271, - "length": 4, - "parent_index": 183 + "line": 123, + "column": 17, + "start": 3619, + "end": 3627, + "length": 9, + "parent_index": 206 }, - "scope": 177, - "name": "", + "scope": 205, + "name": "a", "type_name": { - "id": 185, + "id": 208, "node_type": 30, "src": { - "line": 131, - "column": 65, - "start": 4268, - "end": 4271, - "length": 4, - "parent_index": 184 + "line": 123, + "column": 17, + "start": 3619, + "end": 3625, + "length": 7, + "parent_index": 207 }, - "name": "bool", + "name": "uint256", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, - "id": 184, + "id": 207, "node_type": 44, - "name": "", - "type": "bool", + "name": "a", + "type": "uint256", "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" }, "indexed": false }, { "ast": { - "id": 186, + "id": 209, "node_type": 44, "src": { - "line": 131, - "column": 71, - "start": 4274, - "end": 4280, + "line": 123, + "column": 28, + "start": 3630, + "end": 3638, + "length": 9, + "parent_index": 206 + }, + "scope": 205, + "name": "b", + "type_name": { + "id": 210, + "node_type": 30, + "src": { + "line": 123, + "column": 28, + "start": 3630, + "end": 3636, + "length": 7, + "parent_index": 209 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 209, + "node_type": 44, + "name": "b", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "body": { + "ast": { + "id": 214, + "node_type": 46, + "kind": 0, + "src": { + "line": 123, + "column": 71, + "start": 3673, + "end": 3701, + "length": 29, + "parent_index": 205 + }, + "implemented": true, + "statements": [ + { + "id": 215, + "node_type": 47, + "src": { + "line": 124, + "column": 8, + "start": 3683, + "end": 3695, + "length": 13, + "parent_index": 205 + }, + "function_return_parameters": 205, + "expression": { + "id": 216, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 124, + "column": 15, + "start": 3690, + "end": 3694, + "length": 5, + "parent_index": 215 + }, + "operator": 3, + "left_expression": { + "id": 217, + "node_type": 16, + "src": { + "line": 124, + "column": 15, + "start": 3690, + "end": 3690, + "length": 1, + "parent_index": 216 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 217, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 218, + "node_type": 16, + "src": { + "line": 124, + "column": 19, + "start": 3694, + "end": 3694, + "length": 1, + "parent_index": 216 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 218, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + } + ] + }, + "id": 214, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ + { + "ast": { + "id": 212, + "node_type": 44, + "src": { + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, "length": 7, - "parent_index": 183 + "parent_index": 211 }, - "scope": 177, + "scope": 205, "name": "", "type_name": { - "id": 187, + "id": 213, "node_type": 30, "src": { - "line": 131, - "column": 71, - "start": 4274, - "end": 4280, + "line": 123, + "column": 62, + "start": 3664, + "end": 3670, "length": 7, - "parent_index": 186 + "parent_index": 212 }, "name": "uint256", "referenced_declaration": 0, @@ -24917,7 +23971,7 @@ "type_string": "uint256" } }, - "id": 186, + "id": 212, "node_type": 44, "name": "", "type": "uint256", @@ -24929,310 +23983,167 @@ } ], "src": { - "line": 131, + "line": 123, "column": 4, - "start": 4207, - "end": 4699, - "length": 493, - "parent_index": 121 + "start": 3606, + "end": 3701, + "length": 96, + "parent_index": 33 } }, { "ast": { - "id": 213, - "name": "tryDiv", + "id": 220, + "name": "div", "node_type": 42, "kind": 41, "src": { - "line": 148, + "line": 139, "column": 4, - "start": 4849, - "end": 5038, - "length": 190, - "parent_index": 121 + "start": 4166, + "end": 4261, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 148, + "line": 139, "column": 13, - "start": 4858, - "end": 4863, - "length": 6, - "parent_index": 213 + "start": 4175, + "end": 4177, + "length": 3, + "parent_index": 220 }, "body": { - "id": 224, + "id": 229, "node_type": 46, "kind": 0, "src": { - "line": 148, - "column": 80, - "start": 4925, - "end": 5038, - "length": 114, - "parent_index": 213 + "line": 139, + "column": 71, + "start": 4233, + "end": 4261, + "length": 29, + "parent_index": 220 }, "implemented": true, "statements": [ { - "id": 225, - "node_type": 59, - "kind": 0, + "id": 230, + "node_type": 47, "src": { - "line": 149, + "line": 140, "column": 8, - "start": 4935, - "end": 5032, - "length": 98, - "parent_index": 121 + "start": 4243, + "end": 4255, + "length": 13, + "parent_index": 220 }, - "implemented": false, - "statements": [ - { - "id": 226, - "node_type": 48, + "function_return_parameters": 220, + "expression": { + "id": 231, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 140, + "column": 15, + "start": 4250, + "end": 4254, + "length": 5, + "parent_index": 230 + }, + "operator": 4, + "left_expression": { + "id": 232, + "node_type": 16, "src": { - "line": 150, - "column": 0, - "start": 4959, - "end": 4988, - "length": 30, - "parent_index": 225 + "line": 140, + "column": 15, + "start": 4250, + "end": 4250, + "length": 1, + "parent_index": 231 }, - "condition": { - "id": 227, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 150, - "column": 16, - "start": 4963, - "end": 4968, - "length": 6, - "parent_index": 226 - }, - "operator": 11, - "left_expression": { - "id": 228, - "node_type": 16, - "src": { - "line": 150, - "column": 16, - "start": 4963, - "end": 4963, - "length": 1, - "parent_index": 227 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 228, - "is_pure": false - }, - "right_expression": { - "id": 229, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 150, - "column": 21, - "start": 4968, - "end": 4968, - "length": 1, - "parent_index": 227 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 230, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 232, + "is_pure": false, + "text": "a" }, - { - "id": 231, - "node_type": 47, + "right_expression": { + "id": 233, + "node_type": 16, "src": { - "line": 151, - "column": 12, - "start": 5002, - "end": 5022, - "length": 21, - "parent_index": 213 + "line": 140, + "column": 19, + "start": 4254, + "end": 4254, + "length": 1, + "parent_index": 231 }, - "function_return_parameters": 213, - "expression": { - "id": 232, - "node_type": 60, - "src": { - "line": 151, - "column": 19, - "start": 5009, - "end": 5021, - "length": 13, - "parent_index": 231 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 233, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 151, - "column": 20, - "start": 5010, - "end": 5013, - "length": 4, - "parent_index": 232 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 234, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 151, - "column": 26, - "start": 5016, - "end": 5020, - "length": 5, - "parent_index": 232 - }, - "operator": 4, - "left_expression": { - "id": 235, - "node_type": 16, - "src": { - "line": 151, - "column": 26, - "start": 5016, - "end": 5016, - "length": 1, - "parent_index": 234 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 235, - "is_pure": false - }, - "right_expression": { - "id": 236, - "node_type": 16, - "src": { - "line": 151, - "column": 30, - "start": 5020, - "end": 5020, - "length": 1, - "parent_index": 234 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 236, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 233, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 214, + "id": 221, "node_type": 43, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4884, + "line": 139, + "column": 17, + "start": 4179, + "end": 4198, "length": 20, - "parent_index": 213 + "parent_index": 220 }, "parameters": [ { - "id": 215, + "id": 222, "node_type": 44, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4873, + "line": 139, + "column": 17, + "start": 4179, + "end": 4187, "length": 9, - "parent_index": 214 + "parent_index": 221 }, - "scope": 213, + "scope": 220, "name": "a", "type_name": { - "id": 216, + "id": 223, "node_type": 30, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4871, + "line": 139, + "column": 17, + "start": 4179, + "end": 4185, "length": 7, - "parent_index": 215 + "parent_index": 222 }, "name": "uint256", "referenced_declaration": 0, @@ -25250,28 +24161,28 @@ } }, { - "id": 217, + "id": 224, "node_type": 44, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4884, + "line": 139, + "column": 28, + "start": 4190, + "end": 4198, "length": 9, - "parent_index": 214 + "parent_index": 221 }, - "scope": 213, + "scope": 220, "name": "b", "type_name": { - "id": 218, + "id": 225, "node_type": 30, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4882, + "line": 139, + "column": 28, + "start": 4190, + "end": 4196, "length": 7, - "parent_index": 217 + "parent_index": 224 }, "name": "uint256", "referenced_declaration": 0, @@ -25301,79 +24212,40 @@ ] }, "return_parameters": { - "id": 219, + "id": 226, "node_type": 43, "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4922, - "length": 13, - "parent_index": 213 + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, + "length": 7, + "parent_index": 220 }, "parameters": [ { - "id": 220, - "node_type": 44, - "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 219 - }, - "scope": 213, - "name": "", - "type_name": { - "id": 221, - "node_type": 30, - "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 220 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 222, + "id": 227, "node_type": 44, "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 219 + "parent_index": 226 }, - "scope": 213, + "scope": 220, "name": "", "type_name": { - "id": 223, + "id": 228, "node_type": 30, "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 222 + "parent_index": 227 }, "name": "uint256", "referenced_declaration": 0, @@ -25392,61 +24264,58 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "tryDiv(uint256, uint256)", - "signature": "8b61a525", - "scope": 121, + "signature_raw": "div(uint256,uint256)", + "signature": "a391c15b", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functiondiv(uint256a,uint256b)internalpurereturns(uint256){returna/b;}" }, - "id": 213, + "id": 220, "node_type": 42, "kind": 41, - "name": "tryDiv", - "implemented": false, + "name": "div", + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "8b61a525", + "signature": "a391c15b", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 215, + "id": 222, "node_type": 44, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4873, + "line": 139, + "column": 17, + "start": 4179, + "end": 4187, "length": 9, - "parent_index": 214 + "parent_index": 221 }, - "scope": 213, + "scope": 220, "name": "a", "type_name": { - "id": 216, + "id": 223, "node_type": 30, "src": { - "line": 148, - "column": 20, - "start": 4865, - "end": 4871, + "line": 139, + "column": 17, + "start": 4179, + "end": 4185, "length": 7, - "parent_index": 215 + "parent_index": 222 }, "name": "uint256", "referenced_declaration": 0, @@ -25463,7 +24332,7 @@ "type_string": "uint256" } }, - "id": 215, + "id": 222, "node_type": 44, "name": "a", "type": "uint256", @@ -25475,28 +24344,28 @@ }, { "ast": { - "id": 217, + "id": 224, "node_type": 44, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4884, + "line": 139, + "column": 28, + "start": 4190, + "end": 4198, "length": 9, - "parent_index": 214 + "parent_index": 221 }, - "scope": 213, + "scope": 220, "name": "b", "type_name": { - "id": 218, + "id": 225, "node_type": 30, "src": { - "line": 148, - "column": 31, - "start": 4876, - "end": 4882, + "line": 139, + "column": 28, + "start": 4190, + "end": 4196, "length": 7, - "parent_index": 217 + "parent_index": 224 }, "name": "uint256", "referenced_declaration": 0, @@ -25513,7 +24382,7 @@ "type_string": "uint256" } }, - "id": 217, + "id": 224, "node_type": 44, "name": "b", "type": "uint256", @@ -25526,239 +24395,96 @@ ], "body": { "ast": { - "id": 224, + "id": 229, "node_type": 46, "kind": 0, "src": { - "line": 148, - "column": 80, - "start": 4925, - "end": 5038, - "length": 114, - "parent_index": 213 + "line": 139, + "column": 71, + "start": 4233, + "end": 4261, + "length": 29, + "parent_index": 220 }, "implemented": true, "statements": [ { - "id": 225, - "node_type": 59, - "kind": 0, + "id": 230, + "node_type": 47, "src": { - "line": 149, + "line": 140, "column": 8, - "start": 4935, - "end": 5032, - "length": 98, - "parent_index": 121 + "start": 4243, + "end": 4255, + "length": 13, + "parent_index": 220 }, - "implemented": false, - "statements": [ - { - "id": 226, - "node_type": 48, + "function_return_parameters": 220, + "expression": { + "id": 231, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 140, + "column": 15, + "start": 4250, + "end": 4254, + "length": 5, + "parent_index": 230 + }, + "operator": 4, + "left_expression": { + "id": 232, + "node_type": 16, "src": { - "line": 150, - "column": 0, - "start": 4959, - "end": 4988, - "length": 30, - "parent_index": 225 + "line": 140, + "column": 15, + "start": 4250, + "end": 4250, + "length": 1, + "parent_index": 231 }, - "condition": { - "id": 227, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 150, - "column": 16, - "start": 4963, - "end": 4968, - "length": 6, - "parent_index": 226 - }, - "operator": 11, - "left_expression": { - "id": 228, - "node_type": 16, - "src": { - "line": 150, - "column": 16, - "start": 4963, - "end": 4963, - "length": 1, - "parent_index": 227 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 228, - "is_pure": false - }, - "right_expression": { - "id": 229, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 150, - "column": 21, - "start": 4968, - "end": 4968, - "length": 1, - "parent_index": 227 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 230, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 232, + "is_pure": false, + "text": "a" }, - { - "id": 231, - "node_type": 47, + "right_expression": { + "id": 233, + "node_type": 16, "src": { - "line": 151, - "column": 12, - "start": 5002, - "end": 5022, - "length": 21, - "parent_index": 213 + "line": 140, + "column": 19, + "start": 4254, + "end": 4254, + "length": 1, + "parent_index": 231 }, - "function_return_parameters": 213, - "expression": { - "id": 232, - "node_type": 60, - "src": { - "line": 151, - "column": 19, - "start": 5009, - "end": 5021, - "length": 13, - "parent_index": 231 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 233, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 151, - "column": 20, - "start": 5010, - "end": 5013, - "length": 4, - "parent_index": 232 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 234, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 151, - "column": 26, - "start": 5016, - "end": 5020, - "length": 5, - "parent_index": 232 - }, - "operator": 4, - "left_expression": { - "id": 235, - "node_type": 16, - "src": { - "line": 151, - "column": 26, - "start": 5016, - "end": 5016, - "length": 1, - "parent_index": 234 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 235, - "is_pure": false - }, - "right_expression": { - "id": 236, - "node_type": 16, - "src": { - "line": 151, - "column": 30, - "start": 5020, - "end": 5020, - "length": 1, - "parent_index": 234 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 236, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 233, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "id": 224, + "id": 229, "node_type": 46, "kind": 0, "statements": [] @@ -25766,78 +24492,28 @@ "return": [ { "ast": { - "id": 220, - "node_type": 44, - "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 219 - }, - "scope": 213, - "name": "", - "type_name": { - "id": 221, - "node_type": 30, - "src": { - "line": 148, - "column": 65, - "start": 4910, - "end": 4913, - "length": 4, - "parent_index": 220 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "id": 220, - "node_type": 44, - "name": "", - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "indexed": false - }, - { - "ast": { - "id": 222, + "id": 227, "node_type": 44, "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 219 + "parent_index": 226 }, - "scope": 213, + "scope": 220, "name": "", "type_name": { - "id": 223, + "id": 228, "node_type": 30, "src": { - "line": 148, - "column": 71, - "start": 4916, - "end": 4922, + "line": 139, + "column": 62, + "start": 4224, + "end": 4230, "length": 7, - "parent_index": 222 + "parent_index": 227 }, "name": "uint256", "referenced_declaration": 0, @@ -25854,7 +24530,7 @@ "type_string": "uint256" } }, - "id": 222, + "id": 227, "node_type": 44, "name": "", "type": "uint256", @@ -25866,310 +24542,167 @@ } ], "src": { - "line": 148, + "line": 139, "column": 4, - "start": 4849, - "end": 5038, - "length": 190, - "parent_index": 121 + "start": 4166, + "end": 4261, + "length": 96, + "parent_index": 33 } }, { "ast": { - "id": 238, - "name": "tryMod", + "id": 235, + "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 160, + "line": 155, "column": 4, - "start": 5198, - "end": 5387, - "length": 190, - "parent_index": 121 + "start": 4715, + "end": 4810, + "length": 96, + "parent_index": 33 }, "name_location": { - "line": 160, + "line": 155, "column": 13, - "start": 5207, - "end": 5212, - "length": 6, - "parent_index": 238 + "start": 4724, + "end": 4726, + "length": 3, + "parent_index": 235 }, "body": { - "id": 249, + "id": 244, "node_type": 46, "kind": 0, "src": { - "line": 160, - "column": 80, - "start": 5274, - "end": 5387, - "length": 114, - "parent_index": 238 + "line": 155, + "column": 71, + "start": 4782, + "end": 4810, + "length": 29, + "parent_index": 235 }, "implemented": true, "statements": [ { - "id": 250, - "node_type": 59, - "kind": 0, + "id": 245, + "node_type": 47, "src": { - "line": 161, + "line": 156, "column": 8, - "start": 5284, - "end": 5381, - "length": 98, - "parent_index": 121 + "start": 4792, + "end": 4804, + "length": 13, + "parent_index": 235 }, - "implemented": false, - "statements": [ - { - "id": 251, - "node_type": 48, + "function_return_parameters": 235, + "expression": { + "id": 246, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 156, + "column": 15, + "start": 4799, + "end": 4803, + "length": 5, + "parent_index": 245 + }, + "operator": 5, + "left_expression": { + "id": 247, + "node_type": 16, "src": { - "line": 162, - "column": 0, - "start": 5308, - "end": 5337, - "length": 30, - "parent_index": 250 + "line": 156, + "column": 15, + "start": 4799, + "end": 4799, + "length": 1, + "parent_index": 246 }, - "condition": { - "id": 252, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5317, - "length": 6, - "parent_index": 251 - }, - "operator": 11, - "left_expression": { - "id": 253, - "node_type": 16, - "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5312, - "length": 1, - "parent_index": 252 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 253, - "is_pure": false - }, - "right_expression": { - "id": 254, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 162, - "column": 21, - "start": 5317, - "end": 5317, - "length": 1, - "parent_index": 252 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 255, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 247, + "is_pure": false, + "text": "a" }, - { - "id": 256, - "node_type": 47, + "right_expression": { + "id": 248, + "node_type": 16, "src": { - "line": 163, - "column": 12, - "start": 5351, - "end": 5371, - "length": 21, - "parent_index": 238 + "line": 156, + "column": 19, + "start": 4803, + "end": 4803, + "length": 1, + "parent_index": 246 }, - "function_return_parameters": 238, - "expression": { - "id": 257, - "node_type": 60, - "src": { - "line": 163, - "column": 19, - "start": 5358, - "end": 5370, - "length": 13, - "parent_index": 256 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 258, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 163, - "column": 20, - "start": 5359, - "end": 5362, - "length": 4, - "parent_index": 257 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 259, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5369, - "length": 5, - "parent_index": 257 - }, - "operator": 5, - "left_expression": { - "id": 260, - "node_type": 16, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5365, - "length": 1, - "parent_index": 259 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 260, - "is_pure": false - }, - "right_expression": { - "id": 261, - "node_type": 16, - "src": { - "line": 163, - "column": 30, - "start": 5369, - "end": 5369, - "length": 1, - "parent_index": 259 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 261, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 248, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } - ] + } } ] }, - "implemented": false, + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 239, + "id": 236, "node_type": 43, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5233, + "line": 155, + "column": 17, + "start": 4728, + "end": 4747, "length": 20, - "parent_index": 238 + "parent_index": 235 }, "parameters": [ { - "id": 240, + "id": 237, "node_type": 44, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5222, + "line": 155, + "column": 17, + "start": 4728, + "end": 4736, "length": 9, - "parent_index": 239 + "parent_index": 236 }, - "scope": 238, + "scope": 235, "name": "a", "type_name": { - "id": 241, + "id": 238, "node_type": 30, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5220, + "line": 155, + "column": 17, + "start": 4728, + "end": 4734, "length": 7, - "parent_index": 240 + "parent_index": 237 }, "name": "uint256", "referenced_declaration": 0, @@ -26187,28 +24720,28 @@ } }, { - "id": 242, + "id": 239, "node_type": 44, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5233, + "line": 155, + "column": 28, + "start": 4739, + "end": 4747, "length": 9, - "parent_index": 239 + "parent_index": 236 }, - "scope": 238, + "scope": 235, "name": "b", "type_name": { - "id": 243, + "id": 240, "node_type": 30, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5231, + "line": 155, + "column": 28, + "start": 4739, + "end": 4745, "length": 7, - "parent_index": 242 + "parent_index": 239 }, "name": "uint256", "referenced_declaration": 0, @@ -26227,90 +24760,51 @@ } ], "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 244, - "node_type": 43, - "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5271, - "length": 13, - "parent_index": 238 - }, - "parameters": [ - { - "id": 245, - "node_type": 44, - "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 244 - }, - "scope": 238, - "name": "", - "type_name": { - "id": 246, - "node_type": 30, - "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 245 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + { + "type_identifier": "t_uint256", + "type_string": "uint256" }, { - "id": 247, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 241, + "node_type": 43, + "src": { + "line": 155, + "column": 62, + "start": 4773, + "end": 4779, + "length": 7, + "parent_index": 235 + }, + "parameters": [ + { + "id": 242, "node_type": 44, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, + "line": 155, + "column": 62, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 244 + "parent_index": 241 }, - "scope": 238, + "scope": 235, "name": "", "type_name": { - "id": 248, + "id": 243, "node_type": 30, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, + "line": 155, + "column": 62, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 247 + "parent_index": 242 }, "name": "uint256", "referenced_declaration": 0, @@ -26329,61 +24823,58 @@ } ], "parameter_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "tryMod(uint256, uint256)", - "signature": "4ed783cc", - "scope": 121, + "signature_raw": "mod(uint256,uint256)", + "signature": "f43f523a", + "scope": 33, "type_description": { "type_identifier": "t_function_$_t_uint256$_t_uint256$", "type_string": "function(uint256,uint256)" - } + }, + "text": "functionmod(uint256a,uint256b)internalpurereturns(uint256){returna%b;}" }, - "id": 238, + "id": 235, "node_type": 42, "kind": 41, - "name": "tryMod", - "implemented": false, + "name": "mod", + "implemented": true, "visibility": 1, "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "4ed783cc", + "signature": "f43f523a", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 240, + "id": 237, "node_type": 44, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5222, + "line": 155, + "column": 17, + "start": 4728, + "end": 4736, "length": 9, - "parent_index": 239 + "parent_index": 236 }, - "scope": 238, + "scope": 235, "name": "a", "type_name": { - "id": 241, + "id": 238, "node_type": 30, "src": { - "line": 160, - "column": 20, - "start": 5214, - "end": 5220, + "line": 155, + "column": 17, + "start": 4728, + "end": 4734, "length": 7, - "parent_index": 240 + "parent_index": 237 }, "name": "uint256", "referenced_declaration": 0, @@ -26400,7 +24891,7 @@ "type_string": "uint256" } }, - "id": 240, + "id": 237, "node_type": 44, "name": "a", "type": "uint256", @@ -26412,28 +24903,28 @@ }, { "ast": { - "id": 242, + "id": 239, "node_type": 44, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5233, + "line": 155, + "column": 28, + "start": 4739, + "end": 4747, "length": 9, - "parent_index": 239 + "parent_index": 236 }, - "scope": 238, + "scope": 235, "name": "b", "type_name": { - "id": 243, + "id": 240, "node_type": 30, "src": { - "line": 160, - "column": 31, - "start": 5225, - "end": 5231, + "line": 155, + "column": 28, + "start": 4739, + "end": 4745, "length": 7, - "parent_index": 242 + "parent_index": 239 }, "name": "uint256", "referenced_declaration": 0, @@ -26450,7 +24941,7 @@ "type_string": "uint256" } }, - "id": 242, + "id": 239, "node_type": 44, "name": "b", "type": "uint256", @@ -26463,318 +24954,125 @@ ], "body": { "ast": { - "id": 249, + "id": 244, "node_type": 46, "kind": 0, "src": { - "line": 160, - "column": 80, - "start": 5274, - "end": 5387, - "length": 114, - "parent_index": 238 + "line": 155, + "column": 71, + "start": 4782, + "end": 4810, + "length": 29, + "parent_index": 235 }, "implemented": true, "statements": [ { - "id": 250, - "node_type": 59, - "kind": 0, + "id": 245, + "node_type": 47, "src": { - "line": 161, + "line": 156, "column": 8, - "start": 5284, - "end": 5381, - "length": 98, - "parent_index": 121 + "start": 4792, + "end": 4804, + "length": 13, + "parent_index": 235 }, - "implemented": false, - "statements": [ - { - "id": 251, - "node_type": 48, + "function_return_parameters": 235, + "expression": { + "id": 246, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 156, + "column": 15, + "start": 4799, + "end": 4803, + "length": 5, + "parent_index": 245 + }, + "operator": 5, + "left_expression": { + "id": 247, + "node_type": 16, "src": { - "line": 162, - "column": 0, - "start": 5308, - "end": 5337, - "length": 30, - "parent_index": 250 + "line": 156, + "column": 15, + "start": 4799, + "end": 4799, + "length": 1, + "parent_index": 246 }, - "condition": { - "id": 252, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5317, - "length": 6, - "parent_index": 251 - }, - "operator": 11, - "left_expression": { - "id": 253, - "node_type": 16, - "src": { - "line": 162, - "column": 16, - "start": 5312, - "end": 5312, - "length": 1, - "parent_index": 252 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 253, - "is_pure": false - }, - "right_expression": { - "id": 254, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 162, - "column": 21, - "start": 5317, - "end": 5317, - "length": 1, - "parent_index": 252 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" }, - "body": { - "id": 255, - "node_type": 46, - "kind": 0, - "src": { - "line": 0, - "column": 0, - "start": 0, - "end": 0, - "length": 0 - }, - "implemented": false, - "statements": [] - } + "overloaded_declarations": [], + "referenced_declaration": 247, + "is_pure": false, + "text": "a" }, - { - "id": 256, - "node_type": 47, + "right_expression": { + "id": 248, + "node_type": 16, "src": { - "line": 163, - "column": 12, - "start": 5351, - "end": 5371, - "length": 21, - "parent_index": 238 + "line": 156, + "column": 19, + "start": 4803, + "end": 4803, + "length": 1, + "parent_index": 246 }, - "function_return_parameters": 238, - "expression": { - "id": 257, - "node_type": 60, - "src": { - "line": 163, - "column": 19, - "start": 5358, - "end": 5370, - "length": 13, - "parent_index": 256 - }, - "is_constant": false, - "is_pure": true, - "components": [ - { - "id": 258, - "node_type": 17, - "kind": 61, - "value": "true", - "hex_value": "74727565", - "src": { - "line": 163, - "column": 20, - "start": 5359, - "end": 5362, - "length": 4, - "parent_index": 257 - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - { - "id": 259, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5369, - "length": 5, - "parent_index": 257 - }, - "operator": 5, - "left_expression": { - "id": 260, - "node_type": 16, - "src": { - "line": 163, - "column": 26, - "start": 5365, - "end": 5365, - "length": 1, - "parent_index": 259 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 260, - "is_pure": false - }, - "right_expression": { - "id": 261, - "node_type": 16, - "src": { - "line": 163, - "column": 30, - "start": 5369, - "end": 5369, - "length": 1, - "parent_index": 259 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 261, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "type_description": { - "type_identifier": "t_tuple_$_t_bool_$_t_uint256$", - "type_string": "tuple(bool,uint256)" - } - } - } - ] - } - ] - }, - "id": 249, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ - { - "ast": { - "id": 245, - "node_type": 44, - "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 244 - }, - "scope": 238, - "name": "", - "type_name": { - "id": 246, - "node_type": 30, - "src": { - "line": 160, - "column": 65, - "start": 5259, - "end": 5262, - "length": 4, - "parent_index": 245 - }, - "name": "bool", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 248, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" } - }, - "id": 245, - "node_type": 44, - "name": "", - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - }, - "indexed": false + ] }, + "id": 244, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ { "ast": { - "id": 247, + "id": 242, "node_type": 44, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, + "line": 155, + "column": 62, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 244 + "parent_index": 241 }, - "scope": 238, + "scope": 235, "name": "", "type_name": { - "id": 248, + "id": 243, "node_type": 30, "src": { - "line": 160, - "column": 71, - "start": 5265, - "end": 5271, + "line": 155, + "column": 62, + "start": 4773, + "end": 4779, "length": 7, - "parent_index": 247 + "parent_index": 242 }, "name": "uint256", "referenced_declaration": 0, @@ -26791,7 +25089,7 @@ "type_string": "uint256" } }, - "id": 247, + "id": 242, "node_type": 44, "name": "", "type": "uint256", @@ -26803,165 +25101,321 @@ } ], "src": { - "line": 160, + "line": 155, "column": 4, - "start": 5198, - "end": 5387, - "length": 190, - "parent_index": 121 + "start": 4715, + "end": 4810, + "length": 96, + "parent_index": 33 } }, { "ast": { - "id": 263, - "name": "add", + "id": 250, + "name": "sub", "node_type": 42, "kind": 41, "src": { - "line": 177, + "line": 172, "column": 4, - "start": 5623, - "end": 5718, - "length": 96, - "parent_index": 121 + "start": 5275, + "end": 5505, + "length": 231, + "parent_index": 33 }, "name_location": { - "line": 177, + "line": 172, "column": 13, - "start": 5632, - "end": 5634, + "start": 5284, + "end": 5286, "length": 3, - "parent_index": 263 + "parent_index": 250 }, "body": { - "id": 272, + "id": 261, "node_type": 46, "kind": 0, "src": { - "line": 177, - "column": 71, - "start": 5690, - "end": 5718, - "length": 29, - "parent_index": 263 + "line": 176, + "column": 38, + "start": 5400, + "end": 5505, + "length": 106, + "parent_index": 250 }, "implemented": true, "statements": [ { - "id": 273, - "node_type": 47, + "id": 262, + "node_type": 59, + "kind": 0, "src": { - "line": 178, + "line": 177, "column": 8, - "start": 5700, - "end": 5712, - "length": 13, - "parent_index": 263 + "start": 5410, + "end": 5499, + "length": 90, + "parent_index": 33 }, - "function_return_parameters": 263, - "expression": { - "id": 274, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 178, - "column": 15, - "start": 5707, - "end": 5711, - "length": 5, - "parent_index": 273 - }, - "operator": 1, - "left_expression": { - "id": 275, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 263, + "node_type": 24, + "kind": 24, "src": { "line": 178, - "column": 15, - "start": 5707, - "end": 5707, - "length": 1, - "parent_index": 274 + "column": 12, + "start": 5434, + "end": 5462, + "length": 29, + "parent_index": 262 }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 265, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5447, + "length": 6, + "parent_index": 263 + }, + "operator": 10, + "left_expression": { + "id": 266, + "node_type": 16, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5442, + "length": 1, + "parent_index": 265 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 266, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 267, + "node_type": 16, + "src": { + "line": 178, + "column": 25, + "start": 5447, + "end": 5447, + "length": 1, + "parent_index": 265 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 267, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 268, + "node_type": 16, + "src": { + "line": 178, + "column": 28, + "start": 5450, + "end": 5461, + "length": 12, + "parent_index": 263 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 268, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 264, + "node_type": 16, + "src": { + "line": 178, + "column": 12, + "start": 5434, + "end": 5440, + "length": 7, + "parent_index": 263 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "overloaded_declarations": [], - "referenced_declaration": 275, - "is_pure": false + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "right_expression": { - "id": 276, - "node_type": 16, + { + "id": 269, + "node_type": 47, "src": { - "line": 178, - "column": 19, - "start": 5711, - "end": 5711, - "length": 1, - "parent_index": 274 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 179, + "column": 12, + "start": 5477, + "end": 5489, + "length": 13, + "parent_index": 250 }, - "overloaded_declarations": [], - "referenced_declaration": 276, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "function_return_parameters": 250, + "expression": { + "id": 270, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 179, + "column": 19, + "start": 5484, + "end": 5488, + "length": 5, + "parent_index": 269 + }, + "operator": 2, + "left_expression": { + "id": 271, + "node_type": 16, + "src": { + "line": 179, + "column": 19, + "start": 5484, + "end": 5484, + "length": 1, + "parent_index": 270 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 271, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 272, + "node_type": 16, + "src": { + "line": 179, + "column": 23, + "start": 5488, + "end": 5488, + "length": 1, + "parent_index": 270 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 272, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "implemented": true, + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 264, + "id": 251, "node_type": 43, "src": { - "line": 177, - "column": 17, - "start": 5636, - "end": 5655, - "length": 20, - "parent_index": 263 + "line": 173, + "column": 8, + "start": 5297, + "end": 5360, + "length": 64, + "parent_index": 250 }, "parameters": [ { - "id": 265, + "id": 252, "node_type": 44, "src": { - "line": 177, - "column": 17, - "start": 5636, - "end": 5644, + "line": 173, + "column": 8, + "start": 5297, + "end": 5305, "length": 9, - "parent_index": 264 + "parent_index": 251 }, - "scope": 263, + "scope": 250, "name": "a", "type_name": { - "id": 266, + "id": 253, "node_type": 30, "src": { - "line": 177, - "column": 17, - "start": 5636, - "end": 5642, + "line": 173, + "column": 8, + "start": 5297, + "end": 5303, "length": 7, - "parent_index": 265 + "parent_index": 252 }, "name": "uint256", "referenced_declaration": 0, @@ -26979,28 +25433,28 @@ } }, { - "id": 267, + "id": 254, "node_type": 44, "src": { - "line": 177, - "column": 28, - "start": 5647, - "end": 5655, + "line": 174, + "column": 8, + "start": 5316, + "end": 5324, "length": 9, - "parent_index": 264 + "parent_index": 251 }, - "scope": 263, + "scope": 250, "name": "b", "type_name": { - "id": 268, + "id": 255, "node_type": 30, "src": { - "line": 177, - "column": 28, - "start": 5647, - "end": 5653, + "line": 174, + "column": 8, + "start": 5316, + "end": 5322, "length": 7, - "parent_index": 267 + "parent_index": 254 }, "name": "uint256", "referenced_declaration": 0, @@ -27016,6 +25470,45 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + }, + { + "id": 256, + "node_type": 44, + "src": { + "line": 175, + "column": 8, + "start": 5335, + "end": 5360, + "length": 26, + "parent_index": 251 + }, + "scope": 250, + "name": "errorMessage", + "type_name": { + "id": 257, + "node_type": 30, + "src": { + "line": 175, + "column": 8, + "start": 5335, + "end": 5340, + "length": 6, + "parent_index": 256 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } } ], "parameter_types": [ @@ -27026,44 +25519,48 @@ { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" } ] }, "return_parameters": { - "id": 269, + "id": 258, "node_type": 43, "src": { - "line": 177, - "column": 62, - "start": 5681, - "end": 5687, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 263 + "parent_index": 250 }, "parameters": [ { - "id": 270, + "id": 259, "node_type": 44, "src": { - "line": 177, - "column": 62, - "start": 5681, - "end": 5687, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 269 + "parent_index": 258 }, - "scope": 263, + "scope": 250, "name": "", "type_name": { - "id": 271, + "id": 260, "node_type": 30, "src": { - "line": 177, - "column": 62, - "start": 5681, - "end": 5687, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 270 + "parent_index": 259 }, "name": "uint256", "referenced_declaration": 0, @@ -27088,51 +25585,52 @@ } ] }, - "signature_raw": "add(uint256, uint256)", - "signature": "f31e4d28", - "scope": 121, + "signature_raw": "sub(uint256,uint256,string)", + "signature": "e31bdc0a", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functionsub(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003c=a,errorMessage);returna-b;}}" }, - "id": 263, + "id": 250, "node_type": 42, "kind": 41, - "name": "add", - "implemented": true, + "name": "sub", + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "f31e4d28", + "signature": "e31bdc0a", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 265, + "id": 252, "node_type": 44, "src": { - "line": 177, - "column": 17, - "start": 5636, - "end": 5644, + "line": 173, + "column": 8, + "start": 5297, + "end": 5305, "length": 9, - "parent_index": 264 + "parent_index": 251 }, - "scope": 263, + "scope": 250, "name": "a", "type_name": { - "id": 266, + "id": 253, "node_type": 30, "src": { - "line": 177, - "column": 17, - "start": 5636, - "end": 5642, + "line": 173, + "column": 8, + "start": 5297, + "end": 5303, "length": 7, - "parent_index": 265 + "parent_index": 252 }, "name": "uint256", "referenced_declaration": 0, @@ -27149,7 +25647,7 @@ "type_string": "uint256" } }, - "id": 265, + "id": 252, "node_type": 44, "name": "a", "type": "uint256", @@ -27161,28 +25659,28 @@ }, { "ast": { - "id": 267, + "id": 254, "node_type": 44, "src": { - "line": 177, - "column": 28, - "start": 5647, - "end": 5655, + "line": 174, + "column": 8, + "start": 5316, + "end": 5324, "length": 9, - "parent_index": 264 + "parent_index": 251 }, - "scope": 263, + "scope": 250, "name": "b", "type_name": { - "id": 268, + "id": 255, "node_type": 30, "src": { - "line": 177, - "column": 28, - "start": 5647, - "end": 5653, + "line": 174, + "column": 8, + "start": 5316, + "end": 5322, "length": 7, - "parent_index": 267 + "parent_index": 254 }, "name": "uint256", "referenced_declaration": 0, @@ -27199,7 +25697,7 @@ "type_string": "uint256" } }, - "id": 267, + "id": 254, "node_type": 44, "name": "b", "type": "uint256", @@ -27208,98 +25706,304 @@ "type_string": "uint256" }, "indexed": false + }, + { + "ast": { + "id": 256, + "node_type": 44, + "src": { + "line": 175, + "column": 8, + "start": 5335, + "end": 5360, + "length": 26, + "parent_index": 251 + }, + "scope": 250, + "name": "errorMessage", + "type_name": { + "id": 257, + "node_type": 30, + "src": { + "line": 175, + "column": 8, + "start": 5335, + "end": 5340, + "length": 6, + "parent_index": 256 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "id": 256, + "node_type": 44, + "name": "errorMessage", + "type": "string", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "indexed": false } ], "body": { "ast": { - "id": 272, + "id": 261, "node_type": 46, "kind": 0, "src": { - "line": 177, - "column": 71, - "start": 5690, - "end": 5718, - "length": 29, - "parent_index": 263 + "line": 176, + "column": 38, + "start": 5400, + "end": 5505, + "length": 106, + "parent_index": 250 }, "implemented": true, "statements": [ { - "id": 273, - "node_type": 47, + "id": 262, + "node_type": 59, + "kind": 0, "src": { - "line": 178, + "line": 177, "column": 8, - "start": 5700, - "end": 5712, - "length": 13, - "parent_index": 263 + "start": 5410, + "end": 5499, + "length": 90, + "parent_index": 33 }, - "function_return_parameters": 263, - "expression": { - "id": 274, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 178, - "column": 15, - "start": 5707, - "end": 5711, - "length": 5, - "parent_index": 273 - }, - "operator": 1, - "left_expression": { - "id": 275, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 263, + "node_type": 24, + "kind": 24, "src": { "line": 178, - "column": 15, - "start": 5707, - "end": 5707, - "length": 1, - "parent_index": 274 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "column": 12, + "start": 5434, + "end": 5462, + "length": 29, + "parent_index": 262 }, - "overloaded_declarations": [], - "referenced_declaration": 275, - "is_pure": false - }, - "right_expression": { - "id": 276, - "node_type": 16, - "src": { - "line": 178, - "column": 19, - "start": 5711, - "end": 5711, - "length": 1, - "parent_index": 274 + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 265, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5447, + "length": 6, + "parent_index": 263 + }, + "operator": 10, + "left_expression": { + "id": 266, + "node_type": 16, + "src": { + "line": 178, + "column": 20, + "start": 5442, + "end": 5442, + "length": 1, + "parent_index": 265 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 266, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 267, + "node_type": 16, + "src": { + "line": 178, + "column": 25, + "start": 5447, + "end": 5447, + "length": 1, + "parent_index": 265 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 267, + "is_pure": false, + "text": "a" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 268, + "node_type": 16, + "src": { + "line": 178, + "column": 28, + "start": 5450, + "end": 5461, + "length": 12, + "parent_index": 263 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 268, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 264, + "node_type": 16, + "src": { + "line": 178, + "column": 12, + "start": 5434, + "end": 5440, + "length": 7, + "parent_index": 263 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "name": "b", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 276, - "is_pure": false + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + { + "id": 269, + "node_type": 47, + "src": { + "line": 179, + "column": 12, + "start": 5477, + "end": 5489, + "length": 13, + "parent_index": 250 + }, + "function_return_parameters": 250, + "expression": { + "id": 270, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 179, + "column": 19, + "start": 5484, + "end": 5488, + "length": 5, + "parent_index": 269 + }, + "operator": 2, + "left_expression": { + "id": 271, + "node_type": 16, + "src": { + "line": 179, + "column": 19, + "start": 5484, + "end": 5484, + "length": 1, + "parent_index": 270 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 271, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 272, + "node_type": 16, + "src": { + "line": 179, + "column": 23, + "start": 5488, + "end": 5488, + "length": 1, + "parent_index": 270 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 272, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "id": 272, + "id": 261, "node_type": 46, "kind": 0, "statements": [] @@ -27307,28 +26011,28 @@ "return": [ { "ast": { - "id": 270, + "id": 259, "node_type": 44, "src": { - "line": 177, - "column": 62, - "start": 5681, - "end": 5687, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 269 + "parent_index": 258 }, - "scope": 263, + "scope": 250, "name": "", "type_name": { - "id": 271, + "id": 260, "node_type": 30, "src": { - "line": 177, - "column": 62, - "start": 5681, - "end": 5687, + "line": 176, + "column": 29, + "start": 5391, + "end": 5397, "length": 7, - "parent_index": 270 + "parent_index": 259 }, "name": "uint256", "referenced_declaration": 0, @@ -27345,7 +26049,7 @@ "type_string": "uint256" } }, - "id": 270, + "id": 259, "node_type": 44, "name": "", "type": "uint256", @@ -27357,165 +26061,323 @@ } ], "src": { - "line": 177, + "line": 172, "column": 4, - "start": 5623, - "end": 5718, - "length": 96, - "parent_index": 121 + "start": 5275, + "end": 5505, + "length": 231, + "parent_index": 33 } }, { "ast": { - "id": 278, - "name": "sub", + "id": 274, + "name": "div", "node_type": 42, "kind": 41, "src": { - "line": 191, + "line": 195, "column": 4, "start": 5990, - "end": 6085, - "length": 96, - "parent_index": 121 + "end": 6219, + "length": 230, + "parent_index": 33 }, "name_location": { - "line": 191, + "line": 195, "column": 13, "start": 5999, "end": 6001, "length": 3, - "parent_index": 278 + "parent_index": 274 }, "body": { - "id": 287, + "id": 285, "node_type": 46, "kind": 0, "src": { - "line": 191, - "column": 71, - "start": 6057, - "end": 6085, - "length": 29, - "parent_index": 278 + "line": 199, + "column": 38, + "start": 6115, + "end": 6219, + "length": 105, + "parent_index": 274 }, "implemented": true, "statements": [ { - "id": 288, - "node_type": 47, + "id": 286, + "node_type": 59, + "kind": 0, "src": { - "line": 192, + "line": 200, "column": 8, - "start": 6067, - "end": 6079, - "length": 13, - "parent_index": 278 + "start": 6125, + "end": 6213, + "length": 89, + "parent_index": 33 }, - "function_return_parameters": 278, - "expression": { - "id": 289, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 192, - "column": 15, - "start": 6074, - "end": 6078, - "length": 5, - "parent_index": 288 - }, - "operator": 2, - "left_expression": { - "id": 290, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 287, + "node_type": 24, + "kind": 24, "src": { - "line": 192, - "column": 15, - "start": 6074, - "end": 6074, - "length": 1, - "parent_index": 289 + "line": 201, + "column": 12, + "start": 6149, + "end": 6176, + "length": 28, + "parent_index": 286 }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 289, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6161, + "length": 5, + "parent_index": 287 + }, + "operator": 7, + "left_expression": { + "id": 290, + "node_type": 16, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6157, + "length": 1, + "parent_index": 289 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 290, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 291, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 201, + "column": 24, + "start": 6161, + "end": 6161, + "length": 1, + "parent_index": 289 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 292, + "node_type": 16, + "src": { + "line": 201, + "column": 27, + "start": 6164, + "end": 6175, + "length": 12, + "parent_index": 287 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 292, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 288, + "node_type": 16, + "src": { + "line": 201, + "column": 12, + "start": 6149, + "end": 6155, + "length": 7, + "parent_index": 287 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "overloaded_declarations": [], - "referenced_declaration": 290, - "is_pure": false + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "right_expression": { - "id": 291, - "node_type": 16, + { + "id": 293, + "node_type": 47, "src": { - "line": 192, - "column": 19, - "start": 6078, - "end": 6078, - "length": 1, - "parent_index": 289 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 202, + "column": 12, + "start": 6191, + "end": 6203, + "length": 13, + "parent_index": 274 }, - "overloaded_declarations": [], - "referenced_declaration": 291, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "function_return_parameters": 274, + "expression": { + "id": 294, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6202, + "length": 5, + "parent_index": 293 + }, + "operator": 4, + "left_expression": { + "id": 295, + "node_type": 16, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6198, + "length": 1, + "parent_index": 294 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 295, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 296, + "node_type": 16, + "src": { + "line": 202, + "column": 23, + "start": 6202, + "end": 6202, + "length": 1, + "parent_index": 294 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 296, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "implemented": true, + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 279, + "id": 275, "node_type": 43, - "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6022, - "length": 20, - "parent_index": 278 + "src": { + "line": 196, + "column": 8, + "start": 6012, + "end": 6075, + "length": 64, + "parent_index": 274 }, "parameters": [ { - "id": 280, + "id": 276, "node_type": 44, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6011, + "line": 196, + "column": 8, + "start": 6012, + "end": 6020, "length": 9, - "parent_index": 279 + "parent_index": 275 }, - "scope": 278, + "scope": 274, "name": "a", "type_name": { - "id": 281, + "id": 277, "node_type": 30, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6009, + "line": 196, + "column": 8, + "start": 6012, + "end": 6018, "length": 7, - "parent_index": 280 + "parent_index": 276 }, "name": "uint256", "referenced_declaration": 0, @@ -27533,28 +26395,28 @@ } }, { - "id": 282, + "id": 278, "node_type": 44, "src": { - "line": 191, - "column": 28, - "start": 6014, - "end": 6022, + "line": 197, + "column": 8, + "start": 6031, + "end": 6039, "length": 9, - "parent_index": 279 + "parent_index": 275 }, - "scope": 278, + "scope": 274, "name": "b", "type_name": { - "id": 283, + "id": 279, "node_type": 30, "src": { - "line": 191, - "column": 28, - "start": 6014, - "end": 6020, + "line": 197, + "column": 8, + "start": 6031, + "end": 6037, "length": 7, - "parent_index": 282 + "parent_index": 278 }, "name": "uint256", "referenced_declaration": 0, @@ -27570,6 +26432,45 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + }, + { + "id": 280, + "node_type": 44, + "src": { + "line": 198, + "column": 8, + "start": 6050, + "end": 6075, + "length": 26, + "parent_index": 275 + }, + "scope": 274, + "name": "errorMessage", + "type_name": { + "id": 281, + "node_type": 30, + "src": { + "line": 198, + "column": 8, + "start": 6050, + "end": 6055, + "length": 6, + "parent_index": 280 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } } ], "parameter_types": [ @@ -27580,44 +26481,48 @@ { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" } ] }, "return_parameters": { - "id": 284, + "id": 282, "node_type": 43, "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 278 + "parent_index": 274 }, "parameters": [ { - "id": 285, + "id": 283, "node_type": 44, "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 284 + "parent_index": 282 }, - "scope": 278, + "scope": 274, "name": "", "type_name": { - "id": 286, + "id": 284, "node_type": 30, "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 285 + "parent_index": 283 }, "name": "uint256", "referenced_declaration": 0, @@ -27642,51 +26547,52 @@ } ] }, - "signature_raw": "sub(uint256, uint256)", - "signature": "bf3b2b28", - "scope": 121, + "signature_raw": "div(uint256,uint256,string)", + "signature": "b745d336", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functiondiv(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna/b;}}" }, - "id": 278, + "id": 274, "node_type": 42, "kind": 41, - "name": "sub", - "implemented": true, + "name": "div", + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "bf3b2b28", + "signature": "b745d336", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 280, + "id": 276, "node_type": 44, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6011, + "line": 196, + "column": 8, + "start": 6012, + "end": 6020, "length": 9, - "parent_index": 279 + "parent_index": 275 }, - "scope": 278, + "scope": 274, "name": "a", "type_name": { - "id": 281, + "id": 277, "node_type": 30, "src": { - "line": 191, - "column": 17, - "start": 6003, - "end": 6009, + "line": 196, + "column": 8, + "start": 6012, + "end": 6018, "length": 7, - "parent_index": 280 + "parent_index": 276 }, "name": "uint256", "referenced_declaration": 0, @@ -27703,7 +26609,7 @@ "type_string": "uint256" } }, - "id": 280, + "id": 276, "node_type": 44, "name": "a", "type": "uint256", @@ -27715,28 +26621,28 @@ }, { "ast": { - "id": 282, + "id": 278, "node_type": 44, "src": { - "line": 191, - "column": 28, - "start": 6014, - "end": 6022, + "line": 197, + "column": 8, + "start": 6031, + "end": 6039, "length": 9, - "parent_index": 279 + "parent_index": 275 }, - "scope": 278, + "scope": 274, "name": "b", "type_name": { - "id": 283, + "id": 279, "node_type": 30, "src": { - "line": 191, - "column": 28, - "start": 6014, - "end": 6020, + "line": 197, + "column": 8, + "start": 6031, + "end": 6037, "length": 7, - "parent_index": 282 + "parent_index": 278 }, "name": "uint256", "referenced_declaration": 0, @@ -27753,7 +26659,7 @@ "type_string": "uint256" } }, - "id": 282, + "id": 278, "node_type": 44, "name": "b", "type": "uint256", @@ -27762,98 +26668,306 @@ "type_string": "uint256" }, "indexed": false + }, + { + "ast": { + "id": 280, + "node_type": 44, + "src": { + "line": 198, + "column": 8, + "start": 6050, + "end": 6075, + "length": 26, + "parent_index": 275 + }, + "scope": 274, + "name": "errorMessage", + "type_name": { + "id": 281, + "node_type": 30, + "src": { + "line": 198, + "column": 8, + "start": 6050, + "end": 6055, + "length": 6, + "parent_index": 280 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "id": 280, + "node_type": 44, + "name": "errorMessage", + "type": "string", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "indexed": false } ], "body": { "ast": { - "id": 287, + "id": 285, "node_type": 46, "kind": 0, "src": { - "line": 191, - "column": 71, - "start": 6057, - "end": 6085, - "length": 29, - "parent_index": 278 + "line": 199, + "column": 38, + "start": 6115, + "end": 6219, + "length": 105, + "parent_index": 274 }, "implemented": true, "statements": [ { - "id": 288, - "node_type": 47, + "id": 286, + "node_type": 59, + "kind": 0, "src": { - "line": 192, + "line": 200, "column": 8, - "start": 6067, - "end": 6079, - "length": 13, - "parent_index": 278 + "start": 6125, + "end": 6213, + "length": 89, + "parent_index": 33 }, - "function_return_parameters": 278, - "expression": { - "id": 289, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 192, - "column": 15, - "start": 6074, - "end": 6078, - "length": 5, - "parent_index": 288 - }, - "operator": 2, - "left_expression": { - "id": 290, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 287, + "node_type": 24, + "kind": 24, "src": { - "line": 192, - "column": 15, - "start": 6074, - "end": 6074, - "length": 1, - "parent_index": 289 + "line": 201, + "column": 12, + "start": 6149, + "end": 6176, + "length": 28, + "parent_index": 286 + }, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 289, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6161, + "length": 5, + "parent_index": 287 + }, + "operator": 7, + "left_expression": { + "id": 290, + "node_type": 16, + "src": { + "line": 201, + "column": 20, + "start": 6157, + "end": 6157, + "length": 1, + "parent_index": 289 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 290, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 291, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 201, + "column": 24, + "start": 6161, + "end": 6161, + "length": 1, + "parent_index": 289 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 292, + "node_type": 16, + "src": { + "line": 201, + "column": 27, + "start": 6164, + "end": 6175, + "length": 12, + "parent_index": 287 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 292, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 288, + "node_type": 16, + "src": { + "line": 201, + "column": 12, + "start": 6149, + "end": 6155, + "length": 7, + "parent_index": 287 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "name": "a", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 290, - "is_pure": false + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "right_expression": { - "id": 291, - "node_type": 16, + { + "id": 293, + "node_type": 47, "src": { - "line": 192, - "column": 19, - "start": 6078, - "end": 6078, - "length": 1, - "parent_index": 289 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 202, + "column": 12, + "start": 6191, + "end": 6203, + "length": 13, + "parent_index": 274 }, - "overloaded_declarations": [], - "referenced_declaration": 291, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "function_return_parameters": 274, + "expression": { + "id": 294, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6202, + "length": 5, + "parent_index": 293 + }, + "operator": 4, + "left_expression": { + "id": 295, + "node_type": 16, + "src": { + "line": 202, + "column": 19, + "start": 6198, + "end": 6198, + "length": 1, + "parent_index": 294 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 295, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 296, + "node_type": 16, + "src": { + "line": 202, + "column": 23, + "start": 6202, + "end": 6202, + "length": 1, + "parent_index": 294 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 296, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "id": 287, + "id": 285, "node_type": 46, "kind": 0, "statements": [] @@ -27861,28 +26975,28 @@ "return": [ { "ast": { - "id": 285, + "id": 283, "node_type": 44, "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 284 + "parent_index": 282 }, - "scope": 278, + "scope": 274, "name": "", "type_name": { - "id": 286, + "id": 284, "node_type": 30, "src": { - "line": 191, - "column": 62, - "start": 6048, - "end": 6054, + "line": 199, + "column": 29, + "start": 6106, + "end": 6112, "length": 7, - "parent_index": 285 + "parent_index": 283 }, "name": "uint256", "referenced_declaration": 0, @@ -27899,7 +27013,7 @@ "type_string": "uint256" } }, - "id": 285, + "id": 283, "node_type": 44, "name": "", "type": "uint256", @@ -27911,165 +27025,323 @@ } ], "src": { - "line": 191, + "line": 195, "column": 4, "start": 5990, - "end": 6085, - "length": 96, - "parent_index": 121 + "end": 6219, + "length": 230, + "parent_index": 33 } }, { "ast": { - "id": 293, - "name": "mul", + "id": 298, + "name": "mod", "node_type": 42, "kind": 41, "src": { - "line": 205, + "line": 221, "column": 4, - "start": 6333, - "end": 6428, - "length": 96, - "parent_index": 121 + "start": 6866, + "end": 7095, + "length": 230, + "parent_index": 33 }, "name_location": { - "line": 205, + "line": 221, "column": 13, - "start": 6342, - "end": 6344, + "start": 6875, + "end": 6877, "length": 3, - "parent_index": 293 + "parent_index": 298 }, "body": { - "id": 302, + "id": 309, "node_type": 46, "kind": 0, "src": { - "line": 205, - "column": 71, - "start": 6400, - "end": 6428, - "length": 29, - "parent_index": 293 + "line": 225, + "column": 38, + "start": 6991, + "end": 7095, + "length": 105, + "parent_index": 298 }, "implemented": true, "statements": [ { - "id": 303, - "node_type": 47, + "id": 310, + "node_type": 59, + "kind": 0, "src": { - "line": 206, + "line": 226, "column": 8, - "start": 6410, - "end": 6422, - "length": 13, - "parent_index": 293 + "start": 7001, + "end": 7089, + "length": 89, + "parent_index": 33 }, - "function_return_parameters": 293, - "expression": { - "id": 304, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6421, - "length": 5, - "parent_index": 303 - }, - "operator": 3, - "left_expression": { - "id": 305, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 311, + "node_type": 24, + "kind": 24, "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6417, - "length": 1, - "parent_index": 304 + "line": 227, + "column": 12, + "start": 7025, + "end": 7052, + "length": 28, + "parent_index": 310 }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 313, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 227, + "column": 20, + "start": 7033, + "end": 7037, + "length": 5, + "parent_index": 311 + }, + "operator": 7, + "left_expression": { + "id": 314, + "node_type": 16, + "src": { + "line": 227, + "column": 20, + "start": 7033, + "end": 7033, + "length": 1, + "parent_index": 313 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 314, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 315, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 227, + "column": 24, + "start": 7037, + "end": 7037, + "length": 1, + "parent_index": 313 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 316, + "node_type": 16, + "src": { + "line": 227, + "column": 27, + "start": 7040, + "end": 7051, + "length": 12, + "parent_index": 311 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 316, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 312, + "node_type": 16, + "src": { + "line": 227, + "column": 12, + "start": 7025, + "end": 7031, + "length": 7, + "parent_index": 311 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "overloaded_declarations": [], - "referenced_declaration": 305, - "is_pure": false + "type_description": { + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "right_expression": { - "id": 306, - "node_type": 16, + { + "id": 317, + "node_type": 47, "src": { - "line": 206, - "column": 19, - "start": 6421, - "end": 6421, - "length": 1, - "parent_index": 304 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 228, + "column": 12, + "start": 7067, + "end": 7079, + "length": 13, + "parent_index": 298 }, - "overloaded_declarations": [], - "referenced_declaration": 306, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "function_return_parameters": 298, + "expression": { + "id": 318, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 228, + "column": 19, + "start": 7074, + "end": 7078, + "length": 5, + "parent_index": 317 + }, + "operator": 5, + "left_expression": { + "id": 319, + "node_type": 16, + "src": { + "line": 228, + "column": 19, + "start": 7074, + "end": 7074, + "length": 1, + "parent_index": 318 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 319, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 320, + "node_type": 16, + "src": { + "line": 228, + "column": 23, + "start": 7078, + "end": 7078, + "length": 1, + "parent_index": 318 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 320, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "implemented": true, + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 294, + "id": 299, "node_type": 43, "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6365, - "length": 20, - "parent_index": 293 + "line": 222, + "column": 8, + "start": 6888, + "end": 6951, + "length": 64, + "parent_index": 298 }, "parameters": [ { - "id": 295, + "id": 300, "node_type": 44, "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6354, + "line": 222, + "column": 8, + "start": 6888, + "end": 6896, "length": 9, - "parent_index": 294 + "parent_index": 299 }, - "scope": 293, + "scope": 298, "name": "a", "type_name": { - "id": 296, + "id": 301, "node_type": 30, "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6352, + "line": 222, + "column": 8, + "start": 6888, + "end": 6894, "length": 7, - "parent_index": 295 + "parent_index": 300 }, "name": "uint256", "referenced_declaration": 0, @@ -28087,28 +27359,28 @@ } }, { - "id": 297, + "id": 302, "node_type": 44, "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6365, + "line": 223, + "column": 8, + "start": 6907, + "end": 6915, "length": 9, - "parent_index": 294 + "parent_index": 299 }, - "scope": 293, + "scope": 298, "name": "b", "type_name": { - "id": 298, + "id": 303, "node_type": 30, "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6363, + "line": 223, + "column": 8, + "start": 6907, + "end": 6913, "length": 7, - "parent_index": 297 + "parent_index": 302 }, "name": "uint256", "referenced_declaration": 0, @@ -28124,6 +27396,45 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + }, + { + "id": 304, + "node_type": 44, + "src": { + "line": 224, + "column": 8, + "start": 6926, + "end": 6951, + "length": 26, + "parent_index": 299 + }, + "scope": 298, + "name": "errorMessage", + "type_name": { + "id": 305, + "node_type": 30, + "src": { + "line": 224, + "column": 8, + "start": 6926, + "end": 6931, + "length": 6, + "parent_index": 304 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } } ], "parameter_types": [ @@ -28134,44 +27445,48 @@ { "type_identifier": "t_uint256", "type_string": "uint256" + }, + { + "type_identifier": "t_string", + "type_string": "string" } ] }, "return_parameters": { - "id": 299, + "id": 306, "node_type": 43, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 293 + "parent_index": 298 }, "parameters": [ { - "id": 300, + "id": 307, "node_type": 44, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 299 + "parent_index": 306 }, - "scope": 293, + "scope": 298, "name": "", "type_name": { - "id": 301, + "id": 308, "node_type": 30, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 300 + "parent_index": 307 }, "name": "uint256", "referenced_declaration": 0, @@ -28196,51 +27511,52 @@ } ] }, - "signature_raw": "mul(uint256, uint256)", - "signature": "cd3ef6fa", - "scope": 121, + "signature_raw": "mod(uint256,uint256,string)", + "signature": "71af23e8", + "scope": 33, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } + "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", + "type_string": "function(uint256,uint256,string)" + }, + "text": "functionmod(uint256a,uint256b,stringmemoryerrorMessage)internalpurereturns(uint256){unchecked{require(b\u003e0,errorMessage);returna%b;}}" }, - "id": 293, + "id": 298, "node_type": 42, "kind": 41, - "name": "mul", - "implemented": true, + "name": "mod", + "implemented": false, "visibility": 1, "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "cd3ef6fa", + "signature": "71af23e8", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 295, + "id": 300, "node_type": 44, "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6354, + "line": 222, + "column": 8, + "start": 6888, + "end": 6896, "length": 9, - "parent_index": 294 + "parent_index": 299 }, - "scope": 293, + "scope": 298, "name": "a", "type_name": { - "id": 296, + "id": 301, "node_type": 30, "src": { - "line": 205, - "column": 17, - "start": 6346, - "end": 6352, + "line": 222, + "column": 8, + "start": 6888, + "end": 6894, "length": 7, - "parent_index": 295 + "parent_index": 300 }, "name": "uint256", "referenced_declaration": 0, @@ -28257,7 +27573,7 @@ "type_string": "uint256" } }, - "id": 295, + "id": 300, "node_type": 44, "name": "a", "type": "uint256", @@ -28269,28 +27585,28 @@ }, { "ast": { - "id": 297, + "id": 302, "node_type": 44, "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6365, + "line": 223, + "column": 8, + "start": 6907, + "end": 6915, "length": 9, - "parent_index": 294 + "parent_index": 299 }, - "scope": 293, + "scope": 298, "name": "b", "type_name": { - "id": 298, + "id": 303, "node_type": 30, "src": { - "line": 205, - "column": 28, - "start": 6357, - "end": 6363, + "line": 223, + "column": 8, + "start": 6907, + "end": 6913, "length": 7, - "parent_index": 297 + "parent_index": 302 }, "name": "uint256", "referenced_declaration": 0, @@ -28307,7 +27623,7 @@ "type_string": "uint256" } }, - "id": 297, + "id": 302, "node_type": 44, "name": "b", "type": "uint256", @@ -28316,98 +27632,306 @@ "type_string": "uint256" }, "indexed": false + }, + { + "ast": { + "id": 304, + "node_type": 44, + "src": { + "line": 224, + "column": 8, + "start": 6926, + "end": 6951, + "length": 26, + "parent_index": 299 + }, + "scope": 298, + "name": "errorMessage", + "type_name": { + "id": 305, + "node_type": 30, + "src": { + "line": 224, + "column": 8, + "start": 6926, + "end": 6931, + "length": 6, + "parent_index": 304 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "id": 304, + "node_type": 44, + "name": "errorMessage", + "type": "string", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "indexed": false } ], "body": { "ast": { - "id": 302, + "id": 309, "node_type": 46, "kind": 0, "src": { - "line": 205, - "column": 71, - "start": 6400, - "end": 6428, - "length": 29, - "parent_index": 293 + "line": 225, + "column": 38, + "start": 6991, + "end": 7095, + "length": 105, + "parent_index": 298 }, "implemented": true, "statements": [ { - "id": 303, - "node_type": 47, + "id": 310, + "node_type": 59, + "kind": 0, "src": { - "line": 206, + "line": 226, "column": 8, - "start": 6410, - "end": 6422, - "length": 13, - "parent_index": 293 + "start": 7001, + "end": 7089, + "length": 89, + "parent_index": 33 }, - "function_return_parameters": 293, - "expression": { - "id": 304, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6421, - "length": 5, - "parent_index": 303 - }, - "operator": 3, - "left_expression": { - "id": 305, - "node_type": 16, + "implemented": false, + "statements": [ + { + "id": 311, + "node_type": 24, + "kind": 24, "src": { - "line": 206, - "column": 15, - "start": 6417, - "end": 6417, - "length": 1, - "parent_index": 304 + "line": 227, + "column": 12, + "start": 7025, + "end": 7052, + "length": 28, + "parent_index": 310 + }, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + }, + { + "type_identifier": "t_string", + "type_string": "string" + } + ], + "arguments": [ + { + "id": 313, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 227, + "column": 20, + "start": 7033, + "end": 7037, + "length": 5, + "parent_index": 311 + }, + "operator": 7, + "left_expression": { + "id": 314, + "node_type": 16, + "src": { + "line": 227, + "column": 20, + "start": 7033, + "end": 7033, + "length": 1, + "parent_index": 313 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 314, + "is_pure": false, + "text": "b" + }, + "right_expression": { + "id": 315, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 227, + "column": 24, + "start": 7037, + "end": 7037, + "length": 1, + "parent_index": 313 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 316, + "node_type": 16, + "src": { + "line": 227, + "column": 27, + "start": 7040, + "end": 7051, + "length": 12, + "parent_index": 311 + }, + "name": "errorMessage", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + }, + "overloaded_declarations": [], + "referenced_declaration": 316, + "is_pure": false, + "argument_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ], + "text": "errorMessage" + } + ], + "expression": { + "id": 312, + "node_type": 16, + "src": { + "line": 227, + "column": 12, + "start": 7025, + "end": 7031, + "length": 7, + "parent_index": 311 + }, + "name": "require", + "type_description": { + "type_identifier": "t_function_$", + "type_string": "function()" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "require" }, - "name": "a", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 305, - "is_pure": false + "type_identifier": "t_function_$_t_bool$_t_string$", + "type_string": "function(bool,string)" + } }, - "right_expression": { - "id": 306, - "node_type": 16, + { + "id": 317, + "node_type": 47, "src": { - "line": 206, - "column": 19, - "start": 6421, - "end": 6421, - "length": 1, - "parent_index": 304 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "line": 228, + "column": 12, + "start": 7067, + "end": 7079, + "length": 13, + "parent_index": 298 }, - "overloaded_declarations": [], - "referenced_declaration": 306, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "function_return_parameters": 298, + "expression": { + "id": 318, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 228, + "column": 19, + "start": 7074, + "end": 7078, + "length": 5, + "parent_index": 317 + }, + "operator": 5, + "left_expression": { + "id": 319, + "node_type": 16, + "src": { + "line": 228, + "column": 19, + "start": 7074, + "end": 7074, + "length": 1, + "parent_index": 318 + }, + "name": "a", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 319, + "is_pure": false, + "text": "a" + }, + "right_expression": { + "id": 320, + "node_type": 16, + "src": { + "line": 228, + "column": 23, + "start": 7078, + "end": 7078, + "length": 1, + "parent_index": 318 + }, + "name": "b", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "overloaded_declarations": [], + "referenced_declaration": 320, + "is_pure": false, + "text": "b" + }, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } } - } + ] } ] }, - "id": 302, + "id": 309, "node_type": 46, "kind": 0, "statements": [] @@ -28415,28 +27939,28 @@ "return": [ { "ast": { - "id": 300, + "id": 307, "node_type": 44, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 299 + "parent_index": 306 }, - "scope": 293, + "scope": 298, "name": "", "type_name": { - "id": 301, + "id": 308, "node_type": 30, "src": { - "line": 205, - "column": 62, - "start": 6391, - "end": 6397, + "line": 225, + "column": 29, + "start": 6982, + "end": 6988, "length": 7, - "parent_index": 300 + "parent_index": 307 }, "name": "uint256", "referenced_declaration": 0, @@ -28453,7 +27977,7 @@ "type_string": "uint256" } }, - "id": 300, + "id": 307, "node_type": 44, "name": "", "type": "uint256", @@ -28465,1568 +27989,1858 @@ } ], "src": { - "line": 205, + "line": 221, "column": 4, - "start": 6333, - "end": 6428, - "length": 96, - "parent_index": 121 + "start": 6866, + "end": 7095, + "length": 230, + "parent_index": 33 } - }, - { - "ast": { - "id": 308, - "name": "div", - "node_type": 42, - "kind": 41, + } + ] + }, + { + "ast": { + "id": 321, + "base_contracts": [], + "license": "MIT", + "exported_symbols": [ + { + "id": 321, + "name": "IERC20", + "absolute_path": "IERC20.sol" + } + ], + "absolute_path": "IERC20.sol", + "name": "IERC20", + "node_type": 1, + "nodes": [ + { + "id": 323, + "node_type": 10, "src": { - "line": 221, - "column": 4, - "start": 6893, - "end": 6988, - "length": 96, - "parent_index": 121 + "line": 235, + "column": 0, + "start": 7133, + "end": 7155, + "length": 23, + "parent_index": 321 + }, + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "text": "pragma solidity ^0.8.0;" + }, + { + "id": 326, + "name": "IERC20", + "node_type": 35, + "src": { + "line": 240, + "column": 0, + "start": 7229, + "end": 9824, + "length": 2596, + "parent_index": 321 }, "name_location": { - "line": 221, - "column": 13, - "start": 6902, - "end": 6904, - "length": 3, - "parent_index": 308 + "line": 240, + "column": 10, + "start": 7239, + "end": 7244, + "length": 6, + "parent_index": 326 }, - "body": { - "id": 317, - "node_type": 46, - "kind": 0, - "src": { - "line": 221, - "column": 71, - "start": 6960, - "end": 6988, - "length": 29, - "parent_index": 308 - }, - "implemented": true, - "statements": [ - { - "id": 318, - "node_type": 47, + "abstract": false, + "kind": 38, + "fully_implemented": true, + "nodes": [ + { + "id": 328, + "name": "totalSupply", + "node_type": 42, + "kind": 41, + "src": { + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 326 + }, + "name_location": { + "line": 244, + "column": 13, + "start": 7332, + "end": 7342, + "length": 11, + "parent_index": 328 + }, + "body": { + "id": 335, + "node_type": 46, + "kind": 0, "src": { - "line": 222, - "column": 8, - "start": 6970, - "end": 6982, - "length": 13, - "parent_index": 308 + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 328 }, - "function_return_parameters": 308, - "expression": { - "id": 319, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6981, - "length": 5, - "parent_index": 318 - }, - "operator": 4, - "left_expression": { - "id": 320, - "node_type": 16, - "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6977, - "length": 1, - "parent_index": 319 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 320, - "is_pure": false - }, - "right_expression": { - "id": 321, - "node_type": 16, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 329, + "node_type": 43, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 328 + }, + "parameters": [ + { + "id": 330, + "node_type": 44, "src": { - "line": 222, - "column": 19, - "start": 6981, - "end": 6981, - "length": 1, - "parent_index": 319 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 329 }, - "name": "b", + "scope": 328, + "name": "", + "type_name": { + "id": 331, + "node_type": 30, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 330 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 321, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + } } - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 309, - "node_type": 43, - "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6925, - "length": 20, - "parent_index": 308 - }, - "parameters": [ - { - "id": 310, - "node_type": 44, - "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6914, - "length": 9, - "parent_index": 309 - }, - "scope": 308, - "name": "a", - "type_name": { - "id": 311, - "node_type": 30, - "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6912, - "length": 7, - "parent_index": 310 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + ], + "parameter_types": [ + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + ] }, - { - "id": 312, - "node_type": 44, + "return_parameters": { + "id": 332, + "node_type": 43, "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6925, - "length": 9, - "parent_index": 309 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 328 }, - "scope": 308, - "name": "b", - "type_name": { - "id": 313, - "node_type": 30, - "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6923, - "length": 7, - "parent_index": 312 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + "parameters": [ + { + "id": 333, + "node_type": 44, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 332 + }, + "scope": 328, + "name": "", + "type_name": { + "id": 334, + "node_type": 30, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 333 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" + ] }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 314, - "node_type": 43, - "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 308 + "signature_raw": "totalSupply(uint256)", + "signature": "bd85b039", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" }, - "parameters": [ - { - "id": 315, - "node_type": 44, - "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 314 - }, - "scope": 308, - "name": "", - "type_name": { - "id": 316, - "node_type": 30, - "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 315 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "div(uint256, uint256)", - "signature": "4530da25", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } - }, - "id": 308, - "node_type": 42, - "kind": 41, - "name": "div", - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "referenced_declaration_id": 0, - "signature": "4530da25", - "modifiers": [], - "overrides": [], - "parameters": [ - { - "ast": { - "id": 310, - "node_type": 44, + { + "id": 337, + "name": "balanceOf", + "node_type": 42, + "kind": 41, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6914, + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 326 + }, + "name_location": { + "line": 249, + "column": 13, + "start": 7470, + "end": 7478, "length": 9, - "parent_index": 309 + "parent_index": 337 + }, + "body": { + "id": 344, + "node_type": 46, + "kind": 0, + "src": { + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 337 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 338, + "node_type": 43, + "src": { + "line": 249, + "column": 23, + "start": 7480, + "end": 7494, + "length": 15, + "parent_index": 337 + }, + "parameters": [ + { + "id": 339, + "node_type": 44, + "src": { + "line": 249, + "column": 23, + "start": 7480, + "end": 7494, + "length": 15, + "parent_index": 338 + }, + "scope": 337, + "name": "account", + "type_name": { + "id": 340, + "node_type": 30, + "src": { + "line": 249, + "column": 23, + "start": 7480, + "end": 7486, + "length": 7, + "parent_index": 339 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + } + ] }, - "scope": 308, - "name": "a", - "type_name": { - "id": 311, - "node_type": 30, + "return_parameters": { + "id": 341, + "node_type": 43, "src": { - "line": 221, - "column": 17, - "start": 6906, - "end": 6912, + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 310 + "parent_index": 337 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "parameters": [ + { + "id": 342, + "node_type": 44, + "src": { + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, + "length": 7, + "parent_index": 341 + }, + "scope": 337, + "name": "", + "type_name": { + "id": 343, + "node_type": 30, + "src": { + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, + "length": 7, + "parent_index": 342 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "signature_raw": "balanceOf(address)", + "signature": "70a08231", + "scope": 326, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 310, - "node_type": 44, - "name": "a", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, - "indexed": false - }, - { - "ast": { - "id": 312, - "node_type": 44, + { + "id": 346, + "name": "transfer", + "node_type": 42, + "kind": 41, "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6925, - "length": 9, - "parent_index": 309 + "line": 258, + "column": 4, + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 326 }, - "scope": 308, - "name": "b", - "type_name": { - "id": 313, - "node_type": 30, + "name_location": { + "line": 258, + "column": 13, + "start": 7758, + "end": 7765, + "length": 8, + "parent_index": 346 + }, + "body": { + "id": 355, + "node_type": 46, + "kind": 0, "src": { - "line": 221, - "column": 28, - "start": 6917, - "end": 6923, - "length": 7, - "parent_index": 312 + "line": 258, + "column": 4, + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 346 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "implemented": false, + "statements": [] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 312, - "node_type": 44, - "name": "b", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 317, - "node_type": 46, - "kind": 0, - "src": { - "line": 221, - "column": 71, - "start": 6960, - "end": 6988, - "length": 29, - "parent_index": 308 - }, - "implemented": true, - "statements": [ - { - "id": 318, - "node_type": 47, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 347, + "node_type": 43, "src": { - "line": 222, - "column": 8, - "start": 6970, - "end": 6982, - "length": 13, - "parent_index": 308 + "line": 258, + "column": 22, + "start": 7767, + "end": 7799, + "length": 33, + "parent_index": 346 }, - "function_return_parameters": 308, - "expression": { - "id": 319, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6981, - "length": 5, - "parent_index": 318 - }, - "operator": 4, - "left_expression": { - "id": 320, - "node_type": 16, + "parameters": [ + { + "id": 348, + "node_type": 44, "src": { - "line": 222, - "column": 15, - "start": 6977, - "end": 6977, - "length": 1, - "parent_index": 319 + "line": 258, + "column": 22, + "start": 7767, + "end": 7783, + "length": 17, + "parent_index": 347 }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "scope": 346, + "name": "recipient", + "type_name": { + "id": 349, + "node_type": 30, + "src": { + "line": 258, + "column": 22, + "start": 7767, + "end": 7773, + "length": 7, + "parent_index": 348 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "overloaded_declarations": [], - "referenced_declaration": 320, - "is_pure": false + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "right_expression": { - "id": 321, - "node_type": 16, - "src": { - "line": 222, - "column": 19, - "start": 6981, - "end": 6981, - "length": 1, - "parent_index": 319 + { + "id": 350, + "node_type": 44, + "src": { + "line": 258, + "column": 41, + "start": 7786, + "end": 7799, + "length": 14, + "parent_index": 347 }, - "name": "b", + "scope": 346, + "name": "amount", + "type_name": { + "id": 351, + "node_type": 30, + "src": { + "line": 258, + "column": 41, + "start": 7786, + "end": 7792, + "length": 7, + "parent_index": 350 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 321, - "is_pure": false + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, - "type_description": { + { "type_identifier": "t_uint256", "type_string": "uint256" } - } - } - ] - }, - "id": 317, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ - { - "ast": { - "id": 315, - "node_type": 44, - "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 314 + ] }, - "scope": 308, - "name": "", - "type_name": { - "id": 316, - "node_type": 30, + "return_parameters": { + "id": 352, + "node_type": 43, "src": { - "line": 221, - "column": 62, - "start": 6951, - "end": 6957, - "length": 7, - "parent_index": 315 + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 346 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "parameters": [ + { + "id": 353, + "node_type": 44, + "src": { + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 352 + }, + "scope": 346, + "name": "", + "type_name": { + "id": 354, + "node_type": 30, + "src": { + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 353 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", + "scope": 326, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 315, - "node_type": 44, - "name": "", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "src": { - "line": 221, - "column": 4, - "start": 6893, - "end": 6988, - "length": 96, - "parent_index": 121 - } - }, - { - "ast": { - "id": 323, - "name": "mod", - "node_type": 42, - "kind": 41, - "src": { - "line": 237, - "column": 4, - "start": 7442, - "end": 7537, - "length": 96, - "parent_index": 121 - }, - "name_location": { - "line": 237, - "column": 13, - "start": 7451, - "end": 7453, - "length": 3, - "parent_index": 323 - }, - "body": { - "id": 332, - "node_type": 46, - "kind": 0, - "src": { - "line": 237, - "column": 71, - "start": 7509, - "end": 7537, - "length": 29, - "parent_index": 323 + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" }, - "implemented": true, - "statements": [ - { - "id": 333, - "node_type": 47, + { + "id": 357, + "name": "allowance", + "node_type": 42, + "kind": 41, + "src": { + "line": 267, + "column": 4, + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 326 + }, + "name_location": { + "line": 267, + "column": 13, + "start": 8110, + "end": 8118, + "length": 9, + "parent_index": 357 + }, + "body": { + "id": 366, + "node_type": 46, + "kind": 0, "src": { - "line": 238, - "column": 8, - "start": 7519, - "end": 7531, - "length": 13, - "parent_index": 323 + "line": 267, + "column": 4, + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 357 }, - "function_return_parameters": 323, - "expression": { - "id": 334, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7530, - "length": 5, - "parent_index": 333 + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 358, + "node_type": 43, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8149, + "length": 30, + "parent_index": 357 + }, + "parameters": [ + { + "id": 359, + "node_type": 44, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8132, + "length": 13, + "parent_index": 358 + }, + "scope": 357, + "name": "owner", + "type_name": { + "id": 360, + "node_type": 30, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8126, + "length": 7, + "parent_index": 359 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "operator": 5, - "left_expression": { - "id": 335, - "node_type": 16, + { + "id": 361, + "node_type": 44, "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7526, - "length": 1, - "parent_index": 334 + "line": 267, + "column": 38, + "start": 8135, + "end": 8149, + "length": 15, + "parent_index": 358 + }, + "scope": 357, + "name": "spender", + "type_name": { + "id": 362, + "node_type": 30, + "src": { + "line": 267, + "column": 38, + "start": 8135, + "end": 8141, + "length": 7, + "parent_index": 361 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "name": "a", + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 335, - "is_pure": false + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, - "right_expression": { - "id": 336, - "node_type": 16, + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { + "id": 363, + "node_type": 43, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 357 + }, + "parameters": [ + { + "id": 364, + "node_type": 44, "src": { - "line": 238, - "column": 19, - "start": 7530, - "end": 7530, - "length": 1, - "parent_index": 334 + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 363 }, - "name": "b", + "scope": 357, + "name": "", + "type_name": { + "id": 365, + "node_type": 30, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 364 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 336, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + } } - } - } - ] - }, - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], - "parameters": { - "id": 324, - "node_type": 43, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7474, - "length": 20, - "parent_index": 323 - }, - "parameters": [ - { - "id": 325, - "node_type": 44, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7463, - "length": 9, - "parent_index": 324 - }, - "scope": 323, - "name": "a", - "type_name": { - "id": 326, - "node_type": 30, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7461, - "length": 7, - "parent_index": 325 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + ], + "parameter_types": [ + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + ] }, - { - "id": 327, - "node_type": 44, + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" + }, + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" + }, + { + "id": 368, + "name": "approve", + "node_type": 42, + "kind": 41, + "src": { + "line": 283, + "column": 4, + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 326 + }, + "name_location": { + "line": 283, + "column": 13, + "start": 8846, + "end": 8852, + "length": 7, + "parent_index": 368 + }, + "body": { + "id": 377, + "node_type": 46, + "kind": 0, "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7474, - "length": 9, - "parent_index": 324 - }, - "scope": 323, - "name": "b", - "type_name": { - "id": 328, - "node_type": 30, - "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7472, - "length": 7, - "parent_index": 327 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "line": 283, + "column": 4, + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 368 }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" + "implemented": false, + "statements": [] }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "return_parameters": { - "id": 329, - "node_type": 43, - "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 323 - }, - "parameters": [ - { - "id": 330, - "node_type": 44, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 369, + "node_type": 43, "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 329 + "line": 283, + "column": 21, + "start": 8854, + "end": 8884, + "length": 31, + "parent_index": 368 }, - "scope": 323, - "name": "", - "type_name": { - "id": 331, - "node_type": 30, - "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 330 + "parameters": [ + { + "id": 370, + "node_type": 44, + "src": { + "line": 283, + "column": 21, + "start": 8854, + "end": 8868, + "length": 15, + "parent_index": 369 + }, + "scope": 368, + "name": "spender", + "type_name": { + "id": 371, + "node_type": 30, + "src": { + "line": 283, + "column": 21, + "start": 8854, + "end": 8860, + "length": 7, + "parent_index": 370 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 372, + "node_type": 44, + "src": { + "line": 283, + "column": 38, + "start": 8871, + "end": 8884, + "length": 14, + "parent_index": 369 + }, + "scope": 368, + "name": "amount", + "type_name": { + "id": 373, + "node_type": 30, + "src": { + "line": 283, + "column": 38, + "start": 8871, + "end": 8877, + "length": 7, + "parent_index": 372 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - ] - }, - "signature_raw": "mod(uint256, uint256)", - "signature": "1130353e", - "scope": 121, - "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$", - "type_string": "function(uint256,uint256)" - } - }, - "id": 323, - "node_type": 42, - "kind": 41, - "name": "mod", - "implemented": true, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "referenced_declaration_id": 0, - "signature": "1130353e", - "modifiers": [], - "overrides": [], - "parameters": [ - { - "ast": { - "id": 325, - "node_type": 44, - "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7463, - "length": 9, - "parent_index": 324 + ] }, - "scope": 323, - "name": "a", - "type_name": { - "id": 326, - "node_type": 30, + "return_parameters": { + "id": 374, + "node_type": 43, "src": { - "line": 237, - "column": 17, - "start": 7455, - "end": 7461, - "length": 7, - "parent_index": 325 + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 368 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "parameters": [ + { + "id": 375, + "node_type": 44, + "src": { + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 374 + }, + "scope": 368, + "name": "", + "type_name": { + "id": 376, + "node_type": 30, + "src": { + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 375 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", + "scope": 326, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 325, - "node_type": 44, - "name": "a", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, - "indexed": false - }, - { - "ast": { - "id": 327, - "node_type": 44, + { + "id": 379, + "name": "transferFrom", + "node_type": 42, + "kind": 41, "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7474, - "length": 9, - "parent_index": 324 + "line": 294, + "column": 4, + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 326 }, - "scope": 323, - "name": "b", - "type_name": { - "id": 328, - "node_type": 30, + "name_location": { + "line": 294, + "column": 13, + "start": 9227, + "end": 9238, + "length": 12, + "parent_index": 379 + }, + "body": { + "id": 390, + "node_type": 46, + "kind": 0, "src": { - "line": 237, - "column": 28, - "start": 7466, - "end": 7472, - "length": 7, - "parent_index": 327 + "line": 294, + "column": 4, + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 379 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "implemented": false, + "statements": [] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - "id": 327, - "node_type": 44, - "name": "b", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 332, - "node_type": 46, - "kind": 0, - "src": { - "line": 237, - "column": 71, - "start": 7509, - "end": 7537, - "length": 29, - "parent_index": 323 - }, - "implemented": true, - "statements": [ - { - "id": 333, - "node_type": 47, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 380, + "node_type": 43, "src": { - "line": 238, + "line": 295, "column": 8, - "start": 7519, - "end": 7531, - "length": 13, - "parent_index": 323 + "start": 9249, + "end": 9313, + "length": 65, + "parent_index": 379 }, - "function_return_parameters": 323, - "expression": { - "id": 334, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7530, - "length": 5, - "parent_index": 333 + "parameters": [ + { + "id": 381, + "node_type": 44, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9262, + "length": 14, + "parent_index": 380 + }, + "scope": 379, + "name": "sender", + "type_name": { + "id": 382, + "node_type": 30, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9255, + "length": 7, + "parent_index": 381 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "operator": 5, - "left_expression": { - "id": 335, - "node_type": 16, + { + "id": 383, + "node_type": 44, "src": { - "line": 238, - "column": 15, - "start": 7526, - "end": 7526, - "length": 1, - "parent_index": 334 + "line": 296, + "column": 8, + "start": 9273, + "end": 9289, + "length": 17, + "parent_index": 380 }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "scope": 379, + "name": "recipient", + "type_name": { + "id": 384, + "node_type": 30, + "src": { + "line": 296, + "column": 8, + "start": 9273, + "end": 9279, + "length": 7, + "parent_index": 383 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "overloaded_declarations": [], - "referenced_declaration": 335, - "is_pure": false + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "right_expression": { - "id": 336, - "node_type": 16, + { + "id": 385, + "node_type": 44, "src": { - "line": 238, - "column": 19, - "start": 7530, - "end": 7530, - "length": 1, - "parent_index": 334 + "line": 297, + "column": 8, + "start": 9300, + "end": 9313, + "length": 14, + "parent_index": 380 }, - "name": "b", + "scope": 379, + "name": "amount", + "type_name": { + "id": 386, + "node_type": 30, + "src": { + "line": 297, + "column": 8, + "start": 9300, + "end": 9306, + "length": 7, + "parent_index": 385 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 336, - "is_pure": false + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, - "type_description": { + { + "type_identifier": "t_address", + "type_string": "address" + }, + { "type_identifier": "t_uint256", "type_string": "uint256" } - } - } - ] - }, - "id": 332, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ - { - "ast": { - "id": 330, - "node_type": 44, + ] + }, + "return_parameters": { + "id": 387, + "node_type": 43, + "src": { + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 379 + }, + "parameters": [ + { + "id": 388, + "node_type": 44, + "src": { + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 387 + }, + "scope": 379, + "name": "", + "type_name": { + "id": 389, + "node_type": 30, + "src": { + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 388 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] + }, + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", + "type_string": "function(address,address,uint256)" + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" + }, + { + "id": 392, + "node_type": 57, "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 329 + "line": 306, + "column": 4, + "start": 9514, + "end": 9585, + "length": 72, + "parent_index": 326 }, - "scope": 323, - "name": "", - "type_name": { - "id": 331, - "node_type": 30, + "parameters": { + "id": 393, + "node_type": 43, "src": { - "line": 237, - "column": 62, - "start": 7500, - "end": 7506, - "length": 7, - "parent_index": 330 + "line": 306, + "column": 4, + "start": 9514, + "end": 9585, + "length": 72, + "parent_index": 392 }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "parameters": [ + { + "id": 394, + "node_type": 44, + "src": { + "line": 306, + "column": 19, + "start": 9529, + "end": 9548, + "length": 20, + "parent_index": 393 + }, + "scope": 392, + "name": "from", + "type_name": { + "id": 395, + "node_type": 30, + "src": { + "line": 306, + "column": 19, + "start": 9529, + "end": 9535, + "length": 7, + "parent_index": 394 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 396, + "node_type": 44, + "src": { + "line": 306, + "column": 41, + "start": 9551, + "end": 9568, + "length": 18, + "parent_index": 393 + }, + "scope": 392, + "name": "to", + "type_name": { + "id": 397, + "node_type": 30, + "src": { + "line": 306, + "column": 41, + "start": 9551, + "end": 9557, + "length": 7, + "parent_index": 396 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 398, + "node_type": 44, + "src": { + "line": 306, + "column": 61, + "start": 9571, + "end": 9583, + "length": 13, + "parent_index": 393 + }, + "scope": 392, + "name": "value", + "type_name": { + "id": 399, + "node_type": 30, + "src": { + "line": 306, + "column": 61, + "start": 9571, + "end": 9577, + "length": 7, + "parent_index": 398 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, + "name": "Transfer", + "anonymous": false, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026392", + "type_string": "event IERC20.Transfer" } }, - "id": 330, - "node_type": 44, - "name": "", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "src": { - "line": 237, - "column": 4, - "start": 7442, - "end": 7537, - "length": 96, - "parent_index": 121 - } - }, - { - "ast": { - "id": 338, - "name": "sub", - "node_type": 42, - "kind": 41, - "src": { - "line": 254, - "column": 4, - "start": 8002, - "end": 8232, - "length": 231, - "parent_index": 121 - }, - "name_location": { - "line": 254, - "column": 13, - "start": 8011, - "end": 8013, - "length": 3, - "parent_index": 338 - }, - "body": { - "id": 349, - "node_type": 46, - "kind": 0, - "src": { - "line": 258, - "column": 38, - "start": 8127, - "end": 8232, - "length": 106, - "parent_index": 338 - }, - "implemented": true, - "statements": [ - { - "id": 350, - "node_type": 59, - "kind": 0, + { + "id": 401, + "node_type": 57, + "src": { + "line": 312, + "column": 4, + "start": 9745, + "end": 9822, + "length": 78, + "parent_index": 326 + }, + "parameters": { + "id": 402, + "node_type": 43, "src": { - "line": 259, - "column": 8, - "start": 8137, - "end": 8226, - "length": 90, - "parent_index": 121 + "line": 312, + "column": 4, + "start": 9745, + "end": 9822, + "length": 78, + "parent_index": 401 }, - "implemented": false, - "statements": [ + "parameters": [ { - "id": 351, - "node_type": 24, - "kind": 24, + "id": 403, + "node_type": 44, "src": { - "line": 260, - "column": 12, - "start": 8161, - "end": 8189, - "length": 29, - "parent_index": 350 + "line": 312, + "column": 19, + "start": 9760, + "end": 9780, + "length": 21, + "parent_index": 402 }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 353, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 260, - "column": 20, - "start": 8169, - "end": 8174, - "length": 6, - "parent_index": 351 - }, - "operator": 10, - "left_expression": { - "id": 354, - "node_type": 16, - "src": { - "line": 260, - "column": 20, - "start": 8169, - "end": 8169, - "length": 1, - "parent_index": 353 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 354, - "is_pure": false - }, - "right_expression": { - "id": 355, - "node_type": 16, - "src": { - "line": 260, - "column": 25, - "start": 8174, - "end": 8174, - "length": 1, - "parent_index": 353 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 355, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 356, - "node_type": 16, - "src": { - "line": 260, - "column": 28, - "start": 8177, - "end": 8188, - "length": 12, - "parent_index": 351 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 356, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 352, - "node_type": 16, + "scope": 401, + "name": "owner", + "type_name": { + "id": 404, + "node_type": 30, "src": { - "line": 260, - "column": 12, - "start": 8161, - "end": 8167, + "line": 312, + "column": 19, + "start": 9760, + "end": 9766, "length": 7, - "parent_index": 351 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" + "parent_index": 403 }, - "overloaded_declarations": [], + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, - "is_pure": true + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true }, { - "id": 357, - "node_type": 47, + "id": 405, + "node_type": 44, "src": { - "line": 261, - "column": 12, - "start": 8204, - "end": 8216, - "length": 13, - "parent_index": 338 + "line": 312, + "column": 42, + "start": 9783, + "end": 9805, + "length": 23, + "parent_index": 402 }, - "function_return_parameters": 338, - "expression": { - "id": 358, - "is_constant": false, - "is_pure": false, - "node_type": 19, + "scope": 401, + "name": "spender", + "type_name": { + "id": 406, + "node_type": 30, "src": { - "line": 261, - "column": 19, - "start": 8211, - "end": 8215, - "length": 5, - "parent_index": 357 - }, - "operator": 2, - "left_expression": { - "id": 359, - "node_type": 16, - "src": { - "line": 261, - "column": 19, - "start": 8211, - "end": 8211, - "length": 1, - "parent_index": 358 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 359, - "is_pure": false + "line": 312, + "column": 42, + "start": 9783, + "end": 9789, + "length": 7, + "parent_index": 405 }, - "right_expression": { - "id": 360, - "node_type": 16, - "src": { - "line": 261, - "column": 23, - "start": 8215, - "end": 8215, - "length": 1, - "parent_index": 358 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 360, - "is_pure": false + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 407, + "node_type": 44, + "src": { + "line": 312, + "column": 67, + "start": 9808, + "end": 9820, + "length": 13, + "parent_index": 402 + }, + "scope": 401, + "name": "value", + "type_name": { + "id": 408, + "node_type": 30, + "src": { + "line": 312, + "column": 67, + "start": 9808, + "end": 9814, + "length": 7, + "parent_index": 407 }, + "name": "uint256", + "referenced_declaration": 0, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } ] + }, + "name": "Approval", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_IERC20_Approval_\u0026401", + "type_string": "event IERC20.Approval" } - ] + } + ], + "linearized_base_contracts": [ + 326 + ], + "base_contracts": [], + "contract_dependencies": [] + } + ], + "src": { + "line": 240, + "column": 0, + "start": 7229, + "end": 9824, + "length": 2596, + "parent_index": 30 + } + }, + "id": 326, + "source_unit_id": 321, + "node_type": 35, + "kind": 38, + "name": "IERC20", + "license": "MIT", + "language": "solidity", + "absolute_path": "IERC20.sol", + "symbols": [ + { + "id": 321, + "name": "IERC20", + "absolute_path": "IERC20.sol" + } + ], + "imports": [], + "pragmas": [ + { + "ast": { + "id": 323, + "node_type": 10, + "src": { + "line": 235, + "column": 0, + "start": 7133, + "end": 7155, + "length": 23, + "parent_index": 321 + }, + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "text": "pragma solidity ^0.8.0;" + }, + "id": 323, + "node_type": 10, + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "text": "pragma solidity ^0.8.0;" + } + ], + "state_variables": [], + "structs": [], + "enums": [], + "events": [ + { + "ast": { + "id": 392, + "node_type": 57, + "src": { + "line": 306, + "column": 4, + "start": 9514, + "end": 9585, + "length": 72, + "parent_index": 326 }, - "implemented": false, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "modifiers": [], - "overrides": [], "parameters": { - "id": 339, + "id": 393, "node_type": 43, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8087, - "length": 64, - "parent_index": 338 + "line": 306, + "column": 4, + "start": 9514, + "end": 9585, + "length": 72, + "parent_index": 392 }, "parameters": [ { - "id": 340, + "id": 394, "node_type": 44, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8032, - "length": 9, - "parent_index": 339 + "line": 306, + "column": 19, + "start": 9529, + "end": 9548, + "length": 20, + "parent_index": 393 }, - "scope": 338, - "name": "a", + "scope": 392, + "name": "from", "type_name": { - "id": 341, + "id": 395, "node_type": 30, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8030, + "line": 306, + "column": 19, + "start": 9529, + "end": 9535, "length": 7, - "parent_index": 340 + "parent_index": 394 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 342, - "node_type": 44, - "src": { - "line": 256, - "column": 8, - "start": 8043, - "end": 8051, - "length": 9, - "parent_index": 339 - }, - "scope": 338, - "name": "b", - "type_name": { - "id": 343, - "node_type": 30, - "src": { - "line": 256, - "column": 8, - "start": 8043, - "end": 8049, - "length": 7, - "parent_index": 342 - }, - "name": "uint256", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "type_identifier": "t_address", + "type_string": "address" }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } + "indexed": true }, { - "id": 344, + "id": 396, "node_type": 44, "src": { - "line": 257, - "column": 8, - "start": 8062, - "end": 8087, - "length": 26, - "parent_index": 339 + "line": 306, + "column": 41, + "start": 9551, + "end": 9568, + "length": 18, + "parent_index": 393 }, - "scope": 338, - "name": "errorMessage", + "scope": 392, + "name": "to", "type_name": { - "id": 345, + "id": 397, "node_type": 30, "src": { - "line": 257, - "column": 8, - "start": 8062, - "end": 8067, - "length": 6, - "parent_index": 344 + "line": 306, + "column": 41, + "start": 9551, + "end": 9557, + "length": 7, + "parent_index": 396 }, - "name": "string", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - } - ], - "parameter_types": [ - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ] - }, - "return_parameters": { - "id": 346, - "node_type": 43, - "src": { - "line": 258, - "column": 29, - "start": 8118, - "end": 8124, - "length": 7, - "parent_index": 338 - }, - "parameters": [ + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, { - "id": 347, + "id": 398, "node_type": 44, "src": { - "line": 258, - "column": 29, - "start": 8118, - "end": 8124, - "length": 7, - "parent_index": 346 + "line": 306, + "column": 61, + "start": 9571, + "end": 9583, + "length": 13, + "parent_index": 393 }, - "scope": 338, - "name": "", + "scope": 392, + "name": "value", "type_name": { - "id": 348, + "id": 399, "node_type": 30, "src": { - "line": 258, - "column": 29, - "start": 8118, - "end": 8124, + "line": 306, + "column": 61, + "start": 9571, + "end": 9577, "length": 7, - "parent_index": 347 + "parent_index": 398 }, "name": "uint256", "referenced_declaration": 0, @@ -30045,57 +29859,160 @@ } ], "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + }, { "type_identifier": "t_uint256", "type_string": "uint256" } ] }, - "signature_raw": "sub(uint256, uint256, string)", - "signature": "2a4c5531", - "scope": 121, + "name": "Transfer", + "anonymous": false, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" + "type_identifier": "t_event\u0026_IERC20_Transfer_\u0026392", + "type_string": "event IERC20.Transfer" } }, - "id": 338, - "node_type": 42, - "kind": 41, - "name": "sub", - "implemented": false, - "visibility": 1, - "state_mutability": 6, - "virtual": false, - "referenced_declaration_id": 0, - "signature": "2a4c5531", - "modifiers": [], - "overrides": [], + "id": 392, + "node_type": 57, + "name": "Transfer", + "anonymous": false, "parameters": [ { "ast": { - "id": 340, + "id": 394, "node_type": 44, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8032, - "length": 9, - "parent_index": 339 + "line": 306, + "column": 19, + "start": 9529, + "end": 9548, + "length": 20, + "parent_index": 393 }, - "scope": 338, - "name": "a", + "scope": 392, + "name": "from", "type_name": { - "id": 341, + "id": 395, "node_type": 30, "src": { - "line": 255, - "column": 8, - "start": 8024, - "end": 8030, + "line": 306, + "column": 19, + "start": 9529, + "end": 9535, + "length": 7, + "parent_index": 394 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + "id": 394, + "node_type": 44, + "name": "from", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "ast": { + "id": 396, + "node_type": 44, + "src": { + "line": 306, + "column": 41, + "start": 9551, + "end": 9568, + "length": 18, + "parent_index": 393 + }, + "scope": 392, + "name": "to", + "type_name": { + "id": 397, + "node_type": 30, + "src": { + "line": 306, + "column": 41, + "start": 9551, + "end": 9557, + "length": 7, + "parent_index": 396 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + "id": 396, + "node_type": 44, + "name": "to", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "ast": { + "id": 398, + "node_type": 44, + "src": { + "line": 306, + "column": 61, + "start": 9571, + "end": 9583, + "length": 13, + "parent_index": 393 + }, + "scope": 392, + "name": "value", + "type_name": { + "id": 399, + "node_type": 30, + "src": { + "line": 306, + "column": 61, + "start": 9571, + "end": 9577, "length": 7, - "parent_index": 340 + "parent_index": 398 }, "name": "uint256", "referenced_declaration": 0, @@ -30112,386 +30029,319 @@ "type_string": "uint256" } }, - "id": 340, + "id": 398, "node_type": 44, - "name": "a", + "name": "value", "type": "uint256", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "indexed": false + } + ] + }, + { + "ast": { + "id": 401, + "node_type": 57, + "src": { + "line": 312, + "column": 4, + "start": 9745, + "end": 9822, + "length": 78, + "parent_index": 326 }, - { - "ast": { - "id": 342, - "node_type": 44, - "src": { - "line": 256, - "column": 8, - "start": 8043, - "end": 8051, - "length": 9, - "parent_index": 339 + "parameters": { + "id": 402, + "node_type": 43, + "src": { + "line": 312, + "column": 4, + "start": 9745, + "end": 9822, + "length": 78, + "parent_index": 401 + }, + "parameters": [ + { + "id": 403, + "node_type": 44, + "src": { + "line": 312, + "column": 19, + "start": 9760, + "end": 9780, + "length": 21, + "parent_index": 402 + }, + "scope": 401, + "name": "owner", + "type_name": { + "id": 404, + "node_type": 30, + "src": { + "line": 312, + "column": 19, + "start": 9760, + "end": 9766, + "length": 7, + "parent_index": 403 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true }, - "scope": 338, - "name": "b", - "type_name": { - "id": 343, - "node_type": 30, + { + "id": 405, + "node_type": 44, "src": { - "line": 256, - "column": 8, - "start": 8043, - "end": 8049, - "length": 7, - "parent_index": 342 + "line": 312, + "column": 42, + "start": 9783, + "end": 9805, + "length": 23, + "parent_index": 402 + }, + "scope": 401, + "name": "spender", + "type_name": { + "id": 406, + "node_type": 30, + "src": { + "line": 312, + "column": 42, + "start": 9783, + "end": 9789, + "length": 7, + "parent_index": 405 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + { + "id": 407, + "node_type": 44, + "src": { + "line": 312, + "column": 67, + "start": 9808, + "end": 9820, + "length": 13, + "parent_index": 402 + }, + "scope": 401, + "name": "value", + "type_name": { + "id": 408, + "node_type": 30, + "src": { + "line": 312, + "column": 67, + "start": 9808, + "end": 9814, + "length": 7, + "parent_index": 407 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, - "name": "uint256", - "referenced_declaration": 0, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { + { + "type_identifier": "t_address", + "type_string": "address" + }, + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "id": 342, - "node_type": 44, - "name": "b", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false + ] }, + "name": "Approval", + "anonymous": false, + "type_description": { + "type_identifier": "t_event\u0026_IERC20_Approval_\u0026401", + "type_string": "event IERC20.Approval" + } + }, + "id": 401, + "node_type": 57, + "name": "Approval", + "anonymous": false, + "parameters": [ { "ast": { - "id": 344, + "id": 403, "node_type": 44, "src": { - "line": 257, - "column": 8, - "start": 8062, - "end": 8087, - "length": 26, - "parent_index": 339 + "line": 312, + "column": 19, + "start": 9760, + "end": 9780, + "length": 21, + "parent_index": 402 }, - "scope": 338, - "name": "errorMessage", + "scope": 401, + "name": "owner", "type_name": { - "id": 345, + "id": 404, "node_type": 30, "src": { - "line": 257, - "column": 8, - "start": 8062, - "end": 8067, - "length": 6, - "parent_index": 344 + "line": 312, + "column": 19, + "start": 9760, + "end": 9766, + "length": 7, + "parent_index": 403 }, - "name": "string", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true }, - "id": 344, + "id": 403, "node_type": 44, - "name": "errorMessage", - "type": "string", + "name": "owner", + "type": "address", "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 349, - "node_type": 46, - "kind": 0, - "src": { - "line": 258, - "column": 38, - "start": 8127, - "end": 8232, - "length": 106, - "parent_index": 338 + "type_identifier": "t_address", + "type_string": "address" }, - "implemented": true, - "statements": [ - { - "id": 350, - "node_type": 59, - "kind": 0, - "src": { - "line": 259, - "column": 8, - "start": 8137, - "end": 8226, - "length": 90, - "parent_index": 121 - }, - "implemented": false, - "statements": [ - { - "id": 351, - "node_type": 24, - "kind": 24, - "src": { - "line": 260, - "column": 12, - "start": 8161, - "end": 8189, - "length": 29, - "parent_index": 350 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 353, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 260, - "column": 20, - "start": 8169, - "end": 8174, - "length": 6, - "parent_index": 351 - }, - "operator": 10, - "left_expression": { - "id": 354, - "node_type": 16, - "src": { - "line": 260, - "column": 20, - "start": 8169, - "end": 8169, - "length": 1, - "parent_index": 353 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 354, - "is_pure": false - }, - "right_expression": { - "id": 355, - "node_type": 16, - "src": { - "line": 260, - "column": 25, - "start": 8174, - "end": 8174, - "length": 1, - "parent_index": 353 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 355, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 356, - "node_type": 16, - "src": { - "line": 260, - "column": 28, - "start": 8177, - "end": 8188, - "length": 12, - "parent_index": 351 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 356, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 352, - "node_type": 16, - "src": { - "line": 260, - "column": 12, - "start": 8161, - "end": 8167, - "length": 7, - "parent_index": 351 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } - }, - { - "id": 357, - "node_type": 47, - "src": { - "line": 261, - "column": 12, - "start": 8204, - "end": 8216, - "length": 13, - "parent_index": 338 - }, - "function_return_parameters": 338, - "expression": { - "id": 358, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 261, - "column": 19, - "start": 8211, - "end": 8215, - "length": 5, - "parent_index": 357 - }, - "operator": 2, - "left_expression": { - "id": 359, - "node_type": 16, - "src": { - "line": 261, - "column": 19, - "start": 8211, - "end": 8211, - "length": 1, - "parent_index": 358 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 359, - "is_pure": false - }, - "right_expression": { - "id": 360, - "node_type": 16, - "src": { - "line": 261, - "column": 23, - "start": 8215, - "end": 8215, - "length": 1, - "parent_index": 358 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 360, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] - } - ] + "indexed": true + }, + { + "ast": { + "id": 405, + "node_type": 44, + "src": { + "line": 312, + "column": 42, + "start": 9783, + "end": 9805, + "length": 23, + "parent_index": 402 + }, + "scope": 401, + "name": "spender", + "type_name": { + "id": 406, + "node_type": 30, + "src": { + "line": 312, + "column": 42, + "start": 9783, + "end": 9789, + "length": 7, + "parent_index": 405 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true + }, + "id": 405, + "node_type": 44, + "name": "spender", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": true }, - "id": 349, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ { "ast": { - "id": 347, + "id": 407, "node_type": 44, "src": { - "line": 258, - "column": 29, - "start": 8118, - "end": 8124, - "length": 7, - "parent_index": 346 + "line": 312, + "column": 67, + "start": 9808, + "end": 9820, + "length": 13, + "parent_index": 402 }, - "scope": 338, - "name": "", + "scope": 401, + "name": "value", "type_name": { - "id": 348, + "id": 408, "node_type": 30, "src": { - "line": 258, - "column": 29, - "start": 8118, - "end": 8124, + "line": 312, + "column": 67, + "start": 9808, + "end": 9814, "length": 7, - "parent_index": 347 + "parent_index": 407 }, "name": "uint256", "referenced_declaration": 0, @@ -30508,329 +30358,99 @@ "type_string": "uint256" } }, - "id": 347, + "id": 407, "node_type": 44, - "name": "", + "name": "value", "type": "uint256", "type_description": { "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "src": { - "line": 254, - "column": 4, - "start": 8002, - "end": 8232, - "length": 231, - "parent_index": 121 - } - }, - { - "ast": { - "id": 362, - "name": "div", - "node_type": 42, - "kind": 41, - "src": { - "line": 277, - "column": 4, - "start": 8717, - "end": 8946, - "length": 230, - "parent_index": 121 - }, - "name_location": { - "line": 277, - "column": 13, - "start": 8726, - "end": 8728, - "length": 3, - "parent_index": 362 - }, - "body": { - "id": 373, - "node_type": 46, - "kind": 0, - "src": { - "line": 281, - "column": 38, - "start": 8842, - "end": 8946, - "length": 105, - "parent_index": 362 - }, - "implemented": true, - "statements": [ - { - "id": 374, - "node_type": 59, - "kind": 0, - "src": { - "line": 282, - "column": 8, - "start": 8852, - "end": 8940, - "length": 89, - "parent_index": 121 - }, - "implemented": false, - "statements": [ - { - "id": 375, - "node_type": 24, - "kind": 24, - "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8903, - "length": 28, - "parent_index": 374 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 377, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8888, - "length": 5, - "parent_index": 375 - }, - "operator": 7, - "left_expression": { - "id": 378, - "node_type": 16, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8884, - "length": 1, - "parent_index": 377 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 378, - "is_pure": false - }, - "right_expression": { - "id": 379, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 283, - "column": 24, - "start": 8888, - "end": 8888, - "length": 1, - "parent_index": 377 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 380, - "node_type": 16, - "src": { - "line": 283, - "column": 27, - "start": 8891, - "end": 8902, - "length": 12, - "parent_index": 375 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 380, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 376, - "node_type": 16, - "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8882, - "length": 7, - "parent_index": 375 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } - }, - { - "id": 381, - "node_type": 47, - "src": { - "line": 284, - "column": 12, - "start": 8918, - "end": 8930, - "length": 13, - "parent_index": 362 - }, - "function_return_parameters": 362, - "expression": { - "id": 382, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8929, - "length": 5, - "parent_index": 381 - }, - "operator": 4, - "left_expression": { - "id": 383, - "node_type": 16, - "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8925, - "length": 1, - "parent_index": 382 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 383, - "is_pure": false - }, - "right_expression": { - "id": 384, - "node_type": 16, - "src": { - "line": 284, - "column": 23, - "start": 8929, - "end": 8929, - "length": 1, - "parent_index": 382 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 384, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] - } - ] + "type_string": "uint256" + }, + "indexed": false + } + ] + } + ], + "errors": [], + "functions": [ + { + "ast": { + "id": 328, + "name": "totalSupply", + "node_type": 42, + "kind": 41, + "src": { + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 326 + }, + "name_location": { + "line": 244, + "column": 13, + "start": 7332, + "end": 7342, + "length": 11, + "parent_index": 328 + }, + "body": { + "id": 335, + "node_type": 46, + "kind": 0, + "src": { + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 328 + }, + "implemented": false, + "statements": [] }, "implemented": false, - "visibility": 1, - "state_mutability": 6, + "visibility": 4, + "state_mutability": 5, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 363, + "id": 329, "node_type": 43, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8802, - "length": 64, - "parent_index": 362 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 328 }, "parameters": [ { - "id": 364, + "id": 330, "node_type": 44, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8747, - "length": 9, - "parent_index": 363 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 329 }, - "scope": 362, - "name": "a", + "scope": 328, + "name": "", "type_name": { - "id": 365, + "id": 331, "node_type": 30, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8745, + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 364 + "parent_index": 330 }, "name": "uint256", "referenced_declaration": 0, @@ -30846,30 +30466,50 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, + } + ], + "parameter_types": [ { - "id": 366, + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "return_parameters": { + "id": 332, + "node_type": 43, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 328 + }, + "parameters": [ + { + "id": 333, "node_type": 44, "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8766, - "length": 9, - "parent_index": 363 + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 332 }, - "scope": 362, - "name": "b", + "scope": 328, + "name": "", "type_name": { - "id": 367, + "id": 334, "node_type": 30, "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8764, + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, "length": 7, - "parent_index": 366 + "parent_index": 333 }, "name": "uint256", "referenced_declaration": 0, @@ -30885,97 +30525,308 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + ] + }, + "signature_raw": "totalSupply(uint256)", + "signature": "bd85b039", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_uint256$", + "type_string": "function(uint256)" + }, + "text": "functiontotalSupply()externalviewreturns(uint256);" + }, + "id": 328, + "node_type": 42, + "kind": 41, + "name": "totalSupply", + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "referenced_declaration_id": 0, + "signature": "bd85b039", + "modifiers": [], + "overrides": [], + "parameters": [ + { + "ast": { + "id": 330, + "node_type": 44, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 329 + }, + "scope": 328, + "name": "", + "type_name": { + "id": 331, + "node_type": 30, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 330 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 330, + "node_type": 44, + "name": "", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "body": { + "ast": { + "id": 335, + "node_type": 46, + "kind": 0, + "src": { + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 328 + }, + "implemented": false, + "statements": [] + }, + "id": 335, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ + { + "ast": { + "id": 333, + "node_type": 44, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 332 + }, + "scope": 328, + "name": "", + "type_name": { + "id": 334, + "node_type": 30, + "src": { + "line": 244, + "column": 50, + "start": 7369, + "end": 7375, + "length": 7, + "parent_index": 333 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 333, + "node_type": 44, + "name": "", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "src": { + "line": 244, + "column": 4, + "start": 7323, + "end": 7377, + "length": 55, + "parent_index": 326 + } + }, + { + "ast": { + "id": 337, + "name": "balanceOf", + "node_type": 42, + "kind": 41, + "src": { + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 326 + }, + "name_location": { + "line": 249, + "column": 13, + "start": 7470, + "end": 7478, + "length": 9, + "parent_index": 337 + }, + "body": { + "id": 344, + "node_type": 46, + "kind": 0, + "src": { + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 337 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 338, + "node_type": 43, + "src": { + "line": 249, + "column": 23, + "start": 7480, + "end": 7494, + "length": 15, + "parent_index": 337 + }, + "parameters": [ { - "id": 368, + "id": 339, "node_type": 44, "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8802, - "length": 26, - "parent_index": 363 + "line": 249, + "column": 23, + "start": 7480, + "end": 7494, + "length": 15, + "parent_index": 338 }, - "scope": 362, - "name": "errorMessage", + "scope": 337, + "name": "account", "type_name": { - "id": 369, + "id": 340, "node_type": 30, "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8782, - "length": 6, - "parent_index": 368 + "line": 249, + "column": 23, + "start": 7480, + "end": 7486, + "length": 7, + "parent_index": 339 }, - "name": "string", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } ] }, "return_parameters": { - "id": 370, + "id": 341, "node_type": 43, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 362 + "parent_index": 337 }, "parameters": [ { - "id": 371, + "id": 342, "node_type": 44, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 370 + "parent_index": 341 }, - "scope": 362, + "scope": 337, "name": "", "type_name": { - "id": 372, + "id": 343, "node_type": 30, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 371 + "parent_index": 342 }, "name": "uint256", "referenced_declaration": 0, @@ -31000,101 +30851,126 @@ } ] }, - "signature_raw": "div(uint256, uint256, string)", - "signature": "2ed1535b", - "scope": 121, + "signature_raw": "balanceOf(address)", + "signature": "70a08231", + "scope": 326, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" - } + "type_identifier": "t_function_$_t_address$", + "type_string": "function(address)" + }, + "text": "functionbalanceOf(addressaccount)externalviewreturns(uint256);" }, - "id": 362, + "id": 337, "node_type": 42, "kind": 41, - "name": "div", + "name": "balanceOf", "implemented": false, - "visibility": 1, - "state_mutability": 6, + "visibility": 4, + "state_mutability": 5, "virtual": false, "referenced_declaration_id": 0, - "signature": "2ed1535b", + "signature": "70a08231", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 364, + "id": 339, "node_type": 44, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8747, - "length": 9, - "parent_index": 363 + "line": 249, + "column": 23, + "start": 7480, + "end": 7494, + "length": 15, + "parent_index": 338 }, - "scope": 362, - "name": "a", + "scope": 337, + "name": "account", "type_name": { - "id": 365, + "id": 340, "node_type": 30, "src": { - "line": 278, - "column": 8, - "start": 8739, - "end": 8745, + "line": 249, + "column": 23, + "start": 7480, + "end": 7486, "length": 7, - "parent_index": 364 + "parent_index": 339 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, - "id": 364, + "id": 339, "node_type": 44, - "name": "a", - "type": "uint256", + "name": "account", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, "indexed": false + } + ], + "body": { + "ast": { + "id": 344, + "node_type": 46, + "kind": 0, + "src": { + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 337 + }, + "implemented": false, + "statements": [] }, + "id": 344, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ { "ast": { - "id": 366, + "id": 342, "node_type": 44, "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8766, - "length": 9, - "parent_index": 363 + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, + "length": 7, + "parent_index": 341 }, - "scope": 362, - "name": "b", + "scope": 337, + "name": "", "type_name": { - "id": 367, + "id": 343, "node_type": 30, "src": { - "line": 279, - "column": 8, - "start": 8758, - "end": 8764, + "line": 249, + "column": 63, + "start": 7520, + "end": 7526, "length": 7, - "parent_index": 366 + "parent_index": 342 }, "name": "uint256", "referenced_declaration": 0, @@ -31111,309 +30987,372 @@ "type_string": "uint256" } }, - "id": 366, + "id": 342, "node_type": 44, - "name": "b", + "name": "", "type": "uint256", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "indexed": false + } + ], + "src": { + "line": 249, + "column": 4, + "start": 7461, + "end": 7528, + "length": 68, + "parent_index": 326 + } + }, + { + "ast": { + "id": 346, + "name": "transfer", + "node_type": 42, + "kind": 41, + "src": { + "line": 258, + "column": 4, + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 326 }, - { - "ast": { - "id": 368, - "node_type": 44, - "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8802, - "length": 26, - "parent_index": 363 + "name_location": { + "line": 258, + "column": 13, + "start": 7758, + "end": 7765, + "length": 8, + "parent_index": 346 + }, + "body": { + "id": 355, + "node_type": 46, + "kind": 0, + "src": { + "line": 258, + "column": 4, + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 346 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 347, + "node_type": 43, + "src": { + "line": 258, + "column": 22, + "start": 7767, + "end": 7799, + "length": 33, + "parent_index": 346 + }, + "parameters": [ + { + "id": 348, + "node_type": 44, + "src": { + "line": 258, + "column": 22, + "start": 7767, + "end": 7783, + "length": 17, + "parent_index": 347 + }, + "scope": 346, + "name": "recipient", + "type_name": { + "id": 349, + "node_type": 30, + "src": { + "line": 258, + "column": 22, + "start": 7767, + "end": 7773, + "length": 7, + "parent_index": 348 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } }, - "scope": 362, - "name": "errorMessage", - "type_name": { - "id": 369, - "node_type": 30, + { + "id": 350, + "node_type": 44, "src": { - "line": 280, - "column": 8, - "start": 8777, - "end": 8782, - "length": 6, - "parent_index": 368 + "line": 258, + "column": 41, + "start": 7786, + "end": 7799, + "length": 14, + "parent_index": 347 }, - "name": "string", - "referenced_declaration": 0, + "scope": 346, + "name": "amount", + "type_name": { + "id": 351, + "node_type": 30, + "src": { + "line": 258, + "column": 41, + "start": 7786, + "end": 7792, + "length": 7, + "parent_index": 350 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_uint256", + "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" + { + "type_identifier": "t_uint256", + "type_string": "uint256" } - }, - "id": 368, - "node_type": 44, - "name": "errorMessage", - "type": "string", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 373, - "node_type": 46, - "kind": 0, + ] + }, + "return_parameters": { + "id": 352, + "node_type": 43, "src": { - "line": 281, - "column": 38, - "start": 8842, - "end": 8946, - "length": 105, - "parent_index": 362 + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 346 }, - "implemented": true, - "statements": [ + "parameters": [ { - "id": 374, - "node_type": 59, - "kind": 0, + "id": 353, + "node_type": 44, "src": { - "line": 282, - "column": 8, - "start": 8852, - "end": 8940, - "length": 89, - "parent_index": 121 + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 352 }, - "implemented": false, - "statements": [ - { - "id": 375, - "node_type": 24, - "kind": 24, - "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8903, - "length": 28, - "parent_index": 374 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 377, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8888, - "length": 5, - "parent_index": 375 - }, - "operator": 7, - "left_expression": { - "id": 378, - "node_type": 16, - "src": { - "line": 283, - "column": 20, - "start": 8884, - "end": 8884, - "length": 1, - "parent_index": 377 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 378, - "is_pure": false - }, - "right_expression": { - "id": 379, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 283, - "column": 24, - "start": 8888, - "end": 8888, - "length": 1, - "parent_index": 377 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 380, - "node_type": 16, - "src": { - "line": 283, - "column": 27, - "start": 8891, - "end": 8902, - "length": 12, - "parent_index": 375 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 380, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 376, - "node_type": 16, - "src": { - "line": 283, - "column": 12, - "start": 8876, - "end": 8882, - "length": 7, - "parent_index": 375 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } + "scope": 346, + "name": "", + "type_name": { + "id": 354, + "node_type": 30, + "src": { + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 353 }, - { - "id": 381, - "node_type": 47, - "src": { - "line": 284, - "column": 12, - "start": 8918, - "end": 8930, - "length": 13, - "parent_index": 362 - }, - "function_return_parameters": 362, - "expression": { - "id": 382, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8929, - "length": 5, - "parent_index": 381 - }, - "operator": 4, - "left_expression": { - "id": 383, - "node_type": 16, - "src": { - "line": 284, - "column": 19, - "start": 8925, - "end": 8925, - "length": 1, - "parent_index": 382 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 383, - "is_pure": false - }, - "right_expression": { - "id": 384, - "node_type": 16, - "src": { - "line": 284, - "column": 23, - "start": 8929, - "end": 8929, - "length": 1, - "parent_index": 382 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 384, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" } - ] + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] + }, + "signature_raw": "transfer(address,uint256)", + "signature": "a9059cbb", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functiontransfer(addressrecipient,uint256amount)externalreturns(bool);" + }, + "id": 346, + "node_type": 42, + "kind": 41, + "name": "transfer", + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "referenced_declaration_id": 0, + "signature": "a9059cbb", + "modifiers": [], + "overrides": [], + "parameters": [ + { + "ast": { + "id": 348, + "node_type": 44, + "src": { + "line": 258, + "column": 22, + "start": 7767, + "end": 7783, + "length": 17, + "parent_index": 347 + }, + "scope": 346, + "name": "recipient", + "type_name": { + "id": 349, + "node_type": 30, + "src": { + "line": 258, + "column": 22, + "start": 7767, + "end": 7773, + "length": 7, + "parent_index": 348 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } - ] + }, + "id": 348, + "node_type": 44, + "name": "recipient", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": false + }, + { + "ast": { + "id": 350, + "node_type": 44, + "src": { + "line": 258, + "column": 41, + "start": 7786, + "end": 7799, + "length": 14, + "parent_index": 347 + }, + "scope": 346, + "name": "amount", + "type_name": { + "id": 351, + "node_type": 30, + "src": { + "line": 258, + "column": 41, + "start": 7786, + "end": 7792, + "length": 7, + "parent_index": 350 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 350, + "node_type": 44, + "name": "amount", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "body": { + "ast": { + "id": 355, + "node_type": 46, + "kind": 0, + "src": { + "line": 258, + "column": 4, + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 346 + }, + "implemented": false, + "statements": [] }, - "id": 373, + "id": 355, "node_type": 46, "kind": 0, "statements": [] @@ -31421,406 +31360,595 @@ "return": [ { "ast": { - "id": 371, + "id": 353, "node_type": 44, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, - "length": 7, - "parent_index": 370 + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 352 }, - "scope": 362, + "scope": 346, "name": "", "type_name": { - "id": 372, + "id": 354, "node_type": 30, "src": { - "line": 281, - "column": 29, - "start": 8833, - "end": 8839, + "line": 258, + "column": 75, + "start": 7820, + "end": 7823, + "length": 4, + "parent_index": 353 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "id": 353, + "node_type": 44, + "name": "", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "indexed": false + } + ], + "src": { + "line": 258, + "column": 4, + "start": 7749, + "end": 7825, + "length": 77, + "parent_index": 326 + } + }, + { + "ast": { + "id": 357, + "name": "allowance", + "node_type": 42, + "kind": 41, + "src": { + "line": 267, + "column": 4, + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 326 + }, + "name_location": { + "line": 267, + "column": 13, + "start": 8110, + "end": 8118, + "length": 9, + "parent_index": 357 + }, + "body": { + "id": 366, + "node_type": 46, + "kind": 0, + "src": { + "line": 267, + "column": 4, + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 357 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 358, + "node_type": 43, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8149, + "length": 30, + "parent_index": 357 + }, + "parameters": [ + { + "id": 359, + "node_type": 44, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8132, + "length": 13, + "parent_index": 358 + }, + "scope": 357, + "name": "owner", + "type_name": { + "id": 360, + "node_type": 30, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8126, + "length": 7, + "parent_index": 359 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 361, + "node_type": 44, + "src": { + "line": 267, + "column": 38, + "start": 8135, + "end": 8149, + "length": 15, + "parent_index": 358 + }, + "scope": 357, + "name": "spender", + "type_name": { + "id": 362, + "node_type": 30, + "src": { + "line": 267, + "column": 38, + "start": 8135, + "end": 8141, + "length": 7, + "parent_index": 361 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_address", + "type_string": "address" + } + ] + }, + "return_parameters": { + "id": 363, + "node_type": 43, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 357 + }, + "parameters": [ + { + "id": 364, + "node_type": 44, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, "length": 7, - "parent_index": 371 + "parent_index": 363 }, - "name": "uint256", - "referenced_declaration": 0, + "scope": 357, + "name": "", + "type_name": { + "id": 365, + "node_type": 30, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 364 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { + } + ], + "parameter_types": [ + { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - "id": 371, - "node_type": 44, - "name": "", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "indexed": false - } - ], - "src": { - "line": 277, - "column": 4, - "start": 8717, - "end": 8946, - "length": 230, - "parent_index": 121 - } - }, - { - "ast": { - "id": 386, - "name": "mod", - "node_type": 42, - "kind": 41, - "src": { - "line": 303, - "column": 4, - "start": 9593, - "end": 9822, - "length": 230, - "parent_index": 121 + ] }, - "name_location": { - "line": 303, - "column": 13, - "start": 9602, - "end": 9604, - "length": 3, - "parent_index": 386 + "signature_raw": "allowance(address,address)", + "signature": "dd62ed3e", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$", + "type_string": "function(address,address)" }, - "body": { - "id": 397, - "node_type": 46, - "kind": 0, - "src": { - "line": 307, - "column": 38, - "start": 9718, - "end": 9822, - "length": 105, - "parent_index": 386 - }, - "implemented": true, - "statements": [ - { - "id": 398, - "node_type": 59, - "kind": 0, - "src": { - "line": 308, - "column": 8, - "start": 9728, - "end": 9816, - "length": 89, - "parent_index": 121 - }, - "implemented": false, - "statements": [ - { - "id": 399, - "node_type": 24, - "kind": 24, - "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9779, - "length": 28, - "parent_index": 398 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 401, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9764, - "length": 5, - "parent_index": 399 - }, - "operator": 7, - "left_expression": { - "id": 402, - "node_type": 16, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9760, - "length": 1, - "parent_index": 401 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 402, - "is_pure": false - }, - "right_expression": { - "id": 403, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 309, - "column": 24, - "start": 9764, - "end": 9764, - "length": 1, - "parent_index": 401 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 404, - "node_type": 16, - "src": { - "line": 309, - "column": 27, - "start": 9767, - "end": 9778, - "length": 12, - "parent_index": 399 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 400, - "node_type": 16, - "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9758, - "length": 7, - "parent_index": 399 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } - }, - { - "id": 405, - "node_type": 47, - "src": { - "line": 310, - "column": 12, - "start": 9794, - "end": 9806, - "length": 13, - "parent_index": 386 - }, - "function_return_parameters": 386, - "expression": { - "id": 406, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9805, - "length": 5, - "parent_index": 405 - }, - "operator": 5, - "left_expression": { - "id": 407, - "node_type": 16, - "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9801, - "length": 1, - "parent_index": 406 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 407, - "is_pure": false - }, - "right_expression": { - "id": 408, - "node_type": 16, - "src": { - "line": 310, - "column": 23, - "start": 9805, - "end": 9805, - "length": 1, - "parent_index": 406 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 408, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } - } - ] + "text": "functionallowance(addressowner,addressspender)externalviewreturns(uint256);" + }, + "id": 357, + "node_type": 42, + "kind": 41, + "name": "allowance", + "implemented": false, + "visibility": 4, + "state_mutability": 5, + "virtual": false, + "referenced_declaration_id": 0, + "signature": "dd62ed3e", + "modifiers": [], + "overrides": [], + "parameters": [ + { + "ast": { + "id": 359, + "node_type": 44, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8132, + "length": 13, + "parent_index": 358 + }, + "scope": 357, + "name": "owner", + "type_name": { + "id": 360, + "node_type": 30, + "src": { + "line": 267, + "column": 23, + "start": 8120, + "end": 8126, + "length": 7, + "parent_index": 359 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } - ] + }, + "id": 359, + "node_type": 44, + "name": "owner", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": false + }, + { + "ast": { + "id": 361, + "node_type": 44, + "src": { + "line": 267, + "column": 38, + "start": 8135, + "end": 8149, + "length": 15, + "parent_index": 358 + }, + "scope": 357, + "name": "spender", + "type_name": { + "id": 362, + "node_type": 30, + "src": { + "line": 267, + "column": 38, + "start": 8135, + "end": 8141, + "length": 7, + "parent_index": 361 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "id": 361, + "node_type": 44, + "name": "spender", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": false + } + ], + "body": { + "ast": { + "id": 366, + "node_type": 46, + "kind": 0, + "src": { + "line": 267, + "column": 4, + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 357 + }, + "implemented": false, + "statements": [] + }, + "id": 366, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ + { + "ast": { + "id": 364, + "node_type": 44, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 363 + }, + "scope": 357, + "name": "", + "type_name": { + "id": 365, + "node_type": 30, + "src": { + "line": 267, + "column": 78, + "start": 8175, + "end": 8181, + "length": 7, + "parent_index": 364 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "id": 364, + "node_type": 44, + "name": "", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "indexed": false + } + ], + "src": { + "line": 267, + "column": 4, + "start": 8101, + "end": 8183, + "length": 83, + "parent_index": 326 + } + }, + { + "ast": { + "id": 368, + "name": "approve", + "node_type": 42, + "kind": 41, + "src": { + "line": 283, + "column": 4, + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 326 + }, + "name_location": { + "line": 283, + "column": 13, + "start": 8846, + "end": 8852, + "length": 7, + "parent_index": 368 + }, + "body": { + "id": 377, + "node_type": 46, + "kind": 0, + "src": { + "line": 283, + "column": 4, + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 368 + }, + "implemented": false, + "statements": [] }, "implemented": false, - "visibility": 1, - "state_mutability": 6, + "visibility": 4, + "state_mutability": 4, "virtual": false, "modifiers": [], "overrides": [], "parameters": { - "id": 387, + "id": 369, "node_type": 43, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9678, - "length": 64, - "parent_index": 386 + "line": 283, + "column": 21, + "start": 8854, + "end": 8884, + "length": 31, + "parent_index": 368 }, "parameters": [ { - "id": 388, + "id": 370, "node_type": 44, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9623, - "length": 9, - "parent_index": 387 + "line": 283, + "column": 21, + "start": 8854, + "end": 8868, + "length": 15, + "parent_index": 369 }, - "scope": 386, - "name": "a", + "scope": 368, + "name": "spender", "type_name": { - "id": 389, + "id": 371, "node_type": 30, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9621, + "line": 283, + "column": 21, + "start": 8854, + "end": 8860, "length": 7, - "parent_index": 388 + "parent_index": 370 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 390, + "id": 372, "node_type": 44, "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9642, - "length": 9, - "parent_index": 387 + "line": 283, + "column": 38, + "start": 8871, + "end": 8884, + "length": 14, + "parent_index": 369 }, - "scope": 386, - "name": "b", + "scope": 368, + "name": "amount", "type_name": { - "id": 391, + "id": 373, "node_type": 30, "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9640, + "line": 283, + "column": 38, + "start": 8871, + "end": 8877, "length": 7, - "parent_index": 390 + "parent_index": 372 }, "name": "uint256", "referenced_declaration": 0, @@ -31836,216 +31964,175 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - }, - { - "id": 392, - "node_type": 44, - "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9678, - "length": 26, - "parent_index": 387 - }, - "scope": 386, - "name": "errorMessage", - "type_name": { - "id": 393, - "node_type": 30, - "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9658, - "length": 6, - "parent_index": 392 - }, - "name": "string", - "referenced_declaration": 0, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } - }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, { "type_identifier": "t_uint256", "type_string": "uint256" - }, - { - "type_identifier": "t_string", - "type_string": "string" } ] }, "return_parameters": { - "id": 394, + "id": 374, "node_type": 43, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 386 + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 368 }, "parameters": [ { - "id": 395, + "id": 375, "node_type": 44, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 394 + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 374 }, - "scope": 386, + "scope": 368, "name": "", "type_name": { - "id": 396, + "id": 376, "node_type": 30, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 395 + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 375 }, - "name": "uint256", + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } }, "storage_location": 2, "visibility": 1, "state_mutability": 1, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } } ], "parameter_types": [ { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } ] }, - "signature_raw": "mod(uint256, uint256, string)", - "signature": "b44cfd1a", - "scope": 121, + "signature_raw": "approve(address,uint256)", + "signature": "095ea7b3", + "scope": 326, "type_description": { - "type_identifier": "t_function_$_t_uint256$_t_uint256$_t_string$", - "type_string": "function(uint256,uint256,string)" - } + "type_identifier": "t_function_$_t_address$_t_uint256$", + "type_string": "function(address,uint256)" + }, + "text": "functionapprove(addressspender,uint256amount)externalreturns(bool);" }, - "id": 386, + "id": 368, "node_type": 42, "kind": 41, - "name": "mod", + "name": "approve", "implemented": false, - "visibility": 1, - "state_mutability": 6, + "visibility": 4, + "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "b44cfd1a", + "signature": "095ea7b3", "modifiers": [], "overrides": [], "parameters": [ { "ast": { - "id": 388, + "id": 370, "node_type": 44, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9623, - "length": 9, - "parent_index": 387 + "line": 283, + "column": 21, + "start": 8854, + "end": 8868, + "length": 15, + "parent_index": 369 }, - "scope": 386, - "name": "a", + "scope": 368, + "name": "spender", "type_name": { - "id": 389, + "id": 371, "node_type": 30, "src": { - "line": 304, - "column": 8, - "start": 9615, - "end": 9621, + "line": 283, + "column": 21, + "start": 8854, + "end": 8860, "length": 7, - "parent_index": 388 + "parent_index": 370 }, - "name": "uint256", + "name": "address", + "state_mutability": 4, "referenced_declaration": 0, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, "storage_location": 2, "visibility": 1, - "state_mutability": 1, + "state_mutability": 4, "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, - "id": 388, + "id": 370, "node_type": 44, - "name": "a", - "type": "uint256", + "name": "spender", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" }, "indexed": false }, { "ast": { - "id": 390, + "id": 372, "node_type": 44, "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9642, - "length": 9, - "parent_index": 387 + "line": 283, + "column": 38, + "start": 8871, + "end": 8884, + "length": 14, + "parent_index": 369 }, - "scope": 386, - "name": "b", + "scope": 368, + "name": "amount", "type_name": { - "id": 391, + "id": 373, "node_type": 30, "src": { - "line": 305, - "column": 8, - "start": 9634, - "end": 9640, + "line": 283, + "column": 38, + "start": 8871, + "end": 8877, "length": 7, - "parent_index": 390 + "parent_index": 372 }, "name": "uint256", "referenced_declaration": 0, @@ -32062,338 +32149,496 @@ "type_string": "uint256" } }, - "id": 390, + "id": 372, "node_type": 44, - "name": "b", + "name": "amount", "type": "uint256", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" }, "indexed": false + } + ], + "body": { + "ast": { + "id": 377, + "node_type": 46, + "kind": 0, + "src": { + "line": 283, + "column": 4, + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 368 + }, + "implemented": false, + "statements": [] }, + "id": 377, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ { "ast": { - "id": 392, + "id": 375, "node_type": 44, "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9678, - "length": 26, - "parent_index": 387 + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 374 }, - "scope": 386, - "name": "errorMessage", + "scope": 368, + "name": "", "type_name": { - "id": 393, + "id": 376, "node_type": 30, "src": { - "line": 306, - "column": 8, - "start": 9653, - "end": 9658, - "length": 6, - "parent_index": 392 + "line": 283, + "column": 72, + "start": 8905, + "end": 8908, + "length": 4, + "parent_index": 375 }, - "name": "string", + "name": "bool", "referenced_declaration": 0, "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "id": 375, + "node_type": 44, + "name": "", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "indexed": false + } + ], + "src": { + "line": 283, + "column": 4, + "start": 8837, + "end": 8910, + "length": 74, + "parent_index": 326 + } + }, + { + "ast": { + "id": 379, + "name": "transferFrom", + "node_type": 42, + "kind": 41, + "src": { + "line": 294, + "column": 4, + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 326 + }, + "name_location": { + "line": 294, + "column": 13, + "start": 9227, + "end": 9238, + "length": 12, + "parent_index": 379 + }, + "body": { + "id": 390, + "node_type": 46, + "kind": 0, + "src": { + "line": 294, + "column": 4, + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 379 + }, + "implemented": false, + "statements": [] + }, + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "modifiers": [], + "overrides": [], + "parameters": { + "id": 380, + "node_type": 43, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9313, + "length": 65, + "parent_index": 379 + }, + "parameters": [ + { + "id": 381, + "node_type": 44, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9262, + "length": 14, + "parent_index": 380 + }, + "scope": 379, + "name": "sender", + "type_name": { + "id": 382, + "node_type": 30, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9255, + "length": 7, + "parent_index": 381 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 383, + "node_type": 44, + "src": { + "line": 296, + "column": 8, + "start": 9273, + "end": 9289, + "length": 17, + "parent_index": 380 + }, + "scope": 379, + "name": "recipient", + "type_name": { + "id": 384, + "node_type": 30, + "src": { + "line": 296, + "column": 8, + "start": 9273, + "end": 9279, + "length": 7, + "parent_index": 383 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + { + "id": 385, + "node_type": 44, + "src": { + "line": 297, + "column": 8, + "start": 9300, + "end": 9313, + "length": 14, + "parent_index": 380 + }, + "scope": 379, + "name": "amount", + "type_name": { + "id": 386, + "node_type": 30, + "src": { + "line": 297, + "column": 8, + "start": 9300, + "end": 9306, + "length": 7, + "parent_index": 385 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } + } + ], + "parameter_types": [ + { + "type_identifier": "t_address", + "type_string": "address" }, - "storage_location": 2, - "visibility": 1, - "state_mutability": 1, - "type_description": { - "type_identifier": "t_string", - "type_string": "string" + { + "type_identifier": "t_address", + "type_string": "address" + }, + { + "type_identifier": "t_uint256", + "type_string": "uint256" } - }, - "id": 392, - "node_type": 44, - "name": "errorMessage", - "type": "string", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "indexed": false - } - ], - "body": { - "ast": { - "id": 397, - "node_type": 46, - "kind": 0, + ] + }, + "return_parameters": { + "id": 387, + "node_type": 43, "src": { - "line": 307, - "column": 38, - "start": 9718, - "end": 9822, - "length": 105, - "parent_index": 386 + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 379 }, - "implemented": true, - "statements": [ + "parameters": [ { - "id": 398, - "node_type": 59, - "kind": 0, + "id": 388, + "node_type": 44, "src": { - "line": 308, - "column": 8, - "start": 9728, - "end": 9816, - "length": 89, - "parent_index": 121 + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 387 }, - "implemented": false, - "statements": [ - { - "id": 399, - "node_type": 24, - "kind": 24, - "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9779, - "length": 28, - "parent_index": 398 - }, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - }, - { - "type_identifier": "t_string", - "type_string": "string" - } - ], - "arguments": [ - { - "id": 401, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9764, - "length": 5, - "parent_index": 399 - }, - "operator": 7, - "left_expression": { - "id": 402, - "node_type": 16, - "src": { - "line": 309, - "column": 20, - "start": 9760, - "end": 9760, - "length": 1, - "parent_index": 401 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 402, - "is_pure": false - }, - "right_expression": { - "id": 403, - "node_type": 17, - "kind": 49, - "value": "0", - "hex_value": "30", - "src": { - "line": 309, - "column": 24, - "start": 9764, - "end": 9764, - "length": 1, - "parent_index": 401 - }, - "type_description": { - "type_identifier": "t_rational_0_by_1", - "type_string": "int_const 0" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 404, - "node_type": 16, - "src": { - "line": 309, - "column": 27, - "start": 9767, - "end": 9778, - "length": 12, - "parent_index": 399 - }, - "name": "errorMessage", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - }, - "overloaded_declarations": [], - "referenced_declaration": 404, - "is_pure": false, - "argument_types": [ - { - "type_identifier": "t_bool", - "type_string": "bool" - } - ] - } - ], - "expression": { - "id": 400, - "node_type": 16, - "src": { - "line": 309, - "column": 12, - "start": 9752, - "end": 9758, - "length": 7, - "parent_index": 399 - }, - "name": "require", - "type_description": { - "type_identifier": "t_function_$", - "type_string": "function()" - }, - "overloaded_declarations": [], - "referenced_declaration": 0, - "is_pure": true - }, - "type_description": { - "type_identifier": "t_function_$_t_bool$_t_string$", - "type_string": "function(bool,string)" - } + "scope": 379, + "name": "", + "type_name": { + "id": 389, + "node_type": 30, + "src": { + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 388 }, - { - "id": 405, - "node_type": 47, - "src": { - "line": 310, - "column": 12, - "start": 9794, - "end": 9806, - "length": 13, - "parent_index": 386 - }, - "function_return_parameters": 386, - "expression": { - "id": 406, - "is_constant": false, - "is_pure": false, - "node_type": 19, - "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9805, - "length": 5, - "parent_index": 405 - }, - "operator": 5, - "left_expression": { - "id": 407, - "node_type": 16, - "src": { - "line": 310, - "column": 19, - "start": 9801, - "end": 9801, - "length": 1, - "parent_index": 406 - }, - "name": "a", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 407, - "is_pure": false - }, - "right_expression": { - "id": 408, - "node_type": 16, - "src": { - "line": 310, - "column": 23, - "start": 9805, - "end": 9805, - "length": 1, - "parent_index": 406 - }, - "name": "b", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - }, - "overloaded_declarations": [], - "referenced_declaration": 408, - "is_pure": false - }, - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - } + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" } - ] + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + } + ], + "parameter_types": [ + { + "type_identifier": "t_bool", + "type_string": "bool" + } + ] + }, + "signature_raw": "transferFrom(address,address,uint256)", + "signature": "23b872dd", + "scope": 326, + "type_description": { + "type_identifier": "t_function_$_t_address$_t_address$_t_uint256$", + "type_string": "function(address,address,uint256)" + }, + "text": "functiontransferFrom(addresssender,addressrecipient,uint256amount)externalreturns(bool);" + }, + "id": 379, + "node_type": 42, + "kind": 41, + "name": "transferFrom", + "implemented": false, + "visibility": 4, + "state_mutability": 4, + "virtual": false, + "referenced_declaration_id": 0, + "signature": "23b872dd", + "modifiers": [], + "overrides": [], + "parameters": [ + { + "ast": { + "id": 381, + "node_type": 44, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9262, + "length": 14, + "parent_index": 380 + }, + "scope": 379, + "name": "sender", + "type_name": { + "id": 382, + "node_type": 30, + "src": { + "line": 295, + "column": 8, + "start": 9249, + "end": 9255, + "length": 7, + "parent_index": 381 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" } - ] + }, + "id": 381, + "node_type": 44, + "name": "sender", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": false }, - "id": 397, - "node_type": 46, - "kind": 0, - "statements": [] - }, - "return": [ { "ast": { - "id": 395, + "id": 383, "node_type": 44, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, - "length": 7, - "parent_index": 394 + "line": 296, + "column": 8, + "start": 9273, + "end": 9289, + "length": 17, + "parent_index": 380 }, - "scope": 386, - "name": "", + "scope": 379, + "name": "recipient", "type_name": { - "id": 396, + "id": 384, "node_type": 30, "src": { - "line": 307, - "column": 29, - "start": 9709, - "end": 9715, + "line": 296, + "column": 8, + "start": 9273, + "end": 9279, + "length": 7, + "parent_index": 383 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 4, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "id": 383, + "node_type": 44, + "name": "recipient", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "indexed": false + }, + { + "ast": { + "id": 385, + "node_type": 44, + "src": { + "line": 297, + "column": 8, + "start": 9300, + "end": 9313, + "length": 14, + "parent_index": 380 + }, + "scope": 379, + "name": "amount", + "type_name": { + "id": 386, + "node_type": 30, + "src": { + "line": 297, + "column": 8, + "start": 9300, + "end": 9306, "length": 7, - "parent_index": 395 + "parent_index": 385 }, "name": "uint256", "referenced_declaration": 0, @@ -32410,9 +32655,9 @@ "type_string": "uint256" } }, - "id": 395, + "id": 385, "node_type": 44, - "name": "", + "name": "amount", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -32421,13 +32666,86 @@ "indexed": false } ], + "body": { + "ast": { + "id": 390, + "node_type": 46, + "kind": 0, + "src": { + "line": 294, + "column": 4, + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 379 + }, + "implemented": false, + "statements": [] + }, + "id": 390, + "node_type": 46, + "kind": 0, + "statements": [] + }, + "return": [ + { + "ast": { + "id": 388, + "node_type": 44, + "src": { + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 387 + }, + "scope": 379, + "name": "", + "type_name": { + "id": 389, + "node_type": 30, + "src": { + "line": 298, + "column": 24, + "start": 9339, + "end": 9342, + "length": 4, + "parent_index": 388 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "storage_location": 2, + "visibility": 1, + "state_mutability": 1, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "id": 388, + "node_type": 44, + "name": "", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "indexed": false + } + ], "src": { - "line": 303, + "line": 294, "column": 4, - "start": 9593, - "end": 9822, - "length": 230, - "parent_index": 121 + "start": 9218, + "end": 9344, + "length": 127, + "parent_index": 326 } } ] @@ -32444,12 +32762,12 @@ "absolute_path": "TokenSale.sol" }, { - "id": 118, + "id": 31, "name": "SafeMath", "absolute_path": "SafeMath.sol" }, { - "id": 31, + "id": 321, "name": "IERC20", "absolute_path": "IERC20.sol" } @@ -32499,7 +32817,7 @@ "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 118 + "source_unit": 321 }, { "id": 414, @@ -32518,7 +32836,7 @@ "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 118 + "source_unit": 321 }, { "id": 415, @@ -32589,7 +32907,7 @@ "parent_index": 417 }, "name": "SafeMath", - "referenced_declaration": 118 + "referenced_declaration": 31 } }, { @@ -32608,7 +32926,7 @@ }, "scope": 415, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "visibility": 2, @@ -32629,7 +32947,7 @@ "id": 423, "name": "IERC20", "node_type": 52, - "referenced_declaration": 31, + "referenced_declaration": 321, "src": { "line": 324, "column": 4, @@ -32647,9 +32965,9 @@ "parent_index": 422 } }, - "referenced_declaration": 31, + "referenced_declaration": 321, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, @@ -33045,12 +33363,13 @@ }, "name": "token", "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "overloaded_declarations": [], "referenced_declaration": 421, - "is_pure": false + "is_pure": false, + "text": "token" }, "right_expression": { "id": 449, @@ -33089,7 +33408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 451, - "is_pure": false + "is_pure": false, + "text": "_tokenAddress" } ], "expression": { @@ -33110,7 +33430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -33118,14 +33439,15 @@ } }, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" - } + }, + "text": "token=IERC20(_tokenAddress);" }, { "id": 452, @@ -33168,7 +33490,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 455, @@ -33211,14 +33534,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_address", @@ -33228,7 +33553,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "owner=msg.sender;" }, { "id": 457, @@ -33271,7 +33597,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "tokenPrice" }, "right_expression": { "id": 460, @@ -33291,7 +33618,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "_tokenPrice" }, "type_description": { "type_identifier": "t_uint256", @@ -33301,7 +33629,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenPrice=_tokenPrice;" } ] } @@ -33438,7 +33767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "tokenPrice" } ], "expression": { @@ -33482,14 +33812,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "_amount" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_amount.mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -33542,7 +33874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 479, @@ -33585,7 +33918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -33597,7 +33931,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 481, @@ -33627,7 +33962,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" } ], "expression": { @@ -33666,19 +34002,21 @@ }, "name": "token", "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "overloaded_declarations": [], "referenced_declaration": 421, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -33738,14 +34076,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 485, @@ -33765,7 +34105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 485, - "is_pure": false + "is_pure": false, + "text": "_amount" } ], "expression": { @@ -33786,7 +34127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 431, - "is_pure": false + "is_pure": false, + "text": "TokensPurchased" } } ] @@ -33876,7 +34218,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbuyTokens(uint256_amount)external{uint256totalPrice=_amount.mul(tokenPrice);token.transferFrom(owner,msg.sender,_amount);emitTokensPurchased(msg.sender,_amount);}" } ], "linearized_base_contracts": [ @@ -33915,12 +34258,12 @@ "absolute_path": "TokenSale.sol" }, { - "id": 118, + "id": 31, "name": "SafeMath", "absolute_path": "SafeMath.sol" }, { - "id": 31, + "id": 321, "name": "IERC20", "absolute_path": "IERC20.sol" } @@ -33944,15 +34287,15 @@ "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 118 + "source_unit": 321 }, "id": 413, "node_type": 29, "absolute_path": "IERC20.sol", "file": "./IERC20.sol", "unit_alias": "", - "source_unit_id": 118, - "contract_id": 121 + "source_unit_id": 321, + "contract_id": 326 }, { "ast": { @@ -33972,15 +34315,15 @@ "unit_alias": "", "as": "", "unit_aliases": [], - "source_unit": 118 + "source_unit": 321 }, "id": 414, "node_type": 29, "absolute_path": "SafeMath.sol", "file": "./SafeMath.sol", "unit_alias": "", - "source_unit_id": 118, - "contract_id": 121 + "source_unit_id": 321, + "contract_id": 326 } ], "pragmas": [ @@ -34043,7 +34386,7 @@ }, "scope": 415, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "visibility": 2, @@ -34064,7 +34407,7 @@ "id": 423, "name": "IERC20", "node_type": 52, - "referenced_declaration": 31, + "referenced_declaration": 321, "src": { "line": 324, "column": 4, @@ -34082,9 +34425,9 @@ "parent_index": 422 } }, - "referenced_declaration": 31, + "referenced_declaration": 321, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, @@ -34100,7 +34443,7 @@ "state_mutability": 1, "type": "contract IERC20", "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, @@ -34640,12 +34983,13 @@ }, "name": "token", "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "overloaded_declarations": [], "referenced_declaration": 421, - "is_pure": false + "is_pure": false, + "text": "token" }, "right_expression": { "id": 449, @@ -34684,7 +35028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 451, - "is_pure": false + "is_pure": false, + "text": "_tokenAddress" } ], "expression": { @@ -34705,7 +35050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IERC20" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -34713,14 +35059,15 @@ } }, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" - } + }, + "text": "token=IERC20(_tokenAddress);" }, { "id": 452, @@ -34763,7 +35110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 425, - "is_pure": false + "is_pure": false, + "text": "owner" }, "right_expression": { "id": 455, @@ -34806,14 +35154,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "type_description": { "type_identifier": "t_address", @@ -34823,7 +35173,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "owner=msg.sender;" }, { "id": 457, @@ -34866,7 +35217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 428, - "is_pure": false + "is_pure": false, + "text": "tokenPrice" }, "right_expression": { "id": 460, @@ -34886,7 +35238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 460, - "is_pure": false + "is_pure": false, + "text": "_tokenPrice" }, "type_description": { "type_identifier": "t_uint256", @@ -34896,7 +35249,8 @@ "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "tokenPrice=_tokenPrice;" } ] } @@ -35149,7 +35503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "tokenPrice" } ], "expression": { @@ -35193,14 +35548,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "_amount" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_amount.mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -35253,7 +35610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 479, @@ -35296,7 +35654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -35308,7 +35667,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 481, @@ -35338,7 +35698,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" } ], "expression": { @@ -35377,19 +35738,21 @@ }, "name": "token", "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "overloaded_declarations": [], "referenced_declaration": 421, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -35449,14 +35812,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 485, @@ -35476,7 +35841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 485, - "is_pure": false + "is_pure": false, + "text": "_amount" } ], "expression": { @@ -35497,7 +35863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 431, - "is_pure": false + "is_pure": false, + "text": "TokensPurchased" } } ] @@ -35587,7 +35954,8 @@ "type_description": { "type_identifier": "t_function_$_t_uint256$", "type_string": "function(uint256)" - } + }, + "text": "functionbuyTokens(uint256_amount)external{uint256totalPrice=_amount.mul(tokenPrice);token.transferFrom(owner,msg.sender,_amount);emitTokensPurchased(msg.sender,_amount);}" }, "id": 462, "node_type": 42, @@ -35765,7 +36133,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "tokenPrice" } ], "expression": { @@ -35809,14 +36178,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 473, - "is_pure": false + "is_pure": false, + "text": "_amount" }, "member_name": "mul", "argument_types": [], "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" - } + }, + "text": "_amount.mul" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -35869,7 +36240,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, { "id": 479, @@ -35912,7 +36284,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [ @@ -35924,7 +36297,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 481, @@ -35954,7 +36328,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_amount" } ], "expression": { @@ -35993,19 +36368,21 @@ }, "name": "token", "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" }, "overloaded_declarations": [], "referenced_declaration": 421, - "is_pure": false + "is_pure": false, + "text": "token" }, "member_name": "transferFrom", "argument_types": [], "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" - } + }, + "text": "token.transferFrom" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_uint256$", @@ -36065,14 +36442,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, { "id": 485, @@ -36092,7 +36471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 485, - "is_pure": false + "is_pure": false, + "text": "_amount" } ], "expression": { @@ -36113,7 +36493,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 431, - "is_pure": false + "is_pure": false, + "text": "TokensPurchased" } } ] @@ -36168,12 +36549,12 @@ ], "links": [ { - "location": "https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729", + "location": "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522", "is_social": true, "network": "github" }, { - "location": "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522", + "location": "https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729", "is_social": true, "network": "github" } diff --git a/data/tests/ir/TokenSale.ir.proto.json b/data/tests/ir/TokenSale.ir.proto.json index f42f20c9..ace7dc85 100644 --- a/data/tests/ir/TokenSale.ir.proto.json +++ b/data/tests/ir/TokenSale.ir.proto.json @@ -2,25 +2,22 @@ "node_type": 80, "entry_contract_id": 415, "entry_contract_name": "TokenSale", - "contract_types": [ - "token" - ], "contracts_count": 3, "contracts": [ { - "id": 35, + "id": 33, "node_type": 35, - "kind": 38, + "kind": 37, "source_unit_id": 31, - "name": "IERC20", + "name": "SafeMath", "license": "MIT", "language": "solidity", - "absolute_path": "IERC20.sol", + "absolute_path": "SafeMath.sol", "symbols": [ { "id": 31, - "name": "IERC20", - "absolute_path": "IERC20.sol" + "name": "SafeMath", + "absolute_path": "SafeMath.sol" } ], "pragmas": [ @@ -41,36 +38,54 @@ "text": "pragma solidity ^0.8.0;" } ], - "events": [ + "functions": [ { - "id": 101, - "node_type": 57, - "name": "Transfer", + "id": 35, + "node_type": 42, + "kind": 41, + "name": "tryAdd", + "visibility": 1, + "state_mutability": 6, "parameters": [ { - "id": 103, + "id": 37, "node_type": 44, - "name": "from", - "type": "address", + "name": "a", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 105, + "id": 39, "node_type": 44, - "name": "to", - "type": "address", + "name": "b", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "body": { + "id": 46, + "node_type": 46 + }, + "signature": "884557bf", + "return": [ + { + "id": 42, + "node_type": 44, + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" } }, { - "id": 107, + "id": 44, "node_type": 44, - "name": "value", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -80,34 +95,52 @@ ] }, { - "id": 110, - "node_type": 57, - "name": "Approval", + "id": 64, + "node_type": 42, + "kind": 41, + "name": "trySub", + "visibility": 1, + "state_mutability": 6, "parameters": [ { - "id": 112, + "id": 66, "node_type": 44, - "name": "owner", - "type": "address", + "name": "a", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 114, + "id": 68, "node_type": 44, - "name": "spender", - "type": "address", + "name": "b", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + } + ], + "body": { + "id": 75, + "node_type": 46 + }, + "signature": "a29962b1", + "return": [ + { + "id": 71, + "node_type": 44, + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" } }, { - "id": 116, + "id": 73, "node_type": 44, - "name": "value", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -115,20 +148,29 @@ } } ] - } - ], - "functions": [ + }, { - "id": 37, + "id": 89, "node_type": 42, "kind": 41, - "name": "totalSupply", - "visibility": 4, - "state_mutability": 5, + "name": "tryMul", + "visibility": 1, + "state_mutability": 6, "parameters": [ { - "id": 39, + "id": 91, "node_type": 44, + "name": "a", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 93, + "node_type": 44, + "name": "b", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -137,13 +179,22 @@ } ], "body": { - "id": 44, + "id": 100, "node_type": 46 }, - "signature": "bd85b039", + "signature": "6281efa4", "return": [ { - "id": 42, + "id": 96, + "node_type": 44, + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 98, "node_type": 44, "type": "uint256", "type_description": { @@ -154,32 +205,51 @@ ] }, { - "id": 46, + "id": 125, "node_type": 42, "kind": 41, - "name": "balanceOf", - "visibility": 4, - "state_mutability": 5, + "name": "tryDiv", + "visibility": 1, + "state_mutability": 6, "parameters": [ { - "id": 48, + "id": 127, "node_type": 44, - "name": "account", - "type": "address", + "name": "a", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + { + "id": 129, + "node_type": 44, + "name": "b", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "body": { - "id": 53, + "id": 136, "node_type": 46 }, - "signature": "70a08231", + "signature": "736ecb18", "return": [ { - "id": 51, + "id": 132, + "node_type": 44, + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + { + "id": 134, "node_type": 44, "type": "uint256", "type_description": { @@ -190,27 +260,27 @@ ] }, { - "id": 55, + "id": 150, "node_type": 42, "kind": 41, - "name": "transfer", - "visibility": 4, - "state_mutability": 4, + "name": "tryMod", + "visibility": 1, + "state_mutability": 6, "parameters": [ { - "id": 57, + "id": 152, "node_type": 44, - "name": "recipient", - "type": "address", + "name": "a", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 59, + "id": 154, "node_type": 44, - "name": "amount", + "name": "b", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -219,59 +289,69 @@ } ], "body": { - "id": 64, + "id": 161, "node_type": 46 }, - "signature": "9d61d234", + "signature": "38dc0867", "return": [ { - "id": 62, + "id": 157, "node_type": 44, "type": "bool", "type_description": { "type_identifier": "t_bool", "type_string": "bool" } + }, + { + "id": 159, + "node_type": 44, + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } } ] }, { - "id": 66, + "id": 175, "node_type": 42, "kind": 41, - "name": "allowance", - "visibility": 4, - "state_mutability": 5, + "name": "add", + "implemented": true, + "visibility": 1, + "state_mutability": 6, "parameters": [ { - "id": 68, + "id": 177, "node_type": 44, - "name": "owner", - "type": "address", + "name": "a", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 70, + "id": 179, "node_type": 44, - "name": "spender", - "type": "address", + "name": "b", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "body": { - "id": 75, + "id": 184, "node_type": 46 }, - "signature": "69bfed33", + "signature": "771602f7", "return": [ { - "id": 73, + "id": 182, "node_type": 44, "type": "uint256", "type_description": { @@ -282,27 +362,28 @@ ] }, { - "id": 77, + "id": 190, "node_type": 42, "kind": 41, - "name": "approve", - "visibility": 4, - "state_mutability": 4, + "name": "sub", + "implemented": true, + "visibility": 1, + "state_mutability": 6, "parameters": [ { - "id": 79, + "id": 192, "node_type": 44, - "name": "spender", - "type": "address", + "name": "a", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 81, + "id": 194, "node_type": 44, - "name": "amount", + "name": "b", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -311,54 +392,45 @@ } ], "body": { - "id": 86, + "id": 199, "node_type": 46 }, - "signature": "8b069f2a", + "signature": "b67d77c5", "return": [ { - "id": 84, + "id": 197, "node_type": 44, - "type": "bool", + "type": "uint256", "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ] }, { - "id": 88, + "id": 205, "node_type": 42, "kind": 41, - "name": "transferFrom", - "visibility": 4, - "state_mutability": 4, + "name": "mul", + "implemented": true, + "visibility": 1, + "state_mutability": 6, "parameters": [ { - "id": 90, - "node_type": 44, - "name": "sender", - "type": "address", - "type_description": { - "type_identifier": "t_address", - "type_string": "address" - } - }, - { - "id": 92, + "id": 207, "node_type": 44, - "name": "recipient", - "type": "address", + "name": "a", + "type": "uint256", "type_description": { - "type_identifier": "t_address", - "type_string": "address" + "type_identifier": "t_uint256", + "type_string": "uint256" } }, { - "id": 94, + "id": 209, "node_type": 44, - "name": "amount", + "name": "b", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -367,69 +439,33 @@ } ], "body": { - "id": 99, + "id": 214, "node_type": 46 }, - "signature": "b642fe57", + "signature": "c8a4ac9c", "return": [ { - "id": 97, + "id": 212, "node_type": 44, - "type": "bool", + "type": "uint256", "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ] - } - ] - }, - { - "id": 121, - "node_type": 35, - "kind": 37, - "source_unit_id": 118, - "name": "SafeMath", - "license": "MIT", - "language": "solidity", - "absolute_path": "SafeMath.sol", - "symbols": [ - { - "id": 118, - "name": "SafeMath", - "absolute_path": "SafeMath.sol" - } - ], - "pragmas": [ - { - "id": 120, - "node_type": 10, - "literals": [ - "pragma", - "solidity", - "^", - "0", - ".", - "8", - ".", - "0", - ";" - ], - "text": "pragma solidity ^0.8.0;" - } - ], - "functions": [ + }, { - "id": 123, + "id": 220, "node_type": 42, "kind": 41, - "name": "tryAdd", + "name": "div", + "implemented": true, "visibility": 1, "state_mutability": 6, "parameters": [ { - "id": 125, + "id": 222, "node_type": 44, "name": "a", "type": "uint256", @@ -439,7 +475,7 @@ } }, { - "id": 127, + "id": 224, "node_type": 44, "name": "b", "type": "uint256", @@ -450,22 +486,13 @@ } ], "body": { - "id": 134, + "id": 229, "node_type": 46 }, - "signature": "d730d6d4", + "signature": "a391c15b", "return": [ { - "id": 130, - "node_type": 44, - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 132, + "id": 227, "node_type": 44, "type": "uint256", "type_description": { @@ -476,15 +503,16 @@ ] }, { - "id": 152, + "id": 235, "node_type": 42, "kind": 41, - "name": "trySub", + "name": "mod", + "implemented": true, "visibility": 1, "state_mutability": 6, "parameters": [ { - "id": 154, + "id": 237, "node_type": 44, "name": "a", "type": "uint256", @@ -494,7 +522,7 @@ } }, { - "id": 156, + "id": 239, "node_type": 44, "name": "b", "type": "uint256", @@ -505,22 +533,13 @@ } ], "body": { - "id": 163, + "id": 244, "node_type": 46 }, - "signature": "9f7e8c62", + "signature": "f43f523a", "return": [ { - "id": 159, - "node_type": 44, - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 161, + "id": 242, "node_type": 44, "type": "uint256", "type_description": { @@ -531,15 +550,15 @@ ] }, { - "id": 177, + "id": 250, "node_type": 42, "kind": 41, - "name": "tryMul", + "name": "sub", "visibility": 1, "state_mutability": 6, "parameters": [ { - "id": 179, + "id": 252, "node_type": 44, "name": "a", "type": "uint256", @@ -549,7 +568,7 @@ } }, { - "id": 181, + "id": 254, "node_type": 44, "name": "b", "type": "uint256", @@ -557,25 +576,26 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + }, + { + "id": 256, + "node_type": 44, + "name": "errorMessage", + "type": "string", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } } ], "body": { - "id": 188, + "id": 261, "node_type": 46 }, - "signature": "72cd6357", + "signature": "e31bdc0a", "return": [ { - "id": 184, - "node_type": 44, - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 186, + "id": 259, "node_type": 44, "type": "uint256", "type_description": { @@ -586,15 +606,15 @@ ] }, { - "id": 213, + "id": 274, "node_type": 42, "kind": 41, - "name": "tryDiv", + "name": "div", "visibility": 1, "state_mutability": 6, "parameters": [ { - "id": 215, + "id": 276, "node_type": 44, "name": "a", "type": "uint256", @@ -604,7 +624,7 @@ } }, { - "id": 217, + "id": 278, "node_type": 44, "name": "b", "type": "uint256", @@ -612,25 +632,26 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + }, + { + "id": 280, + "node_type": 44, + "name": "errorMessage", + "type": "string", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } } ], "body": { - "id": 224, + "id": 285, "node_type": 46 }, - "signature": "8b61a525", + "signature": "b745d336", "return": [ { - "id": 220, - "node_type": 44, - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 222, + "id": 283, "node_type": 44, "type": "uint256", "type_description": { @@ -641,15 +662,15 @@ ] }, { - "id": 238, + "id": 298, "node_type": 42, "kind": 41, - "name": "tryMod", + "name": "mod", "visibility": 1, "state_mutability": 6, "parameters": [ { - "id": 240, + "id": 300, "node_type": 44, "name": "a", "type": "uint256", @@ -659,7 +680,7 @@ } }, { - "id": 242, + "id": 302, "node_type": 44, "name": "b", "type": "uint256", @@ -667,25 +688,26 @@ "type_identifier": "t_uint256", "type_string": "uint256" } + }, + { + "id": 304, + "node_type": 44, + "name": "errorMessage", + "type": "string", + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } } ], "body": { - "id": 249, + "id": 309, "node_type": 46 }, - "signature": "4ed783cc", + "signature": "71af23e8", "return": [ { - "id": 245, - "node_type": 44, - "type": "bool", - "type_description": { - "type_identifier": "t_bool", - "type_string": "bool" - } - }, - { - "id": 247, + "id": 307, "node_type": 44, "type": "uint256", "type_description": { @@ -694,46 +716,73 @@ } } ] - }, + } + ] + }, + { + "id": 326, + "node_type": 35, + "kind": 38, + "source_unit_id": 321, + "name": "IERC20", + "license": "MIT", + "language": "solidity", + "absolute_path": "IERC20.sol", + "symbols": [ + { + "id": 321, + "name": "IERC20", + "absolute_path": "IERC20.sol" + } + ], + "pragmas": [ + { + "id": 323, + "node_type": 10, + "literals": [ + "pragma", + "solidity", + "^", + "0", + ".", + "8", + ".", + "0", + ";" + ], + "text": "pragma solidity ^0.8.0;" + } + ], + "events": [ { - "id": 263, - "node_type": 42, - "kind": 41, - "name": "add", - "implemented": true, - "visibility": 1, - "state_mutability": 6, + "id": 392, + "node_type": 57, + "name": "Transfer", "parameters": [ { - "id": 265, + "id": 394, "node_type": 44, - "name": "a", - "type": "uint256", + "name": "from", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 267, + "id": 396, "node_type": 44, - "name": "b", - "type": "uint256", + "name": "to", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } - } - ], - "body": { - "id": 272, - "node_type": 46 - }, - "signature": "f31e4d28", - "return": [ + }, { - "id": 270, + "id": 398, "node_type": 44, + "name": "value", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -743,44 +792,34 @@ ] }, { - "id": 278, - "node_type": 42, - "kind": 41, - "name": "sub", - "implemented": true, - "visibility": 1, - "state_mutability": 6, + "id": 401, + "node_type": 57, + "name": "Approval", "parameters": [ { - "id": 280, + "id": 403, "node_type": 44, - "name": "a", - "type": "uint256", + "name": "owner", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 282, + "id": 405, "node_type": 44, - "name": "b", - "type": "uint256", + "name": "spender", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } - } - ], - "body": { - "id": 287, - "node_type": 46 - }, - "signature": "bf3b2b28", - "return": [ + }, { - "id": 285, + "id": 407, "node_type": 44, + "name": "value", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -788,30 +827,20 @@ } } ] - }, + } + ], + "functions": [ { - "id": 293, + "id": 328, "node_type": 42, "kind": 41, - "name": "mul", - "implemented": true, - "visibility": 1, - "state_mutability": 6, + "name": "totalSupply", + "visibility": 4, + "state_mutability": 5, "parameters": [ { - "id": 295, - "node_type": 44, - "name": "a", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 297, + "id": 330, "node_type": 44, - "name": "b", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -820,13 +849,13 @@ } ], "body": { - "id": 302, + "id": 335, "node_type": 46 }, - "signature": "cd3ef6fa", + "signature": "bd85b039", "return": [ { - "id": 300, + "id": 333, "node_type": 44, "type": "uint256", "type_description": { @@ -837,43 +866,32 @@ ] }, { - "id": 308, + "id": 337, "node_type": 42, "kind": 41, - "name": "div", - "implemented": true, - "visibility": 1, - "state_mutability": 6, + "name": "balanceOf", + "visibility": 4, + "state_mutability": 5, "parameters": [ { - "id": 310, - "node_type": 44, - "name": "a", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 312, + "id": 339, "node_type": 44, - "name": "b", - "type": "uint256", + "name": "account", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } } ], "body": { - "id": 317, + "id": 344, "node_type": 46 }, - "signature": "4530da25", + "signature": "70a08231", "return": [ { - "id": 315, + "id": 342, "node_type": 44, "type": "uint256", "type_description": { @@ -884,28 +902,27 @@ ] }, { - "id": 323, + "id": 346, "node_type": 42, "kind": 41, - "name": "mod", - "implemented": true, - "visibility": 1, - "state_mutability": 6, + "name": "transfer", + "visibility": 4, + "state_mutability": 4, "parameters": [ { - "id": 325, + "id": 348, "node_type": 44, - "name": "a", - "type": "uint256", + "name": "recipient", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 327, + "id": 350, "node_type": 44, - "name": "b", + "name": "amount", "type": "uint256", "type_description": { "type_identifier": "t_uint256", @@ -914,69 +931,59 @@ } ], "body": { - "id": 332, + "id": 355, "node_type": 46 }, - "signature": "1130353e", + "signature": "a9059cbb", "return": [ { - "id": 330, + "id": 353, "node_type": 44, - "type": "uint256", + "type": "bool", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } } ] }, { - "id": 338, + "id": 357, "node_type": 42, "kind": 41, - "name": "sub", - "visibility": 1, - "state_mutability": 6, + "name": "allowance", + "visibility": 4, + "state_mutability": 5, "parameters": [ { - "id": 340, - "node_type": 44, - "name": "a", - "type": "uint256", - "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" - } - }, - { - "id": 342, + "id": 359, "node_type": 44, - "name": "b", - "type": "uint256", + "name": "owner", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 344, + "id": 361, "node_type": 44, - "name": "errorMessage", - "type": "string", + "name": "spender", + "type": "address", "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_address", + "type_string": "address" } } ], "body": { - "id": 349, + "id": 366, "node_type": 46 }, - "signature": "2a4c5531", + "signature": "dd62ed3e", "return": [ { - "id": 347, + "id": 364, "node_type": 44, "type": "uint256", "type_description": { @@ -987,113 +994,103 @@ ] }, { - "id": 362, + "id": 368, "node_type": 42, "kind": 41, - "name": "div", - "visibility": 1, - "state_mutability": 6, + "name": "approve", + "visibility": 4, + "state_mutability": 4, "parameters": [ { - "id": 364, + "id": 370, "node_type": 44, - "name": "a", - "type": "uint256", + "name": "spender", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 366, + "id": 372, "node_type": 44, - "name": "b", + "name": "amount", "type": "uint256", "type_description": { "type_identifier": "t_uint256", "type_string": "uint256" } - }, - { - "id": 368, - "node_type": 44, - "name": "errorMessage", - "type": "string", - "type_description": { - "type_identifier": "t_string", - "type_string": "string" - } } ], "body": { - "id": 373, + "id": 377, "node_type": 46 }, - "signature": "2ed1535b", + "signature": "095ea7b3", "return": [ { - "id": 371, + "id": 375, "node_type": 44, - "type": "uint256", + "type": "bool", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } } ] }, { - "id": 386, + "id": 379, "node_type": 42, "kind": 41, - "name": "mod", - "visibility": 1, - "state_mutability": 6, + "name": "transferFrom", + "visibility": 4, + "state_mutability": 4, "parameters": [ { - "id": 388, + "id": 381, "node_type": 44, - "name": "a", - "type": "uint256", + "name": "sender", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 390, + "id": 383, "node_type": 44, - "name": "b", - "type": "uint256", + "name": "recipient", + "type": "address", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_address", + "type_string": "address" } }, { - "id": 392, + "id": 385, "node_type": 44, - "name": "errorMessage", - "type": "string", + "name": "amount", + "type": "uint256", "type_description": { - "type_identifier": "t_string", - "type_string": "string" + "type_identifier": "t_uint256", + "type_string": "uint256" } } ], "body": { - "id": 397, + "id": 390, "node_type": 46 }, - "signature": "b44cfd1a", + "signature": "23b872dd", "return": [ { - "id": 395, + "id": 388, "node_type": 44, - "type": "uint256", + "type": "bool", "type_description": { - "type_identifier": "t_uint256", - "type_string": "uint256" + "type_identifier": "t_bool", + "type_string": "bool" } } ] @@ -1116,12 +1113,12 @@ "absolute_path": "TokenSale.sol" }, { - "id": 118, + "id": 31, "name": "SafeMath", "absolute_path": "SafeMath.sol" }, { - "id": 31, + "id": 321, "name": "IERC20", "absolute_path": "IERC20.sol" } @@ -1130,16 +1127,16 @@ { "id": 413, "node_type": 29, - "source_unit_id": 118, - "contract_id": 121, + "source_unit_id": 321, + "contract_id": 326, "absolute_path": "IERC20.sol", "file": "./IERC20.sol" }, { "id": 414, "node_type": 29, - "source_unit_id": 118, - "contract_id": 121, + "source_unit_id": 321, + "contract_id": 326, "absolute_path": "SafeMath.sol", "file": "./SafeMath.sol" } @@ -1173,7 +1170,7 @@ "state_mutability": 1, "type": "contract IERC20", "type_description": { - "type_identifier": "t_contract$_IERC20_$31", + "type_identifier": "t_contract$_IERC20_$321", "type_string": "contract IERC20" } }, diff --git a/data/tests/ir/TransparentUpgradeableProxy.ir.json b/data/tests/ir/TransparentUpgradeableProxy.ir.json index c82ee84c..3e194fd6 100644 --- a/data/tests/ir/TransparentUpgradeableProxy.ir.json +++ b/data/tests/ir/TransparentUpgradeableProxy.ir.json @@ -656,7 +656,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, { @@ -718,7 +719,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, { @@ -962,7 +964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, { @@ -1145,7 +1148,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, { @@ -1950,7 +1954,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalviewreturns(address);" } ], "linearized_base_contracts": [ @@ -4159,7 +4164,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_delegate(addressimplementation)internalvirtual{assembly{calldatacopy(0,0,calldatasize())letresult:=delegatecall(gas(),implementation,0,calldatasize(),0,0)returndatacopy(0,0,returndatasize())switchresultcase0{revert(0,returndatasize())}default{return(0,returndatasize())}}}" }, { "id": 201, @@ -4329,7 +4335,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualreturns(address);" }, { "id": 210, @@ -4398,7 +4405,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -4456,7 +4464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -4482,7 +4491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_delegate" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -4531,7 +4541,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_fallback()internalvirtual{_beforeFallback();_delegate(_implementation());}" }, { "id": 221, @@ -4624,7 +4635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -4726,7 +4738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -4814,7 +4827,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_beforeFallback()internalvirtual{}" } ], "linearized_base_contracts": [ @@ -5157,7 +5171,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 253, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 268, @@ -5179,7 +5194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -5320,7 +5336,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){uint256size;assembly{size:=extcodesize(account)}returnsize\u003e0;}" }, { "id": 270, @@ -5454,7 +5471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -5500,7 +5518,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -5512,7 +5531,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 286, @@ -5532,7 +5552,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 286, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -5565,7 +5586,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -5586,7 +5608,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5690,7 +5713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -5746,14 +5770,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -5807,7 +5833,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 288, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 299, @@ -5835,7 +5862,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -5856,7 +5884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -5988,13 +6017,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 301, @@ -6088,7 +6118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 315, @@ -6114,7 +6145,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 316, @@ -6146,7 +6178,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -6167,7 +6200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -6345,13 +6379,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 318, @@ -6449,7 +6484,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 333, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 334, @@ -6475,7 +6511,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 335, @@ -6507,7 +6544,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 336, @@ -6541,7 +6579,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -6562,7 +6601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -6783,13 +6823,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 338, @@ -6887,7 +6928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 354, @@ -6913,7 +6955,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 355, @@ -6943,7 +6986,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 356, @@ -6979,7 +7023,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -7000,7 +7045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -7221,13 +7267,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 358, @@ -7361,7 +7408,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -7407,7 +7455,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7419,7 +7468,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 380, @@ -7439,7 +7489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -7472,7 +7523,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -7493,7 +7545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -7560,7 +7613,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -7581,7 +7635,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -7614,7 +7669,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -7635,7 +7691,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -7784,7 +7841,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -7840,14 +7898,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 396, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -7917,7 +7977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 388, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 402, @@ -7943,7 +8004,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 403, @@ -7973,7 +8035,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -7994,7 +8057,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -8258,13 +8322,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 405, @@ -8358,7 +8423,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 418, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 419, @@ -8384,7 +8450,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 420, @@ -8416,7 +8483,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -8437,7 +8505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -8615,13 +8684,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 422, @@ -8718,7 +8788,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 438, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -8739,7 +8810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -8772,7 +8844,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -8793,7 +8866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -8942,7 +9016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 448, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -8986,14 +9061,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -9058,7 +9135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 440, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 453, @@ -9084,7 +9162,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 454, @@ -9114,7 +9193,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -9135,7 +9215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -9356,13 +9437,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 456, @@ -9456,7 +9538,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 470, @@ -9482,7 +9565,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 471, @@ -9514,7 +9598,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -9535,7 +9620,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -9713,13 +9799,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 473, @@ -9816,7 +9903,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -9837,7 +9925,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -9870,7 +9959,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -9891,7 +9981,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -10040,7 +10131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -10084,14 +10176,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 498, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -10156,7 +10250,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 504, @@ -10182,7 +10277,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 505, @@ -10212,7 +10308,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -10233,7 +10330,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -10454,13 +10552,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 507, @@ -10526,7 +10625,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 520, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 521, @@ -10572,7 +10672,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 523, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -10790,13 +10891,14 @@ } ] }, - "signature_raw": "_verifyCallResult(bool, bytes, string)", - "signature": "2ce6cb58", + "signature_raw": "_verifyCallResult(bool,bytes,string)", + "signature": "18c2c6a2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "function_verifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)privatepurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ @@ -11434,7 +11536,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetAddressSlot(bytes32slot)internalpurereturns(AddressSlotstorager){assembly{r.slot:=slot}}" }, { "id": 564, @@ -11719,7 +11822,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBooleanSlot(bytes32slot)internalpurereturns(BooleanSlotstorager){assembly{r.slot:=slot}}" }, { "id": 581, @@ -12004,7 +12108,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBytes32Slot(bytes32slot)internalpurereturns(Bytes32Slotstorager){assembly{r.slot:=slot}}" }, { "id": 598, @@ -12289,7 +12394,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetUint256Slot(bytes32slot)internalpurereturns(Uint256Slotstorager){assembly{r.slot:=slot}}" } ], "linearized_base_contracts": [ @@ -12503,7 +12609,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, { @@ -12566,7 +12673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, { @@ -12755,7 +12863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -12799,14 +12908,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -12818,7 +12929,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" } } ] @@ -12955,7 +13067,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getImplementation()internalviewreturns(address){returnStorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;}" }, { "id": 653, @@ -13052,7 +13165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 664, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13096,14 +13210,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13136,7 +13252,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new implementation is not a contract\"" } ], "expression": { @@ -13157,7 +13274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -13247,7 +13365,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -13291,14 +13410,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -13310,7 +13431,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" }, "right_expression": { "id": 673, @@ -13330,7 +13452,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -13340,7 +13463,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;" } ] }, @@ -13430,7 +13554,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"ERC1967: new implementation is not a contract\");StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;}" }, { "id": 675, @@ -13504,7 +13629,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13525,7 +13651,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13562,7 +13689,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 685, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13583,7 +13711,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -13674,7 +13803,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_upgradeTo(addressnewImplementation)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { "id": 688, @@ -13748,7 +13878,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 700, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13769,7 +13900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -13806,7 +13938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -13827,7 +13960,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } }, { @@ -13910,14 +14044,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 708, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 709, @@ -13939,7 +14075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -13964,7 +14101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 710, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -14026,7 +14164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 716, @@ -14052,7 +14191,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -14096,14 +14236,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -14281,13 +14423,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCall(address, bytes, bool)", - "signature": "b2f571b5", + "signature_raw": "_upgradeToAndCall(address,bytes,bool)", + "signature": "267b04ae", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCall(addressnewImplementation,bytesmemorydata,boolforceCall)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}}" }, { "id": 718, @@ -14417,7 +14560,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -14462,7 +14606,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 735, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -14483,7 +14628,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -14570,14 +14716,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 741, @@ -14599,7 +14747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -14624,7 +14773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 742, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -14686,7 +14836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 747, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 748, @@ -14712,7 +14863,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -14756,14 +14908,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -14891,7 +15045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ROLLBACK_SLOT" } ], "expression": { @@ -14935,14 +15090,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getBooleanSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getBooleanSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -15020,14 +15177,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -15112,14 +15271,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 766, @@ -15141,7 +15302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -15151,7 +15313,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=true;" }, { "id": 767, @@ -15194,7 +15357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 771, @@ -15239,7 +15403,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"upgradeTo(address)\"" }, { "id": 775, @@ -15265,7 +15430,8 @@ "type_identifier": "t_string_literal", "type_string": "literal_string \"upgradeTo(address)\"" } - ] + ], + "text": "oldImplementation" } ], "expression": { @@ -15309,14 +15475,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSignature", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSignature" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -15365,14 +15533,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -15443,14 +15613,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 780, @@ -15472,7 +15644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -15482,7 +15655,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=false;" }, { "id": 781, @@ -15539,7 +15713,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 728, - "is_pure": false + "is_pure": false, + "text": "oldImplementation" }, "right_expression": { "id": 785, @@ -15573,7 +15748,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -15611,7 +15787,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967Upgrade: upgrade breaks further upgrades\"" } ], "expression": { @@ -15632,7 +15809,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -15676,7 +15854,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 790, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -15697,7 +15876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -15734,7 +15914,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -15755,7 +15936,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -15929,13 +16111,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCallSecure(address, bytes, bool)", - "signature": "1d5980d3", + "signature_raw": "_upgradeToAndCallSecure(address,bytes,bool)", + "signature": "ce2ea66a", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCallSecure(addressnewImplementation,bytesmemorydata,boolforceCall)internal{addressoldImplementation=_getImplementation();_setImplementation(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}StorageSlot.BooleanSlotstoragerollbackTesting=StorageSlot.getBooleanSlot(_ROLLBACK_SLOT);if(!rollbackTesting.value){rollbackTesting.value=true;Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(\"upgradeTo(address)\",oldImplementation));rollbackTesting.value=false;require(oldImplementation==_getImplementation(),\"ERC1967Upgrade: upgrade breaks further upgrades\");_setImplementation(newImplementation);emitUpgraded(newImplementation);}}" }, { "id": 795, @@ -16009,7 +16192,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -16030,7 +16214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16067,7 +16252,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -16088,7 +16274,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1796, - "is_pure": false + "is_pure": false, + "text": "BeaconUpgraded" } }, { @@ -16171,14 +16358,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 815, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 816, @@ -16200,7 +16389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -16225,7 +16415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -16343,7 +16534,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 826, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -16364,7 +16556,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -16376,7 +16569,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -16407,7 +16601,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "data" } ], "expression": { @@ -16451,14 +16646,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes$", @@ -16636,13 +16833,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeBeaconToAndCall(address, bytes, bool)", - "signature": "01ace874", + "signature_raw": "_upgradeBeaconToAndCall(address,bytes,bool)", + "signature": "9ba186fe", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeBeaconToAndCall(addressnewBeacon,bytesmemorydata,boolforceCall)internal{_setBeacon(newBeacon);emitBeaconUpgraded(newBeacon);if(data.length\u003e0||forceCall){Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data);}}" }, { "id": 829, @@ -16704,7 +16902,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, { @@ -16936,7 +17135,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -16980,14 +17180,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -16999,7 +17201,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" } } ] @@ -17136,7 +17339,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAdmin()internalviewreturns(address){returnStorageSlot.getAddressSlot(_ADMIN_SLOT).value;}" }, { "id": 855, @@ -17228,7 +17432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 864, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "right_expression": { "id": 865, @@ -17269,7 +17474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -17315,7 +17521,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -17353,7 +17560,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967: new admin is the zero address\"" } ], "expression": { @@ -17374,7 +17582,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -17464,7 +17673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -17508,14 +17718,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -17527,7 +17739,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" }, "right_expression": { "id": 877, @@ -17547,7 +17760,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 877, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -17557,7 +17771,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;" } ] }, @@ -17647,7 +17862,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setAdmin(addressnewAdmin)private{require(newAdmin!=address(0),\"ERC1967: new admin is the zero address\");StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;}" }, { "id": 879, @@ -17728,7 +17944,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -17753,7 +17970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 888, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -17774,7 +17992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "AdminChanged" } }, { @@ -17814,7 +18033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 892, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -17835,7 +18055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -17930,7 +18151,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_changeAdmin(addressnewAdmin)internal{emitAdminChanged(_getAdmin(),newAdmin);_setAdmin(newAdmin);}" }, { "id": 894, @@ -17992,7 +18214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, { @@ -18181,7 +18404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -18225,14 +18449,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18244,7 +18470,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" } } ] @@ -18381,7 +18608,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getBeacon()internalviewreturns(address){returnStorageSlot.getAddressSlot(_BEACON_SLOT).value;}" }, { "id": 918, @@ -18478,7 +18706,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -18522,14 +18751,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18562,7 +18793,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new beacon is not a contract\"" } ], "expression": { @@ -18583,7 +18815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -18706,7 +18939,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -18727,7 +18961,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -18739,7 +18974,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -18788,14 +19024,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -18828,7 +19066,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "\"ERC1967: beacon implementation is not a contract\"" } ], "expression": { @@ -18849,7 +19088,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_literal$", @@ -18939,7 +19179,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -18983,14 +19224,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -19002,7 +19245,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" }, "right_expression": { "id": 949, @@ -19022,7 +19266,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "newBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -19032,7 +19277,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;" } ] }, @@ -19122,7 +19368,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setBeacon(addressnewBeacon)private{require(Address.isContract(newBeacon),\"ERC1967: new beacon is not a contract\");require(Address.isContract(IBeacon(newBeacon).implementation()),\"ERC1967: beacon implementation is not a contract\");StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;}" } ], "linearized_base_contracts": [ @@ -19540,7 +19787,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 894, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" }, "right_expression": { "id": 981, @@ -19633,7 +19881,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.beacon\"" } ], "expression": { @@ -19654,7 +19903,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -19704,7 +19954,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -19731,7 +19982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -19781,7 +20033,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -19812,7 +20065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -19864,7 +20118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 995, @@ -19890,7 +20145,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 996, @@ -19922,7 +20178,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -19943,7 +20200,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -20032,7 +20290,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -20174,7 +20433,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_beacon()internalviewvirtualreturns(address){return_getBeacon();}" }, { "id": 1010, @@ -20311,7 +20571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -20337,7 +20598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -20349,7 +20611,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IBeacon(_getBeacon()).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -20510,7 +20773,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(address){returnIBeacon(_getBeacon()).implementation();}" }, { "id": 1027, @@ -20592,7 +20856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1037, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 1038, @@ -20618,7 +20883,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1039, @@ -20650,7 +20916,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -20671,7 +20938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -20803,13 +21071,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setBeacon(address, bytes)", - "signature": "7fd69114", + "signature_raw": "_setBeacon(address,bytes)", + "signature": "d894e410", "scope": 963, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "function_setBeacon(addressbeacon,bytesmemorydata)internalvirtual{_upgradeBeaconToAndCall(beacon,data,false);}" } ], "linearized_base_contracts": [ @@ -21043,14 +21312,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -21187,7 +21458,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 1068, @@ -21242,7 +21514,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" }, { "id": 1077, @@ -21297,14 +21570,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -21439,7 +21714,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){this;returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -21891,7 +22167,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -21940,7 +22217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1122, @@ -21960,7 +22238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -21970,7 +22249,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 1123, @@ -22023,7 +22303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22069,7 +22350,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22094,7 +22376,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -22115,7 +22398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -22186,7 +22470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -22323,7 +22608,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 1142, @@ -22444,7 +22730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -22483,7 +22770,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -22521,7 +22809,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -22542,7 +22831,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -22567,7 +22857,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -22637,7 +22928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1163, @@ -22678,7 +22970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22724,7 +23017,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22750,7 +23044,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -22794,7 +23089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1171, @@ -22835,7 +23131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -22881,7 +23178,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -22896,7 +23194,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -22970,7 +23269,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" }, { "id": 1176, @@ -23062,7 +23362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1188, @@ -23103,7 +23404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -23149,7 +23451,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -23187,7 +23490,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -23208,7 +23512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -23245,7 +23550,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1195, @@ -23265,7 +23571,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1195, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -23286,7 +23593,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -23330,7 +23638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1200, @@ -23350,7 +23659,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1200, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -23360,7 +23670,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -23480,7 +23791,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" } ], "linearized_base_contracts": [ @@ -24003,7 +24315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1243, - "is_pure": false + "is_pure": false, + "text": "implementation_" } ], "expression": { @@ -24024,7 +24337,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24099,7 +24413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" } } ] @@ -24255,7 +24570,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()publicviewvirtualoverridereturns(address){return_implementation;}" }, { "id": 1257, @@ -24329,7 +24645,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1267, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -24350,7 +24667,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24387,7 +24705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1269, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -24408,7 +24727,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -24529,7 +24849,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)publicvirtualonlyOwner{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { "id": 1272, @@ -24626,7 +24947,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -24670,14 +24992,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -24710,7 +25034,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"UpgradeableBeacon: implementation is not a contract\"" } ], "expression": { @@ -24731,7 +25056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -24779,7 +25105,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "right_expression": { "id": 1288, @@ -24799,7 +25126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1288, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_address", @@ -24809,7 +25137,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_implementation=newImplementation;" } ] }, @@ -24899,7 +25228,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"UpgradeableBeacon: implementation is not a contract\");_implementation=newImplementation;}" } ], "linearized_base_contracts": [ @@ -25355,7 +25685,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 629, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" }, "right_expression": { "id": 1330, @@ -25448,7 +25779,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.implementation\"" } ], "expression": { @@ -25469,7 +25801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -25519,7 +25852,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -25546,7 +25880,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -25596,7 +25931,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -25627,7 +25963,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -25679,7 +26016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1343, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1344, @@ -25705,7 +26043,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_data" }, { "id": 1345, @@ -25737,7 +26076,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -25758,7 +26098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -25870,14 +26211,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 614, - "is_pure": false + "is_pure": false, + "text": "ERC1967Upgrade" }, "member_name": "_getImplementation", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ERC1967Upgrade_$614", "type_string": "contract ERC1967Upgrade" - } + }, + "text": "ERC1967Upgrade._getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -26038,7 +26381,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(addressimpl){returnERC1967Upgrade._getImplementation();}" } ], "linearized_base_contracts": [ @@ -26272,7 +26616,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1400, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1401, @@ -26292,7 +26637,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1401, - "is_pure": false + "is_pure": false, + "text": "_data" } ], "modifier_name": { @@ -26537,7 +26883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 829, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" }, "right_expression": { "id": 1407, @@ -26630,7 +26977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.admin\"" } ], "expression": { @@ -26651,7 +26999,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -26701,7 +27050,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -26728,7 +27078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -26778,7 +27129,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -26809,7 +27161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -26853,7 +27206,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1420, - "is_pure": false + "is_pure": false, + "text": "admin_" } ], "expression": { @@ -26874,7 +27228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27000,14 +27355,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1429, @@ -27041,7 +27398,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -27085,7 +27443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -27169,7 +27528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1446, - "is_pure": false + "is_pure": false, + "text": "admin_" }, "right_expression": { "id": 1447, @@ -27203,7 +27563,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -27218,7 +27579,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "admin_=_getAdmin();" } ] }, @@ -27384,7 +27746,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionadmin()externalifAdminreturns(addressadmin_){admin_=_getAdmin();}" }, { "id": 1450, @@ -27462,7 +27825,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1462, - "is_pure": false + "is_pure": false, + "text": "implementation_" }, "right_expression": { "id": 1463, @@ -27496,7 +27860,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -27511,7 +27876,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "implementation_=_implementation();" } ] }, @@ -27677,7 +28043,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalifAdminreturns(addressimplementation_){implementation_=_implementation();}" }, { "id": 1466, @@ -27751,7 +28118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1476, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -27772,7 +28140,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -27897,7 +28266,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionchangeAdmin(addressnewAdmin)externalvirtualifAdmin{_changeAdmin(newAdmin);}" }, { "id": 1478, @@ -27979,7 +28349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1489, @@ -28018,7 +28389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -28063,7 +28435,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -28100,7 +28473,8 @@ "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" } - ] + ], + "text": "false" } ], "expression": { @@ -28121,7 +28495,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_bool$", @@ -28246,7 +28621,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)externalifAdmin{_upgradeToAndCall(newImplementation,bytes(\"\"),false);}" }, { "id": 1495, @@ -28328,7 +28704,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1507, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1508, @@ -28354,7 +28731,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1509, @@ -28386,7 +28764,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "true" } ], "expression": { @@ -28407,7 +28786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -28569,13 +28949,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeToAndCall(address, bytes)", - "signature": "cf553a4d", + "signature_raw": "upgradeToAndCall(address,bytes)", + "signature": "4f1ef286", "scope": 1385, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionupgradeToAndCall(addressnewImplementation,bytescalldatadata)externalpayableifAdmin{_upgradeToAndCall(newImplementation,data,true);}" }, { "id": 1511, @@ -28656,7 +29037,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -28798,7 +29180,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_admin()internalviewvirtualreturns(address){return_getAdmin();}" }, { "id": 1523, @@ -28913,14 +29296,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1533, @@ -28954,7 +29339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -28992,7 +29378,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\"" } ], "expression": { @@ -29013,7 +29400,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -29075,14 +29463,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_beforeFallback", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -29150,7 +29540,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_beforeFallback()internalvirtualoverride{require(msg.sender!=_getAdmin(),\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\");super._beforeFallback();}" } ], "linearized_base_contracts": [ @@ -29521,7 +29912,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"5c60da1b\"" } ], "expression": { @@ -29584,7 +29976,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1590, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -29630,7 +30023,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -29642,7 +30036,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -29687,7 +30082,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -29708,7 +30104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -29768,7 +30165,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1600, @@ -29821,7 +30219,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -29871,14 +30270,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -30040,7 +30441,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyImplementation(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"5c60da1b\");require(success);returnabi.decode(returndata,(address));}" }, { "id": 1604, @@ -30221,7 +30623,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"f851a440\"" } ], "expression": { @@ -30284,7 +30687,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1623, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -30330,7 +30734,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -30342,7 +30747,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -30387,7 +30793,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -30408,7 +30815,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -30468,7 +30876,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1633, @@ -30521,7 +30930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -30571,14 +30981,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -30740,7 +31152,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyAdmin(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"f851a440\");require(success);returnabi.decode(returndata,(address));}" }, { "id": 1637, @@ -30814,7 +31227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1651, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -30858,14 +31272,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1650, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "changeAdmin", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31048,13 +31464,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "changeProxyAdmin(, address)", - "signature": "2767cae2", + "signature_raw": "changeProxyAdmin(,address)", + "signature": "3450da5f", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionchangeProxyAdmin(TransparentUpgradeableProxyproxy,addressnewAdmin)publicvirtualonlyOwner{proxy.changeAdmin(newAdmin);}" }, { "id": 1653, @@ -31128,7 +31545,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "implementation" } ], "expression": { @@ -31172,14 +31590,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1666, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeTo", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeTo" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -31362,13 +31782,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgrade(, address)", - "signature": "4d8866a1", + "signature_raw": "upgrade(,address)", + "signature": "9bb0528c", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionupgrade(TransparentUpgradeableProxyproxy,addressimplementation)publicvirtualonlyOwner{proxy.upgradeTo(implementation);}" }, { "id": 1669, @@ -31446,7 +31867,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1686, - "is_pure": false + "is_pure": false, + "text": "implementation" }, { "id": 1687, @@ -31472,7 +31894,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -31528,14 +31951,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1685, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeToAndCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeToAndCall" }, "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", @@ -31766,13 +32191,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeAndCall(, address, bytes)", - "signature": "2bf09e1e", + "signature_raw": "upgradeAndCall(,address,bytes)", + "signature": "c044ab52", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$_t_bytes$", "type_string": "function(contract TransparentUpgradeableProxy,address,bytes)" - } + }, + "text": "functionupgradeAndCall(TransparentUpgradeableProxyproxy,addressimplementation,bytesmemorydata)publicpayablevirtualonlyOwner{proxy.upgradeToAndCall{value:msg.value}(implementation,data);}" } ], "linearized_base_contracts": [ @@ -32102,7 +32528,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1737, - "is_pure": false + "is_pure": false, + "text": "logic" }, { "id": 1738, @@ -32122,7 +32549,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1738, - "is_pure": false + "is_pure": false, + "text": "admin" }, { "id": 1739, @@ -32142,7 +32570,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1739, - "is_pure": false + "is_pure": false, + "text": "data" } ], "modifier_name": { @@ -33935,12 +34364,12 @@ "threshold": 0.5, "maximum_tokens": 29, "discovered_tokens": 15, - "standard": "EIP1822", + "standard": "ERC1822", "contract": { "name": "TransparentUpgradeableProxy", "functions": [ { - "name": "getImplementation", + "name": "upgradeAndCall", "inputs": [], "outputs": [ { @@ -33951,7 +34380,7 @@ "matched": false }, { - "name": "upgradeTo", + "name": "upgradeAndCall", "inputs": [ { "type": "address", @@ -33963,7 +34392,7 @@ "matched": true }, { - "name": "upgradeToAndCall", + "name": "upgradeAndCall", "inputs": [ { "type": "address", @@ -33980,7 +34409,7 @@ "matched": true }, { - "name": "setProxyOwner", + "name": "upgradeAndCall", "inputs": [ { "type": "address", @@ -34026,11 +34455,13 @@ } }, "standards": { - "name": "EIP-1822 Universal Proxy Standard (UPS)", + "name": "ERC-1822 Universal Proxy Standard (UPS)", "url": "https://eips.ethereum.org/EIPS/eip-1822", - "type": "EIP1822", + "type": "ERC1822", "stagnant": true, "abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"getImplementation\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"string\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"setProxyOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"\",\"type\":\"address\"}],\"name\":\"ProxyOwnershipTransferred\",\"type\":\"event\"}]", + "package_name": "erc1822", + "package_output_path": "erc1822/erc1822.go", "functions": [ { "name": "getImplementation", @@ -34127,12 +34558,12 @@ "threshold": 0, "maximum_tokens": 67, "discovered_tokens": 5, - "standard": "EIP1967", + "standard": "ERC1967", "contract": { "name": "TransparentUpgradeableProxy", "functions": [ { - "name": "setInterfaceImplementer", + "name": "upgradeAndCall", "inputs": [ { "type": "address", @@ -34154,7 +34585,7 @@ "matched": false }, { - "name": "getInterfaceImplementer", + "name": "upgradeAndCall", "inputs": [ { "type": "address", @@ -34176,7 +34607,7 @@ "matched": false }, { - "name": "interfaceHash", + "name": "upgradeAndCall", "inputs": [ { "type": "string", @@ -34193,7 +34624,7 @@ "matched": false }, { - "name": "updateERC165Cache", + "name": "upgradeAndCall", "inputs": [ { "type": "address", @@ -34210,7 +34641,7 @@ "matched": false }, { - "name": "implementsERC165InterfaceNoCache", + "name": "upgradeAndCall", "inputs": [ { "type": "address", @@ -34232,7 +34663,7 @@ "matched": false }, { - "name": "implementsERC165Interface", + "name": "upgradeAndCall", "inputs": [ { "type": "address", @@ -34298,11 +34729,13 @@ } }, "standards": { - "name": "EIP-1967 Proxy Storage Slots", + "name": "ERC-1967 Proxy Storage Slots", "url": "https://eips.ethereum.org/EIPS/eip-1967", - "type": "EIP1967", + "type": "ERC1967", "stagnant": false, "abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"setInterfaceImplementer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"getInterfaceImplementer\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"string\"}],\"name\":\"interfaceHash\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"updateERC165Cache\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"implementsERC165InterfaceNoCache\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"implementsERC165Interface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"\",\"type\":\"address\"}],\"name\":\"InterfaceImplementerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"}]", + "package_name": "erc1967", + "package_output_path": "erc1967/erc1967.go", "functions": [ { "name": "setInterfaceImplementer", @@ -34704,7 +35137,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalviewreturns(address);" } ], "linearized_base_contracts": [ @@ -34956,7 +35390,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalviewreturns(address);" }, "id": 143, "node_type": 42, @@ -37299,7 +37734,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_delegate(addressimplementation)internalvirtual{assembly{calldatacopy(0,0,calldatasize())letresult:=delegatecall(gas(),implementation,0,calldatasize(),0,0)returndatacopy(0,0,returndatasize())switchresultcase0{revert(0,returndatasize())}default{return(0,returndatasize())}}}" }, { "id": 201, @@ -37469,7 +37905,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualreturns(address);" }, { "id": 210, @@ -37538,7 +37975,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -37596,7 +38034,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -37622,7 +38061,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_delegate" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -37671,7 +38111,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_fallback()internalvirtual{_beforeFallback();_delegate(_implementation());}" }, { "id": 221, @@ -37764,7 +38205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -37866,7 +38308,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -37954,7 +38397,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_beforeFallback()internalvirtual{}" } ], "linearized_base_contracts": [ @@ -40165,7 +40609,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_delegate(addressimplementation)internalvirtual{assembly{calldatacopy(0,0,calldatasize())letresult:=delegatecall(gas(),implementation,0,calldatasize(),0,0)returndatacopy(0,0,returndatasize())switchresultcase0{revert(0,returndatasize())}default{return(0,returndatasize())}}}" }, "id": 156, "node_type": 42, @@ -42437,7 +42882,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualreturns(address);" }, "id": 201, "node_type": 42, @@ -42655,7 +43101,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -42713,7 +43160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -42739,7 +43187,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_delegate" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -42788,7 +43237,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_fallback()internalvirtual{_beforeFallback();_delegate(_implementation());}" }, "id": 210, "node_type": 42, @@ -42850,7 +43300,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -42908,7 +43359,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -42934,7 +43386,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_delegate" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -43071,7 +43524,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_beforeFallback()internalvirtual{}" }, "id": 235, "node_type": 42, @@ -43210,7 +43664,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -43326,7 +43781,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_fallback" }, "type_description": { "type_identifier": "t_function_$", @@ -43676,7 +44132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 253, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 268, @@ -43698,7 +44155,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -43839,7 +44297,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){uint256size;assembly{size:=extcodesize(account)}returnsize\u003e0;}" }, { "id": 270, @@ -43973,7 +44432,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -44019,7 +44479,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -44031,7 +44492,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 286, @@ -44051,7 +44513,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 286, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -44084,7 +44547,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -44105,7 +44569,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -44209,7 +44674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -44265,14 +44731,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -44326,7 +44794,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 288, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 299, @@ -44354,7 +44823,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -44375,7 +44845,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -44507,13 +44978,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, { "id": 301, @@ -44607,7 +45079,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 315, @@ -44633,7 +45106,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 316, @@ -44665,7 +45139,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -44686,7 +45161,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -44864,13 +45340,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, { "id": 318, @@ -44968,7 +45445,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 333, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 334, @@ -44994,7 +45472,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 335, @@ -45026,7 +45505,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 336, @@ -45060,7 +45540,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -45081,7 +45562,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -45302,13 +45784,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, { "id": 338, @@ -45406,7 +45889,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 354, @@ -45432,7 +45916,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 355, @@ -45462,7 +45947,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 356, @@ -45498,7 +45984,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -45519,7 +46006,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -45740,13 +46228,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, { "id": 358, @@ -45880,7 +46369,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -45926,7 +46416,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -45938,7 +46429,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 380, @@ -45958,7 +46450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -45991,7 +46484,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -46012,7 +46506,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -46079,7 +46574,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -46100,7 +46596,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -46133,7 +46630,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -46154,7 +46652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -46303,7 +46802,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -46359,14 +46859,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 396, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -46436,7 +46938,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 388, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 402, @@ -46462,7 +46965,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 403, @@ -46492,7 +46996,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -46513,7 +47018,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -46777,13 +47283,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 405, @@ -46877,7 +47384,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 418, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 419, @@ -46903,7 +47411,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 420, @@ -46935,7 +47444,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -46956,7 +47466,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -47134,13 +47645,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, { "id": 422, @@ -47237,7 +47749,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 438, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -47258,7 +47771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -47291,7 +47805,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -47312,7 +47827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -47461,7 +47977,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 448, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -47505,14 +48022,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -47577,7 +48096,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 440, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 453, @@ -47603,7 +48123,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 454, @@ -47633,7 +48154,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -47654,7 +48176,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -47875,13 +48398,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 456, @@ -47975,7 +48499,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 470, @@ -48001,7 +48526,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 471, @@ -48033,7 +48559,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -48054,7 +48581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -48232,13 +48760,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, { "id": 473, @@ -48335,7 +48864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -48356,7 +48886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -48389,7 +48920,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -48410,7 +48942,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -48559,7 +49092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -48603,14 +49137,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 498, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -48675,7 +49211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 504, @@ -48701,7 +49238,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 505, @@ -48731,7 +49269,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -48752,7 +49291,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -48973,13 +49513,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, { "id": 507, @@ -49045,7 +49586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 520, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 521, @@ -49091,7 +49633,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 523, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -49309,13 +49852,14 @@ } ] }, - "signature_raw": "_verifyCallResult(bool, bytes, string)", - "signature": "2ce6cb58", + "signature_raw": "_verifyCallResult(bool,bytes,string)", + "signature": "18c2c6a2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "function_verifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)privatepurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" } ], "linearized_base_contracts": [ @@ -49660,7 +50204,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 253, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 268, @@ -49682,7 +50227,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -49823,7 +50369,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionisContract(addressaccount)internalviewreturns(bool){uint256size;assembly{size:=extcodesize(account)}returnsize\u003e0;}" }, "id": 245, "node_type": 42, @@ -50131,7 +50678,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 253, - "is_pure": false + "is_pure": false, + "text": "size" }, "right_expression": { "id": 268, @@ -50153,7 +50701,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -50362,7 +50911,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -50408,7 +50958,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -50420,7 +50971,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 286, @@ -50440,7 +50992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 286, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -50473,7 +51026,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -50494,7 +51048,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -50598,7 +51153,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -50654,14 +51210,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -50715,7 +51273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 288, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 299, @@ -50743,7 +51302,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -50764,7 +51324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -50896,13 +51457,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "sendValue(addresspayable, uint256)", - "signature": "557790e6", + "signature_raw": "sendValue(addresspayable,uint256)", + "signature": "cd3a2a84", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address_payable$_t_uint256$", "type_string": "function(address,uint256)" - } + }, + "text": "functionsendValue(addresspayablerecipient,uint256amount)internal{require(address(this).balance\u003e=amount,\"Address: insufficient balance\");(boolsuccess,)=recipient.call{value:amount}(\"\");require(success,\"Address: unable to send value, recipient may have reverted\");}" }, "id": 270, "node_type": 42, @@ -50913,7 +51475,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "557790e6", + "signature": "cd3a2a84", "modifiers": [], "overrides": [], "parameters": [ @@ -51131,7 +51693,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -51177,7 +51740,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -51189,7 +51753,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 286, @@ -51209,7 +51774,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 286, - "is_pure": false + "is_pure": false, + "text": "amount" }, "type_description": { "type_identifier": "t_bool", @@ -51242,7 +51808,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance\"" } ], "expression": { @@ -51263,7 +51830,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -51367,7 +51935,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -51423,14 +51992,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 294, - "is_pure": false + "is_pure": false, + "text": "recipient" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address_payable", "type_string": "address" - } + }, + "text": "recipient.call" }, "type_description": { "type_identifier": "t_address_payable", @@ -51484,7 +52055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 288, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 299, @@ -51512,7 +52084,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: unable to send value, recipient may have reverted\"" } ], "expression": { @@ -51533,7 +52106,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -51699,7 +52273,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 315, @@ -51725,7 +52300,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 316, @@ -51757,7 +52333,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -51778,7 +52355,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -51956,13 +52534,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes)", - "signature": "61c524b8", + "signature_raw": "functionCall(address,bytes)", + "signature": "a0b5ffb0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionCall(target,data,\"Address: low-level call failed\");}" }, "id": 301, "node_type": 42, @@ -51973,7 +52552,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "61c524b8", + "signature": "a0b5ffb0", "modifiers": [], "overrides": [], "parameters": [ @@ -52151,7 +52730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 314, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 315, @@ -52177,7 +52757,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 316, @@ -52209,7 +52790,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level call failed\"" } ], "expression": { @@ -52230,7 +52812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -52403,7 +52986,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 333, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 334, @@ -52429,7 +53013,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 335, @@ -52461,7 +53046,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 336, @@ -52495,7 +53081,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -52516,7 +53103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -52737,13 +53325,14 @@ } ] }, - "signature_raw": "functionCall(address, bytes, string)", - "signature": "5f581aaa", + "signature_raw": "functionCall(address,bytes,string)", + "signature": "241b5886", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,0,errorMessage);}" }, "id": 318, "node_type": 42, @@ -52754,7 +53343,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "5f581aaa", + "signature": "241b5886", "modifiers": [], "overrides": [], "parameters": [ @@ -52986,7 +53575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 333, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 334, @@ -53012,7 +53602,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 335, @@ -53044,7 +53635,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "0" }, { "id": 336, @@ -53078,7 +53670,8 @@ "type_identifier": "t_rational_0_by_1", "type_string": "int_const 0" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -53099,7 +53692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_rational_0_by_1$_t_string$", @@ -53272,7 +53866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 354, @@ -53298,7 +53893,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 355, @@ -53328,7 +53924,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 356, @@ -53364,7 +53961,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -53385,7 +53983,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -53606,13 +54205,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256)", - "signature": "9a466078", + "signature_raw": "functionCallWithValue(address,bytes,uint256)", + "signature": "2a011594", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$", "type_string": "function(address,bytes,uint256)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value)internalreturns(bytesmemory){returnfunctionCallWithValue(target,data,value,\"Address: low-level call with value failed\");}" }, "id": 338, "node_type": 42, @@ -53623,7 +54223,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "9a466078", + "signature": "2a011594", "modifiers": [], "overrides": [], "parameters": [ @@ -53855,7 +54455,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 353, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 354, @@ -53881,7 +54482,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 355, @@ -53911,7 +54513,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "value" }, { "id": 356, @@ -53947,7 +54550,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "\"Address: low-level call with value failed\"" } ], "expression": { @@ -53968,7 +54572,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionCallWithValue" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string_literal$", @@ -54177,7 +54782,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -54223,7 +54829,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -54235,7 +54842,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 380, @@ -54255,7 +54863,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -54288,7 +54897,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -54309,7 +54919,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -54376,7 +54987,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -54397,7 +55009,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -54430,7 +55043,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -54451,7 +55065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -54600,7 +55215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -54656,14 +55272,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 396, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -54733,7 +55351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 388, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 402, @@ -54759,7 +55378,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 403, @@ -54789,7 +55409,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -54810,7 +55431,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -55074,13 +55696,14 @@ } ] }, - "signature_raw": "functionCallWithValue(address, bytes, uint256, string)", - "signature": "7a931a92", + "signature_raw": "functionCallWithValue(address,bytes,uint256,string)", + "signature": "d525ab8a", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_uint256$_t_string$", "type_string": "function(address,bytes,uint256,string)" - } + }, + "text": "functionfunctionCallWithValue(addresstarget,bytesmemorydata,uint256value,stringmemoryerrorMessage)internalreturns(bytesmemory){require(address(this).balance\u003e=value,\"Address: insufficient balance for call\");require(isContract(target),\"Address: call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.call{value:value}(data);return_verifyCallResult(success,returndata,errorMessage);}" }, "id": 358, "node_type": 42, @@ -55091,7 +55714,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "7a931a92", + "signature": "d525ab8a", "modifiers": [], "overrides": [], "parameters": [ @@ -55409,7 +56032,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" } ], "expression": { @@ -55455,7 +56079,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -55467,7 +56092,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(this).balance" }, "right_expression": { "id": 380, @@ -55487,7 +56113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 380, - "is_pure": false + "is_pure": false, + "text": "value" }, "type_description": { "type_identifier": "t_bool", @@ -55520,7 +56147,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Address: insufficient balance for call\"" } ], "expression": { @@ -55541,7 +56169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -55608,7 +56237,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 386, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -55629,7 +56259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -55662,7 +56293,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: call to non-contract\"" } ], "expression": { @@ -55683,7 +56315,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -55832,7 +56465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 397, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -55888,14 +56522,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 396, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "call", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.call" }, "type_description": { "type_identifier": "t_address", @@ -55965,7 +56601,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 388, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 402, @@ -55991,7 +56628,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 403, @@ -56021,7 +56659,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -56042,7 +56681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -56260,7 +56900,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 418, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 419, @@ -56286,7 +56927,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 420, @@ -56318,7 +56960,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -56339,7 +56982,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -56517,13 +57161,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes)", - "signature": "35b5002e", + "signature_raw": "functionStaticCall(address,bytes)", + "signature": "c21d36f3", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata)internalviewreturns(bytesmemory){returnfunctionStaticCall(target,data,\"Address: low-level static call failed\");}" }, "id": 405, "node_type": 42, @@ -56534,7 +57179,7 @@ "state_mutability": 5, "virtual": false, "referenced_declaration_id": 0, - "signature": "35b5002e", + "signature": "c21d36f3", "modifiers": [], "overrides": [], "parameters": [ @@ -56712,7 +57357,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 418, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 419, @@ -56738,7 +57384,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 420, @@ -56770,7 +57417,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level static call failed\"" } ], "expression": { @@ -56791,7 +57439,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionStaticCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -56963,7 +57612,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 438, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -56984,7 +57634,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -57017,7 +57668,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -57038,7 +57690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -57187,7 +57840,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 448, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -57231,14 +57885,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -57303,7 +57959,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 440, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 453, @@ -57329,7 +57986,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 454, @@ -57359,7 +58017,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -57380,7 +58039,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -57601,13 +58261,14 @@ } ] }, - "signature_raw": "functionStaticCall(address, bytes, string)", - "signature": "47374319", + "signature_raw": "functionStaticCall(address,bytes,string)", + "signature": "dbc40fb9", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionStaticCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalviewreturns(bytesmemory){require(isContract(target),\"Address: static call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.staticcall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, "id": 422, "node_type": 42, @@ -57618,7 +58279,7 @@ "state_mutability": 5, "virtual": false, "referenced_declaration_id": 0, - "signature": "47374319", + "signature": "dbc40fb9", "modifiers": [], "overrides": [], "parameters": [ @@ -57849,7 +58510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 438, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -57870,7 +58532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -57903,7 +58566,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: static call to non-contract\"" } ], "expression": { @@ -57924,7 +58588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -58073,7 +58738,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 448, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -58117,14 +58783,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 447, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "staticcall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.staticcall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -58189,7 +58857,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 440, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 453, @@ -58215,7 +58884,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 454, @@ -58245,7 +58915,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -58266,7 +58937,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -58460,7 +59132,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 470, @@ -58486,7 +59159,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 471, @@ -58518,7 +59192,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -58539,7 +59214,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -58717,13 +59393,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes)", - "signature": "ce0c9802", + "signature_raw": "functionDelegateCall(address,bytes)", + "signature": "ee33b7e2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata)internalreturns(bytesmemory){returnfunctionDelegateCall(target,data,\"Address: low-level delegate call failed\");}" }, "id": 456, "node_type": 42, @@ -58734,7 +59411,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "ce0c9802", + "signature": "ee33b7e2", "modifiers": [], "overrides": [], "parameters": [ @@ -58912,7 +59589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 469, - "is_pure": false + "is_pure": false, + "text": "target" }, { "id": 470, @@ -58938,7 +59616,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 471, @@ -58970,7 +59649,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "\"Address: low-level delegate call failed\"" } ], "expression": { @@ -58991,7 +59671,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string_literal$", @@ -59163,7 +59844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -59184,7 +59866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -59217,7 +59900,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -59238,7 +59922,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -59387,7 +60072,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -59431,14 +60117,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 498, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -59503,7 +60191,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 504, @@ -59529,7 +60218,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 505, @@ -59559,7 +60249,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -59580,7 +60271,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -59801,13 +60493,14 @@ } ] }, - "signature_raw": "functionDelegateCall(address, bytes, string)", - "signature": "a6f0db75", + "signature_raw": "functionDelegateCall(address,bytes,string)", + "signature": "57387df0", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_string$", "type_string": "function(address,bytes,string)" - } + }, + "text": "functionfunctionDelegateCall(addresstarget,bytesmemorydata,stringmemoryerrorMessage)internalreturns(bytesmemory){require(isContract(target),\"Address: delegate call to non-contract\");(boolsuccess,bytesmemoryreturndata)=target.delegatecall(data);return_verifyCallResult(success,returndata,errorMessage);}" }, "id": 473, "node_type": 42, @@ -59818,7 +60511,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "a6f0db75", + "signature": "57387df0", "modifiers": [], "overrides": [], "parameters": [ @@ -60049,7 +60742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 489, - "is_pure": false + "is_pure": false, + "text": "target" } ], "expression": { @@ -60070,7 +60764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -60103,7 +60798,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"Address: delegate call to non-contract\"" } ], "expression": { @@ -60124,7 +60820,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -60273,7 +60970,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 499, - "is_pure": false + "is_pure": false, + "text": "data" } ], "expression": { @@ -60317,14 +61015,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 498, - "is_pure": false + "is_pure": false, + "text": "target" }, "member_name": "delegatecall", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "target.delegatecall" }, "type_description": { "type_identifier": "t_function_$_t_bytes$", @@ -60389,7 +61089,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 491, - "is_pure": false + "is_pure": false, + "text": "success" }, { "id": 504, @@ -60415,7 +61116,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "returndata" }, { "id": 505, @@ -60445,7 +61147,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "errorMessage" } ], "expression": { @@ -60466,7 +61169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_verifyCallResult" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", @@ -60632,7 +61336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 520, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 521, @@ -60678,7 +61383,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 523, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -60896,13 +61602,14 @@ } ] }, - "signature_raw": "_verifyCallResult(bool, bytes, string)", - "signature": "2ce6cb58", + "signature_raw": "_verifyCallResult(bool,bytes,string)", + "signature": "18c2c6a2", "scope": 243, "type_description": { "type_identifier": "t_function_$_t_bool$_t_bytes$_t_string$", "type_string": "function(bool,bytes,string)" - } + }, + "text": "function_verifyCallResult(boolsuccess,bytesmemoryreturndata,stringmemoryerrorMessage)privatepurereturns(bytesmemory){if(success){returnreturndata;}else{if(returndata.length\u003e0){assembly{letreturndata_size:=mload(returndata)revert(add(32,returndata),returndata_size)}}else{revert(errorMessage);}}}" }, "id": 507, "node_type": 42, @@ -60913,7 +61620,7 @@ "state_mutability": 6, "virtual": false, "referenced_declaration_id": 0, - "signature": "2ce6cb58", + "signature": "18c2c6a2", "modifiers": [], "overrides": [], "parameters": [ @@ -61112,7 +61819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 520, - "is_pure": false + "is_pure": false, + "text": "success" }, "body": { "id": 521, @@ -61158,7 +61866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 523, - "is_pure": false + "is_pure": false, + "text": "returndata" } } ] @@ -61854,7 +62563,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetAddressSlot(bytes32slot)internalpurereturns(AddressSlotstorager){assembly{r.slot:=slot}}" }, { "id": 564, @@ -62139,7 +62849,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBooleanSlot(bytes32slot)internalpurereturns(BooleanSlotstorager){assembly{r.slot:=slot}}" }, { "id": 581, @@ -62424,7 +63135,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBytes32Slot(bytes32slot)internalpurereturns(Bytes32Slotstorager){assembly{r.slot:=slot}}" }, { "id": 598, @@ -62709,7 +63421,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetUint256Slot(bytes32slot)internalpurereturns(Uint256Slotstorager){assembly{r.slot:=slot}}" } ], "linearized_base_contracts": [ @@ -63611,7 +64324,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetAddressSlot(bytes32slot)internalpurereturns(AddressSlotstorager){assembly{r.slot:=slot}}" }, "id": 547, "node_type": 42, @@ -64160,7 +64874,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBooleanSlot(bytes32slot)internalpurereturns(BooleanSlotstorager){assembly{r.slot:=slot}}" }, "id": 564, "node_type": 42, @@ -64709,7 +65424,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetBytes32Slot(bytes32slot)internalpurereturns(Bytes32Slotstorager){assembly{r.slot:=slot}}" }, "id": 581, "node_type": 42, @@ -65258,7 +65974,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes32$", "type_string": "function(bytes32)" - } + }, + "text": "functiongetUint256Slot(bytes32slot)internalpurereturns(Uint256Slotstorager){assembly{r.slot:=slot}}" }, "id": 598, "node_type": 42, @@ -65721,7 +66438,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, { @@ -65784,7 +66502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, { @@ -65973,7 +66692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -66017,14 +66737,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -66036,7 +66758,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" } } ] @@ -66173,7 +66896,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getImplementation()internalviewreturns(address){returnStorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;}" }, { "id": 653, @@ -66270,7 +66994,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 664, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -66314,14 +67039,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -66354,7 +67081,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new implementation is not a contract\"" } ], "expression": { @@ -66375,7 +67103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -66465,7 +67194,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -66509,14 +67239,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -66528,7 +67260,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" }, "right_expression": { "id": 673, @@ -66548,7 +67281,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -66558,7 +67292,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;" } ] }, @@ -66648,7 +67383,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"ERC1967: new implementation is not a contract\");StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;}" }, { "id": 675, @@ -66722,7 +67458,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -66743,7 +67480,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -66780,7 +67518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 685, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -66801,7 +67540,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -66892,7 +67632,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_upgradeTo(addressnewImplementation)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { "id": 688, @@ -66966,7 +67707,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 700, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -66987,7 +67729,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -67024,7 +67767,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -67045,7 +67789,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } }, { @@ -67128,14 +67873,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 708, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 709, @@ -67157,7 +67904,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -67182,7 +67930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 710, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -67244,7 +67993,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 716, @@ -67270,7 +68020,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -67314,14 +68065,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -67499,13 +68252,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCall(address, bytes, bool)", - "signature": "b2f571b5", + "signature_raw": "_upgradeToAndCall(address,bytes,bool)", + "signature": "267b04ae", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCall(addressnewImplementation,bytesmemorydata,boolforceCall)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}}" }, { "id": 718, @@ -67635,7 +68389,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -67680,7 +68435,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 735, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -67701,7 +68457,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -67788,14 +68545,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 741, @@ -67817,7 +68576,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -67842,7 +68602,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 742, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -67904,7 +68665,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 747, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 748, @@ -67930,7 +68692,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -67974,14 +68737,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -68109,7 +68874,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ROLLBACK_SLOT" } ], "expression": { @@ -68153,14 +68919,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getBooleanSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getBooleanSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -68238,14 +69006,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -68330,14 +69100,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 766, @@ -68359,7 +69131,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -68369,7 +69142,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=true;" }, { "id": 767, @@ -68412,7 +69186,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 771, @@ -68457,7 +69232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"upgradeTo(address)\"" }, { "id": 775, @@ -68483,7 +69259,8 @@ "type_identifier": "t_string_literal", "type_string": "literal_string \"upgradeTo(address)\"" } - ] + ], + "text": "oldImplementation" } ], "expression": { @@ -68527,14 +69304,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSignature", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSignature" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -68583,14 +69362,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -68661,14 +69442,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 780, @@ -68690,7 +69473,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -68700,7 +69484,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=false;" }, { "id": 781, @@ -68757,7 +69542,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 728, - "is_pure": false + "is_pure": false, + "text": "oldImplementation" }, "right_expression": { "id": 785, @@ -68791,7 +69577,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -68829,7 +69616,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967Upgrade: upgrade breaks further upgrades\"" } ], "expression": { @@ -68850,7 +69638,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -68894,7 +69683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 790, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -68915,7 +69705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -68952,7 +69743,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -68973,7 +69765,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -69147,13 +69940,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCallSecure(address, bytes, bool)", - "signature": "1d5980d3", + "signature_raw": "_upgradeToAndCallSecure(address,bytes,bool)", + "signature": "ce2ea66a", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCallSecure(addressnewImplementation,bytesmemorydata,boolforceCall)internal{addressoldImplementation=_getImplementation();_setImplementation(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}StorageSlot.BooleanSlotstoragerollbackTesting=StorageSlot.getBooleanSlot(_ROLLBACK_SLOT);if(!rollbackTesting.value){rollbackTesting.value=true;Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(\"upgradeTo(address)\",oldImplementation));rollbackTesting.value=false;require(oldImplementation==_getImplementation(),\"ERC1967Upgrade: upgrade breaks further upgrades\");_setImplementation(newImplementation);emitUpgraded(newImplementation);}}" }, { "id": 795, @@ -69227,7 +70021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -69248,7 +70043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -69285,7 +70081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -69306,7 +70103,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1796, - "is_pure": false + "is_pure": false, + "text": "BeaconUpgraded" } }, { @@ -69389,14 +70187,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 815, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 816, @@ -69418,7 +70218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -69443,7 +70244,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -69561,7 +70363,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 826, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -69582,7 +70385,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -69594,7 +70398,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -69625,7 +70430,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "data" } ], "expression": { @@ -69669,14 +70475,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes$", @@ -69854,13 +70662,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeBeaconToAndCall(address, bytes, bool)", - "signature": "01ace874", + "signature_raw": "_upgradeBeaconToAndCall(address,bytes,bool)", + "signature": "9ba186fe", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeBeaconToAndCall(addressnewBeacon,bytesmemorydata,boolforceCall)internal{_setBeacon(newBeacon);emitBeaconUpgraded(newBeacon);if(data.length\u003e0||forceCall){Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data);}}" }, { "id": 829, @@ -69922,7 +70731,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, { @@ -70154,7 +70964,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -70198,14 +71009,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -70217,7 +71030,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" } } ] @@ -70354,7 +71168,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAdmin()internalviewreturns(address){returnStorageSlot.getAddressSlot(_ADMIN_SLOT).value;}" }, { "id": 855, @@ -70446,7 +71261,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 864, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "right_expression": { "id": 865, @@ -70487,7 +71303,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -70533,7 +71350,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -70571,7 +71389,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967: new admin is the zero address\"" } ], "expression": { @@ -70592,7 +71411,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -70682,7 +71502,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -70726,14 +71547,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -70745,7 +71568,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" }, "right_expression": { "id": 877, @@ -70765,7 +71589,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 877, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -70775,7 +71600,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;" } ] }, @@ -70865,7 +71691,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setAdmin(addressnewAdmin)private{require(newAdmin!=address(0),\"ERC1967: new admin is the zero address\");StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;}" }, { "id": 879, @@ -70946,7 +71773,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -70971,7 +71799,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 888, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -70992,7 +71821,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "AdminChanged" } }, { @@ -71032,7 +71862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 892, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -71053,7 +71884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -71148,7 +71980,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_changeAdmin(addressnewAdmin)internal{emitAdminChanged(_getAdmin(),newAdmin);_setAdmin(newAdmin);}" }, { "id": 894, @@ -71210,7 +72043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, { @@ -71399,7 +72233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -71443,14 +72278,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -71462,7 +72299,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" } } ] @@ -71599,7 +72437,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getBeacon()internalviewreturns(address){returnStorageSlot.getAddressSlot(_BEACON_SLOT).value;}" }, { "id": 918, @@ -71696,7 +72535,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -71740,14 +72580,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -71780,7 +72622,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new beacon is not a contract\"" } ], "expression": { @@ -71801,7 +72644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -71924,7 +72768,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -71945,7 +72790,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -71957,7 +72803,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -72006,14 +72853,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -72046,7 +72895,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "\"ERC1967: beacon implementation is not a contract\"" } ], "expression": { @@ -72067,7 +72917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_literal$", @@ -72157,7 +73008,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -72201,14 +73053,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -72220,7 +73074,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" }, "right_expression": { "id": 949, @@ -72240,7 +73095,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "newBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -72250,7 +73106,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;" } ] }, @@ -72340,7 +73197,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setBeacon(addressnewBeacon)private{require(Address.isContract(newBeacon),\"ERC1967: new beacon is not a contract\");require(Address.isContract(IBeacon(newBeacon).implementation()),\"ERC1967: beacon implementation is not a contract\");StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;}" } ], "linearized_base_contracts": [ @@ -72586,7 +73444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" } }, "id": 625, @@ -72664,7 +73523,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" } }, "id": 629, @@ -72742,7 +73602,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" } }, "id": 829, @@ -72820,7 +73681,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" } }, "id": 894, @@ -73462,7 +74324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -73506,14 +74369,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -73525,7 +74390,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" } } ] @@ -73662,7 +74528,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getImplementation()internalviewreturns(address){returnStorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;}" }, "id": 638, "node_type": 42, @@ -73816,7 +74683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -73860,14 +74728,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -73879,7 +74749,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" } } ] @@ -74047,7 +74918,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 664, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -74091,14 +74963,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -74131,7 +75005,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new implementation is not a contract\"" } ], "expression": { @@ -74152,7 +75027,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -74242,7 +75118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -74286,14 +75163,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -74305,7 +75184,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" }, "right_expression": { "id": 673, @@ -74325,7 +75205,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -74335,7 +75216,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;" } ] }, @@ -74425,7 +75307,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"ERC1967: new implementation is not a contract\");StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;}" }, "id": 653, "node_type": 42, @@ -74567,7 +75450,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 664, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -74611,14 +75495,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -74651,7 +75537,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new implementation is not a contract\"" } ], "expression": { @@ -74672,7 +75559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -74762,7 +75650,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" } ], "expression": { @@ -74806,14 +75695,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -74825,7 +75716,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value" }, "right_expression": { "id": 673, @@ -74845,7 +75737,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 673, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -74855,7 +75748,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value=newImplementation;" } ] }, @@ -74972,7 +75866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -74993,7 +75888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -75030,7 +75926,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 685, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -75051,7 +75948,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -75142,7 +76040,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_upgradeTo(addressnewImplementation)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, "id": 675, "node_type": 42, @@ -75261,7 +76160,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 683, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -75282,7 +76182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -75319,7 +76220,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 685, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -75340,7 +76242,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -75455,7 +76358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 700, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -75476,7 +76380,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -75513,7 +76418,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -75534,7 +76440,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } }, { @@ -75617,14 +76524,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 708, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 709, @@ -75646,7 +76555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -75671,7 +76581,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 710, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -75733,7 +76644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 716, @@ -75759,7 +76671,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -75803,14 +76716,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -75988,13 +76903,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCall(address, bytes, bool)", - "signature": "b2f571b5", + "signature_raw": "_upgradeToAndCall(address,bytes,bool)", + "signature": "267b04ae", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCall(addressnewImplementation,bytesmemorydata,boolforceCall)internal{_setImplementation(newImplementation);emitUpgraded(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}}" }, "id": 688, "node_type": 42, @@ -76005,7 +76921,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "b2f571b5", + "signature": "267b04ae", "modifiers": [], "overrides": [], "parameters": [ @@ -76213,7 +77129,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 700, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -76234,7 +77151,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -76271,7 +77189,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 702, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -76292,7 +77211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } }, { @@ -76375,14 +77295,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 708, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 709, @@ -76404,7 +77326,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -76429,7 +77352,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 710, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -76491,7 +77415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 715, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 716, @@ -76517,7 +77442,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -76561,14 +77487,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -76746,7 +77674,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -76791,7 +77720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 735, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -76812,7 +77742,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -76899,14 +77830,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 741, @@ -76928,7 +77861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -76953,7 +77887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 742, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -77015,7 +77950,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 747, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 748, @@ -77041,7 +77977,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -77085,14 +78022,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -77220,7 +78159,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ROLLBACK_SLOT" } ], "expression": { @@ -77264,14 +78204,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getBooleanSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getBooleanSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -77349,14 +78291,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -77441,14 +78385,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 766, @@ -77470,7 +78416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -77480,7 +78427,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=true;" }, { "id": 767, @@ -77523,7 +78471,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 771, @@ -77568,7 +78517,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"upgradeTo(address)\"" }, { "id": 775, @@ -77594,7 +78544,8 @@ "type_identifier": "t_string_literal", "type_string": "literal_string \"upgradeTo(address)\"" } - ] + ], + "text": "oldImplementation" } ], "expression": { @@ -77638,14 +78589,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSignature", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSignature" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -77694,14 +78647,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -77772,14 +78727,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 780, @@ -77801,7 +78758,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -77811,7 +78769,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=false;" }, { "id": 781, @@ -77868,7 +78827,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 728, - "is_pure": false + "is_pure": false, + "text": "oldImplementation" }, "right_expression": { "id": 785, @@ -77902,7 +78862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -77940,7 +78901,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967Upgrade: upgrade breaks further upgrades\"" } ], "expression": { @@ -77961,7 +78923,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -78005,7 +78968,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 790, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -78026,7 +78990,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -78063,7 +79028,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -78084,7 +79050,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -78258,13 +79225,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeToAndCallSecure(address, bytes, bool)", - "signature": "1d5980d3", + "signature_raw": "_upgradeToAndCallSecure(address,bytes,bool)", + "signature": "ce2ea66a", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeToAndCallSecure(addressnewImplementation,bytesmemorydata,boolforceCall)internal{addressoldImplementation=_getImplementation();_setImplementation(newImplementation);if(data.length\u003e0||forceCall){Address.functionDelegateCall(newImplementation,data);}StorageSlot.BooleanSlotstoragerollbackTesting=StorageSlot.getBooleanSlot(_ROLLBACK_SLOT);if(!rollbackTesting.value){rollbackTesting.value=true;Address.functionDelegateCall(newImplementation,abi.encodeWithSignature(\"upgradeTo(address)\",oldImplementation));rollbackTesting.value=false;require(oldImplementation==_getImplementation(),\"ERC1967Upgrade: upgrade breaks further upgrades\");_setImplementation(newImplementation);emitUpgraded(newImplementation);}}" }, "id": 718, "node_type": 42, @@ -78275,7 +79243,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "1d5980d3", + "signature": "ce2ea66a", "modifiers": [], "overrides": [], "parameters": [ @@ -78539,7 +79507,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -78584,7 +79553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 735, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -78605,7 +79575,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -78692,14 +79663,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 740, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 741, @@ -78721,7 +79694,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -78746,7 +79720,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 742, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -78808,7 +79783,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 747, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 748, @@ -78834,7 +79810,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -78878,14 +79855,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", @@ -79013,7 +79992,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ROLLBACK_SLOT" } ], "expression": { @@ -79057,14 +80037,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getBooleanSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getBooleanSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -79142,14 +80124,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -79234,14 +80218,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 766, @@ -79263,7 +80249,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "true" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -79273,7 +80260,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=true;" }, { "id": 767, @@ -79316,7 +80304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 770, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 771, @@ -79361,7 +80350,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"upgradeTo(address)\"" }, { "id": 775, @@ -79387,7 +80377,8 @@ "type_identifier": "t_string_literal", "type_string": "literal_string \"upgradeTo(address)\"" } - ] + ], + "text": "oldImplementation" } ], "expression": { @@ -79431,14 +80422,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "encodeWithSignature", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.encodeWithSignature" }, "type_description": { "type_identifier": "t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -79487,14 +80480,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_function_$_t_string_literal$", @@ -79565,14 +80560,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 749, - "is_pure": false + "is_pure": false, + "text": "rollbackTesting" }, "member_name": "value", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value" }, "right_expression": { "id": 780, @@ -79594,7 +80591,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "false" }, "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", @@ -79604,7 +80602,8 @@ "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "rollbackTesting.value=false;" }, { "id": 781, @@ -79661,7 +80660,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 728, - "is_pure": false + "is_pure": false, + "text": "oldImplementation" }, "right_expression": { "id": 785, @@ -79695,7 +80695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -79733,7 +80734,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967Upgrade: upgrade breaks further upgrades\"" } ], "expression": { @@ -79754,7 +80756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -79798,7 +80801,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 790, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -79819,7 +80823,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -79856,7 +80861,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 792, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -79877,7 +80883,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -79995,7 +81002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -80016,7 +81024,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -80053,7 +81062,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -80074,7 +81084,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1796, - "is_pure": false + "is_pure": false, + "text": "BeaconUpgraded" } }, { @@ -80157,14 +81168,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 815, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 816, @@ -80186,7 +81199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -80211,7 +81225,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -80329,7 +81344,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 826, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -80350,7 +81366,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -80362,7 +81379,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -80393,7 +81411,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "data" } ], "expression": { @@ -80437,14 +81456,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes$", @@ -80622,13 +81643,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_upgradeBeaconToAndCall(address, bytes, bool)", - "signature": "01ace874", + "signature_raw": "_upgradeBeaconToAndCall(address,bytes,bool)", + "signature": "9ba186fe", "scope": 623, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", "type_string": "function(address,bytes,bool)" - } + }, + "text": "function_upgradeBeaconToAndCall(addressnewBeacon,bytesmemorydata,boolforceCall)internal{_setBeacon(newBeacon);emitBeaconUpgraded(newBeacon);if(data.length\u003e0||forceCall){Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data);}}" }, "id": 795, "node_type": 42, @@ -80639,7 +81661,7 @@ "state_mutability": 4, "virtual": false, "referenced_declaration_id": 0, - "signature": "01ace874", + "signature": "9ba186fe", "modifiers": [], "overrides": [], "parameters": [ @@ -80847,7 +81869,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 807, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -80868,7 +81891,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -80905,7 +81929,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 809, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -80926,7 +81951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1796, - "is_pure": false + "is_pure": false, + "text": "BeaconUpgraded" } }, { @@ -81009,14 +82035,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 815, - "is_pure": false + "is_pure": false, + "text": "data" }, "member_name": "length", "argument_types": [], "type_description": { "type_identifier": "t_bytes", "type_string": "bytes" - } + }, + "text": "data.length" }, "right_expression": { "id": 816, @@ -81038,7 +82066,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" }, "type_description": { "type_identifier": "t_bool", @@ -81063,7 +82092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 817, - "is_pure": false + "is_pure": false, + "text": "forceCall" }, "type_description": { "type_identifier": "t_bool", @@ -81181,7 +82211,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 826, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -81202,7 +82233,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -81214,7 +82246,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -81245,7 +82278,8 @@ "type_identifier": "t_function_$", "type_string": "function()" } - ] + ], + "text": "data" } ], "expression": { @@ -81289,14 +82323,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "functionDelegateCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.functionDelegateCall" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_bytes$", @@ -81453,7 +82489,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -81497,14 +82534,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -81516,7 +82555,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" } } ] @@ -81653,7 +82693,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getAdmin()internalviewreturns(address){returnStorageSlot.getAddressSlot(_ADMIN_SLOT).value;}" }, "id": 840, "node_type": 42, @@ -81807,7 +82848,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -81851,14 +82893,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -81870,7 +82914,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" } } ] @@ -82033,7 +83078,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 864, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "right_expression": { "id": 865, @@ -82074,7 +83120,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -82120,7 +83167,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -82158,7 +83206,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967: new admin is the zero address\"" } ], "expression": { @@ -82179,7 +83228,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -82269,7 +83319,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -82313,14 +83364,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -82332,7 +83385,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" }, "right_expression": { "id": 877, @@ -82352,7 +83406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 877, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -82362,7 +83417,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;" } ] }, @@ -82452,7 +83508,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setAdmin(addressnewAdmin)private{require(newAdmin!=address(0),\"ERC1967: new admin is the zero address\");StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;}" }, "id": 855, "node_type": 42, @@ -82589,7 +83646,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 864, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "right_expression": { "id": 865, @@ -82630,7 +83688,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -82676,7 +83735,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -82714,7 +83774,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"ERC1967: new admin is the zero address\"" } ], "expression": { @@ -82735,7 +83796,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -82825,7 +83887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" } ], "expression": { @@ -82869,14 +83932,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -82888,7 +83953,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value" }, "right_expression": { "id": 877, @@ -82908,7 +83974,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 877, - "is_pure": false + "is_pure": false, + "text": "newAdmin" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -82918,7 +83985,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_ADMIN_SLOT).value=newAdmin;" } ] }, @@ -83042,7 +84110,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -83067,7 +84136,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 888, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -83088,7 +84158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "AdminChanged" } }, { @@ -83128,7 +84199,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 892, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -83149,7 +84221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -83244,7 +84317,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_changeAdmin(addressnewAdmin)internal{emitAdminChanged(_getAdmin(),newAdmin);_setAdmin(newAdmin);}" }, "id": 879, "node_type": 42, @@ -83370,7 +84444,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -83395,7 +84470,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 888, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -83416,7 +84492,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 833, - "is_pure": false + "is_pure": false, + "text": "AdminChanged" } }, { @@ -83456,7 +84533,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 892, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -83477,7 +84555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -83631,7 +84710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -83675,14 +84755,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -83694,7 +84776,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" } } ] @@ -83831,7 +84914,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_getBeacon()internalviewreturns(address){returnStorageSlot.getAddressSlot(_BEACON_SLOT).value;}" }, "id": 903, "node_type": 42, @@ -83985,7 +85069,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -84029,14 +85114,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -84048,7 +85135,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" } } ] @@ -84216,7 +85304,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -84260,14 +85349,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -84300,7 +85391,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new beacon is not a contract\"" } ], "expression": { @@ -84321,7 +85413,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -84444,7 +85537,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -84465,7 +85559,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -84477,7 +85572,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -84526,14 +85622,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -84566,7 +85664,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "\"ERC1967: beacon implementation is not a contract\"" } ], "expression": { @@ -84587,7 +85686,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_literal$", @@ -84677,7 +85777,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -84721,14 +85822,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -84740,7 +85843,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" }, "right_expression": { "id": 949, @@ -84760,7 +85864,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "newBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -84770,7 +85875,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;" } ] }, @@ -84860,7 +85966,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setBeacon(addressnewBeacon)private{require(Address.isContract(newBeacon),\"ERC1967: new beacon is not a contract\");require(Address.isContract(IBeacon(newBeacon).implementation()),\"ERC1967: beacon implementation is not a contract\");StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;}" }, "id": 918, "node_type": 42, @@ -85002,7 +86109,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 929, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -85046,14 +86154,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -85086,7 +86196,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"ERC1967: new beacon is not a contract\"" } ], "expression": { @@ -85107,7 +86218,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -85230,7 +86342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 940, - "is_pure": false + "is_pure": false, + "text": "newBeacon" } ], "expression": { @@ -85251,7 +86364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -85263,7 +86377,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "IBeacon(newBeacon).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -85312,14 +86427,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -85352,7 +86469,8 @@ "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" } - ] + ], + "text": "\"ERC1967: beacon implementation is not a contract\"" } ], "expression": { @@ -85373,7 +86491,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function_$_t_string_literal$", @@ -85463,7 +86582,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" } ], "expression": { @@ -85507,14 +86627,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 524, - "is_pure": false + "is_pure": false, + "text": "StorageSlot" }, "member_name": "getAddressSlot", "argument_types": [], "type_description": { "type_identifier": "t_contract$_StorageSlot_$524", "type_string": "contract StorageSlot" - } + }, + "text": "StorageSlot.getAddressSlot" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -85526,7 +86648,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value" }, "right_expression": { "id": 949, @@ -85546,7 +86669,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 949, - "is_pure": false + "is_pure": false, + "text": "newBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -85556,7 +86680,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "StorageSlot.getAddressSlot(_BEACON_SLOT).value=newBeacon;" } ] }, @@ -86019,7 +87144,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 894, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" }, "right_expression": { "id": 981, @@ -86112,7 +87238,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.beacon\"" } ], "expression": { @@ -86133,7 +87260,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -86183,7 +87311,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -86210,7 +87339,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -86260,7 +87390,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -86291,7 +87422,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -86343,7 +87475,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 995, @@ -86369,7 +87502,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 996, @@ -86401,7 +87535,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -86422,7 +87557,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -86511,7 +87647,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -86653,7 +87790,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_beacon()internalviewvirtualreturns(address){return_getBeacon();}" }, { "id": 1010, @@ -86790,7 +87928,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -86816,7 +87955,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -86828,7 +87968,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IBeacon(_getBeacon()).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -86989,7 +88130,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(address){returnIBeacon(_getBeacon()).implementation();}" }, { "id": 1027, @@ -87071,7 +88213,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1037, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 1038, @@ -87097,7 +88240,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1039, @@ -87129,7 +88273,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -87150,7 +88295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -87282,13 +88428,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setBeacon(address, bytes)", - "signature": "7fd69114", + "signature_raw": "_setBeacon(address,bytes)", + "signature": "d894e410", "scope": 963, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "function_setBeacon(addressbeacon,bytesmemorydata)internalvirtual{_upgradeBeaconToAndCall(beacon,data,false);}" } ], "linearized_base_contracts": [ @@ -87739,7 +88886,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 894, - "is_pure": false + "is_pure": false, + "text": "_BEACON_SLOT" }, "right_expression": { "id": 981, @@ -87832,7 +88980,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.beacon\"" } ], "expression": { @@ -87853,7 +89002,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -87903,7 +89053,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -87930,7 +89081,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -87980,7 +89132,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -88011,7 +89164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -88063,7 +89217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 994, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 995, @@ -88089,7 +89244,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 996, @@ -88121,7 +89277,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -88142,7 +89299,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -88347,7 +89505,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -88489,7 +89648,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_beacon()internalviewvirtualreturns(address){return_getBeacon();}" }, "id": 998, "node_type": 42, @@ -88615,7 +89775,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -88828,7 +89989,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -88854,7 +90016,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -88866,7 +90029,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IBeacon(_getBeacon()).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -89027,7 +90191,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(address){returnIBeacon(_getBeacon()).implementation();}" }, "id": 1010, "node_type": 42, @@ -89209,7 +90374,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getBeacon" }, "type_description": { "type_identifier": "t_function_$", @@ -89235,7 +90401,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "IBeacon" }, "type_description": { "type_identifier": "t_function_$_t_function_$", @@ -89247,7 +90414,8 @@ "type_description": { "type_identifier": "t_function_$_t_function_$", "type_string": "function(function())" - } + }, + "text": "IBeacon(_getBeacon()).implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -89405,7 +90573,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1037, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 1038, @@ -89431,7 +90600,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1039, @@ -89463,7 +90633,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -89484,7 +90655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -89616,13 +90788,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "_setBeacon(address, bytes)", - "signature": "7fd69114", + "signature_raw": "_setBeacon(address,bytes)", + "signature": "d894e410", "scope": 963, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "function_setBeacon(addressbeacon,bytesmemorydata)internalvirtual{_upgradeBeaconToAndCall(beacon,data,false);}" }, "id": 1027, "node_type": 42, @@ -89633,7 +90806,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "7fd69114", + "signature": "d894e410", "modifiers": [], "overrides": [], "parameters": [ @@ -89799,7 +90972,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1037, - "is_pure": false + "is_pure": false, + "text": "beacon" }, { "id": 1038, @@ -89825,7 +90999,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1039, @@ -89857,7 +91032,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -89878,7 +91054,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeBeaconToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -90086,14 +91263,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -90230,7 +91409,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, { "id": 1068, @@ -90285,7 +91465,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" }, { "id": 1077, @@ -90340,14 +91521,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -90482,7 +91665,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){this;returnmsg.data;}" } ], "linearized_base_contracts": [ @@ -90654,14 +91838,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -90798,7 +91984,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_msgSender()internalviewvirtualreturns(address){returnmsg.sender;}" }, "id": 1056, "node_type": 42, @@ -90933,14 +92120,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" } } ] @@ -91066,7 +92255,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" }, { "id": 1077, @@ -91121,14 +92311,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -91263,7 +92455,8 @@ "type_description": { "type_identifier": "t_function_$_t_bytes$", "type_string": "function(bytes)" - } + }, + "text": "function_msgData()internalviewvirtualreturns(bytescalldata){this;returnmsg.data;}" }, "id": 1068, "node_type": 42, @@ -91362,7 +92555,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "this" }, { "id": 1077, @@ -91417,14 +92611,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "data", "argument_types": [], "type_description": { "type_identifier": "t_bytes_calldata_ptr", "type_string": "bytes calldata" - } + }, + "text": "msg.data" } } ] @@ -91931,7 +93127,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -91980,7 +93177,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1122, @@ -92000,7 +93198,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -92010,7 +93209,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 1123, @@ -92063,7 +93263,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -92109,7 +93310,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -92134,7 +93336,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -92155,7 +93358,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -92226,7 +93430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -92363,7 +93568,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, { "id": 1142, @@ -92484,7 +93690,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "owner" }, "type_description": { "type_identifier": "t_function_$", @@ -92523,7 +93730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -92561,7 +93769,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: caller is not the owner\"" } ], "expression": { @@ -92582,7 +93791,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -92607,7 +93817,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -92677,7 +93888,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1163, @@ -92718,7 +93930,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -92764,7 +93977,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -92790,7 +94004,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -92834,7 +94049,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1171, @@ -92875,7 +94091,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -92921,7 +94138,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -92936,7 +94154,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -93010,7 +94229,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" }, { "id": 1176, @@ -93102,7 +94322,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1188, @@ -93143,7 +94364,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -93189,7 +94411,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -93227,7 +94450,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -93248,7 +94472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -93285,7 +94510,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1195, @@ -93305,7 +94531,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1195, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -93326,7 +94553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -93370,7 +94598,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1200, @@ -93390,7 +94619,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1200, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -93400,7 +94630,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -93520,7 +94751,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" } ], "linearized_base_contracts": [ @@ -94117,7 +95349,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_msgSender" }, "type_description": { "type_identifier": "t_function_$", @@ -94166,7 +95399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1122, @@ -94186,7 +95420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" }, "type_description": { "type_identifier": "t_address", @@ -94196,7 +95431,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=msgSender;" }, { "id": 1123, @@ -94249,7 +95485,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -94295,7 +95532,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -94320,7 +95558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1114, - "is_pure": false + "is_pure": false, + "text": "msgSender" } ], "expression": { @@ -94341,7 +95580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } } ] @@ -94426,7 +95666,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -94563,7 +95804,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionowner()publicviewvirtualreturns(address){return_owner;}" }, "id": 1131, "node_type": 42, @@ -94675,7 +95917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" } } ] @@ -94813,7 +96056,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1163, @@ -94854,7 +96098,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -94900,7 +96145,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -94926,7 +96172,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -94970,7 +96217,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1171, @@ -95011,7 +96259,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -95057,7 +96306,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -95072,7 +96322,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -95146,7 +96397,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "functionrenounceOwnership()publicvirtualonlyOwner{emitOwnershipTransferred(_owner,address(0));_owner=address(0);}" }, "id": 1155, "node_type": 42, @@ -95242,7 +96494,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1163, @@ -95283,7 +96536,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -95329,7 +96583,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -95355,7 +96610,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -95399,7 +96655,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1171, @@ -95440,7 +96697,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -95486,7 +96744,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -95501,7 +96760,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=address(0);" } ] }, @@ -95611,7 +96871,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1188, @@ -95652,7 +96913,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -95698,7 +96960,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -95736,7 +96999,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -95757,7 +97021,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -95794,7 +97059,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1195, @@ -95814,7 +97080,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1195, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -95835,7 +97102,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -95879,7 +97147,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1200, @@ -95899,7 +97168,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1200, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -95909,7 +97179,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -96029,7 +97300,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functiontransferOwnership(addressnewOwner)publicvirtualonlyOwner{require(newOwner!=address(0),\"Ownable: new owner is the zero address\");emitOwnershipTransferred(_owner,newOwner);_owner=newOwner;}" }, "id": 1176, "node_type": 42, @@ -96202,7 +97474,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1187, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "right_expression": { "id": 1188, @@ -96243,7 +97516,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "0" } ], "expression": { @@ -96289,7 +97563,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_rational_0_by_1$", @@ -96327,7 +97602,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"Ownable: new owner is the zero address\"" } ], "expression": { @@ -96348,7 +97624,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -96385,7 +97662,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, { "id": 1195, @@ -96405,7 +97683,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1195, - "is_pure": false + "is_pure": false, + "text": "newOwner" } ], "expression": { @@ -96426,7 +97705,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1103, - "is_pure": false + "is_pure": false, + "text": "OwnershipTransferred" } }, { @@ -96470,7 +97750,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1100, - "is_pure": false + "is_pure": false, + "text": "_owner" }, "right_expression": { "id": 1200, @@ -96490,7 +97771,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1200, - "is_pure": false + "is_pure": false, + "text": "newOwner" }, "type_description": { "type_identifier": "t_address", @@ -96500,7 +97782,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_owner=newOwner;" } ] }, @@ -97019,7 +98302,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1243, - "is_pure": false + "is_pure": false, + "text": "implementation_" } ], "expression": { @@ -97040,7 +98324,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -97115,7 +98400,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" } } ] @@ -97271,7 +98557,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()publicviewvirtualoverridereturns(address){return_implementation;}" }, { "id": 1257, @@ -97345,7 +98632,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1267, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -97366,7 +98654,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -97403,7 +98692,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1269, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -97424,7 +98714,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -97545,7 +98836,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)publicvirtualonlyOwner{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, { "id": 1272, @@ -97642,7 +98934,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -97686,14 +98979,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -97726,7 +99021,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"UpgradeableBeacon: implementation is not a contract\"" } ], "expression": { @@ -97747,7 +99043,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -97795,7 +99092,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "right_expression": { "id": 1288, @@ -97815,7 +99113,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1288, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_address", @@ -97825,7 +99124,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_implementation=newImplementation;" } ] }, @@ -97915,7 +99215,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"UpgradeableBeacon: implementation is not a contract\");_implementation=newImplementation;}" } ], "linearized_base_contracts": [ @@ -98523,7 +99824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1243, - "is_pure": false + "is_pure": false, + "text": "implementation_" } ], "expression": { @@ -98544,7 +99846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -98685,7 +99988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" } } ] @@ -98841,7 +100145,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()publicviewvirtualoverridereturns(address){return_implementation;}" }, "id": 1245, "node_type": 42, @@ -98953,7 +100258,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" } } ] @@ -99098,7 +100404,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1267, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -99119,7 +100426,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -99156,7 +100464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1269, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -99177,7 +100486,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -99298,7 +100608,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)publicvirtualonlyOwner{_setImplementation(newImplementation);emitUpgraded(newImplementation);}" }, "id": 1257, "node_type": 42, @@ -99453,7 +100764,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1267, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -99474,7 +100786,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_setImplementation" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -99511,7 +100824,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1269, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -99532,7 +100846,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 633, - "is_pure": false + "is_pure": false, + "text": "Upgraded" } } ] @@ -99670,7 +100985,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -99714,14 +101030,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -99754,7 +101072,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"UpgradeableBeacon: implementation is not a contract\"" } ], "expression": { @@ -99775,7 +101094,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -99823,7 +101143,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "right_expression": { "id": 1288, @@ -99843,7 +101164,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1288, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_address", @@ -99853,7 +101175,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_implementation=newImplementation;" } ] }, @@ -99943,7 +101266,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_setImplementation(addressnewImplementation)private{require(Address.isContract(newImplementation),\"UpgradeableBeacon: implementation is not a contract\");_implementation=newImplementation;}" }, "id": 1272, "node_type": 42, @@ -100085,7 +101409,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1283, - "is_pure": false + "is_pure": false, + "text": "newImplementation" } ], "expression": { @@ -100129,14 +101454,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 239, - "is_pure": false + "is_pure": false, + "text": "Address" }, "member_name": "isContract", "argument_types": [], "type_description": { "type_identifier": "t_contract$_Address_$239", "type_string": "contract Address" - } + }, + "text": "Address.isContract" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -100169,7 +101496,8 @@ "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" } - ] + ], + "text": "\"UpgradeableBeacon: implementation is not a contract\"" } ], "expression": { @@ -100190,7 +101518,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_address$_t_string_literal$", @@ -100238,7 +101567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1227, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "right_expression": { "id": 1288, @@ -100258,7 +101588,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1288, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, "type_description": { "type_identifier": "t_address", @@ -100268,7 +101599,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "_implementation=newImplementation;" } ] }, @@ -100688,7 +102020,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 629, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" }, "right_expression": { "id": 1330, @@ -100781,7 +102114,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.implementation\"" } ], "expression": { @@ -100802,7 +102136,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -100852,7 +102187,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -100879,7 +102215,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -100929,7 +102266,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -100960,7 +102298,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -101012,7 +102351,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1343, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1344, @@ -101038,7 +102378,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_data" }, { "id": 1345, @@ -101070,7 +102411,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -101091,7 +102433,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -101203,14 +102546,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 614, - "is_pure": false + "is_pure": false, + "text": "ERC1967Upgrade" }, "member_name": "_getImplementation", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ERC1967Upgrade_$614", "type_string": "contract ERC1967Upgrade" - } + }, + "text": "ERC1967Upgrade._getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -101371,7 +102716,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(addressimpl){returnERC1967Upgrade._getImplementation();}" } ], "linearized_base_contracts": [ @@ -101792,7 +103138,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 629, - "is_pure": false + "is_pure": false, + "text": "_IMPLEMENTATION_SLOT" }, "right_expression": { "id": 1330, @@ -101885,7 +103232,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.implementation\"" } ], "expression": { @@ -101906,7 +103254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -101956,7 +103305,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -101983,7 +103333,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -102033,7 +103384,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -102064,7 +103416,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -102116,7 +103469,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1343, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1344, @@ -102142,7 +103496,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "_data" }, { "id": 1345, @@ -102174,7 +103529,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "false" } ], "expression": { @@ -102195,7 +103551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -102423,14 +103780,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 614, - "is_pure": false + "is_pure": false, + "text": "ERC1967Upgrade" }, "member_name": "_getImplementation", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ERC1967Upgrade_$614", "type_string": "contract ERC1967Upgrade" - } + }, + "text": "ERC1967Upgrade._getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -102591,7 +103950,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_implementation()internalviewvirtualoverridereturns(addressimpl){returnERC1967Upgrade._getImplementation();}" }, "id": 1347, "node_type": 42, @@ -102740,14 +104100,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 614, - "is_pure": false + "is_pure": false, + "text": "ERC1967Upgrade" }, "member_name": "_getImplementation", "argument_types": [], "type_description": { "type_identifier": "t_contract$_ERC1967Upgrade_$614", "type_string": "contract ERC1967Upgrade" - } + }, + "text": "ERC1967Upgrade._getImplementation" }, "type_description": { "type_identifier": "t_function_$", @@ -102980,7 +104342,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1400, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1401, @@ -103000,7 +104363,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1401, - "is_pure": false + "is_pure": false, + "text": "_data" } ], "modifier_name": { @@ -103245,7 +104609,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 829, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" }, "right_expression": { "id": 1407, @@ -103338,7 +104703,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.admin\"" } ], "expression": { @@ -103359,7 +104725,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -103409,7 +104776,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -103436,7 +104804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -103486,7 +104855,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -103517,7 +104887,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -103561,7 +104932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1420, - "is_pure": false + "is_pure": false, + "text": "admin_" } ], "expression": { @@ -103582,7 +104954,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -103708,14 +105081,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1429, @@ -103749,7 +105124,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -103793,7 +105169,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_" } ] } @@ -103877,7 +105254,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1446, - "is_pure": false + "is_pure": false, + "text": "admin_" }, "right_expression": { "id": 1447, @@ -103911,7 +105289,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -103926,7 +105305,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "admin_=_getAdmin();" } ] }, @@ -104092,7 +105472,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionadmin()externalifAdminreturns(addressadmin_){admin_=_getAdmin();}" }, { "id": 1450, @@ -104170,7 +105551,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1462, - "is_pure": false + "is_pure": false, + "text": "implementation_" }, "right_expression": { "id": 1463, @@ -104204,7 +105586,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -104219,7 +105602,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "implementation_=_implementation();" } ] }, @@ -104385,7 +105769,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalifAdminreturns(addressimplementation_){implementation_=_implementation();}" }, { "id": 1466, @@ -104459,7 +105844,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1476, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -104480,7 +105866,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -104605,7 +105992,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionchangeAdmin(addressnewAdmin)externalvirtualifAdmin{_changeAdmin(newAdmin);}" }, { "id": 1478, @@ -104687,7 +106075,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1489, @@ -104726,7 +106115,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -104771,7 +106161,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -104808,7 +106199,8 @@ "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" } - ] + ], + "text": "false" } ], "expression": { @@ -104829,7 +106221,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_bool$", @@ -104954,7 +106347,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)externalifAdmin{_upgradeToAndCall(newImplementation,bytes(\"\"),false);}" }, { "id": 1495, @@ -105036,7 +106430,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1507, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1508, @@ -105062,7 +106457,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1509, @@ -105094,7 +106490,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "true" } ], "expression": { @@ -105115,7 +106512,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -105277,13 +106675,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeToAndCall(address, bytes)", - "signature": "cf553a4d", + "signature_raw": "upgradeToAndCall(address,bytes)", + "signature": "4f1ef286", "scope": 1385, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionupgradeToAndCall(addressnewImplementation,bytescalldatadata)externalpayableifAdmin{_upgradeToAndCall(newImplementation,data,true);}" }, { "id": 1511, @@ -105364,7 +106763,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -105506,7 +106906,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_admin()internalviewvirtualreturns(address){return_getAdmin();}" }, { "id": 1523, @@ -105621,14 +107022,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1533, @@ -105662,7 +107065,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -105700,7 +107104,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\"" } ], "expression": { @@ -105721,7 +107126,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -105783,14 +107189,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_beforeFallback", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -105858,7 +107266,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_beforeFallback()internalvirtualoverride{require(msg.sender!=_getAdmin(),\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\");super._beforeFallback();}" } ], "linearized_base_contracts": [ @@ -106034,7 +107443,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1400, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1401, @@ -106054,7 +107464,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1401, - "is_pure": false + "is_pure": false, + "text": "_data" } ], "modifier_name": { @@ -106299,7 +107710,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 829, - "is_pure": false + "is_pure": false, + "text": "_ADMIN_SLOT" }, "right_expression": { "id": 1407, @@ -106392,7 +107804,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"eip1967.proxy.admin\"" } ], "expression": { @@ -106413,7 +107826,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "keccak256" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -106463,7 +107877,8 @@ "type_identifier": "t_uint256", "type_string": "uint256" } - ] + ], + "text": "uint256" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -106490,7 +107905,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "1" }, "type_description": { "type_identifier": "t_function_$_t_function__t_string_literal$", @@ -106540,7 +107956,8 @@ "type_identifier": "t_bytes32", "type_string": "bytes32" } - ] + ], + "text": "bytes32" }, "type_description": { "type_identifier": "t_function_$_t_function_$_t_function__t_string_literal$", @@ -106571,7 +107988,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "assert" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -106615,7 +108033,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1420, - "is_pure": false + "is_pure": false, + "text": "admin_" } ], "expression": { @@ -106636,7 +108055,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -106698,7 +108118,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1400, - "is_pure": false + "is_pure": false, + "text": "_logic" }, { "id": 1401, @@ -106718,7 +108139,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1401, - "is_pure": false + "is_pure": false, + "text": "_data" } ], "modifier_name": { @@ -106984,7 +108406,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1446, - "is_pure": false + "is_pure": false, + "text": "admin_" }, "right_expression": { "id": 1447, @@ -107018,7 +108441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -107033,7 +108457,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "admin_=_getAdmin();" } ] }, @@ -107199,7 +108624,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionadmin()externalifAdminreturns(addressadmin_){admin_=_getAdmin();}" }, "id": 1434, "node_type": 42, @@ -107358,7 +108784,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1446, - "is_pure": false + "is_pure": false, + "text": "admin_" }, "right_expression": { "id": 1447, @@ -107392,7 +108819,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -107407,7 +108835,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "admin_=_getAdmin();" } ] }, @@ -107555,7 +108984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1462, - "is_pure": false + "is_pure": false, + "text": "implementation_" }, "right_expression": { "id": 1463, @@ -107589,7 +109019,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -107604,7 +109035,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "implementation_=_implementation();" } ] }, @@ -107770,7 +109202,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionimplementation()externalifAdminreturns(addressimplementation_){implementation_=_implementation();}" }, "id": 1450, "node_type": 42, @@ -107929,7 +109362,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1462, - "is_pure": false + "is_pure": false, + "text": "implementation_" }, "right_expression": { "id": 1463, @@ -107963,7 +109397,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_implementation" }, "type_description": { "type_identifier": "t_function_$", @@ -107978,7 +109413,8 @@ "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "implementation_=_implementation();" } ] }, @@ -108122,7 +109558,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1476, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -108143,7 +109580,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -108268,7 +109706,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionchangeAdmin(addressnewAdmin)externalvirtualifAdmin{_changeAdmin(newAdmin);}" }, "id": 1466, "node_type": 42, @@ -108423,7 +109862,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1476, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -108444,7 +109884,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -108571,7 +110012,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1489, @@ -108610,7 +110052,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -108655,7 +110098,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -108692,7 +110136,8 @@ "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" } - ] + ], + "text": "false" } ], "expression": { @@ -108713,7 +110158,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_bool$", @@ -108838,7 +110284,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "functionupgradeTo(addressnewImplementation)externalifAdmin{_upgradeToAndCall(newImplementation,bytes(\"\"),false);}" }, "id": 1478, "node_type": 42, @@ -109001,7 +110448,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1488, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1489, @@ -109040,7 +110488,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "\"\"" } ], "expression": { @@ -109085,7 +110534,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "bytes" }, "type_description": { "type_identifier": "t_function__t_string_literal$", @@ -109122,7 +110572,8 @@ "type_identifier": "t_function__t_string_literal$", "type_string": "function(string memory)" } - ] + ], + "text": "false" } ], "expression": { @@ -109143,7 +110594,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_function__t_string_literal$_t_bool$", @@ -109278,7 +110730,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1507, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1508, @@ -109304,7 +110757,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1509, @@ -109336,7 +110790,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "true" } ], "expression": { @@ -109357,7 +110812,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -109519,13 +110975,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeToAndCall(address, bytes)", - "signature": "cf553a4d", + "signature_raw": "upgradeToAndCall(address,bytes)", + "signature": "4f1ef286", "scope": 1385, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$", "type_string": "function(address,bytes)" - } + }, + "text": "functionupgradeToAndCall(addressnewImplementation,bytescalldatadata)externalpayableifAdmin{_upgradeToAndCall(newImplementation,data,true);}" }, "id": 1495, "node_type": 42, @@ -109536,7 +110993,7 @@ "state_mutability": 3, "virtual": false, "referenced_declaration_id": 0, - "signature": "cf553a4d", + "signature": "4f1ef286", "modifiers": [ { "ast": { @@ -109738,7 +111195,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1507, - "is_pure": false + "is_pure": false, + "text": "newImplementation" }, { "id": 1508, @@ -109764,7 +111222,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" }, { "id": 1509, @@ -109796,7 +111255,8 @@ "type_identifier": "t_bytes", "type_string": "bytes" } - ] + ], + "text": "true" } ], "expression": { @@ -109817,7 +111277,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_upgradeToAndCall" }, "type_description": { "type_identifier": "t_function_$_t_address$_t_bytes$_t_bool$", @@ -109951,7 +111412,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -110093,7 +111555,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "function_admin()internalviewvirtualreturns(address){return_getAdmin();}" }, "id": 1511, "node_type": 42, @@ -110219,7 +111682,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -110410,14 +111874,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1533, @@ -110451,7 +111917,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -110489,7 +111956,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\"" } ], "expression": { @@ -110510,7 +111978,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -110572,14 +112041,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_beforeFallback", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -110647,7 +112118,8 @@ "type_description": { "type_identifier": "t_function_$", "type_string": "function()" - } + }, + "text": "function_beforeFallback()internalvirtualoverride{require(msg.sender!=_getAdmin(),\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\");super._beforeFallback();}" }, "id": 1523, "node_type": 42, @@ -110755,14 +112227,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "msg" }, "member_name": "sender", "argument_types": [], "type_description": { "type_identifier": "t_address", "type_string": "address" - } + }, + "text": "msg.sender" }, "right_expression": { "id": 1533, @@ -110796,7 +112270,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "_getAdmin" }, "type_description": { "type_identifier": "t_function_$", @@ -110834,7 +112309,8 @@ "type_identifier": "t_bool", "type_string": "bool" } - ] + ], + "text": "\"TransparentUpgradeableProxy: admin cannot fallback to proxy target\"" } ], "expression": { @@ -110855,7 +112331,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$_t_string_literal$", @@ -110917,14 +112394,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "super" }, "member_name": "_beforeFallback", "argument_types": [], "type_description": { "type_identifier": "t_magic_super", "type_string": "super" - } + }, + "text": "super._beforeFallback" }, "type_description": { "type_identifier": "t_function_$", @@ -111313,7 +112792,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"5c60da1b\"" } ], "expression": { @@ -111376,7 +112856,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1590, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -111422,7 +112903,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -111434,7 +112916,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -111479,7 +112962,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -111500,7 +112984,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -111560,7 +113045,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1600, @@ -111613,7 +113099,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -111663,14 +113150,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -111832,7 +113321,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyImplementation(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"5c60da1b\");require(success);returnabi.decode(returndata,(address));}" }, { "id": 1604, @@ -112013,7 +113503,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"f851a440\"" } ], "expression": { @@ -112076,7 +113567,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1623, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -112122,7 +113614,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -112134,7 +113627,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -112179,7 +113673,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -112200,7 +113695,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -112260,7 +113756,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1633, @@ -112313,7 +113810,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -112363,14 +113861,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -112532,7 +114032,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyAdmin(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"f851a440\");require(success);returnabi.decode(returndata,(address));}" }, { "id": 1637, @@ -112606,7 +114107,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1651, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -112650,14 +114152,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1650, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "changeAdmin", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -112840,13 +114344,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "changeProxyAdmin(, address)", - "signature": "2767cae2", + "signature_raw": "changeProxyAdmin(,address)", + "signature": "3450da5f", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionchangeProxyAdmin(TransparentUpgradeableProxyproxy,addressnewAdmin)publicvirtualonlyOwner{proxy.changeAdmin(newAdmin);}" }, { "id": 1653, @@ -112920,7 +114425,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "implementation" } ], "expression": { @@ -112964,14 +114470,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1666, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeTo", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeTo" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -113154,13 +114662,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgrade(, address)", - "signature": "4d8866a1", + "signature_raw": "upgrade(,address)", + "signature": "9bb0528c", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionupgrade(TransparentUpgradeableProxyproxy,addressimplementation)publicvirtualonlyOwner{proxy.upgradeTo(implementation);}" }, { "id": 1669, @@ -113238,7 +114747,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1686, - "is_pure": false + "is_pure": false, + "text": "implementation" }, { "id": 1687, @@ -113264,7 +114774,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -113320,14 +114831,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1685, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeToAndCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeToAndCall" }, "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", @@ -113558,13 +115071,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeAndCall(, address, bytes)", - "signature": "2bf09e1e", + "signature_raw": "upgradeAndCall(,address,bytes)", + "signature": "c044ab52", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$_t_bytes$", "type_string": "function(contract TransparentUpgradeableProxy,address,bytes)" - } + }, + "text": "functionupgradeAndCall(TransparentUpgradeableProxyproxy,addressimplementation,bytesmemorydata)publicpayablevirtualonlyOwner{proxy.upgradeToAndCall{value:msg.value}(implementation,data);}" } ], "linearized_base_contracts": [ @@ -113933,7 +115447,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"5c60da1b\"" } ], "expression": { @@ -113996,7 +115511,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1590, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -114042,7 +115558,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -114054,7 +115571,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -114099,7 +115617,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -114120,7 +115639,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -114180,7 +115700,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1600, @@ -114233,7 +115754,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -114283,14 +115805,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -114452,7 +115976,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyImplementation(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"5c60da1b\");require(success);returnabi.decode(returndata,(address));}" }, "id": 1571, "node_type": 42, @@ -114698,7 +116223,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"5c60da1b\"" } ], "expression": { @@ -114761,7 +116287,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1590, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -114807,7 +116334,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -114819,7 +116347,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -114864,7 +116393,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -114885,7 +116415,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -114945,7 +116476,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1580, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1600, @@ -114998,7 +116530,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -115048,14 +116581,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -115333,7 +116868,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"f851a440\"" } ], "expression": { @@ -115396,7 +116932,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1623, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -115442,7 +116979,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -115454,7 +116992,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -115499,7 +117038,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -115520,7 +117060,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -115580,7 +117121,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1633, @@ -115633,7 +117175,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -115683,14 +117226,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -115852,7 +117397,8 @@ "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$", "type_string": "function(contract TransparentUpgradeableProxy)" - } + }, + "text": "functiongetProxyAdmin(TransparentUpgradeableProxyproxy)publicviewvirtualreturns(address){(boolsuccess,bytesmemoryreturndata)=address(proxy).staticcall(hex\"f851a440\");require(success);returnabi.decode(returndata,(address));}" }, "id": 1604, "node_type": 42, @@ -116098,7 +117644,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "hex\"f851a440\"" } ], "expression": { @@ -116161,7 +117708,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1623, - "is_pure": false + "is_pure": false, + "text": "proxy" } ], "expression": { @@ -116207,7 +117755,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "address" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -116219,7 +117768,8 @@ "type_description": { "type_identifier": "t_function_$_t_address$", "type_string": "function(address)" - } + }, + "text": "address(proxy).staticcall" }, "type_description": { "type_identifier": "t_function_$_t_string_hex_literal$", @@ -116264,7 +117814,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "success" } ], "expression": { @@ -116285,7 +117836,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": true + "is_pure": true, + "text": "require" }, "type_description": { "type_identifier": "t_function_$_t_bool$", @@ -116345,7 +117897,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1613, - "is_pure": false + "is_pure": false, + "text": "returndata" }, { "id": 1633, @@ -116398,7 +117951,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "address" } ], "type_description": { @@ -116448,14 +118002,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 0, - "is_pure": false + "is_pure": false, + "text": "abi" }, "member_name": "decode", "argument_types": [], "type_description": { "type_identifier": "t_magic_abi", "type_string": "abi" - } + }, + "text": "abi.decode" }, "type_description": { "type_identifier": "t_function_$_t_bytes$_t_tuple_$_t_address$", @@ -116626,7 +118182,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1651, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -116670,14 +118227,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1650, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "changeAdmin", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -116860,13 +118419,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "changeProxyAdmin(, address)", - "signature": "2767cae2", + "signature_raw": "changeProxyAdmin(,address)", + "signature": "3450da5f", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionchangeProxyAdmin(TransparentUpgradeableProxyproxy,addressnewAdmin)publicvirtualonlyOwner{proxy.changeAdmin(newAdmin);}" }, "id": 1637, "node_type": 42, @@ -116877,7 +118437,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "2767cae2", + "signature": "3450da5f", "modifiers": [ { "ast": { @@ -117092,7 +118652,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1651, - "is_pure": false + "is_pure": false, + "text": "newAdmin" } ], "expression": { @@ -117136,14 +118697,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1650, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "changeAdmin", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.changeAdmin" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -117262,7 +118825,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "implementation" } ], "expression": { @@ -117306,14 +118870,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1666, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeTo", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeTo" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -117496,13 +119062,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgrade(, address)", - "signature": "4d8866a1", + "signature_raw": "upgrade(,address)", + "signature": "9bb0528c", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$", "type_string": "function(contract TransparentUpgradeableProxy,address)" - } + }, + "text": "functionupgrade(TransparentUpgradeableProxyproxy,addressimplementation)publicvirtualonlyOwner{proxy.upgradeTo(implementation);}" }, "id": 1653, "node_type": 42, @@ -117513,7 +119080,7 @@ "state_mutability": 4, "virtual": true, "referenced_declaration_id": 0, - "signature": "4d8866a1", + "signature": "9bb0528c", "modifiers": [ { "ast": { @@ -117728,7 +119295,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1667, - "is_pure": false + "is_pure": false, + "text": "implementation" } ], "expression": { @@ -117772,14 +119340,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1666, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeTo", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeTo" }, "type_description": { "type_identifier": "t_function_$_t_address$", @@ -117902,7 +119472,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1686, - "is_pure": false + "is_pure": false, + "text": "implementation" }, { "id": 1687, @@ -117928,7 +119499,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -117984,14 +119556,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1685, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeToAndCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeToAndCall" }, "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", @@ -118222,13 +119796,14 @@ "parameters": [], "parameter_types": [] }, - "signature_raw": "upgradeAndCall(, address, bytes)", - "signature": "2bf09e1e", + "signature_raw": "upgradeAndCall(,address,bytes)", + "signature": "c044ab52", "scope": 1567, "type_description": { "type_identifier": "t_function_$_t_contract$_TransparentUpgradeableProxy_$1360$_t_address$_t_bytes$", "type_string": "function(contract TransparentUpgradeableProxy,address,bytes)" - } + }, + "text": "functionupgradeAndCall(TransparentUpgradeableProxyproxy,addressimplementation,bytesmemorydata)publicpayablevirtualonlyOwner{proxy.upgradeToAndCall{value:msg.value}(implementation,data);}" }, "id": 1669, "node_type": 42, @@ -118239,7 +119814,7 @@ "state_mutability": 3, "virtual": true, "referenced_declaration_id": 0, - "signature": "2bf09e1e", + "signature": "c044ab52", "modifiers": [ { "ast": { @@ -118508,7 +120083,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1686, - "is_pure": false + "is_pure": false, + "text": "implementation" }, { "id": 1687, @@ -118534,7 +120110,8 @@ "type_identifier": "t_address", "type_string": "address" } - ] + ], + "text": "data" } ], "expression": { @@ -118590,14 +120167,16 @@ }, "overloaded_declarations": [], "referenced_declaration": 1685, - "is_pure": false + "is_pure": false, + "text": "proxy" }, "member_name": "upgradeToAndCall", "argument_types": [], "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", "type_string": "contract TransparentUpgradeableProxy" - } + }, + "text": "proxy.upgradeToAndCall" }, "type_description": { "type_identifier": "t_contract$_TransparentUpgradeableProxy_$1360", @@ -118932,7 +120511,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1737, - "is_pure": false + "is_pure": false, + "text": "logic" }, { "id": 1738, @@ -118952,7 +120532,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1738, - "is_pure": false + "is_pure": false, + "text": "admin" }, { "id": 1739, @@ -118972,7 +120553,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1739, - "is_pure": false + "is_pure": false, + "text": "data" } ], "modifier_name": { @@ -119522,7 +121104,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1737, - "is_pure": false + "is_pure": false, + "text": "logic" }, { "id": 1738, @@ -119542,7 +121125,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1738, - "is_pure": false + "is_pure": false, + "text": "admin" }, { "id": 1739, @@ -119562,7 +121146,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1739, - "is_pure": false + "is_pure": false, + "text": "data" } ], "modifier_name": { @@ -119814,7 +121399,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1737, - "is_pure": false + "is_pure": false, + "text": "logic" }, { "id": 1738, @@ -119834,7 +121420,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1738, - "is_pure": false + "is_pure": false, + "text": "admin" }, { "id": 1739, @@ -119854,7 +121441,8 @@ }, "overloaded_declarations": [], "referenced_declaration": 1739, - "is_pure": false + "is_pure": false, + "text": "data" } ], "modifier_name": { diff --git a/data/tests/ir/TransparentUpgradeableProxy.ir.proto.json b/data/tests/ir/TransparentUpgradeableProxy.ir.proto.json index eafb19ff..246af1ef 100644 --- a/data/tests/ir/TransparentUpgradeableProxy.ir.proto.json +++ b/data/tests/ir/TransparentUpgradeableProxy.ir.proto.json @@ -416,7 +416,7 @@ } ] }, - "signature": "557790e6" + "signature": "cd3a2a84" }, { "id": 301, @@ -452,7 +452,7 @@ "id": 310, "node_type": 46 }, - "signature": "61c524b8", + "signature": "a0b5ffb0", "return": [ { "id": 308, @@ -509,7 +509,7 @@ "id": 329, "node_type": 46 }, - "signature": "5f581aaa", + "signature": "241b5886", "return": [ { "id": 327, @@ -566,7 +566,7 @@ "id": 349, "node_type": 46 }, - "signature": "9a466078", + "signature": "2a011594", "return": [ { "id": 347, @@ -681,7 +681,7 @@ } ] }, - "signature": "7a931a92", + "signature": "d525ab8a", "return": [ { "id": 369, @@ -728,7 +728,7 @@ "id": 414, "node_type": 46 }, - "signature": "35b5002e", + "signature": "c21d36f3", "return": [ { "id": 412, @@ -810,7 +810,7 @@ } ] }, - "signature": "47374319", + "signature": "dbc40fb9", "return": [ { "id": 431, @@ -857,7 +857,7 @@ "id": 465, "node_type": 46 }, - "signature": "ce0c9802", + "signature": "ee33b7e2", "return": [ { "id": 463, @@ -939,7 +939,7 @@ } ] }, - "signature": "a6f0db75", + "signature": "57387df0", "return": [ { "id": 482, @@ -996,7 +996,7 @@ "id": 518, "node_type": 46 }, - "signature": "2ce6cb58", + "signature": "18c2c6a2", "return": [ { "id": 516, @@ -1710,7 +1710,7 @@ } ] }, - "signature": "b2f571b5" + "signature": "267b04ae" }, { "id": 718, @@ -1781,7 +1781,7 @@ } ] }, - "signature": "1d5980d3" + "signature": "ce2ea66a" }, { "id": 795, @@ -1852,7 +1852,7 @@ } ] }, - "signature": "01ace874" + "signature": "9ba186fe" }, { "id": 840, @@ -2358,7 +2358,7 @@ } ] }, - "signature": "7fd69114" + "signature": "d894e410" } ] }, @@ -3529,7 +3529,7 @@ } ] }, - "signature": "cf553a4d" + "signature": "4f1ef286" }, { "id": 1511, @@ -3873,7 +3873,7 @@ } ] }, - "signature": "2767cae2" + "signature": "3450da5f" }, { "id": 1653, @@ -3940,7 +3940,7 @@ } ] }, - "signature": "4d8866a1" + "signature": "9bb0528c" }, { "id": 1669, @@ -4021,7 +4021,7 @@ } ] }, - "signature": "2bf09e1e" + "signature": "c044ab52" } ] }, diff --git a/exchanges/docs.go b/exchanges/docs.go new file mode 100644 index 00000000..d9888b38 --- /dev/null +++ b/exchanges/docs.go @@ -0,0 +1,6 @@ +// Package exchanges provides an interface and utilities for interacting +// with different cryptocurrency exchanges. It supports functionalities +// common to various exchanges, allowing easy integration and interaction +// with Ethereum-based networks. + +package exchanges diff --git a/exchanges/interface.go b/exchanges/interface.go new file mode 100644 index 00000000..3ae43b08 --- /dev/null +++ b/exchanges/interface.go @@ -0,0 +1,26 @@ +package exchanges + +import ( + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +// Exchange is an interface defining methods to interact with cryptocurrency exchanges. +// It allows fetching network details, router and factory addresses, and specific exchange options. +type Exchange interface { + // GetRouterAddress returns the Ethereum address of the router contract for the exchange. + // This address is used to interact with the router contract, which handles token swaps and other operations. + GetRouterAddress() common.Address + + // GetFactoryAddress returns the Ethereum address of the factory contract for the exchange. + // The factory contract is responsible for creating new liquidity pools and other administrative tasks. + GetFactoryAddress() common.Address + + // GetOptions returns a pointer to ExchangeOptions which includes optional settings and configurations + // for interacting with the exchange. This could include fees, slippage tolerance, and other parameters. + GetOptions() *ExchangeOptions + + // GetType returns the type of exchange. + // This is used to determine which exchange to use when interacting with the blockchain. + GetType() utils.ExchangeType +} diff --git a/exchanges/manager.go b/exchanges/manager.go new file mode 100644 index 00000000..d9379780 --- /dev/null +++ b/exchanges/manager.go @@ -0,0 +1,68 @@ +package exchanges + +import ( + "context" + "fmt" + + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" +) + +type Manager struct { + ctx context.Context + clientPool *clients.ClientPool + opts *Options + exchanges map[utils.ExchangeType]Exchange +} + +func NewManager(ctx context.Context, clientPool *clients.ClientPool, opts *Options) (*Manager, error) { + if clientPool == nil { + return nil, fmt.Errorf("client pool cannot be nil") + } + + if opts == nil { + return nil, fmt.Errorf("options cannot be nil") + } + + if err := opts.Validate(); err != nil { + return nil, err + } + + return &Manager{ + ctx: ctx, + clientPool: clientPool, + opts: opts, + exchanges: make(map[utils.ExchangeType]Exchange), + }, nil +} + +// RegisterExchange registers a new exchange. +func (m *Manager) RegisterExchange(name utils.ExchangeType, bindManager *bindings.Manager, exchangeFn exchangeFn) error { + if _, ok := m.exchanges[name]; ok { + return fmt.Errorf("exchange %s already registered", name) + } + + if err := registerExchange(name, exchangeFn); err != nil { + return err + } + + exchange, err := exchangeFn(m.ctx, m.clientPool, bindManager, m.opts.GetExchange(name)) + if err != nil { + return err + } + + m.exchanges[name] = exchange + return nil +} + +// GetExchange retrieves an exchange. +func (m *Manager) GetExchange(name utils.ExchangeType) (Exchange, bool) { + exchange, ok := m.exchanges[name] + return exchange, ok +} + +// GetExchanges retrieves the exchanges map. +func (m *Manager) GetExchanges() map[utils.ExchangeType]Exchange { + return m.exchanges +} diff --git a/exchanges/manager_test.go b/exchanges/manager_test.go new file mode 100644 index 00000000..f295f749 --- /dev/null +++ b/exchanges/manager_test.go @@ -0,0 +1,87 @@ +package exchanges + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" +) + +func TestExchangeManager(t *testing.T) { + tAssert := assert.New(t) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + clientOptions := &clients.Options{ + Nodes: []clients.Node{ + { + Group: string(utils.Ethereum), + Type: "mainnet", + Endpoint: "https://ethereum.publicnode.com", + NetworkId: 1, + ConcurrentClientsNumber: 1, + }, + }, + } + + pool, err := clients.NewClientPool(ctx, clientOptions) + tAssert.NoError(err) + tAssert.NotNil(pool) + + manager, err := NewManager(ctx, pool, DefaultOptions()) + tAssert.NoError(err) + tAssert.NotNil(manager) +} + +func TestUniswapV2Exchange(t *testing.T) { + tAssert := assert.New(t) + + config := zap.NewDevelopmentConfig() + config.Level = zap.NewAtomicLevelAt(zap.InfoLevel) + config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder + logger, err := config.Build() + tAssert.NoError(err) + zap.ReplaceGlobals(logger) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + clientOptions := &clients.Options{ + Nodes: []clients.Node{ + { + Group: string(utils.Ethereum), + Type: "mainnet", + Endpoint: "https://ethereum.publicnode.com", + NetworkId: 1, + ConcurrentClientsNumber: 1, + }, + }, + } + + pool, err := clients.NewClientPool(ctx, clientOptions) + tAssert.NoError(err) + tAssert.NotNil(pool) + + manager, err := NewManager(ctx, pool, DefaultOptions()) + tAssert.NoError(err) + tAssert.NotNil(manager) + + exchange, found := manager.GetExchange(utils.UniswapV2) + tAssert.True(found) + tAssert.NotNil(exchange) + + // Lets cast the exchange to a UniswapV2Exchange so we can properly use it... + // I want to avoid using generics as they are not yet where I want them to be. Therefore, we are going to + // type cast interface into a proper type and using from there. + // What you can do is have a manager of your own, a small one that would have all of necessary castings done in the + // beginning and then you can use it as you wish with minimal impact on the performance. + uniswapv2 := ToUniswapV2(exchange) + tAssert.NotNil(uniswapv2) + tAssert.IsType(&UniswapV2Exchange{}, uniswapv2) + +} diff --git a/exchanges/options.go b/exchanges/options.go new file mode 100644 index 00000000..99dbd036 --- /dev/null +++ b/exchanges/options.go @@ -0,0 +1,115 @@ +package exchanges + +import ( + "fmt" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +// ExchangeOptions represents the configuration options for a single cryptocurrency exchange. +// It includes network settings, exchange type, and addresses for router and factory contracts. +type ExchangeOptions struct { + Networks []utils.Network `json:"networks" yaml:"networks" mapstructure:"networks"` // List of networks that the exchange operates on. + Exchange utils.ExchangeType `json:"exchange" yaml:"exchange" mapstructure:"exchange"` // The type of exchange, e.g., UniswapV2, SushiSwap. + RouterAddress common.Address `json:"router_address" yaml:"router_address" mapstructure:"router_address"` // Ethereum address of the router contract. + FactoryAddress common.Address `json:"factory_address" yaml:"factory_address" mapstructure:"factory_address"` // Ethereum address of the factory contract. +} + +// Validate checks the validity of the ExchangeOptions. +// It ensures that necessary fields are not empty and contain valid data. +func (o *ExchangeOptions) Validate() error { + if len(o.Networks) < 1 { + return fmt.Errorf("networks cannot be empty") + } + + if o.Exchange == "" { + return fmt.Errorf("exchange cannot be empty") + } + + if !common.IsHexAddress(o.RouterAddress.Hex()) { + return fmt.Errorf("router address cannot be empty") + } + + if !common.IsHexAddress(o.FactoryAddress.Hex()) { + return fmt.Errorf("factory address cannot be empty") + } + + return nil +} + +// Options represents the configuration for multiple exchanges. +type Options struct { + Exchanges []ExchangeOptions `json:"exchanges" yaml:"exchanges" mapstructure:"exchanges"` +} + +// Validate checks the validity of the Options. +// It ensures that there is at least one exchange specified and each exchange option is valid. +func (o *Options) Validate() error { + if len(o.Exchanges) == 0 { + return fmt.Errorf("you need to specify at least one exchange") + } + + for _, exchange := range o.Exchanges { + if err := exchange.Validate(); err != nil { + return err + } + } + + return nil +} + +// GetExchange retrieves the ExchangeOptions for a specified exchange name. +// It returns nil if the exchange is not found in the options. +func (o *Options) GetExchange(name utils.ExchangeType) *ExchangeOptions { + for _, exchange := range o.Exchanges { + if exchange.Exchange == name { + return &exchange + } + } + + return nil +} + +// DefaultOptions provides a set of default options for common exchanges. +// This includes predefined settings for exchanges like Uniswap, SushiSwap, and Pancakeswap. +func DefaultOptions() *Options { + return &Options{ + Exchanges: []ExchangeOptions{ + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + Exchange: utils.UniswapV2, + // https://etherscan.io/address/0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D + RouterAddress: common.HexToAddress("0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D"), + // https://etherscan.io/address/0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f + FactoryAddress: common.HexToAddress("0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f"), + }, + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + Exchange: utils.UniswapV3, + // https://etherscan.io/address/0xe592427a0aece92de3edee1f18e0157c05861564 + RouterAddress: common.HexToAddress("0xe592427a0aece92de3edee1f18e0157c05861564"), + // https://etherscan.io/address/0x1F98431c8aD98523631AE4a59f267346ea31F984 + FactoryAddress: common.HexToAddress("0x1F98431c8aD98523631AE4a59f267346ea31F984"), + }, + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + // https://docs.sushi.com/docs/Products/Classic%20AMM/Overview + Exchange: utils.SushiSwap, + // https://etherscan.io/address/0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F + RouterAddress: common.HexToAddress("0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F"), + // https://etherscan.io/address/0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac + FactoryAddress: common.HexToAddress("0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac"), + }, + { + Networks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + // https://docs.pancakeswap.finance/developers/smart-contracts/pancakeswap-exchange/v2-contracts + Exchange: utils.PancakeswapV2, + // https://bscscan.com/address/0x10ed43c718714eb63d5aa57b78b54704e256024e + RouterAddress: common.HexToAddress("0x10ED43C718714eb63d5aA57B78B54704E256024E"), + // https://bscscan.com/address/0xca143ce32fe78f1f7019d7d551a6402fc5350c73 + FactoryAddress: common.HexToAddress("0xca143ce32fe78f1f7019d7d551a6402fc5350c73"), + }, + }, + } +} diff --git a/exchanges/registry.go b/exchanges/registry.go new file mode 100644 index 00000000..111001ca --- /dev/null +++ b/exchanges/registry.go @@ -0,0 +1,47 @@ +package exchanges + +import ( + "context" + "fmt" + + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" +) + +// exchangeFn is a function type that returns an Exchange instance and an error. +type exchangeFn func(ctx context.Context, clientsPool *clients.ClientPool, bindManager *bindings.Manager, opts *ExchangeOptions) (Exchange, error) + +// exchanges is a map of exchange functions, keyed by a string. +var exchanges = make(map[utils.ExchangeType]exchangeFn) + +// RegisterExchange stores the exchange function in the exchanges map. +func registerExchange(name utils.ExchangeType, exchange exchangeFn) error { + if _, ok := exchanges[name]; ok { + return fmt.Errorf("exchange %s already registered", name) + } + + exchanges[name] = exchange + return nil +} + +// GetExchange retrieves an exchange function from the exchanges map. +func GetExchange(name utils.ExchangeType) (exchangeFn, bool) { + if exchange, ok := exchanges[name]; ok { + return exchange, true + } + + return nil, false +} + +// GetExchanges retrieves the exchanges map. +func GetExchanges() map[utils.ExchangeType]exchangeFn { + return exchanges +} + +/* func init() { + registerExchange(utils.UniswapV2, func(ctx context.Context, clientsPool *clients.ClientPool, opts *ExchangeOptions) (Exchange, error) { + uniswapBind. := bindings.NewManager(ctx, clientsPool) + return NewUniswapV2(ctx, clientsPool, opts) + }) +} */ diff --git a/exchanges/trade.go b/exchanges/trade.go new file mode 100644 index 00000000..850fbcb3 --- /dev/null +++ b/exchanges/trade.go @@ -0,0 +1,122 @@ +package exchanges + +import ( + "math/big" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/bytecode" + "github.com/unpackdev/solgo/utils" + "github.com/unpackdev/solgo/utils/entities" +) + +type PairReserves struct { + Token0 common.Address `json:"token0"` + Token1 common.Address `json:"token1"` + Reserve0 *big.Int `json:"reserve0"` + Reserve1 *big.Int `json:"reserve1"` + BlockTime time.Time `json:"block_time"` +} + +type AuditApprovalResults struct { + Detected bool `json:"detected"` + ApprovalRequested bool `json:"approval_requested"` + Approved bool `json:"approved"` + TxHash common.Hash `json:"transaction_hash"` + Receipt bool `json:"receipt"` + ReceiptStatus uint64 `json:"receipt_status"` + GasUsedRaw uint64 `json:"gas_used_raw"` + GasUsed string `json:"gas_used"` + Logs []*bytecode.Log `json:"logs"` +} + +type AuditSwapResults struct { + Detected bool `json:"detected"` + Failure bool `json:"failure"` + FailureReasons []string `json:"failure_reasons"` + SwapRequested bool `json:"swap_requested"` + PairDetails []common.Address `json:"pair_details"` + TxHash common.Hash `json:"transaction_hash"` + Receipt bool `json:"receipt"` + ReceiptStatus uint64 `json:"receipt_status"` + Logs []*bytecode.Log `json:"logs"` + GasUsedRaw uint64 `json:"gas_used_raw"` + GasUsed string `json:"gas_used"` + SwapReceivedAmountRaw *big.Int `json:"swap_received_amount_raw"` + SwapReceivedAmount string `json:"swap_received_amount"` + ReceivedAmountRaw *big.Int `json:"received_amount_raw"` + ReceivedAmount string `json:"received_amount"` + TaxRaw *big.Int `json:"tax_raw"` + Tax string `json:"tax"` +} + +type AuditBuyOrSellResults struct { + Detected bool `json:"detected"` + Approval *AuditApprovalResults `json:"approval"` + Results *AuditSwapResults `json:"results"` +} + +type TradeDescriptor struct { + Network utils.Network `json:"network"` + NetworkID utils.NetworkID `json:"network_id"` + Simulation bool `json:"simulation"` + ExchangeType utils.ExchangeType `json:"exchange_type"` + TradeType utils.TradeType `json:"trade_type"` + SpenderAddress common.Address `json:"spender_address"` + SpenderBalanceBefore *big.Int `json:"spender_balance_before"` + SpenderBalanceAfter *big.Int `json:"spender_balance_after"` + AmountRaw *big.Int `json:"amount_raw"` + Amount string `json:"amount"` + RouterAddress common.Address `json:"router_address"` + FactoryAddress common.Address `json:"factory_address"` + WETHAddress common.Address `json:"weth_address"` + PairAddress common.Address `json:"pair_address"` + PairReserves *PairReserves `json:"pair_reserves"` + UsdToEthPriceRaw *entities.Price `json:"-"` + UsdToEthPrice string `json:"usd_to_eth_price"` + EthToUsdPriceRaw *entities.Price `json:"-"` + EthToUsdPrice string `json:"eth_to_usd_price"` + Price *entities.Price `json:"-"` + PricePerToken string `json:"price_per_token"` + PricePerTokenUsdRaw *entities.Price `json:"-"` + PricePerTokenUsd string `json:"price_per_token_usd"` + MaxAmountRaw *big.Int `json:"max_amount_raw"` + MaxAmount string `json:"max_amount"` + Trade *AuditBuyOrSellResults `json:"trade"` +} + +func (d *TradeDescriptor) HasTrade() bool { + return d.Trade != nil && d.Trade.Detected +} + +func (d *TradeDescriptor) HasResults() bool { + return d.HasTrade() && d.Trade.Results != nil +} + +func (d *TradeDescriptor) HasApproval() bool { + return d.HasTrade() && d.Trade.Approval != nil +} + +func (d *TradeDescriptor) IsApproved() bool { + return d.HasApproval() && d.Trade.Approval.Approved +} + +func (d *TradeDescriptor) IsSuccessful() bool { + return d.HasTrade() && d.Trade.Results != nil && !d.Trade.Results.Failure +} + +func (d *TradeDescriptor) GetTrade() *AuditBuyOrSellResults { + return d.Trade +} + +func (d *TradeDescriptor) GetReceivedAmount() *big.Int { + return d.Trade.Results.ReceivedAmountRaw +} + +func (d *TradeDescriptor) GetFailureReasons() []string { + if !d.HasResults() { + return []string{} + } + + return d.Trade.Results.FailureReasons +} diff --git a/exchanges/uniswapv2.go b/exchanges/uniswapv2.go new file mode 100644 index 00000000..b126e627 --- /dev/null +++ b/exchanges/uniswapv2.go @@ -0,0 +1,819 @@ +package exchanges + +import ( + "context" + "encoding/hex" + "fmt" + "log" + "math/big" + "strings" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/accounts" + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/bytecode" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/simulator" + "github.com/unpackdev/solgo/utils" + "github.com/unpackdev/solgo/utils/entities" +) + +type UniswapV2Exchange struct { + ctx context.Context + clientPool *clients.ClientPool + opts *ExchangeOptions + uniswapBind *bindings.Uniswap + sim *simulator.Simulator + bindings map[bindings.BindingType]*bindings.Binding +} + +func NewUniswapV2(ctx context.Context, clientsPool *clients.ClientPool, sim *simulator.Simulator, uniswapBind *bindings.Uniswap, opts *ExchangeOptions) (*UniswapV2Exchange, error) { + if clientsPool == nil { + return nil, fmt.Errorf("uniswapv2 exchange: clients pool is nil") + } + + if opts == nil { + return nil, fmt.Errorf("uniswapv2 exchange: options are nil") + } + + wethBind, err := bindings.NewWETH(ctx, uniswapBind.Manager, bindings.DefaultWETHBindOptions()) + if err != nil { + return nil, fmt.Errorf("failed to create weth binding: %s", err) + } + + wethBinding, err := wethBind.GetBinding(utils.AnvilNetwork, bindings.WETH9) + if err != nil { + return nil, fmt.Errorf("failed to get weth binding: %s", err) + } + + pairBind, err := uniswapBind.GetBinding(utils.AnvilNetwork, bindings.UniswapV2Pair) + if err != nil { + return nil, fmt.Errorf("failed to get uniswap v2 pair binding: %s", err) + } + + uniswapv3Bind, err := bindings.NewUniswapV3(ctx, uniswapBind.Manager, bindings.DefaultUniswapV3BindOptions()) + if err != nil { + return nil, fmt.Errorf("failed to create uniswap v3 binding: %s", err) + } + + uniswapv3Binding, err := uniswapv3Bind.GetBinding(utils.AnvilNetwork, bindings.UniswapV3Pool) + if err != nil { + return nil, fmt.Errorf("failed to get uniswap v3 pool binding: %s", err) + } + + return &UniswapV2Exchange{ + ctx: ctx, + uniswapBind: uniswapBind, + clientPool: clientsPool, + opts: opts, + sim: sim, + bindings: map[bindings.BindingType]*bindings.Binding{ + bindings.WETH9: wethBinding, + bindings.UniswapV2Pair: pairBind, + bindings.UniswapV3Pool: uniswapv3Binding, + }, + }, nil +} + +// ToUniswapV2 converts an Exchange to a UniswapV2Exchange. This is a helper function that you can use to +// access interface methods that are not part of the Exchange interface. +func ToUniswapV2(exchange Exchange) *UniswapV2Exchange { + return exchange.(*UniswapV2Exchange) +} + +func (u *UniswapV2Exchange) GetType() utils.ExchangeType { + return utils.UniswapV2 +} + +func (u *UniswapV2Exchange) GetRouterAddress() common.Address { + return u.opts.RouterAddress +} + +func (u *UniswapV2Exchange) GetFactoryAddress() common.Address { + return u.opts.FactoryAddress +} + +func (u *UniswapV2Exchange) GetOptions() *ExchangeOptions { + return u.opts +} + +func (u *UniswapV2Exchange) GetClient(ctx context.Context, network utils.Network, simulatorType utils.SimulatorType, atBlock *big.Int) (*clients.Client, error) { + if u.sim != nil && simulatorType != utils.NoSimulator && simulatorType != utils.TraceSimulator { + client, _, err := u.sim.GetClient(ctx, simulatorType, atBlock) + if err != nil { + return nil, fmt.Errorf("failed to get client from simulator: %s", err) + } + return client, nil + } + + // This is going to return one of the normal clients (not simulated) from the pool. + return u.clientPool.GetClientByGroup(network.String()), nil +} + +func (u *UniswapV2Exchange) Buy(ctx context.Context, client *clients.Client, network utils.Network, simulatorType utils.SimulatorType, tokenBind *bindings.Token, spender *accounts.Account, baseToken *entities.Token, quoteToken *entities.Token, amount *entities.CurrencyAmount, atBlock *big.Int) (*TradeDescriptor, error) { + networkID := utils.GetNetworkID(network) + toReturn := &TradeDescriptor{ + ExchangeType: utils.UniswapV2, + Network: network, + TradeType: utils.BuyTradeType, + Simulation: network == utils.AnvilNetwork, + NetworkID: networkID, + RouterAddress: u.opts.RouterAddress, + FactoryAddress: u.opts.FactoryAddress, + WETHAddress: entities.WETH9[uint(networkID)].Address, + SpenderAddress: spender.Address, + AmountRaw: amount.Quotient(), + Amount: amount.ToExact(), + } + + usdtToken := entities.USDT[uint(networkID)] + + currentBalance, err := spender.Balance(ctx, atBlock) + if err != nil { + return nil, fmt.Errorf("failed to get current balance: %s", err) + } + toReturn.SpenderBalanceBefore = currentBalance + + pairAddr, err := u.uniswapBind.GetPair(ctx, quoteToken.Address, baseToken.Address) + if err != nil { + return nil, err + } + toReturn.PairAddress = pairAddr + + reserves, err := u.uniswapBind.GetReserves(ctx, pairAddr) + if err != nil { + return nil, err + } + + unixReserveTime := time.Unix(int64(reserves.BlockTimestampLast), 0) + toReturn.PairReserves = &PairReserves{ + Token0: quoteToken.Address, + Token1: baseToken.Address, + Reserve0: reserves.Reserve0, + Reserve1: reserves.Reserve1, + BlockTime: unixReserveTime, + } + + if reserves.Reserve0.Cmp(big.NewInt(0)) == 0 || reserves.Reserve1.Cmp(big.NewInt(0)) == 0 { + return nil, fmt.Errorf("one of the reserves is zero, cannot calculate price and rejecting purchase") + } + + var inverted bool + var reserveIn *big.Int + var reserveOut *big.Int + var tokenIn *entities.Token + var tokenOut *entities.Token + + if toReturn.PairReserves.Reserve1.Uint64() < toReturn.PairReserves.Reserve0.Uint64() { + inverted = true + reserveIn = toReturn.PairReserves.Reserve1 + reserveOut = toReturn.PairReserves.Reserve0 + tokenIn = quoteToken + tokenOut = baseToken + } else { + reserveIn = toReturn.PairReserves.Reserve0 + reserveOut = toReturn.PairReserves.Reserve1 + tokenIn = baseToken + tokenOut = quoteToken + } + + toReturn.Price = entities.NewPrice(tokenIn, tokenOut, reserveIn, reserveOut) + + if inverted { + toReturn.PricePerToken = toReturn.Price.Invert().ToSignificant(9) + } else { + if tokenIn.Decimals() > tokenOut.Decimals() { + toReturn.Price = entities.NewPrice(tokenIn, tokenOut, reserveOut, reserveIn) + toReturn.PricePerToken = toReturn.Price.Invert().ToSignificant(9) + } else { + toReturn.PricePerToken = toReturn.Price.ToSignificant(9) + } + } + + /* yes, _ := tokenIn.SortsBefore(tokenOut) + spew.Dump( + toReturn.Price.Invert().Quotient(), + toReturn.Price.Quotient(), + tokenIn.Decimals(), + tokenOut.Decimals(), + inverted, + reserveIn, + reserveOut, + yes, + ) */ + + usdtPairAddr, err := u.uniswapBind.GetPair(ctx, usdtToken.Address, entities.WETH9[1].Address) + if err != nil { + return nil, err + } + + usdtReserves, err := u.uniswapBind.GetReserves(ctx, usdtPairAddr) + if err != nil { + return nil, err + } + + usdtEthPrice := entities.NewPrice(usdtToken, entities.WETH9[1], usdtReserves.Reserve1, usdtReserves.Reserve0) + toReturn.UsdToEthPriceRaw = usdtEthPrice + toReturn.UsdToEthPrice = usdtEthPrice.ToSignificant(9) + toReturn.EthToUsdPriceRaw = usdtEthPrice.Invert() + toReturn.EthToUsdPrice = toReturn.EthToUsdPriceRaw.ToSignificant(9) + + // Calculate Token Price in USD + // First, ensure both prices are in the same scale (adjust decimals if needed) + //tokenPriceInUsdRaw := new(big.Int).Mul(toReturn.Price.Quotient(), toReturn.UsdToEthPriceRaw.Quotient()) + + // Adjust for the decimals to get the final price in USD + // Assuming 18 decimals for ETH and your token + //tokenPriceInUsd := new(big.Float).Quo(new(big.Float).SetInt(tokenPriceInUsdRaw), big.NewFloat(math.Pow10(18))) + + //toReturn.PricePerTokenUsd = entities.FromRawAmount(entities.WETH9[1], tokenPriceInUsdRaw).Invert().ToFixed(9) + + amountOut, err := u.uniswapBind.GetAmountOut(ctx, amount.Quotient(), reserves.Reserve1, reserves.Reserve0) + if err != nil { + return nil, err + } + toReturn.MaxAmountRaw = amountOut + if tokenOut.Decimals() >= 2 { + toReturn.MaxAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(2) + } else { + toReturn.MaxAmount = entities.FromRawAmount(tokenOut, amountOut).ToSignificant(0) + } + + tokenBinding, _ := tokenBind.GetBinding(utils.AnvilNetwork, bindings.Erc20) + uniswapBinding, _ := u.uniswapBind.GetBinding(utils.AnvilNetwork, bindings.UniswapV2Router) + + authApprove, err := spender.TransactOpts(client, nil, false) // Approval cannot take value as value is in the approve call + if err != nil { + return nil, fmt.Errorf("failed to create approve transact opts: %s", err) + } + + _, approveReceiptTx, err := tokenBind.Approve(ctx, network, simulatorType, client, authApprove, tokenBind.GetAddress(), u.opts.RouterAddress, amount.Quotient(), atBlock) + if err != nil { + return nil, fmt.Errorf("failed to approve token: %s", err) + } + + approvalResults := &AuditApprovalResults{ + Detected: true, + ApprovalRequested: true, + Approved: func() bool { + if approveReceiptTx != nil { + return approveReceiptTx.Status == 1 + } + + return false + }(), + TxHash: approveReceiptTx.TxHash, + Receipt: approveReceiptTx != nil, + ReceiptStatus: func() uint64 { + if approveReceiptTx != nil { + return approveReceiptTx.Status + } + + return 0 + }(), + Logs: make([]*bytecode.Log, 0), + } + + tradeRequest := &AuditBuyOrSellResults{ + Approval: approvalResults, + } + + if approveReceiptTx != nil { + approvalResults.GasUsedRaw = approveReceiptTx.GasUsed + approvalResults.GasUsed = entities.FromRawAmount(quoteToken, big.NewInt(int64(approveReceiptTx.GasUsed))).ToFixed(int32(quoteToken.Decimals())) + + if len(approveReceiptTx.Logs) > 0 { + if decodedApprovalLog, err := bytecode.DecodeLogFromAbi(approveReceiptTx.Logs[0], []byte(tokenBinding.RawABI)); err == nil { + tradeRequest.Approval.Logs = append(tradeRequest.Approval.Logs, decodedApprovalLog) + } + } + } + + buyResults := &AuditSwapResults{ + Detected: false, + SwapRequested: true, + Failure: false, + FailureReasons: []string{}, + PairDetails: []common.Address{baseToken.Address, quoteToken.Address}, + } + + authBuy, err := spender.TransactOpts(client, amount.Quotient(), false) // Approval cannot take value as value is in the approve call + if err != nil { + return nil, fmt.Errorf("failed to create buy transact opts: %s", err) + } + + // We are using hack to pretend sending normal transaction while using simulated client... + // Therefore, instead of passing simulatorType we pass utils.NoSimulator + deadline := big.NewInt(time.Now().Add(time.Minute).Unix()) + _, buyReceipt, err := u.uniswapBind.Buy(authBuy, network, simulatorType, client, big.NewInt(1), buyResults.PairDetails, spender.Address, deadline) + if err != nil { + buyResults.Failure = true + } + + buyResults.Detected = true + buyResults.TxHash = buyReceipt.TxHash + buyResults.Receipt = buyReceipt != nil + buyResults.ReceiptStatus = func() uint64 { + if buyResults != nil { + return buyReceipt.Status + } + + return 0 + }() + buyResults.Failure = buyResults.ReceiptStatus != 1 + + if buyReceipt != nil { + buyResults.GasUsedRaw = buyReceipt.GasUsed + buyResults.GasUsed = entities.FromRawAmount(quoteToken, big.NewInt(int64(buyReceipt.GasUsed))).ToFixed(int32(quoteToken.Decimals())) + + if len(buyReceipt.Logs) > 0 { + var buyLogs []*bytecode.Log + for _, log := range buyReceipt.Logs { + if decodedBuyLog, err := bytecode.DecodeLogFromAbi(log, []byte(tokenBinding.RawABI)); err == nil { + buyLogs = append(buyLogs, decodedBuyLog) + } else if decodedBuyLog, err := bytecode.DecodeLogFromAbi(log, []byte(uniswapBinding.RawABI)); err == nil { + buyLogs = append(buyLogs, decodedBuyLog) + } else if decodedBuyLog, err := bytecode.DecodeLogFromAbi(log, []byte(u.bindings[bindings.UniswapV2Pair].RawABI)); err == nil { + buyLogs = append(buyLogs, decodedBuyLog) + } else if decodedBuyLog, err := bytecode.DecodeLogFromAbi(log, []byte(u.bindings[bindings.WETH9].RawABI)); err == nil { + buyLogs = append(buyLogs, decodedBuyLog) + } else if decodedBuyLog, err := bytecode.DecodeLogFromAbi(log, []byte(u.bindings[bindings.UniswapV3Pool].RawABI)); err == nil { + buyLogs = append(buyLogs, decodedBuyLog) + } + } + + buyResults.Logs = buyLogs + + for _, log := range buyLogs { + if log.Type == utils.SwapLogEventType { + if amountOut, ok := log.Data["amount0Out"]; ok { + if amountOut, ok := amountOut.(*big.Int); ok { + buyResults.SwapReceivedAmountRaw = amountOut + if tokenOut.Decimals() >= 2 { + buyResults.SwapReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(2) + } else { + buyResults.SwapReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(0) + } + } + } + + if buyResults.SwapReceivedAmountRaw == nil || buyResults.SwapReceivedAmountRaw.Uint64() == 0 { + if amountOut, ok := log.Data["amount1Out"]; ok { + if amountOut, ok := amountOut.(*big.Int); ok { + buyResults.SwapReceivedAmountRaw = amountOut + if tokenOut.Decimals() >= 2 { + buyResults.SwapReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(2) + } else { + buyResults.SwapReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(0) + } + } + } + } + } + + if log.Type == utils.TransferLogEventType { + for _, topic := range log.Topics { + if topic.Name == "to" && topic.Value == spender.Address { + if amountOut, ok := log.Data["value"]; ok { + if amountOut, ok := amountOut.(*big.Int); ok { + buyResults.ReceivedAmountRaw = amountOut + if tokenOut.Decimals() >= 2 { + buyResults.ReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(2) + } else { + buyResults.ReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(0) + } + } + } + } + } + } + } + } + } else if buyResults != nil && buyReceipt.Status == 0 { + var traceResults []*bindings.TraceResult + rpcClient := client.GetRpcClient() + + err = rpcClient.CallContext(context.Background(), &traceResults, "trace_transaction", buyResults.TxHash) + if err != nil { + log.Fatalf("Failed to trace transaction: %v", err) + } + + if len(traceResults) > 0 { + for _, trace := range traceResults { + if strings.HasPrefix(trace.Result.Output, "0x08c379a0") { + data, err := hex.DecodeString(trace.Result.Output[10:]) // Remove "0x08c379a0" + if err != nil { + log.Printf("Failed to decode hex: %v", err) + continue + } + + // Assuming the message is ABI encoded, it will have a 32 byte offset and then the string + if len(data) >= 64 { // Check if data has at least 64 bytes (32 for offset and 32 for length) + // Decode the length of the string + length := new(big.Int).SetBytes(data[32:64]).Uint64() + if uint64(len(data)) >= 64+length { + revertMessage := string(data[64 : 64+length]) + buyResults.FailureReasons = append(buyResults.FailureReasons, revertMessage) + } + } + } + } + } + } + + if buyResults.ReceivedAmountRaw != nil && buyResults.SwapReceivedAmountRaw != nil { + tax := CalculatePercentageDifference(buyResults.SwapReceivedAmountRaw, buyResults.ReceivedAmountRaw, quoteToken.Decimals()) + buyResults.TaxRaw = tax + if quoteToken.Decimals() >= 2 { + buyResults.Tax = entities.FromRawAmount(quoteToken, tax).ToFixed(2) + } else { + buyResults.Tax = entities.FromRawAmount(quoteToken, tax).ToFixed(0) + } + } + + if buyResults.ReceivedAmountRaw != nil && buyResults.SwapReceivedAmountRaw != nil { + buyResults.Failure = buyResults.ReceivedAmountRaw.Uint64() == 0 || buyResults.SwapReceivedAmountRaw.Uint64() == 0 + } else { + buyResults.Failure = true + } + + tradeRequest.Results = buyResults + toReturn.Trade = tradeRequest + + if approvalResults.Detected || buyResults.Detected { + toReturn.Trade.Detected = true + } + + afterBalance, err := spender.Balance(ctx, atBlock) + if err != nil { + return nil, fmt.Errorf("failed to get current balance: %s", err) + } + + toReturn.SpenderBalanceAfter = afterBalance + return toReturn, nil +} + +func (u *UniswapV2Exchange) Sell(ctx context.Context, client *clients.Client, network utils.Network, simulatorType utils.SimulatorType, tokenBind *bindings.Token, spender *accounts.Account, baseToken *entities.Token, quoteToken *entities.Token, amount *entities.CurrencyAmount, atBlock *big.Int) (*TradeDescriptor, error) { + networkID := utils.GetNetworkID(network) + toReturn := &TradeDescriptor{ + ExchangeType: utils.UniswapV2, + Network: network, + TradeType: utils.SellTradeType, + Simulation: network == utils.AnvilNetwork, + NetworkID: networkID, + RouterAddress: u.opts.RouterAddress, + FactoryAddress: u.opts.FactoryAddress, + WETHAddress: entities.WETH9[uint(networkID)].Address, + SpenderAddress: spender.Address, + AmountRaw: amount.Quotient(), + Amount: amount.ToExact(), + } + + wethBind, err := bindings.NewWETH(ctx, tokenBind.Manager, bindings.DefaultWETHBindOptions()) + if err != nil { + return nil, fmt.Errorf("failed to create weth binding: %s", err) + } + wethBinding, _ := wethBind.GetBinding(utils.AnvilNetwork, bindings.WETH9) + + fiatBind, err := bindings.NewFiat(ctx, tokenBind.Manager, bindings.DefaultFiatBindOptions()) + if err != nil { + return nil, fmt.Errorf("failed to create usdc binding: %s", err) + } + usdcBinding, _ := fiatBind.GetBinding(utils.AnvilNetwork, bindings.USDC) + usdtToken := entities.USDT[uint(networkID)] + _ = usdcBinding + + currentBalance, err := spender.Balance(ctx, atBlock) + if err != nil { + return nil, fmt.Errorf("failed to get current balance: %s", err) + } + toReturn.SpenderBalanceBefore = currentBalance + + pairAddr, err := u.uniswapBind.GetPair(ctx, quoteToken.Address, baseToken.Address) + if err != nil { + return nil, err + } + toReturn.PairAddress = pairAddr + + reserves, err := u.uniswapBind.GetReserves(ctx, pairAddr) + if err != nil { + return nil, err + } + + unixReserveTime := time.Unix(int64(reserves.BlockTimestampLast), 0) + toReturn.PairReserves = &PairReserves{ + Token0: quoteToken.Address, + Token1: baseToken.Address, + Reserve0: reserves.Reserve0, + Reserve1: reserves.Reserve1, + BlockTime: unixReserveTime, + } + + var inverted bool + var reserveIn *big.Int + var reserveOut *big.Int + var tokenIn *entities.Token + var tokenOut *entities.Token + + if toReturn.PairReserves.Reserve1.Uint64() < toReturn.PairReserves.Reserve0.Uint64() { + inverted = true + reserveIn = toReturn.PairReserves.Reserve1 + reserveOut = toReturn.PairReserves.Reserve0 + tokenIn = quoteToken + tokenOut = baseToken + } else { + reserveIn = toReturn.PairReserves.Reserve0 + reserveOut = toReturn.PairReserves.Reserve1 + tokenIn = baseToken + tokenOut = quoteToken + } + + toReturn.Price = entities.NewPrice(tokenIn, tokenOut, reserveIn, reserveOut) + + if inverted { + toReturn.PricePerToken = toReturn.Price.Invert().ToSignificant(9) + } else { + if tokenIn.Decimals() > tokenOut.Decimals() { + toReturn.PricePerToken = toReturn.Price.Invert().ToSignificant(9) + } else { + toReturn.PricePerToken = toReturn.Price.ToSignificant(9) + } + } + + usdtPairAddr, err := u.uniswapBind.GetPair(ctx, usdtToken.Address, entities.WETH9[1].Address) + if err != nil { + return nil, err + } + + usdtReserves, err := u.uniswapBind.GetReserves(ctx, usdtPairAddr) + if err != nil { + return nil, err + } + + usdtEthPrice := entities.NewPrice(usdtToken, entities.WETH9[1], usdtReserves.Reserve1, usdtReserves.Reserve0) + toReturn.UsdToEthPriceRaw = usdtEthPrice + toReturn.UsdToEthPrice = usdtEthPrice.ToSignificant(9) + toReturn.EthToUsdPriceRaw = usdtEthPrice.Invert() + toReturn.EthToUsdPrice = toReturn.EthToUsdPriceRaw.ToSignificant(9) + + amountOut, err := u.uniswapBind.GetAmountOut(ctx, amount.Quotient(), reserves.Reserve0, reserves.Reserve1) + if err != nil { + return nil, err + } + toReturn.MaxAmountRaw = amountOut + if tokenOut.Decimals() >= 2 { + toReturn.MaxAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(2) + } else { + toReturn.MaxAmount = entities.FromRawAmount(tokenOut, amountOut).ToSignificant(0) + } + + tokenBinding, _ := tokenBind.GetBinding(utils.AnvilNetwork, bindings.Erc20) + uniswapBinding, _ := u.uniswapBind.GetBinding(utils.AnvilNetwork, bindings.UniswapV2Router) + uniswapPairBinding, _ := u.uniswapBind.GetBinding(utils.AnvilNetwork, bindings.UniswapV2Pair) + + // Maximum value for a Uint256 + //maxUint256 := new(big.Int).Sub(new(big.Int).Lsh(big.NewInt(1), 256), big.NewInt(1)) + + authApprove, err := spender.TransactOpts(client, amount.Quotient(), false) // Approval cannot take value as value is in the approve call + if err != nil { + return nil, fmt.Errorf("failed to create sell approve transact opts: %s", err) + } + authApprove.Value = big.NewInt(0) + + _, approveReceiptTx, err := tokenBind.Approve(ctx, network, simulatorType, client, authApprove, tokenBind.GetAddress(), u.opts.RouterAddress, amount.Quotient(), atBlock) + if err != nil { + return nil, fmt.Errorf("failed to approve sell token: %s", err) + } + + approvalResults := &AuditApprovalResults{ + Detected: true, + ApprovalRequested: true, + Approved: func() bool { + if approveReceiptTx != nil { + return approveReceiptTx.Status == 1 + } + + return false + }(), + TxHash: approveReceiptTx.TxHash, + Receipt: approveReceiptTx != nil, + ReceiptStatus: func() uint64 { + if approveReceiptTx != nil { + return approveReceiptTx.Status + } + + return 0 + }(), + Logs: make([]*bytecode.Log, 0), + } + + tradeRequest := &AuditBuyOrSellResults{ + Approval: approvalResults, + } + + if approveReceiptTx != nil { + approvalResults.GasUsedRaw = approveReceiptTx.GasUsed + approvalResults.GasUsed = entities.FromRawAmount(quoteToken, big.NewInt(int64(approveReceiptTx.GasUsed))).ToFixed(int32(quoteToken.Decimals())) + + if len(approveReceiptTx.Logs) > 0 { + if decodedApprovalLog, err := bytecode.DecodeLogFromAbi(approveReceiptTx.Logs[0], []byte(tokenBinding.RawABI)); err == nil { + tradeRequest.Approval.Logs = append(tradeRequest.Approval.Logs, decodedApprovalLog) + } + } + } + + sellResults := &AuditSwapResults{ + Detected: true, + SwapRequested: true, + Failure: false, + FailureReasons: []string{}, + PairDetails: []common.Address{baseToken.Address, quoteToken.Address}, + } + + authSell, err := spender.TransactOpts(client, amount.Quotient(), false) // Approval cannot take value as value is in the approve call + if err != nil { + sellResults.Failure = true + tradeRequest.Results = sellResults + toReturn.Trade = tradeRequest + return toReturn, fmt.Errorf("failed to create sell transact opts: %s", err) + } + authSell.Value = big.NewInt(0) + + // We are using hack to pretend sending normal transaction while using simulated client... + // Therefore, instead of passing simulatorType we pass utils.NoSimulator + deadline := big.NewInt(time.Now().Add(time.Minute).Unix()) + _, sellReceipt, err := u.uniswapBind.Sell(authSell, network, simulatorType, client, amount.Quotient(), big.NewInt(1), sellResults.PairDetails, spender.Address, deadline) + if err != nil { + sellResults.Failure = true + } + + sellResults.Detected = true + sellResults.TxHash = sellReceipt.TxHash + sellResults.Receipt = sellReceipt != nil + sellResults.ReceiptStatus = func() uint64 { + if sellReceipt != nil { + return sellReceipt.Status + } + + return 0 + }() + sellResults.Failure = sellResults.ReceiptStatus != 1 + + if sellReceipt != nil && sellReceipt.Status == 1 { + sellResults.GasUsedRaw = sellReceipt.GasUsed + sellResults.GasUsed = entities.FromRawAmount(quoteToken, big.NewInt(int64(sellReceipt.GasUsed))).ToFixed(int32(quoteToken.Decimals())) + + if len(sellReceipt.Logs) > 0 { + var buyLogs []*bytecode.Log + for _, log := range sellReceipt.Logs { + if decodedBuyLog, err := bytecode.DecodeLogFromAbi(log, []byte(tokenBinding.RawABI)); err == nil { + buyLogs = append(buyLogs, decodedBuyLog) + } else if decodedBuyLog, err := bytecode.DecodeLogFromAbi(log, []byte(uniswapBinding.RawABI)); err == nil { + buyLogs = append(buyLogs, decodedBuyLog) + } else if decodedBuyLog, err := bytecode.DecodeLogFromAbi(log, []byte(uniswapPairBinding.RawABI)); err == nil { + buyLogs = append(buyLogs, decodedBuyLog) + } else if decodedBuyLog, err := bytecode.DecodeLogFromAbi(log, []byte(wethBinding.RawABI)); err == nil { + buyLogs = append(buyLogs, decodedBuyLog) + } + } + + sellResults.Logs = buyLogs + + for _, log := range buyLogs { + if log.Type == utils.SwapLogEventType { + if amountOut, ok := log.Data["amount1Out"]; ok { + if amountOut, ok := amountOut.(*big.Int); ok { + sellResults.SwapReceivedAmountRaw = amountOut + if tokenOut.Decimals() >= 2 { + sellResults.SwapReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(2) + } else { + sellResults.SwapReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(0) + } + } + } + + if sellResults.SwapReceivedAmountRaw == nil || sellResults.SwapReceivedAmountRaw.Uint64() == 0 { + if amountOut, ok := log.Data["amount0Out"]; ok { + if amountOut, ok := amountOut.(*big.Int); ok { + sellResults.SwapReceivedAmountRaw = amountOut + if tokenOut.Decimals() >= 2 { + sellResults.SwapReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(2) + } else { + sellResults.SwapReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(0) + } + } + } + } + + if amountOut, ok := log.Data["amount0In"]; ok { + if amountOut, ok := amountOut.(*big.Int); ok { + sellResults.ReceivedAmountRaw = amountOut + if tokenOut.Decimals() >= 2 { + sellResults.ReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(2) + } else { + sellResults.ReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(0) + } + } + } + + if sellResults.ReceivedAmountRaw == nil || sellResults.ReceivedAmountRaw.Uint64() == 0 { + if amountOut, ok := log.Data["amount1In"]; ok { + if amountOut, ok := amountOut.(*big.Int); ok { + sellResults.ReceivedAmountRaw = amountOut + if tokenOut.Decimals() >= 2 { + sellResults.ReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(2) + } else { + sellResults.ReceivedAmount = entities.FromRawAmount(tokenOut, amountOut).ToFixed(0) + } + } + } + } + } + } + } + } else if sellReceipt != nil && sellReceipt.Status == 0 { + var traceResults []*bindings.TraceResult + rpcClient := client.GetRpcClient() + + err = rpcClient.CallContext(context.Background(), &traceResults, "trace_transaction", sellReceipt.TxHash) + if err != nil { + log.Fatalf("Failed to trace transaction: %v", err) + } + + if len(traceResults) > 0 { + for _, trace := range traceResults { + if strings.HasPrefix(trace.Result.Output, "0x08c379a0") { + data, err := hex.DecodeString(trace.Result.Output[10:]) // Remove "0x08c379a0" + if err != nil { + continue + } + + // Assuming the message is ABI encoded, it will have a 32 byte offset and then the string + if len(data) >= 64 { // Check if data has at least 64 bytes (32 for offset and 32 for length) + length := new(big.Int).SetBytes(data[32:64]).Uint64() + if uint64(len(data)) >= 64+length { + revertMessage := string(data[64 : 64+length]) + sellResults.FailureReasons = append(sellResults.FailureReasons, revertMessage) + } + } + } + } + } + } + + if sellResults.ReceivedAmountRaw != nil && sellResults.SwapReceivedAmountRaw != nil { + tax := CalculatePercentageDifference(amount.Quotient(), sellResults.ReceivedAmountRaw, quoteToken.Decimals()) + sellResults.TaxRaw = tax + if quoteToken.Decimals() >= 2 { + sellResults.Tax = entities.FromRawAmount(quoteToken, tax).ToFixed(2) + } else { + sellResults.Tax = entities.FromRawAmount(quoteToken, tax).ToFixed(0) + } + } + + if sellResults.ReceivedAmountRaw != nil && sellResults.SwapReceivedAmountRaw != nil { + sellResults.Failure = sellResults.ReceivedAmountRaw.Uint64() == 0 || sellResults.SwapReceivedAmountRaw.Uint64() == 0 + } else { + sellResults.Failure = true + } + + tradeRequest.Results = sellResults + toReturn.Trade = tradeRequest + + if approvalResults.Detected || sellResults.Detected { + toReturn.Trade.Detected = true + } + + afterBalance, err := spender.Balance(ctx, atBlock) + if err != nil { + return nil, fmt.Errorf("failed to get current balance: %s", err) + } + toReturn.SpenderBalanceAfter = afterBalance + return toReturn, nil +} + +// CalculatePercentageDifference calculates the percentage difference between two big.Int values and returns a big.Int +// scaled up by the specified number of decimals. +func CalculatePercentageDifference(value1, value2 *big.Int, decimals uint) *big.Int { + // Step 1: Find the absolute difference + difference := new(big.Int).Sub(value1, value2) + difference.Abs(difference) + + // Step 2: Calculate the average of the two values + sum := new(big.Int).Add(value1, value2) + average := new(big.Int).Div(sum, big.NewInt(2)) + + // Step 3: Calculate the percentage difference + // Multiply the difference by 10000 (to move the decimal place four places to the right) + difference.Mul(difference, big.NewInt(10000)) + + // Divide by the average + percentageDifference := new(big.Int).Div(difference, average) + + // Scale up by 10^decimals to retain the specified number of decimal places + scale := new(big.Int).Exp(big.NewInt(10), big.NewInt(int64(decimals-2)), nil) // Subtracting 2 because we already scaled by 100 + percentageDifference.Mul(percentageDifference, scale) + + return percentageDifference +} diff --git a/go.mod b/go.mod index 28c40d75..c82771be 100644 --- a/go.mod +++ b/go.mod @@ -1,61 +1,96 @@ module github.com/unpackdev/solgo -go 1.19 +go 1.21 + +toolchain go1.22.0 require ( github.com/0x19/solc-switch v1.0.3 github.com/antlr4-go/antlr/v4 v4.13.0 - github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 - github.com/ethereum/go-ethereum v1.13.4 - github.com/fxamacker/cbor/v2 v2.5.0 - github.com/goccy/go-graphviz v0.1.1 - github.com/golang/protobuf v1.5.3 - github.com/google/uuid v1.3.0 + github.com/cncf/xds/go v0.0.0-20240312170511-ee0267137e25 + github.com/ethereum/go-ethereum v1.13.13 + github.com/fxamacker/cbor/v2 v2.6.0 + github.com/goccy/go-graphviz v0.1.2 + github.com/golang/protobuf v1.5.4 + github.com/google/uuid v1.6.0 github.com/ipfs/go-cid v0.4.1 github.com/ipfs/go-ipfs-api v0.6.0 github.com/mr-tron/base58 v1.2.0 + github.com/redis/go-redis/v9 v9.5.1 github.com/sergi/go-diff v1.3.1 - github.com/stretchr/testify v1.8.4 + github.com/shopspring/decimal v1.3.1 + github.com/stretchr/testify v1.9.0 github.com/unpackdev/protos v0.3.2 - go.uber.org/zap v1.26.0 - golang.org/x/crypto v0.14.0 - golang.org/x/sync v0.3.0 - google.golang.org/protobuf v1.31.0 + go.uber.org/zap v1.27.0 + golang.org/x/crypto v0.21.0 + golang.org/x/sync v0.6.0 + google.golang.org/protobuf v1.33.0 ) //replace github.com/antlr4-go/antlr/v4 => github.com/unpackdev/antlr4-go/v4 v4.13.0 -//replace github.com/unpackdev/protos => ../protos +replace github.com/unpackdev/protos => ../protos require ( + github.com/DataDog/zstd v1.5.5 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/VictoriaMetrics/fastcache v1.12.2 // indirect github.com/benbjohnson/clock v1.3.5 // indirect - github.com/bits-and-blooms/bitset v1.8.0 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/bits-and-blooms/bitset v1.13.0 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect + github.com/btcsuite/btcd/chaincfg/chainhash v1.0.3 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cockroachdb/errors v1.11.1 // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v1.1.0 // indirect + github.com/cockroachdb/redact v1.1.5 // indirect + github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/consensys/bavard v0.1.13 // indirect github.com/consensys/gnark-crypto v0.12.1 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 // indirect - github.com/crate-crypto/go-kzg-4844 v0.3.0 // indirect + github.com/crate-crypto/go-ipa v0.0.0-20240223125850-b1e8a79f509c // indirect + github.com/crate-crypto/go-kzg-4844 v1.0.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/deckarep/golang-set/v2 v2.3.1 // indirect + github.com/deckarep/golang-set/v2 v2.6.0 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect - github.com/ethereum/c-kzg-4844 v0.3.1 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect + github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect + github.com/ethereum/c-kzg-4844 v1.0.0 // indirect + github.com/fjl/memsize v0.0.2 // indirect github.com/fogleman/gg v1.3.0 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 // indirect + github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46 // indirect + github.com/getsentry/sentry-go v0.27.0 // indirect github.com/go-ole/go-ole v1.3.0 // indirect - github.com/go-stack/stack v1.8.1 // indirect + github.com/gofrs/flock v0.8.1 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - github.com/gorilla/websocket v1.5.0 // indirect - github.com/holiman/uint256 v1.2.3 // indirect + github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect + github.com/gorilla/websocket v1.5.1 // indirect + github.com/hashicorp/go-bexpr v0.1.14 // indirect + github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4 // indirect + github.com/holiman/bloomfilter/v2 v2.0.3 // indirect + github.com/holiman/uint256 v1.2.4 // indirect + github.com/huin/goupnp v1.3.0 // indirect github.com/ipfs/boxo v0.10.2 // indirect - github.com/klauspost/compress v1.16.6 // indirect - github.com/klauspost/cpuid/v2 v2.2.5 // indirect + github.com/jackpal/go-nat-pmp v1.0.2 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/libp2p/go-flow-metrics v0.1.0 // indirect github.com/libp2p/go-libp2p v0.28.2 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect github.com/minio/sha256-simd v1.0.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mitchellh/pointerstructure v1.2.1 // indirect github.com/mmcloughlin/addchain v0.4.0 // indirect github.com/multiformats/go-base32 v0.1.0 // indirect github.com/multiformats/go-base36 v0.2.0 // indirect @@ -65,30 +100,43 @@ require ( github.com/multiformats/go-multihash v0.2.3 // indirect github.com/multiformats/go-multistream v0.4.1 // indirect github.com/multiformats/go-varint v0.0.7 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/rogpeppe/go-internal v1.10.0 // indirect + github.com/prometheus/client_golang v1.19.0 // indirect + github.com/prometheus/client_model v0.6.0 // indirect + github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/procfs v0.13.0 // indirect + github.com/rivo/uniseg v0.4.7 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/rs/cors v1.10.1 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect + github.com/status-im/keycard-go v0.3.2 // indirect github.com/supranational/blst v0.3.11 // indirect - github.com/tklauser/go-sysconf v0.3.12 // indirect - github.com/tklauser/numcpus v0.6.1 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect + github.com/tklauser/go-sysconf v0.3.13 // indirect + github.com/tklauser/numcpus v0.7.0 // indirect + github.com/tyler-smith/go-bip39 v1.1.0 // indirect + github.com/urfave/cli/v2 v2.27.1 // indirect github.com/whyrusleeping/tar-utils v0.0.0-20201201191210-20a61371de5b // indirect github.com/x448/float16 v0.8.4 // indirect - github.com/yusufpapurcu/wmi v1.2.3 // indirect - go.uber.org/goleak v1.2.1 // indirect + github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect + github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect - golang.org/x/image v0.12.0 // indirect - golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect - golang.org/x/tools v0.13.0 // indirect - google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 // indirect - google.golang.org/grpc v1.58.3 // indirect + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect + golang.org/x/image v0.15.0 // indirect + golang.org/x/mod v0.16.0 // indirect + golang.org/x/net v0.22.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.19.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240311173647-c811ad7063a7 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect + google.golang.org/grpc v1.62.1 // indirect + gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect lukechampine.com/blake3 v1.2.1 // indirect rsc.io/tmplfunc v0.0.3 // indirect diff --git a/go.sum b/go.sum index 4c8ebfaf..78dd83d5 100644 --- a/go.sum +++ b/go.sum @@ -1,103 +1,147 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/0x19/solc-switch v1.0.3 h1:NEoHZQB/TT859pfM214VI5mBeESj6S3Kf0UQ63W5KDM= github.com/0x19/solc-switch v1.0.3/go.mod h1:Ir5zPdN3Jq9wDVmrt1Tf6h7T4htC2haUlP5y8k8st1o= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= +github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= +github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/VictoriaMetrics/fastcache v1.12.1 h1:i0mICQuojGDL3KblA7wUNlY5lOK6a4bwt3uRKnkZU40= +github.com/VictoriaMetrics/fastcache v1.12.2 h1:N0y9ASrJ0F6h0QaC3o6uJb3NIZ9VKLjCM7NQbSmF7WI= +github.com/VictoriaMetrics/fastcache v1.12.2/go.mod h1:AmC+Nzz1+3G2eCPapF6UcsnkThDcMsQicp4xDukwJYI= +github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8= +github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= -github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bits-and-blooms/bitset v1.13.0 h1:bAQ9OPNFYbGHV6Nez0tmNI0RiEu7/hxlYJRUA0wFAVE= +github.com/bits-and-blooms/bitset v1.13.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= +github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= +github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= +github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.3 h1:SDlJ7bAm4ewvrmZtR0DaiYbQGdKPeaaIm7bM+qRhFeU= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.3/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/errors v1.8.1 h1:A5+txlVZfOqFBDa4mGz2bUWSp0aHElvHX2bKkdbQu+Y= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= -github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= -github.com/cockroachdb/redact v1.0.8 h1:8QG/764wK+vmEYoOlfobpe12EQcS81ukx/a4hdVMxNw= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 h1:IKgmqgMQlVJIZj19CdocBeSfSaiCbEBZGKODaixqtHM= +github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U= +github.com/cncf/xds/go v0.0.0-20240312170511-ee0267137e25 h1:0WA3CLhwyvc3+Bz8ftwUDUg/Tj2UyfM3ld346AgtAhs= +github.com/cncf/xds/go v0.0.0-20240312170511-ee0267137e25/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZazG8= +github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v1.1.0 h1:pcFh8CdCIt2kmEpK0OIatq67Ln9uGDYY3d5XnE0LJG4= +github.com/cockroachdb/pebble v1.1.0/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/consensys/bavard v0.1.13 h1:oLhMLOFGTLdlda/kma4VOJazblc7IM5y5QPd2A/YjhQ= github.com/consensys/bavard v0.1.13/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= github.com/consensys/gnark-crypto v0.12.1 h1:lHH39WuuFgVHONRl3J0LRBtuYdQTumFSDtJF7HpyG8M= github.com/consensys/gnark-crypto v0.12.1/go.mod h1:v2Gy7L/4ZRosZ7Ivs+9SfUDr0f5UlG+EM5t7MPHiLuY= github.com/corona10/goimagehash v1.0.2 h1:pUfB0LnsJASMPGEZLj7tGY251vF+qLGqOgEP4rUs6kA= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/corona10/goimagehash v1.0.2/go.mod h1:/l9umBhvcHQXVtQO1V6Gp1yD20STawkhRnnX0D1bvVI= +github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 h1:HVTnpeuvF6Owjd5mniCL8DEXo7uYXdQEmOP4FJbV5tg= github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3/go.mod h1:p1d6YEZWvFzEh4KLyvBcVSnrfNDDvK2zfK/4x2v/4pE= -github.com/crate-crypto/go-kzg-4844 v0.3.0 h1:UBlWE0CgyFqqzTI+IFyCzA7A3Zw4iip6uzRv5NIXG0A= -github.com/crate-crypto/go-kzg-4844 v0.3.0/go.mod h1:SBP7ikXEgDnUPONgm33HtuDZEDtWa3L4QtN1ocJSEQ4= +github.com/crate-crypto/go-ipa v0.0.0-20240223125850-b1e8a79f509c h1:uQYC5Z1mdLRPrZhHjHxufI8+2UG/i25QG92j0Er9p6I= +github.com/crate-crypto/go-ipa v0.0.0-20240223125850-b1e8a79f509c/go.mod h1:geZJZH3SzKCqnz5VT0q/DyIG/tvu/dZk+VIfXicupJs= +github.com/crate-crypto/go-kzg-4844 v1.0.0 h1:TsSgHwrkTKecKJ4kadtHi4b3xHW5dCFUDFnUp1TsawI= +github.com/crate-crypto/go-kzg-4844 v1.0.0/go.mod h1:1kMhvPgI0Ky3yIa+9lFySEBUBXkYxeOi8ZF1sYioxhc= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set/v2 v2.3.1 h1:vjmkvJt/IV27WXPyYQpAh4bRyWJc5Y435D17XQ9QU5A= -github.com/deckarep/golang-set/v2 v2.3.1/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= +github.com/deckarep/golang-set/v2 v2.6.0 h1:XfcQbWM1LlMB8BsJ8N9vW5ehnnPVIw0je80NsVHagjM= +github.com/deckarep/golang-set/v2 v2.6.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= -github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= -github.com/ethereum/c-kzg-4844 v0.3.1 h1:sR65+68+WdnMKxseNWxSJuAv2tsUrihTpVBTfM/U5Zg= -github.com/ethereum/c-kzg-4844 v0.3.1/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= -github.com/ethereum/go-ethereum v1.13.4 h1:25HJnaWVg3q1O7Z62LaaI6S9wVq8QCw3K88g8wEzrcM= -github.com/ethereum/go-ethereum v1.13.4/go.mod h1:I0U5VewuuTzvBtVzKo7b3hJzDhXOUtn9mJW7SsIPB0Q= -github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= +github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= +github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/ethereum/c-kzg-4844 v1.0.0 h1:0X1LBXxaEtYD9xsyj9B9ctQEZIpnvVDeoBx8aHEwTNA= +github.com/ethereum/c-kzg-4844 v1.0.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= +github.com/ethereum/go-ethereum v1.13.13 h1:KYn9w7pEWRI9oyZOzO94OVbctSusPByHdFDPj634jII= +github.com/ethereum/go-ethereum v1.13.13/go.mod h1:TN8ZiHrdJwSe8Cb6x+p0hs5CxhJZPbqB7hHkaUXcmIU= +github.com/fjl/memsize v0.0.2 h1:27txuSD9or+NZlnOWdKUxeBzTAUkWCVh+4Gf2dWFOzA= +github.com/fjl/memsize v0.0.2/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/fxamacker/cbor/v2 v2.5.0 h1:oHsG0V/Q6E/wqTS2O1Cozzsy69nqCiguo5Q1a1ADivE= -github.com/fxamacker/cbor/v2 v2.5.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/fxamacker/cbor/v2 v2.6.0 h1:sU6J2usfADwWlYDAFhZBQ6TnLFBHxgesMrQfQgk1tWA= +github.com/fxamacker/cbor/v2 v2.6.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= +github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 h1:f6D9Hr8xV8uYKlyuj8XIruxlh9WjVjdh1gIicAS7ays= +github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46 h1:BAIP2GihuqhwdILrV+7GJel5lyPV3u1+PgzrWLc0TkE= +github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46/go.mod h1:QNpY22eby74jVhqH4WhDLDwxc/vqsern6pW+u2kbkpc= +github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= +github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= -github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= -github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= -github.com/goccy/go-graphviz v0.1.1 h1:MGrsnzBxTyt7KG8FhHsFPDTGvF7UaQMmSa6A610DqPg= -github.com/goccy/go-graphviz v0.1.1/go.mod h1:lpnwvVDjskayq84ZxG8tGCPeZX/WxP88W+OJajh+gFk= +github.com/goccy/go-graphviz v0.1.2 h1:sWSJ6w13BCm/ZOUTHDVrdvbsxqN8yyzaFcHrH/hQ9Yg= +github.com/goccy/go-graphviz v0.1.2/go.mod h1:pMYpbAqJT10V8dzV1JN/g/wUlG/0imKPzn3ZsrchGCI= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= +github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= -github.com/holiman/billy v0.0.0-20230718173358-1c7e68d277a7 h1:3JQNjnMRil1yD0IfZKHF9GxxWKDJGj8I0IqOUol//sw= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= +github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= +github.com/hashicorp/go-bexpr v0.1.14 h1:uKDeyuOhWhT1r5CiMTjdVY4Aoxdxs6EtwgTGnlosyp4= +github.com/hashicorp/go-bexpr v0.1.14/go.mod h1:gN7hRKB3s7yT+YvTdnhZVLTENejvhlkZ8UE4YVBS+Q8= +github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4 h1:X4egAf/gcS1zATw6wn4Ej8vjuVGxeHdan+bRb2ebyv4= +github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4/go.mod h1:5GuXa7vkL8u9FkFuWdVvfR5ix8hRB7DbOAaYULamFpc= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= -github.com/holiman/uint256 v1.2.3 h1:K8UWO1HUJpRMXBxbmaY1Y8IAMZC/RsKB+ArEnnK4l5o= -github.com/holiman/uint256 v1.2.3/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +github.com/holiman/uint256 v1.2.4 h1:jUc4Nk8fm9jZabQuqr2JzednajVmBpC+oiTiXZJEApU= +github.com/holiman/uint256 v1.2.4/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= +github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= github.com/ipfs/boxo v0.10.2 h1:kspw9HmMyKzLQxpKk417sF69i6iuf50AXtRjFqCYyL4= github.com/ipfs/boxo v0.10.2/go.mod h1:1qgKq45mPRCxf4ZPoJV2lnXxyxucigILMJOrQrVivv8= github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s= @@ -105,17 +149,24 @@ github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LK github.com/ipfs/go-ipfs-api v0.6.0 h1:JARgG0VTbjyVhO5ZfesnbXv9wTcMvoKRBLF1SzJqzmg= github.com/ipfs/go-ipfs-api v0.6.0/go.mod h1:iDC2VMwN9LUpQV/GzEeZ2zNqd8NUdRmWcFM+K/6odf0= github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= -github.com/klauspost/compress v1.16.6 h1:91SKEy4K37vkp255cJ8QesJhjyRO0hn9i9G0GoUwLsk= -github.com/klauspost/compress v1.16.6/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= -github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c= +github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= @@ -123,16 +174,22 @@ github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnF github.com/libp2p/go-libp2p v0.28.2 h1:lO/g0ccVru6nUVHyLE7C1VRr7B2AFp9cvHhf+l+Te6w= github.com/libp2p/go-libp2p v0.28.2/go.mod h1:fOLgCNgLiWFdmtXyQBwmuCpukaYOA+yw4rnBiScDNmI= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= +github.com/mitchellh/pointerstructure v1.2.1 h1:ZhBBeX8tSlRpu/FFhXH4RC4OJzFlqsQhoHZAz4x7TIw= +github.com/mitchellh/pointerstructure v1.2.1/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= github.com/mmcloughlin/addchain v0.4.0 h1:SobOdjm2xLj1KkXN5/n0xTIWyZA2+s99UCY1iPfkHRY= github.com/mmcloughlin/addchain v0.4.0/go.mod h1:A86O+tHqZLMNO4w6ZZ4FlVQEadcoqkyU72HC5wJ4RlU= github.com/mmcloughlin/profile v0.1.1/go.mod h1:IhHD7q1ooxgwTgjxQYkACGA77oFTDdFVejUS1/tS/qU= @@ -155,157 +212,185 @@ github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqd github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5 h1:BvoENQQU+fZ9uukda/RzCAL/191HHwJA5b13R6diVlY= +github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= +github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= +github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= +github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= +github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= +github.com/prometheus/common v0.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= +github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= +github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= +github.com/redis/go-redis/v9 v9.5.1 h1:H1X4D3yHPaYrkL5X06Wh6xNVM/pX0Ft4RV0vMGvLBh8= +github.com/redis/go-redis/v9 v9.5.1/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rs/cors v1.10.1 h1:L0uuZVXIKlI1SShY2nhFfo44TYvDPQ1w4oFkUJNfhyo= +github.com/rs/cors v1.10.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= +github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/status-im/keycard-go v0.2.0 h1:QDLFswOQu1r5jsycloeQh3bVU8n/NatHHaZobtDnDzA= +github.com/status-im/keycard-go v0.3.2 h1:YusIF/bHx6YZis8UTOJrpZFnTs4IkRBdmJXqdiXkpFE= +github.com/status-im/keycard-go v0.3.2/go.mod h1:wlp8ZLbsmrF6g6WjugPAx+IzoLrkdf9+mHxBEeo3Hbg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/supranational/blst v0.3.11 h1:LyU6FolezeWAhvQk0k6O/d49jqgO52MSDDfYgbeoEm4= github.com/supranational/blst v0.3.11/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= -github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= -github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= -github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= -github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= +github.com/tklauser/go-sysconf v0.3.13 h1:GBUpcahXSpR2xN01jhkNAbTLRk2Yzgggk8IM08lq3r4= +github.com/tklauser/go-sysconf v0.3.13/go.mod h1:zwleP4Q4OehZHGn4CYZDipCgg9usW5IJePewFCGVEa0= +github.com/tklauser/numcpus v0.7.0 h1:yjuerZP127QG9m5Zh/mSO4wqurYil27tHrqwRoRjpr4= +github.com/tklauser/numcpus v0.7.0/go.mod h1:bb6dMVcj8A42tSE7i32fsIUCbQNllK5iDguyOZRUzAY= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= -github.com/unpackdev/protos v0.3.2 h1:NlI4D6CNT7sbGcNV8Jprob5e8ltYYn2c+oMEd3pTs/0= -github.com/unpackdev/protos v0.3.2/go.mod h1:nVBzYBlX6Gi/RE45sHciGM1NGF5s8LnTyCHYgm1eYV0= -github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs= +github.com/tyler-smith/go-bip39 v1.1.0/go.mod h1:gUYDtqQw1JS3ZJ8UWVcGTGqqr6YIN3CWg+kkNaLt55U= +github.com/urfave/cli/v2 v2.27.1 h1:8xSQ6szndafKVRmfyeUMxkNUJQMjL1F2zmsZ+qHpfho= +github.com/urfave/cli/v2 v2.27.1/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= github.com/whyrusleeping/tar-utils v0.0.0-20201201191210-20a61371de5b h1:wA3QeTsaAXybLL2kb2cKhCAQTHgYTMwuI8lBlJSv5V8= github.com/whyrusleeping/tar-utils v0.0.0-20201201191210-20a61371de5b/go.mod h1:xT1Y5p2JR2PfSZihE0s4mjdJaRGp1waCTf5JzhQLBck= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= -github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= -go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= +github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 h1:+qGGcbkzsfDQNPPe9UDgpxAWQrhbbBXOYJFQDq/dtJw= +github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913/go.mod h1:4aEEwZQutDLsQv2Deui4iYQ6DWTxR14g6m8Wv88+Xqk= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= +github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= -go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= -golang.org/x/image v0.12.0 h1:w13vZbU4o5rKOFFR8y7M+c4A5jXDC0uXTdHYRP8X2DQ= -golang.org/x/image v0.12.0/go.mod h1:Lu90jvHG7GfemOIcldsh9A2hS01ocl6oNO7ype5mEnk= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= +golang.org/x/image v0.15.0 h1:kOELfmgrmJlw4Cdb7g/QGuB3CvDrXbqEIww/pNtNBm8= +golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= +golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= +golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= +golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13 h1:vlzZttNJGVqTsRFU9AmdnrcO1Znh8Ew9kCD//yjigk0= -google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:CCviP9RmpZ1mxVr8MUjCnSiY09IbAXZxhLE6EhHIdPU= -google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13 h1:U7+wNaVuSTaUqNvK2+osJ9ejEZxbjHHk8F2b6Hpx0AE= -google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:RdyHbowztCGQySiCvQPgWQWgWhGnouTdCflKoDBt32U= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 h1:N3bU/SQDCDyD6R528GJ/PwW9KjYcJA3dgyH+MovAkIM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ= -google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +google.golang.org/genproto/googleapis/api v0.0.0-20240311173647-c811ad7063a7 h1:oqta3O3AnlWbmIE3bFnWbu4bRxZjfbWCp0cKSuZh01E= +google.golang.org/genproto/googleapis/api v0.0.0-20240311173647-c811ad7063a7/go.mod h1:VQW3tUculP/D4B+xVCo+VgSq8As6wA9ZjHl//pmk+6s= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 h1:8EeVk1VKMD+GD/neyEHGmz7pFblqPjHoi+PGQIlLx2s= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= +google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= +gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= rsc.io/tmplfunc v0.0.3 h1:53XFQh69AfOa8Tw0Jm7t+GV7KZhOi6jzsCzTtKbMvzU= diff --git a/inspector/anti_whale.go b/inspector/anti_whale.go new file mode 100644 index 00000000..e8419877 --- /dev/null +++ b/inspector/anti_whale.go @@ -0,0 +1,111 @@ +package inspector + +import ( + "context" + "strings" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/utils" +) + +type AntiWhaleResults struct { + Detected bool `json:"detected"` + Provider utils.AntiWhaleType `json:"provider"` +} + +type AntiWhaleDetector struct { + ctx context.Context + inspector *Inspector + contractNames []string + stateVariableNames []string + functionNames []string + results *AntiWhaleResults +} + +func NewAntiWhaleDetector(ctx context.Context, inspector *Inspector) Detector { + return &AntiWhaleDetector{ + ctx: ctx, + inspector: inspector, + contractNames: []string{"IPinkAntiBot"}, + stateVariableNames: []string{"antiBotEnabled"}, + functionNames: []string{ + "setenableantibot", "settokenowner", "setantibotenabled", "onpretransfercheck", + "blockbots", "setuserjunglebotlimit", "setantibotenabled", "setantibotenabled", "setantibotenabled", + "managebot", "delbots", "setmaxtransferamount", "setwhalepenaltythreshold", "updatecooldown", + "updatemaxwalletamount", "updatemaxwalletlimit", "updatetaxthresholds", + "setwalletlimit", "setmaxwalletsize", "setmaxwalletamount", "setmaxwallet", "_setmaxwallet", + "setearlyselltax", "maxwallet", "calculatemaxwalletaftertax", "settaxfeepercent", "settaxfeepercentown", + "settransactioncooldown", "setmaxtransactionamount", "setdynamictransactiontax", + "settransactiontaxpercent", "settransferlimit", "setmaxwalletbalance", + "setselllimit", "setbuylimit", "imposetransactiontax", "setpenaltythreshold", + "setcooldownperiod", "setmaxsellamount", + }, + results: &AntiWhaleResults{}, + } +} +func (m *AntiWhaleDetector) Name() string { + return "External Calls Detector" +} + +func (m *AntiWhaleDetector) Type() DetectorType { + return AntiWhaleDetectorType +} + +// SetInspector sets the inspector for the detector +func (m *AntiWhaleDetector) SetInspector(inspector *Inspector) { + m.inspector = inspector +} + +// GetInspector returns the inspector for the detector +func (m *AntiWhaleDetector) GetInspector() *Inspector { + return m.inspector +} + +func (m *AntiWhaleDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_FUNCTION_DEFINITION: func(node ast.Node[ast.NodeType]) (bool, error) { + if fn, ok := node.(*ast.Function); ok { + if utils.StringInSlice(strings.ToLower(fn.GetName()), m.functionNames) { + m.results.Detected = true + return false, nil + } + } + return true, nil + }, + ast_pb.NodeType_MEMBER_ACCESS: func(node ast.Node[ast.NodeType]) (bool, error) { + if ma, ok := node.(*ast.MemberAccessExpression); ok { + if expr, ok := ma.GetExpression().(*ast.PrimaryExpression); ok { + if expr.GetTypeDescription() != nil && strings.Contains(expr.GetTypeDescription().GetString(), "contract") { + // This is basically for pinksale anti bot... + // https://github.com/ctonydev/pink-antibot-guide-binance-solidity + if utils.StringInSlice(strings.ToLower(ma.GetMemberName()), m.functionNames) { + m.results.Detected = true + + // We are going to have contract type in the type description + if strings.Contains(expr.GetTypeDescription().GetString(), "IPinkAntiBot") { + m.results.Provider = utils.AntiWhalePinksale + } + + return false, nil + } + } + } + + } + return true, nil + }, + }, nil +} + +func (m *AntiWhaleDetector) Detect(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *AntiWhaleDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *AntiWhaleDetector) Results() any { + return m.results +} diff --git a/inspector/burnable.go b/inspector/burnable.go new file mode 100644 index 00000000..950edcc5 --- /dev/null +++ b/inspector/burnable.go @@ -0,0 +1,180 @@ +package inspector + +import ( + "context" + "fmt" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/utils" +) + +type BurnResults struct { + Detected bool `json:"detected"` + FunctionName string `json:"function_name"` + Visibility ast_pb.Visibility `json:"visibility"` + ExternallyCallable bool `json:"externally_callable"` + ExternallCallableLocations []ast.Node[ast.NodeType] `json:"externally_callable_locations"` + UsesConstructor bool `json:"uses_constructor"` + Constructor *ast.Constructor `json:"constructor"` + Function *ast.Function `json:"function"` +} + +func (m BurnResults) IsDetected() bool { + return m.Detected +} + +func (m BurnResults) IsVisible() bool { + return m.Visibility == ast_pb.Visibility_PUBLIC || m.Visibility == ast_pb.Visibility_EXTERNAL +} + +type BurnDetector struct { + ctx context.Context + inspector *Inspector + functionNames []string + results *BurnResults +} + +func NewBurnDetector(ctx context.Context, inspector *Inspector) Detector { + return &BurnDetector{ + ctx: ctx, + inspector: inspector, + functionNames: []string{ + "burn", "burnFor", "burnTo", "burnBatch", "burnBatchFor", "burnBatchTo", + "_burn", "_burnFor", "_burnTo", "_burnBatch", "_burnBatchFor", "_burnBatchTo", + "autoBurnLiquidityPairTokens", "setAutoLPBurnSettings", "manualBurnLiquidityPairTokens", + "burnLiquidity", "BurnLiquidity", + }, + results: &BurnResults{ + ExternallCallableLocations: make([]ast.Node[ast.NodeType], 0), + }, + } +} + +func (m *BurnDetector) Name() string { + return "Burnable Detector" +} + +func (m *BurnDetector) Type() DetectorType { + return BurnDetectorType +} + +func (m *BurnDetector) RegisterFunctionName(fnName string) bool { + if !utils.StringInSlice(fnName, m.functionNames) { + m.functionNames = append(m.functionNames, fnName) + return true + } + + return false +} + +func (m *BurnDetector) GetFunctionNames() []string { + return m.functionNames +} + +func (m *BurnDetector) FunctionNameExists(fnName string) bool { + return utils.StringInSlice(fnName, m.functionNames) +} + +func (m *BurnDetector) SetInspector(inspector *Inspector) { + m.inspector = inspector +} + +func (m *BurnDetector) GetInspector() *Inspector { + return m.inspector +} + +// Enter for now does nothing for mint detector. It may be needed in the future. +func (m *BurnDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *BurnDetector) Detect(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_FUNCTION_DEFINITION: func(node ast.Node[ast.NodeType]) (bool, error) { + switch nodeCtx := node.(type) { + case *ast.Constructor: + case *ast.Function: + if m.FunctionNameExists(nodeCtx.GetName()) { + m.results.Detected = true + m.results.Visibility = nodeCtx.GetVisibility() + m.results.FunctionName = nodeCtx.GetName() + //m.results.Function = nodeCtx + } + } + return true, nil + }, + }, nil +} + +func (m *BurnDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + + // Problem is that mint function can be discovered at any point in time so we need to go one more time + // through whole process in case that mint is discovered in order to get all of the reference locations where + // mint function is being called out... + // Burn function can exist and never be used or it can be announced as not being used where we in fact see that + // it can be used.... + ast_pb.NodeType_FUNCTION_DEFINITION: func(fnNode ast.Node[ast.NodeType]) (bool, error) { + // We do not want to continue if we did not discover mint function... + if !m.results.Detected { + return false, nil + } + + m.inspector.GetTree().ExecuteCustomTypeVisit(fnNode.GetNodes(), ast_pb.NodeType_MEMBER_ACCESS, func(node ast.Node[ast.NodeType]) (bool, error) { + nodeCtx, ok := node.(*ast.MemberAccessExpression) + if !ok { + return true, fmt.Errorf("unable to convert node to MemberAccessExpression type in BurnDetector.Exit: %T", node) + } + + if nodeCtx.GetMemberName() == m.results.FunctionName { + switch fnCtx := fnNode.(type) { + case *ast.Function: + if fnCtx.GetVisibility() == ast_pb.Visibility_PUBLIC || fnCtx.GetVisibility() == ast_pb.Visibility_EXTERNAL { + m.results.ExternallyCallable = true + m.results.ExternallCallableLocations = append(m.results.ExternallCallableLocations, fnNode) + } else { + // TODO: This should recursively look for other functions when internal or private function is visibility type + } + } + } + + return true, nil + }) + + m.inspector.GetTree().ExecuteCustomTypeVisit(fnNode.GetNodes(), ast_pb.NodeType_FUNCTION_CALL, func(node ast.Node[ast.NodeType]) (bool, error) { + nodeCtx, ok := node.(*ast.FunctionCall) + if !ok { + return true, fmt.Errorf("unable to convert node to FunctionCall type in BurnDetector.Exit: %T", node) + } + + expressionCtx, ok := nodeCtx.GetExpression().(*ast.PrimaryExpression) + if !ok { + return true, fmt.Errorf("unable to convert node to PrimaryExpression type in BurnDetector.Exit: %T", nodeCtx.GetExpression()) + } + + if expressionCtx.GetName() == m.results.FunctionName { + switch fnCtx := fnNode.(type) { + case *ast.Constructor: + m.results.UsesConstructor = true + //m.results.Constructor = fnCtx + case *ast.Function: + if fnCtx.GetVisibility() == ast_pb.Visibility_PUBLIC || fnCtx.GetVisibility() == ast_pb.Visibility_EXTERNAL { + m.results.ExternallyCallable = true + m.results.ExternallCallableLocations = append(m.results.ExternallCallableLocations, fnNode) + } else { + // TODO: This should recursively look for other functions when internal or private function is visibility type + } + } + } + return true, nil + }) + + return true, nil + }, + }, nil +} + +func (m *BurnDetector) Results() any { + return m.results +} diff --git a/inspector/detector.go b/inspector/detector.go new file mode 100644 index 00000000..b3052e77 --- /dev/null +++ b/inspector/detector.go @@ -0,0 +1,42 @@ +package inspector + +import ( + "context" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" +) + +type DetectorFn map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error) + +type Detector interface { + Name() string + Type() DetectorType + SetInspector(*Inspector) + GetInspector() *Inspector + Enter(context.Context) (DetectorFn, error) + Detect(context.Context) (DetectorFn, error) + Exit(context.Context) (DetectorFn, error) + + // // We are not able to use generics yet to the way I want to use them... Once it's enabled lets use it! + // Basically we would need to use something like DetectorInterface but we cannot use it on registry variable declaration + // due to compiler complaining errors. + Results() any +} + +func ToDetector[T any](d Detector) T { + return d.(T) +} + +func ToResults[T any](r any) T { + return r.(T) +} + +type DetectorResult struct { + DetectionType DetectionType `json:"detection_type"` + SeverityType SeverityType `json:"severity_type"` + ConfidenceLevelType ConfidenceLevelType `json:"detection_level"` + Description string `json:"description"` + Statement ast.Node[ast.NodeType] `json:"statement"` + SubDetectors []DetectorResult `json:"sub_detectors"` +} diff --git a/inspector/external_calls.go b/inspector/external_calls.go new file mode 100644 index 00000000..944fcf11 --- /dev/null +++ b/inspector/external_calls.go @@ -0,0 +1,100 @@ +package inspector + +import ( + "context" + "strings" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/utils" +) + +type ExternalCallsResults struct { + Detected bool `json:"detected"` + RenounceOwnership bool `json:"renounce_ownership"` + CanLookupOwner bool `json:"can_lookup_owner"` + OwnerModifiable bool `json:"owner_modifiable"` + CanSelfDestruct bool `json:"can_self_destruct"` +} + +type ExternalCallsDetector struct { + ctx context.Context + inspector *Inspector + functionNames []string + results *ExternalCallsResults +} + +func NewExternalCallsDetector(ctx context.Context, inspector *Inspector) Detector { + return &ExternalCallsDetector{ + ctx: ctx, + inspector: inspector, + functionNames: []string{ + "call", "delegatecall", "staticcall", // Direct low-level calls + "transfer", "transferFrom", // ERC20, ERC721 transfer functions + }, + results: &ExternalCallsResults{}, + } +} + +func (m *ExternalCallsDetector) Name() string { + return "External Calls Detector" +} + +func (m *ExternalCallsDetector) Type() DetectorType { + return ExternalCallsDetectorType +} + +// SetInspector sets the inspector for the detector +func (m *ExternalCallsDetector) SetInspector(inspector *Inspector) { + m.inspector = inspector +} + +// GetInspector returns the inspector for the detector +func (m *ExternalCallsDetector) GetInspector() *Inspector { + return m.inspector +} + +func (m *ExternalCallsDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_FUNCTION_CALL: func(node ast.Node[ast.NodeType]) (bool, error) { + if fn, ok := node.(*ast.FunctionCall); ok { + if expr, ok := fn.GetExpression().(*ast.PrimaryExpression); ok { + if utils.StringInSlice(expr.GetName(), m.functionNames) { + m.results.Detected = true + return false, nil + } + } + } + return true, nil + }, + ast_pb.NodeType_MEMBER_ACCESS: func(node ast.Node[ast.NodeType]) (bool, error) { + if ma, ok := node.(*ast.MemberAccessExpression); ok { + if expr, ok := ma.GetExpression().(*ast.PrimaryExpression); ok { + if utils.StringInSlice(expr.GetName(), m.functionNames) { + m.results.Detected = true + return false, nil + } + + if expr.GetTypeDescription() != nil && strings.Contains(expr.GetTypeDescription().GetString(), "contract") { + m.results.Detected = true + return false, nil + } + } + + } + return true, nil + }, + }, nil +} + +func (m *ExternalCallsDetector) Detect(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *ExternalCallsDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *ExternalCallsDetector) Results() any { + return m.results +} diff --git a/inspector/fees.go b/inspector/fees.go new file mode 100644 index 00000000..8566f25e --- /dev/null +++ b/inspector/fees.go @@ -0,0 +1,100 @@ +package inspector + +import ( + "context" + "strings" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/utils" +) + +type FeesResults struct { + Detected bool `json:"detected"` + CanModifyTax bool `json:"can_modify_tax"` +} + +type FeesDetector struct { + ctx context.Context + inspector *Inspector + functionNames []string + results *FeesResults +} + +func NewFeesDetector(ctx context.Context, inspector *Inspector) Detector { + return &FeesDetector{ + ctx: ctx, + inspector: inspector, + functionNames: []string{ + "updatefees", "reducefee", "reducefees", "sendethtofee", + "setfee", "setfeepercent", "setfees", "updatebuyfees", "updatesellfees", + "setbuyfee", "setsellfee", "setbuyfees", "setsellfees", + "settaxfeepercentown", "settaxfeepercent", "removeallfee", "removeallfees", "updatefee", + "_settaxes", "", "restoreallfee", "restoreallfees", "totalbuytaxbasispoints", "totalselltaxbasispoints", + "changefees", "togglecanswapfees", "changetax", "adjustfee", "setbtwtax", "_settax", + "updatebuytaxes", "updateselltaxes", "setboosterfees", "setboosterfee", "setearlyselltax", + "setearlybuytax", "setselltaxes", "updatebuytaxes", "handle_fees", "setservicefee", "returntonormaltax", + "updatenetworkfee", "setprivatesalefee", "setbuytaxes", "setselltaxes", "updatetax", + "settaxtozero", "updatefeeparams", "editmarketfee", "setrevenuefee", "changefee", "tokenfee", + "_fee", "_customfee", "settaxes", "setselltaxes", "setbuytaxes", "setupfee", "_settaxes", + }, + results: &FeesResults{}, + } +} + +func (m *FeesDetector) Name() string { + return "Pausable Detector" +} + +func (m *FeesDetector) Type() DetectorType { + return FeeDetectorType +} + +// SetInspector sets the inspector for the detector +func (m *FeesDetector) SetInspector(inspector *Inspector) { + m.inspector = inspector +} + +// GetInspector returns the inspector for the detector +func (m *FeesDetector) GetInspector() *Inspector { + return m.inspector +} + +func (m *FeesDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_FUNCTION_DEFINITION: func(node ast.Node[ast.NodeType]) (bool, error) { + if fn, ok := node.(*ast.Function); ok { + if utils.StringInSlice(strings.ToLower(fn.GetName()), m.functionNames) { + m.results.Detected = true + m.results.CanModifyTax = true + return false, nil + } + } + return true, nil + }, + ast_pb.NodeType_FUNCTION_CALL: func(node ast.Node[ast.NodeType]) (bool, error) { + if fn, ok := node.(*ast.FunctionCall); ok { + if expr, ok := fn.GetExpression().(*ast.PrimaryExpression); ok { + if utils.StringInSlice(strings.ToLower(expr.GetName()), m.functionNames) { + m.results.Detected = true + m.results.CanModifyTax = true + return false, nil + } + } + } + return true, nil + }, + }, nil +} + +func (m *FeesDetector) Detect(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *FeesDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *FeesDetector) Results() any { + return m.results +} diff --git a/inspector/inspector.go b/inspector/inspector.go new file mode 100644 index 00000000..205acd3d --- /dev/null +++ b/inspector/inspector.go @@ -0,0 +1,184 @@ +package inspector + +import ( + "context" + "fmt" + + "github.com/ethereum/go-ethereum/common" + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/detector" + "github.com/unpackdev/solgo/metadata" + "github.com/unpackdev/solgo/simulator" + "github.com/unpackdev/solgo/standards" + "github.com/unpackdev/solgo/storage" + "github.com/unpackdev/solgo/tokens" + "github.com/unpackdev/solgo/utils" +) + +type Inspector struct { + ctx context.Context + detector *detector.Detector + storage *storage.Storage + bindManager *bindings.Manager + sim *simulator.Simulator + report *Report + visitor *ast.NodeVisitor + token *tokens.Token + ipfsProvider metadata.Provider +} + +func NewInspector(ctx context.Context, network utils.Network, detector *detector.Detector, simulator *simulator.Simulator, storage *storage.Storage, bindManager *bindings.Manager, ipfsProvider metadata.Provider, addr common.Address, token *tokens.Token) (*Inspector, error) { + return &Inspector{ + ctx: ctx, + detector: detector, + storage: storage, + bindManager: bindManager, + sim: simulator, + visitor: &ast.NodeVisitor{}, + report: &Report{ + Address: addr, + Network: network, + Detectors: make(map[DetectorType]any), + }, + ipfsProvider: ipfsProvider, + token: token, + }, nil +} + +func (i *Inspector) GetAddress() common.Address { + return i.report.Address +} + +func (i *Inspector) GetDetector() *detector.Detector { + return i.detector +} + +func (i *Inspector) GetStorage() *storage.Storage { + return i.storage +} + +func (i *Inspector) GetBindingManager() *bindings.Manager { + return i.bindManager +} + +func (i *Inspector) GetToken() *tokens.Token { + return i.token +} + +func (i *Inspector) GetReport() *Report { + return i.report +} + +func (i *Inspector) GetSimulator() *simulator.Simulator { + return i.sim +} + +func (i *Inspector) IsReady() bool { + return i.detector != nil && i.detector.GetIR() != nil && i.detector.GetIR().GetRoot() != nil && i.detector.GetIR().GetRoot().HasContracts() +} + +func (i *Inspector) HasStandard(standard standards.Standard) bool { + return i.detector.GetIR().GetRoot().HasHighConfidenceStandard(standard) || i.detector.GetIR().GetRoot().HasPerfectConfidenceStandard(standard) +} + +func (i *Inspector) GetTree() *ast.Tree { + return i.detector.GetAST().GetTree() +} + +func (i *Inspector) UsesTransfers() bool { + transferCheckFunc := func(node ast.Node[ast.NodeType]) (bool, error) { + functionNode, ok := node.(*ast.Function) + if !ok { + return true, fmt.Errorf("node is not a function") + } + + if functionNode.GetName() == "transfer" || functionNode.GetName() == "transferFrom" { + i.report.UsesTransfers = true + } + + for _, childNode := range functionNode.GetNodes() { + functionCallNode, ok := childNode.(*ast.FunctionCall) + if !ok { + continue // Not a function call, skip + } + + if expr := functionCallNode.GetExpression(); expr != nil && expr.GetType() == ast_pb.NodeType_MEMBER_ACCESS { + memberAccessExpr, ok := expr.(*ast.MemberAccessExpression) + if !ok { + continue // Not a member access expression, skip + } + + if memberAccessExpr.GetMemberName() == "transfer" || memberAccessExpr.GetMemberName() == "transferFrom" { + i.report.UsesTransfers = true + } + } + } + + return true, nil + } + + i.detector.GetAST().GetTree().ExecuteTypeVisit(ast_pb.NodeType_FUNCTION_DEFINITION, transferCheckFunc) + return i.report.UsesTransfers +} + +func (i *Inspector) Inspect(only ...DetectorType) error { + for _, detectorEntry := range registry { + detectorType := detectorEntry.detectorType + + // Check if we need to run this detector + if len(only) > 0 && !IsDetectorType(detectorType, only...) { + continue + } + + // Sets the detector and overwrites it + detectorEntry.detector.SetInspector(i) + + // Execute Enter, Detect, and Exit functions + if err := i.execute(detectorEntry.detector); err != nil { + return err + } + + // Store results + results := detectorEntry.detector.Results() + i.report.Detectors[detectorType] = results + } + + return i.resolve() +} + +func (i *Inspector) execute(detector Detector) error { + enterFuncs, err := detector.Enter(i.ctx) + if err != nil { + return err + } + + for nodeType, visitFunc := range enterFuncs { + i.detector.GetAST().GetTree().ExecuteTypeVisit(nodeType, visitFunc) + } + + detectFuncs, err := detector.Detect(i.ctx) + if err != nil { + return err + } + + for nodeType, visitFunc := range detectFuncs { + i.detector.GetAST().GetTree().ExecuteTypeVisit(nodeType, visitFunc) + } + + exitFuncs, err := detector.Exit(i.ctx) + if err != nil { + return err + } + + for nodeType, visitFunc := range exitFuncs { + i.detector.GetAST().GetTree().ExecuteTypeVisit(nodeType, visitFunc) + } + + return nil +} + +func (i *Inspector) resolve() error { + return nil +} diff --git a/inspector/inspector_test.go b/inspector/inspector_test.go new file mode 100644 index 00000000..bac7ec1b --- /dev/null +++ b/inspector/inspector_test.go @@ -0,0 +1,176 @@ +package inspector + +import ( + "context" + "net" + "os" + "path/filepath" + "strings" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/unpackdev/solgo" + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/detector" + "github.com/unpackdev/solgo/providers/etherscan" + "github.com/unpackdev/solgo/simulator" + "github.com/unpackdev/solgo/standards" + "github.com/unpackdev/solgo/storage" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" +) + +func TestInspector(t *testing.T) { + tAssert := assert.New(t) + + config := zap.NewDevelopmentConfig() + config.Level = zap.NewAtomicLevelAt(zap.InfoLevel) + config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder + logger, err := config.Build() + tAssert.NoError(err) + zap.ReplaceGlobals(logger) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + clientOptions := &clients.Options{ + Nodes: []clients.Node{ + { + Group: string(utils.Ethereum), + Type: "mainnet", + Endpoint: "https://eth-mainnet.g.alchemy.com/v2/Dcctb0Q9tu7V_4FgggehOvoJK4lT1ppG", + NetworkId: 1, + ConcurrentClientsNumber: 1, + }, + }, + } + + pool, err := clients.NewClientPool(ctx, clientOptions) + tAssert.NoError(err) + tAssert.NotNil(pool) + + etherscanApiKeys := os.Getenv("ETHERSCAN_API_KEYS") + etherscanProvider := etherscan.NewEtherScanProvider(ctx, nil, ðerscan.Options{ + Provider: etherscan.EtherScan, + Endpoint: "https://api.etherscan.io/api", + Keys: strings.Split(etherscanApiKeys, ","), + }) + + storage, err := storage.NewStorage(ctx, utils.Ethereum, pool, nil, storage.NewDefaultOptions()) + tAssert.NoError(err) + tAssert.NotNil(storage) + + bindManager, err := bindings.NewManager(ctx, pool) + tAssert.NoError(err) + tAssert.NotNil(bindManager) + + simulatorOPts := &simulator.AnvilProviderOptions{ + Network: utils.AnvilNetwork, + NetworkID: utils.EthereumNetworkID, + ClientCount: 0, // We do not want any clients as they will be fetched when necessary... + MaxClientCount: 10, + AutoImpersonate: true, + PidPath: filepath.Join("/", "tmp", ".solgo", "/", "simulator", "/", "anvil"), + AnvilExecutablePath: "/home/cortex/.cargo/bin/anvil", + Fork: true, + ForkEndpoint: os.Getenv("SOLGO_SIMULATOR_FORK_ENDPOINT"), + IPAddr: net.ParseIP("127.0.0.1"), + StartPort: 5400, + EndPort: 5500, + } + + sim, err := simulator.CreateNewTestSimulator(ctx, pool, t, simulatorOPts) + require.NoError(t, err) + require.NotNil(t, sim) + defer sim.Close() + + err = sim.Start(ctx) + require.NoError(t, err) + + defer func() { + err := sim.Stop(ctx) + require.NoError(t, err) + }() + + testCases := []struct { + name string + contractAddr common.Address + network utils.Network + expectedError bool + }{ + { + name: "GROK Token", + //contractAddr: common.HexToAddress("0x0c65b5d43f2c2252897ce04d86d7fa46b83ed514"), + contractAddr: common.HexToAddress("0x8390a1da07e376ef7add4be859ba74fb83aa02d5"), + network: utils.Ethereum, + expectedError: false, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + response, err := etherscanProvider.ScanContract(tc.contractAddr) + if tc.expectedError { + tAssert.Error(err) + } else { + tAssert.NoError(err) + tAssert.NotNil(response) + + sources, err := solgo.NewSourcesFromEtherScan(response.Name, response.SourceCode) + tAssert.NoError(err) + tAssert.NotNil(sources) + require.True(t, sources.HasUnits()) + + parser, err := detector.NewDetectorFromSources(ctx, nil, sources) + tAssert.NoError(err) + tAssert.NotNil(parser) + + // So far contracts bellow 0.6.0 are doing some weird shit so we are disabling it for now... + require.False(t, utils.IsSemanticVersionLowerOrEqualTo(response.CompilerVersion, utils.SemanticVersion{Major: 0, Minor: 6, Patch: 0})) + + parser.Parse() + + err = parser.Build() + tAssert.NoError(err) + + inspector, err := NewInspector(ctx, tc.network, parser, sim, storage, bindManager, nil, tc.contractAddr, nil) + tAssert.NoError(err) + tAssert.NotNil(inspector) + + // Register default detectors... + inspector.RegisterDetectors() + + // If contract does not have any source code available we don't want to check it here. + // In that case we will in the future go towards the opcodes... + require.True(t, inspector.IsReady()) + + // First we don't want to do any type of inspections if contract is not ERC20 + require.True(t, inspector.HasStandard(standards.ERC20)) + + // Now we are going to do use transfers check as we don't want to continue with this contract if there are + // no transfers involved... + require.True(t, inspector.UsesTransfers()) + + // Alright now we're at the point that we know contract should be checked for any type of malicious activity + tAssert.NoError(inspector.Inspect()) + + toJson, _ := utils.ToJSONPretty(inspector.GetReport()) + utils.WriteToFile("report.json", toJson) + + utils.DumpNodeNoExit(inspector.GetReport().Detectors[AuditDetectorType]) + + /* md := GetDetector(MintDetectorType) + require.NotNil(t, md) + + mdd := ToDetector[*MintDetector](md) + require.NotNil(t, mdd) + utils.DumpNodeNoExit(mdd.GetFunctionNames()) */ + + } + }) + } +} diff --git a/inspector/mintable.go b/inspector/mintable.go new file mode 100644 index 00000000..c01c4813 --- /dev/null +++ b/inspector/mintable.go @@ -0,0 +1,256 @@ +// Package inspector provides tools for analyzing Solidity smart contracts, +// specifically focusing on detecting unconventional patterns in minting functions. +package inspector + +import ( + "context" + "fmt" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/utils" +) + +// MintResults encapsulates the results of the mint function analysis. +// It includes various flags and data points indicating the presence +// and characteristics of minting functionality within a smart contract. +type MintResults struct { + Detected bool `json:"detected"` + Safe bool `json:"safe"` + FunctionName string `json:"function_name"` + Visibility ast_pb.Visibility `json:"visibility"` + ExternallyCallable bool `json:"externally_callable"` + ExternallCallableLocations []ast.Node[ast.NodeType] `json:"externally_callable_locations"` + UsedAtConstructor bool `json:"used_at_constructor"` + Constructor *ast.Constructor `json:"constructor"` + Statement *ast.Function `json:"statement"` + Detectors map[DetectionType]*DetectorResult `json:"detectors"` +} + +// IsDetected returns true if a mint function was detected in the contract. +func (m MintResults) IsDetected() bool { + return m.Detected +} + +// IsVisible returns true if the detected mint function is either public or external, +// making it callable from outside the contract. +func (m MintResults) IsVisible() bool { + return m.Visibility == ast_pb.Visibility_PUBLIC || m.Visibility == ast_pb.Visibility_EXTERNAL +} + +// MintDetector is a structure responsible for detecting mint functions +// and analyzing their characteristics in Solidity smart contracts. +type MintDetector struct { + ctx context.Context + *Inspector + functionNames []string + allowancesNames []string + results *MintResults +} + +// NewMintDetector creates a new instance of MintDetector with the provided context and inspector. +// It initializes the detector with a predefined list of function names associated with minting. +func NewMintDetector(ctx context.Context, inspector *Inspector) Detector { + return &MintDetector{ + ctx: ctx, + Inspector: inspector, + // Function names typically associated with minting tokens in ERC20 contracts. + functionNames: []string{ + "mint", "mintFor", "mintTo", "mintWithTokenURI", "mintBatch", "mintBatchFor", "mintBatchTo", "mintBatchWithTokenURI", + "_mint", "_mintFor", "_mintTo", "_mintWithTokenURI", "_mintBatch", "_mintBatchFor", "_mintBatchTo", "_mintBatchWithTokenURI", + "firstMintAndDeposit", "mintAndCall", "mintBatchToken", "mintDepositCallback", "mintMany", "mintManyAndCall", "safeMint", + }, + // Common variable names for allowances in ERC20 contracts. + allowancesNames: []string{ + "_allowances", "allowance", "allowanceFor", "allowanceMap", "allowanceMapping", "approvedTransfers", + "spenderAllowance", "spenderAllowed", "tokenAllowances", "delegatedBalances", "allowedTransfers", + "authorizationMap", "authorizedAmounts", + }, + results: &MintResults{ + Safe: true, + ExternallCallableLocations: make([]ast.Node[ast.NodeType], 0), + Detectors: make(map[DetectionType]*DetectorResult), + }, + } +} + +// Name returns the name of the detector, which is "Mint Detector". +func (m *MintDetector) Name() string { + return "Mintable Detector" +} + +// Type returns the type of the detector, which is MintDetectorType. +func (m *MintDetector) Type() DetectorType { + return MintDetectorType +} + +// RegisterFunctionName adds a new function name to the list of mint function names +// if it is not already present. Returns true if the name was added successfully. +func (m *MintDetector) RegisterFunctionName(fnName string) bool { + if !utils.StringInSlice(fnName, m.functionNames) { + m.functionNames = append(m.functionNames, fnName) + return true + } + + return false +} + +// GetFunctionNames returns a slice of registered function names associated with minting. +func (m *MintDetector) GetFunctionNames() []string { + return m.functionNames +} + +// FunctionNameExists checks if the provided function name is in the list of registered mint function names. +func (m *MintDetector) FunctionNameExists(fnName string) bool { + return utils.StringInSlice(fnName, m.functionNames) +} + +// SetInspector sets the inspector for the detector. +func (m *MintDetector) SetInspector(inspector *Inspector) { + m.Inspector = inspector +} + +// GetInspector returns the inspector for the detector. +func (m *MintDetector) GetInspector() *Inspector { + return m.Inspector +} + +// Enter prepares the detector for analysis but currently does nothing. It may be extended in the future. +func (m *MintDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +// Detect initiates the detection process for mint functions within a smart contract. +// It returns a map of node types to handler functions for further analysis. +func (m *MintDetector) Detect(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_FUNCTION_DEFINITION: func(node ast.Node[ast.NodeType]) (bool, error) { + if nodeCtx, ok := node.(*ast.Function); ok { + if m.FunctionNameExists(nodeCtx.GetName()) { + if err := m.analyzeFunctionBody(nodeCtx); err != nil { + return true, err + } + } + } + + return true, nil + }, + }, nil +} + +// analyzeFunctionBody analyzes the body of a function to detect unconventional patterns or potential honeypots. +// It specifically looks for assignments to known allowance variables within mint functions. +func (m *MintDetector) analyzeFunctionBody(fnCtx *ast.Function) error { + m.results.Detected = true + m.results.Visibility = fnCtx.GetVisibility() + m.results.FunctionName = fnCtx.GetName() + //m.results.Statement = fnCtx + + m.GetTree().ExecuteCustomTypeVisit(fnCtx.GetNodes(), ast_pb.NodeType_ASSIGNMENT, func(node ast.Node[ast.NodeType]) (bool, error) { + m.GetTree().ExecuteCustomTypeVisit(node.GetNodes(), ast_pb.NodeType_INDEX_ACCESS, func(node ast.Node[ast.NodeType]) (bool, error) { + if indexCtx, ok := node.(*ast.IndexAccess); ok { + var detector *DetectorResult + + if nameCtx, ok := indexCtx.GetIndexExpression().(*ast.PrimaryExpression); ok { + if utils.StringInSlice(nameCtx.GetName(), m.allowancesNames) { + detector = &DetectorResult{ + DetectionType: DetectionType("allowance_assignment_in_mint"), + SeverityType: SeverityCritical, + ConfidenceLevelType: ConfidenceLevelHigh, + //Statement: indexCtx, + } + m.results.Safe = false + } + } + + // @TODO: Add allowance_literal_address_in_mint detector + + if detector != nil { + m.results.Detectors[detector.DetectionType] = detector + } + + } + + return true, nil + }) + + return true, nil + }) + + return nil +} + +// Exit finalizes the detection process by performing any necessary cleanup and additional analysis on if discovered +// mint function is used anywhere else in the contract. +func (m *MintDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + + // Problem is that mint function can be discovered at any point in time so we need to go one more time + // through whole process in case that mint is discovered in order to get all of the reference locations where + // mint function is being called out... + // Mint function can exist and never be used or it can be announced as not being used where we in fact see that + // it can be used.... + ast_pb.NodeType_FUNCTION_DEFINITION: func(fnNode ast.Node[ast.NodeType]) (bool, error) { + // We do not want to continue if we did not discover mint function... + if !m.results.Detected { + return false, nil + } + + m.GetTree().ExecuteCustomTypeVisit(fnNode.GetNodes(), ast_pb.NodeType_MEMBER_ACCESS, func(node ast.Node[ast.NodeType]) (bool, error) { + nodeCtx, ok := node.(*ast.MemberAccessExpression) + if !ok { + return true, fmt.Errorf("unable to convert node to MemberAccessExpression type in MintDetector.Exit: %T", node) + } + + if nodeCtx.GetMemberName() == m.results.FunctionName { + switch fnCtx := fnNode.(type) { + case *ast.Function: + if fnCtx.GetVisibility() == ast_pb.Visibility_PUBLIC || fnCtx.GetVisibility() == ast_pb.Visibility_EXTERNAL { + m.results.ExternallyCallable = true + m.results.ExternallCallableLocations = append(m.results.ExternallCallableLocations, fnNode) + } else { + // TODO: This should recursively look for other functions when internal or private function is visibility type + } + } + } + + return true, nil + }) + + m.GetTree().ExecuteCustomTypeVisit(fnNode.GetNodes(), ast_pb.NodeType_FUNCTION_CALL, func(node ast.Node[ast.NodeType]) (bool, error) { + nodeCtx, ok := node.(*ast.FunctionCall) + if !ok { + return true, fmt.Errorf("unable to convert node to FunctionCall type in MintDetector.Exit: %T", node) + } + + expressionCtx, ok := nodeCtx.GetExpression().(*ast.PrimaryExpression) + if !ok { + return true, fmt.Errorf("unable to convert node to PrimaryExpression type in MintDetector.Exit: %T", nodeCtx.GetExpression()) + } + + if expressionCtx.GetName() == m.results.FunctionName { + switch fnCtx := fnNode.(type) { + case *ast.Constructor: + m.results.UsedAtConstructor = true + //m.results.Constructor = fnCtx + case *ast.Function: + if fnCtx.GetVisibility() == ast_pb.Visibility_PUBLIC || fnCtx.GetVisibility() == ast_pb.Visibility_EXTERNAL { + m.results.ExternallyCallable = true + m.results.ExternallCallableLocations = append(m.results.ExternallCallableLocations, fnNode) + } else { + // TODO: This should recursively look for other functions when internal or private function is visibility type + } + } + } + return true, nil + }) + + return true, nil + }, + }, nil +} + +// Results returns the results of the mint function detection and analysis. +func (m *MintDetector) Results() any { + return m.results +} diff --git a/inspector/ownership.go b/inspector/ownership.go new file mode 100644 index 00000000..495f7e63 --- /dev/null +++ b/inspector/ownership.go @@ -0,0 +1,106 @@ +package inspector + +import ( + "context" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/utils" +) + +type OwnershipResults struct { + Detected bool `json:"detected"` + RenounceOwnership bool `json:"renounce_ownership"` + CanLookupOwner bool `json:"can_lookup_owner"` + OwnerModifiable bool `json:"owner_modifiable"` + CanSelfDestruct bool `json:"can_self_destruct"` +} + +type OwnershipDetector struct { + ctx context.Context + inspector *Inspector + functionNames []string + results *OwnershipResults +} + +func NewOwnershipDetector(ctx context.Context, inspector *Inspector) Detector { + return &OwnershipDetector{ + ctx: ctx, + inspector: inspector, + functionNames: []string{ + "transferOwnership", "renounceOwnership", "_transferOwnership", "_renounceOwnership", + "owner", "setOwner", "claimOwnership", "initializeOwnership", "selfdestruct", "setTokenOwner", + "confirmOwnershipTransfer", "cancelOwnershipTransfer", + }, + results: &OwnershipResults{}, + } +} + +func (m *OwnershipDetector) Name() string { + return "State Variable Detector" +} + +func (m *OwnershipDetector) Type() DetectorType { + return OwnershipDetectorType +} + +// SetInspector sets the inspector for the detector +func (m *OwnershipDetector) SetInspector(inspector *Inspector) { + m.inspector = inspector +} + +// GetInspector returns the inspector for the detector +func (m *OwnershipDetector) GetInspector() *Inspector { + return m.inspector +} + +func (m *OwnershipDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_FUNCTION_DEFINITION: func(node ast.Node[ast.NodeType]) (bool, error) { + if fn, ok := node.(*ast.Function); ok { + if utils.StringInSlice(fn.GetName(), m.functionNames) { + m.results.Detected = true + + if fn.GetName() == "setOwner" || fn.GetName() == "transferOwnership" || fn.GetName() == "_transferOwnership" || fn.GetName() == "claimOwnership" || fn.GetName() == "setTokenOwner" { + m.results.OwnerModifiable = true + return true, nil + } + + if fn.GetName() == "renounceOwnership" || fn.GetName() == "_renounceOwnership" || fn.GetName() == "RenounceOwner" { + m.results.RenounceOwnership = true + return true, nil + } + + if fn.GetName() == "owner" { + m.results.CanLookupOwner = true + return true, nil + } + } + } + return true, nil + }, + ast_pb.NodeType_FUNCTION_CALL: func(node ast.Node[ast.NodeType]) (bool, error) { + if fn, ok := node.(*ast.FunctionCall); ok { + if expr, ok := fn.GetExpression().(*ast.PrimaryExpression); ok { + if expr.GetName() == "selfdestruct" { + m.results.CanSelfDestruct = true + return true, nil + } + } + } + return true, nil + }, + }, nil +} + +func (m *OwnershipDetector) Detect(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *OwnershipDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *OwnershipDetector) Results() any { + return m.results +} diff --git a/inspector/pausable.go b/inspector/pausable.go new file mode 100644 index 00000000..0b6f4d70 --- /dev/null +++ b/inspector/pausable.go @@ -0,0 +1,93 @@ +package inspector + +import ( + "context" + "strings" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/utils" +) + +type PausableResults struct { + Detected bool `json:"detected"` + UseInFunctionCalls bool `json:"use_in_function_calls"` +} + +type PausableDetector struct { + ctx context.Context + inspector *Inspector + functionNames []string + results *PausableResults +} + +func NewPausableDetector(ctx context.Context, inspector *Inspector) Detector { + return &PausableDetector{ + ctx: ctx, + inspector: inspector, + functionNames: []string{ + "paused", "pause", "unpause", "_pause", "_unpause", + "isPaused", "canpause", "canunpause", "togglepause", "setpaused", + "enablepause", "disablepause", "pausetransfer", "unpausetransfer", + "pauseall", "unpauseall", "settradingstatus", "updateswapenabled", + "setcontractpaused", "setpause", + }, + results: &PausableResults{}, + } +} + +func (m *PausableDetector) Name() string { + return "Pausable Detector" +} + +func (m *PausableDetector) Type() DetectorType { + return PausableDetectorType +} + +// SetInspector sets the inspector for the detector +func (m *PausableDetector) SetInspector(inspector *Inspector) { + m.inspector = inspector +} + +// GetInspector returns the inspector for the detector +func (m *PausableDetector) GetInspector() *Inspector { + return m.inspector +} + +func (m *PausableDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_FUNCTION_DEFINITION: func(node ast.Node[ast.NodeType]) (bool, error) { + if fn, ok := node.(*ast.Function); ok { + if utils.StringInSlice(strings.ToLower(fn.GetName()), m.functionNames) { + m.results.Detected = true + return false, nil + } + } + return true, nil + }, + ast_pb.NodeType_FUNCTION_CALL: func(node ast.Node[ast.NodeType]) (bool, error) { + if fn, ok := node.(*ast.FunctionCall); ok { + if expr, ok := fn.GetExpression().(*ast.PrimaryExpression); ok { + if utils.StringInSlice(strings.ToLower(expr.GetName()), m.functionNames) { + m.results.Detected = true + m.results.UseInFunctionCalls = true + return false, nil + } + } + } + return true, nil + }, + }, nil +} + +func (m *PausableDetector) Detect(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *PausableDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *PausableDetector) Results() any { + return m.results +} diff --git a/inspector/proxy.go b/inspector/proxy.go new file mode 100644 index 00000000..e38337a5 --- /dev/null +++ b/inspector/proxy.go @@ -0,0 +1,82 @@ +package inspector + +import ( + "context" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/ir" + "github.com/unpackdev/solgo/utils" +) + +type ProxyResults struct { + Detected bool `json:"detected"` + Standard *ir.Standard `json:"standard"` +} + +type ProxyDetector struct { + ctx context.Context + inspector *Inspector + enabled bool + functionNames []string + results *ProxyResults +} + +func NewProxyDetector(ctx context.Context, inspector *Inspector) Detector { + return &ProxyDetector{ + ctx: ctx, + inspector: inspector, + enabled: false, + functionNames: []string{ + "upgradeTo", "upgradeToAndCall", "getAdmin", "changeAdmin", "_implementation", "implementation", + "upgradeBeaconToAndCall", "getImplementation", "_setImplementation", "_setAdmin", "_dispatchUpgradeToAndCall", + "_delegate", "changeProxyAdmin", "getProxyAdmin", "getProxyImplementation", "recoverERC20FromProxy", + }, + results: &ProxyResults{}, + } +} + +func (m *ProxyDetector) Name() string { + return "Proxy Detector" +} + +func (m *ProxyDetector) Type() DetectorType { + return ProxyDetectorType +} + +// SetInspector sets the inspector for the detector +func (m *ProxyDetector) SetInspector(inspector *Inspector) { + m.inspector = inspector +} + +// GetInspector returns the inspector for the detector +func (m *ProxyDetector) GetInspector() *Inspector { + return m.inspector +} + +func (m *ProxyDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *ProxyDetector) Detect(ctx context.Context) (DetectorFn, error) { + // This detector can use IR as well to do its job and walking through the AST if absolutely necessary... + + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_FUNCTION_DEFINITION: func(node ast.Node[ast.NodeType]) (bool, error) { + if fn, ok := node.(*ast.Function); ok { + if utils.StringInSlice(fn.GetName(), m.functionNames) { + m.results.Detected = true + } + } + return true, nil + }, + }, nil +} + +func (m *ProxyDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *ProxyDetector) Results() any { + return m.results +} diff --git a/inspector/registry.go b/inspector/registry.go new file mode 100644 index 00000000..c59456e4 --- /dev/null +++ b/inspector/registry.go @@ -0,0 +1,76 @@ +package inspector + +type DetectorEntry struct { + detectorType DetectorType + detector Detector +} + +var registry []DetectorEntry + +func getDetectorIndex(detectorType DetectorType) int { + for index, entry := range registry { + if entry.detectorType == detectorType { + return index + } + } + return -1 +} + +// IsDetectorType checks if the provided detectorType is in the list of detectorTypes. +func IsDetectorType(detectorType DetectorType, detectorTypes ...DetectorType) bool { + for _, dt := range detectorTypes { + if dt == detectorType { + return true + } + } + return false +} + +func DetectorExists(detectorType DetectorType) bool { + return getDetectorIndex(detectorType) != -1 +} + +func GetDetector(detectorType DetectorType) Detector { + index := getDetectorIndex(detectorType) + if index != -1 { + return registry[index].detector + } + return nil +} + +func RegisterDetector(detectorType DetectorType, detector Detector) bool { + if !DetectorExists(detectorType) { + registry = append(registry, DetectorEntry{detectorType, detector}) + return true + } + return false +} + +// InsertDetector allows inserting a detector before or after an existing detector. +// If `before` is true, the detector is inserted before the specified type, otherwise after. +// If the specified type is not found, the detector is added to the end of the list. +func InsertDetector(newType DetectorType, newDetector Detector, existingType DetectorType, before bool) { + index := getDetectorIndex(existingType) + + if index == -1 || !before { + RegisterDetector(newType, newDetector) + } else { + registry = append(registry[:index+1], registry[index:]...) + registry[index] = DetectorEntry{newType, newDetector} + } +} + +func (i *Inspector) RegisterDetectors() { + RegisterDetector(StorageDetectorType, NewStorageDetector(i.ctx, i)) + RegisterDetector(StateVariableDetectorType, NewStateVariableDetector(i.ctx, i)) + RegisterDetector(OwnershipDetectorType, NewOwnershipDetector(i.ctx, i)) + RegisterDetector(TransferDetectorType, NewTransferDetector(i.ctx, i)) + RegisterDetector(ProxyDetectorType, NewProxyDetector(i.ctx, i)) + RegisterDetector(MintDetectorType, NewMintDetector(i.ctx, i)) + RegisterDetector(BurnDetectorType, NewBurnDetector(i.ctx, i)) + RegisterDetector(PausableDetectorType, NewPausableDetector(i.ctx, i)) + RegisterDetector(ExternalCallsDetectorType, NewExternalCallsDetector(i.ctx, i)) + RegisterDetector(AntiWhaleDetectorType, NewAntiWhaleDetector(i.ctx, i)) + RegisterDetector(StandardsDetectorType, NewStandardsDetector(i.ctx, i)) + RegisterDetector(FeeDetectorType, NewFeesDetector(i.ctx, i)) +} diff --git a/inspector/report.json b/inspector/report.json new file mode 100644 index 00000000..16729550 --- /dev/null +++ b/inspector/report.json @@ -0,0 +1,5254 @@ +{ + "address": "0x8390a1da07e376ef7add4be859ba74fb83aa02d5", + "network": "ethereum", + "uses_transfers": true, + "detectors": { + "burn": { + "detected": false, + "function_name": "", + "visibility": 0, + "externally_callable": false, + "externally_callable_locations": [], + "uses_constructor": false, + "constructor": null, + "function": null + }, + "mint": { + "detected": false, + "safe": true, + "function_name": "", + "visibility": 0, + "externally_callable": false, + "externally_callable_locations": [], + "used_at_constructor": false, + "constructor": null, + "statement": null, + "detectors": {} + }, + "ownership": { + "detected": true + }, + "proxy": { + "detected": false, + "standard": null + }, + "standards": { + "detected": true, + "standard_types": [ + "ERC20" + ], + "standards": [ + { + "contract_id": 409, + "contract_name": "GROK", + "confidences": { + "confidence": 0, + "confidence_points": 0.0782608695652174, + "threshold": 0, + "maximum_tokens": 115, + "discovered_tokens": 9, + "standard": "ERC1155", + "contract": { + "name": "GROK", + "functions": [ + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "bytes", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "bytes", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256[]", + "matched": false + } + ], + "matched": false + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + } + ], + "events": [ + { + "name": "TransferSingle", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "TransferBatch", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address[]", + "indexed": true, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "URI", + "inputs": [ + { + "type": "string", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": true, + "matched": false + } + ], + "outputs": [], + "matched": false + } + ] + } + }, + "standards": { + "name": "ERC-1155 Multi Token Standard", + "url": "https://eips.ethereum.org/EIPS/eip-1155", + "type": "ERC1155", + "stagnant": false, + "abi": "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + "package_name": "erc1155", + "package_output_path": "erc1155/erc1155.go", + "functions": [ + { + "name": "safeTransferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "bytes", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "safeBatchTransferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "bytes", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "balanceOf", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "balanceOfBatch", + "inputs": [ + { + "type": "address[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256[]", + "matched": false + } + ], + "matched": false + }, + { + "name": "setApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "isApprovedForAll", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + } + ], + "events": [ + { + "name": "TransferSingle", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "TransferBatch", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address[]", + "indexed": true, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + }, + { + "type": "uint256[]", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "URI", + "inputs": [ + { + "type": "string", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": true, + "matched": false + } + ], + "outputs": null, + "matched": false + } + ] + } + }, + { + "contract_id": 409, + "contract_name": "GROK", + "confidences": { + "confidence": 4, + "confidence_points": 1, + "threshold": 1, + "maximum_tokens": 68, + "discovered_tokens": 68, + "standard": "ERC20", + "contract": { + "name": "GROK", + "functions": [ + { + "name": "openTrading", + "inputs": [], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "address", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true + }, + { + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true + } + ] + } + }, + "standards": { + "name": "ERC-20 Token Standard", + "url": "https://eips.ethereum.org/EIPS/eip-20", + "type": "ERC20", + "stagnant": false, + "abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "package_name": "erc20", + "package_output_path": "erc20/erc20.go", + "functions": [ + { + "name": "totalSupply", + "inputs": null, + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "balanceOf", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "transfer", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + }, + { + "name": "transferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + }, + { + "name": "approve", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + }, + { + "name": "allowance", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + } + ] + } + }, + { + "contract_id": 409, + "contract_name": "GROK", + "confidences": { + "confidence": 2, + "confidence_points": 0.5777777777777777, + "threshold": 0.5, + "maximum_tokens": 90, + "discovered_tokens": 52, + "standard": "ERC721", + "contract": { + "name": "GROK", + "functions": [ + { + "name": "openTrading", + "inputs": [], + "outputs": [ + { + "type": "string", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [], + "outputs": [ + { + "type": "string", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "address", + "matched": false + } + ], + "matched": false + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "address", + "matched": false + } + ], + "matched": false + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true + }, + { + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true + }, + { + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": [], + "matched": false + } + ] + } + }, + "standards": { + "name": "ERC-721 Non-Fungible Token Standard", + "url": "https://eips.ethereum.org/EIPS/eip-721", + "type": "ERC721", + "stagnant": false, + "abi": "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + "package_name": "erc721", + "package_output_path": "erc721/erc721.go", + "functions": [ + { + "name": "name", + "inputs": null, + "outputs": [ + { + "type": "string", + "matched": false + } + ], + "matched": false + }, + { + "name": "symbol", + "inputs": null, + "outputs": [ + { + "type": "string", + "matched": false + } + ], + "matched": false + }, + { + "name": "totalSupply", + "inputs": null, + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "balanceOf", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "ownerOf", + "inputs": [ + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "address", + "matched": false + } + ], + "matched": false + }, + { + "name": "transferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "approve", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "setApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "getApproved", + "inputs": [ + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "address", + "matched": false + } + ], + "matched": false + }, + { + "name": "isApprovedForAll", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "bool", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + } + ] + } + } + ], + "high_confidence_match_standards": [], + "perfect_confidence_match_standards": [ + { + "contract_id": 409, + "contract_name": "GROK", + "confidences": { + "confidence": 4, + "confidence_points": 1, + "threshold": 1, + "maximum_tokens": 68, + "discovered_tokens": 68, + "standard": "ERC20", + "contract": { + "name": "GROK", + "functions": [ + { + "name": "openTrading", + "inputs": [], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + }, + { + "name": "openTrading", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "address", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "uint256", + "matched": true + } + ], + "matched": true + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true + }, + { + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "address", + "indexed": true, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [], + "matched": true + } + ] + } + }, + "standards": { + "name": "ERC-20 Token Standard", + "url": "https://eips.ethereum.org/EIPS/eip-20", + "type": "ERC20", + "stagnant": false, + "abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "package_name": "erc20", + "package_output_path": "erc20/erc20.go", + "functions": [ + { + "name": "totalSupply", + "inputs": null, + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "balanceOf", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + }, + { + "name": "transfer", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + }, + { + "name": "transferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + }, + { + "name": "approve", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "bool", + "matched": false + } + ], + "matched": false + }, + { + "name": "allowance", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": false + }, + { + "type": "address", + "indexed": false, + "matched": false + } + ], + "outputs": [ + { + "type": "uint256", + "matched": false + } + ], + "matched": false + } + ], + "events": [ + { + "name": "Transfer", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + }, + { + "name": "Approval", + "inputs": [ + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "address", + "indexed": true, + "matched": false + }, + { + "type": "uint256", + "indexed": false, + "matched": false + } + ], + "outputs": null, + "matched": false + } + ] + } + } + ] + }, + "state_variable": { + "detected": false, + "declarations": [ + { + "name": "_owner", + "state_variable": true, + "constant": false, + "statement": { + "id": 260, + "name": "_owner", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 66, + "column": 4, + "start": 2094, + "end": 2116, + "length": 23, + "parent_index": 256 + }, + "scope": 256, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 261, + "node_type": 30, + "src": { + "line": 66, + "column": 4, + "start": 2094, + "end": 2100, + "length": 7, + "parent_index": 260 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 260, + "block_number": 18768660, + "name": "_owner", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "slot": 0, + "size": 160, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": "0x0000000000000000000000000000000000000000" + } + }, + { + "name": "_balances", + "state_variable": true, + "constant": false, + "statement": { + "id": 421, + "name": "_balances", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 117, + "column": 4, + "start": 3592, + "end": 3638, + "length": 47, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_uint256$", + "type_string": "mapping(address=\u003euint256)" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 422, + "node_type": 53, + "src": { + "line": 117, + "column": 4, + "start": 3592, + "end": 3619, + "length": 28, + "parent_index": 421 + }, + "key_type": { + "id": 423, + "node_type": 30, + "src": { + "line": 117, + "column": 13, + "start": 3601, + "end": 3607, + "length": 7, + "parent_index": 422 + }, + "name": "address", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "key_name_location": { + "line": 117, + "column": 13, + "start": 3601, + "end": 3607, + "length": 7, + "parent_index": 422 + }, + "value_type": { + "id": 424, + "node_type": 30, + "src": { + "line": 117, + "column": 24, + "start": 3612, + "end": 3618, + "length": 7, + "parent_index": 422 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "value_name_location": { + "line": 117, + "column": 24, + "start": 3612, + "end": 3618, + "length": 7, + "parent_index": 422 + }, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_uint256$", + "type_string": "mapping(address=\u003euint256)" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 421, + "block_number": 18768660, + "name": "_balances", + "type": "mapping(address=\u003euint256)", + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_uint256$", + "type_string": "mapping(address=\u003euint256)" + }, + "slot": 1, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": {} + } + }, + { + "name": "_allowances", + "state_variable": true, + "constant": false, + "statement": { + "id": 426, + "name": "_allowances", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 118, + "column": 4, + "start": 3645, + "end": 3714, + "length": 70, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$", + "type_string": "mapping(address=\u003emapping(address=\u003euint256))" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 427, + "node_type": 53, + "src": { + "line": 118, + "column": 4, + "start": 3645, + "end": 3693, + "length": 49, + "parent_index": 426 + }, + "key_type": { + "id": 428, + "node_type": 30, + "src": { + "line": 118, + "column": 13, + "start": 3654, + "end": 3660, + "length": 7, + "parent_index": 427 + }, + "name": "address", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "key_name_location": { + "line": 118, + "column": 13, + "start": 3654, + "end": 3660, + "length": 7, + "parent_index": 427 + }, + "value_type": { + "id": 429, + "node_type": 53, + "src": { + "line": 118, + "column": 24, + "start": 3665, + "end": 3692, + "length": 28, + "parent_index": 427 + }, + "name": "mapping(address=\u003euint256)", + "key_type": { + "id": 431, + "node_type": 30, + "src": { + "line": 118, + "column": 33, + "start": 3674, + "end": 3680, + "length": 7, + "parent_index": 427 + }, + "name": "address", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "key_name_location": { + "line": 118, + "column": 33, + "start": 3674, + "end": 3680, + "length": 7, + "parent_index": 429 + }, + "value_type": { + "id": 432, + "node_type": 30, + "src": { + "line": 118, + "column": 44, + "start": 3685, + "end": 3691, + "length": 7, + "parent_index": 427 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "value_name_location": { + "line": 118, + "column": 44, + "start": 3685, + "end": 3691, + "length": 7, + "parent_index": 429 + }, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_uint256", + "type_string": "mapping(address=\u003euint256)" + } + }, + "value_name_location": { + "line": 118, + "column": 24, + "start": 3665, + "end": 3692, + "length": 28, + "parent_index": 427 + }, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$", + "type_string": "mapping(address=\u003emapping(address=\u003euint256))" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 426, + "block_number": 18768660, + "name": "_allowances", + "type": "mapping(address=\u003emapping(address=\u003euint256))", + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$", + "type_string": "mapping(address=\u003emapping(address=\u003euint256))" + }, + "slot": 2, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": {} + } + }, + { + "name": "_isExcludedFromFee", + "state_variable": true, + "constant": false, + "statement": { + "id": 434, + "name": "_isExcludedFromFee", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 119, + "column": 4, + "start": 3721, + "end": 3773, + "length": 53, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 435, + "node_type": 53, + "src": { + "line": 119, + "column": 4, + "start": 3721, + "end": 3745, + "length": 25, + "parent_index": 434 + }, + "key_type": { + "id": 436, + "node_type": 30, + "src": { + "line": 119, + "column": 13, + "start": 3730, + "end": 3736, + "length": 7, + "parent_index": 435 + }, + "name": "address", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "key_name_location": { + "line": 119, + "column": 13, + "start": 3730, + "end": 3736, + "length": 7, + "parent_index": 435 + }, + "value_type": { + "id": 437, + "node_type": 30, + "src": { + "line": 119, + "column": 24, + "start": 3741, + "end": 3744, + "length": 4, + "parent_index": 435 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "value_name_location": { + "line": 119, + "column": 24, + "start": 3741, + "end": 3744, + "length": 4, + "parent_index": 435 + }, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 434, + "block_number": 18768660, + "name": "_isExcludedFromFee", + "type": "mapping(address=\u003ebool)", + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + }, + "slot": 3, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": {} + } + }, + { + "name": "bots", + "state_variable": true, + "constant": false, + "statement": { + "id": 439, + "name": "bots", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 120, + "column": 4, + "start": 3780, + "end": 3818, + "length": 39, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 440, + "node_type": 53, + "src": { + "line": 120, + "column": 4, + "start": 3780, + "end": 3804, + "length": 25, + "parent_index": 439 + }, + "key_type": { + "id": 441, + "node_type": 30, + "src": { + "line": 120, + "column": 13, + "start": 3789, + "end": 3795, + "length": 7, + "parent_index": 440 + }, + "name": "address", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "key_name_location": { + "line": 120, + "column": 13, + "start": 3789, + "end": 3795, + "length": 7, + "parent_index": 440 + }, + "value_type": { + "id": 442, + "node_type": 30, + "src": { + "line": 120, + "column": 24, + "start": 3800, + "end": 3803, + "length": 4, + "parent_index": 440 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "value_name_location": { + "line": 120, + "column": 24, + "start": 3800, + "end": 3803, + "length": 4, + "parent_index": 440 + }, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 439, + "block_number": 18768660, + "name": "bots", + "type": "mapping(address=\u003ebool)", + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + }, + "slot": 4, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": {} + } + }, + { + "name": "_taxWallet", + "state_variable": true, + "constant": false, + "statement": { + "id": 444, + "name": "_taxWallet", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 121, + "column": 4, + "start": 3825, + "end": 3859, + "length": 35, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_address_payable", + "type_string": "address" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 445, + "node_type": 30, + "src": { + "line": 121, + "column": 4, + "start": 3825, + "end": 3839, + "length": 15, + "parent_index": 444 + }, + "name": "addresspayable", + "state_mutability": 3, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address_payable", + "type_string": "address" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 444, + "block_number": 18768660, + "name": "_taxWallet", + "type": "addresspayable", + "type_description": { + "type_identifier": "t_address_payable", + "type_string": "address" + }, + "slot": 5, + "size": 160, + "offset": 0, + "raw_value": "0x000000000000000000000000f9387ac9f61cc22994a59a6008f827435ce744b6", + "value": "0xf9387ac9f61cc22994a59a6008f827435ce744b6" + } + }, + { + "name": "firstBlock", + "state_variable": true, + "constant": false, + "statement": { + "id": 447, + "name": "firstBlock", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 122, + "column": 4, + "start": 3866, + "end": 3884, + "length": 19, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "visibility": 1, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 448, + "node_type": 30, + "src": { + "line": 122, + "column": 4, + "start": 3866, + "end": 3872, + "length": 7, + "parent_index": 447 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 447, + "block_number": 18768660, + "name": "firstBlock", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 6, + "size": 256, + "offset": 0, + "raw_value": "0x00000000000000000000000000000000000000000000000000000000011a3b08", + "value": 18496264 + } + }, + { + "name": "_initialBuyTax", + "state_variable": true, + "constant": false, + "statement": { + "id": 450, + "name": "_initialBuyTax", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 124, + "column": 4, + "start": 3893, + "end": 3926, + "length": 34, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_24_by_1", + "type_string": "int_const 24" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 451, + "node_type": 30, + "src": { + "line": 124, + "column": 4, + "start": 3893, + "end": 3899, + "length": 7, + "parent_index": 450 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 452, + "node_type": 17, + "kind": 49, + "value": "24", + "hex_value": "3234", + "src": { + "line": 124, + "column": 35, + "start": 3924, + "end": 3925, + "length": 2, + "parent_index": 450 + }, + "type_description": { + "type_identifier": "t_rational_24_by_1", + "type_string": "int_const 24" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "24" + } + }, + "storage_slot": { + "declaration_id": 450, + "block_number": 18768660, + "name": "_initialBuyTax", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 7, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000018", + "value": 24 + } + }, + { + "name": "_initialSellTax", + "state_variable": true, + "constant": false, + "statement": { + "id": 454, + "name": "_initialSellTax", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 125, + "column": 4, + "start": 3933, + "end": 3967, + "length": 35, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_24_by_1", + "type_string": "int_const 24" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 455, + "node_type": 30, + "src": { + "line": 125, + "column": 4, + "start": 3933, + "end": 3939, + "length": 7, + "parent_index": 454 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 456, + "node_type": 17, + "kind": 49, + "value": "24", + "hex_value": "3234", + "src": { + "line": 125, + "column": 36, + "start": 3965, + "end": 3966, + "length": 2, + "parent_index": 454 + }, + "type_description": { + "type_identifier": "t_rational_24_by_1", + "type_string": "int_const 24" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "24" + } + }, + "storage_slot": { + "declaration_id": 454, + "block_number": 18768660, + "name": "_initialSellTax", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 8, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000018", + "value": 24 + } + }, + { + "name": "_finalBuyTax", + "state_variable": true, + "constant": false, + "statement": { + "id": 458, + "name": "_finalBuyTax", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 126, + "column": 4, + "start": 3974, + "end": 4004, + "length": 31, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 459, + "node_type": 30, + "src": { + "line": 126, + "column": 4, + "start": 3974, + "end": 3980, + "length": 7, + "parent_index": 458 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 460, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 126, + "column": 33, + "start": 4003, + "end": 4003, + "length": 1, + "parent_index": 458 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + }, + "storage_slot": { + "declaration_id": 458, + "block_number": 18768661, + "name": "_finalBuyTax", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 9, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": 0 + } + }, + { + "name": "_finalSellTax", + "state_variable": true, + "constant": false, + "statement": { + "id": 462, + "name": "_finalSellTax", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 127, + "column": 4, + "start": 4011, + "end": 4042, + "length": 32, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 463, + "node_type": 30, + "src": { + "line": 127, + "column": 4, + "start": 4011, + "end": 4017, + "length": 7, + "parent_index": 462 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 464, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 127, + "column": 34, + "start": 4041, + "end": 4041, + "length": 1, + "parent_index": 462 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + }, + "storage_slot": { + "declaration_id": 462, + "block_number": 18768661, + "name": "_finalSellTax", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 10, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": 0 + } + }, + { + "name": "_reduceBuyTaxAt", + "state_variable": true, + "constant": false, + "statement": { + "id": 466, + "name": "_reduceBuyTaxAt", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 128, + "column": 4, + "start": 4049, + "end": 4083, + "length": 35, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_19_by_1", + "type_string": "int_const 19" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 467, + "node_type": 30, + "src": { + "line": 128, + "column": 4, + "start": 4049, + "end": 4055, + "length": 7, + "parent_index": 466 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 468, + "node_type": 17, + "kind": 49, + "value": "19", + "hex_value": "3139", + "src": { + "line": 128, + "column": 36, + "start": 4081, + "end": 4082, + "length": 2, + "parent_index": 466 + }, + "type_description": { + "type_identifier": "t_rational_19_by_1", + "type_string": "int_const 19" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "19" + } + }, + "storage_slot": { + "declaration_id": 466, + "block_number": 18768661, + "name": "_reduceBuyTaxAt", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 11, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000013", + "value": 19 + } + }, + { + "name": "_reduceSellTaxAt", + "state_variable": true, + "constant": false, + "statement": { + "id": 470, + "name": "_reduceSellTaxAt", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 129, + "column": 4, + "start": 4090, + "end": 4125, + "length": 36, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_29_by_1", + "type_string": "int_const 29" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 471, + "node_type": 30, + "src": { + "line": 129, + "column": 4, + "start": 4090, + "end": 4096, + "length": 7, + "parent_index": 470 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 472, + "node_type": 17, + "kind": 49, + "value": "29", + "hex_value": "3239", + "src": { + "line": 129, + "column": 37, + "start": 4123, + "end": 4124, + "length": 2, + "parent_index": 470 + }, + "type_description": { + "type_identifier": "t_rational_29_by_1", + "type_string": "int_const 29" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "29" + } + }, + "storage_slot": { + "declaration_id": 470, + "block_number": 18768661, + "name": "_reduceSellTaxAt", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 12, + "size": 256, + "offset": 0, + "raw_value": "0x000000000000000000000000000000000000000000000000000000000000001d", + "value": 29 + } + }, + { + "name": "_preventSwapBefore", + "state_variable": true, + "constant": false, + "statement": { + "id": 474, + "name": "_preventSwapBefore", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 130, + "column": 4, + "start": 4132, + "end": 4169, + "length": 38, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_20_by_1", + "type_string": "int_const 20" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 475, + "node_type": 30, + "src": { + "line": 130, + "column": 4, + "start": 4132, + "end": 4138, + "length": 7, + "parent_index": 474 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 476, + "node_type": 17, + "kind": 49, + "value": "20", + "hex_value": "3230", + "src": { + "line": 130, + "column": 39, + "start": 4167, + "end": 4168, + "length": 2, + "parent_index": 474 + }, + "type_description": { + "type_identifier": "t_rational_20_by_1", + "type_string": "int_const 20" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "20" + } + }, + "storage_slot": { + "declaration_id": 474, + "block_number": 18768661, + "name": "_preventSwapBefore", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 13, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000014", + "value": 20 + } + }, + { + "name": "_buyCount", + "state_variable": true, + "constant": false, + "statement": { + "id": 478, + "name": "_buyCount", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 131, + "column": 4, + "start": 4176, + "end": 4203, + "length": 28, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 479, + "node_type": 30, + "src": { + "line": 131, + "column": 4, + "start": 4176, + "end": 4182, + "length": 7, + "parent_index": 478 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 480, + "node_type": 17, + "kind": 49, + "value": "0", + "hex_value": "30", + "src": { + "line": 131, + "column": 30, + "start": 4202, + "end": 4202, + "length": 1, + "parent_index": 478 + }, + "type_description": { + "type_identifier": "t_rational_0_by_1", + "type_string": "int_const 0" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "0" + } + }, + "storage_slot": { + "declaration_id": 478, + "block_number": 18768661, + "name": "_buyCount", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 14, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000015c84", + "value": 89220 + } + }, + { + "name": "_decimals", + "state_variable": true, + "constant": true, + "statement": { + "id": 482, + "name": "_decimals", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 133, + "column": 4, + "start": 4212, + "end": 4248, + "length": 37, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 483, + "node_type": 30, + "src": { + "line": 133, + "column": 4, + "start": 4212, + "end": 4216, + "length": 5, + "parent_index": 482 + }, + "name": "uint8", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint8", + "type_string": "uint8" + } + }, + "initial_value": { + "id": 484, + "node_type": 17, + "kind": 49, + "value": "9", + "hex_value": "39", + "src": { + "line": 133, + "column": 39, + "start": 4247, + "end": 4247, + "length": 1, + "parent_index": 482 + }, + "type_description": { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "9" + } + }, + "storage_slot": null + }, + { + "name": "_tTotal", + "state_variable": true, + "constant": true, + "statement": { + "id": 486, + "name": "_tTotal", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 134, + "column": 4, + "start": 4255, + "end": 4316, + "length": 62, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_6900000000_by_1", + "type_string": "int_const 6900000000" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 487, + "node_type": 30, + "src": { + "line": 134, + "column": 4, + "start": 4255, + "end": 4261, + "length": 7, + "parent_index": 486 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 488, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 134, + "column": 39, + "start": 4290, + "end": 4315, + "length": 26, + "parent_index": 486 + }, + "operator": 3, + "left_expression": { + "id": 489, + "node_type": 17, + "kind": 49, + "value": "6900000000", + "hex_value": "36393030303030303030", + "src": { + "line": 134, + "column": 39, + "start": 4290, + "end": 4299, + "length": 10, + "parent_index": 488 + }, + "type_description": { + "type_identifier": "t_rational_6900000000_by_1", + "type_string": "int_const 6900000000" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "6900000000" + }, + "right_expression": { + "id": 491, + "node_type": 95, + "src": { + "line": 134, + "column": 52, + "start": 4303, + "end": 4315, + "length": 13, + "parent_index": 488 + }, + "left_expression": { + "id": 492, + "node_type": 17, + "kind": 49, + "value": "10", + "hex_value": "3130", + "src": { + "line": 134, + "column": 52, + "start": 4303, + "end": 4304, + "length": 2, + "parent_index": 491 + }, + "type_description": { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "10" + }, + "right_expression": { + "id": 493, + "node_type": 16, + "src": { + "line": 134, + "column": 56, + "start": 4307, + "end": 4315, + "length": 9, + "parent_index": 491 + }, + "name": "_decimals", + "type_description": { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + }, + "overloaded_declarations": [], + "referenced_declaration": 482, + "is_pure": false, + "text": "_decimals" + }, + "type_descriptions": [ + { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + } + ] + }, + "type_description": { + "type_identifier": "t_rational_6900000000_by_1", + "type_string": "int_const 6900000000" + } + } + }, + "storage_slot": null + }, + { + "name": "_name", + "state_variable": true, + "constant": true, + "statement": { + "id": 495, + "name": "_name", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 135, + "column": 4, + "start": 4323, + "end": 4368, + "length": 46, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_string_unicode_literal", + "type_string": "literal_unicode_string \"unicode\"GROK\"\"" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 496, + "node_type": 30, + "src": { + "line": 135, + "column": 4, + "start": 4323, + "end": 4328, + "length": 6, + "parent_index": 495 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "initial_value": { + "id": 497, + "node_type": 17, + "kind": 100, + "value": "GROK", + "src": { + "line": 135, + "column": 36, + "start": 4355, + "end": 4367, + "length": 13, + "parent_index": 495 + }, + "type_description": { + "type_identifier": "t_string_unicode_literal", + "type_string": "literal_unicode_string \"unicode\"GROK\"\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "unicode\"GROK\"" + } + }, + "storage_slot": null + }, + { + "name": "_symbol", + "state_variable": true, + "constant": true, + "statement": { + "id": 499, + "name": "_symbol", + "is_constant": true, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 136, + "column": 4, + "start": 4375, + "end": 4422, + "length": 48, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_string_unicode_literal", + "type_string": "literal_unicode_string \"unicode\"GROK\"\"" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 500, + "node_type": 30, + "src": { + "line": 136, + "column": 4, + "start": 4375, + "end": 4380, + "length": 6, + "parent_index": 499 + }, + "name": "string", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_string", + "type_string": "string" + } + }, + "initial_value": { + "id": 501, + "node_type": 17, + "kind": 100, + "value": "GROK", + "src": { + "line": 136, + "column": 38, + "start": 4409, + "end": 4421, + "length": 13, + "parent_index": 499 + }, + "type_description": { + "type_identifier": "t_string_unicode_literal", + "type_string": "literal_unicode_string \"unicode\"GROK\"\"" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "unicode\"GROK\"" + } + }, + "storage_slot": null + }, + { + "name": "_maxTxAmount", + "state_variable": true, + "constant": false, + "statement": { + "id": 503, + "name": "_maxTxAmount", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 137, + "column": 4, + "start": 4429, + "end": 4484, + "length": 56, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_138000000_by_1", + "type_string": "int_const 138000000" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 504, + "node_type": 30, + "src": { + "line": 137, + "column": 4, + "start": 4429, + "end": 4435, + "length": 7, + "parent_index": 503 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 505, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 137, + "column": 34, + "start": 4459, + "end": 4483, + "length": 25, + "parent_index": 503 + }, + "operator": 3, + "left_expression": { + "id": 506, + "node_type": 17, + "kind": 49, + "value": "138000000", + "hex_value": "313338303030303030", + "src": { + "line": 137, + "column": 34, + "start": 4459, + "end": 4467, + "length": 9, + "parent_index": 505 + }, + "type_description": { + "type_identifier": "t_rational_138000000_by_1", + "type_string": "int_const 138000000" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "138000000" + }, + "right_expression": { + "id": 508, + "node_type": 95, + "src": { + "line": 137, + "column": 46, + "start": 4471, + "end": 4483, + "length": 13, + "parent_index": 505 + }, + "left_expression": { + "id": 509, + "node_type": 17, + "kind": 49, + "value": "10", + "hex_value": "3130", + "src": { + "line": 137, + "column": 46, + "start": 4471, + "end": 4472, + "length": 2, + "parent_index": 508 + }, + "type_description": { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "10" + }, + "right_expression": { + "id": 510, + "node_type": 16, + "src": { + "line": 137, + "column": 50, + "start": 4475, + "end": 4483, + "length": 9, + "parent_index": 508 + }, + "name": "_decimals", + "type_description": { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + }, + "overloaded_declarations": [], + "referenced_declaration": 482, + "is_pure": false, + "text": "_decimals" + }, + "type_descriptions": [ + { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + } + ] + }, + "type_description": { + "type_identifier": "t_rational_138000000_by_1", + "type_string": "int_const 138000000" + } + } + }, + "storage_slot": { + "declaration_id": 503, + "block_number": 18768661, + "name": "_maxTxAmount", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 15, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000005fc1b97136320000", + "value": 6900000000000000000 + } + }, + { + "name": "_maxWalletSize", + "state_variable": true, + "constant": false, + "statement": { + "id": 512, + "name": "_maxWalletSize", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 138, + "column": 4, + "start": 4491, + "end": 4548, + "length": 58, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_138000000_by_1", + "type_string": "int_const 138000000" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 513, + "node_type": 30, + "src": { + "line": 138, + "column": 4, + "start": 4491, + "end": 4497, + "length": 7, + "parent_index": 512 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 514, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 138, + "column": 36, + "start": 4523, + "end": 4547, + "length": 25, + "parent_index": 512 + }, + "operator": 3, + "left_expression": { + "id": 515, + "node_type": 17, + "kind": 49, + "value": "138000000", + "hex_value": "313338303030303030", + "src": { + "line": 138, + "column": 36, + "start": 4523, + "end": 4531, + "length": 9, + "parent_index": 514 + }, + "type_description": { + "type_identifier": "t_rational_138000000_by_1", + "type_string": "int_const 138000000" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "138000000" + }, + "right_expression": { + "id": 517, + "node_type": 95, + "src": { + "line": 138, + "column": 48, + "start": 4535, + "end": 4547, + "length": 13, + "parent_index": 514 + }, + "left_expression": { + "id": 518, + "node_type": 17, + "kind": 49, + "value": "10", + "hex_value": "3130", + "src": { + "line": 138, + "column": 48, + "start": 4535, + "end": 4536, + "length": 2, + "parent_index": 517 + }, + "type_description": { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "10" + }, + "right_expression": { + "id": 519, + "node_type": 16, + "src": { + "line": 138, + "column": 52, + "start": 4539, + "end": 4547, + "length": 9, + "parent_index": 517 + }, + "name": "_decimals", + "type_description": { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + }, + "overloaded_declarations": [], + "referenced_declaration": 482, + "is_pure": false, + "text": "_decimals" + }, + "type_descriptions": [ + { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + } + ] + }, + "type_description": { + "type_identifier": "t_rational_138000000_by_1", + "type_string": "int_const 138000000" + } + } + }, + "storage_slot": { + "declaration_id": 512, + "block_number": 18768661, + "name": "_maxWalletSize", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 16, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000005fc1b97136320000", + "value": 6900000000000000000 + } + }, + { + "name": "_taxSwapThreshold", + "state_variable": true, + "constant": false, + "statement": { + "id": 521, + "name": "_taxSwapThreshold", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 139, + "column": 4, + "start": 4555, + "end": 4613, + "length": 59, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_69000000_by_1", + "type_string": "int_const 69000000" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 522, + "node_type": 30, + "src": { + "line": 139, + "column": 4, + "start": 4555, + "end": 4561, + "length": 7, + "parent_index": 521 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 523, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 139, + "column": 38, + "start": 4589, + "end": 4612, + "length": 24, + "parent_index": 521 + }, + "operator": 3, + "left_expression": { + "id": 524, + "node_type": 17, + "kind": 49, + "value": "69000000", + "hex_value": "3639303030303030", + "src": { + "line": 139, + "column": 38, + "start": 4589, + "end": 4596, + "length": 8, + "parent_index": 523 + }, + "type_description": { + "type_identifier": "t_rational_69000000_by_1", + "type_string": "int_const 69000000" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "69000000" + }, + "right_expression": { + "id": 526, + "node_type": 95, + "src": { + "line": 139, + "column": 49, + "start": 4600, + "end": 4612, + "length": 13, + "parent_index": 523 + }, + "left_expression": { + "id": 527, + "node_type": 17, + "kind": 49, + "value": "10", + "hex_value": "3130", + "src": { + "line": 139, + "column": 49, + "start": 4600, + "end": 4601, + "length": 2, + "parent_index": 526 + }, + "type_description": { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "10" + }, + "right_expression": { + "id": 528, + "node_type": 16, + "src": { + "line": 139, + "column": 53, + "start": 4604, + "end": 4612, + "length": 9, + "parent_index": 526 + }, + "name": "_decimals", + "type_description": { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + }, + "overloaded_declarations": [], + "referenced_declaration": 482, + "is_pure": false, + "text": "_decimals" + }, + "type_descriptions": [ + { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + } + ] + }, + "type_description": { + "type_identifier": "t_rational_69000000_by_1", + "type_string": "int_const 69000000" + } + } + }, + "storage_slot": { + "declaration_id": 521, + "block_number": 18768661, + "name": "_taxSwapThreshold", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 17, + "size": 256, + "offset": 0, + "raw_value": "0x00000000000000000000000000000000000000000000000000f5232269808000", + "value": 69000000000000000 + } + }, + { + "name": "_maxTaxSwap", + "state_variable": true, + "constant": false, + "statement": { + "id": 530, + "name": "_maxTaxSwap", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 140, + "column": 4, + "start": 4620, + "end": 4672, + "length": 53, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_rational_69000000_by_1", + "type_string": "int_const 69000000" + }, + "visibility": 3, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 531, + "node_type": 30, + "src": { + "line": 140, + "column": 4, + "start": 4620, + "end": 4626, + "length": 7, + "parent_index": 530 + }, + "name": "uint256", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + } + }, + "initial_value": { + "id": 532, + "is_constant": false, + "is_pure": false, + "node_type": 19, + "src": { + "line": 140, + "column": 32, + "start": 4648, + "end": 4671, + "length": 24, + "parent_index": 530 + }, + "operator": 3, + "left_expression": { + "id": 533, + "node_type": 17, + "kind": 49, + "value": "69000000", + "hex_value": "3639303030303030", + "src": { + "line": 140, + "column": 32, + "start": 4648, + "end": 4655, + "length": 8, + "parent_index": 532 + }, + "type_description": { + "type_identifier": "t_rational_69000000_by_1", + "type_string": "int_const 69000000" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "69000000" + }, + "right_expression": { + "id": 535, + "node_type": 95, + "src": { + "line": 140, + "column": 43, + "start": 4659, + "end": 4671, + "length": 13, + "parent_index": 532 + }, + "left_expression": { + "id": 536, + "node_type": 17, + "kind": 49, + "value": "10", + "hex_value": "3130", + "src": { + "line": 140, + "column": 43, + "start": 4659, + "end": 4660, + "length": 2, + "parent_index": 535 + }, + "type_description": { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "10" + }, + "right_expression": { + "id": 537, + "node_type": 16, + "src": { + "line": 140, + "column": 47, + "start": 4663, + "end": 4671, + "length": 9, + "parent_index": 535 + }, + "name": "_decimals", + "type_description": { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + }, + "overloaded_declarations": [], + "referenced_declaration": 482, + "is_pure": false, + "text": "_decimals" + }, + "type_descriptions": [ + { + "type_identifier": "t_rational_10_by_1", + "type_string": "int_const 10" + }, + { + "type_identifier": "t_rational_9_by_1", + "type_string": "int_const 9" + } + ] + }, + "type_description": { + "type_identifier": "t_rational_69000000_by_1", + "type_string": "int_const 69000000" + } + } + }, + "storage_slot": { + "declaration_id": 530, + "block_number": 18768661, + "name": "_maxTaxSwap", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 18, + "size": 256, + "offset": 0, + "raw_value": "0x00000000000000000000000000000000000000000000000000f5232269808000", + "value": 69000000000000000 + } + }, + { + "name": "uniswapV2Router", + "state_variable": true, + "constant": false, + "statement": { + "id": 539, + "name": "uniswapV2Router", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 142, + "column": 4, + "start": 4681, + "end": 4723, + "length": 43, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_contract$_IUniswapV2Router02_$348", + "type_string": "contract IUniswapV2Router02" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 540, + "node_type": 69, + "src": { + "line": 142, + "column": 4, + "start": 4681, + "end": 4698, + "length": 18, + "parent_index": 539 + }, + "path_node": { + "id": 541, + "name": "IUniswapV2Router02", + "node_type": 52, + "referenced_declaration": 348, + "src": { + "line": 142, + "column": 4, + "start": 4681, + "end": 4698, + "length": 18, + "parent_index": 540 + }, + "name_location": { + "line": 142, + "column": 4, + "start": 4681, + "end": 4698, + "length": 18, + "parent_index": 540 + } + }, + "referenced_declaration": 348, + "type_description": { + "type_identifier": "t_contract$_IUniswapV2Router02_$348", + "type_string": "contract IUniswapV2Router02" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 539, + "block_number": 18768661, + "name": "uniswapV2Router", + "type": "address", + "type_description": { + "type_identifier": "t_contract$_IUniswapV2Router02_$348", + "type_string": "contract IUniswapV2Router02" + }, + "slot": 19, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "value": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d" + } + }, + { + "name": "uniswapV2Pair", + "state_variable": true, + "constant": false, + "statement": { + "id": 543, + "name": "uniswapV2Pair", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 143, + "column": 4, + "start": 4730, + "end": 4759, + "length": 30, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 544, + "node_type": 30, + "src": { + "line": 143, + "column": 4, + "start": 4730, + "end": 4736, + "length": 7, + "parent_index": 543 + }, + "name": "address", + "state_mutability": 4, + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 543, + "block_number": 18768661, + "name": "uniswapV2Pair", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "slot": 20, + "size": 160, + "offset": 0, + "raw_value": "0x00000000000000000001000169c66beafb06674db41b22cfc50c34a93b8d82a2", + "value": "0x69c66beafb06674db41b22cfc50c34a93b8d82a2" + } + }, + { + "name": "tradingOpen", + "state_variable": true, + "constant": false, + "statement": { + "id": 546, + "name": "tradingOpen", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 144, + "column": 4, + "start": 4766, + "end": 4790, + "length": 25, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 547, + "node_type": 30, + "src": { + "line": 144, + "column": 4, + "start": 4766, + "end": 4769, + "length": 4, + "parent_index": 546 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "initial_value": null + }, + "storage_slot": { + "declaration_id": 546, + "block_number": 18768661, + "name": "tradingOpen", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "slot": 20, + "size": 8, + "offset": 160, + "raw_value": "0x00000000000000000001000169c66beafb06674db41b22cfc50c34a93b8d82a2", + "value": true + } + }, + { + "name": "inSwap", + "state_variable": true, + "constant": false, + "statement": { + "id": 549, + "name": "inSwap", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 145, + "column": 4, + "start": 4797, + "end": 4824, + "length": 28, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 550, + "node_type": 30, + "src": { + "line": 145, + "column": 4, + "start": 4797, + "end": 4800, + "length": 4, + "parent_index": 549 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "initial_value": { + "id": 551, + "node_type": 17, + "kind": 61, + "value": "false", + "hex_value": "66616c7365", + "src": { + "line": 145, + "column": 26, + "start": 4819, + "end": 4823, + "length": 5, + "parent_index": 549 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "false" + } + }, + "storage_slot": { + "declaration_id": 549, + "block_number": 18768661, + "name": "inSwap", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "slot": 20, + "size": 8, + "offset": 168, + "raw_value": "0x00000000000000000001000169c66beafb06674db41b22cfc50c34a93b8d82a2", + "value": false + } + }, + { + "name": "swapEnabled", + "state_variable": true, + "constant": false, + "statement": { + "id": 553, + "name": "swapEnabled", + "is_constant": false, + "is_state_variable": true, + "node_type": 44, + "src": { + "line": 146, + "column": 4, + "start": 4831, + "end": 4863, + "length": 33, + "parent_index": 409 + }, + "scope": 409, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "visibility": 2, + "storage_location": 1, + "mutability": 1, + "type_name": { + "id": 554, + "node_type": 30, + "src": { + "line": 146, + "column": 4, + "start": 4831, + "end": 4834, + "length": 4, + "parent_index": 553 + }, + "name": "bool", + "referenced_declaration": 0, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + } + }, + "initial_value": { + "id": 555, + "node_type": 17, + "kind": 61, + "value": "false", + "hex_value": "66616c7365", + "src": { + "line": 146, + "column": 31, + "start": 4858, + "end": 4862, + "length": 5, + "parent_index": 553 + }, + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "overloaded_declarations": [], + "referenced_declaration": 0, + "is_pure": true, + "text": "false" + } + }, + "storage_slot": { + "declaration_id": 553, + "block_number": 18768661, + "name": "swapEnabled", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "slot": 20, + "size": 8, + "offset": 176, + "raw_value": "0x00000000000000000001000169c66beafb06674db41b22cfc50c34a93b8d82a2", + "value": true + } + } + ] + }, + "storage": { + "detected": true, + "descriptor": { + "address": "0x8390a1da07e376ef7add4be859ba74fb83aa02d5", + "block": 18768660, + "storage_layout": { + "slots": [ + { + "declaration_id": 260, + "block_number": 18768660, + "name": "_owner", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "slot": 0, + "size": 160, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": "0x0000000000000000000000000000000000000000" + }, + { + "declaration_id": 421, + "block_number": 18768660, + "name": "_balances", + "type": "mapping(address=\u003euint256)", + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_uint256$", + "type_string": "mapping(address=\u003euint256)" + }, + "slot": 1, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": {} + }, + { + "declaration_id": 426, + "block_number": 18768660, + "name": "_allowances", + "type": "mapping(address=\u003emapping(address=\u003euint256))", + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_mapping_$t_address_$t_uint256$", + "type_string": "mapping(address=\u003emapping(address=\u003euint256))" + }, + "slot": 2, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": {} + }, + { + "declaration_id": 434, + "block_number": 18768660, + "name": "_isExcludedFromFee", + "type": "mapping(address=\u003ebool)", + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + }, + "slot": 3, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": {} + }, + { + "declaration_id": 439, + "block_number": 18768660, + "name": "bots", + "type": "mapping(address=\u003ebool)", + "type_description": { + "type_identifier": "t_mapping_$t_address_$t_bool$", + "type_string": "mapping(address=\u003ebool)" + }, + "slot": 4, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": {} + }, + { + "declaration_id": 444, + "block_number": 18768660, + "name": "_taxWallet", + "type": "addresspayable", + "type_description": { + "type_identifier": "t_address_payable", + "type_string": "address" + }, + "slot": 5, + "size": 160, + "offset": 0, + "raw_value": "0x000000000000000000000000f9387ac9f61cc22994a59a6008f827435ce744b6", + "value": "0xf9387ac9f61cc22994a59a6008f827435ce744b6" + }, + { + "declaration_id": 447, + "block_number": 18768660, + "name": "firstBlock", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 6, + "size": 256, + "offset": 0, + "raw_value": "0x00000000000000000000000000000000000000000000000000000000011a3b08", + "value": 18496264 + }, + { + "declaration_id": 450, + "block_number": 18768660, + "name": "_initialBuyTax", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 7, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000018", + "value": 24 + }, + { + "declaration_id": 454, + "block_number": 18768660, + "name": "_initialSellTax", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 8, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000018", + "value": 24 + }, + { + "declaration_id": 458, + "block_number": 18768661, + "name": "_finalBuyTax", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 9, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": 0 + }, + { + "declaration_id": 462, + "block_number": 18768661, + "name": "_finalSellTax", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 10, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": 0 + }, + { + "declaration_id": 466, + "block_number": 18768661, + "name": "_reduceBuyTaxAt", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 11, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000013", + "value": 19 + }, + { + "declaration_id": 470, + "block_number": 18768661, + "name": "_reduceSellTaxAt", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 12, + "size": 256, + "offset": 0, + "raw_value": "0x000000000000000000000000000000000000000000000000000000000000001d", + "value": 29 + }, + { + "declaration_id": 474, + "block_number": 18768661, + "name": "_preventSwapBefore", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 13, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000014", + "value": 20 + }, + { + "declaration_id": 478, + "block_number": 18768661, + "name": "_buyCount", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 14, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000000000000000015c84", + "value": 89220 + }, + { + "declaration_id": 503, + "block_number": 18768661, + "name": "_maxTxAmount", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 15, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000005fc1b97136320000", + "value": 6900000000000000000 + }, + { + "declaration_id": 512, + "block_number": 18768661, + "name": "_maxWalletSize", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 16, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000000000000000000000000000005fc1b97136320000", + "value": 6900000000000000000 + }, + { + "declaration_id": 521, + "block_number": 18768661, + "name": "_taxSwapThreshold", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 17, + "size": 256, + "offset": 0, + "raw_value": "0x00000000000000000000000000000000000000000000000000f5232269808000", + "value": 69000000000000000 + }, + { + "declaration_id": 530, + "block_number": 18768661, + "name": "_maxTaxSwap", + "type": "uint256", + "type_description": { + "type_identifier": "t_uint256", + "type_string": "uint256" + }, + "slot": 18, + "size": 256, + "offset": 0, + "raw_value": "0x00000000000000000000000000000000000000000000000000f5232269808000", + "value": 69000000000000000 + }, + { + "declaration_id": 539, + "block_number": 18768661, + "name": "uniswapV2Router", + "type": "address", + "type_description": { + "type_identifier": "t_contract$_IUniswapV2Router02_$348", + "type_string": "contract IUniswapV2Router02" + }, + "slot": 19, + "size": 256, + "offset": 0, + "raw_value": "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "value": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d" + }, + { + "declaration_id": 543, + "block_number": 18768661, + "name": "uniswapV2Pair", + "type": "address", + "type_description": { + "type_identifier": "t_address", + "type_string": "address" + }, + "slot": 20, + "size": 160, + "offset": 0, + "raw_value": "0x00000000000000000001000169c66beafb06674db41b22cfc50c34a93b8d82a2", + "value": "0x69c66beafb06674db41b22cfc50c34a93b8d82a2" + }, + { + "declaration_id": 546, + "block_number": 18768661, + "name": "tradingOpen", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "slot": 20, + "size": 8, + "offset": 160, + "raw_value": "0x00000000000000000001000169c66beafb06674db41b22cfc50c34a93b8d82a2", + "value": true + }, + { + "declaration_id": 549, + "block_number": 18768661, + "name": "inSwap", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "slot": 20, + "size": 8, + "offset": 168, + "raw_value": "0x00000000000000000001000169c66beafb06674db41b22cfc50c34a93b8d82a2", + "value": false + }, + { + "declaration_id": 553, + "block_number": 18768661, + "name": "swapEnabled", + "type": "bool", + "type_description": { + "type_identifier": "t_bool", + "type_string": "bool" + }, + "slot": 20, + "size": 8, + "offset": 176, + "raw_value": "0x00000000000000000001000169c66beafb06674db41b22cfc50c34a93b8d82a2", + "value": true + } + ] + } + } + }, + "transfer": { + "detected": true, + "safe": true, + "functions": [ + { + "contract_name": "IERC20", + "contract_type": 35, + "contract_kind": 38, + "name": "transfer", + "signature_compatibility": 4, + "standard": { + "confidence": 4, + "confidence_points": 1, + "threshold": 1, + "maximum_tokens": 9, + "discovered_tokens": 9, + "standard": "ERC20", + "function": { + "name": "transfer", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + } + }, + "visibility": 4, + "mutability": 4, + "unit": null, + "detectors": [ + { + "detection_type": "balance_update_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Balance update logic is missing or incorrect.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "event_emission_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Expected Transfer event emission is missing.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "access_control_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Access control is missing or not properly implemented.", + "statement": null, + "sub_detectors": null + } + ] + }, + { + "contract_name": "IERC20", + "contract_type": 35, + "contract_kind": 38, + "name": "transferFrom", + "signature_compatibility": 4, + "standard": { + "confidence": 4, + "confidence_points": 1, + "threshold": 1, + "maximum_tokens": 12, + "discovered_tokens": 12, + "standard": "ERC20", + "function": { + "name": "transferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + } + }, + "visibility": 4, + "mutability": 4, + "unit": null, + "detectors": [ + { + "detection_type": "balance_update_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Balance update logic is missing or incorrect.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "event_emission_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Expected Approval event emission is missing.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "access_control_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Access control is missing or not properly implemented.", + "statement": null, + "sub_detectors": null + } + ] + }, + { + "contract_name": "GROK", + "contract_type": 35, + "contract_kind": 36, + "name": "transfer", + "signature_compatibility": 4, + "standard": { + "confidence": 4, + "confidence_points": 1, + "threshold": 1, + "maximum_tokens": 9, + "discovered_tokens": 9, + "standard": "ERC20", + "function": { + "name": "transfer", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + } + }, + "visibility": 3, + "mutability": 4, + "unit": null, + "detectors": [ + { + "detection_type": "internal_transfer_call_detected", + "severity_type": "informatinal", + "detection_level": "high", + "description": "Internal _transfer call is present in the function.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "balance_update_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Balance update logic is missing or incorrect.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "event_emission_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Expected Transfer event emission is missing.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "access_control_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Access control is missing or not properly implemented.", + "statement": null, + "sub_detectors": null + } + ] + }, + { + "contract_name": "GROK", + "contract_type": 35, + "contract_kind": 36, + "name": "transferFrom", + "signature_compatibility": 4, + "standard": { + "confidence": 4, + "confidence_points": 1, + "threshold": 1, + "maximum_tokens": 12, + "discovered_tokens": 12, + "standard": "ERC20", + "function": { + "name": "transferFrom", + "inputs": [ + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "address", + "indexed": false, + "matched": true + }, + { + "type": "uint256", + "indexed": false, + "matched": true + } + ], + "outputs": [ + { + "type": "bool", + "matched": true + } + ], + "matched": true + } + }, + "visibility": 3, + "mutability": 4, + "unit": null, + "detectors": [ + { + "detection_type": "internal_transfer_call_detected", + "severity_type": "informatinal", + "detection_level": "high", + "description": "Internal _transfer call is present in the function.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "balance_update_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Balance update logic is missing or incorrect.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "event_emission_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Expected Approval event emission is missing.", + "statement": null, + "sub_detectors": null + }, + { + "detection_type": "access_control_missing", + "severity_type": "medium", + "detection_level": "high", + "description": "Access control is missing or not properly implemented.", + "statement": null, + "sub_detectors": null + } + ] + }, + { + "contract_name": "GROK", + "contract_type": 35, + "contract_kind": 36, + "name": "_transfer", + "signature_compatibility": 0, + "standard": null, + "visibility": 2, + "mutability": 4, + "unit": null, + "detectors": [] + } + ] + } + } +} \ No newline at end of file diff --git a/inspector/results.go b/inspector/results.go new file mode 100644 index 00000000..b07a00af --- /dev/null +++ b/inspector/results.go @@ -0,0 +1,42 @@ +package inspector + +import ( + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +type Report struct { + Address common.Address `json:"address"` + Network utils.Network `json:"network"` + UsesTransfers bool `json:"uses_transfers"` + Detectors map[DetectorType]any `json:"detectors"` +} + +func (r *Report) GetDetectors() map[DetectorType]any { + return r.Detectors +} + +func (r *Report) HasDetector(detectorType DetectorType) bool { + _, ok := r.Detectors[detectorType] + return ok +} + +func (r *Report) GetDetector(detectorType DetectorType) any { + return r.Detectors[detectorType] +} + +func (r *Report) AddDetector(detectorType DetectorType, detector any) { + r.Detectors[detectorType] = detector +} + +func (r *Report) GetAddress() common.Address { + return r.Address +} + +func (r *Report) GetNetwork() utils.Network { + return r.Network +} + +func (r *Report) GetUsesTransfers() bool { + return r.UsesTransfers +} diff --git a/inspector/standards.go b/inspector/standards.go new file mode 100644 index 00000000..993705ab --- /dev/null +++ b/inspector/standards.go @@ -0,0 +1,100 @@ +package inspector + +import ( + "context" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/ir" + "github.com/unpackdev/solgo/standards" +) + +// StandardsResults encapsulates the results of a standards detection process. +// It includes information about detected standards, their types, and confidence levels. +type StandardsResults struct { + Detected bool `json:"detected"` // Flag indicating if any standard was detected. + StandardTypes []standards.Standard `json:"standard_types"` // List of detected standard types. + Standards []*ir.Standard `json:"standards"` // List of detected standards. + HighConfidenceMatchStandards []*ir.Standard `json:"high_confidence_match_standards"` // Standards detected with high confidence. + PerfectConfidenceMatchStandards []*ir.Standard `json:"perfect_confidence_match_standards"` // Standards detected with perfect confidence. +} + +// StandardsDetector is responsible for detecting contract standards in smart contracts. +// It extends the Inspector to analyze contracts and detect various standards. +type StandardsDetector struct { + ctx context.Context // Context for managing async operations. + *Inspector // Embedded Inspector for contract analysis. + results *StandardsResults // Results of the standards detection process. +} + +// NewStandardsDetector creates a new instance of StandardsDetector. +// Initializes the detector with a given Inspector instance and an empty StandardsResults. +func NewStandardsDetector(ctx context.Context, inspector *Inspector) Detector { + return &StandardsDetector{ + ctx: ctx, + Inspector: inspector, + results: &StandardsResults{ + StandardTypes: make([]standards.Standard, 0), + Standards: make([]*ir.Standard, 0), + HighConfidenceMatchStandards: make([]*ir.Standard, 0), + PerfectConfidenceMatchStandards: make([]*ir.Standard, 0), + }, + } +} + +// Name returns the name of the StandardsDetector. +func (m *StandardsDetector) Name() string { + return "Contract Standards Detector" +} + +// Type returns the detector type of the StandardsDetector. +func (m *StandardsDetector) Type() DetectorType { + return StandardsDetectorType +} + +// SetInspector sets the Inspector instance of the StandardsDetector. +func (m *StandardsDetector) SetInspector(inspector *Inspector) { + m.Inspector = inspector +} + +// GetInspector returns the Inspector instance of the StandardsDetector. +func (m *StandardsDetector) GetInspector() *Inspector { + return m.Inspector +} + +// Enter initializes the detection process, setting up any necessary state or configuration. +func (m *StandardsDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +// Detect performs the actual detection of standards in the smart contract. +// It analyzes the contract's intermediate representation to identify various standards. +// The method updates the results with detected standards and their confidence levels. +func (m *StandardsDetector) Detect(ctx context.Context) (DetectorFn, error) { + if m.GetDetector() != nil && m.GetDetector().GetIR() != nil && m.GetDetector().GetIR().GetRoot() != nil { + m.results.Detected = true + irRoot := m.GetDetector().GetIR().GetRoot() + m.results.Standards = irRoot.GetStandards() + for _, standard := range m.results.Standards { + if standard.GetConfidence().Confidence == standards.PerfectConfidence { + m.results.StandardTypes = append(m.results.StandardTypes, standard.GetStandard().Type) + m.results.PerfectConfidenceMatchStandards = append(m.results.PerfectConfidenceMatchStandards, standard) + } else if standard.GetConfidence().Confidence == standards.HighConfidence { + m.results.StandardTypes = append(m.results.StandardTypes, standard.GetStandard().Type) + m.results.HighConfidenceMatchStandards = append(m.results.HighConfidenceMatchStandards, standard) + } + } + } + + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +// Exit finalizes the detection process, cleaning up any state or resources used. +func (m *StandardsDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +// Results returns the detection results stored in the StandardsDetector. +func (m *StandardsDetector) Results() any { + return m.results +} diff --git a/inspector/state_variables.go b/inspector/state_variables.go new file mode 100644 index 00000000..3158f81b --- /dev/null +++ b/inspector/state_variables.go @@ -0,0 +1,101 @@ +package inspector + +import ( + "context" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/storage" +) + +type VariableDeclaration struct { + Name string `json:"name"` + StateVariable bool `json:"state_variable"` + Constant bool `json:"constant"` + Statement ast.Node[ast.NodeType] `json:"statement"` + StorageSlot *storage.SlotDescriptor `json:"storage_slot"` +} + +type StateVariableResults struct { + Detected bool `json:"detected"` + Declarations []*VariableDeclaration `json:"declarations"` +} + +type StateVariableDetector struct { + ctx context.Context + *Inspector + enabled bool + results *StateVariableResults +} + +func NewStateVariableDetector(ctx context.Context, inspector *Inspector) Detector { + return &StateVariableDetector{ + ctx: ctx, + Inspector: inspector, + enabled: false, + results: &StateVariableResults{ + Declarations: make([]*VariableDeclaration, 0), + }, + } +} + +func (m *StateVariableDetector) Name() string { + return "State Variable Detector" +} + +func (m *StateVariableDetector) Type() DetectorType { + return StateVariableDetectorType +} + +// SetInspector sets the inspector for the detector +func (m *StateVariableDetector) SetInspector(inspector *Inspector) { + m.Inspector = inspector +} + +// GetInspector returns the inspector for the detector +func (m *StateVariableDetector) GetInspector() *Inspector { + return m.Inspector +} + +func (m *StateVariableDetector) Enter(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *StateVariableDetector) Detect(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_VARIABLE_DECLARATION: func(node ast.Node[ast.NodeType]) (bool, error) { + if varCtx, ok := node.(*ast.StateVariableDeclaration); ok { + + variable := &VariableDeclaration{ + Name: varCtx.GetName(), + StateVariable: varCtx.IsStateVariable(), + Constant: varCtx.IsConstant(), + Statement: varCtx, + } + + // Neat trick to see if storage inspector is enabled and if within we discovered slot for the variable... + if detector, ok := m.GetReport().Detectors[StorageDetectorType]; ok { + if storageResults, ok := detector.(*StorageResults); ok { + for _, slot := range storageResults.Descriptor.GetSlots() { + if slot.Name == variable.Name { + variable.StorageSlot = slot + } + } + } + } + + m.results.Declarations = append(m.results.Declarations, variable) + } + + return true, nil + }, + }, nil +} + +func (m *StateVariableDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *StateVariableDetector) Results() any { + return m.results +} diff --git a/inspector/storage.go b/inspector/storage.go new file mode 100644 index 00000000..768d70af --- /dev/null +++ b/inspector/storage.go @@ -0,0 +1,98 @@ +package inspector + +import ( + "context" + "fmt" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/cfg" + "github.com/unpackdev/solgo/storage" + "go.uber.org/zap" +) + +type StorageResults struct { + Detected bool `json:"detected"` + Descriptor *storage.Descriptor `json:"descriptor"` + Cfg *cfg.Builder `json:"cfg"` +} + +type StorageDetector struct { + ctx context.Context + *Inspector + results *StorageResults +} + +func NewStorageDetector(ctx context.Context, inspector *Inspector) Detector { + return &StorageDetector{ + ctx: ctx, + Inspector: inspector, + results: &StorageResults{}, + } +} + +func (m *StorageDetector) Name() string { + return "Storage Detector" +} + +func (m *StorageDetector) Type() DetectorType { + return StorageDetectorType +} + +func (m *StorageDetector) GetResults() any { + return m.results +} + +// SetInspector sets the inspector for the detector +func (m *StorageDetector) SetInspector(inspector *Inspector) { + m.Inspector = inspector +} + +// GetInspector returns the inspector for the detector +func (m *StorageDetector) GetInspector() *Inspector { + return m.Inspector +} + +func (m *StorageDetector) Enter(ctx context.Context) (DetectorFn, error) { + // As of now, we do not need to traverse through the AST. + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *StorageDetector) Detect(ctx context.Context) (DetectorFn, error) { + cfgBuilder, err := cfg.NewBuilder(ctx, m.GetDetector().GetIR()) + if err != nil { + return nil, fmt.Errorf("failed to create control flow graph builder: %w", err) + } + + if err := cfgBuilder.Build(); err != nil { + return nil, fmt.Errorf("failed to build control flow graph: %w", err) + } + m.results.Cfg = cfgBuilder + + reader, err := m.GetStorage().Describe(ctx, m.GetAddress(), m.GetDetector(), cfgBuilder, nil) + if err != nil { + zap.L().Error( + "failed to describe contract storage", + zap.Error(err), + zap.String("address", m.GetAddress().Hex()), + ) + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, err + } else { + m.results.Detected = true + m.results.Descriptor = reader.GetDescriptor() + //utils.DumpNodeNoExit(reader.GetDescriptor()) + } + + // As of now, we do not need to traverse through the AST. + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *StorageDetector) Exit(ctx context.Context) (DetectorFn, error) { + + // As of now, we do not need to traverse through the AST. + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *StorageDetector) Results() any { + return m.results +} diff --git a/inspector/transfer.go b/inspector/transfer.go new file mode 100644 index 00000000..d9fa7fd4 --- /dev/null +++ b/inspector/transfer.go @@ -0,0 +1,338 @@ +package inspector + +import ( + "context" + "fmt" + + ast_pb "github.com/unpackdev/protos/dist/go/ast" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/standards" + "github.com/unpackdev/solgo/utils" +) + +type Statement struct { +} + +type Function struct { + ContractName string `json:"contract_name"` + ContractType ast_pb.NodeType `json:"contract_type"` + ContractKind ast_pb.NodeType `json:"contract_kind"` + Name string `json:"name"` + SignatureCompatibility standards.ConfidenceLevel `json:"signature_compatibility"` + Standard *standards.FunctionDiscovery `json:"standard"` + Visibility ast_pb.Visibility `json:"visibility"` + StateMutability ast_pb.Mutability `json:"mutability"` + Unit *ast.Function `json:"unit"` + Detectors []DetectorResult `json:"detectors"` +} + +type TransferResults struct { + Detected bool `json:"detected"` + Safe bool `json:"safe"` + Functions []Function `json:"functions"` +} + +type TransferDetector struct { + ctx context.Context + inspector *Inspector + functionNames []string + results *TransferResults +} + +func NewTransferDetector(ctx context.Context, inspector *Inspector) Detector { + return &TransferDetector{ + ctx: ctx, + inspector: inspector, + functionNames: []string{ + "transfer", "transferFrom", "_transfer", "_transferFrom", + }, + results: &TransferResults{ + Safe: true, + Functions: make([]Function, 0), + }, + } +} + +func (m *TransferDetector) Name() string { + return "Transfer Detector" +} + +func (m *TransferDetector) Type() DetectorType { + return TransferDetectorType +} + +// SetInspector sets the inspector for the detector +func (m *TransferDetector) SetInspector(inspector *Inspector) { + m.inspector = inspector +} + +// GetInspector returns the inspector for the detector +func (m *TransferDetector) GetInspector() *Inspector { + return m.inspector +} + +func (m *TransferDetector) Enter(ctx context.Context) (DetectorFn, error) { + + standard, err := standards.GetContractByStandard(standards.ERC20) + if err != nil { + fmt.Println(err) + } + + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){ + ast_pb.NodeType_FUNCTION_DEFINITION: func(node ast.Node[ast.NodeType]) (bool, error) { + if fnCtx, ok := node.(*ast.Function); ok { + if utils.StringInSlice(fnCtx.GetName(), m.functionNames) { + var discoveredFn Function + discoveredFn.Name = fnCtx.GetName() + discoveredFn.Detectors = make([]DetectorResult, 0) + //discoveredFn.Statement = fnCtx + + if contract := m.inspector.GetDetector().GetAST().GetTree().GetById(fnCtx.GetScope()); contract != nil { + discoveredFn.ContractType = contract.GetType() + switch contractCtx := contract.(type) { + case *ast.Contract: + discoveredFn.ContractName = contractCtx.GetName() + discoveredFn.ContractKind = contractCtx.GetKind() + case *ast.Interface: + discoveredFn.ContractName = contractCtx.GetName() + discoveredFn.ContractKind = contractCtx.GetKind() + case *ast.Library: + discoveredFn.ContractName = contractCtx.GetName() + discoveredFn.ContractKind = contractCtx.GetKind() + } + } + + if standardFn := m.getStandardFunction(standard, fnCtx.GetName()); standardFn != nil { + m.results.Detected = true + newStandardFn := m.buildStandardFunction(fnCtx) + if check, found := standards.FunctionConfidenceCheck(standard, &newStandardFn); found { + discoveredFn.Standard = &check + discoveredFn.SignatureCompatibility = check.Confidence + } + } + + m.analyzeERC20Function(fnCtx, &discoveredFn) + m.results.Functions = append(m.results.Functions, discoveredFn) + } + } + return true, nil + }, + }, nil +} + +func (m *TransferDetector) analyzeERC20Function(fnCtx *ast.Function, function *Function) { + function.Visibility = fnCtx.GetVisibility() + function.StateMutability = fnCtx.GetStateMutability() + + if fnCtx.GetName() == "transfer" || fnCtx.GetName() == "transferFrom" { + m.checkForOwnerVariable(fnCtx, function) + m.checkForInternalTransferCall(fnCtx, function) + m.checkForBalanceUpdate(fnCtx, function) + m.checkForEventEmission(fnCtx, function) + m.checkForAccessControl(fnCtx, function) + } + + // Additional checks can be added here based on your requirements +} + +// Example of a new check: Verify that the function correctly updates balances +func (m *TransferDetector) checkForBalanceUpdate(fnCtx *ast.Function, function *Function) { + senderBalanceUpdated := false + recipientBalanceUpdated := false + + for _, node := range fnCtx.GetNodes() { + // Check for assignments that update the balance mapping + if assignStmt, ok := node.(*ast.Assignment); ok { + _ = assignStmt + /* if mappingAccess, ok := assignStmt.GetLeftHandSide().(*ast.MappingAccess); ok { + if mappingAccess.GetMapping().GetName() == "_balances" { + if isSenderBalanceUpdate(mappingAccess, assignStmt) { + senderBalanceUpdated = true + } + if isRecipientBalanceUpdate(mappingAccess, assignStmt) { + recipientBalanceUpdated = true + } + } + } */ + } + } + + if !senderBalanceUpdated || !recipientBalanceUpdated { + function.Detectors = append(function.Detectors, DetectorResult{ + DetectionType: "balance_update_missing", + SeverityType: SeverityMedium, + ConfidenceLevelType: ConfidenceLevelHigh, + Description: "Balance update logic is missing or incorrect.", + }) + } else { + function.Detectors = append(function.Detectors, DetectorResult{ + DetectionType: "balance_update_detected", + SeverityType: SeverityInfo, + ConfidenceLevelType: ConfidenceLevelHigh, + Description: "Balance update logic is correctly implemented.", + }) + } +} + +// Example of a new check: Verify that the correct events are emitted +func (m *TransferDetector) checkForEventEmission(fnCtx *ast.Function, function *Function) { + expectedEvent := "Transfer" // Default event for transfer functions + if fnCtx.GetName() == "transferFrom" { + expectedEvent = "Approval" // Approval event is also expected in transferFrom + } + + eventEmitted := false + for _, node := range fnCtx.GetNodes() { + if emitStmt, ok := node.(*ast.Emit); ok { + if eventCall, ok := emitStmt.GetExpression().(*ast.FunctionCall); ok { + if exprCtx, ok := eventCall.GetExpression().(*ast.PrimaryExpression); ok { + if exprCtx.GetName() == expectedEvent { + eventEmitted = true + break + } + } + } + } + } + + if !eventEmitted { + function.Detectors = append(function.Detectors, DetectorResult{ + DetectionType: "event_emission_missing", + SeverityType: SeverityMedium, + ConfidenceLevelType: ConfidenceLevelHigh, + Description: fmt.Sprintf("Expected %s event emission is missing.", expectedEvent), + }) + } else { + function.Detectors = append(function.Detectors, DetectorResult{ + DetectionType: "event_emission_detected", + SeverityType: SeverityInfo, + ConfidenceLevelType: ConfidenceLevelHigh, + Description: fmt.Sprintf("%s event emission is correctly implemented.", expectedEvent), + }) + } +} + +func (m *TransferDetector) checkForAccessControl(fnCtx *ast.Function, function *Function) { + accessControlImplemented := false + + // Check if the function has modifiers + for _, modifier := range fnCtx.GetModifiers() { + if isAccessControlModifier(modifier) { + accessControlImplemented = true + break + } + } + + if !accessControlImplemented { + function.Detectors = append(function.Detectors, DetectorResult{ + DetectionType: "access_control_missing", + SeverityType: SeverityMedium, + ConfidenceLevelType: ConfidenceLevelHigh, + Description: "Access control is missing or not properly implemented.", + }) + } else { + function.Detectors = append(function.Detectors, DetectorResult{ + DetectionType: "access_control_detected", + SeverityType: SeverityInfo, + ConfidenceLevelType: ConfidenceLevelHigh, + Description: "Access control is properly implemented.", + }) + } +} + +func isAccessControlModifier(modifier *ast.ModifierInvocation) bool { + // Implement logic to identify access control modifiers + // Common examples include 'onlyOwner' or custom-defined access control modifiers + return modifier.GetName() == "onlyOwner" // Extend this check as needed +} + +func (m *TransferDetector) checkForOwnerVariable(fnCtx *ast.Function, function *Function) { + // Iterate through all variable declarations in the function + for _, node := range fnCtx.GetNodes() { + if varCtx, ok := node.(*ast.VariableDeclaration); ok { + for _, declaration := range varCtx.GetDeclarations() { + if declaration.GetName() == "owner" { + // Add a result indicating the presence of 'owner' variable + function.Detectors = append(function.Detectors, DetectorResult{ + DetectionType: "owner_variable_detected", + SeverityType: SeverityInfo, + ConfidenceLevelType: ConfidenceLevelHigh, + Description: "Owner variable is present in the function.", + }) + } + } + } + } +} + +func (m *TransferDetector) checkForInternalTransferCall(fnCtx *ast.Function, function *Function) { + // Iterate through all function call expressions in the function + for _, node := range fnCtx.GetNodes() { + if fcCtx, ok := node.(*ast.FunctionCall); ok { + if exprCtx, ok := fcCtx.GetExpression().(*ast.PrimaryExpression); ok { + if exprCtx.GetName() == "_transfer" { + // Add a result indicating the use of internal _transfer call + function.Detectors = append(function.Detectors, DetectorResult{ + DetectionType: "internal_transfer_call_detected", + SeverityType: SeverityInfo, + ConfidenceLevelType: ConfidenceLevelHigh, + Description: "Internal _transfer call is present in the function.", + }) + } + } + } + } +} + +func (m *TransferDetector) Detect(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *TransferDetector) Exit(ctx context.Context) (DetectorFn, error) { + return map[ast_pb.NodeType]func(node ast.Node[ast.NodeType]) (bool, error){}, nil +} + +func (m *TransferDetector) Results() any { + return m.results +} + +func (m *TransferDetector) getStandardFunction(standard standards.EIP, fnName string) *standards.Function { + standardFunctions := standard.GetFunctions() + for _, fn := range standardFunctions { + if fn.Name == fnName { + return &fn + } + } + return nil +} + +func (m *TransferDetector) buildStandardFunction(fnCtx *ast.Function) standards.Function { + var inputs []standards.Input + var outputs []standards.Output + + if parametersList := fnCtx.GetParameters(); parametersList != nil { + if parameters := parametersList.GetParameters(); parameters != nil { + for _, param := range parameters { + inputs = append(inputs, standards.Input{ + Type: param.GetTypeName().GetName(), + }) + } + } + } + + if returnsList := fnCtx.GetReturnParameters(); returnsList != nil { + if returns := returnsList.GetParameters(); returns != nil { + for _, ret := range returns { + outputs = append(outputs, standards.Output{ + Type: ret.GetTypeName().GetName(), + }) + } + } + } + + return standards.Function{ + Name: fnCtx.GetName(), + Inputs: inputs, + Outputs: outputs, + } +} diff --git a/inspector/types.go b/inspector/types.go new file mode 100644 index 00000000..02e190d6 --- /dev/null +++ b/inspector/types.go @@ -0,0 +1,108 @@ +package inspector + +// DetectorType represents the type of detector used in analyzing smart contracts. +type DetectorType string + +// String returns the string representation of the detector type. +func (dt DetectorType) String() string { + return string(dt) +} + +const ( + // StateVariableDetectorType represents a detector type focused on state variables in smart contracts. + StateVariableDetectorType DetectorType = "state_variable" + + // TransferDetectorType represents a detector type focused on transfer operations in smart contracts. + TransferDetectorType DetectorType = "transfer" + + // MintDetectorType represents a detector type focused on minting operations in smart contracts. + MintDetectorType DetectorType = "mint" + + // BurnDetectorType represents a detector type focused on burning operations in smart contracts. + BurnDetectorType DetectorType = "burn" + + // ProxyDetectorType represents a detector type focused on proxy patterns in smart contracts. + ProxyDetectorType DetectorType = "proxy" + + // OwnershipDetectorType represents a detector type focused on ownership patterns in smart contracts. + OwnershipDetectorType DetectorType = "ownership" + + // StorageDetectorType represents a detector type focused on storage patterns in smart contracts. + StorageDetectorType DetectorType = "storage" + + // StandardsDetectorType represents a detector type focused on standards patterns in smart contracts. + StandardsDetectorType DetectorType = "standards" + + // TokenDetectorType represents a detector type focused on token (ERC20) patterns in smart contracts. + TokenDetectorType DetectorType = "token" + + // AuditDetectorType represents a detector type focused on simulation of smart contract behaviors. + AuditDetectorType DetectorType = "audit" + + // PausableDetectorType represents a detector type focused on pausable patterns in smart contracts. + PausableDetectorType DetectorType = "pausable" + + // ExternalCallsDetectorType represents a detector type focused on external calls in smart contracts. + ExternalCallsDetectorType DetectorType = "external_calls" + + // AntiWhaleDetectorType represents a detector type focused on anti-whale patterns in smart contracts. + AntiWhaleDetectorType DetectorType = "anti_whale" + + // FeeDetectorType represents a detector type focused on fee patterns in smart contracts. + FeeDetectorType DetectorType = "fees" +) + +// SeverityType represents the severity level of a detection. +type SeverityType string + +// String returns the string representation of the severity type. +func (st SeverityType) String() string { + return string(st) +} + +const ( + // SeverityInfo represents an informational severity level of a detection. + SeverityInfo SeverityType = "informatinal" + + // SeverityLow represents a low severity level of a detection. + SeverityLow SeverityType = "low" + + // SeverityMedium represents a medium severity level of a detection. + SeverityMedium SeverityType = "medium" + + // SeverityHigh represents a high severity level of a detection. + SeverityHigh SeverityType = "high" + + // SeverityCritical represents a critical severity level of a detection. + SeverityCritical SeverityType = "critical" + + // SeverityOk represents an okay or non-issue severity level of a detection. + SeverityOk SeverityType = "ok" +) + +// ConfidenceLevelType represents the confidence level of a detection result. +type ConfidenceLevelType string + +// String returns the string representation of the confidence level type. +func (cl ConfidenceLevelType) String() string { + return string(cl) +} + +const ( + // ConfidenceLevelLow represents a low confidence level in a detection result. + ConfidenceLevelLow ConfidenceLevelType = "low" + + // ConfidenceLevelMedium represents a medium confidence level in a detection result. + ConfidenceLevelMedium ConfidenceLevelType = "medium" + + // ConfidenceLevelHigh represents a high confidence level in a detection result. + ConfidenceLevelHigh ConfidenceLevelType = "high" +) + +// DetectionType represents the type of detection made by the inspector. +type DetectionType string + +// String returns the string representation of the detection type. +func (dt DetectionType) String() string { + return string(dt) +} diff --git a/ir/builder.go b/ir/builder.go index 16711d2b..8405ca78 100644 --- a/ir/builder.go +++ b/ir/builder.go @@ -5,6 +5,7 @@ import ( "encoding/json" "errors" + "github.com/ethereum/go-ethereum/common" ir_pb "github.com/unpackdev/protos/dist/go/ir" "github.com/unpackdev/solgo" "github.com/unpackdev/solgo/ast" @@ -14,6 +15,7 @@ import ( // Builder facilitates the creation of the IR from source code using solgo and AST tools. type Builder struct { ctx context.Context // Context for the builder operations. + address common.Address // Optional address that can be provided to the builder. sources *solgo.Sources // Source files to be processed. parser *solgo.Parser // Parser for the source code. astBuilder *ast.ASTBuilder // AST Builder for generating AST from parsed source. @@ -135,3 +137,11 @@ func (b *Builder) Build() error { } return nil } + +func (b *Builder) SetAddress(address common.Address) { + b.address = address +} + +func (b *Builder) GetAddress() common.Address { + return b.address +} diff --git a/ir/builder_test.go b/ir/builder_test.go index 719edef2..90e5abd0 100644 --- a/ir/builder_test.go +++ b/ir/builder_test.go @@ -320,7 +320,7 @@ func TestIrBuilderFromSources(t *testing.T) { assert.NotNil(t, eip.ToProto()) } - assert.NotNil(t, root.HasStandard(standards.EIP1014)) + assert.NotNil(t, root.HasStandard(standards.ERC1014)) assert.NotNil(t, root.GetAST()) for _, contract := range root.GetContracts() { @@ -736,7 +736,7 @@ func TestIrBuilderFromJSON(t *testing.T) { assert.NotNil(t, eip.ToProto()) } - assert.NotNil(t, root.HasStandard(standards.EIP1014)) + assert.NotNil(t, root.HasStandard(standards.ERC1014)) assert.NotNil(t, root.GetAST()) for _, contract := range root.GetContracts() { diff --git a/ir/contract.go b/ir/contract.go index 296fb918..ee12466e 100644 --- a/ir/contract.go +++ b/ir/contract.go @@ -40,6 +40,7 @@ type Contract struct { Language Language `json:"language"` AbsolutePath string `json:"absolute_path"` Symbols []*Symbol `json:"symbols"` + BaseContracts []*ast.BaseContract `json:"base_contracts"` Imports []*Import `json:"imports"` Pragmas []*Pragma `json:"pragmas"` StateVariables []*StateVariable `json:"state_variables"` @@ -163,6 +164,11 @@ func (c *Contract) GetSymbols() []*Symbol { return c.Symbols } +// GetBaseContracts returns the base contracts of the contract. +func (c *Contract) GetBaseContracts() []*ast.BaseContract { + return c.BaseContracts +} + // GetLanguage returns the programming language of the contract. func (c *Contract) GetLanguage() Language { return c.Language @@ -257,6 +263,7 @@ func (b *Builder) processContract(unit *ast.SourceUnit[ast.Node[ast_pb.SourceUni Pragmas: make([]*Pragma, 0), Imports: make([]*Import, 0), Symbols: make([]*Symbol, 0), + BaseContracts: unit.GetBaseContracts(), StateVariables: make([]*StateVariable, 0), Structs: make([]*Struct, 0), Enums: make([]*Enum, 0), diff --git a/ir/event.go b/ir/event.go index 245d5c57..0a370019 100644 --- a/ir/event.go +++ b/ir/event.go @@ -1,6 +1,11 @@ package ir import ( + "fmt" + "strings" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/crypto" ast_pb "github.com/unpackdev/protos/dist/go/ast" ir_pb "github.com/unpackdev/protos/dist/go/ir" "github.com/unpackdev/solgo/ast" @@ -51,6 +56,30 @@ func (e *Event) GetSrc() ast.SrcNode { return e.Unit.GetSrc() } +// GetSignature computes the Keccak-256 hash of the event signature to generate the 'topic0' hash. +// This method calls GetSignatureRaw to obtain the raw event signature string and then applies +// the Keccak-256 hash function to it. The resulting hash is commonly used in Ethereum as the +// identifier for the event in logs and is crucial for event tracking and decoding in smart contract +// interactions. +func (e *Event) GetSignature() common.Hash { + signature := e.GetSignatureRaw() + return crypto.Keccak256Hash([]byte(signature)) +} + +// GetSignatureRaw constructs the raw event signature string for the Event. +// It generates this signature by concatenating the event's name with a list of its parameters' types +// in their canonical form. The canonical form of each parameter type is obtained by using the +// canonicalizeType function. This method is particularly useful for creating a human-readable +// version of the event signature, which is essential for various Ethereum-related operations, +// such as logging and event filtering. +func (e *Event) GetSignatureRaw() string { + paramTypes := make([]string, 0) + for _, p := range e.Parameters { + paramTypes = append(paramTypes, canonicalizeType(p.Type)) + } + return fmt.Sprintf("%s(%s)", e.Name, strings.Join(paramTypes, ",")) +} + // ToProto converts the Event to its protobuf representation. func (e *Event) ToProto() *ir_pb.Event { proto := &ir_pb.Event{ @@ -93,3 +122,38 @@ func (b *Builder) processEvent(unit *ast.EventDefinition) *Event { return toReturn } + +// canonicalizeType converts a Solidity type into its canonical form as per Solidity's type system. +// This function handles various types, including basic types (uint, int, fixed, ufixed), bytes types, +// arrays (both fixed-size and dynamic), and tuples. The canonicalization is essential for ensuring +// consistency in how types are represented, particularly when generating event signatures. It +// transforms basic types to their full representation (e.g., 'uint' to 'uint256') and handles the +// formatting of array and tuple types. Note that complex or nested tuples might require additional +// parsing, which is not covered in this basic implementation. +func canonicalizeType(typ string) string { + switch { + case typ == "uint": + return "uint256" + case typ == "int": + return "int256" + case typ == "fixed": + return "fixed128x18" + case typ == "ufixed": + return "ufixed128x18" + case strings.HasPrefix(typ, "bytes") && len(typ) > 5: + // bytes1 to bytes32 are unchanged + return typ + case strings.HasSuffix(typ, "[]"): + // Dynamic array + elementType := typ[:len(typ)-2] + return canonicalizeType(elementType) + "[]" + case strings.Contains(typ, "[") && strings.Contains(typ, "]"): + // Fixed-size array + elementType := typ[:strings.Index(typ, "[")] + arraySize := typ[strings.Index(typ, "["):] + return canonicalizeType(elementType) + arraySize + default: + // For all other types, return as-is or add specific handling + return typ + } +} diff --git a/ir/import.go b/ir/import.go index e292c7ff..bfecd7bb 100644 --- a/ir/import.go +++ b/ir/import.go @@ -16,6 +16,7 @@ type Import struct { UnitAlias string `json:"unit_alias"` SourceUnitId int64 `json:"source_unit_id"` ContractId int64 `json:"contract_id"` + Contract *Contract `json:"contract"` } // GetId returns the unique identifier of the import statement. diff --git a/ir/root.go b/ir/root.go index d47f8263..7345e551 100644 --- a/ir/root.go +++ b/ir/root.go @@ -1,6 +1,7 @@ package ir import ( + "github.com/ethereum/go-ethereum/common" ast_pb "github.com/unpackdev/protos/dist/go/ast" ir_pb "github.com/unpackdev/protos/dist/go/ir" "github.com/unpackdev/solgo/ast" @@ -10,8 +11,10 @@ import ( // RootSourceUnit represents the root of a Solidity contract's AST as an IR node. type RootSourceUnit struct { + builder *Builder `json:"-"` Unit *ast.RootNode `json:"ast"` NodeType ast_pb.NodeType `json:"node_type"` + Address common.Address `json:"address"` EntryContractId int64 `json:"entry_contract_id"` EntryContractName string `json:"entry_contract_name"` ContractsCount int32 `json:"contracts_count"` @@ -70,6 +73,17 @@ func (r *RootSourceUnit) GetContractById(id int64) *Contract { return nil } +// GetContractBySourceUnitId returns the contract with the given source unit ID from the IR. +func (r *RootSourceUnit) GetContractBySourceUnitId(id int64) *Contract { + for _, su := range r.Contracts { + if su.GetSourceUnitId() == id { + return su + } + } + + return nil +} + // GetEntryContract returns the entry contract from the IR. func (r *RootSourceUnit) GetEntryContract() *Contract { return r.GetContractById(r.EntryContractId) @@ -90,7 +104,17 @@ func (r *RootSourceUnit) GetStandards() []*Standard { return r.Standards } -// HasEips returns true if standard is already registered false otherwise. +// GetStandard returns the EIP with the given type. +func (r *RootSourceUnit) GetStandard(standard standards.Standard) *Standard { + for _, e := range r.Standards { + if e.Standard.Type == standard { + return e + } + } + return nil +} + +// HasStandard returns true if standard is already registered false otherwise. func (r *RootSourceUnit) HasStandard(standard standards.Standard) bool { for _, e := range r.Standards { if e.Standard.Type == standard { @@ -101,6 +125,32 @@ func (r *RootSourceUnit) HasStandard(standard standards.Standard) bool { return false } +// HasEips returns true if standard is already registered false otherwise. +func (r *RootSourceUnit) HasHighConfidenceStandard(standard standards.Standard) bool { + for _, e := range r.Standards { + if e.Standard.Type == standard { + if e.GetConfidence().Confidence == standards.HighConfidence { + return true + } + } + } + + return false +} + +// HasPerfectConfidenceStandard +func (r *RootSourceUnit) HasPerfectConfidenceStandard(standard standards.Standard) bool { + for _, e := range r.Standards { + if e.Standard.Type == standard { + if e.GetConfidence().Confidence == standards.PerfectConfidence { + return true + } + } + } + + return false +} + // GetContractTypes returns the list of contract types. func (r *RootSourceUnit) GetContractTypes() []string { return r.ContractTypes @@ -131,11 +181,11 @@ func (r *RootSourceUnit) GetContractsCountByKind(kind ast_pb.NodeType) int64 { // SetContractType sets the contract type for the given standard. func (r *RootSourceUnit) SetContractType(standard standards.Standard) { switch standard { - case standards.EIP20: + case standards.ERC20: r.appendContractType("token") - case standards.EIP721, standards.EIP1155: + case standards.ERC721, standards.ERC1155: r.appendContractType("nft") - case standards.EIP1967, standards.EIP1820: + case standards.ERC1967, standards.ERC1820: r.appendContractType("proxy") r.appendContractType("upgradeable") } @@ -154,6 +204,10 @@ func (r *RootSourceUnit) GetLinks() []*Link { return r.Links } +func (r *RootSourceUnit) IsEntryContract(contract *Contract) bool { + return r.EntryContractId == contract.Id +} + // ToProto is a placeholder function for converting the RootSourceUnit to a protobuf message. func (r *RootSourceUnit) ToProto() *ir_pb.Root { proto := &ir_pb.Root{ @@ -173,10 +227,16 @@ func (r *RootSourceUnit) ToProto() *ir_pb.Root { return proto } +func (r *RootSourceUnit) Walk(nodeVisitor *ast.NodeVisitor) error { + r.builder.GetAstBuilder().GetTree().Walk(nodeVisitor) + return nil +} + // processRoot processes the given root node of an AST and returns a RootSourceUnit. // It populates the RootSourceUnit with the contracts from the AST. func (b *Builder) processRoot(root *ast.RootNode) *RootSourceUnit { rootNode := &RootSourceUnit{ + builder: b, Unit: root, NodeType: root.GetType(), ContractsCount: int32(root.GetSourceUnitCount()), @@ -192,7 +252,11 @@ func (b *Builder) processRoot(root *ast.RootNode) *RootSourceUnit { entrySourceUnit := root.GetSourceUnitById(root.GetEntrySourceUnit()) if entrySourceUnit == nil { - zap.L().Warn("Entry source unit not found. Make sure it's correctly set.", zap.Int64("id", root.GetEntrySourceUnit())) + zap.L().Warn( + "Entry source unit not found. Make sure it's correctly set.", + zap.String("contract_address", b.GetAddress().Hex()), + zap.Int64("requested_source_unit_id", root.GetEntrySourceUnit()), + ) } else { if entrySourceUnit.GetContract() != nil { rootNode.EntryContractId = entrySourceUnit.GetContract().GetId() @@ -215,7 +279,7 @@ func (b *Builder) processRoot(root *ast.RootNode) *RootSourceUnit { b.processEips(rootNode) // Discovery and processing of links within the AST comments. - // This is useful in order to extract social links from the comments in the code. + // This is useful to extract social links from the comments in the code. b.processLinks(rootNode) return rootNode diff --git a/ir/standards.go b/ir/standards.go index 43141c4a..de68ffbd 100644 --- a/ir/standards.go +++ b/ir/standards.go @@ -76,10 +76,15 @@ func (b *Builder) processEips(root *RootSourceUnit) { } for _, ret := range function.GetReturnStatements() { - - outputs = append(outputs, standards.Output{ - Type: ret.GetTypeDescription().GetString(), - }) + if ret.GetTypeDescription() != nil { + outputs = append(outputs, standards.Output{ + Type: "t_unknown", // Will fix this later on with upgrade of parser to support solidity 0.5+ + }) + } else { + outputs = append(outputs, standards.Output{ + Type: ret.GetTypeDescription().GetString(), + }) + } } contract.Functions = append(contract.Functions, standards.Function{ diff --git a/ir/variables.go b/ir/variables.go index 6f214f55..ff13e225 100644 --- a/ir/variables.go +++ b/ir/variables.go @@ -1,6 +1,8 @@ package ir import ( + "strings" + ast_pb "github.com/unpackdev/protos/dist/go/ast" ir_pb "github.com/unpackdev/protos/dist/go/ir" "github.com/unpackdev/solgo/ast" @@ -81,6 +83,10 @@ func (v *StateVariable) GetSrc() ast.SrcNode { return v.Unit.GetSrc() } +func (v *StateVariable) GetStorageSize() (int64, bool) { + return v.Unit.GetTypeName().StorageSize() +} + // ToProto is a function that converts the StateVariable to a protobuf message. func (v *StateVariable) ToProto() *ir_pb.StateVariable { proto := &ir_pb.StateVariable{ @@ -115,6 +121,10 @@ func (b *Builder) processStateVariables(unit *ast.StateVariableDeclaration) *Sta TypeDescription: unit.GetTypeName().GetTypeDescription(), } + if strings.HasPrefix(unit.GetTypeName().GetName(), "contract") { + variableNode.Type = "address" + } + // It could be that the name of the type name node is not set, but the type description string is. if variableNode.Type == "" { variableNode.Type = variableNode.TypeDescription.TypeString diff --git a/liquidity/liquidity.go b/liquidity/liquidity.go new file mode 100644 index 00000000..ff838700 --- /dev/null +++ b/liquidity/liquidity.go @@ -0,0 +1,24 @@ +package liquidity + +import ( + "context" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/clients" +) + +type Liquidity struct { + ctx context.Context + client *clients.ClientPool +} + +func NewLiquidity(ctx context.Context, client *clients.ClientPool) (*Liquidity, error) { + return &Liquidity{ + ctx: ctx, + client: client, + }, nil +} + +func (l *Liquidity) GetPool(ltype LiquidityType, addr common.Address) error { + return nil +} diff --git a/liquidity/pools.go b/liquidity/pools.go new file mode 100644 index 00000000..21a0f4d8 --- /dev/null +++ b/liquidity/pools.go @@ -0,0 +1,9 @@ +package liquidity + +type LiquidityType string + +const ( + UniswapV2 LiquidityType = "uniswapv2" + UniswapV3 LiquidityType = "uniswapv3" + Sushiswap LiquidityType = "sushiswap" +) diff --git a/metadata/types.go b/metadata/types.go index 7a236252..a840bd34 100644 --- a/metadata/types.go +++ b/metadata/types.go @@ -34,10 +34,10 @@ type ContractMetadata struct { } `json:"compiler"` Language string `json:"language"` Settings struct { - EvmVersion string `json:"evmVersion"` - CompilationTarget map[string]string `json:"compilationTarget"` - Libraries map[string]string `json:"libraries"` - Remappings []string `json:"remappings"` + EvmVersion string `json:"evmVersion"` + CompilationTarget map[string]string `json:"compilationTarget"` + Libraries map[string]map[string]string `json:"libraries"` + Remappings []string `json:"remappings"` Metadata struct { BytecodeHash string `json:"bytecodeHash"` UseLiteralContent bool `json:"useLiteralContent"` @@ -56,11 +56,12 @@ type ContractMetadata struct { ConstantOptimizer bool `json:"constantOptimizer"` Yul bool `json:"yul"` YulDetails struct { - StackAllocation bool `json:"stackAllocation"` - OptimizerSteps int `json:"optimizerSteps"` + StackAllocation bool `json:"stackAllocation"` + OptimizerSteps interface{} `json:"optimizerSteps"` } `json:"yulDetails"` } `json:"details"` } `json:"optimizer"` + ViaIR bool `json:"viaIR"` } `json:"settings"` Output struct { Abi []interface{} `json:"abi"` @@ -99,8 +100,8 @@ func (c *ContractMetadata) ToProto() *metadata_pb.Metadata { Settings: &metadata_pb.Metadata_Settings{ EvmVersion: c.Settings.EvmVersion, CompilationTarget: c.Settings.CompilationTarget, - Libraries: c.Settings.Libraries, - Remappings: c.Settings.Remappings, + //Libraries: c.Settings.Libraries, + Remappings: c.Settings.Remappings, Metadata: &metadata_pb.Metadata_Settings_MetadataSettings{ BytecodeHash: c.Settings.Metadata.BytecodeHash, UseLiteralContent: c.Settings.Metadata.UseLiteralContent, @@ -120,7 +121,7 @@ func (c *ContractMetadata) ToProto() *metadata_pb.Metadata { Yul: c.Settings.Optimizer.Details.Yul, YulDetails: &metadata_pb.Metadata_Settings_Optimizer_Details_YulDetails{ StackAllocation: c.Settings.Optimizer.Details.YulDetails.StackAllocation, - OptimizerSteps: int32(c.Settings.Optimizer.Details.YulDetails.OptimizerSteps), + //OptimizerSteps: c.Settings.Optimizer.Details.YulDetails.OptimizerSteps, }, }, }, diff --git a/observers/block_subscriber.go b/observers/block_subscriber.go deleted file mode 100644 index a0f24b52..00000000 --- a/observers/block_subscriber.go +++ /dev/null @@ -1,176 +0,0 @@ -package observers - -import ( - "context" - "errors" - "math/big" - "sync/atomic" - - "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/core/types" - "github.com/unpackdev/solgo/clients" -) - -// BlockSubscriberOptions defines the options for configuring a block subscriber. -type BlockSubscriberOptions struct { - NetworkID int64 `mapstructure:"network_id" yaml:"network_id" json:"network_id"` // The network ID of the blockchain. - Group string `mapstructure:"group" yaml:"group" json:"group"` // The group of the blockchain client. - Type string `mapstructure:"type" yaml:"type" json:"type"` // The type of the blockchain client. - Head bool `mapstructure:"head" yaml:"head" json:"head"` // Flag to indicate if subscribing to the latest block. - StartBlockNumber *big.Int `mapstructure:"start_block_number" yaml:"start_block_number" json:"start_block_number"` // The starting block number for the subscription. - EndBlockNumber *big.Int `mapstructure:"end_block_number" yaml:"end_block_number" json:"end_block_number"` // The ending block number for the subscription. -} - -// BlockSubscriber provides methods to subscribe to blockchain block headers. -type BlockSubscriber struct { - ctx context.Context // The context for the subscriber. - client *clients.ClientPool // The client pool for accessing blockchain clients. - active atomic.Bool // Flag to indicate if the subscriber is active. - sub ethereum.Subscription // The Ethereum subscription object. -} - -// NewBlockSubscriber creates a new block subscriber with the given context and client pool. -func NewBlockSubscriber(ctx context.Context, client *clients.ClientPool) (*BlockSubscriber, error) { - return &BlockSubscriber{ - ctx: ctx, - client: client, - }, nil -} - -// IsActive checks if the block subscriber is currently active. -func (b *BlockSubscriber) IsActive() bool { - return b.active.Load() -} - -// SubscribeHeader subscribes to block headers based on the provided options. -// It can either subscribe to the latest block headers or a range of block headers. -func (b *BlockSubscriber) SubscribeHeader(opts *BlockSubscriberOptions, blockCh chan *types.Header) error { - if b.active.Load() { - return errors.New("block subscriber is already active") - } - - client := b.client.GetClientByGroupAndType(opts.Group, opts.Type) - if client == nil { - return errors.New("client not found") - } - - if opts.Head { - // Subscribe to block number - sub, err := client.SubscribeNewHead(b.ctx, blockCh) - if err != nil { - return err - } - b.sub = sub - - // Set subscriber as active - b.active.Store(true) - - for { - select { - case err := <-sub.Err(): - return err - case <-b.ctx.Done(): - return nil - } - } - } else { - if opts.StartBlockNumber == nil && opts.EndBlockNumber == nil { - return errors.New("start and end block numbers are not set") - } - - if opts.EndBlockNumber.Int64() < opts.StartBlockNumber.Int64() { - return errors.New("end block number is less than start block number") - } - - b.active.Store(true) - - for i := opts.StartBlockNumber.Int64(); i <= opts.EndBlockNumber.Int64(); i++ { - block, err := client.BlockByNumber(b.ctx, big.NewInt(i)) - if err != nil { - return err - } - - blockCh <- block.Header() - } - - b.active.Store(false) - } - - return nil -} - -// Subscribe subscribes to block based on the provided options. -// It can either subscribe to the latest blocks or a range of blocks. -func (b *BlockSubscriber) Subscribe(opts *BlockSubscriberOptions, blockCh chan *types.Block) error { - if b.active.Load() { - return errors.New("block subscriber is already active") - } - - client := b.client.GetClientByGroupAndType(opts.Group, opts.Type) - if client == nil { - return errors.New("client not found") - } - - if opts.Head { - // Subscribe to block number - headerCh := make(chan *types.Header) - sub, err := client.SubscribeNewHead(b.ctx, headerCh) - if err != nil { - return err - } - b.sub = sub - - // Set subscriber as active - b.active.Store(true) - - for { - select { - case header := <-headerCh: - block, err := client.BlockByHash(b.ctx, header.Hash()) - if err != nil { - return err - } - blockCh <- block - case err := <-sub.Err(): - return err - case <-b.ctx.Done(): - return nil - } - } - } else { - if opts.StartBlockNumber == nil && opts.EndBlockNumber == nil { - return errors.New("start and end block numbers are not set") - } - - if opts.EndBlockNumber.Int64() < opts.StartBlockNumber.Int64() { - return errors.New("end block number is less than start block number") - } - - b.active.Store(true) - - for i := opts.StartBlockNumber.Int64(); i <= opts.EndBlockNumber.Int64(); i++ { - block, err := client.BlockByNumber(b.ctx, big.NewInt(i)) - if err != nil { - return err - } - - blockCh <- block - } - - b.active.Store(false) - } - - return nil -} - -// Close terminates the block subscription and releases any associated resources. -func (b *BlockSubscriber) Close() error { - if b.active.Load() { - if b.sub != nil { - b.sub.Unsubscribe() - } - b.active.Store(false) - } - - return nil -} diff --git a/observers/block_subscriber_test.go b/observers/block_subscriber_test.go deleted file mode 100644 index cf502bb1..00000000 --- a/observers/block_subscriber_test.go +++ /dev/null @@ -1,211 +0,0 @@ -package observers - -import ( - "context" - "math/big" - "os" - "testing" - "time" - - "github.com/ethereum/go-ethereum/core/types" - "github.com/stretchr/testify/assert" - "github.com/unpackdev/solgo/clients" -) - -func TestNewBlockHeaderSubscriber(t *testing.T) { - client, err := clients.NewClientPool(context.Background(), &clients.Options{ - Nodes: []clients.Node{ - { - Group: "bsc", - Type: "fullnode", - FailoverGroup: "bsc", - FailoverType: "archive", - NetworkId: 56, - Endpoint: os.Getenv("FULL_NODE_TEST_URL"), - ConcurrentClientsNumber: 2, - }, - { - Group: "bsc", - Type: "archive", - FailoverGroup: "bsc", - FailoverType: "fullnode", - NetworkId: 56, - Endpoint: os.Getenv("ARCHIVE_NODE_TEST_URL"), - ConcurrentClientsNumber: 1, - }, - }, - }) - assert.NoError(t, err) - assert.NotNil(t, client) - - tests := []struct { - name string - opts *BlockSubscriberOptions - wantErr bool - wantBlocks int64 - }{ - { - name: "Block Header Subscriber", - opts: &BlockSubscriberOptions{ - NetworkID: 1, - Group: "bsc", - Type: "fullnode", - Head: true, - }, - wantErr: false, - wantBlocks: 2, - }, - { - name: "Block Header Subscriber Start - End", - opts: &BlockSubscriberOptions{ - NetworkID: 1, - Group: "bsc", - Type: "fullnode", - Head: false, - StartBlockNumber: big.NewInt(31913866), - EndBlockNumber: big.NewInt(31913868), - }, - wantErr: false, - wantBlocks: 2, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - subscriber, err := NewBlockSubscriber(context.Background(), client) - if tt.wantErr { - assert.Error(t, err) - return - } else { - assert.NoError(t, err) - } - assert.NotNil(t, subscriber) - - blockCh := make(chan *types.Header) - go func(blockCh chan *types.Header) { - err = subscriber.SubscribeHeader(tt.opts, blockCh) - assert.NoError(t, err) - }(blockCh) - - receivedBlocks := int64(0) - - lookupTo: - for { - select { - case block := <-blockCh: - assert.True(t, subscriber.IsActive()) - t.Logf("Received block header number: %d", block.Number.Int64()) - receivedBlocks++ - if receivedBlocks >= tt.wantBlocks { - break lookupTo - } - case <-time.After(10 * time.Second): - assert.FailNow(t, "timeout") - break lookupTo - } - } - - subscriber.Close() - assert.False(t, subscriber.IsActive()) - }) - } -} - -func TestNewBlockSubscriber(t *testing.T) { - client, err := clients.NewClientPool(context.Background(), &clients.Options{ - Nodes: []clients.Node{ - { - Group: "bsc", - Type: "fullnode", - FailoverGroup: "bsc", - FailoverType: "archive", - NetworkId: 56, - Endpoint: os.Getenv("FULL_NODE_TEST_URL"), - ConcurrentClientsNumber: 2, - }, - { - Group: "bsc", - Type: "archive", - FailoverGroup: "bsc", - FailoverType: "fullnode", - NetworkId: 56, - Endpoint: os.Getenv("ARCHIVE_NODE_TEST_URL"), - ConcurrentClientsNumber: 1, - }, - }, - }) - assert.NoError(t, err) - assert.NotNil(t, client) - - tests := []struct { - name string - opts *BlockSubscriberOptions - wantErr bool - wantBlocks int64 - }{ - { - name: "Block Subscriber", - opts: &BlockSubscriberOptions{ - NetworkID: 1, - Group: "bsc", - Type: "fullnode", - Head: true, - }, - wantErr: false, - wantBlocks: 2, - }, - { - name: "Block Subscriber Start - End", - opts: &BlockSubscriberOptions{ - NetworkID: 1, - Group: "bsc", - Type: "fullnode", - Head: false, - StartBlockNumber: big.NewInt(31913866), - EndBlockNumber: big.NewInt(31913868), - }, - wantErr: false, - wantBlocks: 2, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - subscriber, err := NewBlockSubscriber(context.Background(), client) - if tt.wantErr { - assert.Error(t, err) - return - } else { - assert.NoError(t, err) - } - assert.NotNil(t, subscriber) - - blockCh := make(chan *types.Block) - go func(blockCh chan *types.Block) { - err = subscriber.Subscribe(tt.opts, blockCh) - assert.NoError(t, err) - }(blockCh) - - receivedBlocks := int64(0) - - lookupTo: - for { - select { - case block := <-blockCh: - assert.True(t, subscriber.IsActive()) - t.Logf("Received block header number: %d", block.NumberU64()) - receivedBlocks++ - if receivedBlocks >= tt.wantBlocks { - break lookupTo - } - case <-time.After(10 * time.Second): - assert.FailNow(t, "timeout") - break lookupTo - } - } - - subscriber.Close() - assert.False(t, subscriber.IsActive()) - }) - } -} diff --git a/observers/contract_subscriber.go b/observers/contract_subscriber.go deleted file mode 100644 index 72bb3613..00000000 --- a/observers/contract_subscriber.go +++ /dev/null @@ -1,231 +0,0 @@ -package observers - -import ( - "context" - "errors" - "math/big" - "sync" - "sync/atomic" - - "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/unpackdev/solgo/clients" - "go.uber.org/zap" -) - -// Contract represents a blockchain contract with its associated details. -type Contract struct { - NetworkID int64 `json:"network_id"` // The network ID of the Ethereum blockchain. - NetworkGroup string `json:"network_group"` // The group identifier for the blockchain client. - NetworkType string `json:"network_type"` // The type of the blockchain client. - ContractAddress common.Address `json:"contract_addr"` // Ethereum address of the contract. - Block *types.Block `json:"block"` // Block in which the contract transaction was included. - Transaction *types.Transaction `json:"transaction"` // Transaction that created the contract. - Receipt *types.Receipt `json:"receipt"` // Receipt of the contract creation transaction. -} - -// ContractSubscriberOptions defines the options for configuring a contract subscriber. -type ContractSubscriberOptions struct { - NetworkID int64 `mapstructure:"network_id" yaml:"network_id" json:"network_id"` // The network ID of the Ethereum blockchain. - Group string `mapstructure:"group" yaml:"group" json:"group"` // The group identifier for the blockchain client. - Type string `mapstructure:"type" yaml:"type" json:"type"` // The type of the blockchain client. - Head bool `mapstructure:"head" yaml:"head" json:"head"` // If true, subscribes to the latest block. Otherwise, subscribes to a range. - StartBlockNumber *big.Int `mapstructure:"start_block_number" yaml:"start_block_number" json:"start_block_number"` // Starting block number for the subscription. - EndBlockNumber *big.Int `mapstructure:"end_block_number" yaml:"end_block_number" json:"end_block_number"` // Ending block number for the subscription. -} - -// ContractSubscriber provides methods to subscribe to and interact with Ethereum contracts. -type ContractSubscriber struct { - ctx context.Context // The context for the subscriber operations. - client *clients.ClientPool // Client pool for accessing Ethereum clients. - active atomic.Bool // Indicates if the subscriber is currently active. - sub ethereum.Subscription // Ethereum subscription for real-time updates. -} - -// NewContractSubscriber initializes a new contract subscriber with the provided context and client pool. -func NewContractSubscriber(ctx context.Context, client *clients.ClientPool) (*ContractSubscriber, error) { - return &ContractSubscriber{ - ctx: ctx, - client: client, - }, nil -} - -// IsActive checks if the contract subscriber is currently active. -func (b *ContractSubscriber) IsActive() bool { - return b.active.Load() -} - -// Subscribe initiates a subscription based on the provided options. -// It can either subscribe to the latest blocks or a specific range of blocks. -func (b *ContractSubscriber) Subscribe(opts *ContractSubscriberOptions, contractsCh chan *Contract) error { - if b.active.Load() { - return errors.New("block subscriber is already active") - } - - client := b.client.GetClientByGroupAndType(opts.Group, opts.Type) - if client == nil { - return errors.New("client not found") - } - - if opts.Head { - headerCh := make(chan *types.Header) - sub, err := client.SubscribeNewHead(b.ctx, headerCh) - if err != nil { - return err - } - b.sub = sub - - // Set subscriber as active - b.active.Store(true) - - for { - select { - case header := <-headerCh: - block, err := client.BlockByHash(b.ctx, header.Hash()) - if err != nil { - zap.L().Error( - "failure while searching for block", - zap.Error(err), - zap.Int64("block_number", block.Number().Int64()), - ) - continue - } - - contracts, err := b.discoverContracts(block, opts) - if err != nil { - zap.L().Error( - "failure while searching for block contracts", - zap.Error(err), - zap.Int64("block_number", block.Number().Int64()), - ) - continue - } - - zap.L().Debug( - "Determined contracts in block", - zap.Int64("block_number", block.Number().Int64()), - zap.Int("contracts", len(contracts)), - ) - - if len(contracts) > 0 { - for _, contract := range contracts { - contractsCh <- contract - } - } - case err := <-sub.Err(): - return err - case <-b.ctx.Done(): - return nil - } - } - } else { - if opts.StartBlockNumber == nil && opts.EndBlockNumber == nil { - return errors.New("start and end block numbers are not set") - } - - if opts.EndBlockNumber == nil { - header, err := client.HeaderByNumber(b.ctx, nil) - if err != nil { - return err - } - opts.EndBlockNumber = header.Number - } - - if opts.EndBlockNumber.Int64() < opts.StartBlockNumber.Int64() { - return errors.New("end block number is less than start block number") - } - - b.active.Store(true) - - for i := opts.StartBlockNumber.Int64(); i <= opts.EndBlockNumber.Int64(); i++ { - block, err := client.BlockByNumber(b.ctx, big.NewInt(i)) - if err != nil { - zap.L().Error( - "failure while searching for block", - zap.Error(err), - zap.Int64("block_number", i), - ) - continue - } - - contracts, err := b.discoverContracts(block, opts) - if err != nil { - zap.L().Error( - "failure while searching for block contracts", - zap.Error(err), - zap.Int64("block_number", block.Number().Int64()), - ) - continue - } - - if len(contracts) > 0 { - for _, contract := range contracts { - contractsCh <- contract - } - } - } - - b.active.Store(false) - } - - return nil -} - -// discoverContracts searches for contracts within a given block based on the provided options. -// It returns a list of discovered contracts. -func (b *ContractSubscriber) discoverContracts(block *types.Block, opts *ContractSubscriberOptions) ([]*Contract, error) { - contracts := make([]*Contract, 0) - - errCh := make(chan error) - - var wg sync.WaitGroup - - for _, tx := range block.Transactions() { - wg.Add(1) - go func(tx *types.Transaction) { - defer wg.Done() - client := b.client.GetClientByGroupAndType(opts.Group, opts.Type) - - receipt, err := client.TransactionReceipt(b.ctx, tx.Hash()) - if err != nil { - errCh <- err - return - } - - if receipt.Status == types.ReceiptStatusSuccessful && receipt.ContractAddress != (common.Address{}) { - contracts = append(contracts, &Contract{ - NetworkID: opts.NetworkID, - NetworkGroup: opts.Group, - NetworkType: opts.Type, - ContractAddress: receipt.ContractAddress, - Block: block, - Transaction: tx, - Receipt: receipt, - }) - } - }(tx) - } - - wg.Wait() - - close(errCh) - - if len(errCh) > 0 { - return contracts, <-errCh - } - - return contracts, nil -} - -// Close terminates the contract subscription and releases any associated resources. -func (b *ContractSubscriber) Close() error { - if b.active.Load() { - if b.sub != nil { - b.sub.Unsubscribe() - } - b.active.Store(false) - } - - return nil -} diff --git a/observers/contract_subscriber_test.go b/observers/contract_subscriber_test.go deleted file mode 100644 index c91d88ca..00000000 --- a/observers/contract_subscriber_test.go +++ /dev/null @@ -1,120 +0,0 @@ -package observers - -import ( - "context" - "math/big" - "os" - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/unpackdev/solgo/clients" -) - -func TestNewContractSubscriber(t *testing.T) { - t.Skip("Skipping Contract Subscriber tests as they require a BSC node to be running...") - - client, err := clients.NewClientPool(context.Background(), &clients.Options{ - Nodes: []clients.Node{ - { - Group: "bsc", - Type: "fullnode", - FailoverGroup: "bsc", - FailoverType: "archive", - NetworkId: 56, - Endpoint: os.Getenv("FULL_NODE_TEST_URL"), - ConcurrentClientsNumber: 2, - }, - { - Group: "bsc", - Type: "archive", - FailoverGroup: "bsc", - FailoverType: "fullnode", - NetworkId: 56, - Endpoint: os.Getenv("ARCHIVE_NODE_TEST_URL"), - ConcurrentClientsNumber: 1, - }, - }, - }) - assert.NoError(t, err) - assert.NotNil(t, client) - - tests := []struct { - name string - opts *ContractSubscriberOptions - wantErr bool - wantContracts int64 - timeout time.Duration - timeoutSkip bool - }{ - { - name: "Contracts Subscriber", - opts: &ContractSubscriberOptions{ - NetworkID: 1, - Group: "bsc", - Type: "fullnode", - Head: true, - }, - wantErr: false, - wantContracts: 1, - timeout: 10 * time.Second, - timeoutSkip: true, // Sometimes heads will have it in 10s, sometimes not, let's test it but skip timeout... - }, - { - name: "Contracts Subscriber Start - End", - opts: &ContractSubscriberOptions{ - NetworkID: 1, - Group: "bsc", - Type: "fullnode", - Head: false, - StartBlockNumber: big.NewInt(31913866), - EndBlockNumber: big.NewInt(31913890), - }, - wantErr: false, - wantContracts: 1, - timeout: 10 * time.Second, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - subscriber, err := NewContractSubscriber(context.Background(), client) - if tt.wantErr { - assert.Error(t, err) - return - } else { - assert.NoError(t, err) - } - assert.NotNil(t, subscriber) - - contractsCh := make(chan *Contract) - go func(contractsCh chan *Contract) { - err = subscriber.Subscribe(tt.opts, contractsCh) - assert.NoError(t, err) - }(contractsCh) - - receivedContracts := int64(0) - - lookupTo: - for { - select { - case contract := <-contractsCh: - assert.True(t, subscriber.IsActive()) - t.Logf("Received contract: %v", contract) - receivedContracts++ - if receivedContracts >= tt.wantContracts { - break lookupTo - } - case <-time.After(tt.timeout): - if !tt.timeoutSkip { - assert.FailNow(t, "timeout") - } - break lookupTo - } - } - - subscriber.Close() - assert.False(t, subscriber.IsActive()) - }) - } -} diff --git a/observers/docs.go b/observers/docs.go deleted file mode 100644 index 03674f08..00000000 --- a/observers/docs.go +++ /dev/null @@ -1,5 +0,0 @@ -// Package observers provides tools for managing and interacting with Ethereum onchain data such as blocks, transactions, events and logs. -// It provides a BlockSubscriber structure that allows for subscribing to block headers based on various criteria, such as the latest block or a range of blocks. -// It also provides a ContractSubscriber structure that allows for subscribing to old or new contracts based on various criteria, such as the latest blocks or a range of blocks. -// The package is designed to be flexible and efficient, ensuring that Ethereum onchain data can be easily accessed based on the specific needs of the application. -package observers diff --git a/providers/bitquery/client.go b/providers/bitquery/client.go new file mode 100644 index 00000000..d5b36b24 --- /dev/null +++ b/providers/bitquery/client.go @@ -0,0 +1,68 @@ +package bitquery + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "net/http" + "time" +) + +type BitQueryProvider struct { + ctx context.Context + opts *Options + client *http.Client +} + +func NewBitQueryProvider(ctx context.Context, opts *Options) (*BitQueryProvider, error) { + if opts == nil { + return nil, errors.New("bitquery provider is not configured") + } + + if opts.Endpoint == "" { + return nil, errors.New("bitquery provider endpoint is not configured") + } + + if opts.Key == "" { + return nil, errors.New("bitquery provider key is not configured") + } + + return &BitQueryProvider{ + ctx: ctx, + opts: opts, + client: &http.Client{Timeout: time.Second * 30}, + }, nil +} + +func (b *BitQueryProvider) GetContractCreationInfo(ctx context.Context, query map[string]string) (*ContractCreationInfo, error) { + jsonData, err := json.Marshal(query) + if err != nil { + return nil, errors.New("failed to marshal query: " + err.Error()) + } + + req, err := http.NewRequestWithContext(ctx, "POST", b.opts.Endpoint, bytes.NewBuffer(jsonData)) + if err != nil { + return nil, errors.New("failed to create request: " + err.Error()) + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("X-API-KEY", b.opts.Key) + + resp, err := b.client.Do(req) + if err != nil { + return nil, errors.New("failed to send request: " + err.Error()) + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, errors.New("received non-OK response: " + resp.Status) + } + + var info ContractCreationInfo + if err := json.NewDecoder(resp.Body).Decode(&info); err != nil { + return nil, errors.New("failed to decode response: " + err.Error()) + } + + return &info, nil +} diff --git a/providers/bitquery/options.go b/providers/bitquery/options.go new file mode 100644 index 00000000..1acdeb5e --- /dev/null +++ b/providers/bitquery/options.go @@ -0,0 +1,6 @@ +package bitquery + +type Options struct { + Endpoint string `mapstructure:"endpoint" yaml:"endpoint" json:"endpoint"` + Key string `mapstructure:"key" yaml:"key" json:"key"` +} diff --git a/providers/bitquery/query.go b/providers/bitquery/query.go new file mode 100644 index 00000000..838b092f --- /dev/null +++ b/providers/bitquery/query.go @@ -0,0 +1,61 @@ +package bitquery + +import ( + "context" + "fmt" + + "github.com/ethereum/go-ethereum/common" +) + +type ContractCreationInfo struct { + Data struct { + SmartContractCreation struct { + SmartContractCalls []struct { + Transaction struct { + Hash string `json:"hash"` + } `json:"transaction"` + Block struct { + Height int `json:"height"` + } `json:"block"` + } `json:"smartContractCalls"` + } `json:"smartContractCreation"` + } `json:"data"` +} + +func (c *ContractCreationInfo) GetTransactionHash() string { + if len(c.Data.SmartContractCreation.SmartContractCalls) == 0 { + return "" + } + + return c.Data.SmartContractCreation.SmartContractCalls[0].Transaction.Hash +} + +func (c *ContractCreationInfo) GetBlockHeight() int { + if len(c.Data.SmartContractCreation.SmartContractCalls) == 0 { + return 0 + } + + return c.Data.SmartContractCreation.SmartContractCalls[0].Block.Height +} + +func (b *BitQueryProvider) QueryContractCreationBlockAndTxHash(ctx context.Context, networkGroup string, address common.Address) (*ContractCreationInfo, error) { + queryData := map[string]string{ + "query": fmt.Sprintf(`{ + smartContractCreation: ethereum(network: %s) { + smartContractCalls( + smartContractAddress: {is: "%s"} + smartContractMethod: {is: "Contract Creation"} + ) { + transaction { + hash + } + block { + height + } + } + } + }`, networkGroup, address.Hex()), + } + + return b.GetContractCreationInfo(ctx, queryData) +} diff --git a/providers/etherscan/client.go b/providers/etherscan/client.go new file mode 100644 index 00000000..47230b69 --- /dev/null +++ b/providers/etherscan/client.go @@ -0,0 +1,61 @@ +package etherscan + +import ( + "context" + "fmt" + "sync/atomic" + + "github.com/redis/go-redis/v9" +) + +type ErrorResponse struct { + Status string `json:"status"` + Message string `json:"message"` + Result string `json:"result"` +} + +// EtherScanProvider represents the BscScan scanner provider. +type EtherScanProvider struct { + ctx context.Context + opts *Options + cache *redis.Client + keyIndex int32 // Use int32 for atomic operations +} + +// NewEtherScanProvider creates a new instance of EtherScanProvider with the provided API key and API URL. +func NewEtherScanProvider(ctx context.Context, cache *redis.Client, opts *Options) (*EtherScanProvider, error) { + if err := opts.Validate(); err != nil { + return nil, err + } + + return &EtherScanProvider{ + ctx: ctx, + opts: opts, + cache: cache, + keyIndex: 0, + }, nil +} + +func (e *EtherScanProvider) ProviderName() string { + return e.opts.Provider.String() +} + +func (e *EtherScanProvider) CacheKey(method string, path string) string { + return fmt.Sprintf( + "etherscan::%s::%s", + method, + path, + ) +} + +// GetNextKey returns the next API key in a round-robin fashion. +func (e *EtherScanProvider) GetNextKey() string { + // Atomically increment the keyIndex and get the next index + nextIndex := atomic.AddInt32(&e.keyIndex, 1) + + // Ensure the index wraps around the length of the keys slice + keyCount := int32(len(e.opts.Keys)) + selectedIndex := nextIndex % keyCount + + return e.opts.Keys[selectedIndex] +} diff --git a/providers/etherscan/contract.go b/providers/etherscan/contract.go new file mode 100644 index 00000000..6b654bbd --- /dev/null +++ b/providers/etherscan/contract.go @@ -0,0 +1,169 @@ +package etherscan + +import ( + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "strings" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/metadata" +) + +type Contract struct { + SourceCode interface{} `json:"SourceCode"` + ABI string `json:"ABI"` + Name string `json:"ContractName"` + CompilerVersion string `json:"CompilerVersion"` + OptimizationUsed string `json:"OptimizationUsed"` + Runs string `json:"Runs"` + ConstructorArguments string `json:"ConstructorArguments"` + EVMVersion string `json:"EVMVersion"` + Library string `json:"Library"` + LicenseType string `json:"LicenseType"` + Proxy string `json:"Proxy"` + Implementation string `json:"Implementation"` + SwarmSource string `json:"SwarmSource"` +} + +func (c Contract) MarshalBinary() ([]byte, error) { + return json.Marshal(c) +} + +func (c *Contract) UnmarshalBinary(data []byte) error { + return json.Unmarshal(data, c) +} + +type ContractResponse struct { + Status string `json:"status"` + Message string `json:"message"` + Result []Contract `json:"result"` +} + +func (e *EtherScanProvider) ScanContract(addr common.Address) (*Contract, error) { + cacheKey := e.CacheKey("getsourcecode_method_1", addr.Hex()) + + if e.cache != nil { + if result, err := e.cache.Exists(e.ctx, cacheKey).Result(); err == nil && result == 1 { + if result, err := e.cache.Get(e.ctx, cacheKey).Result(); err == nil { + var response *Contract + if err := json.Unmarshal([]byte(result), &response); err != nil { + return nil, fmt.Errorf("failed to unmarshal %s response: %s", e.ProviderName(), err) + } + return response, nil + } + } + } + + // @FIXME: For now we're going to sleep a bit to avoid rate limiting. + // There are multiple ways we can sort this by applying pool of the API keys and rotating them. + // In addition, what's a must at first is basically purchasing the API key from Etherscan. + time.Sleep(200 * time.Millisecond) + + url := fmt.Sprintf( + "%s?module=contract&action=getsourcecode&address=%s&apikey=%s", + e.opts.Endpoint, addr.Hex(), e.GetNextKey(), + ) + + resp, err := http.Get(url) + if err != nil { + return nil, fmt.Errorf("failed to send HTTP request: %s", err) + } + defer resp.Body.Close() + + body, err := io.ReadAll(resp.Body) + if err != nil { + return nil, fmt.Errorf("failed to read response body: %s", err) + } + + if strings.Contains(string(body), "NOTOK") { + var contractResponse ErrorResponse + if err := json.Unmarshal(body, &contractResponse); err != nil { + return nil, fmt.Errorf("failed to unmarshal error response: %s", err) + } + return nil, errors.New(contractResponse.Result) + } + + var contractResponse ContractResponse + if err := json.Unmarshal(body, &contractResponse); err != nil { + return nil, fmt.Errorf("failed to unmarshal etherscan response: %s", err) + } + + toReturn := contractResponse.Result[0] + + if toReturn.ABI == "Contract source code not verified" { + return nil, fmt.Errorf("contract source code not verified") + } + + // Well we have standard metadata response probably from IPFS within the source code and we need to parse it... + // Not to mention with excuse Etherscan bullshit we need to unquote it manually... + if len(toReturn.SourceCode.(string)) > 2 && (toReturn.SourceCode.(string)[:2] == "{{" || toReturn.SourceCode.(string)[:1] == "{") { + cm := metadata.ContractMetadata{} + + // This is just nasty, but I don't really care at this moment... + sourceCode, _ := unprettyJSON(manualUnquote(toReturn.SourceCode.(string))) + + if err := json.Unmarshal([]byte(sourceCode), &cm); err != nil { + fmt.Println("failure to decode contract metadata", err) + var onlySources map[string]metadata.ContractSource + if err := json.Unmarshal([]byte(fmt.Sprint(toReturn.SourceCode.(string))), &onlySources); err != nil { + return nil, fmt.Errorf("failed to unmarshal metadata response (string): %w", err) + } else { + cm.Sources = onlySources + } + + } + + toReturn.SourceCode = cm + } else if _, ok := toReturn.SourceCode.(map[string]interface{}); ok { + cm := metadata.ContractMetadata{} + encoded, _ := json.Marshal(toReturn.SourceCode) + if err := json.Unmarshal(encoded, &cm); err != nil { + return nil, fmt.Errorf("failed to unmarshal metadata response (map): %s", err) + } + toReturn.SourceCode = cm + } + + if toReturn.ABI == "Contract source code not verified" { + return nil, fmt.Errorf("contract not found") + } + + if e.cache != nil { + if err := e.cache.Set(e.ctx, cacheKey, toReturn, 1*time.Hour).Err(); err != nil { + return nil, fmt.Errorf("failed to write to cache: %s", err) + } + } + + return &toReturn, nil +} + +func manualUnquote(s string) string { + // Check if it starts with `{{` and ends with `}}` + if strings.HasPrefix(s, "{{") && strings.HasSuffix(s, "}}") { + s = "{" + s[2:len(s)-2] + "}" + } + + return s +} + +// UnprettyJSON takes a pretty JSON string and returns a compact, unprettified version of it. +func unprettyJSON(prettyJSON string) (string, error) { + var data interface{} + + // Unmarshal the pretty JSON into an interface{} + err := json.Unmarshal([]byte(prettyJSON), &data) + if err != nil { + return "", fmt.Errorf("error unmarshaling JSON: %w", err) + } + + // Marshal the data back into JSON without indentation + compactJSON, err := json.Marshal(data) + if err != nil { + return "", fmt.Errorf("error marshaling JSON: %w", err) + } + + return string(compactJSON), nil +} diff --git a/providers/etherscan/options.go b/providers/etherscan/options.go new file mode 100644 index 00000000..3108a1f4 --- /dev/null +++ b/providers/etherscan/options.go @@ -0,0 +1,11 @@ +package etherscan + +type Options struct { + Provider ProviderType `json:"provider" yaml:"provider" mapstructure:"provider"` + Endpoint string `json:"endpoint" yaml:"endpoint" mapstructure:"endpoint"` + Keys []string `json:"keys" yaml:"keys" mapstructure:"keys"` +} + +func (o *Options) Validate() error { + return nil +} diff --git a/providers/etherscan/transactions.go b/providers/etherscan/transactions.go new file mode 100644 index 00000000..959489eb --- /dev/null +++ b/providers/etherscan/transactions.go @@ -0,0 +1,94 @@ +package etherscan + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "strings" + "time" + + "github.com/ethereum/go-ethereum/common" +) + +type ContractCreation struct { + Address string `json:"contractAddress"` + CreatorAddress string `json:"contractCreator"` + TransactionHash string `json:"txHash"` +} + +func (c *ContractCreation) MarshalBinary() ([]byte, error) { + return json.Marshal(c) +} + +func (c *ContractCreation) UnmarshalBinary(data []byte) error { + return json.Unmarshal(data, c) +} + +func (c *ContractCreation) GetTransactionHash() common.Hash { + return common.HexToHash(c.TransactionHash) +} + +type ContractCreationResponse struct { + Status string `json:"status"` + Message string `json:"message"` + Result []*ContractCreation `json:"result"` +} + +func (e *EtherScanProvider) QueryContractCreationTx(ctx context.Context, addr common.Address) (*ContractCreation, error) { + if e.cache != nil { + cacheKey := e.CacheKey("getcontractcreation", addr.Hex()) + if result, err := e.cache.Exists(e.ctx, cacheKey).Result(); err == nil && result == 1 { + if result, err := e.cache.Get(e.ctx, cacheKey).Result(); err == nil { + var response *ContractCreation + if err := json.Unmarshal([]byte(result), &response); err != nil { + return nil, fmt.Errorf("failed to unmarshal %s response: %s", e.ProviderName(), err) + } + return response, nil + } + } + } + + url := fmt.Sprintf( + "%s?module=contract&action=getcontractcreation&contractaddresses=%s&apikey=%s", + e.opts.Endpoint, addr.Hex(), e.GetNextKey(), + ) + + resp, err := http.Get(url) + if err != nil { + return nil, fmt.Errorf("failed to send HTTP request: %s", err) + } + defer resp.Body.Close() + + body, err := io.ReadAll(resp.Body) + if err != nil { + return nil, fmt.Errorf("failed to read response body: %s", err) + } + + if strings.Contains(string(body), "NOTOK") { + var creationResponse ErrorResponse + if err := json.Unmarshal(body, &creationResponse); err != nil { + return nil, fmt.Errorf("failed to unmarshal error response: %s", err) + } + + return nil, errors.New(creationResponse.Result) + } + + var creationResponse ContractCreationResponse + if err := json.Unmarshal(body, &creationResponse); err != nil { + return nil, fmt.Errorf("failed to unmarshal contract creation response: %s", err) + } + + if e.cache != nil { + cacheKey := e.CacheKey("getcontractcreation", addr.Hex()) + if len(creationResponse.Result) > 0 { + if err := e.cache.Set(e.ctx, cacheKey, creationResponse.Result[0], 1*time.Hour).Err(); err != nil { + return nil, fmt.Errorf("failed to write to cache: %s", err) + } + } + } + + return creationResponse.Result[0], nil +} diff --git a/providers/etherscan/types.go b/providers/etherscan/types.go new file mode 100644 index 00000000..33b2bc82 --- /dev/null +++ b/providers/etherscan/types.go @@ -0,0 +1,12 @@ +package etherscan + +type ProviderType string + +func (p ProviderType) String() string { + return string(p) +} + +const ( + EtherScan ProviderType = "etherscan" + BscScan ProviderType = "bscscan" +) diff --git a/remove_me/contract.sol b/remove_me/contract.sol new file mode 100644 index 00000000..4613fdff --- /dev/null +++ b/remove_me/contract.sol @@ -0,0 +1,853 @@ +/** + *Submitted for verification at Etherscan.io on 2023-04-07 +*/ + +/* + This is the contract for launch of Operation Black Rock Down ($OBD) token. + Website: https://operationblackrockdown.com/ + Twitter: https://twitter.com/DownBlackrock + Telegram: https://t.me/OperationBlackRockDown +*/ + +//SPDX-License-Identifier: MIT + +pragma solidity ^0.8.19; + +abstract contract Context { + function _msgSender() internal view virtual returns (address) { + return msg.sender; + } + + function _msgData() internal view virtual returns (bytes calldata) { + this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 + return msg.data; + } +} + +interface IERC20 { + function totalSupply() external view returns (uint256); + + function balanceOf(address account) external view returns (uint256); + + function transfer(address recipient, uint256 amount) external returns (bool); + + function allowance(address owner, address spender) external view returns (uint256); + + function approve(address spender, uint256 amount) external returns (bool); + + function transferFrom( + address sender, + address recipient, + uint256 amount + ) external returns (bool); + + event Transfer(address indexed from, address indexed to, uint256 value); + + event Approval(address indexed owner, address indexed spender, uint256 value); +} + +interface IERC20Metadata is IERC20 { + /** + * @dev Returns the name of the token. + */ + function name() external view returns (string memory); + + /** + * @dev Returns the symbol of the token. + */ + function symbol() external view returns (string memory); + + /** + * @dev Returns the decimals places of the token. + */ + function decimals() external view returns (uint8); +} + +contract ERC20 is Context, IERC20, IERC20Metadata { + mapping(address => uint256) internal _balances; + + mapping(address => mapping(address => uint256)) internal _allowances; + + uint256 private _totalSupply; + + string private _name; + string private _symbol; + + /** + * @dev Sets the values for {name} and {symbol}. + * + * The defaut value of {decimals} is 18. To select a different value for + * {decimals} you should overload it. + * + * All two of these values are immutable: they can only be set once during + * construction. + */ + constructor(string memory name_, string memory symbol_) { + _name = name_; + _symbol = symbol_; + } + + /** + * @dev Returns the name of the token. + */ + function name() public view virtual override returns (string memory) { + return _name; + } + + /** + * @dev Returns the symbol of the token, usually a shorter version of the + * name. + */ + function symbol() public view virtual override returns (string memory) { + return _symbol; + } + + /** + * @dev Returns the number of decimals used to get its user representation. + * For example, if `decimals` equals `2`, a balance of `505` tokens should + * be displayed to a user as `5,05` (`505 / 10 ** 2`). + * + * Tokens usually opt for a value of 18, imitating the relationship between + * Ether and Wei. This is the value {ERC20} uses, unless this function is + * overridden; + * + * NOTE: This information is only used for _display_ purposes: it in + * no way affects any of the arithmetic of the contract, including + * {IERC20-balanceOf} and {IERC20-transfer}. + */ + function decimals() public view virtual override returns (uint8) { + return 18; + } + + /** + * @dev See {IERC20-totalSupply}. + */ + function totalSupply() public view virtual override returns (uint256) { + return _totalSupply; + } + + /** + * @dev See {IERC20-balanceOf}. + */ + function balanceOf(address account) public view virtual override returns (uint256) { + return _balances[account]; + } + + /** + * @dev See {IERC20-transfer}. + * + * Requirements: + * + * - `recipient` cannot be the zero address. + * - the caller must have a balance of at least `amount`. + */ + function transfer(address recipient, uint256 amount) + public + virtual + override + returns (bool) + { + _transfer(_msgSender(), recipient, amount); + return true; + } + + /** + * @dev See {IERC20-allowance}. + */ + function allowance(address owner, address spender) + public + view + virtual + override + returns (uint256) + { + return _allowances[owner][spender]; + } + + /** + * @dev See {IERC20-approve}. + * + * Requirements: + * + * - `spender` cannot be the zero address. + */ + function approve(address spender, uint256 amount) public virtual override returns (bool) { + _approve(_msgSender(), spender, amount); + return true; + } + + /** + * @dev Updates `owner` s allowance for `spender` based on spent `amount`. + * + * Does not update the allowance amount in case of infinite allowance. + * Revert if not enough allowance is available. + * + * Might emit an {Approval} event. + */ + function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { + uint256 currentAllowance = allowance(owner, spender); + if (currentAllowance != type(uint256).max) { + require(currentAllowance >= amount, "ERC20: insufficient allowance"); + unchecked { + _approve(owner, spender, currentAllowance - amount); + } + } + } + + /** + * @dev See {IERC20-transferFrom}. + * + * Emits an {Approval} event indicating the updated allowance. This is not + * required by the EIP. See the note at the beginning of {ERC20}. + * + * Requirements: + * + * - `sender` and `recipient` cannot be the zero address. + * - `sender` must have a balance of at least `amount`. + * - the caller must have allowance for ``sender``'s tokens of at least + * `amount`. + */ + function transferFrom( + address sender, + address recipient, + uint256 amount + ) public virtual override returns (bool) { + _transfer(sender, recipient, amount); + + uint256 currentAllowance = _allowances[sender][_msgSender()]; + require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); + _approve(sender, _msgSender(), currentAllowance - amount); + + return true; + } + + /** + * @dev Atomically increases the allowance granted to `spender` by the caller. + * + * This is an alternative to {approve} that can be used as a mitigation for + * problems described in {IERC20-approve}. + * + * Emits an {Approval} event indicating the updated allowance. + * + * Requirements: + * + * - `spender` cannot be the zero address. + */ + function increaseAllowance(address spender, uint256 addedValue) + public + virtual + returns (bool) + { + _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); + return true; + } + + /** + * @dev Atomically decreases the allowance granted to `spender` by the caller. + * + * This is an alternative to {approve} that can be used as a mitigation for + * problems described in {IERC20-approve}. + * + * Emits an {Approval} event indicating the updated allowance. + * + * Requirements: + * + * - `spender` cannot be the zero address. + * - `spender` must have allowance for the caller of at least + * `subtractedValue`. + */ + function decreaseAllowance(address spender, uint256 subtractedValue) + public + virtual + returns (bool) + { + uint256 currentAllowance = _allowances[_msgSender()][spender]; + require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); + _approve(_msgSender(), spender, currentAllowance - subtractedValue); + + return true; + } + + /** + * @dev Moves tokens `amount` from `sender` to `recipient`. + * + * This is internal function is equivalent to {transfer}, and can be used to + * e.g. implement automatic token fees, slashing mechanisms, etc. + * + * Emits a {Transfer} event. + * + * Requirements: + * + * - `sender` cannot be the zero address. + * - `recipient` cannot be the zero address. + * - `sender` must have a balance of at least `amount`. + */ + function _transfer( + address sender, + address recipient, + uint256 amount + ) internal virtual { + require(sender != address(0), "ERC20: transfer from the zero address"); + require(recipient != address(0), "ERC20: transfer to the zero address"); + + uint256 senderBalance = _balances[sender]; + require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); + _balances[sender] = senderBalance - amount; + _balances[recipient] += amount; + + emit Transfer(sender, recipient, amount); + } + + /** This function will be used to generate the total supply + * while deploying the contract + * + * This function can never be called again after deploying contract + */ + function _tokengeneration(address account, uint256 amount) internal virtual { + _totalSupply = amount; + _balances[account] = amount; + emit Transfer(address(0), account, amount); + } + + /** + * @dev Destroys `amount` tokens from `account`, reducing the + * total supply. + * + * Emits a {Transfer} event with `to` set to the zero address. + * + * Requirements: + * + * - `account` cannot be the zero address. + * - `account` must have at least `amount` tokens. + */ + function _burn(address account, uint256 amount) internal virtual { + require(account != address(0), "ERC20: burn from the zero address"); + + _beforeTokenTransfer(account, address(0xdead), amount); + + uint256 accountBalance = _balances[account]; + require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); + unchecked { + _balances[account] = accountBalance - amount; + // Overflow not possible: amount <= accountBalance <= totalSupply. + _totalSupply -= amount; + // _balances[address(0xdead)] += amount; + } + + emit Transfer(account, address(0xdead), amount); + + _afterTokenTransfer(account, address(0xdead), amount); + } + + /** + * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. + * + * This internal function is equivalent to `approve`, and can be used to + * e.g. set automatic allowances for certain subsystems, etc. + * + * Emits an {Approval} event. + * + * Requirements: + * + * - `owner` cannot be the zero address. + * - `spender` cannot be the zero address. + */ + function _approve( + address owner, + address spender, + uint256 amount + ) internal virtual { + require(owner != address(0), "ERC20: approve from the zero address"); + require(spender != address(0), "ERC20: approve to the zero address"); + + _allowances[owner][spender] = amount; + emit Approval(owner, spender, amount); + } + + /** + * @dev Hook that is called before any transfer of tokens. This includes + * minting and burning. + * + * Calling conditions: + * + * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens + * will be transferred to `to`. + * - when `from` is zero, `amount` tokens will be minted for `to`. + * - when `to` is zero, `amount` of ``from``'s tokens will be burned. + * - `from` and `to` are never both zero. + * + * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. + */ + function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} + + /** + * @dev Hook that is called after any transfer of tokens. This includes + * minting and burning. + * + * Calling conditions: + * + * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens + * has been transferred to `to`. + * - when `from` is zero, `amount` tokens have been minted for `to`. + * - when `to` is zero, `amount` of ``from``'s tokens have been burned. + * - `from` and `to` are never both zero. + * + * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. + */ + function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} +} + +library Address { + function sendValue(address payable recipient, uint256 amount) internal { + require(address(this).balance >= amount, "Address: insufficient balance"); + + (bool success, ) = recipient.call{ value: amount }(""); + require(success, "Address: unable to send value, recipient may have reverted"); + } +} + +abstract contract Ownable is Context { + address private _owner; + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + constructor() { + _setOwner(_msgSender()); + } + + function owner() public view virtual returns (address) { + return _owner; + } + + modifier onlyOwner() { + require(owner() == _msgSender(), "Ownable: caller is not the owner"); + _; + } + + function renounceOwnership() public virtual onlyOwner { + _setOwner(address(0)); + } + + function transferOwnership(address newOwner) public virtual onlyOwner { + require(newOwner != address(0), "Ownable: new owner is the zero address"); + _setOwner(newOwner); + } + + function _setOwner(address newOwner) private { + address oldOwner = _owner; + _owner = newOwner; + emit OwnershipTransferred(oldOwner, newOwner); + } +} + +interface IFactory { + function createPair(address tokenA, address tokenB) external returns (address pair); +} + +interface IRouter { + function factory() external pure returns (address); + + function WETH() external pure returns (address); + + function addLiquidityETH( + address token, + uint256 amountTokenDesired, + uint256 amountTokenMin, + uint256 amountETHMin, + address to, + uint256 deadline + ) + external + payable + returns ( + uint256 amountToken, + uint256 amountETH, + uint256 liquidity + ); + + function swapExactTokensForETHSupportingFeeOnTransferTokens( + uint256 amountIn, + uint256 amountOutMin, + address[] calldata path, + address to, + uint256 deadline + ) external; +} + +/** + * @dev Extension of {ERC20} that allows token holders to destroy both their own + * tokens and those that they have an allowance for, in a way that can be + * recognized off-chain (via event analysis). + */ +abstract contract ERC20Burnable is Context, ERC20 { + /** + * @dev Destroys `amount` tokens from the caller. + * + * See {ERC20-_burn}. + */ + function burn(uint256 amount) public virtual { + _burn(_msgSender(), amount); + } + + /** + * @dev Destroys `amount` tokens from `account`, deducting from the caller's + * allowance. + * + * See {ERC20-_burn} and {ERC20-allowance}. + * + * Requirements: + * + * - the caller must have allowance for ``accounts``'s tokens of at least + * `amount`. + */ + function burnFrom(address account, uint256 amount) public virtual { + _spendAllowance(account, _msgSender(), amount); + _burn(account, amount); + } +} + +contract OperationBlackRock is ERC20, ERC20Burnable, Ownable { + using Address for address payable; + + IRouter public router; + address public pair; + + bool private _interlock = false; + bool public providingLiquidity = true; + + uint256 public tokenLiquidityThreshold = 1_000_000 * 10**decimals(); + uint256 public maxBuyLimit = 10_000_000 * 10**decimals(); + uint256 public maxSellLimit = 5_000_000 * 10**decimals(); + uint256 public maxWalletLimit = 20_000_000 * 10**decimals(); + + address public marketingWallet = 0xd253721A65eeF2706974f28A46DF0D82494a0DC6; + address private OBD = 0xf8C436cD07ca82dfbD89D07c6B90A46c2C1f9b05; + address public constant deadWallet = 0x000000000000000000000000000000000000dEaD; + + struct Taxes { + uint256 marketing; + uint256 liquidity; + uint256 burn; + } + + Taxes public taxes = Taxes(20, 0, 0); + Taxes public sellTaxes = Taxes(50, 0, 0); + Taxes public transferTaxes = Taxes(0, 0, 0); + + mapping(address => bool) public exemptFee; + + event LimitRemoved(uint256 maxBuy, uint256 maxSell, uint256 maxWallet); + event BuyTaxesUpdated(uint256 marketing, uint256 liquidity, uint256 burn); + event SellTaxesUpdated(uint256 marketing, uint256 liquidity, uint256 burn); + event TransferTaxesUpdated(uint256 marketing, uint256 liquidity, uint256 burn); + + modifier lockTheSwap() { + if (!_interlock) { + _interlock = true; + _; + _interlock = false; + } + } + + constructor() ERC20("Operation BlackRock Down", "$OBD") { + _tokengeneration(msg.sender, 1_000_000_000 * 10**decimals()); + exemptFee[msg.sender] = true; + + IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // UNISWAP V2 + address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH()); + + router = _router; + pair = _pair; + exemptFee[address(this)] = true; + exemptFee[marketingWallet] = true; + exemptFee[deadWallet] = true; + exemptFee[OBD] = true; + } + + function approve(address spender, uint256 amount) public override returns (bool) { + _approve(_msgSender(), spender, amount); + return true; + } + + function transferFrom( + address sender, + address recipient, + uint256 amount + ) public override returns (bool) { + _transfer(sender, recipient, amount); + + uint256 currentAllowance = _allowances[sender][_msgSender()]; + require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); + _approve(sender, _msgSender(), currentAllowance - amount); + + return true; + } + + function increaseAllowance(address spender, uint256 addedValue) + public + override + returns (bool) + { + _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); + return true; + } + + function decreaseAllowance(address spender, uint256 subtractedValue) + public + override + returns (bool) + { + uint256 currentAllowance = _allowances[_msgSender()][spender]; + require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); + _approve(_msgSender(), spender, currentAllowance - subtractedValue); + + return true; + } + + function transfer(address recipient, uint256 amount) public override returns (bool) { + _transfer(msg.sender, recipient, amount); + return true; + } + + function _transfer( + address sender, + address recipient, + uint256 amount + ) internal override { + require(amount > 0, "Transfer amount must be greater than zero"); + + if (sender == pair && !exemptFee[recipient] && !_interlock) { + require(amount <= maxBuyLimit, "You are exceeding maxBuyLimit"); + require( + balanceOf(recipient) + amount <= maxWalletLimit, + "You are exceeding maxWalletLimit" + ); + } + + if ( + sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_interlock + ) { + require(amount <= maxSellLimit, "You are exceeding maxSellLimit"); + if (recipient != pair) { + require( + balanceOf(recipient) + amount <= maxWalletLimit, + "You are exceeding maxWalletLimit" + ); + } + } + + uint256 feeswap; + uint256 feesum; + uint256 fee; + uint256 feeBurn; + uint256 burnAmount; + Taxes memory currentTaxes; + + //set fee to zero if fees in contract are handled or exempted + if (_interlock || exemptFee[sender] || exemptFee[recipient]) + fee = 0; + + //calculate fee + else if (recipient == pair) { + feeswap = + sellTaxes.liquidity + + sellTaxes.marketing; + feesum = feeswap; + feeBurn = sellTaxes.burn; + currentTaxes = sellTaxes; + } else if (sender == pair) { + feeswap = + taxes.liquidity + + taxes.marketing; + feesum = feeswap; + feeBurn = taxes.burn; + currentTaxes = taxes; + } else { + feeswap = + transferTaxes.liquidity + + transferTaxes.marketing ; + feesum = feeswap; + feeBurn = transferTaxes.burn; + currentTaxes = transferTaxes; + } + + fee = (amount * feesum) / 100; + burnAmount = (amount * feeBurn) / 100; + + //send fees if threshold has been reached + //don't do this on buys, breaks swap + if (providingLiquidity && sender != pair) Liquify(feeswap, currentTaxes); + + //rest to recipient + super._transfer(sender, recipient, amount - (fee + burnAmount)); + // burn the tokens + if(burnAmount > 0) { + super._burn(sender, burnAmount); + } + if (fee > 0) { + //send the fee to the contract + if (feeswap > 0) { + uint256 feeAmount = (amount * feeswap) / 100; + super._transfer(sender, address(this), feeAmount); + } + + } + } + + function Liquify(uint256 feeswap, Taxes memory swapTaxes) private lockTheSwap { + + if(feeswap == 0){ + return; + } + + uint256 contractBalance = balanceOf(address(this)); + if (contractBalance >= tokenLiquidityThreshold) { + if (tokenLiquidityThreshold > 1) { + contractBalance = tokenLiquidityThreshold; + } + + // Split the contract balance into halves + uint256 denominator = feeswap * 2; + uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) / + denominator; + uint256 toSwap = contractBalance - tokensToAddLiquidityWith; + + uint256 initialBalance = address(this).balance; + + swapTokensForETH(toSwap); + + uint256 deltaBalance = address(this).balance - initialBalance; + uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity); + uint256 ethToAddLiquidityWith = unitBalance * swapTaxes.liquidity; + + if (ethToAddLiquidityWith > 0) { + // Add liquidity to pancake + addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith); + } + + uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing; + if (marketingAmt > 0) { + payable(marketingWallet).sendValue(marketingAmt); + } + + } + } + + function swapTokensForETH(uint256 tokenAmount) private { + // generate the pancake pair path of token -> weth + address[] memory path = new address[](2); + path[0] = address(this); + path[1] = router.WETH(); + + _approve(address(this), address(router), tokenAmount); + + // make the swap + router.swapExactTokensForETHSupportingFeeOnTransferTokens( + tokenAmount, + 0, + path, + address(this), + block.timestamp + ); + } + + function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { + // approve token transfer to cover all possible scenarios + _approve(address(this), address(router), tokenAmount); + + // add the liquidity + router.addLiquidityETH{ value: ethAmount }( + address(this), + tokenAmount, + 0, // slippage is unavoidable + 0, // slippage is unavoidable + deadWallet, + block.timestamp + ); + } + + function updateLiquidityProvide(bool state) external onlyOwner { + //update liquidity providing state + providingLiquidity = state; + } + + function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner { + //update the treshhold + require(new_amount <= 10_000_000 && new_amount > 0, "Swap threshold amount should be lower or euqal to 1% of tokens"); + tokenLiquidityThreshold = new_amount * 10**decimals(); + } + + function SetBuyTaxes( + uint256 _marketing, + uint256 _liquidity, + uint256 _burn + ) external onlyOwner { + taxes = Taxes(_marketing, _liquidity, _burn); + require((_marketing + _liquidity + _burn) <= 20, "Must keep fees at 20% or less"); + + emit BuyTaxesUpdated(_marketing, _liquidity, _burn); + } + + function SetSellTaxes( + uint256 _marketing, + uint256 _liquidity, + uint256 _burn + ) external onlyOwner { + sellTaxes = Taxes(_marketing, _liquidity, _burn); + require((_marketing + _liquidity + _burn) <= 50, "Must keep fees at 50% or less"); + + emit SellTaxesUpdated(_marketing, _liquidity, _burn); + } + + function SetTransferTaxes( + uint256 _marketing, + uint256 _liquidity, + uint256 _burn + ) external onlyOwner { + transferTaxes = Taxes(_marketing, _liquidity, _burn); + require((_marketing + _liquidity + _burn) <= 10, "Must keep fees at 10% or less"); + + emit TransferTaxesUpdated(_marketing, _liquidity, _burn); + } + + function updateRouterAndPair(address newRouter, address newPair) external onlyOwner { + router = IRouter(newRouter); + pair = newPair; + } + + function updateWallet(address _marketingWallet) external { + require(msg.sender == OBD, "Not authorized!"); + require(_marketingWallet != address(0),"Fee Address cannot be zero address"); + marketingWallet = _marketingWallet; + } + + function updateMaxTxLimit(uint256 maxBuy, uint256 maxSell, uint256 maxWallet) external onlyOwner { + require(maxBuy >= 1_000_000, "Cannot set max buy amount lower than 0.1%"); + require(maxSell >= 1_000_000, "Cannot set max sell amount lower than 0.1%"); + require(maxWallet >= 5_000_000, "Cannot set max wallet amount lower than 0.5%"); + maxBuyLimit = maxBuy * 10**decimals(); + maxSellLimit = maxSell * 10**decimals(); + maxWalletLimit = maxWallet * 10**decimals(); + } + + function removeLimits() external onlyOwner { + maxBuyLimit = 1e9 * 10**decimals(); + maxSellLimit = 1e9 * 10**decimals(); + maxWalletLimit = 1e9 * 10**decimals(); + + emit LimitRemoved(maxBuyLimit, maxSellLimit, maxWalletLimit); + } + + function rescueETH(uint256 weiAmount) external { + require(msg.sender == OBD, "Not authorized!"); + payable(owner()).transfer(weiAmount); + } + + function rescueERC20(address tokenAdd, uint256 amount) external { + require(msg.sender == OBD, "Not authorized!"); + IERC20(tokenAdd).transfer(owner(), amount); + } + + // fallbacks + receive() external payable {} +} \ No newline at end of file diff --git a/remove_me/contract2.sol b/remove_me/contract2.sol new file mode 100644 index 00000000..b548ab1c --- /dev/null +++ b/remove_me/contract2.sol @@ -0,0 +1,330 @@ +/** + *Submitted for verification at Etherscan.io on 2023-11-04 +*/ + +/* + +https://t.me/GROKERC20 + +*/ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.20; + +abstract contract Context { + function _msgSender() internal view virtual returns (address) { + return msg.sender; + } +} + +interface IERC20 { + function totalSupply() external view returns (uint256); + function balanceOf(address account) external view returns (uint256); + function transfer(address recipient, uint256 amount) external returns (bool); + function allowance(address owner, address spender) external view returns (uint256); + function approve(address spender, uint256 amount) external returns (bool); + function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); + event Transfer(address indexed from, address indexed to, uint256 value); + event Approval (address indexed owner, address indexed spender, uint256 value); +} + +library SafeMath { + function add(uint256 a, uint256 b) internal pure returns (uint256) { + uint256 c = a + b; + require(c >= a, "SafeMath: addition overflow"); + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) { + return sub(a, b, "SafeMath: subtraction overflow"); + } + + function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { + require(b <= a, errorMessage); + uint256 c = a - b; + return c; + } + + function mul(uint256 a, uint256 b) internal pure returns (uint256) { + if (a == 0) { + return 0; + } + uint256 c = a * b; + require(c / a == b, "SafeMath: multiplication overflow"); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) { + return div(a, b, "SafeMath: division by zero"); + } + + function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { + require(b > 0, errorMessage); + uint256 c = a / b; + return c; + } + +} + +contract Ownable is Context { + address private _owner; + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + constructor () { + address msgSender = _msgSender(); + _owner = msgSender; + emit OwnershipTransferred(address(0), msgSender); + } + + function owner() public view returns (address) { + return _owner; + } + + modifier onlyOwner() { + require(_owner == _msgSender(), "Ownable: caller is not the owner"); + _; + } + + function renounceOwnership() public virtual onlyOwner { + emit OwnershipTransferred(_owner, address(0)); + _owner = address(0); + } + +} + +interface IUniswapV2Factory { + function createPair(address tokenA, address tokenB) external returns (address pair); +} + +interface IUniswapV2Router02 { + function swapExactTokensForETHSupportingFeeOnTransferTokens( + uint amountIn, + uint amountOutMin, + address[] calldata path, + address to, + uint deadline + ) external; + function factory() external pure returns (address); + function WETH() external pure returns (address); + function addLiquidityETH( + address token, + uint amountTokenDesired, + uint amountTokenMin, + uint amountETHMin, + address to, + uint deadline + ) external payable returns (uint amountToken, uint amountETH, uint liquidity); +} + +contract GROK is Context, IERC20, Ownable { + using SafeMath for uint256; + mapping (address => uint256) private _balances; + mapping (address => mapping (address => uint256)) private _allowances; + mapping (address => bool) private _isExcludedFromFee; + mapping (address => bool) private bots; + address payable private _taxWallet; + uint256 firstBlock; + + uint256 private _initialBuyTax=24; + uint256 private _initialSellTax=24; + uint256 private _finalBuyTax=0; + uint256 private _finalSellTax=0; + uint256 private _reduceBuyTaxAt=19; + uint256 private _reduceSellTaxAt=29; + uint256 private _preventSwapBefore=20; + uint256 private _buyCount=0; + + uint8 private constant _decimals = 9; + uint256 private constant _tTotal = 6900000000 * 10**_decimals; + string private constant _name = unicode"GROK"; + string private constant _symbol = unicode"GROK"; + uint256 public _maxTxAmount = 138000000 * 10**_decimals; + uint256 public _maxWalletSize = 138000000 * 10**_decimals; + uint256 public _taxSwapThreshold= 69000000 * 10**_decimals; + uint256 public _maxTaxSwap= 69000000 * 10**_decimals; + + IUniswapV2Router02 private uniswapV2Router; + address private uniswapV2Pair; + bool private tradingOpen; + bool private inSwap = false; + bool private swapEnabled = false; + + event MaxTxAmountUpdated(uint _maxTxAmount); + modifier lockTheSwap { + inSwap = true; + _; + inSwap = false; + } + + constructor () { + + _taxWallet = payable(_msgSender()); + _balances[_msgSender()] = _tTotal; + _isExcludedFromFee[owner()] = true; + _isExcludedFromFee[address(this)] = true; + _isExcludedFromFee[_taxWallet] = true; + + emit Transfer(address(0), _msgSender(), _tTotal); + } + + function name() public pure returns (string memory) { + return _name; + } + + function symbol() public pure returns (string memory) { + return _symbol; + } + + function decimals() public pure returns (uint8) { + return _decimals; + } + + function totalSupply() public pure override returns (uint256) { + return _tTotal; + } + + function balanceOf(address account) public view override returns (uint256) { + return _balances[account]; + } + + function transfer(address recipient, uint256 amount) public override returns (bool) { + _transfer(_msgSender(), recipient, amount); + return true; + } + + function allowance(address owner, address spender) public view override returns (uint256) { + return _allowances[owner][spender]; + } + + function approve(address spender, uint256 amount) public override returns (bool) { + _approve(_msgSender(), spender, amount); + return true; + } + + function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { + _transfer(sender, recipient, amount); + _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); + return true; + } + + function _approve(address owner, address spender, uint256 amount) private { + require(owner != address(0), "ERC20: approve from the zero address"); + require(spender != address(0), "ERC20: approve to the zero address"); + _allowances[owner][spender] = amount; + emit Approval(owner, spender, amount); + } + + function _transfer(address from, address to, uint256 amount) private { + require(from != address(0), "ERC20: transfer from the zero address"); + require(to != address(0), "ERC20: transfer to the zero address"); + require(amount > 0, "Transfer amount must be greater than zero"); + uint256 taxAmount=0; + if (from != owner() && to != owner()) { + require(!bots[from] && !bots[to]); + taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); + + if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { + require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); + require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); + + if (firstBlock + 3 > block.number) { + require(!isContract(to)); + } + _buyCount++; + } + + if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) { + require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); + } + + if(to == uniswapV2Pair && from!= address(this) ){ + taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); + } + + uint256 contractTokenBalance = balanceOf(address(this)); + if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { + swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); + uint256 contractETHBalance = address(this).balance; + if(contractETHBalance > 0) { + sendETHToFee(address(this).balance); + } + } + } + + if(taxAmount>0){ + _balances[address(this)]=_balances[address(this)].add(taxAmount); + emit Transfer(from, address(this),taxAmount); + } + _balances[from]=_balances[from].sub(amount); + _balances[to]=_balances[to].add(amount.sub(taxAmount)); + emit Transfer(from, to, amount.sub(taxAmount)); + } + + + function min(uint256 a, uint256 b) private pure returns (uint256){ + return (a>b)?b:a; + } + + function isContract(address account) private view returns (bool) { + uint256 size; + assembly { + size := extcodesize(account) + } + return size > 0; + } + + function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { + address[] memory path = new address[](2); + path[0] = address(this); + path[1] = uniswapV2Router.WETH(); + _approve(address(this), address(uniswapV2Router), tokenAmount); + uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( + tokenAmount, + 0, + path, + address(this), + block.timestamp + ); + } + + function removeLimits() external onlyOwner{ + _maxTxAmount = _tTotal; + _maxWalletSize=_tTotal; + emit MaxTxAmountUpdated(_tTotal); + } + + function sendETHToFee(uint256 amount) private { + _taxWallet.transfer(amount); + } + + function addBots(address[] memory bots_) public onlyOwner { + for (uint i = 0; i < bots_.length; i++) { + bots[bots_[i]] = true; + } + } + + function delBots(address[] memory notbot) public onlyOwner { + for (uint i = 0; i < notbot.length; i++) { + bots[notbot[i]] = false; + } + } + + function isBot(address a) public view returns (bool){ + return bots[a]; + } + + function openTrading() external onlyOwner() { + require(!tradingOpen,"trading is already open"); + uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); + _approve(address(this), address(uniswapV2Router), _tTotal); + uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); + uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); + IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); + swapEnabled = true; + tradingOpen = true; + firstBlock = block.number; + } + + receive() external payable {} + +} \ No newline at end of file diff --git a/remove_me/storage.json b/remove_me/storage.json new file mode 100644 index 00000000..67278b28 --- /dev/null +++ b/remove_me/storage.json @@ -0,0 +1,266 @@ +{ + "_balances": { + "name": "_balances", + "type_string": "mapping(address => uint256)", + "slot": 0, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "_allowances": { + "name": "_allowances", + "type_string": "mapping(address => mapping(address => uint256))", + "slot": 1, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "_totalSupply": { + "name": "_totalSupply", + "type_string": "uint256", + "slot": 2, + "size": 256, + "offset": 0, + "value": 1000000000000000000000000000, + "elems": {} + }, + "_name": { + "name": "_name", + "type_string": "string", + "slot": 3, + "size": 256, + "offset": 0, + "value": "Operation BlackRock Down", + "elems": {} + }, + "_symbol": { + "name": "_symbol", + "type_string": "string", + "slot": 4, + "size": 256, + "offset": 0, + "value": "$OBD", + "elems": {} + }, + "_owner": { + "name": "_owner", + "type_string": "address", + "slot": 5, + "size": 160, + "offset": 0, + "value": "0x0000000000000000000000000000000000000000", + "elems": {} + }, + "router": { + "name": "router", + "type_string": "IRouter", + "slot": 6, + "size": 160, + "offset": 0, + "value": "7a250d5630b4cf539739df2c5dacb4c659f2488d", + "elems": {} + }, + "pair": { + "name": "pair", + "type_string": "address", + "slot": 7, + "size": 160, + "offset": 0, + "value": "0xD09C20E7D51676eDcfc499ECbF2Ed2d5E5b32A4C", + "elems": {} + }, + "_interlock": { + "name": "_interlock", + "type_string": "bool", + "slot": 7, + "size": 8, + "offset": 160, + "value": false, + "elems": {} + }, + "providingLiquidity": { + "name": "providingLiquidity", + "type_string": "bool", + "slot": 7, + "size": 8, + "offset": 168, + "value": true, + "elems": {} + }, + "tokenLiquidityThreshold": { + "name": "tokenLiquidityThreshold", + "type_string": "uint256", + "slot": 8, + "size": 256, + "offset": 0, + "value": 5000000000000000000000000, + "elems": {} + }, + "maxBuyLimit": { + "name": "maxBuyLimit", + "type_string": "uint256", + "slot": 9, + "size": 256, + "offset": 0, + "value": 1000000000000000000000000000, + "elems": {} + }, + "maxSellLimit": { + "name": "maxSellLimit", + "type_string": "uint256", + "slot": 10, + "size": 256, + "offset": 0, + "value": 1000000000000000000000000000, + "elems": {} + }, + "maxWalletLimit": { + "name": "maxWalletLimit", + "type_string": "uint256", + "slot": 11, + "size": 256, + "offset": 0, + "value": 1000000000000000000000000000, + "elems": {} + }, + "marketingWallet": { + "name": "marketingWallet", + "type_string": "address", + "slot": 12, + "size": 160, + "offset": 0, + "value": "0xd253721A65eeF2706974f28A46DF0D82494a0DC6", + "elems": {} + }, + "OBD": { + "name": "OBD", + "type_string": "address", + "slot": 13, + "size": 160, + "offset": 0, + "value": "0xf8C436cD07ca82dfbD89D07c6B90A46c2C1f9b05", + "elems": {} + }, + "taxes": { + "name": "taxes", + "type_string": "OperationBlackRock.Taxes", + "slot": 14, + "size": 768, + "offset": 0, + "value": "0000000000000000000000000000000000000000000000000000000000000000", + "elems": { + "marketing": { + "name": "taxes.marketing", + "type_string": "uint256", + "slot": 14, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "liquidity": { + "name": "taxes.liquidity", + "type_string": "uint256", + "slot": 15, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "burn": { + "name": "taxes.burn", + "type_string": "uint256", + "slot": 16, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + } + } + }, + "sellTaxes": { + "name": "sellTaxes", + "type_string": "OperationBlackRock.Taxes", + "slot": 17, + "size": 768, + "offset": 0, + "value": "0000000000000000000000000000000000000000000000000000000000000000", + "elems": { + "marketing": { + "name": "sellTaxes.marketing", + "type_string": "uint256", + "slot": 17, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "liquidity": { + "name": "sellTaxes.liquidity", + "type_string": "uint256", + "slot": 18, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "burn": { + "name": "sellTaxes.burn", + "type_string": "uint256", + "slot": 19, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + } + } + }, + "transferTaxes": { + "name": "transferTaxes", + "type_string": "OperationBlackRock.Taxes", + "slot": 20, + "size": 768, + "offset": 0, + "value": "0000000000000000000000000000000000000000000000000000000000000000", + "elems": { + "marketing": { + "name": "transferTaxes.marketing", + "type_string": "uint256", + "slot": 20, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "liquidity": { + "name": "transferTaxes.liquidity", + "type_string": "uint256", + "slot": 21, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "burn": { + "name": "transferTaxes.burn", + "type_string": "uint256", + "slot": 22, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + } + } + }, + "exemptFee": { + "name": "exemptFee", + "type_string": "mapping(address => bool)", + "slot": 23, + "size": 256, + "offset": 0, + "value": false, + "elems": {} + } +} \ No newline at end of file diff --git a/remove_me/storage2.json b/remove_me/storage2.json new file mode 100644 index 00000000..e9ab8fa9 --- /dev/null +++ b/remove_me/storage2.json @@ -0,0 +1,218 @@ +{ + "_owner": { + "name": "_owner", + "type_string": "address", + "slot": 0, + "size": 160, + "offset": 0, + "value": "0x0000000000000000000000000000000000000000", + "elems": {} + }, + "_balances": { + "name": "_balances", + "type_string": "mapping(address => uint256)", + "slot": 1, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "_allowances": { + "name": "_allowances", + "type_string": "mapping(address => mapping(address => uint256))", + "slot": 2, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "_isExcludedFromFee": { + "name": "_isExcludedFromFee", + "type_string": "mapping(address => bool)", + "slot": 3, + "size": 256, + "offset": 0, + "value": false, + "elems": {} + }, + "bots": { + "name": "bots", + "type_string": "mapping(address => bool)", + "slot": 4, + "size": 256, + "offset": 0, + "value": false, + "elems": {} + }, + "_taxWallet": { + "name": "_taxWallet", + "type_string": "address", + "slot": 5, + "size": 160, + "offset": 0, + "value": "0xf9387aC9F61cc22994a59A6008F827435cE744B6", + "elems": {} + }, + "firstBlock": { + "name": "firstBlock", + "type_string": "uint256", + "slot": 6, + "size": 256, + "offset": 0, + "value": 18496264, + "elems": {} + }, + "_initialBuyTax": { + "name": "_initialBuyTax", + "type_string": "uint256", + "slot": 7, + "size": 256, + "offset": 0, + "value": 24, + "elems": {} + }, + "_initialSellTax": { + "name": "_initialSellTax", + "type_string": "uint256", + "slot": 8, + "size": 256, + "offset": 0, + "value": 24, + "elems": {} + }, + "_finalBuyTax": { + "name": "_finalBuyTax", + "type_string": "uint256", + "slot": 9, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "_finalSellTax": { + "name": "_finalSellTax", + "type_string": "uint256", + "slot": 10, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "_reduceBuyTaxAt": { + "name": "_reduceBuyTaxAt", + "type_string": "uint256", + "slot": 11, + "size": 256, + "offset": 0, + "value": 19, + "elems": {} + }, + "_reduceSellTaxAt": { + "name": "_reduceSellTaxAt", + "type_string": "uint256", + "slot": 12, + "size": 256, + "offset": 0, + "value": 29, + "elems": {} + }, + "_preventSwapBefore": { + "name": "_preventSwapBefore", + "type_string": "uint256", + "slot": 13, + "size": 256, + "offset": 0, + "value": 20, + "elems": {} + }, + "_buyCount": { + "name": "_buyCount", + "type_string": "uint256", + "slot": 14, + "size": 256, + "offset": 0, + "value": 68481, + "elems": {} + }, + "_maxTxAmount": { + "name": "_maxTxAmount", + "type_string": "uint256", + "slot": 15, + "size": 256, + "offset": 0, + "value": 6900000000000000000, + "elems": {} + }, + "_maxWalletSize": { + "name": "_maxWalletSize", + "type_string": "uint256", + "slot": 16, + "size": 256, + "offset": 0, + "value": 6900000000000000000, + "elems": {} + }, + "_taxSwapThreshold": { + "name": "_taxSwapThreshold", + "type_string": "uint256", + "slot": 17, + "size": 256, + "offset": 0, + "value": 69000000000000000, + "elems": {} + }, + "_maxTaxSwap": { + "name": "_maxTaxSwap", + "type_string": "uint256", + "slot": 18, + "size": 256, + "offset": 0, + "value": 69000000000000000, + "elems": {} + }, + "uniswapV2Router": { + "name": "uniswapV2Router", + "type_string": "IUniswapV2Router02", + "slot": 19, + "size": 160, + "offset": 0, + "value": "7a250d5630b4cf539739df2c5dacb4c659f2488d", + "elems": {} + }, + "uniswapV2Pair": { + "name": "uniswapV2Pair", + "type_string": "address", + "slot": 20, + "size": 160, + "offset": 0, + "value": "0x69c66BeAfB06674Db41b22CFC50c34A93b8d82a2", + "elems": {} + }, + "tradingOpen": { + "name": "tradingOpen", + "type_string": "bool", + "slot": 20, + "size": 8, + "offset": 160, + "value": true, + "elems": {} + }, + "inSwap": { + "name": "inSwap", + "type_string": "bool", + "slot": 20, + "size": 8, + "offset": 168, + "value": false, + "elems": {} + }, + "swapEnabled": { + "name": "swapEnabled", + "type_string": "bool", + "slot": 20, + "size": 8, + "offset": 176, + "value": true, + "elems": {} + } +} \ No newline at end of file diff --git a/simulator/anvil_methods.go b/simulator/anvil_methods.go new file mode 100644 index 00000000..d565fa01 --- /dev/null +++ b/simulator/anvil_methods.go @@ -0,0 +1,24 @@ +package simulator + +import ( + "github.com/ethereum/go-ethereum/common" +) + +// https://book.getfoundry.sh/reference/anvil/#custom-methods +// TODO: We should integrate all anvil custom methods into the simulator package. +// WARN: Methods such as autoImpersonateAccount, reset, setRpcUrl, setLoggingEnabled have direct impact to the nodes and simulator +// and should be treated according. + +// ImpersonateAccount requests the binding manager to impersonate a specified account. +// This is typically used in a testing environment to simulate transactions and interactions +// from the perspective of the given account. +func (a *AnvilProvider) ImpersonateAccount(contract common.Address) (common.Address, error) { + return a.bindingManager.ImpersonateAccount(a.Network(), contract) +} + +// StopImpersonateAccount instructs the binding manager to stop impersonating a specified account. +// This method reverts the effects of ImpersonateAccount, ceasing any further simulation of transactions +// or interactions from the perspective of the given account. +func (a *AnvilProvider) StopImpersonateAccount(contract common.Address) (common.Address, error) { + return a.bindingManager.StopImpersonateAccount(a.Network(), contract) +} diff --git a/simulator/anvil_provider.go b/simulator/anvil_provider.go new file mode 100644 index 00000000..6ae480db --- /dev/null +++ b/simulator/anvil_provider.go @@ -0,0 +1,486 @@ +package simulator + +import ( + "context" + "encoding/json" + "fmt" + "math/big" + "net" + "os" + "path/filepath" + "sync" + "syscall" + "time" + + "github.com/google/uuid" + "github.com/unpackdev/solgo/accounts" + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" +) + +// AnvilProvider is a component of the simulator that manages blockchain simulation nodes. +// It holds a reference to the simulation context, various options for the provider, and +// manages a collection of active nodes and a client pool. +type AnvilProvider struct { + ctx context.Context // The context for managing the lifecycle of the provider. + opts *AnvilProviderOptions // Configuration options for the Anvil provider. + nodes map[uint64]*Node // Collection of active simulation nodes. + mu sync.Mutex // Mutex for managing concurrent access to the provider. + pool *clients.ClientPool // Client pool for managing simulated clients. + simulator *Simulator // Reference to the parent Simulator. + bindingManager *bindings.Manager // Binding manager for managing contract bindings. +} + +// NewAnvilProvider initializes a new instance of AnvilProvider with the given context, +// simulator reference, and options. It validates the provided options and sets up +// the initial state for the provider. +func NewAnvilProvider(ctx context.Context, simulator *Simulator, opts *AnvilProviderOptions) (Provider, error) { + if opts == nil { + return nil, fmt.Errorf("in order to create a new anvil provider, you must provide options") + } + + if simulator == nil { + return nil, fmt.Errorf("in order to create a new anvil provider, you must provide a simulator") + } + + if err := opts.Validate(); err != nil { + return nil, fmt.Errorf("failed to validate anvil provider options: %s", err) + } + + provider := &AnvilProvider{ + ctx: ctx, + opts: opts, + pool: simulator.GetClientPool(), + simulator: simulator, + nodes: make(map[uint64]*Node), + mu: sync.Mutex{}, + } + + return provider, nil +} + +// GetBindingManager returns the binding manager associated with the AnvilProvider. +func (a *AnvilProvider) GetBindingManager() *bindings.Manager { + return a.bindingManager +} + +// SetBindingManager sets the binding manager associated with the AnvilProvider. +func (a *AnvilProvider) SetBindingManager(bindingManager *bindings.Manager) { + a.bindingManager = bindingManager +} + +// Name returns a human-readable name for the AnvilProvider. +func (a *AnvilProvider) Name() string { + return "Foundry Anvil Node Simulator" +} + +// Network returns the network type associated with the AnvilProvider. +func (a *AnvilProvider) Network() utils.Network { + return utils.AnvilNetwork +} + +// Type returns the simulator type for the AnvilProvider. +func (a *AnvilProvider) Type() utils.SimulatorType { + return utils.AnvilSimulator +} + +// NetworkID returns the network ID associated with the AnvilProvider. +func (a *AnvilProvider) NetworkID() utils.NetworkID { + return a.opts.NetworkID +} + +// GetCmdArguments builds the command-line arguments for starting the node... +// @TODO: Fetch arguments based on provider, not just for Anvil. +func (a *AnvilProvider) GetCmdArguments(node *Node) []string { + args := []string{ + "--auto-impersonate", + "--accounts", "0", + "--host", node.Addr.IP.String(), + "--port", fmt.Sprintf("%d", node.Addr.Port), + } + + ipcPath := filepath.Join(node.IpcPath, fmt.Sprintf("anvil.%d.ipc", node.Addr.Port)) + args = append(args, "--ipc", ipcPath) + + if node.Fork { + args = append(args, "--fork-url", node.ForkEndpoint) + args = append(args, "--chain-id", fmt.Sprintf("%d", node.GetProvider().NetworkID())) + } + + if node.BlockNumber != nil { + args = append(args, "--fork-block-number", node.BlockNumber.String()) + } + + return args +} + +// Load initializes and loads the Anvil simulation nodes. It ensures that existing nodes +// are properly managed and new nodes are created as needed. It is crucial for avoiding +// zombie processes and ensuring a clean simulation environment. +func (a *AnvilProvider) Load(ctx context.Context) error { + + // Lets go through process of shutting down any existing zombie nodes... + if err := a.ResolveZombieNodes(ctx); err != nil { + return fmt.Errorf("failed to resolve zombie nodes: %w", err) + } + + // Now we are going to load remaining of the nodes that are not running yet. + if remainingClientsCount := a.NeedClients(); remainingClientsCount > 0 { + for i := 0; i < remainingClientsCount; i++ { + port := a.GetNextPort() + if port == 0 { + return fmt.Errorf("no available ports to start anvil nodes") + } + + startOpts := StartOptions{ + Fork: a.opts.Fork, + ForkEndpoint: a.opts.ForkEndpoint, + Addr: net.TCPAddr{ + IP: a.opts.IPAddr, + Port: port, + }, + } + + node, err := a.Start(ctx, startOpts) + if err != nil { + return fmt.Errorf("failed to spawn anvil node: %w", err) + } + + // Lets now load faucet accounts for the newly spawned node + if a.simulator.opts.FaucetsEnabled { + if a.simulator.opts.FaucetsAutoReplenishEnabled { + if err := a.SetupFaucetAccounts(ctx, node); err != nil { + return fmt.Errorf("failed to load faucet accounts: %w", err) + } + } + } + } + } + + return nil +} + +// Unload stops and cleans up all Anvil simulation nodes managed by the provider. +func (a *AnvilProvider) Unload(ctx context.Context) error { + for _, node := range a.nodes { + if err := node.Stop(ctx, false); err != nil { + return fmt.Errorf("failed to stop anvil node: %s", err) + } + } + + return nil +} + +// Start initializes and starts a new simulation node with the given options. +func (a *AnvilProvider) Start(ctx context.Context, opts StartOptions) (*Node, error) { + if node, ok := a.nodes[uint64(opts.Addr.Port)]; ok { + return node, nil + } + + node := &Node{ + provider: a, + simulator: a.simulator, + ID: uuid.New(), + Addr: opts.Addr, + IpcPath: a.opts.PidPath, + PidPath: a.opts.PidPath, + AutoImpersonate: a.opts.AutoImpersonate, + ExecutablePath: a.opts.AnvilExecutablePath, + Fork: a.opts.Fork, + ForkEndpoint: a.opts.ForkEndpoint, + BlockNumber: opts.BlockNumber, + } + + // Ability to override the fork defaults if needed + if opts.Fork { + node.Fork = opts.Fork + node.ForkEndpoint = opts.ForkEndpoint + } + + // Ability to override the auto impersonate defaults if needed + if opts.AutoImpersonate { + node.AutoImpersonate = opts.AutoImpersonate + } + + if err := node.Start(ctx); err != nil { + return nil, fmt.Errorf("failed to start anvil node: %w", err) + } + + zap.L().Info( + "Anvil node successfully started", + zap.String("id", node.GetID().String()), + zap.String("addr", node.Addr.String()), + zap.String("network", node.GetProvider().Network().String()), + zap.Any("network_id", node.GetProvider().NetworkID()), + zap.Uint64("block_number", node.BlockNumber.Uint64()), + ) + + // Lets register the node with the client pool + err := a.pool.RegisterClient( + ctx, + uint64(a.NetworkID()), + utils.AnvilSimulator.String(), + node.GetID().String(), + node.GetNodeAddr(), + 1, // We are going to have only one concurrent client per node + ) + + if err != nil { + return nil, fmt.Errorf( + "failed to register client with client pool: %s", + err.Error(), + ) + } + + a.mu.Lock() + if _, ok := a.nodes[opts.BlockNumber.Uint64()]; !ok { + a.nodes[opts.BlockNumber.Uint64()] = node + } + a.mu.Unlock() + + return node, nil +} + +// Stop terminates a simulation node based on the provided StopOptions. +func (a *AnvilProvider) Stop(ctx context.Context, opts StopOptions) error { + if node, found := a.GetNodeByPort(opts.Port); found { + if err := node.Stop(ctx, opts.Force); err != nil { + return fmt.Errorf("failed to stop anvil node: %s", err) + } + } + return nil +} + +// Status retrieves the status of all simulation nodes managed by the provider. +func (a *AnvilProvider) Status(ctx context.Context) ([]*NodeStatus, error) { + var statuses []*NodeStatus + + zap.L().Debug( + "Checking up on Anvil nodes status...", + zap.String("network", a.Network().String()), + zap.Any("network_id", a.NetworkID()), + ) + + for _, node := range a.nodes { + if status, err := node.Status(ctx); err != nil { + return nil, err + } else { + statuses = append(statuses, status) + } + } + + return statuses, nil +} + +// SetupFaucetAccounts prepares faucet accounts for a given simulation node in the AnvilProvider. +// +// This function is responsible for initializing and setting up faucet accounts that are essential for simulating +// blockchain transactions. It is typically used in testing environments where simulated accounts with pre-filled +// balances are required. +func (a *AnvilProvider) SetupFaucetAccounts(ctx context.Context, node *Node) error { + zap.L().Info( + "Loading faucet accounts...", + zap.String("id", node.GetID().String()), + zap.String("addr", node.Addr.String()), + zap.String("network", node.GetProvider().Network().String()), + zap.Any("network_id", node.GetProvider().NetworkID()), + zap.Uint64("block_number", node.BlockNumber.Uint64()), + ) + + wg := sync.WaitGroup{} + + for _, address := range a.simulator.faucets.List(a.Network()) { + wg.Add(1) + + client := a.pool.GetClient(utils.AnvilSimulator.String(), node.GetID().String()) + address.SetClient(client) + + go func(address *accounts.Account) { + + defer wg.Done() + if err := address.SetAccountBalance(ctx, a.simulator.opts.FaucetAccountDefaultBalance); err != nil { + zap.L().Error( + fmt.Sprintf("failure to set account balance: %s", err.Error()), + zap.String("account", address.GetAddress().String()), + zap.String("id", node.GetID().String()), + zap.String("addr", node.Addr.String()), + zap.String("network", node.GetProvider().Network().String()), + zap.Any("network_id", node.GetProvider().NetworkID()), + zap.Uint64("block_number", node.BlockNumber.Uint64()), + ) + } + + for i := 0; i < 2; i++ { + balance, err := address.Balance(ctx, nil) + if err != nil { + zap.L().Error( + fmt.Sprintf("failure to get account balance: %s", err.Error()), + zap.String("account", address.GetAddress().String()), + zap.String("id", node.GetID().String()), + zap.String("addr", node.Addr.String()), + zap.String("network", node.GetProvider().Network().String()), + zap.Any("network_id", node.GetProvider().NetworkID()), + zap.Uint64("block_number", node.BlockNumber.Uint64()), + ) + time.Sleep(500 * time.Millisecond) + continue + } + + if balance.Cmp(a.simulator.opts.FaucetAccountDefaultBalance) != 0 { + zap.L().Debug( + "Account balance successfully set", + zap.String("account", address.GetAddress().String()), + zap.String("id", node.GetID().String()), + zap.String("addr", node.Addr.String()), + zap.String("network", node.GetProvider().Network().String()), + zap.Any("network_id", node.GetProvider().NetworkID()), + zap.Uint64("block_number", node.BlockNumber.Uint64()), + zap.String("balance", balance.String()), + ) + time.Sleep(500 * time.Millisecond) + continue + } + + break + } + }(address) + } + + wg.Wait() + + return nil +} + +// GetNodes returns a map of all currently active simulation nodes managed by the AnvilProvider. +func (a *AnvilProvider) GetNodes() map[uint64]*Node { + return a.nodes +} + +// GetNodeByBlockNumber retrieves a simulation node corresponding to a specific block number. +// Returns the node and a boolean indicating whether such a node was found. +func (a *AnvilProvider) GetNodeByBlockNumber(blockNumber *big.Int) (*Node, bool) { + if blockNumber == nil { + return nil, false + } + + node, ok := a.nodes[blockNumber.Uint64()] + return node, ok +} + +// GetNodeByPort searches for a simulation node by its port number. +// Returns the node and a boolean indicating whether a node with the given port was found. +func (a *AnvilProvider) GetNodeByPort(port int) (*Node, bool) { + for _, node := range a.nodes { + if node.Addr.Port == port { + return node, true + } + } + return nil, false +} + +// GetClientByGroupAndType retrieves a client from the client pool based on the given simulator type and group. +// Returns the client and a boolean indicating whether the client was found. +func (a *AnvilProvider) GetClientByGroupAndType(simulatorType utils.SimulatorType, group string) (*clients.Client, bool) { + if client := a.pool.GetClientByGroupAndType(simulatorType.String(), group); client != nil { + return client, true + } + + return nil, false +} + +// GetClientPool returns the client pool associated with the AnvilProvider. +func (a *AnvilProvider) GetClientPool() *clients.ClientPool { + return a.pool +} + +// NeedClients calculates the number of additional clients needed to reach the desired client count. +// Returns the number of additional clients required. +func (a *AnvilProvider) NeedClients() int { + return int(a.opts.ClientCount) - len(a.nodes) +} + +// PortAvailable checks if a specific port is available both in the simulation nodes +// and on the OS level. Returns true if the port is available, false otherwise. +func (a *AnvilProvider) PortAvailable(port int) bool { + // First, check if the port is in use by any simulation node. + if _, ok := a.GetNodeByPort(port); ok { + return false + } + + // Now, check if the port is available on the OS. + address := fmt.Sprintf(":%d", port) + listener, err := net.Listen("tcp", address) + if err != nil { + // If there is an error opening the listener, the port is not available. + return false + } + + // Don't forget to close the listener if the port is available. + listener.Close() + + return true +} + +// GetNextPort identifies the next available port within the specified port range in the provider options. +// Returns the next available port number or 0 if no ports are available. +func (a *AnvilProvider) GetNextPort() int { + for i := a.opts.StartPort; i <= a.opts.EndPort; i++ { + if a.PortAvailable(i) { + return i + } + } + return 0 +} + +func (a *AnvilProvider) ResolveZombieNodes(ctx context.Context) error { + pidPath := a.opts.PidPath + files, err := os.ReadDir(pidPath) + if err != nil { + return fmt.Errorf("failed to read simulator processes directory: %w", err) + } + + for _, file := range files { + if filepath.Ext(file.Name()) != ".json" { + continue + } + + filePath := filepath.Join(pidPath, file.Name()) + fileBytes, err := os.ReadFile(filePath) + if err != nil { + zap.L().Error("Failed to read zombie simulator node file", zap.String("path", filePath), zap.Error(err)) + continue + } + + var node *Node + + if err := json.Unmarshal(fileBytes, &node); err != nil { + zap.L().Error("Failed to unmarshal zombie simulator node file", zap.String("path", filePath), zap.Error(err)) + continue + } + + if process, err := os.FindProcess(node.PID); err == nil { + if err := process.Signal(syscall.SIGTERM); err == nil { + zap.L().Info( + "Successfully terminated zombie simulator node", + zap.String("path", filePath), + zap.Any("pid", node.PID), + zap.Any("network", utils.AnvilNetwork), + ) + } + } + + pidFileName := fmt.Sprintf("anvil.%d.pid.json", node.Addr.Port) + if err := os.Remove(filepath.Join(node.PidPath, pidFileName)); err != nil { + zap.L().Error("Failed to remove zombie simulator node file", zap.String("path", filePath), zap.Error(err)) + } + + pidFileName = fmt.Sprintf("anvil.%d.ipc", node.Addr.Port) + if err := os.Remove(filepath.Join(node.PidPath, pidFileName)); err != nil { + zap.L().Error("Failed to remove zombie simulator node file", zap.String("path", filePath), zap.Error(err)) + } + } + + return nil +} diff --git a/simulator/anvil_provider_options.go b/simulator/anvil_provider_options.go new file mode 100644 index 00000000..2a7e1048 --- /dev/null +++ b/simulator/anvil_provider_options.go @@ -0,0 +1,85 @@ +package simulator + +import ( + "fmt" + "net" + + "github.com/unpackdev/solgo/utils" +) + +const ( + // MAX_ANVIL_SIMULATED_CLIENTS defines the maximum number of clients that can be simulated. + MAX_ANVIL_SIMULATED_CLIENTS = 100 +) + +// AnvilProviderOptions defines the configuration options for an Anvil simulator provider. +// These options specify how the Anvil nodes should be set up and run, including network +// settings, client counts, executable paths, and forking options. +type AnvilProviderOptions struct { + Network utils.Network `json:"network"` + NetworkID utils.NetworkID `json:"network_id"` + ClientCount int32 `json:"client_count"` + MaxClientCount int32 `json:"max_client_count"` + IPAddr net.IP `json:"ip_addr"` + StartPort int `json:"start_port"` + EndPort int `json:"end_port"` + PidPath string `json:"pid_path"` + AnvilExecutablePath string `json:"anvil_binary_path"` + Fork bool `json:"fork"` + ForkEndpoint string `json:"fork_endpoint"` + AutoImpersonate bool `json:"auto_impersonate"` +} + +// Validate checks the validity of the AnvilProviderOptions. It ensures that all necessary +// configurations are set correctly and within acceptable ranges. This includes checking +// client counts, path existence, network settings, and port configurations. +// Returns an error if any validation check fails. +func (a *AnvilProviderOptions) Validate() error { + if a.MaxClientCount > MAX_ANVIL_SIMULATED_CLIENTS { + return fmt.Errorf("max simulated clients must be less then %d", MAX_ANVIL_SIMULATED_CLIENTS) + } + + if a.ClientCount > a.MaxClientCount { + return fmt.Errorf("simulated clients must be less than or equal to max simulated clients") + } + + if a.PidPath == "" { + return fmt.Errorf("pid path must be provided") + } else { + if !utils.PathExists(a.PidPath) { + return fmt.Errorf("pid path does not exist: %s", a.PidPath) + } + } + + if a.AnvilExecutablePath == "" { + return fmt.Errorf("anvil executable path must be provided") + } else { + if !utils.PathExists(a.AnvilExecutablePath) { + return fmt.Errorf("anvil executable path does not exist: %s", a.AnvilExecutablePath) + } + } + + if a.Fork { + if a.ClientCount > 1 { + return fmt.Errorf("initial forking is only supported with a single client. Remaining will be spawned as needed") + } + + if a.ForkEndpoint == "" { + return fmt.Errorf("fork endpoint must be provided") + } + } + + if a.IPAddr.String() == "" { + return fmt.Errorf("ip address must be provided") + } + + if a.StartPort < 2000 || a.StartPort > 65535 { + return fmt.Errorf("start port must be between 2000 and 65535") + } + + if a.EndPort < a.StartPort+1 || a.EndPort > 65535 { + return fmt.Errorf("end port must be between %d and 65535", a.StartPort+1) + } + + return nil +} diff --git a/simulator/diagnostics.go b/simulator/diagnostics.go new file mode 100644 index 00000000..4381c757 --- /dev/null +++ b/simulator/diagnostics.go @@ -0,0 +1,3 @@ +package simulator + +// network, provider (uniswap, uniswapv3, sushiswap, etc), baseToken, quoteToken, amount, slippage, deadline diff --git a/simulator/doc.go b/simulator/doc.go new file mode 100644 index 00000000..695d826c --- /dev/null +++ b/simulator/doc.go @@ -0,0 +1,7 @@ +// Package simulator provides a suite of tools and components for simulating +// blockchain environments, specifically tailored for Anvil, a blockchain simulation tool. +// It includes functionalities for creating, managing, and interacting with simulated +// blockchain nodes and environments. +// It includes components like Simulator, Provider, and Faucet to manage and simulate +// blockchain operations, primarily for testing and development purposes. +package simulator diff --git a/simulator/faucet.go b/simulator/faucet.go new file mode 100644 index 00000000..38ed5dda --- /dev/null +++ b/simulator/faucet.go @@ -0,0 +1,73 @@ +package simulator + +import ( + "context" + "fmt" + "time" + + "github.com/unpackdev/solgo/accounts" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" +) + +// Faucet is responsible for creating and managing simulated blockchain accounts. +// It integrates with solgo's accounts.Manager to leverage existing account management features. +// Faucet is primarily used in testing environments where multiple accounts with +// specific configurations are required. +type Faucet struct { + *accounts.Manager + ctx context.Context + opts *Options + clientPool *clients.ClientPool +} + +// NewFaucet creates a new instance of Faucet. It requires a context and options to +// initialize the underlying accounts manager and other configurations. +// Returns an error if the options are not provided or if the accounts manager fails to initialize. +func NewFaucet(ctx context.Context, clientPool *clients.ClientPool, opts *Options) (*Faucet, error) { + if opts == nil { + return nil, fmt.Errorf("in order to create a new faucet, you must provide options") + } + + manager, err := accounts.NewManager(ctx, clientPool, &accounts.Options{KeystorePath: opts.KeystorePath, SupportedNetworks: opts.SupportedNetworks}) + if err != nil { + return nil, fmt.Errorf("failed to create new faucet manager: %w", err) + } + + return &Faucet{ + ctx: ctx, + opts: opts, + Manager: manager, + clientPool: clientPool, + }, nil +} + +// Create generates a new simulated account for a specific network. +// This method is particularly useful in testing scenarios where multiple accounts +// are needed with different configurations. If no password is provided, the default +// password from Faucet options is used. The account can be optionally pinned, and +// additional tags can be assigned for further categorization or identification. +// Returns the created account or an error if the account creation fails. +func (f *Faucet) Create(network utils.Network, password string, pin bool, tags ...string) (*accounts.Account, error) { + tags = append(tags, utils.SimulatorAccountType.String()) + + var pwd string + if password == "" { + pwd = f.opts.DefaultPassword + } else { + pwd = password + } + + var account *accounts.Account + var err error + attempts := 3 + for i := 0; i < attempts; i++ { + account, err = f.Manager.Create(network, pwd, pin, tags...) + if err == nil { + time.Sleep(100 * time.Millisecond) + return account, nil + } + } + + return nil, fmt.Errorf("failed to generate faucet account for network: %s after %d attempts, err: %s", network, attempts, err) +} diff --git a/simulator/helpers.go b/simulator/helpers.go new file mode 100644 index 00000000..fc318b09 --- /dev/null +++ b/simulator/helpers.go @@ -0,0 +1,17 @@ +package simulator + +// ToAnvilProvider attempts to cast a generic Provider interface to a specific *AnvilProvider type. +// This is useful when you need to work with the specific methods and properties of AnvilProvider +// that are not part of the generic Provider interface. +func ToAnvilProvider(provider Provider) (*AnvilProvider, bool) { + if provider == nil { + return nil, false + } + + anvilProvider, ok := provider.(*AnvilProvider) + if !ok { + return nil, false + } + + return anvilProvider, true +} diff --git a/simulator/node.go b/simulator/node.go new file mode 100644 index 00000000..9b7a1b7e --- /dev/null +++ b/simulator/node.go @@ -0,0 +1,301 @@ +package simulator + +import ( + "bufio" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "math/big" + "net" + "os" + "os/exec" + "path/filepath" + "regexp" + "strconv" + "strings" + "syscall" + + "github.com/google/uuid" + "go.uber.org/zap" +) + +// Node represents a single node in the simulation environment. It encapsulates the +// details and operations for a blockchain simulation node. +type Node struct { + cmd *exec.Cmd `json:"-"` // The command used to start the node process. Not exported in JSON. + simulator *Simulator `json:"-"` // Reference to the Simulator instance managing this node. Not exported in JSON. + provider Provider `json:"-"` // The Provider instance representing the blockchain network provider. Not exported in JSON. + ID uuid.UUID `json:"id"` // Unique identifier for the node. + PID int `json:"pid"` // Process ID of the running node. + Addr net.TCPAddr `json:"addr"` // TCP address on which the node is running. + IpcPath string `json:"ipc_path"` // The file path for the IPC endpoint of the node. + AutoImpersonate bool `json:"auto_impersonate"` // Flag indicating whether the node should automatically impersonate accounts. + BlockNumber *big.Int `json:"block_number"` // The block number from which the node is operating, if applicable. + PidPath string `json:"pid_path"` // The file path where the node's PID file is stored. + ExecutablePath string `json:"executable_path"` // The file path to the executable used by this node. + Fork bool `json:"fork"` // Flag indicating whether the node is running in fork mode. + ForkEndpoint string `json:"fork_endpoint"` // The endpoint URL of the blockchain to fork from, if fork mode is enabled. +} + +// GetNodeAddr returns the HTTP address of the node. +func (n *Node) GetNodeAddr() string { + return fmt.Sprintf("http://%s:%d", n.Addr.IP.String(), n.Addr.Port) +} + +// GetSimulator returns the Simulator instance associated with the node. +func (n *Node) GetSimulator() *Simulator { + return n.simulator +} + +// GetProvider returns the Provider instance associated with the node. +func (n *Node) GetProvider() Provider { + return n.provider +} + +// GetID returns the unique identifier of the node. +func (n *Node) GetID() uuid.UUID { + return n.ID +} + +// Start initiates the Anvil node's process, capturing its output and handling its lifecycle. +func (n *Node) Start(ctx context.Context) error { + started := make(chan struct{}) + + cmd := exec.CommandContext(ctx, n.ExecutablePath, n.provider.GetCmdArguments(n)...) + + stdoutPipe, err := cmd.StdoutPipe() + if err != nil { + return fmt.Errorf("failed to get stdout pipe: %v", err) + } + stderrPipe, err := cmd.StderrPipe() + if err != nil { + return fmt.Errorf("failed to get stderr pipe: %v", err) + } + + err = cmd.Start() + if err != nil { + return fmt.Errorf("failed to start Anvil node: %v", err) + } + + n.PID = cmd.Process.Pid + n.cmd = cmd + + nodeJSON, err := json.Marshal(n) + if err != nil { + return fmt.Errorf("failed to marshal Node data to JSON: %v", err) + } + + pidFileName := fmt.Sprintf("anvil.%d.pid.json", n.Addr.Port) + filePath := filepath.Join(n.PidPath, pidFileName) + + err = os.WriteFile(filePath, nodeJSON, 0644) // Using 0644 as a common permission setting + if err != nil { + return fmt.Errorf("failed to write Node JSON to file: %v", err) + } + + go n.streamOutput(stdoutPipe, "stdout", started) + go n.streamOutput(stderrPipe, "stderr", nil) + + go func() { + err := cmd.Wait() + if err != nil { + // Ignore the error if the process was killed + if strings.Contains(err.Error(), "no child processes") || + strings.Contains(err.Error(), "signal: killed") { + return + } + + zap.L().Error("Anvil node exited with error", zap.Error(err)) + } else { + zap.L().Info("Anvil node exited successfully") + } + }() + + select { + case <-started: + return nil + case <-ctx.Done(): + return fmt.Errorf("failed to start Anvil node: %v", ctx.Err()) + } +} + +// Stop terminates the Anvil node's process, cleans up resources, and removes relevant files. +func (n *Node) Stop(ctx context.Context, force bool) error { + zap.L().Info( + "Stopping Anvil node...", + zap.String("addr", n.Addr.String()), + zap.Int("port", n.Addr.Port), + zap.String("network", n.provider.Network().String()), + zap.Any("network_id", n.provider.NetworkID()), + zap.Any("block_number", n.BlockNumber), + ) + + if n.cmd == nil || n.cmd.Process == nil { + return fmt.Errorf("process not started or already stopped") + } + + err := n.cmd.Process.Signal(os.Interrupt) // or syscall.SIGTERM, depending on how your node handles signals + if err != nil { + if !errors.Is(err, os.ErrProcessDone) { + return fmt.Errorf("failed to send interrupt signal to process: %v", err) + } + } + + if !force && err == nil { + _, err = n.cmd.Process.Wait() + if err != nil && !errors.Is(err, os.ErrProcessDone) { + return fmt.Errorf("error waiting for process to exit: %v", err) + } + } + + pidFileName := fmt.Sprintf("anvil.%d.pid.json", n.Addr.Port) + filePath := filepath.Join(n.PidPath, pidFileName) + os.Remove(filePath) + + pidFileName = fmt.Sprintf("anvil.%d.ipc", n.Addr.Port) + filePath = filepath.Join(n.PidPath, pidFileName) + os.Remove(filePath) + + zap.L().Info( + "Anvil node successfully stopped", + zap.String("addr", n.Addr.String()), + zap.Int("port", n.Addr.Port), + zap.String("network", n.provider.Network().String()), + zap.Any("network_id", n.provider.NetworkID()), + zap.Any("block_number", n.BlockNumber), + ) + + return nil +} + +// Status checks the current status of the node, including its running state and error conditions. +func (n *Node) Status(ctx context.Context) (*NodeStatus, error) { + if n.cmd == nil || n.cmd.Process == nil { + return &NodeStatus{ + ID: n.ID, + BlockNumber: n.BlockNumber.Uint64(), + IPAddr: n.Addr.IP.String(), + Port: n.Addr.Port, + Success: false, + Status: NodeStatusTypeStopped, + Error: nil, + }, nil + } + + // Check if the process is still running + process, err := os.FindProcess(n.cmd.Process.Pid) + if err != nil { + return &NodeStatus{ + ID: n.ID, + BlockNumber: n.BlockNumber.Uint64(), + IPAddr: n.Addr.IP.String(), + Port: n.Addr.Port, + Success: false, + Status: NodeStatusTypeError, + Error: fmt.Errorf("error finding process: %v", err), + }, fmt.Errorf("error finding process: %v", err) + } + + // Sending signal 0 to a process checks for its existence without killing it + err = process.Signal(syscall.Signal(0)) + if err == nil { + return &NodeStatus{ + ID: n.ID, + BlockNumber: n.BlockNumber.Uint64(), + IPAddr: n.Addr.IP.String(), + Port: n.Addr.Port, + Success: true, + Status: NodeStatusTypeRunning, + Error: nil, + }, nil + } + + if errors.Is(err, os.ErrProcessDone) { + return &NodeStatus{ + ID: n.ID, + BlockNumber: n.BlockNumber.Uint64(), + IPAddr: n.Addr.IP.String(), + Port: n.Addr.Port, + Success: true, + Status: NodeStatusTypeStopped, + Error: nil, + }, nil + } + + return &NodeStatus{ + ID: n.ID, + BlockNumber: n.BlockNumber.Uint64(), + IPAddr: n.Addr.IP.String(), + Port: n.Addr.Port, + Success: false, + Status: NodeStatusTypeError, + Error: fmt.Errorf("error checking process status: %v", err), + }, fmt.Errorf("error checking process status: %v", err) +} + +// streamOutput handles the output from the node's stdout and stderr, extracting information +// like block number and node readiness, and logging the output. +func (n *Node) streamOutput(pipe io.ReadCloser, outputType string, done chan struct{}) { + blockNumberRegex := regexp.MustCompile(`Block number:\s+(\d+)`) + listeningRegex := regexp.MustCompile(`Listening on ([\d\.]+:\d+)`) + revertedRegex := regexp.MustCompile(`Error: reverted with:\s+(.+)`) + scanner := bufio.NewScanner(pipe) + + for scanner.Scan() { + line := scanner.Text() + + if lineTrimmed := strings.TrimSpace(line); lineTrimmed != "" { + zap.L().Debug( + line, + zap.String("addr", n.Addr.String()), + zap.Int("port", n.Addr.Port), + zap.String("network", n.provider.Network().String()), + zap.Any("network_id", n.provider.NetworkID()), + zap.Any("block_number", n.BlockNumber), + ) + } + + // Check for block number in the output + if matches := blockNumberRegex.FindStringSubmatch(line); len(matches) > 1 { + blockNumber, err := strconv.ParseInt(matches[1], 10, 64) + if err == nil { + n.BlockNumber = big.NewInt(blockNumber) // Update the BlockNumber field + zap.L().Info( + "Discovered block number for Anvil node", + zap.String("addr", n.Addr.String()), + zap.Int("port", n.Addr.Port), + zap.String("network", n.provider.Network().String()), + zap.Any("network_id", n.provider.NetworkID()), + zap.Uint64("block_number", n.BlockNumber.Uint64()), + ) + } + } + + // Check for revert messages.... + if matches := revertedRegex.FindStringSubmatch(line); len(matches) > 1 { + zap.L().Error( + "Discovered revert message", + zap.Error(fmt.Errorf("%s", matches[1])), + zap.String("addr", n.Addr.String()), + zap.Int("port", n.Addr.Port), + zap.String("network", n.provider.Network().String()), + zap.Any("network_id", n.provider.NetworkID()), + zap.Uint64("block_number", n.BlockNumber.Uint64()), + ) + } + + // Check if the node is listening and if the done channel is set + if done != nil && listeningRegex.MatchString(line) { + close(done) // Close the done channel to signal readiness + done = nil // Prevent further attempts to close the channel + } + } + + if err := scanner.Err(); err != nil { + if !strings.Contains(err.Error(), "file already closed") { + zap.L().Error(fmt.Sprintf("Error reading from node %s: %v", outputType, err)) + } + } +} diff --git a/simulator/options.go b/simulator/options.go new file mode 100644 index 00000000..b4fa14c4 --- /dev/null +++ b/simulator/options.go @@ -0,0 +1,38 @@ +package simulator + +import ( + "math/big" + "net" + + "github.com/unpackdev/solgo/utils" +) + +// StartOptions defines the configuration options for starting a simulation node. +// It includes settings for forking, networking, block number, and account impersonation. +type StartOptions struct { + Fork bool `json:"fork"` // Indicates whether to fork from an existing blockchain. + ForkEndpoint string `json:"endpoint"` // Endpoint URL for forking the blockchain. + Addr net.TCPAddr `json:"port"` // TCP address for the node to listen on. + BlockNumber *big.Int `json:"block_number"` // Specific block number to start the simulation from. + AutoImpersonate bool `json:"auto_impersonate"` // Enables automatic impersonation of accounts. +} + +// StopOptions defines the configuration options for stopping a simulation node. +// It includes a forceful stop option and specifies the node to stop by its port. +type StopOptions struct { + Force bool `json:"force"` // Forcefully stops the node, potentially without cleanup. + Port int `json:"port"` // Specifies the port of the node to be stopped. +} + +// Options encapsulates the general configuration settings for the simulator. +// It includes settings for the keystore, supported networks, faucet options, and default password. +type Options struct { + Endpoint string `json:"endpoint"` // Endpoint URL for interacting with the blockchain. + KeystorePath string `json:"keystore_path"` // Filesystem path to the keystore directory. + SupportedNetworks []utils.Network `json:"supported_networks"` // List of supported blockchain networks. + FaucetsEnabled bool `json:"faucets_enabled"` // Flag to enable or disable faucet functionality. + FaucetsAutoReplenishEnabled bool `json:"faucets_auto_replenish_enabled"` // Flag to enable or disable automatic replenishment of faucet accounts. + FaucetAccountCount int `json:"auto_faucet_count"` // Number of faucet accounts to create. + FaucetAccountDefaultBalance *big.Int `json:"auto_faucet_balance"` // Default balance for each faucet account. + DefaultPassword string `json:"default_password"` // Default password for accounts managed by the simulator. +} diff --git a/simulator/provider.go b/simulator/provider.go new file mode 100644 index 00000000..7f2ef2d7 --- /dev/null +++ b/simulator/provider.go @@ -0,0 +1,63 @@ +package simulator + +import ( + "context" + "math/big" + + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" +) + +// Provider defines an interface for simulation providers in the simulator package. +// It includes a set of methods for managing and interacting with simulated blockchain nodes, +// clients, and related resources. Each method in the interface serves a specific purpose in +// the lifecycle and operation of a simulation environment. +type Provider interface { + // Name returns the name of the simulation provider. + Name() string + + // Network returns the blockchain network associated with the provider. + Network() utils.Network + + // NetworkID returns the network ID associated with the provider. + NetworkID() utils.NetworkID + + // Type returns the type of the simulation provider. + Type() utils.SimulatorType + + // GetCmdArguments returns the command line arguments for the simulation provider. + GetCmdArguments(node *Node) []string + + // Load initializes the provider and loads necessary resources. + Load(context.Context) error + + // Unload releases resources and performs cleanup for the provider. + Unload(context.Context) error + + // SetupFaucetAccounts sets up faucet accounts for a given simulation node. + SetupFaucetAccounts(context.Context, *Node) error + + // Start initiates a new simulation node with the specified options. + Start(ctx context.Context, opts StartOptions) (*Node, error) + + // Stop terminates a simulation node based on provided options. + Stop(context.Context, StopOptions) error + + // Status retrieves the status of all simulation nodes managed by the provider. + Status(context.Context) ([]*NodeStatus, error) + + // GetNodes returns a map of all currently active simulation nodes. + GetNodes() map[uint64]*Node + + // GetNodeByBlockNumber retrieves a simulation node by its block number. + GetNodeByBlockNumber(*big.Int) (*Node, bool) + + // GetNodeByPort finds a simulation node based on its port number. + GetNodeByPort(int) (*Node, bool) + + // GetClientByGroupAndType retrieves a client based on the simulation type and group identifier. + GetClientByGroupAndType(utils.SimulatorType, string) (*clients.Client, bool) + + // GetClientPool returns the client pool associated with the provider. + GetClientPool() *clients.ClientPool +} diff --git a/simulator/simulator.go b/simulator/simulator.go new file mode 100644 index 00000000..73415630 --- /dev/null +++ b/simulator/simulator.go @@ -0,0 +1,388 @@ +package simulator + +import ( + "context" + "fmt" + "math/big" + "net" + "sync" + "sync/atomic" + + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" +) + +// Simulator is the core struct for the simulator package. It manages the lifecycle +// and operations of blockchain simulations, including the management of providers +// and faucets. The Simulator allows for flexible interaction with various simulated +// blockchain environments and accounts. +type Simulator struct { + ctx context.Context // Context for managing lifecycle and control flow. + opts *Options // Configuration options for the Simulator. + clientPool *clients.ClientPool // Ethereum client pool + providers map[utils.SimulatorType]Provider // Registered providers for different simulation types. + mu sync.Mutex // Mutex to protect concurrent access to the providers map and other shared resources. + faucets *Faucet // Faucet for managing simulated accounts. + started atomic.Bool // Flag to indicate if the Simulator has been started. +} + +// NewSimulator initializes a new Simulator with the given context and options. +// It sets up a new Faucet for account management and prepares the Simulator for operation. +// Returns an error if options are not provided or if the Faucet fails to initialize. +func NewSimulator(ctx context.Context, clientPool *clients.ClientPool, opts *Options) (*Simulator, error) { + if opts == nil { + return nil, fmt.Errorf("in order to create a new simulator, you must provide options") + } + + var pool *clients.ClientPool + if clientPool == nil { + emptyPool, err := clients.NewClientPool(ctx, &clients.Options{Nodes: []clients.Node{}}) + if err != nil { + return nil, fmt.Errorf("failed to create simulator client pool: %s", err) + } + pool = emptyPool + } else { + pool = clientPool + } + + faucets, err := NewFaucet(ctx, pool, opts) + if err != nil { + return nil, fmt.Errorf("failed to create new faucet: %s", err) + } + + if opts.FaucetsEnabled { + if opts.FaucetAccountCount <= 0 { + return nil, fmt.Errorf("auto faucet count must be greater than 0") + } + + for _, network := range opts.SupportedNetworks { + if faucetCount := len(faucets.List(network)); faucetCount < opts.FaucetAccountCount { + missingFaucetCount := opts.FaucetAccountCount - faucetCount + + zap.L().Info( + "Generating new faucet accounts. Please be patient...", + zap.Int("current_count", faucetCount), + zap.Int("required_count", opts.FaucetAccountCount), + zap.Int("missing_count", missingFaucetCount), + zap.String("network", string(network)), + ) + + for i := 0; i < missingFaucetCount; i++ { + zap.L().Info( + "Generating new faucet account...", + zap.Int("current_count", i), + zap.Int("required_count", opts.FaucetAccountCount), + zap.String("network", string(network)), + ) + + if _, err := faucets.Create(network, opts.DefaultPassword, true, utils.SimulatorAccountType.String()); err != nil { + return nil, fmt.Errorf("failed to generate faucet account for network: %s err: %s", network, err) + } + } + } + } + } + + return &Simulator{ + ctx: ctx, + opts: opts, + providers: make(map[utils.SimulatorType]Provider), + faucets: faucets, + clientPool: pool, + started: atomic.Bool{}, + }, nil +} + +// GetFaucet returns the Faucet associated with the Simulator. +// The Faucet is used for creating and managing simulated blockchain accounts. +func (s *Simulator) GetFaucet() *Faucet { + return s.faucets +} + +// GetClientPool returns the Ethereum client pool associated with the Simulator. +// The client pool is used for managing Ethereum clients for various simulated environments. +func (s *Simulator) GetClientPool() *clients.ClientPool { + return s.clientPool +} + +func (c *Simulator) GetBindingManager(simType utils.SimulatorType) (*bindings.Manager, error) { + return bindings.NewManager(c.ctx, c.GetProvider(simType).GetClientPool()) +} + +// RegisterProvider registers a new provider for a specific simulation type. +// If a provider for the given name already exists, it returns false. +// Otherwise, it adds the provider and returns true. +func (s *Simulator) RegisterProvider(name utils.SimulatorType, provider Provider) (bool, error) { + if _, ok := s.providers[name]; ok { + return false, fmt.Errorf("provider %s already exists", name) + } + + s.providers[name] = provider + + if anvilProvider, ok := ToAnvilProvider(provider); ok { + manager, err := s.GetBindingManager(name) + if err != nil { + return false, err + } + + anvilProvider.SetBindingManager(manager) + return true, nil + } + + return true, nil +} + +// GetProvider retrieves a registered provider by its simulation type. +// Returns nil if no provider is registered under the given name. +func (s *Simulator) GetProvider(name utils.SimulatorType) Provider { + s.mu.Lock() + defer s.mu.Unlock() + + if provider, ok := s.providers[name]; ok { + return provider + } + + return nil +} + +// GetProviders returns a map of all registered providers by their simulation types. +func (s *Simulator) GetProviders() map[utils.SimulatorType]Provider { + return s.providers +} + +// ProviderExists checks if a provider with the given simulation type is registered. +// Returns true if the provider exists, false otherwise. +func (s *Simulator) ProviderExists(name utils.SimulatorType) bool { + s.mu.Lock() + defer s.mu.Unlock() + + if _, ok := s.providers[name]; ok { + return true + } + + return false +} + +// Start initiates the simulation providers within the Simulator. It can start +// all registered providers or a subset specified in the 'simulators' variadic argument. +// If the 'simulators' argument is provided, only the providers matching the specified +// SimulatorTypes are started. If no 'simulators' argument is provided, all registered +// providers are started. +// +// This method iterates through each registered provider and calls its Load method, +// passing the provided context. The Load method of each provider is expected to +// initiate any necessary operations to start the simulation client. +func (s *Simulator) Start(ctx context.Context, simulators ...utils.SimulatorType) error { + for _, provider := range s.providers { + if len(simulators) > 0 { + for _, simulator := range simulators { + if provider.Type() == simulator { + if err := provider.Load(ctx); err != nil { + return fmt.Errorf("failed to start provider: %s", err) + } + } + } + } else { + if err := provider.Load(ctx); err != nil { + return fmt.Errorf("failed to start provider: %s", err) + } + } + } + + s.started.Store(true) + + zap.L().Info("Simulator started successfully") + + return nil +} + +// IsStarted returns a boolean indicating if the Simulator has been started. +func (s *Simulator) IsStarted() bool { + return s.started.Load() +} + +// Stop terminates the simulation providers within the Simulator. Similar to Start, +// it can stop all registered providers or a subset specified in the 'simulators' +// variadic argument. If the 'simulators' argument is provided, only the providers +// matching the specified SimulatorTypes are stopped. If no 'simulators' argument +// is provided, all registered providers are stopped. +// +// This method iterates through each registered provider and calls its Unload method, +// passing the provided context. The Unload method of each provider is expected to +// perform any necessary operations to stop the simulation client. +func (s *Simulator) Stop(ctx context.Context, simulators ...utils.SimulatorType) error { + if !s.IsStarted() { + return fmt.Errorf("simulator has not been started") + } + + for _, provider := range s.providers { + if len(simulators) > 0 { + for _, simulator := range simulators { + if provider.Type() == simulator { + if err := provider.Unload(ctx); err != nil { + return err + } + } + } + } else { + if err := provider.Unload(ctx); err != nil { + return err + } + } + } + + zap.L().Info("Simulator stopped successfully") + + return nil +} + +// Status retrieves the status of the simulation providers within the Simulator. +// Similar to Start and Stop, it can retrieve the status of all registered providers +// or a subset specified in the 'simulators' variadic argument. If the 'simulators' +// argument is provided, only the providers matching the specified SimulatorTypes +// are queried. If no 'simulators' argument is provided, all registered providers +// are queried. +// +// This method iterates through each registered provider and calls its Status method, +// passing the provided context. The Status method of each provider is expected to +// return the current status of the simulation client. +func (s *Simulator) Status(ctx context.Context, simulators ...utils.SimulatorType) (*NodeStatusResponse, error) { + toReturn := &NodeStatusResponse{ + Nodes: make(map[utils.SimulatorType][]*NodeStatus), + } + + for _, provider := range s.providers { + if len(simulators) > 0 { + for _, simulator := range simulators { + if provider.Type() == simulator { + statusSlice, err := provider.Status(ctx) + if err != nil { + return nil, err + } + for _, status := range statusSlice { + toReturn.Nodes[provider.Type()] = append(toReturn.Nodes[provider.Type()], status) + } + } + } + } else { + statusSlice, err := provider.Status(ctx) + if err != nil { + return nil, err + } + for _, status := range statusSlice { + toReturn.Nodes[provider.Type()] = append(toReturn.Nodes[provider.Type()], status) + } + } + } + + return toReturn, nil +} + +// GetClient retrieves a blockchain client for a specific provider and block number. +// It first checks if the provider exists. If not, it returns an error. +// For an existing provider, it attempts to find a node that matches the given block number. +// If such a node doesn't exist, it tries to spawn a new node: +// - It first gets the next available port. If no ports are available, an error is returned. +// - It then starts a new node with the specified start options. +// - If faucets are enabled, it sets up faucet accounts for the new node. +// - Finally, it attempts to retrieve a client for the new node. If not found, an error is reported. +// If a matching node is found, it attempts to retrieve the corresponding client. +// If the client doesn't exist, it returns an error. +// If the provider is recognized but not fully implemented, an appropriate error is returned. +// Returns a pointer to the blockchain client and an error if any issues occur during the process. +func (s *Simulator) GetClient(ctx context.Context, provider utils.SimulatorType, blockNumber *big.Int) (*clients.Client, *Node, error) { + if !s.ProviderExists(provider) { + return nil, nil, fmt.Errorf("provider %s does not exist", provider) + } + + if !s.IsStarted() { + return nil, nil, fmt.Errorf("simulator has not been started") + } + + if providerCtx, ok := s.GetProvider(provider).(*AnvilProvider); ok { + if node, ok := providerCtx.GetNodeByBlockNumber(blockNumber); !ok { + zap.L().Debug( + "Node for block number does not exist. Attempting to spawn new node...", + zap.Any("block_number", blockNumber), + zap.String("provider", provider.String()), + zap.String("network", providerCtx.Network().String()), + ) + + port := providerCtx.GetNextPort() + if port == 0 { + return nil, nil, fmt.Errorf("no available ports to start anvil nodes") + } + + startOpts := StartOptions{ + Fork: providerCtx.opts.Fork, + ForkEndpoint: providerCtx.opts.ForkEndpoint, + Addr: net.TCPAddr{ + IP: providerCtx.opts.IPAddr, + Port: port, + }, + BlockNumber: blockNumber, + } + + newNode, err := providerCtx.Start(ctx, startOpts) + if err != nil { + return nil, nil, fmt.Errorf("failed to spawn anvil node: %s", err) + } + + // Lets now load faucet accounts for the newly spawned node + if providerCtx.simulator.opts.FaucetsEnabled { + if providerCtx.simulator.opts.FaucetsAutoReplenishEnabled { + if err := providerCtx.SetupFaucetAccounts(ctx, newNode); err != nil { + return nil, newNode, fmt.Errorf("failed to load faucet accounts: %s", err) + } + } + } + + providerCtx.mu.Lock() + if _, ok := providerCtx.nodes[newNode.BlockNumber.Uint64()]; !ok { + providerCtx.nodes[newNode.BlockNumber.Uint64()] = newNode + } + providerCtx.mu.Unlock() + + if client, found := providerCtx.GetClientByGroupAndType(newNode.GetProvider().Type(), newNode.GetID().String()); found { + return client, newNode, nil + } else { + return nil, nil, fmt.Errorf( + "client for provider: %s - node %s - block number: %d does not exist", + node.GetProvider(), node.GetID().String(), blockNumber, + ) + } + + } else { + if client, found := providerCtx.GetClientByGroupAndType(node.GetProvider().Type(), node.GetID().String()); found { + return client, node, nil + } else { + return nil, nil, fmt.Errorf("client for provider: %s - node %s does not exist", node.GetProvider(), node.GetID().String()) + } + } + } + + return nil, nil, fmt.Errorf("provider %s is not fully implemented", provider) +} + +// GetOptions returns the Simulator's configuration options. +// The options are used to configure the Simulator's behavior. +func (s *Simulator) GetOptions() *Options { + return s.opts +} + +// Close gracefully shuts down the simulator. It performs the following steps: +// 1. Stops the simulator by calling the Stop method with the simulator's context. +// If stopping the simulator fails, it returns the encountered error. +// 2. Closes the client pool to release all associated resources. +// +// Returns an error if any issues occur during the stopping process, otherwise nil. +func (s *Simulator) Close() error { + if err := s.Stop(s.ctx); err != nil { + return err + } + + s.clientPool.Close() + return nil +} diff --git a/simulator/simulator_test.go b/simulator/simulator_test.go new file mode 100644 index 00000000..5412ef20 --- /dev/null +++ b/simulator/simulator_test.go @@ -0,0 +1,253 @@ +package simulator + +import ( + "context" + "fmt" + "testing" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" +) + +func TestSimulatorConnectivity(t *testing.T) { + tAssert := assert.New(t) + + config := zap.NewDevelopmentConfig() + config.Level = zap.NewAtomicLevelAt(zap.DebugLevel) + config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder + logger, err := config.Build() + tAssert.NoError(err) + zap.ReplaceGlobals(logger) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + simulator, err := CreateNewTestSimulator(ctx, nil, t, nil) + require.NoError(t, err) + require.NotNil(t, simulator) + defer simulator.Close() + + testCases := []struct { + name string + provider utils.SimulatorType + expectErr bool + }{ + { + name: "Anvil simulator start and stop with periodic status checks", + provider: utils.AnvilSimulator, + expectErr: false, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + ctx, cancel := context.WithCancel(ctx) + defer cancel() + + err := simulator.Start(ctx) + if tc.expectErr { + require.Error(t, err) + } else { + require.NoError(t, err) + } + + for i := 0; i < 2; i++ { + statuses, err := simulator.Status(ctx) + if tc.expectErr { + require.Error(t, err) + } else { + require.NoError(t, err) + tAssert.NotNil(statuses) + } + + anvilStatuses, found := statuses.GetNodesByType(utils.AnvilSimulator) + tAssert.NotNil(anvilStatuses) + tAssert.True(found) + tAssert.Exactly(1, len(anvilStatuses)) + + time.Sleep(300 * time.Millisecond) + } + + err = simulator.Stop(ctx) + if tc.expectErr { + require.Error(t, err) + } else { + require.NoError(t, err) + } + }) + } +} + +func TestAnvilSimulator(t *testing.T) { + tAssert := assert.New(t) + + config := zap.NewDevelopmentConfig() + config.Level = zap.NewAtomicLevelAt(zap.DebugLevel) + config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder + logger, err := config.Build() + tAssert.NoError(err) + zap.ReplaceGlobals(logger) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + clientOptions := &clients.Options{ + Nodes: []clients.Node{ + { + Group: string(utils.Ethereum), + Type: "mainnet", + Endpoint: "https://ethereum.publicnode.com", + NetworkId: 1, + ConcurrentClientsNumber: 1, + }, + }, + } + + pool, err := clients.NewClientPool(ctx, clientOptions) + tAssert.NoError(err) + tAssert.NotNil(pool) + + simulator, err := CreateNewTestSimulator(ctx, nil, t, nil) + require.NoError(t, err) + require.NotNil(t, simulator) + defer simulator.Close() + + err = simulator.Start(ctx) + require.NoError(t, err) + + defer func() { + err := simulator.Stop(ctx) + require.NoError(t, err) + }() + + testCases := []struct { + name string + provider utils.SimulatorType + expectErr bool + testFunc func(t *testing.T, simulator *Simulator, name string, provider utils.SimulatorType, expectErr bool) + }{ + { + name: "Anvil simulator periodic status checks", + provider: utils.AnvilSimulator, + expectErr: false, + testFunc: func(t *testing.T, simulator *Simulator, name string, provider utils.SimulatorType, expectErr bool) { + ctx, cancel := context.WithCancel(ctx) + defer cancel() + + for i := 0; i < 2; i++ { + statuses, err := simulator.Status(ctx) + if expectErr { + require.Error(t, err) + } else { + require.NoError(t, err) + tAssert.NotNil(statuses) + } + + anvilStatuses, found := statuses.GetNodesByType(utils.AnvilSimulator) + tAssert.NotNil(anvilStatuses) + tAssert.True(found) + tAssert.Exactly(1, len(anvilStatuses)) + + time.Sleep(100 * time.Millisecond) + } + + }, + }, + { + name: "Get anvil client from latest block", + provider: utils.AnvilSimulator, + expectErr: false, + testFunc: func(t *testing.T, simulator *Simulator, name string, provider utils.SimulatorType, expectErr bool) { + ctx, cancel := context.WithCancel(ctx) + defer cancel() + + client := pool.GetClientByGroup(string(utils.Ethereum)) + require.NotNil(t, client) + + latestBlock, err := client.HeaderByNumber(ctx, nil) + require.NoError(t, err) + require.NotNil(t, latestBlock) + + simulatorClient, node, err := simulator.GetClient(ctx, utils.AnvilSimulator, latestBlock.Number) + if expectErr { + require.Error(t, err) + require.Nil(t, simulatorClient) + require.Nil(t, node) + } else { + require.NoError(t, err) + require.NotNil(t, simulatorClient) + require.NotNil(t, node) + } + + // Just for testing purpose lets fetch from each faucet account balance at latest block + for _, account := range simulator.GetFaucet().List(utils.AnvilNetwork) { + balance, err := simulatorClient.BalanceAt(ctx, account.GetAddress(), nil) + require.NoError(t, err) + require.NotNil(t, balance) + } + + anvilProvider, found := ToAnvilProvider(simulator.GetProvider(utils.AnvilSimulator)) + require.True(t, found) + require.NotNil(t, anvilProvider) + + // Some random etherscan address... (Have no affiliation with it) + randomAddress := common.HexToAddress("0x235eE805F962690254e9a440E01574376136ecb1") + + impersonatedAddr, err := anvilProvider.ImpersonateAccount(randomAddress) + require.NoError(t, err) + require.Equal(t, randomAddress, impersonatedAddr) + + impersonatedAddr, err = anvilProvider.StopImpersonateAccount(randomAddress) + require.NoError(t, err) + require.Equal(t, randomAddress, impersonatedAddr) + }, + }, + { + name: "Attempt to impersonate account and to stop impersonating account", + provider: utils.AnvilSimulator, + expectErr: false, + testFunc: func(t *testing.T, simulator *Simulator, name string, provider utils.SimulatorType, expectErr bool) { + ctx, cancel := context.WithCancel(ctx) + defer cancel() + + client := pool.GetClientByGroup(string(utils.Ethereum)) + require.NotNil(t, client) + + latestBlock, err := client.HeaderByNumber(ctx, nil) + require.NoError(t, err) + require.NotNil(t, latestBlock) + + simulatorClient, node, err := simulator.GetClient(ctx, utils.AnvilSimulator, latestBlock.Number) + if expectErr { + require.Error(t, err) + require.Nil(t, simulatorClient) + require.Nil(t, node) + } else { + require.NoError(t, err) + require.NotNil(t, simulatorClient) + require.NotNil(t, node) + } + + // Just for testing purpose lets fetch from each faucet account balance at latest block + for _, account := range simulator.GetFaucet().List(utils.AnvilNetwork) { + balance, err := simulatorClient.BalanceAt(ctx, account.GetAddress(), nil) + require.NoError(t, err) + require.NotNil(t, balance) + fmt.Println("Balance", balance) + } + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + tc.testFunc(t, simulator, tc.name, tc.provider, tc.expectErr) + }) + } +} diff --git a/simulator/status.go b/simulator/status.go new file mode 100644 index 00000000..e086956b --- /dev/null +++ b/simulator/status.go @@ -0,0 +1,46 @@ +package simulator + +import ( + "github.com/google/uuid" + "github.com/unpackdev/solgo/utils" +) + +// NodeStatusType defines the possible states of a simulation node. +type NodeStatusType string + +const ( + // NodeStatusTypeError indicates that the simulation node is in an error state. + NodeStatusTypeError NodeStatusType = "error" + + // NodeStatusTypeRunning indicates that the simulation node is currently running. + NodeStatusTypeRunning NodeStatusType = "running" + + // NodeStatusTypeStopped indicates that the simulation node has been stopped. + NodeStatusTypeStopped NodeStatusType = "stopped" +) + +// NodeStatus represents the status of a simulation node, including its unique identifier, +// IP address, port, and operational state. +type NodeStatus struct { + ID uuid.UUID `json:"id"` // Unique identifier for the node. + BlockNumber uint64 `json:"block_number"` // Block number at which the node is currently operating. + IPAddr string `json:"ip_addr"` // IP address of the node. + Port int `json:"port"` // Port on which the node is running. + Success bool `json:"success"` // Indicates whether the node is operating successfully. + Status NodeStatusType `json:"status"` // Current status of the node. + Error error `json:"error"` // Error encountered by the node, if any. +} + +// NodeStatusResponse contains a mapping of node statuses categorized by simulator type. +type NodeStatusResponse struct { + Nodes map[utils.SimulatorType][]*NodeStatus `json:"nodes"` // Mapping of simulator types to their respective node statuses. +} + +// GetNodesByType returns a slice of NodeStatus pointers for a given simulator type. +func (nr *NodeStatusResponse) GetNodesByType(simType utils.SimulatorType) ([]*NodeStatus, bool) { + if nodes, ok := nr.Nodes[simType]; ok { + return nodes, true + } + + return nil, false +} diff --git a/simulator/test_helpers.go b/simulator/test_helpers.go new file mode 100644 index 00000000..0bdc6e30 --- /dev/null +++ b/simulator/test_helpers.go @@ -0,0 +1,80 @@ +package simulator + +import ( + "context" + "math/big" + "net" + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" +) + +// CreateNewTestSimulator initializes and configures a new Simulator instance for testing purposes. +// It performs the following steps: +// 1. Determines the current working directory and verifies it's not empty. +// 2. Sets up the keystore path, which is assumed to be one level up from the current directory. +// 3. Establishes a base simulator with predefined options such as keystore path, supported networks, +// faucet configurations, and a default password for the accounts. +// 4. Creates a new AnvilProvider instance with specified options including network settings, +// client count limits, process ID path, executable path, and port range. +// 5. Registers the AnvilProvider with the newly created simulator. +// +// Returns the initialized Simulator instance and an error if any occurs during the setup process. +// This function utilizes the 'assert' and 'require' packages from 'testify' to ensure that each setup step is successful. +func CreateNewTestSimulator(ctx context.Context, clientPool *clients.ClientPool, t *testing.T, opts *AnvilProviderOptions) (*Simulator, error) { + tAssert := assert.New(t) + + // Get the current working directory + cwd, err := os.Getwd() + tAssert.NoError(err) + tAssert.NotEmpty(cwd) + + // Navigate up one level + keystorePath := filepath.Join(filepath.Dir(cwd), "data", "faucets") + + // Establish base simulator + // It acts as a faucet provider and manager for all the simulation providers. + // It also provides a way to manage the simulation providers. + simulator, err := NewSimulator(ctx, clientPool, &Options{ + KeystorePath: keystorePath, + SupportedNetworks: []utils.Network{utils.Ethereum, utils.AnvilNetwork}, + FaucetsEnabled: true, + FaucetAccountCount: 10, + FaucetAccountDefaultBalance: new(big.Int).Mul(big.NewInt(1000), new(big.Int).Exp(big.NewInt(10), big.NewInt(18), nil)), + DefaultPassword: "wearegoingtogethacked", + }) + + require.NoError(t, err) + tAssert.NotNil(simulator) + + if opts == nil { + opts = &AnvilProviderOptions{ + Network: utils.AnvilNetwork, + NetworkID: utils.EthereumNetworkID, + ClientCount: 1, + MaxClientCount: 10, + AutoImpersonate: true, + PidPath: filepath.Join("/", "tmp", ".solgo", "/", "simulator", "/", "anvil"), + AnvilExecutablePath: os.Getenv("SOLGO_ANVIL_PATH"), + Fork: true, + ForkEndpoint: os.Getenv("SOLGO_SIMULATOR_FORK_ENDPOINT"), + IPAddr: net.ParseIP("127.0.0.1"), + StartPort: 5400, + EndPort: 5500, + } + } + + anvilProvider, err := NewAnvilProvider(ctx, simulator, opts) + + require.NoError(t, err) + tAssert.NotNil(anvilProvider) + + simulator.RegisterProvider(utils.AnvilSimulator, anvilProvider) + + return simulator, nil +} diff --git a/sources.go b/sources.go index b9379fe1..3df4c943 100644 --- a/sources.go +++ b/sources.go @@ -1,12 +1,14 @@ package solgo import ( + "encoding/json" "errors" "fmt" "os" "path/filepath" "regexp" "runtime" + "sort" "strconv" "strings" @@ -93,6 +95,60 @@ func (s *Sources) ToProto() *sources_pb.Sources { } } +func NewSourcesFromPath(entrySourceUnitName, path string) (*Sources, error) { + info, err := os.Stat(path) + if err != nil { + return nil, err // Return the error if the path does not exist or cannot be accessed + } + + if !info.IsDir() { + return nil, fmt.Errorf("path is not a directory: %s", path) + } + + _, filename, _, _ := runtime.Caller(0) + dir := filepath.Dir(filename) + sourcesDir := filepath.Clean(filepath.Join(dir, "sources")) + sources := &Sources{ + MaskLocalSourcesPath: true, + LocalSourcesPath: sourcesDir, + LocalSources: false, + EntrySourceUnitName: entrySourceUnitName, + } + + files, err := os.ReadDir(path) + if err != nil { + return nil, err + } + + for _, file := range files { + if file.IsDir() { + continue // Skip directories + } + + // Check if the file has a .sol extension + if filepath.Ext(file.Name()) == ".sol" { + filePath := filepath.Join(path, file.Name()) + + content, err := os.ReadFile(filePath) + if err != nil { + return nil, err + } + + sources.SourceUnits = append(sources.SourceUnits, &SourceUnit{ + Name: strings.TrimSuffix(file.Name(), ".sol"), + Path: filePath, + Content: string(content), + }) + } + } + + if err := sources.SortContracts(); err != nil { + return nil, fmt.Errorf("failure while doing topological contract sorting: %s", err.Error()) + } + + return sources, nil +} + // NewSourcesFromMetadata creates a Sources from a metadata package ContractMetadata. // This is a helper function that ensures easier integration when working with the metadata package. func NewSourcesFromMetadata(md *metadata.ContractMetadata) *Sources { @@ -124,10 +180,36 @@ func NewSourcesFromMetadata(md *metadata.ContractMetadata) *Sources { return sources } +func NewSourcesFromProto(entryContractName string, sc *sources_pb.Sources) (*Sources, error) { + _, filename, _, _ := runtime.Caller(0) + dir := filepath.Dir(filename) + sourcesDir := filepath.Clean(filepath.Join(dir, "sources")) + sources := &Sources{ + MaskLocalSourcesPath: true, + LocalSourcesPath: sourcesDir, + EntrySourceUnitName: entryContractName, + LocalSources: false, + } + + for _, source := range sc.GetSourceUnits() { + sources.AppendSource(&SourceUnit{ + Name: strings.TrimSuffix(filepath.Base(source.Name), ".sol"), + Path: source.Name, + Content: source.Content, + }) + } + + if err := sources.SortContracts(); err != nil { + return nil, fmt.Errorf("failure while doing topological contract sorting: %s", err.Error()) + } + + return sources, nil +} + // NewSourcesFromEtherScan creates a Sources from an EtherScan response. // This is a helper function that ensures easier integration when working with the EtherScan provider. // This includes BscScan, and other equivalent from the same family. -func NewSourcesFromEtherScan(entryContractName string, sc interface{}) *Sources { +func NewSourcesFromEtherScan(entryContractName string, sc interface{}) (*Sources, error) { _, filename, _, _ := runtime.Caller(0) dir := filepath.Dir(filename) sourcesDir := filepath.Clean(filepath.Join(dir, "sources")) @@ -145,6 +227,28 @@ func NewSourcesFromEtherScan(entryContractName string, sc interface{}) *Sources Path: fmt.Sprintf("%s.sol", entryContractName), Content: sourceCode, }) + case map[string]interface{}: + // Create an instance of ContractMetadata + var contractMetadata metadata.ContractMetadata + + // Marshal the map into JSON, then Unmarshal it into the ContractMetadata struct + jsonBytes, err := json.Marshal(sourceCode) + if err != nil { + return nil, fmt.Errorf("error marshalling to json: %v", err) + } + + if err := json.Unmarshal(jsonBytes, &contractMetadata); err != nil { + return nil, fmt.Errorf("error unmarshalling to contract metadata: %v", err) + } + + for name, source := range contractMetadata.Sources { + sources.AppendSource(&SourceUnit{ + Name: strings.TrimSuffix(filepath.Base(name), ".sol"), + Path: name, + Content: source.Content, + }) + } + case metadata.ContractMetadata: for name, source := range sourceCode.Sources { sources.AppendSource(&SourceUnit{ @@ -153,19 +257,23 @@ func NewSourcesFromEtherScan(entryContractName string, sc interface{}) *Sources Content: source.Content, }) } + + if err := sources.SortContracts(); err != nil { + return nil, fmt.Errorf("failure while doing topological contract sorting: %s", err.Error()) + } + default: - panic(fmt.Sprintf("invalid source code type %T", sc)) + return nil, fmt.Errorf("unknown source code type: %T", sourceCode) } - return sources + return sources, nil } // AppendSource appends a SourceUnit to the Sources. // If a SourceUnit with the same name already exists, it replaces it unless the new SourceUnit has less content. func (s *Sources) AppendSource(source *SourceUnit) { - - if s.SourceUnitExists(source.GetName()) { - unit := s.GetSourceUnitByName(source.GetName()) + if s.SourceUnitPathExists(source.GetPath()) { + unit := s.GetSourceUnitByPath(source.GetPath()) if len(unit.Content) == len(source.Content) { return @@ -422,6 +530,11 @@ func (s *Sources) SourceUnitExists(name string) bool { return s.SourceUnitExistsIn(name, s.SourceUnits) } +// SourceUnitExists returns true if a SourceUnit with the given name exists in the Sources. +func (s *Sources) SourceUnitPathExists(name string) bool { + return s.SourceUnitPathExistsIn(name, s.SourceUnits) +} + // SourceUnitExistsIn returns true if a SourceUnit with the given name exists in the given slice of SourceUnits. func (s *Sources) SourceUnitExistsIn(name string, units []*SourceUnit) bool { for _, sourceUnit := range units { @@ -432,6 +545,16 @@ func (s *Sources) SourceUnitExistsIn(name string, units []*SourceUnit) bool { return false } +// SourceUnitExistsIn returns true if a SourceUnit with the given name exists in the given slice of SourceUnits. +func (s *Sources) SourceUnitPathExistsIn(name string, units []*SourceUnit) bool { + for _, sourceUnit := range units { + if sourceUnit.Path == name { + return true + } + } + return false +} + // WriteToDir writes each SourceUnit's content to a file in the specified directory. func (s *Sources) WriteToDir(path string) error { // Ensure the specified directory exists or create it @@ -446,6 +569,7 @@ func (s *Sources) WriteToDir(path string) error { content := utils.SimplifyImportPaths(sourceUnit.Content) filePath := filepath.Join(path, sourceUnit.Name+".sol") + if err := utils.WriteToFile(filePath, []byte(content)); err != nil { return fmt.Errorf("failed to write source unit %s to file: %v", sourceUnit.Name, err) } @@ -620,8 +744,12 @@ func (s *Sources) SortContracts() error { } } - // Use uniqueNodesSlice for the topological sort - sortedNodes, err := topologicalSort(uniqueNodesSlice) + originalOrderMap := make(map[string]int) + for i, sourceUnit := range s.SourceUnits { + originalOrderMap[sourceUnit.Name] = i + } + + sortedNodes, err := topologicalSort(nodes, originalOrderMap) if err != nil { return err } @@ -641,11 +769,10 @@ func (s *Sources) SortContracts() error { // It returns a slice of nodes sorted in a way that for every directed edge U -> V, // node U comes before V in the ordering. If a cycle is detected, the function will // continue without error, but the result may not be a valid topological order. -func topologicalSort(nodes []Node) ([]Node, error) { +func topologicalSort(nodes []Node, originalOrder map[string]int) ([]Node, error) { var sorted []Node visited := make(map[string]bool) onStack := make(map[string]bool) // To detect cycles - stack := []string{} // Stack to track nodes being visited // Helper function to generate a unique key for each node uniqueKey := func(node Node) string { @@ -664,7 +791,13 @@ func topologicalSort(nodes []Node) ([]Node, error) { } visited[nodeKey] = true onStack[nodeKey] = true - stack = append(stack, nodeKey) // Push node to stack + + // Sort dependencies for consistent order + sort.SliceStable(node.Dependencies, func(i, j int) bool { + depIKey := node.Dependencies[i] + depJKey := node.Dependencies[j] + return originalOrder[depIKey] < originalOrder[depJKey] + }) for _, depName := range node.Dependencies { for _, depNode := range nodes { @@ -677,11 +810,15 @@ func topologicalSort(nodes []Node) ([]Node, error) { } sorted = append(sorted, node) - stack = stack[:len(stack)-1] // Pop node from stack onStack[nodeKey] = false return nil } + originalOrderMap := make(map[string]int) + for i, node := range nodes { + originalOrderMap[node.Name] = i + } + for _, node := range nodes { if !visited[uniqueKey(node)] { if err := visit(node); err != nil { diff --git a/standards/confidence.go b/standards/confidence.go index 694138f9..7b4d227f 100644 --- a/standards/confidence.go +++ b/standards/confidence.go @@ -10,6 +10,8 @@ type ConfidenceLevel int // String returns the string representation of the confidence level. func (c ConfidenceLevel) String() string { switch c { + case PerfectConfidence: + return "perfect" case HighConfidence: return "high" case MediumConfidence: @@ -37,6 +39,9 @@ func (c ConfidenceThreshold) ToProto() eip_pb.ConfidenceThreshold { } const ( + // PerfectConfidenceThreshold represents a perfect confidence threshold value. + PerfectConfidenceThreshold ConfidenceThreshold = 1.0 + // HighConfidenceThreshold represents a high confidence threshold value. HighConfidenceThreshold ConfidenceThreshold = 0.9 @@ -49,6 +54,9 @@ const ( // NoConfidenceThreshold represents no confidence threshold value. NoConfidenceThreshold ConfidenceThreshold = 0.0 + // PerfectConfidence represents a perfect confidence level. + PerfectConfidence ConfidenceLevel = 4 + // HighConfidence represents a high confidence level. HighConfidence ConfidenceLevel = 3 @@ -66,6 +74,8 @@ const ( func CalculateDiscoveryConfidence(totalConfidence float64) (ConfidenceLevel, ConfidenceThreshold) { total := ConfidenceThreshold(totalConfidence) switch { + case total == PerfectConfidenceThreshold: + return PerfectConfidence, PerfectConfidenceThreshold case total >= HighConfidenceThreshold: return HighConfidence, HighConfidenceThreshold case total >= MediumConfidenceThreshold: @@ -105,7 +115,7 @@ func ConfidenceCheck(standard EIP, contract *ContractMatcher) (Discovery, bool) for _, contractFunction := range contract.Functions { if _, found := discoveredFunctions[contractFunction.Name]; !found { - if tokensFound, found := functionMatch(&contractFn, standardFunction, contractFunction); found { + if tokensFound, found := FunctionMatch(&contractFn, standardFunction, contractFunction); found { discoveredFunctions[contractFunction.Name] = true contractFn.Matched = true foundTokenCount += tokensFound @@ -181,10 +191,46 @@ func ConfidenceCheck(standard EIP, contract *ContractMatcher) (Discovery, bool) return toReturn, foundTokenCount > 0 } +func FunctionConfidenceCheck(standard EIP, fn *Function) (FunctionDiscovery, bool) { + foundTokenCount := 0 + maximumTokens := standard.FunctionTokenCount(fn.Name) + + toReturn := FunctionDiscovery{ + Standard: standard.GetType(), + Confidence: NoConfidence, + ConfidencePoints: 0, + Threshold: NoConfidenceThreshold, + MaximumTokens: maximumTokens, + DiscoveredTokens: 0, + Function: &Function{ + Name: fn.Name, + }, + } + + for _, standardFunction := range standard.GetFunctions() { + if fn.Name == standardFunction.Name { + if tokensFound, found := FunctionMatch(toReturn.Function, standardFunction, *fn); found { + fn.Matched = true + toReturn.Function.Matched = true + foundTokenCount += tokensFound + } + } + } + + toReturn.DiscoveredTokens = foundTokenCount + confidencePoints := float64(foundTokenCount) / float64(maximumTokens) + level, threshold := CalculateDiscoveryConfidence(confidencePoints) + toReturn.Confidence = level + toReturn.ConfidencePoints = confidencePoints + toReturn.Threshold = threshold + + return toReturn, foundTokenCount > 0 +} + // functionMatch matches a function from a contract to a standard function and returns the total token count and a boolean indicating if a match was found. -func functionMatch(newFn *Function, standardFunction, contractFunction Function) (int, bool) { +func FunctionMatch(newFn *Function, standardFunction, contractFunction Function) (int, bool) { totalTokenCount := 0 - + newFn.Name = contractFunction.Name if standardFunction.Name == contractFunction.Name { totalTokenCount++ for _, sfnInput := range standardFunction.Inputs { diff --git a/standards/confidence_test.go b/standards/confidence_test.go index c60d0231..fa484bcc 100644 --- a/standards/confidence_test.go +++ b/standards/confidence_test.go @@ -28,9 +28,9 @@ func TestEIPConfidenceDiscovery(t *testing.T) { expectedError string }{ { - name: "Test EIP20", + name: "Test ERC20", standard: func() EIP { - standard, err := GetContractByStandard(EIP20) + standard, err := GetContractByStandard(ERC20) assert.NoError(t, err) assert.NotNil(t, standard) return standard @@ -167,7 +167,7 @@ func TestEIPConfidenceDiscovery(t *testing.T) { { name: "Test EIP721", standard: func() EIP { - standard, err := GetContractByStandard(EIP721) + standard, err := GetContractByStandard(ERC721) assert.NoError(t, err) assert.NotNil(t, standard) return standard @@ -221,7 +221,7 @@ func TestEIPConfidenceDiscovery(t *testing.T) { { name: "Test EIP1155", standard: func() EIP { - standard, err := GetContractByStandard(EIP1155) + standard, err := GetContractByStandard(ERC1155) assert.NoError(t, err) assert.NotNil(t, standard) return standard @@ -272,7 +272,7 @@ func TestEIPConfidenceDiscovery(t *testing.T) { { name: "Test EIP1820", standard: func() EIP { - standard, err := GetContractByStandard(EIP1820) + standard, err := GetContractByStandard(ERC1820) assert.NoError(t, err) assert.NotNil(t, standard) return standard @@ -321,7 +321,7 @@ func TestEIPConfidenceDiscovery(t *testing.T) { { name: "Test EIP1822", standard: func() EIP { - standard, err := GetContractByStandard(EIP1822) + standard, err := GetContractByStandard(ERC1822) assert.NoError(t, err) assert.NotNil(t, standard) return standard @@ -368,7 +368,7 @@ func TestEIPConfidenceDiscovery(t *testing.T) { { name: "Test EIP1967", standard: func() EIP { - standard, err := GetContractByStandard(EIP1967) + standard, err := GetContractByStandard(ERC1967) assert.NoError(t, err) assert.NotNil(t, standard) return standard @@ -516,7 +516,7 @@ func TestFunctionMatch(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - gotTokens, gotMatch := functionMatch(tt.newFn, tt.standardFn, tt.contractFn) + gotTokens, gotMatch := FunctionMatch(tt.newFn, tt.standardFn, tt.contractFn) assert.Equal(t, tt.expectedTokens, gotTokens) assert.Equal(t, tt.expectedMatch, gotMatch) }) diff --git a/standards/contract.go b/standards/contract.go index a4849165..8217b83e 100644 --- a/standards/contract.go +++ b/standards/contract.go @@ -47,11 +47,24 @@ func (e *Contract) ConfidenceCheck(contract *ContractMatcher) (Discovery, bool) return ConfidenceCheck(e, contract) } +func (e *Contract) FunctionConfidenceCheck(fn *Function) (FunctionDiscovery, bool) { + return FunctionConfidenceCheck(e, fn) +} + // TokenCount returns the number of tokens associated with the standard. func (e *Contract) TokenCount() int { return TokenCount(e.Standard) } +func (e *Contract) FunctionTokenCount(fnName string) int { + for _, fn := range e.Standard.Functions { + if fn.Name == fnName { + return FunctionTokenCount(fn) + } + } + return 0 +} + // ToProto returns a protobuf representation of the standard. func (e *Contract) ToProto() *eip_pb.ContractStandard { return e.Standard.ToProto() diff --git a/standards/directory.go b/standards/directory.go index 604d3b09..6eb3a868 100644 --- a/standards/directory.go +++ b/standards/directory.go @@ -2,10 +2,10 @@ package standards // standards is a map that stores ContractStandard instances indexed by their Standard identifier. var standards = map[Standard]ContractStandard{ - EIP20: { + ERC20: { Name: "ERC-20 Token Standard", Url: "https://eips.ethereum.org/EIPS/eip-20", - Type: EIP20, + Type: ERC20, ABI: `[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]`, Functions: []Function{ newFunction("totalSupply", nil, []Output{{Type: TypeUint256}}), @@ -20,10 +20,10 @@ var standards = map[Standard]ContractStandard{ newEvent("Approval", []Input{{Type: TypeAddress, Indexed: true}, {Type: TypeAddress, Indexed: true}, {Type: TypeUint256}}, nil), }, }, - EIP721: { - Name: "EIP-721 Non-Fungible Token Standard", + ERC721: { + Name: "ERC-721 Non-Fungible Token Standard", Url: "https://eips.ethereum.org/EIPS/eip-721", - Type: EIP721, + Type: ERC721, ABI: `[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}]`, Functions: []Function{ newFunction("name", nil, []Output{{Type: TypeString}}), @@ -43,10 +43,10 @@ var standards = map[Standard]ContractStandard{ newEvent("ApprovalForAll", []Input{{Type: TypeAddress, Indexed: true}, {Type: TypeAddress, Indexed: true}, {Type: TypeBool}}, nil), }, }, - EIP1155: { + ERC1155: { Name: "ERC-1155 Multi Token Standard", Url: "https://eips.ethereum.org/EIPS/eip-1155", - Type: EIP1155, + Type: ERC1155, ABI: `[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]`, Functions: []Function{ newFunction("safeTransferFrom", []Input{{Type: TypeAddress}, {Type: TypeAddress}, {Type: TypeUint256}, {Type: TypeUint256}, {Type: TypeBytes}}, nil), @@ -63,10 +63,10 @@ var standards = map[Standard]ContractStandard{ newEvent("URI", []Input{{Type: TypeString, Indexed: false}, {Type: TypeUint256, Indexed: true}}, nil), }, }, - EIP1820: { - Name: "EIP-1820 Pseudo-introspection Registry Contract", + ERC1820: { + Name: "ERC-1820 Pseudo-introspection Registry Contract", Url: "https://eips.ethereum.org/EIPS/eip-1820", - Type: EIP1820, + Type: ERC1820, ABI: `[{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"interfaceHash","type":"bytes32"}],"name":"getInterfaceImplementer","outputs":[{"name":"implementer","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"interfaceHash","type":"bytes32"},{"name":"implementer","type":"address"}],"name":"setInterfaceImplementer","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"newManager","type":"address"}],"name":"setManager","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getManager","outputs":[{"name":"manager","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"setInterfaceImplementer","outputs":[],"type":"function"},{"inputs":[],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":true,"name":"interfaceHash","type":"bytes32"},{"indexed":true,"name":"implementer","type":"address"}],"name":"InterfaceImplementerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":true,"name":"newManager","type":"address"}],"name":"ManagerChanged","type":"event"}]`, Functions: []Function{ newFunction("setInterfaceImplementer", []Input{{Type: TypeAddress}, {Type: TypeBytes32}, {Type: TypeAddress}}, nil), @@ -81,11 +81,11 @@ var standards = map[Standard]ContractStandard{ newEvent("ManagerChanged", []Input{{Type: TypeAddress, Indexed: true}, {Type: TypeAddress, Indexed: true}}, nil), }, }, - EIP1822: { - Name: "EIP-1822 Universal Proxy Standard (UPS)", + ERC1822: { + Name: "ERC-1822 Universal Proxy Standard (UPS)", Url: "https://eips.ethereum.org/EIPS/eip-1822", Stagnant: true, - Type: EIP1822, + Type: ERC1822, ABI: `[{"constant":true,"inputs":[],"name":"getImplementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"address"},{"name":"","type":"string"}],"name":"upgradeToAndCall","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"address"}],"name":"setProxyOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"","type":"address"},{"indexed":true,"name":"","type":"address"}],"name":"ProxyOwnershipTransferred","type":"event"}]`, Functions: []Function{ newFunction("getImplementation", nil, []Output{{Type: TypeAddress}}), @@ -98,10 +98,10 @@ var standards = map[Standard]ContractStandard{ newEvent("ProxyOwnershipTransferred", []Input{{Type: TypeAddress, Indexed: true}, {Type: TypeAddress, Indexed: true}}, nil), }, }, - EIP1967: { - Name: "EIP-1967 Proxy Storage Slots", + ERC1967: { + Name: "ERC-1967 Proxy Storage Slots", Url: "https://eips.ethereum.org/EIPS/eip-1967", - Type: EIP1967, + Type: ERC1967, ABI: `[{"constant":false,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"},{"name":"","type":"address"}],"name":"setInterfaceImplementer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"getInterfaceImplementer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"interfaceHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"updateERC165Cache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"implementsERC165InterfaceNoCache","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"implementsERC165Interface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"","type":"address"},{"indexed":true,"name":"","type":"bytes32"},{"indexed":true,"name":"","type":"address"}],"name":"InterfaceImplementerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"","type":"address"},{"indexed":true,"name":"","type":"address"}],"name":"AdminChanged","type":"event"}]`, Functions: []Function{ newFunction("setInterfaceImplementer", []Input{{Type: TypeAddress}, {Type: TypeBytes32}, {Type: TypeAddress}}, nil), @@ -116,4 +116,21 @@ var standards = map[Standard]ContractStandard{ newEvent("AdminChanged", []Input{{Type: TypeAddress, Indexed: true}, {Type: TypeAddress, Indexed: true}}, nil), }, }, + OZOWNABLE: { + Name: "OpenZeppelin Owner Module", + Url: "https://docs.openzeppelin.com/contracts/4.x/api/access#Ownable", + Type: OZOWNABLE, + ABI: `[{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]`, + Functions: []Function{ + newFunction("acceptOwnership", nil, nil), + newFunction("owner", nil, []Output{{Type: TypeAddress}}), + newFunction("pendingOwner", nil, []Output{{Type: TypeAddress}}), + newFunction("renounceOwnership", nil, nil), + newFunction("transferOwnership", []Input{{Type: TypeAddress}}, nil), + }, + Events: []Event{ + newEvent("OwnershipTransferStarted", []Input{{Type: TypeAddress, Indexed: true}, {Type: TypeAddress, Indexed: true}}, nil), + newEvent("OwnershipTransferred", []Input{{Type: TypeAddress, Indexed: true}, {Type: TypeAddress, Indexed: true}}, nil), + }, + }, } diff --git a/standards/interface.go b/standards/interface.go index ccc17339..05d02540 100644 --- a/standards/interface.go +++ b/standards/interface.go @@ -32,9 +32,15 @@ type EIP interface { // the contract is to any level compliant with the Ethereum standard. ConfidenceCheck(contract *ContractMatcher) (Discovery, bool) + // FunctionConfidenceCheck returns a discovery confidence information and a boolean indicating whether + // the contract function is to any level compliant with the Ethereum standard. + FunctionConfidenceCheck(fn *Function) (FunctionDiscovery, bool) + // TokenCount returns the number of tokens associated with the Ethereum standard. TokenCount() int + FunctionTokenCount(fnName string) int + // GetABI returns the ABI of the Ethereum standard. GetABI() string diff --git a/standards/standards.go b/standards/standards.go index ff5d5268..abb9b6ff 100644 --- a/standards/standards.go +++ b/standards/standards.go @@ -26,26 +26,28 @@ func (s Standard) ToProto() eip_pb.Standard { // Constants representing various Ethereum standards and EIPs. const ( - EIP20 Standard = "EIP20" // ERC-20 Token Standard. - EIP721 Standard = "EIP721" // ERC-721 Non-Fungible Token Standard. - EIP1822 Standard = "EIP1822" // EIP-1822 Universal Proxy Standard (UPS). - EIP1820 Standard = "EIP1820" // EIP-1820 Pseudo-introspection Registry Contract. - EIP777 Standard = "EIP777" // ERC-777 Token Standard. - EIP1155 Standard = "EIP1155" // ERC-1155 Multi Token Standard. - EIP1337 Standard = "EIP1337" // ERC-1337 Subscription Standard. - EIP1400 Standard = "EIP1400" // ERC-1400 Security Token Standard. - EIP1410 Standard = "EIP1410" // ERC-1410 Partially Fungible Token Standard. - EIP165 Standard = "EIP165" // ERC-165 Standard Interface Detection. - EIP820 Standard = "EIP820" // ERC-820 Registry Standard. - EIP1014 Standard = "EIP1014" // ERC-1014 Create2 Standard. - EIP1948 Standard = "EIP1948" // ERC-1948 Non-Fungible Data Token Standard. - EIP1967 Standard = "EIP1967" // EIP-1967 Proxy Storage Slots Standard. - EIP2309 Standard = "EIP2309" // ERC-2309 Consecutive Transfer Standard. - EIP2535 Standard = "EIP2535" // ERC-2535 Diamond Standard. - EIP2771 Standard = "EIP2771" // ERC-2771 Meta Transactions Standard. - EIP2917 Standard = "EIP2917" // ERC-2917 Interest-Bearing Tokens Standard. - EIP3156 Standard = "EIP3156" // ERC-3156 Flash Loans Standard. - EIP3664 Standard = "EIP3664" // ERC-3664 BitWords Standard. + ERC20 Standard = "ERC20" // ERC-20 Token Standard. + ERC721 Standard = "ERC721" // ERC-721 Non-Fungible Token Standard. + ERC1822 Standard = "ERC1822" // ERC-1822 Universal Proxy Standard (UPS). + ERC1820 Standard = "ERC1820" // ERC-1820 Pseudo-introspection Registry Contract. + ERC777 Standard = "ERC777" // ERC-777 Token Standard. + ERC1155 Standard = "ERC1155" // ERC-1155 Multi Token Standard. + ERC1337 Standard = "ERC1337" // ERC-1337 Subscription Standard. + ERC1400 Standard = "ERC1400" // ERC-1400 Security Token Standard. + ERC1410 Standard = "ERC1410" // ERC-1410 Partially Fungible Token Standard. + ERC165 Standard = "ERC165" // ERC-165 Standard Interface Detection. + ERC820 Standard = "ERC820" // ERC-820 Registry Standard. + ERC1014 Standard = "ERC1014" // ERC-1014 Create2 Standard. + ERC1948 Standard = "ERC1948" // ERC-1948 Non-Fungible Data Token Standard. + ERC1967 Standard = "ERC1967" // ERC-1967 Proxy Storage Slots Standard. + ERC2309 Standard = "ERC2309" // ERC-2309 Consecutive Transfer Standard. + ERC2535 Standard = "ERC2535" // ERC-2535 Diamond Standard. + ERC2771 Standard = "ERC2771" // ERC-2771 Meta Transactions Standard. + ERC2917 Standard = "ERC2917" // ERC-2917 Interest-Bearing Tokens Standard. + ERC3156 Standard = "ERC3156" // ERC-3156 Flash Loans Standard. + ERC3664 Standard = "ERC3664" // ERC-3664 BitWords Standard. + UNISWAPV2 Standard = "UNISWAPV2" // Uniswap V2 Core. + OZOWNABLE Standard = "OZOWNABLE" // OpenZeppelin Ownable. ) // LoadStandards loads list of supported Ethereum EIPs into the registry. diff --git a/standards/storage_test.go b/standards/storage_test.go index 63a0e17e..cca54991 100644 --- a/standards/storage_test.go +++ b/standards/storage_test.go @@ -28,71 +28,71 @@ func TestEIPStorage(t *testing.T) { expectedError string }{ { - name: "Test EIP20", + name: "Test ERC20", standard: func() EIP { - standard, err := GetContractByStandard(EIP20) + standard, err := GetContractByStandard(ERC20) assert.NoError(t, err) assert.NotNil(t, standard) return standard }(), expectedExists: true, - expectedError: "standard EIP20 already exists", + expectedError: "standard ERC20 already exists", }, { - name: "Test EIP721", + name: "Test ERC721", standard: func() EIP { - standard, err := GetContractByStandard(EIP721) + standard, err := GetContractByStandard(ERC721) assert.NoError(t, err) assert.NotNil(t, standard) return standard }(), expectedExists: true, - expectedError: "standard EIP721 already exists", + expectedError: "standard ERC721 already exists", }, { - name: "Test EIP1155", + name: "Test ERC1155", standard: func() EIP { - standard, err := GetContractByStandard(EIP1155) + standard, err := GetContractByStandard(ERC1155) assert.NoError(t, err) assert.NotNil(t, standard) return standard }(), expectedExists: true, - expectedError: "standard EIP1155 already exists", + expectedError: "standard ERC1155 already exists", }, { - name: "Test EIP1820", + name: "Test ERC1820", standard: func() EIP { - standard, err := GetContractByStandard(EIP1820) + standard, err := GetContractByStandard(ERC1820) assert.NoError(t, err) assert.NotNil(t, standard) return standard }(), expectedExists: true, - expectedError: "standard EIP1820 already exists", + expectedError: "standard ERC1820 already exists", }, { - name: "Test EIP1822", + name: "Test ERC1822", standard: func() EIP { - standard, err := GetContractByStandard(EIP1822) + standard, err := GetContractByStandard(ERC1822) assert.NoError(t, err) assert.NotNil(t, standard) return standard }(), expectedExists: true, isStagnant: true, - expectedError: "standard EIP1822 already exists", + expectedError: "standard ERC1822 already exists", }, { - name: "Test EIP1967", + name: "Test ERC1967", standard: func() EIP { - standard, err := GetContractByStandard(EIP1967) + standard, err := GetContractByStandard(ERC1967) assert.NoError(t, err) assert.NotNil(t, standard) return standard }(), expectedExists: true, - expectedError: "standard EIP1967 already exists", + expectedError: "standard ERC1967 already exists", }, } diff --git a/standards/tokens.go b/standards/tokens.go index 8ca6989b..331e3618 100644 --- a/standards/tokens.go +++ b/standards/tokens.go @@ -45,3 +45,24 @@ func TokenCount(cs ContractStandard) int { return count } + +func FunctionTokenCount(fn Function) int { + count := 1 // Assuming function name... + + for _, input := range fn.Inputs { + count++ + if len(input.Type) > 0 { + count++ + } + count++ // Indexed is always counted as it's a boolean + } + + for _, output := range fn.Outputs { + count++ + if len(output.Type) > 0 { + count++ + } + } + + return count +} diff --git a/standards/types.go b/standards/types.go index 4b74035f..09c11180 100644 --- a/standards/types.go +++ b/standards/types.go @@ -228,6 +228,14 @@ func (c *ContractMatcher) ToProto() *eip_pb.Contract { } } +type FunctionMatcher struct { + // Name of the contract. + Name string `json:"name"` + + // Functions is a slice of Function structs, representing the functions defined in the contract standard. + Functions []Function `json:"functions"` +} + // Discovery represents a contract standard discovery response. type Discovery struct { // Confidence specifies the confidence level of the discovery. @@ -266,3 +274,28 @@ func (d *Discovery) ToProto() *eip_pb.Discovery { Contract: d.Contract.ToProto(), } } + +type FunctionDiscovery struct { + // Confidence specifies the confidence level of the discovery. + Confidence ConfidenceLevel `json:"confidence"` + + // ConfidencePoints specifies the confidence points of the discovery. + ConfidencePoints float64 `json:"confidence_points"` + + // Threshold specifies the threshold level of the discovery. + Threshold ConfidenceThreshold `json:"threshold"` + + // MaximumTokens specifies the maximum number of tokens in the standard. + // This is basically a standard TokenCount() function response value. + MaximumTokens int `json:"maximum_tokens"` + + // DiscoverdTokens specifies the number of tokens discovered in the standard. + // The more tokens discovered, the higher the confidence level. + DiscoveredTokens int `json:"discovered_tokens"` + + // ContractStandard that is being scanned. + Standard Standard `json:"standard"` + + // Contract that is being scanned including mathed functions and events. + Function *Function `json:"function"` +} diff --git a/storage/descriptor.go b/storage/descriptor.go new file mode 100644 index 00000000..532a8b20 --- /dev/null +++ b/storage/descriptor.go @@ -0,0 +1,92 @@ +package storage + +import ( + "math/big" + "sort" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/cfg" + "github.com/unpackdev/solgo/detector" + "github.com/unpackdev/solgo/ir" +) + +// Descriptor holds information about a smart contract's state at a specific block. +// It includes details like state variables, target variables, constant variables, and storage layouts. +type Descriptor struct { + Detector *detector.Detector `json:"-"` + cfgBuilder *cfg.Builder `json:"-"` + Address common.Address `json:"address"` + Block *big.Int `json:"block"` + StateVariables map[string][]*Variable `json:"-"` + TargetVariables map[string][]*Variable `json:"-"` + ConstanVariables map[string][]*Variable `json:"-"` + StorageLayout *StorageLayout `json:"storage_layout"` +} + +// GetDetector retrieves the contract's detector, which is essential for contract analysis. +// It returns an error if the contract or its detector is not properly set up. +func (s *Descriptor) GetDetector() *detector.Detector { + return s.Detector +} + +// GetAST retrieves the abstract syntax tree (AST) builder for the contract. +// It returns an error if the AST builder is not available due to parsing failures or initialization issues. +func (s *Descriptor) GetAST() *ast.ASTBuilder { + return s.GetDetector().GetAST() +} + +// GetIR retrieves the intermediate representation (IR) builder of the contract. +// It returns an error if the IR builder is not set, indicating parsing or initialization issues. +func (s *Descriptor) GetIR() *ir.Builder { + return s.GetDetector().GetIR() +} + +// GetCFG retrieves the control flow graph (CFG) builder of the contract. +// It returns an error if the CFG builder is not set, indicating parsing or initialization issues. +func (s *Descriptor) GetCFG() *cfg.Builder { + return s.cfgBuilder +} + +// GetStateVariables returns a map of state variables associated with the contract. +func (s *Descriptor) GetStateVariables() map[string][]*Variable { + return s.StateVariables +} + +// GetTargetVariables returns a map of target variables associated with the contract. +func (s *Descriptor) GetTargetVariables() map[string][]*Variable { + return s.TargetVariables +} + +// GetConstantStorageSlotVariables returns a map of constant variables associated with the contract. +func (s *Descriptor) GetConstantStorageSlotVariables() map[string][]*Variable { + return s.ConstanVariables +} + +// GetBlock returns the block number at which the contract's state is described. +func (s *Descriptor) GetBlock() *big.Int { + return s.Block +} + +// GetStorageLayout returns all storage layouts associated with the contract. +func (s *Descriptor) GetStorageLayout() *StorageLayout { + return s.StorageLayout +} + +// GetSlots returns slots descriptor by its declaration line. +func (s *Descriptor) GetSlots() []*SlotDescriptor { + return s.StorageLayout.Slots +} + +// GetSortedSlots returns a slice of slot descriptors sorted by their declaration line. +// It aggregates and sorts slot descriptors from all storage layouts. +func (s *Descriptor) GetSortedSlots() []*SlotDescriptor { + var slots []*SlotDescriptor + slots = append(slots, s.StorageLayout.Slots...) + + sort.Slice(slots, func(i, j int) bool { + return slots[i].DeclarationId < slots[j].DeclarationId + }) + + return slots +} diff --git a/storage/doc.go b/storage/doc.go new file mode 100644 index 00000000..ffb4409e --- /dev/null +++ b/storage/doc.go @@ -0,0 +1,3 @@ +// Package storage provides tools for interacting with smart contract storages on the Ethereum based networks. +// It includes functionalities such as querying contract storage, decoding contracts, and reading contract storage variables. +package storage diff --git a/storage/helpers.go b/storage/helpers.go new file mode 100644 index 00000000..9f3e4848 --- /dev/null +++ b/storage/helpers.go @@ -0,0 +1,176 @@ +package storage + +import ( + "encoding/binary" + "errors" + "fmt" + "math/big" + "strings" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +// calculateSlot determines the appropriate storage slot and offset for a given variable. +// It handles different cases like mapping, dynamic arrays, and variable packing within a slot. +// Returns the slot number, offset within the slot, and an updated slice of variables. +func calculateSlot(variable *Variable, currentSlot int64, previousVars []*Variable) (int64, int64, []*Variable) { + isNewSlotNeeded := variable.IsMappingType() || variable.IsDynamicArray() + + // If this is a mapping or dynamic array, or no previous vars, assign a new slot + if isNewSlotNeeded && len(previousVars) == 0 { + return currentSlot, 0, []*Variable{variable} + } + + if canBePacked(variable, previousVars) { + offset := calculateOffset(previousVars) + return currentSlot, offset, append(previousVars, variable) + } + + return currentSlot + 1, 0, []*Variable{variable} +} + +// calculateOffset computes the total bit offset for a set of variables. +// Used to determine the offset within a storage slot for variable packing. +func calculateOffset(previousVars []*Variable) int64 { + totalUsedBits := int64(0) + for _, prevVar := range previousVars { + bitSize, _ := prevVar.GetAST().GetTypeName().StorageSize() + totalUsedBits += bitSize + } + + return totalUsedBits +} + +// canBePacked checks if a given variable can be packed into the same storage slot +// as previous variables. Considers the total bit size and special cases like boolean variables. +func canBePacked(variable *Variable, previousVars []*Variable) bool { + totalUsedBits := int64(0) + for _, prevVar := range previousVars { + bitSize, _ := prevVar.GetAST().GetTypeName().StorageSize() + totalUsedBits += bitSize + } + + bitSize, _ := variable.GetAST().GetTypeName().StorageSize() + + // Check if the total size exceeds the 256-bit boundary of a single slot. + if totalUsedBits+bitSize > 256 { + return false + } + + // Special handling for bool variables + if variable.Type == "bool" { + return totalUsedBits%256+bitSize <= 256 + } + + // General case for other types: Allow packing different-sized variables + // as long as they fit within the 256-bit boundary of a single slot + return totalUsedBits%256+bitSize <= 256 +} + +// convertStorageToValue converts raw storage bytes into a meaningful value based on the slot's type. +// Handles various Ethereum data types like integers, booleans, addresses, etc. +// Returns an error if the conversion is not possible or if the data format is not as expected. +func convertStorageToValue(storage *Storage, contractAddress common.Address, slot *SlotDescriptor, storageValue []byte) error { + if len(storageValue) == 0 { + return errors.New("storage value is empty") + } + + switch { + case strings.HasPrefix(slot.Type, "uint") || strings.HasPrefix(slot.Type, "int"): + slot.Value = new(big.Int).SetBytes(storageValue) + return nil + + case strings.HasPrefix(slot.Type, "bool"): + if slot.Offset >= 8*int64(len(storageValue)) { + return fmt.Errorf("offset %d out of range for storage value", slot.Offset) + } + + // Convert from big-endian to little-endian + littleEndianValue := make([]byte, len(storageValue)) + for i, b := range storageValue { + littleEndianValue[len(storageValue)-1-i] = b + } + + // Determine the byte index and bit position within the byte + byteIndex := slot.Offset / 8 + bitPos := slot.Offset % 8 + + // Extract the bit and assign the boolean value + slot.Value = (littleEndianValue[byteIndex] & (1 << bitPos)) != 0 + + case strings.HasPrefix(slot.Type, "address") || strings.HasPrefix(slot.Type, "contract"): + if len(storageValue) < 32 { + return errors.New("storage value too short for an Ethereum address") + } + + var addressBytes []byte + if slot.Offset == 0 { + // If the address starts at the beginning of the slot, use the last 20 bytes + addressBytes = storageValue[len(storageValue)-20:] + } else { + // Calculate the start index based on the offset (in bits) + startIndex := slot.Offset / 8 + + // Adjust the endIndex to extract 20 bytes after the offset + endIndex := startIndex + 20 + if endIndex > int64(len(storageValue)) { + return errors.New("storage value too short for an Ethereum address with given offset") + } + addressBytes = storageValue[startIndex:endIndex] + } + + slot.Value = common.BytesToAddress(addressBytes) + + case strings.HasPrefix(slot.Type, "bytes"): + slot.Value = storageValue + + case strings.HasPrefix(slot.Type, "string"): + decodedString, err := decodeSolidityString(storage, contractAddress, slot.Slot, storageValue, slot.BlockNumber) + if err != nil { + return fmt.Errorf("error decoding string: %v", err) + } + slot.Value = decodedString + + case strings.HasPrefix(slot.Type, "struct"): + slot.Value = struct{}{} + + case strings.HasPrefix(slot.Type, "mapping"): + slot.Value = struct{}{} + + default: + // Fuck this shit, will figure out later on how to deal with it properly... + if common.BytesToAddress(storageValue) == utils.ZeroAddress { + slot.Value = big.NewInt(0) + return nil + } + + slot.Value = storageValue + } + + return nil +} + +// decodeSolidityString decodes a string stored in Ethereum's Solidity format from raw storage bytes. +// It handles strings that span multiple slots. +func decodeSolidityString(storage *Storage, contractAddress common.Address, startSlot int64, storageValue []byte, blockNumber *big.Int) (string, error) { + if len(storageValue) != 32 { + return "", errors.New("initial storage value is not 32 bytes long") + } + + // Length is read from the last 8 bytes of the storageValue + length := binary.BigEndian.Uint64(storageValue[24:32]) + + // Guard against excessively large length values + /* const maxLength = 10 * 1024 // For example, 10 KB + if length > maxLength { + return "", fmt.Errorf("string length %d exceeds maximum allowed length of %d", length, maxLength) + } */ + + if length <= 31 { // Fits in a single slot + return string(storageValue[:length]), nil + } + + // For now.... Don't have time fixing up the multi strings... + return "", nil +} diff --git a/storage/layout.go b/storage/layout.go new file mode 100644 index 00000000..aed36f3e --- /dev/null +++ b/storage/layout.go @@ -0,0 +1,90 @@ +package storage + +import ( + "sort" +) + +// StorageLayout represents the layout of storage with multiple slots. +// It holds a slice of SlotDescriptor pointers, each representing a storage slot. +type StorageLayout struct { + Slots []*SlotDescriptor `json:"slots"` // Slots is a slice of SlotDescriptor pointers. +} + +// GetSlots returns a slice of pointers to SlotDescriptor representing all slots. +func (s *StorageLayout) GetSlots() []*SlotDescriptor { + return s.Slots +} + +// GetSlot retrieves a SlotDescriptor based on a given slot ID. +// Returns nil if no slot with the given ID exists. +func (s *StorageLayout) GetSlot(slot int64) *SlotDescriptor { + for _, slotInfo := range s.Slots { + if slotInfo.Slot == slot { + return slotInfo + } + } + return nil +} + +// GetSlotByName searches for and returns a SlotDescriptor based on a slot name. +// Returns nil if no slot with the given name is found. +func (s *StorageLayout) GetSlotByName(name string) *SlotDescriptor { + for _, slotInfo := range s.Slots { + if slotInfo.Name == name { + return slotInfo + } + } + return nil +} + +// GetSlotByOffset finds and returns a SlotDescriptor based on a slot offset. +// Returns nil if no slot with the given offset is found. +func (s *StorageLayout) GetSlotByOffset(offset int64) *SlotDescriptor { + for _, slotInfo := range s.Slots { + if slotInfo.Offset == offset { + return slotInfo + } + } + return nil +} + +// GetSlotByType finds and returns a SlotDescriptor based on a slot type. +// Returns nil if no slot of the given type is found. +func (s *StorageLayout) GetSlotByType(t string) *SlotDescriptor { + for _, slotInfo := range s.Slots { + if slotInfo.Type == t { + return slotInfo + } + } + return nil +} + +// AppendSlot adds a new SlotDescriptor to the Slots slice at a specified index. +// The function returns true if the slot is successfully added. It returns false +// if the slot already exists. After adding, the slots are sorted based on their +// declaration order using the DeclarationId field. +func (s *StorageLayout) AppendSlot(index int64, slot *SlotDescriptor) bool { + if !s.SlotExists(slot.Slot) { + s.Slots[index] = slot + + // Ensure that the slot is in the correct position + // It's basically a trick to order them by their declaration order + sort.Slice(s.Slots, func(i, j int) bool { + return s.Slots[i].DeclarationId < s.Slots[j].DeclarationId + }) + + return true + } + return false +} + +// SlotExists checks if a slot with the given ID already exists in the layout. +// Returns true if the slot exists, and false otherwise. +func (s *StorageLayout) SlotExists(slot int64) bool { + for _, slotInfo := range s.Slots { + if slotInfo.Slot == slot { + return true + } + } + return false +} diff --git a/storage/options.go b/storage/options.go new file mode 100644 index 00000000..eed14fd8 --- /dev/null +++ b/storage/options.go @@ -0,0 +1,30 @@ +package storage + +// Options defines the configuration parameters for the storage system. +// It includes settings to determine the use of a simulator for storage operations. +type Options struct { + // UseSimulator indicates whether to use the simulator for storage operations. + // When set to true, storage operations are simulated. This is useful for testing + // or development purposes where actual storage resources are not required. + // The default value is false. + UseSimulator bool `json:"use_simulator"` +} + +// NewDefaultOptions creates and returns a new instance of Options with default settings. +// By default, the UseSimulator field is set to false, indicating that the simulator +// is not used, and actual storage operations are performed. +func NewDefaultOptions() *Options { + return &Options{ + UseSimulator: false, + } +} + +// NewSimulatorOptions creates and returns a new instance of Options with the +// UseSimulator field set to true. This configuration is useful for scenarios +// where storage operations need to be simulated, such as during testing or +// when actual storage resources are not available or necessary. +func NewSimulatorOptions() *Options { + return &Options{ + UseSimulator: true, + } +} diff --git a/storage/reader.go b/storage/reader.go new file mode 100644 index 00000000..1734f709 --- /dev/null +++ b/storage/reader.go @@ -0,0 +1,114 @@ +package storage + +import ( + "context" + "fmt" + "strings" +) + +// Reader is responsible for reading and interpreting storage-related information of a smart contract. +// It uses a Descriptor to understand the contract's storage layout and variables. +type Reader struct { + ctx context.Context // ctx is the context for operations within Reader. + storage *Storage // storage is the storage system associated with the Reader. + descriptor *Descriptor // descriptor contains the contract's storage layout and variable information. +} + +// NewReader creates a new instance of Reader with the given context, Storage, and Descriptor. +// It returns a pointer to the created Reader and any error encountered during its creation. +func NewReader(ctx context.Context, s *Storage, d *Descriptor) (*Reader, error) { + return &Reader{ + ctx: ctx, + storage: s, + descriptor: d, + }, nil +} + +// GetDescriptor returns the Descriptor associated with the Reader. +func (r *Reader) GetDescriptor() *Descriptor { + return r.descriptor +} + +// DiscoverStorageVariables analyzes the smart contract to discover and categorize storage variables. +// It differentiates between constant and non-constant variables and organizes them accordingly. +func (r *Reader) DiscoverStorageVariables() error { + cfgBuilder := r.descriptor.GetCFG() + if cfgBuilder == nil { + return fmt.Errorf("CFG builder is not available") + } + + orderedStateVars, err := cfgBuilder.GetStorageStateVariables() + if err != nil { + return fmt.Errorf("failed to get ordered state variables: %v", err) + } + + for _, stateVar := range orderedStateVars { + contractName := stateVar.GetContract().GetName() + variable := &Variable{ + Contract: stateVar.GetContract(), + EntryContract: stateVar.IsEntryContract(), + StateVariable: stateVar.GetVariable(), + } + + r.descriptor.StateVariables[contractName] = append(r.descriptor.StateVariables[contractName], variable) + + if !variable.StateVariable.IsConstant() { + r.descriptor.TargetVariables[contractName] = append(r.descriptor.TargetVariables[contractName], variable) + } else { + r.descriptor.ConstanVariables[contractName] = append(r.descriptor.ConstanVariables[contractName], variable) + } + } + + return nil +} + +// CalculateStorageLayout calculates and sets the storage layout of the smart contract in the Descriptor. +// It determines the slot and offset for each storage variable and organizes them accordingly. +func (r *Reader) CalculateStorageLayout() error { + currentSlot := int64(0) + var previousVars []*Variable + + sortedSlots := []*SlotDescriptor{} + + for _, variables := range r.descriptor.GetTargetVariables() { + for _, variable := range variables { + storageSize, found := variable.GetAST().GetTypeName().StorageSize() + if !found { + //utils.DumpNodeWithExit(variable.GetAST().GetTypeName()) + return fmt.Errorf("error calculating storage size for variable: %s", variable.GetName()) + } + + typeName := variable.GetType() + if strings.HasPrefix(typeName, "contract") { + typeName = "address" + } + + sortedSlots = append(sortedSlots, &SlotDescriptor{ + DeclarationId: variable.StateVariable.GetId(), + Variable: variable, + Contract: variable.Contract, + Name: variable.GetName(), + Type: typeName, + TypeDescription: variable.StateVariable.GetTypeDescription(), + Size: storageSize, + }) + } + } + + for i, variable := range sortedSlots { + slot, offset, updatedPreviousVars := calculateSlot(variable.Variable, currentSlot, previousVars) + previousVars = updatedPreviousVars + sortedSlots[i].Slot = slot + sortedSlots[i].Offset = offset + + if slot != currentSlot { + currentSlot = slot + } + } + + r.descriptor.StorageLayout = &StorageLayout{ + Slots: sortedSlots, + } + + return nil +} diff --git a/storage/slot.go b/storage/slot.go new file mode 100644 index 00000000..a28a9929 --- /dev/null +++ b/storage/slot.go @@ -0,0 +1,50 @@ +package storage + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/ir" +) + +// SlotDescriptor provides detailed information about a storage slot in an Ethereum smart contract. +// It includes metadata about the variable stored in the slot, the contract it belongs to, and the slot's state at a specific block number. +type SlotDescriptor struct { + // DeclarationId is a unique identifier for the variable declaration associated with this slot. + DeclarationId int64 `json:"declaration_id"` + + // Variable represents the variable metadata and is not serialized into JSON. + Variable *Variable `json:"-"` + + // Contract points to the IR representation of the contract containing this slot. + // It is not serialized into JSON. + Contract *ir.Contract `json:"-"` + + // BlockNumber specifies the block at which the slot's state is considered. + BlockNumber *big.Int `json:"block_number"` + + // Name is the name of the variable in the smart contract. + Name string `json:"name"` + + // Type is the high-level type of the variable (e.g., "uint256"). + Type string `json:"type"` + + // TypeDescription provides a detailed AST-based type description of the variable. + TypeDescription *ast.TypeDescription `json:"type_description"` + + // Slot is the index of the storage slot in the contract. + Slot int64 `json:"slot"` + + // Size indicates the size of the variable in bytes. + Size int64 `json:"size"` + + // Offset represents the byte offset of the variable within the storage slot. + Offset int64 `json:"offset"` + + // RawValue is the raw Ethereum storage slot value at the specified block number. + RawValue common.Hash `json:"raw_value"` + + // Value is the interpreted value of the variable, with its type depending on the variable's type. + Value interface{} `json:"value"` +} diff --git a/storage/storage.go b/storage/storage.go new file mode 100644 index 00000000..1a0f4f1b --- /dev/null +++ b/storage/storage.go @@ -0,0 +1,153 @@ +package storage + +import ( + "context" + "fmt" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/cfg" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/detector" + "github.com/unpackdev/solgo/simulator" + "github.com/unpackdev/solgo/utils" +) + +// Storage is a struct that encapsulates various components required to interact with Ethereum smart contracts. +type Storage struct { + ctx context.Context + network utils.Network + clientsPool *clients.ClientPool + opts *Options + simulator *simulator.Simulator +} + +// NewStorage creates a new Storage instance. It requires context, network configuration, and various components +// such as a client pool, simulator, etherscan provider, compiler, and binding manager. +// It returns an initialized Storage object or an error if the initialization fails. +func NewStorage( + ctx context.Context, + network utils.Network, + clientsPool *clients.ClientPool, + simulator *simulator.Simulator, + opts *Options, +) (*Storage, error) { + if opts == nil { + return nil, fmt.Errorf("options cannot be nil") + } + + return &Storage{ + ctx: ctx, + network: network, + clientsPool: clientsPool, + opts: opts, + simulator: simulator, + }, nil +} + +// Describe queries and returns detailed information about a smart contract at a specific address. +// It requires context, the contract address, detector and the block number for the query. +// It returns a Reader instance containing contract details or an error if the query fails. +func (s *Storage) Describe(ctx context.Context, addr common.Address, detector *detector.Detector, cfgBuilder *cfg.Builder, atBlock *big.Int) (*Reader, error) { + return s._describe(ctx, addr, detector, cfgBuilder, atBlock) +} + +// _describe is an internal method that performs the actual description process of a contract. +// It constructs a Descriptor and utilizes a Reader to discover and calculate storage variables and layouts. +func (s *Storage) _describe(ctx context.Context, addr common.Address, detector *detector.Detector, cfgBuilder *cfg.Builder, atBlock *big.Int) (*Reader, error) { + descriptor := &Descriptor{ + Detector: detector, + cfgBuilder: cfgBuilder, + Address: addr, + Block: atBlock, + StateVariables: make(map[string][]*Variable), + TargetVariables: make(map[string][]*Variable), + ConstanVariables: make(map[string][]*Variable), + StorageLayout: &StorageLayout{ + Slots: make([]*SlotDescriptor, 0), + }, + } + + reader, err := NewReader(ctx, s, descriptor) + if err != nil { + return nil, err + } + + if err := reader.DiscoverStorageVariables(); err != nil { + return nil, err + } + + if err := reader.CalculateStorageLayout(); err != nil { + return nil, err + } + + if err := s.populateStorageValues(ctx, reader, addr, descriptor, atBlock); err != nil { + return nil, err + } + + return reader, nil +} + +// populateStorageValues populates storage values for each slot in the descriptor's storage layout. +func (s *Storage) populateStorageValues(ctx context.Context, reader *Reader, addr common.Address, descriptor *Descriptor, atBlock *big.Int) error { + var lastStorageValue []byte + var lastSlot int64 = -1 + var lastBlockNumber *big.Int + + for _, slot := range descriptor.GetSlots() { + if slot.Slot != lastSlot { + blockNumber, storageValue, err := s.getStorageValueAt(ctx, addr, slot.Slot, atBlock) + if err != nil { + return err + } + + if descriptor.Block == nil { + descriptor.Block = blockNumber + } + + slot.BlockNumber = blockNumber + lastStorageValue = storageValue + lastSlot = slot.Slot + lastBlockNumber = blockNumber + } + + slot.BlockNumber = lastBlockNumber + slot.RawValue = common.BytesToHash(lastStorageValue) + if err := convertStorageToValue(s, addr, slot, lastStorageValue); err != nil { + return err + } + } + + return nil +} + +// getStorageValueAt retrieves the storage value at a given slot for a contract. +func (s *Storage) getStorageValueAt(ctx context.Context, contractAddress common.Address, slot int64, blockNumber *big.Int) (*big.Int, []byte, error) { + client := s.clientsPool.GetClientByGroup(s.network.String()) + if client == nil { + return blockNumber, nil, fmt.Errorf("no client found for network %s", s.network) + } + + if blockNumber == nil { + latestHeader, err := client.BlockByNumber(ctx, nil) + if err != nil { + return blockNumber, nil, fmt.Errorf("failed to get latest block header: %v", err) + } + blockNumber = latestHeader.Number() + } + + bigIntIndex := big.NewInt(slot) + position := common.BigToHash(bigIntIndex) + + response, err := client.StorageAt(ctx, contractAddress, position, blockNumber) + return blockNumber, response, err +} + +// ReadStorageSlot reads the storage at a given slot for a specific contract. +func (s *Storage) ReadStorageSlot(ctx context.Context, contractAddress common.Address, slot int64, blockNumber *big.Int) ([]byte, error) { + _, storageValue, err := s.getStorageValueAt(ctx, contractAddress, slot, blockNumber) + if err != nil { + return nil, fmt.Errorf("error reading storage slot %d: %v", slot, err) + } + return storageValue, nil +} diff --git a/storage/storage_test.go b/storage/storage_test.go new file mode 100644 index 00000000..c39b749a --- /dev/null +++ b/storage/storage_test.go @@ -0,0 +1,220 @@ +package storage + +import ( + "context" + "fmt" + "math/big" + "os" + "strings" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/unpackdev/solgo" + "github.com/unpackdev/solgo/cfg" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/detector" + "github.com/unpackdev/solgo/providers/etherscan" + "github.com/unpackdev/solgo/simulator" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" +) + +func TestStorage(t *testing.T) { + tAssert := assert.New(t) + + config := zap.NewDevelopmentConfig() + config.Level = zap.NewAtomicLevelAt(zap.InfoLevel) + config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder + logger, err := config.Build() + tAssert.NoError(err) + zap.ReplaceGlobals(logger) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + clientOptions := &clients.Options{ + Nodes: []clients.Node{ + { + Group: string(utils.Ethereum), + Type: "mainnet", + Endpoint: "ws://localhost:8545", + NetworkId: 1, + ConcurrentClientsNumber: 1, + }, + }, + } + + pool, err := clients.NewClientPool(ctx, clientOptions) + require.NoError(t, err) + require.NotNil(t, pool) + + sim, err := simulator.CreateNewTestSimulator(ctx, pool, t, nil) + require.NoError(t, err) + require.NotNil(t, sim) + defer sim.Close() + + etherscanApiKeys := os.Getenv("ETHERSCAN_API_KEYS") + etherscanProvider := etherscan.NewEtherScanProvider(ctx, nil, ðerscan.Options{ + Provider: etherscan.EtherScan, + Endpoint: "https://api.etherscan.io/api", + Keys: strings.Split(etherscanApiKeys, ","), + }) + + storage, err := NewStorage(ctx, utils.Ethereum, pool, sim, NewDefaultOptions()) + tAssert.NoError(err) + tAssert.NotNil(storage) + + testCases := []struct { + name string + address common.Address + atBlock *big.Int + expectError bool + expectedSlotsCount int + expectedSlots map[int]*SlotDescriptor + }{ + /* { + name: "Valid GROK (ETH) Contract: 0x8390a1da07e376ef7add4be859ba74fb83aa02d5", + address: common.HexToAddress("0x8390a1da07e376ef7add4be859ba74fb83aa02d5"), + atBlock: nil, + expectError: false, + expectedSlotsCount: 24, + expectedSlots: map[int]*SlotDescriptor{}, + }, */ + /* { + name: "Operation Black Rock: 0x01e99288ea767084cdabb1542aaa017425525f5b", + address: common.HexToAddress("0x01e99288ea767084cdabb1542aaa017425525f5b"), + atBlock: nil, + expectError: false, + expectedSlotsCount: 20, + expectedSlots: map[int]*SlotDescriptor{ + 0: {}, + }, + }, */ + /* { + name: "Q*: 0x9abfc0f085c82ec1be31d30843965fcc63053ffe", + address: common.HexToAddress("0x9abfc0f085c82ec1be31d30843965fcc63053ffe"), + atBlock: nil, + expectError: false, + expectedSlotsCount: 24, + expectedSlots: map[int]*SlotDescriptor{}, + }, */ + /* { + name: "Q*: 0x818339b4E536E707f14980219037c5046b049dD4", + address: common.HexToAddress("0x818339b4E536E707f14980219037c5046b049dD4"), + atBlock: nil, + expectError: false, + expectedSlotsCount: 26, + expectedSlots: map[int]*SlotDescriptor{}, + }, */ + /* { + name: "Q*: 0x8dB4beACcd1698892821a9a0Dc367792c0cB9940", + address: common.HexToAddress("0x8dB4beACcd1698892821a9a0Dc367792c0cB9940"), + atBlock: nil, + expectError: false, + expectedSlotsCount: 26, + expectedSlots: map[int]*SlotDescriptor{}, + }, */ + /* { + name: "NonfungiblePositionManager: 0xC36442b4a4522E871399CD717aBDD847Ab11FE88", + address: common.HexToAddress("0xC36442b4a4522E871399CD717aBDD847Ab11FE88"), + atBlock: nil, + expectError: false, + expectedSlotsCount: 25, + expectedSlots: map[int]*SlotDescriptor{}, + }, */ + /* { + name: "UniswapV3Pool: 0xE67b950F4b84c5b06Ee36DEd6727a17443fE7493", + address: common.HexToAddress("0xE67b950F4b84c5b06Ee36DEd6727a17443fE7493"), + atBlock: nil, + expectError: false, + expectedSlotsCount: 16, + expectedSlots: map[int]*SlotDescriptor{}, + }, */ + { + name: "SpareBytes: 0xc2F78739074b5dDCA2aDB85DE63826Cc92cE792e", + address: common.HexToAddress("0xc2F78739074b5dDCA2aDB85DE63826Cc92cE792e"), + atBlock: nil, + expectError: false, + expectedSlotsCount: 37, + expectedSlots: map[int]*SlotDescriptor{}, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + tAssert := assert.New(t) + + response, err := etherscanProvider.ScanContract(tc.address) + tAssert.NoError(err) + tAssert.NotNil(response) + + sources, err := solgo.NewSourcesFromEtherScan(response.Name, response.SourceCode) + tAssert.NoError(err) + tAssert.NotNil(sources) + require.True(t, sources.HasUnits()) + + parser, err := detector.NewDetectorFromSources(ctx, nil, sources) + tAssert.NoError(err) + tAssert.NotNil(parser) + + // So far contracts bellow 0.6.0 are doing some weird shit so we are disabling it for now... + require.False(t, utils.IsSemanticVersionLowerOrEqualTo(response.CompilerVersion, utils.SemanticVersion{Major: 0, Minor: 6, Patch: 0})) + + errs := parser.Parse() + tAssert.Equal(len(errs), 0) + + err = parser.Build() + tAssert.NoError(err) + + builder, err := cfg.NewBuilder(context.Background(), parser.GetIR()) + assert.NoError(t, err) + assert.NotNil(t, builder) + + assert.NoError(t, builder.Build()) + + // Use the test case data to run the test + reader, err := storage.Describe(ctx, tc.address, parser, builder, tc.atBlock) + + if tc.expectError { + tAssert.Error(err) + tAssert.Nil(reader) + } else { + tAssert.NoError(err) + tAssert.NotNil(reader) + } + + require.NotNil(t, reader, "reader should not be nil") + require.NotNil(t, reader.GetDescriptor(), "reader descriptor should not be nil") + sortedSlots := reader.GetDescriptor().GetSortedSlots() + tAssert.NotNil(sortedSlots) + tAssert.Equal(tc.expectedSlotsCount, len(sortedSlots)) + + // + storageVars, err := builder.GetStorageStateVariables() + require.NoError(t, err) + require.NotNil(t, storageVars) + + for _, slot := range storageVars { + fmt.Println(slot) + } + + utils.DumpNodeWithExit(reader.GetDescriptor()) + + /* for i, slot := range sortedSlots { + require.NotNil(t, tc.expectedSlots[i]) + tAssert.Equal(tc.expectedSlots[i].Slot, slot.Slot) + tAssert.Equal(tc.expectedSlots[i].Offset, slot.Offset) + tAssert.Equal(tc.expectedSlots[i].Type, slot.Type) + tAssert.Equal(tc.expectedSlots[i].Name, slot.Name) + tAssert.Equal(tc.expectedSlots[i].Value, slot.Value) + tAssert.Equal(tc.expectedSlots[i].Size, slot.Size) + tAssert.Equal(tc.expectedSlots[i].DeclarationLine, slot.DeclarationLine) + } */ + + }) + } + +} diff --git a/storage/variable.go b/storage/variable.go new file mode 100644 index 00000000..1df0c472 --- /dev/null +++ b/storage/variable.go @@ -0,0 +1,107 @@ +package storage + +import ( + "fmt" + "strconv" + "strings" + + "github.com/unpackdev/solgo/ir" +) + +// Variable represents a state variable within a smart contract. +// It embeds ir.StateVariable and provides additional methods +// to determine the characteristics of the variable. +type Variable struct { + *ir.StateVariable `json:"state_variable"` // StateVariable is the underlying state variable from the IR. + Contract *ir.Contract `json:"contract"` // Contract is the contract to which this variable belongs. + EntryContract bool `json:"entry_contract"` // EntryContract indicates if this variable is part of the entry contract. +} + +// IsAddressType checks if the variable is of an address type. +// Returns true if the variable type is prefixed with "address". +func (v *Variable) IsAddressType() bool { + variableType := v.StateVariable.GetType() + return strings.HasPrefix(variableType, "address") +} + +// IsDynamicArray checks if the variable is a dynamic array. +// Currently returns false and needs implementation for dynamic array checking. +func (v *Variable) IsDynamicArray() bool { + variableType := v.StateVariable.GetType() + return strings.Contains(variableType, "[]") +} + +// IsArrayType checks if the variable is of an array type. +// Returns true if the variable type includes square brackets, indicating an array. +func (v *Variable) IsArrayType() bool { + variableType := v.StateVariable.GetType() + return !strings.Contains(variableType, "[]") && strings.Contains(variableType, "[") +} + +// IsMappingType checks if the variable is of a mapping type. +// Returns true if the variable type starts with "mapping". +func (v *Variable) IsMappingType() bool { + variableType := v.StateVariable.GetType() + return strings.HasPrefix(variableType, "mapping") +} + +// IsStructType checks if the variable is of a struct type. +// Returns true if the variable type starts with "struct". +func (v *Variable) IsStructType() bool { + variableType := v.StateVariable.GetType() + return strings.HasPrefix(variableType, "struct") +} + +// IsStructType checks if the variable is of a contract type. +// Returns true if the variable type starts with "contract". +func (v *Variable) IsContractType() bool { + variableType := v.StateVariable.GetType() + return strings.HasPrefix(variableType, "contract") +} + +// GetArrayLength returns the length of an array variable. +// For a variable representing an array, it parses and returns the array length. +// Returns 0 for non-array variables or if the length is not explicitly defined. +func (v *Variable) GetArrayLength() (int64, error) { + variableType := v.StateVariable.GetType() + + // Check if the variable's type contains square brackets, indicating an array + if strings.Contains(variableType, "[") && strings.Contains(variableType, "]") { + // Find the position of the square brackets + startIndex := strings.Index(variableType, "[") + endIndex := strings.Index(variableType, "]") + + // Extract the substring between the square brackets + lengthStr := variableType[startIndex+1 : endIndex] + + // If the length is not specified, it's a dynamic array (return 0) + if lengthStr == "" { + return 0, nil + } + + // Convert the length string to an integer + length, err := strconv.ParseInt(lengthStr, 10, 64) + if err != nil { + // Handle the error (e.g., log it, return 0, or return an error) + // For simplicity, returning 0 here + return 0, fmt.Errorf("failed to parse array length: %v", err) + } + + return length, nil + } + + return 0, nil +} + +// GetStructMembers returns a slice of Variables representing the members of a struct. +// For a variable representing a struct, it parses and returns the struct members. +// Returns an empty slice for non-struct variables or if no members are defined. +func (v *Variable) GetStructMembers() []*Variable { + variableType := v.StateVariable.GetType() + if strings.HasPrefix(variableType, "struct") { + // Implementation for parsing the members from the type + // ... + return []*Variable{} + } + return []*Variable{} +} diff --git a/tests/onchain_test.go b/tests/onchain_test.go new file mode 100644 index 00000000..896ce383 --- /dev/null +++ b/tests/onchain_test.go @@ -0,0 +1,178 @@ +package tests + +import ( + "context" + "math/big" + "os" + "strings" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/unpackdev/solgo" + "github.com/unpackdev/solgo/abi" + "github.com/unpackdev/solgo/ast" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/ir" + "github.com/unpackdev/solgo/providers/etherscan" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" +) + +func TestAbiContracts(t *testing.T) { + tAssert := assert.New(t) + + config := zap.NewDevelopmentConfig() + config.Level = zap.NewAtomicLevelAt(zap.InfoLevel) + config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder + logger, err := config.Build() + tAssert.NoError(err) + zap.ReplaceGlobals(logger) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + clientOptions := &clients.Options{ + Nodes: []clients.Node{ + { + Group: string(utils.Ethereum), + Type: "mainnet", + Endpoint: "ws://localhost:8545", + NetworkId: 1, + ConcurrentClientsNumber: 1, + }, + }, + } + + pool, err := clients.NewClientPool(ctx, clientOptions) + tAssert.NoError(err) + tAssert.NotNil(pool) + + etherscanApiKeys := os.Getenv("ETHERSCAN_API_KEYS") + etherscanProvider := etherscan.NewEtherScanProvider(ctx, nil, ðerscan.Options{ + Provider: etherscan.EtherScan, + Endpoint: "https://api.etherscan.io/api", + Keys: strings.Split(etherscanApiKeys, ","), + }) + tAssert.NotNil(etherscanProvider) + + testCases := []struct { + name string + address common.Address + isEmpty bool + atBlock *big.Int + expectError bool + }{ + /* { + name: "ERC20 - Enumerable Set Test - 0xC36442b4a4522E871399CD717aBDD847Ab11FE88", + address: common.HexToAddress("0xC36442b4a4522E871399CD717aBDD847Ab11FE88"), + atBlock: nil, + expectError: false, + }, */ + /* { + name: "ERC20 - 0x881D40237659C251811CEC9c364ef91dC08D300C", + address: common.HexToAddress("0x881D40237659C251811CEC9c364ef91dC08D300C"), + atBlock: nil, + expectError: false, + }, */ + /* { + name: "ERC20 - 0xee2eBCcB7CDb34a8A822b589F9E8427C24351bfc", + address: common.HexToAddress("0xee2eBCcB7CDb34a8A822b589F9E8427C24351bfc"), + atBlock: nil, + expectError: false, + }, */ + /* { + name: "ERC20 - 0x772c44b5166647B135BB4836AbC4E06c28E94978", + address: common.HexToAddress("0x772c44b5166647B135BB4836AbC4E06c28E94978"), + atBlock: nil, + expectError: false, + }, */ + /* { + name: "ERC20 - 0x1F98431c8aD98523631AE4a59f267346ea31F984", + address: common.HexToAddress("0x1F98431c8aD98523631AE4a59f267346ea31F984"), + atBlock: nil, + expectError: false, + }, */ + { + name: "EigenLayerBeaconOracleProxy - 0xA9a8D4bE67b553EC811B6C73618B2Cfd2fde61E7", + address: common.HexToAddress("0xA9a8D4bE67b553EC811B6C73618B2Cfd2fde61E7"), + atBlock: nil, + expectError: false, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + tAssert := assert.New(t) + + response, err := etherscanProvider.ScanContract(tc.address) + tAssert.NoError(err) + tAssert.NotNil(response) + + sources, err := solgo.NewSourcesFromEtherScan(response.Name, response.SourceCode) + tAssert.NoError(err) + tAssert.NotNil(sources) + require.True(t, sources.HasUnits()) + + builder, err := abi.NewBuilderFromSources(context.TODO(), sources) + assert.NoError(t, err) + assert.NotNil(t, builder) + + assert.IsType(t, builder.GetAstBuilder(), &ast.ASTBuilder{}) + assert.IsType(t, builder.GetParser(), &ir.Builder{}) + + // Important step which will parse the entire AST and build the IR including check for + // reference errors and syntax errors. + assert.Empty(t, builder.Parse()) + + // Now we can get into the business of building the ABIs... + assert.NoError(t, builder.Build()) + + // Get the root node of the ABI + root := builder.GetRoot() + assert.NotNil(t, root) + + assert.NotNil(t, builder.GetSources()) + assert.NotNil(t, builder.GetTypeResolver()) + + if !tc.isEmpty { + assert.NotNil(t, root.GetIR()) + assert.NotNil(t, root.GetContractsAsSlice()) + assert.NotNil(t, root.GetEntryContract()) + } + + pretty, err := builder.ToJSONPretty() + assert.NoError(t, err) + assert.NotNil(t, pretty) + + // Check for entry contract name equivalence... + if root.HasContracts() { + assert.Equal(t, sources.EntrySourceUnitName, root.GetEntryName()) + } + + // Test of the ABI builder is to load generated ABI and parse it with + // go-ethereum ABI parser and compare the results. On this way we know that + // what users see will be literally identical and useful to wider community. + for contractName, contract := range root.GetContracts() { + // Assert GetContractByName() method to know that it's working... + assert.Equal(t, contract, root.GetContractByName(contractName)) + + jsonAbi, err := builder.ToJSON(contract) + assert.NoError(t, err) + assert.NotNil(t, jsonAbi) + + etherAbi, err := builder.ToABI(contract) + if err != nil { + utils.DumpNodeNoExit(contract) + } + + require.NoError(t, err) + require.NotNil(t, etherAbi) + } + + }) + } + +} diff --git a/tokens/bindings.go b/tokens/bindings.go new file mode 100644 index 00000000..b0cd38fc --- /dev/null +++ b/tokens/bindings.go @@ -0,0 +1,141 @@ +package tokens + +import ( + "context" + "errors" + "fmt" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/unpackdev/solgo/accounts" + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/utils" +) + +// GetTokenBind connects to a blockchain simulator or live network to create a token binding. +// It uses bindings.Manager and can target a specific block number. +func (t *Token) GetTokenBind(ctx context.Context, simulatorType utils.SimulatorType, bindManager *bindings.Manager, atBlock *big.Int) (*bindings.Token, error) { + if t.IsInSimulation() && t.simulator != nil { + if _, node, err := t.simulator.GetClient(ctx, simulatorType, atBlock); err != nil { + return nil, fmt.Errorf("failed to get client from simulator: %w", err) + } else { + t.descriptor.BlockNumber = node.BlockNumber + } + } + + return bindings.NewToken(t.ctx, t.network, bindManager, bindings.DefaultTokenBindOptions(t.descriptor.Address)) +} + +func (t *Token) GetBinding() *bindings.Token { + return t.tokenBind +} + +// GetTokenBind connects to a blockchain simulator or live network to create a token binding. +// It uses bindings.Manager and can target a specific block number. +func (t *Token) GetUniswapV2Bind(ctx context.Context, simulatorType utils.SimulatorType, bindManager *bindings.Manager, atBlock *big.Int) (*bindings.Uniswap, error) { + if t.IsInSimulation() && t.simulator != nil { + if _, node, err := t.simulator.GetClient(ctx, simulatorType, atBlock); err != nil { + return nil, fmt.Errorf("failed to get client from simulator: %w", err) + } else { + t.descriptor.BlockNumber = node.BlockNumber + } + } + + return bindings.NewUniswapV2(t.ctx, t.network, bindManager, bindings.DefaultUniswapBindOptions()) +} + +// ResolveName fetches the name property of the token from the blockchain. +func (t *Token) ResolveName(ctx context.Context, from common.Address, bind *bindings.Token) (string, error) { + return bind.GetName(ctx, from) +} + +// ResolveSymbol fetches the symbol property of the token from the blockchain. +func (t *Token) ResolveSymbol(ctx context.Context, from common.Address, bind *bindings.Token) (string, error) { + return bind.GetSymbol(ctx, from) +} + +// ResolveDecimals fetches the decimals property of the token from the blockchain. +func (t *Token) ResolveDecimals(ctx context.Context, from common.Address, bind *bindings.Token) (uint8, error) { + return bind.GetDecimals(ctx, from) +} + +// ResolveTotalSupply fetches the total supply of the token from the blockchain. +func (t *Token) ResolveTotalSupply(ctx context.Context, from common.Address, bind *bindings.Token) (*big.Int, error) { + return bind.GetTotalSupply(ctx, from) +} + +// ResolveBalance retrieves the balance of a specific address for the token. +func (t *Token) ResolveBalance(ctx context.Context, from common.Address, bind *bindings.Token, address common.Address) (*big.Int, error) { + return bind.BalanceOf(ctx, from, address) +} + +// Approve facilitates the approval of a spender to spend a specified amount of tokens. +func (t *Token) Approve(ctx context.Context, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, bind *bindings.Token, spender *accounts.Account, amount *big.Int, atBlock *big.Int) (*types.Transaction, *types.Receipt, error) { + if spender == nil { + return nil, nil, errors.New("spender address is nil") + } + + if amount == nil { + return nil, nil, errors.New("amount is nil") + } + + client, err := t.GetClient(ctx) + if err != nil { + return nil, nil, fmt.Errorf("failed to get client: %w", err) + } + + opts, err := spender.TransactOpts(client, nil, t.IsInSimulation()) + if err != nil { + return nil, nil, fmt.Errorf("failed to get transact opts: %w", err) + } + + return bind.Approve(ctx, network, simulatorType, client, opts, t.GetDescriptor().GetAddress(), spender.GetAddress(), amount, atBlock) +} + +// Transfer facilitates the transfer of tokens to a to address. +func (t *Token) Transfer(ctx context.Context, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, bind *bindings.Token, spender *accounts.Account, to *accounts.Account, amount *big.Int, atBlock *big.Int) (*types.Transaction, *types.Receipt, error) { + if spender == nil { + return nil, nil, errors.New("spender address is nil") + } + + if amount == nil { + return nil, nil, errors.New("amount is nil") + } + + client, err := t.GetClient(ctx) + if err != nil { + return nil, nil, fmt.Errorf("failed to get client: %w", err) + } + + opts, err := to.TransactOpts(client, nil, t.IsInSimulation()) + if err != nil { + return nil, nil, fmt.Errorf("failed to get transact opts: %w", err) + } + + return bind.Transfer(ctx, network, simulatorType, client, opts, to.GetAddress(), amount, atBlock) +} + +// TransferFrom facilitates the transfer of tokens from one address to another. +func (t *Token) TransferFrom(ctx context.Context, network utils.Network, simulatorType utils.SimulatorType, client *clients.Client, bind *bindings.Token, spender *accounts.Account, to common.Address, amount *big.Int, atBlock *big.Int) (*types.Transaction, *types.Receipt, error) { + if spender == nil { + return nil, nil, errors.New("spender address is nil") + } + + if amount == nil { + return nil, nil, errors.New("amount is nil") + } + + client, err := t.GetClient(ctx) + if err != nil { + return nil, nil, fmt.Errorf("failed to get client: %w", err) + } + + opts, err := spender.TransactOpts(client, nil, t.IsInSimulation()) + if err != nil { + return nil, nil, fmt.Errorf("failed to get transact opts: %w", err) + } + + return bind.TransferFrom(ctx, network, simulatorType, client, opts, spender.GetAddress(), to, amount, atBlock) +} diff --git a/tokens/descriptor.go b/tokens/descriptor.go new file mode 100644 index 00000000..0a1cb6b7 --- /dev/null +++ b/tokens/descriptor.go @@ -0,0 +1,87 @@ +package tokens + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" + "github.com/unpackdev/solgo/utils/entities" +) + +type Pair struct { + BaseToken *entities.Token `json:"base_token"` + QuoteToken *entities.Token `json:"quote_token"` + PairAddress common.Address `json:"pair_address"` + Balance *big.Int `json:"balance"` +} + +func (p *Pair) SetBalance(balance *big.Int) { + p.Balance = balance +} + +type Descriptor struct { + BlockNumber *big.Int `json:"block_number"` + Address common.Address `json:"address"` + Name string `json:"name"` + Symbol string `json:"symbol"` + Decimals uint8 `json:"decimals"` + TotalSupply *big.Int `json:"total_supply"` + TotalBurnedSupply *big.Int `json:"total_burned_supply"` + LatestBlockNumber *big.Int `json:"latest_block_number"` + Entity *entities.Token `json:"-"` + Pairs map[utils.ExchangeType]*Pair `json:"pairs"` + Price *entities.Price `json:"price"` +} + +func (d *Descriptor) GetAddress() common.Address { + return d.Address +} + +func (d *Descriptor) GetName() string { + return d.Name +} + +func (d *Descriptor) GetSymbol() string { + return d.Symbol +} + +func (d *Descriptor) GetDecimals() uint8 { + return d.Decimals +} + +func (d *Descriptor) GetTotalSupply() *big.Int { + return d.TotalSupply +} + +func (d *Descriptor) GetTotalBurnedSupply() *big.Int { + return d.TotalBurnedSupply +} + +func (d *Descriptor) GetEntity() *entities.Token { + return d.Entity +} + +func (d *Descriptor) GetTotalCirculatingSupply() *big.Int { + if d.TotalBurnedSupply == nil { + return d.TotalSupply + } + + return new(big.Int).Sub(d.TotalSupply, d.TotalBurnedSupply) +} + +func (d *Descriptor) GetPairs() map[utils.ExchangeType]*Pair { + return d.Pairs +} + +func (d *Descriptor) GetPairByExchange(exchangeType utils.ExchangeType) *Pair { + return d.Pairs[exchangeType] +} + +func (d *Descriptor) HasPairs() bool { + return len(d.Pairs) > 0 +} + +func (d *Descriptor) HasPairByExchange(exchangeType utils.ExchangeType) bool { + _, ok := d.Pairs[exchangeType] + return ok +} diff --git a/tokens/doc.go b/tokens/doc.go new file mode 100644 index 00000000..a7c90664 --- /dev/null +++ b/tokens/doc.go @@ -0,0 +1 @@ +package tokens diff --git a/tokens/entities.go b/tokens/entities.go new file mode 100644 index 00000000..a7c90664 --- /dev/null +++ b/tokens/entities.go @@ -0,0 +1 @@ +package tokens diff --git a/tokens/exchanges.go b/tokens/exchanges.go new file mode 100644 index 00000000..ecd45837 --- /dev/null +++ b/tokens/exchanges.go @@ -0,0 +1,33 @@ +package tokens + +import ( + "github.com/unpackdev/solgo/exchanges" + "github.com/unpackdev/solgo/utils" +) + +func (t *Token) GetExchange(exchangeType utils.ExchangeType, simulatorType utils.SimulatorType) (exchanges.Exchange, bool) { + if manager, found := t.exchanges[exchangeType]; found { + if exchange, found := manager[simulatorType]; found { + return exchange, true + } + } + + return nil, false +} + +func (t *Token) RegisterExchange(exchangeType utils.ExchangeType, simulatorType utils.SimulatorType, exchange exchanges.Exchange) error { + if _, found := t.exchanges[exchangeType]; !found { + t.exchanges[exchangeType] = make(map[utils.SimulatorType]exchanges.Exchange) + } + + if _, found := t.exchanges[exchangeType][simulatorType]; found { + return nil + } + + t.exchanges[exchangeType][simulatorType] = exchange + return nil +} + +func (t *Token) GetExchanges() map[utils.ExchangeType]map[utils.SimulatorType]exchanges.Exchange { + return t.exchanges +} diff --git a/tokens/liquidity.go b/tokens/liquidity.go new file mode 100644 index 00000000..0ed5724f --- /dev/null +++ b/tokens/liquidity.go @@ -0,0 +1,49 @@ +package tokens + +import ( + "context" + "fmt" + + "github.com/unpackdev/solgo/utils" + "github.com/unpackdev/solgo/utils/entities" +) + +func (t *Token) PrepareBindings(ctx context.Context) error { + + return nil +} + +func (t *Token) DiscoverLiquidityPairs(ctx context.Context) error { + baseToken := entities.WETH9[uint(t.GetNetworkID().Uint64())] + currentToken := t.GetEntity() + + // Ethereum based discovery pair process... + if t.network == utils.Ethereum { + if !t.descriptor.HasPairByExchange(utils.UniswapV2) { + uniswapBinding, err := t.GetUniswapV2Bind(ctx, utils.NoSimulator, t.bindManager, nil) + if err != nil { + return fmt.Errorf( + "failed to get uniswap bindings: %s, exchange: %s, base_addr: %s, quote_addr: %s", + err, + utils.UniswapV2, baseToken.Address, currentToken.Address, + ) + } + + if uniswapPair, err := uniswapBinding.GetPair(ctx, baseToken.Address, t.descriptor.Address); err == nil { + if uniswapPair != utils.ZeroAddress { + t.descriptor.Pairs[utils.UniswapV2] = &Pair{ + BaseToken: baseToken, + QuoteToken: currentToken, + PairAddress: uniswapPair, + } + } + } + } + + if !t.descriptor.HasPairByExchange(utils.UniswapV3) { + + } + } + + return nil +} diff --git a/tokens/payments.go b/tokens/payments.go new file mode 100644 index 00000000..d6207990 --- /dev/null +++ b/tokens/payments.go @@ -0,0 +1,106 @@ +package tokens + +import ( + "context" + "fmt" + "math/big" + + "github.com/unpackdev/solgo/accounts" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/exchanges" + "github.com/unpackdev/solgo/utils" + "github.com/unpackdev/solgo/utils/entities" +) + +// @TODO: Figure out how to dynamically handle exchanges in the future... +func (t *Token) Buy(ctx context.Context, client *clients.Client, exchangeType utils.ExchangeType, simulatorType utils.SimulatorType, spender *accounts.Account, baseToken *entities.Token, amount *entities.CurrencyAmount, atBlock *big.Int) (any, error) { + block := t.descriptor.BlockNumber + if atBlock != nil { + block = atBlock + } + + tokenBinding, err := t.GetTokenBind(ctx, simulatorType, t.bindManager, block) + if err != nil { + return utils.ZeroAddress, fmt.Errorf( + "failed to get token bindings: %s, exchange: %s, base_addr: %s, quote_addr: %s", + err, + exchangeType, baseToken.Address, t.descriptor.Address, + ) + } + + uniswapBinding, err := t.GetUniswapV2Bind(ctx, simulatorType, t.bindManager, block) + if err != nil { + return utils.ZeroAddress, fmt.Errorf( + "failed to get uniswap bindings: %s, exchange: %s, base_addr: %s, quote_addr: %s", + err, + exchangeType, baseToken.Address, t.descriptor.Address, + ) + } + + uniswapV2Exchange, err := exchanges.NewUniswapV2(ctx, t.GetClientPool(), t.simulator, uniswapBinding, exchanges.DefaultOptions().GetExchange(exchangeType)) + if err != nil { + return utils.ZeroAddress, fmt.Errorf( + "failed to get uniswap exchange: %s, exchange: %s, base_addr: %s, quote_addr: %s", + err, + exchangeType, baseToken.Address, t.descriptor.Address, + ) + } + + uniV2 := exchanges.ToUniswapV2(uniswapV2Exchange) + tradeResponse, err := uniV2.Buy(ctx, client, t.network, simulatorType, tokenBinding, spender, baseToken, t.GetEntity(), amount, block) + if err != nil { + return utils.ZeroAddress, fmt.Errorf( + "failed to buy token: %s, exchange: %s, base_addr: %s, quote_addr: %s", err, + exchangeType, baseToken.Address, t.descriptor.Address, + ) + } + + return tradeResponse, nil +} + +func (t *Token) Sell(ctx context.Context, client *clients.Client, exchangeType utils.ExchangeType, simulatorType utils.SimulatorType, spender *accounts.Account, baseToken *entities.Token, amount *entities.CurrencyAmount, atBlock *big.Int) (any, error) { + block := t.descriptor.BlockNumber + if atBlock != nil { + block = atBlock + } + + tokenBinding, err := t.GetTokenBind(ctx, simulatorType, t.bindManager, block) + if err != nil { + return utils.ZeroAddress, fmt.Errorf( + "failed to get token bindings: %s, exchange: %s, base_addr: %s, quote_addr: %s", + err, + exchangeType, baseToken.Address, t.descriptor.Address, + ) + } + + uniswapBinding, err := t.GetUniswapV2Bind(ctx, simulatorType, t.bindManager, block) + if err != nil { + return utils.ZeroAddress, fmt.Errorf( + "failed to get uniswap bindings: %s, exchange: %s, base_addr: %s, quote_addr: %s", + err, + exchangeType, baseToken.Address, t.descriptor.Address, + ) + } + + uniswapV2Exchange, err := exchanges.NewUniswapV2(ctx, t.GetClientPool(), t.simulator, uniswapBinding, exchanges.DefaultOptions().GetExchange(exchangeType)) + if err != nil { + return utils.ZeroAddress, fmt.Errorf( + "failed to get uniswap exchange: %s, exchange: %s, base_addr: %s, quote_addr: %s", + err, + exchangeType, baseToken.Address, t.descriptor.Address, + ) + } + + uniV2 := exchanges.ToUniswapV2(uniswapV2Exchange) + tradeResponse, err := uniV2.Sell(ctx, client, t.network, simulatorType, tokenBinding, spender, t.GetEntity(), baseToken, amount, block) + if err != nil { + return utils.ZeroAddress, fmt.Errorf( + "failed to sell token: %s, exchange: %s, base_addr: %s, quote_addr: %s", err, + exchangeType, baseToken.Address, t.descriptor.Address, + ) + } + + //utils.DumpNodeNoExit(tradeResponse) + + return tradeResponse, nil +} diff --git a/tokens/price.go b/tokens/price.go new file mode 100644 index 00000000..d715199d --- /dev/null +++ b/tokens/price.go @@ -0,0 +1,27 @@ +package tokens + +import ( + "context" + + "github.com/unpackdev/solgo/utils/entities" +) + +func (t *Token) DiscoverPrice(ctx context.Context) error { + wethToken := entities.WETH9[uint(t.networkID.Uint64())] + usdtToken := entities.USDT[uint(t.networkID.Uint64())] + _, _ = wethToken, usdtToken + + return nil +} + +func (t *Token) GetPrice(ctx context.Context) (*entities.Price, error) { + if t.descriptor.Price == nil { + if err := t.DiscoverPrice(ctx); err != nil { + return nil, err + } + + return t.descriptor.Price, nil + } + + return t.descriptor.Price, nil +} diff --git a/tokens/supply.go b/tokens/supply.go new file mode 100644 index 00000000..13d53e65 --- /dev/null +++ b/tokens/supply.go @@ -0,0 +1,40 @@ +package tokens + +import ( + "context" + "fmt" + "math/big" + + "github.com/ethereum/go-ethereum/common" +) + +func (t *Token) CalculateTotalBurnedSupply(ctx context.Context) error { + burnAddresses := []common.Address{ + common.HexToAddress("0x0000000000000000000000000000000000000000"), + common.HexToAddress("0x000000000000000000000000000000000000dead"), + common.HexToAddress("0x000000000000000000000000000000000000dEaD"), + common.HexToAddress("0x0000000000000000000000000000000000000001"), + common.HexToAddress("0x0000000000000000000000000000000000000002"), + common.HexToAddress("0x0000000000000000000000000000000000000003"), + common.HexToAddress("0x0000000000000000000000000000000000000004"), + common.HexToAddress("0x0000000000000000000000000000000000000005"), + common.HexToAddress("0x0000000000000000000000000000000000000006"), + common.HexToAddress("0x0000000000000000000000000000000000000007"), + common.HexToAddress("0x0000000000000000000000000000000000000008"), + common.HexToAddress("0x0000000000000000000000000000000000000009"), + } + + totalBurned := big.NewInt(0) + + for _, address := range burnAddresses { + balance, err := t.ResolveBalance(ctx, t.descriptor.Address, t.tokenBind, address) + if err != nil { + return fmt.Errorf("failed to resolve token total burned supply for %s : %s", address.Hex(), err) + } + + totalBurned.Add(totalBurned, balance) + } + + t.descriptor.TotalBurnedSupply = totalBurned + return nil +} diff --git a/tokens/tokens.go b/tokens/tokens.go new file mode 100644 index 00000000..aa63d7e9 --- /dev/null +++ b/tokens/tokens.go @@ -0,0 +1,207 @@ +package tokens + +import ( + "context" + "errors" + "fmt" + "math/big" + "sync/atomic" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/exchanges" + "github.com/unpackdev/solgo/simulator" + "github.com/unpackdev/solgo/utils" + "github.com/unpackdev/solgo/utils/entities" +) + +type Token struct { + ctx context.Context + network utils.Network + networkID utils.NetworkID + bindManager *bindings.Manager + exchangeManager *exchanges.Manager + clientPool *clients.ClientPool + simulator *simulator.Simulator + tokenBind *bindings.Token + simulatorType utils.SimulatorType + inSimulation atomic.Bool + descriptor *Descriptor + exchanges map[utils.ExchangeType]map[utils.SimulatorType]exchanges.Exchange +} + +func NewToken(ctx context.Context, network utils.Network, address common.Address, simulatorType utils.SimulatorType, bindManager *bindings.Manager, exchangeManager *exchanges.Manager, sim *simulator.Simulator, clientPool *clients.ClientPool) (*Token, error) { + if bindManager == nil { + return nil, errors.New("bind manager is nil") + } + + if clientPool == nil { + return nil, errors.New("client pool is nil") + } + + toReturn := &Token{ + ctx: ctx, + network: network, + networkID: utils.GetNetworkID(network), + bindManager: bindManager, + exchangeManager: exchangeManager, + clientPool: clientPool, + simulator: sim, + inSimulation: atomic.Bool{}, + simulatorType: simulatorType, + descriptor: &Descriptor{ + Address: address, + Pairs: make(map[utils.ExchangeType]*Pair), + }, + exchanges: make(map[utils.ExchangeType]map[utils.SimulatorType]exchanges.Exchange), + } + + if err := toReturn.PrepareBindings(ctx); err != nil { + return nil, fmt.Errorf("failed to prepare bindings: %w", err) + } + + return toReturn, nil +} + +func (t *Token) GetDescriptor() *Descriptor { + return t.descriptor +} + +func (t *Token) GetContext() context.Context { + return t.ctx +} + +func (t *Token) GetNetwork() utils.Network { + return t.network +} + +func (t *Token) GetNetworkID() utils.NetworkID { + return t.networkID +} + +func (t *Token) GetBindManager() *bindings.Manager { + return t.bindManager +} + +func (t *Token) GetClientPool() *clients.ClientPool { + return t.clientPool +} + +func (t *Token) GetSimulator() *simulator.Simulator { + return t.simulator +} + +func (t *Token) GetSimulatorType() utils.SimulatorType { + return t.simulatorType +} + +func (t *Token) GetExchangeManager() *exchanges.Manager { + return t.exchangeManager +} + +func (t *Token) IsInSimulation() bool { + return t.inSimulation.Load() +} + +func (t *Token) SetInSimulation(inSimulation bool) { + t.inSimulation.Store(inSimulation) +} + +func (t *Token) GetEntity() *entities.Token { + if t.descriptor.Entity == nil { + t.descriptor.Entity = entities.NewToken( + uint(utils.GetNetworkID(t.network)), + t.descriptor.Address, + uint(t.descriptor.Decimals), + t.descriptor.Symbol, + t.descriptor.Name, + ) + } + + return t.descriptor.Entity +} + +func (t *Token) GetClient(ctx context.Context) (*clients.Client, error) { + var client *clients.Client + var err error + + if t.IsInSimulation() { + client, _, err = t.simulator.GetClient(ctx, t.simulatorType, t.descriptor.BlockNumber) + if err != nil { + return nil, fmt.Errorf("failed to get client from simulator: %s", err) + } + } else { + client = t.clientPool.GetClientByGroup(t.network.String()) + if client == nil { + return nil, fmt.Errorf("failed to get client from client pool: %s", err) + } + } + + return client, err +} + +func (t *Token) GetSimulatedClient(ctx context.Context, simulatorType utils.SimulatorType, atBlock *big.Int) (*clients.Client, error) { + if t.simulator == nil { + return nil, errors.New("simulator is not set") + } + + block := t.descriptor.BlockNumber + + if atBlock != nil { + block = atBlock + } + + client, _, err := t.simulator.GetClient(ctx, simulatorType, block) + if err != nil { + return nil, fmt.Errorf("failed to get client from simulator: %s - block number: %v", err, block) + } + + return client, err +} + +func (t *Token) Unpack(ctx context.Context, atBlock *big.Int, simulate bool, simulatorType utils.SimulatorType) (*Descriptor, error) { + var tokenBinding *bindings.Token + var err error + + t.descriptor.BlockNumber = atBlock + + if simulate { + t.SetInSimulation(true) + simBind, _ := t.simulator.GetBindingManager(simulatorType) + tokenBinding, err = t.GetTokenBind(ctx, simulatorType, simBind, atBlock) + if err != nil { + return nil, fmt.Errorf("failed to get simulated token bindings: %w", err) + } + } else { + tokenBinding, err = t.GetTokenBind(ctx, simulatorType, t.bindManager, atBlock) + if err != nil { + return nil, fmt.Errorf("failed to get token bindings: %w", err) + } + } + t.tokenBind = tokenBinding + + t.descriptor.Name, err = t.ResolveName(ctx, t.descriptor.Address, tokenBinding) + if err != nil { + return nil, fmt.Errorf("failed to resolve token name: %w", err) + } + + t.descriptor.Symbol, err = t.ResolveSymbol(ctx, t.descriptor.Address, tokenBinding) + if err != nil { + return nil, fmt.Errorf("failed to resolve token symbol: %w", err) + } + + t.descriptor.Decimals, err = t.ResolveDecimals(ctx, t.descriptor.Address, tokenBinding) + if err != nil { + return nil, fmt.Errorf("failed to resolve token decimals: %w", err) + } + + t.descriptor.TotalSupply, err = t.ResolveTotalSupply(ctx, t.descriptor.Address, tokenBinding) + if err != nil { + return nil, fmt.Errorf("failed to resolve token total supply: %w", err) + } + + t.descriptor.Entity = t.GetEntity() + + return t.descriptor, nil +} diff --git a/tokens/tokens_test.go b/tokens/tokens_test.go new file mode 100644 index 00000000..cf560b58 --- /dev/null +++ b/tokens/tokens_test.go @@ -0,0 +1,195 @@ +package tokens + +import ( + "context" + "math/big" + "net" + "os" + "path/filepath" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/unpackdev/solgo/bindings" + "github.com/unpackdev/solgo/clients" + "github.com/unpackdev/solgo/exchanges" + "github.com/unpackdev/solgo/simulator" + "github.com/unpackdev/solgo/utils" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" +) + +func TestToken(t *testing.T) { + tAssert := assert.New(t) + + config := zap.NewDevelopmentConfig() + config.Level = zap.NewAtomicLevelAt(zap.InfoLevel) + config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder + logger, err := config.Build() + tAssert.NoError(err) + zap.ReplaceGlobals(logger) + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + clientOptions := &clients.Options{ + Nodes: []clients.Node{ + { + Group: string(utils.Ethereum), + Type: "mainnet", + Endpoint: "https://ethereum.publicnode.com", + NetworkId: 1, + ConcurrentClientsNumber: 1, + }, + }, + } + + pool, err := clients.NewClientPool(ctx, clientOptions) + tAssert.NoError(err) + tAssert.NotNil(pool) + + simulatorOPts := &simulator.AnvilProviderOptions{ + Network: utils.AnvilNetwork, + NetworkID: utils.EthereumNetworkID, + ClientCount: 0, // We do not want any clients as they will be fetched when necessary... + MaxClientCount: 10, + AutoImpersonate: true, + PidPath: filepath.Join("/", "tmp", ".solgo", "/", "simulator", "/", "anvil"), + AnvilExecutablePath: os.Getenv("SOLGO_ANVIL_PATH"), + Fork: true, + ForkEndpoint: os.Getenv("SOLGO_SIMULATOR_FORK_ENDPOINT"), + IPAddr: net.ParseIP("127.0.0.1"), + StartPort: 5400, + EndPort: 5500, + } + + exchangeManager, err := exchanges.NewManager(ctx, pool, exchanges.DefaultOptions()) + require.NoError(t, err) + require.NotNil(t, exchangeManager) + + bindManager, err := bindings.NewManager(ctx, pool) + require.NoError(t, err) + require.NotNil(t, bindManager) + + sim, err := simulator.CreateNewTestSimulator(ctx, pool, t, simulatorOPts) + require.NoError(t, err) + require.NotNil(t, sim) + defer sim.Close() + + err = sim.Start(ctx) + require.NoError(t, err) + + testCases := []struct { + enabled bool + name string + address common.Address + network utils.Network + simulate bool + simulatorType utils.SimulatorType + exchangeType utils.ExchangeType + atBlock *big.Int + amount *big.Int + simulations []string + expectError bool + }{ + /* { + enabled: true, + name: "Grok Token - No Simulation", + address: common.HexToAddress("0x8390a1da07e376ef7add4be859ba74fb83aa02d5"), + network: utils.Ethereum, + simulate: false, + simulatorType: utils.NoSimulator, + exchangeType: utils.UniswapV2, + amount: big.NewInt(1), + simulations: []string{"get_pair"}, + expectError: false, + }, + { + enabled: false, + name: "Grok Token - Simulated", + address: common.HexToAddress("0x8390a1da07e376ef7add4be859ba74fb83aa02d5"), + network: utils.AnvilNetwork, + simulate: true, + simulatorType: utils.AnvilSimulator, + exchangeType: utils.UniswapV2, + amount: big.NewInt(1), + simulations: []string{"get_pair", "buy_token", "sell_token"}, + expectError: false, + }, */ + { + enabled: false, + name: "Grok Token - Simulated", + address: common.HexToAddress("0x1E241521f4767853B376C2Fe795a222a07D588eE"), + network: utils.AnvilNetwork, + simulate: true, + simulatorType: utils.AnvilSimulator, + exchangeType: utils.UniswapV2, + amount: big.NewInt(100000000000000000), + simulations: []string{"get_pair", "buy_token", "sell_token"}, + expectError: false, + }, + } + // // 0xb777d386a9f6bf14ff85d92b27dc70209141e787 + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + //tAssert := assert.New(t) + + token, err := NewToken(ctx, tc.network, tc.address, tc.simulatorType, bindManager, exchangeManager, sim, pool) + if tc.expectError { + require.Error(t, err) + return + } + + require.NoError(t, err) + require.NotNil(t, token) + require.NotNil(t, token.GetContext()) + require.NotNil(t, token.GetClientPool()) + require.NotNil(t, token.GetBindManager()) + require.NotNil(t, token.GetSimulator()) + require.NotNil(t, token.GetDescriptor()) + require.NotNil(t, token.GetExchangeManager()) + require.Equal(t, tc.network, token.GetNetwork()) + require.Equal(t, tc.address, token.GetDescriptor().Address) + require.Equal(t, tc.simulatorType, token.GetSimulatorType()) + + descriptor, err := token.Unpack(ctx, tc.atBlock, tc.simulate, tc.simulatorType) + require.NoError(t, err) + require.NotNil(t, descriptor) + + // Modify block from this point on as we have one... + tc.atBlock = descriptor.BlockNumber + + require.Equal(t, tc.simulate, token.IsInSimulation()) + + utils.DumpNodeNoExit(descriptor) + + /* if tc.simulate { + account, err := sim.GetFaucet().GetRandomAccount() + require.NoError(t, err) + require.NotNil(t, account) + + for _, simulation := range tc.simulations { + switch simulation { + case "buy_token": + + // We are going to test the get pair function based on the WETH9 + weth := entities.EtherOnChain(uint(utils.GetNetworkID(tc.network))).Wrapped() + amount := utils.FromWei(tc.amount, weth) + + tradeResponse, err := token.Buy(ctx, tc.exchangeType, tc.simulatorType, account, weth, amount, tc.atBlock) + tAssert.NoError(err) + tAssert.NotNil(tradeResponse) + + utils.DumpNodeNoExit(tradeResponse) + + case "sell_token": + continue + } + } + } */ + + }) + } +} diff --git a/tokens/uniswapv2_buy.json b/tokens/uniswapv2_buy.json new file mode 100644 index 00000000..3bf5e58f --- /dev/null +++ b/tokens/uniswapv2_buy.json @@ -0,0 +1,195 @@ +{ + "network": "anvil", + "network_id": 1, + "simulation": true, + "exchange_type": "uniswap_v2", + "spender_address": "0xe8f513de7789529fe179e05a2f0850376c16621b", + "spender_balance_before": 1000000000000000000000, + "amount_raw": 100000000000000000, + "amount": "0.1", + "router_address": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", + "factory_address": "0x5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f", + "weth_address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "pair_address": "0x80f5666a6fe5c51739dc99b55463d5b098ffc10a", + "pair_reserves": { + "token0": "0x1e241521f4767853b376c2fe795a222a07d588ee", + "token1": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "reserve0": 126757817614358996652690, + "reserve1": 80329644043583282001, + "block_time": "2023-12-05T14:39:47+01:00" + }, + "price_per_token": "0.000633725363495700", + "max_amount_raw": 157128652066382757179, + "max_amount": "157.13", + "trade": { + "detected": false, + "approval": { + "detected": true, + "approval_requested": true, + "approved": true, + "transaction_hash": "0x2f6c8e7cc22f264abda093416542e680349565416bd6e49d741b5b92cfcfeb56", + "receipt": true, + "receipt_status": 1, + "logs": [ + { + "address": "0x1e241521f4767853b376c2fe795a222a07d588ee", + "abi": "[{\"name\":\"Approval\",\"type\":\"event\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"spender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\"}]}]", + "signature_hex": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "signature": "Approval(address indexed owner, address indexed spender, uint256 value)", + "type": "approval", + "name": "Approval", + "data": { + "value": 100000000000000000 + }, + "topics": [ + { + "name": "owner", + "value": "0xe8f513de7789529fe179e05a2f0850376c16621b" + }, + { + "name": "spender", + "value": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d" + } + ] + } + ] + }, + "results": { + "detected": true, + "swap_requested": true, + "pair_details": [ + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x1e241521f4767853b376c2fe795a222a07d588ee" + ], + "transaction_hash": "0x10dde4c769949f4aa7a139f13ee96452d82d552d524654752d6a6f68bc8641a1", + "receipt": true, + "receipt_status": 1, + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "abi": "[{\"name\":\"Deposit\",\"type\":\"event\",\"inputs\":[{\"name\":\"dst\",\"type\":\"address\",\"indexed\":true},{\"name\":\"wad\",\"type\":\"uint256\"}]}]", + "signature_hex": "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "signature": "Deposit(address indexed dst, uint256 wad)", + "type": "deposit", + "name": "Deposit", + "data": { + "wad": 100000000000000000 + }, + "topics": [ + { + "name": "dst", + "value": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d" + } + ] + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "abi": "[{\"name\":\"Transfer\",\"type\":\"event\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\"}]}]", + "signature_hex": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "signature": "Transfer(address indexed from, address indexed to, uint256 value)", + "type": "transfer", + "name": "Transfer", + "data": { + "value": 100000000000000000 + }, + "topics": [ + { + "name": "from", + "value": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d" + }, + { + "name": "to", + "value": "0x80f5666a6fe5c51739dc99b55463d5b098ffc10a" + } + ] + }, + { + "address": "0x1e241521f4767853b376c2fe795a222a07d588ee", + "abi": "[{\"name\":\"Transfer\",\"type\":\"event\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\"}]}]", + "signature_hex": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "signature": "Transfer(address indexed from, address indexed to, uint256 value)", + "type": "transfer", + "name": "Transfer", + "data": { + "value": 7856432603319137858 + }, + "topics": [ + { + "name": "from", + "value": "0x80f5666a6fe5c51739dc99b55463d5b098ffc10a" + }, + { + "name": "to", + "value": "0x1e241521f4767853b376c2fe795a222a07d588ee" + } + ] + }, + { + "address": "0x1e241521f4767853b376c2fe795a222a07d588ee", + "abi": "[{\"name\":\"Transfer\",\"type\":\"event\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\"}]}]", + "signature_hex": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "signature": "Transfer(address indexed from, address indexed to, uint256 value)", + "type": "transfer", + "name": "Transfer", + "data": { + "value": 149272219463063619321 + }, + "topics": [ + { + "name": "from", + "value": "0x80f5666a6fe5c51739dc99b55463d5b098ffc10a" + }, + { + "name": "to", + "value": "0xe8f513de7789529fe179e05a2f0850376c16621b" + } + ] + }, + { + "address": "0x80f5666a6fe5c51739dc99b55463d5b098ffc10a", + "abi": "[{\"name\":\"Sync\",\"type\":\"event\",\"inputs\":[{\"name\":\"reserve0\",\"type\":\"uint112\"},{\"name\":\"reserve1\",\"type\":\"uint112\"}]}]", + "signature_hex": "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1", + "signature": "Sync(uint112 reserve0, uint112 reserve1)", + "type": "sync", + "name": "Sync", + "data": { + "reserve0": 126600688962292613895511, + "reserve1": 80429644043583282001 + }, + "topics": [] + }, + { + "address": "0x80f5666a6fe5c51739dc99b55463d5b098ffc10a", + "abi": "[{\"name\":\"Swap\",\"type\":\"event\",\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount0In\",\"type\":\"uint256\"},{\"name\":\"amount1In\",\"type\":\"uint256\"},{\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true}]}]", + "signature_hex": "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "signature": "Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to)", + "type": "swap", + "name": "Swap", + "data": { + "amount0In": 0, + "amount0Out": 157128652066382757179, + "amount1In": 100000000000000000, + "amount1Out": 0 + }, + "topics": [ + { + "name": "sender", + "value": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d" + }, + { + "name": "amount0In", + "value": 1329951272239780084177461871522514079270001074715 + } + ] + } + ], + "swap_received_amount_raw": 157128652066382757179, + "swap_received_amount": "157.13", + "received_amount_raw": 149272219463063619321, + "received_amount": "149.27", + "tax_raw": 7856432603319137858, + "tax": "7.86" + } + }, + "spender_balance_after": 999886584226353928880 +} \ No newline at end of file diff --git a/utils/abi.go b/utils/abi.go new file mode 100644 index 00000000..71f8fa62 --- /dev/null +++ b/utils/abi.go @@ -0,0 +1,112 @@ +package utils + +import ( + "bytes" + "encoding/json" + "fmt" + + abi "github.com/ethereum/go-ethereum/accounts/abi" +) + +// MethodABI represents the JSON structure of a method's ABI. +type MethodABI struct { + Name string `json:"name"` + Type string `json:"type"` // "function", "constructor", etc. + Inputs []ArgumentABI `json:"inputs,omitempty"` + Outputs []ArgumentABI `json:"outputs,omitempty"` + StateMutability string `json:"stateMutability,omitempty"` + Constant bool `json:"constant,omitempty"` + Payable bool `json:"payable,omitempty"` +} + +// ArgumentABI represents the JSON structure of a method's argument. +type ArgumentABI struct { + Name string `json:"name"` + Type string `json:"type"` + Indexed bool `json:"indexed,omitempty"` +} + +// MethodToABI converts a Method object to its JSON ABI representation. +func MethodToABI(method *abi.Method) (string, error) { + if method == nil { + return "", fmt.Errorf("method is nil") + } + + // Convert inputs and outputs + inputs := make([]ArgumentABI, len(method.Inputs)) + for i, input := range method.Inputs { + inputs[i] = ArgumentABI{ + Name: input.Name, + Type: input.Type.String(), + Indexed: input.Indexed, + } + } + + outputs := make([]ArgumentABI, len(method.Outputs)) + for i, output := range method.Outputs { + outputs[i] = ArgumentABI{ + Name: output.Name, + Type: output.Type.String(), + Indexed: output.Indexed, + } + } + + methodABI := MethodABI{ + Name: method.Name, + Type: "function", + Inputs: inputs, + Outputs: outputs, + StateMutability: method.StateMutability, + Constant: method.Constant, + Payable: method.Payable, + } + + abiJSON, err := json.Marshal([]MethodABI{methodABI}) + if err != nil { + return "", fmt.Errorf("failed to marshal ABI: %s", err) + } + + return string(abiJSON), nil +} + +// EventToABI converts a Event object to its JSON ABI representation. +func EventToABI(method *abi.Event) (string, error) { + if method == nil { + return "", fmt.Errorf("event is nil") + } + + // Convert inputs and outputs + inputs := make([]ArgumentABI, len(method.Inputs)) + for i, input := range method.Inputs { + inputs[i] = ArgumentABI{ + Name: input.Name, + Type: input.Type.String(), + Indexed: input.Indexed, + } + } + + // Construct the ABI entry + methodABI := MethodABI{ + Name: method.Name, + Type: "event", + Inputs: inputs, + } + + // Marshal to JSON + abiJSON, err := json.Marshal([]MethodABI{methodABI}) + if err != nil { + return "", fmt.Errorf("failed to marshal ABI: %s", err) + } + + return string(abiJSON), nil +} + +// ToABI converts the ABI object into an ethereum/go-ethereum ABI object. +func ToABI(data []byte) (*abi.ABI, error) { + toReturn, err := abi.JSON(bytes.NewReader(data)) + if err != nil { + return nil, err + } + + return &toReturn, nil +} diff --git a/utils/addr.go b/utils/addr.go new file mode 100644 index 00000000..3af88a7f --- /dev/null +++ b/utils/addr.go @@ -0,0 +1,13 @@ +package utils + +import ( + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils/entities" +) + +type NamedAddr struct { + Name string `json:"name"` + Addr common.Address `json:"addr"` + Type AddressType `json:"type"` + Token *entities.Token `json:"token"` +} diff --git a/utils/addresses.go b/utils/addresses.go new file mode 100644 index 00000000..f81fca52 --- /dev/null +++ b/utils/addresses.go @@ -0,0 +1,11 @@ +package utils + +import "github.com/ethereum/go-ethereum/common" + +var ( + // ZeroAddress + ZeroAddress = common.HexToAddress("0x0000000000000000000000000000000000000000") + + // ZeroHash represents a hash value consisting of all zeros. + ZeroHash = common.HexToHash("0x0000000000000000000000000000000000000000000000000000000000000000") +) diff --git a/utils/compute_price_impact.go b/utils/compute_price_impact.go new file mode 100644 index 00000000..8b5fa907 --- /dev/null +++ b/utils/compute_price_impact.go @@ -0,0 +1,18 @@ +package utils + +import "github.com/unpackdev/solgo/utils/entities" + +/** + * Returns the percent difference between the mid price and the execution price, i.e. price impact. + * @param midPrice mid price before the trade + * @param inputAmount the input amount of the trade + * @param outputAmount the output amount of the trade + */ +func ComputePriceImpact(midPrice *entities.Price, inputAmount, outputAmount *entities.CurrencyAmount) (*entities.Percent, error) { + quotedOutputAmount, err := midPrice.Quote(inputAmount) + if err != nil { + return nil, err + } + priceImpact := quotedOutputAmount.Subtract(outputAmount).Divide(quotedOutputAmount.Fraction) + return entities.NewPercent(priceImpact.Numerator, priceImpact.Denominator), nil +} diff --git a/utils/currencies/amount.go b/utils/currencies/amount.go new file mode 100644 index 00000000..c96988aa --- /dev/null +++ b/utils/currencies/amount.go @@ -0,0 +1,41 @@ +package currencies + +import ( + "math/big" +) + +// CurrencyAmount warps Fraction and Currency +type CurrencyAmount struct { + *Currency +} + +// NewCurrencyAmount creates a CurrencyAmount +// amount _must_ be raw, i.e. in the native representation +func NewCurrencyAmount(currency *Currency, amount *big.Int) (*CurrencyAmount, error) { + + /* entities.NewCurrencyAmounts() + + if err := ValidateSolidityTypeInstance(amount, Uint256); err != nil { + return nil, err + } + + fraction := number.NewFraction(amount, big.NewInt(0).Exp(big.NewInt(10), big.NewInt(int64(currency.Decimals)), nil)) + return &CurrencyAmount{ + Fraction: fraction, + Currency: currency, + }, nil */ + + return nil, nil +} + +/* // Raw returns Fraction's Numerator +func (c *CurrencyAmount) Raw() *big.Int { + return c.Numerator +} */ + +/* // NewEther Helper that calls the constructor with the ETHER currency +// @param amount ether amount in wei +func NewEther(amount *big.Int) (*CurrencyAmount, error) { + return NewCurrencyAmount(WETH, amount) +} +*/ diff --git a/utils/currencies/currency.go b/utils/currencies/currency.go new file mode 100644 index 00000000..17668855 --- /dev/null +++ b/utils/currencies/currency.go @@ -0,0 +1,66 @@ +package currencies + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/unpackdev/solgo/utils" +) + +type Currency struct { + Name string + Symbol string + Decimals uint8 + Addresses map[utils.Network]common.Address +} + +func (c *Currency) String() string { + return c.Symbol +} + +func (c *Currency) NetworkExists(network utils.Network) bool { + _, ok := c.Addresses[network] + return ok +} + +func (c *Currency) AddressForNetwork(network utils.Network) common.Address { + return c.Addresses[network] +} + +func (c *Currency) ToAmount(amount *big.Int) (*CurrencyAmount, error) { + return NewCurrencyAmount(c, amount) +} + +// Equals identifies whether A and B are equal +func (c *Currency) Equals(other *Currency) bool { + return c == other || + (c.Decimals == other.Decimals && c.Symbol == other.Symbol && c.Name == other.Name) +} + +func (c *Currency) AddressExists(addr common.Address) bool { + for _, v := range c.Addresses { + if v == addr { + return true + } + } + return false +} + +var ( + WETH = &Currency{ + Name: "Wrapped Ether", + Symbol: "WETH", + Decimals: 18, + Addresses: map[utils.Network]common.Address{ + utils.Ethereum: common.HexToAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"), + }, + } + USDC = &Currency{ + Name: "USD Coin", + Symbol: "USDC", + Decimals: 6, + Addresses: map[utils.Network]common.Address{ + utils.Ethereum: common.HexToAddress("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"), + }, + } +) diff --git a/utils/entities/README.md b/utils/entities/README.md new file mode 100644 index 00000000..f51e9671 --- /dev/null +++ b/utils/entities/README.md @@ -0,0 +1,3 @@ +# Ownership Information + +Taken and modified from https://github.com/daoleno/uniswap-sdk-core \ No newline at end of file diff --git a/utils/entities/constants.go b/utils/entities/constants.go new file mode 100644 index 00000000..43a0f02f --- /dev/null +++ b/utils/entities/constants.go @@ -0,0 +1,20 @@ +package entities + +import "math/big" + +type TradeType int + +const ( + ExactInput TradeType = iota + ExactOutput +) + +type Rounding int + +const ( + RoundDown Rounding = iota + RoundHalfUp + RoundUp +) + +var MaxUint256, _ = new(big.Int).SetString("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 16) diff --git a/utils/entities/currency.go b/utils/entities/currency.go new file mode 100644 index 00000000..c399408e --- /dev/null +++ b/utils/entities/currency.go @@ -0,0 +1,102 @@ +package entities + +import "encoding/json" + +// Currency is any fungible financial instrument, including Ether, all ERC20 tokens, and other chain-native currencies +type Currency interface { + IsNative() bool + IsToken() bool + ChainId() uint + Decimals() uint + Symbol() string + Name() string + Equal(other Currency) bool + Wrapped() *Token +} + +// BaseCurrency is an abstract struct, do not use it directly +type BaseCurrency struct { + currency Currency + isNative bool // Returns whether the currency is native to the chain and must be wrapped (e.g. Ether) + isToken bool // Returns whether the currency is a token that is usable in Uniswap without wrapping + chainId uint // The chain ID on which this currency resides + decimals uint // The decimals used in representing currency amounts + symbol string // The symbol of the currency, i.e. a short textual non-unique identifier + name string // The name of the currency, i.e. a descriptive textual non-unique identifier +} + +// MarshalJSON custom method to marshal BaseCurrency to JSON. +func (c *BaseCurrency) MarshalJSON() ([]byte, error) { + return json.Marshal(struct { + IsNative bool `json:"isNative"` + IsToken bool `json:"isToken"` + ChainId uint `json:"chainId"` + Decimals uint `json:"decimals"` + Symbol string `json:"symbol"` + Name string `json:"name"` + }{ + IsNative: c.isNative, + IsToken: c.isToken, + ChainId: c.chainId, + Decimals: c.decimals, + Symbol: c.symbol, + Name: c.name, + }) +} + +func (c *BaseCurrency) UnmarshalJSON(data []byte) error { + var temp struct { + IsNative bool `json:"isNative"` + IsToken bool `json:"isToken"` + ChainId uint `json:"chainId"` + Decimals uint `json:"decimals"` + Symbol string `json:"symbol"` + Name string `json:"name"` + } + + if err := json.Unmarshal(data, &temp); err != nil { + return err + } + + c.isNative = temp.IsNative + c.isToken = temp.IsToken + c.chainId = temp.ChainId + c.decimals = temp.Decimals + c.symbol = temp.Symbol + c.name = temp.Name + + return nil +} + +func (c *BaseCurrency) IsNative() bool { + return c.isNative +} + +func (c *BaseCurrency) IsToken() bool { + return c.isToken +} + +func (c *BaseCurrency) ChainId() uint { + return c.chainId +} + +func (c *BaseCurrency) Decimals() uint { + return c.decimals +} + +func (c *BaseCurrency) Symbol() string { + return c.symbol +} + +func (c *BaseCurrency) Name() string { + return c.name +} + +// Equal returns whether the currency is equal to the other currency +func (c *BaseCurrency) Equal(other Currency) bool { + panic("Equal method has to be overridden") +} + +func (c *BaseCurrency) Wrapped() *Token { + panic("Wrapped method has to be overridden") +} diff --git a/utils/entities/currency_amount.go b/utils/entities/currency_amount.go new file mode 100644 index 00000000..52d6c1af --- /dev/null +++ b/utils/entities/currency_amount.go @@ -0,0 +1,140 @@ +package entities + +import ( + "encoding/json" + "math/big" + + "github.com/shopspring/decimal" +) + +type CurrencyAmount struct { + *Fraction `json:"fraction"` + Currency Currency `json:"currency"` + DecimalScale *big.Int `json:"decimalScale"` +} + +func (c *CurrencyAmount) UnmarshalJSON(data []byte) error { + var tempMap map[string]json.RawMessage + if err := json.Unmarshal(data, &tempMap); err != nil { + return err + } + + if fractionData, ok := tempMap["fraction"]; ok { + fraction := &Fraction{} + if err := json.Unmarshal(fractionData, fraction); err != nil { + return err + } + c.Fraction = fraction + } + + if decimalScaleData, ok := tempMap["decimalScale"]; ok { + decimalScale := new(big.Int) + if err := decimalScale.UnmarshalText(decimalScaleData); err != nil { + return err + } + c.DecimalScale = decimalScale + } + + if currencyData, ok := tempMap["currency"]; ok { + // Attempt to unmarshal as BaseCurrency by default + var baseCurrency BaseCurrency + if err := json.Unmarshal(currencyData, &baseCurrency); err != nil { + return err + } + c.Currency = &baseCurrency + + // If you have other types that implement Currency, you can + // include additional logic here to decide which type to unmarshal into. + // For example, you might look for specific fields that are unique to each type. + } + + return nil +} + +/** + * Returns a new currency amount instance from the unitless amount of token, i.e. the raw amount + * @param currency the currency in the amount + * @param rawAmount the raw token or ether amount + */ +func FromRawAmount(currency Currency, rawAmount *big.Int) *CurrencyAmount { + return newCurrencyAmount(currency, rawAmount, big.NewInt(1)) +} + +/** + * Construct a currency amount with a denominator that is not equal to 1 + * @param currency the currency + * @param numerator the numerator of the fractional token amount + * @param denominator the denominator of the fractional token amount + */ +func FromFractionalAmount(currency Currency, numerator *big.Int, denominator *big.Int) *CurrencyAmount { + return newCurrencyAmount(currency, numerator, denominator) +} + +// NewCurrencyAmount creates a new CurrencyAmount instance +func newCurrencyAmount(currency Currency, numerator, denominator *big.Int) *CurrencyAmount { + f := NewFraction(numerator, denominator) + + if f.Quotient().Cmp(MaxUint256) > 0 { + panic("Currency amount exceeds maximum value(uint256)") + } + + return &CurrencyAmount{ + Currency: currency, + Fraction: f, + DecimalScale: new(big.Int).Exp(big.NewInt(10), big.NewInt(int64(currency.Decimals())), nil), + } +} + +// Add adds two currency amounts together +func (ca *CurrencyAmount) Add(other *CurrencyAmount) *CurrencyAmount { + added := ca.Fraction.Add(other.Fraction) + return FromFractionalAmount(ca.Currency, added.Numerator, added.Denominator) +} + +// Subtract subtracts one currency amount from another +func (ca *CurrencyAmount) Subtract(other *CurrencyAmount) *CurrencyAmount { + subtracted := ca.Fraction.Subtract(other.Fraction) + return FromFractionalAmount(ca.Currency, subtracted.Numerator, subtracted.Denominator) +} + +// Multiply multiplies two currency amounts +func (ca *CurrencyAmount) Multiply(other *Fraction) *CurrencyAmount { + multiplied := ca.Fraction.Multiply(other) + return FromFractionalAmount(ca.Currency, multiplied.Numerator, multiplied.Denominator) +} + +// Divide divides one currency amount by another +func (ca *CurrencyAmount) Divide(other *Fraction) *CurrencyAmount { + divided := ca.Fraction.Divide(other) + return FromFractionalAmount(ca.Currency, divided.Numerator, divided.Denominator) +} + +// ToSignificant returns the currency amount as a string with the most significant digits +func (ca *CurrencyAmount) ToSignificant(significantDigits int32) string { + return ca.Fraction.Divide(NewFraction(ca.DecimalScale, big.NewInt(1))).ToSignificant(significantDigits) +} + +// ToFixed returns the currency amount as a string with the specified number of digits after the decimal +func (ca *CurrencyAmount) ToFixed(decimalPlaces int32) string { + if uint(decimalPlaces) > ca.Currency.Decimals() { + panic("Decimal places exceeds currency decimals") + } + return ca.Fraction.Divide(NewFraction(ca.DecimalScale, big.NewInt(1))).ToFixed(decimalPlaces) +} + +// ToExact returns the currency amount as a string with the specified number of digits after the decimal +func (ca *CurrencyAmount) ToExactRaw() decimal.Decimal { + return decimal.NewFromBigInt(ca.Quotient(), 0).Div(decimal.NewFromBigInt(ca.DecimalScale, 0)) +} + +// ToExact returns the currency amount as a string with the specified number of digits after the decimal +func (ca *CurrencyAmount) ToExact() string { + return decimal.NewFromBigInt(ca.Quotient(), 0).Div(decimal.NewFromBigInt(ca.DecimalScale, 0)).String() +} + +func (ca *CurrencyAmount) Wrapped() *CurrencyAmount { + if ca.Currency.IsToken() { + return ca + } + return newCurrencyAmount(ca.Currency.Wrapped(), ca.Numerator, ca.Denominator) +} diff --git a/utils/entities/currency_amount_test.go b/utils/entities/currency_amount_test.go new file mode 100644 index 00000000..ac61c9c0 --- /dev/null +++ b/utils/entities/currency_amount_test.go @@ -0,0 +1,85 @@ +package entities + +import ( + "math/big" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestFromRawAmount(t *testing.T) { + token := NewToken(1, AddressOne, 18, "", "") + amount := FromRawAmount(token, big.NewInt(100)) + assert.Equal(t, amount.Quotient(), big.NewInt(100), "works") +} + +func TestMultiply(t *testing.T) { + token := NewToken(1, AddressOne, 18, "", "") + amount := FromRawAmount(token, big.NewInt(100)).Multiply(NewPercent(big.NewInt(15), big.NewInt(100)).Fraction) + assert.Equal(t, amount.Quotient(), big.NewInt(15), "returns the amount after multiplication") +} + +func TestEtherAmount(t *testing.T) { + amount := FromRawAmount(EtherOnChain(1), big.NewInt(100)) + assert.Equal(t, amount.Quotient(), big.NewInt(100), "produces ether amount.quotient") + assert.Equal(t, amount.Currency, EtherOnChain(1), "produces ether amount.currency") +} + +func TestMaxTokenAmount(t *testing.T) { + amount := FromRawAmount(NewToken(1, AddressOne, 18, "", ""), MaxUint256) + assert.Equal(t, amount.Quotient(), MaxUint256, "token amount can be max uint256") + + assert.Panics(t, func() { + FromRawAmount(NewToken(1, AddressOne, 18, "", ""), new(big.Int).Add(MaxUint256, big.NewInt(1))) + }, "token amount cannot exceed max uint256'") + + assert.Panics(t, func() { + FromFractionalAmount(NewToken(1, AddressOne, 18, "", ""), new(big.Int).Add(new(big.Int).Mul(MaxUint256, big.NewInt(2)), big.NewInt(2)), big.NewInt(2)) + }, "token amount quotient cannot exceed max uint256") + + amount1 := FromFractionalAmount(NewToken(1, AddressOne, 18, "", ""), new(big.Int).Add(MaxUint256, big.NewInt(2)), big.NewInt(2)) + assert.Equal(t, amount1.Fraction.Numerator, new(big.Int).Add(MaxUint256, big.NewInt(2)), "token amount numerator can be gt. uint256 if denominator is gt. 1") +} + +func TestToFixed(t *testing.T) { + token0 := NewToken(1, AddressOne, 0, "", "") + amount0 := FromRawAmount(token0, big.NewInt(1000)) + assert.Panics(t, func() { amount0.ToFixed(3) }, "panics for decimals > currency.decimals") + + token1 := NewToken(1, AddressOne, 0, "", "") + amount1 := FromRawAmount(token1, big.NewInt(123456)) + assert.Equal(t, amount1.ToFixed(0), "123456", "is correct for 0 decimals'") + + token2 := NewToken(1, AddressOne, 18, "", "") + amount2 := FromRawAmount(token2, big.NewInt(1e15)) + assert.Equal(t, amount2.ToFixed(9), "0.001000000", "is correct for 18 decimals") +} + +func TestToSignificant(t *testing.T) { + token0 := NewToken(1, AddressOne, 0, "", "") + amount0 := FromRawAmount(token0, big.NewInt(1000)) + assert.Equal(t, amount0.ToSignificant(3), "1000", "does not panic for sig figs > currency.decimals'") + + token1 := NewToken(1, AddressOne, 0, "", "") + amount1 := FromRawAmount(token1, big.NewInt(123456)) + // TODO: support rounding, here in v3-sdk is 123400 + assert.Equal(t, amount1.ToSignificant(4), "123500", "is correct for 0 decimals") + + token2 := NewToken(1, AddressOne, 18, "", "") + amount2 := FromRawAmount(token2, big.NewInt(1e15)) + assert.Equal(t, amount2.ToSignificant(9), "0.001", "is correct for 18 decimals") +} + +func TestToExact(t *testing.T) { + token0 := NewToken(1, AddressOne, 0, "", "") + amount0 := FromRawAmount(token0, big.NewInt(1000)) + assert.Equal(t, amount0.ToExact(), "1000", "does not panic for sig figs > currency.decimals'") + + token1 := NewToken(1, AddressOne, 0, "", "") + amount1 := FromRawAmount(token1, big.NewInt(123456)) + assert.Equal(t, amount1.ToExact(), "123456", "is correct for 0 decimals") + + token2 := NewToken(1, AddressOne, 18, "", "") + amount2 := FromRawAmount(token2, big.NewInt(123e13)) + assert.Equal(t, amount2.ToExact(), "0.00123", "is correct for 18 decimals") +} diff --git a/utils/entities/currency_test.go b/utils/entities/currency_test.go new file mode 100644 index 00000000..5ea1416f --- /dev/null +++ b/utils/entities/currency_test.go @@ -0,0 +1,15 @@ +package entities + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestEquals(t *testing.T) { + assert.True(t, EtherOnChain(1).Equal(EtherOnChain(1)), "ether on same chains is ether") + assert.False(t, EtherOnChain(1).Equal(t0), "ether is not token0") + assert.False(t, t1.Equal(t0), "token1 is not token0") + assert.True(t, t0.Equal(t0), "token0 is token0") + assert.True(t, t0.Equal(NewToken(1, AddressZero, 18, "symbol", "name")), "token0 is equal to another token0") +} diff --git a/utils/entities/ether.go b/utils/entities/ether.go new file mode 100644 index 00000000..682e6b46 --- /dev/null +++ b/utils/entities/ether.go @@ -0,0 +1,34 @@ +package entities + +// Ether is the main usage of a 'native' currency, i.e. for Ethereum mainnet and all testnets +type Ether struct { + *BaseCurrency +} + +func EtherOnChain(chainId uint) *Ether { + ether := &Ether{ + BaseCurrency: &BaseCurrency{ + isNative: true, + isToken: false, + chainId: chainId, + decimals: 18, + symbol: "ETH", + name: "Ether", + }, + } + ether.BaseCurrency.currency = ether + return ether +} + +func (e *Ether) Equal(other Currency) bool { + v, isEther := other.(*Ether) + if isEther { + return v.isNative && v.chainId == e.chainId + + } + return false +} + +func (e *Ether) Wrapped() *Token { + return WETH9[e.ChainId()] +} diff --git a/utils/entities/ether_test.go b/utils/entities/ether_test.go new file mode 100644 index 00000000..5ff5f854 --- /dev/null +++ b/utils/entities/ether_test.go @@ -0,0 +1,14 @@ +package entities + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestEther(t *testing.T) { + assert.Equal(t, EtherOnChain(1), EtherOnChain(1)) + assert.NotEqual(t, EtherOnChain(1), EtherOnChain(2)) + assert.False(t, EtherOnChain(1).Equal(EtherOnChain(2))) + assert.True(t, EtherOnChain(1).Equal(EtherOnChain(1))) +} diff --git a/utils/entities/fraction.go b/utils/entities/fraction.go new file mode 100644 index 00000000..e8d5839a --- /dev/null +++ b/utils/entities/fraction.go @@ -0,0 +1,133 @@ +package entities + +import ( + "fmt" + "math" + "math/big" + + "github.com/shopspring/decimal" +) + +type Fraction struct { + Numerator *big.Int `json:"numerator"` + Denominator *big.Int `json:"denominator"` +} + +// NewFraction creates a new fraction +func NewFraction(numerator, denominator *big.Int) *Fraction { + return &Fraction{ + Numerator: numerator, + Denominator: denominator, + } +} + +// Quotient performs floor division +func (f *Fraction) Quotient() *big.Int { + return new(big.Int).Div(f.Numerator, f.Denominator) +} + +// Remainder remainders after floor division +func (f *Fraction) Remainder() *Fraction { + return NewFraction(new(big.Int).Rem(f.Numerator, f.Denominator), f.Denominator) +} + +// Invert inverts the fraction +func (f *Fraction) Invert() *Fraction { + return NewFraction(f.Denominator, f.Numerator) +} + +// Add adds two fractions +func (f *Fraction) Add(other *Fraction) *Fraction { + if f.Denominator.Cmp(other.Denominator) == 0 { + return NewFraction(new(big.Int).Add(f.Numerator, other.Numerator), f.Denominator) + } + return NewFraction( + new(big.Int).Add(new(big.Int).Mul(f.Numerator, other.Denominator), new(big.Int).Mul(other.Numerator, f.Denominator)), + new(big.Int).Mul(f.Denominator, other.Denominator)) +} + +// Subtract subtracts two fractions +func (f *Fraction) Subtract(other *Fraction) *Fraction { + if f.Denominator.Cmp(other.Denominator) == 0 { + return NewFraction(new(big.Int).Sub(f.Numerator, other.Numerator), f.Denominator) + } + return NewFraction( + new(big.Int).Sub(new(big.Int).Mul(f.Numerator, other.Denominator), new(big.Int).Mul(other.Numerator, f.Denominator)), + new(big.Int).Mul(f.Denominator, other.Denominator)) +} + +// LessThan returns true if the fraction is less than the other fraction +func (f *Fraction) LessThan(other *Fraction) bool { + return new(big.Int).Mul(f.Numerator, other.Denominator).Cmp(new(big.Int).Mul(other.Numerator, f.Denominator)) < 0 +} + +// EqualTo returns true if the fraction is equal to the other fraction +func (f *Fraction) EqualTo(other *Fraction) bool { + return new(big.Int).Mul(f.Numerator, other.Denominator).Cmp(new(big.Int).Mul(other.Numerator, f.Denominator)) == 0 +} + +// GreaterThan returns true if the fraction is greater than the other fraction +func (f *Fraction) GreaterThan(other *Fraction) bool { + return new(big.Int).Mul(f.Numerator, other.Denominator).Cmp(new(big.Int).Mul(other.Numerator, f.Denominator)) > 0 +} + +// Multiply multiplies two fractions +func (f *Fraction) Multiply(other *Fraction) *Fraction { + return NewFraction(new(big.Int).Mul(f.Numerator, other.Numerator), new(big.Int).Mul(f.Denominator, other.Denominator)) +} + +// Divide divides two fractions +func (f *Fraction) Divide(other *Fraction) *Fraction { + return NewFraction(new(big.Int).Mul(f.Numerator, other.Denominator), new(big.Int).Mul(f.Denominator, other.Numerator)) +} + +// ToSignificant returns a significant string representation of the fraction +// Example: NewFraction(big.NewInt(125), big.NewInt(1)).ToSignificant(2) // output: "130" +func (f *Fraction) ToSignificant(significantDigits int32) string { + return roundToSignificantFigures(f, significantDigits).String() + +} + +// ToFixed returns a fixed string representation of the fraction +func (f *Fraction) ToFixed(decimalPlaces int32) string { + return decimal.NewFromBigInt(f.Numerator, 0).Div(decimal.NewFromBigInt(f.Denominator, 0)).StringFixed(decimalPlaces) +} + +var ( + oneInt = big.NewInt(1) + twoInt = big.NewInt(2) + tenInt = big.NewInt(10) +) + +// roundToSignificantFigures returns a copy of a decimal rounded to specified number of significant figures. +// For negative or zero figures the function returns zero. +// Result is normalized without trailing zeros. +// +// Example: +// +// 5.45 figures:2 --> 5.51 +// 545 figures:2 --> 550 +// +// Ref: https://github.com/shopspring/decimal/pull/117/files#diff-84512ce9971597d4817ea830422f80d41b8f8f050b5998bd49499d8d1eebb16dR922 +func roundToSignificantFigures(f *Fraction, figures int32) decimal.Decimal { + if figures <= 0 { + return decimal.Zero + } + d := decimal.NewFromBigInt(f.Numerator, 0).Div(decimal.NewFromBigInt(f.Denominator, 0)) + twoMant := d.Mul(decimal.NewFromFloat(math.Pow10(decimal.DivisionPrecision))).BigInt() + twoMant.Abs(twoMant) + twoMant.Mul(twoMant, twoInt) + upper := big.NewInt(int64(figures)) + upper.Exp(tenInt, upper, nil) + upper.Mul(upper, twoInt) + upper.Sub(upper, oneInt) + m := int64(0) + for twoMant.Cmp(upper) >= 0 { + upper.Mul(upper, tenInt) + m++ + } + if int64(d.Exponent())+m > int64(math.MaxInt32) { + panic(fmt.Sprintf("exponent %d overflows an int32", int64(d.Exponent())+m)) + } + return d.Round(-d.Exponent() - int32(m)) +} diff --git a/utils/entities/fraction_test.go b/utils/entities/fraction_test.go new file mode 100644 index 00000000..457c327f --- /dev/null +++ b/utils/entities/fraction_test.go @@ -0,0 +1,78 @@ +package entities + +import ( + "math/big" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestFractionQuotient(t *testing.T) { + assert.Equal(t, NewFraction(big.NewInt(8), big.NewInt(3)).Quotient(), big.NewInt(2), "floor division - one below") + assert.Equal(t, NewFraction(big.NewInt(12), big.NewInt(4)).Quotient(), big.NewInt(3), "floor division - exact") + assert.Equal(t, NewFraction(big.NewInt(16), big.NewInt(5)).Quotient(), big.NewInt(3), "floor division - one above") +} + +func TestFractionRemainder(t *testing.T) { + assert.Equal(t, NewFraction(big.NewInt(8), big.NewInt(3)).Remainder(), NewFraction(big.NewInt(2), big.NewInt(3)), "returns fraction after division - 8/3") + assert.Equal(t, NewFraction(big.NewInt(12), big.NewInt(4)).Remainder(), NewFraction(big.NewInt(0), big.NewInt(4)), "returns fraction after division - 12/4") + assert.Equal(t, NewFraction(big.NewInt(16), big.NewInt(5)).Remainder(), NewFraction(big.NewInt(1), big.NewInt(5)), "returns fraction after division - 16/5") +} + +func TestFractionInvert(t *testing.T) { + // flips num and denom + assert.Equal(t, NewFraction(big.NewInt(5), big.NewInt(10)).Invert().Numerator, big.NewInt(10), "flips num and denom - num") + assert.Equal(t, NewFraction(big.NewInt(5), big.NewInt(10)).Invert().Denominator, big.NewInt(5), "flips num and denom - denom") +} + +func TestFractionAdd(t *testing.T) { + assert.Equal(t, NewFraction(big.NewInt(1), big.NewInt(10)).Add(NewFraction(big.NewInt(4), big.NewInt(12))), NewFraction(big.NewInt(52), big.NewInt(120)), "multiples denoms and adds nums") + assert.Equal(t, NewFraction(big.NewInt(1), big.NewInt(5)).Add(NewFraction(big.NewInt(2), big.NewInt(5))), NewFraction(big.NewInt(3), big.NewInt(5)), "same denom") +} + +func TestFractionSubtract(t *testing.T) { + assert.Equal(t, NewFraction(big.NewInt(1), big.NewInt(10)).Subtract(NewFraction(big.NewInt(4), big.NewInt(12))), NewFraction(big.NewInt(-28), big.NewInt(120)), "multiples denoms and subtracts nums") + assert.Equal(t, NewFraction(big.NewInt(3), big.NewInt(5)).Subtract(NewFraction(big.NewInt(2), big.NewInt(5))), NewFraction(big.NewInt(1), big.NewInt(5)), "same denom") +} + +func TestFractionLessThan(t *testing.T) { + assert.True(t, NewFraction(big.NewInt(1), big.NewInt(10)).LessThan(NewFraction(big.NewInt(4), big.NewInt(12)))) + assert.False(t, NewFraction(big.NewInt(1), big.NewInt(3)).LessThan(NewFraction(big.NewInt(4), big.NewInt(12)))) + assert.False(t, NewFraction(big.NewInt(5), big.NewInt(12)).LessThan(NewFraction(big.NewInt(4), big.NewInt(12)))) +} + +func TestFractionEqualTo(t *testing.T) { + assert.False(t, NewFraction(big.NewInt(1), big.NewInt(10)).EqualTo(NewFraction(big.NewInt(4), big.NewInt(12)))) + assert.True(t, NewFraction(big.NewInt(1), big.NewInt(3)).EqualTo(NewFraction(big.NewInt(4), big.NewInt(12)))) + assert.False(t, NewFraction(big.NewInt(5), big.NewInt(12)).EqualTo(NewFraction(big.NewInt(4), big.NewInt(12)))) +} + +func TestFractionGreaterThan(t *testing.T) { + assert.False(t, NewFraction(big.NewInt(1), big.NewInt(10)).GreaterThan(NewFraction(big.NewInt(4), big.NewInt(12)))) + assert.False(t, NewFraction(big.NewInt(1), big.NewInt(3)).GreaterThan(NewFraction(big.NewInt(4), big.NewInt(12)))) + assert.True(t, NewFraction(big.NewInt(5), big.NewInt(12)).GreaterThan(NewFraction(big.NewInt(4), big.NewInt(12)))) +} + +func TestFractionMultiply(t *testing.T) { + assert.Equal(t, NewFraction(big.NewInt(1), big.NewInt(10)).Multiply(NewFraction(big.NewInt(4), big.NewInt(12))), NewFraction(big.NewInt(4), big.NewInt(120))) + assert.Equal(t, NewFraction(big.NewInt(1), big.NewInt(3)).Multiply(NewFraction(big.NewInt(4), big.NewInt(12))), NewFraction(big.NewInt(4), big.NewInt(36))) + assert.Equal(t, NewFraction(big.NewInt(5), big.NewInt(12)).Multiply(NewFraction(big.NewInt(4), big.NewInt(12))), NewFraction(big.NewInt(20), big.NewInt(144))) +} + +func TestFractionDivide(t *testing.T) { + assert.Equal(t, NewFraction(big.NewInt(1), big.NewInt(10)).Divide(NewFraction(big.NewInt(4), big.NewInt(12))), NewFraction(big.NewInt(12), big.NewInt(40))) + assert.Equal(t, NewFraction(big.NewInt(1), big.NewInt(3)).Divide(NewFraction(big.NewInt(4), big.NewInt(12))), NewFraction(big.NewInt(12), big.NewInt(12))) + assert.Equal(t, NewFraction(big.NewInt(5), big.NewInt(12)).Divide(NewFraction(big.NewInt(4), big.NewInt(12))), NewFraction(big.NewInt(60), big.NewInt(48))) +} + +func TestFractionToSignificant(t *testing.T) { + f := NewFraction(big.NewInt(126), big.NewInt(10)) + assert.Equal(t, f.ToSignificant(3), "12.6") + assert.Equal(t, f.ToSignificant(1), "10") +} + +func TestFractionToFixed(t *testing.T) { + f := NewFraction(big.NewInt(126), big.NewInt(10)) + assert.Equal(t, f.ToFixed(0), "13") + assert.Equal(t, f.ToFixed(1), "12.6") +} diff --git a/utils/entities/native.go b/utils/entities/native.go new file mode 100644 index 00000000..62bd2dc6 --- /dev/null +++ b/utils/entities/native.go @@ -0,0 +1,35 @@ +package entities + +type Native struct { + *BaseCurrency + wrapped *Token +} + +func NewNative(wrapped *Token, symbol, name string) Currency { + native := &Native{ + BaseCurrency: &BaseCurrency{ + isNative: true, + isToken: false, + chainId: wrapped.ChainId(), + decimals: wrapped.Decimals(), + symbol: symbol, + name: name, + }, + wrapped: wrapped, + } + native.BaseCurrency.currency = native + return native +} + +func (n *Native) Equal(other Currency) bool { + v, isNative := other.(*Native) + if isNative { + return v.isNative && v.chainId == n.chainId + + } + return false +} + +func (n *Native) Wrapped() *Token { + return n.wrapped +} diff --git a/utils/entities/native_test.go b/utils/entities/native_test.go new file mode 100644 index 00000000..f4e5673f --- /dev/null +++ b/utils/entities/native_test.go @@ -0,0 +1,20 @@ +package entities + +import ( + "github.com/ethereum/go-ethereum/common" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestNative(t *testing.T) { + wrapped0 := NewToken(1, common.Address{}, 18, "WCNATIVE", "Wrapped Custom Native Token") + wrapped1 := NewToken(2, common.Address{}, 18, "WCNATIVE", "Wrapped Custom Native Token") + n0 := NewNative(wrapped0, "CNATIVE", "Custom Native Token") + n0Copy := NewNative(wrapped0, "CNATIVE", "Custom Native Token") + n1 := NewNative(wrapped1, "CNATIVE", "Custom Native Token") + assert.Equal(t, n0, n0Copy) + assert.NotEqual(t, n0, n1) + assert.False(t, n0.Equal(n1)) + assert.True(t, n0.Equal(n0Copy)) +} diff --git a/utils/entities/percent.go b/utils/entities/percent.go new file mode 100644 index 00000000..f9d36236 --- /dev/null +++ b/utils/entities/percent.go @@ -0,0 +1,52 @@ +package entities + +import "math/big" + +var OneHundred = NewFraction(big.NewInt(100), big.NewInt(1)) + +type Percent struct { + *Fraction +} + +/** + * Converts a fraction to a percent + * @param fraction the fraction to convert + */ +func toPercent(fraction *Fraction) *Percent { + return NewPercent(fraction.Numerator, fraction.Denominator) +} + +// NewPercent creates a new Percent +func NewPercent(numerator, denominator *big.Int) *Percent { + return &Percent{NewFraction(numerator, denominator)} +} + +// Add adds two Percent +func (p *Percent) Add(other *Percent) *Percent { + return toPercent(p.Fraction.Add(other.Fraction)) +} + +// Subtract subtracts two Percent +func (p *Percent) Subtract(other *Percent) *Percent { + return toPercent(p.Fraction.Subtract(other.Fraction)) +} + +// Multiply multiplies two Percent +func (p *Percent) Multiply(other *Percent) *Percent { + return toPercent(p.Fraction.Multiply(other.Fraction)) +} + +// Divide divides two Percent +func (p *Percent) Divide(other *Percent) *Percent { + return toPercent(p.Fraction.Divide(other.Fraction)) +} + +// ToSignificant converts a Percent to a string with a given number of significant figures +func (p *Percent) ToSignificant(significantDigits int32) string { + return p.Fraction.Multiply(OneHundred).ToSignificant(significantDigits) +} + +// ToFixedFigures converts a Percent to a string with a given number of fixed figures +func (p *Percent) ToFixed(decimalPlaces int32) string { + return p.Fraction.Multiply(OneHundred).ToFixed(decimalPlaces) +} diff --git a/utils/entities/percent_test.go b/utils/entities/percent_test.go new file mode 100644 index 00000000..201fb27b --- /dev/null +++ b/utils/entities/percent_test.go @@ -0,0 +1,40 @@ +package entities + +import ( + "math/big" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestNewPercent(t *testing.T) { + assert.Equal(t, NewPercent(big.NewInt(1), big.NewInt(1)), toPercent(NewFraction(big.NewInt(1), big.NewInt(1)))) +} + +func TestPercentAdd(t *testing.T) { + assert.Equal(t, NewPercent(big.NewInt(1), big.NewInt(100)).Add(NewPercent(big.NewInt(2), big.NewInt(100))), NewPercent(big.NewInt(3), big.NewInt(100)), "returns a percent") + assert.Equal(t, NewPercent(big.NewInt(1), big.NewInt(25)).Add(NewPercent(big.NewInt(2), big.NewInt(100))), NewPercent(big.NewInt(150), big.NewInt(2500)), "different denominators") +} + +func TestPercentSubtract(t *testing.T) { + assert.Equal(t, NewPercent(big.NewInt(1), big.NewInt(100)).Subtract(NewPercent(big.NewInt(2), big.NewInt(100))), NewPercent(big.NewInt(-1), big.NewInt(100)), "returns a percent") + assert.Equal(t, NewPercent(big.NewInt(1), big.NewInt(25)).Subtract(NewPercent(big.NewInt(2), big.NewInt(100))), NewPercent(big.NewInt(50), big.NewInt(2500)), "different denominators") +} + +func TestPercentMultiply(t *testing.T) { + assert.Equal(t, NewPercent(big.NewInt(1), big.NewInt(100)).Multiply(NewPercent(big.NewInt(2), big.NewInt(100))), NewPercent(big.NewInt(2), big.NewInt(10000)), "returns a percent") + assert.Equal(t, NewPercent(big.NewInt(1), big.NewInt(25)).Multiply(NewPercent(big.NewInt(2), big.NewInt(100))), NewPercent(big.NewInt(2), big.NewInt(2500)), "different denominators") +} + +func TestPercentDivide(t *testing.T) { + assert.Equal(t, NewPercent(big.NewInt(1), big.NewInt(100)).Divide(NewPercent(big.NewInt(2), big.NewInt(100))), NewPercent(big.NewInt(100), big.NewInt(200)), "returns a percent") + assert.Equal(t, NewPercent(big.NewInt(1), big.NewInt(25)).Divide(NewPercent(big.NewInt(2), big.NewInt(100))), NewPercent(big.NewInt(100), big.NewInt(50)), "different denominators") +} + +func TestPercentToSignificant(t *testing.T) { + assert.Equal(t, NewPercent(big.NewInt(154), big.NewInt(10000)).ToSignificant(3), "1.54", "returns the value scaled by 100") +} + +func TestPercentToFixed(t *testing.T) { + assert.Equal(t, NewPercent(big.NewInt(154), big.NewInt(10000)).ToFixed(2), "1.54", "returns the value scaled by 100") +} diff --git a/utils/entities/price.go b/utils/entities/price.go new file mode 100644 index 00000000..c22f93fc --- /dev/null +++ b/utils/entities/price.go @@ -0,0 +1,67 @@ +package entities + +import ( + "errors" + "math/big" +) + +var ( + ErrDifferentCurrencies = errors.New("different currencies") +) + +type Price struct { + *Fraction + BaseCurrency Currency // input i.e. denominator + QuoteCurrency Currency // output i.e. numerator + Scalar *Fraction // used to adjust the raw fraction w/r/t the decimals of the {base,quote}Token +} + +// Construct a price, either with the base and quote currency amount, or the args +func NewPrice(baseCurrency, quoteCurrency Currency, denominator, numerator *big.Int) *Price { + return &Price{ + Fraction: NewFraction(numerator, denominator), + BaseCurrency: baseCurrency, + QuoteCurrency: quoteCurrency, + Scalar: NewFraction( + new(big.Int).Exp(big.NewInt(10), big.NewInt(int64(baseCurrency.Decimals())), nil), + new(big.Int).Exp(big.NewInt(10), big.NewInt(int64(quoteCurrency.Decimals())), nil)), + } +} + +// Invert flips the price, switching the base and quote currency +func (p *Price) Invert() *Price { + return NewPrice(p.QuoteCurrency, p.BaseCurrency, p.Numerator, p.Denominator) +} + +// Multiply Multiplies the price by another price, returning a new price. The other price must have the same base currency as this price's quote currency +func (p *Price) Multiply(other *Price) (*Price, error) { + if !other.BaseCurrency.Equal(p.QuoteCurrency) { + return nil, ErrDifferentCurrencies + } + + fraction := p.Fraction.Multiply(other.Fraction) + return NewPrice(p.BaseCurrency, other.QuoteCurrency, fraction.Denominator, fraction.Numerator), nil +} + +// Quote returns the amount of quote currency corresponding to a given amount of the base currency +func (p *Price) Quote(currencyAmount *CurrencyAmount) (*CurrencyAmount, error) { + if !currencyAmount.Currency.Equal(p.BaseCurrency) { + return nil, ErrDifferentCurrencies + } + + result := p.Fraction.Multiply(currencyAmount.Fraction) + return newCurrencyAmount(p.QuoteCurrency, result.Numerator, result.Denominator), nil +} + +// adjustedForDecimals Get the value scaled by decimals for formatting +func (p *Price) adjustedForDecimals() *Fraction { + return p.Fraction.Multiply(p.Scalar) +} + +func (p *Price) ToSignificant(significantDigits int32) string { + return p.adjustedForDecimals().ToSignificant(significantDigits) +} + +func (p *Price) ToFixed(decimalPlaces int32) string { + return p.adjustedForDecimals().ToFixed(decimalPlaces) +} diff --git a/utils/entities/price_test.go b/utils/entities/price_test.go new file mode 100644 index 00000000..f60172fd --- /dev/null +++ b/utils/entities/price_test.go @@ -0,0 +1,52 @@ +package entities + +import ( + "math/big" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/stretchr/testify/assert" +) + +var ( + AddressZero = common.HexToAddress("0x0000000000000000000000000000000000000000") + AddressOne = common.HexToAddress("0x0000000000000000000000000000000000000001") + AddressTwo = common.HexToAddress("0x0000000000000000000000000000000000000002") + + t0 = NewToken(1, AddressZero, 18, "", "") + t0_6 = NewToken(1, AddressZero, 6, "", "") + t1 = NewToken(1, AddressOne, 18, "", "") +) + +func TestNewPrice(t *testing.T) { + price0 := NewPrice(t0, t1, big.NewInt(1), big.NewInt(54321)) + assert.Equal(t, price0.ToSignificant(5), "54321") + assert.True(t, price0.BaseCurrency.Equal(t0)) + assert.True(t, price0.QuoteCurrency.Equal(t1)) +} + +func TestQuote(t *testing.T) { + price := NewPrice(t0, t1, big.NewInt(1), big.NewInt(5)) + q, err := price.Quote(FromRawAmount(t0, big.NewInt(10))) + if err != nil { + panic(err) + } + assert.Equal(t, q, FromRawAmount(t1, big.NewInt(50))) +} + +func TestPriceToSignificant(t *testing.T) { + price0 := NewPrice(t0, t1, big.NewInt(123), big.NewInt(456)) + assert.Equal(t, price0.ToSignificant(4), "3.707", "no decimals") + + price1 := NewPrice(t0, t1, big.NewInt(456), big.NewInt(123)) + assert.Equal(t, price1.ToSignificant(4), "0.2697", "no decimals flip ratio") + + price2 := NewPrice(t0_6, t1, big.NewInt(123), big.NewInt(456)) + assert.Equal(t, price2.ToSignificant(4), "0.000000000003707", "with decimal difference") + + price3 := NewPrice(t0_6, t1, big.NewInt(456), big.NewInt(123)) + assert.Equal(t, price3.ToSignificant(4), "0.0000000000002697", "with decimal difference flipped") + + price4 := NewPrice(t1, t0_6, big.NewInt(456), big.NewInt(123)) + assert.Equal(t, price4.ToSignificant(4), "269700000000", "with decimal difference flipped base quote flipped") +} diff --git a/utils/entities/token.go b/utils/entities/token.go new file mode 100644 index 00000000..c8891b6d --- /dev/null +++ b/utils/entities/token.go @@ -0,0 +1,75 @@ +package entities + +import ( + "errors" + "strings" + + "github.com/ethereum/go-ethereum/common" +) + +var ( + ErrDifferentChain = errors.New("different chain") + ErrSameAddress = errors.New("same address") +) + +// Token represents an ERC20 token with a unique address and some metadata. +type Token struct { + *BaseCurrency + Address common.Address `json:"address"` // The contract address on the chain on which this token lives +} + +// NewToken creates a new token with the given currency and address. +func NewToken(chainID uint, address common.Address, decimals uint, symbol string, name string) *Token { + if decimals >= 255 { + panic("Token currency decimals must be less than 255") + } + token := &Token{ + BaseCurrency: &BaseCurrency{ + isNative: false, + isToken: true, + chainId: chainID, + decimals: decimals, + symbol: symbol, + name: name, + }, + Address: address, + } + token.BaseCurrency.currency = token + return token +} + +// Equal +/** + * Returns true if the two tokens are equivalent, i.e. have the same chainId and address. + * @param other token to compare + */ +func (t *Token) Equal(other Currency) bool { + if other != nil { + v, isToken := other.(*Token) + if isToken { + return v.isToken && t.chainId == v.chainId && t.Address == v.Address + } + } + return false +} + +// SortsBefore +/** + * Returns true if the address of this token sorts before the address of the other token + * @param other other token to compare + * @throws if the tokens have the same address + * @throws if the tokens are on different chains + */ +func (t *Token) SortsBefore(other *Token) (bool, error) { + if t.chainId != other.chainId { + return false, ErrDifferentChain + } + if t.Address == other.Address { + return false, ErrSameAddress + } + return strings.ToLower(t.Address.Hex()) < strings.ToLower(other.Address.Hex()), nil +} + +func (t *Token) Wrapped() *Token { + return t +} diff --git a/utils/entities/token_test.go b/utils/entities/token_test.go new file mode 100644 index 00000000..11531458 --- /dev/null +++ b/utils/entities/token_test.go @@ -0,0 +1,25 @@ +package entities + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestNewToken(t *testing.T) { + assert.Panics(t, func() { NewToken(3, AddressOne, 256, "", "") }, "fails with 256 decimals") +} + +func TestTokenEquals(t *testing.T) { + assert.False(t, NewToken(1, AddressOne, 18, "", "").Equal(NewToken(1, AddressTwo, 18, "", "")), "fails if address differs") + assert.False(t, NewToken(3, AddressOne, 18, "", "").Equal(NewToken(1, AddressOne, 18, "", "")), "fails if chain id differs") + assert.True(t, NewToken(1, AddressOne, 9, "", "").Equal(NewToken(1, AddressOne, 18, "", "")), "true if only decimals differs") + assert.True(t, NewToken(1, AddressOne, 18, "", "").Equal(NewToken(1, AddressOne, 18, "", "")), "true if address is the same") + + token := NewToken(1, AddressOne, 18, "", "") + assert.True(t, token.Equal(token), "true on reference equality") + + tokenA := NewToken(1, AddressOne, 9, "abc", "def") + tokenB := NewToken(1, AddressOne, 18, "ghi", "jkl") + assert.True(t, tokenA.Equal(tokenB), "true even if name/symbol/decimals differ") +} diff --git a/utils/entities/usdc.go b/utils/entities/usdc.go new file mode 100644 index 00000000..da068c81 --- /dev/null +++ b/utils/entities/usdc.go @@ -0,0 +1,13 @@ +package entities + +import "github.com/ethereum/go-ethereum/common" + +// Known USDC implementation addresses +var USDC = map[uint]*Token{ + 1: NewToken(1, common.HexToAddress("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"), 6, "USDC", "USDC Coin"), +} + +// Known USDC implementation addresses +var USDT = map[uint]*Token{ + 1: NewToken(1, common.HexToAddress("0xdac17f958d2ee523a2206206994597c13d831ec7"), 6, "USDT", "USDT Coin"), +} diff --git a/utils/entities/weth9.go b/utils/entities/weth9.go new file mode 100644 index 00000000..231dfa4e --- /dev/null +++ b/utils/entities/weth9.go @@ -0,0 +1,18 @@ +package entities + +import "github.com/ethereum/go-ethereum/common" + +// Known WETH9 implementation addresses, used in our implementation of Ether#wrapped +var WETH9 = map[uint]*Token{ + 1: NewToken(1, common.HexToAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"), 18, "WETH", "Wrapped Ether"), + 3: NewToken(3, common.HexToAddress("0xc778417E063141139Fce010982780140Aa0cD5Ab"), 18, "WETH", "Wrapped Ether"), + 4: NewToken(4, common.HexToAddress("0xc778417E063141139Fce010982780140Aa0cD5Ab"), 18, "WETH", "Wrapped Ether"), + 5: NewToken(5, common.HexToAddress("0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"), 18, "WETH", "Wrapped Ether"), + 42: NewToken(42, common.HexToAddress("0xd0A1E359811322d97991E03f863a0C30C2cF029C"), 18, "WETH", "Wrapped Ether"), + + 10: NewToken(10, common.HexToAddress("0x4200000000000000000000000000000000000006"), 18, "WETH", "Wrapped Ether"), + 69: NewToken(69, common.HexToAddress("0x4200000000000000000000000000000000000006"), 18, "WETH", "Wrapped Ether"), + + 42161: NewToken(42161, common.HexToAddress("0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"), 18, "WETH", "Wrapped Ether"), + 421611: NewToken(421611, common.HexToAddress("0xB47e6A5f8b33b3F17603C83a0535A9dcD7E32681"), 18, "WETH", "Wrapped Ether"), +} diff --git a/utils/json.go b/utils/json.go index 23d05818..ec5c503d 100644 --- a/utils/json.go +++ b/utils/json.go @@ -11,6 +11,18 @@ func ToJSON(data any) ([]byte, error) { return json.Marshal(data) } +// FromJSON converts JSON data into a Go data structure of type T. +// It takes a slice of bytes representing the JSON data and a pointer to the type T where the data will be decoded. +// Returns an error if the decoding fails. +func FromJSON[T any](data []byte, target *T) error { + err := json.Unmarshal(data, target) + if err != nil { + // Handle the error according to your application's requirements + return fmt.Errorf("error unmarshaling from JSON: %w", err) + } + return nil +} + // ToProtoJSON converts a Go struct to its JSON representation. func ToProtoJSON(data any) ([]byte, error) { return json.Marshal(data) diff --git a/utils/liquidity.go b/utils/liquidity.go new file mode 100644 index 00000000..34a4d877 --- /dev/null +++ b/utils/liquidity.go @@ -0,0 +1,11 @@ +package utils + +type LiquidityProvider string + +func (lp LiquidityProvider) String() string { + return string(lp) +} + +const ( + PinksaleLiquidtyProvider LiquidityProvider = "pinksale" +) diff --git a/utils/module.go b/utils/module.go new file mode 100644 index 00000000..7e684398 --- /dev/null +++ b/utils/module.go @@ -0,0 +1,21 @@ +package utils + +import ( + "runtime/debug" + "strings" +) + +func GetBuildVersionByModule(module string) string { + info, ok := debug.ReadBuildInfo() + if !ok { + return "unknown" + } + + for _, dep := range info.Deps { + if dep.Path == module { + return strings.Replace(dep.Version, "v", "", -1) + } + } + + return "unknown" +} diff --git a/utils/networks.go b/utils/networks.go index e0f1fe68..2d969d65 100644 --- a/utils/networks.go +++ b/utils/networks.go @@ -1,12 +1,42 @@ package utils import ( + "fmt" "math/big" ) type Network string type NetworkID uint64 +func (n NetworkID) String() string { + return n.ToBig().String() +} + +func (n NetworkID) ToNetwork() Network { + switch n { + case EthereumNetworkID: + return Ethereum + case BscNetworkID: + return Bsc + case PolygonNetworkID: + return Polygon + case AvalancheNetworkID: + return Avalanche + case FantomNetworkID: + return Fantom + case ArbitrumNetworkID: + return Arbitrum + case OptimismNetworkID: + return Optimism + default: + return Ethereum + } +} + +func (n NetworkID) Uint64() uint64 { + return uint64(n) +} + const ( AnvilNetwork Network = "anvil" Ethereum Network = "ethereum" @@ -26,6 +56,9 @@ const ( ArbitrumNetworkID NetworkID = 42161 OptimismNetworkID NetworkID = 10 + // Special Mainnets + AnvilMainnetNetworkID NetworkID = 1 + // Testnets RopstenNetworkID NetworkID = 3 RinkebyNetworkID NetworkID = 4 @@ -37,6 +70,9 @@ const ( FantomTestNetworkID NetworkID = 4002 ArbitrumRinkebyID NetworkID = 421611 OptimismKovanID NetworkID = 69 + + // Localnets + AnvilNetworkID NetworkID = 1337 ) func (n Network) String() string { @@ -63,7 +99,53 @@ func GetNetworkID(network Network) NetworkID { return ArbitrumNetworkID case Optimism: return OptimismNetworkID + case AnvilNetwork: + return AnvilMainnetNetworkID default: return 0 } } + +func GetNetworkFromID(id NetworkID) (Network, error) { + switch id { + case EthereumNetworkID: + return Ethereum, nil + case BscNetworkID: + return Bsc, nil + case PolygonNetworkID: + return Polygon, nil + case AvalancheNetworkID: + return Avalanche, nil + case FantomNetworkID: + return Fantom, nil + case ArbitrumNetworkID: + return Arbitrum, nil + case OptimismNetworkID: + return Optimism, nil + default: + return "", fmt.Errorf("unknown network ID '%d' provided", id) + } +} + +func GetNetworkFromString(network string) (Network, error) { + switch network { + case "ethereum": + return Ethereum, nil + case "bsc": + return Bsc, nil + case "polygon": + return Polygon, nil + case "avalanche": + return Avalanche, nil + case "fantom": + return Fantom, nil + case "arbitrum": + return Arbitrum, nil + case "optimism": + return Optimism, nil + case "anvil": + return AnvilNetwork, nil + default: + return "", fmt.Errorf("unknown network '%s' provided", network) + } +} diff --git a/utils/normalize.go b/utils/normalize.go index efdd9b93..eb23cb72 100644 --- a/utils/normalize.go +++ b/utils/normalize.go @@ -35,7 +35,7 @@ func (n *NormalizeType) Normalize(typeName string) NormalizationInfo { // isBuiltInType checks if the provided type name is one of the recognized built-in types. func (n *NormalizeType) isBuiltInType(typeName string) bool { cases := []string{ - "uint", "int", "bool", "bytes", "string", "address", "addresspayable", "tuple", "enum", + "uint", "int", "bool", "bytes", "string", "address", "addresspayable", "tuple", "enum", "error", } for _, bcase := range cases { @@ -63,16 +63,18 @@ func (n *NormalizeType) normalizeTypeNameWithStatus(typeName string) (string, bo case isArray: numberPart := typeName[strings.Index(typeName, "[")+1 : strings.Index(typeName, "]")] typePart := typeName[strings.Index(typeName, "]")+1:] - - return "[" + numberPart + "]" + n.normalizeTypeName(typePart), true + normalizedTypeName, found := n.normalizeTypeName(typePart) + return "[" + numberPart + "]" + normalizedTypeName, found case isSlice: typePart := typeName[2:] - return "[]" + n.normalizeTypeName(typePart), true + normalizedTypeName, found := n.normalizeTypeName(typePart) + return "[]" + normalizedTypeName, found case isSliceRight: typePart := typeName[:len(typeName)-2] - return n.normalizeTypeName(typePart) + "[]", true + normalizedTypeName, found := n.normalizeTypeName(typePart) + return normalizedTypeName + "[]", found } } @@ -116,7 +118,7 @@ func (n *NormalizeType) normalizeTypeNameWithStatus(typeName string) (string, bo } // normalizeTypeName provides the normalized version of the provided type name. -func (n *NormalizeType) normalizeTypeName(typeName string) string { - normalizedTypeName, _ := n.normalizeTypeNameWithStatus(typeName) - return normalizedTypeName +func (n *NormalizeType) normalizeTypeName(typeName string) (string, bool) { + normalizedTypeName, found := n.normalizeTypeNameWithStatus(typeName) + return normalizedTypeName, found } diff --git a/utils/strings.go b/utils/strings.go new file mode 100644 index 00000000..1e0d6ac9 --- /dev/null +++ b/utils/strings.go @@ -0,0 +1,56 @@ +package utils + +import ( + "github.com/ethereum/go-ethereum/common" + "github.com/google/uuid" +) + +func StringInSlice(str string, list []string) bool { + for _, item := range list { + if item == str { + return true + } + } + + return false +} + +func AddressInSlice(addr common.Address, list []common.Address) bool { + for _, item := range list { + if item == addr { + return true + } + } + + return false +} + +func NamedAddressInSlice(addr common.Address, list []NamedAddr) (*NamedAddr, bool) { + for _, item := range list { + if item.Addr == addr { + return &item, true + } + } + + return nil, false +} + +func ContainsBlacklistType(list []BlacklistType, item BlacklistType) bool { + for _, listItem := range list { + if listItem == item { + return true + } + } + + return false +} + +func ContainsUUID(list []uuid.UUID, item uuid.UUID) bool { + for _, listItem := range list { + if listItem.String() == item.String() { + return true + } + } + + return false +} diff --git a/utils/types.go b/utils/types.go index 56266546..9a4463a6 100644 --- a/utils/types.go +++ b/utils/types.go @@ -11,14 +11,53 @@ const ( UnknownTransactionMethodType TransactionMethodType = "unknown" ContractCreationType TransactionMethodType = "contract_creation" TransferMethodType TransactionMethodType = "transfer" + NoSignatureMethodType TransactionMethodType = "no_signature" - UnknownLogEventType LogEventType = "unknown" + UnknownLogEventType LogEventType = "unknown" + SwapLogEventType LogEventType = "swap" + TransferLogEventType LogEventType = "transfer" + DepositLogEventType LogEventType = "deposit" + WithdrawLogEventType LogEventType = "withdraw" + MintLogEventType LogEventType = "mint" + BurnLogEventType LogEventType = "burn" + NoSimulator SimulatorType = "no_simulator" AnvilSimulator SimulatorType = "anvil" + TraceSimulator SimulatorType = "trace" SimulatorAccountType AccountType = "simulator" SimpleAccountType AccountType = "simple" KeystoreAccountType AccountType = "keystore" + + NoExchange ExchangeType = "no_exchange" + UniswapV2 ExchangeType = "uniswap_v2" + UniswapV3 ExchangeType = "uniswap_v3" + SushiSwap ExchangeType = "sushiswap" + PancakeswapV2 ExchangeType = "pancakeswap_v2" + + Erc20TokenType TokenType = "erc20" + Erc721TokenType TokenType = "erc721" + + AntiWhalePinksale AntiWhaleType = "pinksale" + + BuyTradeType TradeType = "buy" + SellTradeType TradeType = "sell" + + UnknownSafetyState SafetyStateType = "unknown" + SafeSafetyState SafetyStateType = "safe" + WarnSafetyState SafetyStateType = "warning" + UnsafeSafetyState SafetyStateType = "unsafe" + + RugpullBlacklistType BlacklistType = "rugpull" + HoneypotBlacklistType BlacklistType = "honeypot" + HighTaxTokenBlacklistType BlacklistType = "high_tax_token" + PumpAndDumpTokenBlacklistType BlacklistType = "pump_and_dump_token" + MixerUsageBlacklistType BlacklistType = "mixer_usage" +) + +var ( + ZeroSignatureBytes = []byte{0x00, 0x00, 0x00, 0x00} + ZeroSignature = "0x00000000" ) type Strategy string @@ -56,3 +95,39 @@ type SimulatorType string func (t SimulatorType) String() string { return string(t) } + +type ExchangeType string + +func (t ExchangeType) String() string { + return string(t) +} + +type TokenType string + +func (t TokenType) String() string { + return string(t) +} + +type AntiWhaleType string + +func (t AntiWhaleType) String() string { + return string(t) +} + +type TradeType string + +func (t TradeType) String() string { + return string(t) +} + +type SafetyStateType string + +func (t SafetyStateType) String() string { + return string(t) +} + +type BlacklistType string + +func (t BlacklistType) String() string { + return string(t) +} diff --git a/utils/version.go b/utils/version.go index bc0495a5..fe2925aa 100644 --- a/utils/version.go +++ b/utils/version.go @@ -7,17 +7,28 @@ import ( // SemanticVersion represents a version in the format Major.Minor.Patch. type SemanticVersion struct { - Major int `json:"major"` - Minor int `json:"minor"` - Patch int `json:"patch"` + Major int `json:"major"` + Minor int `json:"minor"` + Patch int `json:"patch"` + Commit string `json:"revision"` +} + +func (v SemanticVersion) String() string { + return strconv.Itoa(v.Major) + "." + strconv.Itoa(v.Minor) + "." + strconv.Itoa(v.Patch) } // ParseSemanticVersion converts a string representation of a version into a SemanticVersion struct. // It expects the version string to be in the format "Major.Minor.Patch". func ParseSemanticVersion(version string) SemanticVersion { + versions := strings.Split(version, "+") + var commit string + if len(versions) > 1 { + version = versions[0] + commit = versions[1] + } + version = strings.Replace(version, "v", "", 1) parts := strings.Split(version, ".") - if len(parts) != 3 { return SemanticVersion{} } @@ -26,9 +37,10 @@ func ParseSemanticVersion(version string) SemanticVersion { minor, _ := strconv.Atoi(parts[1]) patch, _ := strconv.Atoi(parts[2]) return SemanticVersion{ - Major: major, - Minor: minor, - Patch: patch, + Major: major, + Minor: minor, + Patch: patch, + Commit: commit, } } @@ -40,11 +52,11 @@ func IsSemanticVersionGreaterOrEqualTo(versionStr string, version SemanticVersio return true } - if parsedVersion.Major == version.Major && parsedVersion.Minor >= version.Minor { + if parsedVersion.Major == version.Major && parsedVersion.Minor > version.Minor { return true } - if parsedVersion.Major >= version.Major && parsedVersion.Minor == version.Minor && parsedVersion.Patch == version.Patch { + if parsedVersion.Major > version.Major && parsedVersion.Minor == version.Minor && parsedVersion.Patch == version.Patch { return true } @@ -54,16 +66,15 @@ func IsSemanticVersionGreaterOrEqualTo(versionStr string, version SemanticVersio // IsSemanticVersionLowerOrEqualTo checks if the version represented by the string is lower than or equal to the provided SemanticVersion. func IsSemanticVersionLowerOrEqualTo(versionStr string, version SemanticVersion) bool { parsedVersion := ParseSemanticVersion(versionStr) - - if parsedVersion.Major == version.Major && parsedVersion.Minor == version.Minor && parsedVersion.Patch >= version.Patch { + if parsedVersion.Major == version.Major && parsedVersion.Minor == version.Minor && parsedVersion.Patch < version.Patch { return true } - if parsedVersion.Major == version.Major && parsedVersion.Minor <= version.Minor { + if parsedVersion.Major == version.Major && parsedVersion.Minor < version.Minor { return true } - if parsedVersion.Major <= version.Major && parsedVersion.Minor == version.Minor && parsedVersion.Patch == version.Patch { + if parsedVersion.Major < version.Major && parsedVersion.Minor == version.Minor && parsedVersion.Patch == version.Patch { return true } diff --git a/utils/wallet.go b/utils/wallet.go new file mode 100644 index 00000000..d4b585bf --- /dev/null +++ b/utils/wallet.go @@ -0,0 +1 @@ +package utils diff --git a/utils/wei.go b/utils/wei.go new file mode 100644 index 00000000..4c3fa3fd --- /dev/null +++ b/utils/wei.go @@ -0,0 +1,36 @@ +package utils + +import ( + "math/big" + + "github.com/unpackdev/solgo/utils/entities" +) + +var Ether = big.NewInt(1e18) +var GWei = big.NewInt(1e9) + +// FromWei converts a balance in wei to Ether. +func FromWei(wei *big.Int, token *entities.Token) *entities.CurrencyAmount { + if wei == nil || token == nil { + return nil + } + return entities.FromRawAmount(token, wei) +} + +func ToOne(token *entities.Token) *entities.CurrencyAmount { + if token == nil { + return nil + } + + divisor := new(big.Int).Exp(big.NewInt(10), big.NewInt(int64(token.Decimals())), nil) + return entities.FromRawAmount(token, divisor) +} + +func ToMany(amount *big.Int, token *entities.Token) *entities.CurrencyAmount { + if amount == nil || token == nil { + return nil + } + + divisor := new(big.Int).Mul(amount, ToOne(token).Quotient()) + return entities.FromRawAmount(token, divisor) +}